diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000000..b9d9cc9857 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,184 @@ +# AppVeyor build configuration +# https://www.appveyor.com/docs/build-configuration +# https://www.appveyor.com/docs/appveyor-yml/ +#---------------------------------# +# general configuration # +#---------------------------------# + +# version format +version: 1.0.1.0.0.7.{build}-{branch} + +#---------------------------------# +# environment configuration # +#---------------------------------# + +# Build worker image (VM template) +image: Visual Studio 2017 +# Enable Windows RDP Client Access to Build Worker +init: + - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + +#---------------------------------# +# build configuration # +#---------------------------------# + +# add several platforms to build matrix: +platform: + - x64 +# - ARM +# - Win32 + +# add several configurations to build matrix: +configuration: + - Release +# - Debug +# - AnalysisRelease +matrix: + allow_failures: + - platform: ARM + - platform: Win32 + - configuration: Debug + +# scripts to run before build +before_build: +# packages from nuget + - nuget restore %APPVEYOR_BUILD_FOLDER%\msvc\projectM.sln + - nuget restore %APPVEYOR_BUILD_FOLDER%\src\EyeTune.WindowsUniversal.Application.sln + +# use custom build_script +build_script: +- ECHO BUILD %CONFIGURATION% %PLATFORM% +- ps: msbuild $env:APPVEYOR_BUILD_FOLDER\msvc\projectM.sln /m /p:Configuration=$env:CONFIGURATION /p:Platform=$env:PLATFORM /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" +- ps: msbuild $env:APPVEYOR_BUILD_FOLDER\src\EyeTune.WindowsUniversal.Application.sln /m /p:Configuration=$env:CONFIGURATION /p:Platform=$env:PLATFORM /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /p:AppxPackage=false + +# scripts to run after build +after_build: + # zip the bench archive + - tree /F %APPVEYOR_BUILD_FOLDER%\msvc + - 7z a projectM-sdl-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip %APPVEYOR_BUILD_FOLDER%\msvc\projectM-sdl + # zip the build archive + - tree /F build-win\%CONFIGURATION%\%PLATFORM% + - 7z a libprojectM-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip %APPVEYOR_BUILD_FOLDER%\msvc\libprojectM + +#---------------------------------# +# tests configuration # +#---------------------------------# + +# to disable automatic tests +test: off + +#---------------------------------# +# artifacts configuration # +#---------------------------------# + +#specify artifacts to upload +artifacts: + - path: projectM-sdl-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip + name: projectM-sdl-%CONFIGURATION%-%PLATFORM% + - path: libprojectM-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip + name: libprojectM-%CONFIGURATION%-%PLATFORM% + - path: msvc\Setup\%CONFIGURATION%\%PLATFORM%\* + name: projectM-Setup-%CONFIGURATION%-%PLATFORM% + + +#---------------------------------# +# deployment configuration # +#---------------------------------# + +# to disable deployment +deploy: off + +#---------------------------------# +# global handlers # +#---------------------------------# + +# on successful build +on_success: + - ECHO "BUILD VICTORY" + +# on build failure +on_failure: + - ECHO "TRY AND TRY AGAIN" + +# after build failure or success +on_finish: +# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) +# https://www.appveyor.com/docs/environment-variables/ +# Environment variables that are set by AppVeyor for every build: +# APPVEYOR - True if build runs in AppVeyor environment; + - ECHO %APPVEYOR% +# CI - True if build runs in AppVeyor environment; + - ECHO %CI% +# APPVEYOR_API_URL - AppVeyor Build Agent API URL; + - ECHO %APPVEYOR_API_URL% +# APPVEYOR_ACCOUNT_NAME - account name; + - ECHO %APPVEYOR_ACCOUNT_NAME% +# APPVEYOR_PROJECT_ID - AppVeyor unique project ID; + - ECHO %APPVEYOR_PROJECT_ID% +# APPVEYOR_PROJECT_NAME - project name; + - ECHO %APPVEYOR_PROJECT_NAME% +# APPVEYOR_PROJECT_SLUG - project slug (as seen in project details URL); + - ECHO %APPVEYOR_PROJECT_SLUG% +# APPVEYOR_BUILD_FOLDER - path to clone directory; + - ECHO %APPVEYOR_BUILD_FOLDER% +# APPVEYOR_BUILD_ID - AppVeyor unique build ID; + - ECHO %APPVEYOR_BUILD_ID% +# APPVEYOR_BUILD_NUMBER - build number; + - ECHO %APPVEYOR_BUILD_NUMBER% +# APPVEYOR_BUILD_VERSION - build version; + - ECHO %APPVEYOR_BUILD_VERSION% +# APPVEYOR_PULL_REQUEST_NUMBER - GitHub Pull Request number; + - ECHO %APPVEYOR_PULL_REQUEST_NUMBER% +# APPVEYOR_PULL_REQUEST_TITLE - GitHub Pull Request title + - ECHO %APPVEYOR_PULL_REQUEST_TITLE% +# APPVEYOR_JOB_ID - AppVeyor unique job ID; + - ECHO %APPVEYOR_JOB_ID% +# APPVEYOR_JOB_NAME - job name; + - ECHO %APPVEYOR_JOB_NAME% +# APPVEYOR_REPO_PROVIDER - github, bitbucket, kiln, vso or gitlab; + - ECHO %APPVEYOR_REPO_PROVIDER% +# APPVEYOR_REPO_SCM - git or mercurial; + - ECHO %APPVEYOR_REPO_SCM% +# APPVEYOR_REPO_NAME - repository name in format owner-name/repo-name; + - ECHO %APPVEYOR_REPO_NAME% +# APPVEYOR_REPO_BRANCH - build branch. For Pull Request commits it is base branch PR is merging into; + - ECHO %APPVEYOR_REPO_BRANCH% +# APPVEYOR_REPO_TAG - true if build has started by pushed tag; otherwise false; + - ECHO %APPVEYOR_REPO_TAG% +# APPVEYOR_REPO_TAG_NAME - contains tag name for builds started by tag; otherwise this variable is undefined; + - ECHO %APPVEYOR_REPO_TAG_NAME% +# APPVEYOR_REPO_COMMIT - commit ID (SHA); + - ECHO %APPVEYOR_REPO_COMMIT% +# APPVEYOR_REPO_COMMIT_AUTHOR - commit author’s name; + - ECHO %APPVEYOR_REPO_COMMIT_AUTHOR% +# APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL - commit author’s email address; + - ECHO %APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL% +# APPVEYOR_REPO_COMMIT_TIMESTAMP - commit date/time; + - ECHO %APPVEYOR_REPO_COMMIT_TIMESTAMP% +# +# commit message disabled; can cause false failure +# +# APPVEYOR_REPO_COMMIT_MESSAGE - commit message; +# - ECHO %APPVEYOR_REPO_COMMIT_MESSAGE% +# APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED - the rest of commit message after line break (if exists); +# - ECHO %APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED% +# APPVEYOR_SCHEDULED_BUILD - True if the build runs by scheduler; + - ECHO %APPVEYOR_SCHEDULED_BUILD% +# APPVEYOR_FORCED_BUILD (True or undefined) - builds started by “New build” button or from the same API; + - ECHO %APPVEYOR_FORCED_BUILD% +# APPVEYOR_RE_BUILD (True or undefined) - build started by “Re-build commit/PR” button of from the same API; + - ECHO %APPVEYOR_RE_BUILD% +# PLATFORM - platform name set on Build tab of project settings (or through platform parameter in appveyor.yml); + - ECHO %PLATFORM% +# CONFIGURATION - configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml); + - ECHO %CONFIGURATION% + +#---------------------------------# +# notifications # +#---------------------------------# +notifications: + - provider: Email + to: + - RobertPancoast77@gmail.com + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..8860985e7e --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +src/projectM-sdl/SDLprojectM.xcodeproj/xcshareddata +xcuserdata +src/libprojectM/config.inp +src/libprojectM/config.inp.b +src/libprojectM/config.inp.in +src/projectM-emscripten/build/presets +src/libprojectM/libprojectM.xcodeproj/xcshareddata +presets/custom +project.xcworkspace +*.o +*.lo +*.la +*.a +projectM-*.tar.gz +.deps/ +.libs/ +Makefile +Makefile.in +/aclocal.m4 +/autom4te.cache +/build-aux +/config.* +/configure +/libtool +/stamp-h1 +.dirstamp +/src/libprojectM/config.h +ar-lib +compile +depcomp +install-sh +ltmain.sh +missing +m4/libtool.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 +/t +/src/libprojectM/libprojectM.pc +/build +/dist \ No newline at end of file diff --git a/src/projectM-xmms/NEWS b/.gitmodules old mode 100755 new mode 100644 similarity index 100% rename from src/projectM-xmms/NEWS rename to .gitmodules diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..d9aecfba9d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,64 @@ +language: cpp + +compiler: + - clang + - gcc + +before_script: + - ./autogen.sh +before_install: + - eval "${MATRIX_EVAL}" + +addons: + apt: + packages: + - libc++-dev + - libsdl2-dev + - libglm-dev + - libgl1-mesa-dev + +script: + - ./configure $PM_OPTS --prefix=$PWD/local && make -j6 && make install # build from checkout + - make dist && tar -zxf projectM-*.tar.gz && cd projectM-* && ./configure $PM_OPTS --prefix=$PWD/dist_install && make -j6 && make install # build from dist + - echo "PWD=$PWD" + - ls . + - test -e src/projectM-sdl/projectMSDL + - test -e src/libprojectM/libprojectM.la + - test -e dist_install/share/projectM/fonts/Vera.ttf + - test -d dist_install/share/projectM/presets + - test -e dist_install/lib/libprojectM.la + - test -e dist_install/include/libprojectM/projectM.hpp + - test -e dist_install/include/libprojectM/Common.hpp + - test -e dist_install/include/libprojectM/PCM.hpp + - dist_install/bin/projectM-unittest + +# test on GCC and Clang +matrix: + include: + # pulseaudio/qt/jack + - os: linux + addons: + apt: + packages: + - libglm-dev + - qt5-default + - qtdeclarative5-dev + - libqt5opengl5-dev + - libjack-dev + - libpulse-dev + - libc++-dev + - libsdl-dev # for jack + - libsdl2-dev # for tests + env: + - MATRIX_EVAL="PM_OPTS=\"--enable-qt --enable-jack --enable-pulseaudio --enable-sdl\"" + + # osx/xcode/clang + - os: osx + osx_image: xcode10 + env: + - MATRIX_EVAL="brew update && brew install sdl2 glm" + +notifications: + email: + on_success: never + on_failure: change diff --git a/AUTHORS.txt b/AUTHORS.txt index b1ba8bd01c..b4d68f8f17 100755 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,6 +1,5 @@ - projectM -- Milkdrop-esque visualisation SDK -Copyright (C)2003-2007 projectM Team +Copyright (C)2003-2019 projectM Team This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -23,15 +22,16 @@ code file comprising projectM, the projectM team are: Carmelo Piccione Parser Evaluator + Pulse Audio support (projectM-pulseaudio) + Qt GUI (projectM-qt) Peter Sperl Beat Detection Rendering XMMS Support (projectM-xmms) - libvisual Support (projectM-libvisual) + libvisual Support (projectM-libvisual) Alligator Descartes - Architecture Media Player Support (iTunes, Winamp, Windows Media Player) Test application frameworks (projectM-wxvis, projectM-sdlvis) DVD application (projectM-movie) @@ -39,3 +39,22 @@ Alligator Descartes Roger Dannenburg Advice & Support + +Matthias Klumpp + CMake build system + Distro integration + Bug fixes + +Mischa Spiegelmock + OSX native iTunes visualization plugin + Preliminary web support (projectM-emscripten) + cmake improvements for OSX and Linux + SDL + OpenGLES + +Robert Pancoast + Modernize win32 Build + Windows Universal Application + Provide XBOX Support + Input Windows Audio Loopback with WASAPI + diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000000..9daeee09b1 --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,66 @@ +# Building projectM from source +When building on *nix and OSX, one uses the autogen/configure workflow. It is suggested to read configure.ac and the assorted Makefile.am files. + + +``` +./autogen.sh # only needed if this is a git clone +./configure --enable-sdl +make +sudo make install +``` + +### Linux (debian/ubuntu) dependencies +* `sudo apt install autoconf libtool libsdl2-dev libglm-dev qt5-default qtdeclarative5-dev libqt5opengl5-dev libjack-dev libpulse-dev libsdl-dev` + +### FreeBSD dependencies +* `pkg install gcc autoconf automake libtool mesa-libs libGLU sdl2 glm` + +### Mac OS X dependencies +* `brew install glm sdl2 automake libtool pkg-config` + +### Building on Windows +Windows build bypasses the autogen/configure pipeline and uses the Visual Studio/MSVC files in `msvc/`. See `.appveyor.yml` for command line building. + +Some dependencies are included verbatim (glew), while others leverage the NuGet ecosystem and are downloaded automatically (glm, sdl2). + +### OpenGL ES +projectM supports OpenGL ES 3 for embedded systems. Be sure to configure with the `--enable--gles` flag. + +### Raspberry Pi (and other embedded systems) +* projectM is arch-independent, although there are some SSE2 enhancements for x86 +* [Notes on running on raspberry pi](https://github.com/projectM-visualizer/projectm/issues/115) + +### Build using NDK for Android +Install Android Studio, launch SDK Manager and install NDK +`./autogen.sh` +`./configure-ndk` +`make && make install-strip` + +Now you should be able to copy ./src/libprojectM/.libs/libprojectM.so +and appropriate headers to projectm-android, and build it using Android Studio + + +## libprojectM + +libprojectM is the core library. It is made up of three sub-libraries: + +#### Renderer +Made up of everything in src/libprojectM/Renderer. These files compose the libRenderer sub-library. + +#### MilkdropPresetFactory / NativePresetFactory +From their respective folders. Native presets are visualizations that are implemented in C++ instead of .milk preset files. They are completely optional. Milkdrop presets are technically optional but the whole thing is basically useless without them. + +If you don't want native presets, and you probably don't, don't bother with them. Ideally there should be a configure option to disable them, probably on by default (at this time this is needed for autoconf: https://github.com/projectM-visualizer/projectm/issues/99). + + +### Dependencies +* libglm for matrix math is required, just the headers though. We are considering "vendoring" them. +* A modified version of hlslparser is included in Renderer and used to transpile HLSL shaders to GLSL +* OpenGL 3+ or OpenGLES is required +* libsdl >= 2.0.5 is required for the SDL and emscripten apps. src/projectM-sdl is the current reference application implementation. maybe try getting that to build and run as your testbench. + + +### Assets +libprojectM can either have a configuration hard-coded or load from a configuration file. It's up to each application to decide how to load the config file. The config file can have paths defined specifying where to load fonts and presets from. + +You will want to install the config file and presets somewhere, and then define that path for the application you're trying to build. diff --git a/FAQ.txt b/FAQ.txt deleted file mode 100755 index 431affd1e2..0000000000 --- a/FAQ.txt +++ /dev/null @@ -1,120 +0,0 @@ - -projectM -- Milkdrop-esque visualisation SDK -Copyright (C)2003-2007 projectM Team - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -See 'LICENSE.txt' included within this release - ---------------------------------------------------- - projectM v.0.94.20 FAQ - ------------------ - written by Peter Sperl and Carmelo Piccione ---------------------------------------------------- - -Q1: What is projectM? -Q2: What? This preset doesn't look like it does on Milkdrop. -Q3: Where can I get more presets? -Q4: What are the system requirements? -Q5: Why is projectM so slow!!! -Q6: How can I increase the rendering quality to make projectM look better? -Q7: How can I configure projectM? (where's the config file?) -Q8: Where are the presets? - -Q1: What is projectM? --------------------- -A: projectM makes pretty pictures from music in realtime. - Specifically it uses iterative image-based rendering techniques which - are hardware accelerated via OpenGL. projectM was developed with - cross-platform support in mind, using SDL and OpenGL. The only port - right now is Linux/XMMS, but it should be easy to plug-in to other - music players on other platforms (even windows and Mac OS X). - - projectM aims for compatability with MilkDrop's latest release (1.04b at - this time), but we have always intended to surpass it. This program was - inspired by Ryan Geiss' wonderful program MilkDrop. www.geisswerks.com - -Q2: What? This preset doesn't look like it does on Milkdrop. ------------------------------------------------------------ -A: We know. Some of the simple waveforms (1,2,3,4,5) are not even close to - correct. They are similiar, but not exactly the same. Also, the solarize, - brighten, and darken filters aren't done yet either. - - Sometimes things just don't look right because we might, for example, draw - shapes a tiny bit too big or small. Small errors propagate and become HUGE - after a few manipulations. But who knows because it takes forever to tweak - things like this. - -Q3: Where can I get more presets? --------------------------------- -A: www.milkdrop.co.uk is a great place to start. However, all their - presets are packaged in self-unzipping .exe's for win32. I - extracted them with wine and it worked wonderfully. - - Check out the milkdrop forums at www.winamp.com to find new presets - daily. The URL is below - - http://forums.winamp.com/forumdisplay.php?forumid=81 - -Q4: What are the system requirements? ------------------------------------- -A: To run projectM you need a Linux system w/a sound card and a video card - with OpenGL hardware acceleration. We find that projectM runs MUCH better - with the 2.6 series kernel and ALSA sound. - - What does that mean? Well... - - projectM has only been tested prior to me writing this on 4 computers. - - All those computers used some form of Redhat (8,9, & Fedora 1), - although this should make no differance if you run a differant distro. - - Also, all of them used Nvidia (Geforce 3 Ti200, Geforce 4 MX440 & Ti4200) - - WE STRONGLY RECCOMEND THE USE OF ALSA AND THE 2.6 SERIES KERNEL - -Q5: Why is projectM so slow!!! ------------------------------ -A: If projectM is slow for you all the time, and not just on a select few - presets, you can try lowering the rendering quality, and this will speed - things up A LOT. To do this, lower the texsize and gridsize (gx,gy) in - /etc/projectM/config - - Texsize controls the size of the rendered image. If you think your video - card is too slow or doesn't have enough memory, then change this. A middle - value for texsize is 512. 1024 is nice looking, and 256 is for VERY slow - computers. - - If your processor is the bottleneck, then lower gx and gy. gx and gy - control the size of the interpolated per-pixel mesh. 24/18 is a low-middle - value. I run at 48/32 some times on my Athlon 64 3200, and I could - probably go higher, although some presets slow down for me at this VERY - high setting. - - Certain presets can be processor hogs and slow the framerate down to - almost 0. In this situation my best advice is not to use those presets. - All the presets that come with projectM should be slim enough to run on - nearly all machines capable of running projectM in the first place. - -Q6:How can I increase the rendering quality to make projectM look better? -------------------------------------------------------------------------- -A: Read Q5 and do the opposite! - -Q7: How can I configure projectM? (where's the config file?) ------------------------------------------------------------- -A: /etc/projectM/config - -Q8: Where are the presets? --------------------------- -A: /etc/projectM/presets diff --git a/INSTALL-iTunes-macos.txt b/INSTALL-iTunes-macos.txt deleted file mode 100755 index db3e2c6d8a..0000000000 --- a/INSTALL-iTunes-macos.txt +++ /dev/null @@ -1,73 +0,0 @@ - -projectM -- Milkdrop-esque visualisation SDK -Copyright (C)2003-2007 projectM Team - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -See 'LICENSE.txt' included within this release - -Installation of projectM iTunes plugin for MacOS X -================================================== - -Simply drag the projectM.bundle folder from the mounted disk image -to the folder called "Library/iTunes/iTunes Plug-ins" in your home -folder in Finder. - -Restart iTunes - -In the "Visualizer" menu, you should now see an entry called "projectM". -Select this option. - -Now, turn the visualiser on and enjoy the visuals! - -Special Keys -============ - -' ': Pauses/unpauses music -F1: Show help screen -F3: Toggle preset name rendering -F5: Toggle frame rate rendering -F8: Toggle between screen and studio modes. Useful for debugging per-pixel - equations -R: Jump to a new random preset -N: Go to the next alphanumeric preset -P: Go to the previous alphanumeric preset - -Presets -======= - -A selection of presets are installed in - -Library/iTunes/iTunes Plug-ins/projectM.bundle/Contents/Resources/presets - -Feel free to remove files from this folder or copy different presets in -place. After altering the contents of this folder, you must restart projectM -by turning off, then on, the visualiser in iTunes to refresh the preset -list. - -Caveats -======= - -ATI 3D accelerator cards are known to *NOT WORK* with this plugin currently. -We are investigating the reasons behind this and a fix will be released -as soon as the problem is sorted. - -Fullscreen resolution is fixed at 1280x1024. Future releases will enable you -to change this on-the-fly - -Mesh size is fixed at 48x36. This generates an acceptable tradeoff between -visual quality and frame rate. Again, this will be selectable in a -configuration dialog in the near future. - -Returning from Fullscreen mode can shift windows around diff --git a/INSTALL-xmms.txt b/INSTALL-xmms.txt deleted file mode 100755 index f3846d995a..0000000000 --- a/INSTALL-xmms.txt +++ /dev/null @@ -1,229 +0,0 @@ -Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/LICENSE.txt b/LICENSE.txt index cbee875ba6..125c022f19 100755 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. - + Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a @@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. - + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -146,7 +146,7 @@ such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. - + 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an @@ -158,7 +158,7 @@ Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - + 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 @@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. - + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. @@ -267,7 +267,7 @@ Library will still fall under Section 6.) distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work @@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. - + 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined @@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. - + 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or @@ -422,7 +422,7 @@ conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. - + 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is @@ -456,49 +456,5 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/LLVM_README.md b/LLVM_README.md new file mode 100644 index 0000000000..9bfd8980dd --- /dev/null +++ b/LLVM_README.md @@ -0,0 +1,19 @@ +### Building with LLVM JIT + +Install the LLVM libraries. I've used llvm-7 so far, see http://apt.llvm.org/ for LLVM repositories. + +``` +sudo apt-get install llvm-7-dev llvm-7-tools +``` + +Then run these commands to configure + +``` +./autogen.sh && ./configure --enable-sdl --enable-qt --enable-llvm --prefix=$PWD/local +``` + +And a clean build of course. + +``` +make clean && make -j4 install +``` diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000000..6bb55d9a04 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,46 @@ +ACLOCAL_AMFLAGS=-I m4 +AM_CPPFLAGS=-DDATADIR_PATH='"${pkgdatadir}"' +SUBDIRS=src +PRESETSDIR=presets +EXTRA_DIST=README.md AUTHORS.txt presets fonts $(PRESETSDIR) +CLEANFILES=dist + +# stick apps in bin +# bin_PROGRAMS = $(top_builddir)/bin + +# aka /usr/local/share/projectM +pm_data_dir = $(pkgdatadir) +pm_font_dir = $(pm_data_dir)/fonts +pm_presets_dir = $(pm_data_dir)/presets + +# files to install +pm_data__DATA = src/libprojectM/config.inp +pm_font__DATA = fonts/Vera.ttf fonts/VeraMono.ttf + +# find and install all preset files +install-data-local: + test -z $(DESTDIR)$(pkgdatadir) || $(MKDIR_P) $(DESTDIR)$(pm_presets_dir) + find "$(PRESETSDIR)" -type f -print0 | LC_ALL=C sort -z | xargs -0 '-I{}' $(INSTALL_DATA) '{}' $(DESTDIR)$(pm_presets_dir) + +# from https://stackoverflow.com/questions/30897170/ac-subst-does-not-expand-variable answer: https://stackoverflow.com/a/30960268 +# ptomato https://stackoverflow.com/users/172999/ptomato + +src/libprojectM/config.inp: src/libprojectM/config.inp.in Makefile + $(AM_V_GEN)rm -f $@ $@.tmp && \ + $(SED) -e "s,%datadir%,$(datadir),"g $< >$@.tmp && \ + chmod a-w $@.tmp && \ + mv $@.tmp $@ + +# do a macOS build +dist-mac: dist + rm -rf dist + xcrun xcodebuild -scheme "projectM SDL" -configuration Release archive -archivePath build/ProjectM.xcarchive + xcrun xcodebuild -scheme "iProjectM" -configuration Release archive -archivePath build/iTunes.xcarchive + mkdir -p dist +# mv build/ProjectM.xcarchive/Products/Applications/projectM\ SDL.app dist/ + mv src/projectM-iTunes/iTunes\ Visualizer.pkg dist/iTunes-plugin-macOS.pkg + mv src/projectM-sdl/projectM\ SDL.pkg dist/projectM-macOS.pkg + mv projectM-*.tar.gz dist/ + @echo "Success!\nBuilt iTunes plugin installer and SDL apps in dist/" + +CLEANFILES+=src/libprojectM/config.inp diff --git a/Makefile.dist b/Makefile.dist deleted file mode 100755 index 0ae046e4f0..0000000000 --- a/Makefile.dist +++ /dev/null @@ -1,21 +0,0 @@ -# - -VERSION=1.00 - -SUBDIRS=\ -src - -dist: clean - find . -name '.DS_Store' -exec rm -f {} \; - ( cd .. ; tar zcvf projectM-$(VERSION).tar.gz projectM-$(VERSION) ) - -### Go through each subdir -subdirs: - @for i in $(SUBDIRS); do \ - ( cd $$i ; make -f Makefile.dist ) \ - done - -clean: - @for i in $(SUBDIRS); do \ - ( cd $$i ; make -f Makefile.dist clean ) \ - done diff --git a/README.md b/README.md new file mode 100644 index 0000000000..b54c9fbd11 --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +[![Build Status](https://travis-ci.org/projectM-visualizer/projectm.svg?branch=master)](https://travis-ci.org/projectM-visualizer/projectm) +[![Backers on Open Collective](https://opencollective.com/projectm/backers/badge.svg)](#backers) + +![Logo](https://github.com/projectM-visualizer/projectm/raw/master/web/logo.png) + +## projectM - The most advanced open-source music visualizer +projectM is an open-source project that reimplements the esteemed [Winamp Milkdrop](https://en.wikipedia.org/wiki/MilkDrop) by Geiss in a more modern, cross-platform reusable library. + +Its purpose in life is to read an audio input and to produce mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations. + +### Available For +* [macOS, Linux (binary)](https://github.com/projectM-visualizer/projectm/releases) +* [Windows Store (PC, XBOX, Phone)](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) +* [Android](https://play.google.com/store/apps/details?id=com.psperl.projectM) +* [iOS](https://itunes.apple.com/us/app/projectm-music-visualizer/id530922227?mt=8&ign-mpt=uo%3D4) +* [iTunes plugin (macOS)](https://github.com/projectM-visualizer/projectm/releases/) +* Qt5 + Pulseaudio +* [ALSA, xmms, winamp, jack](https://sourceforge.net/projects/projectm/files/) (source, unmaintained) + +### Download +Get it from the [Releases](https://github.com/projectM-visualizer/projectm/releases) tab + +### Demo Video +[![](http://img.youtube.com/vi/2dSam8zwSFw/0.jpg)](http://www.youtube.com/watch?v=2dSam8zwSFw "Demo") + + +### Project Status +You can read more about how it works and the current state of development [here](https://lwn.net/Articles/750152/). + +### Presets +The preset files define the visualizations via pixel shaders and Milkdrop-style equations and parameters. Included with projectM are the bltc201, Milkdrop 1 and 2, projectM, tryptonaut and yin collections. You can grab all of the presets [here](http://spiegelmc.com/pub/projectm_presets.zip). + +### Also Featured In +[![Kodi](https://github.com/projectM-visualizer/projectm/raw/master/web/kodi.png) Kodi (formerly XBMC)](https://kodi.tv/) + +[![Helix](https://github.com/projectM-visualizer/projectm/raw/master/web/helix.jpg) Helix](http://ghostfiregames.com/helixhome.html) + + +[![Silverjuke](https://github.com/projectM-visualizer/projectm/raw/master/web/silverjuke.png) Silverjuke (FOSS Jukebox)](https://www.silverjuke.net) + +[ Silent Radiance Distance Disco](https://silentradiance.com) + + +*** + +## Screenshots +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-08-25%20at%2012.31.20%20AM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-08-25%20at%2012.33.50%20AM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-07-18%20at%202.14.41%20PM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-07-18%20at%202.13.53%20PM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-07-18%20at%202.15.36%20PM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-08-16%20at%204.49.32%20PM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-08-16%20at%204.50.37%20PM.png) + +![Screenshot](https://github.com/projectM-visualizer/projectm/raw/master/src/projectM-iTunes/projectM%20screenshots/Screen%20Shot%202014-08-25%20at%2012.31.07%20AM.png) + +![Screenshot](https://silentradiance.com/demos/projectM_vr/projectm_vr.png) +*** + +# Building from source +See [BUILDING.md](BUILDING.md) + +# Using the library +At its core projectM is a library, [libprojectM](src/libprojectM). This library is responsible for parsing presets, analyzing audio PCM data with beat detection and FFT, applying the preset to the audio feature data and rendering the resulting output with openGL. It can render to an openGL context or a texture. + +To look at a simple example way of using the library see the [libSDL2 sample code](src/projectM-sdl/projectM_SDL_main.cpp). + +There are many other applications that make use of libprojectM and that can be found in the [src](src/) directory. + +*** + +# Todo +* Support for the missing Milkdrop waveforms to get full compatibility with Milkdrop presets. +* Steal cool stuff from the recently-released Milkdrop source. +* Finish emscripten support for building to wasm/webGL for the web. +* Update the [various implementations using libprojectM](src). +* Update downstream projects with new versions. + +*** + +## Help +Report issues on [GitHub](https://github.com/projectM-visualizer/projectm/issues/new) +We're on IRC at irc.freenode.net #projectM + +If you would like to help improve this project, either with documentation, code, porting, hardware or anything else please let us know! We gladly accept pull requests and issues. + +## Maintainers +If you maintain packages of libprojectM, we are happy to work with you! Please note well: +* The main focus of this project is libprojectM. It's a library that only really depends on OpenGL. The other applications are more like examples and demos. +* This project was converted to use GNU autotools instead of CMake in 2018. This was due to inflexibility of CMake, issues with OSX and SDL2, an unintuitive configuration interface, standardizing on the most common and well-understood build system, a desire to make it easier for others to get up and running and contribute, and other factors too lengthy to expound on here. +* Most of the applications (e.g. `src/projectM-*`) are likely outdated and of less utility than the core library. If you desire to use them or depend on them, please file an issue so we can help update them. +* The "canonical" application for actually viewing the visualizations is now projectM-sdl, based on libSDL2 because it supports audio input and is completely cross-platform. +* This is an open source project! If you don't like something, feel free to contribute improvements! +* Yes, you are looking at the official version. This is not a fork. + +## Authors +[Authors](https://github.com/projectM-visualizer/projectm/raw/master/AUTHORS.txt) + +## Contributors + +This project exists thanks to all the people who contribute. + + + +## Backers + +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/projectm#backer)] + + + + +## Sponsors + +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/projectm#sponsor)] + + + + + + + + + + + + + + +## License +[LGPL](https://github.com/projectM-visualizer/projectm/raw/master/LICENSE.txt) diff --git a/TODO.txt b/TODO.txt deleted file mode 100644 index efa31c24a4..0000000000 --- a/TODO.txt +++ /dev/null @@ -1,32 +0,0 @@ -=========================== -$Id$ - -projectM TODO List - -$Log$ -=========================== - -projectM-engine -=============== - -Correct errors in remaining presets -Correct waveforms 4,5 -Soft transitions -Refactor browser/console interfaces -General post-refactor clean up - -projectM-iTunes -====== - -Fullscreen on MacOS -Stability fixes on MacOS - -projectM-wmp -============ - -Needs written - -projectM-movie -============== - -Finish this off -- MOV write needs completed with audio/video sync diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000000..12acdb1962 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,7 @@ +#!/bin/sh -e + +echo "Running autoreconf... make sure you have GNU autotools available on your system" + +autoreconf --install + +echo "You followed directions! Great work!\nNow run ./configure" diff --git a/bad_presets/presets_bltc201/Reenen Geiss - Triple Feedback_phat_edit.milk b/bad_presets/presets_bltc201/Reenen Geiss - Triple Feedback_phat_edit.milk new file mode 100755 index 0000000000..aa6864865c --- /dev/null +++ b/bad_presets/presets_bltc201/Reenen Geiss - Triple Feedback_phat_edit.milk @@ -0,0 +1,312 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.068793 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.550000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1=rate = fps/(fps+1/2); +shape_1_per_frame2=beat = above(bass,bassthresh); +shape_1_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame4=ran = rand(8)+4; +shape_1_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame6=//poly = if(above(poly,8),4,poly); +shape_1_per_frame7=sides = poly; +shape_1_per_frame8= +shape_1_per_frame9=rate2 = fps/(fps+10); +shape_1_per_frame10=out = (1-beat)*rate2*out + beat; +shape_1_per_frame11=border_a = out; +shape_1_per_frame12=te = bass/fps/2 + te; +shape_1_per_frame13=x = x + 0.056*sin(te*1.67); +shape_1_per_frame14=y = y + 0.043*sin(te*1.23); +shape_1_per_frame15=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame16=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame17=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame18=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame19=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame20=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame21=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame22=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.749999 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=rate = fps/(fps+1/2); +shape_2_per_frame2=beat = above(mid,bassthresh); +shape_2_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.6)*rate+1.6); +shape_2_per_frame4=ran = rand(8)+4; +shape_2_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_2_per_frame6=//poly = if(above(poly,8),4,poly); +shape_2_per_frame7=sides = poly; +shape_2_per_frame8= +shape_2_per_frame9=rate2 = fps/(fps+10); +shape_2_per_frame10=out = (1-beat)*rate2*out + beat; +shape_2_per_frame11=border_a = out; +shape_2_per_frame12= +shape_2_per_frame13=te = mid/fps/2 + te; +shape_2_per_frame14=x = x + 0.05*sin(te*1.17); +shape_2_per_frame15=y = y + 0.05*sin(te*1.83); +shape_2_per_frame16=ang = 3*sin(te*0.5)+2*sin(te*1.1)+4*sin(te*0.3); +shape_2_per_frame17=rad = rad * (0.9 + 0.2*t2) + 0.1*sin(te*1.3); +shape_2_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.417 + 1))); +shape_2_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.391 + 2))); +shape_2_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.432 + 4))); +shape_2_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.457 + 3))); +shape_2_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.437 + 5))); +shape_2_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen diff --git a/bad_presets/presets_bltc201/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk b/bad_presets/presets_bltc201/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk new file mode 100755 index 0000000000..a00276ea7c --- /dev/null +++ b/bad_presets/presets_bltc201/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk @@ -0,0 +1,372 @@ +[preset00] +fRating=3 +fGammaAdj=2 +fDecay=0.9 +fVideoEchoZoom=0.999838 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=1 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); +wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); +wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); +wave_1_per_point7= +wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point15=//move resulting shape in 3d space +wave_1_per_point16=x4 = x3+t4; +wave_1_per_point17=y4 = y3; +wave_1_per_point18=z4 = z3+t5; +wave_1_per_point19=//draw 3d shape in 2d +wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point22= +wave_1_per_point23=r = g+value1; +wavecode_2_enabled=1 +wavecode_2_samples=48 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Zylot's dumb 3d wave +wave_2_per_point4=fvar = sample*512; +wave_2_per_point5=svar = fvar/16; +wave_2_per_point6=tvar = 0&svar; +wave_2_per_point7=newsample = tvar/3.2; +wave_2_per_point8=x1 = sin(newsample*3.1415926*2); +wave_2_per_point9=y1 = cos(newsample*3.1415926*2); +wave_2_per_point10=z1 = 0; +wave_2_per_point11= +wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point19=//move resulting shape in 3d space +wave_2_per_point20=x4 = x3; +wave_2_per_point21=y4 = y3; +wave_2_per_point22=z4 = z3+5; +wave_2_per_point23=//draw 3d shape in 2d +wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point26= +wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); +wave_2_per_point28=r = if(below(r,0),0,r); +wave_2_per_point29=g = -.5 + sin(sample*5+time*5); +wave_2_per_point30=g = if(below(g,0),0,g); +wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); +wave_2_per_point32=b = if(below(b,0),0,b); +wave_2_per_point33=r = if(above(bass,1.5),1,r); +wave_2_per_point34=g = if(above(bass,1.5),1,g); +wave_2_per_point35=b = if(above(bass,1.5),1,b); +shapecode_0_enabled=1 +shapecode_0_sides=1 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.530878 +shapecode_0_ang=0 +shapecode_0_tex_ang=0 +shapecode_0_tex_zoom=1 +shapecode_0_r=0 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0.5 +shapecode_0_r2=0 +shapecode_0_g2=0 +shapecode_0_b2=1 +shapecode_0_a2=1 +shapecode_0_border_r=0 +shapecode_0_border_g=0 +shapecode_0_border_b=0 +shapecode_0_border_a=1 +shape_0_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_0_per_frame2=oldq8 = q8; +shape_0_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_0_per_frame4=rad = rad + sin(q8); +shape_0_per_frame5=r2 = bass; +shape_0_per_frame6=g2 = treb; +shape_0_per_frame7=b2 = mid; +shapecode_1_enabled=1 +shapecode_1_sides=1 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.02248 +shapecode_1_ang=0 +shapecode_1_tex_ang=0 +shapecode_1_tex_zoom=1 +shapecode_1_r=1 +shapecode_1_g=1 +shapecode_1_b=1 +shapecode_1_a=0.8 +shapecode_1_r2=1 +shapecode_1_g2=1 +shapecode_1_b2=1 +shapecode_1_a2=0.3 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0 +shape_1_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_1_per_frame2=oldq8 = q8; +shape_1_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_1_per_frame4=rad = .55; +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_1_per_frame11=ang = ang-cos(time*.02); +shape_1_per_frame12=x = .5 + .1*sin(q8*.11); +shape_1_per_frame13=y = .5 + .1*sin(q8*.51); +shapecode_2_enabled=1 +shapecode_2_sides=1 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.65 +shapecode_2_y=0.62 +shapecode_2_rad=0.108925 +shapecode_2_ang=0 +shapecode_2_tex_ang=0 +shapecode_2_tex_zoom=1 +shapecode_2_r=1 +shapecode_2_g=1 +shapecode_2_b=1 +shapecode_2_a=0.54 +shapecode_2_r2=1 +shapecode_2_g2=1 +shapecode_2_b2=1 +shapecode_2_a2=0.4 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0 +shape_2_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_2_per_frame2=oldq8 = q8; +shape_2_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +shape_2_per_frame4=rad = .750 + .1*sin(q8*.02); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_2_per_frame11=ang = ang+4*sin(q8*.2); +shapecode_3_enabled=0 +shapecode_3_sides=1 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0 +shapecode_3_tex_ang=0 +shapecode_3_tex_zoom=1 +shapecode_3_r=1 +shapecode_3_g=0 +shapecode_3_b=0 +shapecode_3_a=1 +shapecode_3_r2=0 +shapecode_3_g2=1 +shapecode_3_b2=0 +shapecode_3_a2=0 +shapecode_3_border_r=1 +shapecode_3_border_g=1 +shapecode_3_border_b=1 +shapecode_3_border_a=0 +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_4=oldq8 = q8; +per_frame_5=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=zoom = 1+.005*q7; diff --git a/bad_presets/presets_bltc201/Zylot & Krash - Snowflake Halo (Ice Cube mix).milk b/bad_presets/presets_bltc201/Zylot & Krash - Snowflake Halo (Ice Cube mix).milk new file mode 100755 index 0000000000..74db7d3de3 --- /dev/null +++ b/bad_presets/presets_bltc201/Zylot & Krash - Snowflake Halo (Ice Cube mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.709800 +fModWaveAlphaEnd=1.700000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.959487 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar*128; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*4.5; +wave_1_per_point8=x1 = -.75+(1.5)*sin(sample); +wave_1_per_point9=y1 = (1)*cos(t8*nsample); +wave_1_per_point10=z1 = (1)*sin(t8*nsample); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+5; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=a = -.9+sin(nsample+time); +wave_1_per_point28=a = if(below(a,0),0,a); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_frame_5=zoom = zoom - if(below(zoom,0.96),0,0.008); +per_frame_6=zoom = zoom + 0.15*bass_att; +per_pixel_1=angval = ang + abs(3.14*sin(time*0.345) + 3.14*sin(time*.234)); +per_pixel_2=rot=(2*abs((sin(time)-0.5))-angval)/1; diff --git a/presets/Fvese - simple.milk b/bad_presets/presets_milkdrop/Fvese - simple.milk similarity index 100% rename from presets/Fvese - simple.milk rename to bad_presets/presets_milkdrop/Fvese - simple.milk diff --git a/presets/Geiss - Blasto.milk b/bad_presets/presets_milkdrop/Geiss - Blasto.milk similarity index 100% rename from presets/Geiss - Blasto.milk rename to bad_presets/presets_milkdrop/Geiss - Blasto.milk diff --git a/presets/Geiss - Color Tones 1.milk b/bad_presets/presets_milkdrop/Geiss - Color Tones 1.milk similarity index 100% rename from presets/Geiss - Color Tones 1.milk rename to bad_presets/presets_milkdrop/Geiss - Color Tones 1.milk diff --git a/presets/Geiss - Hovering.milk b/bad_presets/presets_milkdrop/Geiss - Hovering.milk similarity index 100% rename from presets/Geiss - Hovering.milk rename to bad_presets/presets_milkdrop/Geiss - Hovering.milk diff --git a/presets/Geiss - Quasilinear Submanifolds.milk b/bad_presets/presets_milkdrop/Geiss - Quasilinear Submanifolds.milk similarity index 100% rename from presets/Geiss - Quasilinear Submanifolds.milk rename to bad_presets/presets_milkdrop/Geiss - Quasilinear Submanifolds.milk diff --git a/presets/Geiss - Sinews 1.milk b/bad_presets/presets_milkdrop/Geiss - Sinews 1.milk similarity index 100% rename from presets/Geiss - Sinews 1.milk rename to bad_presets/presets_milkdrop/Geiss - Sinews 1.milk diff --git a/presets/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk b/bad_presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk similarity index 100% rename from presets/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk rename to bad_presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk diff --git a/presets/Rovastar - Inner Thoughts (Dark Secret Mix).milk b/bad_presets/presets_milkdrop/Rovastar - Inner Thoughts (Dark Secret Mix).milk similarity index 100% rename from presets/Rovastar - Inner Thoughts (Dark Secret Mix).milk rename to bad_presets/presets_milkdrop/Rovastar - Inner Thoughts (Dark Secret Mix).milk diff --git a/presets/Rovastar - Trippy S.milk b/bad_presets/presets_milkdrop/Rovastar - Trippy S.milk similarity index 100% rename from presets/Rovastar - Trippy S.milk rename to bad_presets/presets_milkdrop/Rovastar - Trippy S.milk diff --git a/presets/Unchained - Custom Gramatix (Remix).milk b/bad_presets/presets_milkdrop/Unchained - Custom Gramatix (Remix).milk similarity index 100% rename from presets/Unchained - Custom Gramatix (Remix).milk rename to bad_presets/presets_milkdrop/Unchained - Custom Gramatix (Remix).milk diff --git a/presets/Unchained - French Clothing.milk b/bad_presets/presets_milkdrop/Unchained - French Clothing.milk similarity index 100% rename from presets/Unchained - French Clothing.milk rename to bad_presets/presets_milkdrop/Unchained - French Clothing.milk diff --git a/presets_milkdrop_104/Geiss - Color Tones 1.milk b/bad_presets/presets_milkdrop_104/Geiss - Color Tones 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Color Tones 1.milk rename to bad_presets/presets_milkdrop_104/Geiss - Color Tones 1.milk diff --git a/presets_milkdrop_104/Geiss - Hovering.milk b/bad_presets/presets_milkdrop_104/Geiss - Hovering.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Hovering.milk rename to bad_presets/presets_milkdrop_104/Geiss - Hovering.milk diff --git a/presets_milkdrop_104/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk b/bad_presets/presets_milkdrop_104/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk rename to bad_presets/presets_milkdrop_104/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk diff --git a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Bubble Mix).milk b/bad_presets/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Bubble Mix).milk similarity index 100% rename from presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Bubble Mix).milk rename to bad_presets/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Bubble Mix).milk diff --git a/presets_milkdrop_104/Unchained - Custom Gramatix (Remix).milk b/bad_presets/presets_milkdrop_104/Unchained - Custom Gramatix (Remix).milk similarity index 100% rename from presets_milkdrop_104/Unchained - Custom Gramatix (Remix).milk rename to bad_presets/presets_milkdrop_104/Unchained - Custom Gramatix (Remix).milk diff --git a/presets_milkdrop_104/Unchained - French Clothing.milk b/bad_presets/presets_milkdrop_104/Unchained - French Clothing.milk similarity index 100% rename from presets_milkdrop_104/Unchained - French Clothing.milk rename to bad_presets/presets_milkdrop_104/Unchained - French Clothing.milk diff --git a/presets_milkdrop_104/Zylot - Psyonist (New Eyes Mix).milk b/bad_presets/presets_milkdrop_104/Zylot - Psyonist (New Eyes Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot - Psyonist (New Eyes Mix).milk rename to bad_presets/presets_milkdrop_104/Zylot - Psyonist (New Eyes Mix).milk diff --git a/presets_milkdrop_104/shifter - artefact.milk b/bad_presets/presets_milkdrop_104/shifter - artefact.milk similarity index 100% rename from presets_milkdrop_104/shifter - artefact.milk rename to bad_presets/presets_milkdrop_104/shifter - artefact.milk diff --git a/presets_milkdrop_104/shifter - kiwi fruit.milk b/bad_presets/presets_milkdrop_104/shifter - kiwi fruit.milk similarity index 100% rename from presets_milkdrop_104/shifter - kiwi fruit.milk rename to bad_presets/presets_milkdrop_104/shifter - kiwi fruit.milk diff --git a/bad_presets/presets_milkdrop_200/Eo.S. + Phat - Fractical_dancer - light in the distance.milk b/bad_presets/presets_milkdrop_200/Eo.S. + Phat - Fractical_dancer - light in the distance.milk new file mode 100755 index 0000000000..349f06061f --- /dev/null +++ b/bad_presets/presets_milkdrop_200/Eo.S. + Phat - Fractical_dancer - light in the distance.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=//=sin(musictime*0.02)*0.3; +per_frame_18=//q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.07; +per_frame_21=dy=cos(musictime*0.069)*0.07; +per_frame_22= +per_frame_23=q8=musictime; +per_frame_24= +per_frame_25= +per_frame_26=q4=sin(musictime*0.03*0.5)*0.1; +per_frame_27=q5=cos(musictime*0.03*2)*0.1; +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zm=pow(rd,sin(q8*0.02)+2.5)*2; +per_pixel_6=zm=max(zm,0.5); +per_pixel_7=sx=zm; +per_pixel_8=sy=zm diff --git a/bad_presets/presets_milkdrop_200/Geiss - Sinews 1.milk b/bad_presets/presets_milkdrop_200/Geiss - Sinews 1.milk new file mode 100755 index 0000000000..6a3d43e750 --- /dev/null +++ b/bad_presets/presets_milkdrop_200/Geiss - Sinews 1.milk @@ -0,0 +1,54 @@ +[preset00] +fRating=1 +fGammaAdj=1.997 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.8 +fWaveScale=1.17 +fWaveSmoothing=0.7 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.000415 +fShader=0 +zoom=1.006 +rot=-0.08 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.057228 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=cx=0.5 + 0.3*cos(ang+time*0.97); +per_pixel_2=cy=0.5 + 0.3*sin(ang+time*0.78); diff --git a/bad_presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare.milk b/bad_presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare.milk new file mode 100755 index 0000000000..8da1736420 --- /dev/null +++ b/bad_presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare.milk @@ -0,0 +1,231 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=0.881381 +fWaveSmoothing=0.5 +fWaveParam=-1.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.021087 +rot=-0.160000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.309000 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.750000 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_frame_9=//decay = decay - 0.02*equal(frame%40,0); +per_frame_10=mv_r = wave_r; +per_frame_11=mv_b = wave_b; +per_frame_12=mv_g = wave_g; +per_frame_13=mv_x = 1.25; +per_frame_14=mv_y = 1.25; +per_frame_15=mv_dx = 0.1*sin(1.1*time); +per_frame_16=mv_dy = 0.1*cos(1.112*time); +per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8))); diff --git a/bad_presets/presets_milkdrop_200/Unchained - Custom Gramatix (Remix).milk b/bad_presets/presets_milkdrop_200/Unchained - Custom Gramatix (Remix).milk new file mode 100755 index 0000000000..e48cc4fcad --- /dev/null +++ b/bad_presets/presets_milkdrop_200/Unchained - Custom Gramatix (Remix).milk @@ -0,0 +1,105 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.006435 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028401 +fWaveScale=0.282087 +fWaveSmoothing=0 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.001827 +fShader=0.1 +zoom=0.98001 +rot=0 +cx=0.4399 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(above(pulse,pulse_cap-entropy*10),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=pulse_cap=entropy*100; +per_frame_17=pulse=if(above(abs(pulse),pulse_cap),0-pulse_cap,pulse+.1*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.03); +per_frame_18=q3=sin(pulse); +per_frame_19=effect_1=1+1*bass_flop*above(q3,0); +per_frame_20=effect_2=1+2*treb_flop*below(q3,0); +per_frame_21=effect_3=1+4*mid_flop*above(q3,0); +per_frame_22=effect_4=1+6*mid_flop*below(q3,0); +per_frame_23=effect_5=1+10*treb_flop*above(q3,0); +per_frame_24=effect_6=1+12*bass_flop*below(q3,0); +per_frame_25=q1=effect_1*effect_2*effect_3*effect_4*effect_5*effect_6; +per_frame_26=q2=time*q1*entropy*chaos*.002; +per_frame_27=q4=sin(q2*.02); +per_frame_28=q5=entropy; +per_frame_29=wave_r=if(treb_flop,abs(.5*q4),if(bass_flop,.5+.5*q4,1)); +per_frame_30=wave_g=if(treb_changed,0,if(mid_changed,0,.49)); +per_frame_31=wave_b=if(treb_flop,.8+.2*q4,bass_changed*mid_changed); +per_frame_32=cx=.5+.2*q3; +per_frame_33=cy=.5+.2*q4; +per_frame_34=wave_x=cy; +per_frame_35=wave_y=cx; +per_frame_36=ob_r=if(bass_flop,treb_flop,wave_g); +per_frame_37=ob_b=if(treb_flop,wave_r,wave_b); +per_frame_38=ob_g=if(mid_flop,wave_g,wave_b); +per_frame_39=ob_a=.07+.05*q2; +per_frame_40=ob_size=.01+.009*q4; +per_frame_41=ib_r=ib_r+.5*sin(time*.04*entropy); +per_frame_42=ib_b=ib_b+.5*sin(time*.03*entropy); +per_frame_43=ib_g=ib_g+.5*sin(time*.02*entropy); +per_frame_44=ib_a=.07+.05*q3*q4; +per_frame_45=ib_size=.01+.009*q3; +per_frame_46=zoom=zoom+.19*q4; +per_pixel_1=g1=sin(q2+time*q5*.01)/2; +per_pixel_2=g2=sin(q2+time*q5*.02)/2; +per_pixel_3=rot=if(above(sin(q2+time*q5*.025),0),g1*rad,g2*(1-rad)); diff --git a/bad_presets/presets_milkdrop_200/mstress - Cleaning a path - Painterly Crossfire.milk b/bad_presets/presets_milkdrop_200/mstress - Cleaning a path - Painterly Crossfire.milk new file mode 100755 index 0000000000..497707a852 --- /dev/null +++ b/bad_presets/presets_milkdrop_200/mstress - Cleaning a path - Painterly Crossfire.milk @@ -0,0 +1,340 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=0.988999 +fVideoEchoZoom=1.168096 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=1.000509 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000022 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.000500 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=0.090000 +ib_size=0.000500 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.350001 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.7 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=73 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.832629 +shapecode_0_ang=6.031858 +shapecode_0_tex_ang=5.780530 +shapecode_0_tex_zoom=0.999998 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=flag1=int(abs(flag1-q1)); +shape_0_per_frame2=flag=int(abs(flag-q1*flag1)); +shape_0_per_frame3=ang =ang +if(flag,0,-.4)+abs(sin(bass))*.4*if(flag,1,-1); +shape_0_per_frame4= +shape_0_per_frame5=x=x+sin(time*.7)*.06; +shape_0_per_frame6=y=y+sin(time*.5)*.06; +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.810000 +shapecode_1_y=0.220000 +shapecode_1_rad=0.506271 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.890000 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.310000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=flag = abs(flag-q1); +shape_1_per_frame2=y = if(flag,.8,.2); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.181000 +shapecode_2_y=0.8 +shapecode_2_rad=0.599578 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=flag = abs(flag-q1); +shape_2_per_frame2=y = if(flag,.2,.8); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.560000 +shapecode_3_y=0.150000 +shapecode_3_rad=0.230671 +shapecode_3_ang=5.403541 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.4 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_3_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_3_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_3_per_frame4=bassdiff = (bass - meanbass)*15; +shape_3_per_frame5=trebdiff = (treb - meantreb)*15; +shape_3_per_frame6=middiff = (mid - meanmid)*15; +shape_3_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_3_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_3_per_frame9=middiff = above(middiff,0)*middiff; +shape_3_per_frame10= +shape_3_per_frame11=g = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame12=r = min(1,max(0,0.2*middiff)); +shape_3_per_frame13=b = min(1,max(0,0.2*bassdiff)); +shape_3_per_frame14=g2 = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame15=r2 = min(1,max(0,0.2*middiff)); +shape_3_per_frame16=b2 = min(1,max(0,0.2*bassdiff)); +shape_3_per_frame17=x=x+sin(time*.7)*.06; +shape_3_per_frame18=y=y+sin(time*.5)*.06; +shape_3_per_frame19= +shape_3_per_frame20=ang =sin(time); +shape_3_per_frame21=rad=rad-.4+.05*bass; +per_frame_init_1=oldy=.4; +per_frame_1=ib_g = abs(sin(0.1*time))*0.2; +per_frame_2=ib_b = abs(sin(0.3*time))*0.2; +per_frame_3=ib_r = abs(sin(0.7*time))*0.2; +per_frame_4= +per_frame_5= +per_frame_6=ob_b=abs(sin(time*100+time)); +per_frame_7=ob_r=abs(sin(time*512+time)); +per_frame_8=ob_g=abs(sin(time*10+time)); +per_frame_9=ib_b=abs(sin(time*10+time)); +per_frame_10=ib_r=abs(sin(time*512+time)); +per_frame_11=ib_g=abs(sin(time*100+time)); +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=meanbass = 0.01*(meanbass*99+bass); +per_frame_17=meantreb = 0.01*(meantreb*99+treb); +per_frame_18=meanmid = 0.01*(meanmid*99+mid); +per_frame_19=bassdiff = (bass - meanbass)*15; +per_frame_20=trebdiff = (treb - meantreb)*15; +per_frame_21=middiff = (mid - meanmid)*15; +per_frame_22=bassdiff = above(bassdiff,0)*bassdiff; +per_frame_23=trebdiff = above(trebdiff,0)*trebdiff; +per_frame_24=middiff = above(middiff,0)*middiff; +per_frame_25= +per_frame_26=ob_g = min(1,max(0,0.2*trebdiff)); +per_frame_27=ob_r = min(1,max(0,0.2*middiff)); +per_frame_28=ob_b = min(1,max(0,0.2*bassdiff)); +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32= +per_frame_33=//Thanks to krash for beat detection (modified) +per_frame_34=volume = 0.3*bass+mid; +per_frame_35=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_36=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_37=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_38=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_39=peakbass_att = max(bass_att,peakbass_att); +per_frame_40=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_42=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_43=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_44=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_45=q1 = beat; +per_frame_46= +per_frame_47=temp = y; +per_frame_48=y = if(beat,oldy,y); +per_frame_49=oldy=if(beat,temp,oldy); +per_frame_50= +per_frame_51=monitor =y; +per_pixel_1=sq=above(x,.3)*below(x,.6)*above(y,.4)*below(y,.6); +per_pixel_2=cx =sin(x*10+time+bass); +per_pixel_3=cy =sin(y*10+time+treb); +per_pixel_4=rot=rot+.012;//*sin(bass*2)*4; +per_pixel_5=zoom = zoom-.7*sqq; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv *= 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz); +comp_6=` ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz); +comp_7=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz); +comp_8=` +comp_9=` ret *= 1.3; // a little bit of overbright +comp_10=`} diff --git a/bad_presets/presets_milkdrop_200/shifter + Geiss - molten glass (crystal glass mix).milk b/bad_presets/presets_milkdrop_200/shifter + Geiss - molten glass (crystal glass mix).milk new file mode 100755 index 0000000000..cf4c7232b5 --- /dev/null +++ b/bad_presets/presets_milkdrop_200/shifter + Geiss - molten glass (crystal glass mix).milk @@ -0,0 +1,310 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.380217 +fWarpScale=3.300904 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.033469 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.033469 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.033469 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=decay = 0; +per_frame_1=warp = 7; +per_frame_2=wave_a = 0; +per_pixel_1=rot = 1.2*(0.5-abs(x-0.5))*(0.5-abs(y-0.5)); +per_pixel_2=rot = 1; +per_pixel_3=adx = (1 - 0.01*(x-0.5)); +per_pixel_4=ady = (1 - 0.01*(y-0.5)); +per_pixel_5=cy = y + 0.1*sin(x*40); +per_pixel_6=cx = x + 0.1*sin(y*40); +per_pixel_7=azoom = 0.99; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.90; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.00; //gamma +comp_5=` float3 d = float3(texsize.zw, 0)*1.3; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= .75; +comp_12=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=` +comp_17=`} diff --git a/bad_presets/presets_mischa_collection/shifter + Geiss - molten glass (crystal glass mix).milk b/bad_presets/presets_mischa_collection/shifter + Geiss - molten glass (crystal glass mix).milk new file mode 100644 index 0000000000..cf4c7232b5 --- /dev/null +++ b/bad_presets/presets_mischa_collection/shifter + Geiss - molten glass (crystal glass mix).milk @@ -0,0 +1,310 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.380217 +fWarpScale=3.300904 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.033469 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.033469 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.033469 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=decay = 0; +per_frame_1=warp = 7; +per_frame_2=wave_a = 0; +per_pixel_1=rot = 1.2*(0.5-abs(x-0.5))*(0.5-abs(y-0.5)); +per_pixel_2=rot = 1; +per_pixel_3=adx = (1 - 0.01*(x-0.5)); +per_pixel_4=ady = (1 - 0.01*(y-0.5)); +per_pixel_5=cy = y + 0.1*sin(x*40); +per_pixel_6=cx = x + 0.1*sin(y*40); +per_pixel_7=azoom = 0.99; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.90; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.00; //gamma +comp_5=` float3 d = float3(texsize.zw, 0)*1.3; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= .75; +comp_12=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=` +comp_17=`} diff --git a/presets_milkdrop/Fvese - simple.milk b/bad_presets/presets_projectM/Fvese - simple.milk similarity index 100% rename from presets_milkdrop/Fvese - simple.milk rename to bad_presets/presets_projectM/Fvese - simple.milk diff --git a/presets_milkdrop/Geiss - Blasto.milk b/bad_presets/presets_projectM/Geiss - Blasto.milk similarity index 100% rename from presets_milkdrop/Geiss - Blasto.milk rename to bad_presets/presets_projectM/Geiss - Blasto.milk diff --git a/presets_milkdrop/Rovastar - Inner Thoughts (Dark Secret Mix).milk b/bad_presets/presets_projectM/Rovastar - Inner Thoughts (Dark Secret Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Inner Thoughts (Dark Secret Mix).milk rename to bad_presets/presets_projectM/Rovastar - Inner Thoughts (Dark Secret Mix).milk diff --git a/presets_projectM/Fvese - simple.milk b/bad_presets/presets_stock/Fvese - simple.milk similarity index 100% rename from presets_projectM/Fvese - simple.milk rename to bad_presets/presets_stock/Fvese - simple.milk diff --git a/presets_projectM/Geiss - Blasto.milk b/bad_presets/presets_stock/Geiss - Blasto.milk similarity index 100% rename from presets_projectM/Geiss - Blasto.milk rename to bad_presets/presets_stock/Geiss - Blasto.milk diff --git a/presets_milkdrop/Geiss - Hovering.milk b/bad_presets/presets_stock/Geiss - Hovering.milk similarity index 100% rename from presets_milkdrop/Geiss - Hovering.milk rename to bad_presets/presets_stock/Geiss - Hovering.milk diff --git a/presets_milkdrop/Geiss - Quasilinear Submanifolds.milk b/bad_presets/presets_stock/Geiss - Quasilinear Submanifolds.milk similarity index 100% rename from presets_milkdrop/Geiss - Quasilinear Submanifolds.milk rename to bad_presets/presets_stock/Geiss - Quasilinear Submanifolds.milk diff --git a/presets_milkdrop/Geiss - Sinews 1.milk b/bad_presets/presets_stock/Geiss - Sinews 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Sinews 1.milk rename to bad_presets/presets_stock/Geiss - Sinews 1.milk diff --git a/presets_projectM/Rovastar - Inner Thoughts (Dark Secret Mix).milk b/bad_presets/presets_stock/Rovastar - Inner Thoughts (Dark Secret Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Inner Thoughts (Dark Secret Mix).milk rename to bad_presets/presets_stock/Rovastar - Inner Thoughts (Dark Secret Mix).milk diff --git a/bad_presets/presets_stock/Unchained - Custom Gramatix (Remix).milk b/bad_presets/presets_stock/Unchained - Custom Gramatix (Remix).milk new file mode 100755 index 0000000000..419908b45b --- /dev/null +++ b/bad_presets/presets_stock/Unchained - Custom Gramatix (Remix).milk @@ -0,0 +1,105 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.006435 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028401 +fWaveScale=0.282087 +fWaveSmoothing=0 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.001827 +fShader=0.1 +zoom=0.98001 +rot=0 +cx=0.4399 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(above(pulse,pulse_cap-entropy*10),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=pulse_cap=entropy*100; +per_frame_17=pulse=if(above(abs(pulse),pulse_cap),0-pulse_cap,pulse+.1*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.03); +per_frame_18=q3=sin(pulse); +per_frame_19=effect_1=1+1*bass_flop*above(q3,0); +per_frame_20=effect_2=1+2*treb_flop*below(q3,0); +per_frame_21=effect_3=1+4*mid_flop*above(q3,0); +per_frame_22=effect_4=1+6*mid_flop*below(q3,0); +per_frame_23=effect_5=1+10*treb_flop*above(q3,0); +per_frame_24=effect_6=1+12*bass_flop*below(q3,0); +per_frame_25=q1=effect_1*effect_2*effect_3*effect_4*effect_5*effect_6; +per_frame_26=q2=time*q1*entropy*chaos*.002; +per_frame_27=q4=sin(q2*.02); +per_frame_28=q5=entropy; +per_frame_29=wave_r=if(treb_flop,abs(.5*q4),if(bass_flop,.5+.5*q4,1)); +per_frame_30=wave_g=if(treb_changed,0,if(mid_changed,0,.49)); +per_frame_31=wave_b=if(treb_flop,.8+.2*q4,bass_changed*mid_changed); +per_frame_32=cx=.5+.2*q3; +per_frame_33=cy=.5+.2*q4; +per_frame_34=wave_x=cy; +per_frame_35=wave_y=cx; +per_frame_36=ob_r=if(bass_flop,treb_flop,wave_g); +per_frame_37=ob_b=if(treb_flop,wave_r,wave_b); +per_frame_38=ob_g=if(mid_flop,wave_g,wave_b); +per_frame_39=ob_a=.07+.05*q2; +per_frame_40=ob_size=.01+.009*q4; +per_frame_41=ib_r=ib_r+.5*sin(time*.04*entropy); +per_frame_42=ib_b=ib_b+.5*sin(time*.03*entropy); +per_frame_43=ib_g=ib_g+.5*sin(time*.02*entropy); +per_frame_44=ib_a=.07+.05*q3*q4; +per_frame_45=ib_size=.01+.009*q3; +per_frame_46=zoom=zoom+.19*q4; +per_pixel_1=g1=sin(q2+time*q5*.01)/2; +per_pixel_2=g2=sin(q2+time*q5*.02)/2; +per_pixel_3=rot=if(above(sin(q2+time*q5*.025),0),g1*rad,g2*(1-rad)); diff --git a/presets_milkdrop/Unchained - French Clothing.milk b/bad_presets/presets_stock/Unchained - French Clothing.milk similarity index 100% rename from presets_milkdrop/Unchained - French Clothing.milk rename to bad_presets/presets_stock/Unchained - French Clothing.milk diff --git a/bad_presets/presets_tryptonaut/Fvese - simple.milk b/bad_presets/presets_tryptonaut/Fvese - simple.milk new file mode 100755 index 0000000000..321be3ecfd --- /dev/null +++ b/bad_presets/presets_tryptonaut/Fvese - simple.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.999000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.796630 +fWaveScale=0.543759 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.020000 +cy=0.020001 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.100000 +wave_g=0.400000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.600000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.200027 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.040000 +per_frame_1=warp = 0; +per_frame_2=dx = dx - .0005; +per_frame_3=dy = dy - .0005; +per_frame_4=wave_r = abs(wave_r + 0.1*(sin(time*0.346) + sin(time*1.334))); +per_frame_5=wave_g = wave_g + 0.1*(sin(time*0.763) + sin(time*1.231)); +per_frame_6=wave_b = wave_b + 0.2*(sin(time*0.695) + sin(time*0.367)); +per_frame_7=decay=decay-0.01*(frame%1); +per_frame_8=wave_x = 0.5+0.1*sin(time+rand(100)/100); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_14=mv_r=wave_g+bass; +per_frame_15=mv_g=wave_r+treb; +per_pixel_1=dx = .01*atan((rad)/.1*sin((x*dy)*20+time*5)); +per_pixel_2=zoom = zoom + rad*.08; diff --git a/presets_test/Geiss - Blasto.milk b/bad_presets/presets_tryptonaut/Geiss - Blasto.milk similarity index 94% rename from presets_test/Geiss - Blasto.milk rename to bad_presets/presets_tryptonaut/Geiss - Blasto.milk index 569be72b1e..9296f22030 100755 --- a/presets_test/Geiss - Blasto.milk +++ b/bad_presets/presets_tryptonaut/Geiss - Blasto.milk @@ -53,7 +53,7 @@ ib_size=0.010000 ib_r=0.250000 ib_g=0.250000 ib_b=0.250000 -ib_a=1.000000 +ib_a=0.000000 per_frame_1=wave_r = wave_r + .255*sin(time*.366); per_frame_2=wave_g = wave_g + .255*sin(time*.222); per_frame_3=wave_b = wave_b + .255*sin(time*.288); diff --git a/bad_presets/presets_tryptonaut/Geiss - Hovering.milk b/bad_presets/presets_tryptonaut/Geiss - Hovering.milk new file mode 100755 index 0000000000..940267e5d8 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Geiss - Hovering.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.100000 +fWaveScale=3.019205 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=decay = decay - 0.01*equal((frame/30)%2,0); +per_pixel_1=q1=0.5+0.5*sin(rad*12.0 + time*0.7); +per_pixel_2=dx=0.01*cos(q1+time*0.5); +per_pixel_3=dy=0.01*sin(q1+time*0.5); diff --git a/bad_presets/presets_tryptonaut/Geiss - Quasilinear Submanifolds.milk b/bad_presets/presets_tryptonaut/Geiss - Quasilinear Submanifolds.milk new file mode 100755 index 0000000000..886b88ed43 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Geiss - Quasilinear Submanifolds.milk @@ -0,0 +1,47 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +fDecay=0.970000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=1.400000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.762000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); diff --git a/bad_presets/presets_tryptonaut/Geiss - Sinews 1.milk b/bad_presets/presets_tryptonaut/Geiss - Sinews 1.milk new file mode 100755 index 0000000000..27d2c1b65d --- /dev/null +++ b/bad_presets/presets_tryptonaut/Geiss - Sinews 1.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=1.997000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.800000 +fWaveScale=1.170000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000415 +fShader=0.000000 +zoom=1.006000 +rot=-0.080000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.057228 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=cx=0.5 + 0.3*cos(ang+time*0.97); +per_pixel_2=cy=0.5 + 0.3*sin(ang+time*0.78); diff --git a/bad_presets/presets_tryptonaut/Goody + martin - crystal palace - Schizotoxin - The Wild Iris Bloom - mess2 nz+ i have no character and feel entitled to one.milk b/bad_presets/presets_tryptonaut/Goody + martin - crystal palace - Schizotoxin - The Wild Iris Bloom - mess2 nz+ i have no character and feel entitled to one.milk new file mode 100755 index 0000000000..1b78cc818a --- /dev/null +++ b/bad_presets/presets_tryptonaut/Goody + martin - crystal palace - Schizotoxin - The Wild Iris Bloom - mess2 nz+ i have no character and feel entitled to one.milk @@ -0,0 +1,544 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.107 +fWaveSmoothing=0.000 +fWaveParam=-0.220 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.600 +wave_g=0.500 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.80000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.040 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample*.5+.25); +wave_0_per_point11=y = sample*.5+.25; +wave_0_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_0_per_point13=x = 1 - mod*.5; +wave_0_per_point14= +wave_0_per_point15=osa = sample; +wave_0_per_point16= +wave_0_per_point17=mo = 3.7 + mod*6 + q1; +wave_0_per_point18= +wave_0_per_point19=r = .5 + sin(q23*.9 +mo)*.5; +wave_0_per_point20=g = .5 + sin(q23*.89+mo + 1.5472)*.5; +wave_0_per_point21=b = .5 + sin(q23*.88+mo + 2.8944)*.5; +wave_0_per_point22= +wave_0_per_point23=//a = 3 - abs(mod)*12; +wave_0_per_point24=//a = 3-sw; +wave_0_per_point25=//a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.80000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.040 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample*.5+.25); +wave_1_per_point11=y = sample*.5+.25; +wave_1_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_1_per_point13=x = 0+ mod*.5; +wave_1_per_point14= +wave_1_per_point15=osa = sample; +wave_1_per_point16= +wave_1_per_point17=mo = 3.7 + mod*6 + q1; +wave_1_per_point18= +wave_1_per_point19=r = .5 + sin(q23*.95+mo)*.5; +wave_1_per_point20=g = .5 + sin(q23*.96+mo + 1.5472)*.5; +wave_1_per_point21=b = .5 + sin(q23*.97+mo + 2.8944)*.5; +wave_1_per_point22= +wave_1_per_point23=//a = 3 - abs(mod)*12; +wave_1_per_point24=//a = 3-sw; +wave_1_per_point25=//a = max(0,min(a,1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=5 +shapecode_0_x=0.730 +shapecode_0_y=0.500 +shapecode_0_rad=0.29466 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=2.79176 +shapecode_0_r=0.700 +shapecode_0_g=0.700 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trig = q25; +shape_0_per_frame2=a = trig*min(bass+treb,1); a2 = trig*0; +shape_0_per_frame3=//a = min(bass+treb-1,1); +shape_0_per_frame4=x0 = x0 *bnot(trig) + trig*int(rand(100))/100; +shape_0_per_frame5=y0 = y0 *bnot(trig) + trig*int(rand(100))/100; +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=k1 = instance/num_inst*6.28; +shape_0_per_frame9=ampl = .1*q22+.1; +shape_0_per_frame10= +shape_0_per_frame11= +shape_0_per_frame12=x0 = .5 +q15*ampl *cos(k1+q17); y0 = .5+ q16*ampl*sin(k1+q17); +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=tex_ang = int(rand(20))/3; +shape_0_per_frame16=//tex_ang = time; +shape_0_per_frame17=rad = .1 + int(rand(8))/12; +shape_0_per_frame18= +shape_0_per_frame19=x = x0; y = y0; +shape_0_per_frame20=r = .7+.3*sin(time/12); +shape_0_per_frame21=b = .7+.3*sin(time/15); +shape_0_per_frame22=g = .7+.3*sin(time/8); +shape_0_per_frame23=r2 = r; b2 = b; g2 = g; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=37 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03640 +shapecode_1_ang=0.81681 +shapecode_1_tex_ang=0.37699 +shapecode_1_tex_zoom=1.02841 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.050 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=k1 = instance/num_inst*6.28; +shape_1_per_frame2=tmp = q17/32+time*.1; +shape_1_per_frame3=trel = tmp-int(tmp); +shape_1_per_frame4= +shape_1_per_frame5=yes = above(sin(time/9.5),0); +shape_1_per_frame6= +shape_1_per_frame7=bright = 6*q2*q2*yes+.1*min(q8,1); +shape_1_per_frame8=border_a = bright; +shape_1_per_frame9= +shape_1_per_frame10=tmp = 2*sin(time/12)-1; +shape_1_per_frame11=a = .5*yes*pow(2,-18*abs(k1-6.28*trel)) * above(tmp,0)*tmp*tmp; +shape_1_per_frame12=ampl = .1; +shape_1_per_frame13=rad = .02+.0*sin(k1*4+time); +shape_1_per_frame14=x = .5 +q15*ampl *cos(k1+q17); y = .5+ q16*ampl*sin(k1+q17); +shape_1_per_frame15= +shape_1_per_frame16=r0 = sin(time/7); +shape_1_per_frame17=g0 = sin(time/5); +shape_1_per_frame18=b0 = sin(time/9); +shape_1_per_frame19= +shape_1_per_frame20=border_r = .8 + .2*r0; +shape_1_per_frame21=border_g = .8 + .2*g0; +shape_1_per_frame22=border_b = .8 + .2*b0; +shape_1_per_frame23= +shape_1_per_frame24= +shape_1_per_frame25=//r = .5*r0; g = .5*g0; b = 0.5*b0; ; +shape_1_per_frame26= +shape_1_per_frame27=//r2 = 0; g2 = 0; b2 = 0; +shape_1_per_frame28= +shape_1_per_frame29=a2 = 0; +shape_1_per_frame30= +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.500 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = (sin(q23)+1.57)*.3 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame7=y = (cos(q23)+1.57)*.3 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame8=rad = .09 + int(rand(int(q1)))/15+instance-instance; +shape_2_per_frame9=r=int(rand(q1))*.1+instance-instance; +shape_2_per_frame10=g=int(rand(q1))*.1+instance-instance; +shape_2_per_frame11=b=int(rand(q1))*.1+instance-instance; +shape_2_per_frame12=r2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame13=g2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame14=b2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame15=border_r=int(rand(q1))*.1+instance-instance; +shape_2_per_frame16=border_g=int(rand(q1))*.1+instance-instance; +shape_2_per_frame17=border_b=int(rand(q1))*.1+instance-instance; +shapecode_3_enabled=1 +shapecode_3_sides=32 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=7 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.500 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=trans = int(rand(int(q1)))/15+instance-instance; +shape_3_per_frame2=trans2 = int(rand(int(q1)))/15+instance-instance; +shape_3_per_frame3=trans3 = int(rand(int(q1)))/15+instance-instance; +shape_3_per_frame4=a = trans; +shape_3_per_frame5= +shape_3_per_frame6=x = (sin(q23)+1.57)*.3 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame7=y = (cos(q23)+1.57)*.3 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame8=rad = .09 + int(rand(int(q1)))/15+instance-instance; +shape_3_per_frame9=r=int(rand(q1))*.1+instance-instance; +shape_3_per_frame10=g=int(rand(q1))*.1+instance-instance; +shape_3_per_frame11=b=int(rand(q1))*.1+instance-instance; +shape_3_per_frame12=r2=int(rand(q1))*.1+instance-instance; +shape_3_per_frame13=g2=int(rand(q1))*.1+instance-instance; +shape_3_per_frame14=b2=int(rand(q1))*.1+instance-instance; +shape_3_per_frame15=border_r=int(rand(q1))*.1+instance-instance; +shape_3_per_frame16=border_g=int(rand(q1))*.1+instance-instance; +shape_3_per_frame17=border_b=int(rand(q1))*.1+instance-instance; +shape_3_per_frame18= +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q1=.4+sin(atime*.006 )*.4; +per_frame_21=q2=.4+cos(atime*.00613828348)*.4; +per_frame_22=q3=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q3; +per_frame_24= +per_frame_25=dec_med = pow (0.96, 30/fps); +per_frame_26=dec_slow = pow (0.98, 30/fps); +per_frame_27=beat = max (max (bass, mid), treb); +per_frame_28=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_29=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_30=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_31=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_32=index = (index + is_beat) %8; +per_frame_33=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_34=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_35= +per_frame_36=q20 = avg; +per_frame_37=q21 = beat; +per_frame_38=q22 = peak; +per_frame_39=q23 = index; +per_frame_40=q24 = is_beat; +per_frame_41= +per_frame_42=vol = bass_att + treb_att; +per_frame_43=v2 = v2 * dec_slow + vol * (1-dec_slow) ; +per_frame_44=q26 = max(atan (vol - v2*.8),.3); +per_frame_45= +per_frame_46=q27 = index + 1; +per_frame_47= +per_frame_48=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_49=q28 = sw; +per_frame_50= +per_frame_51=k1 = is_beat*bnot(index*20); +per_frame_52=k2 = is_beat*bnot(index); +per_frame_53= +per_frame_54=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_55=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_56=rott = p2 * 3.1416/2; +per_frame_57=monitor = k1; +per_frame_58=q1 = cos(rott); +per_frame_59=q2 = sin(rott); +per_frame_60=q3 = -q2; +per_frame_61=q4 = q1; +per_frame_62= +per_frame_63= +per_frame_64=q5 = cos(time/6); +per_frame_65=q6 = -sin(time/6); +per_frame_66=q7 = -q6; +per_frame_67=q8 = q5; +per_frame_68= +per_frame_69=zoom = 1; +per_frame_70=rot = -0; +per_frame_71= +per_frame_72=movez = movez + .006*(q1+1.1)*30/fps; +per_frame_73=q29 = movez; +per_frame_74=rota = rota + .003*(2-q1)*30/fps; +per_frame_75=q30 = rota; +per_frame_76=q31 = 2 + 16*abs(cos(time/18)); +per_frame_77=q32 = cos(time/23)/4; +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81=q32=aspecty; +per_frame_82=vol=bass+treb+mid; +per_frame_83=atime=atime+vol; +per_frame_84=q8=atime*.01; +per_frame_85=q1=vol*1.5; +per_frame_86=q23=atime*.1; +per_frame_87=q11=cos(atime*.000348); +per_frame_88=q12=tan(atime*.00018834); +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=` +warp_4=`shader_body { +warp_5=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_6=` +warp_7=`float2 uv1 = (uv-.5); +warp_8=`float2 uv6 = uv1; +warp_9=` +warp_10=`float rota = lum(tex2D (sampler_noise_hq,uv/4))*q31; +warp_11=` +warp_12=`uv6 = mul(uv1,float2x2(cos(rota),-sin(rota),sin(rota),cos(rota))); +warp_13=`uv6 += sin(q32*uv1); +warp_14=`mus = .2/(sqrt(uv6.x)+.2); +warp_15=` +warp_16=`mus *= float3 (1.1,1,.95); +warp_17=`mus *= .9+.1*tex2D (sampler_noise_hq,uv); +warp_18=` +warp_19=`float3 blur = GetBlur1(frac(uv)); +warp_20=` +warp_21=`float2 hor = float2 (0.005,0); +warp_22=`float2 ver = float2 (0,.005); +warp_23=` +warp_24=`float dx = lum(tex2D(sampler_main,uv+hor) +warp_25=` - tex2D(sampler_main,uv-hor)); +warp_26=`float dy = lum(tex2D(sampler_main,uv+ver) +warp_27=` - tex2D(sampler_main,uv-ver)); +warp_28=` +warp_29=` +warp_30=`float2 zz = float2 (dx,dy); +warp_31=` +warp_32=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_33=`float3 crisp2 = tex2D(sampler_main,uv); +warp_34=`crisp += crisp2/2; +warp_35=`crisp *= .67; +warp_36=`crisp +=.08 * mus - length(zz)*blur; +warp_37=` +warp_38=`float3 ret1 = crisp - lum(blur)*.04; +warp_39=`ret = ret1 * .99 - .04 ; +warp_40=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_41=` ((zz.xyy*q27 +warp_42=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_43=` ).xyz* +warp_44=` float3(1,1,0)*0.05 + +warp_45=` time*float3(0,0,1)*q29 +warp_46=` ); +warp_47=`if(ret.x> q21*q3 && ret.x<= q24*q1 )ret.y -= (noise9).x*.5; +warp_48=`if(ret.y> q22*q1 && ret.y<= q25*q2 )ret.z -= (noise9).y*.5; +warp_49=`if(ret.z> q23*q2 && ret.z<= q26*q3 )ret.x -= (noise9).z*.5; +warp_50=`} +comp_1=`float3 ret1, neu; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`ret1 = 0; +comp_14=`int anz = 4; +comp_15=`float n = 1; +comp_16=`while (n <= anz) { +comp_17=` c = n%2-.5; +comp_18=` s = (n+1)%2-.5; +comp_19=` uv2.x = uv.x*c - uv.y*s; +comp_20=` uv2.y = uv.x*s + uv.y*c; +comp_21=` uv2 *= aspect.yx; +comp_22=` dist = 1-frac(.25*n+q31); +comp_23=` inten = 2*sqrt(dist)*(1-dist*dist); +comp_24=` +comp_25=` neu = tex2D(sampler_main, 2*uv2*dist + q32); +comp_26=` ret1 = max(ret1,neu*inten); +comp_27=`n++; +comp_28=`} +comp_29=` +comp_30=`ret = ret1*1.6;// * lum(ret1) ; +comp_31=` +comp_32=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_33=` ((uv2.xyy*q28 +comp_34=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_35=` ).xyz* +comp_36=` float3(1,1,0)*0.05 + +comp_37=` time*float3(0,0,1)*q31 +comp_38=` ); +comp_39=`if(ret.x> q26*q3 && ret.x<= q23*q1 )ret.z -= (noise9).x*.5; +comp_40=`if(ret.y> q25*q1 && ret.y<= q22*q2 )ret.x -= (noise9).y*.5; +comp_41=`if(ret.z> q24*q2 && ret.z<= q21*q3 )ret.y -= (noise9).z*.5; +comp_42=`} diff --git a/bad_presets/presets_tryptonaut/Goody - The Wild Vort.milk b/bad_presets/presets_tryptonaut/Goody - The Wild Vort.milk new file mode 100755 index 0000000000..a20703b659 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Goody - The Wild Vort.milk @@ -0,0 +1,319 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.400 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.280 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99817 +fShader=0.000 +zoom=0.86978 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.040 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.200 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.99867 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.49486 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.750 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.850 +shapecode_1_rad=0.44040 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=sx=1; +per_frame_2=sy=1; +per_frame_3= +per_frame_4=redsine=.5+.15*bass*sin(time*3); +per_frame_5=greensine=.5+.15*mid*sin(time*2); +per_frame_6=bluesine=.5+.15*treb*sin(time); +per_frame_7= +per_frame_8=redif=.9*if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.98)); +per_frame_9=greenif=.8*if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.8)); +per_frame_10=blueif=.8*if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.8)); +per_frame_11= +per_frame_12=ib_r=redif; +per_frame_13=ib_g=greenif; +per_frame_14=ib_b=blueif; +per_pixel_1=ang2=sin(ang*3+time+(.05*sin(time*above(mid_att,1.2)))); +per_pixel_2= +per_pixel_3=rot=1.2*(ang2); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv2=uv-.5; +warp_4=`float3 texm=0; +warp_5=`float3 blur= GetBlur1(uv); +warp_6=`float3 blum= (blur)-tex2D(sampler_main, uv); +warp_7=` +warp_8=`ret=blum; +warp_9=` +warp_10=`ret*=1; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.003*float2(-1,1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` ret *= 2.40; //gamma +comp_9=` ret *= ret; //darken +comp_10=` +comp_11=`} diff --git a/bad_presets/presets_tryptonaut/Reenen Geiss - Triple Feedback_phat_edit.milk b/bad_presets/presets_tryptonaut/Reenen Geiss - Triple Feedback_phat_edit.milk new file mode 100755 index 0000000000..f971126793 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Reenen Geiss - Triple Feedback_phat_edit.milk @@ -0,0 +1,312 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.068793 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.550000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1=rate = fps/(fps+1/2); +shape_1_per_frame2=beat = above(bass,bassthresh); +shape_1_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame4=ran = rand(8)+4; +shape_1_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame6=//poly = if(above(poly,8),4,poly); +shape_1_per_frame7=sides = poly; +shape_1_per_frame8= +shape_1_per_frame9=rate2 = fps/(fps+10); +shape_1_per_frame10=out = (1-beat)*rate2*out + beat; +shape_1_per_frame11=border_a = out; +shape_1_per_frame12=te = bass/fps/2 + te; +shape_1_per_frame13=x = x + 0.056*sin(te*1.67); +shape_1_per_frame14=y = y + 0.043*sin(te*1.23); +shape_1_per_frame15=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame16=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame17=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame18=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame19=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame20=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame21=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame22=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.749999 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=rate = fps/(fps+1/2); +shape_2_per_frame2=beat = above(mid,bassthresh); +shape_2_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.6)*rate+1.6); +shape_2_per_frame4=ran = rand(8)+4; +shape_2_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_2_per_frame6=//poly = if(above(poly,8),4,poly); +shape_2_per_frame7=sides = poly; +shape_2_per_frame8= +shape_2_per_frame9=rate2 = fps/(fps+10); +shape_2_per_frame10=out = (1-beat)*rate2*out + beat; +shape_2_per_frame11=border_a = out; +shape_2_per_frame12= +shape_2_per_frame13=te = mid/fps/2 + te; +shape_2_per_frame14=x = x + 0.05*sin(te*1.17); +shape_2_per_frame15=y = y + 0.05*sin(te*1.83); +shape_2_per_frame16=ang = 3*sin(te*0.5)+2*sin(te*1.1)+4*sin(te*0.3); +shape_2_per_frame17=rad = rad * (0.9 + 0.2*t2) + 0.1*sin(te*1.3); +shape_2_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.417 + 1))); +shape_2_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.391 + 2))); +shape_2_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.432 + 4))); +shape_2_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.457 + 3))); +shape_2_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.437 + 5))); +shape_2_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen diff --git a/bad_presets/presets_tryptonaut/Rovastar - Inner Thoughts (Dark Secret Mix).milk b/bad_presets/presets_tryptonaut/Rovastar - Inner Thoughts (Dark Secret Mix).milk new file mode 100755 index 0000000000..fa28a1d183 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Rovastar - Inner Thoughts (Dark Secret Mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.153926 +mv_g=0.153926 +mv_b=0.714137 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.05*sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.1*sin(time); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.15*sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.2*sin(time);; +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_19=//q7 =0; +per_frame_20=invert = 1+sin(q8); +per_frame_21=monitor = q8; +per_frame_22=invert =int(1 + sin(0.01*q8)); +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/bad_presets/presets_tryptonaut/Unchained - Custom Gramatix (Remix).milk b/bad_presets/presets_tryptonaut/Unchained - Custom Gramatix (Remix).milk new file mode 100755 index 0000000000..419908b45b --- /dev/null +++ b/bad_presets/presets_tryptonaut/Unchained - Custom Gramatix (Remix).milk @@ -0,0 +1,105 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.006435 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028401 +fWaveScale=0.282087 +fWaveSmoothing=0 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.001827 +fShader=0.1 +zoom=0.98001 +rot=0 +cx=0.4399 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(above(pulse,pulse_cap-entropy*10),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=pulse_cap=entropy*100; +per_frame_17=pulse=if(above(abs(pulse),pulse_cap),0-pulse_cap,pulse+.1*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.03); +per_frame_18=q3=sin(pulse); +per_frame_19=effect_1=1+1*bass_flop*above(q3,0); +per_frame_20=effect_2=1+2*treb_flop*below(q3,0); +per_frame_21=effect_3=1+4*mid_flop*above(q3,0); +per_frame_22=effect_4=1+6*mid_flop*below(q3,0); +per_frame_23=effect_5=1+10*treb_flop*above(q3,0); +per_frame_24=effect_6=1+12*bass_flop*below(q3,0); +per_frame_25=q1=effect_1*effect_2*effect_3*effect_4*effect_5*effect_6; +per_frame_26=q2=time*q1*entropy*chaos*.002; +per_frame_27=q4=sin(q2*.02); +per_frame_28=q5=entropy; +per_frame_29=wave_r=if(treb_flop,abs(.5*q4),if(bass_flop,.5+.5*q4,1)); +per_frame_30=wave_g=if(treb_changed,0,if(mid_changed,0,.49)); +per_frame_31=wave_b=if(treb_flop,.8+.2*q4,bass_changed*mid_changed); +per_frame_32=cx=.5+.2*q3; +per_frame_33=cy=.5+.2*q4; +per_frame_34=wave_x=cy; +per_frame_35=wave_y=cx; +per_frame_36=ob_r=if(bass_flop,treb_flop,wave_g); +per_frame_37=ob_b=if(treb_flop,wave_r,wave_b); +per_frame_38=ob_g=if(mid_flop,wave_g,wave_b); +per_frame_39=ob_a=.07+.05*q2; +per_frame_40=ob_size=.01+.009*q4; +per_frame_41=ib_r=ib_r+.5*sin(time*.04*entropy); +per_frame_42=ib_b=ib_b+.5*sin(time*.03*entropy); +per_frame_43=ib_g=ib_g+.5*sin(time*.02*entropy); +per_frame_44=ib_a=.07+.05*q3*q4; +per_frame_45=ib_size=.01+.009*q3; +per_frame_46=zoom=zoom+.19*q4; +per_pixel_1=g1=sin(q2+time*q5*.01)/2; +per_pixel_2=g2=sin(q2+time*q5*.02)/2; +per_pixel_3=rot=if(above(sin(q2+time*q5*.025),0),g1*rad,g2*(1-rad)); diff --git a/bad_presets/presets_tryptonaut/Unchained - French Clothing.milk b/bad_presets/presets_tryptonaut/Unchained - French Clothing.milk new file mode 100755 index 0000000000..c4af0ee6f6 --- /dev/null +++ b/bad_presets/presets_tryptonaut/Unchained - French Clothing.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.500000 +fWaveScale=0.478000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=6.811278 +fShader=0.000000 +zoom=1.000678 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.005000 +warp=2.117467 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.570000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=q1 = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_7=q4 = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=cx=if(above(sin(time*1.321),0),q1,cx); +per_pixel_2=cy=if(above(sin(time*1.432),0),q2,cx); +per_pixel_3=dx=if(above(sin(time*1.543),0),q3,dx); +per_pixel_4=dy=if(above(sin(time*1.654),0),q4,dy); +per_pixel_5=rot=if(above(sin(time*3.888),0),rot-.2*cos(x*2-1),.2*sin(time*4.216)); +per_pixel_6=zoom=zoom-.043*cos(x*2-1)*sin(time*1.21); diff --git a/bad_presets/presets_tryptonaut/beta106ain-roto-mix3.milk b/bad_presets/presets_tryptonaut/beta106ain-roto-mix3.milk new file mode 100755 index 0000000000..18fe43fd82 --- /dev/null +++ b/bad_presets/presets_tryptonaut/beta106ain-roto-mix3.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.630000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.400000 +fWaveSmoothing=0.000000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.320000 +dy=0.280000 +warp=0.000000 +sx=0.610000 +sy=0.644000 +wave_r=0.100000 +wave_g=0.100000 +wave_b=0.100000 +wave_x=0.680000 +wave_y=0.700000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.012000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.500000 +ib_a=0.500000 +nMotionVectorsX=27.640000 +nMotionVectorsY=20.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_ +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.920000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.000000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.500010 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=0.300000 +wavecode_2_b=0.500000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=5.033000 +shapecode_0_ang=3.079000 +shapecode_0_tex_ang=1.566000 +shapecode_0_tex_zoom=0.198000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 + +shapecode_1_enabled=1 +shapecode_1_sides=99 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.500000 +shapecode_1_ang=3.142000 +shapecode_1_tex_ang=0.063000 +shapecode_1_tex_zoom=1.943000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 + + +shapecode_2_enabled=0 +shapecode_2_sides=99 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.000000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.190000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.150000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.000000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 + +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(0.000*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(0.000*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.500*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.500*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.500*time) + 0.40*sin(0.949*time) ); +per_frame_6= +per_frame_7= +per_frame_8=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_9=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_10=decay = decay - 0.01*equal(frame%50,0); +per_frame_11=zoom=zoom+(bass_att-1)*0.1; + diff --git a/bad_presets/presets_tryptonaut/martin - adrift on a dead planet - lard mix.milk b/bad_presets/presets_tryptonaut/martin - adrift on a dead planet - lard mix.milk new file mode 100755 index 0000000000..2b6a624bd9 --- /dev/null +++ b/bad_presets/presets_tryptonaut/martin - adrift on a dead planet - lard mix.milk @@ -0,0 +1,773 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=4 +PSVERSION_WARP=3 +PSVERSION_COMP=4 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.88026 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.200 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.5*sin(s)*cos(ss)*equal(q5,0) + +wave_0_per_point8=(0.6 + 0.1*cos(s))*cos(ss)*equal(q5,1) + +wave_0_per_point9=0.5*sin(s)*cos(ss)*equal(q5,2); +wave_0_per_point10=ys = 0.5*sin(s)*sin(ss)*equal(q5,0) + +wave_0_per_point11=(0.6 + 0.1*cos(s))*sin(ss)*equal(q5,1) + +wave_0_per_point12=0.5*sin(s)*sin(ss)*equal(q5,2); +wave_0_per_point13=zs = 0.5*cos(s)*equal(q5,0) + +wave_0_per_point14=0.1*sin(s)*equal(q5,1) + +wave_0_per_point15=0.5*sin(s)*equal(q5,2); +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_0_per_point20=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_0_per_point21=ztor = 0.1*sin(s); +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=//rotate x axis +wave_0_per_point25=angle = q1*0.3; +wave_0_per_point26=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point27=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point28=xx = xs; +wave_0_per_point29= +wave_0_per_point30=//rotate y axis +wave_0_per_point31=angle2 = q1*0.5; +wave_0_per_point32=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point33=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point34=yd = yx; +wave_0_per_point35= +wave_0_per_point36=//rotaye z axis +wave_0_per_point37=angle3 = q1*0.41; +wave_0_per_point38=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point39=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point40= +wave_0_per_point41=zd = zd + 2; +wave_0_per_point42= +wave_0_per_point43=//do that falloff effect +wave_0_per_point44=peek1 = (value1 + value2)*10; +wave_0_per_point45= +wave_0_per_point46=//if sample louder set that to level else decrement level +wave_0_per_point47=level = if(above(peek1,level),peek1,level - 0.00025); +wave_0_per_point48=level = if(below(level,0),0,level); +wave_0_per_point49= +wave_0_per_point50=//add to z +wave_0_per_point51=zd = zd + 2 + level; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=x = xn*zd*0.05 + 0.5; +wave_0_per_point55=y = yn*zd*0.05*1.2 + 0.5; +wave_0_per_point56= +wave_0_per_point57= +wave_0_per_point58=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point59=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point60=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.88026 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.200 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = 0.5*sin(s)*cos(ss)*equal(q5,2) + +wave_1_per_point8=(0.6 + 0.1*cos(s))*cos(ss)*equal(q5,0) + +wave_1_per_point9=0.5*sin(s)*cos(ss)*equal(q5,1); +wave_1_per_point10=ys = 0.5*sin(s)*sin(ss)*equal(q5,2) + +wave_1_per_point11=(0.6 + 0.1*cos(s))*sin(ss)*equal(q5,0) + +wave_1_per_point12=0.5*sin(s)*sin(ss)*equal(q5,1); +wave_1_per_point13=zs = 0.5*cos(s)*equal(q5,2) + +wave_1_per_point14=0.1*sin(s)*equal(q5,0) + +wave_1_per_point15=0.5*sin(s)*equal(q5,1); +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_1_per_point19=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_1_per_point20=ztor = 0.1*sin(s); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=//rotate x axis +wave_1_per_point24=angle = q1*0.3; +wave_1_per_point25=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point26=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point27=xx = xs; +wave_1_per_point28= +wave_1_per_point29=//rotate y axis +wave_1_per_point30=angle2 = q1*0.5; +wave_1_per_point31=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point32=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point33=yd = yx; +wave_1_per_point34= +wave_1_per_point35=//rotaye z axis +wave_1_per_point36=angle3 = q1*0.41; +wave_1_per_point37=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point38=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point39= +wave_1_per_point40=zd = zd + 2; +wave_1_per_point41= +wave_1_per_point42=//do that falloff effect +wave_1_per_point43=peek1 = (value1 + value2)*10; +wave_1_per_point44= +wave_1_per_point45=//if sample louder set that to level else decrement level +wave_1_per_point46=level = if(above(peek1,level),peek1,level - 0.00025); +wave_1_per_point47=level = if(below(level,0),0,level); +wave_1_per_point48= +wave_1_per_point49=//add to z +wave_1_per_point50=zd = zd + 2 + level; +wave_1_per_point51= +wave_1_per_point52= +wave_1_per_point53=x = xn*zd*0.05 + 0.5; +wave_1_per_point54=y = yn*zd*0.05*1.2 + 0.5; +wave_1_per_point55= +wave_1_per_point56= +wave_1_per_point57=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point58=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point59=b = 0.5 + 0.5*sin(q1*1.16 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.500 +wave_2_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_2_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14; +wave_2_per_point4=ss = sample*6.28*100; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_2_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_2_per_point9=zs = 0.5*sin(s); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=//plot x,y,z to point on circle +wave_2_per_point13=//smp=sample*6.283; +wave_2_per_point14=//xp=sin(smp )*0.30; +wave_2_per_point15=//yp=cos(smp )*0.30; +wave_2_per_point16=//zp=0; +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=//alter shape; +wave_2_per_point20=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_2_per_point21=//xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point22=//zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point23=//xp=xq; +wave_2_per_point24=//zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27= +wave_2_per_point28=//rotate on y axis; +wave_2_per_point29=//angy=t1*0.1; +wave_2_per_point30=//xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point31=//zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point32=//xp=xq; +wave_2_per_point33=//zp=zq; +wave_2_per_point34= +wave_2_per_point35=//rotate on x axis +wave_2_per_point36=//axs1 = sin(t1*0.15) + 1.6; +wave_2_per_point37=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point38=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point39=//yp=yq; +wave_2_per_point40=//zp=zq; +wave_2_per_point41= +wave_2_per_point42=//rotate on y axis again +wave_2_per_point43=//axs2 = sin(t1*0.1)*3.3; +wave_2_per_point44=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point45=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point46=//xp=xq; +wave_2_per_point47=//zp=zq; +wave_2_per_point48= +wave_2_per_point49= +wave_2_per_point50= +wave_2_per_point51= +wave_2_per_point52=//rotate x axis +wave_2_per_point53=angle = sin(q1*0.15 + 3.14); +wave_2_per_point54=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point55=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point56=xx = xs; +wave_2_per_point57= +wave_2_per_point58=//rotate y axis +wave_2_per_point59=angle2 = sin(q1*0.2 + 3.14); +wave_2_per_point60=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point61=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point62=yd = yx; +wave_2_per_point63= +wave_2_per_point64=zd = zd + 2; +wave_2_per_point65= +wave_2_per_point66=x = xd*zd*0.3*1.2 + 0.5; +wave_2_per_point67=y = yd*zd*0.3*1.2 + 0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point71=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point72=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.500 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*20; +wave_3_per_point4= +wave_3_per_point5=//draw +wave_3_per_point6=xs = 0.5*sin(s)*cos(s*v); +wave_3_per_point7=ys = 0.5*sin(s)*sin(s*v); +wave_3_per_point8=zs = 0.5*sin(u); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=//plot x,y,z to point on circle +wave_3_per_point12=//smp=sample*6.283; +wave_3_per_point13=//xp=sin(smp )*0.30; +wave_3_per_point14=//yp=cos(smp )*0.30; +wave_3_per_point15=//zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=//alter shape; +wave_3_per_point19=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_3_per_point20=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point21=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point22=//xp=xq; +wave_3_per_point23=//zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=//rotate on y axis; +wave_3_per_point28=//angy=t1*0.1; +wave_3_per_point29=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point30=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point31=//xp=xq; +wave_3_per_point32=//zp=zq; +wave_3_per_point33= +wave_3_per_point34=//rotate on x axis +wave_3_per_point35=//axs1 = sin(t1*0.15) + 1.6; +wave_3_per_point36=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point37=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point38=//yp=yq; +wave_3_per_point39=//zp=zq; +wave_3_per_point40= +wave_3_per_point41=//rotate on y axis again +wave_3_per_point42=//axs2 = sin(t1*0.1)*3.3; +wave_3_per_point43=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point44=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point45=//xp=xq; +wave_3_per_point46=//zp=zq; +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50= +wave_3_per_point51=//rotate x axis +wave_3_per_point52=angle = sin(q1*0.15 - 1.57); +wave_3_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point55=xx = xs; +wave_3_per_point56= +wave_3_per_point57=//rotate y axis +wave_3_per_point58=//angle2 = sin(q1*0.2 - 1.57); +wave_3_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point61=yd = yx; +wave_3_per_point62= +wave_3_per_point63= +wave_3_per_point64=x = xd*zd + 0.5; +wave_3_per_point65=y = yd*zd + 0.5; +wave_3_per_point66= +wave_3_per_point67= +wave_3_per_point68=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point69=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point70=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66717 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.400 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=r = sin(q1); +shape_0_per_frame2=g = sin(q1*1.1); +shape_0_per_frame3=b = sin(q1*1.4); +shape_0_per_frame4=r2 = sin(q1*1.25); +shape_0_per_frame5=g2 = sin(q1*1.45); +shape_0_per_frame6=b2 = sin(q1*1.12); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=t0a = time; t0 = time+.5; +per_frame_init_2=//sdev = .01; +per_frame_init_3=//spb_ = .5; spb = .51; +per_frame_init_4=p1 = 0; p2 = 0; +per_frame_init_5=height = 1.5; +per_frame_init_6=speed = .2; +per_frame_init_7=p1 = int(rand(100)); p2 = int(rand(100)); //starting pos +per_frame_init_8=sidestep = (int(rand(10))-5)/20; +per_frame_1=dec_m = pow (0.85, 30/fps); dec_s = pow (0.96, 30/fps); dec_f = pow (0.7, 30/fps); +per_frame_2= +per_frame_3=beat = bass+mid+treb; +per_frame_4=avg = avg*dec_s + beat*(1-dec_s); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_m; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=hpeak = hpeak*dec_f + above(peak,6)*is_beat; +per_frame_11= +per_frame_12=q20 = vol_; +per_frame_13=q22 = max(0,peak-.0)+.01; +per_frame_14=q24 = is_beat; +per_frame_15=q27 = index +1; +per_frame_16= +per_frame_17=//*********** Tele**************** +per_frame_18=tele = 18*(sin(time/14+(p1-p2)/73)-.75); +per_frame_19=q29 = max(min(tele,1),0); +per_frame_20=ob_size= (q29 - max(min(tele-1,1),0))/2 ; +per_frame_21=q29 = q29*3+1; +per_frame_22= +per_frame_23=trig = is_beat*below(int(rand(100)),avg); +per_frame_24=ran1 = ran1 + trig*(int(rand(100))/50-1)*3; //dir +per_frame_25= +per_frame_26=trig = is_beat*below(int(rand(100)),3*avg); +per_frame_27=ran2 = ran2*bnot(trig) + trig*(int(rand(100))/50-1.1); //vdir +per_frame_28= +per_frame_29=trig = is_beat*below(int(rand(100)),5*avg); +per_frame_30=ran3 = ran3*bnot(trig) + trig*(avg/32+.05); //speed +per_frame_31= +per_frame_32=speed = speed + 1/fps*(max(min(ran3+(q29-1)/6-speed,.05),-.05)); +per_frame_33=//speed = -.0; +per_frame_34=rota = 0; +per_frame_35= +per_frame_36=ddir = ddir *dec_s + (1-dec_s)*(ran1*2-dir); +per_frame_37=//ddir = 61/fps; vdir = 0; +per_frame_38=ddir_ = ddir_ *dec_s + ddir *(1-dec_s); +per_frame_39=dir = dir + ddir_/fps*abs(speed) ; +per_frame_40=//dir = 0; +per_frame_41=//dir = dir + sin(time/2)/fps*above(sin(time/2),0); +per_frame_42=q9 = dir; +per_frame_43= +per_frame_44=vdir1 = vdir1*dec_s + (1-dec_s)*(ran2)/fps*8; +per_frame_45=vdir = vdir*dec_s + (1-dec_s)*vdir1; +per_frame_46=vdir = if (below(vdir,0), vdir*if(below(height,3),1-pow(height-3,2)/4,1),vdir); +per_frame_47=vdir = if (above(vdir,0), vdir*if(above(height,4),1-pow(height-4,2)/4,1),vdir); +per_frame_48= +per_frame_49=height = height + speed/fps * vdir*16; +per_frame_50=height = min(max(height,1),6); +per_frame_51= +per_frame_52=q7 = vdir; //Blick vertikal; verschiebt nur uv1.y +per_frame_53=q8 = if (above(vdir,0),height,height-4*vdir); //Flughoehe; +per_frame_54= +per_frame_55= +per_frame_56=//***** Tilt +per_frame_57=//q1 = cos(ddir*20*speed); +per_frame_58=//q2 = sin(-ddir*20*speed); +per_frame_59=//q1 = 1; q2 = 0; +per_frame_60=//***** moving direction +per_frame_61= +per_frame_62=q3 = cos(dir); +per_frame_63=q4 = sin(dir); +per_frame_64= +per_frame_65=//***** x-y-Position +per_frame_66=p1 = p1 + q3/fps*speed*cos(vdir); +per_frame_67=p2 = p2 + q4/fps*speed*cos(vdir); +per_frame_68= +per_frame_69=q5 = -p2+time*sidestep; +per_frame_70=q6 = p1; +per_frame_71= +per_frame_72=//*******landscape +per_frame_73=q10 = .5*sin(time/77+(p1+p2)/47); // cloud density, -1 bis .5 +per_frame_74=//q10 =-.4; +per_frame_75=q11 = .8 + cos(p1/11)/3; //rock smooth/-brightness, 0.5 - 3; //use for daylight ?# +per_frame_76=q12 = 0.5 + .3 * sin(time/22+p1); //hormask; +per_frame_77=q13 = .1+.3*sin(p1/3); // glow; -.4 - max ca 0.4, nicht ersetzen durch lavmod2 +per_frame_78=q14 = (1+cos(p2/5))/3; //lava structure harshness, 0 bis 1 +per_frame_79=q30 = .3*(cos(time/75+p2/123)+1); //horizon brightness (moon effect) +per_frame_80=q31 = .2 + .1 * sin(time/94); //cloud size +per_frame_81=q32 = -.2-sin(time/22)/4; //Planet Y +per_frame_82=//****** daytime +per_frame_83=q15 = abs(sin(time/45+p1/87))-.75; //daytime +per_frame_84= +per_frame_85=// q10 = -.4; +per_frame_86= +per_frame_87=//******sunpos xy +per_frame_88=q16 = 0.2/height; //sky_gnd +per_frame_89= +per_frame_90=q17 = tan(dir/2); +per_frame_91=q18 = q16-q15; +per_frame_92=//*************** flash **************** +per_frame_93=q21 = min(hpeak,1) * int(rand(10))/10 * below(q15,-.5) * above(q10,.3); +per_frame_94= +per_frame_95=//side = below(speed,.3)*below(q29,2)*below(ddir_,.1)*(index2%3-1); +per_frame_96=monitor = q13; +per_frame_97=rot = -ddir_*speed/2 + rota; +per_frame_98=dx = .5; dy = .25+q7 ; +per_frame_99= +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`static const float quality = 3, depth = .2; +warp_3=`float3 rsl, rsl2, rss, ret1, rs2,rs3; +warp_4=`float2 dz, uv0, uv1, uv2, uv3, uv4, dz1,tmp2, ditch2; +warp_5=`float ditch,lprof,lprof2,sprof,sprof2, n,noise, stone,stone_lit,sun,cloud,sky,lava,hor; +warp_6=`float flashmask, hormask, lavmask,ilavmask,lavmask_s,cldmask,lavmod; +warp_7=`static float lav_gnd = 0,hordist = (3+q8), tele = q29, sky_gnd = q16; +warp_8=`static float2 mov = float2 (q5,q6), sunpos = float2(q17,q18), planpos = float2(q17+.5,q32); +warp_9=`static float3 skycol = float3 (.1,.1,.2); +warp_10=`float3 lavcol (float t) {return smoothstep(0,.8,float3(t,pow(t,2.2),pow(t,5)));} +warp_11=`float nmod (float2 uvi) {return lerp(.7,tex2D (sampler_noise_hq,uvi),q14);} +warp_12=` +warp_13=`float flash (float2 uvi) {return .5/pow(abs(uvi.x),.5);} +warp_14=`float hq_n (float3 uvi) {return lum(tex3D (sampler_noisevol_hq ,uvi));} +warp_15=`float noise4 (float3 uvi) { float tmp,k1,k2,k3,k4,z; +warp_16=` z = uvi.z/2048; +warp_17=` k1 = saturate(1-z/2); k2 = saturate(1-z*2)/2; k3 = saturate(1-z*4)/4 ; k4 = saturate(1-z*8)/4*0 ; +warp_18=` float mean = k1+k2 + k3 + k4; +warp_19=` uvi.z = .01*time; +warp_20=` tmp2 = hq_n(uvi*(k1>=0))*k1+hq_n(uvi*2*(k2>=0))*k2 +warp_21=` +hq_n(uvi*4*(k3>=0))*k3+hq_n(uvi*8*(k4>=0))*k4 -mean/2; +warp_22=` return tmp2;} +warp_23=` +warp_24=`float noise2 (float3 uvi) {uvi.z=0; return saturate(lerp(hq_n(uvi),hq_n(uvi*4),q31)-q10);} +warp_25=` +warp_26=`float3 rs_lav (float2 uvi, float berg) { float z; float2 rs; +warp_27=`// uvi.y += .06*lum(tex2D (sampler_noise_hq,(uv1.x*.06-q9*.04)))-.015; +warp_28=` z = 2/(uvi.y)*(q8-4*berg); z = clamp(z,-.1,32*hordist); //#final check ! +warp_29=` rs.x = uvi.x*2*z ; rs.y = z; //rs.x = (uvi.x) * (z+.464/z)*2 ; rs.y = z; //# +warp_30=` rs = mul(rs,float2x2(q3,q4,-q4,q3)); +warp_31=` return float3(rs/64 + mov,z); } +warp_32=` +warp_33=`float3 rs_sky (float2 uvi, float berg) { float z; float2 rs; +warp_34=` z = (10-q8)/(uvi.y - berg); z = clamp(z,-150,16); +warp_35=` rs.x = (uvi.x)*2*z ; rs.y = z; +warp_36=` rs = mul(rs,float2x2(q3,q4,-q4,q3)); +warp_37=` return float3(-rs/64+mov/4,z); } +warp_38=` +warp_39=`shader_body { +warp_40=`uv1 = uv; uv0 = uv; uv2 = uv1*aspect.xy*tele; +warp_41=` +warp_42=`rsl = rs_lav(tele*(float2(uv1.x*0,-.2)),-q8); +warp_43=`lav_gnd = (tex2D (sampler_noise_hq, rsl/4))*.2/q8-.15; //# +warp_44=` +warp_45=`for (n=1; n <= quality; n++) { +warp_46=` rsl = rs_lav(tele*uv1,lav_gnd); //#spiele an uv-Vorfakt - zoom, auch bei sky ! +warp_47=` lprof = (tex2D (sampler_noise_hq,rsl.xy/4)) - .75; //mittelwert null !# +warp_48=` lprof += (tex2D (sampler_noise_hq,rsl.xy/2))/2 ; +warp_49=`// lprof += (tex2D (sampler_noise_hq,rsl.xy))/4 ; +warp_50=` ditch = saturate(6*length(sin(rsl.xy/2+lprof*.0))-7)*0; +warp_51=` lprof = lerp(lprof,1,ditch); +warp_52=` lav_gnd -= lprof/quality*depth; } //#? +warp_53=`lavmod = tex2D (sampler_noise_hq,rsl.x/16)-.5; +warp_54=`float lavmod2 = tex2D (sampler_noise_hq,rsl/16); +warp_55=`lprof += lavmod; +warp_56=` +warp_57=`rsl2 = rsl + float3(0,0.03,0); +warp_58=`lprof2 = (tex2D (sampler_noise_hq,rsl2.xy/4)) - .75; //mittelwert null !# +warp_59=`lprof2 += (tex2D (sampler_noise_hq,rsl2.xy/2))/2 ; +warp_60=`lprof2 += lavmod; // ditch fehlt !# +warp_61=` +warp_62=`sun = saturate(.02/length(uv2-sunpos)); +warp_63=` +warp_64=`rss = rs_sky(tele*uv1,sky_gnd) ; +warp_65=`sprof = noise2(rss); sky_gnd -= sprof/rss.z*2; +warp_66=`rss = rs_sky(tele*uv1,sky_gnd); +warp_67=`sprof = noise2(rss); sky_gnd -= sprof/rss.z*2; +warp_68=` +warp_69=`float3 rss2 = rss + float3(0,.01,0); +warp_70=`sprof2 = noise2(rss2); +warp_71=` +warp_72=`rsl = 8*rs_lav(tele*uv1,lav_gnd); +warp_73=` +warp_74=`noise = pow(noise4(rsl+ditch*lprof),q11)/q8*2; //aliasing reduzieren +warp_75=`lava = nmod((rsl+noise/2)*rand_preset.x/2)+ditch*0; +warp_76=`lava *= lerp (lprof,1,q13); //# zusatzglow, blosse addition uebersteuert ditch +warp_77=`float layers = pow(tex2D (sampler_noise_hq,lprof+rsl/4),6)*.25*(1-ditch) ; +warp_78=`lava *= 1+layers*lavmod2; +warp_79=`//lava *= .2+saturate(.1/abs(length(sin(rsl.xy/8))-q22)); +warp_80=` +warp_81=`stone = (1-lava)*noise; +warp_82=`stone_lit = (lprof2-lprof); +warp_83=` +warp_84=`//------------------- masking ----------------------------------------- +warp_85=`lavmask = saturate (hordist-rsl.z/200) * (rsl.z >= 0); // # ! +warp_86=`ilavmask = saturate(1-lavmask); +warp_87=`cldmask = saturate(-16/rss.z-.1); +warp_88=`hormask = saturate (abs(rss.z)/64)*saturate(2-512/rsl.z); +warp_89=`hormask = saturate (1-8*abs(uv1.y-.04))/q29; +warp_90=`flashmask = saturate(hormask*4-2*(1+rand_frame)) ; +warp_91=`cloud = (1-sprof)*cldmask*ilavmask; +warp_92=`float ncloud = saturate(1-5*cloud); +warp_93=` +warp_94=`float k1 = saturate(q15)+.01 ; //durch daytime ersetzen aber nicht negativ oder null# +warp_95=`float daylight = saturate(k1*(.2+q30)*3); +warp_96=` +warp_97=`float asym = (q30); +warp_98=`hor = (daylight/length((uv2-float2(q17,.1)))) ; +warp_99=`sky = ncloud*k1; +warp_100=` +warp_101=` +warp_102=`//----------------Planet---------------- +warp_103=`float2 rsk = (uv2 - planpos) ; +warp_104=`float2 dz1 = normalize(rsk); +warp_105=`float rad3 =12*length (rsk); +warp_106=`float2 uv4 = tan(rad3)*dz1; +warp_107=`float2 noise = abs(tex2D (sampler_noise_hq,uv4/2)-.5); +warp_108=`float mask3 = saturate(32-22*rad3); +warp_109=`float2 Planet = (uv4*(1+noise.x))*mask3; +warp_110=` +warp_111=` +warp_112=`//----------------- colour mixing starts here---fuck-------- +warp_113=`//---------------- skylight first----------------- +warp_114=`float3 col_hor = (1+slow_roam_cos)/2; +warp_115=`ret1 = hor*col_hor; +warp_116=`ret1 += sun*ncloud; +warp_117=`ret1 *= ilavmask; +warp_118=` +warp_119=`//------------ clouds ---------------------- +warp_120=`float3 shine = lavcol(.1+q13)+.1; +warp_121=`//ret1 += shine*cloud/2 + daylight*cloud*(1+col_hor)/4;// bedenke +cloud tagsueber +warp_122=`ret1 += col_hor*(cloud)*daylight*(1-q10) + shine*(cloud); +warp_123=` +warp_124=`//----------------lava / stone ----------------- +warp_125=`ret1 += lavcol(saturate(lava-daylight*(1-ditch))) * lavmask ; +warp_126=`ret1 += stone *lavmask*(shine+.5*daylight); +warp_127=`ret1 += (.5+stone)*(1-ditch)*stone_lit*lavmask*saturate(k1*4)*(1+col_hor)/2; +warp_128=` +warp_129=`//--------------------flash------------------ +warp_130=`float fl = 0;//flashmask*flash(uv1+rand_frame/2-q4+hq_n(float3(8*uv1,q21))*.02); +warp_131=`fl += 8*saturate(stone)*lavmask; +warp_132=`fl += 4*saturate(1-sprof)*cldmask; +warp_133=`ret1 += fl*float3(.7,.4,1)*q21; +warp_134=` +warp_135=`ret1.b += lavmask*saturate(-q15)*saturate(-q13*2)*(uv1.y); +warp_136=` +warp_137=` +warp_138=`ret1 = ret1 + ilavmask*clamp(-1+1*dot(Planet,normalize(sunpos-planpos)),-.1,4) +warp_139=` *mask3/2*ncloud*(1-daylight); +warp_140=`//---------------- fog ------------------------------------ +warp_141=`float3 fogcol = lerp(shine,1,daylight); +warp_142=`ret1 = lerp(ret1,1*fogcol,hormask*q12); // what the# +warp_143=` +warp_144=`k1 = (q29-1)/6; +warp_145=`//ret1 = lerp(GetPixel(uv_orig)*.7,ret1,1-k1); +warp_146=`ret = 1-exp(-ret1*2); //finally ! +warp_147=`//ret = hormask; +warp_148=`} +warp_149=` +warp_150=`//written by martin +warp_151=`//END +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//uv = (uv-.5) * aspect.xy + .5; +comp_5=` +comp_6=` +comp_7=`float2 hor = float2 (texsize.z,0)*2; +comp_8=`float2 ver = float2 (0,texsize.w)*2; +comp_9=`float dx = GetBlur1 (uv-hor) - GetBlur1 (uv+hor); +comp_10=`float dy = GetBlur1 (uv-ver) - GetBlur1 (uv+ver); +comp_11=`float2 dz = float2 (dx,dy)*0.5; +comp_12=` +comp_13=` +comp_14=` +comp_15=`float3 crisp = tex2D(sampler_main, uv + dz) * +comp_16=` tex2D(sampler_main, 1-uv - dz); +comp_17=`float3 blur = GetBlur1(frac(uv + dz)); +comp_18=` +comp_19=`float2 uv1 = uv-.5 + dz/4; +comp_20=`float2 uv2 = uv1*0+.2*float2 (cos(uv1*4+time));; +comp_21=`float3 dots = saturate(.01/(length(uv2))) * float3 (1,1,1); +comp_22=` +comp_23=` +comp_24=`ret = (crisp + blur*2) + q21*dots * (1-blur); +comp_25=`ret *= .7 ; +comp_26=`} diff --git a/bad_presets/presets_tryptonaut/martin - volcano.milk b/bad_presets/presets_tryptonaut/martin - volcano.milk new file mode 100755 index 0000000000..4c7d15bd3c --- /dev/null +++ b/bad_presets/presets_tryptonaut/martin - volcano.milk @@ -0,0 +1,428 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.195131 +fWaveScale=2.540833 +fWaveSmoothing=0.810000 +fWaveParam=0.140000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.050000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=256 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=x0 = rand(100)/100; +wave_0_per_point2=y0 = rand(100)/100; +wave_0_per_point3= +wave_0_per_point4=//x0 = .5; y0 = .5; +wave_0_per_point5= +wave_0_per_point6=k1 = int(100.0*sample); +wave_0_per_point7=k2 = int(100.0*sample+1); +wave_0_per_point8=k1 = k1%2; +wave_0_per_point9=f1 = rand(100)/200-.25; +wave_0_per_point10=f2 = rand(100)/200-.25; +wave_0_per_point11= +wave_0_per_point12=x = x0 + k1* f1;; +wave_0_per_point13=y = y0 + k1* f2; +wave_0_per_point14=a = k2%2 /32 * abs(q5); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=18 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.442610 +shapecode_0_ang=1.570797 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.331050 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=0.560000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=trel = time + bass_att/5; +shape_0_per_frame2=x = .5 + .2*sin(trel); +shape_0_per_frame3=y = .5 + .2*cos(trel); +shape_0_per_frame4= +shape_0_per_frame5=x = .5; y = .5; +shape_0_per_frame6=b = .4; +shape_0_per_frame7=r = .4 ; +shape_0_per_frame8=g = .8; +shape_0_per_frame9= +shape_0_per_frame10=a = min(bass_att/25,0.05) + .05; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.476928 +shapecode_1_ang=1.130974 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.023150 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.970000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.810000 +shape_1_per_frame1=ang = time; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=vol = bass + mid + treb; +per_frame_2=vol_ = .9*vol_+.1*vol; +per_frame_3= +per_frame_4= +per_frame_5=k1 = above (vol, vol_*1.3); +per_frame_6=k2 = k2*.9 + 0.1*k1; +per_frame_7=k3 = k3*.9 + 0.1*k2; +per_frame_8= +per_frame_9=q10 = k2; +per_frame_10=q11 = k3; +per_frame_11=q12 = vol_; +per_frame_12= +per_frame_13=dec_med = pow (0.9, 30/fps); +per_frame_14=dec_slow = pow (0.99, 30/fps); +per_frame_15=beat = max (max (bass, mid), treb); +per_frame_16=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_17=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_18=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_19=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_20=index = (index + is_beat) %8; +per_frame_21= +per_frame_22=q20 = avg; +per_frame_23=q21 = beat; +per_frame_24=q22 = peak; +per_frame_25=q23 = index; +per_frame_26=q24 = is_beat; +per_frame_27=q26 = bass + mid + treb; +per_frame_28= +per_frame_29=k1 = is_beat*equal(index,0); +per_frame_30=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_31=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_32=rott = p2 * 3.1416/2; +per_frame_33=q27 = index + 1; +per_frame_34= +per_frame_35=q1 = cos(rott); +per_frame_36=q2 = sin(rott); +per_frame_37=q3 = -q2; +per_frame_38=q4 = q1; +per_frame_39= +per_frame_40=trel = time/8; +per_frame_41=q5 = cos(trel); +per_frame_42=q6 = sin(trel); +per_frame_43=q7 = -q6; +per_frame_44=q8 = q5; +per_frame_45=q9 = sin(time/13)+2; +per_frame_46= +per_frame_47= +per_frame_48=q32 = pow(0.99, 30/fps); //fade +per_pixel_1=p1 = sin (time/7); +per_pixel_2=p2 = cos (time/3); +per_pixel_3=p3 = 1+(cos (time/6)); +per_pixel_4=p4 = .5*cos (time/4.5); +per_pixel_5= +per_pixel_6=dx = 0.004*p1*rad; +per_pixel_7=dy = 0.004*p2*rad ; +per_pixel_8= +per_pixel_9=zoom = 1 + pow(rad,p4)*p3/50; +per_pixel_10=rot = 0; +warp_1=` +warp_2=`shader_body { +warp_3=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_4=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5); +warp_5=` +warp_6=`float3 noise1 = lum(tex2D(sampler_noise_lq, +warp_7=` corr*uv*4+ rand_frame)); +warp_8=` +warp_9=` +warp_10=`float2 hor = float2 (.003,0); +warp_11=`float2 ver = float2 (0,.003); +warp_12=` +warp_13=`float f0 = 1; +warp_14=`float dx = f0*lum(tex2D(sampler_main,uv+hor) +warp_15=` - tex2D(sampler_main,uv-hor)); +warp_16=`float dy = f0*lum(tex2D(sampler_main,uv+ver) +warp_17=` - tex2D(sampler_main,uv-ver)); +warp_18=` +warp_19=`double2 zz = float2(dx,dy); +warp_20=`float trel = time/3; +warp_21=`//zz = mul(zz,float2x2(_qb)); +warp_22=` +warp_23=`double3 crisp = tex2D(sampler_main,uv+zz*.02); +warp_24=`crisp = pow(crisp,1) + .06*noise1 - length(zz)*.03 ; +warp_25=` +warp_26=`double3 blur = GetBlur1(uv); +warp_27=` +warp_28=`ret = -blur*.1+ crisp; +warp_29=` +warp_30=` ret *= q32 ; +warp_31=` ret -= 0.03; +warp_32=`} +comp_1=`shader_body { +comp_2=`//uv1 is rect. screen, center at (0;0) +comp_3=`float2 uv1 = (uv-0.5);// * aspect.xy; +comp_4=` +comp_5=`float2 hor = float2 (.002,0); +comp_6=`float2 ver = float2 (0,.002); +comp_7=` +comp_8=`float f0 = .7; +comp_9=`float dx = f0*lum(tex2D(sampler_main,uv+hor) +comp_10=` - tex2D(sampler_main,uv-hor)); +comp_11=`float dy = f0*lum(tex2D(sampler_main,uv+ver) +comp_12=` - tex2D(sampler_main,uv-ver)); +comp_13=` +comp_14=`float2 dz = float2 (dx,dy); +comp_15=`dz -= lum(GetPixel(uv)); +comp_16=` +comp_17=`float2 rs1 = mul(16*uv1,float2x2(_qb))+time/8; +comp_18=` +comp_19=`float3 canv1 = tex2D(sampler_main, (uv-.5)*.95+.5); +comp_20=` +comp_21=`float scale = 100; +comp_22=`rs1 = rs1 + dz*scale*.2; +comp_23=` +comp_24=`float lava = tex2D (sampler_noise_hq,rs1/scale).x; +comp_25=`lava = saturate(-q9*abs (lava) + 1); +comp_26=`float3 lay1 = saturate(float3 (lava,lava*(lava-0.55)*2,(lava-1)*16)); +comp_27=` +comp_28=`ret = .6*lum(canv1-.05)*float3 (1,1,1) + lay1; +comp_29=`} diff --git a/configure-ndk b/configure-ndk new file mode 100755 index 0000000000..521df83d76 --- /dev/null +++ b/configure-ndk @@ -0,0 +1,25 @@ +#!/bin/bash + +if [ -z ${NDK+x} ]; then + export NDK=${HOME}/Android/Sdk/ndk-bundle; +fi + +export HOST_TAG=linux-x86_64 +export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG +export TARGET=arm-linux-androideabi +export AR=$TOOLCHAIN/bin/$TARGET-ar +export AS=$TOOLCHAIN/bin/$TARGET-as +export LD=$TOOLCHAIN/bin/$TARGET-ld +export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib +export STRIP=$TOOLCHAIN/bin/$TARGET-strip +export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi19-clang +export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi19-clang++ +export LIBS_NDK=$NDK/sources/third_party/vulkan/src/libs/ +export CPPFLAGS="-march=armv7-a -I$LIBS_NDK -fPIC" +export GL_LIBS="-lGLESv3 -lEGL" + +./configure --host arm-linux-androideabi \ + --enable-gles --disable-static --disable-sdl --disable-qt \ + --prefix=`realpath src/projectm-android/app/jniLibs` \ + --libdir='${exec_prefix}/armeabi-v7a' \ + --datarootdir=`realpath src/projectm-android/app/src/main/assets` diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000000..79423062d2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,258 @@ +AC_INIT([projectM], [3.1.1-rc6], [mischa@mvstg.biz], [projectM], [https://github.com/projectM-visualizer/projectm/]) +AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects tar-pax]) + +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) +LT_INIT + +# Check if we should disable rpath. +# +# For advanced users: In certain configurations, the rpath attributes +# added by libtool cause problems as rpath will be preferred over +# LD_LIBRARY_PATH. This does not seem to be a problem with +# clang. When using --disable-rpath you will likely need to set +# LD_LIBRARY_PATH if you are using libraries in non-system locations. +# YMMV. +# + +DISABLE_RPATH + +AC_PROG_CXX +AC_LANG(C++) + +AC_CONFIG_MACRO_DIRS([m4 m4/autoconf-archive]) + +dnl emscripten +AC_ARG_ENABLE([emscripten], +AS_HELP_STRING([--enable-emscripten], [Build for web with emscripten]), +[], [enable_emscripten=no]) +AS_IF([test "x$enable_emscripten" = "xyes" || test "x$EMSCRIPTEN" = "xyes"], [ + dnl Set up emscripten + m4_include([m4/emscripten.m4]) + AC_DEFINE([EMSCRIPTEN], [1], [Define EMSCRIPTEN]) + enable_threading=no + enable_gles=yes + enable_sdl=yes +], [ + dnl Running in a normal OS (not emscripten) + AX_CHECK_GL + + # check OS + AC_CANONICAL_HOST + AC_MSG_CHECKING(Freedom) + case $host_os in + darwin*) + # OSX needs CoreFoundation + AC_MSG_RESULT(Apple hoarderware detected) + LIBS="$LIBS -framework CoreFoundation" + ;; + linux*) + # limux needs dl + AC_MSG_RESULT(GNU/LINUX detected) + LIBS="$LIBS -ldl" + ;; + esac +]) + + +AC_CHECK_LIB(c, dlopen, LIBDL="", AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")) + +AC_CHECK_FUNCS_ONCE([aligned_alloc posix_memalign]) + +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([ + Makefile + src/Makefile + src/libprojectM/Makefile + src/libprojectM/Renderer/Makefile + src/libprojectM/NativePresetFactory/Makefile + src/libprojectM/MilkdropPresetFactory/Makefile + src/libprojectM/libprojectM.pc + src/NativePresets/Makefile + src/projectM-sdl/Makefile + src/projectM-emscripten/Makefile + src/projectM-qt/Makefile + src/projectM-pulseaudio/Makefile + src/projectM-jack/Makefile + src/projectM-test/Makefile +]) + + +# SDL +AC_ARG_ENABLE([sdl], AS_HELP_STRING([--enable-sdl], [Build SDL2 application]), [], [enable_sdl=check]) +AS_IF([test "$enable_sdl" != "no"], [ + PKG_CHECK_MODULES([SDL], [sdl2], [ + m4_include([m4/sdl2.m4]) + SDL_VERSION="2.0.5" + AS_IF([test "$TRAVIS"], [SDL_VERSION=2.0.2]) # travis has old SDL, we don't care + AS_IF([test "$EMSCRIPTEN"], [SDL_VERSION=2.0.0]) # emscripten has old SDL, we don't care + + # Check for libSDL >= $SDL_VERSION + AM_PATH_SDL2($SDL_VERSION, + [enable_sdl=yes], + [AS_IF([test "$enable_sdl" = "yes"], AC_MSG_ERROR([*** SDL version >= $SDL_VERSION not found!])); enable_sdl=no]) + ], + [ + # not found + AS_IF([test "$enable_sdl" = "yes"], AC_MSG_ERROR([*** libsdl2 not found!])) + enable_sdl=no + ]) +]) + + +# glm +AS_IF([test "x$enable_emscripten" != "xyes"], [ + AC_CHECK_HEADER([glm/glm.hpp],, AC_MSG_ERROR(libglm is required.)) +]) + + +# Threading +AC_ARG_ENABLE([threading], +AS_HELP_STRING([--enable-threading], [multhreading]), +[], [enable_threading=yes]) +AS_IF([test "x$enable_threading" = "xyes" && ! test "$EMSCRIPTEN"], [ + m4_include([m4/autoconf-archive/ax_pthread.m4]) + AX_PTHREAD([ + AC_DEFINE([USE_THREADS], [1], [Define USE_THREADS]) + LIBS="$LIBS $PTHREAD_LIBS $PTHREAD_CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + echo "LIBS=$LIBS" + ], [ + AC_MSG_ERROR([pthreads not found]) + ]) +]) + +AC_ARG_ENABLE([gles], + AS_HELP_STRING([--enable-gles], [OpenGL ES support]), + [], [enable_gles=no]) + AS_IF([test "x$enable_gles" = "xyes"], [ + AC_DEFINE([USE_GLES], [1], [Define USE_GLES]) +]) + +dnl LLVM +dnl unfortuately AX_LLVM macro seems to be out of date, so we're going to rely on the user to make sure LLVM is installed correctly +AC_ARG_ENABLE([llvm], + AS_HELP_STRING([--enable-llvm],[Support for JIT using LLVM]), + [], [enable_llvm=no]) +AS_IF([test x"$enable_llvm" = "xyes"], [ + AC_DEFINE([HAVE_LLVM], [1], [Define HAVE_LLVM]) + CFLAGS="$CFLAGS -I$(llvm-config --includedir)" + CXXFLAGS="$CXXFLAGS -I$(llvm-config --includedir)" + LIBS="$LIBS $(llvm-config --libs)" + LDFLAGS="$LDFLAGS $(llvm-config --ldflags)" +]) + +dnl from https://stackoverflow.com/questions/30897170/ac-subst-does-not-expand-variable answer: https://stackoverflow.com/a/30960268 +dnl ptomato https://stackoverflow.com/users/172999/ptomato +AC_SUBST([PACKAGE]) +AC_PROG_SED +AC_CONFIG_FILES([src/libprojectM/config.inp.in]) + +AC_PREFIX_DEFAULT([/usr/local]) + +AC_PROG_MKDIR_P + +AS_IF([grep android <<< ${host}], [], + [AX_CHECK_COMPILE_FLAG([-stdlib=libc++], [ + CXXFLAGS="$CXXFLAGS -stdlib=libc++"]) +]) + +AX_CHECK_COMPILE_FLAG([-std=c++11], [ + CXXFLAGS="$CXXFLAGS -std=c++11"]) + +# Qt5 +AC_ARG_ENABLE([qt], AS_HELP_STRING([--enable-qt], [Enable Qt: needed for pulseaudio and jack GUIs]), [], [enable_qt=check]) +AS_IF([test "$enable_qt" != "no"], + [ + AX_HAVE_QT # m4/qt.m4 + + AS_IF([test "$have_qt" = "yes"], [ + # we have at least qt5 if $have_qt is true + enable_qt=yes + export QT_SELECT=qt5 + ], + [AS_IF([test "$enable_qt" = "yes"], + [AC_MSG_ERROR(["Qt5 not found"])], + [enable_qt=no])] +)]) + + +# Pulseaudio +AC_ARG_ENABLE([pulseaudio], AS_HELP_STRING([--enable-pulseaudio], [Build Pulseaudio]), [], [enable_pulseaudio=check]) +AS_IF([test "$enable_pulseaudio" != "no"], + [PKG_CHECK_MODULES([libpulse], + [libpulse], + [ + # still need qt + AS_IF([test "$enable_qt" = "yes"], + [enable_pulseaudio=yes], + [enable_pulseaudio="no (Qt required)"]) + ], + [AS_IF([test "$enable_pulseaudio" = "yes"], + [AC_MSG_ERROR([libpulse required, but not found.])], + [enable_pulseaudio=no])])]) + + +# Jack +AC_ARG_ENABLE([jack], AS_HELP_STRING([--enable-jack], [Build Jack]), [], [enable_jack=check]) +AS_IF([test "$enable_jack" != "no"], + [PKG_CHECK_MODULES([jack], + [jack], + [ + # still need qt + AS_IF([test "$enable_qt" = "yes"], + [enable_jack=yes], + [enable_jack="no (Qt required)"]) + ], + [AS_IF([test "$enable_jack" = "yes"], + [AC_MSG_ERROR([jack required, but not found.])], + [enable_jack=no])])]) + + +AM_CONDITIONAL([ENABLE_SDL], [test "x$enable_sdl" = "xyes"]) +AM_CONDITIONAL([ENABLE_QT], [test "x$enable_qt" = "xyes"]) +AM_CONDITIONAL([ENABLE_JACK], [test "x$enable_jack" = "xyes"]) +AM_CONDITIONAL([ENABLE_PULSEAUDIO], [test "x$enable_pulseaudio" = "xyes"]) +AM_CONDITIONAL([ENABLE_EMSCRIPTEN], [test "x$enable_emscripten" = "xyes"]) + + +my_CFLAGS="-Wall -Wchar-subscripts -Wformat-security -Wpointer-arith -Wshadow -Wsign-compare -Wtype-limits " +#my_CFLAGS+="-fsanitize=address -fno-omit-frame-pointer " +my_CFLAGS+='-DDATADIR_PATH=\""$(pkgdatadir)"\" ' +my_CFLAGS+='-I$(top_srcdir)/vendor ' +AC_SUBST([my_CFLAGS]) + + + +AC_OUTPUT + +AC_MSG_RESULT([ +projectM v$VERSION +===== + +prefix: ${prefix} +sysconfdir: ${sysconfdir} +libdir: ${libdir} +includedir: ${includedir} + +compiler: ${CC} +cflags: ${CFLAGS} ${my_CFLAGS} +cxxflags: ${CXXFLAGS} +libs: ${LIBS} +ldflags: ${LDFLAGS} + +- - - + +Applications: +===== + +libprojectM: yes +Threading: ${enable_threading} +SDL: ${enable_sdl} +Qt: ${enable_qt} +Pulseaudio: ${enable_pulseaudio} +Jack: ${enable_jack} +OpenGLES: ${enable_gles} +Emscripten: ${enable_emscripten} +llvm: ${enable_llvm} +]) diff --git a/docs/projectM.dox b/docs/projectM.dox deleted file mode 100755 index 9dc925e750..0000000000 --- a/docs/projectM.dox +++ /dev/null @@ -1,1218 +0,0 @@ -# Doxyfile 1.4.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = projectM - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = c:/tmp/projectM-1.00/src/doxygen/ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, -# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, -# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, -# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, -# Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -USE_WINDOWS_ENCODING = YES - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. - -SHOW_DIRECTORIES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the progam writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = c:/tmp/projectM-1.00/src/libprojectM/ - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that a graph may be further truncated if the graph's -# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH -# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), -# the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/fonts/CVS/Entries b/fonts/CVS/Entries deleted file mode 100755 index 7db7a581ae..0000000000 --- a/fonts/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/arial1.glf/1.1.1.1/Mon Oct 4 12:55:59 2004/-kb/ -/courier1.glf/1.1.1.1/Mon Oct 4 12:55:59 2004/-kb/ -/times_new1.glf/1.1.1.1/Mon Oct 4 12:55:59 2004/-kb/ -D diff --git a/fonts/CVS/Repository b/fonts/CVS/Repository deleted file mode 100755 index 19efa35ad3..0000000000 --- a/fonts/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/fonts diff --git a/fonts/CVS/Root b/fonts/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/fonts/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/fonts/Vera.ttf b/fonts/Vera.ttf old mode 100755 new mode 100644 diff --git a/fonts/VeraMono.ttf b/fonts/VeraMono.ttf old mode 100755 new mode 100644 diff --git a/lic.c b/lic.c deleted file mode 100755 index c99855e147..0000000000 --- a/lic.c +++ /dev/null @@ -1,20 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ diff --git a/lic.txt b/lic.txt deleted file mode 100755 index 64b9c93fdd..0000000000 --- a/lic.txt +++ /dev/null @@ -1,18 +0,0 @@ - -projectM -- Milkdrop-esque visualisation SDK -Copyright (C)2003-2004 projectM Team - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -See 'LICENSE.txt' included within this release diff --git a/m4/autoconf-archive/ax_absolute_header.m4 b/m4/autoconf-archive/ax_absolute_header.m4 new file mode 100755 index 0000000000..a79a000936 --- /dev/null +++ b/m4/autoconf-archive/ax_absolute_header.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_absolute_header.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ABSOLUTE_HEADER(HEADER1 HEADER2 ...) +# +# DESCRIPTION +# +# Find the absolute name of a header file, assuming the header exists. If +# the header were sys/inttypes.h, this macro would define +# ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of +# sys/inttypes.h in config.h (e.g. `#define ABSOLUTE_SYS_INTTYPES_H +# "///usr/include/sys/inttypes.h"'). The three "///" are to pacify Sun C +# 5.8, which otherwise would say "warning: #include of /usr/include/... +# may be non-portable". Use `""', not `<>', so that the /// cannot be +# confused with a C99 comment. +# +# LICENSE +# +# Copyright (c) 2009 Derek Price +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Derek Price. +dnl Modified by Rhys Ulerich to use AC_CHECK_HEADERS instead of _ONCE + +AU_ALIAS([GL_TRILINOS_ABSOLUTE_HEADER], [AX_ABSOLUTE_HEADER]) +AC_DEFUN([AX_ABSOLUTE_HEADER], +[AC_LANG_PREPROC_REQUIRE()dnl +AC_FOREACH([gl_HEADER_NAME], [$1], + [AS_VAR_PUSHDEF([gl_absolute_header], + [gl_cv_absolute_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl + AC_CACHE_CHECK([absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], + m4_quote(m4_defn([gl_absolute_header])), + [AS_VAR_PUSHDEF([ac_header_exists], + [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl + AC_CHECK_HEADERS(m4_quote(m4_defn([gl_HEADER_NAME])))dnl + if test AS_VAR_GET(ac_header_exists) = yes; then + AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]])]) +dnl eval is necessary to expand ac_cpp. +dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. + AS_VAR_SET(gl_absolute_header, +[`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | +sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ + s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# + s#^/[^/]#//&# + p + q +}'`]) + fi + AS_VAR_POPDEF([ac_header_exists])dnl + ])dnl + AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_quote(m4_defn([gl_HEADER_NAME]))), + ["AS_VAR_GET(gl_absolute_header)"], + [Define this to an absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>.]) + AS_VAR_POPDEF([gl_absolute_header])dnl +])dnl +])# AX_ABSOLUTE_HEADER diff --git a/m4/autoconf-archive/ax_ac_append_to_file.m4 b/m4/autoconf-archive/ax_ac_append_to_file.m4 new file mode 100755 index 0000000000..023a647291 --- /dev/null +++ b/m4/autoconf-archive/ax_ac_append_to_file.m4 @@ -0,0 +1,32 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ac_append_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AC_APPEND_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Appends the specified data to the specified Autoconf is run. If you want +# to append to a file when configure is run use AX_APPEND_TO_FILE instead. +# +# LICENSE +# +# Copyright (c) 2009 Allan Caffee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_AC_APPEND_TO_FILE],[ +AC_REQUIRE([AX_FILE_ESCAPES]) +m4_esyscmd( +AX_FILE_ESCAPES +[ +printf "$2" >> "$1" +]) +]) diff --git a/m4/autoconf-archive/ax_ac_print_to_file.m4 b/m4/autoconf-archive/ax_ac_print_to_file.m4 new file mode 100755 index 0000000000..f40c089b01 --- /dev/null +++ b/m4/autoconf-archive/ax_ac_print_to_file.m4 @@ -0,0 +1,32 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ac_print_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AC_PRINT_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Writes the specified data to the specified file when Autoconf is run. If +# you want to print to a file when configure is run use AX_PRINT_TO_FILE +# instead. +# +# LICENSE +# +# Copyright (c) 2009 Allan Caffee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_AC_PRINT_TO_FILE],[ +m4_esyscmd( +AC_REQUIRE([AX_FILE_ESCAPES]) +[ +printf "$2" > "$1" +]) +]) diff --git a/m4/autoconf-archive/ax_add_am_macro.m4 b/m4/autoconf-archive/ax_add_am_macro.m4 new file mode 100755 index 0000000000..3962002bf0 --- /dev/null +++ b/m4/autoconf-archive/ax_add_am_macro.m4 @@ -0,0 +1,29 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_am_macro.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ADD_AM_MACRO([RULE]) +# +# DESCRIPTION +# +# Adds the specified rule to $AMINCLUDE. This macro will only work +# properly with implementations of Make which allow include statements. +# See also AX_ADD_AM_MACRO_STATIC. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_ADD_AM_MACRO],[ + AC_REQUIRE([AX_AM_MACROS]) + AX_APPEND_TO_FILE([$AMINCLUDE],[$1]) +]) diff --git a/m4/autoconf-archive/ax_add_am_macro_static.m4 b/m4/autoconf-archive/ax_add_am_macro_static.m4 new file mode 100755 index 0000000000..6442d24b7c --- /dev/null +++ b/m4/autoconf-archive/ax_add_am_macro_static.m4 @@ -0,0 +1,28 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_am_macro_static.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ADD_AM_MACRO_STATIC([RULE]) +# +# DESCRIPTION +# +# Adds the specified rule to $AMINCLUDE. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# Copyright (c) 2009 Allan Caffee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_ADD_AM_MACRO_STATIC],[ + AC_REQUIRE([AX_AM_MACROS_STATIC]) + AX_AC_APPEND_TO_FILE(AMINCLUDE_STATIC,[$1]) +]) diff --git a/m4/autoconf-archive/ax_add_am_trilinos_makefile_export.m4 b/m4/autoconf-archive/ax_add_am_trilinos_makefile_export.m4 new file mode 100755 index 0000000000..f61e54e8c6 --- /dev/null +++ b/m4/autoconf-archive/ax_add_am_trilinos_makefile_export.m4 @@ -0,0 +1,50 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_add_am_trilinos_makefile_export.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT(EXPORT_SUFFIX [, ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks if a file named appears in the +# $TRILINOS_INCLUDE directory. If so, adds an include for it using the +# AX_AM_MACROS framework. +# +# If ACTION-IF-NOT-FOUND is not provided, configure fails. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT],[ +AC_REQUIRE([AX_TRILINOS_BASE]) +AC_REQUIRE([AX_AM_MACROS]) + +AC_CACHE_CHECK( + [for file ${TRILINOS_INCLUDE}/Makefile.export.$1], + [ax_cv_add_am_trilinos_makefile_export_]translit($1,[. ],[_])[_exists], + [[ax_cv_add_am_trilinos_makefile_export_]translit($1,[. ],[_])[_exists]=no + test -f "${TRILINOS_INCLUDE}/Makefile.export.$1" && dnl + [ax_cv_add_am_trilinos_makefile_export_]translit($1,[. ],[_])[_exists]=yes]) + +if test "${[ax_cv_add_am_trilinos_makefile_export_]translit($1,[. ],[_])[_exists]}" = "yes" +then +AX_ADD_AM_MACRO([ +include ${TRILINOS_INCLUDE}/Makefile.export.$1 +]) +else + ifelse([$2],,AC_MSG_ERROR([Could not find ${TRILINOS_INCLUDE}/Makefile.export.$1. Was Trilinos compiled with --enable-export-makefiles?]),[ + AC_MSG_WARN([Could not find ${TRILINOS_INCLUDE}/Makefile.export.$1. Was Trilinos compiled with --enable-export-makefiles?]) + $2]) +fi + +]) diff --git a/m4/autoconf-archive/ax_add_fortify_source.m4 b/m4/autoconf-archive/ax_add_fortify_source.m4 new file mode 100755 index 0000000000..1c36212e75 --- /dev/null +++ b/m4/autoconf-archive/ax_add_fortify_source.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ADD_FORTIFY_SOURCE +# +# DESCRIPTION +# +# Check whether -D_FORTIFY_SOURCE=2 can be added to CPPFLAGS without macro +# redefinition warnings. Some distributions (such as Gentoo Linux) enable +# _FORTIFY_SOURCE globally in their compilers, leading to unnecessary +# warnings in the form of +# +# :0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] +# : note: this is the location of the previous definition +# +# which is a problem if -Werror is enabled. This macro checks whether +# _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2 +# to CPPFLAGS. +# +# LICENSE +# +# Copyright (c) 2017 David Seifert +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[ + AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS]) + AC_LINK_IFELSE([ + AC_LANG_SOURCE( + [[ + int main() { + #ifndef _FORTIFY_SOURCE + return 0; + #else + this_is_an_error; + #endif + } + ]] + )], [ + AC_MSG_RESULT([yes]) + CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" + ], [ + AC_MSG_RESULT([no]) + ]) +]) diff --git a/m4/autoconf-archive/ax_add_recursive_am_macro.m4 b/m4/autoconf-archive/ax_add_recursive_am_macro.m4 new file mode 100755 index 0000000000..d0079c7f19 --- /dev/null +++ b/m4/autoconf-archive/ax_add_recursive_am_macro.m4 @@ -0,0 +1,49 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_recursive_am_macro.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_ADD_RECURSIVE_AM_MACRO([TARGET],[RULE]) +# +# DESCRIPTION +# +# Adds the specified rule to $AMINCLUDE along with a TARGET-recursive rule +# that will call TARGET for the current directory and TARGET-am +# recursively for each subdirectory. See also +# AX_ADD_RECURSIVE_AM_MACRO_STATIC. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_ADD_RECURSIVE_AM_MACRO],[ + AX_ADD_AM_MACRO([ +$1-recursive: + @set fnord ${AX_DOLLAR}${AX_DOLLAR}MAKEFLAGS; amf=${AX_DOLLAR}${AX_DOLLAR}2; \\ + dot_seen=no; \\ + list='${AX_DOLLAR}(SUBDIRS)'; for subdir in ${AX_DOLLAR}${AX_DOLLAR}list; do \\ + echo \"Making $1 in ${AX_DOLLAR}${AX_DOLLAR}subdir\"; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}subdir\" = \".\"; then \\ + dot_seen=yes; \\ + local_target=\"$1-am\"; \\ + else \\ + local_target=\"$1\"; \\ + fi; \\ + (cd ${AX_DOLLAR}${AX_DOLLAR}subdir && ${AX_DOLLAR}(MAKE) ${AX_DOLLAR}(AM_MAKEFLAGS) ${AX_DOLLAR}${AX_DOLLAR}local_target) \\ + || case \"${AX_DOLLAR}${AX_DOLLAR}amf\" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ + done; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}dot_seen\" = \"no\"; then \\ + ${AX_DOLLAR}(MAKE) ${AX_DOLLAR}(AM_MAKEFLAGS) \"$1-am\" || exit 1; \\ + fi; test -z \"${AX_DOLLAR}${AX_DOLLAR}fail\" + +$2 +]) +]) diff --git a/m4/autoconf-archive/ax_add_recursive_am_macro_static.m4 b/m4/autoconf-archive/ax_add_recursive_am_macro_static.m4 new file mode 100755 index 0000000000..5222314611 --- /dev/null +++ b/m4/autoconf-archive/ax_add_recursive_am_macro_static.m4 @@ -0,0 +1,49 @@ +# ===================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_recursive_am_macro_static.html +# ===================================================================================== +# +# SYNOPSIS +# +# AX_ADD_RECURSIVE_AM_MACRO_STATIC([TARGET],[RULE]) +# +# DESCRIPTION +# +# Adds the specified rule to AMINCLUDE_STATIC along with a +# TARGET-recursive rule that will call TARGET for the current directory +# and TARGET-am recursively for each subdirectory. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# Copyright (c) 2009 Allan Caffee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_ADD_RECURSIVE_AM_MACRO_STATIC],[ + AX_ADD_AM_MACRO_STATIC([ +$1-recursive: + @set fnord ${AX_DOLLAR}${AX_DOLLAR}MAKEFLAGS; amf=${AX_DOLLAR}${AX_DOLLAR}2; \\ + dot_seen=no; \\ + list='${AX_DOLLAR}(SUBDIRS)'; for subdir in ${AX_DOLLAR}${AX_DOLLAR}list; do \\ + echo \"Making $1 in ${AX_DOLLAR}${AX_DOLLAR}subdir\"; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}subdir\" = \".\"; then \\ + dot_seen=yes; \\ + local_target=\"$1-am\"; \\ + else \\ + local_target=\"$1\"; \\ + fi; \\ + (cd ${AX_DOLLAR}${AX_DOLLAR}subdir && ${AX_DOLLAR}(MAKE) ${AX_DOLLAR}(AM_MAKEFLAGS) ${AX_DOLLAR}${AX_DOLLAR}local_target) \\ + || case \"${AX_DOLLAR}${AX_DOLLAR}amf\" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ + done; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}dot_seen\" = \"no\"; then \\ + ${AX_DOLLAR}(MAKE) ${AX_DOLLAR}(AM_MAKEFLAGS) \"$1-am\" || exit 1; \\ + fi; test -z \"${AX_DOLLAR}${AX_DOLLAR}fail\" + +$2 +]) +]) diff --git a/m4/autoconf-archive/ax_afs.m4 b/m4/autoconf-archive/ax_afs.m4 new file mode 100755 index 0000000000..5a46aa56a3 --- /dev/null +++ b/m4/autoconf-archive/ax_afs.m4 @@ -0,0 +1,120 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_afs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AFS +# +# DESCRIPTION +# +# This sets up the proper includes and libs needed for building programs +# that link with AFS. It adds a --with-afsdir option that lets you specify +# where the AFS includes and libs are (defaulting to /usr/afsws). +# +# It also adds the -I and -L options to CPPFLAGS and LDFLAGS +# +# It creates an AC_SUBST(AFSWS) that contains the directory being used. +# +# It checks for -lBSD, -lsocket and -lnsl since AFS needs those if they +# exist. It also adds -R/usr/ucblib -L/usr/ucblib -lucb if on Solaris. +# +# It sets VICE_ETC_PATH to be the directory where /usr/vice/etc lives, +# since AFS 3.4 uses a different define than AFS 3.5 does for that path. +# +# Finally, it defines AFS_int32 to be the in32 type needed. In older +# versions of afs it was 'int32', and in newer versions it's 'afs_int32'. +# +# LICENSE +# +# Copyright (c) 2008 Scott Grosch +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([SG_AFS], [AX_AFS]) +AC_DEFUN([AX_AFS], +[AC_ARG_WITH(afsdir, AS_HELP_STRING([--with-afsdir=DIR], + [Directory holding AFS includes/libs]), + ax_cv_with_afsdir=$withval) + AC_CACHE_CHECK([for location of AFS directory], + ax_cv_with_afsdir, ax_cv_with_afsdir=/usr/afsws) + +CPPFLAGS="-I${ax_cv_with_afsdir}/include $CPPFLAGS" +LDFLAGS="-L${ax_cv_with_afsdir}/lib -L${ax_cv_with_afsdir}/lib/afs $LDFLAGS" + +dnl Once we specify a directory, we try to link a test program. If the link +dnl works, we store the value of the directory in a cache variable. If not, +dnl we put _FAILED_ in the cache value. In this way we don't try to link +dnl the test program if our afsdir value was cached, as we know it works. +AC_MAX_CHECKING([whether the specified AFS dir looks valid]) +if test "x${ax_cv_afsdir_link_works:-set}" != "x$ax_cv_with_afsdir"; then + save_LIBS="$LIBS" + LIBS="$save_LIBS -lcmd" + AC_TRY_LINK([#include ], + [cmd_CreateAlias((struct cmd_syndesc *)0, "foo")], + ax_cv_afsdir_link_works=$ax_cv_with_afsdir, + ax_cv_afsdir_link_works=_FAILED_) + LIBS="$save_LIBS" + wasCached="" +else + wasCached="(cached)" +fi +if test "x$ax_cv_afsdir_link_works" = "x$ax_cv_with_afsdir"; then + AC_MAX_RESULT([${wasCached} yes]) +else + AC_MAX_RESULT([no]) + AC_MAX_ERROR([Unable to link test program....bad AFS dir specified?]) +fi + +dnl Much easier to use in XXX.in files +AFSWS=$ax_cv_with_afsdir +AC_SUBST(AFSWS) + +dnl Linking against AFS always needs these +AC_CHECK_LIB(BSD, signal) +AC_CHECK_LIB(socket, getservbyname) +AC_CHECK_LIB(nsl, gethostbyname) + +dnl On Solaris is just always needs the -lucb library from the compatibility +dnl area. I can't think of any other way to do this than just hardcode it. +AC_CANONICAL_HOST +case "$host" in +*-*-solaris*) + LDFLAGS="-L/usr/ucblib -R/usr/ucblib $LDFLAGS" + LIBS="-lucb $LIBS" + ;; +esac + +dnl And it always needs these libs added +LIBS="$LIBS -lacl -lvolser -lvldb -lprot -lkauth -lauth -lrxkad -lubik ${ax_cv_with_afsdir}/lib/afs/vlib.a -ldir ${ax_cv_with_afsdir}/lib/afs/util.a -lsys -lafsint -lrx -lsys -ldes -lcom_err -llwp -lcmd -laudit" + +dnl This really should be AC_CHECK_LIB() but that always fails for some reason +if test -f "${ax_cv_with_afsdir}/lib/afs/libaudit.a"; then + LIBS="$LIBS -laudit" +fi + +dnl If dirpath.h exists and has the value, use that. Otherwise don't +AC_CHECK_HEADERS(afs/dirpath.h, + [AC_DEFINE(VICE_ETC_PATH, AFSDIR_CLIENT_ETC_DIRPATH)], + [AC_DEFINE(VICE_ETC_PATH, AFSCONF_CLIENTNAME)]) + +dnl Find out if we should use afs_int32 or int32. They changed the +dnl type across AFS versions. +AC_CACHE_CHECK([for AFS int32 type], ac_cv_type_int32, +[AC_EGREP_CPP(dnl +changequote(<<,>>)dnl +<<(^|[^a-zA-Z_0-9])afs_int32[^a-zA-Z_0-9]>>dnl +changequote([,]), [#include +], ac_cv_type_int32=afs_int32, ac_cv_type_int32=int32)]) +AC_DEFINE_UNQUOTED(AFS_int32, $ac_cv_type_int32) + +AH_TEMPLATE([VICE_ETC_PATH], +[Define this to be the define used in the AFS header for /usr/vice/etc]) + +AH_TEMPLATE([AFS_int32], [Define this to be the type AFS uses for int32]) +])dnl diff --git a/m4/autoconf-archive/ax_am_jobserver.m4 b/m4/autoconf-archive/ax_am_jobserver.m4 new file mode 100755 index 0000000000..dfbcdbb2fa --- /dev/null +++ b/m4/autoconf-archive/ax_am_jobserver.m4 @@ -0,0 +1,55 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_am_jobserver.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AM_JOBSERVER([default_value]) +# +# DESCRIPTION +# +# Enables the use of make's jobserver for the purpose of parallel building +# by passing the -j option to make. +# +# The option --enable-jobserver is added to configure which can accept a +# yes, no, or an integer. The integer is the number of separate jobs to +# allow. If 'yes' is given, then the is assumed to be one more than the +# number of CPUs (determined through AX_COUNT_CPUS). If the value of no is +# given, then the jobserver is disabled. The default value is given by the +# first argument of the macro, or 'yes' if the argument is omitted. +# +# This macro makes use of AX_AM_MACROS, so you must add the following line +# +# @INC_AMINCLUDE@ +# +# to your Makefile.am files. +# +# LICENSE +# +# Copyright (c) 2008 Michael Paul Bailey +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_AM_JOBSERVER], [ + AC_REQUIRE([AX_COUNT_CPUS]) + AC_REQUIRE([AX_AM_MACROS]) + AC_ARG_ENABLE( jobserver, + [ --enable-jobserver@<:@=no/yes/@%:@@:>@ default=m4_ifval([$1],[$1],[yes]) + Enable up to @%:@ make jobs + yes: enable one more than CPU count + ],, [enable_jobserver=m4_ifval([$1],[$1],[yes])]) + if test "x$enable_jobserver" = "xyes"; then + enable_jobserver=$CPU_COUNT + ((enable_jobserver++)) + fi + m4_pattern_allow(AM_MAKEFLAGS) + if test "x$enable_jobserver" != "xno"; then + AC_MSG_NOTICE([added jobserver support to make for $enable_jobserver jobs]) + AX_ADD_AM_MACRO( AM_MAKEFLAGS += -j$enable_jobserver ) + fi +]) diff --git a/m4/autoconf-archive/ax_am_macros.m4 b/m4/autoconf-archive/ax_am_macros.m4 new file mode 100755 index 0000000000..1ce70830fb --- /dev/null +++ b/m4/autoconf-archive/ax_am_macros.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_am_macros.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AM_MACROS +# +# DESCRIPTION +# +# Adds support for macros that create Make rules. You must manually add +# the following line +# +# @INC_AMINCLUDE@ +# +# to your Makefile.in (or Makefile.am if you use Automake) files. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_AM_MACROS], +[ +AC_MSG_NOTICE([adding automake macro support]) +AMINCLUDE="aminclude.am" +AC_SUBST(AMINCLUDE) +AC_MSG_NOTICE([creating $AMINCLUDE]) +AMINCLUDE_TIME=`date` +AX_PRINT_TO_FILE([$AMINCLUDE],[[ +# generated automatically by configure from AX_AUTOMAKE_MACROS +# on $AMINCLUDE_TIME + +]]) + +INC_AMINCLUDE="include \$(top_builddir)/$AMINCLUDE" +AC_SUBST(INC_AMINCLUDE) +]) diff --git a/m4/autoconf-archive/ax_am_macros_static.m4 b/m4/autoconf-archive/ax_am_macros_static.m4 new file mode 100755 index 0000000000..c5bc0a465b --- /dev/null +++ b/m4/autoconf-archive/ax_am_macros_static.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_am_macros_static.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AM_MACROS_STATIC +# +# DESCRIPTION +# +# Adds support for macros that create Automake rules. You must manually +# add the following line +# +# include $(top_srcdir)/aminclude_static.am +# +# to your Makefile.am files. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# Copyright (c) 2009 Allan Caffee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AMINCLUDE_STATIC],[aminclude_static.am]) + +AC_DEFUN([AX_AM_MACROS_STATIC], +[ +AX_AC_PRINT_TO_FILE(AMINCLUDE_STATIC,[ +# ]AMINCLUDE_STATIC[ generated automatically by Autoconf +# from AX_AM_MACROS_STATIC on ]m4_esyscmd([date])[ +]) +]) diff --git a/m4/autoconf-archive/ax_am_override_var.m4 b/m4/autoconf-archive/ax_am_override_var.m4 new file mode 100755 index 0000000000..01d57697a0 --- /dev/null +++ b/m4/autoconf-archive/ax_am_override_var.m4 @@ -0,0 +1,155 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_am_override_var.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AM_OVERRIDE_VAR([varname1 varname ... ]) +# AX_AM_OVERRIDE_FINALIZE +# +# DESCRIPTION +# +# This autoconf macro generalizes the approach given in +# which +# moves user specified values for variable 'varname' given at configure +# time into the corresponding AM_${varname} variable and clears out +# 'varname', allowing further manipulation by the configure script so that +# target specific variables can be given specialized versions. 'varname +# may still be specified on the make command line and will be appended as +# usual. +# +# As an example usage, consider a project which might benefit from +# different compiler flags for different components. Typically this is +# done via target specific flags, e.g. +# +# libgtest_la_CXXFLAGS = \ +# -I $(top_srcdir)/tests \ +# -I $(top_builddir)/tests \ +# $(GTEST_CXXFLAGS) +# +# automake will automatically append $(CXXFLAGS) -- provided by the user +# -- to the build rule for libgtest_la. That might be problematic, as +# CXXFLAGS may contain compiler options which are inappropriate for +# libgtest_la. +# +# The approach laid out in the referenced mailing list message is to +# supply a base value for a variable during _configure_ time, during which +# it is possible to amend it for specific targets. The user may +# subsequently specify a value for the variable during _build_ time, which +# make will apply (via the standard automake rules) to all appropriate +# targets. +# +# For example, +# +# AX_AM_OVERRIDE_VAR([CXXFLAGS]) +# +# will store the value of CXXFLAGS specified at configure time into the +# AM_CXXFLAGS variable, AC_SUBST it, and clear CXXFLAGS. configure may +# then create a target specific set of flags based upon AM_CXXFLAGS, e.g. +# +# # googletest uses variadic macros, which g++ -pedantic-errors +# # is very unhappy about +# AC_SUBST([GTEST_CXXFLAGS], +# [`AS_ECHO_N(["$AM_CXXFLAGS"]) \ +# | sed s/-pedantic-errors/-pedantic/` +# ] +# ) +# +# which would be used in a Makefile.am as above. Since CXXFLAGS is +# cleared, the configure time value will not affect the build for +# libgtest_la. +# +# Prior to _any other command_ which may set ${varname}, call +# +# AX_AM_OVERRIDE_VAR([varname]) +# +# This will preserve the value (if any) passed to configure in +# AM_${varname} and AC_SUBST([AM_${varname}). You may pass a space +# separated list of variable names, or may call AX_AM_OVERRIDE_VAR +# multiple times for the same effect. +# +# If any subsequent configure commands set ${varname} and you wish to +# capture the resultant value into AM_${varname} in the case where +# ${varname} was _not_ provided at configure time, call +# +# AX_AM_OVERRIDE_FINALIZE +# +# after _all_ commands which might affect any of the variables specified +# in calls to AX_AM_OVERRIDE_VAR. This need be done only once, but +# repeated calls will not cause harm. +# +# There is a bit of trickery required to allow further manipulation of the +# AM_${varname} in a Makefile.am file. If AM_CFLAGS is used as is in a +# Makefile.am, e.g. +# +# libfoo_la_CFLAGS = $(AM_CFLAGS) +# +# then automake will emit code in Makefile.in which sets AM_CFLAGS from +# the configure'd value. +# +# If however, AM_CFLAGS is manipulated (i.e. appended to), you will have +# to explicitly arrange for the configure'd value to be substituted: +# +# AM_CFLAGS = @AM_CFLAGS@ +# AM_CFLAGS += -lfoo +# +# or else automake will complain about using += before =. +# +# LICENSE +# +# Copyright (c) 2013 Smithsonian Astrophysical Observatory +# Copyright (c) 2013 Diab Jerius +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([_AX_AM_OVERRIDE_INITIALIZE], +[ + m4_define([_mst_am_override_vars],[]) +]) + + +# _AX_AM_OVERRIDE_VAR(varname) +AC_DEFUN([_AX_AM_OVERRIDE_VAR], +[ + m4_define([_mst_am_override_vars], m4_defn([_mst_am_override_vars]) $1 ) + _mst_am_override_$1_set=false + + AS_IF( [test "${$1+set}" = set], + [AC_SUBST([AM_$1],["$$1"]) + $1= + _mst_am_override_$1_set=: + ] + ) +]) # _AX_AM_OVERRIDE_VAR + +# _AX_AM_OVERRIDE_FINALIZE(varname) +AC_DEFUN([_AX_AM_OVERRIDE_FINALIZE], +[ + AS_IF([$_mst_am_override_$1_set = :], + [], + [AC_SUBST([AM_$1],["$$1"]) + $1= + _mst_am_override_$1_set= + ] + ) + AC_SUBST($1) +]) # _AX_AM_OVERRIDE_FINALIZE + +AC_DEFUN([AX_AM_OVERRIDE_VAR], +[ + AC_REQUIRE([_AX_AM_OVERRIDE_INITIALIZE]) + m4_map_args_w([$1],[_AX_AM_OVERRIDE_VAR(],[)]) +])# AX_OVERRIDE_VAR + + +# AX_AM_OVERRIDE_FINALIZE +AC_DEFUN([AX_AM_OVERRIDE_FINALIZE], +[ + AC_REQUIRE([_AX_AM_OVERRIDE_INITIALIZE]) + m4_map_args_w(_mst_am_override_vars,[_AX_AM_OVERRIDE_FINALIZE(],[)]) +]) # AX_AM_OVERRIDE_FINALIZE diff --git a/m4/autoconf-archive/ax_append_compile_flags.m4 b/m4/autoconf-archive/ax_append_compile_flags.m4 new file mode 100755 index 0000000000..5b6f1af51d --- /dev/null +++ b/m4/autoconf-archive/ax_append_compile_flags.m4 @@ -0,0 +1,67 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# For every FLAG1, FLAG2 it is checked whether the compiler works with the +# flag. If it does, the flag is added FLAGS-VARIABLE +# +# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. +# CFLAGS) is used. During the check the flag is always added to the +# current language's flags. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: This macro depends on the AX_APPEND_FLAG and +# AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with +# AX_APPEND_LINK_FLAGS. +# +# LICENSE +# +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AC_DEFUN([AX_APPEND_COMPILE_FLAGS], +[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) +AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) +for flag in $1; do + AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3], [$4]) +done +])dnl AX_APPEND_COMPILE_FLAGS diff --git a/m4/autoconf-archive/ax_append_flag.m4 b/m4/autoconf-archive/ax_append_flag.m4 new file mode 100755 index 0000000000..e8c5312af6 --- /dev/null +++ b/m4/autoconf-archive/ax_append_flag.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) +# +# DESCRIPTION +# +# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space +# added in between. +# +# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. +# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains +# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly +# FLAG. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AC_DEFUN([AX_APPEND_FLAG], +[dnl +AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF +AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) +AS_VAR_SET_IF(FLAGS,[ + AS_CASE([" AS_VAR_GET(FLAGS) "], + [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], + [ + AS_VAR_APPEND(FLAGS,[" $1"]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) + ], + [ + AS_VAR_SET(FLAGS,[$1]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) +AS_VAR_POPDEF([FLAGS])dnl +])dnl AX_APPEND_FLAG diff --git a/m4/autoconf-archive/ax_append_link_flags.m4 b/m4/autoconf-archive/ax_append_link_flags.m4 new file mode 100755 index 0000000000..6f7f174560 --- /dev/null +++ b/m4/autoconf-archive/ax_append_link_flags.m4 @@ -0,0 +1,65 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_append_link_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_APPEND_LINK_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# For every FLAG1, FLAG2 it is checked whether the linker works with the +# flag. If it does, the flag is added FLAGS-VARIABLE +# +# If FLAGS-VARIABLE is not specified, the linker's flags (LDFLAGS) is +# used. During the check the flag is always added to the linker's flags. +# +# If EXTRA-FLAGS is defined, it is added to the linker's default flags +# when the check is done. The check is thus made with the flags: "LDFLAGS +# EXTRA-FLAGS FLAG". This can for example be used to force the linker to +# issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: This macro depends on the AX_APPEND_FLAG and AX_CHECK_LINK_FLAG. +# Please keep this macro in sync with AX_APPEND_COMPILE_FLAGS. +# +# LICENSE +# +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AC_DEFUN([AX_APPEND_LINK_FLAGS], +[AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) +AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) +for flag in $1; do + AX_CHECK_LINK_FLAG([$flag], [AX_APPEND_FLAG([$flag], [m4_default([$2], [LDFLAGS])])], [], [$3], [$4]) +done +])dnl AX_APPEND_LINK_FLAGS diff --git a/m4/autoconf-archive/ax_append_to_file.m4 b/m4/autoconf-archive/ax_append_to_file.m4 new file mode 100755 index 0000000000..29071a9783 --- /dev/null +++ b/m4/autoconf-archive/ax_append_to_file.m4 @@ -0,0 +1,27 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_append_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_APPEND_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Appends the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_APPEND_TO_FILE],[ +AC_REQUIRE([AX_FILE_ESCAPES]) +printf "$2" >> "$1" +]) diff --git a/m4/autoconf-archive/ax_arg_with_path_style.m4 b/m4/autoconf-archive/ax_arg_with_path_style.m4 new file mode 100755 index 0000000000..cd000654a0 --- /dev/null +++ b/m4/autoconf-archive/ax_arg_with_path_style.m4 @@ -0,0 +1,185 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_arg_with_path_style.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ARG_WITH_PATH_STYLE +# +# DESCRIPTION +# +# _AC_DEFINE(PATH_STYLE) describing the filesys interface. The value is +# numeric, where the basetype is encoded as 16 = dos/win, 32 = unix, 64 = +# url/www, 0 = other +# +# some extra semantics are described in other bits of the value, +# especially +# +# 1024 accepts "/" as a dir separator +# 2048 accepts ";" as a path separator +# 4096 accepts "," as a path separator +# +# the macro provides a configure' --with-path-style option that can be +# used with descriptive arg names. If not explicitly given, the $target_os +# will be checked to provide a sane default. Additional (lower) bits can +# be used by the user for some additional magic, higher bits are reserved +# for this macro. +# +# the mnemonic "strict" or "also" is used to instruct the code that +# additional separators shall be accepted but converted to the separator +# of the underlying pathstyle system. (or-512) +# +# example: --with-path-style=win,slash +# to make it accept ";" as pathsep, and +# both "/" and "\" as dirseps. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_ARG_WITH_PATH_STYLE], [AX_ARG_WITH_PATH_STYLE]) +AC_DEFUN([AX_ARG_WITH_PATH_STYLE], +[ + AC_ARG_WITH(path-style, +[ --with-path-style=[dos,unix,url,also,slash,comma], +[ac_with_path_style="$withval"], +[dnl + case "$target_os" in + *djgpp | *mingw32* | *emx*) ac_with_path_style="dos" ;; + *) case `eval echo $exec_prefix` in + *:*) ac_with_path_style="url" ;; + *) ac_with_path_style="posix" ;; + esac + ;; + esac +]) + ac_with_path_style__unx="0" + ac_with_path_style__dos="0" + ac_with_path_style__win="0" + ac_with_path_style__mac="0" + ac_with_path_style__def="0" + ac_with_path_style__use="0" + ac_with_path_style__slash="0" + ac_with_path_style__semic="0" + ac_with_path_style__comma="0" + ac_with_path_style__level="0" + + case ",$ac_with_path_style," in + *,unx,*|*,unix,*|*,bsd,*|*,posix,*) : + ac_with_path_style__unx="32" ;; + *) ac_with_path_style__unx="0" ;; + esac + case ",$ac_with_path_style," in + *,dos,*|*,win,*|*,windows,*) : + ac_with_path_style__dos="16" ;; + *) ac_with_path_style__dos="0" ;; + esac + case ",$ac_with_path_style," in + *,web,*|*,url,*|*,www,*) : + ac_with_path_style__url="64" ;; + *) ac_with_path_style__url="0" ;; + esac + case ",$ac_with_path_style," in + *,mac,*|*,macintosh,*|*,apple,*) : + ac_with_path_style__mac="128" ;; + *) ac_with_path_style__mac="0" ;; + esac + case ",$ac_with_path_style," in + *,def,*|*,define,*|*,special,*) : + ac_with_path_style__def="256" ;; + *) ac_with_path_style__def="0" ;; + esac + case ",$ac_with_path_style," in + *,also,*|*,strict,*|*,accept,*|*,convert,*) : + ac_with_path_style__use="512" ;; + *) ac_with_path_style__use="0" ;; + esac + case ",$ac_with_path_style," in + *,sl,*|*,slash,*|*,forwslash,*|*,slashsep,*) : + ac_with_path_style__slash="1024" ;; + *) ac_with_path_style__slash="0" ;; + esac + case ",$ac_with_path_style," in + *,sc,*|*,semi,*|*,semisep,*|*,semicolon,*|*,semicolonsep,*) : + ac_with_path_style__semic="2048" ;; + *) ac_with_path_style__semic="0" ;; + esac + case ",$ac_with_path_style," in + *,cm,*|*,comma,*|*,commasep,*) : + ac_with_path_style__comma="4096" ;; + *) ac_with_path_style__comma="0" ;; + esac + + if test "$ac_with_path_style__unx" != "0" ; then + ac_with_path_style__slash="1024" + fi + if test "$ac_with_path_style__dos" != "0" ; then + ac_with_path_style__semic="2048" + fi + if test "$ac_with_path_style__url" != "0" ; then + ac_with_path_style__slash="1024" + ac_with_path_style__semic="2048" + fi + + case ",$ac_with_path_style," in + *,7,*|*,all,*|*,muchmore,*) + ac_with_path_style__level="7" ;; + *,6,*|*,extra,*|*,manymore,*) + ac_with_path_style__level="6" ;; + *,5,*|*,much,*) + ac_with_path_style__level="5" ;; + *,4,*|*,many,*) + ac_with_path_style__level="4" ;; + *,3,*|*,plus,*|*,somemore,*) + ac_with_path_style__level="3" ;; + *,2,*|*,more,*) + ac_with_path_style__level="2" ;; + *,1,*|*,some,*) + ac_with_path_style__level="1" ;; + *) + ac_with_path_style__level="0" ;; + esac + + PATH_STYLE=`expr \ + $ac_with_path_style__unx '+' \ + $ac_with_path_style__dos '+' \ + $ac_with_path_style__win '+' \ + $ac_with_path_style__mac '+' \ + $ac_with_path_style__def '+' \ + $ac_with_path_style__use '+' \ + $ac_with_path_style__slash '+' \ + $ac_with_path_style__semic '+' \ + $ac_with_path_style__comma '+' \ + $ac_with_path_style__level ` + + AC_DEFINE_UNQUOTED(PATH_STYLE,$PATH_STYLE, + [ the OS pathstyle, 16=dos 32=unx 64=url 1024=slash 2048=semic 4096=comma ]) +]) diff --git a/m4/autoconf-archive/ax_asm_inline.m4 b/m4/autoconf-archive/ax_asm_inline.m4 new file mode 100755 index 0000000000..76d5bf3d3f --- /dev/null +++ b/m4/autoconf-archive/ax_asm_inline.m4 @@ -0,0 +1,57 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_asm_inline.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ASM_INLINE() +# +# DESCRIPTION +# +# Tests for C compiler support of inline assembly instructions. If inline +# assembly is supported, this macro #defines ASM_INLINE to be the +# appropriate keyword. +# +# LICENSE +# +# Copyright (c) 2008 Alan Woodland +# Copyright (c) 2009 Rhys Ulerich +# Copyright (c) 2017 Reini Urban +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_ASM_INLINE], [ + AC_LANG_PUSH([C]) + AC_MSG_CHECKING(for inline assembly style) + AC_CACHE_VAL(ac_cv_asm_inline, [ + ax_asm_inline_keywords="__asm__ __asm none" + for ax_asm_inline_keyword in $ax_asm_inline_keywords; do + case $ax_asm_inline_keyword in + none) ac_cv_asm_inline=none ; break ;; + *) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [#include + static void + foo(void) { + ] $ax_asm_inline_keyword [(""); + exit(1); + }], + [])], + [ac_cv_asm_inline=$ax_asm_inline_keyword ; break], + ac_cv_asm_inline=none + ) + esac + done +]) + + if test "$ac_cv_asm_inline" != "none"; then + AC_DEFINE_UNQUOTED([ASM_INLINE], $ac_cv_asm_inline, [If the compiler supports inline assembly define it to that keyword here]) + fi + AC_MSG_RESULT($ac_cv_asm_inline) + AC_LANG_POP([C]) +]) diff --git a/m4/autoconf-archive/ax_at_check_pattern.m4 b/m4/autoconf-archive/ax_at_check_pattern.m4 new file mode 100755 index 0000000000..35f049723a --- /dev/null +++ b/m4/autoconf-archive/ax_at_check_pattern.m4 @@ -0,0 +1,130 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_at_check_pattern.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AT_CHECK_PATTERN(COMMANDS, [STATUS], [STDOUT-RE], [STDERR-RE], [RUN-IF-FAIL], [RUN-IF-PASS]) +# AX_AT_DIFF_PATTERN(PATTERN-FILE, TEST-FILE, [STATUS=0], [DIFFERENCES]) +# +# DESCRIPTION +# +# AX_AT_CHECK_PATTERN() executes a test similar to AT_CHECK(), except that +# stdout and stderr are awk regular expressions (REs). +# +# NOTE: as autoconf uses [] for quoting, the use of [brackets] in the RE +# arguments STDOUT-RE and STDERR-RE can be awkward and require careful +# extra quoting, or quadrigraphs '@<:@' (for '[') and '@:>@' (for ']'). +# +# awk is invoked via $AWK, which defaults to "awk" if unset or empty. +# +# Implemented using AT_CHECK() with a custom value for $at_diff that +# invokes diff with an awk post-processor. +# +# AX_AT_DIFF_PATTERN() checks that the PATTERN-FILE applies to TEST-FILE. +# If there are differences, STATUS will be 1 and they should be +# DIFFERENCES. +# +# LICENSE +# +# Copyright (c) 2013-2014 Luke Mewburn +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +m4_defun([_AX_AT_CHECK_PATTERN_PREPARE], [dnl +dnl Can't use AC_PROG_AWK() in autotest. +AS_VAR_IF([AWK], [], [AWK=awk]) + +AS_REQUIRE_SHELL_FN([ax_at_diff_pattern], + [AS_FUNCTION_DESCRIBE([ax_at_diff_pattern], [PATTERN OUTPUT], + [Diff PATTERN OUTPUT and elide change lines where the RE pattern matches])], +[diff "$[]1" "$[]2" | $AWK ' +BEGIN { exitval=0 } + +function mismatch() +{ + print mode + for (i = 0; i < lc; i++) { + print ll[[i]] + } + print "---" + for (i = 0; i < rc; i++) { + print rl[[i]] + } + mode="" + exitval=1 +} + +$[]1 ~ /^[[0-9]]+(,[[0-9]]+)?[[ad]][[0-9]]+(,[[0-9]]+)?$/ { + print + mode="" + exitval=1 + next +} + +$[]1 ~ /^[[0-9]]+(,[[0-9]]+)?[[c]][[0-9]]+(,[[0-9]]+)?$/ { + mode=$[]1 + lc=0 + rc=0 + next +} + +mode == "" { + print $[]0 + next +} + +$[]1 == "<" { + ll[[lc]] = $[]0 + lc = lc + 1 + next +} + +$[]1 == "---" { + next +} + +$[]1 == ">" { + rl[[rc]] = $[]0 + rc = rc + 1 + if (rc > lc) { + mismatch() + next + } + pat = "^" substr(ll[[rc-1]], 2) "$" + str = substr($[]0, 2) + if (str !~ pat) { + mismatch() + } + next +} +{ + print "UNEXPECTED LINE: " $[]0 + exit 10 +} + +END { exit exitval } +'])dnl ax_at_diff_pattern +])dnl _AX_AT_CHECK_PATTERN_PREPARE + + +m4_defun([AX_AT_CHECK_PATTERN], [dnl +AS_REQUIRE([_AX_AT_CHECK_PATTERN_PREPARE]) +_ax_at_check_pattern_prepare_original_at_diff="$at_diff" +at_diff='ax_at_diff_pattern' +AT_CHECK($1, $2, $3, $4, + [at_diff="$_ax_at_check_pattern_prepare_original_at_diff";]$5, + [at_diff="$_ax_at_check_pattern_prepare_original_at_diff";]$6) + +])dnl AX_AT_CHECK_PATTERN + + +m4_defun([AX_AT_DIFF_PATTERN], [dnl +AS_REQUIRE([_AX_AT_CHECK_PATTERN_PREPARE]) +AT_CHECK([ax_at_diff_pattern $1 $2], [$3], [$4]) +])dnl AX_AT_CHECK_PATTERN diff --git a/m4/autoconf-archive/ax_auto_include_headers.m4 b/m4/autoconf-archive/ax_auto_include_headers.m4 new file mode 100755 index 0000000000..e812fb84ae --- /dev/null +++ b/m4/autoconf-archive/ax_auto_include_headers.m4 @@ -0,0 +1,63 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_auto_include_headers.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_AUTO_INCLUDE_HEADERS(INCLUDE-FILE ...) +# +# DESCRIPTION +# +# Given a space-separated list of INCLUDE-FILEs, AX_AUTO_INCLUDE_HEADERS +# will output a conditional #include for each INCLUDE-FILE. The following +# example demonstrates how AX_AUTO_INCLUDE_HEADERS's might be used in a +# configure.ac script: +# +# AH_BOTTOM([ +# AX_AUTO_INCLUDE_HEADERS([sys/resource.h invent.h sys/sysinfo.h])dnl +# ]) +# +# The preceding invocation instructs autoheader to put the following code +# at the bottom of the config.h file: +# +# #ifdef HAVE_SYS_RESOURCE_H +# # include +# #endif +# #ifdef HAVE_INVENT_H +# # include +# #endif +# #ifdef HAVE_SYS_SYSINFO_H +# # include +# #endif +# +# Note that AX_AUTO_INCLUDE_HEADERS merely outputs #ifdef/#include/#endif +# blocks. The configure.ac script still needs to invoke AC_CHECK_HEADERS +# to #define the various HAVE_*_H preprocessor macros. +# +# Here's an easy way to get from config.h a complete list of header files +# who existence is tested by the configure script: +# +# cat config.h | perl -ane '/ HAVE_\S+_H / && do {$_=$F[$#F-1]; s/^HAVE_//; s/_H/.h/; s|_|/|g; tr/A-Z/a-z/; print "$_ "}' +# +# You can then manually edit the resulting list and incorporate it into +# one or more calls to AX_AUTO_INCLUDE_HEADERS. +# +# LICENSE +# +# Copyright (c) 2008 Scott Pakin +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_AUTO_INCLUDE_HEADERS], [dnl +AC_FOREACH([AX_Header], [$1], [dnl +m4_pushdef([AX_IfDef], AS_TR_CPP(HAVE_[]AX_Header))dnl +[#]ifdef AX_IfDef +[#] include +[#]endif +m4_popdef([AX_IfDef])dnl +])]) diff --git a/m4/autoconf-archive/ax_berkeley_db.m4 b/m4/autoconf-archive/ax_berkeley_db.m4 new file mode 100755 index 0000000000..1ccf93bb38 --- /dev/null +++ b/m4/autoconf-archive/ax_berkeley_db.m4 @@ -0,0 +1,148 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_berkeley_db.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BERKELEY_DB([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find Berkeley DB. It honors MINIMUM-VERSION if +# given. +# +# If libdb is found, DB_HEADER and DB_LIBS variables are set and +# ACTION-IF-FOUND shell code is executed if specified. DB_HEADER is set to +# location of db.h header in quotes (e.g. "db3/db.h") and +# AC_DEFINE_UNQUOTED is called on it, so that you can type +# +# #include DB_HEADER +# +# in your C/C++ code. DB_LIBS is set to linker flags needed to link +# against the library (e.g. -ldb3.1) and AC_SUBST is called on it. +# +# when specified user-selected spot (via --with-libdb) also sets +# +# DB_CPPFLAGS to the include directives required +# DB_LDFLAGS to the -L flags required +# +# LICENSE +# +# Copyright (c) 2008 Vaclav Slavik +# Copyright (c) 2014 Kirill A. Korinskiy +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_BERKELEY_DB], +[ + old_LIBS="$LIBS" + old_LDFLAGS="$LDFLAGS" + old_CFLAGS="$CFLAGS" + + libdbdir="" + AC_ARG_WITH(libdb, + AS_HELP_STRING([--with-libdb=DIR], + [root of the Berkeley DB directory]), + [ + case "$withval" in + "" | y | ye | yes | n | no) + AC_MSG_ERROR([Invalid --with-libdb value]) + ;; + *) libdbdir="$withval" + ;; + esac + ], []) + + minversion=ifelse([$1], ,,$1) + + DB_HEADER="" + DB_LIBS="" + DB_LDFLAGS="" + DB_CFLAGS="" + + if test -z $minversion ; then + minvermajor=0 + minverminor=0 + minverpatch=0 + AC_MSG_CHECKING([for Berkeley DB]) + else + minvermajor=`echo $minversion | cut -d. -f1` + minverminor=`echo $minversion | cut -d. -f2` + minverpatch=`echo $minversion | cut -d. -f3` + minvermajor=${minvermajor:-0} + minverminor=${minverminor:-0} + minverpatch=${minverpatch:-0} + AC_MSG_CHECKING([for Berkeley DB >= $minversion]) + fi + + if test x$libdbdir != x""; then + DB_CFLAGS="-I${libdbdir}/include" + DB_LDFLAGS="-L${libdbdir}/lib" + LDFLAGS="$DB_LDFLAGS $old_LDFLAGS" + CFLAGS="$DB_CFLAGS $old_CPPFLAGS" + fi + + for version in "" 5.0 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 3.6 3.5 3.4 3.3 3.2 3.1 ; do + + if test -z $version ; then + db_lib="-ldb" + try_headers="db.h" + else + db_lib="-ldb-$version" + try_headers="db$version/db.h db`echo $version | sed -e 's,\..*,,g'`/db.h" + fi + + LIBS="$old_LIBS $db_lib" + + for db_hdr in $try_headers ; do + if test -z $DB_HEADER ; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [ + #include <${db_hdr}> + ], + [ + #if !((DB_VERSION_MAJOR > (${minvermajor}) || \ + (DB_VERSION_MAJOR == (${minvermajor}) && \ + DB_VERSION_MINOR > (${minverminor})) || \ + (DB_VERSION_MAJOR == (${minvermajor}) && \ + DB_VERSION_MINOR == (${minverminor}) && \ + DB_VERSION_PATCH >= (${minverpatch})))) + #error "too old version" + #endif + + DB *db; + db_create(&db, NULL, 0); + ])], + [ + AC_MSG_RESULT([header $db_hdr, library $db_lib]) + + DB_HEADER="$db_hdr" + DB_LIBS="$db_lib" + ]) + fi + done + done + + LIBS="$old_LIBS" + LDFLAGS="$old_LDFLAGS" + CFLAGS="$old_CPPFLAGS" + + if test -z $DB_HEADER ; then + AC_MSG_RESULT([not found]) + DB_LDFLAGS="" + DB_CFLAGS="" + ifelse([$3], , :, [$3]) + else + AC_DEFINE_UNQUOTED(DB_HEADER, ["$DB_HEADER"], ["Berkeley DB Header File"]) + AC_SUBST(DB_LIBS) + AC_SUBST(DB_LDFLAGS) + AC_SUBST(DB_CFLAGS) + ifelse([$2], , :, [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_berkeley_db_cxx.m4 b/m4/autoconf-archive/ax_berkeley_db_cxx.m4 new file mode 100755 index 0000000000..acd8449777 --- /dev/null +++ b/m4/autoconf-archive/ax_berkeley_db_cxx.m4 @@ -0,0 +1,152 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_berkeley_db_cxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BERKELEY_DB_CXX([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find Berkeley DB C++ support. It honors +# MINIMUM-VERSION if given. +# +# If libdb_cxx is found, DB_CXX_HEADER and DB_CXX_LIBS variables are set +# and ACTION-IF-FOUND shell code is executed if specified. DB_CXX_HEADER +# is set to location of db.h header in quotes (e.g. "db3/db_cxx.h") and +# AC_DEFINE_UNQUOTED is called on it, so that you can type +# +# #include DB_CXX_HEADER +# +# in your C/C++ code. DB_CXX_LIBS is set to linker flags needed to link +# against the library (e.g. -ldb3.1_cxx) and AC_SUBST is called on it. +# +# when specified user-selected spot (via --with-libdb) also sets +# +# DB_CXX_CPPFLAGS to the include directives required +# DB_CXX_LDFLAGS to the -L flags required +# +# LICENSE +# +# Copyright (c) 2008 Vaclav Slavik +# Copyright (c) 2011 Stephan Suerken +# Copyright (c) 2014 Kirill A. Korinskiy +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_DEFUN([AX_BERKELEY_DB_CXX], +[ + AC_LANG_ASSERT(C++) + + old_LIBS="$LIBS" + old_LDFLAGS="$LDFLAGS" + old_CPPFLAGS="$CPPFLAGS" + + libdbdir="" + AC_ARG_WITH(libdb, + AS_HELP_STRING([--with-libdb=DIR], + [root of the Berkeley DB directory]), + [ + case "$withval" in + "" | y | ye | yes | n | no) + AC_MSG_ERROR([Invalid --with-libdb value]) + ;; + *) libdbdir="$withval" + ;; + esac + ], []) + + minversion=ifelse([$1], ,,$1) + + DB_CXX_HEADER="" + DB_CXX_LIBS="" + DB_CXX_LDFLAGS="" + DB_CXX_CPPFLAGS="" + + if test -z $minversion ; then + minvermajor=0 + minverminor=0 + minverpatch=0 + AC_MSG_CHECKING([for Berkeley DB (C++)]) + else + minvermajor=`echo $minversion | cut -d. -f1` + minverminor=`echo $minversion | cut -d. -f2 -s` + minverpatch=`echo $minversion | cut -d. -f3 -s` + if test -z "$minvermajor"; then minvermajor=0; fi + if test -z "$minverminor"; then minverminor=0; fi + if test -z "$minverpatch"; then minverpatch=0; fi + AC_MSG_CHECKING([for Berkeley DB (C++) >= $minvermajor.$minverminor.$minverpatch]) + fi + + if test x$libdbdir != x""; then + DB_CXX_CPPFLAGS="-I${libdbdir}/include" + DB_CXX_LDFLAGS="-L${libdbdir}/lib" + LDFLAGS="$DB_CXX_LDFLAGS $old_LDFLAGS" + CPPFLAGS="$DB_CXX_CPPFLAGS $old_CPPFLAGS" + fi + + for major in 4; do + for minor in 0 1 2 3 4 5 6 7 8 9; do + for version in "${major}.${minor}" "${major}${minor}"; do + + try_libs="-ldb_cxx-${version}%-ldb-${version} -ldb${version}_cxx%-ldb${version}" + try_headers="db${major}.${minor}/db_cxx.h db${major}${minor}/db_cxx.h db${major}/db_cxx.h" + for db_cxx_hdr in $try_headers ; do + for db_cxx_lib in $try_libs; do + db_cxx_lib="$libdbdir `echo "$db_cxx_lib" | sed 's/%/ /g'`" + LIBS="$old_LIBS $db_cxx_lib" + #echo "Trying <$db_cxx_lib> <$db_cxx_hdr>" + if test -z $DB_CXX_HEADER ; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [ + #include <${db_cxx_hdr}> + ], + [ + #if !((DB_VERSION_MAJOR > (${minvermajor}) || \ + (DB_VERSION_MAJOR == (${minvermajor}) && \ + DB_VERSION_MINOR > (${minverminor})) || \ + (DB_VERSION_MAJOR == (${minvermajor}) && \ + DB_VERSION_MINOR == (${minverminor}) && \ + DB_VERSION_PATCH >= (${minverpatch})))) + #error "too old version" + #endif + + DB *db; + db_create(&db, NULL, 0); + ])], + [ + AC_MSG_RESULT([header $db_cxx_hdr, library $db_cxx_lib]) + DB_CXX_HEADER="$db_cxx_hdr" + DB_CXX_LIBS="$db_cxx_lib" + ], + ) + fi + done + done + done + done + done + + LIBS="$old_LIBS" + LDFLAGS="$old_LDFLAGS" + CPPFLAGS="$old_CPPFLAGS" + + if test -z $DB_CXX_HEADER ; then + AC_MSG_RESULT([not found]) + DB_CXX_LDFLAGS="" + DB_CXX_CPPFLAGS="" + ifelse([$3], , :, [$3]) + else + AC_DEFINE_UNQUOTED(DB_CXX_HEADER, ["$DB_CXX_HEADER"], ["Berkeley DB C++ Header File"]) + AC_SUBST(DB_CXX_LIBS) + AC_SUBST(DB_CXX_LDFLAGS) + AC_SUBST(DB_CXX_CPPFLAGS) + ifelse([$2], , :, [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_blas.m4 b/m4/autoconf-archive/ax_blas.m4 new file mode 100755 index 0000000000..bf9f29c628 --- /dev/null +++ b/m4/autoconf-archive/ax_blas.m4 @@ -0,0 +1,238 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_blas.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro looks for a library that implements the BLAS linear-algebra +# interface (see http://www.netlib.org/blas/). On success, it sets the +# BLAS_LIBS output variable to hold the requisite library linkages. +# +# To link with BLAS, you should link with: +# +# $BLAS_LIBS $LIBS $FLIBS +# +# in that order. FLIBS is the output variable of the +# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is +# sometimes necessary in order to link with F77 libraries. Users will also +# need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same +# reason. +# +# Many libraries are searched for, from ATLAS to CXML to ESSL. The user +# may also use --with-blas= in order to use some specific BLAS +# library . In order to link successfully, however, be aware that you +# will probably need to use the same Fortran compiler (which can be set +# via the F77 env. var.) as was used to compile the BLAS library. +# +# ACTION-IF-FOUND is a list of shell commands to run if a BLAS library is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is +# not found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_BLAS. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 15 + +AU_ALIAS([ACX_BLAS], [AX_BLAS]) +AC_DEFUN([AX_BLAS], [ +AC_PREREQ(2.50) +AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS]) +AC_REQUIRE([AC_CANONICAL_HOST]) +ax_blas_ok=no + +AC_ARG_WITH(blas, + [AS_HELP_STRING([--with-blas=], [use BLAS library ])]) +case $with_blas in + yes | "") ;; + no) ax_blas_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;; + *) BLAS_LIBS="-l$with_blas" ;; +esac + +# Get fortran linker names of BLAS functions to check for. +AC_F77_FUNC(sgemm) +AC_F77_FUNC(dgemm) + +ax_blas_save_LIBS="$LIBS" +LIBS="$LIBS $FLIBS" + +# First, check BLAS_LIBS environment variable +if test $ax_blas_ok = no; then +if test "x$BLAS_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS]) + AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes], [BLAS_LIBS=""]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi +fi + +# BLAS linked to by default? (happens on some supercomputers) +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS" + AC_MSG_CHECKING([if $sgemm is being linked in already]) + AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi + +# BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(openblas, $sgemm, [ax_blas_ok=yes + BLAS_LIBS="-lopenblas"]) +fi + +# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(atlas, ATL_xerbla, + [AC_CHECK_LIB(f77blas, $sgemm, + [AC_CHECK_LIB(cblas, cblas_dgemm, + [ax_blas_ok=yes + BLAS_LIBS="-lcblas -lf77blas -latlas"], + [], [-lf77blas -latlas])], + [], [-latlas])]) +fi + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, + [AC_CHECK_LIB(dgemm, $dgemm, + [AC_CHECK_LIB(sgemm, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"], + [], [-lblas])], + [], [-lblas])]) +fi + +# BLAS in Intel MKL library? +if test $ax_blas_ok = no; then + # MKL for gfortran + if test x"$ac_cv_fc_compiler_gnu" = xyes; then + # 64 bit + if test $host_cpu = x86_64; then + AC_CHECK_LIB(mkl_gf_lp64, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread]) + # 32 bit + elif test $host_cpu = i686; then + AC_CHECK_LIB(mkl_gf, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_gf -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_gf -lmkl_sequential -lmkl_core -lpthread]) + fi + # MKL for other compilers (Intel, PGI, ...?) + else + # 64-bit + if test $host_cpu = x86_64; then + AC_CHECK_LIB(mkl_intel_lp64, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread]) + # 32-bit + elif test $host_cpu = i686; then + AC_CHECK_LIB(mkl_intel, $sgemm, + [ax_blas_ok=yes;BLAS_LIBS="-lmkl_intel -lmkl_sequential -lmkl_core -lpthread"],, + [-lmkl_intel -lmkl_sequential -lmkl_core -lpthread]) + fi + fi +fi +# Old versions of MKL +if test $ax_blas_ok = no; then + AC_CHECK_LIB(mkl, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lmkl -lguide -lpthread"],,[-lguide -lpthread]) +fi + +# BLAS in Apple vecLib library? +if test $ax_blas_ok = no; then + save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" + AC_MSG_CHECKING([for $sgemm in -framework vecLib]) + AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes;BLAS_LIBS="-framework vecLib"]) + AC_MSG_RESULT($ax_blas_ok) + LIBS="$save_LIBS" +fi + +# BLAS in Alpha CXML library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(cxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lcxml"]) +fi + +# BLAS in Alpha DXML library? (now called CXML, see above) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(dxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-ldxml"]) +fi + +# BLAS in Sun Performance library? +if test $ax_blas_ok = no; then + if test "x$GCC" != xyes; then # only works with Sun CC + AC_CHECK_LIB(sunmath, acosp, + [AC_CHECK_LIB(sunperf, $sgemm, + [BLAS_LIBS="-xlic_lib=sunperf -lsunmath" + ax_blas_ok=yes],[],[-lsunmath])]) + fi +fi + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(scs, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lscs"]) +fi + +# BLAS in SGIMATH library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(complib.sgimath, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"]) +fi + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, + [AC_CHECK_LIB(essl, $sgemm, + [ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas"], + [], [-lblas $FLIBS])]) +fi + +# Generic BLAS library? +if test $ax_blas_ok = no; then + AC_CHECK_LIB(blas, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lblas"]) +fi + +AC_SUBST(BLAS_LIBS) + +LIBS="$ax_blas_save_LIBS" + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_blas_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]) + : +else + ax_blas_ok=no + $2 +fi +])dnl AX_BLAS diff --git a/m4/autoconf-archive/ax_blas_f77_func.m4 b/m4/autoconf-archive/ax_blas_f77_func.m4 new file mode 100755 index 0000000000..2890d58489 --- /dev/null +++ b/m4/autoconf-archive/ax_blas_f77_func.m4 @@ -0,0 +1,204 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_blas_f77_func.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BLAS_F77_FUNC([ACTION-IF-PASS[, ACTION-IF-FAIL[, ACTION-IF-CROSS-COMPILING]]) +# AX_BLAS_WITH_F77_FUNC([ACTION-IF-FOUND-AND-PASS[, ACTION-IF-NOT-FOUND-OR-FAIL]]) +# +# DESCRIPTION +# +# These macros are intended as a supplement to the AX_BLAS macro, to +# verify that BLAS functions are properly callable from Fortran. This is +# necessary, for example, if you want to build the LAPACK library on top +# of the BLAS. +# +# AX_BLAS_F77_FUNC uses the defined BLAS_LIBS and Fortran environment to +# check for compatibility, and takes a specific action in case of success, +# resp. failure, resp. cross-compilation. +# +# AX_BLAS_WITH_F77_FUNC is a drop-in replacement wrapper for AX_BLAS that +# calls AX_BLAS_F77_FUNC after detecting a BLAS library and rejects it on +# failure (i.e. pretends that no library was found). +# +# LICENSE +# +# Copyright (c) 2008 Jaroslav Hajek +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AU_ALIAS([ACX_BLAS_F77_FUNC], [AX_BLAS_F77_FUNC]) +AC_DEFUN([AX_BLAS_F77_FUNC], [ +AC_PREREQ(2.50) +AC_REQUIRE([AX_BLAS]) + +# F77 call-compatibility checks +if test "$cross_compiling" = yes ; then + ifelse($3, ,$1,$3) +elif test x"$ax_blas_ok" = xyes; then + save_ax_blas_f77_func_LIBS="$LIBS" + LIBS="$BLAS_LIBS $LIBS" + AC_LANG_PUSH(Fortran 77) +# LSAME check (LOGICAL return values) + AC_MSG_CHECKING([whether LSAME is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + logical lsame,w + external lsame + character c1,c2 + c1 = 'A' + c2 = 'B' + w = lsame(c1,c2) + if (w) stop 1 + w = lsame(c1,c1) + if (.not. w) stop 1 + ]]),[ax_blas_lsame_fcall_ok=yes], + [ax_blas_lsame_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_lsame_fcall_ok]) +# ISAMAX check (INTEGER return values) + AC_MSG_CHECKING([whether ISAMAX is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + integer isamax,i + external isamax + real a(2) + a(1) = 1e0 + a(2) = -2e0 + i = isamax(2,a,1) + if (i.ne.2) stop 1 + ]]),[ax_blas_isamax_fcall_ok=yes], + [ax_blas_isamax_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_isamax_fcall_ok]) +# SDOT check (REAL return values) + AC_MSG_CHECKING([whether SDOT is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + real sdot,a(1),b(1),w + external sdot + a(1) = 1e0 + b(1) = 2e0 + w = sdot(1,a,1,b,1) + if (w .ne. a(1)*b(1)) stop 1 + ]]),[ax_blas_sdot_fcall_ok=yes], + [ax_blas_sdot_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_sdot_fcall_ok]) +# DDOT check (DOUBLE return values) + AC_MSG_CHECKING([whether DDOT is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + double precision ddot,a(1),b(1),w + external ddot + a(1) = 1d0 + b(1) = 2d0 + w = ddot(1,a,1,b,1) + if (w .ne. a(1)*b(1)) stop 1 + ]]),[ax_blas_ddot_fcall_ok=yes], + [ax_blas_ddot_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_ddot_fcall_ok]) +# CDOTU check (COMPLEX return values) + AC_MSG_CHECKING([whether CDOTU is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + complex cdotu,a(1),b(1),w + external cdotu + a(1) = cmplx(1e0,1e0) + b(1) = cmplx(1e0,2e0) + w = cdotu(1,a,1,b,1) + if (w .ne. a(1)*b(1)) stop 1 + ]]),[ax_blas_cdotu_fcall_ok=yes], + [ax_blas_cdotu_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_cdotu_fcall_ok]) +# ZDOTU check (DOUBLE COMPLEX return values) + AC_MSG_CHECKING([whether ZDOTU is called correctly from Fortran]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + double complex zdotu,a(1),b(1),w + external zdotu + a(1) = dcmplx(1d0,1d0) + b(1) = dcmplx(1d0,2d0) + w = zdotu(1,a,1,b,1) + if (w .ne. a(1)*b(1)) stop 1 + ]]),[ax_blas_zdotu_fcall_ok=yes], + [ax_blas_zdotu_fcall_ok=no]) + AC_MSG_RESULT([$ax_blas_zdotu_fcall_ok]) +# Check for correct integer size +# FIXME: this may fail with things like -ftrapping-math. + AC_MSG_CHECKING([whether the integer size is correct]) + AC_RUN_IFELSE(AC_LANG_PROGRAM(,[[ + integer n,nn(3) + real s,a(1),b(1),sdot + a(1) = 1.0 + b(1) = 1.0 +c Generate -2**33 + 1, if possible + n = 2 + n = -4 * (n ** 30) + n = n + 1 + if (n >= 0) goto 1 +c This means we're on 64-bit integers. Check whether the BLAS is, too. + s = sdot(n,a,1,b,1) + if (s .ne. 0.0) stop 1 + 1 continue +c We may be on 32-bit integers, and the BLAS on 64 bits. This is almost bound +c to have already failed, but just in case, we'll check. + nn(1) = -1 + nn(2) = 1 + nn(3) = -1 + s = sdot(nn(2),a,1,b,1) + if (s .ne. 1.0) stop 1 + ]]),[ax_blas_integer_size_ok=yes], + [ax_blas_integer_size_ok=no]) + AC_MSG_RESULT([$ax_blas_integer_size_ok]) + + AC_LANG_POP(Fortran 77) + +# if any of the tests failed, reject the BLAS library + if test $ax_blas_lsame_fcall_ok = yes \ + -a $ax_blas_sdot_fcall_ok = yes \ + -a $ax_blas_ddot_fcall_ok = yes \ + -a $ax_blas_cdotu_fcall_ok = yes \ + -a $ax_blas_zdotu_fcall_ok = yes \ + -a $ax_blas_integer_size_ok = yes; then + ax_blas_f77_func_ok=yes; + $1 + else + ax_blas_f77_func_ok=no; + $2 + fi + LIBS="$save_ax_blas_f77_func_LIBS" +fi + +])dnl AX_BLAS_F77_FUNC + +AC_DEFUN([AX_BLAS_WITH_F77_FUNC], [ +AC_PREREQ(2.50) +AX_BLAS([# disable special action], []) +if test x$ax_blas_ok = xyes ; then + AX_BLAS_F77_FUNC( + [ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])], + [ax_blas_ok=no; BLAS_LIBS=]) +fi +if test x$ax_blas_ok = xno ; then + $2 +fi +])dnl AX_BLAS_WITH_F77_FUNC diff --git a/m4/autoconf-archive/ax_boost_asio.m4 b/m4/autoconf-archive/ax_boost_asio.m4 new file mode 100755 index 0000000000..a72c1e1cf8 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_asio.m4 @@ -0,0 +1,110 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_asio.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_ASIO +# +# DESCRIPTION +# +# Test for Asio library from the Boost C++ libraries. The macro requires a +# preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_ASIO_LIB) +# +# And sets: +# +# HAVE_BOOST_ASIO +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Pete Greenwell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +AC_DEFUN([AX_BOOST_ASIO], +[ + AC_ARG_WITH([boost-asio], + AS_HELP_STRING([--with-boost-asio@<:@=special-lib@:>@], + [use the ASIO library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-asio=boost_system-gcc41-mt-1_34 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_asio_lib="" + else + want_boost="yes" + ax_boost_user_asio_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::ASIO library is available, + ax_cv_boost_asio, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @%:@include + ]], + [[ + + boost::asio::io_service io; + boost::system::error_code timer_result; + boost::asio::deadline_timer t(io); + t.cancel(); + io.run_one(); + return 0; + ]])], + ax_cv_boost_asio=yes, ax_cv_boost_asio=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_asio" = "xyes"; then + AC_DEFINE(HAVE_BOOST_ASIO,,[define if the Boost::ASIO library is available]) + BN=boost_system + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_asio_lib" = "x"; then + for ax_lib in `ls $BOOSTLIBDIR/libboost_system*.so* $BOOSTLIBDIR/libboost_system*.dylib* $BOOSTLIBDIR/libboost_system*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.so.*$;\1;' -e 's;^lib\(boost_system.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_system.*\)\.a.*$;\1;' ` ; do + AC_CHECK_LIB($ax_lib, main, [BOOST_ASIO_LIB="-l$ax_lib" AC_SUBST(BOOST_ASIO_LIB) link_thread="yes" break], + [link_thread="no"]) + done + else + for ax_lib in $ax_boost_user_asio_lib $BN-$ax_boost_user_asio_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_ASIO_LIB="-l$ax_lib" AC_SUBST(BOOST_ASIO_LIB) link_asio="yes" break], + [link_asio="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_asio" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_base.m4 b/m4/autoconf-archive/ax_boost_base.m4 new file mode 100755 index 0000000000..2bce5194a0 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_base.m4 @@ -0,0 +1,301 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_base.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the Boost C++ libraries of a particular version (or newer) +# +# If no path to the installed boost library is given the macro searchs +# under /usr, /usr/local, /opt and /opt/local and evaluates the +# $BOOST_ROOT environment variable. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) +# +# And sets: +# +# HAVE_BOOST +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2009 Peter Adolphs +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 43 + +# example boost program (need to pass version) +m4_define([_AX_BOOST_BASE_PROGRAM], + [AC_LANG_PROGRAM([[ +#include +]],[[ +(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))])); +]])]) + +AC_DEFUN([AX_BOOST_BASE], +[ +AC_ARG_WITH([boost], + [AS_HELP_STRING([--with-boost@<:@=ARG@:>@], + [use Boost library from a standard location (ARG=yes), + from the specified location (ARG=), + or disable it (ARG=no) + @<:@ARG=yes@:>@ ])], + [ + AS_CASE([$withval], + [no],[want_boost="no";_AX_BOOST_BASE_boost_path=""], + [yes],[want_boost="yes";_AX_BOOST_BASE_boost_path=""], + [want_boost="yes";_AX_BOOST_BASE_boost_path="$withval"]) + ], + [want_boost="yes"]) + + +AC_ARG_WITH([boost-libdir], + [AS_HELP_STRING([--with-boost-libdir=LIB_DIR], + [Force given directory for boost libraries. + Note that this will override library path detection, + so use this parameter only if default library detection fails + and you know exactly where your boost libraries are located.])], + [ + AS_IF([test -d "$withval"], + [_AX_BOOST_BASE_boost_lib_path="$withval"], + [AC_MSG_ERROR([--with-boost-libdir expected directory name])]) + ], + [_AX_BOOST_BASE_boost_lib_path=""]) + +BOOST_LDFLAGS="" +BOOST_CPPFLAGS="" +AS_IF([test "x$want_boost" = "xyes"], + [_AX_BOOST_BASE_RUNDETECT([$1],[$2],[$3])]) +AC_SUBST(BOOST_CPPFLAGS) +AC_SUBST(BOOST_LDFLAGS) +]) + + +# convert a version string in $2 to numeric and affect to polymorphic var $1 +AC_DEFUN([_AX_BOOST_BASE_TONUMERICVERSION],[ + AS_IF([test "x$2" = "x"],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"]) + _AX_BOOST_BASE_TONUMERICVERSION_req_shorten=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\.[[0-9]]*\)'` + _AX_BOOST_BASE_TONUMERICVERSION_req_major=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\)'` + AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = "x"], + [AC_MSG_ERROR([You should at least specify libboost major version])]) + _AX_BOOST_BASE_TONUMERICVERSION_req_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.\([[0-9]]*\)'` + AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = "x"], + [_AX_BOOST_BASE_TONUMERICVERSION_req_minor="0"]) + _AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + AS_IF([test "X$_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor" = "X"], + [_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor="0"]) + _AX_BOOST_BASE_TONUMERICVERSION_RET=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req_major \* 100000 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_minor \* 100 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor` + AS_VAR_SET($1,$_AX_BOOST_BASE_TONUMERICVERSION_RET) +]) + +dnl Run the detection of boost should be run only if $want_boost +AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[ + _AX_BOOST_BASE_TONUMERICVERSION(WANT_BOOST_VERSION,[$1]) + succeeded=no + + + AC_REQUIRE([AC_CANONICAL_HOST]) + dnl On 64-bit systems check for system libraries in both lib64 and lib. + dnl The former is specified by FHS, but e.g. Debian does not adhere to + dnl this (as it rises problems for generic multi-arch support). + dnl The last entry in the list is chosen by default when no libraries + dnl are found, e.g. when only header-only libraries are installed! + AS_CASE([${host_cpu}], + [x86_64],[libsubdirs="lib64 libx32 lib lib64"], + [ppc64|s390x|sparc64|aarch64|ppc64le],[libsubdirs="lib64 lib lib64"], + [libsubdirs="lib"] + ) + + dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give + dnl them priority over the other paths since, if libs are found there, they + dnl are almost assuredly the ones desired. + AS_CASE([${host_cpu}], + [i?86],[multiarch_libsubdir="lib/i386-${host_os}"], + [multiarch_libsubdir="lib/${host_cpu}-${host_os}"] + ) + + dnl first we check the system location for boost libraries + dnl this location ist chosen if boost libraries are installed with the --layout=system option + dnl or if you install boost with RPM + AS_IF([test "x$_AX_BOOST_BASE_boost_path" != "x"],[ + AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) includes in "$_AX_BOOST_BASE_boost_path/include"]) + AS_IF([test -d "$_AX_BOOST_BASE_boost_path/include" && test -r "$_AX_BOOST_BASE_boost_path/include"],[ + AC_MSG_RESULT([yes]) + BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include" + for _AX_BOOST_BASE_boost_path_tmp in $multiarch_libsubdir $libsubdirs; do + AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) lib path in "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"]) + AS_IF([test -d "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" && test -r "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" ],[ + AC_MSG_RESULT([yes]) + BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"; + break; + ], + [AC_MSG_RESULT([no])]) + done],[ + AC_MSG_RESULT([no])]) + ],[ + if test X"$cross_compiling" = Xyes; then + search_libsubdirs=$multiarch_libsubdir + else + search_libsubdirs="$multiarch_libsubdir $libsubdirs" + fi + for _AX_BOOST_BASE_boost_path_tmp in /usr /usr/local /opt /opt/local ; do + if test -d "$_AX_BOOST_BASE_boost_path_tmp/include/boost" && test -r "$_AX_BOOST_BASE_boost_path_tmp/include/boost" ; then + for libsubdir in $search_libsubdirs ; do + if ls "$_AX_BOOST_BASE_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path_tmp/$libsubdir" + BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path_tmp/include" + break; + fi + done + ]) + + dnl overwrite ld flags if we have required special directory with + dnl --with-boost-libdir parameter + AS_IF([test "x$_AX_BOOST_BASE_boost_lib_path" != "x"], + [BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_lib_path"]) + + AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION)]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_REQUIRE([AC_PROG_CXX]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[ + AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ],[ + ]) + AC_LANG_POP([C++]) + + + + dnl if we found no boost with system layout we search for boost libraries + dnl built and installed without the --layout=system option or for a staged(not installed) version + if test "x$succeeded" != "xyes" ; then + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + BOOST_CPPFLAGS= + if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then + BOOST_LDFLAGS= + fi + _version=0 + if test -n "$_AX_BOOST_BASE_boost_path" ; then + if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path"; then + for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do + _version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` + V_CHECK=`expr $_version_tmp \> $_version` + if test "x$V_CHECK" = "x1" ; then + _version=$_version_tmp + fi + VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` + BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include/boost-$VERSION_UNDERSCORE" + done + dnl if nothing found search for layout used in Windows distributions + if test -z "$BOOST_CPPFLAGS"; then + if test -d "$_AX_BOOST_BASE_boost_path/boost" && test -r "$_AX_BOOST_BASE_boost_path/boost"; then + BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path" + fi + fi + dnl if we found something and BOOST_LDFLAGS was unset before + dnl (because "$_AX_BOOST_BASE_boost_lib_path" = ""), set it here. + if test -n "$BOOST_CPPFLAGS" && test -z "$BOOST_LDFLAGS"; then + for libsubdir in $libsubdirs ; do + if ls "$_AX_BOOST_BASE_boost_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$libsubdir" + fi + fi + else + if test "x$cross_compiling" != "xyes" ; then + for _AX_BOOST_BASE_boost_path in /usr /usr/local /opt /opt/local ; do + if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path" ; then + for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do + _version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` + V_CHECK=`expr $_version_tmp \> $_version` + if test "x$V_CHECK" = "x1" ; then + _version=$_version_tmp + best_path=$_AX_BOOST_BASE_boost_path + fi + done + fi + done + + VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` + BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" + if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then + for libsubdir in $libsubdirs ; do + if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + BOOST_LDFLAGS="-L$best_path/$libsubdir" + fi + fi + + if test -n "$BOOST_ROOT" ; then + for libsubdir in $libsubdirs ; do + if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then + version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` + stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` + stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` + V_CHECK=`expr $stage_version_shorten \>\= $_version` + if test "x$V_CHECK" = "x1" && test -z "$_AX_BOOST_BASE_boost_lib_path" ; then + AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) + BOOST_CPPFLAGS="-I$BOOST_ROOT" + BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" + fi + fi + fi + fi + + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[ + AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ],[ + ]) + AC_LANG_POP([C++]) + fi + + if test "x$succeeded" != "xyes" ; then + if test "x$_version" = "x0" ; then + AC_MSG_NOTICE([[We could not detect the boost libraries (version $1 or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.]]) + else + AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) + fi + # execute ACTION-IF-NOT-FOUND (if present): + ifelse([$3], , :, [$3]) + else + AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available]) + # execute ACTION-IF-FOUND (if present): + ifelse([$2], , :, [$2]) + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + +]) diff --git a/m4/autoconf-archive/ax_boost_chrono.m4 b/m4/autoconf-archive/ax_boost_chrono.m4 new file mode 100755 index 0000000000..576376938a --- /dev/null +++ b/m4/autoconf-archive/ax_boost_chrono.m4 @@ -0,0 +1,118 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_CHRONO +# +# DESCRIPTION +# +# Test for Chrono library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_CHRONO_LIB) +# +# And sets: +# +# HAVE_BOOST_CHRONO +# +# LICENSE +# +# Copyright (c) 2012 Xiyue Deng +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_BOOST_CHRONO], +[ + AC_ARG_WITH([boost-chrono], + AS_HELP_STRING([--with-boost-chrono@<:@=special-lib@:>@], + [use the Chrono library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-chrono=boost_chrono-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_chrono_lib="" + else + want_boost="yes" + ax_boost_user_chrono_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Chrono library is available, + ax_cv_boost_chrono, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::chrono::system_clock::time_point time;]])], + ax_cv_boost_chrono=yes, ax_cv_boost_chrono=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_chrono" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_CHRONO,,[define if the Boost::Chrono library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_chrono_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_chrono*.so* $BOOSTLIBDIR/libboost_chrono*.dylib* $BOOSTLIBDIR/libboost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_chrono.*\)\.so.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + if test "x$link_chrono" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_chrono*.dll* $BOOSTLIBDIR/boost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_chrono.*\)\.dll.*$;\1;' -e 's;^\(boost_chrono.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_chrono_lib boost_chrono-$ax_boost_user_chrono_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_chrono" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_context.m4 b/m4/autoconf-archive/ax_boost_context.m4 new file mode 100755 index 0000000000..9b0a05a94a --- /dev/null +++ b/m4/autoconf-archive/ax_boost_context.m4 @@ -0,0 +1,122 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_context.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_CONTEXT +# +# DESCRIPTION +# +# Test for Context library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_CONTEXT_LIB) +# +# And sets: +# +# HAVE_BOOST_CONTEXT +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_BOOST_CONTEXT], +[ + AC_ARG_WITH([boost-context], + AS_HELP_STRING([--with-boost-context@<:@=special-lib@:>@], + [use the Context library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-context=boost_context-gcc-mt ]), [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_context_lib="" + else + want_boost="yes" + ax_boost_user_context_lib="$withval" + fi + ], [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Context library is available, + ax_cv_boost_context, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[@%:@include ]], + [[boost::context::fcontext_t* fc = boost::context::make_fcontext(0, 0, 0);]])], + ax_cv_boost_context=yes, ax_cv_boost_context=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + + if test "x$ax_cv_boost_context" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_CONTEXT,,[define if the Boost::Context library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_context_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_context*.so* $BOOSTLIBDIR/libboost_context*.dylib* $BOOSTLIBDIR/libboost_context*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_context.*\)\.so.*$;\1;' -e 's;^lib\(boost_context.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_context.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CONTEXT_LIB="-l$ax_lib"; AC_SUBST(BOOST_CONTEXT_LIB) link_context="yes"; break], + [link_context="no"]) + done + + if test "x$link_context" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_context*.dll* $BOOSTLIBDIR/boost_context*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_context.*\)\.dll.*$;\1;' -e 's;^\(boost_context.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CONTEXT_LIB="-l$ax_lib"; AC_SUBST(BOOST_CONTEXT_LIB) link_context="yes"; break], + [link_context="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_context_lib boost_context-$ax_boost_user_context_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CONTEXT_LIB="-l$ax_lib"; AC_SUBST(BOOST_CONTEXT_LIB) link_context="yes"; break], + [link_context="no"]) + done + fi + + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + + if test "x$link_context" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_coroutine.m4 b/m4/autoconf-archive/ax_boost_coroutine.m4 new file mode 100755 index 0000000000..173b644b01 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_coroutine.m4 @@ -0,0 +1,122 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_coroutine.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_COROUTINE +# +# DESCRIPTION +# +# Test for Coroutine library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_COROUTINE_LIB) +# +# And sets: +# +# HAVE_BOOST_COROUTINE +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_BOOST_COROUTINE], +[ + AC_ARG_WITH([boost-coroutine], + AS_HELP_STRING([--with-boost-coroutine@<:@=special-lib@:>@], + [use the Coroutine library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-coroutine=boost_coroutine-gcc-mt ]), [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_coroutine_lib="" + else + want_boost="yes" + ax_boost_user_coroutine_lib="$withval" + fi + ], [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Coroutine library is available, + ax_cv_boost_coroutine, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[@%:@include ]], + [[boost::coroutines::coroutine< void() > f;]])], + ax_cv_boost_coroutine=yes, ax_cv_boost_coroutine=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + + if test "x$ax_cv_boost_coroutine" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_COROUTINE,,[define if the Boost::Coroutine library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_coroutine_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_coroutine*.so* $BOOSTLIBDIR/libboost_coroutine*.dylib* $BOOSTLIBDIR/libboost_coroutine*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_coroutine.*\)\.so.*$;\1;' -e 's;^lib\(boost_coroutine.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_coroutine.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_COROUTINE_LIB="-l$ax_lib"; AC_SUBST(BOOST_COROUTINE_LIB) link_coroutine="yes"; break], + [link_coroutine="no"]) + done + + if test "x$link_coroutine" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_coroutine*.dll* $BOOSTLIBDIR/boost_coroutine*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_coroutine.*\)\.dll.*$;\1;' -e 's;^\(boost_coroutine.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_COROUTINE_LIB="-l$ax_lib"; AC_SUBST(BOOST_COROUTINE_LIB) link_coroutine="yes"; break], + [link_coroutine="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_coroutine_lib boost_coroutine-$ax_boost_user_coroutine_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_COROUTINE_LIB="-l$ax_lib"; AC_SUBST(BOOST_COROUTINE_LIB) link_coroutine="yes"; break], + [link_coroutine="no"]) + done + fi + + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + + if test "x$link_coroutine" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_date_time.m4 b/m4/autoconf-archive/ax_boost_date_time.m4 new file mode 100755 index 0000000000..3fba4beaa3 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_date_time.m4 @@ -0,0 +1,113 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_date_time.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_DATE_TIME +# +# DESCRIPTION +# +# Test for Date_Time library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_DATE_TIME_LIB) +# +# And sets: +# +# HAVE_BOOST_DATE_TIME +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + +AC_DEFUN([AX_BOOST_DATE_TIME], +[ + AC_ARG_WITH([boost-date-time], + AS_HELP_STRING([--with-boost-date-time@<:@=special-lib@:>@], + [use the Date_Time library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-date-time=boost_date_time-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_date_time_lib="" + else + want_boost="yes" + ax_boost_user_date_time_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Date_Time library is available, + ax_cv_boost_date_time, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[using namespace boost::gregorian; date d(2002,Jan,10); + return 0; + ]])], + ax_cv_boost_date_time=yes, ax_cv_boost_date_time=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_date_time" = "xyes"; then + AC_DEFINE(HAVE_BOOST_DATE_TIME,,[define if the Boost::Date_Time library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_date_time_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_date_time*.so* $BOOSTLIBDIR/libboost_date_time*.dylib* $BOOSTLIBDIR/libboost_date_time*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_date_time.*\)\.so.*$;\1;' -e 's;^lib\(boost_date_time.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_date_time.*\)\.a*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_DATE_TIME_LIB="-l$ax_lib"; AC_SUBST(BOOST_DATE_TIME_LIB) link_date_time="yes"; break], + [link_date_time="no"]) + done + if test "x$link_date_time" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_date_time*.dll* $BOOSTLIBDIR/boost_date_time*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_date_time.*\)\.dll.*$;\1;' -e 's;^\(boost_date_time.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_DATE_TIME_LIB="-l$ax_lib"; AC_SUBST(BOOST_DATE_TIME_LIB) link_date_time="yes"; break], + [link_date_time="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_date_time_lib boost_date_time-$ax_boost_user_date_time_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_DATE_TIME_LIB="-l$ax_lib"; AC_SUBST(BOOST_DATE_TIME_LIB) link_date_time="yes"; break], + [link_date_time="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_date_time" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_filesystem.m4 b/m4/autoconf-archive/ax_boost_filesystem.m4 new file mode 100755 index 0000000000..c392f9d65f --- /dev/null +++ b/m4/autoconf-archive/ax_boost_filesystem.m4 @@ -0,0 +1,118 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_FILESYSTEM +# +# DESCRIPTION +# +# Test for Filesystem library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_FILESYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_FILESYSTEM +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Michael Tindal +# Copyright (c) 2009 Roman Rybalko +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 27 + +AC_DEFUN([AX_BOOST_FILESYSTEM], +[ + AC_ARG_WITH([boost-filesystem], + AS_HELP_STRING([--with-boost-filesystem@<:@=special-lib@:>@], + [use the Filesystem library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-filesystem=boost_filesystem-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_filesystem_lib="" + else + want_boost="yes" + ax_boost_user_filesystem_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + LIBS_SAVED=$LIBS + LIBS="$LIBS $BOOST_SYSTEM_LIB" + export LIBS + + AC_CACHE_CHECK(whether the Boost::Filesystem library is available, + ax_cv_boost_filesystem, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[using namespace boost::filesystem; + path my_path( "foo/bar/data.txt" ); + return 0;]])], + ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_filesystem" = "xyes"; then + AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_filesystem_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + if test "x$link_filesystem" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + fi + else + for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_filesystem" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + LIBS="$LIBS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_iostreams.m4 b/m4/autoconf-archive/ax_boost_iostreams.m4 new file mode 100755 index 0000000000..8f27f85456 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_iostreams.m4 @@ -0,0 +1,116 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_iostreams.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_IOSTREAMS +# +# DESCRIPTION +# +# Test for IOStreams library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_IOSTREAMS_LIB) +# +# And sets: +# +# HAVE_BOOST_IOSTREAMS +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 21 + +AC_DEFUN([AX_BOOST_IOSTREAMS], +[ + AC_ARG_WITH([boost-iostreams], + AS_HELP_STRING([--with-boost-iostreams@<:@=special-lib@:>@], + [use the IOStreams library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-iostreams=boost_iostreams-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_iostreams_lib="" + else + want_boost="yes" + ax_boost_user_iostreams_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::IOStreams library is available, + ax_cv_boost_iostreams, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + @%:@include + ]], + [[std::string input = "Hello World!"; + namespace io = boost::iostreams; + io::filtering_istream in(boost::make_iterator_range(input)); + return 0; + ]])], + ax_cv_boost_iostreams=yes, ax_cv_boost_iostreams=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_iostreams" = "xyes"; then + AC_DEFINE(HAVE_BOOST_IOSTREAMS,,[define if the Boost::IOStreams library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_iostreams_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_iostreams*.so* $BOOSTLIBDIR/libboost_iostream*.dylib* $BOOSTLIBDIR/libboost_iostreams*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_iostreams.*\)\.so.*$;\1;' -e 's;^lib\(boost_iostream.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_iostreams.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break], + [link_iostreams="no"]) + done + if test "x$link_iostreams" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_iostreams*.dll* $BOOSTLIBDIR/boost_iostreams*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_iostreams.*\)\.dll.*$;\1;' -e 's;^\(boost_iostreams.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break], + [link_iostreams="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_iostreams_lib boost_iostreams-$ax_boost_user_iostreams_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_IOSTREAMS_LIB="-l$ax_lib"; AC_SUBST(BOOST_IOSTREAMS_LIB) link_iostreams="yes"; break], + [link_iostreams="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_iostreams" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_locale.m4 b/m4/autoconf-archive/ax_boost_locale.m4 new file mode 100755 index 0000000000..adaedf09ee --- /dev/null +++ b/m4/autoconf-archive/ax_boost_locale.m4 @@ -0,0 +1,119 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_locale.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_LOCALE +# +# DESCRIPTION +# +# Test for System library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_LOCALE_LIB) +# +# And sets: +# +# HAVE_BOOST_LOCALE +# +# LICENSE +# +# Copyright (c) 2012 Xiyue Deng +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_BOOST_LOCALE], +[ + AC_ARG_WITH([boost-locale], + AS_HELP_STRING([--with-boost-locale@<:@=special-lib@:>@], + [use the Locale library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-locale=boost_locale-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_locale_lib="" + else + want_boost="yes" + ax_boost_user_locale_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Locale library is available, + ax_cv_boost_locale, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::locale::generator gen; + std::locale::global(gen(""));]])], + ax_cv_boost_locale=yes, ax_cv_boost_locale=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_locale" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_LOCALE,,[define if the Boost::Locale library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_locale_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_locale*.so* $BOOSTLIBDIR/libboost_locale*.dylib* $BOOSTLIBDIR/libboost_locale*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_locale.*\)\.so.*$;\1;' -e 's;^lib\(boost_locale.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_locale.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOCALE_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOCALE_LIB) link_locale="yes"; break], + [link_locale="no"]) + done + if test "x$link_locale" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_locale*.dll* $BOOSTLIBDIR/boost_locale*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_locale.*\)\.dll.*$;\1;' -e 's;^\(boost_locale.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOCALE_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOCALE_LIB) link_locale="yes"; break], + [link_locale="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_locale_lib boost_locale-$ax_boost_user_locale_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOCALE_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOCALE_LIB) link_locale="yes"; break], + [link_locale="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_locale" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_log.m4 b/m4/autoconf-archive/ax_boost_log.m4 new file mode 100755 index 0000000000..fbc634e9d2 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_log.m4 @@ -0,0 +1,122 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_log.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_LOG +# +# DESCRIPTION +# +# Test for Log library from the Boost C++ libraries. The macro requires a +# preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_LOG_LIB) +# +# And sets: +# +# HAVE_BOOST_LOG +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_BOOST_LOG], +[ + AC_ARG_WITH([boost-log], + AS_HELP_STRING([--with-boost-log@<:@=special-lib@:>@], + [use the Log library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-log=boost_log-gcc-mt ]), [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_log_lib="" + else + want_boost="yes" + ax_boost_user_log_lib="$withval" + fi + ], [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Log library is available, + ax_cv_boost_log, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[@%:@include ]], + [[BOOST_LOG_TRIVIAL(trace) << "A boost::log test";]])], + ax_cv_boost_log=yes, ax_cv_boost_log=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + + if test "x$ax_cv_boost_log" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_LOG,,[define if the Boost::Log library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_log_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_log*.so* $BOOSTLIBDIR/libboost_log*.dylib* $BOOSTLIBDIR/libboost_log*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_log.*\)\.so.*$;\1;' -e 's;^lib\(boost_log.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_log.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_LIB) link_log="yes"; break], + [link_log="no"]) + done + + if test "x$link_log" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_log*.dll* $BOOSTLIBDIR/boost_log*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_log.*\)\.dll.*$;\1;' -e 's;^\(boost_log.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_LIB) link_log="yes"; break], + [link_log="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_log_lib boost_log-$ax_boost_user_log_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_LIB) link_log="yes"; break], + [link_log="no"]) + done + fi + + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + + if test "x$link_log" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_log_setup.m4 b/m4/autoconf-archive/ax_boost_log_setup.m4 new file mode 100755 index 0000000000..d727ed69af --- /dev/null +++ b/m4/autoconf-archive/ax_boost_log_setup.m4 @@ -0,0 +1,113 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_log_setup.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_LOG_SETUP +# +# DESCRIPTION +# +# Test for LogSetup library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_LOG_SETUP_LIB) +# +# And sets: +# +# HAVE_BOOST_LOG_SETUP +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_BOOST_LOG_SETUP], +[ + AC_ARG_WITH([boost-log_setup], + AS_HELP_STRING([--with-boost-log_setup@<:@=special-lib@:>@], + [use the Log_setup library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-log_setup=boost_log_setup-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_log_setup_lib="" + else + want_boost="yes" + ax_boost_user_log_setup_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + AC_REQUIRE([AX_BOOST_LOG]) + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_LOG_SETUP,, + [define if the Boost::Log_setup library is available]) + + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_log_setup_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_log_setup*.so* $BOOSTLIBDIR/libboost_log_setup*.dylib* $BOOSTLIBDIR/libboost_log_setup*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_log_setup.*\)\.so.*$;\1;' -e 's;^lib\(boost_log_setup.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_log_setup.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_SETUP_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_SETUP_LIB) link_log_setup="yes"; break], + [link_log_setup="no"]) + done + + if test "x$link_log_setup" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_log_setup*.dll* $BOOSTLIBDIR/boost_log_setup*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_log_setup.*\)\.dll.*$;\1;' -e 's;^\(boost_log_setup.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_SETUP_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_SETUP_LIB) link_log_setup="yes"; break], + [link_log_setup="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_log_setup_lib boost_log_setup-$ax_boost_user_log_setup_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_LOG_SETUP_LIB="-l$ax_lib"; AC_SUBST(BOOST_LOG_SETUP_LIB) link_log_setup="yes"; break], + [link_log_setup="no"]) + done + + fi + + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + + if test "x$link_log_setup" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_program_options.m4 b/m4/autoconf-archive/ax_boost_program_options.m4 new file mode 100755 index 0000000000..28462e8247 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_program_options.m4 @@ -0,0 +1,108 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_boost_program_options.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_BOOST_PROGRAM_OPTIONS +# +# DESCRIPTION +# +# Test for program options library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) +# +# And sets: +# +# HAVE_BOOST_PROGRAM_OPTIONS +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 25 + +AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], +[ + AC_ARG_WITH([boost-program-options], + AS_HELP_STRING([--with-boost-program-options@<:@=special-lib@:>@], + [use the program options library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-program-options=boost_program_options-gcc-mt-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_program_options_lib="" + else + want_boost="yes" + ax_boost_user_program_options_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + export want_boost + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + AC_CACHE_CHECK([whether the Boost::Program_Options library is available], + ax_cv_boost_program_options, + [AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[boost::program_options::error err("Error message"); + return 0;]])], + ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no) + AC_LANG_POP([C++]) + ]) + if test "$ax_cv_boost_program_options" = yes; then + AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_program_options_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + if test "x$link_program_options" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + fi + else + for ax_lib in $ax_boost_user_program_options_lib boost_program_options-$ax_boost_user_program_options_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_program_options" != "xyes"; then + AC_MSG_ERROR([Could not link against [$ax_lib] !]) + fi + fi + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_python.m4 b/m4/autoconf-archive/ax_boost_python.m4 new file mode 100755 index 0000000000..41826bec53 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_python.m4 @@ -0,0 +1,121 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_python.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_PYTHON +# +# DESCRIPTION +# +# This macro checks to see if the Boost.Python library is installed. It +# also attempts to guess the correct library name using several attempts. +# It tries to build the library name using a user supplied name or suffix +# and then just the raw library. +# +# If the library is found, HAVE_BOOST_PYTHON is defined and +# BOOST_PYTHON_LIB is set to the name of the library. +# +# This macro calls AC_SUBST(BOOST_PYTHON_LIB). +# +# In order to ensure that the Python headers and the Boost libraries are +# specified on the include path, this macro requires AX_PYTHON_DEVEL and +# AX_BOOST_BASE to be called. +# +# LICENSE +# +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2013 Daniel M"ullner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 22 + +AC_DEFUN([AX_BOOST_PYTHON], +[AC_REQUIRE([AX_PYTHON_DEVEL])dnl +AC_REQUIRE([AX_BOOST_BASE])dnl +AC_LANG_PUSH([C++]) +ax_boost_python_save_CPPFLAGS="$CPPFLAGS" +ax_boost_python_save_LDFLAGS="$LDFLAGS" +ax_boost_python_save_LIBS="$LIBS" +if test "x$PYTHON_CPPFLAGS" != "x"; then + CPPFLAGS="$PYTHON_CPPFLAGS $CPPFLAGS" +fi + +# Versions of AX_PYTHON_DEVEL() before serial 18 provided PYTHON_LDFLAGS +# instead of PYTHON_LIBS, so this is just here for compatibility. +if test "x$PYTHON_LDFLAGS" != "x"; then + LDFLAGS="$PYTHON_LDFLAGS $LDFLAGS" +fi + +# Note: Only versions of AX_PYTHON_DEVEL() since serial 18 provide PYTHON_LIBS +# instead of PYTHON_LDFLAGS. +if test "x$PYTHON_LIBS" != "x"; then + LIBS="$PYTHON_LIBS $LIBS" +fi + +if test "x$BOOST_CPPFLAGS" != "x"; then + CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" +fi +if test "x$BOOST_LDFLAGS" != "x"; then + LDFLAGS="$BOOST_LDFLAGS $LDFLAGS" +fi +AC_CACHE_CHECK(whether the Boost::Python library is available, +ac_cv_boost_python, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], [])], + ac_cv_boost_python=yes, ac_cv_boost_python=no) +]) +if test "$ac_cv_boost_python" = "yes"; then + AC_DEFINE(HAVE_BOOST_PYTHON,,[define if the Boost::Python library is available]) + ax_python_lib=boost_python + AC_ARG_WITH([boost-python],AS_HELP_STRING([--with-boost-python],[specify yes/no or the boost python library or suffix to use]), + [if test "x$with_boost_python" != "xno" -a "x$with_boost_python" != "xyes"; then + ax_python_lib=$with_boost_python + ax_boost_python_lib=boost_python-$with_boost_python + fi]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + for ax_lib in $ax_python_lib $ax_boost_python_lib `ls $BOOSTLIBDIR/libboost_python*.so* $BOOSTLIBDIR/libboost_python*.dylib* $BOOSTLIBDIR/libboost_python*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_python.*\)\.so.*$;\1;' -e 's;^lib\(boost_python.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_python.*\)\.a.*$;\1;' ` boost_python boost_python3; do + AS_VAR_PUSHDEF([ax_Lib], [ax_cv_lib_$ax_lib''_BOOST_PYTHON_MODULE])dnl + AC_CACHE_CHECK([whether $ax_lib is the correct library], [ax_Lib], + [LIBS="-l$ax_lib $ax_boost_python_save_LIBS $PYTHON_LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +BOOST_PYTHON_MODULE(test) { throw "Boost::Python test."; }]], [])], + [AS_VAR_SET([ax_Lib], [yes])], + [AS_VAR_SET([ax_Lib], [no])])]) + AS_VAR_IF([ax_Lib], [yes], [BOOST_PYTHON_LIB=$ax_lib break], []) + AS_VAR_POPDEF([ax_Lib])dnl + done + AC_SUBST(BOOST_PYTHON_LIB) +fi +CPPFLAGS="$ax_boost_python_save_CPPFLAGS" +LDFLAGS="$ax_boost_python_save_LDFLAGS" +LIBS="$ax_boost_python_save_LIBS" +AC_LANG_POP([C++]) +])dnl diff --git a/m4/autoconf-archive/ax_boost_regex.m4 b/m4/autoconf-archive/ax_boost_regex.m4 new file mode 100755 index 0000000000..e2413c24fe --- /dev/null +++ b/m4/autoconf-archive/ax_boost_regex.m4 @@ -0,0 +1,111 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_regex.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_REGEX +# +# DESCRIPTION +# +# Test for Regex library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_REGEX_LIB) +# +# And sets: +# +# HAVE_BOOST_REGEX +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 23 + +AC_DEFUN([AX_BOOST_REGEX], +[ + AC_ARG_WITH([boost-regex], + AS_HELP_STRING([--with-boost-regex@<:@=special-lib@:>@], + [use the Regex library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-regex=boost_regex-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_regex_lib="" + else + want_boost="yes" + ax_boost_user_regex_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Regex library is available, + ax_cv_boost_regex, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[boost::regex r(); return 0;]])], + ax_cv_boost_regex=yes, ax_cv_boost_regex=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_regex" = "xyes"; then + AC_DEFINE(HAVE_BOOST_REGEX,,[define if the Boost::Regex library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_regex_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_regex*.so* $BOOSTLIBDIR/libboost_regex*.dylib* $BOOSTLIBDIR/libboost_regex*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_regex.*\)\.so.*$;\1;' -e 's;^lib\(boost_regex.*\)\.dylib.*;\1;' -e 's;^lib\(boost_regex.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break], + [link_regex="no"]) + done + if test "x$link_regex" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_regex*.dll* $BOOSTLIBDIR/boost_regex*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_regex.*\)\.dll.*$;\1;' -e 's;^\(boost_regex.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break], + [link_regex="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_regex_lib boost_regex-$ax_boost_user_regex_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_REGEX_LIB="-l$ax_lib"; AC_SUBST(BOOST_REGEX_LIB) link_regex="yes"; break], + [link_regex="no"]) + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the Boost::Regex library!) + fi + if test "x$link_regex" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_serialization.m4 b/m4/autoconf-archive/ax_boost_serialization.m4 new file mode 100755 index 0000000000..27b3d59717 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_serialization.m4 @@ -0,0 +1,117 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_serialization.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SERIALIZATION +# +# DESCRIPTION +# +# Test for Serialization library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_SERIALIZATION_LIB) +# +# And sets: +# +# HAVE_BOOST_SERIALIZATION +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + +AC_DEFUN([AX_BOOST_SERIALIZATION], +[ + AC_ARG_WITH([boost-serialization], + AS_HELP_STRING([--with-boost-serialization@<:@=special-lib@:>@], + [use the Serialization library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-serialization=boost_serialization-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_serialization_lib="" + else + want_boost="yes" + ax_boost_user_serialization_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + AC_MSG_WARN(BOOST_CPPFLAGS $BOOST_CPPFLAGS) + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Serialization library is available, + ax_cv_boost_serialization, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + @%:@include + @%:@include + ]], + [[std::ofstream ofs("filename"); + boost::archive::text_oarchive oa(ofs); + return 0; + ]])], + ax_cv_boost_serialization=yes, ax_cv_boost_serialization=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_serialization" = "xyes"; then + AC_DEFINE(HAVE_BOOST_SERIALIZATION,,[define if the Boost::Serialization library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_serialization_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_serialization*.so* $BOOSTLIBDIR/libboost_serialization*.dylib* $BOOSTLIBDIR/libboost_serialization*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_serialization.*\)\.so.*$;\1;' -e 's;^lib\(boost_serialization.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_serialization.*\)\.a*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_SERIALIZATION_LIB) link_serialization="yes"; break], + [link_serialization="no"]) + done + if test "x$link_serialization" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_serialization*.dll* $BOOSTLIBDIR/boost_serialization*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_serialization.*\)\.dll.*$;\1;' -e 's;^\(boost_serialization.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_SERIALIZATION_LIB) link_serialization="yes"; break], + [link_serialization="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_serialization_lib boost_serialization-$ax_boost_user_serialization_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_SERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_SERIALIZATION_LIB) link_serialization="yes"; break], + [link_serialization="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_serialization" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_signals.m4 b/m4/autoconf-archive/ax_boost_signals.m4 new file mode 100755 index 0000000000..6645d0cc31 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_signals.m4 @@ -0,0 +1,114 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_signals.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SIGNALS +# +# DESCRIPTION +# +# Test for Signals library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_SIGNALS_LIB) +# +# And sets: +# +# HAVE_BOOST_SIGNALS +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + +AC_DEFUN([AX_BOOST_SIGNALS], +[ + AC_ARG_WITH([boost-signals], + AS_HELP_STRING([--with-boost-signals@<:@=special-lib@:>@], + [use the Signals library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-signals=boost_signals-gcc-mt-d ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_signals_lib="" + else + want_boost="yes" + ax_boost_user_signals_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Signals library is available, + ax_cv_boost_signals, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[boost::signal sig; + return 0; + ]])], + ax_cv_boost_signals=yes, ax_cv_boost_signals=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_signals" = "xyes"; then + AC_DEFINE(HAVE_BOOST_SIGNALS,,[define if the Boost::Signals library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_signals_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_signals*.so* $BOOSTLIBDIR/libboost_signals*.dylib* $BOOSTLIBDIR/libboost_signals*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_signals.*\)\.so.*$;\1;' -e 's;^lib\(boost_signals.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_signals.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break], + [link_signals="no"]) + done + if test "x$link_signals" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_signals*.dll* $BOOSTLIBDIR/boost_signals*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_signals.*\)\.dll.*$;\1;' -e 's;^\(boost_signals.*\)\.a*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break], + [link_signals="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_signals_lib boost_signals-$ax_boost_user_signals_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break], + [link_signals="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_signals" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_system.m4 b/m4/autoconf-archive/ax_boost_system.m4 new file mode 100755 index 0000000000..207d7be8de --- /dev/null +++ b/m4/autoconf-archive/ax_boost_system.m4 @@ -0,0 +1,121 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SYSTEM +# +# DESCRIPTION +# +# Test for System library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_SYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_SYSTEM +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2008 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 19 + +AC_DEFUN([AX_BOOST_SYSTEM], +[ + AC_ARG_WITH([boost-system], + AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@], + [use the System library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-system=boost_system-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_system_lib="" + else + want_boost="yes" + ax_boost_user_system_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::System library is available, + ax_cv_boost_system, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + CXXFLAGS= + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::system::error_category *a = 0;]])], + ax_cv_boost_system=yes, ax_cv_boost_system=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_system" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_system_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + if test "x$link_system" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_system" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_test_exec_monitor.m4 b/m4/autoconf-archive/ax_boost_test_exec_monitor.m4 new file mode 100755 index 0000000000..8688817580 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_test_exec_monitor.m4 @@ -0,0 +1,139 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_test_exec_monitor.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_BOOST_TEST_EXEC_MONITOR +# +# DESCRIPTION +# +# Test for Test_Exec_Monitor library from the Boost C++ libraries. The +# macro requires a preceding call to AX_BOOST_BASE. Further documentation +# is available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_TEST_EXEC_MONITOR_LIB) +# +# And sets: +# +# HAVE_BOOST_TEST_EXEC_MONITOR +# +# LICENSE +# +# Copyright (c) 2008 Dodji Seketeli +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 21 + +AC_DEFUN([AX_BOOST_TEST_EXEC_MONITOR], +[ + AC_ARG_WITH([boost-test-exec-monitor], + AS_HELP_STRING([--with-boost-test-exec-monitor@<:@=special-lib@:>@], + [use the Test_Exec_Monitor library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-test-exec-monitor=boost_test_exec_monitor-gcc ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_test_exec_monitor_lib="" + else + want_boost="yes" + ax_boost_user_test_exec_monitor_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Test_Exec_Monitor library is available, + ax_cv_boost_test_exec_monitor, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[int i=1 ; BOOST_REQUIRE(i==1); ; return 0;]])], + ax_cv_boost_test_exec_monitor=yes, ax_cv_boost_test_exec_monitor=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_test_exec_monitor" = "xyes"; then + AC_DEFINE(HAVE_BOOST_TEST_EXEC_MONITOR,,[define if the Boost::Test_Exec_Monitor library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_test_exec_monitor_lib" = "x"; then + saved_ldflags="${LDFLAGS}" + + for monitor_library in `ls $BOOSTLIBDIR/libboost_test_exec_monitor*.so* $BOOSTLIBDIR/libboost_test_exec_monitor*.dylib* $BOOSTLIBDIR/libboost_test_exec_monitor*.a* 2>/dev/null` ; do + if test -r $monitor_library ; then + libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_test_exec_monitor.*\)\.so.*$;\1;' -e 's;^lib\(boost_test_exec_monitor.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_test_exec_monitor.*\)\.a.*$;\1;'` + ax_lib=${libextension} + link_test_exec_monitor="yes" + else + link_test_exec_monitor="no" + fi + + if test "x$link_test_exec_monitor" = "xyes"; then + BOOST_TEST_EXEC_MONITOR_LIB="-l$ax_lib" + AC_SUBST(BOOST_TEST_EXEC_MONITOR_LIB) + break + fi + done + if test "x$link_test_exec_monitor" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_test_exec_monitor*.dll* $BOOSTLIBDIR/boost_test_exec_monitor*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_test_exec_monitor.*\)\.dll.*$;\1;' -e 's;^\(boost_test_exec_monitor.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_TEST_EXEC_MONITOR_LIB="-l$ax_lib"; AC_SUBST(BOOST_TEST_EXEC_MONITOR_LIB) link_test_exec_monitor="yes"; break], + [link_test_exec_monitor="no"]) + done + fi + + else + link_test_exec_monitor="no" + saved_ldflags="${LDFLAGS}" + for ax_lib in boost_test_exec_monitor-$ax_boost_user_test_exec_monitor_lib $ax_boost_user_test_exec_monitor_lib ; do + if test "x$link_test_exec_monitor" = "xyes"; then + break; + fi + for monitor_library in `ls $BOOSTLIBDIR/lib${ax_lib}.so* $BOOSTLIBDIR/lib${ax_lib}.a* 2>/dev/null` ; do + if test -r $monitor_library ; then + libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_test_exec_monitor.*\)\.so.*$;\1;' -e 's;^lib\(boost_test_exec_monitor.*\)\.a*$;\1;'` + ax_lib=${libextension} + link_test_exec_monitor="yes" + else + link_test_exec_monitor="no" + fi + + if test "x$link_test_exec_monitor" = "xyes"; then + BOOST_TEST_EXEC_MONITOR_LIB="-l$ax_lib" + AC_SUBST(BOOST_TEST_EXEC_MONITOR_LIB) + break + fi + done + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_test_exec_monitor" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_thread.m4 b/m4/autoconf-archive/ax_boost_thread.m4 new file mode 100755 index 0000000000..eee9ab61e5 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_thread.m4 @@ -0,0 +1,163 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_thread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_THREAD +# +# DESCRIPTION +# +# Test for Thread library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_THREAD_LIB) +# +# And sets: +# +# HAVE_BOOST_THREAD +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 31 + +AC_DEFUN([AX_BOOST_THREAD], +[ + AC_ARG_WITH([boost-thread], + AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@], + [use the Thread library from boost - + it is possible to specify a certain library for the linker + e.g. --with-boost-thread=boost_thread-gcc-mt ]), + [ + if test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_thread_lib="" + else + want_boost="yes" + ax_boost_user_thread_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Thread library is available, + ax_cv_boost_thread, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + if test "x$host_os" = "xsolaris" ; then + CXXFLAGS="-pthreads $CXXFLAGS" + elif test "x$host_os" = "xmingw32" ; then + CXXFLAGS="-mthreads $CXXFLAGS" + else + CXXFLAGS="-pthread $CXXFLAGS" + fi + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[@%:@include ]], + [[boost::thread_group thrds; + return 0;]])], + ax_cv_boost_thread=yes, ax_cv_boost_thread=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_thread" = "xyes"; then + if test "x$host_os" = "xsolaris" ; then + BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS" + elif test "x$host_os" = "xmingw32" ; then + BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS" + else + BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS" + fi + + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_THREAD,, + [define if the Boost::Thread library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + case "x$host_os" in + *bsd* ) + LDFLAGS="-pthread $LDFLAGS" + break; + ;; + esac + if test "x$ax_boost_user_thread_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_thread* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'`; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [link_thread="yes"; break], + [link_thread="no"]) + done + if test "x$link_thread" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_thread* 2>/dev/null | sed 's,.*/,,' | sed 's,\..*,,'`; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [link_thread="yes"; break], + [link_thread="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_thread_lib boost_thread-$ax_boost_user_thread_lib; do + AC_CHECK_LIB($ax_lib, exit, + [link_thread="yes"; break], + [link_thread="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_thread" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + else + BOOST_THREAD_LIB="-l$ax_lib" + case "x$host_os" in + *bsd* ) + BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS" + break; + ;; + xsolaris ) + BOOST_THREAD_LIB="$BOOST_THREAD_LIB -lpthread" + break; + ;; + xmingw32 ) + break; + ;; + * ) + BOOST_THREAD_LIB="$BOOST_THREAD_LIB -lpthread" + break; + ;; + esac + AC_SUBST(BOOST_THREAD_LIB) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_unit_test_framework.m4 b/m4/autoconf-archive/ax_boost_unit_test_framework.m4 new file mode 100755 index 0000000000..4a7a7530b0 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_unit_test_framework.m4 @@ -0,0 +1,137 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_BOOST_UNIT_TEST_FRAMEWORK +# +# DESCRIPTION +# +# Test for Unit_Test_Framework library from the Boost C++ libraries. The +# macro requires a preceding call to AX_BOOST_BASE. Further documentation +# is available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) +# +# And sets: +# +# HAVE_BOOST_UNIT_TEST_FRAMEWORK +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 20 + +AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], +[ + AC_ARG_WITH([boost-unit-test-framework], + AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@], + [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_unit_test_framework_lib="" + else + want_boost="yes" + ax_boost_user_unit_test_framework_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available, + ax_cv_boost_unit_test_framework, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[using boost::unit_test::test_suite; + test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;]])], + ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then + AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then + saved_ldflags="${LDFLAGS}" + for monitor_library in `ls $BOOSTLIBDIR/libboost_unit_test_framework*.so* $BOOSTLIBDIR/libboost_unit_test_framework*.dylib* $BOOSTLIBDIR/libboost_unit_test_framework*.a* 2>/dev/null` ; do + if test -r $monitor_library ; then + libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a.*$;\1;'` + ax_lib=${libextension} + link_unit_test_framework="yes" + else + link_unit_test_framework="no" + fi + + if test "x$link_unit_test_framework" = "xyes"; then + BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" + AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) + break + fi + done + if test "x$link_unit_test_framework" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_unit_test_framework*.dll* $BOOSTLIBDIR/boost_unit_test_framework*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_unit_test_framework.*\)\.dll.*$;\1;' -e 's;^\(boost_unit_test_framework.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"; AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) link_unit_test_framework="yes"; break], + [link_unit_test_framework="no"]) + done + fi + else + link_unit_test_framework="no" + saved_ldflags="${LDFLAGS}" + for ax_lib in boost_unit_test_framework-$ax_boost_user_unit_test_framework_lib $ax_boost_user_unit_test_framework_lib ; do + if test "x$link_unit_test_framework" = "xyes"; then + break; + fi + for unittest_library in `ls $BOOSTLIBDIR/lib${ax_lib}.so* $BOOSTLIBDIR/lib${ax_lib}.a* 2>/dev/null` ; do + if test -r $unittest_library ; then + libextension=`echo $unittest_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a*$;\1;'` + ax_lib=${libextension} + link_unit_test_framework="yes" + else + link_unit_test_framework="no" + fi + + if test "x$link_unit_test_framework" = "xyes"; then + BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" + AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) + break + fi + done + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_unit_test_framework" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_boost_wave.m4 b/m4/autoconf-archive/ax_boost_wave.m4 new file mode 100755 index 0000000000..6a0be81cf7 --- /dev/null +++ b/m4/autoconf-archive/ax_boost_wave.m4 @@ -0,0 +1,127 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_boost_wave.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_WAVE +# +# DESCRIPTION +# +# Test for Wave library from the Boost C++ libraries. The macro requires a +# preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_WAVE_LIB) +# +# And sets: +# +# HAVE_BOOST_WAVE +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 16 + +AC_DEFUN([AX_BOOST_WAVE], +[ + AC_ARG_WITH([boost-wave], + AS_HELP_STRING([--with-boost-wave@<:@=special-lib@:>@], + [use the Wave library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-wave=boost_wave-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_wave_lib="" + else + want_boost="yes" + ax_boost_user_wave_lib="$withval" + fi + ], + [want_boost="yes"] + ) + AM_CONDITIONAL(ROSE_USE_BOOST_WAVE, test "x$want_boost" = "xyes" ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + LIBS_SAVED=$LIBS + LIBS="$LIBS $BOOST_THREAD_LIB" + export LIBS + + AC_CACHE_CHECK(whether the Boost::Wave library is available, + ax_cv_boost_wave, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[boost::wave::token_category r; return 0;]])], + ax_cv_boost_wave=yes, ax_cv_boost_wave=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_wave" = "xyes"; then + + AC_DEFINE(HAVE_BOOST_WAVE,,[define if the Boost::Wave library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_wave_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_wave*.so* $BOOSTLIBDIR/libboost_wave*.dylib* $BOOSTLIBDIR/libboost_wave*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_wave.*\)\.so.*$;\1;' -e 's;^lib\(boost_wave.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_wave.*\)\.a.*$;\1;' ` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_WAVE_LIB="-l$ax_lib"; AC_SUBST(BOOST_WAVE_LIB) link_wave="yes"; break], + [link_wave="no"]) + done + if test "x$link_wave" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_wave*.dll* $BOOSTLIBDIR/boost_wave*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_wave.*\)\.dll.*$;\1;' -e 's;^\(boost_wave.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_WAVE_LIB="-l$ax_lib"; AC_SUBST(BOOST_WAVE_LIB) link_wave="yes"; break], + [link_wave="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_wave_lib boost_wave-$ax_boost_user_wave_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_WAVE_LIB="-l$ax_lib"; AC_SUBST(BOOST_WAVE_LIB) link_wave="yes"; break], + [link_wave="no"]) + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_wave" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + # DQ (4/7/2006): build a macro to use in source code to know when WAVE is to be used. + AC_DEFINE([USE_ROSE_BOOST_WAVE_SUPPORT],1,[Controls use of BOOST WAVE support in ROSE.]) + + else + AC_DEFINE([USE_ROSE_BOOST_WAVE_SUPPORT],0,[Controls use of BOOST WAVE support in ROSE.]) + + fi + + + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + LIBS="$LIBS_SAVED" + + fi +]) diff --git a/m4/autoconf-archive/ax_boost_wserialization.m4 b/m4/autoconf-archive/ax_boost_wserialization.m4 new file mode 100755 index 0000000000..7a6000e7ee --- /dev/null +++ b/m4/autoconf-archive/ax_boost_wserialization.m4 @@ -0,0 +1,116 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_boost_wserialization.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_BOOST_WSERIALIZATION +# +# DESCRIPTION +# +# Test for Serialization library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_WSERIALIZATION_LIB) +# +# And sets: +# +# HAVE_BOOST_WSERIALIZATION +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 21 + +AC_DEFUN([AX_BOOST_WSERIALIZATION], +[ + AC_ARG_WITH([boost-wserialization], + AS_HELP_STRING([--with-boost-wserialization@<:@=special-lib@:>@], + [use the WSerialization library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-wserialization=boost_wserialization-gcc-mt-d-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_wserialization_lib="" + else + want_boost="yes" + ax_boost_user_wserialization_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::WSerialization library is available, + ax_cv_boost_wserialization, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + @%:@include + @%:@include + ]], + [[std::ofstream ofs("filename"); + boost::archive::text_oarchive oa(ofs); + return 0; + ]])], + ax_cv_boost_wserialization=yes, ax_cv_boost_wserialization=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_wserialization" = "xyes"; then + AC_DEFINE(HAVE_BOOST_WSERIALIZATION,,[define if the Boost::WSerialization library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_wserialization_lib" = "x"; then + for libextension in `ls $BOOSTLIBDIR/libboost_wserialization*.so* $BOOSTLIBDIR/libboost_wserialization*.dylib* $BOOSTLIBDIR/libboost_wserialization*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_wserialization.*\)\.so.*$;\1;' -e 's;^lib\(boost_wserialization.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_wserialization.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_WSERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_WSERIALIZATION_LIB) link_wserialization="yes"; break], + [link_wserialization="no"]) + done + if test "x$link_wserialization" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_wserialization*.dll* $BOOSTLIBDIR/boost_wserialization*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_wserialization.*\)\.dll.*$;\1;' -e 's;^\(boost_wserialization.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_WSERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_WSERIALIZATION_LIB) link_wserialization="yes"; break], + [link_wserialization="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_wserialization_lib boost_wserialization-$ax_boost_user_wserialization_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_WSERIALIZATION_LIB="-l$ax_lib"; AC_SUBST(BOOST_WSERIALIZATION_LIB) link_wserialization="yes"; break], + [link_wserialization="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_wserialization" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/m4/autoconf-archive/ax_build_date_epoch.m4 b/m4/autoconf-archive/ax_build_date_epoch.m4 new file mode 100755 index 0000000000..dbecb067a8 --- /dev/null +++ b/m4/autoconf-archive/ax_build_date_epoch.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_build_date_epoch.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BUILD_DATE_EPOCH(VARIABLE[, FORMAT[, ACTION-IF-FAIL]]) +# +# DESCRIPTION +# +# Sets VARIABLE to a string representing the current time. It is +# formatted according to FORMAT if specified, otherwise it is formatted as +# the number of seconds (excluding leap seconds) since the UNIX epoch (01 +# Jan 1970 00:00:00 UTC). +# +# If the SOURCE_DATE_EPOCH environment variable is set, it uses the value +# of that variable instead of the current time. See +# https://reproducible-builds.org/specs/source-date-epoch). If +# SOURCE_DATE_EPOCH is set but cannot be properly interpreted as a UNIX +# timestamp, then execute ACTION-IF-FAIL if specified, otherwise error. +# +# VARIABLE is AC_SUBST-ed. +# +# LICENSE +# +# Copyright (c) 2016 Eric Bavier +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_BUILD_DATE_EPOCH], +[dnl +AC_MSG_CHECKING([for build time]) +ax_date_fmt="m4_default($2,%s)" +AS_IF([test x"$SOURCE_DATE_EPOCH" = x], + [$1=`date "+$ax_date_fmt"`], + [ax_build_date=`date -u -d "@$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null \ + || date -u -r "$SOURCE_DATE_EPOCH" "+$ax_date_fmt" 2>/dev/null` + AS_IF([test x"$ax_build_date" = x], + [m4_ifval([$3], + [$3], + [AC_MSG_ERROR([malformed SOURCE_DATE_EPOCH])])], + [$1=$ax_build_date])]) +AC_MSG_RESULT([$$1]) +])dnl AX_BUILD_DATE_EPOCH diff --git a/m4/autoconf-archive/ax_c99_inline.m4 b/m4/autoconf-archive/ax_c99_inline.m4 new file mode 100755 index 0000000000..6675e02fbc --- /dev/null +++ b/m4/autoconf-archive/ax_c99_inline.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c99_inline.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C99_INLINE +# +# DESCRIPTION +# +# This macro defines HAVE_C99_INLINE if the C compiler supports "inline" +# and "extern inline" correctly. An application may replace "inline" with +# "static inline" as a workaround for older compilers. +# +# LICENSE +# +# Copyright (c) 2009 Michael McMaster +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_C99_INLINE], [ + AC_MSG_CHECKING([whether the compiler supports C99 inline functions]) + AC_REQUIRE([AC_PROG_CC_C99]) + + AC_LANG_PUSH([C]) + + dnl In a conforming C99 implementation a function marked "inline" will not + dnl be compiled into the translation unit if the compiler was not able to + dnl inline the function. + dnl GCC versions before 4.3 would output the inline functions into all + dnl translation units that could require the definition. + AC_LINK_IFELSE( + AC_LANG_SOURCE([ + inline void* foo() { foo(); return &foo; } + int main() { return foo() != 0;} + ]), + + dnl the invalid source compiled, so the inline keyword does not work + dnl correctly. + AC_MSG_RESULT([no]), + + dnl Secondary test of valid source. + AC_LINK_IFELSE( + AC_LANG_SOURCE([ + extern inline void* foo() { foo(); return &foo; } + int main() { return foo() != 0;} + ]), + + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_C99_INLINE], [1], + [Define to 1 if the "extern" keyword controls whether an inline function appears in a translation unit.]), + + dnl Perhaps inline functions aren't supported at all ? + AC_MSG_RESULT([no]) + ) + ) + + AC_LANG_POP([C]) + ]); diff --git a/m4/autoconf-archive/ax_c___attribute__.m4 b/m4/autoconf-archive/ax_c___attribute__.m4 new file mode 100755 index 0000000000..6a1ede15e6 --- /dev/null +++ b/m4/autoconf-archive/ax_c___attribute__.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c___attribute__.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C___ATTRIBUTE__ +# +# DESCRIPTION +# +# Provides a test for the compiler support of __attribute__ extensions. +# Defines HAVE___ATTRIBUTE__ if it is found. +# +# LICENSE +# +# Copyright (c) 2008 Stepan Kasal +# Copyright (c) 2008 Christian Haggstrom +# Copyright (c) 2008 Ryan McCabe +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_C___ATTRIBUTE__], [ + AC_CACHE_CHECK([for __attribute__], [ax_cv___attribute__], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + static void foo(void) __attribute__ ((unused)); + static void + foo(void) { + exit(1); + } + ]], [])], + [ax_cv___attribute__=yes], + [ax_cv___attribute__=no] + ) + ]) + if test "$ax_cv___attribute__" = "yes"; then + AC_DEFINE([HAVE___ATTRIBUTE__], 1, [define if your compiler has __attribute__]) + fi +]) diff --git a/m4/autoconf-archive/ax_c_arithmetic_rshift.m4 b/m4/autoconf-archive/ax_c_arithmetic_rshift.m4 new file mode 100755 index 0000000000..f72e5071a1 --- /dev/null +++ b/m4/autoconf-archive/ax_c_arithmetic_rshift.m4 @@ -0,0 +1,36 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_arithmetic_rshift.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C_ARITHMETIC_RSHIFT +# +# DESCRIPTION +# +# Checks if the right shift operation is arithmetic. +# +# This macro uses compile-time detection and so is cross-compile ready. +# +# LICENSE +# +# Copyright (c) 2008 YAMAMOTO Kengo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_C_ARITHMETIC_RSHIFT], [ + AC_CACHE_CHECK([whether right shift operation is arithmetic], + [ax_cv_c_arithmetic_rshift], + [AC_COMPILE_IFELSE([[int dummy[((-1 >> 1) < 0) ? 1 : -1];]], + [ax_cv_c_arithmetic_rshift=yes], + [ax_cv_c_arithmetic_rshift=no])]) + if test "x$ax_cv_c_arithmetic_rshift" = xyes; then + AC_DEFINE([HAVE_ARITHMETIC_RSHIFT], [1], + [Define to 1 if the right shift operation is arithmetic.]) + fi +]) diff --git a/m4/autoconf-archive/ax_c_compile_value.m4 b/m4/autoconf-archive/ax_c_compile_value.m4 new file mode 100755 index 0000000000..18853714a5 --- /dev/null +++ b/m4/autoconf-archive/ax_c_compile_value.m4 @@ -0,0 +1,124 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_compile_value.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C_COMPILE_VALUE (COMPILE-VALUE, ALIAS, INCLUDES) +# +# DESCRIPTION +# +# The AX_C_COMPILE_VALUE macro determines a compile time value by +# generating the object code and reading the value from the code. Static +# data initializers like sizeof(int) are unavailable to preprocessor. The +# macro calculates the values known to compiler's static initializer. +# +# Assumptions: The sought value should not exceed 65535. The shell +# interpreter and the sed utility are expected to exist and work similarly +# across possible build platforms. +# +# Result: The resulting configure script will generate the preprocessor +# symbol definition: +# +# #define COMPILE_VALUE_ +# +# It was important that the value was embedded into the object file in a +# predefined byte order during the test. This ensured that the result was +# independent from the target platform's byte order. +# +# The existing AC_CHECK_SIZEOF macro also computes the size of the given +# type without running the test program. However, the existing macro will +# produce a piece of configure script that will take the time proportional +# to the logarithm of the sought value. +# +# Example of use in configure.in: +# +# AX_C_COMPILE_VALUE(sizeof(int), sizeof_int) +# AX_C_COMPILE_VALUE([sizeof(int[[543]])], sizeof_int543) +# +# As a result of running the generated configure script, the following +# definition will appear in config.h: +# +# #define COMPILE_VALUE_SIZEOF_INT 4 +# #define COMPILE_VALUE_SIZEOF_INT543 2172 +# +# LICENSE +# +# Copyright (c) 2008 Ilguiz Latypov +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +## Portability defines that help interoperate with classic and modern autoconfs +ifdef([AC_TR_SH],[ +define([AC_TR_SH_REUSE],[AC_TR_SH([$1])]) +define([AC_TR_CPP_REUSE],[AC_TR_CPP([$1])]) +], [ +define([AC_TR_SH_REUSE], + [patsubst(translit([[$1]], [*+], [pp]), [[^a-zA-Z0-9_]], [_])]) +define([AC_TR_CPP_REUSE], + [patsubst(translit([[$1]], + [*abcdefghijklmnopqrstuvwxyz], + [PABCDEFGHIJKLMNOPQRSTUVWXYZ]), + [[^A-Z0-9_]], [_])]) +]) + +AC_DEFUN([AX_C_COMPILE_VALUE], [ + pushdef([ac_c_compile_value], + AC_TR_SH_REUSE([ac_cv_c_compile_value_$2]))dnl + ac_c_compile_value_expand="$1" + AC_CACHE_CHECK([value of $1 by analyzing object code], + ac_c_compile_value, [ + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -c -o conftest.o" + AC_TRY_COMPILE([$3 + #include + #include + #include + #define COMPILE_VALUE $ac_c_compile_value_expand + #define HEX_DIGIT(n) ((n) >= 10 ? 'a' + (n) - 10 : '0' + (n)) + char object_code_block[] = { + '\n', 'e', '4', 'V', 'A', + '0', 'x', + (char) HEX_DIGIT((((COMPILE_VALUE / 16) / 16) / 16) % 16), + (char) HEX_DIGIT(((COMPILE_VALUE / 16) / 16) % 16), + (char) HEX_DIGIT((COMPILE_VALUE / 16) % 16), + (char) HEX_DIGIT(COMPILE_VALUE % 16), + 'Y', '3', 'p', 'M', '\n' + };], + [], + [ac_c_compile_value=` + typeset -i n=\`sed -ne 's/^e4VA0x\(.*\)Y3pM$/0x\1/p' < conftest.o\`; + echo $n`], + [ac_c_compile_value=0]) + CFLAGS="$save_CFLAGS"]) + AC_DEFINE_UNQUOTED(AC_TR_CPP_REUSE(compile_value_$2), + [$[]ac_c_compile_value], + [$1]) + popdef([ac_c_compile_value])dnl +]) diff --git a/m4/autoconf-archive/ax_c_declare_block.m4 b/m4/autoconf-archive/ax_c_declare_block.m4 new file mode 100755 index 0000000000..b429dac75f --- /dev/null +++ b/m4/autoconf-archive/ax_c_declare_block.m4 @@ -0,0 +1,89 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_declare_block.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C_DECLARE_BLOCK +# +# DESCRIPTION +# +# The macro will compile a test program to see whether the compiler does +# allow new variable declarations in the middle of a C statement block, +# i.e. after some non-declaration line. New compilers will allow that +# which makes the behave a bit more like C++ - the gcc did support it for +# quite a time already. +# +# #define DECLARE_BLOCK_NEEDED says they need to be at the beginning of of +# a statement block. Additionally two defines DECLARE_BLOCK { and +# DECLARE_END } are being set. That makes it possible to do the following +# in your source code (which this macro is really made up for): +# +# #define ___ DECLARE_BLOCK +# #define ____ DECLARE_END +# +# int f() { +# char buffer[1024]; +# fgets(buffer, 1024, stdin); +# ___ int i; int ii = strlen(buffer); +# for (i=0; i < ii; i++) { +# fputc(buffer[i], stdout); +# }____; +# } +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_C_DECLARE_BLOCK],[dnl +AC_CACHE_CHECK( + [if C variables must be declared at the beginning of a block], + ax_cv_c_declare_block,[ + AC_TRY_COMPILE([#include + int f() { + char buffer[1024]; + fgets(buffer, 1024, stdin); + int i; int ii = strlen(buffer); + for (i=0; i < ii; i++) { + fputc(buffer[i], stdout); + } + }], + [], + ax_cv_c_declare_block=no, ax_cv_c_declare_block=yes)]) + if test "$ax_cv_c_declare_block" = yes; then + AC_DEFINE([DECLARE_BLOCK_NEEDED],[1], + [if C variables must be declared at the beginning of a block]) + AC_DEFINE([DECLARE_BLOCK],[{], + [set to { if variable declarations need a block start before]) + AC_DEFINE([DECLARE_END],[}], + [set to } if variable declarations need a block start before]) + fi +]) diff --git a/m4/autoconf-archive/ax_c_float_words_bigendian.m4 b/m4/autoconf-archive/ax_c_float_words_bigendian.m4 new file mode 100755 index 0000000000..fff300792a --- /dev/null +++ b/m4/autoconf-archive/ax_c_float_words_bigendian.m4 @@ -0,0 +1,83 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN]) +# +# DESCRIPTION +# +# Checks the ordering of words within a multi-word float. This check is +# necessary because on some systems (e.g. certain ARM systems), the float +# word ordering can be different from the byte ordering. In a multi-word +# float context, "big-endian" implies that the word containing the sign +# bit is found in the memory location with the lowest address. This +# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf. +# +# The endianess is detected by first compiling C code that contains a +# special double float value, then grepping the resulting object file for +# certain strings of ASCII values. The double is specially crafted to have +# a binary representation that corresponds with a simple string. In this +# implementation, the string "noonsees" was selected because the +# individual word values ("noon" and "sees") are palindromes, thus making +# this test byte-order agnostic. If grep finds the string "noonsees" in +# the object file, the target platform stores float words in big-endian +# order. If grep finds "seesnoon", float words are in little-endian order. +# If neither value is found, the user is instructed to specify the +# ordering. +# +# LICENSE +# +# Copyright (c) 2008 Daniel Amelang +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN], + [AC_CACHE_CHECK(whether float word ordering is bigendian, + ax_cv_c_float_words_bigendian, [ + +ax_cv_c_float_words_bigendian=unknown +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + +double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0; + +]])], [ + +if grep noonsees conftest.$ac_objext >/dev/null ; then + ax_cv_c_float_words_bigendian=yes +fi +if grep seesnoon conftest.$ac_objext >/dev/null ; then + if test "$ax_cv_c_float_words_bigendian" = unknown; then + ax_cv_c_float_words_bigendian=no + else + ax_cv_c_float_words_bigendian=unknown + fi +fi + +])]) + +case $ax_cv_c_float_words_bigendian in + yes) + m4_default([$1], + [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1, + [Define to 1 if your system stores words within floats + with the most significant word first])]) ;; + no) + $2 ;; + *) + m4_default([$3], + [AC_MSG_ERROR([ + +Unknown float word ordering. You need to manually preset +ax_cv_c_float_words_bigendian=no (or yes) according to your system. + + ])]) ;; +esac + +])# AX_C_FLOAT_WORDS_BIGENDIAN diff --git a/m4/autoconf-archive/ax_c_long_long.m4 b/m4/autoconf-archive/ax_c_long_long.m4 new file mode 100755 index 0000000000..23f2e910fb --- /dev/null +++ b/m4/autoconf-archive/ax_c_long_long.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_long_long.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C_LONG_LONG +# +# DESCRIPTION +# +# Provides a test for the existence of the long long int type and defines +# HAVE_LONG_LONG if it is found. +# +# LICENSE +# +# Copyright (c) 2008 Caolan McNamara +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_C_LONG_LONG], [AX_C_LONG_LONG]) +AC_DEFUN([AX_C_LONG_LONG], +[AC_CACHE_CHECK(for long long int, ac_cv_c_long_long, +[if test "$GCC" = yes; then + ac_cv_c_long_long=yes + else + AC_TRY_COMPILE(,[long long int i;], + ac_cv_c_long_long=yes, + ac_cv_c_long_long=no) + fi]) + if test $ac_cv_c_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [compiler understands long long]) + fi +]) diff --git a/m4/autoconf-archive/ax_c_referenceable_passed_va_list.m4 b/m4/autoconf-archive/ax_c_referenceable_passed_va_list.m4 new file mode 100755 index 0000000000..ecfc50744f --- /dev/null +++ b/m4/autoconf-archive/ax_c_referenceable_passed_va_list.m4 @@ -0,0 +1,97 @@ +# ====================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_referenceable_passed_va_list.html +# ====================================================================================== +# +# SYNOPSIS +# +# AX_C_REFERENCEABLE_PASSED_VA_LIST +# +# DESCRIPTION +# +# Checks whether f(va_list va){ &va; } works as expected. +# +# This macro uses compile-time detection and so is cross-compile ready. +# +# C99 mentioned passing a pointer to va_list to other functions (footnote +# 212 of "7.15 Variable arguments "). However, f(va_list va) { +# &va; } produces broken pointer on some environments such as gcc on +# x86_64, although { va_list va; &va; } works as expected. See the +# detection code of this file and any of pages +# https://www.gnu.org/software/autoconf/manual/html_node/Function-Portability.html, +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557, and +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20951 for further +# information. +# +# Although C99 does not define the operations f(va_list va) { &va; } and +# &va itself as standard (footnotes are declared as "normative part, +# information only"), certain situations need it. This macro provides a +# type detection about va_list implementation to deal with the operation. +# +# Following workaround will probably work on such environments although it +# does not ensure to be safe and portable. At least it is working on +# x86_64-unknown-linux-gnu: +# +# f(va_list va) +# { +# va_list *vap; +# +# #if HAVE_REFERENCEABLE_PASSED_VA_LIST +# vap = &va; +# #else +# vap = (va_list *)va; +# #endif +# } +# +# LICENSE +# +# Copyright (c) 2008 YAMAMOTO Kengo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_C_REFERENCEABLE_PASSED_VA_LIST], [ + AC_CACHE_CHECK([whether f(va_list va){ &va; } works as expected], + [ax_cv_c_referenceable_passed_va_list], + [AC_LINK_IFELSE([[ +#include + +volatile va_list g_va; + +void +vf(va_list callee_va) +{ + /* typeof(callee_va) differs from typeof(caller_va) by a compiler trick, if + * va_list is implemented as an array. On such environment, this copy + * operation fails. */ + g_va = callee_va; +} + +void +f(int last, ...) +{ + va_list caller_va; + + va_start(caller_va, last); + vf(caller_va); /* passed as &caller_va[0] if va_list is an array type */ + va_end(caller_va); +} + +int +main(int argc, char *argv[]) +{ + f(0xdeadbeef, 0xfedbeef, 0xfeedee); + + return 0; +} + ]], + [ax_cv_c_referenceable_passed_va_list=yes], + [ax_cv_c_referenceable_passed_va_list=no])]) + if test "x$ax_cv_c_referenceable_passed_va_list" = xyes; then + AC_DEFINE([HAVE_REFERENCEABLE_PASSED_VA_LIST], [1], + [Define to 1 if f(va_list va){ &va; } works as expected.]) + fi +]) diff --git a/m4/autoconf-archive/ax_c_var_func.m4 b/m4/autoconf-archive/ax_c_var_func.m4 new file mode 100755 index 0000000000..9aa75bb97d --- /dev/null +++ b/m4/autoconf-archive/ax_c_var_func.m4 @@ -0,0 +1,67 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_c_var_func.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_C_VAR_FUNC +# +# DESCRIPTION +# +# This macro tests if the C complier supports the C9X standard __func__ +# identifier. +# +# The new C9X standard for the C language stipulates that the identifier +# __func__ shall be implicitly declared by the compiler as if, immediately +# following the opening brace of each function definition, the declaration +# +# static const char __func__[] = "function-name"; +# +# appeared, where function-name is the name of the function where the +# __func__ identifier is used. +# +# LICENSE +# +# Copyright (c) 2008 Christopher Currie +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_C_VAR_FUNC], [AX_C_VAR_FUNC]) +AC_DEFUN([AX_C_VAR_FUNC], +[AC_REQUIRE([AC_PROG_CC]) +AC_CACHE_CHECK(whether $CC recognizes __func__, ac_cv_c_var_func, +AC_TRY_COMPILE(, +[int main() { +char *s = __func__; +}], ac_cv_c_var_func=yes, +ac_cv_c_var_func=no) ) +if test "x$ac_cv_c_var_func" = xyes; then + AC_DEFINE(HAVE_FUNC,,[Define if the C complier supports __func__]) +fi +])dnl diff --git a/m4/autoconf-archive/ax_cache_size.m4 b/m4/autoconf-archive/ax_cache_size.m4 new file mode 100755 index 0000000000..392b103b15 --- /dev/null +++ b/m4/autoconf-archive/ax_cache_size.m4 @@ -0,0 +1,87 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cache_size.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CACHE_SIZE +# +# DESCRIPTION +# +# Find L1 and L2 caches size by reading the corresponding file on UNIX or +# by requesting cpuid. The results are available in the defines +# CPU_L1_CACHE and CPU_L2_CACHE. +# +# This macro depends on AX_GCC_X86_CPUID, AC_PROG_SED, AX_COUNT_CPUS, and +# AX_CPU_VENDOR. +# +# LICENSE +# +# Copyright (c) 2008 Christophe Tournayre +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_CACHE_SIZE], +[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AX_COUNT_CPUS]) + AC_REQUIRE([AX_GCC_X86_CPUID]) + AC_REQUIRE([AX_CPU_VENDOR]) + + AX_COUNT_CPUS + AX_CPU_VENDOR + + ax_l1_size=unknown + ax_l2_size=unknown + + #Check if the variable is present + if test -e /sys/devices/system/cpu/cpu0/cache/index0/size; then + for ncpu in `seq 0 $(($CPU_COUNT-1))`; do + for idx in `seq 0 3`; do + if test -e /sys/devices/system/cpu/cpu$ncpu/cache/index$idx/size ; then + level=`cat /sys/devices/system/cpu/cpu$ncpu/cache/index$idx/level` + size=`cat /sys/devices/system/cpu/cpu$ncpu/cache/index$idx/size` + eval CPU$ncpu\_L$level\_CACHE="$size" + fi + done + done + + # This part can (must !!!) be optimized, because we know all caches per proc but + # we only take care about the first proc + ax_l1_size=$CPU0_L1_CACHE + ax_l2_size=$CPU0_L2_CACHE + + else + #Or use CPUID + if test $ax_xpu_vendor != "Intel"; then + AX_GCC_X86_CPUID(0x80000005) # For L1 cache (not available on intel !!!) + + l1_hexval=$(( 16#`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4`)) + ax_l1_size=$(($l1_hexval >> 24)) + fi + + AX_GCC_X86_CPUID(0x80000006) # For L2 cache + + l2_hexval=$(( 16#`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3`)) + ax_l2_size=$(($l2_hexval >> 16)) + fi + + # Keep only digits if there is a unit (ie 1024K -> 1024) and convert in Bytes + AC_MSG_CHECKING(the L1 cache size) + ax_l1_size=`echo $ax_l1_size | $SED 's/\([[0-9]]\)[[A-Za-z]]$/\1/g'` + ax_l1_size=$(($ax_l1_size*1024)) + AC_MSG_RESULT( $ax_l1_size Bytes) + + AC_MSG_CHECKING(the L2 cache size) + ax_l2_size=`echo $ax_l2_size | $SED 's/\([[0-9]]\)[[A-Za-z]]$/\1/g'` + ax_l2_size=$(($ax_l2_size*1024)) + AC_MSG_RESULT( $ax_l2_size Bytes) + + AC_DEFINE_UNQUOTED([CPU_L1_CACHE], ${ax_l1_size}, [L1 cache size (in Bytes)]) + AC_DEFINE_UNQUOTED([CPU_L2_CACHE], ${ax_l2_size}, [L2 cache size (in Bytes)]) +]) diff --git a/m4/autoconf-archive/ax_caolan_check_package.m4 b/m4/autoconf-archive/ax_caolan_check_package.m4 new file mode 100755 index 0000000000..507a3abd9e --- /dev/null +++ b/m4/autoconf-archive/ax_caolan_check_package.m4 @@ -0,0 +1,94 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_caolan_check_package.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_caolan_CHECK_PACKAGE(PACKAGE, FUNCTION, LIBRARY , HEADERFILE [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Provides --with-PACKAGE, --with-PACKAGE-include and +# --with-PACKAGE-libdir options to configure. Supports the now standard +# --with-PACKAGE=DIR approach where the package's include dir and lib dir +# are underneath DIR, but also allows the include and lib directories to +# be specified separately +# +# adds the extra -Ipath to CFLAGS if needed adds extra -Lpath to LD_FLAGS +# if needed searches for the FUNCTION in the LIBRARY with AC_CHECK_LIBRARY +# and thus adds the lib to LIBS +# +# defines HAVE_PKG_PACKAGE if it is found, (where PACKAGE in the +# HAVE_PKG_PACKAGE is replaced with the actual first parameter passed) +# note that autoheader will complain of not having the HAVE_PKG_PACKAGE +# and you will have to add it to acconfig.h manually +# +# LICENSE +# +# Copyright (c) 2008 Caolan McNamara +# Copyright (c) 2008 Alexandre Duret-Lutz +# Copyright (c) 2008 Matthew Mueller +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_caolan_CHECK_PACKAGE], +[ + +AC_ARG_WITH($1, +[ --with-$1[=DIR] root directory of $1 installation], +with_$1=$withval +if test "${with_$1}" != yes; then + $1_include="$withval/include" + $1_libdir="$withval/lib" +fi +) + +AC_ARG_WITH($1-include, +[ --with-$1-include=DIR specify exact include dir for $1 headers], +$1_include="$withval") + +AC_ARG_WITH($1-libdir, +[ --with-$1-libdir=DIR specify exact library dir for $1 library + --without-$1 disables $1 usage completely], +$1_libdir="$withval") + +if test "${with_$1}" != no ; then + OLD_LIBS=$LIBS + OLD_LDFLAGS=$LDFLAGS + OLD_CFLAGS=$CFLAGS + OLD_CPPFLAGS=$CPPFLAGS + + if test "${$1_libdir}" ; then + LDFLAGS="$LDFLAGS -L${$1_libdir}" + fi + if test "${$1_include}" ; then + CPPFLAGS="$CPPFLAGS -I${$1_include}" + CFLAGS="$CFLAGS -I${$1_include}" + fi + + no_good=no + AC_CHECK_LIB($3,$2,,no_good=yes) + AC_CHECK_HEADER($4,,no_good=yes) + if test "$no_good" = yes; then +dnl broken + ifelse([$6], , , [$6]) + + LIBS=$OLD_LIBS + LDFLAGS=$OLD_LDFLAGS + CPPFLAGS=$OLD_CPPFLAGS + CFLAGS=$OLD_CFLAGS + else +dnl fixed + ifelse([$5], , , [$5]) + + AC_DEFINE(HAVE_PKG_$1) + fi + +fi + +]) diff --git a/m4/autoconf-archive/ax_caolan_search_package.m4 b/m4/autoconf-archive/ax_caolan_search_package.m4 new file mode 100755 index 0000000000..5c260781ab --- /dev/null +++ b/m4/autoconf-archive/ax_caolan_search_package.m4 @@ -0,0 +1,91 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_caolan_search_package.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_caolan_SEARCH_PACKAGE(PACKAGE, FUNCTION, LIBRARY LIST, HEADERFILE [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Provides --with-PACKAGE, --with-PACKAGE-include and +# --with-PACKAGE-libdir options to configure. Supports the now standard +# --with-PACKAGE=DIR approach where the package's include dir and lib dir +# are underneath DIR, but also allows the include and lib directories to +# be specified separately +# +# adds the extra -Ipath to CFLAGS if needed adds extra -Lpath to LD_FLAGS +# if needed searches for the FUNCTION in each of the LIBRARY LIST with +# AC_SEARCH_LIBRARY and thus adds the lib to LIBS +# +# defines HAVE_PKG_PACKAGE if it is found, (where PACKAGE in the +# HAVE_PKG_PACKAGE is replaced with the actual first parameter passed) +# note that autoheader will complain of not having the HAVE_PKG_PACKAGE +# and you will have to add it to acconfig.h manually +# +# LICENSE +# +# Copyright (c) 2009 Caolan McNamara +# Copyright (c) 2009 Alexandre Duret-Lutz +# Copyright (c) 2009 Matthew Mueller +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_caolan_SEARCH_PACKAGE], +[ + +AC_ARG_WITH($1, +[ --with-$1[=DIR] root directory of $1 installation], +with_$1=$withval +if test "${with_$1}" != yes; then + $1_include="$withval/include" + $1_libdir="$withval/lib" +fi +) + +AC_ARG_WITH($1-include, +[ --with-$1-include=DIR specify exact include dir for $1 headers], +$1_include="$withval") + +AC_ARG_WITH($1-libdir, +[ --with-$1-libdir=DIR specify exact library dir for $1 library + --without-$1 disables $1 usage completely], +$1_libdir="$withval") + +if test "${with_$1}" != no ; then + OLD_LIBS=$LIBS + OLD_LDFLAGS=$LDFLAGS + OLD_CFLAGS=$CFLAGS + OLD_CPPFLAGS=$CPPFLAGS + + if test "${$1_libdir}" ; then + LDFLAGS="$LDFLAGS -L${$1_libdir}" + fi + if test "${$1_include}" ; then + CPPFLAGS="$CPPFLAGS -I${$1_include}" + CFLAGS="$CFLAGS -I${$1_include}" + fi + + success=no + AC_SEARCH_LIBS($2,$3,success=yes) + AC_CHECK_HEADERS($4,success=yes) + if test "$success" = yes; then +dnl fixed + ifelse([$5], , , [$5]) + AC_DEFINE(HAVE_PKG_$1) + else +dnl broken + ifelse([$6], , , [$6]) + LIBS=$OLD_LIBS + LDFLAGS=$OLD_LDFLAGS + CPPFLAGS=$OLD_CPPFLAGS + CFLAGS=$OLD_CFLAGS + fi +fi + +]) diff --git a/m4/autoconf-archive/ax_cc_for_build.m4 b/m4/autoconf-archive/ax_cc_for_build.m4 new file mode 100755 index 0000000000..c62ffadbc0 --- /dev/null +++ b/m4/autoconf-archive/ax_cc_for_build.m4 @@ -0,0 +1,77 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CC_FOR_BUILD +# +# DESCRIPTION +# +# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD. +# +# LICENSE +# +# Copyright (c) 2010 Reuben Thomas +# Copyright (c) 1999 Richard Henderson +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +dnl Get a default for CC_FOR_BUILD to put into Makefile. +AC_DEFUN([AX_CC_FOR_BUILD], +[# Put a plausible default for CC_FOR_BUILD in Makefile. +if test -z "$CC_FOR_BUILD"; then + if test "x$cross_compiling" = "xno"; then + CC_FOR_BUILD='$(CC)' + else + CC_FOR_BUILD=gcc + fi +fi +AC_SUBST(CC_FOR_BUILD) +# Also set EXEEXT_FOR_BUILD. +if test "x$cross_compiling" = "xno"; then + EXEEXT_FOR_BUILD='$(EXEEXT)' +else + AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, + [rm -f conftest* + echo 'int main () { return 0; }' > conftest.c + bfd_cv_build_exeext= + ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 + for file in conftest.*; do + case $file in + *.c | *.o | *.obj | *.ilk | *.pdb) ;; + *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; + esac + done + rm -f conftest* + test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) + EXEEXT_FOR_BUILD="" + test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} +fi +AC_SUBST(EXEEXT_FOR_BUILD)])dnl diff --git a/m4/autoconf-archive/ax_cc_maxopt.m4 b/m4/autoconf-archive/ax_cc_maxopt.m4 new file mode 100755 index 0000000000..59d03dac23 --- /dev/null +++ b/m4/autoconf-archive/ax_cc_maxopt.m4 @@ -0,0 +1,193 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CC_MAXOPT +# +# DESCRIPTION +# +# Try to turn on "good" C optimization flags for various compilers and +# architectures, for some definition of "good". (In our case, good for +# FFTW and hopefully for other scientific codes. Modify as needed.) +# +# The user can override the flags by setting the CFLAGS environment +# variable. The user can also specify --enable-portable-binary in order to +# disable any optimization flags that might result in a binary that only +# runs on the host architecture. +# +# Note also that the flags assume that ANSI C aliasing rules are followed +# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point +# computations can be re-ordered as needed. +# +# Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR, +# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2008 Matteo Frigo +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 17 + +AC_DEFUN([AX_CC_MAXOPT], +[ +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AX_COMPILER_VENDOR]) +AC_REQUIRE([AC_CANONICAL_HOST]) + +AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])], + acx_maxopt_portable=$enableval, acx_maxopt_portable=no) + +# Try to determine "good" native compiler flags if none specified via CFLAGS +if test "$ac_test_CFLAGS" != "set"; then + CFLAGS="" + case $ax_cv_c_compiler_vendor in + dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" + if test "x$acx_maxopt_portable" = xno; then + CFLAGS="$CFLAGS -arch host" + fi;; + + sun) CFLAGS="-native -fast -xO5 -dalign" + if test "x$acx_maxopt_portable" = xyes; then + CFLAGS="$CFLAGS -xarch=generic" + fi;; + + hp) CFLAGS="+Oall +Optrs_ansi +DSnative" + if test "x$acx_maxopt_portable" = xyes; then + CFLAGS="$CFLAGS +DAportable" + fi;; + + ibm) if test "x$acx_maxopt_portable" = xno; then + xlc_opt="-qarch=auto -qtune=auto" + else + xlc_opt="-qtune=auto" + fi + AX_CHECK_COMPILE_FLAG($xlc_opt, + CFLAGS="-O3 -qansialias -w $xlc_opt", + [CFLAGS="-O3 -qansialias -w" + echo "******************************************************" + echo "* You seem to have the IBM C compiler. It is *" + echo "* recommended for best performance that you use: *" + echo "* *" + echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *" + echo "* ^^^ ^^^ *" + echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *" + echo "* CPU you have. (Set the CFLAGS environment var. *" + echo "* and re-run configure.) For more info, man cc. *" + echo "******************************************************"]) + ;; + + intel) CFLAGS="-O3 -ansi_alias" + if test "x$acx_maxopt_portable" = xno; then + icc_archflag=unknown + icc_flags="" + case $host_cpu in + i686*|x86_64*) + # icc accepts gcc assembly syntax, so these should work: + AX_GCC_X86_CPUID(0) + AX_GCC_X86_CPUID(1) + case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG + *:756e6547:6c65746e:49656e69) # Intel + case $ax_cv_gcc_x86_cpuid_1 in + *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) icc_flags="-xK" ;; + *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) icc_flags="-xSSE2 -xB -xK" ;; + *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) icc_flags="-xSSE3 -xP -xO -xB -xK" ;; + *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) icc_flags="-xSSSE3 -xT -xB -xK" ;; + *1?6[[7d]]?:*:*:*) icc_flags="-xSSE4.1 -xS -xT -xB -xK" ;; + *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) icc_flags="-xSSE4.2 -xS -xT -xB -xK" ;; + *2?6[[ad]]?:*:*:*) icc_flags="-xAVX -SSE4.2 -xS -xT -xB -xK" ;; + *3?6[[ae]]?:*:*:*) icc_flags="-xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; + *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) icc_flags="-xCORE-AVX2 -xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;; + *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) icc_flags="-xSSE3 -xP -xO -xN -xW -xK" ;; + *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) icc_flags="-xSSE2 -xN -xW -xK" ;; + esac ;; + esac ;; + esac + if test "x$icc_flags" != x; then + for flag in $icc_flags; do + AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break]) + done + fi + AC_MSG_CHECKING([for icc architecture flag]) + AC_MSG_RESULT($icc_archflag) + if test "x$icc_archflag" != xunknown; then + CFLAGS="$CFLAGS $icc_archflag" + fi + fi + ;; + + gnu) + # default optimization flags for gcc on all systems + CFLAGS="-O3 -fomit-frame-pointer" + + # -malign-double for x86 systems + AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double") + + # -fstrict-aliasing for gcc-2.95+ + AX_CHECK_COMPILE_FLAG(-fstrict-aliasing, + CFLAGS="$CFLAGS -fstrict-aliasing") + + # note that we enable "unsafe" fp optimization with other compilers, too + AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math") + + AX_GCC_ARCHFLAG($acx_maxopt_portable) + ;; + + microsoft) + # default optimization flags for MSVC opt builds + CFLAGS="-O2" + ;; + esac + + if test -z "$CFLAGS"; then + echo "" + echo "********************************************************" + echo "* WARNING: Don't know the best CFLAGS for this system *" + echo "* Use ./configure CFLAGS=... to specify your own flags *" + echo "* (otherwise, a default of CFLAGS=-O3 will be used) *" + echo "********************************************************" + echo "" + CFLAGS="-O3" + fi + + AX_CHECK_COMPILE_FLAG($CFLAGS, [], [ + echo "" + echo "********************************************************" + echo "* WARNING: The guessed CFLAGS don't seem to work with *" + echo "* your compiler. *" + echo "* Use ./configure CFLAGS=... to specify your own flags *" + echo "********************************************************" + echo "" + CFLAGS="" + ]) + +fi +]) diff --git a/m4/autoconf-archive/ax_cf_ebcdic.m4 b/m4/autoconf-archive/ax_cf_ebcdic.m4 new file mode 100755 index 0000000000..bb1196a586 --- /dev/null +++ b/m4/autoconf-archive/ax_cf_ebcdic.m4 @@ -0,0 +1,74 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cf_ebcdic.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CF_EBCDIC +# +# DESCRIPTION +# +# If the target character set is EBCDIC, defines variables cf_cv_ebcdic, +# EBCDIC, and NOT_ASCII. +# +# I originally wrote this and submitted it to the Lynx distribution. +# Editorial revisions by Tom Dickey, et. al. +# +# LICENSE +# +# Copyright (c) 2008 Paul Gilmartin +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +dnl Check whether character set is EBCDIC. +AU_ALIAS([CF_EBCDIC], [AX_CF_EBCDIC]) +AC_DEFUN([AX_CF_EBCDIC],[ +AC_MSG_CHECKING(if character set is EBCDIC) +AC_CACHE_VAL(cf_cv_ebcdic,[ + AC_TRY_COMPILE([ ], +[ /* TryCompile function for CharSet. + Treat any failure as ASCII for compatibility with existing art. + Use compile-time rather than run-time tests for cross-compiler + tolerance. */ +#if '0'!=240 +make an error "Character set is not EBCDIC" +#endif ], +[ # TryCompile action if true +cf_cv_ebcdic=yes ], +[ # TryCompile action if false +cf_cv_ebcdic=no]) +# end of TryCompile ]) +# end of CacheVal CvEbcdic +AC_MSG_RESULT($cf_cv_ebcdic) +case "$cf_cv_ebcdic" in #(vi + yes) AC_DEFINE(EBCDIC) + AC_DEFINE(NOT_ASCII);; #(vi + *) ;; +esac +])dnl diff --git a/m4/autoconf-archive/ax_cflags_aix_option.m4 b/m4/autoconf-archive/ax_cflags_aix_option.m4 new file mode 100755 index 0000000000..6c43afd9fb --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_aix_option.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_aix_option.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_AIX_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) +# +# DESCRIPTION +# +# AX_CFLAGS_AIX_OPTION(-qubicle) would show a message as like "checking +# CFLAGS for aix/cc -qubicle ... yes" and adds the optionflag to CFLAGS if +# it is understood. You can override the shellvar-default of CFLAGS of +# course. The order of arguments stems from the explicit macros like +# AX_CFLAGS_WARN_ALL. +# +# The cousin AX_CXXFLAGS_AIX_OPTION would check for an option to add to +# CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it +# is possible to use different compilers for C and C++). +# +# The macro is a lot simpler than any special AX_CFLAGS_* macro (or +# ax_cxx_rtti.m4 macro) but allows to check for arbitrary options. +# However, if you use this macro in a few places, it would be great if you +# would make up a new function-macro and submit it to the ac-archive. +# +# - $1 option-to-check-for : required ("-option" as non-value) +# - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# note: in earlier versions, $1-$2 were swapped. We try to detect the +# situation and accept a $2=~/-/ as being the old option-to-check-for. +# +# see also: AX_CFLAGS_GCC_OPTION for the widely used original variant. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_FLAGS_AIX_OPTION_PRIVATE], [dnl +AX_CHECK_COMPILE_FLAG([$1], [flag_ok="yes"], [flag_ok="no"], [-qlanglvl=ansi -qsrcmsg]) +AS_CASE([".$flag_ok"], + [.ok|.ok,*], [$3], + [.|.no|.no,*], [$4], + [m4_default($3,[AX_APPEND_FLAG([$1],[$2])])]) +]) + +AC_DEFUN([AX_CFLAGS_AIX_OPTION],[ + AC_LANG_PUSH([C]) + AX_FLAGS_AIX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) + +AC_DEFUN([AX_CXXFLAGS_AIX_OPTION],[ + AC_LANG_PUSH([C++]) + AX_FLAGS_AIX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) diff --git a/m4/autoconf-archive/ax_cflags_force_c89.m4 b/m4/autoconf-archive/ax_cflags_force_c89.m4 new file mode 100755 index 0000000000..59b33c161e --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_force_c89.m4 @@ -0,0 +1,93 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_force_c89.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_FORCE_C89 [(shellvar [,default, [A/NA]])] +# +# DESCRIPTION +# +# Try to find a compiler option that enables strict C89 mode. +# +# For the GNU CC compiler it will be -ansi -pedantic. The result is added +# to the shellvar being CFLAGS by default. +# +# Currently this macro knows about GCC, Solaris C compiler, Digital Unix C +# compiler, C for AIX Compiler, HP-UX C compiler, IRIX C compiler, NEC +# SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos 10.0.0.8) C +# compiler. +# +# - $1 shell-variable-to-add-to : CFLAGS +# - $2 add-value-if-not-found : nothing +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# NOTE: These macros depend on AX_APPEND_FLAG. +# +# LICENSE +# +# Copyright (c) 2009 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_CFLAGS_FORCE_C89],[dnl +AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_force_c89])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for C89 mode], +VAR,[VAR="no, unknown" + AC_LANG_SAVE + AC_LANG_C + ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic % -ansi -pedantic" dnl GCC + "-xstrconst % -v -Xc" dnl Solaris C + "-std1 % -std1" dnl Digital Unix + " % -qlanglvl=ansi" dnl AIX + " % -ansi -ansiE" dnl IRIX + "+ESlit % -Aa" dnl HP-UX C + "-Xc % -Xc" dnl NEC SX-5 (Super-UX 10) + "-h conform % -h conform" dnl Cray C (Unicos) + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +]) +AS_VAR_POPDEF([FLAGS])dnl +AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; + *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +]) diff --git a/m4/autoconf-archive/ax_cflags_hpux_option.m4 b/m4/autoconf-archive/ax_cflags_hpux_option.m4 new file mode 100755 index 0000000000..11cea3d2ef --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_hpux_option.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_hpux_option.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_HPUX_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) +# +# DESCRIPTION +# +# AX_CFLAGS_HPUX_OPTION(-Afresh) would show a message as like "checking +# CFLAGS for hpux/cc -Afresh ... yes" and adds the optionflag to CFLAGS if +# it is understood. You can override the shellvar-default of CFLAGS of +# course. The order of arguments stems from the explicit macros like +# AX_CFLAGS_WARN_ALL. +# +# The cousin AX_CXXFLAGS_HPUX_OPTION would check for an option to add to +# CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it +# is possible to use different compilers for C and C++). +# +# The macro is a lot simpler than any special AX_CFLAGS_* macro (or +# ax_cxx_rtti.m4 macro) but allows to check for arbitrary options. +# However, if you use this macro in a few places, it would be great if you +# would make up a new function-macro and submit it to the ac-archive. +# +# - $1 option-to-check-for : required ("-option" as non-value) +# - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# note: in earlier versions, $1-$2 were swapped. We try to detect the +# situation and accept a $2=~/-/ as being the old option-to-check-for. +# +# see also: AX_CFLAGS_GCC_OPTION for the widely used original variant. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_FLAGS_HPUX_OPTION_PRIVATE], [dnl +AX_CHECK_COMPILE_FLAG([$1], [flag_ok="yes"], [flag_ok="no"], [+ESlit +w1 -Aa]) +AS_CASE([".$flag_ok"], + [.ok|.ok,*], [$3], + [.|.no|.no,*], [$4], + [m4_default($3,[AX_APPEND_FLAG([$1],[$2])])]) +]) + +AC_DEFUN([AX_CFLAGS_HPUX_OPTION],[ + AC_LANG_PUSH([C]) + AX_FLAGS_HPUX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) + +AC_DEFUN([AX_CXXFLAGS_HPUX_OPTION],[ + AC_LANG_PUSH([C++]) + AX_FLAGS_HPUX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) diff --git a/m4/autoconf-archive/ax_cflags_irix_option.m4 b/m4/autoconf-archive/ax_cflags_irix_option.m4 new file mode 100755 index 0000000000..43c6787e1d --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_irix_option.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_irix_option.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_IRIX_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) +# +# DESCRIPTION +# +# AX_CFLAGS_IRIX_OPTION(-go_for_it) would show a message as like "checking +# CFLAGS for irix/cc -go_for_it ... yes" and adds the optionflag to CFLAGS +# if it is understood. You can override the shellvar-default of CFLAGS of +# course. The order of arguments stems from the explicit macros like +# AX_CFLAGS_WARN_ALL. +# +# The cousin AX_CXXFLAGS_IRIX_OPTION would check for an option to add to +# CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it +# is possible to use different compilers for C and C++). +# +# The macro is a lot simpler than any special AX_CFLAGS_* macro (or +# ax_cxx_rtti.m4 macro) but allows to check for arbitrary options. +# However, if you use this macro in a few places, it would be great if you +# would make up a new function-macro and submit it to the ac-archive. +# +# - $1 option-to-check-for : required ("-option" as non-value) +# - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# note: in earlier versions, $1-$2 were swapped. We try to detect the +# situation and accept a $2=~/-/ as being the old option-to-check-for. +# +# see also: AX_CFLAGS_GCC_OPTION for the widely used original variant. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_FLAGS_IRIX_OPTION_PRIVATE], [dnl +AX_CHECK_COMPILE_FLAG([$1], [flag_ok="yes"], [flag_ok="no"], [-fullwarn -use_readonly_const]) +AS_CASE([".$flag_ok"], + [.ok|.ok,*], [$3], + [.|.no|.no,*], [$4], + [m4_default($3,[AX_APPEND_FLAG([$1],[$2])])]) +]) + +AC_DEFUN([AX_CFLAGS_IRIX_OPTION],[ + AC_LANG_PUSH([C]) + AX_FLAGS_IRIX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) + +AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION],[ + AC_LANG_PUSH([C++]) + AX_FLAGS_IRIX_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) diff --git a/m4/autoconf-archive/ax_cflags_no_writable_strings.m4 b/m4/autoconf-archive/ax_cflags_no_writable_strings.m4 new file mode 100755 index 0000000000..48831fa29d --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_no_writable_strings.m4 @@ -0,0 +1,121 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_no_writable_strings.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_NO_WRITABLE_STRINGS [(shellvar [,default, [A/NA]])] +# +# DESCRIPTION +# +# Try to find a compiler option that makes all string literals readonly. +# +# The sanity check is done by looking at string.h which has a set of +# strcpy definitions that should be defined with const-modifiers to not +# emit a warning in all so many places. +# +# For the GNU CC compiler it will be -fno-writable-strings -Wwrite-strings +# The result is added to the shellvar being CFLAGS by default. +# +# DEFAULTS: +# +# - $1 shell-variable-to-add-to : CFLAGS +# - $2 add-value-if-not-found : nothing +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# NOTE: These macros depend on AX_APPEND_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_FLAGS_NO_WRITABLE_STRINGS],[dnl +AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ax_cv_[]_AC_LANG_ABBREV[]flags_no_writable_strings])dnl +AC_CACHE_CHECK([m4_ifval([$1],[$1],FLAGS) making strings readonly], +VAR,[VAR="no, unknown" +ac_save_[]FLAGS="$[]FLAGS" +# IRIX C compiler: +# -use_readonly_const is the default for IRIX C, +# puts them into .rodata, but they are copied later. +# need to be "-G0 -rdatashared" for strictmode but +# I am not sure what effect that has really. - guidod +for ac_arg dnl +in "-pedantic -Werror % -fno-writable-strings -Wwrite-strings" dnl GCC + "-pedantic -Werror % -fconst-strings -Wwrite-strings" dnl newer GCC + "-pedantic % -fconst-strings %% no, const-strings is default" dnl newer GCC + "-v -Xc % -xstrconst" dnl Solaris C - strings go into readonly segment + "+w1 -Aa % +ESlit" dnl HP-UX C - strings go into readonly segment + "-w0 -std1 % -readonly_strings" dnl Digital Unix - again readonly segment + "-fullwarn -use_readonly_const %% ok, its the default" dnl IRIX C + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check - testing strcpy() from string.h + cp config.log config.tmp + AC_TRY_COMPILE([#include ],[ + char test[16]; + if (strcpy (test, "test")) return 1;], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 + then VAR="no, suppressed, string.h," ; fi], + [VAR="no, suppressed, string.h"]) + rm config.tmp + ;; +esac +FLAGS="$ac_save_[]FLAGS" +]) +AS_VAR_POPDEF([FLAGS])dnl +AC_REQUIRE([AX_APPEND_FLAG]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; + *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +])dnl AX_FLAGS_NO_WRITABLE_STRINGS + +AC_DEFUN([AX_CFLAGS_NO_WRITABLE_STRINGS],[dnl +AC_LANG_PUSH([C]) +AX_FLAGS_NO_WRITABLE_STRINGS([$1], [$2], [$3], [$4]) +AC_LANG_POP([C]) +]) + +AC_DEFUN([AX_CXXFLAGS_NO_WRITABLE_STRINGS],[dnl +AC_LANG_PUSH([C++]) +AX_FLAGS_NO_WRITABLE_STRINGS([$1], [$2], [$3], [$4]) +AC_LANG_POP([C++]) +]) diff --git a/m4/autoconf-archive/ax_cflags_strict_prototypes.m4 b/m4/autoconf-archive/ax_cflags_strict_prototypes.m4 new file mode 100755 index 0000000000..1bc5db42d5 --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_strict_prototypes.m4 @@ -0,0 +1,118 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cflags_strict_prototypes.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_CFLAGS_STRICT_PROTOTYPES [(shellvar [,default, [A/NA]] +# +# DESCRIPTION +# +# Try to find a compiler option that requires strict prototypes. +# +# The sanity check is done by looking at sys/signal.h which has a set of +# macro-definitions SIG_DFL and SIG_IGN that are cast to the local +# signal-handler type. If that signal-handler type is not fully qualified +# then the system headers are not seen as strictly prototype clean. +# +# For the GNU CC compiler it will be -fstrict-prototypes +# -Wstrict-prototypes The result is added to the shellvar being CFLAGS by +# default. +# +# DEFAULTS: +# +# - $1 shell-variable-to-add-to : CFLAGS +# - $2 add-value-if-not-found : nothing +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# NOTE: These macros depend on AX_APPEND_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 16 + +AC_DEFUN([AX_FLAGS_STRICT_PROTOTYPES],[dnl +AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_strict_prototypes])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for strict prototypes], +VAR,[VAR="no, unknown" +ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-pedantic -Werror % -fstrict-prototypes -Wstrict-prototypes" dnl GCC + "-pedantic -Werror % -Wstrict-prototypes" dnl try to warn at least + "-pedantic -Werror % -Wmissing-prototypes" dnl try to warn at least + "-pedantic -Werror % -Werror-implicit-function-declaration" dnl + "-pedantic -Werror % -Wimplicit-function-declaration" dnl + "-pedantic % -Wstrict-prototypes %% no, unsupported" dnl oops + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_TRY_COMPILE([],[return 0;], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +case ".$VAR" in + .|.no|.no,*) ;; + *) # sanity check with signal() from sys/signal.h + cp config.log config.tmp + AC_TRY_COMPILE([#include ],[ + if (signal (SIGINT, SIG_IGN) == SIG_DFL) return 1; + if (signal (SIGINT, SIG_IGN) != SIG_DFL) return 2;], + dnl the original did use test -n `$CC testprogram.c` + [if test `diff config.log config.tmp | grep -i warning | wc -l` != 0 +then if test `diff config.log config.tmp | grep -i warning | wc -l` != 1 +then VAR="no, suppressed, signal.h," ; fi ; fi], + [VAR="no, suppressed, signal.h"]) + rm config.tmp + ;; +esac +FLAGS="$ac_save_[]FLAGS" +]) +AS_VAR_POPDEF([FLAGS])dnl +AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; + *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +])dnl AX_FLAGS_STRICT_PROTOTYPES + +AC_DEFUN([AX_CFLAGS_STRICT_PROTOTYPES],[dnl +AC_LANG_PUSH([C]) +AX_FLAGS_STRICT_PROTOTYPES([$1], [$2], [$3], [$4]) +AC_LANG_POP([C]) +]) + +AC_DEFUN([AX_CXXFLAGS_STRICT_PROTOTYPES],[dnl +AC_LANG_PUSH([C++]) +AX_FLAGS_STRICT_PROTOTYPES([$1], [$2], [$3], [$4]) +AC_LANG_POP([C++]) +]) diff --git a/m4/autoconf-archive/ax_cflags_sun_option.m4 b/m4/autoconf-archive/ax_cflags_sun_option.m4 new file mode 100755 index 0000000000..809f055160 --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_sun_option.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_sun_option.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_SUN_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) +# +# DESCRIPTION +# +# AX_CFLAGS_SUN_OPTION(+xtreme) would show a message as like "checking +# CFLAGS for sun/cc +xtreme ... yes" and adds the optionflag to CFLAGS if +# it is understood. You can override the shellvar-default of CFLAGS of +# course. The order of arguments stems from the explicit macros like +# AX_CFLAGS_WARN_ALL. +# +# The cousin AX_CXXFLAGS_SUN_OPTION would check for an option to add to +# CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it +# is possible to use different compilers for C and C++). +# +# The macro is a lot simpler than any special AX_CFLAGS_* macro (or +# ax_cxx_rtti.m4 macro) but allows to check for arbitrary options. +# However, if you use this macro in a few places, it would be great if you +# would make up a new function-macro and submit it to the ac-archive. +# +# - $1 option-to-check-for : required ("-option" as non-value) +# - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# note: in earlier versions, $1-$2 were swapped. We try to detect the +# situation and accept a $2=~/-/ as being the old option-to-check-for. +# +# see also: AX_CFLAGS_GCC_OPTION for the widely used original variant. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 15 + +AC_DEFUN([AX_FLAGS_SUN_OPTION_PRIVATE], [dnl +AX_CHECK_COMPILE_FLAG([$1], [flag_ok="yes"], [flag_ok="no"], [+xstrconst -Xc]) +AS_CASE([".$flag_ok"], + [.ok|.ok,*], [$3], + [.|.no|.no,*], [$4], + [m4_default($3,[AX_APPEND_FLAG([$1],[$2])])]) +]) + +AC_DEFUN([AX_CFLAGS_SUN_OPTION],[ + AC_LANG_PUSH([C]) + AX_FLAGS_SUN_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) + +AC_DEFUN([AX_CXXFLAGS_SUN_OPTION],[ + AC_LANG_PUSH([C++]) + AX_FLAGS_SUN_OPTION_PRIVATE(ifelse(m4_bregexp([$2],[-]),-1,[[$1],[$2]],[[$2],[$1]]),[$3],[$4]) + AC_LANG_POP +]) diff --git a/m4/autoconf-archive/ax_cflags_warn_all.m4 b/m4/autoconf-archive/ax_cflags_warn_all.m4 new file mode 100755 index 0000000000..094577e458 --- /dev/null +++ b/m4/autoconf-archive/ax_cflags_warn_all.m4 @@ -0,0 +1,122 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] +# AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] +# AX_FCFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] +# +# DESCRIPTION +# +# Try to find a compiler option that enables most reasonable warnings. +# +# For the GNU compiler it will be -Wall (and -ansi -pedantic) The result +# is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default. +# +# Currently this macro knows about the GCC, Solaris, Digital Unix, AIX, +# HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and +# Intel compilers. For a given compiler, the Fortran flags are much more +# experimental than their C equivalents. +# +# - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS +# - $2 add-value-if-not-found : nothing +# - $3 action-if-found : add value to shellvariable +# - $4 action-if-not-found : nothing +# +# NOTE: These macros depend on AX_APPEND_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2010 Rhys Ulerich +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 16 + +AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl +AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl +AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl +AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], +VAR,[VAR="no, unknown" +ac_save_[]FLAGS="$[]FLAGS" +for ac_arg dnl +in "-warn all % -warn all" dnl Intel + "-pedantic % -Wall" dnl GCC + "-xstrconst % -v" dnl Solaris C + "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix + "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX + "-ansi -ansiE % -fullwarn" dnl IRIX + "+ESlit % +w1" dnl HP-UX C + "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) + "-h conform % -h msglevel 2" dnl Cray C (Unicos) + # +do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) +done +FLAGS="$ac_save_[]FLAGS" +]) +AS_VAR_POPDEF([FLAGS])dnl +AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) +case ".$VAR" in + .ok|.ok,*) m4_ifvaln($3,$3) ;; + .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;; + *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +])dnl AX_FLAGS_WARN_ALL +dnl implementation tactics: +dnl the for-argument contains a list of options. The first part of +dnl these does only exist to detect the compiler - usually it is +dnl a global option to enable -ansi or -extrawarnings. All other +dnl compilers will fail about it. That was needed since a lot of +dnl compilers will give false positives for some option-syntax +dnl like -Woption or -Xoption as they think of it is a pass-through +dnl to later compile stages or something. The "%" is used as a +dnl delimiter. A non-option comment can be given after "%%" marks +dnl which will be shown but not added to the respective C/CXXFLAGS. + +AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl +AC_LANG_PUSH([C]) +AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) +AC_LANG_POP([C]) +]) + +AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl +AC_LANG_PUSH([C++]) +AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) +AC_LANG_POP([C++]) +]) + +AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl +AC_LANG_PUSH([Fortran]) +AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) +AC_LANG_POP([Fortran]) +]) diff --git a/m4/autoconf-archive/ax_check_aligned_access_required.m4 b/m4/autoconf-archive/ax_check_aligned_access_required.m4 new file mode 100755 index 0000000000..32c6edded3 --- /dev/null +++ b/m4/autoconf-archive/ax_check_aligned_access_required.m4 @@ -0,0 +1,92 @@ +# ===================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_aligned_access_required.html +# ===================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ALIGNED_ACCESS_REQUIRED +# +# DESCRIPTION +# +# While the x86 CPUs allow access to memory objects to be unaligned it +# happens that most of the modern designs require objects to be aligned - +# or they will fail with a buserror. That mode is quite known by +# big-endian machines (sparc, etc) however the alpha cpu is little- +# endian. +# +# The following function will test for aligned access to be required and +# set a config.h define HAVE_ALIGNED_ACCESS_REQUIRED (name derived by +# standard usage). Structures loaded from a file (or mmapped to memory) +# should be accessed per-byte in that case to avoid segfault type errors. +# +# The function checks if unaligned access would ignore the lowest bit of +# the address. If that happens or if the test binary crashes, aligned +# access is required. +# +# If cross-compiling, assume that aligned access is needed to be safe. Set +# ax_cv_have_aligned_access_required=no to override that assumption. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_CHECK_ALIGNED_ACCESS_REQUIRED], +[AC_CACHE_CHECK([if pointers to integers require aligned access], + [ax_cv_have_aligned_access_required], + [AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[@%:@include ]], + [[ + int i; + int *p; + int *q; + char *str; + str = (char *) malloc(40); + for (i = 0; i < 40; i++) { + *(str + i) = i; + } + p = (int *) (str + 1); + q = (int *) (str + 2); + return (*p == *q); + ]])], + [ax_cv_have_aligned_access_required=no], + [ax_cv_have_aligned_access_required=yes], + [ax_cv_have_aligned_access_required=maybe])]) + +if test "x$ax_cv_have_aligned_access_required" = "xmaybe"; then + AC_MSG_WARN([Assuming aligned access is required when cross-compiling]) + ax_cv_have_aligned_access_required=yes +fi + +if test "x$ax_cv_have_aligned_access_required" = "xyes"; then + AC_DEFINE([HAVE_ALIGNED_ACCESS_REQUIRED], [1], + [Define if pointers to integers require aligned access]) +fi +]) diff --git a/m4/autoconf-archive/ax_check_allocated_ctime.m4 b/m4/autoconf-archive/ax_check_allocated_ctime.m4 new file mode 100755 index 0000000000..c824fdb941 --- /dev/null +++ b/m4/autoconf-archive/ax_check_allocated_ctime.m4 @@ -0,0 +1,42 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_check_allocated_ctime.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CHECK_ALLOCATED_CTIME +# +# DESCRIPTION +# +# Check whether we need to free the memory returned by ctime. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AG_CHECK_ALLOCATED_CTIME], [AX_CHECK_ALLOCATED_CTIME]) +AC_DEFUN([AX_CHECK_ALLOCATED_CTIME],[ + AC_MSG_CHECKING([whether ctime() allocates memory for its result]) + AC_CACHE_VAL([ax_cv_allocated_ctime],[ + AC_TRY_RUN([#include +int main (int argc, char** argv) { + time_t timeVal = time( (time_t*)NULL ); + char* pzTime = ctime( &timeVal ); + free( pzTime ); + return 0; }],[ax_cv_allocated_ctime=yes],[ax_cv_allocated_ctime=no],[ax_cv_allocated_ctime=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_allocated_ctime]) + if test x$ax_cv_allocated_ctime = xyes + then + AC_DEFINE(HAVE_ALLOCATED_CTIME, 1, + [Define this if ctime() allocates memory for its result]) + fi +]) # end of AC_DEFUN of AX_CHECK_ALLOCATED_CTIME diff --git a/m4/autoconf-archive/ax_check_awk__v.m4 b/m4/autoconf-archive/ax_check_awk__v.m4 new file mode 100755 index 0000000000..49014abad9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk__v.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk__v.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK__V([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports -v option ($AWK -v var=val ''). If +# successful execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK__V],[ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports -v option]) + + ax_try_awk_output=`echo "" | $AWK -v variable=A '{ print variable; }' 2> /dev/null` + AS_IF([test $? -eq 0],[ + AS_IF([test "X$ax_try_awk_output" = "XA"],[ + AC_MSG_RESULT([yes]) + $1 + ],[ + AC_MSG_RESULT([no]) + $2 + ]) + ],[ + AC_MSG_RESULT([no]) + $2 + ]) +]) diff --git a/m4/autoconf-archive/ax_check_awk__x_escapes.m4 b/m4/autoconf-archive/ax_check_awk__x_escapes.m4 new file mode 100755 index 0000000000..034c64d774 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk__x_escapes.m4 @@ -0,0 +1,35 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_check_awk__x_escapes.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CHECK_AWK__X_ESCAPES([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports \x escape codes. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK__X_ESCAPES], [ + AX_TRY_AWK_EXPOUT([\x escapes], + [],[ if ( "\x41" != "A" ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_and.m4 b/m4/autoconf-archive/ax_check_awk_and.m4 new file mode 100755 index 0000000000..0d0f06fdb6 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_and.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_and.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_AND([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports and() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_AND], [ + AX_TRY_AWK_EXPOUT([and()], + [],[ print and(1,1) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_argind.m4 b/m4/autoconf-archive/ax_check_awk_argind.m4 new file mode 100755 index 0000000000..85f4363f5c --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_argind.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_argind.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ARGIND([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports ARGIND variable. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ARGIND], [ + AX_TRY_AWK_EXPOUT([ARGIND], + [],[ if ( !ARGIND ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_array_delete.m4 b/m4/autoconf-archive/ax_check_awk_array_delete.m4 new file mode 100755 index 0000000000..b1f2e0e5b1 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_array_delete.m4 @@ -0,0 +1,35 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_array_delete.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ARRAY_DELETE([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports delete on array. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ARRAY_DELETE], [ + AX_TRY_AWK_EXPOUT([array delete], + [],[ a[1]=1; delete a; if (a[1]!=0) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_array_delete_elem.m4 b/m4/autoconf-archive/ax_check_awk_array_delete_elem.m4 new file mode 100755 index 0000000000..f8c5dd0d92 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_array_delete_elem.m4 @@ -0,0 +1,35 @@ +# =================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_array_delete_elem.html +# =================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ARRAY_DELETE_ELEM([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports delete on array element. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ARRAY_DELETE_ELEM], [ + AX_TRY_AWK_EXPOUT([array delete element], + [],[ a[1]=1; delete a[1]; if (a[1]!=0) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_array_in.m4 b/m4/autoconf-archive/ax_check_awk_array_in.m4 new file mode 100755 index 0000000000..558132a756 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_array_in.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_array_in.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ARRAY_IN([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports 'in' on array. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ARRAY_IN], [ + AX_TRY_AWK_EXPOUT([array in], + [],[ i="x"; a[i]="1"; if (! (i in a)) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_asort.m4 b/m4/autoconf-archive/ax_check_awk_asort.m4 new file mode 100755 index 0000000000..492dc09b74 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_asort.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_asort.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ASORT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports asort() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ASORT], [ + AX_TRY_AWK_EXPOUT([asort()], + [],[ s[1]="b"; s[2]="a"; if (asort(s) != 2) exit(1); print s[1] ],[a], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_asorti.m4 b/m4/autoconf-archive/ax_check_awk_asorti.m4 new file mode 100755 index 0000000000..0821dc2767 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_asorti.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_asorti.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ASORTI([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports asorti() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ASORTI], [ + AX_TRY_AWK_EXPOUT([asorti()], + [],[ s[1]="b"; s[2]="a"; if (asorti(s) != 2) exit(1); print s[1] ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_associative_array.m4 b/m4/autoconf-archive/ax_check_awk_associative_array.m4 new file mode 100755 index 0000000000..2e9ab67fdc --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_associative_array.m4 @@ -0,0 +1,35 @@ +# =================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_associative_array.html +# =================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ASSOCIATIVE_ARRAY([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports associative array. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ASSOCIATIVE_ARRAY], [ + AX_TRY_AWK_EXPOUT([associative array], + [],[ a ["i"] = "x"; print a ["i"] ],[x], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_atan2.m4 b/m4/autoconf-archive/ax_check_awk_atan2.m4 new file mode 100755 index 0000000000..710a3fba4f --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_atan2.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_atan2.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ATAN2([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports atan2() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ATAN2], [ + AX_TRY_AWK_EXPOUT([atan2()], + [],[ print atan2(0, 1) ],[0], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_compl.m4 b/m4/autoconf-archive/ax_check_awk_compl.m4 new file mode 100755 index 0000000000..255ac29711 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_compl.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_compl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_COMPL([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports compl() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_COMPL], [ + AX_TRY_AWK_ANYOUT([compl()], + [],[ print compl(10) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_conditional_expression.m4 b/m4/autoconf-archive/ax_check_awk_conditional_expression.m4 new file mode 100755 index 0000000000..3d116c928b --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_conditional_expression.m4 @@ -0,0 +1,35 @@ +# ======================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_conditional_expression.html +# ======================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_CONDITIONAL_EXPRESSION([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports conditional expression (e.g. x = y ? 5 : 6). If +# successful execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_CONDITIONAL_EXPRESSION], [ + AX_TRY_AWK_EXPOUT([conditional expression], + [],[ a=(1)?("y"):("n"); print a ],[y], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_cos.m4 b/m4/autoconf-archive/ax_check_awk_cos.m4 new file mode 100755 index 0000000000..8922daf1b4 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_cos.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_cos.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_COS([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports cos() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_COS], [ + AX_TRY_AWK_EXPOUT([cos()], + [],[ print cos(0) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_environ.m4 b/m4/autoconf-archive/ax_check_awk_environ.m4 new file mode 100755 index 0000000000..4301f19154 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_environ.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_environ.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ENVIRON([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports ENVIRON variable. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ENVIRON], [ + AX_TRY_AWK_EXPOUT([ENVIRON], + [],[ if ( !ENVIRON["PATH"] ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_errno.m4 b/m4/autoconf-archive/ax_check_awk_errno.m4 new file mode 100755 index 0000000000..7a3ba7b459 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_errno.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_errno.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_ERRNO([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports ERRNO variable. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_ERRNO], [ + AX_TRY_AWK_EXPOUT([ERRNO], + [],[ getline s < "./this_file_should_not_exist"; if ( !ERRNO ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_exit.m4 b/m4/autoconf-archive/ax_check_awk_exit.m4 new file mode 100755 index 0000000000..cbca38a0fa --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_exit.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_exit.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_EXIT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports exit(). If successful execute ACTION-IF-SUCCESS +# otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_EXIT],[ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports exit()]) + echo "" | $AWK '{ exit(99); }' 2>/dev/null + AS_IF([test $? -eq 99],[ + AC_MSG_RESULT([yes]) + $1 + ],[ + AC_MSG_RESULT([no]) + $2 + ]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_exp.m4 b/m4/autoconf-archive/ax_check_awk_exp.m4 new file mode 100755 index 0000000000..593f8f8d39 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_exp.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_exp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_EXP([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports exp() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_EXP], [ + AX_TRY_AWK_EXPOUT([exp()], + [],[ print exp(0) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_gensub.m4 b/m4/autoconf-archive/ax_check_awk_gensub.m4 new file mode 100755 index 0000000000..cd6132721f --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_gensub.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_gensub.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_GENSUB([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports gensub() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_GENSUB], [ + AX_TRY_AWK_EXPOUT([gensub()], + [],[ print gensub(/u/, "x", "g", "uu") ],[xx], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_getline.m4 b/m4/autoconf-archive/ax_check_awk_getline.m4 new file mode 100755 index 0000000000..f8c1e5d43a --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_getline.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_getline.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_GETLINE([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports getline function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_GETLINE], [ + AX_TRY_AWK_ANYOUT([getline], + [1],[ getline; if ( $][0 != "1" ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_gsub.m4 b/m4/autoconf-archive/ax_check_awk_gsub.m4 new file mode 100755 index 0000000000..0b0ba4c56f --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_gsub.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_gsub.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_GSUB([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports gsub() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_GSUB], [ + AX_TRY_AWK_EXPOUT([gsub()], + [],[ s = "AB"; gsub(/./, "X", s); print s ],[XX], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_ignorecase.m4 b/m4/autoconf-archive/ax_check_awk_ignorecase.m4 new file mode 100755 index 0000000000..3b19c41de3 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_ignorecase.m4 @@ -0,0 +1,35 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_ignorecase.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CHECK_AWK_IGNORECASE([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports IGNORECASE variable. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_IGNORECASE], [ + AX_TRY_AWK_EXPOUT([IGNORECASE], + [],[ IGNORECASE = 1; if ( !("A" ~ "a") ) exit (1) ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_index.m4 b/m4/autoconf-archive/ax_check_awk_index.m4 new file mode 100755 index 0000000000..fb20dea88d --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_index.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_index.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_INDEX([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports index() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_INDEX], [ + AX_TRY_AWK_EXPOUT([index[]()], + [],[ print index("AB", "B") ],[2], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_int.m4 b/m4/autoconf-archive/ax_check_awk_int.m4 new file mode 100755 index 0000000000..e67af9f4f4 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_int.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_int.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_INT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports int() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_INT], [ + AX_TRY_AWK_EXPOUT([int()], + [],[ print int(1.5) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_length.m4 b/m4/autoconf-archive/ax_check_awk_length.m4 new file mode 100755 index 0000000000..1ab5d092b0 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_length.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_length.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_LENGTH([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports length() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_LENGTH], [ + AX_TRY_AWK_EXPOUT([length()], + [],[ print length("A") ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_log.m4 b/m4/autoconf-archive/ax_check_awk_log.m4 new file mode 100755 index 0000000000..300a6e24f9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_log.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_log.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_LOG([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports log() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_LOG], [ + AX_TRY_AWK_EXPOUT([log()], + [],[ print log(1) ],[0], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_lshift.m4 b/m4/autoconf-archive/ax_check_awk_lshift.m4 new file mode 100755 index 0000000000..676c6a1b83 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_lshift.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_lshift.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_LSHIFT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports lshift() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_LSHIFT], [ + AX_TRY_AWK_EXPOUT([lshift()], + [],[ print lshift(10,1) ],[20], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_match_2parms.m4 b/m4/autoconf-archive/ax_check_awk_match_2parms.m4 new file mode 100755 index 0000000000..b39b3a300e --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_match_2parms.m4 @@ -0,0 +1,35 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_match_2parms.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_MATCH_2PARMS([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports match() function with 2 parameters (standard). If +# successful execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_MATCH_2PARMS], [ + AX_TRY_AWK_EXPOUT([match() with 2 parameters], + [],[ print match("ab", /b/) ],[2], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_match_3parms.m4 b/m4/autoconf-archive/ax_check_awk_match_3parms.m4 new file mode 100755 index 0000000000..daf245a898 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_match_3parms.m4 @@ -0,0 +1,36 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_match_3parms.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_MATCH_3PARMS([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports match() function with 3 parameters (GNU +# extension). If successful execute ACTION-IF-SUCCESS otherwise +# ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_MATCH_3PARMS], [ + AX_TRY_AWK_EXPOUT([match() with 3 parameters], + [],[ match("abc", /(b)/, a) ; print a[1]],[b], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_operator_multiply_multiply.m4 b/m4/autoconf-archive/ax_check_awk_operator_multiply_multiply.m4 new file mode 100755 index 0000000000..f467bf8849 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_operator_multiply_multiply.m4 @@ -0,0 +1,35 @@ +# ============================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_operator_multiply_multiply.html +# ============================================================================================ +# +# SYNOPSIS +# +# AX_CHECK_AWK_OPERATOR_MULTIPLY_MULTIPLY([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports the '**' operator. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_OPERATOR_MULTIPLY_MULTIPLY], [ + AX_TRY_AWK_EXPOUT([operator **], + [],[ print 2**2 ],[4], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_operator_square.m4 b/m4/autoconf-archive/ax_check_awk_operator_square.m4 new file mode 100755 index 0000000000..21f9d2545d --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_operator_square.m4 @@ -0,0 +1,35 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_operator_square.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_CHECK_AWK_OPERATOR_SQUARE([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports the '^' operator. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_OPERATOR_SQUARE], [ + AX_TRY_AWK_EXPOUT([operator ^], + [],[ print 2^2 ],[4], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_or.m4 b/m4/autoconf-archive/ax_check_awk_or.m4 new file mode 100755 index 0000000000..93a25b521a --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_or.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_or.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_OR([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports or() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_OR], [ + AX_TRY_AWK_EXPOUT([or()], + [],[ print or(1,0) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_printf.m4 b/m4/autoconf-archive/ax_check_awk_printf.m4 new file mode 100755 index 0000000000..6f4c33e285 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_printf.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_printf.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_PRINTF([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports printf() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_PRINTF], [ + AX_TRY_AWK_EXPOUT([printf()], + [],[ printf("%s\n", "X") ],[X], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_rand.m4 b/m4/autoconf-archive/ax_check_awk_rand.m4 new file mode 100755 index 0000000000..ed7434eadc --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_rand.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_rand.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_RAND([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports rand() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_RAND], [ + AX_TRY_AWK_ANYOUT([rand()], + [],[ print rand() ], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_rshift.m4 b/m4/autoconf-archive/ax_check_awk_rshift.m4 new file mode 100755 index 0000000000..935aa7c44d --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_rshift.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_rshift.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_RSHIFT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports rshift() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_RSHIFT], [ + AX_TRY_AWK_EXPOUT([rshift()], + [],[ print rshift(10,1) ],[5], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_sin.m4 b/m4/autoconf-archive/ax_check_awk_sin.m4 new file mode 100755 index 0000000000..99cc018533 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_sin.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_sin.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SIN([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports sin() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SIN], [ + AX_TRY_AWK_EXPOUT([sin()], + [],[ print sin(0) ],[0], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_split.m4 b/m4/autoconf-archive/ax_check_awk_split.m4 new file mode 100755 index 0000000000..d153b96c6e --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_split.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_split.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SPLIT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports split() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SPLIT], [ + AX_TRY_AWK_EXPOUT([split()], + [],[ print split("A B", a, " ") ],[2], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_sprintf.m4 b/m4/autoconf-archive/ax_check_awk_sprintf.m4 new file mode 100755 index 0000000000..f22ac12dd9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_sprintf.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_sprintf.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SPRINTF([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports sprintf() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SPRINTF], [ + AX_TRY_AWK_EXPOUT([sprintf()], + [],[ print sprintf("%.1s", "AB") ],[A], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_sqrt.m4 b/m4/autoconf-archive/ax_check_awk_sqrt.m4 new file mode 100755 index 0000000000..e27b241b5e --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_sqrt.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_sqrt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SQRT([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports sqrt() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SQRT], [ + AX_TRY_AWK_EXPOUT([sqrt()], + [],[ print sqrt(1) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_srand.m4 b/m4/autoconf-archive/ax_check_awk_srand.m4 new file mode 100755 index 0000000000..07bdcf5b87 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_srand.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_srand.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SRAND([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports srand() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SRAND], [ + AX_TRY_AWK_EXPOUT([srand()], + [],[ srand() ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_strftime.m4 b/m4/autoconf-archive/ax_check_awk_strftime.m4 new file mode 100755 index 0000000000..b953759f12 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_strftime.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_strftime.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_STRFTIME([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports strftime() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_STRFTIME], [ + AX_TRY_AWK_EXPOUT([strftime()], + [],[ print strftime("%d.%m.%y", 0) ],[01.01.70], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_strtonum.m4 b/m4/autoconf-archive/ax_check_awk_strtonum.m4 new file mode 100755 index 0000000000..70c867c5f7 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_strtonum.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_strtonum.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_STRTONUM([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports strtonum() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_STRTONUM], [ + AX_TRY_AWK_EXPOUT([strtonum()], + [],[ print strtonum(15) ],[15], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_sub.m4 b/m4/autoconf-archive/ax_check_awk_sub.m4 new file mode 100755 index 0000000000..971a2082ae --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_sub.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_sub.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SUB([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports sub() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SUB], [ + AX_TRY_AWK_EXPOUT([sub()], + [],[ s = "AB"; sub(/./, "X", s); print s ],[XB], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_substr.m4 b/m4/autoconf-archive/ax_check_awk_substr.m4 new file mode 100755 index 0000000000..2d7c74783d --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_substr.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_substr.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SUBSTR([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports substr() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SUBSTR], [ + AX_TRY_AWK_EXPOUT([substr()], + [],[ print substr("AB", 2, 1) ],[B], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_system.m4 b/m4/autoconf-archive/ax_check_awk_system.m4 new file mode 100755 index 0000000000..cf45700c5f --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_system.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_system.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SYSTEM([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports system() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SYSTEM], [ + AX_TRY_AWK_EXPOUT([system()], + [],[ system(":") ],[], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_systime.m4 b/m4/autoconf-archive/ax_check_awk_systime.m4 new file mode 100755 index 0000000000..c5c79c9f6b --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_systime.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_systime.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_SYSTIME([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports systime() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_SYSTIME], [ + AX_TRY_AWK_ANYOUT([systime()], + [],[ print systime() ], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_tolower.m4 b/m4/autoconf-archive/ax_check_awk_tolower.m4 new file mode 100755 index 0000000000..0bd50148f1 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_tolower.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_tolower.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_TOLOWER([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports tolower() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_TOLOWER], [ + AX_TRY_AWK_EXPOUT([tolower()], + [],[ print tolower("A") ],[a], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_toupper.m4 b/m4/autoconf-archive/ax_check_awk_toupper.m4 new file mode 100755 index 0000000000..f248b9fa9b --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_toupper.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_toupper.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_TOUPPER([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports toupper() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_TOUPPER], [ + AX_TRY_AWK_EXPOUT([toupper()], + [],[ print toupper("a") ],[A], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_user_defined_functions.m4 b/m4/autoconf-archive/ax_check_awk_user_defined_functions.m4 new file mode 100755 index 0000000000..1b0af42852 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_user_defined_functions.m4 @@ -0,0 +1,49 @@ +# ======================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_user_defined_functions.html +# ======================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_USER_DEFINED_FUNCTIONS([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports user defined functions. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_USER_DEFINED_FUNCTIONS],[ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports user defined functions]) + + ax_awk_command=`echo "" | $AWK 'function mydouble(x) { return 2*x ; } ; { print mydouble(1) ; }' 2> /dev/null` + AS_IF([test $? -eq 0],[ + AS_IF([test X"$ax_awk_command" = X"2"],[ + AC_MSG_RESULT([yes]) + $1 + ],[ + AC_MSG_RESULT([no]) + $2 + ]) + ],[ + AC_MSG_RESULT([no]) + $2 + ]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_var_regexp.m4 b/m4/autoconf-archive/ax_check_awk_var_regexp.m4 new file mode 100755 index 0000000000..4a76179331 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_var_regexp.m4 @@ -0,0 +1,35 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_var_regexp.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CHECK_AWK_VAR_REGEXP([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports variable regexp. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_VAR_REGEXP], [ + AX_TRY_AWK_EXPOUT([variable regexp], + [],[ r="x"; if ( "x" ~ r ) print "yes" ],[yes], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_variable_value_pairs.m4 b/m4/autoconf-archive/ax_check_awk_variable_value_pairs.m4 new file mode 100755 index 0000000000..48575c4164 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_variable_value_pairs.m4 @@ -0,0 +1,49 @@ +# ====================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_variable_value_pairs.html +# ====================================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_VARIABLE_VALUE_PAIRS([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports variable=value pairs ($AWK '' var=val). +# If successful execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_VARIABLE_VALUE_PAIRS],[ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports variable=value pairs]) + + ax_try_awk_output=`echo "" | $AWK '{ print variable; }' variable=A 2> /dev/null` + AS_IF([test $? -eq 0],[ + AS_IF([test "X$ax_try_awk_output" = "XA"],[ + AC_MSG_RESULT([yes]) + $1 + ],[ + AC_MSG_RESULT([no]) + $2 + ]) + ],[ + AC_MSG_RESULT([no]) + $2 + ]) +]) diff --git a/m4/autoconf-archive/ax_check_awk_xor.m4 b/m4/autoconf-archive/ax_check_awk_xor.m4 new file mode 100755 index 0000000000..c554d60b47 --- /dev/null +++ b/m4/autoconf-archive/ax_check_awk_xor.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_awk_xor.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_AWK_XOR([ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Check if AWK supports xor() function. If successful execute +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CHECK_AWK_XOR], [ + AX_TRY_AWK_EXPOUT([xor()], + [],[ print xor(1,0) ],[1], + [$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_check_class.m4 b/m4/autoconf-archive/ax_check_class.m4 new file mode 100755 index 0000000000..e673c2d35d --- /dev/null +++ b/m4/autoconf-archive/ax_check_class.m4 @@ -0,0 +1,79 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_class.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_CLASS +# +# DESCRIPTION +# +# AX_CHECK_CLASS tests the existence of a given Java class, either in a +# jar or in a '.class' file. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AU_ALIAS([AC_CHECK_CLASS], [AX_CHECK_CLASS]) +AC_DEFUN([AX_CHECK_CLASS],[ +AC_REQUIRE([AX_PROG_JAVA]) +ac_var_name=`echo $1 | sed 's/\./_/g'` +dnl Normally I'd use a AC_CACHE_CHECK here but since the variable name is +dnl dynamic I need an extra level of extraction +AC_MSG_CHECKING([for $1 class]) +AC_CACHE_VAL(ax_cv_class_$ac_var_name, [ + AX_TRY_COMPILE_JAVA([$1], , [eval "ac_cv_class_$ac_var_name=yes"], + [eval "ac_cv_class_$ac_var_name=no"]) +eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`" +eval "HAVE_$ac_var_name=$`echo ac_cv_class_$ac_var_val`" +HAVE_LAST_CLASS=$ac_var_val +if test x$ac_var_val = xyes; then + ifelse([$2], , :, [$2]) +else + ifelse([$3], , :, [$3]) +fi +]) +dnl for some reason the above statement didn't fall though here? +dnl do scripts have variable scoping? +eval "ac_var_val=$`eval echo ac_cv_class_$ac_var_name`" +AC_MSG_RESULT($ac_var_val) +]) diff --git a/m4/autoconf-archive/ax_check_classpath.m4 b/m4/autoconf-archive/ax_check_classpath.m4 new file mode 100755 index 0000000000..e08a253d8b --- /dev/null +++ b/m4/autoconf-archive/ax_check_classpath.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_classpath.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_CLASSPATH +# +# DESCRIPTION +# +# AX_CHECK_CLASSPATH just displays the CLASSPATH, for the edification of +# the user. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_CLASSPATH], [AX_CHECK_CLASSPATH]) +AC_DEFUN([AX_CHECK_CLASSPATH],[ +if test "x$CLASSPATH" = x; then + echo "You have no CLASSPATH, I hope it is good" +else + echo "You have CLASSPATH $CLASSPATH, hope it is correct" +fi +]) diff --git a/m4/autoconf-archive/ax_check_compile_flag.m4 b/m4/autoconf-archive/ax_check_compile_flag.m4 new file mode 100755 index 0000000000..dcabb92a14 --- /dev/null +++ b/m4/autoconf-archive/ax_check_compile_flag.m4 @@ -0,0 +1,74 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_VAR_IF(CACHEVAR,yes, + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS diff --git a/m4/autoconf-archive/ax_check_define.m4 b/m4/autoconf-archive/ax_check_define.m4 new file mode 100755 index 0000000000..ff044a0d0f --- /dev/null +++ b/m4/autoconf-archive/ax_check_define.m4 @@ -0,0 +1,94 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_define.html +# =========================================================================== +# +# SYNOPSIS +# +# AC_CHECK_DEFINE([symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +# AX_CHECK_DEFINE([includes],[symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +# +# DESCRIPTION +# +# Complements AC_CHECK_FUNC but it does not check for a function but for a +# define to exist. Consider a usage like: +# +# AC_CHECK_DEFINE(__STRICT_ANSI__, CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500") +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_CHECK_DEFINED], [AC_CHECK_DEFINE]) +AC_DEFUN([AC_CHECK_DEFINE],[ +AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$1])dnl +AC_CACHE_CHECK([for $1 defined], ac_var, +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ + #ifdef $1 + int ok; + (void)ok; + #else + choke me + #endif +]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)])) +AS_IF([test AS_VAR_GET(ac_var) != "no"], [$2], [$3])dnl +AS_VAR_POPDEF([ac_var])dnl +]) + +AU_ALIAS([AX_CHECK_DEFINED], [AX_CHECK_DEFINE]) +AC_DEFUN([AX_CHECK_DEFINE],[ +AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$2_$1])dnl +AC_CACHE_CHECK([for $2 defined in $1], ac_var, +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$1>]], [[ + #ifdef $2 + int ok; + (void)ok; + #else + choke me + #endif +]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)])) +AS_IF([test AS_VAR_GET(ac_var) != "no"], [$3], [$4])dnl +AS_VAR_POPDEF([ac_var])dnl +]) + +AC_DEFUN([AX_CHECK_FUNC], +[AS_VAR_PUSHDEF([ac_var], [ac_cv_func_$2])dnl +AC_CACHE_CHECK([for $2], ac_var, +dnl AC_LANG_FUNC_LINK_TRY +[AC_LINK_IFELSE([AC_LANG_PROGRAM([$1 + #undef $2 + char $2 ();],[ + char (*f) () = $2; + return f != $2; ])], + [AS_VAR_SET(ac_var, yes)], + [AS_VAR_SET(ac_var, no)])]) +AS_IF([test AS_VAR_GET(ac_var) = yes], [$3], [$4])dnl +AS_VAR_POPDEF([ac_var])dnl +])# AC_CHECK_FUNC diff --git a/m4/autoconf-archive/ax_check_docbook_dtd.m4 b/m4/autoconf-archive/ax_check_docbook_dtd.m4 new file mode 100755 index 0000000000..987cb0210e --- /dev/null +++ b/m4/autoconf-archive/ax_check_docbook_dtd.m4 @@ -0,0 +1,105 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_docbook_dtd.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_DOCBOOK_DTD([dtd-version]) +# +# DESCRIPTION +# +# Check for access to a docbook DTD of a particular revision. This macro +# can be used for multiple versions within the same script. +# +# Input: +# +# $1 is the version of docbook to search for; default 'current'. +# +# Output: +# +# $HAVE_DOCBOOK_DTD_VERS will be set to 'yes' or 'no' depending on the +# results of the test, where VERS is $1, with '_' substituted for '.' +# $HAVE_DOCBOOK_DTD will also be set to the same value. +# +# Example: +# +# AX_CHECK_DOCBOOK_DTD(4.3) +# if test "x$HAVE_DOCBOOK_DTD_4_3" = "xyes"; then +# ... +# +# LICENSE +# +# Copyright (c) 2008 Zmanda Inc. +# Copyright (c) 2008 Dustin J. Mitchell +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_DOCBOOK_DTD], [AX_CHECK_DOCBOOK_DTD]) +AC_DEFUN([AX_CHECK_DOCBOOK_DTD], +[ + AC_REQUIRE([AX_PROG_XSLTPROC]) + + dnl define a temporary variable for the version, so this macro can be + dnl used with multiple versions + define([_VERS], $1) + ifelse(_VERS, [], [define([_VERS], [current])]) + define([ac_cv_docbook_dtd_VERS], patsubst([ac_cv_docbook_dtd_]_VERS, [\.], [_])) + define([HAVE_DOCBOOK_DTD_VERS], patsubst([HAVE_DOCBOOK_DTD_]_VERS, [\.], [_])) + + AC_CACHE_CHECK([for Docbook DTD version ]_VERS, [ac_cv_docbook_dtd_VERS], + [ + ac_cv_docbook_dtd_VERS=no + if test -n "$XSLTPROC"; then + MY_XSLTPROC_FLAGS=`echo "" $XSLTPROC_FLAGS|sed -e s/--novalid//g` + cat <conftest.xml + + + + +EOF + echo "Trying '$XSLTPROC $MY_XSLTPROC_FLAGS conftest.xml'" >&AS_MESSAGE_LOG_FD + $XSLTPROC $MY_XSLTPROC_FLAGS conftest.xml >conftest.out 2>&1 + if test "$?" = 0 -o "$?" = 5; then + # failing to load the DTD is just a warning, so check for it in the output. + if grep 'warning: failed to load external entity' conftest_out >/dev/null 2>&1; then + : # no good.. + else + ac_cv_docbook_dtd_VERS=yes + fi + fi + cat conftest.out >&AS_MESSAGE_LOG_FD + + rm -f conftest.xml conftest.out + fi + ]) + + HAVE_DOCBOOK_DTD_VERS="$ac_cv_docbook_dtd_VERS" + HAVE_DOCBOOK_DTD=HAVE_DOCBOOK_DTD_VERS + undefine([_VERS]) +]) diff --git a/m4/autoconf-archive/ax_check_docbook_xslt.m4 b/m4/autoconf-archive/ax_check_docbook_xslt.m4 new file mode 100755 index 0000000000..cba1cfab54 --- /dev/null +++ b/m4/autoconf-archive/ax_check_docbook_xslt.m4 @@ -0,0 +1,98 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_docbook_xslt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_DOCBOOK_XSLT([xslt-version]) +# +# DESCRIPTION +# +# Check for access to docbook stylesheets of a particular revision. This +# macro can be used for multiple versions within the same script. +# +# Input: +# +# $1 is the version of docbook to search for; default 'current'. +# +# Output: +# +# $HAVE_DOCBOOK_XSLT_VERS will be set to 'yes' or 'no' depending on the +# results of the test, where VERS is $1, with '_' substituted for '.'. +# $HAVE_DOCBOOK_XSLT will also be set to the same value. +# +# Example: +# +# AX_CHECK_DOCBOOK_XSLT(1.72.0) +# if test "x$HAVE_DOCBOOK_XSLT_1_72_0" = "xyes"; then +# ... +# +# LICENSE +# +# Copyright (c) 2008 Zmanda Inc. +# Copyright (c) 2008 Dustin J. Mitchell +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_DOCBOOK_XSLT], [AX_CHECK_DOCBOOK_XSLT]) +AC_DEFUN([AX_CHECK_DOCBOOK_XSLT], +[ + AC_REQUIRE([AX_PROG_XSLTPROC]) + + dnl define a temporary variable for the version, so this macro can be + dnl used with multiple versions + define([_VERS], $1) + ifelse(_VERS, [], [define([_VERS], [current])]) + + dnl define variable names ending in _VERS which will actually have the + dnl version number as a suffix + define([ac_cv_docbook_xslt_VERS], patsubst([ac_cv_docbook_xslt_]_VERS, [\.], [_])) + define([HAVE_DOCBOOK_XSLT_VERS], patsubst([HAVE_DOCBOOK_XSLT_]_VERS, [\.], [_])) + + AC_CACHE_CHECK([for Docbook XSLT version ]_VERS, [ac_cv_docbook_xslt_VERS], + [ + ac_cv_docbook_xslt_VERS=no + if test -n "$XSLTPROC"; then + echo "Trying '$XSLTPROC $XSLTPROC_FLAGS http://docbook.sourceforge.net/release/xsl/_VERS/xhtml/docbook.xsl'" >&AS_MESSAGE_LOG_FD + $XSLTPROC $XSLTPROC_FLAGS http://docbook.sourceforge.net/release/xsl/_VERS/xhtml/docbook.xsl >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + + if test "$?" = 0; then + ac_cv_docbook_xslt_VERS=yes + fi + fi + ]) + + HAVE_DOCBOOK_XSLT_VERS="$ac_cv_docbook_xslt_VERS" + HAVE_DOCBOOK_XSLT="$HAVE_DOCBOOK_XSLT_VERS" + + dnl clean up m4 namespace + undefine([_VERS]) + undefine([ac_cv_docbook_xslt_VERS]) + undefine([HAVE_DOCBOOK_XSLT_VERS]) +]) diff --git a/m4/autoconf-archive/ax_check_docbook_xslt_min.m4 b/m4/autoconf-archive/ax_check_docbook_xslt_min.m4 new file mode 100755 index 0000000000..17f856ebcd --- /dev/null +++ b/m4/autoconf-archive/ax_check_docbook_xslt_min.m4 @@ -0,0 +1,110 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_docbook_xslt_min.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CHECK_DOCBOOK_XSLT_MIN(min-xslt-version) +# +# DESCRIPTION +# +# Check that the 'current' version of docbook is at least version +# min-xslt-version. If the test is successful, +# $DOCBOOK_XSLT_CURRENT_VERSION will be set to the current docbook +# version; if not, it will be set to 'no'. +# +# Example: +# +# AX_CHECK_DOCBOOK_XSLT_MIN(1.72.0) +# if test "x$DOCBOOK_XSLT_CURRENT_VERSION" = "xno"; then +# ... +# +# LICENSE +# +# Copyright (c) 2008 Zmanda Inc. +# Copyright (c) 2008 Dustin J. Mitchell +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_DOCBOOK_XSLT_MIN], [AX_CHECK_DOCBOOK_XSLT_MIN]) +AC_DEFUN([AX_CHECK_DOCBOOK_XSLT_MIN], +[ + AC_REQUIRE([AX_PROG_XSLTPROC]) + + AC_CACHE_CHECK([for current Docbook XSLT version], [ac_cv_docbook_xslt_current_version], + [ + ac_cv_docbook_xslt_current_version=no + + if test -n "$XSLTPROC"; then + cat >conftest.xsl < + + + + + + + +EOF + echo "Trying '$XSLTPROC $XSLTPROC_FLAGS http://docbook.sourceforge.net/release/xsl/current/VERSION' with input:" >&AS_MESSAGE_LOG_FD + echo "====" >&AS_MESSAGE_LOG_FD + cat conftest.xsl >&AS_MESSAGE_LOG_FD + echo "====" >&AS_MESSAGE_LOG_FD + + ac_cv_docbook_xslt_current_version=`$XSLTPROC $XSLTPROC_FLAGS conftest.xsl http://docbook.sourceforge.net/release/xsl/current/VERSION 2>&AS_MESSAGE_LOG_FD` + + if test "$?" != 0; then + ac_cv_docbook_xslt_current_version='no' + fi + + rm conftest.xsl + fi + ]) + + DOCBOOK_XSLT_CURRENT_VERSION="$ac_cv_docbook_xslt_current_version" + AC_MSG_CHECKING([whether Docbook XSLT version is $1 or newer]) + + if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then + AC_MSG_RESULT([no]) + else + AX_COMPARE_VERSION([$DOCBOOK_XSLT_CURRENT_VERSION], [lt], [$1], [ + # version is less than required, so mark it as "no" + DOCBOOK_XSLT_CURRENT_VERSION=no + ]) + + if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes ($DOCBOOK_XSLT_CURRENT_VERSION)]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_check_dos_filesys.m4 b/m4/autoconf-archive/ax_check_dos_filesys.m4 new file mode 100755 index 0000000000..c345fa48b9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_dos_filesys.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_dos_filesys.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_DOS_FILESYS_LIMITATIONS +# +# DESCRIPTION +# +# Check if the target is running on DOS. DOS doesn't allow a dot as the +# first character, more than one dot, more than eight characters before a +# dot, and just three letters after the dot. A DOS VM running under +# Windows 9X does not have these restrictions. A DOS program can be +# running in either environment, so its important to code accordingly. +# Defines HAVE_DOS_FILESYS_LIMITATIONS if under DOS. +# +# Use in conjunction with AX_CHECK_PATHNAME_STYLE_DOS. +# +# LICENSE +# +# Copyright (c) 2008 Mark Elbrecht +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AU_ALIAS([ACX_CHECK_DOS_FILESYS], [AX_CHECK_DOS_FILESYS]) +AC_DEFUN([AX_CHECK_DOS_FILESYS_LIMITATIONS], +[AC_MSG_CHECKING(for potential DOS filename limitations) +AC_CACHE_VAL(ax_cv_dos_limitations, +[AC_REQUIRE([AC_CANONICAL_HOST]) +ax_cv_dos_limitations="yes" +case ${host_os} in + *dos | *djgpp) ax_cv_dos_limitations="yes" +esac +]) +AC_MSG_RESULT($ax_cv_dos_limitations) +if test $ax_cv_dos_limitations = "yes"; then + AC_DEFINE(HAVE_DOS_FILESYS_LIMITATIONS) +fi +]) diff --git a/m4/autoconf-archive/ax_check_enable_debug.m4 b/m4/autoconf-archive/ax_check_enable_debug.m4 new file mode 100755 index 0000000000..d36bcdff24 --- /dev/null +++ b/m4/autoconf-archive/ax_check_enable_debug.m4 @@ -0,0 +1,124 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE]) +# +# DESCRIPTION +# +# Check for the presence of an --enable-debug option to configure, with +# the specified default value used when the option is not present. Return +# the value in the variable $ax_enable_debug. +# +# Specifying 'yes' adds '-g -O0' to the compilation flags for all +# languages. Specifying 'info' adds '-g' to the compilation flags. +# Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to +# the linking flags. Otherwise, nothing is added. +# +# Define the variables listed in the second argument if debug is enabled, +# defaulting to no variables. Defines the variables listed in the third +# argument if debug is disabled, defaulting to NDEBUG. All lists of +# variables should be space-separated. +# +# If debug is not enabled, ensure AC_PROG_* will not add debugging flags. +# Should be invoked prior to any AC_PROG_* compiler checks. +# +# IS-RELEASE can be used to change the default to 'no' when making a +# release. Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it +# uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE +# macro, there is no need to pass this parameter. +# +# AX_IS_RELEASE([git-directory]) +# AX_CHECK_ENABLE_DEBUG() +# +# LICENSE +# +# Copyright (c) 2011 Rhys Ulerich +# Copyright (c) 2014, 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +#serial 8 + +AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[ + AC_BEFORE([$0],[AC_PROG_CC])dnl + AC_BEFORE([$0],[AC_PROG_CXX])dnl + AC_BEFORE([$0],[AC_PROG_F77])dnl + AC_BEFORE([$0],[AC_PROG_FC])dnl + + AC_MSG_CHECKING(whether to enable debugging) + + ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1]))) + ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],, + [$ax_is_release], + [$4]))) + + # If this is a release, override the default. + AS_IF([test "$ax_enable_debug_is_release" = "yes"], + [ax_enable_debug_default="no"]) + + m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))]) + m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))]) + + AC_ARG_ENABLE(debug, + [AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])], + [],enable_debug=$ax_enable_debug_default) + + # empty mean debug yes + AS_IF([test "x$enable_debug" = "x"], + [enable_debug="yes"]) + + # case of debug + AS_CASE([$enable_debug], + [yes],[ + AC_MSG_RESULT(yes) + CFLAGS="${CFLAGS} -g -O0" + CXXFLAGS="${CXXFLAGS} -g -O0" + FFLAGS="${FFLAGS} -g -O0" + FCFLAGS="${FCFLAGS} -g -O0" + OBJCFLAGS="${OBJCFLAGS} -g -O0" + ], + [info],[ + AC_MSG_RESULT(info) + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + FFLAGS="${FFLAGS} -g" + FCFLAGS="${FCFLAGS} -g" + OBJCFLAGS="${OBJCFLAGS} -g" + ], + [profile],[ + AC_MSG_RESULT(profile) + CFLAGS="${CFLAGS} -g -pg" + CXXFLAGS="${CXXFLAGS} -g -pg" + FFLAGS="${FFLAGS} -g -pg" + FCFLAGS="${FCFLAGS} -g -pg" + OBJCFLAGS="${OBJCFLAGS} -g -pg" + LDFLAGS="${LDFLAGS} -pg" + ], + [ + AC_MSG_RESULT(no) + dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags + dnl by setting any unset environment flag variables + AS_IF([test "x${CFLAGS+set}" != "xset"], + [CFLAGS=""]) + AS_IF([test "x${CXXFLAGS+set}" != "xset"], + [CXXFLAGS=""]) + AS_IF([test "x${FFLAGS+set}" != "xset"], + [FFLAGS=""]) + AS_IF([test "x${FCFLAGS+set}" != "xset"], + [FCFLAGS=""]) + AS_IF([test "x${OBJCFLAGS+set}" != "xset"], + [OBJCFLAGS=""]) + ]) + + dnl Define various variables if debugging is disabled. + dnl assert.h is a NOP if NDEBUG is defined, so define it by default. + AS_IF([test "x$enable_debug" = "xyes"], + [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])], + [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])]) + ax_enable_debug=$enable_debug +]) diff --git a/m4/autoconf-archive/ax_check_func_in.m4 b/m4/autoconf-archive/ax_check_func_in.m4 new file mode 100755 index 0000000000..b43dc93cd1 --- /dev/null +++ b/m4/autoconf-archive/ax_check_func_in.m4 @@ -0,0 +1,94 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_func_in.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_FUNC_IN(HEADER, FUNCTION [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Checking for library functions in a given header file. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +dnl AX_CHECK_FUNC_IN(HEADER, FUNCTION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +AU_ALIAS([AC_CHECK_FUNC_IN], [AX_CHECK_FUNC_IN]) +AC_DEFUN([AX_CHECK_FUNC_IN], +[AC_MSG_CHECKING([for $2 in $1]) +AC_CACHE_VAL(ac_cv_func_$2, +[AC_TRY_LINK( +dnl Don't include because on OSF/1 3.0 it includes +dnl which includes which contains a prototype for +dnl select. Similarly for bzero. +[/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2(); below. */ +#include +#include <$1> +/* Override any gcc2 internal prototype to avoid an error. */ +]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus +extern "C" +#endif +])dnl +[/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $2(); +], [ +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$2) || defined (__stub___$2) +choke me +#else +$2(); +#endif +], eval "ac_cv_func_$2=yes", eval "ac_cv_func_$2=no")]) +if eval "test \"`echo '$ac_cv_func_'$2`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$3], , :, [$3]) +else + AC_MSG_RESULT(no) +ifelse([$4], , , [$4 +])dnl +fi +]) + +dnl AC_CHECK_FUNCS_IN(HEADER, FUNCTION... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +AC_DEFUN([AC_CHECK_FUNCS_IN], +[for ac_func in $2 +do +AX_CHECK_FUNC_IN($1, $ac_func, + ac_tr_func=HAVE_`echo $ac_func | sed -e 'y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:' -e 's:[[^A-Z0-9]]:_:g'` + AC_DEFINE_UNQUOTED($ac_tr_func) $3], $4)dnl +done +]) diff --git a/m4/autoconf-archive/ax_check_gd.m4 b/m4/autoconf-archive/ax_check_gd.m4 new file mode 100755 index 0000000000..2ff0c13906 --- /dev/null +++ b/m4/autoconf-archive/ax_check_gd.m4 @@ -0,0 +1,82 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_gd.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GD +# +# DESCRIPTION +# +# Check for the gd library. (See http://www.boutell.com/gd/) If gd is +# found, the output variables GD_CFLAGS, GD_LDFLAGS and GD_LIBS will +# contain the compiler flags, linker flags and libraries necessary to use +# gd; otherwise, those variables will be empty. In addition, the symbol +# HAVE_GD is defined if the library is found, and the symbols HAVE_GD_GIF, +# HAVE_GD_JPEG and HAVE_GD_PNG are defined if the library supports +# creating images in gif, jpeg and png formats, respectively. +# +# The user may use --with-gd=no or --without-gd to skip checking for the +# library. (The default is --with-gd=yes.) If the library is installed in +# an unusual location, --with-gd=DIR will cause the macro to look for +# gdlib-config in DIR/bin or, failing that, for the headers and libraries +# in DIR/include and DIR/lib. +# +# Feedback welcome! +# +# LICENSE +# +# Copyright (c) 2008 Nick Markham +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_CHECK_GD], [ + AC_ARG_WITH(gd, + AS_HELP_STRING([--with-gd(=DIR)], [use the gd library (in DIR)]),, + with_gd=yes) + + if test "$with_gd" != no; then + AC_PATH_PROG(GDLIB_CONFIG, gdlib-config, , [$with_gd/bin:$PATH]) + if test -n "$GDLIB_CONFIG"; then + GD_CFLAGS=`$GDLIB_CONFIG --cflags` + GD_LDFLAGS=`$GDLIB_CONFIG --ldflags` + GD_LIBS=`$GDLIB_CONFIG --libs` + elif test -d "$with_gd"; then + GD_CFLAGS="-I$with_gd/include" + GD_LDFLAGS="-L$with_gd/lib" + AC_CHECK_LIB(z, inflateReset, GD_LIBS="-lz") + AC_CHECK_LIB(png, png_check_sig, GD_LIBS="-lpng $GD_LIBS", , $GD_LIBS) + fi + + save_CFLAGS="$CFLAGS" + CFLAGS="$GD_CFLAGS $CFLAGS" + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$GD_LDFLAGS $LDFLAGS" + + AC_CHECK_LIB(gd, gdImageCreate, [ + AC_DEFINE(HAVE_GD, 1, [ Define if you have gd library. ]) + AC_CHECK_LIB(gd, gdImageGif, AC_DEFINE(HAVE_GD_GIF, 1, [ Define if GD supports gif. ]), , "$GD_LIBS") + AC_CHECK_LIB(gd, gdImageJpeg, AC_DEFINE(HAVE_GD_JPEG, 1, [ Define if GD supports jpeg. ]), , "$GD_LIBS") + AC_CHECK_LIB(gd, gdImagePng, AC_DEFINE(HAVE_GD_PNG, 1, [ Define if GD supports png. ]), , "$GD_LIBS") + GD_LIBS="-lgd $GD_LIBS" + ], with_gd=no, $GD_LIBS) + + CFLAGS="$save_CFLAGS" + LDFLAGS="$save_LDFLAGS" + fi + + if test "$with_gd" = "no"; then + GD_CFLAGS=""; + GD_LDFLAGS=""; + GD_LIBS=""; + fi + + AC_SUBST(GD_CFLAGS) + AC_SUBST(GD_LDFLAGS) + AC_SUBST(GD_LIBS) +]) diff --git a/m4/autoconf-archive/ax_check_gir_symbols_gjs.m4 b/m4/autoconf-archive/ax_check_gir_symbols_gjs.m4 new file mode 100755 index 0000000000..336ad03a96 --- /dev/null +++ b/m4/autoconf-archive/ax_check_gir_symbols_gjs.m4 @@ -0,0 +1,83 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_check_gir_symbols_gjs.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CHECK_GIR_SYMBOLS_GJS(MODULE, APIVERSION, SYMBOLS) +# +# DESCRIPTION +# +# Check that each symbol from the whitespace-separated list of $SYMBOLS is +# defined inside the GObject Introspection module $MODULE with API version +# $APIVERSION, and is importable in GJS, GNOME's JavaScript engine +# (https://wiki.gnome.org/Projects/Gjs). +# +# GObject Introspection +# (https://wiki.gnome.org/Projects/GObjectIntrospection) is a tool for +# generating bindings from C libraries to higher-level languages. The +# bindings live in a GObject Introspection repository (GIR) file, which is +# what this macro checks. +# +# Note that for the purposes of GObject Introspection, the API version is +# different from the release version. For example, GTK currently has API +# version 3.0, but that could mean any release from the 3.0, 3.2, 3.4,... +# series. +# +# Example: +# +# AX_CHECK_GIR_SYMBOLS_GJS([Gtk], [3.0], [ListBox FlowBox +# Widget.get_action_group]) +# +# NOTE: This macro depends on AX_PROG_GJS. +# +# LICENSE +# +# Copyright (c) 2013, 2016 Endless Mobile, Inc.; contributed by Philip Chimento +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_CHECK_GIR_SYMBOLS_GJS], [ + AC_REQUIRE([AX_PROG_GJS]) + m4_foreach_w([SYMBOL], [$3], [ + AC_MSG_CHECKING([for $1.SYMBOL in $1-$2]) + _AX_GJS_IFELSE([ + imports.gi.versions@<:@\"$1\"@:>@ = \"$2\"; + const Library = imports.gi.$1; + let symbols = \"SYMBOL\".split('.'); + function check_symbols(symbols_list) { + printerr('gjs: checking', symbols_list.join('.')); + try { + symbols_list.reduce(function (prev, curr) { + if (typeof prev@<:@curr@:>@ === 'undefined') + throw 1; + return prev@<:@curr@:>@; + }, Library); + return true; + } catch (e) { + if (e === 1) + return false; + throw e; + } + } + if (!check_symbols(symbols)) { + dnl For methods, we need to check the class's prototype + symbols.splice(-1, 0, 'prototype'); + if (!check_symbols(symbols)) + throw 1; + } + ], + [AC_MSG_RESULT([yes])], + [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([The symbol $1.SYMBOL was not importable +in GJS, although the $1 library was present. +Perhaps you need a newer version of the library?]) + ]) + ]) +]) diff --git a/m4/autoconf-archive/ax_check_girs_gjs.m4 b/m4/autoconf-archive/ax_check_girs_gjs.m4 new file mode 100755 index 0000000000..8c44f20dfa --- /dev/null +++ b/m4/autoconf-archive/ax_check_girs_gjs.m4 @@ -0,0 +1,68 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_girs_gjs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GIRS_GJS(MODULE, API_VERSION [, MODULE, API_VERSION...]) +# +# DESCRIPTION +# +# Check that the GObject Introspection module $MODULE is importable in GJS +# (GNOME's JavaScript engine, https://wiki.gnome.org/Projects/Gjs). The +# API version must be $API_VERSION. +# +# GObject Introspection +# (https://wiki.gnome.org/Projects/GObjectIntrospection) is a tool for +# generating bindings from C libraries to higher-level languages. The +# bindings live in a GObject Introspection repository (GIR) file, which is +# what this macro checks. +# +# Note that for the purposes of GObject Introspection, the API version is +# different from the release version. For example, GTK currently has API +# version 3.0, but that could mean any release from the 3.0, 3.2, 3.4,... +# series. To check for specific API that was added in a later version, use +# AX_CHECK_GIR_SYMBOLS_GJS. +# +# Example: +# +# AX_CHECK_GIRS_GJS([Gdk], [3.0], +# [Gtk], [3.0]) +# +# NOTE: This macro depends on AX_PROG_GJS. +# +# LICENSE +# +# Copyright (c) 2013, 2016 Endless Mobile, Inc.; contributed by Philip Chimento +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([_AX_CHECK_GIR_GJS], [ + AC_MSG_CHECKING([for version $2 of $1]) + _AX_GJS_IFELSE([ + imports.gi.versions@<:@\"$1\"@:>@ = \"$2\"; + const Library = imports.gi.$1; + ], + [AC_MSG_RESULT([yes])], + [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([You do not have API version $2 of the GObject +Introspection bindings for the $1 library. +Build a version from source, or find out what package to +install with one of these commands, depending on your system: + apt-file search $1-$2.typelib + dnf provides \*/$1-$2.typelib +]) + ] + ) +]) + +AC_DEFUN([AX_CHECK_GIRS_GJS], [ + AC_REQUIRE([AX_PROG_GJS]) + m4_map_args_pair([_AX_CHECK_GIR_GJS], [AC_MSG_ERROR], $@) +]) diff --git a/m4/autoconf-archive/ax_check_gl.m4 b/m4/autoconf-archive/ax_check_gl.m4 new file mode 100755 index 0000000000..ddd8baf592 --- /dev/null +++ b/m4/autoconf-archive/ax_check_gl.m4 @@ -0,0 +1,300 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_gl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GL([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks for an OpenGL implementation. If a valid OpenGL implementation is +# found, this macro would set C preprocessor symbol HAVE_GL to 1. +# +# If either a valid OpenGL header or library was not found, by default the +# configuration would exits on error. This behavior can be overwritten by +# providing a custom "ACTION-IF-NOT-FOUND" hook. +# +# If the header, library was found, and been tested for compiling and +# linking the configuration would export the required compiler flags to +# "GL_CFLAGS" and "GL_LIBS". These two variables can also be overwritten +# by user from the command line if they want to link against the library +# they specified instead of having the configuration script to detect the +# flags automatically. Note that having "GL_CFLAGS" or "GL_LIBS" set +# doesn't mean it can compile or link with the flags, since it could be +# overwritten by user. However the "HAVE_GL" symbol and "ACTION-IF-FOUND" +# hook is always guaranteed to reflect a valid OpenGL implementation. +# +# If user didn't specify the "ACTION-IF-FOUND" hook, the configuration +# would prepend "GL_CFLAGS" and "GL_LIBS" to "CFLAGS" and "LIBS", like +# many other autoconf macros do. +# +# OpenGL is one of the libraries that has different header names on +# different platforms. This macro does the header detection, and will +# export the following symbol: "HAVE_GL_GL_H" for having "GL/gl.h" or +# "HAVE_OPENGL_GL_H" for having "OpenGL/gl.h". To write a portable OpenGL +# code, you should include OpenGL header like so: +# +# #if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# # include +# #endif +# #ifdef HAVE_GL_GL_H +# # include +# #elif defined(HAVE_OPENGL_GL_H) +# # include +# #else +# # error no gl.h +# #endif +# +# On the OSX platform, there's two possible OpenGL implementation. One is +# the OpenGL that ships with OSX, the other comes with X11/XQuartz +# (http://www.xquartz.org). To use the xquartz variant, user can use the +# option --with-xquartz-gl[=path to xquartz root]. By default the +# configuration will check "/opt/X11", which is the default X11 install +# location on OSX. +# +# LICENSE +# +# Copyright (c) 2009 Braden McDaniel +# Copyright (c) 2012 Bastien Roucaries +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 22 + +# example gl program +m4_define([_AX_CHECK_GL_PROGRAM], + [AC_LANG_PROGRAM([[ +# if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# include +# endif +# ifdef HAVE_GL_GL_H +# include +# elif defined(HAVE_OPENGL_GL_H) +# include +# elif defined(HAVE_GLES_GL_H) +# include +# else +# error no gl.h +# endif +]],[[glBegin(0)]])]) + +dnl Default include : add windows.h +dnl see http://www.opengl.org/wiki/Platform_specifics:_Windows +dnl (acceded 20120801) +AC_DEFUN([_AX_CHECK_GL_INCLUDES_DEFAULT],dnl +[ + AC_INCLUDES_DEFAULT + [ + # if defined(HAVE_WINDOWS_H) && defined(_WIN32) + # include + # endif + ] +]) + + +# _AX_CHECK_GL_SAVE_FLAGS(LIST-OF-FLAGS) +# Use this macro before you modify the flags. +# Restore the flags by _AX_CHECK_GL_RESTORE_FLAGS +# +# Example: _AX_CHECK_GL_SAVE_FLAGS([[CFLAGS],[LIBS]]) expands to +# gl_saved_flag_cflags=$CFLAGS +# gl_saved_flag_libs=$LIBS +# CFLAGS="$GL_CFLAGS $CFLAGS" +# LIBS="$GL_LIBS $LIBS" +AC_DEFUN([_AX_CHECK_GL_SAVE_FLAGS], [ + AX_SAVE_FLAGS_WITH_PREFIX([GL],[$1]) + AC_LANG_PUSH([C]) +]) + +# _AX_CHECK_GL_RESTORE_FLAGS(LIST-OF-FLAGS) +# Use this marcro to restore the flags you saved using +# _AX_CHECK_GL_SAVE_FLAGS +# +# Example: _AX_CHECK_GL_RESTORE_FLAGS([[CFLAGS],[LIBS]]) expands to +# CFLAGS="$gl_saved_flag_cflags" +# LIBS="$gl_saved_flag_libs" +AC_DEFUN([_AX_CHECK_GL_RESTORE_FLAGS], [ + AX_RESTORE_FLAGS_WITH_PREFIX([GL],[$1]) + AC_LANG_POP([C]) +]) + +# Check if the program compiles +AC_DEFUN([_AX_CHECK_GL_COMPILE], +[dnl + _AX_CHECK_GL_SAVE_FLAGS([CFLAGS]) + AC_COMPILE_IFELSE([_AX_CHECK_GL_PROGRAM], + [ax_check_gl_compile_opengl="yes"], + [ax_check_gl_compile_opengl="no"]) + _AX_CHECK_GL_RESTORE_FLAGS([CFLAGS]) +]) + +# Compile the example program (cache) +AC_DEFUN([_AX_CHECK_GL_COMPILE_CV], +[dnl + AC_CACHE_CHECK([for compiling a minimal OpenGL program],[ax_cv_check_gl_compile_opengl], + [_AX_CHECK_GL_COMPILE() + ax_cv_check_gl_compile_opengl="${ax_check_gl_compile_opengl}"]) + ax_check_gl_compile_opengl="${ax_cv_check_gl_compile_opengl}" +]) + +# Link the example program +AC_DEFUN([_AX_CHECK_GL_LINK], +[dnl + _AX_CHECK_GL_SAVE_FLAGS([[CFLAGS],[LIBS],[LDFLAGS]]) + AC_LINK_IFELSE([_AX_CHECK_GL_PROGRAM], + [ax_check_gl_link_opengl="yes"], + [ax_check_gl_link_opengl="no"]) + _AX_CHECK_GL_RESTORE_FLAGS([[CFLAGS],[LIBS],[LDFLAGS]]) +]) + +# Link the example program (cache) +AC_DEFUN([_AX_CHECK_GL_LINK_CV], +[dnl + AC_CACHE_CHECK([for linking a minimal OpenGL program],[ax_cv_check_gl_link_opengl], + [_AX_CHECK_GL_LINK() + ax_cv_check_gl_link_opengl="${ax_check_gl_link_opengl}"]) + ax_check_gl_link_opengl="${ax_cv_check_gl_link_opengl}" +]) + + +# _AX_CHECK_GL_MANUAL_LIBS_GENERIC(LIBRARIES-TO-SEARCH) +# Searches library provided in $1, and output the flag +# $ax_check_gl_lib_opengl +AC_DEFUN([_AX_CHECK_GL_MANUAL_LIBS_GENERIC], [ + AS_IF([test -n "$GL_LIBS"],[], [ + ax_check_gl_manual_libs_generic_extra_libs="$1" + AS_IF([test "X$ax_check_gl_manual_libs_generic_extra_libs" = "X"], + [AC_MSG_ERROR([AX_CHECK_GL_MANUAL_LIBS_GENERIC argument must no be empty])]) + + _AX_CHECK_GL_SAVE_FLAGS([CFLAGS]) + AC_SEARCH_LIBS([glBegin],[$ax_check_gl_manual_libs_generic_extra_libs], [ + ax_check_gl_lib_opengl="yes" + break + ]) + AS_IF([test "X$ax_check_gl_lib_opengl"="Xyes"], + [GL_LIBS="${ac_cv_search_glBegin}"]) + _AX_CHECK_GL_RESTORE_FLAGS([CFLAGS]) + ]) +]) + +# _WITH_XQUARTZ_GL +# ---------------- +# Provides an option in command line to specify the XQuartz installation +# path on OSX, so that user can link to it instead of using the default +# OSX OpenGL framework. (Mac OSX only) +AC_DEFUN_ONCE([_WITH_XQUARTZ_GL],[ + AC_ARG_WITH([xquartz-gl], + [AS_HELP_STRING([--with-xquartz-gl@<:@=DIR@:>@], + [On Mac OSX, use opengl provided by X11/XQuartz instead of the built-in framework. + If enabled, the default location is @<:@DIR=/opt/X11@:>@. + This option is default to false.])], + [AS_IF([test "X$with_xquartz_gl"="Xyes"], + [with_xquartz_gl="/opt/X11"])], + [with_xquartz_gl=no]) + AS_IF([test "X$with_xquartz_gl" != "Xno"], + [AC_MSG_CHECKING([OSX X11 path]) + AS_IF([test -e "$with_xquartz_gl"], + [AC_MSG_RESULT(["$with_xquartz_gl"]) + CFLAGS="-I$with_xquartz_gl/include $CFLAGS" + LIBS="-L$with_xquartz_gl/lib $LIBS" + ], + [with_xquartz_gl=no + AC_MSG_RESULT([no]) + AC_MSG_WARN([--with-xquartz-gl was given, but test for X11 failed. Fallback to system framework]) + ]) + ]) +]) + +# OSX specific setup for OpenGL check +AC_DEFUN([_AX_CHECK_DARWIN_GL], [ + AC_REQUIRE([_WITH_XQUARTZ_GL]) + AS_IF([test "x$with_xquartz_gl" != "xno" && test "x$EMSCRIPTEN" == "x"], + [GL_LIBS="${GL_LIBS:--lGL}"], + [GL_LIBS="${GL_LIBS:--framework OpenGL}"]) +]) + + +# AX_CHECK_GL_LIB([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------- +# Checks OpenGL headers and library and provides hooks for success and failures. +# When $1 is not set, this macro would modify CFLAGS and LIBS environment variables. +# However, user can override this behavior by providing their own hooks. +# The CFLAGS and LIBS flags required by OpenGL is always exported in +# GL_CFLAGS and GL_LIBS environment variable. +# +# In other words, the default behavior of AX_CHECK_GL_LIB() is equivalent to +# AX_CHECK_GL_LIB( +# [CFLAGS="$GL_CFLAGS $CFLAGS" +# LIBS="$GL_LIBS $LIBS"] +# ) +AC_DEFUN([AX_CHECK_GL], +[AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_ARG_VAR([GL_CFLAGS],[C compiler flags for GL, overriding configure script defaults]) + AC_ARG_VAR([GL_LIBS],[Linker flags for GL, overriding configure script defaults]) + + dnl --with-gl or not can be implemented outside of check-gl + AS_CASE([${host}], + [*-darwin*],[_AX_CHECK_DARWIN_GL], + dnl some windows may support X11 opengl, and should be able to linked + dnl by -lGL. However I have no machine to test it. + [*-cygwin*|*-mingw*],[ + _AX_CHECK_GL_MANUAL_LIBS_GENERIC([opengl32 GL gl]) + AC_CHECK_HEADERS([windows.h]) + ], + [PKG_PROG_PKG_CONFIG + PKG_CHECK_MODULES([GL],[gl], + [], + [_AX_CHECK_GL_MANUAL_LIBS_GENERIC([GL gl])]) + ]) dnl host specific checks + + dnl this was cache + _AX_CHECK_GL_SAVE_FLAGS([CFLAGS]) + AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h GLES/gl.h], + [ax_check_gl_have_headers="yes";break]) + _AX_CHECK_GL_RESTORE_FLAGS([CFLAGS]) + + AS_IF([test "X$ax_check_gl_have_headers" = "Xyes"], + [_AX_CHECK_GL_COMPILE_CV()], + [no_gl=yes]) + AS_IF([test "X$ax_check_gl_compile_opengl" = "Xyes"], + [_AX_CHECK_GL_LINK_CV()], + [no_gl=yes]) + AS_IF([test "X$no_gl" = "X"], + [AC_DEFINE([HAVE_GL], [1], [Defined if a valid OpenGL implementation is found.]) + m4_ifval([$1], + [$1], + [CFLAGS="$GL_CFLAGS $CFLAGS" + LIBS="$GL_LIBS $LIBS"]) + ], + [m4_ifval([$2], + [$2], + [AC_MSG_ERROR([Could not find a valid OpenGL implementation])]) + ]) +]) diff --git a/m4/autoconf-archive/ax_check_glu.m4 b/m4/autoconf-archive/ax_check_glu.m4 new file mode 100755 index 0000000000..a67e688834 --- /dev/null +++ b/m4/autoconf-archive/ax_check_glu.m4 @@ -0,0 +1,282 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_glu.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GLU([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks for GLUT. If a valid GLU implementation is found, the configure +# script would export the C preprocessor symbol "HAVE_GLU=1". +# +# If either a valid GLU header or library was not found, by default the +# configure script would exit on error. This behavior can be overwritten +# by providing a custom "ACTION-IF-NOT-FOUND" hook. +# +# If the header, library was found, and been tested for compiling and +# linking the configuration would export the required compiler flags to +# "GLU_CFLAGS" and "GLU_LIBS" environment variables. These two variables +# can also be overwritten by defining the environment variables before +# executing the configure program. If it was predefined, configure would +# not try to overwrite it, but it would still perform the compile and link +# test. Only when the tests succeeded does the configure script to export +# "HAVE_GLU=1" and to run "ACTION-IF-FOUND" hook. +# +# If user didn't specify the "ACTION-IF-FOUND" hook, the configuration +# would prepend "GLU_CFLAGS" and "GLU_LIBS" to "CFLAGS" and "LIBS", like +# many other autoconf macros do. +# +# If the header "GL/glu.h" is found, "HAVE_GL_GLU_H" is defined. If the +# header "OpenGL/glu.h" is found, HAVE_OPENGL_GLU_H is defined. +# +# You should use something like this in your headers: +# +# # if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# # include +# # endif +# # if defined(HAVE_GL_GLU_H) +# # include +# # elif defined(HAVE_OPENGL_GLU_H) +# # include +# # else +# # error no glu.h +# # endif +# +# On the OSX platform, you can use the option --with-xquartz-gl to use +# X11/Xquartz GLU implementation instead of the system built in GLU +# framework. +# +# Some implementations (in particular, some versions of Mac OS X) are +# known to treat the GLU tesselator callback function type as "GLvoid +# (*)(...)" rather than the standard "GLvoid (*)()". If the former +# condition is detected, this macro defines "HAVE_VARARGS_GLU_TESSCB". +# +# LICENSE +# +# Copyright (c) 2009 Braden McDaniel +# Copyright (c) 2013 Bastien Roucaries +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 23 + +# example program +m4_define([_AX_CHECK_GLU_PROGRAM], + [AC_LANG_PROGRAM([[ +# if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# include +# endif +# ifdef HAVE_GL_GLU_H +# include +# elif defined(HAVE_OPENGL_GLU_H) +# include +# else +# error no glu.h +# endif +]],[[gluBeginCurve(0)]])]) + + +dnl Default include : add windows.h +dnl see http://www.opengl.org/wiki/Platform_specifics:_Windows +dnl (acceded 20120801) +AC_DEFUN([_AX_CHECK_GLU_INCLUDES_DEFAULT],dnl +[ + AC_INCLUDES_DEFAULT + [ + # if defined(HAVE_WINDOWS_H) && defined(_WIN32) + # include + # endif + ] +]) + +# check tesselation callback function signature. +m4_define([_AX_CHECK_GLU_VARARGS_TESSVB_PROGRAM], +[AC_LANG_PROGRAM([[ +# if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# include +# endif +# ifdef HAVE_GL_GLU_H +# include +# elif defined(HAVE_OPENGL_GLU_H) +# include +# else +# error no glu.h +# endif +]], +[[GLvoid (*func)(...); gluTessCallback(0, 0, func)]]) +]) + + +# _AX_CHECK_GLU_SAVE_FLAGS(LIST-OF-FLAGS,[LANG]) +# ---------------------------------------------- +# Save the flags to shell variables. +# Example: _AX_CHECK_GLU_SAVE_FLAGS([[CFLAGS],[LIBS]]) expands to +# AC_LANG_PUSH([C]) +# glu_saved_flag_cflags=$CFLAGS +# glu_saved_flag_libs=$LIBS +# CFLAGS="$GLU_CFLAGS $CFLAGS" +# LIBS="$GLU_LIBS $LIBS" +# +# Can optionally support other LANG by specifying $2 +AC_DEFUN([_AX_CHECK_GLU_SAVE_FLAGS], [ + m4_ifval([$2], + [AC_LANG_PUSH([$2])], + [AC_LANG_PUSH([C])]) + AX_SAVE_FLAGS_WITH_PREFIX([GLU],[$1]) dnl defined in ax_check_gl +]) + +# _AX_CHECK_GLU_RESTORE_FLAGS(LIST-OF-FLAGS) +# Use this marcro to restore the flags you saved using +# _AX_CHECK_GLU_SAVE_FLAGS +# +# Example: _AX_CHECK_GLU_RESTORE_FLAGS([[CFLAGS],[LIBS]]) expands to +# CFLAGS="$glu_saved_flag_cflags" +# LIBS="$glu_saved_flag_libs" +# AC_LANG_POP([C]) +AC_DEFUN([_AX_CHECK_GLU_RESTORE_FLAGS], [ + AX_RESTORE_FLAGS_WITH_PREFIX([GLU],[$1]) dnl defined in ax_check_gl + m4_ifval([$2], + [AC_LANG_POP([$2])], + [AC_LANG_POP([C])]) +]) + + +# Search headers and export $ax_check_glu_have_headers +AC_DEFUN([_AX_CHECK_GLU_HEADERS], [ + _AX_CHECK_GLU_SAVE_FLAGS([CFLAGS]) + AC_CHECK_HEADERS([$1], + [ax_check_glu_have_headers="yes";], + [], + [_AX_CHECK_GLU_INCLUDES_DEFAULT()]) + _AX_CHECK_GLU_RESTORE_FLAGS([CFLAGS]) +]) + + +# _AX_CHECK_GLU_SEARCH_LIBS(LIBS) +# ------------------------------- +# Search for a valid GLU lib from $1 and set +# GLU_LIBS respectively +AC_DEFUN([_AX_CHECK_GLU_SEARCH_LIBS], [ + _AX_CHECK_GLU_SAVE_FLAGS([[CFLAGS],[LIBS]]) + AC_SEARCH_LIBS([gluBeginCurve],[$1], + [GLU_LIBS="${GLU_LIBS:-$ac_cv_search_gluBeginCurve}"]) + _AX_CHECK_GLU_RESTORE_FLAGS([[CFLAGS],[LIBS]]) +]) + +# OSX specific GLU checks +AC_DEFUN([_AX_CHECK_DARWIN_GLU], [ + AC_REQUIRE([_WITH_XQUARTZ_GL]) + AS_IF([test "x$with_xquartz_gl" != "xno"], + [GLU_LIBS="${GLU_LIBS:--lGLU}"], + [GLU_LIBS="${GLU_LIBS:--framework OpenGL}"]) +]) + +# AX_CHECK_GLU([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# ----------------------------------------------------- +# Checks GLU and provides hooks for success and failures +AC_DEFUN([AX_CHECK_GLU],[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([_WITH_XQUARTZ_GL]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_ARG_VAR([GLU_CFLAGS],[C compiler flags for GLU, overriding system check]) + AC_ARG_VAR([GLU_LIBS],[Linker flags for GLU, overriding system check]) + + dnl Setup GLU_CFLAGS and GLU_LIBS + AS_CASE([${host}], + [*-darwin*],[_AX_CHECK_DARWIN_GLU], + [*-cygwin*],[_AX_CHECK_GLU_SEARCH_LIBS([GLU glu MesaGLU glu32]) + AC_CHECK_HEADERS([windows.h])], + # try first native + [*-mingw*],[_AX_CHECK_GLU_SEARCH_LIBS([glu32 GLU glu MesaGLU]) + AC_CHECK_HEADERS([windows.h])], + [PKG_PROG_PKG_CONFIG + PKG_CHECK_MODULES([GLU],[glu], + [], + [_AX_CHECK_GLU_SEARCH_LIBS([GLU glu MesaGLU])]) + ]) + + AS_CASE([$host], + [*-darwin*], + [AS_IF([test "X$with_xquartz_gl" = "Xno"], + [_AX_CHECK_GLU_HEADERS([OpenGL/glu.h])], + [_AX_CHECK_GLU_HEADERS([GL/glu.h])] + )], + [_AX_CHECK_GLU_HEADERS([GL/glu.h])]) + + dnl compile test + AS_IF([test "X$ax_check_glu_have_headers" = "Xyes"], + [AC_CACHE_CHECK([for compiling a minimal OpenGL Utility (GLU) program], + [ax_cv_check_glu_compile], + [_AX_CHECK_GLU_SAVE_FLAGS([CFLAGS]) + AC_COMPILE_IFELSE([_AX_CHECK_GLU_PROGRAM], + [ax_cv_check_glu_compile="yes"], + [ax_cv_check_glu_compile="no"]) + _AX_CHECK_GLU_RESTORE_FLAGS([CFLAGS])]) + ]) + + dnl link test + AS_IF([test "X$ax_cv_check_glu_compile" = "Xyes"], + [AC_CACHE_CHECK([for linking a minimal GLU program], + [ax_cv_check_glu_link], + [_AX_CHECK_GLU_SAVE_FLAGS([[CFLAGS],[LIBS]]) + AC_LINK_IFELSE([_AX_CHECK_GLU_PROGRAM], + [ax_cv_check_glu_link="yes"], + [ax_cv_check_glu_link="no"]) + _AX_CHECK_GLU_RESTORE_FLAGS([[CFLAGS],[LIBS]])]) + ]) + +# +# Some versions of Mac OS X include a broken interpretation of the GLU +# tesselation callback function signature. + AS_IF([test "X$ax_cv_check_glu_link" = "Xyes"], + [AC_CACHE_CHECK([if GLU varargs tesselator is using non-standard form], + [ax_cv_varargs_glu_tesscb], + [_AX_CHECK_GLU_SAVE_FLAGS([CFLAGS],[C++]) + AC_COMPILE_IFELSE([_AX_CHECK_GLU_VARARGS_TESSVB_PROGRAM], + [ax_cv_varargs_glu_tesscb="yes"], + [ax_cv_varargs_glu_tesscb="no"]) + _AX_CHECK_GLU_RESTORE_FLAGS([CFLAGS],[C++])]) + AS_IF([test "X$ax_cv_varargs_glu_tesscb" = "yes"], + [AC_DEFINE([HAVE_VARARGS_GLU_TESSCB], [1], + [Use nonstandard varargs form for the GLU tesselator callback])]) + ]) + + dnl hook + AS_IF([test "X$ax_cv_check_glu_link" = "Xyes"], + [AC_DEFINE([HAVE_GLU],[1],[Defined if a valid GLU implementation is found.]) + m4_ifval([$1], + [$1], + [CFLAGS="$GLU_CFLAGS $CFLAGS" + LIBS="$GLU_LIBS $LIBS"])], + [m4_ifval([$2], + [$2], + [AC_MSG_ERROR([Could not find a valid GLU implementation])]) + ]) +]) diff --git a/m4/autoconf-archive/ax_check_glut.m4 b/m4/autoconf-archive/ax_check_glut.m4 new file mode 100755 index 0000000000..a21ac42ee0 --- /dev/null +++ b/m4/autoconf-archive/ax_check_glut.m4 @@ -0,0 +1,210 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_glut.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GLUT([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks for GLUT. If a valid GLUT implementation is found, the configure +# script would export the C preprocessor symbol "HAVE_GLUT=1". +# +# If either a valid GLUT header or library was not found, by default the +# configure script would exit on error. This behavior can be overwritten +# by providing a custom "ACTION-IF-NOT-FOUND" hook. +# +# If the header, library was found, and been tested for compiling and +# linking the configuration would export the required compiler flags to +# "GLUT_CFLAGS" and "GLUT_LIBS" environment variables. These two variables +# can also be overwritten by defining the environment variables before +# executing the configure program. If it was predefined, configure would +# not try to overwrite it, but it would still perform the compile and link +# test. Only when the tests succeeded does the configure script to export +# "HAVE_GLUT=1" and to run "ACTION-IF-FOUND" hook. +# +# If user didn't specify the "ACTION-IF-FOUND" hook, the configuration +# would prepend "GLUT_CFLAGS" and "GLUT_LIBS" to "CFLAGS" and "LIBS", like +# many other autoconf macros do. +# +# If the header "GL/glut.h" is found, "HAVE_GL_GLUT_H" is defined. If the +# header "GLUT/glut.h" is found, HAVE_GLUT_GLUT_H is defined. +# +# You should use something like this in your headers: +# +# # if HAVE_WINDOWS_H && defined(_WIN32) +# # include +# # endif +# # if defined(HAVE_GL_GLUT_H) +# # include +# # elif defined(HAVE_GLUT_GLUT_H) +# # include +# # else +# # error no glut.h +# # endif +# +# On the OSX platform, you can use the option --with-xquartz-gl to use +# X11/Xquartz GLUT implementation instead of the system built in GLUT +# framework. +# +# LICENSE +# +# Copyright (c) 2009 Braden McDaniel +# Copyright (c) 2013 Bastien Roucaries +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 17 + +AC_DEFUN([_AX_CHECK_GLUT_SAVE_FLAGS], [ + AX_SAVE_FLAGS_WITH_PREFIX([GLUT],[$1]) dnl defined in ax_check_gl + AC_LANG_PUSH([C]) +]) + +AC_DEFUN([_AX_CHECK_GLUT_RESTORE_FLAGS], [ + AX_RESTORE_FLAGS_WITH_PREFIX([GLUT],[$1]) dnl defined in ax_check_gl + AC_LANG_POP([C]) +]) + +dnl Default include : add windows.h +dnl see http://www.opengl.org/wiki/Platform_specifics:_Windows +dnl (acceded 20120801) +AC_DEFUN([_AX_CHECK_GLUT_INCLUDES_DEFAULT],dnl +[ + AC_INCLUDES_DEFAULT + [ + # if defined(HAVE_WINDOWS_H) && defined(_WIN32) + # include + # endif + ] +]) + +m4_define([_AX_CHECK_GLUT_PROGRAM], + [AC_LANG_PROGRAM([[ +# if HAVE_WINDOWS_H && defined(_WIN32) +# include +# endif +# ifdef HAVE_GL_GLUT_H +# include +# elif defined(HAVE_GLUT_GLUT_H) +# include +# else +# error no glut.h +# endif]], +[[glutMainLoop()]])]) + + +# _AX_CHECK_GLUT_MANUAL_LIBS_GENERIC(LIST-OF-LIBS) +# ------------------------------------------------ +# Searches libraries provided in $1, and export variable +# $ax_check_glut_lib_glut +AC_DEFUN([_AX_CHECK_GLUT_MANUAL_LIBS_GENERIC], +[ + _AX_CHECK_GLUT_SAVE_FLAGS([[CFLAGS],[LIBS]]) + AC_SEARCH_LIBS([glutMainLoop],[$1], + [GLUT_LIBS="${GLUT_LIBS:-$ac_cv_search_glutMainLoop}"]) + _AX_CHECK_GLUT_RESTORE_FLAGS([[CFLAGS],[LIBS]]) +]) + +# Wrapper macro to check GLUT header +AC_DEFUN([_AX_CHECK_GLUT_HEADER],[ + _AX_CHECK_GLUT_SAVE_FLAGS([CFLAGS]) + AC_CHECK_HEADERS([$1], + [ax_check_glut_have_headers=yes]) + _AX_CHECK_GLUT_RESTORE_FLAGS([CFLAGS]) +]) + + +# AX_CHECK_GLUT_LIB([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------- +# Checks GLUT headers and library and provides hooks for success and failures. +AC_DEFUN([AX_CHECK_GLUT], +[AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([_WITH_XQUARTZ_GL]) + AC_ARG_VAR([GLUT_CFLAGS],[C compiler flags for GLUT, overriding configure script defaults]) + AC_ARG_VAR([GLUT_LIBS],[Linker flags for GLUT, overriding configure script defaults]) + + AS_CASE([${host}], + [*-darwin*],[AS_IF([test "x$with_xquartz_gl" != "xno"], + [GLUT_LIBS="${GLUT_LIBS:--lGLUT}"], + [GLUT_LIBS="${GLUT_LIBS:--framework GLUT}"])], + [*-cygwin*|*-mingw*],[ + _AX_CHECK_GLUT_MANUAL_LIBS_GENERIC([glut32 glut]) + AC_CHECK_HEADERS([windows.h]) + ], + [_AX_CHECK_GLUT_MANUAL_LIBS_GENERIC([glut]) + ]) dnl host specific checks + + dnl checks header + AS_CASE([${host}], + [*-darwin*],[AS_IF([test "x$with_xquartz_gl" = "xno"], + [_AX_CHECK_GLUT_HEADER([GLUT/glut.h])], + [_AX_CHECK_GLUT_HEADER([GL/glut.h])] + )], + [_AX_CHECK_GLUT_HEADER([GL/glut.h])]) + + dnl compile + AS_IF([test "X$ax_check_glut_have_headers" = "Xyes"], + [AC_CACHE_CHECK([for compiling a minimal GLUT program], + [ax_cv_check_glut_compile], + [_AX_CHECK_GLUT_SAVE_FLAGS([CFLAGS]) + AC_COMPILE_IFELSE([_AX_CHECK_GLUT_PROGRAM], + [ax_cv_check_glut_compile="yes"], + [ax_cv_check_glut_compile="no"]) + _AX_CHECK_GLUT_RESTORE_FLAGS([CFLAGS]) + ]) + ]) + + dnl link + AS_IF([test "X$ax_cv_check_glut_compile" = "Xyes"], + [AC_CACHE_CHECK([for linking a minimal GLUT program], + [ax_cv_check_glut_link], + [_AX_CHECK_GLUT_SAVE_FLAGS([[CFLAGS],[LIBS]]) + AC_LINK_IFELSE([_AX_CHECK_GLUT_PROGRAM], + [ax_cv_check_glut_link="yes"], + [ax_cv_check_glut_link="no"]) + _AX_CHECK_GLUT_RESTORE_FLAGS([[CFLAGS],[LIBS]]) + ]) + ]) + + dnl hook + AS_IF([test "X$ax_cv_check_glut_link" = "Xyes"], + [AC_DEFINE([HAVE_GLUT], [1], [Defined if a valid GLUT implementation is found]) + m4_ifval([$1], + [$1], + [CFLAGS="$GLUT_CFLAGS $CFLAGS" + LIBS="$GLUT_LIBS $LIBS"]) + ], + [m4_ifval([$2], + [$2], + [AC_MSG_ERROR([Could not find a valid GLUT implementation])] + ) + ]) + +]) diff --git a/m4/autoconf-archive/ax_check_glx.m4 b/m4/autoconf-archive/ax_check_glx.m4 new file mode 100755 index 0000000000..f943e1c600 --- /dev/null +++ b/m4/autoconf-archive/ax_check_glx.m4 @@ -0,0 +1,323 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_glx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GLX +# +# DESCRIPTION +# +# Check for GLX. If GLX is found, the required preprocessor and linker +# flags are included in the output variables "GLX_CFLAGS" and "GLX_LIBS", +# respectively. If no GLX implementation is found, "no_glx" is set to +# "yes". +# +# If the header "GL/glx.h" is found, "HAVE_GL_GLX_H" is defined. If the +# header "OpenGL/glx.h" is found, HAVE_OPENGL_GLX_H is defined. These +# preprocessor definitions may not be mutually exclusive. +# +# You should use something like this in your headers: +# +# # if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# # include +# # endif +# # if defined(HAVE_GL_GLX_H) +# # include +# # elif defined(HAVE_OPENGL_GLX_H) +# # include +# # else +# # error no glx.h +# # endif +# +# LICENSE +# +# Copyright (c) 2009 Braden McDaniel +# Copyright (c) 2013-2014 Bastien Roucaries +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +# example program +m4_define([_AX_CHECK_GLX_PROGRAM], + [AC_LANG_PROGRAM([[ +# if defined(HAVE_WINDOWS_H) && defined(_WIN32) +# include +# endif +# ifdef HAVE_GL_GLX_H +# include +# elif defined(HAVE_OPENGL_GLX_H) +# include +# else +# error no glx.h +# endif +]],[[ + int major, minor; + (void)glXQueryVersion(0,&major,&minor);]])]) + + +dnl Default include : add windows.h +dnl see http://www.opengl.org/wiki/Platform_specifics:_Windows +dnl (acceded 20120801) +AC_DEFUN([_AX_CHECK_GLX_INCLUDES_DEFAULT],dnl +[ + AC_INCLUDES_DEFAULT + [ + # if defined(HAVE_WINDOWS_H) && defined(_WIN32) + # include + # endif + ] +]) + +dnl local save flags +AC_DEFUN([_AX_CHECK_GLX_SAVE_FLAGS], +[dnl +ax_check_glx_saved_libs="${LIBS}" +ax_check_glx_saved_cflags="${CFLAGS}" +ax_check_glx_saved_cppflags="${CPPFLAGS}" +ax_check_glx_saved_ldflags="${LDFLAGS}" +]) + + +dnl local restore flags +AC_DEFUN([_AX_CHECK_GLX_RESTORE_FLAGS], +[dnl +LIBS="${ax_check_glx_saved_libs}" +CFLAGS="${ax_check_glx_saved_cflags}" +CPPFLAGS="${ax_check_glx_saved_cppflags}" +LDFLAGS="${ax_check_glx_saved_ldflags}" +]) + + +# compile the example program +AC_DEFUN([_AX_CHECK_GLX_COMPILE], +[dnl + AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() + CFLAGS="${GLX_CFLAGS} ${CFLAGS}" + AC_COMPILE_IFELSE([_AX_CHECK_GLX_PROGRAM], + [ax_check_glx_compile_opengl="yes"], + [ax_check_glx_compile_opengl="no"]) + _AX_CHECK_GLX_RESTORE_FLAGS() + AC_LANG_POP([C]) +]) + +# compile the example program (cache) +AC_DEFUN([_AX_CHECK_GLX_COMPILE_CV], +[dnl + AC_CACHE_CHECK([for compiling a minimal OpenGL Utility (GLX) program],[ax_cv_check_glx_compile_opengl], + [_AX_CHECK_GLX_COMPILE() + ax_cv_check_glx_compile_opengl="${ax_check_glx_compile_opengl}"]) + ax_check_glx_compile_opengl="${ax_cv_check_glx_compile_opengl}" +]) + +# link the example program +AC_DEFUN([_AX_CHECK_GLX_LINK], +[dnl + AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() + CFLAGS="${GLX_CFLAGS} ${CFLAGS}" + LIBS="${GLX_LIBS} ${LIBS}" + LDFLAGS="${GLX_LDFLAGS} ${LDFLAGS}" + AC_LINK_IFELSE([_AX_CHECK_GLX_PROGRAM], + [ax_check_glx_link_opengl="yes"], + [ax_check_glx_link_opengl="no"]) + _AX_CHECK_GLX_RESTORE_FLAGS() + AC_LANG_POP([C]) +]) + +# link the example program (cache) +AC_DEFUN([_AX_CHECK_GLX_LINK_CV], +[dnl + AC_CACHE_CHECK([for linking a minimal OpenGL Utility (GLX) program],[ax_cv_check_glx_link_opengl], + [_AX_CHECK_GLX_LINK() + ax_cv_check_glx_link_opengl="${ax_check_glx_link_opengl}"]) + ax_check_glx_link_opengl="${ax_cv_check_glx_link_opengl}" +]) + +dnl Check headers manually (default case) +AC_DEFUN([_AX_CHECK_GLX_HEADERS], +[AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() + CFLAGS="${GLX_CFLAGS} ${CFLAGS}" + # see comment in _AX_CHECK_GLX_INCLUDES_DEFAULT + AC_CHECK_HEADERS([windows.h],[],[],[AC_INCLUDES_DEFAULT]) + AC_CHECK_HEADERS([GL/glx.h OpenGL/glx.h], + [ax_check_glx_have_headers="yes";break], + [ax_check_glx_have_headers_headers="no"], + [_AX_CHECK_GLX_INCLUDES_DEFAULT()]) + # do not try darwin specific OpenGl/gl.h + _AX_CHECK_GLX_RESTORE_FLAGS() + AC_LANG_POP([C]) +]) + + + +# dnl try to found library (generic case) +# dnl $1 is set to the library to found +AC_DEFUN([_AX_CHECK_GLX_MANUAL_LIBS_GENERIC], +[dnl + ax_check_glx_manual_libs_generic_extra_libs="$1" + AS_IF([test "X$ax_check_glx_manual_libs_generic_extra_libs" = "X"], + [AC_MSG_ERROR([AX_CHECK_GLX_MANUAL_LIBS_GENERIC argument must no be empty])]) + + AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() + CFLAGS="${GLX_CFLAGS} ${CFLAGS}" + LIBS="${GLX_LIBS} ${LIBS}" + AC_SEARCH_LIBS([glXGetClientString],[$ax_check_glx_manual_libs_generic_extra_libs], + [ax_check_glx_lib_opengl="yes"], + [ax_check_glx_lib_opengl="no"]) + AS_CASE([$ac_cv_search_glXGetClientString], + ["none required"],[], + [no],[], + [GLX_LIBS="${ac_cv_search_glXGetClientString} ${GLX_LIBS}"]) + _AX_CHECK_GLX_RESTORE_FLAGS() + AC_LANG_PUSH([C]) +]) + + +dnl Check library manually: subroutine must set +dnl $ax_check_gl_lib_opengl={yes,no} +AC_DEFUN([_AX_CHECK_GLX_MANUAL_LIBS], +[AC_REQUIRE([AC_CANONICAL_HOST]) + GLX_LIBS="${GLX_LIBS} ${GL_LIBS}" + _AX_CHECK_GLX_MANUAL_LIBS_GENERIC([GLX glx MesaGLX]) + + AC_CACHE_CHECK([for OpenGL Utility (GLX) libraries],[ax_cv_check_glx_lib_opengl], + [ax_cv_check_glx_lib_opengl="${ax_check_glx_lib_opengl}"]) + ax_check_glx_lib_opengl="${ax_cv_check_glx_lib_opengl}" +]) + + +dnl Manual way to detect GLX +AC_DEFUN([_AX_CHECK_GLX_MANUAL], +[dnl + +# inherit cflags +GLX_CFLAGS="${GLX_CFLAGS} ${GL_CFLAGS}" + +# check headers +_AX_CHECK_GLX_HEADERS + +AS_IF([test "X$ax_check_glx_have_headers" = "Xyes"], + [_AX_CHECK_GLX_MANUAL_LIBS], + [ax_check_glx_lib_opengl="no"]) + +AS_IF([test "X$ax_check_glx_lib_opengl" = "Xyes"], + [_AX_CHECK_GLX_COMPILE_CV()], + [ax_cv_check_glx_compile_opengl="no"]) + +AS_IF([test "X$ax_cv_check_glx_compile_opengl" = "Xyes"], + [_AX_CHECK_GLX_LINK_CV()], + [ax_cv_check_glx_link_opengl="no"]) + +AS_IF([test "X$ax_cv_check_glx_link_opengl" = "Xyes"], + [no_glx="no"], + [no_glx="yes"]) +]) + +# detect using pkgconfig +AC_DEFUN([_AX_CHECK_GLX_PKG_CONFIG], +[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + + PKG_CHECK_MODULES([GLX],[glx],[ax_check_glx_pkg_config=yes],[ax_check_glx_pkg_config=no]) + + AS_IF([test "X$ax_check_glx_pkg_config" = "Xyes"],[ + # check headers + AC_LANG_PUSH([C]) + _AX_CHECK_GLX_SAVE_FLAGS() + CFLAGS="${GLX_CFLAGS} ${CFLAGS}" + AC_CHECK_HEADERS([windows.h],[],[],[AC_INCLUDES_DEFAULT]) + AC_CHECK_HEADERS([GL/glx.h OpenGL/glx.h], + [ax_check_glx_have_headers="yes";break], + [ax_check_glx_have_headers_headers="no"], + [_AX_CHECK_GLX_INCLUDES_DEFAULT()]) + _AX_CHECK_GLX_RESTORE_FLAGS() + AC_LANG_POP([C]) + AC_CACHE_CHECK([for OpenGL Utility (GLX) headers],[ax_cv_check_glx_have_headers], + [ax_cv_check_glx_have_headers="${ax_check_glx_have_headers}"]) + + # pkgconfig library are supposed to work ... + AS_IF([test "X$ax_cv_check_glx_have_headers" = "Xno"], + [AC_MSG_ERROR("Pkgconfig detected OpenGL Utility (GLX) library has no headers!")]) + + _AX_CHECK_GLX_COMPILE_CV() + AS_IF([test "X$ax_cv_check_glx_compile_opengl" = "Xno"], + [AC_MSG_ERROR("Pkgconfig detected OpenGL Utility (GLX) library could not be used for compiling minimal program!")]) + + _AX_CHECK_GLX_LINK_CV() + AS_IF([test "X$ax_cv_check_glx_link_opengl" = "Xno"], + [AC_MSG_ERROR("Pkgconfig detected OpenGL Utility (GLX) library could not be used for linking minimal program!")]) + ]) +]) + +# entry point +AC_DEFUN([AX_CHECK_GLX],dnl +[ + AC_REQUIRE([AX_CHECK_GL]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + + # set flags + no_glx="yes" + have_GLX="no" + + AC_MSG_CHECKING([for a working OpenGL Utility (GLX) implementation by pkg-config]) + # try first pkgconfig + AS_IF([test "X${PKG_CONFIG}" = "X"], + [AC_MSG_RESULT([no]) + ax_check_glx_pkg_config=no], + [AC_MSG_RESULT([yes]) + _AX_CHECK_GLX_PKG_CONFIG()]) + + # if no pkg-config or pkg-config fail try manual way + AS_IF([test "X$ax_check_glx_pkg_config" = "Xno"], + [_AX_CHECK_GLX_MANUAL()], + [no_glx=no]) + + AC_MSG_CHECKING([for a working OpenGL Utility (GLX) implementation]) + AS_IF([test "X$no_glx" = "Xno"], + [have_GLX="yes" + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([for CFLAGS needed for OpenGL Utility (GLX)]) + AC_MSG_RESULT(["${GLX_CFLAGS}"]) + AC_MSG_CHECKING([for LIBS needed for OpenGL Utility (GLX)]) + AC_MSG_RESULT(["${GLX_LIBS}"]) + AC_MSG_CHECKING([for LDFLAGS needed for OpenGL Utility (GLX)]) + AC_MSG_RESULT(["${GLX_LDFLAGS}"])], + [AC_MSG_RESULT([no]) + GLX_CFLAGS="" + GLX_LIBS="" + GLX_LDFLAGS=""]) + + AC_SUBST([GLX_CFLAGS]) + AC_SUBST([GLX_LIBS]) + AC_SUBST([GLX_LDFLAGS]) + +]) diff --git a/m4/autoconf-archive/ax_check_gnu_make.m4 b/m4/autoconf-archive/ax_check_gnu_make.m4 new file mode 100755 index 0000000000..68110439d9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_gnu_make.m4 @@ -0,0 +1,95 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_gnu_make.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_GNU_MAKE([run-if-true],[run-if-false]) +# +# DESCRIPTION +# +# This macro searches for a GNU version of make. If a match is found: +# +# * The makefile variable `ifGNUmake' is set to the empty string, otherwise +# it is set to "#". This is useful for including a special features in a +# Makefile, which cannot be handled by other versions of make. +# * The makefile variable `ifnGNUmake' is set to #, otherwise +# it is set to the empty string. This is useful for including a special +# features in a Makefile, which can be handled +# by other versions of make or to specify else like clause. +# * The variable `_cv_gnu_make_command` is set to the command to invoke +# GNU make if it exists, the empty string otherwise. +# * The variable `ax_cv_gnu_make_command` is set to the command to invoke +# GNU make by copying `_cv_gnu_make_command`, otherwise it is unset. +# * If GNU Make is found, its version is extracted from the output of +# `make --version` as the last field of a record of space-separated +# columns and saved into the variable `ax_check_gnu_make_version`. +# * Additionally if GNU Make is found, run shell code run-if-true +# else run shell code run-if-false. +# +# Here is an example of its use: +# +# Makefile.in might contain: +# +# # A failsafe way of putting a dependency rule into a makefile +# $(DEPEND): +# $(CC) -MM $(srcdir)/*.c > $(DEPEND) +# +# @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND))) +# @ifGNUmake@ include $(DEPEND) +# @ifGNUmake@ else +# fallback code +# @ifGNUmake@ endif +# +# Then configure.in would normally contain: +# +# AX_CHECK_GNU_MAKE() +# AC_OUTPUT(Makefile) +# +# Then perhaps to cause gnu make to override any other make, we could do +# something like this (note that GNU make always looks for GNUmakefile +# first): +# +# if ! test x$_cv_gnu_make_command = x ; then +# mv Makefile GNUmakefile +# echo .DEFAULT: > Makefile ; +# echo \ $_cv_gnu_make_command \$@ >> Makefile; +# fi +# +# Then, if any (well almost any) other make is called, and GNU make also +# exists, then the other make wraps the GNU make. +# +# LICENSE +# +# Copyright (c) 2008 John Darrington +# Copyright (c) 2015 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_CHECK_GNU_MAKE],dnl + [AC_PROG_AWK + AC_CACHE_CHECK([for GNU make],[_cv_gnu_make_command],[dnl + _cv_gnu_make_command="" ; +dnl Search all the common names for GNU make + for a in "$MAKE" make gmake gnumake ; do + if test -z "$a" ; then continue ; fi ; + if "$a" --version 2> /dev/null | grep GNU 2>&1 > /dev/null ; then + _cv_gnu_make_command=$a ; + AX_CHECK_GNU_MAKE_HEADLINE=$("$a" --version 2> /dev/null | grep "GNU Make") + ax_check_gnu_make_version=$(echo ${AX_CHECK_GNU_MAKE_HEADLINE} | ${AWK} -F " " '{ print $(NF); }') + break ; + fi + done ;]) +dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifGNUmake], ["#"])], [AS_VAR_SET([ifGNUmake], [""])]) + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifnGNUmake], [""])], [AS_VAR_SET([ifGNUmake], ["#"])]) + AS_VAR_IF([_cv_gnu_make_command], [""], [AS_UNSET(ax_cv_gnu_make_command)], [AS_VAR_SET([ax_cv_gnu_make_command], [${_cv_gnu_make_command}])]) + AS_VAR_IF([_cv_gnu_make_command], [""],[$2],[$1]) + AC_SUBST([ifGNUmake]) + AC_SUBST([ifnGNUmake]) +]) diff --git a/m4/autoconf-archive/ax_check_icu.m4 b/m4/autoconf-archive/ax_check_icu.m4 new file mode 100755 index 0000000000..b886e3c652 --- /dev/null +++ b/m4/autoconf-archive/ax_check_icu.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_icu.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ICU(version, action-if, action-if-not) +# +# DESCRIPTION +# +# Defines ICU_LIBS, ICU_CFLAGS, ICU_CXXFLAGS. See icu-config(1) man page. +# +# LICENSE +# +# Copyright (c) 2008 Akos Maroy +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CHECK_ICU], [AX_CHECK_ICU]) +AC_DEFUN([AX_CHECK_ICU], [ + succeeded=no + + if test -z "$ICU_CONFIG"; then + AC_PATH_PROG(ICU_CONFIG, icu-config, no) + fi + + if test "$ICU_CONFIG" = "no" ; then + echo "*** The icu-config script could not be found. Make sure it is" + echo "*** in your path, and that taglib is properly installed." + echo "*** Or see http://ibm.com/software/globalization/icu/" + else + ICU_VERSION=`$ICU_CONFIG --version` + AC_MSG_CHECKING(for ICU >= $1) + VERSION_CHECK=`expr $ICU_VERSION \>\= $1` + if test "$VERSION_CHECK" = "1" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING(ICU_CPPFLAGS) + ICU_CPPFLAGS=`$ICU_CONFIG --cppflags` + AC_MSG_RESULT($ICU_CPPFLAGS) + + AC_MSG_CHECKING(ICU_CFLAGS) + ICU_CFLAGS=`$ICU_CONFIG --cflags` + AC_MSG_RESULT($ICU_CFLAGS) + + AC_MSG_CHECKING(ICU_CXXFLAGS) + ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags` + AC_MSG_RESULT($ICU_CXXFLAGS) + + AC_MSG_CHECKING(ICU_LIBS) + ICU_LIBS=`$ICU_CONFIG --ldflags` + AC_MSG_RESULT($ICU_LIBS) + else + ICU_CPPFLAGS="" + ICU_CFLAGS="" + ICU_CXXFLAGS="" + ICU_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + ifelse([$3], ,echo "can't find ICU >= $1",) + fi + + AC_SUBST(ICU_CPPFLAGS) + AC_SUBST(ICU_CFLAGS) + AC_SUBST(ICU_CXXFLAGS) + AC_SUBST(ICU_LIBS) + fi + + if test $succeeded = yes; then + ifelse([$2], , :, [$2]) + else + ifelse([$3], , AC_MSG_ERROR([Library requirements (ICU) not met.]), [$3]) + fi +]) diff --git a/m4/autoconf-archive/ax_check_java_home.m4 b/m4/autoconf-archive/ax_check_java_home.m4 new file mode 100755 index 0000000000..1d60387b1b --- /dev/null +++ b/m4/autoconf-archive/ax_check_java_home.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_java_home.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_JAVA_HOME +# +# DESCRIPTION +# +# Check for Sun Java (JDK / JRE) installation, where the 'java' VM is in. +# If found, set environment variable JAVA_HOME = Java installation home, +# else left JAVA_HOME untouch, which in most case means JAVA_HOME is +# empty. +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_CHECK_JAVA_HOME], [AX_CHECK_JAVA_HOME]) + +AC_DEFUN([AX_CHECK_JAVA_HOME], +[AC_MSG_CHECKING([for JAVA_HOME]) +# We used a fake loop so that we can use "break" to exit when the result +# is found. +while true +do + # If the user defined JAVA_HOME, don't touch it. + test "${JAVA_HOME+set}" = set && break + + # On Mac OS X 10.5 and following, run /usr/libexec/java_home to get + # the value of JAVA_HOME to use. + # (http://developer.apple.com/library/mac/#qa/qa2001/qa1170.html). + JAVA_HOME=`/usr/libexec/java_home 2>/dev/null` + test x"$JAVA_HOME" != x && break + + # See if we can find the java executable, and compute from there. + TRY_JAVA_HOME=`ls -dr /usr/java/* 2> /dev/null | head -n 1` + if test x$TRY_JAVA_HOME != x; then + PATH=$PATH:$TRY_JAVA_HOME/bin + fi + AC_PATH_PROG([JAVA_PATH_NAME], [java]) + if test "x$JAVA_PATH_NAME" != x; then + JAVA_HOME=`echo $JAVA_PATH_NAME | sed "s/\(.*\)[[/]]bin[[/]]java.*/\1/"` + break + fi + + AC_MSG_NOTICE([Could not compute JAVA_HOME]) + break +done +AC_MSG_RESULT([$JAVA_HOME]) +]) diff --git a/m4/autoconf-archive/ax_check_java_plugin.m4 b/m4/autoconf-archive/ax_check_java_plugin.m4 new file mode 100755 index 0000000000..f3075e557d --- /dev/null +++ b/m4/autoconf-archive/ax_check_java_plugin.m4 @@ -0,0 +1,101 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_java_plugin.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_JAVA_PLUGIN() +# +# DESCRIPTION +# +# This macro sets to empty on failure and to a compatible +# version of plugin.jar otherwise. Directories searched are /usr/java/* +# and /usr/local/java/*, which are assumed to be j{dk,re} installations. +# Apply the shell variable as you see fit. If sun changes things so +# /lib/plugin.jar is not the magic file it will stop working. +# +# This macro assumes that unzip, zipinfo or pkzipc is available (and can +# list the contents of the jar archive). The first two are assumed to work +# similarly enough to the infozip versions. The pkzipc version is assumed +# to work if I understand the documentation on pkware's site but YMMV. I +# do not have access to pwkware's version to test it. +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([DPS_CHECK_PLUGIN], [AX_CHECK_JAVA_PLUGIN]) +AC_DEFUN([AX_CHECK_JAVA_PLUGIN], +[AC_REQUIRE([AC_PROG_AWK]) +AC_REQUIRE([AC_PROG_FGREP]) +AC_CHECK_PROG(ZIPINFO,[zipinfo unzip pkzipc]) +AC_MSG_CHECKING([for the java plugin]) +case "x$ZIPINFO" in +[*/zipinfo)] + zipinf="zipinfo -1" ;; +[*/unzip)] + zipinf="unzip -l";; +[*/pkzipc)] + ziping="unzipc -view";; +[x*)] + AC_MSG_RESULT([skiped, none of zipinfo, unzip and pkzipc found]) + AC_SUBST($1,[]) + zipinf="";; +esac +if test "x$zipinf" != "x"; then +jplugin="" +for jhome in `ls -dr /usr/java/* /usr/local/java/* 2> /dev/null`; do +for jfile in lib/plugin.jar jre/lib/plugin.jar; do +if test "x$jplugin" = "x" && test -f "$jhome/$jfile"; then +eval "$zipinf $jhome/$jfile | $AWK '{ print \$NF; }' | $FGREP netscape/javascript/JSObject" >/dev/null 2>/dev/null +if test $? -eq 0; then +dnl Some version of gcj (and javac) refuse to work with some files +dnl that pass this test. To stop this problem make sure that the compiler +dnl still works with this jar file in the classpath +cat << \EOF > Test.java +/* [#]line __oline__ "configure" */ +public class Test { +} +EOF +if eval "$JAVAC -classpath $jhome/$jfile Test.java 2>/dev/null >/dev/null" && test -f Test.class; then +jplugin="$jhome/$jfile" +fi +rm -f Test.java Test.class +fi; fi; done; done +if test "x$jplugin" != "x"; then +AC_SUBST($1,$jplugin) +AC_MSG_RESULT($jplugin) +else +AC_MSG_RESULT([java plugin not found]) +AC_SUBST($1,[]) +fi +fi +]) diff --git a/m4/autoconf-archive/ax_check_junit.m4 b/m4/autoconf-archive/ax_check_junit.m4 new file mode 100755 index 0000000000..44dd70df3b --- /dev/null +++ b/m4/autoconf-archive/ax_check_junit.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_junit.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_JUNIT +# +# DESCRIPTION +# +# AX_CHECK_JUNIT tests the availability of the Junit testing framework, +# and set some variables for conditional compilation of the test suite by +# automake. +# +# If available, JUNIT is set to a command launching the text based user +# interface of Junit, @JAVA_JUNIT@ is set to $JAVA_JUNIT and @TESTS_JUNIT@ +# is set to $TESTS_JUNIT, otherwise they are set to empty values. +# +# You can use these variables in your Makefile.am file like this : +# +# # Some of the following classes are built only if junit is available +# JAVA_JUNIT = Class1Test.java Class2Test.java AllJunitTests.java +# +# noinst_JAVA = Example1.java Example2.java @JAVA_JUNIT@ +# +# EXTRA_JAVA = $(JAVA_JUNIT) +# +# TESTS_JUNIT = AllJunitTests +# +# TESTS = StandaloneTest1 StandaloneTest2 @TESTS_JUNIT@ +# +# EXTRA_TESTS = $(TESTS_JUNIT) +# +# AllJunitTests : +# echo "#! /bin/sh" > $@ +# echo "exec @JUNIT@ my.package.name.AllJunitTests" >> $@ +# chmod +x $@ +# +# LICENSE +# +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_CHECK_JUNIT], [AX_CHECK_JUNIT]) +AC_DEFUN([AX_CHECK_JUNIT],[ +AC_CACHE_VAL(ac_cv_prog_JUNIT,[ +AC_CHECK_CLASS(junit.textui.TestRunner) +if test x"`eval 'echo $ac_cv_class_junit_textui_TestRunner'`" != xno ; then + ac_cv_prog_JUNIT='$(CLASSPATH_ENV) $(JAVA) $(JAVAFLAGS) junit.textui.TestRunner' +fi]) +AC_MSG_CHECKING([for junit]) +if test x"`eval 'echo $ac_cv_prog_JUNIT'`" != x ; then + JUNIT="$ac_cv_prog_JUNIT" + JAVA_JUNIT='$(JAVA_JUNIT)' + TESTS_JUNIT='$(TESTS_JUNIT)' +else + JUNIT= + JAVA_JUNIT= + TESTS_JUNIT= +fi +AC_MSG_RESULT($JAVA_JUNIT) +AC_SUBST(JUNIT) +AC_SUBST(JAVA_JUNIT) +AC_SUBST(TESTS_JUNIT)]) diff --git a/m4/autoconf-archive/ax_check_library.m4 b/m4/autoconf-archive/ax_check_library.m4 new file mode 100755 index 0000000000..4def2f4d28 --- /dev/null +++ b/m4/autoconf-archive/ax_check_library.m4 @@ -0,0 +1,95 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_library.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_LIBRARY(VARIABLE-PREFIX, HEADER-FILE, LIBRARY-FILE, +# [ACTION-IF-FOUND], [ACTION-IF-NOT_FOUND]) +# +# DESCRIPTION +# +# Provides a generic test for a given library, similar in concept to the +# PKG_CHECK_MODULES macro used by pkg-config. +# +# Most simplest libraries can be checked against simply through the +# presence of a header file and a library to link to. This macro allows to +# wrap around the test so that it doesn't have to be recreated each time. +# +# Rather than define --with-$LIBRARY arguments, it uses variables in the +# same way that PKG_CHECK_MODULES does. It doesn't, though, use the same +# names, since you shouldn't provide a value for LIBS or CFLAGS but rather +# for LDFLAGS and CPPFLAGS, to tell the linker and compiler where to find +# libraries and headers respectively. +# +# If the library is find, HAVE_PREFIX is defined, and in all cases +# PREFIX_LDFLAGS and PREFIX_CPPFLAGS are substituted. +# +# Example: +# +# AX_CHECK_LIBRARY([LIBEVENT], [event.h], [event], [], +# [AC_MSG_ERROR([Unable to find libevent])]) +# +# LICENSE +# +# Copyright (c) 2010 Diego Elio Petteno` +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([AX_CHECK_LIBRARY], [ + AC_ARG_VAR($1[_CPPFLAGS], [C preprocessor flags for ]$1[ headers]) + AC_ARG_VAR($1[_LDFLAGS], [linker flags for ]$1[ libraries]) + + AC_CACHE_VAL(AS_TR_SH([ax_cv_have_]$1), + [save_CPPFLAGS="$CPPFLAGS" + save_LDFLAGS="$LDFLAGS" + save_LIBS="$LIBS" + + AS_IF([test "x$]$1[_CPPFLAGS" != "x"], + [CPPFLAGS="$CPPFLAGS $]$1[_CPPFLAGS"]) + + AS_IF([test "x$]$1[_LDFLAGS" != "x"], + [LDFLAGS="$LDFLAGS $]$1[_LDFLAGS"]) + + AC_CHECK_HEADER($2, [ + AC_CHECK_LIB($3, [main], + [AS_TR_SH([ax_cv_have_]$1)=yes], + [AS_TR_SH([ax_cv_have_]$1)=no]) + ], [AS_TR_SH([ax_cv_have_]$1)=no]) + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ]) + + AS_IF([test "$]AS_TR_SH([ax_cv_have_]$1)[" = "yes"], + AC_DEFINE([HAVE_]$1, [1], [Define to 1 if ]$1[ is found]) + [$4], + [$5]) +]) diff --git a/m4/autoconf-archive/ax_check_link_flag.m4 b/m4/autoconf-archive/ax_check_link_flag.m4 new file mode 100755 index 0000000000..819409a20a --- /dev/null +++ b/m4/autoconf-archive/ax_check_link_flag.m4 @@ -0,0 +1,74 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the linker or gives an error. +# (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the linker's default flags +# when the check is done. The check is thus made with the flags: "LDFLAGS +# EXTRA-FLAGS FLAG". This can for example be used to force the linker to +# issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_LINK_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([AX_CHECK_LINK_FLAG], +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl +AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $4 $1" + AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + LDFLAGS=$ax_check_save_flags]) +AS_VAR_IF(CACHEVAR,yes, + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_LINK_FLAGS diff --git a/m4/autoconf-archive/ax_check_mysql.m4 b/m4/autoconf-archive/ax_check_mysql.m4 new file mode 100755 index 0000000000..a4b81e3060 --- /dev/null +++ b/m4/autoconf-archive/ax_check_mysql.m4 @@ -0,0 +1,393 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_mysql.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_MYSQL([MYSQL-PLUGIN-NEEDED],[MYSQL-REQUIRED],[MINIMUM-VERSION],[INCLUDES-REQUIRED]) +# AX_SOURCE_MYSQL() +# AX_CHECK_MYSQL_INSTALL([ROOT-DIR],[IF-FOUND],[IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Looks for a MySQL installation in typical locations, or can take in a +# flag designating where a MySQL installation is found. Sets the variables +# stated to various attributes of the desired MySQL installation. +# +# In detail, AX_CHECK_MYSQL will automatically look for a MySQL +# installation in the directories that a mysql source or binary install +# typically install to. AX_CHECK_MYSQL will throw an error if it cannot +# find one, and it is required. +# +# AX_CHECK_MYSQL can also check for specific variables passed regarding a +# location of a MySQL installation. +# +# If a MySQL installation is found, AX_CHECK_MYSQL sets variables +# regarding the version of MySQL, its architecture (32 or 64 bit), and +# wether the version supports Plugins. +# +# AX_CHECK_MYSQL_INSTALL will check a designated root directory for a +# command, plugin, and include directory. If a mysql binary is not found +# or not found, the IF-FOUND and IF-NOT-FOUND directive will be executed, +# respectively. +# +# AX_CHECK_MYSQL adds the following flags: +# +# --with-mysql, for the root of a desired MySQL installation +# --with-mysql-plugin, for the path to the plugin directory of the MySQL installation +# --with-mysql-include, for the path to the include directory of the MySQL installation +# --with-mysql-command, for the path to the binary directory of the MySQL installation +# --with-mysql-source, for the path to a directory containing the source of the MySQL installation +# +# AX_CHECK_MYSQL sets: +# +# MYSQL to indicate whether MySQL was found or not +# MYSQL_INCLUDES to the include directory (if one exists) +# MYSQL_PLUGINS to the plugin directory +# MYSQL_COMMANDS to the mysql executable directory +# MYSQL_ARCHITECTURE to whether MySQL is 32 or 64 bit (32 if 32, 64 if 64) +# MYSQL_VERSION to what the MySQL version is (5.1,5.5, etc) +# MYSQL_PLUGIN_OK to whether MySQL version supports plugins (5.1 or greater) +# MYSQL_55 to whether the version of MySQL is 5.5 or greater +# MYSQL_SOURCE to the source directory passed by --with-mysql-source +# +# LICENSE +# +# Copyright (c) 2011 University of Washington +# Copyright (c) 2011 Yusuke Tsutsumi +# Copyright (c) 2011 Craig Stimmel +# Copyright (c) 2011 Eric Wu +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_ARG_WITH(mysql,AS_HELP_STRING([--with-mysql],[root of the MySQL installation])) +AC_ARG_WITH(mysql_plugin,AS_HELP_STRING([--with-mysql-plugin],[path to the MySQL installation plugin directory])) +AC_ARG_WITH(mysql_include,AS_HELP_STRING([--with-mysql-include],[path to the MySQL installation include directory])) +AC_ARG_WITH(mysql_command,AS_HELP_STRING([--with-mysql-command],[path to the MySQL executables directory])) +AC_ARG_WITH(mysql_source,AS_HELP_STRING([--with-mysql-source],[path to MySQL source files])) + +# Used to look for MySQL installation specifically. Checks if binary exists. +AC_DEFUN([AX_CHECK_MYSQL_COMMANDS],[ + # Define variables passed + COMMAND_DIR="$1" + + # Check for the binary, and set appropriate variables + unset ac_cv_mysql_bin_test + AC_CHECK_PROG(mysql_bin_test,mysql,$COMMAND_DIR,no,$COMMAND_DIR) + if test "$mysql_bin_test" != "no"; then + AC_SUBST(MYSQL_COMMANDS,$mysql_bin_test) + AC_SUBST(MYSQL,yes) + else + AC_SUBST(MYSQL_COMMANDS,no) + AC_SUBST(MYSQL,no) + fi +]) + +# Use to look for the plugins directory +AC_DEFUN([AX_CHECK_MYSQL_PLUGINS],[ + # Define variables passed + PLUGIN_DIR="$1" + + AC_MSG_CHECKING([if $PLUGIN_DIR exists...]) + if [[ -d "$PLUGIN_DIR" ]]; then + AC_SUBST(MYSQL_PLUGIN,yes) + AC_MSG_RESULT([yes]) + else + AC_SUBST(MYSQL_PLUGIN,no) + AC_MSG_RESULT([no]) + fi +]) + +# Use to look if includes are installed (determined by the existence of mysql_version.h) +AC_DEFUN([AX_CHECK_MYSQL_INCLUDES],[ + # Define variables passed + INCLUDE_DIR="$1" + AC_CHECK_HEADER($INCLUDE_DIR/mysql_version.h, + AC_SUBST(MYSQL_INCLUDES,$INCLUDE_DIR/), + AC_SUBST(MYSQL_INCLUDES,no)) +]) + +AC_DEFUN([AX_CHECK_MYSQL_INSTALL],[ + + #Define variables passed + ROOT_DIR="$1" + + # Check for include directory + AX_CHECK_MYSQL_INCLUDES([$ROOT_DIR/include/mysql/mysql_version.h]) + if test "$MYSQL_INCLUDES" == "no" ; then + AX_CHECK_MYSQL_INCLUDES([$ROOT_DIR/include/mysql_version.h]) + fi + mysql_include_test=$MYSQL_INCLUDES + + # Check for plugin directory + AX_CHECK_MYSQL_PLUGINS([$ROOT_DIR/lib/mysql/plugin/]) + if test "$MYSQL_PLUGIN" == "no" ; then + unset $MYSQL_PLUGIN + AX_CHECK_MYSQL_PLUGINS([$ROOT_DIR/lib/plugin/]) + fi + mysql_plugin_test=$MYSQL_PLUGIN + + # Check for binary directory + AX_CHECK_MYSQL_COMMANDS([$ROOT_DIR/bin/]) + + if test "$MYSQL" != "no" + then + true + $2 + else + true + $3 + fi +]) + +AC_DEFUN([AX_CHECK_MYSQL],[ + mysql_test="no" + + # Define variables + MYSQL_PLUGIN_NEEDED=`echo $1 | grep -i -o "y"` + MYSQL_REQUIRED=`echo $2 | grep -i -o "y"` + MINIMUM_V="$3" + INCLUDES_REQUIRED=`echo $4 | grep -i -o "y"` + CLASSIFIER="none" + mysql_issue="" + + + + # Checks for common installation locations of MySQL + + echo "Testing if MySQL was installed to common source/binary directory" + AC_CHECK_PROG(mysqlsource,mysql,yes,no,/usr/local/mysql/bin,) + echo "Testing if MySQL was installed to common package manager directory" + AC_CHECK_PROG(mysqlpackage,mysql,yes,no,/usr/bin,) + + # Checks whether the directories contains what they're supposed to, then produces an error otherwise. + # In addition, will also generate an error if no installations exist, or two installations are detected. + + if test "$ac_cv_prog_mysqlsource" == "yes" && test "$ac_cv_prog_mysqlpackage" == "yes" + then + mysql_issue="Multiple MySQL installations found. Please specify the MySQL installation directory with --with-mysql" + else if test "$ac_cv_prog_mysqlsource" == "yes" + then + AX_CHECK_MYSQL_INSTALL(/usr/local/mysql,,) + CLASSIFIER="source" + else if test "$ac_cv_prog_mysqlpackage" == "yes" + then + AX_CHECK_MYSQL_INSTALL(/usr,,) + CLASSIFIER="package" + else + mysql_issue="No default MySQL installs detected. Please specify the MySQL installation directory with --with-mysql" + fi + fi + fi + + # Checks if --with-mysql flag was passed. If so, verifies that the directory follows assumed + # structure and include,plugin, and bin directory is found. If there are no issues, this + # will nullify any errors that would have been thrown by the above checking. + if test "$with_mysql" != "" + then + AX_CHECK_MYSQL_INSTALL($with_mysql,,) + CLASSIFIER="root" + mysql_issue="" + fi + + + # Checks if specific MySQL directory flags were passed (--with-mysql-plugin, --with-mysql-include, --with-mysql-bin) + # If so then checks if these variables are proper directories. If not, returns an error. Requires that all three directories must be defined. + + if test "$with_mysql_plugin" != "" || test "$with_mysql_include" != "" || test "$with_mysql_command" != "" + then + mysql_test="yes" + if test "$with_mysql_plugin" == "" || test "$with_mysql_command" == "" + then + mysql_test="no" + if test "$MYSQL_REQUIRED" != "" + then + AC_MSG_ERROR([Argument is missing! When using --with-mysql-plugin --with-mysql-bin please enter arguments for each.]) + else + AC_MSG_WARN([Argument is missing! When using --with-mysql-plugin --with-mysql-bin please enter arguments for each.]) + fi + else + mysql_issue="" + AX_CHECK_MYSQL_PLUGINS([$with_mysql_plugin]) + AX_CHECK_MYSQL_INCLUDES([$with_mysql_include]) + AX_CHECK_MYSQL_COMMANDS([$with_mysql_command]) + CLASSIFIER="custom" + fi + fi + # If the installation does not exist or satisfy requirements, send an error or warning + mysql_dne_message="" + mysql_include_dne_message="" + + if test "$mysql_issue" != "" + then + if test "$MYSQL_REQUIRED" != "" + then + AC_MSG_ERROR([$mysql_issue]) + else + AC_MSG_WARN([$mysql_issue]) + fi + fi + # Error message for not finding mysql executable + if test "$MYSQL_BIN" == "no" + then + if test "$CLASSIFIER" == "root" + then + mysql_dne_message="Could not find directory containing MySQL includes. Please designate the command\,plugin\,and include directories manually with --with-mysql-command\, --with-mysql-plugin\, and --with-mysql-include" + fi + if test "$CLASSIFIER" == "custom" + then + mysql_dne_message="Could not find mysql executable in designated command directory. Please pass the directory containing the mysql executable with --with-mysql-command" + fi + fi + + # Error message for not finding mysql plugin directory + if test "$MYSQL_PLUGINS" == "no" + then + if test "$CLASSIFIER" == "source" + then + AC_MSG_WARN([Could not find plugin directory for detected source installation. Please pass the root directory of the MySQL installation with --with-mysql]) + fi + if test "$CLASSIFIER" == "package" + then + AC_MSG_WARN([Could not find plugin directory for detected package installation. Please pass the root directory of the MySQL installation with --with-mysql]) + fi + if test "$CLASSIFIER" == "root" + then + AC_MSG_WARN([Could not find directory for MySQL plugins. Please designate the command\,plugin\,and include directories manually with --with-mysql-command\, --with-mysql-plugin\, and --with-mysql-include]) + fi + if test "$CLASSIFIER" == "custom" + then + AC_MSG_WARN([Could not find mysql includes in designated plugin directory. Please pass the directory containing the mysql executable with --with-mysql-plugin]) + fi + fi + + # Error message for not finding mysql include directory + if test "$MYSQL_INCLUDES" == "no" + then + if test "$CLASSIFIER" == "source" + then + mysql_include_dne_message="A source install was detected, but the include directory could not be found! MySQL development library may not be installed. If development library is installed please use --with-mysql-include --with-mysql-plugin --with-mysql-command to manually assign directory locations" + fi + if test "$CLASSIFIER" == "package" + then + mysql_include_dne_message="A package install was detected, but the include directory could not be found! MySQL development library may not be installed. If development library is installed please use --with-mysql-include --with-mysql-plugin --with-mysql-command to manually assign directory locations" + fi + if test "$CLASSIFIER" == "root" + then + mysql_include_dne_message="Could not find directory containing MySQL includes. The MySQL development library may not be installed. If development library is installed\, please designate the command\,plugin\,and include directories manually with --with-mysql-command\, --with-mysql-plugin\, and --with-mysql-include" + fi + if test "$CLASSIFIER" == "custom" + then + mysql_include_dne_message="Could not find mysql includes in designated include directory. Please pass the directory containing the mysql_version.h include file with --with-mysql-include" + fi + fi + + # And execute the error messages + if test "$mysql_dne_message" != "" + then + if test "$MYSQL_REQUIRED" != "" + then + AC_MSG_ERROR([$mysql_dne_message]) + else + AC_MSG_WARN([$mysql_dne_message]) + fi + fi + if test "$mysql_include_dne_message" != "" + then + if test "$INCLUDES_REQUIRED" != "" + then + AC_MSG_ERROR([$mysql_include_dne_message]) + else + AC_MSG_WARN([$mysql_include_dne_message]) + fi + fi + + if test "$MYSQL" == "yes" + then + # Check MySQL version, wether it's 32 or 64 bit, and modifies the architecture variable accordingly + AC_MSG_CHECKING([MySQL Architecture]) + MYSQL_ARCHITECTURE='file '$MYSQL_COMMANDS'/mysql' + MYSQL_ARCHITECTURE=`$MYSQL_ARCHITECTURE | grep -o ".*bit" | sed s/-bit//g | grep -o "[[0-9]][[0-9]]$"` + AC_MSG_RESULT([$MYSQL_ARCHITECTURE]) + AC_SUBST(MYSQL_ARCHITECTURE,$MYSQL_ARCHITECTURE) + + # Checks MySQL binary version + AC_MSG_CHECKING([MySQL Version]) + MYSQL_PREFIX=$MYSQL_COMMANDS'/mysqladmin -v' + MYSQL_V=`$MYSQL_PREFIX | grep -o 'Distrib.*,' | sed s/Distrib\ //g | sed s/,//g` + AC_MSG_RESULT([$MYSQL_V]) + + # Checks whether MySQL version is greater than 5.1, the version needed for plugins + AC_MSG_CHECKING([if MySQL install supports Plugins]) + MYSQL_MAJOR_V=`echo $MYSQL_V | cut -c 1` + MYSQL_MINOR_V=`echo $MYSQL_V | cut -c 3` + MYSQL_REV_V=`echo $MYSQL_V | cut -c 5-6` + MYSQL_PLUGIN_MINOR_V=1 + MYSQL_PLUGIN_MAJOR_V=5 + if test "$MYSQL_MAJOR_V" -lt "$MYSQL_PLUGIN_MAJOR_V" || (test "$MYSQL_MAJOR_V" -eq "$MYSQL_PLUGIN_MAJOR_V" && test "$MYSQL_MINOR_V" -lt "$MYSQL_PLUGIN_MINOR_V") + then + AC_SUBST(MYSQL_PLUGIN_OK,no) + AC_MSG_RESULT([no]) + else + AC_SUBST(MYSQL_PLUGIN_OK,yes) + AC_MSG_RESULT([yes]) + fi + + if test "$MYSQL_PLUGIN_NEEDED" != "" + then + if test "$MYSQL_PLUGIN_OK" == "no" + then + AC_MSG_ERROR([MySQL version is not able to support plugins! Please upgrade your version of MySQL before installing]) + fi + fi + + # Checks wether MINIMUM-VERSION was passed, does error checking for the value, and checks for version + if test "$MINIMUM_V" != "" + then + MINIMUM_MAJOR_V=`echo $MINIMUM_V | cut -c 1` + MINIMUM_MINOR_V=`echo $MINIMUM_V | cut -c 3` + MINIMUM_REV_V=`echo $MINIMUM_V | cut -c 5-6` + CHECKER_MAJOR=`echo $MINIMUM_MAJOR_V | grep -o '[[0-9]]'` + CHECKER_MINOR=`echo $MINIMUM_MINOR_V | grep -o '[[0-9]]'` + CHECKER_REV=`echo $MINIMUM_REV_V | grep -o '^[[0-9]]+'` + if test "$CHECKER_MAJOR" != "" && test "$CHECKER_MINOR" != "" && test "$CHECKER_REV" == "" + then + AC_MSG_CHECKING([if MySQL version is equal or greater than $MINIMUM_V]) + if test "$MYSQL_MAJOR_V" -lt "$MINIMUM_MAJOR_V" || (test "$MYSQL_MAJOR_V" -eq "$MINIMUM_MAJOR_V" && test "$MYSQL_MINOR_V" -lt "$MINIMUM_MINOR_V") || (test "$MYSQL_MAJOR_V" -eq "$MINIMUM_MAJOR_V" && test "$MYSQL_MINOR_V" -eq "$MINIMUM_MINOR_V" && "$MYSQL_REV_V" -lt "MINIMUM_REV_V") + then + AC_SUBST(MYSQL_PLUGIN_OK,no) + AC_MSG_RESULT([no]) + AC_MSG_ERROR([installed MySQL version is not above $MINIMUM_V. Please upgrade your version of MySQL]) + else + AC_SUBST(MYSQL_PLUGIN_OK,yes) + AC_MSG_RESULT([yes]) + fi + else + AC_MSG_ERROR([MINIMUM-VERSION variable in AX_CHEC_MYSQL is not formatted properly. Please use X.X or X.X.XX]) + fi + fi + + # Checks whether MySQL version is 5.5 or greater, the production release with major header/include changes from before + if test "$MYSQL_MAJOR_V" -gt 4 && test "$MYSQL_MINOR_V" -gt 4 + then + AC_SUBST(MYSQL_55,yes) + else + AC_SUBST(MYSQL_55,no) + fi + fi + +]) + +AC_DEFUN([AX_SOURCE_MYSQL],[ + if test "$with_mysql_source" == "" + then + AC_MSG_ERROR(["Please Designate MySQL source path, using --with-mysql-source=YOUR_PATH"]) + else + AC_SUBST(MYSQL_SOURCE,$with_mysql_source) + fi +]) diff --git a/m4/autoconf-archive/ax_check_mysql_db.m4 b/m4/autoconf-archive/ax_check_mysql_db.m4 new file mode 100755 index 0000000000..b38830e745 --- /dev/null +++ b/m4/autoconf-archive/ax_check_mysql_db.m4 @@ -0,0 +1,67 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_mysql_db.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_MYSQL_DB +# +# DESCRIPTION +# +# Check if the specified MySQL database exists, if yes set your +# environment variable to that database name else unset your environment +# variable +# +# Example: +# +# AX_CHECK_MYSQL_DB(DBNAME, [fishmarket]) +# if test x$DBNAME = xfishmarket; then +# bla..bla..bla.. +# else +# bla..bla..bla.. +# fi +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_CHECK_MYSQL_DB], [AX_CHECK_MYSQL_DB]) +AC_DEFUN([AX_CHECK_MYSQL_DB],[ +AC_REQUIRE([AX_PROG_MYSQLSHOW])dnl +AC_MSG_CHECKING([for MySQL db $2]) +if $MYSQLSHOW -u root -prootpass $2 > /dev/null 2>&1; then + $1=$2 + AC_MSG_RESULT([yes]) +else + unset $1 + AC_MSG_RESULT([no]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_check_mysqlr.m4 b/m4/autoconf-archive/ax_check_mysqlr.m4 new file mode 100755 index 0000000000..533d2ac0e6 --- /dev/null +++ b/m4/autoconf-archive/ax_check_mysqlr.m4 @@ -0,0 +1,47 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_mysqlr.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_MYSQLR +# +# DESCRIPTION +# +# First check if mysqlconfig exists. It fails if mysqlconfig is not in +# path. Then it checks for the libraries and replaces -lmysqlclient +# statement with -lmysqlclient_r statement, to enable threaded client +# library. +# +# The following are exported environment variables: +# +# MYSQL_LIBS +# MYSQL_CFLAGS +# +# LICENSE +# +# Copyright (c) 2008 Can Bican +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_CHECK_MYSQLR], [AX_CHECK_MYSQLR]) +AC_DEFUN([AX_CHECK_MYSQLR],[ +AC_PATH_PROG(mysqlconfig,mysql_config) +if test [ -z "$mysqlconfig" ] +then + AC_MSG_ERROR([mysql_config executable not found]) +else + AC_MSG_CHECKING(mysql libraries) + MYSQL_LIBS=`${mysqlconfig} --libs | sed -e \ + 's/-lmysqlclient /-lmysqlclient_r /' -e 's/-lmysqlclient$/-lmysqlclient_r/'` + AC_MSG_RESULT($MYSQL_LIBS) + AC_MSG_CHECKING(mysql includes) + MYSQL_CFLAGS=`${mysqlconfig} --cflags` + AC_MSG_RESULT($MYSQL_CFLAGS) +fi +]) diff --git a/m4/autoconf-archive/ax_check_off64_t.m4 b/m4/autoconf-archive/ax_check_off64_t.m4 new file mode 100755 index 0000000000..755bb2b701 --- /dev/null +++ b/m4/autoconf-archive/ax_check_off64_t.m4 @@ -0,0 +1,68 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_off64_t.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_OFF64_T +# +# DESCRIPTION +# +# Check if off64_t is defined. On true define HAVE_OFF64_T, also define +# __LARGEFILE64_SOURCE where one is needed. (Note that an appropriative +# entry must be in config.h.in.) +# +# LICENSE +# +# Copyright (c) 2008 Ruslan Shevchenko +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([RSSH_CHECK_OFF64_T], [AX_CHECK_OFF64_T]) +AC_DEFUN([AX_CHECK_OFF64_T], [ +AC_REQUIRE([AC_SYS_LARGEFILE])dnl +AC_CHECK_HEADER(unistd.h) +AC_CACHE_CHECK([whether type off64_t support], + [ax_cv_check_off64_t], + [ + AC_COMPILE_IFELSE( +AC_LANG_SOURCE([ +#ifdef HAVE_UNISTD_H +#include +#endif +extern off64_t x1; +]) +,ax_have_off64t=1) + if test "x$ax_have_off64t" = "x" + then + AC_COMPILE_IFELSE( +AC_LANG_SOURCE([ +#define _LARGEFILE64_SOURCE +#ifdef HAVE_UNISTD_H +#include +#endif +extern off64_t x1; +]), + ax_cv_check_off64_t="_LARGEFILE64_SOURCE", + ax_cv_check_off64_t="no" +)dnl + + else + ax_cv_check_off64_t=yes + fi + ])dnl + +if test "x$ax_cv_check_off64_t" = "x_LARGEFILE64_SOURCE" +then + AC_DEFINE(_LARGEFILE64_SOURCE) + AC_DEFINE(HAVE_OFF64_T) +elif test "x$ax_cv_check_off64_t" = "xyes" +then + AC_DEFINE(HAVE_OFF64_T) +fi +])dnl diff --git a/m4/autoconf-archive/ax_check_openssl.m4 b/m4/autoconf-archive/ax_check_openssl.m4 new file mode 100755 index 0000000000..28e48cbefb --- /dev/null +++ b/m4/autoconf-archive/ax_check_openssl.m4 @@ -0,0 +1,124 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]]) +# +# DESCRIPTION +# +# Look for OpenSSL in a number of default spots, or in a user-selected +# spot (via --with-openssl). Sets +# +# OPENSSL_INCLUDES to the include directives required +# OPENSSL_LIBS to the -l directives required +# OPENSSL_LDFLAGS to the -L or -R flags required +# +# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately +# +# This macro sets OPENSSL_INCLUDES such that source files should use the +# openssl/ directory in include directives: +# +# #include +# +# LICENSE +# +# Copyright (c) 2009,2010 Zmanda Inc. +# Copyright (c) 2009,2010 Dustin J. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL]) +AC_DEFUN([AX_CHECK_OPENSSL], [ + found=false + AC_ARG_WITH([openssl], + [AS_HELP_STRING([--with-openssl=DIR], + [root of the OpenSSL directory])], + [ + case "$withval" in + "" | y | ye | yes | n | no) + AC_MSG_ERROR([Invalid --with-openssl value]) + ;; + *) ssldirs="$withval" + ;; + esac + ], [ + # if pkg-config is installed and openssl has installed a .pc file, + # then use that information and don't search ssldirs + AC_CHECK_TOOL([PKG_CONFIG], [pkg-config]) + if test x"$PKG_CONFIG" != x""; then + OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null` + if test $? = 0; then + OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null` + OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null` + found=true + fi + fi + + # no such luck; use some default ssldirs + if ! $found; then + ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr" + fi + ] + ) + + + # note that we #include , so the OpenSSL headers have to be in + # an 'openssl' subdirectory + + if ! $found; then + OPENSSL_INCLUDES= + for ssldir in $ssldirs; do + AC_MSG_CHECKING([for openssl/ssl.h in $ssldir]) + if test -f "$ssldir/include/openssl/ssl.h"; then + OPENSSL_INCLUDES="-I$ssldir/include" + OPENSSL_LDFLAGS="-L$ssldir/lib" + OPENSSL_LIBS="-lssl -lcrypto" + found=true + AC_MSG_RESULT([yes]) + break + else + AC_MSG_RESULT([no]) + fi + done + + # if the file wasn't found, well, go ahead and try the link anyway -- maybe + # it will just work! + fi + + # try the preprocessor and linker with our new flags, + # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS + + AC_MSG_CHECKING([whether compiling and linking against OpenSSL works]) + echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \ + "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD + + save_LIBS="$LIBS" + save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS="$CPPFLAGS" + LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" + LIBS="$OPENSSL_LIBS $LIBS" + CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include ], [SSL_new(NULL)])], + [ + AC_MSG_RESULT([yes]) + $1 + ], [ + AC_MSG_RESULT([no]) + $2 + ]) + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + + AC_SUBST([OPENSSL_INCLUDES]) + AC_SUBST([OPENSSL_LIBS]) + AC_SUBST([OPENSSL_LDFLAGS]) +]) diff --git a/m4/autoconf-archive/ax_check_page_aligned_malloc.m4 b/m4/autoconf-archive/ax_check_page_aligned_malloc.m4 new file mode 100755 index 0000000000..47763bddaa --- /dev/null +++ b/m4/autoconf-archive/ax_check_page_aligned_malloc.m4 @@ -0,0 +1,70 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_check_page_aligned_malloc.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_CHECK_PAGE_ALIGNED_MALLOC +# +# DESCRIPTION +# +# Some operating systems (generally, BSD Unix variants) lack a +# posix_memalign function, a memalign function, and a working (meaning, +# the memory can be freed) valloc function. To make up for it, the malloc +# function promises to return page-aligned addresses if more than one +# page's worth of memory is allocated. AX_CHECK_PAGE_ALIGNED_MALLOC checks +# for this condition and defines HAVE_PAGE_ALIGNED_MALLOC if the condition +# holds. +# +# As an aside, note that valloc'd memory cannot safely be freed on all +# operating systems. (Again, some flavors of BSD are the troublemakers.) +# It's best to avoid using valloc in favor of posix_memalign, memalign, or +# an aligned malloc as detected by AX_CHECK_PAGE_ALIGNED_MALLOC. +# +# Caveat: AX_CHECK_PAGE_ALIGNED_MALLOC takes a probabilistic approach. If +# 100 calls to malloc all return page-aligned addresses, it assumes that +# all calls will behave likewise. It is therefore possible -- albeit +# extremely unlikely -- that AX_CHECK_PAGE_ALIGNED_MALLOC can return a +# false positive. +# +# LICENSE +# +# Copyright (c) 2008 Scott Pakin +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_CHECK_PAGE_ALIGNED_MALLOC], +[AC_CACHE_CHECK([if large mallocs guarantee page-alignment], + [ax_cv_func_malloc_aligned], + [AC_TRY_RUN([ +#include +#include +#if HAVE_UNISTD_H +# include +#endif + +int main() +{ + int pagesize = getpagesize(); + int i; + + for (i=0; i<100; i++) + if ((unsigned long)malloc(pagesize+1) & (pagesize-1)) + exit (1); + exit (0); +} + ], + [ax_cv_func_malloc_aligned=yes], + [ax_cv_func_malloc_aligned=no], + [ax_cv_func_malloc_aligned=no]) + ]) +if test "$ax_cv_func_malloc_aligned" = yes ; then + AC_DEFINE([HAVE_PAGE_ALIGNED_MALLOC], [1], + [Define if `malloc'ing more than one page always returns a page-aligned address.]) +fi +]) diff --git a/m4/autoconf-archive/ax_check_pathfind.m4 b/m4/autoconf-archive/ax_check_pathfind.m4 new file mode 100755 index 0000000000..fd78c0c2e6 --- /dev/null +++ b/m4/autoconf-archive/ax_check_pathfind.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_pathfind.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_PATHFIND +# +# DESCRIPTION +# +# Not all systems have pathfind(3). See if we need to substitute. To make +# this work, you have to do horrible things. See the doc for +# AX_CHECK_STRCSPN. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_PATHFIND], [AX_CHECK_PATHFIND]) +AC_DEFUN([AX_CHECK_PATHFIND],[ + AC_MSG_CHECKING([whether pathfind(3) works]) + AC_CACHE_VAL([ax_cv_pathfind],[ + AC_TRY_RUN([#include +#include +int main (int argc, char** argv) { + char* pz = pathfind( getenv( "PATH" ), "sh", "x" ); + return (pz == 0) ? 1 : 0; +}],[ax_cv_pathfind=yes],[ax_cv_pathfind=no],[ax_cv_pathfind=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_pathfind]) + if test x$ax_cv_pathfind = xyes + then + AC_DEFINE(HAVE_PATHFIND, 1, + [Define this if pathfind(3) works]) + else + if test x$ac_cv_lib_gen_pathfind = xyes + then : + else + COMPATOBJ="$COMPATOBJ pathfind.lo" + fi + fi +]) # end of AC_DEFUN of AX_CHECK_PATHFIND diff --git a/m4/autoconf-archive/ax_check_pathname_style.m4 b/m4/autoconf-archive/ax_check_pathname_style.m4 new file mode 100755 index 0000000000..eca9388810 --- /dev/null +++ b/m4/autoconf-archive/ax_check_pathname_style.m4 @@ -0,0 +1,71 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_check_pathname_style.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CHECK_PATHNAME_STYLE_DOS +# +# DESCRIPTION +# +# Check if host OS uses DOS-style pathnames. This includes the use of +# drive letters and backslashes. Under DOS, Windows, and OS/2, defines +# HAVE_PATHNAME_STYLE_DOS and PATH_SEPARATOR to ';'. Otherwise, defines +# PATH_SEPARATOR to ':'. +# +# This macro depends on the AC_CANONICAL_HOST. +# +# Use for enabling code to handle drive letters, backslashes in filenames +# and semicolons in the PATH. +# +# LICENSE +# +# Copyright (c) 2008 Mark Elbrecht +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([ACX_CHECK_PATHNAME_STYLE], [AX_CHECK_PATHNAME_STYLE]) +AC_DEFUN([AX_CHECK_PATHNAME_STYLE_DOS], +[AC_MSG_CHECKING(for Windows and DOS and OS/2 style pathnames) +AC_CACHE_VAL(ax_cv_pathname_style_dos, +[AC_REQUIRE([AC_CANONICAL_HOST]) + +ax_cv_pathname_style_dos="no" +case ${host_os} in + *djgpp | *mingw32* | *emx*) ax_cv_pathname_style_dos="yes" ;; +esac +]) +AC_MSG_RESULT($ax_cv_pathname_style_dos) +if test "$ax_cv_pathname_style_dos" = "yes"; then + AC_DEFINE(HAVE_PATHNAME_STYLE_DOS,,[defined if running on a system with dos style paths]) + AC_DEFINE(PATH_SEPARATOR, ';') +else + AC_DEFINE(PATH_SEPARATOR, ':') +fi +]) diff --git a/m4/autoconf-archive/ax_check_pgsql_db.m4 b/m4/autoconf-archive/ax_check_pgsql_db.m4 new file mode 100755 index 0000000000..09890d998e --- /dev/null +++ b/m4/autoconf-archive/ax_check_pgsql_db.m4 @@ -0,0 +1,106 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_pgsql_db.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_PGSQL_DB([DB], [USER], [HOST], [PASSWORD], [ACTION_IF_FAILED], [ACTION_IF_OK]) +# +# DESCRIPTION +# +# This macro checks wether we can connect to a PostgreSQL server with the +# given data. The macro AX_PROG_PGCLIENT is required by this one. The +# variable $pgclient_call is set for later use in Makefiles, if you'd like +# to make use of this, you must do +# +# AC_SUBST(pgclient_call) +# +# after having called AX_CHECK_PGSQL_DB. You can then do something like +# the following in your Makefile.am: +# +# @pgclient_call@ -f file.sql +# +# If you want the user to set the data, you should support something like +# these configure options: +# +# AC_ARG_WITH(pgsql-host, +# [ --with-pgsql-host=HOST server is running on HOST @<:@local socket@:>@], +# [pg_host=$withval], [pg_host=]) +# +# AC_ARG_WITH(pgsql-db, +# [ --with-pgsql-db=DATABASE use DATABASE @<:@tarantoola@:>@], +# [pg_db=$withval], [pg_db=tarantoola]) +# +# AC_ARG_WITH(pgsql-user, +# [ --with-pgsql-user=USER use USER @<:@postgres@:>@], +# [pg_user=$withval], [pg_user=postgres]) +# +# AC_ARG_WITH(pgsql-password, +# [ --with-pgsql-password=PASSWORD use PASSWORD @<:@none@:>@], +# [pg_password=$withval], [pg_password=""]) +# +# You can then call the macro like this: +# +# AX_CHECK_PGSQL_DB([$pg_db], [$pg_user], [$pg_host], [$pg_password], [AC_MSG_ERROR([We need a database connection!])]) +# +# LICENSE +# +# Copyright (c) 2008 Moritz Sinn +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([MS_CHECK_PGSQL_DB], [AX_CHECK_PGSQL_DB]) +AC_DEFUN([AX_CHECK_PGSQL_DB], [ +AC_REQUIRE([AX_PROG_PGCLIENT]) +AC_MSG_CHECKING([for PostgreSQL db $1 (user: $2, host: $3)]) + +pgclient_call="$pgclient" + +if test "x$1" != "x"; then + pgclient_call="$pgclient_call dbname=$1"; +fi +if test "x$2" != "x"; then + pgclient_call="$pgclient_call user=$2"; +fi +if test "x$3" != "x"; then + pgclient_call="$pgclient_call host=$3"; +fi +if test "x$4" != "x"; then + pgclient_call="$pgclient_call password=$4"; +fi + +$pgclient_call -c 'SELECT 1' > /dev/null 2>&1 +if test "x$?" = "x0"; then + AC_MSG_RESULT([yes]) + $6 +else + AC_MSG_RESULT([no]) + $5 +fi; +])dnl diff --git a/m4/autoconf-archive/ax_check_posix_regcomp.m4 b/m4/autoconf-archive/ax_check_posix_regcomp.m4 new file mode 100755 index 0000000000..68f743a366 --- /dev/null +++ b/m4/autoconf-archive/ax_check_posix_regcomp.m4 @@ -0,0 +1,46 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_posix_regcomp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_POSIX_REGCOMP +# +# DESCRIPTION +# +# Check that the POSIX compliant regular expression compiler is available +# in the POSIX specified manner, and it works. If it fails, we have a +# backup -- use gnu-regex. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_POSIX_REGCOMP], [AX_CHECK_POSIX_REGCOMP]) +AC_DEFUN([AX_CHECK_POSIX_REGCOMP],[ + AC_MSG_CHECKING([whether POSIX compliant regcomp()/regexec()]) + AC_CACHE_VAL([ax_cv_posix_regcomp],[ + AC_TRY_RUN([#include +#include +int main() { + int flags = REG_EXTENDED|REG_ICASE|REG_NEWLINE; + regex_t re; + if (regcomp( &re, "^.*$", flags ) != 0) + return 1; + return regcomp( &re, "|no.*", flags ); }],[ax_cv_posix_regcomp=yes],[ax_cv_posix_regcomp=no],[ax_cv_posix_regcomp=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_posix_regcomp]) + if test x$ax_cv_posix_regcomp = xyes + then + AC_DEFINE(HAVE_POSIX_REGCOMP, 1, + [Define this if POSIX compliant regcomp()/regexec()]) + fi +]) # end of AC_DEFUN of AX_CHECK_POSIX_REGCOMP diff --git a/m4/autoconf-archive/ax_check_posix_sysinfo.m4 b/m4/autoconf-archive/ax_check_posix_sysinfo.m4 new file mode 100755 index 0000000000..f22db01874 --- /dev/null +++ b/m4/autoconf-archive/ax_check_posix_sysinfo.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_posix_sysinfo.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_POSIX_SYSINFO +# +# DESCRIPTION +# +# Check that the POSIX compliant sysinfo(2) call works properly. Linux has +# its own weirdo alternative. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_POSIX_SYSINFO], [AX_CHECK_POSIX_SYSINFO]) +AC_DEFUN([AX_CHECK_POSIX_SYSINFO],[ + AC_MSG_CHECKING([whether sysinfo(2) is POSIX]) + AC_CACHE_VAL([ax_cv_posix_sysinfo],[ + AC_TRY_RUN([#include +int main() { char z[ 256 ]; +long sz = sysinfo( SI_SYSNAME, z, sizeof( z )); +return (sz > 0) ? 0 : 1; }],[ax_cv_posix_sysinfo=yes],[ax_cv_posix_sysinfo=no],[ax_cv_posix_sysinfo=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_posix_sysinfo]) + if test x$ax_cv_posix_sysinfo = xyes + then + AC_DEFINE(HAVE_POSIX_SYSINFO, 1, + [Define this if sysinfo(2) is POSIX]) + fi +]) # end of AC_DEFUN of AX_CHECK_POSIX_SYSINFO diff --git a/m4/autoconf-archive/ax_check_postgres_db.m4 b/m4/autoconf-archive/ax_check_postgres_db.m4 new file mode 100755 index 0000000000..0707d47eed --- /dev/null +++ b/m4/autoconf-archive/ax_check_postgres_db.m4 @@ -0,0 +1,109 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_postgres_db.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_POSTGRES_DB([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro tries to find the headers and libraries for the PostgreSQL +# database to build client applications. +# +# If includes are found, the variable PQINCPATH will be set, and +# have_pqinc will be 'yes'. If libraries are found, the variable PQLIBPATH +# will be set, and have_pqlib will be 'yes'. If both PQINCPATH and +# PQLIBPATH are found, HAVE_LIBPQ will be set to 'yes' (and AC_DEFINEd), +# and -lpq will be added to the beginning of LIBS. If their respective +# conditions are not met, have_pqinc, have_pqlib, HAVE_LIBPQ, will be +# 'no'. +# +# This macro does fails if either the headers or the library are not +# found, unless ACTION-IF-NOT-FOUND is not empty. When both are found, +# ACTION-IF-FOUND, if defined, is executed after the variables have been +# defined. If --with-pgsql=no (or equivalents) is given, nothing happens. +# +# An automake conditional can be subsequently defined as +# +# AM_CONDITIONAL([HAVE_LIBPQ], [test x$HAVE_LIBPQ = x$yes]) +# +# in configure.ac. +# +# LICENSE +# +# Copyright (c) 2008 Christian Toepp +# Copyright (c) 2012 Olivier Mehani +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AU_ALIAS([CT_CHECK_POSTGRES_DB], [AX_CHECK_POSTGRES_DB]) +AC_DEFUN([AX_CHECK_POSTGRES_DB], [ + +pushdef([ACTION_IF_FOUND],$1) +pushdef([ACTION_IF_NOT_FOUND],$2) + +AC_ARG_WITH(pgsql, + [AS_HELP_STRING([--with-pgsql[[=PREFIX]]], + [Prefix of your PostgreSQL installation @<:@PREFIX@:>@])], + [pg_prefix=$withval], [pg_prefix=]) +AC_ARG_WITH(pgsql-inc, + [AS_HELP_STRING([--with-pgsql-inc=[[PATH]]], + [Path to the include directory of PostgreSQL @<:@INCLUDEDIR@:>@])], + [pg_inc=$withval], [pg_inc=]) +AC_ARG_WITH(pgsql-lib, + [AS_HELP_STRING([--with-pgsql-lib=[[PATH]]], + [Path to the libraries of PostgreSQL @<:@LIBDIR@:>@])], + [pg_lib=$withval], [pg_lib=]) + +have_pqinc=no +have_pqlib=no +HAVE_LIBPQ=no + +AS_IF([test "$pg_prefix" != "no"],[ + AS_IF([test "$pg_prefix" != "yes" && test "$pg_prefix" != ""], [ + PQINCPATH="-I$pg_prefix/include $PQINCPATH" + PQLIBPATH="-L$pg_prefix/lib $PQLIBPATH" + ]) + AS_IF([test "$pg_inc" != ""], [PQINCPATH="-I$pg_inc $PQINCPATH"]) + AS_IF([test "$pg_lib" != ""], [PQLIBPATH="-L$pg_lib $PQLIBPATH"]) + + oldCPPFLAGS=$CPPFLAGS + oldLDFLAGS=$LDFLAGS + + CPPFLAGS="$PQINCPATH $CPPFLAGS" + LDFLAGS="$PQLIBPATH $LDFLAGS" + + AC_CHECK_HEADER([libpq-fe.h], [have_pqinc=yes]) + AC_CHECK_LIB([pq], [PQconnectdb], [ + dnl We only search for libpq, so we know why we're here + LIBPQ_LIBS=-lpq + have_pqlib=yes + ]) + + HAVE_LIBPQ=`(test x$have_pqinc = xyes && test x$have_pqlib = xyes && echo yes) || echo no` + + CPPFLAGS=$oldCPPFLAGS + LDFLAGS=$oldLDFLAGS + + AC_SUBST(PQINCPATH) + AC_SUBST(PQLIBPATH) + AC_SUBST(LIBPQ_LIBS) + + AS_IF([test x$HAVE_LIBPQ = xyes],[ + AC_DEFINE([HAVE_LIBPQ], [1], [Define if libpq is installed]) + ACTION_IF_FOUND + ], + [m4_ifset([ACTION_IF_NOT_FOUND],[ACTION_IF_NOT_FOUND], + [AC_MSG_ERROR(some support files for PostgreSQL were missing)])]) +]) + +popdef([ACTION_IF_FOUND]) +popdef([ACTION_IF_NOT_FOUND]) + +]) diff --git a/m4/autoconf-archive/ax_check_preproc_flag.m4 b/m4/autoconf-archive/ax_check_preproc_flag.m4 new file mode 100755 index 0000000000..4850ff36a9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_preproc_flag.m4 @@ -0,0 +1,74 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's +# preprocessor or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the preprocessor's default +# flags when the check is done. The check is thus made with the flags: +# "CPPFLAGS EXTRA-FLAGS FLAG". This can for example be used to force the +# preprocessor to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_PREPROC_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([AX_CHECK_PREPROC_FLAG], +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [ + ax_check_save_flags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $4 $1" + AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + CPPFLAGS=$ax_check_save_flags]) +AS_VAR_IF(CACHEVAR,yes, + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_PREPROC_FLAGS diff --git a/m4/autoconf-archive/ax_check_rqrd_class.m4 b/m4/autoconf-archive/ax_check_rqrd_class.m4 new file mode 100755 index 0000000000..baa041aca5 --- /dev/null +++ b/m4/autoconf-archive/ax_check_rqrd_class.m4 @@ -0,0 +1,62 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_rqrd_class.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_RQRD_CLASS +# +# DESCRIPTION +# +# AX_CHECK_RQRD_CLASS tests the existence of a given Java class, either in +# a jar or in a '.class' file and fails if it doesn't exist. Its success +# or failure can depend on a proper setting of the CLASSPATH env. +# variable. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_RQRD_CLASS], [AX_CHECK_RQRD_CLASS]) +AC_DEFUN([AX_CHECK_RQRD_CLASS],[ +CLASS=`echo $1|sed 's/\./_/g'` +AC_CHECK_CLASS($1) +if test "$HAVE_LAST_CLASS" = "no"; then + AC_MSG_ERROR([Required class $1 missing, exiting.]) +fi +]) diff --git a/m4/autoconf-archive/ax_check_sign.m4 b/m4/autoconf-archive/ax_check_sign.m4 new file mode 100755 index 0000000000..bc2c3f034c --- /dev/null +++ b/m4/autoconf-archive/ax_check_sign.m4 @@ -0,0 +1,54 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_sign.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_SIGN (TYPE, [ACTION-IF-SIGNED], [ACTION-IF-UNSIGNED], [INCLUDES]) +# +# DESCRIPTION +# +# Checks whether TYPE is signed or not. If no INCLUDES are specified, the +# default includes are used. If ACTION-IF-SIGNED is given, it is +# additional shell code to execute when the type is signed. If +# ACTION-IF-UNSIGNED is given, it is executed when the type is unsigned. +# +# This macro assumes that the type exists. Therefore the existence of the +# type should be checked before calling this macro. For example: +# +# AC_CHECK_HEADERS([wchar.h]) +# AC_CHECK_TYPE([wchar_t],,[ AC_MSG_ERROR([Type wchar_t not found.]) ]) +# AX_CHECK_SIGN([wchar_t], +# [ AC_DEFINE(WCHAR_T_SIGNED, 1, [Define if wchar_t is signed]) ], +# [ AC_DEFINE(WCHAR_T_UNSIGNED, 1, [Define if wchar_t is unsigned]) ], [ +# #ifdef HAVE_WCHAR_H +# #include +# #endif +# ]) +# +# LICENSE +# +# Copyright (c) 2008 Ville Laurikari +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([VL_CHECK_SIGN], [AX_CHECK_SIGN]) +AC_DEFUN([AX_CHECK_SIGN], [ + typename=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g"` + AC_CACHE_CHECK([whether $1 is signed], ax_cv_decl_${typename}_signed, [ + AC_TRY_COMPILE([$4], + [ int foo @<:@ 1 - 2 * !((($1) -1) < 0) @:>@ ], + [ eval "ax_cv_decl_${typename}_signed=\"yes\"" ], + [ eval "ax_cv_decl_${typename}_signed=\"no\"" ])]) + symbolname=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g" | tr "a-z" "A-Z"` + if eval "test \"\${ax_cv_decl_${typename}_signed}\" = \"yes\""; then + $2 + elif eval "test \"\${ax_cv_decl_${typename}_signed}\" = \"no\""; then + $3 + fi +])dnl diff --git a/m4/autoconf-archive/ax_check_strcspn.m4 b/m4/autoconf-archive/ax_check_strcspn.m4 new file mode 100755 index 0000000000..bc43bb4fec --- /dev/null +++ b/m4/autoconf-archive/ax_check_strcspn.m4 @@ -0,0 +1,57 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_strcspn.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_STRCSPN +# +# DESCRIPTION +# +# Not all systems have strcspn(3). See if we need to substitute. To make +# this work, you have to do horrible things. In one of your Makefile.am +# files, you must make an explicit rule to make this object. It should +# look like this: +# +# strcspn.lo : $(top_srcdir)/compat/strcspn.c +# $(LTCOMPILE) -o $@ -c $(top_srcdir)/compat/strcspn.c +# +# and you must include ``@COMPATOBJ@'' in a LIBADD somewhere and, finally, +# you must add another artificial dependency, something like: +# +# makeshell.lo : genshell.c @COMPATOBJ@ +# +# It is all pretty horrific, but I have found nothing else that works. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_STRCSPN], [AX_CHECK_STRCSPN]) +AC_DEFUN([AX_CHECK_STRCSPN],[ + AC_MSG_CHECKING([whether strcspn matches prototype and works]) + AC_CACHE_VAL([ax_cv_strcspn],[ + AC_TRY_RUN([#include +int main (int argc, char** argv) { + char zRej[] = "reject"; + char zAcc[] = "a-ok-eject"; + return strcspn( zAcc, zRej ) - 5; +}],[ax_cv_strcspn=yes],[ax_cv_strcspn=no],[ax_cv_strcspn=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_strcspn]) + if test x$ax_cv_strcspn = xyes + then + AC_DEFINE(HAVE_STRCSPN, 1, + [Define this if strcspn matches prototype and works]) + else + COMPATOBJ="$COMPATOBJ strcspn.lo" + fi +]) # end of AC_DEFUN of AX_CHECK_STRCSPN diff --git a/m4/autoconf-archive/ax_check_strftime.m4 b/m4/autoconf-archive/ax_check_strftime.m4 new file mode 100755 index 0000000000..adb723392d --- /dev/null +++ b/m4/autoconf-archive/ax_check_strftime.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_strftime.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_STRFTIME +# +# DESCRIPTION +# +# Check for existence and functioning of strftime routine. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_STRFTIME], [AX_CHECK_STRFTIME]) +AC_DEFUN([AX_CHECK_STRFTIME],[ + AC_MSG_CHECKING([whether strftime() works]) + AC_CACHE_VAL([ax_cv_strftime],[ + AC_TRY_RUN([#include +char t_buf[ 64 ]; +int main() { + static const char z[] = "Thursday Aug 28 240"; + struct tm tm; + tm.tm_sec = 36; /* seconds after the minute [0, 61] */ + tm.tm_min = 44; /* minutes after the hour [0, 59] */ + tm.tm_hour = 12; /* hour since midnight [0, 23] */ + tm.tm_mday = 28; /* day of the month [1, 31] */ + tm.tm_mon = 7; /* months since January [0, 11] */ + tm.tm_year = 86; /* years since 1900 */ + tm.tm_wday = 4; /* days since Sunday [0, 6] */ + tm.tm_yday = 239; /* days since January 1 [0, 365] */ + tm.tm_isdst = 1; /* flag for daylight savings time */ + strftime( t_buf, sizeof( t_buf ), "%A %b %d %j", &tm ); + return (strcmp( t_buf, z ) != 0); }],[ax_cv_strftime=yes],[ax_cv_strftime=no],[ax_cv_strftime=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_strftime]) + if test x$ax_cv_strftime = xyes + then + AC_DEFINE(HAVE_STRFTIME, 1, + [Define this if strftime() works]) + fi +]) # end of AC_DEFUN of AX_CHECK_STRFTIME diff --git a/m4/autoconf-archive/ax_check_struct_for.m4 b/m4/autoconf-archive/ax_check_struct_for.m4 new file mode 100755 index 0000000000..ef0de073db --- /dev/null +++ b/m4/autoconf-archive/ax_check_struct_for.m4 @@ -0,0 +1,57 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_struct_for.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_STRUCT_FOR(INCLUDES,STRUCT,MEMBER,DEFINE,[no]) +# +# DESCRIPTION +# +# Checks STRUCT for MEMBER and defines DEFINE if found. +# +# LICENSE +# +# Copyright (c) 2008 Wes Hardaker +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_CHECK_STRUCT_FOR], [AX_CHECK_STRUCT_FOR]) +AC_DEFUN([AX_CHECK_STRUCT_FOR],[ +ac_safe_struct=`echo "$2" | sed 'y%./+-%__p_%'` +ac_safe_member=`echo "$3" | sed 'y%./+-%__p_%'` +ac_safe_all="ac_cv_struct_${ac_safe_struct}_has_${ac_safe_member}" +changequote(, )dnl + ac_uc_define=STRUCT_`echo "${ac_safe_struct}_HAS_${ac_safe_member}" | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` +changequote([, ])dnl + +AC_MSG_CHECKING([for $2.$3]) +AC_CACHE_VAL($ac_safe_all, +[ +if test "x$4" = "x"; then + defineit="= 0" +elif test "x$4" = "xno"; then + defineit="" +else + defineit="$4" +fi +AC_TRY_COMPILE([ +$1 +],[ +struct $2 testit; +testit.$3 $defineit; +], eval "${ac_safe_all}=yes", eval "${ac_safe_all}=no" ) +]) + +if eval "test \"x$`echo ${ac_safe_all}`\" = \"xyes\""; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED($ac_uc_define) +else + AC_MSG_RESULT(no) +fi +]) diff --git a/m4/autoconf-archive/ax_check_symbol.m4 b/m4/autoconf-archive/ax_check_symbol.m4 new file mode 100755 index 0000000000..45c6c2109a --- /dev/null +++ b/m4/autoconf-archive/ax_check_symbol.m4 @@ -0,0 +1,84 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_symbol.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_SYMBOL(SYMBOL, HEADER... [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# A wrapper around AC_EGREP_HEADER. The shellvar $ac_found will hold the +# HEADER-name that had been containing the symbol. This value is shown to +# the user. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_SYMBOL], [AX_CHECK_SYMBOL]) +AC_DEFUN([AX_CHECK_SYMBOL], +[AC_MSG_CHECKING([for $1 in $2]) +AC_CACHE_VAL(ac_cv_func_$1, +[AC_REQUIRE_CPP()dnl +changequote(, )dnl +symbol="[^a-zA-Z_0-9]$1[^a-zA-Z_0-9]" +changequote([, ])dnl +ac_found=no +for ac_header in $2 ; do + ac_safe=`echo "$ac_header" | sed 'y%./+-%__p_%' ` + if test $ac_found != "yes" ; then + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + AC_EGREP_HEADER( $symbol, $ac_header, [ac_found="$ac_header"] ) + fi + fi +done +if test "$ac_found" != "no" ; then + AC_MSG_RESULT($ac_found) + ifelse([$3], , :, [$3]) +else + AC_MSG_RESULT(no) + ifelse([$4], , , [$4 +])dnl +fi +])]) + +dnl AX_CHECK_SYMBOLS( symbol..., header... [, action-if-found [, action-if-not-found]]) +AC_DEFUN([AX_CHECK_SYMBOLS], +[for ac_func in $1 +do +P4_CHECK_SYMBOL($ac_func, $2, +[changequote(, )dnl + ac_tr_func=HAVE_`echo $ac_func | sed -e 'y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:' -e 's:[[^A-Z0-9]]:_:'` +changequote([, ])dnl + AC_DEFINE_UNQUOTED($ac_tr_func) $2], $3)dnl +done +]) diff --git a/m4/autoconf-archive/ax_check_sys_siglist.m4 b/m4/autoconf-archive/ax_check_sys_siglist.m4 new file mode 100755 index 0000000000..54546bc863 --- /dev/null +++ b/m4/autoconf-archive/ax_check_sys_siglist.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_sys_siglist.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_SYS_SIGLIST +# +# DESCRIPTION +# +# Check for existence of global sys_siglist[]. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_SYS_SIGLIST], [AX_CHECK_SYS_SIGLIST]) +AC_DEFUN([AX_CHECK_SYS_SIGLIST],[ + AC_MSG_CHECKING([whether there is a global text array sys_siglist]) + AC_CACHE_VAL([ax_cv_sys_siglist],[ + AC_TRY_RUN([#include +int main() { + const char* pz = sys_siglist[1]; + return (pz != 0) ? 0 : 1; }],[ax_cv_sys_siglist=yes],[ax_cv_sys_siglist=no],[ax_cv_sys_siglist=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_sys_siglist]) + if test x$ax_cv_sys_siglist = xyes + then + AC_DEFINE(HAVE_SYS_SIGLIST, 1, + [Define this if there is a global text array sys_siglist]) + NEED_SYS_SIGLIST=false + else + NEED_SYS_SIGLIST=true + fi + AC_SUBST(NEED_SYS_SIGLIST) +]) # end of AC_DEFUN of AX_CHECK_SYS_SIGLIST diff --git a/m4/autoconf-archive/ax_check_typedef.m4 b/m4/autoconf-archive/ax_check_typedef.m4 new file mode 100755 index 0000000000..fd0c0c577c --- /dev/null +++ b/m4/autoconf-archive/ax_check_typedef.m4 @@ -0,0 +1,76 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_typedef.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_TYPEDEF(TYPEDEF, HEADER [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]) +# +# DESCRIPTION +# +# Check if the given typedef-name is recognized as a type. The trick is to +# use a sizeof(TYPEDEF) and see if the compiler is happy with that. +# +# This can be thought of as a mixture of AC_CHECK_TYPE(TYPEDEF,DEFAULT) +# and AC_CHECK_LIB(LIBRARY,FUNCTION,ACTION-IF-FOUND,ACTION-IF-NOT-FOUND). +# +# A convenience macro AX_CHECK_TYPEDEF_ is provided that will not emit any +# message to the user - it just executes one of the actions. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_TYPEDEF], [AX_CHECK_TYPEDEF]) +AC_DEFUN([AX_CHECK_TYPEDEF_], +[dnl +ac_lib_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` +AC_CACHE_VAL(ac_cv_lib_$ac_lib_var, +[ eval "ac_cv_type_$ac_lib_var='not-found'" + ac_cv_check_typedef_header=`echo ifelse([$2], , stddef.h, $2)` + AC_TRY_COMPILE( [#include <$ac_cv_check_typedef_header>], + [int x = sizeof($1); x = x;], + eval "ac_cv_type_$ac_lib_var=yes" , + eval "ac_cv_type_$ac_lib_var=no" ) + if test `eval echo '$ac_cv_type_'$ac_lib_var` = "no" ; then + ifelse([$4], , :, $4) + else + ifelse([$3], , :, $3) + fi +])]) + +dnl AX_CHECK_TYPEDEF(TYPEDEF, HEADER [, ACTION-IF-FOUND, +dnl [, ACTION-IF-NOT-FOUND ]]) +AC_DEFUN([AX_CHECK_TYPEDEF], +[dnl + AC_MSG_CHECKING([for $1 in $2]) + AX_CHECK_TYPEDEF_($1,$2,AC_MSG_RESULT(yes),AC_MSG_RESULT(no))dnl +]) diff --git a/m4/autoconf-archive/ax_check_uname_syscall.m4 b/m4/autoconf-archive/ax_check_uname_syscall.m4 new file mode 100755 index 0000000000..64abfca305 --- /dev/null +++ b/m4/autoconf-archive/ax_check_uname_syscall.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_uname_syscall.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_UNAME_SYSCALL +# +# DESCRIPTION +# +# Check that the POSIX compliant uname(2) call works properly. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AG_CHECK_UNAME_SYSCALL], [AX_CHECK_UNAME_SYSCALL]) +AC_DEFUN([AX_CHECK_UNAME_SYSCALL],[ + AC_MSG_CHECKING([whether uname(2) is POSIX]) + AC_CACHE_VAL([ax_cv_uname_syscall],[ + AC_TRY_RUN([#include +int main() { struct utsname unm; +return uname( &unm ); }],[ax_cv_uname_syscall=yes],[ax_cv_uname_syscall=no],[ax_cv_uname_syscall=no] + ) # end of TRY_RUN]) # end of CACHE_VAL + + AC_MSG_RESULT([$ax_cv_uname_syscall]) + if test x$ax_cv_uname_syscall = xyes + then + AC_DEFINE(HAVE_UNAME_SYSCALL, 1, + [Define this if uname(2) is POSIX]) + fi +]) # end of AC_DEFUN of AX_CHECK_UNAME_SYSCALL diff --git a/m4/autoconf-archive/ax_check_user.m4 b/m4/autoconf-archive/ax_check_user.m4 new file mode 100755 index 0000000000..07f109fe1d --- /dev/null +++ b/m4/autoconf-archive/ax_check_user.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_user.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_USER +# +# DESCRIPTION +# +# Check if the specified UNIX user exists, if yes set your environment +# variable to that username else unset your environment variable +# +# Example: +# +# AX_CHECK_USER(USER, [gleensalmon]) +# if test x$USER = xgleensalmon; then +# bla..bla..bla.. +# else +# bla..bla..bla.. +# fi +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# USER_HOME = home directory of user, written in /etc/passwd +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CHECK_USER], [AX_CHECK_USER]) +AC_DEFUN([AX_CHECK_USER],[ +AC_MSG_CHECKING([for user $2]) +if grep ^$2: /etc/passwd > /dev/null; then + $1=$2 + USER_HOME=`grep ^$2: /etc/passwd | sed "s/^\([[^:]]*:\)\{5\}\([[^:]]*\):[[^:]]*$/\2/"` + AC_MSG_RESULT([yes]) +else + unset $1 + unset USER_HOME + AC_MSG_RESULT([no]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_check_vscript.m4 b/m4/autoconf-archive/ax_check_vscript.m4 new file mode 100755 index 0000000000..9851f32255 --- /dev/null +++ b/m4/autoconf-archive/ax_check_vscript.m4 @@ -0,0 +1,142 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_vscript.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_VSCRIPT +# +# DESCRIPTION +# +# Check whether the linker supports version scripts. Version scripts are +# used when building shared libraries to bind symbols to version nodes +# (helping to detect incompatibilities) or to limit the visibility of +# non-public symbols. +# +# Output: +# +# If version scripts are supported, VSCRIPT_LDFLAGS will contain the +# appropriate flag to pass to the linker. On GNU systems this would +# typically be "-Wl,--version-script", and on Solaris it would typically +# be "-Wl,-M". +# +# Two Automake conditionals are also set: +# +# HAVE_VSCRIPT is true if the linker supports version scripts with +# entries that use simple wildcards, like "local: *". +# +# HAVE_VSCRIPT_COMPLEX is true if the linker supports version scripts with +# pattern matching wildcards, like "global: Java_*". +# +# On systems that do not support symbol versioning, such as Mac OS X, both +# conditionals will be false. They will also be false if the user passes +# "--disable-symvers" on the configure command line. +# +# Example: +# +# configure.ac: +# +# AX_CHECK_VSCRIPT +# +# Makefile.am: +# +# if HAVE_VSCRIPT +# libfoo_la_LDFLAGS += $(VSCRIPT_LDFLAGS),@srcdir@/libfoo.map +# endif +# +# if HAVE_VSCRIPT_COMPLEX +# libbar_la_LDFLAGS += $(VSCRIPT_LDFLAGS),@srcdir@/libbar.map +# endif +# +# LICENSE +# +# Copyright (c) 2014 Kevin Cernekee +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +# _AX_CHECK_VSCRIPT(flag, global-sym, action-if-link-succeeds, [junk-file=no]) +AC_DEFUN([_AX_CHECK_VSCRIPT], [ + AC_LANG_PUSH([C]) + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: $2; local: *; };" > conftest.map + AS_IF([test x$4 = xyes], [ + echo "{" >> conftest.map + ]) + LDFLAGS="$LDFLAGS -Wl,$1,conftest.map" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[int show, hide;]], [])], [$3]) + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + AC_LANG_POP([C]) +]) dnl _AX_CHECK_VSCRIPT + +AC_DEFUN([AX_CHECK_VSCRIPT], [ + + AC_ARG_ENABLE([symvers], + AS_HELP_STRING([--disable-symvers], + [disable library symbol versioning [default=auto]]), + [want_symvers=$enableval], + [want_symvers=yes] + ) + + AS_IF([test x$want_symvers = xyes], [ + + dnl First test --version-script and -M with a simple wildcard. + + AC_CACHE_CHECK([linker version script flag], ax_cv_check_vscript_flag, [ + ax_cv_check_vscript_flag=unsupported + _AX_CHECK_VSCRIPT([--version-script], [show], [ + ax_cv_check_vscript_flag=--version-script + ]) + AS_IF([test x$ax_cv_check_vscript_flag = xunsupported], [ + _AX_CHECK_VSCRIPT([-M], [show], [ax_cv_check_vscript_flag=-M]) + ]) + + dnl The linker may interpret -M (no argument) as "produce a load map." + dnl If "-M conftest.map" doesn't fail when conftest.map contains + dnl obvious syntax errors, assume this is the case. + + AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [ + _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [show], + [ax_cv_check_vscript_flag=unsupported], [yes]) + ]) + ]) + + dnl If the simple wildcard worked, retest with a complex wildcard. + + AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [ + ax_check_vscript_flag=$ax_cv_check_vscript_flag + AC_CACHE_CHECK([if version scripts can use complex wildcards], + ax_cv_check_vscript_complex_wildcards, [ + ax_cv_check_vscript_complex_wildcards=no + _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [sh*], [ + ax_cv_check_vscript_complex_wildcards=yes]) + ]) + ax_check_vscript_complex_wildcards="$ax_cv_check_vscript_complex_wildcards" + ], [ + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + ]) + ], [ + AC_MSG_CHECKING([linker version script flag]) + AC_MSG_RESULT([disabled]) + + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + ]) + + AS_IF([test x$ax_check_vscript_flag != x], [ + VSCRIPT_LDFLAGS="-Wl,$ax_check_vscript_flag" + AC_SUBST([VSCRIPT_LDFLAGS]) + ]) + + AM_CONDITIONAL([HAVE_VSCRIPT], + [test x$ax_check_vscript_flag != x]) + AM_CONDITIONAL([HAVE_VSCRIPT_COMPLEX], + [test x$ax_check_vscript_complex_wildcards = xyes]) + +]) dnl AX_CHECK_VSCRIPT diff --git a/m4/autoconf-archive/ax_check_x86_features.m4 b/m4/autoconf-archive/ax_check_x86_features.m4 new file mode 100755 index 0000000000..87aa62ba20 --- /dev/null +++ b/m4/autoconf-archive/ax_check_x86_features.m4 @@ -0,0 +1,77 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_x86_features.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_X86_FEATURES([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks if the host cpu supports various x86 instruction set, the +# instructions that will get tested are "mmx, popcnt, sse, sse2, sse3, +# sse4.1, sse4.2, sse4a, avx, avx2, avx512f, fma, fma4, bmi, bmi2". If the +# instruction set is supported by the host cpu, the C preprocessor macro +# HAVE_XXX_INSTRUCTIONS is set to 1. The XXX is up-cased instruction case +# with dot replaced by underscore. For example, the test for "sse4.2" +# would export HAVE_SSE4_2_INSTRUCTIONS=1. Also the compiler flag +# "-msse4.2" would be added to X86_FEATURE_CFLAGS variable, that can be +# obtained in Makefile.am using @X86_FEATURE_CFLAGS@. +# +# If any of the test for the instruction set were succeeded, the configure +# script would run ACTION-IF-FOUND if it is specified, or append +# X86_FEATURE_CFLAGS to CFLAGS. If none of the instruction were found, +# ACTION-IF-NOT-FOUND hook is triggered. +# +# This macro requires gcc extended builtin function "__builtin_cpu_init" +# and "__builtin_cpu_supports" to detect the cpu features. It will error +# out if the compiler doesn't has these builtins. +# +# See also AX_GCC_X86_CPU_SUPPORTS, which is the actual macro that perform +# the checks for the instruction sets. +# +# LICENSE +# +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CHECK_X86_FEATURES], + [m4_foreach_w( + [ax_x86_feature], + [mmx popcnt sse sse2 sse3 sse4.1 sse4.2 sse4a avx avx2 avx512f fma fma4 bmi bmi2], + [AX_GCC_X86_CPU_SUPPORTS(ax_x86_feature, + [X86_FEATURE_CFLAGS="$X86_FEATURE_CFLAGS -m[]ax_x86_feature"], + []) + ]) + AC_SUBST([X86_FEATURE_CFLAGS]) + m4_ifval([$1],[$1], + [CFLAGS="$CFLAGS $X86_FEATURE_CFLAGS"]) + $2 +]) diff --git a/m4/autoconf-archive/ax_check_zlib.m4 b/m4/autoconf-archive/ax_check_zlib.m4 new file mode 100755 index 0000000000..be91a86eb9 --- /dev/null +++ b/m4/autoconf-archive/ax_check_zlib.m4 @@ -0,0 +1,142 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_zlib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ZLIB([action-if-found], [action-if-not-found]) +# +# DESCRIPTION +# +# This macro searches for an installed zlib library. If nothing was +# specified when calling configure, it searches first in /usr/local and +# then in /usr, /opt/local and /sw. If the --with-zlib=DIR is specified, +# it will try to find it in DIR/include/zlib.h and DIR/lib/libz.a. If +# --without-zlib is specified, the library is not searched at all. +# +# If either the header file (zlib.h) or the library (libz) is not found, +# shell commands 'action-if-not-found' is run. If 'action-if-not-found' is +# not specified, the configuration exits on error, asking for a valid zlib +# installation directory or --without-zlib. +# +# If both header file and library are found, shell commands +# 'action-if-found' is run. If 'action-if-found' is not specified, the +# default action appends '-I${ZLIB_HOME}/include' to CPFLAGS, appends +# '-L$ZLIB_HOME}/lib' to LDFLAGS, prepends '-lz' to LIBS, and calls +# AC_DEFINE(HAVE_LIBZ). You should use autoheader to include a definition +# for this symbol in a config.h file. Sample usage in a C/C++ source is as +# follows: +# +# #ifdef HAVE_LIBZ +# #include +# #endif /* HAVE_LIBZ */ +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary +# Copyright (c) 2010 Bastien Chevreux +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 15 + +AU_ALIAS([CHECK_ZLIB], [AX_CHECK_ZLIB]) +AC_DEFUN([AX_CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +zlib_places="/usr/local /usr /opt/local /sw" +AC_ARG_WITH([zlib], +[ --with-zlib=DIR root directory path of zlib installation @<:@defaults to + /usr/local or /usr if not found in /usr/local@:>@ + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + if test -d "$withval" + then + zlib_places="$withval $zlib_places" + else + AC_MSG_WARN([Sorry, $withval does not exist, checking usual places]) + fi +else + zlib_places= + AC_MSG_RESULT(no) +fi], +[AC_MSG_RESULT(yes)]) + +# +# Locate zlib, if wanted +# +if test -n "${zlib_places}" +then + # check the user supplied or any other more or less 'standard' place: + # Most UNIX systems : /usr/local and /usr + # MacPorts / Fink on OSX : /opt/local respectively /sw + for ZLIB_HOME in ${zlib_places} ; do + if test -f "${ZLIB_HOME}/include/zlib.h"; then break; fi + ZLIB_HOME="" + done + + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$CPPFLAGS + if test -n "${ZLIB_HOME}"; then + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + fi + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB([z], [inflateEnd], [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER([zlib.h], [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" && test "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, action-if-found + # + m4_ifblank([$1],[ + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + LIBS="-lz $LIBS" + AC_DEFINE([HAVE_LIBZ], [1], + [Define to 1 if you have `z' library (-lz)]) + ],[ + # Restore variables + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + $1 + ]) + else + # + # If either header or library was not found, action-if-not-found + # + m4_default([$2],[ + AC_MSG_ERROR([either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib]) + ]) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_code_coverage.m4 b/m4/autoconf-archive/ax_code_coverage.m4 new file mode 100755 index 0000000000..6484f03324 --- /dev/null +++ b/m4/autoconf-archive/ax_code_coverage.m4 @@ -0,0 +1,264 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CODE_COVERAGE() +# +# DESCRIPTION +# +# Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS, +# CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included +# in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every +# build target (program or library) which should be built with code +# coverage support. Also defines CODE_COVERAGE_RULES which should be +# substituted in your Makefile; and $enable_code_coverage which can be +# used in subsequent configure output. CODE_COVERAGE_ENABLED is defined +# and substituted, and corresponds to the value of the +# --enable-code-coverage option, which defaults to being disabled. +# +# Test also for gcov program and create GCOV variable that could be +# substituted. +# +# Note that all optimization flags in CFLAGS must be disabled when code +# coverage is enabled. +# +# Usage example: +# +# configure.ac: +# +# AX_CODE_COVERAGE +# +# Makefile.am: +# +# @CODE_COVERAGE_RULES@ +# my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ... +# my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ... +# my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ... +# my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ... +# +# This results in a "check-code-coverage" rule being added to any +# Makefile.am which includes "@CODE_COVERAGE_RULES@" (assuming the module +# has been configured with --enable-code-coverage). Running `make +# check-code-coverage` in that directory will run the module's test suite +# (`make check`) and build a code coverage report detailing the code which +# was touched, then print the URI for the report. +# +# In earlier versions of this macro, CODE_COVERAGE_LDFLAGS was defined +# instead of CODE_COVERAGE_LIBS. They are both still defined, but use of +# CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is +# deprecated. They have the same value. +# +# This code was derived from Makefile.decl in GLib, originally licenced +# under LGPLv2.1+. +# +# LICENSE +# +# Copyright (c) 2012, 2016 Philip Withnall +# Copyright (c) 2012 Xan Lopez +# Copyright (c) 2012 Christian Persch +# Copyright (c) 2012 Paolo Borelli +# Copyright (c) 2012 Dan Winship +# Copyright (c) 2015 Bastien ROUCARIES +# +# This library is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or (at +# your option) any later version. +# +# This library is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . + +#serial 25 + +AC_DEFUN([AX_CODE_COVERAGE],[ + dnl Check for --enable-code-coverage + AC_REQUIRE([AC_PROG_SED]) + + # allow to override gcov location + AC_ARG_WITH([gcov], + [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], + [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], + [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) + + AC_MSG_CHECKING([whether to build with code coverage support]) + AC_ARG_ENABLE([code-coverage], + AS_HELP_STRING([--enable-code-coverage], + [Whether to enable code coverage support]),, + enable_code_coverage=no) + + AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) + AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) + AC_MSG_RESULT($enable_code_coverage) + + AS_IF([ test "$enable_code_coverage" = "yes" ], [ + # check for gcov + AC_CHECK_TOOL([GCOV], + [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], + [:]) + AS_IF([test "X$GCOV" = "X:"], + [AC_MSG_ERROR([gcov is needed to do coverage])]) + AC_SUBST([GCOV]) + + dnl Check if gcc is being used + AS_IF([ test "$GCC" = "no" ], [ + AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) + ]) + + AC_CHECK_PROG([LCOV], [lcov], [lcov]) + AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) + + AS_IF([ test -z "$LCOV" ], [ + AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) + ]) + + AS_IF([ test -z "$GENHTML" ], [ + AC_MSG_ERROR([Could not find genhtml from the lcov package]) + ]) + + dnl Build the code coverage flags + dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility + CODE_COVERAGE_CPPFLAGS="-DNDEBUG" + CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" + CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" + CODE_COVERAGE_LIBS="-lgcov" + CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" + + AC_SUBST([CODE_COVERAGE_CPPFLAGS]) + AC_SUBST([CODE_COVERAGE_CFLAGS]) + AC_SUBST([CODE_COVERAGE_CXXFLAGS]) + AC_SUBST([CODE_COVERAGE_LIBS]) + AC_SUBST([CODE_COVERAGE_LDFLAGS]) + + [CODE_COVERAGE_RULES_CHECK=' + -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check + $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture +'] + [CODE_COVERAGE_RULES_CAPTURE=' + $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) + $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) + -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp + $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) + @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" +'] + [CODE_COVERAGE_RULES_CLEAN=' +clean: code-coverage-clean +distclean: code-coverage-clean +code-coverage-clean: + -$(LCOV) --directory $(top_builddir) -z + -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) + -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete +'] + ], [ + [CODE_COVERAGE_RULES_CHECK=' + @echo "Need to reconfigure with --enable-code-coverage" +'] + CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" + CODE_COVERAGE_RULES_CLEAN='' + ]) + +[CODE_COVERAGE_RULES=' +# Code coverage +# +# Optional: +# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. +# Multiple directories may be specified, separated by whitespace. +# (Default: $(top_builddir)) +# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated +# by lcov for code coverage. (Default: +# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) +# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage +# reports to be created. (Default: +# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) +# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, +# set to 0 to disable it and leave empty to stay with the default. +# (Default: empty) +# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov +# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) +# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov +# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) +# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov +# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the +# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) +# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov +# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) +# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering +# lcov instance. (Default: empty) +# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov +# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) +# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the +# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) +# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml +# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) +# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore +# +# The generated report will be titled using the $(PACKAGE_NAME) and +# $(PACKAGE_VERSION). In order to add the current git hash to the title, +# use the git-version-gen script, available online. + +# Optional variables +CODE_COVERAGE_DIRECTORY ?= $(top_builddir) +CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info +CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage +CODE_COVERAGE_BRANCH_COVERAGE ?= +CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ +--rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) +CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) +CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" +CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) +CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) +CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= +CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) +CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ +$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ +--rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) +CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) +CODE_COVERAGE_IGNORE_PATTERN ?= + +GITIGNOREFILES ?= +GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) + +code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) +code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) +code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ + $(CODE_COVERAGE_OUTPUT_FILE); +code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) +code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) +code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ + $(CODE_COVERAGE_IGNORE_PATTERN); +code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) +code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) +code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); +code_coverage_quiet = $(code_coverage_quiet_$(V)) +code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) +code_coverage_quiet_0 = --quiet + +# sanitizes the test-name: replaces with underscores: dashes and dots +code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) + +# Use recursive makes in order to ignore errors during check +check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' + +# Capture code coverage data +code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' + +# Hook rule executed before code-coverage-capture, overridable by the user +code-coverage-capture-hook: + +'"$CODE_COVERAGE_RULES_CLEAN"' + +A''M_DISTCHECK_CONFIGURE_FLAGS ?= +A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage + +.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean +'] + + AC_SUBST([CODE_COVERAGE_RULES]) + m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) +]) diff --git a/m4/autoconf-archive/ax_compare_version.m4 b/m4/autoconf-archive/ax_compare_version.m4 new file mode 100755 index 0000000000..ffb4997e8b --- /dev/null +++ b/m4/autoconf-archive/ax_compare_version.m4 @@ -0,0 +1,177 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# This macro compares two version strings. Due to the various number of +# minor-version numbers that can exist, and the fact that string +# comparisons are not compatible with numeric comparisons, this is not +# necessarily trivial to do in a autoconf script. This macro makes doing +# these comparisons easy. +# +# The six basic comparisons are available, as well as checking equality +# limited to a certain number of minor-version levels. +# +# The operator OP determines what type of comparison to do, and can be one +# of: +# +# eq - equal (test A == B) +# ne - not equal (test A != B) +# le - less than or equal (test A <= B) +# ge - greater than or equal (test A >= B) +# lt - less than (test A < B) +# gt - greater than (test A > B) +# +# Additionally, the eq and ne operator can have a number after it to limit +# the test to that number of minor versions. +# +# eq0 - equal up to the length of the shorter version +# ne0 - not equal up to the length of the shorter version +# eqN - equal up to N sub-version levels +# neN - not equal up to N sub-version levels +# +# When the condition is true, shell commands ACTION-IF-TRUE are run, +# otherwise shell commands ACTION-IF-FALSE are run. The environment +# variable 'ax_compare_version' is always set to either 'true' or 'false' +# as well. +# +# Examples: +# +# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8]) +# AX_COMPARE_VERSION([3.15],[lt],[3.15.8]) +# +# would both be true. +# +# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8]) +# AX_COMPARE_VERSION([3.15],[gt],[3.15.8]) +# +# would both be false. +# +# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8]) +# +# would be true because it is only comparing two minor versions. +# +# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15]) +# +# would be true because it is only comparing the lesser number of minor +# versions of the two values. +# +# Note: The characters that separate the version numbers do not matter. An +# empty string is the same as version 0. OP is evaluated by autoconf, not +# configure, so must be a string, not a variable. +# +# The author would like to acknowledge Guido Draheim whose advice about +# the m4_case and m4_ifvaln functions make this macro only include the +# portions necessary to perform the specific comparison specified by the +# OP argument in the final configure script. +# +# LICENSE +# +# Copyright (c) 2008 Tim Toolan +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +dnl ######################################################################### +AC_DEFUN([AX_COMPARE_VERSION], [ + AC_REQUIRE([AC_PROG_AWK]) + + # Used to indicate true or false condition + ax_compare_version=false + + # Convert the two version strings to be compared into a format that + # allows a simple string comparison. The end result is that a version + # string of the form 1.12.5-r617 will be converted to the form + # 0001001200050617. In other words, each number is zero padded to four + # digits, and non digits are removed. + AS_VAR_PUSHDEF([A],[ax_compare_version_A]) + A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ + -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/[[^0-9]]//g'` + + AS_VAR_PUSHDEF([B],[ax_compare_version_B]) + B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ + -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/[[^0-9]]//g'` + + dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary + dnl # then the first line is used to determine if the condition is true. + dnl # The sed right after the echo is to remove any indented white space. + m4_case(m4_tolower($2), + [lt],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"` + ], + [gt],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"` + ], + [le],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"` + ], + [ge],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"` + ],[ + dnl Split the operator from the subversion count if present. + m4_bmatch(m4_substr($2,2), + [0],[ + # A count of zero means use the length of the shorter version. + # Determine the number of characters in A and B. + ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'` + ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'` + + # Set A to no more than B's length and B to no more than A's length. + A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"` + B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"` + ], + [[0-9]+],[ + # A count greater than zero means use only that many subversions + A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` + B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` + ], + [.+],[ + AC_WARNING( + [invalid OP numeric parameter: $2]) + ],[]) + + # Pad zeros at end of numbers to make same length. + ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`" + B="$B`echo $A | sed 's/./0/g'`" + A="$ax_compare_version_tmp_A" + + # Check for equality or inequality as necessary. + m4_case(m4_tolower(m4_substr($2,0,2)), + [eq],[ + test "x$A" = "x$B" && ax_compare_version=true + ], + [ne],[ + test "x$A" != "x$B" && ax_compare_version=true + ],[ + AC_WARNING([invalid OP parameter: $2]) + ]) + ]) + + AS_VAR_POPDEF([A])dnl + AS_VAR_POPDEF([B])dnl + + dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE. + if test "$ax_compare_version" = "true" ; then + m4_ifvaln([$4],[$4],[:])dnl + m4_ifvaln([$5],[else $5])dnl + fi +]) dnl AX_COMPARE_VERSION diff --git a/m4/autoconf-archive/ax_compile_check_sizeof.m4 b/m4/autoconf-archive/ax_compile_check_sizeof.m4 new file mode 100755 index 0000000000..5705508a3e --- /dev/null +++ b/m4/autoconf-archive/ax_compile_check_sizeof.m4 @@ -0,0 +1,115 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_compile_check_sizeof.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_COMPILE_CHECK_SIZEOF(TYPE [, HEADERS [, EXTRA_SIZES...]]) +# +# DESCRIPTION +# +# This macro checks for the size of TYPE using compile checks, not run +# checks. You can supply extra HEADERS to look into. the check will cycle +# through 1 2 4 8 16 and any EXTRA_SIZES the user supplies. If a match is +# found, it will #define SIZEOF_`TYPE' to that value. Otherwise it will +# emit a configure time error indicating the size of the type could not be +# determined. +# +# The trick is that C will not allow duplicate case labels. While this is +# valid C code: +# +# switch (0) case 0: case 1:; +# +# The following is not: +# +# switch (0) case 0: case 0:; +# +# Thus, the AC_TRY_COMPILE will fail if the currently tried size does not +# match. +# +# Here is an example skeleton configure.in script, demonstrating the +# macro's usage: +# +# AC_PROG_CC +# AC_CHECK_HEADERS(stddef.h unistd.h) +# AC_TYPE_SIZE_T +# AC_CHECK_TYPE(ssize_t, int) +# +# headers='#ifdef HAVE_STDDEF_H +# #include +# #endif +# #ifdef HAVE_UNISTD_H +# #include +# #endif +# ' +# +# AX_COMPILE_CHECK_SIZEOF(char) +# AX_COMPILE_CHECK_SIZEOF(short) +# AX_COMPILE_CHECK_SIZEOF(int) +# AX_COMPILE_CHECK_SIZEOF(long) +# AX_COMPILE_CHECK_SIZEOF(unsigned char *) +# AX_COMPILE_CHECK_SIZEOF(void *) +# AX_COMPILE_CHECK_SIZEOF(size_t, $headers) +# AX_COMPILE_CHECK_SIZEOF(ssize_t, $headers) +# AX_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers) +# AX_COMPILE_CHECK_SIZEOF(off_t, $headers) +# +# LICENSE +# +# Copyright (c) 2008 Kaveh Ghazi +# Copyright (c) 2017 Reini Urban +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_COMPILE_CHECK_SIZEOF], [AX_COMPILE_CHECK_SIZEOF]) +AC_DEFUN([AX_COMPILE_CHECK_SIZEOF], +[changequote(<<, >>)dnl +dnl The name to #define. +define(<>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl +dnl The cache variable name. +define(<>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl +changequote([, ])dnl +AC_MSG_CHECKING(size of $1) +AC_CACHE_VAL(AC_CV_NAME, +[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence. + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +$2 +]], [[switch (0) case 0: case (sizeof ($1) == $ac_size):;]])], [AC_CV_NAME=$ac_size]) + if test x$AC_CV_NAME != x ; then break; fi +done +]) +if test x$AC_CV_NAME = x ; then + AC_MSG_ERROR([cannot determine a size for $1]) +fi +AC_MSG_RESULT($AC_CV_NAME) +AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1]) +undefine([AC_TYPE_NAME])dnl +undefine([AC_CV_NAME])dnl +]) diff --git a/m4/autoconf-archive/ax_compiler_flags.m4 b/m4/autoconf-archive/ax_compiler_flags.m4 new file mode 100755 index 0000000000..ddb0456c42 --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_flags.m4 @@ -0,0 +1,158 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [IS-RELEASE], [EXTRA-BASE-CFLAGS], [EXTRA-YES-CFLAGS], [UNUSED], [UNUSED], [UNUSED], [EXTRA-BASE-LDFLAGS], [EXTRA-YES-LDFLAGS], [UNUSED], [UNUSED], [UNUSED]) +# +# DESCRIPTION +# +# Check for the presence of an --enable-compile-warnings option to +# configure, defaulting to "error" in normal operation, or "yes" if +# IS-RELEASE is equal to "yes". Return the value in the variable +# $ax_enable_compile_warnings. +# +# Depending on the value of --enable-compile-warnings, different compiler +# warnings are checked to see if they work with the current compiler and, +# if so, are appended to CFLAGS-VARIABLE and LDFLAGS-VARIABLE. This +# allows a consistent set of baseline compiler warnings to be used across +# a code base, irrespective of any warnings enabled locally by individual +# developers. By standardising the warnings used by all developers of a +# project, the project can commit to a zero-warnings policy, using -Werror +# to prevent compilation if new warnings are introduced. This makes +# catching bugs which are flagged by warnings a lot easier. +# +# By providing a consistent --enable-compile-warnings argument across all +# projects using this macro, continuous integration systems can easily be +# configured the same for all projects. Automated systems or build +# systems aimed at beginners may want to pass the --disable-Werror +# argument to unconditionally prevent warnings being fatal. +# +# --enable-compile-warnings can take the values: +# +# * no: Base compiler warnings only; not even -Wall. +# * yes: The above, plus a broad range of useful warnings. +# * error: The above, plus -Werror so that all warnings are fatal. +# Use --disable-Werror to override this and disable fatal +# warnings. +# +# The set of base and enabled flags can be augmented using the +# EXTRA-*-CFLAGS and EXTRA-*-LDFLAGS variables, which are tested and +# appended to the output variable if --enable-compile-warnings is not +# "no". Flags should not be disabled using these arguments, as the entire +# point of AX_COMPILER_FLAGS is to enforce a consistent set of useful +# compiler warnings on code, using warnings which have been chosen for low +# false positive rates. If a compiler emits false positives for a +# warning, a #pragma should be used in the code to disable the warning +# locally. See: +# +# https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas +# +# The EXTRA-* variables should only be used to supply extra warning flags, +# and not general purpose compiler flags, as they are controlled by +# configure options such as --disable-Werror. +# +# IS-RELEASE can be used to disable -Werror when making a release, which +# is useful for those hairy moments when you just want to get the release +# done as quickly as possible. Set it to "yes" to disable -Werror. By +# default, it uses the value of $ax_is_release, so if you are using the +# AX_IS_RELEASE macro, there is no need to pass this parameter. For +# example: +# +# AX_IS_RELEASE([git-directory]) +# AX_COMPILER_FLAGS() +# +# CFLAGS-VARIABLE defaults to WARN_CFLAGS, and LDFLAGS-VARIABLE defaults +# to WARN_LDFLAGS. Both variables are AC_SUBST-ed by this macro, but must +# be manually added to the CFLAGS and LDFLAGS variables for each target in +# the code base. +# +# If C++ language support is enabled with AC_PROG_CXX, which must occur +# before this macro in configure.ac, warning flags for the C++ compiler +# are AC_SUBST-ed as WARN_CXXFLAGS, and must be manually added to the +# CXXFLAGS variables for each target in the code base. EXTRA-*-CFLAGS can +# be used to augment the base and enabled flags. +# +# Warning flags for g-ir-scanner (from GObject Introspection) are +# AC_SUBST-ed as WARN_SCANNERFLAGS. This variable must be manually added +# to the SCANNERFLAGS variable for each GIR target in the code base. If +# extra g-ir-scanner flags need to be enabled, the AX_COMPILER_FLAGS_GIR +# macro must be invoked manually. +# +# AX_COMPILER_FLAGS may add support for other tools in future, in addition +# to the compiler and linker. No extra EXTRA-* variables will be added +# for those tools, and all extra support will still use the single +# --enable-compile-warnings configure option. For finer grained control +# over the flags for individual tools, use AX_COMPILER_FLAGS_CFLAGS, +# AX_COMPILER_FLAGS_LDFLAGS and AX_COMPILER_FLAGS_* for new tools. +# +# The UNUSED variables date from a previous version of this macro, and are +# automatically appended to the preceding non-UNUSED variable. They should +# be left empty in new uses of the macro. +# +# LICENSE +# +# Copyright (c) 2014, 2015 Philip Withnall +# Copyright (c) 2015 David King +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 14 + +# _AX_COMPILER_FLAGS_LANG([LANGNAME]) +m4_defun([_AX_COMPILER_FLAGS_LANG], +[m4_ifdef([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [], + [m4_define([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [])dnl + AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_]$1[FLAGS])])dnl +]) + +AC_DEFUN([AX_COMPILER_FLAGS],[ + # C support is enabled by default. + _AX_COMPILER_FLAGS_LANG([C]) + # Only enable C++ support if AC_PROG_CXX is called. The redefinition of + # AC_PROG_CXX is so that a fatal error is emitted if this macro is called + # before AC_PROG_CXX, which would otherwise cause no C++ warnings to be + # checked. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AX_COMPILER_FLAGS_LANG([CXX])], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AX_COMPILER_FLAGS_LANG([CXX])])]) + AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_LDFLAGS]) + + # Default value for IS-RELEASE is $ax_is_release + ax_compiler_flags_is_release=m4_tolower(m4_normalize(ifelse([$3],, + [$ax_is_release], + [$3]))) + + AC_ARG_ENABLE([compile-warnings], + AS_HELP_STRING([--enable-compile-warnings=@<:@no/yes/error@:>@], + [Enable compiler warnings and errors]),, + [AS_IF([test "$ax_compiler_flags_is_release" = "yes"], + [enable_compile_warnings="yes"], + [enable_compile_warnings="error"])]) + AC_ARG_ENABLE([Werror], + AS_HELP_STRING([--disable-Werror], + [Unconditionally make all compiler warnings non-fatal]),, + [enable_Werror=maybe]) + + # Return the user's chosen warning level + AS_IF([test "$enable_Werror" = "no" -a \ + "$enable_compile_warnings" = "error"],[ + enable_compile_warnings="yes" + ]) + + ax_enable_compile_warnings=$enable_compile_warnings + + AX_COMPILER_FLAGS_CFLAGS([$1],[$ax_compiler_flags_is_release], + [$4],[$5 $6 $7 $8]) + m4_ifdef([_AX_COMPILER_FLAGS_LANG_CXX_enabled], + [AX_COMPILER_FLAGS_CXXFLAGS([WARN_CXXFLAGS], + [$ax_compiler_flags_is_release], + [$4],[$5 $6 $7 $8])]) + AX_COMPILER_FLAGS_LDFLAGS([$2],[$ax_compiler_flags_is_release], + [$9],[$10 $11 $12 $13]) + AX_COMPILER_FLAGS_GIR([WARN_SCANNERFLAGS],[$ax_compiler_flags_is_release]) +])dnl AX_COMPILER_FLAGS diff --git a/m4/autoconf-archive/ax_compiler_flags_cflags.m4 b/m4/autoconf-archive/ax_compiler_flags_cflags.m4 new file mode 100755 index 0000000000..44d2882d3b --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_flags_cflags.m4 @@ -0,0 +1,160 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cflags.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_COMPILER_FLAGS_CFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS]) +# +# DESCRIPTION +# +# Add warning flags for the C compiler to VARIABLE, which defaults to +# WARN_CFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be +# manually added to the CFLAGS variable for each target in the code base. +# +# This macro depends on the environment set up by AX_COMPILER_FLAGS. +# Specifically, it uses the value of $ax_enable_compile_warnings to decide +# which flags to enable. +# +# LICENSE +# +# Copyright (c) 2014, 2015 Philip Withnall +# Copyright (c) 2017, 2018 Reini Urban +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 16 + +AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[ + AC_REQUIRE([AC_PROG_SED]) + AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS]) + AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) + AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) + + # Variable names + m4_define([ax_warn_cflags_variable], + [m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))]) + + AC_LANG_PUSH([C]) + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ + [#ifndef __cplusplus + #error "no C++" + #endif]])], + [ax_compiler_cxx=yes;], + [ax_compiler_cxx=no;]) + + # Always pass -Werror=unknown-warning-option to get Clang to fail on bad + # flags, otherwise they are always appended to the warn_cflags variable, and + # Clang warns on them for every compilation unit. + # If this is passed to GCC, it will explode, so the flag must be enabled + # conditionally. + AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[ + ax_compiler_flags_test="-Werror=unknown-warning-option" + ],[ + ax_compiler_flags_test="" + ]) + + # Check that -Wno-suggest-attribute=format is supported + AX_CHECK_COMPILE_FLAG([-Wno-suggest-attribute=format],[ + ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format" + ],[ + ax_compiler_no_suggest_attribute_flags="" + ]) + + # Base flags + AX_APPEND_COMPILE_FLAGS([ dnl + -fno-strict-aliasing dnl + $3 dnl + ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + + AS_IF([test "$ax_enable_compile_warnings" != "no"],[ + # "yes" flags + AX_APPEND_COMPILE_FLAGS([ dnl + -Wall dnl + -Wextra dnl + -Wundef dnl + -Wwrite-strings dnl + -Wpointer-arith dnl + -Wmissing-declarations dnl + -Wredundant-decls dnl + -Wno-unused-parameter dnl + -Wno-missing-field-initializers dnl + -Wformat=2 dnl + -Wcast-align dnl + -Wformat-nonliteral dnl + -Wformat-security dnl + -Wsign-compare dnl + -Wstrict-aliasing dnl + -Wshadow dnl + -Winline dnl + -Wpacked dnl + -Wmissing-format-attribute dnl + -Wmissing-noreturn dnl + -Winit-self dnl + -Wredundant-decls dnl + -Wmissing-include-dirs dnl + -Wunused-but-set-variable dnl + -Warray-bounds dnl + -Wreturn-type dnl + -Wswitch-enum dnl + -Wswitch-default dnl + -Wduplicated-cond dnl + -Wduplicated-branches dnl + -Wlogical-op dnl + -Wrestrict dnl + -Wnull-dereference dnl + -Wdouble-promotion dnl + $4 dnl + $5 dnl + $6 dnl + $7 dnl + ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + if test "$ax_compiler_cxx" = "no" ; then + # C-only flags. Warn in C++ + AX_APPEND_COMPILE_FLAGS([ dnl + -Wnested-externs dnl + -Wmissing-prototypes dnl + -Wstrict-prototypes dnl + -Wdeclaration-after-statement dnl + -Wimplicit-function-declaration dnl + -Wold-style-definition dnl + -Wjump-misses-init dnl + ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + fi + ]) + AS_IF([test "$ax_enable_compile_warnings" = "error"],[ + # "error" flags; -Werror has to be appended unconditionally because + # it's not possible to test for + # + # suggest-attribute=format is disabled because it gives too many false + # positives + AX_APPEND_FLAG([-Werror],ax_warn_cflags_variable) + + AX_APPEND_COMPILE_FLAGS([ dnl + [$ax_compiler_no_suggest_attribute_flags] dnl + ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + ]) + + # In the flags below, when disabling specific flags, always add *both* + # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example) + # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall, + # which effectively turns that flag back on again as an error. + for flag in $ax_warn_cflags_variable; do + AS_CASE([$flag], + [-Wno-*=*],[], + [-Wno-*],[ + AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')], + ax_warn_cflags_variable, + [$ax_compiler_flags_test]) + ]) + done + + AC_LANG_POP([C]) + + # Substitute the variables + AC_SUBST(ax_warn_cflags_variable) +])dnl AX_COMPILER_FLAGS diff --git a/m4/autoconf-archive/ax_compiler_flags_cxxflags.m4 b/m4/autoconf-archive/ax_compiler_flags_cxxflags.m4 new file mode 100755 index 0000000000..3067d9b9af --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_flags_cxxflags.m4 @@ -0,0 +1,136 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cxxflags.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_FLAGS_CXXFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS]) +# +# DESCRIPTION +# +# Add warning flags for the C++ compiler to VARIABLE, which defaults to +# WARN_CXXFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be +# manually added to the CXXFLAGS variable for each target in the code +# base. +# +# This macro depends on the environment set up by AX_COMPILER_FLAGS. +# Specifically, it uses the value of $ax_enable_compile_warnings to decide +# which flags to enable. +# +# LICENSE +# +# Copyright (c) 2015 David King +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_COMPILER_FLAGS_CXXFLAGS],[ + AC_REQUIRE([AC_PROG_SED]) + AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS]) + AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) + AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) + + # Variable names + m4_define([ax_warn_cxxflags_variable], + [m4_normalize(ifelse([$1],,[WARN_CXXFLAGS],[$1]))]) + + AC_LANG_PUSH([C++]) + + # Always pass -Werror=unknown-warning-option to get Clang to fail on bad + # flags, otherwise they are always appended to the warn_cxxflags variable, + # and Clang warns on them for every compilation unit. + # If this is passed to GCC, it will explode, so the flag must be enabled + # conditionally. + AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[ + ax_compiler_flags_test="-Werror=unknown-warning-option" + ],[ + ax_compiler_flags_test="" + ]) + + # Check that -Wno-suggest-attribute=format is supported + AX_CHECK_COMPILE_FLAG([-Wno-suggest-attribute=format],[ + ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format" + ],[ + ax_compiler_no_suggest_attribute_flags="" + ]) + + # Base flags + AX_APPEND_COMPILE_FLAGS([ dnl + -fno-strict-aliasing dnl + $3 dnl + ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test]) + + AS_IF([test "$ax_enable_compile_warnings" != "no"],[ + # "yes" flags + AX_APPEND_COMPILE_FLAGS([ dnl + -Wall dnl + -Wextra dnl + -Wundef dnl + -Wwrite-strings dnl + -Wpointer-arith dnl + -Wmissing-declarations dnl + -Wredundant-decls dnl + -Wno-unused-parameter dnl + -Wno-missing-field-initializers dnl + -Wformat=2 dnl + -Wcast-align dnl + -Wformat-nonliteral dnl + -Wformat-security dnl + -Wsign-compare dnl + -Wstrict-aliasing dnl + -Wshadow dnl + -Winline dnl + -Wpacked dnl + -Wmissing-format-attribute dnl + -Wmissing-noreturn dnl + -Winit-self dnl + -Wredundant-decls dnl + -Wmissing-include-dirs dnl + -Wunused-but-set-variable dnl + -Warray-bounds dnl + -Wreturn-type dnl + -Wno-overloaded-virtual dnl + -Wswitch-enum dnl + -Wswitch-default dnl + $4 dnl + $5 dnl + $6 dnl + $7 dnl + ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test]) + ]) + AS_IF([test "$ax_enable_compile_warnings" = "error"],[ + # "error" flags; -Werror has to be appended unconditionally because + # it's not possible to test for + # + # suggest-attribute=format is disabled because it gives too many false + # positives + AX_APPEND_FLAG([-Werror],ax_warn_cxxflags_variable) + + AX_APPEND_COMPILE_FLAGS([ dnl + [$ax_compiler_no_suggest_attribute_flags] dnl + ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test]) + ]) + + # In the flags below, when disabling specific flags, always add *both* + # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example) + # we enable -Werror, disable a flag, and a build bot passes CXXFLAGS=-Wall, + # which effectively turns that flag back on again as an error. + for flag in $ax_warn_cxxflags_variable; do + AS_CASE([$flag], + [-Wno-*=*],[], + [-Wno-*],[ + AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')], + ax_warn_cxxflags_variable, + [$ax_compiler_flags_test]) + ]) + done + + AC_LANG_POP([C++]) + + # Substitute the variables + AC_SUBST(ax_warn_cxxflags_variable) +])dnl AX_COMPILER_FLAGS_CXXFLAGS diff --git a/m4/autoconf-archive/ax_compiler_flags_gir.m4 b/m4/autoconf-archive/ax_compiler_flags_gir.m4 new file mode 100755 index 0000000000..5b4924a20d --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_flags_gir.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_gir.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_FLAGS_GIR([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS]) +# +# DESCRIPTION +# +# Add warning flags for the g-ir-scanner (from GObject Introspection) to +# VARIABLE, which defaults to WARN_SCANNERFLAGS. VARIABLE is AC_SUBST-ed +# by this macro, but must be manually added to the SCANNERFLAGS variable +# for each GIR target in the code base. +# +# This macro depends on the environment set up by AX_COMPILER_FLAGS. +# Specifically, it uses the value of $ax_enable_compile_warnings to decide +# which flags to enable. +# +# LICENSE +# +# Copyright (c) 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_DEFUN([AX_COMPILER_FLAGS_GIR],[ + AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) + + # Variable names + m4_define([ax_warn_scannerflags_variable], + [m4_normalize(ifelse([$1],,[WARN_SCANNERFLAGS],[$1]))]) + + # Base flags + AX_APPEND_FLAG([$3],ax_warn_scannerflags_variable) + + AS_IF([test "$ax_enable_compile_warnings" != "no"],[ + # "yes" flags + AX_APPEND_FLAG([ dnl + --warn-all dnl + $4 dnl + $5 dnl + $6 dnl + $7 dnl + ],ax_warn_scannerflags_variable) + ]) + AS_IF([test "$ax_enable_compile_warnings" = "error"],[ + # "error" flags + AX_APPEND_FLAG([ dnl + --warn-error dnl + ],ax_warn_scannerflags_variable) + ]) + + # Substitute the variables + AC_SUBST(ax_warn_scannerflags_variable) +])dnl AX_COMPILER_FLAGS diff --git a/m4/autoconf-archive/ax_compiler_flags_ldflags.m4 b/m4/autoconf-archive/ax_compiler_flags_ldflags.m4 new file mode 100755 index 0000000000..976d1198d3 --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_flags_ldflags.m4 @@ -0,0 +1,111 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_ldflags.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_FLAGS_LDFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS]) +# +# DESCRIPTION +# +# Add warning flags for the linker to VARIABLE, which defaults to +# WARN_LDFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be +# manually added to the LDFLAGS variable for each target in the code base. +# +# This macro depends on the environment set up by AX_COMPILER_FLAGS. +# Specifically, it uses the value of $ax_enable_compile_warnings to decide +# which flags to enable. +# +# LICENSE +# +# Copyright (c) 2014, 2015 Philip Withnall +# Copyright (c) 2017, 2018 Reini Urban +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[ + AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS]) + AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) + AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) + AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) + + # Variable names + m4_define([ax_warn_ldflags_variable], + [m4_normalize(ifelse([$1],,[WARN_LDFLAGS],[$1]))]) + + # Always pass -Werror=unknown-warning-option to get Clang to fail on bad + # flags, otherwise they are always appended to the warn_ldflags variable, + # and Clang warns on them for every compilation unit. + # If this is passed to GCC, it will explode, so the flag must be enabled + # conditionally. + AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[ + ax_compiler_flags_test="-Werror=unknown-warning-option" + ],[ + ax_compiler_flags_test="" + ]) + + AX_CHECK_LINK_FLAG([-Wl,--as-needed], [ + AX_APPEND_LINK_FLAGS([-Wl,--as-needed], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,relro], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,relro], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,now], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,now], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,noexecstack], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + # textonly, retpolineplt not yet + + # macOS and cygwin linker do not have --as-needed + AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [ + ax_compiler_flags_as_needed_option="-Wl,--no-as-needed" + ], [ + ax_compiler_flags_as_needed_option="" + ]) + + # macOS linker speaks with a different accent + ax_compiler_flags_fatal_warnings_option="" + AX_CHECK_LINK_FLAG([-Wl,--fatal-warnings], [ + ax_compiler_flags_fatal_warnings_option="-Wl,--fatal-warnings" + ]) + AX_CHECK_LINK_FLAG([-Wl,-fatal_warnings], [ + ax_compiler_flags_fatal_warnings_option="-Wl,-fatal_warnings" + ]) + + # Base flags + AX_APPEND_LINK_FLAGS([ dnl + $ax_compiler_flags_as_needed_option dnl + $3 dnl + ],ax_warn_ldflags_variable,[$ax_compiler_flags_test]) + + AS_IF([test "$ax_enable_compile_warnings" != "no"],[ + # "yes" flags + AX_APPEND_LINK_FLAGS([$4 $5 $6 $7], + ax_warn_ldflags_variable, + [$ax_compiler_flags_test]) + ]) + AS_IF([test "$ax_enable_compile_warnings" = "error"],[ + # "error" flags; -Werror has to be appended unconditionally because + # it's not possible to test for + # + # suggest-attribute=format is disabled because it gives too many false + # positives + AX_APPEND_LINK_FLAGS([ dnl + $ax_compiler_flags_fatal_warnings_option dnl + ],ax_warn_ldflags_variable,[$ax_compiler_flags_test]) + ]) + + # Substitute the variables + AC_SUBST(ax_warn_ldflags_variable) +])dnl AX_COMPILER_FLAGS diff --git a/m4/autoconf-archive/ax_compiler_vendor.m4 b/m4/autoconf-archive/ax_compiler_vendor.m4 new file mode 100755 index 0000000000..4ca8089555 --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_vendor.m4 @@ -0,0 +1,87 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_VENDOR +# +# DESCRIPTION +# +# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun, +# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft, +# watcom, etc. The vendor is returned in the cache variable +# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2008 Matteo Frigo +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 16 + +AC_DEFUN([AX_COMPILER_VENDOR], +[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, + dnl Please add if possible support to ax_compiler_version.m4 + [# note: don't check for gcc first since some other compilers define __GNUC__ + vendors="intel: __ICC,__ECC,__INTEL_COMPILER + ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__ + pathscale: __PATHCC__,__PATHSCALE__ + clang: __clang__ + cray: _CRAYC + fujitsu: __FUJITSU + gnu: __GNUC__ + sun: __SUNPRO_C,__SUNPRO_CC + hp: __HP_cc,__HP_aCC + dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER + borland: __BORLANDC__,__CODEGEARC__,__TURBOC__ + comeau: __COMO__ + kai: __KCC + lcc: __LCC__ + sgi: __sgi,sgi + microsoft: _MSC_VER + metrowerks: __MWERKS__ + watcom: __WATCOMC__ + portland: __PGI + tcc: __TINYC__ + unknown: UNKNOWN" + for ventest in $vendors; do + case $ventest in + *:) vendor=$ventest; continue ;; + *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;; + esac + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[ + #if !($vencpp) + thisisanerror; + #endif + ])], [break]) + done + ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1` + ]) +]) diff --git a/m4/autoconf-archive/ax_compiler_version.m4 b/m4/autoconf-archive/ax_compiler_version.m4 new file mode 100755 index 0000000000..8a8e28a989 --- /dev/null +++ b/m4/autoconf-archive/ax_compiler_version.m4 @@ -0,0 +1,492 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compiler_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPILER_VERSION +# +# DESCRIPTION +# +# This macro retrieves the compiler version and returns it in the cache +# variable $ax_cv_c_compiler_version for C and $ax_cv_cxx_compiler_version +# for C++. +# +# Version is returned as epoch:major.minor.patchversion +# +# Epoch is used in order to have an increasing version number in case of +# marketing change. +# +# Epoch use: * borland compiler use chronologically 0turboc for turboc +# era, +# +# 1borlanc BORLANDC++ before 5, 2cppbuilder for cppbuilder era, +# 3borlancpp for return of BORLANDC++ (after version 5.5), +# 4cppbuilder for cppbuilder with year version, +# and 5xe for XE era. +# +# An empty string is returned otherwise. +# +# LICENSE +# +# Copyright (c) 2014 Bastien ROUCARIES +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +# for intel +AC_DEFUN([_AX_COMPILER_VERSION_INTEL], + [ dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [__INTEL_COMPILER/100],, + AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [(__INTEL_COMPILER%100)/10],, + AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [(__INTEL_COMPILER%10)],, + AC_MSG_FAILURE([[[$0]] unknown intel compiler version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# for IBM +AC_DEFUN([_AX_COMPILER_VERSION_IBM], + [ dnl + dnl check between z/OS C/C++ and XL C/C++ + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([], + [ + #if defined(__COMPILER_VER__) + choke me; + #endif + ])], + [ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [__xlC__/100],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [__xlC__%100],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__xlC_ver__/0x100],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build, + [__xlC_ver__%0x100],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler build version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build" + ], + [ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__xlC__%1000],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [(__xlC__/10000)%10],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [(__xlC__/100000)%10],, + AC_MSG_FAILURE([[[$0]] unknown IBM compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) +]) + +# for pathscale +AC_DEFUN([_AX_COMPILER_VERSION_PATHSCALE],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + __PATHCC__,, + AC_MSG_FAILURE([[[$0]] unknown pathscale major])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + __PATHCC_MINOR__,, + AC_MSG_FAILURE([[[$0]] unknown pathscale minor])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__PATHCC_PATCHLEVEL__],, + AC_MSG_FAILURE([[[$0]] unknown pathscale patch level])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# for clang +AC_DEFUN([_AX_COMPILER_VERSION_CLANG],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + __clang_major__,, + AC_MSG_FAILURE([[[$0]] unknown clang major])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + __clang_minor__,, + AC_MSG_FAILURE([[[$0]] unknown clang minor])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__clang_patchlevel__],,0) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# for crayc +AC_DEFUN([_AX_COMPILER_VERSION_CRAY],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + _RELEASE,, + AC_MSG_FAILURE([[[$0]] unknown crayc release])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + _RELEASE_MINOR,, + AC_MSG_FAILURE([[[$0]] unknown crayc minor])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" + ]) + +# for fujitsu +AC_DEFUN([_AX_COMPILER_VERSION_FUJITSU],[ + AC_COMPUTE_INT(ax_cv_[]_AC_LANG_ABBREV[]_compiler_version, + __FCC_VERSION,, + AC_MSG_FAILURE([[[$0]]unknown fujitsu release])) + ]) + +# for GNU +AC_DEFUN([_AX_COMPILER_VERSION_GNU],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + __GNUC__,, + AC_MSG_FAILURE([[[$0]] unknown gcc major])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + __GNUC_MINOR__,, + AC_MSG_FAILURE([[[$0]] unknown gcc minor])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__GNUC_PATCHLEVEL__],, + AC_MSG_FAILURE([[[$0]] unknown gcc patch level])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# For sun +AC_DEFUN([_AX_COMPILER_VERSION_SUN],[ + m4_define([_AX_COMPILER_VERSION_SUN_NUMBER], + [ + #if defined(__SUNPRO_CC) + __SUNPRO_CC + #else + __SUNPRO_C + #endif + ]) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59, + !!(_AX_COMPILER_VERSION_SUN_NUMBER < 0x1000),, + AC_MSG_FAILURE([[[$0]] unknown sun release version])) + AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_until59" = X1], + [dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,, + AC_MSG_FAILURE([[[$0]] unknown sun patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + (_AX_COMPILER_VERSION_SUN_NUMBER / 0x10) % 0x10,, + AC_MSG_FAILURE([[[$0]] unknown sun minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100),, + AC_MSG_FAILURE([[[$0]] unknown sun major version])) + ], + [dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + _AX_COMPILER_VERSION_SUN_NUMBER % 0x10,, + AC_MSG_FAILURE([[[$0]] unknown sun patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + (_AX_COMPILER_VERSION_SUN_NUMBER / 0x100) % 0x100,, + AC_MSG_FAILURE([[[$0]] unknown sun minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (_AX_COMPILER_VERSION_SUN_NUMBER / 0x1000),, + AC_MSG_FAILURE([[[$0]] unknown sun major version])) + ]) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" +]) + +AC_DEFUN([_AX_COMPILER_VERSION_HP],[ + m4_define([_AX_COMPILER_VERSION_HP_NUMBER], + [ + #if defined(__HP_cc) + __HP_cc + #else + __HP_aCC + #endif + ]) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121, + !!(_AX_COMPILER_VERSION_HP_NUMBER <= 1),, + AC_MSG_FAILURE([[[$0]] unknown hp release version])) + AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_untilA0121" = X1], + [dnl By default output last version with this behavior. + dnl it is so old + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="01.21.00" + ], + [dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + (_AX_COMPILER_VERSION_HP_NUMBER % 100),, + AC_MSG_FAILURE([[[$0]] unknown hp release version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + ((_AX_COMPILER_VERSION_HP_NUMBER / 100)%100),, + AC_MSG_FAILURE([[[$0]] unknown hp minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + ((_AX_COMPILER_VERSION_HP_NUMBER / 10000)%100),, + AC_MSG_FAILURE([[[$0]] unknown hp major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) +]) + +AC_DEFUN([_AX_COMPILER_VERSION_DEC],[dnl + m4_define([_AX_COMPILER_VERSION_DEC_NUMBER], + [ + #if defined(__DECC_VER) + __DECC_VER + #else + __DECCXX_VER + #endif + ]) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + (_AX_COMPILER_VERSION_DEC_NUMBER % 10000),, + AC_MSG_FAILURE([[[$0]] unknown dec release version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + ((_AX_COMPILER_VERSION_DEC_NUMBER / 100000UL)%100),, + AC_MSG_FAILURE([[[$0]] unknown dec minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + ((_AX_COMPILER_VERSION_DEC_NUMBER / 10000000UL)%100),, + AC_MSG_FAILURE([[[$0]] unknown dec major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# borland +AC_DEFUN([_AX_COMPILER_VERSION_BORLAND],[dnl + m4_define([_AX_COMPILER_VERSION_TURBOC_NUMBER], + [ + #if defined(__TURBOC__) + __TURBOC__ + #else + choke me + #endif + ]) + m4_define([_AX_COMPILER_VERSION_BORLANDC_NUMBER], + [ + #if defined(__BORLANDC__) + __BORLANDC__ + #else + __CODEGEARC__ + #endif + ]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(, + _AX_COMPILER_VERSION_TURBOC_NUMBER)], + [dnl TURBOC + AC_COMPUTE_INT( + _ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw, + _AX_COMPILER_VERSION_TURBOC_NUMBER,, + AC_MSG_FAILURE([[[$0]] unknown turboc version])) + AS_IF( + [test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -lt 661 || test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw -gt 1023], + [dnl compute normal version + AC_COMPUTE_INT( + _ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + _AX_COMPILER_VERSION_TURBOC_NUMBER % 0x100,, + AC_MSG_FAILURE([[[$0]] unknown turboc minor version])) + AC_COMPUTE_INT( + _ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (_AX_COMPILER_VERSION_TURBOC_NUMBER/0x100)%0x100,, + AC_MSG_FAILURE([[[$0]] unknown turboc major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor"], + [dnl special version + AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_turboc_raw], + [661],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.00"], + [662],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:1.01"], + [663],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="0turboc:2.00"], + [ + AC_MSG_WARN([[[$0]] unknown turboc version between 0x295 and 0x400 please report bug]) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="" + ]) + ]) + ], + # borlandc + [ + AC_COMPUTE_INT( + _ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw, + _AX_COMPILER_VERSION_BORLANDC_NUMBER,, + AC_MSG_FAILURE([[[$0]] unknown borlandc version])) + AS_CASE([$_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw], + dnl BORLANDC++ before 5.5 + [512] ,[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:2.00"], + [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"], + [1024],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.00"], + [1040],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:3.1"], + [1106],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:4.0"], + [1280],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.0"], + [1312],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="1borlanc:5.02"], + dnl C++ Builder era + [1328],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:3.0"], + [1344],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="2cppbuilder:4.0"], + dnl BORLANDC++ after 5.5 + [1360],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.5"], + [1361],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.51"], + [1378],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="3borlancpp:5.6.4"], + dnl C++ Builder with year number + [1392],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2006"], + [1424],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2007"], + [1555],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2009"], + [1569],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="4cppbuilder:2010"], + dnl XE version + [1584],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe"], + [1600],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:2"], + [1616],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:3"], + [1632],[ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="5xe:4"], + [ + AC_MSG_WARN([[[$0]] Unknown borlandc compiler version $_ax_[]_AC_LANG_ABBREV[]_compiler_version_borlandc_raw please report bug]) + ]) + ]) + ]) + +# COMO +AC_DEFUN([_AX_COMPILER_VERSION_COMEAU], + [ dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [__COMO_VERSION__%100],, + AC_MSG_FAILURE([[[$0]] unknown comeau compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [(__COMO_VERSION__/100)%10],, + AC_MSG_FAILURE([[[$0]] unknown comeau compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" + ]) + +# KAI +AC_DEFUN([_AX_COMPILER_VERSION_KAI],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__KCC_VERSION%100],, + AC_MSG_FAILURE([[[$0]] unknown kay compiler patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [(__KCC_VERSION/100)%10],, + AC_MSG_FAILURE([[[$0]] unknown kay compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [(__KCC_VERSION/1000)%10],, + AC_MSG_FAILURE([[[$0]] unknown kay compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +dnl LCC +dnl LCC does not output version... + +# SGI +AC_DEFUN([_AX_COMPILER_VERSION_SGI],[ + m4_define([_AX_COMPILER_VERSION_SGI_NUMBER], + [ + #if defined(_COMPILER_VERSION) + _COMPILER_VERSION + #else + _SGI_COMPILER_VERSION + #endif + ]) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [_AX_COMPILER_VERSION_SGI_NUMBER%10],, + AC_MSG_FAILURE([[[$0]] unknown SGI compiler patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + [(_AX_COMPILER_VERSION_SGI_NUMBER/10)%10],, + AC_MSG_FAILURE([[[$0]] unknown SGI compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + [(_AX_COMPILER_VERSION_SGI_NUMBER/100)%10],, + AC_MSG_FAILURE([[[$0]] unknown SGI compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# microsoft +AC_DEFUN([_AX_COMPILER_VERSION_MICROSOFT],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + _MSC_VER%100,, + AC_MSG_FAILURE([[[$0]] unknown microsoft compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (_MSC_VER/100)%100,, + AC_MSG_FAILURE([[[$0]] unknown microsoft compiler major version])) + dnl could be overridden + _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0 + _ax_[]_AC_LANG_ABBREV[]_compiler_version_build=0 + # special case for version 6 + AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X12"], + [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + _MSC_FULL_VER%1000,, + _ax_[]_AC_LANG_ABBREV[]_compiler_version_patch=0)]) + # for version 7 + AS_IF([test "X$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major" = "X13"], + [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + _MSC_FULL_VER%1000,, + AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version])) + ]) + # for version > 8 + AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 14], + [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + _MSC_FULL_VER%10000,, + AC_MSG_FAILURE([[[$0]] unknown microsoft compiler patch version])) + ]) + AS_IF([test $_ax_[]_AC_LANG_ABBREV[]_compiler_version_major -ge 15], + [AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_build, + _MSC_BUILD,, + AC_MSG_FAILURE([[[$0]] unknown microsoft compiler build version])) + ]) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_build" + ]) + +# for metrowerks +AC_DEFUN([_AX_COMPILER_VERSION_METROWERKS],[dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + __MWERKS__%0x100,, + AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler patch version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + (__MWERKS__/0x100)%0x10,, + AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (__MWERKS__/0x1000)%0x10,, + AC_MSG_FAILURE([[[$0]] unknown metrowerks compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# for watcom +AC_DEFUN([_AX_COMPILER_VERSION_WATCOM],[dnl + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + __WATCOMC__%100,, + AC_MSG_FAILURE([[[$0]] unknown watcom compiler minor version])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + (__WATCOMC__/100)%100,, + AC_MSG_FAILURE([[[$0]] unknown watcom compiler major version])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor" + ]) + +# for PGI +AC_DEFUN([_AX_COMPILER_VERSION_PORTLAND],[ + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_major, + __PGIC__,, + AC_MSG_FAILURE([[[$0]] unknown pgi major])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor, + __PGIC_MINOR__,, + AC_MSG_FAILURE([[[$0]] unknown pgi minor])) + AC_COMPUTE_INT(_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch, + [__PGIC_PATCHLEVEL__],, + AC_MSG_FAILURE([[[$0]] unknown pgi patch level])) + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version="$_ax_[]_AC_LANG_ABBREV[]_compiler_version_major.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_minor.$_ax_[]_AC_LANG_ABBREV[]_compiler_version_patch" + ]) + +# tcc +AC_DEFUN([_AX_COMPILER_VERSION_TCC],[ + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=[`tcc -v | $SED 's/^[ ]*tcc[ ]\+version[ ]\+\([0-9.]\+\).*/\1/g'`] + ]) +# main entry point +AC_DEFUN([AX_COMPILER_VERSION],[dnl + AC_REQUIRE([AX_COMPILER_VENDOR]) + AC_REQUIRE([AC_PROG_SED]) + AC_CACHE_CHECK([for _AC_LANG compiler version], + ax_cv_[]_AC_LANG_ABBREV[]_compiler_version, + [ dnl + AS_CASE([$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor], + [intel],[_AX_COMPILER_VERSION_INTEL], + [ibm],[_AX_COMPILER_VERSION_IBM], + [pathscale],[_AX_COMPILER_VERSION_PATHSCALE], + [clang],[_AX_COMPILER_VERSION_CLANG], + [cray],[_AX_COMPILER_VERSION_CRAY], + [fujitsu],[_AX_COMPILER_VERSION_FUJITSU], + [gnu],[_AX_COMPILER_VERSION_GNU], + [sun],[_AX_COMPILER_VERSION_SUN], + [hp],[_AX_COMPILER_VERSION_HP], + [dec],[_AX_COMPILER_VERSION_DEC], + [borland],[_AX_COMPILER_VERSION_BORLAND], + [comeau],[_AX_COMPILER_VERSION_COMEAU], + [kai],[_AX_COMPILER_VERSION_KAI], + [sgi],[_AX_COMPILER_VERSION_SGI], + [microsoft],[_AX_COMPILER_VERSION_MICROSOFT], + [metrowerks],[_AX_COMPILER_VERSION_METROWERKS], + [watcom],[_AX_COMPILER_VERSION_WATCOM], + [portland],[_AX_COMPILER_VERSION_PORTLAND], + [tcc],[_AX_COMPILER_VERSION_TCC], + [ax_cv_[]_AC_LANG_ABBREV[]_compiler_version=""]) + ]) +]) diff --git a/m4/autoconf-archive/ax_compute_relative_paths.m4 b/m4/autoconf-archive/ax_compute_relative_paths.m4 new file mode 100755 index 0000000000..102470798f --- /dev/null +++ b/m4/autoconf-archive/ax_compute_relative_paths.m4 @@ -0,0 +1,173 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compute_relative_paths.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_COMPUTE_RELATIVE_PATHS(PATH_LIST) +# +# DESCRIPTION +# +# PATH_LIST is a space-separated list of colon-separated triplets of the +# form 'FROM:TO:RESULT'. This function iterates over these triplets and +# set $RESULT to the relative path from $FROM to $TO. Note that $FROM and +# $TO needs to be absolute filenames for this macro to success. +# +# For instance, +# +# first=/usr/local/bin +# second=/usr/local/share +# AX_COMPUTE_RELATIVE_PATHS([first:second:fs second:first:sf]) +# # $fs is set to ../share +# # $sf is set to ../bin +# +# $FROM and $TO are both eval'ed recursively and normalized, this means +# that you can call this macro with autoconf's dirnames like `prefix' or +# `datadir'. For example: +# +# AX_COMPUTE_RELATIVE_PATHS([bindir:datadir:bin_to_data]) +# +# AX_COMPUTE_RELATIVE_PATHS should also works with DOS filenames. +# +# You may want to use this macro in order to make your package +# relocatable. Instead of hardcoding $datadir into your programs just +# encode $bin_to_data and try to determine $bindir at run-time. +# +# This macro requires AX_NORMALIZE_PATH and AX_RECURSIVE_EVAL. +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AU_ALIAS([ADL_COMPUTE_RELATIVE_PATHS], [AX_COMPUTE_RELATIVE_PATHS]) +AC_DEFUN([AX_COMPUTE_RELATIVE_PATHS], +[for _lcl_i in $1; do + _lcl_from=\[$]`echo "[$]_lcl_i" | sed 's,:.*$,,'` + _lcl_to=\[$]`echo "[$]_lcl_i" | sed 's,^[[^:]]*:,,' | sed 's,:[[^:]]*$,,'` + _lcl_result_var=`echo "[$]_lcl_i" | sed 's,^.*:,,'` + AX_RECURSIVE_EVAL([[$]_lcl_from], [_lcl_from]) + AX_RECURSIVE_EVAL([[$]_lcl_to], [_lcl_to]) + _lcl_notation="$_lcl_from$_lcl_to" + AX_NORMALIZE_PATH([_lcl_from],['/']) + AX_NORMALIZE_PATH([_lcl_to],['/']) + AX_COMPUTE_RELATIVE_PATH([_lcl_from], [_lcl_to], [_lcl_result_tmp]) + AX_NORMALIZE_PATH([_lcl_result_tmp],["[$]_lcl_notation"]) + eval $_lcl_result_var='[$]_lcl_result_tmp' +done]) + +## Note: +## ***** +## The following helper macros are too fragile to be used out +## of AX_COMPUTE_RELATIVE_PATHS (mainly because they assume that +## paths are normalized), that's why I'm keeping them in the same file. +## Still, some of them maybe worth to reuse. + +dnl AX_COMPUTE_RELATIVE_PATH(FROM, TO, RESULT) +dnl =========================================== +dnl Compute the relative path to go from $FROM to $TO and set the value +dnl of $RESULT to that value. This function work on raw filenames +dnl (for instead it will considerate /usr//local and /usr/local as +dnl two distinct paths), you should really use AX_COMPUTE_RELATIVE_PATHS +dnl instead to have the paths sanitized automatically. +dnl +dnl For instance: +dnl first_dir=/somewhere/on/my/disk/bin +dnl second_dir=/somewhere/on/another/disk/share +dnl AX_COMPUTE_RELATIVE_PATH(first_dir, second_dir, first_to_second) +dnl will set $first_to_second to '../../../another/disk/share'. +AC_DEFUN([AX_COMPUTE_RELATIVE_PATH], +[AX_COMPUTE_COMMON_PATH([$1], [$2], [_lcl_common_prefix]) +AX_COMPUTE_BACK_PATH([$1], [_lcl_common_prefix], [_lcl_first_rel]) +AX_COMPUTE_SUFFIX_PATH([$2], [_lcl_common_prefix], [_lcl_second_suffix]) +$3="[$]_lcl_first_rel[$]_lcl_second_suffix"]) + +dnl AX_COMPUTE_COMMON_PATH(LEFT, RIGHT, RESULT) +dnl ============================================ +dnl Compute the common path to $LEFT and $RIGHT and set the result to $RESULT. +dnl +dnl For instance: +dnl first_path=/somewhere/on/my/disk/bin +dnl second_path=/somewhere/on/another/disk/share +dnl AX_COMPUTE_COMMON_PATH(first_path, second_path, common_path) +dnl will set $common_path to '/somewhere/on'. +AC_DEFUN([AX_COMPUTE_COMMON_PATH], +[$3='' +_lcl_second_prefix_match='' +while test "[$]_lcl_second_prefix_match" != 0; do + _lcl_first_prefix=`expr "x[$]$1" : "x\([$]$3/*[[^/]]*\)"` + _lcl_second_prefix_match=`expr "x[$]$2" : "x[$]_lcl_first_prefix"` + if test "[$]_lcl_second_prefix_match" != 0; then + if test "[$]_lcl_first_prefix" != "[$]$3"; then + $3="[$]_lcl_first_prefix" + else + _lcl_second_prefix_match=0 + fi + fi +done]) + +dnl AX_COMPUTE_SUFFIX_PATH(PATH, SUBPATH, RESULT) +dnl ============================================== +dnl Subtract $SUBPATH from $PATH, and set the resulting suffix +dnl (or the empty string if $SUBPATH is not a subpath of $PATH) +dnl to $RESULT. +dnl +dnl For instance: +dnl first_path=/somewhere/on/my/disk/bin +dnl second_path=/somewhere/on +dnl AX_COMPUTE_SUFFIX_PATH(first_path, second_path, common_path) +dnl will set $common_path to '/my/disk/bin'. +AC_DEFUN([AX_COMPUTE_SUFFIX_PATH], +[$3=`expr "x[$]$1" : "x[$]$2/*\(.*\)"`]) + +dnl AX_COMPUTE_BACK_PATH(PATH, SUBPATH, RESULT) +dnl ============================================ +dnl Compute the relative path to go from $PATH to $SUBPATH, knowing that +dnl $SUBPATH is a subpath of $PATH (any other words, only repeated '../' +dnl should be needed to move from $PATH to $SUBPATH) and set the value +dnl of $RESULT to that value. If $SUBPATH is not a subpath of PATH, +dnl set $RESULT to the empty string. +dnl +dnl For instance: +dnl first_path=/somewhere/on/my/disk/bin +dnl second_path=/somewhere/on +dnl AX_COMPUTE_BACK_PATH(first_path, second_path, back_path) +dnl will set $back_path to '../../../'. +AC_DEFUN([AX_COMPUTE_BACK_PATH], +[AX_COMPUTE_SUFFIX_PATH([$1], [$2], [_lcl_first_suffix]) +$3='' +_lcl_tmp='xxx' +while test "[$]_lcl_tmp" != ''; do + _lcl_tmp=`expr "x[$]_lcl_first_suffix" : "x[[^/]]*/*\(.*\)"` + if test "[$]_lcl_first_suffix" != ''; then + _lcl_first_suffix="[$]_lcl_tmp" + $3="../[$]$3" + fi +done]) diff --git a/m4/autoconf-archive/ax_compute_standard_relative_paths.m4 b/m4/autoconf-archive/ax_compute_standard_relative_paths.m4 new file mode 100755 index 0000000000..7e96ba7fa4 --- /dev/null +++ b/m4/autoconf-archive/ax_compute_standard_relative_paths.m4 @@ -0,0 +1,129 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_compute_standard_relative_paths.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_COMPUTE_STANDARD_RELATIVE_PATHS +# +# DESCRIPTION +# +# Here is the standard hierarchy of paths, as defined by the GNU Coding +# Standards: +# +# prefix +# exec_prefix +# bindir +# libdir +# libexecdir +# sbindir +# datarootdir +# docdir +# infodir +# htmldir +# dvidir +# psdir +# pdfdir +# localedir +# datadir (only for autoconf >= 2.59c) +# infodir (only for autoconf >= 2.59c) +# mandir (only for autoconf >= 2.59c) +# lispdir (only for autoconf >= 2.59c) +# datadir (only for autoconf < 2.59c) +# infodir (only for autoconf < 2.59c) +# mandir (only for autoconf < 2.59c) +# lispdir (only for autoconf < 2.59c) +# sysconfdir +# sharedstatedir +# localstatedir +# runstatedir (only for autoconf >= 2.70) +# includedir +# oldincludedir +# +# This macro will setup a set of variables of the form +# 'xxx_forward_relative_path' and 'xxx_backward_relative_path' where xxx +# is one of the above directories. The latter variable is set to the +# relative path to go from xxx to its parent directory, while the former +# hold the other way. +# +# For instance `bindir_relative_path' will contains the value to add to +# $exec_prefix to reach the $bindir directory (usually 'bin'), and +# `bindir_backward_relative_path' the value to append to $bindir to reach +# the $exec_prefix directory (usually '..'). +# +# This macro requires AX_COMPUTE_RELATIVE_PATHS which itself requires +# AX_NORMALIZE_PATH. +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# Copyright (c) 2015 Bastien Roucaries +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AU_ALIAS([ADL_COMPUTE_STANDARD_RELATIVE_PATHS], [AX_COMPUTE_STANDARD_RELATIVE_PATHS]) +AC_DEFUN([AX_COMPUTE_STANDARD_RELATIVE_PATHS], +## These calls need to be on separate lines for aclocal to work! +[AX_COMPUTE_RELATIVE_PATHS(dnl +AX_STANDARD_RELATIVE_PATH_LIST)]) + +dnl AX_STANDARD_RELATIVE_PATH_LIST +dnl =============================== +dnl A list of standard paths, ready to supply to AX_COMPUTE_RELATIVE_PATHS. +AC_DEFUN([AX_STANDARD_RELATIVE_PATH_LIST], +[dnl +pushdef([TRIPLET],dnl +[$][1:$][2:$][2_forward_relative_path $]dnl +[2:$][1:$][2_backward_relative_path])dnl +dnl +TRIPLET(prefix, exec_prefix) dnl + TRIPLET(exec_prefix, bindir) dnl + TRIPLET(exec_prefix, libdir) dnl + TRIPLET(exec_prefix, libexecdir) dnl + TRIPLET(exec_prefix, sbindir) dnl +TRIPLET(prefix, datarootdir) dnl + TRIPLET(datarootdir, docdir) dnl + TRIPLET(datarootdir, infodir) dnl + TRIPLET(datarootdir, htmldir) dnl + TRIPLET(datarootdir, dvidir) dnl + TRIPLET(datarootdir, psdir) dnl + TRIPLET(datarootdir, pdfdir) dnl + TRIPLET(datarootdir, localedir) dnl +m4_version_prereq([2.59c],[TRIPLET(datarootdir,datadir)],[TRIPLET(prefix,datadir)]) dnl +m4_version_prereq([2.59c],[TRIPLET(datarootdir,infodir)],[TRIPLET(prefix,infodir)]) dnl +m4_version_prereq([2.59c],[TRIPLET(datarootdir,mandir)],[TRIPLET(prefix,mandir)]) dnl +m4_version_prereq([2.59c],[TRIPLET(datarootdir,lispdir)],[TRIPLET(prefix,lispdir)]) dnl +TRIPLET(prefix, sysconfdir) dnl +TRIPLET(prefix, sharedstatedir) dnl +TRIPLET(prefix, localstatedir) dnl + dnl only available for >=2.70 + m4_version_prereq([2.70],[TRIPLET(localstatedir,runstatedir)],[[]]) dnl +TRIPLET(prefix, includedir) dnl +TRIPLET(prefix, oldincludedir) dnl +popdef([TRIPLET])]) diff --git a/m4/autoconf-archive/ax_cond_with_level.m4 b/m4/autoconf-archive/ax_cond_with_level.m4 new file mode 100755 index 0000000000..5d4b598f88 --- /dev/null +++ b/m4/autoconf-archive/ax_cond_with_level.m4 @@ -0,0 +1,176 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cond_with_level.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COND_WITH_LEVEL(PACKAGE [,DEFAULT [,YESLEVEL]]) +# +# DESCRIPTION +# +# Actually used after an AC_ARG_WITH(PKG,...) option-directive, where +# AC_ARG_WITH is a part of the standard autoconf to define a `configure` +# --with-PKG option. +# +# This macros works almost like AC_COND_WITH(PACKAGE [,DEFAULT]), but the +# definition is set to a numeric value. The level of a simple "yes" is +# given (or assumed "2" if absent), otherwise the level can be given in +# mnemonic names, being: +# +# 1 = some +# 2 = many +# 3 = all +# 4 = extra +# 5 = extrasome more +# 6 = extramany muchmore much +# 7 = super everything +# 8 = ultra experimental +# 9 = insane +# +# this macro is most handily it making Makefile.in/Makefile.am that have a +# set of with-level declarations, especially optimization-levels +# +# the $withval shell-variable is set for further examination (it carries +# the numeric value of the various mnemonics above) +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([AC_COND_WITH_LEVEL], [AX_COND_WITH_LEVEL]) +AC_DEFUN([AX_COND_WITH_LEVEL], +[dnl the names to be defined... +pushdef([WITH_VAR], patsubst(with_$1, -, _))dnl +pushdef([VAR_WITH], patsubst(translit(with_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHOUT], patsubst(translit(without_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHVAL], patsubst(translit(withval_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHDEF], patsubst(translit(withdef_$1, [a-z], [A-Z]), -, _))dnl +AC_SUBST(VAR_WITH) +AC_SUBST(VAR_WITHOUT) +AC_SUBST(VAR_WITHVAL) +AC_SUBST(VAR_WITHDEF) +if test -z "$WITH_VAR" + then WITH_VAR=`echo ifelse([$2], , no, [$2])` +fi +if test "$WITH_VAR" = "yes" + then WITH_VAR=`echo ifelse([$3], , some, [$3])` +fi +if test "$WITH_VAR" != "no"; then + VAR_WITH= ; VAR_WITHOUT='#' + case "$WITH_VAR" in + 9|9,*|ultrasome|ultrasome,*|insane) withval=9 + VAR_WITHVAL=9 ; VAR_WITHDEF="-D""VAR_WITH=9" ;; + 8|8,*|ultra|ultra,*|experimental) withval=8 + VAR_WITHVAL=8 ; VAR_WITHDEF="-D""VAR_WITH=8" ;; + 7|7,*|muchmore|somemanymore|somemanymore,*|all) withval=7 + VAR_WITHVAL=7 ; VAR_WITHDEF="-D""VAR_WITH=7" ;; + 6|6,*|manymore|manymore,*|most) withval=6 + VAR_WITHVAL=6 ; VAR_WITHDEF="-D""VAR_WITH=6" ;; + 5|5,*|somemore|somemore,*|almost) withval=5 + VAR_WITHVAL=5 ; VAR_WITHDEF="-D""VAR_WITH=5" ;; + 4|4,*|more|more,*) withval=4 + VAR_WITHVAL=4 ; VAR_WITHDEF="-D""VAR_WITH=4" ;; + 3|3,*|much|somemany,*) withval=3 + VAR_WITHVAL=3 ; VAR_WITHDEF="-D""VAR_WITH=3" ;; + 2|2,*|many|many,*) withval=2 + VAR_WITHVAL=2 ; VAR_WITHDEF="-D""VAR_WITH=2" ;; + 1|1,*|some|some,*) withval=1 + VAR_WITHVAL=1 ; VAR_WITHDEF="-D""VAR_WITH=1" ;; + *) withval=- + AC_MSG_ERROR([dnl + bad value of --with-$1 option, choose a number or some|many|more|all... ]) + esac +else withval=0 + VAR_WITH='#' ; VAR_WITHOUT="" + VAR_WITHVAL=0 ; VAR_WITHDEF="" +fi +popdef([VAR_WITH])dnl +popdef([VAR_WITHOUT])dnl +popdef([VAR_WITHVAL])dnl +popdef([VAR_WITHDEF])dnl +popdef([WITH_VAR])dnl +]) + +dnl and the same as AX_COND_WITH_LEVEL with an AC_DEFINE in the end... +AC_DEFUN([AX_COND_WITH_LEVEL_DEFINE], +[dnl the names to be defined... +pushdef([WITH_VAR], patsubst(with_$1, -, _))dnl +pushdef([VAR_WITH], patsubst(translit(with_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHOUT], patsubst(translit(without_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHVAL], patsubst(translit(withval_$1, [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHDEF], patsubst(translit(withdef_$1, [a-z], [A-Z]), -, _))dnl +AC_SUBST(VAR_WITH) +AC_SUBST(VAR_WITHOUT) +AC_SUBST(VAR_WITHVAL) +AC_SUBST(VAR_WITHDEF) +if test -z "$WITH_VAR" + then WITH_VAR=`echo ifelse([$2], , no, [$2])` +fi +if test "$WITH_VAR" = "yes" + then WITH_VAR=`echo ifelse([$3], , some, [$3])` +fi +if test "$WITH_VAR" != "no"; then + VAR_WITH= ; VAR_WITHOUT='#' + case "$WITH_VAR" in + 9|9,*|ultrasome|ultrasome,*|insane) withval=9 + VAR_WITHVAL=9 ; VAR_WITHDEF="-D""VAR_WITH=9" ;; + 8|8,*|ultra|ultra,*|experimental) withval=8 + VAR_WITHVAL=8 ; VAR_WITHDEF="-D""VAR_WITH=8" ;; + 7|7,*|muchmore|somemanymore|somemanymore,*|all) withval=7 + VAR_WITHVAL=7 ; VAR_WITHDEF="-D""VAR_WITH=7" ;; + 6|6,*|manymore|manymore,*|most) withval=6 + VAR_WITHVAL=6 ; VAR_WITHDEF="-D""VAR_WITH=6" ;; + 5|5,*|somemore|somemore,*|almost) withval=5 + VAR_WITHVAL=5 ; VAR_WITHDEF="-D""VAR_WITH=5" ;; + 4|4,*|more|more,*) withval=4 + VAR_WITHVAL=4 ; VAR_WITHDEF="-D""VAR_WITH=4" ;; + 3|3,*|much|somemany,*) withval=3 + VAR_WITHVAL=3 ; VAR_WITHDEF="-D""VAR_WITH=3" ;; + 2|2,*|many|many,*) withval=2 + VAR_WITHVAL=2 ; VAR_WITHDEF="-D""VAR_WITH=2" ;; + 1|1,*|some|some,*) withval=1 + VAR_WITHVAL=1 ; VAR_WITHDEF="-D""VAR_WITH=1" ;; + *) withval=- + AC_MSG_ERROR([dnl + bad value of --with-$1 option, choose a number or some|many|more|all... ]) + esac +dnl -- the additional line is here -- + AC_DEFINE_UNQUOTED(VAR_WITH,$VAR_WITHVAL,"--with-$1=level") +else withval=0 + VAR_WITH='#' ; VAR_WITHOUT="" + VAR_WITHVAL=0 ; VAR_WITHDEF="" +fi +popdef([VAR_WITH])dnl +popdef([VAR_WITHOUT])dnl +popdef([VAR_WITHVAL])dnl +popdef([VAR_WITHDEF])dnl +popdef([WITH_VAR])dnl +]) diff --git a/m4/autoconf-archive/ax_config_feature.m4 b/m4/autoconf-archive/ax_config_feature.m4 new file mode 100755 index 0000000000..3c2f2ef27f --- /dev/null +++ b/m4/autoconf-archive/ax_config_feature.m4 @@ -0,0 +1,156 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_config_feature.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CONFIG_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, DEFINE, DEFINE-DESCRIPTION, [ACTION-IF-ENABLED [, ACTION-IF-NOT-ENABLED]]) +# +# DESCRIPTION +# +# AX_CONFIG_FEATURE is a simple wrapper for AC_ARG_ENABLE, it enables the +# feature FEATURE-NAME and AC_DEFINEs the passed DEFINE, depending on the +# user choice. DESCRIPTION will be used for AC_DEFINEs. ACTION-IF-ENABLED +# and ACTION-IF-NOT-ENABLED are the actions that will be run. A feature is +# enabled by default, in order to change this behaviour use the +# AX_CONFIG_FEATURE_DEFAULT_ENABLED and AX_CONFIG_FEATURE_DEFAULT_DISABLED +# macros. +# +# A simple example: +# +# AX_CONFIG_FEATURE_DEFAULT_ENABLED +# AX_CONFIG_FEATURE(feature_xxxxx, [turns on/off XXXXX support], +# HAVE_XXXXX, [Define if you want XXXXX support]) +# +# ... +# +# AX_CONFIG_FEATURE_DEFAULT_DISABLED +# AX_CONFIG_FEATURE(feature_yyyyy, [turns on/off YYYYY support], +# HAVE_YYYYY, [Define if you want YYYYY support], +# [enable_yyyyy="yes"], [enable_yyyyy="no"]) +# AM_CONDITIONAL(YYYYY, [test "$enable_yyyyy" = "yes"]) +# +# AX_CONFIG_FEATURE_DEFAULT_ENABLED +# AX_CONFIG_FEATURE(...) +# +# ... +# +# If you have lot of features and you want a verbose dumping of each user +# selection use AX_CONFIG_FEATURE_VERBOSE. Use AX_CONFIG_FEATURE_SILENT in +# order to remove a previously AX_CONFIG_FEATURE_VERBOSE. By default +# features are silent. +# +# Use AX_CONFIG_FEATURE_ENABLE or AX_CONFIG_FEATURE_DISABLE in order to +# enable or disable a specific feature. +# +# Another simple example: +# +# AS_IF([some_test_here],[AX_CONFIG_FEATURE_ENABLE(feature_xxxxx)],[]) +# +# AX_CONFIG_FEATURE(feature_xxxxx, [turns on/off XXXXX support], +# HAVE_XXXXX, [Define if you want XXXXX support]) +# AX_CONFIG_FEATURE(feature_yyyyy, [turns on/off YYYYY support], +# HAVE_YYYYY, [Define if you want YYYYY support], +# [enable_yyyyy="yes"], [enable_yyyyy="no"]) +# +# ... +# +# NOTE: AX_CONFIG_FEATURE_ENABLE() must be placed first of the relative +# AX_CONFIG_FEATURE() macro ... +# +# LICENSE +# +# Copyright (c) 2008 Francesco Salvestrini +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AC_DEFUN([AX_CONFIG_FEATURE],[ dnl +m4_pushdef([FEATURE], patsubst([$1], -, _))dnl + +AC_ARG_ENABLE([$1],AS_HELP_STRING([--enable-$1],[$2]),[ +case "${enableval}" in + yes) + ax_config_feature_[]FEATURE[]="yes" + ;; + no) + ax_config_feature_[]FEATURE[]="no" + ;; + *) + AC_MSG_ERROR([bad value ${enableval} for feature --$1]) + ;; +esac +]) + +AS_IF([test "$ax_config_feature_[]FEATURE[]" = yes],[ dnl + AC_DEFINE([$3]) + $5 + AS_IF([test "$ax_config_feature_verbose" = yes],[ dnl + AC_MSG_NOTICE([Feature $1 is enabled]) + ]) +],[ dnl + $6 + AS_IF([test "$ax_config_feature_verbose" = yes],[ dnl + AC_MSG_NOTICE([Feature $1 is disabled]) + ]) +]) + +AH_TEMPLATE([$3],[$4]) + +m4_popdef([FEATURE])dnl +]) + +dnl Feature global +AC_DEFUN([AX_CONFIG_FEATURE_VERBOSE],[ dnl + ax_config_feature_verbose=yes +]) + +dnl Feature global +AC_DEFUN([AX_CONFIG_FEATURE_SILENT],[ dnl + ax_config_feature_verbose=no +]) + +dnl Feature specific +AC_DEFUN([AX_CONFIG_FEATURE_DEFAULT_ENABLED], [ + ax_config_feature_[]FEATURE[]_default=yes +]) + +dnl Feature specific +AC_DEFUN([AX_CONFIG_FEATURE_DEFAULT_DISABLED], [ + ax_config_feature_[]FEATURE[]_default=no +]) + +dnl Feature specific +AC_DEFUN([AX_CONFIG_FEATURE_ENABLE],[ dnl + ax_config_feature_[]patsubst([$1], -, _)[]=yes +]) + +dnl Feature specific +AC_DEFUN([AX_CONFIG_FEATURE_DISABLE],[ dnl + ax_config_feature_[]patsubst([$1], -, _)[]=no +]) diff --git a/m4/autoconf-archive/ax_configure_args.m4 b/m4/autoconf-archive/ax_configure_args.m4 new file mode 100755 index 0000000000..95f9f64114 --- /dev/null +++ b/m4/autoconf-archive/ax_configure_args.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_configure_args.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CONFIGURE_ARGS +# +# DESCRIPTION +# +# Helper macro for AX_ENABLE_BUILDDIR. +# +# The traditional way of starting a subdir-configure is running the script +# with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have +# to rely on eval'ing $ac_configure_args however some old autoconf +# versions do not provide that. To ensure maximum portability of autoconf +# extension macros this helper can be AC_REQUIRE'd so that +# $ac_configure_args will always be present. +# +# Sadly, the traditional "exec $SHELL" of the enable_builddir macros is +# spoiled now and must be replaced by "eval + exit $?". +# +# Example: +# +# AC_DEFUN([AX_ENABLE_SUBDIR],[dnl +# AC_REQUIRE([AX_CONFIGURE_ARGS])dnl +# eval $SHELL $ac_configure_args || exit $? +# ...]) +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 13 + +AC_DEFUN([AX_CONFIGURE_ARGS],[ + # [$]@ is unusable in 2.60+ but earlier autoconf had no ac_configure_args + if test "${ac_configure_args+set}" != "set" ; then + ac_configure_args= + for ac_arg in ${1+"[$]@"}; do + ac_configure_args="$ac_configure_args '$ac_arg'" + done + fi +]) diff --git a/m4/autoconf-archive/ax_count_cpus.m4 b/m4/autoconf-archive/ax_count_cpus.m4 new file mode 100755 index 0000000000..5db8925534 --- /dev/null +++ b/m4/autoconf-archive/ax_count_cpus.m4 @@ -0,0 +1,101 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_count_cpus.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COUNT_CPUS([ACTION-IF-DETECTED],[ACTION-IF-NOT-DETECTED]) +# +# DESCRIPTION +# +# Attempt to count the number of logical processor cores (including +# virtual and HT cores) currently available to use on the machine and +# place detected value in CPU_COUNT variable. +# +# On successful detection, ACTION-IF-DETECTED is executed if present. If +# the detection fails, then ACTION-IF-NOT-DETECTED is triggered. The +# default ACTION-IF-NOT-DETECTED is to set CPU_COUNT to 1. +# +# LICENSE +# +# Copyright (c) 2014,2016 Karlson2k (Evgeny Grin) +# Copyright (c) 2012 Brian Aker +# Copyright (c) 2008 Michael Paul Bailey +# Copyright (c) 2008 Christophe Tournayre +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + + AC_DEFUN([AX_COUNT_CPUS],[dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_EGREP])dnl + AC_MSG_CHECKING([the number of available CPUs]) + CPU_COUNT="0" + + # Try generic methods + + # 'getconf' is POSIX utility, but '_NPROCESSORS_ONLN' and + # 'NPROCESSORS_ONLN' are platform-specific + command -v getconf >/dev/null 2>&1 && \ + CPU_COUNT=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null` || CPU_COUNT="0" + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v nproc >/dev/null 2>&1]],[[: # empty]],[dnl + # 'nproc' is part of GNU Coreutils and is widely available + CPU_COUNT=`OMP_NUM_THREADS='' nproc 2>/dev/null` || CPU_COUNT=`nproc 2>/dev/null` || CPU_COUNT="0" + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null]],[[: # empty]],[dnl + # Try platform-specific preferred methods + AS_CASE([[$host_os]],dnl + [[*linux*]],[[CPU_COUNT=`lscpu -p 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+,' -c` || CPU_COUNT="0"]],dnl + [[*darwin*]],[[CPU_COUNT=`sysctl -n hw.logicalcpu 2>/dev/null` || CPU_COUNT="0"]],dnl + [[freebsd*]],[[command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n kern.smp.cpus 2>/dev/null` || CPU_COUNT="0"]],dnl + [[netbsd*]], [[command -v sysctl >/dev/null 2>&1 && CPU_COUNT=`sysctl -n hw.ncpuonline 2>/dev/null` || CPU_COUNT="0"]],dnl + [[solaris*]],[[command -v psrinfo >/dev/null 2>&1 && CPU_COUNT=`psrinfo 2>/dev/null | $EGREP -e '^@<:@0-9@:>@.*on-line' -c 2>/dev/null` || CPU_COUNT="0"]],dnl + [[mingw*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]],dnl + [[msys*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]],dnl + [[cygwin*]],[[CPU_COUNT=`ls -qpU1 /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/ 2>/dev/null | $EGREP -e '^@<:@0-9@:>@+/' -c` || CPU_COUNT="0"]]dnl + )dnl + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null || ! command -v sysctl >/dev/null 2>&1]],[[: # empty]],[dnl + # Try less preferred generic method + # 'hw.ncpu' exist on many platforms, but not on GNU/Linux + CPU_COUNT=`sysctl -n hw.ncpu 2>/dev/null` || CPU_COUNT="0" + ])dnl + + AS_IF([[test "$CPU_COUNT" -gt "0" 2>/dev/null]],[[: # empty]],[dnl + # Try platform-specific fallback methods + # They can be less accurate and slower then preferred methods + AS_CASE([[$host_os]],dnl + [[*linux*]],[[CPU_COUNT=`$EGREP -e '^processor' -c /proc/cpuinfo 2>/dev/null` || CPU_COUNT="0"]],dnl + [[*darwin*]],[[CPU_COUNT=`system_profiler SPHardwareDataType 2>/dev/null | $EGREP -i -e 'number of cores:'|cut -d : -f 2 -s|tr -d ' '` || CPU_COUNT="0"]],dnl + [[freebsd*]],[[CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu@<:@0-9@:>@+: '|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0"]],dnl + [[netbsd*]], [[CPU_COUNT=`command -v cpuctl >/dev/null 2>&1 && cpuctl list 2>/dev/null| $EGREP -e '^@<:@0-9@:>@+ .* online ' -c` || \ + CPU_COUNT=`dmesg 2>/dev/null| $EGREP -e '^cpu@<:@0-9@:>@+ at'|sort -u|$EGREP -e '^' -c` || CPU_COUNT="0"]],dnl + [[solaris*]],[[command -v kstat >/dev/null 2>&1 && CPU_COUNT=`kstat -m cpu_info -s state -p 2>/dev/null | $EGREP -c -e 'on-line'` || \ + CPU_COUNT=`kstat -m cpu_info 2>/dev/null | $EGREP -c -e 'module: cpu_info'` || CPU_COUNT="0"]],dnl + [[mingw*]],[AS_IF([[CPU_COUNT=`reg query 'HKLM\\Hardware\\Description\\System\\CentralProcessor' 2>/dev/null | $EGREP -e '\\\\@<:@0-9@:>@+$' -c`]],dnl + [[: # empty]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]])],dnl + [[msys*]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]],dnl + [[cygwin*]],[[test "$NUMBER_OF_PROCESSORS" -gt "0" 2>/dev/null && CPU_COUNT="$NUMBER_OF_PROCESSORS"]]dnl + )dnl + ])dnl + + AS_IF([[test "x$CPU_COUNT" != "x0" && test "$CPU_COUNT" -gt 0 2>/dev/null]],[dnl + AC_MSG_RESULT([[$CPU_COUNT]]) + m4_ifvaln([$1],[$1],)dnl + ],[dnl + m4_ifval([$2],[dnl + AS_UNSET([[CPU_COUNT]]) + AC_MSG_RESULT([[unable to detect]]) + $2 + ], [dnl + CPU_COUNT="1" + AC_MSG_RESULT([[unable to detect (assuming 1)]]) + ])dnl + ])dnl + ])dnl diff --git a/m4/autoconf-archive/ax_cpu_freq.m4 b/m4/autoconf-archive/ax_cpu_freq.m4 new file mode 100755 index 0000000000..eeb4d5fc2b --- /dev/null +++ b/m4/autoconf-archive/ax_cpu_freq.m4 @@ -0,0 +1,94 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cpu_freq.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CPU_FREQ +# +# DESCRIPTION +# +# Compute the CPU frequency and define CPU_FREQ accordingly. +# +# LICENSE +# +# Copyright (c) 2008 Christophe Tournayre +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_CPU_FREQ], +[AC_REQUIRE([AC_PROG_CC]) + AC_LANG_PUSH([C++]) + AC_CACHE_CHECK(your cpu frequency, ax_cpu_freq, + [AC_RUN_IFELSE([AC_LANG_PROGRAM([ +#include +#include +#include +using namespace std; + +static __inline__ unsigned long long int rdtsc() +{ + unsigned long long int x; + __asm__ volatile (".byte 0x0f, 0x31":"=A" (x)); + return x; +} + +static float estimate_MHz(long sleeptime = 250000) +{ + struct timezone tz; + struct timeval tvstart, tvstop; + unsigned long long int cycles[[2]]; + float microseconds; + double freq = 1.0f; + + memset(&tz, 0, sizeof(tz)); + + gettimeofday(&tvstart, &tz); + cycles[[0]] = rdtsc(); + gettimeofday(&tvstart, &tz); + + usleep(sleeptime); + + gettimeofday(&tvstop, &tz); + cycles[[1]] = rdtsc(); + gettimeofday(&tvstop, &tz); + + microseconds = (tvstop.tv_sec - tvstart.tv_sec) * 1000000 + + (tvstop.tv_usec - tvstart.tv_usec); + + return (float) (cycles[[1]] - cycles[[0]]) / (microseconds / freq); +} + +static float average_MHz(int tries = 2) +{ + float frequency = 0; + + for (int i = 1; i <= tries; i++) + frequency += estimate_MHz(i * 150000); + + if (tries > 0) + return frequency / (float) tries; + else + return 0; +} +], [ + ofstream of("conftest_cpufreq"); + if(of.is_open()) + of << average_MHz(); + else + return 1; + + of.close() +])], + [ax_cpu_freq=`cat conftest_cpufreq`; rm -f conftest_cpufreq], + [ax_cpu_freq=unknow; rm -f conftest_cpufreq] + )]) +AC_LANG_POP([C++]) + + AC_DEFINE_UNQUOTED([CPU_FREQ], ${ax_cpu_freq}, [The cpu frequency (in MHz)]) +]) diff --git a/m4/autoconf-archive/ax_cpu_vendor.m4 b/m4/autoconf-archive/ax_cpu_vendor.m4 new file mode 100755 index 0000000000..e9121861c5 --- /dev/null +++ b/m4/autoconf-archive/ax_cpu_vendor.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cpu_vendor.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CPU_VENDOR +# +# DESCRIPTION +# +# Find your CPU's vendor by requesting cpuid and define "ax_cpu_vendor" +# accordingly. This macro depends on AX_GCC_X86_CPUID. +# +# LICENSE +# +# Copyright (c) 2008 Christophe Tournayre +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_CPU_VENDOR], +[ + AC_REQUIRE([AX_GCC_X86_CPUID]) + AX_GCC_X86_CPUID(0x0) + + AC_CACHE_CHECK(for the processor vendor, ax_cpu_vendor, + [ + vendor=`echo $ax_cv_gcc_x86_cpuid_0x0 | cut -d ":" -f 2` + + case $vendor in + 756e6547*) + ax_cpu_vendor="Intel" + ;; + 68747541*) + ax_cpu_vendor="AMD" + ;; + 69727943*) + ax_cpu_vendor="Cyrix" + ;; + 746e6543*) + ax_cpu_vendor="IDT" + ;; + 646f6547*) + ax_cpu_vendor="Natsemi Geode" + ;; + 52697365*) + ax_cpu_vendor="Rise" + ;; + 65736952*) + ax_cpu_vendor="Rise" + ;; + 20536953*) + ax_cpu_vendor="SiS" + ;; + *) + ax_cpu_vendor="Unknown" + ;; + esac + ]) +]) diff --git a/m4/autoconf-archive/ax_create_generic_config.m4 b/m4/autoconf-archive/ax_create_generic_config.m4 new file mode 100755 index 0000000000..3a054dd125 --- /dev/null +++ b/m4/autoconf-archive/ax_create_generic_config.m4 @@ -0,0 +1,195 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_create_generic_config.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CREATE_GENERIC_CONFIG [(PACKAGEnlibs [, VERSION])] +# +# DESCRIPTION +# +# Creates a generic PACKAGE-config file that has all the things that you +# want, hmm, well, at least it has --cflags, --version, --libs. Ahhm, did +# you see ax_path_generic in the autoconf-archive? ;-) +# +# this macros saves you all the typing for a pkg-config.in script, you +# don't even need to distribute one along. Place this macro in your +# configure.ac, et voila, you got one that you want to install. +# +# oh, btw, if the first arg looks like "mylib -lwhat' then it will go to +# be added to the --libs, and mylib is extracted. +# +# the defaults: $1 = $PACKAGE $LIBS $2 = $VERSION there is also an +# AC_SUBST(GENERIC_CONFIG) that will be set to the name of the file that +# we did output in this macro. Use as: +# +# install-exec-local: install-generic-config +# +# install-generic-config: +# $(mkinstalldirs) $(DESTDIR)$(bindir) +# $(INSTALL_SCRIPT) @GENERIC_CONFIG@ $(DESTDIR)$(bindir) +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AU_ALIAS([AC_CREATE_GENERIC_CONFIG], [AX_CREATE_GENERIC_CONFIG]) +AC_DEFUN([AX_CREATE_GENERIC_CONFIG],[# create a generic PACKAGE-config file +L=`echo ifelse($1, , $PACKAGE $LIBS, $1)` +P=`echo $L | sed -e 's/ -.*//'` +P=`echo $P` +V=`echo ifelse($2, , $VERSION, $2)` +F=`echo $P-config` +L=`echo -l$L | sed -e 's/^-llib/-l/'` +AC_MSG_RESULT(creating $F - generic $V for $L) +test "x$prefix" = xNONE && prefix="$ac_default_prefix" +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +echo '#! /bin/sh' >$F +echo ' ' >>$F +echo 'package="'$P'"' >>$F +echo 'version="'$V'"' >>$F +echo 'libs="'$L'"' >>$F +echo ' ' >>$F +# in the order of occurence a standard automake Makefile +echo 'prefix="'$prefix'"' >>$F +echo 'exec_prefix="'$exec_prefix'"' >>$F +echo 'bindir="'$bindir'"' >>$F +echo 'sbindir="'$sbindir'"' >>$F +echo 'libexecdir="'$libexecdir'"' >>$F +echo 'datadir="'$datadir'"' >>$F +echo 'sysconfdir="'$sysconfdir'"' >>$F +echo 'sharedstatedir="'$sharedstatedir'"' >>$F +echo 'localstatedir="'$localstatedir'"' >>$F +echo 'libdir="'$libdir'"' >>$F +echo 'infodir="'$infodir'"' >>$F +echo 'mandir="'$mandir'"' >>$F +echo 'includedir="'$includedir'"' >>$F +echo 'target="'$target'"' >>$F +echo 'host="'$host'"' >>$F +echo 'build="'$build'"' >>$F +echo ' ' >>$F +echo 'if test "'"\$""#"'" -eq 0; then' >>$F +echo ' cat <>$F +echo 'Usage: $package-config [OPTIONS]' >>$F +echo 'Options:' >>$F +echo ' --prefix[=DIR]) : \$prefix' >>$F +echo ' --package) : \$package' >>$F +echo ' --version) : \$version' >>$F +echo ' --cflags) : -I\$includedir' >>$F +echo ' --libs) : -L\$libdir -l\$package' >>$F +echo ' --help) print all the options (not just these)' >>$F +echo 'EOF' >>$F +echo 'fi' >>$F +echo ' ' >>$F +echo 'o=""' >>$F +echo 'h=""' >>$F +echo 'for i in "[$]@"; do' >>$F +echo ' case $i in' >>$F +echo ' --prefix=*) prefix=`echo $i | sed -e "s/--prefix=//"` ;;' >>$F +echo ' --prefix) o="$o $prefix" ;;' >>$F +echo ' --package) o="$o $package" ;;' >>$F +echo ' --version) o="$o $version" ;;' >>$F +echo ' --cflags) if test "_$includedir" != "_/usr/include"' >>$F +echo ' then o="$o -I$includedir" ; fi' >>$F +echo ' ;;' >>$F +echo ' --libs) o="$o -L$libdir $libs" ;;' >>$F +echo ' --exec_prefix|--eprefix) o="$o $exec_prefix" ;;' >>$F +echo ' --bindir) o="$o $bindir" ;;' >>$F +echo ' --sbindir) o="$o $sbindir" ;;' >>$F +echo ' --libexecdir) o="$o $libexecdir" ;;' >>$F +echo ' --datadir) o="$o $datadir" ;;' >>$F +echo ' --datainc) o="$o -I$datadir" ;;' >>$F +echo ' --datalib) o="$o -L$datadir" ;;' >>$F +echo ' --sysconfdir) o="$o $sysconfdir" ;;' >>$F +echo ' --sharedstatedir) o="$o $sharedstatedir" ;;' >>$F +echo ' --localstatedir) o="$o $localstatedir" ;;' >>$F +echo ' --libdir) o="$o $libdir" ;;' >>$F +echo ' --libadd) o="$o -L$libdir" ;;' >>$F +echo ' --infodir) o="$o $infodir" ;;' >>$F +echo ' --mandir) o="$o $mandir" ;;' >>$F +echo ' --target) o="$o $target" ;;' >>$F +echo ' --host) o="$o $host" ;;' >>$F +echo ' --build) o="$o $build" ;;' >>$F +echo ' --data) o="$o -I$datadir/$package" ;;' >>$F +echo ' --pkgdatadir) o="$o $datadir/$package" ;;' >>$F +echo ' --pkgdatainc) o="$o -I$datadir/$package" ;;' >>$F +echo ' --pkgdatalib) o="$o -L$datadir/$package" ;;' >>$F +echo ' --pkglibdir) o="$o $libdir/$package" ;;' >>$F +echo ' --pkglibinc) o="$o -I$libinc/$package" ;;' >>$F +echo ' --pkglibadd) o="$o -L$libadd/$package" ;;' >>$F +echo ' --pkgincludedir) o="$o $includedir/$package" ;;' >>$F +echo ' --help) h="1" ;;' >>$F +echo ' -?//*|-?/*//*|-?./*//*|//*|/*//*|./*//*) ' >>$F +echo ' v=`echo $i | sed -e s://:\$:g`' >>$F +echo ' v=`eval "echo $v"` ' >>$F +echo ' o="$o $v" ;; ' >>$F +echo ' esac' >>$F +echo 'done' >>$F +echo ' ' >>$F +echo 'o=`eval "echo $o"`' >>$F +echo 'o=`eval "echo $o"`' >>$F +echo 'eval "echo $o"' >>$F +echo ' ' >>$F +echo 'if test ! -z "$h" ; then ' >>$F +echo 'cat <>$F +echo ' --prefix=xxx) (what is that for anyway?)' >>$F +echo ' --prefix) \$prefix $prefix' >>$F +echo ' --package) \$package $package' >>$F +echo ' --version) \$version $version' >>$F +echo ' --cflags) -I\$includedir unless it is /usr/include' >>$F +echo ' --libs) -L\$libdir -l\$PACKAGE \$LIBS' >>$F +echo ' --exec_prefix) or... ' >>$F +echo ' --eprefix) \$exec_prefix $exec_prefix' >>$F +echo ' --bindir) \$bindir $bindir' >>$F +echo ' --sbindir) \$sbindir $sbindir' >>$F +echo ' --libexecdir) \$libexecdir $libexecdir' >>$F +echo ' --datadir) \$datadir $datadir' >>$F +echo ' --sysconfdir) \$sysconfdir $sysconfdir' >>$F +echo ' --sharedstatedir) \$sharedstatedir$sharedstatedir' >>$F +echo ' --localstatedir) \$localstatedir $localstatedir' >>$F +echo ' --libdir) \$libdir $libdir' >>$F +echo ' --infodir) \$infodir $infodir' >>$F +echo ' --mandir) \$mandir $mandir' >>$F +echo ' --target) \$target $target' >>$F +echo ' --host) \$host $host' >>$F +echo ' --build) \$build $build' >>$F +echo ' --data) -I\$datadir/\$package' >>$F +echo ' --pkgdatadir) \$datadir/\$package' >>$F +echo ' --pkglibdir) \$libdir/\$package' >>$F +echo ' --pkgincludedir) \$includedir/\$package' >>$F +echo ' --help) generated by ax_create_generic_config.m4' >>$F +echo ' -I//varname and other inc-targets like --pkgdatainc supported' >>$F +echo ' -L//varname and other lib-targets, e.g. --pkgdatalib or --libadd' >>$F +echo 'EOF' >>$F +echo 'fi' >>$F +GENERIC_CONFIG="$F" +AC_SUBST(GENERIC_CONFIG) +]) diff --git a/m4/autoconf-archive/ax_create_pkgconfig_info.m4 b/m4/autoconf-archive/ax_create_pkgconfig_info.m4 new file mode 100755 index 0000000000..35f02137c5 --- /dev/null +++ b/m4/autoconf-archive/ax_create_pkgconfig_info.m4 @@ -0,0 +1,351 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_create_pkgconfig_info.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CREATE_PKGCONFIG_INFO [(outputfile, [requires [,libs [,summary [,cflags [, ldflags]]]]])] +# +# DESCRIPTION +# +# Defaults: +# +# $1 = $PACKAGE_NAME.pc +# $2 = (empty) +# $3 = $PACKAGE_LIBS $LIBS (as set at that point in configure.ac) +# $4 = $PACKAGE_SUMMARY (or $1 Library) +# $5 = $PACKAGE_CFLAGS (as set at the point in configure.ac) +# $6 = $PACKAGE_LDFLAGS (as set at the point in configure.ac) +# +# PACKAGE_NAME defaults to $PACKAGE if not set. +# PACKAGE_LIBS defaults to -l$PACKAGE_NAME if not set. +# +# The resulting file is called $PACKAGE.pc.in / $PACKAGE.pc +# +# You will find this macro most useful in conjunction with +# ax_spec_defaults that can read good initializers from the .spec file. In +# consequence, most of the generatable installable stuff can be made from +# information being updated in a single place for the whole project. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2008 Sven Verdoolaege +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 16 + +AC_DEFUN([AX_CREATE_PKGCONFIG_INFO],[dnl +AS_VAR_PUSHDEF([PKGCONFIG_suffix],[ax_create_pkgconfig_suffix])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libdir],[ax_create_pkgconfig_libdir])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libfile],[ax_create_pkgconfig_libfile])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libname],[ax_create_pkgconfig_libname])dnl +AS_VAR_PUSHDEF([PKGCONFIG_version],[ax_create_pkgconfig_version])dnl +AS_VAR_PUSHDEF([PKGCONFIG_description],[ax_create_pkgconfig_description])dnl +AS_VAR_PUSHDEF([PKGCONFIG_requires],[ax_create_pkgconfig_requires])dnl +AS_VAR_PUSHDEF([PKGCONFIG_pkglibs],[ax_create_pkgconfig_pkglibs])dnl +AS_VAR_PUSHDEF([PKGCONFIG_libs],[ax_create_pkgconfig_libs])dnl +AS_VAR_PUSHDEF([PKGCONFIG_ldflags],[ax_create_pkgconfig_ldflags])dnl +AS_VAR_PUSHDEF([PKGCONFIG_cppflags],[ax_create_pkgconfig_cppflags])dnl +AS_VAR_PUSHDEF([PKGCONFIG_generate],[ax_create_pkgconfig_generate])dnl +AS_VAR_PUSHDEF([PKGCONFIG_src_libdir],[ax_create_pkgconfig_src_libdir])dnl +AS_VAR_PUSHDEF([PKGCONFIG_src_headers],[ax_create_pkgconfig_src_headers])dnl + +# we need the expanded forms... +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +AC_MSG_CHECKING(our pkgconfig libname) +test ".$PKGCONFIG_libname" != "." || \ +PKGCONFIG_libname="ifelse($1,,${PACKAGE_NAME},`basename $1 .pc`)" +test ".$PKGCONFIG_libname" != "." || \ +PKGCONFIG_libname="$PACKAGE" +PKGCONFIG_libname=`eval echo "$PKGCONFIG_libname"` +PKGCONFIG_libname=`eval echo "$PKGCONFIG_libname"` +AC_MSG_RESULT($PKGCONFIG_libname) + +AC_MSG_CHECKING(our pkgconfig version) +test ".$PKGCONFIG_version" != "." || \ +PKGCONFIG_version="${PACKAGE_VERSION}" +test ".$PKGCONFIG_version" != "." || \ +PKGCONFIG_version="$VERSION" +PKGCONFIG_version=`eval echo "$PKGCONFIG_version"` +PKGCONFIG_version=`eval echo "$PKGCONFIG_version"` +AC_MSG_RESULT($PKGCONFIG_version) + +AC_MSG_CHECKING(our pkgconfig_libdir) +test ".$pkgconfig_libdir" = "." && \ +pkgconfig_libdir='${libdir}/pkgconfig' +PKGCONFIG_libdir=`eval echo "$pkgconfig_libdir"` +PKGCONFIG_libdir=`eval echo "$PKGCONFIG_libdir"` +PKGCONFIG_libdir=`eval echo "$PKGCONFIG_libdir"` +AC_MSG_RESULT($pkgconfig_libdir) +test "$pkgconfig_libdir" != "$PKGCONFIG_libdir" && ( +AC_MSG_RESULT(expanded our pkgconfig_libdir... $PKGCONFIG_libdir)) +AC_SUBST([pkgconfig_libdir]) + +AC_MSG_CHECKING(our pkgconfig_libfile) +test ".$pkgconfig_libfile" != "." || \ +pkgconfig_libfile="ifelse($1,,$PKGCONFIG_libname.pc,`basename $1`)" +PKGCONFIG_libfile=`eval echo "$pkgconfig_libfile"` +PKGCONFIG_libfile=`eval echo "$PKGCONFIG_libfile"` +AC_MSG_RESULT($pkgconfig_libfile) +test "$pkgconfig_libfile" != "$PKGCONFIG_libfile" && ( +AC_MSG_RESULT(expanded our pkgconfig_libfile... $PKGCONFIG_libfile)) +AC_SUBST([pkgconfig_libfile]) + +AC_MSG_CHECKING(our package / suffix) +PKGCONFIG_suffix="$program_suffix" +test ".$PKGCONFIG_suffix" != .NONE || PKGCONFIG_suffix="" +AC_MSG_RESULT(${PACKAGE_NAME} / ${PKGCONFIG_suffix}) + +AC_MSG_CHECKING(our pkgconfig description) +PKGCONFIG_description="ifelse($4,,$PACKAGE_SUMMARY,$4)" +test ".$PKGCONFIG_description" != "." || \ +PKGCONFIG_description="$PKGCONFIG_libname Library" +PKGCONFIG_description=`eval echo "$PKGCONFIG_description"` +PKGCONFIG_description=`eval echo "$PKGCONFIG_description"` +AC_MSG_RESULT($PKGCONFIG_description) + +AC_MSG_CHECKING(our pkgconfig requires) +PKGCONFIG_requires="ifelse($2,,$PACKAGE_REQUIRES,$2)" +PKGCONFIG_requires=`eval echo "$PKGCONFIG_requires"` +PKGCONFIG_requires=`eval echo "$PKGCONFIG_requires"` +AC_MSG_RESULT($PKGCONFIG_requires) + +AC_MSG_CHECKING(our pkgconfig ext libs) +PKGCONFIG_pkglibs="$PACKAGE_LIBS" +test ".$PKGCONFIG_pkglibs" != "." || PKGCONFIG_pkglibs="-l$PKGCONFIG_libname" +PKGCONFIG_libs="ifelse($3,,$PKGCONFIG_pkglibs $LIBS,$3)" +PKGCONFIG_libs=`eval echo "$PKGCONFIG_libs"` +PKGCONFIG_libs=`eval echo "$PKGCONFIG_libs"` +AC_MSG_RESULT($PKGCONFIG_libs) + +AC_MSG_CHECKING(our pkgconfig cppflags) +PKGCONFIG_cppflags="ifelse($5,,$PACKAGE_CFLAGS,$5)" +PKGCONFIG_cppflags=`eval echo "$PKGCONFIG_cppflags"` +PKGCONFIG_cppflags=`eval echo "$PKGCONFIG_cppflags"` +AC_MSG_RESULT($PKGCONFIG_cppflags) + +AC_MSG_CHECKING(our pkgconfig ldflags) +PKGCONFIG_ldflags="ifelse($6,,$PACKAGE_LDFLAGS,$6)" +PKGCONFIG_ldflags=`eval echo "$PKGCONFIG_ldflags"` +PKGCONFIG_ldflags=`eval echo "$PKGCONFIG_ldflags"` +AC_MSG_RESULT($PKGCONFIG_ldflags) + +test ".$PKGCONFIG_generate" != "." || \ +PKGCONFIG_generate="ifelse($1,,$PKGCONFIG_libname.pc,$1)" +PKGCONFIG_generate=`eval echo "$PKGCONFIG_generate"` +PKGCONFIG_generate=`eval echo "$PKGCONFIG_generate"` +test "$pkgconfig_libfile" != "$PKGCONFIG_generate" && ( +AC_MSG_RESULT(generate the pkgconfig later... $PKGCONFIG_generate)) + +if test ".$PKGCONFIG_src_libdir" = "." ; then +PKGCONFIG_src_libdir=`pwd` +PKGCONFIG_src_libdir=`AS_DIRNAME("$PKGCONFIG_src_libdir/$PKGCONFIG_generate")` +test ! -d $PKGCONFIG_src_libdir/src || \ +PKGCONFIG_src_libdir="$PKGCONFIG_src_libdir/src" +case ".$objdir" in +*libs) PKGCONFIG_src_libdir="$PKGCONFIG_src_libdir/$objdir" ;; esac +AC_MSG_RESULT(noninstalled pkgconfig -L $PKGCONFIG_src_libdir) +fi + +if test ".$PKGCONFIG_src_headers" = "." ; then +PKGCONFIG_src_headers=`pwd` +v="$ac_top_srcdir" ; +test ".$v" != "." || v="$ax_spec_dir" +test ".$v" != "." || v="$srcdir" +case "$v" in /*) PKGCONFIG_src_headers="" ;; esac +PKGCONFIG_src_headers=`AS_DIRNAME("$PKGCONFIG_src_headers/$v/x")` +test ! -d $PKGCONFIG_src_headers/incl[]ude || \ +PKGCONFIG_src_headers="$PKGCONFIG_src_headers/incl[]ude" +AC_MSG_RESULT(noninstalled pkgconfig -I $PKGCONFIG_src_headers) +fi + + +dnl AC_CONFIG_COMMANDS crap disallows to use $PKGCONFIG_libfile here... +AC_CONFIG_COMMANDS([$ax_create_pkgconfig_generate],[ +pkgconfig_generate="$ax_create_pkgconfig_generate" +if test ! -f "$pkgconfig_generate.in" +then generate="true" +elif grep ' generated by configure ' $pkgconfig_generate.in >/dev/null +then generate="true" +else generate="false"; +fi +if $generate ; then +AC_MSG_NOTICE(creating $pkgconfig_generate.in) +cat > $pkgconfig_generate.in <conftest.sed < $pkgconfig_generate +if test ! -s $pkgconfig_generate ; then + AC_MSG_ERROR([$pkgconfig_generate is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_generate +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.pc/'` +AC_MSG_NOTICE(creating $pkgconfig_uninstalled) +cat >conftest.sed < $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + AC_MSG_ERROR([$pkgconfig_uninstalled is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled + pkgconfig_requires_add=`echo ${pkgconfig_requires}` +if test ".$pkgconfig_requires_add" != "." ; then + pkgconfig_requires_add="pkg-config $pkgconfig_requires_add" + else pkgconfig_requires_add=":" ; fi +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.sh/'` +AC_MSG_NOTICE(creating $pkgconfig_uninstalled) +cat >conftest.sed <Name:>for option\\; do case \"\$option\" in --list-all|--name) echo > +s>Description: *>\\;\\; --help) pkg-config --help \\; echo Buildscript Of > +s>Version: *>\\;\\; --modversion|--version) echo > +s>Requires:>\\;\\; --requires) echo $pkgconfig_requires_add> +s>Libs: *>\\;\\; --libs) echo > +s>Cflags: *>\\;\\; --cflags) echo > +/--libs)/a\\ + $pkgconfig_requires_add +/--cflags)/a\\ + $pkgconfig_requires_add\\ +;; --variable=*) eval echo '\$'\`echo \$option | sed -e 's/.*=//'\`\\ +;; --uninstalled) exit 0 \\ +;; *) ;; esac done +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + AC_MSG_ERROR([$pkgconfig_uninstalled is empty]) +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled +],[ +dnl AC_CONFIG_COMMANDS crap, the AS_PUSHVAR defines are invalid here... +ax_create_pkgconfig_generate="$ax_create_pkgconfig_generate" +pkgconfig_prefix='$prefix' +pkgconfig_execprefix='$exec_prefix' +pkgconfig_bindir='$bindir' +pkgconfig_libdir='$libdir' +pkgconfig_includedir='$includedir' +pkgconfig_datarootdir='$datarootdir' +pkgconfig_datadir='$datadir' +pkgconfig_sysconfdir='$sysconfdir' +pkgconfig_suffix='$ax_create_pkgconfig_suffix' +pkgconfig_package='$PACKAGE_NAME' +pkgconfig_libname='$ax_create_pkgconfig_libname' +pkgconfig_description='$ax_create_pkgconfig_description' +pkgconfig_version='$ax_create_pkgconfig_version' +pkgconfig_requires='$ax_create_pkgconfig_requires' +pkgconfig_libs='$ax_create_pkgconfig_libs' +pkgconfig_ldflags='$ax_create_pkgconfig_ldflags' +pkgconfig_cppflags='$ax_create_pkgconfig_cppflags' +pkgconfig_src_libdir='$ax_create_pkgconfig_src_libdir' +pkgconfig_src_headers='$ax_create_pkgconfig_src_headers' +])dnl +AS_VAR_POPDEF([PKGCONFIG_suffix])dnl +AS_VAR_POPDEF([PKGCONFIG_libdir])dnl +AS_VAR_POPDEF([PKGCONFIG_libfile])dnl +AS_VAR_POPDEF([PKGCONFIG_libname])dnl +AS_VAR_POPDEF([PKGCONFIG_version])dnl +AS_VAR_POPDEF([PKGCONFIG_description])dnl +AS_VAR_POPDEF([PKGCONFIG_requires])dnl +AS_VAR_POPDEF([PKGCONFIG_pkglibs])dnl +AS_VAR_POPDEF([PKGCONFIG_libs])dnl +AS_VAR_POPDEF([PKGCONFIG_ldflags])dnl +AS_VAR_POPDEF([PKGCONFIG_cppflags])dnl +AS_VAR_POPDEF([PKGCONFIG_generate])dnl +AS_VAR_POPDEF([PKGCONFIG_src_libdir])dnl +AS_VAR_POPDEF([PKGCONFIG_src_headers])dnl +]) diff --git a/m4/autoconf-archive/ax_create_stdint_h.m4 b/m4/autoconf-archive/ax_create_stdint_h.m4 new file mode 100755 index 0000000000..440069b961 --- /dev/null +++ b/m4/autoconf-archive/ax_create_stdint_h.m4 @@ -0,0 +1,727 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_create_stdint_h.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CREATE_STDINT_H [( HEADER-TO-GENERATE [, HEDERS-TO-CHECK])] +# +# DESCRIPTION +# +# the "ISO C9X: 7.18 Integer types " section requires the +# existence of an include file that defines a set of typedefs, +# especially uint8_t,int32_t,uintptr_t. Many older installations will not +# provide this file, but some will have the very same definitions in +# . In other environments we can use the inet-types in +# which would define the typedefs int8_t and u_int8_t +# respectively. +# +# This macros will create a local "_stdint.h" or the headerfile given as +# an argument. In many cases that file will just "#include " or +# "#include ", while in other environments it will provide the +# set of basic 'stdint's definitions/typedefs: +# +# int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t +# int_least32_t.. int_fast32_t.. intmax_t +# +# which may or may not rely on the definitions of other files, or using +# the AC_CHECK_SIZEOF macro to determine the actual sizeof each type. +# +# if your header files require the stdint-types you will want to create an +# installable file mylib-int.h that all your other installable header may +# include. So if you have a library package named "mylib", just use +# +# AX_CREATE_STDINT_H(mylib-int.h) +# +# in configure.ac and go to install that very header file in Makefile.am +# along with the other headers (mylib.h) - and the mylib-specific headers +# can simply use "#include " to obtain the stdint-types. +# +# Remember, if the system already had a valid , the generated +# file will include it directly. No need for fuzzy HAVE_STDINT_H things... +# (oops, GCC 4.2.x has deliberately disabled its stdint.h for non-c99 +# compilation and the c99-mode is not the default. Therefore this macro +# will not use the compiler's stdint.h - please complain to the GCC +# developers). +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 19 + +AC_DEFUN([AX_CHECK_DATA_MODEL],[ + AC_CHECK_SIZEOF(char) + AC_CHECK_SIZEOF(short) + AC_CHECK_SIZEOF(int) + AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(void*) + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + AC_MSG_CHECKING([data model]) + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)]) +]) + +dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF]) +AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[ +AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[ + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h sys/types.h]) + do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + done + AC_MSG_CHECKING([for stdint uintptr_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[ +AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[ + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h sys/types.h stdint.h]) + do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + break; + done + AC_MSG_CHECKING([for stdint uint32_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[ +AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[ + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + break; + done + AC_MSG_CHECKING([for stdint u_int32_t]) + ]) +]) + +AC_DEFUN([AX_CREATE_STDINT_H], +[# ------ AX CREATE STDINT H ------------------------------------- +AC_MSG_CHECKING([for stdint types]) +ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +AC_CACHE_VAL([ac_cv_header_stdint_t],[ +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], +[ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; ], +[ac_cv_header_stdint_t=""]) +if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then +CFLAGS="-std=c99" +AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], +[AC_MSG_WARN(your GCC compiler has a defunct stdint.h for its default-mode)]) +fi +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" ]) + +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./stdint.h?)]) +elif test "$ac_stdint_h" = "inttypes.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./inttypes.h?)]) +elif test "_$ac_cv_header_stdint_t" = "_" ; then + AC_MSG_RESULT([(putting them into $ac_stdint_h)$v]) +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)]) +fi + +if test "_$ac_cv_header_stdint_t" = "_" ; then # cannot shortcircuit.. + +dnl .....intro message done, now do a few system checks..... +dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type, +dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW +dnl instead that is triggered with 3 or more arguments (see types.m4) + +inttype_headers=`echo $2 | sed -e 's/,/ /g'` + +ac_cv_stdint_result="(no helpful system typedefs seen)" +AX_CHECK_HEADER_STDINT_X(dnl + stdint.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen uintptr_t$and64 in $i)") + +if test "_$ac_cv_header_stdint_x" = "_" ; then +AX_CHECK_HEADER_STDINT_O(dnl, + inttypes.h sys/inttypes.h stdint.h $inttype_headers, + ac_cv_stdint_result="(seen uint32_t$and64 in $i)") +fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then +AX_CHECK_HEADER_STDINT_U(dnl, + sys/types.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen u_int32_t$and64 in $i)") +fi fi + +dnl if there was no good C99 header file, do some typedef checks... +if test "_$ac_cv_header_stdint_x" = "_" ; then + AC_MSG_CHECKING([for stdint datatype model]) + AC_MSG_RESULT([(..)]) + AX_CHECK_DATA_MODEL +fi + +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +AC_MSG_CHECKING([for extra inttypes in chosen header]) +AC_MSG_RESULT([($ac_cv_header_stdint)]) +dnl see if int_least and int_fast types are present in _this_ header. +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>]) +AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>]) +AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>]) + +fi # shortcircuit to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi + +AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl +$ac_cv_stdint_result]) + +dnl ----------------------------------------------------------------- +# ----------------- DONE inttypes.h checks START header ------------- +AC_CONFIG_COMMANDS([$ac_stdint_h],[ +AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h) +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include " >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint < +#else +#include + +/* .................... configured part ............................ */ + +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi + +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi + +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi + +echo "" >>$ac_stdint + +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi + +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + + cat >>$ac_stdint <= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-addressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + +dnl /* have a look at "64bit and data size neutrality" at */ +dnl /* http://unix.org/version2/whatsnew/login_64bit.html */ +dnl /* (the shorthand "ILP" types always have a "P" part) */ + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merrily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + AC_MSG_NOTICE([$ac_stdint_h is unchanged]) + else + ac_dir=`AS_DIRNAME(["$ac_stdint_h"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi +],[# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h) +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" +]) +]) diff --git a/m4/autoconf-archive/ax_create_target_h.m4 b/m4/autoconf-archive/ax_create_target_h.m4 new file mode 100755 index 0000000000..5cd74fcc57 --- /dev/null +++ b/m4/autoconf-archive/ax_create_target_h.m4 @@ -0,0 +1,529 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_create_target_h.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CREATE_TARGET_H [(HEADER-FILE [,PREFIX)] +# +# DESCRIPTION +# +# Create the header-file and let it contain '#defines' for the target +# platform. This macro is used for libraries that have platform-specific +# quirks. Instead of inventing a target-specific target.h.in files, just +# let it create a header file from the definitions of AC_CANONICAL_SYSTEM +# and put only ifdef's in the installed header-files. +# +# if the HEADER-FILE is absent, [target.h] is used. +# if the PREFIX is absent, [TARGET] is used. +# the prefix can be the packagename. (y:a-z-:A-Z_:) +# +# The defines look like... +# +# #ifndef TARGET_CPU_M68K +# #define TARGET_CPU_M68K "m68k" +# #endif +# +# #ifndef TARGET_OS_LINUX +# #define TARGET_OS_LINUX "linux-gnu" +# #endif +# +# #ifndef TARGET_OS_TYPE /* the string itself */ +# #define TARGET_OS_TYPE "linux-gnu" +# #endif +# +# Detail: in the case of hppa1.1, the three idents "hppa1_1" "hppa1" and +# "hppa" are derived, for an m68k it just two, "m68k" and "m". +# +# The CREATE_TARGET_H__ variant is almost the same function, but +# everything is lowercased instead of uppercased, and there is a "__" in +# front of each prefix, so it looks like... +# +# #ifndef __target_os_linux +# #define __target_os_linux "linux-gnulibc2" +# #endif +# +# #ifndef __target_os__ /* the string itself */ +# #define __target_os__ "linux-gnulibc2" +# #endif +# +# #ifndef __target_cpu_i586 +# #define __target_cpu_i586 "i586" +# #endif +# +# #ifndef __target_arch_i386 +# #define __target_arch_i386 "i386" +# #endif +# +# #ifndef __target_arch__ /* cpu family arch */ +# #define __target_arch__ "i386" +# #endif +# +# Other differences: the default string-define is "__" instead of "_TYPE". +# +# Personally, I prefer the second variant (which had been the first in the +# devprocess of this file but I assume people will often fallback to the +# primary variant presented herein). +# +# NOTE: CREATE_TARGET_H does also fill HOST_OS-defines Functionality has +# been split over functions called CREATE_TARGET_H_UPPER, +# CREATE_TARGET_H_LOWER, CREATE_TARGET_HOST_UPPER, and +# CREATE_TARGET_HOST_LOWER. +# +# CREATE_TARGET_H uses CREATE_TARGET_H_UPPER CREATE_TARGET_HOST_UPPER +# CREATE_TARGET_H_ uses CREATE_TARGET_H_LOWER CREATE_TARGET_HOST_LOWER +# +# There is now a CREATE_PREFIX_TARGET_H in this file as a shorthand for +# PREFIX_CONFIG_H from a target.h file, however w/o the target.h ever +# created (the prefix is a bit different, since we add an extra -target- +# and -host-). +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CREATE_TARGET_H], [AX_CREATE_TARGET_H]) +AC_DEFUN([AX_CREATE_TARGET_H], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AX_CREATE_TARGET_H_UPPER($1,$2) +AX_CREATE_TARGET_HOST_UPPER($1,$2) +]) + +AC_DEFUN([AC_CREATE_TARGET_OS_H], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AX_CREATE_TARGET_H_LOWER($1,$2) +AX_CREATE_TARGET_HOST_LOWER($1,$2) +]) + +AC_DEFUN([AX_CREATE_TARGET_H__], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AX_CREATE_TARGET_H_LOWER($1,$2) +AX_CREATE_TARGET_HOST_LOWER($1,$2) +]) + +dnl [(OUT-FILE [, PREFIX])] defaults: PREFIX=$PACKAGE OUTFILE=$PREFIX-target.h +AC_DEFUN([AC_CREATE_PREFIX_TARGET_H],[dnl +ac_prefix_conf_PKG=`echo ifelse($2, , $PACKAGE, $2)` +ac_prefix_conf_OUT=`echo ifelse($1, , $ac_prefix_conf_PKG-target.h, $1)` +ac_prefix_conf_PRE=`echo $ac_prefix_conf_PKG-target | sed -e 'y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:'` +AX_CREATE_TARGET_H_UPPER($ac_prefix_conf_PRE,$ac_perfix_conf_OUT) +ac_prefix_conf_PRE=`echo __$ac_prefix_conf_PKG-host | sed -e 'y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:'` +AX_CREATE_TARGET_HOST_UPPER($ac_prefix_conf_PRE,$ac_perfix_conf_OUT) +]) + +dnl [(OUT-FILE[, PREFIX])] defaults: PREFIX=$PACKAGE OUTFILE=$PREFIX-target.h +AC_DEFUN([AC_CREATE_PREFIX_TARGET_H_],[dnl +ac_prefix_conf_PKG=`echo ifelse($2, , $PACKAGE, $2)` +ac_prefix_conf_OUT=`echo ifelse($1, , $ac_prefix_conf_PKG-target.h, $1)` +ac_prefix_conf_PRE=`echo __$ac_prefix_conf_PKG-target | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:'` +AX_CREATE_TARGET_H_LOWER($ac_prefix_conf_PRE,$ac_perfix_conf_OUT) +ac_prefix_conf_PRE=`echo __$ac_prefix_conf_PKG-host | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:'` +AX_CREATE_TARGET_HOST_LOWER($ac_prefix_conf_PRE,$ac_perfix_conf_OUT) +]) + +AC_DEFUN([AX_CREATE_TARGET_H_FILE],[dnl +ac_need_target_h_file_new=true +]) + +AC_DEFUN([AX_CREATE_TARGET_H_UPPER], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AC_REQUIRE([AX_CREATE_TARGET_H_FILE]) +changequote({, })dnl +ac_need_target_h_file=`echo ifelse($1, , target.h, $1)` +ac_need_target_h_prefix=`echo ifelse($2, , target, $2) | sed -e 'y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:' -e 's:[^A-Z0-9_]::g'` +# +target_os0=`echo "$target_os" | sed -e 'y:abcdefghijklmnopqrstuvwxyz.-:ABCDEFGHIJKLMNOPQRSTUVWXYZ__:' -e 's:[^A-Z0-9_]::g'` +target_os1=`echo "$target_os0" | sed -e 's:\([^0-9]*\).*:\1:' ` +target_os2=`echo "$target_os0" | sed -e 's:\([^_]*\).*:\1:' ` +target_os3=`echo "$target_os2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +target_cpu0=`echo "$target_cpu" | sed -e 'y:abcdefghijklmnopqrstuvwxyz.-:ABCDEFGHIJKLMNOPQRSTUVWXYZ__:' -e 's:[^A-Z0-9_]::g'` +target_cpu1=`echo "$target_cpu0" | sed -e 's:\([^0-9]*\).*:\1:' ` +target_cpu2=`echo "$target_cpu0" | sed -e 's:\([^_]*\).*:\1:' ` +target_cpu3=`echo "$target_cpu2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +target_cpu_arch0=`echo "$target_cpu_arch" | sed -e 'y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:'` +# +changequote([, ])dnl +# +if $ac_need_target_h_file_new ; then +AC_MSG_RESULT(creating $ac_need_target_h_file - canonical system defines) +echo /'*' automatically generated by $PACKAGE configure '*'/ >$ac_need_target_h_file +echo /'*' on `date` '*'/ >>$ac_need_target_h_file +ac_need_target_h_file_new=false +fi +echo /'*' target uppercase defines '*'/ >>$ac_need_target_h_file +dnl +old1="" +old2="" +for i in $target_os0 $target_os1 $target_os2 $target_os3 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_OS_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_OS_"$i '"'"$target_os"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $target_cpu0 $target_cpu1 $target_cpu2 $target_cpu3 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_CPU_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_CPU_"$i '"'"$target_cpu"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $target_cpu_arch0 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_ARCH_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_ARCH_"$i '"'"$target_cpu_arch"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +]) + +dnl +dnl ... the lowercase variant ... +dnl +AC_DEFUN([AX_CREATE_TARGET_H_LOWER], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AC_REQUIRE([AX_CREATE_TARGET_H_FILE]) +changequote({, })dnl +ac_need_target_h_file=`echo ifelse($1, , target-os.h, $1)` +ac_need_target_h_prefix=`echo ifelse($2, , target, $2) | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:' -e 's:[^a-z0-9_]::g'` +# +target_os0=`echo "$target_os" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ.-:abcdefghijklmnopqrstuvwxyz__:' -e 's:[^a-z0-9_]::g'` +target_os1=`echo "$target_os0" | sed -e 's:\([^0-9]*\).*:\1:' ` +target_os2=`echo "$target_os0" | sed -e 's:\([^_]*\).*:\1:' ` +target_os3=`echo "$target_os2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +target_cpu0=`echo "$target_cpu" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ.-:abcdefghijklmnopqrstuvwxyz__:' -e 's:[^a-z0-9_]::g'` +target_cpu1=`echo "$target_cpu0" | sed -e 's:\([^0-9]*\).*:\1:' ` +target_cpu2=`echo "$target_cpu0" | sed -e 's:\([^_]*\).*:\1:' ` +target_cpu3=`echo "$target_cpu2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +target_cpu_arch0=`echo "$target_cpu_arch" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ:abcdefghijklmnopqrstuvwxyz:'` +# +changequote([, ])dnl +# +if $ac_need_target_h_file_new ; then +AC_MSG_RESULT(creating $ac_need_target_h_file - canonical system defines) +echo /'*' automatically generated by $PACKAGE configure '*'/ >$ac_need_target_h_file +echo /'*' on `date` '*'/ >>$ac_need_target_h_file +ac_need_target_h_file_new=false +fi +echo /'*' target lowercase defines '*'/ >>$ac_need_target_h_file +dnl +old1="" +old2="" +for i in $target_os0 $target_os1 $target_os2 $target_os3 "_"; +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_os_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_os_"$i '"'"$target_os"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $target_cpu0 $target_cpu1 $target_cpu2 $target_cpu3 "_" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_cpu_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_cpu_"$i '"'"$target_cpu"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $target_cpu_arch0 "_" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_arch_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_arch_"$i '"'"$target_cpu_arch"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +]) + +dnl ------------------------------------------------------------------- +dnl +dnl ... the uppercase variant for the host ... +dnl +AC_DEFUN([AX_CREATE_TARGET_HOST_UPPER], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AC_REQUIRE([AX_CREATE_TARGET_H_FILE]) +changequote({, })dnl +ac_need_target_h_file=`echo ifelse($1, , target.h, $1)` +ac_need_target_h_prefix=`echo ifelse($2, , host, $2) | sed -e 'y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:' -e 's:[^A-Z0-9_]::g'` +# +host_os0=`echo "$host_os" | sed -e 'y:abcdefghijklmnopqrstuvwxyz.-:ABCDEFGHIJKLMNOPQRSTUVWXYZ__:' -e 's:[^A-Z0-9_]::g'` +host_os1=`echo "$host_os0" | sed -e 's:\([^0-9]*\).*:\1:' ` +host_os2=`echo "$host_os0" | sed -e 's:\([^_]*\).*:\1:' ` +host_os3=`echo "$host_os2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +host_cpu0=`echo "$host_cpu" | sed -e 'y:abcdefghijklmnopqrstuvwxyz.-:ABCDEFGHIJKLMNOPQRSTUVWXYZ__:' -e 's:[^A-Z0-9]::g'` +host_cpu1=`echo "$host_cpu0" | sed -e 's:\([^0-9]*\).*:\1:' ` +host_cpu2=`echo "$host_cpu0" | sed -e 's:\([^_]*\).*:\1:' ` +host_cpu3=`echo "$host_cpu2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +host_cpu_arch0=`echo "$host_cpu_arch" | sed -e 'y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:'` +# +changequote([, ])dnl +# +if $ac_need_target_h_file_new ; then +AC_MSG_RESULT(creating $ac_need_target_h_file - canonical system defines) +echo /'*' automatically generated by $PACKAGE configure '*'/ >$ac_need_target_h_file +echo /'*' on `date` '*'/ >>$ac_need_target_h_file +ac_need_target_h_file_new=false +fi +echo /'*' host uppercase defines '*'/ >>$ac_need_target_h_file +dnl +old1="" +old2="" +for i in $host_os0 $host_os1 $host_os2 $host_os3 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_OS_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_OS_"$i '"'"$host_os"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $host_cpu0 $host_cpu1 $host_cpu2 $host_cpu3 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_CPU_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_CPU_"$i '"'"$host_cpu"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $host_cpu_arch0 "TYPE" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef "$ac_need_target_h_prefix"_ARCH_"$i >>$ac_need_target_h_file + echo "#define "$ac_need_target_h_prefix"_ARCH_"$i '"'"$host_cpu_arch"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +]) + +dnl --------------------------------------------------------------------- +dnl +dnl ... the lowercase variant for the host ... +dnl +AC_DEFUN([AX_CREATE_TARGET_HOST_LOWER], +[AC_REQUIRE([AC_CANONICAL_CPU_ARCH]) +AC_REQUIRE([AX_CREATE_TARGET_H_FILE]) +changequote({, })dnl +ac_need_target_h_file=`echo ifelse($1, , target.h, $1)` +ac_need_target_h_prefix=`echo ifelse($2, , host, $2) | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:' -e 's:[^a-z0-9_]::g'` +# +host_os0=`echo "$host_os" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ.-:abcdefghijklmnopqrstuvwxyz__:' -e 's:[^a-z0-9_]::g'` +host_os1=`echo "$host_os0" | sed -e 's:\([^0-9]*\).*:\1:' ` +host_os2=`echo "$host_os0" | sed -e 's:\([^_]*\).*:\1:' ` +host_os3=`echo "$host_os2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +host_cpu0=`echo "$host_cpu" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ.-:abcdefghijklmnopqrstuvwxyz__:' -e 's:[^a-z0-9_]::g'` +host_cpu1=`echo "$host_cpu0" | sed -e 's:\([^0-9]*\).*:\1:' ` +host_cpu2=`echo "$host_cpu0" | sed -e 's:\([^_]*\).*:\1:' ` +host_cpu3=`echo "$host_cpu2" | sed -e 's:\([^0-9]*\).*:\1:' ` +# +host_cpu_arch0=`echo "$host_cpu_arch" | sed -e 'y:ABCDEFGHIJKLMNOPQRSTUVWXYZ:abcdefghijklmnopqrstuvwxyz:'` +# +changequote([, ])dnl +# +if $ac_need_target_h_file_new ; then +AC_MSG_RESULT(creating $ac_need_target_h_file - canonical system defines) +echo /'*' automatically generated by $PACKAGE configure '*'/ >$ac_need_target_h_file +echo /'*' on `date` '*'/ >>$ac_need_target_h_file +ac_need_target_h_file_new=false +fi +echo /'*' host lowercase defines '*'/ >>$ac_need_target_h_file +dnl +old1="" +old2="" +for i in $host_os0 $host_os1 $host_os2 $host_os3 "_"; +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_os_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_os_"$i '"'"$host_os"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $host_cpu0 $host_cpu1 $host_cpu2 $host_cpu3 "_" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_cpu_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_cpu_"$i '"'"$host_cpu"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +# +old1="" +old2="" +for i in $host_cpu_arch0 "_" +do + if test "$old1" != "$i"; then + if test "$old2" != "$i"; then + echo " " >>$ac_need_target_h_file + echo "#ifndef __"$ac_need_target_h_prefix"_arch_"$i >>$ac_need_target_h_file + echo "#define __"$ac_need_target_h_prefix"_arch_"$i '"'"$host_cpu_arch"'"' >>$ac_need_target_h_file + echo "#endif" >>$ac_need_target_h_file + fi + fi + old2="$old1" + old1="$i" +done +]) + +dnl ------------------------------------------------------------------- + +dnl +dnl the instruction set architecture (ISA) has evolved for a small set +dnl of cpu types. So they often have specific names, e.g. sparclite, +dnl yet they share quite a few similarities. This macro will set the +dnl shell-var $target_cpu_arch to the basic type. Note that these +dnl names are often in conflict with their original 32-bit type name +dnl of these processors, just use them for directory-handling or add +dnl a prefix/suffix to distinguish them from $target_cpu +dnl +dnl this macros has been invented since config.guess is sometimes +dnl too specific about the cpu-type. I chose the names along the lines +dnl of linux/arch/ which is modelled after widespread arch-naming, IMHO. +dnl +AC_DEFUN([AC_CANONICAL_CPU_ARCH], +[AC_REQUIRE([AC_CANONICAL_SYSTEM]) +target_cpu_arch="unknown" +case $target_cpu in + i386*|i486*|i586*|i686*|i786*) target_cpu_arch=i386 ;; + power*) target_cpu_arch=ppc ;; + arm*) target_cpu_arch=arm ;; + sparc64*) target_cpu_arch=sparc64 ;; + sparc*) target_cpu_arch=sparc ;; + mips64*) target_cpu_arch=mips64 ;; + mips*) target_cpu_arch=mips ;; + alpha*) target_cpu_arch=alpha ;; + hppa1*) target_cpu_arch=hppa1 ;; + hppa2*) target_cpu_arch=hppa2 ;; + arm*) target_cpu_arch=arm ;; + m68???|mcf54??) target_cpu_arch=m68k ;; + *) target_cpu_arch="$target_cpu" ;; +esac + +host_cpu_arch="unknown" +case $host_cpu in + i386*|i486*|i586*|i686*|i786*) host_cpu_arch=i386 ;; + power*) host_cpu_arch=ppc ;; + arm*) host_cpu_arch=arm ;; + sparc64*) host_cpu_arch=sparc64 ;; + sparc*) host_cpu_arch=sparc ;; + mips64*) host_cpu_arch=mips64 ;; + mips*) host_cpu_arch=mips ;; + alpha*) host_cpu_arch=alpha ;; + hppa1*) host_cpu_arch=hppa1 ;; + hppa2*) host_cpu_arch=hppa2 ;; + arm*) host_cpu_arch=arm ;; + m68???|mcf54??) host_cpu_arch=m68k ;; + *) host_cpu_arch="$target_cpu" ;; +esac +]) diff --git a/m4/autoconf-archive/ax_cvs.m4 b/m4/autoconf-archive/ax_cvs.m4 new file mode 100755 index 0000000000..7be4947cf9 --- /dev/null +++ b/m4/autoconf-archive/ax_cvs.m4 @@ -0,0 +1,477 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cvs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CVS([ANON_CVSROOT]) +# +# DESCRIPTION +# +# Adds support cvs targets within your Makefile. +# +# Branching and releasing relies on you using the following version +# format: +# +# MAJOR.MINOR.POINT +# +# where MAJOR is the major version number, MINOR is the minor version +# number and POINT is the point release number. +# +# make update +# +# performs a cvs update +# +# make commitlog +# +# Generates a ChangeLog template with the modified, added +# and removed files and opens it up for editing. This is +# not normally used directly, but is instead called by +# commit. It is useful however if you want to document +# the work you have done, but don't want to commit just +# yet. +# +# make commit +# +# performs a cvs commit after first performing a cvs +# update and generating a commit log. +# +# make cvs-rm FILES="file1 file2 ..." +# +# removes a file or files specified by the FILES +# variable from the file system and from cvs. It will +# interactively ask you to confirm the file removal, +# unless the file does not exist on the file system. +# +# make cvs-add FILES="file1 file2 ..." +# +# adds a file or files specified by the FILES variable +# to cvs. +# +# make branch-major +# +# creates a branch based on the major version number, +# increments the major version number, sets the minor +# and point versions to zero and checks out the branch +# into a new directory. +# +# make branch-minor +# +# creates a branch based on the minor version number, +# increments the minor version, sets the point version +# to zero number and checks out the branch into a new +# directory. +# +# make release +# +# performs a cvs update, followed by a distcheck, then +# creates a release for the current version, increments +# the point release number and checks out the release +# into a new directory +# +# make quick-release +# +# same as release, but distcheck is not performed +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 21 + +AC_DEFUN([AX_CVS], +[ +AC_REQUIRE([AX_SPLIT_VERSION]) + +AC_SUBST([ANON_CVSROOT], [$1]) +AC_MSG_CHECKING([ANON_CVSROOT]) +if test "x$ANON_CVSROOT" != "x"; then + AC_MSG_RESULT([$ANON_CVSROOT]) +else + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([An anonymous CVSROOT must be specified to enable CVS support]) +fi + + +AC_ARG_ENABLE(cvs-support, + AS_HELP_STRING(--enable-cvs-support[=ARG], + [enable cvs support. Used by the $PACKAGE developers. + ARG can be "yes" or "no". If the CVSROOT is found, + then the default is yes, + otherwise the default is no.]), + AX_USING_CVS=$enableval ) + +if test "x$AX_USING_CVS" != "xno"; then + AC_ARG_VAR(CVS, [cvs executable to use]) + if test "x$CVS" = "x"; then + AC_CHECK_PROGS(CVS,[cvs]) + fi + if test "x$CVS" = "x"; then + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: cvs executable not found]) + fi + fi + AC_SUBST([CVS]) +fi + +if test "x$AX_USING_CVS" != "xno"; then + AC_ARG_VAR(GAWK, [gawk executable to use]) + if test "x$GAWK" = "x"; then + AC_CHECK_PROGS(GAWK,[gawk]) + fi + if test "x$GAWK" = "x"; then + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: gawk could not be found]) + fi + fi + AC_SUBST([GAWK]) +fi + +if test "x$AX_USING_CVS" != "xno"; then + AC_ARG_VAR(CVSEDITOR, [text editor to use for cvs]) + if test "x$CVSEDITOR" = "x"; then + if test "x$EDITOR" = "x"; then + AC_CHECK_PROGS(CVSEDITOR,[vim vi emacs]) + else + AC_CHECK_PROGS(CVSEDITOR,[$EDITOR vim vi emacs]) + fi + fi + if test "x$CVSEDITOR" = "x"; then + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: CVSEDITOR not set and editor not found]) + fi + fi + AC_SUBST([CVSEDITOR]) +fi + +if test "x$AX_USING_CVS" != "xno"; then + AC_ARG_VAR(CVSROOT, [the CVSROOT to use]) + AC_MSG_CHECKING([CVSROOT]) + if test -e "$srcdir/CVS/Root"; then + CVSROOT=`cat $srcdir/CVS/Root`; + AC_MSG_RESULT([$CVSROOT]) + else + AC_MSG_RESULT([not found]) + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: CVSROOT not found. Did you check out from CVS?]) + fi + fi + AC_SUBST([CVSROOT]) +fi + +if test "x$AX_USING_CVS" != "xno"; then + AC_MSG_CHECKING([USERNAME]) + if test "x$USERNAME" != "x"; then + AC_MSG_RESULT([$USERNAME]) + else + AC_MSG_RESULT([not set]) + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: USERNAME environment variable not set]) + fi + fi + AC_SUBST([USERNAME]) +fi + +if test "x$AX_USING_CVS" != "xno"; then + AC_MSG_CHECKING([USEREMAIL]) + if test "x$USERNAME" != "x"; then + AC_MSG_RESULT([$USEREMAIL]) + else + AC_MSG_RESULT([not set]) + if test "x$AX_USING_CVS" = "x"; then + AX_USING_CVS=no + else + AC_MSG_ERROR([CVS support cannot be enabled: USEREMAIL environment variable not set]) + fi + fi + AC_SUBST([USEREMAIL]) +fi + + +if test "x$AX_USING_CVS" != "xno"; then + AC_MSG_NOTICE([cvs support enabled]) + m4_pattern_allow([AC_INIT]) + AX_PRINT_TO_FILE([ax_cvs_rel.awk],[[ + +BEGIN { + if( change <= 0 ) + exit -1; +} + +/AC_INIT/ { + if( ${AX_DOLLAR}2 ~ /\\)${AX_DOLLAR}/ ) + { + ver = substr( ${AX_DOLLAR}2, 0, length( ${AX_DOLLAR}2 ) - 1 ); + tail=\")\"; + } + else + ver = ${AX_DOLLAR}2; + + if( ${AX_DOLLAR}2 ~ /${AX_BS}${AX_SRB}${AX_DOLLAR}/ ) + { + ver = substr( ${AX_DOLLAR}2, 0, length( ${AX_DOLLAR}2 ) - 1 ); + tail=\"${AX_SRB}\"; + } + else + ver = ${AX_DOLLAR}2; + + if( ${AX_DOLLAR}2 ~ /\\,${AX_DOLLAR}/ ) + { + ver = substr( ${AX_DOLLAR}2, 0, length( ${AX_DOLLAR}2 ) - 1 ); + tail=\",\"; + } + else + ver = ${AX_DOLLAR}2; + + n = split( ver, ver_array, \".\" ); + + while( change > n ) + ver_array[ ++n ] = 0; + + ver_array[ change ]++; + + while( ++change <= n ) + ver_array[ change ] = 0; + + ${AX_DOLLAR}2 = \"\"; + for( i = 1; i < n; ++i ) + ${AX_DOLLAR}2 = ${AX_DOLLAR}2 ver_array[ i ] \".\"; + ${AX_DOLLAR}2 = ${AX_DOLLAR}2 ver_array[ n ]; + if( tail ) + ${AX_DOLLAR}2 = ${AX_DOLLAR}2 tail; +} + +{ print ${AX_DOLLAR}0; } + +]]) +fi +AM_CONDITIONAL([ax_cvs_enabled],[test "x$AX_USING_CVS" != "xno"]) +AX_ADD_AM_MACRO_STATIC([ +if ax_cvs_enabled +update: + @cd \"${AX_DOLLAR}(srcdir)\" && \$(CVS) -z9 update + +cvsalways: + +${AX_DOLLAR}(top_builddir)/commitlog: cvsalways + @(CURR=\`pwd\`; cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) -z9 diff -u --brief 2>&1 | \\ + \$(GAWK) \\ + \'/^Index/ { print \"\\\\t* ./\" ${AX_DOLLAR}${AX_DOLLAR}2; } \\ + /^cvs diff: .* was removed/ { print \"\\\\t* ./\" ${AX_DOLLAR}${AX_DOLLAR}3 \" (removed)\"; } \\ + /^cvs diff: .* is a new entry/ { print \"\\\\t* ./\" ${AX_DOLLAR}${AX_DOLLAR}3 \" (added)\"; }\' \\ + > \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog.tmp\") + @if test -s commitlog.tmp; then \\ + echo \"\" >> commitlog.tmp; \\ + if test -f ${AX_DOLLAR}(top_builddir)/commitlog; then \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog >> commitlog.tmp; \\ + fi; \\ + echo \"/* -*-change-log-*- */\" > ${AX_DOLLAR}(top_builddir)/commitlog; \\ + DATE=\`date +\"%%Y-%%m-%%d\"\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}DATE ${USERNAME} <${USEREMAIL}>\" >> ${AX_DOLLAR}(top_builddir)/commitlog; \\ + echo \"\" >> ${AX_DOLLAR}(top_builddir)/commitlog; \\ + cat commitlog.tmp >> ${AX_DOLLAR}(top_builddir)/commitlog; \\ + rm -f commitlog.tmp; \\ + \$(CVSEDITOR) ${AX_DOLLAR}(top_builddir)/commitlog; \\ + \$(GAWK) \'BEGIN { blank=0; } \\ + /\\\\/\\\\* -\\\\*-change-log-\\\\*- \\\\*\\\\// { getline; } \\ + /^[[:blank:]]*\$\$/ { if( !blank ) { blank = 1; print; } } \\ + /[[:alnum:]]/ { print; blank = 0; } \\ + END{ if( !blank ) print \"\"; }\' \\ + ${AX_DOLLAR}(top_builddir)/commitlog > commitlog.tmp; \\ + mv commitlog.tmp ${AX_DOLLAR}(top_builddir)/commitlog; \\ + else \\ + echo \"no changes found\";\\ + fi + +commit: update ${AX_DOLLAR}(top_builddir)/commitlog + @if test -f ${AX_DOLLAR}(top_builddir)/commitlog; then \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog \"\$(top_srcdir)/ChangeLog\" > ChangeLog.tmp; \\ + mv ChangeLog.tmp \"\$(top_srcdir)/ChangeLog\"; \\ + CURR=\`(cd \"${AX_DOLLAR}(top_builddir)\"; pwd )\`; \\ + (cd \"\$(top_srcdir)\"; \$(CVS) -z9 commit -F \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog\" ); \\ + rm -f ${AX_DOLLAR}(top_builddir)/commitlog; \\ + fi + +cvs-rm: + @echo \"Removing files from CVS\" + @if test \"x\$(FILES)\" != \"x\"; then \\ + NEWFILES=\"\"; \\ + for FILE in \$(FILES); do \\ + if test -e \"${AX_DOLLAR}${AX_DOLLAR}FILE\"; then \\ + rm -i \"${AX_DOLLAR}${AX_DOLLAR}FILE\"; \\ + fi; \\ + if test ! -e \"${AX_DOLLAR}${AX_DOLLAR}FILE\"; then \\ + if test \"\$(srcdir)\" != \".\"; then \\ + FILE=\`echo \"${AX_DOLLAR}${AX_DOLLAR}FILE\" | \$(SED) -e \'s|^\$(srcdir)|.|\'\`; \\ + fi; \\ + NEWFILES=\"${AX_DOLLAR}${AX_DOLLAR}NEWFILES ${AX_DOLLAR}${AX_DOLLAR}FILE\"; \\ + fi; \\ + done; \\ + if test \"x${AX_DOLLAR}${AX_DOLLAR}NEWFILES\" != \"x\"; then \\ + (cd \"\$(srddir)\"; \$(CVS) remove ${AX_DOLLAR}${AX_DOLLAR}NEWFILES; ); \\ + fi; \\ + else \\ + echo \"You must specify the file(s) you want to remove from cvs by using\"; \\ + echo \"the FILES environment variable. For example:\"; \\ + echo \" make cvs-rm FILES=\'foo bar\'\"; \\ + echo \"\"; \\ + exit 1; \\ + fi + +cvs-add: + @echo \"Adding files to CVS\" + @if test \"x${AX_DOLLAR}(FILES)\" != \"x\"; then \\ + NEWFILES=\"\"; \\ + for FILE in ${AX_DOLLAR}(FILES); do \\ + if test -e \"${AX_DOLLAR}${AX_DOLLAR}FILE\"; then \\ + if test \"${AX_DOLLAR}(srcdir)\" != \".\"; then \\ + FILE=\`echo \"${AX_DOLLAR}${AX_DOLLAR}FILE\" | sed -e \'s|^${AX_DOLLAR}(srcdir)|.|\'\`; \\ + fi; \\ + fi; \\ + NEWFILES=\"${AX_DOLLAR}${AX_DOLLAR}NEWFILES ${AX_DOLLAR}${AX_DOLLAR}FILE\"; \\ + done; \\ + if test \"x${AX_DOLLAR}${AX_DOLLAR}NEWFILES\" != \"x\"; then \\ + cd \"${AX_DOLLAR}(srcdir)\"; \$(CVS) add ${AX_DOLLAR}${AX_DOLLAR}NEWFILES; \\ + fi; \\ + else \\ + echo \"You must specify the file(s) you want to add to cvs by using\"; \\ + echo \"the FILES environment variable. For example:\"; \\ + echo \" make cvs-add FILES=\'foo bar\'\"; \\ + echo \"\"; \\ + exit 1; \\ + fi + +branch-major: + @tag=\"\$(PACKAGE)-${AX_MAJOR_VERSION}\"; \\ + echo \"\"; \\ + echo \"Creating major brach: ${AX_DOLLAR}${AX_DOLLAR}tag\"; \\ + (cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) tag -b \"${AX_DOLLAR}${AX_DOLLAR}tag\"; ); \\ + \$(GAWK) -f ax_cvs_rel.awk -v change=1 \"${AX_DOLLAR}(top_srcdir)/configure.ac\" > configure.tmp; \\ + touch ${AX_DOLLAR}(top_builddir)/commitlog; \\ + DATE=\`date +\"%%Y-%%m-%%d\"\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}DATE \$(USERNAME) <\$(USEREMAIL)>\" > commitlog.tmp ; \\ + echo \"\" >> commitlog.tmp; \\ + echo \" * ./configure.ac\" >> commitlog.tmp; \\ + echo \" Created major branch: ${AX_DOLLAR}${AX_DOLLAR}tag\" >> commitlog.tmp; \\ + echo \" Use:\" >> commitlog.tmp; \\ + echo \" \\\\\`cvs -d\$(ANON_CVSROOT) login\\\\\`\" >> commitlog.tmp; \\ + echo \" \\\\\`cvs -d\$(ANON_CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag \$(PACKAGE)\\\\\`\" >> commitlog.tmp; \\ + echo \" to access the branch\" >> commitlog.tmp; \\ + echo \"\" >> commitlog.tmp; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog >> commitlog.tmp; \\ + mv commitlog.tmp ${AX_DOLLAR}(top_builddir)/commitlog; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog \"${AX_DOLLAR}(top_srcdir)/ChangeLog\" > ChangeLog.tmp; \\ + mv ChangeLog.tmp \"${AX_DOLLAR}(top_srcdir)/ChangeLog\"; \\ + mv configure.tmp \"${AX_DOLLAR}(top_srcdir)/configure.ac\"; \\ + CURR=\`(cd \"${AX_DOLLAR}(top_builddir)\"; pwd )\`; \\ + (cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) -z9 commit -F \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog\"; ); \\ + rm -f ${AX_DOLLAR}(top_builddir)/commitlog; \\ + \$(CVS) -z9 -d${AX_DOLLAR}(CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag -d ${AX_DOLLAR}${AX_DOLLAR}tag \$(PACKAGE); \\ + echo \"The branch is now available in the ${AX_DOLLAR}${AX_DOLLAR}tag directory\"; \\ + echo \"\" + + +branch-minor: + @tag=\"\$(PACKAGE)-${AX_MAJOR_VERSION}_${AX_MINOR_VERSION}\"; \\ + echo \"\"; \\ + echo \"Creating minor brach: ${AX_DOLLAR}${AX_DOLLAR}tag\"; \\ + (cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) tag -b \"${AX_DOLLAR}${AX_DOLLAR}tag\"; ); \\ + \$(GAWK) -f ax_cvs_rel.awk -v change=1 \"${AX_DOLLAR}(top_srcdir)/configure.ac\" > configure.tmp; \\ + touch ${AX_DOLLAR}(top_builddir)/commitlog; \\ + DATE=\`date +\"%%Y-%%m-%%d\"\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}DATE \$(USERNAME) <\$(USEREMAIL)>\" > commitlog.tmp ; \\ + echo \"\" >> commitlog.tmp; \\ + echo \" * ./configure.ac\" >> commitlog.tmp; \\ + echo \" Created minor branch: ${AX_DOLLAR}${AX_DOLLAR}tag\" >> commitlog.tmp; \\ + echo \" Use:\" >> commitlog.tmp; \\ + echo \" \\\\\`cvs -d\$(ANON_CVSROOT) login\\\\\`\" >> commitlog.tmp; \\ + echo \" \\\\\`cvs -d\$(ANON_CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag \$(PACKAGE)\\\\\`\" >> commitlog.tmp; \\ + echo \" to access the branch\" >> commitlog.tmp; \\ + echo \"\" >> commitlog.tmp; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog >> commitlog.tmp; \\ + mv commitlog.tmp ${AX_DOLLAR}(top_builddir)/commitlog; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog \"${AX_DOLLAR}(top_srcdir)/ChangeLog\" > ChangeLog.tmp; \\ + mv ChangeLog.tmp \"${AX_DOLLAR}(top_srcdir)/ChangeLog\"; \\ + mv configure.tmp \"${AX_DOLLAR}(top_srcdir)/configure.ac\"; \\ + CURR=\`(cd \"${AX_DOLLAR}(top_builddir)\"; pwd )\`; \\ + (cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) -z9 commit -F \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog\"; ); \\ + rm -f ${AX_DOLLAR}(top_builddir)/commitlog; \\ + \$(CVS) -z9 -d${AX_DOLLAR}(CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag -d ${AX_DOLLAR}${AX_DOLLAR}tag \$(PACKAGE); \\ + echo \"The branch is now available in the ${AX_DOLLAR}${AX_DOLLAR}tag directory\"; \\ + echo \"\" + +add_rel: + @touch \"${AX_DOLLAR}(top_builddir)/commitlog\" + @DATE=\`date +\"%%Y-%%m-%%d\"\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}DATE \$(USERNAME) <\$(USEREMAIL)>\" > commitlog.tmp + @echo \"\" >> commitlog.tmp + @echo \" * ./configure.ac\" >> commitlog.tmp + @echo \" Released \$(PACKAGE)-\$(VERSION)\" >> commitlog.tmp + @echo \" You can access this release by running:\" >> commitlog.tmp + @echo \" \\\\\`cvs -d\$(ANON_CVSROOT) login\\\\\`\" >> commitlog.tmp + @tag=\"\$(PACKAGE)-${AX_MAJOR_VERSION}_${AX_MINOR_VERSION}_${AX_POINT_VERSION}\"; \\ + echo \" \\\\\`cvs -d\$(ANON_CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag -d \$(PACKAGE)-\$(VERSION) \$(PACKAGE)\\\\\`\" >> commitlog.tmp + @echo \" The release will then be available in the \$(PACKAGE)-\$(VERSION) directory\" >> commitlog.tmp + @echo \"\" >> commitlog.tmp + @cat \"${AX_DOLLAR}(top_builddir)/commitlog\" >> commitlog.tmp + @mv commitlog.tmp \"${AX_DOLLAR}(top_builddir)/commitlog\" + @cat \"${AX_DOLLAR}(top_builddir)/commitlog\" \"\$(top_srcdir)/ChangeLog\" > ChangeLog.tmp + @mv ChangeLog.tmp \"\$(top_srcdir)/ChangeLog\" + @CURR=\`(cd \"${AX_DOLLAR}(top_builddir)\"; pwd )\`; \\ + (cd \"\$(top_srcdir)\"; \$(CVS) -z9 commit -F \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog\"; ) + @rm -f ${AX_DOLLAR}(top_builddir)/commitlog + +do_tag: + @tag=\"\$(PACKAGE)-${AX_MAJOR_VERSION}_${AX_MINOR_VERSION}_${AX_POINT_VERSION}\"; \\ + echo \"tagging release with ${AX_DOLLAR}${AX_DOLLAR}tag\"; \\ + (cd \"\$(top_srcdir)\"; \$(CVS) tag -b \"${AX_DOLLAR}${AX_DOLLAR}tag\"; ); \\ + \$(CVS) -z9 -d\$(CVSROOT) co -r ${AX_DOLLAR}${AX_DOLLAR}tag -d ${AX_DOLLAR}${AX_DOLLAR}tag \$(PACKAGE); \\ + echo \"The release is now available in the ${AX_DOLLAR}${AX_DOLLAR}tag directory\"; \\ + echo \"\" + +inc_rel: + @\$(GAWK) -f ax_cvs_rel.awk -v change=3 \"\$(top_srcdir)/configure.ac\" > configure.tmp; + @mv configure.tmp \"\$(top_srcdir)/configure.ac\" + @touch \"\$(top_builddir)/commitlog\" + @DATE=\`date +\"%%Y-%%m-%%d\"\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}DATE \$(USERNAME) <\$(USEREMAIL)>\" > commitlog.tmp ; \\ + echo \"\" >> commitlog.tmp; \\ + echo \" * ./configure.ac\" >> commitlog.tmp; \\ + echo \" Update version number\" >> commitlog.tmp; \\ + echo \"\" >> commitlog.tmp; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog >> commitlog.tmp; \\ + mv commitlog.tmp ${AX_DOLLAR}(top_builddir)/commitlog; \\ + cat ${AX_DOLLAR}(top_builddir)/commitlog \"${AX_DOLLAR}(top_srcdir)/ChangeLog\" > ChangeLog.tmp; \\ + mv ChangeLog.tmp \"${AX_DOLLAR}(top_srcdir)/ChangeLog\"; \\ + CURR=\`(cd \"${AX_DOLLAR}(top_builddir)\"; pwd )\`; \\ + (cd \"${AX_DOLLAR}(top_srcdir)\"; \$(CVS) -z9 commit -F \"${AX_DOLLAR}${AX_DOLLAR}CURR/commitlog\"; ); \\ + rm -f ${AX_DOLLAR}(top_builddir)/commitlog; + +tag: do_tag inc_rel + +# creates a release for the current version, increments the point +# release number and checkout the release into a new directory +release: update distcheck add_rel tag + +# same as release, but distcheck is not performed before releasing +quick-release: update add_rel tag + +endif # ax_cvs_enabled +]) + +]) diff --git a/m4/autoconf-archive/ax_cxx_bool.m4 b/m4/autoconf-archive/ax_cxx_bool.m4 new file mode 100755 index 0000000000..d12275b518 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_bool.m4 @@ -0,0 +1,45 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_bool.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_BOOL +# +# DESCRIPTION +# +# If the compiler recognizes bool as a separate built-in type, define +# HAVE_BOOL. Note that a typedef is not a separate type since you cannot +# overload a function such that it accepts either the basic type or the +# typedef. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_BOOL], [AX_CXX_BOOL]) +AC_DEFUN([AX_CXX_BOOL], +[dnl + AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type, + ax_cv_cxx_bool, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([int f(int x){return 1;} + int f(char x){return 1;} + int f(bool x){return 1;}], + [bool b = true; return f(b);])], + ax_cv_cxx_bool=yes, ax_cv_cxx_bool=no) + AC_LANG_POP([C++]) + ]) + AS_IF([test "X$ax_cv_cxx_bool" = Xyes], + [AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_compile_stdcxx.m4 b/m4/autoconf-archive/ax_cxx_compile_stdcxx.m4 new file mode 100755 index 0000000000..5032bba809 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_compile_stdcxx.m4 @@ -0,0 +1,982 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) +# or '14' (for the C++14 standard). +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016 Krzesimir Nowak +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AX_REQUIRE_DEFINED([AC_MSG_WARN]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], + [$1], [14], [ax_cxx_compile_alternatives="14 1y"], + [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) + m4_if([$1], [17], [AC_MSG_WARN([C++17 is not yet standardized, so the checks may change in incompatible ways anytime])]) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 +) + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) + + +dnl Tests for new features in C++17 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus <= 201402L + +#error "This is not a C++17 compiler" + +#else + +#if defined(__clang__) + #define REALLY_CLANG +#else + #if defined(__GNUC__) + #define REALLY_GCC + #endif +#endif + +#include +#include +#include + +namespace cxx17 +{ + +#if !defined(REALLY_CLANG) + namespace test_constexpr_lambdas + { + + // TODO: test it with clang++ from git + + constexpr int foo = [](){return 42;}(); + + } +#endif // !defined(REALLY_CLANG) + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + +#if !defined(REALLY_CLANG) + namespace test_template_argument_deduction_for_class_templates + { + + // TODO: test it with clang++ from git + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } +#endif // !defined(REALLY_CLANG) + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + +#if !defined(REALLY_CLANG) + namespace test_structured_bindings + { + + // TODO: test it with clang++ from git + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } +#endif // !defined(REALLY_CLANG) + +#if !defined(REALLY_CLANG) + namespace test_exception_spec_type_system + { + + // TODO: test it with clang++ from git + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } +#endif // !defined(REALLY_CLANG) + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus <= 201402L + +]]) diff --git a/m4/autoconf-archive/ax_cxx_compile_stdcxx_0x.m4 b/m4/autoconf-archive/ax_cxx_compile_stdcxx_0x.m4 new file mode 100755 index 0000000000..1ef17b3982 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_compile_stdcxx_0x.m4 @@ -0,0 +1,111 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_0x.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_0X +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++0x +# standard. +# +# This macro is deprecated and has been superseded by the +# AX_CXX_COMPILE_STDCXX_11 macro which should be used instead. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AU_ALIAS([AC_CXX_COMPILE_STDCXX_0X], [AX_CXX_COMPILE_STDCXX_0X]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_0X], [ + AC_OBSOLETE([$0], [; use AX_CXX_COMPILE_STDCXX_11 instead]) + AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, + ax_cv_cxx_compile_cxx0x_native, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c);],, + ax_cv_cxx_compile_cxx0x_native=yes, ax_cv_cxx_compile_cxx0x_native=no) + AC_LANG_RESTORE + ]) + + AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, + ax_cv_cxx_compile_cxx0x_cxx, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXX="$CXX" + CXX="$CXX -std=c++0x" + AC_TRY_COMPILE([ + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c);],, + ax_cv_cxx_compile_cxx0x_cxx=yes, ax_cv_cxx_compile_cxx0x_cxx=no) + CXX="$ac_save_CXX" + AC_LANG_RESTORE + ]) + + AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, + ax_cv_cxx_compile_cxx0x_gxx, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXX="$CXX" + CXX="$CXX -std=gnu++0x" + AC_TRY_COMPILE([ + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check check_type; + check_type c; + check_type&& cr = static_cast(c);],, + ax_cv_cxx_compile_cxx0x_gxx=yes, ax_cv_cxx_compile_cxx0x_gxx=no) + CXX="$ac_save_CXX" + AC_LANG_RESTORE + ]) + + if test "$ax_cv_cxx_compile_cxx0x_native" = yes || + test "$ax_cv_cxx_compile_cxx0x_cxx" = yes || + test "$ax_cv_cxx_compile_cxx0x_gxx" = yes; then + AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_compile_stdcxx_11.m4 b/m4/autoconf-archive/ax_cxx_compile_stdcxx_11.m4 new file mode 100755 index 0000000000..1733fd85f9 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_compile_stdcxx_11.m4 @@ -0,0 +1,39 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++11 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++11. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 18 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])]) diff --git a/m4/autoconf-archive/ax_cxx_compile_stdcxx_14.m4 b/m4/autoconf-archive/ax_cxx_compile_stdcxx_14.m4 new file mode 100755 index 0000000000..094db0d025 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_compile_stdcxx_14.m4 @@ -0,0 +1,34 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_14.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_14([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++14 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++14. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2015 Moritz Klammler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [AX_CXX_COMPILE_STDCXX([14], [$1], [$2])]) diff --git a/m4/autoconf-archive/ax_cxx_compile_stdcxx_17.m4 b/m4/autoconf-archive/ax_cxx_compile_stdcxx_17.m4 new file mode 100755 index 0000000000..a683417173 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_compile_stdcxx_17.m4 @@ -0,0 +1,35 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_17.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_17([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++17 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++17. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016 Krzesimir Nowak +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_17], [AX_CXX_COMPILE_STDCXX([17], [$1], [$2])]) diff --git a/m4/autoconf-archive/ax_cxx_complex_math_in_namespace_std.m4 b/m4/autoconf-archive/ax_cxx_complex_math_in_namespace_std.m4 new file mode 100755 index 0000000000..344f8889e1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_complex_math_in_namespace_std.m4 @@ -0,0 +1,59 @@ +# ========================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_complex_math_in_namespace_std.html +# ========================================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPLEX_MATH_IN_NAMESPACE_STD +# +# DESCRIPTION +# +# If the C math functions are in the cmath header file and std:: +# namespace, define HAVE_MATH_FN_IN_NAMESPACE_STD. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_COMPLEX_MATH_IN_NAMESPACE_STD], [AX_CXX_COMPLEX_MATH_IN_NAMESPACE_STD]) +AC_DEFUN([AX_CXX_COMPLEX_MATH_IN_NAMESPACE_STD], +[dnl + AC_CACHE_CHECK([whether complex math functions are in std::], + ax_cv_cxx_complex_math_in_namespace_std, + [AC_REQUIRE([AX_CXX_NAMESPACE_STD]) + AS_IF([test "X$ax_cv_cxx_have_std_namespace" = Xyes], + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([ + #include + namespace S { + using namespace std; + complex pow(complex x, complex y) + { + return std::pow(x,y); + } + };], + [dnl + using namespace S; + complex x = 1.0, y = 1.0; S::pow(x,y); + return 0; + ])], + ax_cv_cxx_complex_math_in_namespace_std=yes, + ax_cv_cxx_complex_math_in_namespace_std=no) + AC_LANG_POP([C++]) + ], + [ax_cv_cxx_complex_math_in_namespace_std=no]) + ]) + AS_IF([test "X$ax_cv_cxx_complex_math_in_namespace_std" = Xyes], + [AC_DEFINE(HAVE_COMPLEX_MATH_IN_NAMESPACE_STD,,dnl + [define if complex math functions are in std::])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_const_cast.m4 b/m4/autoconf-archive/ax_cxx_const_cast.m4 new file mode 100755 index 0000000000..67146770e7 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_const_cast.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_const_cast.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_CONST_CAST +# +# DESCRIPTION +# +# If the compiler supports const_cast<>, define HAVE_CONST_CAST. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_CONST_CAST], [AX_CXX_CONST_CAST]) +AC_DEFUN([AX_CXX_CONST_CAST], +[dnl + AC_CACHE_CHECK([whether the compiler supports const_cast<>], + ax_cv_cxx_const_cast, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([], + [int x = 0; + const int& y = x; + int& z = const_cast(y); + return z;])], + ax_cv_cxx_const_cast=yes, + ax_cv_cxx_const_cast=no) + AC_LANG_POP([C++]) + ]) + AS_IF([test "X$ax_cv_cxx_const_cast" = Xyes], + [AC_DEFINE(HAVE_CONST_CAST,,[define if the compiler supports const_cast<>])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_cppflags_std_lang.m4 b/m4/autoconf-archive/ax_cxx_cppflags_std_lang.m4 new file mode 100755 index 0000000000..ce2ac026e8 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_cppflags_std_lang.m4 @@ -0,0 +1,41 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_cppflags_std_lang.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_CPPFLAGS_STD_LANG(CPP-FLAGS) +# +# DESCRIPTION +# +# Append to CPP-FLAGS the set of flags that should be passed to the C++ +# preprocessor in order to enable use of C++ features as defined in the +# ANSI C++ standard (eg. use of standard iostream classes in the `std' +# namespace, etc.). +# +# LICENSE +# +# Copyright (c) 2008 Ludovic Courtes +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([AC_CXX_CPPFLAGS_STD_LANG], [AX_CXX_CPPFLAGS_STD_LANG]) +AC_DEFUN([AX_CXX_CPPFLAGS_STD_LANG], + [AC_LANG_ASSERT([C++]) + AC_REQUIRE([AX_COMPILER_VENDOR]) + case "$ax_cv_cxx_compiler_vendor" in + dec|compaq) + # By default, Compaq CXX has an iostream classes implementation + # that is _not_ in the `std' namespace. + $1="$$1 -D__USE_STD_IOSTREAM=1";; + hp) + # When `configure' looks for a C++ header (eg. ) it invokes + # `aCC -E $CPPFLAGS'. However, including standard C++ headers like + # fails if `-AA' is not supplied. + $1="$$1 -AA";; + esac]) diff --git a/m4/autoconf-archive/ax_cxx_cxxflags_std_lang.m4 b/m4/autoconf-archive/ax_cxx_cxxflags_std_lang.m4 new file mode 100755 index 0000000000..d430f7187d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_cxxflags_std_lang.m4 @@ -0,0 +1,36 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_cxxflags_std_lang.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_CXXFLAGS_STD_LANG(CXX-FLAGS) +# +# DESCRIPTION +# +# Append to variable CXX-FLAGS the set of compile-time flags that should +# be passed to the C++ compiler in order to enable use of C++ features as +# defined in the ANSI C++ standard (eg. use of standard iostream classes +# in the `std' namespace, etc.). Note that if you use GNU Libtool you may +# need to prefix each of those flags with `-Xcompiler' so that Libtool +# doesn't discard them (see Libtool's manual and `AC_LIBTOOLIZE_CFLAGS'). +# +# LICENSE +# +# Copyright (c) 2008 Ludovic Courtes +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_CXXFLAGS_STD_LANG], [AX_CXX_CXXFLAGS_STD_LANG]) +AC_DEFUN([AX_CXX_CXXFLAGS_STD_LANG], + [AC_LANG_ASSERT([C++]) + AC_REQUIRE([AX_COMPILER_VENDOR]) + case "$ax_cv_cxx_compiler_vendor" in + sgi) $1="$$1 -LANG:std -exceptions";; + hp) $1="$$1 -AA";; + esac]) diff --git a/m4/autoconf-archive/ax_cxx_default_template_parameters.m4 b/m4/autoconf-archive/ax_cxx_default_template_parameters.m4 new file mode 100755 index 0000000000..e52dd17efe --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_default_template_parameters.m4 @@ -0,0 +1,52 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_default_template_parameters.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_CXX_DEFAULT_TEMPLATE_PARAMETERS +# +# DESCRIPTION +# +# If the compiler supports default template parameters, define +# HAVE_DEFAULT_TEMPLATE_PARAMETERS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_DEFAULT_TEMPLATE_PARAMETERS], [AX_CXX_DEFAULT_TEMPLATE_PARAMETERS]) +AC_DEFUN([AX_CXX_DEFAULT_TEMPLATE_PARAMETERS], +[dnl + AC_REQUIRE([AX_CXX_TEMPLATES]) + AC_CACHE_CHECK([whether the compiler supports default template parameters], + [ax_cv_cxx_default_template_parameters], + [dnl + AS_IF([test "X$ax_cv_cxx_templates" = "Xyes"], + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([ + template class A { + public: int f() {return 0;} + }; + ], + [A a; return a.f();])], + ax_cv_cxx_default_template_parameters=yes, + ax_cv_cxx_default_template_parameters=no) + AC_LANG_POP([C++]) + ], + [ax_cv_cxx_default_template_parameters=no]) + ]) + AS_IF([test "X$ax_cv_cxx_default_template_parameters" = "Xyes"], + [AC_DEFINE(HAVE_DEFAULT_TEMPLATE_PARAMETERS,, + [define if the compiler supports default template parameters])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_delete_method.m4 b/m4/autoconf-archive/ax_cxx_delete_method.m4 new file mode 100755 index 0000000000..3eec4df650 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_delete_method.m4 @@ -0,0 +1,78 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_delete_method.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_DELETE_METHOD +# +# DESCRIPTION +# +# Check whether the C++11 '= delete' syntax, for suppressing undesired +# implicit methods, is supported. If it is, the macro DELETE_METHOD is +# defined to '= delete'; otherwise it is defined to nothing. Thus, you +# can write +# +# class foo { +# ... +# private: +# foo(foo const&) DELETE_METHOD; +# }; +# +# to delete the 'foo' copy constructor or fall back to the idiom of a +# private undefined method if the compiler doesn't support this. +# +# Does not test '= delete' on a template specialization. Does not ensure +# that the compiler is in C++11 mode. +# +# LICENSE +# +# Copyright (c) 2012 Zack Weinberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_CXX_DELETE_METHOD], [dnl + AC_LANG_ASSERT([C++]) + # This compilation should succeed... + AC_CACHE_CHECK(whether $CXX accepts method deletion, + ax_cv_cxx_delete_method_syntax, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + struct foo { + foo(double); + foo(int) = delete; + }; + extern void t(foo const&); + void tt(double n) { t(n); } + ]])], + [ax_cv_cxx_delete_method_syntax=yes], + [ax_cv_cxx_delete_method_syntax=no])]) + # ... and this one should fail. + AC_CACHE_CHECK(whether $CXX enforces method deletion, + ax_cv_cxx_delete_method_enforced, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + struct foo { + foo(double); + foo(int) = delete; + }; + extern void t(foo const&); + void tt(int n) { t(n); } + ]])], + [ax_cv_cxx_delete_method_enforced=no], + [ax_cv_cxx_delete_method_enforced=yes])]) + if test $ax_cv_cxx_delete_method_syntax = yes && + test $ax_cv_cxx_delete_method_enforced = yes + then + AC_DEFINE([DELETE_METHOD], [= delete], + [Define as `= delete' if your compiler supports C++11 method + deletion, as nothing otherwise.]) + else + AC_DEFINE([DELETE_METHOD], [], + [Define as `= delete' if your compiler supports C++11 method + deletion, as nothing otherwise.]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_dtor_after_atexit.m4 b/m4/autoconf-archive/ax_cxx_dtor_after_atexit.m4 new file mode 100755 index 0000000000..3346e11568 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_dtor_after_atexit.m4 @@ -0,0 +1,73 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_dtor_after_atexit.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_DTOR_AFTER_ATEXIT +# +# DESCRIPTION +# +# If the C++ compiler calls global destructors after atexit functions, +# define HAVE_DTOR_AFTER_ATEXIT. +# +# Conformant behavior is to have global destructors after atexit +# +# Per Paragraph 3.6.3/1 of the C++11 Standard: +# +# Destructors (12.4) for initialized objects [..] with static storage +# duration are called as a result of returning from main and as a result +# of calling std::exit (18.5). +# +# And per Paragraph 3.6.3/3: +# +# If the completion of the initialization of an object with static storage +# duration is sequenced before a call to std::atexit [..], the call to the +# function passed to std::atexit is sequenced before the call to the +# destructor for the object. +# +# WARNING: If cross-compiling, the test cannot be performed, the default +# action is to define HAVE_DTOR_AFTER_ATEXIT. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_CXX_DTOR_AFTER_ATEXIT], [AX_CXX_DTOR_AFTER_ATEXIT]) +AC_DEFUN([AX_CXX_DTOR_AFTER_ATEXIT], +[dnl + AC_CACHE_CHECK(whether the compiler calls global destructors after functions registered through atexit, + [ax_cv_cxx_dtor_after_atexit], + [AC_LANG_PUSH([C++]) + AC_RUN_IFELSE([ + AC_LANG_PROGRAM(dnl + [ + #include + #include + + static int dtor_called = 0; + class A { public : ~A () { dtor_called = 1; } }; + static A a; + + void f() { _exit(dtor_called); }], + [ + atexit (f); + return 0; + ])], + ax_cv_cxx_dtor_after_atexit=yes, + ax_cv_cxx_dtor_after_atexit=no, + ax_cv_cxx_dtor_after_atexit=yes) + AC_LANG_POP([C++]) + ]) + AS_IF([test "X$ax_cv_cxx_dtor_after_atexit" = Xyes], + [AC_DEFINE(HAVE_DTOR_AFTER_ATEXIT,, + [define if the compiler calls global destructors after functions registered through atexit])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_dynamic_cast.m4 b/m4/autoconf-archive/ax_cxx_dynamic_cast.m4 new file mode 100755 index 0000000000..86c0c82298 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_dynamic_cast.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_dynamic_cast.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_DYNAMIC_CAST +# +# DESCRIPTION +# +# If the compiler supports dynamic_cast<>, define HAVE_DYNAMIC_CAST. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_DYNAMIC_CAST], [AX_CXX_DYNAMIC_CAST]) +AC_DEFUN([AX_CXX_DYNAMIC_CAST], +[AC_CACHE_CHECK(whether the compiler supports dynamic_cast<>, +ax_cv_cxx_dynamic_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} };],[ +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1;], + ax_cv_cxx_dynamic_cast=yes, ax_cv_cxx_dynamic_cast=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_dynamic_cast" = yes; then + AC_DEFINE(HAVE_DYNAMIC_CAST,,[define if the compiler supports dynamic_cast<>]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_enum_computations.m4 b/m4/autoconf-archive/ax_cxx_enum_computations.m4 new file mode 100755 index 0000000000..c3f55cd56a --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_enum_computations.m4 @@ -0,0 +1,51 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_enum_computations.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_ENUM_COMPUTATIONS +# +# DESCRIPTION +# +# If the compiler handle computations inside an enum, define +# HAVE_ENUM_COMPUTATIONS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_ENUM_COMPUTATIONS], [AX_CXX_ENUM_COMPUTATIONS]) +AC_DEFUN([AX_CXX_ENUM_COMPUTATIONS], +[AC_CACHE_CHECK(whether the compiler handle computations inside an enum, +ax_cv_cxx_enum_computations, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +struct A { enum { a = 5, b = 7, c = 2 }; }; +struct B { enum { a = 1, b = 6, c = 9 }; }; +template struct Z +{ enum { a = (T1::a > T2::a) ? T1::a : T2::b, + b = T1::b + T2::b, + c = (T1::c * T2::c + T2::a + T1::a) + }; +};],[ +return (((int)Z::a == 5) + && ((int)Z::b == 13) + && ((int)Z::c == 24)) ? 0 : 1;], + ax_cv_cxx_enum_computations=yes, ax_cv_cxx_enum_computations=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_enum_computations" = yes; then + AC_DEFINE(HAVE_ENUM_COMPUTATIONS,, + [define if the compiler handle computations inside an enum]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_enum_computations_with_cast.m4 b/m4/autoconf-archive/ax_cxx_enum_computations_with_cast.m4 new file mode 100755 index 0000000000..d76f215fee --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_enum_computations_with_cast.m4 @@ -0,0 +1,51 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_enum_computations_with_cast.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_CXX_ENUM_COMPUTATIONS_WITH_CAST +# +# DESCRIPTION +# +# If the compiler handle (int) casts in enum computations, define +# HAVE_ENUM_COMPUTATIONS_WITH_CAST. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_ENUM_COMPUTATIONS_WITH_CAST], [AX_CXX_ENUM_COMPUTATIONS_WITH_CAST]) +AC_DEFUN([AX_CXX_ENUM_COMPUTATIONS_WITH_CAST], +[AC_CACHE_CHECK(whether the compiler handles (int) casts in enum computations, +ax_cv_cxx_enum_computations_with_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +struct A { enum { a = 5, b = 7, c = 2 }; }; +struct B { enum { a = 1, b = 6, c = 9 }; }; +template struct Z +{ enum { a = ((int)T1::a > (int)T2::a) ? (int)T1::a : (int)T2::b, + b = (int)T1::b + (int)T2::b, + c = ((int)T1::c * (int)T2::c + (int)T2::a + (int)T1::a) + }; +};],[ +return (((int)Z::a == 5) + && ((int)Z::b == 13) + && ((int)Z::c == 24)) ? 0 : 1;], + ax_cv_cxx_enum_computations_with_cast=yes, ax_cv_cxx_enum_computations_with_cast=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_enum_computations_with_cast" = yes; then + AC_DEFINE(HAVE_ENUM_COMPUTATIONS_WITH_CAST,, + [define if the compiler handles (int) casts in enum computations]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_erase_iterator_type.m4 b/m4/autoconf-archive/ax_cxx_erase_iterator_type.m4 new file mode 100755 index 0000000000..1440f44084 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_erase_iterator_type.m4 @@ -0,0 +1,72 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_erase_iterator_type.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_ERASE_ITERATOR_TYPE +# +# DESCRIPTION +# +# If the compiler supports define erase with constant iterator or with +# classical iterator. +# +# Define autoconfigured_erase_iterator to const_iterator if supported and +# iterator if not supported. +# +# Define HAVE_ERASE_CONSTANT_ITERATOR if supported +# +# LICENSE +# +# Copyright (c) 2015 Bastien ROUCARIES +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_ERASE_ITERATOR_TYPE], +[dnl + AC_CACHE_CHECK([the type of iterator inside erase function], + ax_cv_cxx_erase_iterator_type, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([ + #include + + typedef std::vector intvector; + + struct myvector { + myvector() { v.push_back(1); } + typedef intvector::const_iterator const_iterator; + typedef intvector::iterator iterator; + iterator erase (const_iterator position) + { return v.erase(position); }; + iterator erase (const_iterator first, const_iterator last) + { return v.erase(first,last); }; + intvector v; + }; + ], + [myvector v; + v.erase(v.v.begin(),v.v.end()); + return 1; + ])], + ax_cv_cxx_erase_iterator_type="const_iterator", + ax_cv_cxx_erase_iterator_type="iterator") + AC_LANG_POP([C++]) + ]) + AS_IF([test "X$ax_cv_cxx_erase_iterator_type" = Xconst_iterator], + [AC_DEFINE(HAVE_ERASE_CONSTANT_ITERATOR,,[define if the compiler supports iterator erase(const_iterator position)])]) + AH_VERBATIM([autoconfigured_erase_iterator], + [/* Define to the keyword(s) used to specify the type of the + erase iterator. Define to const_iterator if constant + or iterator if not constant. */ + #undef autoconfigured_erase_iterator + ]) + AC_DEFINE_UNQUOTED([autoconfigured_erase_iterator], + [$ax_cv_cxx_erase_iterator_type], + [iterator type for erase]) +]) diff --git a/m4/autoconf-archive/ax_cxx_exceptions.m4 b/m4/autoconf-archive/ax_cxx_exceptions.m4 new file mode 100755 index 0000000000..c50b6d8ee9 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_exceptions.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_exceptions.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_EXCEPTIONS +# +# DESCRIPTION +# +# If the C++ compiler supports exceptions handling (try, throw and catch), +# define HAVE_EXCEPTIONS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_EXCEPTIONS], [AX_CXX_EXCEPTIONS]) +AC_DEFUN([AX_CXX_EXCEPTIONS], +[AC_CACHE_CHECK(whether the compiler supports exceptions, +ax_cv_cxx_exceptions, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[try { throw 1; } catch (int i) { return i; }], + ax_cv_cxx_exceptions=yes, ax_cv_cxx_exceptions=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_exceptions" = yes; then + AC_DEFINE(HAVE_EXCEPTIONS,,[define if the compiler supports exceptions]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_explicit.m4 b/m4/autoconf-archive/ax_cxx_explicit.m4 new file mode 100755 index 0000000000..e75153d7f1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_explicit.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_explicit.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_EXPLICIT +# +# DESCRIPTION +# +# If the compiler can be asked to prevent using implicitly one argument +# constructors as converting constructors with the explicit keyword, +# define HAVE_EXPLICIT. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_EXPLICIT], [AX_CXX_EXPLICIT]) +AC_DEFUN([AX_CXX_EXPLICIT], +[AC_CACHE_CHECK(whether the compiler supports the explicit keyword, +ax_cv_cxx_explicit, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([class A{public:explicit A(double){}};], +[double c = 5.0;A x(c);return 0;], + ax_cv_cxx_explicit=yes, ax_cv_cxx_explicit=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_explicit" = yes; then + AC_DEFINE(HAVE_EXPLICIT,,[define if the compiler supports the explicit keyword]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_explicit_instantiations.m4 b/m4/autoconf-archive/ax_cxx_explicit_instantiations.m4 new file mode 100755 index 0000000000..5e332a17d8 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_explicit_instantiations.m4 @@ -0,0 +1,40 @@ +# =================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_explicit_instantiations.html +# =================================================================================== +# +# SYNOPSIS +# +# AX_CXX_EXPLICIT_INSTANTIATIONS +# +# DESCRIPTION +# +# If the C++ compiler supports explicit instantiations syntax, define +# HAVE_INSTANTIATIONS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_CXX_EXPLICIT_INSTANTIATIONS], [AX_CXX_EXPLICIT_INSTANTIATIONS]) +AC_DEFUN([AX_CXX_EXPLICIT_INSTANTIATIONS], +[AC_CACHE_CHECK(whether the compiler supports explicit instantiations, +ax_cv_cxx_explinst, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([template class A { T t; }; template class A;], + [], ax_cv_cxx_explinst=yes, ax_cv_cxx_explinst=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_explinst" = yes; then + AC_DEFINE(HAVE_INSTANTIATIONS,, + [define if the compiler supports explicit instantiations]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_explicit_template_function_qualification.m4 b/m4/autoconf-archive/ax_cxx_explicit_template_function_qualification.m4 new file mode 100755 index 0000000000..8d03522c66 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_explicit_template_function_qualification.m4 @@ -0,0 +1,43 @@ +# ==================================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_explicit_template_function_qualification.html +# ==================================================================================================== +# +# SYNOPSIS +# +# AX_CXX_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION +# +# DESCRIPTION +# +# If the compiler supports explicit template function qualification, +# define HAVE_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION], [AX_CXX_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION]) +AC_DEFUN([AX_CXX_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION], +[AC_CACHE_CHECK(whether the compiler supports explicit template function qualification, +ax_cv_cxx_explicit_template_function_qualification, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A { public : A() {} }; +template A to (const A&) { return A(); } +],[A x; A y = to(x); return 0;], + ax_cv_cxx_explicit_template_function_qualification=yes, ax_cv_cxx_explicit_template_function_qualification=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_explicit_template_function_qualification" = yes; then + AC_DEFINE(HAVE_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION,, + [define if the compiler supports explicit template function qualification]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_extern_template.m4 b/m4/autoconf-archive/ax_cxx_extern_template.m4 new file mode 100755 index 0000000000..5d031bf228 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_extern_template.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_extern_template.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_EXTERN_TEMPLATE +# +# DESCRIPTION +# +# Test whether the C++ compiler supports "extern template". +# +# LICENSE +# +# Copyright (c) 2008 Patrick Mauritz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_EXTERN_TEMPLATE], [AX_CXX_EXTERN_TEMPLATE]) +AC_DEFUN([AX_CXX_EXTERN_TEMPLATE],[ +AC_CACHE_CHECK(whether the compiler supports extern template, +ax_cv_cxx_extern_template, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([template void foo(T); extern template void foo(int);], + [], + ax_cv_cxx_extern_template=yes, ax_cv_cxx_extern_template=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_extern_template" = yes; then + AC_DEFINE(HAVE_EXTERN_TEMPLATE,,[define if the compiler supports extern template]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_full_specialization_syntax.m4 b/m4/autoconf-archive/ax_cxx_full_specialization_syntax.m4 new file mode 100755 index 0000000000..3fff48a855 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_full_specialization_syntax.m4 @@ -0,0 +1,43 @@ +# ====================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_full_specialization_syntax.html +# ====================================================================================== +# +# SYNOPSIS +# +# AX_CXX_FULL_SPECIALIZATION_SYNTAX +# +# DESCRIPTION +# +# If the compiler recognizes the full specialization syntax, define +# HAVE_FULL_SPECIALIZATION_SYNTAX. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_FULL_SPECIALIZATION_SYNTAX], [AX_CXX_FULL_SPECIALIZATION_SYNTAX]) +AC_DEFUN([AX_CXX_FULL_SPECIALIZATION_SYNTAX], +[AC_CACHE_CHECK(whether the compiler recognizes the full specialization syntax, +ax_cv_cxx_full_specialization_syntax, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A { public : int f () const { return 1; } }; +template<> class A { public: int f () const { return 0; } };],[ +A a; return a.f();], + ax_cv_cxx_full_specialization_syntax=yes, ax_cv_cxx_full_specialization_syntax=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_full_specialization_syntax" = yes; then + AC_DEFINE(HAVE_FULL_SPECIALIZATION_SYNTAX,, + [define if the compiler recognizes the full specialization syntax]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_function_nontype_parameters.m4 b/m4/autoconf-archive/ax_cxx_function_nontype_parameters.m4 new file mode 100755 index 0000000000..38faef202f --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_function_nontype_parameters.m4 @@ -0,0 +1,43 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_function_nontype_parameters.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_CXX_FUNCTION_NONTYPE_PARAMETERS +# +# DESCRIPTION +# +# If the compiler supports function templates with non-type parameters, +# define HAVE_FUNCTION_NONTYPE_PARAMETERS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_FUNCTION_NONTYPE_PARAMETERS], [AX_CXX_FUNCTION_NONTYPE_PARAMETERS]) +AC_DEFUN([AX_CXX_FUNCTION_NONTYPE_PARAMETERS], +[AC_CACHE_CHECK(whether the compiler supports function templates with non-type parameters, +ax_cv_cxx_function_nontype_parameters, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A {}; +template int f(const A& x) { return 0; } +],[A z; return f(z);], + ax_cv_cxx_function_nontype_parameters=yes, ax_cv_cxx_function_nontype_parameters=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_function_nontype_parameters" = yes; then + AC_DEFINE(HAVE_FUNCTION_NONTYPE_PARAMETERS,, + [define if the compiler supports function templates with non-type parameters]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_function_try_blocks.m4 b/m4/autoconf-archive/ax_cxx_function_try_blocks.m4 new file mode 100755 index 0000000000..4809a2cce1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_function_try_blocks.m4 @@ -0,0 +1,66 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_function_try_blocks.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_FUNCTION_TRY_BLOCKS +# +# DESCRIPTION +# +# If the C++ compiler supports function try blocks, define +# `HAVE_FUNCTION_TRY_BLOCKS'. +# +# LICENSE +# +# Copyright (c) 2008 Matthew D. Langston +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AU_ALIAS([MDL_CXX_FUNCTION_TRY_BLOCKS], [AX_CXX_FUNCTION_TRY_BLOCKS]) +AC_DEFUN([AX_CXX_FUNCTION_TRY_BLOCKS], +[ +AC_REQUIRE([AC_PROG_CXX]) +changequote(,)dnl +AC_MSG_CHECKING(whether ${CXX} supports function try blocks) +changequote([,])dnl +AC_CACHE_VAL(ax_cv_have_function_try_blocks, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([void foo() try{} catch( ... ){}], +[foo();], +ax_cv_have_function_try_blocks=yes, +ax_cv_have_function_try_blocks=no) +AC_LANG_RESTORE +]) +AC_MSG_RESULT($ax_cv_have_function_try_blocks) +if test "$ax_cv_have_function_try_blocks" = yes; then +AC_DEFINE(HAVE_FUNCTION_TRY_BLOCKS) +fi]) diff --git a/m4/autoconf-archive/ax_cxx_gcc_abi_demangle.m4 b/m4/autoconf-archive/ax_cxx_gcc_abi_demangle.m4 new file mode 100755 index 0000000000..fff997bd08 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_gcc_abi_demangle.m4 @@ -0,0 +1,57 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_gcc_abi_demangle.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_GCC_ABI_DEMANGLE +# +# DESCRIPTION +# +# If the compiler supports GCC C++ ABI name demangling (has header +# cxxabi.h and abi::__cxa_demangle() function), define +# HAVE_GCC_ABI_DEMANGLE +# +# Adapted from AX_CXX_RTTI by Luc Maisonobe +# +# LICENSE +# +# Copyright (c) 2008 Neil Ferguson +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_CXX_GCC_ABI_DEMANGLE], +[AC_CACHE_CHECK(whether the compiler supports GCC C++ ABI name demangling, +ax_cv_cxx_gcc_abi_demangle, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#include + +template +class A {}; +],[A instance; +int status = 0; +char* c_name = 0; + +c_name = abi::__cxa_demangle(typeid(instance).name(), 0, 0, &status); + +std::string name(c_name); +free(c_name); + +return name == "A"; +], + ax_cv_cxx_gcc_abi_demangle=yes, ax_cv_cxx_gcc_abi_demangle=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_gcc_abi_demangle" = yes; then + AC_DEFINE(HAVE_GCC_ABI_DEMANGLE,1, + [define if the compiler supports GCC C++ ABI name demangling]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_gnucxx_hashmap.m4 b/m4/autoconf-archive/ax_cxx_gnucxx_hashmap.m4 new file mode 100755 index 0000000000..5c6cd5153d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_gnucxx_hashmap.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_gnucxx_hashmap.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_GNUCXX_HASHMAP +# +# DESCRIPTION +# +# Test for the presence of GCC's hashmap STL extension. +# +# LICENSE +# +# Copyright (c) 2008 Patrick Mauritz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_GNUCXX_HASHMAP], [AX_CXX_GNUCXX_HASHMAP]) +AC_DEFUN([AX_CXX_GNUCXX_HASHMAP],[ +AC_CACHE_CHECK(whether the compiler supports __gnu_cxx::hash_map, +ax_cv_cxx_gnucxx_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using __gnu_cxx::hash_map;], + [], + ax_cv_cxx_gnucxx_hashmap=yes, ax_cv_cxx_gnucxx_hashmap=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_gnucxx_hashmap" = yes; then + AC_DEFINE(HAVE_GNUCXX_HASHMAP,,[define if the compiler supports __gnu_cxx::hash_map]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_bad_function_call.m4 b/m4/autoconf-archive/ax_cxx_have_bad_function_call.m4 new file mode 100755 index 0000000000..4b536410d5 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_bad_function_call.m4 @@ -0,0 +1,51 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_bad_function_call.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BAD_FUNCTION_CALL() +# +# DESCRIPTION +# +# This macro checks if std::bad_function_call, added in C++11, is defined +# in the header. +# +# If it is, define the ax_cv_cxx_have_bad_function_call environment +# variable to "yes" and define HAVE_CXX_BAD_FUNCTION_CALL. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_BAD_FUNCTION_CALL], + [AC_CACHE_CHECK( + [for std::bad_function_call in functional], + ax_cv_cxx_have_bad_function_call, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::bad_function_call;] + ], + [] + )], + [ax_cv_cxx_have_bad_function_call=yes], + [ax_cv_cxx_have_bad_function_call=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bad_function_call" = "xyes" + then + AC_DEFINE(HAVE_CXX_BAD_FUNCTION_CALL, + 1, + [Define if functional defines the std::bad_function_call class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_bind.m4 b/m4/autoconf-archive/ax_cxx_have_bind.m4 new file mode 100755 index 0000000000..c43b317a72 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_bind.m4 @@ -0,0 +1,55 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_bind.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BIND() +# +# DESCRIPTION +# +# This macro checks if std::bind, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_bind environment variable to "yes" +# and define HAVE_CXX_BIND. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_BIND], + [AC_CACHE_CHECK( + [for std::bind in functional], + ax_cv_cxx_have_bind, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using namespace std;] + [int fn(int x, int y) { return x + y; }] + ], + [ + [auto bound_fn = bind(fn,1,2);] + [bound_fn();] + ] + )], + [ax_cv_cxx_have_bind=yes], + [ax_cv_cxx_have_bind=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bind" = "xyes" + then + AC_DEFINE(HAVE_CXX_BIND, + 1, + [Define if functional defines the std::bind class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_bit_and.m4 b/m4/autoconf-archive/ax_cxx_have_bit_and.m4 new file mode 100755 index 0000000000..083fb0ee0f --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_bit_and.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_bit_and.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BIT_AND() +# +# DESCRIPTION +# +# This macro checks if std::bit_and, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_bit_and environment variable to +# "yes" and define HAVE_CXX_BIT_AND. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_BIT_AND], + [AC_CACHE_CHECK( + [for std::bit_and in functional], + ax_cv_cxx_have_bit_and, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::bit_and;] + ], + [] + )], + [ax_cv_cxx_have_bit_and=yes], + [ax_cv_cxx_have_bit_and=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bit_and" = "xyes" + then + AC_DEFINE(HAVE_CXX_BIT_AND, + 1, + [Define if functional defines the std::bit_and class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_bit_or.m4 b/m4/autoconf-archive/ax_cxx_have_bit_or.m4 new file mode 100755 index 0000000000..0ebe687e7d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_bit_or.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_bit_or.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BIT_OR() +# +# DESCRIPTION +# +# This macro checks if std::bit_or, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_bit_or environment variable to "yes" +# and define HAVE_CXX_BIT_OR. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_BIT_OR], + [AC_CACHE_CHECK( + [for std::bit_or in functional], + ax_cv_cxx_have_bit_or, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::bit_or;] + ], + [] + )], + [ax_cv_cxx_have_bit_or=yes], + [ax_cv_cxx_have_bit_or=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bit_or" = "xyes" + then + AC_DEFINE(HAVE_CXX_BIT_OR, + 1, + [Define if functional defines the std::bit_or class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_bit_xor.m4 b/m4/autoconf-archive/ax_cxx_have_bit_xor.m4 new file mode 100755 index 0000000000..3fa87cb855 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_bit_xor.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_bit_xor.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BIT_XOR() +# +# DESCRIPTION +# +# This macro checks if std::bit_xor, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_bit_xor environment variable to +# "yes" and define HAVE_CXX_BIT_XOR. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_BIT_XOR], + [AC_CACHE_CHECK( + [for std::bit_xor in functional], + ax_cv_cxx_have_bit_xor, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::bit_xor;] + ], + [] + )], + [ax_cv_cxx_have_bit_xor=yes], + [ax_cv_cxx_have_bit_xor=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bit_xor" = "xyes" + then + AC_DEFINE(HAVE_CXX_BIT_XOR, + 1, + [Define if functional defines the std::bit_xor class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_complex.m4 b/m4/autoconf-archive/ax_cxx_have_complex.m4 new file mode 100755 index 0000000000..1602036f71 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_complex.m4 @@ -0,0 +1,42 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_complex.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_COMPLEX +# +# DESCRIPTION +# +# If the compiler has complex, define HAVE_COMPLEX. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_COMPLEX], [AX_CXX_HAVE_COMPLEX]) +AC_DEFUN([AX_CXX_HAVE_COMPLEX], +[AC_CACHE_CHECK(whether the compiler has complex, +ax_cv_cxx_have_complex, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[complex a; complex b; return 0;], + ax_cv_cxx_have_complex=yes, ax_cv_cxx_have_complex=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_complex" = yes; then + AC_DEFINE(HAVE_COMPLEX,,[define if the compiler has complex]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_complex_math1.m4 b/m4/autoconf-archive/ax_cxx_have_complex_math1.m4 new file mode 100755 index 0000000000..9bfa7da2be --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_complex_math1.m4 @@ -0,0 +1,49 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_complex_math1.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_COMPLEX_MATH1 +# +# DESCRIPTION +# +# If the compiler has the complex math functions cos, cosh, exp, log, pow, +# sin, sinh, sqrt, tan and tanh, define HAVE_COMPLEX_MATH1. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_COMPLEX_MATH1], [AX_CXX_HAVE_COMPLEX_MATH1]) +AC_DEFUN([AX_CXX_HAVE_COMPLEX_MATH1], +[AC_CACHE_CHECK(whether the compiler has complex math functions, +ax_cv_cxx_have_complex_math1, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[complex x(1.0, 1.0), y(1.0, 1.0); +cos(x); cosh(x); exp(x); log(x); pow(x,1); pow(x,double(2.0)); +pow(x, y); pow(double(2.0), x); sin(x); sinh(x); sqrt(x); tan(x); tanh(x); +return 0;], + ax_cv_cxx_have_complex_math1=yes, ax_cv_cxx_have_complex_math1=no) + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_complex_math1" = yes; then + AC_DEFINE(HAVE_COMPLEX_MATH1,,[define if the compiler has complex math functions]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_complex_math2.m4 b/m4/autoconf-archive/ax_cxx_have_complex_math2.m4 new file mode 100755 index 0000000000..5bcdc85a27 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_complex_math2.m4 @@ -0,0 +1,48 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_complex_math2.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_COMPLEX_MATH2 +# +# DESCRIPTION +# +# If the compiler has the complex math functions acos, asin, atan, atan2 +# and log10, define HAVE_COMPLEX_MATH2. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_COMPLEX_MATH2], [AX_CXX_HAVE_COMPLEX_MATH2]) +AC_DEFUN([AX_CXX_HAVE_COMPLEX_MATH2], +[AC_CACHE_CHECK(whether the compiler has more complex math functions, +ax_cv_cxx_have_complex_math2, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[complex x(1.0, 1.0), y(1.0, 1.0); +acos(x); asin(x); atan(x); atan2(x,y); atan2(x, double(3.0)); +atan2(double(3.0), x); log10(x); return 0;], + ax_cv_cxx_have_complex_math2=yes, ax_cv_cxx_have_complex_math2=no) + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_complex_math2" = yes; then + AC_DEFINE(HAVE_COMPLEX_MATH2,,[define if the compiler has more complex math functions]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_cref.m4 b/m4/autoconf-archive/ax_cxx_have_cref.m4 new file mode 100755 index 0000000000..360d871c40 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_cref.m4 @@ -0,0 +1,54 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_cref.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_CREF() +# +# DESCRIPTION +# +# This macro checks if std::cref, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_cref environment variable to "yes" +# and define HAVE_CXX_CREF. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_CREF], + [AC_CACHE_CHECK( + [for std::cref in functional], + ax_cv_cxx_have_cref, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using namespace std;] + ], + [ + [int x(1);] + [auto crefd = cref(x);] + ] + )], + [ax_cv_cxx_have_cref=yes], + [ax_cv_cxx_have_cref=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_cref" = "xyes" + then + AC_DEFINE(HAVE_CXX_CREF, + 1, + [Define if functional defines the std::cref class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_empty_iostream.m4 b/m4/autoconf-archive/ax_cxx_have_empty_iostream.m4 new file mode 100755 index 0000000000..a7d2c7c91e --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_empty_iostream.m4 @@ -0,0 +1,64 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_empty_iostream.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_EMPTY_IOSTREAM +# +# DESCRIPTION +# +# Check if the compiler allow the empty iostream constructor. Ok before +# gcc3, not after. +# +# LICENSE +# +# Copyright (c) 2008 Alain BARBET +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_EMPTY_IOSTREAM], [AX_CXX_HAVE_EMPTY_IOSTREAM]) +AC_DEFUN([AX_CXX_HAVE_EMPTY_IOSTREAM], +[AC_CACHE_CHECK(whether the compiler allow empty iostream, +ax_cv_cxx_have_empty_iostream, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[iostream iostr; return 0;], + ax_cv_cxx_have_empty_iostream=yes, ax_cv_cxx_have_empty_iostream=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_empty_iostream" = yes; then + AC_DEFINE(HAVE_EMPTY_IOSTREAM,,[define if the compiler allow empty +iostream]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_ext_hash_map.m4 b/m4/autoconf-archive/ax_cxx_have_ext_hash_map.m4 new file mode 100755 index 0000000000..4e7eb35cd7 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_ext_hash_map.m4 @@ -0,0 +1,75 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_ext_hash_map.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_HAVE_EXT_HASH_MAP +# +# DESCRIPTION +# +# Check if the compiler has ext/hash_map Eg: +# +# #if defined(HAVE_EXT_HASH_MAP) +# #include +# #else +# #if defined(HAVE_STL) +# #include +# #else +# # Can't find hash_map header ! +# #endif +# #endif +# +# This file is Alain BARBET's AC_CXX_HAVE_EXT_HASH_SET 1.1 with +# s/set/map/g :) +# +# LICENSE +# +# Copyright (c) 2008 Perceval ANICHINI +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_EXT_HASH_MAP], [AX_CXX_HAVE_EXT_HASH_MAP]) +AC_DEFUN([AX_CXX_HAVE_EXT_HASH_MAP], +[AC_CACHE_CHECK(whether the compiler has ext/hash_map, +ax_cv_cxx_have_ext_hash_map, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[hash_map t; return 0;], + ax_cv_cxx_have_ext_hash_map=yes, ax_cv_cxx_have_ext_hash_map=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_ext_hash_map" = yes; then + AC_DEFINE(HAVE_EXT_HASH_MAP,,[define if the compiler has ext/hash_map]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_ext_hash_set.m4 b/m4/autoconf-archive/ax_cxx_have_ext_hash_set.m4 new file mode 100755 index 0000000000..087e694157 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_ext_hash_set.m4 @@ -0,0 +1,72 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_ext_hash_set.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_HAVE_EXT_HASH_SET +# +# DESCRIPTION +# +# Check if the compiler has ext/hash_set Eg: +# +# #if defined(HAVE_EXT_HASH_SET) +# #include +# #else +# #if defined(HAVE_STL) +# #include +# #else +# # Can't find hash_set header ! +# #endif +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Alain BARBET +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_EXT_HASH_SET], [AX_CXX_HAVE_EXT_HASH_SET]) +AC_DEFUN([AX_CXX_HAVE_EXT_HASH_SET], +[AC_CACHE_CHECK(whether the compiler has ext/hash_set, +ax_cv_cxx_have_ext_hash_set, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[hash_set t; return 0;], + ax_cv_cxx_have_ext_hash_set=yes, ax_cv_cxx_have_ext_hash_set=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_ext_hash_set" = yes; then + AC_DEFINE(HAVE_EXT_HASH_SET,,[define if the compiler has ext/hash_set]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_ext_slist.m4 b/m4/autoconf-archive/ax_cxx_have_ext_slist.m4 new file mode 100755 index 0000000000..9ecb6a65bd --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_ext_slist.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_ext_slist.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_EXT_SLIST +# +# DESCRIPTION +# +# Check if the compiler has ext/slist. Eg: +# +# #if defined(HAVE_EXT_SLIST) +# #include +# #else +# #if defined(HAVE_STL) +# #include +# #else +# # Can't find slist header ! +# #endif +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Alain BARBET +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_EXT_SLIST], [AX_CXX_HAVE_EXT_SLIST]) +AC_DEFUN([AX_CXX_HAVE_EXT_SLIST], +[AC_CACHE_CHECK(whether the compiler has ext/slist, +ax_cv_cxx_have_ext_slist, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[slist s; return 0;], + ax_cv_cxx_have_ext_slist=yes, ax_cv_cxx_have_ext_slist=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_ext_slist" = yes; then + AC_DEFINE(HAVE_EXT_SLIST,,[define if the compiler has ext/slist]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_freeze_sstream.m4 b/m4/autoconf-archive/ax_cxx_have_freeze_sstream.m4 new file mode 100755 index 0000000000..3c2fcb28a6 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_freeze_sstream.m4 @@ -0,0 +1,87 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_freeze_sstream.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_FREEZE_SSTREAM +# +# DESCRIPTION +# +# Check if the compiler has (need) freeze method call in stringstream/ +# strstream. Seems that Win32 and STLPort have it, libstdc++ not ... +# +# Eg: +# +# #include +# #ifdef HAVE_NAMESPACES +# using namespace std; +# #endif +# #ifdef HAVE_SSTREAM +# stringstream message; +# #else +# strstream message; +# #endif +# message << "Hello"; +# #ifdef HAVE_FREEZE_SSTREAM +# message.freeze(0); +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Alain BARBET +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_FREEZE_SSTREAM], [AX_CXX_HAVE_FREEZE_SSTREAM]) +AC_DEFUN([AX_CXX_HAVE_FREEZE_SSTREAM], +[AC_CACHE_CHECK(whether the compiler has freeze in stringstream, +ax_cv_cxx_have_freeze_sstream, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_REQUIRE([AX_CXX_HAVE_SSTREAM]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif], +[#ifdef HAVE_SSTREAM +stringstream message; +#else +strstream message; +#endif +message << "Hello"; message.freeze(0); return 0;], + ax_cv_cxx_have_freeze_sstream=yes, ax_cv_cxx_have_freeze_sstream=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_freeze_sstream" = yes; then + AC_DEFINE(HAVE_FREEZE_SSTREAM,,[define if the compiler has freeze in +stringstream]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_function.m4 b/m4/autoconf-archive/ax_cxx_have_function.m4 new file mode 100755 index 0000000000..c0256deac1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_function.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_function.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_FUNCTION() +# +# DESCRIPTION +# +# This macro checks if std::function, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_function environment variable to +# "yes" and define HAVE_CXX_FUNCTION. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_FUNCTION], + [AC_CACHE_CHECK( + [for std::bad_function_call in functional], + ax_cv_cxx_have_function, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::bad_function_call;] + ], + [] + )], + [ax_cv_cxx_have_function=yes], + [ax_cv_cxx_have_function=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_function" = "xyes" + then + AC_DEFINE(HAVE_CXX_FUNCTION, + 1, + [Define if functional defines the std::bad_function_call class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_hash.m4 b/m4/autoconf-archive/ax_cxx_have_hash.m4 new file mode 100755 index 0000000000..0c81597c62 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_hash.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_hash.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_HASH() +# +# DESCRIPTION +# +# This macro checks if std::hash, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_hash environment variable to "yes" +# and define HAVE_CXX_HASH. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_HASH], + [AC_CACHE_CHECK( + [for std::hash in functional], + ax_cv_cxx_have_hash, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [#include ] + [using std::hash;] + ], + [] + )], + [ax_cv_cxx_have_hash=yes], + [ax_cv_cxx_have_hash=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_hash" = "xyes" + then + AC_DEFINE(HAVE_CXX_HASH, + 1, + [Define if functional defines the std::hash class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_ieee_math.m4 b/m4/autoconf-archive/ax_cxx_have_ieee_math.m4 new file mode 100755 index 0000000000..5f3763d128 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_ieee_math.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_ieee_math.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_IEEE_MATH +# +# DESCRIPTION +# +# If the compiler has the double math functions acosh, asinh, atanh, cbrt, +# expm1, erf, erfc, isnan, j0, j1, jn, gamma, lgamma, ilogb, logb, log1p, +# rint, y0, y1, yn, hypot, nextafter, remainder and scalb, define +# HAVE_IEEE_MATH. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_IEEE_MATH], [AX_CXX_HAVE_IEEE_MATH]) +AC_DEFUN([AX_CXX_HAVE_IEEE_MATH], +[AC_CACHE_CHECK(whether the compiler supports IEEE math library, +ax_cv_cxx_have_ieee_math, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([ +#ifndef _ALL_SOURCE + #define _ALL_SOURCE +#endif +#ifndef _XOPEN_SOURCE + #define _XOPEN_SOURCE +#endif +#ifndef _XOPEN_SOURCE_EXTENDED + #define _XOPEN_SOURCE_EXTENDED 1 +#endif +#include ],[double x = 1.0; double y = 1.0; int i = 1; +acosh(x); asinh(x); atanh(x); cbrt(x); expm1(x); erf(x); erfc(x); isnan(x); +j0(x); j1(x); jn(i,x); ilogb(x); logb(x); log1p(x); rint(x); +y0(x); y1(x); yn(i,x); +#ifdef _THREAD_SAFE +gamma_r(x,&i); +lgamma_r(x,&i); +#else +gamma(x); +lgamma(x); +#endif +hypot(x,y); nextafter(x,y); remainder(x,y); scalb(x,y); +return 0;], + ax_cv_cxx_have_ieee_math=yes, ax_cv_cxx_have_ieee_math=no) + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_ieee_math" = yes; then + AC_DEFINE(HAVE_IEEE_MATH,,[define if the compiler supports IEEE math library]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_is_bind_expression.m4 b/m4/autoconf-archive/ax_cxx_have_is_bind_expression.m4 new file mode 100755 index 0000000000..376eda234d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_is_bind_expression.m4 @@ -0,0 +1,51 @@ +# =================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_is_bind_expression.html +# =================================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_IS_BIND_EXPRESSION() +# +# DESCRIPTION +# +# This macro checks if std::is_bind_expression, added in C++11, is defined +# in the header. +# +# If it is, define the ax_cv_cxx_have_is_bind_expression environment +# variable to "yes" and define HAVE_CXX_IS_BIND_EXPRESSION. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_IS_BIND_EXPRESSION], + [AC_CACHE_CHECK( + [for std::is_bind_expression in functional], + ax_cv_cxx_have_is_bind_expression, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::is_bind_expression;] + ], + [] + )], + [ax_cv_cxx_have_is_bind_expression=yes], + [ax_cv_cxx_have_is_bind_expression=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_is_bind_expression" = "xyes" + then + AC_DEFINE(HAVE_CXX_IS_BIND_EXPRESSION, + 1, + [Define if functional defines the std::is_bind_expression class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_is_placeholder.m4 b/m4/autoconf-archive/ax_cxx_have_is_placeholder.m4 new file mode 100755 index 0000000000..b518a43e1c --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_is_placeholder.m4 @@ -0,0 +1,51 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_is_placeholder.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_IS_PLACEHOLDER() +# +# DESCRIPTION +# +# This macro checks if std::is_placeholder, added in C++11, is defined in +# the header. +# +# If it is, define the ax_cv_cxx_have_is_placeholder environment variable +# to "yes" and define HAVE_CXX_IS_PLACEHOLDER. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_IS_PLACEHOLDER], + [AC_CACHE_CHECK( + [for std::is_placeholder in functional], + ax_cv_cxx_have_is_placeholder, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::is_placeholder;] + ], + [] + )], + [ax_cv_cxx_have_is_placeholder=yes], + [ax_cv_cxx_have_is_placeholder=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_is_placeholder" = "xyes" + then + AC_DEFINE(HAVE_CXX_IS_PLACEHOLDER, + 1, + [Define if functional defines the std::is_placeholder class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_koenig_lookup.m4 b/m4/autoconf-archive/ax_cxx_have_koenig_lookup.m4 new file mode 100755 index 0000000000..3a4c767b71 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_koenig_lookup.m4 @@ -0,0 +1,51 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_koenig_lookup.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_KOENIG_LOOKUP +# +# DESCRIPTION +# +# Define CXX_HAVE_KOENIG_LOOKUP if the C++ compiler has argument-dependent +# name lookup (a.k.a. Koenig lookup). +# +# LICENSE +# +# Copyright (c) 2008 Steve M. Robbins +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([MNI_CXX_HAVE_KOENIG_LOOKUP], [AX_CXX_HAVE_KOENIG_LOOKUP]) +AC_DEFUN([AX_CXX_HAVE_KOENIG_LOOKUP], + [AC_CACHE_CHECK(whether the compiler implements Koenig lookup, + ax_cv_cxx_have_koenig_lookup, + [AC_LANG_PUSH(C++) + AC_TRY_COMPILE([ + namespace N1 { + class C {}; + void f1(const C& c) {} + } + + namespace N2 { + void f2() { + N1::C x; + f1(x); // resolves to N1::f1() if we have Koenig lookup, + // otherwise this will fail to compile. + } + } + ],[], + ax_cv_cxx_have_koenig_lookup=yes, + ax_cv_cxx_have_koenig_lookup=no) + AC_LANG_POP]) + if test "$ax_cv_cxx_have_koenig_lookup" = yes; then + AC_DEFINE(CXX_HAVE_KOENIG_LOOKUP,1, + [define to 1 if the compiler implements Koenig lookup]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_long_long_for_iostream.m4 b/m4/autoconf-archive/ax_cxx_have_long_long_for_iostream.m4 new file mode 100755 index 0000000000..2ddb76d158 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_long_long_for_iostream.m4 @@ -0,0 +1,88 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_long_long_for_iostream.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_CXX_HAVE_LONG_LONG_FOR_IOSTREAM +# +# DESCRIPTION +# +# Check if the compiler allow long long for [i|o]stream Seems that OpenBSD +# / gcc-3 don't have it. +# +# Eg: +# +# #include +# #ifdef HAVE_SSTREAM +# #include +# #else +# #include +# #endif +# #ifdef HAVE_NAMESPACES +# using namespace std; +# #endif +# ostream str((streambuf *)0); +# long long lo=1; +# str << +# #ifdef HAVE_LONG_LONG_FOR_IOSTREAM +# (long int) +# #endif +# lo; +# +# LICENSE +# +# Copyright (c) 2008 Alain BARBET +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_CXX_HAVE_LONG_LONG_FOR_IOSTREAM], [AX_CXX_HAVE_LONG_LONG_FOR_IOSTREAM]) +AC_DEFUN([AX_CXX_HAVE_LONG_LONG_FOR_IOSTREAM], +[AC_CACHE_CHECK(whether the compiler allow long long for [i|o]stream, +ax_cv_cxx_have_ll_for_iostream, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_REQUIRE([AX_CXX_HAVE_SSTREAM]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_SSTREAM +#include +#else +#include +#endif +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[ ostream str((streambuf *)0); long long l=1; str << l; return 0;], + ax_cv_cxx_have_ll_for_iostream=yes, ax_cv_cxx_have_ll_for_iostream=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_ll_for_iostream" = yes; then + AC_DEFINE(HAVE_LONG_LONG_FOR_IOSTREAM,,[define if the compiler allow long long for [i|o]stream]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_mem_fn.m4 b/m4/autoconf-archive/ax_cxx_have_mem_fn.m4 new file mode 100755 index 0000000000..0e699d39f9 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_mem_fn.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_mem_fn.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_MEM_FN() +# +# DESCRIPTION +# +# This macro checks if std::mem_fn, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_mem_fn environment variable to "yes" +# and define HAVE_CXX_MEM_FN. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_MEM_FN], + [AC_CACHE_CHECK( + [for std::mem_fn in functional], + ax_cv_cxx_have_mem_fn, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using namespace std;] + [struct st { int x; int fn() { return x; } };] + ], + [ + [st one {1};] + [auto mem_fned = mem_fn(&st::fn);] + [mem_fned(one);] + ] + )], + [ax_cv_cxx_have_mem_fn=yes], + [ax_cv_cxx_have_mem_fn=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_mem_fn" = "xyes" + then + AC_DEFINE(HAVE_CXX_MEM_FN, + 1, + [Define if functional defines the std::mem_fn class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_numeric_limits.m4 b/m4/autoconf-archive/ax_cxx_have_numeric_limits.m4 new file mode 100755 index 0000000000..876f36f3af --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_numeric_limits.m4 @@ -0,0 +1,42 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_numeric_limits.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_NUMERIC_LIMITS +# +# DESCRIPTION +# +# If the compiler has numeric_limits, define HAVE_NUMERIC_LIMITS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_NUMERIC_LIMITS], [AX_CXX_HAVE_NUMERIC_LIMITS]) +AC_DEFUN([AX_CXX_HAVE_NUMERIC_LIMITS], +[AC_CACHE_CHECK(whether the compiler has numeric_limits, +ax_cv_cxx_have_numeric_limits, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[double e = numeric_limits::epsilon(); return 0;], + ax_cv_cxx_have_numeric_limits=yes, ax_cv_cxx_have_numeric_limits=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_numeric_limits" = yes; then + AC_DEFINE(HAVE_NUMERIC_LIMITS,,[define if the compiler has numeric_limits]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_placeholders.m4 b/m4/autoconf-archive/ax_cxx_have_placeholders.m4 new file mode 100755 index 0000000000..a583c27768 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_placeholders.m4 @@ -0,0 +1,56 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_placeholders.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_HAVE_PLACEHOLDERS() +# +# DESCRIPTION +# +# This macro checks if std::placeholders, added in C++11, is defined in +# the header. +# +# If it is, define the ax_cv_cxx_have_placeholders environment variable to +# "yes" and define HAVE_CXX_PLACEHOLDERS. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_CXX_HAVE_PLACEHOLDERS], + [AC_CACHE_CHECK( + [for std::placeholders in functional], + ax_cv_cxx_have_placeholders, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using namespace std;] + [using namespace std::placeholders;] + [int fn(int x, int y) { return x + y; }] + ], + [ + [auto bound_function = bind (fn, 10, _1);] + [bound_function(20);] + ] + )], + [ax_cv_cxx_have_placeholders=yes], + [ax_cv_cxx_have_placeholders=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_placeholders" = "xyes" + then + AC_DEFINE(HAVE_CXX_PLACEHOLDERS, + 1, + [Define if functional defines the std::placeholders namespace.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_ref.m4 b/m4/autoconf-archive/ax_cxx_have_ref.m4 new file mode 100755 index 0000000000..dc6c036791 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_ref.m4 @@ -0,0 +1,55 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_ref.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_REF() +# +# DESCRIPTION +# +# This macro checks if std::ref, added in C++11, is defined in the +# header. +# +# If it is, define the ax_cv_cxx_have_ref environment variable to "yes" +# and define HAVE_CXX_REF. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_REF], + [AC_CACHE_CHECK( + [for std::ref in functional], + ax_cv_cxx_have_ref, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using namespace std;] + ], + [ + [int one(1);] + [auto refed = ref(one);] + [++refed;] + ] + )], + [ax_cv_cxx_have_ref=yes], + [ax_cv_cxx_have_ref=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_ref" = "xyes" + then + AC_DEFINE(HAVE_CXX_REF, + 1, + [Define if functional defines the std::ref class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_reference_wrapper.m4 b/m4/autoconf-archive/ax_cxx_have_reference_wrapper.m4 new file mode 100755 index 0000000000..db3b7dd442 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_reference_wrapper.m4 @@ -0,0 +1,51 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_reference_wrapper.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_REFERENCE_WRAPPER() +# +# DESCRIPTION +# +# This macro checks if std::reference_wrapper, added in C++11, is defined +# in the header. +# +# If it is, define the ax_cv_cxx_have_reference_wrapper environment +# variable to "yes" and define HAVE_CXX_REFERENCE_WRAPPER. +# +# LICENSE +# +# Copyright (c) 2014 Enrico M. Crisostomo +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CXX_HAVE_REFERENCE_WRAPPER], + [AC_CACHE_CHECK( + [for std::reference_wrapper in functional], + ax_cv_cxx_have_reference_wrapper, + [dnl + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include ] + [using std::reference_wrapper;] + ], + [] + )], + [ax_cv_cxx_have_reference_wrapper=yes], + [ax_cv_cxx_have_reference_wrapper=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_reference_wrapper" = "xyes" + then + AC_DEFINE(HAVE_CXX_REFERENCE_WRAPPER, + 1, + [Define if functional defines the std::reference_wrapper class.]) + fi + ]) diff --git a/m4/autoconf-archive/ax_cxx_have_sstream.m4 b/m4/autoconf-archive/ax_cxx_have_sstream.m4 new file mode 100755 index 0000000000..36fd168de9 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_sstream.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_sstream.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_SSTREAM +# +# DESCRIPTION +# +# If the C++ library has a working stringstream, define HAVE_SSTREAM. +# +# LICENSE +# +# Copyright (c) 2008 Ben Stanley +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_SSTREAM], [AX_CXX_HAVE_SSTREAM]) +AC_DEFUN([AX_CXX_HAVE_SSTREAM], +[AC_CACHE_CHECK(whether the compiler has stringstream, +ax_cv_cxx_have_sstream, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[stringstream message; message << "Hello"; return 0;], + ax_cv_cxx_have_sstream=yes, ax_cv_cxx_have_sstream=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_sstream" = yes; then + AC_DEFINE(HAVE_SSTREAM,,[define if the compiler has stringstream]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_std.m4 b/m4/autoconf-archive/ax_cxx_have_std.m4 new file mode 100755 index 0000000000..d8e7f717a3 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_std.m4 @@ -0,0 +1,46 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_std.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_STD +# +# DESCRIPTION +# +# If the compiler supports ISO C++ standard library (i.e., can include the +# files iostream, map, iomanip and cmath), define HAVE_STD. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_STD], [AX_CXX_HAVE_STD]) +AC_DEFUN([AX_CXX_HAVE_STD], +[AC_CACHE_CHECK(whether the compiler supports ISO C++ standard library, +ax_cv_cxx_have_std, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[return 0;], + ax_cv_cxx_have_std=yes, ax_cv_cxx_have_std=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_std" = yes; then + AC_DEFINE(HAVE_STD,,[define if the compiler supports ISO C++ standard library]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_stl.m4 b/m4/autoconf-archive/ax_cxx_have_stl.m4 new file mode 100755 index 0000000000..c78498cf7c --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_stl.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_stl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_STL +# +# DESCRIPTION +# +# If the compiler supports the Standard Template Library, define HAVE_STL. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_STL], [AX_CXX_HAVE_STL]) +AC_DEFUN([AX_CXX_HAVE_STL], +[AC_CACHE_CHECK(whether the compiler supports Standard Template Library, +ax_cv_cxx_have_stl, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0;], + ax_cv_cxx_have_stl=yes, ax_cv_cxx_have_stl=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_stl" = yes; then + AC_DEFINE(HAVE_STL,,[define if the compiler supports Standard Template Library]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_string_push_back.m4 b/m4/autoconf-archive/ax_cxx_have_string_push_back.m4 new file mode 100755 index 0000000000..9dca7f6757 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_string_push_back.m4 @@ -0,0 +1,43 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_string_push_back.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_CXX_HAVE_STRING_PUSH_BACK +# +# DESCRIPTION +# +# If the implementation of the C++ library provides the method +# std::string::push_back (char), define HAVE_STRING_PUSH_BACK. +# +# LICENSE +# +# Copyright (c) 2008 Jan Langer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_STRING_PUSH_BACK], [AX_CXX_HAVE_STRING_PUSH_BACK]) +AC_DEFUN([AX_CXX_HAVE_STRING_PUSH_BACK], +[AC_CACHE_CHECK(whether the compiler has std::string::push_back (char), +ax_cv_cxx_have_string_push_back, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[string message; message.push_back ('a'); return 0;], + ax_cv_cxx_have_string_push_back=yes, ax_cv_cxx_have_string_push_back=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_string_push_back" = yes; then + AC_DEFINE(HAVE_STRING_PUSH_BACK,,[define if the compiler has the method +std::string::push_back (char)]) +fi +])dnl diff --git a/m4/autoconf-archive/ax_cxx_have_system_v_math.m4 b/m4/autoconf-archive/ax_cxx_have_system_v_math.m4 new file mode 100755 index 0000000000..56b3dc0a88 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_system_v_math.m4 @@ -0,0 +1,56 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_system_v_math.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_SYSTEM_V_MATH +# +# DESCRIPTION +# +# If the compiler has the double math functions _class, trunc, itrunc, +# nearest, rsqrt, uitrunc, copysign, drem, finite, and unordered, define +# HAVE_SYSTEM_V_MATH. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_SYSTEM_V_MATH], [AX_CXX_HAVE_SYSTEM_V_MATH]) +AC_DEFUN([AX_CXX_HAVE_SYSTEM_V_MATH], +[AC_CACHE_CHECK(whether the compiler supports System V math library, +ax_cv_cxx_have_system_v_math, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([ +#ifndef _ALL_SOURCE + #define _ALL_SOURCE +#endif +#ifndef _XOPEN_SOURCE + #define _XOPEN_SOURCE +#endif +#ifndef _XOPEN_SOURCE_EXTENDED + #define _XOPEN_SOURCE_EXTENDED 1 +#endif +#include ],[double x = 1.0; double y = 1.0; +_class(x); trunc(x); finite(x); itrunc(x); nearest(x); rsqrt(x); uitrunc(x); +copysign(x,y); drem(x,y); unordered(x,y); +return 0;], + ax_cv_cxx_have_system_v_math=yes, ax_cv_cxx_have_system_v_math=no) + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_system_v_math" = yes; then + AC_DEFINE(HAVE_SYSTEM_V_MATH,,[define if the compiler supports System V math library]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_valarray.m4 b/m4/autoconf-archive/ax_cxx_have_valarray.m4 new file mode 100755 index 0000000000..e1c1bb843d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_valarray.m4 @@ -0,0 +1,42 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_valarray.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_VALARRAY +# +# DESCRIPTION +# +# If the compiler has valarray, define HAVE_VALARRAY. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_VALARRAY], [AX_CXX_HAVE_VALARRAY]) +AC_DEFUN([AX_CXX_HAVE_VALARRAY], +[AC_CACHE_CHECK(whether the compiler has valarray, +ax_cv_cxx_have_valarray, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[valarray x(100); return 0;], + ax_cv_cxx_have_valarray=yes, ax_cv_cxx_have_valarray=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_valarray" = yes; then + AC_DEFINE(HAVE_VALARRAY,,[define if the compiler has valarray]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_have_vector_at.m4 b/m4/autoconf-archive/ax_cxx_have_vector_at.m4 new file mode 100755 index 0000000000..e9d6f7f1d2 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_have_vector_at.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_have_vector_at.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_VECTOR_AT +# +# DESCRIPTION +# +# If the implementation of the C++ library provides the method +# std::vector::at(std::size_t), define HAVE_VECTOR_AT. +# +# LICENSE +# +# Copyright (c) 2008 Jan Langer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HAVE_VECTOR_AT], [AX_CXX_HAVE_VECTOR_AT]) +AC_DEFUN([AX_CXX_HAVE_VECTOR_AT], +[AC_CACHE_CHECK(whether the compiler has std::vector::at (std::size_t), +ax_cv_cxx_have_vector_at, +[AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[vector v (1); v.at (0); return 0;], + ax_cv_cxx_have_vector_at=yes, ax_cv_cxx_have_vector_at=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_have_vector_at" = yes; then + AC_DEFINE(HAVE_VECTOR_AT,,[define if the compiler has the method +std::vector::at (std::size_t)]) +fi +])dnl diff --git a/m4/autoconf-archive/ax_cxx_header_pre_stdcxx.m4 b/m4/autoconf-archive/ax_cxx_header_pre_stdcxx.m4 new file mode 100755 index 0000000000..02cc2396d3 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_pre_stdcxx.m4 @@ -0,0 +1,76 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_pre_stdcxx.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_HEADER_PRE_STDCXX +# +# DESCRIPTION +# +# Check whether pre-ISO-C++ headers exist. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_PRE_STDCXX], [AX_CXX_HEADER_PRE_STDCXX]) +AC_DEFUN([AX_CXX_HEADER_PRE_STDCXX], [ + AC_CACHE_CHECK(for pre-ISO C++ include files, + ax_cv_cxx_pre_stdcxx, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Wno-deprecated" + + # Omit defalloc.h, as compilation with newer compilers is problematic. + AC_TRY_COMPILE([ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + ],, + ax_cv_cxx_pre_stdcxx=yes, ax_cv_cxx_pre_stdcxx=no) + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_pre_stdcxx" = yes; then + AC_DEFINE(PRE_STDCXX_HEADERS,,[Define if pre-ISO C++ header files are present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_stdcxx_0x.m4 b/m4/autoconf-archive/ax_cxx_header_stdcxx_0x.m4 new file mode 100755 index 0000000000..d1afc01cee --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_stdcxx_0x.m4 @@ -0,0 +1,120 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_stdcxx_0x.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_HEADER_STDCXX_0X +# +# DESCRIPTION +# +# Check for library coverage of the C++0x standard. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_HEADER_STDCXX_0X], [AX_CXX_HEADER_STDCXX_0X]) +AC_DEFUN([AX_CXX_HEADER_STDCXX_0X], [ + AC_CACHE_CHECK(for ISO C++ 0x include files, + ax_cv_cxx_stdcxx_0x, + [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=gnu++0x" + + AC_TRY_COMPILE([ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + ],, + ax_cv_cxx_stdcxx_0x=yes, ax_cv_cxx_stdcxx_0x=no) + AC_LANG_RESTORE + CXXFLAGS="$ac_save_CXXFLAGS" + ]) + if test "$ax_cv_cxx_stdcxx_0x" = yes; then + AC_DEFINE(STDCXX_0X_HEADERS,,[Define if ISO C++ 0x header files are present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_stdcxx_98.m4 b/m4/autoconf-archive/ax_cxx_header_stdcxx_98.m4 new file mode 100755 index 0000000000..70968e8e87 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_stdcxx_98.m4 @@ -0,0 +1,87 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_stdcxx_98.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_HEADER_STDCXX_98 +# +# DESCRIPTION +# +# Check for complete library coverage of the C++1998/2003 standard. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_STDCXX_98], [AX_CXX_HEADER_STDCXX_98]) +AC_DEFUN([AX_CXX_HEADER_STDCXX_98], [ + AC_CACHE_CHECK(for ISO C++ 98 include files, + ax_cv_cxx_stdcxx_98, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + ],, + ax_cv_cxx_stdcxx_98=yes, ax_cv_cxx_stdcxx_98=no) + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_stdcxx_98" = yes; then + AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_stdcxx_tr1.m4 b/m4/autoconf-archive/ax_cxx_header_stdcxx_tr1.m4 new file mode 100755 index 0000000000..b27619f7ef --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_stdcxx_tr1.m4 @@ -0,0 +1,65 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_stdcxx_tr1.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_HEADER_STDCXX_TR1 +# +# DESCRIPTION +# +# Check for library coverage of the TR1 standard. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_STDCXX_TR1], [AX_CXX_HEADER_STDCXX_TR1]) +AC_DEFUN([AX_CXX_HEADER_STDCXX_TR1], [ + AC_CACHE_CHECK(for ISO C++ TR1 include files, + ax_cv_cxx_stdcxx_tr1, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + ],, + ax_cv_cxx_stdcxx_tr1=yes, ax_cv_cxx_stdcxx_tr1=no) + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_stdcxx_tr1" = yes; then + AC_DEFINE(STDCXX_TR1_HEADERS,,[Define if ISO C++ TR1 header files are present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_tr1_unordered_map.m4 b/m4/autoconf-archive/ax_cxx_header_tr1_unordered_map.m4 new file mode 100755 index 0000000000..f9906a484b --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_tr1_unordered_map.m4 @@ -0,0 +1,38 @@ +# ==================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_tr1_unordered_map.html +# ==================================================================================== +# +# SYNOPSIS +# +# AX_CXX_HEADER_TR1_UNORDERED_MAP +# +# DESCRIPTION +# +# Check whether the TR1 include exists and define +# HAVE_TR1_UNORDERED_MAP if it does. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_TR1_UNORDERED_MAP], [AX_CXX_HEADER_TR1_UNORDERED_MAP]) +AC_DEFUN([AX_CXX_HEADER_TR1_UNORDERED_MAP], [ + AC_CACHE_CHECK(for tr1/unordered_map, + ax_cv_cxx_tr1_unordered_map, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include ], [using std::tr1::unordered_map;], + ax_cv_cxx_tr1_unordered_map=yes, ax_cv_cxx_tr1_unordered_map=no) + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_tr1_unordered_map" = yes; then + AC_DEFINE(HAVE_TR1_UNORDERED_MAP,,[Define if tr1/unordered_map is present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_tr1_unordered_set.m4 b/m4/autoconf-archive/ax_cxx_header_tr1_unordered_set.m4 new file mode 100755 index 0000000000..86db05e61f --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_tr1_unordered_set.m4 @@ -0,0 +1,38 @@ +# ==================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_tr1_unordered_set.html +# ==================================================================================== +# +# SYNOPSIS +# +# AX_CXX_HEADER_TR1_UNORDERED_SET +# +# DESCRIPTION +# +# Check whether the TR1 include exists and define +# HAVE_TR1_UNORDERED_SET if it does. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_TR1_UNORDERED_SET], [AX_CXX_HEADER_TR1_UNORDERED_SET]) +AC_DEFUN([AX_CXX_HEADER_TR1_UNORDERED_SET], [ + AC_CACHE_CHECK(for tr1/unordered_set, + ax_cv_cxx_tr1_unordered_set, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include ], [using std::tr1::unordered_set;], + ax_cv_cxx_tr1_unordered_set=yes, ax_cv_cxx_tr1_unordered_set=no) + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_tr1_unordered_set" = yes; then + AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_unordered_map.m4 b/m4/autoconf-archive/ax_cxx_header_unordered_map.m4 new file mode 100755 index 0000000000..e15d32ee41 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_unordered_map.m4 @@ -0,0 +1,42 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_unordered_map.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_CXX_HEADER_UNORDERED_MAP +# +# DESCRIPTION +# +# Check whether the C++ include exists and define +# HAVE_UNORDERED_MAP if it does. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_UNORDERED_MAP], [AX_CXX_HEADER_UNORDERED_MAP]) +AC_DEFUN([AX_CXX_HEADER_UNORDERED_MAP], [ + AC_CACHE_CHECK(for unordered_map, + ax_cv_cxx_unordered_map, + [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=gnu++0x" + AC_TRY_COMPILE([#include ], [using std::unordered_map;], + ax_cv_cxx_unordered_map=yes, ax_cv_cxx_unordered_map=no) + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_unordered_map" = yes; then + AC_DEFINE(HAVE_UNORDERED_MAP,,[Define if unordered_map is present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_header_unordered_set.m4 b/m4/autoconf-archive/ax_cxx_header_unordered_set.m4 new file mode 100755 index 0000000000..e77aaa8350 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_header_unordered_set.m4 @@ -0,0 +1,42 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_header_unordered_set.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_CXX_HEADER_UNORDERED_SET +# +# DESCRIPTION +# +# Check whether the C++ include exists and define +# HAVE_UNORDERED_SET if it does. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_HEADER_UNORDERED_SET], [AX_CXX_HEADER_UNORDERED_SET]) +AC_DEFUN([AX_CXX_HEADER_UNORDERED_SET], [ + AC_CACHE_CHECK(for unordered_set, + ax_cv_cxx_unordered_set, + [AC_REQUIRE([AC_COMPILE_STDCXX_0X]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=gnu++0x" + AC_TRY_COMPILE([#include ], [using std::unordered_set;], + ax_cv_cxx_unordered_set=yes, ax_cv_cxx_unordered_set=no) + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_unordered_set" = yes; then + AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_ldflags_std_lang.m4 b/m4/autoconf-archive/ax_cxx_ldflags_std_lang.m4 new file mode 100755 index 0000000000..310716354c --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_ldflags_std_lang.m4 @@ -0,0 +1,36 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_ldflags_std_lang.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_LDFLAGS_STD_LANG(LD-FLAGS) +# +# DESCRIPTION +# +# Append to LD-FLAGS the set of link-time flags that should be passed to +# the C++ compiler in order to enable use of C++ features as defined in +# the ANSI C++ standard (eg. use of standard iostream classes in the `std' +# namespace, etc.). Note that if you use GNU Libtool you may need to +# prefix each of those switches with `-Xlinker' so that Libtool doesn't +# discard them (see Libtool's manual and `AC_LIBTOOLIZE_LDFLAGS'). +# +# LICENSE +# +# Copyright (c) 2008 Ludovic Courtes +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_LDFLAGS_STD_LANG], [AX_CXX_LDFLAGS_STD_LANG]) +AC_DEFUN([AX_CXX_LDFLAGS_STD_LANG], + [AC_LANG_ASSERT([C++]) + AC_REQUIRE([AX_COMPILER_VENDOR]) + case "$ax_cv_cxx_compiler_vendor" in + sgi) $1="$$1 -LANG:std -exceptions";; + hp) $1="$$1 -AA";; + esac]) diff --git a/m4/autoconf-archive/ax_cxx_member_constants.m4 b/m4/autoconf-archive/ax_cxx_member_constants.m4 new file mode 100755 index 0000000000..a1a012ab05 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_member_constants.m4 @@ -0,0 +1,39 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_member_constants.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_MEMBER_CONSTANTS +# +# DESCRIPTION +# +# If the compiler supports member constants, define HAVE_MEMBER_CONSTANTS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_MEMBER_CONSTANTS], [AX_CXX_MEMBER_CONSTANTS]) +AC_DEFUN([AX_CXX_MEMBER_CONSTANTS], +[AC_CACHE_CHECK(whether the compiler supports member constants, +ax_cv_cxx_member_constants, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([class C {public: static const int i = 0;}; const int C::i;], +[return C::i;], + ax_cv_cxx_member_constants=yes, ax_cv_cxx_member_constants=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_member_constants" = yes; then + AC_DEFINE(HAVE_MEMBER_CONSTANTS,,[define if the compiler supports member constants]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_member_templates.m4 b/m4/autoconf-archive/ax_cxx_member_templates.m4 new file mode 100755 index 0000000000..2be6ba398f --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_member_templates.m4 @@ -0,0 +1,42 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_member_templates.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_MEMBER_TEMPLATES +# +# DESCRIPTION +# +# If the compiler supports member templates, define HAVE_MEMBER_TEMPLATES. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_MEMBER_TEMPLATES], [AX_CXX_MEMBER_TEMPLATES]) +AC_DEFUN([AX_CXX_MEMBER_TEMPLATES], +[AC_CACHE_CHECK(whether the compiler supports member templates, +ax_cv_cxx_member_templates, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A +{ public: + template A operator=(const A& z) { return A(); } +};],[A x; A y; x = y; return 0;], + ax_cv_cxx_member_templates=yes, ax_cv_cxx_member_templates=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_member_templates" = yes; then + AC_DEFINE(HAVE_MEMBER_TEMPLATES,,[define if the compiler supports member templates]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_member_templates_outside_class.m4 b/m4/autoconf-archive/ax_cxx_member_templates_outside_class.m4 new file mode 100755 index 0000000000..3e7ade40d4 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_member_templates_outside_class.m4 @@ -0,0 +1,47 @@ +# ========================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_member_templates_outside_class.html +# ========================================================================================== +# +# SYNOPSIS +# +# AX_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS +# +# DESCRIPTION +# +# If the compiler supports member templates outside the class declaration, +# define HAVE_MEMBER_TEMPLATES_OUTSIDE_CLASS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS], [AX_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS]) +AC_DEFUN([AX_CXX_MEMBER_TEMPLATES_OUTSIDE_CLASS], +[AC_CACHE_CHECK(whether the compiler supports member templates outside the class declaration, +ax_cv_cxx_member_templates_outside_class, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A +{ public : + template A operator=(const A& z); +}; +template template +A A::operator=(const A& z){ return A(); }],[ +A x; A y; x = y; return 0;], + ax_cv_cxx_member_templates_outside_class=yes, ax_cv_cxx_member_templates_outside_class=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_member_templates_outside_class" = yes; then + AC_DEFINE(HAVE_MEMBER_TEMPLATES_OUTSIDE_CLASS,, + [define if the compiler supports member templates outside the class declaration]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_mutable.m4 b/m4/autoconf-archive/ax_cxx_mutable.m4 new file mode 100755 index 0000000000..0997cad77d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_mutable.m4 @@ -0,0 +1,45 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_mutable.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_MUTABLE +# +# DESCRIPTION +# +# If the compiler allows modifying class data members flagged with the +# mutable keyword even in const objects (for example in the body of a +# const member function), define HAVE_MUTABLE. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_MUTABLE], [AX_CXX_MUTABLE]) +AC_DEFUN([AX_CXX_MUTABLE], +[AC_CACHE_CHECK(whether the compiler supports the mutable keyword, +ax_cv_cxx_mutable, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +class A { mutable int i; + public: + int f (int n) const { i = n; return i; } + }; +],[A a; return a.f (1);], + ax_cv_cxx_mutable=yes, ax_cv_cxx_mutable=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_mutable" = yes; then + AC_DEFINE(HAVE_MUTABLE,,[define if the compiler supports the mutable keyword]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_namespace_std.m4 b/m4/autoconf-archive/ax_cxx_namespace_std.m4 new file mode 100755 index 0000000000..0e9bbb0dad --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_namespace_std.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_namespace_std.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_NAMESPACE_STD +# +# DESCRIPTION +# +# If the compiler supports namespace std, define HAVE_NAMESPACE_STD. +# +# LICENSE +# +# Copyright (c) 2009 Todd Veldhuizen +# Copyright (c) 2009 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_NAMESPACE_STD], [AX_CXX_NAMESPACE_STD]) +AC_DEFUN([AX_CXX_NAMESPACE_STD], [ + AC_CACHE_CHECK(if g++ supports namespace std, + ax_cv_cxx_have_std_namespace, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include + std::istream& is = std::cin;],, + ax_cv_cxx_have_std_namespace=yes, ax_cv_cxx_have_std_namespace=no) + AC_LANG_RESTORE + ]) + if test "$ax_cv_cxx_have_std_namespace" = yes; then + AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_namespaces.m4 b/m4/autoconf-archive/ax_cxx_namespaces.m4 new file mode 100755 index 0000000000..389654bd55 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_namespaces.m4 @@ -0,0 +1,40 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_namespaces.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_NAMESPACES +# +# DESCRIPTION +# +# If the compiler can prevent names clashes using namespaces, define +# HAVE_NAMESPACES. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# Copyright (c) 2013 Bastien Roucaries +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_CXX_NAMESPACES], [AX_CXX_NAMESPACES]) +AC_DEFUN([AX_CXX_NAMESPACES], +[AC_CACHE_CHECK(whether the compiler implements namespaces, +ax_cv_cxx_namespaces, +[AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([namespace Outer { namespace Inner { int i = 0; }} + using namespace Outer::Inner; int foo(void) { return i;} ])], + ax_cv_cxx_namespaces=yes, ax_cv_cxx_namespaces=no) + AC_LANG_POP +]) +if test "$ax_cv_cxx_namespaces" = yes; then + AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_new_for_scoping.m4 b/m4/autoconf-archive/ax_cxx_new_for_scoping.m4 new file mode 100755 index 0000000000..2b23f3292d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_new_for_scoping.m4 @@ -0,0 +1,46 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_new_for_scoping.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_NEW_FOR_SCOPING +# +# DESCRIPTION +# +# If the compiler accepts the new for scoping rules (the scope of a +# variable declared inside the parentheses is restricted to the for-body), +# define HAVE_NEW_FOR_SCOPING. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_NEW_FOR_SCOPING], [AX_CXX_NEW_FOR_SCOPING]) +AC_DEFUN([AX_CXX_NEW_FOR_SCOPING], +[AC_CACHE_CHECK(whether the compiler accepts the new for scoping rules, +ax_cv_cxx_new_for_scoping, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[ + int z = 0; + for (int i = 0; i < 10; ++i) + z = z + i; + for (int i = 0; i < 10; ++i) + z = z - i; + return z;], + ax_cv_cxx_new_for_scoping=yes, ax_cv_cxx_new_for_scoping=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_new_for_scoping" = yes; then + AC_DEFINE(HAVE_NEW_FOR_SCOPING,,[define if the compiler accepts the new for scoping rules]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_old_for_scoping.m4 b/m4/autoconf-archive/ax_cxx_old_for_scoping.m4 new file mode 100755 index 0000000000..f5fe9d03ba --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_old_for_scoping.m4 @@ -0,0 +1,42 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_old_for_scoping.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_OLD_FOR_SCOPING +# +# DESCRIPTION +# +# If the compiler accepts the old for scoping rules (the scope of a +# variable declared inside the parentheses extends outside the for-body), +# define HAVE_OLD_FOR_SCOPING. Note that some compilers (notably g++ and +# egcs) support both new and old rules since they accept the old rules and +# only generate a warning. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_OLD_FOR_SCOPING], [AX_CXX_OLD_FOR_SCOPING]) +AC_DEFUN([AX_CXX_OLD_FOR_SCOPING], +[AC_CACHE_CHECK(whether the compiler accepts the old for scoping rules, +ax_cv_cxx_old_for_scoping, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[int z;for (int i=0; i < 10; ++i)z=z+i;z=i;return z;], + ax_cv_cxx_old_for_scoping=yes, ax_cv_cxx_old_for_scoping=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_old_for_scoping" = yes; then + AC_DEFINE(HAVE_OLD_FOR_SCOPING,,[define if the compiler accepts the old for scoping rules]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_partial_ordering.m4 b/m4/autoconf-archive/ax_cxx_partial_ordering.m4 new file mode 100755 index 0000000000..099cf6c5ad --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_partial_ordering.m4 @@ -0,0 +1,45 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_partial_ordering.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_PARTIAL_ORDERING +# +# DESCRIPTION +# +# If the compiler supports partial ordering, define HAVE_PARTIAL_ORDERING. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_PARTIAL_ORDERING], [AX_CXX_PARTIAL_ORDERING]) +AC_DEFUN([AX_CXX_PARTIAL_ORDERING], +[AC_CACHE_CHECK(whether the compiler supports partial ordering, +ax_cv_cxx_partial_ordering, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template struct I {}; +template struct A +{ int r; + template int operator() (T1, T2) { r = 0; return r; } + template int operator() (I, I) { r = 1; return r; } +};],[A x, y; I<0> a; I<1> b; return x (a,b) + y (float(), double());], + ax_cv_cxx_partial_ordering=yes, ax_cv_cxx_partial_ordering=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_partial_ordering" = yes; then + AC_DEFINE(HAVE_PARTIAL_ORDERING,, + [define if the compiler supports partial ordering]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_partial_specialization.m4 b/m4/autoconf-archive/ax_cxx_partial_specialization.m4 new file mode 100755 index 0000000000..106bdbbe35 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_partial_specialization.m4 @@ -0,0 +1,44 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_partial_specialization.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_CXX_PARTIAL_SPECIALIZATION +# +# DESCRIPTION +# +# If the compiler supports partial specialization, define +# HAVE_PARTIAL_SPECIALIZATION. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_PARTIAL_SPECIALIZATION], [AX_CXX_PARTIAL_SPECIALIZATION]) +AC_DEFUN([AX_CXX_PARTIAL_SPECIALIZATION], +[AC_CACHE_CHECK(whether the compiler supports partial specialization, +ax_cv_cxx_partial_specialization, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A { public : enum e { z = 0 }; }; +template class A { public : enum e { z = 1 }; }; +template class A { public : enum e { z = 2 }; }; +],[return (A::z == 0) && (A::z == 1) && (A::z == 2);], + ax_cv_cxx_partial_specialization=yes, ax_cv_cxx_partial_specialization=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_partial_specialization" = yes; then + AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION,, + [define if the compiler supports partial specialization]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_reinterpret_cast.m4 b/m4/autoconf-archive/ax_cxx_reinterpret_cast.m4 new file mode 100755 index 0000000000..70245b50a2 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_reinterpret_cast.m4 @@ -0,0 +1,45 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_cxx_reinterpret_cast.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_REINTERPRET_CAST +# +# DESCRIPTION +# +# If the compiler supports reinterpret_cast<>, define +# HAVE_REINTERPRET_CAST. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_REINTERPRET_CAST], [AX_CXX_REINTERPRET_CAST]) +AC_DEFUN([AX_CXX_REINTERPRET_CAST], +[AC_CACHE_CHECK(whether the compiler supports reinterpret_cast<>, +ax_cv_cxx_reinterpret_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; }],[ +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e);], + ax_cv_cxx_reinterpret_cast=yes, ax_cv_cxx_reinterpret_cast=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_reinterpret_cast" = yes; then + AC_DEFINE(HAVE_REINTERPRET_CAST,, + [define if the compiler supports reinterpret_cast<>]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_restrict_this.m4 b/m4/autoconf-archive/ax_cxx_restrict_this.m4 new file mode 100755 index 0000000000..c3e6d635d1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_restrict_this.m4 @@ -0,0 +1,83 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_restrict_this.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_RESTRICT_THIS +# +# DESCRIPTION +# +# Determine whether the C++ compiler supports qualifying a member function +# with a restricted "this" pointer. Define "restrict_this" to the correct +# spelling; use like this: +# +# T::fn() restrict_this { /* code */ } +# +# Otherwise, define "restrict_this" to be empty. +# +# Note: the syntax above is a GCC extension. If your C++ compiler has a +# different way of applying the 'restricted' qualifier to the "this" +# pointer, please consider reporting it. +# +# LICENSE +# +# Copyright (c) 2010 Riccardo Murri +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# Under Section 7 of GPL version 3, you are granted additional permissions +# described in the Autoconf Configure Script Exception, version 3.0, as +# published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License and a +# copy of the Autoconf Configure Script Exception along with this program; +# see the files COPYINGv3 and COPYING.EXCEPTION respectively. If not, see +# . + +#serial 2 + +AC_DEFUN([AX_CXX_RESTRICT_THIS], +[AC_CACHE_CHECK([whether C++ supports GCC's restrict "this" syntax], ax_cv_cxx_restrict_this, + [ax_cv_cxx_restrict_this=no + AC_LANG_PUSH([C++]) + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[#define restrict_this $ac_kw +class Foo { + private: + int x_; + public: + Foo(int x) : x_(x) { }; + int bar(Foo* other); +}; +int Foo::bar(Foo* other) restrict_this { return this->x_ + other->x_; } + ]], + [[ +Foo a(3), b(5); +return (8 == a.bar(&b)); + ]])], + [ax_cv_cxx_restrict_this=$ac_kw]) + test "$ax_cv_cxx_restrict_this" != no && break + done + AC_LANG_POP([C++]) + ]) + AH_VERBATIM([restrict_this], +[/* Define to the keyword(s) used to specify that a member function's + "this" pointer is unaliased. Define to nothing if this is not + supported. */ +#undef restrict_this]) + case $ax_cv_cxx_restrict_this in + no) AC_DEFINE([restrict_this], []) ;; + *) AC_DEFINE_UNQUOTED([restrict_this], [$ax_cv_cxx_restrict_this]) ;; + esac +])# AC_C_RESTRICT diff --git a/m4/autoconf-archive/ax_cxx_rtti.m4 b/m4/autoconf-archive/ax_cxx_rtti.m4 new file mode 100755 index 0000000000..5c3d7bbd6d --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_rtti.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_rtti.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_RTTI +# +# DESCRIPTION +# +# If the compiler supports Run-Time Type Identification (typeinfo header +# and typeid keyword), define HAVE_RTTI. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_RTTI], [AX_CXX_RTTI]) +AC_DEFUN([AX_CXX_RTTI], +[AC_CACHE_CHECK(whether the compiler supports Run-Time Type Identification, +ax_cv_cxx_rtti, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; +],[Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); +], + ax_cv_cxx_rtti=yes, ax_cv_cxx_rtti=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_rtti" = yes; then + AC_DEFINE(HAVE_RTTI,, + [define if the compiler supports Run-Time Type Identification]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_rvalue_references.m4 b/m4/autoconf-archive/ax_cxx_rvalue_references.m4 new file mode 100755 index 0000000000..bc586cfdd4 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_rvalue_references.m4 @@ -0,0 +1,50 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_rvalue_references.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_RVALUE_REFERENCES +# +# DESCRIPTION +# +# Check whether C++11 rvalue references are supported. If they are, the +# macro HAVE_RVALUE_REFERENCES is defined. +# +# Does not ensure that the compiler is in C++11 mode. +# +# LICENSE +# +# Copyright (c) 2012 Tudor Bosman +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_CXX_RVALUE_REFERENCES], [dnl + AC_LANG_ASSERT([C++]) + # This compilation should succeed... + AC_CACHE_CHECK(whether $CXX supports rvalue references, + ax_cv_cxx_rvalue_references_supported, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + struct foo { + foo(foo&& other) { } + foo& operator=(foo&& other) { + if (&other == this) return *this; + std::move(other); // make sure this compiles + return *this; + } + }; + ]])], + [ax_cv_cxx_rvalue_references_supported=yes], + [ax_cv_cxx_rvalue_references_supported=no])]) + if test $ax_cv_cxx_rvalue_references_supported = yes + then + AC_DEFINE([HAVE_RVALUE_REFERENCES], [], + [define if the compiler supports rvalue references]) + fi +]) diff --git a/m4/autoconf-archive/ax_cxx_static_cast.m4 b/m4/autoconf-archive/ax_cxx_static_cast.m4 new file mode 100755 index 0000000000..de38f60060 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_static_cast.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_static_cast.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_STATIC_CAST +# +# DESCRIPTION +# +# If the compiler supports static_cast<>, define HAVE_STATIC_CAST. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_STATIC_CAST], [AX_CXX_STATIC_CAST]) +AC_DEFUN([AX_CXX_STATIC_CAST], +[AC_CACHE_CHECK(whether the compiler supports static_cast<>, +ax_cv_cxx_static_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; }],[ +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s);], + ax_cv_cxx_static_cast=yes, ax_cv_cxx_static_cast=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_static_cast" = yes; then + AC_DEFINE(HAVE_STATIC_CAST,, + [define if the compiler supports static_cast<>]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_stlport_hashmap.m4 b/m4/autoconf-archive/ax_cxx_stlport_hashmap.m4 new file mode 100755 index 0000000000..ede4d86947 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_stlport_hashmap.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_stlport_hashmap.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_STLPORT_HASHMAP +# +# DESCRIPTION +# +# Test for the presence of STLport's hashmap extension. +# +# LICENSE +# +# Copyright (c) 2008 Patrick Mauritz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_STLPORT_HASHMAP], [AX_CXX_STLPORT_HASHMAP]) +AC_DEFUN([AX_CXX_STLPORT_HASHMAP],[ +AC_CACHE_CHECK(whether the compiler supports std::hash_map, +ax_cv_cxx_stlport_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using std::hash_map;], + [], + ax_cv_cxx_stlport_hashmap=yes, ax_cv_cxx_stlport_hashmap=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_stlport_hashmap" = yes; then + AC_DEFINE(HAVE_STLPORT_HASHMAP,,[define if the compiler supports std::hash_map]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_template_keyword_qualifier.m4 b/m4/autoconf-archive/ax_cxx_template_keyword_qualifier.m4 new file mode 100755 index 0000000000..1e60f20aa8 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_template_keyword_qualifier.m4 @@ -0,0 +1,53 @@ +# ====================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_template_keyword_qualifier.html +# ====================================================================================== +# +# SYNOPSIS +# +# AX_CXX_TEMPLATE_KEYWORD_QUALIFIER +# +# DESCRIPTION +# +# If the compiler supports use of the template keyword as a qualifier, +# define HAVE_TEMPLATE_KEYWORD_QUALIFIER. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Bernardo Innocenti +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TEMPLATE_KEYWORD_QUALIFIER], [AX_CXX_TEMPLATE_KEYWORD_QUALIFIER]) +AC_DEFUN([AX_CXX_TEMPLATE_KEYWORD_QUALIFIER], +[AC_CACHE_CHECK(whether the compiler supports use of the template keyword as a qualifier, +ax_cv_cxx_template_keyword_qualifier, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + class X + { + public: + template void member() {} + template static void static_member() {} + }; + template void f(T* p) + { + p->template member<200>(); // OK: < starts template argument + T::template static_member<100>(); // OK: < starts explicit qualification + } +],[X x; f(&x); return 0;], + ax_cv_cxx_template_keyword_qualifier=yes, ax_cv_cxx_template_keyword_qualifier=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_template_keyword_qualifier" = yes; then + AC_DEFINE(HAVE_TEMPLATE_KEYWORD_QUALIFIER,, + [define if the compiler supports use of the template keyword as a qualifier]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_template_qualified_base_class.m4 b/m4/autoconf-archive/ax_cxx_template_qualified_base_class.m4 new file mode 100755 index 0000000000..bf1cbc3b72 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_template_qualified_base_class.m4 @@ -0,0 +1,58 @@ +# ========================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_template_qualified_base_class.html +# ========================================================================================= +# +# SYNOPSIS +# +# AX_CXX_TEMPLATE_QUALIFIED_BASE_CLASS +# +# DESCRIPTION +# +# If the compiler supports template-qualified base class specifiers, +# define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS], [AX_CXX_TEMPLATE_QUALIFIED_BASE_CLASS]) +AC_DEFUN([AX_CXX_TEMPLATE_QUALIFIED_BASE_CLASS], +[AC_CACHE_CHECK(whether the compiler supports template-qualified base class specifiers, +ax_cv_cxx_template_qualified_base_class, +[AC_REQUIRE([AX_CXX_TYPENAME]) + AC_REQUIRE([AX_CXX_FULL_SPECIALIZATION_SYNTAX]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; +#ifdef HAVE_FULL_SPECIALIZATION_SYNTAX +template<> struct base_trait { typedef Base2 base; }; +#else + struct base_trait { typedef Base2 base; }; +#endif +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return base::f (); } +};],[ Weird z; return z.g ();], + ax_cv_cxx_template_qualified_base_class=yes, ax_cv_cxx_template_qualified_base_class=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_template_qualified_base_class" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_BASE_CLASS,, + [define if the compiler supports template-qualified base class specifiers]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_template_qualified_return_type.m4 b/m4/autoconf-archive/ax_cxx_template_qualified_return_type.m4 new file mode 100755 index 0000000000..364496dd02 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_template_qualified_return_type.m4 @@ -0,0 +1,51 @@ +# ========================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_template_qualified_return_type.html +# ========================================================================================== +# +# SYNOPSIS +# +# AX_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE +# +# DESCRIPTION +# +# If the compiler supports template-qualified return types, define +# HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE], [AX_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE]) +AC_DEFUN([AX_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE], +[AC_CACHE_CHECK(whether the compiler supports template-qualified return types, +ax_cv_cxx_template_qualified_return_type, +[AC_REQUIRE([AX_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } +],[A x; A y; A z = x + y; return 0;], + ax_cv_cxx_template_qualified_return_type=yes, ax_cv_cxx_template_qualified_return_type=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_template_qualified_return_type" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE,, + [define if the compiler supports template-qualified return types]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_template_scoped_argument_matching.m4 b/m4/autoconf-archive/ax_cxx_template_scoped_argument_matching.m4 new file mode 100755 index 0000000000..126f11d68c --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_template_scoped_argument_matching.m4 @@ -0,0 +1,48 @@ +# ============================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_template_scoped_argument_matching.html +# ============================================================================================= +# +# SYNOPSIS +# +# AX_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING +# +# DESCRIPTION +# +# If the compiler supports function matching with argument types which are +# template scope-qualified, define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING], [AX_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING]) +AC_DEFUN([AX_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING], +[AC_CACHE_CHECK(whether the compiler supports function matching with argument types which are template scope-qualified, +ax_cv_cxx_template_scoped_argument_matching, +[AC_REQUIRE([AX_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} +],[B > z; z + 0.5f; return 0;], + ax_cv_cxx_template_scoped_argument_matching=yes, ax_cv_cxx_template_scoped_argument_matching=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_template_scoped_argument_matching" = yes; then + AC_DEFINE(HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING,, + [define if the compiler supports function matching with argument types which are template scope-qualified]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_templates.m4 b/m4/autoconf-archive/ax_cxx_templates.m4 new file mode 100755 index 0000000000..b426d09e82 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_templates.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_templates.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_TEMPLATES +# +# DESCRIPTION +# +# If the compiler supports basic templates, define HAVE_TEMPLATES. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_CXX_TEMPLATES], [AX_CXX_TEMPLATES]) +AC_DEFUN([AX_CXX_TEMPLATES], +[dnl + AC_CACHE_CHECK([whether the compiler supports basic templates], + [ax_cv_cxx_templates], + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([dnl + AC_LANG_PROGRAM([ + template class A {public:A(){};}; + template void f(const A& ){}; + ], + [A d; A i; f(d); f(i); return 0;])], + [ax_cv_cxx_templates=yes], + [ax_cv_cxx_templates=no]) + AC_LANG_POP([C++]) + ]) + AS_IF([test "X$ax_cv_cxx_templates" = "Xyes"], + [AC_DEFINE(HAVE_TEMPLATES,,[define if the compiler supports basic templates])]) +]) diff --git a/m4/autoconf-archive/ax_cxx_templates_as_template_arguments.m4 b/m4/autoconf-archive/ax_cxx_templates_as_template_arguments.m4 new file mode 100755 index 0000000000..71aa14126f --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_templates_as_template_arguments.m4 @@ -0,0 +1,44 @@ +# =========================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_templates_as_template_arguments.html +# =========================================================================================== +# +# SYNOPSIS +# +# AX_CXX_TEMPLATES_AS_TEMPLATE_ARGUMENTS +# +# DESCRIPTION +# +# If the compiler supports templates as template arguments, define +# HAVE_TEMPLATES_AS_TEMPLATE_ARGUMENTS. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TEMPLATES_AS_TEMPLATE_ARGUMENTS], [AX_CXX_TEMPLATES_AS_TEMPLATE_ARGUMENTS]) +AC_DEFUN([AX_CXX_TEMPLATES_AS_TEMPLATE_ARGUMENTS], +[AC_CACHE_CHECK(whether the compiler supports templates as template arguments, +ax_cv_cxx_templates_as_template_arguments, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class allocator { public : allocator() {}; }; +template class T_alloc> +class A { public : A() {} private : T_alloc alloc_; }; +],[A x; return 0;], + ax_cv_cxx_templates_as_template_arguments=yes, ax_cv_cxx_templates_as_template_arguments=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_templates_as_template_arguments" = yes; then + AC_DEFINE(HAVE_TEMPLATES_AS_TEMPLATE_ARGUMENTS,, + [define if the compiler supports templates as template arguments]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_typename.m4 b/m4/autoconf-archive/ax_cxx_typename.m4 new file mode 100755 index 0000000000..4ba7e5dcc1 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_typename.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_typename.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_TYPENAME +# +# DESCRIPTION +# +# If the compiler recognizes the typename keyword, define HAVE_TYPENAME. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_TYPENAME], [AX_CXX_TYPENAME]) +AC_DEFUN([AX_CXX_TYPENAME], +[AC_CACHE_CHECK(whether the compiler recognizes typename, +ax_cv_cxx_typename, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([templateclass X {public:X(){}};], +[X z; return 0;], + ax_cv_cxx_typename=yes, ax_cv_cxx_typename=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_typename" = yes; then + AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_use_numtrait.m4 b/m4/autoconf-archive/ax_cxx_use_numtrait.m4 new file mode 100755 index 0000000000..767e0a0ded --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_use_numtrait.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_use_numtrait.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_USE_NUMTRAIT +# +# DESCRIPTION +# +# If the compiler supports numeric traits promotions, define +# HAVE_USE_NUMTRAIT. +# +# LICENSE +# +# Copyright (c) 2008 Todd Veldhuizen +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_USE_NUMTRAIT], [AX_CXX_USE_NUMTRAIT]) +AC_DEFUN([AX_CXX_USE_NUMTRAIT], +[AC_CACHE_CHECK(whether the compiler supports numeric traits promotions, +ax_cv_cxx_use_numtrait, +[AC_REQUIRE([AX_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template class SumType { public : typedef T_numtype T_sumtype; }; +template<> class SumType { public : typedef int T_sumtype; }; +template class A {}; +template A::T_sumtype> sum(A) +{ return A::T_sumtype>(); } +],[A x; sum(x); return 0;], + ax_cv_cxx_use_numtrait=yes, ax_cv_cxx_use_numtrait=no) + AC_LANG_RESTORE +]) +if test "$ax_cv_cxx_use_numtrait" = yes; then + AC_DEFINE(HAVE_USE_NUMTRAIT,,[define if the compiler supports numeric traits promotions]) +fi +]) diff --git a/m4/autoconf-archive/ax_cxx_var_prettyfunc.m4 b/m4/autoconf-archive/ax_cxx_var_prettyfunc.m4 new file mode 100755 index 0000000000..5ed59ca145 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_var_prettyfunc.m4 @@ -0,0 +1,91 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_var_prettyfunc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_VAR_PRETTYFUNC +# +# DESCRIPTION +# +# This function tries to determine the best C++ macro/identifier that +# contains the current function name. Depending on the compiler, this may +# be __PRETTY_FUNCTION__ (GCC), __FUNCSIG__ (MSVC), __func__ (C++ +# standard), __FUNCTION__ (fallback). +# +# The function will define HAVE_PRETTYFUNC if a macro exists, and define +# __PRETTYFUNC__ to the best possible macro. When HAVE_PRETTYFUNC is not +# defined, __PRETTYFUNC__ will contain the constant string "<>". +# +# LICENSE +# +# Copyright (c) 2014 Olaf Lenz +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CXX_VAR_PRETTYFUNC], +[ +# try to find best __FUNCTION__ variant + +AC_CACHE_CHECK([whether $CXX can get a pretty function name], ac_cv_cxx_var_prettyfunc, + ac_cv_cxx_var_prettyfunc=no + + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(,[const char *s = __PRETTY_FUNCTION__])], + [ ac_cv_cxx_var_prettyfunc=__PRETTY_FUNCTION__ ]) + + AS_IF([test "x$ac_cv_cxx_var_prettyfunc" = "xno"], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(,[const char *s = __FUNCSIG__])], + [ ac_cv_cxx_var_prettyfunc=__FUNCSIG__ ]) + ]) + + AS_IF([test "x$ac_cv_cxx_var_prettyfunc" = "xno"], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(,[const char *s = __func__])], + [ ac_cv_cxx_var_prettyfunc=__func__ ]) + ]) + + AS_IF([test "x$ac_cv_cxx_var_prettyfunc" = "xno"], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(,[const char *s = __FUNCTION__])], + [ ac_cv_cxx_var_prettyfunc=__FUNCTION__ ]) + ]) +) + + +AS_IF([test "x$ac_cv_cxx_var_prettyfunc" != "xno"], [ + AC_DEFINE(HAVE_PRETTYFUNC,, [Whether __PRETTY_FUNCTION__ has a useful value.]) + AC_DEFINE_UNQUOTED(__PRETTYFUNC__,$ac_cv_cxx_var_prettyfunc, + [contains the function wherein the macro is called]) +],[ + AC_DEFINE(__PRETTYFUNC__,"<>") +]) + +])dnl diff --git a/m4/autoconf-archive/ax_cxx_verbose_terminate_handler.m4 b/m4/autoconf-archive/ax_cxx_verbose_terminate_handler.m4 new file mode 100755 index 0000000000..0c80857018 --- /dev/null +++ b/m4/autoconf-archive/ax_cxx_verbose_terminate_handler.m4 @@ -0,0 +1,77 @@ +# ===================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_verbose_terminate_handler.html +# ===================================================================================== +# +# SYNOPSIS +# +# AX_CXX_VERBOSE_TERMINATE_HANDLER +# +# DESCRIPTION +# +# Check if the terminate handler for the current compiler/standard library +# prints useful information to stdout/stderr (i.e. the type of the +# uncaught exception and/or the what() string). +# +# The intended use case for this check is to help program authors decide +# if they need to add a top-level try-catch or custom terminate handler to +# print useful information if an uncaught exception occurs, or if this +# task can be left to the standard library implementation. Alternatively, +# it can be used to detect if such output needs to be silenced with a +# custom terminate handler. +# +# Output: +# +# Define HAVE_VERBOSE_TERMINATE_HANDLER if useful information is printed. +# +# LICENSE +# +# Copyright (c) 2009 Kevin Locke +# Copyright (c) 2008 Lapo Luchini +# +# Copying and distribution of this file, with or without modification, is +# permitted in any medium, without royalty, provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. This file is offered as-is, without any warranty. + +#serial 8 + +AC_DEFUN([AX_CXX_VERBOSE_TERMINATE_HANDLER], +[AC_CACHE_CHECK([whether the terminate function prints useful information], +[ax_cv_cxx_verbose_terminate_handler], +[ + AC_LANG_PUSH([C++]) + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [#include ], + [throw std::runtime_error("Test of unhandled exception AABBCCDDEE");])], + + dnl The test should never return 0, since it aborts + [ax_cv_cxx_verbose_terminate_handler=no], + + dnl If the compilation was successful, run it and capture the output + [AS_IF([test -x conftest$EXEEXT], + [_output="$(./conftest$EXEEXT 2>&1)"], + [_output=""]) + + dnl Check that the output contains the what() string + AS_CASE("$_output", + [*AABBCCDDEE*], + + dnl Check that the output also contains the exception type + [AS_CASE("$_output", + [*runtime_error*], + [ax_cv_cxx_verbose_terminate_handler=yes], + [ax_cv_cxx_verbose_terminate_handler=no])], + [ax_cv_cxx_verbose_terminate_handler=no]) + + ], + + dnl When cross-compiling, assume messages are not verbose + [ax_cv_cxx_verbose_terminate_handler=no]) + AC_LANG_POP([C++]) +]) +if test "$ax_cv_cxx_verbose_terminate_handler" = yes; then + AC_DEFINE([HAVE_VERBOSE_TERMINATE_HANDLER], 1, + [define if the terminate function prints useful information]) +fi +]) diff --git a/m4/autoconf-archive/ax_czmq.m4 b/m4/autoconf-archive/ax_czmq.m4 new file mode 100755 index 0000000000..f12be85e5b --- /dev/null +++ b/m4/autoconf-archive/ax_czmq.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_czmq.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CZMQ([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the CZMQ libraries of a particular version (or newer). The +# default version tested for is 3.0.0. +# +# The macro tests for CZMQ libraries in the library/include path, and, +# when provided, also in the path given by --with-czmq. +# +# This macro calls: +# +# AC_SUBST(CZMQ_CPPFLAGS) / AC_SUBST(CZMQ_LDFLAGS) / AC_SUBST(CZMQ_LIBS) +# +# And sets: +# +# HAVE_CZMQ +# +# LICENSE +# +# Copyright (c) 2016 Jeroen Meijer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_CZMQ], [ + AC_ARG_WITH([czmq], [AS_HELP_STRING([--with-czmq=],[CZMQ prefix directory])], [ + CZMQ_LDFLAGS="-L${with_czmq}/lib" + CZMQ_CPPFLAGS="-I${with_czmq}/include" + ]) + + HAVE_CZMQ=0 + if test "$with_czmq" != "no"; then + + LD_FLAGS="$LDFLAGS $CZMQ_LDFLAGS" + CPPFLAGS="$CPPFLAGS $CZMQ_CPPFLAGS" + + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_HEADER(czmq.h, [czmq_h=yes], [czmq_h=no]) + AC_LANG_RESTORE + + if test "$czmq_h" = "yes"; then + version=ifelse([$1], ,3.0.0,$1) + AC_MSG_CHECKING([for CZMQ version >= $version]) + version=$(echo $version | tr '.' ',') + AC_EGREP_CPP([version_ok], [ +#include +#if defined(CZMQ_VERSION) && CZMQ_VERSION >= CZMQ_MAKE_VERSION($version) + version_ok +#endif + ],[ + AC_MSG_RESULT(yes) + HAVE_CZMQ=1 + CZMQ_LIBS="-lczmq" + AC_SUBST(CZMQ_LDFLAGS) + AC_SUBST(CZMQ_CPPFLAGS) + AC_SUBST(CZMQ_LIBS) + ], AC_MSG_RESULT([no valid CZMQ version was found])) + else + AC_MSG_WARN([no valid CZMQ installation was found]) + fi + + if test $HAVE_CZMQ = 1; then + # execute ACTION-IF-FOUND (if present): + ifelse([$2], , :, [$2]) + else + # execute ACTION-IF-NOT-FOUND (if present): + ifelse([$3], , :, [$3]) + fi + else + AC_MSG_NOTICE([not checking for CZMQ]) + fi + + AC_DEFINE(HAVE_CZMQ,,[define if the CZMQ library is available]) +]) diff --git a/m4/autoconf-archive/ax_decl_wchar_max.m4 b/m4/autoconf-archive/ax_decl_wchar_max.m4 new file mode 100755 index 0000000000..48b0884015 --- /dev/null +++ b/m4/autoconf-archive/ax_decl_wchar_max.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_decl_wchar_max.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DECL_WCHAR_MAX +# +# DESCRIPTION +# +# Checks whether the system headers define WCHAR_MAX or not. If it is +# already defined, does nothing. Otherwise checks the size and signedness +# of `wchar_t', and defines WCHAR_MAX to the maximum value that can be +# stored in a variable of type `wchar_t'. +# +# LICENSE +# +# Copyright (c) 2008 Ville Laurikari +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([VL_DECL_WCHAR_MAX], [AX_DECL_WCHAR_MAX]) +AC_DEFUN([AX_DECL_WCHAR_MAX], [ + AC_CACHE_CHECK([whether WCHAR_MAX is defined], ax_cv_decl_wchar_max, [ + AC_TRY_COMPILE([ +#ifdef HAVE_WCHAR_H +#include +#endif +],[WCHAR_MAX],[ax_cv_decl_wchar_max="yes"],[ax_cv_decl_wchar_max="no"])]) + if test $ax_cv_decl_wchar_max = "no"; then + AX_CHECK_SIGN([wchar_t], + [ wc_signed="yes" + AC_DEFINE(WCHAR_T_SIGNED, 1, [Define if wchar_t is signed]) ], + [ wc_signed="no" + AC_DEFINE(WCHAR_T_UNSIGNED, 1, [Define if wchar_t is unsigned])], [ +#ifdef HAVE_WCHAR_H +#include +#endif +]) + if test "$wc_signed" = "yes"; then + AC_DEFINE(WCHAR_MAX, [(1L << (sizeof(wchar_t) * 8 - 1) - 1)], [ +Define to the maximum value of wchar_t if not already defined elsewhere]) + elif test "$wc_signed" = "no"; then + AC_DEFINE(WCHAR_MAX, [(1L << (sizeof(wchar_t) * 8) - 1)]) + fi + fi +])dnl diff --git a/m4/autoconf-archive/ax_define_integer_bits.m4 b/m4/autoconf-archive/ax_define_integer_bits.m4 new file mode 100755 index 0000000000..f9c25d7ac6 --- /dev/null +++ b/m4/autoconf-archive/ax_define_integer_bits.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_define_integer_bits.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DEFINE_INTEGER_BITS (TYPE [, CANDIDATE-TYPE]...) +# +# DESCRIPTION +# +# Given a TYPE of the form "int##_t" or "uint##_t", see if the datatype +# TYPE is predefined. If not, then define TYPE -- both with AC_DEFINE and +# as a shell variable -- to the first datatype of exactly ## bits in a +# list of CANDIDATE-TYPEs. If none of the CANDIDATE-TYPEs contains exactly +# ## bits, then set the TYPE shell variable to "no". +# +# For example, the following ensures that uint64_t is defined as a 64-bit +# datatype: +# +# AX_DEFINE_INTEGER_BITS(uint64_t, unsigned long long, unsigned __int64, long) +# if test "$uint64_t" = no; then +# AC_MSG_ERROR([unable to continue without a 64-bit datatype]) +# fi +# +# You should then put the following in your C code to ensure that all +# datatypes defined by AX_DEFINE_INTEGER_BITS are visible to your program: +# +# #include "config.h" +# +# #if HAVE_INTTYPES_H +# # include +# #else +# # if HAVE_STDINT_H +# # include +# # endif +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Scott Pakin +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_DEFINE_INTEGER_BITS], [AX_DEFINE_INTEGER_BITS]) +AC_DEFUN([AX_DEFINE_INTEGER_BITS], +[m4_define([ac_datatype_bits], [m4_translit($1, [a-zA-Z_])]) +m4_define([ac_datatype_bytes], [m4_eval(ac_datatype_bits/8)]) +AC_CHECK_TYPE($1, , + [ + AC_MSG_NOTICE([trying to find a suitable ]ac_datatype_bytes[-byte replacement for $1]) + $1=no + find_$1 () + { + _AX_DEFINE_INTEGER_BITS_HELPER($@) + : + } + find_$1 + AC_DEFINE_UNQUOTED($1, $$1, + [If not already defined, then define as a datatype of *exactly* ]ac_datatype_bits[ bits.]) + ]) +]) + +dnl Iterate over arguments $2..$N, trying to find a good match for $1. +m4_define([_AX_DEFINE_INTEGER_BITS_HELPER], +[ifelse($2, , , + [m4_define([ac_datatype_bits], [m4_translit($1, [a-zA-Z_])]) + m4_define([ac_datatype_bytes], [m4_eval(ac_datatype_bits/8)]) + AC_CHECK_SIZEOF($2) + if test "$AS_TR_SH(ac_cv_sizeof_$2)" -eq ac_datatype_bytes; then + $1="$2" + return + fi + _AX_DEFINE_INTEGER_BITS_HELPER($1, m4_shift(m4_shift($@))) + ]) +]) diff --git a/m4/autoconf-archive/ax_define_sub_path.m4 b/m4/autoconf-archive/ax_define_sub_path.m4 new file mode 100755 index 0000000000..cfc667b761 --- /dev/null +++ b/m4/autoconf-archive/ax_define_sub_path.m4 @@ -0,0 +1,108 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_define_sub_path.html +# =========================================================================== +# +# OBSOLETE MACRO +# +# This macro is obsolete because its been completely broken for several +# years without anybody noticing, so apparently it's not used very much. +# +# SYNOPSIS +# +# AX_DEFINE_SUB_PATH(DEFNAME, varname, description) +# +# DESCRIPTION +# +# Look at varname and detect the subpath that it contains relative to +# $prefix/$exec_prefix. If the path is indeed relative to +# $prefix/$exec_prefix, then a single "./" (dotslash) is prepended, +# otherwise it can be seen as an absolute path that cannot be moved, which +# you possibly do for "/etc" files, or even those ending up in +# "/lib/modules" or "/winnt/system". +# +# This macro is not very intelligent, it's just a first try in this +# direction. It does currently just look into the current patterns, and +# replaces a ${prefix} with a simple dot. Amazingly, it works quite well +# for most packages. +# +# Example (configure.ac): +# +# AX_DEFINE_DIR([EPREFIX], [exec_prefix], [--exec-prefix or default]) +# AX_DEFINE_SUB_PATH([PATH_LIBDIR], [libdir], [--bindir subdir]) +# AC_DEFINE_UNQUOTED([PACKAGE],"$PACKAGE", [Name of package]) +# +# Example (in C): +# +# static const char _libdir[] = PATH_LIBDIR; /* configure default */ +# char* libdir; +# char* eprefix = getenv (PACKAGE "DIR"); +# if (! eprefix) eprefix = EPREFIX; /* default */ +# if (*_libdir != '.') libdir = strdup(_libdir); +# else { +# libdir = malloc(strlen(eprefix) + strlen(_libdir) + 2); +# strcpy(libdir, eprefix); +# strcat(libdir, PATH_DELIMITER_STRING); +# strcat(libdir, _libdir); +# } +# ... +# free (libdir); +# +# The AX_DEFINE_SUB_PATHS(varnames) macro looks for the given various +# install-paths that largely depend on either ${prefix} or ${exec_prefix}. +# Just cut out the prefix and ac_define the value. The value is uppercased +# and PATH_ prepended ie. ax_define_sub_paths(bindir libdir pkgdatadir) +# will create the defines PATH_BINDIR PATH_LIBDIR PATH_PKGDATADIR - see +# posix' include/paths.h that creates _PATH_DEV and friends. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([AC_DEFINE_SUB_PATH], [AX_DEFINE_SUB_PATH]) +AC_DEFUN([AX_DEFINE_SUB_PATH], +[dnl + test "_$prefix" = _NONE && prefix="$ac_default_prefix" + test "_$exec_prefix" = _NONE && exec_prefix='${prefix}' + P=`echo ifelse( $2, , [$]$1, [$]$2) | sed -e 's:^\${[a-z_]*prefix}:.:'` + ifelse($3, , + AC_DEFINE($1, $P, [sub path $2]), + AC_DEFINE($1, $P, $3)) +]) + +AC_DEFUN([AX_DEFINE_SUB_PATHS], +[dnl + test "_$prefix" = _NONE && prefix="$ac_default_prefix" + test "_$exec_prefix" = _NONE && exec_prefix='${prefix}' + for i in $1 ; do + P=`echo \$$i | sed -e 's:^\${[a-z_]*prefix}:.:'` + V=`echo path_$i | sed -e 'y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:'` + AC_DEFINE($V, $P, [sub path $i]), +]) diff --git a/m4/autoconf-archive/ax_dirname.m4 b/m4/autoconf-archive/ax_dirname.m4 new file mode 100755 index 0000000000..7de847e87d --- /dev/null +++ b/m4/autoconf-archive/ax_dirname.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_dirname.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DIRNAME(PATHNAME) +# +# DESCRIPTION +# +# Parts of the implementation have been taken from AS_DIRNAME from the +# main autoconf package in generation 2.5x. However, we do only use "sed" +# to cut out the dirname, and we do additionally clean up some dir/.. +# parts in the resulting pattern. +# +# this macro may be used in autoconf 2.13 scripts as well. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_DIRNAME], +[echo X[]$1 | + sed ['s/\/[^\/:][^\/:]*\/..\//\//g + s/\/[^\/:][^\/:]*\/..\//\//g + s/\/[^\/:][^\/:]*\/..\//\//g + s/\/[^\/:][^\/:]*\/..\//\//g + /^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q']]) diff --git a/m4/autoconf-archive/ax_dist_msi.m4 b/m4/autoconf-archive/ax_dist_msi.m4 new file mode 100755 index 0000000000..8d15148f7e --- /dev/null +++ b/m4/autoconf-archive/ax_dist_msi.m4 @@ -0,0 +1,114 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_dist_msi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DIST_MSI([File]) +# +# DESCRIPTION +# +# Adds support for a msi (Microsoft Installer) dist target. +# +# You must manually build the msi file yourself (probably from another +# computer). But it will be added to the list of extra bin dists and +# flagged for uploading (see ax_extra_dist.m4 and ax_upload.m4 for +# details). +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +AC_DEFUN([AX_DIST_MSI], +[ +AC_REQUIRE([AX_INSTALL_FILES]) +AC_MSG_NOTICE([adding dist-msi support]) +MSI_SETUP_FILE="$1" +AC_SUBST(MSI_SETUP_FILE) +if test "x$MSI_SETUP_FILE" != "x"; then + AC_MSG_NOTICE([setting msi file... $MSI_SETUP_FILE]) + AC_SUBST(USING_DIST_MSI) + AC_ARG_ENABLE(dist-msi, + AS_HELP_STRING(--enable-dist-msi[=ARG], + [enable support for msi (Microsoft Installer) + dist target. ARG can be + "yes" or "no". The default is "yes"]), + if test "x$enableval" != "x"; then + if test "x$enableval" = "xyes"; then + USING_DIST_MSI=true + AC_MSG_NOTICE([dist-msi support enabled]) + elif test "x$enableval" = "xno"; then + USING_DIST_MSI=false + AC_MSG_NOTICE([dist-msi support disabled]) + fi + fi, + USING_DIST_MSI=true + AC_MSG_NOTICE([dist-msi support enabled])) +else + AC_MSG_NOTICE([setting msi file... not set]) + AC_MSG_ERROR([a file must be specified when addind msi support]) +fi +AM_CONDITIONAL([ax_dist_msi_enabled],[test "x$USING_DIST_MSI" = "xtrue"]) +AX_ADD_AM_MACRO_STATIC([ + +if ax_dist_msi_enabled +msi dist-msi: \$(top_builddir)/\$(PACKAGE)-\$(VERSION).msi + +\$(top_builddir)/\$(PACKAGE)-\$(VERSION).msi: \$(top_builddir)/\$(MSI_SETUP_FILE) + @cp -f \"\$(top_builddir)/\$(MSI_SETUP_FILE)\" \"${AX_DOLLAR}@\" + +]) +AM_CONDITIONAL([ax_dist_msi_have_install_files],[test "x$AX_HAVE_INSTALL_FILES" = "xtrue"]) +AX_ADD_AM_MACRO_STATIC([ + +if ax_dist_msi_have_install_files +\$(top_builddir)/\$(MSI_SETUP_FILE): \$(top_builddir)/install_files + @echo \"the msi file (\$(MSI_SETUP_FILE)) must be (re)created\"; \\ + echo \"by building it with VC++\"; \\ + exit -1 +else +\$(top_builddir)/\$(MSI_SETUP_FILE): msi_up_to_date_notice + @if test ! -f \"\$(top_builddir)/\$(MSI_SETUP_FILE)\"; then \\ + echo \"the msi file (\$(MSI_SETUP_FILE)) must be created\"; \\ + echo \"by building it with VC++\"; \\ + exit -1; \\ + fi + +msi_up_to_date_notice: + @if test -f \"\$(top_builddir)/\$(MSI_SETUP_FILE)\"; then \\ + echo \"Warning: Dependency tracking cannot be enabled\"; \\ + echo \"Warning: the msi file (\$(MSI_SETUP_FILE))\"; \\ + echo \"Warning: Please make sure it is up to date.\"; \\ + exit -1; \\ + fi +endif # ax_dist_msi_have_install_files +]) + +AM_CONDITIONAL([ax_dist_msi_using_ax_extra_dist],[test "x$USING_AX_EXTRA_DIST" != "x"]) +AX_ADD_AM_MACRO_STATIC([ + +if ax_dist_msi_using_ax_extra_dist +EXTRA_BIN_DISTS += msi +endif # ax_dist_msi_using_ax_extra_dist + +]) + +AM_CONDITIONAL([ax_dist_msi_using_ax_upload],[test "x$USING_AX_UPLOAD" != "x"]) +AX_ADD_AM_MACRO_STATIC([ + +if ax_dist_msi_using_ax_upload +UPLOAD_BIN += upload-msi +UPLOAD_TARGETS += {msi=>\$(PACKAGE)-\$(VERSION).msi} +endif # ax_dist_msi_using_ax_upload + +endif # ax_dist_msi_enabled + +]) +]) diff --git a/m4/autoconf-archive/ax_dist_rpm.m4 b/m4/autoconf-archive/ax_dist_rpm.m4 new file mode 100755 index 0000000000..61d23ccbec --- /dev/null +++ b/m4/autoconf-archive/ax_dist_rpm.m4 @@ -0,0 +1,329 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_dist_rpm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DIST_RPM([SPEC]) +# +# DESCRIPTION +# +# Adds support for a rpm dist target. +# +# You will need to create a spec template with everything except the files +# and the Changelog. Use @PACKAGE@ and @VERSION@ to refer to the package +# name and version respectively. The files and ChangeLog will be filled +# in automatically. For instance: +# +# Summary: Foobar +# Name: @PACKAGE@ +# Version: @VERSION@ +# Release: 0 +# License: GPL +# Group: Productivity/Networking +# Source0: http://somewhere/Foobar/%{name}-%{version}.tar.gz +# URL: http://somewhere +# BuildRoot: %{_tmppath}/%{name}-root +# Prefix: %{_prefix} +# +# %description +# Foobar does something +# +# %prep +# %setup +# +# %build +# %configure +# make +# +# %install +# %makeinstall +# +# %clean +# rm -rf $RPM_BUILD_ROOT +# +# %files +# %defattr(-,root,root) +# +# %doc AUTHORS BUGS COPYING INSTALL NEWS README +# +# %changelog +# +# Make sure ax_upload.am is added to aminclude.am and you have 'include +# aminclude.am' in your toplevel Makefile.am +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + +AC_DEFUN([AX_DIST_RPM], +[ +AC_REQUIRE([AX_INSTALL_FILES]) +AC_MSG_NOTICE([adding rpm support]) +AM_CONDITIONAL([ax_dist_rpm_enable_upload],[test "x$USING_AX_UPLOAD" != "x"]) +AM_CONDITIONAL([ax_dist_rpm_using_ax_extra_dist],[test "x$USING_AX_EXTRA_DIST" != "x"]) +ax_dist_rpm_enabled=false +if test "x$AX_HAVE_INSTALL_FILES" = "xtrue"; then + AC_MSG_CHECKING([rpm spec template]) + if test -f "$srcdir/$1.in"; then + AC_MSG_RESULT([$1.in]) + AX_RPM_SPEC_FILE="$1"; + AC_SUBST(AX_RPM_SPEC_FILE) + AC_CONFIG_FILES([$1]) + AC_ARG_VAR(EDITOR, [default text editor]) + if test "x$EDITOR" = "x"; then + AC_CHECK_PROGS(EDITOR,[vim vi emacs]) + fi + AC_ARG_VAR(RPM, [rpm executable to use]) + if test "x$RPM" = "x"; then + AC_CHECK_PROGS(RPM,[rpmbuild rpm echo]) + fi + if test "x$RPM" != "x"; then + AC_ARG_VAR(PLATFORM_SUFFIX, [A short name for your platform that will be added to the name of the binary RPMs you may choose to create (by running make rpm). e.g. rh71 for RedHat 7.1, lsb1.3 for a LSB 1.3 compliant system (SuSE 8.2 or RedHat 9), osx103 for OS X 10.3.x, etc]) + AC_MSG_CHECKING([rpm platform suffix]) + if test "x$PLATFORM_SUFFIX" != "x"; then + AC_MSG_RESULT([$PLATFORM_SUFFIX]) + AC_SUBST([PLATFORM_SUFFIX]) + ax_dist_rpm_enabled=true + else + AC_MSG_RESULT([$PLATFORM_SUFFIX]) + AC_MSG_WARN([rpm support disabled... PLATFORM_SUFFIX not set]) + fi + else + AC_MSG_NOTICE([rpm support disabled... neither rpmbuild or rpm was found]) + fi + else + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([rpm spec template "$1.in" could not be found]) + fi +else + AC_MSG_NOTICE([rpm support disabled... install_files not available]) +fi +AM_CONDITIONAL([ax_dist_rpm_enabled], [test x"$ax_dist_rpm_enabled" = x"true"]) + +AX_ADD_AM_MACRO_STATIC([ +if ax_dist_rpm_enabled + +AX_DIST_RPM_CLEANFILES = \$(top_builddir)/RPMChangeLog \$(AX_INSTALL_FILES_CLEANFILES) + +\$(top_builddir)/RPMChangeLog: \$(top_srcdir)/ChangeLog + \$(GAWK) '/^[^0-9]/ { \\ + if( \$${AX_DOLLAR}1 == \"*\" ) \$${AX_DOLLAR}1 = \"-\"; print; } \\ + /^\$\$/ { \\ + print; } \\ + /^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/ { \\ + if( stop ) exit; \\ + split( \$${AX_DOLLAR}1, date, \"-\" ); \\ + \$${AX_DOLLAR}1 = strftime( \"%%a %%b %%d %%Y\", \\ + mktime( date[ 1 ] \" \" date[ 2 ] \" \" date [ 3 ] \" 00 00 00\" ) ); \\ + print \"* \" \$${AX_DOLLAR}0; } \\ + /Released \$(PACKAGE)-/ { \\ + gsub( /\$(PACKAGE)-/, \"\", \$${AX_DOLLAR}2 ); \\ + split( \$${AX_DOLLAR}2, ver, \".\" ); \\ + split( \"\$(VERSION)\", curr_ver, \".\" ); \\ + if( ver[ 1 ] != curr_ver[ 1 ] || ver[ 2 ] != curr_ver[ 2 ] ) stop = 1; } \\ + END { \\ + print \"[Please see the ChangeLog file for older changes] - Ed.\"; }' \\ + \$(top_srcdir)/ChangeLog > \$(top_builddir)/RPMChangeLog + +AX_DIST_RPM_CLEANFILES += \$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec +AX_DIST_RPM_EXTRA_DIST = \$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec \$(top_builddir)/\$(AX_RPM_SPEC_FILE).in + +spec: \$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec + +\$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec: \$(top_builddir)/\$(AX_RPM_SPEC_FILE) \$(top_builddir)/install_files \$(top_builddir)/RPMChangeLog + @cat \"\$(top_builddir)/\$(AX_RPM_SPEC_FILE)\" \\ + | \$(GAWK) -v files=\"\$\$files\" \\ + '{ print; } \\ + /%%defattr/ { while((getline < \"install_files\" ) > 0 ) { print; } }' \\ + > \"\$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec\" + @cat \"\$(top_builddir)/RPMChangeLog\" >> \"\$(top_builddir)/\$(PACKAGE)-\$(VERSION).spec\" + +AX_DIST_RPM_CLEANFILES += \\ +\$(top_builddir)/*.rpm \\ +\$(top_builddir)/rpmmacros + +~/.rpmmacros: + @echo \"~/.rpmmacros not found. Creating one like the following:\"; \\ + echo \"\"; \\ + echo \"%%packager \"; \\ + echo \"\"; \\ + echo \"%%distribution \"; \\ + echo \"%%vendor \"; \\ + echo \"\"; \\ + echo \"%%_topdir \$\$HOME/\"; \\ + echo \"%%_tmppath /tmp/\"; \\ + echo \"\"; \\ + echo \"%%_rpmtopdir %%{_topdir}rpm/\"; \\ + echo \"%%_builddir %%{_tmppath}\"; \\ + echo \"%%_rpmdir %%{_rpmtopdir}RPMS/\"; \\ + echo \"%%_sourcedir %%{_rpmtopdir}SOURCES/\"; \\ + echo \"%%_specdir %%{_rpmtopdir}SPECS/\"; \\ + echo \"%%_srcrpmdir %%{_rpmtopdir}SRPMS/\"; \\ + echo \"\"; \\ + echo \"Where is your name and is the\"; \\ + echo \"distribution you are building on (e.g. SuSE Linux 8.2 or\"; \\ + echo \"RedHat Linux 7.1). and is the organisation\"; \\ + echo \"you are associated with.\"; \\ + echo \"\"; \\ + echo \"Running 'make create-rpmmacros' will create a ~/.rpmmacros file\"; \\ + echo \"for you and try to open it in an editor\"; \\ + exit -1 + +create-rpmmacros: + @if test -e ~/.rpmmacros; then \\ + echo \"Error: ~/.rpmmacros already exists\"; \\ + echo \"Please remove it if you want to use\"; \\ + echo \"this command to replace it\"; \\ + exit -1; \\ + else \\ + echo \"%%packager \" > ~/.rpmmacros; \\ + echo \"\" >> ~/.rpmmacros; \\ + echo \"%%distribution \" >> ~/.rpmmacros; \\ + echo \"%%vendor \" >> ~/.rpmmacros; \\ + echo \"\" >> ~/.rpmmacros; \\ + echo \"%%_topdir \$\$HOME/\" >> ~/.rpmmacros; \\ + echo \"%%_tmppath /tmp/\" >> ~/.rpmmacros; \\ + echo \"\" >> ~/.rpmmacros; \\ + echo \"%%_rpmtopdir %%{_topdir}rpm/\" >> ~/.rpmmacros; \\ + echo \"%%_builddir %%{_tmppath}\" >> ~/.rpmmacros; \\ + echo \"%%_rpmdir %%{_rpmtopdir}RPMS/\" >> ~/.rpmmacros; \\ + echo \"%%_sourcedir %%{_rpmtopdir}SOURCES/\" >> ~/.rpmmacros; \\ + echo \"%%_specdir %%{_rpmtopdir}SPECS/\" >> ~/.rpmmacros; \\ + echo \"%%_srcrpmdir %%{_rpmtopdir}SRPMS/\" >> ~/.rpmmacros; \\ + if test \"x$EDITOR\" = "x"; then \\ + echo \"Error: no editor specified or found.\"; \\ + echo \"Please edit ~/.rpmmacros manually\"; \\ + else \\ + $EDITOR ~/.rpmmacros; \\ + exit \$\$?; \\ + fi \\ + fi + +rpmmacros: ~/.rpmmacros + @cp -f ~/.rpmmacros rpmmacros; + +dist-rpm: rpm +dist-srpm: srpm + +rpm: \$(PACKAGE)-\$(VERSION)-0.i*.$PLATFORM_SUFFIX.rpm +srpm: \$(PACKAGE)-\$(VERSION)-0.src.rpm + +\$(top_builddir)/\$(PACKAGE)-\$(VERSION)-0.i*.$PLATFORM_SUFFIX.rpm: \$(top_builddir)/rpmmacros \$(top_builddir)/\$(PACKAGE)-\$(VERSION).tar.gz + @\$(RPM) -tb \$(top_builddir)/\$(PACKAGE)-\$(VERSION).tar.gz + @RPMDIR=\`cat \$(top_builddir)/rpmmacros | \$(GAWK) '/%%_rpmdir/ { print \$${AX_DOLLAR}2; }'\`; \\ + echo \"\$\$RPMDIR\" | \$(EGREP) \"%%{.*}\" > /dev/null 2>&1; \\ + EXIT=\$\$?; \\ + while test \"\$\$EXIT\" == \"0\"; do \\ + RPMDIR=\`echo \"\$\$RPMDIR\" | \$(GAWK) '/%%{.*}/ \\ + { match( \$${AX_DOLLAR}0, /%%{.*}/, macro ); \\ + suffix = substr( \$${AX_DOLLAR}0, RSTART + RLENGTH ); \\ + gsub( /{|}/, \"\", macro[ 0 ] ); \\ + while( ( getline < \"\$(top_builddir)/rpmmacros\" ) > 0 ) \\ + { if( \$${AX_DOLLAR}1 == macro[ 0 ] ) { print \$${AX_DOLLAR}2 suffix; exit; } } \\ + exit 1; \\ + }'\`; \\ + if test \"\$${AX_DOLLAR}?\" == \"0\"; then \\ + echo \"\$\$RPMDIR\" | \$(EGREP) \"%%{.*}\" > /dev/null 2>&1; \\ + EXIT=\"\$${AX_DOLLAR}?\"; \\ + else \\ + EXIT=\"1\"; \\ + fi; \\ + done; \\ + if test -d \"\$\$RPMDIR\"; then \\ + for dir in \`ls \"\$\$RPMDIR\"\`; do \\ + ls \"\$\${RPMDIR}\$\${dir}/\$(PACKAGE)-\$(VERSION)-0.\$\${dir}.rpm\" > /dev/null 2>&1; \\ + if test \"\$${AX_DOLLAR}?\" == \"0\"; then \\ + cp \"\$\${RPMDIR}\$\${dir}/\$(PACKAGE)-\$(VERSION)-0.\$\${dir}.rpm\" \"\$(top_builddir)/\$(PACKAGE)-\$(VERSION)-0.\$\${dir}.$PLATFORM_SUFFIX.rpm\"; \\ + found=true; \\ + fi; \\ + done; \\ + if ! \$\$found; then \\ + echo \"RPM built but not found.\"; \\ + echo \"Please copy it to \$(top_builddir) manually.\"; \\ + exit 1; \\ + fi; \\ + else \\ + echo \"RPM built but I cannot find RPM directory.\"; \\ + echo \"Please copy it to \$(top_builddir) manually.\"; \\ + exit 1; \\ + fi; + +\$(top_builddir)/\$(PACKAGE)-\$(VERSION).tar.gz: \$(top_builddir)/install_files + cd \"\$(top_builddir)\" && \$(MAKE) \$(AM_MAKEFLAGS) dist-gzip + + + + +\$(PACKAGE)-\$(VERSION)-0.src.rpm: \$(top_builddir)/rpmmacros \$(top_builddir)/\$(PACKAGE)-\$(VERSION).tar.gz + @\$(RPM) -ts \$(top_builddir)/\$(PACKAGE)-\$(VERSION).tar.gz + @SRPMDIR=\`cat rpmmacros | \$(GAWK) '/%%_srcrpmdir/ { print ${AX_DOLLAR}${AX_DOLLAR}2; }'\`; \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}SRPMDIR\" | \$(EGREP) \"%%{.*}\" > /dev/null 2>&1; \\ + EXIT=${AX_DOLLAR}${AX_DOLLAR}?; \\ + while test \"${AX_DOLLAR}${AX_DOLLAR}EXIT\" == \"0\"; do \\ + SRPMDIR=\`echo \"${AX_DOLLAR}${AX_DOLLAR}SRPMDIR\" | \$(GAWK) '/%%{.*}/ \\ + { match( ${AX_DOLLAR}${AX_DOLLAR}0, /%%{.*}/, macro ); \\ + suffix = substr( ${AX_DOLLAR}${AX_DOLLAR}0, RSTART + RLENGTH ); \\ + gsub( /{|}/, \"\", macro[ 0 ] ); \\ + while( ( getline < \"rpmmacros\" ) > 0 ) \\ + { if( ${AX_DOLLAR}${AX_DOLLAR}1 == macro[ 0 ] ) { print ${AX_DOLLAR}${AX_DOLLAR}2 suffix; exit; } } \\ + exit 1; \\ + }'\`; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}?\" == \"0\"; then \\ + echo \"${AX_DOLLAR}${AX_DOLLAR}SRPMDIR\" | \$(EGREP) \"%%{.*}\" > /dev/null 2>&1; \\ + EXIT=\"${AX_DOLLAR}${AX_DOLLAR}?\"; \\ + else \\ + EXIT=\"1\"; \\ + fi; \\ + done; \\ + if test -d \"${AX_DOLLAR}${AX_DOLLAR}SRPMDIR\"; then \\ + ls \"${AX_DOLLAR}${AX_DOLLAR}{SRPMDIR}/\$(PACKAGE)-\$(VERSION)-0.src.rpm\" > /dev/null 2>&1; \\ + if test \"${AX_DOLLAR}${AX_DOLLAR}?\" == \"0\"; then \\ + cp \"\$${AX_DOLLAR}{SRPMDIR}/\$(PACKAGE)-\$(VERSION)-0.src.rpm\" \"${AX_DOLLAR}(top_builddir)/.\"; \\ + found=true; \\ + fi; \\ + if ! ${AX_DOLLAR}${AX_DOLLAR}found; then \\ + echo \"SRPM built but not found.\"; \\ + echo \"Please copy it to ${AX_DOLLAR}(top_builddir) manually.\"; \\ + exit 1; \\ + fi; \\ + else \\ + echo \"SRPM built but I cannot find SRPM directory.\"; \\ + echo \"Please copy it to ${AX_DOLLAR}(top_builddir) directory manually.\"; \\ + exit 1; \\ + fi; + + +AX_DIST_RPM_EXTRA_BIN_DISTS = rpm +AX_DIST_RPM_EXTRA_SRC_DISTS = srpm + +if ax_dist_rpm_enable_upload +AX_DIST_RPM_UPLOAD_BIN = upload-rpm +AX_DIST_RPM_UPLOAD_SRC = upload-srpm + +AX_DIST_RPM_UPLOAD_TARGETS = \\ +{rpm=>$PACKAGE-$VERSION-0.i*.$PLATFORM_SUFFIX.rpm} \\ +{srpm=>$PACKAGE-$VERSION-0.src.rpm} +endif # ax_dist_rpm_enable_upload + +endif # ax_dist_rpm_enabled + +# These rules are included unconditionally since we cannot conditionally add +# dependencies. +clean-local: clean-ax-dist-rpm +clean-ax-dist-rpm: + -test -z \"\$(AX_DIST_RPM_CLEANFILES)\" || rm -f \$(AX_DIST_RPM_CLEANFILES) + +dist-hook: dist-hook-ax-dist-rpm +dist-hook-ax-dist-rpm: \$(AX_DIST_RPM_EXTRA_DIST) + -test -z \"\$(AX_DIST_RPM_EXTRA_DIST)\" || cp \$(AX_DIST_RPM_EXTRA_DIST) \$(distdir) + +]) +]) diff --git a/m4/autoconf-archive/ax_dll_string.m4 b/m4/autoconf-archive/ax_dll_string.m4 new file mode 100755 index 0000000000..08c3a3d37f --- /dev/null +++ b/m4/autoconf-archive/ax_dll_string.m4 @@ -0,0 +1,90 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_dll_string.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_DLL_STRING +# +# DESCRIPTION +# +# Tests for a bug currently in g++ 3.4.4 on Cygwin (maybe other targets +# with statically linked libstdc++?) where passing an empty std::string to +# a dll will cause a crash on destruction due to incorrect memory +# handling. See bug 24196 in gcc's bugzilla for more details: +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24196 +# +# LICENSE +# +# Copyright (c) 2008 Steven Brown +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +dnl Plan: compile conftest-dll.cc, conftest-exe.cc. It has a 'crash' param +dnl that can be passed. Verify the compile worked and we can run it normally +dnl ok. Then, pass 'crash', test if it crashed, fail. + +AC_DEFUN([AX_DLL_STRING], +[ + AC_MSG_CHECKING(if the dll string test can be compiled) + cat << EOF > conftest-dll.cc +[ +#include +using namespace std; + +void testit(std::string (*contentGet)()) { + contentGet(); +} +] +EOF + cat << EOF > conftest-exe.cc +[ +#include +#include +using namespace std; + +extern void testit(std::string (*contentGet)()); + +std::string contentGet() { + return string(""); // Anything other than empty string works. +} + +int main(int argc, char *argv[]) { + if(argc == 2 && strcmp(argv[1], "crash") == 0) { + testit(&contentGet); + } + return 0; +} +] +EOF + $CXX -shared $CFLAGS $CPPFLAGS conftest-dll.cc -o conftest-dll.dll >&AS_MESSAGE_LOG_FD && $CXX $CFLAGS $CPPFLAGS conftest-exe.cc conftest-dll.dll -o conftest-exe.exe >& AS_MESSAGE_LOG_FD + if test x"$?" = x"0"; then + AC_MSG_RESULT(yes) + + dnl Make sure it runs normally first. + AC_MSG_CHECKING(if the dll string test is usable) + if /bin/sh -c "(LD_LIBRARY_PATH=\"$PWD\" ./conftest-exe.exe)" >& AS_MESSAGE_LOG_FD 2>&1; then + AC_MSG_RESULT(yes) + + dnl Now we can check for the bug. + AC_MSG_CHECKING(if the dll string test is affected by gcc bug 24196) + if ! /bin/sh -c "(LD_LIBRARY_PATH=\"$PWD\" ./conftest-exe.exe crash)" >& AS_MESSAGE_LOG_FD 2>&1; then + AC_MSG_RESULT(yes) + + dnl We have the bug, user'll need to fix it. + AC_MSG_ERROR([*** This toolchain is affected by gcc bug 24196. For Cygwin as of 4/8/2006, you can downgrade to gcc/g++ 3.3.3 or check if there is a newer compiler available that's fixed.]) + else + AC_MSG_RESULT(no) + fi + else + AC_MSG_RESULT(no) + fi + else + AC_MSG_RESULT(no) + fi +]) diff --git a/m4/autoconf-archive/ax_elisp.m4 b/m4/autoconf-archive/ax_elisp.m4 new file mode 100755 index 0000000000..09da26d14d --- /dev/null +++ b/m4/autoconf-archive/ax_elisp.m4 @@ -0,0 +1,170 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_elisp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ELISP_CONFIG_FILE(FILENAME) +# AX_ELISP_CHECK(SYMBOL,DESCRIPTION,BODY,SUCCESS-EXPR) +# AX_ELISP_CHECK_FEATURE(SYMBOL) +# AX_ELISP_CHECK_FBOUNDP(SYMBOL,[FEATURE [...]]) +# AX_ELISP_CHECK_BOUNDP(SYMBOL,[FEATURE [...]]) +# +# DESCRIPTION +# +# This is a simple library to check the Emacs reality by way of Emacs Lisp +# forms evaluated under $EMACS --batch -Q. This means you MUST have the +# shell variable EMACS set to a valid Emacs executable prior to the first +# call to any of the AX_ELISP_CHECK et al macros. Those work by saving +# their results to the file defined by calling AX_ELISP_CONFIG_FILE so you +# MUST call that prior, too. For example: +# +# dnl Arrange to save config answers in $top_builddir/lisp/config.el. +# AX_ELISP_CONFIG_FILE([lisp/config.el]) +# +# dnl Set shell variable EMACS and AC_SUBST it, too. +# dnl (NB: This is a separate Autoconf Archive macro.) +# AX_PROG_EMACS +# +# In the following detailed descriptions, SYMBOL stands for an Emacs Lisp +# symbol, which may contain hyphens, e.g., 'define-error' or 'org-src'. +# Likewise, FEATURE is an Emacs Lisp symbol (naming a feature). BODY and +# SUCCESS-EXPR are Emacs Lisp forms, zero or more for BODY and exactly one +# for SUCCESS-EXPR. In these forms you must take care to avoid apostrophe +# (U+27). Instead of 'foo, write (quote foo). +# +# * AX_ELISP_CONFIG_FILE(FILENAME) +# +# This arranges for future AX_ELISP_CHECK (et al) calls to save their +# results in FILENAME. May be called multiple times. FILENAME should be +# relative to the top build dir. +# +# * AX_ELISP_CHECK(SYMBOL,DESCRIPTION,BODY,SUCCESS-EXPR) +# +# This is the general macro that the other AX_ELISP_CHECK* macros use. It +# constructs a short Emacs Lisp file comprising BODY and evaluates it via +# $EMACS --batch -Q. The exit value of this script depends on the result +# of evaluating SUCCESS-EXPR: non-nil is success and nil is failure. On +# success, append SYMBOL on a line of its own to the config file. This +# macro uses AC_CACHE_CHECK and passes DESCRIPTION to it. +# +# * AX_ELISP_CHECK_FEATURE(FEATURE) +# +# This checks if (require (quote FEATURE)) is successful. If so, add +# featurep-FEATURE to the config file (NB the "featurep-" prefix). +# +# * AX_ELISP_CHECK_FBOUNDP(SYMBOL,[FEATURE [...]]) +# +# This checks if (fboundp (quote SYMBOL)) is successful. If so, append +# SYMBOL to the config file. Optional 2nd arg is a space-separated list of +# features to require prior to the fboundp check. +# +# * AX_ELISP_CHECK_BOUNDP(SYMBOL,[FEATURE [...]]) +# +# This checks if (boundp (quote SYMBOL)) is successful. If so, append +# SYMBOL to the config file. Optional 2nd arg is a space-separated list of +# features to require prior to the boundp check. +# +# LICENSE +# +# Copyright (c) 2016-2017 Thien-Thi Nguyen +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_ELISP_CONFIG_FILE],[dnl +dnl 1 -- relative filename (from 'top_srcdir') +m4_define([AX_ELISP__CONFIG_FILENAME],[$1])dnl +])dnl + + +AC_DEFUN([AX_ELISP__PREP],[dnl +AS_IF([AS_VAR_TEST_SET([EMACS])],,dnl + [AC_MSG_ERROR([No value for EMACS])]) +dnl FIXME: Check at autoconf-time that AX_ELISP__CONFIG_FILENAME is set. +dnl (If not, or if the value is unsuitable, throw fatal error.) +rm -f AX_ELISP__CONFIG_FILENAME +touch AX_ELISP__CONFIG_FILENAME +])dnl + + +AC_DEFUN([AX_ELISP_CHECK],[dnl +dnl 1 -- Emacs Lisp symbol to add to config file if "success" +dnl 2 -- description +dnl 3 -- Emacs Lisp body (zero or more forms) +dnl 4 -- Emacs Lisp expression for "success" +AC_REQUIRE([AX_ELISP__PREP])dnl +AS_VAR_PUSHDEF([CV],[elisp_cv_$1])dnl +AC_CACHE_CHECK([$2],[CV],[dnl +cat >conftest.el <&5 2>&5],[CV=yes],[CV=no])]) +AS_IF([test yes = $[]CV],[echo "$1" >> AX_ELISP__CONFIG_FILENAME]) +AS_VAR_POPDEF([CV])dnl +])dnl + + +AC_DEFUN([AX_ELISP_CHECK_FEATURE],[dnl +dnl 1 -- Emacs Lisp symbol (a feature name) +AC_REQUIRE([AX_ELISP__PREP])dnl +AX_ELISP_CHECK([featurep-$1],[if $EMACS supports feature '$1'],[dnl +(require (quote $1)) +],[dnl +(featurep (quote $1)) +])]) + + +AC_DEFUN([AX_ELISP_CHECK_FBOUNDP],[dnl +dnl 1 -- Emacs Lisp symbol +dnl 2 -- (optional) space-separated list of features to 'require' +AX_ELISP_CHECK([$1],[if '$1' is defined],[dnl +m4_foreach([FEATURE],m4_split(m4_normalize($2)),[dnl +(require 'FEATURE) +])],[(fboundp '$1)])])dnl + + +AC_DEFUN([AX_ELISP_CHECK_BOUNDP],[dnl +dnl 1 -- Emacs Lisp symbol +dnl 2 -- (optional) space-separated list of features to 'require' +AX_ELISP_CHECK([$1],[if '$1' is defined],[dnl +m4_foreach([FEATURE],m4_split(m4_normalize($2)),[dnl +(require 'FEATURE) +])],[(boundp '$1)])])dnl + + +dnl TODO: +dnl - Add error checking (see FIXME in code). +dnl - Validate m4 mumblings -- is this the right crazy?! +dnl - Add customization of $EMACS invocation. +dnl +dnl Local variables: +dnl mode: autoconf +dnl End: +dnl ax_elisp.m4 ends here diff --git a/m4/autoconf-archive/ax_enable_builddir.m4 b/m4/autoconf-archive/ax_enable_builddir.m4 new file mode 100755 index 0000000000..710384da54 --- /dev/null +++ b/m4/autoconf-archive/ax_enable_builddir.m4 @@ -0,0 +1,302 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])] +# +# DESCRIPTION +# +# If the current configure was run within the srcdir then we move all +# configure-files into a subdir and let the configure steps continue +# there. We provide an option --disable-builddir to suppress the move into +# a separate builddir. +# +# Defaults: +# +# $1 = $host (overridden with $HOST) +# $2 = Makefile.mk +# $3 = -all +# +# This macro must be called before AM_INIT_AUTOMAKE. It creates a default +# toplevel srcdir Makefile from the information found in the created +# toplevel builddir Makefile. It just copies the variables and +# rule-targets, each extended with a default rule-execution that recurses +# into the build directory of the current "HOST". You can override the +# auto-detection through `config.guess` and build-time of course, as in +# +# make HOST=i386-mingw-cross +# +# which can of course set at configure time as well using +# +# configure --host=i386-mingw-cross +# +# After the default has been created, additional rules can be appended +# that will not just recurse into the subdirectories and only ever exist +# in the srcdir toplevel makefile - these parts are read from the $2 = +# Makefile.mk file +# +# The automatic rules are usually scanning the toplevel Makefile for lines +# like '#### $host |$builddir' to recognize the place where to recurse +# into. Usually, the last one is the only one used. However, almost all +# targets have an additional "*-all" rule which makes the script to +# recurse into _all_ variants of the current HOST (!!) setting. The "-all" +# suffix can be overridden for the macro as well. +# +# a special rule is only given for things like "dist" that will copy the +# tarball from the builddir to the sourcedir (or $(PUB)) for reason of +# convenience. +# +# LICENSE +# +# Copyright (c) 2009 Guido U. Draheim +# Copyright (c) 2009 Alan Jenkins +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 30 + +AC_DEFUN([AX_ENABLE_BUILDDIR],[ +AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +AC_REQUIRE([AC_CANONICAL_TARGET])[]dnl +AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl +AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl +AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl +AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl +AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl +SUB="." +AC_ARG_ENABLE([builddir], AS_HELP_STRING( + [--disable-builddir],[disable automatic build in subdir of sources]) + ,[SUB="$enableval"], [SUB="auto"]) +if test ".$ac_srcdir_defaulted" != ".no" ; then +if test ".$srcdir" = ".." ; then + if test -f config.status ; then + AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build) + else + test ".$SUB" = "." && SUB="." + test ".$SUB" = ".no" && SUB="." + test ".$TARGET" = "." && TARGET="$target" + test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])" + if test ".$SUB" != ".." ; then # we know where to go and + AS_MKDIR_P([$SUB]) + echo __.$SUB.__ > $SUB/conftest.tmp + cd $SUB + if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then + rm conftest.tmp + AC_MSG_RESULT([continue configure in default builddir "./$SUB"]) + else + AC_MSG_ERROR([could not change to default builddir "./$SUB"]) + fi + srcdir=`echo "$SUB" | + sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'` + # going to restart from subdirectory location + test -f $srcdir/config.log && mv $srcdir/config.log . + test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h . + test -f $srcdir/conftest.log && mv $srcdir/conftest.log . + test -f $srcdir/$cache_file && mv $srcdir/$cache_file . + AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"}) + case "[$]0" in # restart + [[\\/]]* | ?:[[\\/]]*) # Absolute name + eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; + *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; + esac ; exit $? + fi + fi +fi fi +test ".$SUB" = ".auto" && SUB="." +dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec" +AC_PATH_PROG(SED,gsed sed, sed) +AUX="$am_aux_dir" +AS_VAR_POPDEF([SED])dnl +AS_VAR_POPDEF([AUX])dnl +AS_VAR_POPDEF([SUB])dnl +AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status .............. +AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl +AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl +AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl +AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl +AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl +pushdef([END],[Makefile.mk])dnl +pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl + SRC="$ax_enable_builddir_srcdir" + if test ".$SUB" = ".." ; then + if test -f "$TOP/Makefile" ; then + AC_MSG_NOTICE([skipping TOP/Makefile - left untouched]) + else + AC_MSG_NOTICE([skipping TOP/Makefile - not created]) + fi + else + if test -f "$SRC/Makefile" ; then + a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile` + test "$a" != "$b" && rm "$SRC/Makefile" + fi + if test -f "$SRC/Makefile" ; then + echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk + echo " []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk + eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null" + if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null + then rm $SRC/Makefile ; fi + cp $tmp/conftemp.mk $SRC/makefiles.mk~ ## DEBUGGING + fi + if test ! -f "$SRC/Makefile" ; then + AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile]) + x='`' ; cat >$tmp/conftemp.sed <<_EOF +/^\$/n +x +/^\$/bS +x +/\\\\\$/{H;d;} +{H;s/.*//;x;} +bM +:S +x +/\\\\\$/{h;d;} +{h;s/.*//;x;} +:M +s/\\(\\n\\) /\\1 /g +/^ /d +/^[[ ]]*[[\\#]]/d +/^VPATH *=/d +s/^srcdir *=.*/srcdir = ./ +s/^top_srcdir *=.*/top_srcdir = ./ +/[[:=]]/!d +/^\\./d +dnl Now handle rules (i.e. lines containing ":" but not " = "). +/ = /b +/ .= /b +/:/!b +s/:.*/:/ +s/ / /g +s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g +s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/ +s/ / /g +/^all all[]_ALL[[ :]]/i\\ +all-configured : all[]_ALL +dnl dist-all exists... and would make for dist-all-all +s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g +/[]_ALL[]_ALL/d +a\\ + @ HOST="\$(HOST)\" \\\\\\ + ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ + ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ + ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ + ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\ + ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\ + ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ + ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\ + ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ + ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done +dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree) +/dist[]_ALL *:/a\\ + @ HOST="\$(HOST)\" \\\\\\ + ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ + ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ + ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ + ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\ + ; if test "\$\$found" -eq "0" ; then : \\\\\\ + ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ + ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ + ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\ + ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done +dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree) +/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\ + @ HOST="\$(HOST)\" \\\\\\ + ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\ + ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\ + ; found=$x echo \$\$BUILD | wc -w $x \\\\\\ + ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\ + ; if test "\$\$found" -eq "0" ; then : \\\\\\ + ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\ + ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ + ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\ + ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done +dnl special rule add-on: "distclean" removes all local builddirs completely +/distclean[]_ALL *:/a\\ + @ HOST="\$(HOST)\" \\\\\\ + ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\ + ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\ + ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\ + ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\ + ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\ + ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ + ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\ + ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\ + ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\ + ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\ + ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile +_EOF + cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING + $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile + if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then + AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])]) + cat $SRC/END >>$SRC/Makefile + fi ; xxxx="####" + echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile + # sanity check + if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then + AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts]) + $SED -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $SRC/Makefile \ + >$SRC/Makefile~ + (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null + fi + else + xxxx="\\#\\#\\#\\#" + # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed + echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed + $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp + cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~" ## DEBUGGING + cp "$tmp/mkfile.tmp" "$SRC/makefiles.out~" ## DEBUGGING + if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then + AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure]) + rm "$tmp/mkfile.tmp" + else + AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure]) + mv "$tmp/mkfile.tmp" "$SRC/Makefile" + fi + fi + AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)]) + xxxx="####" + echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile + fi +popdef([END])dnl +AS_VAR_POPDEF([SED])dnl +AS_VAR_POPDEF([AUX])dnl +AS_VAR_POPDEF([SRC])dnl +AS_VAR_POPDEF([TOP])dnl +AS_VAR_POPDEF([SUB])dnl +],[dnl +ax_enable_builddir_srcdir="$srcdir" # $srcdir +ax_enable_builddir_host="$HOST" # $HOST / $host +ax_enable_builddir_version="$VERSION" # $VERSION +ax_enable_builddir_package="$PACKAGE" # $PACKAGE +ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX +ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED +ax_enable_builddir="$ax_enable_builddir" # $SUB +])dnl +]) diff --git a/m4/autoconf-archive/ax_execinfo.m4 b/m4/autoconf-archive/ax_execinfo.m4 new file mode 100755 index 0000000000..0ff5fc0ee9 --- /dev/null +++ b/m4/autoconf-archive/ax_execinfo.m4 @@ -0,0 +1,67 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_execinfo.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXECINFO([ACTION-IF-EXECINFO-H-IS-FOUND], [ACTION-IF-EXECINFO-H-IS-NOT-FOUND], [ADDITIONAL-TYPES-LIST]) +# +# DESCRIPTION +# +# Checks for execinfo.h header and if the len parameter/return type can be +# found from a list, also define backtrace_size_t to that type. +# +# By default the list of types to try contains int and size_t, but should +# some yet undiscovered system use e.g. unsigned, the 3rd argument can be +# used for extensions. I'd like to hear of further suggestions. +# +# Executes ACTION-IF-EXECINFO-H-IS-FOUND when present and the execinfo.h +# header is found or ACTION-IF-EXECINFO-H-IS-NOT-FOUND in case the header +# seems unavailable. +# +# Also adds -lexecinfo to LIBS on BSD if needed. +# +# LICENSE +# +# Copyright (c) 2014 Thomas Jahns +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_EXECINFO], + [AC_CHECK_HEADERS([execinfo.h]) + AS_IF([test x"$ac_cv_header_execinfo_h" = xyes], + [AC_CACHE_CHECK([size parameter type for backtrace()], + [ax_cv_proto_backtrace_type], + [AC_LANG_PUSH([C]) + for ax_cv_proto_backtrace_type in size_t int m4_ifnblank([$3],[$3 ])none; do + AS_IF([test "${ax_cv_proto_backtrace_type}" = none], + [ax_cv_proto_backtrace_type= ; break]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +#include +extern +${ax_cv_proto_backtrace_type} backtrace(void **addrlist, ${ax_cv_proto_backtrace_type} len); +char **backtrace_symbols(void *const *buffer, ${ax_cv_proto_backtrace_type} size); +])], + [break]) + done + AC_LANG_POP([C])])]) + AS_IF([test x${ax_cv_proto_backtrace_type} != x], + [AC_DEFINE_UNQUOTED([backtrace_size_t], [$ax_cv_proto_backtrace_type], + [Defined to return type of backtrace().])]) + AC_SEARCH_LIBS([backtrace],[execinfo]) + AS_IF([test x"${ax_cv_proto_backtrace_type}" != x -a x"$ac_cv_header_execinfo_h" = xyes -a x"$ac_cv_search_backtrace" != xno], + [AC_DEFINE([HAVE_BACKTRACE],[1], + [Defined if backtrace() could be fully identified.]) + ]m4_ifnblank([$1],[$1 +]),m4_ifnblank([$2],[$2 +]))]) +dnl +dnl Local Variables: +dnl mode: autoconf +dnl End: +dnl diff --git a/m4/autoconf-archive/ax_expand_prefix.m4 b/m4/autoconf-archive/ax_expand_prefix.m4 new file mode 100755 index 0000000000..efa6299fb3 --- /dev/null +++ b/m4/autoconf-archive/ax_expand_prefix.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_expand_prefix.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXPAND_PREFIX +# +# DESCRIPTION +# +# When $prefix and $exec_prefix are still set to NONE then set them to the +# usual default values - being based on $ac_default_prefix. - this macro +# can be AC_REQUIREd by other macros that need to compute values for +# installation directories. It has been observed that it was done wrong +# over and over again, so this is a bit more safe to do. +# +# remember - setting exec_prefix='${prefix}' needs you interpolate +# directories multiple times, it is not sufficient to just say +# MYVAR="${datadir}/putter" but you do have to run `eval` a few times, +# sth. like MYVAR=`eval "echo \"$MYVAR\""` done at least two times. +# +# The implementation of this macro simply picks up the lines that would be +# run at the start of AC_OUTPUT anyway to set the prefix/exec_prefix +# defaults. Between AC_INIT and the first command to AC_REQUIRE this macro +# you can set the two variables to something explicit instead. Probably, +# any command to compute installation directories should be run _after_ +# AM_INIT_AUTOMAKE +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_EXPAND_PREFIX],[dnl + # The prefix default can be set in configure.ac (otherwise it is /usr/local) + test "x$prefix" = xNONE && prefix=$ac_default_prefix + # Let make expand exec_prefix. Allows to override the makevar 'prefix' later + test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +]) diff --git a/m4/autoconf-archive/ax_ext.m4 b/m4/autoconf-archive/ax_ext.m4 new file mode 100755 index 0000000000..66de4c321a --- /dev/null +++ b/m4/autoconf-archive/ax_ext.m4 @@ -0,0 +1,328 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ext.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXT +# +# DESCRIPTION +# +# Find supported SIMD extensions by requesting cpuid. When a SIMD +# extension is found, the -m"simdextensionname" is added to SIMD_FLAGS if +# compiler supports it. For example, if "sse2" is available then "-msse2" +# is added to SIMD_FLAGS. +# +# Find other supported CPU extensions by requesting cpuid. When a +# processor extension is found, the -m"extensionname" is added to +# CPUEXT_FLAGS if compiler supports it. For example, if "bmi2" is +# available then "-mbmi2" is added to CPUEXT_FLAGS. +# +# This macro calls: +# +# AC_SUBST(SIMD_FLAGS) +# AC_SUBST(CPUEXT_FLAGS) +# +# And defines: +# +# HAVE_RDRND / HAVE_BMI1 / HAVE_BMI2 / HAVE_ADX / HAVE_MPX +# HAVE_PREFETCHWT1 / HAVE_ABM / HAVE_MMX / HAVE_SSE / HAVE_SSE2 +# HAVE_SSE3 / HAVE_SSSE3 / HAVE_SSE4_1 / HAVE_SSE4_2 / HAVE_SSE4a +# HAVE_SHA / HAVE_AES / HAVE_AVX / HAVE_FMA3 / HAVE_FMA4 / HAVE_XOP +# HAVE_AVX2 / HAVE_AVX512_F / HAVE_AVX512_CD / HAVE_AVX512_PF +# HAVE_AVX512_ER / HAVE_AVX512_VL / HAVE_AVX512_BW / HAVE_AVX512_DQ +# HAVE_AVX512_IFMA / HAVE_AVX512_VBMI / HAVE_ALTIVEC / HAVE_VSX +# +# LICENSE +# +# Copyright (c) 2007 Christophe Tournayre +# Copyright (c) 2013,2015 Michael Petch +# Copyright (c) 2017 Rafael de Lucena Valle +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +AC_DEFUN([AX_EXT], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_PROG_CC]) + + CPUEXT_FLAGS="" + SIMD_FLAGS="" + + case $host_cpu in + powerpc*) + AC_CACHE_CHECK([whether altivec is supported for old distros], [ax_cv_have_altivec_old_ext], + [ + if test `/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.optional.altivec` != 0; then + if test `/usr/sbin/sysctl -n hw.optional.altivec` = 1; then + ax_cv_have_altivec_old_ext=yes + fi + fi + ]) + + if test "$ax_cv_have_altivec_old_ext" = yes; then + AC_DEFINE(HAVE_ALTIVEC,,[Support Altivec instructions]) + AX_CHECK_COMPILE_FLAG(-faltivec, SIMD_FLAGS="$SIMD_FLAGS -faltivec", []) + fi + + AC_CACHE_CHECK([whether altivec is supported], [ax_cv_have_altivec_ext], + [ + if test `LD_SHOW_AUXV=1 /bin/true 2>/dev/null|grep -c altivec` != 0; then + ax_cv_have_altivec_ext=yes + fi + ]) + + if test "$ax_cv_have_altivec_ext" = yes; then + AC_DEFINE(HAVE_ALTIVEC,,[Support Altivec instructions]) + AX_CHECK_COMPILE_FLAG(-maltivec, SIMD_FLAGS="$SIMD_FLAGS -maltivec", []) + fi + + AC_CACHE_CHECK([whether vsx is supported], [ax_cv_have_vsx_ext], + [ + if test `LD_SHOW_AUXV=1 /bin/true 2>/dev/null|grep -c vsx` != 0; then + ax_cv_have_vsx_ext=yes + fi + ]) + + if test "$ax_cv_have_vsx_ext" = yes; then + AC_DEFINE(HAVE_VSX,,[Support VSX instructions]) + AX_CHECK_COMPILE_FLAG(-mvsx, SIMD_FLAGS="$SIMD_FLAGS -mvsx", []) + fi + ;; + + i[[3456]]86*|x86_64*|amd64*) + + AC_REQUIRE([AX_GCC_X86_CPUID]) + AC_REQUIRE([AX_GCC_X86_CPUID_COUNT]) + AC_REQUIRE([AX_GCC_X86_AVX_XGETBV]) + + eax_cpuid0=0 + AX_GCC_X86_CPUID(0x00000000) + if test "$ax_cv_gcc_x86_cpuid_0x00000000" != "unknown"; + then + eax_cpuid0=`echo $ax_cv_gcc_x86_cpuid_0x00000000 | cut -d ":" -f 1` + fi + + eax_cpuid80000000=0 + AX_GCC_X86_CPUID(0x80000000) + if test "$ax_cv_gcc_x86_cpuid_0x80000000" != "unknown"; + then + eax_cpuid80000000=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1` + fi + + ecx_cpuid1=0 + edx_cpuid1=0 + if test "$((0x$eax_cpuid0))" -ge 1 ; then + AX_GCC_X86_CPUID(0x00000001) + if test "$ax_cv_gcc_x86_cpuid_0x00000001" != "unknown"; + then + ecx_cpuid1=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 3` + edx_cpuid1=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 4` + fi + fi + + ebx_cpuid7=0 + ecx_cpuid7=0 + if test "$((0x$eax_cpuid0))" -ge 7 ; then + AX_GCC_X86_CPUID_COUNT(0x00000007, 0x00) + if test "$ax_cv_gcc_x86_cpuid_0x00000007" != "unknown"; + then + ebx_cpuid7=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 2` + ecx_cpuid7=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 3` + fi + fi + + ecx_cpuid80000001=0 + edx_cpuid80000001=0 + if test "$((0x$eax_cpuid80000000))" -ge "$((0x80000001))" ; then + AX_GCC_X86_CPUID(0x80000001) + if test "$ax_cv_gcc_x86_cpuid_0x80000001" != "unknown"; + then + ecx_cpuid80000001=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 3` + edx_cpuid80000001=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 4` + fi + fi + + AC_CACHE_VAL([ax_cv_have_mmx_os_support_ext], + [ + ax_cv_have_mmx_os_support_ext=yes + ]) + + ax_cv_have_none_os_support_ext=yes + + AC_CACHE_VAL([ax_cv_have_sse_os_support_ext], + [ + ax_cv_have_sse_os_support_ext=no, + if test "$((0x$edx_cpuid1>>25&0x01))" = 1; then + AC_LANG_PUSH([C]) + AC_TRY_RUN([ +#include +#include + /* No way at ring1 to ring3 in protected mode to check the CR0 and CR4 + control registers directly. Execute an SSE instruction. + If it raises SIGILL then OS doesn't support SSE based instructions */ + void sig_handler(int signum){ exit(1); } + int main(){ + signal(SIGILL, sig_handler); + /* SSE instruction xorps %xmm0,%xmm0 */ + __asm__ __volatile__ (".byte 0x0f, 0x57, 0xc0"); + return 0; + }], + ax_cv_have_sse_os_support_ext=yes, + ax_cv_have_sse_os_support_ext=no, + ax_cv_have_sse_os_support_ext=no) + AC_LANG_POP([C]) + fi + ]) + + xgetbv_eax=0 + if test "$((0x$ecx_cpuid1>>28&0x01))" = 1; then + AX_GCC_X86_AVX_XGETBV(0x00000000) + + if test x"$ax_cv_gcc_x86_avx_xgetbv_0x00000000" != x"unknown"; then + xgetbv_eax=`echo $ax_cv_gcc_x86_avx_xgetbv_0x00000000 | cut -d ":" -f 1` + fi + + AC_CACHE_VAL([ax_cv_have_avx_os_support_ext], + [ + ax_cv_have_avx_os_support_ext=no + if test "$((0x$ecx_cpuid1>>27&0x01))" = 1; then + if test "$((0x$xgetbv_eax&0x6))" = 6; then + ax_cv_have_avx_os_support_ext=yes + fi + fi + ]) + fi + + AC_CACHE_VAL([ax_cv_have_avx512_os_support_ext], + [ + ax_cv_have_avx512_os_support_ext=no + if test "$ax_cv_have_avx_os_support_ext" = yes; then + if test "$((0x$xgetbv_eax&0xe6))" = "$((0xe6))"; then + ax_cv_have_avx512_os_support_ext=yes + fi + fi + ]) + + for ac_instr_info dnl + in "none;rdrnd;RDRND;ecx_cpuid1,30;-mrdrnd;HAVE_RDRND;CPUEXT_FLAGS" dnl + "none;bmi1;BMI1;ebx_cpuid7,3;-mbmi;HAVE_BMI1;CPUEXT_FLAGS" dnl + "none;bmi2;BMI2;ebx_cpuid7,8;-mbmi2;HAVE_BMI2;CPUEXT_FLAGS" dnl + "none;adx;ADX;ebx_cpuid7,19;-madx;HAVE_ADX;CPUEXT_FLAGS" dnl + "none;mpx;MPX;ebx_cpuid7,14;-mmpx;HAVE_MPX;CPUEXT_FLAGS" dnl + "none;prefetchwt1;PREFETCHWT1;ecx_cpuid7,0;-mprefetchwt1;HAVE_PREFETCHWT1;CPUEXT_FLAGS" dnl + "none;abm;ABM;ecx_cpuid80000001,5;-mabm;HAVE_ABM;CPUEXT_FLAGS" dnl + "mmx;mmx;MMX;edx_cpuid1,23;-mmmx;HAVE_MMX;SIMD_FLAGS" dnl + "sse;sse;SSE;edx_cpuid1,25;-msse;HAVE_SSE;SIMD_FLAGS" dnl + "sse;sse2;SSE2;edx_cpuid1,26;-msse2;HAVE_SSE2;SIMD_FLAGS" dnl + "sse;sse3;SSE3;ecx_cpuid1,1;-msse3;HAVE_SSE3;SIMD_FLAGS" dnl + "sse;ssse3;SSSE3;ecx_cpuid1,9;-mssse3;HAVE_SSSE3;SIMD_FLAGS" dnl + "sse;sse41;SSE4.1;ecx_cpuid1,19;-msse4.1;HAVE_SSE4_1;SIMD_FLAGS" dnl + "sse;sse42;SSE4.2;ecx_cpuid1,20;-msse4.2;HAVE_SSE4_2;SIMD_FLAGS" dnl + "sse;sse4a;SSE4a;ecx_cpuid80000001,6;-msse4a;HAVE_SSE4a;SIMD_FLAGS" dnl + "sse;sha;SHA;ebx_cpuid7,29;-msha;HAVE_SHA;SIMD_FLAGS" dnl + "sse;aes;AES;ecx_cpuid1,25;-maes;HAVE_AES;SIMD_FLAGS" dnl + "avx;avx;AVX;ecx_cpuid1,28;-mavx;HAVE_AVX;SIMD_FLAGS" dnl + "avx;fma3;FMA3;ecx_cpuid1,12;-mfma;HAVE_FMA3;SIMD_FLAGS" dnl + "avx;fma4;FMA4;ecx_cpuid80000001,16;-mfma4;HAVE_FMA4;SIMD_FLAGS" dnl + "avx;xop;XOP;ecx_cpuid80000001,11;-mxop;HAVE_XOP;SIMD_FLAGS" dnl + "avx;avx2;AVX2;ebx_cpuid7,5;-mavx2;HAVE_AVX2;SIMD_FLAGS" dnl + "avx512;avx512f;AVX512-F;ebx_cpuid7,16;-mavx512f;HAVE_AVX512_F;SIMD_FLAGS" dnl + "avx512;avx512cd;AVX512-CD;ebx_cpuid7,28;-mavx512cd;HAVE_AVX512_CD;SIMD_FLAGS" dnl + "avx512;avx512pf;AVX512-PF;ebx_cpuid7,26;-mavx512pf;HAVE_AVX512_PF;SIMD_FLAGS" dnl + "avx512;avx512er;AVX512-ER;ebx_cpuid7,27;-mavx512er;HAVE_AVX512_ER;SIMD_FLAGS" dnl + "avx512;avx512vl;AVX512-VL;ebx_cpuid7,31;-mavx512vl;HAVE_AVX512_VL;SIMD_FLAGS" dnl + "avx512;avx512bw;AVX512-BW;ebx_cpuid7,30;-mavx512bw;HAVE_AVX512_BW;SIMD_FLAGS" dnl + "avx512;avx512dq;AVX512-DQ;ebx_cpuid7,17;-mavx512dq;HAVE_AVX512_DQ;SIMD_FLAGS" dnl + "avx512;avx512ifma;AVX512-IFMA;ebx_cpuid7,21;-mavx512ifma;HAVE_AVX512_IFMA;SIMD_FLAGS" dnl + "avx512;avx512vbmi;AVX512-VBMI;ecx_cpuid7,1;-mavx512vbmi;HAVE_AVX512_VBMI;SIMD_FLAGS" dnl + # + do ac_instr_os_support=$(eval echo \$ax_cv_have_$(echo $ac_instr_info | cut -d ";" -f 1)_os_support_ext) + ac_instr_acvar=$(echo $ac_instr_info | cut -d ";" -f 2) + ac_instr_shortname=$(echo $ac_instr_info | cut -d ";" -f 3) + ac_instr_chk_loc=$(echo $ac_instr_info | cut -d ";" -f 4) + ac_instr_chk_reg=0x$(eval echo \$$(echo $ac_instr_chk_loc | cut -d "," -f 1)) + ac_instr_chk_bit=$(echo $ac_instr_chk_loc | cut -d "," -f 2) + ac_instr_compiler_flags=$(echo $ac_instr_info | cut -d ";" -f 5) + ac_instr_have_define=$(echo $ac_instr_info | cut -d ";" -f 6) + ac_instr_flag_type=$(echo $ac_instr_info | cut -d ";" -f 7) + + AC_CACHE_CHECK([whether ${ac_instr_shortname} is supported by the processor], [ax_cv_have_${ac_instr_acvar}_cpu_ext], + [ + eval ax_cv_have_${ac_instr_acvar}_cpu_ext=no + if test "$((${ac_instr_chk_reg}>>${ac_instr_chk_bit}&0x01))" = 1 ; then + eval ax_cv_have_${ac_instr_acvar}_cpu_ext=yes + fi + ]) + + if test x"$(eval echo \$ax_cv_have_${ac_instr_acvar}_cpu_ext)" = x"yes"; then + AC_CACHE_CHECK([whether ${ac_instr_shortname} is supported by the processor and OS], [ax_cv_have_${ac_instr_acvar}_ext], + [ + eval ax_cv_have_${ac_instr_acvar}_ext=no + if test x"${ac_instr_os_support}" = x"yes"; then + eval ax_cv_have_${ac_instr_acvar}_ext=yes + fi + ]) + + if test "$(eval echo \$ax_cv_have_${ac_instr_acvar}_ext)" = yes; then + AX_CHECK_COMPILE_FLAG(${ac_instr_compiler_flags}, eval ax_cv_support_${ac_instr_acvar}_ext=yes, + eval ax_cv_support_${ac_instr_acvar}_ext=no) + if test x"$(eval echo \$ax_cv_support_${ac_instr_acvar}_ext)" = x"yes"; then + eval ${ac_instr_flag_type}=\"\$${ac_instr_flag_type} ${ac_instr_compiler_flags}\" + AC_DEFINE_UNQUOTED([${ac_instr_have_define}]) + else + AC_MSG_WARN([Your processor and OS supports ${ac_instr_shortname} instructions but not your compiler, can you try another compiler?]) + fi + else + if test x"${ac_instr_os_support}" = x"no"; then + AC_CACHE_VAL(ax_cv_support_${ac_instr_acvar}_ext, eval ax_cv_support_${ac_instr_acvar}_ext=no) + AC_MSG_WARN([Your processor supports ${ac_instr_shortname}, but your OS doesn't]) + fi + fi + else + AC_CACHE_VAL(ax_cv_have_${ac_instr_acvar}_ext, eval ax_cv_have_${ac_instr_acvar}_ext=no) + AC_CACHE_VAL(ax_cv_support_${ac_instr_acvar}_ext, eval ax_cv_support_${ac_instr_acvar}_ext=no) + fi + done + ;; + esac + + AH_TEMPLATE([HAVE_RDRND],[Define to 1 to support Digital Random Number Generator]) + AH_TEMPLATE([HAVE_BMI1],[Define to 1 to support Bit Manipulation Instruction Set 1]) + AH_TEMPLATE([HAVE_BMI2],[Define to 1 to support Bit Manipulation Instruction Set 2]) + AH_TEMPLATE([HAVE_ADX],[Define to 1 to support Multi-Precision Add-Carry Instruction Extensions]) + AH_TEMPLATE([HAVE_MPX],[Define to 1 to support Memory Protection Extensions]) + AH_TEMPLATE([HAVE_PREFETCHWT1],[Define to 1 to support Prefetch Vector Data Into Caches WT1]) + AH_TEMPLATE([HAVE_ABM],[Define to 1 to support Advanced Bit Manipulation]) + AH_TEMPLATE([HAVE_MMX],[Define to 1 to support Multimedia Extensions]) + AH_TEMPLATE([HAVE_SSE],[Define to 1 to support Streaming SIMD Extensions]) + AH_TEMPLATE([HAVE_SSE2],[Define to 1 to support Streaming SIMD Extensions]) + AH_TEMPLATE([HAVE_SSE3],[Define to 1 to support Streaming SIMD Extensions 3]) + AH_TEMPLATE([HAVE_SSSE3],[Define to 1 to support Supplemental Streaming SIMD Extensions 3]) + AH_TEMPLATE([HAVE_SSE4_1],[Define to 1 to support Streaming SIMD Extensions 4.1]) + AH_TEMPLATE([HAVE_SSE4_2],[Define to 1 to support Streaming SIMD Extensions 4.2]) + AH_TEMPLATE([HAVE_SSE4a],[Define to 1 to support AMD Streaming SIMD Extensions 4a]) + AH_TEMPLATE([HAVE_SHA],[Define to 1 to support Secure Hash Algorithm Extension]) + AH_TEMPLATE([HAVE_AES],[Define to 1 to support Advanced Encryption Standard New Instruction Set (AES-NI)]) + AH_TEMPLATE([HAVE_AVX],[Define to 1 to support Advanced Vector Extensions]) + AH_TEMPLATE([HAVE_FMA3],[Define to 1 to support Fused Multiply-Add Extensions 3]) + AH_TEMPLATE([HAVE_FMA4],[Define to 1 to support Fused Multiply-Add Extensions 4]) + AH_TEMPLATE([HAVE_XOP],[Define to 1 to support eXtended Operations Extensions]) + AH_TEMPLATE([HAVE_AVX2],[Define to 1 to support Advanced Vector Extensions 2]) + AH_TEMPLATE([HAVE_AVX512_F],[Define to 1 to support AVX-512 Foundation Extensions]) + AH_TEMPLATE([HAVE_AVX512_CD],[Define to 1 to support AVX-512 Conflict Detection Instructions]) + AH_TEMPLATE([HAVE_AVX512_PF],[Define to 1 to support AVX-512 Conflict Prefetch Instructions]) + AH_TEMPLATE([HAVE_AVX512_ER],[Define to 1 to support AVX-512 Exponential & Reciprocal Instructions]) + AH_TEMPLATE([HAVE_AVX512_VL],[Define to 1 to support AVX-512 Vector Length Extensions]) + AH_TEMPLATE([HAVE_AVX512_BW],[Define to 1 to support AVX-512 Byte and Word Instructions]) + AH_TEMPLATE([HAVE_AVX512_DQ],[Define to 1 to support AVX-512 Doubleword and Quadword Instructions]) + AH_TEMPLATE([HAVE_AVX512_IFMA],[Define to 1 to support AVX-512 Integer Fused Multiply Add Instructions]) + AH_TEMPLATE([HAVE_AVX512_VBMI],[Define to 1 to support AVX-512 Vector Byte Manipulation Instructions]) + AC_SUBST(SIMD_FLAGS) + AC_SUBST(CPUEXT_FLAGS) +]) diff --git a/m4/autoconf-archive/ax_ext_check_header.m4 b/m4/autoconf-archive/ax_ext_check_header.m4 new file mode 100755 index 0000000000..2dbfd2fdd1 --- /dev/null +++ b/m4/autoconf-archive/ax_ext_check_header.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ext_check_header.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXT_CHECK_HEADER(
, ). +# +# DESCRIPTION +# +# Check for
with -I for each path in if need be. +# The first sucecssful path is chosen (eg if you say +# AX_EXT_CHECK_HEADER(foo.h, bar baz qux) and -Ibaz works then -Iqux will +# not be tested. +# +# Any -I flags that locate a header are added to CFLAGS and CPPFLAGS. AS +# with AC_CHECK_HEADERS it causes HAVE_
_H to be defined as 1. +# +# Example: +# +# AX_EXT_HAVE_HEADER(openssl/rsa.h, /usr/local/include /usr/local/ssl/include /usr/local/openssl/include) +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_EXT_HAVE_HEADER], +[AC_LANG_PUSH(C) + AC_CHECK_HEADER($1, [$3 got="yes"], [$4 got="no"], $5) + hdr=`echo $1 | $as_tr_sh` + for dir in $2; do + if test "x${got}" = "xno"; then + ext_hashdr_cvdir=`echo $dir | $as_tr_sh` + AC_CACHE_CHECK([for $1 library with -I$dir], + [ext_cv${ext_hashdr_cvdir}_hashdr_${hdr}], + [ext_have_hdr_save_cflags=${CFLAGS} + CFLAGS="${CFLAGS} -I${dir}" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([#inc[]lude <$1>])], + [got="yes"; eval "ext_cv${ext_hashdr_cvdir}_hashdr_${hdr}"="yes"], + [got="no"; eval "ext_cv${ext_hashdr_cvdir}_hashdr_${hdr}"="no"]) + CFLAGS=$ext_have_hdr_save_cflags]) + if eval `echo 'test x${'ext_cv${ext_hashdr_cvdir}_hashdr_${hdr}'}' = "xyes"`; then + CFLAGS="${CFLAGS} -I${dir}" + CPPFLAGS="${CPPFLAGS} -I${dir}" + got="yes"; + hdr=`echo $1 | $as_tr_cpp` + AC_DEFINE_UNQUOTED(HAVE_${hdr}, 1, + [Define this if you have the $1 header]) + fi; fi; done +AC_LANG_POP]) diff --git a/m4/autoconf-archive/ax_ext_have_lib.m4 b/m4/autoconf-archive/ax_ext_have_lib.m4 new file mode 100755 index 0000000000..9edb6d1640 --- /dev/null +++ b/m4/autoconf-archive/ax_ext_have_lib.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ext_have_lib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXT_HAVE_LIB(, , , ) +# +# DESCRIPTION +# +# AX_EXT_HAVE_LIB is identical to AC_SEARCH_LIBS with the exception that +# will add -L when looking, and use a different variable for +# each directory. +# +# Any required -L flags are added to LDFLAGS and located +# libraies are added to LIBS +# +# Some libraries are unlinkable without other extra libraries, which can +# be specified in the 4th argument. The mysql client library needs -lz, +# for example. +# +# Example: +# +# AX_EXT_HAVE_LIB(/lib /usr/lib /usr/local/lib /usr/lib/mysql /usr/local/mysql/lib, mysqlclient, mysql_init, [-lz]) +# +# which finds the mysql client library if succeeds system when it tries +# with -L/usr/lib/mysql then it adds -lmysqlclient to LIBS and +# -L/usr/lib/mysql to LDFLAGS. +# +# The test itself is based on the autoconf 2.53 version of AC_SEARCH_LIBS. +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_EXT_HAVE_LIB], +[ +new_ldflags=${LDFLAGS} +new_libs=$LIBS +AC_CHECK_LIB([$2], $3, new_libs="-l$2"; ext_lib_found="yes", ext_lib_found="no") +for dir in $1 +do +if test $ext_lib_found = no +then +ext_haslib_cvdir=`echo $dir | $as_tr_sh` +AC_CACHE_CHECK([for $2 library with -L$dir], [ext_cv${ext_haslib_cvdir}_haslib_$2], +[ext_func_search_save_LIBS=$LIBS +ext_func_save_ldflags=${LDFLAGS} +LIBS="-l$2 $4 ${ext_func_search_save_LIBS}" +LDFLAGS="-L$dir ${ext_func_save_ldflags}" +AC_TRY_LINK_FUNC([$3], [eval "ext_cv${ext_haslib_cvdir}_haslib_$2"="yes"], +[eval "ext_cv${ext_haslib_cvdir}_haslib_$2"="no"]) +LIBS=$ext_func_search_save_LIBS +LDFLAGS=$ext_func_save_ldflags +]) +if eval `echo 'test x${'ext_cv${ext_haslib_cvdir}_haslib_$2'}' = "xyes"`; then +new_libs="-l$2" +new_ldflags="-L${dir} ${new_ldflags}" +ext_lib_found="yes" +fi +fi +done +LIBS="$new_libs ${LIBS}" +LDFLAGS=$new_ldflags +]) diff --git a/m4/autoconf-archive/ax_extend_srcdir.m4 b/m4/autoconf-archive/ax_extend_srcdir.m4 new file mode 100755 index 0000000000..1501b2f771 --- /dev/null +++ b/m4/autoconf-archive/ax_extend_srcdir.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_extend_srcdir.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXTEND_SRCDIR +# +# DESCRIPTION +# +# The AX_EXTEND_SRCDIR macro extends $srcdir by one path component. +# +# As an example, when working in /home/michael/i3-4.12/build and calling +# ../configure, your $srcdir is "..". After calling AX_EXTEND_SRCDIR, +# $srcdir will be set to "../../i3-4.12". +# +# The result of extending $srcdir is that filenames (e.g. in the output of +# the "backtrace" gdb command) will include one more path component of the +# absolute source path. The additional path component makes it easy for +# users to recognize which files belong to the PACKAGE, and -- provided a +# dist tarball was unpacked -- which version of PACKAGE was used. +# +# As an example, in "backtrace", you will see: +# +# #0 main (argc=1, argv=0x7fffffff1fc8) at ../../i3-4.12/src/main.c:187 +# +# instead of: +# +# #0 main (argc=1, argv=0x7fffffff1fc8) at ../src/main.c:187 +# +# In case your code uses the __FILE__ preprocessor directive to refer to +# the filename of the current source file (e.g. in debug messages), using +# the extended path might be undesirable. For this purpose, +# AX_EXTEND_SRCDIR defines the output variable AX_EXTEND_SRCDIR_CPPFLAGS, +# which can be added to AM_CPPFLAGS in Makefile.am in order to define the +# preprocessor directive STRIPPED__FILE__. As an example, when compiling +# the file "../../i3-4.12/src/main.c", STRIPPED__FILE__ evaluates to +# "main.c". +# +# There are some caveats: When $srcdir is "." (i.e. when ./configure was +# called instead of ../configure in a separate build directory), +# AX_EXTEND_SRCDIR will still extend $srcdir, but the intended effect will +# not be achieved because of the way automake specifies file paths: +# automake defines COMPILE to use "`test -f '$source' || echo +# '\$(srcdir)/'`$source" in order to prefer files in the current directory +# over specifying $srcdir explicitly. +# +# The AX_EXTEND_SRCDIR author is not aware of any way to influence this +# automake behavior. Patches very welcome. +# +# To work around this issue, you can use AX_ENABLE_BUILDDIR i.e. by adding +# the following code to configure.ac: +# +# AX_ENABLE_BUILDDIR +# dnl ... +# AX_EXTEND_SRCDIR +# +# Then also add this bit to Makefile.am (if you wish to use +# STRIPPED__FILE__ in your code): +# +# AM_CPPFLAGS = @AX_EXTEND_SRCDIR_CPPFLAGS@ +# +# LICENSE +# +# Copyright (c) 2016 Michael Stapelberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AC_DEFUN([AX_EXTEND_SRCDIR], +[dnl +AS_CASE([$srcdir], + [.|.*|/*], + [ + # pwd -P is specified in IEEE 1003.1 from 2004 + as_dir=`cd "$srcdir" && pwd -P` + as_base=`AS_BASENAME([$as_dir])` + srcdir=${srcdir}/../${as_base} + + AC_SUBST([AX_EXTEND_SRCDIR_CPPFLAGS], ["-DSTRIPPED__FILE__=AS_ESCAPE([\"$$(basename $<)\"])"]) + ]) +])dnl AX_EXTEND_SRCDIR diff --git a/m4/autoconf-archive/ax_extra_dist.m4 b/m4/autoconf-archive/ax_extra_dist.m4 new file mode 100755 index 0000000000..8b7e4fc072 --- /dev/null +++ b/m4/autoconf-archive/ax_extra_dist.m4 @@ -0,0 +1,75 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_extra_dist.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_EXTRA_DIST +# +# DESCRIPTION +# +# Allow support for custom dist targets. +# +# To add custom dist targets, you must create a dist- target within +# your Makefile.am, where is the name of the dist and then add +# to EXTRA_SRC_DISTS or EXTRA_BIN_DISTS. For example: +# +# dist-foobar: +# +# +# EXTRA_BIN_DISTS += foobar +# +# You can then build all the src dist targets by running: +# +# make dist-src +# +# You can build all the binary dist targets by running: +# +# make dist-bin +# +# and you can build both the src and dist targets by running: +# +# make all-dist +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_EXTRA_DIST], +[ +AC_MSG_NOTICE([adding custom dist support]) +AM_CONDITIONAL(USING_AX_EXTRA_DIST, [true]) +AX_ADD_AM_MACRO_STATIC([ +EXTRA_SRC_DISTS = +EXTRA_BIN_DISTS = +dist-src-extra: + @echo \"Making custom src targets...\" + @cd \$(top_builddir); \\ + list='\$(EXTRA_SRC_DISTS)'; \\ + for dist in \$\$list; do \\ + \$(MAKE) \$(AM_MAKEFLAGS) dist-\$\$dist; \\ + done + +dist-src: dist-all dist-src-extra + + +dist-bin: + @echo \"Making custom binary targets...\" + @cd \$(top_builddir); \\ + list='\$(EXTRA_BIN_DISTS)'; \\ + for dist in \$\$list; do \\ + \$(MAKE) \$(AM_MAKEFLAGS) dist-\$\$dist; \\ + done + +all-dist dist2 dist-all2: dist-src dist-bin + +all-dist-check dist2-check dist-all-check: dist-check dist-src-extra dist-bin +]) +])# AX_EXTRA_DIST diff --git a/m4/autoconf-archive/ax_f77_cmain_fflags.m4 b/m4/autoconf-archive/ax_f77_cmain_fflags.m4 new file mode 100755 index 0000000000..c786960732 --- /dev/null +++ b/m4/autoconf-archive/ax_f77_cmain_fflags.m4 @@ -0,0 +1,102 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f77_cmain_fflags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F77_CMAIN_FFLAGS([ACTION-IF-SUCCEED], [ACTION-IF-FAIL]) +# +# DESCRIPTION +# +# This macro figures out if extra Fortran compiler flags are required in +# order to use the Fortran linker to link programs where the main() +# function is defined via C (or other language). On some systems, notably +# the Alpha with Compaq compilers, the Fortran libraries have their own +# main() function which must be disabled. +# +# Runs ACTION-IF-SUCCEED if successful, and ACTION-IF-FAIL if not. Defines +# the output variable F77_CMAIN_FFLAGS to any discovered flags. (If +# ACTION-IF-FAIL is not specified, defaults to halting with an error.) +# +# This macro is especially useful in conjunction with automake, since by +# default automake uses $F77 to link programs mixing C and Fortran, +# leading to a link error on some systems. In this case, you should set +# the FFLAGS for that program to include F77_CMAIN_FFLAGS. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([ACX_F77_CMAIN_FFLAGS], [AX_F77_CMAIN_FFLAGS]) +AC_DEFUN([AX_F77_CMAIN_FFLAGS], +[AC_CACHE_CHECK([for f77 flags to use C main function], ax_cv_f77_cmain_fflags, +[ax_cv_f77_cmain_fflags="unknown" +AC_LANG_PUSH(C) +AC_COMPILE_IFELSE([[int main(void) { return 0; }]], + [mv conftest.$ac_objext conftest_cmain.$ac_objext], + [ax_cv_f77_cmain_fflags=error]) +AC_LANG_POP(C) +if test "x$ax_cv_f77_cmain_fflags" != xerror; then + AC_LANG_PUSH(Fortran 77) + ax_save_LIBS=$LIBS + LIBS="conftest_cmain.$ac_objext $LIBS" + ax_save_FFLAGS=$FFLAGS + for ax_flag in none -nofor_main; do + case $ax_flag in + none) FFLAGS=$ax_save_FFLAGS ;; + *) FFLAGS="$ax_save_FFLAGS $ax_flag" ;; + esac + AC_LINK_IFELSE([ + subroutine foobar() + return + end +], [ax_cv_f77_cmain_fflags=$ax_flag; break]); + done + FFLAGS=$ax_save_FFLAGS + LIBS=$ax_save_LIBS + AC_LANG_POP(Fortran 77) +fi]) + case $ax_cv_f77_cmain_fflags in + error|unknown) + F77_CMAIN_FFLAGS="" + ifelse([$2],,[AC_MSG_ERROR([cannot link C main with Fortran])],[$2]) + ;; + *) + if test "x$ax_cv_f77_cmain_fflags" = xnone; then + F77_CMAIN_FFLAGS="" + else + F77_CMAIN_FFLAGS="$ax_cv_f77_cmain_fflags" + fi + $1 + ;; + esac + AC_SUBST(F77_CMAIN_FFLAGS) +]) diff --git a/m4/autoconf-archive/ax_f90_header.m4 b/m4/autoconf-archive/ax_f90_header.m4 new file mode 100755 index 0000000000..f5803f0964 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_header.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f90_header.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F90_HEADER(HEADER, HEADER-REGEXP, FUNCTION-BODY [, SEARCH-PATH [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# Set up the compiler flags to use a given fortran 90 header. HEADER is +# the name of the header. HEADER-REGEXP is a regular expression (used by +# find) matched by the filename of the header. FUNCTION-BODY is the body +# of a function (including the 'use' statement and the call to a function +# defined by the module) SEARCH-PATH is a colon-separated list of +# directories that will be recursively searched for header files. If +# empty, the search path will be composed of $prefix, $ac_default_prefix, +# and all directories exactly one level *above* the directories in +# $LD_LIBRARY_PATH (the rationale is that when libraries are put in +# /some/path/lib, the headers are often put in a directory like +# /some/path/include). An output variable named F90_HEADER_xxx will be set +# up with the proper flag for substitution in Makefiles (xxx is built from +# the first argument, with autoconf traditional escapes). +# +# LICENSE +# +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_F90_HEADER],[ + AX_F90_INTERNAL_HEADMOD([$1 fortran 90 header],[$2],-I, + [$3],AS_TR_SH(F90_HEADER_$1),[$4],[$5],[$6]) +]) diff --git a/m4/autoconf-archive/ax_f90_internal_headmod.m4 b/m4/autoconf-archive/ax_f90_internal_headmod.m4 new file mode 100755 index 0000000000..248b5e8b10 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_internal_headmod.m4 @@ -0,0 +1,71 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_f90_internal_headmod.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_F90_INTERNAL_HEADMOD(MESSAGE, FILE-REGEXP, FLAG, FUNCTION-BODY, OUTPUT-VAR[, SEARCH-PATH [, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# Internal macro used by AX_F90_HEADER and AX_F90_MODULE. +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_F90_INTERNAL_HEADMOD],[ +AS_VAR_PUSHDEF([ax_include],[ax_cv_f90_headmod_$2]) +AC_MSG_CHECKING([$1]) +AC_LANG_PUSH(Fortran) +AS_VAR_SET(ax_include,"not found") +if test "x$6" = x ; then +ax_search="$prefix:$ac_default_prefix" +for ax_base in "" `echo $LD_LIBRARY_PATH | tr ':' '\012'` ; do + if test "x$ax_base" != x ; then + changequote(,)dnl + ax_base=`echo $ax_base | sed 's,/[^/]*$,,'` + changequote([,])dnl + ax_search="${ax_search}:${ax_base}" + fi +done +else +ax_search="$6" +fi +for ax_base in `echo $ax_search | tr ':' '\012'` ; do + if test "AS_VAR_GET(ax_include)" = "not found" ; then + for ax_mod in "" `find $ax_base -follow -name $2 -print` ; do + if test "x$ax_mod" != x ; then + changequote(,)dnl + ax_dir=`echo $ax_mod | sed 's,/[^/]*$,,'` + changequote([,])dnl + ax_save_FCFLAGS="$FCFLAGS" + FCFLAGS="$ax_save_FCFLAGS $3$ax_dir" + AC_COMPILE_IFELSE([subroutine conftest_routine +$4 + end subroutine conftest_routine + ],AS_VAR_SET(ax_include,"$3$ax_dir"),[]) + FCFLAGS="$ax_save_FCFLAGS" + fi + done + fi +done +AC_LANG_POP(Fortran) +AC_MSG_RESULT([AS_VAR_GET(ax_include)]) +if test "AS_VAR_GET(ax_include)" = "not found"; then + $5="" + $8 +else + $5="AS_VAR_GET(ax_include)" + $7 +fi +AC_SUBST($5) +AS_VAR_POPDEF([ax_include]) +]) diff --git a/m4/autoconf-archive/ax_f90_library.m4 b/m4/autoconf-archive/ax_f90_library.m4 new file mode 100755 index 0000000000..99d73de1f2 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_library.m4 @@ -0,0 +1,111 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f90_library.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F90_LIBRARY(LIBRARY, LIB-REGEXP, FUNCTION-BODY [, SEARCH-PATH [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# Set up the compiler flags to link a given fortran 90 library LIBRARY is +# the name of the library. LIB-REGEXP is a regular expression (used by +# find) matched by the filename of the library, this is useful either if +# the library filename does not follow the traditional libxxx.a or +# libxxx.so pattern, or if some specific information is embedded into the +# name, like compiler used, debugging status ...). FUNCTION-BODY is the +# body of a function (including the 'use' statements and the call to a +# function defined by the library) SEARCH-PATH is a colon-separated list +# of directories that will be used as the base directories for 'find' to +# look for the library file. If empty, the search path will be composed of +# $prefix/lib, $ac_default_prefix/lib, and $LD_LIBRARY_PATH. Two output +# variables named F90_LDFLAGS_xxx and F90_LIBS_xxx will be set up with the +# proper flag for substitution in Makefiles (xxx is built from the first +# argument, with autoconf traditional escapes). +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_F90_LIBRARY],[ +AS_VAR_PUSHDEF([ax_ldflags],[ax_cv_f90_ldflags_$1]) +AS_VAR_PUSHDEF([ax_libs],[ax_cv_f90_libs_$1]) +AC_MSG_CHECKING([$1 Fortran 90 library]) +AC_LANG_PUSH(Fortran) +AS_VAR_SET([ax_ldflags],"") +AS_VAR_SET([ax_libs],"not found") +if test "x$4" = x ; then + if test "x$prefix" != "xNONE" ; then + ax_search="$prefix:$ac_default_prefix" + else + ax_search="$ac_default_prefix" + fi +for ax_base in "" `echo $LD_LIBRARY_PATH | tr ':' '\012'` ; do + if test "x$ax_base" != x ; then + changequote(,)dnl + ax_base=`echo $ax_base | sed 's,/[^/]*$,,'` + changequote([,])dnl + ax_search="${ax_search}:${ax_base}" + fi +done +else +ax_search="$4" +fi +ax_save_LDFLAGS="$LDFLAGS" +ax_save_LIBS="$LIBS" +for ax_base in `echo $ax_search | tr ':' '\012'` ; do + if test "AS_VAR_GET(ax_libs)" = "not found" ; then + for ax_lib in "" `find $ax_base -follow -name '$2' -print` ; do + if test "x$ax_lib" != x ; then + changequote(,)dnl + ax_dir=`echo $ax_lib | sed 's,/[^/]*$,,'` + ax_lib=`echo $ax_lib | sed 's,.*/\([^/]*\)$,\1,'` + changequote([,])dnl + case "$ax_lib" in + lib*) + changequote(,)dnl + ax_lib="`echo $ax_lib | sed 's,lib\(.*\)\.[^.]*$,\1,'`" + changequote([,])dnl + AS_VAR_SET([ax_ldflags],"-L$ax_dir") + AS_VAR_SET([ax_libs],"-l$ax_lib") + ;; + *) + AS_VAR_SET([ax_ldflags],"") + AS_VAR_SET(ax_libs,"$ax_lib") + ;; + esac + LDFLAGS="$ax_save_LDFLAGS AS_VAR_GET(ax_ldflags)" + LIBS="AS_VAR_GET(ax_libs) $ax_save_LIBS" + AC_LINK_IFELSE([program conftest_program +$3 + end program conftest_program + ],[],[AS_VAR_SET(ax_ldflags,"") + AS_VAR_SET(ax_libs,"not found") + ]) + fi + done + fi +done +AC_LANG_POP(Fortran) +AC_MSG_RESULT([AS_VAR_GET(ax_ldflags) AS_VAR_GET(ax_libs)]) +if test "AS_VAR_GET(ax_libs)" = "not found"; then + AS_TR_SH(F90_LDFLAGS_$1)="" + AS_TR_SH(F90_LIBS_$1)="" + $6 +else + AS_TR_SH(F90_LDFLAGS_$1)=AS_VAR_GET(ax_ldflags) + AS_TR_SH(F90_LIBS_$1)=AS_VAR_GET(ax_libs) + $5 +fi +AC_SUBST(AS_TR_SH(F90_LDFLAGS_$1)) +AC_SUBST(AS_TR_SH(F90_LIBS_$1)) +AS_VAR_POPDEF([ax_libs]) +AS_VAR_POPDEF([ax_ldflags]) +]) diff --git a/m4/autoconf-archive/ax_f90_library_setup.m4 b/m4/autoconf-archive/ax_f90_library_setup.m4 new file mode 100755 index 0000000000..edaaca953c --- /dev/null +++ b/m4/autoconf-archive/ax_f90_library_setup.m4 @@ -0,0 +1,79 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f90_library_setup.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F90_LIBRARY_SETUP(LIBRARY, HEADER-REGEXP, MODULE-REGEXP, LIB-REGEXP, FUNCTION-BODY) +# +# DESCRIPTION +# +# Convenience macro to set up a fortran 90 library in a simplified way. +# LIBRARY is the name of the library. HEADER-REGEXP is a regular +# expression (used by find) matched by the header file to look for (may be +# empty). MODULE-REGEXP is a regular expression (used by find) matched by +# the filename of the module (may be empty). LIB-REGEXP is a regular +# expression (used by find) matched by the filename of the library, this +# is useful either if the library filename does not follow the traditional +# libxxx.a or libxxx.so pattern, or if some specific information is +# embedded into the name, like compiler used, debugging status ...). +# FUNCTION-BODY is the body of a function (including the 'use' statements +# and the call to a function defined by the library). +# +# This macro is a simple wrapper around AX_F90_MODULE and AX_F90_LIBRARY +# that uses the parameters provided by the end user through a --with-xxx +# option to set up the search path. Both a module and a library will be +# tested, the same path will be used for both tests, so the path must be +# set up with a common parent directory of both the library file and the +# module file. The macro also automatically updates the FCFLAGS, LDFLAGS +# and LIBS variables in addition to providing the F90_HEADER_xxx, +# F90_MODULE_xxx, F90_LDFLAGS_xxx and F90_LIBS_xxx output variables. +# +# Example: suppose you have /home/nostradamus/esoteric/lib/libalchemy.a +# and /home/nostradamus/esoteric/mod/alchemy.mod which provides a function +# transmute_into_gold, you can use the following in you configure.ac: +# +# AX_F90_MODULE_EXTENSION +# if test x$ax_cv_f90_modext = xunknown ; then +# AC_MSG_ERROR([unable to find f90 modules extension]) +# fi +# AX_F90_LIBRARY_SETUP(alchemy,[],alchemy.$ax_cv_f90_modext,libalchemy*,[ +# use alchemy +# call transmute_into_gold('lead') +# ]) +# +# and the user could configure your package using a command like this: +# +# ./configure --with-alchemy=$HOME/esoteric +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_F90_LIBRARY_SETUP],[ + AC_ARG_WITH([$1],[ --with-$1=path specify search path form $1 module and library], + [if test x${withval} = xno ; then + AC_MSG_WARN([$1 disabled at user option]) + fi],[withval=""]) + if test x$2 != x ; then + AX_F90_HEADER([$1],[$2],[$5],$withval,[ + FCFLAGS="$FCFLAGS $AS_TR_SH(F90_HEADER_$1)" + ],[]) + fi + if test x$3 != x ; then + AX_F90_MODULE([$1],[$3],[$5],$withval,[ + FCFLAGS="$FCFLAGS $AS_TR_SH(F90_MODULE_$1)" + ],[]) + fi + AX_F90_LIBRARY([$1],[$4],[$5],$withval,[ + LDFLAGS="$LDFLAGS $AS_TR_SH(F90_LDFLAGS_$1)" + LIBS="$AS_TR_SH(F90_LIBS_$1) $LIBS" + ],[]) +]) diff --git a/m4/autoconf-archive/ax_f90_module.m4 b/m4/autoconf-archive/ax_f90_module.m4 new file mode 100755 index 0000000000..088371a2f6 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_module.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f90_module.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F90_MODULE(MODULE, MODULE-REGEXP, FUNCTION-BODY [, SEARCH-PATH [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# Set up the compiler flags to use a given fortran 90 module MODULE is the +# name of the module. MODULE-REGEXP is a regular expression (used by find) +# matched by the filename of the module. FUNCTION-BODY is the body of a +# function (including the 'use' statement and the call to a function +# defined by the module) SEARCH-PATH is a colon-separated list of +# directories that will be recursively searched for modules files. If +# empty, the search path will be composed of $prefix, $ac_default_prefix, +# and all directories exactly one level *above* the directories in +# $LD_LIBRARY_PATH (the rationale is that when libraries are put in +# /some/path/lib, the modules are often put in a directory like +# /some/path/include or /some/path/mod or something similar). An output +# variable named F90_MODULE_xxx will be set up with the proper flag for +# substitution in Makefiles (xxx is built from the first argument, with +# autoconf traditional escapes). +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_F90_MODULE],[ + AC_REQUIRE([AX_F90_MODULE_FLAG]) + AX_F90_INTERNAL_HEADMOD([$1 fortran 90 module],[$2],"$ax_cv_f90_modflag", + [$3],AS_TR_SH(F90_MODULE_$1),[$4],[$5],[$6]) +]) diff --git a/m4/autoconf-archive/ax_f90_module_extension.m4 b/m4/autoconf-archive/ax_f90_module_extension.m4 new file mode 100755 index 0000000000..32accf51b4 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_module_extension.m4 @@ -0,0 +1,59 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_f90_module_extension.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_F90_MODULE_EXTENSION +# +# DESCRIPTION +# +# Find Fortran 90 modules file extension. The module extension is stored +# in the cached variable ax_f90_modext, or "unknown" if the extension +# cannot be found. +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# Copyright (c) 2009 Alexander Pletzer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_F90_MODULE_EXTENSION],[ +AC_CACHE_CHECK([fortran 90 modules extension], +ax_cv_f90_modext, +[AC_LANG_PUSH(Fortran) +i=0 +while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do + i=`expr $i + 1` +done +mkdir tmpdir_$i +cd tmpdir_$i +AC_COMPILE_IFELSE([ +!234567 + module conftest_module + contains + subroutine conftest_routine + write(*,'(a)') 'gotcha!' + end subroutine conftest_routine + end module conftest_module + ], + [ax_cv_f90_modext=`ls | sed -n 's,conftest_module\.,,p'` + if test x$ax_cv_f90_modext = x ; then +dnl Some F90 compilers put module filename in uppercase letters + ax_cv_f90_modext=`ls | sed -n 's,CONFTEST_MODULE\.,,p'` + if test x$ax_cv_f90_modext = x ; then + ax_cv_f90_modext="" + fi + fi + ], + [ax_cv_f90_modext=""]) +cd .. +rm -fr tmpdir_$i +AC_LANG_POP(Fortran) +])]) diff --git a/m4/autoconf-archive/ax_f90_module_flag.m4 b/m4/autoconf-archive/ax_f90_module_flag.m4 new file mode 100755 index 0000000000..8eb1fd6946 --- /dev/null +++ b/m4/autoconf-archive/ax_f90_module_flag.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_f90_module_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_F90_MODULE_FLAG +# +# DESCRIPTION +# +# Find Fortran 90 modules inclusion flag. The module inclusion flag is +# stored in the cached variable ax_f90_modflag. An error is triggered if +# the flag cannot be found. Supported are the -I GNU compilers flag, the +# -M SUN compilers flag, and the -p Absoft Pro Fortran compiler flag. +# +# LICENSE +# +# Copyright (c) 2009 Luc Maisonobe +# Copyright (c) 2009 Julian C. Cummings +# Copyright (c) 2009 Alexander Pletzer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 14 + +AC_DEFUN([AX_F90_MODULE_FLAG],[ +AC_CACHE_CHECK([fortran 90 modules inclusion flag], +ax_cv_f90_modflag, +[AC_LANG_PUSH(Fortran) +i=0 +while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do + i=`expr $i + 1` +done +mkdir tmpdir_$i +cd tmpdir_$i +AC_COMPILE_IFELSE([ +!234567 + module conftest_module + contains + subroutine conftest_routine + write(*,'(a)') 'gotcha!' + end subroutine conftest_routine + end module conftest_module + ],[],[]) +cd .. +ax_cv_f90_modflag="not found" +for ax_flag in "-I " "-I" "-M" "-p"; do + if test "$ax_cv_f90_modflag" = "not found" ; then + ax_save_FCFLAGS="$FCFLAGS" + FCFLAGS="$ax_save_FCFLAGS ${ax_flag}tmpdir_$i" + AC_COMPILE_IFELSE([ +!234567 + program conftest_program + use conftest_module + call conftest_routine + end program conftest_program + ],[ax_cv_f90_modflag="$ax_flag"],[]) + FCFLAGS="$ax_save_FCFLAGS" + fi +done +rm -fr tmpdir_$i +if test "$ax_cv_f90_modflag" = "not found" ; then + AC_MSG_ERROR([unable to find compiler flag for modules inclusion]) +fi +AC_LANG_POP(Fortran) +])]) diff --git a/m4/autoconf-archive/ax_fc_check_define.m4 b/m4/autoconf-archive/ax_fc_check_define.m4 new file mode 100755 index 0000000000..3505f5173c --- /dev/null +++ b/m4/autoconf-archive/ax_fc_check_define.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_fc_check_define.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FC_CHECK_DEFINE([symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT]) +# +# DESCRIPTION +# +# This macro checks to see if the Fortran pre-processor has a symbol +# defined. +# +# Consider a usage like: +# +# AC_FC_PP_DEFINE() +# AX_FC_CHECK_DEFINE(__BIGGEST_ALIGNMENT__, [], +# AX_APPEND_FLAG([${FC_DEFINE}__BIGGEST_ALIGNMENT__=64], +# [FCFLAGS])) +# +# LICENSE +# +# Copyright (c) 2016 Timothy Brown +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_FC_CHECK_DEFINE], [ + +AS_VAR_PUSHDEF([ax_var],[ax_cv_defined_$1])dnl +AC_LANG_PUSH([Fortran]) +ax_fc_check_define_srcext_save=$ac_fc_srcext +AC_FC_PP_SRCEXT([F]) +AC_CACHE_CHECK([if $1 is defined], [ax_var], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ +#ifdef $1 + integer :: ok +#else + choke me +#endif + ]])], + [AS_VAR_SET([ax_var], yes)], + [AS_VAR_SET([ax_var], no)])) +AS_IF([test AS_VAR_GET([ax_var]) != "no"], [$2], [$3]) +ac_fc_srcext=$ax_fc_check_define_srcext_save +AC_LANG_POP()dnl +AS_VAR_POPDEF([ax_var])dnl +]) diff --git a/m4/autoconf-archive/ax_file_escapes.m4 b/m4/autoconf-archive/ax_file_escapes.m4 new file mode 100755 index 0000000000..a86fdc326b --- /dev/null +++ b/m4/autoconf-archive/ax_file_escapes.m4 @@ -0,0 +1,30 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_file_escapes.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FILE_ESCAPES +# +# DESCRIPTION +# +# Writes the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_FILE_ESCAPES],[ +AX_DOLLAR="\$" +AX_SRB="\\135" +AX_SLB="\\133" +AX_BS="\\\\" +AX_DQ="\"" +]) diff --git a/m4/autoconf-archive/ax_find_hamcrest.m4 b/m4/autoconf-archive/ax_find_hamcrest.m4 new file mode 100755 index 0000000000..4a8fe332ef --- /dev/null +++ b/m4/autoconf-archive/ax_find_hamcrest.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_find_hamcrest.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FIND_HAMCREST +# +# DESCRIPTION +# +# AX_FIND_HAMCREST will look for the Hamcrest java library. When found its +# path will be put in HAMCREST_CPF as a classpath fragment. +# +# To override the location define HAMCREST_JAR to the wanted path. +# +# LICENSE +# +# Copyright (c) 2013 Sveinung Kvilhaugsvik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_ARG_VAR(HAMCREST_JAR, + [the location of the Hamcrest Matcher java library]) + +AC_DEFUN([AX_FIND_HAMCREST], [ + AC_CACHE_VAL(ax_cv_hamcrest_cpf, [ + AS_IF([test x"$HAMCREST_JAR" != x], + [ax_cv_hamcrest_cpf="$HAMCREST_JAR$PATH_SEPARATOR"], [ + AX_XTRA_CLASSPATH(ax_cv_hamcrest_cpf, org.hamcrest.Matcher, + [hamcrest-core-1.3.jar hamcrest-core.jar])])]) + + AS_IF([test x"$ax_cv_hamcrest_cpf" != x], + [AC_SUBST(HAMCREST_CPF, $ax_cv_hamcrest_cpf)], + AC_MSG_WARN([Hamcrest Matcher not found]))]) diff --git a/m4/autoconf-archive/ax_find_junit.m4 b/m4/autoconf-archive/ax_find_junit.m4 new file mode 100755 index 0000000000..60f046f01e --- /dev/null +++ b/m4/autoconf-archive/ax_find_junit.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_find_junit.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FIND_JUNIT +# +# DESCRIPTION +# +# AX_FIND_JUNIT will look for the JUnit java library. When found its path +# will be put in JUNIT_CPF as a classpath fragment. +# +# To override the location define JUNIT_JAR to the wanted path. +# +# LICENSE +# +# Copyright (c) 2013 Sveinung Kvilhaugsvik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_ARG_VAR(JUNIT_JAR, [the location of JUnit 4]) + +AC_DEFUN([AX_FIND_JUNIT], [ + AC_CACHE_VAL(ax_cv_junit_cpf, [ + AS_IF([test x"$JUNIT_JAR" != x], + [ax_cv_junit_cpf="$JUNIT_JAR$PATH_SEPARATOR"], [ + AX_XTRA_CLASSPATH(ax_cv_junit_cpf, org.junit.Assert, + [junit4-4.11.jar junit4.jar junit.jar]) + + # junit.jar may not have org.hamcrest.Matcher + classpath_when_starting_ax_find_junit="$CLASSPATH" + CLASSPATH="$ax_cv_junit_cpf$classpath_when_starting_ax_find_junit" + AC_CHECK_CLASS(org.hamcrest.Matcher, + built_in_hamcrest=yes, built_in_hamcrest=no) + CLASSPATH="$classpath_when_starting_ax_find_junit" + + AS_IF([test x"$built_in_hamcrest" = xno], [ + AX_FIND_HAMCREST + ax_cv_junit_cpf="$HAMCREST_CPF$ax_cv_junit_cpf"])])]) + + AS_IF([test x"$ax_cv_junit_cpf" != x], [ + AC_MSG_NOTICE([JUnit 4 found $ax_cv_junit_cpf]) + AC_SUBST(JUNIT_CPF, $ax_cv_junit_cpf)], + AC_MSG_WARN([JUnit 4 not found]))]) diff --git a/m4/autoconf-archive/ax_find_scala_stdlib.m4 b/m4/autoconf-archive/ax_find_scala_stdlib.m4 new file mode 100755 index 0000000000..7076dc73a8 --- /dev/null +++ b/m4/autoconf-archive/ax_find_scala_stdlib.m4 @@ -0,0 +1,39 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_find_scala_stdlib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FIND_SCALA_STDLIB +# +# DESCRIPTION +# +# AX_FIND_SCALA_STDLIB will look for the Scala Standard Library. When +# found its path will be put in SCALA_STDLIB_CPF as a classpath fragment. +# +# To override the location define SCALA_STDLIB to the wanted path +# +# LICENSE +# +# Copyright (c) 2013 Sveinung Kvilhaugsvik +# +# Copying and distribution of this file, with or without modification,are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_ARG_VAR(SCALA_STDLIB, [path to the Scala Standard Library]) + +AC_DEFUN([AX_FIND_SCALA_STDLIB], [ + AC_CACHE_VAL(ax_cv_scala_libray, [ + AS_IF([test x"$SCALA_STDLIB" != x], + [ax_cv_scala_stdlib_cpf="$SCALA_STDLIB$PATH_SEPARATOR"], + [AX_XTRA_CLASSPATH(ax_cv_scala_stdlib_cpf, + scala.collection.immutable.List, scala-library.jar)])]) + + AS_IF([test x"$ax_cv_scala_stdlib_cpf" != x], [ + AC_MSG_NOTICE([Scala Standard Library found $ax_cv_scala_stdlib_cpf]) + AC_SUBST(SCALA_STDLIB_CPF, $ax_cv_scala_stdlib_cpf) + ], AC_MSG_WARN([Scala Standard Library not found]))]) diff --git a/m4/autoconf-archive/ax_forceinline.m4 b/m4/autoconf-archive/ax_forceinline.m4 new file mode 100755 index 0000000000..1a36947f42 --- /dev/null +++ b/m4/autoconf-archive/ax_forceinline.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_forceinline.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FORCEINLINE() +# +# DESCRIPTION +# +# Provides a test for C compiler support of forced inlining. If usable, +# #define FORCEINLINE to the appropriate force inline keyword. Otherwise +# #define FORCEINLINE to be 'inline'. +# +# LICENSE +# +# Copyright (c) 2008 Alan Woodland +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_FORCEINLINE], [ + AC_LANG_PUSH([C]) + AC_MSG_CHECKING(for forced inline keyword) + AC_CACHE_VAL(ac_cv_forceinline, [ + ax_forceinline_keywords="__forceinline inline none" + for ax_forceinline_keyword in $ax_forceinline_keywords; do + case $ax_forceinline_keyword in + none) ac_cv_forceinline=none ; break ;; + *) + AC_TRY_COMPILE( + [#include + ] $ax_forceinline_keyword [ + static void + foo(void) { + exit(1); + }], + [], + [ac_cv_forceinline=$ax_forceinline_keyword ; break], + ac_cv_forceinline=none + ) + esac + done +]) + + if test "$ac_cv_forceinline" = "none"; then + ax_forceinline_keyword= + else + ax_forceinline_keyword=$ac_cv_forceinline + fi + AC_DEFINE_UNQUOTED([FORCEINLINE],$ax_forceinline_keyword, + [The most forceful inline keyword known by the compiler]) + AC_MSG_RESULT($ac_cv_forceinline) + AC_LANG_POP([C]) +]) diff --git a/m4/autoconf-archive/ax_func_accept_argtypes.m4 b/m4/autoconf-archive/ax_func_accept_argtypes.m4 new file mode 100755 index 0000000000..623a01dcf3 --- /dev/null +++ b/m4/autoconf-archive/ax_func_accept_argtypes.m4 @@ -0,0 +1,90 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_func_accept_argtypes.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_FUNC_ACCEPT_ARGTYPES +# +# DESCRIPTION +# +# Checks the data types of the three arguments to accept(). Results are +# placed into the symbols ACCEPT_TYPE_ARG[123], consistent with the +# following example: +# +# #define ACCEPT_TYPE_ARG1 int +# #define ACCEPT_TYPE_ARG2 struct sockaddr * +# #define ACCEPT_TYPE_ARG3 socklen_t * +# +# This macro requires AC_CHECK_HEADERS to have already verified the +# presence or absence of sys/types.h and sys/socket.h. +# +# NOTE: This is just a modified version of the AC_FUNC_SELECT_ARGTYPES +# macro. Credit for that one goes to David MacKenzie et. al. +# +# LICENSE +# +# Copyright (c) 2008 Daniel Richard G. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_FUNC_ACCEPT_ARGTYPES], [AX_FUNC_ACCEPT_ARGTYPES]) +AC_DEFUN([AX_FUNC_ACCEPT_ARGTYPES], +[AC_MSG_CHECKING([types of arguments for accept()]) + AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl + [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl + [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl + [for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do + for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'void *'; do + for ac_cv_func_accept_arg3 in 'socklen_t *' 'size_t *' 'unsigned int *' 'int *'; do + AC_TRY_COMPILE(dnl +[#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +extern accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3);],,dnl + [ac_not_found=no ; break 3], ac_not_found=yes) + done + done + done + ])dnl AC_CACHE_VAL + ])dnl AC_CACHE_VAL + ])dnl AC_CACHE_VAL + if test "$ac_not_found" = yes; then + ac_cv_func_accept_arg1=int + ac_cv_func_accept_arg2='struct sockaddr *' + ac_cv_func_accept_arg3='socklen_t *' + fi + AC_MSG_RESULT([$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3]) + AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG1,$ac_cv_func_accept_arg1) + AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG2,$ac_cv_func_accept_arg2) + AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG3,$ac_cv_func_accept_arg3) +]) diff --git a/m4/autoconf-archive/ax_func_getopt_long.m4 b/m4/autoconf-archive/ax_func_getopt_long.m4 new file mode 100755 index 0000000000..60326723f3 --- /dev/null +++ b/m4/autoconf-archive/ax_func_getopt_long.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_getopt_long.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_GETOPT_LONG +# +# DESCRIPTION +# +# Check for getopt_long support. +# +# This assume that the standard getopt.h file (from GNU libc) is available +# as lib/gnugetopt.h. If needed, this file will be linked as getopt.h, but +# we want to default to the system's getopt.h file. (See +# http://sources.redhat.com/ml/automake/2000-09/msg00041.html for an +# explanation about why using the system's getopt.h file is important.) +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([ADL_FUNC_GETOPT_LONG], [AX_FUNC_GETOPT_LONG]) +AC_DEFUN([AX_FUNC_GETOPT_LONG], + [AC_PREREQ(2.49)dnl + # clean out junk possibly left behind by a previous configuration + rm -f lib/getopt.h + # Check for getopt_long support + AC_CHECK_HEADERS([getopt.h]) + AC_CHECK_FUNCS([getopt_long],, + [# FreeBSD has a gnugetopt library for this + AC_CHECK_LIB([gnugetopt],[getopt_long],[AC_DEFINE([HAVE_GETOPT_LONG])], + [# use the GNU replacement + AC_LIBOBJ(getopt) + AC_LIBOBJ(getopt1) + AC_CONFIG_LINKS([lib/getopt.h:lib/gnugetopt.h])])])]) diff --git a/m4/autoconf-archive/ax_func_memmove.m4 b/m4/autoconf-archive/ax_func_memmove.m4 new file mode 100755 index 0000000000..eb1b363dc3 --- /dev/null +++ b/m4/autoconf-archive/ax_func_memmove.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_memmove.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_MEMMOVE +# +# DESCRIPTION +# +# Checks for a memmove that can handle overlaps correctly. If no working +# memmove is found, request a replacement and warn the user about it. +# +# LICENSE +# +# Copyright (c) 2008 Ruediger Kuhlmann +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_FUNC_MEMMOVE], [AX_FUNC_MEMMOVE]) +AC_DEFUN([AX_FUNC_MEMMOVE], +[AC_CHECK_FUNCS(memmove) +AC_MSG_CHECKING(for working memmove) +AC_CACHE_VAL(ac_cv_have_working_memmove, +[AC_TRY_RUN( +[#include + +int main(void) +{ + char buf[10]; + strcpy (buf, "01234567"); + memmove (buf, buf + 2, 3); + if (strcmp (buf, "23434567")) + exit (1); + strcpy (buf, "01234567"); + memmove (buf + 2, buf, 3); + if (strcmp (buf, "01012567")) + exit (1); + exit (0); +}], ac_cv_have_working_memmove=yes, ac_cv_have_working_memmove=no, ac_cv_have_working_memmove=cross)]) +AC_MSG_RESULT([$ac_cv_have_working_memmove]) +if test x$ac_cv_have_working_memmove != "xyes"; then + AC_LIBOBJ(memmove) + AC_MSG_WARN([Replacing missing/broken memmove.]) + AC_DEFINE(PREFER_PORTABLE_MEMMOVE, 1, "enable replacement memmove if system memmove is broken or missing") +fi]) diff --git a/m4/autoconf-archive/ax_func_mkdir.m4 b/m4/autoconf-archive/ax_func_mkdir.m4 new file mode 100755 index 0000000000..b52a904ae7 --- /dev/null +++ b/m4/autoconf-archive/ax_func_mkdir.m4 @@ -0,0 +1,99 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_mkdir.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_MKDIR +# +# DESCRIPTION +# +# Check whether mkdir() is mkdir or _mkdir, and whether it takes one or +# two arguments. +# +# This macro can define HAVE_MKDIR, HAVE__MKDIR, and MKDIR_TAKES_ONE_ARG, +# which are expected to be used as follows: +# +# #if HAVE_MKDIR +# # if MKDIR_TAKES_ONE_ARG +# /* MinGW32 */ +# # define mkdir(a, b) mkdir(a) +# # endif +# #else +# # if HAVE__MKDIR +# /* plain Windows 32 */ +# # define mkdir(a, b) _mkdir(a) +# # else +# # error "Don't know how to create a directory on this system." +# # endif +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AU_ALIAS([AC_FUNC_MKDIR], [AX_FUNC_MKDIR]) +AC_DEFUN([AX_FUNC_MKDIR], +[AC_CHECK_FUNCS([mkdir _mkdir]) +AC_CACHE_CHECK([whether mkdir takes one argument], + [ac_cv_mkdir_takes_one_arg], +[AC_TRY_COMPILE([ +#include +#if HAVE_UNISTD_H +# include +#endif +], [mkdir (".");], +[ac_cv_mkdir_takes_one_arg=yes], [ac_cv_mkdir_takes_one_arg=no])]) +if test x"$ac_cv_mkdir_takes_one_arg" = xyes; then + AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, + [Define if mkdir takes only one argument.]) +fi +]) + +dnl Note: +dnl ===== +dnl I have not implemented the following suggestion because I don't have +dnl access to such a broken environment to test the macro. So I'm just +dnl appending the comments here in case you have, and want to fix +dnl AX_FUNC_MKDIR that way. +dnl +dnl |Thomas E. Dickey (dickey@herndon4.his.com) said: +dnl | it doesn't cover the problem areas (compilers that mistreat mkdir +dnl | may prototype it in dir.h and dirent.h, for instance). +dnl | +dnl |Alexandre: +dnl | Would it be sufficient to check for these headers and #include +dnl | them in the AC_TRY_COMPILE block? (and is AC_HEADER_DIRENT +dnl | suitable for this?) +dnl | +dnl |Thomas: +dnl | I think that might be a good starting point (with the set of recommended +dnl | ifdef's and includes for AC_HEADER_DIRENT, of course). diff --git a/m4/autoconf-archive/ax_func_posix_memalign.m4 b/m4/autoconf-archive/ax_func_posix_memalign.m4 new file mode 100755 index 0000000000..f7032f1358 --- /dev/null +++ b/m4/autoconf-archive/ax_func_posix_memalign.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_posix_memalign.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_POSIX_MEMALIGN +# +# DESCRIPTION +# +# Some versions of posix_memalign (notably glibc 2.2.5) incorrectly apply +# their power-of-two check to the size argument, not the alignment +# argument. AX_FUNC_POSIX_MEMALIGN defines HAVE_POSIX_MEMALIGN if the +# power-of-two check is correctly applied to the alignment argument. +# +# LICENSE +# +# Copyright (c) 2008 Scott Pakin +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_FUNC_POSIX_MEMALIGN], +[AC_CACHE_CHECK([for working posix_memalign], + [ax_cv_func_posix_memalign_works], + [AC_TRY_RUN([ +#include + +int +main () +{ + void *buffer; + + /* Some versions of glibc incorrectly perform the alignment check on + * the size word. */ + exit (posix_memalign (&buffer, sizeof(void *), 123) != 0); +} + ], + [ax_cv_func_posix_memalign_works=yes], + [ax_cv_func_posix_memalign_works=no], + [ax_cv_func_posix_memalign_works=no])]) +if test "$ax_cv_func_posix_memalign_works" = "yes" ; then + AC_DEFINE([HAVE_POSIX_MEMALIGN], [1], + [Define to 1 if `posix_memalign' works.]) +fi +]) diff --git a/m4/autoconf-archive/ax_func_snprintf.m4 b/m4/autoconf-archive/ax_func_snprintf.m4 new file mode 100755 index 0000000000..eefa5dc5f5 --- /dev/null +++ b/m4/autoconf-archive/ax_func_snprintf.m4 @@ -0,0 +1,85 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_snprintf.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_SNPRINTF +# +# DESCRIPTION +# +# Checks for a fully C99 compliant snprintf, in particular checks whether +# it does bounds checking and returns the correct string length; does the +# same check for vsnprintf. If no working snprintf or vsnprintf is found, +# request a replacement and warn the user about it. Note: the mentioned +# replacement is freely available and may be used in any project +# regardless of it's license. +# +# LICENSE +# +# Copyright (c) 2008 Ruediger Kuhlmann +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_FUNC_SNPRINTF], [AX_FUNC_SNPRINTF]) +AC_DEFUN([AX_FUNC_SNPRINTF], +[AC_CHECK_FUNCS(snprintf vsnprintf) +AC_MSG_CHECKING(for working snprintf) +AC_CACHE_VAL(ac_cv_have_working_snprintf, +[AC_TRY_RUN( +[#include + +int main(void) +{ + char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; + char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; + int i; + i = snprintf (bufs, 2, "%s", "111"); + if (strcmp (bufs, "1")) exit (1); + if (i != 3) exit (1); + i = snprintf (bufd, 2, "%d", 111); + if (strcmp (bufd, "1")) exit (1); + if (i != 3) exit (1); + exit(0); +}], ac_cv_have_working_snprintf=yes, ac_cv_have_working_snprintf=no, ac_cv_have_working_snprintf=cross)]) +AC_MSG_RESULT([$ac_cv_have_working_snprintf]) +AC_MSG_CHECKING(for working vsnprintf) +AC_CACHE_VAL(ac_cv_have_working_vsnprintf, +[AC_TRY_RUN( +[#include +#include + +int my_vsnprintf (char *buf, const char *tmpl, ...) +{ + int i; + va_list args; + va_start (args, tmpl); + i = vsnprintf (buf, 2, tmpl, args); + va_end (args); + return i; +} + +int main(void) +{ + char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; + char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; + int i; + i = my_vsnprintf (bufs, "%s", "111"); + if (strcmp (bufs, "1")) exit (1); + if (i != 3) exit (1); + i = my_vsnprintf (bufd, "%d", 111); + if (strcmp (bufd, "1")) exit (1); + if (i != 3) exit (1); + exit(0); +}], ac_cv_have_working_vsnprintf=yes, ac_cv_have_working_vsnprintf=no, ac_cv_have_working_vsnprintf=cross)]) +AC_MSG_RESULT([$ac_cv_have_working_vsnprintf]) +if test x$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf != "xyesyes"; then + AC_LIBOBJ(snprintf) + AC_MSG_WARN([Replacing missing/broken (v)snprintf() with version from http://www.ijs.si/software/snprintf/.]) + AC_DEFINE(PREFER_PORTABLE_SNPRINTF, 1, "enable replacement (v)snprintf if system (v)snprintf is broken") +fi]) diff --git a/m4/autoconf-archive/ax_func_which_gethostbyname_r.m4 b/m4/autoconf-archive/ax_func_which_gethostbyname_r.m4 new file mode 100755 index 0000000000..bb6bc959e7 --- /dev/null +++ b/m4/autoconf-archive/ax_func_which_gethostbyname_r.m4 @@ -0,0 +1,196 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_which_gethostbyname_r.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_FUNC_WHICH_GETHOSTBYNAME_R +# +# DESCRIPTION +# +# Determines which historical variant of the gethostbyname_r() call +# (taking three, five, or six arguments) is available on the system and +# defines one of the following macros accordingly: +# +# HAVE_FUNC_GETHOSTBYNAME_R_6 +# HAVE_FUNC_GETHOSTBYNAME_R_5 +# HAVE_FUNC_GETHOSTBYNAME_R_3 +# +# as well as +# +# HAVE_GETHOSTBYNAME_R +# +# If used in conjunction with gethostname.c, the API demonstrated in +# test.c can be used regardless of which gethostbyname_r() is available. +# These example files can be found at +# http://www.csn.ul.ie/~caolan/publink/gethostbyname_r +# +# based on David Arnold's autoconf suggestion in the threads faq +# +# Originally named "AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R". Rewritten for +# Autoconf 2.5x, and updated for 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Caolan McNamara +# Copyright (c) 2008 Daniel Richard G. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [ + + AC_LANG_PUSH([C]) + AC_MSG_CHECKING([how many arguments gethostbyname_r() takes]) + + AC_CACHE_VAL([ac_cv_func_which_gethostbyname_r], [ + +################################################################ + +ac_cv_func_which_gethostbyname_r=unknown + +# +# ONE ARGUMENT (sanity check) +# + +# This should fail, as there is no variant of gethostbyname_r() that takes +# a single argument. If it actually compiles, then we can assume that +# netdb.h is not declaring the function, and the compiler is thereby +# assuming an implicit prototype. In which case, we're out of luck. +# +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [ + char *name = "www.gnu.org"; + (void)gethostbyname_r(name) /* ; */ + ])], + [ac_cv_func_which_gethostbyname_r=no]) + +# +# SIX ARGUMENTS +# (e.g. Linux) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [ + char *name = "www.gnu.org"; + struct hostent ret, *retp; + char buf@<:@1024@:>@; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */ + ])], + [ac_cv_func_which_gethostbyname_r=six]) + +fi + +# +# FIVE ARGUMENTS +# (e.g. Solaris) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [ + char *name = "www.gnu.org"; + struct hostent ret; + char buf@<:@1024@:>@; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */ + ])], + [ac_cv_func_which_gethostbyname_r=five]) + +fi + +# +# THREE ARGUMENTS +# (e.g. AIX, HP-UX, Tru64) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [ + char *name = "www.gnu.org"; + struct hostent ret; + struct hostent_data data; + (void)gethostbyname_r(name, &ret, &data) /* ; */ + ])], + [ac_cv_func_which_gethostbyname_r=three]) + +fi + +################################################################ + +]) dnl end AC_CACHE_VAL + +case "$ac_cv_func_which_gethostbyname_r" in + three|five|six) + AC_DEFINE([HAVE_GETHOSTBYNAME_R], [1], + [Define to 1 if you have some form of gethostbyname_r().]) + ;; +esac + +case "$ac_cv_func_which_gethostbyname_r" in + three) + AC_MSG_RESULT([three]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_3], [1], + [Define to 1 if you have the three-argument form of gethostbyname_r().]) + ;; + + five) + AC_MSG_RESULT([five]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_5], [1], + [Define to 1 if you have the five-argument form of gethostbyname_r().]) + ;; + + six) + AC_MSG_RESULT([six]) + AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_6], [1], + [Define to 1 if you have the six-argument form of gethostbyname_r().]) + ;; + + no) + AC_MSG_RESULT([cannot find function declaration in netdb.h]) + ;; + + unknown) + AC_MSG_RESULT([can't tell]) + ;; + + *) + AC_MSG_ERROR([internal error]) + ;; +esac + +AC_LANG_POP + +]) dnl end AC_DEFUN diff --git a/m4/autoconf-archive/ax_func_which_getservbyname_r.m4 b/m4/autoconf-archive/ax_func_which_getservbyname_r.m4 new file mode 100755 index 0000000000..620fcb90ce --- /dev/null +++ b/m4/autoconf-archive/ax_func_which_getservbyname_r.m4 @@ -0,0 +1,110 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_func_which_getservbyname_r.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_FUNC_WHICH_GETSERVBYNAME_R +# +# DESCRIPTION +# +# Provides a test to determine the correct way to call getservbyname_r: +# +# - defines HAVE_FUNC_GETSERVBYNAME_R_6 if it needs 6 arguments (e.g linux) +# - defines HAVE_FUNC_GETSERVBYNAME_R_5 if it needs 5 arguments (e.g. solaris) +# - defines HAVE_FUNC_GETSERVBYNAME_R_4 if it needs 4 arguments (e.g. osf/1) +# +# An example use can be found at +# http://raf.org/autoconf/net_getservbyname.c +# +# Based on Caolan McNamara's gethostbyname_r macro. Based on David +# Arnold's autoconf suggestion in the threads faq. +# +# LICENSE +# +# Copyright (c) 2008 raf +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_RAF_FUNC_WHICH_GETSERVBYNAME_R], [AX_FUNC_WHICH_GETSERVBYNAME_R]) +AC_DEFUN([AX_FUNC_WHICH_GETSERVBYNAME_R], +[AC_CACHE_CHECK(for getservbyname_r, ax_cv_func_which_getservbyname_r, [ +AC_CHECK_FUNC(getservbyname_r, [ + AC_TRY_COMPILE([ +# include + ], [ + + char *name; + char *proto; + struct servent *se; + struct servent_data data; + (void) getservbyname_r(name, proto, se, &data); + + ],ax_cv_func_which_getservbyname_r=four, + [ + AC_TRY_COMPILE([ +# include + ], [ + char *name; + char *proto; + struct servent *se, *res; + char buffer[2048]; + int buflen = 2048; + (void) getservbyname_r(name, proto, se, buffer, buflen, &res) + ],ax_cv_func_which_getservbyname_r=six, + + [ + AC_TRY_COMPILE([ +# include + ], [ + char *name; + char *proto; + struct servent *se; + char buffer[2048]; + int buflen = 2048; + (void) getservbyname_r(name, proto, se, buffer, buflen) + ],ax_cv_func_which_getservbyname_r=five,ax_cv_func_which_getservbyname_r=no) + + ] + + ) + ] + )] + ,ax_cv_func_which_getservbyname_r=no)]) + +if test $ax_cv_func_which_getservbyname_r = six; then + AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_6) +elif test $ax_cv_func_which_getservbyname_r = five; then + AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_5) +elif test $ax_cv_func_which_getservbyname_r = four; then + AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_4) + +fi + +]) diff --git a/m4/autoconf-archive/ax_gcc_archflag.m4 b/m4/autoconf-archive/ax_gcc_archflag.m4 new file mode 100755 index 0000000000..39aaf91e30 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_archflag.m4 @@ -0,0 +1,263 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE]) +# +# DESCRIPTION +# +# This macro tries to guess the "native" arch corresponding to the target +# architecture for use with gcc's -march=arch or -mtune=arch flags. If +# found, the cache variable $ax_cv_gcc_archflag is set to this flag and +# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to +# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is +# to add $ax_cv_gcc_archflag to the end of $CFLAGS. +# +# PORTABLE? should be either [yes] (default) or [no]. In the former case, +# the flag is set to -mtune (or equivalent) so that the architecture is +# only used for tuning, but the instruction set used is still portable. In +# the latter case, the flag is set to -march (or equivalent) so that +# architecture-specific instructions are enabled. +# +# The user can specify --with-gcc-arch= in order to override the +# macro's choice of architecture, or --without-gcc-arch to disable this. +# +# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is +# called unless the user specified --with-gcc-arch manually. +# +# Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID +# +# (The main emphasis here is on recent CPUs, on the principle that doing +# high-performance computing on old hardware is uncommon.) +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2008 Matteo Frigo +# Copyright (c) 2014 Tsukasa Oi +# Copyright (c) 2017-2018 Alexey Kopytov +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 21 + +AC_DEFUN([AX_GCC_ARCHFLAG], +[AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_SED]) +AC_REQUIRE([AX_COMPILER_VENDOR]) + +AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=], [use architecture for gcc -march/-mtune, instead of guessing])], + ax_gcc_arch=$withval, ax_gcc_arch=yes) + +AC_MSG_CHECKING([for gcc architecture flag]) +AC_MSG_RESULT([]) +AC_CACHE_VAL(ax_cv_gcc_archflag, +[ +ax_cv_gcc_archflag="unknown" + +if test "$GCC" = yes; then + +if test "x$ax_gcc_arch" = xyes; then +ax_gcc_arch="" +if test "$cross_compiling" = no; then +case $host_cpu in + i[[3456]]86*|x86_64*|amd64*) # use cpuid codes + AX_GCC_X86_CPUID(0) + AX_GCC_X86_CPUID(1) + case $ax_cv_gcc_x86_cpuid_0 in + *:756e6547:6c65746e:49656e69) # Intel + case $ax_cv_gcc_x86_cpuid_1 in + *5[[4578]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;; + *5[[123]]?:*:*:*) ax_gcc_arch=pentium ;; + *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;; + *0?6[[356]]?:*:*:*|?6[[356]]?:*:*:*|6[[356]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;; + *0?6[[78ab]]?:*:*:*|?6[[78ab]]?:*:*:*|6[[78ab]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;; + *0?6[[9d]]?:*:*:*|?6[[9d]]?:*:*:*|6[[9d]]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;; + *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;; + *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;; + *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;; + *1?6[[aef]]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;; + *2?6[[5cf]]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;; + *2?6[[ad]]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; + *3?6[[ae]]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; + *3?6[[cf]]?:*:*:*|*4?6[[56]]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; + *3?6d?:*:*:*|*4?6[[7f]]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;; + *1?6c?:*:*:*|*2?6[[67]]?:*:*:*|*3?6[[56]]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;; + *3?67?:*:*:*|*[[45]]?6[[ad]]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;; + *000?f[[012]]?:*:*:*|?f[[012]]?:*:*:*|f[[012]]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; + *000?f[[346]]?:*:*:*|?f[[346]]?:*:*:*|f[[346]]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;; + # fallback + *5??:*:*:*) ax_gcc_arch=pentium ;; + *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;; + *6??:*:*:*) ax_gcc_arch=pentiumpro ;; + *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;; + esac ;; + *:68747541:444d4163:69746e65) # AMD + case $ax_cv_gcc_x86_cpuid_1 in + *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;; + *5[[8]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;; + *5[[9d]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;; + *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;; + *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;; + *6[[678a]]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;; + *000?f[[4578bcef]]?:*:*:*|?f[[4578bcef]]?:*:*:*|f[[4578bcef]]?:*:*:*|*001?f[[4578bcf]]?:*:*:*|1?f[[4578bcf]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;; + *002?f[[13457bcf]]?:*:*:*|2?f[[13457bcf]]?:*:*:*|*004?f[[138bcf]]?:*:*:*|4?f[[138bcf]]?:*:*:*|*005?f[[df]]?:*:*:*|5?f[[df]]?:*:*:*|*006?f[[8bcf]]?:*:*:*|6?f[[8bcf]]?:*:*:*|*007?f[[cf]]?:*:*:*|7?f[[cf]]?:*:*:*|*00c?f1?:*:*:*|c?f1?:*:*:*|*020?f3?:*:*:*|20?f3?:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; + *010?f[[245689a]]?:*:*:*|10?f[[245689a]]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; + *050?f[[12]]?:*:*:*|50?f[[12]]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; + *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; + *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[[03]]?:*:*:*|61?f[[03]]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; + *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; + *07[[03]]?f0?:*:*:*|7[[03]]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; + # fallback + *0[[13]]??f??:*:*:*|[[13]]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;; + *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;; + *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;; + *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;; + *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;; + *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;; + *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;; + *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;; + esac ;; + *:746e6543:736c7561:48727561) # IDT / VIA (Centaur) + case $ax_cv_gcc_x86_cpuid_1 in + *54?:*:*:*) ax_gcc_arch=winchip-c6 ;; + *5[[89]]?:*:*:*) ax_gcc_arch=winchip2 ;; + *66?:*:*:*) ax_gcc_arch=winchip2 ;; + *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;; + *6[[9adf]]?:*:*:*) ax_gcc_arch="c3-2 c3" ;; + esac ;; + esac + if test x"$ax_gcc_arch" = x; then # fallback + case $host_cpu in + i586*) ax_gcc_arch=pentium ;; + i686*) ax_gcc_arch=pentiumpro ;; + esac + fi + ;; + + sparc*) + AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/]) + cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null` + cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters` + case $cputype in + *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;; + *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;; + *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;; + *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;; + *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;; + *cypress*) ax_gcc_arch=cypress ;; + esac ;; + + alphaev5) ax_gcc_arch=ev5 ;; + alphaev56) ax_gcc_arch=ev56 ;; + alphapca56) ax_gcc_arch="pca56 ev56" ;; + alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;; + alphaev6) ax_gcc_arch=ev6 ;; + alphaev67) ax_gcc_arch=ev67 ;; + alphaev68) ax_gcc_arch="ev68 ev67" ;; + alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;; + alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;; + alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;; + + powerpc*) + cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | $SED 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null` + cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'` + case $cputype in + *750*) ax_gcc_arch="750 G3" ;; + *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;; + *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;; + *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;; + *970*) ax_gcc_arch="970 G5 power4";; + *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";; + *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";; + 603ev|8240) ax_gcc_arch="$cputype 603e 603";; + *) ax_gcc_arch=$cputype ;; + esac + ax_gcc_arch="$ax_gcc_arch powerpc" + ;; + aarch64) + cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` + cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` + cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1` + case $cpuimpl in + 0x42) case $cpuarch in + 8) case $cpuvar in + 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;; + esac + ;; + esac + ;; + 0x43) case $cpuarch in + 8) case $cpuvar in + 0x0) ax_gcc_arch="thunderx armv8-a native" ;; + 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;; + esac + ;; + esac + ;; + esac + ;; +esac +fi # not cross-compiling +fi # guess arch + +if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then +if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code + flag_prefixes="-mtune=" + if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then flag_prefixes="-march="; fi + # -mcpu=$arch and m$arch generate nonportable code on every arch except + # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr. + case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac +else + flag_prefixes="-march= -mcpu= -m" +fi +for flag_prefix in $flag_prefixes; do + for arch in $ax_gcc_arch; do + flag="$flag_prefix$arch" + AX_CHECK_COMPILE_FLAG($flag, [if test "x$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" = xclang; then + if test "x[]m4_default([$1],yes)" = xyes; then + if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi + fi + fi; ax_cv_gcc_archflag=$flag; break]) + done + test "x$ax_cv_gcc_archflag" = xunknown || break +done +fi + +fi # $GCC=yes +]) +AC_MSG_CHECKING([for gcc architecture flag]) +AC_MSG_RESULT($ax_cv_gcc_archflag) +if test "x$ax_cv_gcc_archflag" = xunknown; then + m4_default([$3],:) +else + m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"]) +fi +]) diff --git a/m4/autoconf-archive/ax_gcc_builtin.m4 b/m4/autoconf-archive/ax_gcc_builtin.m4 new file mode 100755 index 0000000000..314422e35b --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_builtin.m4 @@ -0,0 +1,170 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_builtin.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_BUILTIN(BUILTIN) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's built-in +# functions; many other compilers also provide those same built-ins. +# +# The BUILTIN parameter is the name of the built-in function. +# +# If BUILTIN is supported define HAVE_. Keep in mind that since +# builtins usually start with two underscores they will be copied over +# into the HAVE_ definition (e.g. HAVE___BUILTIN_EXPECT for +# __builtin_expect()). +# +# The macro caches its result in the ax_cv_have_ variable (e.g. +# ax_cv_have___builtin_expect). +# +# The macro currently supports the following built-in functions: +# +# __builtin_assume_aligned +# __builtin_bswap16 +# __builtin_bswap32 +# __builtin_bswap64 +# __builtin_choose_expr +# __builtin___clear_cache +# __builtin_clrsb +# __builtin_clrsbl +# __builtin_clrsbll +# __builtin_clz +# __builtin_clzl +# __builtin_clzll +# __builtin_complex +# __builtin_constant_p +# __builtin_ctz +# __builtin_ctzl +# __builtin_ctzll +# __builtin_expect +# __builtin_ffs +# __builtin_ffsl +# __builtin_ffsll +# __builtin_fpclassify +# __builtin_huge_val +# __builtin_huge_valf +# __builtin_huge_vall +# __builtin_inf +# __builtin_infd128 +# __builtin_infd32 +# __builtin_infd64 +# __builtin_inff +# __builtin_infl +# __builtin_isinf_sign +# __builtin_nan +# __builtin_nand128 +# __builtin_nand32 +# __builtin_nand64 +# __builtin_nanf +# __builtin_nanl +# __builtin_nans +# __builtin_nansf +# __builtin_nansl +# __builtin_object_size +# __builtin_parity +# __builtin_parityl +# __builtin_parityll +# __builtin_popcount +# __builtin_popcountl +# __builtin_popcountll +# __builtin_powi +# __builtin_powif +# __builtin_powil +# __builtin_prefetch +# __builtin_trap +# __builtin_types_compatible_p +# __builtin_unreachable +# +# Unsupported built-ins will be tested with an empty parameter set and the +# result of the check might be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_DEFUN([AX_GCC_BUILTIN], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_$1]) + + AC_CACHE_CHECK([for $1], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [ + m4_case([$1], + [__builtin_assume_aligned], [$1("", 0)], + [__builtin_bswap16], [$1(0)], + [__builtin_bswap32], [$1(0)], + [__builtin_bswap64], [$1(0)], + [__builtin_choose_expr], [$1(0, 0, 0)], + [__builtin___clear_cache], [$1("", "")], + [__builtin_clrsb], [$1(0)], + [__builtin_clrsbl], [$1(0)], + [__builtin_clrsbll], [$1(0)], + [__builtin_clz], [$1(0)], + [__builtin_clzl], [$1(0)], + [__builtin_clzll], [$1(0)], + [__builtin_complex], [$1(0.0, 0.0)], + [__builtin_constant_p], [$1(0)], + [__builtin_ctz], [$1(0)], + [__builtin_ctzl], [$1(0)], + [__builtin_ctzll], [$1(0)], + [__builtin_expect], [$1(0, 0)], + [__builtin_ffs], [$1(0)], + [__builtin_ffsl], [$1(0)], + [__builtin_ffsll], [$1(0)], + [__builtin_fpclassify], [$1(0, 1, 2, 3, 4, 0.0)], + [__builtin_huge_val], [$1()], + [__builtin_huge_valf], [$1()], + [__builtin_huge_vall], [$1()], + [__builtin_inf], [$1()], + [__builtin_infd128], [$1()], + [__builtin_infd32], [$1()], + [__builtin_infd64], [$1()], + [__builtin_inff], [$1()], + [__builtin_infl], [$1()], + [__builtin_isinf_sign], [$1(0.0)], + [__builtin_nan], [$1("")], + [__builtin_nand128], [$1("")], + [__builtin_nand32], [$1("")], + [__builtin_nand64], [$1("")], + [__builtin_nanf], [$1("")], + [__builtin_nanl], [$1("")], + [__builtin_nans], [$1("")], + [__builtin_nansf], [$1("")], + [__builtin_nansl], [$1("")], + [__builtin_object_size], [$1("", 0)], + [__builtin_parity], [$1(0)], + [__builtin_parityl], [$1(0)], + [__builtin_parityll], [$1(0)], + [__builtin_popcount], [$1(0)], + [__builtin_popcountl], [$1(0)], + [__builtin_popcountll], [$1(0)], + [__builtin_powi], [$1(0, 0)], + [__builtin_powif], [$1(0, 0)], + [__builtin_powil], [$1(0, 0)], + [__builtin_prefetch], [$1("")], + [__builtin_trap], [$1()], + [__builtin_types_compatible_p], [$1(int, int)], + [__builtin_unreachable], [$1()], + [m4_warn([syntax], [Unsupported built-in $1, the test may fail]) + $1()] + ) + ])], + [AS_VAR_SET([ac_var], [yes])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1), 1, + [Define to 1 if the system has the `$1' built-in function])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/m4/autoconf-archive/ax_gcc_const_call.m4 b/m4/autoconf-archive/ax_gcc_const_call.m4 new file mode 100755 index 0000000000..74b12d14d6 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_const_call.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_const_call.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_CONST_CALL +# +# DESCRIPTION +# +# The macro will compile a test program to see whether the compiler does +# understand the per-function postfix pragma. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_GCC_CONST_CALL],[dnl +AC_CACHE_CHECK( + [whether the compiler supports function __attribute__((__const__))], + ax_cv_gcc_const_call,[ + AC_TRY_COMPILE([__attribute__((__const__)) + int f(int i) { return i; }], + [], + ax_cv_gcc_const_call=yes, ax_cv_gcc_const_call=no)]) + if test "$ax_cv_gcc_const_call" = yes; then + AC_DEFINE([GCC_CONST_CALL],[__attribute__((__const__))], + [most gcc compilers know a function __attribute__((__const__))]) + fi +]) diff --git a/m4/autoconf-archive/ax_gcc_func_attribute.m4 b/m4/autoconf-archive/ax_gcc_func_attribute.m4 new file mode 100755 index 0000000000..098c9aadff --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_func_attribute.m4 @@ -0,0 +1,238 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's function +# attributes; many other compilers also provide function attributes with +# the same syntax. Compiler warnings are used to detect supported +# attributes as unsupported ones are ignored by default so quieting +# warnings when using this macro will yield false positives. +# +# The ATTRIBUTE parameter holds the name of the attribute to be checked. +# +# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_. +# +# The macro caches its result in the ax_cv_have_func_attribute_ +# variable. +# +# The macro currently supports the following function attributes: +# +# alias +# aligned +# alloc_size +# always_inline +# artificial +# cold +# const +# constructor +# constructor_priority for constructor attribute with priority +# deprecated +# destructor +# dllexport +# dllimport +# error +# externally_visible +# fallthrough +# flatten +# format +# format_arg +# gnu_inline +# hot +# ifunc +# leaf +# malloc +# noclone +# noinline +# nonnull +# noreturn +# nothrow +# optimize +# pure +# sentinel +# sentinel_position +# unused +# used +# visibility +# warning +# warn_unused_result +# weak +# weakref +# +# Unsupported function attributes will be tested with a prototype +# returning an int and not accepting any arguments and the result of the +# check might be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) + + AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + m4_case([$1], + [alias], [ + int foo( void ) { return 0; } + int bar( void ) __attribute__(($1("foo"))); + ], + [aligned], [ + int foo( void ) __attribute__(($1(32))); + ], + [alloc_size], [ + void *foo(int a) __attribute__(($1(1))); + ], + [always_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [artificial], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [cold], [ + int foo( void ) __attribute__(($1)); + ], + [const], [ + int foo( void ) __attribute__(($1)); + ], + [constructor_priority], [ + int foo( void ) __attribute__((__constructor__(65535/2))); + ], + [constructor], [ + int foo( void ) __attribute__(($1)); + ], + [deprecated], [ + int foo( void ) __attribute__(($1(""))); + ], + [destructor], [ + int foo( void ) __attribute__(($1)); + ], + [dllexport], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [dllimport], [ + int foo( void ) __attribute__(($1)); + ], + [error], [ + int foo( void ) __attribute__(($1(""))); + ], + [externally_visible], [ + int foo( void ) __attribute__(($1)); + ], + [fallthrough], [ + int foo( void ) {switch (0) { case 1: __attribute__(($1)); case 2: break ; }}; + ], + [flatten], [ + int foo( void ) __attribute__(($1)); + ], + [format], [ + int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); + ], + [format_arg], [ + char *foo(const char *p) __attribute__(($1(1))); + ], + [gnu_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [hot], [ + int foo( void ) __attribute__(($1)); + ], + [ifunc], [ + int my_foo( void ) { return 0; } + static int (*resolve_foo(void))(void) { return my_foo; } + int foo( void ) __attribute__(($1("resolve_foo"))); + ], + [leaf], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [malloc], [ + void *foo( void ) __attribute__(($1)); + ], + [noclone], [ + int foo( void ) __attribute__(($1)); + ], + [noinline], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [nonnull], [ + int foo(char *p) __attribute__(($1(1))); + ], + [noreturn], [ + void foo( void ) __attribute__(($1)); + ], + [nothrow], [ + int foo( void ) __attribute__(($1)); + ], + [optimize], [ + __attribute__(($1(3))) int foo( void ) { return 0; } + ], + [pure], [ + int foo( void ) __attribute__(($1)); + ], + [sentinel], [ + int foo(void *p, ...) __attribute__(($1)); + ], + [sentinel_position], [ + int foo(void *p, ...) __attribute__(($1(1))); + ], + [returns_nonnull], [ + void *foo( void ) __attribute__(($1)); + ], + [unused], [ + int foo( void ) __attribute__(($1)); + ], + [used], [ + int foo( void ) __attribute__(($1)); + ], + [visibility], [ + int foo_def( void ) __attribute__(($1("default"))); + int foo_hid( void ) __attribute__(($1("hidden"))); + int foo_int( void ) __attribute__(($1("internal"))); + int foo_pro( void ) __attribute__(($1("protected"))); + ], + [warning], [ + int foo( void ) __attribute__(($1(""))); + ], + [warn_unused_result], [ + int foo( void ) __attribute__(($1)); + ], + [weak], [ + int foo( void ) __attribute__(($1)); + ], + [weakref], [ + static int foo( void ) { return 0; } + static int bar( void ) __attribute__(($1("foo"))); + ], + [ + m4_warn([syntax], [Unsupported attribute $1, the test may fail]) + int foo( void ) __attribute__(($1)); + ] + )], []) + ], + dnl GCC doesn't exit with an error if an unknown attribute is + dnl provided but only outputs a warning, so accept the attribute + dnl only if no warning were issued. + [AS_IF([test -s conftest.err], + [AS_VAR_SET([ac_var], [no])], + [AS_VAR_SET([ac_var], [yes])])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1, + [Define to 1 if the system has the `$1' function attribute])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/m4/autoconf-archive/ax_gcc_lib.m4 b/m4/autoconf-archive/ax_gcc_lib.m4 new file mode 100755 index 0000000000..5bb73ff111 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_lib.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_lib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_LIB(LIBRARY,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# AX_GCC_LIB looks for LIBRARY inside gcc install directory, performs +# ACTION-IF-FOUND if the library is available, ACTION-IF-NOT-FOUND +# otherwise. The gcc install directory is retrieved using +# AX_GCC_INSTALL_DIR macro. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AC_DEFUN([AX_GCC_LIB], [ + AX_GCC_INSTALL_DIR([GCC_INSTALL_DIR]) + + AC_MSG_CHECKING([if gcc $1 is available in $GCC_INSTALL_DIR]) + + AS_IF([test -f "$GCC_INSTALL_DIR/$1"],[ + AC_MSG_RESULT([yes]) + $2 + ],[ + AC_MSG_RESULT([no]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_gcc_libgcc_eh.m4 b/m4/autoconf-archive/ax_gcc_libgcc_eh.m4 new file mode 100755 index 0000000000..6e123f77c3 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_libgcc_eh.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_libgcc_eh.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_LIBGCC_EH(VARIABLE) +# +# DESCRIPTION +# +# AX_GCC_LIBGCC_EH defines VARIABLE as the absolute path to libgcc_eh.a if +# it is available on the system, empty otherwise +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AC_DEFUN([AX_GCC_LIBGCC_EH], [ + AX_GCC_LIB([libgcc_eh.a],[ + AX_GCC_INSTALL_DIR([GCC_INSTALL_DIR]) + $1="$GCC_INSTALL_DIR/libgcc_eh.a" + ],[ + $1="" + ]) +]) diff --git a/m4/autoconf-archive/ax_gcc_libsupcxx.m4 b/m4/autoconf-archive/ax_gcc_libsupcxx.m4 new file mode 100755 index 0000000000..de26b7f57b --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_libsupcxx.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_libsupcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_LIBSUPCXX(VARIABLE) +# +# DESCRIPTION +# +# AX_GCC_LIBSUPCXX defines VARIABLE as the absolute path to libsupc++.a if +# it is available on the system, empty otherwise. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# Copyright (c) 2009 Alessandro Massignan +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_GCC_LIBSUPCXX], [ + AX_GCC_LIBRARIES_DIR([GCC_LIBRARIES_DIR]) + AS_IF([test -z "$GCC_LIBRARIES_DIR"],[ + AC_MSG_ERROR([problems detecting gcc libraries dir]) + ]) + + AC_MSG_CHECKING([for libsupc++.a]) + + ax_gcc_libraries_dir_IFS=$IFS + IFS=":" + + $1="" + for i in $GCC_LIBRARIES_DIR + do + AS_IF([test -f "$i/libsupc++.a"],[ + IFS=$ax_gcc_libraries_dir_IFS + $1="$i/libsupc++.a" + break + ]) + done + + IFS=$ax_gcc_libraries_dir_IFS + + AC_MSG_RESULT([$$1]) +]) diff --git a/m4/autoconf-archive/ax_gcc_malloc_call.m4 b/m4/autoconf-archive/ax_gcc_malloc_call.m4 new file mode 100755 index 0000000000..b56a98e833 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_malloc_call.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_malloc_call.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_MALLOC_CALL +# +# DESCRIPTION +# +# The macro will compile a test program to see whether the compiler does +# understand the per-function postfix pragma. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_GCC_MALLOC_CALL],[dnl +AC_CACHE_CHECK( + [whether the compiler supports function __attribute__((__malloc__))], + ax_cv_gcc_malloc_call,[ + AC_TRY_COMPILE([__attribute__((__malloc__)) + int f(int i) { return i; }], + [], + ax_cv_gcc_malloc_call=yes, ax_cv_gcc_malloc_call=no)]) + if test "$ax_cv_gcc_malloc_call" = yes; then + AC_DEFINE([GCC_MALLOC_CALL],[__attribute__((__malloc__))], + [most gcc compilers know a function __attribute__((__malloc__))]) + fi +]) diff --git a/m4/autoconf-archive/ax_gcc_var_attribute.m4 b/m4/autoconf-archive/ax_gcc_var_attribute.m4 new file mode 100755 index 0000000000..47635d467e --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_var_attribute.m4 @@ -0,0 +1,141 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_var_attribute.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_VAR_ATTRIBUTE(ATTRIBUTE) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's variable +# attributes; many other compilers also provide variable attributes with +# the same syntax. Compiler warnings are used to detect supported +# attributes as unsupported ones are ignored by default so quieting +# warnings when using this macro will yield false positives. +# +# The ATTRIBUTE parameter holds the name of the attribute to be checked. +# +# If ATTRIBUTE is supported define HAVE_VAR_ATTRIBUTE_. +# +# The macro caches its result in the ax_cv_have_var_attribute_ +# variable. +# +# The macro currently supports the following variable attributes: +# +# aligned +# cleanup +# common +# nocommon +# deprecated +# mode +# packed +# tls_model +# unused +# used +# vector_size +# weak +# dllimport +# dllexport +# init_priority +# +# Unsupported variable attributes will be tested against a global integer +# variable and without any arguments given to the attribute itself; the +# result of this check might be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AC_DEFUN([AX_GCC_VAR_ATTRIBUTE], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_var_attribute_$1]) + + AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + m4_case([$1], + [aligned], [ + int foo __attribute__(($1(32))); + ], + [cleanup], [ + int bar(int *t) { return *t; }; + ], + [common], [ + int foo __attribute__(($1)); + ], + [nocommon], [ + int foo __attribute__(($1)); + ], + [deprecated], [ + int foo __attribute__(($1)) = 0; + ], + [mode], [ + long foo __attribute__(($1(word))); + ], + [packed], [ + struct bar { + int baz __attribute__(($1)); + }; + ], + [tls_model], [ + __thread int bar1 __attribute__(($1("global-dynamic"))); + __thread int bar2 __attribute__(($1("local-dynamic"))); + __thread int bar3 __attribute__(($1("initial-exec"))); + __thread int bar4 __attribute__(($1("local-exec"))); + ], + [unused], [ + int foo __attribute__(($1)); + ], + [used], [ + int foo __attribute__(($1)); + ], + [vector_size], [ + int foo __attribute__(($1(16))); + ], + [weak], [ + int foo __attribute__(($1)); + ], + [dllimport], [ + int foo __attribute__(($1)); + ], + [dllexport], [ + int foo __attribute__(($1)); + ], + [init_priority], [ + struct bar { bar() {} ~bar() {} }; + bar b __attribute__(($1(65535/2))); + ], + [ + m4_warn([syntax], [Unsupported attribute $1, the test may fail]) + int foo __attribute__(($1)); + ] + )], [ + m4_case([$1], + [cleanup], [ + int foo __attribute__(($1(bar))) = 0; + foo = foo + 1; + ], + [] + )]) + ], + dnl GCC doesn't exit with an error if an unknown attribute is + dnl provided but only outputs a warning, so accept the attribute + dnl only if no warning were issued. + [AS_IF([test -s conftest.err], + [AS_VAR_SET([ac_var], [no])], + [AS_VAR_SET([ac_var], [yes])])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_VAR_ATTRIBUTE_$1), 1, + [Define to 1 if the system has the `$1' variable attribute])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/m4/autoconf-archive/ax_gcc_warn_unused_result.m4 b/m4/autoconf-archive/ax_gcc_warn_unused_result.m4 new file mode 100755 index 0000000000..43aa1e3f22 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_warn_unused_result.m4 @@ -0,0 +1,58 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_warn_unused_result.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_GCC_WARN_UNUSED_RESULT +# +# DESCRIPTION +# +# The macro will compile a test program to see whether the compiler does +# understand the per-function postfix pragma. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_GCC_WARN_UNUSED_RESULT],[dnl +AC_CACHE_CHECK( + [whether the compiler supports function __attribute__((__warn_unused_result__))], + ax_cv_gcc_warn_unused_result,[ + AC_TRY_COMPILE([__attribute__((__warn_unused_result__)) + int f(int i) { return i; }], + [], + ax_cv_gcc_warn_unused_result=yes, ax_cv_gcc_warn_unused_result=no)]) + if test "$ax_cv_gcc_warn_unused_result" = yes; then + AC_DEFINE([GCC_WARN_UNUSED_RESULT],[__attribute__((__warn_unused_result__))], + [most gcc compilers know a function __attribute__((__warn_unused_result__))]) + fi +]) diff --git a/m4/autoconf-archive/ax_gcc_x86_avx_xgetbv.m4 b/m4/autoconf-archive/ax_gcc_x86_avx_xgetbv.m4 new file mode 100755 index 0000000000..a57fc5eebb --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_x86_avx_xgetbv.m4 @@ -0,0 +1,79 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_x86_avx_xgetbv.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_X86_AVX_XGETBV +# +# DESCRIPTION +# +# On later x86 processors with AVX SIMD support, with gcc or a compiler +# that has a compatible syntax for inline assembly instructions, run a +# small program that executes the xgetbv instruction with input OP. This +# can be used to detect if the OS supports AVX instruction usage. +# +# On output, the values of the eax and edx registers are stored as +# hexadecimal strings as "eax:edx" in the cache variable +# ax_cv_gcc_x86_avx_xgetbv. +# +# If the xgetbv instruction fails (because you are running a +# cross-compiler, or because you are not using gcc, or because you are on +# a processor that doesn't have this instruction), +# ax_cv_gcc_x86_avx_xgetbv_OP is set to the string "unknown". +# +# This macro mainly exists to be used in AX_EXT. +# +# LICENSE +# +# Copyright (c) 2013 Michael Petch +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_GCC_X86_AVX_XGETBV], +[AC_REQUIRE([AC_PROG_CC]) +AC_LANG_PUSH([C]) +AC_CACHE_CHECK(for x86-AVX xgetbv $1 output, ax_cv_gcc_x86_avx_xgetbv_$1, + [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], [ + int op = $1, eax, edx; + FILE *f; + /* Opcodes for xgetbv */ + __asm__ __volatile__ (".byte 0x0f, 0x01, 0xd0" + : "=a" (eax), "=d" (edx) + : "c" (op)); + f = fopen("conftest_xgetbv", "w"); if (!f) return 1; + fprintf(f, "%x:%x\n", eax, edx); + fclose(f); + return 0; +])], + [ax_cv_gcc_x86_avx_xgetbv_$1=`cat conftest_xgetbv`; rm -f conftest_xgetbv], + [ax_cv_gcc_x86_avx_xgetbv_$1=unknown; rm -f conftest_xgetbv], + [ax_cv_gcc_x86_avx_xgetbv_$1=unknown])]) +AC_LANG_POP([C]) +]) diff --git a/m4/autoconf-archive/ax_gcc_x86_cpu_supports.m4 b/m4/autoconf-archive/ax_gcc_x86_cpu_supports.m4 new file mode 100755 index 0000000000..fd37b4fa14 --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_x86_cpu_supports.m4 @@ -0,0 +1,104 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpu_supports.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_GCC_X86_CPU_SUPPORTS(X86-INSTRUCTION-SET, +# [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks if the host cpu supports X86-INSTRUCTION-SET. The instruction set +# that can be tested are "mmx, popcnt, sse, sse2, sse3, sse4.1, sse4.2, +# sse4a, avx, avx2, avx512f, fma, fma4, bmi, bmi2". If the instruction set +# is supported by the host cpu, the C preprocessor macro +# HAVE_XXX_INSTRUCTIONS is set to 1. The XXX is up-cased instruction case +# with dot replaced by underscore. For example, the test for "sse4.2" +# would export HAVE_SSE4_2_INSTRUCTIONS=1. This macro requires gcc +# extended builtin function "__builtin_cpu_init" and +# "__builtin_cpu_supports" to detect the cpu features. It will error out +# if the compiler doesn't has these builtins. +# +# If the test for the instruction set succeeded, the hook ACTION-IF-FOUND +# would run. Otherwise the hook ACTION-IF-NOT-FOUND would run if +# specified. +# +# See also AX_CHECK_X86_FEATURES, which checks all the possible +# instruction set and export the corresponding CFLAGS. +# +# LICENSE +# +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN_ONCE([_AX_GCC_X86_CPU_INIT], + [AC_LANG_PUSH([C]) + AC_CACHE_CHECK([for gcc __builtin_cpu_init function], + [ax_cv_gcc_check_x86_cpu_init], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([#include ], + [__builtin_cpu_init ();]) + ], + [ax_cv_gcc_check_x86_cpu_init=yes], + [ax_cv_gcc_check_x86_cpu_init=no])]) + AS_IF([test "X$ax_cv_gcc_check_x86_cpu_init" = "Xno"], + [AC_MSG_ERROR([Need GCC to support X86 CPU features tests])]) +]) + +AC_DEFUN([AX_GCC_X86_CPU_SUPPORTS], + [AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([_AX_GCC_X86_CPU_INIT]) + AC_LANG_PUSH([C]) + AS_VAR_PUSHDEF([gcc_x86_feature], [AS_TR_SH([ax_cv_gcc_x86_cpu_supports_$1])]) + AC_CACHE_CHECK([for x86 $1 instruction support], + [gcc_x86_feature], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( [#include ], + [ __builtin_cpu_init (); + if (__builtin_cpu_supports("$1")) + return 0; + return 1; + ])], + [gcc_x86_feature=yes], + [gcc_x86_feature=no] + )] + ) + AC_LANG_POP([C]) + AS_VAR_IF([gcc_x86_feature],[yes], + [AC_DEFINE( + AS_TR_CPP([HAVE_$1_INSTRUCTIONS]), + [1], + [Define if $1 instructions are supported]) + $2], + [$3] + ) + AS_VAR_POPDEF([gcc_x86_feature]) +]) diff --git a/m4/autoconf-archive/ax_gcc_x86_cpuid.m4 b/m4/autoconf-archive/ax_gcc_x86_cpuid.m4 new file mode 100755 index 0000000000..df954658ee --- /dev/null +++ b/m4/autoconf-archive/ax_gcc_x86_cpuid.m4 @@ -0,0 +1,89 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_X86_CPUID(OP) +# AX_GCC_X86_CPUID_COUNT(OP, COUNT) +# +# DESCRIPTION +# +# On Pentium and later x86 processors, with gcc or a compiler that has a +# compatible syntax for inline assembly instructions, run a small program +# that executes the cpuid instruction with input OP. This can be used to +# detect the CPU type. AX_GCC_X86_CPUID_COUNT takes an additional COUNT +# parameter that gets passed into register ECX before calling cpuid. +# +# On output, the values of the eax, ebx, ecx, and edx registers are stored +# as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable +# ax_cv_gcc_x86_cpuid_OP. +# +# If the cpuid instruction fails (because you are running a +# cross-compiler, or because you are not using gcc, or because you are on +# a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP +# is set to the string "unknown". +# +# This macro mainly exists to be used in AX_GCC_ARCHFLAG. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2008 Matteo Frigo +# Copyright (c) 2015 Michael Petch +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_GCC_X86_CPUID], +[AX_GCC_X86_CPUID_COUNT($1, 0) +]) + +AC_DEFUN([AX_GCC_X86_CPUID_COUNT], +[AC_REQUIRE([AC_PROG_CC]) +AC_LANG_PUSH([C]) +AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1, + [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], [ + int op = $1, level = $2, eax, ebx, ecx, edx; + FILE *f; + __asm__ __volatile__ ("xchg %%ebx, %1\n" + "cpuid\n" + "xchg %%ebx, %1\n" + : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op), "2" (level)); + + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; +])], + [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid], + [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid], + [ax_cv_gcc_x86_cpuid_$1=unknown])]) +AC_LANG_POP([C]) +]) diff --git a/m4/autoconf-archive/ax_generate_changelog.m4 b/m4/autoconf-archive/ax_generate_changelog.m4 new file mode 100755 index 0000000000..e2f0c546f3 --- /dev/null +++ b/m4/autoconf-archive/ax_generate_changelog.m4 @@ -0,0 +1,99 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_generate_changelog.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GENERATE_CHANGELOG() +# +# DESCRIPTION +# +# Builds a rule for generating a ChangeLog file from version control +# system commit messages. Currently, the only supported VCS is git, but +# support for others could be added in future. +# +# Defines GENERATE_CHANGELOG_RULES which should be substituted in your +# Makefile. +# +# Usage example: +# +# configure.ac: +# +# AX_GENERATE_CHANGELOG +# +# Makefile.am: +# +# @GENERATE_CHANGELOG_RULES@ +# CHANGELOG_START = 0.2.3^ +# dist-hook: dist-ChangeLog +# +# ChangeLog (stub committed to VCS): +# +# The ChangeLog is auto-generated when releasing. +# If you are seeing this, use 'git log' for a detailed list of changes. +# +# This results in a "dist-ChangeLog" rule being added to the Makefile. +# When run, "dist-ChangeLog" will generate a ChangeLog in the +# $(top_distdir), using $(CHANGELOG_GIT_FLAGS) to format the output from +# "git log" being run in $(CHANGELOG_GIT_DIR). +# +# Unless Automake is initialised with the 'foreign' option, a dummy +# ChangeLog file must be committed to VCS in $(top_srcdir), containing the +# text above (for example). It will be substituted by the automatically +# generated ChangeLog during "make dist". +# +# LICENSE +# +# Copyright (c) 2015 David King +# Copyright (c) 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_GENERATE_CHANGELOG],[ + # Find git, defaulting to the 'missing' script so the user gets a nice + # message if git is missing, rather than a plain 'command not found'. + AC_PATH_PROG([GIT],[git],[${am_missing_run}git]) + AC_SUBST([GIT]) + + # Build the ChangeLog rules. + m4_pattern_allow([AM_V_GEN]) +GENERATE_CHANGELOG_RULES=' +# Generate ChangeLog +# +# Optional: +# - CHANGELOG_START: git commit ID or tag name to output changelogs from +# (exclusive). (Default: include all commits) +# - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the +# ChangeLog. (Default: various) +# - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git) + +# git-specific +CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color --no-decorate +CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git + +ifeq ($(CHANGELOG_START),) +CHANGELOG_GIT_RANGE = +else +CHANGELOG_GIT_RANGE = $(CHANGELOG_START).. +endif + +# Generate a ChangeLog in $(top_distdir) +dist-ChangeLog: + $(AM_V_GEN)if $(GIT) \ + --git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \ + $(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \ + | fmt --split-only >.ChangeLog.tmp; \ + then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ + else rm -f .ChangeLog.tmp; exit 1; fi + +.PHONY: dist-ChangeLog +' + + AC_SUBST([GENERATE_CHANGELOG_RULES]) + m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([GENERATE_CHANGELOG_RULES])]) +]) diff --git a/m4/autoconf-archive/ax_gnu_autotest.m4 b/m4/autoconf-archive/ax_gnu_autotest.m4 new file mode 100755 index 0000000000..3cb2b00662 --- /dev/null +++ b/m4/autoconf-archive/ax_gnu_autotest.m4 @@ -0,0 +1,889 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_gnu_autotest.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GNU_AUTOTEST([testdir = `tests'], [testsuites = `testsuite'], +# [atlocal-sources = `'], [gen-package = `yes'], +# [force = `no']) +# +# DESCRIPTION +# +# Sets up one or multiple GNU Autotest test suites [1]. +# +# TL;DR: +# +# * Write tests/testsuite.at as normal +# * Add to configure.ac: AX_GNU_AUTOTEST +# * Add to Makefile.am or Makefile.in in top_srcdir: +# @AX_GNU_AUTOTEST_DEFAULT@ +# * autoreconf && ./configure && make check +# +# GNU Autotest is a very powerful testing framework to script executing +# binaries, observing their output and logging failures, all in the same +# portable manner as configure itself. But the only help given the +# developer in setting up the framework is the AC_CONFIG_TESTDIR() +# command, which leaves several additional steps up to the developer +# copying examples from the manual: +# +# * generating the "package.m4" file used in generating the "testsuite" +# * generating the "testsuite" executable by calling autom4te +# * adding Makefile rules to keep both "package.m4" and "testsuite" +# current +# * figuring out how to do all the above if the Makefile does not reside +# in the testdir +# +# This command takes care of all of the above. It is designed to be called +# multiple times for different testdir directories, to have multiple +# testsuites scripts per directory and to handle the optional "package.m4" +# and "atlocal" (re)generation. +# +# The various actions taken by this command happen in different phases of +# the build process: +# +# 1) During the autoconf execution, generate the testsuites and any +# "package.m4" files. So these are already available before configure +# ran. The reasoning for deviating from the examples in [1] is that +# these files are distributed and must be placed in the srcdir: it +# seems cleaner to not generate anything in srcdir during any of the +# later phases. +# 2) During the config.status execution (following the configure +# execution), generate "atconfig" and any "atlocal" files in the +# buildir. The "atconfig" generation is handled by calling +# AC_CONFIG_TESTDIR() so the developer does not have to do so +# themselves. +# 3) During the execution of make, several additional rules and file +# lists are made available via AC_SUBST(). The rules are intended +# to be called where appropriate (e.g. make check can depend on +# check-autotest) and the file lists are intended to be added +# to the appropriate lists (i.e. to DISTCLEANFILES and EXTRA_DIST). +# +# Description of AX_GNU_AUTOTEST() arguments: +# +# * testdir: directory-name containing the testsuites. AX_GNU_AUTOTEST() +# must be called exactly once for each directory containing testsuites. +# If empty, defaults to "tests". +# * testsuites: space-separated list of words, where each word is the +# name of a test suite script optionally followed by a colon and the +# name of the scripts source file. If the source file is not given, +# it defaults to the script name suffixed by ".at". So these words +# are all equivalent: "foo", "foo:" and "foo:foo.at". If the argument +# is empty, it defaults to "testsuite". The script filenames must not +# contain any path, but that is allowed for the source filenames. +# * atlocal-sources: space- or colon-separated list of filenames, which +# are registered with AC_CONFIG_FILES() as the sources of atlocal. +# If empty, no atlocal file is generated. +# * gen-package: boolean ("yes" or "no") indicating whether "package.m4" +# should be generated. If empty, defaults to "yes". +# * force: boolean ("yes" or "no") whether to treat errors in arguments +# as errors and abort (for "no") or whether to ignore any such errors +# (for "yes"). If empty, defaults to "no". +# +# All filenames above must be relative. The testdir name is interpreted +# relative to top_srcdir. All other names are interpreted relative to the +# testdir. The boolean values are interpreted as "yes" for any non-empty +# value except "0", "n", "no" and their mixed-case variants. +# +# Description of Makefile.am / Makefile.in substitutions: +# +# * AX_GNU_AUTOTEST_RULES: the make rules provided here. Substitute this +# in a separate line. +# * AX_GNU_AUTOTEST_DCLEAN: the list of files to be added to +# DISTCLEANFILES. +# * AX_GNU_AUTOTEST_DIST: the list of files to be added to EXTRA_DIST. +# * AX_GNU_AUTOTEST_DEFAULT: includes all other substitutions and uses +# them in a "default" way. +# +# All must be used as a substitution (@...@) instead of as a variable +# ($(...) or ${...}). These substitutions are generated multiple times, +# once for each directory where an affected Makefile may be located. All +# substitutions start with the base as given above but may have suffixes +# for the directories. Assuming this example in configure.ac: +# +# AX_GNU_AUTOTEST([foo/bar]) +# AX_GNU_AUTOTEST([baz]) +# +# Then the following substitutions are available (where stands for +# one of the above prefixes): +# +# * : for use in top_srcdir/Makefile +# * _foo : for use in top_srcdir/foo/Makefile +# * _foo_bar : for use in top_srcdir/foo/bar/Makefile +# * _baz : for use in top_srcdir/baz/Makefile +# +# The substitutions cover both foo/bar and baz, so none of the +# other substitutions should be used. Indeed, no Makefiles are needed in +# the other directories. But if sub-directory Makefiles are used, then +# both _baz and either of _foo or _foo_bar must be used +# in their respective Makefiles. +# +# Description of Makefile targets defined by AX_GNU_AUTOTEST_RULES*: +# +# * check-autotest: The equivalent of check. +# * installcheck-autotest: The equivalent of installcheck. +# * clean-autotest: The equivalent of clean. +# +# The developer can either define the above targets as dependencies of +# their appropriate equivalent rule or of their *-local equivalent rule +# for automake or they can define a rule with a sub-make call as they +# wish. +# +# All rules are dependent on like-named rules for each sub-directory and +# for each testsuite. Only the testsuite rules actually do any work, the +# rest are just collectors and convenience names. Assuming this example in +# configure.ac: +# +# AX_GNU_AUTOTEST([foo], [testsuite bar]) +# AX_GNU_AUTOTEST([baz]) +# +# Then AX_GNU_AUTOTEST_RULES defines these check rules (likewise for +# installcheck and clean): +# +# check-autotest: check-autotest-foo check-autotest-baz +# check-autotest-foo: check-autotest-foo-testsuite check-autotest-foo-bar +# check-autotest-baz: check-autotest-baz-testsuite +# check-autotest-foo-testsuite # Executes foo/testsuite -C foo +# check-autotest-foo-bar # Executes foo/bar -C foo +# check-autotest-baz-testsuite # Executes baz/testsuite -C baz +# +# And AX_GNU_AUTOTEST_RULES_baz defines these check rules: +# +# check-autotest: check-autotest-testsuite +# check-autotest-testsuite # Executes testsuite (which is baz/testsuite) +# +# Note how the rule names only contain the directory and testsuite paths +# relative to the Makefile location. Also note how each testsuite is +# executed in its respective testdir. +# +# In addition to the above, AX_GNU_AUTOTEST_RULES* also contains the rules +# to keep the testsuites, "package.m4" and "atconfig" updated. The +# matching rules to keep "atlocal" updated are generated by automake if +# that is used or are the responsibility of the developer. +# +# All testsuite executions (except for clean) use variables +# AX_GNU_AUTOTEST_FLAGS, AX_GNU_AUTOTEST_CHECK_FLAGS, +# AX_GNU_AUTOTEST_INSTALLCHECK_FLAGS and more path-and-script-specific +# variants for additional command line options. These variables can be +# defined by the developer to pass options to the testsuite. In the +# example above, the rule check-autotest-foo-bar would look like this: +# +# check-autotest-foo-bar: +# foo/bar -C foo $(AX_GNU_AUTOTEST_FLAGS) \ +# $(AX_GNU_AUTOTEST_CHECK_FLAGS) \ +# $(AX_GNU_AUTOTEST_FLAGS_foo) \ +# $(AX_GNU_AUTOTEST_CHECK_FLAGS_foo) \ +# $(AX_GNU_AUTOTEST_FLAGS_foo_bar) \ +# $(AX_GNU_AUTOTEST_CHECK_FLAGS_foo_bar) +# +# Description of Makefile file lists: +# +# These lists are intended to be added to DISTCLEANFILES and EXTRA_DIST. +# The *_DCLEAN list contains all "atconfig" files and the *_DIST list +# contains all testsuites and "package.m4" files. The lists are again +# generated per directory: so AX_GNU_AUTOTEST_DCLEAN contains all +# "atconfig" files while e.g. AX_GNU_AUTOTEST_DIST_foo contains only files +# below the "foo" directory. These file lists are prevented from becoming +# Makefile variables by calling AM_SUBST_NOTMAKE(): that way, only the +# single version used by the Makefile is substituted, not all lists for +# all other paths as well. So use either like this: +# +# DISTCLEANFILES = @AX_GNU_AUTOTEST_DCLEAN@ +# EXTRA_DIST = @AX_GNU_AUTOTEST_DIST_foo@ +# +# Or like this: +# +# AX_GNU_AUTOTEST_DCLEAN_foo = @AX_GNU_AUTOTEST_DCLEAN_foo@ +# AX_GNU_AUTOTEST_DIST_foo = @AX_GNU_AUTOTEST_DIST_foo@ +# DISTCLEANFILES = ${AX_GNU_AUTOTEST_DCLEAN_foo} +# EXTRA_DIST = ${AX_GNU_AUTOTEST_DIST_foo} +# +# Description of shorthand default Makefile contents defined by +# AX_GNU_AUTOTEST_DEFAULT*: +# +# This shorthand defines the appropriate rules, adds the file lists to the +# proper variables and makes the new targets dependencies of the standard +# "check", "installcheck" and "clean" targets. AX_GNU_AUTOTEST_DEFAULT is +# for example equivalent to: +# +# @AX_GNU_AUTOTEST_RULES@ +# check: check-autotest +# installcheck: installcheck-autotest +# clean: clean-autotest +# distclean: distclean-autotest +# distclean-autotest: clean-autotest +# -rm -f @AX_GNU_AUTOTEST_DCLEAN@ +# .PHONY: distclean-autotest +# EXTRA_DIST += @AX_GNU_AUTOTEST_DIST@ +# +# Note that this is copied verbatim into the Makefile (after expansion of +# the contained @...@ substitutions): it does not shadow the default +# targets as would happen if the same lines were written in a Makefile.am +# file. And also note the use of the += operator: this will not be +# compatible with all versions of Make. Finally, the DISTCLEANFILES list +# is not used because automake only uses that list if it saw the variable +# in the Makefile.am file: in a substitution, it gets ignored unless the +# user already used the list. +# +# Alternative standard GNU test suites not supported here: +# +# * Automake test suites configured by the TESTS variable [2] +# * DejaGnu test suites [3,4] +# +# [1]: +# +# +# [2]: +# +# [3]: +# +# [4]: +# +# +# LICENSE +# +# Copyright (c) 2015 Olaf Mandel +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +# _AX_GNU_AUTOTEST_remove_parent(filename) +# ---------------------------------------- +# Remove all sequences of foo/.. from the filename, recursively (so e.g. +# foo/bar/../.. is empty) +# normal input, quoted output! +# replacement: 1st pattern removes in middle of string +# 2nd pattern removes at beginning: string starts with [[ ! +# 3rd pattern removes at end of string: string ends in ]] ! +# 4th pattern handles complete collapse: string is surrounded +# by [[ ... ]] ! +m4_define([_AX_GNU_AUTOTEST_remove_parent], +[m4_bmatch([$1], [./\.\.\(/\|$\)], + [_AX_GNU_AUTOTEST_remove_parent(m4_bpatsubsts([[$1]], + [/[^/]*\([^.]\|[^.]\.\|[^/]\.\.\)/\.\./], [/], + [^\(..\)[^/]*\([^.]\|[^.]\.\|[^/]\.\.\)/\.\./], [\1], + [/[^/]*\([^.]\|[^.]\.\|[^/]\.\.\)/\.\.\(..\)$], [\2], + [^\(..\)[^/]*\([^.]\|[^.]\.\|[^/]\.\.\)/\.\.\(..\)$], [\1.\3]))], + [[$1]])dnl +])# _AX_GNU_AUTOTEST_remove_parent + +# _AX_GNU_AUTOTEST_canonicalize(filename) +# --------------------------------------- +# Canonicalize filename: see below for replacements +# normal input, quoted output! +# replacement: 1st pattern removes runs of / +# 2nd pattern removes runs of ./ from middle +# 3rd pattern removes ./ from beginning: string starts with [[ ! +# 4th pattern removes / and /. from end: string ends in ]] ! +m4_define([_AX_GNU_AUTOTEST_canonicalize], +[_AX_GNU_AUTOTEST_remove_parent(dnl +m4_bpatsubsts([[$1]], + [//+], [/], + [/\(\./\)+], [/], + [^\(..\)\./], [\1], + [/\.?\(..\)$], [\1]))dnl +])# _AX_GNU_AUTOTEST_canonicalize + +# _AX_GNU_AUTOTEST_check_filename(filename) +# ----------------------------------------- +# Checks and warns if filename contains invalid characters +m4_define([_AX_GNU_AUTOTEST_check_filename], +[m4_bmatch([$1], + [\[\|\]], [m4_fatal([Overquoted file name '$1'])], + [,], [m4_fatal([Comma in file name '$1'])], + [:], [m4_fatal([Colon in file name '$1'])], + ['], [m4_fatal([Quote in file name '$1'])], + [ ], [m4_fatal([Whitespace in file name '$1'])])dnl +])# _AX_GNU_AUTOTEST_check_filename + +# _AX_GNU_AUTOTEST_suite_split(suite) +# ----------------------------------- +# Convert string [foo:bar] into list [[foo],[bar]] and string [foo] to +# list [[foo],[]] +# Output is quoted +# For the m4_bpatsubst, the string starts and ends with [ ] +m4_define([_AX_GNU_AUTOTEST_suite_split], +[m4_bmatch([$1], + [:], [m4_dquote(m4_bpatsubst([[$1]], [:.*\(.\)$], [\1]), + m4_bpatsubst([[$1]], [^\(.\)[^:]*:], [\1]))], + [m4_dquote([$1], [])])dnl +])# _AX_GNU_AUTOTEST_suite_split + +# _AX_GNU_AUTOTEST_check_suite1(suite, source) +# -------------------------------------------- +# Checks both suite and source with _AX_GNU_AUTOTEST_check_filename +m4_define([_AX_GNU_AUTOTEST_check_suite1], +[_AX_GNU_AUTOTEST_check_filename([$1])dnl +_AX_GNU_AUTOTEST_check_filename([$2])dnl +])# _AX_GNU_AUTOTEST_suite_canon1 + +# _AX_GNU_AUTOTEST_suite_canon(suite, source) +# ------------------------------------------- +# Returns a quoted list of canonicalized suite and source +m4_define([_AX_GNU_AUTOTEST_suite_canon], +[m4_dquote(_AX_GNU_AUTOTEST_canonicalize([$1]), + _AX_GNU_AUTOTEST_canonicalize([$2]))dnl +])# _AX_GNU_AUTOTEST_suite_canon + +# _AX_GNU_AUTOTEST_check_suite2(suite) +# ------------------------------------ +# Check for and warn about the presence of a slash (path-separator) +m4_define([_AX_GNU_AUTOTEST_check_suite2], +[m4_bmatch([$1], + [/], [m4_fatal([Path in test suite file name '$1'])])dnl +])# _AX_GNU_AUTOTEST_check_suite2 + +# _AX_GNU_AUTOTEST_suite_expand(suite, source) +# -------------------------------------------- +# Returns a quoted list of default values: suite defaults to [testsuite] and +# source defaults to suite[.at] +m4_define([_AX_GNU_AUTOTEST_suite_expand], +[m4_dquote(m4_ifblank([$1], [[testsuite]], [[$1]]), + m4_ifblank([$2], [m4_ifblank([$1], [[testsuite.at]], [[$1.at]])], + [[$2]]))dnl +])# _AX_GNU_AUTOTEST_suite_expand + +# _AX_GNU_AUTOTEST_add_suite(dir, [suite, source], gen_package, force) +# -------------------------------------------------------------------- +# Add dir/suite to the _AX_GNU_AUTOTEST_suites variable, warning about +# duplicates unless force is non-blank. And add the source and if +# gen_package is true also package.m4 to _AX_GNU_AUTOTEST_suite_srcs +# Global variables used: +# - _AX_GNU_AUTOTEST_suites +# - _AX_GNU_AUTOTEST_suite_srcs +m4_define([_AX_GNU_AUTOTEST_add_suite], +[m4_set_add([_AX_GNU_AUTOTEST_suites], [$1/]m4_car($2), [], + [m4_ifblank([$4], [m4_fatal([Multiple mentions of testsuite ']dnl +[$1/]m4_car($2)['])])])dnl +m4_define([_AX_GNU_AUTOTEST_suite_srcs]m4_dquote([$1/]m4_car($2)), + m4_dquote(m4_unquote(m4_cdr($2))dnl +m4_ifnblank($3, [,[package.m4]])))dnl +])# _AX_GNU_AUTOTEST_add_suite + +# _AX_GNU_AUTOTEST_gen_package(file) +# ---------------------------------- +# Generate a package.m4 file if out of date wrt/ configure.am +# TODO: what other dependencies to check? +m4_define([_AX_GNU_AUTOTEST_gen_package], +[m4_if(m4_esyscmd_s([test -f '$1' -a ! '$1' -ot ']__file__['; echo $?]), 1, +[m4_errprintn(m4_location[: generating `$1' ]dnl +m4_esyscmd_s([mkdir -p "`dirname '$1'`" && cat >'$1' <<"EOFpackage.m4" +# Signature of the current package. +m4_define([AT_PACKAGE_NAME], + ]m4_dquote(m4_defn([AC_PACKAGE_NAME]))[) +m4_define([AT_PACKAGE_TARNAME], + ]m4_dquote(m4_defn([AC_PACKAGE_TARNAME]))[) +m4_define([AT_PACKAGE_VERSION], + ]m4_dquote(m4_defn([AC_PACKAGE_VERSION]))[) +m4_define([AT_PACKAGE_STRING], + ]m4_dquote(m4_defn([AC_PACKAGE_STRING]))[) +m4_define([AT_PACKAGE_BUGREPORT], + ]m4_dquote(m4_defn([AC_PACKAGE_BUGREPORT]))[) +m4_define([AT_PACKAGE_URL], + ]m4_dquote(m4_defn([AC_PACKAGE_URL]))[) +EOFpackage.m4]))])dnl +])# _AX_GNU_AUTOTEST_gen_package + +# _AX_GNU_AUTOTEST_gen_suite(dir, [suite, source], package) +# --------------------------------------------------------- +# Generate a testscript file dir/suite if out of date wrt/ dir/source (or +# dir/package.m4 if package-var is non-zero) +m4_define([_AX_GNU_AUTOTEST_gen_suite], +[m4_pushdef([suite], [$1/]m4_car($2))dnl +m4_pushdef([source], [$1/]m4_argn(2, $2))dnl +m4_if(m4_esyscmd_s([test -f ']m4_defn([suite])[' -a ! ']dnl +m4_defn([suite])[' -ot ']m4_defn([source])[']m4_ifnblank($3, +m4_dquote([ -a ! ']m4_defn([suite])[' -ot '$1/package.m4']))dnl +[; echo $?]), 1, +[m4_errprintn(m4_location[: generating `]m4_defn([suite])[' ]dnl +m4_esyscmd_s([mkdir -p '$1' && autom4te --language=autotest -I '$1' -o ']dnl +m4_defn([suite])[' ']m4_defn([source])[']))])dnl +m4_popdef([suite], [source])dnl +])# _AX_GNU_AUTOTEST_gen_suite + +# _AX_GNU_AUTOTEST_dist_suite(dir, [suite, source]) +# ------------------------------------------------- +# Add dir/suite and dir/source to _AX_GNU_AUTOTEST_dist +# Global variables used: +# - _AX_GNU_AUTOTEST_dist +m4_define([_AX_GNU_AUTOTEST_dist_suite], +[m4_set_add([_AX_GNU_AUTOTEST_dist], [$1/]m4_car($2))dnl +m4_set_add([_AX_GNU_AUTOTEST_dist], [$1/]m4_argn(2, $2))dnl +])# _AX_GNU_AUTOTEST_dist_suite + +# _AX_GNU_AUTOTEST_acsubst_shared() +# --------------------------------- +# Generates rules and Makefile snippets shared between all directories +# shared1 is used for silencing builds and included in all RULES, +# shared2 is used in the DEFAULT substitution +m4_define([_AX_GNU_AUTOTEST_acsubst_shared], +[AC_SUBST([_AX_GNU_AUTOTEST_shared1], +[['AX_GNU_AUTOTEST_V_RUN = $(_AX_GNU_AUTOTEST_v_RUN_$(V)) +_AX_GNU_AUTOTEST_v_RUN_ = $(_AX_GNU_AUTOTEST_v_RUN_$(AM_DEFAULT_VERBOSITY)) +_AX_GNU_AUTOTEST_v_RUN_0 = @echo " RUN " $<; +AX_GNU_AUTOTEST_V_quiet_flag = $(_AX_GNU_AUTOTEST_v_quiet_flag_$(V)) +_AX_GNU_AUTOTEST_v_quiet_flag_ = ]dnl +[$(_AX_GNU_AUTOTEST_v_quiet_flag_$(AM_DEFAULT_VERBOSITY)) +_AX_GNU_AUTOTEST_v_quiet_flag_0 = -q # <- Note: trailing whitespace']])dnl +AM_SUBST_NOTMAKE([_AX_GNU_AUTOTEST_shared1])dnl +AC_SUBST([_AX_GNU_AUTOTEST_shared2], +[['check: check-autotest +installcheck: installcheck-autotest +clean: clean-autotest +distclean: distclean-autotest +.PHONY: distclean-autotest +distclean-autotest: clean-autotest']])dnl +AM_SUBST_NOTMAKE([_AX_GNU_AUTOTEST_shared2])dnl +])# _AX_GNU_AUTOTEST_acsubst_shared + +# _AX_GNU_AUTOTEST_cleanname(char, name) +# -------------------------------------- +# Output name with all non-alphanumeric characters replaced with char +# Output is quoted +# For the m4_bpatsubsts the string starts and ends in [[ ]] and +# the repetition catches all possible sequences of non-alnum chars +m4_define([_AX_GNU_AUTOTEST_cleanname], +[m4_bpatsubsts([[$2]], [\(..\)[^0-9A-Za-z$1]\(..\)], [\1$1\2], + [\(..\)[^0-9A-Za-z$1]\(..\)], [\1$1\2], + [\(..\)[^0-9A-Za-z$1]\(..\)], [\1$1\2], + [\(..\)[^0-9A-Za-z$1]\(..\)], [\1$1\2], + [\(..\)[^0-9A-Za-z$1]\(..\)], [\1$1\2])dnl +])# _AX_GNU_AUTOTEST_cleanname + +# _AX_GNU_AUTOTEST_substr(str, start, [len]) +# ------------------------------------------ +# Like m4_substr(), but with quoted output +# For m4_bpatsubst the string starts and ends in [ ] +# TODO: RE repetition does not work, so need to use loops... Why? +# TODO: What about out-of-range start or len +m4_define([_AX_GNU_AUTOTEST_substr], +[m4_pushdef([i])dnl +m4_if($#, 2, [m4_bpatsubst([[$1]], [^\(.\)]m4_if(m4_eval([($2) > 0]), [0],, + [m4_for([i], 0, m4_eval([($2)-1]),, + [[.]])])[\(.*\)], [\1\2])], + [m4_bpatsubst([[$1]], [^\(.\)]m4_if(m4_eval([($2) > 0]), [0],, + [m4_for([i], 0, m4_eval([($2)-1]),, + [[.]])])[\(]m4_if(m4_eval([($3) > 0]), [0],, + [m4_for([i], 0, m4_eval([($3)-1]),, + [[.]])])[\).*\(.\)], [\1\2\3])])dnl +m4_popdef([i])dnl +])# _AX_GNU_AUTOTEST_substr + +# _AX_GNU_AUTOTEST_list_prependc(prefix, arg1, ...) +# ------------------------------------------------- +# Returns unquoted list of ,prefixarg1,prefixarg2, ... +# Output starts with a comma if at least one arg +m4_define([_AX_GNU_AUTOTEST_list_prependc], +[m4_pushdef([i])dnl +m4_foreach([i], m4_cdr($@), + [,[$1]m4_defn([i])])dnl +m4_popdef([i])dnl +])# _AX_GNU_AUTOTEST_list_prependc + +# _AX_GNU_AUTOTEST_list_appendc(postfix, arg1, ...) +# ------------------------------------------------- +# Returns unquoted list of ,arg1postfix,arg2postfix, ... +# Output starts with a comma if at least one arg +m4_define([_AX_GNU_AUTOTEST_list_appendc], +[m4_pushdef([i])dnl +m4_foreach([i], m4_cdr($@), + [,m4_defn([i])[$1]])dnl +m4_popdef([i])dnl +])# _AX_GNU_AUTOTEST_list_appendc + +# _AX_GNU_AUTOTEST_filter_listc(prefix, arg1, ...) +# ------------------------------------------------ +# Returns unquoted list of all args starting with prefix, but the prefix is +# stripped in the output. Output starts with a comma if at least one arg +m4_define([_AX_GNU_AUTOTEST_filter_listc], +[m4_pushdef([n], m4_len([$1]))dnl +m4_pushdef([i])dnl +m4_foreach([i], m4_cdr($@), + [m4_if([$1], _AX_GNU_AUTOTEST_substr(m4_defn([i]), 0, n), + [,_AX_GNU_AUTOTEST_substr(m4_defn([i]), n)])])dnl +m4_popdef([n], [i])dnl +])# _AX_GNU_AUTOTEST_filter_listc + +# _AX_GNU_AUTOTEST_filterout_listc(rx, arg1, ...) +# ----------------------------------------------- +# Returns unquoted list of all args not matching regular expression rx +# The arguments are not modified (unlike filter_listc). Output starts with +# a comma if at least one arg +m4_define([_AX_GNU_AUTOTEST_filterout_listc], +[m4_pushdef([i])dnl +m4_foreach([i], m4_cdr($@), + [m4_bmatch(m4_defn([i]), [$1], [], [,m4_defn([i])])])dnl +m4_popdef([i])dnl +])# _AX_GNU_AUTOTEST_filterout_listc + +# _AX_GNU_AUTOTEST_filterpref_listc(prefix, arg1, ...) +# ---------------------------------------------------- +# Returns unquoted list of all args that do not start with any of the other +# args followed by the prefix. Output starts with a comma if at least one +# arg. Example: +# filterpref([/], [foo], [foo/bar], [baz/bar]) +# => ,[foo],[baz/baz] +# Uses a set variable _AX_GNU_AUTOTEST_filterpref_var, which interferes with +# other variables of the same name elsewhere (pushdef / popdef do not work +# fully for sets). +m4_define([_AX_GNU_AUTOTEST_filterpref_listc], +[m4_pushdef([_AX_GNU_AUTOTEST_filterpref_var])dnl +m4_set_delete([_AX_GNU_AUTOTEST_filterpref_var])dnl +m4_if([$#], [1], [], [m4_set_add_all([_AX_GNU_AUTOTEST_filterpref_var], + m4_unquote(m4_cdr($@)))])dnl +m4_pushdef([i])dnl +m4_pushdef([j])dnl +m4_pushdef([m], m4_len([$1]))dnl +m4_pushdef([n])dnl +m4_foreach([i], m4_cdr($@), + [m4_define([n], m4_eval(m4_defn([m]) + m4_len(m4_defn([i]))))dnl +m4_set_foreach([_AX_GNU_AUTOTEST_filterpref_var], [j], + [m4_if(m4_defn([i])[$1], + _AX_GNU_AUTOTEST_substr(m4_defn([j]), 0, n), + [m4_set_remove([_AX_GNU_AUTOTEST_filterpref_var], + m4_defn([j]))])])])dnl +m4_set_listc([_AX_GNU_AUTOTEST_filterpref_var])dnl +m4_popdef([_AX_GNU_AUTOTEST_filterpref_var], [i], [j], [m], [n])dnl +])# _AX_GNU_AUTOTEST_filterpref_listc + +# _AX_GNU_AUTOTEST_rules_flags(dirsuite, target) +# ---------------------------------------------- +# Outputs the list of flag variables for the Makefile rules, specific to +# the suite / dir and target +# Recurses into all parent-directories (parent-first) +# For m4_bpatsubsts the string starts and ends in [[ ]] +m4_define([_AX_GNU_AUTOTEST_rules_flags], +[m4_pushdef([name], _AX_GNU_AUTOTEST_cleanname([_], [$1]))dnl +m4_bmatch([$1], [^\.?$], + [[ $(AX_GNU_AUTOTEST_FLAGS) $(AX_GNU_AUTOTEST_$2_FLAGS)]], + [_AX_GNU_AUTOTEST_rules_flags(m4_bpatsubsts([[$1]], + [^\(..\)[^/]*\(..\)$], [\1\2], + [/[^/]*\(..\)$], [\1]), + [$2])dnl +[ $(AX_GNU_AUTOTEST_FLAGS_]m4_defn([name])[) $(AX_GNU_AUTOTEST_$2_FLAGS_]dnl +m4_defn([name])[)]])dnl +m4_popdef([name])dnl +])# _AX_GNU_AUTOTEST_rules_flags + +# _AX_GNU_AUTOTEST_acsubst_rules_suite_deps(suite, dep1, ...) +# ----------------------------------------------------------- +# Generates the three rules for one suite, output as string +# The suite and dependencies are already relative to the source-dir. +# For the m4_bpatsubst, the string starts and ends with [ ] +# The two quotes ('') in AM_V_GEN obviate the need for m4_pattern_allow +m4_define([_AX_GNU_AUTOTEST_acsubst_rules_suite_deps], +[m4_pushdef([name], _AX_GNU_AUTOTEST_cleanname([-], [$1]))dnl +m4_pushdef([atconf], [atconfig])dnl +m4_bmatch([$1], + [/], [m4_define([atconf], m4_bpatsubst([[$1]], [/[^/]*\(.\)$], + [/atconfig\1]))])dnl +m4_pushdef([cdir])dnl +m4_bmatch([$1], + [/], [m4_define([cdir], [ -C ]m4_bpatsubst([[$1]], [/[^/]*\(.\)$], + [\1]))])dnl +m4_dquote([$(srcdir)/$1: $(top_srcdir)/]__file__[]dnl +m4_mapall([[ $(srcdir)/]m4_quote], m4_cdr($@))[ + $(A''M_V_GEN)cd $(top_srcdir) && $(AUTOCONF) -f +]m4_defn([atconf])[: + $(A''M_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status ]dnl +$(AX_GNU_AUTOTEST_V_quiet_flag)[$][@ +check-autotest-]m4_defn([name])[: $(srcdir)/$1 ]m4_defn([atconf])[ + $(AX_GNU_AUTOTEST_V_RUN)$(SHELL) $(srcdir)/$1]m4_defn([cdir])dnl +_AX_GNU_AUTOTEST_rules_flags([$1], [CHECK])[ +installcheck-autotest-]m4_defn([name])[: $(srcdir)/$1 ]m4_defn([atconf])[ + $(AX_GNU_AUTOTEST_V_RUN)$(SHELL) $(srcdir)/$1]m4_defn([cdir])dnl +[ AUTOTEST_PATH=$(DESTDIR)$(bindir)]dnl +_AX_GNU_AUTOTEST_rules_flags([$1], [INSTALLCHECK])[ +clean-autotest-]m4_defn([name])[: $(srcdir)/$1 + -$(SHELL) $(srcdir)/$1]m4_defn([cdir])[ -c +])dnl +m4_popdef([name], [atconf], [cdir])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules_suite_deps + +# _AX_GNU_AUTOTEST_acsubst_rules_suite(dir, suite) +# ------------------------------------------------ +# Generates the three rules for one suite, output as string +# The suite is supplied still containing the dir prefix. +# Global variables used: +# - _AX_GNU_AUTOTEST_suite_srcs +m4_define([_AX_GNU_AUTOTEST_acsubst_rules_suite], +[m4_pushdef([suite], [$2])dnl +m4_ifnblank([$1], [m4_define([suite], m4_unquote(m4_cdr(dnl +_AX_GNU_AUTOTEST_filter_listc([$1/], [$2]))))])dnl +m4_pushdef([sdir])dnl +m4_bmatch([$2], [/], [m4_define([sdir], + m4_bpatsubst([[$2]], [/[^/]*\(.\)$], [\1]))])dnl +m4_pushdef([deps], m4_dquote(, + m4_unquote(m4_defn([_AX_GNU_AUTOTEST_suite_srcs[$2]]))))dnl +m4_ifnblank(m4_defn([sdir]), [m4_define([deps], m4_dquote(dnl +_AX_GNU_AUTOTEST_list_prependc(m4_defn([sdir])[/]deps)))])dnl +m4_ifnblank([$1], [m4_define([deps], + m4_dquote(_AX_GNU_AUTOTEST_filter_listc([$1/]deps)))])dnl +_AX_GNU_AUTOTEST_acsubst_rules_suite_deps(m4_defn([suite])deps)dnl +m4_popdef([deps], [sdir], [suite])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules_suite + +# _AX_GNU_AUTOTEST_acsubst_rules_dir(base, dir) +# --------------------------------------------- +# Generates the dependency rules for one directory relative to base, output +# as string +# For the m4_bpatsubst, the string starts and ends with [ ] +# Global variables used: +# - _AX_GNU_AUTOTEST_suites +# - _AX_GNU_AUTOTEST_testdirs +m4_define([_AX_GNU_AUTOTEST_acsubst_rules_dir], +[m4_pushdef([name])dnl +m4_ifnblank([$2], + [m4_define([name], [-]_AX_GNU_AUTOTEST_cleanname([-], [$2]))])dnl +m4_pushdef([suites], m4_dquote(m4_set_listc([_AX_GNU_AUTOTEST_suites])))dnl +m4_ifnblank([$1], [m4_define([suites], m4_dquote(dnl +_AX_GNU_AUTOTEST_filter_listc([$1/]suites)))])dnl +m4_ifblank([$2], [m4_define([suites], m4_dquote(dnl +_AX_GNU_AUTOTEST_filterout_listc([/]suites)))], + [m4_define([suites], m4_dquote(dnl +_AX_GNU_AUTOTEST_list_prependc([$2/]dnl +_AX_GNU_AUTOTEST_filterout_listc([/]dnl +_AX_GNU_AUTOTEST_filter_listc([$2/]suites)))))])dnl +m4_pushdef([testdirs], m4_dquote(m4_set_listc(dnl +[_AX_GNU_AUTOTEST_testdirs])))dnl +m4_ifnblank([$1], [m4_define([testdirs], m4_dquote(dnl +_AX_GNU_AUTOTEST_filter_listc([$1/]testdirs)))])dnl +m4_ifblank([$2], [m4_define([testdirs], m4_dquote(dnl +_AX_GNU_AUTOTEST_filterpref_listc([/]testdirs)))], + [m4_define([testdirs], m4_dquote(dnl +_AX_GNU_AUTOTEST_list_prependc([$2/]dnl +_AX_GNU_AUTOTEST_filterpref_listc([/]dnl +_AX_GNU_AUTOTEST_filter_listc([$2/]testdirs)))))])dnl +m4_pushdef([deps], m4_quote(m4_cdr(testdirs[]suites)))dnl +m4_define([deps], m4_dquote(m4_mapall_sep(dnl +[[-autotest-]m4_curry([_AX_GNU_AUTOTEST_cleanname], [-])], [,], +m4_defn([deps]))))dnl +m4_dquote([check-autotest]m4_defn([name])[:]m4_mapall([[ check]m4_quote], + m4_defn([deps]))[ +installcheck-autotest]m4_defn([name])[:]m4_mapall([[ installcheck]m4_quote], + m4_defn([deps]))[ +clean-autotest]m4_defn([name])[:]m4_mapall([[ clean]m4_quote], + m4_defn([deps]))[ +])dnl +m4_popdef([deps], [name], [suites], [testdirs])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules_dir + +# _AX_GNU_AUTOTEST_acsubst_rules_phony(element) +# --------------------------------------------- +# Generates the names of the three targets for one element as string +m4_define([_AX_GNU_AUTOTEST_acsubst_rules_phony], +[m4_pushdef([name])dnl +m4_ifnblank([$1], [m4_define([name], + _AX_GNU_AUTOTEST_cleanname([-], [-$1]))])dnl +m4_dquote([ check-autotest]m4_defn([name])dnl +[ installcheck-autotest]m4_defn([name])dnl +[ clean-autotest]m4_defn([name]))dnl +m4_popdef([name])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules_phony + +# _AX_GNU_AUTOTEST_acsubst_rules_one(name, dir) +# --------------------------------------------- +# AC_SUBSTs one variable called "name" to contain the rules for all suites +# in or below dir +# Global variables used: +# - _AX_GNU_AUTOTEST_suites +# - _AX_GNU_AUTOTEST_testdirs +m4_define([_AX_GNU_AUTOTEST_acsubst_rules_one], +[m4_pushdef([suites])dnl +m4_ifblank([$2], [m4_define([suites], m4_dquote(dnl +m4_set_listc([_AX_GNU_AUTOTEST_suites])))], + [m4_define([suites], m4_dquote(dnl +_AX_GNU_AUTOTEST_list_prependc([$2/]dnl +_AX_GNU_AUTOTEST_filter_listc([$2/]dnl +m4_set_listc([_AX_GNU_AUTOTEST_suites])))))])dnl +m4_pushdef([testdirs])dnl +m4_ifblank([$2], [m4_define([testdirs], m4_dquote([], + m4_set_listc([_AX_GNU_AUTOTEST_testdirs])))], + [m4_define([testdirs], m4_dquote([], + _AX_GNU_AUTOTEST_filter_listc([$2/]dnl +m4_set_listc([_AX_GNU_AUTOTEST_testdirs]))))])dnl +AC_SUBST([$1], +[["${_AX_GNU_AUTOTEST_shared1}"' +]]m4_map_args([m4_curry([_AX_GNU_AUTOTEST_acsubst_rules_suite], + [$2])]suites)dnl +m4_map_args([m4_curry([_AX_GNU_AUTOTEST_acsubst_rules_dir], [$2])]testdirs)dnl +[[.PHONY:]]m4_map_args_sep([_AX_GNU_AUTOTEST_acsubst_rules_phony(], [)], [\ +]testdirs[]suites)[[']])dnl +AM_SUBST_NOTMAKE([$1])dnl +m4_popdef([suites], [testdirs])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules_one + +# _AX_GNU_AUTOTEST_acsubst_rules(dir) +# ----------------------------------- +# AC_SUBSTs the rules variable for dir and recurses for all parent-dirs +# Recurses into all parent-directories +# For m4_bpatsubsts the string starts and ends in [[ ]] +m4_define([_AX_GNU_AUTOTEST_acsubst_rules], +[m4_bmatch([$1], [^\.?$], + [_AX_GNU_AUTOTEST_acsubst_rules_one([AX_GNU_AUTOTEST_RULES], + [])], + [_AX_GNU_AUTOTEST_acsubst_rules_one(dnl +[AX_GNU_AUTOTEST_RULES_]_AX_GNU_AUTOTEST_cleanname([_], [$1]), [$1])dnl +_AX_GNU_AUTOTEST_acsubst_rules(m4_bpatsubsts([[$1]], [^\(..\)[^/]*\(..\)$], + [\1\2], [/[^/]*\(..\)$], [\1]))])dnl +])# _AX_GNU_AUTOTEST_acsubst_rules + +# _AX_GNU_AUTOTEST_acsubst_list(name, arg1, ...) +# ---------------------------------------------- +# AC_SUBSTs the name variable to contain all arg1, ... +m4_define([_AX_GNU_AUTOTEST_acsubst_list], +[AC_SUBST([$1], [[']]m4_dquote(m4_mapall_sep([m4_quote], [[\ + ]], m4_dquote(m4_dquote_elt(m4_unquote(m4_cdr($@))))))[[']])dnl +AM_SUBST_NOTMAKE([$1])dnl +])# _AX_GNU_AUTOTEST_acsubst_list + +# _AX_GNU_AUTOTEST_acsubst_dclean(dir) +# ------------------------------------ +# AC_SUBSTs the dclean variable for dir and recurses for all parent-dirs +# Global variables used: +# - _AX_GNU_AUTOTEST_testdirs +# Recurses into all parent-directories +# For m4_bpatsubsts the string starts and ends in [[ ]] +m4_define([_AX_GNU_AUTOTEST_acsubst_dclean], +[m4_bmatch([$1], [^\.?$], + [_AX_GNU_AUTOTEST_acsubst_list([AX_GNU_AUTOTEST_DCLEAN]dnl +_AX_GNU_AUTOTEST_list_appendc([/atconfig]dnl +m4_set_listc([_AX_GNU_AUTOTEST_testdirs])))], + [_AX_GNU_AUTOTEST_acsubst_list(dnl +[AX_GNU_AUTOTEST_DCLEAN_]_AX_GNU_AUTOTEST_cleanname([_], [$1])dnl +_AX_GNU_AUTOTEST_filter_listc([$1/]dnl +_AX_GNU_AUTOTEST_list_appendc([/atconfig]dnl +m4_set_listc([_AX_GNU_AUTOTEST_testdirs]))))dnl +_AX_GNU_AUTOTEST_acsubst_dclean(m4_bpatsubsts([[$1]], [^\(..\)[^/]*\(..\)$], + [\1\2], [/[^/]*\(..\)$], [\1]))])dnl +])# _AX_GNU_AUTOTEST_acsubst_dclean + +# _AX_GNU_AUTOTEST_acsubst_dist(dir) +# ---------------------------------- +# AC_SUBSTs the dist variable for dir and recurses for all parent-dirs +# Global variables used: +# - _AX_GNU_AUTOTEST_dist +# Recurses into all parent-directories +# For m4_bpatsubsts the string starts and ends in [[ ]] +m4_define([_AX_GNU_AUTOTEST_acsubst_dist], +[m4_bmatch([$1], [^\.?$], + [_AX_GNU_AUTOTEST_acsubst_list([AX_GNU_AUTOTEST_DIST]dnl +m4_set_listc([_AX_GNU_AUTOTEST_dist]))], + [_AX_GNU_AUTOTEST_acsubst_list(dnl +[AX_GNU_AUTOTEST_DIST_]_AX_GNU_AUTOTEST_cleanname([_], [$1])dnl +_AX_GNU_AUTOTEST_filter_listc([$1/]m4_set_listc([_AX_GNU_AUTOTEST_dist])))dnl +_AX_GNU_AUTOTEST_acsubst_dist(m4_bpatsubsts([[$1]], [^\(..\)[^/]*\(..\)$], + [\1\2], [/[^/]*\(..\)$], [\1]))])dnl +])# _AX_GNU_AUTOTEST_acsubst_dist + +# _AX_GNU_AUTOTEST_acsubst_default(dir) +# ------------------------------------- +# AC_SUBSTs the rules of the "default" use-case for dir and recurses for +# all parent-dirs +# Recurses into all parent-directories +# For m4_bpatsubsts the string starts and ends in [[ ]] +m4_define([_AX_GNU_AUTOTEST_acsubst_default], +[m4_pushdef([name])dnl +m4_bmatch([$1], [^\.?$], [], + [m4_define([name], [_]_AX_GNU_AUTOTEST_cleanname([_], [$1]))])dnl +AC_SUBST([AX_GNU_AUTOTEST_DEFAULT]m4_defn([name]), +[["${AX_GNU_AUTOTEST_RULES]m4_defn([name])[} +${_AX_GNU_AUTOTEST_shared2}"' + -rm -f '"${AX_GNU_AUTOTEST_DCLEAN]m4_defn([name])[}"' +EXTRA_DIST += '"${AX_GNU_AUTOTEST_DIST]m4_defn([name])[}"]])dnl +AM_SUBST_NOTMAKE([AX_GNU_AUTOTEST_DEFAULT]m4_defn([name]))dnl +m4_popdef([name])dnl +m4_bmatch([$1], [^\.?$], [], + [_AX_GNU_AUTOTEST_acsubst_default(m4_bpatsubsts([[$1]], + [^\(..\)[^/]*\(..\)$], [\1\2], [/[^/]*\(..\)$], [\1]))])dnl +])# _AX_GNU_AUTOTEST_acsubst_default + +# AX_GNU_AUTOTEST([testdir = `tests'], [testsuites = `testsuite'], +# [atlocal-sources = `'], [gen-package = `yes'], +# [force = `no']) +# ---------------------------------------------------------------- +# Global variables used: +# - _AX_GNU_AUTOTEST_testdirs +# - _AX_GNU_AUTOTEST_suites +# - _AX_GNU_AUTOTEST_suite_srcs +# - _AX_GNU_AUTOTEST_dist +AC_DEFUN([AX_GNU_AUTOTEST], +[dnl Check command arguments +dnl Check $5: force +m4_pushdef([force], m4_normalize([$5]))dnl +m4_bmatch(m4_defn([force]), [^\([Nn][Oo]?\|0\)$], [m4_define([force], [])])dnl +m4_ifnblank(m4_defn([force]), [m4_define([force], 1)])dnl +dnl +dnl Check $1: testdir +m4_pushdef([testdir], m4_normalize([$1]))dnl +m4_ifblank(m4_defn([testdir]), [m4_define([testdir], [tests])])dnl +m4_ifblank(force, [_AX_GNU_AUTOTEST_check_filename(m4_defn([testdir]))])dnl +m4_define([testdir], _AX_GNU_AUTOTEST_canonicalize(m4_defn([testdir])))dnl +m4_set_add([_AX_GNU_AUTOTEST_testdirs], m4_defn([testdir]), [], + [m4_ifblank(force, + [m4_fatal([Already configured directory ']m4_defn([testdir])['])])])dnl +dnl +dnl Check $4: gen-package +m4_pushdef([gen_package], m4_normalize([$4]))dnl +m4_ifblank(m4_defn([gen_package]), [m4_define([gen_package], [yes])])dnl +m4_bmatch(m4_defn([gen_package]), + [^\([Nn][Oo]?\|0\)$], [m4_define([gen_package], [])])dnl +m4_ifnblank(m4_defn([gen_package]), [m4_define([gen_package], 1)])dnl +dnl +dnl Check $2: testsuites +m4_pushdef([testsuites], m4_normalize([$2]))dnl +m4_ifblank(m4_defn([testsuites]), [m4_define([testsuites], [testsuite])])dnl +m4_define([testsuites], m4_dquote(m4_map_args_w(m4_defn([testsuites]), + [_AX_GNU_AUTOTEST_suite_split(], [)], [,])))dnl +m4_ifblank(force, [m4_map([_AX_GNU_AUTOTEST_check_suite1], + m4_defn([testsuites]))])dnl +m4_define([testsuites], m4_dquote(m4_map_sep([_AX_GNU_AUTOTEST_suite_canon], + [,], m4_defn([testsuites]))))dnl +m4_ifblank(force, [m4_map([_AX_GNU_AUTOTEST_check_suite2], + m4_defn([testsuites]))])dnl +m4_define([testsuites], m4_dquote(m4_map_sep([_AX_GNU_AUTOTEST_suite_expand], + [,], m4_defn([testsuites]))))dnl +m4_map_args_sep([_AX_GNU_AUTOTEST_add_suite(]m4_quote(m4_defn([testdir]))[,], + [,]m4_defn([gen_package])[,]m4_defn([force])[)], [], + testsuites)dnl +dnl +dnl Check $3: atlocal-sources +m4_pushdef([atlocal_sources], m4_normalize(m4_bpatsubst([[$3]], [:], [ ])))dnl +m4_define([atlocal_sources], m4_split(m4_defn([atlocal_sources]), [ ]))dnl +m4_ifnblank(m4_defn([atlocal_sources]), [m4_define([atlocal_sources], + m4_dquote(m4_map_args_sep([_AX_GNU_AUTOTEST_canonicalize(], + [)], [,], atlocal_sources)))])dnl +m4_ifblank(force, [m4_map_args([_AX_GNU_AUTOTEST_check_filename], + atlocal_sources)])dnl +dnl +dnl Phase 1 +m4_ifnblank(gen_package, +[_AX_GNU_AUTOTEST_gen_package(m4_defn([testdir])[/package.m4])dnl +m4_set_add([_AX_GNU_AUTOTEST_dist], m4_defn([testdir])[/package.m4])dnl +])dnl +m4_map_args_sep([_AX_GNU_AUTOTEST_gen_suite([]m4_defn([testdir])[],], + [,]gen_package[)], [], testsuites)dnl +m4_map_args_sep([_AX_GNU_AUTOTEST_dist_suite([]m4_defn([testdir])[],], + [)], [], testsuites)dnl +dnl +dnl Phase 2 +dnl The following commands fail for quotes in testdir +AC_CONFIG_TESTDIR(m4_dquote(m4_defn([testdir])))dnl +m4_ifnblank(m4_defn([atlocal_sources]), [AC_CONFIG_FILES(dnl +m4_defn([testdir])[/atlocal:]m4_map_args_sep(m4_defn([testdir])[/], + [], [:], atlocal_sources))])dnl +dnl +dnl Phase 3 +_AX_GNU_AUTOTEST_acsubst_shared()dnl +_AX_GNU_AUTOTEST_acsubst_rules(m4_defn([testdir]))dnl +_AX_GNU_AUTOTEST_acsubst_dclean(m4_defn([testdir]))dnl +_AX_GNU_AUTOTEST_acsubst_dist(m4_defn([testdir]))dnl +_AX_GNU_AUTOTEST_acsubst_default(m4_defn([testdir]))dnl +dnl +m4_popdef([testdir], [testsuites], [atlocal_sources], [gen_package], + [force])dnl +])# AX_GNU_AUTOTEST diff --git a/m4/autoconf-archive/ax_have_adns.m4 b/m4/autoconf-archive/ax_have_adns.m4 new file mode 100755 index 0000000000..03345f9093 --- /dev/null +++ b/m4/autoconf-archive/ax_have_adns.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_have_adns.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_HAVE_ADNS([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Check whether the GNU ADNS library available from +# http://www.chiark.greenend.org.uk/~ian/adns/ is installed on this +# system. The test is known to work with version 1.4 (or later). If the +# library is found, the flags necessary to link it are added to $LIBS. +# +# LICENSE +# +# Copyright (c) 2008 Peter Simons +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AC_DEFUN([AX_HAVE_ADNS], [dnl + AC_CHECK_HEADER([adns.h], [dnl + AC_SEARCH_LIBS([adns_init], [adns], [dnl + AC_CACHE_CHECK([for GNU ADNS], [ax_cv_have_adns], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM( + [#include ], + [int rc; rc = adns_init((adns_state *)(0), adns_if_none, (FILE *)(0));])], + [ax_cv_have_adns=yes], + [ax_cv_have_adns=no])])])]) + AS_IF([test "${ax_cv_have_adns}" = "yes"], [$1], [$2]) +])dnl diff --git a/m4/autoconf-archive/ax_have_epoll.m4 b/m4/autoconf-archive/ax_have_epoll.m4 new file mode 100755 index 0000000000..9d9bc8736a --- /dev/null +++ b/m4/autoconf-archive/ax_have_epoll.m4 @@ -0,0 +1,104 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_have_epoll.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_HAVE_EPOLL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# AX_HAVE_EPOLL_PWAIT([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro determines whether the system supports the epoll I/O event +# interface. A neat usage example would be: +# +# AX_HAVE_EPOLL( +# [AX_CONFIG_FEATURE_ENABLE(epoll)], +# [AX_CONFIG_FEATURE_DISABLE(epoll)]) +# AX_CONFIG_FEATURE( +# [epoll], [This platform supports epoll(7)], +# [HAVE_EPOLL], [This platform supports epoll(7).]) +# +# The epoll interface was added to the Linux kernel in version 2.5.45, and +# the macro verifies that a kernel newer than this is installed. This +# check is somewhat unreliable if doesn't match the +# running kernel, but it is necessary regardless, because glibc comes with +# stubs for the epoll_create(), epoll_wait(), etc. that allow programs to +# compile and link even if the kernel is too old; the problem would then +# be detected only at runtime. +# +# Linux kernel version 2.6.19 adds the epoll_pwait() call in addition to +# epoll_wait(). The availability of that function can be tested with the +# second macro. Generally speaking, it is safe to assume that +# AX_HAVE_EPOLL would succeed if AX_HAVE_EPOLL_PWAIT has, but not the +# other way round. +# +# LICENSE +# +# Copyright (c) 2008 Peter Simons +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_HAVE_EPOLL], [dnl + ax_have_epoll_cppflags="${CPPFLAGS}" + AC_CHECK_HEADER([linux/version.h], [CPPFLAGS="${CPPFLAGS} -DHAVE_LINUX_VERSION_H"]) + AC_MSG_CHECKING([for Linux epoll(7) interface]) + AC_CACHE_VAL([ax_cv_have_epoll], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM([dnl +#include +#ifdef HAVE_LINUX_VERSION_H +# include +# if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45) +# error linux kernel version is too old to have epoll +# endif +#endif +], [dnl +int fd, rc; +struct epoll_event ev; +fd = epoll_create(128); +rc = epoll_wait(fd, &ev, 1, 0);])], + [ax_cv_have_epoll=yes], + [ax_cv_have_epoll=no])]) + CPPFLAGS="${ax_have_epoll_cppflags}" + AS_IF([test "${ax_cv_have_epoll}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +])dnl + +AC_DEFUN([AX_HAVE_EPOLL_PWAIT], [dnl + ax_have_epoll_cppflags="${CPPFLAGS}" + AC_CHECK_HEADER([linux/version.h], + [CPPFLAGS="${CPPFLAGS} -DHAVE_LINUX_VERSION_H"]) + AC_MSG_CHECKING([for Linux epoll(7) interface with signals extension]) + AC_CACHE_VAL([ax_cv_have_epoll_pwait], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM([dnl +#ifdef HAVE_LINUX_VERSION_H +# include +# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) +# error linux kernel version is too old to have epoll_pwait +# endif +#endif +#include +#include +], [dnl +int fd, rc; +struct epoll_event ev; +fd = epoll_create(128); +rc = epoll_wait(fd, &ev, 1, 0); +rc = epoll_pwait(fd, &ev, 1, 0, (sigset_t const *)(0));])], + [ax_cv_have_epoll_pwait=yes], + [ax_cv_have_epoll_pwait=no])]) + CPPFLAGS="${ax_have_epoll_cppflags}" + AS_IF([test "${ax_cv_have_epoll_pwait}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +])dnl diff --git a/m4/autoconf-archive/ax_have_poll.m4 b/m4/autoconf-archive/ax_have_poll.m4 new file mode 100755 index 0000000000..b90cda684d --- /dev/null +++ b/m4/autoconf-archive/ax_have_poll.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_have_poll.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_HAVE_POLL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# AX_HAVE_PPOLL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro determines whether the system supports the poll I/O event +# interface. A neat usage example would be: +# +# AX_HAVE_POLL( +# [AX_CONFIG_FEATURE_ENABLE(poll)], +# [AX_CONFIG_FEATURE_DISABLE(poll)]) +# AX_CONFIG_FEATURE( +# [poll], [This platform supports poll(7)], +# [HAVE_POLL], [This platform supports poll(7).]) +# +# Some systems -- most notably Linux kernel 2.6.16 and later -- also have +# the variant ppoll(). The availability of that function can be tested +# with the second macro. Generally speaking, it is safe to assume that +# AX_HAVE_POLL would succeed if AX_HAVE_PPOLL has, but not the other way +# round. +# +# LICENSE +# +# Copyright (c) 2009 Peter Simons +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_HAVE_POLL], [dnl + AC_MSG_CHECKING([for poll(2)]) + AC_CACHE_VAL([ax_cv_have_poll], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM( + [#include ], + [int rc; rc = poll((struct pollfd *)(0), 0, 0);])], + [ax_cv_have_poll=yes], + [ax_cv_have_poll=no])]) + AS_IF([test "${ax_cv_have_poll}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +])dnl + +AC_DEFUN([AX_HAVE_PPOLL], [dnl + AC_MSG_CHECKING([for ppoll(2)]) + AC_CACHE_VAL([ax_cv_have_ppoll], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM( + [dnl +#include +#include ], + [dnl +int rc; +rc = poll((struct pollfd *)(0), 0, 0); +rc = ppoll((struct pollfd *)(0), 0, (struct timespec const *)(0), (sigset_t const *)(0));])], + [ax_cv_have_ppoll=yes], + [ax_cv_have_ppoll=no])]) + AS_IF([test "${ax_cv_have_ppoll}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +]) diff --git a/m4/autoconf-archive/ax_have_qt.m4 b/m4/autoconf-archive/ax_have_qt.m4 new file mode 100644 index 0000000000..c71a7606b6 --- /dev/null +++ b/m4/autoconf-archive/ax_have_qt.m4 @@ -0,0 +1,230 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_have_qt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_HAVE_QT +# +# DESCRIPTION +# +# Searches $PATH and queries qmake for Qt include files, libraries and Qt +# binary utilities. The macro only supports Qt5 or later. +# +# The following shell variable is set to either "yes" or "no": +# +# have_qt +# +# Additionally, the following variables are exported: +# +# QT_CXXFLAGS +# QT_LIBS +# QT_MOC +# QT_UIC +# QT_RCC +# QT_LRELEASE +# QT_LUPDATE +# QT_DIR +# +# which respectively contain an "-I" flag pointing to the Qt include +# directory, link flags necessary to link with Qt and X, the full path to +# the meta object compiler and the user interface compiler both, and +# finally the variable QTDIR as Qt likes to see it defined. +# +# Example lines for Makefile.in: +# +# CXXFLAGS = @QT_CXXFLAGS@ +# MOC = @QT_MOC@ +# +# After the variables have been set, a trial compile and link is performed +# to check the correct functioning of the meta object compiler. This test +# may fail when the different detected elements stem from different +# releases of the Qt framework. In that case, an error message is emitted +# and configure stops. +# +# No common variables such as $LIBS or $CFLAGS are polluted. +# +# LICENSE +# +# Copyright (c) 2008 Bastiaan Veelo +# Copyright (c) 2014 Alex Henrie +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +AU_ALIAS([BNV_HAVE_QT], [AX_HAVE_QT]) +AC_DEFUN([AX_HAVE_QT], +[ + AC_REQUIRE([AC_PROG_CXX]) + AC_REQUIRE([AC_PATH_X]) + AC_REQUIRE([AC_PATH_XTRA]) + + AC_MSG_CHECKING(for Qt) + # If we have Qt5 or later in the path, we're golden + ver=`qmake --version | grep -o "Qt version ."` + if test "$ver" ">" "Qt version 4"; then + have_qt=yes + # This pro file dumps qmake's variables, but it only works on Qt 5 or later + am_have_qt_pro=`mktemp` + am_have_qt_makefile=`mktemp` + # http://qt-project.org/doc/qt-5/qmake-variable-reference.html#qt + cat > $am_have_qt_pro << EOF +qtHaveModule(axcontainer): QT += axcontainer +qtHaveModule(axserver): QT += axserver +qtHaveModule(concurrent): QT += concurrent +qtHaveModule(core): QT += core +qtHaveModule(dbus): QT += dbus +qtHaveModule(declarative): QT += declarative +qtHaveModule(designer): QT += designer +qtHaveModule(gui): QT += gui +qtHaveModule(help): QT += help +qtHaveModule(multimedia): QT += multimedia +qtHaveModule(multimediawidgets): QT += multimediawidgets +qtHaveModule(network): QT += network +qtHaveModule(opengl): QT += opengl +qtHaveModule(printsupport): QT += printsupport +qtHaveModule(qml): QT += qml +qtHaveModule(qmltest): QT += qmltest +qtHaveModule(x11extras): QT += x11extras +qtHaveModule(script): QT += script +qtHaveModule(scripttools): QT += scripttools +qtHaveModule(sensors): QT += sensors +qtHaveModule(serialport): QT += serialport +qtHaveModule(sql): QT += sql +qtHaveModule(svg): QT += svg +qtHaveModule(testlib): QT += testlib +qtHaveModule(uitools): QT += uitools +qtHaveModule(webkit): QT += webkit +qtHaveModule(webkitwidgets): QT += webkitwidgets +qtHaveModule(xml): QT += xml +qtHaveModule(xmlpatterns): QT += xmlpatterns +percent.target = % +percent.commands = @echo -n "\$(\$(@))\ " +QMAKE_EXTRA_TARGETS += percent +EOF + qmake $am_have_qt_pro -o $am_have_qt_makefile + QT_CXXFLAGS=`make -s -f $am_have_qt_makefile CXXFLAGS INCPATH` + QT_LIBS=`make -s -f $am_have_qt_makefile LIBS` + rm $am_have_qt_pro $am_have_qt_makefile + + # Look for specific tools in $PATH + QT_MOC=`which moc` + QT_UIC=`which uic` + QT_RCC=`which rcc` + QT_LRELEASE=`which lrelease` + QT_LUPDATE=`which lupdate` + + # Get Qt version from qmake + QT_DIR=`qmake --version | grep -o -E /.+` + + # All variables are defined, report the result + AC_MSG_RESULT([$have_qt: + QT_CXXFLAGS=$QT_CXXFLAGS + QT_DIR=$QT_DIR + QT_LIBS=$QT_LIBS + QT_UIC=$QT_UIC + QT_MOC=$QT_MOC + QT_RCC=$QT_RCC + QT_LRELEASE=$QT_LRELEASE + QT_LUPDATE=$QT_LUPDATE]) + else + # Qt was not found + have_qt=no + QT_CXXFLAGS= + QT_DIR= + QT_LIBS= + QT_UIC= + QT_MOC= + QT_RCC= + QT_LRELEASE= + QT_LUPDATE= + AC_MSG_RESULT($have_qt) + fi + AC_SUBST(QT_CXXFLAGS) + AC_SUBST(QT_DIR) + AC_SUBST(QT_LIBS) + AC_SUBST(QT_UIC) + AC_SUBST(QT_MOC) + AC_SUBST(QT_RCC) + AC_SUBST(QT_LRELEASE) + AC_SUBST(QT_LUPDATE) + + #### Being paranoid: + if test x"$have_qt" = xyes; then + AC_MSG_CHECKING(correct functioning of Qt installation) + AC_CACHE_VAL(ax_cv_qt_test_result, + [ + cat > ax_qt_test.h << EOF +#include +class Test : public QObject +{ +Q_OBJECT +public: + Test() {} + ~Test() {} +public slots: + void receive() {} +signals: + void send(); +}; +EOF + + cat > ax_qt_main.$ac_ext << EOF +#include "ax_qt_test.h" +#include +int main( int argc, char **argv ) +{ + QApplication app( argc, argv ); + Test t; + QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) ); +} +EOF + + ax_cv_qt_test_result="failure" + ax_try_1="$QT_MOC ax_qt_test.h -o moc_ax_qt_test.$ac_ext >/dev/null 2>/dev/null" + AC_TRY_EVAL(ax_try_1) + if test x"$ac_status" != x0; then + echo "$ax_err_1" >&AS_MESSAGE_LOG_FD + echo "configure: could not run $QT_MOC on:" >&AS_MESSAGE_LOG_FD + cat ax_qt_test.h >&AS_MESSAGE_LOG_FD + else + ax_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_ax_qt_test.o moc_ax_qt_test.$ac_ext >/dev/null 2>/dev/null" + AC_TRY_EVAL(ax_try_2) + if test x"$ac_status" != x0; then + echo "$ax_err_2" >&AS_MESSAGE_LOG_FD + echo "configure: could not compile:" >&AS_MESSAGE_LOG_FD + cat moc_ax_qt_test.$ac_ext >&AS_MESSAGE_LOG_FD + else + ax_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o ax_qt_main.o ax_qt_main.$ac_ext >/dev/null 2>/dev/null" + AC_TRY_EVAL(ax_try_3) + if test x"$ac_status" != x0; then + echo "$ax_err_3" >&AS_MESSAGE_LOG_FD + echo "configure: could not compile:" >&AS_MESSAGE_LOG_FD + cat ax_qt_main.$ac_ext >&AS_MESSAGE_LOG_FD + else + ax_try_4="$CXX -o ax_qt_main ax_qt_main.o moc_ax_qt_test.o $QT_LIBS $LIBS >/dev/null 2>/dev/null" + AC_TRY_EVAL(ax_try_4) + if test x"$ac_status" != x0; then + echo "$ax_err_4" >&AS_MESSAGE_LOG_FD + else + ax_cv_qt_test_result="success" + fi + fi + fi + fi + ])dnl AC_CACHE_VAL ax_cv_qt_test_result + AC_MSG_RESULT([$ax_cv_qt_test_result]) + if test x"$ax_cv_qt_test_result" = "xfailure"; then + AC_MSG_ERROR([Failed to find matching components of a complete + Qt installation. Try using more options, + see ./configure --help.]) + fi + + rm -f ax_qt_test.h moc_ax_qt_test.$ac_ext moc_ax_qt_test.o \ + ax_qt_main.$ac_ext ax_qt_main.o ax_qt_main + fi +]) diff --git a/m4/autoconf-archive/ax_have_select.m4 b/m4/autoconf-archive/ax_have_select.m4 new file mode 100755 index 0000000000..ba3962f995 --- /dev/null +++ b/m4/autoconf-archive/ax_have_select.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_have_select.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_HAVE_SELECT([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# AX_HAVE_PSELECT([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro determines whether the system supports the select I/O event +# interface. A neat usage example would be: +# +# AX_HAVE_SELECT( +# [AX_CONFIG_FEATURE_ENABLE(select)], +# [AX_CONFIG_FEATURE_DISABLE(select)]) +# AX_CONFIG_FEATURE( +# [select], [This platform supports select(7)], +# [HAVE_SELECT], [This platform supports select(7).]) +# +# Some systems also have the variant pselect(). The availability of that +# function can be tested with the second macro. Generally speaking, it is +# safe to assume that AX_HAVE_SELECT would succeed if AX_HAVE_SELECT_PWAIT +# has, but not the other way round. +# +# LICENSE +# +# Copyright (c) 2009 Peter Simons +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_HAVE_SELECT], [dnl + AC_MSG_CHECKING([for select(2)]) + AC_CACHE_VAL([ax_cv_have_select], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM( + [#include ], + [int rc; rc = select(0, (fd_set *)(0), (fd_set *)(0), (fd_set *)(0), (struct timeval *)(0));])], + [ax_cv_have_select=yes], + [ax_cv_have_select=no])]) + AS_IF([test "${ax_cv_have_select}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +])dnl + +AC_DEFUN([AX_HAVE_PSELECT], [dnl + AC_MSG_CHECKING([for pselect(2)]) + AC_CACHE_VAL([ax_cv_have_pselect], [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM( + [dnl +#include +#include ], + [dnl +int rc; +rc = select(0, (fd_set *)(0), (fd_set *)(0), (fd_set *)(0), (struct timeval *)(0)); +rc = pselect(0, (fd_set *)(0), (fd_set *)(0), (fd_set *)(0), (struct timespec const *)(0), (sigset_t const *)(0));])], + [ax_cv_have_pselect=yes], + [ax_cv_have_pselect=no])]) + AS_IF([test "${ax_cv_have_pselect}" = "yes"], + [AC_MSG_RESULT([yes]) +$1],[AC_MSG_RESULT([no]) +$2]) +])dnl diff --git a/m4/autoconf-archive/ax_include_strcasecmp.m4 b/m4/autoconf-archive/ax_include_strcasecmp.m4 new file mode 100755 index 0000000000..55d5a8c2b9 --- /dev/null +++ b/m4/autoconf-archive/ax_include_strcasecmp.m4 @@ -0,0 +1,55 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_include_strcasecmp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_INCLUDE_STRCASECMP +# +# DESCRIPTION +# +# This macro tries to find a header for strcasecmp() in strings.h, then +# string.h, and AC_DEFINEs AX_STRCASECMP_HEADER to the value it found. Use +# it in your source like so: +# +# #ifdef AX_STRCASECMP_HEADER +# #include AX_STRCASECMP_HEADER +# #endif +# +# LICENSE +# +# Copyright (c) 2012 Leo Davis +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_INCLUDE_STRCASECMP], +[ +AC_CACHE_CHECK([for strcasecmp header file], [ax_cv_include_strcasecmp_found], [ + ax_cv_include_strcasecmp_found=no + AC_TRY_LINK( + [ #include ], + [ strcasecmp("foo", "bar"); ], + [ax_cv_include_strcasecmp_found=''], + [ax_cv_include_strcasecmp_found=no]) + + if test x"$ax_cv_include_strcasecmp_found" = "xno" + then + AC_TRY_LINK( + [ #include ], + [ strcasecmp("foo", "bar"); ], + [ax_cv_include_strcasecmp_found=''], + [ax_cv_include_strcasecmp_found=no]) + fi +]) + if test x"$ax_cv_include_strcasecmp_found" != "xno" + then + AC_DEFINE_UNQUOTED([AX_STRCASECMP_HEADER], [$ax_cv_include_strcasecmp_found], + [Defined to or if strcasecmp is found]) + + fi +]) dnl AX_INCLUDE_STRCASECMP diff --git a/m4/autoconf-archive/ax_install_files.m4 b/m4/autoconf-archive/ax_install_files.m4 new file mode 100755 index 0000000000..9559952b6c --- /dev/null +++ b/m4/autoconf-archive/ax_install_files.m4 @@ -0,0 +1,89 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_install_files.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_INSTALL_FILES +# +# DESCRIPTION +# +# Adds target for creating a install_files file, which contains the list +# of files that will be installed. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 14 + +AC_DEFUN([AX_INSTALL_FILES], +[ +AC_MSG_NOTICE([adding install_files support]) +AC_ARG_VAR(GAWK, [gawk executable to use]) +if test "x$GAWK" = "x"; then + AC_CHECK_PROGS(GAWK,[gawk]) +fi +AC_SUBST(GAWK) + +if test "x$GAWK" != "x"; then + AC_MSG_NOTICE([install_files support enabled]) + AX_HAVE_INSTALL_FILES=true +else + AX_HAVE_INSTALL_FILES=false; + AC_MSG_WARN([install_files support disable... gawk not found]) +fi +AM_CONDITIONAL([ax_install_files_enabled], + [test "x$AX_HAVE_INSTALL_FILES" = "xtrue"]) + +AX_ADD_AM_MACRO_STATIC([ + +if ax_install_files_enabled +AX_INSTALL_FILES_CLEANFILES = \\ +\$(top_builddir)/install_files + +\$(top_builddir)/install_files: do-mfstamp-recursive + @if test \"\$(top_builddir)/mfstamp\" -nt \"\$(top_builddir)/install_files\"; then \\ + cd \$(top_builddir) && STAGING=\"\$(PWD)/staging\"; \\ + \$(MAKE) \$(AM_MAKEFLAGS) DESTDIR=\"\$\$STAGING\" install; \\ + cd \"\$\$STAGING\" && find "." ! -type d -print | \\ + \$(GAWK) ' \\ + /^\\.\\/usr\\/local\\/lib/ { \\ + sub( /\\.\\/usr\\/local\\/lib/, \"%%{_libdir}\" ); } \\ + /^\\.\\/usr\\/local\\/bin/ { \\ + sub( /\\.\\/usr\\/local\\/bin/, \"%%{_bindir}\" ); } \\ + /^\\.\\/usr\\/local\\/include/ { \\ + sub( /\\.\\/usr\\/local\\/include/, \"%%{_includedir}\" ); } \\ + /^\\.\\/usr\\/local\\/share/ { \\ + sub( /\\.\\/usr\\/local\\/share/, \"%%{_datadir}\" ); } \\ + /^\\.\\/usr\\/local/ { \\ + sub( /\\.\\/usr\\/local/, \"%%{_prefix}\" ); } \\ + /^\\./ { sub( /\\./, \"\" ); } \\ + /./ { print; }' > ../install_files; \\ + rm -rf \"\$\$STAGING\"; \\ + else \\ + echo \"\\\`\$(top_builddir)/install_files\' is up to date.\"; \\ + fi + +]) +AX_ADD_RECURSIVE_AM_MACRO_STATIC([do-mfstamp],[ +\$(top_builddir)/mfstamp: do-mfstamp-recursive + +do-mfstamp-am do-mfstamp: Makefile.in + @echo \"timestamp for all Makefile.in files\" > \$(top_builddir)/mfstamp + @touch ${AX_DOLLAR}@ + +]) +AX_ADD_AM_MACRO_STATIC([ +endif # ax_install_files_enabled + +clean-local: clean-ax-install-files +clean-ax-install-files: + -test -z \"\$(AX_INSTALL_FILES)\" || rm -f \$(AX_INSTALL_FILES) +]) +])# AX_INSTALL_FILES diff --git a/m4/autoconf-archive/ax_is_release.m4 b/m4/autoconf-archive/ax_is_release.m4 new file mode 100755 index 0000000000..9097ddb6a9 --- /dev/null +++ b/m4/autoconf-archive/ax_is_release.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_is_release.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_IS_RELEASE(POLICY) +# +# DESCRIPTION +# +# Determine whether the code is being configured as a release, or from +# git. Set the ax_is_release variable to 'yes' or 'no'. +# +# If building a release version, it is recommended that the configure +# script disable compiler errors and debug features, by conditionalising +# them on the ax_is_release variable. If building from git, these +# features should be enabled. +# +# The POLICY parameter specifies how ax_is_release is determined. It can +# take the following values: +# +# * git-directory: ax_is_release will be 'no' if a '.git' directory exists +# * minor-version: ax_is_release will be 'no' if the minor version number +# in $PACKAGE_VERSION is odd; this assumes +# $PACKAGE_VERSION follows the 'major.minor.micro' scheme +# * micro-version: ax_is_release will be 'no' if the micro version number +# in $PACKAGE_VERSION is odd; this assumes +# $PACKAGE_VERSION follows the 'major.minor.micro' scheme +# * dash-version: ax_is_release will be 'no' if there is a dash '-' +# in $PACKAGE_VERSION, for example 1.2-pre3, 1.2.42-a8b9 +# or 2.0-dirty (in particular this is suitable for use +# with git-version-gen) +# * always: ax_is_release will always be 'yes' +# * never: ax_is_release will always be 'no' +# +# Other policies may be added in future. +# +# LICENSE +# +# Copyright (c) 2015 Philip Withnall +# Copyright (c) 2016 Collabora Ltd. +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +#serial 7 + +AC_DEFUN([AX_IS_RELEASE],[ + AC_BEFORE([AC_INIT],[$0]) + + m4_case([$1], + [git-directory],[ + # $is_release = (.git directory does not exist) + AS_IF([test -d ${srcdir}/.git],[ax_is_release=no],[ax_is_release=yes]) + ], + [minor-version],[ + # $is_release = ($minor_version is even) + minor_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` + AS_IF([test "$(( $minor_version % 2 ))" -ne 0], + [ax_is_release=no],[ax_is_release=yes]) + ], + [micro-version],[ + # $is_release = ($micro_version is even) + micro_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]]*\.[[^.]]*\.\([[^.]]*\).*/\1/'` + AS_IF([test "$(( $micro_version % 2 ))" -ne 0], + [ax_is_release=no],[ax_is_release=yes]) + ], + [dash-version],[ + # $is_release = ($PACKAGE_VERSION has a dash) + AS_CASE([$PACKAGE_VERSION], + [*-*], [ax_is_release=no], + [*], [ax_is_release=yes]) + ], + [always],[ax_is_release=yes], + [never],[ax_is_release=no], + [ + AC_MSG_ERROR([Invalid policy. Valid policies: git-directory, minor-version, micro-version, dash-version, always, never.]) + ]) +]) diff --git a/m4/autoconf-archive/ax_java_check_class.m4 b/m4/autoconf-archive/ax_java_check_class.m4 new file mode 100755 index 0000000000..c9d60f7861 --- /dev/null +++ b/m4/autoconf-archive/ax_java_check_class.m4 @@ -0,0 +1,85 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_java_check_class.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_JAVA_CHECK_CLASS(,,) +# +# DESCRIPTION +# +# Test if a Java class is available. Based on AX_PROG_JAVAC_WORKS. This +# version uses a cache variable which is both compiler, options and +# classpath dependent (so if you switch from javac to gcj it correctly +# notices and redoes the test). +# +# The macro tries to compile a minimal program importing . Some +# newer compilers moan about the failure to use this but fail or produce a +# class file anyway. All moaning is sunk to /dev/null since I only wanted +# to know if the class could be imported. This is a recommended followup +# to AX_CHECK_JAVA_PLUGIN with classpath appropriately adjusted. +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AU_ALIAS([DPS_JAVA_CHECK_CLASS], [AX_JAVA_CHECK_CLASS]) +AC_DEFUN([AX_JAVA_CHECK_CLASS],[ +m4_define([cache_val],[m4_translit(ax_cv_have_java_class_$1, " ." ,"__")]) +if test "x$CLASSPATH" != "x"; then +xtra=" with classpath ${CLASSPATH}" +xopts=`echo ${CLASSPATH} | ${SED} 's/^ *://'` +xopts="-classpath $xopts" +else xtra=""; xopts=""; fi +cache_var="cache_val"AS_TR_SH([_Jc_${JAVAC}_Cp_${CLASSPATH}]) +AC_CACHE_CHECK([if the $1 class is available$xtra], [$cache_var], [ +JAVA_TEST=Test.java +CLASS_TEST=Test.class +cat << \EOF > $JAVA_TEST +/* [#]xline __oline__ "configure" */ +import $1; +public class Test { +} +EOF +if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $xopts $JAVA_TEST) >/dev/null 2>&1; then + eval "${cache_var}=yes" +else + eval "${cache_var}=no" + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD +fi +rm -f $JAVA_TEST $CLASS_TEST +]) +if eval 'test "x$'${cache_var}'" = "xyes"'; then +$2 +true; else +$3 +false; fi]) diff --git a/m4/autoconf-archive/ax_java_options.m4 b/m4/autoconf-archive/ax_java_options.m4 new file mode 100755 index 0000000000..722d788027 --- /dev/null +++ b/m4/autoconf-archive/ax_java_options.m4 @@ -0,0 +1,48 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_java_options.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_JAVA_OPTIONS +# +# DESCRIPTION +# +# AX_JAVA_OPTIONS adds configure command line options used for Java m4 +# macros. This Macro is optional. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Devin Weaver +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_JAVA_OPTIONS], [AX_JAVA_OPTIONS]) +AC_DEFUN([AX_JAVA_OPTIONS],[ +AC_ARG_WITH(java-prefix, + [ --with-java-prefix=PFX prefix where Java runtime is installed (optional)]) +AC_ARG_WITH(javac-flags, + [ --with-javac-flags=FLAGS flags to pass to the Java compiler (optional)]) +AC_ARG_WITH(java-flags, + [ --with-java-flags=FLAGS flags to pass to the Java VM (optional)]) +JAVAPREFIX=$with_java_prefix +JAVACFLAGS=$with_javac_flags +JAVAFLAGS=$with_java_flags +AC_SUBST(JAVAPREFIX)dnl +AC_SUBST(JAVACFLAGS)dnl +AC_SUBST(JAVAFLAGS)dnl +AC_SUBST(JAVA)dnl +AC_SUBST(JAVAC)dnl +]) diff --git a/m4/autoconf-archive/ax_jni_include_dir.m4 b/m4/autoconf-archive/ax_jni_include_dir.m4 new file mode 100755 index 0000000000..007b3a1a0b --- /dev/null +++ b/m4/autoconf-archive/ax_jni_include_dir.m4 @@ -0,0 +1,145 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_jni_include_dir.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_JNI_INCLUDE_DIR +# +# DESCRIPTION +# +# AX_JNI_INCLUDE_DIR finds include directories needed for compiling +# programs using the JNI interface. +# +# JNI include directories are usually in the Java distribution. This is +# deduced from the value of $JAVA_HOME, $JAVAC, or the path to "javac", in +# that order. When this macro completes, a list of directories is left in +# the variable JNI_INCLUDE_DIRS. +# +# Example usage follows: +# +# AX_JNI_INCLUDE_DIR +# +# for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS +# do +# CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR" +# done +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAVAC=yourcompiler before calling +# AX_JNI_INCLUDE_DIR +# +# - at the configure level, setenv JAVAC +# +# Note: This macro can work with the autoconf M4 macros for Java programs. +# This particular macro is not part of the original set of macros. +# +# LICENSE +# +# Copyright (c) 2008 Don Anderson +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 14 + +AU_ALIAS([AC_JNI_INCLUDE_DIR], [AX_JNI_INCLUDE_DIR]) +AC_DEFUN([AX_JNI_INCLUDE_DIR],[ + +JNI_INCLUDE_DIRS="" + +if test "x$JAVA_HOME" != x; then + _JTOPDIR="$JAVA_HOME" +else + if test "x$JAVAC" = x; then + JAVAC=javac + fi + AC_PATH_PROG([_ACJNI_JAVAC], [$JAVAC], [no]) + if test "x$_ACJNI_JAVAC" = xno; then + AC_MSG_ERROR([cannot find JDK; try setting \$JAVAC or \$JAVA_HOME]) + fi + _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") + _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` +fi + +case "$host_os" in + darwin*) # Apple Java headers are inside the Xcode bundle. + macos_version=$(sw_vers -productVersion | sed -n -e 's/^@<:@0-9@:>@*.\(@<:@0-9@:>@*\).@<:@0-9@:>@*/\1/p') + if @<:@ "$macos_version" -gt "7" @:>@; then + _JTOPDIR="$(xcrun --show-sdk-path)/System/Library/Frameworks/JavaVM.framework" + _JINC="$_JTOPDIR/Headers" + else + _JTOPDIR="/System/Library/Frameworks/JavaVM.framework" + _JINC="$_JTOPDIR/Headers" + fi + ;; + *) _JINC="$_JTOPDIR/include";; +esac +_AS_ECHO_LOG([_JTOPDIR=$_JTOPDIR]) +_AS_ECHO_LOG([_JINC=$_JINC]) + +# On Mac OS X 10.6.4, jni.h is a symlink: +# /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h +# -> ../../CurrentJDK/Headers/jni.h. +AC_CACHE_CHECK(jni headers, ac_cv_jni_header_path, +[ + if test -f "$_JINC/jni.h"; then + ac_cv_jni_header_path="$_JINC" + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" + else + _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` + if test -f "$_JTOPDIR/include/jni.h"; then + ac_cv_jni_header_path="$_JTOPDIR/include" + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $ac_cv_jni_header_path" + else + ac_cv_jni_header_path=none + fi + fi +]) + +# get the likely subdirectories for system specific java includes +case "$host_os" in +bsdi*) _JNI_INC_SUBDIRS="bsdos";; +freebsd*) _JNI_INC_SUBDIRS="freebsd";; +darwin*) _JNI_INC_SUBDIRS="darwin";; +linux*) _JNI_INC_SUBDIRS="linux genunix";; +osf*) _JNI_INC_SUBDIRS="alpha";; +solaris*) _JNI_INC_SUBDIRS="solaris";; +mingw*) _JNI_INC_SUBDIRS="win32";; +cygwin*) _JNI_INC_SUBDIRS="win32";; +*) _JNI_INC_SUBDIRS="genunix";; +esac + +if test "x$ac_cv_jni_header_path" != "xnone"; then + # add any subdirectories that are present + for JINCSUBDIR in $_JNI_INC_SUBDIRS + do + if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR" + fi + done +fi +]) + +# _ACJNI_FOLLOW_SYMLINKS +# Follows symbolic links on , +# finally setting variable _ACJNI_FOLLOWED +# ---------------------------------------- +AC_DEFUN([_ACJNI_FOLLOW_SYMLINKS],[ +# find the include directory relative to the javac executable +_cur="$1" +while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do + AC_MSG_CHECKING([symlink for $_cur]) + _slink=`ls -ld "$_cur" | sed 's/.* -> //'` + case "$_slink" in + /*) _cur="$_slink";; + # 'X' avoids triggering unwanted echo options. + *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";; + esac + AC_MSG_RESULT([$_cur]) +done +_ACJNI_FOLLOWED="$_cur" +])# _ACJNI diff --git a/m4/autoconf-archive/ax_lapack.m4 b/m4/autoconf-archive/ax_lapack.m4 new file mode 100755 index 0000000000..e7eadd17b7 --- /dev/null +++ b/m4/autoconf-archive/ax_lapack.m4 @@ -0,0 +1,131 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lapack.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LAPACK([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro looks for a library that implements the LAPACK linear-algebra +# interface (see http://www.netlib.org/lapack/). On success, it sets the +# LAPACK_LIBS output variable to hold the requisite library linkages. +# +# To link with LAPACK, you should link with: +# +# $LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS +# +# in that order. BLAS_LIBS is the output variable of the AX_BLAS macro, +# called automatically. FLIBS is the output variable of the +# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is +# sometimes necessary in order to link with F77 libraries. Users will also +# need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same +# reason. +# +# The user may also use --with-lapack= in order to use some specific +# LAPACK library . In order to link successfully, however, be aware +# that you will probably need to use the same Fortran compiler (which can +# be set via the F77 env. var.) as was used to compile the LAPACK and BLAS +# libraries. +# +# ACTION-IF-FOUND is a list of shell commands to run if a LAPACK library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_LAPACK. +# +# LICENSE +# +# Copyright (c) 2009 Steven G. Johnson +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([ACX_LAPACK], [AX_LAPACK]) +AC_DEFUN([AX_LAPACK], [ +AC_REQUIRE([AX_BLAS]) +ax_lapack_ok=no + +AC_ARG_WITH(lapack, + [AS_HELP_STRING([--with-lapack=], [use LAPACK library ])]) +case $with_lapack in + yes | "") ;; + no) ax_lapack_ok=disable ;; + -* | */* | *.a | *.so | *.so.* | *.o) LAPACK_LIBS="$with_lapack" ;; + *) LAPACK_LIBS="-l$with_lapack" ;; +esac + +# Get fortran linker name of LAPACK function to check for. +AC_F77_FUNC(cheev) + +# We cannot use LAPACK if BLAS is not found +if test "x$ax_blas_ok" != xyes; then + ax_lapack_ok=noblas + LAPACK_LIBS="" +fi + +# First, check LAPACK_LIBS environment variable +if test "x$LAPACK_LIBS" != x; then + save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" + AC_MSG_CHECKING([for $cheev in $LAPACK_LIBS]) + AC_TRY_LINK_FUNC($cheev, [ax_lapack_ok=yes], [LAPACK_LIBS=""]) + AC_MSG_RESULT($ax_lapack_ok) + LIBS="$save_LIBS" + if test $ax_lapack_ok = no; then + LAPACK_LIBS="" + fi +fi + +# LAPACK linked to by default? (is sometimes included in BLAS lib) +if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" + AC_CHECK_FUNC($cheev, [ax_lapack_ok=yes]) + LIBS="$save_LIBS" +fi + +# Generic LAPACK library? +for lapack in lapack lapack_rs6k; do + if test $ax_lapack_ok = no; then + save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" + AC_CHECK_LIB($lapack, $cheev, + [ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack"], [], [$FLIBS]) + LIBS="$save_LIBS" + fi +done + +AC_SUBST(LAPACK_LIBS) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_lapack_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_LAPACK,1,[Define if you have LAPACK library.]),[$1]) + : +else + ax_lapack_ok=no + $2 +fi +])dnl AX_LAPACK diff --git a/m4/autoconf-archive/ax_lib_beecrypt.m4 b/m4/autoconf-archive/ax_lib_beecrypt.m4 new file mode 100755 index 0000000000..b300aadd61 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_beecrypt.m4 @@ -0,0 +1,75 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_beecrypt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_BEECRYPT([yes|no|auto]) +# +# DESCRIPTION +# +# Searches for the 'beecrypt' library with the --with... option. +# +# If found, define HAVE_BEECRYPT and macro BEECRYPT_LIBS. Also defines +# BEECRYPT_WITH_ for the algorithms found available. Possible +# algorithms: BASE64 AES BF MD5 SHA1 SHA256 SHA384 SHA512. +# +# The argument is used if no --with...-beecrypt option is set. Value "yes" +# requires the configuration by default. Value "no" does not require it by +# default. Value "auto" configures the library only if available. +# +# See also AX_LIB_CRYPTO and AX_LIB_GCRYPT. +# +# LICENSE +# +# Copyright (c) 2009 Fabien Coelho +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +# AX_CHECK_BEECRYPT_ALGO([name],[function]) +AC_DEFUN([AX_CHECK_BEECRYPT_ALGO],[ + AC_CHECK_LIB([beecrypt], [$2], + AC_DEFINE([BEECRYPT_WITH_$1],[1],[Algorithm $1 in beecrypt library])) +]) + +# AX_LIB_BEECRYPT([yes|no|auto]) +AC_DEFUN([AX_LIB_BEECRYPT],[ + AC_MSG_CHECKING([whether beecrypt is enabled]) + AC_ARG_WITH([beecrypt],[ --with-beecrypt require beecrypt library + --without-beecrypt disable beecrypt library],[ + AC_MSG_RESULT([$withval]) + ac_with_beecrypt=$withval + ],[ + AC_MSG_RESULT([$1]) + ac_with_beecrypt=$1 + ]) + if test "$ac_with_beecrypt" = "yes" -o "$ac_with_beecrypt" = "auto" ; then + AC_CHECK_HEADERS([beecrypt/beecrypt.h],[ + AC_CHECK_LIB([beecrypt],[blockCipherFind],[ + AC_DEFINE([HAVE_BEECRYPT],[1],[Beecrypt library is available]) + HAVE_BEECRYPT=1 + AC_SUBST([BEECRYPT_LIBS],[-lbeecrypt]) + # encoding + AX_CHECK_BEECRYPT_ALGO([BASE64],[b64encode]) + # ciphers + AX_CHECK_BEECRYPT_ALGO([AES],[aesSetup]) + AX_CHECK_BEECRYPT_ALGO([BF],[blowfishSetup]) + # digests + AX_CHECK_BEECRYPT_ALGO([MD5],[md5Digest]) + AX_CHECK_BEECRYPT_ALGO([SHA1],[sha1Digest]) + AX_CHECK_BEECRYPT_ALGO([SHA256],[sha256Digest]) + AX_CHECK_BEECRYPT_ALGO([SHA384],[sha384Digest]) + AX_CHECK_BEECRYPT_ALGO([SHA512],[sha512Digest]) + ]) + ]) + # complain only if explicitly required + if test "$ac_with_beecrypt" = "yes" -a "x$HAVE_BEECRYPT" = "x" ; then + AC_MSG_ERROR([cannot configure required beecrypt library]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_cgal_core.m4 b/m4/autoconf-archive/ax_lib_cgal_core.m4 new file mode 100755 index 0000000000..37b4c928fd --- /dev/null +++ b/m4/autoconf-archive/ax_lib_cgal_core.m4 @@ -0,0 +1,114 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_cgal_core.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_CGAL_CORE([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the CGAL_Core library. +# +# By using the "--with-cgal=" option, define a special installation +# directory. If CGAL is not found there, the script will fail immediately. +# Otherwise, $CGAL_HOME is searched, then standard system locations. +# +# NOTE: This script depends on BOOST_CPPFLAGS, so be sure to run +# AX_BOOST_BASE in advance. +# +# This macro calls: +# +# AC_SUBST(CGAL_CPPFLAGS) +# AC_SUBST(CGAL_LDFLAGS) +# +# And sets: +# +# HAVE_CGAL +# +# LICENSE +# +# Copyright (c) 2010 Sebastian Hegler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_LIB_CGAL_CORE],[ + +dnl guess from env, or use given value +AC_ARG_WITH([cgal], + AS_HELP_STRING([--with-cgal@<:@=DIR@:>@], + [location of cgal installation, default $CGAL_HOME]), + [ac_cgal_dirs="$withval"], + [ac_cgal_dirs="$CGAL_HOME"' /usr /usr/local /opt /opt/local'] +) + +AC_LANG_PUSH([C++]) + +for ac_cgal_iterate in $ac_cgal_dirs ; do + CPPFLAGS_SAVED="$CPPFLAGS" + CGAL_CPPFLAGS="-I$ac_cgal_iterate/include" + CPPFLAGS="$CPPFLAGS $CGAL_CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + CGAL_LDFLAGS="-L$ac_cgal_iterate/lib -lCGAL -lCGAL_Core" + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $CGAL_LDFLAGS" + export LDFLAGS + + AC_MSG_CHECKING([whether CGAL is available in $ac_cgal_iterate]) + dnl This test program is taken from: + dnl http://www.cgal.org/Manual/latest/examples/Convex_hull_2/vector_convex_hull_2.cpp + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [ + [@%:@include ] + [@%:@include ] + [@%:@include ] + [typedef CGAL::Exact_predicates_inexact_constructions_kernel K;] + [typedef K::Point_2 Point_2;] + [typedef std::vector Points;] + ], + [ + [Points points, result; + points.push_back(Point_2(0,0)); + points.push_back(Point_2(10,0)); + points.push_back(Point_2(10,10)); + points.push_back(Point_2(6,5)); + points.push_back(Point_2(4,1)); + CGAL::convex_hull_2(points.begin(),points.end(),std::back_inserter(result)); + //std::cout << result.size() << " points on the convex hull" << std::endl;] + ])] + ,[ac_cgal=yes],[ac_cgal=no]) + + LDFLAGS="$LDFLAGS_SAVED" + export LDFLAGS + CPPFLAGS="$CPPFLAGS_SAVED" + export CPPFLAGS + + if test $ac_cgal = yes ; then + AC_MSG_RESULT([yes]) + break + else + AC_MSG_RESULT([no]) + fi +done + +AC_LANG_POP([C++]) + +if test $ac_cgal = yes ; then + AC_DEFINE(HAVE_CGAL,[1],[Indicates presence of CGAL library]) + AC_SUBST(CGAL_CPPFLAGS) + AC_SUBST(CGAL_LDFLAGS) + # execute ACTION-IF-FOUND + ifelse([$1], , :, [$1]) +else + # execute ACTION-IF-NOT-FOUND + ifelse([$2], , :, [$2]) +fi + +]) diff --git a/m4/autoconf-archive/ax_lib_crypto.m4 b/m4/autoconf-archive/ax_lib_crypto.m4 new file mode 100755 index 0000000000..5a8770ce65 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_crypto.m4 @@ -0,0 +1,85 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_crypto.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_CRYPTO([yes|no|auto]) +# +# DESCRIPTION +# +# Searches for the 'crypto' library with the --with... option. +# +# If found, define HAVE_CRYPTO and macro CRYPTO_LIBS. Also defines +# CRYPTO_WITH_ for the algorithms found available. Possible +# algorithms: AES BF CAMELLIA CAST DES IDEA RC2 RC5 MD2 MD4 MD5 SHA RIPEMD +# RSA DSA DH +# +# The argument is used if no --with...-crypto option is set. Value "yes" +# requires the configuration by default. Value "no" does not require it by +# default. Value "auto" configures the library only if available. +# +# See also AX_LIB_BEECRYPT and AX_LIB_GCRYPT. +# +# LICENSE +# +# Copyright (c) 2009 Fabien Coelho +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +# AX_CHECK_CRYPTO_LIB([algo-name],[function]) +AC_DEFUN([AX_CHECK_CRYPTO_LIB],[ + AC_CHECK_LIB([crypto], $2, [ + AC_DEFINE([CRYPTO_WITH_$1],[1],[Algorithm $1 in openssl crypto library]) + ]) +]) + +# AX_LIB_CRYPTO([yes|no|auto]) +AC_DEFUN([AX_LIB_CRYPTO],[ + AC_MSG_CHECKING([whether openssl crypto is enabled]) + AC_ARG_WITH([crypto],[ --with-crypto requite crypto library + --without-crypto disable crypto library],[ + AC_MSG_RESULT([$withval]) + ac_with_crypto=$withval + ],[ + AC_MSG_RESULT([$1]) + ac_with_crypto=$1 + ]) + if test "$ac_with_crypto" = "yes" -o "$ac_with_crypto" = "auto" ; then + AC_CHECK_HEADERS([openssl/opensslconf.h],[ + AC_CHECK_LIB([crypto], [CRYPTO_lock],[ + AC_DEFINE([HAVE_CRYPTO],[1],[Openssl crypto library is available]) + HAVE_CRYPTO=1 + AC_SUBST([CRYPTO_LIBS],[-lcrypto]) + # ciphers + AX_CHECK_CRYPTO_LIB([AES],[AES_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([BF],[BF_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([CAST],[CAST_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([CAMELLIA],[Camellia_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([DES],[DES_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([IDEA],[idea_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([RC2],[RC2_ecb_encrypt]) + AX_CHECK_CRYPTO_LIB([RC5],[RC5_32_ecb_encrypt]) + # digests + AX_CHECK_CRYPTO_LIB([MD2],[MD2]) + AX_CHECK_CRYPTO_LIB([MD4],[MD4]) + AX_CHECK_CRYPTO_LIB([MD5],[MD5]) + AX_CHECK_CRYPTO_LIB([RIPEMD],[RIPEMD160]) + AX_CHECK_CRYPTO_LIB([SHA],[SHA1]) + # others + AX_CHECK_CRYPTO_LIB([RSA],[RSA_set_method]) + AX_CHECK_CRYPTO_LIB([DSA],[DSA_set_method]) + AX_CHECK_CRYPTO_LIB([DH],[DH_set_method]) + ]) + ]) + # complain only if crypto as *explicitly* required + if test "$ac_with_crypto" = "yes" -a "x$HAVE_CRYPTO" = "x" ; then + AC_MSG_ERROR([cannot configure required openssl crypto library]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_curl.m4 b/m4/autoconf-archive/ax_lib_curl.m4 new file mode 100755 index 0000000000..c71ec8d5b9 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_curl.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_curl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_CURL([VERSION],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Checks for minimum curl library version VERSION. If successful executes +# ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# Defines CURL_LIBS and CURL_CFLAGS. +# +# A simple example: +# +# AX_LIB_CURL([7.19.4],,[ +# AC_MSG_ERROR([Your system lacks libcurl >= 7.19.4]) +# ]) +# +# This macro is a rearranged version of AC_LIB_CURL from Akos Maroy. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_CHECK_CURL], [AX_LIB_CURL]) +AC_DEFUN([AX_LIB_CURL], [ + AX_PATH_GENERIC([curl],[$1],'s/^libcurl\ \+//',[$2],[$3]) +]) diff --git a/m4/autoconf-archive/ax_lib_ev.m4 b/m4/autoconf-archive/ax_lib_ev.m4 new file mode 100755 index 0000000000..931ff8915d --- /dev/null +++ b/m4/autoconf-archive/ax_lib_ev.m4 @@ -0,0 +1,81 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_ev.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_EV([VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Checks for libev mimicking pkg-config's way of doing things for as long +# as upstream doesn't provide a .pc file. If successful and provided +# expand ACTION-IF-FOUND, otherwise expand ACTION-IF-NOT-FOUND, or, if +# omitted, error out like pkg-config does. +# +# Defines libev_LIBS and libev_CFLAGS. +# +# LICENSE +# +# Copyright (c) 2012 Sebastian Freundt +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_CHECK_EV_H], [ +dnl AX_CHECK_EV_H([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl defs: ax_cv_header_ev_h yes|no +## assume libev_CFLAGS have been set + saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} ${libev_CFLAGS}" + ## not so fast, we need ev.h checks + AC_CHECK_HEADER([ev.h], [ + ax_cv_header_ev_h="yes" + $1 + ], [$2]) + CPPFLAGS="${saved_CPPFLAGS}" +]) + +AU_ALIAS([AC_CHECK_LIBEV], [AX_LIB_EV]) +AC_DEFUN([AX_LIB_EV], [ + pushdef([VERSION], [m4_default([$1], [>= 4.0])]) + pushdef([ACTION_IF_FOUND], [$2]) + pushdef([ACTION_IF_NOT_FOUND], [$3]) + + AC_CACHE_VAL([ax_cv_feat_libev], [ + ## assume failure + ax_cv_feat_libev="no" + + PKG_CHECK_MODULES([libev], [libev ]VERSION[], [:], [:]) + + ## CHECK_MODULES' if_found case + AX_CHECK_EV_H([ + ax_cv_feat_libev="yes" + + if test -z "${pkg_cv_libev_LIBS}"; then + libev_LIBS="${libev_LIBS} -lev" + fi + + ACTION_IF_FOUND + ], [ + m4_default([]ACTION_IF_NOT_FOUND[], [AC_MSG_ERROR([dnl +Package requirements (libev version) were not met. + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables libev_CFLAGS +and libev_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + ]) + ]) + ]) + + popdef([ACTION_IF_NOT_FOUND]) + popdef([ACTION_IF_FOUND]) + popdef([VERSION]) +])dnl AX_LIB_EV diff --git a/m4/autoconf-archive/ax_lib_expat.m4 b/m4/autoconf-archive/ax_lib_expat.m4 new file mode 100755 index 0000000000..a49807a5ff --- /dev/null +++ b/m4/autoconf-archive/ax_lib_expat.m4 @@ -0,0 +1,283 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_expat.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_EXPAT([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Expat XML Parser of +# particular version or newer. This macro checks for Expat XML Parser +# headers and libraries and defines compilation flags +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-expat -- yes, no, or path to Expat XML Parser +# installation prefix +# +# 2) Three-options usage (all options are required): +# +# --with-expat=yes +# --with-expat-inc -- path to base directory with Expat headers +# --with-expat-lib -- linker flags for Expat +# +# This macro calls: +# +# AC_SUBST(EXPAT_CFLAGS) +# AC_SUBST(EXPAT_LIBS) +# AC_SUBST(EXPAT_LDFLAGS) +# AC_SUBST(EXPAT_VERSION) -- only if version requirement is used +# +# And sets: +# +# HAVE_EXPAT +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_LIB_EXPAT], +[ + AC_ARG_WITH([expat], + AS_HELP_STRING([--with-expat=@<:@ARG@:>@], + [use Expat XML Parser from given prefix (ARG=path); check standard prefixes (ARG=yes); disable (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -f /usr/local/include/expat.h ; then + expat_prefix=/usr/local + elif test -f /usr/include/expat.h ; then + expat_prefix=/usr + else + expat_prefix="" + fi + expat_requested="yes" + elif test -d "$withval"; then + expat_prefix="$withval" + expat_requested="yes" + else + expat_prefix="" + expat_requested="no" + fi + ], + [ + dnl Default behavior is implicit yes + if test -f /usr/local/include/expat.h ; then + expat_prefix=/usr/local + elif test -f /usr/include/expat.h ; then + expat_prefix=/usr + else + expat_prefix="" + fi + ] + ) + + AC_ARG_WITH([expat-inc], + AS_HELP_STRING([--with-expat-inc=@<:@DIR@:>@], + [path to Expat XML Parser headers] + ), + [expat_include_dir="$withval"], + [expat_include_dir=""] + ) + AC_ARG_WITH([expat-lib], + AS_HELP_STRING([--with-expat-lib=@<:@ARG@:>@], + [link options for Expat XML Parser libraries] + ), + [expat_lib_flags="$withval"], + [expat_lib_flags=""] + ) + + EXPAT_CFLAGS="" + EXPAT_LIBS="" + EXPAT_VERSION="" + + dnl + dnl Collect include/lib paths and flags + dnl + run_expat_test="no" + + if test -n "$expat_prefix"; then + expat_include_dir="$expat_prefix/include" + expat_ld_flags="-L$expat_prefix/lib" + expat_lib_flags="-lexpat" + run_expat_test="yes" + elif test "$expat_requested" = "yes"; then + if test -n "$expat_include_dir" -a -n "$expat_lib_flags"; then + run_expat_test="yes" + fi + else + run_expat_test="no" + fi + + dnl + dnl Check Expat XML Parser files + dnl + if test "$run_expat_test" = "yes"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$expat_include_dir" + + saved_LIBS="$LIBS" + LIBS="$LIBS $expat_lib_flags" + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $expat_ld_flags" + + dnl + dnl Check Expat headers + dnl + AC_MSG_CHECKING([for Expat XML Parser headers in $expat_include_dir]) + + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include + ]], + [[]] + )], + [ + EXPAT_CFLAGS="-I$expat_include_dir" + expat_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ + expat_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check Expat libraries + dnl + if test "$expat_header_found" = "yes"; then + + AC_MSG_CHECKING([for Expat XML Parser libraries]) + + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include + ]], + [[ +XML_Parser p = XML_ParserCreate(NULL); +XML_ParserFree(p); +p = NULL; + ]] + )], + [ + EXPAT_LIBS="$expat_lib_flags" + EXPAT_LDFLAGS="$expat_ld_flags" + expat_lib_found="yes" + AC_MSG_RESULT([found]) + ], + [ + expat_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + LIBS="$saved_LIBS" + fi + + AC_MSG_CHECKING([for Expat XML Parser]) + + if test "$run_expat_test" = "yes"; then + if test "$expat_header_found" = "yes" -a "$expat_lib_found" = "yes"; then + + AC_SUBST([EXPAT_CFLAGS]) + AC_SUBST([EXPAT_LDFLAGS]) + AC_SUBST([EXPAT_LIBS]) + + HAVE_EXPAT="yes" + else + HAVE_EXPAT="no" + fi + + AC_MSG_RESULT([$HAVE_EXPAT]) + + dnl + dnl Check Expat version + dnl + if test "$HAVE_EXPAT" = "yes"; then + + expat_version_req=ifelse([$1], [], [], [$1]) + + if test -n "$expat_version_req"; then + + AC_MSG_CHECKING([if Expat XML Parser version is >= $expat_version_req]) + + if test -f "$expat_include_dir/expat.h"; then + + expat_major=`cat $expat_include_dir/expat.h | \ + grep '^#define.*XML_MAJOR_VERSION.*[0-9]$' | \ + sed -e 's/#define XML_MAJOR_VERSION.//'` + + expat_minor=`cat $expat_include_dir/expat.h | \ + grep '^#define.*XML_MINOR_VERSION.*[0-9]$' | \ + sed -e 's/#define XML_MINOR_VERSION.//'` + + expat_revision=`cat $expat_include_dir/expat.h | \ + grep '^#define.*XML_MICRO_VERSION.*[0-9]$' | \ + sed -e 's/#define XML_MICRO_VERSION.//'` + + EXPAT_VERSION="$expat_major.$expat_minor.$expat_revision" + AC_SUBST([EXPAT_VERSION]) + + dnl Decompose required version string and calculate numerical representation + expat_version_req_major=`expr $expat_version_req : '\([[0-9]]*\)'` + expat_version_req_minor=`expr $expat_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + expat_version_req_revision=`expr $expat_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$expat_version_req_revision" = "x"; then + expat_version_req_revision="0" + fi + + expat_version_req_number=`expr $expat_version_req_major \* 10000 \ + \+ $expat_version_req_minor \* 100 \ + \+ $expat_version_req_revision` + + dnl Calculate numerical representation of detected version + expat_version_number=`expr $expat_major \* 10000 \ + \+ $expat_minor \* 100 \ + \+ $expat_revision` + + expat_version_check=`expr $expat_version_number \>\= $expat_version_req_number` + if test "$expat_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Expat XML Parser $EXPAT_VERSION, which is older than required. Possible compilation failure.]) + fi + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Missing expat.h header. Unable to determine Expat version.]) + fi + fi + fi + + else + HAVE_EXPAT="no" + AC_MSG_RESULT([$HAVE_EXPAT]) + + if test "$expat_requested" = "yes"; then + AC_MSG_WARN([Expat XML Parser support requested but headers or library not found. Specify valid prefix of Expat using --with-expat=@<:@DIR@:>@ or provide include directory and linker flags using --with-expat-inc and --with-expat-lib]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_firebird.m4 b/m4/autoconf-archive/ax_lib_firebird.m4 new file mode 100755 index 0000000000..29fd01e7d6 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_firebird.m4 @@ -0,0 +1,170 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_firebird.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_FIREBIRD([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# Test for the Firebird client library of a particular version (or newer). +# This macro takes only one optional argument, the required version of +# Firebird library. If required version is not passed, then 1.5.0 is used +# in test of existence of Firebird client library. +# +# For more information about Firebird API versioning check: API Identifies +# Client Version http://www.firebirdsql.org/rlsnotes20/rnfbtwo-apiods.html +# +# If no installation prefix to the installed Firebird library is given the +# macro searches under /usr, /usr/local, and /opt. +# +# This macro calls: +# +# AC_SUBST(FIREBIRD_CFLAGS) +# AC_SUBST(FIREBIRD_LDFLAGS) +# AC_SUBST(FIREBIRD_VERSION) +# +# And sets: +# +# HAVE_FIREBIRD +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_LIB_FIREBIRD], +[ + AC_ARG_WITH([firebird], + AS_HELP_STRING( + [--with-firebird=@<:@ARG@:>@], + [use Firebird client library @<:@default=yes@:>@, optionally specify the prefix for firebird library] + ), + [ + if test "$withval" = "no"; then + WANT_FIREBIRD="no" + elif test "$withval" = "yes"; then + WANT_FIREBIRD="yes" + ac_firebird_path="" + else + WANT_FIREBIRD="yes" + ac_firebird_path="$withval" + fi + ], + [WANT_FIREBIRD="yes"] + ) + + FIREBIRD_CFLAGS="" + FIREBIRD_LDFLAGS="" + FIREBIRD_VERSION="" + + if test "x$WANT_FIREBIRD" = "xyes"; then + + ac_firebird_header="ibase.h" + + firebird_version_req=ifelse([$1], [], [3.0.0], [$1]) + firebird_version_req_shorten=`expr $firebird_version_req : '\([[0-9]]*\.[[0-9]]*\)'` + firebird_version_req_major=`expr $firebird_version_req : '\([[0-9]]*\)'` + firebird_version_req_minor=`expr $firebird_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + firebird_version_req_micro=`expr $firebird_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$firebird_version_req_micro" = "x" ; then + firebird_version_req_micro="0" + fi + + dnl FB_API_VER represents the version of Firebird as follows: + dnl - Any version of Interbase, or Firebird 1.0.x: 10 + dnl - Firebird 1.5.x: 15 + dnl - Firebird 2.0.x: 20 + + firebird_version_req_number=`expr $firebird_version_req_major \+ $firebird_version_req_minor` + + AC_MSG_CHECKING([for Firebird client library >= $firebird_version_req]) + + if test "$ac_firebird_path" != ""; then + ac_firebird_ldflags="-L$ac_firebird_path/lib" + ac_firebird_cppflags="-I$ac_firebird_path/include" + else + for ac_firebird_path_tmp in /usr /usr/local /opt ; do + if test -f "$ac_firebird_path_tmp/include/$ac_firebird_header" \ + && test -r "$ac_firebird_path_tmp/include/$ac_firebird_header"; then + ac_firebird_path=$ac_firebird_path_tmp + ac_firebird_cppflags="-I$ac_firebird_path_tmp/include" + ac_firebird_ldflags="-L$ac_firebird_path_tmp/lib" + break; + fi + done + fi + + ac_firebird_header_path="$ac_firebird_path/include/$ac_firebird_header" + + if test ! -f "$ac_firebird_header_path"; then + AC_MSG_RESULT([no]) + success="no" + else + + ac_firebird_ldflags="$ac_firebird_ldflags -lfbclient -lpthread" + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $ac_firebird_cppflags" + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE( + [ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +#if (FB_API_VER >= $firebird_version_req_number) +// Everything is okay +#else +# error Firebird version is too old +#endif + ]] + ) + ], + [ + AC_MSG_RESULT([yes]) + success="yes" + ], + [ + AC_MSG_RESULT([not found]) + success="no" + ] + ) + AC_LANG_POP([C++]) + + CPPFLAGS="$saved_CPPFLAGS" + + if test "$success" = "yes"; then + + FIREBIRD_CFLAGS="$ac_firebird_cppflags" + FIREBIRD_LDFLAGS="$ac_firebird_ldflags" + + dnl Retrieve Firebird release version + + ac_firebird_version=`cat $ac_firebird_header_path | \ + grep '#define.*FB_API_VER.*' | \ + sed -e 's/.* //'` + + if test -n "$ac_firebird_version"; then + ac_firebird_version_major=`expr $ac_firebird_version \/ 10` + ac_firebird_version_minor=`expr $ac_firebird_version \% 10` + + FIREBIRD_VERSION="$ac_firebird_version_major.$ac_firebird_version_minor.x" + else + AC_MSG_WARN([Could not find FB_API_VER macro in $ac_firebird_header to get Firebird version.]) + fi + + AC_SUBST(FIREBIRD_CFLAGS) + AC_SUBST(FIREBIRD_LDFLAGS) + AC_SUBST(FIREBIRD_VERSION) + AC_DEFINE(HAVE_FIREBIRD) + fi + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_gcrypt.m4 b/m4/autoconf-archive/ax_lib_gcrypt.m4 new file mode 100755 index 0000000000..b200ec2d91 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_gcrypt.m4 @@ -0,0 +1,108 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_gcrypt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_GCRYPT([yes|no|auto]) +# +# DESCRIPTION +# +# Searches for the 'gcrypt' library with the --with... option. +# +# If found, define HAVE_GCRYPT and macro GCRYPT_LIBS and GCRYPT_CFLAGS. +# Also defines GCRYPT_WITH_ for the algorithms found available. +# Possible algorithms are: AES ARCFOUR BLOWFISH CAST5 DES IDEA RFC2268 +# SERPENT TWOFISH CRC HAVAL MD2 MD4 MD5 RMD160 SHA0 SHA1 SHA224 SHA256 +# SHA384 SHA512 TIGER WHIRLPOOL DSA ELGAMAL RSA +# +# The argument is used if no --with...-gcrypt option is set. Value "yes" +# requires the configuration by default. Value "no" does not require it by +# default. Value "auto" configures the library only if available. +# +# See also AX_LIB_BEECRYPT and AX_LIB_CRYPTO. +# +# LICENSE +# +# Copyright (c) 2009 Fabien Coelho +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +# AX_CHECK_GCRYPT_ALGO([algo]) +# generate convenient defines for each algorithm +AC_DEFUN([AX_CHECK_GCRYPT_ALGO],[ + AC_REQUIRE([AC_PROG_EGREP]) + AC_MSG_CHECKING([for $1 in gcrypt]) + if echo $gcrypt_algos | $EGREP -i ":.*( $1 | $1$)" > /dev/null ; then + AC_DEFINE([GCRYPT_WITH_$1],[1],[Algorithm $1 in gcrypt library]) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi +]) + +# AX_LIB_GCRYPT([yes|no|auto]) +AC_DEFUN([AX_LIB_GCRYPT],[ + AC_MSG_CHECKING([whether gcrypt is enabled]) + AC_ARG_WITH([gcrypt],[ --with-gcrypt require gcrypt library + --without-gcrypt disable gcrypt library],[ + AC_MSG_RESULT([$withval]) + ac_with_gcrypt=$withval + ],[ + AC_MSG_RESULT($1) + ac_with_gcrypt=$1 + ]) + if test "$ac_with_gcrypt" = "yes" -o "$ac_with_gcrypt" = "auto" ; then + AM_PATH_LIBGCRYPT([1.2.0],[ + AC_DEFINE([HAVE_GCRYPT],[1],[Gcrypt library is available]) + HAVE_GCRYPT=1 + # checking for available algorithms... + gcrypt_algos=`$LIBGCRYPT_CONFIG --algorithms` + # ciphers + # this does not work with a "for" loop: nothing generated in config.h:-( + AX_CHECK_GCRYPT_ALGO([AES]) + AX_CHECK_GCRYPT_ALGO([ARCFOUR]) + AX_CHECK_GCRYPT_ALGO([BLOWFISH]) + AX_CHECK_GCRYPT_ALGO([CAST5]) + AX_CHECK_GCRYPT_ALGO([DES]) + AX_CHECK_GCRYPT_ALGO([IDEA]) + AX_CHECK_GCRYPT_ALGO([RFC2268]) + AX_CHECK_GCRYPT_ALGO([SERPENT]) + AX_CHECK_GCRYPT_ALGO([TWOFISH]) + # digests + AX_CHECK_GCRYPT_ALGO([CRC]) + AX_CHECK_GCRYPT_ALGO([HAVAL]) + AX_CHECK_GCRYPT_ALGO([MD2]) + AX_CHECK_GCRYPT_ALGO([MD4]) + AX_CHECK_GCRYPT_ALGO([MD5]) + AX_CHECK_GCRYPT_ALGO([RMD160]) + AX_CHECK_GCRYPT_ALGO([SHA0]) + AX_CHECK_GCRYPT_ALGO([SHA1]) + AX_CHECK_GCRYPT_ALGO([SHA224]) + AX_CHECK_GCRYPT_ALGO([SHA256]) + AX_CHECK_GCRYPT_ALGO([SHA384]) + AX_CHECK_GCRYPT_ALGO([SHA512]) + AX_CHECK_GCRYPT_ALGO([TIGER]) + AX_CHECK_GCRYPT_ALGO([WHIRLPOOL]) + # others + AX_CHECK_GCRYPT_ALGO([DSA]) + AX_CHECK_GCRYPT_ALGO([ELGAMAL]) + AX_CHECK_GCRYPT_ALGO([RSA]) + # conclusion + GCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` + GCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` + AC_SUBST(GCRYPT_CFLAGS) + AC_SUBST(GCRYPT_LIBS) + ],[ + # complain only if explicitly required + if test "$ac_with_gcrypt" = "yes" ; then + AC_MSG_ERROR([cannot configure required gcrypt library]) + fi + ]) + fi +]) diff --git a/m4/autoconf-archive/ax_lib_gdal.m4 b/m4/autoconf-archive/ax_lib_gdal.m4 new file mode 100755 index 0000000000..f348e23746 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_gdal.m4 @@ -0,0 +1,153 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_gdal.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_GDAL([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of GDAL/OGR library of +# particular version or newer. +# +# AX_LIB_GDAL macro takes only one argument which is optional. If there is +# no required version passed, then macro does not run version test. +# +# The --with-gdal option takes complete path to gdal-config utility, +# +# This macro calls AC_SUBST for: +# +# GDAL_VERSION +# GDAL_CFLAGS +# GDAL_LDFLAGS +# GDAL_DEP_LDFLAGS +# GDAL_OGR_ENABLED +# +# and AC_DEFINE for: +# +# HAVE_GDAL +# HAVE_GDAL_OGR +# +# LICENSE +# +# Copyright (c) 2011 Mateusz Loskot +# Copyright (c) 2011 Alessandro Candini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_LIB_GDAL], +[ + dnl If gdal-config path is not given in ---with-gdal option, + dnl check if it is present in the system anyway + AC_ARG_WITH([gdal], + AC_HELP_STRING([--with-gdal=@<:@ARG@:>@], + [Specify full path to gdal-config script]), + [ac_gdal_config_path=$withval], + [gdal_config_system=check]) + + dnl if gdal-config is present in the system, fill the ac_gdal_config_path variable with it full path + AS_IF([test "x$gdal_config_system" = xcheck], + [AC_PATH_PROG([GDAL_CONFIG], [gdal-config])], + [AC_PATH_PROG([GDAL_CONFIG], [gdal-config], + [no], [`dirname $ac_gdal_config_path 2> /dev/null`])] + ) + + if test ! -x "$GDAL_CONFIG"; then + AC_MSG_ERROR([gdal-config does not exist or it is not an executable file]) + GDAL_CONFIG="no" + found_gdal="no" + fi + + GDAL_VERSION="" + GDAL_CFLAGS="" + GDAL_LDFLAGS="" + GDAL_DEP_LDFLAGS="" + GDAL_OGR_ENABLED="" + + + dnl + dnl Check GDAL library (libgdal) + dnl + + if test "$GDAL_CONFIG" != "no"; then + AC_MSG_CHECKING([for GDAL library]) + + GDAL_VERSION="`$GDAL_CONFIG --version`" + GDAL_CFLAGS="`$GDAL_CONFIG --cflags`" + GDAL_LDFLAGS="`$GDAL_CONFIG --libs`" + GDAL_DEP_LDFLAGS="`$GDAL_CONFIG --dep-libs`" + + AC_DEFINE([HAVE_GDAL], [1], [Define to 1 if GDAL library are available]) + + found_gdal="yes" + else + found_gdal="no" + fi + + AC_MSG_RESULT([$found_gdal]) + + if test "$found_gdal" = "yes"; then + AC_MSG_CHECKING([for OGR support in GDAL library]) + + GDAL_OGR_ENABLED="`$GDAL_CONFIG --ogr-enabled`" + AC_DEFINE([HAVE_GDAL_OGR], [1], [Define to 1 if GDAL library includes OGR support]) + + AC_MSG_RESULT([$GDAL_OGR_ENABLED]) + fi + + dnl + dnl Check if required version of GDAL is available + dnl + + gdal_version_req=ifelse([$1], [], [], [$1]) + if test "$found_gdal" = "yes" -a -n "$gdal_version_req"; then + + AC_MSG_CHECKING([if GDAL version is >= $gdal_version_req]) + + dnl Decompose required version string of GDAL + dnl and calculate its number representation + gdal_version_req_major=`expr $gdal_version_req : '\([[0-9]]*\)'` + gdal_version_req_minor=`expr $gdal_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + gdal_version_req_micro=`expr $gdal_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$gdal_version_req_micro" = "x"; then + gdal_version_req_micro="0" + fi + + gdal_version_req_number=`expr $gdal_version_req_major \* 1000000 \ + \+ $gdal_version_req_minor \* 1000 \ + \+ $gdal_version_req_micro` + + dnl Decompose version string of installed GDAL + dnl and calculate its number representation + gdal_version_major=`expr $GDAL_VERSION : '\([[0-9]]*\)'` + gdal_version_minor=`expr $GDAL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'` + gdal_version_micro=`expr $GDAL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$gdal_version_micro" = "x"; then + gdal_version_micro="0" + fi + + gdal_version_number=`expr $gdal_version_major \* 1000000 \ + \+ $gdal_version_minor \* 1000 \ + \+ $gdal_version_micro` + + gdal_version_check=`expr $gdal_version_number \>\= $gdal_version_req_number` + if test "$gdal_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([GDAL $GDAL_VERSION found, but required version is $gdal_version_req]) + fi + fi + + AC_SUBST(GDAL_VERSION) + AC_SUBST(GDAL_CFLAGS) + AC_SUBST(GDAL_LDFLAGS) + AC_SUBST(GDAL_DEP_LDFLAGS) + AC_SUBST(GDAL_OGR_ENABLED) +]) diff --git a/m4/autoconf-archive/ax_lib_hdf5.m4 b/m4/autoconf-archive/ax_lib_hdf5.m4 new file mode 100755 index 0000000000..a3a89742af --- /dev/null +++ b/m4/autoconf-archive/ax_lib_hdf5.m4 @@ -0,0 +1,323 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_hdf5.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_HDF5([serial/parallel]) +# +# DESCRIPTION +# +# This macro provides tests of the availability of HDF5 library. +# +# The optional macro argument should be either 'serial' or 'parallel'. The +# former only looks for serial HDF5 installations via h5cc. The latter +# only looks for parallel HDF5 installations via h5pcc. If the optional +# argument is omitted, serial installations will be preferred over +# parallel ones. +# +# The macro adds a --with-hdf5 option accepting one of three values: +# +# no - do not check for the HDF5 library. +# yes - do check for HDF5 library in standard locations. +# path - complete path to the HDF5 helper script h5cc or h5pcc. +# +# If HDF5 is successfully found, this macro calls +# +# AC_SUBST(HDF5_VERSION) +# AC_SUBST(HDF5_CC) +# AC_SUBST(HDF5_CFLAGS) +# AC_SUBST(HDF5_CPPFLAGS) +# AC_SUBST(HDF5_LDFLAGS) +# AC_SUBST(HDF5_LIBS) +# AC_SUBST(HDF5_FC) +# AC_SUBST(HDF5_FFLAGS) +# AC_SUBST(HDF5_FLIBS) +# AC_SUBST(HDF5_TYPE) +# AC_DEFINE(HAVE_HDF5) +# +# and sets with_hdf5="yes". Additionally, the macro sets +# with_hdf5_fortran="yes" if a matching Fortran wrapper script is found. +# Note that Autoconf's Fortran support is not used to perform this check. +# H5CC and H5FC will contain the appropriate serial or parallel HDF5 +# wrapper script locations. +# +# If HDF5 is disabled or not found, this macros sets with_hdf5="no" and +# with_hdf5_fortran="no". +# +# Your configuration script can test $with_hdf to take any further +# actions. HDF5_{C,CPP,LD}FLAGS may be used when building with C or C++. +# HDF5_F{FLAGS,LIBS} should be used when building Fortran applications. +# +# To use the macro, one would code one of the following in "configure.ac" +# before AC_OUTPUT: +# +# 1) dnl Check for HDF5 support +# AX_LIB_HDF5() +# +# 2) dnl Check for serial HDF5 support +# AX_LIB_HDF5([serial]) +# +# 3) dnl Check for parallel HDF5 support +# AX_LIB_HDF5([parallel]) +# +# One could test $with_hdf5 for the outcome or display it as follows +# +# echo "HDF5 support: $with_hdf5" +# +# You could also for example, override the default CC in "configure.ac" to +# enforce compilation with the compiler that HDF5 uses: +# +# AX_LIB_HDF5([parallel]) +# if test "$with_hdf5" = "yes"; then +# CC="$HDF5_CC" +# else +# AC_MSG_ERROR([Unable to find HDF5, we need parallel HDF5.]) +# fi +# +# The HDF5_TYPE environment variable returns "parallel" or "serial", +# depending on which type of library is found. +# +# LICENSE +# +# Copyright (c) 2009 Timothy Brown +# Copyright (c) 2010 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 18 + +AC_DEFUN([AX_LIB_HDF5], [ + +AC_REQUIRE([AC_PROG_SED]) +AC_REQUIRE([AC_PROG_AWK]) +AC_REQUIRE([AC_PROG_GREP]) + +dnl Check first argument is one of the recognized values. +dnl Fail eagerly if is incorrect as this simplifies case statements below. +if test "m4_normalize(m4_default([$1],[]))" = "" ; then + : # Recognized value +elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then + : # Recognized value +elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then + : # Recognized value +else + AC_MSG_ERROR([ +Unrecognized value for AX[]_LIB_HDF5 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +]) +fi + +dnl Add a default --with-hdf5 configuration option. +AC_ARG_WITH([hdf5], + AS_HELP_STRING( + [--with-hdf5=[yes/no/PATH]], + m4_case(m4_normalize([$1]), + [serial], [location of h5cc for serial HDF5 configuration], + [parallel], [location of h5pcc for parallel HDF5 configuration], + [location of h5cc or h5pcc for HDF5 configuration]) + ), + [if test "$withval" = "no"; then + with_hdf5="no" + elif test "$withval" = "yes"; then + with_hdf5="yes" + else + with_hdf5="yes" + H5CC="$withval" + fi], + [with_hdf5="yes"] +) + +dnl Set defaults to blank +HDF5_CC="" +HDF5_VERSION="" +HDF5_CFLAGS="" +HDF5_CPPFLAGS="" +HDF5_LDFLAGS="" +HDF5_LIBS="" +HDF5_FC="" +HDF5_FFLAGS="" +HDF5_FLIBS="" +HDF5_TYPE="" + +dnl Try and find hdf5 compiler tools and options. +if test "$with_hdf5" = "yes"; then + if test -z "$H5CC"; then + dnl Check to see if H5CC is in the path. + AC_PATH_PROGS( + [H5CC], + m4_case(m4_normalize([$1]), + [serial], [h5cc], + [parallel], [h5pcc], + [h5cc h5pcc]), + []) + else + AC_MSG_CHECKING([Using provided HDF5 C wrapper]) + AC_MSG_RESULT([$H5CC]) + fi + AC_MSG_CHECKING([for HDF5 type]) + AS_CASE([$H5CC], + [*h5pcc], [HDF5_TYPE=parallel], + [*h5cc], [HDF5_TYPE=serial], + [HDF5_TYPE=neither]) + AC_MSG_RESULT([$HDF5_TYPE]) + AC_MSG_CHECKING([for HDF5 libraries]) + if test ! -f "$H5CC" || test ! -x "$H5CC"; then + AC_MSG_RESULT([no]) + AC_MSG_WARN(m4_case(m4_normalize([$1]), + [serial], [ +Unable to locate serial HDF5 compilation helper script 'h5cc'. +Please specify --with-hdf5= as the full path to h5cc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +], [parallel],[ +Unable to locate parallel HDF5 compilation helper script 'h5pcc'. +Please specify --with-hdf5= as the full path to h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +], [ +Unable to locate HDF5 compilation helper scripts 'h5cc' or 'h5pcc'. +Please specify --with-hdf5= as the full path to h5cc or h5pcc. +HDF5 support is being disabled (equivalent to --with-hdf5=no). +])) + with_hdf5="no" + with_hdf5_fortran="no" + else + dnl Get the h5cc output + HDF5_SHOW=$(eval $H5CC -show) + + dnl Get the actual compiler used + HDF5_CC=$(eval $H5CC -show | $AWK '{print $[]1}') + if test "$HDF5_CC" = "ccache"; then + HDF5_CC=$(eval $H5CC -show | $AWK '{print $[]2}') + fi + + dnl h5cc provides both AM_ and non-AM_ options + dnl depending on how it was compiled either one of + dnl these are empty. Lets roll them both into one. + + dnl Look for "HDF5 Version: X.Y.Z" + HDF5_VERSION=$(eval $H5CC -showconfig | $GREP 'HDF5 Version:' \ + | $AWK '{print $[]3}') + + dnl A ideal situation would be where everything we needed was + dnl in the AM_* variables. However most systems are not like this + dnl and seem to have the values in the non-AM variables. + dnl + dnl We try the following to find the flags: + dnl (1) Look for "NAME:" tags + dnl (2) Look for "H5_NAME:" tags + dnl (3) Look for "AM_NAME:" tags + dnl + HDF5_tmp_flags=$(eval $H5CC -showconfig \ + | $GREP 'FLAGS\|Extra libraries:' \ + | $AWK -F: '{printf("%s "), $[]2}' ) + + dnl Find the installation directory and append include/ + HDF5_tmp_inst=$(eval $H5CC -showconfig \ + | $GREP 'Installation point:' \ + | $AWK '{print $[]NF}' ) + + dnl Add this to the CPPFLAGS + HDF5_CPPFLAGS="-I${HDF5_tmp_inst}/include" + + dnl Now sort the flags out based upon their prefixes + for arg in $HDF5_SHOW $HDF5_tmp_flags ; do + case "$arg" in + -I*) echo $HDF5_CPPFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_CPPFLAGS="$arg $HDF5_CPPFLAGS" + ;; + -L*) echo $HDF5_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LDFLAGS="$arg $HDF5_LDFLAGS" + ;; + -l*) echo $HDF5_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || HDF5_LIBS="$arg $HDF5_LIBS" + ;; + esac + done + + HDF5_LIBS="$HDF5_LIBS -lhdf5" + AC_MSG_RESULT([yes (version $[HDF5_VERSION])]) + + dnl See if we can compile + AC_LANG_PUSH([C]) + ax_lib_hdf5_save_CC=$CC + ax_lib_hdf5_save_CPPFLAGS=$CPPFLAGS + ax_lib_hdf5_save_LIBS=$LIBS + ax_lib_hdf5_save_LDFLAGS=$LDFLAGS + CC=$HDF5_CC + CPPFLAGS=$HDF5_CPPFLAGS + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + AC_CHECK_HEADER([hdf5.h], [ac_cv_hadf5_h=yes], [ac_cv_hadf5_h=no]) + AC_CHECK_LIB([hdf5], [H5Fcreate], [ac_cv_libhdf5=yes], + [ac_cv_libhdf5=no]) + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + AC_MSG_WARN([Unable to compile HDF5 test program]) + fi + dnl Look for HDF5's high level library + AC_HAVE_LIBRARY([hdf5_hl], [HDF5_LIBS="$HDF5_LIBS -lhdf5_hl"], [], []) + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS + LIBS=$ax_lib_hdf5_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + AC_LANG_POP([C]) + + AC_MSG_CHECKING([for matching HDF5 Fortran wrapper]) + dnl Presume HDF5 Fortran wrapper is just a name variant from H5CC + H5FC=$(eval echo -n $H5CC | $SED -n 's/cc$/fc/p') + if test -x "$H5FC"; then + AC_MSG_RESULT([$H5FC]) + with_hdf5_fortran="yes" + AC_SUBST([H5FC]) + + dnl Again, pry any remaining -Idir/-Ldir from compiler wrapper + for arg in `$H5FC -show` + do + case "$arg" in #( + -I*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$arg $HDF5_FFLAGS" + ;;#( + -L*) echo $HDF5_FFLAGS | $GREP -e "$arg" >/dev/null \ + || HDF5_FFLAGS="$arg $HDF5_FFLAGS" + dnl HDF5 installs .mod files in with libraries, + dnl but some compilers need to find them with -I + echo $HDF5_FFLAGS | $GREP -e "-I${arg#-L}" >/dev/null \ + || HDF5_FFLAGS="-I${arg#-L} $HDF5_FFLAGS" + ;; + esac + done + + dnl Make Fortran link line by inserting Fortran libraries + for arg in $HDF5_LIBS + do + case "$arg" in #( + -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" + ;; #( + -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; + esac + done + else + AC_MSG_RESULT([no]) + with_hdf5_fortran="no" + fi + + AC_SUBST([HDF5_VERSION]) + AC_SUBST([HDF5_CC]) + AC_SUBST([HDF5_CFLAGS]) + AC_SUBST([HDF5_CPPFLAGS]) + AC_SUBST([HDF5_LDFLAGS]) + AC_SUBST([HDF5_LIBS]) + AC_SUBST([HDF5_FC]) + AC_SUBST([HDF5_FFLAGS]) + AC_SUBST([HDF5_FLIBS]) + AC_SUBST([HDF5_TYPE]) + AC_DEFINE([HAVE_HDF5], [1], [Defined if you have HDF5 support]) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_lib_id3.m4 b/m4/autoconf-archive/ax_lib_id3.m4 new file mode 100755 index 0000000000..7a60aa96a8 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_id3.m4 @@ -0,0 +1,77 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_id3.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_ID3([ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# This macro will check for the existence of id3lib +# (http://id3lib.sourceforge.net/). It does this by checking for the +# header file id3.h and the id3 library object file. A --with-id3lib +# option is supported as well. The following output variables are set with +# AC_SUBST: +# +# ID3_CPPFLAGS +# ID3_LDFLAGS +# ID3_LIBS +# +# You can use them like this in Makefile.am: +# +# AM_CPPFLAGS = $(ID3_CPPFLAGS) +# AM_LDFLAGS = $(ID3_LDFLAGS) +# program_LDADD = $(ID3_LIBS) +# +# Additionally, the C preprocessor symbol HAVE_ID3LIB will be defined with +# AC_DEFINE if id3lib is available. +# +# LICENSE +# +# Copyright (c) 2009 Oskar Liljeblad +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_LIB_ID3], [AX_LIB_ID3]) +AC_DEFUN([AX_LIB_ID3], [ + AH_TEMPLATE([HAVE_ID3LIB], [Define if id3lib is available]) + AC_ARG_WITH(id3lib, [ --with-id3lib=DIR prefix for id3 library files and headers], [ + if test "$withval" = "no"; then + ac_id3_path= + $2 + elif test "$withval" = "yes"; then + ac_id3_path=/usr + else + ac_id3_path="$withval" + fi + ],[ac_id3_path=/usr]) + if test "$ac_id3_path" != ""; then + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$ac_id3_path/include" + AC_CHECK_HEADER([id3.h], [ + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$ac_id3_path/lib" + AC_CHECK_LIB(id3, ID3Tag_New, [ + AC_SUBST(ID3_CPPFLAGS, [-I$ac_id3_path/include]) + AC_SUBST(ID3_LDFLAGS, [-L$ac_id3_path/lib]) + AC_SUBST(ID3_LIBS, [-lid3]) + AC_DEFINE([HAVE_ID3LIB]) + $1 + ], [ + : + $2 + ]) + LDFLAGS="$saved_LDFLAGS" + ], [ + AC_MSG_RESULT([not found]) + $2 + ]) + CPPFLAGS="$saved_CPPFLAGS" + fi +]) diff --git a/m4/autoconf-archive/ax_lib_libkml.m4 b/m4/autoconf-archive/ax_lib_libkml.m4 new file mode 100755 index 0000000000..506c7a3eb1 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_libkml.m4 @@ -0,0 +1,277 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_libkml.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_LIBKML([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro tests whether Google's libkml library +# is available in particular version or +# newer. The generated configure script will support the following +# options: +# +# 1) Single-option usage: +# +# --with-libkml - yes, no or path to Google libkml installation prefix +# +# 2) Three-options usage (all options are required): +# +# --with-libkml=yes +# --with-libkml-inc - path to base directory with headers +# --with-libkml-lib - linker flags for +# +# This macro calls: +# +# AC_SUBST(LIBKML_CFLAGS) +# AC_SUBST(LIBKML_LDFLAGS) +# AC_SUBST(LIBKML_VERSION) - only if version requirement is used +# +# And sets: +# +# HAVE_LIBKML +# +# LICENSE +# +# Copyright (c) 2010 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_LIB_LIBKML], +[ + AC_ARG_WITH([libkml], + AC_HELP_STRING([--with-libkml=@<:@ARG@:>@], + [use Google libkml from given prefix (ARG=path); check standard prefixes (ARG=yes); disable (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -d /usr/local/include/kml ; then + libkml_prefix=/usr/local + elif test -d /usr/include/kml ; then + libkml_prefix=/usr + else + libkml_prefix="" + fi + libkml_requested="yes" + elif test -d "$withval"; then + libkml_prefix="$withval" + libkml_requested="yes" + else + libkml_prefix="" + libkml_requested="no" + fi + ], + [ + dnl Default behavior is implicit yes + if test -d /usr/local/include/kml ; then + libkml_prefix=/usr/local + elif test -d /usr/include/kml ; then + libkml_prefix=/usr + else + libkml_prefix="" + fi + ] + ) + + AC_ARG_WITH([libkml-inc], + AC_HELP_STRING([--with-libkml-inc=@<:@DIR@:>@], + [path to Google libkml headers] + ), + [libkml_include_dir="$withval"], + [libkml_include_dir=""] + ) + AC_ARG_WITH([libkml-lib], + AC_HELP_STRING([--with-libkml-lib=@<:@ARG@:>@], + [link options for Google libkml libraries] + ), + [libkml_lib_flags="$withval"], + [libkml_lib_flags=""] + ) + + LIBKML_CFLAGS="" + LIBKML_LDFLAGS="" + LIBKML_VERSION="" + + dnl + dnl Collect include/lib paths and flags + dnl + run_libkml_test="no" + + if test -n "$libkml_prefix"; then + libkml_include_dir="$libkml_prefix/include" + libkml_include_dir2="$libkml_prefix/include/kml" + if test "$libkml_prefix" = "/usr"; then + libkml_lib_flags="-lkmlengine -lkmldom -lkmlbase -lkmlconvenience" + else + libkml_lib_flags="-L$libkml_prefix/lib -lkmlengine -lkmldom -lkmlbase -lkmlconvenience" + fi + run_libkml_test="yes" + elif test "$libkml_requested" = "yes"; then + if test -n "$libkml_include_dir" -a -n "$libkml_lib_flags"; then + libkml_include_dir2="$libkml_include_dir/kml" + run_libkml_test="yes" + fi + else + run_libkml_test="no" + fi + + dnl + dnl Check libkml headers/libraries + dnl + if test "$run_libkml_test" = "yes"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$libkml_include_dir -I$libkml_include_dir2" + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libkml_lib_flags" + + dnl + dnl Check headers + dnl + AC_MSG_CHECKING([for Google libkml headers in $libkml_include_dir and $libkml_include_dir2]) + + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include + ]], + [[]] + )], + [ + LIBKML_CFLAGS="-I$libkml_include_dir -I$libkml_include_dir2" + libkml_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ + libkml_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check libraries + dnl + if test "$libkml_header_found" = "yes"; then + + AC_MSG_CHECKING([for Google libkml libraries]) + + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include + ]], + [[ +kmldom::KmlFactory* factory = kmldom::KmlFactory::GetFactory(); + ]] + )], + [ + LIBKML_LDFLAGS="$libkml_lib_flags" + libkml_lib_found="yes" + AC_MSG_RESULT([found]) + ], + [ + libkml_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + fi + + AC_MSG_CHECKING([for Google libkml]) + + if test "$run_libkml_test" = "yes"; then + if test "$libkml_header_found" = "yes" -a "$libkml_lib_found" = "yes"; then + + AC_SUBST([LIBKML_CFLAGS]) + AC_SUBST([LIBKML_LDFLAGS]) + + HAVE_LIBKML="yes" + else + HAVE_LIBKML="no" + fi + + AC_MSG_RESULT([$HAVE_LIBKML]) + + dnl + dnl Check version + dnl + if test "$HAVE_LIBKML" = "yes"; then + + libkml_version_req=ifelse([$1], [], [], [$1]) + + if test -n "$libkml_version_req"; then + + AC_MSG_CHECKING([if Google libkml version is >= $libkml_version_req]) + + if test -f "$libkml_include_dir2/base/version.h"; then + + libkml_major=`cat $libkml_include_dir2/base/version.h | \ + grep '^#define.*LIBKML_MAJOR_VERSION.*[0-9]$' | \ + sed -e 's/#define LIBKML_MAJOR_VERSION.//'` + + libkml_minor=`cat $libkml_include_dir2/base/version.h | \ + grep '^#define.*LIBKML_MINOR_VERSION.*[0-9]$' | \ + sed -e 's/#define LIBKML_MINOR_VERSION.//'` + + libkml_revision=`cat $libkml_include_dir2/base/version.h | \ + grep '^#define.*LIBKML_MICRO_VERSION.*[0-9]$' | \ + sed -e 's/#define LIBKML_MICRO_VERSION.//'` + + LIBKML_VERSION="$libkml_major.$libkml_minor.$libkml_revision" + AC_SUBST([LIBKML_VERSION]) + + dnl Decompose required version string and calculate numerical representation + libkml_version_req_major=`expr $libkml_version_req : '\([[0-9]]*\)'` + libkml_version_req_minor=`expr $libkml_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + libkml_version_req_revision=`expr $libkml_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$libkml_version_req_revision" = "x"; then + libkml_version_req_revision="0" + fi + + libkml_version_req_number=`expr $libkml_version_req_major \* 10000 \ + \+ $libkml_version_req_minor \* 100 \ + \+ $libkml_version_req_revision` + + dnl Calculate numerical representation of detected version + libkml_version_number=`expr $libkml_major \* 10000 \ + \+ $libkml_minor \* 100 \ + \+ $libkml_revision` + + libkml_version_check=`expr $libkml_version_number \>\= $libkml_version_req_number` + if test "$libkml_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Google libkml $LIBKML_VERSION, which is older than required. Possible compilation failure.]) + fi + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Missing header $libkml_include_dir2/base/bersion.hpp. Unable to determine Google libkml version.]) + fi + fi + fi + + else + HAVE_LIBKML="no" + AC_MSG_RESULT([$HAVE_LIBKML]) + + if test "$libkml_requested" = "yes"; then + AC_MSG_WARN([Google libkml support requested but headers or library not found. Specify valid prefix of libkml using --with-libkml=@<:@DIR@:>@ or provide include directory and linker flags using --with-libkml-inc and --with-libkml-lib]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_metis.m4 b/m4/autoconf-archive/ax_lib_metis.m4 new file mode 100755 index 0000000000..6f71cecb42 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_metis.m4 @@ -0,0 +1,119 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_metis.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_METIS([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the METIS library in the user specified +# location. The user may specify the location either by defining the +# environment variable METIS or by using the --with-metis option to +# configure. If the environment variable is defined it has precedent over +# everything else. If no location was specified then it searches in +# /usr/lib and /usr/local/lib for the library and in /usr/include and +# /usr/local/include for the header files. Upon successful completion the +# variables METIS_LIB and METIS_INCLUDE are set. +# +# ACTION-IF-FOUND is a list of shell commands to run if a METIS library is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is +# not found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_METIS. If ACTION-IF-NOT-FOUND is not specified then an error +# will be generated halting configure. +# +# LICENSE +# +# Copyright (c) 2008 Ben Bergen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([IMMDX_LIB_METIS], [AX_LIB_METIS]) +AC_DEFUN([AX_LIB_METIS], [ + AC_MSG_CHECKING(for METIS library) + AC_REQUIRE([AC_PROG_CC]) + # + # User hints... + # + AC_ARG_VAR([METIS], [METIS library location]) + AC_ARG_WITH([metis], + [AS_HELP_STRING([--with-metis], + [user defined path to METIS library])], + [ + if test -n "$METIS" ; then + AC_MSG_RESULT(yes) + with_metis=$METIS + elif test "$withval" != no ; then + AC_MSG_RESULT(yes) + with_metis=$withval + else + AC_MSG_RESULT(no) + fi + ], + [ + if test -n "$METIS" ; then + with_metis=$METIS + AC_MSG_RESULT(yes) + else + with_metis=/usr + if test ! -f "$with_metis/include/metis.h" ; then + with_metis=/usr/local + if test ! -f "$with_metis/include/metis.h" ; then + with_metis="" + AC_MSG_RESULT(failed) + else + AC_MSG_RESULT(yes) + fi + else + AC_MSG_RESULT(yes) + fi + fi + ]) + # + # locate METIS library + # + if test -n "$with_metis" ; then + old_CFLAGS=$CFLAGS + old_LDFLAGS=$LDFLAGS + CFLAGS="-I$with_metis/include" + LDFLAGS="-L$with_metis/lib" + + AC_LANG_SAVE + AC_LANG_C + + AC_CHECK_LIB(metis, METIS_PartMeshDual, + [metis_lib=yes], [metis_lib=yes], [-lm]) + AC_CHECK_HEADER(metis.h, [metis_h=yes], + [metis_h=no], [/* check */]) + + AC_LANG_RESTORE + + CFLAGS=$old_CFLAGS + LDFLAGS=$old_LDFLAGS + + AC_MSG_CHECKING(METIS in $with_metis) + if test "$metis_lib" = "yes" -a "$metis_h" = "yes" ; then + AC_SUBST(METIS_INCLUDE, [-I$with_metis/include]) + AC_SUBST(METIS_LIB, [-L$with_metis/lib]) + AC_MSG_RESULT(ok) + else + AC_MSG_RESULT(failed) + fi + fi + # + # + # + if test x = x"$METIS_LIB" ; then + ifelse([$2],,[AC_MSG_ERROR(Failed to find valid METIS library)],[$2]) + : + else + ifelse([$1],,[AC_DEFINE(HAVE_METIS,1,[Define if you have METIS library])],[$1]) + : + fi + ])dnl AX_LIB_METIS diff --git a/m4/autoconf-archive/ax_lib_mysql.m4 b/m4/autoconf-archive/ax_lib_mysql.m4 new file mode 100755 index 0000000000..2ae2a9ef0b --- /dev/null +++ b/m4/autoconf-archive/ax_lib_mysql.m4 @@ -0,0 +1,147 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_mysql.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_MYSQL([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of MySQL client library of +# particular version or newer. +# +# AX_LIB_MYSQL macro takes only one argument which is optional. If there +# is no required version passed, then macro does not run version test. +# +# The --with-mysql option takes one of three possible values: +# +# no - do not check for MySQL client library +# +# yes - do check for MySQL library in standard locations (mysql_config +# should be in the PATH) +# +# path - complete path to mysql_config utility, use this option if +# mysql_config can't be found in the PATH +# +# This macro calls: +# +# AC_SUBST(MYSQL_CFLAGS) +# AC_SUBST(MYSQL_LDFLAGS) +# AC_SUBST(MYSQL_VERSION) +# +# And sets: +# +# HAVE_MYSQL +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_LIB_MYSQL], +[ + AC_ARG_WITH([mysql], + AS_HELP_STRING([--with-mysql=@<:@ARG@:>@], + [use MySQL client library @<:@default=yes@:>@, optionally specify path to mysql_config] + ), + [ + if test "$withval" = "no"; then + want_mysql="no" + elif test "$withval" = "yes"; then + want_mysql="yes" + else + want_mysql="yes" + MYSQL_CONFIG="$withval" + fi + ], + [want_mysql="yes"] + ) + AC_ARG_VAR([MYSQL_CONFIG], [Full path to mysql_config program]) + + MYSQL_CFLAGS="" + MYSQL_LDFLAGS="" + MYSQL_VERSION="" + + dnl + dnl Check MySQL libraries + dnl + + if test "$want_mysql" = "yes"; then + + if test -z "$MYSQL_CONFIG" ; then + AC_PATH_PROGS([MYSQL_CONFIG], [mysql_config mysql_config5], [no]) + fi + + if test "$MYSQL_CONFIG" != "no"; then + MYSQL_CFLAGS="`$MYSQL_CONFIG --cflags`" + MYSQL_LDFLAGS="`$MYSQL_CONFIG --libs`" + + MYSQL_VERSION=`$MYSQL_CONFIG --version` + + found_mysql="yes" + else + found_mysql="no" + fi + fi + + dnl + dnl Check if required version of MySQL is available + dnl + + + mysql_version_req=ifelse([$1], [], [], [$1]) + + if test "$found_mysql" = "yes" -a -n "$mysql_version_req"; then + + AC_MSG_CHECKING([if MySQL version is >= $mysql_version_req]) + + dnl Decompose required version string of MySQL + dnl and calculate its number representation + mysql_version_req_major=`expr $mysql_version_req : '\([[0-9]]*\)'` + mysql_version_req_minor=`expr $mysql_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + mysql_version_req_micro=`expr $mysql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$mysql_version_req_micro" = "x"; then + mysql_version_req_micro="0" + fi + + mysql_version_req_number=`expr $mysql_version_req_major \* 1000000 \ + \+ $mysql_version_req_minor \* 1000 \ + \+ $mysql_version_req_micro` + + dnl Decompose version string of installed MySQL + dnl and calculate its number representation + mysql_version_major=`expr $MYSQL_VERSION : '\([[0-9]]*\)'` + mysql_version_minor=`expr $MYSQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'` + mysql_version_micro=`expr $MYSQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$mysql_version_micro" = "x"; then + mysql_version_micro="0" + fi + + mysql_version_number=`expr $mysql_version_major \* 1000000 \ + \+ $mysql_version_minor \* 1000 \ + \+ $mysql_version_micro` + + mysql_version_check=`expr $mysql_version_number \>\= $mysql_version_req_number` + if test "$mysql_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + fi + + if test "$found_mysql" = "yes" ; then + AC_DEFINE([HAVE_MYSQL], [1], + [Define to 1 if MySQL libraries are available]) + fi + + AC_SUBST([MYSQL_VERSION]) + AC_SUBST([MYSQL_CFLAGS]) + AC_SUBST([MYSQL_LDFLAGS]) +]) diff --git a/m4/autoconf-archive/ax_lib_mysqlcppconn.m4 b/m4/autoconf-archive/ax_lib_mysqlcppconn.m4 new file mode 100755 index 0000000000..2b1a92d71e --- /dev/null +++ b/m4/autoconf-archive/ax_lib_mysqlcppconn.m4 @@ -0,0 +1,181 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_mysqlcppconn.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_MYSQLCPPCONN([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the MySQL Connector/C++ libraries +# +# If no path to the installed library is given the macro searches under +# /usr, /usr/local, /opt and /opt/local. +# +# This macro calls: +# +# AC_SUBST(LIBMYSQLCPPCONN_CXXFLAGS) / AC_SUBST(LIBMYSQLCPPCONN_LDFLAGS) +# +# And sets: +# +# HAVE_LIBMYSQLCPPCONN +# +# Note that this library needs to link with either MySQL client library or +# MySQL Connector/C to work. The macros defined here don't take care of +# external dependencies so you have to do it on your own. See also +# AX_LIB_MYSQL macro. +# +# LICENSE +# +# Copyright (c) 2011 Xiyue Deng +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_LIB_MYSQLCPPCONN], +[ +AC_ARG_WITH([libmysqlcppconn], + [AS_HELP_STRING([--with-libmysqlcppconn@<:@=ARG@:>@], + [use libmysqlcppconn from a standard location (ARG=yes), + from the specified location (ARG=), + or disable if (ARG=no) + @<:@ARG=yes@:>@ ])], + [ + if test "x$withval" = "xno"; then + want_libmysqlcppconn="no" + elif test "x$withval" = "xyes"; then + want_libmysqlcppconn="yes" + else + want_libmysqlcppconn="yes" + ac_libmysqlcppconn_path="$withval" + fi + ], + [want_libmysqlcppconn="yes"]) + +AC_ARG_WITH([libmysqlcppconn-include], + [AS_HELP_STRING([--with-libmysqlcppconn-include=INCLUDE_DIR], + [Force given directory for libmysqlcppconn include path. Note that this will overwrite general library path setting.]) + ], [ + if test -d "$withval"; then + ac_libmysqlcppconn_include_path="$withval" + else + AC_MSG_ERROR([--with-libmysqlcppconn-include expected directory name]) + fi + ], + [ac_libmysqlcppconn_include_path=""] +) + +AC_ARG_WITH([libmysqlcppconn-lib], + [AS_HELP_STRING([--with-libmysqlcppconn-lib=LIB_DIR], + [Force given directory for libmysqlcppconn libraries. Note that this will overwrite general library path setting.]) + ], [ + if test -d "$withval"; then + ac_libmysqlcppconn_lib_path="$withval" + else + AC_MSG_ERROR([--with-libmysqlcppconn-lib expected directory name]) + fi + ], + [ac_libmysqlcppconn_lib_path=""] +) + +if test "x$want_libmysqlcppconn" = "xyes"; then + succeeded=no + + dnl On x86_64 systems check for system libraries in both lib64 and lib. + dnl The former is specified by FHS, but e.g. Debian does not adhere to + dnl this (as it rises problems for generic multi-arch support). + dnl The last entry in the list is chosen by default when no libraries + dnl are found, e.g. when only header-only libraries are installed! + libsubdirs="lib" + if test `uname -m` = x86_64; then + libsubdirs="lib lib64" + fi + + if test "x$ac_libmysqlcppconn_path" != "x"; then + for libsubdir in $libsubdirs ; do + if ls "$ac_libmysqlcppconn_path/$libsubdir/libmysqlcppconn"* >/dev/null 2>&1 ; then + LIBMYSQLCPPCONN_LDFLAGS="-L$ac_libmysqlcppconn_path/$libsubdir" + LIBMYSQLCPPCONN_CXXFLAGS="-I$ac_libmysqlcppconn_path/include" + break; + fi + done + elif test "x$cross_compiling" != yes; then + for ac_libmysqlcppconn_path_tmp in /usr /usr/local /opt /opt/local ; do + for libsubdir in $libsubdirs ; do + if ls "$ac_libmysqlcppconn_path_tmp/$libsubdir/libmysqlcppconn"* >/dev/null 2>&1 ; then + LIBMYSQLCPPCONN_LDFLAGS="-L$ac_libmysqlcppconn_path_tmp/$libsubdir" + LIBMYSQLCPPCONN_CXXFLAGS="-I$ac_libmysqlcppconn_path_tmp/include" + break; + fi + done + done + fi + + if test "x$ac_libmysqlcppconn_include_path" != "x" ; then + LIBMYSQLCPPCONN_CXXFLAGS="-I$ac_libmysqlcppconn_include_path" + fi + + if test "x$ac_libmysqlcppconn_lib_path" != "x" ; then + LIBMYSQLCPPCONN_LDFLAGS="-L$ac_libmysqlcppconn_lib_path" + fi + + CXXFLAGS_SAVED="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $LIBMYSQLCPPCONN_CXXFLAGS" + export CXXFLAGS + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LIBMYSQLCPPCONN_CXXFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $LIBMYSQLCPPCONN_LDFLAGS" + export LDFLAGS + + + AC_LANG_PUSH([C++]) + AC_CHECK_HEADERS([mysql_connection.h mysql_driver.h], [ + ax_cv_libmysqlcppconn_version_check=yes + ], [ + ax_cv_libmysqlcppconn_version_check=no + ] + ) + + AS_IF([test "x$ax_cv_libmysqlcppconn_version_check" != "xyes"], [ + AC_MSG_ERROR([Could not find working libmysqlcppconn $libmysqlcppconn_version_req installation.]) + ]) + + AC_CHECK_LIB([mysqlcppconn], [main], [ + LIBMYSQLCPPCONN_LDFLAGS="$LIBMYSQLCPPCONN_LDFLAGS -lmysqlcppconn" + succeeded=yes + ], [ + AC_MSG_ERROR([Could not find working libmysqlcppconn library.]) + ax_cv_libmysqlcppconn_link=no + ]) + + if test "x$succeeded" = "xyes"; then + AC_SUBST(LIBMYSQLCPPCONN_CXXFLAGS) + AC_SUBST(LIBMYSQLCPPCONN_LDFLAGS) + AC_DEFINE(HAVE_LIBMYSQLCPPCONN, , [define if libmysqlcppconn is available]) + ifelse([$1], , :, [$1]) + else + AC_MSG_NOTICE([[Could not detect the libmysqlcppconn installation. Please make sure you have a working libmysqlcppconn installation and specify its path with --with-libmysqlcppconn option.]]) + ifelse([$2], , :, [$2]) + fi + + CXXFLAGS="$CXXFLAGS_SAVED" + export CXXFLAGS + + CPPFLAGS="$CPPFLAGS_SAVED" + export CPPFLAGS + + LDFLAGS="$LDFLAGS_SAVED" + export LDFLAGS + +fi + +]) diff --git a/m4/autoconf-archive/ax_lib_netcdf4.m4 b/m4/autoconf-archive/ax_lib_netcdf4.m4 new file mode 100755 index 0000000000..e9dd487a02 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_netcdf4.m4 @@ -0,0 +1,277 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_netcdf4.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_NETCDF4([serial/parallel]) +# +# DESCRIPTION +# +# This macro provides tests of the availability of the NetCDF v4 library. +# +# The optional macro argument should be either 'serial' or 'parallel'. The +# macro will call nc-config to check the output of the '--has-pnetcdf' +# option and error out if the requested parallel isn't supported. +# +# If the optional argument is omitted, no check is made to see if NetCDF +# has parallel support. +# +# The macro adds a --with-netcdf4 option accepting one of three values: +# +# no - do not check for the NetCDF4 library. +# yes - do check for NetCDF4 library in standard locations. +# path - installation prefix for NetCDF version 4. +# +# If NetCDF4 is successfully found, this macro calls +# +# AC_SUBST(NETCDF4_VERSION) +# AC_SUBST(NETCDF4_CC) +# AC_SUBST(NETCDF4_CFLAGS) +# AC_SUBST(NETCDF4_CPPFLAGS) +# AC_SUBST(NETCDF4_LDFLAGS) +# AC_SUBST(NETCDF4_LIBS) +# AC_SUBST(NETCDF4_FC) +# AC_SUBST(NETCDF4_FFLAGS) +# AC_SUBST(NETCDF4_FLIBS) +# AC_DEFINE(HAVE_NETCDF4) +# +# It also sets +# +# with_netcdf4="yes" +# with_netcdf4_fortran="yes" (if NetCDF has Fortran support) +# with_netcdf4_parallel="yes" (if NetCDF has MPI support) +# +# If NetCDF4 is disabled or not found, this macros sets +# +# with_netcdf4="no" +# with_netcdf4_fortran="no" +# +# Note it does not set with_netcdf4_parallel in this case. +# +# Your configuration script can test $with_netcdf4 to take any further +# actions. NETCDF4_{C,CPP,LD}FLAGS may be used when building with C or +# C++. NETCDF4_F{FLAGS,LIBS} and NETCDF4_LDFLAGS should be used when +# building Fortran applications. +# +# To use the macro, one would code one of the following in "configure.ac" +# before AC_OUTPUT: +# +# 1) dnl Check for NetCDF4 support +# AX_LIB_NETCDF4() +# +# 2) dnl Check for serial NetCDF4 support +# AX_LIB_NETCDF4([serial]) +# +# 3) dnl Check for parallel NetCDF4 support +# AX_LIB_NETCDF4([parallel]) +# +# One could test $with_netcdf4 for the outcome or display it as follows +# +# echo "NetCDF v4 support: $with_netcdf4" +# +# One could also for example, override the default CC in "configure.ac" to +# enforce compilation with the compiler that NetCDF v4 was built with: +# +# AX_LIB_NETCDF4([parallel]) +# if test "$with_netcdf4" = "yes"; then +# CC="$NETCDF4_CC" +# else +# AC_MSG_ERROR([Unable to find NetCDF4, we need parallel NetCDF4.]) +# fi +# +# LICENSE +# +# Copyright (c) 2016 Timothy Brown +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_LIB_NETCDF4], [ + +AC_REQUIRE([AC_PROG_SED]) +AC_REQUIRE([AC_PROG_AWK]) +AC_REQUIRE([AC_PROG_GREP]) + +dnl Check first argument is one of the recognized values. +dnl Fail eagerly if is incorrect as this simplifies case statements below. +if test "m4_normalize(m4_default([$1],[]))" = "" ; then + netcdf4_requested_mode="serial" +elif test "m4_normalize(m4_default([$1],[]))" = "serial" ; then + netcdf4_requested_mode="serial" +elif test "m4_normalize(m4_default([$1],[]))" = "parallel"; then + netcdf4_requested_mode="parallel" +else + AC_MSG_ERROR([ +Unrecognized value for AX[]_LIB_NETCDF4 within configure.ac. +If supplied, argument 1 must be either 'serial' or 'parallel'. +]) +fi + +dnl Add a default --with-netcdf4 configuration option. +AC_ARG_WITH([netcdf4], + AS_HELP_STRING( + [--with-netcdf4=[yes/no/PATH]], + m4_case(m4_normalize([$1]), + [serial], [base directory of serial NetCDF4 installation], + [parallel], [base directory of parallel NetCDF4 installation], + [base directory of NetCDF4 installation]) + ), + [if test "$withval" = "no"; then + with_netcdf4="no" + elif test "$withval" = "yes"; then + with_netcdf4="yes" + else + with_netcdf4="yes" + NETCDF4_PREFIX="${withval}" + NC_CONFIG="${withval}/bin/nc-config" + fi], + [with_netcdf4="yes"] +) + +dnl Set defaults to blank +NETCDF4_CC="" +NETCDF4_VERSION="" +NETCDF4_CFLAGS="" +NETCDF4_CPPFLAGS="" +NETCDF4_LDFLAGS="" +NETCDF4_LIBS="" +NETCDF4_FC="" +NETCDF4_FFLAGS="" +NETCDF4_FLIBS="" + +dnl Try and find NetCDF4 tools and options. +if test "$with_netcdf4" = "yes"; then + if test -z "$NC_CONFIG"; then + dnl Check to see if NC_CONFIG is in the path. + AC_PATH_PROGS([NC_CONFIG], [nc-config], []) + NETCDF4_PREFIX=$(AS_DIRNAME([$(AS_DIRNAME(["$NC_CONFIG"]))])) + else + AC_MSG_CHECKING([Using provided NetCDF4 prefix]) + AC_MSG_RESULT([$NC_CONFIG]) + fi + + AC_MSG_CHECKING([for NetCDF4 libraries]) + + if test ! -f "$NC_CONFIG" || test ! -x "$NC_CONFIG"; then + AC_MSG_RESULT([no]) + AC_MSG_WARN([ + +Unable to locate NetCDF4 compilation helper script 'nc-config'. +Please specify --with-netcdf4= as the full path prefix +where NetCDF4 has been installed. +NetCDF4 support is being disabled (equivalent to --with-netcdf4=no). +]) + with_netcdf4="no" + with_netcdf4_fortran="no" + else + dnl Get the actual compiler used + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]1}') + if test "$NETCDF4_CC" = "ccache"; then + NETCDF4_CC=$(eval $NC_CONFIG --cc | $AWK '{print $[]2}') + fi + + dnl Look for version + NETCDF4_VERSION=$(eval $NC_CONFIG --version | $AWK '{print $[]2}') + + dnl Look for the CFLAGS + NETCDF4_CFLAGS=$(eval $NC_CONFIG --cflags) + + dnl Look for the LIBS and LDFLAGS + NETCDF4_tmp_clibs=$(eval $NC_CONFIG --libs) + + dnl Sort out the tmp libs based on their prefixes + for arg in $NETCDF4_tmp_clibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_LIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LIBS="$arg $NETCDF4_LIBS" + ;; + esac + done + + AC_MSG_RESULT([yes (version $[NETCDF4_VERSION])]) + + dnl See if we need (and have) parallel support + if test "$netcdf4_requested_mode" = "parallel" ; then + with_netcdf4_parallel=$(eval $NC_CONFIG --has-pnetcdf) + if test "$with_netcdf4_parallel" = "no" ; then + AC_MSG_ERROR([ +parallel NetCDF4 is not supported (while it was requested) +]) + fi + fi + + dnl See if we can compile + ax_lib_netcdf4_save_CC=$CC + ax_lib_netcdf4_save_CPPFLAGS=$CPPFLAGS + ax_lib_netcdf4_save_LIBS=$LIBS + ax_lib_netcdf4_save_LDFLAGS=$LDFLAGS + CC=$NETCDF4_CC + CFLAGS=$NETCDF4_CFLAGS + LIBS=$NETCDF4_LIBS + LDFLAGS=$NETCDF4_LDFLAGS + AC_CHECK_HEADER([netcdf.h], [ac_cv_netcdf4_h=yes], [ac_cv_netcdf4_h=no]) + AC_CHECK_LIB([netcdf], [nc_create], [ac_cv_libnetcdf4=yes], + [ac_cv_libnetcdf4=no]) + if test "$ac_cv_netcdf4_h" = "no" && \ + test "$ac_cv_libnetcdf4" = "no" ; then + AC_MSG_WARN([Unable to compile NetCDF4 test program]) + fi + + CC=$ax_lib_netcdf4_save_CC + CFLAGS=$ax_lib_netcdf4_save_CFLAGS + LIBS=$ax_lib_netcdf4_save_LIBS + LDFLAGS=$ax_lib_hdf5_save_LDFLAGS + + + AC_MSG_CHECKING([for matching NetCDF4 Fortran libraries]) + NF_CONFIG="${NETCDF4_PREFIX}/bin/nf-config" + if test ! -f "$NF_CONFIG" || test ! -x "$NF_CONFIG"; then + AC_MSG_RESULT([no]) + with_netcdf4_fortran="no" + else + NETCDF_FVERSION=$(eval $NF_CONFIG --version | $AWK '{print $[]2}') + AC_MSG_RESULT([yes (version $[NETCDF_FVERSION])]) + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]1}') + if test "$NETCDF4_FC" = "ccache"; then + NETCDF4_FC=$(eval $NF_CONFIG --fc | $AWK '{print $[]2}') + fi + dnl Look for the FFLAGS + NETCDF4_FFLAGS=$(eval $NC_CONFIG --fflags) + + dnl Look for the FLIBS and LDFLAGS + NETCDF4_tmp_flibs=$(eval $NC_CONFIG --flibs) + + dnl Sort out the tmp libs based on their prefixes + for arg in $NETCDF4_tmp_flibs ; do + case "$arg" in + -L*) echo $NETCDF4_LDFLAGS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_LDFLAGS="$arg $NETCDF4_LDFLAGS" + ;; + -l*) echo $NETCDF4_FLIBS | $GREP -e "$arg" 2>&1 >/dev/null \ + || NETCDF4_FLIBS="$arg $NETCDF4_FLIBS" + ;; + esac + done + with_netcdf4_fortran="yes" + fi + + AC_SUBST([NETCDF4_VERSION]) + AC_SUBST([NETCDF4_CC]) + AC_SUBST([NETCDF4_CFLAGS]) + AC_SUBST([NETCDF4_LDFLAGS]) + AC_SUBST([NETCDF4_LIBS]) + AC_SUBST([NETCDF4_FC]) + AC_SUBST([NETCDF4_FFLAGS]) + AC_SUBST([NETCDF4_FLIBS]) + AC_DEFINE([HAVE_NETCDF4], [1], [Defined if you have NETCDF4 support]) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_lib_nettle.m4 b/m4/autoconf-archive/ax_lib_nettle.m4 new file mode 100755 index 0000000000..47185b25c4 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_nettle.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_nettle.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_NETTLE([yes|no|auto]) +# +# DESCRIPTION +# +# Searches for the 'nettle' library with the --with... option. +# +# If found, define HAVE_NETTLE and macro NETTLE_LIBS. Also defines +# NETTLE_WITH_ for the algorithms found available. Possible +# algorithms: AES ARCTWO BLOWFISH CAST128 DES DES3 SERPENT TWOFISH MD2 MD4 +# MD5 SHA1 SHA256. +# +# The argument is used if no --with...-nettle option is set. Value "yes" +# requires the configuration by default. Value "no" does not require it by +# default. Value "auto" configures the library only if available. +# +# See also AX_LIB_BEECRYPT, AX_LIB_CRYPTO, and AX_LIB_GCRYPT. +# +# LICENSE +# +# Copyright (c) 2009 Fabien Coelho +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +# AX_CHECK_NETTLE_ALGO([name],[function]) +AC_DEFUN([AX_CHECK_NETTLE_ALGO],[ + AC_CHECK_LIB([nettle], [nettle_$2], + AC_DEFINE([NETTLE_WITH_$1],[1],[Algorithm $1 in nettle library])) +]) + +# AX_LIB_NETTLE([yes|no|auto]) +AC_DEFUN([AX_LIB_NETTLE],[ + AC_MSG_CHECKING([whether nettle is enabled]) + AC_ARG_WITH([nettle],[ --with-nettle require nettle library + --without-nettle disable nettle library],[ + AC_MSG_RESULT([$withval]) + ax_with_nettle=$withval + ],[ + AC_MSG_RESULT([$1]) + ax_with_nettle=$1 + ]) + if test "$ax_with_nettle" = "yes" -o "$ax_with_nettle" = "auto" ; then + AC_CHECK_HEADERS([nettle/nettle-meta.h],[ + AC_CHECK_LIB([nettle],[nettle_base64_encode_final],[ + AC_DEFINE([HAVE_NETTLE],[1],[Nettle library is available]) + HAVE_NETTLE=1 + AC_SUBST([NETTLE_LIBS],[-lnettle]) + # ciphers + AX_CHECK_NETTLE_ALGO([AES],[aes_encrypt]) + AX_CHECK_NETTLE_ALGO([ARCTWO],[arctwo_encrypt]) + AX_CHECK_NETTLE_ALGO([BLOWFISH],[blowfish_encrypt]) + AX_CHECK_NETTLE_ALGO([CAST128],[cast128_encrypt]) + AX_CHECK_NETTLE_ALGO([DES],[des_encrypt]) + AX_CHECK_NETTLE_ALGO([DES3],[des3_encrypt]) + AX_CHECK_NETTLE_ALGO([SERPENT],[serpent_encrypt]) + AX_CHECK_NETTLE_ALGO([TWOFISH],[twofish_encrypt]) + # digests + AX_CHECK_NETTLE_ALGO([MD2],[md2_digest]) + AX_CHECK_NETTLE_ALGO([MD4],[md4_digest]) + AX_CHECK_NETTLE_ALGO([MD5],[md5_digest]) + AX_CHECK_NETTLE_ALGO([SHA1],[sha1_digest]) + AX_CHECK_NETTLE_ALGO([SHA256],[sha256_digest]) + ]) + ]) + # complain only if explicitly required + if test "$ax_with_nettle" = "yes" -a "x$HAVE_NETTLE" = "x" ; then + AC_MSG_ERROR([cannot configure required nettle library]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_nokalva.m4 b/m4/autoconf-archive/ax_lib_nokalva.m4 new file mode 100755 index 0000000000..b64535c43a --- /dev/null +++ b/m4/autoconf-archive/ax_lib_nokalva.m4 @@ -0,0 +1,76 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_nokalva.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_NOKALVA([ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# This macro will check for the existence of OSS Nokalva +# (http://www.oss.com/products/). It does this by checking for the header +# file asn1.h and the cppsoed library object file. A --with-nokalva option +# is supported as well. The following output variables are set with +# AC_SUBST: +# +# NOKALVA_CPPFLAGS +# NOKALVA_LDFLAGS +# NOKALVA_LIBS +# +# You can use them like this in Makefile.am: +# +# AM_CPPFLAGS = $(NOKALVA_CPPFLAGS) +# AM_LDFLAGS = $(NOKALVA_LDFLAGS) +# program_LDADD = $(NOKALVA_LIBS) +# +# Additionally, the C preprocessor symbol HAVE_NOKALVA will be defined +# with AC_DEFINE if Nokalva is available. +# +# LICENSE +# +# Copyright (c) 2009 Krzysztof Burghardt +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AC_DEFUN([AX_LIB_NOKALVA], [ + AH_TEMPLATE([HAVE_NOKALVA], [Define if Nokalva is available]) + AC_ARG_WITH(nokalva, [ --with-nokalva=DIR prefix for Nokalva library files and headers], [ + if test "$withval" = "no"; then + ac_nokalva_path= + $2 + elif test "$withval" = "yes"; then + ac_nokalva_path=/usr + else + ac_nokalva_path="$withval" + fi + ],[ac_nokalva_path=/usr]) + if test "$ac_nokalva_path" != ""; then + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$ac_nokalva_path/include" + AC_CHECK_HEADER([asn1.h], [ + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$ac_nokalva_path/lib" + AC_CHECK_LIB(cppsoed, ossMalloc, [ + AC_SUBST(NOKALVA_CPPFLAGS, [-I$ac_nokalva_path/include]) + AC_SUBST(NOKALVA_LDFLAGS, [-L$ac_nokalva_path/lib]) + AC_SUBST(NOKALVA_LIBS, ["-ldl -lcppsoed -losscpp"]) + AC_DEFINE([HAVE_NOKALVA]) + $1 + ], [ + : + $2 + ], [-ldl]) + LDFLAGS="$saved_LDFLAGS" + ], [ + AC_MSG_RESULT([not found]) + $2 + ]) + CPPFLAGS="$saved_CPPFLAGS" + fi +]) diff --git a/m4/autoconf-archive/ax_lib_oracle_occi.m4 b/m4/autoconf-archive/ax_lib_oracle_occi.m4 new file mode 100755 index 0000000000..25adbafadf --- /dev/null +++ b/m4/autoconf-archive/ax_lib_oracle_occi.m4 @@ -0,0 +1,320 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_oracle_occi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_ORACLE_OCCI([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Oracle OCCI API of +# particular version or newer. This macros checks for Oracle OCCI headers +# and libraries and defines compilation flags. +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-occi -- path to ORACLE_HOME directory +# +# 2) Two-options usage (both options are required): +# +# --with-occi-include -- path to directory with OCCI headers +# --with-occi-lib -- path to directory with OCCI libraries +# +# NOTE: These options described above do not take yes|no values. If 'yes' +# value is passed, then WARNING message will be displayed, 'no' value, as +# well as the --without-occi-* variations will cause the macro to not +# check anything. +# +# This macro calls: +# +# AC_SUBST(ORACLE_OCCI_CPPFLAGS) +# AC_SUBST(ORACLE_OCCI_LDFLAGS) +# AC_SUBST(ORACLE_OCCI_VERSION) +# +# And sets: +# +# HAVE_ORACLE_OCCI +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# Copyright (c) 2012 Krzysztof Burghardt +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_LIB_ORACLE_OCCI], +[ + AC_ARG_WITH([occi], + AS_HELP_STRING([--with-occi=@<:@ARG@:>@], + [use Oracle OCCI API from given Oracle home (ARG=path); use existing ORACLE_HOME (ARG=yes); disable Oracle OCCI support (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -n "$ORACLE_HOME"; then + oracle_home_dir="$ORACLE_HOME" + else + oracle_home_dir="" + fi + elif test -d "$withval"; then + oracle_home_dir="$withval" + else + oracle_home_dir="" + fi + ], + [ + if test -n "$ORACLE_HOME"; then + oracle_home_dir="$ORACLE_HOME" + else + oracle_home_dir="" + fi + ] + ) + + AC_ARG_WITH([occi-include], + AS_HELP_STRING([--with-occi-include=@<:@DIR@:>@], + [use Oracle OCCI API headers from given path] + ), + [oracle_home_include_dir="$withval"], + [oracle_home_include_dir=""] + ) + AC_ARG_WITH([occi-lib], + AS_HELP_STRING([--with-occi-lib=@<:@DIR@:>@], + [use Oracle OCCI API libraries from given path] + ), + [oracle_home_lib_dir="$withval"], + [oracle_home_lib_dir=""] + ) + + ORACLE_OCCI_CPPFLAGS="" + ORACLE_OCCI_LDFLAGS="" + ORACLE_OCCI_VERSION="" + + dnl + dnl Collect include/lib paths + dnl + want_oracle_but_no_path="no" + + if test -n "$oracle_home_dir"; then + + if test "$oracle_home_dir" != "no" -a "$oracle_home_dir" != "yes"; then + dnl ORACLE_HOME path provided + + dnl Primary path to OCCI headers, available in Oracle>=10 + oracle_include_dir="$oracle_home_dir/rdbms/public" + + dnl Secondary path to OCCI headers used by older versions + oracle_include_dir2="$oracle_home_dir/rdbms/demo" + + dnl Library path + oracle_lib_dir="$oracle_home_dir/lib" + elif test "$oracle_home_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + + elif test -n "$oracle_home_include_dir" -o -n "$oracle_home_lib_dir"; then + + if test "$oracle_home_include_dir" != "no" -a "$oracle_home_include_dir" != "yes"; then + oracle_include_dir="$oracle_home_include_dir" + elif test "$oracle_home_include_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + + if test "$oracle_home_lib_dir" != "no" -a "$oracle_home_lib_dir" != "yes"; then + oracle_lib_dir="$oracle_home_lib_dir" + elif test "$oracle_home_lib_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + fi + + if test "$want_oracle_but_no_path" = "yes"; then + AC_MSG_WARN([Oracle support is requested but no Oracle paths have been provided. \ +Please, locate Oracle directories using --with-occi or \ +--with-occi-include and --with-occi-lib options.]) + fi + + dnl + dnl Check OCCI files + dnl + if test -n "$oracle_include_dir" -a -n "$oracle_lib_dir"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$oracle_include_dir" + + dnl Additional path for older Oracle installations + if test -n "$oracle_include_dir2"; then + CPPFLAGS="$CPPFLAGS -I$oracle_include_dir2" + fi + + dnl Depending on later Oracle version detection, + dnl -lnnz11 flag might be removed for older Oracle < 10.x + saved_LDFLAGS="$LDFLAGS" + occi_ldflags="-L$oracle_lib_dir -lclntsh -lnnz11 -locci -lociei" + LDFLAGS="$LDFLAGS $occi_ldflags" + + dnl + dnl Check OCCI headers + dnl + AC_MSG_CHECKING([for Oracle OCCI headers in $oracle_include_dir]) + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +#if defined(OCCI_MAJOR_VERSION) +#if OCCI_MAJOR_VERSION == 10 && OCCI_MINOR_VERSION == 2 +// Oracle 10.2 detected +#endif +#elif defined(OCCI_V7_SYNTAX) +// OK, older Oracle detected +// TODO - mloskot: find better macro to check for older versions; +#else +# error Oracle occi.h header not found +#endif + ]] + )], + [ + ORACLE_OCCI_CPPFLAGS="-I$oracle_include_dir" + + if test -n "$oracle_include_dir2"; then + ORACLE_OCCI_CPPFLAGS="$ORACLE_OCCI_CPPFLAGS -I$oracle_include_dir2" + fi + + occi_header_found="yes" + AC_MSG_RESULT([yes]) + ], + [ + occi_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check OCCI libraries + dnl + if test "$occi_header_found" = "yes"; then + + AC_MSG_CHECKING([for Oracle OCCI libraries in $oracle_lib_dir]) + + AC_LANG_PUSH(C++) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +oracle::occi::Environment *env; +env = oracle::occi::Environment::createEnvironment(); + ]] + )], + [ + ORACLE_OCCI_LDFLAGS="$occi_ldflags" + occi_lib_found="yes" + AC_MSG_RESULT([yes]) + ], + [ + occi_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + fi + + dnl + dnl Check required version of Oracle is available + dnl + oracle_version_req=ifelse([$1], [], [], [$1]) + + if test "$occi_header_found" = "yes" -a "$occi_lib_found" = "yes" -a \ + -n "$oracle_version_req"; then + + oracle_version_major=`cat $oracle_include_dir/oci.h \ + | grep '#define.*OCI_MAJOR_VERSION.*' \ + | sed -e 's/#define OCI_MAJOR_VERSION *//' \ + | sed -e 's/ *\/\*.*\*\///'` + + oracle_version_minor=`cat $oracle_include_dir/oci.h \ + | grep '#define.*OCI_MINOR_VERSION.*' \ + | sed -e 's/#define OCI_MINOR_VERSION *//' \ + | sed -e 's/ *\/\*.*\*\///'` + + AC_MSG_CHECKING([if Oracle OCCI version is >= $oracle_version_req]) + + if test -n "$oracle_version_major" -a -n $"oracle_version_minor"; then + + ORACLE_OCCI_VERSION="$oracle_version_major.$oracle_version_minor" + + dnl Decompose required version string of Oracle + dnl and calculate its number representation + oracle_version_req_major=`expr $oracle_version_req : '\([[0-9]]*\)'` + oracle_version_req_minor=`expr $oracle_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + + oracle_version_req_number=`expr $oracle_version_req_major \* 1000000 \ + \+ $oracle_version_req_minor \* 1000` + + dnl Calculate its number representation + oracle_version_number=`expr $oracle_version_major \* 1000000 \ + \+ $oracle_version_minor \* 1000` + + oracle_version_check=`expr $oracle_version_number \>\= $oracle_version_req_number` + if test "$oracle_version_check" = "1"; then + + oracle_version_checked="yes" + AC_MSG_RESULT([yes]) + + dnl Add -lnnz10 flag to Oracle >= 10.x + AC_MSG_CHECKING([for Oracle version >= 10.x and < 11.x to use -lnnz10 flag]) + oracle_nnz10_check=`expr \( $oracle_version_number \>\= 10 \* 1000000 \) \& \( $oracle_version_number \< 11 \* 1000000 \)` + if test "$oracle_nnz10_check" = "1"; then + ORACLE_OCCI_LDFLAGS="$ORACLE_OCCI_LDFLAGS -lnnz10" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + dnl Add -lnnz11 flag to Oracle >= 11.x + AC_MSG_CHECKING([for Oracle version >= 11.x to use -lnnz11 flag]) + oracle_nnz10_check=`expr $oracle_version_number \>\= 11 \* 1000000` + if test "$oracle_nnz10_check" = "1"; then + ORACLE_OCCI_LDFLAGS="$ORACLE_OCCI_LDFLAGS -lnnz11" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + else + oracle_version_checked="no" + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Oracle $ORACLE_OCCI_VERSION found, but required version is $oracle_version_req]) + fi + else + ORACLE_OCCI_VERSION="UNKNOWN" + AC_MSG_RESULT([no]) + AC_MSG_WARN([Oracle version unknown, probably OCCI older than 10.2 is available]) + fi + fi + + AC_MSG_CHECKING([if Oracle support is enabled]) + + if test "$occi_header_found" = "yes" -a "$occi_lib_found" = "yes"; then + + AC_SUBST([ORACLE_OCCI_VERSION]) + AC_SUBST([ORACLE_OCCI_CPPFLAGS]) + AC_SUBST([ORACLE_OCCI_LDFLAGS]) + + HAVE_ORACLE_OCCI="yes" + else + HAVE_ORACLE_OCCI="no" + fi + + AC_MSG_RESULT([$HAVE_ORACLE_OCCI]) +]) diff --git a/m4/autoconf-archive/ax_lib_oracle_oci.m4 b/m4/autoconf-archive/ax_lib_oracle_oci.m4 new file mode 100755 index 0000000000..a08a7b0f0b --- /dev/null +++ b/m4/autoconf-archive/ax_lib_oracle_oci.m4 @@ -0,0 +1,324 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_oracle_oci.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_ORACLE_OCI([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Oracle OCI API of +# particular version or newer. This macros checks for Oracle OCI headers +# and libraries and defines compilation flags. +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-oci -- path to ORACLE_HOME directory +# +# 2) Two-options usage (both options are required): +# +# --with-oci-include -- path to directory with OCI headers +# --with-oci-lib -- path to directory with OCI libraries +# +# NOTE: These options described above do not take yes|no values. If 'yes' +# value is passed, then WARNING message will be displayed, 'no' value, as +# well as the --without-oci-* variations will cause the macro to not check +# anything. +# +# This macro calls: +# +# AC_SUBST(ORACLE_OCI_CFLAGS) +# AC_SUBST(ORACLE_OCI_LDFLAGS) +# AC_SUBST(ORACLE_OCI_VERSION) +# +# And sets: +# +# HAVE_ORACLE_OCI +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# Copyright (c) 2015 Joost van Baal-Ilic +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 16 + +AC_DEFUN([AX_LIB_ORACLE_OCI], +[ + AC_ARG_WITH([oci], + AS_HELP_STRING([--with-oci=@<:@ARG@:>@], + [use Oracle OCI API from given Oracle home (ARG=path); use existing ORACLE_HOME (ARG=yes); disable Oracle OCI support (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -n "$ORACLE_HOME"; then + oracle_home_dir="$ORACLE_HOME" + else + oracle_home_dir="" + fi + elif test -d "$withval"; then + oracle_home_dir="$withval" + else + oracle_home_dir="" + fi + ], + [ + if test -n "$ORACLE_HOME"; then + oracle_home_dir="$ORACLE_HOME" + else + oracle_home_dir="" + fi + ] + ) + + AC_ARG_WITH([oci-include], + AS_HELP_STRING([--with-oci-include=@<:@DIR@:>@], + [use Oracle OCI API headers from given path] + ), + [oracle_home_include_dir="$withval"], + [oracle_home_include_dir=""] + ) + AC_ARG_WITH([oci-lib], + AS_HELP_STRING([--with-oci-lib=@<:@DIR@:>@], + [use Oracle OCI API libraries from given path] + ), + [oracle_home_lib_dir="$withval"], + [oracle_home_lib_dir=""] + ) + + ORACLE_OCI_CFLAGS="" + ORACLE_OCI_LDFLAGS="" + ORACLE_OCI_VERSION="" + + dnl + dnl Collect include/lib paths + dnl + want_oracle_but_no_path="no" + + if test -n "$oracle_home_dir"; then + + if test "$oracle_home_dir" != "no" -a "$oracle_home_dir" != "yes"; then + dnl ORACLE_HOME path provided + + dnl Primary path to OCI headers, available in Oracle>=10 + oracle_include_dir="$oracle_home_dir/rdbms/public" + + dnl Secondary path to OCI headers used by older versions + oracle_include_dir2="$oracle_home_dir/rdbms/demo" + + dnl Library path + oracle_lib_dir="$oracle_home_dir/lib" + elif test "$oracle_home_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + + elif test -n "$oracle_home_include_dir" -o -n "$oracle_home_lib_dir"; then + + if test "$oracle_home_include_dir" != "no" -a "$oracle_home_include_dir" != "yes"; then + oracle_include_dir="$oracle_home_include_dir" + elif test "$oracle_home_include_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + + if test "$oracle_home_lib_dir" != "no" -a "$oracle_home_lib_dir" != "yes"; then + oracle_lib_dir="$oracle_home_lib_dir" + elif test "$oracle_home_lib_dir" = "yes"; then + want_oracle_but_no_path="yes" + fi + fi + + if test "$want_oracle_but_no_path" = "yes"; then + AC_MSG_WARN([Oracle support is requested but no Oracle paths have been provided. \ +Please, locate Oracle directories using --with-oci or \ +--with-oci-include and --with-oci-lib options.]) + fi + + dnl + dnl Check OCI files + dnl + if test -n "$oracle_include_dir" -a -n "$oracle_lib_dir"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$oracle_include_dir" + + dnl Additional path for older Oracle installations + if test -n "$oracle_include_dir2"; then + CPPFLAGS="$CPPFLAGS -I$oracle_include_dir2" + fi + + dnl Depending on later Oracle version detection, + dnl -lnnz10 flag might be removed for older Oracle < 10.x + saved_LDFLAGS="$LDFLAGS" + saved_LIBS="$LIBS" + oci_ldflags="-L$oracle_lib_dir" + oci_libs="-lclntsh" + LDFLAGS="$LDFLAGS $oci_ldflags" + LIBS="$LIBS $oci_libs" + + dnl + dnl Check OCI headers + dnl + AC_MSG_CHECKING([for Oracle OCI headers in $oracle_include_dir]) + + AC_LANG_PUSH(C) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +#if defined(OCI_MAJOR_VERSION) +#if OCI_MAJOR_VERSION == 10 && OCI_MINOR_VERSION == 2 +/* Oracle 10.2 detected */ +#endif +#elif defined(OCI_V7_SYNTAX) +/* OK, older Oracle detected */ +/* TODO - mloskot: find better macro to check for older versions; */ +#else +# error Oracle oci.h header not found +#endif + ]] + )], + [ + ORACLE_OCI_CFLAGS="-I$oracle_include_dir" + + if test -n "$oracle_include_dir2"; then + ORACLE_OCI_CFLAGS="$ORACLE_OCI_CFLAGS -I$oracle_include_dir2" + fi + + oci_header_found="yes" + AC_MSG_RESULT([yes]) + ], + [ + oci_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C]) + + dnl + dnl Check OCI libraries + dnl + if test "$oci_header_found" = "yes"; then + + AC_MSG_CHECKING([for Oracle OCI libraries in $oracle_lib_dir]) + + AC_LANG_PUSH(C) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +OCIEnv* envh = 0; +OCIEnvCreate(&envh, OCI_DEFAULT, 0, 0, 0, 0, 0, 0); +if (envh) OCIHandleFree(envh, OCI_HTYPE_ENV); + ]] + )], + [ + ORACLE_OCI_LDFLAGS="$oci_ldflags $oci_libs" + oci_lib_found="yes" + AC_MSG_RESULT([yes]) + ], + [ + oci_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + LIBS="$saved_LIBS" + fi + + dnl + dnl Check required version of Oracle is available + dnl + oracle_version_req=ifelse([$1], [], [], [$1]) + + if test "$oci_header_found" = "yes" -a "$oci_lib_found" = "yes" -a \ + -n "$oracle_version_req"; then + + oracle_version_major=`cat $oracle_include_dir/oci.h \ + | grep '#define.*OCI_MAJOR_VERSION.*' \ + | sed -e 's/#define OCI_MAJOR_VERSION *//' \ + | sed -e 's/ *\/\*.*\*\///'` + + oracle_version_minor=`cat $oracle_include_dir/oci.h \ + | grep '#define.*OCI_MINOR_VERSION.*' \ + | sed -e 's/#define OCI_MINOR_VERSION *//' \ + | sed -e 's/ *\/\*.*\*\///'` + + AC_MSG_CHECKING([if Oracle OCI version is >= $oracle_version_req]) + + if test -n "$oracle_version_major" -a -n $"oracle_version_minor"; then + + ORACLE_OCI_VERSION="$oracle_version_major.$oracle_version_minor" + + dnl Decompose required version string of Oracle + dnl and calculate its number representation + oracle_version_req_major=`expr $oracle_version_req : '\([[0-9]]*\)'` + oracle_version_req_minor=`expr $oracle_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + + oracle_version_req_number=`expr $oracle_version_req_major \* 1000000 \ + \+ $oracle_version_req_minor \* 1000` + + dnl Calculate its number representation + oracle_version_number=`expr $oracle_version_major \* 1000000 \ + \+ $oracle_version_minor \* 1000` + + oracle_version_check=`expr $oracle_version_number \>\= $oracle_version_req_number` + if test "$oracle_version_check" = "1"; then + + oracle_version_checked="yes" + AC_MSG_RESULT([yes]) + + dnl Add -lnnz10 flag to Oracle = 10.x + AC_MSG_CHECKING([for Oracle version = 10.x to use -lnnz10 flag]) + oracle_nnz_check=`expr $oracle_version_major \= 10` + if test "$oracle_nnz_check" = "1"; then + ORACLE_OCI_LDFLAGS="$ORACLE_OCI_LDFLAGS -lnnz10" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + dnl Add -lnnz12 flag to Oracle = 12.x + AC_MSG_CHECKING([for Oracle version = 12.x to use -lnnz12 flag]) + oracle_nnz_check=`expr $oracle_version_major \= 12` + if test "$oracle_nnz_check" = "1"; then + ORACLE_OCI_LDFLAGS="$ORACLE_OCI_LDFLAGS -lnnz12" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + else + oracle_version_checked="no" + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Oracle $ORACLE_OCI_VERSION found, but required version is $oracle_version_req]) + fi + else + ORACLE_OCI_VERSION="UNKNOWN" + AC_MSG_RESULT([no]) + AC_MSG_WARN([Oracle version unknown, probably OCI older than 10.2 is available]) + fi + fi + + AC_MSG_CHECKING([if Oracle support is enabled]) + + if test "$oci_header_found" = "yes" -a "$oci_lib_found" = "yes"; then + + AC_SUBST([ORACLE_OCI_VERSION]) + AC_SUBST([ORACLE_OCI_CFLAGS]) + AC_SUBST([ORACLE_OCI_LDFLAGS]) + + HAVE_ORACLE_OCI="yes" + else + HAVE_ORACLE_OCI="no" + fi + + AC_MSG_RESULT([$HAVE_ORACLE_OCI]) +]) diff --git a/m4/autoconf-archive/ax_lib_orbit2.m4 b/m4/autoconf-archive/ax_lib_orbit2.m4 new file mode 100755 index 0000000000..b386e0c233 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_orbit2.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_orbit2.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_ORBIT2([VERSION],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Checks for minimum Orbit2 library version VERSION. If successful +# executes ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# Defines ORBIT2_LIBS and ORBIT2_CFLAGS. +# +# A simple example: +# +# AX_LIB_ORBIT2([2.14.16],,[ +# AC_MSG_ERROR([Your system lacks of orbit2 >= 2.14.16]) +# ]) +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_LIB_ORBIT2], [ + AX_PATH_GENERIC([orbit2],[$1],'s/^ORBit2\ \+//',[$2],[$3]) +]) diff --git a/m4/autoconf-archive/ax_lib_postgresql.m4 b/m4/autoconf-archive/ax_lib_postgresql.m4 new file mode 100755 index 0000000000..0aca79551f --- /dev/null +++ b/m4/autoconf-archive/ax_lib_postgresql.m4 @@ -0,0 +1,164 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_POSTGRESQL([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of PostgreSQL 'libpq' library +# of particular version or newer. +# +# AX_LIB_POSTGRESQL macro takes only one argument which is optional. If +# there is no required version passed, then macro does not run version +# test. +# +# The --with-postgresql option takes one of three possible values: +# +# no - do not check for PostgreSQL client library +# +# yes - do check for PostgreSQL library in standard locations (pg_config +# should be in the PATH) +# +# path - complete path to pg_config utility, use this option if pg_config +# can't be found in the PATH +# +# This macro calls: +# +# AC_SUBST(POSTGRESQL_CPPFLAGS) +# AC_SUBST(POSTGRESQL_LDFLAGS) +# AC_SUBST(POSTGRESQL_LIBS) +# AC_SUBST(POSTGRESQL_VERSION) +# +# And sets: +# +# HAVE_POSTGRESQL +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# Copyright (c) 2014 Sree Harsha Totakura +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +AC_DEFUN([AX_LIB_POSTGRESQL], +[ + AC_ARG_WITH([postgresql], + AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@], + [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config] + ), + [ + if test "$withval" = "no"; then + want_postgresql="no" + elif test "$withval" = "yes"; then + want_postgresql="yes" + else + want_postgresql="yes" + PG_CONFIG="$withval" + fi + ], + [want_postgresql="yes"] + ) + + POSTGRESQL_CPPFLAGS="" + POSTGRESQL_LDFLAGS="" + POSTGRESQL_LIBS="" + POSTGRESQL_VERSION="" + + dnl + dnl Check PostgreSQL libraries (libpq) + dnl + + if test "$want_postgresql" = "yes"; then + + if test -z "$PG_CONFIG" -o test; then + AC_PATH_PROG([PG_CONFIG], [pg_config], []) + fi + + if test ! -x "$PG_CONFIG"; then + AC_MSG_ERROR([$PG_CONFIG does not exist or it is not an executable file]) + PG_CONFIG="no" + found_postgresql="no" + fi + + if test "$PG_CONFIG" != "no"; then + AC_MSG_CHECKING([for PostgreSQL libraries]) + + POSTGRESQL_CPPFLAGS="-I`$PG_CONFIG --includedir`" + POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir`" + POSTGRESQL_LIBS="-lpq" + POSTGRESQL_VERSION=`$PG_CONFIG --version | sed -e 's#PostgreSQL ##'` + + AC_DEFINE([HAVE_POSTGRESQL], [1], + [Define to 1 if PostgreSQL libraries are available]) + + found_postgresql="yes" + AC_MSG_RESULT([yes]) + else + found_postgresql="no" + AC_MSG_RESULT([no]) + fi + fi + + dnl + dnl Check if required version of PostgreSQL is available + dnl + + + postgresql_version_req=ifelse([$1], [], [], [$1]) + + if test "$found_postgresql" = "yes" -a -n "$postgresql_version_req"; then + + AC_MSG_CHECKING([if PostgreSQL version is >= $postgresql_version_req]) + + dnl Decompose required version string of PostgreSQL + dnl and calculate its number representation + postgresql_version_req_major=`expr $postgresql_version_req : '\([[0-9]]*\)'` + postgresql_version_req_minor=`expr $postgresql_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + postgresql_version_req_micro=`expr $postgresql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$postgresql_version_req_micro" = "x"; then + postgresql_version_req_micro="0" + fi + + postgresql_version_req_number=`expr $postgresql_version_req_major \* 1000000 \ + \+ $postgresql_version_req_minor \* 1000 \ + \+ $postgresql_version_req_micro` + + dnl Decompose version string of installed PostgreSQL + dnl and calculate its number representation + postgresql_version_major=`expr $POSTGRESQL_VERSION : '\([[0-9]]*\)'` + postgresql_version_minor=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'` + postgresql_version_micro=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$postgresql_version_micro" = "x"; then + postgresql_version_micro="0" + fi + + postgresql_version_number=`expr $postgresql_version_major \* 1000000 \ + \+ $postgresql_version_minor \* 1000 \ + \+ $postgresql_version_micro` + + postgresql_version_check=`expr $postgresql_version_number \>\= $postgresql_version_req_number` + if test "$postgresql_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_DEFINE([HAVE_POSTGRESQL], [0], + [A required version of PostgreSQL is not found]) + POSTGRESQL_CPPFLAGS="" + POSTGRESQL_LDFLAGS="" + POSTGRESQL_LIBS="" + fi + fi + + AC_SUBST([POSTGRESQL_VERSION]) + AC_SUBST([POSTGRESQL_CPPFLAGS]) + AC_SUBST([POSTGRESQL_LDFLAGS]) + AC_SUBST([POSTGRESQL_LIBS]) +]) diff --git a/m4/autoconf-archive/ax_lib_readline.m4 b/m4/autoconf-archive/ax_lib_readline.m4 new file mode 100755 index 0000000000..8b9eef5e8d --- /dev/null +++ b/m4/autoconf-archive/ax_lib_readline.m4 @@ -0,0 +1,107 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_readline.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_READLINE +# +# DESCRIPTION +# +# Searches for a readline compatible library. If found, defines +# `HAVE_LIBREADLINE'. If the found library has the `add_history' function, +# sets also `HAVE_READLINE_HISTORY'. Also checks for the locations of the +# necessary include files and sets `HAVE_READLINE_H' or +# `HAVE_READLINE_READLINE_H' and `HAVE_READLINE_HISTORY_H' or +# 'HAVE_HISTORY_H' if the corresponding include files exists. +# +# The libraries that may be readline compatible are `libedit', +# `libeditline' and `libreadline'. Sometimes we need to link a termcap +# library for readline to work, this macro tests these cases too by trying +# to link with `libtermcap', `libcurses' or `libncurses' before giving up. +# +# Here is an example of how to use the information provided by this macro +# to perform the necessary includes or declarations in a C file: +# +# #ifdef HAVE_LIBREADLINE +# # if defined(HAVE_READLINE_READLINE_H) +# # include +# # elif defined(HAVE_READLINE_H) +# # include +# # else /* !defined(HAVE_READLINE_H) */ +# extern char *readline (); +# # endif /* !defined(HAVE_READLINE_H) */ +# char *cmdline = NULL; +# #else /* !defined(HAVE_READLINE_READLINE_H) */ +# /* no readline */ +# #endif /* HAVE_LIBREADLINE */ +# +# #ifdef HAVE_READLINE_HISTORY +# # if defined(HAVE_READLINE_HISTORY_H) +# # include +# # elif defined(HAVE_HISTORY_H) +# # include +# # else /* !defined(HAVE_HISTORY_H) */ +# extern void add_history (); +# extern int write_history (); +# extern int read_history (); +# # endif /* defined(HAVE_READLINE_HISTORY_H) */ +# /* no history */ +# #endif /* HAVE_READLINE_HISTORY */ +# +# LICENSE +# +# Copyright (c) 2008 Ville Laurikari +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([VL_LIB_READLINE], [AX_LIB_READLINE]) +AC_DEFUN([AX_LIB_READLINE], [ + AC_CACHE_CHECK([for a readline compatible library], + ax_cv_lib_readline, [ + ORIG_LIBS="$LIBS" + for readline_lib in readline edit editline; do + for termcap_lib in "" termcap curses ncurses; do + if test -z "$termcap_lib"; then + TRY_LIB="-l$readline_lib" + else + TRY_LIB="-l$readline_lib -l$termcap_lib" + fi + LIBS="$ORIG_LIBS $TRY_LIB" + AC_TRY_LINK_FUNC(readline, ax_cv_lib_readline="$TRY_LIB") + if test -n "$ax_cv_lib_readline"; then + break + fi + done + if test -n "$ax_cv_lib_readline"; then + break + fi + done + if test -z "$ax_cv_lib_readline"; then + ax_cv_lib_readline="no" + fi + LIBS="$ORIG_LIBS" + ]) + + if test "$ax_cv_lib_readline" != "no"; then + LIBS="$LIBS $ax_cv_lib_readline" + AC_DEFINE(HAVE_LIBREADLINE, 1, + [Define if you have a readline compatible library]) + AC_CHECK_HEADERS(readline.h readline/readline.h) + AC_CACHE_CHECK([whether readline supports history], + ax_cv_lib_readline_history, [ + ax_cv_lib_readline_history="no" + AC_TRY_LINK_FUNC(add_history, ax_cv_lib_readline_history="yes") + ]) + if test "$ax_cv_lib_readline_history" = "yes"; then + AC_DEFINE(HAVE_READLINE_HISTORY, 1, + [Define if your readline library has \`add_history']) + AC_CHECK_HEADERS(history.h readline/history.h) + fi + fi +])dnl diff --git a/m4/autoconf-archive/ax_lib_samtools.m4 b/m4/autoconf-archive/ax_lib_samtools.m4 new file mode 100755 index 0000000000..edf4fa5bf9 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_samtools.m4 @@ -0,0 +1,148 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_samtools.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_SAMTOOLS() +# +# DESCRIPTION +# +# This macro searches for an installed samtools library. If nothing was +# specified when calling configure, it searches first in /usr/local and +# then tries with ld's default library search path. If the +# --with-samtools=DIR is specified, it will try to find it in +# DIR/include/bam/sam.h and DIR/lib/libbam.a. As a final try it will look +# in DIR/sam.h and DIR/libbam.a as the samtools library does not contain +# an install rule. +# +# If --without-samtools is specified, the library is not searched at all. +# +# If either the header file (sam.h) or the library (libbam) is not found, +# the configuration exits on error, asking for a valid samtools +# installation directory or --without-samtools. +# +# The macro defines the symbol HAVE_SAMTOOLS if the library is found. You +# should use autoheader to include a definition for this symbol in a +# config.h file. Sample usage in a C/C++ source is as follows: +# +# #ifdef HAVE_SAMTOOLS +# #include +# #endif /* HAVE_SAMTOOLS */ +# +# The following output variables are set with AC_SUBST: +# +# SAMTOOLS_CPPFLAGS +# SAMTOOLS_LDFLAGS +# SAMTOOLS_LIBS +# +# You can use them like this in Makefile.am: +# +# AM_CPPFLAGS = $(SAMTOOLS_CPPFLAGS) +# AM_LDFLAGS = $(SAMTOOLS_LDFLAGS) +# program_LDADD = $(SAMTOOLS_LIBS) +# +# LICENSE +# +# Copyright (c) 2013 Timothy Brown +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_LIB_SAMTOOLS], +# +# Handle user hints +# +[AC_MSG_CHECKING([if samtools is wanted]) +AC_ARG_WITH([samtools], + AS_HELP_STRING([--with-samtools], + [search for samtools in DIR/include and DIR/lib]), + [if test "$withval" != no ; then + AC_MSG_RESULT([yes]) + if test -d "$withval" ; then + SAMTOOLS_HOME="$withval" + else + AC_MSG_WARN([Sorry, $withval does not exist, checking usual places]) + fi + else + AC_MSG_RESULT([no]) + fi], + [AC_MSG_RESULT([yes])]) + +if test -f "${SAMTOOLS_HOME}/include/bam/sam.h" ; then + SAMTOOLS_INCDIR="-I${SAMTOOLS_HOME}/include/bam" + SAMTOOLS_LIBDIR="-L${SAMTOOLS_HOME}/lib" +elif test -f "${SAMTOOLS_HOME}/include/sam.h" ; then + SAMTOOLS_INCDIR="-I${SAMTOOLS_HOME}/include" + SAMTOOLS_LIBDIR="-L${SAMTOOLS_HOME}/lib" +elif test -f "${SAMTOOLS_HOME}/sam.h" ; then + SAMTOOLS_INCDIR="-I${SAMTOOLS_HOME}" + SAMTOOLS_LIBDIR="-L${SAMTOOLS_HOME}" +elif test -f "/usr/local/include/bam/sam.h" ; then + SAMTOOLS_HOME="/usr/local" + SAMTOOLS_INCDIR="-I${SAMTOOLS_HOME}/include/bam" + SAMTOOLS_LIBDIR="-L${SAMTOOLS_HOME}/lib" +else + SAMTOOLS_HOME="/usr" + SAMTOOLS_INCDIR="-I${SAMTOOLS_HOME}/include/bam" + SAMTOOLS_LIBDIR="" +fi + +# +# Locate samtools, if wanted +# +if test -n "${SAMTOOLS_HOME}" ; then + + SAMTOOLS_OLD_LDFLAGS=$LDFLAGS + SAMTOOLS_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS ${SAMTOOLS_LIBDIR}" + CPPFLAGS="$CPPFLAGS ${SAMTOOLS_INCDIR}" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_HEADER([sam.h], [ac_cv_sam_h=yes], [ac_cv_sam_h=no]) + AC_CHECK_LIB([bam], [sam_open], [ac_cv_libbam=yes], [ac_cv_libbam=no]) + AC_LANG_RESTORE + if test "$ac_cv_libbam" = "yes" && test "$ac_cv_sam_h" = "yes" ; then + # + # If both library and header were found, use them + # + AC_MSG_CHECKING([samtools]) + AC_MSG_RESULT([ok]) + with_samtools=yes + else + # + # If either header or library was not found, revert and bomb + # + LDFLAGS="$SAMTOOLS_OLD_LDFLAGS" + CPPFLAGS="$SAMTOOLS_OLD_CPPFLAGS" + AC_MSG_CHECKING([samtools]) + AC_MSG_RESULT([failed]) + AC_MSG_ERROR([either specify a valid samtools installation with --with-samtools=DIR or disable samtools usage with --without-samtools]) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_lib_socket_nsl.m4 b/m4/autoconf-archive/ax_lib_socket_nsl.m4 new file mode 100755 index 0000000000..54cad68b4c --- /dev/null +++ b/m4/autoconf-archive/ax_lib_socket_nsl.m4 @@ -0,0 +1,40 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_socket_nsl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_SOCKET_NSL +# +# DESCRIPTION +# +# This macro figures out what libraries are required on this platform to +# link sockets programs. +# +# The common cases are not to need any extra libraries, or to need +# -lsocket and -lnsl. We need to avoid linking with libnsl unless we need +# it, though, since on some OSes where it isn't necessary it will totally +# break networking. Unisys also includes gethostbyname() in libsocket but +# needs libnsl for socket(). +# +# LICENSE +# +# Copyright (c) 2008 Russ Allbery +# Copyright (c) 2008 Stepan Kasal +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([LIB_SOCKET_NSL], [AX_LIB_SOCKET_NSL]) +AC_DEFUN([AX_LIB_SOCKET_NSL], +[ + AC_SEARCH_LIBS([gethostbyname], [nsl]) + AC_SEARCH_LIBS([socket], [socket], [], [ + AC_CHECK_LIB([socket], [socket], [LIBS="-lsocket -lnsl $LIBS"], + [], [-lnsl])]) +]) diff --git a/m4/autoconf-archive/ax_lib_sqlite3.m4 b/m4/autoconf-archive/ax_lib_sqlite3.m4 new file mode 100755 index 0000000000..2e15bbcdf3 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_sqlite3.m4 @@ -0,0 +1,156 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_sqlite3.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_SQLITE3([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# Test for the SQLite 3 library of a particular version (or newer) +# +# This macro takes only one optional argument, required version of SQLite +# 3 library. If required version is not passed, 3.0.0 is used in the test +# of existence of SQLite 3. +# +# If no installation prefix to the installed SQLite library is given the +# macro searches under /usr, /usr/local, and /opt. +# +# This macro calls: +# +# AC_SUBST(SQLITE3_CFLAGS) +# AC_SUBST(SQLITE3_LDFLAGS) +# AC_SUBST(SQLITE3_VERSION) +# +# And sets: +# +# HAVE_SQLITE3 +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 18 + +AC_DEFUN([AX_LIB_SQLITE3], +[ + AC_ARG_WITH([sqlite3], + AS_HELP_STRING( + [--with-sqlite3=@<:@ARG@:>@], + [use SQLite 3 library @<:@default=yes@:>@, optionally specify the prefix for sqlite3 library] + ), + [ + if test "$withval" = "no"; then + WANT_SQLITE3="no" + elif test "$withval" = "yes"; then + WANT_SQLITE3="yes" + ac_sqlite3_path="" + else + WANT_SQLITE3="yes" + ac_sqlite3_path="$withval" + fi + ], + [WANT_SQLITE3="yes"] + ) + + SQLITE3_CFLAGS="" + SQLITE3_LDFLAGS="" + SQLITE3_VERSION="" + + if test "x$WANT_SQLITE3" = "xyes"; then + + ac_sqlite3_header="sqlite3.h" + + sqlite3_version_req=ifelse([$1], [], [3.0.0], [$1]) + sqlite3_version_req_shorten=`expr $sqlite3_version_req : '\([[0-9]]*\.[[0-9]]*\)'` + sqlite3_version_req_major=`expr $sqlite3_version_req : '\([[0-9]]*\)'` + sqlite3_version_req_minor=`expr $sqlite3_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + sqlite3_version_req_micro=`expr $sqlite3_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$sqlite3_version_req_micro" = "x" ; then + sqlite3_version_req_micro="0" + fi + + sqlite3_version_req_number=`expr $sqlite3_version_req_major \* 1000000 \ + \+ $sqlite3_version_req_minor \* 1000 \ + \+ $sqlite3_version_req_micro` + + AC_MSG_CHECKING([for SQLite3 library >= $sqlite3_version_req]) + + if test "$ac_sqlite3_path" != ""; then + ac_sqlite3_ldflags="-L$ac_sqlite3_path/lib" + ac_sqlite3_cppflags="-I$ac_sqlite3_path/include" + else + for ac_sqlite3_path_tmp in /usr /usr/local /opt ; do + if test -f "$ac_sqlite3_path_tmp/include/$ac_sqlite3_header" \ + && test -r "$ac_sqlite3_path_tmp/include/$ac_sqlite3_header"; then + ac_sqlite3_path=$ac_sqlite3_path_tmp + ac_sqlite3_cppflags="-I$ac_sqlite3_path_tmp/include" + ac_sqlite3_ldflags="-L$ac_sqlite3_path_tmp/lib" + break; + fi + done + fi + + ac_sqlite3_ldflags="$ac_sqlite3_ldflags -lsqlite3" + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $ac_sqlite3_cppflags" + + AC_LANG_PUSH(C) + AC_COMPILE_IFELSE( + [ + AC_LANG_PROGRAM([[@%:@include ]], + [[ +#if (SQLITE_VERSION_NUMBER >= $sqlite3_version_req_number) +/* Everything is okay */ +#else +# error SQLite version is too old +#endif + ]] + ) + ], + [ + AC_MSG_RESULT([yes]) + success="yes" + ], + [ + AC_MSG_RESULT([not found]) + success="no" + ] + ) + AC_LANG_POP(C) + + CPPFLAGS="$saved_CPPFLAGS" + + if test "$success" = "yes"; then + + SQLITE3_CFLAGS="$ac_sqlite3_cppflags" + SQLITE3_LDFLAGS="$ac_sqlite3_ldflags" + + ac_sqlite3_header_path="$ac_sqlite3_path/include/$ac_sqlite3_header" + + dnl Retrieve SQLite release version + if test "x$ac_sqlite3_header_path" != "x"; then + ac_sqlite3_version=`cat $ac_sqlite3_header_path \ + | grep '#define.*SQLITE_VERSION.*\"' | sed -e 's/.* "//' \ + | sed -e 's/"//'` + if test $ac_sqlite3_version != ""; then + SQLITE3_VERSION=$ac_sqlite3_version + else + AC_MSG_WARN([Cannot find SQLITE_VERSION macro in sqlite3.h header to retrieve SQLite version!]) + fi + fi + + AC_SUBST(SQLITE3_CFLAGS) + AC_SUBST(SQLITE3_LDFLAGS) + AC_SUBST(SQLITE3_VERSION) + AC_DEFINE([HAVE_SQLITE3], [], [Have the SQLITE3 library]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_tabix.m4 b/m4/autoconf-archive/ax_lib_tabix.m4 new file mode 100755 index 0000000000..470eedff2b --- /dev/null +++ b/m4/autoconf-archive/ax_lib_tabix.m4 @@ -0,0 +1,149 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_tabix.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_TABIX() +# +# DESCRIPTION +# +# This macro searches for an installed tabix library. If nothing was +# specified when calling configure, it searches first in /usr/local and +# then tries with ld's default library search path. If the +# --with-tabix=DIR is specified, it will try to find it in +# DIR/include/tabix/tabix.h and DIR/lib/libtabix.a. As a final try it will +# look in DIR/tabix.h and DIR/libtabix.a as the tabix library does not +# contain an install rule. +# +# If --without-tabix is specified, the library is not searched at all. +# +# If either the header file (tabix.h) or the library (libtabix) is not +# found, the configuration exits on error, asking for a valid tabix +# installation directory or --without-tabix. +# +# The macro defines the symbol HAVE_TABIX if the library is found. You +# should use autoheader to include a definition for this symbol in a +# config.h file. Sample usage in a C/C++ source is as follows: +# +# #ifdef HAVE_TABIX +# #include +# #endif /* HAVE_TABIX */ +# +# The following output variables are set with AC_SUBST: +# +# TABIX_CPPFLAGS +# TABIX_LDFLAGS +# TABIX_LIBS +# +# You can use them like this in Makefile.am: +# +# AM_CPPFLAGS = $(TABIX_CPPFLAGS) +# AM_LDFLAGS = $(TABIX_LDFLAGS) +# program_LDADD = $(TABIX_LIBS) +# +# LICENSE +# +# Copyright (c) 2013 Timothy Brown +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_LIB_TABIX], +# +# Handle user hints +# +[AC_MSG_CHECKING([if tabix is wanted]) +AC_ARG_WITH([tabix], + AS_HELP_STRING([--with-tabix], + [search for tabix in DIR/include and DIR/lib]), + [if test "$withval" != no ; then + AC_MSG_RESULT([yes]) + if test -d "$withval" ; then + TABIX_HOME="$withval" + else + AC_MSG_WARN([Sorry, $withval does not exist, checking usual places]) + fi + else + AC_MSG_RESULT([no]) + fi], + [AC_MSG_RESULT([yes])]) + +if test -f "${TABIX_HOME}/include/tabix/tabix.h" ; then + TABIX_INCDIR="-I${TABIX_HOME}/include/tabix" + TABIX_LIBDIR="-L${TABIX_HOME}/lib" +elif test -f "${TABIX_HOME}/include/tabix.h" ; then + TABIX_INCDIR="-I${TABIX_HOME}/include" + TABIX_LIBDIR="-L${TABIX_HOME}/lib" +elif test -f "${TABIX_HOME}/tabix.h" ; then + TABIX_INCDIR="-I${TABIX_HOME}" + TABIX_LIBDIR="-L${TABIX_HOME}" +elif test -f "/usr/local/include/tabix/tabix.h" ; then + TABIX_HOME="/usr/local" + TABIX_INCDIR="-I${TABIX_HOME}/include/tabix" + TABIX_LIBDIR="-L${TABIX_HOME}/lib" +else + TABIX_HOME="/usr" + TABIX_INCDIR="-I${TABIX_HOME}/include/tabix" + TABIX_LIBDIR="" +fi + +# +# Locate tabix, if wanted +# +if test -n "${TABIX_HOME}" ; then + + TABIX_OLD_LDFLAGS=$LDFLAGS + TABIX_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS ${TABIX_LIBDIR}" + CPPFLAGS="$CPPFLAGS ${TABIX_INCDIR}" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_HEADER([tabix.h], [ac_cv_tabix_h=yes], [ac_cv_tabix_h=no]) + AC_CHECK_LIB([tabix],[ti_open],[ac_cv_libtabix=yes],[ac_cv_libtabix=no]) + AC_LANG_RESTORE + if test "$ac_cv_libtabix" = "yes" && \ + test "$ac_cv_tabix_h" = "yes" ; then + # + # If both library and header were found, use them + # + AC_MSG_CHECKING([tabix]) + AC_MSG_RESULT([ok]) + with_tabix=yes + else + # + # If either header or library was not found, revert and bomb + # + LDFLAGS="$TABIX_OLD_LDFLAGS" + CPPFLAGS="$TABIX_OLD_CPPFLAGS" + AC_MSG_CHECKING([tabix]) + AC_MSG_RESULT([failed]) + AC_MSG_ERROR([either specify a valid tabix installation with --with-tabix=DIR or disable tabix usage with --without-tabix]) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_lib_taglib.m4 b/m4/autoconf-archive/ax_lib_taglib.m4 new file mode 100755 index 0000000000..89e771d555 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_taglib.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_taglib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_TAGLIB([VERSION],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Checks for minimum taglib library version VERSION. If successful +# executes ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. +# +# Defines TAGLIB_LIBS and TAGLIB_CFLAGS. +# +# A simple example: +# +# AX_LIB_TAGLIB([1.5],,[ +# AC_MSG_ERROR([Your system lacks of taglib >= 1.5]) +# ]) +# +# This macro is a rearranged version of AC_LIB_TAGLIB from Akos Maroy. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([AC_CHECK_TAGLIB], [AX_LIB_TAGLIB]) +AC_DEFUN([AX_LIB_TAGLIB], [ + AX_PATH_GENERIC([taglib],[$1],,[$2],[$3]) +]) diff --git a/m4/autoconf-archive/ax_lib_trace.m4 b/m4/autoconf-archive/ax_lib_trace.m4 new file mode 100755 index 0000000000..b53480f3db --- /dev/null +++ b/m4/autoconf-archive/ax_lib_trace.m4 @@ -0,0 +1,189 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_trace.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_TRACE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the libtrace libraries of a particular version (or newer) +# +# If no path to the installed library is given the macro searches under +# /usr, /usr/local, /opt and /opt/local. +# +# This macro calls: +# +# AC_SUBST(LIBTRACE_CFLAGS) / AC_SUBST(LIBTRACE_LDFLAGS) +# +# And sets: +# +# HAVE_LIBTRACE +# +# LICENSE +# +# Copyright (c) 2011 Xiyue Deng +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_LIB_TRACE], +[ +AC_ARG_WITH([libtrace], + [AS_HELP_STRING([--with-libtrace@<:@=ARG@:>@], + [use libtrace from a standard location (ARG=yes), + from the specified location (ARG=), + or disable if (ARG=no) + @<:@ARG=yes@:>@ ])], + [ + if test "x$withval" = "xno"; then + want_libtrace="no" + elif test "x$withval" = "xyes"; then + want_libtrace="yes" + else + want_libtrace="yes" + ac_libtrace_path="$withval" + fi + ], + [want_libtrace="yes"]) + +AC_ARG_WITH([libtrace-include], + [AS_HELP_STRING([--with-libtrace-include=INCLUDE_DIR], + [Force given directory for libtrace include path. Note that this will overwrite general library path setting.]) + ], [ + if test -d "$withval"; then + ac_libtrace_include_path="$withval" + else + AC_MSG_ERROR([--with-libtrace-include expected directory name]) + fi + ], + [ac_libtrace_include_path=""] +) + +AC_ARG_WITH([libtrace-lib], + [AS_HELP_STRING([--with-libtrace-lib=LIB_DIR], + [Force given directory for libtrace libraries. Note that this will overwrite general library path setting.]) + ], [ + if test -d "$withval"; then + ac_libtrace_lib_path="$withval" + else + AC_MSG_ERROR([--with-libtrace-lib expected directory name]) + fi + ], + [ac_libtrace_lib_path=""] +) + +if test "x$want_libtrace" = "xyes"; then + libtrace_version_req=ifelse([$1], ,3.0.0,$1) + libtrace_version_req_major=`expr $libtrace_version_req : '\([[0-9]]*\)'` + libtrace_version_req_minor=`expr $libtrace_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + libtrace_version_req_macro=`expr $libtrace_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$libtrace_version_req_macro" = "x"; then + libtrace_version_req_macro="0" + fi + + succeeded=no + + dnl On x86_64 systems check for system libraries in both lib64 and lib. + dnl The former is specified by FHS, but e.g. Debian does not adhere to + dnl this (as it rises problems for generic multi-arch support). + dnl The last entry in the list is chosen by default when no libraries + dnl are found, e.g. when only header-only libraries are installed! + libsubdirs="lib" + if test `uname -m` = x86_64; then + libsubdirs="lib lib64" + fi + + if test "x$ac_libtrace_path" != "x"; then + for libsubdir in $libsubdirs ; do + if ls "$ac_libtrace_path/$libsubdir/libtrace"* >/dev/null 2>&1 ; then + LIBTRACE_LDFLAGS="-L$ac_libtrace_path/$libsubdir" + LIBTRACE_CFLAGS="-I$ac_libtrace_path/include" + break; + fi + done + elif test "x$cross_compiling" != yes; then + for ac_libtrace_path_tmp in /usr /usr/local /opt /opt/local ; do + for libsubdir in $libsubdirs ; do + if ls "$ac_libtrace_path_tmp/$libsubdir/libtrace"* >/dev/null 2>&1 ; then + LIBTRACE_LDFLAGS="-L$ac_libtrace_path_tmp/$libsubdir" + LIBTRACE_CFLAGS="-I$ac_libtrace_path_tmp/include" + break; + fi + done + done + fi + + if test "x$ac_libtrace_include_path" != "x" ; then + LIBTRACE_CFLAGS="-I$ac_libtrace_include_path" + fi + + if test "x$ac_libtrace_lib_path" != "x" ; then + LIBTRACE_LDFLAGS="-L$ac_libtrace_lib_path" + fi + + CFLAGS_SAVED="$CFLAGS" + CFLAGS="$CFLAGS $LIBTRACE_CFLAGS" + export CFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $LIBTRACE_LDFLAGS" + export LDFLAGS + + + AC_CACHE_CHECK([for libtrace >= $libtrace_version_req], + ax_cv_libtrace_version_check, + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if !defined(LIBTRACE_API_VERSION) + || (LIBTRACE_API_VERSION < (($libtrace_version_req_major<<16)|($libtrace_version_req_minor<<8)|($libtrace_version_req_macro))) + # error Version check failed! + #endif + return 0; + ]] + )], [ + ax_cv_libtrace_version_check=yes + ], [ + ax_cv_libtrace_version_check=no + ] + )] + ) + + AS_IF([test "x$ax_cv_libtrace_version_check" != "xyes"], [ + AC_MSG_ERROR([Could not find working libtrace $libtrace_version_req installation.]) + ]) + + AC_CHECK_LIB([trace], [main], [ + LIBTRACE_LDFLAGS="$LIBTRACE_LDFLAGS -ltrace" + succeeded=yes + ], [ + AC_MSG_ERROR([Could not find working libtrace library.]) + ax_cv_libtrace_link=no + ]) + + if test "x$succeeded" = "xyes"; then + AC_SUBST(LIBTRACE_CFLAGS) + AC_SUBST(LIBTRACE_LDFLAGS) + AC_DEFINE(HAVE_LIBTRACE, , [define if libtrace is available]) + ifelse([$2], , :, [$2]) + else + AC_MSG_NOTICE([[Could not detect the libtrace installation (>= $libtrace_version_req). Please make sure you have a working libtrace installation and specify its path with --with-libtrace option.]]) + ifelse([$3], , :, [$3]) + fi + + CFLAGS="$CFLAGS_SAVED" + export CFLAGS + + LDFLAGS="$LDFLAGS_SAVED" + export LDFLAGS + +fi + +]) diff --git a/m4/autoconf-archive/ax_lib_upnp.m4 b/m4/autoconf-archive/ax_lib_upnp.m4 new file mode 100755 index 0000000000..c57d6c5a0e --- /dev/null +++ b/m4/autoconf-archive/ax_lib_upnp.m4 @@ -0,0 +1,76 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_upnp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_UPNP([ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# This macro will check for the existence of libupnp +# (http://upnp.sourceforge.net/). It does this by checking for the header +# file upnp.h and the upnp library object file. A --with-libupnp option is +# supported as well. The following output variables are set with AC_SUBST: +# +# UPNP_CPPFLAGS +# UPNP_LDFLAGS +# UPNP_LIBS +# +# You can use them like this in Makefile.am: +# +# AM_CPPFLAGS = $(UPNP_CPPFLAGS) +# AM_LDFLAGS = $(UPNP_LDFLAGS) +# program_LDADD = $(UPNP_LIBS) +# +# Additionally, the C preprocessor symbol HAVE_LIBUPNP will be defined +# with AC_DEFINE if libupnp is available. +# +# LICENSE +# +# Copyright (c) 2009 Oskar Liljeblad +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_LIB_UPNP], [AX_LIB_UPNP]) +AC_DEFUN([AX_LIB_UPNP], [ + AH_TEMPLATE([HAVE_LIBUPNP], [Define if libupnp is available]) + AC_ARG_WITH(libupnp, [ --with-libupnp=DIR prefix for upnp library files and headers], [ + if test "$withval" = "no"; then + ac_upnp_path= + $2 + elif test "$withval" = "yes"; then + ac_upnp_path=/usr + else + ac_upnp_path="$withval" + fi + ],[ac_upnp_path=/usr]) + if test "$ac_upnp_path" != ""; then + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$ac_upnp_path/include/upnp" + AC_CHECK_HEADER([upnp.h], [ + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$ac_upnp_path/lib" + AC_CHECK_LIB(upnp, UpnpInit, [ + AC_SUBST(UPNP_CPPFLAGS, [-I$ac_upnp_path/include/upnp]) + AC_SUBST(UPNP_LDFLAGS, [-L$ac_upnp_path/lib]) + AC_SUBST(UPNP_LIBS, [-lupnp]) + AC_DEFINE([HAVE_LIBUPNP]) + $1 + ], [ + : + $2 + ]) + LDFLAGS="$saved_LDFLAGS" + ], [ + AC_MSG_RESULT([not found]) + $2 + ]) + CPPFLAGS="$saved_CPPFLAGS" + fi +]) diff --git a/m4/autoconf-archive/ax_lib_wad.m4 b/m4/autoconf-archive/ax_lib_wad.m4 new file mode 100755 index 0000000000..e897c6ac91 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_wad.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_wad.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_WAD +# +# DESCRIPTION +# +# This macro searches for an installed WAD library. +# +# LICENSE +# +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_LIB_WAD], [AX_LIB_WAD]) +AC_DEFUN([AX_LIB_WAD], +[ + AC_REQUIRE([AX_PYTHON_DEVEL]) + AC_ARG_ENABLE(wad, + AS_HELP_STRING([--enable-wad], [enable wad module]), + [ + case "${enableval}" in + no) ;; + *) if test "x${enableval}" = xyes; + then + check_wad="yes" + fi ;; + esac + ], []) + + if test -n "$check_wad"; + then + AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS) + AC_SUBST(WADPY) + fi +]) diff --git a/m4/autoconf-archive/ax_lib_xalan.m4 b/m4/autoconf-archive/ax_lib_xalan.m4 new file mode 100755 index 0000000000..9da4b801a4 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_xalan.m4 @@ -0,0 +1,293 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_xalan.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_XALAN([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Apache Xalan C++ XSLT +# processor of a particular version or newer. This macros checks for +# Apache Xalan C++ XSLT processor headers and libraries and defines +# compilation flags +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-xalan - yes, no or path to Xalan installation prefix +# +# 2) Three-options usage (all options are required): +# +# --with-xalan=yes +# --with-xalan-inc - path to base directory with Xalan headers +# --with-xalan-lib - linker flags for Xalan +# +# This macro calls: +# +# AC_SUBST(XALAN_CPPFLAGS) +# AC_SUBST(XALAN_LDFLAGS) +# AC_SUBST(XALAN_VERSION) - only if version requirement is used +# +# And sets: +# +# HAVE_XALAN +# +# LICENSE +# +# Copyright (c) 2009 Mateusz Loskot +# Copyright (c) 2009 Bill Blough +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_DEFUN([AX_LIB_XALAN], +[ + AC_REQUIRE([AX_LIB_XERCES]) + + AC_ARG_WITH([xalan], + AS_HELP_STRING([--with-xalan=@<:@ARG@:>@], + [use Xalan C++ XSLT processor from given prefix (ARG=path); check standard prefixes (ARG=yes); disable (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -d /usr/local/include/xalanc ; then + xalan_prefix=/usr/local + elif test -d /usr/include/xalanc ; then + xalan_prefix=/usr + else + xalan_prefix="" + fi + xalan_requested="yes" + elif test -d "$withval"; then + xalan_prefix="$withval" + xalan_requested="yes" + else + xalan_prefix="" + xalan_requested="no" + fi + ], + [ + dnl Default behavior is implicit yes + if test -d /usr/local/include/xalanc ; then + xalan_prefix=/usr/local + elif test -d /usr/include/xalanc ; then + xalan_prefix=/usr + else + xalan_prefix="" + fi + ] + ) + + AC_ARG_WITH([xalan-inc], + AS_HELP_STRING([--with-xalan-inc=@<:@DIR@:>@], + [path to Xalan C++ XSLT processor headers] + ), + [xalan_include_dir="$withval"], + [xalan_include_dir=""] + ) + AC_ARG_WITH([xalan-lib], + AS_HELP_STRING([--with-xalan-lib=@<:@ARG@:>@], + [link options for Xalan C++ XSLT processor libraries] + ), + [xalan_ldflags="$withval"], + [xalan_ldflags=""] + ) + + XALAN_CPPFLAGS="" + XALAN_LDFLAGS="" + XALAN_VERSION="" + + dnl + dnl Collect include/lib paths and flags + dnl + run_xalan_test="no" + + if test -n "$xalan_prefix"; then + xalan_include_dir="$xalan_prefix/include" + xalan_include_dir2="$xalan_prefix/include/xalanc" + xalan_ldflags="-L$xalan_prefix/lib" + run_xalan_test="yes" + elif test "$xalan_requested" = "yes"; then + if test -n "$xalan_include_dir" -a -n "$xalan_lib_flags"; then + xalan_include_dir2="$xalan_include_dir/xalanc" + run_xalan_test="yes" + fi + else + run_xalan_test="no" + fi + + xalan_libs="-lxalan-c" + + dnl + dnl Check Xalan C++ XSLT processor files + dnl + if test "$run_xalan_test" = "yes"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$xalan_include_dir -I$xalan_include_dir2" + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $xalan_ldflags $XERCES_LDFLAGS" + + saved_LIBS="$LIBS" + LIBS="$xalan_libs $XERCES_LIBS $LIBS" + + dnl + dnl Check Xalan headers + dnl + AC_MSG_CHECKING([for Xalan C++ XSLT processor headers in $xalan_include_dir and $xalan_include_dir2]) + + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include +@%:@include + ]], + [[]] + )], + [ + XALAN_CPPFLAGS="-I$xalan_include_dir -I$xalan_include_dir2" + xalan_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xalan_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check Xalan libraries + dnl + if test "$xalan_header_found" = "yes"; then + + AC_MSG_CHECKING([for Xalan C++ XSLT processor libraries]) + + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include +@%:@include +@%:@include +XALAN_USING_XERCES(XMLPlatformUtils) +XALAN_USING_XALAN(XalanTransformer) + ]], + [[ +XMLPlatformUtils::Initialize(); +XalanTransformer::initialize(); + + ]] + )], + [ + XALAN_LDFLAGS="$xalan_ldflags $XERCES_LDFLAGS" + XALAN_LIBS="$xalan_libs $XERCES_LIBS" + xalan_lib_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xalan_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + LIBS="$saved_LIBS" + fi + + AC_MSG_CHECKING([for Xalan C++ XSLT processor]) + + if test "$run_xalan_test" = "yes"; then + if test "$xalan_header_found" = "yes" -a "$xalan_lib_found" = "yes"; then + + AC_SUBST([XALAN_CPPFLAGS]) + AC_SUBST([XALAN_LDFLAGS]) + AC_SUBST([XALAN_LIBS]) + + HAVE_XALAN="yes" + else + HAVE_XALAN="no" + fi + + AC_MSG_RESULT([$HAVE_XALAN]) + + dnl + dnl Check Xalan version + dnl + if test "$HAVE_XALAN" = "yes"; then + + xalan_version_req=ifelse([$1], [], [], [$1]) + + if test -n "$xalan_version_req"; then + + AC_MSG_CHECKING([if Xalan C++ XSLT processor version is >= $xalan_version_req]) + + if test -f "$xalan_include_dir2/Include/XalanVersion.hpp"; then + + xalan_major=`cat $xalan_include_dir2/Include/XalanVersion.hpp | \ + grep '^#define.*XALAN_VERSION_MAJOR.*[0-9]$' | \ + sed -e 's/#define XALAN_VERSION_MAJOR.//'` + + xalan_minor=`cat $xalan_include_dir2/Include/XalanVersion.hpp | \ + grep '^#define.*XALAN_VERSION_MINOR.*[0-9]$' | \ + sed -e 's/#define XALAN_VERSION_MINOR.//'` + + xalan_revision=`cat $xalan_include_dir2/Include/XalanVersion.hpp | \ + grep '^#define.*XALAN_VERSION_REVISION.*[0-9]$' | \ + sed -e 's/#define XALAN_VERSION_REVISION.//'` + + XALAN_VERSION="$xalan_major.$xalan_minor.$xalan_revision" + AC_SUBST([XALAN_VERSION]) + + dnl Decompose required version string and calculate numerical representation + xalan_version_req_major=`expr $xalan_version_req : '\([[0-9]]*\)'` + xalan_version_req_minor=`expr $xalan_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + xalan_version_req_revision=`expr $xalan_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$xalan_version_req_revision" = "x"; then + xalan_version_req_revision="0" + fi + + xalan_version_req_number=`expr $xalan_version_req_major \* 10000 \ + \+ $xalan_version_req_minor \* 100 \ + \+ $xalan_version_req_revision` + + dnl Calculate numerical representation of detected version + xalan_version_number=`expr $xalan_major \* 10000 \ + \+ $xalan_minor \* 100 \ + \+ $xalan_revision` + + xalan_version_check=`expr $xalan_version_number \>\= $xalan_version_req_number` + if test "$xalan_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Xalan C++ XSLT processor $XALAN_VERSION, which is older than required. Possible compilation failure.]) + fi + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Missing header XalanVersion.hpp. Unable to determine Xalan version.]) + fi + fi + fi + + else + HAVE_XALAN="no" + AC_MSG_RESULT([$HAVE_XALAN]) + + if test "$xalan_requested" = "yes"; then + AC_MSG_WARN([Xalan C++ XSLT processor support requested but headers or library not found. Specify valid prefix of Xalan C++ using --with-xalan=@<:@DIR@:>@ or provide include directory and linker flags using --with-xalan-inc and --with-xalan-lib]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_xerces.m4 b/m4/autoconf-archive/ax_lib_xerces.m4 new file mode 100755 index 0000000000..5b52e55a8f --- /dev/null +++ b/m4/autoconf-archive/ax_lib_xerces.m4 @@ -0,0 +1,289 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_xerces.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_XERCES([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Apache Xerces C++ Parser of +# particular version or newer. This macros checks for Apache Xerces C++ +# Parser headers and libraries and defines compilation flags +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-xerces - yes, no or path to Xerces installation prefix +# +# 2) Three-options usage (all options are required): +# +# --with-xerces=yes +# --with-xerces-inc - path to base directory with Xerces headers +# --with-xerces-lib - linker flags for Xerces +# +# This macro calls: +# +# AC_SUBST(XERCES_CFLAGS) +# AC_SUBST(XERCES_LDFLAGS) +# AC_SUBST(XERCES_VERSION) - only if version requirement is used +# +# And sets: +# +# HAVE_XERCES +# +# LICENSE +# +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_LIB_XERCES], +[ + AC_REQUIRE([AX_PTHREAD]) + + AC_ARG_WITH([xerces], + AS_HELP_STRING([--with-xerces=@<:@ARG@:>@], + [use Xerces C++ Parser from given prefix (ARG=path); check standard prefixes (ARG=yes); disable (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -d /usr/local/include/xercesc ; then + xerces_prefix=/usr/local + elif test -d /usr/include/xercesc ; then + xerces_prefix=/usr + else + xerces_prefix="" + fi + xerces_requested="yes" + elif test -d "$withval"; then + xerces_prefix="$withval" + xerces_requested="yes" + else + xerces_prefix="" + xerces_requested="no" + fi + ], + [ + dnl Default behavior is implicit yes + if test -d /usr/local/include/xercesc ; then + xerces_prefix=/usr/local + elif test -d /usr/include/xercesc ; then + xerces_prefix=/usr + else + xerces_prefix="" + fi + ] + ) + + AC_ARG_WITH([xerces-inc], + AS_HELP_STRING([--with-xerces-inc=@<:@DIR@:>@], + [path to Xerces C++ Parser headers] + ), + [xerces_include_dir="$withval"], + [xerces_include_dir=""] + ) + AC_ARG_WITH([xerces-lib], + AS_HELP_STRING([--with-xerces-lib=@<:@ARG@:>@], + [link options for Xerces C++ Parser libraries] + ), + [xerces_ldflags="$withval"], + [xerces_ldflags=""] + ) + + XERCES_CPPFLAGS="" + XERCES_LDFLAGS="" + XERCES_VERSION="" + + dnl + dnl Collect include/lib paths and flags + dnl + run_xerces_test="no" + + if test -n "$xerces_prefix"; then + xerces_include_dir="$xerces_prefix/include" + xerces_include_dir2="$xerces_prefix/include/xercesc" + xerces_ldflags="-L$xerces_prefix/lib" + run_xerces_test="yes" + elif test "$xerces_requested" = "yes"; then + if test -n "$xerces_include_dir" -a -n "$xerces_lib_flags"; then + xerces_include_dir2="$xerces_include_dir/xercesc" + run_xerces_test="yes" + fi + else + run_xerces_test="no" + fi + + xerces_libs="-lxerces-c" + + dnl + dnl Check Xerces C++ Parser files + dnl + if test "$run_xerces_test" = "yes"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$xerces_include_dir -I$xerces_include_dir2" + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $xerces_ldflags $PTHREAD_LDFLAGS" + + saved_LIBS="$LIBS" + LIBS="$xerces_libs $PTHREAD_LIBS $LIBS" + + dnl + dnl Check Xerces headers + dnl + AC_MSG_CHECKING([for Xerces C++ Parser headers in $xerces_include_dir and $xerces_include_dir2]) + + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include +@%:@include + ]], + [[]] + )], + [ + XERCES_CPPFLAGS="-I$xerces_include_dir -I$xerces_include_dir2" + xerces_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xerces_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check Xerces libraries + dnl + if test "$xerces_header_found" = "yes"; then + + AC_MSG_CHECKING([for Xerces C++ Parser libraries]) + + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include +@%:@include +#if (_XERCES_VERSION >= 20200) +XERCES_CPP_NAMESPACE_USE +#endif + ]], + [[ +XMLPlatformUtils::Initialize(); + ]] + )], + [ + XERCES_LDFLAGS="$xerces_ldflags $PTHREAD_LDFLAGS" + XERCES_LIBS="$xerces_libs $PTHREAD_LIBS" + xerces_lib_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xerces_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + LIBS="$saved_LIBS" + fi + + AC_MSG_CHECKING([for Xerces C++ Parser]) + + if test "$run_xerces_test" = "yes"; then + if test "$xerces_header_found" = "yes" -a "$xerces_lib_found" = "yes"; then + + AC_SUBST([XERCES_CPPFLAGS]) + AC_SUBST([XERCES_LDFLAGS]) + AC_SUBST([XERCES_LIBS]) + + HAVE_XERCES="yes" + else + HAVE_XERCES="no" + fi + + AC_MSG_RESULT([$HAVE_XERCES]) + + dnl + dnl Check Xerces version + dnl + if test "$HAVE_XERCES" = "yes"; then + + xerces_version_req=ifelse([$1], [], [], [$1]) + + if test -n "$xerces_version_req"; then + + AC_MSG_CHECKING([if Xerces C++ Parser version is >= $xerces_version_req]) + + if test -f "$xerces_include_dir2/util/XercesVersion.hpp"; then + + xerces_major=`cat $xerces_include_dir2/util/XercesVersion.hpp | \ + grep '^#define.*XERCES_VERSION_MAJOR.*[0-9]$' | \ + sed -e 's/#define XERCES_VERSION_MAJOR.//'` + + xerces_minor=`cat $xerces_include_dir2/util/XercesVersion.hpp | \ + grep '^#define.*XERCES_VERSION_MINOR.*[0-9]$' | \ + sed -e 's/#define XERCES_VERSION_MINOR.//'` + + xerces_revision=`cat $xerces_include_dir2/util/XercesVersion.hpp | \ + grep '^#define.*XERCES_VERSION_REVISION.*[0-9]$' | \ + sed -e 's/#define XERCES_VERSION_REVISION.//'` + + XERCES_VERSION="$xerces_major.$xerces_minor.$xerces_revision" + AC_SUBST([XERCES_VERSION]) + + dnl Decompose required version string and calculate numerical representation + xerces_version_req_major=`expr $xerces_version_req : '\([[0-9]]*\)'` + xerces_version_req_minor=`expr $xerces_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + xerces_version_req_revision=`expr $xerces_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$xerces_version_req_revision" = "x"; then + xerces_version_req_revision="0" + fi + + xerces_version_req_number=`expr $xerces_version_req_major \* 10000 \ + \+ $xerces_version_req_minor \* 100 \ + \+ $xerces_version_req_revision` + + dnl Calculate numerical representation of detected version + xerces_version_number=`expr $xerces_major \* 10000 \ + \+ $xerces_minor \* 100 \ + \+ $xerces_revision` + + xerces_version_check=`expr $xerces_version_number \>\= $xerces_version_req_number` + if test "$xerces_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Xerces C++ Parser $XERCES_VERSION, which is older than required. Possible compilation failure.]) + fi + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Missing header XercesVersion.hpp. Unable to determine Xerces version.]) + fi + fi + fi + + else + HAVE_XERCES="no" + AC_MSG_RESULT([$HAVE_XERCES]) + + if test "$xerces_requested" = "yes"; then + AC_MSG_WARN([Xerces C++ Parser support requested but headers or library not found. Specify valid prefix of Xerces C++ using --with-xerces=@<:@DIR@:>@ or provide include directory and linker flags using --with-xerces-inc and --with-xerces-lib]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_lib_xml_security.m4 b/m4/autoconf-archive/ax_lib_xml_security.m4 new file mode 100755 index 0000000000..abb174d0b5 --- /dev/null +++ b/m4/autoconf-archive/ax_lib_xml_security.m4 @@ -0,0 +1,277 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lib_xml_security.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIB_XML_SECURITY([MINIMUM-VERSION]) +# +# DESCRIPTION +# +# This macro provides tests of availability of Apache Xml-Security C++ +# library of particular version +# or newer. This macros checks for Apache Xml-Security C++ headers and +# libraries and defines compilation flags +# +# Macro supports following options and their values: +# +# 1) Single-option usage: +# +# --with-xml-security - yes, no or path to Xml-Security installation prefix +# +# 2) Three-options usage (all options are required): +# +# --with-xml-security=yes +# --with-xml-security-inc - path to base directory with Xml-Security headers +# --with-xml-security-lib - linker flags for Xml-Security +# +# This macro calls: +# +# AC_SUBST(XML_SECURITY_CFLAGS) +# AC_SUBST(XML_SECURITY_LDFLAGS) +# AC_SUBST(XML_SECURITY_VERSION) - only if version requirement is used +# +# And sets: +# +# HAVE_XML_SECURITY +# +# LICENSE +# +# Copyright (c) 2008 Alexander Petry +# Copyright (c) 2008 Mateusz Loskot +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_LIB_XML_SECURITY], +[ + AC_ARG_WITH([xml-security], + AS_HELP_STRING([--with-xml-security=@<:@ARG@:>@], + [use Xml-Security C++ library from given prefix (ARG=path); check standard prefixes (ARG=yes); disable (ARG=no)] + ), + [ + if test "$withval" = "yes"; then + if test -d /usr/local/include/xsec ; then + xml_security_prefix=/usr/local + elif test -d /usr/include/xsec ; then + xml_security_prefix=/usr + else + xml_security_prefix="" + fi + xml_security_requested="yes" + elif test -d "$withval"; then + xml_security_prefix="$withval" + xml_security_requested="yes" + else + xml_security_prefix="" + xml_security_requested="no" + fi + ], + [ + dnl Default behavior is implicit yes + if test -d /usr/local/include/xsec ; then + xml_security_prefix=/usr/local + elif test -d /usr/include/xsec ; then + xml_security_prefix=/usr + else + xml-security_prefix="" + fi + ] + ) + + AC_ARG_WITH([xml-security-inc], + AS_HELP_STRING([--with-xml-security-inc=@<:@DIR@:>@], + [path to Xml-Security C++ headers] + ), + [xml_security_include_dir="$withval"], + [xml_security_include_dir=""] + ) + AC_ARG_WITH([xml-security-lib], + AS_HELP_STRING([--with-xml-security-lib=@<:@ARG@:>@], + [link options for Xml-Security C++ Parser libraries] + ), + [xml_security_lib_flags="$withval"], + [xml_security_lib_flags=""] + ) + + XML_SECURITY_CFLAGS="" + XML_SECURITY_LDFLAGS="" + XML_SECURITY_VERSION="" + + dnl + dnl Collect include/lib paths and flags + dnl + run_xml_security_test="no" + + if test -n "$xml_security_prefix"; then + xml_security_include_dir="$xml_security_prefix/include" + xml_security_include_dir2="$xml_security_prefix/include/xsec" + xml_security_lib_flags="-L$xml_security_prefix/lib -lxml-security-c -lpthread" + run_xml_security_test="yes" + elif test "$xml_security_requested" = "yes"; then + if test -n "$xml_security_include_dir" -a -n "$xml_security_lib_flags"; then + xml_security_include_dir2="$xml_security_include_dir/xenc" + run_xml_security_test="yes" + fi + else + run_xml_security_test="no" + fi + + dnl + dnl Check Xml-Security C++ files + dnl + if test "$run_xml_security_test" = "yes"; then + + saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$xml_security_include_dir -I$xml_security_include_dir2" + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $xml_security_lib_flags" + + dnl + dnl Check Xml-Security headers + dnl + AC_MSG_CHECKING([for Xml-Security C++ headers in $xml_security_include_dir and $xml_security_include_dir2]) + + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ + @%:@include + ]], + [[ + ]] + )], + [ + XML_SECURITY_CFLAGS="-I$xml_security_include_dir -I$xml_security_include_dir2" + xml_security_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xml_security_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + + dnl + dnl Check Xml-Security libraries + dnl + if test "$xml_security_header_found" = "yes"; then + + AC_MSG_CHECKING([for Xml-Security C++ libraries]) + + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ +@%:@include +#ifdef XERCES_CPP_NAMESPACE_USE +XERCES_CPP_NAMESPACE_USE +#endif + ]], + [[ +XSECPlatformUtils::Initialise(); + ]] + )], + [ + XML_SECURITY_LDFLAGS="$xml_security_lib_flags" + xml_security_lib_found="yes" + AC_MSG_RESULT([found]) + ], + [ + xml_security_lib_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) + fi + + CPPFLAGS="$saved_CPPFLAGS" + LDFLAGS="$saved_LDFLAGS" + fi + + AC_MSG_CHECKING([for Xml-Security C++]) + + if test "$run_xml_security_test" = "yes"; then + if test x"$xml_security_header_found" = x"yes" -a x"$xml_security_lib_found" = x"yes"; then + + AC_SUBST([XML_SECURITY_CFLAGS]) + AC_SUBST([XML_SECURITY_LDFLAGS]) + + HAVE_XML_SECURITY="yes" + else + HAVE_XML_SECURITY="no" + fi + + AC_MSG_RESULT([$HAVE_XML_SECURITY]) + + dnl + dnl Check Xml-Security version + dnl + if test "$HAVE_XML_SECURITY" = "yes"; then + + xml_security_version_req=ifelse([$1], [], [], [$1]) + + if test -n "$xml_security_version_req"; then + + AC_MSG_CHECKING([if Xml-Security C++ version is >= $xml_security_version_req]) + + if test -f "$xml_security_include_dir2/framework/XSECConfig.hpp"; then + + xml_security_major=`cat $xml_security_include_dir2/framework/XSECConfig.hpp | \ + grep '^#define.*XSEC_VERSION_MAJOR.*[0-9]$' | \ + sed -e 's/#define XSEC_VERSION_MAJOR.//'` + + xml_security_medium=`cat $xml_security_include_dir2/framework/XSECConfig.hpp | \ + grep '^#define.*XSEC_VERSION_MEDIUM.*[0-9]$' | \ + sed -e 's/#define XSEC_VERSION_MEDIUM.//'` + + xml_security_minor=`cat $xml_security_include_dir2/framework/XSECConfig.hpp | \ + grep '^#define.*XSEC_VERSION_MINOR.*[0-9]$' | \ + sed -e 's/#define XSEC_VERSION_MINOR.//'` + + XML_SECURITY_VERSION="$xml_security_major.$xml_security_medium.$xml_security_minor" + AC_SUBST([XML_SECURITY_VERSION]) + + dnl Decompose required version string and calculate numerical representation + xml_security_version_req_major=`expr $xml_security_version_req : '\([[0-9]]*\)'` + xml_security_version_req_medium=`expr $xml_security_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + xml_security_version_req_minor=`expr $xml_security_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + + xml_security_version_req_number=`expr $xml_security_version_req_major \* 10000 \ + \+ $xml_security_version_req_medium \* 100 \ + \+ $xml_security_version_req_minor` + + dnl Calculate numerical representation of detected version + xml_security_version_number=`expr $xml_security_major \* 10000 \ + \+ $xml_security_medium \* 100 \ + \+ $xml_security_minor` + + xml_security_version_check=`expr $xml_security_version_number \>\= $xml_security_version_req_number` + if test "$xml_security_version_check" = "1"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Xml-Security C++ $XML_SECURITY_VERSION, which is older than required. Possible compilation failure.]) + fi + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([Missing header XSECConfig.hpp. Unable to determine Xml-Security version.]) + fi + fi + fi + + else + HAVE_XML_SECURITY="no" + AC_MSG_RESULT([$HAVE_XML_SECURITY]) + + if test "$xml_security_requested" = "yes"; then + AC_MSG_ERROR([Xml-Security C++ support requested but headers or library not found. Specify valid prefix of Xml-Security C++ using --with-xml-security=@<:@DIR@:>@ or provide headers and linker flags using --with-xml-security-inc and --with-xml-security-lib]) + fi + fi +]) diff --git a/m4/autoconf-archive/ax_libgcj_jar.m4 b/m4/autoconf-archive/ax_libgcj_jar.m4 new file mode 100755 index 0000000000..06806b1560 --- /dev/null +++ b/m4/autoconf-archive/ax_libgcj_jar.m4 @@ -0,0 +1,83 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_libgcj_jar.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIBGCJ_JAR +# +# DESCRIPTION +# +# Locate libgcj.jar so you can place it before everything else when using +# gcj. +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AU_ALIAS([DPS_LIBGCJ_JAR], [AX_LIBGCJ_JAR]) +AC_DEFUN([AX_LIBGCJ_JAR], +[ +AC_REQUIRE([AC_EXEEXT]) +AC_REQUIRE([AX_PROG_JAVAC]) +AC_REQUIRE([AC_PROG_FGREP]) +AC_PROG_SED +if test "x$SED" = "x"; then +AC_MSG_WARN([sed not available, so libgcj.jar test skipped]) +else +AC_MSG_CHECKING([if $JAVAC is gcj]); +jc=`eval "[echo x$JAVAC | $SED 's/^x.*\\/\\([^/]*\\)\$/x\\1/;s/^ *\\([^ ]*\\) .*$/\\1/;s/"$EXEEXT"$//']"` +if test "x$jc" != "xxgcj"; then +AC_MSG_RESULT(no) +else +AC_MSG_RESULT(yes) +AC_MSG_CHECKING([libgcj.jar location]) +save_cp="$CLASSPATH"; +unset CLASSPATH; +AC_MSG_CHECKING([gcj default classpath]) +cat << \EOF > Test.java +/* [#]line __oline__ "configure" */ +public class Test { +} +EOF +lgcj=`eval "[$JAVAC -v -C Test.java 2>&1 | $FGREP \\(system\\) | $SED 's/^ *\\([^ ]*\\) .*$/\\1/;s/\\.jar\\//.jar/']"`; +if test -f Test.class && test "x$lgcj" != "x"; then +AC_MSG_RESULT($lgcj) +$1="$lgcj:" +else +AC_MSG_RESULT(failed) +$1="" +fi +if test "x$save_cp" != "x"; then CLASSPATH="$save_cp"; fi +rm -f Test.java Test.class +fi +fi +]) diff --git a/m4/autoconf-archive/ax_libtoolize_cflags.m4 b/m4/autoconf-archive/ax_libtoolize_cflags.m4 new file mode 100755 index 0000000000..d296eec9db --- /dev/null +++ b/m4/autoconf-archive/ax_libtoolize_cflags.m4 @@ -0,0 +1,33 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_libtoolize_cflags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LIBTOOLIZE_CFLAGS(COMPILER-FLAGS-VAR) +# +# DESCRIPTION +# +# Change the contents of variable COMPILER-FLAGS-VAR so that they are +# Libtool friendly, ie. prefix each of them with `-Xcompiler' so that +# Libtool doesn't remove them. +# +# LICENSE +# +# Copyright (c) 2008 Ludovic Courtes +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_LIBTOOLIZE_CFLAGS], [AX_LIBTOOLIZE_CFLAGS]) +AC_DEFUN([AX_LIBTOOLIZE_CFLAGS], + [ac_libtoolize_ldflags_temp="" + for i in $$1 + do + ac_libtoolize_ldflags_temp="$ac_libtoolize_ldflags_temp -Xcompiler $i" + done + $1="$ac_libtoolize_ldflags_temp"])dnl diff --git a/m4/autoconf-archive/ax_llvm.m4 b/m4/autoconf-archive/ax_llvm.m4 new file mode 100755 index 0000000000..be105d625c --- /dev/null +++ b/m4/autoconf-archive/ax_llvm.m4 @@ -0,0 +1,93 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_llvm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LLVM([llvm-libs]) +# +# DESCRIPTION +# +# Test for the existence of llvm, and make sure that it can be linked with +# the llvm-libs argument that is passed on to llvm-config i.e.: +# +# llvm --libs +# +# llvm-config will also include any libraries that are depended upon. +# +# LICENSE +# +# Copyright (c) 2008 Andy Kitchen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 16 + +AC_DEFUN([AX_LLVM], +[ +AC_ARG_WITH([llvm], + AS_HELP_STRING([--with-llvm@<:@=DIR@:>@], [use llvm (default is yes) - it is possible to specify the root directory for llvm (optional)]), + [ + if test "$withval" = "no"; then + want_llvm="no" + elif test "$withval" = "yes"; then + want_llvm="yes" + ac_llvm_config_path=`which llvm-config` + else + want_llvm="yes" + ac_llvm_config_path="$withval" + fi + ], + [want_llvm="yes"]) + + succeeded=no + if test -z "$ac_llvm_config_path"; then + ac_llvm_config_path=`which llvm-config` + fi + + if test "x$want_llvm" = "xyes"; then + if test -e "$ac_llvm_config_path"; then + LLVM_CPPFLAGS=`$ac_llvm_config_path --cxxflags` + LLVM_LDFLAGS="$($ac_llvm_config_path --ldflags) $($ac_llvm_config_path --libs $1)" + + AC_REQUIRE([AC_PROG_CXX]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LLVM_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $LLVM_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(can compile with and link with llvm([$1]), + ax_cv_llvm, + [AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[llvm::Module *M = new llvm::Module("test"); return 0;]])], + ax_cv_llvm=yes, ax_cv_llvm=no) + AC_LANG_POP([C++]) + ]) + + if test "x$ax_cv_llvm" = "xyes"; then + succeeded=yes + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + else + succeeded=no + fi + fi + + if test "$succeeded" != "yes" ; then + AC_MSG_ERROR([[We could not detect the llvm libraries make sure that llvm-config is on your path or specified by --with-llvm.]]) + else + AC_SUBST(LLVM_CPPFLAGS) + AC_SUBST(LLVM_LDFLAGS) + AC_DEFINE(HAVE_LLVM,,[define if the llvm library is available]) + fi +]) diff --git a/m4/autoconf-archive/ax_lua.m4 b/m4/autoconf-archive/ax_lua.m4 new file mode 100755 index 0000000000..5920167143 --- /dev/null +++ b/m4/autoconf-archive/ax_lua.m4 @@ -0,0 +1,664 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_lua.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_LUA[([MINIMUM-VERSION], [TOO-BIG-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])] +# AX_LUA_HEADERS[([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])] +# AX_LUA_LIBS[([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])] +# AX_LUA_READLINE[([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])] +# +# DESCRIPTION +# +# Detect a Lua interpreter, optionally specifying a minimum and maximum +# version number. Set up important Lua paths, such as the directories in +# which to install scripts and modules (shared libraries). +# +# Also detect Lua headers and libraries. The Lua version contained in the +# header is checked to match the Lua interpreter version exactly. When +# searching for Lua libraries, the version number is used as a suffix. +# This is done with the goal of supporting multiple Lua installs (5.1, +# 5.2, and 5.3 side-by-side). +# +# A note on compatibility with previous versions: This file has been +# mostly rewritten for serial 18. Most developers should be able to use +# these macros without needing to modify configure.ac. Care has been taken +# to preserve each macro's behavior, but there are some differences: +# +# 1) AX_WITH_LUA is deprecated; it now expands to the exact same thing as +# AX_PROG_LUA with no arguments. +# +# 2) AX_LUA_HEADERS now checks that the version number defined in lua.h +# matches the interpreter version. AX_LUA_HEADERS_VERSION is therefore +# unnecessary, so it is deprecated and does not expand to anything. +# +# 3) The configure flag --with-lua-suffix no longer exists; the user +# should instead specify the LUA precious variable on the command line. +# See the AX_PROG_LUA description for details. +# +# Please read the macro descriptions below for more information. +# +# This file was inspired by Andrew Dalke's and James Henstridge's +# python.m4 and Tom Payne's, Matthieu Moy's, and Reuben Thomas's ax_lua.m4 +# (serial 17). Basically, this file is a mash-up of those two files. I +# like to think it combines the best of the two! +# +# AX_PROG_LUA: Search for the Lua interpreter, and set up important Lua +# paths. Adds precious variable LUA, which may contain the path of the Lua +# interpreter. If LUA is blank, the user's path is searched for an +# suitable interpreter. +# +# If MINIMUM-VERSION is supplied, then only Lua interpreters with a +# version number greater or equal to MINIMUM-VERSION will be accepted. If +# TOO-BIG-VERSION is also supplied, then only Lua interpreters with a +# version number greater or equal to MINIMUM-VERSION and less than +# TOO-BIG-VERSION will be accepted. +# +# The Lua version number, LUA_VERSION, is found from the interpreter, and +# substituted. LUA_PLATFORM is also found, but not currently supported (no +# standard representation). +# +# Finally, the macro finds four paths: +# +# luadir Directory to install Lua scripts. +# pkgluadir $luadir/$PACKAGE +# luaexecdir Directory to install Lua modules. +# pkgluaexecdir $luaexecdir/$PACKAGE +# +# These paths are found based on $prefix, $exec_prefix, Lua's +# package.path, and package.cpath. The first path of package.path +# beginning with $prefix is selected as luadir. The first path of +# package.cpath beginning with $exec_prefix is used as luaexecdir. This +# should work on all reasonable Lua installations. If a path cannot be +# determined, a default path is used. Of course, the user can override +# these later when invoking make. +# +# luadir Default: $prefix/share/lua/$LUA_VERSION +# luaexecdir Default: $exec_prefix/lib/lua/$LUA_VERSION +# +# These directories can be used by Automake as install destinations. The +# variable name minus 'dir' needs to be used as a prefix to the +# appropriate Automake primary, e.g. lua_SCRIPS or luaexec_LIBRARIES. +# +# If an acceptable Lua interpreter is found, then ACTION-IF-FOUND is +# performed, otherwise ACTION-IF-NOT-FOUND is preformed. If ACTION-IF-NOT- +# FOUND is blank, then it will default to printing an error. To prevent +# the default behavior, give ':' as an action. +# +# AX_LUA_HEADERS: Search for Lua headers. Requires that AX_PROG_LUA be +# expanded before this macro. Adds precious variable LUA_INCLUDE, which +# may contain Lua specific include flags, e.g. -I/usr/include/lua5.1. If +# LUA_INCLUDE is blank, then this macro will attempt to find suitable +# flags. +# +# LUA_INCLUDE can be used by Automake to compile Lua modules or +# executables with embedded interpreters. The *_CPPFLAGS variables should +# be used for this purpose, e.g. myprog_CPPFLAGS = $(LUA_INCLUDE). +# +# This macro searches for the header lua.h (and others). The search is +# performed with a combination of CPPFLAGS, CPATH, etc, and LUA_INCLUDE. +# If the search is unsuccessful, then some common directories are tried. +# If the headers are then found, then LUA_INCLUDE is set accordingly. +# +# The paths automatically searched are: +# +# * /usr/include/luaX.Y +# * /usr/include/lua/X.Y +# * /usr/include/luaXY +# * /usr/local/include/luaX.Y +# * /usr/local/include/lua-X.Y +# * /usr/local/include/lua/X.Y +# * /usr/local/include/luaXY +# +# (Where X.Y is the Lua version number, e.g. 5.1.) +# +# The Lua version number found in the headers is always checked to match +# the Lua interpreter's version number. Lua headers with mismatched +# version numbers are not accepted. +# +# If headers are found, then ACTION-IF-FOUND is performed, otherwise +# ACTION-IF-NOT-FOUND is performed. If ACTION-IF-NOT-FOUND is blank, then +# it will default to printing an error. To prevent the default behavior, +# set the action to ':'. +# +# AX_LUA_LIBS: Search for Lua libraries. Requires that AX_PROG_LUA be +# expanded before this macro. Adds precious variable LUA_LIB, which may +# contain Lua specific linker flags, e.g. -llua5.1. If LUA_LIB is blank, +# then this macro will attempt to find suitable flags. +# +# LUA_LIB can be used by Automake to link Lua modules or executables with +# embedded interpreters. The *_LIBADD and *_LDADD variables should be used +# for this purpose, e.g. mymod_LIBADD = $(LUA_LIB). +# +# This macro searches for the Lua library. More technically, it searches +# for a library containing the function lua_load. The search is performed +# with a combination of LIBS, LIBRARY_PATH, and LUA_LIB. +# +# If the search determines that some linker flags are missing, then those +# flags will be added to LUA_LIB. +# +# If libraries are found, then ACTION-IF-FOUND is performed, otherwise +# ACTION-IF-NOT-FOUND is performed. If ACTION-IF-NOT-FOUND is blank, then +# it will default to printing an error. To prevent the default behavior, +# set the action to ':'. +# +# AX_LUA_READLINE: Search for readline headers and libraries. Requires the +# AX_LIB_READLINE macro, which is provided by ax_lib_readline.m4 from the +# Autoconf Archive. +# +# If a readline compatible library is found, then ACTION-IF-FOUND is +# performed, otherwise ACTION-IF-NOT-FOUND is performed. +# +# LICENSE +# +# Copyright (c) 2015 Reuben Thomas +# Copyright (c) 2014 Tim Perkins +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 40 + +dnl ========================================================================= +dnl AX_PROG_LUA([MINIMUM-VERSION], [TOO-BIG-VERSION], +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ========================================================================= +AC_DEFUN([AX_PROG_LUA], +[ + dnl Check for required tools. + AC_REQUIRE([AC_PROG_GREP]) + AC_REQUIRE([AC_PROG_SED]) + + dnl Make LUA a precious variable. + AC_ARG_VAR([LUA], [The Lua interpreter, e.g. /usr/bin/lua5.1]) + + dnl Find a Lua interpreter. + m4_define_default([_AX_LUA_INTERPRETER_LIST], + [lua lua5.3 lua53 lua5.2 lua52 lua5.1 lua51 lua50]) + + m4_if([$1], [], + [ dnl No version check is needed. Find any Lua interpreter. + AS_IF([test "x$LUA" = 'x'], + [AC_PATH_PROGS([LUA], [_AX_LUA_INTERPRETER_LIST], [:])]) + ax_display_LUA='lua' + + AS_IF([test "x$LUA" != 'x:'], + [ dnl At least check if this is a Lua interpreter. + AC_MSG_CHECKING([if $LUA is a Lua interpreter]) + _AX_LUA_CHK_IS_INTRP([$LUA], + [AC_MSG_RESULT([yes])], + [ AC_MSG_RESULT([no]) + AC_MSG_ERROR([not a Lua interpreter]) + ]) + ]) + ], + [ dnl A version check is needed. + AS_IF([test "x$LUA" != 'x'], + [ dnl Check if this is a Lua interpreter. + AC_MSG_CHECKING([if $LUA is a Lua interpreter]) + _AX_LUA_CHK_IS_INTRP([$LUA], + [AC_MSG_RESULT([yes])], + [ AC_MSG_RESULT([no]) + AC_MSG_ERROR([not a Lua interpreter]) + ]) + dnl Check the version. + m4_if([$2], [], + [_ax_check_text="whether $LUA version >= $1"], + [_ax_check_text="whether $LUA version >= $1, < $2"]) + AC_MSG_CHECKING([$_ax_check_text]) + _AX_LUA_CHK_VER([$LUA], [$1], [$2], + [AC_MSG_RESULT([yes])], + [ AC_MSG_RESULT([no]) + AC_MSG_ERROR([version is out of range for specified LUA])]) + ax_display_LUA=$LUA + ], + [ dnl Try each interpreter until we find one that satisfies VERSION. + m4_if([$2], [], + [_ax_check_text="for a Lua interpreter with version >= $1"], + [_ax_check_text="for a Lua interpreter with version >= $1, < $2"]) + AC_CACHE_CHECK([$_ax_check_text], + [ax_cv_pathless_LUA], + [ for ax_cv_pathless_LUA in _AX_LUA_INTERPRETER_LIST none; do + test "x$ax_cv_pathless_LUA" = 'xnone' && break + _AX_LUA_CHK_IS_INTRP([$ax_cv_pathless_LUA], [], [continue]) + _AX_LUA_CHK_VER([$ax_cv_pathless_LUA], [$1], [$2], [break]) + done + ]) + dnl Set $LUA to the absolute path of $ax_cv_pathless_LUA. + AS_IF([test "x$ax_cv_pathless_LUA" = 'xnone'], + [LUA=':'], + [AC_PATH_PROG([LUA], [$ax_cv_pathless_LUA])]) + ax_display_LUA=$ax_cv_pathless_LUA + ]) + ]) + + AS_IF([test "x$LUA" = 'x:'], + [ dnl Run any user-specified action, or abort. + m4_default([$4], [AC_MSG_ERROR([cannot find suitable Lua interpreter])]) + ], + [ dnl Query Lua for its version number. + AC_CACHE_CHECK([for $ax_display_LUA version], + [ax_cv_lua_version], + [ dnl Get the interpreter version in X.Y format. This should work for + dnl interpreters version 5.0 and beyond. + ax_cv_lua_version=[`$LUA -e ' + -- return a version number in X.Y format + local _, _, ver = string.find(_VERSION, "^Lua (%d+%.%d+)") + print(ver)'`] + ]) + AS_IF([test "x$ax_cv_lua_version" = 'x'], + [AC_MSG_ERROR([invalid Lua version number])]) + AC_SUBST([LUA_VERSION], [$ax_cv_lua_version]) + AC_SUBST([LUA_SHORT_VERSION], [`echo "$LUA_VERSION" | $SED 's|\.||'`]) + + dnl The following check is not supported: + dnl At times (like when building shared libraries) you may want to know + dnl which OS platform Lua thinks this is. + AC_CACHE_CHECK([for $ax_display_LUA platform], + [ax_cv_lua_platform], + [ax_cv_lua_platform=[`$LUA -e 'print("unknown")'`]]) + AC_SUBST([LUA_PLATFORM], [$ax_cv_lua_platform]) + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of LUA_PREFIX and LUA_EXEC_PREFIX. These are made distinct + dnl variables so they can be overridden if need be. However, the general + dnl consensus is that you shouldn't need this ability. + AC_SUBST([LUA_PREFIX], ['${prefix}']) + AC_SUBST([LUA_EXEC_PREFIX], ['${exec_prefix}']) + + dnl Lua provides no way to query the script directory, and instead + dnl provides LUA_PATH. However, we should be able to make a safe educated + dnl guess. If the built-in search path contains a directory which is + dnl prefixed by $prefix, then we can store scripts there. The first + dnl matching path will be used. + AC_CACHE_CHECK([for $ax_display_LUA script directory], + [ax_cv_lua_luadir], + [ AS_IF([test "x$prefix" = 'xNONE'], + [ax_lua_prefix=$ac_default_prefix], + [ax_lua_prefix=$prefix]) + + dnl Initialize to the default path. + ax_cv_lua_luadir="$LUA_PREFIX/share/lua/$LUA_VERSION" + + dnl Try to find a path with the prefix. + _AX_LUA_FND_PRFX_PTH([$LUA], [$ax_lua_prefix], [script]) + AS_IF([test "x$ax_lua_prefixed_path" != 'x'], + [ dnl Fix the prefix. + _ax_strip_prefix=`echo "$ax_lua_prefix" | $SED 's|.|.|g'` + ax_cv_lua_luadir=`echo "$ax_lua_prefixed_path" | \ + $SED "s|^$_ax_strip_prefix|$LUA_PREFIX|"` + ]) + ]) + AC_SUBST([luadir], [$ax_cv_lua_luadir]) + AC_SUBST([pkgluadir], [\${luadir}/$PACKAGE]) + + dnl Lua provides no way to query the module directory, and instead + dnl provides LUA_PATH. However, we should be able to make a safe educated + dnl guess. If the built-in search path contains a directory which is + dnl prefixed by $exec_prefix, then we can store modules there. The first + dnl matching path will be used. + AC_CACHE_CHECK([for $ax_display_LUA module directory], + [ax_cv_lua_luaexecdir], + [ AS_IF([test "x$exec_prefix" = 'xNONE'], + [ax_lua_exec_prefix=$ax_lua_prefix], + [ax_lua_exec_prefix=$exec_prefix]) + + dnl Initialize to the default path. + ax_cv_lua_luaexecdir="$LUA_EXEC_PREFIX/lib/lua/$LUA_VERSION" + + dnl Try to find a path with the prefix. + _AX_LUA_FND_PRFX_PTH([$LUA], + [$ax_lua_exec_prefix], [module]) + AS_IF([test "x$ax_lua_prefixed_path" != 'x'], + [ dnl Fix the prefix. + _ax_strip_prefix=`echo "$ax_lua_exec_prefix" | $SED 's|.|.|g'` + ax_cv_lua_luaexecdir=`echo "$ax_lua_prefixed_path" | \ + $SED "s|^$_ax_strip_prefix|$LUA_EXEC_PREFIX|"` + ]) + ]) + AC_SUBST([luaexecdir], [$ax_cv_lua_luaexecdir]) + AC_SUBST([pkgluaexecdir], [\${luaexecdir}/$PACKAGE]) + + dnl Run any user specified action. + $3 + ]) +]) + +dnl AX_WITH_LUA is now the same thing as AX_PROG_LUA. +AC_DEFUN([AX_WITH_LUA], +[ + AC_MSG_WARN([[$0 is deprecated, please use AX_PROG_LUA instead]]) + AX_PROG_LUA +]) + + +dnl ========================================================================= +dnl _AX_LUA_CHK_IS_INTRP(PROG, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +dnl ========================================================================= +AC_DEFUN([_AX_LUA_CHK_IS_INTRP], +[ + dnl A minimal Lua factorial to prove this is an interpreter. This should work + dnl for Lua interpreters version 5.0 and beyond. + _ax_lua_factorial=[`$1 2>/dev/null -e ' + -- a simple factorial + function fact (n) + if n == 0 then + return 1 + else + return n * fact(n-1) + end + end + print("fact(5) is " .. fact(5))'`] + AS_IF([test "$_ax_lua_factorial" = 'fact(5) is 120'], + [$2], [$3]) +]) + + +dnl ========================================================================= +dnl _AX_LUA_CHK_VER(PROG, MINIMUM-VERSION, [TOO-BIG-VERSION], +dnl [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +dnl ========================================================================= +AC_DEFUN([_AX_LUA_CHK_VER], +[ + dnl Check that the Lua version is within the bounds. Only the major and minor + dnl version numbers are considered. This should work for Lua interpreters + dnl version 5.0 and beyond. + _ax_lua_good_version=[`$1 -e ' + -- a script to compare versions + function verstr2num(verstr) + local _, _, majorver, minorver = string.find(verstr, "^(%d+)%.(%d+)") + if majorver and minorver then + return tonumber(majorver) * 100 + tonumber(minorver) + end + end + local minver = verstr2num("$2") + local _, _, trimver = string.find(_VERSION, "^Lua (.*)") + local ver = verstr2num(trimver) + local maxver = verstr2num("$3") or 1e9 + if minver <= ver and ver < maxver then + print("yes") + else + print("no") + end'`] + AS_IF([test "x$_ax_lua_good_version" = "xyes"], + [$4], [$5]) +]) + + +dnl ========================================================================= +dnl _AX_LUA_FND_PRFX_PTH(PROG, PREFIX, SCRIPT-OR-MODULE-DIR) +dnl ========================================================================= +AC_DEFUN([_AX_LUA_FND_PRFX_PTH], +[ + dnl Get the script or module directory by querying the Lua interpreter, + dnl filtering on the given prefix, and selecting the shallowest path. If no + dnl path is found matching the prefix, the result will be an empty string. + dnl The third argument determines the type of search, it can be 'script' or + dnl 'module'. Supplying 'script' will perform the search with package.path + dnl and LUA_PATH, and supplying 'module' will search with package.cpath and + dnl LUA_CPATH. This is done for compatibility with Lua 5.0. + + ax_lua_prefixed_path=[`$1 -e ' + -- get the path based on search type + local searchtype = "$3" + local paths = "" + if searchtype == "script" then + paths = (package and package.path) or LUA_PATH + elseif searchtype == "module" then + paths = (package and package.cpath) or LUA_CPATH + end + -- search for the prefix + local prefix = "'$2'" + local minpath = "" + local mindepth = 1e9 + string.gsub(paths, "(@<:@^;@:>@+)", + function (path) + path = string.gsub(path, "%?.*$", "") + path = string.gsub(path, "/@<:@^/@:>@*$", "") + if string.find(path, prefix) then + local depth = string.len(string.gsub(path, "@<:@^/@:>@", "")) + if depth < mindepth then + minpath = path + mindepth = depth + end + end + end) + print(minpath)'`] +]) + + +dnl ========================================================================= +dnl AX_LUA_HEADERS([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ========================================================================= +AC_DEFUN([AX_LUA_HEADERS], +[ + dnl Check for LUA_VERSION. + AC_MSG_CHECKING([if LUA_VERSION is defined]) + AS_IF([test "x$LUA_VERSION" != 'x'], + [AC_MSG_RESULT([yes])], + [ AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot check Lua headers without knowing LUA_VERSION]) + ]) + + dnl Make LUA_INCLUDE a precious variable. + AC_ARG_VAR([LUA_INCLUDE], [The Lua includes, e.g. -I/usr/include/lua5.1]) + + dnl Some default directories to search. + LUA_SHORT_VERSION=`echo "$LUA_VERSION" | $SED 's|\.||'` + m4_define_default([_AX_LUA_INCLUDE_LIST], + [ /usr/include/lua$LUA_VERSION \ + /usr/include/lua-$LUA_VERSION \ + /usr/include/lua/$LUA_VERSION \ + /usr/include/lua$LUA_SHORT_VERSION \ + /usr/local/include/lua$LUA_VERSION \ + /usr/local/include/lua-$LUA_VERSION \ + /usr/local/include/lua/$LUA_VERSION \ + /usr/local/include/lua$LUA_SHORT_VERSION \ + ]) + + dnl Try to find the headers. + _ax_lua_saved_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $LUA_INCLUDE" + AC_CHECK_HEADERS([lua.h lualib.h lauxlib.h luaconf.h]) + CPPFLAGS=$_ax_lua_saved_cppflags + + dnl Try some other directories if LUA_INCLUDE was not set. + AS_IF([test "x$LUA_INCLUDE" = 'x' && + test "x$ac_cv_header_lua_h" != 'xyes'], + [ dnl Try some common include paths. + for _ax_include_path in _AX_LUA_INCLUDE_LIST; do + test ! -d "$_ax_include_path" && continue + + AC_MSG_CHECKING([for Lua headers in]) + AC_MSG_RESULT([$_ax_include_path]) + + AS_UNSET([ac_cv_header_lua_h]) + AS_UNSET([ac_cv_header_lualib_h]) + AS_UNSET([ac_cv_header_lauxlib_h]) + AS_UNSET([ac_cv_header_luaconf_h]) + + _ax_lua_saved_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$_ax_include_path" + AC_CHECK_HEADERS([lua.h lualib.h lauxlib.h luaconf.h]) + CPPFLAGS=$_ax_lua_saved_cppflags + + AS_IF([test "x$ac_cv_header_lua_h" = 'xyes'], + [ LUA_INCLUDE="-I$_ax_include_path" + break + ]) + done + ]) + + AS_IF([test "x$ac_cv_header_lua_h" = 'xyes'], + [ dnl Make a program to print LUA_VERSION defined in the header. + dnl TODO It would be really nice if we could do this without compiling a + dnl program, then it would work when cross compiling. But I'm not sure how + dnl to do this reliably. For now, assume versions match when cross compiling. + + AS_IF([test "x$cross_compiling" != 'xyes'], + [ AC_CACHE_CHECK([for Lua header version], + [ax_cv_lua_header_version], + [ _ax_lua_saved_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $LUA_INCLUDE" + AC_RUN_IFELSE( + [ AC_LANG_SOURCE([[ +#include +#include +#include +int main(int argc, char ** argv) +{ + if(argc > 1) printf("%s", LUA_VERSION); + exit(EXIT_SUCCESS); +} +]]) + ], + [ ax_cv_lua_header_version=`./conftest$EXEEXT p | \ + $SED -n "s|^Lua \(@<:@0-9@:>@\{1,\}\.@<:@0-9@:>@\{1,\}\).\{0,\}|\1|p"` + ], + [ax_cv_lua_header_version='unknown']) + CPPFLAGS=$_ax_lua_saved_cppflags + ]) + + dnl Compare this to the previously found LUA_VERSION. + AC_MSG_CHECKING([if Lua header version matches $LUA_VERSION]) + AS_IF([test "x$ax_cv_lua_header_version" = "x$LUA_VERSION"], + [ AC_MSG_RESULT([yes]) + ax_header_version_match='yes' + ], + [ AC_MSG_RESULT([no]) + ax_header_version_match='no' + ]) + ], + [ AC_MSG_WARN([cross compiling so assuming header version number matches]) + ax_header_version_match='yes' + ]) + ]) + + dnl Was LUA_INCLUDE specified? + AS_IF([test "x$ax_header_version_match" != 'xyes' && + test "x$LUA_INCLUDE" != 'x'], + [AC_MSG_ERROR([cannot find headers for specified LUA_INCLUDE])]) + + dnl Test the final result and run user code. + AS_IF([test "x$ax_header_version_match" = 'xyes'], [$1], + [m4_default([$2], [AC_MSG_ERROR([cannot find Lua includes])])]) +]) + +dnl AX_LUA_HEADERS_VERSION no longer exists, use AX_LUA_HEADERS. +AC_DEFUN([AX_LUA_HEADERS_VERSION], +[ + AC_MSG_WARN([[$0 is deprecated, please use AX_LUA_HEADERS instead]]) +]) + + +dnl ========================================================================= +dnl AX_LUA_LIBS([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ========================================================================= +AC_DEFUN([AX_LUA_LIBS], +[ + dnl TODO Should this macro also check various -L flags? + + dnl Check for LUA_VERSION. + AC_MSG_CHECKING([if LUA_VERSION is defined]) + AS_IF([test "x$LUA_VERSION" != 'x'], + [AC_MSG_RESULT([yes])], + [ AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot check Lua libs without knowing LUA_VERSION]) + ]) + + dnl Make LUA_LIB a precious variable. + AC_ARG_VAR([LUA_LIB], [The Lua library, e.g. -llua5.1]) + + AS_IF([test "x$LUA_LIB" != 'x'], + [ dnl Check that LUA_LIBS works. + _ax_lua_saved_libs=$LIBS + LIBS="$LIBS $LUA_LIB" + AC_SEARCH_LIBS([lua_load], [], + [_ax_found_lua_libs='yes'], + [_ax_found_lua_libs='no']) + LIBS=$_ax_lua_saved_libs + + dnl Check the result. + AS_IF([test "x$_ax_found_lua_libs" != 'xyes'], + [AC_MSG_ERROR([cannot find libs for specified LUA_LIB])]) + ], + [ dnl First search for extra libs. + _ax_lua_extra_libs='' + + _ax_lua_saved_libs=$LIBS + LIBS="$LIBS $LUA_LIB" + AC_SEARCH_LIBS([exp], [m]) + AC_SEARCH_LIBS([dlopen], [dl]) + LIBS=$_ax_lua_saved_libs + + AS_IF([test "x$ac_cv_search_exp" != 'xno' && + test "x$ac_cv_search_exp" != 'xnone required'], + [_ax_lua_extra_libs="$_ax_lua_extra_libs $ac_cv_search_exp"]) + + AS_IF([test "x$ac_cv_search_dlopen" != 'xno' && + test "x$ac_cv_search_dlopen" != 'xnone required'], + [_ax_lua_extra_libs="$_ax_lua_extra_libs $ac_cv_search_dlopen"]) + + dnl Try to find the Lua libs. + _ax_lua_saved_libs=$LIBS + LIBS="$LIBS $LUA_LIB" + AC_SEARCH_LIBS([lua_load], + [ lua$LUA_VERSION \ + lua$LUA_SHORT_VERSION \ + lua-$LUA_VERSION \ + lua-$LUA_SHORT_VERSION \ + lua \ + ], + [_ax_found_lua_libs='yes'], + [_ax_found_lua_libs='no'], + [$_ax_lua_extra_libs]) + LIBS=$_ax_lua_saved_libs + + AS_IF([test "x$ac_cv_search_lua_load" != 'xno' && + test "x$ac_cv_search_lua_load" != 'xnone required'], + [LUA_LIB="$ac_cv_search_lua_load $_ax_lua_extra_libs"]) + ]) + + dnl Test the result and run user code. + AS_IF([test "x$_ax_found_lua_libs" = 'xyes'], [$1], + [m4_default([$2], [AC_MSG_ERROR([cannot find Lua libs])])]) +]) + + +dnl ========================================================================= +dnl AX_LUA_READLINE([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ========================================================================= +AC_DEFUN([AX_LUA_READLINE], +[ + AX_LIB_READLINE + AS_IF([test "x$ac_cv_header_readline_readline_h" != 'x' && + test "x$ac_cv_header_readline_history_h" != 'x'], + [ LUA_LIBS_CFLAGS="-DLUA_USE_READLINE $LUA_LIBS_CFLAGS" + $1 + ], + [$2]) +]) diff --git a/m4/autoconf-archive/ax_luarocks_rock.m4 b/m4/autoconf-archive/ax_luarocks_rock.m4 new file mode 100755 index 0000000000..b6099b3300 --- /dev/null +++ b/m4/autoconf-archive/ax_luarocks_rock.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_luarocks_rock.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_LUAROCKS_ROCK([ROCK]) +# +# DESCRIPTION +# +# Checks for a rock, and fails if it is not installed. +# +# Example usage: +# +# AX_LUAROCKS_ROCK(stdlib) +# +# Note: use of this macro is not normally recommended. Normally, LuaRocks +# should be used to drive the build system, and it takes care of rock +# dependencies. Use this macro only if LuaRocks cannot be used at the top +# level, for example, in a build system that uses Lua only incidentally. +# +# LICENSE +# +# Copyright (c) 2016 Reuben Thomas +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_LUAROCKS_ROCK],[ + # Make sure we have luarocks + if test -z "$LUAROCKS"; then + AX_WITH_PROG(LUAROCKS,luarocks) + if test -z "$LUAROCKS"; then + AC_MSG_ERROR([can't find luarocks]) + fi + fi + + AC_PREREQ([2.61]) + + pushdef([ROCK],$1) + AC_MSG_CHECKING(whether LuaRock ROCK is installed) + AS_IF(["$LUAROCKS" show ROCK > /dev/null],[ + AC_MSG_RESULT(yes) + ],[ + AC_MSG_FAILURE([LuaRock ROCK not found]) + ]) + + popdef([ROCK]) +]) diff --git a/m4/autoconf-archive/ax_maintainer_mode_auto_silent.m4 b/m4/autoconf-archive/ax_maintainer_mode_auto_silent.m4 new file mode 100755 index 0000000000..80375d68a7 --- /dev/null +++ b/m4/autoconf-archive/ax_maintainer_mode_auto_silent.m4 @@ -0,0 +1,71 @@ +# =================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_maintainer_mode_auto_silent.html +# =================================================================================== +# +# SYNOPSIS +# +# AX_MAINTAINER_MODE_AUTO_SILENT +# +# DESCRIPTION +# +# Set autotools to error/sleep settings so that they are not run when +# being erroneously triggered. Likewise make libtool-silent when libtool +# has been used. +# +# I use the macro quite a lot since some automake versions have the +# tendency to try to rerun some autotools on a mere make even when not +# quite in --maintainer-mode. That is very annoying. Likewise, a user who +# installs from source does not want to see doubled compiler messages. +# +# I did not put an AC_REQUIRE(MAINTAINER_MODE) in here - should I? +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_MAINTAINER_MODE_AUTO_SILENT],[dnl +dnl ac_REQUIRE([am_MAINTAINER_MODE])dn +AC_MSG_CHECKING(auto silent in maintainer mode) +if test "$USE_MAINTAINER_MODE" = "no" ; then + test ".$TIMEOUT" = "." && TIMEOUT="9" + AUTOHEADER="sleep $TIMEOUT ; true || autoheader || skipped" + AUTOMAKE="sleep $TIMEOUT ; true || automake || skipped" + AUTOCONF="sleep $TIMEOUT ; true || autoconf || skipped" + if test ".$LIBTOOL" != "." ; then + LIBTOOL="$LIBTOOL --silent" + AC_MSG_RESULT([libtool-silent, auto-sleep-9]) + else + AC_MSG_RESULT([auto-sleep-9]) + fi +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_missing_prog.m4 b/m4/autoconf-archive/ax_missing_prog.m4 new file mode 100755 index 0000000000..311a88c28e --- /dev/null +++ b/m4/autoconf-archive/ax_missing_prog.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_missing_prog.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_MISSING_PROG(VARIABLE,PROGRAM,[MESSAGE]) +# +# DESCRIPTION +# +# Simple wrapper for the AM_MISSING_PROG which displays a warning MESSAGE +# if provided. A typical use is the following: +# +# AC_PROG_AWK +# AS_IF([test -z "$AWK"],[ +# AX_MISSING_PROG(AWK,[awk],[awk seems missing ...]) +# ]) +# +# Programs wrapped with AX_MISSING_PROG should be used only in the package +# building phase (because they will be wrapped with the automake 'missing' +# script, which will not be installed). +# +# LICENSE +# +# Copyright (c) 2008 Francesco Salvestrini +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_MISSING_PROG],[dnl + AS_IF([ test ! -z "$3" ],[ + AC_MSG_WARN([$3]) + ]) + AM_MISSING_PROG([$1],[$2]) +]) diff --git a/m4/autoconf-archive/ax_mpi.m4 b/m4/autoconf-archive/ax_mpi.m4 new file mode 100755 index 0000000000..f6db3d0cae --- /dev/null +++ b/m4/autoconf-archive/ax_mpi.m4 @@ -0,0 +1,176 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_mpi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_MPI([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile programs that use MPI +# (Message Passing Interface), a standard API for parallel process +# communication (see http://www-unix.mcs.anl.gov/mpi/) +# +# On success, it sets the MPICC, MPICXX, MPIF77, or MPIFC output variable +# to the name of the MPI compiler, depending upon the current language. +# (This may just be $CC/$CXX/$F77/$FC, but is more often something like +# mpicc/mpiCC/mpif77/mpif90.) It also sets MPILIBS to any libraries that +# are needed for linking MPI (e.g. -lmpi or -lfmpi, if a special +# MPICC/MPICXX/MPIF77/MPIFC was not found). +# +# Note that this macro should be used only if you just have a few source +# files that need to be compiled using MPI. In particular, you should +# neither overwrite CC/CXX/F77/FC with the values of +# MPICC/MPICXX/MPIF77/MPIFC, nor assume that you can use the same flags +# etc. as the standard compilers. If you want to compile a whole program +# using the MPI compiler commands, use one of the macros +# AX_PROG_{CC,CXX,FC}_MPI. +# +# ACTION-IF-FOUND is a list of shell commands to run if an MPI library is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run if it is not +# found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_MPI. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2008 Julian C. Cummings +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AU_ALIAS([ACX_MPI], [AX_MPI]) +AC_DEFUN([AX_MPI], [ +AC_PREREQ(2.50) dnl for AC_LANG_CASE + +AC_LANG_CASE([C], [ + AC_REQUIRE([AC_PROG_CC]) + AC_ARG_VAR(MPICC,[MPI C compiler command]) + AC_CHECK_PROGS(MPICC, mpicc hcc mpxlc_r mpxlc mpcc cmpicc, $CC) + ax_mpi_save_CC="$CC" + CC="$MPICC" + AC_SUBST(MPICC) +], +[C++], [ + AC_REQUIRE([AC_PROG_CXX]) + AC_ARG_VAR(MPICXX,[MPI C++ compiler command]) + AC_CHECK_PROGS(MPICXX, mpic++ mpicxx mpiCC hcp mpxlC_r mpxlC mpCC cmpic++, $CXX) + ax_mpi_save_CXX="$CXX" + CXX="$MPICXX" + AC_SUBST(MPICXX) +], +[Fortran 77], [ + AC_REQUIRE([AC_PROG_F77]) + AC_ARG_VAR(MPIF77,[MPI Fortran 77 compiler command]) + AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc, $F77) + ax_mpi_save_F77="$F77" + F77="$MPIF77" + AC_SUBST(MPIF77) +], +[Fortran], [ + AC_REQUIRE([AC_PROG_FC]) + AC_ARG_VAR(MPIFC,[MPI Fortran compiler command]) + AC_CHECK_PROGS(MPIFC, mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c, $FC) + ax_mpi_save_FC="$FC" + FC="$MPIFC" + AC_SUBST(MPIFC) +]) + +if test x = x"$MPILIBS"; then + AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])], + [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])], + [Fortran 77], [AC_MSG_CHECKING([for MPI_Init]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" " + AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])], + [Fortran], [AC_MSG_CHECKING([for MPI_Init]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" " + AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])]) +fi +AC_LANG_CASE([Fortran 77], [ + if test x = x"$MPILIBS"; then + AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"]) + fi + if test x = x"$MPILIBS"; then + AC_CHECK_LIB(fmpich, MPI_Init, [MPILIBS="-lfmpich"]) + fi +], +[Fortran], [ + if test x = x"$MPILIBS"; then + AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"]) + fi + if test x = x"$MPILIBS"; then + AC_CHECK_LIB(mpichf90, MPI_Init, [MPILIBS="-lmpichf90"]) + fi +]) +if test x = x"$MPILIBS"; then + AC_CHECK_LIB(mpi, MPI_Init, [MPILIBS="-lmpi"]) +fi +if test x = x"$MPILIBS"; then + AC_CHECK_LIB(mpich, MPI_Init, [MPILIBS="-lmpich"]) +fi + +dnl We have to use AC_TRY_COMPILE and not AC_CHECK_HEADER because the +dnl latter uses $CPP, not $CC (which may be mpicc). +AC_LANG_CASE([C], [if test x != x"$MPILIBS"; then + AC_MSG_CHECKING([for mpi.h]) + AC_TRY_COMPILE([#include ],[],[AC_MSG_RESULT(yes)], [MPILIBS="" + AC_MSG_RESULT(no)]) +fi], +[C++], [if test x != x"$MPILIBS"; then + AC_MSG_CHECKING([for mpi.h]) + AC_TRY_COMPILE([#include ],[],[AC_MSG_RESULT(yes)], [MPILIBS="" + AC_MSG_RESULT(no)]) +fi], +[Fortran 77], [if test x != x"$MPILIBS"; then + AC_MSG_CHECKING([for mpif.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS="" + AC_MSG_RESULT(no)]) +fi], +[Fortran], [if test x != x"$MPILIBS"; then + AC_MSG_CHECKING([for mpif.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS="" + AC_MSG_RESULT(no)]) +fi]) + +AC_LANG_CASE([C], [CC="$ax_mpi_save_CC"], + [C++], [CXX="$ax_mpi_save_CXX"], + [Fortran 77], [F77="$ax_mpi_save_F77"], + [Fortran], [FC="$ax_mpi_save_FC"]) + +AC_SUBST(MPILIBS) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x = x"$MPILIBS"; then + $2 + : +else + ifelse([$1],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$1]) + : +fi +])dnl AX_MPI diff --git a/m4/autoconf-archive/ax_mpip.m4 b/m4/autoconf-archive/ax_mpip.m4 new file mode 100755 index 0000000000..924bd09d67 --- /dev/null +++ b/m4/autoconf-archive/ax_mpip.m4 @@ -0,0 +1,105 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_mpip.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_MPIP([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Test for mpiP: Lightweight, Scalable MPI Profiling +# (http://mpip.sourceforge.net/) +# +# Provides a --with-mpiP=DIR option. Searches --with-mpiP location and the +# usual places for mpiP and required libraries. Marks MPIP as a precious +# environment variable. +# +# On success, sets MPIP_LDFLAGS, MPIP_LIBS, #defines HAVE_MPIP, and calls +# ACTION-IF-FOUND. When ACTION-IF-NOT-FOUND is not specified, the default +# behavior is for configure to fail. +# +# LICENSE +# +# Copyright (c) 2010 Rhys Ulerich +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Macro Archive. When you make and +# distribute a modified version of the Autoconf Macro, you may extend this +# special exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_MPIP], [ +AC_PREREQ(2.60) +AC_REQUIRE([ACX_MPI]) +AC_ARG_VAR([MPIP],[mpiP options]) + +AC_ARG_WITH( + [mpiP], + [AS_HELP_STRING([--with-mpiP@<:@=DIR@:>@], + [use mpiP profiler; optional install prefix])], + [with_mpiP=$withval], + [with_mpiP=no]) + +if test "${with_mpiP}" != no ; then + ax_mpiP_save_CC="$CC" + ax_mpiP_save_LDFLAGS="$LDFLAGS" + ax_mpiP_save_LIBS="$LIBS" + + MPIP_LDFLAGS="" + MPIP_LIBS="-lmpiP -lbfd -liberty" + if test "${with_mpiP}" != yes; then + if test -d "${with_mpiP}/lib"; then + MPIP_LDFLAGS="-L${with_mpiP}/lib" + else + AC_MSG_WARN([--with-mpiP expected ${with_mpiP}/lib to be a directory]) + fi + fi + LDFLAGS="${MPIP_LDFLAGS} ${LDFLAGS}" + CC=$MPICC + + AC_LANG_PUSH([C]) + AC_CHECK_LIB([mpiP], + [mpiPi], + [ax_mpiP_cv_found=yes], + [ax_mpiP_cv_found=no], + [-lbfd -liberty]) + AC_LANG_POP([C]) + + CC="$ax_mpiP_save_CC" + LDFLAGS="$ax_mpiP_save_LDFLAGS" + LIBS="$ax_mpiP_save_LIBS" + + if test "$ax_mpiP_cv_found" = no; then + ifelse([$2],,AC_MSG_ERROR([mpiP not found. Try --with-mpiP=DIR.]), + [$2]) + else + AC_DEFINE(HAVE_MPIP,1,[Define if mpiP is available]) + AC_SUBST(MPIP_LDFLAGS) + AC_SUBST(MPIP_LIBS) + ifelse([$1],,,[$1]) + fi +fi +])dnl AX_MPIP diff --git a/m4/autoconf-archive/ax_need_awk.m4 b/m4/autoconf-archive/ax_need_awk.m4 new file mode 100755 index 0000000000..ad05353190 --- /dev/null +++ b/m4/autoconf-archive/ax_need_awk.m4 @@ -0,0 +1,36 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_need_awk.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_NEED_AWK +# +# DESCRIPTION +# +# Check if an awk implementation is available. Bail-out if not found. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_NEED_AWK],[ + AC_REQUIRE([AC_PROG_AWK]) + + AS_IF([test "x$AWK" = "x"],[ + AC_MSG_ERROR([cannot find awk, bailing out]) + ]) +]) diff --git a/m4/autoconf-archive/ax_normalize_path.m4 b/m4/autoconf-archive/ax_normalize_path.m4 new file mode 100755 index 0000000000..b789a9369e --- /dev/null +++ b/m4/autoconf-archive/ax_normalize_path.m4 @@ -0,0 +1,115 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_normalize_path.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_NORMALIZE_PATH(VARNAME, [REFERENCE_STRING]) +# +# DESCRIPTION +# +# Perform some cleanups on the value of $VARNAME (interpreted as a path): +# +# - empty paths are changed to '.' +# - trailing slashes are removed +# - repeated slashes are squeezed except a leading doubled slash '//' +# (which might indicate a networked disk on some OS). +# +# REFERENCE_STRING is used to turn '/' into '\' and vice-versa: if +# REFERENCE_STRING contains some backslashes, all slashes and backslashes +# are turned into backslashes, otherwise they are all turned into slashes. +# +# This makes processing of DOS filenames quite easier, because you can +# turn a filename to the Unix notation, make your processing, and turn it +# back to original notation. +# +# filename='A:\FOO\\BAR\' +# old_filename="$filename" +# # Switch to the unix notation +# AX_NORMALIZE_PATH([filename], ["/"]) +# # now we have $filename = 'A:/FOO/BAR' and we can process it as if +# # it was a Unix path. For instance let's say that you want +# # to append '/subpath': +# filename="$filename/subpath" +# # finally switch back to the original notation +# AX_NORMALIZE_PATH([filename], ["$old_filename"]) +# # now $filename equals to 'A:\FOO\BAR\subpath' +# +# One good reason to make all path processing with the unix convention is +# that backslashes have a special meaning in many cases. For instance +# +# expr 'A:\FOO' : 'A:\Foo' +# +# will return 0 because the second argument is a regex in which +# backslashes have to be backslashed. In other words, to have the two +# strings to match you should write this instead: +# +# expr 'A:\Foo' : 'A:\\Foo' +# +# Such behavior makes DOS filenames extremely unpleasant to work with. So +# temporary turn your paths to the Unix notation, and revert them to the +# original notation after the processing. See the macro +# AX_COMPUTE_RELATIVE_PATHS for a concrete example of this. +# +# REFERENCE_STRING defaults to $VARIABLE, this means that slashes will be +# converted to backslashes if $VARIABLE already contains some backslashes +# (see $thirddir below). +# +# firstdir='/usr/local//share' +# seconddir='C:\Program Files\\' +# thirddir='C:\home/usr/' +# AX_NORMALIZE_PATH([firstdir]) +# AX_NORMALIZE_PATH([seconddir]) +# AX_NORMALIZE_PATH([thirddir]) +# # $firstdir = '/usr/local/share' +# # $seconddir = 'C:\Program Files' +# # $thirddir = 'C:\home\usr' +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([ADL_NORMALIZE_PATH], [AX_NORMALIZE_PATH]) +AC_DEFUN([AX_NORMALIZE_PATH], +[case ":[$]$1:" in +# change empty paths to '.' + ::) $1='.' ;; +# strip trailing slashes + :*[[\\/]]:) $1=`echo "[$]$1" | sed 's,[[\\/]]*[$],,'` ;; + :*:) ;; +esac +# squeeze repeated slashes +case ifelse($2,,"[$]$1",$2) in +# if the path contains any backslashes, turn slashes into backslashes + *\\*) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1\\\\,g'` ;; +# if the path contains slashes, also turn backslashes into slashes + *) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1/,g'` ;; +esac]) diff --git a/m4/autoconf-archive/ax_not_enable_frame_pointer.m4 b/m4/autoconf-archive/ax_not_enable_frame_pointer.m4 new file mode 100755 index 0000000000..72a577b7f9 --- /dev/null +++ b/m4/autoconf-archive/ax_not_enable_frame_pointer.m4 @@ -0,0 +1,66 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_not_enable_frame_pointer.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_NOT_ENABLE_FRAME_POINTER ([shellvar]) +# +# DESCRIPTION +# +# add --enable-frame-pointer option, the default will add the gcc +# -fomit-frame-pointer option to the shellvar (per default CFLAGS) and +# remove the " -g " debuginfo option from it. In other words, the default +# is "--disable-frame-pointer" +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_NOT_ENABLE_FRAME_POINTER],[dnl +AS_VAR_PUSHDEF([VAR],[enable_frame_pointer])dnl +AC_MSG_CHECKING([m4_ifval($1,$1,CFLAGS) frame-pointer]) +AC_ARG_ENABLE([frame-pointer], AS_HELP_STRING( + [--enable-frame-pointer],[enable callframe generation for debugging])) +case ".$VAR" in + .|.no|.no,*) test ".$VAR" = "." && VAR="no" + m4_ifval($1,$1,CFLAGS)=`echo dnl + " $m4_ifval($1,$1,CFLAGS) " | sed -e 's/ -g / /'` + if test ".$GCC" = ".yes" ; then + m4_ifval($1,$1,CFLAGS)="$m4_ifval($1,$1,CFLAGS) -fomit-frame-pointer" + AC_MSG_RESULT([$VAR, -fomit-frame-pointer added]) + else + AC_MSG_RESULT([$VAR, -g removed]) + fi ;; + *) AC_MSG_RESULT([$VAR, kept]) ;; +esac +AS_VAR_POPDEF([VAR])dnl +]) diff --git a/m4/autoconf-archive/ax_numeric_namedlevel.m4 b/m4/autoconf-archive/ax_numeric_namedlevel.m4 new file mode 100755 index 0000000000..35a2d634f1 --- /dev/null +++ b/m4/autoconf-archive/ax_numeric_namedlevel.m4 @@ -0,0 +1,110 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_numeric_namedlevel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_NUMERIC_NAMEDLEVEL(VARNAME [,FROMVAR [,DEFAULT [,YESLEVEL]]]) +# +# DESCRIPTION +# +# The levelstring FROMVAR is expanded and checked for verbal names that +# will map on to eight different levels - the VARNAME will receive this +# numeric level where "all" maps to 7 (lower three bits set) higher levels +# for 8 and 9 exist too. This macro is a nice helper to convert user input +# of a --with-opt=level into a numeric form that can be simply pushed as a +# #define like with AC_DEFINE: +# +# default YESLEVEL = 2 /* including unknown levelspec */ +# default DEFAULT = 0 /* when named level is empty */ +# default FROMVAR = VARNAME +# +# The DEFAULT value is used if the NAMED levelstring has become empty and +# it is copied without further conversion - a default of "0" is used if +# absent - identical to "no". A "yes" will be set to the YESLEVEL - and +# note that "yes" has "2" as its default value not "1". (which comes from +# its original use to set a "gcc -O2"). +# +# the mnemonic names are: +# +# 9| insane |ultrasome|experimentalplus +# 8| ultra |ultra|experimental) +# 7| all |muchmore|somemanymore|manymoreplus +# 6| most |manymore|most) +# 5| strict |somemore|almost +# 4| more |more +# 3| extra |manyplus|plusmuch|somemany|plusmany +# 2| many |many|much|(yes) +# 1| some |some|plus +# +# note that a level can be constructed of (some|plus) = bit-0, (many|much) +# = bit-1, (more) = bit-2, (ultra|experimental) = bit-3 at least in a +# left-to-right order, ie. plusmanymore=7 +# +# Example usage: +# +# AX_NUMERIC_NAMEDLEVEL(OPTLEVEL,with_optlevel,1,3) +# AC_DEFINE(OPTLEVEL) +# test "$GCC" = "yes" && CFLAGS="$CFLAGS -O$OPTLEVEL) +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_NUMERIC_NAMEDLEVEL], [AX_NUMERIC_NAMEDLEVEL]) +AC_DEFUN([AX_NUMERIC_NAMEDLEVEL], +[dnl the names to be defined... +$1="ifelse($1,,[$]$2,[$]$1)" ; $1="[$]$1" +$1="[$]$1" ; $1="[$]$1" +if test "_[$]$1" = "_" ; then + $1="ifelse([$3],,0,[$3])" +elif test "_[$]$1" = "_yes" ; then + $1="ifelse([$4],,2,[$4])" +else + $1=`echo [$]$1 | sed -e 's,some,plus,' -e 's,experimental,ultra,' -e 's,over,ultra,' -e 's,much,many,'` + case "[$]$1" in + 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*|-*|+*) ;; # leave as is + insane|ultraplus|plusultra) $1="9" ;; + ultra) $1="8" ;; + manymoreplus|manyplusmore|plusmanymore|all) $1="7" ;; + moremanyplus|moreplusmany|plusmoremany) $1="7" ;; + manymore|moremany|most) $1="6" ;; + somemore|moresome|almost) $1="5" ;; + more) $1="4" ;; + manyplus|plusmany|extra) $1="3" ;; + many) $1="2" ;; + plus) $1="1" ;; + no) $1="0" ;; + yes) $1="ifelse([$4],,2,[$4])" ;; + *) $1="ifelse([$3],,1,[$3])" ;; # for other unkown stuff. + esac +fi +]) diff --git a/m4/autoconf-archive/ax_open62541_check_h.m4 b/m4/autoconf-archive/ax_open62541_check_h.m4 new file mode 100755 index 0000000000..8f80047621 --- /dev/null +++ b/m4/autoconf-archive/ax_open62541_check_h.m4 @@ -0,0 +1,110 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_open62541_check_h.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_OPEN62541_CHECK_H([HEADERS = `...see_below...'], [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Searches for the header file(s) of the open62541 library [1]. +# +# The open62541 library is a cmake-based project, that provides its header +# files in one of two layouts: +# +# 1) As individual files, e.g. ua_config.h, ua_server.h, ua_types.h, ... +# 2) As a single amalgamation file open62541.h +# +# The second case is enabled when configuring open62541 with the options +# "-D UA_ENABLE_AMALGAMATION=true to" cmake, which seems to be preferred. +# Code using the library can distinguish which layout is used by checking +# for the macro "UA_NO_AMALGAMATION": if it is defined, the first layout +# is used. +# +# The AX_OPEN62541_CHECK_H macro checks first for the amalgamation and, if +# that is not found, for the individual headers. It defines +# "UA_NO_AMALGAMATION" if necessary. +# +# The individual headers to check for if no amalgamation is found can be +# provided as a space-separated list in the first argument. If that is +# empty, it defaults to all files known to be contained in the +# amalgamation as of v0.2.0 of the library: +# +# * ms_stdint.h +# * ua_client.h +# * ua_client_highlevel.h +# * ua_config.h +# * ua_config_standard.h +# * ua_connection.h +# * ua_constants.h +# * ua_job.h +# * ua_log.h +# * ua_log_stdout.h +# * ua_network_tcp.h +# * ua_nodeids.h +# * ua_server.h +# * ua_server_external_ns.h +# * ua_types.h +# * ua_types_generated.h +# * ua_types_generated_handling.h +# +# If the with_open62541 shell variable is set to "no" (e.g. from running +# the AX_OPEN62541_PATH macro and the user giving configure the option +# "--without-open62541"), then expands ACTION-IF-NOT-FOUND without any +# checks. +# +# [1]: +# +# LICENSE +# +# Copyright (c) 2016,2017 Olaf Mandel +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +# AX_OPEN62541_CHECK_H([HEADERS], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ------------------------------------------------------------------------- +AC_DEFUN([AX_OPEN62541_CHECK_H], +[m4_pushdef([headers], m4_normalize([$1]))dnl +m4_ifblank(m4_defn([headers]), [m4_define([headers], + [ms_stdint.h]dnl + [ua_client.h]dnl + [ua_client_highlevel.h]dnl + [ua_config.h]dnl + [ua_config_standard.h]dnl + [ua_connection.h]dnl + [ua_constants.h]dnl + [ua_job.h]dnl + [ua_log.h]dnl + [ua_log_stdout.h]dnl + [ua_network_tcp.h]dnl + [ua_nodeids.h]dnl + [ua_server.h]dnl + [ua_server_external_ns.h]dnl + [ua_types.h]dnl + [ua_types_generated.h]dnl + [ua_types_generated_handling.h])])dnl +dnl ua_server_external_ns.h depends on ua_server.h but fails to include it: +dnl so specify the includes: +pushdef([includes], +[#ifdef HAVE_UA_SERVER_H +# include +#endif])dnl +dnl +AS_IF([test x${with_open62541:+set} != xset -o "x$with_open62541" != xno], + [AC_CHECK_HEADERS([open62541.h], [$2], + [AC_CHECK_HEADERS(m4_defn([headers]), [$2]dnl +[AC_DEFINE([UA_NO_AMALGAMATION], [1], + [Use individual open62541 headers instead of the amalgamation.])], + [$3], + [m4_defn([includes])])], + [AC_INCLUDES_DEFAULT])], + [$3]) +m4_popdef([headers], [includes])dnl +])# AX_OPEN62541_CHECK_H diff --git a/m4/autoconf-archive/ax_open62541_check_lib.m4 b/m4/autoconf-archive/ax_open62541_check_lib.m4 new file mode 100755 index 0000000000..7d052af46b --- /dev/null +++ b/m4/autoconf-archive/ax_open62541_check_lib.m4 @@ -0,0 +1,100 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_open62541_check_lib.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_OPEN62541_CHECK_LIB([STATIC-FIRST = `no'], [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Searches for the library file of the open62541 library [1]. +# +# The open62541 library is a cmake-based project, that supplies both a +# shared and a static library (with different names). The +# AX_OPEN62541_CHECK_LIB macro can search for both and adds the first one +# found to the LIBS Makefile variable. The search can be in either order +# (shared first or static first), which is selectable on macro invocation +# with the STATIC-FIRST parameter. The user can change this default by +# invoking configure with either the --with-open62541-shared or +# --with-open62541-static option (the named one is checked first). +# +# Either shared or static library can be excluded from checking completely +# with the options --without-open62541-shared and +# --without-open62541-static. +# +# If the with_open62541 shell variable is set to "no" (e.g. from running +# the AX_OPEN62541_PATH macro and the user giving configure the option +# "--without-open62541"), then expands ACTION-IF-NOT-FOUND without any +# checks. The same is true if both --without-open62541-shared and +# --without-open62541-static are given. +# +# [1]: +# +# LICENSE +# +# Copyright (c) 2016 Olaf Mandel +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +# _AX_OPEN62541_CHECK_LIB_arg(THIS, OTHER) +# ---------------------------------------- +# Define the option --with-open62541-THIS, including checking that no +# unknown argument is given or that both --with-open62541-THIS and +# --with-open62541-OTHER are called. +m4_define([_AX_OPEN62541_CHECK_LIB_arg], +[AC_ARG_WITH([open62541-$1], + [AS_HELP_STRING([--with-open62541-$1], + [search for the $1 open62541 library first])], + [], [])dnl +AS_IF([test x${with_open62541_$1:+set} == xset]dnl +[ -a "x$with_open62541_$1" != xno -a "x$with_open62541_$1" != xyes], + [AC_MSG_FAILURE([--with-open62541-$1 does not take an argument])], + [test x${with_open62541_$1:+set} == xset]dnl +[ -a "x$with_open62541_$1" == xyes -a x${with_open62541_$2:+set} == xset]dnl +[ -a "x$with_open62541_$2" == xyes], + [AC_MSG_FAILURE([--with-open62541-$1 and --with-open62541-$2 are]dnl +[ mutually exclusive])]) +])# _AX_OPEN62541_CHECK_LIB_arg + +# _AX_OPEN62541_CHECK_LIB_1(SHARED-STATIC, ACTION-IF-FOUND, +# ACTION-IF-NOT-FOUND) +# --------------------------------------------------------- +# Checks for the desired library if not forbidden by +# with_open62541_(shared|static) shell variables. +m4_define([_AX_OPEN62541_CHECK_LIB_1], +[m4_pushdef([lib], m4_if([$1], [shared], [open62541], + [$1], [static], [open62541-static]))dnl +AS_IF([test "x$with_open62541_$1" != xno], + [AC_CHECK_LIB(m4_defn([lib]), [UA_Server_new], [$2], [$3])], + [$3]) +m4_popdef([lib])dnl +])# _AX_OPEN62541_CHECK_LIB_1 + +# AX_OPEN62541_CHECK_LIB([STATIC-FIRST], [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------- +AC_DEFUN([AX_OPEN62541_CHECK_LIB], +[m4_pushdef([staticfirst], m4_normalize([$1]))dnl +m4_bmatch(m4_defn([staticfirst]), + [^\([Nn][Oo]?\|0\)$], [m4_define([staticfirst], [])])dnl +m4_pushdef([first], m4_ifblank(m4_defn([staticfirst]), [shared], [static]))dnl +m4_pushdef([secnd], m4_ifblank(m4_defn([staticfirst]), [static], [shared]))dnl +dnl +_AX_OPEN62541_CHECK_LIB_arg([shared], [static])dnl +_AX_OPEN62541_CHECK_LIB_arg([static], [shared])dnl +AS_IF([test x${with_open62541:+set} == xset -a "x$with_open62541" == xno], + [$3], + [test "x$with_open62541_]m4_defn([secnd])[" != xyes], + [_AX_OPEN62541_CHECK_LIB_1(m4_defn([first]), [$2], + [_AX_OPEN62541_CHECK_LIB_1(m4_defn([secnd]), [$2], [$3])])], + [_AX_OPEN62541_CHECK_LIB_1(m4_defn([secnd]), [$2], + [_AX_OPEN62541_CHECK_LIB_1(m4_defn([first]), [$2], [$3])])])dnl +m4_popdef([staticfirst], [first], [secnd])dnl +])# AX_OPEN62541_CHECK_LIB diff --git a/m4/autoconf-archive/ax_open62541_path.m4 b/m4/autoconf-archive/ax_open62541_path.m4 new file mode 100755 index 0000000000..98d62bb090 --- /dev/null +++ b/m4/autoconf-archive/ax_open62541_path.m4 @@ -0,0 +1,112 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_open62541_path.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_OPEN62541_PATH() +# +# DESCRIPTION +# +# Sets pre-processor and linker search paths for the open62541 library +# [1]. +# +# The open62541 library is a cmake-based project, that is not always +# installed to the system: it does not even provide an install target by +# default. In that case, the location of several directories need to be +# added to the pre-processor and linker search paths: +# +# * -I/deps +# * -I/include +# * -I/plugins +# * -I/src_generated +# * -I +# * -L +# +# Here "src" indicates the location of the library source directory and +# "build" the location of the out-of-source build. +# +# This macro provides the configure options --with-open62541=dir and +# --with-open62541-build=dir to set the two directories. This macro will +# append to CPPFLAGS and LDFLAGS if a dir is supplied. It will also export +# LD_LIBRARY_PATH with the absolute path of the build dir for the rest of +# the configure script to use and define a Makefile variable +# OPEN62541_LDPATH, which contains +# LD_LIBRARY_PATH=$LD_LIBRARY_PATH: : this is intended +# to be used for all commands that need to execute a program using the +# library (e.g. make check). If paths are set, they are forwarded to +# distcheck. +# +# For --with-open62541, the dir is optional: if either the values "no" +# (from --without-open62541) or "yes" (for no argument) are specified, +# this macro does nothing but these values may be used by other code. If +# --with-open62541 is not specified, the variable with_open62541 is not +# set. +# +# For --with-open62541-build, the dir is compulsory. +# --with-open62541-build must not be given without also specifying +# --with-open62541. If --with-open62541 is given but +# --with-open62541-build is not, the default value is "/build". +# +# [1]: +# +# LICENSE +# +# Copyright (c) 2016,2017 Olaf Mandel +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +# AX_OPEN62541_PATH() +# ------------------- +AC_DEFUN([AX_OPEN62541_PATH], +[AC_ARG_WITH([open62541], + [AS_HELP_STRING([--with-open62541@<:@=dir@:>@], + [set the open62541 library source location])], + [], [])dnl +AC_ARG_WITH([open62541-build], + [AS_HELP_STRING([--with-open62541-build=dir], + [set the open62541 build dir location]dnl +[ (@<:@default=$src/build@:>@)])], + [], [])dnl +[with_open62541=${with_open62541%/}] +AS_IF([test x${with_open62541_build:+set} != xset], + [AS_IF([test x${with_open62541:+set} == xset]dnl +[ -a "x$with_open62541" != xno -a "x$with_open62541" != xyes], + [with_open62541_build=$with_open62541/build])], + [test "x$with_open62541_build" == xno]dnl +[ -o "x$with_open62541_build" == xyes], + [AC_MSG_FAILURE([--with-open62541-build needs its argument])], + [test x${with_open62541:+set} != xset -o "x$with_open62541" == xyes], + [AC_MSG_FAILURE([--with-open62541-build also requires]dnl +[ --with-open62541 to set a directory])], + [with_open62541_build=${with_open62541_build%/}]) +dnl +AS_IF([test x${with_open62541:+set} == xset -a "x$with_open62541" != xno]dnl +[ -a "x$with_open62541" != xyes], + [CPPFLAGS="$CPPFLAGS${CPPFLAGS:+ }-I$with_open62541/deps]dnl +[ -I$with_open62541/include -I$with_open62541/plugins]dnl +[ -I$with_open62541_build/src_generated -I$with_open62541_build" +LDFLAGS="$LDFLAGS${LDFLAGS:+ }-L$with_open62541_build" +with_open62541_abs=`( + cd "$with_open62541" + pwd)` +with_open62541_build_abs=`( + cd "$with_open62541_build" + pwd)` +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}]dnl +[$with_open62541_build_abs" +AC_SUBST([OPEN62541_LDPATH], ["LD_LIBRARY_PATH=\$\$LD_LIBRARY_PATH]dnl +[\$\${LD_LIBRARY_PATH:+:}$with_open62541_build_abs"]) +AC_SUBST([AM_DISTCHECK_CONFIGURE_FLAGS], ["$AM_DISTCHECK_CONFIGURE_FLAGS]dnl +[${AM_DISTCHECK_CONFIGURE_FLAGS:+ }--with-open62541=$with_open62541_abs"]) +AS_IF([test x$with_open62541/build != xwith_open62541_build], + [AC_SUBST([AM_DISTCHECK_CONFIGURE_FLAGS], + ["$AM_DISTCHECK_CONFIGURE_FLAGS]dnl +[ --with-open62541-build=$with_open62541_build_abs"])]) +]) +])# AX_OPEN62541_PATH diff --git a/m4/autoconf-archive/ax_openmp.m4 b/m4/autoconf-archive/ax_openmp.m4 new file mode 100755 index 0000000000..866e1d6645 --- /dev/null +++ b/m4/autoconf-archive/ax_openmp.m4 @@ -0,0 +1,123 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_openmp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_OPENMP([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile programs that use OpenMP a +# standard API and set of compiler directives for parallel programming +# (see http://www-unix.mcs/) +# +# On success, it sets the OPENMP_CFLAGS/OPENMP_CXXFLAGS/OPENMP_F77FLAGS +# output variable to the flag (e.g. -omp) used both to compile *and* link +# OpenMP programs in the current language. +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also link it with them as well. +# +# If you want to compile everything with OpenMP, you should set: +# +# CFLAGS="$CFLAGS $OPENMP_CFLAGS" +# #OR# CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" +# #OR# FFLAGS="$FFLAGS $OPENMP_FFLAGS" +# +# (depending on the selected language). +# +# The user can override the default choice by setting the corresponding +# environment variable (e.g. OPENMP_CFLAGS). +# +# ACTION-IF-FOUND is a list of shell commands to run if an OpenMP flag is +# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is +# not found. If ACTION-IF-FOUND is not specified, the default action will +# define HAVE_OPENMP. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2015 John W. Peterson +# Copyright (c) 2016 Nick R. Papior +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 13 + +AC_DEFUN([AX_OPENMP], [ +AC_PREREQ([2.69]) dnl for _AC_LANG_PREFIX + +AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS +ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown +# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), +# -qopenmp (icc>=15), -openmp (icc), +# -xopenmp (Sun), -omp (Tru64), +# -qsmp=omp (AIX), +# none +ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp -omp -qsmp=omp none" +if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then + ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags" +fi +for ax_openmp_flag in $ax_openmp_flags; do + case $ax_openmp_flag in + none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;; + *) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;; + esac + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +@%:@include + +static void +parallel_fill(int * data, int n) +{ + int i; +@%:@pragma omp parallel for + for (i = 0; i < n; ++i) + data[i] = i; +} + +int +main() +{ + int arr[100000]; + omp_set_num_threads(2); + parallel_fill(arr, 100000); + return 0; +} +]])],[ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break],[]) +done +[]_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[]FLAGS +]) +if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" = "xunknown"; then + m4_default([$2],:) +else + if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" != "xnone"; then + OPENMP_[]_AC_LANG_PREFIX[]FLAGS=$ax_cv_[]_AC_LANG_ABBREV[]_openmp + fi + m4_default([$1], [AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])]) +fi +])dnl AX_OPENMP diff --git a/m4/autoconf-archive/ax_patch_libtool_changing_cmds_ifs.m4 b/m4/autoconf-archive/ax_patch_libtool_changing_cmds_ifs.m4 new file mode 100755 index 0000000000..a2c756d1db --- /dev/null +++ b/m4/autoconf-archive/ax_patch_libtool_changing_cmds_ifs.m4 @@ -0,0 +1,92 @@ +# ======================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_patch_libtool_changing_cmds_ifs.html +# ======================================================================================= +# +# SYNOPSIS +# +# AX_PATCH_LIBTOOL_CHANGING_CMDS_IFS +# +# DESCRIPTION +# +# Do a `grep "^[a-z]*_cmds=" libtool` - these are "subroutines" encoded by +# libtool.m4 into the generated libtool script. Since libtool assumes that +# there is no subroutine-facility in the shell invoked, these are not +# actually subroutines, but actually a "list of commands". This looks +# correct, but the command separator is not ";" - it is "~", the tilde +# character. +# +# Now, grep again, look for `grep 'IFS="~"' libtool` and see that libtool +# scripting uses a for-loop on the command-list, i.e for cmd in +# $some_cmds. This works correctly when the IFS was modified, where IFS +# stands for "input field separator" which is whitespace characters by +# default. +# +# The problem: I have some real-world filesystems where there are +# directories using "~" inside of them, to be more to the point, it is a +# change control management software that uses source repositories of the +# form "path/master/project~version/src" and libtool has the tendency to +# resolve any symlinks so that it will paste such path into the $_cmds +# script when it gets evaluated a number of times. +# +# This script is a workaround: I do not know why the ";" was not chosen as +# the IFS, perhaps it has some weird interactions in some shells since it +# is also the default record separator being one time bigger in context +# than the argument separator. I have made good success however with using +# "?" as the IFS, since there is no path-name that uses a question mark, +# and there is no _cmds ever around that uses "?" for some thing. +# +# Oh yes, there are some usages of "*" to match shell-wise at the output +# file of some tool, so that might have triggered the choice to not use +# "?" in the first place - but in real life it never occured that a _cmds +# script was created that has gone to use "?". And so, this ac-macro +# exchanges the s/~/?/g in configured _cmds variables and replaces all +# occurences of s/IFS="~"/IFS="?"/ - and it all works smooth now. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([PATCH_LIBTOOL_CHANGING_CMDS_IFS], [AX_PATCH_LIBTOOL_CHANGING_CMDS_IFS]) +AC_DEFUN([AX_PATCH_LIBTOOL_CHANGING_CMDS_IFS], +[# patch libtool to change $_cmds IFS from ~ to ? character +if grep "^[[_$as_cr_letters]]_cmds=.*[[?]]" libtool >/dev/null; then + AC_MSG_WARN(dnl + [patching libtool skipped - _cmds already contain question marks]) +else + AC_MSG_RESULT([patching libtool to change cmds IFS from ~ to ?]) + test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool) + sed -e "/^[[_$as_cr_letters]]*_cmds=/s/~/?/g" -e 's/IFS="~"/IFS="?"/g' \ + -e "s/IFS='~'/IFS='?'/g" libtool > libtool.new + (test -s libtool.new || rm libtool.new) 2>/dev/null + test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !! + test -f libtool || mv libtool.old libtool +fi +]) diff --git a/m4/autoconf-archive/ax_path_bdb.m4 b/m4/autoconf-archive/ax_path_bdb.m4 new file mode 100755 index 0000000000..f6af745ff2 --- /dev/null +++ b/m4/autoconf-archive/ax_path_bdb.m4 @@ -0,0 +1,591 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_path_bdb.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PATH_BDB([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro finds the latest version of Berkeley DB on the system, and +# ensures that the header file and library versions match. If +# MINIMUM-VERSION is specified, it will ensure that the library found is +# at least that version. +# +# It determines the name of the library as well as the path to the header +# file and library. It will check both the default environment as well as +# the default Berkeley DB install location. When found, it sets BDB_LIBS, +# BDB_CPPFLAGS, and BDB_LDFLAGS to the necessary values to add to LIBS, +# CPPFLAGS, and LDFLAGS, as well as setting BDB_VERSION to the version +# found. HAVE_DB_H is defined also. +# +# The option --with-bdb-dir=DIR can be used to specify a specific Berkeley +# DB installation to use. +# +# An example of it's use is: +# +# AX_PATH_BDB([3],[ +# LIBS="$BDB_LIBS $LIBS" +# LDFLAGS="$BDB_LDFLAGS $LDFLAGS" +# CPPFLAGS="$CPPFLAGS $BDB_CPPFLAGS" +# ]) +# +# which will locate the latest version of Berkeley DB on the system, and +# ensure that it is version 3.0 or higher. +# +# Details: This macro does not use either AC_CHECK_HEADERS or AC_CHECK_LIB +# because, first, the functions inside the library are sometimes renamed +# to contain a version code that is only available from the db.h on the +# system, and second, because it is common to have multiple db.h and libdb +# files on a system it is important to make sure the ones being used +# correspond to the same version. Additionally, there are many different +# possible names for libdb when installed by an OS distribution, and these +# need to be checked if db.h does not correspond to libdb. +# +# When cross compiling, only header versions are verified since it would +# be difficult to check the library version. Additionally the default +# Berkeley DB installation locations /usr/local/BerkeleyDB* are not +# searched for higher versions of the library. +# +# The format for the list of library names to search came from the Cyrus +# IMAP distribution, although they are generated dynamically here, and +# only for the version found in db.h. +# +# The macro AX_COMPARE_VERSION is required to use this macro, and should +# be available from the Autoconf Macro Archive. +# +# The author would like to acknowledge the generous and valuable feedback +# from Guido Draheim, without which this macro would be far less robust, +# and have poor and inconsistent cross compilation support. +# +# Changes: +# +# 1/5/05 applied patch from Rafal Rzepecki to eliminate compiler +# warning about unused variable, argv +# +# LICENSE +# +# Copyright (c) 2008 Tim Toolan +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +dnl ######################################################################### +AC_DEFUN([AX_PATH_BDB], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_ok=no + + # Add --with-bdb-dir option to configure. + AC_ARG_WITH([bdb-dir], + [AS_HELP_STRING([--with-bdb-dir=DIR], + [Berkeley DB installation directory])]) + + # Check if --with-bdb-dir was specified. + if test "x$with_bdb_dir" = "x" ; then + # No option specified, so just search the system. + AX_PATH_BDB_NO_OPTIONS([$1], [HIGHEST], [ + ax_path_bdb_ok=yes + ]) + else + # Set --with-bdb-dir option. + ax_path_bdb_INC="$with_bdb_dir/include" + ax_path_bdb_LIB="$with_bdb_dir/lib" + + dnl # Save previous environment, and modify with new stuff. + ax_path_bdb_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$ax_path_bdb_INC $CPPFLAGS" + + ax_path_bdb_save_LDFLAGS=$LDFLAGS + LDFLAGS="-L$ax_path_bdb_LIB $LDFLAGS" + + # Check for specific header file db.h + AC_MSG_CHECKING([db.h presence in $ax_path_bdb_INC]) + if test -f "$ax_path_bdb_INC/db.h" ; then + AC_MSG_RESULT([yes]) + # Check for library + AX_PATH_BDB_NO_OPTIONS([$1], [ENVONLY], [ + ax_path_bdb_ok=yes + BDB_CPPFLAGS="-I$ax_path_bdb_INC" + BDB_LDFLAGS="-L$ax_path_bdb_LIB" + ]) + else + AC_MSG_RESULT([no]) + AC_MSG_NOTICE([no usable Berkeley DB not found]) + fi + + dnl # Restore the environment. + CPPFLAGS="$ax_path_bdb_save_CPPFLAGS" + LDFLAGS="$ax_path_bdb_save_LDFLAGS" + + fi + + dnl # Execute ACTION-IF-FOUND / ACTION-IF-NOT-FOUND. + if test "$ax_path_bdb_ok" = "yes" ; then + m4_ifvaln([$2],[$2],[:])dnl + m4_ifvaln([$3],[else $3])dnl + fi + +]) dnl AX_PATH_BDB + +dnl ######################################################################### +dnl Check for berkeley DB of at least MINIMUM-VERSION on system. +dnl +dnl The OPTION argument determines how the checks occur, and can be one of: +dnl +dnl HIGHEST - Check both the environment and the default installation +dnl directories for Berkeley DB and choose the version that +dnl is highest. (default) +dnl ENVFIRST - Check the environment first, and if no satisfactory +dnl library is found there check the default installation +dnl directories for Berkeley DB which is /usr/local/BerkeleyDB* +dnl ENVONLY - Check the current environment only. +dnl +dnl Requires AX_PATH_BDB_PATH_GET_VERSION, AX_PATH_BDB_PATH_FIND_HIGHEST, +dnl AX_PATH_BDB_ENV_CONFIRM_LIB, AX_PATH_BDB_ENV_GET_VERSION, and +dnl AX_COMPARE_VERSION macros. +dnl +dnl Result: sets ax_path_bdb_no_options_ok to yes or no +dnl sets BDB_LIBS, BDB_CPPFLAGS, BDB_LDFLAGS, BDB_VERSION +dnl +dnl AX_PATH_BDB_NO_OPTIONS([MINIMUM-VERSION], [OPTION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([AX_PATH_BDB_NO_OPTIONS], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_no_options_ok=no + + # Values to add to environment to use Berkeley DB. + BDB_VERSION='' + BDB_LIBS='' + BDB_CPPFLAGS='' + BDB_LDFLAGS='' + + # Check cross compilation here. + if test "x$cross_compiling" = "xyes" ; then + # If cross compiling, can't use AC_RUN_IFELSE so do these tests. + # The AC_PREPROC_IFELSE confirms that db.h is preprocessable, + # and extracts the version number from it. + AC_MSG_CHECKING([for db.h]) + + AS_VAR_PUSHDEF([HEADER_VERSION],[ax_path_bdb_no_options_HEADER_VERSION])dnl + HEADER_VERSION='' + AC_PREPROC_IFELSE([ + AC_LANG_SOURCE([[ +#include +AX_PATH_BDB_STUFF DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH + ]]) + ],[ + # Extract version from preprocessor output. + HEADER_VERSION=`eval "$ac_cpp conftest.$ac_ext" 2> /dev/null \ + | grep AX_PATH_BDB_STUFF | sed 's/[[^0-9,]]//g;s/,/./g;1q'` + ],[]) + + if test "x$HEADER_VERSION" = "x" ; then + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([$HEADER_VERSION]) + + # Check that version is high enough. + AX_COMPARE_VERSION([$HEADER_VERSION],[ge],[$1],[ + # get major and minor version numbers + AS_VAR_PUSHDEF([MAJ],[ax_path_bdb_no_options_MAJOR])dnl + MAJ=`echo $HEADER_VERSION | sed 's,\..*,,'` + AS_VAR_PUSHDEF([MIN],[ax_path_bdb_no_options_MINOR])dnl + MIN=`echo $HEADER_VERSION | sed 's,^[[0-9]]*\.,,;s,\.[[0-9]]*$,,'` + + dnl # Save LIBS. + ax_path_bdb_no_options_save_LIBS="$LIBS" + + # Check that we can link with the library. + AC_SEARCH_LIBS([db_version], + [db db-$MAJ.$MIN db$MAJ.$MIN db$MAJ$MIN db-$MAJ db$MAJ],[ + # Successfully found library. + ax_path_bdb_no_options_ok=yes + BDB_VERSION=$HEADER_VERSION + + # Extract library from LIBS + ax_path_bdb_no_options_LEN=` \ + echo "x$ax_path_bdb_no_options_save_LIBS" \ + | awk '{print(length)}'` + BDB_LIBS=`echo "x$LIBS " \ + | sed "s/.\{$ax_path_bdb_no_options_LEN\}\$//;s/^x//;s/ //g"` + ],[]) + + dnl # Restore LIBS + LIBS="$ax_path_bdb_no_options_save_LIBS" + + AS_VAR_POPDEF([MAJ])dnl + AS_VAR_POPDEF([MIN])dnl + ]) + fi + + AS_VAR_POPDEF([HEADER_VERSION])dnl + else + # Not cross compiling. + # Check version of Berkeley DB in the current environment. + AX_PATH_BDB_ENV_GET_VERSION([ + AX_COMPARE_VERSION([$ax_path_bdb_env_get_version_VERSION],[ge],[$1],[ + # Found acceptable version in current environment. + ax_path_bdb_no_options_ok=yes + BDB_VERSION="$ax_path_bdb_env_get_version_VERSION" + BDB_LIBS="$ax_path_bdb_env_get_version_LIBS" + ]) + ]) + + # Determine if we need to search /usr/local/BerkeleyDB* + ax_path_bdb_no_options_DONE=no + if test "x$2" = "xENVONLY" ; then + ax_path_bdb_no_options_DONE=yes + elif test "x$2" = "xENVFIRST" ; then + ax_path_bdb_no_options_DONE=$ax_path_bdb_no_options_ok + fi + + if test "$ax_path_bdb_no_options_DONE" = "no" ; then + # Check for highest in /usr/local/BerkeleyDB* + AX_PATH_BDB_PATH_FIND_HIGHEST([ + if test "$ax_path_bdb_no_options_ok" = "yes" ; then + # If we already have an acceptable version use this if higher. + AX_COMPARE_VERSION( + [$ax_path_bdb_path_find_highest_VERSION],[gt],[$BDB_VERSION]) + else + # Since we didn't have an acceptable version check if this one is. + AX_COMPARE_VERSION( + [$ax_path_bdb_path_find_highest_VERSION],[ge],[$1]) + fi + ]) + + dnl # If result from _AX_COMPARE_VERSION is true we want this version. + if test "$ax_compare_version" = "true" ; then + ax_path_bdb_no_options_ok=yes + BDB_LIBS="-ldb" + if test "x$ax_path_bdb_path_find_highest_DIR" != x ; then + BDB_CPPFLAGS="-I$ax_path_bdb_path_find_highest_DIR/include" + BDB_LDFLAGS="-L$ax_path_bdb_path_find_highest_DIR/lib" + fi + BDB_VERSION="$ax_path_bdb_path_find_highest_VERSION" + fi + fi + fi + + dnl # Execute ACTION-IF-FOUND / ACTION-IF-NOT-FOUND. + if test "$ax_path_bdb_no_options_ok" = "yes" ; then + AC_MSG_NOTICE([using Berkeley DB version $BDB_VERSION]) + AC_DEFINE([HAVE_DB_H],[1], + [Define to 1 if you have the header file.]) + m4_ifvaln([$3],[$3])dnl + else + AC_MSG_NOTICE([no Berkeley DB version $1 or higher found]) + m4_ifvaln([$4],[$4])dnl + fi +]) dnl AX_PATH_BDB_NO_OPTIONS + +dnl ######################################################################### +dnl Check the default installation directory for Berkeley DB which is +dnl of the form /usr/local/BerkeleyDB* for the highest version. +dnl +dnl Result: sets ax_path_bdb_path_find_highest_ok to yes or no, +dnl sets ax_path_bdb_path_find_highest_VERSION to version, +dnl sets ax_path_bdb_path_find_highest_DIR to directory. +dnl +dnl AX_PATH_BDB_PATH_FIND_HIGHEST([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([AX_PATH_BDB_PATH_FIND_HIGHEST], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_path_find_highest_ok=no + + AS_VAR_PUSHDEF([VERSION],[ax_path_bdb_path_find_highest_VERSION])dnl + VERSION='' + + ax_path_bdb_path_find_highest_DIR='' + + # find highest version in default install directory for Berkeley DB + AS_VAR_PUSHDEF([CURDIR],[ax_path_bdb_path_find_highest_CURDIR])dnl + AS_VAR_PUSHDEF([CUR_VERSION],[ax_path_bdb_path_get_version_VERSION])dnl + + for CURDIR in `ls -d /usr/local/BerkeleyDB* 2> /dev/null` + do + AX_PATH_BDB_PATH_GET_VERSION([$CURDIR],[ + AX_COMPARE_VERSION([$CUR_VERSION],[gt],[$VERSION],[ + ax_path_bdb_path_find_highest_ok=yes + ax_path_bdb_path_find_highest_DIR="$CURDIR" + VERSION="$CUR_VERSION" + ]) + ]) + done + + AS_VAR_POPDEF([VERSION])dnl + AS_VAR_POPDEF([CUR_VERSION])dnl + AS_VAR_POPDEF([CURDIR])dnl + + dnl # Execute ACTION-IF-FOUND / ACTION-IF-NOT-FOUND. + if test "$ax_path_bdb_path_find_highest_ok" = "yes" ; then + m4_ifvaln([$1],[$1],[:])dnl + m4_ifvaln([$2],[else $2])dnl + fi + +]) dnl AX_PATH_BDB_PATH_FIND_HIGHEST + +dnl ######################################################################### +dnl Checks for Berkeley DB in specified directory's lib and include +dnl subdirectories. +dnl +dnl Result: sets ax_path_bdb_path_get_version_ok to yes or no, +dnl sets ax_path_bdb_path_get_version_VERSION to version. +dnl +dnl AX_PATH_BDB_PATH_GET_VERSION(BDB-DIR, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([AX_PATH_BDB_PATH_GET_VERSION], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_path_get_version_ok=no + + # Indicate status of checking for Berkeley DB header. + AC_MSG_CHECKING([in $1/include for db.h]) + ax_path_bdb_path_get_version_got_header=no + test -f "$1/include/db.h" && ax_path_bdb_path_get_version_got_header=yes + AC_MSG_RESULT([$ax_path_bdb_path_get_version_got_header]) + + # Indicate status of checking for Berkeley DB library. + AC_MSG_CHECKING([in $1/lib for library -ldb]) + + ax_path_bdb_path_get_version_VERSION='' + + if test -d "$1/include" && test -d "$1/lib" && + test "$ax_path_bdb_path_get_version_got_header" = "yes" ; then + dnl # save and modify environment + ax_path_bdb_path_get_version_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$1/include $CPPFLAGS" + + ax_path_bdb_path_get_version_save_LIBS="$LIBS" + LIBS="$LIBS -ldb" + + ax_path_bdb_path_get_version_save_LDFLAGS="$LDFLAGS" + LDFLAGS="-L$1/lib $LDFLAGS" + + # Compile and run a program that compares the version defined in + # the header file with a version defined in the library function + # db_version. + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ +#include +#include +int main(int argc,char **argv) +{ + int major,minor,patch; + (void) argv; + db_version(&major,&minor,&patch); + if (argc > 1) + printf("%d.%d.%d\n",DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH); + if (DB_VERSION_MAJOR == major && DB_VERSION_MINOR == minor && + DB_VERSION_PATCH == patch) + return 0; + else + return 1; +} + ]]) + ],[ + # Program compiled and ran, so get version by adding argument. + ax_path_bdb_path_get_version_VERSION=`./conftest$ac_exeext x` + ax_path_bdb_path_get_version_ok=yes + ],[],[]) + + dnl # restore environment + CPPFLAGS="$ax_path_bdb_path_get_version_save_CPPFLAGS" + LIBS="$ax_path_bdb_path_get_version_save_LIBS" + LDFLAGS="$ax_path_bdb_path_get_version_save_LDFLAGS" + fi + + dnl # Finally, execute ACTION-IF-FOUND / ACTION-IF-NOT-FOUND. + if test "$ax_path_bdb_path_get_version_ok" = "yes" ; then + AC_MSG_RESULT([$ax_path_bdb_path_get_version_VERSION]) + m4_ifvaln([$2],[$2])dnl + else + AC_MSG_RESULT([no]) + m4_ifvaln([$3],[$3])dnl + fi +]) dnl AX_PATH_BDB_PATH_GET_VERSION + +############################################################################# +dnl Checks if version of library and header match specified version. +dnl Only meant to be used by AX_PATH_BDB_ENV_GET_VERSION macro. +dnl +dnl Requires AX_COMPARE_VERSION macro. +dnl +dnl Result: sets ax_path_bdb_env_confirm_lib_ok to yes or no. +dnl +dnl AX_PATH_BDB_ENV_CONFIRM_LIB(VERSION, [LIBNAME]) +AC_DEFUN([AX_PATH_BDB_ENV_CONFIRM_LIB], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_env_confirm_lib_ok=no + + dnl # save and modify environment to link with library LIBNAME + ax_path_bdb_env_confirm_lib_save_LIBS="$LIBS" + LIBS="$LIBS $2" + + # Compile and run a program that compares the version defined in + # the header file with a version defined in the library function + # db_version. + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ +#include +#include +int main(int argc,char **argv) +{ + int major,minor,patch; + (void) argv; + db_version(&major,&minor,&patch); + if (argc > 1) + printf("%d.%d.%d\n",DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH); + if (DB_VERSION_MAJOR == major && DB_VERSION_MINOR == minor && + DB_VERSION_PATCH == patch) + return 0; + else + return 1; +} + ]]) + ],[ + # Program compiled and ran, so get version by giving an argument, + # which will tell the program to print the output. + ax_path_bdb_env_confirm_lib_VERSION=`./conftest$ac_exeext x` + + # If the versions all match up, indicate success. + AX_COMPARE_VERSION([$ax_path_bdb_env_confirm_lib_VERSION],[eq],[$1],[ + ax_path_bdb_env_confirm_lib_ok=yes + ]) + ],[],[]) + + dnl # restore environment + LIBS="$ax_path_bdb_env_confirm_lib_save_LIBS" + +]) dnl AX_PATH_BDB_ENV_CONFIRM_LIB + +############################################################################# +dnl Finds the version and library name for Berkeley DB in the +dnl current environment. Tries many different names for library. +dnl +dnl Requires AX_PATH_BDB_ENV_CONFIRM_LIB macro. +dnl +dnl Result: set ax_path_bdb_env_get_version_ok to yes or no, +dnl set ax_path_bdb_env_get_version_VERSION to the version found, +dnl and ax_path_bdb_env_get_version_LIBNAME to the library name. +dnl +dnl AX_PATH_BDB_ENV_GET_VERSION([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([AX_PATH_BDB_ENV_GET_VERSION], [ + dnl # Used to indicate success or failure of this function. + ax_path_bdb_env_get_version_ok=no + + ax_path_bdb_env_get_version_VERSION='' + ax_path_bdb_env_get_version_LIBS='' + + AS_VAR_PUSHDEF([HEADER_VERSION],[ax_path_bdb_env_get_version_HEADER_VERSION])dnl + AS_VAR_PUSHDEF([TEST_LIBNAME],[ax_path_bdb_env_get_version_TEST_LIBNAME])dnl + + # Indicate status of checking for Berkeley DB library. + AC_MSG_CHECKING([for db.h]) + + # Compile and run a program that determines the Berkeley DB version + # in the header file db.h. + HEADER_VERSION='' + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ +#include +#include +int main(int argc,char **argv) +{ + (void) argv; + if (argc > 1) + printf("%d.%d.%d\n",DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH); + return 0; +} + ]]) + ],[ + # Program compiled and ran, so get version by adding an argument. + HEADER_VERSION=`./conftest$ac_exeext x` + AC_MSG_RESULT([$HEADER_VERSION]) + ],[AC_MSG_RESULT([no])],[AC_MSG_RESULT([no])]) + + # Have header version, so try to find corresponding library. + # Looks for library names in the order: + # nothing, db, db-X.Y, dbX.Y, dbXY, db-X, dbX + # and stops when it finds the first one that matches the version + # of the header file. + if test "x$HEADER_VERSION" != "x" ; then + AC_MSG_CHECKING([for library containing Berkeley DB $HEADER_VERSION]) + + AS_VAR_PUSHDEF([MAJOR],[ax_path_bdb_env_get_version_MAJOR])dnl + AS_VAR_PUSHDEF([MINOR],[ax_path_bdb_env_get_version_MINOR])dnl + + # get major and minor version numbers + MAJOR=`echo $HEADER_VERSION | sed 's,\..*,,'` + MINOR=`echo $HEADER_VERSION | sed 's,^[[0-9]]*\.,,;s,\.[[0-9]]*$,,'` + + # see if it is already specified in LIBS + TEST_LIBNAME='' + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "db" + TEST_LIBNAME='-ldb' + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "db-X.Y" + TEST_LIBNAME="-ldb-${MAJOR}.$MINOR" + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "dbX.Y" + TEST_LIBNAME="-ldb${MAJOR}.$MINOR" + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "dbXY" + TEST_LIBNAME="-ldb$MAJOR$MINOR" + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "db-X" + TEST_LIBNAME="-ldb-$MAJOR" + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + if test "$ax_path_bdb_env_confirm_lib_ok" = "no" ; then + # try format "dbX" + TEST_LIBNAME="-ldb$MAJOR" + AX_PATH_BDB_ENV_CONFIRM_LIB([$HEADER_VERSION], [$TEST_LIBNAME]) + fi + + dnl # Found a valid library. + if test "$ax_path_bdb_env_confirm_lib_ok" = "yes" ; then + if test "x$TEST_LIBNAME" = "x" ; then + AC_MSG_RESULT([none required]) + else + AC_MSG_RESULT([$TEST_LIBNAME]) + fi + ax_path_bdb_env_get_version_VERSION="$HEADER_VERSION" + ax_path_bdb_env_get_version_LIBS="$TEST_LIBNAME" + ax_path_bdb_env_get_version_ok=yes + else + AC_MSG_RESULT([no]) + fi + + AS_VAR_POPDEF([MAJOR])dnl + AS_VAR_POPDEF([MINOR])dnl + fi + + AS_VAR_POPDEF([HEADER_VERSION])dnl + AS_VAR_POPDEF([TEST_LIBNAME])dnl + + dnl # Execute ACTION-IF-FOUND / ACTION-IF-NOT-FOUND. + if test "$ax_path_bdb_env_confirm_lib_ok" = "yes" ; then + m4_ifvaln([$1],[$1],[:])dnl + m4_ifvaln([$2],[else $2])dnl + fi + +]) dnl BDB_ENV_GET_VERSION + +############################################################################# diff --git a/m4/autoconf-archive/ax_path_generic.m4 b/m4/autoconf-archive/ax_path_generic.m4 new file mode 100755 index 0000000000..87966890b8 --- /dev/null +++ b/m4/autoconf-archive/ax_path_generic.m4 @@ -0,0 +1,164 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_path_generic.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PATH_GENERIC(LIBRARY,[MINIMUM-VERSION,[SED-EXPR-EXTRACTOR]],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],[CONFIG-SCRIPTS],[CFLAGS-ARG],[LIBS-ARG]) +# +# DESCRIPTION +# +# Runs the LIBRARY-config script and defines LIBRARY_CFLAGS and +# LIBRARY_LIBS unless the user had predefined them in the environment. +# +# The script must support `--cflags' and `--libs' args. If MINIMUM-VERSION +# is specified, the script must also support the `--version' arg. If the +# `--with-library-[exec-]prefix' arguments to ./configure are given, it +# must also support `--prefix' and `--exec-prefix'. Preferably use +# CONFIG-SCRIPTS as config script, CFLAGS-ARG instead of `--cflags` and +# LIBS-ARG instead of `--libs`, if given. +# +# The SED-EXPR-EXTRACTOR parameter represents the expression used in sed +# to extract the version number. Use it if your 'foo-config --version' +# dumps something like 'Foo library v1.0.0 (alfa)' instead of '1.0.0'. +# +# The macro respects LIBRARY_CONFIG, LIBRARY_CFLAGS and LIBRARY_LIBS +# variables. If the first one is defined, it specifies the name of the +# config script to use. If the latter two are defined, the script is not +# ran at all and their values are used instead (if only one of them is +# defined, the empty value of the remaining one is still used). +# +# Example: +# +# AX_PATH_GENERIC(Foo, 1.0.0) +# +# would run `foo-config --version' and check that it is at least 1.0.0, if +# successful the following variables would be defined and substituted: +# +# FOO_CFLAGS to `foo-config --cflags` +# FOO_LIBS to `foo-config --libs` +# +# Example: +# +# AX_PATH_GENERIC([Bar],,,[ +# AC_MSG_ERROR([Cannot find Bar library]) +# ]) +# +# would check for bar-config program, defining and substituting the +# following variables: +# +# BAR_CFLAGS to `bar-config --cflags` +# BAR_LIBS to `bar-config --libs` +# +# Example: +# +# ./configure BAZ_LIBS=/usr/lib/libbaz.a +# +# would link with a static version of baz library even if `baz-config +# --libs` returns just "-lbaz" that would normally result in using the +# shared library. +# +# This macro is a rearranged version of AC_PATH_GENERIC from Angus Lees. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +AU_ALIAS([AC_PATH_GENERIC], [AX_PATH_GENERIC]) +AC_DEFUN([AX_PATH_GENERIC],[ + AC_REQUIRE([AC_PROG_SED]) + + dnl we're going to need uppercase and lowercase versions of the + dnl string `LIBRARY' + pushdef([UP], translit([$1], [a-z], [A-Z]))dnl + pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl + + AC_ARG_WITH(DOWN-prefix,[AS_HELP_STRING([--with-]DOWN[-prefix=PREFIX], [Prefix where $1 is installed (optional)])], + DOWN[]_config_prefix="$withval", DOWN[]_config_prefix="") + AC_ARG_WITH(DOWN-exec-prefix,[AS_HELP_STRING([--with-]DOWN[-exec-prefix=EPREFIX], [Exec prefix where $1 is installed (optional)])], + DOWN[]_config_exec_prefix="$withval", DOWN[]_config_exec_prefix="") + + AC_ARG_VAR(UP[]_CONFIG, [config script used for $1]) + AC_ARG_VAR(UP[]_CFLAGS, [CFLAGS used for $1]) + AC_ARG_VAR(UP[]_LIBS, [LIBS used for $1]) + + AS_IF([test x"$UP[]_CFLAGS" != x -o x"$UP[]_LIBS" != x],[ + dnl Don't run config script at all, use user-provided values instead. + AC_SUBST(UP[]_CFLAGS) + AC_SUBST(UP[]_LIBS) + : + $4 + ],[ + AS_IF([test x$DOWN[]_config_exec_prefix != x],[ + DOWN[]_config_args="$DOWN[]_config_args --exec-prefix=$DOWN[]_config_exec_prefix" + AS_IF([test x${UP[]_CONFIG+set} != xset],[ + UP[]_CONFIG=$DOWN[]_config_exec_prefix/bin/DOWN-config + ]) + ]) + AS_IF([test x$DOWN[]_config_prefix != x],[ + DOWN[]_config_args="$DOWN[]_config_args --prefix=$DOWN[]_config_prefix" + AS_IF([test x${UP[]_CONFIG+set} != xset],[ + UP[]_CONFIG=$DOWN[]_config_prefix/bin/DOWN-config + ]) + ]) + + AC_PATH_PROGS(UP[]_CONFIG,[$6 DOWN-config],[no]) + AS_IF([test "$UP[]_CONFIG" = "no"],[ + : + $5 + ],[ + dnl Get the CFLAGS from LIBRARY-config script + AS_IF([test x"$7" = x],[ + UP[]_CFLAGS="`$UP[]_CONFIG $DOWN[]_config_args --cflags`" + ],[ + UP[]_CFLAGS="`$UP[]_CONFIG $DOWN[]_config_args $7`" + ]) + + dnl Get the LIBS from LIBRARY-config script + AS_IF([test x"$8" = x],[ + UP[]_LIBS="`$UP[]_CONFIG $DOWN[]_config_args --libs`" + ],[ + UP[]_LIBS="`$UP[]_CONFIG $DOWN[]_config_args $8`" + ]) + + AS_IF([test x"$2" != x],[ + dnl Check for provided library version + AS_IF([test x"$3" != x],[ + dnl Use provided sed expression + DOWN[]_version="`$UP[]_CONFIG $DOWN[]_config_args --version | $SED -e $3`" + ],[ + DOWN[]_version="`$UP[]_CONFIG $DOWN[]_config_args --version | $SED -e 's/^\ *\(.*\)\ *$/\1/'`" + ]) + + AC_MSG_CHECKING([for $1 ($DOWN[]_version) >= $2]) + AX_COMPARE_VERSION($DOWN[]_version,[ge],[$2],[ + AC_MSG_RESULT([yes]) + + AC_SUBST(UP[]_CFLAGS) + AC_SUBST(UP[]_LIBS) + : + $4 + ],[ + AC_MSG_RESULT([no]) + : + $5 + ]) + ],[ + AC_SUBST(UP[]_CFLAGS) + AC_SUBST(UP[]_LIBS) + : + $4 + ]) + ]) + ]) + + popdef([UP]) + popdef([DOWN]) +]) diff --git a/m4/autoconf-archive/ax_path_lib_pcre.m4 b/m4/autoconf-archive/ax_path_lib_pcre.m4 new file mode 100755 index 0000000000..75e9c45c44 --- /dev/null +++ b/m4/autoconf-archive/ax_path_lib_pcre.m4 @@ -0,0 +1,90 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_path_lib_pcre.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PATH_LIB_PCRE [(A/NA)] +# +# DESCRIPTION +# +# check for pcre lib and set PCRE_LIBS and PCRE_CFLAGS accordingly. +# +# also provide --with-pcre option that may point to the $prefix of the +# pcre installation - the macro will check $pcre/include and $pcre/lib to +# contain the necessary files. +# +# the usual two ACTION-IF-FOUND / ACTION-IF-NOT-FOUND are supported and +# they can take advantage of the LIBS/CFLAGS additions. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_PATH_LIB_PCRE],[dnl +AC_MSG_CHECKING([lib pcre]) +AC_ARG_WITH(pcre, +[ --with-pcre[[=prefix]] compile xmlpcre part (via libpcre check)],, + with_pcre="yes") +if test ".$with_pcre" = ".no" ; then + AC_MSG_RESULT([disabled]) + m4_ifval($2,$2) +else + AC_MSG_RESULT([(testing)]) + AC_CHECK_LIB(pcre, pcre_study) + if test "$ac_cv_lib_pcre_pcre_study" = "yes" ; then + PCRE_LIBS="-lpcre" + AC_MSG_CHECKING([lib pcre]) + AC_MSG_RESULT([$PCRE_LIBS]) + m4_ifval($1,$1) + else + OLDLDFLAGS="$LDFLAGS" ; LDFLAGS="$LDFLAGS -L$with_pcre/lib" + OLDCPPFLAGS="$CPPFLAGS" ; CPPFLAGS="$CPPFLAGS -I$with_pcre/include" + AC_CHECK_LIB(pcre, pcre_compile) + CPPFLAGS="$OLDCPPFLAGS" + LDFLAGS="$OLDLDFLAGS" + if test "$ac_cv_lib_pcre_pcre_compile" = "yes" ; then + AC_MSG_RESULT(.setting PCRE_LIBS -L$with_pcre/lib -lpcre) + PCRE_LIBS="-L$with_pcre/lib -lpcre" + test -d "$with_pcre/include" && PCRE_CFLAGS="-I$with_pcre/include" + AC_MSG_CHECKING([lib pcre]) + AC_MSG_RESULT([$PCRE_LIBS]) + m4_ifval($1,$1) + else + AC_MSG_CHECKING([lib pcre]) + AC_MSG_RESULT([no, (WARNING)]) + m4_ifval($2,$2) + fi + fi +fi +AC_SUBST([PCRE_LIBS]) +AC_SUBST([PCRE_CFLAGS]) +]) diff --git a/m4/autoconf-archive/ax_path_milter.m4 b/m4/autoconf-archive/ax_path_milter.m4 new file mode 100755 index 0000000000..273720874a --- /dev/null +++ b/m4/autoconf-archive/ax_path_milter.m4 @@ -0,0 +1,332 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_path_milter.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PATH_MILTER([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to automatically find the library libmilter.a and the +# header file "libmilter/mfapi.h", which are required when compiling a +# milter for Sendmail. When successful, it sets the output variable +# MILTER_LIBS to "-lmilter", MILTER_LDFLAGS to contain an -Lpathtolib +# option, and MILTER_CPPFLAGS to contain an -Ipathtoinclude option, if +# they are necessary. +# +# The easiest way to use this macro is something like: +# +# AX_PATH_MILTER([8.12],[ +# LIBS="$MILTER_LIBS $LIBS" +# LDFLAGS="$MILTER_LDFLAGS $LDFLAGS" +# CPPFLAGS="$CPPFLAGS $MILTER_CPPFLAGS" +# ],[ +# AC_MSG_ERROR([required milter library and header not found]) +# ]) +# +# If the macro is successful, it just adds any flags to the necessary +# environment. If it is not successful, it would likely be a fatal error, +# because if an application is linking with libmilter.a, it is probably +# because it is a milter. +# +# There are two optional "--with" options for configure which are added. +# If they are specified, they override any searching that is done. They +# are: +# +# --with-sendmail-base= This option is used to explicitly +# specify the base of the sendmail distribution. +# +# --with-sendmail-obj= The option is used to explicitly specify +# the "obj.*" subdirectory in the sendmail distribution +# that should be used. +# +# When sendmail-base is not specified, the current environment is first +# tested to see if the header and library are available, and if so +# MILTER_LDFLAGS and MILTER_CPPFLAGS are left empty. +# +# There are two places that are searched for the sendmail base directory. +# The first location is one directory down from the current directory. It +# checks if there is a directory of the form sendmail-8.1*, limited to +# version 8.12.x or higher, then chooses the directory with the highest +# version number. If that method does not succeed, it then looks in the +# file /etc/mail/sendmail.cf for the directory it was built from, and uses +# the base of that distribution. If neither of these methods work, then it +# fails. +# +# There are two methods for finding the "obj.*" directory when it is not +# specified. The first is to try to run sendmail's Build program with the +# -M option which will print out the name of the obj. directory for the +# tool in the directory where it is run from. If this does not work, is +# looks for the newest directory of the form "obj.*" in the sendmail base +# directory. +# +# Two addition output variables that are defined, whether or not the files +# are found are SENDMAIL_BASE_DIR and SENDMAIL_OBJ_DIR, which are the +# suspected location of the sendmail base directory and obj.* +# subdirectory. +# +# NOTE: POSIX threads MUST be configured BEFORE this function is called or +# it will not find libmilter.a even if it exists. The easiest way is to +# use the AX_PTHREAD macro by Steven G. Johnson and Alejandro Forero +# Cuervo which is available from the Autoconf Macro Archive. +# +# LICENSE +# +# Copyright (c) 2008 Tim Toolan +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +############################################################################### +AC_DEFUN([AX_PATH_MILTER], [ + +# Used to indicate success or failure of this function. +ax_path_milter_ok=no + +# Convert sections of MINIMUM-VERSION to three digit numbers by adding zeros. +# For example 8.12.9 would become 008.012.009 +ac_milter_minimum_version=`echo "$1" | sed 's,\([[0-9]]*\),x\1x,g;s,x\([[0-9]]\)x,x0\1x,g;s,x\([[0-9]][[0-9]]\)x,x0\1x,g;s,x,,g'` + +# Add options --with-sendmail-base and --with-sendmail-obj to configure. +AC_ARG_WITH([sendmail-base], + [ --with-sendmail-base= base directory of sendmail distribution]) +AC_ARG_WITH([sendmail-obj], + [ --with-sendmail-obj= obj.* subdirectory in sendmail distribution]) + +# Check for functions required by libmilter. +AC_CHECK_FUNC(inet_aton, [], [AC_SEARCH_LIBS(inet_aton, [socket nsl resolv])]) +AC_CHECK_FUNC(socket, [], [AC_SEARCH_LIBS(socket, [socket nsl])]) +AC_CHECK_FUNC(gethostbyname, [], [AC_SEARCH_LIBS(gethostbyname, [socket nsl])]) + +############################################################################### +# +# If neither --with-sendmail-base or --with-sendmail-obj is specified +# check the existing environment first for mfapi.h and libmilter without +# modifying CPPFLAGS, LDFLAGS, and LIBS first. +# +if test "x$with_sendmail_base$with_sendmail_obj" = "x" ; then + AC_CHECK_HEADER([libmilter/mfapi.h],[ + AC_CHECK_LIB([milter],[smfi_main],[ + # both tests succeeded so indicate success + ax_path_milter_ok=yes + + # add -lmilter to the libraries to link + MILTER_LIBS="-lmilter" + ]) + ]) + + if test "$ax_path_milter_ok" = "no" ; then + # Unset the cached test results because we will be trying them again later. + ac_milter_tmp=abcdefg + if unset ac_milter_tmp 2> /dev/null ; then + unset ac_cv_header_libmilter_mfapi_h + unset ac_cv_lib_milter_smfi_main + else + AC_MSG_WARN( + [system doesn't have unset so either use --with-sendmail-base + or set LDFLAGS and CPPFLAGS with the necessary -L and -I options]) + fi + fi +fi + +############################################################################### +# +# If didn't already fine necessary files then search. +# +if test "$ax_path_milter_ok" = "no" ; then + ############################################################################# + # + # Determine the sendmail base directory and set SENDMAIL_BASE_DIR. + # + if test "x$with_sendmail_base" != "x" ; then + # set SENDMAIL_BASE_DIR to the one specified by--with-sendmail-base + SENDMAIL_BASE_DIR="$with_sendmail_base" + else + AC_MSG_CHECKING([for sendmail base directory in ../ ]) + # + # --with-sendmail-base is not used, so we will try to determine it + # + # 1) List all directories one level down that look like sendmail. + # 2) Select ones that are sendmail 8.12 or higher (including 8.13 + # versions when they come out). + # 3) Replace any single digit last version numbers with a two digit + # version number (ie. 8.12.9 becomes 8.12.09). + # 4) Sort all of the directories found in reverse order. + # 5) Take the first one (the highest version). + # 6) Restore the single digit version numbers. + # + ac_milter_tmp=`ls -d ../sendmail-8.1* 2> /dev/null | grep '../sendmail-8.1[[2-9]]' | sed 's,\.\([[0-9]]\)$,.0\1,' | sort -r | sed '1q' | sed 's,\.0\([[0-9]]\)$,.\1,'` + + # Convert found version sections to three digit numbers by adding zeros. + ac_milter_found_version=`echo "$ac_milter_tmp" | sed 's,.*/sendmail-,,;s,\([[0-9]]*\),x\1x,g;s,x\([[0-9]]\)x,x0\1x,g;s,x\([[0-9]][[0-9]]\)x,x0\1x,g;s,x,,g'` + + # If ac_milter_minimum_version is equal to ac_milter_lower_version, then + # the found version is greater than or equal to the minimum version. + # Pick the version string that is the lesser of the two. + # An empty string would be less than anything. + # In short, ac_milter_version_ok will equal yes if the version is ok, + # and no otherwise. + ac_milter_version_ok=`echo "x$ac_milter_minimum_version +x$ac_milter_found_version" | sort | sed '1q' | sed "s,x${ac_milter_minimum_version},yes,;s,x${ac_milter_found_version},no," ` + + # If we have something add the current directory to it. + if test "x$ac_milter_tmp" != "x" ; then + ac_milter_tmp="`pwd`/$ac_milter_tmp" + fi + + if test -r "${ac_milter_tmp}/include/libmilter/mfapi.h" && \ + test "$ac_milter_version_ok" = "yes" ; then + # The file mfapi.h exists so we will use this as SENDMAIL_BASE_DIR. + AC_MSG_RESULT([yes]) + SENDMAIL_BASE_DIR="$ac_milter_tmp" + else + AC_MSG_RESULT([no]) + AC_MSG_CHECKING([for sendmail base from /etc/mail/sendmail.cf]) + # + # The previous method to find SENDMAIL_BASE_DIR failed, so we will + # try this method. + # + # 1) Check for a line in /etc/mail/sendmail.cf of the form: + # ##### in /some/path/sendmail-8.x.x/more/path + # This is the directory that the sendmail.cf file was built in. + # 2) Take the first occurrence if there are more than one. + # 3) Remove the leading "##### in ". + # 4) Remove everything after the sendmail-8.x.x path component. + # +dnl # Note that the following expression only should not use double +dnl # square brackets because for some reason, possibly having to +dnl # do with the pound sign, m4 doesn't convert them to single brackets. +dnl # + ac_milter_tmp=`grep "^##### in /" /etc/mail/sendmail.cf 2> /dev/null | grep "/sendmail-8.1" | sed '1q' | sed 's,^##### in ,,' | sed 's,\(/sendmail-8\.[0-9.]*\).*,\1,'` + + # Convert found version sections to three digit numbers by adding zeros. + ac_milter_found_version=`echo "$ac_milter_tmp" | sed 's,.*/sendmail-,,;s,\([[0-9]]*\),x\1x,g;s,x\([[0-9]]\)x,x0\1x,g;s,x\([[0-9]][[0-9]]\)x,x0\1x,g;s,x,,g'` + + # ac_milter_version_ok will equal yes if the version is ok, otherwise no. + ac_milter_version_ok=`echo "x$ac_milter_minimum_version +x$ac_milter_found_version" | sort | sed '1q' | sed "s,x${ac_milter_minimum_version},yes,;s,x${ac_milter_found_version},no," ` + + if test -r "${ac_milter_tmp}/include/libmilter/mfapi.h" && \ + test "$ac_milter_version_ok" = "yes" ; then + # The file mfapi.h exists so we will use this as SENDMAIL_BASE_DIR. + AC_MSG_RESULT([yes]) + SENDMAIL_BASE_DIR="$ac_milter_tmp" + else + AC_MSG_RESULT([no]) + fi + fi + fi + + ############################################################################# + # + # Determine the sendmail obj.* directory and set SENDMAIL_OBJ_DIR. + # We can only do this if we found SENDMAIL_BASE_DIR. + # + if test "x$SENDMAIL_BASE_DIR" != "x" ; then + if test "x$with_sendmail_obj" != "x" ; then + # set SENDMAIL_OBJ_DIR to the one specified by--with-sendmail-obj + SENDMAIL_OBJ_DIR="$with_sendmail_obj" + else + AC_MSG_CHECKING([for sendmail obj.* subdirectory using Build -M]) + # + # --with-sendmail-obj is not used, so we will try to determine it + # + # Try to run sendmail's Build program with the -M option which will + # print out the name of the obj. directory for the tool in the + # directory where it is run from. + # + ac_milter_tmp=`(cd ${SENDMAIL_BASE_DIR}/libmilter 1> /dev/null ; ./Build -M ) 2> /dev/null` + + if test -f "${ac_milter_tmp}/libmilter.a" ; then + # libmilter.a exists so this is the one we will choose + AC_MSG_RESULT([yes]) + # Remove beginning and end of path from obj.* directory. + SENDMAIL_OBJ_DIR=`echo "$ac_milter_tmp" | sed 's,/libmilter$,,;s,.*/,,'` + else + AC_MSG_RESULT([no]) + AC_MSG_CHECKING([for sendmail obj.* subdirectory using ls]) + # + # List all directories of the form "obj." in the sendmail base + # directory, and choose the one with the latest modification date. + # + ac_milter_tmp=`ls -dt ${SENDMAIL_BASE_DIR}/obj.*/libmilter 2> /dev/null | sed '1q'` + + if test -f "${ac_milter_tmp}/libmilter.a" ; then + # libmilter.a exists so this is the one we will choose + AC_MSG_RESULT([yes]) + # Remove beginning and end of path from obj.* directory. + SENDMAIL_OBJ_DIR=`echo "$ac_milter_tmp" | sed 's,/libmilter$,,;s,.*/,,'` + else + AC_MSG_RESULT([no]) + fi + fi + fi + fi + + ############################################################################# + # + # If we have both SENDMAIL_BASE_DIR and SENDMAIL_OBJ_DIR we will check + # for the necessary files. + # + if test "x$SENDMAIL_BASE_DIR" != "x" && \ + test "x$SENDMAIL_OBJ_DIR" != "x" ; then + + # Save and modify CPPFLAGS. + ac_milter_save_CPPFLAGS="$CPPFLAGS" + MILTER_CPPFLAGS="-I$SENDMAIL_BASE_DIR/include" + CPPFLAGS="$CPPFLAGS $MILTER_CPPFLAGS" + + # Save and modify LDFLAGS. + ac_milter_save_LDFLAGS="$LDLFAGS" + MILTER_LDFLAGS="-L${SENDMAIL_BASE_DIR}/${SENDMAIL_OBJ_DIR}/libmilter" + LDFLAGS="$MILTER_LDFLAGS $LDFLAGS" + + AC_CHECK_HEADER([libmilter/mfapi.h],[ + AC_CHECK_LIB([milter],[smfi_main],[ + # both tests succeeded so add -lmilter to the libraries to link + MILTER_LIBS="-lmilter" + + # indicate success + ax_path_milter_ok=yes + ]) + ]) + + # Restore the modified environment + CPPFLAGS="$ac_milter_save_CPPFLAGS" + LDFLAGS="$ac_milter_save_LDFLAGS" + + fi +fi + +# If failure, clear MILTER_LIBS, MILTER_LDFLAGS and MILTER_CPPFLAGS. +if test "$ax_path_milter_ok" = "no" ; then + MILTER_CPPFLAGS="" + MILTER_LIBS="" + MILTER_LDFLAGS="" +fi + +# export these to the make environment +AC_SUBST([MILTER_LIBS]) +AC_SUBST([MILTER_CPPFLAGS]) +AC_SUBST([MILTER_LDFLAGS]) +AC_SUBST([SENDMAIL_BASE_DIR]) +AC_SUBST([SENDMAIL_OBJ_DIR]) + +# Indicate status of checking for libmilter stuff. +AC_MSG_CHECKING([if files required by libmilter are present]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND. +if test "$ax_path_milter_ok" = "yes" ; then + AC_MSG_RESULT([yes]) + $2 +else + AC_MSG_RESULT([no]) + $3 +fi + +])dnl diff --git a/m4/autoconf-archive/ax_path_missing.m4 b/m4/autoconf-archive/ax_path_missing.m4 new file mode 100755 index 0000000000..680a04efaa --- /dev/null +++ b/m4/autoconf-archive/ax_path_missing.m4 @@ -0,0 +1,42 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_path_missing.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PATH_MISSING(VARIABLE, PROG-TO-CHECK-FOR, WARNING-IF-NOT-FOUND, PATH) +# +# DESCRIPTION +# +# Check whether program PROG-TO-CHECK-FOR exists in path. If it is found, +# set VARIABLE to the full path of PROG-TO-CHECK-FOR, otherwise warn using +# the string WARNING-IF-NOT-FOUND and set VARIABLE to the full path of the +# Automake missing script with PROG-TO-CHECK-FOR as the command to run. +# +# A typical use is the following: +# +# AX_PATH_MISSING([AUTOGEN],[autogen],[autogen seems missing ...]) +# +# This macro is the combination of AC_PATH_PROG and AX_MISSING_PROG. If +# you do not want to run AC_PATH_PROG, simply use AX_MISSING_PROG or +# AM_MISSING. +# +# LICENSE +# +# Copyright (c) 2008 Noah Slater +# Copyright (c) 2008 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_PATH_MISSING], [ + AC_PATH_PROG([$1],[$2],[$4]) + AS_IF([ test -z "${$1}" ],[ + unset $1 + AX_MISSING_PROG([$1],[$2],[$3]) + ]) +]) diff --git a/m4/autoconf-archive/ax_perl_ext.m4 b/m4/autoconf-archive/ax_perl_ext.m4 new file mode 100755 index 0000000000..42e8b50dc5 --- /dev/null +++ b/m4/autoconf-archive/ax_perl_ext.m4 @@ -0,0 +1,145 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_perl_ext.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PERL_EXT +# +# DESCRIPTION +# +# Fetches the linker flags and C compiler flags for compiling and linking +# Perl binary extensions. The macro substitutes PERL_EXT_PREFIX, +# PERL_EXT_INC, PERL_EXT_LIB, PERL_EXT_CPPFLAGS, PERL_EXT_LDFLAGS and +# PERL_EXT_DLEXT variables if Perl executable was found. It also checks +# the same variables before trying to retrieve them from the Perl +# configuration. +# +# PERL_EXT_PREFIX: top-level perl installation path (--prefix) +# PERL_EXT_INC: XS include directory +# PERL_EXT_LIB: Perl extensions destination directory +# PERL_EXT_CPPFLAGS: C preprocessor flags to compile extensions +# PERL_EXT_LDFLAGS: linker flags to build extensions +# PERL_EXT_DLEXT: extensions suffix for perl modules (e.g. ".so") +# +# Examples: +# +# AX_PERL_EXT +# if test x"$PERL" = x; then +# AC_ERROR(["cannot find Perl"]) +# fi +# +# LICENSE +# +# Copyright (c) 2011 Stanislav Sedov +# Copyright (c) 2014 Thomas Klausner +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +#serial 3 + +AC_DEFUN([AX_PERL_EXT],[ + + # + # Check if perl executable exists. + # + AC_PATH_PROGS(PERL, ["${PERL-perl}"], []) + + if test -n "$PERL" ; then + + # + # Check for Perl prefix. + # + AC_ARG_VAR(PERL_EXT_PREFIX, [Perl PREFIX]) + AC_MSG_CHECKING([for Perl prefix]) + if test -z "$PERL_EXT_PREFIX" ; then + [PERL_EXT_PREFIX=`$PERL -MConfig -e 'print $Config{prefix};'`]; + fi + AC_MSG_RESULT([$PERL_EXT_PREFIX]) + AC_SUBST(PERL_EXT_PREFIX) + + # + # Check for Perl extensions include path. + # + AC_ARG_VAR(PERL_EXT_INC, [Directory to include XS headers from]) + AC_MSG_CHECKING([for Perl extension include path]) + if test -z "$PERL_EXT_INC" ; then + [PERL_EXT_INC=`$PERL -MConfig -e 'print $Config{archlibexp}, "/CORE";'`]; + fi + AC_MSG_RESULT([$PERL_EXT_INC]) + AC_SUBST(PERL_EXT_INC) + + # + # Check for the extensions target directory. + # + AC_ARG_VAR(PERL_EXT_LIB, [Directory to install perl files into]) + AC_MSG_CHECKING([for Perl extension target directory]) + if test -z "$PERL_EXT_LIB" ; then + [PERL_EXT_LIB=`$PERL -MConfig -e 'print $Config{sitearch};'`]; + fi + AC_MSG_RESULT([$PERL_EXT_LIB]) + AC_SUBST(PERL_EXT_LIB) + + # + # Check for Perl CPP flags. + # + AC_ARG_VAR(PERL_EXT_CPPFLAGS, [CPPFLAGS to compile perl extensions]) + AC_MSG_CHECKING([for Perl extensions C preprocessor flags]) + if test -z "$PERL_EXT_CPPFLAGS" ; then + [PERL_EXT_CPPFLAGS=`$PERL -MConfig -e 'print $Config{cppflags};'`]; + fi + AC_MSG_RESULT([$PERL_EXT_CPPFLAGS]) + AC_SUBST(PERL_EXT_CPPFLAGS) + + # + # Check for Perl extension link flags. + # + AC_ARG_VAR(PERL_EXT_LDFLAGS, [LDFLAGS to build perl extensions]) + AC_MSG_CHECKING([for Perl extensions linker flags]) + if test -z "$PERL_EXT_LDFLAGS" ; then + [PERL_EXT_LDFLAGS=`$PERL -MConfig -e 'print $Config{lddlflags};'`]; + fi + # Fix LDFLAGS for OS X. We don't want any -arch flags here, otherwise + # linking will fail. Also, OS X Perl LDFLAGS contains "-arch ppc" which + # is not supported by XCode anymore. + case "${host}" in + *darwin*) + PERL_EXT_LDFLAGS=`echo ${PERL_EXT_LDFLAGS} | sed -e "s,-arch [[^ ]]*,,g"` + ;; + esac + AC_MSG_RESULT([$PERL_EXT_LDFLAGS]) + AC_SUBST(PERL_EXT_LDFLAGS) + + # + # Check for Perl dynamic library extension. + # + AC_ARG_VAR(PERL_EXT_DLEXT, [Perl dynamic library extension]) + AC_MSG_CHECKING([for Perl dynamic library extension]) + if test -z "$PERL_EXT_DLEXT" ; then + [PERL_EXT_DLEXT=`$PERL -MConfig -e 'print ".", $Config{'dlext'};'`]; + fi + AC_MSG_RESULT([$PERL_EXT_DLEXT]) + AC_SUBST(PERL_EXT_DLEXT) + fi +]) diff --git a/m4/autoconf-archive/ax_perl_ext_flags.m4 b/m4/autoconf-archive/ax_perl_ext_flags.m4 new file mode 100755 index 0000000000..a317bd1bee --- /dev/null +++ b/m4/autoconf-archive/ax_perl_ext_flags.m4 @@ -0,0 +1,116 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_perl_ext_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PERL_EXT_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [EXTRA-MODULES]) +# AX_PERL_EXT_CFLAGS([CFLAGS-VARIABLE]) +# AX_PERL_EXT_LDFLAGS([LDFLAGS-VARIABLE], [EXTRA-MODULES]) +# +# DESCRIPTION +# +# Fetches the linker flags and C compiler flags for compiling and linking +# programs that embed a Perl interpreter. If the EXTRA-MODULES argument is +# submitted, it is a space separated list of extra modules to link. The +# flags will be stored in the provided variables. +# +# Examples: +# +# AX_PERL_EXT_FLAGS([PERLXS_CFLAGS], [PERLXS_LDFLAGS]) +# AC_SUBST([PERLXS_CFLAGS]) +# AC_SUBST([PERLXS_LDFLAGS]) +# +# AX_PERL_EXT_CFLAGS([PERLXS_CFLAGS]) +# AC_SUBST([PERLXS_CFLAGS]) +# +# AX_PERL_EXT_LDFLAGS([PERLXS_LDFLAGS], [-std Socket]) +# +# LICENSE +# +# Copyright (c) 2009 Mats Kindahl of Sun Microsystems +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +#serial 8 + +AC_DEFUN([AX_PERL_EXT_CFLAGS], +[AC_CHECK_PROG(PERL,perl,perl) + _AX_PERL_EXT_MODULE_CHECK([ExtUtils::Embed], [have_embed=yes], + [have_embed=no]) + AS_IF([test $have_embed = no], + AC_MSG_ERROR([Require ExtUtils::Embed to proceed])) + _AX_PERL_EXT_EMBED_CHECK([$1],[ccopts]) +]) + + +AC_DEFUN([AX_PERL_EXT_LDFLAGS], +[AC_CHECK_PROG(PERL,perl,perl) + _AX_PERL_EXT_MODULE_CHECK([ExtUtils::Embed], [have_embed=yes], + [have_embed=no]) + AS_IF([test $have_embed = no], + AC_MSG_ERROR([Require ExtUtils::Embed to proceed])) + _AX_PERL_EXT_EMBED_CHECK([$1],[ldopts],[$2]) +]) + + +AC_DEFUN([AX_PERL_EXT_FLAGS], +[AC_CHECK_PROG(PERL,perl,perl) + _AX_PERL_EXT_MODULE_CHECK([ExtUtils::Embed], [have_embed=yes], + [have_embed=no]) + AS_IF([test $have_embed = no], + AC_MSG_ERROR([Require ExtUtils::Embed to proceed])) + _AX_PERL_EXT_EMBED_CHECK([$1],[ccopts]) + _AX_PERL_EXT_EMBED_CHECK([$2],[ldopts],[$3]) +]) + + +dnl _AX_PERL_EXT_MODULE_CHECK(MODULE-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) +dnl +dnl Check for the existence of the perl module given by MODULE-NAME. +dnl +AC_DEFUN([_AX_PERL_EXT_MODULE_CHECK], +[AC_MSG_CHECKING([for perl module $1]) + $PERL "-M$1" -e exit > /dev/null 2>&1 + AS_IF([test $? -eq 0], + [AC_MSG_RESULT(yes) + $2], + [AC_MSG_RESULT(no) + $3]) +]) + +dnl _AX_PERL_EXT_EMBED_CHECK(VARIABLE, COMMAND, [EXTRA-FLAGS]) Use +dnl +dnl ExtUtils::Embed fetch flags for embedding Perl in a C/C++ +dnl application +dnl +AC_DEFUN([_AX_PERL_EXT_EMBED_CHECK], +[AC_MSG_CHECKING([for perl $2 embed flags]) + ax_c_perlxs_extras="$3" + $1=`$PERL -MExtUtils::Embed -e $2 ${ax_c_perlxs_extras:+"-- $3"}` + AC_MSG_RESULT($$1) +]) diff --git a/m4/autoconf-archive/ax_perl_module_version.m4 b/m4/autoconf-archive/ax_perl_module_version.m4 new file mode 100755 index 0000000000..1576685172 --- /dev/null +++ b/m4/autoconf-archive/ax_perl_module_version.m4 @@ -0,0 +1,85 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_perl_module_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PERL_MODULE_VERSION([MODULE VERSION], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Checks to see if the list of 'Module Version' are available in the +# system. If all the modules in the list are available ACTION-IF-TRUE is +# executed. Case one module is not available ACTION-IF-FALSE is executed +# and the macro execution is aborted. NOTE: Perl is needed. +# +# Example: +# +# AX_PERL_MODULE_VERSION(CGI::Test 0.104 CGI::Ajax 0.694, , +# AC_MSG_ERROR(Need some Perl modules)) +# +# LICENSE +# +# Copyright (c) 2009 Marco Gomes +# Copyright (c) 2009 Ruben Fonseca +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([AC_PERL_MODULE_VERSION], [AX_PERL_MODULE_VERSION]) +AC_DEFUN([AX_PERL_MODULE_VERSION],[dnl +ac_perl_list_modules="$1" +# Make sure we have perl +if test -z "$PERL"; then +AC_CHECK_PROG(PERL,perl,perl) +fi + +# Check the number of arguments +args_num=`echo $ac_perl_list_modules | wc -w` +check_args=$(( $args_num % 2 )) +if test "$check_args" = "1" ; then + AC_MSG_ERROR(syntax error) +else + eval +fi + +if test "x$PERL" != x; then + ac_failed=0 + while test ${#ac_perl_list_modules} -gt 2 ; do + module_name=`echo $ac_perl_list_modules | cut -d " " -f 1` + module_version=`echo $ac_perl_list_modules | cut -d " " -f 2` + ac_perl_list_modules=`echo $ac_perl_list_modules | cut -d " " -f 3-` + AC_MSG_CHECKING(for perl module $module_name version $module_version) + + $PERL "-M$module_name" -e exit > /dev/null 2>&1 + if test $? -ne 0; then + AC_MSG_RESULT(no); + ac_failed=1 + ac_perl_list_modules="" + else + version=`$PERL "-M$module_name" -e 'print $'"$module_name::VERSION" 2>&1` + $PERL -e 'exit(shift cmp shift)' "$version" "$module_version" + if test $? -eq 0 -o $? -eq 1 ; then + AC_MSG_RESULT(ok); + else + AC_MSG_RESULT(no) + ac_failed=1 + ac_perl_list_modules="" + fi + fi; + done + + if test "$ac_failed" = 0; then + : + $2 + else + : + $3 + fi +else + AC_MSG_ERROR(could not find perl) +fi])dnl diff --git a/m4/autoconf-archive/ax_pgsql_priv_root.m4 b/m4/autoconf-archive/ax_pgsql_priv_root.m4 new file mode 100755 index 0000000000..9476556ed8 --- /dev/null +++ b/m4/autoconf-archive/ax_pgsql_priv_root.m4 @@ -0,0 +1,110 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pgsql_priv_root.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PGSQL_PRIV_ROOT(DB, USER, [HOST], [PASSWORD], [ACTION_IF_FAILED], [ACTION_IF_OK]) +# +# DESCRIPTION +# +# This macro checks wether the given PostgreSQL user has root privileges +# (can create and drop databases) It is recommended to first call +# AX_CHECK_PGSQL_DB, this makes it easier to locate the cause of error. +# The macro AX_PROG_PGCLIENT is required by this one. +# +# The variable $pgclient_root_call is set for later use in Makefiles, if +# you'd like to make use of this, you must do +# +# AC_SUBST(pgclient_root_call) +# +# after having called AX_CHECK_PGSQL_PRIV_ROOT. You can then do something +# like the following in your Makefile.am: +# +# @pgclient_root_call@ -f file.sql +# +# If you want the user to set the data, you should support something like +# these configure options: +# +# AC_ARG_WITH(pgsql-host, +# [ --with-pgsql-host=HOST server is running on HOST @<:@local socket@:>@], +# [pg_host=$withval], [pg_host=]) +# +# AC_ARG_WITH(pgsql-db, +# [ --with-pgsql-db=DBNAME use database DBNAME @<:@test@:>@], +# [pg_db=$withval], [pg_db=test]) +# +# AC_ARG_WITH(pgsql-root-user, +# [ --with-pgsql-root-user=USER use user USER, must have root (all) privileges @<:@postgres@:>@], +# [pg_root_user=$withval], [pg_root_user=postgres]) +# +# AC_ARG_WITH(pgsql-password, +# [ --with-pgsql-password=PASSWORD use password PASSWORD @<:@none@:>@], +# [pg_password=$withval], [pg_password=""]) +# +# You can then call the macro like this: +# +# AX_CHECK_PGSQL_PRIV_ROOT([$pg_db], [$pg_root_user], [$pg_host], [$pg_password], [AC_MSG_ERROR([We need root privileges on database!])]) +# +# LICENSE +# +# Copyright (c) 2008 Moritz Sinn +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([AX_CHECK_PGSQL_PRIV_ROOT], [ +AC_REQUIRE([AX_PROG_PGCLIENT])dnl +AC_REQUIRE([AX_CHECK_PGSQL_DB])dnl +AC_MSG_CHECKING([if PostgreSQL user $2 has root privileges]) + +pgclient_root_call="$pgclient" + +if test "x$1" != "x"; then + pgclient_root_call="$pgclient_root_call dbname=$1"; +fi +if test "x$2" != "x"; then + pgclient_root_call="$pgclient_root_call user=$2"; +fi +if test "x$3" != "x"; then + pgclient_root_call="$pgclient_root_call host=$3"; +fi +if test "x$4" != "x"; then + pgclient_root_call="$pgclient_root_call password=$4"; +fi + +testdb="test`date +%s`" +echo "CREATE DATABASE $testdb; DROP DATABASE $testdb;" | $pgclient_root_call > /dev/null 2>&1 +if test "x$?" = "x0"; then + AC_MSG_RESULT([yes]) + $6 +else + AC_MSG_RESULT([no]) + $5 +fi; +])dnl diff --git a/m4/autoconf-archive/ax_pkg_check_modules.m4 b/m4/autoconf-archive/ax_pkg_check_modules.m4 new file mode 100755 index 0000000000..760ffaf825 --- /dev/null +++ b/m4/autoconf-archive/ax_pkg_check_modules.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pkg_check_modules.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PKG_CHECK_MODULES(PREFIX, PUBLIC-MODULES, PRIVATE-MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [PUBLIC-VARIABLE], [PRIVATE-VARIABLE]) +# +# DESCRIPTION +# +# A wrapper around PKG_CHECK_MODULES which splits the list of modules into +# public and private dependencies, and produces two variables listing the +# dependencies across all invocations of AX_PKG_CHECK_MODULES. These two +# variables are exposed via AC_SUBST, and should be used in a pkg-config +# file as the substituted values for Requires and Requires.private. +# +# The PREFIX, PUBLIC-MODULES and PRIVATE-MODULES arguments should be +# specified as for PKG_CHECK_MODULES, with the concatenation of +# PUBLIC-MODULES and PRIVATE-MODULES equaling the LIST-OF-MODULES from +# PKG_CHECK_MODULES. The ACTION-IF-FOUND and ACTION-IF-NOT-FOUND +# arguments are optional, and should also be specified as for +# PKG_CHECK_MODULES. ACTION-IF-FOUND is evaluated if the full +# LIST-OF-MODULES is found; ACTION-IF-NOT-FOUND similarly. +# +# PUBLIC-VARIABLE defaults to AX_PACKAGE_REQUIRES, and PRIVATE-VARIABLE +# defaults to AX_PACKAGE_REQUIRES_PRIVATE. Both variables are AC_SUBST-ed +# by this macro. +# +# For example: +# +# AX_PKG_CHECK_MODULES([GLIB],[glib-2.0 gio-2.0],[gthread-2.0]) +# AX_PKG_CHECK_MODULES([DBUS],[],[dbus-glib-1 >= 0.98 dbus-1]) +# +# results in the substitutions: +# +# AX_PACKAGE_REQUIRES="glib-2.0 gio-2.0" +# AX_PACKAGE_REQUIRES_PRIVATE="gthread-2.0 dbus-glib-1 >= 0.98 dbus-1" +# +# and can be used with a template pkg-config file (.pc.in) using: +# +# Requires: @AX_PACKAGE_REQUIRES@ +# Requires.private: @AX_PACKAGE_REQUIRES_PRIVATE@ +# +# LICENSE +# +# Copyright (c) 2014 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_PKG_CHECK_MODULES],[ + m4_define([ax_package_requires], + [m4_default_quoted([$6],[AX_PACKAGE_REQUIRES])]) + m4_define([ax_package_requires_private], + [m4_default_quoted([$7],[AX_PACKAGE_REQUIRES_PRIVATE])]) + + ax_package_requires="$[]ax_package_requires m4_normalize($2)" + ax_package_requires_private="$[]ax_package_requires_private m4_normalize($3)" + + PKG_CHECK_MODULES([$1],[$2 $3],[$4],[$5]) + + # Substitute output. + AC_SUBST(ax_package_requires) + AC_SUBST(ax_package_requires_private) +])dnl AX_PKG_CHECK_MODULES diff --git a/m4/autoconf-archive/ax_pkg_mico.m4 b/m4/autoconf-archive/ax_pkg_mico.m4 new file mode 100755 index 0000000000..1aa0fac51c --- /dev/null +++ b/m4/autoconf-archive/ax_pkg_mico.m4 @@ -0,0 +1,219 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pkg_mico.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PKG_MICO([X.X.X optional required]) +# +# DESCRIPTION +# +# This macro searches for a MICO installation on your system. MICO (Mico +# Is COrba) installs the file 'mico-setup.sh' under MICO_INSTALL_BASE/lib, +# where MICO_INSTALL_BASE is probably /usr/local or /usr. If nothing was +# specified when calling configure or just --with-mico, it searches in +# $prefix/lib:/usr/local/lib:/usr/lib The argument of s--with-mico +# specifies the full pathname of the mico-setup.sh file. For instance +# --with-mico=/usr/local/mico-2.2.6/lib/mico-setup.sh. +# +# If the version argument is given (e.g. 2.2.6), AX_PKG_MICO checks that +# the mico package is this version number or higher. +# +# The other optional argument to AX_PKG_MICO are 'optional' and +# 'required'. by default, placing AX_PKG_MICO in your configure.in does +# not enforce using mico, if it is not found on the system. If MICO +# existence is critical for the building of your package, then you +# probably want to specify something like "AX_PKG_MICO(2.2.6 required)". +# Then, even if the --with-mico was not specified on the command line of +# the configure script, an error will be raised if mico was not found. +# +# If the mico package is not found, abort configuration with error +# message. +# +# It defines the symbol MICOSETUP, MICOVERSION, MICOSHAREDDIR +# MICO_INCLUDE, MICO_LIB and MICO_CXX if mico is found. In addition, the +# mico script mico-c++ (set in (MICO_CXX) is scaned for a string match +# "-I.*ministl" and if foundMICO_USE_MINISTL is set to 1, otherwise to 0. +# +# Example of use of these variables in your Makefile.in: +# +# INCLUDES += @MICO_INCLUDE@ +# LDFLAGS += @MICO_LIB@ +# +# LICENSE +# +# Copyright (c) 2008 Tal Shalif +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_PKG_MICO], [AX_PKG_MICO]) +AC_DEFUN([AX_PKG_MICO], +[ +# +# first parse the argument given in configure.in to AX_PKG_MICO +# +MICO_REQUEST_VERSION= +MICO_URGENCY="optional" + +changequote(<<, >>) + +for a in $1 $2 $3 $4 $5 $6 $7 $8 $9 x; do + case "$a" in + x) break;; + [0-9]*.[0-9]*.[0-9]*) MICO_REQUEST_VERSION="$a";; + optional|required) MICO_URGENCY="$a";; + *) argerror="argument to the PKG_MICO macro must be one of 'X.X.X' 'required' or 'optional'";; + esac +done + +changequote([, ]) + +if test -n "$argerror"; then + AC_MSG_ERROR($argerror) +fi; + +AC_MSG_CHECKING(if mico is wanted) +AC_ARG_WITH(mico, + [ --with-mico=PATH absolute path name of mico's configuration file 'mico-setup.sh' (default is to search in \$prefix/lib:/usr/local/lib:/usr/lib), + --without-mico to disable mico detection], + [ + # + # Run this if -with or -without was specified + # + case "$withval" in + yes) MICO_URGENCY=required;; + no) if test x$MICO_URGENCY = xrequired; then + AC_MSG_ERROR("PKG_MICO was configured with the 'required' option. You cannot override it from the command line") + fi; + ;; + *) MICO_URGENCY=required; MICOSETUP="$withval" ;; + esac + + ],[]) + +AC_MSG_RESULT($MICO_URGENCY) + +# +# Now we know if we want mico or not, only go further if +# it's wanted. +# +if test x$MICO_URGENCY = xrequired -o x$MICO_URGENCY = xoptional; then + # + # If not specified by caller, search in standard places + # + if test -z "$MICOSETUP" ; then + AC_PATH_PROG(MICOSETUP, mico-setup.sh, , $prefix/lib:/usr/local/lib:/usr/lib) + fi + if test -z "$MICOSETUP" ; then + if test x$MICO_URGENCY = xrequired ; then + AC_MSG_ERROR("mico setup file mico-setup.sh not found") + else + AC_MSG_RESULT("mico setup file mico-setup.sh not found") + fi + else + # source mico-setup.sh + # Collect mico version number. + # But be carefull - mico-setup.sh + # unsets prefix and exec_prefix so save them first + sh -c ". $MICOSETUP; echo MICOVERSION=\${MICOVERSION}; echo MICOSHAREDDIR=\${MICOSHAREDDIR}; echo MICODIR=\${MICODIR}" > conftest.mico-setup + + eval `cat conftest.mico-setup` + + if test -z "$MICOVERSION" ; then + AC_MSG_ERROR("panic: could not read the MICOVERSION variable"); + fi + # + # Check that mico version matches requested version or above + # + if test -n "$MICO_REQUEST_VERSION" ; then + changequote(<<, >>)dnl + MICO_MAJOR=`expr $MICOVERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'` + MICO_MINOR=`expr $MICOVERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'` + MICO_RELEASE=`expr $MICOVERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'` + MICO_REQUEST_MAJOR=`expr $MICO_REQUEST_VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'` + MICO_REQUEST_MINOR=`expr $MICO_REQUEST_VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'` + MICO_REQUEST_RELEASE=`expr $MICO_REQUEST_VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'` + changequote([, ])dnl + + AC_MSG_CHECKING(mico version >= $MICO_REQUEST_VERSION) + + version_ok=yes + for verpair in "$MICO_MAJOR:$MICO_REQUEST_MAJOR" "$MICO_MINOR:$MICO_REQUEST_MINOR" "$MICO_RELEASE:$MICO_REQUEST_RELEASE"; do + if eval "test `echo $verpair | sed 's,:, -gt ,'`"; then + break + fi + if eval "test `echo $verpair | sed 's,:, -lt ,'`"; then + version_ok=no + break + fi + done + if test x$version_ok = xno; then + AC_MSG_RESULT(no) + AC_MSG_ERROR(mico version is $MICOVERSION) + else + AC_MSG_RESULT(yes) + fi + fi + # + # look for mico-c++ and scan it for a string match + # to "-I*ministl" + # + AC_PATH_PROG(MICO_CXX, mico-c++, , ${MICODIR}/bin:${MICOSHAREDDIR}/bin) + if test -z "$MICO_CXX"; then + AC_MSG_ERROR("panic: cannot locate and scan the mico script mico-c++") + fi + + AC_MSG_CHECKING(if mico was compiled using ministl) + + if test -z "`grep '\-I.*ministl' $MICO_CXX`"; then + MICO_USE_MINISTL=0 + AC_MSG_RESULT(no) + else + MICO_USE_MINISTL=1 + AC_MSG_RESULT(yes) + fi + # + # look for mico-ld and scan it for -l* libraries + # needed to link with mico + # + AC_PATH_PROG(MICO_LD, mico-ld, , ${MICODIR}/bin:${MICOSHAREDDIR}/bin) + + if test -z "$MICO_LD"; then + AC_MSG_ERROR("panic: cannot locate and scan the mico script mico-ld") + fi + + AC_MSG_CHECKING(mico dependencies) + + micodeps= + for item in `grep -- -l $MICO_LD | tr '"' ' '` ; do + case $item in + -l*) micodeps="$micodeps $item" ;; + esac + done + + if test -z "$micodeps" ;then + AC_MSG_RESULT(none) + else + AC_MSG_RESULT($micodeps) + fi + + AC_MSG_CHECKING(how to link with the mico library) + MICO_LIB="-L${MICODIR}/lib -lmico${MICOVERSION} $micodeps" + AC_MSG_RESULT($MICO_LIB) + + MICO_INCLUDE="-I${MICOSHAREDDIR}/include" + + AC_SUBST(MICODIR) + AC_SUBST(MICOVERSION) + AC_SUBST(MICOSHAREDDIR) + AC_SUBST(MICO_INCLUDE) + AC_SUBST(MICO_LIB) + AC_SUBST(MICO_USE_MINISTL) + fi +fi +]) diff --git a/m4/autoconf-archive/ax_pkg_swig.m4 b/m4/autoconf-archive/ax_pkg_swig.m4 new file mode 100755 index 0000000000..1d467de3d5 --- /dev/null +++ b/m4/autoconf-archive/ax_pkg_swig.m4 @@ -0,0 +1,135 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found]) +# +# DESCRIPTION +# +# This macro searches for a SWIG installation on your system. If found, +# then SWIG is AC_SUBST'd; if not found, then $SWIG is empty. If SWIG is +# found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd. +# +# You can use the optional first argument to check if the version of the +# available SWIG is greater than or equal to the value of the argument. It +# should have the format: N[.N[.N]] (N is a number between 0 and 999. Only +# the first N is mandatory.) If the version argument is given (e.g. +# 1.3.17), AX_PKG_SWIG checks that the swig package is this version number +# or higher. +# +# As usual, action-if-found is executed if SWIG is found, otherwise +# action-if-not-found is executed. +# +# In configure.in, use as: +# +# AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ]) +# AX_SWIG_ENABLE_CXX +# AX_SWIG_MULTI_MODULE_SUPPORT +# AX_SWIG_PYTHON +# +# LICENSE +# +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# Copyright (c) 2011 Murray Cumming +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 13 + +AC_DEFUN([AX_PKG_SWIG],[ + # Find path to the "swig" executable. + AC_PATH_PROGS([SWIG],[swig swig3.0 swig2.0]) + if test -z "$SWIG" ; then + m4_ifval([$3],[$3],[:]) + elif test -n "$1" ; then + AC_MSG_CHECKING([SWIG version]) + [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`] + AC_MSG_RESULT([$swig_version]) + if test -n "$swig_version" ; then + # Calculate the required version number components + [required=$1] + [required_major=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_major" ; then + [required_major=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_minor=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_minor" ; then + [required_minor=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_patch=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_patch" ; then + [required_patch=0] + fi + # Calculate the available version number components + [available=$swig_version] + [available_major=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_major" ; then + [available_major=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_minor=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_minor" ; then + [available_minor=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_patch=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_patch" ; then + [available_patch=0] + fi + # Convert the version tuple into a single number for easier comparison. + # Using base 100 should be safe since SWIG internally uses BCD values + # to encode its version number. + required_swig_vernum=`expr $required_major \* 10000 \ + \+ $required_minor \* 100 \+ $required_patch` + available_swig_vernum=`expr $available_major \* 10000 \ + \+ $available_minor \* 100 \+ $available_patch` + + if test $available_swig_vernum -lt $required_swig_vernum; then + AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version.]) + SWIG='' + m4_ifval([$3],[$3],[]) + else + AC_MSG_CHECKING([for SWIG library]) + SWIG_LIB=`$SWIG -swiglib` + AC_MSG_RESULT([$SWIG_LIB]) + m4_ifval([$2],[$2],[]) + fi + else + AC_MSG_WARN([cannot determine SWIG version]) + SWIG='' + m4_ifval([$3],[$3],[]) + fi + fi + AC_SUBST([SWIG_LIB]) +]) diff --git a/m4/autoconf-archive/ax_prefix_config_h.m4 b/m4/autoconf-archive/ax_prefix_config_h.m4 new file mode 100755 index 0000000000..22acbac68d --- /dev/null +++ b/m4/autoconf-archive/ax_prefix_config_h.m4 @@ -0,0 +1,203 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prefix_config_h.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PREFIX_CONFIG_H [(OUTPUT-HEADER [,PREFIX [,ORIG-HEADER]])] +# +# DESCRIPTION +# +# Generate an installable config.h. +# +# A package should not normally install its config.h as a system header, +# but if it must, this macro can be used to avoid namespace pollution by +# making a copy of config.h with a prefix added to all the macro names. +# +# Each "#define SOMEDEF" line of the configuration header has the given +# prefix added, in the same case as the first character of the macro name. +# +# Defaults: +# +# OUTPUT-HEADER = $PACKAGE-config.h +# PREFIX = $PACKAGE +# ORIG-HEADER, from AM_CONFIG_HEADER(config.h) +# +# Your configure.ac script should contain both macros in this order. +# +# Example: +# +# AC_INIT(config.h.in) # config.h.in as created by "autoheader" +# AM_INIT_AUTOMAKE(testpkg, 0.1.1) # makes #undef VERSION and PACKAGE +# AM_CONFIG_HEADER(config.h) # prep config.h from config.h.in +# AX_PREFIX_CONFIG_H(mylib/_config.h) # prep mylib/_config.h from it.. +# AC_MEMORY_H # makes "#undef NEED_MEMORY_H" +# AC_C_CONST_H # makes "#undef const" +# AC_OUTPUT(Makefile) # creates the "config.h" now +# # and also mylib/_config.h +# +# If the argument to AX_PREFIX_CONFIG_H would have been omitted then the +# default output file would have been called simply "testpkg-config.h", +# but even under the name "mylib/_config.h" it contains prefix-defines +# like +# +# #ifndef TESTPKG_VERSION +# #define TESTPKG_VERSION "0.1.1" +# #endif +# #ifndef TESTPKG_NEED_MEMORY_H +# #define TESTPKG_NEED_MEMORY_H 1 +# #endif +# #ifndef _testpkg_const +# #define _testpkg_const _const +# #endif +# +# and this "mylib/_config.h" can be installed along with other header +# files, which is most convenient when creating a shared library (that has +# some headers) whose functionality depends on features detected at +# compile-time. No need to invent some "mylib-confdefs.h.in" manually. +# +# Note that some AC_DEFINEs that end up in the config.h file are actually +# self-referential - e.g. AC_C_INLINE, AC_C_CONST, and the AC_TYPE_OFF_T +# say that they "will define inline|const|off_t if the system does not do +# it by itself". You might want to clean up about these - consider an +# extra mylib/conf.h that reads something like: +# +# #include +# #ifndef _testpkg_const +# #define _testpkg_const const +# #endif +# +# and then start using _testpkg_const in the header files. That is also a +# good thing to differentiate whether some library-user has starting to +# take up with a different compiler, so perhaps it could read something +# like this: +# +# #ifdef _MSC_VER +# #include +# #else +# #include +# #endif +# #ifndef _testpkg_const +# #define _testpkg_const const +# #endif +# +# LICENSE +# +# Copyright (c) 2014 Reuben Thomas +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2008 Marten Svantesson +# Copyright (c) 2008 Gerald Point +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 16 + +AC_DEFUN([AX_PREFIX_CONFIG_H],[dnl +AC_PREREQ([2.62]) +AC_BEFORE([AC_CONFIG_HEADERS],[$0])dnl +AC_CONFIG_COMMANDS(m4_default([$1], [$PACKAGE-config.h]),[dnl +AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl +AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl +AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl +AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl +AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl +AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl +m4_pushdef([_script],[conftest.prefix])dnl +m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl +_OUT=`echo m4_default([$1], [$PACKAGE-config.h])` +_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"` +_PKG=`echo m4_default([$2], [$PACKAGE])` +_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"` +_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"` +_INP=`echo "$3" | sed -e 's/ *//'` +if test ".$_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) _INP=$ac_file ;; + *) + esac + test ".$_INP" != "." && break + done +fi +if test ".$_INP" = "."; then + case "$_OUT" in + */*) _INP=`basename "$_OUT"` + ;; + *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"` + ;; + *) _INP=config.h + ;; + esac +fi +if test -z "$_PKG" ; then + AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H]) +else + if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then + _INP="$srcdir/$_INP" + fi fi + AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines) + if test -f $_INP ; then + AS_ECHO(["s/^@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/"]) > _script + AS_ECHO(["s/^@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/"]) >> _script + AS_ECHO(["s/^@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1\\"]) >> _script + AS_ECHO(["@%:@def[]ine $_UPP""_\\1\\2\\"]) >> _script + AS_ECHO(["@%:@endif/"]) >> _script + AS_ECHO(["s/^@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1\\"]) >> _script + AS_ECHO(["@%:@define $_LOW""_\\1\\2\\"]) >> _script + AS_ECHO(["@%:@endif/"]) >> _script + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $_DEF" >$tmp/pconfig.h + echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f _script $_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then + AC_MSG_NOTICE([$_OUT is unchanged]) + else + ac_dir=`AS_DIRNAME(["$_OUT"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f "$_OUT" + mv $tmp/pconfig.h "$_OUT" + fi + else + AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT]) + fi + rm -f conftest.* +fi +m4_popdef([_symbol])dnl +m4_popdef([_script])dnl +AS_VAR_POPDEF([_INP])dnl +AS_VAR_POPDEF([_UPP])dnl +AS_VAR_POPDEF([_LOW])dnl +AS_VAR_POPDEF([_PKG])dnl +AS_VAR_POPDEF([_DEF])dnl +AS_VAR_POPDEF([_OUT])dnl +],[PACKAGE="$PACKAGE"])]) diff --git a/m4/autoconf-archive/ax_print_to_file.m4 b/m4/autoconf-archive/ax_print_to_file.m4 new file mode 100755 index 0000000000..8aa71120d1 --- /dev/null +++ b/m4/autoconf-archive/ax_print_to_file.m4 @@ -0,0 +1,27 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_print_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PRINT_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Writes the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_PRINT_TO_FILE],[ +AC_REQUIRE([AX_FILE_ESCAPES]) +printf "$2" > "$1" +]) diff --git a/m4/autoconf-archive/ax_printf_size_t.m4 b/m4/autoconf-archive/ax_printf_size_t.m4 new file mode 100755 index 0000000000..bdd8e4e0e3 --- /dev/null +++ b/m4/autoconf-archive/ax_printf_size_t.m4 @@ -0,0 +1,92 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_printf_size_t.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PRINTF_SIZE_T +# +# DESCRIPTION +# +# Check for the appropriate printf() format string modifier to use with a +# size_t argument. If a suitable modifier is found, it is AC_DEFINE'd as +# PRI_SIZE_T_MODIFIER, and can be used in C code as e.g. +# +# printf("Size = %" PRI_SIZE_T_MODIFIER "u bytes.\n", sizeof(foo)); +# +# If you use the PRIxNN macros from ISO C99's , you may wish +# to define a supplemental set of macros along similar lines: +# +# #define PRIdSIZE PRI_SIZE_T_MODIFIER "d" +# #define PRIiSIZE PRI_SIZE_T_MODIFIER "i" +# #define PRIoSIZE PRI_SIZE_T_MODIFIER "o" +# #define PRIuSIZE PRI_SIZE_T_MODIFIER "u" +# #define PRIxSIZE PRI_SIZE_T_MODIFIER "x" +# #define PRIXSIZE PRI_SIZE_T_MODIFIER "X" +# +# Note: This macro invokes a test program to check whether a given format +# modifier is understood by the system's sprintf() function. If the user +# is cross-compiling, then this check cannot be performed, and thereby +# PRI_SIZE_T_MODIFIER will remain undefined. +# +# LICENSE +# +# Copyright (c) 2012 Daniel Richard G. +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_PRINTF_SIZE_T], [ + +AC_MSG_CHECKING([for printf() modifier to use with size_t]) +AC_LANG_PUSH([C]) + +save_CFLAGS="$CFLAGS" +if test "_$GCC" = _yes +then + # Take advantage of GCC's format-string checking + CFLAGS="$CFLAGS -Wformat -pedantic -Werror" +fi + +result=unknown + +for mod in z l "" ll +do + AC_RUN_IFELSE([AC_LANG_SOURCE([[#include +int main(void) +{ + char buf[64]; + sprintf(buf, "%]${mod}[u", sizeof(buf)); + if (buf[0] == '6' && buf[1] == '4' && buf[2] == '\0') + return 0; + return 1; +}]])], + [result="\"$mod\""; break], + [], + [result=cross-compile; break]) +done + +CFLAGS="$save_CFLAGS" + +AC_LANG_POP +AC_MSG_RESULT([$result]) + +case "$result" in + cross-compile) + AC_MSG_WARN([cannot test printf() compatibility when cross-compiling]) + ;; + + unknown) + AC_MSG_ERROR([cannot find a suitable modifier]) + ;; + + *) + AC_DEFINE_UNQUOTED([PRI_SIZE_T_MODIFIER], [$result], [Define to the printf() modifier to use with size_t.]) + ;; +esac + +])dnl AX_PRINTF_SIZE_T diff --git a/m4/autoconf-archive/ax_prog_apache.m4 b/m4/autoconf-archive/ax_prog_apache.m4 new file mode 100755 index 0000000000..e515b4dbf1 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_apache.m4 @@ -0,0 +1,169 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_apache.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_APACHE([version]) +# +# DESCRIPTION +# +# This macro searches for an installed apache server. If nothing was +# specified when calling configure or just --with-apache, it searches in +# /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin +# The argument of --with-apache specifies the full pathname of the httpd +# argument. For instance --with-apache=/usr/sbin/httpd. +# +# If the version argument is given, AX_PROG_APACHE checks that the apache +# server is this version number or higher. +# +# If the apache server is not found, abort configuration with error +# message. +# +# It defines the symbol APACHE if the server is found. +# +# Files using apache should do the following: +# +# @APACHE@ -d /etc/httpd +# +# It defines the symbol APACHE_MODULES if a directory containing mod_env.* +# is found in the default server root directory (obtained with httpd -V). +# +# The httpd.conf file listing modules to be loaded dynamically can use +# @APACHE_MODULES@ to grab them in the appropriate sub directory. For +# instance: +# +# ... +# +# LoadModule env_module @APACHE_MODULES@/mod_env.so +# LoadModule config_log_module @APACHE_MODULES@/mod_log_config.so +# ... +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_PROG_APACHE], [AX_PROG_APACHE]) +AC_DEFUN([AX_PROG_APACHE], +# +# Handle user hints +# +[ + AC_MSG_CHECKING(if apache is wanted) + AC_ARG_WITH(apache, + [ --with-apache=PATH absolute path name of apache server (default is to search httpd in + /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin), + --without-apache to disable apache detection], + [ + # + # Run this if -with or -without was specified + # + if test "$withval" != no ; then + AC_MSG_RESULT(yes) + APACHE_WANTED=yes + if test "$withval" != yes ; then + APACHE="$withval" + fi + else + APACHE_WANTED=no + AC_MSG_RESULT(no) + fi + ], [ + # + # Run this if nothing was said + # + APACHE_WANTED=yes + AC_MSG_RESULT(yes) + ]) + # + # Now we know if we want apache or not, only go further if + # it's wanted. + # + if test $APACHE_WANTED = yes ; then + # + # If not specified by caller, search in standard places + # + if test -z "$APACHE" ; then + AC_PATH_PROG(APACHE, httpd, , /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin) + fi + AC_SUBST(APACHE) + if test -z "$APACHE" ; then + AC_MSG_ERROR("apache server executable not found"); + fi + # + # Collect apache version number. If for nothing else, this + # guaranties that httpd is a working apache executable. + # + changequote(<<, >>)dnl + APACHE_READABLE_VERSION=`$APACHE -v | grep 'Server version' | sed -e 's;.*Apache/\([0-9\.][0-9\.]*\).*;\1;'` + changequote([, ])dnl + APACHE_VERSION=`echo $APACHE_READABLE_VERSION | sed -e 's/\.//g'` + if test -z "$APACHE_VERSION" ; then + AC_MSG_ERROR("could not determine apache version number"); + fi + APACHE_MAJOR=`expr $APACHE_VERSION : '\(..\)'` + APACHE_MINOR=`expr $APACHE_VERSION : '..\(.*\)'` + # + # Check that apache version matches requested version or above + # + if test -n "$1" ; then + AC_MSG_CHECKING(apache version >= $1) + APACHE_REQUEST=`echo $1 | sed -e 's/\.//g'` + APACHE_REQUEST_MAJOR=`expr $APACHE_REQUEST : '\(..\)'` + APACHE_REQUEST_MINOR=`expr $APACHE_REQUEST : '..\(.*\)'` + if test "$APACHE_MAJOR" -lt "$APACHE_REQUEST_MAJOR" -o "$APACHE_MINOR" -lt "$APACHE_REQUEST_MINOR" ; then + AC_MSG_RESULT(no) + AC_MSG_ERROR(apache version is $APACHE_READABLE_VERSION) + else + AC_MSG_RESULT(yes) + fi + fi + # + # Find out if .so modules are in libexec/module.so or modules/module.so + # + HTTP_ROOT=`$APACHE -V | grep HTTPD_ROOT | sed -e 's/.*"\(.*\)"/\1/'` + AC_MSG_CHECKING(apache modules) + for dir in libexec modules + do + if test -f $HTTP_ROOT/$dir/mod_env.* + then + APACHE_MODULES=$dir + fi + done + if test -z "$APACHE_MODULES" + then + AC_MSG_RESULT(not found) + else + AC_MSG_RESULT(in $HTTP_ROOT/$APACHE_MODULES) + fi + AC_SUBST(APACHE_MODULES) + fi +]) diff --git a/m4/autoconf-archive/ax_prog_bison.m4 b/m4/autoconf-archive/ax_prog_bison.m4 new file mode 100755 index 0000000000..dc115dd69a --- /dev/null +++ b/m4/autoconf-archive/ax_prog_bison.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_bison.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_BISON(ACTION-IF-TRUE,ACTION-IF-FALSE) +# +# DESCRIPTION +# +# Check whether bison is the parser generator. Run ACTION-IF-TRUE if +# successful, ACTION-IF-FALSE otherwise +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# Copyright (c) 2010 Diego Elio Petteno` +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_BISON], [ + AC_REQUIRE([AC_PROG_YACC]) + AC_REQUIRE([AC_PROG_EGREP]) + + AC_CACHE_CHECK([if bison is the parser generator],[ax_cv_prog_bison],[ + AS_IF([$YACC --version 2>/dev/null | $EGREP -q '^bison '], + [ax_cv_prog_bison=yes], [ax_cv_prog_bison=no]) + ]) + AS_IF([test "$ax_cv_prog_bison" = "yes"], [ + dnl replace the yacc-compatible compiler with the real bison, as + dnl otherwise autoconf limits us to the POSIX yacc. + dnl We also change the generated filename to the old one, so that + dnl automake's ylwrap can deal with it. + YACC="${YACC% -y} -o y.tab.c" + ] m4_ifnblank([$1], [[$1]]), + m4_ifnblank([$2], [[$2]]) + ) +]) diff --git a/m4/autoconf-archive/ax_prog_bison_version.m4 b/m4/autoconf-archive/ax_prog_bison_version.m4 new file mode 100755 index 0000000000..4090332a93 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_bison_version.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_bison_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_BISON_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that bison version is greater or equal to the version +# indicated. If true the shell commands in ACTION-IF-TRUE are executed. If +# not the shell commands in commands in ACTION-IF-TRUE are executed. If +# not the shell commands in ACTION-IF-FALSE are run. Note if $BISON is not +# set (for example by running AC_CHECK_PROG or AC_PATH_PROG) the macro +# will fail. +# +# Example: +# +# AC_PATH_PROG([BISON],[bison]) +# AX_PROG_BISON_VERSION([3.0.2],[ ... ],[ ... ]) +# +# This will check to make sure that the bison you have is at least version +# 3.0.2 or greater. +# +# NOTE: This macro uses the $BISON variable to perform the check. +# +# LICENSE +# +# Copyright (c) 2015 Jonathan Rajotte-Julien +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_PROG_BISON_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + + AS_IF([test -n "$BISON"],[ + ax_bison_version="$1" + + AC_MSG_CHECKING([for bison version]) + changequote(<<,>>) + bison_version=`$BISON --version 2>&1 \ + | $SED -n -e '/bison (GNU Bison)/b inspect +b +: inspect +s/.* (\{0,1\}\([0-9]*\.[0-9]*\.[0-9]*\))\{0,1\}.*/\1/;p'` + changequote([,]) + AC_MSG_RESULT($bison_version) + + AC_SUBST([BISON_VERSION],[$bison_version]) + + AX_COMPARE_VERSION([$bison_version],[ge],[$ax_bison_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find bison]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_cc_char_subscripts.m4 b/m4/autoconf-archive/ax_prog_cc_char_subscripts.m4 new file mode 100755 index 0000000000..38cba949c2 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cc_char_subscripts.m4 @@ -0,0 +1,121 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_char_subscripts.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_PROG_CC_CHAR_SUBSCRIPTS(substvar [,hard]) +# +# DESCRIPTION +# +# Try to find a compiler option that enables usage of char-type to index a +# value-field. This one needs unsigned-chars and it must suppress warnings +# about usage of chars for subscripting. for gcc -funsigned-char +# -Wno-char-subscripts +# +# Currently this macro knows about GCC. hopefully will evolve to use: +# Solaris C compiler, Digital Unix C compiler, C for AIX Compiler, HP-UX C +# compiler, and IRIX C compiler. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([AC_PROG_CC_CHAR_SUBSCRIPTS], [AX_PROG_CC_CHAR_SUBSCRIPTS]) +AC_DEFUN([AX_PROG_CC_CHAR_SUBSCRIPTS], [ + pushdef([CV],ac_cv_prog_cc_char_subscripts)dnl + hard=$2 + if test -z "$hard"; then + msg="C to enable char subscripts" + else + msg="C to ensure char subscripts" + fi + AC_CACHE_CHECK($msg, CV, [ + cat > conftest.c <&1`" ; then + CV="suppressed: did not work" + fi + + dnl Solaris C compiler + # Solaris sunpro has no option for unsignedchar but + # signedchar is the default for char. Duhh. + + dnl HP-UX C compiler + + dnl Digital Unix C compiler + elif ! $CC > /dev/null 2>&1 && + $CC -c -unsigned conftest.c > /dev/null 2>&1 && + test -f conftest.o + then + # char : unsigned char + CV="-unsigned" + + rm conftest.o + if test -n "`${CC-cc} -c $CV conftest.c 2>&1`" ; then + CV="suppressed: did not work" + fi + + dnl C for AIX Compiler + + dnl IRIX C compiler + # char is unsigned by default for IRIX C. + + fi + rm -f conftest.* + ]) + if test -z "[$]$1" ; then + if test -n "$CV" ; then + case "$CV" in + suppressed*) $1="" ;; # known but suppressed + *) $1="$CV" ;; + esac + fi + fi + AC_SUBST($1) + popdef([CV])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_cc_for_build.m4 b/m4/autoconf-archive/ax_prog_cc_for_build.m4 new file mode 100755 index 0000000000..12cb005a50 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cc_for_build.m4 @@ -0,0 +1,125 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CC_FOR_BUILD +# +# DESCRIPTION +# +# This macro searches for a C compiler that generates native executables, +# that is a C compiler that surely is not a cross-compiler. This can be +# useful if you have to generate source code at compile-time like for +# example GCC does. +# +# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything +# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD). +# The value of these variables can be overridden by the user by specifying +# a compiler with an environment variable (like you do for standard CC). +# +# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object +# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if +# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are +# substituted in the Makefile. +# +# LICENSE +# +# Copyright (c) 2008 Paolo Bonzini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) +AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_CPP])dnl +AC_REQUIRE([AC_EXEEXT])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl + +dnl Use the standard macros, but make them use other variable names +dnl +pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl +pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl +pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl +pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl +pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl +pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl +pushdef([ac_cv_objext], ac_cv_build_objext)dnl +pushdef([ac_exeext], ac_build_exeext)dnl +pushdef([ac_objext], ac_build_objext)dnl +pushdef([CC], CC_FOR_BUILD)dnl +pushdef([CPP], CPP_FOR_BUILD)dnl +pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl +pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl +pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl +pushdef([host], build)dnl +pushdef([host_alias], build_alias)dnl +pushdef([host_cpu], build_cpu)dnl +pushdef([host_vendor], build_vendor)dnl +pushdef([host_os], build_os)dnl +pushdef([ac_cv_host], ac_cv_build)dnl +pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl +pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl +pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl +pushdef([ac_cv_host_os], ac_cv_build_os)dnl +pushdef([ac_cpp], ac_build_cpp)dnl +pushdef([ac_compile], ac_build_compile)dnl +pushdef([ac_link], ac_build_link)dnl + +save_cross_compiling=$cross_compiling +save_ac_tool_prefix=$ac_tool_prefix +cross_compiling=no +ac_tool_prefix= + +AC_PROG_CC +AC_PROG_CPP +AC_EXEEXT + +ac_tool_prefix=$save_ac_tool_prefix +cross_compiling=$save_cross_compiling + +dnl Restore the old definitions +dnl +popdef([ac_link])dnl +popdef([ac_compile])dnl +popdef([ac_cpp])dnl +popdef([ac_cv_host_os])dnl +popdef([ac_cv_host_vendor])dnl +popdef([ac_cv_host_cpu])dnl +popdef([ac_cv_host_alias])dnl +popdef([ac_cv_host])dnl +popdef([host_os])dnl +popdef([host_vendor])dnl +popdef([host_cpu])dnl +popdef([host_alias])dnl +popdef([host])dnl +popdef([LDFLAGS])dnl +popdef([CPPFLAGS])dnl +popdef([CFLAGS])dnl +popdef([CPP])dnl +popdef([CC])dnl +popdef([ac_objext])dnl +popdef([ac_exeext])dnl +popdef([ac_cv_objext])dnl +popdef([ac_cv_exeext])dnl +popdef([ac_cv_prog_cc_g])dnl +popdef([ac_cv_prog_cc_cross])dnl +popdef([ac_cv_prog_cc_works])dnl +popdef([ac_cv_prog_gcc])dnl +popdef([ac_cv_prog_CPP])dnl + +dnl Finally, set Makefile variables +dnl +BUILD_EXEEXT=$ac_build_exeext +BUILD_OBJEXT=$ac_build_objext +AC_SUBST(BUILD_EXEEXT)dnl +AC_SUBST(BUILD_OBJEXT)dnl +AC_SUBST([CFLAGS_FOR_BUILD])dnl +AC_SUBST([CPPFLAGS_FOR_BUILD])dnl +AC_SUBST([LDFLAGS_FOR_BUILD])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_cc_mpi.m4 b/m4/autoconf-archive/ax_prog_cc_mpi.m4 new file mode 100755 index 0000000000..93f013ab83 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cc_mpi.m4 @@ -0,0 +1,171 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_mpi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CC_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile C programs that use MPI +# (Message Passing Interface), a standard API for parallel process +# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to +# be used instead of the standard macro AC_PROG_CC and will replace the +# standard variable CC with the found compiler. +# +# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the +# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will +# try to find out how to use MPI, if it fails, the macro will call +# AC_PROG_CC to find a standard C compiler instead. +# +# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found +# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If +# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI. +# +# The following example demonstrates usage of the macro: +# +# # If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found. +# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found. +# # If --with-mpi=no is used, use a standard C compiler instead. +# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi], +# [compile with MPI (parallelization) support. If none is found, +# MPI is not used. Default: auto]) +# ],,[with_mpi=auto]) +# # +# AX_PROG_CC_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[ +# use_mpi=no +# if test x"$with_mpi" = xyes; then +# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.]) +# else +# AC_MSG_WARN([No MPI compiler found, won't use MPI.]) +# fi +# ]) +# +# LICENSE +# +# Copyright (c) 2010,2011 Olaf Lenz +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_PROG_CC_MPI], [ +AC_PREREQ(2.50) + +# Check for compiler +# Needs to be split off into an extra macro to ensure right expansion +# order. +AC_REQUIRE([_AX_PROG_CC_MPI],[_AX_PROG_CC_MPI([$1])]) + +AS_IF([test x"$_ax_prog_cc_mpi_mpi_wanted" = xno], + [ _ax_prog_cc_mpi_mpi_found=no ], + [ + AC_LANG_PUSH([C]) + # test whether MPI_Init is available + # We do not use AC_SEARCH_LIBS here, as it caches its outcome and + # thus disallows corresponding calls in the other AX_PROG_*_MPI + # macros. + for lib in NONE mpi mpich; do + save_LIBS=$LIBS + if test x"$lib" = xNONE; then + AC_MSG_CHECKING([for function MPI_Init]) + else + AC_MSG_CHECKING([for function MPI_Init in -l$lib]) + LIBS="-l$lib $LIBS" + fi + AC_LINK_IFELSE([AC_LANG_CALL([],[MPI_Init])], + [ _ax_prog_cc_mpi_mpi_found=yes ], + [ _ax_prog_cc_mpi_mpi_found=no ]) + AC_MSG_RESULT($_ax_prog_cc_mpi_mpi_found) + if test "x$_ax_prog_cc_mpi_mpi_found" = "xyes"; then + break; + fi + LIBS=$save_LIBS + done + + # Check for header + AS_IF([test x"$_ax_prog_cc_mpi_mpi_found" = xyes], [ + AC_MSG_CHECKING([for mpi.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ])], + [ AC_MSG_RESULT(yes)], + [ AC_MSG_RESULT(no) + _ax_prog_cc_mpi_mpi_found=no + ]) + ]) + AC_LANG_POP([C]) +]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +AS_IF([test x"$_ax_prog_cc_mpi_mpi_found" = xyes], [ + ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2]) + : +],[ + $3 + : +]) + +])dnl AX_PROG_CC_MPI + +dnl _AX_PROG_CC_MPI is an internal macro required by AX_PROG_CC_MPI. +dnl To ensure the right expansion order, the main function AX_PROG_CC_MPI +dnl has to be split into two parts. +dnl +dnl Known MPI C compilers: +dnl mpicc +dnl mpixlc_r +dnl mpixlc +dnl hcc +dnl mpxlc_r +dnl mpxlc +dnl sxmpicc NEC SX +dnl mpifcc Fujitsu +dnl mpgcc +dnl mpcc +dnl cmpicc +dnl cc +dnl +AC_DEFUN([_AX_PROG_CC_MPI], [ + AC_ARG_VAR(MPICC,[MPI C compiler command]) + ifelse([$1],,[_ax_prog_cc_mpi_mpi_wanted=yes],[ + AC_MSG_CHECKING([whether to compile using MPI]) + if $1; then + _ax_prog_cc_mpi_mpi_wanted=yes + else + _ax_prog_cc_mpi_mpi_wanted=no + fi + AC_MSG_RESULT($_ax_prog_cc_mpi_mpi_wanted) + ]) + if test x"$_ax_prog_cc_mpi_mpi_wanted" = xyes; then + if test -z "$CC" && test -n "$MPICC"; then + CC="$MPICC" + else + AC_CHECK_TOOLS([CC], [mpicc mpixlc_r mpixlc hcc mpxlc_r mpxlc sxmpicc mpifcc mpgcc mpcc cmpicc cc gcc]) + fi + fi + AC_PROG_CC +])dnl _AX_PROG_CC_MPI diff --git a/m4/autoconf-archive/ax_prog_cp_s.m4 b/m4/autoconf-archive/ax_prog_cp_s.m4 new file mode 100755 index 0000000000..c94fc301e1 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cp_s.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cp_s.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CP_S +# +# DESCRIPTION +# +# Check how to make a copy by creating a symbolic link to the original - +# it defines the variable CP_S for further use, which you should in fact +# treat like it used to be with be LN_S. The actual value is assured to be +# either LN_S (if the filesystem supports symbolic links) or CP (if the +# filesystem does not know about symbolic links and you need a copy of +# original file to have the same text in both places). In a gnu +# environment it will simply set CP_S="cp -s" since the gnu "cp"-command +# has the "-s" flag. You shall not try to use this command on directories +# since it would require a "-r" in the case of a copy that is not +# supported explicitly here. (I'm not sure if some "cp"-commands out there +# would barf at usage of "-r" on a normal file). +# +# Use CP_S to create a copy of read-only data - if your filesystem +# supports it then a symbolic link is created - a process that is quicker +# and space-saving. However, if the target fs does not support symbolic +# links, just copy the data. Unlike ac_prog_ln_s this macro will never +# fail to set the CP_S ac_subst to something that works. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_CP_S], [AX_PROG_CP_S]) +AC_DEFUN([AX_PROG_CP_S], +[AC_REQUIRE([AC_PROG_LN_S])dnl +AC_MSG_CHECKING(whether cp -s works) +AC_CACHE_VAL(ac_cv_prog_CP_S, +[rm -f conftestdata +if cp -s X conftestdata 2>/dev/null +then + rm -f conftestdata + ac_cv_prog_CP_S="cp -s" +else + ac_cv_prog_CP_S=cp +fi +if test "$LN_S" = "ln -s" ; then + ac_cv_prog_CP_S="ln -s" +fi])dnl +CP_S="$ac_cv_prog_CP_S" +if test "$ac_cv_prog_CP_S" = "ln -s"; then + AC_MSG_RESULT(using ln -s) +elif test "$ac_cv_prog_CP_S" = "cp -s"; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no, using cp) +fi +AC_SUBST(CP_S)dnl +]) diff --git a/m4/autoconf-archive/ax_prog_crontab.m4 b/m4/autoconf-archive/ax_prog_crontab.m4 new file mode 100755 index 0000000000..1846c88cb8 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_crontab.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_crontab.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CRONTAB +# +# DESCRIPTION +# +# Check for the program crontab, if exists let script continue, else pops +# an error message +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# CRONTAB = which crontab +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_CRONTAB], [AX_PROG_CRONTAB]) +AC_DEFUN([AX_PROG_CRONTAB],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(CRONTAB, crontab$EXEEXT, nocommand) +if test "$CRONTAB" = nocommand; then + AC_MSG_ERROR([crontab (needed for scheduled job) not found in $PATH]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_cxx_for_build.m4 b/m4/autoconf-archive/ax_prog_cxx_for_build.m4 new file mode 100755 index 0000000000..17c19a89fd --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cxx_for_build.m4 @@ -0,0 +1,110 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cxx_for_build.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CXX_FOR_BUILD +# +# DESCRIPTION +# +# This macro searches for a C++ compiler that generates native +# executables, that is a C++ compiler that surely is not a cross-compiler. +# This can be useful if you have to generate source code at compile-time +# like for example GCC does. +# +# The macro sets the CXX_FOR_BUILD and CXXCPP_FOR_BUILD macros to anything +# needed to compile or link (CXX_FOR_BUILD) and preprocess +# (CXXCPP_FOR_BUILD). The value of these variables can be overridden by +# the user by specifying a compiler with an environment variable (like you +# do for standard CXX). +# +# LICENSE +# +# Copyright (c) 2008 Paolo Bonzini +# Copyright (c) 2012 Avionic Design GmbH +# +# Based on the AX_PROG_CC_FOR_BUILD macro by Paolo Bonzini. +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD]) +AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl +AC_REQUIRE([AX_PROG_CC_FOR_BUILD])dnl +AC_REQUIRE([AC_PROG_CXX])dnl +AC_REQUIRE([AC_PROG_CXXCPP])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl + +dnl Use the standard macros, but make them use other variable names +dnl +pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)dnl +pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)dnl +pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)dnl +pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl +pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl +pushdef([CXX], CXX_FOR_BUILD)dnl +pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl +pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl +pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl +pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl +pushdef([host], build)dnl +pushdef([host_alias], build_alias)dnl +pushdef([host_cpu], build_cpu)dnl +pushdef([host_vendor], build_vendor)dnl +pushdef([host_os], build_os)dnl +pushdef([ac_cv_host], ac_cv_build)dnl +pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl +pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl +pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl +pushdef([ac_cv_host_os], ac_cv_build_os)dnl +pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl +pushdef([ac_compile], ac_build_compile)dnl +pushdef([ac_link], ac_build_link)dnl + +save_cross_compiling=$cross_compiling +save_ac_tool_prefix=$ac_tool_prefix +cross_compiling=no +ac_tool_prefix= + +AC_PROG_CXX +AC_PROG_CXXCPP + +ac_tool_prefix=$save_ac_tool_prefix +cross_compiling=$save_cross_compiling + +dnl Restore the old definitions +dnl +popdef([ac_link])dnl +popdef([ac_compile])dnl +popdef([ac_cxxcpp])dnl +popdef([ac_cv_host_os])dnl +popdef([ac_cv_host_vendor])dnl +popdef([ac_cv_host_cpu])dnl +popdef([ac_cv_host_alias])dnl +popdef([ac_cv_host])dnl +popdef([host_os])dnl +popdef([host_vendor])dnl +popdef([host_cpu])dnl +popdef([host_alias])dnl +popdef([host])dnl +popdef([CXXCPPFLAGS])dnl +popdef([CPPFLAGS])dnl +popdef([CXXFLAGS])dnl +popdef([CXXCPP])dnl +popdef([CXX])dnl +popdef([ac_cv_prog_cxx_g])dnl +popdef([ac_cv_prog_cxx_cross])dnl +popdef([ac_cv_prog_cxx_works])dnl +popdef([ac_cv_prog_gxx])dnl +popdef([ac_cv_prog_CXXCPP])dnl + +dnl Finally, set Makefile variables +dnl +AC_SUBST([CXXFLAGS_FOR_BUILD])dnl +AC_SUBST([CXXCPPFLAGS_FOR_BUILD])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_cxx_mpi.m4 b/m4/autoconf-archive/ax_prog_cxx_mpi.m4 new file mode 100755 index 0000000000..36b66f01ca --- /dev/null +++ b/m4/autoconf-archive/ax_prog_cxx_mpi.m4 @@ -0,0 +1,178 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_cxx_mpi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_CXX_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile C++ programs that use MPI +# (Message Passing Interface), a standard API for parallel process +# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to +# be used instead of the standard macro AC_PROG_CXX and will replace the +# standard variable CXX with the found compiler. +# +# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the +# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will +# try to find out how to use MPI, if it fails, the macro will call +# AC_PROG_CC to find a standard C compiler instead. +# +# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found +# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If +# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI. +# +# The following example demonstrates usage of the macro: +# +# # If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found. +# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found. +# # If --with-mpi=no is used, use a standard C compiler instead. +# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi], +# [compile with MPI (parallelization) support. If none is found, +# MPI is not used. Default: auto]) +# ],,[with_mpi=auto]) +# +# AX_PROG_CXX_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[ +# use_mpi=no +# if test x"$with_mpi" = xyes; then +# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.]) +# else +# AC_MSG_WARN([No MPI compiler found, won't use MPI.]) +# fi +# ]) +# +# LICENSE +# +# Copyright (c) 2010,2011 Olaf Lenz +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_PROG_CXX_MPI], [ +AC_PREREQ(2.50) + +# Check for compiler +# Needs to be split off into an extra macro to ensure right expansion +# order. +AC_REQUIRE([_AX_PROG_CXX_MPI],[_AX_PROG_CXX_MPI([$1])]) + +AS_IF([test x"$_ax_prog_cxx_mpi_mpi_wanted" = xno], + [ _ax_prog_cxx_mpi_mpi_found=no ], + [ + AC_LANG_PUSH([C++]) + + # test whether MPI_Init() is available + # We do not use AC_SEARCH_LIBS here, as it caches its outcome and + # thus disallows corresponding calls in the other AX_PROG_*_MPI + # macros. + for lib in NONE mpi mpich; do + save_LIBS=$LIBS + if test x"$lib" = xNONE; then + AC_MSG_CHECKING([for function MPI_Init]) + else + AC_MSG_CHECKING([for function MPI_Init in -l$lib]) + LIBS="-l$lib $LIBS" + fi + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +extern "C" { void MPI_Init(); } +],[MPI_Init();])], + [ _ax_prog_cxx_mpi_mpi_found=yes ], + [ _ax_prog_cxx_mpi_mpi_found=no ]) + AC_MSG_RESULT($_ax_prog_cxx_mpi_mpi_found) + if test "x$_ax_prog_cxx_mpi_mpi_found" = "xyes"; then + break; + fi + LIBS=$save_LIBS + done + + # Check for header + AS_IF([test x"$_ax_prog_cxx_mpi_mpi_found" = xyes], [ + AC_MSG_CHECKING([for mpi.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ])], + [ AC_MSG_RESULT(yes)], + [ AC_MSG_RESULT(no) + _ax_prog_cxx_mpi_mpi_found=no + ]) + ]) + AC_LANG_POP([C++]) +]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +AS_IF([test x"$_ax_prog_cxx_mpi_mpi_found" = xyes], [ + ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2]) + : +],[ + $3 + : +]) + +])dnl AX_PROG_CXX_MPI + +dnl _AX_PROG_CXX_MPI is an internal macro required by AX_PROG_CXX_MPI. +dnl To ensure the right expansion order, the main function AX_PROG_CXX_MPI +dnl has to be split into two parts. +dnl +dnl Known MPI C++ compilers: +dnl mpic++ +dnl mpicxx +dnl mpiCC +dnl sxmpic++ NEC SX +dnl hcp +dnl mpxlC_r +dnl mpxlC +dnl mpixlcxx_r +dnl mpixlcxx +dnl mpg++ +dnl mpc++ +dnl mpCC +dnl cmpic++ +dnl mpiFCC Fujitsu +dnl CC +dnl +AC_DEFUN([_AX_PROG_CXX_MPI], [ + AC_ARG_VAR(MPICXX,[MPI C++ compiler command]) + ifelse([$1],,[_ax_prog_cxx_mpi_mpi_wanted=yes],[ + AC_MSG_CHECKING([whether to compile using MPI]) + if $1; then + _ax_prog_cxx_mpi_mpi_wanted=yes + else + _ax_prog_cxx_mpi_mpi_wanted=no + fi + AC_MSG_RESULT($_ax_prog_cxx_mpi_mpi_wanted) + ]) + if test x"$_ax_prog_cxx_mpi_mpi_wanted" = xyes; then + if test -z "$CXX" && test -n "$MPICXX"; then + CXX="$MPICXX" + else + AC_CHECK_TOOLS([CXX], [mpic++ mpicxx mpiCC sxmpic++ hcp mpxlC_r mpxlC mpixlcxx_r mpixlcxx mpg++ mpc++ mpCC cmpic++ mpiFCC CCicpc pgCC pathCC sxc++ xlC_r xlC bgxlC_r bgxlC openCC sunCC crayCC g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC]) + fi + fi + AC_PROG_CXX +])dnl _AX_PROG_CXX_MPI diff --git a/m4/autoconf-archive/ax_prog_date.m4 b/m4/autoconf-archive/ax_prog_date.m4 new file mode 100755 index 0000000000..c85f0f242a --- /dev/null +++ b/m4/autoconf-archive/ax_prog_date.m4 @@ -0,0 +1,137 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_date.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_DATE() +# +# DESCRIPTION +# +# This macro tries to determine the type of the date (1) command and some +# of its non-standard capabilities. +# +# The type is determined as follow: +# +# * If the version string contains "GNU", then: +# - The variable ax_cv_prog_date_gnu is set to "yes". +# - The variable ax_cv_prog_date_type is set to "gnu". +# +# * If date supports the "-v 1d" option, then: +# - The variable ax_cv_prog_date_bsd is set to "yes". +# - The variable ax_cv_prog_date_type is set to "bsd". +# +# * If both previous checks fail, then: +# - The variable ax_cv_prog_date_type is set to "unknown". +# +# The following capabilities of GNU date are checked: +# +# * If date supports the --date arg option, then: +# - The variable ax_cv_prog_date_gnu_date is set to "yes". +# +# * If date supports the --utc arg option, then: +# - The variable ax_cv_prog_date_gnu_utc is set to "yes". +# +# The following capabilities of BSD date are checked: +# +# * If date supports the -v 1d option, then: +# - The variable ax_cv_prog_date_bsd_adjust is set to "yes". +# +# * If date supports the -r arg option, then: +# - The variable ax_cv_prog_date_bsd_date is set to "yes". +# +# All the aforementioned variables are set to "no" before a check is +# performed. +# +# LICENSE +# +# Copyright (c) 2017 Enrico M. Crisostomo +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_PROG_DATE], [dnl + AC_CACHE_CHECK([for GNU date], [ax_cv_prog_date_gnu], [ + ax_cv_prog_date_gnu=no + if date --version 2>/dev/null | head -1 | grep -q GNU + then + ax_cv_prog_date_gnu=yes + fi + ]) + AC_CACHE_CHECK([for BSD date], [ax_cv_prog_date_bsd], [ + ax_cv_prog_date_bsd=no + if date -v 1d > /dev/null 2>&1 + then + ax_cv_prog_date_bsd=yes + fi + ]) + AC_CACHE_CHECK([for date type], [ax_cv_prog_date_type], [ + ax_cv_prog_date_type=unknown + if test "x${ax_cv_prog_date_gnu}" = "xyes" + then + ax_cv_prog_date_type=gnu + elif test "x${ax_cv_prog_date_bsd}" = "xyes" + then + ax_cv_prog_date_type=bsd + fi + ]) + AS_VAR_IF([ax_cv_prog_date_gnu], [yes], [ + AC_CACHE_CHECK([whether GNU date supports --date], [ax_cv_prog_date_gnu_date], [ + ax_cv_prog_date_gnu_date=no + if date --date=@1512031231 > /dev/null 2>&1 + then + ax_cv_prog_date_gnu_date=yes + fi + ]) + AC_CACHE_CHECK([whether GNU date supports --utc], [ax_cv_prog_date_gnu_utc], [ + ax_cv_prog_date_gnu_utc=no + if date --utc > /dev/null 2>&1 + then + ax_cv_prog_date_gnu_utc=yes + fi + ]) + ]) + AS_VAR_IF([ax_cv_prog_date_bsd], [yes], [ + AC_CACHE_CHECK([whether BSD date supports -r], [ax_cv_prog_date_bsd_date], [ + ax_cv_prog_date_bsd_date=no + if date -r 1512031231 > /dev/null 2>&1 + then + ax_cv_prog_date_bsd_date=yes + fi + ]) + ]) + AS_VAR_IF([ax_cv_prog_date_bsd], [yes], [ + AC_CACHE_CHECK([whether BSD date supports -v], [ax_cv_prog_date_bsd_adjust], [ + ax_cv_prog_date_bsd_adjust=no + if date -v 1d > /dev/null 2>&1 + then + ax_cv_prog_date_bsd_adjust=yes + fi + ]) + ]) +])dnl AX_PROG_DATE diff --git a/m4/autoconf-archive/ax_prog_dotnetcore_version.m4 b/m4/autoconf-archive/ax_prog_dotnetcore_version.m4 new file mode 100755 index 0000000000..92c749520b --- /dev/null +++ b/m4/autoconf-archive/ax_prog_dotnetcore_version.m4 @@ -0,0 +1,61 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_dotnetcore_version.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_PROG_DOTNETCORE_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that .NET Core supports the version indicated. If true the +# shell commands in ACTION-IF-TRUE are executed. If not the shell commands +# in ACTION-IF-FALSE are run. The $dotnetcore_version variable will be +# filled with the detected version. +# +# This macro uses the $DOTNETCORE variable to perform the check. If +# $DOTNETCORE is not set prior to calling this macro, the macro will fail. +# +# Example: +# +# AC_PATH_PROG([DOTNETCORE],[dotnet]) +# AC_PROG_DOTNETCORE_VERSION([1.0.2],[ ... ],[ ... ]) +# +# Searches for .NET Core, then checks if at least version 1.0.2 is +# present. +# +# LICENSE +# +# Copyright (c) 2016 Jens Geyer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_PROG_DOTNETCORE_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + + AS_IF([test -n "$DOTNETCORE"],[ + ax_dotnetcore_version="$1" + + AC_MSG_CHECKING([for .NET Core version]) + dotnetcore_version=`$DOTNETCORE --version 2>&1 | $SED -e 's/\(@<:@0-9@:>@*\.@<:@0-9@:>@*\.@<:@0-9@:>@*\)\(.*\)/\1/'` + AC_MSG_RESULT($dotnetcore_version) + + AC_SUBST([DOTNETCORE_VERSION],[$dotnetcore_version]) + + AX_COMPARE_VERSION([$ax_dotnetcore_version],[le],[$dotnetcore_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find .NET Core]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_doxygen.m4 b/m4/autoconf-archive/ax_prog_doxygen.m4 new file mode 100755 index 0000000000..a371f7fdfe --- /dev/null +++ b/m4/autoconf-archive/ax_prog_doxygen.m4 @@ -0,0 +1,586 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_doxygen.html +# =========================================================================== +# +# SYNOPSIS +# +# DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...) +# DX_DOXYGEN_FEATURE(ON|OFF) +# DX_DOT_FEATURE(ON|OFF) +# DX_HTML_FEATURE(ON|OFF) +# DX_CHM_FEATURE(ON|OFF) +# DX_CHI_FEATURE(ON|OFF) +# DX_MAN_FEATURE(ON|OFF) +# DX_RTF_FEATURE(ON|OFF) +# DX_XML_FEATURE(ON|OFF) +# DX_PDF_FEATURE(ON|OFF) +# DX_PS_FEATURE(ON|OFF) +# +# DESCRIPTION +# +# The DX_*_FEATURE macros control the default setting for the given +# Doxygen feature. Supported features are 'DOXYGEN' itself, 'DOT' for +# generating graphics, 'HTML' for plain HTML, 'CHM' for compressed HTML +# help (for MS users), 'CHI' for generating a separate .chi file by the +# .chm file, and 'MAN', 'RTF', 'XML', 'PDF' and 'PS' for the appropriate +# output formats. The environment variable DOXYGEN_PAPER_SIZE may be +# specified to override the default 'a4wide' paper size. +# +# By default, HTML, PDF and PS documentation is generated as this seems to +# be the most popular and portable combination. MAN pages created by +# Doxygen are usually problematic, though by picking an appropriate subset +# and doing some massaging they might be better than nothing. CHM and RTF +# are specific for MS (note that you can't generate both HTML and CHM at +# the same time). The XML is rather useless unless you apply specialized +# post-processing to it. +# +# The macros mainly control the default state of the feature. The use can +# override the default by specifying --enable or --disable. The macros +# ensure that contradictory flags are not given (e.g., +# --enable-doxygen-html and --enable-doxygen-chm, +# --enable-doxygen-anything with --disable-doxygen, etc.) Finally, each +# feature will be automatically disabled (with a warning) if the required +# programs are missing. +# +# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN +# with the following parameters: a one-word name for the project for use +# as a filename base etc., an optional configuration file name (the +# default is '$(srcdir)/Doxyfile', the same as Doxygen's default), and an +# optional output directory name (the default is 'doxygen-doc'). To run +# doxygen multiple times for different configuration files and output +# directories provide more parameters: the second, forth, sixth, etc +# parameter are configuration file names and the third, fifth, seventh, +# etc parameter are output directories. No checking is done to catch +# duplicates. +# +# Automake Support +# +# The DX_RULES substitution can be used to add all needed rules to the +# Makefile. Note that this is a substitution without being a variable: +# only the @DX_RULES@ syntax will work. +# +# The provided targets are: +# +# doxygen-doc: Generate all doxygen documentation. +# +# doxygen-run: Run doxygen, which will generate some of the +# documentation (HTML, CHM, CHI, MAN, RTF, XML) +# but will not do the post processing required +# for the rest of it (PS, PDF). +# +# doxygen-ps: Generate doxygen PostScript documentation. +# +# doxygen-pdf: Generate doxygen PDF documentation. +# +# Note that by default these are not integrated into the automake targets. +# If doxygen is used to generate man pages, you can achieve this +# integration by setting man3_MANS to the list of man pages generated and +# then adding the dependency: +# +# $(man3_MANS): doxygen-doc +# +# This will cause make to run doxygen and generate all the documentation. +# +# The following variable is intended for use in Makefile.am: +# +# DX_CLEANFILES = everything to clean. +# +# Then add this variable to MOSTLYCLEANFILES. +# +# LICENSE +# +# Copyright (c) 2009 Oren Ben-Kiki +# Copyright (c) 2015 Olaf Mandel +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 23 + +## ----------## +## Defaults. ## +## ----------## + +DX_ENV="" +AC_DEFUN([DX_FEATURE_doc], ON) +AC_DEFUN([DX_FEATURE_dot], OFF) +AC_DEFUN([DX_FEATURE_man], OFF) +AC_DEFUN([DX_FEATURE_html], ON) +AC_DEFUN([DX_FEATURE_chm], OFF) +AC_DEFUN([DX_FEATURE_chi], OFF) +AC_DEFUN([DX_FEATURE_rtf], OFF) +AC_DEFUN([DX_FEATURE_xml], OFF) +AC_DEFUN([DX_FEATURE_pdf], ON) +AC_DEFUN([DX_FEATURE_ps], ON) + +## --------------- ## +## Private macros. ## +## --------------- ## + +# DX_ENV_APPEND(VARIABLE, VALUE) +# ------------------------------ +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it +# as a substitution (but not a Makefile variable). The substitution +# is skipped if the variable name is VERSION. +AC_DEFUN([DX_ENV_APPEND], +[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl +m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl +AM_SUBST_NOTMAKE([$1])])dnl +]) + +# DX_DIRNAME_EXPR +# --------------- +# Expand into a shell expression prints the directory part of a path. +AC_DEFUN([DX_DIRNAME_EXPR], + [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']]) + +# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF) +# ------------------------------------- +# Expands according to the M4 (static) status of the feature. +AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])]) + +# DX_REQUIRE_PROG(VARIABLE, PROGRAM) +# ---------------------------------- +# Require the specified program to be found for the DX_CURRENT_FEATURE to work. +AC_DEFUN([DX_REQUIRE_PROG], [ +AC_PATH_TOOL([$1], [$2]) +if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then + AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION]) + AC_SUBST(DX_FLAG_[]DX_CURRENT_FEATURE, 0) +fi +]) + +# DX_TEST_FEATURE(FEATURE) +# ------------------------ +# Expand to a shell expression testing whether the feature is active. +AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1]) + +# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE) +# ------------------------------------------------- +# Verify that a required features has the right state before trying to turn on +# the DX_CURRENT_FEATURE. +AC_DEFUN([DX_CHECK_DEPEND], [ +test "$DX_FLAG_$1" = "$2" \ +|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1, + requires, contradicts) doxygen-DX_CURRENT_FEATURE]) +]) + +# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE) +# ---------------------------------------------------------- +# Turn off the DX_CURRENT_FEATURE if the required feature is off. +AC_DEFUN([DX_CLEAR_DEPEND], [ +test "$DX_FLAG_$1" = "$2" || AC_SUBST(DX_FLAG_[]DX_CURRENT_FEATURE, 0) +]) + +# DX_FEATURE_ARG(FEATURE, DESCRIPTION, +# CHECK_DEPEND, CLEAR_DEPEND, +# REQUIRE, DO-IF-ON, DO-IF-OFF) +# -------------------------------------------- +# Parse the command-line option controlling a feature. CHECK_DEPEND is called +# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND), +# otherwise CLEAR_DEPEND is called to turn off the default state if a required +# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional +# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and +# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature. +AC_DEFUN([DX_ARG_ABLE], [ + AC_DEFUN([DX_CURRENT_FEATURE], [$1]) + AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2]) + AC_ARG_ENABLE(doxygen-$1, + [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1], + [--enable-doxygen-$1]), + DX_IF_FEATURE([$1], [don't $2], [$2]))], + [ +case "$enableval" in +#( +y|Y|yes|Yes|YES) + AC_SUBST([DX_FLAG_$1], 1) + $3 +;; #( +n|N|no|No|NO) + AC_SUBST([DX_FLAG_$1], 0) +;; #( +*) + AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1]) +;; +esac +], [ +AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)]) +$4 +]) +if DX_TEST_FEATURE([$1]); then + $5 + : +fi +if DX_TEST_FEATURE([$1]); then + $6 + : +else + $7 + : +fi +]) + +## -------------- ## +## Public macros. ## +## -------------- ## + +# DX_XXX_FEATURE(DEFAULT_STATE) +# ----------------------------- +AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])]) +AC_DEFUN([DX_DOT_FEATURE], [AC_DEFUN([DX_FEATURE_dot], [$1])]) +AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])]) +AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])]) +AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])]) +AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])]) +AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])]) +AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])]) +AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])]) +AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])]) +AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])]) + +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...) +# -------------------------------------------------------------- +# PROJECT also serves as the base name for the documentation files. +# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is +# "doxygen-doc". +# More arguments are interpreted as interleaved CONFIG-FILE and +# OUTPUT-DOC-DIR values. +AC_DEFUN([DX_INIT_DOXYGEN], [ + +# Files: +AC_SUBST([DX_PROJECT], [$1]) +AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])']) +AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])']) +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2, + [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]), + 'm4_default_nblank_quoted(m4_argn(DX_i, $@), + [$(srcdir)/Doxyfile])')])])dnl +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,), 2, + [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]), + 'm4_default_nblank_quoted(m4_argn(DX_i, $@), + [doxygen-doc])')])])dnl +m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1, + [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])], + [])))dnl + +# Environment variables used inside doxygen.cfg: +DX_ENV_APPEND(SRCDIR, $srcdir) +DX_ENV_APPEND(PROJECT, $DX_PROJECT) +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION) + +# Doxygen itself: +DX_ARG_ABLE(doc, [generate any doxygen documentation], + [], + [], + [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen) + DX_REQUIRE_PROG([DX_PERL], perl)], + [DX_ENV_APPEND(PERL_PATH, $DX_PERL)]) + +# Dot for graphics: +DX_ARG_ABLE(dot, [generate graphics for doxygen documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [DX_REQUIRE_PROG([DX_DOT], dot)], + [DX_ENV_APPEND(HAVE_DOT, YES) + DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])], + [DX_ENV_APPEND(HAVE_DOT, NO)]) + +# Man pages generation: +DX_ARG_ABLE(man, [generate doxygen manual pages], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [], + [DX_ENV_APPEND(GENERATE_MAN, YES)], + [DX_ENV_APPEND(GENERATE_MAN, NO)]) + +# RTF file generation: +DX_ARG_ABLE(rtf, [generate doxygen RTF documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [], + [DX_ENV_APPEND(GENERATE_RTF, YES)], + [DX_ENV_APPEND(GENERATE_RTF, NO)]) + +# XML file generation: +DX_ARG_ABLE(xml, [generate doxygen XML documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [], + [DX_ENV_APPEND(GENERATE_XML, YES)], + [DX_ENV_APPEND(GENERATE_XML, NO)]) + +# (Compressed) HTML help generation: +DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [DX_REQUIRE_PROG([DX_HHC], hhc)], + [DX_ENV_APPEND(HHC_PATH, $DX_HHC) + DX_ENV_APPEND(GENERATE_HTML, YES) + DX_ENV_APPEND(GENERATE_HTMLHELP, YES)], + [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)]) + +# Separate CHI file generation. +DX_ARG_ABLE(chi, [generate doxygen separate compressed HTML help index file], + [DX_CHECK_DEPEND(chm, 1)], + [DX_CLEAR_DEPEND(chm, 1)], + [], + [DX_ENV_APPEND(GENERATE_CHI, YES)], + [DX_ENV_APPEND(GENERATE_CHI, NO)]) + +# Plain HTML pages generation: +DX_ARG_ABLE(html, [generate doxygen plain HTML documentation], + [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)], + [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)], + [], + [DX_ENV_APPEND(GENERATE_HTML, YES)], + [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)]) + +# PostScript file generation: +DX_ARG_ABLE(ps, [generate doxygen PostScript documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [DX_REQUIRE_PROG([DX_LATEX], latex) + DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex) + DX_REQUIRE_PROG([DX_DVIPS], dvips) + DX_REQUIRE_PROG([DX_EGREP], egrep)]) + +# PDF file generation: +DX_ARG_ABLE(pdf, [generate doxygen PDF documentation], + [DX_CHECK_DEPEND(doc, 1)], + [DX_CLEAR_DEPEND(doc, 1)], + [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex) + DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex) + DX_REQUIRE_PROG([DX_EGREP], egrep)]) + +# LaTeX generation for PS and/or PDF: +if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then + DX_ENV_APPEND(GENERATE_LATEX, YES) +else + DX_ENV_APPEND(GENERATE_LATEX, NO) +fi + +# Paper size for PS and/or PDF: +AC_ARG_VAR(DOXYGEN_PAPER_SIZE, + [a4wide (default), a4, letter, legal or executive]) +case "$DOXYGEN_PAPER_SIZE" in +#( +"") + AC_SUBST(DOXYGEN_PAPER_SIZE, "") +;; #( +a4wide|a4|letter|legal|executive) + DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE) +;; #( +*) + AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE']) +;; +esac + +# Rules: +AS_IF([[test $DX_FLAG_html -eq 1]], +[[DX_SNIPPET_html="## ------------------------------- ## +## Rules specific for HTML output. ## +## ------------------------------- ## + +DX_CLEAN_HTML = \$(DX_DOCDIR)/html]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/html]])[ + +"]], +[[DX_SNIPPET_html=""]]) +AS_IF([[test $DX_FLAG_chi -eq 1]], +[[DX_SNIPPET_chi=" +DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])["]], +[[DX_SNIPPET_chi=""]]) +AS_IF([[test $DX_FLAG_chm -eq 1]], +[[DX_SNIPPET_chm="## ------------------------------ ## +## Rules specific for CHM output. ## +## ------------------------------ ## + +DX_CLEAN_CHM = \$(DX_DOCDIR)/chm]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/chm]])[\ +${DX_SNIPPET_chi} + +"]], +[[DX_SNIPPET_chm=""]]) +AS_IF([[test $DX_FLAG_man -eq 1]], +[[DX_SNIPPET_man="## ------------------------------ ## +## Rules specific for MAN output. ## +## ------------------------------ ## + +DX_CLEAN_MAN = \$(DX_DOCDIR)/man]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/man]])[ + +"]], +[[DX_SNIPPET_man=""]]) +AS_IF([[test $DX_FLAG_rtf -eq 1]], +[[DX_SNIPPET_rtf="## ------------------------------ ## +## Rules specific for RTF output. ## +## ------------------------------ ## + +DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/rtf]])[ + +"]], +[[DX_SNIPPET_rtf=""]]) +AS_IF([[test $DX_FLAG_xml -eq 1]], +[[DX_SNIPPET_xml="## ------------------------------ ## +## Rules specific for XML output. ## +## ------------------------------ ## + +DX_CLEAN_XML = \$(DX_DOCDIR)/xml]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/xml]])[ + +"]], +[[DX_SNIPPET_xml=""]]) +AS_IF([[test $DX_FLAG_ps -eq 1]], +[[DX_SNIPPET_ps="## ----------------------------- ## +## Rules specific for PS output. ## +## ----------------------------- ## + +DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])[ + +DX_PS_GOAL = doxygen-ps + +doxygen-ps: \$(DX_CLEAN_PS) + +]m4_foreach([DX_i], [DX_loop], +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag + \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\ + rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\ + \$(DX_LATEX) refman.tex; \\ + \$(DX_MAKEINDEX) refman.idx; \\ + \$(DX_LATEX) refman.tex; \\ + countdown=5; \\ + while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\ + refman.log > /dev/null 2>&1 \\ + && test \$\$countdown -gt 0; do \\ + \$(DX_LATEX) refman.tex; \\ + countdown=\`expr \$\$countdown - 1\`; \\ + done; \\ + \$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi + +]])["]], +[[DX_SNIPPET_ps=""]]) +AS_IF([[test $DX_FLAG_pdf -eq 1]], +[[DX_SNIPPET_pdf="## ------------------------------ ## +## Rules specific for PDF output. ## +## ------------------------------ ## + +DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])[ + +DX_PDF_GOAL = doxygen-pdf + +doxygen-pdf: \$(DX_CLEAN_PDF) + +]m4_foreach([DX_i], [DX_loop], +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag + \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\ + rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\ + \$(DX_PDFLATEX) refman.tex; \\ + \$(DX_MAKEINDEX) refman.idx; \\ + \$(DX_PDFLATEX) refman.tex; \\ + countdown=5; \\ + while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\ + refman.log > /dev/null 2>&1 \\ + && test \$\$countdown -gt 0; do \\ + \$(DX_PDFLATEX) refman.tex; \\ + countdown=\`expr \$\$countdown - 1\`; \\ + done; \\ + mv refman.pdf ../\$(PACKAGE).pdf + +]])["]], +[[DX_SNIPPET_pdf=""]]) +AS_IF([[test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1]], +[[DX_SNIPPET_latex="## ------------------------------------------------- ## +## Rules specific for LaTeX (shared for PS and PDF). ## +## ------------------------------------------------- ## + +DX_V_LATEX = \$(_DX_v_LATEX_\$(V)) +_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY)) +_DX_v_LATEX_0 = @echo \" LATEX \" \$][@; + +DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex]dnl +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\ + \$(DX_DOCDIR]DX_i[)/latex]])[ + +"]], +[[DX_SNIPPET_latex=""]]) + +AS_IF([[test $DX_FLAG_doc -eq 1]], +[[DX_SNIPPET_doc="## --------------------------------- ## +## Format-independent Doxygen rules. ## +## --------------------------------- ## + +${DX_SNIPPET_html}\ +${DX_SNIPPET_chm}\ +${DX_SNIPPET_man}\ +${DX_SNIPPET_rtf}\ +${DX_SNIPPET_xml}\ +${DX_SNIPPET_ps}\ +${DX_SNIPPET_pdf}\ +${DX_SNIPPET_latex}\ +DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V)) +_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY)) +_DX_v_DXGEN_0 = @echo \" DXGEN \" \$<; + +.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL) + +.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL) + +doxygen-run:]m4_foreach([DX_i], [DX_loop], + [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])[ + +doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL) + +]m4_foreach([DX_i], [DX_loop], +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[) \$(pkginclude_HEADERS) + \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[) + \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[) \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[) + \$(A""M_V_at)echo Timestamp >\$][@ + +]])dnl +[DX_CLEANFILES = \\] +m4_foreach([DX_i], [DX_loop], +[[ \$(DX_DOCDIR]DX_i[)/doxygen_sqlite3.db \\ + \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\ +]])dnl +[ -r \\ + \$(DX_CLEAN_HTML) \\ + \$(DX_CLEAN_CHM) \\ + \$(DX_CLEAN_CHI) \\ + \$(DX_CLEAN_MAN) \\ + \$(DX_CLEAN_RTF) \\ + \$(DX_CLEAN_XML) \\ + \$(DX_CLEAN_PS) \\ + \$(DX_CLEAN_PDF) \\ + \$(DX_CLEAN_LATEX)"]], +[[DX_SNIPPET_doc=""]]) +AC_SUBST([DX_RULES], +["${DX_SNIPPET_doc}"])dnl +AM_SUBST_NOTMAKE([DX_RULES]) + +#For debugging: +#echo DX_FLAG_doc=$DX_FLAG_doc +#echo DX_FLAG_dot=$DX_FLAG_dot +#echo DX_FLAG_man=$DX_FLAG_man +#echo DX_FLAG_html=$DX_FLAG_html +#echo DX_FLAG_chm=$DX_FLAG_chm +#echo DX_FLAG_chi=$DX_FLAG_chi +#echo DX_FLAG_rtf=$DX_FLAG_rtf +#echo DX_FLAG_xml=$DX_FLAG_xml +#echo DX_FLAG_pdf=$DX_FLAG_pdf +#echo DX_FLAG_ps=$DX_FLAG_ps +#echo DX_ENV=$DX_ENV +]) diff --git a/m4/autoconf-archive/ax_prog_emacs.m4 b/m4/autoconf-archive/ax_prog_emacs.m4 new file mode 100755 index 0000000000..8ca142bbdd --- /dev/null +++ b/m4/autoconf-archive/ax_prog_emacs.m4 @@ -0,0 +1,68 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_emacs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_EMACS +# +# DESCRIPTION +# +# This macro allows the end user to specify a particular Emacs executable +# via a configure script command-line arg. For example: +# +# ./configure EMACS=$HOME/build/GNU/emacs/src/emacs +# +# It also arranges to mention env var EMACS in the './configure --help' +# output. See info node "(autoconf) Generic Programs" for details. +# +# More precisely... +# +# If env var EMACS is set, try to use its value directly, but avoid +# getting fooled by value 't' (set by older Emacsen for subprocesses). If +# no joy from the environment, search for "emacs" via AC_CHECK_PROG. If +# still no joy, display "Emacs not found; required!" and make configure +# exit failurefully. Otherwise, set shell var EMACS and AC_SUBST it, too. +# +# LICENSE +# +# Copyright (c) 2016-2017 Thien-Thi Nguyen +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_PROG_EMACS],[dnl +AC_ARG_VAR([EMACS],[Use this Emacs to byte-compile the Emacs Lisp files.]) +dnl Allow env override but do not get fooled by 'EMACS=t'. +test t = "$EMACS" && unset EMACS +dnl The next line does nothing if var 'EMACS' is already set. +AC_CHECK_PROG([EMACS], [emacs], [emacs]) +AS_IF([test "x$EMACS" = x],[AC_MSG_ERROR([Emacs not found; required!])]) +])dnl + +dnl ax_prog_emacs.m4 ends here diff --git a/m4/autoconf-archive/ax_prog_f77_mpi.m4 b/m4/autoconf-archive/ax_prog_f77_mpi.m4 new file mode 100755 index 0000000000..c654cd0c26 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_f77_mpi.m4 @@ -0,0 +1,175 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_f77_mpi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_F77_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile Fortran77 programs that use +# MPI (Message Passing Interface), a standard API for parallel process +# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to +# be used instead of the standard macro AC_PROG_F77 and will replace the +# standard variable F77 with the found compiler. +# +# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the +# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will +# try to find out how to use MPI, if it fails, the macro will call +# AC_PROG_CC to find a standard C compiler instead. +# +# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found +# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If +# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI. +# +# The following example demonstrates usage of the macro: +# +# # If --with-mpi=auto is used, try to find MPI, but use standard F77 compiler if it is not found. +# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found. +# # If --with-mpi=no is used, use a standard F77 compiler instead. +# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi], +# [compile with MPI (parallelization) support. If none is found, +# MPI is not used. Default: auto]) +# ],,[with_mpi=auto]) +# +# AX_PROG_F77_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[ +# use_mpi=no +# if test x"$with_mpi" = xyes; then +# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.]) +# else +# AC_MSG_WARN([No MPI compiler found, won't use MPI.]) +# fi +# ]) +# +# LICENSE +# +# Copyright (c) 2010,2011 Olaf Lenz +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_PROG_F77_MPI], [ +AC_PREREQ(2.50) + +# Check for compiler +# Needs to be split off into an extra macro to ensure right expansion +# order. +AC_REQUIRE([_AX_PROG_F77_MPI],[_AX_PROG_F77_MPI([$1])]) + +AS_IF([test x"$_ax_prog_f77_mpi_mpi_wanted" = xno], + [ _ax_prog_f77_mpi_mpi_found=no ], + [ + AC_LANG_PUSH([Fortran 77]) + + # test whether MPI_INIT is available + # We do not use AC_SEARCH_LIBS here, as it caches its outcome and + # thus disallows corresponding calls in the other AX_PROG_*_MPI + # macros. + for lib in NONE fmpi fmpich; do + save_LIBS=$LIBS + if test x"$lib" = xNONE; then + AC_MSG_CHECKING([for function MPI_INIT]) + else + AC_MSG_CHECKING([for function MPI_INIT in -l$lib]) + LIBS="-l$lib $LIBS" + fi + AC_LINK_IFELSE([AC_LANG_CALL([],[MPI_INIT])], + [ _ax_prog_f77_mpi_mpi_found=yes ], + [ _ax_prog_f77_mpi_mpi_found=no ]) + AC_MSG_RESULT($_ax_prog_f77_mpi_mpi_found) + if test "x$_ax_prog_f77_mpi_mpi_found" = "xyes"; then + break; + fi + LIBS=$save_LIBS + done + + # Check for header + AS_IF([test x"$_ax_prog_f77_mpi_mpi_found" = xyes], [ + AC_MSG_CHECKING([for mpif.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ + include 'mpif.h' +]])], + [ AC_MSG_RESULT(yes)], + [ AC_MSG_RESULT(no) + _ax_prog_f77_mpi_mpi_found=no + ]) + ]) + AC_LANG_POP([Fortran 77]) +]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +AS_IF([test x"$_ax_prog_f77_mpi_mpi_found" = xyes], [ + ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2]) + : +],[ + $3 + : +]) + +])dnl AX_PROG_F77_MPI + +dnl _AX_PROG_F77_MPI is an internal macro required by AX_PROG_F77_MPI. +dnl To ensure the right expansion order, the main function AX_PROG_F77_MPI +dnl has to be split into two parts. This part looks for the MPI +dnl compiler, while the other one tests whether an MPI program can be +dnl compiled. +dnl +dnl Known Fortran 77 compilers: +dnl af77 Apogee F77 compiler for Intergraph hardware running CLIX +dnl blrts_xlf IBM BlueGene/L F77 cross-compiler +dnl cf77 native F77 compiler under older Crays (prefer over fort77) +dnl f77 generic compiler names +dnl fl32 Microsoft Fortran 77 "PowerStation" compiler +dnl fort77 native F77 compiler under HP-UX (and some older Crays) +dnl frt Fujitsu F77 compiler +dnl g77 GNU Fortran 77 compiler +dnl pgf77 Portland Group F77 compiler +dnl xlf IBM (AIX) F77 compiler +dnl pathf77 PathScale +dnl +AC_DEFUN([_AX_PROG_F77_MPI], [ + AC_ARG_VAR(MPIF77,[MPI Fortran77 compiler command]) + ifelse([$1],,[_ax_prog_f77_mpi_mpi_wanted=yes],[ + AC_MSG_CHECKING([whether to compile using MPI]) + if $1; then + _ax_prog_f77_mpi_mpi_wanted=yes + else + _ax_prog_f77_mpi_mpi_wanted=no + fi + AC_MSG_RESULT($_ax_prog_f77_mpi_mpi_wanted) + ]) + if test x"$_ax_prog_f77_mpi_mpi_wanted" = xyes; then + if test -z "$F77" && test -n "$MPIF77"; then + F77="$MPIF77" + else + AC_CHECK_TOOLS([F77], [mpif77 hf77 mpxlf_r mpxlf mpifrt mpf77 cmpifc xlf f77 frt pgf77 pathf77 g77 cf77 fort77 fl32 af77]) + fi + fi + AC_PROG_F77 +])dnl _AX_PROG_F77_MPI diff --git a/m4/autoconf-archive/ax_prog_fasm.m4 b/m4/autoconf-archive/ax_prog_fasm.m4 new file mode 100755 index 0000000000..a8c6ff93e2 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_fasm.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_fasm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FASM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the FASM assembler and sets the variable "fasm" +# to the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_FASM() +# AX_PROG_FASM([fasm_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_FASM],[ +AC_CHECK_PROGS(fasm,[fasm],no) +if test "x$fasm" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([FASM assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_fasm_opt.m4 b/m4/autoconf-archive/ax_prog_fasm_opt.m4 new file mode 100755 index 0000000000..b54a48596f --- /dev/null +++ b/m4/autoconf-archive/ax_prog_fasm_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_fasm_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FASM_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the FASM assembler accepts the given option. If +# yes, the option is appended to the variable 'var_name', otherwise +# 'var_name' is unchanged. +# +# Example: +# +# AX_PROG_FASM_OPT([-m 256], [FASM_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_FASM_OPT],[ +AC_REQUIRE([AX_PROG_FASM])dnl +AC_MSG_CHECKING([if $fasm accepts $1]) +echo '' > conftest.asm +if $fasm $$2 $1 conftest.asm > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_fc_mpi.m4 b/m4/autoconf-archive/ax_prog_fc_mpi.m4 new file mode 100755 index 0000000000..3876d557ec --- /dev/null +++ b/m4/autoconf-archive/ax_prog_fc_mpi.m4 @@ -0,0 +1,162 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_fc_mpi.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FC_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# This macro tries to find out how to compile Fortran77 programs that use +# MPI (Message Passing Interface), a standard API for parallel process +# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to +# be used instead of the standard macro AC_PROG_FC and will replace the +# standard variable FC with the found compiler. +# +# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the +# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will +# try to find out how to use MPI, if it fails, the macro will call +# AC_PROG_CC to find a standard C compiler instead. +# +# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found +# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If +# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI. +# +# The following example demonstrates usage of the macro: +# +# # If --with-mpi=auto is used, try to find MPI, but use standard FC compiler if it is not found. +# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found. +# # If --with-mpi=no is used, use a standard FC compiler instead. +# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi], +# [compile with MPI (parallelization) support. If none is found, +# MPI is not used. Default: auto]) +# ],,[with_mpi=auto]) +# +# AX_PROG_FC_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[ +# use_mpi=no +# if test x"$with_mpi" = xyes; then +# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.]) +# else +# AC_MSG_WARN([No MPI compiler found, won't use MPI.]) +# fi +# ]) +# +# LICENSE +# +# Copyright (c) 2010,2011 Olaf Lenz +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_PROG_FC_MPI], [ +AC_PREREQ(2.50) + +# Check for compiler +# Needs to be split off into an extra macro to ensure right expansion +# order. +AC_REQUIRE([_AX_PROG_FC_MPI],[_AX_PROG_FC_MPI([$1])]) + +AS_IF([test x"$_ax_prog_fc_mpi_mpi_wanted" = xno], + [ _ax_prog_fc_mpi_mpi_found=no ], + [ + AC_LANG_PUSH([Fortran]) + + # test whether MPI_INIT is available + # We do not use AC_SEARCH_LIBS here, as it caches its outcome and + # thus disallows corresponding calls in the other AX_PROG_*_MPI + # macros. + for lib in NONE mpichf90 fmpi fmpich; do + save_LIBS=$LIBS + if test x"$lib" = xNONE; then + AC_MSG_CHECKING([for function MPI_INIT]) + else + AC_MSG_CHECKING([for function MPI_INIT in -l$lib]) + LIBS="-l$lib $LIBS" + fi + AC_LINK_IFELSE([AC_LANG_CALL([],[MPI_INIT])], + [ _ax_prog_fc_mpi_mpi_found=yes ], + [ _ax_prog_fc_mpi_mpi_found=no ]) + AC_MSG_RESULT($_ax_prog_fc_mpi_mpi_found) + if test "x$_ax_prog_fc_mpi_mpi_found" = "xyes"; then + break; + fi + LIBS=$save_LIBS + done + + # Check for header + AS_IF([test x"$_ax_prog_fc_mpi_mpi_found" = xyes], [ + AC_MSG_CHECKING([for mpif.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ + include 'mpif.h' +]])], + [ AC_MSG_RESULT(yes)], + [ AC_MSG_RESULT(no) + _ax_prog_fc_mpi_mpi_found=no + ]) + ]) + AC_LANG_POP([Fortran]) +]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +AS_IF([test x"$_ax_prog_fc_mpi_mpi_found" = xyes], [ + ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2]) + : +],[ + $3 + : +]) + +])dnl AX_PROG_FC_MPI + +dnl _AX_PROG_FC_MPI is an internal macro required by AX_PROG_FC_MPI. +dnl To ensure the right expansion order, the main function AX_PROG_FC_MPI +dnl has to be split into two parts. This part looks for the MPI +dnl compiler, while the other one tests whether an MPI program can be +dnl compiled. +dnl +AC_DEFUN([_AX_PROG_FC_MPI], [ + AC_ARG_VAR(MPIFC,[MPI Fortran compiler command]) + ifelse([$1],,[_ax_prog_fc_mpi_mpi_wanted=yes],[ + AC_MSG_CHECKING([whether to compile using MPI]) + if $1; then + _ax_prog_fc_mpi_mpi_wanted=yes + else + _ax_prog_fc_mpi_mpi_wanted=no + fi + AC_MSG_RESULT($_ax_prog_fc_mpi_mpi_wanted) + ]) + if test x"$_ax_prog_fc_mpi_mpi_wanted" = xyes; then + if test -z "$FC" && test -n "$MPIFC"; then + FC="$MPIFC" + else + AC_CHECK_TOOLS([FC], [mpif95 mpxlf95_r mpxlf95 ftn mpif90 mpxlf90_r mpxlf90 mpf90 cmpif90c sxmpif90 mpif77 hf77 mpxlf_r mpxlf mpifrt mpf77 cmpifc xlf95 pgf95 pathf95 ifort g95 f95 fort ifc efc openf95 sunf95 crayftn gfortran lf95 ftn xlf90 f90 pgf90 pghpf pathf90 epcf90 sxf90 openf90 sunf90 xlf f77 frt pgf77 pathf77 g77 cf77 fort77 fl32 af77]) + fi + fi + AC_PROG_FC +])dnl _AX_PROG_FC_MPI diff --git a/m4/autoconf-archive/ax_prog_fig2dev.m4 b/m4/autoconf-archive/ax_prog_fig2dev.m4 new file mode 100755 index 0000000000..ac1f0f1454 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_fig2dev.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_fig2dev.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FIG2DEV +# +# DESCRIPTION +# +# If `fig2dev' is found, sets the output variable `FIG2DEV' to `fig2dev', +# and `FIG2DEV_ESPLANG' to the graphics language which can be used to +# produce Encapsulated PostScript. Older versions of `fig2dev' produce EPS +# with `-Lps' and new versions with `-Leps', this macro finds out the +# correct language option automatically. +# +# LICENSE +# +# Copyright (c) 2008 Ville Laurikari +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([VL_PROG_FIG2DEV], [AX_PROG_FIG2DEV]) +AC_DEFUN([AX_PROG_FIG2DEV], [ + AC_CHECK_PROG(FIG2DEV, fig2dev, fig2dev) + if test "x$FIG2DEV" != "x"; then + AC_CACHE_CHECK(how to produce EPS with fig2dev, + ax_cv_sys_fig2dev_epslang, [ + if "$FIG2DEV" -Leps /dev/null 2>&1 | grep Unknown > /dev/null; then + ax_cv_sys_fig2dev_epslang=ps + else + ax_cv_sys_fig2dev_epslang=eps + fi + ]) + FIG2DEV_EPSLANG=$ax_cv_sys_fig2dev_epslang + AC_SUBST(FIG2DEV_EPSLANG) + fi +]) diff --git a/m4/autoconf-archive/ax_prog_flex.m4 b/m4/autoconf-archive/ax_prog_flex.m4 new file mode 100755 index 0000000000..edf07e8fd7 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_flex.m4 @@ -0,0 +1,59 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_flex.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FLEX(ACTION-IF-TRUE,ACTION-IF-FALSE) +# +# DESCRIPTION +# +# Check whether flex is the scanner generator. Run ACTION-IF-TRUE if +# successful, ACTION-IF-FALSE otherwise +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# Copyright (c) 2010 Diego Elio Petteno` +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 13 + +AC_DEFUN([AX_PROG_FLEX], [ + AC_REQUIRE([AM_PROG_LEX]) + AC_REQUIRE([AC_PROG_EGREP]) + + AC_CACHE_CHECK([if flex is the lexer generator],[ax_cv_prog_flex],[ + AS_IF([$LEX --version 2>/dev/null | $EGREP -qw '^g?flex'], + [ax_cv_prog_flex=yes], [ax_cv_prog_flex=no]) + ]) + AS_IF([test "$ax_cv_prog_flex" = "yes"], + m4_ifnblank([$1], [[$1]]), + m4_ifnblank([$2], [[$2]]) + ) +]) diff --git a/m4/autoconf-archive/ax_prog_flex_version.m4 b/m4/autoconf-archive/ax_prog_flex_version.m4 new file mode 100755 index 0000000000..d518f18ee9 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_flex_version.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_flex_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_FLEX_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that flex version is greater or equal to the version +# indicated. If true the shell commands in ACTION-IF-TRUE are executed. If +# not the shell commands in commands in ACTION-IF-TRUE are executed. If +# not the shell commands in ACTION-IF-FALSE are run. Note if $FLEX is not +# set (for example by running AC_CHECK_PROG or AC_PATH_PROG) the macro +# will fail. +# +# Example: +# +# AC_PATH_PROG([FLEX],[flex]) +# AX_PROG_FLEX_VERSION([2.5.39],[ ... ],[ ... ]) +# +# This will check to make sure that the flex you have is at least version +# 2.5.39 or greater. +# +# NOTE: This macro uses the $FLEX variable to perform the check. +# +# LICENSE +# +# Copyright (c) 2015 Jonathan Rajotte-Julien +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_PROG_FLEX_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + + AS_IF([test -n "$FLEX"],[ + ax_flex_version="$1" + + AC_MSG_CHECKING([for flex version]) + changequote(<<,>>) + flex_version=`$FLEX --version 2>&1 \ + | $SED -n -e '/flex /b inspect +b +: inspect +s/.* (\{0,1\}\([0-9]*\.[0-9]*\.[0-9]*\))\{0,1\}.*/\1/;p'` + changequote([,]) + AC_MSG_RESULT($flex_version) + + AC_SUBST([FLEX_VERSION],[$flex_version]) + + AX_COMPARE_VERSION([$flex_version],[ge],[$ax_flex_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find flex]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_gjs.m4 b/m4/autoconf-archive/ax_prog_gjs.m4 new file mode 100755 index 0000000000..9f18bedc69 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_gjs.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_gjs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_GJS +# +# DESCRIPTION +# +# AX_PROG_GJS checks for the presence of the JavaScript interpreter GJS +# (https://wiki.gnome.org/Projects/Gjs) in pkg-config or in the path. If +# it is not found, an error is issued and configure is halted. If it is +# found, the path of the interpreter is placed into a variable named GJS, +# which is declared precious. +# +# LICENSE +# +# Copyright (c) 2013, 2016 Endless Mobile, Inc.; contributed by Philip Chimento +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN_ONCE([AX_PROG_GJS], [ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_ARG_VAR([GJS], [Path to GJS interpreter]) + AC_MSG_CHECKING([for GJS]) + AS_IF([pkg-config --exists gjs-1.0], [ + GJS=`pkg-config --variable=gjs_console gjs-1.0` + AC_MSG_RESULT([(pkg-config) $GJS]) + ], [ + AC_PATH_PROG([GJS], [gjs], [notfound]) + AC_MSG_RESULT([(path) $GJS]) + ]) + AS_IF([test "x$GJS" = "xnotfound"], + [AC_MSG_ERROR([GJS is required, but was not found. If GJS is +installed, try passing its path in an environment variable, +for example GJS=/path/to/gjs.])]) +]) + +# _AX_GJS_IFELSE(program, [action-if-true], [action-if-false]) +# ------------------------------------------------------------- +# Comparable to AC_RUN_IFELSE(), but runs the program using GJS +# instead of trying to compile it and link it. +# Used by AX_CHECK_GIRS_GJS and AX_CHECK_GIR_SYMBOLS_GJS. + +AC_DEFUN([_AX_GJS_IFELSE], [ + AC_REQUIRE([AX_PROG_GJS]) + echo "$1" >conftest.js + $GJS conftest.js >>config.log 2>&1 + AS_IF([test $? -eq 0], [$2], [$3]) +]) diff --git a/m4/autoconf-archive/ax_prog_guile_version.m4 b/m4/autoconf-archive/ax_prog_guile_version.m4 new file mode 100755 index 0000000000..a99667cfc3 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_guile_version.m4 @@ -0,0 +1,65 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_guile_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_GUILE_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that guile supports the version indicated. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. Note if $GUILE is not set (for example by +# running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail. +# +# Example: +# +# AC_PATH_PROG([GUILE],[guile]) +# AC_PROG_GUILE_VERSION([1.6.0],[ ... ],[ ... ]) +# +# This will check to make sure that the guile you have supports at least +# version 1.6.0. +# +# NOTE: This macro uses the $GUILE variable to perform the check. +# AX_WITH_GUILE can be used to set that variable prior to running this +# macro. The $GUILE_VERSION variable will be valorized with the detected +# version. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_PROG_GUILE_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + + AS_IF([test -n "$GUILE"],[ + ax_guile_version="$1" + + AC_MSG_CHECKING([for guile version]) + changequote(<<,>>) + guile_version=`$GUILE -q --version 2>&1 | head -n 1 | $SED -e 's/.* \([0-9]*\.[0-9]*\.[0-9]*\)/\1/'` + changequote([,]) + AC_MSG_RESULT($guile_version) + + AC_SUBST([GUILE_VERSION],[$guile_version]) + + AX_COMPARE_VERSION([$ax_guile_version],[le],[$guile_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find the guile interpreter]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_haxe_version.m4 b/m4/autoconf-archive/ax_prog_haxe_version.m4 new file mode 100755 index 0000000000..fcacc67073 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_haxe_version.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_haxe_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_HAXE_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that haxe supports the version indicated. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. The $HAXE_VERSION variable will be filled with +# the detected version. +# +# This macro uses the $HAXE variable to perform the check. If $HAXE is not +# set prior to calling this macro, the macro will fail. +# +# Example: +# +# AC_PATH_PROG([HAXE],[haxe]) +# AC_PROG_HAXE_VERSION([3.1.3],[ ... ],[ ... ]) +# +# Searches for Haxe, then checks if at least version 3.1.3 is present. +# +# LICENSE +# +# Copyright (c) 2015 Jens Geyer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_PROG_HAXE_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + + AS_IF([test -n "$HAXE"],[ + ax_haxe_version="$1" + + AC_MSG_CHECKING([for haxe version]) + haxe_version=`$HAXE -version 2>&1 | $SED -e 's/^.* \( @<:@0-9@:>@*\.@<:@0-9@:>@*\.@<:@0-9@:>@*\) .*/\1/'` + AC_MSG_RESULT($haxe_version) + + AC_SUBST([HAXE_VERSION],[$haxe_version]) + + AX_COMPARE_VERSION([$ax_haxe_version],[le],[$haxe_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find Haxe]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_help2man.m4 b/m4/autoconf-archive/ax_prog_help2man.m4 new file mode 100755 index 0000000000..e81c90e82c --- /dev/null +++ b/m4/autoconf-archive/ax_prog_help2man.m4 @@ -0,0 +1,212 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_help2man.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_HELP2MAN([program list], [man directory prefix], [binary prefix]) +# +# DESCRIPTION +# +# AX_PROG_HELP2MAN is a macro designed to facilitate usage of help2man. It +# may take three optional arguments: +# +# 1. : comma-separated m4 list of input programs +# +# Specifies the list of input programs which shall be used to produce man +# pages using help2man. If no value is specified, the macro assumes that +# the sole target will be named $(PACKAGE_NAME). Thus, the two following +# lines are equivalent: +# +# AX_PROG_HELP2MAN +# AX_PROG_HELP2MAN([\$(PACKAGE_NAME)]) +# +# 2. : directory prefix of the man pages directory +# +# Sets AX_HELP2MAN_PREFIX_MANS to . Defaults to +# 'doc/man/man1' if no value is provided. Note that +# AX_HELP2MAN_PREFIX_MANS will always be a subdirectory of the build +# directory. +# +# 3. : +# +# Sets AX_HELP2MAN_PREFIX_BIN to . Defaults to +# '$(top_builddir)' if no value is provided. The two following lines are +# equivalent: +# +# AX_PROG_HELP2MAN([subdir/program1, subdir/program2]) +# AX_PROG_HELP2MAN([program1, program2], [], [\$(top_builddir)/subdir]) +# +# The macro: +# +# - checks that help2man is available on the system. +# +# - provides the configure option --disable-help2man. +# +# - sets the output variable ax_help2man_MANS to the list of man pages +# that shall be generated. +# +# - sets the automake conditional HAVE_HELP2MAN +# +# - sets the substitution variable AX_HELP2MAN_RULES to the required make +# rules, targets and recipes. +# +# Further detail on the macro can be found after the minimal working +# example. Here is a minimal working example: +# +# # configure.ac: +# AX_PROG_HELP2MAN +# +# # Makefile.am: +# if HAVE_HELP2MAN +# man1_MANS = $(ax_help2man_MANS) +# @AX_HELP2MAN_RULES@ +# endif +# +# This minimal working example shall work under the following assumptions: +# +# 1. the aforementioned binary has the same name as the project +# +# 2. the project produces a single binary at the root of the build +# directory +# +# 3. the man page shall be generated into the doc/man/man1 directory +# +# Note that adding ax_help2man_MANS to man1_MANS is not needed if the man +# page generation is not mandatory. +# +# The AX_HELP2MAN_RULES substitution variable shall contain: +# +# - a recipe to create, if necessary, the destination directory. +# +# - a generic rule to produce the manpages. +# +# This rule targets the contents of the variable ax_help2man_MANS and its +# recipe shall be akin to the following: +# +# $(HELP2MAN) -l -N --output="$@" --name="$(shell basename $<)" "$(shell dirname $<)/$(shell basename $<)" +# +# Errors from this rule are ignored. +# +# - rules for each input program and target man page. +# +# For each input program, a rule akin to the following shall be available: +# +# $(AX_HELP2MAN_PREFIX_MANS)/program.1: $(AX_HELP2MAN_PREFIX_BIN)/path/to/program +# +# The macro assumes that all man pages shall be generated into the same +# directory (AX_HELP2MAN_PREFIX_MANS) and that all input programs can be +# found in the same directory (AX_HELP2MAN_PREFIX_BIN). If a subset of the +# inputs or outputs have different paths (for instance one of the inputs +# is a script available in $(top_srcdir) whereas the other inputs are +# programs compiled at build time), it can be customized in the +# Makefile.am: the target man page must be added to ax_help2man_MANS, so +# that it becomes a target of the generic rule for man pages and a rule +# must be added to specify its prerequisite: +# +# ax_help2man_MANS += path/to/output/man/page.1 +# path/to/output/man/page.1: path/to/input/program.1 +# +# Here is a full example for a project where binaries 'program1' and +# 'program2' are compiled at build time whereas 'script' is available in +# the source tree: +# +# # configure.ac: +# AX_PROG_HELP2MAN([program1, program2]) +# +# # Makefile.am: +# if HAVE_HELP2MAN +# man1_MANS = $(ax_help2man_MANS) +# @AX_HELP2MAN_RULES@ +# ax_help2man_MANS += $(AX_HELP2MAN_PREFIX_MANS)/script.1 +# $(AX_HELP2MAN_PREFIX_MANS)/script.1: $(top_srcdir)/script +# endif +# +# Note that this macro should not be called more than once. +# +# LICENSE +# +# Copyright (c) 2017 Harenome Ranaivoarivony-Razanajato +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# Under Section 7 of GPL version 3, you are granted additional permissions +# described in the Autoconf Configure Script Exception, version 3.0, as +# published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . + +#serial 2 + +AC_DEFUN_ONCE([AX_PROG_HELP2MAN], +[ + dnl The make rules use 'AM_V_P' and 'AM_V_at' which may not be known. + m4_pattern_allow(AM_V_P) + m4_pattern_allow(AM_V_at) + + dnl Provide an option for the configure script, and check whether help2man + dnl is available and whether the user wants to use it. + AC_ARG_ENABLE(help2man, + [AS_HELP_STRING([--disable-help2man], [Disable help2man man generation])]) + AC_PATH_PROG(HELP2MAN, help2man, false) + AS_IF([test "x$enable_help2man" = "xno"], [HELP2MAN="false"]) + AM_CONDITIONAL([HAVE_HELP2MAN], [test "x$HELP2MAN" != "xfalse"]) + + dnl Default to 'doc' and $(top_builddir) if no prefixes were provided + AC_SUBST(AX_HELP2MAN_PREFIX_MANS, "\$(top_builddir)/m4_ifblank([$2], [doc/man/man1], [$2])") + AC_SUBST(AX_HELP2MAN_PREFIX_BIN, "m4_ifblank([$3], [\$(top_builddir)], [$3])") + + ax_help2man_targets_text="" + m4_ifblank([$1], + dnl if no executable path was specified, default to $(PACKAGE_NAME) + [ + ax_help2man_mans_list='$(AX_HELP2MAN_PREFIX_MANS)/$(PACKAGE_NAME).1' + ax_help2man_targets_text='$(AX_HELP2MAN_PREFIX_MANS)/$(PACKAGE_NAME).1: $(AX_HELP2MAN_PREFIX_BIN)/$(PACKAGE_NAME)' + ], + dnl else, (if executable path(s) were specified), create rules for each target + [ + m4_foreach(target, [$1], + [ + ax_help2man_target="target" + ax_help2man_target_name=$(basename "${ax_help2man_target}") + ax_help2man_mans_list="${ax_help2man_mans_list} "'$(AX_HELP2MAN_PREFIX_MANS)/'"${ax_help2man_target_name}"'.1' + ax_help2man_targets_text="${ax_help2man_targets_text} +"'$(AX_HELP2MAN_PREFIX_MANS)/'"${ax_help2man_target_name}"'.1: $(AX_HELP2MAN_PREFIX_BIN)/'"${ax_help2man_target}" + ]) + ]) + + dnl Reminder for $ax_help2man_rules_text: + dnl Do not insert spaces here, make rules require tabs for indentation! + dnl + dnl $(shell dirname $<)/$(shell basename $<) instead of merely $<: + dnl if the make rule prerequisite + dnl (i.e the input program for help2man) is at the root of the directory, the + dnl prerequisite text will only contain the name of the file. However, + dnl help2man needs the leading './'... Fortunately, dirname returns '.' if its + dnl input does not contain slashes! + ax_help2man_rules_text=' +# Rule to create the directory for man 1 pages +$(AX_HELP2MAN_PREFIX_MANS): + $(AM_V_at)$(MKDIR_P) @S|@@ + +# Generic rule to create manpages using help2man +$(ax_help2man_MANS): | $(AX_HELP2MAN_PREFIX_MANS) + @if ! $(AM_V_P); then printf " %-8s %s\n" "HELP2MAN" "@S|@@"; fi + $(AM_V_at)-$(HELP2MAN) -l -N --output="@S|@@" --name="$(shell basename $<)" "$(shell dirname $<)/$(shell basename $<)" + +# Targets +'"${ax_help2man_targets_text}" + + AC_SUBST([ax_help2man_MANS], ["${ax_help2man_mans_list}"]) + AC_SUBST([AX_HELP2MAN_RULES], ["${ax_help2man_rules_text}"]) + AM_SUBST_NOTMAKE([AX_HELP2MAN_RULES]) +]) diff --git a/m4/autoconf-archive/ax_prog_hla.m4 b/m4/autoconf-archive/ax_prog_hla.m4 new file mode 100755 index 0000000000..ce814208c1 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_hla.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_hla.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_HLA([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the HLA assembler and sets the variable "hla" to +# the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_HLA() +# AX_PROG_HLA([hla_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_HLA],[ +AC_CHECK_PROGS(hla,[hla],no) +if test "x$hla" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([HLA assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_hla_opt.m4 b/m4/autoconf-archive/ax_prog_hla_opt.m4 new file mode 100755 index 0000000000..b656c3f1da --- /dev/null +++ b/m4/autoconf-archive/ax_prog_hla_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_hla_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_HLA_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the HLA assembler accepts the given option. If yes, +# the option is appended to the variable 'var_name', otherwise 'var_name' +# is unchanged. +# +# Example: +# +# AX_PROG_HLA_OPT([-v], [HLA_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_HLA_OPT],[ +AC_REQUIRE([AX_PROG_HLA])dnl +AC_MSG_CHECKING([if $hla accepts $1]) +echo '' > conftest.hla +if $hla $$2 $1 conftest.hla > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_httpd.m4 b/m4/autoconf-archive/ax_prog_httpd.m4 new file mode 100755 index 0000000000..8de6e99fd5 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_httpd.m4 @@ -0,0 +1,84 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_httpd.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_HTTPD +# +# DESCRIPTION +# +# Check for Apache's 'httpd', let script continue if exists & works, pops +# up error message if not. +# +# Testing of functionality is by checking its compile settings +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# HTTPD = which httpd +# HTTPD_ROOT = Apache's root directory, specified when compiled / run with -d option +# HTTPD_SERVER_ROOT = Directory for Apache's essential files, e.g. access logs / error logs / modules / scripts. +# HTTPD_SERVER_CONFIG_FILE = Full-path of the 'httpd.conf' file +# HTTPD_USER = Which user that httpd runs as +# HTTPD_GROUP = Which group that httpd runs as +# HTTPD_DOC_HOME = Document directory, taken as the first DocumentRoot path found in httpd.conf +# HTTPD_SCRIPT_HOME = CGI script directory, taken as the first ScriptAlias path found in httpd.conf +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_HTTPD], [AX_PROG_HTTPD]) +AC_DEFUN([AX_PROG_HTTPD],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(HTTPD, httpd$EXEEXT, nocommand) +if test "$HTTPD" = nocommand; then + AC_MSG_ERROR([httpd not found in $PATH]) +fi +HTTPD_ROOT=`httpd -V | grep HTTPD_ROOT | sed 's/^.*HTTPD_ROOT[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` +HTTPD_SERVER_CONFIG_FILE=`httpd -V | grep SERVER_CONFIG_FILE | sed 's/^.*SERVER_CONFIG_FILE[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` +if echo $HTTPD_SERVER_CONFIG_FILE | grep ^[[^/]] > /dev/null; then + HTTPD_SERVER_CONFIG_FILE=$HTTPD_ROOT/$HTTPD_SERVER_CONFIG_FILE +fi +SERVER_ROOT_PATTERN='^[[[:blank:]]]*ServerRoot[[[:blank:]]][[[:blank:]]]*"\([[^"]]*\)"$' +HTTPD_USER_PATTERN='^User[[[:blank:]]][[[:blank:]]]*\([[^[:blank:]]][[^[:blank:]]]*\)$' +HTTPD_GROUP_PATTERN='^Group[[[:blank:]]][[[:blank:]]]*\([[^[:blank:]]][[^[:blank:]]]*\)$' +DOCUMENT_ROOT_PATTERN='^[[[:blank:]]]*DocumentRoot[[[:blank:]]][[[:blank:]]]*"\([[^"]]*\)"$' +SCRIPT_ALIAS_PATTERN='^[[[:blank:]]]*ScriptAlias[[[:blank:]]][[[:blank:]]]*[[^[:blank:]]][[^[:blank:]]]*[[[:blank:]]][[[:blank:]]]*"\([[^"]]*\)"$' +AC_CHECK_FILE($HTTPD_SERVER_CONFIG_FILE, + [HTTPD_SERVER_ROOT=`grep $SERVER_ROOT_PATTERN $HTTPD_SERVER_CONFIG_FILE | head -n 1 | sed "s/$SERVER_ROOT_PATTERN/\1/" | sed s/[[/]]$//`; + HTTPD_USER=`grep $HTTPD_USER_PATTERN $HTTPD_SERVER_CONFIG_FILE | sed "s/$HTTPD_USER_PATTERN/\1/"`; + HTTPD_GROUP=`grep $HTTPD_GROUP_PATTERN $HTTPD_SERVER_CONFIG_FILE | sed "s/$HTTPD_GROUP_PATTERN/\1/"`; + HTTPD_DOC_HOME=`grep $DOCUMENT_ROOT_PATTERN $HTTPD_SERVER_CONFIG_FILE | head -n 1 | sed "s/$DOCUMENT_ROOT_PATTERN/\1/" | sed s/[[/]]$//`; + HTTPD_SCRIPT_HOME=`grep $SCRIPT_ALIAS_PATTERN $HTTPD_SERVER_CONFIG_FILE | head -n 1 | sed "s/$SCRIPT_ALIAS_PATTERN/\1/" | sed s/[[/]]$//`], + AC_MSG_ERROR([httpd server-config-file (detected as $HTTPD_SERVER_CONFIG_FILE by httpd -V) cannot be found]))dnl +]) diff --git a/m4/autoconf-archive/ax_prog_jar.m4 b/m4/autoconf-archive/ax_prog_jar.m4 new file mode 100755 index 0000000000..d474912a05 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_jar.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_jar.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAR +# +# DESCRIPTION +# +# AX_PROG_JAR tests for an existing jar program. It uses the environment +# variable JAR then tests in sequence various common jar programs. +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAR=yourcompiler before calling +# AX_PROG_JAR +# +# - at the configure level, setenv JAR +# +# You can use the JAR variable in your Makefile.in, with @JAR@. +# +# Note: This macro depends on the autoconf M4 macros for Java programs. It +# is VERY IMPORTANT that you download that whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. +# +# The general documentation of those macros, as well as the sample +# configure.in, is included in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Egon Willighagen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_PROG_JAR], [AX_PROG_JAR]) +AC_DEFUN([AX_PROG_JAR],[ +AS_IF([test "x$JAVAPREFIX" = x], + [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar])], + [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar], [], [$JAVAPREFIX/bin])]) +test "x$JAR" = x && AC_MSG_ERROR([no acceptable jar program found in \$PATH]) +AC_PROVIDE([$0])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_java.m4 b/m4/autoconf-archive/ax_prog_java.m4 new file mode 100755 index 0000000000..c2e6964e2c --- /dev/null +++ b/m4/autoconf-archive/ax_prog_java.m4 @@ -0,0 +1,115 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_java.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVA +# +# DESCRIPTION +# +# Here is a summary of the main macros: +# +# AX_PROG_JAVAC: finds a Java compiler. +# +# AX_PROG_JAVA: finds a Java virtual machine. +# +# AX_CHECK_CLASS: finds if we have the given class (beware of CLASSPATH!). +# +# AX_CHECK_RQRD_CLASS: finds if we have the given class and stops +# otherwise. +# +# AX_TRY_COMPILE_JAVA: attempt to compile user given source. +# +# AX_TRY_RUN_JAVA: attempt to compile and run user given source. +# +# AX_JAVA_OPTIONS: adds Java configure options. +# +# AX_PROG_JAVA tests an existing Java virtual machine. It uses the +# environment variable JAVA then tests in sequence various common Java +# virtual machines. For political reasons, it starts with the free ones. +# You *must* call [AX_PROG_JAVAC] before. +# +# If you want to force a specific VM: +# +# - at the configure.in level, set JAVA=yourvm before calling AX_PROG_JAVA +# +# (but after AC_INIT) +# +# - at the configure level, setenv JAVA +# +# You can use the JAVA variable in your Makefile.in, with @JAVA@. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# TODO: allow to exclude virtual machines (rationale: most Java programs +# cannot run with some VM like kaffe). +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. +# +# A Web page, with a link to the latest CVS snapshot is at +# . +# +# This is a sample configure.in Process this file with autoconf to produce +# a configure script. +# +# AC_INIT(UnTag.java) +# +# dnl Checks for programs. +# AC_CHECK_CLASSPATH +# AX_PROG_JAVAC +# AX_PROG_JAVA +# +# dnl Checks for classes +# AX_CHECK_RQRD_CLASS(org.xml.sax.Parser) +# AX_CHECK_RQRD_CLASS(com.jclark.xml.sax.Driver) +# +# AC_OUTPUT(Makefile) +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_PROG_JAVA], [AX_PROG_JAVA]) +AC_DEFUN([AX_PROG_JAVA],[ +m4_define([m4_ax_prog_java_list], [kaffe java])dnl +AS_IF([test "x$JAVAPREFIX" = x], + [test x$JAVA = x && AC_CHECK_PROGS([JAVA], [m4_ax_prog_java_list])], + [test x$JAVA = x && AC_CHECK_PROGS([JAVA], [m4_ax_prog_java_list], [], [$JAVAPREFIX/bin])]) +test x$JAVA = x && AC_MSG_ERROR([no acceptable Java virtual machine found in \$PATH]) +m4_undefine([m4_ax_prog_java_list])dnl +AX_PROG_JAVA_WORKS +AC_PROVIDE([$0])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_java_cc.m4 b/m4/autoconf-archive/ax_prog_java_cc.m4 new file mode 100755 index 0000000000..ce9612d3f8 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_java_cc.m4 @@ -0,0 +1,104 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_java_cc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVA_CC +# +# DESCRIPTION +# +# Finds the appropriate java compiler on your path. By preference the java +# compiler is gcj, then jikes then javac. +# +# The macro can take one argument specifying a space separated list of +# java compiler names. +# +# For example: +# +# AX_PROG_JAVA_CC(javac, gcj) +# +# The macro also sets the compiler options variable: JAVA_CC_OPTS to +# something sensible: +# +# - for GCJ it sets it to: @GCJ_OPTS@ +# (if GCJ_OPTS is not yet defined then it is set to "-C") +# +# - no other compiler has applicable options yet +# +# Here's an example configure.in: +# +# AC_INIT(Makefile.in) +# AX_PROG_JAVA_CC() +# AC_OUTPUT(Makefile) +# dnl End. +# +# And here's the start of the Makefile.in: +# +# PROJECT_ROOT := @srcdir@ +# # Tool definitions. +# JAVAC := @JAVA_CC@ +# JAVAC_OPTS := @JAVA_CC_OPTS@ +# JAR_TOOL := @jar_tool@ +# +# LICENSE +# +# Copyright (c) 2008 Nic Ferrier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +# AX_PROG_JAVA_CC([COMPILER ...]) +# -------------------------- +# COMPILER ... is a space separated list of java compilers to search for. +# This just gives the user an opportunity to specify an alternative +# search list for the java compiler. +AU_ALIAS([AC_PROG_JAVA_CC], [AX_PROG_JAVA_CC]) +AC_DEFUN([AX_PROG_JAVA_CC], +[AC_ARG_VAR([JAVA_CC], [java compiler command])dnl +AC_ARG_VAR([JAVA_CC_FLAGS], [java compiler flags])dnl +m4_ifval([$1], + [AC_CHECK_TOOLS(JAVA_CC, [$1])], +[AC_CHECK_TOOL(JAVA_CC, gcj) +if test -z "$JAVA_CC"; then + AC_CHECK_TOOL(JAVA_CC, javac) +fi +if test -z "$JAVA_CC"; then + AC_CHECK_TOOL(JAVA_CC, jikes) +fi +]) + +if test "$JAVA_CC" = "gcj"; then + if test "$GCJ_OPTS" = ""; then + AC_SUBST(GCJ_OPTS,-C) + fi + AC_SUBST(JAVA_CC_OPTS, @GCJ_OPTS@, + [Define the compilation options for GCJ]) +fi +test -z "$JAVA_CC" && AC_MSG_ERROR([no acceptable java compiler found in \$PATH]) +])# AX_PROG_JAVA_CC diff --git a/m4/autoconf-archive/ax_prog_java_works.m4 b/m4/autoconf-archive/ax_prog_java_works.m4 new file mode 100755 index 0000000000..bc7052619e --- /dev/null +++ b/m4/autoconf-archive/ax_prog_java_works.m4 @@ -0,0 +1,91 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_java_works.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVA_WORKS +# +# DESCRIPTION +# +# Internal use ONLY. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([AC_PROG_JAVA_WORKS], [AX_PROG_JAVA_WORKS]) +AC_DEFUN([AX_PROG_JAVA_WORKS], [ + if test x$ac_cv_prog_javac_works = xno; then + AC_MSG_ERROR([Cannot compile java source. $JAVAC does not work properly]) + fi + if test x$ac_cv_prog_javac_works = x; then + AX_PROG_JAVAC + fi +AC_CACHE_CHECK(if $JAVA works, ac_cv_prog_java_works, [ +JAVA_TEST=Test.java +CLASS_TEST=Test.class +TEST=Test +changequote(, )dnl +cat << \EOF > $JAVA_TEST +/* [#]line __oline__ "configure" */ +public class Test { +public static void main (String args[]) { + System.exit (0); +} } +EOF +changequote([, ])dnl + if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then + : + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD + AC_MSG_ERROR(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)) + fi +if AC_TRY_COMMAND($JAVA -classpath . $JAVAFLAGS $TEST) >/dev/null 2>&1; then + ac_cv_prog_java_works=yes +else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD + AC_MSG_ERROR(The Java VM $JAVA failed (see config.log, check the CLASSPATH?)) +fi +rm -f $JAVA_TEST $CLASS_TEST +]) +AC_PROVIDE([$0])dnl +] +) diff --git a/m4/autoconf-archive/ax_prog_javac.m4 b/m4/autoconf-archive/ax_prog_javac.m4 new file mode 100755 index 0000000000..8abb733fce --- /dev/null +++ b/m4/autoconf-archive/ax_prog_javac.m4 @@ -0,0 +1,79 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javac.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVAC +# +# DESCRIPTION +# +# AX_PROG_JAVAC tests an existing Java compiler. It uses the environment +# variable JAVAC then tests in sequence various common Java compilers. For +# political reasons, it starts with the free ones. +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAVAC=yourcompiler before calling +# AX_PROG_JAVAC +# +# - at the configure level, setenv JAVAC +# +# You can use the JAVAC variable in your Makefile.in, with @JAVAC@. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# TODO: allow to exclude compilers (rationale: most Java programs cannot +# compile with some compilers like guavac). +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([AC_PROG_JAVAC], [AX_PROG_JAVAC]) +AC_DEFUN([AX_PROG_JAVAC],[ +m4_define([m4_ax_prog_javac_list],["gcj -C" guavac jikes javac])dnl +AS_IF([test "x$JAVAPREFIX" = x], + [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list])], + [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list], [], [$JAVAPREFIX/bin])]) +m4_undefine([m4_ax_prog_javac_list])dnl +test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH]) +AX_PROG_JAVAC_WORKS +AC_PROVIDE([$0])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_javac_works.m4 b/m4/autoconf-archive/ax_prog_javac_works.m4 new file mode 100755 index 0000000000..9b48149d80 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_javac_works.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javac_works.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVAC_WORKS +# +# DESCRIPTION +# +# Internal use ONLY. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_PROG_JAVAC_WORKS], [AX_PROG_JAVAC_WORKS]) +AC_DEFUN([AX_PROG_JAVAC_WORKS],[ +AC_CACHE_CHECK([if $JAVAC works], ac_cv_prog_javac_works, [ +JAVA_TEST=Test.java +CLASS_TEST=Test.class +cat << \EOF > $JAVA_TEST +/* [#]line __oline__ "configure" */ +public class Test { +} +EOF +if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes +else + AC_MSG_ERROR([The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)]) + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat $JAVA_TEST >&AS_MESSAGE_LOG_FD +fi +rm -f $JAVA_TEST $CLASS_TEST +]) +AC_PROVIDE([$0])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_javadoc.m4 b/m4/autoconf-archive/ax_prog_javadoc.m4 new file mode 100755 index 0000000000..b9fcea414d --- /dev/null +++ b/m4/autoconf-archive/ax_prog_javadoc.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javadoc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVADOC +# +# DESCRIPTION +# +# AX_PROG_JAVADOC tests for an existing javadoc generator. It uses the +# environment variable JAVADOC then tests in sequence various common +# javadoc generator. +# +# If you want to force a specific compiler: +# +# - at the configure.in level, set JAVADOC=yourgenerator before calling +# AX_PROG_JAVADOC +# +# - at the configure level, setenv JAVADOC +# +# You can use the JAVADOC variable in your Makefile.in, with @JAVADOC@. +# +# Note: This macro depends on the autoconf M4 macros for Java programs. It +# is VERY IMPORTANT that you download that whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. +# +# The general documentation of those macros, as well as the sample +# configure.in, is included in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Egon Willighagen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_PROG_JAVADOC], [AX_PROG_JAVADOC]) +AC_DEFUN([AX_PROG_JAVADOC],[ +AS_IF([test "x$JAVAPREFIX" = x], + [test "x$JAVADOC" = x && AC_CHECK_PROGS([JAVADOC], [javadoc])], + [test "x$JAVADOC" = x && AC_CHECK_PROGS([JAVADOC], [javadoc], [], [$JAVAPREFIX/bin])]) +test "x$JAVADOC" = x && AC_MSG_ERROR([no acceptable javadoc generator found in \$PATH]) +AC_PROVIDE([$0])dnl +]) diff --git a/m4/autoconf-archive/ax_prog_javah.m4 b/m4/autoconf-archive/ax_prog_javah.m4 new file mode 100755 index 0000000000..f7b929d7cb --- /dev/null +++ b/m4/autoconf-archive/ax_prog_javah.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_javah.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_JAVAH +# +# DESCRIPTION +# +# AX_PROG_JAVAH tests the availability of the javah header generator and +# looks for the jni.h header file. If available, JAVAH is set to the full +# path of javah and CPPFLAGS is updated accordingly. +# +# LICENSE +# +# Copyright (c) 2008 Luc Maisonobe +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([AC_PROG_JAVAH], [AX_PROG_JAVAH]) +AC_DEFUN([AX_PROG_JAVAH],[ +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CPP])dnl +AC_PATH_PROG(JAVAH,javah) +AS_IF([test -n "$ac_cv_path_JAVAH"], + [ + AC_TRY_CPP([#include ],,[ + ac_save_CPPFLAGS="$CPPFLAGS" + _ACJAVAH_FOLLOW_SYMLINKS("$ac_cv_path_JAVAH") + ax_prog_javah_bin_dir=`AS_DIRNAME([$_ACJAVAH_FOLLOWED])` + ac_dir="`AS_DIRNAME([$ax_prog_javah_bin_dir])`/include" + AS_CASE([$build_os], + [cygwin*|mingw*], + [ac_machdep=win32], + [ac_machdep=`AS_ECHO($build_os) | sed 's,[[-0-9]].*,,'`]) + CPPFLAGS="$ac_save_CPPFLAGS -I$ac_dir -I$ac_dir/$ac_machdep" + AC_TRY_CPP([#include ], + ac_save_CPPFLAGS="$CPPFLAGS", + AC_MSG_WARN([unable to include ])) + CPPFLAGS="$ac_save_CPPFLAGS"]) + ]) +]) + +AC_DEFUN([_ACJAVAH_FOLLOW_SYMLINKS],[ +# find the include directory relative to the javac executable +_cur="$1" +while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do + AC_MSG_CHECKING([symlink for $_cur]) + _slink=`ls -ld "$_cur" | sed 's/.* -> //'` + case "$_slink" in + /*) _cur="$_slink";; + # 'X' avoids triggering unwanted echo options. + *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[[^/]]*$::'`"$_slink";; + esac + AC_MSG_RESULT([$_cur]) +done +_ACJAVAH_FOLLOWED="$_cur" +]) diff --git a/m4/autoconf-archive/ax_prog_masm.m4 b/m4/autoconf-archive/ax_prog_masm.m4 new file mode 100755 index 0000000000..1d98979c9e --- /dev/null +++ b/m4/autoconf-archive/ax_prog_masm.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_masm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MASM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the MASM assembler and sets the variable "masm" +# to the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_MASM() +# AX_PROG_MASM([masm_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_MASM],[ +AC_CHECK_PROGS(masm,[ml masm ml32 ml64 masm32],no) +if test "x$masm" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([MASM assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_masm_opt.m4 b/m4/autoconf-archive/ax_prog_masm_opt.m4 new file mode 100755 index 0000000000..1480aea141 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_masm_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_masm_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MASM_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the MASM assembler accepts the given option. If +# yes, the option is appended to the variable 'var_name', otherwise +# 'var_name' is unchanged. +# +# Example: +# +# AX_PROG_MASM_OPT([/coff], [MASM_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_MASM_OPT],[ +AC_REQUIRE([AX_PROG_MASM])dnl +AC_MSG_CHECKING([if $masm accepts $1]) +echo '' > conftest.asm +if $masm $$2 $1 conftest.asm > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_md5sum.m4 b/m4/autoconf-archive/ax_prog_md5sum.m4 new file mode 100755 index 0000000000..f3e1c12933 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_md5sum.m4 @@ -0,0 +1,34 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_md5sum.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MD5SUM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro find a md5sum application and set the variable md5sum to the +# name of the application or to no if not found if ACTION-IF-NOT-FOUND is +# not specified, configure fail when then application is not found. +# +# LICENSE +# +# Copyright (c) 2009 Gabriele Bartolini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_PROG_MD5SUM],[ +# Mac users have md5 instead of md5sum +AC_CHECK_PROGS(md5sum,[md5sum md5],no) +if test $md5sum = "no" ; +then + ifelse($#,0,[AC_MSG_ERROR([Unable to find the md5sum application (or equivalent)])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_modprobe.m4 b/m4/autoconf-archive/ax_prog_modprobe.m4 new file mode 100755 index 0000000000..3ae7010885 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_modprobe.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_modprobe.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MODPROBE +# +# DESCRIPTION +# +# This macro searches for a modprobe command, such as can be found on +# Linux systems with loadable kernel module support. PATH is checked +# first, then the default location(s). +# +# This is one of several autoconf macros intended to assist in configuring +# and installing loadable kernel modules. +# +# LICENSE +# +# Copyright (c) 2008 Kaelin Colclasure +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_PROG_MODPROBE], [AX_PROG_MODPROBE]) +AC_DEFUN([AX_PROG_MODPROBE],[ +AC_PATH_PROG(MODPROBE, modprobe, , $PATH:/sbin) +if test -z "$MODPROBE"; then + AC_MSG_WARN([no support for loadable kernel modules]) +else + AC_MSG_CHECKING([for module_prefix]) + module_prefix=`$MODPROBE -c | grep path.kernel.= \ + | sed -e '2,$d' -e 's/.*=//' -e 's/.kernel//'` + AC_MSG_RESULT($module_prefix) + AC_SUBST(module_prefix) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_mysql.m4 b/m4/autoconf-archive/ax_prog_mysql.m4 new file mode 100755 index 0000000000..a516d3b7b0 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_mysql.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_mysql.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MYSQL +# +# DESCRIPTION +# +# Check for the program 'mysql' let script continue if exists & works pops +# up error message if not. +# +# Testing of functionality is by invoking it with root password 'rootpass' +# and a 'SELECT * FROM user' SQL statement. That SQL statement will select +# all user information from the 'user' privileges table, and should work +# on every proper MySQL server. +# +# Besides checking mysql, this macro also set these environment variables +# upon completion: +# +# MYSQL = which mysql +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_MYSQL], [AX_PROG_MYSQL]) +AC_DEFUN([AX_PROG_MYSQL],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(MYSQL, mysql$EXEEXT, nocommand) +if test "$MYSQL" = nocommand; then + AC_MSG_ERROR([mysql not found in $PATH]) +fi +AC_MSG_CHECKING([if mysql works]) +if echo 'SELECT * FROM user' | $MYSQL -u root -prootpass mysql > /dev/null; then + AC_MSG_RESULT([yes]) +else + AC_MSG_NOTICE([Before installation, set MySQL root password to rootpass; restore your root password afterwards.]) + AC_MSG_ERROR([mysql cannot execute SELECT with root password = rootpass]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_mysqladmin.m4 b/m4/autoconf-archive/ax_prog_mysqladmin.m4 new file mode 100755 index 0000000000..5a79e1d205 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_mysqladmin.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_mysqladmin.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MYSQLADMIN +# +# DESCRIPTION +# +# Check for the program 'mysqladmin' let script continue if exists & works +# pops up error message if not. +# +# Testing of functionality is by invoking it with root password 'rootpass' +# and a 'flush-privileges' command. +# +# Besides checking mysql, this macro also set these environment variables +# upon completion: +# +# MYSQLADMIN = which mysqladmin +# MYSQL_DATADIR = directory containing mysql database +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_PROG_MYSQLADMIN], [AX_PROG_MYSQLADMIN]) +AC_DEFUN([AX_PROG_MYSQLADMIN],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(MYSQLADMIN, mysqladmin$EXEEXT, nocommand) +if test "$MYSQLADMIN" = nocommand; then + AC_MSG_ERROR([mysqladmin not found in $PATH]) +fi +AC_MSG_CHECKING([if mysqladmin works]) +if $MYSQLADMIN -u root -prootpass flush-privileges; then + AC_MSG_RESULT([yes]) +else + AC_MSG_NOTICE([Before installation, set MySQL root password to rootpass; restore your root password afterwards.]) + AC_MSG_ERROR([mysqladmin cannot run with root password = rootpass]) +fi +DATADIR_PATTERN='^|[[[:blank:]]]*datadir[[[:blank:]]]*|[[[:blank:]]]*\([[^[:blank:]]][[^[:blank:]]]*\)[[[:blank:]]]*|' +MYSQL_DATADIR=`$MYSQLADMIN -u root -prootpass variables 2> /dev/null | grep $DATADIR_PATTERN | sed "s/$DATADIR_PATTERN/\1/"`;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_mysqld.m4 b/m4/autoconf-archive/ax_prog_mysqld.m4 new file mode 100755 index 0000000000..029de29692 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_mysqld.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_mysqld.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MYSQLD +# +# DESCRIPTION +# +# Check for the program 'mysqld' let script continue if exists & works +# pops up error message if not. +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# MYSQLD = which mysqld +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_PROG_MYSQLD], [AX_PROG_MYSQLD]) +AC_DEFUN([AX_PROG_MYSQLD],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(MYSQLD, mysqld$EXEEXT, nocommand) +if test "$MYSQLD" = nocommand; then + AC_MSG_ERROR([mysqld not found in $PATH]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_mysqlimport.m4 b/m4/autoconf-archive/ax_prog_mysqlimport.m4 new file mode 100755 index 0000000000..e345423200 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_mysqlimport.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_mysqlimport.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MYSQLIMPORT +# +# DESCRIPTION +# +# Check for the program 'mysqlimport', let script continue if exists, pops +# up error message if not. +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# MYSQLIMPORT = which mysqlimport +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_MYSQLIMPORT], [AX_PROG_MYSQLIMPORT]) +AC_DEFUN([AX_PROG_MYSQLIMPORT],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(MYSQLIMPORT, mysqlimport$EXEEXT, nocommand) +if test "$MYSQLIMPORT" = nocommand; then + AC_MSG_ERROR([mysqlimport not found in $PATH]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_mysqlshow.m4 b/m4/autoconf-archive/ax_prog_mysqlshow.m4 new file mode 100755 index 0000000000..e28c5ca47f --- /dev/null +++ b/m4/autoconf-archive/ax_prog_mysqlshow.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_mysqlshow.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_MYSQLSHOW +# +# DESCRIPTION +# +# Check for the program 'mysqlshow' let script continue if exists & works +# pops up error message if not. +# +# Testing of functionality is by invoking it with root password +# 'rootpass'. If it works, it should show all databases currently in +# system. +# +# Besides checking mysql, this macro also set these environment variables +# upon completion: +# +# MYSQLSHOW = which mysqlshow +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_MYSQLSHOW], [AX_PROG_MYSQLSHOW]) +AC_DEFUN([AX_PROG_MYSQLSHOW],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(MYSQLSHOW, mysqlshow$EXEEXT, nocommand) +if test "$MYSQLSHOW" = nocommand; then + AC_MSG_ERROR([mysqlshow not found in $PATH]) +fi +AC_MSG_CHECKING([if mysqlshow works]) +if $MYSQLSHOW -u root -prootpass > /dev/null; then + AC_MSG_RESULT([yes]) +else + AC_MSG_NOTICE([Before installation, set MySQL root password to rootpass; restore your root password afterwards.]) + AC_MSG_ERROR([mysqlshow cannot run with root password = rootpass]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_nasm.m4 b/m4/autoconf-archive/ax_prog_nasm.m4 new file mode 100755 index 0000000000..527e23374b --- /dev/null +++ b/m4/autoconf-archive/ax_prog_nasm.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_nasm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_NASM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the NASM assembler and sets the variable "nasm" +# to the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_NASM() +# AX_PROG_NASM([nasm_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_NASM],[ +AC_CHECK_PROGS(nasm,[nasm nasmw],no) +if test "x$nasm" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([NASM assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_nasm_opt.m4 b/m4/autoconf-archive/ax_prog_nasm_opt.m4 new file mode 100755 index 0000000000..96bfe9f839 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_nasm_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_nasm_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_NASM_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the NASM assembler accepts the given option. If +# yes, the option is appended to the variable 'var_name', otherwise +# 'var_name' is unchanged. +# +# Example: +# +# AX_PROG_NASM_OPT([-f obj], [NASM_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_NASM_OPT],[ +AC_REQUIRE([AX_PROG_NASM])dnl +AC_MSG_CHECKING([if $nasm accepts $1]) +echo '' > conftest.asm +if $nasm $$2 $1 conftest.asm > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_perl_modules.m4 b/m4/autoconf-archive/ax_prog_perl_modules.m4 new file mode 100755 index 0000000000..70b3230ebd --- /dev/null +++ b/m4/autoconf-archive/ax_prog_perl_modules.m4 @@ -0,0 +1,77 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_perl_modules.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_PERL_MODULES([MODULES], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Checks to see if the given perl modules are available. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. Note if $PERL is not set (for example by +# calling AC_CHECK_PROG, or AC_PATH_PROG), AC_CHECK_PROG(PERL, perl, perl) +# will be run. +# +# MODULES is a space separated list of module names. To check for a +# minimum version of a module, append the version number to the module +# name, separated by an equals sign. +# +# Example: +# +# AX_PROG_PERL_MODULES( Text::Wrap Net::LDAP=1.0.3, , +# AC_MSG_WARN(Need some Perl modules) +# +# LICENSE +# +# Copyright (c) 2009 Dean Povey +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([AC_PROG_PERL_MODULES], [AX_PROG_PERL_MODULES]) +AC_DEFUN([AX_PROG_PERL_MODULES],[dnl + +m4_define([ax_perl_modules]) +m4_foreach([ax_perl_module], m4_split(m4_normalize([$1])), + [ + m4_append([ax_perl_modules], + [']m4_bpatsubst(ax_perl_module,=,[ ])[' ]) + ]) + +# Make sure we have perl +if test -z "$PERL"; then +AC_CHECK_PROG(PERL,perl,perl) +fi + +if test "x$PERL" != x; then + ax_perl_modules_failed=0 + for ax_perl_module in ax_perl_modules; do + AC_MSG_CHECKING(for perl module $ax_perl_module) + + # Would be nice to log result here, but can't rely on autoconf internals + $PERL -e "use $ax_perl_module; exit" > /dev/null 2>&1 + if test $? -ne 0; then + AC_MSG_RESULT(no); + ax_perl_modules_failed=1 + else + AC_MSG_RESULT(ok); + fi + done + + # Run optional shell commands + if test "$ax_perl_modules_failed" = 0; then + : + $2 + else + : + $3 + fi +else + AC_MSG_WARN(could not find perl) +fi])dnl diff --git a/m4/autoconf-archive/ax_prog_perl_version.m4 b/m4/autoconf-archive/ax_prog_perl_version.m4 new file mode 100755 index 0000000000..46a8a4e6ab --- /dev/null +++ b/m4/autoconf-archive/ax_prog_perl_version.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_perl_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_PERL_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that perl supports the version indicated. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. Note if $PERL is not set (for example by +# running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail. +# +# Example: +# +# AC_PATH_PROG([PERL],[perl]) +# AX_PROG_PERL_VERSION([5.8.0],[ ... ],[ ... ]) +# +# This will check to make sure that the perl you have supports at least +# version 5.8.0. +# +# NOTE: This macro uses the $PERL variable to perform the check. +# AX_WITH_PERL can be used to set that variable prior to running this +# macro. The $PERL_VERSION variable will be valorized with the detected +# version. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_PROG_PERL_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + + AS_IF([test -n "$PERL"],[ + ax_perl_version="$1" + + AC_MSG_CHECKING([for perl version]) + changequote(<<,>>) + perl_version=`$PERL --version 2>&1 \ + | $SED -n -e '/This is perl/b inspect +b +: inspect +s/.* (\{0,1\}v\([0-9]*\.[0-9]*\.[0-9]*\))\{0,1\} .*/\1/;p'` + changequote([,]) + AC_MSG_RESULT($perl_version) + + AC_SUBST([PERL_VERSION],[$perl_version]) + + AX_COMPARE_VERSION([$ax_perl_version],[le],[$perl_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find the perl interpreter]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_pgclient.m4 b/m4/autoconf-archive/ax_prog_pgclient.m4 new file mode 100755 index 0000000000..9fa75e7c93 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_pgclient.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_pgclient.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_PGCLIENT() +# +# DESCRIPTION +# +# This macro searches for a program called 'pgclient'. If found the +# variable $pgclient is set to its path. Else it is set to 0. An option is +# added to the configure script for setting an search path instead of +# $PATH ($pgclient_dir). If pgclient is necessary for installing your +# program, you can do something like the following to stop configure with +# an error if pgclient wasn't found: +# +# if test "x$pgclient" = "x0"; then AC_MSG_ERROR([We need that to setup the database!]); fi +# +# pgclient can be found at http://pgclient.freesources.org +# +# LICENSE +# +# Copyright (c) 2008 Moritz Sinn +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([MS_PROG_PGCLIENT], [AX_PROG_PGCLIENT]) +AC_DEFUN([AX_PROG_PGCLIENT], [ +AC_ARG_WITH(pgclient, [ --with-pgclient=DIR where to find pgclient (default: $PATH)], [pgclient_dir=$withval], [pgclient_dir=$PATH]) +AC_PATH_PROG([pgclient], [pgclient], [0], $pgclient_dir) +])dnl diff --git a/m4/autoconf-archive/ax_prog_python_version.m4 b/m4/autoconf-archive/ax_prog_python_version.m4 new file mode 100755 index 0000000000..dbc3dbf1da --- /dev/null +++ b/m4/autoconf-archive/ax_prog_python_version.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_python_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_PYTHON_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that python supports the version indicated. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. Note if $PYTHON is not set (for example by +# running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail. +# +# Example: +# +# AC_PATH_PROG([PYTHON],[python]) +# AX_PROG_PYTHON_VERSION([2.4.4],[ ... ],[ ... ]) +# +# This will check to make sure that the python you have supports at least +# version 2.4.4. +# +# NOTE: This macro uses the $PYTHON variable to perform the check. +# AX_WITH_PYTHON can be used to set that variable prior to running this +# macro. The $PYTHON_VERSION variable will be valorized with the detected +# version. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_PROG_PYTHON_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + + AS_IF([test -n "$PYTHON"],[ + ax_python_version="$1" + + AC_MSG_CHECKING([for python version]) + changequote(<<,>>) + python_version=`$PYTHON -V 2>&1 | $GREP "^Python " | $SED -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\)/\1/'` + changequote([,]) + AC_MSG_RESULT($python_version) + + AC_SUBST([PYTHON_VERSION],[$python_version]) + + AX_COMPARE_VERSION([$ax_python_version],[le],[$python_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find the python interpreter]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_ruby_version.m4 b/m4/autoconf-archive/ax_prog_ruby_version.m4 new file mode 100755 index 0000000000..fbba82d9d1 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_ruby_version.m4 @@ -0,0 +1,66 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_ruby_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_RUBY_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# Makes sure that ruby supports the version indicated. If true the shell +# commands in ACTION-IF-TRUE are executed. If not the shell commands in +# ACTION-IF-FALSE are run. Note if $RUBY is not set (for example by +# running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail. +# +# Example: +# +# AC_PATH_PROG([RUBY],[ruby]) +# AC_PROG_RUBY_VERSION([1.8.0],[ ... ],[ ... ]) +# +# This will check to make sure that the ruby you have supports at least +# version 1.6.0. +# +# NOTE: This macro uses the $RUBY variable to perform the check. +# AX_WITH_PROG([RUBY],[ruby],[VALUE-IF-NOT-FOUND],[PATH]) can be used to +# set that variable prior to running this macro. The $RUBY_VERSION +# variable will be valorized with the detected version. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 12 + +AC_DEFUN([AX_PROG_RUBY_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + + AS_IF([test -n "$RUBY"],[ + ax_ruby_version="$1" + + AC_MSG_CHECKING([for ruby version]) + changequote(<<,>>) + ruby_version=`$RUBY --version 2>&1 | $GREP "^ruby " | $SED -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\) .*/\1/'` + changequote([,]) + AC_MSG_RESULT($ruby_version) + + AC_SUBST([RUBY_VERSION],[$ruby_version]) + + AX_COMPARE_VERSION([$ax_ruby_version],[le],[$ruby_version],[ + : + $2 + ],[ + : + $3 + ]) + ],[ + AC_MSG_WARN([could not find the ruby interpreter]) + $3 + ]) +]) diff --git a/m4/autoconf-archive/ax_prog_scala.m4 b/m4/autoconf-archive/ax_prog_scala.m4 new file mode 100755 index 0000000000..306df78120 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_scala.m4 @@ -0,0 +1,35 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_scala.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_SCALA +# +# DESCRIPTION +# +# AX_PROG_SCALA will check that scala is available. If it is SCALA will be +# set to its path and SCALA_VERSION will be set to its version. +# +# Hint: AX_COMPARE_VERSION can be used to check if SCALA_VERSION has an +# acceptable value. +# +# LICENSE +# +# Copyright (c) 2013 Sveinung Kvilhaugsvik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_ARG_VAR(SCALA, [scala runner]) + +AC_DEFUN([AX_PROG_SCALA], [ + AC_CHECK_PROGS(SCALA, [scala]) + AS_IF([test x"$SCALA" != x], [ + AC_SUBST(SCALA_VERSION, `"$SCALA" -e "println(util.Properties.versionString.split(\" \")(1))"`) + AC_MSG_NOTICE([Scala version $SCALA_VERSION found]) + ], AC_MSG_WARN([Scala not found]))]) diff --git a/m4/autoconf-archive/ax_prog_scalac.m4 b/m4/autoconf-archive/ax_prog_scalac.m4 new file mode 100755 index 0000000000..3e1ea509ea --- /dev/null +++ b/m4/autoconf-archive/ax_prog_scalac.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_scalac.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_SCALAC +# +# DESCRIPTION +# +# AX_PROG_SCALAC will check that a scala compiler is available, that it +# works and set SCALAC for the Makefile. +# +# AX_PROG_SCALAC will search the path for a Scala compiler. To choose +# another compiler use the environment variable SCALAC. +# +# LICENSE +# +# Copyright (c) 2013 Sveinung Kvilhaugsvik +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_ARG_VAR(SCALAC, [scala compiler]) + +AC_DEFUN([AX_PROG_SCALAC], [ + AC_CHECK_PROGS(SCALAC, [scalac]) + AS_IF([test x"$SCALAC" != x], [ + AC_CACHE_VAL(ax_cv_scalac_works, [ + AC_MSG_CHECKING([if the Scala compiler works]) + + TESTFILE=conftest.scala + echo ["object conftest {"] > $TESTFILE + echo [" def main(args: Array[String]): Unit = return"] >> $TESTFILE + echo ["}"] >> $TESTFILE + + [$SCALAC $TESTFILE && ax_cv_scalac_works=yes || ax_cv_scalac_works=no] + AC_MSG_RESULT($ax_cv_scalac_works) + + AS_IF([test x"$ax_cv_scalac_works" != xyes], [ + AC_MSG_ERROR([Scala compiler does not work. Unable to compile $TESTFILE]) + ]) + ]) + ], AC_MSG_WARN([Scala compiler not found])) +]) diff --git a/m4/autoconf-archive/ax_prog_scp.m4 b/m4/autoconf-archive/ax_prog_scp.m4 new file mode 100755 index 0000000000..1fbf28f0d8 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_scp.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_scp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_SCP +# +# DESCRIPTION +# +# Check for the program 'scp', let script continue if exists, pops up +# error message if not. +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# SCP = which scp +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_SCP], [AX_PROG_SCP]) +AC_DEFUN([AX_PROG_SCP],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(SCP, scp$EXEEXT, nocommand) +if test "$SCP" = nocommand; then + AC_MSG_ERROR([scp not found in $PATH]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_splint.m4 b/m4/autoconf-archive/ax_prog_splint.m4 new file mode 100755 index 0000000000..931b745fc9 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_splint.m4 @@ -0,0 +1,98 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_splint.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_SPLINT([AX_SPLINTFLAGS]) +# +# DESCRIPTION +# +# Check for program splint, the static C code checking tool. The splint +# URL is given by http://www.splint.org. This macro should be use together +# with automake. +# +# Enables following environment variables: +# +# SPLINT +# SPLINTFLAGS +# +# and AX_SPLINTFLAGS is given by AC_SUBST. If AX_SPLINTFLAGS is not given +# by AX_PROG_SPLINT it defaults to "-weak". +# +# Enables the following make target: +# +# splint-check +# +# which runs splint per PROGRAMS and LIBRARIES. Output from splint run is +# collected in file ***_splint.log where *** is given by the PROGRAMS or +# LIBRARIES name. +# +# The following line is required in Makefile.am: +# +# include aminclude_static.am +# +# LICENSE +# +# Copyright (c) 2011 Henrik Uhrenholt +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_PROG_SPLINT], +[ +AC_REQUIRE([AX_ADD_AM_MACRO_STATIC]) +AC_ARG_VAR([SPLINT], [splint executable]) +AC_ARG_VAR([SPLINTFLAGS], [splint flags]) +if test "x$SPLINT" = "x"; then + AC_CHECK_PROGS([SPLINT], [splint]) +fi +if test "x$SPLINT" != "x"; then + ax_splintflags=$1 + if test "x$1" = "x"; then + ax_splintflags=-weak + fi + AC_SUBST([AX_SPLINTFLAGS], [$ax_splintflags]) + ax_prog_splint_enable=yes +else + AC_MSG_WARN([splint support disabled]) + ax_prog_splint_enable=no +fi +AM_CONDITIONAL([ax_prog_splint_enable], [test x"$ax_prog_splint_enable" = x"yes"]) + +AX_ADD_AM_MACRO_STATIC([ +if ax_prog_splint_enable + +define splint_rules +\$(1)_splint.log: \$${AX_DOLLAR}(\$(1)_OBJECTS) + -\$(SPLINT) \$(AX_SPLINTFLAGS) \$(SPLINTFLAGS) \$(AM_SPLINTFLAGS) \$(DEFAULT_INCLUDES) \$(AM_CPPFLAGS) +error-stream-stdout +warning-stream-stdout \$${AX_DOLLAR}(addprefix \$(srcdir)/,\$${AX_DOLLAR}(\$(1)_SOURCES)) > \$${AX_DOLLAR}@ +endef + + +SPLINT_BIN=\$(subst /,_,\$(PROGRAMS:\$(EXEEXT)=)) +SPLINT_LIB=\$(subst /,_,\$(LIBRARIES:.a=_a)) +SPLINT_LTLIB=\$(subst /,_,\$(LTLIBRARIES:.la=_la)) +SPLINTFILES=\$(addsuffix _splint.log,\$(SPLINT_LIB) \$(SPLINT_BIN) \$(SPLINT_LTLIB)) + +splint-check: all \$(SPLINTFILES) + +\$(foreach bin, \$(SPLINT_BIN) \$(SPLINT_LIB) \$(SPLINT_LTLIB),\$(eval \$(call splint_rules,\$(bin)))) + + + + +endif + +.PHONY: clean-local-splint distclean-local-splint +clean-local: clean-local-splint +clean-local-splint: + -test -z \"\$(SPLINTFILES)\" || rm -f \$(SPLINTFILES) + +distclean-local: distclean-local-splint +distclean-local-splint: clean-local-splint +]) +]) diff --git a/m4/autoconf-archive/ax_prog_ssh.m4 b/m4/autoconf-archive/ax_prog_ssh.m4 new file mode 100755 index 0000000000..850d522e87 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_ssh.m4 @@ -0,0 +1,58 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_ssh.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_SSH +# +# DESCRIPTION +# +# Check for the program 'ssh', let script continue if exists, pops up +# error message if not. +# +# Besides checking existence, this macro also set these environment +# variables upon completion: +# +# SSH = which ssh +# +# LICENSE +# +# Copyright (c) 2008 Gleen Salmon +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROG_SSH], [AX_PROG_SSH]) +AC_DEFUN([AX_PROG_SSH],[ +AC_REQUIRE([AC_EXEEXT])dnl +AC_PATH_PROG(SSH, ssh$EXEEXT, nocommand) +if test "$SSH" = nocommand; then + AC_MSG_ERROR([ssh not found in $PATH]) +fi;dnl +]) diff --git a/m4/autoconf-archive/ax_prog_tasm.m4 b/m4/autoconf-archive/ax_prog_tasm.m4 new file mode 100755 index 0000000000..00c786f3f8 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_tasm.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_tasm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_TASM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the TASM assembler and sets the variable "tasm" +# to the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_TASM() +# AX_PROG_TASM([tasm_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_TASM],[ +AC_CHECK_PROGS(tasm,[tasm tasm32 tasmx],no) +if test "x$tasm" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([TASM assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_tasm_opt.m4 b/m4/autoconf-archive/ax_prog_tasm_opt.m4 new file mode 100755 index 0000000000..47efe7fd94 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_tasm_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_tasm_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_TASM_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the TASM assembler accepts the given option. If +# yes, the option is appended to the variable 'var_name', otherwise +# 'var_name' is unchanged. +# +# Example: +# +# AX_PROG_TASM_OPT([/z], [TASM_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_TASM_OPT],[ +AC_REQUIRE([AX_PROG_TASM])dnl +AC_MSG_CHECKING([if $tasm accepts $1]) +echo '' > conftest.asm +if $tasm $$2 $1 conftest.asm > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_tcl.m4 b/m4/autoconf-archive/ax_prog_tcl.m4 new file mode 100755 index 0000000000..8fd11bb1c4 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_tcl.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_tcl.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_TCL([min-version]) +# +# DESCRIPTION +# +# Searches for tcl (tclsh and wish) in PATH and checks which version is +# installed. The macro bails out if either tcl is not found or the minimum +# version is not satisfied, unless minimum version is "0". +# +# Example: +# +# AX_PROG_TCL +# +# This checks for tcl and if not found, exits with an error. If found, it +# prints tcl path and version number. +# +# AX_PROG_TCL([8.0]) +# +# Checks for tcl and exits with an error if its not found or the version +# is below 8.0. +# +# LICENSE +# +# Copyright (c) 2008 David Cluytens +# Copyright (c) 2008 Uwe Mayer +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_PROG_TCL], [ +#-- check for tclsh in PATH +AC_PATH_PROG([TCLSH], [tclsh], [no]) +if [(test x"$TCLSH" == x"no") && (test x"$1" != x"0")]; then + AC_MSG_ERROR([tclsh not found]) +fi + +#-- check for wish in PATH +AC_PATH_PROG([WISH], [wish], [no]) + +#-- check vor tcl version +AC_MSG_CHECKING([tcl version]) +version=`echo "puts [[set tcl_version]]" | tclsh -` +AC_MSG_RESULT([$version]) + +#-- compare tcl version with min-version +required=$1 +if [(test x"$1" != x"") && (test "${required/./}" -gt "${version/./}")]; then + AC_MSG_ERROR([tcl version $1 required]) +fi +])dnl diff --git a/m4/autoconf-archive/ax_prog_xsltproc.m4 b/m4/autoconf-archive/ax_prog_xsltproc.m4 new file mode 100755 index 0000000000..d53bdde4f5 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_xsltproc.m4 @@ -0,0 +1,97 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_xsltproc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_XSLTPROC([default-flags]) +# +# DESCRIPTION +# +# Find an xsltproc executable. +# +# Input: +# +# "default-flags" is the default $XSLTPROC_FLAGS, which will be overridden +# if the user specifies --with-xsltproc-flags. +# +# Output: +# +# $XSLTPROC contains the path to xsltproc, or is empty if none was found +# or the user specified --without-xsltproc. $XSLTPROC_FLAGS contains the +# flags to use with xsltproc. +# +# LICENSE +# +# Copyright (c) 2008,2009 Zmanda Inc. +# Copyright (c) 2008,2009 Dustin J. Mitchell +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AU_ALIAS([AC_PROG_XSLTPROC], [AX_PROG_XSLTPROC]) +AC_DEFUN([AX_PROG_XSLTPROC], +[ +XSLTPROC_FLAGS="$1" +AC_SUBST(XSLTPROC_FLAGS) + +# The (lack of) whitespace and overquoting here are all necessary for +# proper formatting. +AC_ARG_WITH(xsltproc, +AS_HELP_STRING([--with-xsltproc[[[[[=PATH]]]]]], + [Use the xsltproc binary in PATH.]), + [ ac_with_xsltproc=$withval; ], + [ ac_with_xsltproc=maybe; ]) + +AC_ARG_WITH(xsltproc-flags, +AS_HELP_STRING([ --with-xsltproc-flags=FLAGS], + [Flags to pass to xsltproc (default $1)]), + [ if test "x$withval" = "xno"; then + XSLTPROC_FLAGS='' + else + if test "x$withval" != "xyes"; then + XSLTPROC_FLAGS="$withval" + fi + fi + ]) + +# search for xsltproc if it wasn't specified +if test "$ac_with_xsltproc" = "yes" -o "$ac_with_xsltproc" = "maybe"; then + AC_PATH_PROGS(XSLTPROC,xsltproc) +else + if test "$ac_with_xsltproc" != "no"; then + if test -x "$ac_with_xsltproc"; then + XSLTPROC="$ac_with_xsltproc"; + else + AC_MSG_WARN([Specified xsltproc of $ac_with_xsltproc isn't]) + AC_MSG_WARN([executable; searching for an alternative.]) + AC_PATH_PROGS(XSLTPROC,xsltproc) + fi + fi +fi +]) diff --git a/m4/autoconf-archive/ax_prog_yasm.m4 b/m4/autoconf-archive/ax_prog_yasm.m4 new file mode 100755 index 0000000000..9e2d1eb108 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_yasm.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_yasm.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_YASM([ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro searches for the YASM assembler and sets the variable "yasm" +# to the name of the application or to "no" if not found. If +# ACTION-IF-NOT-FOUND is not specified, configure will fail when the +# program is not found. +# +# Example: +# +# AX_PROG_YASM() +# AX_PROG_YASM([yasm_avail="no"]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_YASM],[ +AC_CHECK_PROGS(yasm,[yasm],no) +if test "x$yasm" = "xno" ; +then + ifelse($#,0,[AC_MSG_ERROR([YASM assembler not found])], + $1) +fi +]) diff --git a/m4/autoconf-archive/ax_prog_yasm_opt.m4 b/m4/autoconf-archive/ax_prog_yasm_opt.m4 new file mode 100755 index 0000000000..7087cc0182 --- /dev/null +++ b/m4/autoconf-archive/ax_prog_yasm_opt.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_yasm_opt.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_YASM_OPT(option, var_name) +# +# DESCRIPTION +# +# This macro checks if the YASM assembler accepts the given option. If +# yes, the option is appended to the variable 'var_name', otherwise +# 'var_name' is unchanged. +# +# Example: +# +# AX_PROG_YASM_OPT([-f bin], [YASM_OPTS]) +# +# LICENSE +# +# Copyright (c) 2007,2009 Bogdan Drozdowski +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_PROG_YASM_OPT],[ +AC_REQUIRE([AX_PROG_YASM])dnl +AC_MSG_CHECKING([if $yasm accepts $1]) +echo '' > conftest.asm +if $yasm $$2 $1 conftest.asm > conftest.err; then + $2="$$2 $1" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +]) diff --git a/m4/autoconf-archive/ax_prototype.m4 b/m4/autoconf-archive/ax_prototype.m4 new file mode 100755 index 0000000000..2f7588ace1 --- /dev/null +++ b/m4/autoconf-archive/ax_prototype.m4 @@ -0,0 +1,233 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prototype.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROTOTYPE(function, includes, code, TAG1, values1 [, TAG2, values2 [...]]) +# +# DESCRIPTION +# +# Try all the combinations of , ... to successfully compile +# . , , ... are substituted in and with +# values found in , , ... respectively. , +# , ... contain a list of possible values for each corresponding +# tag and all combinations are tested. When AC_TRY_COMPILE(include, code) +# is successful for a given substitution, the macro stops and defines the +# following macros: FUNCTION_TAG1, FUNCTION_TAG2, ... using AC_DEFINE() +# with values set to the current values of , , ... If no +# combination is successful the configure script is aborted with a +# message. +# +# Intended purpose is to find which combination of argument types is +# acceptable for a given function . It is recommended to list +# the most specific types first. For instance ARG1, [size_t, int] instead +# of ARG1, [int, size_t]. +# +# Generic usage pattern: +# +# 1) add a call in configure.in +# +# AX_PROTOTYPE(...) +# +# 2) call autoheader to see which symbols are not covered +# +# 3) add the lines in acconfig.h +# +# /* Type of Nth argument of function */ +# #undef FUNCTION_ARGN +# +# 4) Within the code use FUNCTION_ARGN instead of an hardwired type +# +# Complete example: +# +# 1) configure.in +# +# AX_PROTOTYPE(getpeername, +# [ +# #include +# #include +# ], +# [ +# int a = 0; +# ARG2 * b = 0; +# ARG3 * c = 0; +# getpeername(a, b, c); +# ], +# ARG2, [struct sockaddr, void], +# ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int]) +# +# 2) call autoheader +# +# autoheader: Symbol `GETPEERNAME_ARG2' is not covered by ./acconfig.h +# autoheader: Symbol `GETPEERNAME_ARG3' is not covered by ./acconfig.h +# +# 3) acconfig.h +# +# /* Type of second argument of getpeername */ +# #undef GETPEERNAME_ARG2 +# +# /* Type of third argument of getpeername */ +# #undef GETPEERNAME_ARG3 +# +# 4) in the code +# +# ... +# GETPEERNAME_ARG2 name; +# GETPEERNAME_ARG3 namelen; +# ... +# ret = getpeername(socket, &name, &namelen); +# ... +# +# Implementation notes: generating all possible permutations of the +# arguments is not easily done with the usual mixture of shell and m4, +# that is why this macro is almost 100% m4 code. It generates long but +# simple to read code. +# +# LICENSE +# +# Copyright (c) 2009 Loic Dachary +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([AC_PROTOTYPE], [AX_PROTOTYPE]) +AC_DEFUN([AX_PROTOTYPE],[ +dnl +dnl Upper case function name +dnl + pushdef([function],translit([$1], [a-z], [A-Z])) +dnl +dnl Collect tags that will be substituted +dnl + pushdef([tags],[AX_PROTOTYPE_TAGS(builtin([shift],builtin([shift],builtin([shift],$@))))]) +dnl +dnl Wrap in a 1 time loop, when a combination is found break to stop the combinatory exploration +dnl + for i in 1 + do + AX_PROTOTYPE_LOOP(AX_PROTOTYPE_REVERSE($1, AX_PROTOTYPE_SUBST($2,tags),AX_PROTOTYPE_SUBST($3,tags),builtin([shift],builtin([shift],builtin([shift],$@))))) + AC_MSG_ERROR($1 unable to find a working combination) + done + popdef([tags]) + popdef([function]) +]) + +dnl +dnl AX_PROTOTYPE_REVERSE(list) +dnl +dnl Reverse the order of the +dnl +AC_DEFUN([AX_PROTOTYPE_REVERSE],[ifelse($#,0,,$#,1,[[$1]],[AX_PROTOTYPE_REVERSE(builtin([shift],$@)),[$1]])]) + +dnl +dnl AX_PROTOTYPE_SUBST(string, tag) +dnl +dnl Substitute all occurence of in with _VAL. +dnl Assumes that tag_VAL is a macro containing the value associated to tag. +dnl +AC_DEFUN([AX_PROTOTYPE_SUBST],[ifelse($2,,[$1],[AX_PROTOTYPE_SUBST(patsubst([$1],[$2],[$2[]_VAL]),builtin([shift],builtin([shift],$@)))])]) + +dnl +dnl AX_PROTOTYPE_TAGS([tag, values, [tag, values ...]]) +dnl +dnl Generate a list of by skipping . +dnl +AC_DEFUN([AX_PROTOTYPE_TAGS],[ifelse($1,,[],[$1, AX_PROTOTYPE_TAGS(builtin([shift],builtin([shift],$@)))])]) + +dnl +dnl AX_PROTOTYPE_DEFINES(tags) +dnl +dnl Generate a AC_DEFINE(function_tag, tag_VAL) for each tag in list +dnl Assumes that function is a macro containing the name of the function in upper case +dnl and that tag_VAL is a macro containing the value associated to tag. +dnl +AC_DEFUN([AX_PROTOTYPE_DEFINES],[ifelse($1,,[], + [AC_DEFINE(function[]_$1, $1_VAL) + AC_SUBST(function[]_$1, "$1_VAL") + AX_PROTOTYPE_DEFINES(builtin([shift],$@))])]) + +dnl +dnl AX_PROTOTYPE_STATUS(tags) +dnl +dnl Generates a message suitable for argument to AC_MSG_* macros. For each tag +dnl in the list the message tag => tag_VAL is generated. +dnl Assumes that tag_VAL is a macro containing the value associated to tag. +dnl +AC_DEFUN([AX_PROTOTYPE_STATUS],[ifelse($1,,[],[$1 => $1_VAL AX_PROTOTYPE_STATUS(builtin([shift],$@))])]) + +dnl +dnl AX_PROTOTYPE_EACH(tag, values) +dnl +dnl Call AX_PROTOTYPE_LOOP for each values and define the macro tag_VAL to +dnl the current value. +dnl +AC_DEFUN([AX_PROTOTYPE_EACH],[ + ifelse($2,, [ + ], [ + pushdef([$1_VAL], $2) + AX_PROTOTYPE_LOOP(rest) + popdef([$1_VAL]) + AX_PROTOTYPE_EACH($1, builtin([shift], builtin([shift], $@))) + ]) +]) + +dnl +dnl AX_PROTOTYPE_LOOP([tag, values, [tag, values ...]], code, include, function) +dnl +dnl If there is a tag/values pair, call AX_PROTOTYPE_EACH with it. +dnl If there is no tag/values pair left, tries to compile the code and include +dnl using AC_TRY_COMPILE. If it compiles, AC_DEFINE all the tags to their +dnl current value and exit with success. +dnl +AC_DEFUN([AX_PROTOTYPE_LOOP],[ + ifelse(builtin([eval], $# > 3), 1, + [ + pushdef([rest],[builtin([shift],builtin([shift],$@))]) + AX_PROTOTYPE_EACH($2,$1) + popdef([rest]) + ], [ + AC_MSG_CHECKING($3 AX_PROTOTYPE_STATUS(tags)) +dnl +dnl Activate fatal warnings if possible, gives better guess +dnl + ac_save_CPPFLAGS="$CPPFLAGS" + ifelse(AC_LANG,CPLUSPLUS,if test "$GXX" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi) + ifelse(AC_LANG,C,if test "$GCC" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi) + AC_TRY_COMPILE($2, $1, [ + CPPFLAGS="$ac_save_CPPFLAGS" + AC_MSG_RESULT(ok) + AX_PROTOTYPE_DEFINES(tags) + break; + ], [ + CPPFLAGS="$ac_save_CPPFLAGS" + AC_MSG_RESULT(not ok) + ]) + ] + ) +]) diff --git a/m4/autoconf-archive/ax_prototype_accept.m4 b/m4/autoconf-archive/ax_prototype_accept.m4 new file mode 100755 index 0000000000..184e3e8bca --- /dev/null +++ b/m4/autoconf-archive/ax_prototype_accept.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prototype_accept.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROTOTYPE_ACCEPT +# +# DESCRIPTION +# +# Requires the AX_PROTOTYPE macro. FIXME: Put this in the code! +# +# Find the type of argument two and three of accept. User must include the +# following in acconfig.h: +# +# /* Type of second argument of accept */ +# #undef ACCEPT_ARG2 +# +# /* Type of third argument of accept */ +# #undef ACCEPT_ARG3 +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROTOTYPE_ACCEPT], [AX_PROTOTYPE_ACCEPT]) +AC_DEFUN([AX_PROTOTYPE_ACCEPT],[ +AX_PROTOTYPE(accept, + [ + #include + #include + ], + [ + int a = 0; + ARG2 * b = 0; + ARG3 * c = 0; + accept(a, b, c); + ], + ARG2, [struct sockaddr, void], + ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int]) +]) diff --git a/m4/autoconf-archive/ax_prototype_getsockname.m4 b/m4/autoconf-archive/ax_prototype_getsockname.m4 new file mode 100755 index 0000000000..07f7d8dd96 --- /dev/null +++ b/m4/autoconf-archive/ax_prototype_getsockname.m4 @@ -0,0 +1,69 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_prototype_getsockname.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_PROTOTYPE_GETSOCKNAME +# +# DESCRIPTION +# +# Requires the AX_PROTOTYPE macro. FIXME: Put this in the code! +# +# Find the type of argument two and three of getsockname. User must +# include the following in acconfig.h: +# +# /* Type of second argument of getsockname */ +# #undef GETSOCKNAME_ARG2 +# +# /* Type of third argument of getsockname */ +# #undef GETSOCKNAME_ARG3 +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROTOTYPE_GETSOCKNAME], [AX_PROTOTYPE_GETSOCKNAME]) +AC_DEFUN([AX_PROTOTYPE_GETSOCKNAME],[ +AX_PROTOTYPE(getsockname, + [ + #include + #include + ], + [ + int a = 0; + ARG2 * b = 0; + ARG3 * c = 0; + getsockname(a, b, c); + ], + ARG2, [struct sockaddr, void], + ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int]) +]) diff --git a/m4/autoconf-archive/ax_prototype_setsockopt.m4 b/m4/autoconf-archive/ax_prototype_setsockopt.m4 new file mode 100755 index 0000000000..b91620bc3e --- /dev/null +++ b/m4/autoconf-archive/ax_prototype_setsockopt.m4 @@ -0,0 +1,64 @@ +# ============================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_prototype_setsockopt.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_PROTOTYPE_SETSOCKOPT +# +# DESCRIPTION +# +# Requires the AX_PROTOTYPE macro. FIXME: Put this in the code! +# +# Find the type of argument three of setsockopt. User must include the +# following in acconfig.h: +# +# /* Type of third argument of setsockopt */ +# #undef SETSOCKOPT_ARG3 +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 6 + +AU_ALIAS([AC_PROTOTYPE_SETSOCKOPT], [AX_PROTOTYPE_SETSOCKOPT]) +AC_DEFUN([AX_PROTOTYPE_SETSOCKOPT],[ +AX_PROTOTYPE(setsockopt, + [ + #include + #include + ], + [ + int a = 0; + ARG3 b = 0; + setsockopt(a, SOL_SOCKET, SO_REUSEADDR, b, sizeof(a)); + ], + ARG3, [const void*, const char*, void*, char*]) +]) diff --git a/m4/autoconf-archive/ax_pthread.m4 b/m4/autoconf-archive/ax_pthread.m4 new file mode 100755 index 0000000000..5fbf9fe0d6 --- /dev/null +++ b/m4/autoconf-archive/ax_pthread.m4 @@ -0,0 +1,485 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC to any special C compiler that is needed for +# multi-threaded programs (defaults to the value of CC otherwise). (This +# is necessary on AIX to use the special cc_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also to link with them as well. For example, you might link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threaded programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2011 Daniel Richard G. +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 24 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" + ;; +esac + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"]) + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + +ax_pthread_clang_warning=no + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + PTHREAD_CFLAGS="-pthread" + PTHREAD_LIBS= + + ax_pthread_ok=yes + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -mt,pthread) + AC_MSG_CHECKING([whether pthreads work with -mt -lpthread]) + PTHREAD_CFLAGS="-mt" + PTHREAD_LIBS="-lpthread" + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void routine(void *a) { a = 0; } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], + [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/m4/autoconf-archive/ax_python.m4 b/m4/autoconf-archive/ax_python.m4 new file mode 100755 index 0000000000..1b8f0e1831 --- /dev/null +++ b/m4/autoconf-archive/ax_python.m4 @@ -0,0 +1,97 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON +# +# DESCRIPTION +# +# This macro does a complete Python development environment check. +# +# It checks for all known versions. When it finds an executable, it looks +# to find the header files and library. +# +# It sets PYTHON_BIN to the name of the python executable, +# PYTHON_INCLUDE_DIR to the directory holding the header files, and +# PYTHON_LIB to the name of the Python library. +# +# This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG), +# PYTHON_INCLUDE_DIR and PYTHON_LIB. +# +# LICENSE +# +# Copyright (c) 2008 Michael Tindal +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 18 + +AC_DEFUN([AX_PYTHON], +[AC_MSG_CHECKING(for python build information) +AC_MSG_RESULT([]) +for python in python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python; do +AC_CHECK_PROGS(PYTHON_BIN, [$python]) +ax_python_bin=$PYTHON_BIN +if test x$ax_python_bin != x; then + AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no) + if test x$ax_python_lib == xno; then + AC_CHECK_LIB(${ax_python_bin}m, main, ax_python_lib=${ax_python_bin}m, ax_python_lib=no) + fi + if test x$ax_python_lib != xno; then + ax_python_header=`$ax_python_bin -c "from distutils.sysconfig import *; print(get_config_var('CONFINCLUDEPY'))"` + if test x$ax_python_header != x; then + break; + fi + fi +fi +done +if test x$ax_python_bin = x; then + ax_python_bin=no +fi +if test x$ax_python_header = x; then + ax_python_header=no +fi +if test x$ax_python_lib = x; then + ax_python_lib=no +fi + +AC_MSG_RESULT([ results of the Python check:]) +AC_MSG_RESULT([ Binary: $ax_python_bin]) +AC_MSG_RESULT([ Library: $ax_python_lib]) +AC_MSG_RESULT([ Include Dir: $ax_python_header]) + +if test x$ax_python_header != xno; then + PYTHON_INCLUDE_DIR=$ax_python_header + AC_SUBST(PYTHON_INCLUDE_DIR) +fi +if test x$ax_python_lib != xno; then + PYTHON_LIB=$ax_python_lib + AC_SUBST(PYTHON_LIB) +fi +])dnl diff --git a/m4/autoconf-archive/ax_python_config_var.m4 b/m4/autoconf-archive/ax_python_config_var.m4 new file mode 100755 index 0000000000..e7fecd76e8 --- /dev/null +++ b/m4/autoconf-archive/ax_python_config_var.m4 @@ -0,0 +1,114 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python_config_var.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON_CONFIG_VAR(PYTHON_VARIABLE, [SHELL_VARIABLE]) +# AX_PYTHON_CONFIG_H +# AX_PYTHON_MAKEFILE +# +# DESCRIPTION +# +# AX_PYTHON_CONFIG_VAR: +# +# Using the Python module distutils.sysconfig[1], return a Python +# configuration variable. PYTHON_VARIABLE is the name of the variable to +# request from Python, and SHELL_VARIABLE is the name of the shell +# variable into which the results should be deposited. If SHELL_VARIABLE +# is not specified, the macro wil prefix PY_ to the PYTHON_VARIABLE, e.g., +# LIBS -> PY_LIBS. +# +# SHELL_VARIABLE is AC_SUBST'd. No action is taken if an error occurs. +# Note if $PYTHON is not set, AC_CHECK_PROG(PYTHON, python, python) will +# be run. +# +# Example: +# +# AX_PYTHON_CONFIG_VAR(LINKFORSHARED, PY_LFS) +# +# AX_PYTHON_CONFIG_H: +# +# Using the Python module distutils.sysconfig[1], put the full pathname of +# the config.h file used to compile Python into the shell variable +# PY_CONFIG_H. PY_CONFIG_H is AC_SUBST'd. Note if $PYTHON is not set, +# AC_CHECK_PROG(PYTHON, python, python) will be run. +# +# AX_PYTHON_MAKEFILE: +# +# Using the Python module distutils.sysconfig[1], put the full pathname of +# the Makefile file used to compile Python into the shell variable +# PY_MAKEFILE. PY_MAKEFILE is AC_SUBST'd. Note if $PYTHON is not set, +# AC_CHECK_PROG(PYTHON, python, python) will be run. +# +# [1] +# http://www.python.org/doc/current/dist/module-distutils.sysconfig.html +# +# LICENSE +# +# Copyright (c) 2008 Dustin J. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_PYTHON_CONFIG_VAR], +[ + AC_MSG_CHECKING(for Python config variable $1) + if test -z "$PYTHON" + then + AC_CHECK_PROG(PYTHON,python,python) + fi + py_error="no" + pyval=`$PYTHON -c "from distutils import sysconfig;dnl +print sysconfig.get_config_var('$1')"` || py_error="yes" + if test "$py_error" = "yes" + then + AC_MSG_RESULT(no - an error occurred) + else + AC_MSG_RESULT($pyval) + m4_ifval([$2],[$2],[PY_$1])="$pyval" + AC_SUBST(m4_ifval([$2],[$2],[PY_$1])) + fi +]) + +AC_DEFUN([AX_PYTHON_CONFIG_H], +[ + AC_MSG_CHECKING(location of Python's config.h) + if test -z "$PYTHON" + then + AC_CHECK_PROG(PYTHON,python,python) + fi + py_error="no" + PY_CONFIG_H=`$PYTHON -c "from distutils import sysconfig;dnl +print sysconfig.get_config_h_filename()"` || py_error = "yes" + if test "$py_error" = "yes" + then + AC_MSG_RESULT(no - an error occurred) + else + AC_MSG_RESULT($PY_CONFIG_H) + AC_SUBST(PY_CONFIG_H) + fi +]) + +AC_DEFUN([AX_PYTHON_MAKEFILE], +[ + AC_MSG_CHECKING(location of Python's Makefile) + if test -z "$PYTHON" + then + AC_CHECK_PROG(PYTHON,python,python) + fi + py_error="no" + PY_MAKEFILE=`$PYTHON -c "from distutils import sysconfig;dnl +print sysconfig.get_makefile_filename()"` || py_error = "yes" + if test "$py_error" = "yes" + then + AC_MSG_RESULT(no - an error occurred) + else + AC_MSG_RESULT($PY_MAKEFILE) + AC_SUBST(PY_MAKEFILE) + fi +]) diff --git a/m4/autoconf-archive/ax_python_devel.m4 b/m4/autoconf-archive/ax_python_devel.m4 new file mode 100755 index 0000000000..44dbd83e00 --- /dev/null +++ b/m4/autoconf-archive/ax_python_devel.m4 @@ -0,0 +1,327 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON_DEVEL([version]) +# +# DESCRIPTION +# +# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it +# in your configure.ac. +# +# This macro checks for Python and tries to get the include path to +# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output +# variables. It also exports $(PYTHON_EXTRA_LIBS) and +# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. +# +# You can search for some particular version of Python by passing a +# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please +# note that you *have* to pass also an operator along with the version to +# match, and pay special attention to the single quotes surrounding the +# version number. Don't use "PYTHON_VERSION" for this: that environment +# variable is declared as precious and thus reserved for the end-user. +# +# This macro should work for all versions of Python >= 2.1.0. As an end +# user, you can disable the check for the python version by setting the +# PYTHON_NOVERSIONCHECK environment variable to something else than the +# empty string. +# +# If you need to use this macro for an older Python version, please +# contact the authors. We're always open for feedback. +# +# LICENSE +# +# Copyright (c) 2009 Sebastian Huber +# Copyright (c) 2009 Alan W. Irwin +# Copyright (c) 2009 Rafael Laboissiere +# Copyright (c) 2009 Andrew Collier +# Copyright (c) 2009 Matteo Settenvini +# Copyright (c) 2009 Horst Knorr +# Copyright (c) 2013 Daniel Mullner +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 21 + +AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) +AC_DEFUN([AX_PYTHON_DEVEL],[ + # + # Allow the use of a (user set) custom python version + # + AC_ARG_VAR([PYTHON_VERSION],[The installed Python + version to use, for example '2.3'. This string + will be appended to the Python interpreter + canonical name.]) + + AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) + if test -z "$PYTHON"; then + AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) + PYTHON_VERSION="" + fi + + # + # Check for a version of Python >= 2.1.0 + # + AC_MSG_CHECKING([for a version of Python >= '2.1.0']) + ac_supports_python_ver=`$PYTHON -c "import sys; \ + ver = sys.version.split ()[[0]]; \ + print (ver >= '2.1.0')"` + if test "$ac_supports_python_ver" != "True"; then + if test -z "$PYTHON_NOVERSIONCHECK"; then + AC_MSG_RESULT([no]) + AC_MSG_FAILURE([ +This version of the AC@&t@_PYTHON_DEVEL macro +doesn't work properly with versions of Python before +2.1.0. You may need to re-run configure, setting the +variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG, +PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. +Moreover, to disable this check, set PYTHON_NOVERSIONCHECK +to something else than an empty string. +]) + else + AC_MSG_RESULT([skip at user request]) + fi + else + AC_MSG_RESULT([yes]) + fi + + # + # if the macro parameter ``version'' is set, honour it + # + if test -n "$1"; then + AC_MSG_CHECKING([for a version of Python $1]) + ac_supports_python_ver=`$PYTHON -c "import sys; \ + ver = sys.version.split ()[[0]]; \ + print (ver $1)"` + if test "$ac_supports_python_ver" = "True"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([this package requires Python $1. +If you have it installed, but it isn't the default Python +interpreter in your system path, please pass the PYTHON_VERSION +variable to configure. See ``configure --help'' for reference. +]) + PYTHON_VERSION="" + fi + fi + + # + # Check if you have distutils, else fail + # + AC_MSG_CHECKING([for the distutils Python package]) + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` + if test $? -eq 0; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot import Python module "distutils". +Please check your Python installation. The error was: +$ac_distutils_result]) + PYTHON_VERSION="" + fi + + # + # Check for Python include path + # + AC_MSG_CHECKING([for Python include path]) + if test -z "$PYTHON_CPPFLAGS"; then + python_path=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_inc ());"` + plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_inc (plat_specific=1));"` + if test -n "${python_path}"; then + if test "${plat_python_path}" != "${python_path}"; then + python_path="-I$python_path -I$plat_python_path" + else + python_path="-I$python_path" + fi + fi + PYTHON_CPPFLAGS=$python_path + fi + AC_MSG_RESULT([$PYTHON_CPPFLAGS]) + AC_SUBST([PYTHON_CPPFLAGS]) + + # + # Check for Python library path + # + AC_MSG_CHECKING([for Python library path]) + if test -z "$PYTHON_LIBS"; then + # (makes two attempts to ensure we've got a version number + # from the interpreter) + ac_python_version=`cat<]], + [[Py_Initialize();]]) + ],[pythonexists=yes],[pythonexists=no]) + AC_LANG_POP([C]) + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" + LDFLAGS="$ac_save_LDFLAGS" + + AC_MSG_RESULT([$pythonexists]) + + if test ! "x$pythonexists" = "xyes"; then + AC_MSG_FAILURE([ + Could not link test program to Python. Maybe the main Python library has been + installed in some non-standard library path. If so, pass it to configure, + via the LIBS environment variable. + Example: ./configure LIBS="-L/usr/non-standard-path/python/lib" + ============================================================================ + ERROR! + You probably have to install the development version of the Python package + for your distribution. The exact name of this package varies among them. + ============================================================================ + ]) + PYTHON_VERSION="" + fi + + # + # all done! + # +]) diff --git a/m4/autoconf-archive/ax_python_embed.m4 b/m4/autoconf-archive/ax_python_embed.m4 new file mode 100755 index 0000000000..1a4f0a5ad7 --- /dev/null +++ b/m4/autoconf-archive/ax_python_embed.m4 @@ -0,0 +1,518 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python_embed.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON_DEFAULT +# AX_PYTHON_ENABLE +# AX_PYTHON_WITH +# AX_PYTHON_PATH +# AX_PYTHON_VERSION_ENSURE( [2.2] ) +# AX_PYTHON_CSPEC +# AX_PYTHON_LSPEC +# +# DESCRIPTION +# +# This file provides autoconf support for those applications that want to +# embed python. It supports all pythons >= 2.2 which is the first official +# release containing distutils. Version 2.2 of python was released +# December 21, 2001. Since it actually executes the python, cross platform +# configuration will probably not work. Also, most of the platforms +# supported are consistent until you look into Mac OS X. The python +# included with it is installed as a framework which is a very different +# environment to set up the normal tools such as gcc and libtool to deal +# with. Therefore, once we establish which python that we are going to +# use, we use its distutils to actually compile and link our modules or +# applications. +# +# At this time, it does NOT support linking with Python statically. It +# does support dynamic linking. +# +# This set of macros help define $PYTHON, $PYTHON_USE, $PYTHON_CSPEC and +# $PYTHON_LSPEC. $PYTHON defines the full executable path for the Python +# being linked to and is used within these macros to determine if that has +# been specified or found. These macros do execute this python version so +# it must be present on the system at configure time. +# +# $PYTHON_USE is an automake variable that defines whether Python support +# should be included or not in your application. $PYTHON_CSPEC is a +# variable that supplies additional CFLAGS for the compilation of the +# application/shared library. $PYTHON_LSPEC is a variable that supplies +# additional LDFLAGS for linking the application/shared library. +# +# The following is an example of how to set up for python usage within +# your application in your configure.in: +# +# AX_PYTHON_DEFAULT( ) +# AX_PYTHON_ENABLE( ) # Optional +# AX_PYTHON_WITH( ) # Optional +# AX_PYTHON_PATH( ) # or AX_PYTHON_INSIST( ) +# # if $PYTHON is not defined, then the following do nothing. +# AX_PYTHON_VERSION_ENSURE( [2.2] ) +# AX_PYTHON_CSPEC +# AX_PYTHON_LSPEC +# +# The AX_PYTHON_DEFAULT sets the $PYTHON_USE to false. Thereby, excluding +# it if it was optional. +# +# The AX_PYTHON_ENABLE looks for the optional configure parameters of +# --enable-python/--disable-python and establishes the $PYTHON and +# $PYTHON_USE variables accordingly. +# +# The AX_PYTHON_WITH looks for the optional configure parameters of +# --with-python/--without-python and establishes the $PYTHON and +# $PYTHON_USE variables accordingly. +# +# The AX_PYTHON_PATH looks for python assuming that none has been +# previously found or defined and issues an error if it does not find it. +# If it does find it, it establishes the $PYTHON and $PYTHON_USE variables +# accordingly. AX_PYTHON_INSIST could be used here instead if you want to +# insist that Python support be included using the --enable-python or +# --with-python checks previously done. +# +# The AX_PYTHON_VERSION_ENSURE issues an error if the Python previously +# found is not of version 2.2 or greater. +# +# Once that these macros have be run, we can use PYTHON_USE within the +# makefile.am file to conditionally add the Python support such as: +# +# Makefile.am example showing optional inclusion of directories: +# +# if PYTHON_USE +# plugins = plugins +# src = src +# else +# plugins = +# src = +# endif +# +# SUBDIRS = . $(plugins) $(src) +# +# Makefile.am example showing optional shared library build: +# +# if PYTHON_USE +# lib_LTLIBRARIES = libElemList.la +# libElemList_la_SOURCES = libElemList.c +# libElemList_la_CFLAGS = @PYTHON_CSPEC@ +# libElemList_la_LDFLAGS = @PYTHON_LSPEC@ +# endif +# +# Makefile.am example showing optional program build: +# +# if PYTHON_USE +# bin_PROGRAMS = runFunc +# runFunc_SOURCES = runFunc.c +# runFunc_CFLAGS = @PYTHON_CSPEC@ +# runFunc_LDFLAGS = @PYTHON_LSPEC@ +# endif +# +# The above compiles the modules only if PYTHON_USE was specified as true. +# Also, the else portion of the if was optional. +# +# LICENSE +# +# Copyright (c) 2008 Robert White +# Copyright (c) 2008 Dustin J. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +# AX_PYTHON_DEFAULT( ) +# ----------------- +# Sets the default to not include Python support. + +AC_DEFUN([AX_PYTHON_DEFAULT], +[ + ax_python_use=false + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") +]) + + + +# AX_PYTHON_ENABLE( [path] ) +# ----------------------------------------------------------------- +# Handles the various --enable-python commands. +# Input: +# $1 is the optional search path for the python executable if needed +# Output: +# PYTHON_USE (AM_CONDITIONAL) is true if python executable found +# and --enable-python was requested; otherwise false. +# $PYTHON contains the full executable path to python if PYTHON_ENABLE_USE +# is true. +# +# Example: +# AX_PYTHON_ENABLE( ) +# or +# AX_PYTHON_ENABLE( "/usr/bin" ) + +AC_DEFUN([AX_PYTHON_ENABLE], +[ + AC_ARG_VAR([PYTHON],[Python Executable Path]) + + # unless PYTHON was supplied to us (as a precious variable), + # see if --enable-python[=PythonExecutablePath], --enable-python, + # --disable-python or --enable-python=no was given. + if test -z "$PYTHON" + then + AC_MSG_CHECKING(for --enable-python) + AC_ARG_ENABLE( + python, + AS_HELP_STRING([--enable-python@<:@=PYTHON@:>@], + [absolute path name of Python executable] + ), + [ + if test "$enableval" = "yes" + then + # "yes" was specified, but we don't have a path + # for the executable. + # So, let's search the PATH Environment Variable. + AC_MSG_RESULT(yes) + AC_PATH_PROG( + [PYTHON], + python, + [], + $1 + ) + if test -z "$PYTHON" + then + AC_MSG_ERROR(no path to python found) + fi + ax_python_use=true + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + AX_PYTHON_PREFIX( ) + elif test "$enableval" = "no" + then + AC_MSG_RESULT(no) + ax_python_use=false + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + else + # $enableval must be the executable path then. + AC_SUBST([PYTHON], ["${enableval}"]) + AC_MSG_RESULT($withval) + ax_python_use=true + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + AX_PYTHON_PREFIX( ) + fi + ], + [ + # --with-python was not specified. + AC_MSG_RESULT(no) + ax_python_use=false + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + ] + ) + fi + +]) + + + +# AX_PYTHON_CSPEC( ) +# ----------------- +# Set up the c compiler options to compile Python +# embedded programs/libraries in $PYTHON_CSPEC if +# $PYTHON has been defined. + +AC_DEFUN([AX_PYTHON_CSPEC], +[ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + if test -n "$PYTHON" + then + ax_python_prefix=`${PYTHON} -c "import sys; print(sys.prefix)"` + if test -z "$ax_python_prefix" + then + AC_MSG_ERROR([Python Prefix is not known]) + fi + ax_python_execprefix=`${PYTHON} -c "import sys; print(sys.exec_prefix)"` + ax_python_version=`$PYTHON -c "import sys; print(sys.version[[:3]])"` + ax_python_includespec="-I${ax_python_prefix}/include/python${ax_python_version}" + if test x"$python_prefix" != x"$python_execprefix"; then + ax_python_execspec="-I${ax_python_execprefix}/include/python${ax_python_version}" + ax_python_includespec="${ax_python_includespec} $ax_python_execspec" + fi + ax_python_ccshared=`${PYTHON} -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('CFLAGSFORSHARED'))"` + ax_python_cspec="${ax_python_ccshared} ${ax_python_includespec}" + AC_SUBST([PYTHON_CSPEC], [${ax_python_cspec}]) + AC_MSG_NOTICE([PYTHON_CSPEC=${ax_python_cspec}]) + fi +]) + + + +# AX_PYTHON_INSIST( ) +# ----------------- +# Look for Python and set the output variable 'PYTHON' +# to 'python' if found, empty otherwise. + +AC_DEFUN([AX_PYTHON_INSIST], +[ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + if test -z "$PYTHON" + then + AC_MSG_ERROR([Python Executable not found]) + fi +]) + + + +# AX_PYTHON_LSPEC( ) +# ----------------- +# Set up the linker options to link Python embedded +# programs/libraries in $PYTHON_LSPEC if $PYTHON +# has been defined. + +AC_DEFUN([AX_PYTHON_LSPEC], +[ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + if test -n "$PYTHON" + then + AX_PYTHON_RUN([ +import sys +import distutils.sysconfig +strUseFrameWork = "--enable-framework" +dictConfig = distutils.sysconfig.get_config_vars( ) +strConfigArgs = dictConfig.get("CONFIG_ARGS") +strLinkSpec = dictConfig.get('LDFLAGS') +if -1 == strConfigArgs.find(strUseFrameWork): + strLibPL = dictConfig.get("LIBPL") + if strLibPL and (strLibPL != ""): + strLinkSpec += " -L%s" % (strLibPL) + strSys = dictConfig.get("SYSLIBS") + if strSys and (strSys != ""): + strLinkSpec += " %s" % (strSys) + strSHL = dictConfig.get("SHLIBS") + if strSHL and (strSHL != ""): + strLinkSpec += " %s" % (strSHL) + # Construct the Python Library Name. + strTmplte = " -lpython%d.%d" + if (sys.platform == "win32") or (sys.platform == "os2emx"): + strTmplte = " -lpython%d%d" + strWrk = strTmplte % ( (sys.hexversion >> 24), + ((sys.hexversion >> 16) & 0xff)) + strLinkSpec += strWrk +else: + # This is not ideal since it changes the search path + # for Frameworks which could have side-effects on + # other included Frameworks. However, it is necessary + # where someone has installed more than one frameworked + # Python. Frameworks are really only used in MacOSX. + strLibFW = dictConfig.get("PYTHONFRAMEWORKPREFIX") + if strLibFW and (strLibFW != ""): + strLinkSpec += " -F%s" % (strLibFW) +strLinkSpec += " %s" % (dictConfig.get('LINKFORSHARED')) +print(strLinkSpec) + ]) + AC_SUBST([PYTHON_LSPEC], [${ax_python_output}]) + AC_MSG_NOTICE([PYTHON_LSPEC=${ax_python_output}]) + fi +]) + + + +# AX_PYTHON_PATH( ) +# ----------------- +# Look for Python and set the output variable 'PYTHON' +# to 'python' if found, empty otherwise. + +AC_DEFUN([AX_PYTHON_PATH], +[ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + AC_PATH_PROG( PYTHON, python, [], $1 ) + if test -z "$PYTHON" + then + AC_MSG_ERROR([Python Executable not found]) + else + ax_python_use=true + fi + AM_CONDITIONAL(PYTHON_USE, test "$ax_python_use" = "true") +]) + + + +# AX_PYTHON_PREFIX( ) +# ------------------- +# Use the values of $prefix and $exec_prefix for the corresponding +# values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. + +AC_DEFUN([AX_PYTHON_PREFIX], +[ + if test -z "$PYTHON" + then + AC_MSG_ERROR([Python Executable Path is not known]) + fi + ax_python_prefix=`${PYTHON} -c "import sys; print(sys.prefix)"` + ax_python_execprefix=`${PYTHON} -c "import sys; print(sys.exec_prefix)"` + AC_SUBST([PYTHON_PREFIX], ["${ax_python_prefix}"]) + AC_SUBST([PYTHON_EXECPREFIX], ["${ax_python_execprefix}"]) +]) + + + +# AX_PYTHON_RUN( PYTHON_PROGRAM ) +# ----------------- +# Run a Python Test Program saving its output +# in ax_python_output and its condition code +# in ax_python_cc. + +AC_DEFUN([AX_PYTHON_RUN], +[ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + if test -z "$PYTHON" + then + AC_MSG_ERROR([Python Executable not found]) + else + cat >conftest.py <<_ACEOF +$1 +_ACEOF + ax_python_output=`$PYTHON conftest.py` + ax_python_cc=$? + rm conftest.py + if test -f "conftest.pyc" + then + rm conftest.pyc + fi + fi +]) + + + +# AX_PYTHON_VERSION_CHECK( VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE] ) +# ----------------------------------------------------------------------------- +# Run ACTION-IF-TRUE if the Python interpreter has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# hexversion has been introduced in Python 1.5.2; it's probably not +# worth to support older versions (1.5.1 was released on October 31, 1998). + +AC_DEFUN([AX_PYTHON_VERSION_CHECK], + [ + AC_ARG_VAR( [PYTHON], [Python Executable Path] ) + if test -n "$PYTHON" + then + AC_MSG_CHECKING([whether $PYTHON version >= $1]) + AX_PYTHON_RUN([ +import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# It accepts a string like "X[.Y[.Z]]" with X,Y,Z=digits +# and [] means optional. +minver = list(map(int, '$1'.split('.'))) + [[0, 0, 0]] +minver[3] = 255 +minverhex = 0 +for i in range(0, 4): minverhex = (minverhex << 8) + minver[[i]] +if sys.hexversion >= minverhex: + sys.exit( 0 ) +else: + sys.exit( 1 ) + ]) + if test $ax_python_cc -eq 0 + then + $2 + m4_ifvaln( + [$3], + [else $3] + ) + fi + fi +]) + + + +# AX_PYTHON_VERSION_ENSURE( VERSION ) +# ----------------- +# Insure that the Python Interpreter Version +# is greater than or equal to the VERSION +# parameter. + +AC_DEFUN([AX_PYTHON_VERSION_ENSURE], +[ + AX_PYTHON_VERSION_CHECK( + [$1], + [AC_MSG_RESULT(yes)], + [AC_MSG_ERROR(too old)] + ) +]) + + + +# AX_PYTHON_WITH( [path] ) +# ----------------------------------------------------------------- +# Handles the various --with-python commands. +# Input: +# $1 is the optional search path for the python executable if needed +# Output: +# PYTHON_USE (AM_CONDITIONAL) is true if python executable found +# and --with-python was requested; otherwise false. +# $PYTHON contains the full executable path to python if PYTHON_USE +# is true. +# +# Example: +# AX_PYTHON_WITH( ) +# or +# AX_PYTHON_WITH("/usr/bin") + +AC_DEFUN([AX_PYTHON_WITH], +[ + AC_ARG_VAR([PYTHON],[Python Executable Path]) + + # unless PYTHON was supplied to us (as a precious variable), + # see if --with-python[=PythonExecutablePath], --with-python, + # --without-python or --with-python=no was given. + if test -z "$PYTHON" + then + AC_MSG_CHECKING(for --with-python) + AC_ARG_WITH( + python, + AS_HELP_STRING([--with-python@<:@=PYTHON@:>@], + [absolute path name of Python executable] + ), + [ + if test "$withval" = "yes" + then + # "yes" was specified, but we don't have a path + # for the executable. + # So, let's search the PATH Environment Variable. + AC_MSG_RESULT(yes) + AC_PATH_PROG( + [PYTHON], + python, + [], + $1 + ) + if test -z "$PYTHON" + then + AC_MSG_ERROR(no path to python found) + fi + ax_python_use=true + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + AX_PYTHON_PREFIX( ) + elif test "$withval" = "no" + then + AC_MSG_RESULT(no) + ax_python_use=false + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + else + # $withval must be the executable path then. + AC_SUBST([PYTHON], ["${withval}"]) + AC_MSG_RESULT($withval) + ax_python_use=true + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + AX_PYTHON_PREFIX( ) + fi + ], + [ + # --with-python was not specified. + AC_MSG_RESULT(no) + ax_python_use=false + AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true") + ] + ) + fi + +]) diff --git a/m4/autoconf-archive/ax_python_module.m4 b/m4/autoconf-archive/ax_python_module.m4 new file mode 100755 index 0000000000..f0f873d199 --- /dev/null +++ b/m4/autoconf-archive/ax_python_module.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python_module.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON_MODULE(modname[, fatal, python]) +# +# DESCRIPTION +# +# Checks for Python module. +# +# If fatal is non-empty then absence of a module will trigger an error. +# The third parameter can either be "python" for Python 2 or "python3" for +# Python 3; defaults to Python 3. +# +# LICENSE +# +# Copyright (c) 2008 Andrew Collier +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE]) +AC_DEFUN([AX_PYTHON_MODULE],[ + if test -z $PYTHON; + then + if test -z "$3"; + then + PYTHON="python3" + else + PYTHON="$3" + fi + fi + PYTHON_NAME=`basename $PYTHON` + AC_MSG_CHECKING($PYTHON_NAME module: $1) + $PYTHON -c "import $1" 2>/dev/null + if test $? -eq 0; + then + AC_MSG_RESULT(yes) + eval AS_TR_CPP(HAVE_PYMOD_$1)=yes + else + AC_MSG_RESULT(no) + eval AS_TR_CPP(HAVE_PYMOD_$1)=no + # + if test -n "$2" + then + AC_MSG_ERROR(failed to find required module $1) + exit 1 + fi + fi +]) diff --git a/m4/autoconf-archive/ax_python_module_version.m4 b/m4/autoconf-archive/ax_python_module_version.m4 new file mode 100755 index 0000000000..f0028add47 --- /dev/null +++ b/m4/autoconf-archive/ax_python_module_version.m4 @@ -0,0 +1,37 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_python_module_version.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_PYTHON_MODULE_VERSION(modname, min_version[, python]) +# +# DESCRIPTION +# +# Checks for Python module with at least the given version. +# +# Triggers an error if module is absent or present but at a lower version. +# The third parameter can either be "python" for Python 2 or "python3" for +# Python 3; defaults to Python 3. +# +# LICENSE +# +# Copyright (c) 2015 Endless Mobile, Inc.; contributed by Philip Chimento and Kurt von Laven +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_PYTHON_MODULE_VERSION], [ + AX_PYTHON_MODULE([$1], [required], [$3]) + AC_MSG_CHECKING([for version $2 or higher of $1]) + $PYTHON -c "import sys, $1; from distutils.version import StrictVersion; sys.exit(StrictVersion($1.__version__) < StrictVersion('$2'))" 2> /dev/null + AS_IF([test $? -eq 0], [], [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([You need at least version $2 of the $1 Python module.]) + ]) + AC_MSG_RESULT([yes]) +]) diff --git a/m4/autoconf-archive/ax_recursive_eval.m4 b/m4/autoconf-archive/ax_recursive_eval.m4 new file mode 100755 index 0000000000..0625aca225 --- /dev/null +++ b/m4/autoconf-archive/ax_recursive_eval.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_recursive_eval.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RECURSIVE_EVAL(VALUE, RESULT) +# +# DESCRIPTION +# +# Interpolate the VALUE in loop until it doesn't change, and set the +# result to $RESULT. WARNING: It's easy to get an infinite loop with some +# unsane input. +# +# LICENSE +# +# Copyright (c) 2008 Alexandre Duret-Lutz +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 1 + +AC_DEFUN([AX_RECURSIVE_EVAL], +[_lcl_receval="$1" +$2=`(test "x$prefix" = xNONE && prefix="$ac_default_prefix" + test "x$exec_prefix" = xNONE && exec_prefix="${prefix}" + _lcl_receval_old='' + while test "[$]_lcl_receval_old" != "[$]_lcl_receval"; do + _lcl_receval_old="[$]_lcl_receval" + eval _lcl_receval="\"[$]_lcl_receval\"" + done + echo "[$]_lcl_receval")`]) diff --git a/m4/autoconf-archive/ax_require_defined.m4 b/m4/autoconf-archive/ax_require_defined.m4 new file mode 100755 index 0000000000..17c3eab7da --- /dev/null +++ b/m4/autoconf-archive/ax_require_defined.m4 @@ -0,0 +1,37 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_require_defined.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_REQUIRE_DEFINED(MACRO) +# +# DESCRIPTION +# +# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have +# been defined and thus are available for use. This avoids random issues +# where a macro isn't expanded. Instead the configure script emits a +# non-fatal: +# +# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found +# +# It's like AC_REQUIRE except it doesn't expand the required macro. +# +# Here's an example: +# +# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) +# +# LICENSE +# +# Copyright (c) 2014 Mike Frysinger +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_REQUIRE_DEFINED], [dnl + m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) +])dnl AX_REQUIRE_DEFINED diff --git a/m4/autoconf-archive/ax_require_one_func.m4 b/m4/autoconf-archive/ax_require_one_func.m4 new file mode 100755 index 0000000000..39e7ae34ce --- /dev/null +++ b/m4/autoconf-archive/ax_require_one_func.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_require_one_func.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_REQUIRE_ONE_FUNC (FUNCTION..., [ACTION-IF-ANY-FOUND], [ACTION-IF-NONE-FOUND]) +# +# DESCRIPTION +# +# AX_REQUIRE_ONE_FUNC is a simple wrapper for AC_CHECK_FUNCS. It calls +# AC_CHECK_FUNCS on the list of functions named in the first argument, +# then invokes ACTION-IF-ANY-FOUND if at least one of the functions exists +# or ACTION-IF-NONE-FOUND if none of the functions exist. +# +# Here's an example: +# +# AX_REQUIRE_ONE_FUNC([posix_memalign memalign valloc], , +# [AC_MSG_ERROR([unable to allocate page-aligned memory])]) +# +# LICENSE +# +# Copyright (c) 2008 Scott Pakin +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_REQUIRE_ONE_FUNC], +[m4_define([ax_1func_cv], [AS_TR_SH(ax_cv_func_any_$1)]) +AC_CACHE_VAL([ax_1func_cv], + [ax_1func_cv=no + AC_CHECK_FUNCS([$1], [ax_1func_cv="$ax_1func_cv $ac_func"])]) +AS_IF([test "$ax_1func_cv" = "no"], + [$3], + [ax_1func_cv=`echo $ax_1func_cv | sed 's/^no //'` + $2]) +]) diff --git a/m4/autoconf-archive/ax_restore_flags.m4 b/m4/autoconf-archive/ax_restore_flags.m4 new file mode 100755 index 0000000000..8f2adf27c2 --- /dev/null +++ b/m4/autoconf-archive/ax_restore_flags.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_restore_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RESTORE_FLAGS([namespace]) +# +# DESCRIPTION +# +# Restore common compilation flags from temporary variables. +# +# Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS, +# OBJCFLAGS. +# +# By default these flags are restored to a global (empty) namespace, but +# user could restore from specific NAMESPACE by using +# AX_RESTORE_FLAGS(NAMESPACE) macro. +# +# Typical usage is like: +# +# AX_SAVE_FLAGS(mypackage) +# CPPFLAGS="-Imypackagespath ${CPPFLAGS}" +# dnl ... do some detection ... +# AX_RESTORE_FLAGS(mypackage) +# +# LICENSE +# +# Copyright (c) 2009 Filippo Giunchedi +# Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University +# Copyright (c) 2011 Russ Allbery +# Copyright (c) 2013 Bastien ROUCARIES +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +# save one flag in name space +AC_DEFUN([_AX_RESTORE_ONE_FLAG],[dnl + AS_VAR_PUSHDEF([_ax_restore_flag_var], [$2[]_$1[]_ax_save_flags]) + AS_VAR_COPY($2[],_ax_restore_flag_var) + AS_VAR_POPDEF([_ax_restore_flag_var]) +]) + +AC_DEFUN([AX_RESTORE_FLAGS], [dnl + m4_foreach([FLAG], dnl + [_AX_SAVE_FLAGS_LIST()], dnl + [_AX_RESTORE_ONE_FLAG([$1],FLAG)]) +]) diff --git a/m4/autoconf-archive/ax_restore_flags_with_prefix.m4 b/m4/autoconf-archive/ax_restore_flags_with_prefix.m4 new file mode 100755 index 0000000000..5d30060b09 --- /dev/null +++ b/m4/autoconf-archive/ax_restore_flags_with_prefix.m4 @@ -0,0 +1,66 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_restore_flags_with_prefix.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_RESTORE_FLAGS_WITH_PREFIX(PREFIX, LIST-OF-FLAGS) +# +# DESCRIPTION +# +# Restore the flags saved by AX_SAVE_FLAGS_WITH_PREFIX. +# +# Expansion example: AX_RESTORE_FLAGS_WITH_PREFIX([GL], [[CFLAGS],[LIBS]]) +# expands to +# +# CFLAGS="$gl_saved_flag_cflags" +# LIBS="$gl_saved_flag_libs" +# +# One common use case is to define a package specific wrapper macro around +# this one, and also restore other variables if needed. For example: +# +# AC_DEFUN([_AX_CHECK_GL_RESTORE_FLAGS], [ +# AX_RESTORE_FLAGS_WITH_PREFIX([GL],[$1]) +# AC_LANG_POP([C]) +# ]) +# +# # Restores CFLAGS, LIBS and language state +# _AX_CHECK_GL_RESTORE_FLAGS([[CFLAGS],[LIBS]]) +# +# LICENSE +# +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_RESTORE_FLAGS_WITH_PREFIX],[ +m4_ifval([$2], [ +m4_car($2)="$_ax_[]m4_tolower($1)_saved_flag_[]m4_tolower(m4_car($2))" +$0($1, m4_cdr($2))]) +]) diff --git a/m4/autoconf-archive/ax_rpm_init.m4 b/m4/autoconf-archive/ax_rpm_init.m4 new file mode 100755 index 0000000000..43e7732635 --- /dev/null +++ b/m4/autoconf-archive/ax_rpm_init.m4 @@ -0,0 +1,263 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_rpm_init.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RPM_INIT +# +# DESCRIPTION +# +# Setup variables for creation of rpms. It will define several variables +# useful for creating rpms on a system where rpms are supported. +# Currently, I requires changes to Makefile.am to function properly (see +# the example below). +# +# Also note that I do not use any non-UNIX OSs (and for the most part, I +# only use RedHat), so this is probably generally not useful for other +# systems. +# +# Required setup: +# +# In configure.in: +# +# dnl For my rpm.m4 macros +# RPM_RELEASE=1 +# AC_SUBST(RPM_RELEASE) +# +# AX_RPM_INIT +# dnl Enable or disable the rpm making rules in Makefile.am +# AM_CONDITIONAL(MAKE_RPMS, test x$make_rpms = xtrue) +# +# Furthermore, the %GNUconfigure rpm macro has a problem in that it does +# not define CXXFLAGS for the target system correctly, so for compiling +# C++ code, add the following line _before_ calling AC_PROG_CXX: +# +# dnl This is a little hack to make this work with rpm better (see mysql++.spec.in) +# test -z "$CXXFLAGS" && CXXFLAGS="${CFLAGS}" +# +# Changes to Makefile.am (I am trying to get rid of this step; suggestions +# invited): +# +# if MAKE_RPMS +# rpm: @RPM_TARGET@ +# +# .PHONY: rpm +# +# $(RPM_TARGET): $(DISTFILES) +# ${MAKE} dist +# -mkdir -p $(RPM_DIR)/SRPMS +# -mkdir -p `dirname $(RPM_TARGET)` +# $(RPM_PROG) $(RPM_ARGS) $(RPM_TARBALL) +# @echo Congratulations, $(RPM_TARGET) "(and friends)" should now exist. +# else +# endif +# +# Also, it works best with a XXXX.spec.in file like the following (this is +# way down on the wishlist, but a program to generate the skeleton spec.in +# much like autoscan would just kick butt!): +# +# ---------- 8< ---------- +# # -*- Mode:rpm-spec -*- +# # mysql++.spec.in +# Summary: Your package description goes here +# %define rel @RPM_RELEASE@ +# +# %define version @VERSION@ +# %define pkgname @PACKAGE@ +# %define prefix /usr +# +# %define lt_release @LT_RELEASE@ +# %define lt_version @LT_CURRENT@.@LT_REVISION@.@LT_AGE@ +# +# # This is a hack until I can figure out how to better handle replacing +# # autoconf macros... (gotta love autoconf...) +# %define __aclocal aclocal || aclocal -I ./macros +# %define configure_args @RPM_CONFIGURE_ARGS@ +# +# Name: %{pkgname} +# Version: %{version} +# Release: %{rel} +# +# Copyright: LGPL +# Group: # your group name goes here +# Source: %{pkgname}-%{version}.tar.gz +# Requires: # additional requirements +# Buildroot: /tmp/%{pkgname}-root +# URL: http://yoururl.go.here +# Prefix: %{prefix} +# BuildArchitectures: # Target platforms, i.e., i586 +# Packager: Your Name +# +# %description +# Your package description +# +# %changelog +# +# %prep +# %setup +# #%patch +# +# %build +# %GNUconfigure %{configure_args} +# # This is why we copy the CFLAGS to the CXXFLAGS in configure.in +# # CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{prefix} +# make +# +# %install +# # To make things work with BUILDROOT +# if [ "$RPM_BUILD_ROOT" != "/tmp/%{pkgname}-root" ] +# then +# echo +# echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +# echo @ @ +# echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ +# echo @ @ +# echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +# echo +# else +# echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" +# rm -rf "$RPM_BUILD_ROOT" +# fi +# make DESTDIR="$RPM_BUILD_ROOT" install +# +# %clean +# # Call me paranoid, but I do not want to be responsible for nuking +# # someone's harddrive! +# if [ "$RPM_BUILD_ROOT" != "/tmp/%{pkgname}-root" ] +# then +# echo +# echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +# echo @ @ +# echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ +# echo @ @ +# echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +# echo +# else +# echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" +# rm -rf "$RPM_BUILD_ROOT" +# fi +# +# %files +# %defattr(-, root, root) +# # Your application file list goes here +# # %{prefix}/lib/lib*.so* +# %doc COPYRIGHT ChangeLog README AUTHORS NEWS +# %doc doc/* +# +# # If you install a library +# %post -p /sbin/ldconfig +# +# # If you install a library +# %postun -p /sbin/ldconfig +# +# %package devel +# Summary: Development files for %{pkgname} +# Group: Applications/Databases +# %description devel +# Development files for %{pkgname}. +# +# %files devel +# %defattr(-, root, root) +# # Your development files go here +# # Programmers documentation goes here +# %doc doc +# +# # end of file +# ---------- >8 ---------- +# +# LICENSE +# +# Copyright (c) 2008 Dale K. Hawkins +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +dnl AX_RPM_INIT +dnl Figure out how to create rpms for this system and setup for an +dnl automake target + +AU_ALIAS([AM_RPM_INIT], [AX_RPM_INIT]) +AC_DEFUN([AX_RPM_INIT], +[dnl +AC_REQUIRE([AC_CANONICAL_HOST]) +dnl Find the RPM program +AC_ARG_WITH(rpm-prog,[ --with-rpm-prog=PROG Which rpm to use (optional)], + rpm_prog="$withval", rpm_prog="") + +AC_ARG_ENABLE(rpm-rules, [ --enable-rpm-rules Try to create rpm make rules (defaults to yes for Linux)], + enable_rpm_rules="$withval",enable_rpm_rules=no) + +AC_ARG_WITH(rpm-extra-args, [ --with-rpm-extra-args=ARGS Run rpm with extra arguments (defaults to none)], + rpm_extra_args="$withval", rpm_extra_args="") + +dnl AC_ARG_ENABLE(rpm-topdir, [ --enable-rpm Try to create rpm make rules (defaults to yes for Linux)], +dnl enable_rpm_rules="$withval",no) + +dnl echo enable_rpm_rules is $enable_rpm_rules +dnl echo rpm_prog is $rpm_prog + + RPM_TARGET="" + + if test x$enable_rpm_rules = xno ; then + echo "Not trying to build rpms for your system (use --enable-rpm-rules to override) " + no_rpm=yes + else + if test x$rpm_prog != x ; then + if test x${RPM_PROG+set} != xset ; then + RPM_PROG=$rpm_prog + fi + fi + + AC_PATH_PROG(RPM_PROG, rpm, no) + no_rpm=no + if test "$RPM_PROG" = "no" ; then +echo *** RPM Configuration Failed +echo *** Failed to find the rpm program. If you want to build rpm packages +echo *** indicate the path to the rpm program using --with-rpm-prog=PROG + no_rpm=yes + RPM_MAKE_RULES="" + else + AC_MSG_CHECKING(how rpm sets %{_rpmdir}) + rpmdir=`rpm --eval %{_rpmdir}` + if test x$rpmdir = x"%{_rpmdir}" ; then + AC_MSG_RESULT([not set (cannot build rpms?)]) + echo *** Could not determine the value of %{_rpmdir} + echo *** This could be because it is not set, or your version of rpm does not set it + echo *** It must be set in order to generate the correct rpm generation commands + echo *** + echo *** You might still be able to create rpms, but I could not automate it for you + echo *** BTW, if you know this is wrong, please help to improve the rpm.m4 module + echo *** Send corrections, updates and fixes to dhawkins@cdrgts.com. Thanks. + else + AC_MSG_RESULT([$rpmdir]) + fi + AC_MSG_CHECKING(how rpm sets %{_rpmfilename}) + rpmfilename=$rpmdir/`rpm --eval %{_rpmfilename} | sed "s/%{ARCH}/${host_cpu}/g" | sed "s/%{NAME}/$PACKAGE/g" | sed "s/%{VERSION}/${VERSION}/g" | sed "s/%{RELEASE}/${RPM_RELEASE}/g"` + AC_MSG_RESULT([$rpmfilename]) + + RPM_DIR=${rpmdir} + RPM_TARGET=$rpmfilename + RPM_ARGS="-ta $rpm_extra_args" + RPM_TARBALL=${PACKAGE}-${VERSION}.tar.gz + fi + fi + + case "${no_rpm}" in + yes) make_rpms=false;; + no) make_rpms=true;; + *) AC_MSG_WARN([bad value ${no_rpm} for no_rpm (not making rpms)]) + make_rpms=false;; + esac + AC_SUBST(RPM_DIR) + AC_SUBST(RPM_TARGET) + AC_SUBST(RPM_ARGS) + AC_SUBST(RPM_TARBALL) + + RPM_CONFIGURE_ARGS=${ac_configure_args} + AC_SUBST(RPM_CONFIGURE_ARGS) +]) diff --git a/m4/autoconf-archive/ax_ruby_devel.m4 b/m4/autoconf-archive/ax_ruby_devel.m4 new file mode 100755 index 0000000000..24521437df --- /dev/null +++ b/m4/autoconf-archive/ax_ruby_devel.m4 @@ -0,0 +1,180 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ruby_devel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RUBY_DEVEL([version]) +# +# DESCRIPTION +# +# This macro checks for Ruby and tries to get the include path to +# 'ruby.h'. It provides the $(RUBY_CPPFLAGS) and $(RUBY_LDFLAGS) output +# variables. It also exports $(RUBY_EXTRA_LIBS) for embedding Ruby in your +# code. +# +# You can search for some particular version of Ruby by passing a +# parameter to this macro, for example "2.2.1". +# +# LICENSE +# +# Copyright (c) 2008 Rafal Rzepecki +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# Copyright (c) 2008 Matteo Settenvini +# Copyright (c) 2008 Horst Knorr +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_RUBY_DEVEL],[ + AX_WITH_PROG(RUBY,ruby) + AS_IF([test -n "$1"], [ + AX_PROG_RUBY_VERSION([$1],[],[ + AC_MSG_ERROR([this package requires Ruby $1]) + ]) + ]) + + # + # Check if you have rbconfig, else fail + # + AC_MSG_CHECKING([for the rbconfig Ruby package]) + ac_rbconfig_result=`$RUBY -rrbconfig -e ";" 2>&1` + if test -z "$ac_rbconfig_result"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot import Ruby module "rbconfig". +Please check your Ruby installation. The error was: +$ac_rbconfig_result]) + fi + + # + # Check for Ruby include path + # + AC_MSG_CHECKING([for Ruby include path]) + if test -z "$RUBY_CPPFLAGS"; then + ruby_path=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["rubyhdrdir"]]'` + ruby_arch_path=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["rubyarchhdrdir"]]'` + if test -n "${ruby_path}"; then + ruby_path="-I$ruby_path" + fi + if test -n "${ruby_arch_path}"; then + ruby_arch_path="-I$ruby_arch_path" + fi + RUBY_CPPFLAGS="$ruby_path $ruby_arch_path" + fi + AC_MSG_RESULT([$RUBY_CPPFLAGS]) + AC_SUBST([RUBY_CPPFLAGS]) + + # + # Check for Ruby library path + # + AC_MSG_CHECKING([for Ruby library path]) + if test -z "$RUBY_LDFLAGS"; then + RUBY_LDFLAGS=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["LIBRUBYARG_SHARED"]]'` + fi + AC_MSG_RESULT([$RUBY_LDFLAGS]) + AC_SUBST([RUBY_LDFLAGS]) + + # + # Check for site packages + # + AC_MSG_CHECKING([for Ruby site-packages path]) + if test -z "$RUBY_SITE_PKG"; then + RUBY_SITE_PKG=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["sitearchdir"]]'` + fi + AC_MSG_RESULT([$RUBY_SITE_PKG]) + AC_SUBST([RUBY_SITE_PKG]) + + # + # libraries which must be linked in when embedding + # + AC_MSG_CHECKING(ruby extra libraries) + if test -z "$RUBY_EXTRA_LIBS"; then + RUBY_EXTRA_LIBS=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["SOLIBS"]]'` + fi + AC_MSG_RESULT([$RUBY_EXTRA_LIBS]) + AC_SUBST(RUBY_EXTRA_LIBS) + + # + # linking flags needed when embedding + # (is it even needed for Ruby?) + # + # AC_MSG_CHECKING(ruby extra linking flags) + # if test -z "$RUBY_EXTRA_LDFLAGS"; then + # RUBY_EXTRA_LDFLAGS=`$RUBY -rrbconfig -e 'print RbConfig::CONFIG[["LINKFORSHARED"]]'` + # fi + # AC_MSG_RESULT([$RUBY_EXTRA_LDFLAGS]) + # AC_SUBST(RUBY_EXTRA_LDFLAGS) + + # this flags breaks ruby.h, and is sometimes defined by KDE m4 macros + CFLAGS="`echo "$CFLAGS" | sed -e 's/-std=iso9899:1990//g;'`" + # + # final check to see if everything compiles alright + # + AC_MSG_CHECKING([consistency of all components of ruby development environment]) + AC_LANG_PUSH([C]) + # save current global flags + ac_save_LIBS="$LIBS" + LIBS="$ac_save_LIBS $RUBY_LDFLAGS" + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$ac_save_CPPFLAGS $RUBY_CPPFLAGS" + AC_TRY_LINK([ + #include + ],[ + ruby_init(); + ],[rubyexists=yes],[rubyexists=no]) + + AC_MSG_RESULT([$rubyexists]) + + if test ! "$rubyexists" = "yes"; then + AC_MSG_ERROR([ + Could not link test program to Ruby. Maybe the main Ruby library has been + installed in some non-standard library path. If so, pass it to configure, + via the LDFLAGS environment variable. + Example: ./configure LDFLAGS="-L/usr/non-standard-path/ruby/lib" + ============================================================================ + ERROR! + You probably have to install the development version of the Ruby package + for your distribution. The exact name of this package varies among them. + ============================================================================ + ]) + RUBY_VERSION="" + fi + AC_LANG_POP + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" + + # + # all done! + # +]) diff --git a/m4/autoconf-archive/ax_ruby_ext.m4 b/m4/autoconf-archive/ax_ruby_ext.m4 new file mode 100755 index 0000000000..277dd4ec9c --- /dev/null +++ b/m4/autoconf-archive/ax_ruby_ext.m4 @@ -0,0 +1,144 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_ruby_ext.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RUBY_EXT +# +# DESCRIPTION +# +# Fetches the linker flags and C compiler flags for compiling and linking +# Ruby binary extensions. The macro substitutes RUBY_VERSION, +# RUBY_EXT_INC, RUBY_EXT_LIB, RUBY_EXT_CPPFLAGS, RUBY_EXT_LDFLAGS and +# RUBY_EXT_DLEXT variables if Ruby executable has been found. It also +# checks the same variables before trying to retrieve them from the Ruby +# configuration. +# +# RUBY_VERSION: version of the Ruby interpreter +# RUBY_EXT_INC: Ruby include directory +# RUBY_EXT_LIB: Ruby extensions destination directory +# RUBY_EXT_CPPFLAGS: C preprocessor flags to compile extensions +# RUBY_EXT_LDFLAGS: linker flags to build extensions +# RUBY_EXT_DLEXT: extensions suffix for ruby modules (e.g. "so") +# +# Examples: +# +# AX_RUBY_EXT +# if test x"$RUBY" = x; then +# AC_ERROR(["cannot find Ruby"]) +# fi +# +# LICENSE +# +# Copyright (c) 2011 Stanislav Sedov +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +#serial 4 + +AC_DEFUN([AX_RUBY_EXT],[ + + # + # Check if ruby executable exists. + # + AC_PATH_PROGS(RUBY, ["${RUBY-ruby}"], []) + + if test -n "$RUBY" ; then + + AC_MSG_NOTICE([Ruby executable: '$RUBY']) + + # + # Check Ruby version. + # + AC_MSG_CHECKING([for Ruby version]) + [RUBY_VERSION=`$RUBY -e 'puts RUBY_VERSION'`]; + AC_MSG_RESULT([$RUBY_VERSION]) + AC_SUBST(RUBY_VERSION) + + # + # Check for Ruby extensions include path. + # + AC_ARG_VAR(RUBY_EXT_INC, [Directory to include ruby headers from]) + AC_MSG_CHECKING([for Ruby headers include path]) + if test -z "$RUBY_EXT_INC" ; then + [RUBY_EXT_INC=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["archdir"]'`]; + fi + AC_MSG_RESULT([$RUBY_EXT_INC]) + AC_SUBST(RUBY_EXT_INC) + + # + # Check for the extensions target directory. + # + AC_ARG_VAR(RUBY_EXT_LIB, [Directory to install ruby extensions into]) + AC_MSG_CHECKING([for Ruby extensions target directory]) + if test -z "$RUBY_EXT_LIB" ; then + [RUBY_EXT_LIB=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["sitearchdir"]'`]; + fi + AC_MSG_RESULT([$RUBY_EXT_LIB]) + AC_SUBST(RUBY_EXT_LIB) + + # + # Check for Ruby CPP flags. + # + AC_ARG_VAR(RUBY_EXT_CPPFLAGS, [CPPFLAGS to compile Ruby extensions]) + AC_MSG_CHECKING([for Ruby extensions C preprocessor flags]) + if test -z "$RUBY_EXT_CPPFLAGS" ; then + [RUBY_EXT_CPPFLAGS=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["CPPFLAGS"]'`]; + fi + AC_MSG_RESULT([$RUBY_EXT_CPPFLAGS]) + AC_SUBST(RUBY_EXT_CPPFLAGS) + + # + # Check for Ruby extensions link flags. + # + AC_ARG_VAR(RUBY_EXT_LDFLAGS, [LDFLAGS to build Ruby extensions]) + AC_MSG_CHECKING([for Ruby extensions linker flags]) + if test -z "$RUBY_EXT_LDFLAGS" ; then + [RUBY_EXT_LDFLAGS=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["LDFLAGS"]'`]; + fi + # Fix LDFLAGS for OS X. We don't want any -arch flags here, otherwise + # linking might fail. We also including the proper flags to create a bundle. + case "$host" in + *darwin*) + RUBY_EXT_LDFLAGS=`echo ${RUBY_EXT_LDFLAGS} | sed -e "s,-arch [[^ ]]*,,g"` + RUBY_EXT_LDFLAGS="${RUBY_EXT_LDFLAGS} -bundle -undefined dynamic_lookup" + ;; + esac + AC_MSG_RESULT([$RUBY_EXT_LDFLAGS]) + AC_SUBST(RUBY_EXT_LDFLAGS) + + # + # Check for Ruby dynamic library extension. + # + AC_ARG_VAR(RUBY_EXT_DLEXT, [Ruby dynamic library extension]) + AC_MSG_CHECKING([for Ruby dynamic library extension]) + if test -z "$RUBY_EXT_DLEXT" ; then + [RUBY_EXT_DLEXT=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["DLEXT"]'`]; + RUBY_EXT_DLEXT=".${RUBY_EXT_DLEXT}" + fi + AC_MSG_RESULT([$RUBY_EXT_DLEXT]) + AC_SUBST(RUBY_EXT_DLEXT) + fi +]) diff --git a/m4/autoconf-archive/ax_save_flags.m4 b/m4/autoconf-archive/ax_save_flags.m4 new file mode 100755 index 0000000000..5bc7c6c7a8 --- /dev/null +++ b/m4/autoconf-archive/ax_save_flags.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_save_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SAVE_FLAGS([NAMESPACE]) +# +# DESCRIPTION +# +# Save common compilation flags into temporary variables. +# +# Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS, +# OBJCFLAGS. +# +# By default these flags are saved to a global (empty) namespace, but user +# could specify a specific NAMESPACE to AX_SAVE_FLAGS macro and latter +# restore it by using AX_RESTORE_FLAGS(NAMESPACE). +# +# AX_SAVE_FLAGS(mypackage) +# CPPFLAGS="-Imypackagespath ${CPPFLAGS}" +# dnl .. do some detection ... +# AX_RESTORE_FLAGS(mypackage) +# +# LICENSE +# +# Copyright (c) 2009 Filippo Giunchedi +# Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University +# Copyright (c) 2011 Russ Allbery +# Copyright (c) 2013 Bastien ROUCARIES +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +# list of flag to save +AC_DEFUN([_AX_SAVE_FLAGS_LIST],[dnl +[CCASFLAGS],dnl +[CFLAGS],dnl +[CPPFLAGS],dnl +[CXXFLAGS],dnl +[ERLCFLAGS],dnl +[FCFLAGS],dnl +[FCLIBS],dnl +[FFLAGS],dnl +[FLIBS],dnl +[GCJFLAGS],dnl +[JAVACFLAGS],dnl +[LDFLAGS],dnl +[LIBS],dnl +[OBJCFLAGS],dnl +[OBJCXXFLAGS],dnl +[UPCFLAGS],dnl +[VALAFLAGS]dnl +]) + +# save one flag in name space +AC_DEFUN([_AX_SAVE_ONE_FLAG],[ + AS_VAR_PUSHDEF([_ax_save_flag_var], [$2[]_$1[]_ax_save_flags]) + AS_VAR_COPY(_ax_save_flag_var, $2[]) + AS_VAR_POPDEF([_ax_save_flag_var]) +]) + +AC_DEFUN([AX_SAVE_FLAGS],[dnl + m4_foreach([FLAG], dnl + [_AX_SAVE_FLAGS_LIST()], dnl + [_AX_SAVE_ONE_FLAG([$1],FLAG)]) +]) diff --git a/m4/autoconf-archive/ax_save_flags_with_prefix.m4 b/m4/autoconf-archive/ax_save_flags_with_prefix.m4 new file mode 100755 index 0000000000..92301ca2ce --- /dev/null +++ b/m4/autoconf-archive/ax_save_flags_with_prefix.m4 @@ -0,0 +1,72 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_save_flags_with_prefix.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_SAVE_FLAGS_WITH_PREFIX(PREFIX, LIST-OF-FLAGS) +# +# DESCRIPTION +# +# For each flag in LIST-OF-FLAGS, it expands to lower-cased shell variable +# with the prefix holding the flag original value. The saved variables +# can be restored by AX_RESTORE_FLAGS_WITH_PREFIX +# +# As an example: AX_SAVE_FLAGS_WITH_PREFIX([GL], [[CFLAGS],[LIBS]]) +# expands to +# +# gl_saved_flag_cflags="$CFLAGS" +# gl_saved_flag_libs="$LIBS" +# CFLAGS="$GL_CFLAGS $CFLAGS" +# LIBS="$GL_LIBS $LIBS" +# +# One common use case is to define a package specific wrapper macro around +# this one, and also setup other variables if needed. For example: +# +# AC_DEFUN([_AX_CHECK_GL_SAVE_FLAGS], [ +# AX_SAVE_FLAGS_WITH_PREFIX([GL],[$1]) +# AC_LANG_PUSH([C]) +# ]) +# +# # pushes GL_CFLAGS and GL_LIBS to CFLAGS and LIBS +# # also set the current language to test to C +# _AX_CHECK_GL_SAVE_FLAGS([[CFLAGS],[LIBS]]) +# +# LICENSE +# +# Copyright (c) 2016 Felix Chern +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 3 + +AC_DEFUN([AX_SAVE_FLAGS_WITH_PREFIX],[ +m4_ifval([$2], [ +_ax_[]m4_tolower($1)_saved_flag_[]m4_tolower(m4_car($2))="$m4_car($2)" +m4_car($2)="$$1_[]m4_car($2) $m4_car($2)" +$0($1, m4_cdr($2)) +])]) diff --git a/m4/autoconf-archive/ax_set_default_paths_system.m4 b/m4/autoconf-archive/ax_set_default_paths_system.m4 new file mode 100755 index 0000000000..ffd695d3e1 --- /dev/null +++ b/m4/autoconf-archive/ax_set_default_paths_system.m4 @@ -0,0 +1,139 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_set_default_paths_system.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_SET_DEFAULT_PATHS_SYSTEM +# +# DESCRIPTION +# +# the most interesting changes go about windows-targets - where the +# default_prefix is set to /programs, and quite some directories are +# aliased: sbindir := libdir := bindir and the docprefix-defaults are also +# a bit different, even on FHS2-compliant systems where the mandir is +# going to $prefix/man only if prefix=/usr, otherwise they shall go to +# $datadir/man. We use an extra docprefix to express it which is either +# defined as being prefix or datadir. not SUBSTed here. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AU_ALIAS([AC_SET_DEFAULT_PATHS_SYSTEM], [AX_SET_DEFAULT_PATHS_SYSTEM]) +AC_DEFUN([AX_SET_DEFAULT_PATHS_SYSTEM], +[AC_REQUIRE([AC_CANONICAL_HOST]) # -------------------------------------------- +case "$prefix:$ac_default_prefix" in + NONE:/usr/local) + result="" + AC_MSG_CHECKING(default prefix path) + case "${target_os}" in + *cygwin* | *mingw* | *uwin* | *djgpp | *emx* ) + if test "${host_os}" = "${target_os}" ; then + ac_default_prefix="/programs" + result="(win/dos target)" + else + case "$PATH" in + *:/usr/local/cross-tools/$target_alias/bin:*) + ac_default_prefix="/usr/local/cross-tools/$target_alias" ;; + *:/usr/local/$target_alias/bin:*) + ac_default_prefix="/usr/local/$target_alias" ;; + *:/usr/local/$target_cpu-$target_os/bin:*) + ac_default_prefix="/usr/local/$target_cpu-$target_os" ;; + *) + ac_default_prefix="/programs" ;; + esac + result="(win/dos cross-compiler)" + fi + ;; + esac + AC_MSG_RESULT($ac_default_prefix $result) + ;; +esac +AC_MSG_CHECKING(default prefix system) +result="$prefix" ; test "$result" = "NONE" && result="$ac_default_prefix" +case ${result} in + /programs | /programs/*) result="is win-/programs" + # on win/dos, .exe .dll and .cfg live in the same directory + libdir=`echo $libdir |sed -e 's:^..exec_prefix./lib$:${bindir}:'` + sbindir=`echo $sbindir |sed -e 's:^..exec_prefix./sbin$:${libdir}:'` + sysconfdir=`echo $sysconfdir |sed -e 's:^..prefix./etc$:${sbindir}:'` + libexecdir=`echo $libexecdir |sed -e 's:/libexec$:/system:'` + # help-files shall be set with --infodir, docprefix is datadir + docprefix="${datadir}" + mandir=`echo $mandir \ + |sed -e 's:^..prefix./man$:${datadir}/info:'` + includedir=`echo $includedir \ + |sed -e 's:^..prefix./include$:${datadir}/include:'` + # other state files (but /etc) are moved to datadir + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:${datadir}/default:'` + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:${datadir}/current:'` + ;; + /usr) result="is /usr-shipped" + # doc files are left at prefix + docprefix="${prefix}" + # state files go under /top + sysconfdir=`echo $sysconfdir |sed -e 's:^..prefix./etc$:/etc:'` + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:/etc/default:'` + # $prefix/var is going to end up in /var/lib + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:/var/lib:'` + ;; + /opt | /opt/*) result="is /opt-package" + # state files go under /top/prefix + sysconfdir=`echo $sysconfdir \ + |sed -e 's:^..prefix./etc$:/etc${prefix}:'` + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:/etc/default${prefix}:'` + # $prefix/var is going to be /var$prefix... once again + localstatedir=`echo $localstatedir \ + |sed -e 's:^..prefix./var$:/var${prefix}:'` + # doc files are left at prefix + docprefix="${prefix}" + ;; + *) result="is /local-package" + # doc files are moved from prefix down to datadir + docprefix="${datadir}" + mandir=`echo $mandir \ + |sed -e 's:^..prefix./man$:${datadir}/man:'` + infodir=`echo $infodir \ + |sed -e 's:^..prefix./infodir$:${datadir}/info:'` + # never use $prefix/com - that is no good idea + sharedstatedir=`echo $sharedstatedir \ + |sed -e 's:^..prefix./com$:${sysconfdir}/default:'` + ;; +esac +AC_MSG_RESULT($result) +# -------------------------------------------------------- +]) diff --git a/m4/autoconf-archive/ax_short_sleep.m4 b/m4/autoconf-archive/ax_short_sleep.m4 new file mode 100755 index 0000000000..270b123f76 --- /dev/null +++ b/m4/autoconf-archive/ax_short_sleep.m4 @@ -0,0 +1,92 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_short_sleep.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SHORT_SLEEP +# +# DESCRIPTION +# +# This macro searches for a "sleep" function that has 1/1000 of a second +# accuracy. On some systems, this is known as nap() and on others usleep() +# / 1000. There are probably other functions like this defined in other +# system libraries, but we don't know how to search for them yet. +# Contributions joyously accepted. :) +# +# LICENSE +# +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([ETR_SHORT_SLEEP], [AX_SHORT_SLEEP]) +AC_DEFUN([AX_SHORT_SLEEP], +[ + AC_MSG_CHECKING([for nap() in libc]) + AC_TRY_LINK([ extern "C" long nap(long ms); ], [ nap(42); ], + [ + ax_ss_found=yes + ax_ss_factor=1 + AC_DEFINE(HAVE_NAP,1, + [Define to use the nap() system call for short sleeps]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ax_ss_found=no + ]) + + if test x"$ax_ss_found" = "xno" + then + AC_MSG_CHECKING([for usleep()]) + AC_TRY_LINK([ #include ], [ usleep(42); ], + [ + ax_ss_found=yes + ax_ss_factor=1000 + AC_DEFINE(HAVE_USLEEP,1, + [Define to use the usleep() system call for short sleeps]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ax_ss_found=no + ]) + fi + + if test x"$ax_ss_found" = "xno" + then + save_LIBS=$LIBS + LIBS="$LIBS -lx" + AC_MSG_CHECKING([for nap() in libx]) + AC_TRY_LINK([ extern "C" long nap(long ms); ], [ nap(42); ], + [ + ax_ss_found=yes + ax_ss_factor=1 + AC_DEFINE(HAVE_NAP,1, + [Define to use the nap() system call for short sleeps]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ax_ss_found=no + ]) + + LIBS=$save_LIBS + AX_SS_LIB=-lx + AC_SUBST(AX_SS_LIB) + fi + + if test x"$ax_ss_found" = "xyes" + then + AC_DEFINE_UNQUOTED(SHORT_SLEEP_FACTOR, $ax_ss_factor, + [Multiply milliseconds by this to get the argument for the short sleep system call]) + else + AC_MSG_ERROR([Could not find a "short sleep" system call.]) + fi +])dnl AX_SHORT_SLEEP diff --git a/m4/autoconf-archive/ax_silent_mode.m4 b/m4/autoconf-archive/ax_silent_mode.m4 new file mode 100755 index 0000000000..15ccce5cf2 --- /dev/null +++ b/m4/autoconf-archive/ax_silent_mode.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_silent_mode.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SILENT_MODE(on|off) +# +# DESCRIPTION +# +# Temporarily disable console output when running Autoconf macros. For +# example: +# +# AX_SILENT_MODE(on) dnl disable console output +# AC_PROG_CXX +# AX_SILENT_MODE(off) dnl enable console output +# AC_PROG_RANLIB +# +# LICENSE +# +# Copyright (c) 2008 Peter Simons +# Copyright (c) 2008 Paolo Bonzini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_SILENT_MODE], + [ + case "$1" in + on) + exec 6>/dev/null + ;; + off) + exec 6>&1 + ;; + *) + AC_MSG_ERROR([Silent mode can only be switched "on" or "off".]) + ;; + esac + ])dnl diff --git a/m4/autoconf-archive/ax_sip_devel.m4 b/m4/autoconf-archive/ax_sip_devel.m4 new file mode 100755 index 0000000000..662c6213e0 --- /dev/null +++ b/m4/autoconf-archive/ax_sip_devel.m4 @@ -0,0 +1,108 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sip_devel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SIP_DEVEL([]) +# +# DESCRIPTION +# +# Searches for the sip executable and the sip include path. The sip +# include path consists of two components, one which contains the file +# qt/qtmod.sip and the other one the path to sip.h, which should be found +# in the include/pythonX.Y directory. +# +# The macro bails out if the executable or the file cannot be located. +# Otherwise it defines: +# +# SIP the path to the sip executable +# SIP_CPPFLAGS include path: -I -I +# +# Example: +# +# AX_SIP_DEVEL +# AX_SIP_DEVEL([4.1]) +# +# Requires: perl (for version string comparison) +# +# FIXME: Use AX_COMPARE_VERSION instead. +# +# LICENSE +# +# Copyright (c) 2008 Uwe Mayer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([MERK_SIP_DEVEL], [AX_SIP_DEVEL]) +AC_DEFUN([AX_SIP_DEVEL],[ +#-- provide --with-sip=PATH command line argument +AC_ARG_WITH([sip], + AS_HELP_STRING([--with-sip=PATH], [specify the location of the qt/qtmod.sip file]), + [sip_search_dir="$withval"], + [sip_search_dir=""]) + +#-- check for sip executable +AC_PATH_PROG([SIP], [sip], [no]) +if test x"$SIP" == x"no"; then + AC_MSG_ERROR([failed to find required command sip]) +fi +AC_SUBST([SIP]) + +#-- check for minimum sip version +if test x"$1" != x""; then + AC_CHECK_PROG([PERL], [perl], [$(which perl)]) + if test x"$PERL" == x""; then + AC_MSG_ERROR([perl required for checking sip version]) + fi + AC_MSG_CHECKING([sip version >= $1]) + sip_version=$($SIP -V |cut -f 1 -d " ") + ax_sip_devel_result=$(echo "$sip_version" |perl -e '("$1" lt ) && print "ok"') + if test x"$ax_sip_devel_result" == x""; then + AC_MSG_RESULT([$sip_version]) + AC_MSG_ERROR([a newer version of sip is required]) + else + AC_MSG_RESULT([ok]) + fi +fi + +#-- Check for SIP include path +AC_MSG_CHECKING([for sip include path]) + +# check for qt/qtmod.sip +for i in "$sip_search_dir" "/usr/share/sip"; do + sip_path1=`find $i -type f -name qtmod.sip -print | sed "1q"` + if test -n "$sip_path1"; then + break + fi +done + +sip_path1=`echo "$sip_path1" | sed 's,/qt/qtmod.sip,,'` +if test -z "$sip_path1" ; then + AC_MSG_ERROR([cannot find qt/qtmod.sip; try --with-sip=PATH]) +fi + +# check for sip.h +dnl this part of the code to detect python version and include path +dnl was taken from AX_PYTHON_DEVEL macro, (rev. 2008-04-12) +python_path=`echo $PYTHON | sed "s,/bin.*$,,"` +for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do + python_path=`find $i -type f -name Python.h -print | sed "1q"` + if test -n "$python_path" ; then + break + fi +done +sip_path2=`echo $python_path | sed "s,/Python.h$,,"` +if ! test -f "$sip_path2/sip.h"; then + AC_MSG_ERROR([cannot find include path to sip.h]) +fi + +AC_MSG_RESULT([$sip_path1,$sip_path2]) + +AC_SUBST([SIP_CPPFLAGS],["-I$sip_path1 -I$sip_path2"]) +]) diff --git a/m4/autoconf-archive/ax_spec_file.m4 b/m4/autoconf-archive/ax_spec_file.m4 new file mode 100755 index 0000000000..01ea91cab5 --- /dev/null +++ b/m4/autoconf-archive/ax_spec_file.m4 @@ -0,0 +1,133 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_spec_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SPEC_FILE [(rpmspecfile [,subdirpath])] +# +# DESCRIPTION +# +# set the specfile - if no argument has been given then check whether the +# ac_unique_file looks like a .spec file and use it. This macro is +# ac_REQUIRED by many AX_SPEC_ routines. +# +# the AX_SPEC_EXTRACT macro is a helper used by many AX_SPEC_ routines and +# therefore placed here to be automatically included in the macro set of +# (older) aclocal/acinclude. +# +# AX_SPEC_EXTRACT(shellvar [,specvar [,defaultvalue]]) +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_SPEC_FILE], +[ AC_MSG_CHECKING([rpm spec file]) + if test ".$1" != "." ; then + ax_spec_file_="$1" + ax_spec_file=`basename $1` + else + case ".$ac_unique_file" in + *.spec) ax_spec_file="$ac_unique_file" + ax_spec_file_="$ac_unique_file" ;; + *) ax_spec_file="TODO" + if test ".$PACKAGE" != "." + then ax_spec_file_="$PACKAGE.spec" + else ax_spec_file_="README" + fi + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) < +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 12 + +AC_DEFUN([AX_SPEC_PACKAGE_LICENSE],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_LICENSE])dnl + AC_MSG_CHECKING([for spec license type]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[license],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ *License//g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for LICENSE / COPYRIGHT + if test ".$VAR" = "." ; then + for ac_file in "$srcdir/COPYING" "$srcdir/COPYING" "$srcdir/LICENSE" ; do + test -f "$ac_file" || continue +dnl http://www.ibiblio.org/osrt/omf/omf_elements "16. Rights" + if grep "GNU LESSER GENERAL PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="GNU LGPL" ; break + elif grep "GNU GENERAL PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="GNU GPL" ; break + elif grep "MOZILLA PUBLIC LICENSE" "$ac_file" >/dev/null + then VAR="MPL" ; break + elif grep "Mozilla Public License" "$ac_file" >/dev/null + then VAR="MPL" ; break + elif grep -i "artistic license" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "artistic control" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "semblance of artistic" "$ac_file" >/dev/null + then VAR="Artistic" ; break + elif grep -i "above copyright notice" "$ac_file" >/dev/null + then VAR="BSD" ; break + fi + done + if test ".$VAR" = "." ; then + if test "$srcdir/COPYING.LIB" ; then VAR="GNU LGPL" + elif test ".$ltmain" != "." ; then VAR="GNU LGPL" + else VAR="GNU GPL" + fi + fi + fi + ],[test ".$VAR" = "." && VAR="$2"]) + test "$VAR" = "GPL" && VAR="GNU GPL" + test "$VAR" = "LGPL" && VAR="GNU LGPL" + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_SUMMARY],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_SUMMARY])dnl + AC_MSG_CHECKING([for spec summary]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[summary],m4_ifval($1,$1)) + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for SUMMARY + if test ".$VAR" = "." ; then VAR="$PACKAGE" + test ".$VAR" = "." && VAR="foo" + test ".$ltmain" != "." && VAR="$VAR library" + fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_ICON],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_ICON])dnl + AC_MSG_CHECKING([for spec icon]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[icon],m4_ifval($1,$1)) + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for ICON + if test ".$VAR" = "." ; then VAR="$PACKAGE-icon.png" ; fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_CATEGORY],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_CATEGORY])dnl + AC_MSG_CHECKING([for spec category]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[group],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for CATEGORY + if test ".$VAR" = "." ; then if test ".$ltmain" != "." + then VAR="Development/Library" + else VAR="Development/Other" + fi fi + ],[test ".$VAR" = "." && VAR="$2"]) + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_NAME],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_NAME])dnl + AC_MSG_CHECKING([for spec package]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[name],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for PACKAGE + test ".$VAR" = "." && VAR=`basename $ax_spec_file .spec` + test ".$VAR" = ".README" && VAR="TODO" + test ".$VAR" = ".TODO" && VAR="foo" + ],[test ".$VAR" = "." && VAR="$2"]) + test "VAR" = "PACKAGE_NAME" && test ".$PACKAGE" = "." && PACKAGE="$VAR" + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +AC_DEFUN([AX_SPEC_PACKAGE_VERSION_],[AC_REQUIRE([AX_SPEC_FILE])dnl + AS_VAR_PUSHDEF([VAR],[PACKAGE_VERSION])dnl + AC_MSG_CHECKING([for spec version]) + if test ".$VAR" = "." ; then if test ! -f $ax_spec_file + then k="(w/o spec)" + else k="" + AX_SPEC_EXTRACT(VAR,[version],m4_ifval($1,$1)) + VAR=`echo $VAR | sed -e 's/ /-/g'` + fi fi + test ".$VAR" = "." && k="(fallback)" + ifelse($2,,[dnl here the defaults for VERSION + test ".$VAR" = "." && VAR=`date +0.%y.%W%w` + ],[test ".$VAR" = "." && VAR="$2"]) + test "VAR" = "PACKAGE_VERSION" && test ".$VERSION" = "." && VERSION="$VAR" + case "$VAR" in # note we set traditional VERSION before cleaning things up + *.*.) VAR="$VAR"`date +%W%w` ;; + *.*.*) ;; + *.) VAR="$VAR"`date +%y.%W%w` ;; + *.*) VAR="$VAR.0" ;; + *) VAR=AS_TR_SH([$VAR]) ; VAR="$VAR.`date +%y.%W%w`" ;; + esac + VAR=`echo $VAR | sed -e "s/[[.]][0]\\([0-9]\\)/.\\1/g"` + AC_MSG_RESULT([m4_ifval([$1],[$1 = ])$VAR $k]) + AS_VAR_POPDEF([VAR])dnl +]) + +dnl for compatibility, we define ax_spec_package_version +dnl to do all of ax_spec_package_name as well. +AC_DEFUN([AX_SPEC_PACKAGE_VERSION],[AC_REQUIRE([AX_SPEC_FILE])dnl + ifelse($1,, + AC_MSG_WARN([please use ax_spec_package_AND_version now!]), + AC_MSG_ERROR([please use ax_spec_package_AND_version now!])) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ + +]) + +AC_DEFUN([AX_SPEC_PACKAGE_AND_VERSION],[ + m4_ifset([m4_ax_spec_file],,[AX_SPEC_FILE($1)]) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ +]) + +AC_DEFUN([AX_SPEC_DEFAULTS],[ + m4_ifset([m4_ax_spec_file],,[AX_SPEC_FILE($1)]) + AX_SPEC_PACKAGE_NAME + AX_SPEC_PACKAGE_VERSION_ + AX_SPEC_PACKAGE_LICENSE + AX_SPEC_PACKAGE_SUMMARY + AX_SPEC_PACKAGE_CATEGORY + AX_SPEC_PACKAGE_ICON +]) diff --git a/m4/autoconf-archive/ax_split_version.m4 b/m4/autoconf-archive/ax_split_version.m4 new file mode 100755 index 0000000000..2176eb0a98 --- /dev/null +++ b/m4/autoconf-archive/ax_split_version.m4 @@ -0,0 +1,38 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_split_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SPLIT_VERSION +# +# DESCRIPTION +# +# Splits a version number in the format MAJOR.MINOR.POINT into its +# separate components. +# +# Sets the variables. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_SPLIT_VERSION],[ + AC_REQUIRE([AC_PROG_SED]) + AX_MAJOR_VERSION=`echo "$VERSION" | $SED 's/\([[^.]][[^.]]*\).*/\1/'` + AX_MINOR_VERSION=`echo "$VERSION" | $SED 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` + AX_POINT_VERSION=`echo "$VERSION" | $SED 's/[[^.]][[^.]]*.[[^.]][[^.]]*.\(.*\)/\1/'` + AC_MSG_CHECKING([Major version]) + AC_MSG_RESULT([$AX_MAJOR_VERSION]) + AC_MSG_CHECKING([Minor version]) + AC_MSG_RESULT([$AX_MINOR_VERSION]) + AC_MSG_CHECKING([Point version]) + AC_MSG_RESULT([$AX_POINT_VERSION]) +]) diff --git a/m4/autoconf-archive/ax_string_strcasecmp.m4 b/m4/autoconf-archive/ax_string_strcasecmp.m4 new file mode 100755 index 0000000000..a5f2101fbb --- /dev/null +++ b/m4/autoconf-archive/ax_string_strcasecmp.m4 @@ -0,0 +1,52 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_string_strcasecmp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_STRING_STRCASECMP +# +# DESCRIPTION +# +# This macro tries to find strcasecmp() in string.h. +# +# Use this macro in conjunction with AX_STRINGS_STRCASECMP in your +# configure.in like so: +# +# AX_STRING_STRCASECMP +# if test x"$ac_cv_string_strcasecmp" = "xno" ; then +# AX_STRINGS_STRCASECMP +# fi +# +# This will cause either HAVE_STRING_STRCASECMP or HAVE_STRINGS_STRCASECMP +# to be defined in config.h, which will tell your code what header to +# include to get strcasecmp()'s prototype. +# +# LICENSE +# +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([ETR_STRING_STRCASECMP], [AX_STRING_STRCASECMP]) +AC_DEFUN([AX_STRING_STRCASECMP], +[ +AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [ + AC_TRY_LINK( + [ #include ], + [ strcasecmp("foo", "bar"); ], + ac_cv_string_strcasecmp=yes, + ac_cv_string_strcasecmp=no) +]) + + if test x"$ac_cv_string_strcasecmp" = "xyes" + then + AC_DEFINE(HAVE_STRING_STRCASECMP, 1, + [ Define if your system has strcasecmp() in string.h ]) + fi +]) dnl AX_STRING_STRCASECMP diff --git a/m4/autoconf-archive/ax_strings_strcasecmp.m4 b/m4/autoconf-archive/ax_strings_strcasecmp.m4 new file mode 100755 index 0000000000..63b4047e82 --- /dev/null +++ b/m4/autoconf-archive/ax_strings_strcasecmp.m4 @@ -0,0 +1,41 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_strings_strcasecmp.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_STRINGS_STRCASECMP +# +# DESCRIPTION +# +# This macro tries to find strcasecmp() in strings.h. See the +# AX_STRING_STRCASECMP macro's commentary for usage details. +# +# LICENSE +# +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([ETR_STRINGS_STRCASECMP], [AX_STRINGS_STRCASECMP]) +AC_DEFUN([AX_STRINGS_STRCASECMP], +[ AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [ + + AC_TRY_LINK( + [ #include ], + [ strcasecmp("foo", "bar"); ], + ac_cv_strings_strcasecmp=yes, + ac_cv_strings_strcasecmp=no) +]) + + if test x"$ac_cv_strings_strcasecmp" = "xyes" + then + AC_DEFINE(HAVE_STRINGS_STRCASECMP, 1, + [ Define if your system has strcasecmp() in strings.h ]) + fi +]) dnl AX_STRINGS_STRCASECMP diff --git a/m4/autoconf-archive/ax_struct_semun.m4 b/m4/autoconf-archive/ax_struct_semun.m4 new file mode 100755 index 0000000000..3e006ac3c5 --- /dev/null +++ b/m4/autoconf-archive/ax_struct_semun.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_struct_semun.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_STRUCT_SEMUN +# +# DESCRIPTION +# +# This macro checks to see if sys/sem.h defines struct semun. Some systems +# do, some systems don't. Your code must be able to deal with this +# possibility; if HAVE_STRUCT_SEMUM isn't defined for a given system, you +# have to define this structure before you can call functions like +# semctl(). +# +# You should call AX_SYSV_IPC before this macro, to separate the check for +# System V IPC headers from the check for struct semun. +# +# LICENSE +# +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([ETR_STRUCT_SEMUN], [AX_STRUCT_SEMUN]) +AC_DEFUN([AX_STRUCT_SEMUN], +[ +AC_CACHE_CHECK([for struct semun], ac_cv_struct_semun, [ + AC_TRY_COMPILE( + [ + #include + #include + #include + ], + [ struct semun s; ], + ac_cv_struct_semun=yes, + ac_cv_struct_semun=no) +]) + + if test x"$ac_cv_struct_semun" = "xyes" + then + AC_DEFINE(HAVE_STRUCT_SEMUN, 1, + [ Define if your system's sys/sem.h file defines struct semun ]) + fi +]) dnl AX_STRUCT_SEMUN diff --git a/m4/autoconf-archive/ax_subdir_files.m4 b/m4/autoconf-archive/ax_subdir_files.m4 new file mode 100755 index 0000000000..1c4b152116 --- /dev/null +++ b/m4/autoconf-archive/ax_subdir_files.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_subdir_files.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SUBDIR_FILES [(SUBDIRS [, CASEPATTERN])] +# +# DESCRIPTION +# +# Look into subdirs and copy the (real) files that match pattern into the +# local directory. Preferably we use a symbolic link of course. existing +# local files are not overwritten. +# +# The default casepattern is "*.?|*.cc|*.cpp", the default subdir-list +# contains all subdirs available. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_SUBDIR_FILES], [AX_SUBDIR_FILES]) +AC_DEFUN([AX_SUBDIR_FILES], +[AC_BEFORE($0,[AX_PROG_CP_S]) + for ac_subdir in ifelse([$1], , *, $1) ; do + if test -d $ac_subdir ; then + AC_MSG_CHECKING(subdir $ac_subdir) + for ac_file in $ac_subdir/* ; do + if test -f $ac_file ; then + if test ! -e `basename $ac_file` ; then + case `basename $ac_file` in + ifelse([$2], , *.?|*.cc|*.cpp,[$1])) + echo ${ECHO_N} "$ac_file," ; + $CP_S $ac_file . ;; + esac + fi + fi + done + AC_MSG_RESULT(;) + fi + done +]) diff --git a/m4/autoconf-archive/ax_subdirs_configure.m4 b/m4/autoconf-archive/ax_subdirs_configure.m4 new file mode 100755 index 0000000000..84df56404e --- /dev/null +++ b/m4/autoconf-archive/ax_subdirs_configure.m4 @@ -0,0 +1,337 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_subdirs_configure.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SUBDIRS_CONFIGURE( [subdirs], [mandatory arguments], [possibly merged arguments], [replacement arguments], [forbidden arguments]) +# +# DESCRIPTION +# +# AX_SUBDIRS_CONFIGURE attempts to be the equivalent of AC_CONFIG_SUBDIRS +# with customizable options for configure scripts. +# +# Run the configure script for each directory from the comma-separated m4 +# list 'subdirs'. This macro can be used multiple times. All arguments of +# this macro must be comma-separated lists. +# +# All command line arguments from the parent configure script will be +# given to the subdirectory configure script after the following +# modifications (in that order): +# +# 1. The arguments from the 'mandatory arguments' list shall always be +# appended to the argument list. +# +# 2. The arguments from the 'possibly merged arguments' list shall be +# added if not present in the arguments of the parent configure script or +# merged with the existing argument otherwise. +# +# 3. The arguments from the 'replacement arguments' list shall be added if +# not present in the arguments of the parent configure script or replace +# the existing argument otherwise. +# +# 4. The arguments from the 'forbidden arguments' list shall always be +# removed from the argument list. +# +# The lists 'mandatory arguments' and 'forbidden arguments' can hold any +# kind of argument. The 'possibly merged arguments' and 'replacement +# arguments' expect their arguments to be of the form --option-name=value. +# +# This macro aims to remain as close as possible to the AC_CONFIG_SUBDIRS +# macro. It corrects the paths for '--cache-file' and '--srcdir' and adds +# '--disable-option-checking' and '--silent' if necessary. +# +# This macro also sets the output variable subdirs_extra to the list of +# directories recorded with AX_SUBDIRS_CONFIGURE. This variable can be +# used in Makefile rules or substituted in configured files. +# +# This macro shall do nothing more than managing the arguments of the +# configure script. Just like when using AC_CONFIG_SUBDIRS, it is up to +# the user to check any requirements or define and substitute any required +# variable for the remainder of the project. +# +# Configure scripts recorded with AX_SUBDIRS_CONFIGURE may be executed +# before configure scripts recorded with AC_CONFIG_SUBDIRS. +# +# Without additional arguments, the behaviour of AX_SUBDIRS_CONFIGURE +# should be identical to the behaviour of AC_CONFIG_SUBDIRS, apart from +# the contents of the variables subdirs and subdirs_extra (except that +# AX_SUBDIRS_CONFIGURE expects a comma-separated m4 list): +# +# AC_CONFIG_SUBDIRS([something]) +# AX_SUBDIRS_CONFIGURE([something]) +# +# This macro may be called multiple times. +# +# Usage example: +# +# Let us assume our project has 4 dependencies, namely A, B, C and D. Here +# are some characteristics of our project and its dependencies: +# +# - A does not require any special option. +# +# - we want to build B with an optional feature which can be enabled with +# its configure script's option '--enable-special-feature'. +# +# - B's configure script is strange and has an option '--with-B=build'. +# After close inspection of its documentation, we don't want B to receive +# this option. +# +# - C and D both need B. +# +# - Just like our project, C and D can build B themselves with the option +# '--with-B=build'. +# +# - We want C and D to use the B we build instead of building it +# themselves. +# +# Our top-level configure script will be called as follows: +# +# $ --with-A=build --with-B=build --with-C=build \ +# --with-D=build --some-option +# +# Thus we have to make sure that: +# +# - neither B, C or D receive the option '--with-B=build' +# +# - C and D know where to find the headers and libraries of B. +# +# Under those conditions, we can use the AC_CONFIG_SUBDIRS macro for A, +# but need to use AX_SUBDIRS_CONFIGURE for B, C and D: +# +# - B must receive '--enable-special-feature' but cannot receive +# '--with-B=build' +# +# - C and D cannot receive '--with-B=build' (or else it would be built +# thrice) and need to be told where to find B (since we are building it, +# it would probably not be available in standard paths). +# +# Here is a configure.ac snippet that solves our problem: +# +# AC_CONFIG_SUBDIRS([dependencies/A]) +# AX_SUBDIRS_CONFIGURE( +# [dependencies/B], [--enable-special-feature], [], [], +# [--with-B=build]) +# AX_SUBDIRS_CONFIGURE( +# [[dependencies/C],[dependencies/D]], +# [], +# [[CPPFLAGS=-I${ac_top_srcdir}/dependencies/B -I${ac_top_builddir}/dependencies/B], +# [LDFLAGS=-L${ac_abs_top_builddir}/dependencies/B/.libs]], +# [--with-B=system], +# []) +# +# If using automake, the following can be added to the Makefile.am (we use +# both $(subdirs) and $(subdirs_extra) since our example above used both +# AC_CONFIG_SUBDIRS and AX_SUBDIRS_CONFIGURE): +# +# SUBDIRS = $(subdirs) $(subdirs_extra) +# +# LICENSE +# +# Copyright (c) 2017 Harenome Ranaivoarivony-Razanajato +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# Under Section 7 of GPL version 3, you are granted additional permissions +# described in the Autoconf Configure Script Exception, version 3.0, as +# published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . + +#serial 4 + +AC_DEFUN([AX_SUBDIRS_CONFIGURE], +[ + dnl Calls to AC_CONFIG_SUBDIRS perform preliminary steps and build a list + dnl '$subdirs' which is used later by _AC_OUTPUT_SUBDIRS (used by AC_OUTPUT) + dnl to actually run the configure scripts. + dnl This macro performs similiar preliminary steps but uses + dnl AC_CONFIG_COMMANDS_PRE to delay the final tasks instead of building an + dnl intermediary list and relying on another macro. + dnl + dnl Since each configure script can get different options, a special variable + dnl named 'ax_sub_configure_args_' is constructed for each + dnl subdirectory. + + # Various preliminary checks. + AC_REQUIRE([AC_DISABLE_OPTION_CHECKING]) + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) + AS_LITERAL_IF([$1], [], + [AC_DIAGNOSE([syntax], [$0: you should use literals])]) + + m4_foreach(subdir_path, [$1], + [ + ax_dir="subdir_path" + + dnl Build the argument list in a similiar fashion to AC_CONFIG_SUBDIRS. + dnl A few arguments found in the final call to the configure script are not + dnl added here because they rely on variables that may not yet be available + dnl (see below the part that is similiar to _AC_OUTPUT_SUBDIRS). + # Do not complain, so a configure script can configure whichever parts of a + # large source tree are present. + if test -d "$srcdir/$ax_dir"; then + _AC_SRCDIRS(["$ax_dir"]) + # Remove --cache-file, --srcdir, and --disable-option-checking arguments + # so they do not pile up. + ax_args= + ax_prev= + eval "set x $ac_configure_args" + shift + for ax_arg; do + if test -n "$ax_prev"; then + ax_prev= + continue + fi + case $ax_arg in + -cache-file | --cache-file | --cache-fil | --cache-fi | --cache-f \ + | --cache- | --cache | --cach | --cac | --ca | --c) + ax_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ + | --c=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ax_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ax_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* \ + | --p=*) + ;; + --disable-option-checking) + ;; + *) case $ax_arg in + *\'*) ax_arg=$(AS_ECHO(["$ax_arg"]) | sed "s/'/'\\\\\\\\''/g");; + esac + AS_VAR_APPEND([ax_args], [" '$ax_arg'"]) ;; + esac + done + # Always prepend --disable-option-checking to silence warnings, since + # different subdirs can have different --enable and --with options. + ax_args="--disable-option-checking $ax_args" + # Options that must be added as they are provided. + m4_ifnblank([$2], [m4_foreach(opt, [$2], [AS_VAR_APPEND(ax_args, " 'opt'") + ])]) + # New options that may need to be merged with existing options. + m4_ifnblank([$3], [m4_foreach(opt, [$3], + [ax_candidate="opt" + ax_candidate_flag="${ax_candidate%%=*}" + ax_candidate_content="${ax_candidate#*=}" + if test "x$ax_candidate" != "x" -a "x$ax_candidate_flag" != "x"; then + if echo "$ax_args" | grep -- "${ax_candidate_flag}=" >/dev/null 2>&1; then + [ax_args=$(echo $ax_args | sed "s,\(${ax_candidate_flag}=[^']*\),\1 ${ax_candidate_content},")] + else + AS_VAR_APPEND(ax_args, " 'opt'") + fi + fi + ])]) + # New options that must replace existing options. + m4_ifnblank([$4], [m4_foreach(opt, [$4], + [ax_candidate="opt" + ax_candidate_flag="${ax_candidate%%=*}" + ax_candidate_content="${ax_candidate#*=}" + if test "x$ax_candidate" != "x" -a "x$ax_candidate_flag" != "x"; then + if echo "$ax_args" | grep -- "${ax_candidate_flag}=" >/dev/null 2>&1; then + [ax_args=$(echo $ax_args | sed "s,${ax_candidate_flag}=[^']*,${ax_candidate},")] + else + AS_VAR_APPEND(ax_args, " 'opt'") + fi + fi + ])]) + # Options that must be removed. + m4_ifnblank([$5], [m4_foreach(opt, [$5], [ax_args=$(echo $ax_args | sed "s,'opt',,") + ])]) + AS_VAR_APPEND([ax_args], [" '--srcdir=$ac_srcdir'"]) + + # Add the subdirectory to the list of target subdirectories. + ax_subconfigures="$ax_subconfigures $ax_dir" + # Save the argument list for this subdirectory. + dnl $1 is a path to some subdirectory: m4_bpatsubsts() is used to convert + dnl $1 into a valid shell variable name. + dnl For instance, "ax_sub_configure_args_path/to/subdir" becomes + dnl "ax_sub_configure_args_path_to_subdir". + ax_var=$(printf "$ax_dir" | tr -c "0-9a-zA-Z_" "_") + eval "ax_sub_configure_args_$ax_var=\"$ax_args\"" + eval "ax_sub_configure_$ax_var=\"yes\"" + else + AC_MSG_WARN([could not find source tree for $ax_dir]) + fi + + dnl Add some more arguments to the argument list and then actually run the + dnl configure script. This is mostly what happens in _AC_OUTPUT_SUBDIRS + dnl except it does not iterate over an intermediary list. + AC_CONFIG_COMMANDS_PRE( + dnl This very line cannot be quoted! m4_foreach has some work here. + ax_dir="subdir_path" + [ + # Convert the path to the subdirectory into a shell variable name. + ax_var=$(printf "$ax_dir" | tr -c "0-9a-zA-Z_" "_") + ax_configure_ax_var=$(eval "echo \"\$ax_sub_configure_$ax_var\"") + if test "$no_recursion" != "yes" -a "x$ax_configure_ax_var" = "xyes"; then + AC_SUBST([subdirs_extra], ["$subdirs_extra $ax_dir"]) + ax_msg="=== configuring in $ax_dir ($(pwd)/$ax_dir)" + _AS_ECHO_LOG([$ax_msg]) + _AS_ECHO([$ax_msg]) + AS_MKDIR_P(["$ax_dir"]) + _AC_SRCDIRS(["$ax_dir"]) + + ax_popdir=$(pwd) + cd "$ax_dir" + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f "$ac_srcdir/configure.gnu"; then + ax_sub_configure=$ac_srcdir/configure.gnu + elif test -f "$ac_srcdir/configure"; then + ax_sub_configure=$ac_srcdir/configure + elif test -f "$ac_srcdir/configure.in"; then + # This should be Cygnus configure. + ax_sub_configure=$ac_aux_dir/configure + else + AC_MSG_WARN([no configuration information is in $ax_dir]) + ax_sub_configure= + fi + + if test -n "$ax_sub_configure"; then + # Get the configure arguments for the current configure. + eval "ax_sub_configure_args=\"\$ax_sub_configure_args_${ax_var}\"" + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ax_arg="--prefix=$prefix" + case $ax_arg in + *\'*) ax_arg=$(AS_ECHO(["$ax_arg"]) | sed "s/'/'\\\\\\\\''/g");; + esac + ax_sub_configure_args="'$ax_arg' $ax_sub_configure_args" + if test "$silent" = yes; then + ax_sub_configure_args="--silent $ax_sub_configure_args" + fi + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [[\\/]]* | ?:[[\\/]]* ) + ax_sub_cache_file=$cache_file ;; + *) # Relative name. + ax_sub_cache_file=$ac_top_build_prefix$cache_file ;; + esac + + AC_MSG_NOTICE([running $SHELL $ax_sub_configure $ax_sub_configure_args --cache-file=$ac_sub_cache_file]) + eval "\$SHELL \"$ax_sub_configure\" $ax_sub_configure_args --cache-file=\"$ax_sub_cache_file\"" \ + || AC_MSG_ERROR([$ax_sub_configure failed for $ax_dir]) + fi + + cd "$ax_popdir" + fi + ]) + ]) +]) diff --git a/m4/autoconf-archive/ax_subst_with.m4 b/m4/autoconf-archive/ax_subst_with.m4 new file mode 100755 index 0000000000..9212c53a54 --- /dev/null +++ b/m4/autoconf-archive/ax_subst_with.m4 @@ -0,0 +1,153 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_subst_with.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SUBST_WITH([varname]) +# +# DESCRIPTION +# +# a very simple macro but also very helpful - the varname is usually the +# one from an AC_ARG_ENABLE or AC_ARG_WITH option. it is transliterated +# into uppercase and a prefix WITH_ and WITHOUT_ that are both _SUBSTed. +# +# Only one of these is set to "#" while the other is empty. In other words +# a call like AC_WITHNONE(enable-call) will create two SUBST-symbols as +# WITH_ENABLE_CALL and WITHOUT_ENABLE_CALL. When the varname had been set +# to something not "no" or "0" or ":" or "false" then it results in +# +# WITH_ENABLE_CALL="" ; WITHOUT_ENABLE_CALL="#" +# +# which you can use in your Makefile quite easily as if using an +# AM_CONDITIONAL but which can be also parsed by normal make +# +# USE = @WITH_ENABLE_CALL@ -Denabled USE = @WITHOUT_ENABLE_CALL@ +# -Dnot_enabled +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +dnl AX_SUBST_WITH_IF(flag,cond) - not unlike AM_CONDITIONAL +AC_DEFUN([AX_SUBST_WITH_IF],[dnl +pushdef([VAR_WITH], patsubst(translit([with_$1], [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHOUT], patsubst(translit([without_$1], [a-z], [A-Z]), -, _))dnl +AC_SUBST(VAR_WITH) +AC_SUBST(VAR_WITHOUT) +if $2; then + VAR_WITH="" + VAR_WITHOUT="#" +else + VAR_WITH="#" + VAR_WITHOUT="" +fi +popdef([VAR_WITHOUT])dnl +popdef([VAR_WITH])dnl +]) + +dnl AX_SUBST_WITH(varname [,default]) - not unlike AM_CONDITIONAL +AC_DEFUN([AX_SUBST_WITH],[dnl +pushdef([VAR], patsubst(translit([with_$1], [A-Z], [a-z]), -, _))dnl +pushdef([VAR_WITH], patsubst(translit([with_$1], [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHOUT], patsubst(translit([without_$1], [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHVAL], patsubst(translit([withval_$1], [a-z], [A-Z]), -, _))dnl +AC_SUBST(VAR_WITH) +AC_SUBST(VAR_WITHOUT) +VAR_WITHVAL=`echo "$VAR"` +test ".$VAR_WITHVAL" = "." && VAR_WITHVAL="m4_ifval([$2],[$2],no)" +test ".$VAR_WITHVAL" = ".:" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".0" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".no" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".false" && VAR_WITHVAL="no" +if test ".$VAR_WITHVAL" != ".no" ; then + VAR_WITH="" + VAR_WITHOUT="#" +else + VAR_WITH="#" + VAR_WITHOUT="" +fi +popdef([VAR_WITHVAL])dnl +popdef([VAR_WITHOUT])dnl +popdef([VAR_WITH])dnl +popdef([VAR])dnl +]) + +dnl AX_SUBST_WITH_DEFINE(varname [,default]) - not unlike AM_CONDITIONAL +AC_DEFUN([AX_SUBST_WITH_DEFINE],[dnl +pushdef([VAR], patsubst(translit([with_$1], [A-Z], [a-z]), -, _))dnl +pushdef([VAR_WITH], patsubst(translit([with_$1], [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHOUT], patsubst(translit([without_$1], [a-z], [A-Z]), -, _))dnl +pushdef([VAR_WITHVAL], patsubst(translit([withval_$1], [a-z], [A-Z]), -, _))dnl +AC_SUBST(VAR_WITH) +AC_SUBST(VAR_WITHOUT) +VAR_WITHVAL=`echo "$VAR"` +test ".$VAR_WITHVAL" = "." && VAR_WITHVAL="m4_ifval([$2],[$2],no)" +test ".$VAR_WITHVAL" = ".:" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".0" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".no" && VAR_WITHVAL="no" +test ".$VAR_WITHVAL" = ".false" && VAR_WITHVAL="no" +if test ".$VAR_WITHVAL" != ".no" ; then + VAR_WITH="" + VAR_WITHOUT="#" + case "$VAR_WITHVAL" in + [[0123456789]]*) ;; + [yes)] VAR_WITHVAL="1" ;; + [*)] VAR_WITHVAL=`echo "\"$VAR_WITHVAL\"" | sed -e 's,"",",g'` ;; + esac +else + VAR_WITH="#" + VAR_WITHOUT="" +fi +if test ".$VAR_WITHVAL" != ".no" ; then + AC_DEFINE_UNQUOTED(VAR_WITH, $VAR_WITHVAL, + [whether $1 feature is enabled]) +fi dnl +popdef([VAR_WITHVAL])dnl +popdef([VAR_WITHOUT])dnl +popdef([VAR_WITH])dnl +popdef([VAR])dnl +]) + +dnl backward compatibility helpers +AC_DEFUN([AX_SUBST_WITH_ARG],[dnl +pushdef([VAR], patsubst(translit([with_$1], [A-Z], [a-z]), -, _))dnl +m4_ifvaln([$2],[test ".$VAR" = "." && VAR="$2"])dnl +AX_SUBST_WITH([$1],[$2]) +popdef([VAR])dnl +]) + +AC_DEFUN([AX_SUBST_WITH_DEFINE_ARG],[dnl +pushdef([VAR], patsubst(translit([with_$1], [A-Z], [a-z]), -, _))dnl +m4_ifvaln([$2],[test ".$VAR" = "." && VAR="$2"])dnl +AX_SUBST_WITH_DEFINE([$1],[$2]) +popdef([VAR])dnl +]) diff --git a/m4/autoconf-archive/ax_swig_enable_cxx.m4 b/m4/autoconf-archive/ax_swig_enable_cxx.m4 new file mode 100755 index 0000000000..694a80d31a --- /dev/null +++ b/m4/autoconf-archive/ax_swig_enable_cxx.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_swig_enable_cxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SWIG_ENABLE_CXX +# +# DESCRIPTION +# +# Enable SWIG C++ support. This affects all invocations of $(SWIG). +# +# LICENSE +# +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([SWIG_ENABLE_CXX], [AX_SWIG_ENABLE_CXX]) +AC_DEFUN([AX_SWIG_ENABLE_CXX],[ + AC_REQUIRE([AX_PKG_SWIG]) + AC_REQUIRE([AC_PROG_CXX]) + SWIG="$SWIG -c++" +]) diff --git a/m4/autoconf-archive/ax_swig_multi_module_support.m4 b/m4/autoconf-archive/ax_swig_multi_module_support.m4 new file mode 100755 index 0000000000..d18642c22b --- /dev/null +++ b/m4/autoconf-archive/ax_swig_multi_module_support.m4 @@ -0,0 +1,56 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_swig_multi_module_support.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_SWIG_MULTI_MODULE_SUPPORT +# +# DESCRIPTION +# +# Enable support for multiple modules. This effects all invocations of +# $(SWIG). You have to link all generated modules against the appropriate +# SWIG runtime library. If you want to build Python modules for example, +# use the AX_SWIG_PYTHON macro and link the modules against +# $(AX_SWIG_PYTHON_LIBS). +# +# LICENSE +# +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([SWIG_MULTI_MODULE_SUPPORT], [AX_SWIG_MULTI_MODULE_SUPPORT]) +AC_DEFUN([AX_SWIG_MULTI_MODULE_SUPPORT],[ + AC_REQUIRE([AX_PKG_SWIG]) + SWIG="$SWIG -noruntime" +]) diff --git a/m4/autoconf-archive/ax_swig_python.m4 b/m4/autoconf-archive/ax_swig_python.m4 new file mode 100755 index 0000000000..08b9671a21 --- /dev/null +++ b/m4/autoconf-archive/ax_swig_python.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_swig_python.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SWIG_PYTHON([use-shadow-classes = {no, yes}]) +# +# DESCRIPTION +# +# Checks for Python and provides the $(AX_SWIG_PYTHON_CPPFLAGS), and +# $(AX_SWIG_PYTHON_OPT) output variables. +# +# $(AX_SWIG_PYTHON_OPT) contains all necessary SWIG options to generate +# code for Python. Shadow classes are enabled unless the value of the +# optional first argument is exactly 'no'. If you need multi module +# support (provided by the AX_SWIG_MULTI_MODULE_SUPPORT macro) use +# $(AX_SWIG_PYTHON_LIBS) to link against the appropriate library. It +# contains the SWIG Python runtime library that is needed by the type +# check system for example. +# +# LICENSE +# +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([SWIG_PYTHON], [AX_SWIG_PYTHON]) +AC_DEFUN([AX_SWIG_PYTHON],[ + AC_REQUIRE([AX_PKG_SWIG]) + AC_REQUIRE([AX_PYTHON_DEVEL]) + test "x$1" != "xno" || swig_shadow=" -noproxy" + AC_SUBST([AX_SWIG_PYTHON_OPT],[-python$swig_shadow]) + AC_SUBST([AX_SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS]) +]) diff --git a/m4/autoconf-archive/ax_switch_flags.m4 b/m4/autoconf-archive/ax_switch_flags.m4 new file mode 100755 index 0000000000..d03c775d32 --- /dev/null +++ b/m4/autoconf-archive/ax_switch_flags.m4 @@ -0,0 +1,47 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_switch_flags.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SWITCH_FLAGS(newnamespace,[oldnamespace]) +# +# DESCRIPTION +# +# Switch common compilation flags from temporary variables between two +# compilation namespace. +# +# Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS, +# OBJCFLAGS. +# +# By default these flags are restored to a global (empty) namespace, but +# user could restore from specific NAMESPACE by using +# AX_RESTORE_FLAGS(NAMESPACE) macro. +# +# Typical usage is like: +# +# AX_SAVE_FLAGS(beginprogram) +# CPPFLAGS="-Imypackagespath ${CPPFLAGS}" +# AX_SWITCH_FLAGS(mypackage,beginprogram) +# +# LICENSE +# +# Copyright (c) 2009 Filippo Giunchedi +# Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University +# Copyright (c) 2011 Russ Allbery +# Copyright (c) 2013 Bastien ROUCARIES +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_SWITCH_FLAGS], [ + AC_REQUIRE(AX_SAVE_FLAGS) + AC_REQUIRE(AX_RESTORE_FLAGS) + AS_IF([test "X$1" = "X"], AC_MSG_ERROR(newnamespace is empty)] + AX_SAVE_FLAGS($1[]) + AX_RESTORE_FLAGS($2[]) +]) diff --git a/m4/autoconf-archive/ax_sys_dev_poll.m4 b/m4/autoconf-archive/ax_sys_dev_poll.m4 new file mode 100755 index 0000000000..915b03939c --- /dev/null +++ b/m4/autoconf-archive/ax_sys_dev_poll.m4 @@ -0,0 +1,50 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sys_dev_poll.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SYS_DEV_POLL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# This macro tests for the presence of /dev/poll support in the build +# environment. It checks that the needed structure (dvpoll) is available, +# with the standard fields. /dev/poll is most often seen under Solaris. +# +# Note that it does not attempt to actually open /dev/poll -- you should +# test for errors when you open it and then fall back to poll() if it is +# unavailable. +# +# LICENSE +# +# Copyright (c) 2008 Dave Benson +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AC_SYS_DEV_POLL], [AX_SYS_DEV_POLL]) +AC_DEFUN([AX_SYS_DEV_POLL], [AC_CACHE_CHECK(for /dev/poll support, ac_cv_dev_poll, + AC_TRY_COMPILE([#include +#include +#include +#include +#include ], +[ + struct dvpoll p; + p.dp_timeout = 0; + p.dp_nfds = 0; + p.dp_fds = (struct pollfd *) 0; + return 0; +], + ac_cv_dev_poll=yes + [$1], + ac_cv_dev_poll=no + [$2] + ) + ) +]) diff --git a/m4/autoconf-archive/ax_sys_largefile_sensitive.m4 b/m4/autoconf-archive/ax_sys_largefile_sensitive.m4 new file mode 100755 index 0000000000..90db1e2e97 --- /dev/null +++ b/m4/autoconf-archive/ax_sys_largefile_sensitive.m4 @@ -0,0 +1,80 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sys_largefile_sensitive.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_SYS_LARGEFILE_SENSITIVE +# +# DESCRIPTION +# +# Check whether the current system is sensitive to -Ddefines making off_t +# having different types/sizes. Automatically define a config.h symbol +# LARGEFILE_SENSITIVE if that is the case, otherwise leave everything as +# is. +# +# This macro builds on top of AC_SYS_LARGEFILE to detect whether special +# options are needed to make the code use 64bit off_t - in many setups +# this will also make the code use 64bit off_t immediately. +# +# The common use of a LARGEFILE_SENSITIVE config.h-define is to rename +# exported functions, usually adding a 64 to the original function name. +# Such renamings are only needed on systems being both (a) 32bit off_t by +# default and (b) implementing large.file extensions (as for unix98). +# +# a renaming section could look like this: +# +# #if defined LARGEFILE_SENSITIVE && _FILE_OFFSET_BITS+0 == 64 +# #define zzip_open zzip_open64 +# #define zzip_seek zzip_seek64 +# #endif +# +# for libraries, it is best to take advantage of the prefix-config.h +# macro, otherwise you want to export a renamed LARGEFILE_SENSITIVE in an +# installed header file. -> see AX_PREFIX_CONFIG_H +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AU_ALIAS([AC_SYS_LARGEFILE_SENSITIVE], [AX_SYS_LARGEFILE_SENSITIVE]) +AC_DEFUN([AX_SYS_LARGEFILE_SENSITIVE],[dnl +AC_REQUIRE([AC_SYS_LARGEFILE])dnl +# we know about some internals of ac_sys_largefile here... +AC_MSG_CHECKING(whether system differentiates 64bit off_t by defines) +ac_cv_sys_largefile_sensitive="no" +if test ".${ac_cv_sys_file_offset_bits-no}${ac_cv_sys_large_files-no}" != ".nono" +then ac_cv_sys_largefile_sensitive="yes" + AC_DEFINE(LARGEFILE_SENSITIVE, 1, + [whether the system defaults to 32bit off_t but can do 64bit when requested]) +fi +AC_MSG_RESULT([$ac_cv_sys_largefile_sensitive]) +]) diff --git a/m4/autoconf-archive/ax_sys_perlsharpbang.m4 b/m4/autoconf-archive/ax_sys_perlsharpbang.m4 new file mode 100755 index 0000000000..b65eb94626 --- /dev/null +++ b/m4/autoconf-archive/ax_sys_perlsharpbang.m4 @@ -0,0 +1,138 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sys_perlsharpbang.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SYS_PERLSHARPBANG +# +# DESCRIPTION +# +# Determine how the perl interpreter is located by the OS kernel and make +# substitution variable PERL_SHEBANG available. Does AC_PATH_PROG to find +# the path to perl. As a side-effect, that sets PERLINTERP and makes it +# available as a substitution variable. +# +# Note: The macro allows for the possibility (expected to be seldom used) +# of an explicit user override (the "user" being the operator executing +# the final 'configure' script, in this context) by making the option +# argument like: +# +# --with-perl-shebang='#! /my/funky/perlpath' # OR +# --with-perl-shebang='/my/funky/perlpath' # we just throw away the #! anyway +# # bec it must be absent in Makefile +# +# Rationale: The are various ways of starting an interpreter on different +# *nix-like systems. Many use the simple +# +# #!/usr/bin/perl +# +# but it could be instead +# +# #!/usr/local/bin/perl +# +# and there is even the possibility that the user wants +# +# #!/usr/bin/env perl +# +# to find whichever perl comes first in the current $PATH. This is +# preferred by some of us because we run multiple perl installations on +# the same box. Adjusting our $PATH then allows us to set precedence over +# other perls, even whatever the "house" version is. +# +# Users on very non-unix systems like MS Windows do not have a kernel that +# does this kind of thing from the first line of script files, but instead +# the perl on their machine is started and merely notices whatever comes +# after the interpreter path on this first line of the script (options +# like "-w"). +# +# Acknowledgement: this macro was in part inspired by Dean Povey's +# AC_PROG_PERL_VERSION. +# +# LICENSE +# +# Copyright (c) 2009 Soren Andersen +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 14 + +AC_DEFUN([AX_SYS_PERLSHARPBANG],[dnl + + AC_PATH_PROG(PERLINTERP,perl,perl) + ac_cv_path_perlinterp="$PERLINTERP" + _sHpB='#!' + + AC_ARG_WITH(perl-shebang, + AS_HELP_STRING([--with-perl-shebang], + [override what perl thinks is the way for the kernel to start it (seldom needed)]dnl + ), + [opt_perl_shebang="$withval"]dnl + ,dnl + [opt_perl_shebang="not_set"]dnl + )dnl + + AC_CACHE_CHECK([whether explicit instead of detected sharpbang is to be used], + ax_cv_opt_perl_shebang, + [ case "$opt_perl_shebang" in + not_set ) ax_cv_opt_perl_shebang='' + ;; + * ) + ax_cv_opt_perl_shebang=`echo "$opt_perl_shebang" | sed -e's|^#!\s*\(.*\)$|\1|'` + esac + ]dnl + )dnl + + if test "A$ax_cv_opt_perl_shebang" != "A" + then + ac_cv_sys_kernshrpbang_perl="$ax_cv_opt_perl_shebang" + PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" + AC_SUBST(PERL_SHEBANG)dnl + AC_MSG_NOTICE([OK - PERL_SHEBANG is $_sHpB$PERL_SHEBANG.]) + +# Automatic detection of sharpbang formula starts here + else dnl + + _somian_shbangperl=`$PERLINTERP -V:startperl` + negclass="[[^']]"; dnl +# must leave this comment: m4 will remove the outer brackets for us, heheh + AC_CACHE_CHECK([for kernel sharpbang invocation to start perl], + ac_cv_sys_kernshrpbang_perl, + [_somian_kspb_perl=`echo "$_somian_shbangperl" | sed -ne"s|.*='\($negclass*\)';$|\1|p"` + if test "x$_somian_kspb_perl" == x + then _somian_ksbp_warn_empty='durnit' + else + case "A$_somian_kspb_perl" in + A#!*perl* ) + ac_cv_sys_kernshrpbang_perl=`echo "$_somian_kspb_perl" | sed -e's|#!\(.*\)$|\1|'` + ;; + A* ) _somian_ksbp_warn_defau='trouble' + ac_cv_sys_kernshrpbang_perl="$PERLINTERP" + esac + fi +])dnl Done with testing sharpbang + +# The above prints Checking ... result message to user. + PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" + AC_SUBST(PERL_SHEBANG) + if test A${_somian_ksbp_warn_empty+set} == Aset + then AC_MSG_WARN([dnl +In last check, doing $PERLINTERP -V:startperl yielded empty result! That should not happen.]) + fi +# Inform user after printing result value + if test A${_somian_ksbp_warn_defau+set} == Aset + then AC_MSG_NOTICE([Maybe Not good -]) + AC_MSG_WARN([dnl +In last check perl's Config query did not work so we bunted: $_sHpB$PERLINTERP]) + else AC_MSG_NOTICE([OK Good result - ]) + AC_MSG_NOTICE([dnl +In last check we got a proper-looking answer from perl's Config: $_somian_shbangperl]) +dnl Done with user info messages + fi +dnl Outer loop checked for user override term here + fi dnl + +])dnl EOMACRO DEF diff --git a/m4/autoconf-archive/ax_sys_weak_alias.m4 b/m4/autoconf-archive/ax_sys_weak_alias.m4 new file mode 100755 index 0000000000..611edb1f9b --- /dev/null +++ b/m4/autoconf-archive/ax_sys_weak_alias.m4 @@ -0,0 +1,337 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sys_weak_alias.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SYS_WEAK_ALIAS +# +# DESCRIPTION +# +# Determines whether weak aliases are supported on the system, and if so, +# what scheme is used to declare them. Also checks to see if aliases can +# cross object file boundaries, as some systems don't permit them to. +# +# Most systems permit something called a "weak alias" or "weak symbol." +# These aliases permit a library to provide a stub form of a routine +# defined in another library, thus allowing the first library to operate +# even if the other library is not linked. This macro will check for +# support of weak aliases, figure out what schemes are available, and +# determine some characteristics of the weak alias support -- primarily, +# whether a weak alias declared in one object file may be referenced from +# another object file. +# +# There are four known schemes of declaring weak symbols; each scheme is +# checked in turn, and the first one found is prefered. Note that only one +# of the mentioned preprocessor macros will be defined! +# +# 1. Function attributes +# +# This scheme was first introduced by the GNU C compiler, and attaches +# attributes to particular functions. It is among the easiest to use, and +# so is the first one checked. If this scheme is detected, the +# preprocessor macro HAVE_SYS_WEAK_ALIAS_ATTRIBUTE will be defined to 1. +# This scheme is used as in the following code fragment: +# +# void __weakf(int c) +# { +# /* Function definition... */ +# } +# +# void weakf(int c) __attribute__((weak, alias("__weakf"))); +# +# 2. #pragma weak +# +# This scheme is in use by many compilers other than the GNU C compiler. +# It is also particularly easy to use, and fairly portable -- well, as +# portable as these things get. If this scheme is detected first, the +# preprocessor macro HAVE_SYS_WEAK_ALIAS_PRAGMA will be defined to 1. This +# scheme is used as in the following code fragment: +# +# extern void weakf(int c); +# #pragma weak weakf = __weakf +# void __weakf(int c) +# { +# /* Function definition... */ +# } +# +# 3. #pragma _HP_SECONDARY_DEF +# +# This scheme appears to be in use by the HP compiler. As it is rather +# specialized, this is one of the last schemes checked. If it is the first +# one detected, the preprocessor macro HAVE_SYS_WEAK_ALIAS_HPSECONDARY +# will be defined to 1. This scheme is used as in the following code +# fragment: +# +# extern void weakf(int c); +# #pragma _HP_SECONDARY_DEF __weakf weakf +# void __weakf(int c) +# { +# /* Function definition... */ +# } +# +# 4. #pragma _CRI duplicate +# +# This scheme appears to be in use by the Cray compiler. As it is rather +# specialized, it too is one of the last schemes checked. If it is the +# first one detected, the preprocessor macro +# HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE will be defined to 1. This scheme is +# used as in the following code fragment: +# +# extern void weakf(int c); +# #pragma _CRI duplicate weakf as __weakf +# void __weakf(int c) +# { +# /* Function definition... */ +# } +# +# In addition to the preprocessor macros listed above, if any scheme is +# found, the preprocessor macro HAVE_SYS_WEAK_ALIAS will also be defined +# to 1. +# +# Once a weak aliasing scheme has been found, a check will be performed to +# see if weak aliases are honored across object file boundaries. If they +# are, the HAVE_SYS_WEAK_ALIAS_CROSSFILE preprocessor macro is defined to +# 1. +# +# This Autoconf macro also makes two substitutions. The first, WEAK_ALIAS, +# contains the name of the scheme found (one of "attribute", "pragma", +# "hpsecondary", or "criduplicate"), or "no" if no weak aliasing scheme +# was found. The second, WEAK_ALIAS_CROSSFILE, is set to "yes" or "no" +# depending on whether or not weak aliases may cross object file +# boundaries. +# +# LICENSE +# +# Copyright (c) 2008 Kevin L. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([KLM_SYS_WEAK_ALIAS], [AX_SYS_WEAK_ALIAS]) +AC_DEFUN([AX_SYS_WEAK_ALIAS], [ + # starting point: no aliasing scheme yet... + ax_sys_weak_alias=no + + # Figure out what kind of aliasing may be supported... + _AX_SYS_WEAK_ALIAS_ATTRIBUTE + _AX_SYS_WEAK_ALIAS_PRAGMA + _AX_SYS_WEAK_ALIAS_HPSECONDARY + _AX_SYS_WEAK_ALIAS_CRIDUPLICATE + + # Do we actually support aliasing? + AC_CACHE_CHECK([how to create weak aliases with $CC], + [ax_cv_sys_weak_alias], + [ax_cv_sys_weak_alias=$ax_sys_weak_alias]) + + # OK, set a #define + AS_IF([test $ax_cv_sys_weak_alias != no], [ + AC_DEFINE([HAVE_SYS_WEAK_ALIAS], 1, + [Define this if your system can create weak aliases]) + ]) + + # Can aliases cross object file boundaries? + _AX_SYS_WEAK_ALIAS_CROSSFILE + + # OK, remember the results + AC_SUBST([WEAK_ALIAS], [$ax_cv_sys_weak_alias]) + AC_SUBST([WEAK_ALIAS_CROSSFILE], [$ax_cv_sys_weak_alias_crossfile]) +]) + +AC_DEFUN([_AX_SYS_WEAK_ALIAS_ATTRIBUTE], +[ # Test whether compiler accepts __attribute__ form of weak aliasing + AC_CACHE_CHECK([whether $CC accepts function __attribute__((weak,alias()))], + [ax_cv_sys_weak_alias_attribute], [ + # We add -Werror if it's gcc to force an error exit if the weak attribute + # isn't understood + AS_IF([test $GCC = yes], [ + save_CFLAGS=$CFLAGS + CFLAGS=-Werror]) + + # Try linking with a weak alias... + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +void __weakf(int c) {} +void weakf(int c) __attribute__((weak, alias("__weakf")));], + [weakf(0)])], + [ax_cv_sys_weak_alias_attribute=yes], + [ax_cv_sys_weak_alias_attribute=no]) + + # Restore original CFLAGS + AS_IF([test $GCC = yes], [ + CFLAGS=$save_CFLAGS]) + ]) + + # What was the result of the test? + AS_IF([test $ax_sys_weak_alias = no && + test $ax_cv_sys_weak_alias_attribute = yes], [ + ax_sys_weak_alias=attribute + AC_DEFINE([HAVE_SYS_WEAK_ALIAS_ATTRIBUTE], 1, + [Define this if weak aliases may be created with __attribute__]) + ]) +]) + +AC_DEFUN([_AX_SYS_WEAK_ALIAS_PRAGMA], +[ # Test whether compiler accepts #pragma form of weak aliasing + AC_CACHE_CHECK([whether $CC supports @%:@pragma weak], + [ax_cv_sys_weak_alias_pragma], [ + + # Try linking with a weak alias... + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +extern void weakf(int c); +@%:@pragma weak weakf = __weakf +void __weakf(int c) {}], + [weakf(0)])], + [ax_cv_sys_weak_alias_pragma=yes], + [ax_cv_sys_weak_alias_pragma=no]) + ]) + + # What was the result of the test? + AS_IF([test $ax_sys_weak_alias = no && + test $ax_cv_sys_weak_alias_pragma = yes], [ + ax_sys_weak_alias=pragma + AC_DEFINE([HAVE_SYS_WEAK_ALIAS_PRAGMA], 1, + [Define this if weak aliases may be created with @%:@pragma weak]) + ]) +]) + +AC_DEFUN([_AX_SYS_WEAK_ALIAS_HPSECONDARY], +[ # Test whether compiler accepts _HP_SECONDARY_DEF pragma from HP... + AC_CACHE_CHECK([whether $CC supports @%:@pragma _HP_SECONDARY_DEF], + [ax_cv_sys_weak_alias_hpsecondary], [ + + # Try linking with a weak alias... + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +extern void weakf(int c); +@%:@pragma _HP_SECONDARY_DEF __weakf weakf +void __weakf(int c) {}], + [weakf(0)])], + [ax_cv_sys_weak_alias_hpsecondary=yes], + [ax_cv_sys_weak_alias_hpsecondary=no]) + ]) + + # What was the result of the test? + AS_IF([test $ax_sys_weak_alias = no && + test $ax_cv_sys_weak_alias_hpsecondary = yes], [ + ax_sys_weak_alias=hpsecondary + AC_DEFINE([HAVE_SYS_WEAK_ALIAS_HPSECONDARY], 1, + [Define this if weak aliases may be created with @%:@pragma _HP_SECONDARY_DEF]) + ]) +]) + +AC_DEFUN([_AX_SYS_WEAK_ALIAS_CRIDUPLICATE], +[ # Test whether compiler accepts "_CRI duplicate" pragma from Cray + AC_CACHE_CHECK([whether $CC supports @%:@pragma _CRI duplicate], + [ax_cv_sys_weak_alias_criduplicate], [ + + # Try linking with a weak alias... + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +extern void weakf(int c); +@%:@pragma _CRI duplicate weakf as __weakf +void __weakf(int c) {}], + [weakf(0)])], + [ax_cv_sys_weak_alias_criduplicate=yes], + [ax_cv_sys_weak_alias_criduplicate=no]) + ]) + + # What was the result of the test? + AS_IF([test $ax_sys_weak_alias = no && + test $ax_cv_sys_weak_alias_criduplicate = yes], [ + ax_sys_weak_alias=criduplicate + AC_DEFINE([HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE], 1, + [Define this if weak aliases may be created with @%:@pragma _CRI duplicate]) + ]) +]) + +dnl Note: This macro is modeled closely on AC_LINK_IFELSE, and in fact +dnl depends on some implementation details of that macro, particularly +dnl its use of _AC_MSG_LOG_CONFTEST to log the failed test program and +dnl its use of ac_link for running the linker. +AC_DEFUN([_AX_SYS_WEAK_ALIAS_CROSSFILE], +[ # Check to see if weak aliases can cross object file boundaries + AC_CACHE_CHECK([whether $CC supports weak aliases across object file boundaries], + [ax_cv_sys_weak_alias_crossfile], [ + AS_IF([test $ax_cv_sys_weak_alias = no], + [ax_cv_sys_weak_alias_crossfile=no], [ +dnl Must build our own test files... + # conftest1 contains our weak alias definition... + cat >conftest1.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF + cat confdefs.h >>conftest1.$ac_ext + cat >>conftest1.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +@%:@ifndef HAVE_SYS_WEAK_ALIAS_ATTRIBUTE +extern void weakf(int c); +@%:@endif +@%:@if defined(HAVE_SYS_WEAK_ALIAS_PRAGMA) +@%:@pragma weak weakf = __weakf +@%:@elif defined(HAVE_SYS_WEAK_ALIAS_HPSECONDARY) +@%:@pragma _HP_SECONDARY_DEF __weakf weakf +@%:@elif defined(HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE) +@%:@pragma _CRI duplicate weakf as __weakf +@%:@endif +void __weakf(int c) {} +@%:@ifdef HAVE_SYS_WEAK_ALIAS_ATTRIBUTE +void weakf(int c) __attribute((weak, alias("__weakf"))); +@%:@endif +_ACEOF + # And conftest2 contains our main routine that calls it + cat >conftest2.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF + cat confdefs.h >> conftest2.$ac_ext + cat >>conftest2.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +extern void weakf(int c); +int +main () +{ + weakf(0); + return 0; +} +_ACEOF + # We must remove the object files (if any) ourselves... + rm -f conftest2.$ac_objext conftest$ac_exeext + + # Change ac_link to compile *2* files together + save_aclink=$ac_link + ac_link=`echo "$ac_link" | \ + sed -e 's/conftest\(\.\$ac_ext\)/conftest1\1 conftest2\1/'` +dnl Substitute our own routine for logging the conftest +m4_pushdef([_AC_MSG_LOG_CONFTEST], +[echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD +echo ">>> conftest1.$ac_ext" >&AS_MESSAGE_LOG_FD +sed "s/^/| /" conftest1.$ac_ext >&AS_MESSAGE_LOG_FD +echo ">>> conftest2.$ac_ext" >&AS_MESSAGE_LOG_FD +sed "s/^/| /" conftest2.$ac_ext >&AS_MESSAGE_LOG_FD +])dnl + # Since we created the files ourselves, don't use SOURCE argument + AC_LINK_IFELSE(, [ax_cv_sys_weak_alias_crossfile=yes], + [ax_cv_sys_weak_alias_crossfile=no]) +dnl Restore _AC_MSG_LOG_CONFTEST +m4_popdef([_AC_MSG_LOG_CONFTEST])dnl + # Restore ac_link + ac_link=$save_aclink + + # We must remove the object files (if any) and C files ourselves... + rm -f conftest1.$ac_ext conftest2.$ac_ext \ + conftest1.$ac_objext conftest2.$ac_objext + ]) + ]) + + # What were the results of the test? + AS_IF([test $ax_cv_sys_weak_alias_crossfile = yes], [ + AC_DEFINE([HAVE_SYS_WEAK_ALIAS_CROSSFILE], 1, + [Define this if weak aliases in other files are honored]) + ]) +]) diff --git a/m4/autoconf-archive/ax_sysv_ipc.m4 b/m4/autoconf-archive/ax_sysv_ipc.m4 new file mode 100755 index 0000000000..6acad4b91a --- /dev/null +++ b/m4/autoconf-archive/ax_sysv_ipc.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_sysv_ipc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_SYSV_IPC +# +# DESCRIPTION +# +# This macro checks for the SysV IPC header files. It only checks that you +# can compile a program with them, not whether the system actually +# implements working SysV IPC. +# +# LICENSE +# +# Copyright (c) 2008 Warren Young +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AU_ALIAS([ETR_SYSV_IPC], [AX_SYSV_IPC]) +AC_DEFUN([AX_SYSV_IPC], +[ +AC_CACHE_CHECK([for System V IPC headers], ac_cv_sysv_ipc, [ + AC_TRY_COMPILE( + [ + #include + #include + #include + #include + #include + ],, ac_cv_sysv_ipc=yes, ac_cv_sysv_ipc=no) +]) + + if test x"$ac_cv_sysv_ipc" = "xyes" + then + AC_DEFINE(HAVE_SYSV_IPC, 1, [ Define if you have System V IPC ]) + fi +]) dnl AX_SYSV_IPC diff --git a/m4/autoconf-archive/ax_tls.m4 b/m4/autoconf-archive/ax_tls.m4 new file mode 100755 index 0000000000..51edee8f7d --- /dev/null +++ b/m4/autoconf-archive/ax_tls.m4 @@ -0,0 +1,74 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_tls.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TLS([action-if-found], [action-if-not-found]) +# +# DESCRIPTION +# +# Provides a test for the compiler support of thread local storage (TLS) +# extensions. Defines TLS if it is found. Currently knows about C++11, +# GCC/ICC, and MSVC. I think SunPro uses the same as GCC, and Borland +# apparently supports either. +# +# LICENSE +# +# Copyright (c) 2008 Alan Woodland +# Copyright (c) 2010 Diego Elio Petteno` +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 14 + +AC_DEFUN([AX_TLS], [ + AC_MSG_CHECKING([for thread local storage (TLS) class]) + AC_CACHE_VAL([ac_cv_tls], + [for ax_tls_keyword in thread_local _Thread_local __thread '__declspec(thread)' none; do + AS_CASE([$ax_tls_keyword], + [none], [ac_cv_tls=none ; break], + [AC_TRY_COMPILE( + [#include + static void + foo(void) { + static ] $ax_tls_keyword [ int bar; + exit(1); + }], + [], + [ac_cv_tls=$ax_tls_keyword ; break], + ac_cv_tls=none + )]) + done + ]) + AC_MSG_RESULT([$ac_cv_tls]) + + AS_IF([test "$ac_cv_tls" != "none"], + [AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here]) + m4_ifnblank([$1],[$1])], + [m4_ifnblank([$2],[$2])]) +]) diff --git a/m4/autoconf-archive/ax_trilinos_amesos.m4 b/m4/autoconf-archive/ax_trilinos_amesos.m4 new file mode 100755 index 0000000000..b064866bc7 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_amesos.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_amesos.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_AMESOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.amesos" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_TRILINOS_AMESOS],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_amesos=yes + AC_HAVE_LIBRARY([amesos],[:],[ax_trilinos_amesos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([amesos.macros],[ax_trilinos_amesos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([amesos],[ax_trilinos_amesos=no]) + if test "$ax_trilinos_amesos" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Amesos not found.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_base.m4 b/m4/autoconf-archive/ax_trilinos_base.m4 new file mode 100755 index 0000000000..6768665af3 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_base.m4 @@ -0,0 +1,148 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_base.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_BASE([, MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +# +# DESCRIPTION +# +# Test for the Trilinos (http://trilinos.sandia.gov/) libraries. +# +# Provides a --with-trilinos=DIR option. Searches --with-trilinos, +# $TRILINOS_HOME, and the usual places for Trilinos installation headers. +# +# Requires that a development branch or released version greater than +# MINIMUM-VERSION be found. If not specified, the default minimum version +# is 8.0.0. +# +# Supports separately specifying --with-trilinos-include or +# --with-trilinos-libdir to override default locations underneath either +# --with-trilinos or $TRILINOS_HOME. +# +# On success, adds -Ipath to CPPFLAGS, -Lpath to LDFLAGS, sets the +# variable TRILINOS_INCLUDE based on the discovered location of +# Trilinos_version.h, and #defines HAVE_TRILINOS. When ACTION-IF-NOT-FOUND +# is not specified, the default behavior is for configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Caolan McNamara +# Copyright (c) 2009 Alexandre Duret-Lutz +# Copyright (c) 2009 Matthew Mueller +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_TRILINOS_BASE], +[ +AC_REQUIRE([AX_TRILINOS_ABSOLUTE_HEADER]) +AC_ARG_VAR(TRILINOS_HOME,[root directory of Trilinos installation]) + +AC_ARG_WITH(trilinos, [AS_HELP_STRING([--with-trilinos[=DIR]],[root directory of Trilinos installation])],[ +with_trilinos=$withval +if test "${with_trilinos}" != yes; then + TRILINOS_HOME=$withval + trilinos_include="$withval/include" + trilinos_libdir="$withval/lib" +fi +],[ +with_trilinos=$withval +if test "x${TRILINOS_HOME}" != "x"; then + trilinos_include="${TRILINOS_HOME}/include" + trilinos_libdir="${TRILINOS_HOME}/lib" +fi +]) + +AC_ARG_WITH(trilinos-include, +[AS_HELP_STRING([--with-trilinos-include=DIR],[specify exact directory for Trilinos headers])],[ +if test -d "$withval"; then + trilinos_include="$withval" +else + AC_MSG_ERROR([--with-trilinos-include expected directory name]) +fi +]) + +AC_ARG_WITH(trilinos-libdir, [AS_HELP_STRING([--with-trilinos-libdir=DIR],[specify exact directory for Trilinos libraries])],[ +if test -d "$withval"; then + trilinos_libdir="$withval" +else + AC_MSG_ERROR([--with-trilinos-libdir expected directory name]) +fi +]) + +if test "${with_trilinos}" != no ; then + + OLD_LIBS=$LIBS + OLD_LDFLAGS=$LDFLAGS + OLD_CPPFLAGS=$CPPFLAGS + + if test -d "${trilinos_libdir}" ; then + LDFLAGS="-L${trilinos_libdir} $LDFLAGS" + fi + if test -d "${trilinos_include}" ; then + CPPFLAGS="-I${trilinos_include} $CPPFLAGS" + fi + + succeeded=no + AC_CHECK_HEADER([Trilinos_version.h],[found_header=yes],[found_header=no]) + if test "$found_header" = yes; then + dnl Patterned after AX_BOOST_BASE + trilinos_lib_version_req=ifelse([$1],,8.0.0,$1) + trilinos_lib_version_req_shorten=`expr $trilinos_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` + trilinos_lib_version_req_major=`expr $trilinos_lib_version_req : '\([[0-9]]*\)'` + trilinos_lib_version_req_minor=`expr $trilinos_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + trilinos_lib_version_req_sub_minor=`expr $trilinos_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$trilinos_lib_version_req_sub_minor" = "x" ; then + trilinos_lib_version_req_sub_minor="0" + fi + WANT_TRILINOS_VERSION=`expr $trilinos_lib_version_req_major \* 10000 \+ $trilinos_lib_version_req_minor \* 100 \+ $trilinos_lib_version_req_sub_minor` + AC_LANG_PUSH([C++]) + AC_MSG_CHECKING(for Trilinos release >= $trilinos_lib_version_req) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if (TRILINOS_MAJOR_VERSION == 0) + /* Development branch has zero major version. A-OK. */ + #elif (TRILINOS_MAJOR_MINOR_VERSION >= $WANT_TRILINOS_VERSION) + /* Stable release of appropriate version. A-OK. */ + #else + # error Trilinos version is too old + #endif + ]])],[ + AC_MSG_RESULT(yes) + succeeded=yes + ],[ + AC_MSG_RESULT(no) + ]) + AC_LANG_POP([C++]) + fi + + if test "$succeeded" = no; then + LIBS=$OLD_LIBS + LDFLAGS=$OLD_LDFLAGS + CPPFLAGS=$OLD_CPPFLAGS + + ifelse([$3],,AC_MSG_ERROR([Trilinos not found. Try either --with-trilinos or setting TRILINOS_HOME.]), + [$3]) + else + dnl Find the absolute path to Trilinos_version.h + dnl We need it to back out the discovered TRILINOS_INCLUDE directory. + AX_TRILINOS_ABSOLUTE_HEADER([Trilinos_version.h]) + TRILINOS_INCLUDE=`AS_DIRNAME([$ax_cv_absolute_Trilinos_version_h])` + + AC_DEFINE(HAVE_TRILINOS,1,[Define if Trilinos is available]) + AC_SUBST(TRILINOS_INCLUDE) + ifelse([$2],,,[$2]) + fi + +fi + +]) diff --git a/m4/autoconf-archive/ax_trilinos_epetra.m4 b/m4/autoconf-archive/ax_trilinos_epetra.m4 new file mode 100755 index 0000000000..4e91c170cb --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_epetra.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_epetra.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_EPETRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.epetra" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_TRILINOS_EPETRA],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_epetra=yes + AC_HAVE_LIBRARY([epetra],[:],[ax_trilinos_epetra=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([epetra.macros],[ax_trilinos_epetra=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([epetra],[ax_trilinos_epetra=no]) + if test "$ax_trilinos_epetra" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Epetra not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_epetraext.m4 b/m4/autoconf-archive/ax_trilinos_epetraext.m4 new file mode 100755 index 0000000000..311528a5fe --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_epetraext.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_epetraext.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_EPETRAEXT([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.epetraext" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_EPETRAEXT],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_epetraext=yes + AC_HAVE_LIBRARY([epetraext],[:],[ax_trilinos_epetraext=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([epetraext.macros],[ax_trilinos_epetraext=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([epetraext],[ax_trilinos_epetraext=no]) + if test "$ax_trilinos_epetraext" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos EpetraExt not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_epetraext_hdf5.m4 b/m4/autoconf-archive/ax_trilinos_epetraext_hdf5.m4 new file mode 100755 index 0000000000..1b824f0e72 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_epetraext_hdf5.m4 @@ -0,0 +1,55 @@ +# =============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_epetraext_hdf5.html +# =============================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_EPETRAEXT_HDF5([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Checks if EpetraExt was compiled with HDF5 support +# (--enable-epetraext-hdf5) enabled. When ACTION-IF-NOT-FOUND is not +# specified, the default behavior is for configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_EPETRAEXT_HDF5],[ + AC_REQUIRE([AC_LIB_HDF5]) + AC_REQUIRE([AX_TRILINOS_EPETRAEXT]) + ax_trilinos_epetraext_hdf5=yes + AC_CHECK_HEADER([EpetraExt_ConfigDefs.h],,[ax_trilinos_epetraext_hdf5=no]) + AC_MSG_CHECKING([for HDF5 support in EpetraExt release]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #ifndef HAVE_EPETRAEXT_HDF5 + # error HAVE_EPETRAEXT_HDF5 was not defined in EpetraExt_ConfigDefs.h + #endif + ]])],[ + AC_MSG_RESULT(yes) + ],[ + AC_MSG_RESULT(no) + ax_trilinos_epetraext_hdf5=no + ]) + AC_LANG_POP([C++]) + if test "$ax_trilinos_epetraext_hdf5" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos EpetraExt HDF5 not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_rtop.m4 b/m4/autoconf-archive/ax_trilinos_rtop.m4 new file mode 100755 index 0000000000..010e9e9f39 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_rtop.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_rtop.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_RTOP([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.rtop" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_RTOP],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_rtop=yes + AC_HAVE_LIBRARY([rtop],[:],[ax_trilinos_rtop=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([rtop.macros],[ax_trilinos_rtop=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([rtop],[ax_trilinos_rtop=no]) + if test "$ax_trilinos_rtop" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos RTOp not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_rythmos.m4 b/m4/autoconf-archive/ax_trilinos_rythmos.m4 new file mode 100755 index 0000000000..0597c5d0a6 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_rythmos.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_rythmos.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_RYTHMOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.rythmos" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_RYTHMOS],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_rythmos=yes + AC_HAVE_LIBRARY([rythmos],[:],[ax_trilinos_rythmos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([rythmos.macros],[ax_trilinos_rythmos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([rythmos],[ax_trilinos_rythmos=no]) + if test "$ax_trilinos_rythmos" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Rythmos not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_teuchos.m4 b/m4/autoconf-archive/ax_trilinos_teuchos.m4 new file mode 100755 index 0000000000..b6ce4377b4 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_teuchos.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_teuchos.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_TEUCHOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.teuchos" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. +# +# When ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_TRILINOS_TEUCHOS],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_teuchos=yes + AC_HAVE_LIBRARY([teuchos],[:],[ax_trilinos_teuchos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([teuchos.macros],[ax_trilinos_teuchos=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([teuchos],[ax_trilinos_teuchos=no]) + if test "$ax_trilinos_teuchos" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Teuchos not usable]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_thyra.m4 b/m4/autoconf-archive/ax_trilinos_thyra.m4 new file mode 100755 index 0000000000..d88749ccce --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_thyra.m4 @@ -0,0 +1,43 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_thyra.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRILINOS_THYRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# On success, adds "include Makefile.export.thyra" statements to every +# Automake file containing @INC_AMINCLUDE@. Requires that Trilinos was +# configured with the --enable-export-makefiles option. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_THYRA],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + ax_trilinos_thyra=yes + AC_HAVE_LIBRARY([thyra],[:],[ax_trilinos_thyra=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([thyra.macros],[ax_trilinos_thyra=no]) + AX_ADD_AM_TRILINOS_MAKEFILE_EXPORT([thyra],[ax_trilinos_thyra=no]) + if test "$ax_trilinos_thyra" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Thyra not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_thyra_epetra.m4 b/m4/autoconf-archive/ax_trilinos_thyra_epetra.m4 new file mode 100755 index 0000000000..2c488db628 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_thyra_epetra.m4 @@ -0,0 +1,41 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_thyra_epetra.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_TRILINOS_THYRA_EPETRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Checks if the Thyra/Epetra adapters were compiled with Trilinos. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_THYRA_EPETRA],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + AC_REQUIRE([AX_TRILINOS_EPETRA]) + AC_REQUIRE([AX_TRILINOS_THYRA]) + ax_trilinos_thyra_epetra=yes + AC_HAVE_LIBRARY([thyraepetra],[:],[ax_trilinos_thyra_epetra=no]) + if test "$ax_trilinos_thyra_epetra" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Thyra/Epetra support not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_trilinos_thyra_epetraext.m4 b/m4/autoconf-archive/ax_trilinos_thyra_epetraext.m4 new file mode 100755 index 0000000000..983c2da964 --- /dev/null +++ b/m4/autoconf-archive/ax_trilinos_thyra_epetraext.m4 @@ -0,0 +1,41 @@ +# ================================================================================ +# https://www.gnu.org/software/autoconf-archive/ax_trilinos_thyra_epetraext.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_TRILINOS_THYRA_EPETRAEXT([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# Checks if the Thyra/EpetraExt adapters were compiled with Trilinos. When +# ACTION-IF-NOT-FOUND is not specified, the default behavior is for +# configure to fail. +# +# LICENSE +# +# Copyright (c) 2009 Rhys Ulerich +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_TRILINOS_THYRA_EPETRAEXT],[ + AC_REQUIRE([AX_TRILINOS_BASE]) + AC_REQUIRE([AX_TRILINOS_EPETRAEXT]) + AC_REQUIRE([AX_TRILINOS_THYRA_EPETRA]) + ax_trilinos_thyra_epetraext=yes + AC_HAVE_LIBRARY([thyraepetraext],[:],[ax_trilinos_thyra_epetraext=no]) + if test "$ax_trilinos_thyra_epetraext" = yes; then + : # NOP + ifelse([$1],,, + [$1]) + else + : # NOP + ifelse([$2],,AC_MSG_ERROR([Trilinos Thyra/EpetraExt adapters not usable.]), + [$2]) + fi +]) diff --git a/m4/autoconf-archive/ax_try_awk_anyout.m4 b/m4/autoconf-archive/ax_try_awk_anyout.m4 new file mode 100755 index 0000000000..7691ee2037 --- /dev/null +++ b/m4/autoconf-archive/ax_try_awk_anyout.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_try_awk_anyout.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRY_AWK_ANYOUT(NAME,TEST-INPUT,TEST-BODY,[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Run a test using the awk program found on AWK variable. The test being +# run has TEST-BODY as body and is feeded with TEST-INPUT. If successful +# execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_TRY_AWK_ANYOUT], [ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports $1]) + + cat < conftest.out +$2 +EOF + + ax_try_awk_output=`$AWK '{ [$3] ; }' conftest.out 2> /dev/null` + ax_try_awk_result=$? + + rm -f conftest.out + + AS_IF([test $ax_try_awk_result -eq 0],[ + AC_MSG_RESULT([yes]) + $4 + ],[ + AC_MSG_RESULT([no]) + $5 + ]) +]) diff --git a/m4/autoconf-archive/ax_try_awk_expout.m4 b/m4/autoconf-archive/ax_try_awk_expout.m4 new file mode 100755 index 0000000000..683b9eb390 --- /dev/null +++ b/m4/autoconf-archive/ax_try_awk_expout.m4 @@ -0,0 +1,59 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_try_awk_expout.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRY_AWK_EXPOUT(NAME,TEST-INPUT,TEST-BODY,EXPECTED-OUTPUT,[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# Run a test using the awk program found on AWK variable. The test being +# run has TEST-BODY as body and is feeded with TEST-INPUT. Check if the +# test gives the expected output. If successful execute ACTION-IF-SUCCESS +# otherwise ACTION-IF-FAILURE. +# +# This work is heavily based upon testawk.sh script by Heiner Steven. You +# should find his script (and related works) at +# . Thanks to +# Alessandro Massignan for his suggestions and extensive nawk tests on +# FreeBSD. +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_TRY_AWK_EXPOUT], [ + AC_REQUIRE([AX_NEED_AWK]) + + AC_MSG_CHECKING([if $AWK supports $1]) + + cat < conftest.out +$2 +EOF + + ax_try_awk_output=`$AWK '{ [$3] ; }' conftest.out 2> /dev/null` + ax_try_awk_result=$? + + rm -f conftest.out + + AS_IF([test $ax_try_awk_result -eq 0],[ + AS_IF([test "X$ax_try_awk_output" = "X[$4]"],[ + AC_MSG_RESULT([yes]) + $5 + ],[ + AC_MSG_RESULT([no]) + $6 + ]) + ],[ + AC_MSG_RESULT([no]) + $6 + ]) +]) diff --git a/m4/autoconf-archive/ax_try_compile_java.m4 b/m4/autoconf-archive/ax_try_compile_java.m4 new file mode 100755 index 0000000000..245c36c40d --- /dev/null +++ b/m4/autoconf-archive/ax_try_compile_java.m4 @@ -0,0 +1,55 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_try_compile_java.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRY_COMPILE_JAVA +# +# DESCRIPTION +# +# AX_TRY_COMPILE_JAVA attempt to compile user given source. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Devin Weaver +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AU_ALIAS([AC_TRY_COMPILE_JAVA], [AX_TRY_COMPILE_JAVA]) +AC_DEFUN([AX_TRY_COMPILE_JAVA],[ +AC_REQUIRE([AX_PROG_JAVAC])dnl +cat << \EOF > Test.java +/* [#]line __oline__ "configure" */ +ifelse([$1], , , [import $1;]) +public class Test { +[$2] +} +EOF +if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class +then +dnl Don't remove the temporary files here, so they can be examined. + ifelse([$3], , :, [$3]) +else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat Test.java >&AS_MESSAGE_LOG_FD +ifelse([$4], , , [ rm -f Test.java Test.class + $4 +])dnl +fi +rm -f Test.java Test.class]) diff --git a/m4/autoconf-archive/ax_try_run_java.m4 b/m4/autoconf-archive/ax_try_run_java.m4 new file mode 100755 index 0000000000..2ebb86d6dc --- /dev/null +++ b/m4/autoconf-archive/ax_try_run_java.m4 @@ -0,0 +1,56 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_try_run_java.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TRY_RUN_JAVA +# +# DESCRIPTION +# +# AX_TRY_RUN_JAVA attempt to compile and run user given source. +# +# *Warning*: its success or failure can depend on a proper setting of the +# CLASSPATH env. variable. +# +# Note: This is part of the set of autoconf M4 macros for Java programs. +# It is VERY IMPORTANT that you download the whole set, some macros depend +# on other. Unfortunately, the autoconf archive does not support the +# concept of set of macros, so I had to break it for submission. The +# general documentation, as well as the sample configure.in, is included +# in the AX_PROG_JAVA macro. +# +# LICENSE +# +# Copyright (c) 2008 Devin Weaver +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AU_ALIAS([AC_TRY_RUN_JAVA], [AX_TRY_RUN_JAVA]) +AC_DEFUN([AX_TRY_RUN_JAVA],[ +AC_REQUIRE([AX_PROG_JAVAC])dnl +AC_REQUIRE([AX_PROG_JAVA])dnl +cat << \EOF > Test.java +/* [#]line __oline__ "configure" */ +ifelse([$1], , , [include $1;]) +public class Test { +[$2] +} +EOF +if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class && ($JAVA $JAVAFLAGS Test; exit) 2>/dev/null +then +dnl Don't remove the temporary files here, so they can be examined. + ifelse([$3], , :, [$3]) +else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat Test.java >&AS_MESSAGE_LOG_FD +ifelse([$4], , , [ rm -fr Test.java Test.class + $4 +])dnl +fi +rm -fr Test.java Test.class]) diff --git a/m4/autoconf-archive/ax_type_socklen_t.m4 b/m4/autoconf-archive/ax_type_socklen_t.m4 new file mode 100755 index 0000000000..32386e6170 --- /dev/null +++ b/m4/autoconf-archive/ax_type_socklen_t.m4 @@ -0,0 +1,61 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_type_socklen_t.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_TYPE_SOCKLEN_T +# +# DESCRIPTION +# +# Check whether sys/socket.h defines type socklen_t. Please note that some +# systems require sys/types.h to be included before sys/socket.h can be +# compiled. +# +# LICENSE +# +# Copyright (c) 2008 Lars Brinkhoff +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([TYPE_SOCKLEN_T], [AX_TYPE_SOCKLEN_T]) +AC_DEFUN([AX_TYPE_SOCKLEN_T], +[AC_CACHE_CHECK([for socklen_t], ac_cv_ax_type_socklen_t, +[ + AC_TRY_COMPILE( + [#include + #include ], + [socklen_t len = (socklen_t) 42; return (!len);], + ac_cv_ax_type_socklen_t=yes, + ac_cv_ax_type_socklen_t=no) +]) + if test $ac_cv_ax_type_socklen_t != yes; then + AC_DEFINE(socklen_t, int, [Substitute for socklen_t]) + fi +]) diff --git a/m4/autoconf-archive/ax_upload.m4 b/m4/autoconf-archive/ax_upload.m4 new file mode 100755 index 0000000000..20b499b4e6 --- /dev/null +++ b/m4/autoconf-archive/ax_upload.m4 @@ -0,0 +1,82 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_upload.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_UPLOAD([command]) +# +# DESCRIPTION +# +# Adds support for uploading dist files. %%s in the command will be +# substituted with the name of the file. e.g: +# +# AX_UPLOAD([ncftpput -v upload.sourceforge.net /incoming %%s]) +# +# To add upload support for other custom dists add upload- to +# UPLOAD_BIN or UPLOAD_SRC, where is the type of dist that is being +# uploaded and add a mapping from to the dist file name in the +# format '{=>}' to UPLOAD_TARGETS. For example: +# +# UPLOAD_BIN += upload-foobar +# UPLOAD_TARGETS += {foobar=>@PACKAGE@-@VERSION@.fb} +# +# You can then upload of the src distribution files by running: +# +# make upload-src +# +# all the binary distribution files by running: +# +# make upload-bin +# +# or both by running: +# +# make upload +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +AC_DEFUN([AX_UPLOAD], +[ +AC_MSG_NOTICE([adding upload support]) +AM_CONDITIONAL(USING_AX_UPLOAD, [true]) +AC_MSG_NOTICE([setting upload command... \`$1\`]) +AX_ADD_AM_MACRO_STATIC([ +UPLOAD_BIN = +UPLOAD_SRC = upload-gzip upload-bzip2 upload-zip +UPLOAD_TARGETS = \\ +{gzip=>$PACKAGE-$VERSION.tar.gz} \\ +{bzip2=>$PACKAGE-$VERSION.tar.bz2} \\ +{zip=>$PACKAGE-$VERSION.zip} + +\$(UPLOAD_BIN) \$(UPLOAD_SRC): + @TYPE=\`echo ${AX_DOLLAR}@ | \$(SED) -e \'s/upload-//\'\`; \\ + DIST=\"dist-\$\${TYPE}\"; \\ + \$(MAKE) \$(AM_MAKEFLAGS) \$\${DIST}; \\ + list=\'\$(UPLOAD_TARGETS)\'; \\ + pattern=\`echo \"^{\$\${TYPE}=>\"\`; \\ + for dist in \$\$list; do \\ + echo \$\$dist | \$(EGREP) \"^{\$\${TYPE}=>\" > /dev/null 2>&1; \\ + if test \"\$\$?\" -eq \"0\"; then \\ + TARGET=\`echo \"\$\$dist\" | \$(AWK) -v pattern=\$\$pattern \'{ sub( pattern, \"\"); sub( /}\$\$/, \"\" ); print; }\'\`; \\ + UPLOAD_COMMAND=\`printf \"$1\" \$\$TARGET \`; \\ + echo \"Uploading \$\$TARGET ...\"; \\ + \$\$UPLOAD_COMMAND; \\ + fi \\ + done + +upload-src: \$(UPLOAD_SRC) + +upload-bin: \$(UPLOAD_BIN) + +upload upload-all all-upload: upload-src upload-bin +]) +]) diff --git a/m4/autoconf-archive/ax_valgrind_check.m4 b/m4/autoconf-archive/ax_valgrind_check.m4 new file mode 100755 index 0000000000..70337981f7 --- /dev/null +++ b/m4/autoconf-archive/ax_valgrind_check.m4 @@ -0,0 +1,239 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_VALGRIND_DFLT(memcheck|helgrind|drd|sgcheck, on|off) +# AX_VALGRIND_CHECK() +# +# DESCRIPTION +# +# AX_VALGRIND_CHECK checks whether Valgrind is present and, if so, allows +# running `make check` under a variety of Valgrind tools to check for +# memory and threading errors. +# +# Defines VALGRIND_CHECK_RULES which should be substituted in your +# Makefile; and $enable_valgrind which can be used in subsequent configure +# output. VALGRIND_ENABLED is defined and substituted, and corresponds to +# the value of the --enable-valgrind option, which defaults to being +# enabled if Valgrind is installed and disabled otherwise. Individual +# Valgrind tools can be disabled via --disable-valgrind-, the +# default is configurable via the AX_VALGRIND_DFLT command or is to use +# all commands not disabled via AX_VALGRIND_DFLT. All AX_VALGRIND_DFLT +# calls must be made before the call to AX_VALGRIND_CHECK. +# +# If unit tests are written using a shell script and automake's +# LOG_COMPILER system, the $(VALGRIND) variable can be used within the +# shell scripts to enable Valgrind, as described here: +# +# https://www.gnu.org/software/gnulib/manual/html_node/Running-self_002dtests-under-valgrind.html +# +# Usage example: +# +# configure.ac: +# +# AX_VALGRIND_DFLT([sgcheck], [off]) +# AX_VALGRIND_CHECK +# +# in each Makefile.am with tests: +# +# @VALGRIND_CHECK_RULES@ +# VALGRIND_SUPPRESSIONS_FILES = my-project.supp +# EXTRA_DIST = my-project.supp +# +# This results in a "check-valgrind" rule being added. Running `make +# check-valgrind` in that directory will recursively run the module's test +# suite (`make check`) once for each of the available Valgrind tools (out +# of memcheck, helgrind and drd) while the sgcheck will be skipped unless +# enabled again on the commandline with --enable-valgrind-sgcheck. The +# results for each check will be output to test-suite-$toolname.log. The +# target will succeed if there are zero errors and fail otherwise. +# +# Alternatively, a "check-valgrind-$TOOL" rule will be added, for $TOOL in +# memcheck, helgrind, drd and sgcheck. These are useful because often only +# some of those tools can be ran cleanly on a codebase. +# +# The macro supports running with and without libtool. +# +# LICENSE +# +# Copyright (c) 2014, 2015, 2016 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +dnl Configured tools +m4_define([valgrind_tool_list], [[memcheck], [helgrind], [drd], [sgcheck]]) +m4_set_add_all([valgrind_exp_tool_set], [sgcheck]) +m4_foreach([vgtool], [valgrind_tool_list], + [m4_define([en_dflt_valgrind_]vgtool, [on])]) + +AC_DEFUN([AX_VALGRIND_DFLT],[ + m4_define([en_dflt_valgrind_$1], [$2]) +])dnl + +AM_EXTRA_RECURSIVE_TARGETS([check-valgrind]) +m4_foreach([vgtool], [valgrind_tool_list], + [AM_EXTRA_RECURSIVE_TARGETS([check-valgrind-]vgtool)]) + +AC_DEFUN([AX_VALGRIND_CHECK],[ + dnl Check for --enable-valgrind + AC_ARG_ENABLE([valgrind], + [AS_HELP_STRING([--enable-valgrind], [Whether to enable Valgrind on the unit tests])], + [enable_valgrind=$enableval],[enable_valgrind=]) + + AS_IF([test "$enable_valgrind" != "no"],[ + # Check for Valgrind. + AC_CHECK_PROG([VALGRIND],[valgrind],[valgrind]) + AS_IF([test "$VALGRIND" = ""],[ + AS_IF([test "$enable_valgrind" = "yes"],[ + AC_MSG_ERROR([Could not find valgrind; either install it or reconfigure with --disable-valgrind]) + ],[ + enable_valgrind=no + ]) + ],[ + enable_valgrind=yes + ]) + ]) + + AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"]) + AC_SUBST([VALGRIND_ENABLED],[$enable_valgrind]) + + # Check for Valgrind tools we care about. + [valgrind_enabled_tools=] + m4_foreach([vgtool],[valgrind_tool_list],[ + AC_ARG_ENABLE([valgrind-]vgtool, + m4_if(m4_defn([en_dflt_valgrind_]vgtool),[off],dnl +[AS_HELP_STRING([--enable-valgrind-]vgtool, [Whether to use ]vgtool[ during the Valgrind tests])],dnl +[AS_HELP_STRING([--disable-valgrind-]vgtool, [Whether to skip ]vgtool[ during the Valgrind tests])]), + [enable_valgrind_]vgtool[=$enableval], + [enable_valgrind_]vgtool[=]) + AS_IF([test "$enable_valgrind" = "no"],[ + enable_valgrind_]vgtool[=no], + [test "$enable_valgrind_]vgtool[" ]dnl +m4_if(m4_defn([en_dflt_valgrind_]vgtool), [off], [= "yes"], [!= "no"]),[ + AC_CACHE_CHECK([for Valgrind tool ]vgtool, + [ax_cv_valgrind_tool_]vgtool,[ + ax_cv_valgrind_tool_]vgtool[=no + m4_set_contains([valgrind_exp_tool_set],vgtool, + [m4_define([vgtoolx],[exp-]vgtool)], + [m4_define([vgtoolx],vgtool)]) + AS_IF([`$VALGRIND --tool=]vgtoolx[ --help >/dev/null 2>&1`],[ + ax_cv_valgrind_tool_]vgtool[=yes + ]) + ]) + AS_IF([test "$ax_cv_valgrind_tool_]vgtool[" = "no"],[ + AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ + AC_MSG_ERROR([Valgrind does not support ]vgtool[; reconfigure with --disable-valgrind-]vgtool) + ],[ + enable_valgrind_]vgtool[=no + ]) + ],[ + enable_valgrind_]vgtool[=yes + ]) + ]) + AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ + valgrind_enabled_tools="$valgrind_enabled_tools ]m4_bpatsubst(vgtool,[^exp-])[" + ]) + AC_SUBST([ENABLE_VALGRIND_]vgtool,[$enable_valgrind_]vgtool) + ]) + AC_SUBST([valgrind_tools],["]m4_join([ ], valgrind_tool_list)["]) + AC_SUBST([valgrind_enabled_tools],[$valgrind_enabled_tools]) + +[VALGRIND_CHECK_RULES=' +# Valgrind check +# +# Optional: +# - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions +# files to load. (Default: empty) +# - VALGRIND_FLAGS: General flags to pass to all Valgrind tools. +# (Default: --num-callers=30) +# - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of: +# memcheck, helgrind, drd, sgcheck). (Default: various) + +# Optional variables +VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES)) +VALGRIND_FLAGS ?= --num-callers=30 +VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no +VALGRIND_helgrind_FLAGS ?= --history-level=approx +VALGRIND_drd_FLAGS ?= +VALGRIND_sgcheck_FLAGS ?= + +# Internal use +valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools))) + +valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS) +valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS) +valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS) +valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS) + +valgrind_quiet = $(valgrind_quiet_$(V)) +valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY)) +valgrind_quiet_0 = --quiet +valgrind_v_use = $(valgrind_v_use_$(V)) +valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY)) +valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%-am,%,$''@):; + +# Support running with and without libtool. +ifneq ($(LIBTOOL),) +valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute +else +valgrind_lt = +endif + +# Use recursive makes in order to ignore errors during check +check-valgrind-am: +ifeq ($(VALGRIND_ENABLED),yes) + $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k \ + $(foreach tool, $(valgrind_enabled_tools), check-valgrind-$(tool)) +else + @echo "Need to reconfigure with --enable-valgrind" +endif + +# Valgrind running +VALGRIND_TESTS_ENVIRONMENT = \ + $(TESTS_ENVIRONMENT) \ + env VALGRIND=$(VALGRIND) \ + G_SLICE=always-malloc,debug-blocks \ + G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly + +VALGRIND_LOG_COMPILER = \ + $(valgrind_lt) \ + $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS) + +define valgrind_tool_rule +check-valgrind-$(1)-am: +ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes) +ifneq ($$(TESTS),) + $$(valgrind_v_use)$$(MAKE) check-TESTS \ + TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \ + LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \ + LOG_FLAGS="$$(valgrind_$(1)_flags)" \ + TEST_SUITE_LOG=test-suite-$(1).log +endif +else ifeq ($$(VALGRIND_ENABLED),yes) + @echo "Need to reconfigure with --enable-valgrind-$(1)" +else + @echo "Need to reconfigure with --enable-valgrind" +endif +endef + +$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool)))) + +A''M_DISTCHECK_CONFIGURE_FLAGS ?= +A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind + +MOSTLYCLEANFILES ?= +MOSTLYCLEANFILES += $(valgrind_log_files) + +.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools)) +'] + + AC_SUBST([VALGRIND_CHECK_RULES]) + m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([VALGRIND_CHECK_RULES])]) +]) diff --git a/m4/autoconf-archive/ax_var_pop.m4 b/m4/autoconf-archive/ax_var_pop.m4 new file mode 100755 index 0000000000..7c139f9c44 --- /dev/null +++ b/m4/autoconf-archive/ax_var_pop.m4 @@ -0,0 +1,99 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_var_pop.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_VAR_POPVALUE(VARIABLE) +# +# DESCRIPTION +# +# Restores a variable's previous value. Compile, link and running tests +# usually require the programmer to provide additional flags. However, it +# is strongly recommended not to override flags defined by the user +# through the configure command. AX_VAR_PUSHVALUE and AX_VAR_POPVALUE are +# clean way to temporarily store a variable's value and restore it later, +# using a stack-like behaviour. This macro supports nesting. +# +# Example: +# +# AX_VAR_PUSHVALUE([CXXFLAGS],["my test flags"]) +# perform some checks with CXXFLAGS... +# CXXFLAGS value will be "my test flags" +# AX_VAR_POPVALUE([CXXFLAGS]) +# CXXFLAGS is restored to its original value +# +# LICENSE +# +# Copyright (c) 2015 Jorge Bellon +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +# Main macros +AC_DEFUN([AX_VAR_PUSHVALUE],[ + increment([$1_counter]) + + AS_VAR_PUSHDEF([variable],[$1]) dnl + AS_VAR_PUSHDEF([backup],[save_$1_]$1_counter) dnl + + AS_VAR_SET(backup,$variable) dnl + AS_VAR_SET(variable,["]m4_default($2,$variable)["]) dnl + + AS_VAR_POPDEF([variable]) dnl + AS_VAR_POPDEF([backup]) dnl +])dnl AX_PUSH_VAR + +AC_DEFUN([AX_VAR_POPVALUE],[ + AS_VAR_PUSHDEF([variable],[$1]) dnl + AS_VAR_PUSHDEF([backup],[save_$1_]$1_counter) dnl + + AS_VAR_SET(variable,$backup) dnl + + decrement([$1_counter]) + AS_VAR_POPDEF([variable]) dnl + AS_VAR_POPDEF([backup]) dnl +])dnl AX_POP_VAR + +# ------------------------- +# Auxiliary macro +# ------------------------- +# decrement(counter_name) +# +# Decrement the value of a named counter. +# Throws an error if counter not defined +# or value reaches zero. +# ------------------------- +m4_define([decrement],[dnl + m4_ifdef([$1],dnl + [m4_if(m4_eval($1 > 0), + [1],m4_define([$1],m4_decr($1)),dnl + [m4_fatal([Missing call to AX_VAR_PUSHVALUE with var $1])]dnl + )],dnl + [m4_fatal([Missing call to AX_VAR_PUSHVALUE with var $1])])dnl +])dnl diff --git a/m4/autoconf-archive/ax_var_push.m4 b/m4/autoconf-archive/ax_var_push.m4 new file mode 100755 index 0000000000..d67d8c31de --- /dev/null +++ b/m4/autoconf-archive/ax_var_push.m4 @@ -0,0 +1,96 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_var_push.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_VAR_PUSHVALUE(VARIABLE, [VALUE]) +# +# DESCRIPTION +# +# Stores a copy of variable_name's value and assigns it to 'value' If no +# value is given, its original value is kept. Compile, link and running +# tests usually require the programmer to provide additional flags. +# However, it is strongly recommended not to override flags defined by the +# user through the configure command. AX_VAR_PUSHVALUE and AX_VAR_POPVALUE +# are clean way to temporarily store a variable's value and restore it +# later, using a stack-like behaviour. This macro supports nesting. +# +# Example: +# +# AX_VAR_PUSHVALUE([CXXFLAGS],["my test flags"]) +# perform some checks with CXXFLAGS... +# CXXFLAGS value will be "my test flags" +# AX_VAR_POPVALUE([CXXFLAGS]) +# CXXFLAGS is restored to its original value +# +# LICENSE +# +# Copyright (c) 2015 Jorge Bellon +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_VAR_PUSHVALUE],[ + increment([$1_counter]) + + AS_VAR_PUSHDEF([variable],[$1]) dnl + AS_VAR_PUSHDEF([backup],[save_$1_]$1_counter) dnl + + AS_VAR_SET(backup,$variable) dnl + AS_VAR_SET(variable,["]m4_default($2,$variable)["]) dnl + + AS_VAR_POPDEF([variable]) dnl + AS_VAR_POPDEF([backup]) dnl +])dnl AX_PUSH_VAR + +AC_DEFUN([AX_VAR_POPVALUE],[ + AS_VAR_PUSHDEF([variable],[$1]) dnl + AS_VAR_PUSHDEF([backup],[save_$1_]$1_counter) dnl + + AS_VAR_SET(variable,$backup) dnl + + decrement([$1_counter]) + AS_VAR_POPDEF([variable]) dnl + AS_VAR_POPDEF([backup]) dnl +])dnl AX_POP_VAR + +# ------------------------- +# Auxiliary macro +# ------------------------- +# increment(counter_name) +# +# Increment the value of a named counter. +# Initialize to 1 if not defined +# ------------------------- +m4_define([increment],[dnl + m4_ifdef([$1],dnl + [m4_define([$1],m4_incr($1))],dnl + [m4_define([$1],[1])]dnl + )dnl +])dnl diff --git a/m4/autoconf-archive/ax_var_timezone_externals.m4 b/m4/autoconf-archive/ax_var_timezone_externals.m4 new file mode 100755 index 0000000000..590804ef92 --- /dev/null +++ b/m4/autoconf-archive/ax_var_timezone_externals.m4 @@ -0,0 +1,95 @@ +# ============================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_var_timezone_externals.html +# ============================================================================== +# +# SYNOPSIS +# +# AX_VAR_TIMEZONE_EXTERNALS +# +# DESCRIPTION +# +# Use instead of `AC_STRUCT_TIMEZONE' to determine whether the external +# timezone variables `timezone', `altzone' and `daylight' exist, defining +# `HAVE_TIMEZONE', `HAVE_ALTZONE' and `HAVE_DAYLIGHT' respectively (as +# well as gaining the macros defined by `AC_STRUCT_TIMEZONE'). +# +# Rewritten for Autoconf 2.68, and made robust against BSD's timezone() +# function, by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Mark R. Bannister +# Copyright (c) 2011 Daniel Richard G. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 7 + +AU_ALIAS([AC_VAR_TIMEZONE_EXTERNALS], [AX_VAR_TIMEZONE_EXTERNALS]) +AC_DEFUN([AX_VAR_TIMEZONE_EXTERNALS], +[ AC_REQUIRE([AC_STRUCT_TIMEZONE])dnl + + AC_LANG_PUSH([C]) + + AC_CACHE_CHECK([for `timezone' variable in time.h], [mb_cv_var_timezone], + [ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int *foo = (int *)0xdeadbeef; return foo@<:@timezone@:>@ /* ; */])], + [mb_cv_var_timezone=yes], + [mb_cv_var_timezone=no]) + ]) + + AC_CACHE_CHECK([for `altzone' variable in time.h], [mb_cv_var_altzone], + [ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int *foo = (int *)0xdeadbeef; return foo@<:@altzone@:>@ /* ; */])], + [mb_cv_var_altzone=yes], + [mb_cv_var_altzone=no]) + ]) + + AC_CACHE_CHECK([for `daylight' variable in time.h], [mb_cv_var_daylight], + [ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int *foo = (int *)0xdeadbeef; return foo@<:@daylight@:>@ /* ; */])], + [mb_cv_var_daylight=yes], + [mb_cv_var_daylight=no]) + ]) + + if test "$mb_cv_var_timezone" = "yes"; then + AC_DEFINE([HAVE_TIMEZONE], [1], + [Define to 1 if you have the external `timezone' variable.]) + fi + + if test "$mb_cv_var_altzone" = "yes"; then + AC_DEFINE([HAVE_ALTZONE], [1], + [Define to 1 if you have the external `altzone' variable.]) + fi + + if test "$mb_cv_var_daylight" = "yes"; then + AC_DEFINE([HAVE_DAYLIGHT], [1], + [Define to 1 if you have the external `daylight' variable.]) + fi + + AC_LANG_POP +]) diff --git a/m4/autoconf-archive/ax_very_nice.m4 b/m4/autoconf-archive/ax_very_nice.m4 new file mode 100755 index 0000000000..0f46dc03f3 --- /dev/null +++ b/m4/autoconf-archive/ax_very_nice.m4 @@ -0,0 +1,80 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_very_nice.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_VERY_NICE +# +# DESCRIPTION +# +# A macro to check the options of nice, in order to have a VERY_NICE +# variable which runs a program at the lowest priority VERY_NICE is +# undefined if we don't find the proper options, so you can safely use: +# +# @VERY_NICE@ mycommand +# +# in a shell script. +# +# The VERY_NICE variable includes the placeholder NICE_VALUE that you have +# to instantiate at run-time. If you give a argument to AX_VERY_NICE, it +# will be used as an argument of nice for testing and included in +# VERY_NICE instead of the above placeholder. +# +# LICENSE +# +# Copyright (c) 2008 Stephane Bortzmeyer +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AU_ALIAS([AC_VERY_NICE], [AX_VERY_NICE]) +AC_DEFUN([AX_VERY_NICE],[ +if test "x$1" != "x"; then + NICE_VALUE=$1 +else + NICE_VALUE=20 +fi +AC_CHECK_PROGS(TEST_NICE, date) +AC_CHECK_PROGS(NICE, nice, ) +AC_MSG_CHECKING(syntax of nice) +if test "x$NICE" != "x"; then + if ( $NICE -n $NICE_VALUE $TEST_NICE > /dev/null 2>&1 ) ; then + VERY_NICE="$NICE -n $NICE_VALUE" + else + if ( $NICE -$NICE_VALUE $TEST_NICE > /dev/null 2>&1 ) ; then + VERY_NICE="$NICE -$NICE_VALUE" + fi + fi +fi +if test "x$1" = "x"; then + VERY_NICE=`echo $VERY_NICE | sed "s/$NICE_VALUE/NICE_VALUE/"` +fi +AC_MSG_RESULT($VERY_NICE) +AC_SUBST(VERY_NICE) +]) diff --git a/m4/autoconf-archive/ax_warning_default_aclocaldir.m4 b/m4/autoconf-archive/ax_warning_default_aclocaldir.m4 new file mode 100755 index 0000000000..6153e5f21f --- /dev/null +++ b/m4/autoconf-archive/ax_warning_default_aclocaldir.m4 @@ -0,0 +1,146 @@ +# ================================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_warning_default_aclocaldir.html +# ================================================================================== +# +# SYNOPSIS +# +# AX_WARNING_DEFAULT_ACLOCALDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])] +# AX_ENABLE_DEFAULT_ACLOCALDIR [(dirvariable [,defsetting])] +# +# DESCRIPTION +# +# print a warning message if the $(datadir)/aclocal directory is not in +# the dirlist searched by the aclocal tool. This macro is useful if some +# `make install` would target $(datadir)/aclocal to install an autoconf m4 +# file of your project to be picked up by other projects. +# +# default $1 dirvariable = aclocaldir +# default $2 defsetting = ${datadir}/aclocal +# default $3 action = nothing to do +# default $4 action = warn the user about mismatch +# +# In the _WARNING_ variant, the defsetting is not placed in dirvariable +# nor is it ac_subst'ed in any way. The default fail-action $4 is to send +# a warning message to the user, and the default accept-action $3 is +# nothing. It is expected that a Makefile is generated with +# aclocaldir=${datadir}/aclocal +# +# The _ENABLE_ variant however will set not only the $aclocaldir shell var +# of the script, but it is also AC-SUBST'ed on default - and furthermore a +# configure option "--enable-default-aclocaldir" is provided. Only if that +# option is set then $2 default is not set to the canonic default in the a +# $prefix subpath but instead $2 default is set to the primary path where +# `aclocal` looks for macros. The user may also override the default on +# the command line. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 9 + +AC_DEFUN([AX_WARNING_DEFAULT_ACLOCALDIR],[dnl +AC_REQUIRE([AX_EXPAND_PREFIX])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_aclocal_dir])dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_aclocal_bin])dnl +AS_VAR_PUSHDEF([LOC],[ax_warning_default_aclocal_loc])dnl +LOC='m4_if([$2],,[${datadir}/aclocal],[$2])' +m4_ifval([$1],[test ".$[]$1" != "." && LOC="$[]$1"]) + if test ".$ACLOCAL" = "." ; then + AC_PATH_PROG([ACLOCAL],[aclocal],[:]) + fi + BIN="$ACLOCAL" + test ".$BIN" = "." && BIN="aclocal" + DIR=`test ".$SHELL" = "." && SHELL="'sh'" ; eval "$BIN --print-ac-dir"` + test ".$DIR" = "." && test -d "/usr/share/aclocal" && DIR="/usr/share/aclocal" + test ".$DIR" = "." && DIR="/tmp" +DIR=`eval "echo $DIR"` # we need to expand +DIR=`eval "echo $DIR"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +AC_RUN_LOG([: test "$LOC" = "$DIR"]) +if test "$LOC" != "$DIR" ; then + if test -f "$DIR/dirlist" ; then + for DIR in `cat $DIR/dirlist` $DIR ; do + AC_RUN_LOG([: test "$LOC" = "$DIR"]) + test "$LOC" = "$DIR" && break + done + fi + if test "$LOC" != "$DIR" ; then + m4_ifval([$4],[$4],[dnl + AC_MSG_NOTICE([warning: m4_if([$1],,[aclocaldir],[$1])=$LOC dnl +(see config.log)]) + AC_MSG_NOTICE([perhaps: make install m4_if([$1],,[aclocaldir],[$1])=$DIR]) + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) <@], [override the datadir/aclocal default])]) +test ".$enable_default_aclocaldir" = "." && enable_default_aclocaldir="no" +case ".$enable_default_aclocaldir" in + .no) DIR='m4_if([$2],,[${datadir}/aclocal],[$2])' ;; + .yes) # autodetect + if test ".$ACLOCAL" = "." ; then + AC_PATH_PROG([ACLOCAL],[aclocal],[:]) + fi + BIN="$ACLOCAL" + test ".$BIN" = "." && BIN="aclocal" + DIR=`test ".$SHELL" = "." && SHELL="'sh'" ; eval "$BIN --print-ac-dir"` + test ".$DIR" = "." && test -d "/usr/share/aclocal" && DIR="/usr/share/aclocal" + test ".$DIR" = "." && DIR="/tmp" ;; + *) DIR="$enable_default_aclocaldir" ;; +esac +AX_WARNING_DEFAULT_ACLOCALDIR([$1],[$DEF],[$3],[$4],[$5]) +m4_if([$1],,[aclocaldir],[$1])="$ax_warning_default_aclocal_dir" +AC_SUBST(m4_if([$1],,[aclocaldir],[$1])) +AS_VAR_POPDEF([DEF])dnl +AS_VAR_POPDEF([DIR])dnl +AS_VAR_POPDEF([BIN])dnl +]) diff --git a/m4/autoconf-archive/ax_warning_default_pkgconfig.m4 b/m4/autoconf-archive/ax_warning_default_pkgconfig.m4 new file mode 100755 index 0000000000..a928b49b25 --- /dev/null +++ b/m4/autoconf-archive/ax_warning_default_pkgconfig.m4 @@ -0,0 +1,161 @@ +# ================================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_warning_default_pkgconfig.html +# ================================================================================= +# +# SYNOPSIS +# +# AX_WARNING_DEFAULT_PKGCONFIGDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])] +# AX_ENABLE_DEFAULT_PKGCONFIGDIR [(dirvariable [,defsetting])] +# +# DESCRIPTION +# +# print a warning message if the $(datadir)/aclocal directory is not in +# the dirlist searched by the aclocal tool. This macro is useful if some +# `make install` would target $(datadir)/aclocal to install an autoconf m4 +# file of your project to be picked up by other projects. +# +# default $1 dirvariable = pkgconfigdir +# default $2 defsetting = ${libdir}/pkgconfig +# default $3 action = nothing to do +# default $4 action = warn the user about mismatch +# +# In the _WARNING_ variant, the defsetting is not placed in dirvariable +# nor is it ac_subst'ed in any way. The default fail-action $4 is to send +# a warning message to the user, and the default accept-action $3 is +# nothing. It is expected that a Makefile is generated with +# pkgconfigdir=${libdir}/pkgconfig +# +# The _ENABLE_ variant however will set not only the $pkgconfigdir shell +# var of the script, but it is also AC-SUBST'ed on default - and +# furthermore a configure option "--enable-default-pkgconfigdir" is +# provided. Only if that option is set then $2 default is not set to the +# canonic default in the a $prefix subpath but instead $2 default is set +# to the primary path where `pkg-config` looks for .pc files. The user may +# also override the default on the command line. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AC_DEFUN([AX_WARNING_DEFAULT_PKGCONFIGDIR],[dnl +AC_REQUIRE([AX_EXPAND_PREFIX])dnl +AS_VAR_PUSHDEF([DIR],[ax_warning_default_pkgconfig_dir])dnl +AS_VAR_PUSHDEF([BIN],[ax_warning_default_pkgconfig_bin])dnl +AS_VAR_PUSHDEF([LOC],[ax_warning_default_pkgconfig_loc])dnl +LOC='m4_if([$2],,[${libdir}/pkgconfig],[$2])' +m4_ifval([$1],[test ".$[]$1" != "." && LOC="$[]$1"]) + if test ".$PKG_CONFIG" = "." ; then # we use the same default as in pkg.m4 + AC_PATH_PROG([PKG_CONFIG],[pkg-config],[no]) + fi + if test "$PKG_CONFIG" = "no" + then DIR="/" ; test -d "/usr/lib/pkgconfig" && DIR="/usr/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` ; + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else BIN=`AS_DIRNAME(["$DIR"])` + if test -d "$BIN/lib/pkgconfig" ; then + DIR="$BIN/lib/pkgconfig" + else + if test -d "/usr/lib/pkgconfig" ; then + DIR="/usr/lib/pkgconfig" + else + DIR="/" + fi fi fi + fi +AC_RUN_LOG([: last pkgconfig dir is assumed as "$DIR"]) +DIR=`eval "echo $DIR"` +DIR=`eval "echo $DIR"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +LOC=`eval "echo $LOC"` +for DIR in `echo "$PKG_CONFIG_PATH:$DIR" | sed -e 's,:, ,g'` ; do + AC_RUN_LOG([: test ".$LOC" = ".$DIR"]) + test ".$LOC" = ".$DIR" && break +done +if test "$LOC" != "$DIR" ; then + m4_ifval([$4],[$4],[dnl + AC_MSG_NOTICE([warning: m4_if([$1],,[pkgconfigdir],[$1])=$LOC dnl +(see config.log)]) + AC_MSG_NOTICE([perhaps: make install m4_if([$1],,[pkgconfigdir],[$1])=$DIR]) + cat m4_ifset([AS_MESSAGE_LOG_FD],[>&AS_MESSAGE_LOG_FD],[>>config.log]) < in addition to +# . Consequently, the "do I have a system wint_t?" probe fails +# and an alternate gets used. Unfortunately, by the time the program gets +# built, one way or another that funny header winds up getting included +# and the "#define wint_t unsigned int" patch-up-hack mutilates the +# typedef. This macro will get it right. +# +# LICENSE +# +# Copyright (c) 2008 Bruce Korb +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_WINT_T],[ + AC_CHECK_HEADERS([runetype.h wchar.h]) + AC_CHECK_TYPE(wint_t, [], [ + AC_DEFINE_UNQUOTED([wint_t], [unsigned int], + [Define to `unsigned int' if not found])], [ + AC_INCLUDES_DEFAULT + #if HAVE_RUNETYPE_H + # include + #endif + #if HAVE_WCHAR_H + # include + #endif + ])]) diff --git a/m4/autoconf-archive/ax_with_apxs.m4 b/m4/autoconf-archive/ax_with_apxs.m4 new file mode 100755 index 0000000000..5eadecde08 --- /dev/null +++ b/m4/autoconf-archive/ax_with_apxs.m4 @@ -0,0 +1,60 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_apxs.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_APXS([value-if-not-found], [path]) +# +# DESCRIPTION +# +# Locates an installed apxs binary, placing the result in the precious +# variable $APXS. Accepts a preset $APXS, then --with-apxs, and failing +# that searches for apxs in the given path (which defaults to the system +# path). If apxs is found, $APXS is set to the full path of the binary; +# otherwise it is set to VALUE-IF-NOT-FOUND, which defaults to apxs. +# +# Example: +# +# AX_WITH_APXS(missing) +# +# LICENSE +# +# Copyright (c) 2008 Dustin J. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_WITH_APXS], +[ + AC_ARG_VAR([APXS]) + + dnl unless APXS was supplied to us (as a precious variable) + if test -z "$APXS" + then + AC_MSG_CHECKING(for --with-apxs) + AC_ARG_WITH(apxs, + AS_HELP_STRING([--with-apxs=APXS], + [absolute path name of apxs executable]), + [ if test "$withval" != "yes" + then + APXS="$withval" + AC_MSG_RESULT($withval) + else + AC_MSG_RESULT(no) + fi + ], + [ AC_MSG_RESULT(no) + ]) + fi + + dnl if it's still not found, check the paths, or use the fallback + if test -z "$APXS" + then + AC_PATH_PROG([APXS], apxs, m4_ifval([$1],[$1],[apxs]), $2) + fi +]) diff --git a/m4/autoconf-archive/ax_with_build_path.m4 b/m4/autoconf-archive/ax_with_build_path.m4 new file mode 100755 index 0000000000..2612147508 --- /dev/null +++ b/m4/autoconf-archive/ax_with_build_path.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_build_path.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_BUILD_PATH +# +# DESCRIPTION +# +# This macro adds a "--with-build-path" option to the configure script. +# This configure option provides a convenient way to add "-I" options to +# CPPFLAGS and "-L" options to LDFLAGS, at configure time. +# +# Invoking "./configure --with-build-path=DIR" results in "-I DIR/include" +# being added to CPPFLAGS if DIR/include exists, and "-L DIR/lib" being +# added to LDFLAGS if DIR/lib exists. +# +# Separate multiple directories using colons; e.g. +# "--with-build-path=DIR1:DIR2:DIR3". +# +# LICENSE +# +# Copyright (c) 2008 Steve M. Robbins +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([SMR_WITH_BUILD_PATH], [AX_WITH_BUILD_PATH]) +AC_DEFUN([AX_WITH_BUILD_PATH], +[ + AC_ARG_WITH([build-path], + [ --with-build-path=DIR build using DIR/include and DIR/lib], + [ + for d in `echo $withval | tr : ' '`; do + test -d $d/include && CPPFLAGS="$CPPFLAGS -I$d/include" + test -d $d/lib && LDFLAGS="$LDFLAGS -L$d/lib" + done + ]) +]) diff --git a/m4/autoconf-archive/ax_with_curses.m4 b/m4/autoconf-archive/ax_with_curses.m4 new file mode 100755 index 0000000000..dcdc1297f8 --- /dev/null +++ b/m4/autoconf-archive/ax_with_curses.m4 @@ -0,0 +1,582 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_curses.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_CURSES +# +# DESCRIPTION +# +# This macro checks whether a SysV or X/Open-compatible Curses library is +# present, along with the associated header file. The NcursesW +# (wide-character) library is searched for first, followed by Ncurses, +# then the system-default plain Curses. The first library found is the +# one returned. Finding libraries will first be attempted by using +# pkg-config, and should the pkg-config files not be available, will +# fallback to combinations of known flags itself. +# +# The following options are understood: --with-ncursesw, --with-ncurses, +# --without-ncursesw, --without-ncurses. The "--with" options force the +# macro to use that particular library, terminating with an error if not +# found. The "--without" options simply skip the check for that library. +# The effect on the search pattern is: +# +# (no options) - NcursesW, Ncurses, Curses +# --with-ncurses --with-ncursesw - NcursesW only [*] +# --without-ncurses --with-ncursesw - NcursesW only [*] +# --with-ncursesw - NcursesW only [*] +# --with-ncurses --without-ncursesw - Ncurses only [*] +# --with-ncurses - NcursesW, Ncurses [**] +# --without-ncurses --without-ncursesw - Curses only +# --without-ncursesw - Ncurses, Curses +# --without-ncurses - NcursesW, Curses +# +# [*] If the library is not found, abort the configure script. +# +# [**] If the second library (Ncurses) is not found, abort configure. +# +# The following preprocessor symbols may be defined by this macro if the +# appropriate conditions are met: +# +# HAVE_CURSES - if any SysV or X/Open Curses library found +# HAVE_CURSES_ENHANCED - if library supports X/Open Enhanced functions +# HAVE_CURSES_COLOR - if library supports color (enhanced functions) +# HAVE_CURSES_OBSOLETE - if library supports certain obsolete features +# HAVE_NCURSESW - if NcursesW (wide char) library is to be used +# HAVE_NCURSES - if the Ncurses library is to be used +# +# HAVE_CURSES_H - if is present and should be used +# HAVE_NCURSESW_H - if should be used +# HAVE_NCURSES_H - if should be used +# HAVE_NCURSESW_CURSES_H - if should be used +# HAVE_NCURSES_CURSES_H - if should be used +# +# (These preprocessor symbols are discussed later in this document.) +# +# The following output variables are defined by this macro; they are +# precious and may be overridden on the ./configure command line: +# +# CURSES_LIBS - library to add to xxx_LDADD +# CURSES_CFLAGS - include paths to add to xxx_CPPFLAGS +# +# In previous versions of this macro, the flags CURSES_LIB and +# CURSES_CPPFLAGS were defined. These have been renamed, in keeping with +# AX_WITH_CURSES's close bigger brother, PKG_CHECK_MODULES, which should +# eventually supersede the use of AX_WITH_CURSES. Neither the library +# listed in CURSES_LIBS, nor the flags in CURSES_CFLAGS are added to LIBS, +# respectively CPPFLAGS, by default. You need to add both to the +# appropriate xxx_LDADD/xxx_CPPFLAGS line in your Makefile.am. For +# example: +# +# prog_LDADD = @CURSES_LIBS@ +# prog_CPPFLAGS = @CURSES_CFLAGS@ +# +# If CURSES_LIBS is set on the configure command line (such as by running +# "./configure CURSES_LIBS=-lmycurses"), then the only header searched for +# is . If the user needs to specify an alternative path for a +# library (such as for a non-standard NcurseW), the user should use the +# LDFLAGS variable. +# +# The following shell variables may be defined by this macro: +# +# ax_cv_curses - set to "yes" if any Curses library found +# ax_cv_curses_enhanced - set to "yes" if Enhanced functions present +# ax_cv_curses_color - set to "yes" if color functions present +# ax_cv_curses_obsolete - set to "yes" if obsolete features present +# +# ax_cv_ncursesw - set to "yes" if NcursesW library found +# ax_cv_ncurses - set to "yes" if Ncurses library found +# ax_cv_plaincurses - set to "yes" if plain Curses library found +# ax_cv_curses_which - set to "ncursesw", "ncurses", "plaincurses" or "no" +# +# These variables can be used in your configure.ac to determine the level +# of support you need from the Curses library. For example, if you must +# have either Ncurses or NcursesW, you could include: +# +# AX_WITH_CURSES +# if test "x$ax_cv_ncursesw" != xyes && test "x$ax_cv_ncurses" != xyes; then +# AC_MSG_ERROR([requires either NcursesW or Ncurses library]) +# fi +# +# If any Curses library will do (but one must be present and must support +# color), you could use: +# +# AX_WITH_CURSES +# if test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes; then +# AC_MSG_ERROR([requires an X/Open-compatible Curses library with color]) +# fi +# +# Certain preprocessor symbols and shell variables defined by this macro +# can be used to determine various features of the Curses library. In +# particular, HAVE_CURSES and ax_cv_curses are defined if the Curses +# library found conforms to the traditional SysV and/or X/Open Base Curses +# definition. Any working Curses library conforms to this level. +# +# HAVE_CURSES_ENHANCED and ax_cv_curses_enhanced are defined if the +# library supports the X/Open Enhanced Curses definition. In particular, +# the wide-character types attr_t, cchar_t and wint_t, the functions +# wattr_set() and wget_wch() and the macros WA_NORMAL and _XOPEN_CURSES +# are checked. The Ncurses library does NOT conform to this definition, +# although NcursesW does. +# +# HAVE_CURSES_COLOR and ax_cv_curses_color are defined if the library +# supports color functions and macros such as COLOR_PAIR, A_COLOR, +# COLOR_WHITE, COLOR_RED and init_pair(). These are NOT part of the +# X/Open Base Curses definition, but are part of the Enhanced set of +# functions. The Ncurses library DOES support these functions, as does +# NcursesW. +# +# HAVE_CURSES_OBSOLETE and ax_cv_curses_obsolete are defined if the +# library supports certain features present in SysV and BSD Curses but not +# defined in the X/Open definition. In particular, the functions +# getattrs(), getcurx() and getmaxx() are checked. +# +# To use the HAVE_xxx_H preprocessor symbols, insert the following into +# your system.h (or equivalent) header file: +# +# #if defined HAVE_NCURSESW_CURSES_H +# # include +# #elif defined HAVE_NCURSESW_H +# # include +# #elif defined HAVE_NCURSES_CURSES_H +# # include +# #elif defined HAVE_NCURSES_H +# # include +# #elif defined HAVE_CURSES_H +# # include +# #else +# # error "SysV or X/Open-compatible Curses header file required" +# #endif +# +# For previous users of this macro: you should not need to change anything +# in your configure.ac or Makefile.am, as the previous (serial 10) +# semantics are still valid. However, you should update your system.h (or +# equivalent) header file to the fragment shown above. You are encouraged +# also to make use of the extended functionality provided by this version +# of AX_WITH_CURSES, as well as in the additional macros +# AX_WITH_CURSES_PANEL, AX_WITH_CURSES_MENU and AX_WITH_CURSES_FORM. +# +# LICENSE +# +# Copyright (c) 2009 Mark Pulford +# Copyright (c) 2009 Damian Pietras +# Copyright (c) 2012 Reuben Thomas +# Copyright (c) 2011 John Zaitseff +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 18 + +# internal function to factorize common code that is used by both ncurses +# and ncursesw +AC_DEFUN([_FIND_CURSES_FLAGS], [ + AC_MSG_CHECKING([for $1 via pkg-config]) + + AX_REQUIRE_DEFINED([PKG_CHECK_EXISTS]) + _PKG_CONFIG([_ax_cv_$1_libs], [libs], [$1]) + _PKG_CONFIG([_ax_cv_$1_cppflags], [cflags], [$1]) + + AS_IF([test "x$pkg_failed" = "xyes" || test "x$pkg_failed" = "xuntried"],[ + AC_MSG_RESULT([no]) + # No suitable .pc file found, have to find flags via fallback + AC_CACHE_CHECK([for $1 via fallback], [ax_cv_$1], [ + AS_ECHO() + pkg_cv__ax_cv_$1_libs="-l$1" + pkg_cv__ax_cv_$1_cppflags="-D_GNU_SOURCE $CURSES_CFLAGS" + LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs" + CPPFLAGS="$ax_saved_CPPFLAGS $pkg_cv__ax_cv_$1_cppflags" + + AC_MSG_CHECKING([for initscr() with $pkg_cv__ax_cv_$1_libs]) + AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])], + [ + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([for nodelay() with $pkg_cv__ax_cv_$1_libs]) + AC_LINK_IFELSE([AC_LANG_CALL([], [nodelay])],[ + ax_cv_$1=yes + ],[ + AC_MSG_RESULT([no]) + m4_if( + [$1],[ncursesw],[pkg_cv__ax_cv_$1_libs="$pkg_cv__ax_cv_$1_libs -ltinfow"], + [$1],[ncurses],[pkg_cv__ax_cv_$1_libs="$pkg_cv__ax_cv_$1_libs -ltinfo"] + ) + LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs" + + AC_MSG_CHECKING([for nodelay() with $pkg_cv__ax_cv_$1_libs]) + AC_LINK_IFELSE([AC_LANG_CALL([], [nodelay])],[ + ax_cv_$1=yes + ],[ + ax_cv_$1=no + ]) + ]) + ],[ + ax_cv_$1=no + ]) + ]) + ],[ + AC_MSG_RESULT([yes]) + # Found .pc file, using its information + LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs" + CPPFLAGS="$ax_saved_CPPFLAGS $pkg_cv__ax_cv_$1_cppflags" + ax_cv_$1=yes + ]) +]) + +AU_ALIAS([MP_WITH_CURSES], [AX_WITH_CURSES]) +AC_DEFUN([AX_WITH_CURSES], [ + AC_ARG_VAR([CURSES_LIBS], [linker library for Curses, e.g. -lcurses]) + AC_ARG_VAR([CURSES_CFLAGS], [preprocessor flags for Curses, e.g. -I/usr/include/ncursesw]) + AC_ARG_WITH([ncurses], [AS_HELP_STRING([--with-ncurses], + [force the use of Ncurses or NcursesW])], + [], [with_ncurses=check]) + AC_ARG_WITH([ncursesw], [AS_HELP_STRING([--without-ncursesw], + [do not use NcursesW (wide character support)])], + [], [with_ncursesw=check]) + + ax_saved_LIBS=$LIBS + ax_saved_CPPFLAGS=$CPPFLAGS + + AS_IF([test "x$with_ncurses" = xyes || test "x$with_ncursesw" = xyes], + [ax_with_plaincurses=no], [ax_with_plaincurses=check]) + + ax_cv_curses_which=no + + # Test for NcursesW + AS_IF([test "x$CURSES_LIBS" = x && test "x$with_ncursesw" != xno], [ + _FIND_CURSES_FLAGS([ncursesw]) + + AS_IF([test "x$ax_cv_ncursesw" = xno && test "x$with_ncursesw" = xyes], [ + AC_MSG_ERROR([--with-ncursesw specified but could not find NcursesW library]) + ]) + + AS_IF([test "x$ax_cv_ncursesw" = xyes], [ + ax_cv_curses=yes + ax_cv_curses_which=ncursesw + CURSES_LIBS="$pkg_cv__ax_cv_ncursesw_libs" + CURSES_CFLAGS="$pkg_cv__ax_cv_ncursesw_cppflags" + AC_DEFINE([HAVE_NCURSESW], [1], [Define to 1 if the NcursesW library is present]) + AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) + + AC_CACHE_CHECK([for working ncursesw/curses.h], [ax_cv_header_ncursesw_curses_h], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@define _XOPEN_SOURCE_EXTENDED 1 + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + attr_t d = WA_NORMAL; + cchar_t e; + wint_t f; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + wattr_set(stdscr, d, 0, NULL); + wget_wch(stdscr, &f); + ]])], + [ax_cv_header_ncursesw_curses_h=yes], + [ax_cv_header_ncursesw_curses_h=no]) + ]) + AS_IF([test "x$ax_cv_header_ncursesw_curses_h" = xyes], [ + ax_cv_curses_enhanced=yes + ax_cv_curses_color=yes + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + AC_DEFINE([HAVE_NCURSESW_CURSES_H], [1], [Define to 1 if is present]) + ]) + + AC_CACHE_CHECK([for working ncursesw.h], [ax_cv_header_ncursesw_h], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@define _XOPEN_SOURCE_EXTENDED 1 + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + attr_t d = WA_NORMAL; + cchar_t e; + wint_t f; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + wattr_set(stdscr, d, 0, NULL); + wget_wch(stdscr, &f); + ]])], + [ax_cv_header_ncursesw_h=yes], + [ax_cv_header_ncursesw_h=no]) + ]) + AS_IF([test "x$ax_cv_header_ncursesw_h" = xyes], [ + ax_cv_curses_enhanced=yes + ax_cv_curses_color=yes + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + AC_DEFINE([HAVE_NCURSESW_H], [1], [Define to 1 if is present]) + ]) + + AC_CACHE_CHECK([for working ncurses.h], [ax_cv_header_ncurses_h_with_ncursesw], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@define _XOPEN_SOURCE_EXTENDED 1 + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + attr_t d = WA_NORMAL; + cchar_t e; + wint_t f; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + wattr_set(stdscr, d, 0, NULL); + wget_wch(stdscr, &f); + ]])], + [ax_cv_header_ncurses_h_with_ncursesw=yes], + [ax_cv_header_ncurses_h_with_ncursesw=no]) + ]) + AS_IF([test "x$ax_cv_header_ncurses_h_with_ncursesw" = xyes], [ + ax_cv_curses_enhanced=yes + ax_cv_curses_color=yes + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + AC_DEFINE([HAVE_NCURSES_H], [1], [Define to 1 if is present]) + ]) + + AS_IF([test "x$ax_cv_header_ncursesw_curses_h" = xno && test "x$ax_cv_header_ncursesw_h" = xno && test "x$ax_cv_header_ncurses_h_with_ncursesw" = xno], [ + AC_MSG_WARN([could not find a working ncursesw/curses.h, ncursesw.h or ncurses.h]) + ]) + ]) + ]) + unset pkg_cv__ax_cv_ncursesw_libs + unset pkg_cv__ax_cv_ncursesw_cppflags + + # Test for Ncurses + AS_IF([test "x$CURSES_LIBS" = x && test "x$with_ncurses" != xno && test "x$ax_cv_curses_which" = xno], [ + _FIND_CURSES_FLAGS([ncurses]) + + AS_IF([test "x$ax_cv_ncurses" = xno && test "x$with_ncurses" = xyes], [ + AC_MSG_ERROR([--with-ncurses specified but could not find Ncurses library]) + ]) + + AS_IF([test "x$ax_cv_ncurses" = xyes], [ + ax_cv_curses=yes + ax_cv_curses_which=ncurses + CURSES_LIBS="$pkg_cv__ax_cv_ncurses_libs" + CURSES_CFLAGS="$pkg_cv__ax_cv_ncurses_cppflags" + AC_DEFINE([HAVE_NCURSES], [1], [Define to 1 if the Ncurses library is present]) + AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) + + AC_CACHE_CHECK([for working ncurses/curses.h], [ax_cv_header_ncurses_curses_h], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + ]])], + [ax_cv_header_ncurses_curses_h=yes], + [ax_cv_header_ncurses_curses_h=no]) + ]) + AS_IF([test "x$ax_cv_header_ncurses_curses_h" = xyes], [ + ax_cv_curses_color=yes + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + AC_DEFINE([HAVE_NCURSES_CURSES_H], [1], [Define to 1 if is present]) + ]) + + AC_CACHE_CHECK([for working ncurses.h], [ax_cv_header_ncurses_h], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + ]])], + [ax_cv_header_ncurses_h=yes], + [ax_cv_header_ncurses_h=no]) + ]) + AS_IF([test "x$ax_cv_header_ncurses_h" = xyes], [ + ax_cv_curses_color=yes + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + AC_DEFINE([HAVE_NCURSES_H], [1], [Define to 1 if is present]) + ]) + + AS_IF([test "x$ax_cv_header_ncurses_curses_h" = xno && test "x$ax_cv_header_ncurses_h" = xno], [ + AC_MSG_WARN([could not find a working ncurses/curses.h or ncurses.h]) + ]) + ]) + ]) + unset pkg_cv__ax_cv_ncurses_libs + unset pkg_cv__ax_cv_ncurses_cppflags + + # Test for plain Curses (or if CURSES_LIBS was set by user) + AS_IF([test "x$with_plaincurses" != xno && test "x$ax_cv_curses_which" = xno], [ + AS_IF([test "x$CURSES_LIBS" != x], [ + LIBS="$ax_saved_LIBS $CURSES_LIBS" + ], [ + LIBS="$ax_saved_LIBS -lcurses" + ]) + + AC_CACHE_CHECK([for Curses library], [ax_cv_plaincurses], [ + AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])], + [ax_cv_plaincurses=yes], [ax_cv_plaincurses=no]) + ]) + + AS_IF([test "x$ax_cv_plaincurses" = xyes], [ + ax_cv_curses=yes + ax_cv_curses_which=plaincurses + AS_IF([test "x$CURSES_LIBS" = x], [ + CURSES_LIBS="-lcurses" + ]) + AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present]) + + # Check for base conformance (and header file) + + AC_CACHE_CHECK([for working curses.h], [ax_cv_header_curses_h], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + initscr(); + ]])], + [ax_cv_header_curses_h=yes], + [ax_cv_header_curses_h=no]) + ]) + AS_IF([test "x$ax_cv_header_curses_h" = xyes], [ + AC_DEFINE([HAVE_CURSES_H], [1], [Define to 1 if is present]) + + # Check for X/Open Enhanced conformance + + AC_CACHE_CHECK([for X/Open Enhanced Curses conformance], [ax_cv_plaincurses_enhanced], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@define _XOPEN_SOURCE_EXTENDED 1 + @%:@include + @%:@ifndef _XOPEN_CURSES + @%:@error "this Curses library is not enhanced" + "this Curses library is not enhanced" + @%:@endif + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + attr_t d = WA_NORMAL; + cchar_t e; + wint_t f; + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + wattr_set(stdscr, d, 0, NULL); + wget_wch(stdscr, &f); + ]])], + [ax_cv_plaincurses_enhanced=yes], + [ax_cv_plaincurses_enhanced=no]) + ]) + AS_IF([test "x$ax_cv_plaincurses_enhanced" = xyes], [ + ax_cv_curses_enhanced=yes + ax_cv_curses_color=yes + AC_DEFINE([HAVE_CURSES_ENHANCED], [1], [Define to 1 if library supports X/Open Enhanced functions]) + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + ]) + + # Check for color functions + + AC_CACHE_CHECK([for Curses color functions], [ax_cv_plaincurses_color], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@define _XOPEN_SOURCE_EXTENDED 1 + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + chtype c = COLOR_PAIR(1) & A_COLOR; + initscr(); + init_pair(1, COLOR_WHITE, COLOR_RED); + ]])], + [ax_cv_plaincurses_color=yes], + [ax_cv_plaincurses_color=no]) + ]) + AS_IF([test "x$ax_cv_plaincurses_color" = xyes], [ + ax_cv_curses_color=yes + AC_DEFINE([HAVE_CURSES_COLOR], [1], [Define to 1 if library supports color (enhanced functions)]) + ]) + + # Check for obsolete functions + + AC_CACHE_CHECK([for obsolete Curses functions], [ax_cv_plaincurses_obsolete], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + chtype a = A_BOLD; + int b = KEY_LEFT; + int g = getattrs(stdscr); + int h = getcurx(stdscr) + getmaxx(stdscr); + initscr(); + ]])], + [ax_cv_plaincurses_obsolete=yes], + [ax_cv_plaincurses_obsolete=no]) + ]) + AS_IF([test "x$ax_cv_plaincurses_obsolete" = xyes], [ + ax_cv_curses_obsolete=yes + AC_DEFINE([HAVE_CURSES_OBSOLETE], [1], [Define to 1 if library supports certain obsolete features]) + ]) + ]) + + AS_IF([test "x$ax_cv_header_curses_h" = xno], [ + AC_MSG_WARN([could not find a working curses.h]) + ]) + ]) + ]) + + AS_IF([test "x$ax_cv_curses" != xyes], [ax_cv_curses=no]) + AS_IF([test "x$ax_cv_curses_enhanced" != xyes], [ax_cv_curses_enhanced=no]) + AS_IF([test "x$ax_cv_curses_color" != xyes], [ax_cv_curses_color=no]) + AS_IF([test "x$ax_cv_curses_obsolete" != xyes], [ax_cv_curses_obsolete=no]) + + LIBS=$ax_saved_LIBS + CPPFLAGS=$ax_saved_CPPFLAGS + + unset ax_saved_LIBS + unset ax_saved_CPPFLAGS +])dnl diff --git a/m4/autoconf-archive/ax_with_curses_extra.m4 b/m4/autoconf-archive/ax_with_curses_extra.m4 new file mode 100755 index 0000000000..7056d6859f --- /dev/null +++ b/m4/autoconf-archive/ax_with_curses_extra.m4 @@ -0,0 +1,245 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_curses_extra.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_CURSES_PANEL +# AX_WITH_CURSES_MENU +# AX_WITH_CURSES_FORM +# +# DESCRIPTION +# +# These macros try to find additional libraries that often come with +# SysV-compatible Curses. In particular, the Panel, Menu and Form +# libraries are searched, along with their header files. These macros +# depend on AX_WITH_CURSES. +# +# The following preprocessor symbols may be defined by these macros: +# +# By AX_WITH_CURSES_PANEL: +# +# HAVE_PANEL - if the Panel library is present +# HAVE_PANEL_H - if is present and should be used +# HAVE_NCURSES_PANEL_H - if should be used +# HAVE_NCURSESW_PANEL_H - if should be used +# +# By AX_WITH_CURSES_MENU: +# +# HAVE_MENU - if the Menu library is present +# HAVE_MENU_H - if is present and should be used +# HAVE_NCURSES_MENU_H - if should be used +# HAVE_NCURSESW_MENU_H - if should be used +# +# By AX_WITH_CURSES_FORM: +# +# HAVE_FORM - if the Form library is present +# HAVE_FORM_H - if is present and should be used +# HAVE_NCURSES_FORM_H - if should be used +# HAVE_NCURSESW_FORM_H - if should be used +# +# The following output variables may be defined by these macros; these are +# precious and may be overridden on the ./configure command line: +# +# PANEL_LIBS - library to add to xxx_LDADD before CURSES_LIBS +# MENU_LIBS - library to add to xxx_LDADD before CURSES_LIBS +# FORM_LIBS - library to add to xxx_LDADD before CURSES_LIBS +# +# In previous versions of this macro, the flags PANEL_LIB, MENU_LIB and +# FORM_LIB were defined. These have been renamed, in keeping with the +# variable scheme of PKG_CHECK_MODULES, which should eventually supersede +# the use of AX_WITH_CURSES and AX_WITH_CURSES_* macros. These libraries +# are NOT added to LIBS by default. You need to add them to the +# appropriate xxx_LDADD line in your Makefile.am in front of the +# equivalent CURSES_LIBS incantation. For example: +# +# prog_LDADD = @PANEL_LIBS@ @CURSES_LIBS@ +# +# If one of the xxx_LIBS variables is set on the configure command line +# (such as by running "./configure PANEL_LIBS=-lmypanel"), then the header +# file searched must NOT contain a subpath. In this case, in other words, +# only would be searched for. The user may use the CPPFLAGS +# precious variable to override the standard #include search path. +# +# The following shell variables may be defined by these macros: +# +# ax_cv_panel - set to "yes" if Panels library is present +# ax_cv_menu - set to "yes" if Menu library is present +# ax_cv_form - set to "yes" if Form library is present +# +# These variables can be used in your configure.ac to determine whether a +# library you require is actually present. For example: +# +# AX_WITH_CURSES +# if test "x$ax_cv_curses" != xyes; then +# AC_MSG_ERROR([requires a SysV or X/Open-compatible Curses library]) +# fi +# AX_WITH_CURSES_PANEL +# if test "x$ax_cv_panel" != xyes; then +# AC_MSG_ERROR([requires the Curses Panel library]) +# fi +# +# To use the HAVE_xxx_H preprocessor symbols, insert the following into +# your system.h (or equivalent) header file: +# +# For AX_WITH_CURSES_PANEL: +# +# #if defined HAVE_NCURSESW_PANEL_H +# # include +# #elif defined HAVE_NCURSES_PANEL_H +# # include +# #elif defined HAVE_PANEL_H +# # include +# #else +# # error "SysV-compatible Curses Panel header file required" +# #endif +# +# For AX_WITH_CURSES_MENU: +# +# #if defined HAVE_NCURSESW_MENU_H +# # include +# #elif defined HAVE_NCURSES_MENU_H +# # include +# #elif defined HAVE_MENU_H +# # include +# #else +# # error "SysV-compatible Curses Menu header file required" +# #endif +# +# For AX_WITH_CURSES_FORM: +# +# #if defined HAVE_NCURSESW_FORM_H +# # include +# #elif defined HAVE_NCURSES_FORM_H +# # include +# #elif defined HAVE_FORM_H +# # include +# #else +# # error "SysV-compatible Curses Form header file required" +# #endif +# +# LICENSE +# +# Copyright (c) 2011 John Zaitseff +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 5 + +AC_DEFUN([_AX_WITH_CURSES_CHECKEXTRA], [ + dnl Parameter 1 is the variable name component, using uppercase letters only + dnl Parameter 2 is the printable library name + dnl Parameter 3 is the C code to try compiling and linking + dnl Parameter 4 is the header filename + dnl Parameter 5 is the library command line + + AS_VAR_PUSHDEF([_AX_WITH_CURSES_CHECKEXTRA_have_var], [HAVE_$1])dnl + AS_VAR_PUSHDEF([_AX_WITH_CURSES_CHECKEXTRA_cv_var], [ax_cv_[]m4_tolower($1)])dnl + AS_VAR_PUSHDEF([_AX_WITH_CURSES_CHECKEXTRA_header_var], [ax_cv_header_$4])dnl + AS_VAR_PUSHDEF([_AX_WITH_CURSES_CHECKEXTRA_have_header_var], [HAVE_[]m4_toupper($4)])dnl + + ax_saved_LIBS=$LIBS + ax_saved_CPPFLAGS=$CPPFLAGS + + AC_CACHE_CHECK([for Curses $2 library with $4], [_AX_WITH_CURSES_CHECKEXTRA_header_var], [ + LIBS="$ax_saved_LIBS $5 $CURSES_LIBS" + CPPFLAGS="$ax_saved_CPPFLAGS $CURSES_CFLAGS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + @%:@include <$4> + ]], [$3])], + [_AX_WITH_CURSES_CHECKEXTRA_header_var=yes], + [_AX_WITH_CURSES_CHECKEXTRA_header_var=no]) + ]) + AS_IF([test "x$[]_AX_WITH_CURSES_CHECKEXTRA_header_var" = xyes], [ + _AX_WITH_CURSES_CHECKEXTRA_cv_var=yes + AS_LITERAL_IF([$5], [$1_LIBS="$5"]) + AC_DEFINE([_AX_WITH_CURSES_CHECKEXTRA_have_var], [1], [Define to 1 if the Curses $2 library is present]) + AC_DEFINE([_AX_WITH_CURSES_CHECKEXTRA_have_header_var], [1], [Define to 1 if <$4> is present]) + ], [ + AS_IF([test "x$[]_AX_WITH_CURSES_CHECKEXTRA_cv_var" = xyes], [], + [_AX_WITH_CURSES_CHECKEXTRA_cv_var=no]) + ]) + + LIBS=$ax_saved_LIBS + CPPFLAGS=$ax_saved_CPPFLAGS + unset ax_saved_LIBS + unset ax_saved_CPPFLAGS + + AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_have_header_var])dnl + AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_header_var])dnl + AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_cv_var])dnl + AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_have_var])dnl +])dnl + +AC_DEFUN([_AX_WITH_CURSES_EXTRA], [ + dnl Parameter 1 is the variable name component, using uppercase letters only + dnl Parameter 2 is the printable library name + dnl Parameter 3 is the C code to try compiling and linking + dnl Parameter 4 is the header filename component + dnl Parameter 5 is the NCursesW library command line + dnl Parameter 6 is the NCurses library command line + dnl Parameter 7 is the plain Curses library command line + + AC_REQUIRE([AX_WITH_CURSES]) + AC_ARG_VAR([$1_LIBS], [linker library for Curses $2, e.g. $7]) + + AS_IF([test "x$[]$1_LIBS" != x], [ + _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$[]$1_LIBS]) + ], [ + AS_IF([test "x$ax_cv_curses_which" = xncursesw], [ + _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [ncursesw/$4], [$5]) + ], [test "x$ax_cv_curses_which" = xncurses], [ + _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$6]) + AS_IF([test x$[]ax_cv_[]m4_tolower($1) != "xyes"], [ + _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [ncurses/$4], [$6]) + ]) + ], [test "x$ax_cv_curses_which" = xplaincurses], [ + _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$7]) + ]) + ]) +])dnl + +AC_DEFUN([AX_WITH_CURSES_PANEL], [ + _AX_WITH_CURSES_EXTRA([PANEL], [Panel], [[ + WINDOW *win = newwin(0, 0, 0, 0); + PANEL *pan = new_panel(win); + ]], [panel.h], [-lpanelw], [-lpanel], [-lpanel]) +])dnl + +AC_DEFUN([AX_WITH_CURSES_MENU], [ + _AX_WITH_CURSES_EXTRA([MENU], [Menu], [[ + ITEM **mi; + MENU *m = new_menu(mi); + ]], [menu.h], [-lmenuw], [-lmenu], [-lmenu]) +])dnl + +AC_DEFUN([AX_WITH_CURSES_FORM], [ + _AX_WITH_CURSES_EXTRA([FORM], [Form], [[ + FIELD **ff; + FORM *f = new_form(ff); + ]], [form.h], [-lformw], [-lform], [-lform]) +])dnl diff --git a/m4/autoconf-archive/ax_with_dmalloc.m4 b/m4/autoconf-archive/ax_with_dmalloc.m4 new file mode 100755 index 0000000000..b54d3055a9 --- /dev/null +++ b/m4/autoconf-archive/ax_with_dmalloc.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_dmalloc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_DMALLOC +# +# DESCRIPTION +# +# Let the user enable/disable support for the dmalloc library available +# from . +# +# The macro adds the command-line flag "--with-dmalloc". Furthermore, +# "-IPREFIX/include" will be added to "$CPPFLAGS", "-LPREFIX/lib" to +# "$LDFLAGS", and "-DDEBUG_DMALLOC" and "-DDMALLOC_FUNC_CHECK" to +# "$CPPFLAGS". +# +# To enable dmalloc support in your code, add the following snippet to +# your header files: +# +# #ifdef DEBUG_DMALLOC +# # include +# #endif +# +# LICENSE +# +# Copyright (c) 2008 Peter Simons +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_WITH_DMALLOC], [ +AC_MSG_CHECKING(whether to use the dmalloc library) +AC_ARG_WITH(dmalloc, +[ --with-dmalloc[=PREFIX] Compile with dmalloc library], +if test "$withval" = "" -o "$withval" = "yes"; then + ac_cv_dmalloc="/usr/local" +else + ac_cv_dmalloc="$withval" +fi +AC_MSG_RESULT(yes) +CPPFLAGS="$CPPFLAGS -DDEBUG_DMALLOC -DDMALLOC_FUNC_CHECK -I$ac_cv_dmalloc/include" +LDFLAGS="$LDFLAGS -L$ac_cv_dmalloc/lib" +LIBS="$LIBS -ldmalloc" +,AC_MSG_RESULT(no)) +])dnl diff --git a/m4/autoconf-archive/ax_with_mpatrol.m4 b/m4/autoconf-archive/ax_with_mpatrol.m4 new file mode 100755 index 0000000000..38e852083d --- /dev/null +++ b/m4/autoconf-archive/ax_with_mpatrol.m4 @@ -0,0 +1,181 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_mpatrol.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_MPATROL(DEFAULT) +# +# DESCRIPTION +# +# Integrates the mpatrol malloc debugging library into a new or existing +# project and also attempts to determine the support libraries that need +# to be linked in when libmpatrol is used. +# +# It takes one optional parameter specifying whether mpatrol should be +# included in the project (`yes') or not (`no'). This can also be +# specified as `threads' if you wish to use the threadsafe version of the +# mpatrol library. You can override the value of the optional parameter +# with the `--with-mpatrol' option to the resulting `configure' shell +# script. +# +# LICENSE +# +# Copyright (c) 2008 Graeme S. Roy +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AU_ALIAS([AM_WITH_MPATROL], [AX_WITH_MPATROL]) +AC_DEFUN([AX_WITH_MPATROL], [ + # Firstly, determine if the mpatrol library should be used. + + AC_MSG_CHECKING(if mpatrol should be used) + AC_ARG_WITH(mpatrol, + [ --with-mpatrol build with the mpatrol library], + [case "$withval" in + threads) + ax_with_mpatrol=1 + ax_with_mpatrol_threads=1;; + yes) + ax_with_mpatrol=1 + ax_with_mpatrol_threads=0;; + no) + ax_with_mpatrol=0 + ax_with_mpatrol_threads=0;; + *) + AC_MSG_RESULT(no) + AC_MSG_ERROR(invalid value $withval for --with-mpatrol);; + esac + ], + [if test "x[$1]" = x + then + ax_with_mpatrol=0 + ax_with_mpatrol_threads=0 + elif test "[$1]" = no + then + ax_with_mpatrol=0 + ax_with_mpatrol_threads=0 + elif test "[$1]" = yes + then + ax_with_mpatrol=1 + ax_with_mpatrol_threads=0 + elif test "[$1]" = threads + then + ax_with_mpatrol=1 + ax_with_mpatrol_threads=1 + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(invalid argument [$1]) + fi + ] + ) + + if test "$ax_with_mpatrol" = 1 + then + AC_MSG_RESULT(yes) + + # Next, determine which support libraries are available on this + # system. If we don't do this here then we can't link later with + # the mpatrol library to perform any further tests. + + ax_with_mpatrol_libs="" + AC_CHECK_LIB(ld, ldopen, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -lld") + AC_CHECK_LIB(elf, elf_begin, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -lelf") + AC_CHECK_LIB(bfd, bfd_init, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -lbfd -liberty", , + -liberty) + AC_CHECK_LIB(imagehlp, SymInitialize, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -limagehlp") + AC_CHECK_LIB(cl, U_get_previous_frame, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -lcl") + AC_CHECK_LIB(exc, unwind, + ax_with_mpatrol_libs="$ax_with_mpatrol_libs -lexc") + + # Now determine which libraries really need to be linked in with + # the version of libmpatrol that is on this system. For example, + # if the system has libelf and libbfd, we need to determine which + # of these, if any, libmpatrol was built with support for. + + ax_with_mpatrol_libs2="" + AC_CHECK_LIB(mpatrol, __mp_libld, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lld", , + $ax_with_mpatrol_libs) + AC_CHECK_LIB(mpatrol, __mp_libelf, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lelf", , + $ax_with_mpatrol_libs) + AC_CHECK_LIB(mpatrol, __mp_libbfd, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lbfd -liberty", , + $ax_with_mpatrol_libs) + AC_CHECK_LIB(mpatrol, __mp_libimagehlp, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -limagehlp", , + $ax_with_mpatrol_libs) + AC_CHECK_LIB(mpatrol, __mp_libcl, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lcl", , + $ax_with_mpatrol_libs) + AC_CHECK_LIB(mpatrol, __mp_libexc, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lexc", , + $ax_with_mpatrol_libs) + + # If we are using the threadsafe mpatrol library then we may also need + # to link in the threads library. We check blindly for pthreads here + # even if we don't need them (in which case it doesn't matter) since + # the threads libraries are linked in by default on AmigaOS, Windows + # and Netware and it is only UNIX systems that we need to worry about. + + if test "$ax_with_mpatrol_threads" = 1 + then + AC_CHECK_LIB(pthread, pthread_mutex_init, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lpthread", [ + AC_CHECK_LIB(pthreads, pthread_mutex_init, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lpthreads", [ + AC_CHECK_LIB(thread, pthread_mutex_init, + ax_with_mpatrol_libs2="$ax_with_mpatrol_libs2 -lthread") + ] + ) + ] + ) + fi + + # We now know what libraries to use in order to link with libmpatrol. + + AC_DEFINE(HAVE_MPATROL, 1, [Define if using mpatrol]) + if test "$ax_with_mpatrol_threads" = 1 + then + LIBS="-lmpatrolmt $ax_with_mpatrol_libs2 $LIBS" + else + LIBS="-lmpatrol $ax_with_mpatrol_libs2 $LIBS" + fi + + # Finally, verify that mpatrol is correctly installed and that we can + # link a simple program with it. + + AC_CACHE_CHECK(for working mpatrol, am_cv_with_mpatrol, [ + AC_TRY_LINK([#include ], [ +int main(void) +{ + malloc(4); + return EXIT_SUCCESS; +} +], + [am_cv_with_mpatrol=yes], + [am_cv_with_mpatrol=no] + ) + ] + ) + + if test "$am_cv_with_mpatrol" = no + then + AC_MSG_ERROR(mpatrol not installed correctly) + fi + else + AC_MSG_RESULT(no) + fi + ] +) diff --git a/m4/autoconf-archive/ax_with_prog.m4 b/m4/autoconf-archive/ax_with_prog.m4 new file mode 100755 index 0000000000..b3a881c0df --- /dev/null +++ b/m4/autoconf-archive/ax_with_prog.m4 @@ -0,0 +1,70 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_with_prog.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_WITH_PROG([VARIABLE],[program],[VALUE-IF-NOT-FOUND],[PATH]) +# +# DESCRIPTION +# +# Locates an installed program binary, placing the result in the precious +# variable VARIABLE. Accepts a present VARIABLE, then --with-program, and +# failing that searches for program in the given path (which defaults to +# the system path). If program is found, VARIABLE is set to the full path +# of the binary; if it is not found VARIABLE is set to VALUE-IF-NOT-FOUND +# if provided, unchanged otherwise. +# +# A typical example could be the following one: +# +# AX_WITH_PROG(PERL,perl) +# +# NOTE: This macro is based upon the original AX_WITH_PYTHON macro from +# Dustin J. Mitchell . +# +# LICENSE +# +# Copyright (c) 2008 Francesco Salvestrini +# Copyright (c) 2008 Dustin J. Mitchell +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +AC_DEFUN([AX_WITH_PROG],[ + AC_PREREQ([2.61]) + + pushdef([VARIABLE],$1) + pushdef([EXECUTABLE],$2) + pushdef([VALUE_IF_NOT_FOUND],$3) + pushdef([PATH_PROG],$4) + + AC_ARG_VAR(VARIABLE,Absolute path to EXECUTABLE executable) + + AS_IF(test -z "$VARIABLE",[ + AC_MSG_CHECKING(whether EXECUTABLE executable path has been provided) + AC_ARG_WITH(EXECUTABLE,AS_HELP_STRING([--with-EXECUTABLE=[[[PATH]]]],absolute path to EXECUTABLE executable), [ + AS_IF([test "$withval" != yes && test "$withval" != no],[ + VARIABLE="$withval" + AC_MSG_RESULT($VARIABLE) + ],[ + VARIABLE="" + AC_MSG_RESULT([no]) + AS_IF([test "$withval" != no], [ + AC_PATH_PROG([]VARIABLE[],[]EXECUTABLE[],[]VALUE_IF_NOT_FOUND[],[]PATH_PROG[]) + ]) + ]) + ],[ + AC_MSG_RESULT([no]) + AC_PATH_PROG([]VARIABLE[],[]EXECUTABLE[],[]VALUE_IF_NOT_FOUND[],[]PATH_PROG[]) + ]) + ]) + + popdef([PATH_PROG]) + popdef([VALUE_IF_NOT_FOUND]) + popdef([EXECUTABLE]) + popdef([VARIABLE]) +]) diff --git a/m4/autoconf-archive/ax_xercesc.m4 b/m4/autoconf-archive/ax_xercesc.m4 new file mode 100755 index 0000000000..0ba1d60c40 --- /dev/null +++ b/m4/autoconf-archive/ax_xercesc.m4 @@ -0,0 +1,499 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_xercesc.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_XERCESC +# +# DESCRIPTION +# +# Define $HAVE_LIBXERCES_C, $LIBXERCES_C, and $LTLIBXERCES_C to signify +# whether Xerces is available. +# +# LICENSE +# +# Copyright (c) 2008 Ronald Landheer-Cieslak +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 8 + +AU_ALIAS([RLC_XERCESC], [AX_XERCESC]) +AC_DEFUN([AX_XERCESC], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + AC_LANG_PUSH(C++) + AX_XERCESC_BODY() + + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCXERCES_C]) + + AC_CACHE_CHECK([for libxerces-c], [ac_cv_libxerces_c], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIBXERCES_C $LIBICONV" + AC_TRY_LINK([ +#include +#ifdef XERCES_CPP_NAMESPACE_USE +XERCES_CPP_NAMESPACE_USE +#endif + ], [ +try +{ + XMLPlatformUtils::Initialize(); +} +catch (...) +{ + // ... +} +XMLPlatformUtils::Terminate(); + ], [ac_cv_libxerces_c=yes], [ac_cv_libxerces_c=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_libxerces_c" = yes; then + HAVE_LIBXERCES_C=yes + AC_DEFINE(HAVE_LIBXERCES_C, 1, [Define if you have the xerces-c library.]) + AC_MSG_CHECKING([how to link with libxerces-c]) + AC_MSG_RESULT([$LIBXERCES_C]) + else + HAVE_LIBXERCES_C=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBXERCES_C= + LTLIBXERCES_C= + fi + + AC_LANG_POP(C++) + + AC_SUBST(HAVE_LIBXERCES_C) + AC_SUBST(LIBXERCES_C) + AC_SUBST(LTLIBXERCES_C) +]) + +AC_DEFUN([AX_XERCESC_BODY], +[ + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH([libxerces-c-prefix], +[ --with-libxerces-c-prefix[=DIR] search for libxerces-c in DIR/include and DIR/lib + --without-libxerces-c-prefix don't search for libxerces-c in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-search. + LIBXERCES_C= + LTLIBXERCES_C= + INCXERCES_C= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='xerces-c' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + found_so="$additional_libdir/lib$name.$shlibext*" + for i in $found_so; do + if test -f $i && test -x $i; then + found_so="$i" + break + fi + done + if test -n "$shlibext" && test -f $found_so; then + found_dir="$additional_libdir" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBXERCES_C; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext*" + for i in $found_so; do + if test -f $i && test -x $i; then + found_so="$i" + break + fi + done + + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + dnl resulting binary. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + haveit= + for x in $LDFLAGS $LIBXERCES_C; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCXERCES_C; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCXERCES_C="${INCXERCES_C}${INCXERCES_C:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBXERCES_C; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBXERCES_C; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$dep" + LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }-l$name" + LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBXERCES_C="${LIBXERCES_C}${LIBXERCES_C:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIBXERCES_C="${LTLIBXERCES_C}${LTLIBXERCES_C:+ }-R$found_dir" + done + fi +]) diff --git a/m4/autoconf-archive/ax_xsdcxx.m4 b/m4/autoconf-archive/ax_xsdcxx.m4 new file mode 100755 index 0000000000..d260d9bb57 --- /dev/null +++ b/m4/autoconf-archive/ax_xsdcxx.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_xsdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_XSDCXX +# +# DESCRIPTION +# +# This macro tries to find the CodeSynthesis XSD executable and the +# corresponding headers. +# +# Supported options: +# +# --with-xsdcxx +# use CodeSynthesis XSD from given prefix (ARG=path); +# check PATH (ARG=yes); disable (ARG=no) +# +# --with-xsdcxx-inc +# path to CodeSynthesis XSD headers (ARG=path); use standard prefix +# (ARG=yes); disable (ARG=no) +# +# Output variables: +# +# XSDCXX +# XSDCXX_CPPFLAGS +# +# LICENSE +# +# Copyright (c) 2013 Laszlo Kajan +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 3 + +AC_DEFUN([AX_XSDCXX], +[ + AC_ARG_WITH([xsdcxx], + [AS_HELP_STRING([--with-xsdcxx=@<:@ARG@:>@], + [use CodeSynthesis XSD from given prefix (ARG=path); check PATH (ARG=yes); disable (ARG=no)])], + [], + [with_xsdcxx=yes]) + + AS_IF([test "x$with_xsdcxx" != xno], + [if test "$with_xsdcxx" = "yes"; then with_xsdcxx=xsdcxx; fi + AC_CHECK_PROG([XSDCXX], [$with_xsdcxx], [$with_xsdcxx]) + if test "x$XSDCXX" = x; then + AC_CHECK_PROG([XSDCXX], [xsdcxx], [xsdcxx]) + if test "x$XSDCXX" = x; then + AC_CHECK_PROG([XSDCXX], [xsd], [xsd]) + fi + fi]) + + AC_ARG_WITH([xsdcxx-inc], + AS_HELP_STRING([--with-xsdcxx-inc=@<:@DIR@:>@], + [path to CodeSynthesis XSD headers (ARG=path); use standard prefix (ARG=); disable (ARG=no)] + ), + [xsdcxx_include_dir="$withval"], + [xsdcxx_include_dir=] + ) + + XSDCXX_CPPFLAGS="" + if test "x$xsdcxx_include_dir" != "xno" -a "x$xsdcxx_include_dir" != "x"; then + AC_SUBST([XSDCXX_CPPFLAGS],[-I$xsdcxx_include_dir]) + fi +]) +# vim:et: diff --git a/m4/autoconf-archive/ax_xtra_classpath.m4 b/m4/autoconf-archive/ax_xtra_classpath.m4 new file mode 100755 index 0000000000..bc918090b6 --- /dev/null +++ b/m4/autoconf-archive/ax_xtra_classpath.m4 @@ -0,0 +1,75 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_xtra_classpath.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_XTRA_CLASSPATH(,,,,) +# +# DESCRIPTION +# +# Set $1 to extra classpath components required for class $2 found in a +# jar file in $3. If the class is found do $4 and otherwise do $5. Uses +# AX_JAVA_CHECK_CLASS for testing whether a class is available +# +# LICENSE +# +# Copyright (c) 2008 Duncan Simpson +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AU_ALIAS([DPS_XTRA_CLASSPATH], [AX_XTRA_CLASSPATH]) +AC_DEFUN([AX_XTRA_CLASSPATH],[ +AC_PROG_SED + +POTENTIAL_LOCATIONS="/usr/share/java" +for jhome in `ls -dr /usr/java/* /usr/local/java/* 2> /dev/null`; do +for jdir in lib jre/lib; do +POTENTIAL_LOCATIONS="$POTENTIAL_LOCATIONS $jhome/$jdir" +done; done + +AX_JAVA_CHECK_CLASS([$2],[got="yes"],[got="no"]) +cpxtra=""; saved_cp="${CLASSPATH}"; +for location in $POTENTIAL_LOCATIONS; do +for jfile in $3; do +if test "x$got" != "xyes" && test -f "$location/$jfile"; then +CLASSPATH="${saved_cp}:$location/$jfile" +AX_JAVA_CHECK_CLASS([$2],[got="yes"; cpxtra="$location/$jfile:"],[got="no"]) +fi; done; done; + +if test "x${saved_cp}" != "x"; then +CLASSPATH="${saved_cp}" +else unset CLASSPATH; fi +if test "x$got" = "xyes"; then +$1="$cpxtra" +$4 +true; else +$5 +false; fi +]) diff --git a/m4/autoconf-archive/ax_zmq.m4 b/m4/autoconf-archive/ax_zmq.m4 new file mode 100755 index 0000000000..752dc54384 --- /dev/null +++ b/m4/autoconf-archive/ax_zmq.m4 @@ -0,0 +1,86 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_zmq.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ZMQ([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the ZMQ libraries of a particular version (or newer). The +# default version tested for is 4.0.0. +# +# The macro tests for ZMQ libraries in the library/include path, and, when +# provided, also in the path given by --with-zmq. +# +# This macro calls: +# +# AC_SUBST(ZMQ_CPPFLAGS) / AC_SUBST(ZMQ_LDFLAGS) / AC_SUBST(ZMQ_LIBS) +# +# And sets: +# +# HAVE_ZMQ +# +# LICENSE +# +# Copyright (c) 2016 Jeroen Meijer +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_ZMQ], [ + AC_ARG_WITH([zmq], [AS_HELP_STRING([--with-zmq=],[ZMQ prefix directory])], [ + ZMQ_LDFLAGS="-L${with_zmq}/lib" + ZMQ_CPPFLAGS="-I${with_zmq}/include" + ]) + + HAVE_ZMQ=0 + if test "$with_zmq" != "no"; then + + LD_FLAGS="$LDFLAGS $ZMQ_LDFLAGS" + CPPFLAGS="$CPPFLAGS $ZMQ_CPPFLAGS" + + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_HEADER(zmq.h, [zmq_h=yes], [zmq_h=no]) + AC_LANG_RESTORE + + if test "$zmq_h" = "yes"; then + version=ifelse([$1], ,4.0.0,$1) + AC_MSG_CHECKING([for ZMQ version >= $version]) + version=$(echo $version | tr '.' ',') + AC_EGREP_CPP([version_ok], [ +#include +#if defined(ZMQ_VERSION) && ZMQ_VERSION >= ZMQ_MAKE_VERSION($version) + version_ok +#endif + ],[ + AC_MSG_RESULT(yes) + HAVE_ZMQ=1 + ZMQ_LIBS="-lzmq" + AC_SUBST(ZMQ_LDFLAGS) + AC_SUBST(ZMQ_CPPFLAGS) + AC_SUBST(ZMQ_LIBS) + ], AC_MSG_RESULT([no valid ZMQ version was found])) + else + AC_MSG_WARN([no valid ZMQ installation was found]) + fi + + if test $HAVE_ZMQ = 1; then + # execute ACTION-IF-FOUND (if present): + ifelse([$2], , :, [$2]) + else + # execute ACTION-IF-NOT-FOUND (if present): + ifelse([$3], , :, [$3]) + fi + else + AC_MSG_NOTICE([not checking for ZMQ]) + fi + + AC_DEFINE(HAVE_ZMQ,,[define if the ZMQ library is available]) +]) diff --git a/m4/autoconf-archive/ax_zoneinfo.m4 b/m4/autoconf-archive/ax_zoneinfo.m4 new file mode 100755 index 0000000000..04e37f1857 --- /dev/null +++ b/m4/autoconf-archive/ax_zoneinfo.m4 @@ -0,0 +1,274 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_zoneinfo.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ZONEINFO([options...]) +# +# DESCRIPTION +# +# This macro finds compiled zoneinfo files. If successful it will define +# HAVE_ZONEINFO per: +# +# AC_DEFINE([HAVE_ZONEINFO], [1], [...]) +# +# and have the variable TZDIR point to the zoneinfo directory as per +# +# AC_SUBST([TZDIR]) +# AC_DEFINE_UNQUOTED([TZDIR], [/path/to/zic/files], [...]) +# +# Optionally, OPTIONS can be `right' to trigger further tests that will +# determine if leap second fix-ups are available. If so the variables +# HAVE_ZONEINFO_RIGHT, ZONEINFO_UTC_RIGHT and TZDIR_RIGHT will be +# populated: +# +# AC_DEFINE([HAVE_ZONEINFO_RIGHT], [1], [...]) +# AC_SUBST([TZDIR_RIGHT]) +# AC_DEFINE_UNQUOTED([TZDIR_RIGHT], [/path/to/right/zic/files], [...]) +# AC_SUBST([ZONEINFO_UTC_RIGHT]) +# AC_DEFINE_UNQUOTED([ZONEINFO_UTC_RIGHT], [$ZONEINFO_UTC_RIGHT], [...]) +# +# LICENSE +# +# Copyright (c) 2012 Sebastian Freundt +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +AC_DEFUN([AX_ZONEINFO_TZFILE_H], [dnl + dnl not totally necessary (yet), as we can simply inspect the tzfiles + dnl ourselves, but it certainly helps + AC_CHECK_HEADER([tzfile.h]) +])dnl AX_ZONEINFO_TZFILE_H + +AC_DEFUN([AX_ZONEINFO_CHECK_TZFILE], [dnl + dnl AX_ZONEINFO_CHECK_TZFILE([FILE], [ACTION-IF-VALID], [ACTION-IF-NOT]) + dnl secret switch is the 4th argument, which determines the ret code + dnl of the leapcnt check + pushdef([probe], [$1]) + pushdef([if_found], [$2]) + pushdef([if_not_found], [$3]) + + AC_REQUIRE([AX_ZONEINFO_TZFILE_H]) + + if test -z "${ax_tmp_zoneinfo_nested}"; then + AC_MSG_CHECKING([zoneinfo file ]probe[]) + fi + + AC_LANG_PUSH([C]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include +#include +#include +#include + +]]ifelse([$4], [], [], [[ +#define CHECK_LEAPCNT ]]$4[[ +]])[[ + +/* simplified struct */ +struct tzhead { + char tzh_magic[4]; /* TZ_MAGIC */ + char tzh_version[1]; /* '\0' or '2' as of 2005 */ + char tzh_reserved[15]; /* reserved--must be zero */ + char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ + char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ + char tzh_leapcnt[4]; /* coded number of leap seconds */ + char tzh_timecnt[4]; /* coded number of transition times */ + char tzh_typecnt[4]; /* coded number of local time types */ + char tzh_charcnt[4]; /* coded number of abbr. chars */ +}; + +int +main(int argc, char *argv[]) +{ + struct tzhead foo; + int f; + + if (argc <= 1) { + return 0; + } else if ((f = open(argv[1], O_RDONLY, 0644)) < 0) { + return 1; + } else if (read(f, &foo, sizeof(foo)) != sizeof(foo)) { + return 1; + } else if (close(f) < 0) { + return 1; + } + + /* inspect the header */ + if (memcmp(foo.tzh_magic, "TZif", sizeof(foo.tzh_magic))) { + return 1; + } else if (*foo.tzh_version && *foo.tzh_version != '2') { + return 1; +#if defined CHECK_LEAPCNT + } else if (!foo.tzh_leapcnt[0] && !foo.tzh_leapcnt[1] && + !foo.tzh_leapcnt[2] && !foo.tzh_leapcnt[3]) { + return CHECK_LEAPCNT; +#endif /* CHECK_LEAPCNT */ + } + + /* otherwise everything's in order */ + return 0; +} +]])], [## call the whole shebang again with the tzfile + if ./conftest$EXEEXT probe; then + if test -z "${ax_tmp_zoneinfo_nested}"; then + AC_MSG_RESULT([looking good]) + fi + []if_found[] + else + if test -z "${ax_tmp_zoneinfo_nested}"; then + AC_MSG_RESULT([looking bad ${ax_tmp_rc}]) + fi + []if_not_found[] + fi +], [ + if test -z "${ax_tmp_zoneinfo_nested}"; then + AC_MSG_RESULT([impossible]) + fi + []if_not_found[]]) + AC_LANG_POP([C]) + + popdef([probe]) + popdef([if_found]) + popdef([if_not_found]) +])dnl AX_ZONEINFO_CHECK_TZFILE + +AC_DEFUN([AX_ZONEINFO_TZDIR], [dnl + dnl we consider a zoneinfo directory properly populated when it + dnl provides UTC or UCT or Universal or Zulu + + pushdef([check_tzdir], [dnl + pushdef([dir], $]1[)dnl + test -n []dir[] && test -d []dir[] dnl + popdef([dir])dnl + ])dnl check_tzdir + + dnl try /etc/localtime first, sometimes it's a link into TZDIR + if test -L "/etc/localtime"; then + TZDIR_cand="`readlink /etc/localtime` ${TZDIR_cand}" + fi + + dnl oh, how about we try and check if there is a TZDIR already + if check_tzdir(["${TZDIR}"]); then + ## bingo + TZDIR_cand="${TZDIR} ${TZDIR_cand}" + fi + + dnl often there's a tzselect util which contains the TZDIR path + AC_PATH_PROG([TZSELECT], [tzselect]) + if test -n "${ac_cv_path_TZSELECT}"; then + dnl snarf the value + valtmp="`mktemp`" + strings "${ac_cv_path_TZSELECT}" | \ + grep -F 'TZDIR=' > "${valtmp}" + . "${valtmp}" + TZDIR_cand="${TZDIR} ${TZDIR_cand}" + rm -f -- "${valtmp}" + fi + + dnl lastly, append the usual suspects + TZDIR_cand="${TZDIR_cand} \ +/usr/share/zoneinfo \ +/usr/lib/zoneinfo \ +/usr/local/etc/zoneinfo \ +/usr/share/lib/zoneinfo \ +" + + dnl go through our candidates + AC_CACHE_CHECK([for TZDIR], [ax_cv_zoneinfo_tzdir], [dnl + ax_tmp_zoneinfo_nested="yes" + for c in ${TZDIR_cand}; do + ax_cv_zoneinfo_utc="" + for f in "UTC" "UCT" "Universal" "Zulu"; do + AX_ZONEINFO_CHECK_TZFILE(["${c}/${f}"], [ + dnl ACTION-IF-FOUND + ax_cv_zoneinfo_utc="${c}/${f}" + break + ]) + done + if test -n "${ax_cv_zoneinfo_utc}"; then + ax_cv_zoneinfo_tzdir="${c}" + break + fi + done + ax_tmp_zoneinfo_nested="" + ])dnl ax_cv_tzdir + + TZDIR="${ax_cv_zoneinfo_tzdir}" + AC_SUBST([TZDIR]) + + if check_tzdir(["${ax_cv_zoneinfo_tzdir}"]); then + AC_DEFINE([HAVE_ZONEINFO], [1], [dnl +Define when zoneinfo directory has been present during configuration.]) + AC_DEFINE_UNQUOTED([TZDIR], ["${ax_cv_zoneinfo_tzdir}"], [ +Configuration time zoneinfo directory.]) + fi + + popdef([check_tzdir]) +])dnl AX_ZONEINFO_TZDIR + +AC_DEFUN([AX_ZONEINFO_RIGHT], [dnl + AC_REQUIRE([AX_ZONEINFO_TZDIR]) + + TZDIR_cand="${TZDIR} \ +${TZDIR}/leapseconds \ +${TZDIR}-leaps \ +${TZDIR}/right \ +${TZDIR}-posix \ +${TZDIR}/posix \ +" + + dnl go through our candidates + AC_CACHE_CHECK([for leap second file], [ax_cv_zoneinfo_utc_right], [dnl + ax_tmp_zoneinfo_nested="yes" + if test -n "${ax_cv_zoneinfo_utc}"; then + __utc_file="`basename "${ax_cv_zoneinfo_utc}"`" + for c in ${TZDIR_cand}; do + if test -d "${c}"; then + c="${c}/${__utc_file}" + fi + AX_ZONEINFO_CHECK_TZFILE(["${c}"], [ + dnl ACTION-IF-FOUND + ax_cv_zoneinfo_utc_right="${c}" + break + ], [:], [2]) + done + fi + ax_tmp_zoneinfo_nested="" + ])dnl ax_cv_tzdir + + ZONEINFO_UTC_RIGHT="${ax_cv_zoneinfo_utc_right}" + AC_SUBST([ZONEINFO_UTC_RIGHT]) + AC_SUBST([TZDIR_RIGHT]) + + if test -n "${ax_cv_zoneinfo_utc_right}"; then + TZDIR_RIGHT="`dirname ${ax_cv_zoneinfo_utc_right}`" + + AC_DEFINE([HAVE_ZONEINFO_RIGHT], [1], [dnl +Define when zoneinfo directory has been present during configuration.]) + AC_DEFINE_UNQUOTED([TZDIR_RIGHT], + ["${TZDIR_RIGHT}"], [ +Configuration time zoneinfo directory.]) + AC_DEFINE_UNQUOTED([ZONEINFO_UTC_RIGHT], + ["${ax_cv_zoneinfo_utc_right}"], [ +Leap-second aware UTC zoneinfo file.]) + fi +])dnl AX_ZONEINFO_RIGHT + +AC_DEFUN([AX_ZONEINFO], [ + AC_REQUIRE([AX_ZONEINFO_TZDIR]) + + ifelse([$1], [right], [ + AC_REQUIRE([AX_ZONEINFO_RIGHT]) + ]) + + AC_ARG_VAR([TZDIR], [Directory with compiled zoneinfo files.]) +])dnl AX_ZONEINFO + +dnl ax_zoneinfo.m4 ends here diff --git a/m4/disable-rpath.m4 b/m4/disable-rpath.m4 new file mode 100644 index 0000000000..914e9c1ab3 --- /dev/null +++ b/m4/disable-rpath.m4 @@ -0,0 +1,27 @@ +dnl file : m4/disable-rpath.m4 +dnl author : Boris Kolpackov +dnl copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +dnl license : GNU GPL v2; see accompanying LICENSE file +dnl +AC_DEFUN([DISABLE_RPATH],[ + +AC_MSG_CHECKING([whether to use rpath]) +AC_ARG_ENABLE( + [rpath], + [AC_HELP_STRING([--disable-rpath], [patch libtool to not use rpath])], + [libtool_rpath="$enable_rpath"], + [libtool_rpath="yes"]) +AC_MSG_RESULT($libtool_rpath) + +# Patch libtool to not use rpath if requested. +# +AC_CONFIG_COMMANDS( + [libtool-rpath-patch], + [if test "$libtool_use_rpath" = "no"; then + sed < libtool > libtool-2 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_NO_RPATH__ "/' + mv libtool-2 libtool + chmod 755 libtool + fi], + [libtool_use_rpath=$libtool_rpath]) +])dnl + diff --git a/m4/emscripten.m4 b/m4/emscripten.m4 new file mode 100644 index 0000000000..b71f3fdf22 --- /dev/null +++ b/m4/emscripten.m4 @@ -0,0 +1,17 @@ +AC_DEFUN([AM_EMSCRIPTEN], +[ + AC_MSG_CHECKING(for emscripten compiler) + emscripten_compiler=no + AC_TRY_COMPILE([ + #ifndef EMSCRIPTEN + #error "not an emscripten compiler" + #endif + ],[ + ],[ + host=javascript-web-emscripten + emscripten_compiler=yes + cross_compiling=yes + ]) + AC_MSG_RESULT($emscripten_compiler) + AM_CONDITIONAL(EMSCRIPTEN, [test "x$emscripten_compiler" = "xyes"]) +]) diff --git a/m4/sdl2.m4 b/m4/sdl2.m4 new file mode 100644 index 0000000000..c1b1ff65de --- /dev/null +++ b/m4/sdl2.m4 @@ -0,0 +1,234 @@ +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor +# +# Changelog: +# * also look for SDL2.framework under Mac OS X + +# serial 1 + +dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN([AM_PATH_SDL2], +[dnl +dnl Get the cflags and libraries from the sdl2-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) +AC_ARG_ENABLE(sdlframework, [ --disable-sdlframework Do not search for SDL2.framework], + , search_sdl_framework=yes) + +AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework]) + + min_sdl_version=ifelse([$1], ,2.0.0,$1) + + if test "x$sdl_prefix$sdl_exec_prefix" = x ; then + PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], + [sdl_pc=yes], + [sdl_pc=no]) + else + sdl_pc=no + if test x$sdl_exec_prefix != x ; then + sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL2_CONFIG+set} != xset ; then + SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" + if test x${SDL2_CONFIG+set} != xset ; then + SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + fi + fi + fi + + if test "x$sdl_pc" = xyes ; then + no_sdl="" + SDL2_CONFIG="pkg-config sdl2" + else + as_save_PATH="$PATH" + if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then + PATH="$prefix/bin:$prefix/usr/bin:$PATH" + fi + AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) + PATH="$as_save_PATH" + no_sdl="" + + if test "$SDL2_CONFIG" = "no" -a "x$search_sdl_framework" = "xyes"; then + AC_MSG_CHECKING(for SDL2.framework) + if test "x$SDL2_FRAMEWORK" != x; then + sdl_framework=$SDL2_FRAMEWORK + else + for d in / ~/ /System/; do + if test -d "${d}Library/Frameworks/SDL2.framework"; then + sdl_framework="${d}Library/Frameworks/SDL2.framework" + fi + done + fi + + if test -d $sdl_framework; then + AC_MSG_RESULT($sdl_framework) + sdl_framework_dir=`dirname $sdl_framework` + SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include" + SDL_LIBS="-F$sdl_framework_dir -Wl,-framework,SDL2" + else + no_sdl=yes + fi + fi + + if test "$SDL2_CONFIG" != "no"; then + if test "x$sdl_pc" = "xno"; then + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + fi + + sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl2-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include +#include +#include +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); + printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + + fi + if test "x$sdl_pc" = "xno"; then + if test "x$no_sdl" = "xyes"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + fi + fi + fi + fi + if test "x$no_sdl" = x ; then + ifelse([$2], , :, [$2]) + else + if test "$SDL2_CONFIG" = "no" ; then + echo "*** The sdl2-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL2_CONFIG environment variable to the" + echo "*** full path to sdl2-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) diff --git a/msvc/.gitignore b/msvc/.gitignore new file mode 100644 index 0000000000..bfff29a147 --- /dev/null +++ b/msvc/.gitignore @@ -0,0 +1,6 @@ +.vs +*.vcxproj.user +Renderer.dir +Debug +Release +packages diff --git a/msvc/MilkdropPresetFactory.vcxproj b/msvc/MilkdropPresetFactory.vcxproj new file mode 100644 index 0000000000..316f33d0d9 --- /dev/null +++ b/msvc/MilkdropPresetFactory.vcxproj @@ -0,0 +1,157 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + 10.0.17763.0 + Win32Proj + x64 + MilkdropPresetFactory + NoUpgrade + + + + StaticLibrary + MultiByte + v141 + + + StaticLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + MilkdropPresetFactory\Debug\ + MilkdropPresetFactory.dir\Debug\ + MilkdropPresetFactory + .lib + MilkdropPresetFactory\Release\ + MilkdropPresetFactory.dir\Release\ + MilkdropPresetFactory + .lib + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + + + + + + + + + + + + + + + + + + + + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/MilkdropPresetFactory.vcxproj.filters b/msvc/MilkdropPresetFactory.vcxproj.filters new file mode 100644 index 0000000000..415126b2d1 --- /dev/null +++ b/msvc/MilkdropPresetFactory.vcxproj.filters @@ -0,0 +1,75 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + + + + + + {9FD8840E-C452-3595-B8BC-200CDF0F6BF9} + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + diff --git a/msvc/MstressJuppyDancer.vcxproj b/msvc/MstressJuppyDancer.vcxproj new file mode 100644 index 0000000000..6826dbe700 --- /dev/null +++ b/msvc/MstressJuppyDancer.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {55A71B6A-5C7E-30D5-8210-302A8D2080DB} + 10.0.17763.0 + Win32Proj + x64 + MstressJuppyDancer + NoUpgrade + + + + DynamicLibrary + MultiByte + v141 + + + DynamicLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + squashNativePresets\Debug\ + MstressJuppyDancer.dir\Debug\ + MstressJuppyDancer + .dll + true + true + squashNativePresets\Release\ + MstressJuppyDancer.dir\Release\ + MstressJuppyDancer + .dll + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;LINUX;PROJECTM_PREFIX='""';MstressJuppyDancer_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;LINUX;PROJECTM_PREFIX='\"\"';MstressJuppyDancer_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Debug\Renderer.lib;NativePresetFactory\Debug\NativePresetFactory.lib;libprojectM\Debug\projectM.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + NativePresets/Debug/MstressJuppyDancer.lib + NativePresets/Debug/MstressJuppyDancer.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='""';MstressJuppyDancer_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='\"\"';MstressJuppyDancer_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Release\Renderer.lib;NativePresetFactory\Release\NativePresetFactory.lib;libprojectM\Release\projectM.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + NativePresets/Release/MstressJuppyDancer.lib + NativePresets/Release/MstressJuppyDancer.pdb + Console + + + false + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/MstressJuppyDancer.vcxproj.filters b/msvc/MstressJuppyDancer.vcxproj.filters new file mode 100644 index 0000000000..357c10eaf3 --- /dev/null +++ b/msvc/MstressJuppyDancer.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/NativePresetFactory.vcxproj b/msvc/NativePresetFactory.vcxproj new file mode 100644 index 0000000000..f9c0d4184e --- /dev/null +++ b/msvc/NativePresetFactory.vcxproj @@ -0,0 +1,139 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + 10.0.17763.0 + Win32Proj + x64 + NativePresetFactory + NoUpgrade + + + + StaticLibrary + MultiByte + v141 + + + StaticLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + NativePresetFactory\Debug\ + NativePresetFactory.dir\Debug\ + NativePresetFactory + .lib + NativePresetFactory\Release\ + NativePresetFactory.dir\Release\ + NativePresetFactory + .lib + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/NativePresetFactory.vcxproj.filters b/msvc/NativePresetFactory.vcxproj.filters new file mode 100644 index 0000000000..4415428799 --- /dev/null +++ b/msvc/NativePresetFactory.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + Source Files + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/NuGet.config b/msvc/NuGet.config new file mode 100644 index 0000000000..93ba3403f4 --- /dev/null +++ b/msvc/NuGet.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/msvc/Renderer.vcxproj b/msvc/Renderer.vcxproj new file mode 100644 index 0000000000..0ec15bb2de --- /dev/null +++ b/msvc/Renderer.vcxproj @@ -0,0 +1,136 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + 10.0.17763.0 + Win32Proj + x64 + Renderer + NoUpgrade + + + + StaticLibrary + MultiByte + v141 + + + StaticLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + Renderer\Debug\ + Renderer.dir\Debug\ + Renderer + .lib + Renderer\Release\ + Renderer.dir\Release\ + Renderer + .lib + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;USE_NATIVE_GLEW;STBI_NO_DDS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;USE_NATIVE_GLEW;STBI_NO_DDS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;STBI_NO_DDS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;STBI_NO_DDS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\SOIL2;$(MSBuildThisFileDirectory)../src\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + + CompileAsC + CompileAsC + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/Renderer.vcxproj.filters b/msvc/Renderer.vcxproj.filters new file mode 100644 index 0000000000..d65af03163 --- /dev/null +++ b/msvc/Renderer.vcxproj.filters @@ -0,0 +1,100 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + diff --git a/msvc/RovastarDarkSecret.vcxproj b/msvc/RovastarDarkSecret.vcxproj new file mode 100644 index 0000000000..276485d778 --- /dev/null +++ b/msvc/RovastarDarkSecret.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {7A203034-A4D7-3A2B-9138-CB125F9B35E6} + 10.0.17763.0 + Win32Proj + x64 + RovastarDarkSecret + NoUpgrade + + + + DynamicLibrary + MultiByte + v141 + + + DynamicLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + squashNativePresets\Debug\ + RovastarDarkSecret.dir\Debug\ + RovastarDarkSecret + .dll + true + true + squashNativePresets\Release\ + RovastarDarkSecret.dir\Release\ + RovastarDarkSecret + .dll + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;LINUX;PROJECTM_PREFIX='""';RovastarDarkSecret_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;LINUX;PROJECTM_PREFIX='\"\"';RovastarDarkSecret_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Debug\Renderer.lib;NativePresetFactory\Debug\NativePresetFactory.lib;libprojectM\Debug\projectM.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + NativePresets/Debug/RovastarDarkSecret.lib + NativePresets/Debug/RovastarDarkSecret.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='""';RovastarDarkSecret_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='\"\"';RovastarDarkSecret_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Release\Renderer.lib;NativePresetFactory\Release\NativePresetFactory.lib;libprojectM\Release\projectM.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + NativePresets/Release/RovastarDarkSecret.lib + NativePresets/Release/RovastarDarkSecret.pdb + Console + + + false + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/RovastarDarkSecret.vcxproj.filters b/msvc/RovastarDarkSecret.vcxproj.filters new file mode 100644 index 0000000000..96d9164d58 --- /dev/null +++ b/msvc/RovastarDarkSecret.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/RovastarDriftingChaos.vcxproj b/msvc/RovastarDriftingChaos.vcxproj new file mode 100644 index 0000000000..1d17b7a74c --- /dev/null +++ b/msvc/RovastarDriftingChaos.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {6E418BC8-5407-3A37-96BD-5201D47DE753} + 10.0.17763.0 + Win32Proj + x64 + RovastarDriftingChaos + NoUpgrade + + + + DynamicLibrary + MultiByte + v141 + + + DynamicLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + squashNativePresets\Debug\ + RovastarDriftingChaos.dir\Debug\ + RovastarDriftingChaos + .dll + true + true + squashNativePresets\Release\ + RovastarDriftingChaos.dir\Release\ + RovastarDriftingChaos + .dll + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;LINUX;PROJECTM_PREFIX='""';RovastarDriftingChaos_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;LINUX;PROJECTM_PREFIX='\"\"';RovastarDriftingChaos_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Debug\Renderer.lib;NativePresetFactory\Debug\NativePresetFactory.lib;libprojectM\Debug\projectM.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + NativePresets/Debug/RovastarDriftingChaos.lib + NativePresets/Debug/RovastarDriftingChaos.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='""';RovastarDriftingChaos_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='\"\"';RovastarDriftingChaos_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Release\Renderer.lib;NativePresetFactory\Release\NativePresetFactory.lib;libprojectM\Release\projectM.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + NativePresets/Release/RovastarDriftingChaos.lib + NativePresets/Release/RovastarDriftingChaos.pdb + Console + + + false + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/RovastarDriftingChaos.vcxproj.filters b/msvc/RovastarDriftingChaos.vcxproj.filters new file mode 100644 index 0000000000..7ab3a3eae1 --- /dev/null +++ b/msvc/RovastarDriftingChaos.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/RovastarFractalSpiral.vcxproj b/msvc/RovastarFractalSpiral.vcxproj new file mode 100644 index 0000000000..fb9e78e4f9 --- /dev/null +++ b/msvc/RovastarFractalSpiral.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC} + 10.0.17763.0 + Win32Proj + x64 + RovastarFractalSpiral + NoUpgrade + + + + DynamicLibrary + MultiByte + v141 + + + DynamicLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + squashNativePresets\Debug\ + RovastarFractalSpiral.dir\Debug\ + RovastarFractalSpiral + .dll + true + true + squashNativePresets\Release\ + RovastarFractalSpiral.dir\Release\ + RovastarFractalSpiral + .dll + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;LINUX;PROJECTM_PREFIX='""';RovastarFractalSpiral_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;LINUX;PROJECTM_PREFIX='\"\"';RovastarFractalSpiral_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Debug\Renderer.lib;NativePresetFactory\Debug\NativePresetFactory.lib;libprojectM\Debug\projectM.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + NativePresets/Debug/RovastarFractalSpiral.lib + NativePresets/Debug/RovastarFractalSpiral.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='""';RovastarFractalSpiral_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='\"\"';RovastarFractalSpiral_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Release\Renderer.lib;NativePresetFactory\Release\NativePresetFactory.lib;libprojectM\Release\projectM.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + NativePresets/Release/RovastarFractalSpiral.lib + NativePresets/Release/RovastarFractalSpiral.pdb + Console + + + false + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/RovastarFractalSpiral.vcxproj.filters b/msvc/RovastarFractalSpiral.vcxproj.filters new file mode 100644 index 0000000000..1caeb52a8d --- /dev/null +++ b/msvc/RovastarFractalSpiral.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/RovastarFractopiaFrantic.vcxproj b/msvc/RovastarFractopiaFrantic.vcxproj new file mode 100644 index 0000000000..8f36673c2f --- /dev/null +++ b/msvc/RovastarFractopiaFrantic.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {27DDCE71-E33B-3521-92B5-9918356D78A1} + 10.0.17763.0 + Win32Proj + x64 + RovastarFractopiaFrantic + NoUpgrade + + + + DynamicLibrary + MultiByte + v141 + + + DynamicLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + squashNativePresets\Debug\ + RovastarFractopiaFrantic.dir\Debug\ + RovastarFractopiaFrantic + .dll + true + true + squashNativePresets\Release\ + RovastarFractopiaFrantic.dir\Release\ + RovastarFractopiaFrantic + .dll + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;LINUX;PROJECTM_PREFIX='""';RovastarFractopiaFrantic_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;LINUX;PROJECTM_PREFIX='\"\"';RovastarFractopiaFrantic_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Debug\Renderer.lib;NativePresetFactory\Debug\NativePresetFactory.lib;libprojectM\Debug\projectM.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + NativePresets/Debug/RovastarFractopiaFrantic.lib + NativePresets/Debug/RovastarFractopiaFrantic.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='""';RovastarFractopiaFrantic_EXPORTS;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;LINUX;PROJECTM_PREFIX='\"\"';RovastarFractopiaFrantic_EXPORTS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + Renderer\Release\Renderer.lib;NativePresetFactory\Release\NativePresetFactory.lib;libprojectM\Release\projectM.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + NativePresets/Release/RovastarFractopiaFrantic.lib + NativePresets/Release/RovastarFractopiaFrantic.pdb + Console + + + false + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/RovastarFractopiaFrantic.vcxproj.filters b/msvc/RovastarFractopiaFrantic.vcxproj.filters new file mode 100644 index 0000000000..ae8440bc3d --- /dev/null +++ b/msvc/RovastarFractopiaFrantic.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/Setup.iss b/msvc/Setup.iss new file mode 100644 index 0000000000..6490be9365 --- /dev/null +++ b/msvc/Setup.iss @@ -0,0 +1,81 @@ +; This script requires Inno Setup Compiler 5.5.9 or later to compile +; The Inno Setup Compiler (and IDE) can be found at http://www.jrsoftware.org/isinfo.php + +; General documentation on how to use InnoSetup scripts: http://www.jrsoftware.org/ishelp/index.php + +#ifndef Platform + #error Platform undefined. Pass /DPlatform +#endif + +#ifndef Configuration + #error Configuration undefined. Pass /DConfiguration +#endif + +#define MyAppName "projectM" +#define MyAppInstallerVersion GetFileVersion("projectM.exe") +#define MyAppPublisher "projectM Team" +#define MyAppPublisherURL "https://github.com/mancoast/projectm" +#define MyAppURL "https://github.com/projectM-visualizer/projectm" +#define MyAppExeName "projectM.exe" +#define MyAppIcoName "projectm_qDj_icon.ico" + +[Setup] +AppId={{82DAD0F1-77DF-47FE-9FEE-123FFC5695B4} +AppName={#MyAppName} +AppVersion={#MyAppInstallerVersion} +VersionInfoVersion={#MyAppInstallerVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppPublisherURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +AppCopyright=Copyright (C) 2019 {#MyAppPublisher} +BackColor=clWhite +BackSolid=yes +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +OutputBaseFilename=projectM-v{#MyAppInstallerVersion}-Setup +OutputDir=..\..\Setup\{#Configuration}\{#Platform} +Compression=lzma2 +InternalCompressLevel=ultra64 +SolidCompression=yes +DisableDirPage=yes +DisableReadyPage=yes +SetupIconFile={#MyAppIcoName} +WizardImageStretch=no +WindowResizable=no +CloseApplications=yes +ChangesEnvironment=yes +ArchitecturesInstallIn64BitMode=x64 +LicenseFile=LICENSE.txt +WizardImageFile=setup_inno.bmp +WizardSmallImageFile=setup_inno_small.bmp + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; \ + GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Icons] +Name: "{group}\projectM"; Filename: "{app}\projectM.exe"; WorkingDir: "{app}" +Name: "{group}\Uninstall projectM"; Filename: "{uninstallexe}" +Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; \ + IconFilename: "{app}\{#MyAppIcoName}"; Tasks: desktopicon + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl"; + +[Types] +Name: "full"; Description: "Full installation" + +[Components] + +[Files] +DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Source:"*" + +[UninstallDelete] +; Deletes the entire installation directory, including files and subdirectories +Type: filesandordirs; Name: "{app}"; + +[Run] +Filename: "{app}\projectM.exe"; Description: "Launch projectM application"; \ + Flags: postinstall nowait skipifsilent unchecked + diff --git a/msvc/config.h b/msvc/config.h new file mode 100644 index 0000000000..75851295c0 --- /dev/null +++ b/msvc/config.h @@ -0,0 +1,3 @@ +#define MANCOAST + + diff --git a/msvc/dirent.h b/msvc/dirent.h new file mode 100644 index 0000000000..f7a46dafcb --- /dev/null +++ b/msvc/dirent.h @@ -0,0 +1,1160 @@ +/* + * Dirent interface for Microsoft Visual Studio + * + * Copyright (C) 1998-2019 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + */ +#ifndef DIRENT_H +#define DIRENT_H + +/* Hide warnings about unreferenced local functions */ +#if defined(__clang__) +# pragma clang diagnostic ignored "-Wunused-function" +#elif defined(_MSC_VER) +# pragma warning(disable:4505) +#elif defined(__GNUC__) +# pragma GCC diagnostic ignored "-Wunused-function" +#endif + +/* + * Include windows.h without Windows Sockets 1.1 to prevent conflicts with + * Windows Sockets 2.0. + */ +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Indicates that d_type field is available in dirent structure */ +#define _DIRENT_HAVE_D_TYPE + +/* Indicates that d_namlen field is available in dirent structure */ +#define _DIRENT_HAVE_D_NAMLEN + +/* Entries missing from MSVC 6.0 */ +#if !defined(FILE_ATTRIBUTE_DEVICE) +# define FILE_ATTRIBUTE_DEVICE 0x40 +#endif + +/* File type and permission flags for stat(), general mask */ +#if !defined(S_IFMT) +# define S_IFMT _S_IFMT +#endif + +/* Directory bit */ +#if !defined(S_IFDIR) +# define S_IFDIR _S_IFDIR +#endif + +/* Character device bit */ +#if !defined(S_IFCHR) +# define S_IFCHR _S_IFCHR +#endif + +/* Pipe bit */ +#if !defined(S_IFFIFO) +# define S_IFFIFO _S_IFFIFO +#endif + +/* Regular file bit */ +#if !defined(S_IFREG) +# define S_IFREG _S_IFREG +#endif + +/* Read permission */ +#if !defined(S_IREAD) +# define S_IREAD _S_IREAD +#endif + +/* Write permission */ +#if !defined(S_IWRITE) +# define S_IWRITE _S_IWRITE +#endif + +/* Execute permission */ +#if !defined(S_IEXEC) +# define S_IEXEC _S_IEXEC +#endif + +/* Pipe */ +#if !defined(S_IFIFO) +# define S_IFIFO _S_IFIFO +#endif + +/* Block device */ +#if !defined(S_IFBLK) +# define S_IFBLK 0 +#endif + +/* Link */ +#if !defined(S_IFLNK) +# define S_IFLNK 0 +#endif + +/* Socket */ +#if !defined(S_IFSOCK) +# define S_IFSOCK 0 +#endif + +/* Read user permission */ +#if !defined(S_IRUSR) +# define S_IRUSR S_IREAD +#endif + +/* Write user permission */ +#if !defined(S_IWUSR) +# define S_IWUSR S_IWRITE +#endif + +/* Execute user permission */ +#if !defined(S_IXUSR) +# define S_IXUSR 0 +#endif + +/* Read group permission */ +#if !defined(S_IRGRP) +# define S_IRGRP 0 +#endif + +/* Write group permission */ +#if !defined(S_IWGRP) +# define S_IWGRP 0 +#endif + +/* Execute group permission */ +#if !defined(S_IXGRP) +# define S_IXGRP 0 +#endif + +/* Read others permission */ +#if !defined(S_IROTH) +# define S_IROTH 0 +#endif + +/* Write others permission */ +#if !defined(S_IWOTH) +# define S_IWOTH 0 +#endif + +/* Execute others permission */ +#if !defined(S_IXOTH) +# define S_IXOTH 0 +#endif + +/* Maximum length of file name */ +#if !defined(PATH_MAX) +# define PATH_MAX MAX_PATH +#endif +#if !defined(FILENAME_MAX) +# define FILENAME_MAX MAX_PATH +#endif +#if !defined(NAME_MAX) +# define NAME_MAX FILENAME_MAX +#endif + +/* File type flags for d_type */ +#define DT_UNKNOWN 0 +#define DT_REG S_IFREG +#define DT_DIR S_IFDIR +#define DT_FIFO S_IFIFO +#define DT_SOCK S_IFSOCK +#define DT_CHR S_IFCHR +#define DT_BLK S_IFBLK +#define DT_LNK S_IFLNK + +/* Macros for converting between st_mode and d_type */ +#define IFTODT(mode) ((mode) & S_IFMT) +#define DTTOIF(type) (type) + +/* + * File type macros. Note that block devices, sockets and links cannot be + * distinguished on Windows and the macros S_ISBLK, S_ISSOCK and S_ISLNK are + * only defined for compatibility. These macros should always return false + * on Windows. + */ +#if !defined(S_ISFIFO) +# define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO) +#endif +#if !defined(S_ISDIR) +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +#endif +#if !defined(S_ISREG) +# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +#endif +#if !defined(S_ISLNK) +# define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) +#endif +#if !defined(S_ISSOCK) +# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) +#endif +#if !defined(S_ISCHR) +# define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) +#endif +#if !defined(S_ISBLK) +# define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) +#endif + +/* Return the exact length of the file name without zero terminator */ +#define _D_EXACT_NAMLEN(p) ((p)->d_namlen) + +/* Return the maximum size of a file name */ +#define _D_ALLOC_NAMLEN(p) ((PATH_MAX)+1) + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Wide-character version */ +struct _wdirent { + /* Always zero */ + long d_ino; + + /* File position within stream */ + long d_off; + + /* Structure size */ + unsigned short d_reclen; + + /* Length of name without \0 */ + size_t d_namlen; + + /* File type */ + int d_type; + + /* File name */ + wchar_t d_name[PATH_MAX+1]; +}; +typedef struct _wdirent _wdirent; + +struct _WDIR { + /* Current directory entry */ + struct _wdirent ent; + + /* Private file data */ + WIN32_FIND_DATAW data; + + /* True if data is valid */ + int cached; + + /* Win32 search handle */ + HANDLE handle; + + /* Initial directory name */ + wchar_t *patt; +}; +typedef struct _WDIR _WDIR; + +/* Multi-byte character version */ +struct dirent { + /* Always zero */ + long d_ino; + + /* File position within stream */ + long d_off; + + /* Structure size */ + unsigned short d_reclen; + + /* Length of name without \0 */ + size_t d_namlen; + + /* File type */ + int d_type; + + /* File name */ + char d_name[PATH_MAX+1]; +}; +typedef struct dirent dirent; + +struct DIR { + struct dirent ent; + struct _WDIR *wdirp; +}; +typedef struct DIR DIR; + + +/* Dirent functions */ +static DIR *opendir (const char *dirname); +static _WDIR *_wopendir (const wchar_t *dirname); + +static struct dirent *readdir (DIR *dirp); +static struct _wdirent *_wreaddir (_WDIR *dirp); + +static int readdir_r( + DIR *dirp, struct dirent *entry, struct dirent **result); +static int _wreaddir_r( + _WDIR *dirp, struct _wdirent *entry, struct _wdirent **result); + +static int closedir (DIR *dirp); +static int _wclosedir (_WDIR *dirp); + +static void rewinddir (DIR* dirp); +static void _wrewinddir (_WDIR* dirp); + +static int scandir (const char *dirname, struct dirent ***namelist, + int (*filter)(const struct dirent*), + int (*compare)(const struct dirent**, const struct dirent**)); + +static int alphasort (const struct dirent **a, const struct dirent **b); + +static int versionsort (const struct dirent **a, const struct dirent **b); + + +/* For compatibility with Symbian */ +#define wdirent _wdirent +#define WDIR _WDIR +#define wopendir _wopendir +#define wreaddir _wreaddir +#define wclosedir _wclosedir +#define wrewinddir _wrewinddir + + +/* Internal utility functions */ +static WIN32_FIND_DATAW *dirent_first (_WDIR *dirp); +static WIN32_FIND_DATAW *dirent_next (_WDIR *dirp); + +static int dirent_mbstowcs_s( + size_t *pReturnValue, + wchar_t *wcstr, + size_t sizeInWords, + const char *mbstr, + size_t count); + +static int dirent_wcstombs_s( + size_t *pReturnValue, + char *mbstr, + size_t sizeInBytes, + const wchar_t *wcstr, + size_t count); + +static void dirent_set_errno (int error); + + +/* + * Open directory stream DIRNAME for read and return a pointer to the + * internal working area that is used to retrieve individual directory + * entries. + */ +static _WDIR* +_wopendir( + const wchar_t *dirname) +{ + _WDIR *dirp; + DWORD n; + wchar_t *p; + + /* Must have directory name */ + if (dirname == NULL || dirname[0] == '\0') { + dirent_set_errno (ENOENT); + return NULL; + } + + /* Allocate new _WDIR structure */ + dirp = (_WDIR*) malloc (sizeof (struct _WDIR)); + if (!dirp) { + return NULL; + } + + /* Reset _WDIR structure */ + dirp->handle = INVALID_HANDLE_VALUE; + dirp->patt = NULL; + dirp->cached = 0; + + /* + * Compute the length of full path plus zero terminator + * + * Note that on WinRT there's no way to convert relative paths + * into absolute paths, so just assume it is an absolute path. + */ +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + /* Desktop */ + n = GetFullPathNameW (dirname, 0, NULL, NULL); +#else + /* WinRT */ + n = wcslen (dirname); +#endif + + /* Allocate room for absolute directory name and search pattern */ + dirp->patt = (wchar_t*) malloc (sizeof (wchar_t) * n + 16); + if (dirp->patt == NULL) { + goto exit_closedir; + } + + /* + * Convert relative directory name to an absolute one. This + * allows rewinddir() to function correctly even when current + * working directory is changed between opendir() and rewinddir(). + * + * Note that on WinRT there's no way to convert relative paths + * into absolute paths, so just assume it is an absolute path. + */ +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + /* Desktop */ + n = GetFullPathNameW (dirname, n, dirp->patt, NULL); + if (n <= 0) { + goto exit_closedir; + } +#else + /* WinRT */ + wcsncpy_s (dirp->patt, n+1, dirname, n); +#endif + + /* Append search pattern \* to the directory name */ + p = dirp->patt + n; + switch (p[-1]) { + case '\\': + case '/': + case ':': + /* Directory ends in path separator, e.g. c:\temp\ */ + /*NOP*/; + break; + + default: + /* Directory name doesn't end in path separator */ + *p++ = '\\'; + } + *p++ = '*'; + *p = '\0'; + + /* Open directory stream and retrieve the first entry */ + if (!dirent_first (dirp)) { + goto exit_closedir; + } + + /* Success */ + return dirp; + + /* Failure */ +exit_closedir: + _wclosedir (dirp); + return NULL; +} + +/* + * Read next directory entry. + * + * Returns pointer to static directory entry which may be overwritten by + * subsequent calls to _wreaddir(). + */ +static struct _wdirent* +_wreaddir( + _WDIR *dirp) +{ + struct _wdirent *entry; + + /* + * Read directory entry to buffer. We can safely ignore the return value + * as entry will be set to NULL in case of error. + */ + (void) _wreaddir_r (dirp, &dirp->ent, &entry); + + /* Return pointer to statically allocated directory entry */ + return entry; +} + +/* + * Read next directory entry. + * + * Returns zero on success. If end of directory stream is reached, then sets + * result to NULL and returns zero. + */ +static int +_wreaddir_r( + _WDIR *dirp, + struct _wdirent *entry, + struct _wdirent **result) +{ + WIN32_FIND_DATAW *datap; + + /* Read next directory entry */ + datap = dirent_next (dirp); + if (datap) { + size_t n; + DWORD attr; + + /* + * Copy file name as wide-character string. If the file name is too + * long to fit in to the destination buffer, then truncate file name + * to PATH_MAX characters and zero-terminate the buffer. + */ + n = 0; + while (n < PATH_MAX && datap->cFileName[n] != 0) { + entry->d_name[n] = datap->cFileName[n]; + n++; + } + entry->d_name[n] = 0; + + /* Length of file name excluding zero terminator */ + entry->d_namlen = n; + + /* File type */ + attr = datap->dwFileAttributes; + if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) { + entry->d_type = DT_CHR; + } else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) { + entry->d_type = DT_DIR; + } else { + entry->d_type = DT_REG; + } + + /* Reset dummy fields */ + entry->d_ino = 0; + entry->d_off = 0; + entry->d_reclen = sizeof (struct _wdirent); + + /* Set result address */ + *result = entry; + + } else { + + /* Return NULL to indicate end of directory */ + *result = NULL; + + } + + return /*OK*/0; +} + +/* + * Close directory stream opened by opendir() function. This invalidates the + * DIR structure as well as any directory entry read previously by + * _wreaddir(). + */ +static int +_wclosedir( + _WDIR *dirp) +{ + int ok; + if (dirp) { + + /* Release search handle */ + if (dirp->handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->handle); + } + + /* Release search pattern */ + free (dirp->patt); + + /* Release directory structure */ + free (dirp); + ok = /*success*/0; + + } else { + + /* Invalid directory stream */ + dirent_set_errno (EBADF); + ok = /*failure*/-1; + + } + return ok; +} + +/* + * Rewind directory stream such that _wreaddir() returns the very first + * file name again. + */ +static void +_wrewinddir( + _WDIR* dirp) +{ + if (dirp) { + /* Release existing search handle */ + if (dirp->handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->handle); + } + + /* Open new search handle */ + dirent_first (dirp); + } +} + +/* Get first directory entry (internal) */ +static WIN32_FIND_DATAW* +dirent_first( + _WDIR *dirp) +{ + WIN32_FIND_DATAW *datap; + DWORD error; + + /* Open directory and retrieve the first entry */ + dirp->handle = FindFirstFileExW( + dirp->patt, FindExInfoStandard, &dirp->data, + FindExSearchNameMatch, NULL, 0); + if (dirp->handle != INVALID_HANDLE_VALUE) { + + /* a directory entry is now waiting in memory */ + datap = &dirp->data; + dirp->cached = 1; + + } else { + + /* Failed to open directory: no directory entry in memory */ + dirp->cached = 0; + datap = NULL; + + /* Set error code */ + error = GetLastError (); + switch (error) { + case ERROR_ACCESS_DENIED: + /* No read access to directory */ + dirent_set_errno (EACCES); + break; + + case ERROR_DIRECTORY: + /* Directory name is invalid */ + dirent_set_errno (ENOTDIR); + break; + + case ERROR_PATH_NOT_FOUND: + default: + /* Cannot find the file */ + dirent_set_errno (ENOENT); + } + + } + return datap; +} + +/* + * Get next directory entry (internal). + * + * Returns + */ +static WIN32_FIND_DATAW* +dirent_next( + _WDIR *dirp) +{ + WIN32_FIND_DATAW *p; + + /* Get next directory entry */ + if (dirp->cached != 0) { + + /* A valid directory entry already in memory */ + p = &dirp->data; + dirp->cached = 0; + + } else if (dirp->handle != INVALID_HANDLE_VALUE) { + + /* Get the next directory entry from stream */ + if (FindNextFileW (dirp->handle, &dirp->data) != FALSE) { + /* Got a file */ + p = &dirp->data; + } else { + /* The very last entry has been processed or an error occurred */ + FindClose (dirp->handle); + dirp->handle = INVALID_HANDLE_VALUE; + p = NULL; + } + + } else { + + /* End of directory stream reached */ + p = NULL; + + } + + return p; +} + +/* + * Open directory stream using plain old C-string. + */ +static DIR* +opendir( + const char *dirname) +{ + struct DIR *dirp; + + /* Must have directory name */ + if (dirname == NULL || dirname[0] == '\0') { + dirent_set_errno (ENOENT); + return NULL; + } + + /* Allocate memory for DIR structure */ + dirp = (DIR*) malloc (sizeof (struct DIR)); + if (!dirp) { + return NULL; + } + { + int error; + wchar_t wname[PATH_MAX + 1]; + size_t n; + + /* Convert directory name to wide-character string */ + error = dirent_mbstowcs_s( + &n, wname, PATH_MAX + 1, dirname, PATH_MAX + 1); + if (error) { + /* + * Cannot convert file name to wide-character string. This + * occurs if the string contains invalid multi-byte sequences or + * the output buffer is too small to contain the resulting + * string. + */ + goto exit_free; + } + + + /* Open directory stream using wide-character name */ + dirp->wdirp = _wopendir (wname); + if (!dirp->wdirp) { + goto exit_free; + } + + } + + /* Success */ + return dirp; + + /* Failure */ +exit_free: + free (dirp); + return NULL; +} + +/* + * Read next directory entry. + */ +static struct dirent* +readdir( + DIR *dirp) +{ + struct dirent *entry; + + /* + * Read directory entry to buffer. We can safely ignore the return value + * as entry will be set to NULL in case of error. + */ + (void) readdir_r (dirp, &dirp->ent, &entry); + + /* Return pointer to statically allocated directory entry */ + return entry; +} + +/* + * Read next directory entry into called-allocated buffer. + * + * Returns zero on success. If the end of directory stream is reached, then + * sets result to NULL and returns zero. + */ +static int +readdir_r( + DIR *dirp, + struct dirent *entry, + struct dirent **result) +{ + WIN32_FIND_DATAW *datap; + + /* Read next directory entry */ + datap = dirent_next (dirp->wdirp); + if (datap) { + size_t n; + int error; + + /* Attempt to convert file name to multi-byte string */ + error = dirent_wcstombs_s( + &n, entry->d_name, PATH_MAX + 1, datap->cFileName, PATH_MAX + 1); + + /* + * If the file name cannot be represented by a multi-byte string, + * then attempt to use old 8+3 file name. This allows traditional + * Unix-code to access some file names despite of unicode + * characters, although file names may seem unfamiliar to the user. + * + * Be ware that the code below cannot come up with a short file + * name unless the file system provides one. At least + * VirtualBox shared folders fail to do this. + */ + if (error && datap->cAlternateFileName[0] != '\0') { + error = dirent_wcstombs_s( + &n, entry->d_name, PATH_MAX + 1, + datap->cAlternateFileName, PATH_MAX + 1); + } + + if (!error) { + DWORD attr; + + /* Length of file name excluding zero terminator */ + entry->d_namlen = n - 1; + + /* File attributes */ + attr = datap->dwFileAttributes; + if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) { + entry->d_type = DT_CHR; + } else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) { + entry->d_type = DT_DIR; + } else { + entry->d_type = DT_REG; + } + + /* Reset dummy fields */ + entry->d_ino = 0; + entry->d_off = 0; + entry->d_reclen = sizeof (struct dirent); + + } else { + + /* + * Cannot convert file name to multi-byte string so construct + * an erroneous directory entry and return that. Note that + * we cannot return NULL as that would stop the processing + * of directory entries completely. + */ + entry->d_name[0] = '?'; + entry->d_name[1] = '\0'; + entry->d_namlen = 1; + entry->d_type = DT_UNKNOWN; + entry->d_ino = 0; + entry->d_off = -1; + entry->d_reclen = 0; + + } + + /* Return pointer to directory entry */ + *result = entry; + + } else { + + /* No more directory entries */ + *result = NULL; + + } + + return /*OK*/0; +} + +/* + * Close directory stream. + */ +static int +closedir( + DIR *dirp) +{ + int ok; + if (dirp) { + + /* Close wide-character directory stream */ + ok = _wclosedir (dirp->wdirp); + dirp->wdirp = NULL; + + /* Release multi-byte character version */ + free (dirp); + + } else { + + /* Invalid directory stream */ + dirent_set_errno (EBADF); + ok = /*failure*/-1; + + } + return ok; +} + +/* + * Rewind directory stream to beginning. + */ +static void +rewinddir( + DIR* dirp) +{ + /* Rewind wide-character string directory stream */ + _wrewinddir (dirp->wdirp); +} + +/* + * Scan directory for entries. + */ +static int +scandir( + const char *dirname, + struct dirent ***namelist, + int (*filter)(const struct dirent*), + int (*compare)(const struct dirent**, const struct dirent**)) +{ + struct dirent **files = NULL; + size_t size = 0; + size_t allocated = 0; + const size_t init_size = 1; + DIR *dir = NULL; + struct dirent *entry; + struct dirent *tmp = NULL; + size_t i; + int result = 0; + + /* Open directory stream */ + dir = opendir (dirname); + if (dir) { + + /* Read directory entries to memory */ + while (1) { + + /* Enlarge pointer table to make room for another pointer */ + if (size >= allocated) { + void *p; + size_t num_entries; + + /* Compute number of entries in the enlarged pointer table */ + if (size < init_size) { + /* Allocate initial pointer table */ + num_entries = init_size; + } else { + /* Double the size */ + num_entries = size * 2; + } + + /* Allocate first pointer table or enlarge existing table */ + p = realloc (files, sizeof (void*) * num_entries); + if (p != NULL) { + /* Got the memory */ + files = (dirent**) p; + allocated = num_entries; + } else { + /* Out of memory */ + result = -1; + break; + } + + } + + /* Allocate room for temporary directory entry */ + if (tmp == NULL) { + tmp = (struct dirent*) malloc (sizeof (struct dirent)); + if (tmp == NULL) { + /* Cannot allocate temporary directory entry */ + result = -1; + break; + } + } + + /* Read directory entry to temporary area */ + if (readdir_r (dir, tmp, &entry) == /*OK*/0) { + + /* Did we get an entry? */ + if (entry != NULL) { + int pass; + + /* Determine whether to include the entry in result */ + if (filter) { + /* Let the filter function decide */ + pass = filter (tmp); + } else { + /* No filter function, include everything */ + pass = 1; + } + + if (pass) { + /* Store the temporary entry to pointer table */ + files[size++] = tmp; + tmp = NULL; + + /* Keep up with the number of files */ + result++; + } + + } else { + + /* + * End of directory stream reached => sort entries and + * exit. + */ + qsort (files, size, sizeof (void*), + (int (*) (const void*, const void*)) compare); + break; + + } + + } else { + /* Error reading directory entry */ + result = /*Error*/ -1; + break; + } + + } + + } else { + /* Cannot open directory */ + result = /*Error*/ -1; + } + + /* Release temporary directory entry */ + free (tmp); + + /* Release allocated memory on error */ + if (result < 0) { + for (i = 0; i < size; i++) { + free (files[i]); + } + free (files); + files = NULL; + } + + /* Close directory stream */ + if (dir) { + closedir (dir); + } + + /* Pass pointer table to caller */ + if (namelist) { + *namelist = files; + } + return result; +} + +/* Alphabetical sorting */ +static int +alphasort( + const struct dirent **a, const struct dirent **b) +{ + return strcoll ((*a)->d_name, (*b)->d_name); +} + +/* Sort versions */ +static int +versionsort( + const struct dirent **a, const struct dirent **b) +{ + /* FIXME: implement strverscmp and use that */ + return alphasort (a, b); +} + +/* Convert multi-byte string to wide character string */ +static int +dirent_mbstowcs_s( + size_t *pReturnValue, + wchar_t *wcstr, + size_t sizeInWords, + const char *mbstr, + size_t count) +{ + int error; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + + /* Microsoft Visual Studio 2005 or later */ + error = mbstowcs_s (pReturnValue, wcstr, sizeInWords, mbstr, count); + +#else + + /* Older Visual Studio or non-Microsoft compiler */ + size_t n; + + /* Convert to wide-character string (or count characters) */ + n = mbstowcs (wcstr, mbstr, sizeInWords); + if (!wcstr || n < count) { + + /* Zero-terminate output buffer */ + if (wcstr && sizeInWords) { + if (n >= sizeInWords) { + n = sizeInWords - 1; + } + wcstr[n] = 0; + } + + /* Length of resulting multi-byte string WITH zero terminator */ + if (pReturnValue) { + *pReturnValue = n + 1; + } + + /* Success */ + error = 0; + + } else { + + /* Could not convert string */ + error = 1; + + } + +#endif + return error; +} + +/* Convert wide-character string to multi-byte string */ +static int +dirent_wcstombs_s( + size_t *pReturnValue, + char *mbstr, + size_t sizeInBytes, /* max size of mbstr */ + const wchar_t *wcstr, + size_t count) +{ + int error; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + + /* Microsoft Visual Studio 2005 or later */ + error = wcstombs_s (pReturnValue, mbstr, sizeInBytes, wcstr, count); + +#else + + /* Older Visual Studio or non-Microsoft compiler */ + size_t n; + + /* Convert to multi-byte string (or count the number of bytes needed) */ + n = wcstombs (mbstr, wcstr, sizeInBytes); + if (!mbstr || n < count) { + + /* Zero-terminate output buffer */ + if (mbstr && sizeInBytes) { + if (n >= sizeInBytes) { + n = sizeInBytes - 1; + } + mbstr[n] = '\0'; + } + + /* Length of resulting multi-bytes string WITH zero-terminator */ + if (pReturnValue) { + *pReturnValue = n + 1; + } + + /* Success */ + error = 0; + + } else { + + /* Cannot convert string */ + error = 1; + + } + +#endif + return error; +} + +/* Set errno variable */ +static void +dirent_set_errno( + int error) +{ +#if defined(_MSC_VER) && _MSC_VER >= 1400 + + /* Microsoft Visual Studio 2005 and later */ + _set_errno (error); + +#else + + /* Non-Microsoft compiler or older Microsoft compiler */ + errno = error; + +#endif +} + + +#ifdef __cplusplus +} +#endif +#endif /*DIRENT_H*/ diff --git a/msvc/dlfcn.c b/msvc/dlfcn.c new file mode 100644 index 0000000000..96f9fc8c35 --- /dev/null +++ b/msvc/dlfcn.c @@ -0,0 +1,489 @@ +/* + * dlfcn-win32 + * Copyright (c) 2007 Ramiro Polla + * Copyright (c) 2015 Tiancheng "Timothy" Gu + * + * dlfcn-win32 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * dlfcn-win32 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with dlfcn-win32; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifdef _DEBUG +#define _CRTDBG_MAP_ALLOC +#include +#include +#endif +#define PSAPI_VERSION 1 +#include +#include +#include +#include + +#ifdef SHARED +#define DLFCN_WIN32_EXPORTS +#endif +#include "dlfcn.h" + +#if ((defined(_WIN32) || defined(WIN32)) && (defined(_MSC_VER)) ) +#define snprintf sprintf_s +#endif + +#ifdef UNICODE +#include +#define CHAR wchar_t +#define UNICODE_L(s) L##s +#else +#define CHAR char +#define UNICODE_L(s) s +#endif + +/* Note: + * MSDN says these functions are not thread-safe. We make no efforts to have + * any kind of thread safety. + */ + +typedef struct global_object { + HMODULE hModule; + struct global_object *previous; + struct global_object *next; +} global_object; + +static global_object first_object; +static global_object first_automatic_object; +static int auto_ref_count = 0; + +/* These functions implement a double linked list for the global objects. */ +static global_object *global_search( global_object *start, HMODULE hModule ) +{ + global_object *pobject; + + if( hModule == NULL ) + return NULL; + + for( pobject = start; pobject; pobject = pobject->next ) + if( pobject->hModule == hModule ) + return pobject; + + return NULL; +} + +static void global_add( global_object *start, HMODULE hModule ) +{ + global_object *pobject; + global_object *nobject; + + if( hModule == NULL ) + return; + + pobject = global_search( start, hModule ); + + /* Do not add object again if it's already on the list */ + if( pobject ) + return; + + if( start == &first_automatic_object ) + { + pobject = global_search( &first_object, hModule ); + if( pobject ) + return; + } + + for( pobject = start; pobject->next; pobject = pobject->next ); + + nobject = (global_object*) malloc( sizeof( global_object ) ); + + /* Should this be enough to fail global_add, and therefore also fail + * dlopen? + */ + if( !nobject ) + return; + + pobject->next = nobject; + nobject->next = NULL; + nobject->previous = pobject; + nobject->hModule = hModule; +} + +static void global_rem( global_object *start, HMODULE hModule ) +{ + global_object *pobject; + + if( hModule == NULL ) + return; + + pobject = global_search( start, hModule ); + + if( !pobject ) + return; + + if( pobject->next ) + pobject->next->previous = pobject->previous; + if( pobject->previous ) + pobject->previous->next = pobject->next; + + free( pobject ); +} + +/* POSIX says dlerror( ) doesn't have to be thread-safe, so we use one + * static buffer. + * MSDN says the buffer cannot be larger than 64K bytes, so we set it to + * the limit. + */ +static CHAR error_buffer[65535]; +static CHAR *current_error; +static char dlerror_buffer[65536]; + +static int copy_string( CHAR *dest, int dest_size, const CHAR *src ) +{ + int i = 0; + + /* gcc should optimize this out */ + if( !src || !dest ) + return 0; + + for( i = 0 ; i < dest_size-1 ; i++ ) + { + if( !src[i] ) + break; + else + dest[i] = src[i]; + } + dest[i] = '\0'; + + return i; +} + +static void save_err_str( const CHAR *str ) +{ + DWORD dwMessageId; + DWORD pos; + + dwMessageId = GetLastError( ); + + if( dwMessageId == 0 ) + return; + + /* Format error message to: + * "": + */ + pos = copy_string( error_buffer, sizeof(error_buffer), UNICODE_L("\"") ); + pos += copy_string( error_buffer+pos, sizeof(error_buffer)-pos, str ); + pos += copy_string( error_buffer+pos, sizeof(error_buffer)-pos, UNICODE_L("\": ") ); + pos += FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwMessageId, + MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), + error_buffer+pos, sizeof(error_buffer)-pos, NULL ); + + if( pos > 1 ) + { + /* POSIX says the string must not have trailing */ + if( error_buffer[pos-2] == '\r' && error_buffer[pos-1] == '\n' ) + error_buffer[pos-2] = '\0'; + } + + current_error = error_buffer; +} + +static void save_err_ptr_str( const void *ptr ) +{ + CHAR ptr_buf[19]; /* 0x up to 64 bits. */ + +#ifdef UNICODE + +# if ((defined(_WIN32) || defined(WIN32)) && (defined(_MSC_VER)) ) + swprintf_s( ptr_buf, 19, UNICODE_L("0x%p"), ptr ); +# else + swprintf(ptr_buf, 19, UNICODE_L("0x%p"), ptr); +# endif + +#else + snprintf( ptr_buf, 19, "0x%p", ptr ); +#endif + + save_err_str( ptr_buf ); +} + +void *dlopen( const char *file, int mode ) +{ + HMODULE hModule; + UINT uMode; + + current_error = NULL; + + /* Do not let Windows display the critical-error-handler message box */ + uMode = SetErrorMode( SEM_FAILCRITICALERRORS ); + + if( file == 0 ) + { + HMODULE hAddtnlMods[1024]; // Already loaded modules + HANDLE hCurrentProc = GetCurrentProcess( ); + DWORD cbNeeded; + + /* POSIX says that if the value of file is 0, a handle on a global + * symbol object must be provided. That object must be able to access + * all symbols from the original program file, and any objects loaded + * with the RTLD_GLOBAL flag. + * The return value from GetModuleHandle( ) allows us to retrieve + * symbols only from the original program file. For objects loaded with + * the RTLD_GLOBAL flag, we create our own list later on. For objects + * outside of the program file but already loaded (e.g. linked DLLs) + * they are added below. + */ + hModule = GetModuleHandle( NULL ); + + if( !hModule ) + save_err_ptr_str( file ); + + + /* GetModuleHandle( NULL ) only returns the current program file. So + * if we want to get ALL loaded module including those in linked DLLs, + * we have to use EnumProcessModules( ). + */ + if( EnumProcessModules( hCurrentProc, hAddtnlMods, + sizeof( hAddtnlMods ), &cbNeeded ) != 0 ) + { + DWORD i; + for( i = 0; i < cbNeeded / sizeof( HMODULE ); i++ ) + { + global_add( &first_automatic_object, hAddtnlMods[i] ); + } + } + auto_ref_count++; + } + else + { + CHAR lpFileName[MAX_PATH]; + int i; + + /* MSDN says backslashes *must* be used instead of forward slashes. */ + for( i = 0 ; i < sizeof(lpFileName) - 1 ; i ++ ) + { + if( !file[i] ) + break; + else if( file[i] == '/' ) + lpFileName[i] = '\\'; + else + lpFileName[i] = file[i]; + } + lpFileName[i] = '\0'; + + /* POSIX says the search path is implementation-defined. + * LOAD_WITH_ALTERED_SEARCH_PATH is used to make it behave more closely + * to UNIX's search paths (start with system folders instead of current + * folder). + */ + hModule = LoadLibraryEx(lpFileName, NULL, + LOAD_WITH_ALTERED_SEARCH_PATH ); + + /* If the object was loaded with RTLD_GLOBAL, add it to list of global + * objects, so that its symbols may be retrieved even if the handle for + * the original program file is passed. POSIX says that if the same + * file is specified in multiple invocations, and any of them are + * RTLD_GLOBAL, even if any further invocations use RTLD_LOCAL, the + * symbols will remain global. + */ + if( !hModule ) + save_err_str( lpFileName ); + else if( (mode & RTLD_GLOBAL) ) + global_add( &first_object, hModule ); + } + + /* Return to previous state of the error-mode bit flags. */ + SetErrorMode( uMode ); + + return (void *) hModule; +} + +static void free_auto( ) +{ + global_object *pobject = first_automatic_object.next; + if( pobject ) + { + global_object *next; + for ( ; pobject; pobject = next ) + { + next = pobject->next; + free( pobject ); + } + first_automatic_object.next = NULL; + } +} + +int dlclose( void *handle ) +{ + HMODULE hModule = (HMODULE) handle; + BOOL ret; + + current_error = NULL; + + ret = FreeLibrary( hModule ); + + /* If the object was loaded with RTLD_GLOBAL, remove it from list of global + * objects. + */ + if( ret ) + { + HMODULE cur = GetModuleHandle( NULL ); + global_rem( &first_object, hModule ); + if( hModule == cur ) + { + auto_ref_count--; + if( auto_ref_count < 0 ) + auto_ref_count = 0; + if( !auto_ref_count ) + free_auto( ); + } + } + else + save_err_ptr_str( handle ); + + /* dlclose's return value in inverted in relation to FreeLibrary's. */ + ret = !ret; + + return (int) ret; +} + +void *dlsym( void *handle, const char *name ) +{ + FARPROC symbol; + HMODULE hModule; + +#ifdef UNICODE + wchar_t namew[MAX_PATH]; + wmemset(namew, 0, MAX_PATH); +#endif + + current_error = NULL; + + symbol = GetProcAddress( (HMODULE) handle, name ); + + if( symbol != NULL ) + goto end; + + /* If the handle for the original program file is passed, also search + * in all globally loaded objects. + */ + + hModule = GetModuleHandle( NULL ); + + if( hModule == handle ) + { + global_object *pobject; + + for( pobject = &first_object; pobject; pobject = pobject->next ) + { + if( pobject->hModule ) + { + symbol = GetProcAddress( pobject->hModule, name ); + if( symbol != NULL ) + goto end; + } + } + + for( pobject = &first_automatic_object; pobject; pobject = pobject->next ) + { + if( pobject->hModule ) + { + symbol = GetProcAddress( pobject->hModule, name ); + if( symbol != NULL ) + goto end; + } + } + } + +end: + if( symbol == NULL ) + { +#ifdef UNICODE + size_t converted_chars; + + size_t str_len = strlen(name) + 1; + +#if ((defined(_WIN32) || defined(WIN32)) && (defined(_MSC_VER)) ) + errno_t err = mbstowcs_s(&converted_chars, namew, str_len, name, str_len); + if (err != 0) + return NULL; +#else + mbstowcs(namew, name, str_len); +#endif + + save_err_str( namew ); +#else + save_err_str( name ); +#endif + } + + // warning C4054: 'type cast' : from function pointer 'FARPROC' to data pointer 'void *' +#ifdef _MSC_VER +#pragma warning( suppress: 4054 ) +#endif + return (void*) symbol; +} + +char *dlerror( void ) +{ + char *error_pointer = dlerror_buffer; + + /* If this is the second consecutive call to dlerror, return NULL */ + if (current_error == NULL) + { + return NULL; + } + +#ifdef UNICODE + errno_t err = 0; + size_t converted_chars = 0; + size_t str_len = wcslen(current_error) + 1; + memset(error_pointer, 0, 65535); + +# if ((defined(_WIN32) || defined(WIN32)) && (defined(_MSC_VER)) ) + err = wcstombs_s(&converted_chars, + error_pointer, str_len * sizeof(char), + current_error, str_len * sizeof(wchar_t)); + + if (err != 0) + return NULL; +# else + wcstombs(error_pointer, current_error, str_len); +# endif + +#else + memcpy(error_pointer, current_error, strlen(current_error) + 1); +#endif + + /* POSIX says that invoking dlerror( ) a second time, immediately following + * a prior invocation, shall result in NULL being returned. + */ + current_error = NULL; + + return error_pointer; +} + +#ifdef SHARED +BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) +{ + (void) hinstDLL; + /* + * https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspx + * + * When handling DLL_PROCESS_DETACH, a DLL should free resources such as heap + * memory only if the DLL is being unloaded dynamically (the lpReserved + * parameter is NULL). + */ + if( fdwReason == DLL_PROCESS_DETACH && !lpvReserved ) + { + auto_ref_count = 0; + free_auto( ); + } + return TRUE; +} +#endif diff --git a/msvc/dlfcn.h b/msvc/dlfcn.h new file mode 100644 index 0000000000..1eefd835d0 --- /dev/null +++ b/msvc/dlfcn.h @@ -0,0 +1,59 @@ +/* + * dlfcn-win32 + * Copyright (c) 2007 Ramiro Polla + * + * dlfcn-win32 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * dlfcn-win32 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with dlfcn-win32; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef DLFCN_H +#define DLFCN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(DLFCN_WIN32_EXPORTS) +# define DLFCN_EXPORT __declspec(dllexport) +#else +# define DLFCN_EXPORT +#endif + +/* POSIX says these are implementation-defined. + * To simplify use with Windows API, we treat them the same way. + */ + +#define RTLD_LAZY 0 +#define RTLD_NOW 0 + +#define RTLD_GLOBAL (1 << 1) +#define RTLD_LOCAL (1 << 2) + +/* These two were added in The Open Group Base Specifications Issue 6. + * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant. + */ + +#define RTLD_DEFAULT 0 +#define RTLD_NEXT 0 + +DLFCN_EXPORT void *dlopen ( const char *file, int mode ); +DLFCN_EXPORT int dlclose(void *handle); +DLFCN_EXPORT void *dlsym(void *handle, const char *name); +DLFCN_EXPORT char *dlerror(void); + +#ifdef __cplusplus +} +#endif + +#endif /* DLFCN_H */ diff --git a/msvc/eglew.h b/msvc/eglew.h new file mode 100644 index 0000000000..4670147948 --- /dev/null +++ b/msvc/eglew.h @@ -0,0 +1,2618 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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. +*/ + +/* + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __eglew_h__ +#define __eglew_h__ +#define __EGLEW_H__ + +#ifdef __eglext_h_ +#error eglext.h included before eglew.h +#endif + +#if defined(__egl_h_) +#error egl.h included before eglew.h +#endif + +#define __eglext_h_ + +#define __egl_h_ + +#ifndef EGLAPIENTRY +#define EGLAPIENTRY +#endif +#ifndef EGLAPI +#define EGLAPI extern +#endif + +/* EGL Types */ +#include + +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef int32_t EGLint; + +typedef unsigned int EGLBoolean; +typedef void *EGLDisplay; +typedef void *EGLConfig; +typedef void *EGLSurface; +typedef void *EGLContext; +typedef void (*__eglMustCastToProperFunctionPointerType)(void); + +typedef unsigned int EGLenum; +typedef void *EGLClientBuffer; + +typedef void *EGLSync; +typedef intptr_t EGLAttrib; +typedef khronos_utime_nanoseconds_t EGLTime; +typedef void *EGLImage; + +typedef void *EGLSyncKHR; +typedef intptr_t EGLAttribKHR; +typedef void *EGLLabelKHR; +typedef void *EGLObjectKHR; +typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); +typedef khronos_utime_nanoseconds_t EGLTimeKHR; +typedef void *EGLImageKHR; +typedef void *EGLStreamKHR; +typedef khronos_uint64_t EGLuint64KHR; +typedef int EGLNativeFileDescriptorKHR; +typedef khronos_ssize_t EGLsizeiANDROID; +typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); +typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); +typedef void *EGLDeviceEXT; +typedef void *EGLOutputLayerEXT; +typedef void *EGLOutputPortEXT; +typedef void *EGLSyncNV; +typedef khronos_utime_nanoseconds_t EGLTimeNV; +typedef khronos_utime_nanoseconds_t EGLuint64NV; +typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + +struct EGLClientPixmapHI; + +#define EGL_DONT_CARE ((EGLint)-1) + +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_IMAGE ((EGLImage)0) +#define EGL_NO_SURFACE ((EGLSurface)0) +#define EGL_NO_SYNC ((EGLSync)0) + +#define EGL_UNKNOWN ((EGLint)-1) + +#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) + +EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname); +/* ---------------------------- EGL_VERSION_1_0 ---------------------------- */ + +#ifndef EGL_VERSION_1_0 +#define EGL_VERSION_1_0 1 + +#define EGL_FALSE 0 +#define EGL_PBUFFER_BIT 0x0001 +#define EGL_TRUE 1 +#define EGL_PIXMAP_BIT 0x0002 +#define EGL_WINDOW_BIT 0x0004 +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 +#define EGL_SLOW_CONFIG 0x3050 +#define EGL_NON_CONFORMANT_CONFIG 0x3051 +#define EGL_TRANSPARENT_RGB 0x3052 +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A +#define EGL_CORE_NATIVE_ENGINE 0x305B + +typedef EGLBoolean ( * PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config); +typedef EGLBoolean ( * PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); +typedef EGLContext ( * PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx); +typedef EGLBoolean ( * PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface); +typedef EGLBoolean ( * PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value); +typedef EGLBoolean ( * PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config); +typedef EGLDisplay ( * PFNEGLGETCURRENTDISPLAYPROC) ( void ); +typedef EGLSurface ( * PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw); +typedef EGLDisplay ( * PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id); +typedef EGLint ( * PFNEGLGETERRORPROC) ( void ); +typedef EGLBoolean ( * PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint * major, EGLint * minor); +typedef EGLBoolean ( * PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); +typedef EGLBoolean ( * PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value); +typedef const char * ( * PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name); +typedef EGLBoolean ( * PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value); +typedef EGLBoolean ( * PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface); +typedef EGLBoolean ( * PFNEGLTERMINATEPROC) (EGLDisplay dpy); +typedef EGLBoolean ( * PFNEGLWAITGLPROC) ( void ); +typedef EGLBoolean ( * PFNEGLWAITNATIVEPROC) (EGLint engine); + +#define eglChooseConfig EGLEW_GET_FUN(__eglewChooseConfig) +#define eglCopyBuffers EGLEW_GET_FUN(__eglewCopyBuffers) +#define eglCreateContext EGLEW_GET_FUN(__eglewCreateContext) +#define eglCreatePbufferSurface EGLEW_GET_FUN(__eglewCreatePbufferSurface) +#define eglCreatePixmapSurface EGLEW_GET_FUN(__eglewCreatePixmapSurface) +#define eglCreateWindowSurface EGLEW_GET_FUN(__eglewCreateWindowSurface) +#define eglDestroyContext EGLEW_GET_FUN(__eglewDestroyContext) +#define eglDestroySurface EGLEW_GET_FUN(__eglewDestroySurface) +#define eglGetConfigAttrib EGLEW_GET_FUN(__eglewGetConfigAttrib) +#define eglGetConfigs EGLEW_GET_FUN(__eglewGetConfigs) +#define eglGetCurrentDisplay EGLEW_GET_FUN(__eglewGetCurrentDisplay) +#define eglGetCurrentSurface EGLEW_GET_FUN(__eglewGetCurrentSurface) +#define eglGetDisplay EGLEW_GET_FUN(__eglewGetDisplay) +#define eglGetError EGLEW_GET_FUN(__eglewGetError) +#define eglInitialize EGLEW_GET_FUN(__eglewInitialize) +#define eglMakeCurrent EGLEW_GET_FUN(__eglewMakeCurrent) +#define eglQueryContext EGLEW_GET_FUN(__eglewQueryContext) +#define eglQueryString EGLEW_GET_FUN(__eglewQueryString) +#define eglQuerySurface EGLEW_GET_FUN(__eglewQuerySurface) +#define eglSwapBuffers EGLEW_GET_FUN(__eglewSwapBuffers) +#define eglTerminate EGLEW_GET_FUN(__eglewTerminate) +#define eglWaitGL EGLEW_GET_FUN(__eglewWaitGL) +#define eglWaitNative EGLEW_GET_FUN(__eglewWaitNative) + +#define EGLEW_VERSION_1_0 EGLEW_GET_VAR(__EGLEW_VERSION_1_0) + +#endif /* EGL_VERSION_1_0 */ + +/* ---------------------------- EGL_VERSION_1_1 ---------------------------- */ + +#ifndef EGL_VERSION_1_1 +#define EGL_VERSION_1_1 1 + +#define EGL_CONTEXT_LOST 0x300E +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_BACK_BUFFER 0x3084 + +typedef EGLBoolean ( * PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +typedef EGLBoolean ( * PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +typedef EGLBoolean ( * PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); +typedef EGLBoolean ( * PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval); + +#define eglBindTexImage EGLEW_GET_FUN(__eglewBindTexImage) +#define eglReleaseTexImage EGLEW_GET_FUN(__eglewReleaseTexImage) +#define eglSurfaceAttrib EGLEW_GET_FUN(__eglewSurfaceAttrib) +#define eglSwapInterval EGLEW_GET_FUN(__eglewSwapInterval) + +#define EGLEW_VERSION_1_1 EGLEW_GET_VAR(__EGLEW_VERSION_1_1) + +#endif /* EGL_VERSION_1_1 */ + +/* ---------------------------- EGL_VERSION_1_2 ---------------------------- */ + +#ifndef EGL_VERSION_1_2 +#define EGL_VERSION_1_2 1 + +#define EGL_OPENGL_ES_BIT 0x0001 +#define EGL_OPENVG_BIT 0x0002 +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 +#define EGL_SINGLE_BUFFER 0x3085 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_COLORSPACE 0x3087 +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_COLORSPACE_LINEAR 0x308A +#define EGL_ALPHA_FORMAT_NONPRE 0x308B +#define EGL_ALPHA_FORMAT_PRE 0x308C +#define EGL_CLIENT_APIS 0x308D +#define EGL_RGB_BUFFER 0x308E +#define EGL_LUMINANCE_BUFFER 0x308F +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 +#define EGL_BUFFER_PRESERVED 0x3094 +#define EGL_BUFFER_DESTROYED 0x3095 +#define EGL_OPENVG_IMAGE 0x3096 +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 +#define EGL_DISPLAY_SCALING 10000 + +typedef EGLBoolean ( * PFNEGLBINDAPIPROC) (EGLenum api); +typedef EGLSurface ( * PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list); +typedef EGLenum ( * PFNEGLQUERYAPIPROC) ( void ); +typedef EGLBoolean ( * PFNEGLRELEASETHREADPROC) ( void ); +typedef EGLBoolean ( * PFNEGLWAITCLIENTPROC) ( void ); + +#define eglBindAPI EGLEW_GET_FUN(__eglewBindAPI) +#define eglCreatePbufferFromClientBuffer EGLEW_GET_FUN(__eglewCreatePbufferFromClientBuffer) +#define eglQueryAPI EGLEW_GET_FUN(__eglewQueryAPI) +#define eglReleaseThread EGLEW_GET_FUN(__eglewReleaseThread) +#define eglWaitClient EGLEW_GET_FUN(__eglewWaitClient) + +#define EGLEW_VERSION_1_2 EGLEW_GET_VAR(__EGLEW_VERSION_1_2) + +#endif /* EGL_VERSION_1_2 */ + +/* ---------------------------- EGL_VERSION_1_3 ---------------------------- */ + +#ifndef EGL_VERSION_1_3 +#define EGL_VERSION_1_3 1 + +#define EGL_OPENGL_ES2_BIT 0x0004 +#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 +#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 +#define EGL_MATCH_NATIVE_PIXMAP 0x3041 +#define EGL_CONFORMANT 0x3042 +#define EGL_VG_COLORSPACE 0x3087 +#define EGL_VG_ALPHA_FORMAT 0x3088 +#define EGL_VG_COLORSPACE_LINEAR 0x308A +#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B +#define EGL_VG_ALPHA_FORMAT_PRE 0x308C +#define EGL_CONTEXT_CLIENT_VERSION 0x3098 + +#define EGLEW_VERSION_1_3 EGLEW_GET_VAR(__EGLEW_VERSION_1_3) + +#endif /* EGL_VERSION_1_3 */ + +/* ---------------------------- EGL_VERSION_1_4 ---------------------------- */ + +#ifndef EGL_VERSION_1_4 +#define EGL_VERSION_1_4 1 + +#define EGL_OPENGL_BIT 0x0008 +#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 +#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 +#define EGL_MULTISAMPLE_RESOLVE 0x3099 +#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A +#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B +#define EGL_OPENGL_API 0x30A2 + +typedef EGLContext ( * PFNEGLGETCURRENTCONTEXTPROC) ( void ); + +#define eglGetCurrentContext EGLEW_GET_FUN(__eglewGetCurrentContext) + +#define EGLEW_VERSION_1_4 EGLEW_GET_VAR(__EGLEW_VERSION_1_4) + +#endif /* EGL_VERSION_1_4 */ + +/* ---------------------------- EGL_VERSION_1_5 ---------------------------- */ + +#ifndef EGL_VERSION_1_5 +#define EGL_VERSION_1_5 1 + +#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 +#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 +#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define EGL_OPENGL_ES3_BIT 0x00000040 +#define EGL_GL_COLORSPACE_SRGB 0x3089 +#define EGL_GL_COLORSPACE_LINEAR 0x308A +#define EGL_CONTEXT_MAJOR_VERSION 0x3098 +#define EGL_CL_EVENT_HANDLE 0x309C +#define EGL_GL_COLORSPACE 0x309D +#define EGL_GL_TEXTURE_2D 0x30B1 +#define EGL_GL_TEXTURE_3D 0x30B2 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 +#define EGL_GL_RENDERBUFFER 0x30B9 +#define EGL_GL_TEXTURE_LEVEL 0x30BC +#define EGL_GL_TEXTURE_ZOFFSET 0x30BD +#define EGL_IMAGE_PRESERVED 0x30D2 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 +#define EGL_SYNC_STATUS 0x30F1 +#define EGL_SIGNALED 0x30F2 +#define EGL_UNSIGNALED 0x30F3 +#define EGL_TIMEOUT_EXPIRED 0x30F5 +#define EGL_CONDITION_SATISFIED 0x30F6 +#define EGL_SYNC_TYPE 0x30F7 +#define EGL_SYNC_CONDITION 0x30F8 +#define EGL_SYNC_FENCE 0x30F9 +#define EGL_CONTEXT_MINOR_VERSION 0x30FB +#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD +#define EGL_SYNC_CL_EVENT 0x30FE +#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF +#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 +#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD +#define EGL_NO_RESET_NOTIFICATION 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF +#define EGL_FOREVER 0xFFFFFFFFFFFFFFFF + +typedef EGLint ( * PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); +typedef EGLImage ( * PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list); +typedef EGLSync ( * PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image); +typedef EGLBoolean ( * PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync); +typedef EGLDisplay ( * PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void * native_display, const EGLAttrib * attrib_list); +typedef EGLBoolean ( * PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value); +typedef EGLBoolean ( * PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags); + +#define eglClientWaitSync EGLEW_GET_FUN(__eglewClientWaitSync) +#define eglCreateImage EGLEW_GET_FUN(__eglewCreateImage) +#define eglCreatePlatformPixmapSurface EGLEW_GET_FUN(__eglewCreatePlatformPixmapSurface) +#define eglCreatePlatformWindowSurface EGLEW_GET_FUN(__eglewCreatePlatformWindowSurface) +#define eglCreateSync EGLEW_GET_FUN(__eglewCreateSync) +#define eglDestroyImage EGLEW_GET_FUN(__eglewDestroyImage) +#define eglDestroySync EGLEW_GET_FUN(__eglewDestroySync) +#define eglGetPlatformDisplay EGLEW_GET_FUN(__eglewGetPlatformDisplay) +#define eglGetSyncAttrib EGLEW_GET_FUN(__eglewGetSyncAttrib) +#define eglWaitSync EGLEW_GET_FUN(__eglewWaitSync) + +#define EGLEW_VERSION_1_5 EGLEW_GET_VAR(__EGLEW_VERSION_1_5) + +#endif /* EGL_VERSION_1_5 */ + +/* ------------------------- EGL_ANDROID_blob_cache ------------------------ */ + +#ifndef EGL_ANDROID_blob_cache +#define EGL_ANDROID_blob_cache 1 + +typedef void ( * PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); + +#define eglSetBlobCacheFuncsANDROID EGLEW_GET_FUN(__eglewSetBlobCacheFuncsANDROID) + +#define EGLEW_ANDROID_blob_cache EGLEW_GET_VAR(__EGLEW_ANDROID_blob_cache) + +#endif /* EGL_ANDROID_blob_cache */ + +/* ---------------- EGL_ANDROID_create_native_client_buffer ---------------- */ + +#ifndef EGL_ANDROID_create_native_client_buffer +#define EGL_ANDROID_create_native_client_buffer 1 + +#define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001 +#define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002 +#define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004 +#define EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143 + +typedef EGLClientBuffer ( * PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint * attrib_list); + +#define eglCreateNativeClientBufferANDROID EGLEW_GET_FUN(__eglewCreateNativeClientBufferANDROID) + +#define EGLEW_ANDROID_create_native_client_buffer EGLEW_GET_VAR(__EGLEW_ANDROID_create_native_client_buffer) + +#endif /* EGL_ANDROID_create_native_client_buffer */ + +/* --------------------- EGL_ANDROID_framebuffer_target -------------------- */ + +#ifndef EGL_ANDROID_framebuffer_target +#define EGL_ANDROID_framebuffer_target 1 + +#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 + +#define EGLEW_ANDROID_framebuffer_target EGLEW_GET_VAR(__EGLEW_ANDROID_framebuffer_target) + +#endif /* EGL_ANDROID_framebuffer_target */ + +/* ----------------- EGL_ANDROID_front_buffer_auto_refresh ----------------- */ + +#ifndef EGL_ANDROID_front_buffer_auto_refresh +#define EGL_ANDROID_front_buffer_auto_refresh 1 + +#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C + +#define EGLEW_ANDROID_front_buffer_auto_refresh EGLEW_GET_VAR(__EGLEW_ANDROID_front_buffer_auto_refresh) + +#endif /* EGL_ANDROID_front_buffer_auto_refresh */ + +/* -------------------- EGL_ANDROID_image_native_buffer -------------------- */ + +#ifndef EGL_ANDROID_image_native_buffer +#define EGL_ANDROID_image_native_buffer 1 + +#define EGL_NATIVE_BUFFER_ANDROID 0x3140 + +#define EGLEW_ANDROID_image_native_buffer EGLEW_GET_VAR(__EGLEW_ANDROID_image_native_buffer) + +#endif /* EGL_ANDROID_image_native_buffer */ + +/* --------------------- EGL_ANDROID_native_fence_sync --------------------- */ + +#ifndef EGL_ANDROID_native_fence_sync +#define EGL_ANDROID_native_fence_sync 1 + +#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 +#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 +#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 + +typedef EGLint ( * PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); + +#define eglDupNativeFenceFDANDROID EGLEW_GET_FUN(__eglewDupNativeFenceFDANDROID) + +#define EGLEW_ANDROID_native_fence_sync EGLEW_GET_VAR(__EGLEW_ANDROID_native_fence_sync) + +#endif /* EGL_ANDROID_native_fence_sync */ + +/* --------------------- EGL_ANDROID_presentation_time --------------------- */ + +#ifndef EGL_ANDROID_presentation_time +#define EGL_ANDROID_presentation_time 1 + +typedef EGLBoolean ( * PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time); + +#define eglPresentationTimeANDROID EGLEW_GET_FUN(__eglewPresentationTimeANDROID) + +#define EGLEW_ANDROID_presentation_time EGLEW_GET_VAR(__EGLEW_ANDROID_presentation_time) + +#endif /* EGL_ANDROID_presentation_time */ + +/* ------------------------- EGL_ANDROID_recordable ------------------------ */ + +#ifndef EGL_ANDROID_recordable +#define EGL_ANDROID_recordable 1 + +#define EGL_RECORDABLE_ANDROID 0x3142 + +#define EGLEW_ANDROID_recordable EGLEW_GET_VAR(__EGLEW_ANDROID_recordable) + +#endif /* EGL_ANDROID_recordable */ + +/* ---------------- EGL_ANGLE_d3d_share_handle_client_buffer --------------- */ + +#ifndef EGL_ANGLE_d3d_share_handle_client_buffer +#define EGL_ANGLE_d3d_share_handle_client_buffer 1 + +#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 + +#define EGLEW_ANGLE_d3d_share_handle_client_buffer EGLEW_GET_VAR(__EGLEW_ANGLE_d3d_share_handle_client_buffer) + +#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ + +/* -------------------------- EGL_ANGLE_device_d3d ------------------------- */ + +#ifndef EGL_ANGLE_device_d3d +#define EGL_ANGLE_device_d3d 1 + +#define EGL_D3D9_DEVICE_ANGLE 0x33A0 +#define EGL_D3D11_DEVICE_ANGLE 0x33A1 + +#define EGLEW_ANGLE_device_d3d EGLEW_GET_VAR(__EGLEW_ANGLE_device_d3d) + +#endif /* EGL_ANGLE_device_d3d */ + +/* -------------------- EGL_ANGLE_query_surface_pointer -------------------- */ + +#ifndef EGL_ANGLE_query_surface_pointer +#define EGL_ANGLE_query_surface_pointer 1 + +typedef EGLBoolean ( * PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value); + +#define eglQuerySurfacePointerANGLE EGLEW_GET_FUN(__eglewQuerySurfacePointerANGLE) + +#define EGLEW_ANGLE_query_surface_pointer EGLEW_GET_VAR(__EGLEW_ANGLE_query_surface_pointer) + +#endif /* EGL_ANGLE_query_surface_pointer */ + +/* ------------- EGL_ANGLE_surface_d3d_texture_2d_share_handle ------------- */ + +#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle +#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 + +#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 + +#define EGLEW_ANGLE_surface_d3d_texture_2d_share_handle EGLEW_GET_VAR(__EGLEW_ANGLE_surface_d3d_texture_2d_share_handle) + +#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ + +/* ---------------------- EGL_ANGLE_window_fixed_size ---------------------- */ + +#ifndef EGL_ANGLE_window_fixed_size +#define EGL_ANGLE_window_fixed_size 1 + +#define EGL_FIXED_SIZE_ANGLE 0x3201 + +#define EGLEW_ANGLE_window_fixed_size EGLEW_GET_VAR(__EGLEW_ANGLE_window_fixed_size) + +#endif /* EGL_ANGLE_window_fixed_size */ + +/* --------------------- EGL_ARM_implicit_external_sync -------------------- */ + +#ifndef EGL_ARM_implicit_external_sync +#define EGL_ARM_implicit_external_sync 1 + +#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A + +#define EGLEW_ARM_implicit_external_sync EGLEW_GET_VAR(__EGLEW_ARM_implicit_external_sync) + +#endif /* EGL_ARM_implicit_external_sync */ + +/* ------------------- EGL_ARM_pixmap_multisample_discard ------------------ */ + +#ifndef EGL_ARM_pixmap_multisample_discard +#define EGL_ARM_pixmap_multisample_discard 1 + +#define EGL_DISCARD_SAMPLES_ARM 0x3286 + +#define EGLEW_ARM_pixmap_multisample_discard EGLEW_GET_VAR(__EGLEW_ARM_pixmap_multisample_discard) + +#endif /* EGL_ARM_pixmap_multisample_discard */ + +/* --------------------------- EGL_EXT_buffer_age -------------------------- */ + +#ifndef EGL_EXT_buffer_age +#define EGL_EXT_buffer_age 1 + +#define EGL_BUFFER_AGE_EXT 0x313D + +#define EGLEW_EXT_buffer_age EGLEW_GET_VAR(__EGLEW_EXT_buffer_age) + +#endif /* EGL_EXT_buffer_age */ + +/* ----------------------- EGL_EXT_client_extensions ----------------------- */ + +#ifndef EGL_EXT_client_extensions +#define EGL_EXT_client_extensions 1 + +#define EGLEW_EXT_client_extensions EGLEW_GET_VAR(__EGLEW_EXT_client_extensions) + +#endif /* EGL_EXT_client_extensions */ + +/* ------------------- EGL_EXT_create_context_robustness ------------------- */ + +#ifndef EGL_EXT_create_context_robustness +#define EGL_EXT_create_context_robustness 1 + +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 +#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF + +#define EGLEW_EXT_create_context_robustness EGLEW_GET_VAR(__EGLEW_EXT_create_context_robustness) + +#endif /* EGL_EXT_create_context_robustness */ + +/* -------------------------- EGL_EXT_device_base -------------------------- */ + +#ifndef EGL_EXT_device_base +#define EGL_EXT_device_base 1 + +#define EGL_BAD_DEVICE_EXT 0x322B +#define EGL_DEVICE_EXT 0x322C + +#define EGLEW_EXT_device_base EGLEW_GET_VAR(__EGLEW_EXT_device_base) + +#endif /* EGL_EXT_device_base */ + +/* --------------------------- EGL_EXT_device_drm -------------------------- */ + +#ifndef EGL_EXT_device_drm +#define EGL_EXT_device_drm 1 + +#define EGL_DRM_DEVICE_FILE_EXT 0x3233 + +#define EGLEW_EXT_device_drm EGLEW_GET_VAR(__EGLEW_EXT_device_drm) + +#endif /* EGL_EXT_device_drm */ + +/* ----------------------- EGL_EXT_device_enumeration ---------------------- */ + +#ifndef EGL_EXT_device_enumeration +#define EGL_EXT_device_enumeration 1 + +typedef EGLBoolean ( * PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices); + +#define eglQueryDevicesEXT EGLEW_GET_FUN(__eglewQueryDevicesEXT) + +#define EGLEW_EXT_device_enumeration EGLEW_GET_VAR(__EGLEW_EXT_device_enumeration) + +#endif /* EGL_EXT_device_enumeration */ + +/* ------------------------- EGL_EXT_device_openwf ------------------------- */ + +#ifndef EGL_EXT_device_openwf +#define EGL_EXT_device_openwf 1 + +#define EGL_OPENWF_DEVICE_ID_EXT 0x3237 + +#define EGLEW_EXT_device_openwf EGLEW_GET_VAR(__EGLEW_EXT_device_openwf) + +#endif /* EGL_EXT_device_openwf */ + +/* -------------------------- EGL_EXT_device_query ------------------------- */ + +#ifndef EGL_EXT_device_query +#define EGL_EXT_device_query 1 + +#define EGL_BAD_DEVICE_EXT 0x322B +#define EGL_DEVICE_EXT 0x322C + +typedef EGLBoolean ( * PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib * value); +typedef const char * ( * PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name); +typedef EGLBoolean ( * PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib * value); + +#define eglQueryDeviceAttribEXT EGLEW_GET_FUN(__eglewQueryDeviceAttribEXT) +#define eglQueryDeviceStringEXT EGLEW_GET_FUN(__eglewQueryDeviceStringEXT) +#define eglQueryDisplayAttribEXT EGLEW_GET_FUN(__eglewQueryDisplayAttribEXT) + +#define EGLEW_EXT_device_query EGLEW_GET_VAR(__EGLEW_EXT_device_query) + +#endif /* EGL_EXT_device_query */ + +/* ------------------ EGL_EXT_gl_colorspace_bt2020_linear ------------------ */ + +#ifndef EGL_EXT_gl_colorspace_bt2020_linear +#define EGL_EXT_gl_colorspace_bt2020_linear 1 + +#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F + +#define EGLEW_EXT_gl_colorspace_bt2020_linear EGLEW_GET_VAR(__EGLEW_EXT_gl_colorspace_bt2020_linear) + +#endif /* EGL_EXT_gl_colorspace_bt2020_linear */ + +/* -------------------- EGL_EXT_gl_colorspace_bt2020_pq -------------------- */ + +#ifndef EGL_EXT_gl_colorspace_bt2020_pq +#define EGL_EXT_gl_colorspace_bt2020_pq 1 + +#define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340 + +#define EGLEW_EXT_gl_colorspace_bt2020_pq EGLEW_GET_VAR(__EGLEW_EXT_gl_colorspace_bt2020_pq) + +#endif /* EGL_EXT_gl_colorspace_bt2020_pq */ + +/* ------------------- EGL_EXT_gl_colorspace_scrgb_linear ------------------ */ + +#ifndef EGL_EXT_gl_colorspace_scrgb_linear +#define EGL_EXT_gl_colorspace_scrgb_linear 1 + +#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350 + +#define EGLEW_EXT_gl_colorspace_scrgb_linear EGLEW_GET_VAR(__EGLEW_EXT_gl_colorspace_scrgb_linear) + +#endif /* EGL_EXT_gl_colorspace_scrgb_linear */ + +/* ---------------------- EGL_EXT_image_dma_buf_import --------------------- */ + +#ifndef EGL_EXT_image_dma_buf_import +#define EGL_EXT_image_dma_buf_import 1 + +#define EGL_LINUX_DMA_BUF_EXT 0x3270 +#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 +#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 +#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 +#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 +#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 +#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 +#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 +#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 +#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 +#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A +#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B +#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C +#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D +#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E +#define EGL_ITU_REC601_EXT 0x327F +#define EGL_ITU_REC709_EXT 0x3280 +#define EGL_ITU_REC2020_EXT 0x3281 +#define EGL_YUV_FULL_RANGE_EXT 0x3282 +#define EGL_YUV_NARROW_RANGE_EXT 0x3283 +#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 +#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 + +#define EGLEW_EXT_image_dma_buf_import EGLEW_GET_VAR(__EGLEW_EXT_image_dma_buf_import) + +#endif /* EGL_EXT_image_dma_buf_import */ + +/* ----------------- EGL_EXT_image_dma_buf_import_modifiers ---------------- */ + +#ifndef EGL_EXT_image_dma_buf_import_modifiers +#define EGL_EXT_image_dma_buf_import_modifiers 1 + +#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 +#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 +#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 +#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 +#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 +#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 +#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 +#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 +#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 +#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 +#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A + +typedef EGLBoolean ( * PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats); +typedef EGLBoolean ( * PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers); + +#define eglQueryDmaBufFormatsEXT EGLEW_GET_FUN(__eglewQueryDmaBufFormatsEXT) +#define eglQueryDmaBufModifiersEXT EGLEW_GET_FUN(__eglewQueryDmaBufModifiersEXT) + +#define EGLEW_EXT_image_dma_buf_import_modifiers EGLEW_GET_VAR(__EGLEW_EXT_image_dma_buf_import_modifiers) + +#endif /* EGL_EXT_image_dma_buf_import_modifiers */ + +/* ------------------------ EGL_EXT_multiview_window ----------------------- */ + +#ifndef EGL_EXT_multiview_window +#define EGL_EXT_multiview_window 1 + +#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 + +#define EGLEW_EXT_multiview_window EGLEW_GET_VAR(__EGLEW_EXT_multiview_window) + +#endif /* EGL_EXT_multiview_window */ + +/* -------------------------- EGL_EXT_output_base -------------------------- */ + +#ifndef EGL_EXT_output_base +#define EGL_EXT_output_base 1 + +#define EGL_BAD_OUTPUT_LAYER_EXT 0x322D +#define EGL_BAD_OUTPUT_PORT_EXT 0x322E +#define EGL_SWAP_INTERVAL_EXT 0x322F + +typedef EGLBoolean ( * PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputLayerEXT * layers, EGLint max_layers, EGLint * num_layers); +typedef EGLBoolean ( * PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputPortEXT * ports, EGLint max_ports, EGLint * num_ports); +typedef EGLBoolean ( * PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value); +typedef EGLBoolean ( * PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value); +typedef EGLBoolean ( * PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib * value); +typedef const char * ( * PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name); +typedef EGLBoolean ( * PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value); +typedef const char * ( * PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name); + +#define eglGetOutputLayersEXT EGLEW_GET_FUN(__eglewGetOutputLayersEXT) +#define eglGetOutputPortsEXT EGLEW_GET_FUN(__eglewGetOutputPortsEXT) +#define eglOutputLayerAttribEXT EGLEW_GET_FUN(__eglewOutputLayerAttribEXT) +#define eglOutputPortAttribEXT EGLEW_GET_FUN(__eglewOutputPortAttribEXT) +#define eglQueryOutputLayerAttribEXT EGLEW_GET_FUN(__eglewQueryOutputLayerAttribEXT) +#define eglQueryOutputLayerStringEXT EGLEW_GET_FUN(__eglewQueryOutputLayerStringEXT) +#define eglQueryOutputPortAttribEXT EGLEW_GET_FUN(__eglewQueryOutputPortAttribEXT) +#define eglQueryOutputPortStringEXT EGLEW_GET_FUN(__eglewQueryOutputPortStringEXT) + +#define EGLEW_EXT_output_base EGLEW_GET_VAR(__EGLEW_EXT_output_base) + +#endif /* EGL_EXT_output_base */ + +/* --------------------------- EGL_EXT_output_drm -------------------------- */ + +#ifndef EGL_EXT_output_drm +#define EGL_EXT_output_drm 1 + +#define EGL_DRM_CRTC_EXT 0x3234 +#define EGL_DRM_PLANE_EXT 0x3235 +#define EGL_DRM_CONNECTOR_EXT 0x3236 + +#define EGLEW_EXT_output_drm EGLEW_GET_VAR(__EGLEW_EXT_output_drm) + +#endif /* EGL_EXT_output_drm */ + +/* ------------------------- EGL_EXT_output_openwf ------------------------- */ + +#ifndef EGL_EXT_output_openwf +#define EGL_EXT_output_openwf 1 + +#define EGL_OPENWF_PIPELINE_ID_EXT 0x3238 +#define EGL_OPENWF_PORT_ID_EXT 0x3239 + +#define EGLEW_EXT_output_openwf EGLEW_GET_VAR(__EGLEW_EXT_output_openwf) + +#endif /* EGL_EXT_output_openwf */ + +/* ----------------------- EGL_EXT_pixel_format_float ---------------------- */ + +#ifndef EGL_EXT_pixel_format_float +#define EGL_EXT_pixel_format_float 1 + +#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339 +#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A +#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B + +#define EGLEW_EXT_pixel_format_float EGLEW_GET_VAR(__EGLEW_EXT_pixel_format_float) + +#endif /* EGL_EXT_pixel_format_float */ + +/* ------------------------- EGL_EXT_platform_base ------------------------- */ + +#ifndef EGL_EXT_platform_base +#define EGL_EXT_platform_base 1 + +typedef EGLSurface ( * PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list); +typedef EGLSurface ( * PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list); +typedef EGLDisplay ( * PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void * native_display, const EGLint * attrib_list); + +#define eglCreatePlatformPixmapSurfaceEXT EGLEW_GET_FUN(__eglewCreatePlatformPixmapSurfaceEXT) +#define eglCreatePlatformWindowSurfaceEXT EGLEW_GET_FUN(__eglewCreatePlatformWindowSurfaceEXT) +#define eglGetPlatformDisplayEXT EGLEW_GET_FUN(__eglewGetPlatformDisplayEXT) + +#define EGLEW_EXT_platform_base EGLEW_GET_VAR(__EGLEW_EXT_platform_base) + +#endif /* EGL_EXT_platform_base */ + +/* ------------------------ EGL_EXT_platform_device ------------------------ */ + +#ifndef EGL_EXT_platform_device +#define EGL_EXT_platform_device 1 + +#define EGL_PLATFORM_DEVICE_EXT 0x313F + +#define EGLEW_EXT_platform_device EGLEW_GET_VAR(__EGLEW_EXT_platform_device) + +#endif /* EGL_EXT_platform_device */ + +/* ------------------------ EGL_EXT_platform_wayland ----------------------- */ + +#ifndef EGL_EXT_platform_wayland +#define EGL_EXT_platform_wayland 1 + +#define EGL_PLATFORM_WAYLAND_EXT 0x31D8 + +#define EGLEW_EXT_platform_wayland EGLEW_GET_VAR(__EGLEW_EXT_platform_wayland) + +#endif /* EGL_EXT_platform_wayland */ + +/* -------------------------- EGL_EXT_platform_x11 ------------------------- */ + +#ifndef EGL_EXT_platform_x11 +#define EGL_EXT_platform_x11 1 + +#define EGL_PLATFORM_X11_EXT 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 + +#define EGLEW_EXT_platform_x11 EGLEW_GET_VAR(__EGLEW_EXT_platform_x11) + +#endif /* EGL_EXT_platform_x11 */ + +/* ----------------------- EGL_EXT_protected_content ----------------------- */ + +#ifndef EGL_EXT_protected_content +#define EGL_EXT_protected_content 1 + +#define EGL_PROTECTED_CONTENT_EXT 0x32C0 + +#define EGLEW_EXT_protected_content EGLEW_GET_VAR(__EGLEW_EXT_protected_content) + +#endif /* EGL_EXT_protected_content */ + +/* ----------------------- EGL_EXT_protected_surface ----------------------- */ + +#ifndef EGL_EXT_protected_surface +#define EGL_EXT_protected_surface 1 + +#define EGL_PROTECTED_CONTENT_EXT 0x32C0 + +#define EGLEW_EXT_protected_surface EGLEW_GET_VAR(__EGLEW_EXT_protected_surface) + +#endif /* EGL_EXT_protected_surface */ + +/* ------------------- EGL_EXT_stream_consumer_egloutput ------------------- */ + +#ifndef EGL_EXT_stream_consumer_egloutput +#define EGL_EXT_stream_consumer_egloutput 1 + +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); + +#define eglStreamConsumerOutputEXT EGLEW_GET_FUN(__eglewStreamConsumerOutputEXT) + +#define EGLEW_EXT_stream_consumer_egloutput EGLEW_GET_VAR(__EGLEW_EXT_stream_consumer_egloutput) + +#endif /* EGL_EXT_stream_consumer_egloutput */ + +/* ------------------- EGL_EXT_surface_SMPTE2086_metadata ------------------ */ + +#ifndef EGL_EXT_surface_SMPTE2086_metadata +#define EGL_EXT_surface_SMPTE2086_metadata 1 + +#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346 +#define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347 +#define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348 +#define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349 +#define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A + +#define EGLEW_EXT_surface_SMPTE2086_metadata EGLEW_GET_VAR(__EGLEW_EXT_surface_SMPTE2086_metadata) + +#endif /* EGL_EXT_surface_SMPTE2086_metadata */ + +/* -------------------- EGL_EXT_swap_buffers_with_damage ------------------- */ + +#ifndef EGL_EXT_swap_buffers_with_damage +#define EGL_EXT_swap_buffers_with_damage 1 + +typedef EGLBoolean ( * PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects); + +#define eglSwapBuffersWithDamageEXT EGLEW_GET_FUN(__eglewSwapBuffersWithDamageEXT) + +#define EGLEW_EXT_swap_buffers_with_damage EGLEW_GET_VAR(__EGLEW_EXT_swap_buffers_with_damage) + +#endif /* EGL_EXT_swap_buffers_with_damage */ + +/* -------------------------- EGL_EXT_yuv_surface -------------------------- */ + +#ifndef EGL_EXT_yuv_surface +#define EGL_EXT_yuv_surface 1 + +#define EGL_YUV_BUFFER_EXT 0x3300 +#define EGL_YUV_ORDER_EXT 0x3301 +#define EGL_YUV_ORDER_YUV_EXT 0x3302 +#define EGL_YUV_ORDER_YVU_EXT 0x3303 +#define EGL_YUV_ORDER_YUYV_EXT 0x3304 +#define EGL_YUV_ORDER_UYVY_EXT 0x3305 +#define EGL_YUV_ORDER_YVYU_EXT 0x3306 +#define EGL_YUV_ORDER_VYUY_EXT 0x3307 +#define EGL_YUV_ORDER_AYUV_EXT 0x3308 +#define EGL_YUV_CSC_STANDARD_EXT 0x330A +#define EGL_YUV_CSC_STANDARD_601_EXT 0x330B +#define EGL_YUV_CSC_STANDARD_709_EXT 0x330C +#define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D +#define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311 +#define EGL_YUV_SUBSAMPLE_EXT 0x3312 +#define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313 +#define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314 +#define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315 +#define EGL_YUV_DEPTH_RANGE_EXT 0x3317 +#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318 +#define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319 +#define EGL_YUV_PLANE_BPP_EXT 0x331A +#define EGL_YUV_PLANE_BPP_0_EXT 0x331B +#define EGL_YUV_PLANE_BPP_8_EXT 0x331C +#define EGL_YUV_PLANE_BPP_10_EXT 0x331D + +#define EGLEW_EXT_yuv_surface EGLEW_GET_VAR(__EGLEW_EXT_yuv_surface) + +#endif /* EGL_EXT_yuv_surface */ + +/* -------------------------- EGL_HI_clientpixmap -------------------------- */ + +#ifndef EGL_HI_clientpixmap +#define EGL_HI_clientpixmap 1 + +#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 + +typedef EGLSurface ( * PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI * pixmap); + +#define eglCreatePixmapSurfaceHI EGLEW_GET_FUN(__eglewCreatePixmapSurfaceHI) + +#define EGLEW_HI_clientpixmap EGLEW_GET_VAR(__EGLEW_HI_clientpixmap) + +#endif /* EGL_HI_clientpixmap */ + +/* -------------------------- EGL_HI_colorformats -------------------------- */ + +#ifndef EGL_HI_colorformats +#define EGL_HI_colorformats 1 + +#define EGL_COLOR_FORMAT_HI 0x8F70 +#define EGL_COLOR_RGB_HI 0x8F71 +#define EGL_COLOR_RGBA_HI 0x8F72 +#define EGL_COLOR_ARGB_HI 0x8F73 + +#define EGLEW_HI_colorformats EGLEW_GET_VAR(__EGLEW_HI_colorformats) + +#endif /* EGL_HI_colorformats */ + +/* ------------------------ EGL_IMG_context_priority ----------------------- */ + +#ifndef EGL_IMG_context_priority +#define EGL_IMG_context_priority 1 + +#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 +#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 +#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 +#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 + +#define EGLEW_IMG_context_priority EGLEW_GET_VAR(__EGLEW_IMG_context_priority) + +#endif /* EGL_IMG_context_priority */ + +/* ---------------------- EGL_IMG_image_plane_attribs ---------------------- */ + +#ifndef EGL_IMG_image_plane_attribs +#define EGL_IMG_image_plane_attribs 1 + +#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105 +#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106 + +#define EGLEW_IMG_image_plane_attribs EGLEW_GET_VAR(__EGLEW_IMG_image_plane_attribs) + +#endif /* EGL_IMG_image_plane_attribs */ + +/* ---------------------------- EGL_KHR_cl_event --------------------------- */ + +#ifndef EGL_KHR_cl_event +#define EGL_KHR_cl_event 1 + +#define EGL_CL_EVENT_HANDLE_KHR 0x309C +#define EGL_SYNC_CL_EVENT_KHR 0x30FE +#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF + +#define EGLEW_KHR_cl_event EGLEW_GET_VAR(__EGLEW_KHR_cl_event) + +#endif /* EGL_KHR_cl_event */ + +/* --------------------------- EGL_KHR_cl_event2 --------------------------- */ + +#ifndef EGL_KHR_cl_event2 +#define EGL_KHR_cl_event2 1 + +#define EGL_CL_EVENT_HANDLE_KHR 0x309C +#define EGL_SYNC_CL_EVENT_KHR 0x30FE +#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF + +typedef EGLSyncKHR ( * PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list); + +#define eglCreateSync64KHR EGLEW_GET_FUN(__eglewCreateSync64KHR) + +#define EGLEW_KHR_cl_event2 EGLEW_GET_VAR(__EGLEW_KHR_cl_event2) + +#endif /* EGL_KHR_cl_event2 */ + +/* ----------------- EGL_KHR_client_get_all_proc_addresses ----------------- */ + +#ifndef EGL_KHR_client_get_all_proc_addresses +#define EGL_KHR_client_get_all_proc_addresses 1 + +#define EGLEW_KHR_client_get_all_proc_addresses EGLEW_GET_VAR(__EGLEW_KHR_client_get_all_proc_addresses) + +#endif /* EGL_KHR_client_get_all_proc_addresses */ + +/* ------------------------- EGL_KHR_config_attribs ------------------------ */ + +#ifndef EGL_KHR_config_attribs +#define EGL_KHR_config_attribs 1 + +#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 +#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 +#define EGL_CONFORMANT_KHR 0x3042 + +#define EGLEW_KHR_config_attribs EGLEW_GET_VAR(__EGLEW_KHR_config_attribs) + +#endif /* EGL_KHR_config_attribs */ + +/* --------------------- EGL_KHR_context_flush_control --------------------- */ + +#ifndef EGL_KHR_context_flush_control +#define EGL_KHR_context_flush_control 1 + +#define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0 +#define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097 +#define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098 + +#define EGLEW_KHR_context_flush_control EGLEW_GET_VAR(__EGLEW_KHR_context_flush_control) + +#endif /* EGL_KHR_context_flush_control */ + +/* ------------------------- EGL_KHR_create_context ------------------------ */ + +#ifndef EGL_KHR_create_context +#define EGL_KHR_create_context 1 + +#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 +#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 +#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 +#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 +#define EGL_OPENGL_ES3_BIT 0x00000040 +#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 +#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 +#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB +#define EGL_CONTEXT_FLAGS_KHR 0x30FC +#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD +#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF + +#define EGLEW_KHR_create_context EGLEW_GET_VAR(__EGLEW_KHR_create_context) + +#endif /* EGL_KHR_create_context */ + +/* -------------------- EGL_KHR_create_context_no_error -------------------- */ + +#ifndef EGL_KHR_create_context_no_error +#define EGL_KHR_create_context_no_error 1 + +#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3 + +#define EGLEW_KHR_create_context_no_error EGLEW_GET_VAR(__EGLEW_KHR_create_context_no_error) + +#endif /* EGL_KHR_create_context_no_error */ + +/* ----------------------------- EGL_KHR_debug ----------------------------- */ + +#ifndef EGL_KHR_debug +#define EGL_KHR_debug 1 + +#define EGL_OBJECT_THREAD_KHR 0x33B0 +#define EGL_OBJECT_DISPLAY_KHR 0x33B1 +#define EGL_OBJECT_CONTEXT_KHR 0x33B2 +#define EGL_OBJECT_SURFACE_KHR 0x33B3 +#define EGL_OBJECT_IMAGE_KHR 0x33B4 +#define EGL_OBJECT_SYNC_KHR 0x33B5 +#define EGL_OBJECT_STREAM_KHR 0x33B6 +#define EGL_DEBUG_CALLBACK_KHR 0x33B8 +#define EGL_DEBUG_MSG_CRITICAL_KHR 0x33B9 +#define EGL_DEBUG_MSG_ERROR_KHR 0x33BA +#define EGL_DEBUG_MSG_WARN_KHR 0x33BB +#define EGL_DEBUG_MSG_INFO_KHR 0x33BC + +typedef EGLint ( * PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib * attrib_list); +typedef EGLint ( * PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label); +typedef EGLBoolean ( * PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib * value); + +#define eglDebugMessageControlKHR EGLEW_GET_FUN(__eglewDebugMessageControlKHR) +#define eglLabelObjectKHR EGLEW_GET_FUN(__eglewLabelObjectKHR) +#define eglQueryDebugKHR EGLEW_GET_FUN(__eglewQueryDebugKHR) + +#define EGLEW_KHR_debug EGLEW_GET_VAR(__EGLEW_KHR_debug) + +#endif /* EGL_KHR_debug */ + +/* --------------------------- EGL_KHR_fence_sync -------------------------- */ + +#ifndef EGL_KHR_fence_sync +#define EGL_KHR_fence_sync 1 + +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 +#define EGL_SYNC_CONDITION_KHR 0x30F8 +#define EGL_SYNC_FENCE_KHR 0x30F9 + +#define EGLEW_KHR_fence_sync EGLEW_GET_VAR(__EGLEW_KHR_fence_sync) + +#endif /* EGL_KHR_fence_sync */ + +/* --------------------- EGL_KHR_get_all_proc_addresses -------------------- */ + +#ifndef EGL_KHR_get_all_proc_addresses +#define EGL_KHR_get_all_proc_addresses 1 + +#define EGLEW_KHR_get_all_proc_addresses EGLEW_GET_VAR(__EGLEW_KHR_get_all_proc_addresses) + +#endif /* EGL_KHR_get_all_proc_addresses */ + +/* ------------------------- EGL_KHR_gl_colorspace ------------------------- */ + +#ifndef EGL_KHR_gl_colorspace +#define EGL_KHR_gl_colorspace 1 + +#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089 +#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A +#define EGL_GL_COLORSPACE_KHR 0x309D + +#define EGLEW_KHR_gl_colorspace EGLEW_GET_VAR(__EGLEW_KHR_gl_colorspace) + +#endif /* EGL_KHR_gl_colorspace */ + +/* --------------------- EGL_KHR_gl_renderbuffer_image --------------------- */ + +#ifndef EGL_KHR_gl_renderbuffer_image +#define EGL_KHR_gl_renderbuffer_image 1 + +#define EGL_GL_RENDERBUFFER_KHR 0x30B9 + +#define EGLEW_KHR_gl_renderbuffer_image EGLEW_GET_VAR(__EGLEW_KHR_gl_renderbuffer_image) + +#endif /* EGL_KHR_gl_renderbuffer_image */ + +/* ---------------------- EGL_KHR_gl_texture_2D_image ---------------------- */ + +#ifndef EGL_KHR_gl_texture_2D_image +#define EGL_KHR_gl_texture_2D_image 1 + +#define EGL_GL_TEXTURE_2D_KHR 0x30B1 +#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC + +#define EGLEW_KHR_gl_texture_2D_image EGLEW_GET_VAR(__EGLEW_KHR_gl_texture_2D_image) + +#endif /* EGL_KHR_gl_texture_2D_image */ + +/* ---------------------- EGL_KHR_gl_texture_3D_image ---------------------- */ + +#ifndef EGL_KHR_gl_texture_3D_image +#define EGL_KHR_gl_texture_3D_image 1 + +#define EGL_GL_TEXTURE_3D_KHR 0x30B2 +#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD + +#define EGLEW_KHR_gl_texture_3D_image EGLEW_GET_VAR(__EGLEW_KHR_gl_texture_3D_image) + +#endif /* EGL_KHR_gl_texture_3D_image */ + +/* -------------------- EGL_KHR_gl_texture_cubemap_image ------------------- */ + +#ifndef EGL_KHR_gl_texture_cubemap_image +#define EGL_KHR_gl_texture_cubemap_image 1 + +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 + +#define EGLEW_KHR_gl_texture_cubemap_image EGLEW_GET_VAR(__EGLEW_KHR_gl_texture_cubemap_image) + +#endif /* EGL_KHR_gl_texture_cubemap_image */ + +/* ----------------------------- EGL_KHR_image ----------------------------- */ + +#ifndef EGL_KHR_image +#define EGL_KHR_image 1 + +#define EGL_NATIVE_PIXMAP_KHR 0x30B0 + +typedef EGLImageKHR ( * PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); + +#define eglCreateImageKHR EGLEW_GET_FUN(__eglewCreateImageKHR) +#define eglDestroyImageKHR EGLEW_GET_FUN(__eglewDestroyImageKHR) + +#define EGLEW_KHR_image EGLEW_GET_VAR(__EGLEW_KHR_image) + +#endif /* EGL_KHR_image */ + +/* --------------------------- EGL_KHR_image_base -------------------------- */ + +#ifndef EGL_KHR_image_base +#define EGL_KHR_image_base 1 + +#define EGL_IMAGE_PRESERVED_KHR 0x30D2 + +#define EGLEW_KHR_image_base EGLEW_GET_VAR(__EGLEW_KHR_image_base) + +#endif /* EGL_KHR_image_base */ + +/* -------------------------- EGL_KHR_image_pixmap ------------------------- */ + +#ifndef EGL_KHR_image_pixmap +#define EGL_KHR_image_pixmap 1 + +#define EGL_NATIVE_PIXMAP_KHR 0x30B0 + +#define EGLEW_KHR_image_pixmap EGLEW_GET_VAR(__EGLEW_KHR_image_pixmap) + +#endif /* EGL_KHR_image_pixmap */ + +/* -------------------------- EGL_KHR_lock_surface ------------------------- */ + +#ifndef EGL_KHR_lock_surface +#define EGL_KHR_lock_surface 1 + +#define EGL_READ_SURFACE_BIT_KHR 0x0001 +#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 +#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 +#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 +#define EGL_MATCH_FORMAT_KHR 0x3043 +#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 +#define EGL_FORMAT_RGB_565_KHR 0x30C1 +#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 +#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 +#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 +#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 +#define EGL_BITMAP_POINTER_KHR 0x30C6 +#define EGL_BITMAP_PITCH_KHR 0x30C7 +#define EGL_BITMAP_ORIGIN_KHR 0x30C8 +#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 +#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA +#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB +#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC +#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD +#define EGL_LOWER_LEFT_KHR 0x30CE +#define EGL_UPPER_LEFT_KHR 0x30CF + +typedef EGLBoolean ( * PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface); + +#define eglLockSurfaceKHR EGLEW_GET_FUN(__eglewLockSurfaceKHR) +#define eglUnlockSurfaceKHR EGLEW_GET_FUN(__eglewUnlockSurfaceKHR) + +#define EGLEW_KHR_lock_surface EGLEW_GET_VAR(__EGLEW_KHR_lock_surface) + +#endif /* EGL_KHR_lock_surface */ + +/* ------------------------- EGL_KHR_lock_surface2 ------------------------- */ + +#ifndef EGL_KHR_lock_surface2 +#define EGL_KHR_lock_surface2 1 + +#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 + +#define EGLEW_KHR_lock_surface2 EGLEW_GET_VAR(__EGLEW_KHR_lock_surface2) + +#endif /* EGL_KHR_lock_surface2 */ + +/* ------------------------- EGL_KHR_lock_surface3 ------------------------- */ + +#ifndef EGL_KHR_lock_surface3 +#define EGL_KHR_lock_surface3 1 + +#define EGL_READ_SURFACE_BIT_KHR 0x0001 +#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 +#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 +#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 +#define EGL_MATCH_FORMAT_KHR 0x3043 +#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 +#define EGL_FORMAT_RGB_565_KHR 0x30C1 +#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 +#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 +#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 +#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 +#define EGL_BITMAP_POINTER_KHR 0x30C6 +#define EGL_BITMAP_PITCH_KHR 0x30C7 +#define EGL_BITMAP_ORIGIN_KHR 0x30C8 +#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 +#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA +#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB +#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC +#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD +#define EGL_LOWER_LEFT_KHR 0x30CE +#define EGL_UPPER_LEFT_KHR 0x30CF +#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 + +typedef EGLBoolean ( * PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value); + +#define eglQuerySurface64KHR EGLEW_GET_FUN(__eglewQuerySurface64KHR) + +#define EGLEW_KHR_lock_surface3 EGLEW_GET_VAR(__EGLEW_KHR_lock_surface3) + +#endif /* EGL_KHR_lock_surface3 */ + +/* --------------------- EGL_KHR_mutable_render_buffer --------------------- */ + +#ifndef EGL_KHR_mutable_render_buffer +#define EGL_KHR_mutable_render_buffer 1 + +#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000 + +#define EGLEW_KHR_mutable_render_buffer EGLEW_GET_VAR(__EGLEW_KHR_mutable_render_buffer) + +#endif /* EGL_KHR_mutable_render_buffer */ + +/* ----------------------- EGL_KHR_no_config_context ----------------------- */ + +#ifndef EGL_KHR_no_config_context +#define EGL_KHR_no_config_context 1 + +#define EGLEW_KHR_no_config_context EGLEW_GET_VAR(__EGLEW_KHR_no_config_context) + +#endif /* EGL_KHR_no_config_context */ + +/* ------------------------- EGL_KHR_partial_update ------------------------ */ + +#ifndef EGL_KHR_partial_update +#define EGL_KHR_partial_update 1 + +#define EGL_BUFFER_AGE_KHR 0x313D + +typedef EGLBoolean ( * PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects); + +#define eglSetDamageRegionKHR EGLEW_GET_FUN(__eglewSetDamageRegionKHR) + +#define EGLEW_KHR_partial_update EGLEW_GET_VAR(__EGLEW_KHR_partial_update) + +#endif /* EGL_KHR_partial_update */ + +/* ------------------------ EGL_KHR_platform_android ----------------------- */ + +#ifndef EGL_KHR_platform_android +#define EGL_KHR_platform_android 1 + +#define EGL_PLATFORM_ANDROID_KHR 0x3141 + +#define EGLEW_KHR_platform_android EGLEW_GET_VAR(__EGLEW_KHR_platform_android) + +#endif /* EGL_KHR_platform_android */ + +/* -------------------------- EGL_KHR_platform_gbm ------------------------- */ + +#ifndef EGL_KHR_platform_gbm +#define EGL_KHR_platform_gbm 1 + +#define EGL_PLATFORM_GBM_KHR 0x31D7 + +#define EGLEW_KHR_platform_gbm EGLEW_GET_VAR(__EGLEW_KHR_platform_gbm) + +#endif /* EGL_KHR_platform_gbm */ + +/* ------------------------ EGL_KHR_platform_wayland ----------------------- */ + +#ifndef EGL_KHR_platform_wayland +#define EGL_KHR_platform_wayland 1 + +#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 + +#define EGLEW_KHR_platform_wayland EGLEW_GET_VAR(__EGLEW_KHR_platform_wayland) + +#endif /* EGL_KHR_platform_wayland */ + +/* -------------------------- EGL_KHR_platform_x11 ------------------------- */ + +#ifndef EGL_KHR_platform_x11 +#define EGL_KHR_platform_x11 1 + +#define EGL_PLATFORM_X11_KHR 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 + +#define EGLEW_KHR_platform_x11 EGLEW_GET_VAR(__EGLEW_KHR_platform_x11) + +#endif /* EGL_KHR_platform_x11 */ + +/* ------------------------- EGL_KHR_reusable_sync ------------------------- */ + +#ifndef EGL_KHR_reusable_sync +#define EGL_KHR_reusable_sync 1 + +#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 +#define EGL_SYNC_STATUS_KHR 0x30F1 +#define EGL_SIGNALED_KHR 0x30F2 +#define EGL_UNSIGNALED_KHR 0x30F3 +#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 +#define EGL_CONDITION_SATISFIED_KHR 0x30F6 +#define EGL_SYNC_TYPE_KHR 0x30F7 +#define EGL_SYNC_REUSABLE_KHR 0x30FA +#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFF + +typedef EGLint ( * PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); +typedef EGLSyncKHR ( * PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); +typedef EGLBoolean ( * PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value); +typedef EGLBoolean ( * PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); + +#define eglClientWaitSyncKHR EGLEW_GET_FUN(__eglewClientWaitSyncKHR) +#define eglCreateSyncKHR EGLEW_GET_FUN(__eglewCreateSyncKHR) +#define eglDestroySyncKHR EGLEW_GET_FUN(__eglewDestroySyncKHR) +#define eglGetSyncAttribKHR EGLEW_GET_FUN(__eglewGetSyncAttribKHR) +#define eglSignalSyncKHR EGLEW_GET_FUN(__eglewSignalSyncKHR) + +#define EGLEW_KHR_reusable_sync EGLEW_GET_VAR(__EGLEW_KHR_reusable_sync) + +#endif /* EGL_KHR_reusable_sync */ + +/* ----------------------------- EGL_KHR_stream ---------------------------- */ + +#ifndef EGL_KHR_stream +#define EGL_KHR_stream 1 + +#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 +#define EGL_PRODUCER_FRAME_KHR 0x3212 +#define EGL_CONSUMER_FRAME_KHR 0x3213 +#define EGL_STREAM_STATE_KHR 0x3214 +#define EGL_STREAM_STATE_CREATED_KHR 0x3215 +#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 +#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 +#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 +#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 +#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A +#define EGL_BAD_STREAM_KHR 0x321B +#define EGL_BAD_STATE_KHR 0x321C + +typedef EGLStreamKHR ( * PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean ( * PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value); +typedef EGLBoolean ( * PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value); +typedef EGLBoolean ( * PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); + +#define eglCreateStreamKHR EGLEW_GET_FUN(__eglewCreateStreamKHR) +#define eglDestroyStreamKHR EGLEW_GET_FUN(__eglewDestroyStreamKHR) +#define eglQueryStreamKHR EGLEW_GET_FUN(__eglewQueryStreamKHR) +#define eglQueryStreamu64KHR EGLEW_GET_FUN(__eglewQueryStreamu64KHR) +#define eglStreamAttribKHR EGLEW_GET_FUN(__eglewStreamAttribKHR) + +#define EGLEW_KHR_stream EGLEW_GET_VAR(__EGLEW_KHR_stream) + +#endif /* EGL_KHR_stream */ + +/* ------------------------- EGL_KHR_stream_attrib ------------------------- */ + +#ifndef EGL_KHR_stream_attrib +#define EGL_KHR_stream_attrib 1 + +#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 +#define EGL_STREAM_STATE_KHR 0x3214 +#define EGL_STREAM_STATE_CREATED_KHR 0x3215 +#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 + +typedef EGLStreamKHR ( * PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib * attrib_list); +typedef EGLBoolean ( * PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib * value); +typedef EGLBoolean ( * PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value); +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list); +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list); + +#define eglCreateStreamAttribKHR EGLEW_GET_FUN(__eglewCreateStreamAttribKHR) +#define eglQueryStreamAttribKHR EGLEW_GET_FUN(__eglewQueryStreamAttribKHR) +#define eglSetStreamAttribKHR EGLEW_GET_FUN(__eglewSetStreamAttribKHR) +#define eglStreamConsumerAcquireAttribKHR EGLEW_GET_FUN(__eglewStreamConsumerAcquireAttribKHR) +#define eglStreamConsumerReleaseAttribKHR EGLEW_GET_FUN(__eglewStreamConsumerReleaseAttribKHR) + +#define EGLEW_KHR_stream_attrib EGLEW_GET_VAR(__EGLEW_KHR_stream_attrib) + +#endif /* EGL_KHR_stream_attrib */ + +/* ------------------- EGL_KHR_stream_consumer_gltexture ------------------- */ + +#ifndef EGL_KHR_stream_consumer_gltexture +#define EGL_KHR_stream_consumer_gltexture 1 + +#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E + +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); + +#define eglStreamConsumerAcquireKHR EGLEW_GET_FUN(__eglewStreamConsumerAcquireKHR) +#define eglStreamConsumerGLTextureExternalKHR EGLEW_GET_FUN(__eglewStreamConsumerGLTextureExternalKHR) +#define eglStreamConsumerReleaseKHR EGLEW_GET_FUN(__eglewStreamConsumerReleaseKHR) + +#define EGLEW_KHR_stream_consumer_gltexture EGLEW_GET_VAR(__EGLEW_KHR_stream_consumer_gltexture) + +#endif /* EGL_KHR_stream_consumer_gltexture */ + +/* -------------------- EGL_KHR_stream_cross_process_fd -------------------- */ + +#ifndef EGL_KHR_stream_cross_process_fd +#define EGL_KHR_stream_cross_process_fd 1 + +typedef EGLStreamKHR ( * PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); +typedef EGLNativeFileDescriptorKHR ( * PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); + +#define eglCreateStreamFromFileDescriptorKHR EGLEW_GET_FUN(__eglewCreateStreamFromFileDescriptorKHR) +#define eglGetStreamFileDescriptorKHR EGLEW_GET_FUN(__eglewGetStreamFileDescriptorKHR) + +#define EGLEW_KHR_stream_cross_process_fd EGLEW_GET_VAR(__EGLEW_KHR_stream_cross_process_fd) + +#endif /* EGL_KHR_stream_cross_process_fd */ + +/* -------------------------- EGL_KHR_stream_fifo -------------------------- */ + +#ifndef EGL_KHR_stream_fifo +#define EGL_KHR_stream_fifo 1 + +#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC +#define EGL_STREAM_TIME_NOW_KHR 0x31FD +#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE +#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF + +typedef EGLBoolean ( * PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value); + +#define eglQueryStreamTimeKHR EGLEW_GET_FUN(__eglewQueryStreamTimeKHR) + +#define EGLEW_KHR_stream_fifo EGLEW_GET_VAR(__EGLEW_KHR_stream_fifo) + +#endif /* EGL_KHR_stream_fifo */ + +/* ----------------- EGL_KHR_stream_producer_aldatalocator ----------------- */ + +#ifndef EGL_KHR_stream_producer_aldatalocator +#define EGL_KHR_stream_producer_aldatalocator 1 + +#define EGLEW_KHR_stream_producer_aldatalocator EGLEW_GET_VAR(__EGLEW_KHR_stream_producer_aldatalocator) + +#endif /* EGL_KHR_stream_producer_aldatalocator */ + +/* ------------------- EGL_KHR_stream_producer_eglsurface ------------------ */ + +#ifndef EGL_KHR_stream_producer_eglsurface +#define EGL_KHR_stream_producer_eglsurface 1 + +#define EGL_STREAM_BIT_KHR 0x0800 + +typedef EGLSurface ( * PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list); + +#define eglCreateStreamProducerSurfaceKHR EGLEW_GET_FUN(__eglewCreateStreamProducerSurfaceKHR) + +#define EGLEW_KHR_stream_producer_eglsurface EGLEW_GET_VAR(__EGLEW_KHR_stream_producer_eglsurface) + +#endif /* EGL_KHR_stream_producer_eglsurface */ + +/* ---------------------- EGL_KHR_surfaceless_context ---------------------- */ + +#ifndef EGL_KHR_surfaceless_context +#define EGL_KHR_surfaceless_context 1 + +#define EGLEW_KHR_surfaceless_context EGLEW_GET_VAR(__EGLEW_KHR_surfaceless_context) + +#endif /* EGL_KHR_surfaceless_context */ + +/* -------------------- EGL_KHR_swap_buffers_with_damage ------------------- */ + +#ifndef EGL_KHR_swap_buffers_with_damage +#define EGL_KHR_swap_buffers_with_damage 1 + +typedef EGLBoolean ( * PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects); + +#define eglSwapBuffersWithDamageKHR EGLEW_GET_FUN(__eglewSwapBuffersWithDamageKHR) + +#define EGLEW_KHR_swap_buffers_with_damage EGLEW_GET_VAR(__EGLEW_KHR_swap_buffers_with_damage) + +#endif /* EGL_KHR_swap_buffers_with_damage */ + +/* ------------------------ EGL_KHR_vg_parent_image ------------------------ */ + +#ifndef EGL_KHR_vg_parent_image +#define EGL_KHR_vg_parent_image 1 + +#define EGL_VG_PARENT_IMAGE_KHR 0x30BA + +#define EGLEW_KHR_vg_parent_image EGLEW_GET_VAR(__EGLEW_KHR_vg_parent_image) + +#endif /* EGL_KHR_vg_parent_image */ + +/* --------------------------- EGL_KHR_wait_sync --------------------------- */ + +#ifndef EGL_KHR_wait_sync +#define EGL_KHR_wait_sync 1 + +typedef EGLint ( * PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); + +#define eglWaitSyncKHR EGLEW_GET_FUN(__eglewWaitSyncKHR) + +#define EGLEW_KHR_wait_sync EGLEW_GET_VAR(__EGLEW_KHR_wait_sync) + +#endif /* EGL_KHR_wait_sync */ + +/* --------------------------- EGL_MESA_drm_image -------------------------- */ + +#ifndef EGL_MESA_drm_image +#define EGL_MESA_drm_image 1 + +#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 +#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 +#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 +#define EGL_DRM_BUFFER_USE_MESA 0x31D1 +#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 +#define EGL_DRM_BUFFER_MESA 0x31D3 +#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 + +typedef EGLImageKHR ( * PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint * name, EGLint * handle, EGLint * stride); + +#define eglCreateDRMImageMESA EGLEW_GET_FUN(__eglewCreateDRMImageMESA) +#define eglExportDRMImageMESA EGLEW_GET_FUN(__eglewExportDRMImageMESA) + +#define EGLEW_MESA_drm_image EGLEW_GET_VAR(__EGLEW_MESA_drm_image) + +#endif /* EGL_MESA_drm_image */ + +/* --------------------- EGL_MESA_image_dma_buf_export --------------------- */ + +#ifndef EGL_MESA_image_dma_buf_export +#define EGL_MESA_image_dma_buf_export 1 + +typedef EGLBoolean ( * PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int * fds, EGLint * strides, EGLint * offsets); +typedef EGLBoolean ( * PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int * fourcc, int * num_planes, EGLuint64KHR * modifiers); + +#define eglExportDMABUFImageMESA EGLEW_GET_FUN(__eglewExportDMABUFImageMESA) +#define eglExportDMABUFImageQueryMESA EGLEW_GET_FUN(__eglewExportDMABUFImageQueryMESA) + +#define EGLEW_MESA_image_dma_buf_export EGLEW_GET_VAR(__EGLEW_MESA_image_dma_buf_export) + +#endif /* EGL_MESA_image_dma_buf_export */ + +/* ------------------------- EGL_MESA_platform_gbm ------------------------- */ + +#ifndef EGL_MESA_platform_gbm +#define EGL_MESA_platform_gbm 1 + +#define EGL_PLATFORM_GBM_MESA 0x31D7 + +#define EGLEW_MESA_platform_gbm EGLEW_GET_VAR(__EGLEW_MESA_platform_gbm) + +#endif /* EGL_MESA_platform_gbm */ + +/* --------------------- EGL_MESA_platform_surfaceless --------------------- */ + +#ifndef EGL_MESA_platform_surfaceless +#define EGL_MESA_platform_surfaceless 1 + +#define EGL_PLATFORM_SURFACELESS_MESA 0x31DD + +#define EGLEW_MESA_platform_surfaceless EGLEW_GET_VAR(__EGLEW_MESA_platform_surfaceless) + +#endif /* EGL_MESA_platform_surfaceless */ + +/* -------------------------- EGL_NOK_swap_region -------------------------- */ + +#ifndef EGL_NOK_swap_region +#define EGL_NOK_swap_region 1 + +typedef EGLBoolean ( * PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects); + +#define eglSwapBuffersRegionNOK EGLEW_GET_FUN(__eglewSwapBuffersRegionNOK) + +#define EGLEW_NOK_swap_region EGLEW_GET_VAR(__EGLEW_NOK_swap_region) + +#endif /* EGL_NOK_swap_region */ + +/* -------------------------- EGL_NOK_swap_region2 ------------------------- */ + +#ifndef EGL_NOK_swap_region2 +#define EGL_NOK_swap_region2 1 + +typedef EGLBoolean ( * PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects); + +#define eglSwapBuffersRegion2NOK EGLEW_GET_FUN(__eglewSwapBuffersRegion2NOK) + +#define EGLEW_NOK_swap_region2 EGLEW_GET_VAR(__EGLEW_NOK_swap_region2) + +#endif /* EGL_NOK_swap_region2 */ + +/* ---------------------- EGL_NOK_texture_from_pixmap ---------------------- */ + +#ifndef EGL_NOK_texture_from_pixmap +#define EGL_NOK_texture_from_pixmap 1 + +#define EGL_Y_INVERTED_NOK 0x307F + +#define EGLEW_NOK_texture_from_pixmap EGLEW_GET_VAR(__EGLEW_NOK_texture_from_pixmap) + +#endif /* EGL_NOK_texture_from_pixmap */ + +/* ------------------------ EGL_NV_3dvision_surface ------------------------ */ + +#ifndef EGL_NV_3dvision_surface +#define EGL_NV_3dvision_surface 1 + +#define EGL_AUTO_STEREO_NV 0x3136 + +#define EGLEW_NV_3dvision_surface EGLEW_GET_VAR(__EGLEW_NV_3dvision_surface) + +#endif /* EGL_NV_3dvision_surface */ + +/* ------------------------- EGL_NV_coverage_sample ------------------------ */ + +#ifndef EGL_NV_coverage_sample +#define EGL_NV_coverage_sample 1 + +#define EGL_COVERAGE_BUFFERS_NV 0x30E0 +#define EGL_COVERAGE_SAMPLES_NV 0x30E1 + +#define EGLEW_NV_coverage_sample EGLEW_GET_VAR(__EGLEW_NV_coverage_sample) + +#endif /* EGL_NV_coverage_sample */ + +/* --------------------- EGL_NV_coverage_sample_resolve -------------------- */ + +#ifndef EGL_NV_coverage_sample_resolve +#define EGL_NV_coverage_sample_resolve 1 + +#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 +#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 +#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 + +#define EGLEW_NV_coverage_sample_resolve EGLEW_GET_VAR(__EGLEW_NV_coverage_sample_resolve) + +#endif /* EGL_NV_coverage_sample_resolve */ + +/* --------------------------- EGL_NV_cuda_event --------------------------- */ + +#ifndef EGL_NV_cuda_event +#define EGL_NV_cuda_event 1 + +#define EGL_CUDA_EVENT_HANDLE_NV 0x323B +#define EGL_SYNC_CUDA_EVENT_NV 0x323C +#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D + +#define EGLEW_NV_cuda_event EGLEW_GET_VAR(__EGLEW_NV_cuda_event) + +#endif /* EGL_NV_cuda_event */ + +/* ------------------------- EGL_NV_depth_nonlinear ------------------------ */ + +#ifndef EGL_NV_depth_nonlinear +#define EGL_NV_depth_nonlinear 1 + +#define EGL_DEPTH_ENCODING_NONE_NV 0 +#define EGL_DEPTH_ENCODING_NV 0x30E2 +#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 + +#define EGLEW_NV_depth_nonlinear EGLEW_GET_VAR(__EGLEW_NV_depth_nonlinear) + +#endif /* EGL_NV_depth_nonlinear */ + +/* --------------------------- EGL_NV_device_cuda -------------------------- */ + +#ifndef EGL_NV_device_cuda +#define EGL_NV_device_cuda 1 + +#define EGL_CUDA_DEVICE_NV 0x323A + +#define EGLEW_NV_device_cuda EGLEW_GET_VAR(__EGLEW_NV_device_cuda) + +#endif /* EGL_NV_device_cuda */ + +/* -------------------------- EGL_NV_native_query -------------------------- */ + +#ifndef EGL_NV_native_query +#define EGL_NV_native_query 1 + +typedef EGLBoolean ( * PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType * display_id); +typedef EGLBoolean ( * PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap); +typedef EGLBoolean ( * PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window); + +#define eglQueryNativeDisplayNV EGLEW_GET_FUN(__eglewQueryNativeDisplayNV) +#define eglQueryNativePixmapNV EGLEW_GET_FUN(__eglewQueryNativePixmapNV) +#define eglQueryNativeWindowNV EGLEW_GET_FUN(__eglewQueryNativeWindowNV) + +#define EGLEW_NV_native_query EGLEW_GET_VAR(__EGLEW_NV_native_query) + +#endif /* EGL_NV_native_query */ + +/* ---------------------- EGL_NV_post_convert_rounding --------------------- */ + +#ifndef EGL_NV_post_convert_rounding +#define EGL_NV_post_convert_rounding 1 + +#define EGLEW_NV_post_convert_rounding EGLEW_GET_VAR(__EGLEW_NV_post_convert_rounding) + +#endif /* EGL_NV_post_convert_rounding */ + +/* ------------------------- EGL_NV_post_sub_buffer ------------------------ */ + +#ifndef EGL_NV_post_sub_buffer +#define EGL_NV_post_sub_buffer 1 + +#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE + +typedef EGLBoolean ( * PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); + +#define eglPostSubBufferNV EGLEW_GET_FUN(__eglewPostSubBufferNV) + +#define EGLEW_NV_post_sub_buffer EGLEW_GET_VAR(__EGLEW_NV_post_sub_buffer) + +#endif /* EGL_NV_post_sub_buffer */ + +/* ------------------ EGL_NV_robustness_video_memory_purge ----------------- */ + +#ifndef EGL_NV_robustness_video_memory_purge +#define EGL_NV_robustness_video_memory_purge 1 + +#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C + +#define EGLEW_NV_robustness_video_memory_purge EGLEW_GET_VAR(__EGLEW_NV_robustness_video_memory_purge) + +#endif /* EGL_NV_robustness_video_memory_purge */ + +/* ------------------ EGL_NV_stream_consumer_gltexture_yuv ----------------- */ + +#ifndef EGL_NV_stream_consumer_gltexture_yuv +#define EGL_NV_stream_consumer_gltexture_yuv 1 + +#define EGL_YUV_BUFFER_EXT 0x3300 +#define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311 +#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C +#define EGL_YUV_PLANE1_TEXTURE_UNIT_NV 0x332D +#define EGL_YUV_PLANE2_TEXTURE_UNIT_NV 0x332E + +typedef EGLBoolean ( * PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib *attrib_list); + +#define eglStreamConsumerGLTextureExternalAttribsNV EGLEW_GET_FUN(__eglewStreamConsumerGLTextureExternalAttribsNV) + +#define EGLEW_NV_stream_consumer_gltexture_yuv EGLEW_GET_VAR(__EGLEW_NV_stream_consumer_gltexture_yuv) + +#endif /* EGL_NV_stream_consumer_gltexture_yuv */ + +/* ---------------------- EGL_NV_stream_cross_display ---------------------- */ + +#ifndef EGL_NV_stream_cross_display +#define EGL_NV_stream_cross_display 1 + +#define EGL_STREAM_CROSS_DISPLAY_NV 0x334E + +#define EGLEW_NV_stream_cross_display EGLEW_GET_VAR(__EGLEW_NV_stream_cross_display) + +#endif /* EGL_NV_stream_cross_display */ + +/* ----------------------- EGL_NV_stream_cross_object ---------------------- */ + +#ifndef EGL_NV_stream_cross_object +#define EGL_NV_stream_cross_object 1 + +#define EGL_STREAM_CROSS_OBJECT_NV 0x334D + +#define EGLEW_NV_stream_cross_object EGLEW_GET_VAR(__EGLEW_NV_stream_cross_object) + +#endif /* EGL_NV_stream_cross_object */ + +/* --------------------- EGL_NV_stream_cross_partition --------------------- */ + +#ifndef EGL_NV_stream_cross_partition +#define EGL_NV_stream_cross_partition 1 + +#define EGL_STREAM_CROSS_PARTITION_NV 0x323F + +#define EGLEW_NV_stream_cross_partition EGLEW_GET_VAR(__EGLEW_NV_stream_cross_partition) + +#endif /* EGL_NV_stream_cross_partition */ + +/* ---------------------- EGL_NV_stream_cross_process ---------------------- */ + +#ifndef EGL_NV_stream_cross_process +#define EGL_NV_stream_cross_process 1 + +#define EGL_STREAM_CROSS_PROCESS_NV 0x3245 + +#define EGLEW_NV_stream_cross_process EGLEW_GET_VAR(__EGLEW_NV_stream_cross_process) + +#endif /* EGL_NV_stream_cross_process */ + +/* ----------------------- EGL_NV_stream_cross_system ---------------------- */ + +#ifndef EGL_NV_stream_cross_system +#define EGL_NV_stream_cross_system 1 + +#define EGL_STREAM_CROSS_SYSTEM_NV 0x334F + +#define EGLEW_NV_stream_cross_system EGLEW_GET_VAR(__EGLEW_NV_stream_cross_system) + +#endif /* EGL_NV_stream_cross_system */ + +/* ------------------------ EGL_NV_stream_fifo_next ------------------------ */ + +#ifndef EGL_NV_stream_fifo_next +#define EGL_NV_stream_fifo_next 1 + +#define EGL_PENDING_FRAME_NV 0x3329 +#define EGL_STREAM_TIME_PENDING_NV 0x332A + +#define EGLEW_NV_stream_fifo_next EGLEW_GET_VAR(__EGLEW_NV_stream_fifo_next) + +#endif /* EGL_NV_stream_fifo_next */ + +/* --------------------- EGL_NV_stream_fifo_synchronous -------------------- */ + +#ifndef EGL_NV_stream_fifo_synchronous +#define EGL_NV_stream_fifo_synchronous 1 + +#define EGL_STREAM_FIFO_SYNCHRONOUS_NV 0x3336 + +#define EGLEW_NV_stream_fifo_synchronous EGLEW_GET_VAR(__EGLEW_NV_stream_fifo_synchronous) + +#endif /* EGL_NV_stream_fifo_synchronous */ + +/* ----------------------- EGL_NV_stream_frame_limits ---------------------- */ + +#ifndef EGL_NV_stream_frame_limits +#define EGL_NV_stream_frame_limits 1 + +#define EGL_PRODUCER_MAX_FRAME_HINT_NV 0x3337 +#define EGL_CONSUMER_MAX_FRAME_HINT_NV 0x3338 + +#define EGLEW_NV_stream_frame_limits EGLEW_GET_VAR(__EGLEW_NV_stream_frame_limits) + +#endif /* EGL_NV_stream_frame_limits */ + +/* ------------------------- EGL_NV_stream_metadata ------------------------ */ + +#ifndef EGL_NV_stream_metadata +#define EGL_NV_stream_metadata 1 + +#define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250 +#define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251 +#define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252 +#define EGL_PRODUCER_METADATA_NV 0x3253 +#define EGL_CONSUMER_METADATA_NV 0x3254 +#define EGL_METADATA0_SIZE_NV 0x3255 +#define EGL_METADATA1_SIZE_NV 0x3256 +#define EGL_METADATA2_SIZE_NV 0x3257 +#define EGL_METADATA3_SIZE_NV 0x3258 +#define EGL_METADATA0_TYPE_NV 0x3259 +#define EGL_METADATA1_TYPE_NV 0x325A +#define EGL_METADATA2_TYPE_NV 0x325B +#define EGL_METADATA3_TYPE_NV 0x325C +#define EGL_PENDING_METADATA_NV 0x3328 + +typedef EGLBoolean ( * PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib * value); +typedef EGLBoolean ( * PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void * data); +typedef EGLBoolean ( * PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void * data); + +#define eglQueryDisplayAttribNV EGLEW_GET_FUN(__eglewQueryDisplayAttribNV) +#define eglQueryStreamMetadataNV EGLEW_GET_FUN(__eglewQueryStreamMetadataNV) +#define eglSetStreamMetadataNV EGLEW_GET_FUN(__eglewSetStreamMetadataNV) + +#define EGLEW_NV_stream_metadata EGLEW_GET_VAR(__EGLEW_NV_stream_metadata) + +#endif /* EGL_NV_stream_metadata */ + +/* -------------------------- EGL_NV_stream_remote ------------------------- */ + +#ifndef EGL_NV_stream_remote +#define EGL_NV_stream_remote 1 + +#define EGL_STREAM_STATE_INITIALIZING_NV 0x3240 +#define EGL_STREAM_TYPE_NV 0x3241 +#define EGL_STREAM_PROTOCOL_NV 0x3242 +#define EGL_STREAM_ENDPOINT_NV 0x3243 +#define EGL_STREAM_LOCAL_NV 0x3244 +#define EGL_STREAM_PROTOCOL_FD_NV 0x3246 +#define EGL_STREAM_PRODUCER_NV 0x3247 +#define EGL_STREAM_CONSUMER_NV 0x3248 + +#define EGLEW_NV_stream_remote EGLEW_GET_VAR(__EGLEW_NV_stream_remote) + +#endif /* EGL_NV_stream_remote */ + +/* -------------------------- EGL_NV_stream_reset -------------------------- */ + +#ifndef EGL_NV_stream_reset +#define EGL_NV_stream_reset 1 + +#define EGL_SUPPORT_RESET_NV 0x3334 +#define EGL_SUPPORT_REUSE_NV 0x3335 + +typedef EGLBoolean ( * PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream); + +#define eglResetStreamNV EGLEW_GET_FUN(__eglewResetStreamNV) + +#define EGLEW_NV_stream_reset EGLEW_GET_VAR(__EGLEW_NV_stream_reset) + +#endif /* EGL_NV_stream_reset */ + +/* -------------------------- EGL_NV_stream_socket ------------------------- */ + +#ifndef EGL_NV_stream_socket +#define EGL_NV_stream_socket 1 + +#define EGL_STREAM_PROTOCOL_SOCKET_NV 0x324B +#define EGL_SOCKET_HANDLE_NV 0x324C +#define EGL_SOCKET_TYPE_NV 0x324D + +#define EGLEW_NV_stream_socket EGLEW_GET_VAR(__EGLEW_NV_stream_socket) + +#endif /* EGL_NV_stream_socket */ + +/* ----------------------- EGL_NV_stream_socket_inet ----------------------- */ + +#ifndef EGL_NV_stream_socket_inet +#define EGL_NV_stream_socket_inet 1 + +#define EGL_SOCKET_TYPE_INET_NV 0x324F + +#define EGLEW_NV_stream_socket_inet EGLEW_GET_VAR(__EGLEW_NV_stream_socket_inet) + +#endif /* EGL_NV_stream_socket_inet */ + +/* ----------------------- EGL_NV_stream_socket_unix ----------------------- */ + +#ifndef EGL_NV_stream_socket_unix +#define EGL_NV_stream_socket_unix 1 + +#define EGL_SOCKET_TYPE_UNIX_NV 0x324E + +#define EGLEW_NV_stream_socket_unix EGLEW_GET_VAR(__EGLEW_NV_stream_socket_unix) + +#endif /* EGL_NV_stream_socket_unix */ + +/* --------------------------- EGL_NV_stream_sync -------------------------- */ + +#ifndef EGL_NV_stream_sync +#define EGL_NV_stream_sync 1 + +#define EGL_SYNC_TYPE_KHR 0x30F7 +#define EGL_SYNC_NEW_FRAME_NV 0x321F + +typedef EGLSyncKHR ( * PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint * attrib_list); + +#define eglCreateStreamSyncNV EGLEW_GET_FUN(__eglewCreateStreamSyncNV) + +#define EGLEW_NV_stream_sync EGLEW_GET_VAR(__EGLEW_NV_stream_sync) + +#endif /* EGL_NV_stream_sync */ + +/* ------------------------------ EGL_NV_sync ------------------------------ */ + +#ifndef EGL_NV_sync +#define EGL_NV_sync 1 + +#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 +#define EGL_SYNC_STATUS_NV 0x30E7 +#define EGL_SIGNALED_NV 0x30E8 +#define EGL_UNSIGNALED_NV 0x30E9 +#define EGL_ALREADY_SIGNALED_NV 0x30EA +#define EGL_TIMEOUT_EXPIRED_NV 0x30EB +#define EGL_CONDITION_SATISFIED_NV 0x30EC +#define EGL_SYNC_TYPE_NV 0x30ED +#define EGL_SYNC_CONDITION_NV 0x30EE +#define EGL_SYNC_FENCE_NV 0x30EF +#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFF + +typedef EGLint ( * PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); +typedef EGLSyncNV ( * PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list); +typedef EGLBoolean ( * PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); +typedef EGLBoolean ( * PFNEGLFENCENVPROC) (EGLSyncNV sync); +typedef EGLBoolean ( * PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint * value); +typedef EGLBoolean ( * PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); + +#define eglClientWaitSyncNV EGLEW_GET_FUN(__eglewClientWaitSyncNV) +#define eglCreateFenceSyncNV EGLEW_GET_FUN(__eglewCreateFenceSyncNV) +#define eglDestroySyncNV EGLEW_GET_FUN(__eglewDestroySyncNV) +#define eglFenceNV EGLEW_GET_FUN(__eglewFenceNV) +#define eglGetSyncAttribNV EGLEW_GET_FUN(__eglewGetSyncAttribNV) +#define eglSignalSyncNV EGLEW_GET_FUN(__eglewSignalSyncNV) + +#define EGLEW_NV_sync EGLEW_GET_VAR(__EGLEW_NV_sync) + +#endif /* EGL_NV_sync */ + +/* --------------------------- EGL_NV_system_time -------------------------- */ + +#ifndef EGL_NV_system_time +#define EGL_NV_system_time 1 + +typedef EGLuint64NV ( * PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) ( void ); +typedef EGLuint64NV ( * PFNEGLGETSYSTEMTIMENVPROC) ( void ); + +#define eglGetSystemTimeFrequencyNV EGLEW_GET_FUN(__eglewGetSystemTimeFrequencyNV) +#define eglGetSystemTimeNV EGLEW_GET_FUN(__eglewGetSystemTimeNV) + +#define EGLEW_NV_system_time EGLEW_GET_VAR(__EGLEW_NV_system_time) + +#endif /* EGL_NV_system_time */ + +/* --------------------- EGL_TIZEN_image_native_buffer --------------------- */ + +#ifndef EGL_TIZEN_image_native_buffer +#define EGL_TIZEN_image_native_buffer 1 + +#define EGL_NATIVE_BUFFER_TIZEN 0x32A0 + +#define EGLEW_TIZEN_image_native_buffer EGLEW_GET_VAR(__EGLEW_TIZEN_image_native_buffer) + +#endif /* EGL_TIZEN_image_native_buffer */ + +/* --------------------- EGL_TIZEN_image_native_surface -------------------- */ + +#ifndef EGL_TIZEN_image_native_surface +#define EGL_TIZEN_image_native_surface 1 + +#define EGL_NATIVE_SURFACE_TIZEN 0x32A1 + +#define EGLEW_TIZEN_image_native_surface EGLEW_GET_VAR(__EGLEW_TIZEN_image_native_surface) + +#endif /* EGL_TIZEN_image_native_surface */ + +/* ------------------------------------------------------------------------- */ + +#define EGLEW_FUN_EXPORT GLEW_FUN_EXPORT +#define EGLEW_VAR_EXPORT GLEW_VAR_EXPORT + +EGLEW_FUN_EXPORT PFNEGLCHOOSECONFIGPROC __eglewChooseConfig; +EGLEW_FUN_EXPORT PFNEGLCOPYBUFFERSPROC __eglewCopyBuffers; +EGLEW_FUN_EXPORT PFNEGLCREATECONTEXTPROC __eglewCreateContext; +EGLEW_FUN_EXPORT PFNEGLCREATEPBUFFERSURFACEPROC __eglewCreatePbufferSurface; +EGLEW_FUN_EXPORT PFNEGLCREATEPIXMAPSURFACEPROC __eglewCreatePixmapSurface; +EGLEW_FUN_EXPORT PFNEGLCREATEWINDOWSURFACEPROC __eglewCreateWindowSurface; +EGLEW_FUN_EXPORT PFNEGLDESTROYCONTEXTPROC __eglewDestroyContext; +EGLEW_FUN_EXPORT PFNEGLDESTROYSURFACEPROC __eglewDestroySurface; +EGLEW_FUN_EXPORT PFNEGLGETCONFIGATTRIBPROC __eglewGetConfigAttrib; +EGLEW_FUN_EXPORT PFNEGLGETCONFIGSPROC __eglewGetConfigs; +EGLEW_FUN_EXPORT PFNEGLGETCURRENTDISPLAYPROC __eglewGetCurrentDisplay; +EGLEW_FUN_EXPORT PFNEGLGETCURRENTSURFACEPROC __eglewGetCurrentSurface; +EGLEW_FUN_EXPORT PFNEGLGETDISPLAYPROC __eglewGetDisplay; +EGLEW_FUN_EXPORT PFNEGLGETERRORPROC __eglewGetError; +EGLEW_FUN_EXPORT PFNEGLINITIALIZEPROC __eglewInitialize; +EGLEW_FUN_EXPORT PFNEGLMAKECURRENTPROC __eglewMakeCurrent; +EGLEW_FUN_EXPORT PFNEGLQUERYCONTEXTPROC __eglewQueryContext; +EGLEW_FUN_EXPORT PFNEGLQUERYSTRINGPROC __eglewQueryString; +EGLEW_FUN_EXPORT PFNEGLQUERYSURFACEPROC __eglewQuerySurface; +EGLEW_FUN_EXPORT PFNEGLSWAPBUFFERSPROC __eglewSwapBuffers; +EGLEW_FUN_EXPORT PFNEGLTERMINATEPROC __eglewTerminate; +EGLEW_FUN_EXPORT PFNEGLWAITGLPROC __eglewWaitGL; +EGLEW_FUN_EXPORT PFNEGLWAITNATIVEPROC __eglewWaitNative; + +EGLEW_FUN_EXPORT PFNEGLBINDTEXIMAGEPROC __eglewBindTexImage; +EGLEW_FUN_EXPORT PFNEGLRELEASETEXIMAGEPROC __eglewReleaseTexImage; +EGLEW_FUN_EXPORT PFNEGLSURFACEATTRIBPROC __eglewSurfaceAttrib; +EGLEW_FUN_EXPORT PFNEGLSWAPINTERVALPROC __eglewSwapInterval; + +EGLEW_FUN_EXPORT PFNEGLBINDAPIPROC __eglewBindAPI; +EGLEW_FUN_EXPORT PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC __eglewCreatePbufferFromClientBuffer; +EGLEW_FUN_EXPORT PFNEGLQUERYAPIPROC __eglewQueryAPI; +EGLEW_FUN_EXPORT PFNEGLRELEASETHREADPROC __eglewReleaseThread; +EGLEW_FUN_EXPORT PFNEGLWAITCLIENTPROC __eglewWaitClient; + +EGLEW_FUN_EXPORT PFNEGLGETCURRENTCONTEXTPROC __eglewGetCurrentContext; + +EGLEW_FUN_EXPORT PFNEGLCLIENTWAITSYNCPROC __eglewClientWaitSync; +EGLEW_FUN_EXPORT PFNEGLCREATEIMAGEPROC __eglewCreateImage; +EGLEW_FUN_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC __eglewCreatePlatformPixmapSurface; +EGLEW_FUN_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEPROC __eglewCreatePlatformWindowSurface; +EGLEW_FUN_EXPORT PFNEGLCREATESYNCPROC __eglewCreateSync; +EGLEW_FUN_EXPORT PFNEGLDESTROYIMAGEPROC __eglewDestroyImage; +EGLEW_FUN_EXPORT PFNEGLDESTROYSYNCPROC __eglewDestroySync; +EGLEW_FUN_EXPORT PFNEGLGETPLATFORMDISPLAYPROC __eglewGetPlatformDisplay; +EGLEW_FUN_EXPORT PFNEGLGETSYNCATTRIBPROC __eglewGetSyncAttrib; +EGLEW_FUN_EXPORT PFNEGLWAITSYNCPROC __eglewWaitSync; + +EGLEW_FUN_EXPORT PFNEGLSETBLOBCACHEFUNCSANDROIDPROC __eglewSetBlobCacheFuncsANDROID; + +EGLEW_FUN_EXPORT PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC __eglewCreateNativeClientBufferANDROID; + +EGLEW_FUN_EXPORT PFNEGLDUPNATIVEFENCEFDANDROIDPROC __eglewDupNativeFenceFDANDROID; + +EGLEW_FUN_EXPORT PFNEGLPRESENTATIONTIMEANDROIDPROC __eglewPresentationTimeANDROID; + +EGLEW_FUN_EXPORT PFNEGLQUERYSURFACEPOINTERANGLEPROC __eglewQuerySurfacePointerANGLE; + +EGLEW_FUN_EXPORT PFNEGLQUERYDEVICESEXTPROC __eglewQueryDevicesEXT; + +EGLEW_FUN_EXPORT PFNEGLQUERYDEVICEATTRIBEXTPROC __eglewQueryDeviceAttribEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYDEVICESTRINGEXTPROC __eglewQueryDeviceStringEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYDISPLAYATTRIBEXTPROC __eglewQueryDisplayAttribEXT; + +EGLEW_FUN_EXPORT PFNEGLQUERYDMABUFFORMATSEXTPROC __eglewQueryDmaBufFormatsEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYDMABUFMODIFIERSEXTPROC __eglewQueryDmaBufModifiersEXT; + +EGLEW_FUN_EXPORT PFNEGLGETOUTPUTLAYERSEXTPROC __eglewGetOutputLayersEXT; +EGLEW_FUN_EXPORT PFNEGLGETOUTPUTPORTSEXTPROC __eglewGetOutputPortsEXT; +EGLEW_FUN_EXPORT PFNEGLOUTPUTLAYERATTRIBEXTPROC __eglewOutputLayerAttribEXT; +EGLEW_FUN_EXPORT PFNEGLOUTPUTPORTATTRIBEXTPROC __eglewOutputPortAttribEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC __eglewQueryOutputLayerAttribEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC __eglewQueryOutputLayerStringEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC __eglewQueryOutputPortAttribEXT; +EGLEW_FUN_EXPORT PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC __eglewQueryOutputPortStringEXT; + +EGLEW_FUN_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC __eglewCreatePlatformPixmapSurfaceEXT; +EGLEW_FUN_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC __eglewCreatePlatformWindowSurfaceEXT; +EGLEW_FUN_EXPORT PFNEGLGETPLATFORMDISPLAYEXTPROC __eglewGetPlatformDisplayEXT; + +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMEROUTPUTEXTPROC __eglewStreamConsumerOutputEXT; + +EGLEW_FUN_EXPORT PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC __eglewSwapBuffersWithDamageEXT; + +EGLEW_FUN_EXPORT PFNEGLCREATEPIXMAPSURFACEHIPROC __eglewCreatePixmapSurfaceHI; + +EGLEW_FUN_EXPORT PFNEGLCREATESYNC64KHRPROC __eglewCreateSync64KHR; + +EGLEW_FUN_EXPORT PFNEGLDEBUGMESSAGECONTROLKHRPROC __eglewDebugMessageControlKHR; +EGLEW_FUN_EXPORT PFNEGLLABELOBJECTKHRPROC __eglewLabelObjectKHR; +EGLEW_FUN_EXPORT PFNEGLQUERYDEBUGKHRPROC __eglewQueryDebugKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATEIMAGEKHRPROC __eglewCreateImageKHR; +EGLEW_FUN_EXPORT PFNEGLDESTROYIMAGEKHRPROC __eglewDestroyImageKHR; + +EGLEW_FUN_EXPORT PFNEGLLOCKSURFACEKHRPROC __eglewLockSurfaceKHR; +EGLEW_FUN_EXPORT PFNEGLUNLOCKSURFACEKHRPROC __eglewUnlockSurfaceKHR; + +EGLEW_FUN_EXPORT PFNEGLQUERYSURFACE64KHRPROC __eglewQuerySurface64KHR; + +EGLEW_FUN_EXPORT PFNEGLSETDAMAGEREGIONKHRPROC __eglewSetDamageRegionKHR; + +EGLEW_FUN_EXPORT PFNEGLCLIENTWAITSYNCKHRPROC __eglewClientWaitSyncKHR; +EGLEW_FUN_EXPORT PFNEGLCREATESYNCKHRPROC __eglewCreateSyncKHR; +EGLEW_FUN_EXPORT PFNEGLDESTROYSYNCKHRPROC __eglewDestroySyncKHR; +EGLEW_FUN_EXPORT PFNEGLGETSYNCATTRIBKHRPROC __eglewGetSyncAttribKHR; +EGLEW_FUN_EXPORT PFNEGLSIGNALSYNCKHRPROC __eglewSignalSyncKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATESTREAMKHRPROC __eglewCreateStreamKHR; +EGLEW_FUN_EXPORT PFNEGLDESTROYSTREAMKHRPROC __eglewDestroyStreamKHR; +EGLEW_FUN_EXPORT PFNEGLQUERYSTREAMKHRPROC __eglewQueryStreamKHR; +EGLEW_FUN_EXPORT PFNEGLQUERYSTREAMU64KHRPROC __eglewQueryStreamu64KHR; +EGLEW_FUN_EXPORT PFNEGLSTREAMATTRIBKHRPROC __eglewStreamAttribKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATESTREAMATTRIBKHRPROC __eglewCreateStreamAttribKHR; +EGLEW_FUN_EXPORT PFNEGLQUERYSTREAMATTRIBKHRPROC __eglewQueryStreamAttribKHR; +EGLEW_FUN_EXPORT PFNEGLSETSTREAMATTRIBKHRPROC __eglewSetStreamAttribKHR; +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC __eglewStreamConsumerAcquireAttribKHR; +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC __eglewStreamConsumerReleaseAttribKHR; + +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERACQUIREKHRPROC __eglewStreamConsumerAcquireKHR; +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC __eglewStreamConsumerGLTextureExternalKHR; +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERRELEASEKHRPROC __eglewStreamConsumerReleaseKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC __eglewCreateStreamFromFileDescriptorKHR; +EGLEW_FUN_EXPORT PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC __eglewGetStreamFileDescriptorKHR; + +EGLEW_FUN_EXPORT PFNEGLQUERYSTREAMTIMEKHRPROC __eglewQueryStreamTimeKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC __eglewCreateStreamProducerSurfaceKHR; + +EGLEW_FUN_EXPORT PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC __eglewSwapBuffersWithDamageKHR; + +EGLEW_FUN_EXPORT PFNEGLWAITSYNCKHRPROC __eglewWaitSyncKHR; + +EGLEW_FUN_EXPORT PFNEGLCREATEDRMIMAGEMESAPROC __eglewCreateDRMImageMESA; +EGLEW_FUN_EXPORT PFNEGLEXPORTDRMIMAGEMESAPROC __eglewExportDRMImageMESA; + +EGLEW_FUN_EXPORT PFNEGLEXPORTDMABUFIMAGEMESAPROC __eglewExportDMABUFImageMESA; +EGLEW_FUN_EXPORT PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC __eglewExportDMABUFImageQueryMESA; + +EGLEW_FUN_EXPORT PFNEGLSWAPBUFFERSREGIONNOKPROC __eglewSwapBuffersRegionNOK; + +EGLEW_FUN_EXPORT PFNEGLSWAPBUFFERSREGION2NOKPROC __eglewSwapBuffersRegion2NOK; + +EGLEW_FUN_EXPORT PFNEGLQUERYNATIVEDISPLAYNVPROC __eglewQueryNativeDisplayNV; +EGLEW_FUN_EXPORT PFNEGLQUERYNATIVEPIXMAPNVPROC __eglewQueryNativePixmapNV; +EGLEW_FUN_EXPORT PFNEGLQUERYNATIVEWINDOWNVPROC __eglewQueryNativeWindowNV; + +EGLEW_FUN_EXPORT PFNEGLPOSTSUBBUFFERNVPROC __eglewPostSubBufferNV; + +EGLEW_FUN_EXPORT PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC __eglewStreamConsumerGLTextureExternalAttribsNV; + +EGLEW_FUN_EXPORT PFNEGLQUERYDISPLAYATTRIBNVPROC __eglewQueryDisplayAttribNV; +EGLEW_FUN_EXPORT PFNEGLQUERYSTREAMMETADATANVPROC __eglewQueryStreamMetadataNV; +EGLEW_FUN_EXPORT PFNEGLSETSTREAMMETADATANVPROC __eglewSetStreamMetadataNV; + +EGLEW_FUN_EXPORT PFNEGLRESETSTREAMNVPROC __eglewResetStreamNV; + +EGLEW_FUN_EXPORT PFNEGLCREATESTREAMSYNCNVPROC __eglewCreateStreamSyncNV; + +EGLEW_FUN_EXPORT PFNEGLCLIENTWAITSYNCNVPROC __eglewClientWaitSyncNV; +EGLEW_FUN_EXPORT PFNEGLCREATEFENCESYNCNVPROC __eglewCreateFenceSyncNV; +EGLEW_FUN_EXPORT PFNEGLDESTROYSYNCNVPROC __eglewDestroySyncNV; +EGLEW_FUN_EXPORT PFNEGLFENCENVPROC __eglewFenceNV; +EGLEW_FUN_EXPORT PFNEGLGETSYNCATTRIBNVPROC __eglewGetSyncAttribNV; +EGLEW_FUN_EXPORT PFNEGLSIGNALSYNCNVPROC __eglewSignalSyncNV; + +EGLEW_FUN_EXPORT PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC __eglewGetSystemTimeFrequencyNV; +EGLEW_FUN_EXPORT PFNEGLGETSYSTEMTIMENVPROC __eglewGetSystemTimeNV; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_0; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_1; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_2; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_3; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_4; +EGLEW_VAR_EXPORT GLboolean __EGLEW_VERSION_1_5; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_blob_cache; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_create_native_client_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_framebuffer_target; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_front_buffer_auto_refresh; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_image_native_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_native_fence_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_presentation_time; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANDROID_recordable; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANGLE_d3d_share_handle_client_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANGLE_device_d3d; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANGLE_query_surface_pointer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANGLE_surface_d3d_texture_2d_share_handle; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ANGLE_window_fixed_size; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ARM_implicit_external_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_ARM_pixmap_multisample_discard; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_buffer_age; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_client_extensions; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_create_context_robustness; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_device_base; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_device_drm; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_device_enumeration; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_device_openwf; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_device_query; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_gl_colorspace_bt2020_linear; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_gl_colorspace_bt2020_pq; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_gl_colorspace_scrgb_linear; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_image_dma_buf_import; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_image_dma_buf_import_modifiers; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_multiview_window; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_output_base; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_output_drm; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_output_openwf; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_pixel_format_float; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_platform_base; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_platform_device; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_platform_wayland; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_platform_x11; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_protected_content; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_protected_surface; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_stream_consumer_egloutput; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_surface_SMPTE2086_metadata; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_swap_buffers_with_damage; +EGLEW_VAR_EXPORT GLboolean __EGLEW_EXT_yuv_surface; +EGLEW_VAR_EXPORT GLboolean __EGLEW_HI_clientpixmap; +EGLEW_VAR_EXPORT GLboolean __EGLEW_HI_colorformats; +EGLEW_VAR_EXPORT GLboolean __EGLEW_IMG_context_priority; +EGLEW_VAR_EXPORT GLboolean __EGLEW_IMG_image_plane_attribs; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_cl_event; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_cl_event2; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_client_get_all_proc_addresses; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_config_attribs; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_context_flush_control; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_create_context; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_create_context_no_error; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_debug; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_fence_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_get_all_proc_addresses; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_gl_colorspace; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_gl_renderbuffer_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_gl_texture_2D_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_gl_texture_3D_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_gl_texture_cubemap_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_image_base; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_image_pixmap; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_lock_surface; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_lock_surface2; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_lock_surface3; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_mutable_render_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_no_config_context; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_partial_update; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_platform_android; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_platform_gbm; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_platform_wayland; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_platform_x11; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_reusable_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_attrib; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_consumer_gltexture; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_cross_process_fd; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_fifo; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_producer_aldatalocator; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_stream_producer_eglsurface; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_surfaceless_context; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_swap_buffers_with_damage; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_vg_parent_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_KHR_wait_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_drm_image; +EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_image_dma_buf_export; +EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_platform_gbm; +EGLEW_VAR_EXPORT GLboolean __EGLEW_MESA_platform_surfaceless; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_swap_region; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_swap_region2; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NOK_texture_from_pixmap; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_3dvision_surface; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_coverage_sample; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_coverage_sample_resolve; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_cuda_event; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_depth_nonlinear; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_device_cuda; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_native_query; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_post_convert_rounding; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_post_sub_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_robustness_video_memory_purge; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_consumer_gltexture_yuv; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_cross_display; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_cross_object; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_cross_partition; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_cross_process; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_cross_system; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_fifo_next; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_fifo_synchronous; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_frame_limits; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_metadata; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_remote; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_reset; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_socket; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_socket_inet; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_socket_unix; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_stream_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_sync; +EGLEW_VAR_EXPORT GLboolean __EGLEW_NV_system_time; +EGLEW_VAR_EXPORT GLboolean __EGLEW_TIZEN_image_native_buffer; +EGLEW_VAR_EXPORT GLboolean __EGLEW_TIZEN_image_native_surface; +/* ------------------------------------------------------------------------ */ + +GLEWAPI GLenum GLEWAPIENTRY eglewInit (EGLDisplay display); +GLEWAPI GLboolean GLEWAPIENTRY eglewIsSupported (const char *name); + +#define EGLEW_GET_VAR(x) (*(const GLboolean*)&x) +#define EGLEW_GET_FUN(x) x + +GLEWAPI GLboolean GLEWAPIENTRY eglewGetExtension (const char *name); + +#ifdef __cplusplus +} +#endif + +#endif /* __eglew_h__ */ diff --git a/msvc/glew.c b/msvc/glew.c new file mode 100644 index 0000000000..9a095ed231 --- /dev/null +++ b/msvc/glew.c @@ -0,0 +1,28581 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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 GLEW_INCLUDE +#include "glew.h" +#else +#include GLEW_INCLUDE +#endif + +#if defined(GLEW_OSMESA) +# define GLAPI extern +# include +#elif defined(GLEW_EGL) +# include +#elif defined(_WIN32) +/* + * If NOGDI is defined, wingdi.h won't be included by windows.h, and thus + * wglGetProcAddress won't be declared. It will instead be implicitly declared, + * potentially incorrectly, which we don't want. + */ +# if defined(NOGDI) +# undef NOGDI +# endif +# include "wglew.h" +#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) +# include +#endif + +#include /* For size_t */ + +#if defined(GLEW_EGL) +#elif defined(GLEW_REGAL) + +/* In GLEW_REGAL mode we call direcly into the linked + libRegal.so glGetProcAddressREGAL for looking up + the GL function pointers. */ + +# undef glGetProcAddressREGAL +# ifdef WIN32 +extern void * __stdcall glGetProcAddressREGAL(const GLchar *name); +static void * (__stdcall * regalGetProcAddress) (const GLchar *) = glGetProcAddressREGAL; +# else +extern void * glGetProcAddressREGAL(const GLchar *name); +static void * (*regalGetProcAddress) (const GLchar *) = glGetProcAddressREGAL; +# endif +# define glGetProcAddressREGAL GLEW_GET_FUN(__glewGetProcAddressREGAL) + +#elif defined(__sgi) || defined (__sun) || defined(__HAIKU__) || defined(GLEW_APPLE_GLX) +#include +#include +#include + +void* dlGetProcAddress (const GLubyte* name) +{ + static void* h = NULL; + static void* gpa; + + if (h == NULL) + { + if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL; + gpa = dlsym(h, "glXGetProcAddress"); + } + + if (gpa != NULL) + return ((void*(*)(const GLubyte*))gpa)(name); + else + return dlsym(h, (const char*)name); +} +#endif /* __sgi || __sun || GLEW_APPLE_GLX */ + +#if defined(__APPLE__) +#include +#include +#include + +#ifdef MAC_OS_X_VERSION_10_3 + +#include + +void* NSGLGetProcAddress (const GLubyte *name) +{ + static void* image = NULL; + void* addr; + if (NULL == image) + { + image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY); + } + if( !image ) return NULL; + addr = dlsym(image, (const char*)name); + if( addr ) return addr; +#ifdef GLEW_APPLE_GLX + return dlGetProcAddress( name ); // try next for glx symbols +#else + return NULL; +#endif +} +#else + +#include + +void* NSGLGetProcAddress (const GLubyte *name) +{ + static const struct mach_header* image = NULL; + NSSymbol symbol; + char* symbolName; + if (NULL == image) + { + image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR); + } + /* prepend a '_' for the Unix C symbol mangling convention */ + symbolName = malloc(strlen((const char*)name) + 2); + strcpy(symbolName+1, (const char*)name); + symbolName[0] = '_'; + symbol = NULL; + /* if (NSIsSymbolNameDefined(symbolName)) + symbol = NSLookupAndBindSymbol(symbolName); */ + symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL; + free(symbolName); + if( symbol ) return NSAddressOfSymbol(symbol); +#ifdef GLEW_APPLE_GLX + return dlGetProcAddress( name ); // try next for glx symbols +#else + return NULL; +#endif +} +#endif /* MAC_OS_X_VERSION_10_3 */ +#endif /* __APPLE__ */ + +/* + * Define glewGetProcAddress. + */ +#if defined(GLEW_REGAL) +# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name) +#elif defined(GLEW_OSMESA) +# define glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name) +#elif defined(GLEW_EGL) +# define glewGetProcAddress(name) eglGetProcAddress((const char *)name) +#elif defined(_WIN32) +# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name) +#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) +# define glewGetProcAddress(name) NSGLGetProcAddress(name) +#elif defined(__sgi) || defined(__sun) || defined(__HAIKU__) +# define glewGetProcAddress(name) dlGetProcAddress(name) +#elif defined(__ANDROID__) +# define glewGetProcAddress(name) NULL /* TODO */ +#elif defined(__native_client__) +# define glewGetProcAddress(name) NULL /* TODO */ +#else /* __linux */ +# define glewGetProcAddress(name) (*glXGetProcAddressARB)(name) +#endif + +/* + * Redefine GLEW_GET_VAR etc without const cast + */ + +#undef GLEW_GET_VAR +# define GLEW_GET_VAR(x) (x) + +#ifdef WGLEW_GET_VAR +# undef WGLEW_GET_VAR +# define WGLEW_GET_VAR(x) (x) +#endif /* WGLEW_GET_VAR */ + +#ifdef GLXEW_GET_VAR +# undef GLXEW_GET_VAR +# define GLXEW_GET_VAR(x) (x) +#endif /* GLXEW_GET_VAR */ + +#ifdef EGLEW_GET_VAR +# undef EGLEW_GET_VAR +# define EGLEW_GET_VAR(x) (x) +#endif /* EGLEW_GET_VAR */ + +/* + * GLEW, just like OpenGL or GLU, does not rely on the standard C library. + * These functions implement the functionality required in this file. + */ + +static GLuint _glewStrLen (const GLubyte* s) +{ + GLuint i=0; + if (s == NULL) return 0; + while (s[i] != '\0') i++; + return i; +} + +static GLuint _glewStrCLen (const GLubyte* s, GLubyte c) +{ + GLuint i=0; + if (s == NULL) return 0; + while (s[i] != '\0' && s[i] != c) i++; + return i; +} + +static GLuint _glewStrCopy(char *d, const char *s, char c) +{ + GLuint i=0; + if (s == NULL) return 0; + while (s[i] != '\0' && s[i] != c) { d[i] = s[i]; i++; } + d[i] = '\0'; + return i; +} + +#if !defined(GLEW_OSMESA) +#if !defined(__APPLE__) || defined(GLEW_APPLE_GLX) +static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n) +{ + GLuint i=0; + if(a == NULL || b == NULL) + return (a == NULL && b == NULL && n == 0) ? GL_TRUE : GL_FALSE; + while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++; + return i == n ? GL_TRUE : GL_FALSE; +} +#endif +#endif + +static GLboolean _glewStrSame1 (const GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) +{ + while (*na > 0 && (**a == ' ' || **a == '\n' || **a == '\r' || **a == '\t')) + { + (*a)++; + (*na)--; + } + if(*na >= nb) + { + GLuint i=0; + while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; + if(i == nb) + { + *a = *a + nb; + *na = *na - nb; + return GL_TRUE; + } + } + return GL_FALSE; +} + +static GLboolean _glewStrSame2 (const GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) +{ + if(*na >= nb) + { + GLuint i=0; + while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; + if(i == nb) + { + *a = *a + nb; + *na = *na - nb; + return GL_TRUE; + } + } + return GL_FALSE; +} + +static GLboolean _glewStrSame3 (const GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) +{ + if(*na >= nb) + { + GLuint i=0; + while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; + if (i == nb && (*na == nb || (*a)[i] == ' ' || (*a)[i] == '\n' || (*a)[i] == '\r' || (*a)[i] == '\t')) + { + *a = *a + nb; + *na = *na - nb; + return GL_TRUE; + } + } + return GL_FALSE; +} + +/* + * Search for name in the extensions string. Use of strstr() + * is not sufficient because extension names can be prefixes of + * other extension names. Could use strtok() but the constant + * string returned by glGetString might be in read-only memory. + */ +#if !defined(GLEW_OSMESA) +#if !defined(__APPLE__) || defined(GLEW_APPLE_GLX) +static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end) +{ + const GLubyte* p; + GLuint len = _glewStrLen((const GLubyte*)name); + p = start; + while (p < end) + { + GLuint n = _glewStrCLen(p, ' '); + if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; + p += n+1; + } + return GL_FALSE; +} +#endif +#endif + +PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL; +PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements = NULL; +PFNGLTEXIMAGE3DPROC __glewTexImage3D = NULL; +PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D = NULL; + +PFNGLACTIVETEXTUREPROC __glewActiveTexture = NULL; +PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture = NULL; +PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D = NULL; +PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D = NULL; +PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D = NULL; +PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage = NULL; +PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd = NULL; +PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf = NULL; +PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd = NULL; +PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf = NULL; +PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d = NULL; +PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv = NULL; +PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f = NULL; +PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv = NULL; +PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i = NULL; +PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv = NULL; +PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s = NULL; +PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv = NULL; +PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d = NULL; +PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv = NULL; +PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f = NULL; +PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv = NULL; +PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i = NULL; +PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv = NULL; +PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s = NULL; +PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv = NULL; +PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d = NULL; +PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv = NULL; +PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f = NULL; +PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv = NULL; +PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i = NULL; +PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv = NULL; +PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s = NULL; +PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv = NULL; +PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d = NULL; +PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv = NULL; +PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f = NULL; +PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv = NULL; +PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i = NULL; +PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv = NULL; +PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s = NULL; +PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv = NULL; +PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage = NULL; + +PFNGLBLENDCOLORPROC __glewBlendColor = NULL; +PFNGLBLENDEQUATIONPROC __glewBlendEquation = NULL; +PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate = NULL; +PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer = NULL; +PFNGLFOGCOORDDPROC __glewFogCoordd = NULL; +PFNGLFOGCOORDDVPROC __glewFogCoorddv = NULL; +PFNGLFOGCOORDFPROC __glewFogCoordf = NULL; +PFNGLFOGCOORDFVPROC __glewFogCoordfv = NULL; +PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays = NULL; +PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements = NULL; +PFNGLPOINTPARAMETERFPROC __glewPointParameterf = NULL; +PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv = NULL; +PFNGLPOINTPARAMETERIPROC __glewPointParameteri = NULL; +PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv = NULL; +PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b = NULL; +PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv = NULL; +PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d = NULL; +PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv = NULL; +PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f = NULL; +PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv = NULL; +PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i = NULL; +PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv = NULL; +PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s = NULL; +PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv = NULL; +PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub = NULL; +PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv = NULL; +PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui = NULL; +PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv = NULL; +PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us = NULL; +PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv = NULL; +PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer = NULL; +PFNGLWINDOWPOS2DPROC __glewWindowPos2d = NULL; +PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv = NULL; +PFNGLWINDOWPOS2FPROC __glewWindowPos2f = NULL; +PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv = NULL; +PFNGLWINDOWPOS2IPROC __glewWindowPos2i = NULL; +PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv = NULL; +PFNGLWINDOWPOS2SPROC __glewWindowPos2s = NULL; +PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv = NULL; +PFNGLWINDOWPOS3DPROC __glewWindowPos3d = NULL; +PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv = NULL; +PFNGLWINDOWPOS3FPROC __glewWindowPos3f = NULL; +PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv = NULL; +PFNGLWINDOWPOS3IPROC __glewWindowPos3i = NULL; +PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv = NULL; +PFNGLWINDOWPOS3SPROC __glewWindowPos3s = NULL; +PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv = NULL; + +PFNGLBEGINQUERYPROC __glewBeginQuery = NULL; +PFNGLBINDBUFFERPROC __glewBindBuffer = NULL; +PFNGLBUFFERDATAPROC __glewBufferData = NULL; +PFNGLBUFFERSUBDATAPROC __glewBufferSubData = NULL; +PFNGLDELETEBUFFERSPROC __glewDeleteBuffers = NULL; +PFNGLDELETEQUERIESPROC __glewDeleteQueries = NULL; +PFNGLENDQUERYPROC __glewEndQuery = NULL; +PFNGLGENBUFFERSPROC __glewGenBuffers = NULL; +PFNGLGENQUERIESPROC __glewGenQueries = NULL; +PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv = NULL; +PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv = NULL; +PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData = NULL; +PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv = NULL; +PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv = NULL; +PFNGLGETQUERYIVPROC __glewGetQueryiv = NULL; +PFNGLISBUFFERPROC __glewIsBuffer = NULL; +PFNGLISQUERYPROC __glewIsQuery = NULL; +PFNGLMAPBUFFERPROC __glewMapBuffer = NULL; +PFNGLUNMAPBUFFERPROC __glewUnmapBuffer = NULL; + +PFNGLATTACHSHADERPROC __glewAttachShader = NULL; +PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation = NULL; +PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate = NULL; +PFNGLCOMPILESHADERPROC __glewCompileShader = NULL; +PFNGLCREATEPROGRAMPROC __glewCreateProgram = NULL; +PFNGLCREATESHADERPROC __glewCreateShader = NULL; +PFNGLDELETEPROGRAMPROC __glewDeleteProgram = NULL; +PFNGLDELETESHADERPROC __glewDeleteShader = NULL; +PFNGLDETACHSHADERPROC __glewDetachShader = NULL; +PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray = NULL; +PFNGLDRAWBUFFERSPROC __glewDrawBuffers = NULL; +PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray = NULL; +PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib = NULL; +PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform = NULL; +PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders = NULL; +PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation = NULL; +PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog = NULL; +PFNGLGETPROGRAMIVPROC __glewGetProgramiv = NULL; +PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog = NULL; +PFNGLGETSHADERSOURCEPROC __glewGetShaderSource = NULL; +PFNGLGETSHADERIVPROC __glewGetShaderiv = NULL; +PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation = NULL; +PFNGLGETUNIFORMFVPROC __glewGetUniformfv = NULL; +PFNGLGETUNIFORMIVPROC __glewGetUniformiv = NULL; +PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv = NULL; +PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv = NULL; +PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv = NULL; +PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv = NULL; +PFNGLISPROGRAMPROC __glewIsProgram = NULL; +PFNGLISSHADERPROC __glewIsShader = NULL; +PFNGLLINKPROGRAMPROC __glewLinkProgram = NULL; +PFNGLSHADERSOURCEPROC __glewShaderSource = NULL; +PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate = NULL; +PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate = NULL; +PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate = NULL; +PFNGLUNIFORM1FPROC __glewUniform1f = NULL; +PFNGLUNIFORM1FVPROC __glewUniform1fv = NULL; +PFNGLUNIFORM1IPROC __glewUniform1i = NULL; +PFNGLUNIFORM1IVPROC __glewUniform1iv = NULL; +PFNGLUNIFORM2FPROC __glewUniform2f = NULL; +PFNGLUNIFORM2FVPROC __glewUniform2fv = NULL; +PFNGLUNIFORM2IPROC __glewUniform2i = NULL; +PFNGLUNIFORM2IVPROC __glewUniform2iv = NULL; +PFNGLUNIFORM3FPROC __glewUniform3f = NULL; +PFNGLUNIFORM3FVPROC __glewUniform3fv = NULL; +PFNGLUNIFORM3IPROC __glewUniform3i = NULL; +PFNGLUNIFORM3IVPROC __glewUniform3iv = NULL; +PFNGLUNIFORM4FPROC __glewUniform4f = NULL; +PFNGLUNIFORM4FVPROC __glewUniform4fv = NULL; +PFNGLUNIFORM4IPROC __glewUniform4i = NULL; +PFNGLUNIFORM4IVPROC __glewUniform4iv = NULL; +PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv = NULL; +PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv = NULL; +PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv = NULL; +PFNGLUSEPROGRAMPROC __glewUseProgram = NULL; +PFNGLVALIDATEPROGRAMPROC __glewValidateProgram = NULL; +PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d = NULL; +PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv = NULL; +PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f = NULL; +PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv = NULL; +PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s = NULL; +PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv = NULL; +PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d = NULL; +PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv = NULL; +PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f = NULL; +PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv = NULL; +PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s = NULL; +PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv = NULL; +PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d = NULL; +PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv = NULL; +PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f = NULL; +PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv = NULL; +PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s = NULL; +PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv = NULL; +PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv = NULL; +PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv = NULL; +PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv = NULL; +PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub = NULL; +PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv = NULL; +PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv = NULL; +PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv = NULL; +PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv = NULL; +PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d = NULL; +PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv = NULL; +PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f = NULL; +PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv = NULL; +PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv = NULL; +PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s = NULL; +PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv = NULL; +PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv = NULL; +PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv = NULL; +PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv = NULL; +PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer = NULL; + +PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv = NULL; +PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv = NULL; +PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv = NULL; +PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv = NULL; +PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv = NULL; +PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv = NULL; + +PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender = NULL; +PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback = NULL; +PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation = NULL; +PFNGLCLAMPCOLORPROC __glewClampColor = NULL; +PFNGLCLEARBUFFERFIPROC __glewClearBufferfi = NULL; +PFNGLCLEARBUFFERFVPROC __glewClearBufferfv = NULL; +PFNGLCLEARBUFFERIVPROC __glewClearBufferiv = NULL; +PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv = NULL; +PFNGLCOLORMASKIPROC __glewColorMaski = NULL; +PFNGLDISABLEIPROC __glewDisablei = NULL; +PFNGLENABLEIPROC __glewEnablei = NULL; +PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender = NULL; +PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback = NULL; +PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v = NULL; +PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation = NULL; +PFNGLGETSTRINGIPROC __glewGetStringi = NULL; +PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv = NULL; +PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv = NULL; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying = NULL; +PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv = NULL; +PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv = NULL; +PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv = NULL; +PFNGLISENABLEDIPROC __glewIsEnabledi = NULL; +PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv = NULL; +PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv = NULL; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings = NULL; +PFNGLUNIFORM1UIPROC __glewUniform1ui = NULL; +PFNGLUNIFORM1UIVPROC __glewUniform1uiv = NULL; +PFNGLUNIFORM2UIPROC __glewUniform2ui = NULL; +PFNGLUNIFORM2UIVPROC __glewUniform2uiv = NULL; +PFNGLUNIFORM3UIPROC __glewUniform3ui = NULL; +PFNGLUNIFORM3UIVPROC __glewUniform3uiv = NULL; +PFNGLUNIFORM4UIPROC __glewUniform4ui = NULL; +PFNGLUNIFORM4UIVPROC __glewUniform4uiv = NULL; +PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i = NULL; +PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv = NULL; +PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui = NULL; +PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv = NULL; +PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i = NULL; +PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv = NULL; +PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui = NULL; +PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv = NULL; +PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i = NULL; +PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv = NULL; +PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui = NULL; +PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv = NULL; +PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv = NULL; +PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i = NULL; +PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv = NULL; +PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv = NULL; +PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv = NULL; +PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui = NULL; +PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv = NULL; +PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv = NULL; +PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer = NULL; + +PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced = NULL; +PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced = NULL; +PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex = NULL; +PFNGLTEXBUFFERPROC __glewTexBuffer = NULL; + +PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture = NULL; +PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v = NULL; +PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v = NULL; + +PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor = NULL; + +PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei = NULL; +PFNGLBLENDEQUATIONIPROC __glewBlendEquationi = NULL; +PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei = NULL; +PFNGLBLENDFUNCIPROC __glewBlendFunci = NULL; +PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading = NULL; + +PFNGLGETGRAPHICSRESETSTATUSPROC __glewGetGraphicsResetStatus = NULL; +PFNGLGETNCOMPRESSEDTEXIMAGEPROC __glewGetnCompressedTexImage = NULL; +PFNGLGETNTEXIMAGEPROC __glewGetnTexImage = NULL; +PFNGLGETNUNIFORMDVPROC __glewGetnUniformdv = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC __glewMultiDrawArraysIndirectCount = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC __glewMultiDrawElementsIndirectCount = NULL; +PFNGLSPECIALIZESHADERPROC __glewSpecializeShader = NULL; + +PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX = NULL; + +PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD = NULL; +PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD = NULL; +PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD = NULL; +PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD = NULL; + +PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD = NULL; +PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD = NULL; +PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD = NULL; +PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD = NULL; + +PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC __glewFramebufferSamplePositionsfvAMD = NULL; +PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC __glewGetFramebufferParameterfvAMD = NULL; +PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC __glewGetNamedFramebufferParameterfvAMD = NULL; +PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC __glewNamedFramebufferSamplePositionsfvAMD = NULL; + +PFNGLVERTEXATTRIBPARAMETERIAMDPROC __glewVertexAttribParameteriAMD = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD = NULL; + +PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD = NULL; +PFNGLGENNAMESAMDPROC __glewGenNamesAMD = NULL; +PFNGLISNAMEAMDPROC __glewIsNameAMD = NULL; + +PFNGLQUERYOBJECTPARAMETERUIAMDPROC __glewQueryObjectParameteruiAMD = NULL; + +PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD = NULL; +PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD = NULL; +PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD = NULL; +PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD = NULL; +PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD = NULL; +PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD = NULL; +PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD = NULL; +PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD = NULL; +PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD = NULL; +PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD = NULL; +PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD = NULL; + +PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD = NULL; + +PFNGLTEXSTORAGESPARSEAMDPROC __glewTexStorageSparseAMD = NULL; +PFNGLTEXTURESTORAGESPARSEAMDPROC __glewTextureStorageSparseAMD = NULL; + +PFNGLSTENCILOPVALUEAMDPROC __glewStencilOpValueAMD = NULL; + +PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD = NULL; +PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD = NULL; + +PFNGLBLITFRAMEBUFFERANGLEPROC __glewBlitFramebufferANGLE = NULL; + +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC __glewRenderbufferStorageMultisampleANGLE = NULL; + +PFNGLDRAWARRAYSINSTANCEDANGLEPROC __glewDrawArraysInstancedANGLE = NULL; +PFNGLDRAWELEMENTSINSTANCEDANGLEPROC __glewDrawElementsInstancedANGLE = NULL; +PFNGLVERTEXATTRIBDIVISORANGLEPROC __glewVertexAttribDivisorANGLE = NULL; + +PFNGLBEGINQUERYANGLEPROC __glewBeginQueryANGLE = NULL; +PFNGLDELETEQUERIESANGLEPROC __glewDeleteQueriesANGLE = NULL; +PFNGLENDQUERYANGLEPROC __glewEndQueryANGLE = NULL; +PFNGLGENQUERIESANGLEPROC __glewGenQueriesANGLE = NULL; +PFNGLGETQUERYOBJECTI64VANGLEPROC __glewGetQueryObjecti64vANGLE = NULL; +PFNGLGETQUERYOBJECTIVANGLEPROC __glewGetQueryObjectivANGLE = NULL; +PFNGLGETQUERYOBJECTUI64VANGLEPROC __glewGetQueryObjectui64vANGLE = NULL; +PFNGLGETQUERYOBJECTUIVANGLEPROC __glewGetQueryObjectuivANGLE = NULL; +PFNGLGETQUERYIVANGLEPROC __glewGetQueryivANGLE = NULL; +PFNGLISQUERYANGLEPROC __glewIsQueryANGLE = NULL; +PFNGLQUERYCOUNTERANGLEPROC __glewQueryCounterANGLE = NULL; + +PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC __glewGetTranslatedShaderSourceANGLE = NULL; + +PFNGLCOPYTEXTURELEVELSAPPLEPROC __glewCopyTextureLevelsAPPLE = NULL; + +PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE = NULL; +PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE = NULL; +PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE = NULL; +PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE = NULL; +PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE = NULL; + +PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE = NULL; +PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE = NULL; +PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE = NULL; +PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE = NULL; +PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE = NULL; +PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE = NULL; +PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE = NULL; +PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE = NULL; + +PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE = NULL; +PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE = NULL; + +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC __glewRenderbufferStorageMultisampleAPPLE = NULL; +PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC __glewResolveMultisampleFramebufferAPPLE = NULL; + +PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE = NULL; +PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE = NULL; +PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE = NULL; + +PFNGLCLIENTWAITSYNCAPPLEPROC __glewClientWaitSyncAPPLE = NULL; +PFNGLDELETESYNCAPPLEPROC __glewDeleteSyncAPPLE = NULL; +PFNGLFENCESYNCAPPLEPROC __glewFenceSyncAPPLE = NULL; +PFNGLGETINTEGER64VAPPLEPROC __glewGetInteger64vAPPLE = NULL; +PFNGLGETSYNCIVAPPLEPROC __glewGetSyncivAPPLE = NULL; +PFNGLISSYNCAPPLEPROC __glewIsSyncAPPLE = NULL; +PFNGLWAITSYNCAPPLEPROC __glewWaitSyncAPPLE = NULL; + +PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE = NULL; +PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE = NULL; + +PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE = NULL; +PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE = NULL; +PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE = NULL; +PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE = NULL; + +PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE = NULL; +PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE = NULL; +PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE = NULL; + +PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE = NULL; +PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE = NULL; +PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE = NULL; +PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE = NULL; +PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE = NULL; +PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE = NULL; +PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE = NULL; + +PFNGLCLEARDEPTHFPROC __glewClearDepthf = NULL; +PFNGLDEPTHRANGEFPROC __glewDepthRangef = NULL; +PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat = NULL; +PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler = NULL; +PFNGLSHADERBINARYPROC __glewShaderBinary = NULL; + +PFNGLMEMORYBARRIERBYREGIONPROC __glewMemoryBarrierByRegion = NULL; + +PFNGLPRIMITIVEBOUNDINGBOXARBPROC __glewPrimitiveBoundingBoxARB = NULL; + +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance = NULL; + +PFNGLGETIMAGEHANDLEARBPROC __glewGetImageHandleARB = NULL; +PFNGLGETTEXTUREHANDLEARBPROC __glewGetTextureHandleARB = NULL; +PFNGLGETTEXTURESAMPLERHANDLEARBPROC __glewGetTextureSamplerHandleARB = NULL; +PFNGLGETVERTEXATTRIBLUI64VARBPROC __glewGetVertexAttribLui64vARB = NULL; +PFNGLISIMAGEHANDLERESIDENTARBPROC __glewIsImageHandleResidentARB = NULL; +PFNGLISTEXTUREHANDLERESIDENTARBPROC __glewIsTextureHandleResidentARB = NULL; +PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC __glewMakeImageHandleNonResidentARB = NULL; +PFNGLMAKEIMAGEHANDLERESIDENTARBPROC __glewMakeImageHandleResidentARB = NULL; +PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC __glewMakeTextureHandleNonResidentARB = NULL; +PFNGLMAKETEXTUREHANDLERESIDENTARBPROC __glewMakeTextureHandleResidentARB = NULL; +PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC __glewProgramUniformHandleui64ARB = NULL; +PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC __glewProgramUniformHandleui64vARB = NULL; +PFNGLUNIFORMHANDLEUI64ARBPROC __glewUniformHandleui64ARB = NULL; +PFNGLUNIFORMHANDLEUI64VARBPROC __glewUniformHandleui64vARB = NULL; +PFNGLVERTEXATTRIBL1UI64ARBPROC __glewVertexAttribL1ui64ARB = NULL; +PFNGLVERTEXATTRIBL1UI64VARBPROC __glewVertexAttribL1ui64vARB = NULL; + +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed = NULL; +PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex = NULL; + +PFNGLBUFFERSTORAGEPROC __glewBufferStorage = NULL; + +PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB = NULL; + +PFNGLCLEARBUFFERDATAPROC __glewClearBufferData = NULL; +PFNGLCLEARBUFFERSUBDATAPROC __glewClearBufferSubData = NULL; +PFNGLCLEARNAMEDBUFFERDATAEXTPROC __glewClearNamedBufferDataEXT = NULL; +PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __glewClearNamedBufferSubDataEXT = NULL; + +PFNGLCLEARTEXIMAGEPROC __glewClearTexImage = NULL; +PFNGLCLEARTEXSUBIMAGEPROC __glewClearTexSubImage = NULL; + +PFNGLCLIPCONTROLPROC __glewClipControl = NULL; + +PFNGLCLAMPCOLORARBPROC __glewClampColorARB = NULL; + +PFNGLDISPATCHCOMPUTEPROC __glewDispatchCompute = NULL; +PFNGLDISPATCHCOMPUTEINDIRECTPROC __glewDispatchComputeIndirect = NULL; + +PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC __glewDispatchComputeGroupSizeARB = NULL; + +PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData = NULL; + +PFNGLCOPYIMAGESUBDATAPROC __glewCopyImageSubData = NULL; + +PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB = NULL; +PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB = NULL; +PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB = NULL; +PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB = NULL; + +PFNGLBINDTEXTUREUNITPROC __glewBindTextureUnit = NULL; +PFNGLBLITNAMEDFRAMEBUFFERPROC __glewBlitNamedFramebuffer = NULL; +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC __glewCheckNamedFramebufferStatus = NULL; +PFNGLCLEARNAMEDBUFFERDATAPROC __glewClearNamedBufferData = NULL; +PFNGLCLEARNAMEDBUFFERSUBDATAPROC __glewClearNamedBufferSubData = NULL; +PFNGLCLEARNAMEDFRAMEBUFFERFIPROC __glewClearNamedFramebufferfi = NULL; +PFNGLCLEARNAMEDFRAMEBUFFERFVPROC __glewClearNamedFramebufferfv = NULL; +PFNGLCLEARNAMEDFRAMEBUFFERIVPROC __glewClearNamedFramebufferiv = NULL; +PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC __glewClearNamedFramebufferuiv = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC __glewCompressedTextureSubImage1D = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC __glewCompressedTextureSubImage2D = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC __glewCompressedTextureSubImage3D = NULL; +PFNGLCOPYNAMEDBUFFERSUBDATAPROC __glewCopyNamedBufferSubData = NULL; +PFNGLCOPYTEXTURESUBIMAGE1DPROC __glewCopyTextureSubImage1D = NULL; +PFNGLCOPYTEXTURESUBIMAGE2DPROC __glewCopyTextureSubImage2D = NULL; +PFNGLCOPYTEXTURESUBIMAGE3DPROC __glewCopyTextureSubImage3D = NULL; +PFNGLCREATEBUFFERSPROC __glewCreateBuffers = NULL; +PFNGLCREATEFRAMEBUFFERSPROC __glewCreateFramebuffers = NULL; +PFNGLCREATEPROGRAMPIPELINESPROC __glewCreateProgramPipelines = NULL; +PFNGLCREATEQUERIESPROC __glewCreateQueries = NULL; +PFNGLCREATERENDERBUFFERSPROC __glewCreateRenderbuffers = NULL; +PFNGLCREATESAMPLERSPROC __glewCreateSamplers = NULL; +PFNGLCREATETEXTURESPROC __glewCreateTextures = NULL; +PFNGLCREATETRANSFORMFEEDBACKSPROC __glewCreateTransformFeedbacks = NULL; +PFNGLCREATEVERTEXARRAYSPROC __glewCreateVertexArrays = NULL; +PFNGLDISABLEVERTEXARRAYATTRIBPROC __glewDisableVertexArrayAttrib = NULL; +PFNGLENABLEVERTEXARRAYATTRIBPROC __glewEnableVertexArrayAttrib = NULL; +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC __glewFlushMappedNamedBufferRange = NULL; +PFNGLGENERATETEXTUREMIPMAPPROC __glewGenerateTextureMipmap = NULL; +PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC __glewGetCompressedTextureImage = NULL; +PFNGLGETNAMEDBUFFERPARAMETERI64VPROC __glewGetNamedBufferParameteri64v = NULL; +PFNGLGETNAMEDBUFFERPARAMETERIVPROC __glewGetNamedBufferParameteriv = NULL; +PFNGLGETNAMEDBUFFERPOINTERVPROC __glewGetNamedBufferPointerv = NULL; +PFNGLGETNAMEDBUFFERSUBDATAPROC __glewGetNamedBufferSubData = NULL; +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetNamedFramebufferAttachmentParameteriv = NULL; +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC __glewGetNamedFramebufferParameteriv = NULL; +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC __glewGetNamedRenderbufferParameteriv = NULL; +PFNGLGETQUERYBUFFEROBJECTI64VPROC __glewGetQueryBufferObjecti64v = NULL; +PFNGLGETQUERYBUFFEROBJECTIVPROC __glewGetQueryBufferObjectiv = NULL; +PFNGLGETQUERYBUFFEROBJECTUI64VPROC __glewGetQueryBufferObjectui64v = NULL; +PFNGLGETQUERYBUFFEROBJECTUIVPROC __glewGetQueryBufferObjectuiv = NULL; +PFNGLGETTEXTUREIMAGEPROC __glewGetTextureImage = NULL; +PFNGLGETTEXTURELEVELPARAMETERFVPROC __glewGetTextureLevelParameterfv = NULL; +PFNGLGETTEXTURELEVELPARAMETERIVPROC __glewGetTextureLevelParameteriv = NULL; +PFNGLGETTEXTUREPARAMETERIIVPROC __glewGetTextureParameterIiv = NULL; +PFNGLGETTEXTUREPARAMETERIUIVPROC __glewGetTextureParameterIuiv = NULL; +PFNGLGETTEXTUREPARAMETERFVPROC __glewGetTextureParameterfv = NULL; +PFNGLGETTEXTUREPARAMETERIVPROC __glewGetTextureParameteriv = NULL; +PFNGLGETTRANSFORMFEEDBACKI64_VPROC __glewGetTransformFeedbacki64_v = NULL; +PFNGLGETTRANSFORMFEEDBACKI_VPROC __glewGetTransformFeedbacki_v = NULL; +PFNGLGETTRANSFORMFEEDBACKIVPROC __glewGetTransformFeedbackiv = NULL; +PFNGLGETVERTEXARRAYINDEXED64IVPROC __glewGetVertexArrayIndexed64iv = NULL; +PFNGLGETVERTEXARRAYINDEXEDIVPROC __glewGetVertexArrayIndexediv = NULL; +PFNGLGETVERTEXARRAYIVPROC __glewGetVertexArrayiv = NULL; +PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC __glewInvalidateNamedFramebufferData = NULL; +PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC __glewInvalidateNamedFramebufferSubData = NULL; +PFNGLMAPNAMEDBUFFERPROC __glewMapNamedBuffer = NULL; +PFNGLMAPNAMEDBUFFERRANGEPROC __glewMapNamedBufferRange = NULL; +PFNGLNAMEDBUFFERDATAPROC __glewNamedBufferData = NULL; +PFNGLNAMEDBUFFERSTORAGEPROC __glewNamedBufferStorage = NULL; +PFNGLNAMEDBUFFERSUBDATAPROC __glewNamedBufferSubData = NULL; +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC __glewNamedFramebufferDrawBuffer = NULL; +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC __glewNamedFramebufferDrawBuffers = NULL; +PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC __glewNamedFramebufferParameteri = NULL; +PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC __glewNamedFramebufferReadBuffer = NULL; +PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC __glewNamedFramebufferRenderbuffer = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTUREPROC __glewNamedFramebufferTexture = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC __glewNamedFramebufferTextureLayer = NULL; +PFNGLNAMEDRENDERBUFFERSTORAGEPROC __glewNamedRenderbufferStorage = NULL; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewNamedRenderbufferStorageMultisample = NULL; +PFNGLTEXTUREBUFFERPROC __glewTextureBuffer = NULL; +PFNGLTEXTUREBUFFERRANGEPROC __glewTextureBufferRange = NULL; +PFNGLTEXTUREPARAMETERIIVPROC __glewTextureParameterIiv = NULL; +PFNGLTEXTUREPARAMETERIUIVPROC __glewTextureParameterIuiv = NULL; +PFNGLTEXTUREPARAMETERFPROC __glewTextureParameterf = NULL; +PFNGLTEXTUREPARAMETERFVPROC __glewTextureParameterfv = NULL; +PFNGLTEXTUREPARAMETERIPROC __glewTextureParameteri = NULL; +PFNGLTEXTUREPARAMETERIVPROC __glewTextureParameteriv = NULL; +PFNGLTEXTURESTORAGE1DPROC __glewTextureStorage1D = NULL; +PFNGLTEXTURESTORAGE2DPROC __glewTextureStorage2D = NULL; +PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC __glewTextureStorage2DMultisample = NULL; +PFNGLTEXTURESTORAGE3DPROC __glewTextureStorage3D = NULL; +PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC __glewTextureStorage3DMultisample = NULL; +PFNGLTEXTURESUBIMAGE1DPROC __glewTextureSubImage1D = NULL; +PFNGLTEXTURESUBIMAGE2DPROC __glewTextureSubImage2D = NULL; +PFNGLTEXTURESUBIMAGE3DPROC __glewTextureSubImage3D = NULL; +PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC __glewTransformFeedbackBufferBase = NULL; +PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC __glewTransformFeedbackBufferRange = NULL; +PFNGLUNMAPNAMEDBUFFERPROC __glewUnmapNamedBuffer = NULL; +PFNGLVERTEXARRAYATTRIBBINDINGPROC __glewVertexArrayAttribBinding = NULL; +PFNGLVERTEXARRAYATTRIBFORMATPROC __glewVertexArrayAttribFormat = NULL; +PFNGLVERTEXARRAYATTRIBIFORMATPROC __glewVertexArrayAttribIFormat = NULL; +PFNGLVERTEXARRAYATTRIBLFORMATPROC __glewVertexArrayAttribLFormat = NULL; +PFNGLVERTEXARRAYBINDINGDIVISORPROC __glewVertexArrayBindingDivisor = NULL; +PFNGLVERTEXARRAYELEMENTBUFFERPROC __glewVertexArrayElementBuffer = NULL; +PFNGLVERTEXARRAYVERTEXBUFFERPROC __glewVertexArrayVertexBuffer = NULL; +PFNGLVERTEXARRAYVERTEXBUFFERSPROC __glewVertexArrayVertexBuffers = NULL; + +PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB = NULL; + +PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB = NULL; +PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB = NULL; +PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB = NULL; +PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB = NULL; + +PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex = NULL; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex = NULL; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex = NULL; + +PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect = NULL; +PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect = NULL; + +PFNGLFRAMEBUFFERPARAMETERIPROC __glewFramebufferParameteri = NULL; +PFNGLGETFRAMEBUFFERPARAMETERIVPROC __glewGetFramebufferParameteriv = NULL; +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __glewGetNamedFramebufferParameterivEXT = NULL; +PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __glewNamedFramebufferParameteriEXT = NULL; + +PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer = NULL; +PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer = NULL; +PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer = NULL; +PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus = NULL; +PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers = NULL; +PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers = NULL; +PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer = NULL; +PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D = NULL; +PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D = NULL; +PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D = NULL; +PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer = NULL; +PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers = NULL; +PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers = NULL; +PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap = NULL; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv = NULL; +PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv = NULL; +PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer = NULL; +PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer = NULL; +PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage = NULL; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample = NULL; + +PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB = NULL; +PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB = NULL; +PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB = NULL; +PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB = NULL; + +PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary = NULL; +PFNGLPROGRAMBINARYPROC __glewProgramBinary = NULL; +PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri = NULL; + +PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC __glewGetCompressedTextureSubImage = NULL; +PFNGLGETTEXTURESUBIMAGEPROC __glewGetTextureSubImage = NULL; + +PFNGLSPECIALIZESHADERARBPROC __glewSpecializeShaderARB = NULL; + +PFNGLGETUNIFORMDVPROC __glewGetUniformdv = NULL; +PFNGLUNIFORM1DPROC __glewUniform1d = NULL; +PFNGLUNIFORM1DVPROC __glewUniform1dv = NULL; +PFNGLUNIFORM2DPROC __glewUniform2d = NULL; +PFNGLUNIFORM2DVPROC __glewUniform2dv = NULL; +PFNGLUNIFORM3DPROC __glewUniform3d = NULL; +PFNGLUNIFORM3DVPROC __glewUniform3dv = NULL; +PFNGLUNIFORM4DPROC __glewUniform4d = NULL; +PFNGLUNIFORM4DVPROC __glewUniform4dv = NULL; +PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv = NULL; +PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv = NULL; +PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv = NULL; +PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv = NULL; +PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv = NULL; +PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv = NULL; +PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv = NULL; +PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv = NULL; +PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv = NULL; + +PFNGLGETUNIFORMI64VARBPROC __glewGetUniformi64vARB = NULL; +PFNGLGETUNIFORMUI64VARBPROC __glewGetUniformui64vARB = NULL; +PFNGLGETNUNIFORMI64VARBPROC __glewGetnUniformi64vARB = NULL; +PFNGLGETNUNIFORMUI64VARBPROC __glewGetnUniformui64vARB = NULL; +PFNGLPROGRAMUNIFORM1I64ARBPROC __glewProgramUniform1i64ARB = NULL; +PFNGLPROGRAMUNIFORM1I64VARBPROC __glewProgramUniform1i64vARB = NULL; +PFNGLPROGRAMUNIFORM1UI64ARBPROC __glewProgramUniform1ui64ARB = NULL; +PFNGLPROGRAMUNIFORM1UI64VARBPROC __glewProgramUniform1ui64vARB = NULL; +PFNGLPROGRAMUNIFORM2I64ARBPROC __glewProgramUniform2i64ARB = NULL; +PFNGLPROGRAMUNIFORM2I64VARBPROC __glewProgramUniform2i64vARB = NULL; +PFNGLPROGRAMUNIFORM2UI64ARBPROC __glewProgramUniform2ui64ARB = NULL; +PFNGLPROGRAMUNIFORM2UI64VARBPROC __glewProgramUniform2ui64vARB = NULL; +PFNGLPROGRAMUNIFORM3I64ARBPROC __glewProgramUniform3i64ARB = NULL; +PFNGLPROGRAMUNIFORM3I64VARBPROC __glewProgramUniform3i64vARB = NULL; +PFNGLPROGRAMUNIFORM3UI64ARBPROC __glewProgramUniform3ui64ARB = NULL; +PFNGLPROGRAMUNIFORM3UI64VARBPROC __glewProgramUniform3ui64vARB = NULL; +PFNGLPROGRAMUNIFORM4I64ARBPROC __glewProgramUniform4i64ARB = NULL; +PFNGLPROGRAMUNIFORM4I64VARBPROC __glewProgramUniform4i64vARB = NULL; +PFNGLPROGRAMUNIFORM4UI64ARBPROC __glewProgramUniform4ui64ARB = NULL; +PFNGLPROGRAMUNIFORM4UI64VARBPROC __glewProgramUniform4ui64vARB = NULL; +PFNGLUNIFORM1I64ARBPROC __glewUniform1i64ARB = NULL; +PFNGLUNIFORM1I64VARBPROC __glewUniform1i64vARB = NULL; +PFNGLUNIFORM1UI64ARBPROC __glewUniform1ui64ARB = NULL; +PFNGLUNIFORM1UI64VARBPROC __glewUniform1ui64vARB = NULL; +PFNGLUNIFORM2I64ARBPROC __glewUniform2i64ARB = NULL; +PFNGLUNIFORM2I64VARBPROC __glewUniform2i64vARB = NULL; +PFNGLUNIFORM2UI64ARBPROC __glewUniform2ui64ARB = NULL; +PFNGLUNIFORM2UI64VARBPROC __glewUniform2ui64vARB = NULL; +PFNGLUNIFORM3I64ARBPROC __glewUniform3i64ARB = NULL; +PFNGLUNIFORM3I64VARBPROC __glewUniform3i64vARB = NULL; +PFNGLUNIFORM3UI64ARBPROC __glewUniform3ui64ARB = NULL; +PFNGLUNIFORM3UI64VARBPROC __glewUniform3ui64vARB = NULL; +PFNGLUNIFORM4I64ARBPROC __glewUniform4i64ARB = NULL; +PFNGLUNIFORM4I64VARBPROC __glewUniform4i64vARB = NULL; +PFNGLUNIFORM4UI64ARBPROC __glewUniform4ui64ARB = NULL; +PFNGLUNIFORM4UI64VARBPROC __glewUniform4ui64vARB = NULL; + +PFNGLCOLORSUBTABLEPROC __glewColorSubTable = NULL; +PFNGLCOLORTABLEPROC __glewColorTable = NULL; +PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv = NULL; +PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv = NULL; +PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D = NULL; +PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D = NULL; +PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf = NULL; +PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv = NULL; +PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri = NULL; +PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv = NULL; +PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable = NULL; +PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable = NULL; +PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D = NULL; +PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D = NULL; +PFNGLGETCOLORTABLEPROC __glewGetColorTable = NULL; +PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv = NULL; +PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv = NULL; +PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter = NULL; +PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv = NULL; +PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv = NULL; +PFNGLGETHISTOGRAMPROC __glewGetHistogram = NULL; +PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv = NULL; +PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv = NULL; +PFNGLGETMINMAXPROC __glewGetMinmax = NULL; +PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv = NULL; +PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv = NULL; +PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter = NULL; +PFNGLHISTOGRAMPROC __glewHistogram = NULL; +PFNGLMINMAXPROC __glewMinmax = NULL; +PFNGLRESETHISTOGRAMPROC __glewResetHistogram = NULL; +PFNGLRESETMINMAXPROC __glewResetMinmax = NULL; +PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC __glewMultiDrawArraysIndirectCountARB = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC __glewMultiDrawElementsIndirectCountARB = NULL; + +PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL; +PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL; +PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB = NULL; + +PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ = NULL; + +PFNGLGETINTERNALFORMATI64VPROC __glewGetInternalformati64v = NULL; + +PFNGLINVALIDATEBUFFERDATAPROC __glewInvalidateBufferData = NULL; +PFNGLINVALIDATEBUFFERSUBDATAPROC __glewInvalidateBufferSubData = NULL; +PFNGLINVALIDATEFRAMEBUFFERPROC __glewInvalidateFramebuffer = NULL; +PFNGLINVALIDATESUBFRAMEBUFFERPROC __glewInvalidateSubFramebuffer = NULL; +PFNGLINVALIDATETEXIMAGEPROC __glewInvalidateTexImage = NULL; +PFNGLINVALIDATETEXSUBIMAGEPROC __glewInvalidateTexSubImage = NULL; + +PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange = NULL; +PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange = NULL; + +PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB = NULL; +PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB = NULL; +PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB = NULL; +PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB = NULL; +PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB = NULL; + +PFNGLBINDBUFFERSBASEPROC __glewBindBuffersBase = NULL; +PFNGLBINDBUFFERSRANGEPROC __glewBindBuffersRange = NULL; +PFNGLBINDIMAGETEXTURESPROC __glewBindImageTextures = NULL; +PFNGLBINDSAMPLERSPROC __glewBindSamplers = NULL; +PFNGLBINDTEXTURESPROC __glewBindTextures = NULL; +PFNGLBINDVERTEXBUFFERSPROC __glewBindVertexBuffers = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTPROC __glewMultiDrawArraysIndirect = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTPROC __glewMultiDrawElementsIndirect = NULL; + +PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB = NULL; + +PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB = NULL; +PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB = NULL; +PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB = NULL; +PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB = NULL; +PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB = NULL; +PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB = NULL; +PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB = NULL; +PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB = NULL; +PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB = NULL; +PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB = NULL; +PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB = NULL; +PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB = NULL; +PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB = NULL; +PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB = NULL; +PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB = NULL; +PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB = NULL; +PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB = NULL; +PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB = NULL; +PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB = NULL; +PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB = NULL; +PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB = NULL; +PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB = NULL; +PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB = NULL; +PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB = NULL; +PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB = NULL; +PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB = NULL; +PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB = NULL; +PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB = NULL; +PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB = NULL; +PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB = NULL; +PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB = NULL; +PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB = NULL; +PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB = NULL; +PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB = NULL; + +PFNGLBEGINQUERYARBPROC __glewBeginQueryARB = NULL; +PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB = NULL; +PFNGLENDQUERYARBPROC __glewEndQueryARB = NULL; +PFNGLGENQUERIESARBPROC __glewGenQueriesARB = NULL; +PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB = NULL; +PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB = NULL; +PFNGLGETQUERYIVARBPROC __glewGetQueryivARB = NULL; +PFNGLISQUERYARBPROC __glewIsQueryARB = NULL; + +PFNGLMAXSHADERCOMPILERTHREADSARBPROC __glewMaxShaderCompilerThreadsARB = NULL; + +PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB = NULL; +PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB = NULL; + +PFNGLPOLYGONOFFSETCLAMPPROC __glewPolygonOffsetClamp = NULL; + +PFNGLGETPROGRAMINTERFACEIVPROC __glewGetProgramInterfaceiv = NULL; +PFNGLGETPROGRAMRESOURCEINDEXPROC __glewGetProgramResourceIndex = NULL; +PFNGLGETPROGRAMRESOURCELOCATIONPROC __glewGetProgramResourceLocation = NULL; +PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __glewGetProgramResourceLocationIndex = NULL; +PFNGLGETPROGRAMRESOURCENAMEPROC __glewGetProgramResourceName = NULL; +PFNGLGETPROGRAMRESOURCEIVPROC __glewGetProgramResourceiv = NULL; + +PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex = NULL; + +PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB = NULL; +PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB = NULL; +PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB = NULL; +PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB = NULL; +PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB = NULL; +PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB = NULL; +PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB = NULL; +PFNGLGETNMAPIVARBPROC __glewGetnMapivARB = NULL; +PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB = NULL; +PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB = NULL; +PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB = NULL; +PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB = NULL; +PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB = NULL; +PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB = NULL; +PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB = NULL; +PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB = NULL; +PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB = NULL; +PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB = NULL; +PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB = NULL; +PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB = NULL; + +PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewFramebufferSampleLocationsfvARB = NULL; +PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewNamedFramebufferSampleLocationsfvARB = NULL; + +PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB = NULL; + +PFNGLBINDSAMPLERPROC __glewBindSampler = NULL; +PFNGLDELETESAMPLERSPROC __glewDeleteSamplers = NULL; +PFNGLGENSAMPLERSPROC __glewGenSamplers = NULL; +PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv = NULL; +PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv = NULL; +PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv = NULL; +PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv = NULL; +PFNGLISSAMPLERPROC __glewIsSampler = NULL; +PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv = NULL; +PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv = NULL; +PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf = NULL; +PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv = NULL; +PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri = NULL; +PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv = NULL; + +PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram = NULL; +PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline = NULL; +PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv = NULL; +PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines = NULL; +PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines = NULL; +PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog = NULL; +PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv = NULL; +PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline = NULL; +PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d = NULL; +PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv = NULL; +PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f = NULL; +PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv = NULL; +PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i = NULL; +PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv = NULL; +PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui = NULL; +PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv = NULL; +PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d = NULL; +PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv = NULL; +PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f = NULL; +PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv = NULL; +PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i = NULL; +PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv = NULL; +PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui = NULL; +PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv = NULL; +PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d = NULL; +PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv = NULL; +PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f = NULL; +PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv = NULL; +PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i = NULL; +PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv = NULL; +PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui = NULL; +PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv = NULL; +PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d = NULL; +PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv = NULL; +PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f = NULL; +PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv = NULL; +PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i = NULL; +PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv = NULL; +PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui = NULL; +PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv = NULL; +PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages = NULL; +PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline = NULL; + +PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv = NULL; + +PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture = NULL; +PFNGLMEMORYBARRIERPROC __glewMemoryBarrier = NULL; + +PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB = NULL; +PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB = NULL; +PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB = NULL; +PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB = NULL; +PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB = NULL; +PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB = NULL; +PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB = NULL; +PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB = NULL; +PFNGLGETHANDLEARBPROC __glewGetHandleARB = NULL; +PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB = NULL; +PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB = NULL; +PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB = NULL; +PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB = NULL; +PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB = NULL; +PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB = NULL; +PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB = NULL; +PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB = NULL; +PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB = NULL; +PFNGLUNIFORM1FARBPROC __glewUniform1fARB = NULL; +PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB = NULL; +PFNGLUNIFORM1IARBPROC __glewUniform1iARB = NULL; +PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB = NULL; +PFNGLUNIFORM2FARBPROC __glewUniform2fARB = NULL; +PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB = NULL; +PFNGLUNIFORM2IARBPROC __glewUniform2iARB = NULL; +PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB = NULL; +PFNGLUNIFORM3FARBPROC __glewUniform3fARB = NULL; +PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB = NULL; +PFNGLUNIFORM3IARBPROC __glewUniform3iARB = NULL; +PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB = NULL; +PFNGLUNIFORM4FARBPROC __glewUniform4fARB = NULL; +PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB = NULL; +PFNGLUNIFORM4IARBPROC __glewUniform4iARB = NULL; +PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB = NULL; +PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB = NULL; +PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB = NULL; +PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB = NULL; +PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB = NULL; +PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB = NULL; + +PFNGLSHADERSTORAGEBLOCKBINDINGPROC __glewShaderStorageBlockBinding = NULL; + +PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName = NULL; +PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName = NULL; +PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv = NULL; +PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv = NULL; +PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex = NULL; +PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation = NULL; +PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv = NULL; +PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv = NULL; + +PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB = NULL; +PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB = NULL; +PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB = NULL; +PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB = NULL; +PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB = NULL; +PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB = NULL; + +PFNGLBUFFERPAGECOMMITMENTARBPROC __glewBufferPageCommitmentARB = NULL; + +PFNGLTEXPAGECOMMITMENTARBPROC __glewTexPageCommitmentARB = NULL; + +PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync = NULL; +PFNGLDELETESYNCPROC __glewDeleteSync = NULL; +PFNGLFENCESYNCPROC __glewFenceSync = NULL; +PFNGLGETINTEGER64VPROC __glewGetInteger64v = NULL; +PFNGLGETSYNCIVPROC __glewGetSynciv = NULL; +PFNGLISSYNCPROC __glewIsSync = NULL; +PFNGLWAITSYNCPROC __glewWaitSync = NULL; + +PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv = NULL; +PFNGLPATCHPARAMETERIPROC __glewPatchParameteri = NULL; + +PFNGLTEXTUREBARRIERPROC __glewTextureBarrier = NULL; + +PFNGLTEXBUFFERARBPROC __glewTexBufferARB = NULL; + +PFNGLTEXBUFFERRANGEPROC __glewTexBufferRange = NULL; +PFNGLTEXTUREBUFFERRANGEEXTPROC __glewTextureBufferRangeEXT = NULL; + +PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB = NULL; +PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB = NULL; +PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB = NULL; +PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB = NULL; + +PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv = NULL; +PFNGLSAMPLEMASKIPROC __glewSampleMaski = NULL; +PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample = NULL; +PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample = NULL; + +PFNGLTEXSTORAGE1DPROC __glewTexStorage1D = NULL; +PFNGLTEXSTORAGE2DPROC __glewTexStorage2D = NULL; +PFNGLTEXSTORAGE3DPROC __glewTexStorage3D = NULL; + +PFNGLTEXSTORAGE2DMULTISAMPLEPROC __glewTexStorage2DMultisample = NULL; +PFNGLTEXSTORAGE3DMULTISAMPLEPROC __glewTexStorage3DMultisample = NULL; +PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __glewTextureStorage2DMultisampleEXT = NULL; +PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __glewTextureStorage3DMultisampleEXT = NULL; + +PFNGLTEXTUREVIEWPROC __glewTextureView = NULL; + +PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v = NULL; +PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v = NULL; +PFNGLQUERYCOUNTERPROC __glewQueryCounter = NULL; + +PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback = NULL; +PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks = NULL; +PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback = NULL; +PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks = NULL; +PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback = NULL; +PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback = NULL; +PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback = NULL; + +PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed = NULL; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream = NULL; +PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed = NULL; +PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv = NULL; + +PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced = NULL; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced = NULL; + +PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB = NULL; +PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB = NULL; +PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB = NULL; +PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB = NULL; + +PFNGLBINDBUFFERBASEPROC __glewBindBufferBase = NULL; +PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange = NULL; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName = NULL; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv = NULL; +PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName = NULL; +PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv = NULL; +PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v = NULL; +PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex = NULL; +PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices = NULL; +PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding = NULL; + +PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray = NULL; +PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays = NULL; +PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays = NULL; +PFNGLISVERTEXARRAYPROC __glewIsVertexArray = NULL; + +PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv = NULL; +PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d = NULL; +PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv = NULL; +PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d = NULL; +PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv = NULL; +PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d = NULL; +PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv = NULL; +PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d = NULL; +PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv = NULL; +PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer = NULL; + +PFNGLBINDVERTEXBUFFERPROC __glewBindVertexBuffer = NULL; +PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC __glewVertexArrayBindVertexBufferEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC __glewVertexArrayVertexAttribBindingEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC __glewVertexArrayVertexAttribFormatEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC __glewVertexArrayVertexAttribIFormatEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC __glewVertexArrayVertexAttribLFormatEXT = NULL; +PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC __glewVertexArrayVertexBindingDivisorEXT = NULL; +PFNGLVERTEXATTRIBBINDINGPROC __glewVertexAttribBinding = NULL; +PFNGLVERTEXATTRIBFORMATPROC __glewVertexAttribFormat = NULL; +PFNGLVERTEXATTRIBIFORMATPROC __glewVertexAttribIFormat = NULL; +PFNGLVERTEXATTRIBLFORMATPROC __glewVertexAttribLFormat = NULL; +PFNGLVERTEXBINDINGDIVISORPROC __glewVertexBindingDivisor = NULL; + +PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB = NULL; +PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB = NULL; +PFNGLWEIGHTBVARBPROC __glewWeightbvARB = NULL; +PFNGLWEIGHTDVARBPROC __glewWeightdvARB = NULL; +PFNGLWEIGHTFVARBPROC __glewWeightfvARB = NULL; +PFNGLWEIGHTIVARBPROC __glewWeightivARB = NULL; +PFNGLWEIGHTSVARBPROC __glewWeightsvARB = NULL; +PFNGLWEIGHTUBVARBPROC __glewWeightubvARB = NULL; +PFNGLWEIGHTUIVARBPROC __glewWeightuivARB = NULL; +PFNGLWEIGHTUSVARBPROC __glewWeightusvARB = NULL; + +PFNGLBINDBUFFERARBPROC __glewBindBufferARB = NULL; +PFNGLBUFFERDATAARBPROC __glewBufferDataARB = NULL; +PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB = NULL; +PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB = NULL; +PFNGLGENBUFFERSARBPROC __glewGenBuffersARB = NULL; +PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB = NULL; +PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB = NULL; +PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB = NULL; +PFNGLISBUFFERARBPROC __glewIsBufferARB = NULL; +PFNGLMAPBUFFERARBPROC __glewMapBufferARB = NULL; +PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB = NULL; + +PFNGLBINDPROGRAMARBPROC __glewBindProgramARB = NULL; +PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB = NULL; +PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB = NULL; +PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB = NULL; +PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB = NULL; +PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB = NULL; +PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB = NULL; +PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB = NULL; +PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB = NULL; +PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB = NULL; +PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB = NULL; +PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB = NULL; +PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB = NULL; +PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB = NULL; +PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB = NULL; +PFNGLISPROGRAMARBPROC __glewIsProgramARB = NULL; +PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB = NULL; +PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB = NULL; +PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB = NULL; +PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB = NULL; +PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB = NULL; +PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB = NULL; +PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB = NULL; +PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB = NULL; +PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB = NULL; +PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB = NULL; +PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB = NULL; +PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB = NULL; +PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB = NULL; +PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB = NULL; +PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB = NULL; +PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB = NULL; +PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB = NULL; +PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB = NULL; +PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB = NULL; +PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB = NULL; +PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB = NULL; +PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB = NULL; +PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB = NULL; +PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB = NULL; +PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB = NULL; +PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB = NULL; +PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB = NULL; +PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB = NULL; +PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB = NULL; +PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB = NULL; +PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB = NULL; +PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB = NULL; +PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB = NULL; +PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB = NULL; +PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB = NULL; +PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB = NULL; +PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB = NULL; +PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB = NULL; +PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB = NULL; +PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB = NULL; +PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB = NULL; +PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB = NULL; +PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB = NULL; +PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB = NULL; +PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB = NULL; +PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB = NULL; + +PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB = NULL; +PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB = NULL; +PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB = NULL; + +PFNGLCOLORP3UIPROC __glewColorP3ui = NULL; +PFNGLCOLORP3UIVPROC __glewColorP3uiv = NULL; +PFNGLCOLORP4UIPROC __glewColorP4ui = NULL; +PFNGLCOLORP4UIVPROC __glewColorP4uiv = NULL; +PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui = NULL; +PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv = NULL; +PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui = NULL; +PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv = NULL; +PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui = NULL; +PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv = NULL; +PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui = NULL; +PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv = NULL; +PFNGLNORMALP3UIPROC __glewNormalP3ui = NULL; +PFNGLNORMALP3UIVPROC __glewNormalP3uiv = NULL; +PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui = NULL; +PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv = NULL; +PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui = NULL; +PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv = NULL; +PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui = NULL; +PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv = NULL; +PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui = NULL; +PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv = NULL; +PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui = NULL; +PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv = NULL; +PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui = NULL; +PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv = NULL; +PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui = NULL; +PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv = NULL; +PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui = NULL; +PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv = NULL; +PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui = NULL; +PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv = NULL; +PFNGLVERTEXP2UIPROC __glewVertexP2ui = NULL; +PFNGLVERTEXP2UIVPROC __glewVertexP2uiv = NULL; +PFNGLVERTEXP3UIPROC __glewVertexP3ui = NULL; +PFNGLVERTEXP3UIVPROC __glewVertexP3uiv = NULL; +PFNGLVERTEXP4UIPROC __glewVertexP4ui = NULL; +PFNGLVERTEXP4UIVPROC __glewVertexP4uiv = NULL; + +PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv = NULL; +PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed = NULL; +PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v = NULL; +PFNGLGETFLOATI_VPROC __glewGetFloati_v = NULL; +PFNGLSCISSORARRAYVPROC __glewScissorArrayv = NULL; +PFNGLSCISSORINDEXEDPROC __glewScissorIndexed = NULL; +PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv = NULL; +PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv = NULL; +PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf = NULL; +PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv = NULL; + +PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB = NULL; +PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB = NULL; +PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB = NULL; +PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB = NULL; +PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB = NULL; +PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB = NULL; +PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB = NULL; +PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB = NULL; +PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB = NULL; +PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB = NULL; +PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB = NULL; +PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB = NULL; +PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB = NULL; +PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB = NULL; +PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB = NULL; +PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB = NULL; + +PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI = NULL; + +PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI = NULL; +PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI = NULL; +PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI = NULL; + +PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI = NULL; +PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI = NULL; +PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI = NULL; +PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI = NULL; + +PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI = NULL; +PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI = NULL; +PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI = NULL; +PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI = NULL; +PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI = NULL; +PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI = NULL; +PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI = NULL; +PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI = NULL; +PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI = NULL; +PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI = NULL; +PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI = NULL; +PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI = NULL; +PFNGLSAMPLEMAPATIPROC __glewSampleMapATI = NULL; +PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI = NULL; + +PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI = NULL; +PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI = NULL; + +PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI = NULL; +PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI = NULL; + +PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI = NULL; +PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI = NULL; + +PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI = NULL; +PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI = NULL; +PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI = NULL; +PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI = NULL; +PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI = NULL; +PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI = NULL; +PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI = NULL; +PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI = NULL; +PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI = NULL; +PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI = NULL; +PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI = NULL; +PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI = NULL; + +PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI = NULL; +PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI = NULL; +PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI = NULL; + +PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI = NULL; +PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI = NULL; +PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI = NULL; +PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI = NULL; +PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI = NULL; +PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI = NULL; +PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI = NULL; +PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI = NULL; +PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI = NULL; +PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI = NULL; +PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI = NULL; +PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI = NULL; +PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI = NULL; +PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI = NULL; +PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI = NULL; +PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI = NULL; +PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI = NULL; +PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI = NULL; +PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI = NULL; +PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI = NULL; +PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI = NULL; +PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI = NULL; +PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI = NULL; +PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI = NULL; +PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI = NULL; +PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI = NULL; +PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI = NULL; +PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI = NULL; +PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI = NULL; +PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI = NULL; +PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI = NULL; +PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI = NULL; +PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI = NULL; +PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI = NULL; +PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI = NULL; +PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI = NULL; +PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI = NULL; +PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI = NULL; +PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI = NULL; +PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI = NULL; +PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI = NULL; +PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI = NULL; +PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI = NULL; +PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI = NULL; +PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI = NULL; + +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC __glewDrawArraysInstancedBaseInstanceEXT = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC __glewDrawElementsInstancedBaseInstanceEXT = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC __glewDrawElementsInstancedBaseVertexBaseInstanceEXT = NULL; + +PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT = NULL; +PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT = NULL; +PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT = NULL; + +PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT = NULL; + +PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT = NULL; + +PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC __glewBindFragDataLocationIndexedEXT = NULL; +PFNGLGETFRAGDATAINDEXEXTPROC __glewGetFragDataIndexEXT = NULL; +PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC __glewGetProgramResourceLocationIndexEXT = NULL; + +PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT = NULL; + +PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT = NULL; + +PFNGLBUFFERSTORAGEEXTPROC __glewBufferStorageEXT = NULL; +PFNGLNAMEDBUFFERSTORAGEEXTPROC __glewNamedBufferStorageEXT = NULL; + +PFNGLCLEARTEXIMAGEEXTPROC __glewClearTexImageEXT = NULL; +PFNGLCLEARTEXSUBIMAGEEXTPROC __glewClearTexSubImageEXT = NULL; + +PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT = NULL; +PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT = NULL; + +PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT = NULL; +PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT = NULL; + +PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT = NULL; +PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT = NULL; +PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT = NULL; +PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT = NULL; +PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT = NULL; +PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT = NULL; +PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT = NULL; +PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT = NULL; +PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT = NULL; +PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT = NULL; +PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT = NULL; +PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT = NULL; +PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT = NULL; + +PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT = NULL; +PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT = NULL; + +PFNGLCOPYIMAGESUBDATAEXTPROC __glewCopyImageSubDataEXT = NULL; + +PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT = NULL; +PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT = NULL; +PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT = NULL; +PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT = NULL; +PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT = NULL; + +PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT = NULL; +PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT = NULL; + +PFNGLGETOBJECTLABELEXTPROC __glewGetObjectLabelEXT = NULL; +PFNGLLABELOBJECTEXTPROC __glewLabelObjectEXT = NULL; + +PFNGLINSERTEVENTMARKEREXTPROC __glewInsertEventMarkerEXT = NULL; +PFNGLPOPGROUPMARKEREXTPROC __glewPopGroupMarkerEXT = NULL; +PFNGLPUSHGROUPMARKEREXTPROC __glewPushGroupMarkerEXT = NULL; + +PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT = NULL; + +PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT = NULL; +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT = NULL; +PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT = NULL; +PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT = NULL; +PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT = NULL; +PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT = NULL; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT = NULL; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT = NULL; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT = NULL; +PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT = NULL; +PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT = NULL; +PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT = NULL; +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT = NULL; +PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT = NULL; +PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT = NULL; +PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT = NULL; +PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT = NULL; +PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT = NULL; +PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT = NULL; +PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT = NULL; +PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT = NULL; +PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT = NULL; +PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT = NULL; +PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT = NULL; +PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT = NULL; +PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT = NULL; +PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT = NULL; +PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT = NULL; +PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT = NULL; +PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT = NULL; +PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT = NULL; +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT = NULL; +PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT = NULL; +PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT = NULL; +PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT = NULL; +PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT = NULL; +PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT = NULL; +PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT = NULL; +PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT = NULL; +PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT = NULL; +PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT = NULL; +PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT = NULL; +PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT = NULL; +PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT = NULL; +PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT = NULL; +PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT = NULL; +PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT = NULL; +PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT = NULL; +PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT = NULL; +PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT = NULL; +PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT = NULL; +PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT = NULL; +PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT = NULL; +PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT = NULL; +PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT = NULL; +PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT = NULL; +PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT = NULL; +PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT = NULL; +PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT = NULL; +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT = NULL; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT = NULL; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT = NULL; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT = NULL; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT = NULL; +PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT = NULL; +PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT = NULL; +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT = NULL; +PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT = NULL; +PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT = NULL; +PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT = NULL; +PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT = NULL; +PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT = NULL; +PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT = NULL; +PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT = NULL; +PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT = NULL; +PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT = NULL; +PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT = NULL; +PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT = NULL; +PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT = NULL; +PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT = NULL; +PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT = NULL; +PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT = NULL; +PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT = NULL; +PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT = NULL; +PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT = NULL; +PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT = NULL; +PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT = NULL; +PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT = NULL; +PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT = NULL; +PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT = NULL; +PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT = NULL; +PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT = NULL; +PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT = NULL; +PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT = NULL; +PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT = NULL; +PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT = NULL; +PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT = NULL; +PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT = NULL; +PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT = NULL; +PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT = NULL; +PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT = NULL; +PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT = NULL; +PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT = NULL; +PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT = NULL; +PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT = NULL; +PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT = NULL; +PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT = NULL; +PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT = NULL; +PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT = NULL; +PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT = NULL; +PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT = NULL; +PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT = NULL; +PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT = NULL; +PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT = NULL; +PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT = NULL; +PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT = NULL; +PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT = NULL; +PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT = NULL; +PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT = NULL; +PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT = NULL; +PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT = NULL; +PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT = NULL; +PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT = NULL; +PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT = NULL; +PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT = NULL; +PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT = NULL; +PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT = NULL; +PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT = NULL; +PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT = NULL; +PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT = NULL; +PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT = NULL; +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT = NULL; +PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT = NULL; +PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT = NULL; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT = NULL; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT = NULL; +PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT = NULL; +PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT = NULL; +PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT = NULL; +PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT = NULL; +PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT = NULL; +PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT = NULL; +PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT = NULL; +PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT = NULL; +PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT = NULL; +PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT = NULL; +PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT = NULL; +PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT = NULL; +PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT = NULL; +PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT = NULL; +PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT = NULL; +PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT = NULL; +PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT = NULL; +PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT = NULL; +PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT = NULL; +PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT = NULL; +PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT = NULL; +PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT = NULL; +PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT = NULL; +PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT = NULL; +PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT = NULL; +PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT = NULL; +PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT = NULL; +PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT = NULL; +PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT = NULL; +PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT = NULL; +PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT = NULL; +PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT = NULL; +PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT = NULL; +PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT = NULL; +PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT = NULL; +PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT = NULL; +PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT = NULL; +PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT = NULL; +PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT = NULL; +PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT = NULL; +PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT = NULL; +PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT = NULL; +PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT = NULL; +PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT = NULL; +PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT = NULL; +PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT = NULL; +PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT = NULL; +PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT = NULL; +PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC __glewVertexArrayVertexAttribDivisorEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT = NULL; +PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT = NULL; + +PFNGLDISCARDFRAMEBUFFEREXTPROC __glewDiscardFramebufferEXT = NULL; + +PFNGLDRAWBUFFERSEXTPROC __glewDrawBuffersEXT = NULL; + +PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT = NULL; +PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT = NULL; +PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT = NULL; +PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT = NULL; +PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT = NULL; +PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT = NULL; + +PFNGLBLENDEQUATIONSEPARATEIEXTPROC __glewBlendEquationSeparateiEXT = NULL; +PFNGLBLENDEQUATIONIEXTPROC __glewBlendEquationiEXT = NULL; +PFNGLBLENDFUNCSEPARATEIEXTPROC __glewBlendFuncSeparateiEXT = NULL; +PFNGLBLENDFUNCIEXTPROC __glewBlendFunciEXT = NULL; +PFNGLCOLORMASKIEXTPROC __glewColorMaskiEXT = NULL; +PFNGLDISABLEIEXTPROC __glewDisableiEXT = NULL; +PFNGLENABLEIEXTPROC __glewEnableiEXT = NULL; +PFNGLISENABLEDIEXTPROC __glewIsEnablediEXT = NULL; + +PFNGLDRAWELEMENTSBASEVERTEXEXTPROC __glewDrawElementsBaseVertexEXT = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC __glewDrawElementsInstancedBaseVertexEXT = NULL; +PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC __glewDrawRangeElementsBaseVertexEXT = NULL; +PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC __glewMultiDrawElementsBaseVertexEXT = NULL; + +PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT = NULL; +PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT = NULL; + +PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT = NULL; + +PFNGLBUFFERSTORAGEEXTERNALEXTPROC __glewBufferStorageExternalEXT = NULL; +PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC __glewNamedBufferStorageExternalEXT = NULL; + +PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT = NULL; +PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT = NULL; +PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT = NULL; +PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT = NULL; +PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT = NULL; + +PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT = NULL; +PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT = NULL; +PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT = NULL; +PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT = NULL; +PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT = NULL; +PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT = NULL; +PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT = NULL; +PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT = NULL; +PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT = NULL; +PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT = NULL; +PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT = NULL; +PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT = NULL; +PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT = NULL; +PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT = NULL; +PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT = NULL; +PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT = NULL; +PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT = NULL; +PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT = NULL; + +PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT = NULL; + +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT = NULL; + +PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT = NULL; +PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT = NULL; +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT = NULL; +PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT = NULL; +PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT = NULL; +PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT = NULL; +PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT = NULL; +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT = NULL; +PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT = NULL; +PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT = NULL; +PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT = NULL; +PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT = NULL; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT = NULL; +PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT = NULL; +PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT = NULL; +PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT = NULL; +PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT = NULL; + +PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT = NULL; +PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT = NULL; +PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT = NULL; + +PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT = NULL; +PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT = NULL; + +PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT = NULL; +PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT = NULL; +PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT = NULL; +PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT = NULL; +PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT = NULL; +PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT = NULL; +PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT = NULL; +PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT = NULL; +PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT = NULL; +PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT = NULL; +PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT = NULL; +PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT = NULL; +PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT = NULL; +PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT = NULL; +PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT = NULL; +PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT = NULL; +PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT = NULL; +PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT = NULL; +PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT = NULL; +PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT = NULL; +PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT = NULL; +PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT = NULL; +PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT = NULL; +PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT = NULL; +PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT = NULL; +PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT = NULL; +PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT = NULL; +PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT = NULL; +PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT = NULL; +PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT = NULL; +PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT = NULL; +PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT = NULL; +PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT = NULL; +PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT = NULL; + +PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT = NULL; +PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT = NULL; +PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT = NULL; +PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT = NULL; +PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT = NULL; +PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT = NULL; +PFNGLHISTOGRAMEXTPROC __glewHistogramEXT = NULL; +PFNGLMINMAXEXTPROC __glewMinmaxEXT = NULL; +PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT = NULL; +PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT = NULL; + +PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT = NULL; + +PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT = NULL; + +PFNGLVERTEXATTRIBDIVISOREXTPROC __glewVertexAttribDivisorEXT = NULL; + +PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT = NULL; +PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT = NULL; +PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT = NULL; + +PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC __glewFlushMappedBufferRangeEXT = NULL; +PFNGLMAPBUFFERRANGEEXTPROC __glewMapBufferRangeEXT = NULL; + +PFNGLBUFFERSTORAGEMEMEXTPROC __glewBufferStorageMemEXT = NULL; +PFNGLCREATEMEMORYOBJECTSEXTPROC __glewCreateMemoryObjectsEXT = NULL; +PFNGLDELETEMEMORYOBJECTSEXTPROC __glewDeleteMemoryObjectsEXT = NULL; +PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC __glewGetMemoryObjectParameterivEXT = NULL; +PFNGLGETUNSIGNEDBYTEI_VEXTPROC __glewGetUnsignedBytei_vEXT = NULL; +PFNGLGETUNSIGNEDBYTEVEXTPROC __glewGetUnsignedBytevEXT = NULL; +PFNGLISMEMORYOBJECTEXTPROC __glewIsMemoryObjectEXT = NULL; +PFNGLMEMORYOBJECTPARAMETERIVEXTPROC __glewMemoryObjectParameterivEXT = NULL; +PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC __glewNamedBufferStorageMemEXT = NULL; +PFNGLTEXSTORAGEMEM1DEXTPROC __glewTexStorageMem1DEXT = NULL; +PFNGLTEXSTORAGEMEM2DEXTPROC __glewTexStorageMem2DEXT = NULL; +PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC __glewTexStorageMem2DMultisampleEXT = NULL; +PFNGLTEXSTORAGEMEM3DEXTPROC __glewTexStorageMem3DEXT = NULL; +PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC __glewTexStorageMem3DMultisampleEXT = NULL; +PFNGLTEXTURESTORAGEMEM1DEXTPROC __glewTextureStorageMem1DEXT = NULL; +PFNGLTEXTURESTORAGEMEM2DEXTPROC __glewTextureStorageMem2DEXT = NULL; +PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC __glewTextureStorageMem2DMultisampleEXT = NULL; +PFNGLTEXTURESTORAGEMEM3DEXTPROC __glewTextureStorageMem3DEXT = NULL; +PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC __glewTextureStorageMem3DMultisampleEXT = NULL; + +PFNGLIMPORTMEMORYFDEXTPROC __glewImportMemoryFdEXT = NULL; + +PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC __glewImportMemoryWin32HandleEXT = NULL; +PFNGLIMPORTMEMORYWIN32NAMEEXTPROC __glewImportMemoryWin32NameEXT = NULL; + +PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT = NULL; +PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC __glewMultiDrawArraysIndirectEXT = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC __glewMultiDrawElementsIndirectEXT = NULL; + +PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT = NULL; +PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT = NULL; + +PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC __glewFramebufferTexture2DMultisampleEXT = NULL; + +PFNGLDRAWBUFFERSINDEXEDEXTPROC __glewDrawBuffersIndexedEXT = NULL; +PFNGLGETINTEGERI_VEXTPROC __glewGetIntegeri_vEXT = NULL; +PFNGLREADBUFFERINDEXEDEXTPROC __glewReadBufferIndexedEXT = NULL; + +PFNGLCOLORTABLEEXTPROC __glewColorTableEXT = NULL; +PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT = NULL; +PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT = NULL; +PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT = NULL; + +PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT = NULL; +PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT = NULL; +PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT = NULL; +PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT = NULL; +PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT = NULL; +PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT = NULL; + +PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT = NULL; +PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT = NULL; + +PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT = NULL; + +PFNGLPOLYGONOFFSETCLAMPEXTPROC __glewPolygonOffsetClampEXT = NULL; + +PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT = NULL; + +PFNGLCOVERAGEMODULATIONNVPROC __glewCoverageModulationNV = NULL; +PFNGLCOVERAGEMODULATIONTABLENVPROC __glewCoverageModulationTableNV = NULL; +PFNGLGETCOVERAGEMODULATIONTABLENVPROC __glewGetCoverageModulationTableNV = NULL; +PFNGLRASTERSAMPLESEXTPROC __glewRasterSamplesEXT = NULL; + +PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT = NULL; +PFNGLENDSCENEEXTPROC __glewEndSceneEXT = NULL; + +PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT = NULL; +PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT = NULL; +PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT = NULL; +PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT = NULL; +PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT = NULL; +PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT = NULL; +PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT = NULL; +PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT = NULL; +PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT = NULL; +PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT = NULL; +PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT = NULL; +PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT = NULL; +PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT = NULL; +PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT = NULL; +PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT = NULL; +PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT = NULL; +PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT = NULL; + +PFNGLDELETESEMAPHORESEXTPROC __glewDeleteSemaphoresEXT = NULL; +PFNGLGENSEMAPHORESEXTPROC __glewGenSemaphoresEXT = NULL; +PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC __glewGetSemaphoreParameterui64vEXT = NULL; +PFNGLISSEMAPHOREEXTPROC __glewIsSemaphoreEXT = NULL; +PFNGLSEMAPHOREPARAMETERUI64VEXTPROC __glewSemaphoreParameterui64vEXT = NULL; +PFNGLSIGNALSEMAPHOREEXTPROC __glewSignalSemaphoreEXT = NULL; +PFNGLWAITSEMAPHOREEXTPROC __glewWaitSemaphoreEXT = NULL; + +PFNGLIMPORTSEMAPHOREFDEXTPROC __glewImportSemaphoreFdEXT = NULL; + +PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC __glewImportSemaphoreWin32HandleEXT = NULL; +PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC __glewImportSemaphoreWin32NameEXT = NULL; + +PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT = NULL; +PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT = NULL; +PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT = NULL; + +PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT = NULL; +PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT = NULL; + +PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC __glewClearPixelLocalStorageuiEXT = NULL; +PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC __glewFramebufferPixelLocalStorageSizeEXT = NULL; +PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC __glewGetFramebufferPixelLocalStorageSizeEXT = NULL; + +PFNGLTEXPAGECOMMITMENTEXTPROC __glewTexPageCommitmentEXT = NULL; +PFNGLTEXTUREPAGECOMMITMENTEXTPROC __glewTexturePageCommitmentEXT = NULL; + +PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT = NULL; + +PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT = NULL; +PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT = NULL; +PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT = NULL; + +PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT = NULL; + +PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT = NULL; + +PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT = NULL; + +PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT = NULL; +PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT = NULL; +PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT = NULL; +PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT = NULL; +PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT = NULL; +PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT = NULL; + +PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT = NULL; +PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT = NULL; +PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT = NULL; +PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT = NULL; +PFNGLISTEXTUREEXTPROC __glewIsTextureEXT = NULL; +PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT = NULL; + +PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT = NULL; + +PFNGLTEXSTORAGE1DEXTPROC __glewTexStorage1DEXT = NULL; +PFNGLTEXSTORAGE2DEXTPROC __glewTexStorage2DEXT = NULL; +PFNGLTEXSTORAGE3DEXTPROC __glewTexStorage3DEXT = NULL; +PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT = NULL; +PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT = NULL; +PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT = NULL; + +PFNGLTEXTUREVIEWEXTPROC __glewTextureViewEXT = NULL; + +PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT = NULL; +PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT = NULL; + +PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT = NULL; +PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT = NULL; +PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT = NULL; +PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT = NULL; +PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT = NULL; +PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT = NULL; +PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT = NULL; + +PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT = NULL; +PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT = NULL; +PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT = NULL; +PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT = NULL; +PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT = NULL; +PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT = NULL; +PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT = NULL; +PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT = NULL; + +PFNGLBINDARRAYSETEXTPROC __glewBindArraySetEXT = NULL; +PFNGLCREATEARRAYSETEXTPROC __glewCreateArraySetExt = NULL; +PFNGLDELETEARRAYSETSEXTPROC __glewDeleteArraySetsEXT = NULL; + +PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT = NULL; +PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT = NULL; +PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT = NULL; +PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT = NULL; +PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT = NULL; +PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT = NULL; +PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT = NULL; +PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT = NULL; +PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT = NULL; +PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT = NULL; +PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT = NULL; + +PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT = NULL; +PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT = NULL; +PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT = NULL; +PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT = NULL; +PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT = NULL; +PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT = NULL; +PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT = NULL; +PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT = NULL; +PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT = NULL; +PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT = NULL; +PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT = NULL; +PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT = NULL; +PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT = NULL; +PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT = NULL; +PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT = NULL; +PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT = NULL; +PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT = NULL; +PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT = NULL; +PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT = NULL; +PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT = NULL; +PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT = NULL; +PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT = NULL; +PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT = NULL; +PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT = NULL; +PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT = NULL; +PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT = NULL; +PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT = NULL; +PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT = NULL; +PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT = NULL; +PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT = NULL; +PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT = NULL; +PFNGLSWIZZLEEXTPROC __glewSwizzleEXT = NULL; +PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT = NULL; +PFNGLVARIANTBVEXTPROC __glewVariantbvEXT = NULL; +PFNGLVARIANTDVEXTPROC __glewVariantdvEXT = NULL; +PFNGLVARIANTFVEXTPROC __glewVariantfvEXT = NULL; +PFNGLVARIANTIVEXTPROC __glewVariantivEXT = NULL; +PFNGLVARIANTSVEXTPROC __glewVariantsvEXT = NULL; +PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT = NULL; +PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT = NULL; +PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT = NULL; +PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT = NULL; + +PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT = NULL; +PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT = NULL; +PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT = NULL; + +PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC __glewAcquireKeyedMutexWin32EXT = NULL; +PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC __glewReleaseKeyedMutexWin32EXT = NULL; + +PFNGLWINDOWRECTANGLESEXTPROC __glewWindowRectanglesEXT = NULL; + +PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT = NULL; + +PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY = NULL; + +PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY = NULL; + +PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP = NULL; +PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP = NULL; +PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP = NULL; +PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP = NULL; +PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP = NULL; +PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP = NULL; + +PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM = NULL; +PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM = NULL; + +PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM = NULL; +PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM = NULL; +PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM = NULL; +PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM = NULL; +PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM = NULL; +PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM = NULL; +PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM = NULL; +PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM = NULL; + +PFNGLMAPTEXTURE2DINTELPROC __glewMapTexture2DINTEL = NULL; +PFNGLSYNCTEXTUREINTELPROC __glewSyncTextureINTEL = NULL; +PFNGLUNMAPTEXTURE2DINTELPROC __glewUnmapTexture2DINTEL = NULL; + +PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL = NULL; +PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL = NULL; +PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL = NULL; +PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL = NULL; + +PFNGLBEGINPERFQUERYINTELPROC __glewBeginPerfQueryINTEL = NULL; +PFNGLCREATEPERFQUERYINTELPROC __glewCreatePerfQueryINTEL = NULL; +PFNGLDELETEPERFQUERYINTELPROC __glewDeletePerfQueryINTEL = NULL; +PFNGLENDPERFQUERYINTELPROC __glewEndPerfQueryINTEL = NULL; +PFNGLGETFIRSTPERFQUERYIDINTELPROC __glewGetFirstPerfQueryIdINTEL = NULL; +PFNGLGETNEXTPERFQUERYIDINTELPROC __glewGetNextPerfQueryIdINTEL = NULL; +PFNGLGETPERFCOUNTERINFOINTELPROC __glewGetPerfCounterInfoINTEL = NULL; +PFNGLGETPERFQUERYDATAINTELPROC __glewGetPerfQueryDataINTEL = NULL; +PFNGLGETPERFQUERYIDBYNAMEINTELPROC __glewGetPerfQueryIdByNameINTEL = NULL; +PFNGLGETPERFQUERYINFOINTELPROC __glewGetPerfQueryInfoINTEL = NULL; + +PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL = NULL; +PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL = NULL; + +PFNGLBLENDBARRIERKHRPROC __glewBlendBarrierKHR = NULL; + +PFNGLDEBUGMESSAGECALLBACKPROC __glewDebugMessageCallback = NULL; +PFNGLDEBUGMESSAGECONTROLPROC __glewDebugMessageControl = NULL; +PFNGLDEBUGMESSAGEINSERTPROC __glewDebugMessageInsert = NULL; +PFNGLGETDEBUGMESSAGELOGPROC __glewGetDebugMessageLog = NULL; +PFNGLGETOBJECTLABELPROC __glewGetObjectLabel = NULL; +PFNGLGETOBJECTPTRLABELPROC __glewGetObjectPtrLabel = NULL; +PFNGLOBJECTLABELPROC __glewObjectLabel = NULL; +PFNGLOBJECTPTRLABELPROC __glewObjectPtrLabel = NULL; +PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup = NULL; +PFNGLPUSHDEBUGGROUPPROC __glewPushDebugGroup = NULL; + +PFNGLMAXSHADERCOMPILERTHREADSKHRPROC __glewMaxShaderCompilerThreadsKHR = NULL; + +PFNGLGETNUNIFORMFVPROC __glewGetnUniformfv = NULL; +PFNGLGETNUNIFORMIVPROC __glewGetnUniformiv = NULL; +PFNGLGETNUNIFORMUIVPROC __glewGetnUniformuiv = NULL; +PFNGLREADNPIXELSPROC __glewReadnPixels = NULL; + +PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled = NULL; +PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion = NULL; +PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion = NULL; +PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion = NULL; +PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion = NULL; + +PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA = NULL; + +PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA = NULL; +PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA = NULL; +PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA = NULL; +PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA = NULL; +PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA = NULL; +PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA = NULL; +PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA = NULL; +PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA = NULL; +PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA = NULL; +PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA = NULL; +PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA = NULL; +PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA = NULL; +PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA = NULL; +PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA = NULL; +PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA = NULL; +PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA = NULL; +PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA = NULL; +PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA = NULL; +PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA = NULL; +PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA = NULL; +PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA = NULL; +PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA = NULL; +PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA = NULL; +PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA = NULL; + +PFNGLBEGINCONDITIONALRENDERNVXPROC __glewBeginConditionalRenderNVX = NULL; +PFNGLENDCONDITIONALRENDERNVXPROC __glewEndConditionalRenderNVX = NULL; + +PFNGLLGPUCOPYIMAGESUBDATANVXPROC __glewLGPUCopyImageSubDataNVX = NULL; +PFNGLLGPUINTERLOCKNVXPROC __glewLGPUInterlockNVX = NULL; +PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC __glewLGPUNamedBufferSubDataNVX = NULL; + +PFNGLSTEREOPARAMETERFNVPROC __glewStereoParameterfNV = NULL; +PFNGLSTEREOPARAMETERINVPROC __glewStereoParameteriNV = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC __glewMultiDrawArraysIndirectBindlessNV = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC __glewMultiDrawElementsIndirectBindlessNV = NULL; + +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawArraysIndirectBindlessCountNV = NULL; +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawElementsIndirectBindlessCountNV = NULL; + +PFNGLGETIMAGEHANDLENVPROC __glewGetImageHandleNV = NULL; +PFNGLGETTEXTUREHANDLENVPROC __glewGetTextureHandleNV = NULL; +PFNGLGETTEXTURESAMPLERHANDLENVPROC __glewGetTextureSamplerHandleNV = NULL; +PFNGLISIMAGEHANDLERESIDENTNVPROC __glewIsImageHandleResidentNV = NULL; +PFNGLISTEXTUREHANDLERESIDENTNVPROC __glewIsTextureHandleResidentNV = NULL; +PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC __glewMakeImageHandleNonResidentNV = NULL; +PFNGLMAKEIMAGEHANDLERESIDENTNVPROC __glewMakeImageHandleResidentNV = NULL; +PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC __glewMakeTextureHandleNonResidentNV = NULL; +PFNGLMAKETEXTUREHANDLERESIDENTNVPROC __glewMakeTextureHandleResidentNV = NULL; +PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC __glewProgramUniformHandleui64NV = NULL; +PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC __glewProgramUniformHandleui64vNV = NULL; +PFNGLUNIFORMHANDLEUI64NVPROC __glewUniformHandleui64NV = NULL; +PFNGLUNIFORMHANDLEUI64VNVPROC __glewUniformHandleui64vNV = NULL; + +PFNGLBLENDBARRIERNVPROC __glewBlendBarrierNV = NULL; +PFNGLBLENDPARAMETERINVPROC __glewBlendParameteriNV = NULL; + +PFNGLVIEWPORTPOSITIONWSCALENVPROC __glewViewportPositionWScaleNV = NULL; + +PFNGLCALLCOMMANDLISTNVPROC __glewCallCommandListNV = NULL; +PFNGLCOMMANDLISTSEGMENTSNVPROC __glewCommandListSegmentsNV = NULL; +PFNGLCOMPILECOMMANDLISTNVPROC __glewCompileCommandListNV = NULL; +PFNGLCREATECOMMANDLISTSNVPROC __glewCreateCommandListsNV = NULL; +PFNGLCREATESTATESNVPROC __glewCreateStatesNV = NULL; +PFNGLDELETECOMMANDLISTSNVPROC __glewDeleteCommandListsNV = NULL; +PFNGLDELETESTATESNVPROC __glewDeleteStatesNV = NULL; +PFNGLDRAWCOMMANDSADDRESSNVPROC __glewDrawCommandsAddressNV = NULL; +PFNGLDRAWCOMMANDSNVPROC __glewDrawCommandsNV = NULL; +PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC __glewDrawCommandsStatesAddressNV = NULL; +PFNGLDRAWCOMMANDSSTATESNVPROC __glewDrawCommandsStatesNV = NULL; +PFNGLGETCOMMANDHEADERNVPROC __glewGetCommandHeaderNV = NULL; +PFNGLGETSTAGEINDEXNVPROC __glewGetStageIndexNV = NULL; +PFNGLISCOMMANDLISTNVPROC __glewIsCommandListNV = NULL; +PFNGLISSTATENVPROC __glewIsStateNV = NULL; +PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC __glewListDrawCommandsStatesClientNV = NULL; +PFNGLSTATECAPTURENVPROC __glewStateCaptureNV = NULL; + +PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV = NULL; +PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV = NULL; + +PFNGLSUBPIXELPRECISIONBIASNVPROC __glewSubpixelPrecisionBiasNV = NULL; + +PFNGLCONSERVATIVERASTERPARAMETERFNVPROC __glewConservativeRasterParameterfNV = NULL; + +PFNGLCONSERVATIVERASTERPARAMETERINVPROC __glewConservativeRasterParameteriNV = NULL; + +PFNGLCOPYBUFFERSUBDATANVPROC __glewCopyBufferSubDataNV = NULL; + +PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV = NULL; + +PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV = NULL; +PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV = NULL; +PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV = NULL; + +PFNGLDRAWBUFFERSNVPROC __glewDrawBuffersNV = NULL; + +PFNGLDRAWARRAYSINSTANCEDNVPROC __glewDrawArraysInstancedNV = NULL; +PFNGLDRAWELEMENTSINSTANCEDNVPROC __glewDrawElementsInstancedNV = NULL; + +PFNGLDRAWTEXTURENVPROC __glewDrawTextureNV = NULL; + +PFNGLDRAWVKIMAGENVPROC __glewDrawVkImageNV = NULL; +PFNGLGETVKPROCADDRNVPROC __glewGetVkProcAddrNV = NULL; +PFNGLSIGNALVKFENCENVPROC __glewSignalVkFenceNV = NULL; +PFNGLSIGNALVKSEMAPHORENVPROC __glewSignalVkSemaphoreNV = NULL; +PFNGLWAITVKSEMAPHORENVPROC __glewWaitVkSemaphoreNV = NULL; + +PFNGLEVALMAPSNVPROC __glewEvalMapsNV = NULL; +PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV = NULL; +PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV = NULL; +PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV = NULL; +PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV = NULL; +PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV = NULL; +PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV = NULL; +PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV = NULL; +PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV = NULL; + +PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV = NULL; +PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV = NULL; +PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV = NULL; + +PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV = NULL; +PFNGLFINISHFENCENVPROC __glewFinishFenceNV = NULL; +PFNGLGENFENCESNVPROC __glewGenFencesNV = NULL; +PFNGLGETFENCEIVNVPROC __glewGetFenceivNV = NULL; +PFNGLISFENCENVPROC __glewIsFenceNV = NULL; +PFNGLSETFENCENVPROC __glewSetFenceNV = NULL; +PFNGLTESTFENCENVPROC __glewTestFenceNV = NULL; + +PFNGLFRAGMENTCOVERAGECOLORNVPROC __glewFragmentCoverageColorNV = NULL; + +PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV = NULL; +PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV = NULL; +PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV = NULL; +PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV = NULL; +PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV = NULL; +PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV = NULL; + +PFNGLBLITFRAMEBUFFERNVPROC __glewBlitFramebufferNV = NULL; + +PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC __glewRenderbufferStorageMultisampleNV = NULL; + +PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV = NULL; + +PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV = NULL; + +PFNGLMULTICASTBARRIERNVPROC __glewMulticastBarrierNV = NULL; +PFNGLMULTICASTBLITFRAMEBUFFERNVPROC __glewMulticastBlitFramebufferNV = NULL; +PFNGLMULTICASTBUFFERSUBDATANVPROC __glewMulticastBufferSubDataNV = NULL; +PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC __glewMulticastCopyBufferSubDataNV = NULL; +PFNGLMULTICASTCOPYIMAGESUBDATANVPROC __glewMulticastCopyImageSubDataNV = NULL; +PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewMulticastFramebufferSampleLocationsfvNV = NULL; +PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC __glewMulticastGetQueryObjecti64vNV = NULL; +PFNGLMULTICASTGETQUERYOBJECTIVNVPROC __glewMulticastGetQueryObjectivNV = NULL; +PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC __glewMulticastGetQueryObjectui64vNV = NULL; +PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC __glewMulticastGetQueryObjectuivNV = NULL; +PFNGLMULTICASTWAITSYNCNVPROC __glewMulticastWaitSyncNV = NULL; +PFNGLRENDERGPUMASKNVPROC __glewRenderGpuMaskNV = NULL; + +PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV = NULL; +PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV = NULL; +PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV = NULL; +PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV = NULL; +PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV = NULL; +PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV = NULL; +PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV = NULL; +PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV = NULL; +PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV = NULL; +PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV = NULL; +PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV = NULL; +PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV = NULL; + +PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV = NULL; +PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV = NULL; +PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV = NULL; +PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV = NULL; +PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV = NULL; +PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV = NULL; +PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV = NULL; +PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV = NULL; +PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV = NULL; +PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV = NULL; +PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV = NULL; +PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV = NULL; +PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV = NULL; +PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV = NULL; +PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV = NULL; +PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV = NULL; +PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV = NULL; +PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV = NULL; +PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV = NULL; +PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV = NULL; +PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV = NULL; +PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV = NULL; +PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV = NULL; +PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV = NULL; +PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV = NULL; +PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV = NULL; +PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV = NULL; +PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV = NULL; +PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV = NULL; +PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV = NULL; +PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV = NULL; +PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV = NULL; +PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV = NULL; +PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV = NULL; + +PFNGLCOLOR3HNVPROC __glewColor3hNV = NULL; +PFNGLCOLOR3HVNVPROC __glewColor3hvNV = NULL; +PFNGLCOLOR4HNVPROC __glewColor4hNV = NULL; +PFNGLCOLOR4HVNVPROC __glewColor4hvNV = NULL; +PFNGLFOGCOORDHNVPROC __glewFogCoordhNV = NULL; +PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV = NULL; +PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV = NULL; +PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV = NULL; +PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV = NULL; +PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV = NULL; +PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV = NULL; +PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV = NULL; +PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV = NULL; +PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV = NULL; +PFNGLNORMAL3HNVPROC __glewNormal3hNV = NULL; +PFNGLNORMAL3HVNVPROC __glewNormal3hvNV = NULL; +PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV = NULL; +PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV = NULL; +PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV = NULL; +PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV = NULL; +PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV = NULL; +PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV = NULL; +PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV = NULL; +PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV = NULL; +PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV = NULL; +PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV = NULL; +PFNGLVERTEX2HNVPROC __glewVertex2hNV = NULL; +PFNGLVERTEX2HVNVPROC __glewVertex2hvNV = NULL; +PFNGLVERTEX3HNVPROC __glewVertex3hNV = NULL; +PFNGLVERTEX3HVNVPROC __glewVertex3hvNV = NULL; +PFNGLVERTEX4HNVPROC __glewVertex4hNV = NULL; +PFNGLVERTEX4HVNVPROC __glewVertex4hvNV = NULL; +PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV = NULL; +PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV = NULL; +PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV = NULL; +PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV = NULL; +PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV = NULL; +PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV = NULL; +PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV = NULL; +PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV = NULL; +PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV = NULL; +PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV = NULL; +PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV = NULL; +PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV = NULL; +PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV = NULL; +PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV = NULL; + +PFNGLVERTEXATTRIBDIVISORNVPROC __glewVertexAttribDivisorNV = NULL; + +PFNGLGETINTERNALFORMATSAMPLEIVNVPROC __glewGetInternalformatSampleivNV = NULL; + +PFNGLUNIFORMMATRIX2X3FVNVPROC __glewUniformMatrix2x3fvNV = NULL; +PFNGLUNIFORMMATRIX2X4FVNVPROC __glewUniformMatrix2x4fvNV = NULL; +PFNGLUNIFORMMATRIX3X2FVNVPROC __glewUniformMatrix3x2fvNV = NULL; +PFNGLUNIFORMMATRIX3X4FVNVPROC __glewUniformMatrix3x4fvNV = NULL; +PFNGLUNIFORMMATRIX4X2FVNVPROC __glewUniformMatrix4x2fvNV = NULL; +PFNGLUNIFORMMATRIX4X3FVNVPROC __glewUniformMatrix4x3fvNV = NULL; + +PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV = NULL; +PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV = NULL; +PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV = NULL; +PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV = NULL; +PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV = NULL; +PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV = NULL; +PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV = NULL; + +PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV = NULL; +PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV = NULL; +PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV = NULL; + +PFNGLCOPYPATHNVPROC __glewCopyPathNV = NULL; +PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV = NULL; +PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV = NULL; +PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV = NULL; +PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV = NULL; +PFNGLDELETEPATHSNVPROC __glewDeletePathsNV = NULL; +PFNGLGENPATHSNVPROC __glewGenPathsNV = NULL; +PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV = NULL; +PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV = NULL; +PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV = NULL; +PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV = NULL; +PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV = NULL; +PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV = NULL; +PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV = NULL; +PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV = NULL; +PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV = NULL; +PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV = NULL; +PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV = NULL; +PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV = NULL; +PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV = NULL; +PFNGLGETPROGRAMRESOURCEFVNVPROC __glewGetProgramResourcefvNV = NULL; +PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV = NULL; +PFNGLISPATHNVPROC __glewIsPathNV = NULL; +PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV = NULL; +PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV = NULL; +PFNGLMATRIXLOAD3X2FNVPROC __glewMatrixLoad3x2fNV = NULL; +PFNGLMATRIXLOAD3X3FNVPROC __glewMatrixLoad3x3fNV = NULL; +PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC __glewMatrixLoadTranspose3x3fNV = NULL; +PFNGLMATRIXMULT3X2FNVPROC __glewMatrixMult3x2fNV = NULL; +PFNGLMATRIXMULT3X3FNVPROC __glewMatrixMult3x3fNV = NULL; +PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC __glewMatrixMultTranspose3x3fNV = NULL; +PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV = NULL; +PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV = NULL; +PFNGLPATHCOORDSNVPROC __glewPathCoordsNV = NULL; +PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV = NULL; +PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV = NULL; +PFNGLPATHFOGGENNVPROC __glewPathFogGenNV = NULL; +PFNGLPATHGLYPHINDEXARRAYNVPROC __glewPathGlyphIndexArrayNV = NULL; +PFNGLPATHGLYPHINDEXRANGENVPROC __glewPathGlyphIndexRangeNV = NULL; +PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV = NULL; +PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV = NULL; +PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC __glewPathMemoryGlyphIndexArrayNV = NULL; +PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV = NULL; +PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV = NULL; +PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV = NULL; +PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV = NULL; +PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV = NULL; +PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV = NULL; +PFNGLPATHSTRINGNVPROC __glewPathStringNV = NULL; +PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV = NULL; +PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV = NULL; +PFNGLPATHTEXGENNVPROC __glewPathTexGenNV = NULL; +PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV = NULL; +PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC __glewProgramPathFragmentInputGenNV = NULL; +PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV = NULL; +PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV = NULL; +PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV = NULL; +PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV = NULL; +PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC __glewStencilThenCoverFillPathInstancedNV = NULL; +PFNGLSTENCILTHENCOVERFILLPATHNVPROC __glewStencilThenCoverFillPathNV = NULL; +PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC __glewStencilThenCoverStrokePathInstancedNV = NULL; +PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC __glewStencilThenCoverStrokePathNV = NULL; +PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV = NULL; +PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV = NULL; + +PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV = NULL; +PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV = NULL; + +PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV = NULL; +PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV = NULL; + +PFNGLPOLYGONMODENVPROC __glewPolygonModeNV = NULL; + +PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV = NULL; +PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV = NULL; +PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV = NULL; +PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV = NULL; +PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV = NULL; +PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV = NULL; + +PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV = NULL; +PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV = NULL; + +PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV = NULL; +PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV = NULL; +PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV = NULL; +PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV = NULL; +PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV = NULL; +PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV = NULL; +PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV = NULL; +PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV = NULL; +PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV = NULL; +PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV = NULL; +PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV = NULL; +PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV = NULL; +PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV = NULL; + +PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV = NULL; +PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV = NULL; + +PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewFramebufferSampleLocationsfvNV = NULL; +PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewNamedFramebufferSampleLocationsfvNV = NULL; + +PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV = NULL; +PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV = NULL; +PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV = NULL; +PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV = NULL; +PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV = NULL; +PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV = NULL; +PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV = NULL; +PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV = NULL; +PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV = NULL; +PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV = NULL; +PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV = NULL; +PFNGLUNIFORMUI64NVPROC __glewUniformui64NV = NULL; +PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV = NULL; + +PFNGLCOMPRESSEDTEXIMAGE3DNVPROC __glewCompressedTexImage3DNV = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE3DNVPROC __glewCompressedTexSubImage3DNV = NULL; +PFNGLCOPYTEXSUBIMAGE3DNVPROC __glewCopyTexSubImage3DNV = NULL; +PFNGLFRAMEBUFFERTEXTURELAYERNVPROC __glewFramebufferTextureLayerNV = NULL; +PFNGLTEXIMAGE3DNVPROC __glewTexImage3DNV = NULL; +PFNGLTEXSUBIMAGE3DNVPROC __glewTexSubImage3DNV = NULL; + +PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV = NULL; + +PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV = NULL; +PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV = NULL; +PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV = NULL; +PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV = NULL; +PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV = NULL; +PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV = NULL; + +PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV = NULL; +PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV = NULL; +PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV = NULL; +PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV = NULL; +PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV = NULL; +PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV = NULL; +PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV = NULL; +PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV = NULL; +PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV = NULL; +PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV = NULL; +PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV = NULL; + +PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV = NULL; +PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV = NULL; +PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV = NULL; +PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV = NULL; +PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV = NULL; +PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV = NULL; +PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV = NULL; + +PFNGLVDPAUFININVPROC __glewVDPAUFiniNV = NULL; +PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV = NULL; +PFNGLVDPAUINITNVPROC __glewVDPAUInitNV = NULL; +PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV = NULL; +PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV = NULL; +PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV = NULL; +PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV = NULL; +PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV = NULL; +PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV = NULL; +PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV = NULL; + +PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV = NULL; +PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV = NULL; + +PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV = NULL; +PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV = NULL; +PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV = NULL; +PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV = NULL; +PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV = NULL; +PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV = NULL; +PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV = NULL; +PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV = NULL; +PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV = NULL; +PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV = NULL; +PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV = NULL; +PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV = NULL; +PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV = NULL; +PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV = NULL; +PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV = NULL; +PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV = NULL; +PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV = NULL; +PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV = NULL; +PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV = NULL; + +PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV = NULL; +PFNGLCOLORFORMATNVPROC __glewColorFormatNV = NULL; +PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV = NULL; +PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV = NULL; +PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV = NULL; +PFNGLINDEXFORMATNVPROC __glewIndexFormatNV = NULL; +PFNGLNORMALFORMATNVPROC __glewNormalFormatNV = NULL; +PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV = NULL; +PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV = NULL; +PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV = NULL; +PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV = NULL; +PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV = NULL; + +PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV = NULL; +PFNGLBINDPROGRAMNVPROC __glewBindProgramNV = NULL; +PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV = NULL; +PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV = NULL; +PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV = NULL; +PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV = NULL; +PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV = NULL; +PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV = NULL; +PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV = NULL; +PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV = NULL; +PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV = NULL; +PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV = NULL; +PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV = NULL; +PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV = NULL; +PFNGLISPROGRAMNVPROC __glewIsProgramNV = NULL; +PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV = NULL; +PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV = NULL; +PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV = NULL; +PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV = NULL; +PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV = NULL; +PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV = NULL; +PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV = NULL; +PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV = NULL; +PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV = NULL; +PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV = NULL; +PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV = NULL; +PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV = NULL; +PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV = NULL; +PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV = NULL; +PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV = NULL; +PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV = NULL; +PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV = NULL; +PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV = NULL; +PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV = NULL; +PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV = NULL; +PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV = NULL; +PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV = NULL; +PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV = NULL; +PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV = NULL; +PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV = NULL; +PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV = NULL; +PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV = NULL; +PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV = NULL; +PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV = NULL; +PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV = NULL; +PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV = NULL; +PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV = NULL; +PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV = NULL; +PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV = NULL; +PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV = NULL; +PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV = NULL; +PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV = NULL; +PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV = NULL; +PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV = NULL; +PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV = NULL; +PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV = NULL; +PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV = NULL; +PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV = NULL; +PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV = NULL; +PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV = NULL; +PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV = NULL; +PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV = NULL; +PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV = NULL; +PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV = NULL; + +PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV = NULL; +PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV = NULL; +PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV = NULL; +PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV = NULL; +PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV = NULL; +PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV = NULL; +PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV = NULL; +PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV = NULL; +PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV = NULL; +PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV = NULL; +PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV = NULL; +PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV = NULL; + +PFNGLDEPTHRANGEARRAYFVNVPROC __glewDepthRangeArrayfvNV = NULL; +PFNGLDEPTHRANGEINDEXEDFNVPROC __glewDepthRangeIndexedfNV = NULL; +PFNGLDISABLEINVPROC __glewDisableiNV = NULL; +PFNGLENABLEINVPROC __glewEnableiNV = NULL; +PFNGLGETFLOATI_VNVPROC __glewGetFloati_vNV = NULL; +PFNGLISENABLEDINVPROC __glewIsEnablediNV = NULL; +PFNGLSCISSORARRAYVNVPROC __glewScissorArrayvNV = NULL; +PFNGLSCISSORINDEXEDNVPROC __glewScissorIndexedNV = NULL; +PFNGLSCISSORINDEXEDVNVPROC __glewScissorIndexedvNV = NULL; +PFNGLVIEWPORTARRAYVNVPROC __glewViewportArrayvNV = NULL; +PFNGLVIEWPORTINDEXEDFNVPROC __glewViewportIndexedfNV = NULL; +PFNGLVIEWPORTINDEXEDFVNVPROC __glewViewportIndexedfvNV = NULL; + +PFNGLVIEWPORTSWIZZLENVPROC __glewViewportSwizzleNV = NULL; + +PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC __glewFramebufferTextureMultiviewOVR = NULL; + +PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC __glewFramebufferTextureMultisampleMultiviewOVR = NULL; + +PFNGLALPHAFUNCQCOMPROC __glewAlphaFuncQCOM = NULL; + +PFNGLDISABLEDRIVERCONTROLQCOMPROC __glewDisableDriverControlQCOM = NULL; +PFNGLENABLEDRIVERCONTROLQCOMPROC __glewEnableDriverControlQCOM = NULL; +PFNGLGETDRIVERCONTROLSTRINGQCOMPROC __glewGetDriverControlStringQCOM = NULL; +PFNGLGETDRIVERCONTROLSQCOMPROC __glewGetDriverControlsQCOM = NULL; + +PFNGLEXTGETBUFFERPOINTERVQCOMPROC __glewExtGetBufferPointervQCOM = NULL; +PFNGLEXTGETBUFFERSQCOMPROC __glewExtGetBuffersQCOM = NULL; +PFNGLEXTGETFRAMEBUFFERSQCOMPROC __glewExtGetFramebuffersQCOM = NULL; +PFNGLEXTGETRENDERBUFFERSQCOMPROC __glewExtGetRenderbuffersQCOM = NULL; +PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC __glewExtGetTexLevelParameterivQCOM = NULL; +PFNGLEXTGETTEXSUBIMAGEQCOMPROC __glewExtGetTexSubImageQCOM = NULL; +PFNGLEXTGETTEXTURESQCOMPROC __glewExtGetTexturesQCOM = NULL; +PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC __glewExtTexObjectStateOverrideiQCOM = NULL; + +PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC __glewExtGetProgramBinarySourceQCOM = NULL; +PFNGLEXTGETPROGRAMSQCOMPROC __glewExtGetProgramsQCOM = NULL; +PFNGLEXTGETSHADERSQCOMPROC __glewExtGetShadersQCOM = NULL; +PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM = NULL; + +PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM = NULL; +PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM = NULL; + +PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC __glewFramebufferFetchBarrierQCOM = NULL; + +PFNGLENDTILINGQCOMPROC __glewEndTilingQCOM = NULL; +PFNGLSTARTTILINGQCOMPROC __glewStartTilingQCOM = NULL; + +PFNGLALPHAFUNCXPROC __glewAlphaFuncx = NULL; +PFNGLCLEARCOLORXPROC __glewClearColorx = NULL; +PFNGLCLEARDEPTHXPROC __glewClearDepthx = NULL; +PFNGLCOLOR4XPROC __glewColor4x = NULL; +PFNGLDEPTHRANGEXPROC __glewDepthRangex = NULL; +PFNGLFOGXPROC __glewFogx = NULL; +PFNGLFOGXVPROC __glewFogxv = NULL; +PFNGLFRUSTUMFPROC __glewFrustumf = NULL; +PFNGLFRUSTUMXPROC __glewFrustumx = NULL; +PFNGLLIGHTMODELXPROC __glewLightModelx = NULL; +PFNGLLIGHTMODELXVPROC __glewLightModelxv = NULL; +PFNGLLIGHTXPROC __glewLightx = NULL; +PFNGLLIGHTXVPROC __glewLightxv = NULL; +PFNGLLINEWIDTHXPROC __glewLineWidthx = NULL; +PFNGLLOADMATRIXXPROC __glewLoadMatrixx = NULL; +PFNGLMATERIALXPROC __glewMaterialx = NULL; +PFNGLMATERIALXVPROC __glewMaterialxv = NULL; +PFNGLMULTMATRIXXPROC __glewMultMatrixx = NULL; +PFNGLMULTITEXCOORD4XPROC __glewMultiTexCoord4x = NULL; +PFNGLNORMAL3XPROC __glewNormal3x = NULL; +PFNGLORTHOFPROC __glewOrthof = NULL; +PFNGLORTHOXPROC __glewOrthox = NULL; +PFNGLPOINTSIZEXPROC __glewPointSizex = NULL; +PFNGLPOLYGONOFFSETXPROC __glewPolygonOffsetx = NULL; +PFNGLROTATEXPROC __glewRotatex = NULL; +PFNGLSAMPLECOVERAGEXPROC __glewSampleCoveragex = NULL; +PFNGLSCALEXPROC __glewScalex = NULL; +PFNGLTEXENVXPROC __glewTexEnvx = NULL; +PFNGLTEXENVXVPROC __glewTexEnvxv = NULL; +PFNGLTEXPARAMETERXPROC __glewTexParameterx = NULL; +PFNGLTRANSLATEXPROC __glewTranslatex = NULL; + +PFNGLCLIPPLANEFPROC __glewClipPlanef = NULL; +PFNGLCLIPPLANEXPROC __glewClipPlanex = NULL; +PFNGLGETCLIPPLANEFPROC __glewGetClipPlanef = NULL; +PFNGLGETCLIPPLANEXPROC __glewGetClipPlanex = NULL; +PFNGLGETFIXEDVPROC __glewGetFixedv = NULL; +PFNGLGETLIGHTXVPROC __glewGetLightxv = NULL; +PFNGLGETMATERIALXVPROC __glewGetMaterialxv = NULL; +PFNGLGETTEXENVXVPROC __glewGetTexEnvxv = NULL; +PFNGLGETTEXPARAMETERXVPROC __glewGetTexParameterxv = NULL; +PFNGLPOINTPARAMETERXPROC __glewPointParameterx = NULL; +PFNGLPOINTPARAMETERXVPROC __glewPointParameterxv = NULL; +PFNGLPOINTSIZEPOINTEROESPROC __glewPointSizePointerOES = NULL; +PFNGLTEXPARAMETERXVPROC __glewTexParameterxv = NULL; + +PFNGLERRORSTRINGREGALPROC __glewErrorStringREGAL = NULL; + +PFNGLGETEXTENSIONREGALPROC __glewGetExtensionREGAL = NULL; +PFNGLISSUPPORTEDREGALPROC __glewIsSupportedREGAL = NULL; + +PFNGLLOGMESSAGECALLBACKREGALPROC __glewLogMessageCallbackREGAL = NULL; + +PFNGLGETPROCADDRESSREGALPROC __glewGetProcAddressREGAL = NULL; + +PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS = NULL; +PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS = NULL; + +PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS = NULL; +PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS = NULL; + +PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS = NULL; +PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS = NULL; + +PFNGLINTERLEAVEDTEXTURECOORDSETSSGISPROC __glewInterleavedTextureCoordSetsSGIS = NULL; +PFNGLSELECTTEXTURECOORDSETSGISPROC __glewSelectTextureCoordSetSGIS = NULL; +PFNGLSELECTTEXTURESGISPROC __glewSelectTextureSGIS = NULL; +PFNGLSELECTTEXTURETRANSFORMSGISPROC __glewSelectTextureTransformSGIS = NULL; + +PFNGLMULTISAMPLESUBRECTPOSSGISPROC __glewMultisampleSubRectPosSGIS = NULL; + +PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS = NULL; +PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS = NULL; + +PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS = NULL; +PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS = NULL; + +PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS = NULL; +PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS = NULL; + +PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX = NULL; +PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX = NULL; +PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX = NULL; +PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX = NULL; +PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX = NULL; +PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX = NULL; + +PFNGLADDRESSSPACEPROC __glewAddressSpace = NULL; +PFNGLDATAPIPEPROC __glewDataPipe = NULL; + +PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX = NULL; + +PFNGLFOGLAYERSSGIXPROC __glewFogLayersSGIX = NULL; +PFNGLGETFOGLAYERSSGIXPROC __glewGetFogLayersSGIX = NULL; + +PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX = NULL; + +PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX = NULL; +PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX = NULL; +PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX = NULL; +PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX = NULL; +PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX = NULL; +PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX = NULL; +PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX = NULL; +PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX = NULL; +PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX = NULL; +PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX = NULL; +PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX = NULL; +PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX = NULL; +PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX = NULL; +PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX = NULL; +PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX = NULL; +PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX = NULL; +PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX = NULL; + +PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX = NULL; + +PFNGLIGLOOINTERFACESGIXPROC __glewIglooInterfaceSGIX = NULL; + +PFNGLALLOCMPEGPREDICTORSSGIXPROC __glewAllocMPEGPredictorsSGIX = NULL; +PFNGLDELETEMPEGPREDICTORSSGIXPROC __glewDeleteMPEGPredictorsSGIX = NULL; +PFNGLGENMPEGPREDICTORSSGIXPROC __glewGenMPEGPredictorsSGIX = NULL; +PFNGLGETMPEGPARAMETERFVSGIXPROC __glewGetMPEGParameterfvSGIX = NULL; +PFNGLGETMPEGPARAMETERIVSGIXPROC __glewGetMPEGParameterivSGIX = NULL; +PFNGLGETMPEGPREDICTORSGIXPROC __glewGetMPEGPredictorSGIX = NULL; +PFNGLGETMPEGQUANTTABLEUBVPROC __glewGetMPEGQuantTableubv = NULL; +PFNGLISMPEGPREDICTORSGIXPROC __glewIsMPEGPredictorSGIX = NULL; +PFNGLMPEGPREDICTORSGIXPROC __glewMPEGPredictorSGIX = NULL; +PFNGLMPEGQUANTTABLEUBVPROC __glewMPEGQuantTableubv = NULL; +PFNGLSWAPMPEGPREDICTORSSGIXPROC __glewSwapMPEGPredictorsSGIX = NULL; + +PFNGLGETNONLINLIGHTFVSGIXPROC __glewGetNonlinLightfvSGIX = NULL; +PFNGLGETNONLINMATERIALFVSGIXPROC __glewGetNonlinMaterialfvSGIX = NULL; +PFNGLNONLINLIGHTFVSGIXPROC __glewNonlinLightfvSGIX = NULL; +PFNGLNONLINMATERIALFVSGIXPROC __glewNonlinMaterialfvSGIX = NULL; + +PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX = NULL; + +PFNGLDEFORMSGIXPROC __glewDeformSGIX = NULL; +PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC __glewLoadIdentityDeformationMapSGIX = NULL; + +PFNGLMESHBREADTHSGIXPROC __glewMeshBreadthSGIX = NULL; +PFNGLMESHSTRIDESGIXPROC __glewMeshStrideSGIX = NULL; + +PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX = NULL; + +PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX = NULL; +PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX = NULL; +PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX = NULL; +PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX = NULL; + +PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX = NULL; + +PFNGLGETVECTOROPERATIONSGIXPROC __glewGetVectorOperationSGIX = NULL; +PFNGLVECTOROPERATIONSGIXPROC __glewVectorOperationSGIX = NULL; + +PFNGLAREVERTEXARRAYSRESIDENTSGIXPROC __glewAreVertexArraysResidentSGIX = NULL; +PFNGLBINDVERTEXARRAYSGIXPROC __glewBindVertexArraySGIX = NULL; +PFNGLDELETEVERTEXARRAYSSGIXPROC __glewDeleteVertexArraysSGIX = NULL; +PFNGLGENVERTEXARRAYSSGIXPROC __glewGenVertexArraysSGIX = NULL; +PFNGLISVERTEXARRAYSGIXPROC __glewIsVertexArraySGIX = NULL; +PFNGLPRIORITIZEVERTEXARRAYSSGIXPROC __glewPrioritizeVertexArraysSGIX = NULL; + +PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI = NULL; +PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI = NULL; +PFNGLCOLORTABLESGIPROC __glewColorTableSGI = NULL; +PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI = NULL; +PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI = NULL; +PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI = NULL; +PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI = NULL; + +PFNGLGETPIXELTRANSFORMPARAMETERFVSGIPROC __glewGetPixelTransformParameterfvSGI = NULL; +PFNGLGETPIXELTRANSFORMPARAMETERIVSGIPROC __glewGetPixelTransformParameterivSGI = NULL; +PFNGLPIXELTRANSFORMPARAMETERFSGIPROC __glewPixelTransformParameterfSGI = NULL; +PFNGLPIXELTRANSFORMPARAMETERFVSGIPROC __glewPixelTransformParameterfvSGI = NULL; +PFNGLPIXELTRANSFORMPARAMETERISGIPROC __glewPixelTransformParameteriSGI = NULL; +PFNGLPIXELTRANSFORMPARAMETERIVSGIPROC __glewPixelTransformParameterivSGI = NULL; +PFNGLPIXELTRANSFORMSGIPROC __glewPixelTransformSGI = NULL; + +PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX = NULL; + +PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN = NULL; +PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN = NULL; +PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN = NULL; +PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN = NULL; +PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN = NULL; +PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN = NULL; +PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN = NULL; +PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN = NULL; + +PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN = NULL; + +PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN = NULL; +PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN = NULL; +PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN = NULL; +PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN = NULL; +PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN = NULL; +PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN = NULL; +PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN = NULL; + +PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN = NULL; +PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN = NULL; +PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN = NULL; +PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN = NULL; +PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN = NULL; +PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN = NULL; +PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN = NULL; +PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN = NULL; +PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN = NULL; +PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN = NULL; +PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN = NULL; +PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN = NULL; +PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN = NULL; +PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN = NULL; +PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN = NULL; +PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; +PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN = NULL; +PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN = NULL; +PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN = NULL; +PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN = NULL; +PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN = NULL; +PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN = NULL; +PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN = NULL; +PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN = NULL; +PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN = NULL; +PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN = NULL; + +PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN = NULL; + +GLboolean __GLEW_VERSION_1_1 = GL_FALSE; +GLboolean __GLEW_VERSION_1_2 = GL_FALSE; +GLboolean __GLEW_VERSION_1_2_1 = GL_FALSE; +GLboolean __GLEW_VERSION_1_3 = GL_FALSE; +GLboolean __GLEW_VERSION_1_4 = GL_FALSE; +GLboolean __GLEW_VERSION_1_5 = GL_FALSE; +GLboolean __GLEW_VERSION_2_0 = GL_FALSE; +GLboolean __GLEW_VERSION_2_1 = GL_FALSE; +GLboolean __GLEW_VERSION_3_0 = GL_FALSE; +GLboolean __GLEW_VERSION_3_1 = GL_FALSE; +GLboolean __GLEW_VERSION_3_2 = GL_FALSE; +GLboolean __GLEW_VERSION_3_3 = GL_FALSE; +GLboolean __GLEW_VERSION_4_0 = GL_FALSE; +GLboolean __GLEW_VERSION_4_1 = GL_FALSE; +GLboolean __GLEW_VERSION_4_2 = GL_FALSE; +GLboolean __GLEW_VERSION_4_3 = GL_FALSE; +GLboolean __GLEW_VERSION_4_4 = GL_FALSE; +GLboolean __GLEW_VERSION_4_5 = GL_FALSE; +GLboolean __GLEW_VERSION_4_6 = GL_FALSE; +GLboolean __GLEW_3DFX_multisample = GL_FALSE; +GLboolean __GLEW_3DFX_tbuffer = GL_FALSE; +GLboolean __GLEW_3DFX_texture_compression_FXT1 = GL_FALSE; +GLboolean __GLEW_AMD_blend_minmax_factor = GL_FALSE; +GLboolean __GLEW_AMD_compressed_3DC_texture = GL_FALSE; +GLboolean __GLEW_AMD_compressed_ATC_texture = GL_FALSE; +GLboolean __GLEW_AMD_conservative_depth = GL_FALSE; +GLboolean __GLEW_AMD_debug_output = GL_FALSE; +GLboolean __GLEW_AMD_depth_clamp_separate = GL_FALSE; +GLboolean __GLEW_AMD_draw_buffers_blend = GL_FALSE; +GLboolean __GLEW_AMD_framebuffer_sample_positions = GL_FALSE; +GLboolean __GLEW_AMD_gcn_shader = GL_FALSE; +GLboolean __GLEW_AMD_gpu_shader_half_float = GL_FALSE; +GLboolean __GLEW_AMD_gpu_shader_int16 = GL_FALSE; +GLboolean __GLEW_AMD_gpu_shader_int64 = GL_FALSE; +GLboolean __GLEW_AMD_interleaved_elements = GL_FALSE; +GLboolean __GLEW_AMD_multi_draw_indirect = GL_FALSE; +GLboolean __GLEW_AMD_name_gen_delete = GL_FALSE; +GLboolean __GLEW_AMD_occlusion_query_event = GL_FALSE; +GLboolean __GLEW_AMD_performance_monitor = GL_FALSE; +GLboolean __GLEW_AMD_pinned_memory = GL_FALSE; +GLboolean __GLEW_AMD_program_binary_Z400 = GL_FALSE; +GLboolean __GLEW_AMD_query_buffer_object = GL_FALSE; +GLboolean __GLEW_AMD_sample_positions = GL_FALSE; +GLboolean __GLEW_AMD_seamless_cubemap_per_texture = GL_FALSE; +GLboolean __GLEW_AMD_shader_atomic_counter_ops = GL_FALSE; +GLboolean __GLEW_AMD_shader_ballot = GL_FALSE; +GLboolean __GLEW_AMD_shader_explicit_vertex_parameter = GL_FALSE; +GLboolean __GLEW_AMD_shader_stencil_export = GL_FALSE; +GLboolean __GLEW_AMD_shader_stencil_value_export = GL_FALSE; +GLboolean __GLEW_AMD_shader_trinary_minmax = GL_FALSE; +GLboolean __GLEW_AMD_sparse_texture = GL_FALSE; +GLboolean __GLEW_AMD_stencil_operation_extended = GL_FALSE; +GLboolean __GLEW_AMD_texture_gather_bias_lod = GL_FALSE; +GLboolean __GLEW_AMD_texture_texture4 = GL_FALSE; +GLboolean __GLEW_AMD_transform_feedback3_lines_triangles = GL_FALSE; +GLboolean __GLEW_AMD_transform_feedback4 = GL_FALSE; +GLboolean __GLEW_AMD_vertex_shader_layer = GL_FALSE; +GLboolean __GLEW_AMD_vertex_shader_tessellator = GL_FALSE; +GLboolean __GLEW_AMD_vertex_shader_viewport_index = GL_FALSE; +GLboolean __GLEW_ANDROID_extension_pack_es31a = GL_FALSE; +GLboolean __GLEW_ANGLE_depth_texture = GL_FALSE; +GLboolean __GLEW_ANGLE_framebuffer_blit = GL_FALSE; +GLboolean __GLEW_ANGLE_framebuffer_multisample = GL_FALSE; +GLboolean __GLEW_ANGLE_instanced_arrays = GL_FALSE; +GLboolean __GLEW_ANGLE_pack_reverse_row_order = GL_FALSE; +GLboolean __GLEW_ANGLE_program_binary = GL_FALSE; +GLboolean __GLEW_ANGLE_texture_compression_dxt1 = GL_FALSE; +GLboolean __GLEW_ANGLE_texture_compression_dxt3 = GL_FALSE; +GLboolean __GLEW_ANGLE_texture_compression_dxt5 = GL_FALSE; +GLboolean __GLEW_ANGLE_texture_usage = GL_FALSE; +GLboolean __GLEW_ANGLE_timer_query = GL_FALSE; +GLboolean __GLEW_ANGLE_translated_shader_source = GL_FALSE; +GLboolean __GLEW_APPLE_aux_depth_stencil = GL_FALSE; +GLboolean __GLEW_APPLE_client_storage = GL_FALSE; +GLboolean __GLEW_APPLE_clip_distance = GL_FALSE; +GLboolean __GLEW_APPLE_color_buffer_packed_float = GL_FALSE; +GLboolean __GLEW_APPLE_copy_texture_levels = GL_FALSE; +GLboolean __GLEW_APPLE_element_array = GL_FALSE; +GLboolean __GLEW_APPLE_fence = GL_FALSE; +GLboolean __GLEW_APPLE_float_pixels = GL_FALSE; +GLboolean __GLEW_APPLE_flush_buffer_range = GL_FALSE; +GLboolean __GLEW_APPLE_framebuffer_multisample = GL_FALSE; +GLboolean __GLEW_APPLE_object_purgeable = GL_FALSE; +GLboolean __GLEW_APPLE_pixel_buffer = GL_FALSE; +GLboolean __GLEW_APPLE_rgb_422 = GL_FALSE; +GLboolean __GLEW_APPLE_row_bytes = GL_FALSE; +GLboolean __GLEW_APPLE_specular_vector = GL_FALSE; +GLboolean __GLEW_APPLE_sync = GL_FALSE; +GLboolean __GLEW_APPLE_texture_2D_limited_npot = GL_FALSE; +GLboolean __GLEW_APPLE_texture_format_BGRA8888 = GL_FALSE; +GLboolean __GLEW_APPLE_texture_max_level = GL_FALSE; +GLboolean __GLEW_APPLE_texture_packed_float = GL_FALSE; +GLboolean __GLEW_APPLE_texture_range = GL_FALSE; +GLboolean __GLEW_APPLE_transform_hint = GL_FALSE; +GLboolean __GLEW_APPLE_vertex_array_object = GL_FALSE; +GLboolean __GLEW_APPLE_vertex_array_range = GL_FALSE; +GLboolean __GLEW_APPLE_vertex_program_evaluators = GL_FALSE; +GLboolean __GLEW_APPLE_ycbcr_422 = GL_FALSE; +GLboolean __GLEW_ARB_ES2_compatibility = GL_FALSE; +GLboolean __GLEW_ARB_ES3_1_compatibility = GL_FALSE; +GLboolean __GLEW_ARB_ES3_2_compatibility = GL_FALSE; +GLboolean __GLEW_ARB_ES3_compatibility = GL_FALSE; +GLboolean __GLEW_ARB_arrays_of_arrays = GL_FALSE; +GLboolean __GLEW_ARB_base_instance = GL_FALSE; +GLboolean __GLEW_ARB_bindless_texture = GL_FALSE; +GLboolean __GLEW_ARB_blend_func_extended = GL_FALSE; +GLboolean __GLEW_ARB_buffer_storage = GL_FALSE; +GLboolean __GLEW_ARB_cl_event = GL_FALSE; +GLboolean __GLEW_ARB_clear_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_clear_texture = GL_FALSE; +GLboolean __GLEW_ARB_clip_control = GL_FALSE; +GLboolean __GLEW_ARB_color_buffer_float = GL_FALSE; +GLboolean __GLEW_ARB_compatibility = GL_FALSE; +GLboolean __GLEW_ARB_compressed_texture_pixel_storage = GL_FALSE; +GLboolean __GLEW_ARB_compute_shader = GL_FALSE; +GLboolean __GLEW_ARB_compute_variable_group_size = GL_FALSE; +GLboolean __GLEW_ARB_conditional_render_inverted = GL_FALSE; +GLboolean __GLEW_ARB_conservative_depth = GL_FALSE; +GLboolean __GLEW_ARB_copy_buffer = GL_FALSE; +GLboolean __GLEW_ARB_copy_image = GL_FALSE; +GLboolean __GLEW_ARB_cull_distance = GL_FALSE; +GLboolean __GLEW_ARB_debug_output = GL_FALSE; +GLboolean __GLEW_ARB_depth_buffer_float = GL_FALSE; +GLboolean __GLEW_ARB_depth_clamp = GL_FALSE; +GLboolean __GLEW_ARB_depth_texture = GL_FALSE; +GLboolean __GLEW_ARB_derivative_control = GL_FALSE; +GLboolean __GLEW_ARB_direct_state_access = GL_FALSE; +GLboolean __GLEW_ARB_draw_buffers = GL_FALSE; +GLboolean __GLEW_ARB_draw_buffers_blend = GL_FALSE; +GLboolean __GLEW_ARB_draw_elements_base_vertex = GL_FALSE; +GLboolean __GLEW_ARB_draw_indirect = GL_FALSE; +GLboolean __GLEW_ARB_draw_instanced = GL_FALSE; +GLboolean __GLEW_ARB_enhanced_layouts = GL_FALSE; +GLboolean __GLEW_ARB_explicit_attrib_location = GL_FALSE; +GLboolean __GLEW_ARB_explicit_uniform_location = GL_FALSE; +GLboolean __GLEW_ARB_fragment_coord_conventions = GL_FALSE; +GLboolean __GLEW_ARB_fragment_layer_viewport = GL_FALSE; +GLboolean __GLEW_ARB_fragment_program = GL_FALSE; +GLboolean __GLEW_ARB_fragment_program_shadow = GL_FALSE; +GLboolean __GLEW_ARB_fragment_shader = GL_FALSE; +GLboolean __GLEW_ARB_fragment_shader_interlock = GL_FALSE; +GLboolean __GLEW_ARB_framebuffer_no_attachments = GL_FALSE; +GLboolean __GLEW_ARB_framebuffer_object = GL_FALSE; +GLboolean __GLEW_ARB_framebuffer_sRGB = GL_FALSE; +GLboolean __GLEW_ARB_geometry_shader4 = GL_FALSE; +GLboolean __GLEW_ARB_get_program_binary = GL_FALSE; +GLboolean __GLEW_ARB_get_texture_sub_image = GL_FALSE; +GLboolean __GLEW_ARB_gl_spirv = GL_FALSE; +GLboolean __GLEW_ARB_gpu_shader5 = GL_FALSE; +GLboolean __GLEW_ARB_gpu_shader_fp64 = GL_FALSE; +GLboolean __GLEW_ARB_gpu_shader_int64 = GL_FALSE; +GLboolean __GLEW_ARB_half_float_pixel = GL_FALSE; +GLboolean __GLEW_ARB_half_float_vertex = GL_FALSE; +GLboolean __GLEW_ARB_imaging = GL_FALSE; +GLboolean __GLEW_ARB_indirect_parameters = GL_FALSE; +GLboolean __GLEW_ARB_instanced_arrays = GL_FALSE; +GLboolean __GLEW_ARB_internalformat_query = GL_FALSE; +GLboolean __GLEW_ARB_internalformat_query2 = GL_FALSE; +GLboolean __GLEW_ARB_invalidate_subdata = GL_FALSE; +GLboolean __GLEW_ARB_map_buffer_alignment = GL_FALSE; +GLboolean __GLEW_ARB_map_buffer_range = GL_FALSE; +GLboolean __GLEW_ARB_matrix_palette = GL_FALSE; +GLboolean __GLEW_ARB_multi_bind = GL_FALSE; +GLboolean __GLEW_ARB_multi_draw_indirect = GL_FALSE; +GLboolean __GLEW_ARB_multisample = GL_FALSE; +GLboolean __GLEW_ARB_multitexture = GL_FALSE; +GLboolean __GLEW_ARB_occlusion_query = GL_FALSE; +GLboolean __GLEW_ARB_occlusion_query2 = GL_FALSE; +GLboolean __GLEW_ARB_parallel_shader_compile = GL_FALSE; +GLboolean __GLEW_ARB_pipeline_statistics_query = GL_FALSE; +GLboolean __GLEW_ARB_pixel_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_point_parameters = GL_FALSE; +GLboolean __GLEW_ARB_point_sprite = GL_FALSE; +GLboolean __GLEW_ARB_polygon_offset_clamp = GL_FALSE; +GLboolean __GLEW_ARB_post_depth_coverage = GL_FALSE; +GLboolean __GLEW_ARB_program_interface_query = GL_FALSE; +GLboolean __GLEW_ARB_provoking_vertex = GL_FALSE; +GLboolean __GLEW_ARB_query_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_robust_buffer_access_behavior = GL_FALSE; +GLboolean __GLEW_ARB_robustness = GL_FALSE; +GLboolean __GLEW_ARB_robustness_application_isolation = GL_FALSE; +GLboolean __GLEW_ARB_robustness_share_group_isolation = GL_FALSE; +GLboolean __GLEW_ARB_sample_locations = GL_FALSE; +GLboolean __GLEW_ARB_sample_shading = GL_FALSE; +GLboolean __GLEW_ARB_sampler_objects = GL_FALSE; +GLboolean __GLEW_ARB_seamless_cube_map = GL_FALSE; +GLboolean __GLEW_ARB_seamless_cubemap_per_texture = GL_FALSE; +GLboolean __GLEW_ARB_separate_shader_objects = GL_FALSE; +GLboolean __GLEW_ARB_shader_atomic_counter_ops = GL_FALSE; +GLboolean __GLEW_ARB_shader_atomic_counters = GL_FALSE; +GLboolean __GLEW_ARB_shader_ballot = GL_FALSE; +GLboolean __GLEW_ARB_shader_bit_encoding = GL_FALSE; +GLboolean __GLEW_ARB_shader_clock = GL_FALSE; +GLboolean __GLEW_ARB_shader_draw_parameters = GL_FALSE; +GLboolean __GLEW_ARB_shader_group_vote = GL_FALSE; +GLboolean __GLEW_ARB_shader_image_load_store = GL_FALSE; +GLboolean __GLEW_ARB_shader_image_size = GL_FALSE; +GLboolean __GLEW_ARB_shader_objects = GL_FALSE; +GLboolean __GLEW_ARB_shader_precision = GL_FALSE; +GLboolean __GLEW_ARB_shader_stencil_export = GL_FALSE; +GLboolean __GLEW_ARB_shader_storage_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_shader_subroutine = GL_FALSE; +GLboolean __GLEW_ARB_shader_texture_image_samples = GL_FALSE; +GLboolean __GLEW_ARB_shader_texture_lod = GL_FALSE; +GLboolean __GLEW_ARB_shader_viewport_layer_array = GL_FALSE; +GLboolean __GLEW_ARB_shading_language_100 = GL_FALSE; +GLboolean __GLEW_ARB_shading_language_420pack = GL_FALSE; +GLboolean __GLEW_ARB_shading_language_include = GL_FALSE; +GLboolean __GLEW_ARB_shading_language_packing = GL_FALSE; +GLboolean __GLEW_ARB_shadow = GL_FALSE; +GLboolean __GLEW_ARB_shadow_ambient = GL_FALSE; +GLboolean __GLEW_ARB_sparse_buffer = GL_FALSE; +GLboolean __GLEW_ARB_sparse_texture = GL_FALSE; +GLboolean __GLEW_ARB_sparse_texture2 = GL_FALSE; +GLboolean __GLEW_ARB_sparse_texture_clamp = GL_FALSE; +GLboolean __GLEW_ARB_spirv_extensions = GL_FALSE; +GLboolean __GLEW_ARB_stencil_texturing = GL_FALSE; +GLboolean __GLEW_ARB_sync = GL_FALSE; +GLboolean __GLEW_ARB_tessellation_shader = GL_FALSE; +GLboolean __GLEW_ARB_texture_barrier = GL_FALSE; +GLboolean __GLEW_ARB_texture_border_clamp = GL_FALSE; +GLboolean __GLEW_ARB_texture_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_texture_buffer_object_rgb32 = GL_FALSE; +GLboolean __GLEW_ARB_texture_buffer_range = GL_FALSE; +GLboolean __GLEW_ARB_texture_compression = GL_FALSE; +GLboolean __GLEW_ARB_texture_compression_bptc = GL_FALSE; +GLboolean __GLEW_ARB_texture_compression_rgtc = GL_FALSE; +GLboolean __GLEW_ARB_texture_cube_map = GL_FALSE; +GLboolean __GLEW_ARB_texture_cube_map_array = GL_FALSE; +GLboolean __GLEW_ARB_texture_env_add = GL_FALSE; +GLboolean __GLEW_ARB_texture_env_combine = GL_FALSE; +GLboolean __GLEW_ARB_texture_env_crossbar = GL_FALSE; +GLboolean __GLEW_ARB_texture_env_dot3 = GL_FALSE; +GLboolean __GLEW_ARB_texture_filter_anisotropic = GL_FALSE; +GLboolean __GLEW_ARB_texture_filter_minmax = GL_FALSE; +GLboolean __GLEW_ARB_texture_float = GL_FALSE; +GLboolean __GLEW_ARB_texture_gather = GL_FALSE; +GLboolean __GLEW_ARB_texture_mirror_clamp_to_edge = GL_FALSE; +GLboolean __GLEW_ARB_texture_mirrored_repeat = GL_FALSE; +GLboolean __GLEW_ARB_texture_multisample = GL_FALSE; +GLboolean __GLEW_ARB_texture_non_power_of_two = GL_FALSE; +GLboolean __GLEW_ARB_texture_query_levels = GL_FALSE; +GLboolean __GLEW_ARB_texture_query_lod = GL_FALSE; +GLboolean __GLEW_ARB_texture_rectangle = GL_FALSE; +GLboolean __GLEW_ARB_texture_rg = GL_FALSE; +GLboolean __GLEW_ARB_texture_rgb10_a2ui = GL_FALSE; +GLboolean __GLEW_ARB_texture_stencil8 = GL_FALSE; +GLboolean __GLEW_ARB_texture_storage = GL_FALSE; +GLboolean __GLEW_ARB_texture_storage_multisample = GL_FALSE; +GLboolean __GLEW_ARB_texture_swizzle = GL_FALSE; +GLboolean __GLEW_ARB_texture_view = GL_FALSE; +GLboolean __GLEW_ARB_timer_query = GL_FALSE; +GLboolean __GLEW_ARB_transform_feedback2 = GL_FALSE; +GLboolean __GLEW_ARB_transform_feedback3 = GL_FALSE; +GLboolean __GLEW_ARB_transform_feedback_instanced = GL_FALSE; +GLboolean __GLEW_ARB_transform_feedback_overflow_query = GL_FALSE; +GLboolean __GLEW_ARB_transpose_matrix = GL_FALSE; +GLboolean __GLEW_ARB_uniform_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_vertex_array_bgra = GL_FALSE; +GLboolean __GLEW_ARB_vertex_array_object = GL_FALSE; +GLboolean __GLEW_ARB_vertex_attrib_64bit = GL_FALSE; +GLboolean __GLEW_ARB_vertex_attrib_binding = GL_FALSE; +GLboolean __GLEW_ARB_vertex_blend = GL_FALSE; +GLboolean __GLEW_ARB_vertex_buffer_object = GL_FALSE; +GLboolean __GLEW_ARB_vertex_program = GL_FALSE; +GLboolean __GLEW_ARB_vertex_shader = GL_FALSE; +GLboolean __GLEW_ARB_vertex_type_10f_11f_11f_rev = GL_FALSE; +GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev = GL_FALSE; +GLboolean __GLEW_ARB_viewport_array = GL_FALSE; +GLboolean __GLEW_ARB_window_pos = GL_FALSE; +GLboolean __GLEW_ARM_mali_program_binary = GL_FALSE; +GLboolean __GLEW_ARM_mali_shader_binary = GL_FALSE; +GLboolean __GLEW_ARM_rgba8 = GL_FALSE; +GLboolean __GLEW_ARM_shader_framebuffer_fetch = GL_FALSE; +GLboolean __GLEW_ARM_shader_framebuffer_fetch_depth_stencil = GL_FALSE; +GLboolean __GLEW_ATIX_point_sprites = GL_FALSE; +GLboolean __GLEW_ATIX_texture_env_combine3 = GL_FALSE; +GLboolean __GLEW_ATIX_texture_env_route = GL_FALSE; +GLboolean __GLEW_ATIX_vertex_shader_output_point_size = GL_FALSE; +GLboolean __GLEW_ATI_draw_buffers = GL_FALSE; +GLboolean __GLEW_ATI_element_array = GL_FALSE; +GLboolean __GLEW_ATI_envmap_bumpmap = GL_FALSE; +GLboolean __GLEW_ATI_fragment_shader = GL_FALSE; +GLboolean __GLEW_ATI_map_object_buffer = GL_FALSE; +GLboolean __GLEW_ATI_meminfo = GL_FALSE; +GLboolean __GLEW_ATI_pn_triangles = GL_FALSE; +GLboolean __GLEW_ATI_separate_stencil = GL_FALSE; +GLboolean __GLEW_ATI_shader_texture_lod = GL_FALSE; +GLboolean __GLEW_ATI_text_fragment_shader = GL_FALSE; +GLboolean __GLEW_ATI_texture_compression_3dc = GL_FALSE; +GLboolean __GLEW_ATI_texture_env_combine3 = GL_FALSE; +GLboolean __GLEW_ATI_texture_float = GL_FALSE; +GLboolean __GLEW_ATI_texture_mirror_once = GL_FALSE; +GLboolean __GLEW_ATI_vertex_array_object = GL_FALSE; +GLboolean __GLEW_ATI_vertex_attrib_array_object = GL_FALSE; +GLboolean __GLEW_ATI_vertex_streams = GL_FALSE; +GLboolean __GLEW_EGL_KHR_context_flush_control = GL_FALSE; +GLboolean __GLEW_EGL_NV_robustness_video_memory_purge = GL_FALSE; +GLboolean __GLEW_EXT_422_pixels = GL_FALSE; +GLboolean __GLEW_EXT_Cg_shader = GL_FALSE; +GLboolean __GLEW_EXT_EGL_image_array = GL_FALSE; +GLboolean __GLEW_EXT_YUV_target = GL_FALSE; +GLboolean __GLEW_EXT_abgr = GL_FALSE; +GLboolean __GLEW_EXT_base_instance = GL_FALSE; +GLboolean __GLEW_EXT_bgra = GL_FALSE; +GLboolean __GLEW_EXT_bindable_uniform = GL_FALSE; +GLboolean __GLEW_EXT_blend_color = GL_FALSE; +GLboolean __GLEW_EXT_blend_equation_separate = GL_FALSE; +GLboolean __GLEW_EXT_blend_func_extended = GL_FALSE; +GLboolean __GLEW_EXT_blend_func_separate = GL_FALSE; +GLboolean __GLEW_EXT_blend_logic_op = GL_FALSE; +GLboolean __GLEW_EXT_blend_minmax = GL_FALSE; +GLboolean __GLEW_EXT_blend_subtract = GL_FALSE; +GLboolean __GLEW_EXT_buffer_storage = GL_FALSE; +GLboolean __GLEW_EXT_clear_texture = GL_FALSE; +GLboolean __GLEW_EXT_clip_cull_distance = GL_FALSE; +GLboolean __GLEW_EXT_clip_volume_hint = GL_FALSE; +GLboolean __GLEW_EXT_cmyka = GL_FALSE; +GLboolean __GLEW_EXT_color_buffer_float = GL_FALSE; +GLboolean __GLEW_EXT_color_buffer_half_float = GL_FALSE; +GLboolean __GLEW_EXT_color_subtable = GL_FALSE; +GLboolean __GLEW_EXT_compiled_vertex_array = GL_FALSE; +GLboolean __GLEW_EXT_compressed_ETC1_RGB8_sub_texture = GL_FALSE; +GLboolean __GLEW_EXT_conservative_depth = GL_FALSE; +GLboolean __GLEW_EXT_convolution = GL_FALSE; +GLboolean __GLEW_EXT_coordinate_frame = GL_FALSE; +GLboolean __GLEW_EXT_copy_image = GL_FALSE; +GLboolean __GLEW_EXT_copy_texture = GL_FALSE; +GLboolean __GLEW_EXT_cull_vertex = GL_FALSE; +GLboolean __GLEW_EXT_debug_label = GL_FALSE; +GLboolean __GLEW_EXT_debug_marker = GL_FALSE; +GLboolean __GLEW_EXT_depth_bounds_test = GL_FALSE; +GLboolean __GLEW_EXT_direct_state_access = GL_FALSE; +GLboolean __GLEW_EXT_discard_framebuffer = GL_FALSE; +GLboolean __GLEW_EXT_draw_buffers = GL_FALSE; +GLboolean __GLEW_EXT_draw_buffers2 = GL_FALSE; +GLboolean __GLEW_EXT_draw_buffers_indexed = GL_FALSE; +GLboolean __GLEW_EXT_draw_elements_base_vertex = GL_FALSE; +GLboolean __GLEW_EXT_draw_instanced = GL_FALSE; +GLboolean __GLEW_EXT_draw_range_elements = GL_FALSE; +GLboolean __GLEW_EXT_external_buffer = GL_FALSE; +GLboolean __GLEW_EXT_float_blend = GL_FALSE; +GLboolean __GLEW_EXT_fog_coord = GL_FALSE; +GLboolean __GLEW_EXT_frag_depth = GL_FALSE; +GLboolean __GLEW_EXT_fragment_lighting = GL_FALSE; +GLboolean __GLEW_EXT_framebuffer_blit = GL_FALSE; +GLboolean __GLEW_EXT_framebuffer_multisample = GL_FALSE; +GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled = GL_FALSE; +GLboolean __GLEW_EXT_framebuffer_object = GL_FALSE; +GLboolean __GLEW_EXT_framebuffer_sRGB = GL_FALSE; +GLboolean __GLEW_EXT_geometry_point_size = GL_FALSE; +GLboolean __GLEW_EXT_geometry_shader = GL_FALSE; +GLboolean __GLEW_EXT_geometry_shader4 = GL_FALSE; +GLboolean __GLEW_EXT_gpu_program_parameters = GL_FALSE; +GLboolean __GLEW_EXT_gpu_shader4 = GL_FALSE; +GLboolean __GLEW_EXT_gpu_shader5 = GL_FALSE; +GLboolean __GLEW_EXT_histogram = GL_FALSE; +GLboolean __GLEW_EXT_index_array_formats = GL_FALSE; +GLboolean __GLEW_EXT_index_func = GL_FALSE; +GLboolean __GLEW_EXT_index_material = GL_FALSE; +GLboolean __GLEW_EXT_index_texture = GL_FALSE; +GLboolean __GLEW_EXT_instanced_arrays = GL_FALSE; +GLboolean __GLEW_EXT_light_texture = GL_FALSE; +GLboolean __GLEW_EXT_map_buffer_range = GL_FALSE; +GLboolean __GLEW_EXT_memory_object = GL_FALSE; +GLboolean __GLEW_EXT_memory_object_fd = GL_FALSE; +GLboolean __GLEW_EXT_memory_object_win32 = GL_FALSE; +GLboolean __GLEW_EXT_misc_attribute = GL_FALSE; +GLboolean __GLEW_EXT_multi_draw_arrays = GL_FALSE; +GLboolean __GLEW_EXT_multi_draw_indirect = GL_FALSE; +GLboolean __GLEW_EXT_multiple_textures = GL_FALSE; +GLboolean __GLEW_EXT_multisample = GL_FALSE; +GLboolean __GLEW_EXT_multisample_compatibility = GL_FALSE; +GLboolean __GLEW_EXT_multisampled_render_to_texture = GL_FALSE; +GLboolean __GLEW_EXT_multisampled_render_to_texture2 = GL_FALSE; +GLboolean __GLEW_EXT_multiview_draw_buffers = GL_FALSE; +GLboolean __GLEW_EXT_packed_depth_stencil = GL_FALSE; +GLboolean __GLEW_EXT_packed_float = GL_FALSE; +GLboolean __GLEW_EXT_packed_pixels = GL_FALSE; +GLboolean __GLEW_EXT_paletted_texture = GL_FALSE; +GLboolean __GLEW_EXT_pixel_buffer_object = GL_FALSE; +GLboolean __GLEW_EXT_pixel_transform = GL_FALSE; +GLboolean __GLEW_EXT_pixel_transform_color_table = GL_FALSE; +GLboolean __GLEW_EXT_point_parameters = GL_FALSE; +GLboolean __GLEW_EXT_polygon_offset = GL_FALSE; +GLboolean __GLEW_EXT_polygon_offset_clamp = GL_FALSE; +GLboolean __GLEW_EXT_post_depth_coverage = GL_FALSE; +GLboolean __GLEW_EXT_provoking_vertex = GL_FALSE; +GLboolean __GLEW_EXT_pvrtc_sRGB = GL_FALSE; +GLboolean __GLEW_EXT_raster_multisample = GL_FALSE; +GLboolean __GLEW_EXT_read_format_bgra = GL_FALSE; +GLboolean __GLEW_EXT_render_snorm = GL_FALSE; +GLboolean __GLEW_EXT_rescale_normal = GL_FALSE; +GLboolean __GLEW_EXT_sRGB = GL_FALSE; +GLboolean __GLEW_EXT_sRGB_write_control = GL_FALSE; +GLboolean __GLEW_EXT_scene_marker = GL_FALSE; +GLboolean __GLEW_EXT_secondary_color = GL_FALSE; +GLboolean __GLEW_EXT_semaphore = GL_FALSE; +GLboolean __GLEW_EXT_semaphore_fd = GL_FALSE; +GLboolean __GLEW_EXT_semaphore_win32 = GL_FALSE; +GLboolean __GLEW_EXT_separate_shader_objects = GL_FALSE; +GLboolean __GLEW_EXT_separate_specular_color = GL_FALSE; +GLboolean __GLEW_EXT_shader_framebuffer_fetch = GL_FALSE; +GLboolean __GLEW_EXT_shader_group_vote = GL_FALSE; +GLboolean __GLEW_EXT_shader_image_load_formatted = GL_FALSE; +GLboolean __GLEW_EXT_shader_image_load_store = GL_FALSE; +GLboolean __GLEW_EXT_shader_implicit_conversions = GL_FALSE; +GLboolean __GLEW_EXT_shader_integer_mix = GL_FALSE; +GLboolean __GLEW_EXT_shader_io_blocks = GL_FALSE; +GLboolean __GLEW_EXT_shader_non_constant_global_initializers = GL_FALSE; +GLboolean __GLEW_EXT_shader_pixel_local_storage = GL_FALSE; +GLboolean __GLEW_EXT_shader_pixel_local_storage2 = GL_FALSE; +GLboolean __GLEW_EXT_shader_texture_lod = GL_FALSE; +GLboolean __GLEW_EXT_shadow_funcs = GL_FALSE; +GLboolean __GLEW_EXT_shadow_samplers = GL_FALSE; +GLboolean __GLEW_EXT_shared_texture_palette = GL_FALSE; +GLboolean __GLEW_EXT_sparse_texture = GL_FALSE; +GLboolean __GLEW_EXT_sparse_texture2 = GL_FALSE; +GLboolean __GLEW_EXT_stencil_clear_tag = GL_FALSE; +GLboolean __GLEW_EXT_stencil_two_side = GL_FALSE; +GLboolean __GLEW_EXT_stencil_wrap = GL_FALSE; +GLboolean __GLEW_EXT_subtexture = GL_FALSE; +GLboolean __GLEW_EXT_texture = GL_FALSE; +GLboolean __GLEW_EXT_texture3D = GL_FALSE; +GLboolean __GLEW_EXT_texture_array = GL_FALSE; +GLboolean __GLEW_EXT_texture_buffer_object = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_astc_decode_mode = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5 = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_bptc = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_dxt1 = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_latc = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_rgtc = GL_FALSE; +GLboolean __GLEW_EXT_texture_compression_s3tc = GL_FALSE; +GLboolean __GLEW_EXT_texture_cube_map = GL_FALSE; +GLboolean __GLEW_EXT_texture_cube_map_array = GL_FALSE; +GLboolean __GLEW_EXT_texture_edge_clamp = GL_FALSE; +GLboolean __GLEW_EXT_texture_env = GL_FALSE; +GLboolean __GLEW_EXT_texture_env_add = GL_FALSE; +GLboolean __GLEW_EXT_texture_env_combine = GL_FALSE; +GLboolean __GLEW_EXT_texture_env_dot3 = GL_FALSE; +GLboolean __GLEW_EXT_texture_filter_anisotropic = GL_FALSE; +GLboolean __GLEW_EXT_texture_filter_minmax = GL_FALSE; +GLboolean __GLEW_EXT_texture_format_BGRA8888 = GL_FALSE; +GLboolean __GLEW_EXT_texture_integer = GL_FALSE; +GLboolean __GLEW_EXT_texture_lod_bias = GL_FALSE; +GLboolean __GLEW_EXT_texture_mirror_clamp = GL_FALSE; +GLboolean __GLEW_EXT_texture_norm16 = GL_FALSE; +GLboolean __GLEW_EXT_texture_object = GL_FALSE; +GLboolean __GLEW_EXT_texture_perturb_normal = GL_FALSE; +GLboolean __GLEW_EXT_texture_rectangle = GL_FALSE; +GLboolean __GLEW_EXT_texture_rg = GL_FALSE; +GLboolean __GLEW_EXT_texture_sRGB = GL_FALSE; +GLboolean __GLEW_EXT_texture_sRGB_R8 = GL_FALSE; +GLboolean __GLEW_EXT_texture_sRGB_RG8 = GL_FALSE; +GLboolean __GLEW_EXT_texture_sRGB_decode = GL_FALSE; +GLboolean __GLEW_EXT_texture_shared_exponent = GL_FALSE; +GLboolean __GLEW_EXT_texture_snorm = GL_FALSE; +GLboolean __GLEW_EXT_texture_storage = GL_FALSE; +GLboolean __GLEW_EXT_texture_swizzle = GL_FALSE; +GLboolean __GLEW_EXT_texture_type_2_10_10_10_REV = GL_FALSE; +GLboolean __GLEW_EXT_texture_view = GL_FALSE; +GLboolean __GLEW_EXT_timer_query = GL_FALSE; +GLboolean __GLEW_EXT_transform_feedback = GL_FALSE; +GLboolean __GLEW_EXT_unpack_subimage = GL_FALSE; +GLboolean __GLEW_EXT_vertex_array = GL_FALSE; +GLboolean __GLEW_EXT_vertex_array_bgra = GL_FALSE; +GLboolean __GLEW_EXT_vertex_array_setXXX = GL_FALSE; +GLboolean __GLEW_EXT_vertex_attrib_64bit = GL_FALSE; +GLboolean __GLEW_EXT_vertex_shader = GL_FALSE; +GLboolean __GLEW_EXT_vertex_weighting = GL_FALSE; +GLboolean __GLEW_EXT_win32_keyed_mutex = GL_FALSE; +GLboolean __GLEW_EXT_window_rectangles = GL_FALSE; +GLboolean __GLEW_EXT_x11_sync_object = GL_FALSE; +GLboolean __GLEW_GREMEDY_frame_terminator = GL_FALSE; +GLboolean __GLEW_GREMEDY_string_marker = GL_FALSE; +GLboolean __GLEW_HP_convolution_border_modes = GL_FALSE; +GLboolean __GLEW_HP_image_transform = GL_FALSE; +GLboolean __GLEW_HP_occlusion_test = GL_FALSE; +GLboolean __GLEW_HP_texture_lighting = GL_FALSE; +GLboolean __GLEW_IBM_cull_vertex = GL_FALSE; +GLboolean __GLEW_IBM_multimode_draw_arrays = GL_FALSE; +GLboolean __GLEW_IBM_rasterpos_clip = GL_FALSE; +GLboolean __GLEW_IBM_static_data = GL_FALSE; +GLboolean __GLEW_IBM_texture_mirrored_repeat = GL_FALSE; +GLboolean __GLEW_IBM_vertex_array_lists = GL_FALSE; +GLboolean __GLEW_INGR_color_clamp = GL_FALSE; +GLboolean __GLEW_INGR_interlace_read = GL_FALSE; +GLboolean __GLEW_INTEL_conservative_rasterization = GL_FALSE; +GLboolean __GLEW_INTEL_fragment_shader_ordering = GL_FALSE; +GLboolean __GLEW_INTEL_framebuffer_CMAA = GL_FALSE; +GLboolean __GLEW_INTEL_map_texture = GL_FALSE; +GLboolean __GLEW_INTEL_parallel_arrays = GL_FALSE; +GLboolean __GLEW_INTEL_performance_query = GL_FALSE; +GLboolean __GLEW_INTEL_texture_scissor = GL_FALSE; +GLboolean __GLEW_KHR_blend_equation_advanced = GL_FALSE; +GLboolean __GLEW_KHR_blend_equation_advanced_coherent = GL_FALSE; +GLboolean __GLEW_KHR_context_flush_control = GL_FALSE; +GLboolean __GLEW_KHR_debug = GL_FALSE; +GLboolean __GLEW_KHR_no_error = GL_FALSE; +GLboolean __GLEW_KHR_parallel_shader_compile = GL_FALSE; +GLboolean __GLEW_KHR_robust_buffer_access_behavior = GL_FALSE; +GLboolean __GLEW_KHR_robustness = GL_FALSE; +GLboolean __GLEW_KHR_texture_compression_astc_hdr = GL_FALSE; +GLboolean __GLEW_KHR_texture_compression_astc_ldr = GL_FALSE; +GLboolean __GLEW_KHR_texture_compression_astc_sliced_3d = GL_FALSE; +GLboolean __GLEW_KTX_buffer_region = GL_FALSE; +GLboolean __GLEW_MESAX_texture_stack = GL_FALSE; +GLboolean __GLEW_MESA_pack_invert = GL_FALSE; +GLboolean __GLEW_MESA_resize_buffers = GL_FALSE; +GLboolean __GLEW_MESA_shader_integer_functions = GL_FALSE; +GLboolean __GLEW_MESA_window_pos = GL_FALSE; +GLboolean __GLEW_MESA_ycbcr_texture = GL_FALSE; +GLboolean __GLEW_NVX_blend_equation_advanced_multi_draw_buffers = GL_FALSE; +GLboolean __GLEW_NVX_conditional_render = GL_FALSE; +GLboolean __GLEW_NVX_gpu_memory_info = GL_FALSE; +GLboolean __GLEW_NVX_linked_gpu_multicast = GL_FALSE; +GLboolean __GLEW_NV_3dvision_settings = GL_FALSE; +GLboolean __GLEW_NV_EGL_stream_consumer_external = GL_FALSE; +GLboolean __GLEW_NV_alpha_to_coverage_dither_control = GL_FALSE; +GLboolean __GLEW_NV_bgr = GL_FALSE; +GLboolean __GLEW_NV_bindless_multi_draw_indirect = GL_FALSE; +GLboolean __GLEW_NV_bindless_multi_draw_indirect_count = GL_FALSE; +GLboolean __GLEW_NV_bindless_texture = GL_FALSE; +GLboolean __GLEW_NV_blend_equation_advanced = GL_FALSE; +GLboolean __GLEW_NV_blend_equation_advanced_coherent = GL_FALSE; +GLboolean __GLEW_NV_blend_minmax_factor = GL_FALSE; +GLboolean __GLEW_NV_blend_square = GL_FALSE; +GLboolean __GLEW_NV_clip_space_w_scaling = GL_FALSE; +GLboolean __GLEW_NV_command_list = GL_FALSE; +GLboolean __GLEW_NV_compute_program5 = GL_FALSE; +GLboolean __GLEW_NV_conditional_render = GL_FALSE; +GLboolean __GLEW_NV_conservative_raster = GL_FALSE; +GLboolean __GLEW_NV_conservative_raster_dilate = GL_FALSE; +GLboolean __GLEW_NV_conservative_raster_pre_snap_triangles = GL_FALSE; +GLboolean __GLEW_NV_copy_buffer = GL_FALSE; +GLboolean __GLEW_NV_copy_depth_to_color = GL_FALSE; +GLboolean __GLEW_NV_copy_image = GL_FALSE; +GLboolean __GLEW_NV_deep_texture3D = GL_FALSE; +GLboolean __GLEW_NV_depth_buffer_float = GL_FALSE; +GLboolean __GLEW_NV_depth_clamp = GL_FALSE; +GLboolean __GLEW_NV_depth_range_unclamped = GL_FALSE; +GLboolean __GLEW_NV_draw_buffers = GL_FALSE; +GLboolean __GLEW_NV_draw_instanced = GL_FALSE; +GLboolean __GLEW_NV_draw_texture = GL_FALSE; +GLboolean __GLEW_NV_draw_vulkan_image = GL_FALSE; +GLboolean __GLEW_NV_evaluators = GL_FALSE; +GLboolean __GLEW_NV_explicit_attrib_location = GL_FALSE; +GLboolean __GLEW_NV_explicit_multisample = GL_FALSE; +GLboolean __GLEW_NV_fbo_color_attachments = GL_FALSE; +GLboolean __GLEW_NV_fence = GL_FALSE; +GLboolean __GLEW_NV_fill_rectangle = GL_FALSE; +GLboolean __GLEW_NV_float_buffer = GL_FALSE; +GLboolean __GLEW_NV_fog_distance = GL_FALSE; +GLboolean __GLEW_NV_fragment_coverage_to_color = GL_FALSE; +GLboolean __GLEW_NV_fragment_program = GL_FALSE; +GLboolean __GLEW_NV_fragment_program2 = GL_FALSE; +GLboolean __GLEW_NV_fragment_program4 = GL_FALSE; +GLboolean __GLEW_NV_fragment_program_option = GL_FALSE; +GLboolean __GLEW_NV_fragment_shader_interlock = GL_FALSE; +GLboolean __GLEW_NV_framebuffer_blit = GL_FALSE; +GLboolean __GLEW_NV_framebuffer_mixed_samples = GL_FALSE; +GLboolean __GLEW_NV_framebuffer_multisample = GL_FALSE; +GLboolean __GLEW_NV_framebuffer_multisample_coverage = GL_FALSE; +GLboolean __GLEW_NV_generate_mipmap_sRGB = GL_FALSE; +GLboolean __GLEW_NV_geometry_program4 = GL_FALSE; +GLboolean __GLEW_NV_geometry_shader4 = GL_FALSE; +GLboolean __GLEW_NV_geometry_shader_passthrough = GL_FALSE; +GLboolean __GLEW_NV_gpu_multicast = GL_FALSE; +GLboolean __GLEW_NV_gpu_program4 = GL_FALSE; +GLboolean __GLEW_NV_gpu_program5 = GL_FALSE; +GLboolean __GLEW_NV_gpu_program5_mem_extended = GL_FALSE; +GLboolean __GLEW_NV_gpu_program_fp64 = GL_FALSE; +GLboolean __GLEW_NV_gpu_shader5 = GL_FALSE; +GLboolean __GLEW_NV_half_float = GL_FALSE; +GLboolean __GLEW_NV_image_formats = GL_FALSE; +GLboolean __GLEW_NV_instanced_arrays = GL_FALSE; +GLboolean __GLEW_NV_internalformat_sample_query = GL_FALSE; +GLboolean __GLEW_NV_light_max_exponent = GL_FALSE; +GLboolean __GLEW_NV_multisample_coverage = GL_FALSE; +GLboolean __GLEW_NV_multisample_filter_hint = GL_FALSE; +GLboolean __GLEW_NV_non_square_matrices = GL_FALSE; +GLboolean __GLEW_NV_occlusion_query = GL_FALSE; +GLboolean __GLEW_NV_pack_subimage = GL_FALSE; +GLboolean __GLEW_NV_packed_depth_stencil = GL_FALSE; +GLboolean __GLEW_NV_packed_float = GL_FALSE; +GLboolean __GLEW_NV_packed_float_linear = GL_FALSE; +GLboolean __GLEW_NV_parameter_buffer_object = GL_FALSE; +GLboolean __GLEW_NV_parameter_buffer_object2 = GL_FALSE; +GLboolean __GLEW_NV_path_rendering = GL_FALSE; +GLboolean __GLEW_NV_path_rendering_shared_edge = GL_FALSE; +GLboolean __GLEW_NV_pixel_buffer_object = GL_FALSE; +GLboolean __GLEW_NV_pixel_data_range = GL_FALSE; +GLboolean __GLEW_NV_platform_binary = GL_FALSE; +GLboolean __GLEW_NV_point_sprite = GL_FALSE; +GLboolean __GLEW_NV_polygon_mode = GL_FALSE; +GLboolean __GLEW_NV_present_video = GL_FALSE; +GLboolean __GLEW_NV_primitive_restart = GL_FALSE; +GLboolean __GLEW_NV_read_depth = GL_FALSE; +GLboolean __GLEW_NV_read_depth_stencil = GL_FALSE; +GLboolean __GLEW_NV_read_stencil = GL_FALSE; +GLboolean __GLEW_NV_register_combiners = GL_FALSE; +GLboolean __GLEW_NV_register_combiners2 = GL_FALSE; +GLboolean __GLEW_NV_robustness_video_memory_purge = GL_FALSE; +GLboolean __GLEW_NV_sRGB_formats = GL_FALSE; +GLboolean __GLEW_NV_sample_locations = GL_FALSE; +GLboolean __GLEW_NV_sample_mask_override_coverage = GL_FALSE; +GLboolean __GLEW_NV_shader_atomic_counters = GL_FALSE; +GLboolean __GLEW_NV_shader_atomic_float = GL_FALSE; +GLboolean __GLEW_NV_shader_atomic_float64 = GL_FALSE; +GLboolean __GLEW_NV_shader_atomic_fp16_vector = GL_FALSE; +GLboolean __GLEW_NV_shader_atomic_int64 = GL_FALSE; +GLboolean __GLEW_NV_shader_buffer_load = GL_FALSE; +GLboolean __GLEW_NV_shader_noperspective_interpolation = GL_FALSE; +GLboolean __GLEW_NV_shader_storage_buffer_object = GL_FALSE; +GLboolean __GLEW_NV_shader_thread_group = GL_FALSE; +GLboolean __GLEW_NV_shader_thread_shuffle = GL_FALSE; +GLboolean __GLEW_NV_shadow_samplers_array = GL_FALSE; +GLboolean __GLEW_NV_shadow_samplers_cube = GL_FALSE; +GLboolean __GLEW_NV_stereo_view_rendering = GL_FALSE; +GLboolean __GLEW_NV_tessellation_program5 = GL_FALSE; +GLboolean __GLEW_NV_texgen_emboss = GL_FALSE; +GLboolean __GLEW_NV_texgen_reflection = GL_FALSE; +GLboolean __GLEW_NV_texture_array = GL_FALSE; +GLboolean __GLEW_NV_texture_barrier = GL_FALSE; +GLboolean __GLEW_NV_texture_border_clamp = GL_FALSE; +GLboolean __GLEW_NV_texture_compression_latc = GL_FALSE; +GLboolean __GLEW_NV_texture_compression_s3tc = GL_FALSE; +GLboolean __GLEW_NV_texture_compression_s3tc_update = GL_FALSE; +GLboolean __GLEW_NV_texture_compression_vtc = GL_FALSE; +GLboolean __GLEW_NV_texture_env_combine4 = GL_FALSE; +GLboolean __GLEW_NV_texture_expand_normal = GL_FALSE; +GLboolean __GLEW_NV_texture_multisample = GL_FALSE; +GLboolean __GLEW_NV_texture_npot_2D_mipmap = GL_FALSE; +GLboolean __GLEW_NV_texture_rectangle = GL_FALSE; +GLboolean __GLEW_NV_texture_rectangle_compressed = GL_FALSE; +GLboolean __GLEW_NV_texture_shader = GL_FALSE; +GLboolean __GLEW_NV_texture_shader2 = GL_FALSE; +GLboolean __GLEW_NV_texture_shader3 = GL_FALSE; +GLboolean __GLEW_NV_transform_feedback = GL_FALSE; +GLboolean __GLEW_NV_transform_feedback2 = GL_FALSE; +GLboolean __GLEW_NV_uniform_buffer_unified_memory = GL_FALSE; +GLboolean __GLEW_NV_vdpau_interop = GL_FALSE; +GLboolean __GLEW_NV_vertex_array_range = GL_FALSE; +GLboolean __GLEW_NV_vertex_array_range2 = GL_FALSE; +GLboolean __GLEW_NV_vertex_attrib_integer_64bit = GL_FALSE; +GLboolean __GLEW_NV_vertex_buffer_unified_memory = GL_FALSE; +GLboolean __GLEW_NV_vertex_program = GL_FALSE; +GLboolean __GLEW_NV_vertex_program1_1 = GL_FALSE; +GLboolean __GLEW_NV_vertex_program2 = GL_FALSE; +GLboolean __GLEW_NV_vertex_program2_option = GL_FALSE; +GLboolean __GLEW_NV_vertex_program3 = GL_FALSE; +GLboolean __GLEW_NV_vertex_program4 = GL_FALSE; +GLboolean __GLEW_NV_video_capture = GL_FALSE; +GLboolean __GLEW_NV_viewport_array = GL_FALSE; +GLboolean __GLEW_NV_viewport_array2 = GL_FALSE; +GLboolean __GLEW_NV_viewport_swizzle = GL_FALSE; +GLboolean __GLEW_OES_byte_coordinates = GL_FALSE; +GLboolean __GLEW_OML_interlace = GL_FALSE; +GLboolean __GLEW_OML_resample = GL_FALSE; +GLboolean __GLEW_OML_subsample = GL_FALSE; +GLboolean __GLEW_OVR_multiview = GL_FALSE; +GLboolean __GLEW_OVR_multiview2 = GL_FALSE; +GLboolean __GLEW_OVR_multiview_multisampled_render_to_texture = GL_FALSE; +GLboolean __GLEW_PGI_misc_hints = GL_FALSE; +GLboolean __GLEW_PGI_vertex_hints = GL_FALSE; +GLboolean __GLEW_QCOM_alpha_test = GL_FALSE; +GLboolean __GLEW_QCOM_binning_control = GL_FALSE; +GLboolean __GLEW_QCOM_driver_control = GL_FALSE; +GLboolean __GLEW_QCOM_extended_get = GL_FALSE; +GLboolean __GLEW_QCOM_extended_get2 = GL_FALSE; +GLboolean __GLEW_QCOM_framebuffer_foveated = GL_FALSE; +GLboolean __GLEW_QCOM_perfmon_global_mode = GL_FALSE; +GLboolean __GLEW_QCOM_shader_framebuffer_fetch_noncoherent = GL_FALSE; +GLboolean __GLEW_QCOM_tiled_rendering = GL_FALSE; +GLboolean __GLEW_QCOM_writeonly_rendering = GL_FALSE; +GLboolean __GLEW_REGAL_ES1_0_compatibility = GL_FALSE; +GLboolean __GLEW_REGAL_ES1_1_compatibility = GL_FALSE; +GLboolean __GLEW_REGAL_enable = GL_FALSE; +GLboolean __GLEW_REGAL_error_string = GL_FALSE; +GLboolean __GLEW_REGAL_extension_query = GL_FALSE; +GLboolean __GLEW_REGAL_log = GL_FALSE; +GLboolean __GLEW_REGAL_proc_address = GL_FALSE; +GLboolean __GLEW_REND_screen_coordinates = GL_FALSE; +GLboolean __GLEW_S3_s3tc = GL_FALSE; +GLboolean __GLEW_SGIS_clip_band_hint = GL_FALSE; +GLboolean __GLEW_SGIS_color_range = GL_FALSE; +GLboolean __GLEW_SGIS_detail_texture = GL_FALSE; +GLboolean __GLEW_SGIS_fog_function = GL_FALSE; +GLboolean __GLEW_SGIS_generate_mipmap = GL_FALSE; +GLboolean __GLEW_SGIS_line_texgen = GL_FALSE; +GLboolean __GLEW_SGIS_multisample = GL_FALSE; +GLboolean __GLEW_SGIS_multitexture = GL_FALSE; +GLboolean __GLEW_SGIS_pixel_texture = GL_FALSE; +GLboolean __GLEW_SGIS_point_line_texgen = GL_FALSE; +GLboolean __GLEW_SGIS_shared_multisample = GL_FALSE; +GLboolean __GLEW_SGIS_sharpen_texture = GL_FALSE; +GLboolean __GLEW_SGIS_texture4D = GL_FALSE; +GLboolean __GLEW_SGIS_texture_border_clamp = GL_FALSE; +GLboolean __GLEW_SGIS_texture_edge_clamp = GL_FALSE; +GLboolean __GLEW_SGIS_texture_filter4 = GL_FALSE; +GLboolean __GLEW_SGIS_texture_lod = GL_FALSE; +GLboolean __GLEW_SGIS_texture_select = GL_FALSE; +GLboolean __GLEW_SGIX_async = GL_FALSE; +GLboolean __GLEW_SGIX_async_histogram = GL_FALSE; +GLboolean __GLEW_SGIX_async_pixel = GL_FALSE; +GLboolean __GLEW_SGIX_bali_g_instruments = GL_FALSE; +GLboolean __GLEW_SGIX_bali_r_instruments = GL_FALSE; +GLboolean __GLEW_SGIX_bali_timer_instruments = GL_FALSE; +GLboolean __GLEW_SGIX_blend_alpha_minmax = GL_FALSE; +GLboolean __GLEW_SGIX_blend_cadd = GL_FALSE; +GLboolean __GLEW_SGIX_blend_cmultiply = GL_FALSE; +GLboolean __GLEW_SGIX_calligraphic_fragment = GL_FALSE; +GLboolean __GLEW_SGIX_clipmap = GL_FALSE; +GLboolean __GLEW_SGIX_color_matrix_accuracy = GL_FALSE; +GLboolean __GLEW_SGIX_color_table_index_mode = GL_FALSE; +GLboolean __GLEW_SGIX_complex_polar = GL_FALSE; +GLboolean __GLEW_SGIX_convolution_accuracy = GL_FALSE; +GLboolean __GLEW_SGIX_cube_map = GL_FALSE; +GLboolean __GLEW_SGIX_cylinder_texgen = GL_FALSE; +GLboolean __GLEW_SGIX_datapipe = GL_FALSE; +GLboolean __GLEW_SGIX_decimation = GL_FALSE; +GLboolean __GLEW_SGIX_depth_pass_instrument = GL_FALSE; +GLboolean __GLEW_SGIX_depth_texture = GL_FALSE; +GLboolean __GLEW_SGIX_dvc = GL_FALSE; +GLboolean __GLEW_SGIX_flush_raster = GL_FALSE; +GLboolean __GLEW_SGIX_fog_blend = GL_FALSE; +GLboolean __GLEW_SGIX_fog_factor_to_alpha = GL_FALSE; +GLboolean __GLEW_SGIX_fog_layers = GL_FALSE; +GLboolean __GLEW_SGIX_fog_offset = GL_FALSE; +GLboolean __GLEW_SGIX_fog_patchy = GL_FALSE; +GLboolean __GLEW_SGIX_fog_scale = GL_FALSE; +GLboolean __GLEW_SGIX_fog_texture = GL_FALSE; +GLboolean __GLEW_SGIX_fragment_lighting_space = GL_FALSE; +GLboolean __GLEW_SGIX_fragment_specular_lighting = GL_FALSE; +GLboolean __GLEW_SGIX_fragments_instrument = GL_FALSE; +GLboolean __GLEW_SGIX_framezoom = GL_FALSE; +GLboolean __GLEW_SGIX_icc_texture = GL_FALSE; +GLboolean __GLEW_SGIX_igloo_interface = GL_FALSE; +GLboolean __GLEW_SGIX_image_compression = GL_FALSE; +GLboolean __GLEW_SGIX_impact_pixel_texture = GL_FALSE; +GLboolean __GLEW_SGIX_instrument_error = GL_FALSE; +GLboolean __GLEW_SGIX_interlace = GL_FALSE; +GLboolean __GLEW_SGIX_ir_instrument1 = GL_FALSE; +GLboolean __GLEW_SGIX_line_quality_hint = GL_FALSE; +GLboolean __GLEW_SGIX_list_priority = GL_FALSE; +GLboolean __GLEW_SGIX_mpeg1 = GL_FALSE; +GLboolean __GLEW_SGIX_mpeg2 = GL_FALSE; +GLboolean __GLEW_SGIX_nonlinear_lighting_pervertex = GL_FALSE; +GLboolean __GLEW_SGIX_nurbs_eval = GL_FALSE; +GLboolean __GLEW_SGIX_occlusion_instrument = GL_FALSE; +GLboolean __GLEW_SGIX_packed_6bytes = GL_FALSE; +GLboolean __GLEW_SGIX_pixel_texture = GL_FALSE; +GLboolean __GLEW_SGIX_pixel_texture_bits = GL_FALSE; +GLboolean __GLEW_SGIX_pixel_texture_lod = GL_FALSE; +GLboolean __GLEW_SGIX_pixel_tiles = GL_FALSE; +GLboolean __GLEW_SGIX_polynomial_ffd = GL_FALSE; +GLboolean __GLEW_SGIX_quad_mesh = GL_FALSE; +GLboolean __GLEW_SGIX_reference_plane = GL_FALSE; +GLboolean __GLEW_SGIX_resample = GL_FALSE; +GLboolean __GLEW_SGIX_scalebias_hint = GL_FALSE; +GLboolean __GLEW_SGIX_shadow = GL_FALSE; +GLboolean __GLEW_SGIX_shadow_ambient = GL_FALSE; +GLboolean __GLEW_SGIX_slim = GL_FALSE; +GLboolean __GLEW_SGIX_spotlight_cutoff = GL_FALSE; +GLboolean __GLEW_SGIX_sprite = GL_FALSE; +GLboolean __GLEW_SGIX_subdiv_patch = GL_FALSE; +GLboolean __GLEW_SGIX_subsample = GL_FALSE; +GLboolean __GLEW_SGIX_tag_sample_buffer = GL_FALSE; +GLboolean __GLEW_SGIX_texture_add_env = GL_FALSE; +GLboolean __GLEW_SGIX_texture_coordinate_clamp = GL_FALSE; +GLboolean __GLEW_SGIX_texture_lod_bias = GL_FALSE; +GLboolean __GLEW_SGIX_texture_mipmap_anisotropic = GL_FALSE; +GLboolean __GLEW_SGIX_texture_multi_buffer = GL_FALSE; +GLboolean __GLEW_SGIX_texture_phase = GL_FALSE; +GLboolean __GLEW_SGIX_texture_range = GL_FALSE; +GLboolean __GLEW_SGIX_texture_scale_bias = GL_FALSE; +GLboolean __GLEW_SGIX_texture_supersample = GL_FALSE; +GLboolean __GLEW_SGIX_vector_ops = GL_FALSE; +GLboolean __GLEW_SGIX_vertex_array_object = GL_FALSE; +GLboolean __GLEW_SGIX_vertex_preclip = GL_FALSE; +GLboolean __GLEW_SGIX_vertex_preclip_hint = GL_FALSE; +GLboolean __GLEW_SGIX_ycrcb = GL_FALSE; +GLboolean __GLEW_SGIX_ycrcb_subsample = GL_FALSE; +GLboolean __GLEW_SGIX_ycrcba = GL_FALSE; +GLboolean __GLEW_SGI_color_matrix = GL_FALSE; +GLboolean __GLEW_SGI_color_table = GL_FALSE; +GLboolean __GLEW_SGI_complex = GL_FALSE; +GLboolean __GLEW_SGI_complex_type = GL_FALSE; +GLboolean __GLEW_SGI_fft = GL_FALSE; +GLboolean __GLEW_SGI_texture_color_table = GL_FALSE; +GLboolean __GLEW_SUNX_constant_data = GL_FALSE; +GLboolean __GLEW_SUN_convolution_border_modes = GL_FALSE; +GLboolean __GLEW_SUN_global_alpha = GL_FALSE; +GLboolean __GLEW_SUN_mesh_array = GL_FALSE; +GLboolean __GLEW_SUN_read_video_pixels = GL_FALSE; +GLboolean __GLEW_SUN_slice_accum = GL_FALSE; +GLboolean __GLEW_SUN_triangle_list = GL_FALSE; +GLboolean __GLEW_SUN_vertex = GL_FALSE; +GLboolean __GLEW_WIN_phong_shading = GL_FALSE; +GLboolean __GLEW_WIN_scene_markerXXX = GL_FALSE; +GLboolean __GLEW_WIN_specular_fog = GL_FALSE; +GLboolean __GLEW_WIN_swap_hint = GL_FALSE; + +static const char * _glewExtensionLookup[] = { +#ifdef GL_VERSION_1_2 + "GL_VERSION_1_2", +#endif +#ifdef GL_VERSION_1_2_1 + "GL_VERSION_1_2_1", +#endif +#ifdef GL_VERSION_1_3 + "GL_VERSION_1_3", +#endif +#ifdef GL_VERSION_1_4 + "GL_VERSION_1_4", +#endif +#ifdef GL_VERSION_1_5 + "GL_VERSION_1_5", +#endif +#ifdef GL_VERSION_2_0 + "GL_VERSION_2_0", +#endif +#ifdef GL_VERSION_2_1 + "GL_VERSION_2_1", +#endif +#ifdef GL_VERSION_3_0 + "GL_VERSION_3_0", +#endif +#ifdef GL_VERSION_3_1 + "GL_VERSION_3_1", +#endif +#ifdef GL_VERSION_3_2 + "GL_VERSION_3_2", +#endif +#ifdef GL_VERSION_3_3 + "GL_VERSION_3_3", +#endif +#ifdef GL_VERSION_4_0 + "GL_VERSION_4_0", +#endif +#ifdef GL_VERSION_4_1 + "GL_VERSION_4_1", +#endif +#ifdef GL_VERSION_4_2 + "GL_VERSION_4_2", +#endif +#ifdef GL_VERSION_4_3 + "GL_VERSION_4_3", +#endif +#ifdef GL_VERSION_4_4 + "GL_VERSION_4_4", +#endif +#ifdef GL_VERSION_4_5 + "GL_VERSION_4_5", +#endif +#ifdef GL_VERSION_4_6 + "GL_VERSION_4_6", +#endif +#ifdef GL_3DFX_multisample + "GL_3DFX_multisample", +#endif +#ifdef GL_3DFX_tbuffer + "GL_3DFX_tbuffer", +#endif +#ifdef GL_3DFX_texture_compression_FXT1 + "GL_3DFX_texture_compression_FXT1", +#endif +#ifdef GL_AMD_blend_minmax_factor + "GL_AMD_blend_minmax_factor", +#endif +#ifdef GL_AMD_compressed_3DC_texture + "GL_AMD_compressed_3DC_texture", +#endif +#ifdef GL_AMD_compressed_ATC_texture + "GL_AMD_compressed_ATC_texture", +#endif +#ifdef GL_AMD_conservative_depth + "GL_AMD_conservative_depth", +#endif +#ifdef GL_AMD_debug_output + "GL_AMD_debug_output", +#endif +#ifdef GL_AMD_depth_clamp_separate + "GL_AMD_depth_clamp_separate", +#endif +#ifdef GL_AMD_draw_buffers_blend + "GL_AMD_draw_buffers_blend", +#endif +#ifdef GL_AMD_framebuffer_sample_positions + "GL_AMD_framebuffer_sample_positions", +#endif +#ifdef GL_AMD_gcn_shader + "GL_AMD_gcn_shader", +#endif +#ifdef GL_AMD_gpu_shader_half_float + "GL_AMD_gpu_shader_half_float", +#endif +#ifdef GL_AMD_gpu_shader_int16 + "GL_AMD_gpu_shader_int16", +#endif +#ifdef GL_AMD_gpu_shader_int64 + "GL_AMD_gpu_shader_int64", +#endif +#ifdef GL_AMD_interleaved_elements + "GL_AMD_interleaved_elements", +#endif +#ifdef GL_AMD_multi_draw_indirect + "GL_AMD_multi_draw_indirect", +#endif +#ifdef GL_AMD_name_gen_delete + "GL_AMD_name_gen_delete", +#endif +#ifdef GL_AMD_occlusion_query_event + "GL_AMD_occlusion_query_event", +#endif +#ifdef GL_AMD_performance_monitor + "GL_AMD_performance_monitor", +#endif +#ifdef GL_AMD_pinned_memory + "GL_AMD_pinned_memory", +#endif +#ifdef GL_AMD_program_binary_Z400 + "GL_AMD_program_binary_Z400", +#endif +#ifdef GL_AMD_query_buffer_object + "GL_AMD_query_buffer_object", +#endif +#ifdef GL_AMD_sample_positions + "GL_AMD_sample_positions", +#endif +#ifdef GL_AMD_seamless_cubemap_per_texture + "GL_AMD_seamless_cubemap_per_texture", +#endif +#ifdef GL_AMD_shader_atomic_counter_ops + "GL_AMD_shader_atomic_counter_ops", +#endif +#ifdef GL_AMD_shader_ballot + "GL_AMD_shader_ballot", +#endif +#ifdef GL_AMD_shader_explicit_vertex_parameter + "GL_AMD_shader_explicit_vertex_parameter", +#endif +#ifdef GL_AMD_shader_stencil_export + "GL_AMD_shader_stencil_export", +#endif +#ifdef GL_AMD_shader_stencil_value_export + "GL_AMD_shader_stencil_value_export", +#endif +#ifdef GL_AMD_shader_trinary_minmax + "GL_AMD_shader_trinary_minmax", +#endif +#ifdef GL_AMD_sparse_texture + "GL_AMD_sparse_texture", +#endif +#ifdef GL_AMD_stencil_operation_extended + "GL_AMD_stencil_operation_extended", +#endif +#ifdef GL_AMD_texture_gather_bias_lod + "GL_AMD_texture_gather_bias_lod", +#endif +#ifdef GL_AMD_texture_texture4 + "GL_AMD_texture_texture4", +#endif +#ifdef GL_AMD_transform_feedback3_lines_triangles + "GL_AMD_transform_feedback3_lines_triangles", +#endif +#ifdef GL_AMD_transform_feedback4 + "GL_AMD_transform_feedback4", +#endif +#ifdef GL_AMD_vertex_shader_layer + "GL_AMD_vertex_shader_layer", +#endif +#ifdef GL_AMD_vertex_shader_tessellator + "GL_AMD_vertex_shader_tessellator", +#endif +#ifdef GL_AMD_vertex_shader_viewport_index + "GL_AMD_vertex_shader_viewport_index", +#endif +#ifdef GL_ANDROID_extension_pack_es31a + "GL_ANDROID_extension_pack_es31a", +#endif +#ifdef GL_ANGLE_depth_texture + "GL_ANGLE_depth_texture", +#endif +#ifdef GL_ANGLE_framebuffer_blit + "GL_ANGLE_framebuffer_blit", +#endif +#ifdef GL_ANGLE_framebuffer_multisample + "GL_ANGLE_framebuffer_multisample", +#endif +#ifdef GL_ANGLE_instanced_arrays + "GL_ANGLE_instanced_arrays", +#endif +#ifdef GL_ANGLE_pack_reverse_row_order + "GL_ANGLE_pack_reverse_row_order", +#endif +#ifdef GL_ANGLE_program_binary + "GL_ANGLE_program_binary", +#endif +#ifdef GL_ANGLE_texture_compression_dxt1 + "GL_ANGLE_texture_compression_dxt1", +#endif +#ifdef GL_ANGLE_texture_compression_dxt3 + "GL_ANGLE_texture_compression_dxt3", +#endif +#ifdef GL_ANGLE_texture_compression_dxt5 + "GL_ANGLE_texture_compression_dxt5", +#endif +#ifdef GL_ANGLE_texture_usage + "GL_ANGLE_texture_usage", +#endif +#ifdef GL_ANGLE_timer_query + "GL_ANGLE_timer_query", +#endif +#ifdef GL_ANGLE_translated_shader_source + "GL_ANGLE_translated_shader_source", +#endif +#ifdef GL_APPLE_aux_depth_stencil + "GL_APPLE_aux_depth_stencil", +#endif +#ifdef GL_APPLE_client_storage + "GL_APPLE_client_storage", +#endif +#ifdef GL_APPLE_clip_distance + "GL_APPLE_clip_distance", +#endif +#ifdef GL_APPLE_color_buffer_packed_float + "GL_APPLE_color_buffer_packed_float", +#endif +#ifdef GL_APPLE_copy_texture_levels + "GL_APPLE_copy_texture_levels", +#endif +#ifdef GL_APPLE_element_array + "GL_APPLE_element_array", +#endif +#ifdef GL_APPLE_fence + "GL_APPLE_fence", +#endif +#ifdef GL_APPLE_float_pixels + "GL_APPLE_float_pixels", +#endif +#ifdef GL_APPLE_flush_buffer_range + "GL_APPLE_flush_buffer_range", +#endif +#ifdef GL_APPLE_framebuffer_multisample + "GL_APPLE_framebuffer_multisample", +#endif +#ifdef GL_APPLE_object_purgeable + "GL_APPLE_object_purgeable", +#endif +#ifdef GL_APPLE_pixel_buffer + "GL_APPLE_pixel_buffer", +#endif +#ifdef GL_APPLE_rgb_422 + "GL_APPLE_rgb_422", +#endif +#ifdef GL_APPLE_row_bytes + "GL_APPLE_row_bytes", +#endif +#ifdef GL_APPLE_specular_vector + "GL_APPLE_specular_vector", +#endif +#ifdef GL_APPLE_sync + "GL_APPLE_sync", +#endif +#ifdef GL_APPLE_texture_2D_limited_npot + "GL_APPLE_texture_2D_limited_npot", +#endif +#ifdef GL_APPLE_texture_format_BGRA8888 + "GL_APPLE_texture_format_BGRA8888", +#endif +#ifdef GL_APPLE_texture_max_level + "GL_APPLE_texture_max_level", +#endif +#ifdef GL_APPLE_texture_packed_float + "GL_APPLE_texture_packed_float", +#endif +#ifdef GL_APPLE_texture_range + "GL_APPLE_texture_range", +#endif +#ifdef GL_APPLE_transform_hint + "GL_APPLE_transform_hint", +#endif +#ifdef GL_APPLE_vertex_array_object + "GL_APPLE_vertex_array_object", +#endif +#ifdef GL_APPLE_vertex_array_range + "GL_APPLE_vertex_array_range", +#endif +#ifdef GL_APPLE_vertex_program_evaluators + "GL_APPLE_vertex_program_evaluators", +#endif +#ifdef GL_APPLE_ycbcr_422 + "GL_APPLE_ycbcr_422", +#endif +#ifdef GL_ARB_ES2_compatibility + "GL_ARB_ES2_compatibility", +#endif +#ifdef GL_ARB_ES3_1_compatibility + "GL_ARB_ES3_1_compatibility", +#endif +#ifdef GL_ARB_ES3_2_compatibility + "GL_ARB_ES3_2_compatibility", +#endif +#ifdef GL_ARB_ES3_compatibility + "GL_ARB_ES3_compatibility", +#endif +#ifdef GL_ARB_arrays_of_arrays + "GL_ARB_arrays_of_arrays", +#endif +#ifdef GL_ARB_base_instance + "GL_ARB_base_instance", +#endif +#ifdef GL_ARB_bindless_texture + "GL_ARB_bindless_texture", +#endif +#ifdef GL_ARB_blend_func_extended + "GL_ARB_blend_func_extended", +#endif +#ifdef GL_ARB_buffer_storage + "GL_ARB_buffer_storage", +#endif +#ifdef GL_ARB_cl_event + "GL_ARB_cl_event", +#endif +#ifdef GL_ARB_clear_buffer_object + "GL_ARB_clear_buffer_object", +#endif +#ifdef GL_ARB_clear_texture + "GL_ARB_clear_texture", +#endif +#ifdef GL_ARB_clip_control + "GL_ARB_clip_control", +#endif +#ifdef GL_ARB_color_buffer_float + "GL_ARB_color_buffer_float", +#endif +#ifdef GL_ARB_compatibility + "GL_ARB_compatibility", +#endif +#ifdef GL_ARB_compressed_texture_pixel_storage + "GL_ARB_compressed_texture_pixel_storage", +#endif +#ifdef GL_ARB_compute_shader + "GL_ARB_compute_shader", +#endif +#ifdef GL_ARB_compute_variable_group_size + "GL_ARB_compute_variable_group_size", +#endif +#ifdef GL_ARB_conditional_render_inverted + "GL_ARB_conditional_render_inverted", +#endif +#ifdef GL_ARB_conservative_depth + "GL_ARB_conservative_depth", +#endif +#ifdef GL_ARB_copy_buffer + "GL_ARB_copy_buffer", +#endif +#ifdef GL_ARB_copy_image + "GL_ARB_copy_image", +#endif +#ifdef GL_ARB_cull_distance + "GL_ARB_cull_distance", +#endif +#ifdef GL_ARB_debug_output + "GL_ARB_debug_output", +#endif +#ifdef GL_ARB_depth_buffer_float + "GL_ARB_depth_buffer_float", +#endif +#ifdef GL_ARB_depth_clamp + "GL_ARB_depth_clamp", +#endif +#ifdef GL_ARB_depth_texture + "GL_ARB_depth_texture", +#endif +#ifdef GL_ARB_derivative_control + "GL_ARB_derivative_control", +#endif +#ifdef GL_ARB_direct_state_access + "GL_ARB_direct_state_access", +#endif +#ifdef GL_ARB_draw_buffers + "GL_ARB_draw_buffers", +#endif +#ifdef GL_ARB_draw_buffers_blend + "GL_ARB_draw_buffers_blend", +#endif +#ifdef GL_ARB_draw_elements_base_vertex + "GL_ARB_draw_elements_base_vertex", +#endif +#ifdef GL_ARB_draw_indirect + "GL_ARB_draw_indirect", +#endif +#ifdef GL_ARB_draw_instanced + "GL_ARB_draw_instanced", +#endif +#ifdef GL_ARB_enhanced_layouts + "GL_ARB_enhanced_layouts", +#endif +#ifdef GL_ARB_explicit_attrib_location + "GL_ARB_explicit_attrib_location", +#endif +#ifdef GL_ARB_explicit_uniform_location + "GL_ARB_explicit_uniform_location", +#endif +#ifdef GL_ARB_fragment_coord_conventions + "GL_ARB_fragment_coord_conventions", +#endif +#ifdef GL_ARB_fragment_layer_viewport + "GL_ARB_fragment_layer_viewport", +#endif +#ifdef GL_ARB_fragment_program + "GL_ARB_fragment_program", +#endif +#ifdef GL_ARB_fragment_program_shadow + "GL_ARB_fragment_program_shadow", +#endif +#ifdef GL_ARB_fragment_shader + "GL_ARB_fragment_shader", +#endif +#ifdef GL_ARB_fragment_shader_interlock + "GL_ARB_fragment_shader_interlock", +#endif +#ifdef GL_ARB_framebuffer_no_attachments + "GL_ARB_framebuffer_no_attachments", +#endif +#ifdef GL_ARB_framebuffer_object + "GL_ARB_framebuffer_object", +#endif +#ifdef GL_ARB_framebuffer_sRGB + "GL_ARB_framebuffer_sRGB", +#endif +#ifdef GL_ARB_geometry_shader4 + "GL_ARB_geometry_shader4", +#endif +#ifdef GL_ARB_get_program_binary + "GL_ARB_get_program_binary", +#endif +#ifdef GL_ARB_get_texture_sub_image + "GL_ARB_get_texture_sub_image", +#endif +#ifdef GL_ARB_gl_spirv + "GL_ARB_gl_spirv", +#endif +#ifdef GL_ARB_gpu_shader5 + "GL_ARB_gpu_shader5", +#endif +#ifdef GL_ARB_gpu_shader_fp64 + "GL_ARB_gpu_shader_fp64", +#endif +#ifdef GL_ARB_gpu_shader_int64 + "GL_ARB_gpu_shader_int64", +#endif +#ifdef GL_ARB_half_float_pixel + "GL_ARB_half_float_pixel", +#endif +#ifdef GL_ARB_half_float_vertex + "GL_ARB_half_float_vertex", +#endif +#ifdef GL_ARB_imaging + "GL_ARB_imaging", +#endif +#ifdef GL_ARB_indirect_parameters + "GL_ARB_indirect_parameters", +#endif +#ifdef GL_ARB_instanced_arrays + "GL_ARB_instanced_arrays", +#endif +#ifdef GL_ARB_internalformat_query + "GL_ARB_internalformat_query", +#endif +#ifdef GL_ARB_internalformat_query2 + "GL_ARB_internalformat_query2", +#endif +#ifdef GL_ARB_invalidate_subdata + "GL_ARB_invalidate_subdata", +#endif +#ifdef GL_ARB_map_buffer_alignment + "GL_ARB_map_buffer_alignment", +#endif +#ifdef GL_ARB_map_buffer_range + "GL_ARB_map_buffer_range", +#endif +#ifdef GL_ARB_matrix_palette + "GL_ARB_matrix_palette", +#endif +#ifdef GL_ARB_multi_bind + "GL_ARB_multi_bind", +#endif +#ifdef GL_ARB_multi_draw_indirect + "GL_ARB_multi_draw_indirect", +#endif +#ifdef GL_ARB_multisample + "GL_ARB_multisample", +#endif +#ifdef GL_ARB_multitexture + "GL_ARB_multitexture", +#endif +#ifdef GL_ARB_occlusion_query + "GL_ARB_occlusion_query", +#endif +#ifdef GL_ARB_occlusion_query2 + "GL_ARB_occlusion_query2", +#endif +#ifdef GL_ARB_parallel_shader_compile + "GL_ARB_parallel_shader_compile", +#endif +#ifdef GL_ARB_pipeline_statistics_query + "GL_ARB_pipeline_statistics_query", +#endif +#ifdef GL_ARB_pixel_buffer_object + "GL_ARB_pixel_buffer_object", +#endif +#ifdef GL_ARB_point_parameters + "GL_ARB_point_parameters", +#endif +#ifdef GL_ARB_point_sprite + "GL_ARB_point_sprite", +#endif +#ifdef GL_ARB_polygon_offset_clamp + "GL_ARB_polygon_offset_clamp", +#endif +#ifdef GL_ARB_post_depth_coverage + "GL_ARB_post_depth_coverage", +#endif +#ifdef GL_ARB_program_interface_query + "GL_ARB_program_interface_query", +#endif +#ifdef GL_ARB_provoking_vertex + "GL_ARB_provoking_vertex", +#endif +#ifdef GL_ARB_query_buffer_object + "GL_ARB_query_buffer_object", +#endif +#ifdef GL_ARB_robust_buffer_access_behavior + "GL_ARB_robust_buffer_access_behavior", +#endif +#ifdef GL_ARB_robustness + "GL_ARB_robustness", +#endif +#ifdef GL_ARB_robustness_application_isolation + "GL_ARB_robustness_application_isolation", +#endif +#ifdef GL_ARB_robustness_share_group_isolation + "GL_ARB_robustness_share_group_isolation", +#endif +#ifdef GL_ARB_sample_locations + "GL_ARB_sample_locations", +#endif +#ifdef GL_ARB_sample_shading + "GL_ARB_sample_shading", +#endif +#ifdef GL_ARB_sampler_objects + "GL_ARB_sampler_objects", +#endif +#ifdef GL_ARB_seamless_cube_map + "GL_ARB_seamless_cube_map", +#endif +#ifdef GL_ARB_seamless_cubemap_per_texture + "GL_ARB_seamless_cubemap_per_texture", +#endif +#ifdef GL_ARB_separate_shader_objects + "GL_ARB_separate_shader_objects", +#endif +#ifdef GL_ARB_shader_atomic_counter_ops + "GL_ARB_shader_atomic_counter_ops", +#endif +#ifdef GL_ARB_shader_atomic_counters + "GL_ARB_shader_atomic_counters", +#endif +#ifdef GL_ARB_shader_ballot + "GL_ARB_shader_ballot", +#endif +#ifdef GL_ARB_shader_bit_encoding + "GL_ARB_shader_bit_encoding", +#endif +#ifdef GL_ARB_shader_clock + "GL_ARB_shader_clock", +#endif +#ifdef GL_ARB_shader_draw_parameters + "GL_ARB_shader_draw_parameters", +#endif +#ifdef GL_ARB_shader_group_vote + "GL_ARB_shader_group_vote", +#endif +#ifdef GL_ARB_shader_image_load_store + "GL_ARB_shader_image_load_store", +#endif +#ifdef GL_ARB_shader_image_size + "GL_ARB_shader_image_size", +#endif +#ifdef GL_ARB_shader_objects + "GL_ARB_shader_objects", +#endif +#ifdef GL_ARB_shader_precision + "GL_ARB_shader_precision", +#endif +#ifdef GL_ARB_shader_stencil_export + "GL_ARB_shader_stencil_export", +#endif +#ifdef GL_ARB_shader_storage_buffer_object + "GL_ARB_shader_storage_buffer_object", +#endif +#ifdef GL_ARB_shader_subroutine + "GL_ARB_shader_subroutine", +#endif +#ifdef GL_ARB_shader_texture_image_samples + "GL_ARB_shader_texture_image_samples", +#endif +#ifdef GL_ARB_shader_texture_lod + "GL_ARB_shader_texture_lod", +#endif +#ifdef GL_ARB_shader_viewport_layer_array + "GL_ARB_shader_viewport_layer_array", +#endif +#ifdef GL_ARB_shading_language_100 + "GL_ARB_shading_language_100", +#endif +#ifdef GL_ARB_shading_language_420pack + "GL_ARB_shading_language_420pack", +#endif +#ifdef GL_ARB_shading_language_include + "GL_ARB_shading_language_include", +#endif +#ifdef GL_ARB_shading_language_packing + "GL_ARB_shading_language_packing", +#endif +#ifdef GL_ARB_shadow + "GL_ARB_shadow", +#endif +#ifdef GL_ARB_shadow_ambient + "GL_ARB_shadow_ambient", +#endif +#ifdef GL_ARB_sparse_buffer + "GL_ARB_sparse_buffer", +#endif +#ifdef GL_ARB_sparse_texture + "GL_ARB_sparse_texture", +#endif +#ifdef GL_ARB_sparse_texture2 + "GL_ARB_sparse_texture2", +#endif +#ifdef GL_ARB_sparse_texture_clamp + "GL_ARB_sparse_texture_clamp", +#endif +#ifdef GL_ARB_spirv_extensions + "GL_ARB_spirv_extensions", +#endif +#ifdef GL_ARB_stencil_texturing + "GL_ARB_stencil_texturing", +#endif +#ifdef GL_ARB_sync + "GL_ARB_sync", +#endif +#ifdef GL_ARB_tessellation_shader + "GL_ARB_tessellation_shader", +#endif +#ifdef GL_ARB_texture_barrier + "GL_ARB_texture_barrier", +#endif +#ifdef GL_ARB_texture_border_clamp + "GL_ARB_texture_border_clamp", +#endif +#ifdef GL_ARB_texture_buffer_object + "GL_ARB_texture_buffer_object", +#endif +#ifdef GL_ARB_texture_buffer_object_rgb32 + "GL_ARB_texture_buffer_object_rgb32", +#endif +#ifdef GL_ARB_texture_buffer_range + "GL_ARB_texture_buffer_range", +#endif +#ifdef GL_ARB_texture_compression + "GL_ARB_texture_compression", +#endif +#ifdef GL_ARB_texture_compression_bptc + "GL_ARB_texture_compression_bptc", +#endif +#ifdef GL_ARB_texture_compression_rgtc + "GL_ARB_texture_compression_rgtc", +#endif +#ifdef GL_ARB_texture_cube_map + "GL_ARB_texture_cube_map", +#endif +#ifdef GL_ARB_texture_cube_map_array + "GL_ARB_texture_cube_map_array", +#endif +#ifdef GL_ARB_texture_env_add + "GL_ARB_texture_env_add", +#endif +#ifdef GL_ARB_texture_env_combine + "GL_ARB_texture_env_combine", +#endif +#ifdef GL_ARB_texture_env_crossbar + "GL_ARB_texture_env_crossbar", +#endif +#ifdef GL_ARB_texture_env_dot3 + "GL_ARB_texture_env_dot3", +#endif +#ifdef GL_ARB_texture_filter_anisotropic + "GL_ARB_texture_filter_anisotropic", +#endif +#ifdef GL_ARB_texture_filter_minmax + "GL_ARB_texture_filter_minmax", +#endif +#ifdef GL_ARB_texture_float + "GL_ARB_texture_float", +#endif +#ifdef GL_ARB_texture_gather + "GL_ARB_texture_gather", +#endif +#ifdef GL_ARB_texture_mirror_clamp_to_edge + "GL_ARB_texture_mirror_clamp_to_edge", +#endif +#ifdef GL_ARB_texture_mirrored_repeat + "GL_ARB_texture_mirrored_repeat", +#endif +#ifdef GL_ARB_texture_multisample + "GL_ARB_texture_multisample", +#endif +#ifdef GL_ARB_texture_non_power_of_two + "GL_ARB_texture_non_power_of_two", +#endif +#ifdef GL_ARB_texture_query_levels + "GL_ARB_texture_query_levels", +#endif +#ifdef GL_ARB_texture_query_lod + "GL_ARB_texture_query_lod", +#endif +#ifdef GL_ARB_texture_rectangle + "GL_ARB_texture_rectangle", +#endif +#ifdef GL_ARB_texture_rg + "GL_ARB_texture_rg", +#endif +#ifdef GL_ARB_texture_rgb10_a2ui + "GL_ARB_texture_rgb10_a2ui", +#endif +#ifdef GL_ARB_texture_stencil8 + "GL_ARB_texture_stencil8", +#endif +#ifdef GL_ARB_texture_storage + "GL_ARB_texture_storage", +#endif +#ifdef GL_ARB_texture_storage_multisample + "GL_ARB_texture_storage_multisample", +#endif +#ifdef GL_ARB_texture_swizzle + "GL_ARB_texture_swizzle", +#endif +#ifdef GL_ARB_texture_view + "GL_ARB_texture_view", +#endif +#ifdef GL_ARB_timer_query + "GL_ARB_timer_query", +#endif +#ifdef GL_ARB_transform_feedback2 + "GL_ARB_transform_feedback2", +#endif +#ifdef GL_ARB_transform_feedback3 + "GL_ARB_transform_feedback3", +#endif +#ifdef GL_ARB_transform_feedback_instanced + "GL_ARB_transform_feedback_instanced", +#endif +#ifdef GL_ARB_transform_feedback_overflow_query + "GL_ARB_transform_feedback_overflow_query", +#endif +#ifdef GL_ARB_transpose_matrix + "GL_ARB_transpose_matrix", +#endif +#ifdef GL_ARB_uniform_buffer_object + "GL_ARB_uniform_buffer_object", +#endif +#ifdef GL_ARB_vertex_array_bgra + "GL_ARB_vertex_array_bgra", +#endif +#ifdef GL_ARB_vertex_array_object + "GL_ARB_vertex_array_object", +#endif +#ifdef GL_ARB_vertex_attrib_64bit + "GL_ARB_vertex_attrib_64bit", +#endif +#ifdef GL_ARB_vertex_attrib_binding + "GL_ARB_vertex_attrib_binding", +#endif +#ifdef GL_ARB_vertex_blend + "GL_ARB_vertex_blend", +#endif +#ifdef GL_ARB_vertex_buffer_object + "GL_ARB_vertex_buffer_object", +#endif +#ifdef GL_ARB_vertex_program + "GL_ARB_vertex_program", +#endif +#ifdef GL_ARB_vertex_shader + "GL_ARB_vertex_shader", +#endif +#ifdef GL_ARB_vertex_type_10f_11f_11f_rev + "GL_ARB_vertex_type_10f_11f_11f_rev", +#endif +#ifdef GL_ARB_vertex_type_2_10_10_10_rev + "GL_ARB_vertex_type_2_10_10_10_rev", +#endif +#ifdef GL_ARB_viewport_array + "GL_ARB_viewport_array", +#endif +#ifdef GL_ARB_window_pos + "GL_ARB_window_pos", +#endif +#ifdef GL_ARM_mali_program_binary + "GL_ARM_mali_program_binary", +#endif +#ifdef GL_ARM_mali_shader_binary + "GL_ARM_mali_shader_binary", +#endif +#ifdef GL_ARM_rgba8 + "GL_ARM_rgba8", +#endif +#ifdef GL_ARM_shader_framebuffer_fetch + "GL_ARM_shader_framebuffer_fetch", +#endif +#ifdef GL_ARM_shader_framebuffer_fetch_depth_stencil + "GL_ARM_shader_framebuffer_fetch_depth_stencil", +#endif +#ifdef GL_ATIX_point_sprites + "GL_ATIX_point_sprites", +#endif +#ifdef GL_ATIX_texture_env_combine3 + "GL_ATIX_texture_env_combine3", +#endif +#ifdef GL_ATIX_texture_env_route + "GL_ATIX_texture_env_route", +#endif +#ifdef GL_ATIX_vertex_shader_output_point_size + "GL_ATIX_vertex_shader_output_point_size", +#endif +#ifdef GL_ATI_draw_buffers + "GL_ATI_draw_buffers", +#endif +#ifdef GL_ATI_element_array + "GL_ATI_element_array", +#endif +#ifdef GL_ATI_envmap_bumpmap + "GL_ATI_envmap_bumpmap", +#endif +#ifdef GL_ATI_fragment_shader + "GL_ATI_fragment_shader", +#endif +#ifdef GL_ATI_map_object_buffer + "GL_ATI_map_object_buffer", +#endif +#ifdef GL_ATI_meminfo + "GL_ATI_meminfo", +#endif +#ifdef GL_ATI_pn_triangles + "GL_ATI_pn_triangles", +#endif +#ifdef GL_ATI_separate_stencil + "GL_ATI_separate_stencil", +#endif +#ifdef GL_ATI_shader_texture_lod + "GL_ATI_shader_texture_lod", +#endif +#ifdef GL_ATI_text_fragment_shader + "GL_ATI_text_fragment_shader", +#endif +#ifdef GL_ATI_texture_compression_3dc + "GL_ATI_texture_compression_3dc", +#endif +#ifdef GL_ATI_texture_env_combine3 + "GL_ATI_texture_env_combine3", +#endif +#ifdef GL_ATI_texture_float + "GL_ATI_texture_float", +#endif +#ifdef GL_ATI_texture_mirror_once + "GL_ATI_texture_mirror_once", +#endif +#ifdef GL_ATI_vertex_array_object + "GL_ATI_vertex_array_object", +#endif +#ifdef GL_ATI_vertex_attrib_array_object + "GL_ATI_vertex_attrib_array_object", +#endif +#ifdef GL_ATI_vertex_streams + "GL_ATI_vertex_streams", +#endif +#ifdef GL_EGL_KHR_context_flush_control + "GL_EGL_KHR_context_flush_control", +#endif +#ifdef GL_EGL_NV_robustness_video_memory_purge + "GL_EGL_NV_robustness_video_memory_purge", +#endif +#ifdef GL_EXT_422_pixels + "GL_EXT_422_pixels", +#endif +#ifdef GL_EXT_Cg_shader + "GL_EXT_Cg_shader", +#endif +#ifdef GL_EXT_EGL_image_array + "GL_EXT_EGL_image_array", +#endif +#ifdef GL_EXT_YUV_target + "GL_EXT_YUV_target", +#endif +#ifdef GL_EXT_abgr + "GL_EXT_abgr", +#endif +#ifdef GL_EXT_base_instance + "GL_EXT_base_instance", +#endif +#ifdef GL_EXT_bgra + "GL_EXT_bgra", +#endif +#ifdef GL_EXT_bindable_uniform + "GL_EXT_bindable_uniform", +#endif +#ifdef GL_EXT_blend_color + "GL_EXT_blend_color", +#endif +#ifdef GL_EXT_blend_equation_separate + "GL_EXT_blend_equation_separate", +#endif +#ifdef GL_EXT_blend_func_extended + "GL_EXT_blend_func_extended", +#endif +#ifdef GL_EXT_blend_func_separate + "GL_EXT_blend_func_separate", +#endif +#ifdef GL_EXT_blend_logic_op + "GL_EXT_blend_logic_op", +#endif +#ifdef GL_EXT_blend_minmax + "GL_EXT_blend_minmax", +#endif +#ifdef GL_EXT_blend_subtract + "GL_EXT_blend_subtract", +#endif +#ifdef GL_EXT_buffer_storage + "GL_EXT_buffer_storage", +#endif +#ifdef GL_EXT_clear_texture + "GL_EXT_clear_texture", +#endif +#ifdef GL_EXT_clip_cull_distance + "GL_EXT_clip_cull_distance", +#endif +#ifdef GL_EXT_clip_volume_hint + "GL_EXT_clip_volume_hint", +#endif +#ifdef GL_EXT_cmyka + "GL_EXT_cmyka", +#endif +#ifdef GL_EXT_color_buffer_float + "GL_EXT_color_buffer_float", +#endif +#ifdef GL_EXT_color_buffer_half_float + "GL_EXT_color_buffer_half_float", +#endif +#ifdef GL_EXT_color_subtable + "GL_EXT_color_subtable", +#endif +#ifdef GL_EXT_compiled_vertex_array + "GL_EXT_compiled_vertex_array", +#endif +#ifdef GL_EXT_compressed_ETC1_RGB8_sub_texture + "GL_EXT_compressed_ETC1_RGB8_sub_texture", +#endif +#ifdef GL_EXT_conservative_depth + "GL_EXT_conservative_depth", +#endif +#ifdef GL_EXT_convolution + "GL_EXT_convolution", +#endif +#ifdef GL_EXT_coordinate_frame + "GL_EXT_coordinate_frame", +#endif +#ifdef GL_EXT_copy_image + "GL_EXT_copy_image", +#endif +#ifdef GL_EXT_copy_texture + "GL_EXT_copy_texture", +#endif +#ifdef GL_EXT_cull_vertex + "GL_EXT_cull_vertex", +#endif +#ifdef GL_EXT_debug_label + "GL_EXT_debug_label", +#endif +#ifdef GL_EXT_debug_marker + "GL_EXT_debug_marker", +#endif +#ifdef GL_EXT_depth_bounds_test + "GL_EXT_depth_bounds_test", +#endif +#ifdef GL_EXT_direct_state_access + "GL_EXT_direct_state_access", +#endif +#ifdef GL_EXT_discard_framebuffer + "GL_EXT_discard_framebuffer", +#endif +#ifdef GL_EXT_draw_buffers + "GL_EXT_draw_buffers", +#endif +#ifdef GL_EXT_draw_buffers2 + "GL_EXT_draw_buffers2", +#endif +#ifdef GL_EXT_draw_buffers_indexed + "GL_EXT_draw_buffers_indexed", +#endif +#ifdef GL_EXT_draw_elements_base_vertex + "GL_EXT_draw_elements_base_vertex", +#endif +#ifdef GL_EXT_draw_instanced + "GL_EXT_draw_instanced", +#endif +#ifdef GL_EXT_draw_range_elements + "GL_EXT_draw_range_elements", +#endif +#ifdef GL_EXT_external_buffer + "GL_EXT_external_buffer", +#endif +#ifdef GL_EXT_float_blend + "GL_EXT_float_blend", +#endif +#ifdef GL_EXT_fog_coord + "GL_EXT_fog_coord", +#endif +#ifdef GL_EXT_frag_depth + "GL_EXT_frag_depth", +#endif +#ifdef GL_EXT_fragment_lighting + "GL_EXT_fragment_lighting", +#endif +#ifdef GL_EXT_framebuffer_blit + "GL_EXT_framebuffer_blit", +#endif +#ifdef GL_EXT_framebuffer_multisample + "GL_EXT_framebuffer_multisample", +#endif +#ifdef GL_EXT_framebuffer_multisample_blit_scaled + "GL_EXT_framebuffer_multisample_blit_scaled", +#endif +#ifdef GL_EXT_framebuffer_object + "GL_EXT_framebuffer_object", +#endif +#ifdef GL_EXT_framebuffer_sRGB + "GL_EXT_framebuffer_sRGB", +#endif +#ifdef GL_EXT_geometry_point_size + "GL_EXT_geometry_point_size", +#endif +#ifdef GL_EXT_geometry_shader + "GL_EXT_geometry_shader", +#endif +#ifdef GL_EXT_geometry_shader4 + "GL_EXT_geometry_shader4", +#endif +#ifdef GL_EXT_gpu_program_parameters + "GL_EXT_gpu_program_parameters", +#endif +#ifdef GL_EXT_gpu_shader4 + "GL_EXT_gpu_shader4", +#endif +#ifdef GL_EXT_gpu_shader5 + "GL_EXT_gpu_shader5", +#endif +#ifdef GL_EXT_histogram + "GL_EXT_histogram", +#endif +#ifdef GL_EXT_index_array_formats + "GL_EXT_index_array_formats", +#endif +#ifdef GL_EXT_index_func + "GL_EXT_index_func", +#endif +#ifdef GL_EXT_index_material + "GL_EXT_index_material", +#endif +#ifdef GL_EXT_index_texture + "GL_EXT_index_texture", +#endif +#ifdef GL_EXT_instanced_arrays + "GL_EXT_instanced_arrays", +#endif +#ifdef GL_EXT_light_texture + "GL_EXT_light_texture", +#endif +#ifdef GL_EXT_map_buffer_range + "GL_EXT_map_buffer_range", +#endif +#ifdef GL_EXT_memory_object + "GL_EXT_memory_object", +#endif +#ifdef GL_EXT_memory_object_fd + "GL_EXT_memory_object_fd", +#endif +#ifdef GL_EXT_memory_object_win32 + "GL_EXT_memory_object_win32", +#endif +#ifdef GL_EXT_misc_attribute + "GL_EXT_misc_attribute", +#endif +#ifdef GL_EXT_multi_draw_arrays + "GL_EXT_multi_draw_arrays", +#endif +#ifdef GL_EXT_multi_draw_indirect + "GL_EXT_multi_draw_indirect", +#endif +#ifdef GL_EXT_multiple_textures + "GL_EXT_multiple_textures", +#endif +#ifdef GL_EXT_multisample + "GL_EXT_multisample", +#endif +#ifdef GL_EXT_multisample_compatibility + "GL_EXT_multisample_compatibility", +#endif +#ifdef GL_EXT_multisampled_render_to_texture + "GL_EXT_multisampled_render_to_texture", +#endif +#ifdef GL_EXT_multisampled_render_to_texture2 + "GL_EXT_multisampled_render_to_texture2", +#endif +#ifdef GL_EXT_multiview_draw_buffers + "GL_EXT_multiview_draw_buffers", +#endif +#ifdef GL_EXT_packed_depth_stencil + "GL_EXT_packed_depth_stencil", +#endif +#ifdef GL_EXT_packed_float + "GL_EXT_packed_float", +#endif +#ifdef GL_EXT_packed_pixels + "GL_EXT_packed_pixels", +#endif +#ifdef GL_EXT_paletted_texture + "GL_EXT_paletted_texture", +#endif +#ifdef GL_EXT_pixel_buffer_object + "GL_EXT_pixel_buffer_object", +#endif +#ifdef GL_EXT_pixel_transform + "GL_EXT_pixel_transform", +#endif +#ifdef GL_EXT_pixel_transform_color_table + "GL_EXT_pixel_transform_color_table", +#endif +#ifdef GL_EXT_point_parameters + "GL_EXT_point_parameters", +#endif +#ifdef GL_EXT_polygon_offset + "GL_EXT_polygon_offset", +#endif +#ifdef GL_EXT_polygon_offset_clamp + "GL_EXT_polygon_offset_clamp", +#endif +#ifdef GL_EXT_post_depth_coverage + "GL_EXT_post_depth_coverage", +#endif +#ifdef GL_EXT_provoking_vertex + "GL_EXT_provoking_vertex", +#endif +#ifdef GL_EXT_pvrtc_sRGB + "GL_EXT_pvrtc_sRGB", +#endif +#ifdef GL_EXT_raster_multisample + "GL_EXT_raster_multisample", +#endif +#ifdef GL_EXT_read_format_bgra + "GL_EXT_read_format_bgra", +#endif +#ifdef GL_EXT_render_snorm + "GL_EXT_render_snorm", +#endif +#ifdef GL_EXT_rescale_normal + "GL_EXT_rescale_normal", +#endif +#ifdef GL_EXT_sRGB + "GL_EXT_sRGB", +#endif +#ifdef GL_EXT_sRGB_write_control + "GL_EXT_sRGB_write_control", +#endif +#ifdef GL_EXT_scene_marker + "GL_EXT_scene_marker", +#endif +#ifdef GL_EXT_secondary_color + "GL_EXT_secondary_color", +#endif +#ifdef GL_EXT_semaphore + "GL_EXT_semaphore", +#endif +#ifdef GL_EXT_semaphore_fd + "GL_EXT_semaphore_fd", +#endif +#ifdef GL_EXT_semaphore_win32 + "GL_EXT_semaphore_win32", +#endif +#ifdef GL_EXT_separate_shader_objects + "GL_EXT_separate_shader_objects", +#endif +#ifdef GL_EXT_separate_specular_color + "GL_EXT_separate_specular_color", +#endif +#ifdef GL_EXT_shader_framebuffer_fetch + "GL_EXT_shader_framebuffer_fetch", +#endif +#ifdef GL_EXT_shader_group_vote + "GL_EXT_shader_group_vote", +#endif +#ifdef GL_EXT_shader_image_load_formatted + "GL_EXT_shader_image_load_formatted", +#endif +#ifdef GL_EXT_shader_image_load_store + "GL_EXT_shader_image_load_store", +#endif +#ifdef GL_EXT_shader_implicit_conversions + "GL_EXT_shader_implicit_conversions", +#endif +#ifdef GL_EXT_shader_integer_mix + "GL_EXT_shader_integer_mix", +#endif +#ifdef GL_EXT_shader_io_blocks + "GL_EXT_shader_io_blocks", +#endif +#ifdef GL_EXT_shader_non_constant_global_initializers + "GL_EXT_shader_non_constant_global_initializers", +#endif +#ifdef GL_EXT_shader_pixel_local_storage + "GL_EXT_shader_pixel_local_storage", +#endif +#ifdef GL_EXT_shader_pixel_local_storage2 + "GL_EXT_shader_pixel_local_storage2", +#endif +#ifdef GL_EXT_shader_texture_lod + "GL_EXT_shader_texture_lod", +#endif +#ifdef GL_EXT_shadow_funcs + "GL_EXT_shadow_funcs", +#endif +#ifdef GL_EXT_shadow_samplers + "GL_EXT_shadow_samplers", +#endif +#ifdef GL_EXT_shared_texture_palette + "GL_EXT_shared_texture_palette", +#endif +#ifdef GL_EXT_sparse_texture + "GL_EXT_sparse_texture", +#endif +#ifdef GL_EXT_sparse_texture2 + "GL_EXT_sparse_texture2", +#endif +#ifdef GL_EXT_stencil_clear_tag + "GL_EXT_stencil_clear_tag", +#endif +#ifdef GL_EXT_stencil_two_side + "GL_EXT_stencil_two_side", +#endif +#ifdef GL_EXT_stencil_wrap + "GL_EXT_stencil_wrap", +#endif +#ifdef GL_EXT_subtexture + "GL_EXT_subtexture", +#endif +#ifdef GL_EXT_texture + "GL_EXT_texture", +#endif +#ifdef GL_EXT_texture3D + "GL_EXT_texture3D", +#endif +#ifdef GL_EXT_texture_array + "GL_EXT_texture_array", +#endif +#ifdef GL_EXT_texture_buffer_object + "GL_EXT_texture_buffer_object", +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode + "GL_EXT_texture_compression_astc_decode_mode", +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode_rgb9e5 + "GL_EXT_texture_compression_astc_decode_mode_rgb9e5", +#endif +#ifdef GL_EXT_texture_compression_bptc + "GL_EXT_texture_compression_bptc", +#endif +#ifdef GL_EXT_texture_compression_dxt1 + "GL_EXT_texture_compression_dxt1", +#endif +#ifdef GL_EXT_texture_compression_latc + "GL_EXT_texture_compression_latc", +#endif +#ifdef GL_EXT_texture_compression_rgtc + "GL_EXT_texture_compression_rgtc", +#endif +#ifdef GL_EXT_texture_compression_s3tc + "GL_EXT_texture_compression_s3tc", +#endif +#ifdef GL_EXT_texture_cube_map + "GL_EXT_texture_cube_map", +#endif +#ifdef GL_EXT_texture_cube_map_array + "GL_EXT_texture_cube_map_array", +#endif +#ifdef GL_EXT_texture_edge_clamp + "GL_EXT_texture_edge_clamp", +#endif +#ifdef GL_EXT_texture_env + "GL_EXT_texture_env", +#endif +#ifdef GL_EXT_texture_env_add + "GL_EXT_texture_env_add", +#endif +#ifdef GL_EXT_texture_env_combine + "GL_EXT_texture_env_combine", +#endif +#ifdef GL_EXT_texture_env_dot3 + "GL_EXT_texture_env_dot3", +#endif +#ifdef GL_EXT_texture_filter_anisotropic + "GL_EXT_texture_filter_anisotropic", +#endif +#ifdef GL_EXT_texture_filter_minmax + "GL_EXT_texture_filter_minmax", +#endif +#ifdef GL_EXT_texture_format_BGRA8888 + "GL_EXT_texture_format_BGRA8888", +#endif +#ifdef GL_EXT_texture_integer + "GL_EXT_texture_integer", +#endif +#ifdef GL_EXT_texture_lod_bias + "GL_EXT_texture_lod_bias", +#endif +#ifdef GL_EXT_texture_mirror_clamp + "GL_EXT_texture_mirror_clamp", +#endif +#ifdef GL_EXT_texture_norm16 + "GL_EXT_texture_norm16", +#endif +#ifdef GL_EXT_texture_object + "GL_EXT_texture_object", +#endif +#ifdef GL_EXT_texture_perturb_normal + "GL_EXT_texture_perturb_normal", +#endif +#ifdef GL_EXT_texture_rectangle + "GL_EXT_texture_rectangle", +#endif +#ifdef GL_EXT_texture_rg + "GL_EXT_texture_rg", +#endif +#ifdef GL_EXT_texture_sRGB + "GL_EXT_texture_sRGB", +#endif +#ifdef GL_EXT_texture_sRGB_R8 + "GL_EXT_texture_sRGB_R8", +#endif +#ifdef GL_EXT_texture_sRGB_RG8 + "GL_EXT_texture_sRGB_RG8", +#endif +#ifdef GL_EXT_texture_sRGB_decode + "GL_EXT_texture_sRGB_decode", +#endif +#ifdef GL_EXT_texture_shared_exponent + "GL_EXT_texture_shared_exponent", +#endif +#ifdef GL_EXT_texture_snorm + "GL_EXT_texture_snorm", +#endif +#ifdef GL_EXT_texture_storage + "GL_EXT_texture_storage", +#endif +#ifdef GL_EXT_texture_swizzle + "GL_EXT_texture_swizzle", +#endif +#ifdef GL_EXT_texture_type_2_10_10_10_REV + "GL_EXT_texture_type_2_10_10_10_REV", +#endif +#ifdef GL_EXT_texture_view + "GL_EXT_texture_view", +#endif +#ifdef GL_EXT_timer_query + "GL_EXT_timer_query", +#endif +#ifdef GL_EXT_transform_feedback + "GL_EXT_transform_feedback", +#endif +#ifdef GL_EXT_unpack_subimage + "GL_EXT_unpack_subimage", +#endif +#ifdef GL_EXT_vertex_array + "GL_EXT_vertex_array", +#endif +#ifdef GL_EXT_vertex_array_bgra + "GL_EXT_vertex_array_bgra", +#endif +#ifdef GL_EXT_vertex_array_setXXX + "GL_EXT_vertex_array_setXXX", +#endif +#ifdef GL_EXT_vertex_attrib_64bit + "GL_EXT_vertex_attrib_64bit", +#endif +#ifdef GL_EXT_vertex_shader + "GL_EXT_vertex_shader", +#endif +#ifdef GL_EXT_vertex_weighting + "GL_EXT_vertex_weighting", +#endif +#ifdef GL_EXT_win32_keyed_mutex + "GL_EXT_win32_keyed_mutex", +#endif +#ifdef GL_EXT_window_rectangles + "GL_EXT_window_rectangles", +#endif +#ifdef GL_EXT_x11_sync_object + "GL_EXT_x11_sync_object", +#endif +#ifdef GL_GREMEDY_frame_terminator + "GL_GREMEDY_frame_terminator", +#endif +#ifdef GL_GREMEDY_string_marker + "GL_GREMEDY_string_marker", +#endif +#ifdef GL_HP_convolution_border_modes + "GL_HP_convolution_border_modes", +#endif +#ifdef GL_HP_image_transform + "GL_HP_image_transform", +#endif +#ifdef GL_HP_occlusion_test + "GL_HP_occlusion_test", +#endif +#ifdef GL_HP_texture_lighting + "GL_HP_texture_lighting", +#endif +#ifdef GL_IBM_cull_vertex + "GL_IBM_cull_vertex", +#endif +#ifdef GL_IBM_multimode_draw_arrays + "GL_IBM_multimode_draw_arrays", +#endif +#ifdef GL_IBM_rasterpos_clip + "GL_IBM_rasterpos_clip", +#endif +#ifdef GL_IBM_static_data + "GL_IBM_static_data", +#endif +#ifdef GL_IBM_texture_mirrored_repeat + "GL_IBM_texture_mirrored_repeat", +#endif +#ifdef GL_IBM_vertex_array_lists + "GL_IBM_vertex_array_lists", +#endif +#ifdef GL_INGR_color_clamp + "GL_INGR_color_clamp", +#endif +#ifdef GL_INGR_interlace_read + "GL_INGR_interlace_read", +#endif +#ifdef GL_INTEL_conservative_rasterization + "GL_INTEL_conservative_rasterization", +#endif +#ifdef GL_INTEL_fragment_shader_ordering + "GL_INTEL_fragment_shader_ordering", +#endif +#ifdef GL_INTEL_framebuffer_CMAA + "GL_INTEL_framebuffer_CMAA", +#endif +#ifdef GL_INTEL_map_texture + "GL_INTEL_map_texture", +#endif +#ifdef GL_INTEL_parallel_arrays + "GL_INTEL_parallel_arrays", +#endif +#ifdef GL_INTEL_performance_query + "GL_INTEL_performance_query", +#endif +#ifdef GL_INTEL_texture_scissor + "GL_INTEL_texture_scissor", +#endif +#ifdef GL_KHR_blend_equation_advanced + "GL_KHR_blend_equation_advanced", +#endif +#ifdef GL_KHR_blend_equation_advanced_coherent + "GL_KHR_blend_equation_advanced_coherent", +#endif +#ifdef GL_KHR_context_flush_control + "GL_KHR_context_flush_control", +#endif +#ifdef GL_KHR_debug + "GL_KHR_debug", +#endif +#ifdef GL_KHR_no_error + "GL_KHR_no_error", +#endif +#ifdef GL_KHR_parallel_shader_compile + "GL_KHR_parallel_shader_compile", +#endif +#ifdef GL_KHR_robust_buffer_access_behavior + "GL_KHR_robust_buffer_access_behavior", +#endif +#ifdef GL_KHR_robustness + "GL_KHR_robustness", +#endif +#ifdef GL_KHR_texture_compression_astc_hdr + "GL_KHR_texture_compression_astc_hdr", +#endif +#ifdef GL_KHR_texture_compression_astc_ldr + "GL_KHR_texture_compression_astc_ldr", +#endif +#ifdef GL_KHR_texture_compression_astc_sliced_3d + "GL_KHR_texture_compression_astc_sliced_3d", +#endif +#ifdef GL_KTX_buffer_region + "GL_KTX_buffer_region", +#endif +#ifdef GL_MESAX_texture_stack + "GL_MESAX_texture_stack", +#endif +#ifdef GL_MESA_pack_invert + "GL_MESA_pack_invert", +#endif +#ifdef GL_MESA_resize_buffers + "GL_MESA_resize_buffers", +#endif +#ifdef GL_MESA_shader_integer_functions + "GL_MESA_shader_integer_functions", +#endif +#ifdef GL_MESA_window_pos + "GL_MESA_window_pos", +#endif +#ifdef GL_MESA_ycbcr_texture + "GL_MESA_ycbcr_texture", +#endif +#ifdef GL_NVX_blend_equation_advanced_multi_draw_buffers + "GL_NVX_blend_equation_advanced_multi_draw_buffers", +#endif +#ifdef GL_NVX_conditional_render + "GL_NVX_conditional_render", +#endif +#ifdef GL_NVX_gpu_memory_info + "GL_NVX_gpu_memory_info", +#endif +#ifdef GL_NVX_linked_gpu_multicast + "GL_NVX_linked_gpu_multicast", +#endif +#ifdef GL_NV_3dvision_settings + "GL_NV_3dvision_settings", +#endif +#ifdef GL_NV_EGL_stream_consumer_external + "GL_NV_EGL_stream_consumer_external", +#endif +#ifdef GL_NV_alpha_to_coverage_dither_control + "GL_NV_alpha_to_coverage_dither_control", +#endif +#ifdef GL_NV_bgr + "GL_NV_bgr", +#endif +#ifdef GL_NV_bindless_multi_draw_indirect + "GL_NV_bindless_multi_draw_indirect", +#endif +#ifdef GL_NV_bindless_multi_draw_indirect_count + "GL_NV_bindless_multi_draw_indirect_count", +#endif +#ifdef GL_NV_bindless_texture + "GL_NV_bindless_texture", +#endif +#ifdef GL_NV_blend_equation_advanced + "GL_NV_blend_equation_advanced", +#endif +#ifdef GL_NV_blend_equation_advanced_coherent + "GL_NV_blend_equation_advanced_coherent", +#endif +#ifdef GL_NV_blend_minmax_factor + "GL_NV_blend_minmax_factor", +#endif +#ifdef GL_NV_blend_square + "GL_NV_blend_square", +#endif +#ifdef GL_NV_clip_space_w_scaling + "GL_NV_clip_space_w_scaling", +#endif +#ifdef GL_NV_command_list + "GL_NV_command_list", +#endif +#ifdef GL_NV_compute_program5 + "GL_NV_compute_program5", +#endif +#ifdef GL_NV_conditional_render + "GL_NV_conditional_render", +#endif +#ifdef GL_NV_conservative_raster + "GL_NV_conservative_raster", +#endif +#ifdef GL_NV_conservative_raster_dilate + "GL_NV_conservative_raster_dilate", +#endif +#ifdef GL_NV_conservative_raster_pre_snap_triangles + "GL_NV_conservative_raster_pre_snap_triangles", +#endif +#ifdef GL_NV_copy_buffer + "GL_NV_copy_buffer", +#endif +#ifdef GL_NV_copy_depth_to_color + "GL_NV_copy_depth_to_color", +#endif +#ifdef GL_NV_copy_image + "GL_NV_copy_image", +#endif +#ifdef GL_NV_deep_texture3D + "GL_NV_deep_texture3D", +#endif +#ifdef GL_NV_depth_buffer_float + "GL_NV_depth_buffer_float", +#endif +#ifdef GL_NV_depth_clamp + "GL_NV_depth_clamp", +#endif +#ifdef GL_NV_depth_range_unclamped + "GL_NV_depth_range_unclamped", +#endif +#ifdef GL_NV_draw_buffers + "GL_NV_draw_buffers", +#endif +#ifdef GL_NV_draw_instanced + "GL_NV_draw_instanced", +#endif +#ifdef GL_NV_draw_texture + "GL_NV_draw_texture", +#endif +#ifdef GL_NV_draw_vulkan_image + "GL_NV_draw_vulkan_image", +#endif +#ifdef GL_NV_evaluators + "GL_NV_evaluators", +#endif +#ifdef GL_NV_explicit_attrib_location + "GL_NV_explicit_attrib_location", +#endif +#ifdef GL_NV_explicit_multisample + "GL_NV_explicit_multisample", +#endif +#ifdef GL_NV_fbo_color_attachments + "GL_NV_fbo_color_attachments", +#endif +#ifdef GL_NV_fence + "GL_NV_fence", +#endif +#ifdef GL_NV_fill_rectangle + "GL_NV_fill_rectangle", +#endif +#ifdef GL_NV_float_buffer + "GL_NV_float_buffer", +#endif +#ifdef GL_NV_fog_distance + "GL_NV_fog_distance", +#endif +#ifdef GL_NV_fragment_coverage_to_color + "GL_NV_fragment_coverage_to_color", +#endif +#ifdef GL_NV_fragment_program + "GL_NV_fragment_program", +#endif +#ifdef GL_NV_fragment_program2 + "GL_NV_fragment_program2", +#endif +#ifdef GL_NV_fragment_program4 + "GL_NV_fragment_program4", +#endif +#ifdef GL_NV_fragment_program_option + "GL_NV_fragment_program_option", +#endif +#ifdef GL_NV_fragment_shader_interlock + "GL_NV_fragment_shader_interlock", +#endif +#ifdef GL_NV_framebuffer_blit + "GL_NV_framebuffer_blit", +#endif +#ifdef GL_NV_framebuffer_mixed_samples + "GL_NV_framebuffer_mixed_samples", +#endif +#ifdef GL_NV_framebuffer_multisample + "GL_NV_framebuffer_multisample", +#endif +#ifdef GL_NV_framebuffer_multisample_coverage + "GL_NV_framebuffer_multisample_coverage", +#endif +#ifdef GL_NV_generate_mipmap_sRGB + "GL_NV_generate_mipmap_sRGB", +#endif +#ifdef GL_NV_geometry_program4 + "GL_NV_geometry_program4", +#endif +#ifdef GL_NV_geometry_shader4 + "GL_NV_geometry_shader4", +#endif +#ifdef GL_NV_geometry_shader_passthrough + "GL_NV_geometry_shader_passthrough", +#endif +#ifdef GL_NV_gpu_multicast + "GL_NV_gpu_multicast", +#endif +#ifdef GL_NV_gpu_program4 + "GL_NV_gpu_program4", +#endif +#ifdef GL_NV_gpu_program5 + "GL_NV_gpu_program5", +#endif +#ifdef GL_NV_gpu_program5_mem_extended + "GL_NV_gpu_program5_mem_extended", +#endif +#ifdef GL_NV_gpu_program_fp64 + "GL_NV_gpu_program_fp64", +#endif +#ifdef GL_NV_gpu_shader5 + "GL_NV_gpu_shader5", +#endif +#ifdef GL_NV_half_float + "GL_NV_half_float", +#endif +#ifdef GL_NV_image_formats + "GL_NV_image_formats", +#endif +#ifdef GL_NV_instanced_arrays + "GL_NV_instanced_arrays", +#endif +#ifdef GL_NV_internalformat_sample_query + "GL_NV_internalformat_sample_query", +#endif +#ifdef GL_NV_light_max_exponent + "GL_NV_light_max_exponent", +#endif +#ifdef GL_NV_multisample_coverage + "GL_NV_multisample_coverage", +#endif +#ifdef GL_NV_multisample_filter_hint + "GL_NV_multisample_filter_hint", +#endif +#ifdef GL_NV_non_square_matrices + "GL_NV_non_square_matrices", +#endif +#ifdef GL_NV_occlusion_query + "GL_NV_occlusion_query", +#endif +#ifdef GL_NV_pack_subimage + "GL_NV_pack_subimage", +#endif +#ifdef GL_NV_packed_depth_stencil + "GL_NV_packed_depth_stencil", +#endif +#ifdef GL_NV_packed_float + "GL_NV_packed_float", +#endif +#ifdef GL_NV_packed_float_linear + "GL_NV_packed_float_linear", +#endif +#ifdef GL_NV_parameter_buffer_object + "GL_NV_parameter_buffer_object", +#endif +#ifdef GL_NV_parameter_buffer_object2 + "GL_NV_parameter_buffer_object2", +#endif +#ifdef GL_NV_path_rendering + "GL_NV_path_rendering", +#endif +#ifdef GL_NV_path_rendering_shared_edge + "GL_NV_path_rendering_shared_edge", +#endif +#ifdef GL_NV_pixel_buffer_object + "GL_NV_pixel_buffer_object", +#endif +#ifdef GL_NV_pixel_data_range + "GL_NV_pixel_data_range", +#endif +#ifdef GL_NV_platform_binary + "GL_NV_platform_binary", +#endif +#ifdef GL_NV_point_sprite + "GL_NV_point_sprite", +#endif +#ifdef GL_NV_polygon_mode + "GL_NV_polygon_mode", +#endif +#ifdef GL_NV_present_video + "GL_NV_present_video", +#endif +#ifdef GL_NV_primitive_restart + "GL_NV_primitive_restart", +#endif +#ifdef GL_NV_read_depth + "GL_NV_read_depth", +#endif +#ifdef GL_NV_read_depth_stencil + "GL_NV_read_depth_stencil", +#endif +#ifdef GL_NV_read_stencil + "GL_NV_read_stencil", +#endif +#ifdef GL_NV_register_combiners + "GL_NV_register_combiners", +#endif +#ifdef GL_NV_register_combiners2 + "GL_NV_register_combiners2", +#endif +#ifdef GL_NV_robustness_video_memory_purge + "GL_NV_robustness_video_memory_purge", +#endif +#ifdef GL_NV_sRGB_formats + "GL_NV_sRGB_formats", +#endif +#ifdef GL_NV_sample_locations + "GL_NV_sample_locations", +#endif +#ifdef GL_NV_sample_mask_override_coverage + "GL_NV_sample_mask_override_coverage", +#endif +#ifdef GL_NV_shader_atomic_counters + "GL_NV_shader_atomic_counters", +#endif +#ifdef GL_NV_shader_atomic_float + "GL_NV_shader_atomic_float", +#endif +#ifdef GL_NV_shader_atomic_float64 + "GL_NV_shader_atomic_float64", +#endif +#ifdef GL_NV_shader_atomic_fp16_vector + "GL_NV_shader_atomic_fp16_vector", +#endif +#ifdef GL_NV_shader_atomic_int64 + "GL_NV_shader_atomic_int64", +#endif +#ifdef GL_NV_shader_buffer_load + "GL_NV_shader_buffer_load", +#endif +#ifdef GL_NV_shader_noperspective_interpolation + "GL_NV_shader_noperspective_interpolation", +#endif +#ifdef GL_NV_shader_storage_buffer_object + "GL_NV_shader_storage_buffer_object", +#endif +#ifdef GL_NV_shader_thread_group + "GL_NV_shader_thread_group", +#endif +#ifdef GL_NV_shader_thread_shuffle + "GL_NV_shader_thread_shuffle", +#endif +#ifdef GL_NV_shadow_samplers_array + "GL_NV_shadow_samplers_array", +#endif +#ifdef GL_NV_shadow_samplers_cube + "GL_NV_shadow_samplers_cube", +#endif +#ifdef GL_NV_stereo_view_rendering + "GL_NV_stereo_view_rendering", +#endif +#ifdef GL_NV_tessellation_program5 + "GL_NV_tessellation_program5", +#endif +#ifdef GL_NV_texgen_emboss + "GL_NV_texgen_emboss", +#endif +#ifdef GL_NV_texgen_reflection + "GL_NV_texgen_reflection", +#endif +#ifdef GL_NV_texture_array + "GL_NV_texture_array", +#endif +#ifdef GL_NV_texture_barrier + "GL_NV_texture_barrier", +#endif +#ifdef GL_NV_texture_border_clamp + "GL_NV_texture_border_clamp", +#endif +#ifdef GL_NV_texture_compression_latc + "GL_NV_texture_compression_latc", +#endif +#ifdef GL_NV_texture_compression_s3tc + "GL_NV_texture_compression_s3tc", +#endif +#ifdef GL_NV_texture_compression_s3tc_update + "GL_NV_texture_compression_s3tc_update", +#endif +#ifdef GL_NV_texture_compression_vtc + "GL_NV_texture_compression_vtc", +#endif +#ifdef GL_NV_texture_env_combine4 + "GL_NV_texture_env_combine4", +#endif +#ifdef GL_NV_texture_expand_normal + "GL_NV_texture_expand_normal", +#endif +#ifdef GL_NV_texture_multisample + "GL_NV_texture_multisample", +#endif +#ifdef GL_NV_texture_npot_2D_mipmap + "GL_NV_texture_npot_2D_mipmap", +#endif +#ifdef GL_NV_texture_rectangle + "GL_NV_texture_rectangle", +#endif +#ifdef GL_NV_texture_rectangle_compressed + "GL_NV_texture_rectangle_compressed", +#endif +#ifdef GL_NV_texture_shader + "GL_NV_texture_shader", +#endif +#ifdef GL_NV_texture_shader2 + "GL_NV_texture_shader2", +#endif +#ifdef GL_NV_texture_shader3 + "GL_NV_texture_shader3", +#endif +#ifdef GL_NV_transform_feedback + "GL_NV_transform_feedback", +#endif +#ifdef GL_NV_transform_feedback2 + "GL_NV_transform_feedback2", +#endif +#ifdef GL_NV_uniform_buffer_unified_memory + "GL_NV_uniform_buffer_unified_memory", +#endif +#ifdef GL_NV_vdpau_interop + "GL_NV_vdpau_interop", +#endif +#ifdef GL_NV_vertex_array_range + "GL_NV_vertex_array_range", +#endif +#ifdef GL_NV_vertex_array_range2 + "GL_NV_vertex_array_range2", +#endif +#ifdef GL_NV_vertex_attrib_integer_64bit + "GL_NV_vertex_attrib_integer_64bit", +#endif +#ifdef GL_NV_vertex_buffer_unified_memory + "GL_NV_vertex_buffer_unified_memory", +#endif +#ifdef GL_NV_vertex_program + "GL_NV_vertex_program", +#endif +#ifdef GL_NV_vertex_program1_1 + "GL_NV_vertex_program1_1", +#endif +#ifdef GL_NV_vertex_program2 + "GL_NV_vertex_program2", +#endif +#ifdef GL_NV_vertex_program2_option + "GL_NV_vertex_program2_option", +#endif +#ifdef GL_NV_vertex_program3 + "GL_NV_vertex_program3", +#endif +#ifdef GL_NV_vertex_program4 + "GL_NV_vertex_program4", +#endif +#ifdef GL_NV_video_capture + "GL_NV_video_capture", +#endif +#ifdef GL_NV_viewport_array + "GL_NV_viewport_array", +#endif +#ifdef GL_NV_viewport_array2 + "GL_NV_viewport_array2", +#endif +#ifdef GL_NV_viewport_swizzle + "GL_NV_viewport_swizzle", +#endif +#ifdef GL_OES_byte_coordinates + "GL_OES_byte_coordinates", +#endif +#ifdef GL_OML_interlace + "GL_OML_interlace", +#endif +#ifdef GL_OML_resample + "GL_OML_resample", +#endif +#ifdef GL_OML_subsample + "GL_OML_subsample", +#endif +#ifdef GL_OVR_multiview + "GL_OVR_multiview", +#endif +#ifdef GL_OVR_multiview2 + "GL_OVR_multiview2", +#endif +#ifdef GL_OVR_multiview_multisampled_render_to_texture + "GL_OVR_multiview_multisampled_render_to_texture", +#endif +#ifdef GL_PGI_misc_hints + "GL_PGI_misc_hints", +#endif +#ifdef GL_PGI_vertex_hints + "GL_PGI_vertex_hints", +#endif +#ifdef GL_QCOM_alpha_test + "GL_QCOM_alpha_test", +#endif +#ifdef GL_QCOM_binning_control + "GL_QCOM_binning_control", +#endif +#ifdef GL_QCOM_driver_control + "GL_QCOM_driver_control", +#endif +#ifdef GL_QCOM_extended_get + "GL_QCOM_extended_get", +#endif +#ifdef GL_QCOM_extended_get2 + "GL_QCOM_extended_get2", +#endif +#ifdef GL_QCOM_framebuffer_foveated + "GL_QCOM_framebuffer_foveated", +#endif +#ifdef GL_QCOM_perfmon_global_mode + "GL_QCOM_perfmon_global_mode", +#endif +#ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent + "GL_QCOM_shader_framebuffer_fetch_noncoherent", +#endif +#ifdef GL_QCOM_tiled_rendering + "GL_QCOM_tiled_rendering", +#endif +#ifdef GL_QCOM_writeonly_rendering + "GL_QCOM_writeonly_rendering", +#endif +#ifdef GL_REGAL_ES1_0_compatibility + "GL_REGAL_ES1_0_compatibility", +#endif +#ifdef GL_REGAL_ES1_1_compatibility + "GL_REGAL_ES1_1_compatibility", +#endif +#ifdef GL_REGAL_enable + "GL_REGAL_enable", +#endif +#ifdef GL_REGAL_error_string + "GL_REGAL_error_string", +#endif +#ifdef GL_REGAL_extension_query + "GL_REGAL_extension_query", +#endif +#ifdef GL_REGAL_log + "GL_REGAL_log", +#endif +#ifdef GL_REGAL_proc_address + "GL_REGAL_proc_address", +#endif +#ifdef GL_REND_screen_coordinates + "GL_REND_screen_coordinates", +#endif +#ifdef GL_S3_s3tc + "GL_S3_s3tc", +#endif +#ifdef GL_SGIS_clip_band_hint + "GL_SGIS_clip_band_hint", +#endif +#ifdef GL_SGIS_color_range + "GL_SGIS_color_range", +#endif +#ifdef GL_SGIS_detail_texture + "GL_SGIS_detail_texture", +#endif +#ifdef GL_SGIS_fog_function + "GL_SGIS_fog_function", +#endif +#ifdef GL_SGIS_generate_mipmap + "GL_SGIS_generate_mipmap", +#endif +#ifdef GL_SGIS_line_texgen + "GL_SGIS_line_texgen", +#endif +#ifdef GL_SGIS_multisample + "GL_SGIS_multisample", +#endif +#ifdef GL_SGIS_multitexture + "GL_SGIS_multitexture", +#endif +#ifdef GL_SGIS_pixel_texture + "GL_SGIS_pixel_texture", +#endif +#ifdef GL_SGIS_point_line_texgen + "GL_SGIS_point_line_texgen", +#endif +#ifdef GL_SGIS_shared_multisample + "GL_SGIS_shared_multisample", +#endif +#ifdef GL_SGIS_sharpen_texture + "GL_SGIS_sharpen_texture", +#endif +#ifdef GL_SGIS_texture4D + "GL_SGIS_texture4D", +#endif +#ifdef GL_SGIS_texture_border_clamp + "GL_SGIS_texture_border_clamp", +#endif +#ifdef GL_SGIS_texture_edge_clamp + "GL_SGIS_texture_edge_clamp", +#endif +#ifdef GL_SGIS_texture_filter4 + "GL_SGIS_texture_filter4", +#endif +#ifdef GL_SGIS_texture_lod + "GL_SGIS_texture_lod", +#endif +#ifdef GL_SGIS_texture_select + "GL_SGIS_texture_select", +#endif +#ifdef GL_SGIX_async + "GL_SGIX_async", +#endif +#ifdef GL_SGIX_async_histogram + "GL_SGIX_async_histogram", +#endif +#ifdef GL_SGIX_async_pixel + "GL_SGIX_async_pixel", +#endif +#ifdef GL_SGIX_bali_g_instruments + "GL_SGIX_bali_g_instruments", +#endif +#ifdef GL_SGIX_bali_r_instruments + "GL_SGIX_bali_r_instruments", +#endif +#ifdef GL_SGIX_bali_timer_instruments + "GL_SGIX_bali_timer_instruments", +#endif +#ifdef GL_SGIX_blend_alpha_minmax + "GL_SGIX_blend_alpha_minmax", +#endif +#ifdef GL_SGIX_blend_cadd + "GL_SGIX_blend_cadd", +#endif +#ifdef GL_SGIX_blend_cmultiply + "GL_SGIX_blend_cmultiply", +#endif +#ifdef GL_SGIX_calligraphic_fragment + "GL_SGIX_calligraphic_fragment", +#endif +#ifdef GL_SGIX_clipmap + "GL_SGIX_clipmap", +#endif +#ifdef GL_SGIX_color_matrix_accuracy + "GL_SGIX_color_matrix_accuracy", +#endif +#ifdef GL_SGIX_color_table_index_mode + "GL_SGIX_color_table_index_mode", +#endif +#ifdef GL_SGIX_complex_polar + "GL_SGIX_complex_polar", +#endif +#ifdef GL_SGIX_convolution_accuracy + "GL_SGIX_convolution_accuracy", +#endif +#ifdef GL_SGIX_cube_map + "GL_SGIX_cube_map", +#endif +#ifdef GL_SGIX_cylinder_texgen + "GL_SGIX_cylinder_texgen", +#endif +#ifdef GL_SGIX_datapipe + "GL_SGIX_datapipe", +#endif +#ifdef GL_SGIX_decimation + "GL_SGIX_decimation", +#endif +#ifdef GL_SGIX_depth_pass_instrument + "GL_SGIX_depth_pass_instrument", +#endif +#ifdef GL_SGIX_depth_texture + "GL_SGIX_depth_texture", +#endif +#ifdef GL_SGIX_dvc + "GL_SGIX_dvc", +#endif +#ifdef GL_SGIX_flush_raster + "GL_SGIX_flush_raster", +#endif +#ifdef GL_SGIX_fog_blend + "GL_SGIX_fog_blend", +#endif +#ifdef GL_SGIX_fog_factor_to_alpha + "GL_SGIX_fog_factor_to_alpha", +#endif +#ifdef GL_SGIX_fog_layers + "GL_SGIX_fog_layers", +#endif +#ifdef GL_SGIX_fog_offset + "GL_SGIX_fog_offset", +#endif +#ifdef GL_SGIX_fog_patchy + "GL_SGIX_fog_patchy", +#endif +#ifdef GL_SGIX_fog_scale + "GL_SGIX_fog_scale", +#endif +#ifdef GL_SGIX_fog_texture + "GL_SGIX_fog_texture", +#endif +#ifdef GL_SGIX_fragment_lighting_space + "GL_SGIX_fragment_lighting_space", +#endif +#ifdef GL_SGIX_fragment_specular_lighting + "GL_SGIX_fragment_specular_lighting", +#endif +#ifdef GL_SGIX_fragments_instrument + "GL_SGIX_fragments_instrument", +#endif +#ifdef GL_SGIX_framezoom + "GL_SGIX_framezoom", +#endif +#ifdef GL_SGIX_icc_texture + "GL_SGIX_icc_texture", +#endif +#ifdef GL_SGIX_igloo_interface + "GL_SGIX_igloo_interface", +#endif +#ifdef GL_SGIX_image_compression + "GL_SGIX_image_compression", +#endif +#ifdef GL_SGIX_impact_pixel_texture + "GL_SGIX_impact_pixel_texture", +#endif +#ifdef GL_SGIX_instrument_error + "GL_SGIX_instrument_error", +#endif +#ifdef GL_SGIX_interlace + "GL_SGIX_interlace", +#endif +#ifdef GL_SGIX_ir_instrument1 + "GL_SGIX_ir_instrument1", +#endif +#ifdef GL_SGIX_line_quality_hint + "GL_SGIX_line_quality_hint", +#endif +#ifdef GL_SGIX_list_priority + "GL_SGIX_list_priority", +#endif +#ifdef GL_SGIX_mpeg1 + "GL_SGIX_mpeg1", +#endif +#ifdef GL_SGIX_mpeg2 + "GL_SGIX_mpeg2", +#endif +#ifdef GL_SGIX_nonlinear_lighting_pervertex + "GL_SGIX_nonlinear_lighting_pervertex", +#endif +#ifdef GL_SGIX_nurbs_eval + "GL_SGIX_nurbs_eval", +#endif +#ifdef GL_SGIX_occlusion_instrument + "GL_SGIX_occlusion_instrument", +#endif +#ifdef GL_SGIX_packed_6bytes + "GL_SGIX_packed_6bytes", +#endif +#ifdef GL_SGIX_pixel_texture + "GL_SGIX_pixel_texture", +#endif +#ifdef GL_SGIX_pixel_texture_bits + "GL_SGIX_pixel_texture_bits", +#endif +#ifdef GL_SGIX_pixel_texture_lod + "GL_SGIX_pixel_texture_lod", +#endif +#ifdef GL_SGIX_pixel_tiles + "GL_SGIX_pixel_tiles", +#endif +#ifdef GL_SGIX_polynomial_ffd + "GL_SGIX_polynomial_ffd", +#endif +#ifdef GL_SGIX_quad_mesh + "GL_SGIX_quad_mesh", +#endif +#ifdef GL_SGIX_reference_plane + "GL_SGIX_reference_plane", +#endif +#ifdef GL_SGIX_resample + "GL_SGIX_resample", +#endif +#ifdef GL_SGIX_scalebias_hint + "GL_SGIX_scalebias_hint", +#endif +#ifdef GL_SGIX_shadow + "GL_SGIX_shadow", +#endif +#ifdef GL_SGIX_shadow_ambient + "GL_SGIX_shadow_ambient", +#endif +#ifdef GL_SGIX_slim + "GL_SGIX_slim", +#endif +#ifdef GL_SGIX_spotlight_cutoff + "GL_SGIX_spotlight_cutoff", +#endif +#ifdef GL_SGIX_sprite + "GL_SGIX_sprite", +#endif +#ifdef GL_SGIX_subdiv_patch + "GL_SGIX_subdiv_patch", +#endif +#ifdef GL_SGIX_subsample + "GL_SGIX_subsample", +#endif +#ifdef GL_SGIX_tag_sample_buffer + "GL_SGIX_tag_sample_buffer", +#endif +#ifdef GL_SGIX_texture_add_env + "GL_SGIX_texture_add_env", +#endif +#ifdef GL_SGIX_texture_coordinate_clamp + "GL_SGIX_texture_coordinate_clamp", +#endif +#ifdef GL_SGIX_texture_lod_bias + "GL_SGIX_texture_lod_bias", +#endif +#ifdef GL_SGIX_texture_mipmap_anisotropic + "GL_SGIX_texture_mipmap_anisotropic", +#endif +#ifdef GL_SGIX_texture_multi_buffer + "GL_SGIX_texture_multi_buffer", +#endif +#ifdef GL_SGIX_texture_phase + "GL_SGIX_texture_phase", +#endif +#ifdef GL_SGIX_texture_range + "GL_SGIX_texture_range", +#endif +#ifdef GL_SGIX_texture_scale_bias + "GL_SGIX_texture_scale_bias", +#endif +#ifdef GL_SGIX_texture_supersample + "GL_SGIX_texture_supersample", +#endif +#ifdef GL_SGIX_vector_ops + "GL_SGIX_vector_ops", +#endif +#ifdef GL_SGIX_vertex_array_object + "GL_SGIX_vertex_array_object", +#endif +#ifdef GL_SGIX_vertex_preclip + "GL_SGIX_vertex_preclip", +#endif +#ifdef GL_SGIX_vertex_preclip_hint + "GL_SGIX_vertex_preclip_hint", +#endif +#ifdef GL_SGIX_ycrcb + "GL_SGIX_ycrcb", +#endif +#ifdef GL_SGIX_ycrcb_subsample + "GL_SGIX_ycrcb_subsample", +#endif +#ifdef GL_SGIX_ycrcba + "GL_SGIX_ycrcba", +#endif +#ifdef GL_SGI_color_matrix + "GL_SGI_color_matrix", +#endif +#ifdef GL_SGI_color_table + "GL_SGI_color_table", +#endif +#ifdef GL_SGI_complex + "GL_SGI_complex", +#endif +#ifdef GL_SGI_complex_type + "GL_SGI_complex_type", +#endif +#ifdef GL_SGI_fft + "GL_SGI_fft", +#endif +#ifdef GL_SGI_texture_color_table + "GL_SGI_texture_color_table", +#endif +#ifdef GL_SUNX_constant_data + "GL_SUNX_constant_data", +#endif +#ifdef GL_SUN_convolution_border_modes + "GL_SUN_convolution_border_modes", +#endif +#ifdef GL_SUN_global_alpha + "GL_SUN_global_alpha", +#endif +#ifdef GL_SUN_mesh_array + "GL_SUN_mesh_array", +#endif +#ifdef GL_SUN_read_video_pixels + "GL_SUN_read_video_pixels", +#endif +#ifdef GL_SUN_slice_accum + "GL_SUN_slice_accum", +#endif +#ifdef GL_SUN_triangle_list + "GL_SUN_triangle_list", +#endif +#ifdef GL_SUN_vertex + "GL_SUN_vertex", +#endif +#ifdef GL_WIN_phong_shading + "GL_WIN_phong_shading", +#endif +#ifdef GL_WIN_scene_markerXXX + "GL_WIN_scene_markerXXX", +#endif +#ifdef GL_WIN_specular_fog + "GL_WIN_specular_fog", +#endif +#ifdef GL_WIN_swap_hint + "GL_WIN_swap_hint", +#endif + NULL +}; + +/* Detected in the extension string or strings */ +static GLboolean _glewExtensionString[801]; +/* Detected via extension string or experimental mode */ +static GLboolean* _glewExtensionEnabled[] = { +#ifdef GL_VERSION_1_2 + &__GLEW_VERSION_1_2, +#endif +#ifdef GL_VERSION_1_2_1 + &__GLEW_VERSION_1_2_1, +#endif +#ifdef GL_VERSION_1_3 + &__GLEW_VERSION_1_3, +#endif +#ifdef GL_VERSION_1_4 + &__GLEW_VERSION_1_4, +#endif +#ifdef GL_VERSION_1_5 + &__GLEW_VERSION_1_5, +#endif +#ifdef GL_VERSION_2_0 + &__GLEW_VERSION_2_0, +#endif +#ifdef GL_VERSION_2_1 + &__GLEW_VERSION_2_1, +#endif +#ifdef GL_VERSION_3_0 + &__GLEW_VERSION_3_0, +#endif +#ifdef GL_VERSION_3_1 + &__GLEW_VERSION_3_1, +#endif +#ifdef GL_VERSION_3_2 + &__GLEW_VERSION_3_2, +#endif +#ifdef GL_VERSION_3_3 + &__GLEW_VERSION_3_3, +#endif +#ifdef GL_VERSION_4_0 + &__GLEW_VERSION_4_0, +#endif +#ifdef GL_VERSION_4_1 + &__GLEW_VERSION_4_1, +#endif +#ifdef GL_VERSION_4_2 + &__GLEW_VERSION_4_2, +#endif +#ifdef GL_VERSION_4_3 + &__GLEW_VERSION_4_3, +#endif +#ifdef GL_VERSION_4_4 + &__GLEW_VERSION_4_4, +#endif +#ifdef GL_VERSION_4_5 + &__GLEW_VERSION_4_5, +#endif +#ifdef GL_VERSION_4_6 + &__GLEW_VERSION_4_6, +#endif +#ifdef GL_3DFX_multisample + &__GLEW_3DFX_multisample, +#endif +#ifdef GL_3DFX_tbuffer + &__GLEW_3DFX_tbuffer, +#endif +#ifdef GL_3DFX_texture_compression_FXT1 + &__GLEW_3DFX_texture_compression_FXT1, +#endif +#ifdef GL_AMD_blend_minmax_factor + &__GLEW_AMD_blend_minmax_factor, +#endif +#ifdef GL_AMD_compressed_3DC_texture + &__GLEW_AMD_compressed_3DC_texture, +#endif +#ifdef GL_AMD_compressed_ATC_texture + &__GLEW_AMD_compressed_ATC_texture, +#endif +#ifdef GL_AMD_conservative_depth + &__GLEW_AMD_conservative_depth, +#endif +#ifdef GL_AMD_debug_output + &__GLEW_AMD_debug_output, +#endif +#ifdef GL_AMD_depth_clamp_separate + &__GLEW_AMD_depth_clamp_separate, +#endif +#ifdef GL_AMD_draw_buffers_blend + &__GLEW_AMD_draw_buffers_blend, +#endif +#ifdef GL_AMD_framebuffer_sample_positions + &__GLEW_AMD_framebuffer_sample_positions, +#endif +#ifdef GL_AMD_gcn_shader + &__GLEW_AMD_gcn_shader, +#endif +#ifdef GL_AMD_gpu_shader_half_float + &__GLEW_AMD_gpu_shader_half_float, +#endif +#ifdef GL_AMD_gpu_shader_int16 + &__GLEW_AMD_gpu_shader_int16, +#endif +#ifdef GL_AMD_gpu_shader_int64 + &__GLEW_AMD_gpu_shader_int64, +#endif +#ifdef GL_AMD_interleaved_elements + &__GLEW_AMD_interleaved_elements, +#endif +#ifdef GL_AMD_multi_draw_indirect + &__GLEW_AMD_multi_draw_indirect, +#endif +#ifdef GL_AMD_name_gen_delete + &__GLEW_AMD_name_gen_delete, +#endif +#ifdef GL_AMD_occlusion_query_event + &__GLEW_AMD_occlusion_query_event, +#endif +#ifdef GL_AMD_performance_monitor + &__GLEW_AMD_performance_monitor, +#endif +#ifdef GL_AMD_pinned_memory + &__GLEW_AMD_pinned_memory, +#endif +#ifdef GL_AMD_program_binary_Z400 + &__GLEW_AMD_program_binary_Z400, +#endif +#ifdef GL_AMD_query_buffer_object + &__GLEW_AMD_query_buffer_object, +#endif +#ifdef GL_AMD_sample_positions + &__GLEW_AMD_sample_positions, +#endif +#ifdef GL_AMD_seamless_cubemap_per_texture + &__GLEW_AMD_seamless_cubemap_per_texture, +#endif +#ifdef GL_AMD_shader_atomic_counter_ops + &__GLEW_AMD_shader_atomic_counter_ops, +#endif +#ifdef GL_AMD_shader_ballot + &__GLEW_AMD_shader_ballot, +#endif +#ifdef GL_AMD_shader_explicit_vertex_parameter + &__GLEW_AMD_shader_explicit_vertex_parameter, +#endif +#ifdef GL_AMD_shader_stencil_export + &__GLEW_AMD_shader_stencil_export, +#endif +#ifdef GL_AMD_shader_stencil_value_export + &__GLEW_AMD_shader_stencil_value_export, +#endif +#ifdef GL_AMD_shader_trinary_minmax + &__GLEW_AMD_shader_trinary_minmax, +#endif +#ifdef GL_AMD_sparse_texture + &__GLEW_AMD_sparse_texture, +#endif +#ifdef GL_AMD_stencil_operation_extended + &__GLEW_AMD_stencil_operation_extended, +#endif +#ifdef GL_AMD_texture_gather_bias_lod + &__GLEW_AMD_texture_gather_bias_lod, +#endif +#ifdef GL_AMD_texture_texture4 + &__GLEW_AMD_texture_texture4, +#endif +#ifdef GL_AMD_transform_feedback3_lines_triangles + &__GLEW_AMD_transform_feedback3_lines_triangles, +#endif +#ifdef GL_AMD_transform_feedback4 + &__GLEW_AMD_transform_feedback4, +#endif +#ifdef GL_AMD_vertex_shader_layer + &__GLEW_AMD_vertex_shader_layer, +#endif +#ifdef GL_AMD_vertex_shader_tessellator + &__GLEW_AMD_vertex_shader_tessellator, +#endif +#ifdef GL_AMD_vertex_shader_viewport_index + &__GLEW_AMD_vertex_shader_viewport_index, +#endif +#ifdef GL_ANDROID_extension_pack_es31a + &__GLEW_ANDROID_extension_pack_es31a, +#endif +#ifdef GL_ANGLE_depth_texture + &__GLEW_ANGLE_depth_texture, +#endif +#ifdef GL_ANGLE_framebuffer_blit + &__GLEW_ANGLE_framebuffer_blit, +#endif +#ifdef GL_ANGLE_framebuffer_multisample + &__GLEW_ANGLE_framebuffer_multisample, +#endif +#ifdef GL_ANGLE_instanced_arrays + &__GLEW_ANGLE_instanced_arrays, +#endif +#ifdef GL_ANGLE_pack_reverse_row_order + &__GLEW_ANGLE_pack_reverse_row_order, +#endif +#ifdef GL_ANGLE_program_binary + &__GLEW_ANGLE_program_binary, +#endif +#ifdef GL_ANGLE_texture_compression_dxt1 + &__GLEW_ANGLE_texture_compression_dxt1, +#endif +#ifdef GL_ANGLE_texture_compression_dxt3 + &__GLEW_ANGLE_texture_compression_dxt3, +#endif +#ifdef GL_ANGLE_texture_compression_dxt5 + &__GLEW_ANGLE_texture_compression_dxt5, +#endif +#ifdef GL_ANGLE_texture_usage + &__GLEW_ANGLE_texture_usage, +#endif +#ifdef GL_ANGLE_timer_query + &__GLEW_ANGLE_timer_query, +#endif +#ifdef GL_ANGLE_translated_shader_source + &__GLEW_ANGLE_translated_shader_source, +#endif +#ifdef GL_APPLE_aux_depth_stencil + &__GLEW_APPLE_aux_depth_stencil, +#endif +#ifdef GL_APPLE_client_storage + &__GLEW_APPLE_client_storage, +#endif +#ifdef GL_APPLE_clip_distance + &__GLEW_APPLE_clip_distance, +#endif +#ifdef GL_APPLE_color_buffer_packed_float + &__GLEW_APPLE_color_buffer_packed_float, +#endif +#ifdef GL_APPLE_copy_texture_levels + &__GLEW_APPLE_copy_texture_levels, +#endif +#ifdef GL_APPLE_element_array + &__GLEW_APPLE_element_array, +#endif +#ifdef GL_APPLE_fence + &__GLEW_APPLE_fence, +#endif +#ifdef GL_APPLE_float_pixels + &__GLEW_APPLE_float_pixels, +#endif +#ifdef GL_APPLE_flush_buffer_range + &__GLEW_APPLE_flush_buffer_range, +#endif +#ifdef GL_APPLE_framebuffer_multisample + &__GLEW_APPLE_framebuffer_multisample, +#endif +#ifdef GL_APPLE_object_purgeable + &__GLEW_APPLE_object_purgeable, +#endif +#ifdef GL_APPLE_pixel_buffer + &__GLEW_APPLE_pixel_buffer, +#endif +#ifdef GL_APPLE_rgb_422 + &__GLEW_APPLE_rgb_422, +#endif +#ifdef GL_APPLE_row_bytes + &__GLEW_APPLE_row_bytes, +#endif +#ifdef GL_APPLE_specular_vector + &__GLEW_APPLE_specular_vector, +#endif +#ifdef GL_APPLE_sync + &__GLEW_APPLE_sync, +#endif +#ifdef GL_APPLE_texture_2D_limited_npot + &__GLEW_APPLE_texture_2D_limited_npot, +#endif +#ifdef GL_APPLE_texture_format_BGRA8888 + &__GLEW_APPLE_texture_format_BGRA8888, +#endif +#ifdef GL_APPLE_texture_max_level + &__GLEW_APPLE_texture_max_level, +#endif +#ifdef GL_APPLE_texture_packed_float + &__GLEW_APPLE_texture_packed_float, +#endif +#ifdef GL_APPLE_texture_range + &__GLEW_APPLE_texture_range, +#endif +#ifdef GL_APPLE_transform_hint + &__GLEW_APPLE_transform_hint, +#endif +#ifdef GL_APPLE_vertex_array_object + &__GLEW_APPLE_vertex_array_object, +#endif +#ifdef GL_APPLE_vertex_array_range + &__GLEW_APPLE_vertex_array_range, +#endif +#ifdef GL_APPLE_vertex_program_evaluators + &__GLEW_APPLE_vertex_program_evaluators, +#endif +#ifdef GL_APPLE_ycbcr_422 + &__GLEW_APPLE_ycbcr_422, +#endif +#ifdef GL_ARB_ES2_compatibility + &__GLEW_ARB_ES2_compatibility, +#endif +#ifdef GL_ARB_ES3_1_compatibility + &__GLEW_ARB_ES3_1_compatibility, +#endif +#ifdef GL_ARB_ES3_2_compatibility + &__GLEW_ARB_ES3_2_compatibility, +#endif +#ifdef GL_ARB_ES3_compatibility + &__GLEW_ARB_ES3_compatibility, +#endif +#ifdef GL_ARB_arrays_of_arrays + &__GLEW_ARB_arrays_of_arrays, +#endif +#ifdef GL_ARB_base_instance + &__GLEW_ARB_base_instance, +#endif +#ifdef GL_ARB_bindless_texture + &__GLEW_ARB_bindless_texture, +#endif +#ifdef GL_ARB_blend_func_extended + &__GLEW_ARB_blend_func_extended, +#endif +#ifdef GL_ARB_buffer_storage + &__GLEW_ARB_buffer_storage, +#endif +#ifdef GL_ARB_cl_event + &__GLEW_ARB_cl_event, +#endif +#ifdef GL_ARB_clear_buffer_object + &__GLEW_ARB_clear_buffer_object, +#endif +#ifdef GL_ARB_clear_texture + &__GLEW_ARB_clear_texture, +#endif +#ifdef GL_ARB_clip_control + &__GLEW_ARB_clip_control, +#endif +#ifdef GL_ARB_color_buffer_float + &__GLEW_ARB_color_buffer_float, +#endif +#ifdef GL_ARB_compatibility + &__GLEW_ARB_compatibility, +#endif +#ifdef GL_ARB_compressed_texture_pixel_storage + &__GLEW_ARB_compressed_texture_pixel_storage, +#endif +#ifdef GL_ARB_compute_shader + &__GLEW_ARB_compute_shader, +#endif +#ifdef GL_ARB_compute_variable_group_size + &__GLEW_ARB_compute_variable_group_size, +#endif +#ifdef GL_ARB_conditional_render_inverted + &__GLEW_ARB_conditional_render_inverted, +#endif +#ifdef GL_ARB_conservative_depth + &__GLEW_ARB_conservative_depth, +#endif +#ifdef GL_ARB_copy_buffer + &__GLEW_ARB_copy_buffer, +#endif +#ifdef GL_ARB_copy_image + &__GLEW_ARB_copy_image, +#endif +#ifdef GL_ARB_cull_distance + &__GLEW_ARB_cull_distance, +#endif +#ifdef GL_ARB_debug_output + &__GLEW_ARB_debug_output, +#endif +#ifdef GL_ARB_depth_buffer_float + &__GLEW_ARB_depth_buffer_float, +#endif +#ifdef GL_ARB_depth_clamp + &__GLEW_ARB_depth_clamp, +#endif +#ifdef GL_ARB_depth_texture + &__GLEW_ARB_depth_texture, +#endif +#ifdef GL_ARB_derivative_control + &__GLEW_ARB_derivative_control, +#endif +#ifdef GL_ARB_direct_state_access + &__GLEW_ARB_direct_state_access, +#endif +#ifdef GL_ARB_draw_buffers + &__GLEW_ARB_draw_buffers, +#endif +#ifdef GL_ARB_draw_buffers_blend + &__GLEW_ARB_draw_buffers_blend, +#endif +#ifdef GL_ARB_draw_elements_base_vertex + &__GLEW_ARB_draw_elements_base_vertex, +#endif +#ifdef GL_ARB_draw_indirect + &__GLEW_ARB_draw_indirect, +#endif +#ifdef GL_ARB_draw_instanced + &__GLEW_ARB_draw_instanced, +#endif +#ifdef GL_ARB_enhanced_layouts + &__GLEW_ARB_enhanced_layouts, +#endif +#ifdef GL_ARB_explicit_attrib_location + &__GLEW_ARB_explicit_attrib_location, +#endif +#ifdef GL_ARB_explicit_uniform_location + &__GLEW_ARB_explicit_uniform_location, +#endif +#ifdef GL_ARB_fragment_coord_conventions + &__GLEW_ARB_fragment_coord_conventions, +#endif +#ifdef GL_ARB_fragment_layer_viewport + &__GLEW_ARB_fragment_layer_viewport, +#endif +#ifdef GL_ARB_fragment_program + &__GLEW_ARB_fragment_program, +#endif +#ifdef GL_ARB_fragment_program_shadow + &__GLEW_ARB_fragment_program_shadow, +#endif +#ifdef GL_ARB_fragment_shader + &__GLEW_ARB_fragment_shader, +#endif +#ifdef GL_ARB_fragment_shader_interlock + &__GLEW_ARB_fragment_shader_interlock, +#endif +#ifdef GL_ARB_framebuffer_no_attachments + &__GLEW_ARB_framebuffer_no_attachments, +#endif +#ifdef GL_ARB_framebuffer_object + &__GLEW_ARB_framebuffer_object, +#endif +#ifdef GL_ARB_framebuffer_sRGB + &__GLEW_ARB_framebuffer_sRGB, +#endif +#ifdef GL_ARB_geometry_shader4 + &__GLEW_ARB_geometry_shader4, +#endif +#ifdef GL_ARB_get_program_binary + &__GLEW_ARB_get_program_binary, +#endif +#ifdef GL_ARB_get_texture_sub_image + &__GLEW_ARB_get_texture_sub_image, +#endif +#ifdef GL_ARB_gl_spirv + &__GLEW_ARB_gl_spirv, +#endif +#ifdef GL_ARB_gpu_shader5 + &__GLEW_ARB_gpu_shader5, +#endif +#ifdef GL_ARB_gpu_shader_fp64 + &__GLEW_ARB_gpu_shader_fp64, +#endif +#ifdef GL_ARB_gpu_shader_int64 + &__GLEW_ARB_gpu_shader_int64, +#endif +#ifdef GL_ARB_half_float_pixel + &__GLEW_ARB_half_float_pixel, +#endif +#ifdef GL_ARB_half_float_vertex + &__GLEW_ARB_half_float_vertex, +#endif +#ifdef GL_ARB_imaging + &__GLEW_ARB_imaging, +#endif +#ifdef GL_ARB_indirect_parameters + &__GLEW_ARB_indirect_parameters, +#endif +#ifdef GL_ARB_instanced_arrays + &__GLEW_ARB_instanced_arrays, +#endif +#ifdef GL_ARB_internalformat_query + &__GLEW_ARB_internalformat_query, +#endif +#ifdef GL_ARB_internalformat_query2 + &__GLEW_ARB_internalformat_query2, +#endif +#ifdef GL_ARB_invalidate_subdata + &__GLEW_ARB_invalidate_subdata, +#endif +#ifdef GL_ARB_map_buffer_alignment + &__GLEW_ARB_map_buffer_alignment, +#endif +#ifdef GL_ARB_map_buffer_range + &__GLEW_ARB_map_buffer_range, +#endif +#ifdef GL_ARB_matrix_palette + &__GLEW_ARB_matrix_palette, +#endif +#ifdef GL_ARB_multi_bind + &__GLEW_ARB_multi_bind, +#endif +#ifdef GL_ARB_multi_draw_indirect + &__GLEW_ARB_multi_draw_indirect, +#endif +#ifdef GL_ARB_multisample + &__GLEW_ARB_multisample, +#endif +#ifdef GL_ARB_multitexture + &__GLEW_ARB_multitexture, +#endif +#ifdef GL_ARB_occlusion_query + &__GLEW_ARB_occlusion_query, +#endif +#ifdef GL_ARB_occlusion_query2 + &__GLEW_ARB_occlusion_query2, +#endif +#ifdef GL_ARB_parallel_shader_compile + &__GLEW_ARB_parallel_shader_compile, +#endif +#ifdef GL_ARB_pipeline_statistics_query + &__GLEW_ARB_pipeline_statistics_query, +#endif +#ifdef GL_ARB_pixel_buffer_object + &__GLEW_ARB_pixel_buffer_object, +#endif +#ifdef GL_ARB_point_parameters + &__GLEW_ARB_point_parameters, +#endif +#ifdef GL_ARB_point_sprite + &__GLEW_ARB_point_sprite, +#endif +#ifdef GL_ARB_polygon_offset_clamp + &__GLEW_ARB_polygon_offset_clamp, +#endif +#ifdef GL_ARB_post_depth_coverage + &__GLEW_ARB_post_depth_coverage, +#endif +#ifdef GL_ARB_program_interface_query + &__GLEW_ARB_program_interface_query, +#endif +#ifdef GL_ARB_provoking_vertex + &__GLEW_ARB_provoking_vertex, +#endif +#ifdef GL_ARB_query_buffer_object + &__GLEW_ARB_query_buffer_object, +#endif +#ifdef GL_ARB_robust_buffer_access_behavior + &__GLEW_ARB_robust_buffer_access_behavior, +#endif +#ifdef GL_ARB_robustness + &__GLEW_ARB_robustness, +#endif +#ifdef GL_ARB_robustness_application_isolation + &__GLEW_ARB_robustness_application_isolation, +#endif +#ifdef GL_ARB_robustness_share_group_isolation + &__GLEW_ARB_robustness_share_group_isolation, +#endif +#ifdef GL_ARB_sample_locations + &__GLEW_ARB_sample_locations, +#endif +#ifdef GL_ARB_sample_shading + &__GLEW_ARB_sample_shading, +#endif +#ifdef GL_ARB_sampler_objects + &__GLEW_ARB_sampler_objects, +#endif +#ifdef GL_ARB_seamless_cube_map + &__GLEW_ARB_seamless_cube_map, +#endif +#ifdef GL_ARB_seamless_cubemap_per_texture + &__GLEW_ARB_seamless_cubemap_per_texture, +#endif +#ifdef GL_ARB_separate_shader_objects + &__GLEW_ARB_separate_shader_objects, +#endif +#ifdef GL_ARB_shader_atomic_counter_ops + &__GLEW_ARB_shader_atomic_counter_ops, +#endif +#ifdef GL_ARB_shader_atomic_counters + &__GLEW_ARB_shader_atomic_counters, +#endif +#ifdef GL_ARB_shader_ballot + &__GLEW_ARB_shader_ballot, +#endif +#ifdef GL_ARB_shader_bit_encoding + &__GLEW_ARB_shader_bit_encoding, +#endif +#ifdef GL_ARB_shader_clock + &__GLEW_ARB_shader_clock, +#endif +#ifdef GL_ARB_shader_draw_parameters + &__GLEW_ARB_shader_draw_parameters, +#endif +#ifdef GL_ARB_shader_group_vote + &__GLEW_ARB_shader_group_vote, +#endif +#ifdef GL_ARB_shader_image_load_store + &__GLEW_ARB_shader_image_load_store, +#endif +#ifdef GL_ARB_shader_image_size + &__GLEW_ARB_shader_image_size, +#endif +#ifdef GL_ARB_shader_objects + &__GLEW_ARB_shader_objects, +#endif +#ifdef GL_ARB_shader_precision + &__GLEW_ARB_shader_precision, +#endif +#ifdef GL_ARB_shader_stencil_export + &__GLEW_ARB_shader_stencil_export, +#endif +#ifdef GL_ARB_shader_storage_buffer_object + &__GLEW_ARB_shader_storage_buffer_object, +#endif +#ifdef GL_ARB_shader_subroutine + &__GLEW_ARB_shader_subroutine, +#endif +#ifdef GL_ARB_shader_texture_image_samples + &__GLEW_ARB_shader_texture_image_samples, +#endif +#ifdef GL_ARB_shader_texture_lod + &__GLEW_ARB_shader_texture_lod, +#endif +#ifdef GL_ARB_shader_viewport_layer_array + &__GLEW_ARB_shader_viewport_layer_array, +#endif +#ifdef GL_ARB_shading_language_100 + &__GLEW_ARB_shading_language_100, +#endif +#ifdef GL_ARB_shading_language_420pack + &__GLEW_ARB_shading_language_420pack, +#endif +#ifdef GL_ARB_shading_language_include + &__GLEW_ARB_shading_language_include, +#endif +#ifdef GL_ARB_shading_language_packing + &__GLEW_ARB_shading_language_packing, +#endif +#ifdef GL_ARB_shadow + &__GLEW_ARB_shadow, +#endif +#ifdef GL_ARB_shadow_ambient + &__GLEW_ARB_shadow_ambient, +#endif +#ifdef GL_ARB_sparse_buffer + &__GLEW_ARB_sparse_buffer, +#endif +#ifdef GL_ARB_sparse_texture + &__GLEW_ARB_sparse_texture, +#endif +#ifdef GL_ARB_sparse_texture2 + &__GLEW_ARB_sparse_texture2, +#endif +#ifdef GL_ARB_sparse_texture_clamp + &__GLEW_ARB_sparse_texture_clamp, +#endif +#ifdef GL_ARB_spirv_extensions + &__GLEW_ARB_spirv_extensions, +#endif +#ifdef GL_ARB_stencil_texturing + &__GLEW_ARB_stencil_texturing, +#endif +#ifdef GL_ARB_sync + &__GLEW_ARB_sync, +#endif +#ifdef GL_ARB_tessellation_shader + &__GLEW_ARB_tessellation_shader, +#endif +#ifdef GL_ARB_texture_barrier + &__GLEW_ARB_texture_barrier, +#endif +#ifdef GL_ARB_texture_border_clamp + &__GLEW_ARB_texture_border_clamp, +#endif +#ifdef GL_ARB_texture_buffer_object + &__GLEW_ARB_texture_buffer_object, +#endif +#ifdef GL_ARB_texture_buffer_object_rgb32 + &__GLEW_ARB_texture_buffer_object_rgb32, +#endif +#ifdef GL_ARB_texture_buffer_range + &__GLEW_ARB_texture_buffer_range, +#endif +#ifdef GL_ARB_texture_compression + &__GLEW_ARB_texture_compression, +#endif +#ifdef GL_ARB_texture_compression_bptc + &__GLEW_ARB_texture_compression_bptc, +#endif +#ifdef GL_ARB_texture_compression_rgtc + &__GLEW_ARB_texture_compression_rgtc, +#endif +#ifdef GL_ARB_texture_cube_map + &__GLEW_ARB_texture_cube_map, +#endif +#ifdef GL_ARB_texture_cube_map_array + &__GLEW_ARB_texture_cube_map_array, +#endif +#ifdef GL_ARB_texture_env_add + &__GLEW_ARB_texture_env_add, +#endif +#ifdef GL_ARB_texture_env_combine + &__GLEW_ARB_texture_env_combine, +#endif +#ifdef GL_ARB_texture_env_crossbar + &__GLEW_ARB_texture_env_crossbar, +#endif +#ifdef GL_ARB_texture_env_dot3 + &__GLEW_ARB_texture_env_dot3, +#endif +#ifdef GL_ARB_texture_filter_anisotropic + &__GLEW_ARB_texture_filter_anisotropic, +#endif +#ifdef GL_ARB_texture_filter_minmax + &__GLEW_ARB_texture_filter_minmax, +#endif +#ifdef GL_ARB_texture_float + &__GLEW_ARB_texture_float, +#endif +#ifdef GL_ARB_texture_gather + &__GLEW_ARB_texture_gather, +#endif +#ifdef GL_ARB_texture_mirror_clamp_to_edge + &__GLEW_ARB_texture_mirror_clamp_to_edge, +#endif +#ifdef GL_ARB_texture_mirrored_repeat + &__GLEW_ARB_texture_mirrored_repeat, +#endif +#ifdef GL_ARB_texture_multisample + &__GLEW_ARB_texture_multisample, +#endif +#ifdef GL_ARB_texture_non_power_of_two + &__GLEW_ARB_texture_non_power_of_two, +#endif +#ifdef GL_ARB_texture_query_levels + &__GLEW_ARB_texture_query_levels, +#endif +#ifdef GL_ARB_texture_query_lod + &__GLEW_ARB_texture_query_lod, +#endif +#ifdef GL_ARB_texture_rectangle + &__GLEW_ARB_texture_rectangle, +#endif +#ifdef GL_ARB_texture_rg + &__GLEW_ARB_texture_rg, +#endif +#ifdef GL_ARB_texture_rgb10_a2ui + &__GLEW_ARB_texture_rgb10_a2ui, +#endif +#ifdef GL_ARB_texture_stencil8 + &__GLEW_ARB_texture_stencil8, +#endif +#ifdef GL_ARB_texture_storage + &__GLEW_ARB_texture_storage, +#endif +#ifdef GL_ARB_texture_storage_multisample + &__GLEW_ARB_texture_storage_multisample, +#endif +#ifdef GL_ARB_texture_swizzle + &__GLEW_ARB_texture_swizzle, +#endif +#ifdef GL_ARB_texture_view + &__GLEW_ARB_texture_view, +#endif +#ifdef GL_ARB_timer_query + &__GLEW_ARB_timer_query, +#endif +#ifdef GL_ARB_transform_feedback2 + &__GLEW_ARB_transform_feedback2, +#endif +#ifdef GL_ARB_transform_feedback3 + &__GLEW_ARB_transform_feedback3, +#endif +#ifdef GL_ARB_transform_feedback_instanced + &__GLEW_ARB_transform_feedback_instanced, +#endif +#ifdef GL_ARB_transform_feedback_overflow_query + &__GLEW_ARB_transform_feedback_overflow_query, +#endif +#ifdef GL_ARB_transpose_matrix + &__GLEW_ARB_transpose_matrix, +#endif +#ifdef GL_ARB_uniform_buffer_object + &__GLEW_ARB_uniform_buffer_object, +#endif +#ifdef GL_ARB_vertex_array_bgra + &__GLEW_ARB_vertex_array_bgra, +#endif +#ifdef GL_ARB_vertex_array_object + &__GLEW_ARB_vertex_array_object, +#endif +#ifdef GL_ARB_vertex_attrib_64bit + &__GLEW_ARB_vertex_attrib_64bit, +#endif +#ifdef GL_ARB_vertex_attrib_binding + &__GLEW_ARB_vertex_attrib_binding, +#endif +#ifdef GL_ARB_vertex_blend + &__GLEW_ARB_vertex_blend, +#endif +#ifdef GL_ARB_vertex_buffer_object + &__GLEW_ARB_vertex_buffer_object, +#endif +#ifdef GL_ARB_vertex_program + &__GLEW_ARB_vertex_program, +#endif +#ifdef GL_ARB_vertex_shader + &__GLEW_ARB_vertex_shader, +#endif +#ifdef GL_ARB_vertex_type_10f_11f_11f_rev + &__GLEW_ARB_vertex_type_10f_11f_11f_rev, +#endif +#ifdef GL_ARB_vertex_type_2_10_10_10_rev + &__GLEW_ARB_vertex_type_2_10_10_10_rev, +#endif +#ifdef GL_ARB_viewport_array + &__GLEW_ARB_viewport_array, +#endif +#ifdef GL_ARB_window_pos + &__GLEW_ARB_window_pos, +#endif +#ifdef GL_ARM_mali_program_binary + &__GLEW_ARM_mali_program_binary, +#endif +#ifdef GL_ARM_mali_shader_binary + &__GLEW_ARM_mali_shader_binary, +#endif +#ifdef GL_ARM_rgba8 + &__GLEW_ARM_rgba8, +#endif +#ifdef GL_ARM_shader_framebuffer_fetch + &__GLEW_ARM_shader_framebuffer_fetch, +#endif +#ifdef GL_ARM_shader_framebuffer_fetch_depth_stencil + &__GLEW_ARM_shader_framebuffer_fetch_depth_stencil, +#endif +#ifdef GL_ATIX_point_sprites + &__GLEW_ATIX_point_sprites, +#endif +#ifdef GL_ATIX_texture_env_combine3 + &__GLEW_ATIX_texture_env_combine3, +#endif +#ifdef GL_ATIX_texture_env_route + &__GLEW_ATIX_texture_env_route, +#endif +#ifdef GL_ATIX_vertex_shader_output_point_size + &__GLEW_ATIX_vertex_shader_output_point_size, +#endif +#ifdef GL_ATI_draw_buffers + &__GLEW_ATI_draw_buffers, +#endif +#ifdef GL_ATI_element_array + &__GLEW_ATI_element_array, +#endif +#ifdef GL_ATI_envmap_bumpmap + &__GLEW_ATI_envmap_bumpmap, +#endif +#ifdef GL_ATI_fragment_shader + &__GLEW_ATI_fragment_shader, +#endif +#ifdef GL_ATI_map_object_buffer + &__GLEW_ATI_map_object_buffer, +#endif +#ifdef GL_ATI_meminfo + &__GLEW_ATI_meminfo, +#endif +#ifdef GL_ATI_pn_triangles + &__GLEW_ATI_pn_triangles, +#endif +#ifdef GL_ATI_separate_stencil + &__GLEW_ATI_separate_stencil, +#endif +#ifdef GL_ATI_shader_texture_lod + &__GLEW_ATI_shader_texture_lod, +#endif +#ifdef GL_ATI_text_fragment_shader + &__GLEW_ATI_text_fragment_shader, +#endif +#ifdef GL_ATI_texture_compression_3dc + &__GLEW_ATI_texture_compression_3dc, +#endif +#ifdef GL_ATI_texture_env_combine3 + &__GLEW_ATI_texture_env_combine3, +#endif +#ifdef GL_ATI_texture_float + &__GLEW_ATI_texture_float, +#endif +#ifdef GL_ATI_texture_mirror_once + &__GLEW_ATI_texture_mirror_once, +#endif +#ifdef GL_ATI_vertex_array_object + &__GLEW_ATI_vertex_array_object, +#endif +#ifdef GL_ATI_vertex_attrib_array_object + &__GLEW_ATI_vertex_attrib_array_object, +#endif +#ifdef GL_ATI_vertex_streams + &__GLEW_ATI_vertex_streams, +#endif +#ifdef GL_EGL_KHR_context_flush_control + &__GLEW_EGL_KHR_context_flush_control, +#endif +#ifdef GL_EGL_NV_robustness_video_memory_purge + &__GLEW_EGL_NV_robustness_video_memory_purge, +#endif +#ifdef GL_EXT_422_pixels + &__GLEW_EXT_422_pixels, +#endif +#ifdef GL_EXT_Cg_shader + &__GLEW_EXT_Cg_shader, +#endif +#ifdef GL_EXT_EGL_image_array + &__GLEW_EXT_EGL_image_array, +#endif +#ifdef GL_EXT_YUV_target + &__GLEW_EXT_YUV_target, +#endif +#ifdef GL_EXT_abgr + &__GLEW_EXT_abgr, +#endif +#ifdef GL_EXT_base_instance + &__GLEW_EXT_base_instance, +#endif +#ifdef GL_EXT_bgra + &__GLEW_EXT_bgra, +#endif +#ifdef GL_EXT_bindable_uniform + &__GLEW_EXT_bindable_uniform, +#endif +#ifdef GL_EXT_blend_color + &__GLEW_EXT_blend_color, +#endif +#ifdef GL_EXT_blend_equation_separate + &__GLEW_EXT_blend_equation_separate, +#endif +#ifdef GL_EXT_blend_func_extended + &__GLEW_EXT_blend_func_extended, +#endif +#ifdef GL_EXT_blend_func_separate + &__GLEW_EXT_blend_func_separate, +#endif +#ifdef GL_EXT_blend_logic_op + &__GLEW_EXT_blend_logic_op, +#endif +#ifdef GL_EXT_blend_minmax + &__GLEW_EXT_blend_minmax, +#endif +#ifdef GL_EXT_blend_subtract + &__GLEW_EXT_blend_subtract, +#endif +#ifdef GL_EXT_buffer_storage + &__GLEW_EXT_buffer_storage, +#endif +#ifdef GL_EXT_clear_texture + &__GLEW_EXT_clear_texture, +#endif +#ifdef GL_EXT_clip_cull_distance + &__GLEW_EXT_clip_cull_distance, +#endif +#ifdef GL_EXT_clip_volume_hint + &__GLEW_EXT_clip_volume_hint, +#endif +#ifdef GL_EXT_cmyka + &__GLEW_EXT_cmyka, +#endif +#ifdef GL_EXT_color_buffer_float + &__GLEW_EXT_color_buffer_float, +#endif +#ifdef GL_EXT_color_buffer_half_float + &__GLEW_EXT_color_buffer_half_float, +#endif +#ifdef GL_EXT_color_subtable + &__GLEW_EXT_color_subtable, +#endif +#ifdef GL_EXT_compiled_vertex_array + &__GLEW_EXT_compiled_vertex_array, +#endif +#ifdef GL_EXT_compressed_ETC1_RGB8_sub_texture + &__GLEW_EXT_compressed_ETC1_RGB8_sub_texture, +#endif +#ifdef GL_EXT_conservative_depth + &__GLEW_EXT_conservative_depth, +#endif +#ifdef GL_EXT_convolution + &__GLEW_EXT_convolution, +#endif +#ifdef GL_EXT_coordinate_frame + &__GLEW_EXT_coordinate_frame, +#endif +#ifdef GL_EXT_copy_image + &__GLEW_EXT_copy_image, +#endif +#ifdef GL_EXT_copy_texture + &__GLEW_EXT_copy_texture, +#endif +#ifdef GL_EXT_cull_vertex + &__GLEW_EXT_cull_vertex, +#endif +#ifdef GL_EXT_debug_label + &__GLEW_EXT_debug_label, +#endif +#ifdef GL_EXT_debug_marker + &__GLEW_EXT_debug_marker, +#endif +#ifdef GL_EXT_depth_bounds_test + &__GLEW_EXT_depth_bounds_test, +#endif +#ifdef GL_EXT_direct_state_access + &__GLEW_EXT_direct_state_access, +#endif +#ifdef GL_EXT_discard_framebuffer + &__GLEW_EXT_discard_framebuffer, +#endif +#ifdef GL_EXT_draw_buffers + &__GLEW_EXT_draw_buffers, +#endif +#ifdef GL_EXT_draw_buffers2 + &__GLEW_EXT_draw_buffers2, +#endif +#ifdef GL_EXT_draw_buffers_indexed + &__GLEW_EXT_draw_buffers_indexed, +#endif +#ifdef GL_EXT_draw_elements_base_vertex + &__GLEW_EXT_draw_elements_base_vertex, +#endif +#ifdef GL_EXT_draw_instanced + &__GLEW_EXT_draw_instanced, +#endif +#ifdef GL_EXT_draw_range_elements + &__GLEW_EXT_draw_range_elements, +#endif +#ifdef GL_EXT_external_buffer + &__GLEW_EXT_external_buffer, +#endif +#ifdef GL_EXT_float_blend + &__GLEW_EXT_float_blend, +#endif +#ifdef GL_EXT_fog_coord + &__GLEW_EXT_fog_coord, +#endif +#ifdef GL_EXT_frag_depth + &__GLEW_EXT_frag_depth, +#endif +#ifdef GL_EXT_fragment_lighting + &__GLEW_EXT_fragment_lighting, +#endif +#ifdef GL_EXT_framebuffer_blit + &__GLEW_EXT_framebuffer_blit, +#endif +#ifdef GL_EXT_framebuffer_multisample + &__GLEW_EXT_framebuffer_multisample, +#endif +#ifdef GL_EXT_framebuffer_multisample_blit_scaled + &__GLEW_EXT_framebuffer_multisample_blit_scaled, +#endif +#ifdef GL_EXT_framebuffer_object + &__GLEW_EXT_framebuffer_object, +#endif +#ifdef GL_EXT_framebuffer_sRGB + &__GLEW_EXT_framebuffer_sRGB, +#endif +#ifdef GL_EXT_geometry_point_size + &__GLEW_EXT_geometry_point_size, +#endif +#ifdef GL_EXT_geometry_shader + &__GLEW_EXT_geometry_shader, +#endif +#ifdef GL_EXT_geometry_shader4 + &__GLEW_EXT_geometry_shader4, +#endif +#ifdef GL_EXT_gpu_program_parameters + &__GLEW_EXT_gpu_program_parameters, +#endif +#ifdef GL_EXT_gpu_shader4 + &__GLEW_EXT_gpu_shader4, +#endif +#ifdef GL_EXT_gpu_shader5 + &__GLEW_EXT_gpu_shader5, +#endif +#ifdef GL_EXT_histogram + &__GLEW_EXT_histogram, +#endif +#ifdef GL_EXT_index_array_formats + &__GLEW_EXT_index_array_formats, +#endif +#ifdef GL_EXT_index_func + &__GLEW_EXT_index_func, +#endif +#ifdef GL_EXT_index_material + &__GLEW_EXT_index_material, +#endif +#ifdef GL_EXT_index_texture + &__GLEW_EXT_index_texture, +#endif +#ifdef GL_EXT_instanced_arrays + &__GLEW_EXT_instanced_arrays, +#endif +#ifdef GL_EXT_light_texture + &__GLEW_EXT_light_texture, +#endif +#ifdef GL_EXT_map_buffer_range + &__GLEW_EXT_map_buffer_range, +#endif +#ifdef GL_EXT_memory_object + &__GLEW_EXT_memory_object, +#endif +#ifdef GL_EXT_memory_object_fd + &__GLEW_EXT_memory_object_fd, +#endif +#ifdef GL_EXT_memory_object_win32 + &__GLEW_EXT_memory_object_win32, +#endif +#ifdef GL_EXT_misc_attribute + &__GLEW_EXT_misc_attribute, +#endif +#ifdef GL_EXT_multi_draw_arrays + &__GLEW_EXT_multi_draw_arrays, +#endif +#ifdef GL_EXT_multi_draw_indirect + &__GLEW_EXT_multi_draw_indirect, +#endif +#ifdef GL_EXT_multiple_textures + &__GLEW_EXT_multiple_textures, +#endif +#ifdef GL_EXT_multisample + &__GLEW_EXT_multisample, +#endif +#ifdef GL_EXT_multisample_compatibility + &__GLEW_EXT_multisample_compatibility, +#endif +#ifdef GL_EXT_multisampled_render_to_texture + &__GLEW_EXT_multisampled_render_to_texture, +#endif +#ifdef GL_EXT_multisampled_render_to_texture2 + &__GLEW_EXT_multisampled_render_to_texture2, +#endif +#ifdef GL_EXT_multiview_draw_buffers + &__GLEW_EXT_multiview_draw_buffers, +#endif +#ifdef GL_EXT_packed_depth_stencil + &__GLEW_EXT_packed_depth_stencil, +#endif +#ifdef GL_EXT_packed_float + &__GLEW_EXT_packed_float, +#endif +#ifdef GL_EXT_packed_pixels + &__GLEW_EXT_packed_pixels, +#endif +#ifdef GL_EXT_paletted_texture + &__GLEW_EXT_paletted_texture, +#endif +#ifdef GL_EXT_pixel_buffer_object + &__GLEW_EXT_pixel_buffer_object, +#endif +#ifdef GL_EXT_pixel_transform + &__GLEW_EXT_pixel_transform, +#endif +#ifdef GL_EXT_pixel_transform_color_table + &__GLEW_EXT_pixel_transform_color_table, +#endif +#ifdef GL_EXT_point_parameters + &__GLEW_EXT_point_parameters, +#endif +#ifdef GL_EXT_polygon_offset + &__GLEW_EXT_polygon_offset, +#endif +#ifdef GL_EXT_polygon_offset_clamp + &__GLEW_EXT_polygon_offset_clamp, +#endif +#ifdef GL_EXT_post_depth_coverage + &__GLEW_EXT_post_depth_coverage, +#endif +#ifdef GL_EXT_provoking_vertex + &__GLEW_EXT_provoking_vertex, +#endif +#ifdef GL_EXT_pvrtc_sRGB + &__GLEW_EXT_pvrtc_sRGB, +#endif +#ifdef GL_EXT_raster_multisample + &__GLEW_EXT_raster_multisample, +#endif +#ifdef GL_EXT_read_format_bgra + &__GLEW_EXT_read_format_bgra, +#endif +#ifdef GL_EXT_render_snorm + &__GLEW_EXT_render_snorm, +#endif +#ifdef GL_EXT_rescale_normal + &__GLEW_EXT_rescale_normal, +#endif +#ifdef GL_EXT_sRGB + &__GLEW_EXT_sRGB, +#endif +#ifdef GL_EXT_sRGB_write_control + &__GLEW_EXT_sRGB_write_control, +#endif +#ifdef GL_EXT_scene_marker + &__GLEW_EXT_scene_marker, +#endif +#ifdef GL_EXT_secondary_color + &__GLEW_EXT_secondary_color, +#endif +#ifdef GL_EXT_semaphore + &__GLEW_EXT_semaphore, +#endif +#ifdef GL_EXT_semaphore_fd + &__GLEW_EXT_semaphore_fd, +#endif +#ifdef GL_EXT_semaphore_win32 + &__GLEW_EXT_semaphore_win32, +#endif +#ifdef GL_EXT_separate_shader_objects + &__GLEW_EXT_separate_shader_objects, +#endif +#ifdef GL_EXT_separate_specular_color + &__GLEW_EXT_separate_specular_color, +#endif +#ifdef GL_EXT_shader_framebuffer_fetch + &__GLEW_EXT_shader_framebuffer_fetch, +#endif +#ifdef GL_EXT_shader_group_vote + &__GLEW_EXT_shader_group_vote, +#endif +#ifdef GL_EXT_shader_image_load_formatted + &__GLEW_EXT_shader_image_load_formatted, +#endif +#ifdef GL_EXT_shader_image_load_store + &__GLEW_EXT_shader_image_load_store, +#endif +#ifdef GL_EXT_shader_implicit_conversions + &__GLEW_EXT_shader_implicit_conversions, +#endif +#ifdef GL_EXT_shader_integer_mix + &__GLEW_EXT_shader_integer_mix, +#endif +#ifdef GL_EXT_shader_io_blocks + &__GLEW_EXT_shader_io_blocks, +#endif +#ifdef GL_EXT_shader_non_constant_global_initializers + &__GLEW_EXT_shader_non_constant_global_initializers, +#endif +#ifdef GL_EXT_shader_pixel_local_storage + &__GLEW_EXT_shader_pixel_local_storage, +#endif +#ifdef GL_EXT_shader_pixel_local_storage2 + &__GLEW_EXT_shader_pixel_local_storage2, +#endif +#ifdef GL_EXT_shader_texture_lod + &__GLEW_EXT_shader_texture_lod, +#endif +#ifdef GL_EXT_shadow_funcs + &__GLEW_EXT_shadow_funcs, +#endif +#ifdef GL_EXT_shadow_samplers + &__GLEW_EXT_shadow_samplers, +#endif +#ifdef GL_EXT_shared_texture_palette + &__GLEW_EXT_shared_texture_palette, +#endif +#ifdef GL_EXT_sparse_texture + &__GLEW_EXT_sparse_texture, +#endif +#ifdef GL_EXT_sparse_texture2 + &__GLEW_EXT_sparse_texture2, +#endif +#ifdef GL_EXT_stencil_clear_tag + &__GLEW_EXT_stencil_clear_tag, +#endif +#ifdef GL_EXT_stencil_two_side + &__GLEW_EXT_stencil_two_side, +#endif +#ifdef GL_EXT_stencil_wrap + &__GLEW_EXT_stencil_wrap, +#endif +#ifdef GL_EXT_subtexture + &__GLEW_EXT_subtexture, +#endif +#ifdef GL_EXT_texture + &__GLEW_EXT_texture, +#endif +#ifdef GL_EXT_texture3D + &__GLEW_EXT_texture3D, +#endif +#ifdef GL_EXT_texture_array + &__GLEW_EXT_texture_array, +#endif +#ifdef GL_EXT_texture_buffer_object + &__GLEW_EXT_texture_buffer_object, +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode + &__GLEW_EXT_texture_compression_astc_decode_mode, +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode_rgb9e5 + &__GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5, +#endif +#ifdef GL_EXT_texture_compression_bptc + &__GLEW_EXT_texture_compression_bptc, +#endif +#ifdef GL_EXT_texture_compression_dxt1 + &__GLEW_EXT_texture_compression_dxt1, +#endif +#ifdef GL_EXT_texture_compression_latc + &__GLEW_EXT_texture_compression_latc, +#endif +#ifdef GL_EXT_texture_compression_rgtc + &__GLEW_EXT_texture_compression_rgtc, +#endif +#ifdef GL_EXT_texture_compression_s3tc + &__GLEW_EXT_texture_compression_s3tc, +#endif +#ifdef GL_EXT_texture_cube_map + &__GLEW_EXT_texture_cube_map, +#endif +#ifdef GL_EXT_texture_cube_map_array + &__GLEW_EXT_texture_cube_map_array, +#endif +#ifdef GL_EXT_texture_edge_clamp + &__GLEW_EXT_texture_edge_clamp, +#endif +#ifdef GL_EXT_texture_env + &__GLEW_EXT_texture_env, +#endif +#ifdef GL_EXT_texture_env_add + &__GLEW_EXT_texture_env_add, +#endif +#ifdef GL_EXT_texture_env_combine + &__GLEW_EXT_texture_env_combine, +#endif +#ifdef GL_EXT_texture_env_dot3 + &__GLEW_EXT_texture_env_dot3, +#endif +#ifdef GL_EXT_texture_filter_anisotropic + &__GLEW_EXT_texture_filter_anisotropic, +#endif +#ifdef GL_EXT_texture_filter_minmax + &__GLEW_EXT_texture_filter_minmax, +#endif +#ifdef GL_EXT_texture_format_BGRA8888 + &__GLEW_EXT_texture_format_BGRA8888, +#endif +#ifdef GL_EXT_texture_integer + &__GLEW_EXT_texture_integer, +#endif +#ifdef GL_EXT_texture_lod_bias + &__GLEW_EXT_texture_lod_bias, +#endif +#ifdef GL_EXT_texture_mirror_clamp + &__GLEW_EXT_texture_mirror_clamp, +#endif +#ifdef GL_EXT_texture_norm16 + &__GLEW_EXT_texture_norm16, +#endif +#ifdef GL_EXT_texture_object + &__GLEW_EXT_texture_object, +#endif +#ifdef GL_EXT_texture_perturb_normal + &__GLEW_EXT_texture_perturb_normal, +#endif +#ifdef GL_EXT_texture_rectangle + &__GLEW_EXT_texture_rectangle, +#endif +#ifdef GL_EXT_texture_rg + &__GLEW_EXT_texture_rg, +#endif +#ifdef GL_EXT_texture_sRGB + &__GLEW_EXT_texture_sRGB, +#endif +#ifdef GL_EXT_texture_sRGB_R8 + &__GLEW_EXT_texture_sRGB_R8, +#endif +#ifdef GL_EXT_texture_sRGB_RG8 + &__GLEW_EXT_texture_sRGB_RG8, +#endif +#ifdef GL_EXT_texture_sRGB_decode + &__GLEW_EXT_texture_sRGB_decode, +#endif +#ifdef GL_EXT_texture_shared_exponent + &__GLEW_EXT_texture_shared_exponent, +#endif +#ifdef GL_EXT_texture_snorm + &__GLEW_EXT_texture_snorm, +#endif +#ifdef GL_EXT_texture_storage + &__GLEW_EXT_texture_storage, +#endif +#ifdef GL_EXT_texture_swizzle + &__GLEW_EXT_texture_swizzle, +#endif +#ifdef GL_EXT_texture_type_2_10_10_10_REV + &__GLEW_EXT_texture_type_2_10_10_10_REV, +#endif +#ifdef GL_EXT_texture_view + &__GLEW_EXT_texture_view, +#endif +#ifdef GL_EXT_timer_query + &__GLEW_EXT_timer_query, +#endif +#ifdef GL_EXT_transform_feedback + &__GLEW_EXT_transform_feedback, +#endif +#ifdef GL_EXT_unpack_subimage + &__GLEW_EXT_unpack_subimage, +#endif +#ifdef GL_EXT_vertex_array + &__GLEW_EXT_vertex_array, +#endif +#ifdef GL_EXT_vertex_array_bgra + &__GLEW_EXT_vertex_array_bgra, +#endif +#ifdef GL_EXT_vertex_array_setXXX + &__GLEW_EXT_vertex_array_setXXX, +#endif +#ifdef GL_EXT_vertex_attrib_64bit + &__GLEW_EXT_vertex_attrib_64bit, +#endif +#ifdef GL_EXT_vertex_shader + &__GLEW_EXT_vertex_shader, +#endif +#ifdef GL_EXT_vertex_weighting + &__GLEW_EXT_vertex_weighting, +#endif +#ifdef GL_EXT_win32_keyed_mutex + &__GLEW_EXT_win32_keyed_mutex, +#endif +#ifdef GL_EXT_window_rectangles + &__GLEW_EXT_window_rectangles, +#endif +#ifdef GL_EXT_x11_sync_object + &__GLEW_EXT_x11_sync_object, +#endif +#ifdef GL_GREMEDY_frame_terminator + &__GLEW_GREMEDY_frame_terminator, +#endif +#ifdef GL_GREMEDY_string_marker + &__GLEW_GREMEDY_string_marker, +#endif +#ifdef GL_HP_convolution_border_modes + &__GLEW_HP_convolution_border_modes, +#endif +#ifdef GL_HP_image_transform + &__GLEW_HP_image_transform, +#endif +#ifdef GL_HP_occlusion_test + &__GLEW_HP_occlusion_test, +#endif +#ifdef GL_HP_texture_lighting + &__GLEW_HP_texture_lighting, +#endif +#ifdef GL_IBM_cull_vertex + &__GLEW_IBM_cull_vertex, +#endif +#ifdef GL_IBM_multimode_draw_arrays + &__GLEW_IBM_multimode_draw_arrays, +#endif +#ifdef GL_IBM_rasterpos_clip + &__GLEW_IBM_rasterpos_clip, +#endif +#ifdef GL_IBM_static_data + &__GLEW_IBM_static_data, +#endif +#ifdef GL_IBM_texture_mirrored_repeat + &__GLEW_IBM_texture_mirrored_repeat, +#endif +#ifdef GL_IBM_vertex_array_lists + &__GLEW_IBM_vertex_array_lists, +#endif +#ifdef GL_INGR_color_clamp + &__GLEW_INGR_color_clamp, +#endif +#ifdef GL_INGR_interlace_read + &__GLEW_INGR_interlace_read, +#endif +#ifdef GL_INTEL_conservative_rasterization + &__GLEW_INTEL_conservative_rasterization, +#endif +#ifdef GL_INTEL_fragment_shader_ordering + &__GLEW_INTEL_fragment_shader_ordering, +#endif +#ifdef GL_INTEL_framebuffer_CMAA + &__GLEW_INTEL_framebuffer_CMAA, +#endif +#ifdef GL_INTEL_map_texture + &__GLEW_INTEL_map_texture, +#endif +#ifdef GL_INTEL_parallel_arrays + &__GLEW_INTEL_parallel_arrays, +#endif +#ifdef GL_INTEL_performance_query + &__GLEW_INTEL_performance_query, +#endif +#ifdef GL_INTEL_texture_scissor + &__GLEW_INTEL_texture_scissor, +#endif +#ifdef GL_KHR_blend_equation_advanced + &__GLEW_KHR_blend_equation_advanced, +#endif +#ifdef GL_KHR_blend_equation_advanced_coherent + &__GLEW_KHR_blend_equation_advanced_coherent, +#endif +#ifdef GL_KHR_context_flush_control + &__GLEW_KHR_context_flush_control, +#endif +#ifdef GL_KHR_debug + &__GLEW_KHR_debug, +#endif +#ifdef GL_KHR_no_error + &__GLEW_KHR_no_error, +#endif +#ifdef GL_KHR_parallel_shader_compile + &__GLEW_KHR_parallel_shader_compile, +#endif +#ifdef GL_KHR_robust_buffer_access_behavior + &__GLEW_KHR_robust_buffer_access_behavior, +#endif +#ifdef GL_KHR_robustness + &__GLEW_KHR_robustness, +#endif +#ifdef GL_KHR_texture_compression_astc_hdr + &__GLEW_KHR_texture_compression_astc_hdr, +#endif +#ifdef GL_KHR_texture_compression_astc_ldr + &__GLEW_KHR_texture_compression_astc_ldr, +#endif +#ifdef GL_KHR_texture_compression_astc_sliced_3d + &__GLEW_KHR_texture_compression_astc_sliced_3d, +#endif +#ifdef GL_KTX_buffer_region + &__GLEW_KTX_buffer_region, +#endif +#ifdef GL_MESAX_texture_stack + &__GLEW_MESAX_texture_stack, +#endif +#ifdef GL_MESA_pack_invert + &__GLEW_MESA_pack_invert, +#endif +#ifdef GL_MESA_resize_buffers + &__GLEW_MESA_resize_buffers, +#endif +#ifdef GL_MESA_shader_integer_functions + &__GLEW_MESA_shader_integer_functions, +#endif +#ifdef GL_MESA_window_pos + &__GLEW_MESA_window_pos, +#endif +#ifdef GL_MESA_ycbcr_texture + &__GLEW_MESA_ycbcr_texture, +#endif +#ifdef GL_NVX_blend_equation_advanced_multi_draw_buffers + &__GLEW_NVX_blend_equation_advanced_multi_draw_buffers, +#endif +#ifdef GL_NVX_conditional_render + &__GLEW_NVX_conditional_render, +#endif +#ifdef GL_NVX_gpu_memory_info + &__GLEW_NVX_gpu_memory_info, +#endif +#ifdef GL_NVX_linked_gpu_multicast + &__GLEW_NVX_linked_gpu_multicast, +#endif +#ifdef GL_NV_3dvision_settings + &__GLEW_NV_3dvision_settings, +#endif +#ifdef GL_NV_EGL_stream_consumer_external + &__GLEW_NV_EGL_stream_consumer_external, +#endif +#ifdef GL_NV_alpha_to_coverage_dither_control + &__GLEW_NV_alpha_to_coverage_dither_control, +#endif +#ifdef GL_NV_bgr + &__GLEW_NV_bgr, +#endif +#ifdef GL_NV_bindless_multi_draw_indirect + &__GLEW_NV_bindless_multi_draw_indirect, +#endif +#ifdef GL_NV_bindless_multi_draw_indirect_count + &__GLEW_NV_bindless_multi_draw_indirect_count, +#endif +#ifdef GL_NV_bindless_texture + &__GLEW_NV_bindless_texture, +#endif +#ifdef GL_NV_blend_equation_advanced + &__GLEW_NV_blend_equation_advanced, +#endif +#ifdef GL_NV_blend_equation_advanced_coherent + &__GLEW_NV_blend_equation_advanced_coherent, +#endif +#ifdef GL_NV_blend_minmax_factor + &__GLEW_NV_blend_minmax_factor, +#endif +#ifdef GL_NV_blend_square + &__GLEW_NV_blend_square, +#endif +#ifdef GL_NV_clip_space_w_scaling + &__GLEW_NV_clip_space_w_scaling, +#endif +#ifdef GL_NV_command_list + &__GLEW_NV_command_list, +#endif +#ifdef GL_NV_compute_program5 + &__GLEW_NV_compute_program5, +#endif +#ifdef GL_NV_conditional_render + &__GLEW_NV_conditional_render, +#endif +#ifdef GL_NV_conservative_raster + &__GLEW_NV_conservative_raster, +#endif +#ifdef GL_NV_conservative_raster_dilate + &__GLEW_NV_conservative_raster_dilate, +#endif +#ifdef GL_NV_conservative_raster_pre_snap_triangles + &__GLEW_NV_conservative_raster_pre_snap_triangles, +#endif +#ifdef GL_NV_copy_buffer + &__GLEW_NV_copy_buffer, +#endif +#ifdef GL_NV_copy_depth_to_color + &__GLEW_NV_copy_depth_to_color, +#endif +#ifdef GL_NV_copy_image + &__GLEW_NV_copy_image, +#endif +#ifdef GL_NV_deep_texture3D + &__GLEW_NV_deep_texture3D, +#endif +#ifdef GL_NV_depth_buffer_float + &__GLEW_NV_depth_buffer_float, +#endif +#ifdef GL_NV_depth_clamp + &__GLEW_NV_depth_clamp, +#endif +#ifdef GL_NV_depth_range_unclamped + &__GLEW_NV_depth_range_unclamped, +#endif +#ifdef GL_NV_draw_buffers + &__GLEW_NV_draw_buffers, +#endif +#ifdef GL_NV_draw_instanced + &__GLEW_NV_draw_instanced, +#endif +#ifdef GL_NV_draw_texture + &__GLEW_NV_draw_texture, +#endif +#ifdef GL_NV_draw_vulkan_image + &__GLEW_NV_draw_vulkan_image, +#endif +#ifdef GL_NV_evaluators + &__GLEW_NV_evaluators, +#endif +#ifdef GL_NV_explicit_attrib_location + &__GLEW_NV_explicit_attrib_location, +#endif +#ifdef GL_NV_explicit_multisample + &__GLEW_NV_explicit_multisample, +#endif +#ifdef GL_NV_fbo_color_attachments + &__GLEW_NV_fbo_color_attachments, +#endif +#ifdef GL_NV_fence + &__GLEW_NV_fence, +#endif +#ifdef GL_NV_fill_rectangle + &__GLEW_NV_fill_rectangle, +#endif +#ifdef GL_NV_float_buffer + &__GLEW_NV_float_buffer, +#endif +#ifdef GL_NV_fog_distance + &__GLEW_NV_fog_distance, +#endif +#ifdef GL_NV_fragment_coverage_to_color + &__GLEW_NV_fragment_coverage_to_color, +#endif +#ifdef GL_NV_fragment_program + &__GLEW_NV_fragment_program, +#endif +#ifdef GL_NV_fragment_program2 + &__GLEW_NV_fragment_program2, +#endif +#ifdef GL_NV_fragment_program4 + &__GLEW_NV_fragment_program4, +#endif +#ifdef GL_NV_fragment_program_option + &__GLEW_NV_fragment_program_option, +#endif +#ifdef GL_NV_fragment_shader_interlock + &__GLEW_NV_fragment_shader_interlock, +#endif +#ifdef GL_NV_framebuffer_blit + &__GLEW_NV_framebuffer_blit, +#endif +#ifdef GL_NV_framebuffer_mixed_samples + &__GLEW_NV_framebuffer_mixed_samples, +#endif +#ifdef GL_NV_framebuffer_multisample + &__GLEW_NV_framebuffer_multisample, +#endif +#ifdef GL_NV_framebuffer_multisample_coverage + &__GLEW_NV_framebuffer_multisample_coverage, +#endif +#ifdef GL_NV_generate_mipmap_sRGB + &__GLEW_NV_generate_mipmap_sRGB, +#endif +#ifdef GL_NV_geometry_program4 + &__GLEW_NV_geometry_program4, +#endif +#ifdef GL_NV_geometry_shader4 + &__GLEW_NV_geometry_shader4, +#endif +#ifdef GL_NV_geometry_shader_passthrough + &__GLEW_NV_geometry_shader_passthrough, +#endif +#ifdef GL_NV_gpu_multicast + &__GLEW_NV_gpu_multicast, +#endif +#ifdef GL_NV_gpu_program4 + &__GLEW_NV_gpu_program4, +#endif +#ifdef GL_NV_gpu_program5 + &__GLEW_NV_gpu_program5, +#endif +#ifdef GL_NV_gpu_program5_mem_extended + &__GLEW_NV_gpu_program5_mem_extended, +#endif +#ifdef GL_NV_gpu_program_fp64 + &__GLEW_NV_gpu_program_fp64, +#endif +#ifdef GL_NV_gpu_shader5 + &__GLEW_NV_gpu_shader5, +#endif +#ifdef GL_NV_half_float + &__GLEW_NV_half_float, +#endif +#ifdef GL_NV_image_formats + &__GLEW_NV_image_formats, +#endif +#ifdef GL_NV_instanced_arrays + &__GLEW_NV_instanced_arrays, +#endif +#ifdef GL_NV_internalformat_sample_query + &__GLEW_NV_internalformat_sample_query, +#endif +#ifdef GL_NV_light_max_exponent + &__GLEW_NV_light_max_exponent, +#endif +#ifdef GL_NV_multisample_coverage + &__GLEW_NV_multisample_coverage, +#endif +#ifdef GL_NV_multisample_filter_hint + &__GLEW_NV_multisample_filter_hint, +#endif +#ifdef GL_NV_non_square_matrices + &__GLEW_NV_non_square_matrices, +#endif +#ifdef GL_NV_occlusion_query + &__GLEW_NV_occlusion_query, +#endif +#ifdef GL_NV_pack_subimage + &__GLEW_NV_pack_subimage, +#endif +#ifdef GL_NV_packed_depth_stencil + &__GLEW_NV_packed_depth_stencil, +#endif +#ifdef GL_NV_packed_float + &__GLEW_NV_packed_float, +#endif +#ifdef GL_NV_packed_float_linear + &__GLEW_NV_packed_float_linear, +#endif +#ifdef GL_NV_parameter_buffer_object + &__GLEW_NV_parameter_buffer_object, +#endif +#ifdef GL_NV_parameter_buffer_object2 + &__GLEW_NV_parameter_buffer_object2, +#endif +#ifdef GL_NV_path_rendering + &__GLEW_NV_path_rendering, +#endif +#ifdef GL_NV_path_rendering_shared_edge + &__GLEW_NV_path_rendering_shared_edge, +#endif +#ifdef GL_NV_pixel_buffer_object + &__GLEW_NV_pixel_buffer_object, +#endif +#ifdef GL_NV_pixel_data_range + &__GLEW_NV_pixel_data_range, +#endif +#ifdef GL_NV_platform_binary + &__GLEW_NV_platform_binary, +#endif +#ifdef GL_NV_point_sprite + &__GLEW_NV_point_sprite, +#endif +#ifdef GL_NV_polygon_mode + &__GLEW_NV_polygon_mode, +#endif +#ifdef GL_NV_present_video + &__GLEW_NV_present_video, +#endif +#ifdef GL_NV_primitive_restart + &__GLEW_NV_primitive_restart, +#endif +#ifdef GL_NV_read_depth + &__GLEW_NV_read_depth, +#endif +#ifdef GL_NV_read_depth_stencil + &__GLEW_NV_read_depth_stencil, +#endif +#ifdef GL_NV_read_stencil + &__GLEW_NV_read_stencil, +#endif +#ifdef GL_NV_register_combiners + &__GLEW_NV_register_combiners, +#endif +#ifdef GL_NV_register_combiners2 + &__GLEW_NV_register_combiners2, +#endif +#ifdef GL_NV_robustness_video_memory_purge + &__GLEW_NV_robustness_video_memory_purge, +#endif +#ifdef GL_NV_sRGB_formats + &__GLEW_NV_sRGB_formats, +#endif +#ifdef GL_NV_sample_locations + &__GLEW_NV_sample_locations, +#endif +#ifdef GL_NV_sample_mask_override_coverage + &__GLEW_NV_sample_mask_override_coverage, +#endif +#ifdef GL_NV_shader_atomic_counters + &__GLEW_NV_shader_atomic_counters, +#endif +#ifdef GL_NV_shader_atomic_float + &__GLEW_NV_shader_atomic_float, +#endif +#ifdef GL_NV_shader_atomic_float64 + &__GLEW_NV_shader_atomic_float64, +#endif +#ifdef GL_NV_shader_atomic_fp16_vector + &__GLEW_NV_shader_atomic_fp16_vector, +#endif +#ifdef GL_NV_shader_atomic_int64 + &__GLEW_NV_shader_atomic_int64, +#endif +#ifdef GL_NV_shader_buffer_load + &__GLEW_NV_shader_buffer_load, +#endif +#ifdef GL_NV_shader_noperspective_interpolation + &__GLEW_NV_shader_noperspective_interpolation, +#endif +#ifdef GL_NV_shader_storage_buffer_object + &__GLEW_NV_shader_storage_buffer_object, +#endif +#ifdef GL_NV_shader_thread_group + &__GLEW_NV_shader_thread_group, +#endif +#ifdef GL_NV_shader_thread_shuffle + &__GLEW_NV_shader_thread_shuffle, +#endif +#ifdef GL_NV_shadow_samplers_array + &__GLEW_NV_shadow_samplers_array, +#endif +#ifdef GL_NV_shadow_samplers_cube + &__GLEW_NV_shadow_samplers_cube, +#endif +#ifdef GL_NV_stereo_view_rendering + &__GLEW_NV_stereo_view_rendering, +#endif +#ifdef GL_NV_tessellation_program5 + &__GLEW_NV_tessellation_program5, +#endif +#ifdef GL_NV_texgen_emboss + &__GLEW_NV_texgen_emboss, +#endif +#ifdef GL_NV_texgen_reflection + &__GLEW_NV_texgen_reflection, +#endif +#ifdef GL_NV_texture_array + &__GLEW_NV_texture_array, +#endif +#ifdef GL_NV_texture_barrier + &__GLEW_NV_texture_barrier, +#endif +#ifdef GL_NV_texture_border_clamp + &__GLEW_NV_texture_border_clamp, +#endif +#ifdef GL_NV_texture_compression_latc + &__GLEW_NV_texture_compression_latc, +#endif +#ifdef GL_NV_texture_compression_s3tc + &__GLEW_NV_texture_compression_s3tc, +#endif +#ifdef GL_NV_texture_compression_s3tc_update + &__GLEW_NV_texture_compression_s3tc_update, +#endif +#ifdef GL_NV_texture_compression_vtc + &__GLEW_NV_texture_compression_vtc, +#endif +#ifdef GL_NV_texture_env_combine4 + &__GLEW_NV_texture_env_combine4, +#endif +#ifdef GL_NV_texture_expand_normal + &__GLEW_NV_texture_expand_normal, +#endif +#ifdef GL_NV_texture_multisample + &__GLEW_NV_texture_multisample, +#endif +#ifdef GL_NV_texture_npot_2D_mipmap + &__GLEW_NV_texture_npot_2D_mipmap, +#endif +#ifdef GL_NV_texture_rectangle + &__GLEW_NV_texture_rectangle, +#endif +#ifdef GL_NV_texture_rectangle_compressed + &__GLEW_NV_texture_rectangle_compressed, +#endif +#ifdef GL_NV_texture_shader + &__GLEW_NV_texture_shader, +#endif +#ifdef GL_NV_texture_shader2 + &__GLEW_NV_texture_shader2, +#endif +#ifdef GL_NV_texture_shader3 + &__GLEW_NV_texture_shader3, +#endif +#ifdef GL_NV_transform_feedback + &__GLEW_NV_transform_feedback, +#endif +#ifdef GL_NV_transform_feedback2 + &__GLEW_NV_transform_feedback2, +#endif +#ifdef GL_NV_uniform_buffer_unified_memory + &__GLEW_NV_uniform_buffer_unified_memory, +#endif +#ifdef GL_NV_vdpau_interop + &__GLEW_NV_vdpau_interop, +#endif +#ifdef GL_NV_vertex_array_range + &__GLEW_NV_vertex_array_range, +#endif +#ifdef GL_NV_vertex_array_range2 + &__GLEW_NV_vertex_array_range2, +#endif +#ifdef GL_NV_vertex_attrib_integer_64bit + &__GLEW_NV_vertex_attrib_integer_64bit, +#endif +#ifdef GL_NV_vertex_buffer_unified_memory + &__GLEW_NV_vertex_buffer_unified_memory, +#endif +#ifdef GL_NV_vertex_program + &__GLEW_NV_vertex_program, +#endif +#ifdef GL_NV_vertex_program1_1 + &__GLEW_NV_vertex_program1_1, +#endif +#ifdef GL_NV_vertex_program2 + &__GLEW_NV_vertex_program2, +#endif +#ifdef GL_NV_vertex_program2_option + &__GLEW_NV_vertex_program2_option, +#endif +#ifdef GL_NV_vertex_program3 + &__GLEW_NV_vertex_program3, +#endif +#ifdef GL_NV_vertex_program4 + &__GLEW_NV_vertex_program4, +#endif +#ifdef GL_NV_video_capture + &__GLEW_NV_video_capture, +#endif +#ifdef GL_NV_viewport_array + &__GLEW_NV_viewport_array, +#endif +#ifdef GL_NV_viewport_array2 + &__GLEW_NV_viewport_array2, +#endif +#ifdef GL_NV_viewport_swizzle + &__GLEW_NV_viewport_swizzle, +#endif +#ifdef GL_OES_byte_coordinates + &__GLEW_OES_byte_coordinates, +#endif +#ifdef GL_OML_interlace + &__GLEW_OML_interlace, +#endif +#ifdef GL_OML_resample + &__GLEW_OML_resample, +#endif +#ifdef GL_OML_subsample + &__GLEW_OML_subsample, +#endif +#ifdef GL_OVR_multiview + &__GLEW_OVR_multiview, +#endif +#ifdef GL_OVR_multiview2 + &__GLEW_OVR_multiview2, +#endif +#ifdef GL_OVR_multiview_multisampled_render_to_texture + &__GLEW_OVR_multiview_multisampled_render_to_texture, +#endif +#ifdef GL_PGI_misc_hints + &__GLEW_PGI_misc_hints, +#endif +#ifdef GL_PGI_vertex_hints + &__GLEW_PGI_vertex_hints, +#endif +#ifdef GL_QCOM_alpha_test + &__GLEW_QCOM_alpha_test, +#endif +#ifdef GL_QCOM_binning_control + &__GLEW_QCOM_binning_control, +#endif +#ifdef GL_QCOM_driver_control + &__GLEW_QCOM_driver_control, +#endif +#ifdef GL_QCOM_extended_get + &__GLEW_QCOM_extended_get, +#endif +#ifdef GL_QCOM_extended_get2 + &__GLEW_QCOM_extended_get2, +#endif +#ifdef GL_QCOM_framebuffer_foveated + &__GLEW_QCOM_framebuffer_foveated, +#endif +#ifdef GL_QCOM_perfmon_global_mode + &__GLEW_QCOM_perfmon_global_mode, +#endif +#ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent + &__GLEW_QCOM_shader_framebuffer_fetch_noncoherent, +#endif +#ifdef GL_QCOM_tiled_rendering + &__GLEW_QCOM_tiled_rendering, +#endif +#ifdef GL_QCOM_writeonly_rendering + &__GLEW_QCOM_writeonly_rendering, +#endif +#ifdef GL_REGAL_ES1_0_compatibility + &__GLEW_REGAL_ES1_0_compatibility, +#endif +#ifdef GL_REGAL_ES1_1_compatibility + &__GLEW_REGAL_ES1_1_compatibility, +#endif +#ifdef GL_REGAL_enable + &__GLEW_REGAL_enable, +#endif +#ifdef GL_REGAL_error_string + &__GLEW_REGAL_error_string, +#endif +#ifdef GL_REGAL_extension_query + &__GLEW_REGAL_extension_query, +#endif +#ifdef GL_REGAL_log + &__GLEW_REGAL_log, +#endif +#ifdef GL_REGAL_proc_address + &__GLEW_REGAL_proc_address, +#endif +#ifdef GL_REND_screen_coordinates + &__GLEW_REND_screen_coordinates, +#endif +#ifdef GL_S3_s3tc + &__GLEW_S3_s3tc, +#endif +#ifdef GL_SGIS_clip_band_hint + &__GLEW_SGIS_clip_band_hint, +#endif +#ifdef GL_SGIS_color_range + &__GLEW_SGIS_color_range, +#endif +#ifdef GL_SGIS_detail_texture + &__GLEW_SGIS_detail_texture, +#endif +#ifdef GL_SGIS_fog_function + &__GLEW_SGIS_fog_function, +#endif +#ifdef GL_SGIS_generate_mipmap + &__GLEW_SGIS_generate_mipmap, +#endif +#ifdef GL_SGIS_line_texgen + &__GLEW_SGIS_line_texgen, +#endif +#ifdef GL_SGIS_multisample + &__GLEW_SGIS_multisample, +#endif +#ifdef GL_SGIS_multitexture + &__GLEW_SGIS_multitexture, +#endif +#ifdef GL_SGIS_pixel_texture + &__GLEW_SGIS_pixel_texture, +#endif +#ifdef GL_SGIS_point_line_texgen + &__GLEW_SGIS_point_line_texgen, +#endif +#ifdef GL_SGIS_shared_multisample + &__GLEW_SGIS_shared_multisample, +#endif +#ifdef GL_SGIS_sharpen_texture + &__GLEW_SGIS_sharpen_texture, +#endif +#ifdef GL_SGIS_texture4D + &__GLEW_SGIS_texture4D, +#endif +#ifdef GL_SGIS_texture_border_clamp + &__GLEW_SGIS_texture_border_clamp, +#endif +#ifdef GL_SGIS_texture_edge_clamp + &__GLEW_SGIS_texture_edge_clamp, +#endif +#ifdef GL_SGIS_texture_filter4 + &__GLEW_SGIS_texture_filter4, +#endif +#ifdef GL_SGIS_texture_lod + &__GLEW_SGIS_texture_lod, +#endif +#ifdef GL_SGIS_texture_select + &__GLEW_SGIS_texture_select, +#endif +#ifdef GL_SGIX_async + &__GLEW_SGIX_async, +#endif +#ifdef GL_SGIX_async_histogram + &__GLEW_SGIX_async_histogram, +#endif +#ifdef GL_SGIX_async_pixel + &__GLEW_SGIX_async_pixel, +#endif +#ifdef GL_SGIX_bali_g_instruments + &__GLEW_SGIX_bali_g_instruments, +#endif +#ifdef GL_SGIX_bali_r_instruments + &__GLEW_SGIX_bali_r_instruments, +#endif +#ifdef GL_SGIX_bali_timer_instruments + &__GLEW_SGIX_bali_timer_instruments, +#endif +#ifdef GL_SGIX_blend_alpha_minmax + &__GLEW_SGIX_blend_alpha_minmax, +#endif +#ifdef GL_SGIX_blend_cadd + &__GLEW_SGIX_blend_cadd, +#endif +#ifdef GL_SGIX_blend_cmultiply + &__GLEW_SGIX_blend_cmultiply, +#endif +#ifdef GL_SGIX_calligraphic_fragment + &__GLEW_SGIX_calligraphic_fragment, +#endif +#ifdef GL_SGIX_clipmap + &__GLEW_SGIX_clipmap, +#endif +#ifdef GL_SGIX_color_matrix_accuracy + &__GLEW_SGIX_color_matrix_accuracy, +#endif +#ifdef GL_SGIX_color_table_index_mode + &__GLEW_SGIX_color_table_index_mode, +#endif +#ifdef GL_SGIX_complex_polar + &__GLEW_SGIX_complex_polar, +#endif +#ifdef GL_SGIX_convolution_accuracy + &__GLEW_SGIX_convolution_accuracy, +#endif +#ifdef GL_SGIX_cube_map + &__GLEW_SGIX_cube_map, +#endif +#ifdef GL_SGIX_cylinder_texgen + &__GLEW_SGIX_cylinder_texgen, +#endif +#ifdef GL_SGIX_datapipe + &__GLEW_SGIX_datapipe, +#endif +#ifdef GL_SGIX_decimation + &__GLEW_SGIX_decimation, +#endif +#ifdef GL_SGIX_depth_pass_instrument + &__GLEW_SGIX_depth_pass_instrument, +#endif +#ifdef GL_SGIX_depth_texture + &__GLEW_SGIX_depth_texture, +#endif +#ifdef GL_SGIX_dvc + &__GLEW_SGIX_dvc, +#endif +#ifdef GL_SGIX_flush_raster + &__GLEW_SGIX_flush_raster, +#endif +#ifdef GL_SGIX_fog_blend + &__GLEW_SGIX_fog_blend, +#endif +#ifdef GL_SGIX_fog_factor_to_alpha + &__GLEW_SGIX_fog_factor_to_alpha, +#endif +#ifdef GL_SGIX_fog_layers + &__GLEW_SGIX_fog_layers, +#endif +#ifdef GL_SGIX_fog_offset + &__GLEW_SGIX_fog_offset, +#endif +#ifdef GL_SGIX_fog_patchy + &__GLEW_SGIX_fog_patchy, +#endif +#ifdef GL_SGIX_fog_scale + &__GLEW_SGIX_fog_scale, +#endif +#ifdef GL_SGIX_fog_texture + &__GLEW_SGIX_fog_texture, +#endif +#ifdef GL_SGIX_fragment_lighting_space + &__GLEW_SGIX_fragment_lighting_space, +#endif +#ifdef GL_SGIX_fragment_specular_lighting + &__GLEW_SGIX_fragment_specular_lighting, +#endif +#ifdef GL_SGIX_fragments_instrument + &__GLEW_SGIX_fragments_instrument, +#endif +#ifdef GL_SGIX_framezoom + &__GLEW_SGIX_framezoom, +#endif +#ifdef GL_SGIX_icc_texture + &__GLEW_SGIX_icc_texture, +#endif +#ifdef GL_SGIX_igloo_interface + &__GLEW_SGIX_igloo_interface, +#endif +#ifdef GL_SGIX_image_compression + &__GLEW_SGIX_image_compression, +#endif +#ifdef GL_SGIX_impact_pixel_texture + &__GLEW_SGIX_impact_pixel_texture, +#endif +#ifdef GL_SGIX_instrument_error + &__GLEW_SGIX_instrument_error, +#endif +#ifdef GL_SGIX_interlace + &__GLEW_SGIX_interlace, +#endif +#ifdef GL_SGIX_ir_instrument1 + &__GLEW_SGIX_ir_instrument1, +#endif +#ifdef GL_SGIX_line_quality_hint + &__GLEW_SGIX_line_quality_hint, +#endif +#ifdef GL_SGIX_list_priority + &__GLEW_SGIX_list_priority, +#endif +#ifdef GL_SGIX_mpeg1 + &__GLEW_SGIX_mpeg1, +#endif +#ifdef GL_SGIX_mpeg2 + &__GLEW_SGIX_mpeg2, +#endif +#ifdef GL_SGIX_nonlinear_lighting_pervertex + &__GLEW_SGIX_nonlinear_lighting_pervertex, +#endif +#ifdef GL_SGIX_nurbs_eval + &__GLEW_SGIX_nurbs_eval, +#endif +#ifdef GL_SGIX_occlusion_instrument + &__GLEW_SGIX_occlusion_instrument, +#endif +#ifdef GL_SGIX_packed_6bytes + &__GLEW_SGIX_packed_6bytes, +#endif +#ifdef GL_SGIX_pixel_texture + &__GLEW_SGIX_pixel_texture, +#endif +#ifdef GL_SGIX_pixel_texture_bits + &__GLEW_SGIX_pixel_texture_bits, +#endif +#ifdef GL_SGIX_pixel_texture_lod + &__GLEW_SGIX_pixel_texture_lod, +#endif +#ifdef GL_SGIX_pixel_tiles + &__GLEW_SGIX_pixel_tiles, +#endif +#ifdef GL_SGIX_polynomial_ffd + &__GLEW_SGIX_polynomial_ffd, +#endif +#ifdef GL_SGIX_quad_mesh + &__GLEW_SGIX_quad_mesh, +#endif +#ifdef GL_SGIX_reference_plane + &__GLEW_SGIX_reference_plane, +#endif +#ifdef GL_SGIX_resample + &__GLEW_SGIX_resample, +#endif +#ifdef GL_SGIX_scalebias_hint + &__GLEW_SGIX_scalebias_hint, +#endif +#ifdef GL_SGIX_shadow + &__GLEW_SGIX_shadow, +#endif +#ifdef GL_SGIX_shadow_ambient + &__GLEW_SGIX_shadow_ambient, +#endif +#ifdef GL_SGIX_slim + &__GLEW_SGIX_slim, +#endif +#ifdef GL_SGIX_spotlight_cutoff + &__GLEW_SGIX_spotlight_cutoff, +#endif +#ifdef GL_SGIX_sprite + &__GLEW_SGIX_sprite, +#endif +#ifdef GL_SGIX_subdiv_patch + &__GLEW_SGIX_subdiv_patch, +#endif +#ifdef GL_SGIX_subsample + &__GLEW_SGIX_subsample, +#endif +#ifdef GL_SGIX_tag_sample_buffer + &__GLEW_SGIX_tag_sample_buffer, +#endif +#ifdef GL_SGIX_texture_add_env + &__GLEW_SGIX_texture_add_env, +#endif +#ifdef GL_SGIX_texture_coordinate_clamp + &__GLEW_SGIX_texture_coordinate_clamp, +#endif +#ifdef GL_SGIX_texture_lod_bias + &__GLEW_SGIX_texture_lod_bias, +#endif +#ifdef GL_SGIX_texture_mipmap_anisotropic + &__GLEW_SGIX_texture_mipmap_anisotropic, +#endif +#ifdef GL_SGIX_texture_multi_buffer + &__GLEW_SGIX_texture_multi_buffer, +#endif +#ifdef GL_SGIX_texture_phase + &__GLEW_SGIX_texture_phase, +#endif +#ifdef GL_SGIX_texture_range + &__GLEW_SGIX_texture_range, +#endif +#ifdef GL_SGIX_texture_scale_bias + &__GLEW_SGIX_texture_scale_bias, +#endif +#ifdef GL_SGIX_texture_supersample + &__GLEW_SGIX_texture_supersample, +#endif +#ifdef GL_SGIX_vector_ops + &__GLEW_SGIX_vector_ops, +#endif +#ifdef GL_SGIX_vertex_array_object + &__GLEW_SGIX_vertex_array_object, +#endif +#ifdef GL_SGIX_vertex_preclip + &__GLEW_SGIX_vertex_preclip, +#endif +#ifdef GL_SGIX_vertex_preclip_hint + &__GLEW_SGIX_vertex_preclip_hint, +#endif +#ifdef GL_SGIX_ycrcb + &__GLEW_SGIX_ycrcb, +#endif +#ifdef GL_SGIX_ycrcb_subsample + &__GLEW_SGIX_ycrcb_subsample, +#endif +#ifdef GL_SGIX_ycrcba + &__GLEW_SGIX_ycrcba, +#endif +#ifdef GL_SGI_color_matrix + &__GLEW_SGI_color_matrix, +#endif +#ifdef GL_SGI_color_table + &__GLEW_SGI_color_table, +#endif +#ifdef GL_SGI_complex + &__GLEW_SGI_complex, +#endif +#ifdef GL_SGI_complex_type + &__GLEW_SGI_complex_type, +#endif +#ifdef GL_SGI_fft + &__GLEW_SGI_fft, +#endif +#ifdef GL_SGI_texture_color_table + &__GLEW_SGI_texture_color_table, +#endif +#ifdef GL_SUNX_constant_data + &__GLEW_SUNX_constant_data, +#endif +#ifdef GL_SUN_convolution_border_modes + &__GLEW_SUN_convolution_border_modes, +#endif +#ifdef GL_SUN_global_alpha + &__GLEW_SUN_global_alpha, +#endif +#ifdef GL_SUN_mesh_array + &__GLEW_SUN_mesh_array, +#endif +#ifdef GL_SUN_read_video_pixels + &__GLEW_SUN_read_video_pixels, +#endif +#ifdef GL_SUN_slice_accum + &__GLEW_SUN_slice_accum, +#endif +#ifdef GL_SUN_triangle_list + &__GLEW_SUN_triangle_list, +#endif +#ifdef GL_SUN_vertex + &__GLEW_SUN_vertex, +#endif +#ifdef GL_WIN_phong_shading + &__GLEW_WIN_phong_shading, +#endif +#ifdef GL_WIN_scene_markerXXX + &__GLEW_WIN_scene_markerXXX, +#endif +#ifdef GL_WIN_specular_fog + &__GLEW_WIN_specular_fog, +#endif +#ifdef GL_WIN_swap_hint + &__GLEW_WIN_swap_hint, +#endif + NULL +}; +static GLboolean _glewInit_GL_VERSION_1_2 (); +static GLboolean _glewInit_GL_VERSION_1_3 (); +static GLboolean _glewInit_GL_VERSION_1_4 (); +static GLboolean _glewInit_GL_VERSION_1_5 (); +static GLboolean _glewInit_GL_VERSION_2_0 (); +static GLboolean _glewInit_GL_VERSION_2_1 (); +static GLboolean _glewInit_GL_VERSION_3_0 (); +static GLboolean _glewInit_GL_VERSION_3_1 (); +static GLboolean _glewInit_GL_VERSION_3_2 (); +static GLboolean _glewInit_GL_VERSION_3_3 (); +static GLboolean _glewInit_GL_VERSION_4_0 (); +static GLboolean _glewInit_GL_VERSION_4_5 (); +static GLboolean _glewInit_GL_VERSION_4_6 (); +static GLboolean _glewInit_GL_3DFX_tbuffer (); +static GLboolean _glewInit_GL_AMD_debug_output (); +static GLboolean _glewInit_GL_AMD_draw_buffers_blend (); +static GLboolean _glewInit_GL_AMD_framebuffer_sample_positions (); +static GLboolean _glewInit_GL_AMD_interleaved_elements (); +static GLboolean _glewInit_GL_AMD_multi_draw_indirect (); +static GLboolean _glewInit_GL_AMD_name_gen_delete (); +static GLboolean _glewInit_GL_AMD_occlusion_query_event (); +static GLboolean _glewInit_GL_AMD_performance_monitor (); +static GLboolean _glewInit_GL_AMD_sample_positions (); +static GLboolean _glewInit_GL_AMD_sparse_texture (); +static GLboolean _glewInit_GL_AMD_stencil_operation_extended (); +static GLboolean _glewInit_GL_AMD_vertex_shader_tessellator (); +static GLboolean _glewInit_GL_ANGLE_framebuffer_blit (); +static GLboolean _glewInit_GL_ANGLE_framebuffer_multisample (); +static GLboolean _glewInit_GL_ANGLE_instanced_arrays (); +static GLboolean _glewInit_GL_ANGLE_timer_query (); +static GLboolean _glewInit_GL_ANGLE_translated_shader_source (); +static GLboolean _glewInit_GL_APPLE_copy_texture_levels (); +static GLboolean _glewInit_GL_APPLE_element_array (); +static GLboolean _glewInit_GL_APPLE_fence (); +static GLboolean _glewInit_GL_APPLE_flush_buffer_range (); +static GLboolean _glewInit_GL_APPLE_framebuffer_multisample (); +static GLboolean _glewInit_GL_APPLE_object_purgeable (); +static GLboolean _glewInit_GL_APPLE_sync (); +static GLboolean _glewInit_GL_APPLE_texture_range (); +static GLboolean _glewInit_GL_APPLE_vertex_array_object (); +static GLboolean _glewInit_GL_APPLE_vertex_array_range (); +static GLboolean _glewInit_GL_APPLE_vertex_program_evaluators (); +static GLboolean _glewInit_GL_ARB_ES2_compatibility (); +static GLboolean _glewInit_GL_ARB_ES3_1_compatibility (); +static GLboolean _glewInit_GL_ARB_ES3_2_compatibility (); +static GLboolean _glewInit_GL_ARB_base_instance (); +static GLboolean _glewInit_GL_ARB_bindless_texture (); +static GLboolean _glewInit_GL_ARB_blend_func_extended (); +static GLboolean _glewInit_GL_ARB_buffer_storage (); +static GLboolean _glewInit_GL_ARB_cl_event (); +static GLboolean _glewInit_GL_ARB_clear_buffer_object (); +static GLboolean _glewInit_GL_ARB_clear_texture (); +static GLboolean _glewInit_GL_ARB_clip_control (); +static GLboolean _glewInit_GL_ARB_color_buffer_float (); +static GLboolean _glewInit_GL_ARB_compute_shader (); +static GLboolean _glewInit_GL_ARB_compute_variable_group_size (); +static GLboolean _glewInit_GL_ARB_copy_buffer (); +static GLboolean _glewInit_GL_ARB_copy_image (); +static GLboolean _glewInit_GL_ARB_debug_output (); +static GLboolean _glewInit_GL_ARB_direct_state_access (); +static GLboolean _glewInit_GL_ARB_draw_buffers (); +static GLboolean _glewInit_GL_ARB_draw_buffers_blend (); +static GLboolean _glewInit_GL_ARB_draw_elements_base_vertex (); +static GLboolean _glewInit_GL_ARB_draw_indirect (); +static GLboolean _glewInit_GL_ARB_framebuffer_no_attachments (); +static GLboolean _glewInit_GL_ARB_framebuffer_object (); +static GLboolean _glewInit_GL_ARB_geometry_shader4 (); +static GLboolean _glewInit_GL_ARB_get_program_binary (); +static GLboolean _glewInit_GL_ARB_get_texture_sub_image (); +static GLboolean _glewInit_GL_ARB_gl_spirv (); +static GLboolean _glewInit_GL_ARB_gpu_shader_fp64 (); +static GLboolean _glewInit_GL_ARB_gpu_shader_int64 (); +static GLboolean _glewInit_GL_ARB_imaging (); +static GLboolean _glewInit_GL_ARB_indirect_parameters (); +static GLboolean _glewInit_GL_ARB_instanced_arrays (); +static GLboolean _glewInit_GL_ARB_internalformat_query (); +static GLboolean _glewInit_GL_ARB_internalformat_query2 (); +static GLboolean _glewInit_GL_ARB_invalidate_subdata (); +static GLboolean _glewInit_GL_ARB_map_buffer_range (); +static GLboolean _glewInit_GL_ARB_matrix_palette (); +static GLboolean _glewInit_GL_ARB_multi_bind (); +static GLboolean _glewInit_GL_ARB_multi_draw_indirect (); +static GLboolean _glewInit_GL_ARB_multisample (); +static GLboolean _glewInit_GL_ARB_multitexture (); +static GLboolean _glewInit_GL_ARB_occlusion_query (); +static GLboolean _glewInit_GL_ARB_parallel_shader_compile (); +static GLboolean _glewInit_GL_ARB_point_parameters (); +static GLboolean _glewInit_GL_ARB_polygon_offset_clamp (); +static GLboolean _glewInit_GL_ARB_program_interface_query (); +static GLboolean _glewInit_GL_ARB_provoking_vertex (); +static GLboolean _glewInit_GL_ARB_robustness (); +static GLboolean _glewInit_GL_ARB_sample_locations (); +static GLboolean _glewInit_GL_ARB_sample_shading (); +static GLboolean _glewInit_GL_ARB_sampler_objects (); +static GLboolean _glewInit_GL_ARB_separate_shader_objects (); +static GLboolean _glewInit_GL_ARB_shader_atomic_counters (); +static GLboolean _glewInit_GL_ARB_shader_image_load_store (); +static GLboolean _glewInit_GL_ARB_shader_objects (); +static GLboolean _glewInit_GL_ARB_shader_storage_buffer_object (); +static GLboolean _glewInit_GL_ARB_shader_subroutine (); +static GLboolean _glewInit_GL_ARB_shading_language_include (); +static GLboolean _glewInit_GL_ARB_sparse_buffer (); +static GLboolean _glewInit_GL_ARB_sparse_texture (); +static GLboolean _glewInit_GL_ARB_sync (); +static GLboolean _glewInit_GL_ARB_tessellation_shader (); +static GLboolean _glewInit_GL_ARB_texture_barrier (); +static GLboolean _glewInit_GL_ARB_texture_buffer_object (); +static GLboolean _glewInit_GL_ARB_texture_buffer_range (); +static GLboolean _glewInit_GL_ARB_texture_compression (); +static GLboolean _glewInit_GL_ARB_texture_multisample (); +static GLboolean _glewInit_GL_ARB_texture_storage (); +static GLboolean _glewInit_GL_ARB_texture_storage_multisample (); +static GLboolean _glewInit_GL_ARB_texture_view (); +static GLboolean _glewInit_GL_ARB_timer_query (); +static GLboolean _glewInit_GL_ARB_transform_feedback2 (); +static GLboolean _glewInit_GL_ARB_transform_feedback3 (); +static GLboolean _glewInit_GL_ARB_transform_feedback_instanced (); +static GLboolean _glewInit_GL_ARB_transpose_matrix (); +static GLboolean _glewInit_GL_ARB_uniform_buffer_object (); +static GLboolean _glewInit_GL_ARB_vertex_array_object (); +static GLboolean _glewInit_GL_ARB_vertex_attrib_64bit (); +static GLboolean _glewInit_GL_ARB_vertex_attrib_binding (); +static GLboolean _glewInit_GL_ARB_vertex_blend (); +static GLboolean _glewInit_GL_ARB_vertex_buffer_object (); +static GLboolean _glewInit_GL_ARB_vertex_program (); +static GLboolean _glewInit_GL_ARB_vertex_shader (); +static GLboolean _glewInit_GL_ARB_vertex_type_2_10_10_10_rev (); +static GLboolean _glewInit_GL_ARB_viewport_array (); +static GLboolean _glewInit_GL_ARB_window_pos (); +static GLboolean _glewInit_GL_ATI_draw_buffers (); +static GLboolean _glewInit_GL_ATI_element_array (); +static GLboolean _glewInit_GL_ATI_envmap_bumpmap (); +static GLboolean _glewInit_GL_ATI_fragment_shader (); +static GLboolean _glewInit_GL_ATI_map_object_buffer (); +static GLboolean _glewInit_GL_ATI_pn_triangles (); +static GLboolean _glewInit_GL_ATI_separate_stencil (); +static GLboolean _glewInit_GL_ATI_vertex_array_object (); +static GLboolean _glewInit_GL_ATI_vertex_attrib_array_object (); +static GLboolean _glewInit_GL_ATI_vertex_streams (); +static GLboolean _glewInit_GL_EXT_base_instance (); +static GLboolean _glewInit_GL_EXT_bindable_uniform (); +static GLboolean _glewInit_GL_EXT_blend_color (); +static GLboolean _glewInit_GL_EXT_blend_equation_separate (); +static GLboolean _glewInit_GL_EXT_blend_func_extended (); +static GLboolean _glewInit_GL_EXT_blend_func_separate (); +static GLboolean _glewInit_GL_EXT_blend_minmax (); +static GLboolean _glewInit_GL_EXT_buffer_storage (); +static GLboolean _glewInit_GL_EXT_clear_texture (); +static GLboolean _glewInit_GL_EXT_color_subtable (); +static GLboolean _glewInit_GL_EXT_compiled_vertex_array (); +static GLboolean _glewInit_GL_EXT_convolution (); +static GLboolean _glewInit_GL_EXT_coordinate_frame (); +static GLboolean _glewInit_GL_EXT_copy_image (); +static GLboolean _glewInit_GL_EXT_copy_texture (); +static GLboolean _glewInit_GL_EXT_cull_vertex (); +static GLboolean _glewInit_GL_EXT_debug_label (); +static GLboolean _glewInit_GL_EXT_debug_marker (); +static GLboolean _glewInit_GL_EXT_depth_bounds_test (); +static GLboolean _glewInit_GL_EXT_direct_state_access (); +static GLboolean _glewInit_GL_EXT_discard_framebuffer (); +static GLboolean _glewInit_GL_EXT_draw_buffers (); +static GLboolean _glewInit_GL_EXT_draw_buffers2 (); +static GLboolean _glewInit_GL_EXT_draw_buffers_indexed (); +static GLboolean _glewInit_GL_EXT_draw_elements_base_vertex (); +static GLboolean _glewInit_GL_EXT_draw_instanced (); +static GLboolean _glewInit_GL_EXT_draw_range_elements (); +static GLboolean _glewInit_GL_EXT_external_buffer (); +static GLboolean _glewInit_GL_EXT_fog_coord (); +static GLboolean _glewInit_GL_EXT_fragment_lighting (); +static GLboolean _glewInit_GL_EXT_framebuffer_blit (); +static GLboolean _glewInit_GL_EXT_framebuffer_multisample (); +static GLboolean _glewInit_GL_EXT_framebuffer_object (); +static GLboolean _glewInit_GL_EXT_geometry_shader4 (); +static GLboolean _glewInit_GL_EXT_gpu_program_parameters (); +static GLboolean _glewInit_GL_EXT_gpu_shader4 (); +static GLboolean _glewInit_GL_EXT_histogram (); +static GLboolean _glewInit_GL_EXT_index_func (); +static GLboolean _glewInit_GL_EXT_index_material (); +static GLboolean _glewInit_GL_EXT_instanced_arrays (); +static GLboolean _glewInit_GL_EXT_light_texture (); +static GLboolean _glewInit_GL_EXT_map_buffer_range (); +static GLboolean _glewInit_GL_EXT_memory_object (); +static GLboolean _glewInit_GL_EXT_memory_object_fd (); +static GLboolean _glewInit_GL_EXT_memory_object_win32 (); +static GLboolean _glewInit_GL_EXT_multi_draw_arrays (); +static GLboolean _glewInit_GL_EXT_multi_draw_indirect (); +static GLboolean _glewInit_GL_EXT_multisample (); +static GLboolean _glewInit_GL_EXT_multisampled_render_to_texture (); +static GLboolean _glewInit_GL_EXT_multiview_draw_buffers (); +static GLboolean _glewInit_GL_EXT_paletted_texture (); +static GLboolean _glewInit_GL_EXT_pixel_transform (); +static GLboolean _glewInit_GL_EXT_point_parameters (); +static GLboolean _glewInit_GL_EXT_polygon_offset (); +static GLboolean _glewInit_GL_EXT_polygon_offset_clamp (); +static GLboolean _glewInit_GL_EXT_provoking_vertex (); +static GLboolean _glewInit_GL_EXT_raster_multisample (); +static GLboolean _glewInit_GL_EXT_scene_marker (); +static GLboolean _glewInit_GL_EXT_secondary_color (); +static GLboolean _glewInit_GL_EXT_semaphore (); +static GLboolean _glewInit_GL_EXT_semaphore_fd (); +static GLboolean _glewInit_GL_EXT_semaphore_win32 (); +static GLboolean _glewInit_GL_EXT_separate_shader_objects (); +static GLboolean _glewInit_GL_EXT_shader_image_load_store (); +static GLboolean _glewInit_GL_EXT_shader_pixel_local_storage2 (); +static GLboolean _glewInit_GL_EXT_sparse_texture (); +static GLboolean _glewInit_GL_EXT_stencil_two_side (); +static GLboolean _glewInit_GL_EXT_subtexture (); +static GLboolean _glewInit_GL_EXT_texture3D (); +static GLboolean _glewInit_GL_EXT_texture_array (); +static GLboolean _glewInit_GL_EXT_texture_buffer_object (); +static GLboolean _glewInit_GL_EXT_texture_integer (); +static GLboolean _glewInit_GL_EXT_texture_object (); +static GLboolean _glewInit_GL_EXT_texture_perturb_normal (); +static GLboolean _glewInit_GL_EXT_texture_storage (); +static GLboolean _glewInit_GL_EXT_texture_view (); +static GLboolean _glewInit_GL_EXT_timer_query (); +static GLboolean _glewInit_GL_EXT_transform_feedback (); +static GLboolean _glewInit_GL_EXT_vertex_array (); +static GLboolean _glewInit_GL_EXT_vertex_array_setXXX (); +static GLboolean _glewInit_GL_EXT_vertex_attrib_64bit (); +static GLboolean _glewInit_GL_EXT_vertex_shader (); +static GLboolean _glewInit_GL_EXT_vertex_weighting (); +static GLboolean _glewInit_GL_EXT_win32_keyed_mutex (); +static GLboolean _glewInit_GL_EXT_window_rectangles (); +static GLboolean _glewInit_GL_EXT_x11_sync_object (); +static GLboolean _glewInit_GL_GREMEDY_frame_terminator (); +static GLboolean _glewInit_GL_GREMEDY_string_marker (); +static GLboolean _glewInit_GL_HP_image_transform (); +static GLboolean _glewInit_GL_IBM_multimode_draw_arrays (); +static GLboolean _glewInit_GL_IBM_vertex_array_lists (); +static GLboolean _glewInit_GL_INTEL_map_texture (); +static GLboolean _glewInit_GL_INTEL_parallel_arrays (); +static GLboolean _glewInit_GL_INTEL_performance_query (); +static GLboolean _glewInit_GL_INTEL_texture_scissor (); +static GLboolean _glewInit_GL_KHR_blend_equation_advanced (); +static GLboolean _glewInit_GL_KHR_debug (); +static GLboolean _glewInit_GL_KHR_parallel_shader_compile (); +static GLboolean _glewInit_GL_KHR_robustness (); +static GLboolean _glewInit_GL_KTX_buffer_region (); +static GLboolean _glewInit_GL_MESA_resize_buffers (); +static GLboolean _glewInit_GL_MESA_window_pos (); +static GLboolean _glewInit_GL_NVX_conditional_render (); +static GLboolean _glewInit_GL_NVX_linked_gpu_multicast (); +static GLboolean _glewInit_GL_NV_3dvision_settings (); +static GLboolean _glewInit_GL_NV_bindless_multi_draw_indirect (); +static GLboolean _glewInit_GL_NV_bindless_multi_draw_indirect_count (); +static GLboolean _glewInit_GL_NV_bindless_texture (); +static GLboolean _glewInit_GL_NV_blend_equation_advanced (); +static GLboolean _glewInit_GL_NV_clip_space_w_scaling (); +static GLboolean _glewInit_GL_NV_command_list (); +static GLboolean _glewInit_GL_NV_conditional_render (); +static GLboolean _glewInit_GL_NV_conservative_raster (); +static GLboolean _glewInit_GL_NV_conservative_raster_dilate (); +static GLboolean _glewInit_GL_NV_conservative_raster_pre_snap_triangles (); +static GLboolean _glewInit_GL_NV_copy_buffer (); +static GLboolean _glewInit_GL_NV_copy_image (); +static GLboolean _glewInit_GL_NV_depth_buffer_float (); +static GLboolean _glewInit_GL_NV_draw_buffers (); +static GLboolean _glewInit_GL_NV_draw_instanced (); +static GLboolean _glewInit_GL_NV_draw_texture (); +static GLboolean _glewInit_GL_NV_draw_vulkan_image (); +static GLboolean _glewInit_GL_NV_evaluators (); +static GLboolean _glewInit_GL_NV_explicit_multisample (); +static GLboolean _glewInit_GL_NV_fence (); +static GLboolean _glewInit_GL_NV_fragment_coverage_to_color (); +static GLboolean _glewInit_GL_NV_fragment_program (); +static GLboolean _glewInit_GL_NV_framebuffer_blit (); +static GLboolean _glewInit_GL_NV_framebuffer_multisample (); +static GLboolean _glewInit_GL_NV_framebuffer_multisample_coverage (); +static GLboolean _glewInit_GL_NV_geometry_program4 (); +static GLboolean _glewInit_GL_NV_gpu_multicast (); +static GLboolean _glewInit_GL_NV_gpu_program4 (); +static GLboolean _glewInit_GL_NV_gpu_shader5 (); +static GLboolean _glewInit_GL_NV_half_float (); +static GLboolean _glewInit_GL_NV_instanced_arrays (); +static GLboolean _glewInit_GL_NV_internalformat_sample_query (); +static GLboolean _glewInit_GL_NV_non_square_matrices (); +static GLboolean _glewInit_GL_NV_occlusion_query (); +static GLboolean _glewInit_GL_NV_parameter_buffer_object (); +static GLboolean _glewInit_GL_NV_path_rendering (); +static GLboolean _glewInit_GL_NV_pixel_data_range (); +static GLboolean _glewInit_GL_NV_point_sprite (); +static GLboolean _glewInit_GL_NV_polygon_mode (); +static GLboolean _glewInit_GL_NV_present_video (); +static GLboolean _glewInit_GL_NV_primitive_restart (); +static GLboolean _glewInit_GL_NV_register_combiners (); +static GLboolean _glewInit_GL_NV_register_combiners2 (); +static GLboolean _glewInit_GL_NV_sample_locations (); +static GLboolean _glewInit_GL_NV_shader_buffer_load (); +static GLboolean _glewInit_GL_NV_texture_array (); +static GLboolean _glewInit_GL_NV_texture_barrier (); +static GLboolean _glewInit_GL_NV_texture_multisample (); +static GLboolean _glewInit_GL_NV_transform_feedback (); +static GLboolean _glewInit_GL_NV_transform_feedback2 (); +static GLboolean _glewInit_GL_NV_vdpau_interop (); +static GLboolean _glewInit_GL_NV_vertex_array_range (); +static GLboolean _glewInit_GL_NV_vertex_attrib_integer_64bit (); +static GLboolean _glewInit_GL_NV_vertex_buffer_unified_memory (); +static GLboolean _glewInit_GL_NV_vertex_program (); +static GLboolean _glewInit_GL_NV_video_capture (); +static GLboolean _glewInit_GL_NV_viewport_array (); +static GLboolean _glewInit_GL_NV_viewport_swizzle (); +static GLboolean _glewInit_GL_OVR_multiview (); +static GLboolean _glewInit_GL_OVR_multiview_multisampled_render_to_texture (); +static GLboolean _glewInit_GL_QCOM_alpha_test (); +static GLboolean _glewInit_GL_QCOM_driver_control (); +static GLboolean _glewInit_GL_QCOM_extended_get (); +static GLboolean _glewInit_GL_QCOM_extended_get2 (); +static GLboolean _glewInit_GL_QCOM_framebuffer_foveated (); +static GLboolean _glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent (); +static GLboolean _glewInit_GL_QCOM_tiled_rendering (); +static GLboolean _glewInit_GL_REGAL_ES1_0_compatibility (); +static GLboolean _glewInit_GL_REGAL_ES1_1_compatibility (); +static GLboolean _glewInit_GL_REGAL_error_string (); +static GLboolean _glewInit_GL_REGAL_extension_query (); +static GLboolean _glewInit_GL_REGAL_log (); +static GLboolean _glewInit_GL_REGAL_proc_address (); +static GLboolean _glewInit_GL_SGIS_detail_texture (); +static GLboolean _glewInit_GL_SGIS_fog_function (); +static GLboolean _glewInit_GL_SGIS_multisample (); +static GLboolean _glewInit_GL_SGIS_multitexture (); +static GLboolean _glewInit_GL_SGIS_shared_multisample (); +static GLboolean _glewInit_GL_SGIS_sharpen_texture (); +static GLboolean _glewInit_GL_SGIS_texture4D (); +static GLboolean _glewInit_GL_SGIS_texture_filter4 (); +static GLboolean _glewInit_GL_SGIX_async (); +static GLboolean _glewInit_GL_SGIX_datapipe (); +static GLboolean _glewInit_GL_SGIX_flush_raster (); +static GLboolean _glewInit_GL_SGIX_fog_layers (); +static GLboolean _glewInit_GL_SGIX_fog_texture (); +static GLboolean _glewInit_GL_SGIX_fragment_specular_lighting (); +static GLboolean _glewInit_GL_SGIX_framezoom (); +static GLboolean _glewInit_GL_SGIX_igloo_interface (); +static GLboolean _glewInit_GL_SGIX_mpeg1 (); +static GLboolean _glewInit_GL_SGIX_nonlinear_lighting_pervertex (); +static GLboolean _glewInit_GL_SGIX_pixel_texture (); +static GLboolean _glewInit_GL_SGIX_polynomial_ffd (); +static GLboolean _glewInit_GL_SGIX_quad_mesh (); +static GLboolean _glewInit_GL_SGIX_reference_plane (); +static GLboolean _glewInit_GL_SGIX_sprite (); +static GLboolean _glewInit_GL_SGIX_tag_sample_buffer (); +static GLboolean _glewInit_GL_SGIX_vector_ops (); +static GLboolean _glewInit_GL_SGIX_vertex_array_object (); +static GLboolean _glewInit_GL_SGI_color_table (); +static GLboolean _glewInit_GL_SGI_fft (); +static GLboolean _glewInit_GL_SUNX_constant_data (); +static GLboolean _glewInit_GL_SUN_global_alpha (); +static GLboolean _glewInit_GL_SUN_read_video_pixels (); +static GLboolean _glewInit_GL_SUN_triangle_list (); +static GLboolean _glewInit_GL_SUN_vertex (); +static GLboolean _glewInit_GL_WIN_swap_hint (); + +#ifdef GL_VERSION_1_2 + +static GLboolean _glewInit_GL_VERSION_1_2 () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3D")) == NULL) || r; + r = ((glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElements")) == NULL) || r; + r = ((glTexImage3D = (PFNGLTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexImage3D")) == NULL) || r; + r = ((glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3D")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_1_2 */ + +#ifdef GL_VERSION_1_3 + +static GLboolean _glewInit_GL_VERSION_1_3 () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveTexture = (PFNGLACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glActiveTexture")) == NULL) || r; + r = ((glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTexture")) == NULL) || r; + r = ((glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1D")) == NULL) || r; + r = ((glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2D")) == NULL) || r; + r = ((glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3D")) == NULL) || r; + r = ((glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1D")) == NULL) || r; + r = ((glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2D")) == NULL) || r; + r = ((glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3D")) == NULL) || r; + r = ((glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImage")) == NULL) || r; + r = ((glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixd")) == NULL) || r; + r = ((glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixf")) == NULL) || r; + r = ((glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixd")) == NULL) || r; + r = ((glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixf")) == NULL) || r; + r = ((glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1d")) == NULL) || r; + r = ((glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dv")) == NULL) || r; + r = ((glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1f")) == NULL) || r; + r = ((glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fv")) == NULL) || r; + r = ((glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1i")) == NULL) || r; + r = ((glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iv")) == NULL) || r; + r = ((glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1s")) == NULL) || r; + r = ((glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sv")) == NULL) || r; + r = ((glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2d")) == NULL) || r; + r = ((glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dv")) == NULL) || r; + r = ((glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2f")) == NULL) || r; + r = ((glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fv")) == NULL) || r; + r = ((glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2i")) == NULL) || r; + r = ((glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iv")) == NULL) || r; + r = ((glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2s")) == NULL) || r; + r = ((glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sv")) == NULL) || r; + r = ((glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3d")) == NULL) || r; + r = ((glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dv")) == NULL) || r; + r = ((glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3f")) == NULL) || r; + r = ((glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fv")) == NULL) || r; + r = ((glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3i")) == NULL) || r; + r = ((glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iv")) == NULL) || r; + r = ((glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3s")) == NULL) || r; + r = ((glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sv")) == NULL) || r; + r = ((glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4d")) == NULL) || r; + r = ((glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dv")) == NULL) || r; + r = ((glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4f")) == NULL) || r; + r = ((glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fv")) == NULL) || r; + r = ((glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4i")) == NULL) || r; + r = ((glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iv")) == NULL) || r; + r = ((glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4s")) == NULL) || r; + r = ((glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sv")) == NULL) || r; + r = ((glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverage")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_1_3 */ + +#ifdef GL_VERSION_1_4 + +static GLboolean _glewInit_GL_VERSION_1_4 () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendColor = (PFNGLBLENDCOLORPROC)glewGetProcAddress((const GLubyte*)"glBlendColor")) == NULL) || r; + r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; + r = ((glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparate")) == NULL) || r; + r = ((glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointer")) == NULL) || r; + r = ((glFogCoordd = (PFNGLFOGCOORDDPROC)glewGetProcAddress((const GLubyte*)"glFogCoordd")) == NULL) || r; + r = ((glFogCoorddv = (PFNGLFOGCOORDDVPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddv")) == NULL) || r; + r = ((glFogCoordf = (PFNGLFOGCOORDFPROC)glewGetProcAddress((const GLubyte*)"glFogCoordf")) == NULL) || r; + r = ((glFogCoordfv = (PFNGLFOGCOORDFVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfv")) == NULL) || r; + r = ((glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArrays")) == NULL) || r; + r = ((glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElements")) == NULL) || r; + r = ((glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glPointParameterf")) == NULL) || r; + r = ((glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfv")) == NULL) || r; + r = ((glPointParameteri = (PFNGLPOINTPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glPointParameteri")) == NULL) || r; + r = ((glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriv")) == NULL) || r; + r = ((glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3b")) == NULL) || r; + r = ((glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bv")) == NULL) || r; + r = ((glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3d")) == NULL) || r; + r = ((glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dv")) == NULL) || r; + r = ((glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3f")) == NULL) || r; + r = ((glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fv")) == NULL) || r; + r = ((glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3i")) == NULL) || r; + r = ((glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iv")) == NULL) || r; + r = ((glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3s")) == NULL) || r; + r = ((glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sv")) == NULL) || r; + r = ((glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ub")) == NULL) || r; + r = ((glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubv")) == NULL) || r; + r = ((glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ui")) == NULL) || r; + r = ((glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiv")) == NULL) || r; + r = ((glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3us")) == NULL) || r; + r = ((glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usv")) == NULL) || r; + r = ((glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointer")) == NULL) || r; + r = ((glWindowPos2d = (PFNGLWINDOWPOS2DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2d")) == NULL) || r; + r = ((glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dv")) == NULL) || r; + r = ((glWindowPos2f = (PFNGLWINDOWPOS2FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2f")) == NULL) || r; + r = ((glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fv")) == NULL) || r; + r = ((glWindowPos2i = (PFNGLWINDOWPOS2IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2i")) == NULL) || r; + r = ((glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iv")) == NULL) || r; + r = ((glWindowPos2s = (PFNGLWINDOWPOS2SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2s")) == NULL) || r; + r = ((glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sv")) == NULL) || r; + r = ((glWindowPos3d = (PFNGLWINDOWPOS3DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3d")) == NULL) || r; + r = ((glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dv")) == NULL) || r; + r = ((glWindowPos3f = (PFNGLWINDOWPOS3FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3f")) == NULL) || r; + r = ((glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fv")) == NULL) || r; + r = ((glWindowPos3i = (PFNGLWINDOWPOS3IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3i")) == NULL) || r; + r = ((glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iv")) == NULL) || r; + r = ((glWindowPos3s = (PFNGLWINDOWPOS3SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3s")) == NULL) || r; + r = ((glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sv")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_1_4 */ + +#ifdef GL_VERSION_1_5 + +static GLboolean _glewInit_GL_VERSION_1_5 () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginQuery = (PFNGLBEGINQUERYPROC)glewGetProcAddress((const GLubyte*)"glBeginQuery")) == NULL) || r; + r = ((glBindBuffer = (PFNGLBINDBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindBuffer")) == NULL) || r; + r = ((glBufferData = (PFNGLBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferData")) == NULL) || r; + r = ((glBufferSubData = (PFNGLBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferSubData")) == NULL) || r; + r = ((glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffers")) == NULL) || r; + r = ((glDeleteQueries = (PFNGLDELETEQUERIESPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueries")) == NULL) || r; + r = ((glEndQuery = (PFNGLENDQUERYPROC)glewGetProcAddress((const GLubyte*)"glEndQuery")) == NULL) || r; + r = ((glGenBuffers = (PFNGLGENBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenBuffers")) == NULL) || r; + r = ((glGenQueries = (PFNGLGENQUERIESPROC)glewGetProcAddress((const GLubyte*)"glGenQueries")) == NULL) || r; + r = ((glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameteriv")) == NULL) || r; + r = ((glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointerv")) == NULL) || r; + r = ((glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubData")) == NULL) || r; + r = ((glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectiv")) == NULL) || r; + r = ((glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuiv")) == NULL) || r; + r = ((glGetQueryiv = (PFNGLGETQUERYIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryiv")) == NULL) || r; + r = ((glIsBuffer = (PFNGLISBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsBuffer")) == NULL) || r; + r = ((glIsQuery = (PFNGLISQUERYPROC)glewGetProcAddress((const GLubyte*)"glIsQuery")) == NULL) || r; + r = ((glMapBuffer = (PFNGLMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glMapBuffer")) == NULL) || r; + r = ((glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glUnmapBuffer")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_1_5 */ + +#ifdef GL_VERSION_2_0 + +static GLboolean _glewInit_GL_VERSION_2_0 () +{ + GLboolean r = GL_FALSE; + + r = ((glAttachShader = (PFNGLATTACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glAttachShader")) == NULL) || r; + r = ((glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocation")) == NULL) || r; + r = ((glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparate")) == NULL) || r; + r = ((glCompileShader = (PFNGLCOMPILESHADERPROC)glewGetProcAddress((const GLubyte*)"glCompileShader")) == NULL) || r; + r = ((glCreateProgram = (PFNGLCREATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glCreateProgram")) == NULL) || r; + r = ((glCreateShader = (PFNGLCREATESHADERPROC)glewGetProcAddress((const GLubyte*)"glCreateShader")) == NULL) || r; + r = ((glDeleteProgram = (PFNGLDELETEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgram")) == NULL) || r; + r = ((glDeleteShader = (PFNGLDELETESHADERPROC)glewGetProcAddress((const GLubyte*)"glDeleteShader")) == NULL) || r; + r = ((glDetachShader = (PFNGLDETACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glDetachShader")) == NULL) || r; + r = ((glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArray")) == NULL) || r; + r = ((glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffers")) == NULL) || r; + r = ((glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArray")) == NULL) || r; + r = ((glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttrib")) == NULL) || r; + r = ((glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniform")) == NULL) || r; + r = ((glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedShaders")) == NULL) || r; + r = ((glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocation")) == NULL) || r; + r = ((glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetProgramInfoLog")) == NULL) || r; + r = ((glGetProgramiv = (PFNGLGETPROGRAMIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramiv")) == NULL) || r; + r = ((glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetShaderInfoLog")) == NULL) || r; + r = ((glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSource")) == NULL) || r; + r = ((glGetShaderiv = (PFNGLGETSHADERIVPROC)glewGetProcAddress((const GLubyte*)"glGetShaderiv")) == NULL) || r; + r = ((glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocation")) == NULL) || r; + r = ((glGetUniformfv = (PFNGLGETUNIFORMFVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfv")) == NULL) || r; + r = ((glGetUniformiv = (PFNGLGETUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformiv")) == NULL) || r; + r = ((glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointerv")) == NULL) || r; + r = ((glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdv")) == NULL) || r; + r = ((glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfv")) == NULL) || r; + r = ((glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribiv")) == NULL) || r; + r = ((glIsProgram = (PFNGLISPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glIsProgram")) == NULL) || r; + r = ((glIsShader = (PFNGLISSHADERPROC)glewGetProcAddress((const GLubyte*)"glIsShader")) == NULL) || r; + r = ((glLinkProgram = (PFNGLLINKPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glLinkProgram")) == NULL) || r; + r = ((glShaderSource = (PFNGLSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glShaderSource")) == NULL) || r; + r = ((glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparate")) == NULL) || r; + r = ((glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilMaskSeparate")) == NULL) || r; + r = ((glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparate")) == NULL) || r; + r = ((glUniform1f = (PFNGLUNIFORM1FPROC)glewGetProcAddress((const GLubyte*)"glUniform1f")) == NULL) || r; + r = ((glUniform1fv = (PFNGLUNIFORM1FVPROC)glewGetProcAddress((const GLubyte*)"glUniform1fv")) == NULL) || r; + r = ((glUniform1i = (PFNGLUNIFORM1IPROC)glewGetProcAddress((const GLubyte*)"glUniform1i")) == NULL) || r; + r = ((glUniform1iv = (PFNGLUNIFORM1IVPROC)glewGetProcAddress((const GLubyte*)"glUniform1iv")) == NULL) || r; + r = ((glUniform2f = (PFNGLUNIFORM2FPROC)glewGetProcAddress((const GLubyte*)"glUniform2f")) == NULL) || r; + r = ((glUniform2fv = (PFNGLUNIFORM2FVPROC)glewGetProcAddress((const GLubyte*)"glUniform2fv")) == NULL) || r; + r = ((glUniform2i = (PFNGLUNIFORM2IPROC)glewGetProcAddress((const GLubyte*)"glUniform2i")) == NULL) || r; + r = ((glUniform2iv = (PFNGLUNIFORM2IVPROC)glewGetProcAddress((const GLubyte*)"glUniform2iv")) == NULL) || r; + r = ((glUniform3f = (PFNGLUNIFORM3FPROC)glewGetProcAddress((const GLubyte*)"glUniform3f")) == NULL) || r; + r = ((glUniform3fv = (PFNGLUNIFORM3FVPROC)glewGetProcAddress((const GLubyte*)"glUniform3fv")) == NULL) || r; + r = ((glUniform3i = (PFNGLUNIFORM3IPROC)glewGetProcAddress((const GLubyte*)"glUniform3i")) == NULL) || r; + r = ((glUniform3iv = (PFNGLUNIFORM3IVPROC)glewGetProcAddress((const GLubyte*)"glUniform3iv")) == NULL) || r; + r = ((glUniform4f = (PFNGLUNIFORM4FPROC)glewGetProcAddress((const GLubyte*)"glUniform4f")) == NULL) || r; + r = ((glUniform4fv = (PFNGLUNIFORM4FVPROC)glewGetProcAddress((const GLubyte*)"glUniform4fv")) == NULL) || r; + r = ((glUniform4i = (PFNGLUNIFORM4IPROC)glewGetProcAddress((const GLubyte*)"glUniform4i")) == NULL) || r; + r = ((glUniform4iv = (PFNGLUNIFORM4IVPROC)glewGetProcAddress((const GLubyte*)"glUniform4iv")) == NULL) || r; + r = ((glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fv")) == NULL) || r; + r = ((glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fv")) == NULL) || r; + r = ((glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fv")) == NULL) || r; + r = ((glUseProgram = (PFNGLUSEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glUseProgram")) == NULL) || r; + r = ((glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glValidateProgram")) == NULL) || r; + r = ((glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1d")) == NULL) || r; + r = ((glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dv")) == NULL) || r; + r = ((glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1f")) == NULL) || r; + r = ((glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fv")) == NULL) || r; + r = ((glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1s")) == NULL) || r; + r = ((glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sv")) == NULL) || r; + r = ((glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2d")) == NULL) || r; + r = ((glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dv")) == NULL) || r; + r = ((glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2f")) == NULL) || r; + r = ((glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fv")) == NULL) || r; + r = ((glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2s")) == NULL) || r; + r = ((glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sv")) == NULL) || r; + r = ((glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3d")) == NULL) || r; + r = ((glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dv")) == NULL) || r; + r = ((glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3f")) == NULL) || r; + r = ((glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fv")) == NULL) || r; + r = ((glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3s")) == NULL) || r; + r = ((glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sv")) == NULL) || r; + r = ((glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nbv")) == NULL) || r; + r = ((glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Niv")) == NULL) || r; + r = ((glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nsv")) == NULL) || r; + r = ((glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nub")) == NULL) || r; + r = ((glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nubv")) == NULL) || r; + r = ((glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nuiv")) == NULL) || r; + r = ((glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nusv")) == NULL) || r; + r = ((glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bv")) == NULL) || r; + r = ((glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4d")) == NULL) || r; + r = ((glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dv")) == NULL) || r; + r = ((glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4f")) == NULL) || r; + r = ((glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fv")) == NULL) || r; + r = ((glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4iv")) == NULL) || r; + r = ((glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4s")) == NULL) || r; + r = ((glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sv")) == NULL) || r; + r = ((glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubv")) == NULL) || r; + r = ((glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uiv")) == NULL) || r; + r = ((glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usv")) == NULL) || r; + r = ((glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointer")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_2_0 */ + +#ifdef GL_VERSION_2_1 + +static GLboolean _glewInit_GL_VERSION_2_1 () +{ + GLboolean r = GL_FALSE; + + r = ((glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3fv")) == NULL) || r; + r = ((glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4fv")) == NULL) || r; + r = ((glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2fv")) == NULL) || r; + r = ((glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4fv")) == NULL) || r; + r = ((glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2fv")) == NULL) || r; + r = ((glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3fv")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_2_1 */ + +#ifdef GL_VERSION_3_0 + +static GLboolean _glewInit_GL_VERSION_3_0 () +{ + GLboolean r = GL_FALSE; + + r = _glewInit_GL_ARB_framebuffer_object() || r; + r = _glewInit_GL_ARB_map_buffer_range() || r; + r = _glewInit_GL_ARB_uniform_buffer_object() || r; + r = _glewInit_GL_ARB_vertex_array_object() || r; + + r = ((glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRender")) == NULL) || r; + r = ((glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedback")) == NULL) || r; + r = ((glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocation")) == NULL) || r; + r = ((glClampColor = (PFNGLCLAMPCOLORPROC)glewGetProcAddress((const GLubyte*)"glClampColor")) == NULL) || r; + r = ((glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfi")) == NULL) || r; + r = ((glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfv")) == NULL) || r; + r = ((glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferiv")) == NULL) || r; + r = ((glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferuiv")) == NULL) || r; + r = ((glColorMaski = (PFNGLCOLORMASKIPROC)glewGetProcAddress((const GLubyte*)"glColorMaski")) == NULL) || r; + r = ((glDisablei = (PFNGLDISABLEIPROC)glewGetProcAddress((const GLubyte*)"glDisablei")) == NULL) || r; + r = ((glEnablei = (PFNGLENABLEIPROC)glewGetProcAddress((const GLubyte*)"glEnablei")) == NULL) || r; + r = ((glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRender")) == NULL) || r; + r = ((glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedback")) == NULL) || r; + r = ((glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)glewGetProcAddress((const GLubyte*)"glGetBooleani_v")) == NULL) || r; + r = ((glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocation")) == NULL) || r; + r = ((glGetStringi = (PFNGLGETSTRINGIPROC)glewGetProcAddress((const GLubyte*)"glGetStringi")) == NULL) || r; + r = ((glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIiv")) == NULL) || r; + r = ((glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuiv")) == NULL) || r; + r = ((glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVarying")) == NULL) || r; + r = ((glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuiv")) == NULL) || r; + r = ((glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIiv")) == NULL) || r; + r = ((glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuiv")) == NULL) || r; + r = ((glIsEnabledi = (PFNGLISENABLEDIPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledi")) == NULL) || r; + r = ((glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIiv")) == NULL) || r; + r = ((glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuiv")) == NULL) || r; + r = ((glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryings")) == NULL) || r; + r = ((glUniform1ui = (PFNGLUNIFORM1UIPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui")) == NULL) || r; + r = ((glUniform1uiv = (PFNGLUNIFORM1UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiv")) == NULL) || r; + r = ((glUniform2ui = (PFNGLUNIFORM2UIPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui")) == NULL) || r; + r = ((glUniform2uiv = (PFNGLUNIFORM2UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiv")) == NULL) || r; + r = ((glUniform3ui = (PFNGLUNIFORM3UIPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui")) == NULL) || r; + r = ((glUniform3uiv = (PFNGLUNIFORM3UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiv")) == NULL) || r; + r = ((glUniform4ui = (PFNGLUNIFORM4UIPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui")) == NULL) || r; + r = ((glUniform4uiv = (PFNGLUNIFORM4UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiv")) == NULL) || r; + r = ((glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1i")) == NULL) || r; + r = ((glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iv")) == NULL) || r; + r = ((glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ui")) == NULL) || r; + r = ((glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiv")) == NULL) || r; + r = ((glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2i")) == NULL) || r; + r = ((glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iv")) == NULL) || r; + r = ((glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ui")) == NULL) || r; + r = ((glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiv")) == NULL) || r; + r = ((glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3i")) == NULL) || r; + r = ((glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iv")) == NULL) || r; + r = ((glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ui")) == NULL) || r; + r = ((glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiv")) == NULL) || r; + r = ((glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bv")) == NULL) || r; + r = ((glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4i")) == NULL) || r; + r = ((glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iv")) == NULL) || r; + r = ((glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4sv")) == NULL) || r; + r = ((glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubv")) == NULL) || r; + r = ((glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ui")) == NULL) || r; + r = ((glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiv")) == NULL) || r; + r = ((glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usv")) == NULL) || r; + r = ((glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointer")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_3_0 */ + +#ifdef GL_VERSION_3_1 + +static GLboolean _glewInit_GL_VERSION_3_1 () +{ + GLboolean r = GL_FALSE; + + r = _glewInit_GL_ARB_copy_buffer() || r; + + r = ((glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstanced")) == NULL) || r; + r = ((glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstanced")) == NULL) || r; + r = ((glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartIndex")) == NULL) || r; + r = ((glTexBuffer = (PFNGLTEXBUFFERPROC)glewGetProcAddress((const GLubyte*)"glTexBuffer")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_3_1 */ + +#ifdef GL_VERSION_3_2 + +static GLboolean _glewInit_GL_VERSION_3_2 () +{ + GLboolean r = GL_FALSE; + + r = _glewInit_GL_ARB_draw_elements_base_vertex() || r; + r = _glewInit_GL_ARB_provoking_vertex() || r; + r = _glewInit_GL_ARB_sync() || r; + r = _glewInit_GL_ARB_texture_multisample() || r; + + r = ((glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture")) == NULL) || r; + r = ((glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameteri64v")) == NULL) || r; + r = ((glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)glewGetProcAddress((const GLubyte*)"glGetInteger64i_v")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_3_2 */ + +#ifdef GL_VERSION_3_3 + +static GLboolean _glewInit_GL_VERSION_3_3 () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisor")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_3_3 */ + +#ifdef GL_VERSION_4_0 + +static GLboolean _glewInit_GL_VERSION_4_0 () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparatei")) == NULL) || r; + r = ((glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationi")) == NULL) || r; + r = ((glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparatei")) == NULL) || r; + r = ((glBlendFunci = (PFNGLBLENDFUNCIPROC)glewGetProcAddress((const GLubyte*)"glBlendFunci")) == NULL) || r; + r = ((glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)glewGetProcAddress((const GLubyte*)"glMinSampleShading")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_4_0 */ + +#ifdef GL_VERSION_4_5 + +static GLboolean _glewInit_GL_VERSION_4_5 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)glewGetProcAddress((const GLubyte*)"glGetGraphicsResetStatus")) == NULL) || r; + r = ((glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetnCompressedTexImage")) == NULL) || r; + r = ((glGetnTexImage = (PFNGLGETNTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetnTexImage")) == NULL) || r; + r = ((glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformdv")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_4_5 */ + +#ifdef GL_VERSION_4_6 + +static GLboolean _glewInit_GL_VERSION_4_6 () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectCount")) == NULL) || r; + r = ((glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectCount")) == NULL) || r; + r = ((glSpecializeShader = (PFNGLSPECIALIZESHADERPROC)glewGetProcAddress((const GLubyte*)"glSpecializeShader")) == NULL) || r; + + return r; +} + +#endif /* GL_VERSION_4_6 */ + +#ifdef GL_3DFX_tbuffer + +static GLboolean _glewInit_GL_3DFX_tbuffer () +{ + GLboolean r = GL_FALSE; + + r = ((glTbufferMask3DFX = (PFNGLTBUFFERMASK3DFXPROC)glewGetProcAddress((const GLubyte*)"glTbufferMask3DFX")) == NULL) || r; + + return r; +} + +#endif /* GL_3DFX_tbuffer */ + +#ifdef GL_AMD_debug_output + +static GLboolean _glewInit_GL_AMD_debug_output () +{ + GLboolean r = GL_FALSE; + + r = ((glDebugMessageCallbackAMD = (PFNGLDEBUGMESSAGECALLBACKAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallbackAMD")) == NULL) || r; + r = ((glDebugMessageEnableAMD = (PFNGLDEBUGMESSAGEENABLEAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageEnableAMD")) == NULL) || r; + r = ((glDebugMessageInsertAMD = (PFNGLDEBUGMESSAGEINSERTAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsertAMD")) == NULL) || r; + r = ((glGetDebugMessageLogAMD = (PFNGLGETDEBUGMESSAGELOGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLogAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_debug_output */ + +#ifdef GL_AMD_draw_buffers_blend + +static GLboolean _glewInit_GL_AMD_draw_buffers_blend () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationIndexedAMD")) == NULL) || r; + r = ((glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateIndexedAMD")) == NULL) || r; + r = ((glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncIndexedAMD")) == NULL) || r; + r = ((glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateIndexedAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_draw_buffers_blend */ + +#ifdef GL_AMD_framebuffer_sample_positions + +static GLboolean _glewInit_GL_AMD_framebuffer_sample_positions () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferSamplePositionsfvAMD = (PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)glewGetProcAddress((const GLubyte*)"glFramebufferSamplePositionsfvAMD")) == NULL) || r; + r = ((glGetFramebufferParameterfvAMD = (PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameterfvAMD")) == NULL) || r; + r = ((glGetNamedFramebufferParameterfvAMD = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferParameterfvAMD")) == NULL) || r; + r = ((glNamedFramebufferSamplePositionsfvAMD = (PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferSamplePositionsfvAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_framebuffer_sample_positions */ + +#ifdef GL_AMD_interleaved_elements + +static GLboolean _glewInit_GL_AMD_interleaved_elements () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexAttribParameteriAMD = (PFNGLVERTEXATTRIBPARAMETERIAMDPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribParameteriAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_interleaved_elements */ + +#ifdef GL_AMD_multi_draw_indirect + +static GLboolean _glewInit_GL_AMD_multi_draw_indirect () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectAMD")) == NULL) || r; + r = ((glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_multi_draw_indirect */ + +#ifdef GL_AMD_name_gen_delete + +static GLboolean _glewInit_GL_AMD_name_gen_delete () +{ + GLboolean r = GL_FALSE; + + r = ((glDeleteNamesAMD = (PFNGLDELETENAMESAMDPROC)glewGetProcAddress((const GLubyte*)"glDeleteNamesAMD")) == NULL) || r; + r = ((glGenNamesAMD = (PFNGLGENNAMESAMDPROC)glewGetProcAddress((const GLubyte*)"glGenNamesAMD")) == NULL) || r; + r = ((glIsNameAMD = (PFNGLISNAMEAMDPROC)glewGetProcAddress((const GLubyte*)"glIsNameAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_name_gen_delete */ + +#ifdef GL_AMD_occlusion_query_event + +static GLboolean _glewInit_GL_AMD_occlusion_query_event () +{ + GLboolean r = GL_FALSE; + + r = ((glQueryObjectParameteruiAMD = (PFNGLQUERYOBJECTPARAMETERUIAMDPROC)glewGetProcAddress((const GLubyte*)"glQueryObjectParameteruiAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_occlusion_query_event */ + +#ifdef GL_AMD_performance_monitor + +static GLboolean _glewInit_GL_AMD_performance_monitor () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginPerfMonitorAMD = (PFNGLBEGINPERFMONITORAMDPROC)glewGetProcAddress((const GLubyte*)"glBeginPerfMonitorAMD")) == NULL) || r; + r = ((glDeletePerfMonitorsAMD = (PFNGLDELETEPERFMONITORSAMDPROC)glewGetProcAddress((const GLubyte*)"glDeletePerfMonitorsAMD")) == NULL) || r; + r = ((glEndPerfMonitorAMD = (PFNGLENDPERFMONITORAMDPROC)glewGetProcAddress((const GLubyte*)"glEndPerfMonitorAMD")) == NULL) || r; + r = ((glGenPerfMonitorsAMD = (PFNGLGENPERFMONITORSAMDPROC)glewGetProcAddress((const GLubyte*)"glGenPerfMonitorsAMD")) == NULL) || r; + r = ((glGetPerfMonitorCounterDataAMD = (PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterDataAMD")) == NULL) || r; + r = ((glGetPerfMonitorCounterInfoAMD = (PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterInfoAMD")) == NULL) || r; + r = ((glGetPerfMonitorCounterStringAMD = (PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterStringAMD")) == NULL) || r; + r = ((glGetPerfMonitorCountersAMD = (PFNGLGETPERFMONITORCOUNTERSAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCountersAMD")) == NULL) || r; + r = ((glGetPerfMonitorGroupStringAMD = (PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorGroupStringAMD")) == NULL) || r; + r = ((glGetPerfMonitorGroupsAMD = (PFNGLGETPERFMONITORGROUPSAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorGroupsAMD")) == NULL) || r; + r = ((glSelectPerfMonitorCountersAMD = (PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)glewGetProcAddress((const GLubyte*)"glSelectPerfMonitorCountersAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_performance_monitor */ + +#ifdef GL_AMD_sample_positions + +static GLboolean _glewInit_GL_AMD_sample_positions () +{ + GLboolean r = GL_FALSE; + + r = ((glSetMultisamplefvAMD = (PFNGLSETMULTISAMPLEFVAMDPROC)glewGetProcAddress((const GLubyte*)"glSetMultisamplefvAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_sample_positions */ + +#ifdef GL_AMD_sparse_texture + +static GLboolean _glewInit_GL_AMD_sparse_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glTexStorageSparseAMD = (PFNGLTEXSTORAGESPARSEAMDPROC)glewGetProcAddress((const GLubyte*)"glTexStorageSparseAMD")) == NULL) || r; + r = ((glTextureStorageSparseAMD = (PFNGLTEXTURESTORAGESPARSEAMDPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageSparseAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_sparse_texture */ + +#ifdef GL_AMD_stencil_operation_extended + +static GLboolean _glewInit_GL_AMD_stencil_operation_extended () +{ + GLboolean r = GL_FALSE; + + r = ((glStencilOpValueAMD = (PFNGLSTENCILOPVALUEAMDPROC)glewGetProcAddress((const GLubyte*)"glStencilOpValueAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_stencil_operation_extended */ + +#ifdef GL_AMD_vertex_shader_tessellator + +static GLboolean _glewInit_GL_AMD_vertex_shader_tessellator () +{ + GLboolean r = GL_FALSE; + + r = ((glTessellationFactorAMD = (PFNGLTESSELLATIONFACTORAMDPROC)glewGetProcAddress((const GLubyte*)"glTessellationFactorAMD")) == NULL) || r; + r = ((glTessellationModeAMD = (PFNGLTESSELLATIONMODEAMDPROC)glewGetProcAddress((const GLubyte*)"glTessellationModeAMD")) == NULL) || r; + + return r; +} + +#endif /* GL_AMD_vertex_shader_tessellator */ + +#ifdef GL_ANGLE_framebuffer_blit + +static GLboolean _glewInit_GL_ANGLE_framebuffer_blit () +{ + GLboolean r = GL_FALSE; + + r = ((glBlitFramebufferANGLE = (PFNGLBLITFRAMEBUFFERANGLEPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferANGLE")) == NULL) || r; + + return r; +} + +#endif /* GL_ANGLE_framebuffer_blit */ + +#ifdef GL_ANGLE_framebuffer_multisample + +static GLboolean _glewInit_GL_ANGLE_framebuffer_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glRenderbufferStorageMultisampleANGLE = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleANGLE")) == NULL) || r; + + return r; +} + +#endif /* GL_ANGLE_framebuffer_multisample */ + +#ifdef GL_ANGLE_instanced_arrays + +static GLboolean _glewInit_GL_ANGLE_instanced_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedANGLE = (PFNGLDRAWARRAYSINSTANCEDANGLEPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedANGLE")) == NULL) || r; + r = ((glDrawElementsInstancedANGLE = (PFNGLDRAWELEMENTSINSTANCEDANGLEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedANGLE")) == NULL) || r; + r = ((glVertexAttribDivisorANGLE = (PFNGLVERTEXATTRIBDIVISORANGLEPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorANGLE")) == NULL) || r; + + return r; +} + +#endif /* GL_ANGLE_instanced_arrays */ + +#ifdef GL_ANGLE_timer_query + +static GLboolean _glewInit_GL_ANGLE_timer_query () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginQueryANGLE = (PFNGLBEGINQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryANGLE")) == NULL) || r; + r = ((glDeleteQueriesANGLE = (PFNGLDELETEQUERIESANGLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueriesANGLE")) == NULL) || r; + r = ((glEndQueryANGLE = (PFNGLENDQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glEndQueryANGLE")) == NULL) || r; + r = ((glGenQueriesANGLE = (PFNGLGENQUERIESANGLEPROC)glewGetProcAddress((const GLubyte*)"glGenQueriesANGLE")) == NULL) || r; + r = ((glGetQueryObjecti64vANGLE = (PFNGLGETQUERYOBJECTI64VANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64vANGLE")) == NULL) || r; + r = ((glGetQueryObjectivANGLE = (PFNGLGETQUERYOBJECTIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectivANGLE")) == NULL) || r; + r = ((glGetQueryObjectui64vANGLE = (PFNGLGETQUERYOBJECTUI64VANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64vANGLE")) == NULL) || r; + r = ((glGetQueryObjectuivANGLE = (PFNGLGETQUERYOBJECTUIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuivANGLE")) == NULL) || r; + r = ((glGetQueryivANGLE = (PFNGLGETQUERYIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryivANGLE")) == NULL) || r; + r = ((glIsQueryANGLE = (PFNGLISQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glIsQueryANGLE")) == NULL) || r; + r = ((glQueryCounterANGLE = (PFNGLQUERYCOUNTERANGLEPROC)glewGetProcAddress((const GLubyte*)"glQueryCounterANGLE")) == NULL) || r; + + return r; +} + +#endif /* GL_ANGLE_timer_query */ + +#ifdef GL_ANGLE_translated_shader_source + +static GLboolean _glewInit_GL_ANGLE_translated_shader_source () +{ + GLboolean r = GL_FALSE; + + r = ((glGetTranslatedShaderSourceANGLE = (PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetTranslatedShaderSourceANGLE")) == NULL) || r; + + return r; +} + +#endif /* GL_ANGLE_translated_shader_source */ + +#ifdef GL_APPLE_copy_texture_levels + +static GLboolean _glewInit_GL_APPLE_copy_texture_levels () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyTextureLevelsAPPLE = (PFNGLCOPYTEXTURELEVELSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureLevelsAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_copy_texture_levels */ + +#ifdef GL_APPLE_element_array + +static GLboolean _glewInit_GL_APPLE_element_array () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawElementArrayAPPLE = (PFNGLDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayAPPLE")) == NULL) || r; + r = ((glDrawRangeElementArrayAPPLE = (PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayAPPLE")) == NULL) || r; + r = ((glElementPointerAPPLE = (PFNGLELEMENTPOINTERAPPLEPROC)glewGetProcAddress((const GLubyte*)"glElementPointerAPPLE")) == NULL) || r; + r = ((glMultiDrawElementArrayAPPLE = (PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementArrayAPPLE")) == NULL) || r; + r = ((glMultiDrawRangeElementArrayAPPLE = (PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawRangeElementArrayAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_element_array */ + +#ifdef GL_APPLE_fence + +static GLboolean _glewInit_GL_APPLE_fence () +{ + GLboolean r = GL_FALSE; + + r = ((glDeleteFencesAPPLE = (PFNGLDELETEFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesAPPLE")) == NULL) || r; + r = ((glFinishFenceAPPLE = (PFNGLFINISHFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceAPPLE")) == NULL) || r; + r = ((glFinishObjectAPPLE = (PFNGLFINISHOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishObjectAPPLE")) == NULL) || r; + r = ((glGenFencesAPPLE = (PFNGLGENFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenFencesAPPLE")) == NULL) || r; + r = ((glIsFenceAPPLE = (PFNGLISFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsFenceAPPLE")) == NULL) || r; + r = ((glSetFenceAPPLE = (PFNGLSETFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glSetFenceAPPLE")) == NULL) || r; + r = ((glTestFenceAPPLE = (PFNGLTESTFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestFenceAPPLE")) == NULL) || r; + r = ((glTestObjectAPPLE = (PFNGLTESTOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestObjectAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_fence */ + +#ifdef GL_APPLE_flush_buffer_range + +static GLboolean _glewInit_GL_APPLE_flush_buffer_range () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBufferParameteriAPPLE")) == NULL) || r; + r = ((glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRangeAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_flush_buffer_range */ + +#ifdef GL_APPLE_framebuffer_multisample + +static GLboolean _glewInit_GL_APPLE_framebuffer_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glRenderbufferStorageMultisampleAPPLE = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleAPPLE")) == NULL) || r; + r = ((glResolveMultisampleFramebufferAPPLE = (PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC)glewGetProcAddress((const GLubyte*)"glResolveMultisampleFramebufferAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_framebuffer_multisample */ + +#ifdef GL_APPLE_object_purgeable + +static GLboolean _glewInit_GL_APPLE_object_purgeable () +{ + GLboolean r = GL_FALSE; + + r = ((glGetObjectParameterivAPPLE = (PFNGLGETOBJECTPARAMETERIVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterivAPPLE")) == NULL) || r; + r = ((glObjectPurgeableAPPLE = (PFNGLOBJECTPURGEABLEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glObjectPurgeableAPPLE")) == NULL) || r; + r = ((glObjectUnpurgeableAPPLE = (PFNGLOBJECTUNPURGEABLEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glObjectUnpurgeableAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_object_purgeable */ + +#ifdef GL_APPLE_sync + +static GLboolean _glewInit_GL_APPLE_sync () +{ + GLboolean r = GL_FALSE; + + r = ((glClientWaitSyncAPPLE = (PFNGLCLIENTWAITSYNCAPPLEPROC)glewGetProcAddress((const GLubyte*)"glClientWaitSyncAPPLE")) == NULL) || r; + r = ((glDeleteSyncAPPLE = (PFNGLDELETESYNCAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteSyncAPPLE")) == NULL) || r; + r = ((glFenceSyncAPPLE = (PFNGLFENCESYNCAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFenceSyncAPPLE")) == NULL) || r; + r = ((glGetInteger64vAPPLE = (PFNGLGETINTEGER64VAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetInteger64vAPPLE")) == NULL) || r; + r = ((glGetSyncivAPPLE = (PFNGLGETSYNCIVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetSyncivAPPLE")) == NULL) || r; + r = ((glIsSyncAPPLE = (PFNGLISSYNCAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsSyncAPPLE")) == NULL) || r; + r = ((glWaitSyncAPPLE = (PFNGLWAITSYNCAPPLEPROC)glewGetProcAddress((const GLubyte*)"glWaitSyncAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_sync */ + +#ifdef GL_APPLE_texture_range + +static GLboolean _glewInit_GL_APPLE_texture_range () +{ + GLboolean r = GL_FALSE; + + r = ((glGetTexParameterPointervAPPLE = (PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterPointervAPPLE")) == NULL) || r; + r = ((glTextureRangeAPPLE = (PFNGLTEXTURERANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTextureRangeAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_texture_range */ + +#ifdef GL_APPLE_vertex_array_object + +static GLboolean _glewInit_GL_APPLE_vertex_array_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArrayAPPLE")) == NULL) || r; + r = ((glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArraysAPPLE")) == NULL) || r; + r = ((glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArraysAPPLE")) == NULL) || r; + r = ((glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArrayAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_vertex_array_object */ + +#ifdef GL_APPLE_vertex_array_range + +static GLboolean _glewInit_GL_APPLE_vertex_array_range () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushVertexArrayRangeAPPLE = (PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeAPPLE")) == NULL) || r; + r = ((glVertexArrayParameteriAPPLE = (PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayParameteriAPPLE")) == NULL) || r; + r = ((glVertexArrayRangeAPPLE = (PFNGLVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_vertex_array_range */ + +#ifdef GL_APPLE_vertex_program_evaluators + +static GLboolean _glewInit_GL_APPLE_vertex_program_evaluators () +{ + GLboolean r = GL_FALSE; + + r = ((glDisableVertexAttribAPPLE = (PFNGLDISABLEVERTEXATTRIBAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribAPPLE")) == NULL) || r; + r = ((glEnableVertexAttribAPPLE = (PFNGLENABLEVERTEXATTRIBAPPLEPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribAPPLE")) == NULL) || r; + r = ((glIsVertexAttribEnabledAPPLE = (PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsVertexAttribEnabledAPPLE")) == NULL) || r; + r = ((glMapVertexAttrib1dAPPLE = (PFNGLMAPVERTEXATTRIB1DAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib1dAPPLE")) == NULL) || r; + r = ((glMapVertexAttrib1fAPPLE = (PFNGLMAPVERTEXATTRIB1FAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib1fAPPLE")) == NULL) || r; + r = ((glMapVertexAttrib2dAPPLE = (PFNGLMAPVERTEXATTRIB2DAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib2dAPPLE")) == NULL) || r; + r = ((glMapVertexAttrib2fAPPLE = (PFNGLMAPVERTEXATTRIB2FAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib2fAPPLE")) == NULL) || r; + + return r; +} + +#endif /* GL_APPLE_vertex_program_evaluators */ + +#ifdef GL_ARB_ES2_compatibility + +static GLboolean _glewInit_GL_ARB_ES2_compatibility () +{ + GLboolean r = GL_FALSE; + + r = ((glClearDepthf = (PFNGLCLEARDEPTHFPROC)glewGetProcAddress((const GLubyte*)"glClearDepthf")) == NULL) || r; + r = ((glDepthRangef = (PFNGLDEPTHRANGEFPROC)glewGetProcAddress((const GLubyte*)"glDepthRangef")) == NULL) || r; + r = ((glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)glewGetProcAddress((const GLubyte*)"glGetShaderPrecisionFormat")) == NULL) || r; + r = ((glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)glewGetProcAddress((const GLubyte*)"glReleaseShaderCompiler")) == NULL) || r; + r = ((glShaderBinary = (PFNGLSHADERBINARYPROC)glewGetProcAddress((const GLubyte*)"glShaderBinary")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_ES2_compatibility */ + +#ifdef GL_ARB_ES3_1_compatibility + +static GLboolean _glewInit_GL_ARB_ES3_1_compatibility () +{ + GLboolean r = GL_FALSE; + + r = ((glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)glewGetProcAddress((const GLubyte*)"glMemoryBarrierByRegion")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_ES3_1_compatibility */ + +#ifdef GL_ARB_ES3_2_compatibility + +static GLboolean _glewInit_GL_ARB_ES3_2_compatibility () +{ + GLboolean r = GL_FALSE; + + r = ((glPrimitiveBoundingBoxARB = (PFNGLPRIMITIVEBOUNDINGBOXARBPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveBoundingBoxARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_ES3_2_compatibility */ + +#ifdef GL_ARB_base_instance + +static GLboolean _glewInit_GL_ARB_base_instance () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedBaseInstance")) == NULL) || r; + r = ((glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseInstance")) == NULL) || r; + r = ((glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertexBaseInstance")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_base_instance */ + +#ifdef GL_ARB_bindless_texture + +static GLboolean _glewInit_GL_ARB_bindless_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetImageHandleARB")) == NULL) || r; + r = ((glGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetTextureHandleARB")) == NULL) || r; + r = ((glGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetTextureSamplerHandleARB")) == NULL) || r; + r = ((glGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLui64vARB")) == NULL) || r; + r = ((glIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glIsImageHandleResidentARB")) == NULL) || r; + r = ((glIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glIsTextureHandleResidentARB")) == NULL) || r; + r = ((glMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleNonResidentARB")) == NULL) || r; + r = ((glMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleResidentARB")) == NULL) || r; + r = ((glMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleNonResidentARB")) == NULL) || r; + r = ((glMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleResidentARB")) == NULL) || r; + r = ((glProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64ARB")) == NULL) || r; + r = ((glProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64vARB")) == NULL) || r; + r = ((glUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64ARB")) == NULL) || r; + r = ((glUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64vARB")) == NULL) || r; + r = ((glVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64ARB")) == NULL) || r; + r = ((glVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64vARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_bindless_texture */ + +#ifdef GL_ARB_blend_func_extended + +static GLboolean _glewInit_GL_ARB_blend_func_extended () +{ + GLboolean r = GL_FALSE; + + r = ((glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationIndexed")) == NULL) || r; + r = ((glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataIndex")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_blend_func_extended */ + +#ifdef GL_ARB_buffer_storage + +static GLboolean _glewInit_GL_ARB_buffer_storage () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferStorage = (PFNGLBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glBufferStorage")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_buffer_storage */ + +#ifdef GL_ARB_cl_event + +static GLboolean _glewInit_GL_ARB_cl_event () +{ + GLboolean r = GL_FALSE; + + r = ((glCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateSyncFromCLeventARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_cl_event */ + +#ifdef GL_ARB_clear_buffer_object + +static GLboolean _glewInit_GL_ARB_clear_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glClearBufferData")) == NULL) || r; + r = ((glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glClearBufferSubData")) == NULL) || r; + r = ((glClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferDataEXT")) == NULL) || r; + r = ((glClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferSubDataEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_clear_buffer_object */ + +#ifdef GL_ARB_clear_texture + +static GLboolean _glewInit_GL_ARB_clear_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glClearTexImage")) == NULL) || r; + r = ((glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glClearTexSubImage")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_clear_texture */ + +#ifdef GL_ARB_clip_control + +static GLboolean _glewInit_GL_ARB_clip_control () +{ + GLboolean r = GL_FALSE; + + r = ((glClipControl = (PFNGLCLIPCONTROLPROC)glewGetProcAddress((const GLubyte*)"glClipControl")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_clip_control */ + +#ifdef GL_ARB_color_buffer_float + +static GLboolean _glewInit_GL_ARB_color_buffer_float () +{ + GLboolean r = GL_FALSE; + + r = ((glClampColorARB = (PFNGLCLAMPCOLORARBPROC)glewGetProcAddress((const GLubyte*)"glClampColorARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_color_buffer_float */ + +#ifdef GL_ARB_compute_shader + +static GLboolean _glewInit_GL_ARB_compute_shader () +{ + GLboolean r = GL_FALSE; + + r = ((glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)glewGetProcAddress((const GLubyte*)"glDispatchCompute")) == NULL) || r; + r = ((glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDispatchComputeIndirect")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_compute_shader */ + +#ifdef GL_ARB_compute_variable_group_size + +static GLboolean _glewInit_GL_ARB_compute_variable_group_size () +{ + GLboolean r = GL_FALSE; + + r = ((glDispatchComputeGroupSizeARB = (PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)glewGetProcAddress((const GLubyte*)"glDispatchComputeGroupSizeARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_compute_variable_group_size */ + +#ifdef GL_ARB_copy_buffer + +static GLboolean _glewInit_GL_ARB_copy_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glCopyBufferSubData")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_copy_buffer */ + +#ifdef GL_ARB_copy_image + +static GLboolean _glewInit_GL_ARB_copy_image () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)glewGetProcAddress((const GLubyte*)"glCopyImageSubData")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_copy_image */ + +#ifdef GL_ARB_debug_output + +static GLboolean _glewInit_GL_ARB_debug_output () +{ + GLboolean r = GL_FALSE; + + r = ((glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallbackARB")) == NULL) || r; + r = ((glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageControlARB")) == NULL) || r; + r = ((glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsertARB")) == NULL) || r; + r = ((glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLogARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_debug_output */ + +#ifdef GL_ARB_direct_state_access + +static GLboolean _glewInit_GL_ARB_direct_state_access () +{ + GLboolean r = GL_FALSE; + + r = ((glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC)glewGetProcAddress((const GLubyte*)"glBindTextureUnit")) == NULL) || r; + r = ((glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBlitNamedFramebuffer")) == NULL) || r; + r = ((glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)glewGetProcAddress((const GLubyte*)"glCheckNamedFramebufferStatus")) == NULL) || r; + r = ((glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferData")) == NULL) || r; + r = ((glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferSubData")) == NULL) || r; + r = ((glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)glewGetProcAddress((const GLubyte*)"glClearNamedFramebufferfi")) == NULL) || r; + r = ((glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)glewGetProcAddress((const GLubyte*)"glClearNamedFramebufferfv")) == NULL) || r; + r = ((glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glClearNamedFramebufferiv")) == NULL) || r; + r = ((glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)glewGetProcAddress((const GLubyte*)"glClearNamedFramebufferuiv")) == NULL) || r; + r = ((glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage1D")) == NULL) || r; + r = ((glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage2D")) == NULL) || r; + r = ((glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage3D")) == NULL) || r; + r = ((glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glCopyNamedBufferSubData")) == NULL) || r; + r = ((glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage1D")) == NULL) || r; + r = ((glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage2D")) == NULL) || r; + r = ((glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage3D")) == NULL) || r; + r = ((glCreateBuffers = (PFNGLCREATEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glCreateBuffers")) == NULL) || r; + r = ((glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glCreateFramebuffers")) == NULL) || r; + r = ((glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC)glewGetProcAddress((const GLubyte*)"glCreateProgramPipelines")) == NULL) || r; + r = ((glCreateQueries = (PFNGLCREATEQUERIESPROC)glewGetProcAddress((const GLubyte*)"glCreateQueries")) == NULL) || r; + r = ((glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glCreateRenderbuffers")) == NULL) || r; + r = ((glCreateSamplers = (PFNGLCREATESAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glCreateSamplers")) == NULL) || r; + r = ((glCreateTextures = (PFNGLCREATETEXTURESPROC)glewGetProcAddress((const GLubyte*)"glCreateTextures")) == NULL) || r; + r = ((glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC)glewGetProcAddress((const GLubyte*)"glCreateTransformFeedbacks")) == NULL) || r; + r = ((glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glCreateVertexArrays")) == NULL) || r; + r = ((glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexArrayAttrib")) == NULL) || r; + r = ((glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexArrayAttrib")) == NULL) || r; + r = ((glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedNamedBufferRange")) == NULL) || r; + r = ((glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC)glewGetProcAddress((const GLubyte*)"glGenerateTextureMipmap")) == NULL) || r; + r = ((glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTextureImage")) == NULL) || r; + r = ((glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameteri64v")) == NULL) || r; + r = ((glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameteriv")) == NULL) || r; + r = ((glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferPointerv")) == NULL) || r; + r = ((glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferSubData")) == NULL) || r; + r = ((glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferAttachmentParameteriv")) == NULL) || r; + r = ((glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferParameteriv")) == NULL) || r; + r = ((glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedRenderbufferParameteriv")) == NULL) || r; + r = ((glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryBufferObjecti64v")) == NULL) || r; + r = ((glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryBufferObjectiv")) == NULL) || r; + r = ((glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryBufferObjectui64v")) == NULL) || r; + r = ((glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryBufferObjectuiv")) == NULL) || r; + r = ((glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetTextureImage")) == NULL) || r; + r = ((glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterfv")) == NULL) || r; + r = ((glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameteriv")) == NULL) || r; + r = ((glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIiv")) == NULL) || r; + r = ((glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIuiv")) == NULL) || r; + r = ((glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterfv")) == NULL) || r; + r = ((glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameteriv")) == NULL) || r; + r = ((glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbacki64_v")) == NULL) || r; + r = ((glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbacki_v")) == NULL) || r; + r = ((glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackiv")) == NULL) || r; + r = ((glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIndexed64iv")) == NULL) || r; + r = ((glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIndexediv")) == NULL) || r; + r = ((glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayiv")) == NULL) || r; + r = ((glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateNamedFramebufferData")) == NULL) || r; + r = ((glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateNamedFramebufferSubData")) == NULL) || r; + r = ((glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBuffer")) == NULL) || r; + r = ((glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferRange")) == NULL) || r; + r = ((glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferData")) == NULL) || r; + r = ((glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferStorage")) == NULL) || r; + r = ((glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferSubData")) == NULL) || r; + r = ((glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferDrawBuffer")) == NULL) || r; + r = ((glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferDrawBuffers")) == NULL) || r; + r = ((glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferParameteri")) == NULL) || r; + r = ((glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferReadBuffer")) == NULL) || r; + r = ((glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferRenderbuffer")) == NULL) || r; + r = ((glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture")) == NULL) || r; + r = ((glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureLayer")) == NULL) || r; + r = ((glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorage")) == NULL) || r; + r = ((glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisample")) == NULL) || r; + r = ((glTextureBuffer = (PFNGLTEXTUREBUFFERPROC)glewGetProcAddress((const GLubyte*)"glTextureBuffer")) == NULL) || r; + r = ((glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferRange")) == NULL) || r; + r = ((glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIiv")) == NULL) || r; + r = ((glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIuiv")) == NULL) || r; + r = ((glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterf")) == NULL) || r; + r = ((glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfv")) == NULL) || r; + r = ((glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glTextureParameteri")) == NULL) || r; + r = ((glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glTextureParameteriv")) == NULL) || r; + r = ((glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage1D")) == NULL) || r; + r = ((glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2D")) == NULL) || r; + r = ((glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2DMultisample")) == NULL) || r; + r = ((glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3D")) == NULL) || r; + r = ((glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3DMultisample")) == NULL) || r; + r = ((glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage1D")) == NULL) || r; + r = ((glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage2D")) == NULL) || r; + r = ((glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage3D")) == NULL) || r; + r = ((glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackBufferBase")) == NULL) || r; + r = ((glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackBufferRange")) == NULL) || r; + r = ((glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC)glewGetProcAddress((const GLubyte*)"glUnmapNamedBuffer")) == NULL) || r; + r = ((glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayAttribBinding")) == NULL) || r; + r = ((glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayAttribFormat")) == NULL) || r; + r = ((glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayAttribIFormat")) == NULL) || r; + r = ((glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayAttribLFormat")) == NULL) || r; + r = ((glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayBindingDivisor")) == NULL) || r; + r = ((glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayElementBuffer")) == NULL) || r; + r = ((glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexBuffer")) == NULL) || r; + r = ((glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexBuffers")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_direct_state_access */ + +#ifdef GL_ARB_draw_buffers + +static GLboolean _glewInit_GL_ARB_draw_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_draw_buffers */ + +#ifdef GL_ARB_draw_buffers_blend + +static GLboolean _glewInit_GL_ARB_draw_buffers_blend () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateiARB")) == NULL) || r; + r = ((glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationiARB")) == NULL) || r; + r = ((glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateiARB")) == NULL) || r; + r = ((glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendFunciARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_draw_buffers_blend */ + +#ifdef GL_ARB_draw_elements_base_vertex + +static GLboolean _glewInit_GL_ARB_draw_elements_base_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsBaseVertex")) == NULL) || r; + r = ((glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertex")) == NULL) || r; + r = ((glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsBaseVertex")) == NULL) || r; + r = ((glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsBaseVertex")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_draw_elements_base_vertex */ + +#ifdef GL_ARB_draw_indirect + +static GLboolean _glewInit_GL_ARB_draw_indirect () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysIndirect")) == NULL) || r; + r = ((glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsIndirect")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_draw_indirect */ + +#ifdef GL_ARB_framebuffer_no_attachments + +static GLboolean _glewInit_GL_ARB_framebuffer_no_attachments () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glFramebufferParameteri")) == NULL) || r; + r = ((glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameteriv")) == NULL) || r; + r = ((glGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferParameterivEXT")) == NULL) || r; + r = ((glNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferParameteriEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_framebuffer_no_attachments */ + +#ifdef GL_ARB_framebuffer_object + +static GLboolean _glewInit_GL_ARB_framebuffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindFramebuffer")) == NULL) || r; + r = ((glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbuffer")) == NULL) || r; + r = ((glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebuffer")) == NULL) || r; + r = ((glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatus")) == NULL) || r; + r = ((glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffers")) == NULL) || r; + r = ((glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffers")) == NULL) || r; + r = ((glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbuffer")) == NULL) || r; + r = ((glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1D")) == NULL) || r; + r = ((glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2D")) == NULL) || r; + r = ((glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3D")) == NULL) || r; + r = ((glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayer")) == NULL) || r; + r = ((glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffers")) == NULL) || r; + r = ((glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffers")) == NULL) || r; + r = ((glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmap")) == NULL) || r; + r = ((glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameteriv")) == NULL) || r; + r = ((glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameteriv")) == NULL) || r; + r = ((glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsFramebuffer")) == NULL) || r; + r = ((glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbuffer")) == NULL) || r; + r = ((glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorage")) == NULL) || r; + r = ((glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisample")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_framebuffer_object */ + +#ifdef GL_ARB_geometry_shader4 + +static GLboolean _glewInit_GL_ARB_geometry_shader4 () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureARB")) == NULL) || r; + r = ((glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceARB")) == NULL) || r; + r = ((glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerARB")) == NULL) || r; + r = ((glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_geometry_shader4 */ + +#ifdef GL_ARB_get_program_binary + +static GLboolean _glewInit_GL_ARB_get_program_binary () +{ + GLboolean r = GL_FALSE; + + r = ((glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)glewGetProcAddress((const GLubyte*)"glGetProgramBinary")) == NULL) || r; + r = ((glProgramBinary = (PFNGLPROGRAMBINARYPROC)glewGetProcAddress((const GLubyte*)"glProgramBinary")) == NULL) || r; + r = ((glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteri")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_get_program_binary */ + +#ifdef GL_ARB_get_texture_sub_image + +static GLboolean _glewInit_GL_ARB_get_texture_sub_image () +{ + GLboolean r = GL_FALSE; + + r = ((glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTextureSubImage")) == NULL) || r; + r = ((glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetTextureSubImage")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_get_texture_sub_image */ + +#ifdef GL_ARB_gl_spirv + +static GLboolean _glewInit_GL_ARB_gl_spirv () +{ + GLboolean r = GL_FALSE; + + r = ((glSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC)glewGetProcAddress((const GLubyte*)"glSpecializeShaderARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_gl_spirv */ + +#ifdef GL_ARB_gpu_shader_fp64 + +static GLboolean _glewInit_GL_ARB_gpu_shader_fp64 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetUniformdv = (PFNGLGETUNIFORMDVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformdv")) == NULL) || r; + r = ((glUniform1d = (PFNGLUNIFORM1DPROC)glewGetProcAddress((const GLubyte*)"glUniform1d")) == NULL) || r; + r = ((glUniform1dv = (PFNGLUNIFORM1DVPROC)glewGetProcAddress((const GLubyte*)"glUniform1dv")) == NULL) || r; + r = ((glUniform2d = (PFNGLUNIFORM2DPROC)glewGetProcAddress((const GLubyte*)"glUniform2d")) == NULL) || r; + r = ((glUniform2dv = (PFNGLUNIFORM2DVPROC)glewGetProcAddress((const GLubyte*)"glUniform2dv")) == NULL) || r; + r = ((glUniform3d = (PFNGLUNIFORM3DPROC)glewGetProcAddress((const GLubyte*)"glUniform3d")) == NULL) || r; + r = ((glUniform3dv = (PFNGLUNIFORM3DVPROC)glewGetProcAddress((const GLubyte*)"glUniform3dv")) == NULL) || r; + r = ((glUniform4d = (PFNGLUNIFORM4DPROC)glewGetProcAddress((const GLubyte*)"glUniform4d")) == NULL) || r; + r = ((glUniform4dv = (PFNGLUNIFORM4DVPROC)glewGetProcAddress((const GLubyte*)"glUniform4dv")) == NULL) || r; + r = ((glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2dv")) == NULL) || r; + r = ((glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3dv")) == NULL) || r; + r = ((glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4dv")) == NULL) || r; + r = ((glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3dv")) == NULL) || r; + r = ((glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2dv")) == NULL) || r; + r = ((glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4dv")) == NULL) || r; + r = ((glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4dv")) == NULL) || r; + r = ((glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2dv")) == NULL) || r; + r = ((glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3dv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_gpu_shader_fp64 */ + +#ifdef GL_ARB_gpu_shader_int64 + +static GLboolean _glewInit_GL_ARB_gpu_shader_int64 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetUniformi64vARB = (PFNGLGETUNIFORMI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformi64vARB")) == NULL) || r; + r = ((glGetUniformui64vARB = (PFNGLGETUNIFORMUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformui64vARB")) == NULL) || r; + r = ((glGetnUniformi64vARB = (PFNGLGETNUNIFORMI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformi64vARB")) == NULL) || r; + r = ((glGetnUniformui64vARB = (PFNGLGETNUNIFORMUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformui64vARB")) == NULL) || r; + r = ((glProgramUniform1i64ARB = (PFNGLPROGRAMUNIFORM1I64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64ARB")) == NULL) || r; + r = ((glProgramUniform1i64vARB = (PFNGLPROGRAMUNIFORM1I64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64vARB")) == NULL) || r; + r = ((glProgramUniform1ui64ARB = (PFNGLPROGRAMUNIFORM1UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64ARB")) == NULL) || r; + r = ((glProgramUniform1ui64vARB = (PFNGLPROGRAMUNIFORM1UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64vARB")) == NULL) || r; + r = ((glProgramUniform2i64ARB = (PFNGLPROGRAMUNIFORM2I64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64ARB")) == NULL) || r; + r = ((glProgramUniform2i64vARB = (PFNGLPROGRAMUNIFORM2I64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64vARB")) == NULL) || r; + r = ((glProgramUniform2ui64ARB = (PFNGLPROGRAMUNIFORM2UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64ARB")) == NULL) || r; + r = ((glProgramUniform2ui64vARB = (PFNGLPROGRAMUNIFORM2UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64vARB")) == NULL) || r; + r = ((glProgramUniform3i64ARB = (PFNGLPROGRAMUNIFORM3I64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64ARB")) == NULL) || r; + r = ((glProgramUniform3i64vARB = (PFNGLPROGRAMUNIFORM3I64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64vARB")) == NULL) || r; + r = ((glProgramUniform3ui64ARB = (PFNGLPROGRAMUNIFORM3UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64ARB")) == NULL) || r; + r = ((glProgramUniform3ui64vARB = (PFNGLPROGRAMUNIFORM3UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64vARB")) == NULL) || r; + r = ((glProgramUniform4i64ARB = (PFNGLPROGRAMUNIFORM4I64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64ARB")) == NULL) || r; + r = ((glProgramUniform4i64vARB = (PFNGLPROGRAMUNIFORM4I64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64vARB")) == NULL) || r; + r = ((glProgramUniform4ui64ARB = (PFNGLPROGRAMUNIFORM4UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64ARB")) == NULL) || r; + r = ((glProgramUniform4ui64vARB = (PFNGLPROGRAMUNIFORM4UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64vARB")) == NULL) || r; + r = ((glUniform1i64ARB = (PFNGLUNIFORM1I64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64ARB")) == NULL) || r; + r = ((glUniform1i64vARB = (PFNGLUNIFORM1I64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64vARB")) == NULL) || r; + r = ((glUniform1ui64ARB = (PFNGLUNIFORM1UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64ARB")) == NULL) || r; + r = ((glUniform1ui64vARB = (PFNGLUNIFORM1UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64vARB")) == NULL) || r; + r = ((glUniform2i64ARB = (PFNGLUNIFORM2I64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64ARB")) == NULL) || r; + r = ((glUniform2i64vARB = (PFNGLUNIFORM2I64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64vARB")) == NULL) || r; + r = ((glUniform2ui64ARB = (PFNGLUNIFORM2UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64ARB")) == NULL) || r; + r = ((glUniform2ui64vARB = (PFNGLUNIFORM2UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64vARB")) == NULL) || r; + r = ((glUniform3i64ARB = (PFNGLUNIFORM3I64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64ARB")) == NULL) || r; + r = ((glUniform3i64vARB = (PFNGLUNIFORM3I64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64vARB")) == NULL) || r; + r = ((glUniform3ui64ARB = (PFNGLUNIFORM3UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64ARB")) == NULL) || r; + r = ((glUniform3ui64vARB = (PFNGLUNIFORM3UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64vARB")) == NULL) || r; + r = ((glUniform4i64ARB = (PFNGLUNIFORM4I64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64ARB")) == NULL) || r; + r = ((glUniform4i64vARB = (PFNGLUNIFORM4I64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64vARB")) == NULL) || r; + r = ((glUniform4ui64ARB = (PFNGLUNIFORM4UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64ARB")) == NULL) || r; + r = ((glUniform4ui64vARB = (PFNGLUNIFORM4UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64vARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_gpu_shader_int64 */ + +#ifdef GL_ARB_imaging + +static GLboolean _glewInit_GL_ARB_imaging () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; + r = ((glColorSubTable = (PFNGLCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorSubTable")) == NULL) || r; + r = ((glColorTable = (PFNGLCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorTable")) == NULL) || r; + r = ((glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfv")) == NULL) || r; + r = ((glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameteriv")) == NULL) || r; + r = ((glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1D")) == NULL) || r; + r = ((glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2D")) == NULL) || r; + r = ((glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterf")) == NULL) || r; + r = ((glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfv")) == NULL) || r; + r = ((glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteri")) == NULL) || r; + r = ((glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriv")) == NULL) || r; + r = ((glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTable")) == NULL) || r; + r = ((glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTable")) == NULL) || r; + r = ((glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1D")) == NULL) || r; + r = ((glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2D")) == NULL) || r; + r = ((glGetColorTable = (PFNGLGETCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glGetColorTable")) == NULL) || r; + r = ((glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfv")) == NULL) || r; + r = ((glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameteriv")) == NULL) || r; + r = ((glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilter")) == NULL) || r; + r = ((glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfv")) == NULL) || r; + r = ((glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameteriv")) == NULL) || r; + r = ((glGetHistogram = (PFNGLGETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glGetHistogram")) == NULL) || r; + r = ((glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfv")) == NULL) || r; + r = ((glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameteriv")) == NULL) || r; + r = ((glGetMinmax = (PFNGLGETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glGetMinmax")) == NULL) || r; + r = ((glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfv")) == NULL) || r; + r = ((glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameteriv")) == NULL) || r; + r = ((glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilter")) == NULL) || r; + r = ((glHistogram = (PFNGLHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glHistogram")) == NULL) || r; + r = ((glMinmax = (PFNGLMINMAXPROC)glewGetProcAddress((const GLubyte*)"glMinmax")) == NULL) || r; + r = ((glResetHistogram = (PFNGLRESETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glResetHistogram")) == NULL) || r; + r = ((glResetMinmax = (PFNGLRESETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glResetMinmax")) == NULL) || r; + r = ((glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2D")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_imaging */ + +#ifdef GL_ARB_indirect_parameters + +static GLboolean _glewInit_GL_ARB_indirect_parameters () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectCountARB")) == NULL) || r; + r = ((glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectCountARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_indirect_parameters */ + +#ifdef GL_ARB_instanced_arrays + +static GLboolean _glewInit_GL_ARB_instanced_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedARB")) == NULL) || r; + r = ((glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedARB")) == NULL) || r; + r = ((glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_instanced_arrays */ + +#ifdef GL_ARB_internalformat_query + +static GLboolean _glewInit_GL_ARB_internalformat_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)glewGetProcAddress((const GLubyte*)"glGetInternalformativ")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_internalformat_query */ + +#ifdef GL_ARB_internalformat_query2 + +static GLboolean _glewInit_GL_ARB_internalformat_query2 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)glewGetProcAddress((const GLubyte*)"glGetInternalformati64v")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_internalformat_query2 */ + +#ifdef GL_ARB_invalidate_subdata + +static GLboolean _glewInit_GL_ARB_invalidate_subdata () +{ + GLboolean r = GL_FALSE; + + r = ((glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateBufferData")) == NULL) || r; + r = ((glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateBufferSubData")) == NULL) || r; + r = ((glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glInvalidateFramebuffer")) == NULL) || r; + r = ((glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glInvalidateSubFramebuffer")) == NULL) || r; + r = ((glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glInvalidateTexImage")) == NULL) || r; + r = ((glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glInvalidateTexSubImage")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_invalidate_subdata */ + +#ifdef GL_ARB_map_buffer_range + +static GLboolean _glewInit_GL_ARB_map_buffer_range () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRange")) == NULL) || r; + r = ((glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glMapBufferRange")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_map_buffer_range */ + +#ifdef GL_ARB_matrix_palette + +static GLboolean _glewInit_GL_ARB_matrix_palette () +{ + GLboolean r = GL_FALSE; + + r = ((glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)glewGetProcAddress((const GLubyte*)"glCurrentPaletteMatrixARB")) == NULL) || r; + r = ((glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexPointerARB")) == NULL) || r; + r = ((glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexubvARB")) == NULL) || r; + r = ((glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexuivARB")) == NULL) || r; + r = ((glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexusvARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_matrix_palette */ + +#ifdef GL_ARB_multi_bind + +static GLboolean _glewInit_GL_ARB_multi_bind () +{ + GLboolean r = GL_FALSE; + + r = ((glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)glewGetProcAddress((const GLubyte*)"glBindBuffersBase")) == NULL) || r; + r = ((glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)glewGetProcAddress((const GLubyte*)"glBindBuffersRange")) == NULL) || r; + r = ((glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)glewGetProcAddress((const GLubyte*)"glBindImageTextures")) == NULL) || r; + r = ((glBindSamplers = (PFNGLBINDSAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glBindSamplers")) == NULL) || r; + r = ((glBindTextures = (PFNGLBINDTEXTURESPROC)glewGetProcAddress((const GLubyte*)"glBindTextures")) == NULL) || r; + r = ((glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glBindVertexBuffers")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_multi_bind */ + +#ifdef GL_ARB_multi_draw_indirect + +static GLboolean _glewInit_GL_ARB_multi_draw_indirect () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirect")) == NULL) || r; + r = ((glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirect")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_multi_draw_indirect */ + +#ifdef GL_ARB_multisample + +static GLboolean _glewInit_GL_ARB_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverageARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_multisample */ + +#ifdef GL_ARB_multitexture + +static GLboolean _glewInit_GL_ARB_multitexture () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glActiveTextureARB")) == NULL) || r; + r = ((glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTextureARB")) == NULL) || r; + r = ((glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dARB")) == NULL) || r; + r = ((glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dvARB")) == NULL) || r; + r = ((glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fARB")) == NULL) || r; + r = ((glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fvARB")) == NULL) || r; + r = ((glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iARB")) == NULL) || r; + r = ((glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1ivARB")) == NULL) || r; + r = ((glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sARB")) == NULL) || r; + r = ((glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1svARB")) == NULL) || r; + r = ((glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dARB")) == NULL) || r; + r = ((glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dvARB")) == NULL) || r; + r = ((glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fARB")) == NULL) || r; + r = ((glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fvARB")) == NULL) || r; + r = ((glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iARB")) == NULL) || r; + r = ((glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2ivARB")) == NULL) || r; + r = ((glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sARB")) == NULL) || r; + r = ((glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2svARB")) == NULL) || r; + r = ((glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dARB")) == NULL) || r; + r = ((glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dvARB")) == NULL) || r; + r = ((glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fARB")) == NULL) || r; + r = ((glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fvARB")) == NULL) || r; + r = ((glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iARB")) == NULL) || r; + r = ((glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3ivARB")) == NULL) || r; + r = ((glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sARB")) == NULL) || r; + r = ((glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3svARB")) == NULL) || r; + r = ((glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dARB")) == NULL) || r; + r = ((glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dvARB")) == NULL) || r; + r = ((glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fARB")) == NULL) || r; + r = ((glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fvARB")) == NULL) || r; + r = ((glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iARB")) == NULL) || r; + r = ((glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4ivARB")) == NULL) || r; + r = ((glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sARB")) == NULL) || r; + r = ((glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4svARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_multitexture */ + +#ifdef GL_ARB_occlusion_query + +static GLboolean _glewInit_GL_ARB_occlusion_query () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryARB")) == NULL) || r; + r = ((glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueriesARB")) == NULL) || r; + r = ((glEndQueryARB = (PFNGLENDQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glEndQueryARB")) == NULL) || r; + r = ((glGenQueriesARB = (PFNGLGENQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glGenQueriesARB")) == NULL) || r; + r = ((glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectivARB")) == NULL) || r; + r = ((glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuivARB")) == NULL) || r; + r = ((glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryivARB")) == NULL) || r; + r = ((glIsQueryARB = (PFNGLISQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glIsQueryARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_occlusion_query */ + +#ifdef GL_ARB_parallel_shader_compile + +static GLboolean _glewInit_GL_ARB_parallel_shader_compile () +{ + GLboolean r = GL_FALSE; + + r = ((glMaxShaderCompilerThreadsARB = (PFNGLMAXSHADERCOMPILERTHREADSARBPROC)glewGetProcAddress((const GLubyte*)"glMaxShaderCompilerThreadsARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_parallel_shader_compile */ + +#ifdef GL_ARB_point_parameters + +static GLboolean _glewInit_GL_ARB_point_parameters () +{ + GLboolean r = GL_FALSE; + + r = ((glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfARB")) == NULL) || r; + r = ((glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_point_parameters */ + +#ifdef GL_ARB_polygon_offset_clamp + +static GLboolean _glewInit_GL_ARB_polygon_offset_clamp () +{ + GLboolean r = GL_FALSE; + + r = ((glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetClamp")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_polygon_offset_clamp */ + +#ifdef GL_ARB_program_interface_query + +static GLboolean _glewInit_GL_ARB_program_interface_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramInterfaceiv")) == NULL) || r; + r = ((glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceIndex")) == NULL) || r; + r = ((glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceLocation")) == NULL) || r; + r = ((glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceLocationIndex")) == NULL) || r; + r = ((glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceName")) == NULL) || r; + r = ((glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceiv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_program_interface_query */ + +#ifdef GL_ARB_provoking_vertex + +static GLboolean _glewInit_GL_ARB_provoking_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)glewGetProcAddress((const GLubyte*)"glProvokingVertex")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_provoking_vertex */ + +#ifdef GL_ARB_robustness + +static GLboolean _glewInit_GL_ARB_robustness () +{ + GLboolean r = GL_FALSE; + + r = ((glGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC)glewGetProcAddress((const GLubyte*)"glGetGraphicsResetStatusARB")) == NULL) || r; + r = ((glGetnColorTableARB = (PFNGLGETNCOLORTABLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnColorTableARB")) == NULL) || r; + r = ((glGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnCompressedTexImageARB")) == NULL) || r; + r = ((glGetnConvolutionFilterARB = (PFNGLGETNCONVOLUTIONFILTERARBPROC)glewGetProcAddress((const GLubyte*)"glGetnConvolutionFilterARB")) == NULL) || r; + r = ((glGetnHistogramARB = (PFNGLGETNHISTOGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glGetnHistogramARB")) == NULL) || r; + r = ((glGetnMapdvARB = (PFNGLGETNMAPDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapdvARB")) == NULL) || r; + r = ((glGetnMapfvARB = (PFNGLGETNMAPFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapfvARB")) == NULL) || r; + r = ((glGetnMapivARB = (PFNGLGETNMAPIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapivARB")) == NULL) || r; + r = ((glGetnMinmaxARB = (PFNGLGETNMINMAXARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMinmaxARB")) == NULL) || r; + r = ((glGetnPixelMapfvARB = (PFNGLGETNPIXELMAPFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapfvARB")) == NULL) || r; + r = ((glGetnPixelMapuivARB = (PFNGLGETNPIXELMAPUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapuivARB")) == NULL) || r; + r = ((glGetnPixelMapusvARB = (PFNGLGETNPIXELMAPUSVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapusvARB")) == NULL) || r; + r = ((glGetnPolygonStippleARB = (PFNGLGETNPOLYGONSTIPPLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPolygonStippleARB")) == NULL) || r; + r = ((glGetnSeparableFilterARB = (PFNGLGETNSEPARABLEFILTERARBPROC)glewGetProcAddress((const GLubyte*)"glGetnSeparableFilterARB")) == NULL) || r; + r = ((glGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnTexImageARB")) == NULL) || r; + r = ((glGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformdvARB")) == NULL) || r; + r = ((glGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformfvARB")) == NULL) || r; + r = ((glGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformivARB")) == NULL) || r; + r = ((glGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformuivARB")) == NULL) || r; + r = ((glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)glewGetProcAddress((const GLubyte*)"glReadnPixelsARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_robustness */ + +#ifdef GL_ARB_sample_locations + +static GLboolean _glewInit_GL_ARB_sample_locations () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferSampleLocationsfvARB = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferSampleLocationsfvARB")) == NULL) || r; + r = ((glNamedFramebufferSampleLocationsfvARB = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferSampleLocationsfvARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sample_locations */ + +#ifdef GL_ARB_sample_shading + +static GLboolean _glewInit_GL_ARB_sample_shading () +{ + GLboolean r = GL_FALSE; + + r = ((glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)glewGetProcAddress((const GLubyte*)"glMinSampleShadingARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sample_shading */ + +#ifdef GL_ARB_sampler_objects + +static GLboolean _glewInit_GL_ARB_sampler_objects () +{ + GLboolean r = GL_FALSE; + + r = ((glBindSampler = (PFNGLBINDSAMPLERPROC)glewGetProcAddress((const GLubyte*)"glBindSampler")) == NULL) || r; + r = ((glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteSamplers")) == NULL) || r; + r = ((glGenSamplers = (PFNGLGENSAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glGenSamplers")) == NULL) || r; + r = ((glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterIiv")) == NULL) || r; + r = ((glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterIuiv")) == NULL) || r; + r = ((glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterfv")) == NULL) || r; + r = ((glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameteriv")) == NULL) || r; + r = ((glIsSampler = (PFNGLISSAMPLERPROC)glewGetProcAddress((const GLubyte*)"glIsSampler")) == NULL) || r; + r = ((glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterIiv")) == NULL) || r; + r = ((glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterIuiv")) == NULL) || r; + r = ((glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterf")) == NULL) || r; + r = ((glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterfv")) == NULL) || r; + r = ((glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameteri")) == NULL) || r; + r = ((glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameteriv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sampler_objects */ + +#ifdef GL_ARB_separate_shader_objects + +static GLboolean _glewInit_GL_ARB_separate_shader_objects () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glActiveShaderProgram")) == NULL) || r; + r = ((glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glBindProgramPipeline")) == NULL) || r; + r = ((glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderProgramv")) == NULL) || r; + r = ((glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramPipelines")) == NULL) || r; + r = ((glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)glewGetProcAddress((const GLubyte*)"glGenProgramPipelines")) == NULL) || r; + r = ((glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetProgramPipelineInfoLog")) == NULL) || r; + r = ((glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramPipelineiv")) == NULL) || r; + r = ((glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glIsProgramPipeline")) == NULL) || r; + r = ((glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1d")) == NULL) || r; + r = ((glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1dv")) == NULL) || r; + r = ((glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1f")) == NULL) || r; + r = ((glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fv")) == NULL) || r; + r = ((glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i")) == NULL) || r; + r = ((glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1iv")) == NULL) || r; + r = ((glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui")) == NULL) || r; + r = ((glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uiv")) == NULL) || r; + r = ((glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2d")) == NULL) || r; + r = ((glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2dv")) == NULL) || r; + r = ((glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2f")) == NULL) || r; + r = ((glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fv")) == NULL) || r; + r = ((glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i")) == NULL) || r; + r = ((glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2iv")) == NULL) || r; + r = ((glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui")) == NULL) || r; + r = ((glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uiv")) == NULL) || r; + r = ((glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3d")) == NULL) || r; + r = ((glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3dv")) == NULL) || r; + r = ((glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3f")) == NULL) || r; + r = ((glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fv")) == NULL) || r; + r = ((glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i")) == NULL) || r; + r = ((glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3iv")) == NULL) || r; + r = ((glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui")) == NULL) || r; + r = ((glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uiv")) == NULL) || r; + r = ((glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4d")) == NULL) || r; + r = ((glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4dv")) == NULL) || r; + r = ((glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4f")) == NULL) || r; + r = ((glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fv")) == NULL) || r; + r = ((glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i")) == NULL) || r; + r = ((glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4iv")) == NULL) || r; + r = ((glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui")) == NULL) || r; + r = ((glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uiv")) == NULL) || r; + r = ((glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2dv")) == NULL) || r; + r = ((glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2fv")) == NULL) || r; + r = ((glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3dv")) == NULL) || r; + r = ((glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3fv")) == NULL) || r; + r = ((glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4dv")) == NULL) || r; + r = ((glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4fv")) == NULL) || r; + r = ((glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3dv")) == NULL) || r; + r = ((glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3fv")) == NULL) || r; + r = ((glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2dv")) == NULL) || r; + r = ((glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2fv")) == NULL) || r; + r = ((glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4dv")) == NULL) || r; + r = ((glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4fv")) == NULL) || r; + r = ((glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4dv")) == NULL) || r; + r = ((glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4fv")) == NULL) || r; + r = ((glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2dv")) == NULL) || r; + r = ((glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2fv")) == NULL) || r; + r = ((glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3dv")) == NULL) || r; + r = ((glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3fv")) == NULL) || r; + r = ((glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)glewGetProcAddress((const GLubyte*)"glUseProgramStages")) == NULL) || r; + r = ((glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glValidateProgramPipeline")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_separate_shader_objects */ + +#ifdef GL_ARB_shader_atomic_counters + +static GLboolean _glewInit_GL_ARB_shader_atomic_counters () +{ + GLboolean r = GL_FALSE; + + r = ((glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAtomicCounterBufferiv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shader_atomic_counters */ + +#ifdef GL_ARB_shader_image_load_store + +static GLboolean _glewInit_GL_ARB_shader_image_load_store () +{ + GLboolean r = GL_FALSE; + + r = ((glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glBindImageTexture")) == NULL) || r; + r = ((glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)glewGetProcAddress((const GLubyte*)"glMemoryBarrier")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shader_image_load_store */ + +#ifdef GL_ARB_shader_objects + +static GLboolean _glewInit_GL_ARB_shader_objects () +{ + GLboolean r = GL_FALSE; + + r = ((glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glAttachObjectARB")) == NULL) || r; + r = ((glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)glewGetProcAddress((const GLubyte*)"glCompileShaderARB")) == NULL) || r; + r = ((glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateProgramObjectARB")) == NULL) || r; + r = ((glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderObjectARB")) == NULL) || r; + r = ((glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteObjectARB")) == NULL) || r; + r = ((glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDetachObjectARB")) == NULL) || r; + r = ((glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformARB")) == NULL) || r; + r = ((glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedObjectsARB")) == NULL) || r; + r = ((glGetHandleARB = (PFNGLGETHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetHandleARB")) == NULL) || r; + r = ((glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)glewGetProcAddress((const GLubyte*)"glGetInfoLogARB")) == NULL) || r; + r = ((glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterfvARB")) == NULL) || r; + r = ((glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterivARB")) == NULL) || r; + r = ((glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSourceARB")) == NULL) || r; + r = ((glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocationARB")) == NULL) || r; + r = ((glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfvARB")) == NULL) || r; + r = ((glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformivARB")) == NULL) || r; + r = ((glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glLinkProgramARB")) == NULL) || r; + r = ((glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glShaderSourceARB")) == NULL) || r; + r = ((glUniform1fARB = (PFNGLUNIFORM1FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fARB")) == NULL) || r; + r = ((glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fvARB")) == NULL) || r; + r = ((glUniform1iARB = (PFNGLUNIFORM1IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1iARB")) == NULL) || r; + r = ((glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1ivARB")) == NULL) || r; + r = ((glUniform2fARB = (PFNGLUNIFORM2FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fARB")) == NULL) || r; + r = ((glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fvARB")) == NULL) || r; + r = ((glUniform2iARB = (PFNGLUNIFORM2IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2iARB")) == NULL) || r; + r = ((glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2ivARB")) == NULL) || r; + r = ((glUniform3fARB = (PFNGLUNIFORM3FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fARB")) == NULL) || r; + r = ((glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fvARB")) == NULL) || r; + r = ((glUniform3iARB = (PFNGLUNIFORM3IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3iARB")) == NULL) || r; + r = ((glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3ivARB")) == NULL) || r; + r = ((glUniform4fARB = (PFNGLUNIFORM4FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fARB")) == NULL) || r; + r = ((glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fvARB")) == NULL) || r; + r = ((glUniform4iARB = (PFNGLUNIFORM4IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4iARB")) == NULL) || r; + r = ((glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4ivARB")) == NULL) || r; + r = ((glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fvARB")) == NULL) || r; + r = ((glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fvARB")) == NULL) || r; + r = ((glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fvARB")) == NULL) || r; + r = ((glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glUseProgramObjectARB")) == NULL) || r; + r = ((glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glValidateProgramARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shader_objects */ + +#ifdef GL_ARB_shader_storage_buffer_object + +static GLboolean _glewInit_GL_ARB_shader_storage_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)glewGetProcAddress((const GLubyte*)"glShaderStorageBlockBinding")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shader_storage_buffer_object */ + +#ifdef GL_ARB_shader_subroutine + +static GLboolean _glewInit_GL_ARB_shader_subroutine () +{ + GLboolean r = GL_FALSE; + + r = ((glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineName")) == NULL) || r; + r = ((glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineUniformName")) == NULL) || r; + r = ((glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineUniformiv")) == NULL) || r; + r = ((glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStageiv")) == NULL) || r; + r = ((glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetSubroutineIndex")) == NULL) || r; + r = ((glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetSubroutineUniformLocation")) == NULL) || r; + r = ((glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformSubroutineuiv")) == NULL) || r; + r = ((glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)glewGetProcAddress((const GLubyte*)"glUniformSubroutinesuiv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shader_subroutine */ + +#ifdef GL_ARB_shading_language_include + +static GLboolean _glewInit_GL_ARB_shading_language_include () +{ + GLboolean r = GL_FALSE; + + r = ((glCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC)glewGetProcAddress((const GLubyte*)"glCompileShaderIncludeARB")) == NULL) || r; + r = ((glDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteNamedStringARB")) == NULL) || r; + r = ((glGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glGetNamedStringARB")) == NULL) || r; + r = ((glGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetNamedStringivARB")) == NULL) || r; + r = ((glIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glIsNamedStringARB")) == NULL) || r; + r = ((glNamedStringARB = (PFNGLNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glNamedStringARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_shading_language_include */ + +#ifdef GL_ARB_sparse_buffer + +static GLboolean _glewInit_GL_ARB_sparse_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferPageCommitmentARB = (PFNGLBUFFERPAGECOMMITMENTARBPROC)glewGetProcAddress((const GLubyte*)"glBufferPageCommitmentARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sparse_buffer */ + +#ifdef GL_ARB_sparse_texture + +static GLboolean _glewInit_GL_ARB_sparse_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glTexPageCommitmentARB = (PFNGLTEXPAGECOMMITMENTARBPROC)glewGetProcAddress((const GLubyte*)"glTexPageCommitmentARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sparse_texture */ + +#ifdef GL_ARB_sync + +static GLboolean _glewInit_GL_ARB_sync () +{ + GLboolean r = GL_FALSE; + + r = ((glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"glClientWaitSync")) == NULL) || r; + r = ((glDeleteSync = (PFNGLDELETESYNCPROC)glewGetProcAddress((const GLubyte*)"glDeleteSync")) == NULL) || r; + r = ((glFenceSync = (PFNGLFENCESYNCPROC)glewGetProcAddress((const GLubyte*)"glFenceSync")) == NULL) || r; + r = ((glGetInteger64v = (PFNGLGETINTEGER64VPROC)glewGetProcAddress((const GLubyte*)"glGetInteger64v")) == NULL) || r; + r = ((glGetSynciv = (PFNGLGETSYNCIVPROC)glewGetProcAddress((const GLubyte*)"glGetSynciv")) == NULL) || r; + r = ((glIsSync = (PFNGLISSYNCPROC)glewGetProcAddress((const GLubyte*)"glIsSync")) == NULL) || r; + r = ((glWaitSync = (PFNGLWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"glWaitSync")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_sync */ + +#ifdef GL_ARB_tessellation_shader + +static GLboolean _glewInit_GL_ARB_tessellation_shader () +{ + GLboolean r = GL_FALSE; + + r = ((glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glPatchParameterfv")) == NULL) || r; + r = ((glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glPatchParameteri")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_tessellation_shader */ + +#ifdef GL_ARB_texture_barrier + +static GLboolean _glewInit_GL_ARB_texture_barrier () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureBarrier = (PFNGLTEXTUREBARRIERPROC)glewGetProcAddress((const GLubyte*)"glTextureBarrier")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_barrier */ + +#ifdef GL_ARB_texture_buffer_object + +static GLboolean _glewInit_GL_ARB_texture_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glTexBufferARB = (PFNGLTEXBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glTexBufferARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_buffer_object */ + +#ifdef GL_ARB_texture_buffer_range + +static GLboolean _glewInit_GL_ARB_texture_buffer_range () +{ + GLboolean r = GL_FALSE; + + r = ((glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glTexBufferRange")) == NULL) || r; + r = ((glTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferRangeEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_buffer_range */ + +#ifdef GL_ARB_texture_compression + +static GLboolean _glewInit_GL_ARB_texture_compression () +{ + GLboolean r = GL_FALSE; + + r = ((glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1DARB")) == NULL) || r; + r = ((glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2DARB")) == NULL) || r; + r = ((glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3DARB")) == NULL) || r; + r = ((glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1DARB")) == NULL) || r; + r = ((glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2DARB")) == NULL) || r; + r = ((glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3DARB")) == NULL) || r; + r = ((glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImageARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_compression */ + +#ifdef GL_ARB_texture_multisample + +static GLboolean _glewInit_GL_ARB_texture_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)glewGetProcAddress((const GLubyte*)"glGetMultisamplefv")) == NULL) || r; + r = ((glSampleMaski = (PFNGLSAMPLEMASKIPROC)glewGetProcAddress((const GLubyte*)"glSampleMaski")) == NULL) || r; + r = ((glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexImage2DMultisample")) == NULL) || r; + r = ((glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DMultisample")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_multisample */ + +#ifdef GL_ARB_texture_storage + +static GLboolean _glewInit_GL_ARB_texture_storage () +{ + GLboolean r = GL_FALSE; + + r = ((glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage1D")) == NULL) || r; + r = ((glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage2D")) == NULL) || r; + r = ((glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage3D")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_storage */ + +#ifdef GL_ARB_texture_storage_multisample + +static GLboolean _glewInit_GL_ARB_texture_storage_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexStorage2DMultisample")) == NULL) || r; + r = ((glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexStorage3DMultisample")) == NULL) || r; + r = ((glTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2DMultisampleEXT")) == NULL) || r; + r = ((glTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3DMultisampleEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_storage_multisample */ + +#ifdef GL_ARB_texture_view + +static GLboolean _glewInit_GL_ARB_texture_view () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureView = (PFNGLTEXTUREVIEWPROC)glewGetProcAddress((const GLubyte*)"glTextureView")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_texture_view */ + +#ifdef GL_ARB_timer_query + +static GLboolean _glewInit_GL_ARB_timer_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64v")) == NULL) || r; + r = ((glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64v")) == NULL) || r; + r = ((glQueryCounter = (PFNGLQUERYCOUNTERPROC)glewGetProcAddress((const GLubyte*)"glQueryCounter")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_timer_query */ + +#ifdef GL_ARB_transform_feedback2 + +static GLboolean _glewInit_GL_ARB_transform_feedback2 () +{ + GLboolean r = GL_FALSE; + + r = ((glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glBindTransformFeedback")) == NULL) || r; + r = ((glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)glewGetProcAddress((const GLubyte*)"glDeleteTransformFeedbacks")) == NULL) || r; + r = ((glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedback")) == NULL) || r; + r = ((glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)glewGetProcAddress((const GLubyte*)"glGenTransformFeedbacks")) == NULL) || r; + r = ((glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glIsTransformFeedback")) == NULL) || r; + r = ((glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glPauseTransformFeedback")) == NULL) || r; + r = ((glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glResumeTransformFeedback")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_transform_feedback2 */ + +#ifdef GL_ARB_transform_feedback3 + +static GLboolean _glewInit_GL_ARB_transform_feedback3 () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryIndexed")) == NULL) || r; + r = ((glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackStream")) == NULL) || r; + r = ((glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glEndQueryIndexed")) == NULL) || r; + r = ((glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryIndexediv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_transform_feedback3 */ + +#ifdef GL_ARB_transform_feedback_instanced + +static GLboolean _glewInit_GL_ARB_transform_feedback_instanced () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackInstanced")) == NULL) || r; + r = ((glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackStreamInstanced")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_transform_feedback_instanced */ + +#ifdef GL_ARB_transpose_matrix + +static GLboolean _glewInit_GL_ARB_transpose_matrix () +{ + GLboolean r = GL_FALSE; + + r = ((glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixdARB")) == NULL) || r; + r = ((glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixfARB")) == NULL) || r; + r = ((glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixdARB")) == NULL) || r; + r = ((glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixfARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_transpose_matrix */ + +#ifdef GL_ARB_uniform_buffer_object + +static GLboolean _glewInit_GL_ARB_uniform_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBase")) == NULL) || r; + r = ((glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRange")) == NULL) || r; + r = ((glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformBlockName")) == NULL) || r; + r = ((glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformBlockiv")) == NULL) || r; + r = ((glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformName")) == NULL) || r; + r = ((glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformsiv")) == NULL) || r; + r = ((glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)glewGetProcAddress((const GLubyte*)"glGetIntegeri_v")) == NULL) || r; + r = ((glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetUniformBlockIndex")) == NULL) || r; + r = ((glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)glewGetProcAddress((const GLubyte*)"glGetUniformIndices")) == NULL) || r; + r = ((glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)glewGetProcAddress((const GLubyte*)"glUniformBlockBinding")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_uniform_buffer_object */ + +#ifdef GL_ARB_vertex_array_object + +static GLboolean _glewInit_GL_ARB_vertex_array_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArray")) == NULL) || r; + r = ((glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArrays")) == NULL) || r; + r = ((glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArrays")) == NULL) || r; + r = ((glIsVertexArray = (PFNGLISVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArray")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_array_object */ + +#ifdef GL_ARB_vertex_attrib_64bit + +static GLboolean _glewInit_GL_ARB_vertex_attrib_64bit () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLdv")) == NULL) || r; + r = ((glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1d")) == NULL) || r; + r = ((glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dv")) == NULL) || r; + r = ((glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2d")) == NULL) || r; + r = ((glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dv")) == NULL) || r; + r = ((glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3d")) == NULL) || r; + r = ((glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dv")) == NULL) || r; + r = ((glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4d")) == NULL) || r; + r = ((glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dv")) == NULL) || r; + r = ((glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLPointer")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_attrib_64bit */ + +#ifdef GL_ARB_vertex_attrib_binding + +static GLboolean _glewInit_GL_ARB_vertex_attrib_binding () +{ + GLboolean r = GL_FALSE; + + r = ((glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindVertexBuffer")) == NULL) || r; + r = ((glVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayBindVertexBufferEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribBindingEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribFormatEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribIFormatEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribLFormatEXT")) == NULL) || r; + r = ((glVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexBindingDivisorEXT")) == NULL) || r; + r = ((glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribBinding")) == NULL) || r; + r = ((glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribFormat")) == NULL) || r; + r = ((glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIFormat")) == NULL) || r; + r = ((glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLFormat")) == NULL) || r; + r = ((glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)glewGetProcAddress((const GLubyte*)"glVertexBindingDivisor")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_attrib_binding */ + +#ifdef GL_ARB_vertex_blend + +static GLboolean _glewInit_GL_ARB_vertex_blend () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendARB")) == NULL) || r; + r = ((glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glWeightPointerARB")) == NULL) || r; + r = ((glWeightbvARB = (PFNGLWEIGHTBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightbvARB")) == NULL) || r; + r = ((glWeightdvARB = (PFNGLWEIGHTDVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightdvARB")) == NULL) || r; + r = ((glWeightfvARB = (PFNGLWEIGHTFVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightfvARB")) == NULL) || r; + r = ((glWeightivARB = (PFNGLWEIGHTIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightivARB")) == NULL) || r; + r = ((glWeightsvARB = (PFNGLWEIGHTSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightsvARB")) == NULL) || r; + r = ((glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightubvARB")) == NULL) || r; + r = ((glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightuivARB")) == NULL) || r; + r = ((glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightusvARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_blend */ + +#ifdef GL_ARB_vertex_buffer_object + +static GLboolean _glewInit_GL_ARB_vertex_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glBindBufferARB")) == NULL) || r; + r = ((glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferDataARB")) == NULL) || r; + r = ((glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferSubDataARB")) == NULL) || r; + r = ((glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffersARB")) == NULL) || r; + r = ((glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glGenBuffersARB")) == NULL) || r; + r = ((glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameterivARB")) == NULL) || r; + r = ((glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointervARB")) == NULL) || r; + r = ((glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubDataARB")) == NULL) || r; + r = ((glIsBufferARB = (PFNGLISBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glIsBufferARB")) == NULL) || r; + r = ((glMapBufferARB = (PFNGLMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glMapBufferARB")) == NULL) || r; + r = ((glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glUnmapBufferARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_buffer_object */ + +#ifdef GL_ARB_vertex_program + +static GLboolean _glewInit_GL_ARB_vertex_program () +{ + GLboolean r = GL_FALSE; + + r = ((glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glBindProgramARB")) == NULL) || r; + r = ((glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsARB")) == NULL) || r; + r = ((glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArrayARB")) == NULL) || r; + r = ((glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArrayARB")) == NULL) || r; + r = ((glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsARB")) == NULL) || r; + r = ((glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterdvARB")) == NULL) || r; + r = ((glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterfvARB")) == NULL) || r; + r = ((glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterdvARB")) == NULL) || r; + r = ((glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterfvARB")) == NULL) || r; + r = ((glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringARB")) == NULL) || r; + r = ((glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivARB")) == NULL) || r; + r = ((glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervARB")) == NULL) || r; + r = ((glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvARB")) == NULL) || r; + r = ((glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvARB")) == NULL) || r; + r = ((glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivARB")) == NULL) || r; + r = ((glIsProgramARB = (PFNGLISPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glIsProgramARB")) == NULL) || r; + r = ((glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dARB")) == NULL) || r; + r = ((glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dvARB")) == NULL) || r; + r = ((glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fARB")) == NULL) || r; + r = ((glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fvARB")) == NULL) || r; + r = ((glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dARB")) == NULL) || r; + r = ((glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dvARB")) == NULL) || r; + r = ((glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fARB")) == NULL) || r; + r = ((glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fvARB")) == NULL) || r; + r = ((glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glProgramStringARB")) == NULL) || r; + r = ((glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dARB")) == NULL) || r; + r = ((glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvARB")) == NULL) || r; + r = ((glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fARB")) == NULL) || r; + r = ((glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvARB")) == NULL) || r; + r = ((glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sARB")) == NULL) || r; + r = ((glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svARB")) == NULL) || r; + r = ((glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dARB")) == NULL) || r; + r = ((glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvARB")) == NULL) || r; + r = ((glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fARB")) == NULL) || r; + r = ((glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvARB")) == NULL) || r; + r = ((glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sARB")) == NULL) || r; + r = ((glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svARB")) == NULL) || r; + r = ((glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dARB")) == NULL) || r; + r = ((glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvARB")) == NULL) || r; + r = ((glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fARB")) == NULL) || r; + r = ((glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvARB")) == NULL) || r; + r = ((glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sARB")) == NULL) || r; + r = ((glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svARB")) == NULL) || r; + r = ((glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NbvARB")) == NULL) || r; + r = ((glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NivARB")) == NULL) || r; + r = ((glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NsvARB")) == NULL) || r; + r = ((glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubARB")) == NULL) || r; + r = ((glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubvARB")) == NULL) || r; + r = ((glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NuivARB")) == NULL) || r; + r = ((glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NusvARB")) == NULL) || r; + r = ((glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bvARB")) == NULL) || r; + r = ((glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dARB")) == NULL) || r; + r = ((glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvARB")) == NULL) || r; + r = ((glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fARB")) == NULL) || r; + r = ((glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvARB")) == NULL) || r; + r = ((glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ivARB")) == NULL) || r; + r = ((glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sARB")) == NULL) || r; + r = ((glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svARB")) == NULL) || r; + r = ((glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvARB")) == NULL) || r; + r = ((glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uivARB")) == NULL) || r; + r = ((glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usvARB")) == NULL) || r; + r = ((glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_program */ + +#ifdef GL_ARB_vertex_shader + +static GLboolean _glewInit_GL_ARB_vertex_shader () +{ + GLboolean r = GL_FALSE; + + r = ((glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocationARB")) == NULL) || r; + r = ((glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttribARB")) == NULL) || r; + r = ((glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocationARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_shader */ + +#ifdef GL_ARB_vertex_type_2_10_10_10_rev + +static GLboolean _glewInit_GL_ARB_vertex_type_2_10_10_10_rev () +{ + GLboolean r = GL_FALSE; + + r = ((glColorP3ui = (PFNGLCOLORP3UIPROC)glewGetProcAddress((const GLubyte*)"glColorP3ui")) == NULL) || r; + r = ((glColorP3uiv = (PFNGLCOLORP3UIVPROC)glewGetProcAddress((const GLubyte*)"glColorP3uiv")) == NULL) || r; + r = ((glColorP4ui = (PFNGLCOLORP4UIPROC)glewGetProcAddress((const GLubyte*)"glColorP4ui")) == NULL) || r; + r = ((glColorP4uiv = (PFNGLCOLORP4UIVPROC)glewGetProcAddress((const GLubyte*)"glColorP4uiv")) == NULL) || r; + r = ((glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP1ui")) == NULL) || r; + r = ((glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP1uiv")) == NULL) || r; + r = ((glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP2ui")) == NULL) || r; + r = ((glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP2uiv")) == NULL) || r; + r = ((glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP3ui")) == NULL) || r; + r = ((glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP3uiv")) == NULL) || r; + r = ((glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP4ui")) == NULL) || r; + r = ((glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP4uiv")) == NULL) || r; + r = ((glNormalP3ui = (PFNGLNORMALP3UIPROC)glewGetProcAddress((const GLubyte*)"glNormalP3ui")) == NULL) || r; + r = ((glNormalP3uiv = (PFNGLNORMALP3UIVPROC)glewGetProcAddress((const GLubyte*)"glNormalP3uiv")) == NULL) || r; + r = ((glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorP3ui")) == NULL) || r; + r = ((glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorP3uiv")) == NULL) || r; + r = ((glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP1ui")) == NULL) || r; + r = ((glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP1uiv")) == NULL) || r; + r = ((glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP2ui")) == NULL) || r; + r = ((glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP2uiv")) == NULL) || r; + r = ((glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP3ui")) == NULL) || r; + r = ((glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP3uiv")) == NULL) || r; + r = ((glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP4ui")) == NULL) || r; + r = ((glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP4uiv")) == NULL) || r; + r = ((glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP1ui")) == NULL) || r; + r = ((glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP1uiv")) == NULL) || r; + r = ((glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP2ui")) == NULL) || r; + r = ((glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP2uiv")) == NULL) || r; + r = ((glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP3ui")) == NULL) || r; + r = ((glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP3uiv")) == NULL) || r; + r = ((glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP4ui")) == NULL) || r; + r = ((glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP4uiv")) == NULL) || r; + r = ((glVertexP2ui = (PFNGLVERTEXP2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP2ui")) == NULL) || r; + r = ((glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP2uiv")) == NULL) || r; + r = ((glVertexP3ui = (PFNGLVERTEXP3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP3ui")) == NULL) || r; + r = ((glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP3uiv")) == NULL) || r; + r = ((glVertexP4ui = (PFNGLVERTEXP4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP4ui")) == NULL) || r; + r = ((glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP4uiv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ + +#ifdef GL_ARB_viewport_array + +static GLboolean _glewInit_GL_ARB_viewport_array () +{ + GLboolean r = GL_FALSE; + + r = ((glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeArrayv")) == NULL) || r; + r = ((glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeIndexed")) == NULL) || r; + r = ((glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)glewGetProcAddress((const GLubyte*)"glGetDoublei_v")) == NULL) || r; + r = ((glGetFloati_v = (PFNGLGETFLOATI_VPROC)glewGetProcAddress((const GLubyte*)"glGetFloati_v")) == NULL) || r; + r = ((glScissorArrayv = (PFNGLSCISSORARRAYVPROC)glewGetProcAddress((const GLubyte*)"glScissorArrayv")) == NULL) || r; + r = ((glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexed")) == NULL) || r; + r = ((glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexedv")) == NULL) || r; + r = ((glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)glewGetProcAddress((const GLubyte*)"glViewportArrayv")) == NULL) || r; + r = ((glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedf")) == NULL) || r; + r = ((glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedfv")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_viewport_array */ + +#ifdef GL_ARB_window_pos + +static GLboolean _glewInit_GL_ARB_window_pos () +{ + GLboolean r = GL_FALSE; + + r = ((glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dARB")) == NULL) || r; + r = ((glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvARB")) == NULL) || r; + r = ((glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fARB")) == NULL) || r; + r = ((glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvARB")) == NULL) || r; + r = ((glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iARB")) == NULL) || r; + r = ((glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivARB")) == NULL) || r; + r = ((glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sARB")) == NULL) || r; + r = ((glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svARB")) == NULL) || r; + r = ((glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dARB")) == NULL) || r; + r = ((glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvARB")) == NULL) || r; + r = ((glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fARB")) == NULL) || r; + r = ((glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvARB")) == NULL) || r; + r = ((glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iARB")) == NULL) || r; + r = ((glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivARB")) == NULL) || r; + r = ((glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sARB")) == NULL) || r; + r = ((glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svARB")) == NULL) || r; + + return r; +} + +#endif /* GL_ARB_window_pos */ + +#ifdef GL_ATI_draw_buffers + +static GLboolean _glewInit_GL_ATI_draw_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_draw_buffers */ + +#ifdef GL_ATI_element_array + +static GLboolean _glewInit_GL_ATI_element_array () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayATI")) == NULL) || r; + r = ((glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayATI")) == NULL) || r; + r = ((glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)glewGetProcAddress((const GLubyte*)"glElementPointerATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_element_array */ + +#ifdef GL_ATI_envmap_bumpmap + +static GLboolean _glewInit_GL_ATI_envmap_bumpmap () +{ + GLboolean r = GL_FALSE; + + r = ((glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterfvATI")) == NULL) || r; + r = ((glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterivATI")) == NULL) || r; + r = ((glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterfvATI")) == NULL) || r; + r = ((glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterivATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_envmap_bumpmap */ + +#ifdef GL_ATI_fragment_shader + +static GLboolean _glewInit_GL_ATI_fragment_shader () +{ + GLboolean r = GL_FALSE; + + r = ((glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp1ATI")) == NULL) || r; + r = ((glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp2ATI")) == NULL) || r; + r = ((glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp3ATI")) == NULL) || r; + r = ((glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBeginFragmentShaderATI")) == NULL) || r; + r = ((glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBindFragmentShaderATI")) == NULL) || r; + r = ((glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp1ATI")) == NULL) || r; + r = ((glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp2ATI")) == NULL) || r; + r = ((glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp3ATI")) == NULL) || r; + r = ((glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glDeleteFragmentShaderATI")) == NULL) || r; + r = ((glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glEndFragmentShaderATI")) == NULL) || r; + r = ((glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)glewGetProcAddress((const GLubyte*)"glGenFragmentShadersATI")) == NULL) || r; + r = ((glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)glewGetProcAddress((const GLubyte*)"glPassTexCoordATI")) == NULL) || r; + r = ((glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)glewGetProcAddress((const GLubyte*)"glSampleMapATI")) == NULL) || r; + r = ((glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)glewGetProcAddress((const GLubyte*)"glSetFragmentShaderConstantATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_fragment_shader */ + +#ifdef GL_ATI_map_object_buffer + +static GLboolean _glewInit_GL_ATI_map_object_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glMapObjectBufferATI")) == NULL) || r; + r = ((glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUnmapObjectBufferATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_map_object_buffer */ + +#ifdef GL_ATI_pn_triangles + +static GLboolean _glewInit_GL_ATI_pn_triangles () +{ + GLboolean r = GL_FALSE; + + r = ((glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesfATI")) == NULL) || r; + r = ((glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesiATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_pn_triangles */ + +#ifdef GL_ATI_separate_stencil + +static GLboolean _glewInit_GL_ATI_separate_stencil () +{ + GLboolean r = GL_FALSE; + + r = ((glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparateATI")) == NULL) || r; + r = ((glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparateATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_separate_stencil */ + +#ifdef GL_ATI_vertex_array_object + +static GLboolean _glewInit_GL_ATI_vertex_array_object () +{ + GLboolean r = GL_FALSE; + + r = ((glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glArrayObjectATI")) == NULL) || r; + r = ((glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glFreeObjectBufferATI")) == NULL) || r; + r = ((glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectfvATI")) == NULL) || r; + r = ((glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectivATI")) == NULL) || r; + r = ((glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferfvATI")) == NULL) || r; + r = ((glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferivATI")) == NULL) || r; + r = ((glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectfvATI")) == NULL) || r; + r = ((glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectivATI")) == NULL) || r; + r = ((glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glIsObjectBufferATI")) == NULL) || r; + r = ((glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glNewObjectBufferATI")) == NULL) || r; + r = ((glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUpdateObjectBufferATI")) == NULL) || r; + r = ((glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVariantArrayObjectATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_vertex_array_object */ + +#ifdef GL_ATI_vertex_attrib_array_object + +static GLboolean _glewInit_GL_ATI_vertex_attrib_array_object () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectfvATI")) == NULL) || r; + r = ((glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectivATI")) == NULL) || r; + r = ((glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribArrayObjectATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_vertex_attrib_array_object */ + +#ifdef GL_ATI_vertex_streams + +static GLboolean _glewInit_GL_ATI_vertex_streams () +{ + GLboolean r = GL_FALSE; + + r = ((glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)glewGetProcAddress((const GLubyte*)"glClientActiveVertexStreamATI")) == NULL) || r; + r = ((glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bATI")) == NULL) || r; + r = ((glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bvATI")) == NULL) || r; + r = ((glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dATI")) == NULL) || r; + r = ((glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dvATI")) == NULL) || r; + r = ((glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fATI")) == NULL) || r; + r = ((glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fvATI")) == NULL) || r; + r = ((glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3iATI")) == NULL) || r; + r = ((glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3ivATI")) == NULL) || r; + r = ((glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3sATI")) == NULL) || r; + r = ((glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3svATI")) == NULL) || r; + r = ((glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnvfATI")) == NULL) || r; + r = ((glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnviATI")) == NULL) || r; + r = ((glVertexStream1dATI = (PFNGLVERTEXSTREAM1DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1dATI")) == NULL) || r; + r = ((glVertexStream1dvATI = (PFNGLVERTEXSTREAM1DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1dvATI")) == NULL) || r; + r = ((glVertexStream1fATI = (PFNGLVERTEXSTREAM1FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1fATI")) == NULL) || r; + r = ((glVertexStream1fvATI = (PFNGLVERTEXSTREAM1FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1fvATI")) == NULL) || r; + r = ((glVertexStream1iATI = (PFNGLVERTEXSTREAM1IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1iATI")) == NULL) || r; + r = ((glVertexStream1ivATI = (PFNGLVERTEXSTREAM1IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1ivATI")) == NULL) || r; + r = ((glVertexStream1sATI = (PFNGLVERTEXSTREAM1SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1sATI")) == NULL) || r; + r = ((glVertexStream1svATI = (PFNGLVERTEXSTREAM1SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1svATI")) == NULL) || r; + r = ((glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dATI")) == NULL) || r; + r = ((glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dvATI")) == NULL) || r; + r = ((glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fATI")) == NULL) || r; + r = ((glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fvATI")) == NULL) || r; + r = ((glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2iATI")) == NULL) || r; + r = ((glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2ivATI")) == NULL) || r; + r = ((glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2sATI")) == NULL) || r; + r = ((glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2svATI")) == NULL) || r; + r = ((glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dATI")) == NULL) || r; + r = ((glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dvATI")) == NULL) || r; + r = ((glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fATI")) == NULL) || r; + r = ((glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fvATI")) == NULL) || r; + r = ((glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3iATI")) == NULL) || r; + r = ((glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3ivATI")) == NULL) || r; + r = ((glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3sATI")) == NULL) || r; + r = ((glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3svATI")) == NULL) || r; + r = ((glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dATI")) == NULL) || r; + r = ((glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dvATI")) == NULL) || r; + r = ((glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fATI")) == NULL) || r; + r = ((glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fvATI")) == NULL) || r; + r = ((glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4iATI")) == NULL) || r; + r = ((glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4ivATI")) == NULL) || r; + r = ((glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4sATI")) == NULL) || r; + r = ((glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4svATI")) == NULL) || r; + + return r; +} + +#endif /* GL_ATI_vertex_streams */ + +#ifdef GL_EXT_base_instance + +static GLboolean _glewInit_GL_EXT_base_instance () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedBaseInstanceEXT = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedBaseInstanceEXT")) == NULL) || r; + r = ((glDrawElementsInstancedBaseInstanceEXT = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseInstanceEXT")) == NULL) || r; + r = ((glDrawElementsInstancedBaseVertexBaseInstanceEXT = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertexBaseInstanceEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_base_instance */ + +#ifdef GL_EXT_bindable_uniform + +static GLboolean _glewInit_GL_EXT_bindable_uniform () +{ + GLboolean r = GL_FALSE; + + r = ((glGetUniformBufferSizeEXT = (PFNGLGETUNIFORMBUFFERSIZEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformBufferSizeEXT")) == NULL) || r; + r = ((glGetUniformOffsetEXT = (PFNGLGETUNIFORMOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformOffsetEXT")) == NULL) || r; + r = ((glUniformBufferEXT = (PFNGLUNIFORMBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUniformBufferEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_bindable_uniform */ + +#ifdef GL_EXT_blend_color + +static GLboolean _glewInit_GL_EXT_blend_color () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)glewGetProcAddress((const GLubyte*)"glBlendColorEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_blend_color */ + +#ifdef GL_EXT_blend_equation_separate + +static GLboolean _glewInit_GL_EXT_blend_equation_separate () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_blend_equation_separate */ + +#ifdef GL_EXT_blend_func_extended + +static GLboolean _glewInit_GL_EXT_blend_func_extended () +{ + GLboolean r = GL_FALSE; + + r = ((glBindFragDataLocationIndexedEXT = (PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationIndexedEXT")) == NULL) || r; + r = ((glGetFragDataIndexEXT = (PFNGLGETFRAGDATAINDEXEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataIndexEXT")) == NULL) || r; + r = ((glGetProgramResourceLocationIndexEXT = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceLocationIndexEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_blend_func_extended */ + +#ifdef GL_EXT_blend_func_separate + +static GLboolean _glewInit_GL_EXT_blend_func_separate () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_blend_func_separate */ + +#ifdef GL_EXT_blend_minmax + +static GLboolean _glewInit_GL_EXT_blend_minmax () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_blend_minmax */ + +#ifdef GL_EXT_buffer_storage + +static GLboolean _glewInit_GL_EXT_buffer_storage () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferStorageEXT = (PFNGLBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glBufferStorageEXT")) == NULL) || r; + r = ((glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferStorageEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_buffer_storage */ + +#ifdef GL_EXT_clear_texture + +static GLboolean _glewInit_GL_EXT_clear_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glClearTexImageEXT = (PFNGLCLEARTEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glClearTexImageEXT")) == NULL) || r; + r = ((glClearTexSubImageEXT = (PFNGLCLEARTEXSUBIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glClearTexSubImageEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_clear_texture */ + +#ifdef GL_EXT_color_subtable + +static GLboolean _glewInit_GL_EXT_color_subtable () +{ + GLboolean r = GL_FALSE; + + r = ((glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorSubTableEXT")) == NULL) || r; + r = ((glCopyColorSubTableEXT = (PFNGLCOPYCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTableEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_color_subtable */ + +#ifdef GL_EXT_compiled_vertex_array + +static GLboolean _glewInit_GL_EXT_compiled_vertex_array () +{ + GLboolean r = GL_FALSE; + + r = ((glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glLockArraysEXT")) == NULL) || r; + r = ((glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glUnlockArraysEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_compiled_vertex_array */ + +#ifdef GL_EXT_convolution + +static GLboolean _glewInit_GL_EXT_convolution () +{ + GLboolean r = GL_FALSE; + + r = ((glConvolutionFilter1DEXT = (PFNGLCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1DEXT")) == NULL) || r; + r = ((glConvolutionFilter2DEXT = (PFNGLCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2DEXT")) == NULL) || r; + r = ((glConvolutionParameterfEXT = (PFNGLCONVOLUTIONPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfEXT")) == NULL) || r; + r = ((glConvolutionParameterfvEXT = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfvEXT")) == NULL) || r; + r = ((glConvolutionParameteriEXT = (PFNGLCONVOLUTIONPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriEXT")) == NULL) || r; + r = ((glConvolutionParameterivEXT = (PFNGLCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterivEXT")) == NULL) || r; + r = ((glCopyConvolutionFilter1DEXT = (PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1DEXT")) == NULL) || r; + r = ((glCopyConvolutionFilter2DEXT = (PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2DEXT")) == NULL) || r; + r = ((glGetConvolutionFilterEXT = (PFNGLGETCONVOLUTIONFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilterEXT")) == NULL) || r; + r = ((glGetConvolutionParameterfvEXT = (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfvEXT")) == NULL) || r; + r = ((glGetConvolutionParameterivEXT = (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterivEXT")) == NULL) || r; + r = ((glGetSeparableFilterEXT = (PFNGLGETSEPARABLEFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilterEXT")) == NULL) || r; + r = ((glSeparableFilter2DEXT = (PFNGLSEPARABLEFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2DEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_convolution */ + +#ifdef GL_EXT_coordinate_frame + +static GLboolean _glewInit_GL_EXT_coordinate_frame () +{ + GLboolean r = GL_FALSE; + + r = ((glBinormalPointerEXT = (PFNGLBINORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glBinormalPointerEXT")) == NULL) || r; + r = ((glTangentPointerEXT = (PFNGLTANGENTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTangentPointerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_coordinate_frame */ + +#ifdef GL_EXT_copy_image + +static GLboolean _glewInit_GL_EXT_copy_image () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyImageSubDataEXT = (PFNGLCOPYIMAGESUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyImageSubDataEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_copy_image */ + +#ifdef GL_EXT_copy_texture + +static GLboolean _glewInit_GL_EXT_copy_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage1DEXT")) == NULL) || r; + r = ((glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage2DEXT")) == NULL) || r; + r = ((glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage1DEXT")) == NULL) || r; + r = ((glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage2DEXT")) == NULL) || r; + r = ((glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3DEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_copy_texture */ + +#ifdef GL_EXT_cull_vertex + +static GLboolean _glewInit_GL_EXT_cull_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterdvEXT")) == NULL) || r; + r = ((glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterfvEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_cull_vertex */ + +#ifdef GL_EXT_debug_label + +static GLboolean _glewInit_GL_EXT_debug_label () +{ + GLboolean r = GL_FALSE; + + r = ((glGetObjectLabelEXT = (PFNGLGETOBJECTLABELEXTPROC)glewGetProcAddress((const GLubyte*)"glGetObjectLabelEXT")) == NULL) || r; + r = ((glLabelObjectEXT = (PFNGLLABELOBJECTEXTPROC)glewGetProcAddress((const GLubyte*)"glLabelObjectEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_debug_label */ + +#ifdef GL_EXT_debug_marker + +static GLboolean _glewInit_GL_EXT_debug_marker () +{ + GLboolean r = GL_FALSE; + + r = ((glInsertEventMarkerEXT = (PFNGLINSERTEVENTMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glInsertEventMarkerEXT")) == NULL) || r; + r = ((glPopGroupMarkerEXT = (PFNGLPOPGROUPMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glPopGroupMarkerEXT")) == NULL) || r; + r = ((glPushGroupMarkerEXT = (PFNGLPUSHGROUPMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glPushGroupMarkerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_debug_marker */ + +#ifdef GL_EXT_depth_bounds_test + +static GLboolean _glewInit_GL_EXT_depth_bounds_test () +{ + GLboolean r = GL_FALSE; + + r = ((glDepthBoundsEXT = (PFNGLDEPTHBOUNDSEXTPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_depth_bounds_test */ + +#ifdef GL_EXT_direct_state_access + +static GLboolean _glewInit_GL_EXT_direct_state_access () +{ + GLboolean r = GL_FALSE; + + r = ((glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindMultiTextureEXT")) == NULL) || r; + r = ((glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckNamedFramebufferStatusEXT")) == NULL) || r; + r = ((glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glClientAttribDefaultEXT")) == NULL) || r; + r = ((glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage1DEXT")) == NULL) || r; + r = ((glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage2DEXT")) == NULL) || r; + r = ((glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage3DEXT")) == NULL) || r; + r = ((glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage1DEXT")) == NULL) || r; + r = ((glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage2DEXT")) == NULL) || r; + r = ((glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage3DEXT")) == NULL) || r; + r = ((glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage1DEXT")) == NULL) || r; + r = ((glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage2DEXT")) == NULL) || r; + r = ((glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage3DEXT")) == NULL) || r; + r = ((glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage1DEXT")) == NULL) || r; + r = ((glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage2DEXT")) == NULL) || r; + r = ((glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage3DEXT")) == NULL) || r; + r = ((glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage1DEXT")) == NULL) || r; + r = ((glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage2DEXT")) == NULL) || r; + r = ((glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage1DEXT")) == NULL) || r; + r = ((glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage2DEXT")) == NULL) || r; + r = ((glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage3DEXT")) == NULL) || r; + r = ((glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage1DEXT")) == NULL) || r; + r = ((glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage2DEXT")) == NULL) || r; + r = ((glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage1DEXT")) == NULL) || r; + r = ((glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage2DEXT")) == NULL) || r; + r = ((glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage3DEXT")) == NULL) || r; + r = ((glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableClientStateIndexedEXT")) == NULL) || r; + r = ((glDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableClientStateiEXT")) == NULL) || r; + r = ((glDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexArrayAttribEXT")) == NULL) || r; + r = ((glDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexArrayEXT")) == NULL) || r; + r = ((glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableClientStateIndexedEXT")) == NULL) || r; + r = ((glEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableClientStateiEXT")) == NULL) || r; + r = ((glEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexArrayAttribEXT")) == NULL) || r; + r = ((glEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexArrayEXT")) == NULL) || r; + r = ((glFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedNamedBufferRangeEXT")) == NULL) || r; + r = ((glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBufferEXT")) == NULL) || r; + r = ((glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBuffersEXT")) == NULL) || r; + r = ((glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferReadBufferEXT")) == NULL) || r; + r = ((glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMultiTexMipmapEXT")) == NULL) || r; + r = ((glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateTextureMipmapEXT")) == NULL) || r; + r = ((glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedMultiTexImageEXT")) == NULL) || r; + r = ((glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTextureImageEXT")) == NULL) || r; + r = ((glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetDoubleIndexedvEXT")) == NULL) || r; + r = ((glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetDoublei_vEXT")) == NULL) || r; + r = ((glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFloatIndexedvEXT")) == NULL) || r; + r = ((glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFloati_vEXT")) == NULL) || r; + r = ((glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameterivEXT")) == NULL) || r; + r = ((glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvfvEXT")) == NULL) || r; + r = ((glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvivEXT")) == NULL) || r; + r = ((glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGendvEXT")) == NULL) || r; + r = ((glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenfvEXT")) == NULL) || r; + r = ((glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenivEXT")) == NULL) || r; + r = ((glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexImageEXT")) == NULL) || r; + r = ((glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterfvEXT")) == NULL) || r; + r = ((glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterivEXT")) == NULL) || r; + r = ((glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIivEXT")) == NULL) || r; + r = ((glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIuivEXT")) == NULL) || r; + r = ((glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterfvEXT")) == NULL) || r; + r = ((glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterivEXT")) == NULL) || r; + r = ((glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameterivEXT")) == NULL) || r; + r = ((glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferPointervEXT")) == NULL) || r; + r = ((glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferSubDataEXT")) == NULL) || r; + r = ((glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferAttachmentParameterivEXT")) == NULL) || r; + r = ((glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIivEXT")) == NULL) || r; + r = ((glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIuivEXT")) == NULL) || r; + r = ((glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterdvEXT")) == NULL) || r; + r = ((glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterfvEXT")) == NULL) || r; + r = ((glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramStringEXT")) == NULL) || r; + r = ((glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramivEXT")) == NULL) || r; + r = ((glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedRenderbufferParameterivEXT")) == NULL) || r; + r = ((glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointerIndexedvEXT")) == NULL) || r; + r = ((glGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointeri_vEXT")) == NULL) || r; + r = ((glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureImageEXT")) == NULL) || r; + r = ((glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterfvEXT")) == NULL) || r; + r = ((glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterivEXT")) == NULL) || r; + r = ((glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIivEXT")) == NULL) || r; + r = ((glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIuivEXT")) == NULL) || r; + r = ((glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterfvEXT")) == NULL) || r; + r = ((glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterivEXT")) == NULL) || r; + r = ((glGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIntegeri_vEXT")) == NULL) || r; + r = ((glGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIntegervEXT")) == NULL) || r; + r = ((glGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayPointeri_vEXT")) == NULL) || r; + r = ((glGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayPointervEXT")) == NULL) || r; + r = ((glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferEXT")) == NULL) || r; + r = ((glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferRangeEXT")) == NULL) || r; + r = ((glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixFrustumEXT")) == NULL) || r; + r = ((glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadIdentityEXT")) == NULL) || r; + r = ((glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposedEXT")) == NULL) || r; + r = ((glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposefEXT")) == NULL) || r; + r = ((glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoaddEXT")) == NULL) || r; + r = ((glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadfEXT")) == NULL) || r; + r = ((glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposedEXT")) == NULL) || r; + r = ((glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposefEXT")) == NULL) || r; + r = ((glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultdEXT")) == NULL) || r; + r = ((glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultfEXT")) == NULL) || r; + r = ((glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixOrthoEXT")) == NULL) || r; + r = ((glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPopEXT")) == NULL) || r; + r = ((glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPushEXT")) == NULL) || r; + r = ((glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatedEXT")) == NULL) || r; + r = ((glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatefEXT")) == NULL) || r; + r = ((glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScaledEXT")) == NULL) || r; + r = ((glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScalefEXT")) == NULL) || r; + r = ((glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatedEXT")) == NULL) || r; + r = ((glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatefEXT")) == NULL) || r; + r = ((glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexBufferEXT")) == NULL) || r; + r = ((glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordPointerEXT")) == NULL) || r; + r = ((glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfEXT")) == NULL) || r; + r = ((glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfvEXT")) == NULL) || r; + r = ((glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnviEXT")) == NULL) || r; + r = ((glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvivEXT")) == NULL) || r; + r = ((glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendEXT")) == NULL) || r; + r = ((glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendvEXT")) == NULL) || r; + r = ((glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfEXT")) == NULL) || r; + r = ((glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfvEXT")) == NULL) || r; + r = ((glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGeniEXT")) == NULL) || r; + r = ((glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenivEXT")) == NULL) || r; + r = ((glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage1DEXT")) == NULL) || r; + r = ((glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage2DEXT")) == NULL) || r; + r = ((glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage3DEXT")) == NULL) || r; + r = ((glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIivEXT")) == NULL) || r; + r = ((glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIuivEXT")) == NULL) || r; + r = ((glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfEXT")) == NULL) || r; + r = ((glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfvEXT")) == NULL) || r; + r = ((glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameteriEXT")) == NULL) || r; + r = ((glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterivEXT")) == NULL) || r; + r = ((glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexRenderbufferEXT")) == NULL) || r; + r = ((glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage1DEXT")) == NULL) || r; + r = ((glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage2DEXT")) == NULL) || r; + r = ((glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage3DEXT")) == NULL) || r; + r = ((glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferDataEXT")) == NULL) || r; + r = ((glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferSubDataEXT")) == NULL) || r; + r = ((glNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedCopyBufferSubDataEXT")) == NULL) || r; + r = ((glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferRenderbufferEXT")) == NULL) || r; + r = ((glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture1DEXT")) == NULL) || r; + r = ((glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture2DEXT")) == NULL) || r; + r = ((glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture3DEXT")) == NULL) || r; + r = ((glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureEXT")) == NULL) || r; + r = ((glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureFaceEXT")) == NULL) || r; + r = ((glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureLayerEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dvEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fvEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4iEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4ivEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uiEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uivEXT")) == NULL) || r; + r = ((glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameters4fvEXT")) == NULL) || r; + r = ((glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4ivEXT")) == NULL) || r; + r = ((glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4uivEXT")) == NULL) || r; + r = ((glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramStringEXT")) == NULL) || r; + r = ((glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageEXT")) == NULL) || r; + r = ((glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleCoverageEXT")) == NULL) || r; + r = ((glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleEXT")) == NULL) || r; + r = ((glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fEXT")) == NULL) || r; + r = ((glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fvEXT")) == NULL) || r; + r = ((glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1iEXT")) == NULL) || r; + r = ((glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ivEXT")) == NULL) || r; + r = ((glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uiEXT")) == NULL) || r; + r = ((glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uivEXT")) == NULL) || r; + r = ((glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fEXT")) == NULL) || r; + r = ((glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fvEXT")) == NULL) || r; + r = ((glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2iEXT")) == NULL) || r; + r = ((glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ivEXT")) == NULL) || r; + r = ((glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uiEXT")) == NULL) || r; + r = ((glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uivEXT")) == NULL) || r; + r = ((glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fEXT")) == NULL) || r; + r = ((glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fvEXT")) == NULL) || r; + r = ((glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3iEXT")) == NULL) || r; + r = ((glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ivEXT")) == NULL) || r; + r = ((glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uiEXT")) == NULL) || r; + r = ((glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uivEXT")) == NULL) || r; + r = ((glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fEXT")) == NULL) || r; + r = ((glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fvEXT")) == NULL) || r; + r = ((glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4iEXT")) == NULL) || r; + r = ((glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ivEXT")) == NULL) || r; + r = ((glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uiEXT")) == NULL) || r; + r = ((glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uivEXT")) == NULL) || r; + r = ((glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2fvEXT")) == NULL) || r; + r = ((glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3fvEXT")) == NULL) || r; + r = ((glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glPushClientAttribDefaultEXT")) == NULL) || r; + r = ((glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferEXT")) == NULL) || r; + r = ((glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage1DEXT")) == NULL) || r; + r = ((glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DEXT")) == NULL) || r; + r = ((glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DEXT")) == NULL) || r; + r = ((glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIivEXT")) == NULL) || r; + r = ((glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIuivEXT")) == NULL) || r; + r = ((glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfEXT")) == NULL) || r; + r = ((glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfvEXT")) == NULL) || r; + r = ((glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameteriEXT")) == NULL) || r; + r = ((glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterivEXT")) == NULL) || r; + r = ((glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureRenderbufferEXT")) == NULL) || r; + r = ((glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage1DEXT")) == NULL) || r; + r = ((glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage2DEXT")) == NULL) || r; + r = ((glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage3DEXT")) == NULL) || r; + r = ((glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUnmapNamedBufferEXT")) == NULL) || r; + r = ((glVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayColorOffsetEXT")) == NULL) || r; + r = ((glVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayEdgeFlagOffsetEXT")) == NULL) || r; + r = ((glVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayFogCoordOffsetEXT")) == NULL) || r; + r = ((glVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayIndexOffsetEXT")) == NULL) || r; + r = ((glVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayMultiTexCoordOffsetEXT")) == NULL) || r; + r = ((glVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayNormalOffsetEXT")) == NULL) || r; + r = ((glVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArraySecondaryColorOffsetEXT")) == NULL) || r; + r = ((glVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayTexCoordOffsetEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribDivisorEXT = (PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribDivisorEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribIOffsetEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribOffsetEXT")) == NULL) || r; + r = ((glVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexOffsetEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_direct_state_access */ + +#ifdef GL_EXT_discard_framebuffer + +static GLboolean _glewInit_GL_EXT_discard_framebuffer () +{ + GLboolean r = GL_FALSE; + + r = ((glDiscardFramebufferEXT = (PFNGLDISCARDFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glDiscardFramebufferEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_discard_framebuffer */ + +#ifdef GL_EXT_draw_buffers + +static GLboolean _glewInit_GL_EXT_draw_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawBuffersEXT = (PFNGLDRAWBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_buffers */ + +#ifdef GL_EXT_draw_buffers2 + +static GLboolean _glewInit_GL_EXT_draw_buffers2 () +{ + GLboolean r = GL_FALSE; + + r = ((glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glColorMaskIndexedEXT")) == NULL) || r; + r = ((glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableIndexedEXT")) == NULL) || r; + r = ((glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableIndexedEXT")) == NULL) || r; + r = ((glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetBooleanIndexedvEXT")) == NULL) || r; + r = ((glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerIndexedvEXT")) == NULL) || r; + r = ((glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledIndexedEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_buffers2 */ + +#ifdef GL_EXT_draw_buffers_indexed + +static GLboolean _glewInit_GL_EXT_draw_buffers_indexed () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendEquationSeparateiEXT = (PFNGLBLENDEQUATIONSEPARATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateiEXT")) == NULL) || r; + r = ((glBlendEquationiEXT = (PFNGLBLENDEQUATIONIEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationiEXT")) == NULL) || r; + r = ((glBlendFuncSeparateiEXT = (PFNGLBLENDFUNCSEPARATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateiEXT")) == NULL) || r; + r = ((glBlendFunciEXT = (PFNGLBLENDFUNCIEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendFunciEXT")) == NULL) || r; + r = ((glColorMaskiEXT = (PFNGLCOLORMASKIEXTPROC)glewGetProcAddress((const GLubyte*)"glColorMaskiEXT")) == NULL) || r; + r = ((glDisableiEXT = (PFNGLDISABLEIEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableiEXT")) == NULL) || r; + r = ((glEnableiEXT = (PFNGLENABLEIEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableiEXT")) == NULL) || r; + r = ((glIsEnablediEXT = (PFNGLISENABLEDIEXTPROC)glewGetProcAddress((const GLubyte*)"glIsEnablediEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_buffers_indexed */ + +#ifdef GL_EXT_draw_elements_base_vertex + +static GLboolean _glewInit_GL_EXT_draw_elements_base_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawElementsBaseVertexEXT = (PFNGLDRAWELEMENTSBASEVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsBaseVertexEXT")) == NULL) || r; + r = ((glDrawElementsInstancedBaseVertexEXT = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertexEXT")) == NULL) || r; + r = ((glDrawRangeElementsBaseVertexEXT = (PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsBaseVertexEXT")) == NULL) || r; + r = ((glMultiDrawElementsBaseVertexEXT = (PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsBaseVertexEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_elements_base_vertex */ + +#ifdef GL_EXT_draw_instanced + +static GLboolean _glewInit_GL_EXT_draw_instanced () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedEXT")) == NULL) || r; + r = ((glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_instanced */ + +#ifdef GL_EXT_draw_range_elements + +static GLboolean _glewInit_GL_EXT_draw_range_elements () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_draw_range_elements */ + +#ifdef GL_EXT_external_buffer + +static GLboolean _glewInit_GL_EXT_external_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferStorageExternalEXT = (PFNGLBUFFERSTORAGEEXTERNALEXTPROC)glewGetProcAddress((const GLubyte*)"glBufferStorageExternalEXT")) == NULL) || r; + r = ((glNamedBufferStorageExternalEXT = (PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferStorageExternalEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_external_buffer */ + +#ifdef GL_EXT_fog_coord + +static GLboolean _glewInit_GL_EXT_fog_coord () +{ + GLboolean r = GL_FALSE; + + r = ((glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerEXT")) == NULL) || r; + r = ((glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddEXT")) == NULL) || r; + r = ((glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddvEXT")) == NULL) || r; + r = ((glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfEXT")) == NULL) || r; + r = ((glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfvEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_fog_coord */ + +#ifdef GL_EXT_fragment_lighting + +static GLboolean _glewInit_GL_EXT_fragment_lighting () +{ + GLboolean r = GL_FALSE; + + r = ((glFragmentColorMaterialEXT = (PFNGLFRAGMENTCOLORMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialEXT")) == NULL) || r; + r = ((glFragmentLightModelfEXT = (PFNGLFRAGMENTLIGHTMODELFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfEXT")) == NULL) || r; + r = ((glFragmentLightModelfvEXT = (PFNGLFRAGMENTLIGHTMODELFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvEXT")) == NULL) || r; + r = ((glFragmentLightModeliEXT = (PFNGLFRAGMENTLIGHTMODELIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliEXT")) == NULL) || r; + r = ((glFragmentLightModelivEXT = (PFNGLFRAGMENTLIGHTMODELIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivEXT")) == NULL) || r; + r = ((glFragmentLightfEXT = (PFNGLFRAGMENTLIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfEXT")) == NULL) || r; + r = ((glFragmentLightfvEXT = (PFNGLFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvEXT")) == NULL) || r; + r = ((glFragmentLightiEXT = (PFNGLFRAGMENTLIGHTIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiEXT")) == NULL) || r; + r = ((glFragmentLightivEXT = (PFNGLFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivEXT")) == NULL) || r; + r = ((glFragmentMaterialfEXT = (PFNGLFRAGMENTMATERIALFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfEXT")) == NULL) || r; + r = ((glFragmentMaterialfvEXT = (PFNGLFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvEXT")) == NULL) || r; + r = ((glFragmentMaterialiEXT = (PFNGLFRAGMENTMATERIALIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiEXT")) == NULL) || r; + r = ((glFragmentMaterialivEXT = (PFNGLFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivEXT")) == NULL) || r; + r = ((glGetFragmentLightfvEXT = (PFNGLGETFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvEXT")) == NULL) || r; + r = ((glGetFragmentLightivEXT = (PFNGLGETFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivEXT")) == NULL) || r; + r = ((glGetFragmentMaterialfvEXT = (PFNGLGETFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvEXT")) == NULL) || r; + r = ((glGetFragmentMaterialivEXT = (PFNGLGETFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivEXT")) == NULL) || r; + r = ((glLightEnviEXT = (PFNGLLIGHTENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glLightEnviEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_fragment_lighting */ + +#ifdef GL_EXT_framebuffer_blit + +static GLboolean _glewInit_GL_EXT_framebuffer_blit () +{ + GLboolean r = GL_FALSE; + + r = ((glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_framebuffer_blit */ + +#ifdef GL_EXT_framebuffer_multisample + +static GLboolean _glewInit_GL_EXT_framebuffer_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_framebuffer_multisample */ + +#ifdef GL_EXT_framebuffer_object + +static GLboolean _glewInit_GL_EXT_framebuffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindFramebufferEXT")) == NULL) || r; + r = ((glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbufferEXT")) == NULL) || r; + r = ((glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatusEXT")) == NULL) || r; + r = ((glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffersEXT")) == NULL) || r; + r = ((glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffersEXT")) == NULL) || r; + r = ((glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbufferEXT")) == NULL) || r; + r = ((glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1DEXT")) == NULL) || r; + r = ((glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2DEXT")) == NULL) || r; + r = ((glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3DEXT")) == NULL) || r; + r = ((glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffersEXT")) == NULL) || r; + r = ((glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffersEXT")) == NULL) || r; + r = ((glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmapEXT")) == NULL) || r; + r = ((glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameterivEXT")) == NULL) || r; + r = ((glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameterivEXT")) == NULL) || r; + r = ((glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsFramebufferEXT")) == NULL) || r; + r = ((glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbufferEXT")) == NULL) || r; + r = ((glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_framebuffer_object */ + +#ifdef GL_EXT_geometry_shader4 + +static GLboolean _glewInit_GL_EXT_geometry_shader4 () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureEXT")) == NULL) || r; + r = ((glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceEXT")) == NULL) || r; + r = ((glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_geometry_shader4 */ + +#ifdef GL_EXT_gpu_program_parameters + +static GLboolean _glewInit_GL_EXT_gpu_program_parameters () +{ + GLboolean r = GL_FALSE; + + r = ((glProgramEnvParameters4fvEXT = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameters4fvEXT")) == NULL) || r; + r = ((glProgramLocalParameters4fvEXT = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameters4fvEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_gpu_program_parameters */ + +#ifdef GL_EXT_gpu_shader4 + +static GLboolean _glewInit_GL_EXT_gpu_shader4 () +{ + GLboolean r = GL_FALSE; + + r = ((glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationEXT")) == NULL) || r; + r = ((glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocationEXT")) == NULL) || r; + r = ((glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuivEXT")) == NULL) || r; + r = ((glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIivEXT")) == NULL) || r; + r = ((glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuivEXT")) == NULL) || r; + r = ((glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiEXT")) == NULL) || r; + r = ((glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uivEXT")) == NULL) || r; + r = ((glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiEXT")) == NULL) || r; + r = ((glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uivEXT")) == NULL) || r; + r = ((glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiEXT")) == NULL) || r; + r = ((glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uivEXT")) == NULL) || r; + r = ((glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiEXT")) == NULL) || r; + r = ((glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uivEXT")) == NULL) || r; + r = ((glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iEXT")) == NULL) || r; + r = ((glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ivEXT")) == NULL) || r; + r = ((glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiEXT")) == NULL) || r; + r = ((glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uivEXT")) == NULL) || r; + r = ((glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iEXT")) == NULL) || r; + r = ((glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ivEXT")) == NULL) || r; + r = ((glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiEXT")) == NULL) || r; + r = ((glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uivEXT")) == NULL) || r; + r = ((glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iEXT")) == NULL) || r; + r = ((glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ivEXT")) == NULL) || r; + r = ((glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiEXT")) == NULL) || r; + r = ((glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uivEXT")) == NULL) || r; + r = ((glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bvEXT")) == NULL) || r; + r = ((glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iEXT")) == NULL) || r; + r = ((glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ivEXT")) == NULL) || r; + r = ((glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4svEXT")) == NULL) || r; + r = ((glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubvEXT")) == NULL) || r; + r = ((glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiEXT")) == NULL) || r; + r = ((glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uivEXT")) == NULL) || r; + r = ((glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usvEXT")) == NULL) || r; + r = ((glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_gpu_shader4 */ + +#ifdef GL_EXT_histogram + +static GLboolean _glewInit_GL_EXT_histogram () +{ + GLboolean r = GL_FALSE; + + r = ((glGetHistogramEXT = (PFNGLGETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramEXT")) == NULL) || r; + r = ((glGetHistogramParameterfvEXT = (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfvEXT")) == NULL) || r; + r = ((glGetHistogramParameterivEXT = (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterivEXT")) == NULL) || r; + r = ((glGetMinmaxEXT = (PFNGLGETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxEXT")) == NULL) || r; + r = ((glGetMinmaxParameterfvEXT = (PFNGLGETMINMAXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfvEXT")) == NULL) || r; + r = ((glGetMinmaxParameterivEXT = (PFNGLGETMINMAXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterivEXT")) == NULL) || r; + r = ((glHistogramEXT = (PFNGLHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glHistogramEXT")) == NULL) || r; + r = ((glMinmaxEXT = (PFNGLMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glMinmaxEXT")) == NULL) || r; + r = ((glResetHistogramEXT = (PFNGLRESETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glResetHistogramEXT")) == NULL) || r; + r = ((glResetMinmaxEXT = (PFNGLRESETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glResetMinmaxEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_histogram */ + +#ifdef GL_EXT_index_func + +static GLboolean _glewInit_GL_EXT_index_func () +{ + GLboolean r = GL_FALSE; + + r = ((glIndexFuncEXT = (PFNGLINDEXFUNCEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexFuncEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_index_func */ + +#ifdef GL_EXT_index_material + +static GLboolean _glewInit_GL_EXT_index_material () +{ + GLboolean r = GL_FALSE; + + r = ((glIndexMaterialEXT = (PFNGLINDEXMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexMaterialEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_index_material */ + +#ifdef GL_EXT_instanced_arrays + +static GLboolean _glewInit_GL_EXT_instanced_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexAttribDivisorEXT = (PFNGLVERTEXATTRIBDIVISOREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_instanced_arrays */ + +#ifdef GL_EXT_light_texture + +static GLboolean _glewInit_GL_EXT_light_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glApplyTextureEXT = (PFNGLAPPLYTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glApplyTextureEXT")) == NULL) || r; + r = ((glTextureLightEXT = (PFNGLTEXTURELIGHTEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureLightEXT")) == NULL) || r; + r = ((glTextureMaterialEXT = (PFNGLTEXTUREMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureMaterialEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_light_texture */ + +#ifdef GL_EXT_map_buffer_range + +static GLboolean _glewInit_GL_EXT_map_buffer_range () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushMappedBufferRangeEXT = (PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRangeEXT")) == NULL) || r; + r = ((glMapBufferRangeEXT = (PFNGLMAPBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glMapBufferRangeEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_map_buffer_range */ + +#ifdef GL_EXT_memory_object + +static GLboolean _glewInit_GL_EXT_memory_object () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferStorageMemEXT = (PFNGLBUFFERSTORAGEMEMEXTPROC)glewGetProcAddress((const GLubyte*)"glBufferStorageMemEXT")) == NULL) || r; + r = ((glCreateMemoryObjectsEXT = (PFNGLCREATEMEMORYOBJECTSEXTPROC)glewGetProcAddress((const GLubyte*)"glCreateMemoryObjectsEXT")) == NULL) || r; + r = ((glDeleteMemoryObjectsEXT = (PFNGLDELETEMEMORYOBJECTSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteMemoryObjectsEXT")) == NULL) || r; + r = ((glGetMemoryObjectParameterivEXT = (PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMemoryObjectParameterivEXT")) == NULL) || r; + r = ((glGetUnsignedBytei_vEXT = (PFNGLGETUNSIGNEDBYTEI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUnsignedBytei_vEXT")) == NULL) || r; + r = ((glGetUnsignedBytevEXT = (PFNGLGETUNSIGNEDBYTEVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUnsignedBytevEXT")) == NULL) || r; + r = ((glIsMemoryObjectEXT = (PFNGLISMEMORYOBJECTEXTPROC)glewGetProcAddress((const GLubyte*)"glIsMemoryObjectEXT")) == NULL) || r; + r = ((glMemoryObjectParameterivEXT = (PFNGLMEMORYOBJECTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMemoryObjectParameterivEXT")) == NULL) || r; + r = ((glNamedBufferStorageMemEXT = (PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferStorageMemEXT")) == NULL) || r; + r = ((glTexStorageMem1DEXT = (PFNGLTEXSTORAGEMEM1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorageMem1DEXT")) == NULL) || r; + r = ((glTexStorageMem2DEXT = (PFNGLTEXSTORAGEMEM2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorageMem2DEXT")) == NULL) || r; + r = ((glTexStorageMem2DMultisampleEXT = (PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorageMem2DMultisampleEXT")) == NULL) || r; + r = ((glTexStorageMem3DEXT = (PFNGLTEXSTORAGEMEM3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorageMem3DEXT")) == NULL) || r; + r = ((glTexStorageMem3DMultisampleEXT = (PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorageMem3DMultisampleEXT")) == NULL) || r; + r = ((glTextureStorageMem1DEXT = (PFNGLTEXTURESTORAGEMEM1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageMem1DEXT")) == NULL) || r; + r = ((glTextureStorageMem2DEXT = (PFNGLTEXTURESTORAGEMEM2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageMem2DEXT")) == NULL) || r; + r = ((glTextureStorageMem2DMultisampleEXT = (PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageMem2DMultisampleEXT")) == NULL) || r; + r = ((glTextureStorageMem3DEXT = (PFNGLTEXTURESTORAGEMEM3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageMem3DEXT")) == NULL) || r; + r = ((glTextureStorageMem3DMultisampleEXT = (PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageMem3DMultisampleEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_memory_object */ + +#ifdef GL_EXT_memory_object_fd + +static GLboolean _glewInit_GL_EXT_memory_object_fd () +{ + GLboolean r = GL_FALSE; + + r = ((glImportMemoryFdEXT = (PFNGLIMPORTMEMORYFDEXTPROC)glewGetProcAddress((const GLubyte*)"glImportMemoryFdEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_memory_object_fd */ + +#ifdef GL_EXT_memory_object_win32 + +static GLboolean _glewInit_GL_EXT_memory_object_win32 () +{ + GLboolean r = GL_FALSE; + + r = ((glImportMemoryWin32HandleEXT = (PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC)glewGetProcAddress((const GLubyte*)"glImportMemoryWin32HandleEXT")) == NULL) || r; + r = ((glImportMemoryWin32NameEXT = (PFNGLIMPORTMEMORYWIN32NAMEEXTPROC)glewGetProcAddress((const GLubyte*)"glImportMemoryWin32NameEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_memory_object_win32 */ + +#ifdef GL_EXT_multi_draw_arrays + +static GLboolean _glewInit_GL_EXT_multi_draw_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysEXT")) == NULL) || r; + r = ((glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_multi_draw_arrays */ + +#ifdef GL_EXT_multi_draw_indirect + +static GLboolean _glewInit_GL_EXT_multi_draw_indirect () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectEXT = (PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectEXT")) == NULL) || r; + r = ((glMultiDrawElementsIndirectEXT = (PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_multi_draw_indirect */ + +#ifdef GL_EXT_multisample + +static GLboolean _glewInit_GL_EXT_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glSampleMaskEXT = (PFNGLSAMPLEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskEXT")) == NULL) || r; + r = ((glSamplePatternEXT = (PFNGLSAMPLEPATTERNEXTPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_multisample */ + +#ifdef GL_EXT_multisampled_render_to_texture + +static GLboolean _glewInit_GL_EXT_multisampled_render_to_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTexture2DMultisampleEXT = (PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2DMultisampleEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_multisampled_render_to_texture */ + +#ifdef GL_EXT_multiview_draw_buffers + +static GLboolean _glewInit_GL_EXT_multiview_draw_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawBuffersIndexedEXT = (PFNGLDRAWBUFFERSINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersIndexedEXT")) == NULL) || r; + r = ((glGetIntegeri_vEXT = (PFNGLGETINTEGERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetIntegeri_vEXT")) == NULL) || r; + r = ((glReadBufferIndexedEXT = (PFNGLREADBUFFERINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glReadBufferIndexedEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_multiview_draw_buffers */ + +#ifdef GL_EXT_paletted_texture + +static GLboolean _glewInit_GL_EXT_paletted_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glColorTableEXT = (PFNGLCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorTableEXT")) == NULL) || r; + r = ((glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableEXT")) == NULL) || r; + r = ((glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvEXT")) == NULL) || r; + r = ((glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_paletted_texture */ + +#ifdef GL_EXT_pixel_transform + +static GLboolean _glewInit_GL_EXT_pixel_transform () +{ + GLboolean r = GL_FALSE; + + r = ((glGetPixelTransformParameterfvEXT = (PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterfvEXT")) == NULL) || r; + r = ((glGetPixelTransformParameterivEXT = (PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterivEXT")) == NULL) || r; + r = ((glPixelTransformParameterfEXT = (PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfEXT")) == NULL) || r; + r = ((glPixelTransformParameterfvEXT = (PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfvEXT")) == NULL) || r; + r = ((glPixelTransformParameteriEXT = (PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameteriEXT")) == NULL) || r; + r = ((glPixelTransformParameterivEXT = (PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterivEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_pixel_transform */ + +#ifdef GL_EXT_point_parameters + +static GLboolean _glewInit_GL_EXT_point_parameters () +{ + GLboolean r = GL_FALSE; + + r = ((glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfEXT")) == NULL) || r; + r = ((glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_point_parameters */ + +#ifdef GL_EXT_polygon_offset + +static GLboolean _glewInit_GL_EXT_polygon_offset () +{ + GLboolean r = GL_FALSE; + + r = ((glPolygonOffsetEXT = (PFNGLPOLYGONOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_polygon_offset */ + +#ifdef GL_EXT_polygon_offset_clamp + +static GLboolean _glewInit_GL_EXT_polygon_offset_clamp () +{ + GLboolean r = GL_FALSE; + + r = ((glPolygonOffsetClampEXT = (PFNGLPOLYGONOFFSETCLAMPEXTPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetClampEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_polygon_offset_clamp */ + +#ifdef GL_EXT_provoking_vertex + +static GLboolean _glewInit_GL_EXT_provoking_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glProvokingVertexEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_provoking_vertex */ + +#ifdef GL_EXT_raster_multisample + +static GLboolean _glewInit_GL_EXT_raster_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glCoverageModulationNV = (PFNGLCOVERAGEMODULATIONNVPROC)glewGetProcAddress((const GLubyte*)"glCoverageModulationNV")) == NULL) || r; + r = ((glCoverageModulationTableNV = (PFNGLCOVERAGEMODULATIONTABLENVPROC)glewGetProcAddress((const GLubyte*)"glCoverageModulationTableNV")) == NULL) || r; + r = ((glGetCoverageModulationTableNV = (PFNGLGETCOVERAGEMODULATIONTABLENVPROC)glewGetProcAddress((const GLubyte*)"glGetCoverageModulationTableNV")) == NULL) || r; + r = ((glRasterSamplesEXT = (PFNGLRASTERSAMPLESEXTPROC)glewGetProcAddress((const GLubyte*)"glRasterSamplesEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_raster_multisample */ + +#ifdef GL_EXT_scene_marker + +static GLboolean _glewInit_GL_EXT_scene_marker () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginSceneEXT = (PFNGLBEGINSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginSceneEXT")) == NULL) || r; + r = ((glEndSceneEXT = (PFNGLENDSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glEndSceneEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_scene_marker */ + +#ifdef GL_EXT_secondary_color + +static GLboolean _glewInit_GL_EXT_secondary_color () +{ + GLboolean r = GL_FALSE; + + r = ((glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bEXT")) == NULL) || r; + r = ((glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bvEXT")) == NULL) || r; + r = ((glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dEXT")) == NULL) || r; + r = ((glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dvEXT")) == NULL) || r; + r = ((glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fEXT")) == NULL) || r; + r = ((glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fvEXT")) == NULL) || r; + r = ((glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iEXT")) == NULL) || r; + r = ((glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ivEXT")) == NULL) || r; + r = ((glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sEXT")) == NULL) || r; + r = ((glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3svEXT")) == NULL) || r; + r = ((glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubEXT")) == NULL) || r; + r = ((glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubvEXT")) == NULL) || r; + r = ((glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiEXT")) == NULL) || r; + r = ((glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uivEXT")) == NULL) || r; + r = ((glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usEXT")) == NULL) || r; + r = ((glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usvEXT")) == NULL) || r; + r = ((glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_secondary_color */ + +#ifdef GL_EXT_semaphore + +static GLboolean _glewInit_GL_EXT_semaphore () +{ + GLboolean r = GL_FALSE; + + r = ((glDeleteSemaphoresEXT = (PFNGLDELETESEMAPHORESEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteSemaphoresEXT")) == NULL) || r; + r = ((glGenSemaphoresEXT = (PFNGLGENSEMAPHORESEXTPROC)glewGetProcAddress((const GLubyte*)"glGenSemaphoresEXT")) == NULL) || r; + r = ((glGetSemaphoreParameterui64vEXT = (PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetSemaphoreParameterui64vEXT")) == NULL) || r; + r = ((glIsSemaphoreEXT = (PFNGLISSEMAPHOREEXTPROC)glewGetProcAddress((const GLubyte*)"glIsSemaphoreEXT")) == NULL) || r; + r = ((glSemaphoreParameterui64vEXT = (PFNGLSEMAPHOREPARAMETERUI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glSemaphoreParameterui64vEXT")) == NULL) || r; + r = ((glSignalSemaphoreEXT = (PFNGLSIGNALSEMAPHOREEXTPROC)glewGetProcAddress((const GLubyte*)"glSignalSemaphoreEXT")) == NULL) || r; + r = ((glWaitSemaphoreEXT = (PFNGLWAITSEMAPHOREEXTPROC)glewGetProcAddress((const GLubyte*)"glWaitSemaphoreEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_semaphore */ + +#ifdef GL_EXT_semaphore_fd + +static GLboolean _glewInit_GL_EXT_semaphore_fd () +{ + GLboolean r = GL_FALSE; + + r = ((glImportSemaphoreFdEXT = (PFNGLIMPORTSEMAPHOREFDEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSemaphoreFdEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_semaphore_fd */ + +#ifdef GL_EXT_semaphore_win32 + +static GLboolean _glewInit_GL_EXT_semaphore_win32 () +{ + GLboolean r = GL_FALSE; + + r = ((glImportSemaphoreWin32HandleEXT = (PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSemaphoreWin32HandleEXT")) == NULL) || r; + r = ((glImportSemaphoreWin32NameEXT = (PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSemaphoreWin32NameEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_semaphore_win32 */ + +#ifdef GL_EXT_separate_shader_objects + +static GLboolean _glewInit_GL_EXT_separate_shader_objects () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveProgramEXT = (PFNGLACTIVEPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glActiveProgramEXT")) == NULL) || r; + r = ((glCreateShaderProgramEXT = (PFNGLCREATESHADERPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderProgramEXT")) == NULL) || r; + r = ((glUseShaderProgramEXT = (PFNGLUSESHADERPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glUseShaderProgramEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_separate_shader_objects */ + +#ifdef GL_EXT_shader_image_load_store + +static GLboolean _glewInit_GL_EXT_shader_image_load_store () +{ + GLboolean r = GL_FALSE; + + r = ((glBindImageTextureEXT = (PFNGLBINDIMAGETEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindImageTextureEXT")) == NULL) || r; + r = ((glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC)glewGetProcAddress((const GLubyte*)"glMemoryBarrierEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_shader_image_load_store */ + +#ifdef GL_EXT_shader_pixel_local_storage2 + +static GLboolean _glewInit_GL_EXT_shader_pixel_local_storage2 () +{ + GLboolean r = GL_FALSE; + + r = ((glClearPixelLocalStorageuiEXT = (PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearPixelLocalStorageuiEXT")) == NULL) || r; + r = ((glFramebufferPixelLocalStorageSizeEXT = (PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferPixelLocalStorageSizeEXT")) == NULL) || r; + r = ((glGetFramebufferPixelLocalStorageSizeEXT = (PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferPixelLocalStorageSizeEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_shader_pixel_local_storage2 */ + +#ifdef GL_EXT_sparse_texture + +static GLboolean _glewInit_GL_EXT_sparse_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glTexPageCommitmentEXT = (PFNGLTEXPAGECOMMITMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glTexPageCommitmentEXT")) == NULL) || r; + r = ((glTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glTexturePageCommitmentEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_sparse_texture */ + +#ifdef GL_EXT_stencil_two_side + +static GLboolean _glewInit_GL_EXT_stencil_two_side () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glActiveStencilFaceEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_stencil_two_side */ + +#ifdef GL_EXT_subtexture + +static GLboolean _glewInit_GL_EXT_subtexture () +{ + GLboolean r = GL_FALSE; + + r = ((glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage1DEXT")) == NULL) || r; + r = ((glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage2DEXT")) == NULL) || r; + r = ((glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3DEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_subtexture */ + +#ifdef GL_EXT_texture3D + +static GLboolean _glewInit_GL_EXT_texture3D () +{ + GLboolean r = GL_FALSE; + + r = ((glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture3D */ + +#ifdef GL_EXT_texture_array + +static GLboolean _glewInit_GL_EXT_texture_array () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_array */ + +#ifdef GL_EXT_texture_buffer_object + +static GLboolean _glewInit_GL_EXT_texture_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexBufferEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_buffer_object */ + +#ifdef GL_EXT_texture_integer + +static GLboolean _glewInit_GL_EXT_texture_integer () +{ + GLboolean r = GL_FALSE; + + r = ((glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIiEXT")) == NULL) || r; + r = ((glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIuiEXT")) == NULL) || r; + r = ((glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIivEXT")) == NULL) || r; + r = ((glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuivEXT")) == NULL) || r; + r = ((glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIivEXT")) == NULL) || r; + r = ((glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuivEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_integer */ + +#ifdef GL_EXT_texture_object + +static GLboolean _glewInit_GL_EXT_texture_object () +{ + GLboolean r = GL_FALSE; + + r = ((glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)glewGetProcAddress((const GLubyte*)"glAreTexturesResidentEXT")) == NULL) || r; + r = ((glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureEXT")) == NULL) || r; + r = ((glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteTexturesEXT")) == NULL) || r; + r = ((glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glGenTexturesEXT")) == NULL) || r; + r = ((glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glIsTextureEXT")) == NULL) || r; + r = ((glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glPrioritizeTexturesEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_object */ + +#ifdef GL_EXT_texture_perturb_normal + +static GLboolean _glewInit_GL_EXT_texture_perturb_normal () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureNormalEXT = (PFNGLTEXTURENORMALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureNormalEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_perturb_normal */ + +#ifdef GL_EXT_texture_storage + +static GLboolean _glewInit_GL_EXT_texture_storage () +{ + GLboolean r = GL_FALSE; + + r = ((glTexStorage1DEXT = (PFNGLTEXSTORAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorage1DEXT")) == NULL) || r; + r = ((glTexStorage2DEXT = (PFNGLTEXSTORAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorage2DEXT")) == NULL) || r; + r = ((glTexStorage3DEXT = (PFNGLTEXSTORAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexStorage3DEXT")) == NULL) || r; + r = ((glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage1DEXT")) == NULL) || r; + r = ((glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2DEXT")) == NULL) || r; + r = ((glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3DEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_storage */ + +#ifdef GL_EXT_texture_view + +static GLboolean _glewInit_GL_EXT_texture_view () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureViewEXT = (PFNGLTEXTUREVIEWEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureViewEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_texture_view */ + +#ifdef GL_EXT_timer_query + +static GLboolean _glewInit_GL_EXT_timer_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64vEXT")) == NULL) || r; + r = ((glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64vEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_timer_query */ + +#ifdef GL_EXT_transform_feedback + +static GLboolean _glewInit_GL_EXT_transform_feedback () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackEXT")) == NULL) || r; + r = ((glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseEXT")) == NULL) || r; + r = ((glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetEXT")) == NULL) || r; + r = ((glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeEXT")) == NULL) || r; + r = ((glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackEXT")) == NULL) || r; + r = ((glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingEXT")) == NULL) || r; + r = ((glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_transform_feedback */ + +#ifdef GL_EXT_vertex_array + +static GLboolean _glewInit_GL_EXT_vertex_array () +{ + GLboolean r = GL_FALSE; + + r = ((glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glArrayElementEXT")) == NULL) || r; + r = ((glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glColorPointerEXT")) == NULL) || r; + r = ((glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysEXT")) == NULL) || r; + r = ((glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerEXT")) == NULL) || r; + r = ((glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerEXT")) == NULL) || r; + r = ((glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerEXT")) == NULL) || r; + r = ((glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerEXT")) == NULL) || r; + r = ((glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_vertex_array */ + +#ifdef GL_EXT_vertex_array_setXXX + +static GLboolean _glewInit_GL_EXT_vertex_array_setXXX () +{ + GLboolean r = GL_FALSE; + + r = ((glBindArraySetEXT = (PFNGLBINDARRAYSETEXTPROC)glewGetProcAddress((const GLubyte*)"glBindArraySetEXT")) == NULL) || r; + r = ((glCreateArraySetExt = (PFNGLCREATEARRAYSETEXTPROC)glewGetProcAddress((const GLubyte*)"glCreateArraySetExt")) == NULL) || r; + r = ((glDeleteArraySetsEXT = (PFNGLDELETEARRAYSETSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteArraySetsEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_vertex_array_setXXX */ + +#ifdef GL_EXT_vertex_attrib_64bit + +static GLboolean _glewInit_GL_EXT_vertex_attrib_64bit () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLdvEXT")) == NULL) || r; + r = ((glVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribLOffsetEXT")) == NULL) || r; + r = ((glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dEXT")) == NULL) || r; + r = ((glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dvEXT")) == NULL) || r; + r = ((glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dEXT")) == NULL) || r; + r = ((glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dvEXT")) == NULL) || r; + r = ((glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dEXT")) == NULL) || r; + r = ((glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dvEXT")) == NULL) || r; + r = ((glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dEXT")) == NULL) || r; + r = ((glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dvEXT")) == NULL) || r; + r = ((glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLPointerEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_vertex_attrib_64bit */ + +#ifdef GL_EXT_vertex_shader + +static GLboolean _glewInit_GL_EXT_vertex_shader () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBeginVertexShaderEXT")) == NULL) || r; + r = ((glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindLightParameterEXT")) == NULL) || r; + r = ((glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindMaterialParameterEXT")) == NULL) || r; + r = ((glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindParameterEXT")) == NULL) || r; + r = ((glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTexGenParameterEXT")) == NULL) || r; + r = ((glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureUnitParameterEXT")) == NULL) || r; + r = ((glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindVertexShaderEXT")) == NULL) || r; + r = ((glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexShaderEXT")) == NULL) || r; + r = ((glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVariantClientStateEXT")) == NULL) || r; + r = ((glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVariantClientStateEXT")) == NULL) || r; + r = ((glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glEndVertexShaderEXT")) == NULL) || r; + r = ((glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glExtractComponentEXT")) == NULL) || r; + r = ((glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenSymbolsEXT")) == NULL) || r; + r = ((glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenVertexShadersEXT")) == NULL) || r; + r = ((glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantBooleanvEXT")) == NULL) || r; + r = ((glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantFloatvEXT")) == NULL) || r; + r = ((glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantIntegervEXT")) == NULL) || r; + r = ((glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantBooleanvEXT")) == NULL) || r; + r = ((glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantFloatvEXT")) == NULL) || r; + r = ((glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantIntegervEXT")) == NULL) || r; + r = ((glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantBooleanvEXT")) == NULL) || r; + r = ((glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantFloatvEXT")) == NULL) || r; + r = ((glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantIntegervEXT")) == NULL) || r; + r = ((glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantPointervEXT")) == NULL) || r; + r = ((glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glInsertComponentEXT")) == NULL) || r; + r = ((glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsVariantEnabledEXT")) == NULL) || r; + r = ((glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetInvariantEXT")) == NULL) || r; + r = ((glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetLocalConstantEXT")) == NULL) || r; + r = ((glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp1EXT")) == NULL) || r; + r = ((glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp2EXT")) == NULL) || r; + r = ((glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp3EXT")) == NULL) || r; + r = ((glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)glewGetProcAddress((const GLubyte*)"glSwizzleEXT")) == NULL) || r; + r = ((glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVariantPointerEXT")) == NULL) || r; + r = ((glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantbvEXT")) == NULL) || r; + r = ((glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantdvEXT")) == NULL) || r; + r = ((glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantfvEXT")) == NULL) || r; + r = ((glVariantivEXT = (PFNGLVARIANTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantivEXT")) == NULL) || r; + r = ((glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantsvEXT")) == NULL) || r; + r = ((glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantubvEXT")) == NULL) || r; + r = ((glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantuivEXT")) == NULL) || r; + r = ((glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantusvEXT")) == NULL) || r; + r = ((glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glWriteMaskEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_vertex_shader */ + +#ifdef GL_EXT_vertex_weighting + +static GLboolean _glewInit_GL_EXT_vertex_weighting () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightPointerEXT")) == NULL) || r; + r = ((glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfEXT")) == NULL) || r; + r = ((glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfvEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_vertex_weighting */ + +#ifdef GL_EXT_win32_keyed_mutex + +static GLboolean _glewInit_GL_EXT_win32_keyed_mutex () +{ + GLboolean r = GL_FALSE; + + r = ((glAcquireKeyedMutexWin32EXT = (PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC)glewGetProcAddress((const GLubyte*)"glAcquireKeyedMutexWin32EXT")) == NULL) || r; + r = ((glReleaseKeyedMutexWin32EXT = (PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC)glewGetProcAddress((const GLubyte*)"glReleaseKeyedMutexWin32EXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_win32_keyed_mutex */ + +#ifdef GL_EXT_window_rectangles + +static GLboolean _glewInit_GL_EXT_window_rectangles () +{ + GLboolean r = GL_FALSE; + + r = ((glWindowRectanglesEXT = (PFNGLWINDOWRECTANGLESEXTPROC)glewGetProcAddress((const GLubyte*)"glWindowRectanglesEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_window_rectangles */ + +#ifdef GL_EXT_x11_sync_object + +static GLboolean _glewInit_GL_EXT_x11_sync_object () +{ + GLboolean r = GL_FALSE; + + r = ((glImportSyncEXT = (PFNGLIMPORTSYNCEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSyncEXT")) == NULL) || r; + + return r; +} + +#endif /* GL_EXT_x11_sync_object */ + +#ifdef GL_GREMEDY_frame_terminator + +static GLboolean _glewInit_GL_GREMEDY_frame_terminator () +{ + GLboolean r = GL_FALSE; + + r = ((glFrameTerminatorGREMEDY = (PFNGLFRAMETERMINATORGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glFrameTerminatorGREMEDY")) == NULL) || r; + + return r; +} + +#endif /* GL_GREMEDY_frame_terminator */ + +#ifdef GL_GREMEDY_string_marker + +static GLboolean _glewInit_GL_GREMEDY_string_marker () +{ + GLboolean r = GL_FALSE; + + r = ((glStringMarkerGREMEDY = (PFNGLSTRINGMARKERGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glStringMarkerGREMEDY")) == NULL) || r; + + return r; +} + +#endif /* GL_GREMEDY_string_marker */ + +#ifdef GL_HP_image_transform + +static GLboolean _glewInit_GL_HP_image_transform () +{ + GLboolean r = GL_FALSE; + + r = ((glGetImageTransformParameterfvHP = (PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterfvHP")) == NULL) || r; + r = ((glGetImageTransformParameterivHP = (PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterivHP")) == NULL) || r; + r = ((glImageTransformParameterfHP = (PFNGLIMAGETRANSFORMPARAMETERFHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfHP")) == NULL) || r; + r = ((glImageTransformParameterfvHP = (PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfvHP")) == NULL) || r; + r = ((glImageTransformParameteriHP = (PFNGLIMAGETRANSFORMPARAMETERIHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameteriHP")) == NULL) || r; + r = ((glImageTransformParameterivHP = (PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterivHP")) == NULL) || r; + + return r; +} + +#endif /* GL_HP_image_transform */ + +#ifdef GL_IBM_multimode_draw_arrays + +static GLboolean _glewInit_GL_IBM_multimode_draw_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiModeDrawArraysIBM = (PFNGLMULTIMODEDRAWARRAYSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawArraysIBM")) == NULL) || r; + r = ((glMultiModeDrawElementsIBM = (PFNGLMULTIMODEDRAWELEMENTSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawElementsIBM")) == NULL) || r; + + return r; +} + +#endif /* GL_IBM_multimode_draw_arrays */ + +#ifdef GL_IBM_vertex_array_lists + +static GLboolean _glewInit_GL_IBM_vertex_array_lists () +{ + GLboolean r = GL_FALSE; + + r = ((glColorPointerListIBM = (PFNGLCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glColorPointerListIBM")) == NULL) || r; + r = ((glEdgeFlagPointerListIBM = (PFNGLEDGEFLAGPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerListIBM")) == NULL) || r; + r = ((glFogCoordPointerListIBM = (PFNGLFOGCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerListIBM")) == NULL) || r; + r = ((glIndexPointerListIBM = (PFNGLINDEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerListIBM")) == NULL) || r; + r = ((glNormalPointerListIBM = (PFNGLNORMALPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerListIBM")) == NULL) || r; + r = ((glSecondaryColorPointerListIBM = (PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerListIBM")) == NULL) || r; + r = ((glTexCoordPointerListIBM = (PFNGLTEXCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerListIBM")) == NULL) || r; + r = ((glVertexPointerListIBM = (PFNGLVERTEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerListIBM")) == NULL) || r; + + return r; +} + +#endif /* GL_IBM_vertex_array_lists */ + +#ifdef GL_INTEL_map_texture + +static GLboolean _glewInit_GL_INTEL_map_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glMapTexture2DINTEL = (PFNGLMAPTEXTURE2DINTELPROC)glewGetProcAddress((const GLubyte*)"glMapTexture2DINTEL")) == NULL) || r; + r = ((glSyncTextureINTEL = (PFNGLSYNCTEXTUREINTELPROC)glewGetProcAddress((const GLubyte*)"glSyncTextureINTEL")) == NULL) || r; + r = ((glUnmapTexture2DINTEL = (PFNGLUNMAPTEXTURE2DINTELPROC)glewGetProcAddress((const GLubyte*)"glUnmapTexture2DINTEL")) == NULL) || r; + + return r; +} + +#endif /* GL_INTEL_map_texture */ + +#ifdef GL_INTEL_parallel_arrays + +static GLboolean _glewInit_GL_INTEL_parallel_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glColorPointervINTEL = (PFNGLCOLORPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glColorPointervINTEL")) == NULL) || r; + r = ((glNormalPointervINTEL = (PFNGLNORMALPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glNormalPointervINTEL")) == NULL) || r; + r = ((glTexCoordPointervINTEL = (PFNGLTEXCOORDPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointervINTEL")) == NULL) || r; + r = ((glVertexPointervINTEL = (PFNGLVERTEXPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glVertexPointervINTEL")) == NULL) || r; + + return r; +} + +#endif /* GL_INTEL_parallel_arrays */ + +#ifdef GL_INTEL_performance_query + +static GLboolean _glewInit_GL_INTEL_performance_query () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginPerfQueryINTEL = (PFNGLBEGINPERFQUERYINTELPROC)glewGetProcAddress((const GLubyte*)"glBeginPerfQueryINTEL")) == NULL) || r; + r = ((glCreatePerfQueryINTEL = (PFNGLCREATEPERFQUERYINTELPROC)glewGetProcAddress((const GLubyte*)"glCreatePerfQueryINTEL")) == NULL) || r; + r = ((glDeletePerfQueryINTEL = (PFNGLDELETEPERFQUERYINTELPROC)glewGetProcAddress((const GLubyte*)"glDeletePerfQueryINTEL")) == NULL) || r; + r = ((glEndPerfQueryINTEL = (PFNGLENDPERFQUERYINTELPROC)glewGetProcAddress((const GLubyte*)"glEndPerfQueryINTEL")) == NULL) || r; + r = ((glGetFirstPerfQueryIdINTEL = (PFNGLGETFIRSTPERFQUERYIDINTELPROC)glewGetProcAddress((const GLubyte*)"glGetFirstPerfQueryIdINTEL")) == NULL) || r; + r = ((glGetNextPerfQueryIdINTEL = (PFNGLGETNEXTPERFQUERYIDINTELPROC)glewGetProcAddress((const GLubyte*)"glGetNextPerfQueryIdINTEL")) == NULL) || r; + r = ((glGetPerfCounterInfoINTEL = (PFNGLGETPERFCOUNTERINFOINTELPROC)glewGetProcAddress((const GLubyte*)"glGetPerfCounterInfoINTEL")) == NULL) || r; + r = ((glGetPerfQueryDataINTEL = (PFNGLGETPERFQUERYDATAINTELPROC)glewGetProcAddress((const GLubyte*)"glGetPerfQueryDataINTEL")) == NULL) || r; + r = ((glGetPerfQueryIdByNameINTEL = (PFNGLGETPERFQUERYIDBYNAMEINTELPROC)glewGetProcAddress((const GLubyte*)"glGetPerfQueryIdByNameINTEL")) == NULL) || r; + r = ((glGetPerfQueryInfoINTEL = (PFNGLGETPERFQUERYINFOINTELPROC)glewGetProcAddress((const GLubyte*)"glGetPerfQueryInfoINTEL")) == NULL) || r; + + return r; +} + +#endif /* GL_INTEL_performance_query */ + +#ifdef GL_INTEL_texture_scissor + +static GLboolean _glewInit_GL_INTEL_texture_scissor () +{ + GLboolean r = GL_FALSE; + + r = ((glTexScissorFuncINTEL = (PFNGLTEXSCISSORFUNCINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorFuncINTEL")) == NULL) || r; + r = ((glTexScissorINTEL = (PFNGLTEXSCISSORINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorINTEL")) == NULL) || r; + + return r; +} + +#endif /* GL_INTEL_texture_scissor */ + +#ifdef GL_KHR_blend_equation_advanced + +static GLboolean _glewInit_GL_KHR_blend_equation_advanced () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendBarrierKHR = (PFNGLBLENDBARRIERKHRPROC)glewGetProcAddress((const GLubyte*)"glBlendBarrierKHR")) == NULL) || r; + + return r; +} + +#endif /* GL_KHR_blend_equation_advanced */ + +#ifdef GL_KHR_debug + +static GLboolean _glewInit_GL_KHR_debug () +{ + GLboolean r = GL_FALSE; + + r = ((glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallback")) == NULL) || r; + r = ((glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageControl")) == NULL) || r; + r = ((glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsert")) == NULL) || r; + r = ((glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLog")) == NULL) || r; + r = ((glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)glewGetProcAddress((const GLubyte*)"glGetObjectLabel")) == NULL) || r; + r = ((glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)glewGetProcAddress((const GLubyte*)"glGetObjectPtrLabel")) == NULL) || r; + r = ((glObjectLabel = (PFNGLOBJECTLABELPROC)glewGetProcAddress((const GLubyte*)"glObjectLabel")) == NULL) || r; + r = ((glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)glewGetProcAddress((const GLubyte*)"glObjectPtrLabel")) == NULL) || r; + r = ((glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)glewGetProcAddress((const GLubyte*)"glPopDebugGroup")) == NULL) || r; + r = ((glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)glewGetProcAddress((const GLubyte*)"glPushDebugGroup")) == NULL) || r; + + return r; +} + +#endif /* GL_KHR_debug */ + +#ifdef GL_KHR_parallel_shader_compile + +static GLboolean _glewInit_GL_KHR_parallel_shader_compile () +{ + GLboolean r = GL_FALSE; + + r = ((glMaxShaderCompilerThreadsKHR = (PFNGLMAXSHADERCOMPILERTHREADSKHRPROC)glewGetProcAddress((const GLubyte*)"glMaxShaderCompilerThreadsKHR")) == NULL) || r; + + return r; +} + +#endif /* GL_KHR_parallel_shader_compile */ + +#ifdef GL_KHR_robustness + +static GLboolean _glewInit_GL_KHR_robustness () +{ + GLboolean r = GL_FALSE; + + r = ((glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformfv")) == NULL) || r; + r = ((glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformiv")) == NULL) || r; + r = ((glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformuiv")) == NULL) || r; + r = ((glReadnPixels = (PFNGLREADNPIXELSPROC)glewGetProcAddress((const GLubyte*)"glReadnPixels")) == NULL) || r; + + return r; +} + +#endif /* GL_KHR_robustness */ + +#ifdef GL_KTX_buffer_region + +static GLboolean _glewInit_GL_KTX_buffer_region () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferRegionEnabled = (PFNGLBUFFERREGIONENABLEDPROC)glewGetProcAddress((const GLubyte*)"glBufferRegionEnabled")) == NULL) || r; + r = ((glDeleteBufferRegion = (PFNGLDELETEBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glDeleteBufferRegion")) == NULL) || r; + r = ((glDrawBufferRegion = (PFNGLDRAWBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glDrawBufferRegion")) == NULL) || r; + r = ((glNewBufferRegion = (PFNGLNEWBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glNewBufferRegion")) == NULL) || r; + r = ((glReadBufferRegion = (PFNGLREADBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glReadBufferRegion")) == NULL) || r; + + return r; +} + +#endif /* GL_KTX_buffer_region */ + +#ifdef GL_MESA_resize_buffers + +static GLboolean _glewInit_GL_MESA_resize_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glResizeBuffersMESA = (PFNGLRESIZEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glResizeBuffersMESA")) == NULL) || r; + + return r; +} + +#endif /* GL_MESA_resize_buffers */ + +#ifdef GL_MESA_window_pos + +static GLboolean _glewInit_GL_MESA_window_pos () +{ + GLboolean r = GL_FALSE; + + r = ((glWindowPos2dMESA = (PFNGLWINDOWPOS2DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dMESA")) == NULL) || r; + r = ((glWindowPos2dvMESA = (PFNGLWINDOWPOS2DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvMESA")) == NULL) || r; + r = ((glWindowPos2fMESA = (PFNGLWINDOWPOS2FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fMESA")) == NULL) || r; + r = ((glWindowPos2fvMESA = (PFNGLWINDOWPOS2FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvMESA")) == NULL) || r; + r = ((glWindowPos2iMESA = (PFNGLWINDOWPOS2IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iMESA")) == NULL) || r; + r = ((glWindowPos2ivMESA = (PFNGLWINDOWPOS2IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivMESA")) == NULL) || r; + r = ((glWindowPos2sMESA = (PFNGLWINDOWPOS2SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sMESA")) == NULL) || r; + r = ((glWindowPos2svMESA = (PFNGLWINDOWPOS2SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svMESA")) == NULL) || r; + r = ((glWindowPos3dMESA = (PFNGLWINDOWPOS3DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dMESA")) == NULL) || r; + r = ((glWindowPos3dvMESA = (PFNGLWINDOWPOS3DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvMESA")) == NULL) || r; + r = ((glWindowPos3fMESA = (PFNGLWINDOWPOS3FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fMESA")) == NULL) || r; + r = ((glWindowPos3fvMESA = (PFNGLWINDOWPOS3FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvMESA")) == NULL) || r; + r = ((glWindowPos3iMESA = (PFNGLWINDOWPOS3IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iMESA")) == NULL) || r; + r = ((glWindowPos3ivMESA = (PFNGLWINDOWPOS3IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivMESA")) == NULL) || r; + r = ((glWindowPos3sMESA = (PFNGLWINDOWPOS3SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sMESA")) == NULL) || r; + r = ((glWindowPos3svMESA = (PFNGLWINDOWPOS3SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svMESA")) == NULL) || r; + r = ((glWindowPos4dMESA = (PFNGLWINDOWPOS4DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dMESA")) == NULL) || r; + r = ((glWindowPos4dvMESA = (PFNGLWINDOWPOS4DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dvMESA")) == NULL) || r; + r = ((glWindowPos4fMESA = (PFNGLWINDOWPOS4FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fMESA")) == NULL) || r; + r = ((glWindowPos4fvMESA = (PFNGLWINDOWPOS4FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fvMESA")) == NULL) || r; + r = ((glWindowPos4iMESA = (PFNGLWINDOWPOS4IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4iMESA")) == NULL) || r; + r = ((glWindowPos4ivMESA = (PFNGLWINDOWPOS4IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4ivMESA")) == NULL) || r; + r = ((glWindowPos4sMESA = (PFNGLWINDOWPOS4SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4sMESA")) == NULL) || r; + r = ((glWindowPos4svMESA = (PFNGLWINDOWPOS4SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4svMESA")) == NULL) || r; + + return r; +} + +#endif /* GL_MESA_window_pos */ + +#ifdef GL_NVX_conditional_render + +static GLboolean _glewInit_GL_NVX_conditional_render () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginConditionalRenderNVX = (PFNGLBEGINCONDITIONALRENDERNVXPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRenderNVX")) == NULL) || r; + r = ((glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRenderNVX")) == NULL) || r; + + return r; +} + +#endif /* GL_NVX_conditional_render */ + +#ifdef GL_NVX_linked_gpu_multicast + +static GLboolean _glewInit_GL_NVX_linked_gpu_multicast () +{ + GLboolean r = GL_FALSE; + + r = ((glLGPUCopyImageSubDataNVX = (PFNGLLGPUCOPYIMAGESUBDATANVXPROC)glewGetProcAddress((const GLubyte*)"glLGPUCopyImageSubDataNVX")) == NULL) || r; + r = ((glLGPUInterlockNVX = (PFNGLLGPUINTERLOCKNVXPROC)glewGetProcAddress((const GLubyte*)"glLGPUInterlockNVX")) == NULL) || r; + r = ((glLGPUNamedBufferSubDataNVX = (PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)glewGetProcAddress((const GLubyte*)"glLGPUNamedBufferSubDataNVX")) == NULL) || r; + + return r; +} + +#endif /* GL_NVX_linked_gpu_multicast */ + +#ifdef GL_NV_3dvision_settings + +static GLboolean _glewInit_GL_NV_3dvision_settings () +{ + GLboolean r = GL_FALSE; + + r = ((glStereoParameterfNV = (PFNGLSTEREOPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glStereoParameterfNV")) == NULL) || r; + r = ((glStereoParameteriNV = (PFNGLSTEREOPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glStereoParameteriNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_3dvision_settings */ + +#ifdef GL_NV_bindless_multi_draw_indirect + +static GLboolean _glewInit_GL_NV_bindless_multi_draw_indirect () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectBindlessNV")) == NULL) || r; + r = ((glMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectBindlessNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_bindless_multi_draw_indirect */ + +#ifdef GL_NV_bindless_multi_draw_indirect_count + +static GLboolean _glewInit_GL_NV_bindless_multi_draw_indirect_count () +{ + GLboolean r = GL_FALSE; + + r = ((glMultiDrawArraysIndirectBindlessCountNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectBindlessCountNV")) == NULL) || r; + r = ((glMultiDrawElementsIndirectBindlessCountNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectBindlessCountNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_bindless_multi_draw_indirect_count */ + +#ifdef GL_NV_bindless_texture + +static GLboolean _glewInit_GL_NV_bindless_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetImageHandleNV")) == NULL) || r; + r = ((glGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureHandleNV")) == NULL) || r; + r = ((glGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureSamplerHandleNV")) == NULL) || r; + r = ((glIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsImageHandleResidentNV")) == NULL) || r; + r = ((glIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsTextureHandleResidentNV")) == NULL) || r; + r = ((glMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleNonResidentNV")) == NULL) || r; + r = ((glMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleResidentNV")) == NULL) || r; + r = ((glMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleNonResidentNV")) == NULL) || r; + r = ((glMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleResidentNV")) == NULL) || r; + r = ((glProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64NV")) == NULL) || r; + r = ((glProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64vNV")) == NULL) || r; + r = ((glUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64NV")) == NULL) || r; + r = ((glUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64vNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_bindless_texture */ + +#ifdef GL_NV_blend_equation_advanced + +static GLboolean _glewInit_GL_NV_blend_equation_advanced () +{ + GLboolean r = GL_FALSE; + + r = ((glBlendBarrierNV = (PFNGLBLENDBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glBlendBarrierNV")) == NULL) || r; + r = ((glBlendParameteriNV = (PFNGLBLENDPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glBlendParameteriNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_blend_equation_advanced */ + +#ifdef GL_NV_clip_space_w_scaling + +static GLboolean _glewInit_GL_NV_clip_space_w_scaling () +{ + GLboolean r = GL_FALSE; + + r = ((glViewportPositionWScaleNV = (PFNGLVIEWPORTPOSITIONWSCALENVPROC)glewGetProcAddress((const GLubyte*)"glViewportPositionWScaleNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_clip_space_w_scaling */ + +#ifdef GL_NV_command_list + +static GLboolean _glewInit_GL_NV_command_list () +{ + GLboolean r = GL_FALSE; + + r = ((glCallCommandListNV = (PFNGLCALLCOMMANDLISTNVPROC)glewGetProcAddress((const GLubyte*)"glCallCommandListNV")) == NULL) || r; + r = ((glCommandListSegmentsNV = (PFNGLCOMMANDLISTSEGMENTSNVPROC)glewGetProcAddress((const GLubyte*)"glCommandListSegmentsNV")) == NULL) || r; + r = ((glCompileCommandListNV = (PFNGLCOMPILECOMMANDLISTNVPROC)glewGetProcAddress((const GLubyte*)"glCompileCommandListNV")) == NULL) || r; + r = ((glCreateCommandListsNV = (PFNGLCREATECOMMANDLISTSNVPROC)glewGetProcAddress((const GLubyte*)"glCreateCommandListsNV")) == NULL) || r; + r = ((glCreateStatesNV = (PFNGLCREATESTATESNVPROC)glewGetProcAddress((const GLubyte*)"glCreateStatesNV")) == NULL) || r; + r = ((glDeleteCommandListsNV = (PFNGLDELETECOMMANDLISTSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteCommandListsNV")) == NULL) || r; + r = ((glDeleteStatesNV = (PFNGLDELETESTATESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteStatesNV")) == NULL) || r; + r = ((glDrawCommandsAddressNV = (PFNGLDRAWCOMMANDSADDRESSNVPROC)glewGetProcAddress((const GLubyte*)"glDrawCommandsAddressNV")) == NULL) || r; + r = ((glDrawCommandsNV = (PFNGLDRAWCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glDrawCommandsNV")) == NULL) || r; + r = ((glDrawCommandsStatesAddressNV = (PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC)glewGetProcAddress((const GLubyte*)"glDrawCommandsStatesAddressNV")) == NULL) || r; + r = ((glDrawCommandsStatesNV = (PFNGLDRAWCOMMANDSSTATESNVPROC)glewGetProcAddress((const GLubyte*)"glDrawCommandsStatesNV")) == NULL) || r; + r = ((glGetCommandHeaderNV = (PFNGLGETCOMMANDHEADERNVPROC)glewGetProcAddress((const GLubyte*)"glGetCommandHeaderNV")) == NULL) || r; + r = ((glGetStageIndexNV = (PFNGLGETSTAGEINDEXNVPROC)glewGetProcAddress((const GLubyte*)"glGetStageIndexNV")) == NULL) || r; + r = ((glIsCommandListNV = (PFNGLISCOMMANDLISTNVPROC)glewGetProcAddress((const GLubyte*)"glIsCommandListNV")) == NULL) || r; + r = ((glIsStateNV = (PFNGLISSTATENVPROC)glewGetProcAddress((const GLubyte*)"glIsStateNV")) == NULL) || r; + r = ((glListDrawCommandsStatesClientNV = (PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC)glewGetProcAddress((const GLubyte*)"glListDrawCommandsStatesClientNV")) == NULL) || r; + r = ((glStateCaptureNV = (PFNGLSTATECAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glStateCaptureNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_command_list */ + +#ifdef GL_NV_conditional_render + +static GLboolean _glewInit_GL_NV_conditional_render () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRenderNV")) == NULL) || r; + r = ((glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRenderNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_conditional_render */ + +#ifdef GL_NV_conservative_raster + +static GLboolean _glewInit_GL_NV_conservative_raster () +{ + GLboolean r = GL_FALSE; + + r = ((glSubpixelPrecisionBiasNV = (PFNGLSUBPIXELPRECISIONBIASNVPROC)glewGetProcAddress((const GLubyte*)"glSubpixelPrecisionBiasNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_conservative_raster */ + +#ifdef GL_NV_conservative_raster_dilate + +static GLboolean _glewInit_GL_NV_conservative_raster_dilate () +{ + GLboolean r = GL_FALSE; + + r = ((glConservativeRasterParameterfNV = (PFNGLCONSERVATIVERASTERPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glConservativeRasterParameterfNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_conservative_raster_dilate */ + +#ifdef GL_NV_conservative_raster_pre_snap_triangles + +static GLboolean _glewInit_GL_NV_conservative_raster_pre_snap_triangles () +{ + GLboolean r = GL_FALSE; + + r = ((glConservativeRasterParameteriNV = (PFNGLCONSERVATIVERASTERPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glConservativeRasterParameteriNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ + +#ifdef GL_NV_copy_buffer + +static GLboolean _glewInit_GL_NV_copy_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyBufferSubDataNV = (PFNGLCOPYBUFFERSUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glCopyBufferSubDataNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_copy_buffer */ + +#ifdef GL_NV_copy_image + +static GLboolean _glewInit_GL_NV_copy_image () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glCopyImageSubDataNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_copy_image */ + +#ifdef GL_NV_depth_buffer_float + +static GLboolean _glewInit_GL_NV_depth_buffer_float () +{ + GLboolean r = GL_FALSE; + + r = ((glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)glewGetProcAddress((const GLubyte*)"glClearDepthdNV")) == NULL) || r; + r = ((glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsdNV")) == NULL) || r; + r = ((glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangedNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_depth_buffer_float */ + +#ifdef GL_NV_draw_buffers + +static GLboolean _glewInit_GL_NV_draw_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawBuffersNV = (PFNGLDRAWBUFFERSNVPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_draw_buffers */ + +#ifdef GL_NV_draw_instanced + +static GLboolean _glewInit_GL_NV_draw_instanced () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawArraysInstancedNV = (PFNGLDRAWARRAYSINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedNV")) == NULL) || r; + r = ((glDrawElementsInstancedNV = (PFNGLDRAWELEMENTSINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_draw_instanced */ + +#ifdef GL_NV_draw_texture + +static GLboolean _glewInit_GL_NV_draw_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)glewGetProcAddress((const GLubyte*)"glDrawTextureNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_draw_texture */ + +#ifdef GL_NV_draw_vulkan_image + +static GLboolean _glewInit_GL_NV_draw_vulkan_image () +{ + GLboolean r = GL_FALSE; + + r = ((glDrawVkImageNV = (PFNGLDRAWVKIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glDrawVkImageNV")) == NULL) || r; + r = ((glGetVkProcAddrNV = (PFNGLGETVKPROCADDRNVPROC)glewGetProcAddress((const GLubyte*)"glGetVkProcAddrNV")) == NULL) || r; + r = ((glSignalVkFenceNV = (PFNGLSIGNALVKFENCENVPROC)glewGetProcAddress((const GLubyte*)"glSignalVkFenceNV")) == NULL) || r; + r = ((glSignalVkSemaphoreNV = (PFNGLSIGNALVKSEMAPHORENVPROC)glewGetProcAddress((const GLubyte*)"glSignalVkSemaphoreNV")) == NULL) || r; + r = ((glWaitVkSemaphoreNV = (PFNGLWAITVKSEMAPHORENVPROC)glewGetProcAddress((const GLubyte*)"glWaitVkSemaphoreNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_draw_vulkan_image */ + +#ifdef GL_NV_evaluators + +static GLboolean _glewInit_GL_NV_evaluators () +{ + GLboolean r = GL_FALSE; + + r = ((glEvalMapsNV = (PFNGLEVALMAPSNVPROC)glewGetProcAddress((const GLubyte*)"glEvalMapsNV")) == NULL) || r; + r = ((glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterfvNV")) == NULL) || r; + r = ((glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterivNV")) == NULL) || r; + r = ((glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapControlPointsNV")) == NULL) || r; + r = ((glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterfvNV")) == NULL) || r; + r = ((glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterivNV")) == NULL) || r; + r = ((glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glMapControlPointsNV")) == NULL) || r; + r = ((glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterfvNV")) == NULL) || r; + r = ((glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_evaluators */ + +#ifdef GL_NV_explicit_multisample + +static GLboolean _glewInit_GL_NV_explicit_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMultisamplefvNV")) == NULL) || r; + r = ((glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskIndexedNV")) == NULL) || r; + r = ((glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glTexRenderbufferNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_explicit_multisample */ + +#ifdef GL_NV_fence + +static GLboolean _glewInit_GL_NV_fence () +{ + GLboolean r = GL_FALSE; + + r = ((glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesNV")) == NULL) || r; + r = ((glFinishFenceNV = (PFNGLFINISHFENCENVPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceNV")) == NULL) || r; + r = ((glGenFencesNV = (PFNGLGENFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glGenFencesNV")) == NULL) || r; + r = ((glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFenceivNV")) == NULL) || r; + r = ((glIsFenceNV = (PFNGLISFENCENVPROC)glewGetProcAddress((const GLubyte*)"glIsFenceNV")) == NULL) || r; + r = ((glSetFenceNV = (PFNGLSETFENCENVPROC)glewGetProcAddress((const GLubyte*)"glSetFenceNV")) == NULL) || r; + r = ((glTestFenceNV = (PFNGLTESTFENCENVPROC)glewGetProcAddress((const GLubyte*)"glTestFenceNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_fence */ + +#ifdef GL_NV_fragment_coverage_to_color + +static GLboolean _glewInit_GL_NV_fragment_coverage_to_color () +{ + GLboolean r = GL_FALSE; + + r = ((glFragmentCoverageColorNV = (PFNGLFRAGMENTCOVERAGECOLORNVPROC)glewGetProcAddress((const GLubyte*)"glFragmentCoverageColorNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_fragment_coverage_to_color */ + +#ifdef GL_NV_fragment_program + +static GLboolean _glewInit_GL_NV_fragment_program () +{ + GLboolean r = GL_FALSE; + + r = ((glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterdvNV")) == NULL) || r; + r = ((glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterfvNV")) == NULL) || r; + r = ((glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dNV")) == NULL) || r; + r = ((glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dvNV")) == NULL) || r; + r = ((glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fNV")) == NULL) || r; + r = ((glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_fragment_program */ + +#ifdef GL_NV_framebuffer_blit + +static GLboolean _glewInit_GL_NV_framebuffer_blit () +{ + GLboolean r = GL_FALSE; + + r = ((glBlitFramebufferNV = (PFNGLBLITFRAMEBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_framebuffer_blit */ + +#ifdef GL_NV_framebuffer_multisample + +static GLboolean _glewInit_GL_NV_framebuffer_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glRenderbufferStorageMultisampleNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_framebuffer_multisample */ + +#ifdef GL_NV_framebuffer_multisample_coverage + +static GLboolean _glewInit_GL_NV_framebuffer_multisample_coverage () +{ + GLboolean r = GL_FALSE; + + r = ((glRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleCoverageNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_framebuffer_multisample_coverage */ + +#ifdef GL_NV_geometry_program4 + +static GLboolean _glewInit_GL_NV_geometry_program4 () +{ + GLboolean r = GL_FALSE; + + r = ((glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC)glewGetProcAddress((const GLubyte*)"glProgramVertexLimitNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_geometry_program4 */ + +#ifdef GL_NV_gpu_multicast + +static GLboolean _glewInit_GL_NV_gpu_multicast () +{ + GLboolean r = GL_FALSE; + + r = ((glMulticastBarrierNV = (PFNGLMULTICASTBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastBarrierNV")) == NULL) || r; + r = ((glMulticastBlitFramebufferNV = (PFNGLMULTICASTBLITFRAMEBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastBlitFramebufferNV")) == NULL) || r; + r = ((glMulticastBufferSubDataNV = (PFNGLMULTICASTBUFFERSUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glMulticastBufferSubDataNV")) == NULL) || r; + r = ((glMulticastCopyBufferSubDataNV = (PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glMulticastCopyBufferSubDataNV")) == NULL) || r; + r = ((glMulticastCopyImageSubDataNV = (PFNGLMULTICASTCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glMulticastCopyImageSubDataNV")) == NULL) || r; + r = ((glMulticastFramebufferSampleLocationsfvNV = (PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastFramebufferSampleLocationsfvNV")) == NULL) || r; + r = ((glMulticastGetQueryObjecti64vNV = (PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastGetQueryObjecti64vNV")) == NULL) || r; + r = ((glMulticastGetQueryObjectivNV = (PFNGLMULTICASTGETQUERYOBJECTIVNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastGetQueryObjectivNV")) == NULL) || r; + r = ((glMulticastGetQueryObjectui64vNV = (PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastGetQueryObjectui64vNV")) == NULL) || r; + r = ((glMulticastGetQueryObjectuivNV = (PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastGetQueryObjectuivNV")) == NULL) || r; + r = ((glMulticastWaitSyncNV = (PFNGLMULTICASTWAITSYNCNVPROC)glewGetProcAddress((const GLubyte*)"glMulticastWaitSyncNV")) == NULL) || r; + r = ((glRenderGpuMaskNV = (PFNGLRENDERGPUMASKNVPROC)glewGetProcAddress((const GLubyte*)"glRenderGpuMaskNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_gpu_multicast */ + +#ifdef GL_NV_gpu_program4 + +static GLboolean _glewInit_GL_NV_gpu_program4 () +{ + GLboolean r = GL_FALSE; + + r = ((glProgramEnvParameterI4iNV = (PFNGLPROGRAMENVPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4iNV")) == NULL) || r; + r = ((glProgramEnvParameterI4ivNV = (PFNGLPROGRAMENVPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4ivNV")) == NULL) || r; + r = ((glProgramEnvParameterI4uiNV = (PFNGLPROGRAMENVPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uiNV")) == NULL) || r; + r = ((glProgramEnvParameterI4uivNV = (PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uivNV")) == NULL) || r; + r = ((glProgramEnvParametersI4ivNV = (PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4ivNV")) == NULL) || r; + r = ((glProgramEnvParametersI4uivNV = (PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4uivNV")) == NULL) || r; + r = ((glProgramLocalParameterI4iNV = (PFNGLPROGRAMLOCALPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4iNV")) == NULL) || r; + r = ((glProgramLocalParameterI4ivNV = (PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4ivNV")) == NULL) || r; + r = ((glProgramLocalParameterI4uiNV = (PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uiNV")) == NULL) || r; + r = ((glProgramLocalParameterI4uivNV = (PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uivNV")) == NULL) || r; + r = ((glProgramLocalParametersI4ivNV = (PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4ivNV")) == NULL) || r; + r = ((glProgramLocalParametersI4uivNV = (PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4uivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_gpu_program4 */ + +#ifdef GL_NV_gpu_shader5 + +static GLboolean _glewInit_GL_NV_gpu_shader5 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformi64vNV")) == NULL) || r; + r = ((glGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformui64vNV")) == NULL) || r; + r = ((glProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64NV")) == NULL) || r; + r = ((glProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64vNV")) == NULL) || r; + r = ((glProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64NV")) == NULL) || r; + r = ((glProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64vNV")) == NULL) || r; + r = ((glProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64NV")) == NULL) || r; + r = ((glProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64vNV")) == NULL) || r; + r = ((glProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64NV")) == NULL) || r; + r = ((glProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64vNV")) == NULL) || r; + r = ((glProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64NV")) == NULL) || r; + r = ((glProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64vNV")) == NULL) || r; + r = ((glProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64NV")) == NULL) || r; + r = ((glProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64vNV")) == NULL) || r; + r = ((glProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64NV")) == NULL) || r; + r = ((glProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64vNV")) == NULL) || r; + r = ((glProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64NV")) == NULL) || r; + r = ((glProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64vNV")) == NULL) || r; + r = ((glUniform1i64NV = (PFNGLUNIFORM1I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64NV")) == NULL) || r; + r = ((glUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64vNV")) == NULL) || r; + r = ((glUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64NV")) == NULL) || r; + r = ((glUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64vNV")) == NULL) || r; + r = ((glUniform2i64NV = (PFNGLUNIFORM2I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64NV")) == NULL) || r; + r = ((glUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64vNV")) == NULL) || r; + r = ((glUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64NV")) == NULL) || r; + r = ((glUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64vNV")) == NULL) || r; + r = ((glUniform3i64NV = (PFNGLUNIFORM3I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64NV")) == NULL) || r; + r = ((glUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64vNV")) == NULL) || r; + r = ((glUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64NV")) == NULL) || r; + r = ((glUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64vNV")) == NULL) || r; + r = ((glUniform4i64NV = (PFNGLUNIFORM4I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64NV")) == NULL) || r; + r = ((glUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64vNV")) == NULL) || r; + r = ((glUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64NV")) == NULL) || r; + r = ((glUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64vNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_gpu_shader5 */ + +#ifdef GL_NV_half_float + +static GLboolean _glewInit_GL_NV_half_float () +{ + GLboolean r = GL_FALSE; + + r = ((glColor3hNV = (PFNGLCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hNV")) == NULL) || r; + r = ((glColor3hvNV = (PFNGLCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hvNV")) == NULL) || r; + r = ((glColor4hNV = (PFNGLCOLOR4HNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hNV")) == NULL) || r; + r = ((glColor4hvNV = (PFNGLCOLOR4HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hvNV")) == NULL) || r; + r = ((glFogCoordhNV = (PFNGLFOGCOORDHNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhNV")) == NULL) || r; + r = ((glFogCoordhvNV = (PFNGLFOGCOORDHVNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhvNV")) == NULL) || r; + r = ((glMultiTexCoord1hNV = (PFNGLMULTITEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hNV")) == NULL) || r; + r = ((glMultiTexCoord1hvNV = (PFNGLMULTITEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hvNV")) == NULL) || r; + r = ((glMultiTexCoord2hNV = (PFNGLMULTITEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hNV")) == NULL) || r; + r = ((glMultiTexCoord2hvNV = (PFNGLMULTITEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hvNV")) == NULL) || r; + r = ((glMultiTexCoord3hNV = (PFNGLMULTITEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hNV")) == NULL) || r; + r = ((glMultiTexCoord3hvNV = (PFNGLMULTITEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hvNV")) == NULL) || r; + r = ((glMultiTexCoord4hNV = (PFNGLMULTITEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hNV")) == NULL) || r; + r = ((glMultiTexCoord4hvNV = (PFNGLMULTITEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hvNV")) == NULL) || r; + r = ((glNormal3hNV = (PFNGLNORMAL3HNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hNV")) == NULL) || r; + r = ((glNormal3hvNV = (PFNGLNORMAL3HVNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hvNV")) == NULL) || r; + r = ((glSecondaryColor3hNV = (PFNGLSECONDARYCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hNV")) == NULL) || r; + r = ((glSecondaryColor3hvNV = (PFNGLSECONDARYCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hvNV")) == NULL) || r; + r = ((glTexCoord1hNV = (PFNGLTEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hNV")) == NULL) || r; + r = ((glTexCoord1hvNV = (PFNGLTEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hvNV")) == NULL) || r; + r = ((glTexCoord2hNV = (PFNGLTEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hNV")) == NULL) || r; + r = ((glTexCoord2hvNV = (PFNGLTEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hvNV")) == NULL) || r; + r = ((glTexCoord3hNV = (PFNGLTEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hNV")) == NULL) || r; + r = ((glTexCoord3hvNV = (PFNGLTEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hvNV")) == NULL) || r; + r = ((glTexCoord4hNV = (PFNGLTEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hNV")) == NULL) || r; + r = ((glTexCoord4hvNV = (PFNGLTEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hvNV")) == NULL) || r; + r = ((glVertex2hNV = (PFNGLVERTEX2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hNV")) == NULL) || r; + r = ((glVertex2hvNV = (PFNGLVERTEX2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hvNV")) == NULL) || r; + r = ((glVertex3hNV = (PFNGLVERTEX3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hNV")) == NULL) || r; + r = ((glVertex3hvNV = (PFNGLVERTEX3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hvNV")) == NULL) || r; + r = ((glVertex4hNV = (PFNGLVERTEX4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hNV")) == NULL) || r; + r = ((glVertex4hvNV = (PFNGLVERTEX4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hvNV")) == NULL) || r; + r = ((glVertexAttrib1hNV = (PFNGLVERTEXATTRIB1HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hNV")) == NULL) || r; + r = ((glVertexAttrib1hvNV = (PFNGLVERTEXATTRIB1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hvNV")) == NULL) || r; + r = ((glVertexAttrib2hNV = (PFNGLVERTEXATTRIB2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hNV")) == NULL) || r; + r = ((glVertexAttrib2hvNV = (PFNGLVERTEXATTRIB2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hvNV")) == NULL) || r; + r = ((glVertexAttrib3hNV = (PFNGLVERTEXATTRIB3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hNV")) == NULL) || r; + r = ((glVertexAttrib3hvNV = (PFNGLVERTEXATTRIB3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hvNV")) == NULL) || r; + r = ((glVertexAttrib4hNV = (PFNGLVERTEXATTRIB4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hNV")) == NULL) || r; + r = ((glVertexAttrib4hvNV = (PFNGLVERTEXATTRIB4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hvNV")) == NULL) || r; + r = ((glVertexAttribs1hvNV = (PFNGLVERTEXATTRIBS1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1hvNV")) == NULL) || r; + r = ((glVertexAttribs2hvNV = (PFNGLVERTEXATTRIBS2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2hvNV")) == NULL) || r; + r = ((glVertexAttribs3hvNV = (PFNGLVERTEXATTRIBS3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3hvNV")) == NULL) || r; + r = ((glVertexAttribs4hvNV = (PFNGLVERTEXATTRIBS4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4hvNV")) == NULL) || r; + r = ((glVertexWeighthNV = (PFNGLVERTEXWEIGHTHNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthNV")) == NULL) || r; + r = ((glVertexWeighthvNV = (PFNGLVERTEXWEIGHTHVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_half_float */ + +#ifdef GL_NV_instanced_arrays + +static GLboolean _glewInit_GL_NV_instanced_arrays () +{ + GLboolean r = GL_FALSE; + + r = ((glVertexAttribDivisorNV = (PFNGLVERTEXATTRIBDIVISORNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_instanced_arrays */ + +#ifdef GL_NV_internalformat_sample_query + +static GLboolean _glewInit_GL_NV_internalformat_sample_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetInternalformatSampleivNV = (PFNGLGETINTERNALFORMATSAMPLEIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetInternalformatSampleivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_internalformat_sample_query */ + +#ifdef GL_NV_non_square_matrices + +static GLboolean _glewInit_GL_NV_non_square_matrices () +{ + GLboolean r = GL_FALSE; + + r = ((glUniformMatrix2x3fvNV = (PFNGLUNIFORMMATRIX2X3FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3fvNV")) == NULL) || r; + r = ((glUniformMatrix2x4fvNV = (PFNGLUNIFORMMATRIX2X4FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4fvNV")) == NULL) || r; + r = ((glUniformMatrix3x2fvNV = (PFNGLUNIFORMMATRIX3X2FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2fvNV")) == NULL) || r; + r = ((glUniformMatrix3x4fvNV = (PFNGLUNIFORMMATRIX3X4FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4fvNV")) == NULL) || r; + r = ((glUniformMatrix4x2fvNV = (PFNGLUNIFORMMATRIX4X2FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2fvNV")) == NULL) || r; + r = ((glUniformMatrix4x3fvNV = (PFNGLUNIFORMMATRIX4X3FVNVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3fvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_non_square_matrices */ + +#ifdef GL_NV_occlusion_query + +static GLboolean _glewInit_GL_NV_occlusion_query () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glBeginOcclusionQueryNV")) == NULL) || r; + r = ((glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteOcclusionQueriesNV")) == NULL) || r; + r = ((glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glEndOcclusionQueryNV")) == NULL) || r; + r = ((glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glGenOcclusionQueriesNV")) == NULL) || r; + r = ((glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryivNV")) == NULL) || r; + r = ((glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryuivNV")) == NULL) || r; + r = ((glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glIsOcclusionQueryNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_occlusion_query */ + +#ifdef GL_NV_parameter_buffer_object + +static GLboolean _glewInit_GL_NV_parameter_buffer_object () +{ + GLboolean r = GL_FALSE; + + r = ((glProgramBufferParametersIivNV = (PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIivNV")) == NULL) || r; + r = ((glProgramBufferParametersIuivNV = (PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIuivNV")) == NULL) || r; + r = ((glProgramBufferParametersfvNV = (PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersfvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_parameter_buffer_object */ + +#ifdef GL_NV_path_rendering + +static GLboolean _glewInit_GL_NV_path_rendering () +{ + GLboolean r = GL_FALSE; + + r = ((glCopyPathNV = (PFNGLCOPYPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCopyPathNV")) == NULL) || r; + r = ((glCoverFillPathInstancedNV = (PFNGLCOVERFILLPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glCoverFillPathInstancedNV")) == NULL) || r; + r = ((glCoverFillPathNV = (PFNGLCOVERFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCoverFillPathNV")) == NULL) || r; + r = ((glCoverStrokePathInstancedNV = (PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glCoverStrokePathInstancedNV")) == NULL) || r; + r = ((glCoverStrokePathNV = (PFNGLCOVERSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCoverStrokePathNV")) == NULL) || r; + r = ((glDeletePathsNV = (PFNGLDELETEPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glDeletePathsNV")) == NULL) || r; + r = ((glGenPathsNV = (PFNGLGENPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glGenPathsNV")) == NULL) || r; + r = ((glGetPathColorGenfvNV = (PFNGLGETPATHCOLORGENFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathColorGenfvNV")) == NULL) || r; + r = ((glGetPathColorGenivNV = (PFNGLGETPATHCOLORGENIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathColorGenivNV")) == NULL) || r; + r = ((glGetPathCommandsNV = (PFNGLGETPATHCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathCommandsNV")) == NULL) || r; + r = ((glGetPathCoordsNV = (PFNGLGETPATHCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathCoordsNV")) == NULL) || r; + r = ((glGetPathDashArrayNV = (PFNGLGETPATHDASHARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathDashArrayNV")) == NULL) || r; + r = ((glGetPathLengthNV = (PFNGLGETPATHLENGTHNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathLengthNV")) == NULL) || r; + r = ((glGetPathMetricRangeNV = (PFNGLGETPATHMETRICRANGENVPROC)glewGetProcAddress((const GLubyte*)"glGetPathMetricRangeNV")) == NULL) || r; + r = ((glGetPathMetricsNV = (PFNGLGETPATHMETRICSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathMetricsNV")) == NULL) || r; + r = ((glGetPathParameterfvNV = (PFNGLGETPATHPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathParameterfvNV")) == NULL) || r; + r = ((glGetPathParameterivNV = (PFNGLGETPATHPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathParameterivNV")) == NULL) || r; + r = ((glGetPathSpacingNV = (PFNGLGETPATHSPACINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathSpacingNV")) == NULL) || r; + r = ((glGetPathTexGenfvNV = (PFNGLGETPATHTEXGENFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathTexGenfvNV")) == NULL) || r; + r = ((glGetPathTexGenivNV = (PFNGLGETPATHTEXGENIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathTexGenivNV")) == NULL) || r; + r = ((glGetProgramResourcefvNV = (PFNGLGETPROGRAMRESOURCEFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourcefvNV")) == NULL) || r; + r = ((glInterpolatePathsNV = (PFNGLINTERPOLATEPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glInterpolatePathsNV")) == NULL) || r; + r = ((glIsPathNV = (PFNGLISPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPathNV")) == NULL) || r; + r = ((glIsPointInFillPathNV = (PFNGLISPOINTINFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPointInFillPathNV")) == NULL) || r; + r = ((glIsPointInStrokePathNV = (PFNGLISPOINTINSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPointInStrokePathNV")) == NULL) || r; + r = ((glMatrixLoad3x2fNV = (PFNGLMATRIXLOAD3X2FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoad3x2fNV")) == NULL) || r; + r = ((glMatrixLoad3x3fNV = (PFNGLMATRIXLOAD3X3FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoad3x3fNV")) == NULL) || r; + r = ((glMatrixLoadTranspose3x3fNV = (PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTranspose3x3fNV")) == NULL) || r; + r = ((glMatrixMult3x2fNV = (PFNGLMATRIXMULT3X2FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixMult3x2fNV")) == NULL) || r; + r = ((glMatrixMult3x3fNV = (PFNGLMATRIXMULT3X3FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixMult3x3fNV")) == NULL) || r; + r = ((glMatrixMultTranspose3x3fNV = (PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTranspose3x3fNV")) == NULL) || r; + r = ((glPathColorGenNV = (PFNGLPATHCOLORGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathColorGenNV")) == NULL) || r; + r = ((glPathCommandsNV = (PFNGLPATHCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathCommandsNV")) == NULL) || r; + r = ((glPathCoordsNV = (PFNGLPATHCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathCoordsNV")) == NULL) || r; + r = ((glPathCoverDepthFuncNV = (PFNGLPATHCOVERDEPTHFUNCNVPROC)glewGetProcAddress((const GLubyte*)"glPathCoverDepthFuncNV")) == NULL) || r; + r = ((glPathDashArrayNV = (PFNGLPATHDASHARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glPathDashArrayNV")) == NULL) || r; + r = ((glPathFogGenNV = (PFNGLPATHFOGGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathFogGenNV")) == NULL) || r; + r = ((glPathGlyphIndexArrayNV = (PFNGLPATHGLYPHINDEXARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphIndexArrayNV")) == NULL) || r; + r = ((glPathGlyphIndexRangeNV = (PFNGLPATHGLYPHINDEXRANGENVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphIndexRangeNV")) == NULL) || r; + r = ((glPathGlyphRangeNV = (PFNGLPATHGLYPHRANGENVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphRangeNV")) == NULL) || r; + r = ((glPathGlyphsNV = (PFNGLPATHGLYPHSNVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphsNV")) == NULL) || r; + r = ((glPathMemoryGlyphIndexArrayNV = (PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glPathMemoryGlyphIndexArrayNV")) == NULL) || r; + r = ((glPathParameterfNV = (PFNGLPATHPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterfNV")) == NULL) || r; + r = ((glPathParameterfvNV = (PFNGLPATHPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterfvNV")) == NULL) || r; + r = ((glPathParameteriNV = (PFNGLPATHPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glPathParameteriNV")) == NULL) || r; + r = ((glPathParameterivNV = (PFNGLPATHPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterivNV")) == NULL) || r; + r = ((glPathStencilDepthOffsetNV = (PFNGLPATHSTENCILDEPTHOFFSETNVPROC)glewGetProcAddress((const GLubyte*)"glPathStencilDepthOffsetNV")) == NULL) || r; + r = ((glPathStencilFuncNV = (PFNGLPATHSTENCILFUNCNVPROC)glewGetProcAddress((const GLubyte*)"glPathStencilFuncNV")) == NULL) || r; + r = ((glPathStringNV = (PFNGLPATHSTRINGNVPROC)glewGetProcAddress((const GLubyte*)"glPathStringNV")) == NULL) || r; + r = ((glPathSubCommandsNV = (PFNGLPATHSUBCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathSubCommandsNV")) == NULL) || r; + r = ((glPathSubCoordsNV = (PFNGLPATHSUBCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathSubCoordsNV")) == NULL) || r; + r = ((glPathTexGenNV = (PFNGLPATHTEXGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathTexGenNV")) == NULL) || r; + r = ((glPointAlongPathNV = (PFNGLPOINTALONGPATHNVPROC)glewGetProcAddress((const GLubyte*)"glPointAlongPathNV")) == NULL) || r; + r = ((glProgramPathFragmentInputGenNV = (PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC)glewGetProcAddress((const GLubyte*)"glProgramPathFragmentInputGenNV")) == NULL) || r; + r = ((glStencilFillPathInstancedNV = (PFNGLSTENCILFILLPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilFillPathInstancedNV")) == NULL) || r; + r = ((glStencilFillPathNV = (PFNGLSTENCILFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilFillPathNV")) == NULL) || r; + r = ((glStencilStrokePathInstancedNV = (PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilStrokePathInstancedNV")) == NULL) || r; + r = ((glStencilStrokePathNV = (PFNGLSTENCILSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilStrokePathNV")) == NULL) || r; + r = ((glStencilThenCoverFillPathInstancedNV = (PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilThenCoverFillPathInstancedNV")) == NULL) || r; + r = ((glStencilThenCoverFillPathNV = (PFNGLSTENCILTHENCOVERFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilThenCoverFillPathNV")) == NULL) || r; + r = ((glStencilThenCoverStrokePathInstancedNV = (PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilThenCoverStrokePathInstancedNV")) == NULL) || r; + r = ((glStencilThenCoverStrokePathNV = (PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilThenCoverStrokePathNV")) == NULL) || r; + r = ((glTransformPathNV = (PFNGLTRANSFORMPATHNVPROC)glewGetProcAddress((const GLubyte*)"glTransformPathNV")) == NULL) || r; + r = ((glWeightPathsNV = (PFNGLWEIGHTPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glWeightPathsNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_path_rendering */ + +#ifdef GL_NV_pixel_data_range + +static GLboolean _glewInit_GL_NV_pixel_data_range () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushPixelDataRangeNV")) == NULL) || r; + r = ((glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glPixelDataRangeNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_pixel_data_range */ + +#ifdef GL_NV_point_sprite + +static GLboolean _glewInit_GL_NV_point_sprite () +{ + GLboolean r = GL_FALSE; + + r = ((glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriNV")) == NULL) || r; + r = ((glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_point_sprite */ + +#ifdef GL_NV_polygon_mode + +static GLboolean _glewInit_GL_NV_polygon_mode () +{ + GLboolean r = GL_FALSE; + + r = ((glPolygonModeNV = (PFNGLPOLYGONMODENVPROC)glewGetProcAddress((const GLubyte*)"glPolygonModeNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_polygon_mode */ + +#ifdef GL_NV_present_video + +static GLboolean _glewInit_GL_NV_present_video () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVideoi64vNV = (PFNGLGETVIDEOI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoi64vNV")) == NULL) || r; + r = ((glGetVideoivNV = (PFNGLGETVIDEOIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoivNV")) == NULL) || r; + r = ((glGetVideoui64vNV = (PFNGLGETVIDEOUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoui64vNV")) == NULL) || r; + r = ((glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideouivNV")) == NULL) || r; + r = ((glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameDualFillNV")) == NULL) || r; + r = ((glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameKeyedNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_present_video */ + +#ifdef GL_NV_primitive_restart + +static GLboolean _glewInit_GL_NV_primitive_restart () +{ + GLboolean r = GL_FALSE; + + r = ((glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartIndexNV")) == NULL) || r; + r = ((glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_primitive_restart */ + +#ifdef GL_NV_register_combiners + +static GLboolean _glewInit_GL_NV_register_combiners () +{ + GLboolean r = GL_FALSE; + + r = ((glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerInputNV")) == NULL) || r; + r = ((glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerOutputNV")) == NULL) || r; + r = ((glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfNV")) == NULL) || r; + r = ((glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfvNV")) == NULL) || r; + r = ((glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameteriNV")) == NULL) || r; + r = ((glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterivNV")) == NULL) || r; + r = ((glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glFinalCombinerInputNV")) == NULL) || r; + r = ((glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterfvNV")) == NULL) || r; + r = ((glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterivNV")) == NULL) || r; + r = ((glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterfvNV")) == NULL) || r; + r = ((glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterivNV")) == NULL) || r; + r = ((glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterfvNV")) == NULL) || r; + r = ((glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_register_combiners */ + +#ifdef GL_NV_register_combiners2 + +static GLboolean _glewInit_GL_NV_register_combiners2 () +{ + GLboolean r = GL_FALSE; + + r = ((glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerStageParameterfvNV")) == NULL) || r; + r = ((glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerStageParameterfvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_register_combiners2 */ + +#ifdef GL_NV_sample_locations + +static GLboolean _glewInit_GL_NV_sample_locations () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferSampleLocationsfvNV = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)glewGetProcAddress((const GLubyte*)"glFramebufferSampleLocationsfvNV")) == NULL) || r; + r = ((glNamedFramebufferSampleLocationsfvNV = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferSampleLocationsfvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_sample_locations */ + +#ifdef GL_NV_shader_buffer_load + +static GLboolean _glewInit_GL_NV_shader_buffer_load () +{ + GLboolean r = GL_FALSE; + + r = ((glGetBufferParameterui64vNV = (PFNGLGETBUFFERPARAMETERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameterui64vNV")) == NULL) || r; + r = ((glGetIntegerui64vNV = (PFNGLGETINTEGERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerui64vNV")) == NULL) || r; + r = ((glGetNamedBufferParameterui64vNV = (PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameterui64vNV")) == NULL) || r; + r = ((glIsBufferResidentNV = (PFNGLISBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsBufferResidentNV")) == NULL) || r; + r = ((glIsNamedBufferResidentNV = (PFNGLISNAMEDBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsNamedBufferResidentNV")) == NULL) || r; + r = ((glMakeBufferNonResidentNV = (PFNGLMAKEBUFFERNONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeBufferNonResidentNV")) == NULL) || r; + r = ((glMakeBufferResidentNV = (PFNGLMAKEBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeBufferResidentNV")) == NULL) || r; + r = ((glMakeNamedBufferNonResidentNV = (PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeNamedBufferNonResidentNV")) == NULL) || r; + r = ((glMakeNamedBufferResidentNV = (PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeNamedBufferResidentNV")) == NULL) || r; + r = ((glProgramUniformui64NV = (PFNGLPROGRAMUNIFORMUI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformui64NV")) == NULL) || r; + r = ((glProgramUniformui64vNV = (PFNGLPROGRAMUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformui64vNV")) == NULL) || r; + r = ((glUniformui64NV = (PFNGLUNIFORMUI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniformui64NV")) == NULL) || r; + r = ((glUniformui64vNV = (PFNGLUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniformui64vNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_shader_buffer_load */ + +#ifdef GL_NV_texture_array + +static GLboolean _glewInit_GL_NV_texture_array () +{ + GLboolean r = GL_FALSE; + + r = ((glCompressedTexImage3DNV = (PFNGLCOMPRESSEDTEXIMAGE3DNVPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3DNV")) == NULL) || r; + r = ((glCompressedTexSubImage3DNV = (PFNGLCOMPRESSEDTEXSUBIMAGE3DNVPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3DNV")) == NULL) || r; + r = ((glCopyTexSubImage3DNV = (PFNGLCOPYTEXSUBIMAGE3DNVPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3DNV")) == NULL) || r; + r = ((glFramebufferTextureLayerNV = (PFNGLFRAMEBUFFERTEXTURELAYERNVPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerNV")) == NULL) || r; + r = ((glTexImage3DNV = (PFNGLTEXIMAGE3DNVPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DNV")) == NULL) || r; + r = ((glTexSubImage3DNV = (PFNGLTEXSUBIMAGE3DNVPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3DNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_texture_array */ + +#ifdef GL_NV_texture_barrier + +static GLboolean _glewInit_GL_NV_texture_barrier () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureBarrierNV = (PFNGLTEXTUREBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glTextureBarrierNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_texture_barrier */ + +#ifdef GL_NV_texture_multisample + +static GLboolean _glewInit_GL_NV_texture_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glTexImage2DMultisampleCoverageNV = (PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage2DMultisampleCoverageNV")) == NULL) || r; + r = ((glTexImage3DMultisampleCoverageNV = (PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DMultisampleCoverageNV")) == NULL) || r; + r = ((glTextureImage2DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleCoverageNV")) == NULL) || r; + r = ((glTextureImage2DMultisampleNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleNV")) == NULL) || r; + r = ((glTextureImage3DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleCoverageNV")) == NULL) || r; + r = ((glTextureImage3DMultisampleNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_texture_multisample */ + +#ifdef GL_NV_transform_feedback + +static GLboolean _glewInit_GL_NV_transform_feedback () +{ + GLboolean r = GL_FALSE; + + r = ((glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glActiveVaryingNV")) == NULL) || r; + r = ((glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackNV")) == NULL) || r; + r = ((glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseNV")) == NULL) || r; + r = ((glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetNV")) == NULL) || r; + r = ((glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeNV")) == NULL) || r; + r = ((glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackNV")) == NULL) || r; + r = ((glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveVaryingNV")) == NULL) || r; + r = ((glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingNV")) == NULL) || r; + r = ((glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC)glewGetProcAddress((const GLubyte*)"glGetVaryingLocationNV")) == NULL) || r; + r = ((glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackAttribsNV")) == NULL) || r; + r = ((glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_transform_feedback */ + +#ifdef GL_NV_transform_feedback2 + +static GLboolean _glewInit_GL_NV_transform_feedback2 () +{ + GLboolean r = GL_FALSE; + + r = ((glBindTransformFeedbackNV = (PFNGLBINDTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glBindTransformFeedbackNV")) == NULL) || r; + r = ((glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteTransformFeedbacksNV")) == NULL) || r; + r = ((glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackNV")) == NULL) || r; + r = ((glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC)glewGetProcAddress((const GLubyte*)"glGenTransformFeedbacksNV")) == NULL) || r; + r = ((glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glIsTransformFeedbackNV")) == NULL) || r; + r = ((glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glPauseTransformFeedbackNV")) == NULL) || r; + r = ((glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glResumeTransformFeedbackNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_transform_feedback2 */ + +#ifdef GL_NV_vdpau_interop + +static GLboolean _glewInit_GL_NV_vdpau_interop () +{ + GLboolean r = GL_FALSE; + + r = ((glVDPAUFiniNV = (PFNGLVDPAUFININVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUFiniNV")) == NULL) || r; + r = ((glVDPAUGetSurfaceivNV = (PFNGLVDPAUGETSURFACEIVNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUGetSurfaceivNV")) == NULL) || r; + r = ((glVDPAUInitNV = (PFNGLVDPAUINITNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUInitNV")) == NULL) || r; + r = ((glVDPAUIsSurfaceNV = (PFNGLVDPAUISSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUIsSurfaceNV")) == NULL) || r; + r = ((glVDPAUMapSurfacesNV = (PFNGLVDPAUMAPSURFACESNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUMapSurfacesNV")) == NULL) || r; + r = ((glVDPAURegisterOutputSurfaceNV = (PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAURegisterOutputSurfaceNV")) == NULL) || r; + r = ((glVDPAURegisterVideoSurfaceNV = (PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAURegisterVideoSurfaceNV")) == NULL) || r; + r = ((glVDPAUSurfaceAccessNV = (PFNGLVDPAUSURFACEACCESSNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUSurfaceAccessNV")) == NULL) || r; + r = ((glVDPAUUnmapSurfacesNV = (PFNGLVDPAUUNMAPSURFACESNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUUnmapSurfacesNV")) == NULL) || r; + r = ((glVDPAUUnregisterSurfaceNV = (PFNGLVDPAUUNREGISTERSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUUnregisterSurfaceNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_vdpau_interop */ + +#ifdef GL_NV_vertex_array_range + +static GLboolean _glewInit_GL_NV_vertex_array_range () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeNV")) == NULL) || r; + r = ((glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_vertex_array_range */ + +#ifdef GL_NV_vertex_attrib_integer_64bit + +static GLboolean _glewInit_GL_NV_vertex_attrib_integer_64bit () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVertexAttribLi64vNV = (PFNGLGETVERTEXATTRIBLI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLi64vNV")) == NULL) || r; + r = ((glGetVertexAttribLui64vNV = (PFNGLGETVERTEXATTRIBLUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLui64vNV")) == NULL) || r; + r = ((glVertexAttribL1i64NV = (PFNGLVERTEXATTRIBL1I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1i64NV")) == NULL) || r; + r = ((glVertexAttribL1i64vNV = (PFNGLVERTEXATTRIBL1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1i64vNV")) == NULL) || r; + r = ((glVertexAttribL1ui64NV = (PFNGLVERTEXATTRIBL1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64NV")) == NULL) || r; + r = ((glVertexAttribL1ui64vNV = (PFNGLVERTEXATTRIBL1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64vNV")) == NULL) || r; + r = ((glVertexAttribL2i64NV = (PFNGLVERTEXATTRIBL2I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2i64NV")) == NULL) || r; + r = ((glVertexAttribL2i64vNV = (PFNGLVERTEXATTRIBL2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2i64vNV")) == NULL) || r; + r = ((glVertexAttribL2ui64NV = (PFNGLVERTEXATTRIBL2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2ui64NV")) == NULL) || r; + r = ((glVertexAttribL2ui64vNV = (PFNGLVERTEXATTRIBL2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2ui64vNV")) == NULL) || r; + r = ((glVertexAttribL3i64NV = (PFNGLVERTEXATTRIBL3I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3i64NV")) == NULL) || r; + r = ((glVertexAttribL3i64vNV = (PFNGLVERTEXATTRIBL3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3i64vNV")) == NULL) || r; + r = ((glVertexAttribL3ui64NV = (PFNGLVERTEXATTRIBL3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3ui64NV")) == NULL) || r; + r = ((glVertexAttribL3ui64vNV = (PFNGLVERTEXATTRIBL3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3ui64vNV")) == NULL) || r; + r = ((glVertexAttribL4i64NV = (PFNGLVERTEXATTRIBL4I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4i64NV")) == NULL) || r; + r = ((glVertexAttribL4i64vNV = (PFNGLVERTEXATTRIBL4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4i64vNV")) == NULL) || r; + r = ((glVertexAttribL4ui64NV = (PFNGLVERTEXATTRIBL4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4ui64NV")) == NULL) || r; + r = ((glVertexAttribL4ui64vNV = (PFNGLVERTEXATTRIBL4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4ui64vNV")) == NULL) || r; + r = ((glVertexAttribLFormatNV = (PFNGLVERTEXATTRIBLFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLFormatNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_vertex_attrib_integer_64bit */ + +#ifdef GL_NV_vertex_buffer_unified_memory + +static GLboolean _glewInit_GL_NV_vertex_buffer_unified_memory () +{ + GLboolean r = GL_FALSE; + + r = ((glBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC)glewGetProcAddress((const GLubyte*)"glBufferAddressRangeNV")) == NULL) || r; + r = ((glColorFormatNV = (PFNGLCOLORFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glColorFormatNV")) == NULL) || r; + r = ((glEdgeFlagFormatNV = (PFNGLEDGEFLAGFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagFormatNV")) == NULL) || r; + r = ((glFogCoordFormatNV = (PFNGLFOGCOORDFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordFormatNV")) == NULL) || r; + r = ((glGetIntegerui64i_vNV = (PFNGLGETINTEGERUI64I_VNVPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerui64i_vNV")) == NULL) || r; + r = ((glIndexFormatNV = (PFNGLINDEXFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glIndexFormatNV")) == NULL) || r; + r = ((glNormalFormatNV = (PFNGLNORMALFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glNormalFormatNV")) == NULL) || r; + r = ((glSecondaryColorFormatNV = (PFNGLSECONDARYCOLORFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorFormatNV")) == NULL) || r; + r = ((glTexCoordFormatNV = (PFNGLTEXCOORDFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordFormatNV")) == NULL) || r; + r = ((glVertexAttribFormatNV = (PFNGLVERTEXATTRIBFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribFormatNV")) == NULL) || r; + r = ((glVertexAttribIFormatNV = (PFNGLVERTEXATTRIBIFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIFormatNV")) == NULL) || r; + r = ((glVertexFormatNV = (PFNGLVERTEXFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexFormatNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_vertex_buffer_unified_memory */ + +#ifdef GL_NV_vertex_program + +static GLboolean _glewInit_GL_NV_vertex_program () +{ + GLboolean r = GL_FALSE; + + r = ((glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glAreProgramsResidentNV")) == NULL) || r; + r = ((glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glBindProgramNV")) == NULL) || r; + r = ((glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsNV")) == NULL) || r; + r = ((glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glExecuteProgramNV")) == NULL) || r; + r = ((glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsNV")) == NULL) || r; + r = ((glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterdvNV")) == NULL) || r; + r = ((glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterfvNV")) == NULL) || r; + r = ((glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringNV")) == NULL) || r; + r = ((glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivNV")) == NULL) || r; + r = ((glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetTrackMatrixivNV")) == NULL) || r; + r = ((glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervNV")) == NULL) || r; + r = ((glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvNV")) == NULL) || r; + r = ((glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvNV")) == NULL) || r; + r = ((glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivNV")) == NULL) || r; + r = ((glIsProgramNV = (PFNGLISPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glIsProgramNV")) == NULL) || r; + r = ((glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glLoadProgramNV")) == NULL) || r; + r = ((glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dNV")) == NULL) || r; + r = ((glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dvNV")) == NULL) || r; + r = ((glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fNV")) == NULL) || r; + r = ((glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fvNV")) == NULL) || r; + r = ((glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4dvNV")) == NULL) || r; + r = ((glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4fvNV")) == NULL) || r; + r = ((glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glRequestResidentProgramsNV")) == NULL) || r; + r = ((glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)glewGetProcAddress((const GLubyte*)"glTrackMatrixNV")) == NULL) || r; + r = ((glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dNV")) == NULL) || r; + r = ((glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvNV")) == NULL) || r; + r = ((glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fNV")) == NULL) || r; + r = ((glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvNV")) == NULL) || r; + r = ((glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sNV")) == NULL) || r; + r = ((glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svNV")) == NULL) || r; + r = ((glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dNV")) == NULL) || r; + r = ((glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvNV")) == NULL) || r; + r = ((glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fNV")) == NULL) || r; + r = ((glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvNV")) == NULL) || r; + r = ((glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sNV")) == NULL) || r; + r = ((glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svNV")) == NULL) || r; + r = ((glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dNV")) == NULL) || r; + r = ((glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvNV")) == NULL) || r; + r = ((glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fNV")) == NULL) || r; + r = ((glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvNV")) == NULL) || r; + r = ((glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sNV")) == NULL) || r; + r = ((glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svNV")) == NULL) || r; + r = ((glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dNV")) == NULL) || r; + r = ((glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvNV")) == NULL) || r; + r = ((glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fNV")) == NULL) || r; + r = ((glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvNV")) == NULL) || r; + r = ((glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sNV")) == NULL) || r; + r = ((glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svNV")) == NULL) || r; + r = ((glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubNV")) == NULL) || r; + r = ((glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvNV")) == NULL) || r; + r = ((glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerNV")) == NULL) || r; + r = ((glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1dvNV")) == NULL) || r; + r = ((glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1fvNV")) == NULL) || r; + r = ((glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1svNV")) == NULL) || r; + r = ((glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2dvNV")) == NULL) || r; + r = ((glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2fvNV")) == NULL) || r; + r = ((glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2svNV")) == NULL) || r; + r = ((glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3dvNV")) == NULL) || r; + r = ((glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3fvNV")) == NULL) || r; + r = ((glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3svNV")) == NULL) || r; + r = ((glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4dvNV")) == NULL) || r; + r = ((glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4fvNV")) == NULL) || r; + r = ((glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4svNV")) == NULL) || r; + r = ((glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4ubvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_vertex_program */ + +#ifdef GL_NV_video_capture + +static GLboolean _glewInit_GL_NV_video_capture () +{ + GLboolean r = GL_FALSE; + + r = ((glBeginVideoCaptureNV = (PFNGLBEGINVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glBeginVideoCaptureNV")) == NULL) || r; + r = ((glBindVideoCaptureStreamBufferNV = (PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamBufferNV")) == NULL) || r; + r = ((glBindVideoCaptureStreamTextureNV = (PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamTextureNV")) == NULL) || r; + r = ((glEndVideoCaptureNV = (PFNGLENDVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glEndVideoCaptureNV")) == NULL) || r; + r = ((glGetVideoCaptureStreamdvNV = (PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamdvNV")) == NULL) || r; + r = ((glGetVideoCaptureStreamfvNV = (PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamfvNV")) == NULL) || r; + r = ((glGetVideoCaptureStreamivNV = (PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamivNV")) == NULL) || r; + r = ((glGetVideoCaptureivNV = (PFNGLGETVIDEOCAPTUREIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureivNV")) == NULL) || r; + r = ((glVideoCaptureNV = (PFNGLVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureNV")) == NULL) || r; + r = ((glVideoCaptureStreamParameterdvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterdvNV")) == NULL) || r; + r = ((glVideoCaptureStreamParameterfvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterfvNV")) == NULL) || r; + r = ((glVideoCaptureStreamParameterivNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterivNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_video_capture */ + +#ifdef GL_NV_viewport_array + +static GLboolean _glewInit_GL_NV_viewport_array () +{ + GLboolean r = GL_FALSE; + + r = ((glDepthRangeArrayfvNV = (PFNGLDEPTHRANGEARRAYFVNVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeArrayfvNV")) == NULL) || r; + r = ((glDepthRangeIndexedfNV = (PFNGLDEPTHRANGEINDEXEDFNVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeIndexedfNV")) == NULL) || r; + r = ((glDisableiNV = (PFNGLDISABLEINVPROC)glewGetProcAddress((const GLubyte*)"glDisableiNV")) == NULL) || r; + r = ((glEnableiNV = (PFNGLENABLEINVPROC)glewGetProcAddress((const GLubyte*)"glEnableiNV")) == NULL) || r; + r = ((glGetFloati_vNV = (PFNGLGETFLOATI_VNVPROC)glewGetProcAddress((const GLubyte*)"glGetFloati_vNV")) == NULL) || r; + r = ((glIsEnablediNV = (PFNGLISENABLEDINVPROC)glewGetProcAddress((const GLubyte*)"glIsEnablediNV")) == NULL) || r; + r = ((glScissorArrayvNV = (PFNGLSCISSORARRAYVNVPROC)glewGetProcAddress((const GLubyte*)"glScissorArrayvNV")) == NULL) || r; + r = ((glScissorIndexedNV = (PFNGLSCISSORINDEXEDNVPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexedNV")) == NULL) || r; + r = ((glScissorIndexedvNV = (PFNGLSCISSORINDEXEDVNVPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexedvNV")) == NULL) || r; + r = ((glViewportArrayvNV = (PFNGLVIEWPORTARRAYVNVPROC)glewGetProcAddress((const GLubyte*)"glViewportArrayvNV")) == NULL) || r; + r = ((glViewportIndexedfNV = (PFNGLVIEWPORTINDEXEDFNVPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedfNV")) == NULL) || r; + r = ((glViewportIndexedfvNV = (PFNGLVIEWPORTINDEXEDFVNVPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedfvNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_viewport_array */ + +#ifdef GL_NV_viewport_swizzle + +static GLboolean _glewInit_GL_NV_viewport_swizzle () +{ + GLboolean r = GL_FALSE; + + r = ((glViewportSwizzleNV = (PFNGLVIEWPORTSWIZZLENVPROC)glewGetProcAddress((const GLubyte*)"glViewportSwizzleNV")) == NULL) || r; + + return r; +} + +#endif /* GL_NV_viewport_swizzle */ + +#ifdef GL_OVR_multiview + +static GLboolean _glewInit_GL_OVR_multiview () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTextureMultiviewOVR = (PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureMultiviewOVR")) == NULL) || r; + + return r; +} + +#endif /* GL_OVR_multiview */ + +#ifdef GL_OVR_multiview_multisampled_render_to_texture + +static GLboolean _glewInit_GL_OVR_multiview_multisampled_render_to_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferTextureMultisampleMultiviewOVR = (PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureMultisampleMultiviewOVR")) == NULL) || r; + + return r; +} + +#endif /* GL_OVR_multiview_multisampled_render_to_texture */ + +#ifdef GL_QCOM_alpha_test + +static GLboolean _glewInit_GL_QCOM_alpha_test () +{ + GLboolean r = GL_FALSE; + + r = ((glAlphaFuncQCOM = (PFNGLALPHAFUNCQCOMPROC)glewGetProcAddress((const GLubyte*)"glAlphaFuncQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_alpha_test */ + +#ifdef GL_QCOM_driver_control + +static GLboolean _glewInit_GL_QCOM_driver_control () +{ + GLboolean r = GL_FALSE; + + r = ((glDisableDriverControlQCOM = (PFNGLDISABLEDRIVERCONTROLQCOMPROC)glewGetProcAddress((const GLubyte*)"glDisableDriverControlQCOM")) == NULL) || r; + r = ((glEnableDriverControlQCOM = (PFNGLENABLEDRIVERCONTROLQCOMPROC)glewGetProcAddress((const GLubyte*)"glEnableDriverControlQCOM")) == NULL) || r; + r = ((glGetDriverControlStringQCOM = (PFNGLGETDRIVERCONTROLSTRINGQCOMPROC)glewGetProcAddress((const GLubyte*)"glGetDriverControlStringQCOM")) == NULL) || r; + r = ((glGetDriverControlsQCOM = (PFNGLGETDRIVERCONTROLSQCOMPROC)glewGetProcAddress((const GLubyte*)"glGetDriverControlsQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_driver_control */ + +#ifdef GL_QCOM_extended_get + +static GLboolean _glewInit_GL_QCOM_extended_get () +{ + GLboolean r = GL_FALSE; + + r = ((glExtGetBufferPointervQCOM = (PFNGLEXTGETBUFFERPOINTERVQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetBufferPointervQCOM")) == NULL) || r; + r = ((glExtGetBuffersQCOM = (PFNGLEXTGETBUFFERSQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetBuffersQCOM")) == NULL) || r; + r = ((glExtGetFramebuffersQCOM = (PFNGLEXTGETFRAMEBUFFERSQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetFramebuffersQCOM")) == NULL) || r; + r = ((glExtGetRenderbuffersQCOM = (PFNGLEXTGETRENDERBUFFERSQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetRenderbuffersQCOM")) == NULL) || r; + r = ((glExtGetTexLevelParameterivQCOM = (PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetTexLevelParameterivQCOM")) == NULL) || r; + r = ((glExtGetTexSubImageQCOM = (PFNGLEXTGETTEXSUBIMAGEQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetTexSubImageQCOM")) == NULL) || r; + r = ((glExtGetTexturesQCOM = (PFNGLEXTGETTEXTURESQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetTexturesQCOM")) == NULL) || r; + r = ((glExtTexObjectStateOverrideiQCOM = (PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtTexObjectStateOverrideiQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_extended_get */ + +#ifdef GL_QCOM_extended_get2 + +static GLboolean _glewInit_GL_QCOM_extended_get2 () +{ + GLboolean r = GL_FALSE; + + r = ((glExtGetProgramBinarySourceQCOM = (PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetProgramBinarySourceQCOM")) == NULL) || r; + r = ((glExtGetProgramsQCOM = (PFNGLEXTGETPROGRAMSQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetProgramsQCOM")) == NULL) || r; + r = ((glExtGetShadersQCOM = (PFNGLEXTGETSHADERSQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtGetShadersQCOM")) == NULL) || r; + r = ((glExtIsProgramBinaryQCOM = (PFNGLEXTISPROGRAMBINARYQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtIsProgramBinaryQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_extended_get2 */ + +#ifdef GL_QCOM_framebuffer_foveated + +static GLboolean _glewInit_GL_QCOM_framebuffer_foveated () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferFoveationConfigQCOM = (PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC)glewGetProcAddress((const GLubyte*)"glFramebufferFoveationConfigQCOM")) == NULL) || r; + r = ((glFramebufferFoveationParametersQCOM = (PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC)glewGetProcAddress((const GLubyte*)"glFramebufferFoveationParametersQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_framebuffer_foveated */ + +#ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent + +static GLboolean _glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent () +{ + GLboolean r = GL_FALSE; + + r = ((glFramebufferFetchBarrierQCOM = (PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC)glewGetProcAddress((const GLubyte*)"glFramebufferFetchBarrierQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */ + +#ifdef GL_QCOM_tiled_rendering + +static GLboolean _glewInit_GL_QCOM_tiled_rendering () +{ + GLboolean r = GL_FALSE; + + r = ((glEndTilingQCOM = (PFNGLENDTILINGQCOMPROC)glewGetProcAddress((const GLubyte*)"glEndTilingQCOM")) == NULL) || r; + r = ((glStartTilingQCOM = (PFNGLSTARTTILINGQCOMPROC)glewGetProcAddress((const GLubyte*)"glStartTilingQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_tiled_rendering */ + +#ifdef GL_REGAL_ES1_0_compatibility + +static GLboolean _glewInit_GL_REGAL_ES1_0_compatibility () +{ + GLboolean r = GL_FALSE; + + r = ((glAlphaFuncx = (PFNGLALPHAFUNCXPROC)glewGetProcAddress((const GLubyte*)"glAlphaFuncx")) == NULL) || r; + r = ((glClearColorx = (PFNGLCLEARCOLORXPROC)glewGetProcAddress((const GLubyte*)"glClearColorx")) == NULL) || r; + r = ((glClearDepthx = (PFNGLCLEARDEPTHXPROC)glewGetProcAddress((const GLubyte*)"glClearDepthx")) == NULL) || r; + r = ((glColor4x = (PFNGLCOLOR4XPROC)glewGetProcAddress((const GLubyte*)"glColor4x")) == NULL) || r; + r = ((glDepthRangex = (PFNGLDEPTHRANGEXPROC)glewGetProcAddress((const GLubyte*)"glDepthRangex")) == NULL) || r; + r = ((glFogx = (PFNGLFOGXPROC)glewGetProcAddress((const GLubyte*)"glFogx")) == NULL) || r; + r = ((glFogxv = (PFNGLFOGXVPROC)glewGetProcAddress((const GLubyte*)"glFogxv")) == NULL) || r; + r = ((glFrustumf = (PFNGLFRUSTUMFPROC)glewGetProcAddress((const GLubyte*)"glFrustumf")) == NULL) || r; + r = ((glFrustumx = (PFNGLFRUSTUMXPROC)glewGetProcAddress((const GLubyte*)"glFrustumx")) == NULL) || r; + r = ((glLightModelx = (PFNGLLIGHTMODELXPROC)glewGetProcAddress((const GLubyte*)"glLightModelx")) == NULL) || r; + r = ((glLightModelxv = (PFNGLLIGHTMODELXVPROC)glewGetProcAddress((const GLubyte*)"glLightModelxv")) == NULL) || r; + r = ((glLightx = (PFNGLLIGHTXPROC)glewGetProcAddress((const GLubyte*)"glLightx")) == NULL) || r; + r = ((glLightxv = (PFNGLLIGHTXVPROC)glewGetProcAddress((const GLubyte*)"glLightxv")) == NULL) || r; + r = ((glLineWidthx = (PFNGLLINEWIDTHXPROC)glewGetProcAddress((const GLubyte*)"glLineWidthx")) == NULL) || r; + r = ((glLoadMatrixx = (PFNGLLOADMATRIXXPROC)glewGetProcAddress((const GLubyte*)"glLoadMatrixx")) == NULL) || r; + r = ((glMaterialx = (PFNGLMATERIALXPROC)glewGetProcAddress((const GLubyte*)"glMaterialx")) == NULL) || r; + r = ((glMaterialxv = (PFNGLMATERIALXVPROC)glewGetProcAddress((const GLubyte*)"glMaterialxv")) == NULL) || r; + r = ((glMultMatrixx = (PFNGLMULTMATRIXXPROC)glewGetProcAddress((const GLubyte*)"glMultMatrixx")) == NULL) || r; + r = ((glMultiTexCoord4x = (PFNGLMULTITEXCOORD4XPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4x")) == NULL) || r; + r = ((glNormal3x = (PFNGLNORMAL3XPROC)glewGetProcAddress((const GLubyte*)"glNormal3x")) == NULL) || r; + r = ((glOrthof = (PFNGLORTHOFPROC)glewGetProcAddress((const GLubyte*)"glOrthof")) == NULL) || r; + r = ((glOrthox = (PFNGLORTHOXPROC)glewGetProcAddress((const GLubyte*)"glOrthox")) == NULL) || r; + r = ((glPointSizex = (PFNGLPOINTSIZEXPROC)glewGetProcAddress((const GLubyte*)"glPointSizex")) == NULL) || r; + r = ((glPolygonOffsetx = (PFNGLPOLYGONOFFSETXPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetx")) == NULL) || r; + r = ((glRotatex = (PFNGLROTATEXPROC)glewGetProcAddress((const GLubyte*)"glRotatex")) == NULL) || r; + r = ((glSampleCoveragex = (PFNGLSAMPLECOVERAGEXPROC)glewGetProcAddress((const GLubyte*)"glSampleCoveragex")) == NULL) || r; + r = ((glScalex = (PFNGLSCALEXPROC)glewGetProcAddress((const GLubyte*)"glScalex")) == NULL) || r; + r = ((glTexEnvx = (PFNGLTEXENVXPROC)glewGetProcAddress((const GLubyte*)"glTexEnvx")) == NULL) || r; + r = ((glTexEnvxv = (PFNGLTEXENVXVPROC)glewGetProcAddress((const GLubyte*)"glTexEnvxv")) == NULL) || r; + r = ((glTexParameterx = (PFNGLTEXPARAMETERXPROC)glewGetProcAddress((const GLubyte*)"glTexParameterx")) == NULL) || r; + r = ((glTranslatex = (PFNGLTRANSLATEXPROC)glewGetProcAddress((const GLubyte*)"glTranslatex")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_ES1_0_compatibility */ + +#ifdef GL_REGAL_ES1_1_compatibility + +static GLboolean _glewInit_GL_REGAL_ES1_1_compatibility () +{ + GLboolean r = GL_FALSE; + + r = ((glClipPlanef = (PFNGLCLIPPLANEFPROC)glewGetProcAddress((const GLubyte*)"glClipPlanef")) == NULL) || r; + r = ((glClipPlanex = (PFNGLCLIPPLANEXPROC)glewGetProcAddress((const GLubyte*)"glClipPlanex")) == NULL) || r; + r = ((glGetClipPlanef = (PFNGLGETCLIPPLANEFPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanef")) == NULL) || r; + r = ((glGetClipPlanex = (PFNGLGETCLIPPLANEXPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanex")) == NULL) || r; + r = ((glGetFixedv = (PFNGLGETFIXEDVPROC)glewGetProcAddress((const GLubyte*)"glGetFixedv")) == NULL) || r; + r = ((glGetLightxv = (PFNGLGETLIGHTXVPROC)glewGetProcAddress((const GLubyte*)"glGetLightxv")) == NULL) || r; + r = ((glGetMaterialxv = (PFNGLGETMATERIALXVPROC)glewGetProcAddress((const GLubyte*)"glGetMaterialxv")) == NULL) || r; + r = ((glGetTexEnvxv = (PFNGLGETTEXENVXVPROC)glewGetProcAddress((const GLubyte*)"glGetTexEnvxv")) == NULL) || r; + r = ((glGetTexParameterxv = (PFNGLGETTEXPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterxv")) == NULL) || r; + r = ((glPointParameterx = (PFNGLPOINTPARAMETERXPROC)glewGetProcAddress((const GLubyte*)"glPointParameterx")) == NULL) || r; + r = ((glPointParameterxv = (PFNGLPOINTPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterxv")) == NULL) || r; + r = ((glPointSizePointerOES = (PFNGLPOINTSIZEPOINTEROESPROC)glewGetProcAddress((const GLubyte*)"glPointSizePointerOES")) == NULL) || r; + r = ((glTexParameterxv = (PFNGLTEXPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterxv")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_ES1_1_compatibility */ + +#ifdef GL_REGAL_error_string + +static GLboolean _glewInit_GL_REGAL_error_string () +{ + GLboolean r = GL_FALSE; + + r = ((glErrorStringREGAL = (PFNGLERRORSTRINGREGALPROC)glewGetProcAddress((const GLubyte*)"glErrorStringREGAL")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_error_string */ + +#ifdef GL_REGAL_extension_query + +static GLboolean _glewInit_GL_REGAL_extension_query () +{ + GLboolean r = GL_FALSE; + + r = ((glGetExtensionREGAL = (PFNGLGETEXTENSIONREGALPROC)glewGetProcAddress((const GLubyte*)"glGetExtensionREGAL")) == NULL) || r; + r = ((glIsSupportedREGAL = (PFNGLISSUPPORTEDREGALPROC)glewGetProcAddress((const GLubyte*)"glIsSupportedREGAL")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_extension_query */ + +#ifdef GL_REGAL_log + +static GLboolean _glewInit_GL_REGAL_log () +{ + GLboolean r = GL_FALSE; + + r = ((glLogMessageCallbackREGAL = (PFNGLLOGMESSAGECALLBACKREGALPROC)glewGetProcAddress((const GLubyte*)"glLogMessageCallbackREGAL")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_log */ + +#ifdef GL_REGAL_proc_address + +static GLboolean _glewInit_GL_REGAL_proc_address () +{ + GLboolean r = GL_FALSE; + + r = ((glGetProcAddressREGAL = (PFNGLGETPROCADDRESSREGALPROC)glewGetProcAddress((const GLubyte*)"glGetProcAddressREGAL")) == NULL) || r; + + return r; +} + +#endif /* GL_REGAL_proc_address */ + +#ifdef GL_SGIS_detail_texture + +static GLboolean _glewInit_GL_SGIS_detail_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glDetailTexFuncSGIS = (PFNGLDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glDetailTexFuncSGIS")) == NULL) || r; + r = ((glGetDetailTexFuncSGIS = (PFNGLGETDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetDetailTexFuncSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_detail_texture */ + +#ifdef GL_SGIS_fog_function + +static GLboolean _glewInit_GL_SGIS_fog_function () +{ + GLboolean r = GL_FALSE; + + r = ((glFogFuncSGIS = (PFNGLFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glFogFuncSGIS")) == NULL) || r; + r = ((glGetFogFuncSGIS = (PFNGLGETFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetFogFuncSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_fog_function */ + +#ifdef GL_SGIS_multisample + +static GLboolean _glewInit_GL_SGIS_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glSampleMaskSGIS = (PFNGLSAMPLEMASKSGISPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskSGIS")) == NULL) || r; + r = ((glSamplePatternSGIS = (PFNGLSAMPLEPATTERNSGISPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_multisample */ + +#ifdef GL_SGIS_multitexture + +static GLboolean _glewInit_GL_SGIS_multitexture () +{ + GLboolean r = GL_FALSE; + + r = ((glInterleavedTextureCoordSetsSGIS = (PFNGLINTERLEAVEDTEXTURECOORDSETSSGISPROC)glewGetProcAddress((const GLubyte*)"glInterleavedTextureCoordSetsSGIS")) == NULL) || r; + r = ((glSelectTextureCoordSetSGIS = (PFNGLSELECTTEXTURECOORDSETSGISPROC)glewGetProcAddress((const GLubyte*)"glSelectTextureCoordSetSGIS")) == NULL) || r; + r = ((glSelectTextureSGIS = (PFNGLSELECTTEXTURESGISPROC)glewGetProcAddress((const GLubyte*)"glSelectTextureSGIS")) == NULL) || r; + r = ((glSelectTextureTransformSGIS = (PFNGLSELECTTEXTURETRANSFORMSGISPROC)glewGetProcAddress((const GLubyte*)"glSelectTextureTransformSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_multitexture */ + +#ifdef GL_SGIS_shared_multisample + +static GLboolean _glewInit_GL_SGIS_shared_multisample () +{ + GLboolean r = GL_FALSE; + + r = ((glMultisampleSubRectPosSGIS = (PFNGLMULTISAMPLESUBRECTPOSSGISPROC)glewGetProcAddress((const GLubyte*)"glMultisampleSubRectPosSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_shared_multisample */ + +#ifdef GL_SGIS_sharpen_texture + +static GLboolean _glewInit_GL_SGIS_sharpen_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glGetSharpenTexFuncSGIS = (PFNGLGETSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetSharpenTexFuncSGIS")) == NULL) || r; + r = ((glSharpenTexFuncSGIS = (PFNGLSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glSharpenTexFuncSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_sharpen_texture */ + +#ifdef GL_SGIS_texture4D + +static GLboolean _glewInit_GL_SGIS_texture4D () +{ + GLboolean r = GL_FALSE; + + r = ((glTexImage4DSGIS = (PFNGLTEXIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexImage4DSGIS")) == NULL) || r; + r = ((glTexSubImage4DSGIS = (PFNGLTEXSUBIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage4DSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_texture4D */ + +#ifdef GL_SGIS_texture_filter4 + +static GLboolean _glewInit_GL_SGIS_texture_filter4 () +{ + GLboolean r = GL_FALSE; + + r = ((glGetTexFilterFuncSGIS = (PFNGLGETTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetTexFilterFuncSGIS")) == NULL) || r; + r = ((glTexFilterFuncSGIS = (PFNGLTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glTexFilterFuncSGIS")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIS_texture_filter4 */ + +#ifdef GL_SGIX_async + +static GLboolean _glewInit_GL_SGIX_async () +{ + GLboolean r = GL_FALSE; + + r = ((glAsyncMarkerSGIX = (PFNGLASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glAsyncMarkerSGIX")) == NULL) || r; + r = ((glDeleteAsyncMarkersSGIX = (PFNGLDELETEASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeleteAsyncMarkersSGIX")) == NULL) || r; + r = ((glFinishAsyncSGIX = (PFNGLFINISHASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glFinishAsyncSGIX")) == NULL) || r; + r = ((glGenAsyncMarkersSGIX = (PFNGLGENASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGenAsyncMarkersSGIX")) == NULL) || r; + r = ((glIsAsyncMarkerSGIX = (PFNGLISASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glIsAsyncMarkerSGIX")) == NULL) || r; + r = ((glPollAsyncSGIX = (PFNGLPOLLASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glPollAsyncSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_async */ + +#ifdef GL_SGIX_datapipe + +static GLboolean _glewInit_GL_SGIX_datapipe () +{ + GLboolean r = GL_FALSE; + + r = ((glAddressSpace = (PFNGLADDRESSSPACEPROC)glewGetProcAddress((const GLubyte*)"glAddressSpace")) == NULL) || r; + r = ((glDataPipe = (PFNGLDATAPIPEPROC)glewGetProcAddress((const GLubyte*)"glDataPipe")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_datapipe */ + +#ifdef GL_SGIX_flush_raster + +static GLboolean _glewInit_GL_SGIX_flush_raster () +{ + GLboolean r = GL_FALSE; + + r = ((glFlushRasterSGIX = (PFNGLFLUSHRASTERSGIXPROC)glewGetProcAddress((const GLubyte*)"glFlushRasterSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_flush_raster */ + +#ifdef GL_SGIX_fog_layers + +static GLboolean _glewInit_GL_SGIX_fog_layers () +{ + GLboolean r = GL_FALSE; + + r = ((glFogLayersSGIX = (PFNGLFOGLAYERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glFogLayersSGIX")) == NULL) || r; + r = ((glGetFogLayersSGIX = (PFNGLGETFOGLAYERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFogLayersSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_fog_layers */ + +#ifdef GL_SGIX_fog_texture + +static GLboolean _glewInit_GL_SGIX_fog_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glTextureFogSGIX = (PFNGLTEXTUREFOGSGIXPROC)glewGetProcAddress((const GLubyte*)"glTextureFogSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_fog_texture */ + +#ifdef GL_SGIX_fragment_specular_lighting + +static GLboolean _glewInit_GL_SGIX_fragment_specular_lighting () +{ + GLboolean r = GL_FALSE; + + r = ((glFragmentColorMaterialSGIX = (PFNGLFRAGMENTCOLORMATERIALSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialSGIX")) == NULL) || r; + r = ((glFragmentLightModelfSGIX = (PFNGLFRAGMENTLIGHTMODELFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfSGIX")) == NULL) || r; + r = ((glFragmentLightModelfvSGIX = (PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvSGIX")) == NULL) || r; + r = ((glFragmentLightModeliSGIX = (PFNGLFRAGMENTLIGHTMODELISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliSGIX")) == NULL) || r; + r = ((glFragmentLightModelivSGIX = (PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivSGIX")) == NULL) || r; + r = ((glFragmentLightfSGIX = (PFNGLFRAGMENTLIGHTFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfSGIX")) == NULL) || r; + r = ((glFragmentLightfvSGIX = (PFNGLFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvSGIX")) == NULL) || r; + r = ((glFragmentLightiSGIX = (PFNGLFRAGMENTLIGHTISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiSGIX")) == NULL) || r; + r = ((glFragmentLightivSGIX = (PFNGLFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivSGIX")) == NULL) || r; + r = ((glFragmentMaterialfSGIX = (PFNGLFRAGMENTMATERIALFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfSGIX")) == NULL) || r; + r = ((glFragmentMaterialfvSGIX = (PFNGLFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvSGIX")) == NULL) || r; + r = ((glFragmentMaterialiSGIX = (PFNGLFRAGMENTMATERIALISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiSGIX")) == NULL) || r; + r = ((glFragmentMaterialivSGIX = (PFNGLFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivSGIX")) == NULL) || r; + r = ((glGetFragmentLightfvSGIX = (PFNGLGETFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvSGIX")) == NULL) || r; + r = ((glGetFragmentLightivSGIX = (PFNGLGETFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivSGIX")) == NULL) || r; + r = ((glGetFragmentMaterialfvSGIX = (PFNGLGETFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvSGIX")) == NULL) || r; + r = ((glGetFragmentMaterialivSGIX = (PFNGLGETFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_fragment_specular_lighting */ + +#ifdef GL_SGIX_framezoom + +static GLboolean _glewInit_GL_SGIX_framezoom () +{ + GLboolean r = GL_FALSE; + + r = ((glFrameZoomSGIX = (PFNGLFRAMEZOOMSGIXPROC)glewGetProcAddress((const GLubyte*)"glFrameZoomSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_framezoom */ + +#ifdef GL_SGIX_igloo_interface + +static GLboolean _glewInit_GL_SGIX_igloo_interface () +{ + GLboolean r = GL_FALSE; + + r = ((glIglooInterfaceSGIX = (PFNGLIGLOOINTERFACESGIXPROC)glewGetProcAddress((const GLubyte*)"glIglooInterfaceSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_igloo_interface */ + +#ifdef GL_SGIX_mpeg1 + +static GLboolean _glewInit_GL_SGIX_mpeg1 () +{ + GLboolean r = GL_FALSE; + + r = ((glAllocMPEGPredictorsSGIX = (PFNGLALLOCMPEGPREDICTORSSGIXPROC)glewGetProcAddress((const GLubyte*)"glAllocMPEGPredictorsSGIX")) == NULL) || r; + r = ((glDeleteMPEGPredictorsSGIX = (PFNGLDELETEMPEGPREDICTORSSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeleteMPEGPredictorsSGIX")) == NULL) || r; + r = ((glGenMPEGPredictorsSGIX = (PFNGLGENMPEGPREDICTORSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGenMPEGPredictorsSGIX")) == NULL) || r; + r = ((glGetMPEGParameterfvSGIX = (PFNGLGETMPEGPARAMETERFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetMPEGParameterfvSGIX")) == NULL) || r; + r = ((glGetMPEGParameterivSGIX = (PFNGLGETMPEGPARAMETERIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetMPEGParameterivSGIX")) == NULL) || r; + r = ((glGetMPEGPredictorSGIX = (PFNGLGETMPEGPREDICTORSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetMPEGPredictorSGIX")) == NULL) || r; + r = ((glGetMPEGQuantTableubv = (PFNGLGETMPEGQUANTTABLEUBVPROC)glewGetProcAddress((const GLubyte*)"glGetMPEGQuantTableubv")) == NULL) || r; + r = ((glIsMPEGPredictorSGIX = (PFNGLISMPEGPREDICTORSGIXPROC)glewGetProcAddress((const GLubyte*)"glIsMPEGPredictorSGIX")) == NULL) || r; + r = ((glMPEGPredictorSGIX = (PFNGLMPEGPREDICTORSGIXPROC)glewGetProcAddress((const GLubyte*)"glMPEGPredictorSGIX")) == NULL) || r; + r = ((glMPEGQuantTableubv = (PFNGLMPEGQUANTTABLEUBVPROC)glewGetProcAddress((const GLubyte*)"glMPEGQuantTableubv")) == NULL) || r; + r = ((glSwapMPEGPredictorsSGIX = (PFNGLSWAPMPEGPREDICTORSSGIXPROC)glewGetProcAddress((const GLubyte*)"glSwapMPEGPredictorsSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_mpeg1 */ + +#ifdef GL_SGIX_nonlinear_lighting_pervertex + +static GLboolean _glewInit_GL_SGIX_nonlinear_lighting_pervertex () +{ + GLboolean r = GL_FALSE; + + r = ((glGetNonlinLightfvSGIX = (PFNGLGETNONLINLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetNonlinLightfvSGIX")) == NULL) || r; + r = ((glGetNonlinMaterialfvSGIX = (PFNGLGETNONLINMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetNonlinMaterialfvSGIX")) == NULL) || r; + r = ((glNonlinLightfvSGIX = (PFNGLNONLINLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glNonlinLightfvSGIX")) == NULL) || r; + r = ((glNonlinMaterialfvSGIX = (PFNGLNONLINMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glNonlinMaterialfvSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_nonlinear_lighting_pervertex */ + +#ifdef GL_SGIX_pixel_texture + +static GLboolean _glewInit_GL_SGIX_pixel_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glPixelTexGenSGIX = (PFNGLPIXELTEXGENSGIXPROC)glewGetProcAddress((const GLubyte*)"glPixelTexGenSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_pixel_texture */ + +#ifdef GL_SGIX_polynomial_ffd + +static GLboolean _glewInit_GL_SGIX_polynomial_ffd () +{ + GLboolean r = GL_FALSE; + + r = ((glDeformSGIX = (PFNGLDEFORMSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeformSGIX")) == NULL) || r; + r = ((glLoadIdentityDeformationMapSGIX = (PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)glewGetProcAddress((const GLubyte*)"glLoadIdentityDeformationMapSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_polynomial_ffd */ + +#ifdef GL_SGIX_quad_mesh + +static GLboolean _glewInit_GL_SGIX_quad_mesh () +{ + GLboolean r = GL_FALSE; + + r = ((glMeshBreadthSGIX = (PFNGLMESHBREADTHSGIXPROC)glewGetProcAddress((const GLubyte*)"glMeshBreadthSGIX")) == NULL) || r; + r = ((glMeshStrideSGIX = (PFNGLMESHSTRIDESGIXPROC)glewGetProcAddress((const GLubyte*)"glMeshStrideSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_quad_mesh */ + +#ifdef GL_SGIX_reference_plane + +static GLboolean _glewInit_GL_SGIX_reference_plane () +{ + GLboolean r = GL_FALSE; + + r = ((glReferencePlaneSGIX = (PFNGLREFERENCEPLANESGIXPROC)glewGetProcAddress((const GLubyte*)"glReferencePlaneSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_reference_plane */ + +#ifdef GL_SGIX_sprite + +static GLboolean _glewInit_GL_SGIX_sprite () +{ + GLboolean r = GL_FALSE; + + r = ((glSpriteParameterfSGIX = (PFNGLSPRITEPARAMETERFSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfSGIX")) == NULL) || r; + r = ((glSpriteParameterfvSGIX = (PFNGLSPRITEPARAMETERFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfvSGIX")) == NULL) || r; + r = ((glSpriteParameteriSGIX = (PFNGLSPRITEPARAMETERISGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameteriSGIX")) == NULL) || r; + r = ((glSpriteParameterivSGIX = (PFNGLSPRITEPARAMETERIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterivSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_sprite */ + +#ifdef GL_SGIX_tag_sample_buffer + +static GLboolean _glewInit_GL_SGIX_tag_sample_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glTagSampleBufferSGIX = (PFNGLTAGSAMPLEBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glTagSampleBufferSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_tag_sample_buffer */ + +#ifdef GL_SGIX_vector_ops + +static GLboolean _glewInit_GL_SGIX_vector_ops () +{ + GLboolean r = GL_FALSE; + + r = ((glGetVectorOperationSGIX = (PFNGLGETVECTOROPERATIONSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetVectorOperationSGIX")) == NULL) || r; + r = ((glVectorOperationSGIX = (PFNGLVECTOROPERATIONSGIXPROC)glewGetProcAddress((const GLubyte*)"glVectorOperationSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_vector_ops */ + +#ifdef GL_SGIX_vertex_array_object + +static GLboolean _glewInit_GL_SGIX_vertex_array_object () +{ + GLboolean r = GL_FALSE; + + r = ((glAreVertexArraysResidentSGIX = (PFNGLAREVERTEXARRAYSRESIDENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glAreVertexArraysResidentSGIX")) == NULL) || r; + r = ((glBindVertexArraySGIX = (PFNGLBINDVERTEXARRAYSGIXPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArraySGIX")) == NULL) || r; + r = ((glDeleteVertexArraysSGIX = (PFNGLDELETEVERTEXARRAYSSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArraysSGIX")) == NULL) || r; + r = ((glGenVertexArraysSGIX = (PFNGLGENVERTEXARRAYSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArraysSGIX")) == NULL) || r; + r = ((glIsVertexArraySGIX = (PFNGLISVERTEXARRAYSGIXPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArraySGIX")) == NULL) || r; + r = ((glPrioritizeVertexArraysSGIX = (PFNGLPRIORITIZEVERTEXARRAYSSGIXPROC)glewGetProcAddress((const GLubyte*)"glPrioritizeVertexArraysSGIX")) == NULL) || r; + + return r; +} + +#endif /* GL_SGIX_vertex_array_object */ + +#ifdef GL_SGI_color_table + +static GLboolean _glewInit_GL_SGI_color_table () +{ + GLboolean r = GL_FALSE; + + r = ((glColorTableParameterfvSGI = (PFNGLCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfvSGI")) == NULL) || r; + r = ((glColorTableParameterivSGI = (PFNGLCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterivSGI")) == NULL) || r; + r = ((glColorTableSGI = (PFNGLCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableSGI")) == NULL) || r; + r = ((glCopyColorTableSGI = (PFNGLCOPYCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTableSGI")) == NULL) || r; + r = ((glGetColorTableParameterfvSGI = (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvSGI")) == NULL) || r; + r = ((glGetColorTableParameterivSGI = (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivSGI")) == NULL) || r; + r = ((glGetColorTableSGI = (PFNGLGETCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableSGI")) == NULL) || r; + + return r; +} + +#endif /* GL_SGI_color_table */ + +#ifdef GL_SGI_fft + +static GLboolean _glewInit_GL_SGI_fft () +{ + GLboolean r = GL_FALSE; + + r = ((glGetPixelTransformParameterfvSGI = (PFNGLGETPIXELTRANSFORMPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterfvSGI")) == NULL) || r; + r = ((glGetPixelTransformParameterivSGI = (PFNGLGETPIXELTRANSFORMPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterivSGI")) == NULL) || r; + r = ((glPixelTransformParameterfSGI = (PFNGLPIXELTRANSFORMPARAMETERFSGIPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfSGI")) == NULL) || r; + r = ((glPixelTransformParameterfvSGI = (PFNGLPIXELTRANSFORMPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfvSGI")) == NULL) || r; + r = ((glPixelTransformParameteriSGI = (PFNGLPIXELTRANSFORMPARAMETERISGIPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameteriSGI")) == NULL) || r; + r = ((glPixelTransformParameterivSGI = (PFNGLPIXELTRANSFORMPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterivSGI")) == NULL) || r; + r = ((glPixelTransformSGI = (PFNGLPIXELTRANSFORMSGIPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformSGI")) == NULL) || r; + + return r; +} + +#endif /* GL_SGI_fft */ + +#ifdef GL_SUNX_constant_data + +static GLboolean _glewInit_GL_SUNX_constant_data () +{ + GLboolean r = GL_FALSE; + + r = ((glFinishTextureSUNX = (PFNGLFINISHTEXTURESUNXPROC)glewGetProcAddress((const GLubyte*)"glFinishTextureSUNX")) == NULL) || r; + + return r; +} + +#endif /* GL_SUNX_constant_data */ + +#ifdef GL_SUN_global_alpha + +static GLboolean _glewInit_GL_SUN_global_alpha () +{ + GLboolean r = GL_FALSE; + + r = ((glGlobalAlphaFactorbSUN = (PFNGLGLOBALALPHAFACTORBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorbSUN")) == NULL) || r; + r = ((glGlobalAlphaFactordSUN = (PFNGLGLOBALALPHAFACTORDSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactordSUN")) == NULL) || r; + r = ((glGlobalAlphaFactorfSUN = (PFNGLGLOBALALPHAFACTORFSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorfSUN")) == NULL) || r; + r = ((glGlobalAlphaFactoriSUN = (PFNGLGLOBALALPHAFACTORISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoriSUN")) == NULL) || r; + r = ((glGlobalAlphaFactorsSUN = (PFNGLGLOBALALPHAFACTORSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorsSUN")) == NULL) || r; + r = ((glGlobalAlphaFactorubSUN = (PFNGLGLOBALALPHAFACTORUBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorubSUN")) == NULL) || r; + r = ((glGlobalAlphaFactoruiSUN = (PFNGLGLOBALALPHAFACTORUISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoruiSUN")) == NULL) || r; + r = ((glGlobalAlphaFactorusSUN = (PFNGLGLOBALALPHAFACTORUSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorusSUN")) == NULL) || r; + + return r; +} + +#endif /* GL_SUN_global_alpha */ + +#ifdef GL_SUN_read_video_pixels + +static GLboolean _glewInit_GL_SUN_read_video_pixels () +{ + GLboolean r = GL_FALSE; + + r = ((glReadVideoPixelsSUN = (PFNGLREADVIDEOPIXELSSUNPROC)glewGetProcAddress((const GLubyte*)"glReadVideoPixelsSUN")) == NULL) || r; + + return r; +} + +#endif /* GL_SUN_read_video_pixels */ + +#ifdef GL_SUN_triangle_list + +static GLboolean _glewInit_GL_SUN_triangle_list () +{ + GLboolean r = GL_FALSE; + + r = ((glReplacementCodePointerSUN = (PFNGLREPLACEMENTCODEPOINTERSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodePointerSUN")) == NULL) || r; + r = ((glReplacementCodeubSUN = (PFNGLREPLACEMENTCODEUBSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubSUN")) == NULL) || r; + r = ((glReplacementCodeubvSUN = (PFNGLREPLACEMENTCODEUBVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubvSUN")) == NULL) || r; + r = ((glReplacementCodeuiSUN = (PFNGLREPLACEMENTCODEUISUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiSUN")) == NULL) || r; + r = ((glReplacementCodeuivSUN = (PFNGLREPLACEMENTCODEUIVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuivSUN")) == NULL) || r; + r = ((glReplacementCodeusSUN = (PFNGLREPLACEMENTCODEUSSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusSUN")) == NULL) || r; + r = ((glReplacementCodeusvSUN = (PFNGLREPLACEMENTCODEUSVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusvSUN")) == NULL) || r; + + return r; +} + +#endif /* GL_SUN_triangle_list */ + +#ifdef GL_SUN_vertex + +static GLboolean _glewInit_GL_SUN_vertex () +{ + GLboolean r = GL_FALSE; + + r = ((glColor3fVertex3fSUN = (PFNGLCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fSUN")) == NULL) || r; + r = ((glColor3fVertex3fvSUN = (PFNGLCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fvSUN")) == NULL) || r; + r = ((glColor4fNormal3fVertex3fSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glColor4fNormal3fVertex3fvSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glColor4ubVertex2fSUN = (PFNGLCOLOR4UBVERTEX2FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fSUN")) == NULL) || r; + r = ((glColor4ubVertex2fvSUN = (PFNGLCOLOR4UBVERTEX2FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fvSUN")) == NULL) || r; + r = ((glColor4ubVertex3fSUN = (PFNGLCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fSUN")) == NULL) || r; + r = ((glColor4ubVertex3fvSUN = (PFNGLCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fvSUN")) == NULL) || r; + r = ((glNormal3fVertex3fSUN = (PFNGLNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fSUN")) == NULL) || r; + r = ((glNormal3fVertex3fvSUN = (PFNGLNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor4ubVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiColor4ubVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiTexCoord2fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fvSUN")) == NULL) || r; + r = ((glReplacementCodeuiVertex3fSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fSUN")) == NULL) || r; + r = ((glReplacementCodeuiVertex3fvSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord2fColor3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fSUN")) == NULL) || r; + r = ((glTexCoord2fColor3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord2fColor4ubVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fSUN")) == NULL) || r; + r = ((glTexCoord2fColor4ubVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord2fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; + r = ((glTexCoord2fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord2fVertex3fSUN = (PFNGLTEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fSUN")) == NULL) || r; + r = ((glTexCoord2fVertex3fvSUN = (PFNGLTEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fvSUN")) == NULL) || r; + r = ((glTexCoord4fColor4fNormal3fVertex4fSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fSUN")) == NULL) || r; + r = ((glTexCoord4fColor4fNormal3fVertex4fvSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fvSUN")) == NULL) || r; + r = ((glTexCoord4fVertex4fSUN = (PFNGLTEXCOORD4FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fSUN")) == NULL) || r; + r = ((glTexCoord4fVertex4fvSUN = (PFNGLTEXCOORD4FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fvSUN")) == NULL) || r; + + return r; +} + +#endif /* GL_SUN_vertex */ + +#ifdef GL_WIN_swap_hint + +static GLboolean _glewInit_GL_WIN_swap_hint () +{ + GLboolean r = GL_FALSE; + + r = ((glAddSwapHintRectWIN = (PFNGLADDSWAPHINTRECTWINPROC)glewGetProcAddress((const GLubyte*)"glAddSwapHintRectWIN")) == NULL) || r; + + return r; +} + +#endif /* GL_WIN_swap_hint */ + +/* ------------------------------------------------------------------------- */ + +static int _glewExtensionCompare(const char *s1, const char *s2) +{ + /* http://www.chanduthedev.com/2012/07/strcmp-implementation-in-c.html */ + while (*s1 || *s2) + { + if (*s1 > *s2) + return 1; + if (*s1 < *s2) + return -1; + s1++; + s2++; + } + return 0; +} + +static ptrdiff_t _glewBsearchExtension(const char* name) +{ + ptrdiff_t lo = 0, hi = sizeof(_glewExtensionLookup) / sizeof(char*) - 2; + + while (lo <= hi) + { + ptrdiff_t mid = (lo + hi) / 2; + const int cmp = _glewExtensionCompare(name, _glewExtensionLookup[mid]); + if (cmp < 0) hi = mid - 1; + else if (cmp > 0) lo = mid + 1; + else return mid; + } + return -1; +} + +static GLboolean *_glewGetExtensionString(const char *name) +{ + ptrdiff_t n = _glewBsearchExtension(name); + if (n >= 0) return &_glewExtensionString[n]; + return NULL; +} + +static GLboolean *_glewGetExtensionEnable(const char *name) +{ + ptrdiff_t n = _glewBsearchExtension(name); + if (n >= 0) return _glewExtensionEnabled[n]; + return NULL; +} + +static const char *_glewNextSpace(const char *i) +{ + const char *j = i; + if (j) + while (*j!=' ' && *j) ++j; + return j; +} + +static const char *_glewNextNonSpace(const char *i) +{ + const char *j = i; + if (j) + while (*j==' ') ++j; + return j; +} + +GLboolean GLEWAPIENTRY glewGetExtension (const char* name) +{ + GLboolean *enable = _glewGetExtensionString(name); + if (enable) + return *enable; + return GL_FALSE; +} + +/* ------------------------------------------------------------------------- */ + +typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum name); +typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params); + +static GLenum GLEWAPIENTRY glewContextInit () +{ + PFNGLGETSTRINGPROC getString; + const GLubyte* s; + GLuint dot; + GLint major, minor; + size_t n; + + #ifdef _WIN32 + getString = glGetString; + #else + getString = (PFNGLGETSTRINGPROC) glewGetProcAddress((const GLubyte*)"glGetString"); + if (!getString) + return GLEW_ERROR_NO_GL_VERSION; + #endif + + /* query opengl version */ + s = getString(GL_VERSION); + dot = _glewStrCLen(s, '.'); + if (dot == 0) + return GLEW_ERROR_NO_GL_VERSION; + + major = s[dot-1]-'0'; + minor = s[dot+1]-'0'; + + if (minor < 0 || minor > 9) + minor = 0; + if (major<0 || major>9) + return GLEW_ERROR_NO_GL_VERSION; + + if (major == 1 && minor == 0) + { + return GLEW_ERROR_GL_VERSION_10_ONLY; + } + else + { + GLEW_VERSION_4_6 = ( major > 4 ) || ( major == 4 && minor >= 6 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_5 = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 5 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_4 = GLEW_VERSION_4_5 == GL_TRUE || ( major == 4 && minor >= 4 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_3 = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 3 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_2 = GLEW_VERSION_4_3 == GL_TRUE || ( major == 4 && minor >= 2 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_1 = GLEW_VERSION_4_2 == GL_TRUE || ( major == 4 && minor >= 1 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_4_0 = GLEW_VERSION_4_1 == GL_TRUE || ( major == 4 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_3_3 = GLEW_VERSION_4_0 == GL_TRUE || ( major == 3 && minor >= 3 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_3_2 = GLEW_VERSION_3_3 == GL_TRUE || ( major == 3 && minor >= 2 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_3_1 = GLEW_VERSION_3_2 == GL_TRUE || ( major == 3 && minor >= 1 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_3_0 = GLEW_VERSION_3_1 == GL_TRUE || ( major == 3 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_2_1 = GLEW_VERSION_3_0 == GL_TRUE || ( major == 2 && minor >= 1 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_2_0 = GLEW_VERSION_2_1 == GL_TRUE || ( major == 2 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_5 = GLEW_VERSION_2_0 == GL_TRUE || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_4 = GLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_3 = GLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_2_1 = GLEW_VERSION_1_3 == GL_TRUE ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_2 = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE; + GLEW_VERSION_1_1 = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE; + } + + for (n = 0; n < sizeof(_glewExtensionString) / sizeof(_glewExtensionString[0]); ++n) + _glewExtensionString[n] = GL_FALSE; + + if (GLEW_VERSION_3_0) + { + GLint n = 0; + GLint i; + PFNGLGETINTEGERVPROC getIntegerv; + PFNGLGETSTRINGIPROC getStringi; + const char *ext; + GLboolean *enable; + + #ifdef _WIN32 + getIntegerv = glGetIntegerv; + #else + getIntegerv = (PFNGLGETINTEGERVPROC) glewGetProcAddress((const GLubyte*)"glGetIntegerv"); + #endif + + if (getIntegerv) + getIntegerv(GL_NUM_EXTENSIONS, &n); + + /* glGetStringi is OpenGL 3.0 */ + getStringi = (PFNGLGETSTRINGIPROC) glewGetProcAddress((const GLubyte*)"glGetStringi"); + if (getStringi) + for (i = 0; i= (ptrdiff_t) sizeof(ext)) + continue; + _glewStrCopy(ext, i, ' '); + + /* Based on extension string(s), glewGetExtension purposes */ + enable = _glewGetExtensionString(ext); + if (enable) + *enable = GL_TRUE; + + /* Based on extension string(s), experimental mode, glewIsSupported purposes */ + enable = _glewGetExtensionEnable(ext); + if (enable) + *enable = GL_TRUE; + } + } + } +#ifdef GL_VERSION_1_2 + if (glewExperimental || GLEW_VERSION_1_2) GLEW_VERSION_1_2 = !_glewInit_GL_VERSION_1_2(); +#endif /* GL_VERSION_1_2 */ +#ifdef GL_VERSION_1_3 + if (glewExperimental || GLEW_VERSION_1_3) GLEW_VERSION_1_3 = !_glewInit_GL_VERSION_1_3(); +#endif /* GL_VERSION_1_3 */ +#ifdef GL_VERSION_1_4 + if (glewExperimental || GLEW_VERSION_1_4) GLEW_VERSION_1_4 = !_glewInit_GL_VERSION_1_4(); +#endif /* GL_VERSION_1_4 */ +#ifdef GL_VERSION_1_5 + if (glewExperimental || GLEW_VERSION_1_5) GLEW_VERSION_1_5 = !_glewInit_GL_VERSION_1_5(); +#endif /* GL_VERSION_1_5 */ +#ifdef GL_VERSION_2_0 + if (glewExperimental || GLEW_VERSION_2_0) GLEW_VERSION_2_0 = !_glewInit_GL_VERSION_2_0(); +#endif /* GL_VERSION_2_0 */ +#ifdef GL_VERSION_2_1 + if (glewExperimental || GLEW_VERSION_2_1) GLEW_VERSION_2_1 = !_glewInit_GL_VERSION_2_1(); +#endif /* GL_VERSION_2_1 */ +#ifdef GL_VERSION_3_0 + if (glewExperimental || GLEW_VERSION_3_0) GLEW_VERSION_3_0 = !_glewInit_GL_VERSION_3_0(); +#endif /* GL_VERSION_3_0 */ +#ifdef GL_VERSION_3_1 + if (glewExperimental || GLEW_VERSION_3_1) GLEW_VERSION_3_1 = !_glewInit_GL_VERSION_3_1(); +#endif /* GL_VERSION_3_1 */ +#ifdef GL_VERSION_3_2 + if (glewExperimental || GLEW_VERSION_3_2) GLEW_VERSION_3_2 = !_glewInit_GL_VERSION_3_2(); +#endif /* GL_VERSION_3_2 */ +#ifdef GL_VERSION_3_3 + if (glewExperimental || GLEW_VERSION_3_3) GLEW_VERSION_3_3 = !_glewInit_GL_VERSION_3_3(); +#endif /* GL_VERSION_3_3 */ +#ifdef GL_VERSION_4_0 + if (glewExperimental || GLEW_VERSION_4_0) GLEW_VERSION_4_0 = !_glewInit_GL_VERSION_4_0(); +#endif /* GL_VERSION_4_0 */ +#ifdef GL_VERSION_4_5 + if (glewExperimental || GLEW_VERSION_4_5) GLEW_VERSION_4_5 = !_glewInit_GL_VERSION_4_5(); +#endif /* GL_VERSION_4_5 */ +#ifdef GL_VERSION_4_6 + if (glewExperimental || GLEW_VERSION_4_6) GLEW_VERSION_4_6 = !_glewInit_GL_VERSION_4_6(); +#endif /* GL_VERSION_4_6 */ +#ifdef GL_3DFX_tbuffer + if (glewExperimental || GLEW_3DFX_tbuffer) GLEW_3DFX_tbuffer = !_glewInit_GL_3DFX_tbuffer(); +#endif /* GL_3DFX_tbuffer */ +#ifdef GL_AMD_debug_output + if (glewExperimental || GLEW_AMD_debug_output) GLEW_AMD_debug_output = !_glewInit_GL_AMD_debug_output(); +#endif /* GL_AMD_debug_output */ +#ifdef GL_AMD_draw_buffers_blend + if (glewExperimental || GLEW_AMD_draw_buffers_blend) GLEW_AMD_draw_buffers_blend = !_glewInit_GL_AMD_draw_buffers_blend(); +#endif /* GL_AMD_draw_buffers_blend */ +#ifdef GL_AMD_framebuffer_sample_positions + if (glewExperimental || GLEW_AMD_framebuffer_sample_positions) GLEW_AMD_framebuffer_sample_positions = !_glewInit_GL_AMD_framebuffer_sample_positions(); +#endif /* GL_AMD_framebuffer_sample_positions */ +#ifdef GL_AMD_interleaved_elements + if (glewExperimental || GLEW_AMD_interleaved_elements) GLEW_AMD_interleaved_elements = !_glewInit_GL_AMD_interleaved_elements(); +#endif /* GL_AMD_interleaved_elements */ +#ifdef GL_AMD_multi_draw_indirect + if (glewExperimental || GLEW_AMD_multi_draw_indirect) GLEW_AMD_multi_draw_indirect = !_glewInit_GL_AMD_multi_draw_indirect(); +#endif /* GL_AMD_multi_draw_indirect */ +#ifdef GL_AMD_name_gen_delete + if (glewExperimental || GLEW_AMD_name_gen_delete) GLEW_AMD_name_gen_delete = !_glewInit_GL_AMD_name_gen_delete(); +#endif /* GL_AMD_name_gen_delete */ +#ifdef GL_AMD_occlusion_query_event + if (glewExperimental || GLEW_AMD_occlusion_query_event) GLEW_AMD_occlusion_query_event = !_glewInit_GL_AMD_occlusion_query_event(); +#endif /* GL_AMD_occlusion_query_event */ +#ifdef GL_AMD_performance_monitor + if (glewExperimental || GLEW_AMD_performance_monitor) GLEW_AMD_performance_monitor = !_glewInit_GL_AMD_performance_monitor(); +#endif /* GL_AMD_performance_monitor */ +#ifdef GL_AMD_sample_positions + if (glewExperimental || GLEW_AMD_sample_positions) GLEW_AMD_sample_positions = !_glewInit_GL_AMD_sample_positions(); +#endif /* GL_AMD_sample_positions */ +#ifdef GL_AMD_sparse_texture + if (glewExperimental || GLEW_AMD_sparse_texture) GLEW_AMD_sparse_texture = !_glewInit_GL_AMD_sparse_texture(); +#endif /* GL_AMD_sparse_texture */ +#ifdef GL_AMD_stencil_operation_extended + if (glewExperimental || GLEW_AMD_stencil_operation_extended) GLEW_AMD_stencil_operation_extended = !_glewInit_GL_AMD_stencil_operation_extended(); +#endif /* GL_AMD_stencil_operation_extended */ +#ifdef GL_AMD_vertex_shader_tessellator + if (glewExperimental || GLEW_AMD_vertex_shader_tessellator) GLEW_AMD_vertex_shader_tessellator = !_glewInit_GL_AMD_vertex_shader_tessellator(); +#endif /* GL_AMD_vertex_shader_tessellator */ +#ifdef GL_ANGLE_framebuffer_blit + if (glewExperimental || GLEW_ANGLE_framebuffer_blit) GLEW_ANGLE_framebuffer_blit = !_glewInit_GL_ANGLE_framebuffer_blit(); +#endif /* GL_ANGLE_framebuffer_blit */ +#ifdef GL_ANGLE_framebuffer_multisample + if (glewExperimental || GLEW_ANGLE_framebuffer_multisample) GLEW_ANGLE_framebuffer_multisample = !_glewInit_GL_ANGLE_framebuffer_multisample(); +#endif /* GL_ANGLE_framebuffer_multisample */ +#ifdef GL_ANGLE_instanced_arrays + if (glewExperimental || GLEW_ANGLE_instanced_arrays) GLEW_ANGLE_instanced_arrays = !_glewInit_GL_ANGLE_instanced_arrays(); +#endif /* GL_ANGLE_instanced_arrays */ +#ifdef GL_ANGLE_timer_query + if (glewExperimental || GLEW_ANGLE_timer_query) GLEW_ANGLE_timer_query = !_glewInit_GL_ANGLE_timer_query(); +#endif /* GL_ANGLE_timer_query */ +#ifdef GL_ANGLE_translated_shader_source + if (glewExperimental || GLEW_ANGLE_translated_shader_source) GLEW_ANGLE_translated_shader_source = !_glewInit_GL_ANGLE_translated_shader_source(); +#endif /* GL_ANGLE_translated_shader_source */ +#ifdef GL_APPLE_copy_texture_levels + if (glewExperimental || GLEW_APPLE_copy_texture_levels) GLEW_APPLE_copy_texture_levels = !_glewInit_GL_APPLE_copy_texture_levels(); +#endif /* GL_APPLE_copy_texture_levels */ +#ifdef GL_APPLE_element_array + if (glewExperimental || GLEW_APPLE_element_array) GLEW_APPLE_element_array = !_glewInit_GL_APPLE_element_array(); +#endif /* GL_APPLE_element_array */ +#ifdef GL_APPLE_fence + if (glewExperimental || GLEW_APPLE_fence) GLEW_APPLE_fence = !_glewInit_GL_APPLE_fence(); +#endif /* GL_APPLE_fence */ +#ifdef GL_APPLE_flush_buffer_range + if (glewExperimental || GLEW_APPLE_flush_buffer_range) GLEW_APPLE_flush_buffer_range = !_glewInit_GL_APPLE_flush_buffer_range(); +#endif /* GL_APPLE_flush_buffer_range */ +#ifdef GL_APPLE_framebuffer_multisample + if (glewExperimental || GLEW_APPLE_framebuffer_multisample) GLEW_APPLE_framebuffer_multisample = !_glewInit_GL_APPLE_framebuffer_multisample(); +#endif /* GL_APPLE_framebuffer_multisample */ +#ifdef GL_APPLE_object_purgeable + if (glewExperimental || GLEW_APPLE_object_purgeable) GLEW_APPLE_object_purgeable = !_glewInit_GL_APPLE_object_purgeable(); +#endif /* GL_APPLE_object_purgeable */ +#ifdef GL_APPLE_sync + if (glewExperimental || GLEW_APPLE_sync) GLEW_APPLE_sync = !_glewInit_GL_APPLE_sync(); +#endif /* GL_APPLE_sync */ +#ifdef GL_APPLE_texture_range + if (glewExperimental || GLEW_APPLE_texture_range) GLEW_APPLE_texture_range = !_glewInit_GL_APPLE_texture_range(); +#endif /* GL_APPLE_texture_range */ +#ifdef GL_APPLE_vertex_array_object + if (glewExperimental || GLEW_APPLE_vertex_array_object) GLEW_APPLE_vertex_array_object = !_glewInit_GL_APPLE_vertex_array_object(); +#endif /* GL_APPLE_vertex_array_object */ +#ifdef GL_APPLE_vertex_array_range + if (glewExperimental || GLEW_APPLE_vertex_array_range) GLEW_APPLE_vertex_array_range = !_glewInit_GL_APPLE_vertex_array_range(); +#endif /* GL_APPLE_vertex_array_range */ +#ifdef GL_APPLE_vertex_program_evaluators + if (glewExperimental || GLEW_APPLE_vertex_program_evaluators) GLEW_APPLE_vertex_program_evaluators = !_glewInit_GL_APPLE_vertex_program_evaluators(); +#endif /* GL_APPLE_vertex_program_evaluators */ +#ifdef GL_ARB_ES2_compatibility + if (glewExperimental || GLEW_ARB_ES2_compatibility) GLEW_ARB_ES2_compatibility = !_glewInit_GL_ARB_ES2_compatibility(); +#endif /* GL_ARB_ES2_compatibility */ +#ifdef GL_ARB_ES3_1_compatibility + if (glewExperimental || GLEW_ARB_ES3_1_compatibility) GLEW_ARB_ES3_1_compatibility = !_glewInit_GL_ARB_ES3_1_compatibility(); +#endif /* GL_ARB_ES3_1_compatibility */ +#ifdef GL_ARB_ES3_2_compatibility + if (glewExperimental || GLEW_ARB_ES3_2_compatibility) GLEW_ARB_ES3_2_compatibility = !_glewInit_GL_ARB_ES3_2_compatibility(); +#endif /* GL_ARB_ES3_2_compatibility */ +#ifdef GL_ARB_base_instance + if (glewExperimental || GLEW_ARB_base_instance) GLEW_ARB_base_instance = !_glewInit_GL_ARB_base_instance(); +#endif /* GL_ARB_base_instance */ +#ifdef GL_ARB_bindless_texture + if (glewExperimental || GLEW_ARB_bindless_texture) GLEW_ARB_bindless_texture = !_glewInit_GL_ARB_bindless_texture(); +#endif /* GL_ARB_bindless_texture */ +#ifdef GL_ARB_blend_func_extended + if (glewExperimental || GLEW_ARB_blend_func_extended) GLEW_ARB_blend_func_extended = !_glewInit_GL_ARB_blend_func_extended(); +#endif /* GL_ARB_blend_func_extended */ +#ifdef GL_ARB_buffer_storage + if (glewExperimental || GLEW_ARB_buffer_storage) GLEW_ARB_buffer_storage = !_glewInit_GL_ARB_buffer_storage(); +#endif /* GL_ARB_buffer_storage */ +#ifdef GL_ARB_cl_event + if (glewExperimental || GLEW_ARB_cl_event) GLEW_ARB_cl_event = !_glewInit_GL_ARB_cl_event(); +#endif /* GL_ARB_cl_event */ +#ifdef GL_ARB_clear_buffer_object + if (glewExperimental || GLEW_ARB_clear_buffer_object) GLEW_ARB_clear_buffer_object = !_glewInit_GL_ARB_clear_buffer_object(); +#endif /* GL_ARB_clear_buffer_object */ +#ifdef GL_ARB_clear_texture + if (glewExperimental || GLEW_ARB_clear_texture) GLEW_ARB_clear_texture = !_glewInit_GL_ARB_clear_texture(); +#endif /* GL_ARB_clear_texture */ +#ifdef GL_ARB_clip_control + if (glewExperimental || GLEW_ARB_clip_control) GLEW_ARB_clip_control = !_glewInit_GL_ARB_clip_control(); +#endif /* GL_ARB_clip_control */ +#ifdef GL_ARB_color_buffer_float + if (glewExperimental || GLEW_ARB_color_buffer_float) GLEW_ARB_color_buffer_float = !_glewInit_GL_ARB_color_buffer_float(); +#endif /* GL_ARB_color_buffer_float */ +#ifdef GL_ARB_compute_shader + if (glewExperimental || GLEW_ARB_compute_shader) GLEW_ARB_compute_shader = !_glewInit_GL_ARB_compute_shader(); +#endif /* GL_ARB_compute_shader */ +#ifdef GL_ARB_compute_variable_group_size + if (glewExperimental || GLEW_ARB_compute_variable_group_size) GLEW_ARB_compute_variable_group_size = !_glewInit_GL_ARB_compute_variable_group_size(); +#endif /* GL_ARB_compute_variable_group_size */ +#ifdef GL_ARB_copy_buffer + if (glewExperimental || GLEW_ARB_copy_buffer) GLEW_ARB_copy_buffer = !_glewInit_GL_ARB_copy_buffer(); +#endif /* GL_ARB_copy_buffer */ +#ifdef GL_ARB_copy_image + if (glewExperimental || GLEW_ARB_copy_image) GLEW_ARB_copy_image = !_glewInit_GL_ARB_copy_image(); +#endif /* GL_ARB_copy_image */ +#ifdef GL_ARB_debug_output + if (glewExperimental || GLEW_ARB_debug_output) GLEW_ARB_debug_output = !_glewInit_GL_ARB_debug_output(); +#endif /* GL_ARB_debug_output */ +#ifdef GL_ARB_direct_state_access + if (glewExperimental || GLEW_ARB_direct_state_access) GLEW_ARB_direct_state_access = !_glewInit_GL_ARB_direct_state_access(); +#endif /* GL_ARB_direct_state_access */ +#ifdef GL_ARB_draw_buffers + if (glewExperimental || GLEW_ARB_draw_buffers) GLEW_ARB_draw_buffers = !_glewInit_GL_ARB_draw_buffers(); +#endif /* GL_ARB_draw_buffers */ +#ifdef GL_ARB_draw_buffers_blend + if (glewExperimental || GLEW_ARB_draw_buffers_blend) GLEW_ARB_draw_buffers_blend = !_glewInit_GL_ARB_draw_buffers_blend(); +#endif /* GL_ARB_draw_buffers_blend */ +#ifdef GL_ARB_draw_elements_base_vertex + if (glewExperimental || GLEW_ARB_draw_elements_base_vertex) GLEW_ARB_draw_elements_base_vertex = !_glewInit_GL_ARB_draw_elements_base_vertex(); +#endif /* GL_ARB_draw_elements_base_vertex */ +#ifdef GL_ARB_draw_indirect + if (glewExperimental || GLEW_ARB_draw_indirect) GLEW_ARB_draw_indirect = !_glewInit_GL_ARB_draw_indirect(); +#endif /* GL_ARB_draw_indirect */ +#ifdef GL_ARB_framebuffer_no_attachments + if (glewExperimental || GLEW_ARB_framebuffer_no_attachments) GLEW_ARB_framebuffer_no_attachments = !_glewInit_GL_ARB_framebuffer_no_attachments(); +#endif /* GL_ARB_framebuffer_no_attachments */ +#ifdef GL_ARB_framebuffer_object + if (glewExperimental || GLEW_ARB_framebuffer_object) GLEW_ARB_framebuffer_object = !_glewInit_GL_ARB_framebuffer_object(); +#endif /* GL_ARB_framebuffer_object */ +#ifdef GL_ARB_geometry_shader4 + if (glewExperimental || GLEW_ARB_geometry_shader4) GLEW_ARB_geometry_shader4 = !_glewInit_GL_ARB_geometry_shader4(); +#endif /* GL_ARB_geometry_shader4 */ +#ifdef GL_ARB_get_program_binary + if (glewExperimental || GLEW_ARB_get_program_binary) GLEW_ARB_get_program_binary = !_glewInit_GL_ARB_get_program_binary(); +#endif /* GL_ARB_get_program_binary */ +#ifdef GL_ARB_get_texture_sub_image + if (glewExperimental || GLEW_ARB_get_texture_sub_image) GLEW_ARB_get_texture_sub_image = !_glewInit_GL_ARB_get_texture_sub_image(); +#endif /* GL_ARB_get_texture_sub_image */ +#ifdef GL_ARB_gl_spirv + if (glewExperimental || GLEW_ARB_gl_spirv) GLEW_ARB_gl_spirv = !_glewInit_GL_ARB_gl_spirv(); +#endif /* GL_ARB_gl_spirv */ +#ifdef GL_ARB_gpu_shader_fp64 + if (glewExperimental || GLEW_ARB_gpu_shader_fp64) GLEW_ARB_gpu_shader_fp64 = !_glewInit_GL_ARB_gpu_shader_fp64(); +#endif /* GL_ARB_gpu_shader_fp64 */ +#ifdef GL_ARB_gpu_shader_int64 + if (glewExperimental || GLEW_ARB_gpu_shader_int64) GLEW_ARB_gpu_shader_int64 = !_glewInit_GL_ARB_gpu_shader_int64(); +#endif /* GL_ARB_gpu_shader_int64 */ +#ifdef GL_ARB_imaging + if (glewExperimental || GLEW_ARB_imaging) GLEW_ARB_imaging = !_glewInit_GL_ARB_imaging(); +#endif /* GL_ARB_imaging */ +#ifdef GL_ARB_indirect_parameters + if (glewExperimental || GLEW_ARB_indirect_parameters) GLEW_ARB_indirect_parameters = !_glewInit_GL_ARB_indirect_parameters(); +#endif /* GL_ARB_indirect_parameters */ +#ifdef GL_ARB_instanced_arrays + if (glewExperimental || GLEW_ARB_instanced_arrays) GLEW_ARB_instanced_arrays = !_glewInit_GL_ARB_instanced_arrays(); +#endif /* GL_ARB_instanced_arrays */ +#ifdef GL_ARB_internalformat_query + if (glewExperimental || GLEW_ARB_internalformat_query) GLEW_ARB_internalformat_query = !_glewInit_GL_ARB_internalformat_query(); +#endif /* GL_ARB_internalformat_query */ +#ifdef GL_ARB_internalformat_query2 + if (glewExperimental || GLEW_ARB_internalformat_query2) GLEW_ARB_internalformat_query2 = !_glewInit_GL_ARB_internalformat_query2(); +#endif /* GL_ARB_internalformat_query2 */ +#ifdef GL_ARB_invalidate_subdata + if (glewExperimental || GLEW_ARB_invalidate_subdata) GLEW_ARB_invalidate_subdata = !_glewInit_GL_ARB_invalidate_subdata(); +#endif /* GL_ARB_invalidate_subdata */ +#ifdef GL_ARB_map_buffer_range + if (glewExperimental || GLEW_ARB_map_buffer_range) GLEW_ARB_map_buffer_range = !_glewInit_GL_ARB_map_buffer_range(); +#endif /* GL_ARB_map_buffer_range */ +#ifdef GL_ARB_matrix_palette + if (glewExperimental || GLEW_ARB_matrix_palette) GLEW_ARB_matrix_palette = !_glewInit_GL_ARB_matrix_palette(); +#endif /* GL_ARB_matrix_palette */ +#ifdef GL_ARB_multi_bind + if (glewExperimental || GLEW_ARB_multi_bind) GLEW_ARB_multi_bind = !_glewInit_GL_ARB_multi_bind(); +#endif /* GL_ARB_multi_bind */ +#ifdef GL_ARB_multi_draw_indirect + if (glewExperimental || GLEW_ARB_multi_draw_indirect) GLEW_ARB_multi_draw_indirect = !_glewInit_GL_ARB_multi_draw_indirect(); +#endif /* GL_ARB_multi_draw_indirect */ +#ifdef GL_ARB_multisample + if (glewExperimental || GLEW_ARB_multisample) GLEW_ARB_multisample = !_glewInit_GL_ARB_multisample(); +#endif /* GL_ARB_multisample */ +#ifdef GL_ARB_multitexture + if (glewExperimental || GLEW_ARB_multitexture) GLEW_ARB_multitexture = !_glewInit_GL_ARB_multitexture(); +#endif /* GL_ARB_multitexture */ +#ifdef GL_ARB_occlusion_query + if (glewExperimental || GLEW_ARB_occlusion_query) GLEW_ARB_occlusion_query = !_glewInit_GL_ARB_occlusion_query(); +#endif /* GL_ARB_occlusion_query */ +#ifdef GL_ARB_parallel_shader_compile + if (glewExperimental || GLEW_ARB_parallel_shader_compile) GLEW_ARB_parallel_shader_compile = !_glewInit_GL_ARB_parallel_shader_compile(); +#endif /* GL_ARB_parallel_shader_compile */ +#ifdef GL_ARB_point_parameters + if (glewExperimental || GLEW_ARB_point_parameters) GLEW_ARB_point_parameters = !_glewInit_GL_ARB_point_parameters(); +#endif /* GL_ARB_point_parameters */ +#ifdef GL_ARB_polygon_offset_clamp + if (glewExperimental || GLEW_ARB_polygon_offset_clamp) GLEW_ARB_polygon_offset_clamp = !_glewInit_GL_ARB_polygon_offset_clamp(); +#endif /* GL_ARB_polygon_offset_clamp */ +#ifdef GL_ARB_program_interface_query + if (glewExperimental || GLEW_ARB_program_interface_query) GLEW_ARB_program_interface_query = !_glewInit_GL_ARB_program_interface_query(); +#endif /* GL_ARB_program_interface_query */ +#ifdef GL_ARB_provoking_vertex + if (glewExperimental || GLEW_ARB_provoking_vertex) GLEW_ARB_provoking_vertex = !_glewInit_GL_ARB_provoking_vertex(); +#endif /* GL_ARB_provoking_vertex */ +#ifdef GL_ARB_robustness + if (glewExperimental || GLEW_ARB_robustness) GLEW_ARB_robustness = !_glewInit_GL_ARB_robustness(); +#endif /* GL_ARB_robustness */ +#ifdef GL_ARB_sample_locations + if (glewExperimental || GLEW_ARB_sample_locations) GLEW_ARB_sample_locations = !_glewInit_GL_ARB_sample_locations(); +#endif /* GL_ARB_sample_locations */ +#ifdef GL_ARB_sample_shading + if (glewExperimental || GLEW_ARB_sample_shading) GLEW_ARB_sample_shading = !_glewInit_GL_ARB_sample_shading(); +#endif /* GL_ARB_sample_shading */ +#ifdef GL_ARB_sampler_objects + if (glewExperimental || GLEW_ARB_sampler_objects) GLEW_ARB_sampler_objects = !_glewInit_GL_ARB_sampler_objects(); +#endif /* GL_ARB_sampler_objects */ +#ifdef GL_ARB_separate_shader_objects + if (glewExperimental || GLEW_ARB_separate_shader_objects) GLEW_ARB_separate_shader_objects = !_glewInit_GL_ARB_separate_shader_objects(); +#endif /* GL_ARB_separate_shader_objects */ +#ifdef GL_ARB_shader_atomic_counters + if (glewExperimental || GLEW_ARB_shader_atomic_counters) GLEW_ARB_shader_atomic_counters = !_glewInit_GL_ARB_shader_atomic_counters(); +#endif /* GL_ARB_shader_atomic_counters */ +#ifdef GL_ARB_shader_image_load_store + if (glewExperimental || GLEW_ARB_shader_image_load_store) GLEW_ARB_shader_image_load_store = !_glewInit_GL_ARB_shader_image_load_store(); +#endif /* GL_ARB_shader_image_load_store */ +#ifdef GL_ARB_shader_objects + if (glewExperimental || GLEW_ARB_shader_objects) GLEW_ARB_shader_objects = !_glewInit_GL_ARB_shader_objects(); +#endif /* GL_ARB_shader_objects */ +#ifdef GL_ARB_shader_storage_buffer_object + if (glewExperimental || GLEW_ARB_shader_storage_buffer_object) GLEW_ARB_shader_storage_buffer_object = !_glewInit_GL_ARB_shader_storage_buffer_object(); +#endif /* GL_ARB_shader_storage_buffer_object */ +#ifdef GL_ARB_shader_subroutine + if (glewExperimental || GLEW_ARB_shader_subroutine) GLEW_ARB_shader_subroutine = !_glewInit_GL_ARB_shader_subroutine(); +#endif /* GL_ARB_shader_subroutine */ +#ifdef GL_ARB_shading_language_include + if (glewExperimental || GLEW_ARB_shading_language_include) GLEW_ARB_shading_language_include = !_glewInit_GL_ARB_shading_language_include(); +#endif /* GL_ARB_shading_language_include */ +#ifdef GL_ARB_sparse_buffer + if (glewExperimental || GLEW_ARB_sparse_buffer) GLEW_ARB_sparse_buffer = !_glewInit_GL_ARB_sparse_buffer(); +#endif /* GL_ARB_sparse_buffer */ +#ifdef GL_ARB_sparse_texture + if (glewExperimental || GLEW_ARB_sparse_texture) GLEW_ARB_sparse_texture = !_glewInit_GL_ARB_sparse_texture(); +#endif /* GL_ARB_sparse_texture */ +#ifdef GL_ARB_sync + if (glewExperimental || GLEW_ARB_sync) GLEW_ARB_sync = !_glewInit_GL_ARB_sync(); +#endif /* GL_ARB_sync */ +#ifdef GL_ARB_tessellation_shader + if (glewExperimental || GLEW_ARB_tessellation_shader) GLEW_ARB_tessellation_shader = !_glewInit_GL_ARB_tessellation_shader(); +#endif /* GL_ARB_tessellation_shader */ +#ifdef GL_ARB_texture_barrier + if (glewExperimental || GLEW_ARB_texture_barrier) GLEW_ARB_texture_barrier = !_glewInit_GL_ARB_texture_barrier(); +#endif /* GL_ARB_texture_barrier */ +#ifdef GL_ARB_texture_buffer_object + if (glewExperimental || GLEW_ARB_texture_buffer_object) GLEW_ARB_texture_buffer_object = !_glewInit_GL_ARB_texture_buffer_object(); +#endif /* GL_ARB_texture_buffer_object */ +#ifdef GL_ARB_texture_buffer_range + if (glewExperimental || GLEW_ARB_texture_buffer_range) GLEW_ARB_texture_buffer_range = !_glewInit_GL_ARB_texture_buffer_range(); +#endif /* GL_ARB_texture_buffer_range */ +#ifdef GL_ARB_texture_compression + if (glewExperimental || GLEW_ARB_texture_compression) GLEW_ARB_texture_compression = !_glewInit_GL_ARB_texture_compression(); +#endif /* GL_ARB_texture_compression */ +#ifdef GL_ARB_texture_multisample + if (glewExperimental || GLEW_ARB_texture_multisample) GLEW_ARB_texture_multisample = !_glewInit_GL_ARB_texture_multisample(); +#endif /* GL_ARB_texture_multisample */ +#ifdef GL_ARB_texture_storage + if (glewExperimental || GLEW_ARB_texture_storage) GLEW_ARB_texture_storage = !_glewInit_GL_ARB_texture_storage(); +#endif /* GL_ARB_texture_storage */ +#ifdef GL_ARB_texture_storage_multisample + if (glewExperimental || GLEW_ARB_texture_storage_multisample) GLEW_ARB_texture_storage_multisample = !_glewInit_GL_ARB_texture_storage_multisample(); +#endif /* GL_ARB_texture_storage_multisample */ +#ifdef GL_ARB_texture_view + if (glewExperimental || GLEW_ARB_texture_view) GLEW_ARB_texture_view = !_glewInit_GL_ARB_texture_view(); +#endif /* GL_ARB_texture_view */ +#ifdef GL_ARB_timer_query + if (glewExperimental || GLEW_ARB_timer_query) GLEW_ARB_timer_query = !_glewInit_GL_ARB_timer_query(); +#endif /* GL_ARB_timer_query */ +#ifdef GL_ARB_transform_feedback2 + if (glewExperimental || GLEW_ARB_transform_feedback2) GLEW_ARB_transform_feedback2 = !_glewInit_GL_ARB_transform_feedback2(); +#endif /* GL_ARB_transform_feedback2 */ +#ifdef GL_ARB_transform_feedback3 + if (glewExperimental || GLEW_ARB_transform_feedback3) GLEW_ARB_transform_feedback3 = !_glewInit_GL_ARB_transform_feedback3(); +#endif /* GL_ARB_transform_feedback3 */ +#ifdef GL_ARB_transform_feedback_instanced + if (glewExperimental || GLEW_ARB_transform_feedback_instanced) GLEW_ARB_transform_feedback_instanced = !_glewInit_GL_ARB_transform_feedback_instanced(); +#endif /* GL_ARB_transform_feedback_instanced */ +#ifdef GL_ARB_transpose_matrix + if (glewExperimental || GLEW_ARB_transpose_matrix) GLEW_ARB_transpose_matrix = !_glewInit_GL_ARB_transpose_matrix(); +#endif /* GL_ARB_transpose_matrix */ +#ifdef GL_ARB_uniform_buffer_object + if (glewExperimental || GLEW_ARB_uniform_buffer_object) GLEW_ARB_uniform_buffer_object = !_glewInit_GL_ARB_uniform_buffer_object(); +#endif /* GL_ARB_uniform_buffer_object */ +#ifdef GL_ARB_vertex_array_object + if (glewExperimental || GLEW_ARB_vertex_array_object) GLEW_ARB_vertex_array_object = !_glewInit_GL_ARB_vertex_array_object(); +#endif /* GL_ARB_vertex_array_object */ +#ifdef GL_ARB_vertex_attrib_64bit + if (glewExperimental || GLEW_ARB_vertex_attrib_64bit) GLEW_ARB_vertex_attrib_64bit = !_glewInit_GL_ARB_vertex_attrib_64bit(); +#endif /* GL_ARB_vertex_attrib_64bit */ +#ifdef GL_ARB_vertex_attrib_binding + if (glewExperimental || GLEW_ARB_vertex_attrib_binding) GLEW_ARB_vertex_attrib_binding = !_glewInit_GL_ARB_vertex_attrib_binding(); +#endif /* GL_ARB_vertex_attrib_binding */ +#ifdef GL_ARB_vertex_blend + if (glewExperimental || GLEW_ARB_vertex_blend) GLEW_ARB_vertex_blend = !_glewInit_GL_ARB_vertex_blend(); +#endif /* GL_ARB_vertex_blend */ +#ifdef GL_ARB_vertex_buffer_object + if (glewExperimental || GLEW_ARB_vertex_buffer_object) GLEW_ARB_vertex_buffer_object = !_glewInit_GL_ARB_vertex_buffer_object(); +#endif /* GL_ARB_vertex_buffer_object */ +#ifdef GL_ARB_vertex_program + if (glewExperimental || GLEW_ARB_vertex_program) GLEW_ARB_vertex_program = !_glewInit_GL_ARB_vertex_program(); +#endif /* GL_ARB_vertex_program */ +#ifdef GL_ARB_vertex_shader + if (glewExperimental || GLEW_ARB_vertex_shader) { GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(); _glewInit_GL_ARB_vertex_program(); } +#endif /* GL_ARB_vertex_shader */ +#ifdef GL_ARB_vertex_type_2_10_10_10_rev + if (glewExperimental || GLEW_ARB_vertex_type_2_10_10_10_rev) GLEW_ARB_vertex_type_2_10_10_10_rev = !_glewInit_GL_ARB_vertex_type_2_10_10_10_rev(); +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ +#ifdef GL_ARB_viewport_array + if (glewExperimental || GLEW_ARB_viewport_array) GLEW_ARB_viewport_array = !_glewInit_GL_ARB_viewport_array(); +#endif /* GL_ARB_viewport_array */ +#ifdef GL_ARB_window_pos + if (glewExperimental || GLEW_ARB_window_pos) GLEW_ARB_window_pos = !_glewInit_GL_ARB_window_pos(); +#endif /* GL_ARB_window_pos */ +#ifdef GL_ATI_draw_buffers + if (glewExperimental || GLEW_ATI_draw_buffers) GLEW_ATI_draw_buffers = !_glewInit_GL_ATI_draw_buffers(); +#endif /* GL_ATI_draw_buffers */ +#ifdef GL_ATI_element_array + if (glewExperimental || GLEW_ATI_element_array) GLEW_ATI_element_array = !_glewInit_GL_ATI_element_array(); +#endif /* GL_ATI_element_array */ +#ifdef GL_ATI_envmap_bumpmap + if (glewExperimental || GLEW_ATI_envmap_bumpmap) GLEW_ATI_envmap_bumpmap = !_glewInit_GL_ATI_envmap_bumpmap(); +#endif /* GL_ATI_envmap_bumpmap */ +#ifdef GL_ATI_fragment_shader + if (glewExperimental || GLEW_ATI_fragment_shader) GLEW_ATI_fragment_shader = !_glewInit_GL_ATI_fragment_shader(); +#endif /* GL_ATI_fragment_shader */ +#ifdef GL_ATI_map_object_buffer + if (glewExperimental || GLEW_ATI_map_object_buffer) GLEW_ATI_map_object_buffer = !_glewInit_GL_ATI_map_object_buffer(); +#endif /* GL_ATI_map_object_buffer */ +#ifdef GL_ATI_pn_triangles + if (glewExperimental || GLEW_ATI_pn_triangles) GLEW_ATI_pn_triangles = !_glewInit_GL_ATI_pn_triangles(); +#endif /* GL_ATI_pn_triangles */ +#ifdef GL_ATI_separate_stencil + if (glewExperimental || GLEW_ATI_separate_stencil) GLEW_ATI_separate_stencil = !_glewInit_GL_ATI_separate_stencil(); +#endif /* GL_ATI_separate_stencil */ +#ifdef GL_ATI_vertex_array_object + if (glewExperimental || GLEW_ATI_vertex_array_object) GLEW_ATI_vertex_array_object = !_glewInit_GL_ATI_vertex_array_object(); +#endif /* GL_ATI_vertex_array_object */ +#ifdef GL_ATI_vertex_attrib_array_object + if (glewExperimental || GLEW_ATI_vertex_attrib_array_object) GLEW_ATI_vertex_attrib_array_object = !_glewInit_GL_ATI_vertex_attrib_array_object(); +#endif /* GL_ATI_vertex_attrib_array_object */ +#ifdef GL_ATI_vertex_streams + if (glewExperimental || GLEW_ATI_vertex_streams) GLEW_ATI_vertex_streams = !_glewInit_GL_ATI_vertex_streams(); +#endif /* GL_ATI_vertex_streams */ +#ifdef GL_EXT_base_instance + if (glewExperimental || GLEW_EXT_base_instance) GLEW_EXT_base_instance = !_glewInit_GL_EXT_base_instance(); +#endif /* GL_EXT_base_instance */ +#ifdef GL_EXT_bindable_uniform + if (glewExperimental || GLEW_EXT_bindable_uniform) GLEW_EXT_bindable_uniform = !_glewInit_GL_EXT_bindable_uniform(); +#endif /* GL_EXT_bindable_uniform */ +#ifdef GL_EXT_blend_color + if (glewExperimental || GLEW_EXT_blend_color) GLEW_EXT_blend_color = !_glewInit_GL_EXT_blend_color(); +#endif /* GL_EXT_blend_color */ +#ifdef GL_EXT_blend_equation_separate + if (glewExperimental || GLEW_EXT_blend_equation_separate) GLEW_EXT_blend_equation_separate = !_glewInit_GL_EXT_blend_equation_separate(); +#endif /* GL_EXT_blend_equation_separate */ +#ifdef GL_EXT_blend_func_extended + if (glewExperimental || GLEW_EXT_blend_func_extended) GLEW_EXT_blend_func_extended = !_glewInit_GL_EXT_blend_func_extended(); +#endif /* GL_EXT_blend_func_extended */ +#ifdef GL_EXT_blend_func_separate + if (glewExperimental || GLEW_EXT_blend_func_separate) GLEW_EXT_blend_func_separate = !_glewInit_GL_EXT_blend_func_separate(); +#endif /* GL_EXT_blend_func_separate */ +#ifdef GL_EXT_blend_minmax + if (glewExperimental || GLEW_EXT_blend_minmax) GLEW_EXT_blend_minmax = !_glewInit_GL_EXT_blend_minmax(); +#endif /* GL_EXT_blend_minmax */ +#ifdef GL_EXT_buffer_storage + if (glewExperimental || GLEW_EXT_buffer_storage) GLEW_EXT_buffer_storage = !_glewInit_GL_EXT_buffer_storage(); +#endif /* GL_EXT_buffer_storage */ +#ifdef GL_EXT_clear_texture + if (glewExperimental || GLEW_EXT_clear_texture) GLEW_EXT_clear_texture = !_glewInit_GL_EXT_clear_texture(); +#endif /* GL_EXT_clear_texture */ +#ifdef GL_EXT_color_subtable + if (glewExperimental || GLEW_EXT_color_subtable) GLEW_EXT_color_subtable = !_glewInit_GL_EXT_color_subtable(); +#endif /* GL_EXT_color_subtable */ +#ifdef GL_EXT_compiled_vertex_array + if (glewExperimental || GLEW_EXT_compiled_vertex_array) GLEW_EXT_compiled_vertex_array = !_glewInit_GL_EXT_compiled_vertex_array(); +#endif /* GL_EXT_compiled_vertex_array */ +#ifdef GL_EXT_convolution + if (glewExperimental || GLEW_EXT_convolution) GLEW_EXT_convolution = !_glewInit_GL_EXT_convolution(); +#endif /* GL_EXT_convolution */ +#ifdef GL_EXT_coordinate_frame + if (glewExperimental || GLEW_EXT_coordinate_frame) GLEW_EXT_coordinate_frame = !_glewInit_GL_EXT_coordinate_frame(); +#endif /* GL_EXT_coordinate_frame */ +#ifdef GL_EXT_copy_image + if (glewExperimental || GLEW_EXT_copy_image) GLEW_EXT_copy_image = !_glewInit_GL_EXT_copy_image(); +#endif /* GL_EXT_copy_image */ +#ifdef GL_EXT_copy_texture + if (glewExperimental || GLEW_EXT_copy_texture) GLEW_EXT_copy_texture = !_glewInit_GL_EXT_copy_texture(); +#endif /* GL_EXT_copy_texture */ +#ifdef GL_EXT_cull_vertex + if (glewExperimental || GLEW_EXT_cull_vertex) GLEW_EXT_cull_vertex = !_glewInit_GL_EXT_cull_vertex(); +#endif /* GL_EXT_cull_vertex */ +#ifdef GL_EXT_debug_label + if (glewExperimental || GLEW_EXT_debug_label) GLEW_EXT_debug_label = !_glewInit_GL_EXT_debug_label(); +#endif /* GL_EXT_debug_label */ +#ifdef GL_EXT_debug_marker + if (glewExperimental || GLEW_EXT_debug_marker) GLEW_EXT_debug_marker = !_glewInit_GL_EXT_debug_marker(); +#endif /* GL_EXT_debug_marker */ +#ifdef GL_EXT_depth_bounds_test + if (glewExperimental || GLEW_EXT_depth_bounds_test) GLEW_EXT_depth_bounds_test = !_glewInit_GL_EXT_depth_bounds_test(); +#endif /* GL_EXT_depth_bounds_test */ +#ifdef GL_EXT_direct_state_access + if (glewExperimental || GLEW_EXT_direct_state_access) GLEW_EXT_direct_state_access = !_glewInit_GL_EXT_direct_state_access(); +#endif /* GL_EXT_direct_state_access */ +#ifdef GL_EXT_discard_framebuffer + if (glewExperimental || GLEW_EXT_discard_framebuffer) GLEW_EXT_discard_framebuffer = !_glewInit_GL_EXT_discard_framebuffer(); +#endif /* GL_EXT_discard_framebuffer */ +#ifdef GL_EXT_draw_buffers + if (glewExperimental || GLEW_EXT_draw_buffers) GLEW_EXT_draw_buffers = !_glewInit_GL_EXT_draw_buffers(); +#endif /* GL_EXT_draw_buffers */ +#ifdef GL_EXT_draw_buffers2 + if (glewExperimental || GLEW_EXT_draw_buffers2) GLEW_EXT_draw_buffers2 = !_glewInit_GL_EXT_draw_buffers2(); +#endif /* GL_EXT_draw_buffers2 */ +#ifdef GL_EXT_draw_buffers_indexed + if (glewExperimental || GLEW_EXT_draw_buffers_indexed) GLEW_EXT_draw_buffers_indexed = !_glewInit_GL_EXT_draw_buffers_indexed(); +#endif /* GL_EXT_draw_buffers_indexed */ +#ifdef GL_EXT_draw_elements_base_vertex + if (glewExperimental || GLEW_EXT_draw_elements_base_vertex) GLEW_EXT_draw_elements_base_vertex = !_glewInit_GL_EXT_draw_elements_base_vertex(); +#endif /* GL_EXT_draw_elements_base_vertex */ +#ifdef GL_EXT_draw_instanced + if (glewExperimental || GLEW_EXT_draw_instanced) GLEW_EXT_draw_instanced = !_glewInit_GL_EXT_draw_instanced(); +#endif /* GL_EXT_draw_instanced */ +#ifdef GL_EXT_draw_range_elements + if (glewExperimental || GLEW_EXT_draw_range_elements) GLEW_EXT_draw_range_elements = !_glewInit_GL_EXT_draw_range_elements(); +#endif /* GL_EXT_draw_range_elements */ +#ifdef GL_EXT_external_buffer + if (glewExperimental || GLEW_EXT_external_buffer) GLEW_EXT_external_buffer = !_glewInit_GL_EXT_external_buffer(); +#endif /* GL_EXT_external_buffer */ +#ifdef GL_EXT_fog_coord + if (glewExperimental || GLEW_EXT_fog_coord) GLEW_EXT_fog_coord = !_glewInit_GL_EXT_fog_coord(); +#endif /* GL_EXT_fog_coord */ +#ifdef GL_EXT_fragment_lighting + if (glewExperimental || GLEW_EXT_fragment_lighting) GLEW_EXT_fragment_lighting = !_glewInit_GL_EXT_fragment_lighting(); +#endif /* GL_EXT_fragment_lighting */ +#ifdef GL_EXT_framebuffer_blit + if (glewExperimental || GLEW_EXT_framebuffer_blit) GLEW_EXT_framebuffer_blit = !_glewInit_GL_EXT_framebuffer_blit(); +#endif /* GL_EXT_framebuffer_blit */ +#ifdef GL_EXT_framebuffer_multisample + if (glewExperimental || GLEW_EXT_framebuffer_multisample) GLEW_EXT_framebuffer_multisample = !_glewInit_GL_EXT_framebuffer_multisample(); +#endif /* GL_EXT_framebuffer_multisample */ +#ifdef GL_EXT_framebuffer_object + if (glewExperimental || GLEW_EXT_framebuffer_object) GLEW_EXT_framebuffer_object = !_glewInit_GL_EXT_framebuffer_object(); +#endif /* GL_EXT_framebuffer_object */ +#ifdef GL_EXT_geometry_shader4 + if (glewExperimental || GLEW_EXT_geometry_shader4) GLEW_EXT_geometry_shader4 = !_glewInit_GL_EXT_geometry_shader4(); +#endif /* GL_EXT_geometry_shader4 */ +#ifdef GL_EXT_gpu_program_parameters + if (glewExperimental || GLEW_EXT_gpu_program_parameters) GLEW_EXT_gpu_program_parameters = !_glewInit_GL_EXT_gpu_program_parameters(); +#endif /* GL_EXT_gpu_program_parameters */ +#ifdef GL_EXT_gpu_shader4 + if (glewExperimental || GLEW_EXT_gpu_shader4) GLEW_EXT_gpu_shader4 = !_glewInit_GL_EXT_gpu_shader4(); +#endif /* GL_EXT_gpu_shader4 */ +#ifdef GL_EXT_histogram + if (glewExperimental || GLEW_EXT_histogram) GLEW_EXT_histogram = !_glewInit_GL_EXT_histogram(); +#endif /* GL_EXT_histogram */ +#ifdef GL_EXT_index_func + if (glewExperimental || GLEW_EXT_index_func) GLEW_EXT_index_func = !_glewInit_GL_EXT_index_func(); +#endif /* GL_EXT_index_func */ +#ifdef GL_EXT_index_material + if (glewExperimental || GLEW_EXT_index_material) GLEW_EXT_index_material = !_glewInit_GL_EXT_index_material(); +#endif /* GL_EXT_index_material */ +#ifdef GL_EXT_instanced_arrays + if (glewExperimental || GLEW_EXT_instanced_arrays) GLEW_EXT_instanced_arrays = !_glewInit_GL_EXT_instanced_arrays(); +#endif /* GL_EXT_instanced_arrays */ +#ifdef GL_EXT_light_texture + if (glewExperimental || GLEW_EXT_light_texture) GLEW_EXT_light_texture = !_glewInit_GL_EXT_light_texture(); +#endif /* GL_EXT_light_texture */ +#ifdef GL_EXT_map_buffer_range + if (glewExperimental || GLEW_EXT_map_buffer_range) GLEW_EXT_map_buffer_range = !_glewInit_GL_EXT_map_buffer_range(); +#endif /* GL_EXT_map_buffer_range */ +#ifdef GL_EXT_memory_object + if (glewExperimental || GLEW_EXT_memory_object) GLEW_EXT_memory_object = !_glewInit_GL_EXT_memory_object(); +#endif /* GL_EXT_memory_object */ +#ifdef GL_EXT_memory_object_fd + if (glewExperimental || GLEW_EXT_memory_object_fd) GLEW_EXT_memory_object_fd = !_glewInit_GL_EXT_memory_object_fd(); +#endif /* GL_EXT_memory_object_fd */ +#ifdef GL_EXT_memory_object_win32 + if (glewExperimental || GLEW_EXT_memory_object_win32) GLEW_EXT_memory_object_win32 = !_glewInit_GL_EXT_memory_object_win32(); +#endif /* GL_EXT_memory_object_win32 */ +#ifdef GL_EXT_multi_draw_arrays + if (glewExperimental || GLEW_EXT_multi_draw_arrays) GLEW_EXT_multi_draw_arrays = !_glewInit_GL_EXT_multi_draw_arrays(); +#endif /* GL_EXT_multi_draw_arrays */ +#ifdef GL_EXT_multi_draw_indirect + if (glewExperimental || GLEW_EXT_multi_draw_indirect) GLEW_EXT_multi_draw_indirect = !_glewInit_GL_EXT_multi_draw_indirect(); +#endif /* GL_EXT_multi_draw_indirect */ +#ifdef GL_EXT_multisample + if (glewExperimental || GLEW_EXT_multisample) GLEW_EXT_multisample = !_glewInit_GL_EXT_multisample(); +#endif /* GL_EXT_multisample */ +#ifdef GL_EXT_multisampled_render_to_texture + if (glewExperimental || GLEW_EXT_multisampled_render_to_texture) GLEW_EXT_multisampled_render_to_texture = !_glewInit_GL_EXT_multisampled_render_to_texture(); +#endif /* GL_EXT_multisampled_render_to_texture */ +#ifdef GL_EXT_multiview_draw_buffers + if (glewExperimental || GLEW_EXT_multiview_draw_buffers) GLEW_EXT_multiview_draw_buffers = !_glewInit_GL_EXT_multiview_draw_buffers(); +#endif /* GL_EXT_multiview_draw_buffers */ +#ifdef GL_EXT_paletted_texture + if (glewExperimental || GLEW_EXT_paletted_texture) GLEW_EXT_paletted_texture = !_glewInit_GL_EXT_paletted_texture(); +#endif /* GL_EXT_paletted_texture */ +#ifdef GL_EXT_pixel_transform + if (glewExperimental || GLEW_EXT_pixel_transform) GLEW_EXT_pixel_transform = !_glewInit_GL_EXT_pixel_transform(); +#endif /* GL_EXT_pixel_transform */ +#ifdef GL_EXT_point_parameters + if (glewExperimental || GLEW_EXT_point_parameters) GLEW_EXT_point_parameters = !_glewInit_GL_EXT_point_parameters(); +#endif /* GL_EXT_point_parameters */ +#ifdef GL_EXT_polygon_offset + if (glewExperimental || GLEW_EXT_polygon_offset) GLEW_EXT_polygon_offset = !_glewInit_GL_EXT_polygon_offset(); +#endif /* GL_EXT_polygon_offset */ +#ifdef GL_EXT_polygon_offset_clamp + if (glewExperimental || GLEW_EXT_polygon_offset_clamp) GLEW_EXT_polygon_offset_clamp = !_glewInit_GL_EXT_polygon_offset_clamp(); +#endif /* GL_EXT_polygon_offset_clamp */ +#ifdef GL_EXT_provoking_vertex + if (glewExperimental || GLEW_EXT_provoking_vertex) GLEW_EXT_provoking_vertex = !_glewInit_GL_EXT_provoking_vertex(); +#endif /* GL_EXT_provoking_vertex */ +#ifdef GL_EXT_raster_multisample + if (glewExperimental || GLEW_EXT_raster_multisample) GLEW_EXT_raster_multisample = !_glewInit_GL_EXT_raster_multisample(); +#endif /* GL_EXT_raster_multisample */ +#ifdef GL_EXT_scene_marker + if (glewExperimental || GLEW_EXT_scene_marker) GLEW_EXT_scene_marker = !_glewInit_GL_EXT_scene_marker(); +#endif /* GL_EXT_scene_marker */ +#ifdef GL_EXT_secondary_color + if (glewExperimental || GLEW_EXT_secondary_color) GLEW_EXT_secondary_color = !_glewInit_GL_EXT_secondary_color(); +#endif /* GL_EXT_secondary_color */ +#ifdef GL_EXT_semaphore + if (glewExperimental || GLEW_EXT_semaphore) GLEW_EXT_semaphore = !_glewInit_GL_EXT_semaphore(); +#endif /* GL_EXT_semaphore */ +#ifdef GL_EXT_semaphore_fd + if (glewExperimental || GLEW_EXT_semaphore_fd) GLEW_EXT_semaphore_fd = !_glewInit_GL_EXT_semaphore_fd(); +#endif /* GL_EXT_semaphore_fd */ +#ifdef GL_EXT_semaphore_win32 + if (glewExperimental || GLEW_EXT_semaphore_win32) GLEW_EXT_semaphore_win32 = !_glewInit_GL_EXT_semaphore_win32(); +#endif /* GL_EXT_semaphore_win32 */ +#ifdef GL_EXT_separate_shader_objects + if (glewExperimental || GLEW_EXT_separate_shader_objects) GLEW_EXT_separate_shader_objects = !_glewInit_GL_EXT_separate_shader_objects(); +#endif /* GL_EXT_separate_shader_objects */ +#ifdef GL_EXT_shader_image_load_store + if (glewExperimental || GLEW_EXT_shader_image_load_store) GLEW_EXT_shader_image_load_store = !_glewInit_GL_EXT_shader_image_load_store(); +#endif /* GL_EXT_shader_image_load_store */ +#ifdef GL_EXT_shader_pixel_local_storage2 + if (glewExperimental || GLEW_EXT_shader_pixel_local_storage2) GLEW_EXT_shader_pixel_local_storage2 = !_glewInit_GL_EXT_shader_pixel_local_storage2(); +#endif /* GL_EXT_shader_pixel_local_storage2 */ +#ifdef GL_EXT_sparse_texture + if (glewExperimental || GLEW_EXT_sparse_texture) GLEW_EXT_sparse_texture = !_glewInit_GL_EXT_sparse_texture(); +#endif /* GL_EXT_sparse_texture */ +#ifdef GL_EXT_stencil_two_side + if (glewExperimental || GLEW_EXT_stencil_two_side) GLEW_EXT_stencil_two_side = !_glewInit_GL_EXT_stencil_two_side(); +#endif /* GL_EXT_stencil_two_side */ +#ifdef GL_EXT_subtexture + if (glewExperimental || GLEW_EXT_subtexture) GLEW_EXT_subtexture = !_glewInit_GL_EXT_subtexture(); +#endif /* GL_EXT_subtexture */ +#ifdef GL_EXT_texture3D + if (glewExperimental || GLEW_EXT_texture3D) GLEW_EXT_texture3D = !_glewInit_GL_EXT_texture3D(); +#endif /* GL_EXT_texture3D */ +#ifdef GL_EXT_texture_array + if (glewExperimental || GLEW_EXT_texture_array) GLEW_EXT_texture_array = !_glewInit_GL_EXT_texture_array(); +#endif /* GL_EXT_texture_array */ +#ifdef GL_EXT_texture_buffer_object + if (glewExperimental || GLEW_EXT_texture_buffer_object) GLEW_EXT_texture_buffer_object = !_glewInit_GL_EXT_texture_buffer_object(); +#endif /* GL_EXT_texture_buffer_object */ +#ifdef GL_EXT_texture_integer + if (glewExperimental || GLEW_EXT_texture_integer) GLEW_EXT_texture_integer = !_glewInit_GL_EXT_texture_integer(); +#endif /* GL_EXT_texture_integer */ +#ifdef GL_EXT_texture_object + if (glewExperimental || GLEW_EXT_texture_object) GLEW_EXT_texture_object = !_glewInit_GL_EXT_texture_object(); +#endif /* GL_EXT_texture_object */ +#ifdef GL_EXT_texture_perturb_normal + if (glewExperimental || GLEW_EXT_texture_perturb_normal) GLEW_EXT_texture_perturb_normal = !_glewInit_GL_EXT_texture_perturb_normal(); +#endif /* GL_EXT_texture_perturb_normal */ +#ifdef GL_EXT_texture_storage + if (glewExperimental || GLEW_EXT_texture_storage) GLEW_EXT_texture_storage = !_glewInit_GL_EXT_texture_storage(); +#endif /* GL_EXT_texture_storage */ +#ifdef GL_EXT_texture_view + if (glewExperimental || GLEW_EXT_texture_view) GLEW_EXT_texture_view = !_glewInit_GL_EXT_texture_view(); +#endif /* GL_EXT_texture_view */ +#ifdef GL_EXT_timer_query + if (glewExperimental || GLEW_EXT_timer_query) GLEW_EXT_timer_query = !_glewInit_GL_EXT_timer_query(); +#endif /* GL_EXT_timer_query */ +#ifdef GL_EXT_transform_feedback + if (glewExperimental || GLEW_EXT_transform_feedback) GLEW_EXT_transform_feedback = !_glewInit_GL_EXT_transform_feedback(); +#endif /* GL_EXT_transform_feedback */ +#ifdef GL_EXT_vertex_array + if (glewExperimental || GLEW_EXT_vertex_array) GLEW_EXT_vertex_array = !_glewInit_GL_EXT_vertex_array(); +#endif /* GL_EXT_vertex_array */ +#ifdef GL_EXT_vertex_array_setXXX + if (glewExperimental || GLEW_EXT_vertex_array_setXXX) GLEW_EXT_vertex_array_setXXX = !_glewInit_GL_EXT_vertex_array_setXXX(); +#endif /* GL_EXT_vertex_array_setXXX */ +#ifdef GL_EXT_vertex_attrib_64bit + if (glewExperimental || GLEW_EXT_vertex_attrib_64bit) GLEW_EXT_vertex_attrib_64bit = !_glewInit_GL_EXT_vertex_attrib_64bit(); +#endif /* GL_EXT_vertex_attrib_64bit */ +#ifdef GL_EXT_vertex_shader + if (glewExperimental || GLEW_EXT_vertex_shader) GLEW_EXT_vertex_shader = !_glewInit_GL_EXT_vertex_shader(); +#endif /* GL_EXT_vertex_shader */ +#ifdef GL_EXT_vertex_weighting + if (glewExperimental || GLEW_EXT_vertex_weighting) GLEW_EXT_vertex_weighting = !_glewInit_GL_EXT_vertex_weighting(); +#endif /* GL_EXT_vertex_weighting */ +#ifdef GL_EXT_win32_keyed_mutex + if (glewExperimental || GLEW_EXT_win32_keyed_mutex) GLEW_EXT_win32_keyed_mutex = !_glewInit_GL_EXT_win32_keyed_mutex(); +#endif /* GL_EXT_win32_keyed_mutex */ +#ifdef GL_EXT_window_rectangles + if (glewExperimental || GLEW_EXT_window_rectangles) GLEW_EXT_window_rectangles = !_glewInit_GL_EXT_window_rectangles(); +#endif /* GL_EXT_window_rectangles */ +#ifdef GL_EXT_x11_sync_object + if (glewExperimental || GLEW_EXT_x11_sync_object) GLEW_EXT_x11_sync_object = !_glewInit_GL_EXT_x11_sync_object(); +#endif /* GL_EXT_x11_sync_object */ +#ifdef GL_GREMEDY_frame_terminator + if (glewExperimental || GLEW_GREMEDY_frame_terminator) GLEW_GREMEDY_frame_terminator = !_glewInit_GL_GREMEDY_frame_terminator(); +#endif /* GL_GREMEDY_frame_terminator */ +#ifdef GL_GREMEDY_string_marker + if (glewExperimental || GLEW_GREMEDY_string_marker) GLEW_GREMEDY_string_marker = !_glewInit_GL_GREMEDY_string_marker(); +#endif /* GL_GREMEDY_string_marker */ +#ifdef GL_HP_image_transform + if (glewExperimental || GLEW_HP_image_transform) GLEW_HP_image_transform = !_glewInit_GL_HP_image_transform(); +#endif /* GL_HP_image_transform */ +#ifdef GL_IBM_multimode_draw_arrays + if (glewExperimental || GLEW_IBM_multimode_draw_arrays) GLEW_IBM_multimode_draw_arrays = !_glewInit_GL_IBM_multimode_draw_arrays(); +#endif /* GL_IBM_multimode_draw_arrays */ +#ifdef GL_IBM_vertex_array_lists + if (glewExperimental || GLEW_IBM_vertex_array_lists) GLEW_IBM_vertex_array_lists = !_glewInit_GL_IBM_vertex_array_lists(); +#endif /* GL_IBM_vertex_array_lists */ +#ifdef GL_INTEL_map_texture + if (glewExperimental || GLEW_INTEL_map_texture) GLEW_INTEL_map_texture = !_glewInit_GL_INTEL_map_texture(); +#endif /* GL_INTEL_map_texture */ +#ifdef GL_INTEL_parallel_arrays + if (glewExperimental || GLEW_INTEL_parallel_arrays) GLEW_INTEL_parallel_arrays = !_glewInit_GL_INTEL_parallel_arrays(); +#endif /* GL_INTEL_parallel_arrays */ +#ifdef GL_INTEL_performance_query + if (glewExperimental || GLEW_INTEL_performance_query) GLEW_INTEL_performance_query = !_glewInit_GL_INTEL_performance_query(); +#endif /* GL_INTEL_performance_query */ +#ifdef GL_INTEL_texture_scissor + if (glewExperimental || GLEW_INTEL_texture_scissor) GLEW_INTEL_texture_scissor = !_glewInit_GL_INTEL_texture_scissor(); +#endif /* GL_INTEL_texture_scissor */ +#ifdef GL_KHR_blend_equation_advanced + if (glewExperimental || GLEW_KHR_blend_equation_advanced) GLEW_KHR_blend_equation_advanced = !_glewInit_GL_KHR_blend_equation_advanced(); +#endif /* GL_KHR_blend_equation_advanced */ +#ifdef GL_KHR_debug + if (glewExperimental || GLEW_KHR_debug) GLEW_KHR_debug = !_glewInit_GL_KHR_debug(); +#endif /* GL_KHR_debug */ +#ifdef GL_KHR_parallel_shader_compile + if (glewExperimental || GLEW_KHR_parallel_shader_compile) GLEW_KHR_parallel_shader_compile = !_glewInit_GL_KHR_parallel_shader_compile(); +#endif /* GL_KHR_parallel_shader_compile */ +#ifdef GL_KHR_robustness + if (glewExperimental || GLEW_KHR_robustness) GLEW_KHR_robustness = !_glewInit_GL_KHR_robustness(); +#endif /* GL_KHR_robustness */ +#ifdef GL_KTX_buffer_region + if (glewExperimental || GLEW_KTX_buffer_region) GLEW_KTX_buffer_region = !_glewInit_GL_KTX_buffer_region(); +#endif /* GL_KTX_buffer_region */ +#ifdef GL_MESA_resize_buffers + if (glewExperimental || GLEW_MESA_resize_buffers) GLEW_MESA_resize_buffers = !_glewInit_GL_MESA_resize_buffers(); +#endif /* GL_MESA_resize_buffers */ +#ifdef GL_MESA_window_pos + if (glewExperimental || GLEW_MESA_window_pos) GLEW_MESA_window_pos = !_glewInit_GL_MESA_window_pos(); +#endif /* GL_MESA_window_pos */ +#ifdef GL_NVX_conditional_render + if (glewExperimental || GLEW_NVX_conditional_render) GLEW_NVX_conditional_render = !_glewInit_GL_NVX_conditional_render(); +#endif /* GL_NVX_conditional_render */ +#ifdef GL_NVX_linked_gpu_multicast + if (glewExperimental || GLEW_NVX_linked_gpu_multicast) GLEW_NVX_linked_gpu_multicast = !_glewInit_GL_NVX_linked_gpu_multicast(); +#endif /* GL_NVX_linked_gpu_multicast */ +#ifdef GL_NV_3dvision_settings + if (glewExperimental || GLEW_NV_3dvision_settings) GLEW_NV_3dvision_settings = !_glewInit_GL_NV_3dvision_settings(); +#endif /* GL_NV_3dvision_settings */ +#ifdef GL_NV_bindless_multi_draw_indirect + if (glewExperimental || GLEW_NV_bindless_multi_draw_indirect) GLEW_NV_bindless_multi_draw_indirect = !_glewInit_GL_NV_bindless_multi_draw_indirect(); +#endif /* GL_NV_bindless_multi_draw_indirect */ +#ifdef GL_NV_bindless_multi_draw_indirect_count + if (glewExperimental || GLEW_NV_bindless_multi_draw_indirect_count) GLEW_NV_bindless_multi_draw_indirect_count = !_glewInit_GL_NV_bindless_multi_draw_indirect_count(); +#endif /* GL_NV_bindless_multi_draw_indirect_count */ +#ifdef GL_NV_bindless_texture + if (glewExperimental || GLEW_NV_bindless_texture) GLEW_NV_bindless_texture = !_glewInit_GL_NV_bindless_texture(); +#endif /* GL_NV_bindless_texture */ +#ifdef GL_NV_blend_equation_advanced + if (glewExperimental || GLEW_NV_blend_equation_advanced) GLEW_NV_blend_equation_advanced = !_glewInit_GL_NV_blend_equation_advanced(); +#endif /* GL_NV_blend_equation_advanced */ +#ifdef GL_NV_clip_space_w_scaling + if (glewExperimental || GLEW_NV_clip_space_w_scaling) GLEW_NV_clip_space_w_scaling = !_glewInit_GL_NV_clip_space_w_scaling(); +#endif /* GL_NV_clip_space_w_scaling */ +#ifdef GL_NV_command_list + if (glewExperimental || GLEW_NV_command_list) GLEW_NV_command_list = !_glewInit_GL_NV_command_list(); +#endif /* GL_NV_command_list */ +#ifdef GL_NV_conditional_render + if (glewExperimental || GLEW_NV_conditional_render) GLEW_NV_conditional_render = !_glewInit_GL_NV_conditional_render(); +#endif /* GL_NV_conditional_render */ +#ifdef GL_NV_conservative_raster + if (glewExperimental || GLEW_NV_conservative_raster) GLEW_NV_conservative_raster = !_glewInit_GL_NV_conservative_raster(); +#endif /* GL_NV_conservative_raster */ +#ifdef GL_NV_conservative_raster_dilate + if (glewExperimental || GLEW_NV_conservative_raster_dilate) GLEW_NV_conservative_raster_dilate = !_glewInit_GL_NV_conservative_raster_dilate(); +#endif /* GL_NV_conservative_raster_dilate */ +#ifdef GL_NV_conservative_raster_pre_snap_triangles + if (glewExperimental || GLEW_NV_conservative_raster_pre_snap_triangles) GLEW_NV_conservative_raster_pre_snap_triangles = !_glewInit_GL_NV_conservative_raster_pre_snap_triangles(); +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ +#ifdef GL_NV_copy_buffer + if (glewExperimental || GLEW_NV_copy_buffer) GLEW_NV_copy_buffer = !_glewInit_GL_NV_copy_buffer(); +#endif /* GL_NV_copy_buffer */ +#ifdef GL_NV_copy_image + if (glewExperimental || GLEW_NV_copy_image) GLEW_NV_copy_image = !_glewInit_GL_NV_copy_image(); +#endif /* GL_NV_copy_image */ +#ifdef GL_NV_depth_buffer_float + if (glewExperimental || GLEW_NV_depth_buffer_float) GLEW_NV_depth_buffer_float = !_glewInit_GL_NV_depth_buffer_float(); +#endif /* GL_NV_depth_buffer_float */ +#ifdef GL_NV_draw_buffers + if (glewExperimental || GLEW_NV_draw_buffers) GLEW_NV_draw_buffers = !_glewInit_GL_NV_draw_buffers(); +#endif /* GL_NV_draw_buffers */ +#ifdef GL_NV_draw_instanced + if (glewExperimental || GLEW_NV_draw_instanced) GLEW_NV_draw_instanced = !_glewInit_GL_NV_draw_instanced(); +#endif /* GL_NV_draw_instanced */ +#ifdef GL_NV_draw_texture + if (glewExperimental || GLEW_NV_draw_texture) GLEW_NV_draw_texture = !_glewInit_GL_NV_draw_texture(); +#endif /* GL_NV_draw_texture */ +#ifdef GL_NV_draw_vulkan_image + if (glewExperimental || GLEW_NV_draw_vulkan_image) GLEW_NV_draw_vulkan_image = !_glewInit_GL_NV_draw_vulkan_image(); +#endif /* GL_NV_draw_vulkan_image */ +#ifdef GL_NV_evaluators + if (glewExperimental || GLEW_NV_evaluators) GLEW_NV_evaluators = !_glewInit_GL_NV_evaluators(); +#endif /* GL_NV_evaluators */ +#ifdef GL_NV_explicit_multisample + if (glewExperimental || GLEW_NV_explicit_multisample) GLEW_NV_explicit_multisample = !_glewInit_GL_NV_explicit_multisample(); +#endif /* GL_NV_explicit_multisample */ +#ifdef GL_NV_fence + if (glewExperimental || GLEW_NV_fence) GLEW_NV_fence = !_glewInit_GL_NV_fence(); +#endif /* GL_NV_fence */ +#ifdef GL_NV_fragment_coverage_to_color + if (glewExperimental || GLEW_NV_fragment_coverage_to_color) GLEW_NV_fragment_coverage_to_color = !_glewInit_GL_NV_fragment_coverage_to_color(); +#endif /* GL_NV_fragment_coverage_to_color */ +#ifdef GL_NV_fragment_program + if (glewExperimental || GLEW_NV_fragment_program) GLEW_NV_fragment_program = !_glewInit_GL_NV_fragment_program(); +#endif /* GL_NV_fragment_program */ +#ifdef GL_NV_framebuffer_blit + if (glewExperimental || GLEW_NV_framebuffer_blit) GLEW_NV_framebuffer_blit = !_glewInit_GL_NV_framebuffer_blit(); +#endif /* GL_NV_framebuffer_blit */ +#ifdef GL_NV_framebuffer_multisample + if (glewExperimental || GLEW_NV_framebuffer_multisample) GLEW_NV_framebuffer_multisample = !_glewInit_GL_NV_framebuffer_multisample(); +#endif /* GL_NV_framebuffer_multisample */ +#ifdef GL_NV_framebuffer_multisample_coverage + if (glewExperimental || GLEW_NV_framebuffer_multisample_coverage) GLEW_NV_framebuffer_multisample_coverage = !_glewInit_GL_NV_framebuffer_multisample_coverage(); +#endif /* GL_NV_framebuffer_multisample_coverage */ +#ifdef GL_NV_geometry_program4 + if (glewExperimental || GLEW_NV_geometry_program4) GLEW_NV_geometry_program4 = !_glewInit_GL_NV_geometry_program4(); +#endif /* GL_NV_geometry_program4 */ +#ifdef GL_NV_gpu_multicast + if (glewExperimental || GLEW_NV_gpu_multicast) GLEW_NV_gpu_multicast = !_glewInit_GL_NV_gpu_multicast(); +#endif /* GL_NV_gpu_multicast */ +#ifdef GL_NV_gpu_program4 + if (glewExperimental || GLEW_NV_gpu_program4) GLEW_NV_gpu_program4 = !_glewInit_GL_NV_gpu_program4(); +#endif /* GL_NV_gpu_program4 */ +#ifdef GL_NV_gpu_shader5 + if (glewExperimental || GLEW_NV_gpu_shader5) GLEW_NV_gpu_shader5 = !_glewInit_GL_NV_gpu_shader5(); +#endif /* GL_NV_gpu_shader5 */ +#ifdef GL_NV_half_float + if (glewExperimental || GLEW_NV_half_float) GLEW_NV_half_float = !_glewInit_GL_NV_half_float(); +#endif /* GL_NV_half_float */ +#ifdef GL_NV_instanced_arrays + if (glewExperimental || GLEW_NV_instanced_arrays) GLEW_NV_instanced_arrays = !_glewInit_GL_NV_instanced_arrays(); +#endif /* GL_NV_instanced_arrays */ +#ifdef GL_NV_internalformat_sample_query + if (glewExperimental || GLEW_NV_internalformat_sample_query) GLEW_NV_internalformat_sample_query = !_glewInit_GL_NV_internalformat_sample_query(); +#endif /* GL_NV_internalformat_sample_query */ +#ifdef GL_NV_non_square_matrices + if (glewExperimental || GLEW_NV_non_square_matrices) GLEW_NV_non_square_matrices = !_glewInit_GL_NV_non_square_matrices(); +#endif /* GL_NV_non_square_matrices */ +#ifdef GL_NV_occlusion_query + if (glewExperimental || GLEW_NV_occlusion_query) GLEW_NV_occlusion_query = !_glewInit_GL_NV_occlusion_query(); +#endif /* GL_NV_occlusion_query */ +#ifdef GL_NV_parameter_buffer_object + if (glewExperimental || GLEW_NV_parameter_buffer_object) GLEW_NV_parameter_buffer_object = !_glewInit_GL_NV_parameter_buffer_object(); +#endif /* GL_NV_parameter_buffer_object */ +#ifdef GL_NV_path_rendering + if (glewExperimental || GLEW_NV_path_rendering) GLEW_NV_path_rendering = !_glewInit_GL_NV_path_rendering(); +#endif /* GL_NV_path_rendering */ +#ifdef GL_NV_pixel_data_range + if (glewExperimental || GLEW_NV_pixel_data_range) GLEW_NV_pixel_data_range = !_glewInit_GL_NV_pixel_data_range(); +#endif /* GL_NV_pixel_data_range */ +#ifdef GL_NV_point_sprite + if (glewExperimental || GLEW_NV_point_sprite) GLEW_NV_point_sprite = !_glewInit_GL_NV_point_sprite(); +#endif /* GL_NV_point_sprite */ +#ifdef GL_NV_polygon_mode + if (glewExperimental || GLEW_NV_polygon_mode) GLEW_NV_polygon_mode = !_glewInit_GL_NV_polygon_mode(); +#endif /* GL_NV_polygon_mode */ +#ifdef GL_NV_present_video + if (glewExperimental || GLEW_NV_present_video) GLEW_NV_present_video = !_glewInit_GL_NV_present_video(); +#endif /* GL_NV_present_video */ +#ifdef GL_NV_primitive_restart + if (glewExperimental || GLEW_NV_primitive_restart) GLEW_NV_primitive_restart = !_glewInit_GL_NV_primitive_restart(); +#endif /* GL_NV_primitive_restart */ +#ifdef GL_NV_register_combiners + if (glewExperimental || GLEW_NV_register_combiners) GLEW_NV_register_combiners = !_glewInit_GL_NV_register_combiners(); +#endif /* GL_NV_register_combiners */ +#ifdef GL_NV_register_combiners2 + if (glewExperimental || GLEW_NV_register_combiners2) GLEW_NV_register_combiners2 = !_glewInit_GL_NV_register_combiners2(); +#endif /* GL_NV_register_combiners2 */ +#ifdef GL_NV_sample_locations + if (glewExperimental || GLEW_NV_sample_locations) GLEW_NV_sample_locations = !_glewInit_GL_NV_sample_locations(); +#endif /* GL_NV_sample_locations */ +#ifdef GL_NV_shader_buffer_load + if (glewExperimental || GLEW_NV_shader_buffer_load) GLEW_NV_shader_buffer_load = !_glewInit_GL_NV_shader_buffer_load(); +#endif /* GL_NV_shader_buffer_load */ +#ifdef GL_NV_texture_array + if (glewExperimental || GLEW_NV_texture_array) GLEW_NV_texture_array = !_glewInit_GL_NV_texture_array(); +#endif /* GL_NV_texture_array */ +#ifdef GL_NV_texture_barrier + if (glewExperimental || GLEW_NV_texture_barrier) GLEW_NV_texture_barrier = !_glewInit_GL_NV_texture_barrier(); +#endif /* GL_NV_texture_barrier */ +#ifdef GL_NV_texture_multisample + if (glewExperimental || GLEW_NV_texture_multisample) GLEW_NV_texture_multisample = !_glewInit_GL_NV_texture_multisample(); +#endif /* GL_NV_texture_multisample */ +#ifdef GL_NV_transform_feedback + if (glewExperimental || GLEW_NV_transform_feedback) GLEW_NV_transform_feedback = !_glewInit_GL_NV_transform_feedback(); +#endif /* GL_NV_transform_feedback */ +#ifdef GL_NV_transform_feedback2 + if (glewExperimental || GLEW_NV_transform_feedback2) GLEW_NV_transform_feedback2 = !_glewInit_GL_NV_transform_feedback2(); +#endif /* GL_NV_transform_feedback2 */ +#ifdef GL_NV_vdpau_interop + if (glewExperimental || GLEW_NV_vdpau_interop) GLEW_NV_vdpau_interop = !_glewInit_GL_NV_vdpau_interop(); +#endif /* GL_NV_vdpau_interop */ +#ifdef GL_NV_vertex_array_range + if (glewExperimental || GLEW_NV_vertex_array_range) GLEW_NV_vertex_array_range = !_glewInit_GL_NV_vertex_array_range(); +#endif /* GL_NV_vertex_array_range */ +#ifdef GL_NV_vertex_attrib_integer_64bit + if (glewExperimental || GLEW_NV_vertex_attrib_integer_64bit) GLEW_NV_vertex_attrib_integer_64bit = !_glewInit_GL_NV_vertex_attrib_integer_64bit(); +#endif /* GL_NV_vertex_attrib_integer_64bit */ +#ifdef GL_NV_vertex_buffer_unified_memory + if (glewExperimental || GLEW_NV_vertex_buffer_unified_memory) GLEW_NV_vertex_buffer_unified_memory = !_glewInit_GL_NV_vertex_buffer_unified_memory(); +#endif /* GL_NV_vertex_buffer_unified_memory */ +#ifdef GL_NV_vertex_program + if (glewExperimental || GLEW_NV_vertex_program) GLEW_NV_vertex_program = !_glewInit_GL_NV_vertex_program(); +#endif /* GL_NV_vertex_program */ +#ifdef GL_NV_video_capture + if (glewExperimental || GLEW_NV_video_capture) GLEW_NV_video_capture = !_glewInit_GL_NV_video_capture(); +#endif /* GL_NV_video_capture */ +#ifdef GL_NV_viewport_array + if (glewExperimental || GLEW_NV_viewport_array) GLEW_NV_viewport_array = !_glewInit_GL_NV_viewport_array(); +#endif /* GL_NV_viewport_array */ +#ifdef GL_NV_viewport_swizzle + if (glewExperimental || GLEW_NV_viewport_swizzle) GLEW_NV_viewport_swizzle = !_glewInit_GL_NV_viewport_swizzle(); +#endif /* GL_NV_viewport_swizzle */ +#ifdef GL_OVR_multiview + if (glewExperimental || GLEW_OVR_multiview) GLEW_OVR_multiview = !_glewInit_GL_OVR_multiview(); +#endif /* GL_OVR_multiview */ +#ifdef GL_OVR_multiview_multisampled_render_to_texture + if (glewExperimental || GLEW_OVR_multiview_multisampled_render_to_texture) GLEW_OVR_multiview_multisampled_render_to_texture = !_glewInit_GL_OVR_multiview_multisampled_render_to_texture(); +#endif /* GL_OVR_multiview_multisampled_render_to_texture */ +#ifdef GL_QCOM_alpha_test + if (glewExperimental || GLEW_QCOM_alpha_test) GLEW_QCOM_alpha_test = !_glewInit_GL_QCOM_alpha_test(); +#endif /* GL_QCOM_alpha_test */ +#ifdef GL_QCOM_driver_control + if (glewExperimental || GLEW_QCOM_driver_control) GLEW_QCOM_driver_control = !_glewInit_GL_QCOM_driver_control(); +#endif /* GL_QCOM_driver_control */ +#ifdef GL_QCOM_extended_get + if (glewExperimental || GLEW_QCOM_extended_get) GLEW_QCOM_extended_get = !_glewInit_GL_QCOM_extended_get(); +#endif /* GL_QCOM_extended_get */ +#ifdef GL_QCOM_extended_get2 + if (glewExperimental || GLEW_QCOM_extended_get2) GLEW_QCOM_extended_get2 = !_glewInit_GL_QCOM_extended_get2(); +#endif /* GL_QCOM_extended_get2 */ +#ifdef GL_QCOM_framebuffer_foveated + if (glewExperimental || GLEW_QCOM_framebuffer_foveated) GLEW_QCOM_framebuffer_foveated = !_glewInit_GL_QCOM_framebuffer_foveated(); +#endif /* GL_QCOM_framebuffer_foveated */ +#ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent + if (glewExperimental || GLEW_QCOM_shader_framebuffer_fetch_noncoherent) GLEW_QCOM_shader_framebuffer_fetch_noncoherent = !_glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent(); +#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */ +#ifdef GL_QCOM_tiled_rendering + if (glewExperimental || GLEW_QCOM_tiled_rendering) GLEW_QCOM_tiled_rendering = !_glewInit_GL_QCOM_tiled_rendering(); +#endif /* GL_QCOM_tiled_rendering */ +#ifdef GL_REGAL_ES1_0_compatibility + if (glewExperimental || GLEW_REGAL_ES1_0_compatibility) GLEW_REGAL_ES1_0_compatibility = !_glewInit_GL_REGAL_ES1_0_compatibility(); +#endif /* GL_REGAL_ES1_0_compatibility */ +#ifdef GL_REGAL_ES1_1_compatibility + if (glewExperimental || GLEW_REGAL_ES1_1_compatibility) GLEW_REGAL_ES1_1_compatibility = !_glewInit_GL_REGAL_ES1_1_compatibility(); +#endif /* GL_REGAL_ES1_1_compatibility */ +#ifdef GL_REGAL_error_string + if (glewExperimental || GLEW_REGAL_error_string) GLEW_REGAL_error_string = !_glewInit_GL_REGAL_error_string(); +#endif /* GL_REGAL_error_string */ +#ifdef GL_REGAL_extension_query + if (glewExperimental || GLEW_REGAL_extension_query) GLEW_REGAL_extension_query = !_glewInit_GL_REGAL_extension_query(); +#endif /* GL_REGAL_extension_query */ +#ifdef GL_REGAL_log + if (glewExperimental || GLEW_REGAL_log) GLEW_REGAL_log = !_glewInit_GL_REGAL_log(); +#endif /* GL_REGAL_log */ +#ifdef GL_REGAL_proc_address + if (glewExperimental || GLEW_REGAL_proc_address) GLEW_REGAL_proc_address = !_glewInit_GL_REGAL_proc_address(); +#endif /* GL_REGAL_proc_address */ +#ifdef GL_SGIS_detail_texture + if (glewExperimental || GLEW_SGIS_detail_texture) GLEW_SGIS_detail_texture = !_glewInit_GL_SGIS_detail_texture(); +#endif /* GL_SGIS_detail_texture */ +#ifdef GL_SGIS_fog_function + if (glewExperimental || GLEW_SGIS_fog_function) GLEW_SGIS_fog_function = !_glewInit_GL_SGIS_fog_function(); +#endif /* GL_SGIS_fog_function */ +#ifdef GL_SGIS_multisample + if (glewExperimental || GLEW_SGIS_multisample) GLEW_SGIS_multisample = !_glewInit_GL_SGIS_multisample(); +#endif /* GL_SGIS_multisample */ +#ifdef GL_SGIS_multitexture + if (glewExperimental || GLEW_SGIS_multitexture) GLEW_SGIS_multitexture = !_glewInit_GL_SGIS_multitexture(); +#endif /* GL_SGIS_multitexture */ +#ifdef GL_SGIS_shared_multisample + if (glewExperimental || GLEW_SGIS_shared_multisample) GLEW_SGIS_shared_multisample = !_glewInit_GL_SGIS_shared_multisample(); +#endif /* GL_SGIS_shared_multisample */ +#ifdef GL_SGIS_sharpen_texture + if (glewExperimental || GLEW_SGIS_sharpen_texture) GLEW_SGIS_sharpen_texture = !_glewInit_GL_SGIS_sharpen_texture(); +#endif /* GL_SGIS_sharpen_texture */ +#ifdef GL_SGIS_texture4D + if (glewExperimental || GLEW_SGIS_texture4D) GLEW_SGIS_texture4D = !_glewInit_GL_SGIS_texture4D(); +#endif /* GL_SGIS_texture4D */ +#ifdef GL_SGIS_texture_filter4 + if (glewExperimental || GLEW_SGIS_texture_filter4) GLEW_SGIS_texture_filter4 = !_glewInit_GL_SGIS_texture_filter4(); +#endif /* GL_SGIS_texture_filter4 */ +#ifdef GL_SGIX_async + if (glewExperimental || GLEW_SGIX_async) GLEW_SGIX_async = !_glewInit_GL_SGIX_async(); +#endif /* GL_SGIX_async */ +#ifdef GL_SGIX_datapipe + if (glewExperimental || GLEW_SGIX_datapipe) GLEW_SGIX_datapipe = !_glewInit_GL_SGIX_datapipe(); +#endif /* GL_SGIX_datapipe */ +#ifdef GL_SGIX_flush_raster + if (glewExperimental || GLEW_SGIX_flush_raster) GLEW_SGIX_flush_raster = !_glewInit_GL_SGIX_flush_raster(); +#endif /* GL_SGIX_flush_raster */ +#ifdef GL_SGIX_fog_layers + if (glewExperimental || GLEW_SGIX_fog_layers) GLEW_SGIX_fog_layers = !_glewInit_GL_SGIX_fog_layers(); +#endif /* GL_SGIX_fog_layers */ +#ifdef GL_SGIX_fog_texture + if (glewExperimental || GLEW_SGIX_fog_texture) GLEW_SGIX_fog_texture = !_glewInit_GL_SGIX_fog_texture(); +#endif /* GL_SGIX_fog_texture */ +#ifdef GL_SGIX_fragment_specular_lighting + if (glewExperimental || GLEW_SGIX_fragment_specular_lighting) GLEW_SGIX_fragment_specular_lighting = !_glewInit_GL_SGIX_fragment_specular_lighting(); +#endif /* GL_SGIX_fragment_specular_lighting */ +#ifdef GL_SGIX_framezoom + if (glewExperimental || GLEW_SGIX_framezoom) GLEW_SGIX_framezoom = !_glewInit_GL_SGIX_framezoom(); +#endif /* GL_SGIX_framezoom */ +#ifdef GL_SGIX_igloo_interface + if (glewExperimental || GLEW_SGIX_igloo_interface) GLEW_SGIX_igloo_interface = !_glewInit_GL_SGIX_igloo_interface(); +#endif /* GL_SGIX_igloo_interface */ +#ifdef GL_SGIX_mpeg1 + if (glewExperimental || GLEW_SGIX_mpeg1) GLEW_SGIX_mpeg1 = !_glewInit_GL_SGIX_mpeg1(); +#endif /* GL_SGIX_mpeg1 */ +#ifdef GL_SGIX_nonlinear_lighting_pervertex + if (glewExperimental || GLEW_SGIX_nonlinear_lighting_pervertex) GLEW_SGIX_nonlinear_lighting_pervertex = !_glewInit_GL_SGIX_nonlinear_lighting_pervertex(); +#endif /* GL_SGIX_nonlinear_lighting_pervertex */ +#ifdef GL_SGIX_pixel_texture + if (glewExperimental || GLEW_SGIX_pixel_texture) GLEW_SGIX_pixel_texture = !_glewInit_GL_SGIX_pixel_texture(); +#endif /* GL_SGIX_pixel_texture */ +#ifdef GL_SGIX_polynomial_ffd + if (glewExperimental || GLEW_SGIX_polynomial_ffd) GLEW_SGIX_polynomial_ffd = !_glewInit_GL_SGIX_polynomial_ffd(); +#endif /* GL_SGIX_polynomial_ffd */ +#ifdef GL_SGIX_quad_mesh + if (glewExperimental || GLEW_SGIX_quad_mesh) GLEW_SGIX_quad_mesh = !_glewInit_GL_SGIX_quad_mesh(); +#endif /* GL_SGIX_quad_mesh */ +#ifdef GL_SGIX_reference_plane + if (glewExperimental || GLEW_SGIX_reference_plane) GLEW_SGIX_reference_plane = !_glewInit_GL_SGIX_reference_plane(); +#endif /* GL_SGIX_reference_plane */ +#ifdef GL_SGIX_sprite + if (glewExperimental || GLEW_SGIX_sprite) GLEW_SGIX_sprite = !_glewInit_GL_SGIX_sprite(); +#endif /* GL_SGIX_sprite */ +#ifdef GL_SGIX_tag_sample_buffer + if (glewExperimental || GLEW_SGIX_tag_sample_buffer) GLEW_SGIX_tag_sample_buffer = !_glewInit_GL_SGIX_tag_sample_buffer(); +#endif /* GL_SGIX_tag_sample_buffer */ +#ifdef GL_SGIX_vector_ops + if (glewExperimental || GLEW_SGIX_vector_ops) GLEW_SGIX_vector_ops = !_glewInit_GL_SGIX_vector_ops(); +#endif /* GL_SGIX_vector_ops */ +#ifdef GL_SGIX_vertex_array_object + if (glewExperimental || GLEW_SGIX_vertex_array_object) GLEW_SGIX_vertex_array_object = !_glewInit_GL_SGIX_vertex_array_object(); +#endif /* GL_SGIX_vertex_array_object */ +#ifdef GL_SGI_color_table + if (glewExperimental || GLEW_SGI_color_table) GLEW_SGI_color_table = !_glewInit_GL_SGI_color_table(); +#endif /* GL_SGI_color_table */ +#ifdef GL_SGI_fft + if (glewExperimental || GLEW_SGI_fft) GLEW_SGI_fft = !_glewInit_GL_SGI_fft(); +#endif /* GL_SGI_fft */ +#ifdef GL_SUNX_constant_data + if (glewExperimental || GLEW_SUNX_constant_data) GLEW_SUNX_constant_data = !_glewInit_GL_SUNX_constant_data(); +#endif /* GL_SUNX_constant_data */ +#ifdef GL_SUN_global_alpha + if (glewExperimental || GLEW_SUN_global_alpha) GLEW_SUN_global_alpha = !_glewInit_GL_SUN_global_alpha(); +#endif /* GL_SUN_global_alpha */ +#ifdef GL_SUN_read_video_pixels + if (glewExperimental || GLEW_SUN_read_video_pixels) GLEW_SUN_read_video_pixels = !_glewInit_GL_SUN_read_video_pixels(); +#endif /* GL_SUN_read_video_pixels */ +#ifdef GL_SUN_triangle_list + if (glewExperimental || GLEW_SUN_triangle_list) GLEW_SUN_triangle_list = !_glewInit_GL_SUN_triangle_list(); +#endif /* GL_SUN_triangle_list */ +#ifdef GL_SUN_vertex + if (glewExperimental || GLEW_SUN_vertex) GLEW_SUN_vertex = !_glewInit_GL_SUN_vertex(); +#endif /* GL_SUN_vertex */ +#ifdef GL_WIN_swap_hint + if (glewExperimental || GLEW_WIN_swap_hint) GLEW_WIN_swap_hint = !_glewInit_GL_WIN_swap_hint(); +#endif /* GL_WIN_swap_hint */ +#ifdef GL_NV_fragment_program4 + GLEW_NV_fragment_program4 = GLEW_NV_gpu_program4; +#endif /* GL_NV_fragment_program4 */ +#ifdef GL_NV_geometry_program4 + GLEW_NV_geometry_program4 = GLEW_NV_gpu_program4; +#endif /* GL_NV_geometry_program4 */ +#ifdef GL_NV_tessellation_program5 + GLEW_NV_tessellation_program5 = GLEW_NV_gpu_program5; +#endif /* GL_NV_tessellation_program5 */ +#ifdef GL_NV_vertex_program4 + GLEW_NV_vertex_program4 = GLEW_NV_gpu_program4; +#endif /* GL_NV_vertex_program4 */ + + return GLEW_OK; +} + + +#if defined(GLEW_OSMESA) + +#elif defined(GLEW_EGL) + +PFNEGLCHOOSECONFIGPROC __eglewChooseConfig = NULL; +PFNEGLCOPYBUFFERSPROC __eglewCopyBuffers = NULL; +PFNEGLCREATECONTEXTPROC __eglewCreateContext = NULL; +PFNEGLCREATEPBUFFERSURFACEPROC __eglewCreatePbufferSurface = NULL; +PFNEGLCREATEPIXMAPSURFACEPROC __eglewCreatePixmapSurface = NULL; +PFNEGLCREATEWINDOWSURFACEPROC __eglewCreateWindowSurface = NULL; +PFNEGLDESTROYCONTEXTPROC __eglewDestroyContext = NULL; +PFNEGLDESTROYSURFACEPROC __eglewDestroySurface = NULL; +PFNEGLGETCONFIGATTRIBPROC __eglewGetConfigAttrib = NULL; +PFNEGLGETCONFIGSPROC __eglewGetConfigs = NULL; +PFNEGLGETCURRENTDISPLAYPROC __eglewGetCurrentDisplay = NULL; +PFNEGLGETCURRENTSURFACEPROC __eglewGetCurrentSurface = NULL; +PFNEGLGETDISPLAYPROC __eglewGetDisplay = NULL; +PFNEGLGETERRORPROC __eglewGetError = NULL; +PFNEGLINITIALIZEPROC __eglewInitialize = NULL; +PFNEGLMAKECURRENTPROC __eglewMakeCurrent = NULL; +PFNEGLQUERYCONTEXTPROC __eglewQueryContext = NULL; +PFNEGLQUERYSTRINGPROC __eglewQueryString = NULL; +PFNEGLQUERYSURFACEPROC __eglewQuerySurface = NULL; +PFNEGLSWAPBUFFERSPROC __eglewSwapBuffers = NULL; +PFNEGLTERMINATEPROC __eglewTerminate = NULL; +PFNEGLWAITGLPROC __eglewWaitGL = NULL; +PFNEGLWAITNATIVEPROC __eglewWaitNative = NULL; + +PFNEGLBINDTEXIMAGEPROC __eglewBindTexImage = NULL; +PFNEGLRELEASETEXIMAGEPROC __eglewReleaseTexImage = NULL; +PFNEGLSURFACEATTRIBPROC __eglewSurfaceAttrib = NULL; +PFNEGLSWAPINTERVALPROC __eglewSwapInterval = NULL; + +PFNEGLBINDAPIPROC __eglewBindAPI = NULL; +PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC __eglewCreatePbufferFromClientBuffer = NULL; +PFNEGLQUERYAPIPROC __eglewQueryAPI = NULL; +PFNEGLRELEASETHREADPROC __eglewReleaseThread = NULL; +PFNEGLWAITCLIENTPROC __eglewWaitClient = NULL; + +PFNEGLGETCURRENTCONTEXTPROC __eglewGetCurrentContext = NULL; + +PFNEGLCLIENTWAITSYNCPROC __eglewClientWaitSync = NULL; +PFNEGLCREATEIMAGEPROC __eglewCreateImage = NULL; +PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC __eglewCreatePlatformPixmapSurface = NULL; +PFNEGLCREATEPLATFORMWINDOWSURFACEPROC __eglewCreatePlatformWindowSurface = NULL; +PFNEGLCREATESYNCPROC __eglewCreateSync = NULL; +PFNEGLDESTROYIMAGEPROC __eglewDestroyImage = NULL; +PFNEGLDESTROYSYNCPROC __eglewDestroySync = NULL; +PFNEGLGETPLATFORMDISPLAYPROC __eglewGetPlatformDisplay = NULL; +PFNEGLGETSYNCATTRIBPROC __eglewGetSyncAttrib = NULL; +PFNEGLWAITSYNCPROC __eglewWaitSync = NULL; + +PFNEGLSETBLOBCACHEFUNCSANDROIDPROC __eglewSetBlobCacheFuncsANDROID = NULL; + +PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC __eglewCreateNativeClientBufferANDROID = NULL; + +PFNEGLDUPNATIVEFENCEFDANDROIDPROC __eglewDupNativeFenceFDANDROID = NULL; + +PFNEGLPRESENTATIONTIMEANDROIDPROC __eglewPresentationTimeANDROID = NULL; + +PFNEGLQUERYSURFACEPOINTERANGLEPROC __eglewQuerySurfacePointerANGLE = NULL; + +PFNEGLQUERYDEVICESEXTPROC __eglewQueryDevicesEXT = NULL; + +PFNEGLQUERYDEVICEATTRIBEXTPROC __eglewQueryDeviceAttribEXT = NULL; +PFNEGLQUERYDEVICESTRINGEXTPROC __eglewQueryDeviceStringEXT = NULL; +PFNEGLQUERYDISPLAYATTRIBEXTPROC __eglewQueryDisplayAttribEXT = NULL; + +PFNEGLQUERYDMABUFFORMATSEXTPROC __eglewQueryDmaBufFormatsEXT = NULL; +PFNEGLQUERYDMABUFMODIFIERSEXTPROC __eglewQueryDmaBufModifiersEXT = NULL; + +PFNEGLGETOUTPUTLAYERSEXTPROC __eglewGetOutputLayersEXT = NULL; +PFNEGLGETOUTPUTPORTSEXTPROC __eglewGetOutputPortsEXT = NULL; +PFNEGLOUTPUTLAYERATTRIBEXTPROC __eglewOutputLayerAttribEXT = NULL; +PFNEGLOUTPUTPORTATTRIBEXTPROC __eglewOutputPortAttribEXT = NULL; +PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC __eglewQueryOutputLayerAttribEXT = NULL; +PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC __eglewQueryOutputLayerStringEXT = NULL; +PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC __eglewQueryOutputPortAttribEXT = NULL; +PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC __eglewQueryOutputPortStringEXT = NULL; + +PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC __eglewCreatePlatformPixmapSurfaceEXT = NULL; +PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC __eglewCreatePlatformWindowSurfaceEXT = NULL; +PFNEGLGETPLATFORMDISPLAYEXTPROC __eglewGetPlatformDisplayEXT = NULL; + +PFNEGLSTREAMCONSUMEROUTPUTEXTPROC __eglewStreamConsumerOutputEXT = NULL; + +PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC __eglewSwapBuffersWithDamageEXT = NULL; + +PFNEGLCREATEPIXMAPSURFACEHIPROC __eglewCreatePixmapSurfaceHI = NULL; + +PFNEGLCREATESYNC64KHRPROC __eglewCreateSync64KHR = NULL; + +PFNEGLDEBUGMESSAGECONTROLKHRPROC __eglewDebugMessageControlKHR = NULL; +PFNEGLLABELOBJECTKHRPROC __eglewLabelObjectKHR = NULL; +PFNEGLQUERYDEBUGKHRPROC __eglewQueryDebugKHR = NULL; + +PFNEGLCREATEIMAGEKHRPROC __eglewCreateImageKHR = NULL; +PFNEGLDESTROYIMAGEKHRPROC __eglewDestroyImageKHR = NULL; + +PFNEGLLOCKSURFACEKHRPROC __eglewLockSurfaceKHR = NULL; +PFNEGLUNLOCKSURFACEKHRPROC __eglewUnlockSurfaceKHR = NULL; + +PFNEGLQUERYSURFACE64KHRPROC __eglewQuerySurface64KHR = NULL; + +PFNEGLSETDAMAGEREGIONKHRPROC __eglewSetDamageRegionKHR = NULL; + +PFNEGLCLIENTWAITSYNCKHRPROC __eglewClientWaitSyncKHR = NULL; +PFNEGLCREATESYNCKHRPROC __eglewCreateSyncKHR = NULL; +PFNEGLDESTROYSYNCKHRPROC __eglewDestroySyncKHR = NULL; +PFNEGLGETSYNCATTRIBKHRPROC __eglewGetSyncAttribKHR = NULL; +PFNEGLSIGNALSYNCKHRPROC __eglewSignalSyncKHR = NULL; + +PFNEGLCREATESTREAMKHRPROC __eglewCreateStreamKHR = NULL; +PFNEGLDESTROYSTREAMKHRPROC __eglewDestroyStreamKHR = NULL; +PFNEGLQUERYSTREAMKHRPROC __eglewQueryStreamKHR = NULL; +PFNEGLQUERYSTREAMU64KHRPROC __eglewQueryStreamu64KHR = NULL; +PFNEGLSTREAMATTRIBKHRPROC __eglewStreamAttribKHR = NULL; + +PFNEGLCREATESTREAMATTRIBKHRPROC __eglewCreateStreamAttribKHR = NULL; +PFNEGLQUERYSTREAMATTRIBKHRPROC __eglewQueryStreamAttribKHR = NULL; +PFNEGLSETSTREAMATTRIBKHRPROC __eglewSetStreamAttribKHR = NULL; +PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC __eglewStreamConsumerAcquireAttribKHR = NULL; +PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC __eglewStreamConsumerReleaseAttribKHR = NULL; + +PFNEGLSTREAMCONSUMERACQUIREKHRPROC __eglewStreamConsumerAcquireKHR = NULL; +PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC __eglewStreamConsumerGLTextureExternalKHR = NULL; +PFNEGLSTREAMCONSUMERRELEASEKHRPROC __eglewStreamConsumerReleaseKHR = NULL; + +PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC __eglewCreateStreamFromFileDescriptorKHR = NULL; +PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC __eglewGetStreamFileDescriptorKHR = NULL; + +PFNEGLQUERYSTREAMTIMEKHRPROC __eglewQueryStreamTimeKHR = NULL; + +PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC __eglewCreateStreamProducerSurfaceKHR = NULL; + +PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC __eglewSwapBuffersWithDamageKHR = NULL; + +PFNEGLWAITSYNCKHRPROC __eglewWaitSyncKHR = NULL; + +PFNEGLCREATEDRMIMAGEMESAPROC __eglewCreateDRMImageMESA = NULL; +PFNEGLEXPORTDRMIMAGEMESAPROC __eglewExportDRMImageMESA = NULL; + +PFNEGLEXPORTDMABUFIMAGEMESAPROC __eglewExportDMABUFImageMESA = NULL; +PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC __eglewExportDMABUFImageQueryMESA = NULL; + +PFNEGLSWAPBUFFERSREGIONNOKPROC __eglewSwapBuffersRegionNOK = NULL; + +PFNEGLSWAPBUFFERSREGION2NOKPROC __eglewSwapBuffersRegion2NOK = NULL; + +PFNEGLQUERYNATIVEDISPLAYNVPROC __eglewQueryNativeDisplayNV = NULL; +PFNEGLQUERYNATIVEPIXMAPNVPROC __eglewQueryNativePixmapNV = NULL; +PFNEGLQUERYNATIVEWINDOWNVPROC __eglewQueryNativeWindowNV = NULL; + +PFNEGLPOSTSUBBUFFERNVPROC __eglewPostSubBufferNV = NULL; + +PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC __eglewStreamConsumerGLTextureExternalAttribsNV = NULL; + +PFNEGLQUERYDISPLAYATTRIBNVPROC __eglewQueryDisplayAttribNV = NULL; +PFNEGLQUERYSTREAMMETADATANVPROC __eglewQueryStreamMetadataNV = NULL; +PFNEGLSETSTREAMMETADATANVPROC __eglewSetStreamMetadataNV = NULL; + +PFNEGLRESETSTREAMNVPROC __eglewResetStreamNV = NULL; + +PFNEGLCREATESTREAMSYNCNVPROC __eglewCreateStreamSyncNV = NULL; + +PFNEGLCLIENTWAITSYNCNVPROC __eglewClientWaitSyncNV = NULL; +PFNEGLCREATEFENCESYNCNVPROC __eglewCreateFenceSyncNV = NULL; +PFNEGLDESTROYSYNCNVPROC __eglewDestroySyncNV = NULL; +PFNEGLFENCENVPROC __eglewFenceNV = NULL; +PFNEGLGETSYNCATTRIBNVPROC __eglewGetSyncAttribNV = NULL; +PFNEGLSIGNALSYNCNVPROC __eglewSignalSyncNV = NULL; + +PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC __eglewGetSystemTimeFrequencyNV = NULL; +PFNEGLGETSYSTEMTIMENVPROC __eglewGetSystemTimeNV = NULL; +GLboolean __EGLEW_VERSION_1_0 = GL_FALSE; +GLboolean __EGLEW_VERSION_1_1 = GL_FALSE; +GLboolean __EGLEW_VERSION_1_2 = GL_FALSE; +GLboolean __EGLEW_VERSION_1_3 = GL_FALSE; +GLboolean __EGLEW_VERSION_1_4 = GL_FALSE; +GLboolean __EGLEW_VERSION_1_5 = GL_FALSE; +GLboolean __EGLEW_ANDROID_blob_cache = GL_FALSE; +GLboolean __EGLEW_ANDROID_create_native_client_buffer = GL_FALSE; +GLboolean __EGLEW_ANDROID_framebuffer_target = GL_FALSE; +GLboolean __EGLEW_ANDROID_front_buffer_auto_refresh = GL_FALSE; +GLboolean __EGLEW_ANDROID_image_native_buffer = GL_FALSE; +GLboolean __EGLEW_ANDROID_native_fence_sync = GL_FALSE; +GLboolean __EGLEW_ANDROID_presentation_time = GL_FALSE; +GLboolean __EGLEW_ANDROID_recordable = GL_FALSE; +GLboolean __EGLEW_ANGLE_d3d_share_handle_client_buffer = GL_FALSE; +GLboolean __EGLEW_ANGLE_device_d3d = GL_FALSE; +GLboolean __EGLEW_ANGLE_query_surface_pointer = GL_FALSE; +GLboolean __EGLEW_ANGLE_surface_d3d_texture_2d_share_handle = GL_FALSE; +GLboolean __EGLEW_ANGLE_window_fixed_size = GL_FALSE; +GLboolean __EGLEW_ARM_implicit_external_sync = GL_FALSE; +GLboolean __EGLEW_ARM_pixmap_multisample_discard = GL_FALSE; +GLboolean __EGLEW_EXT_buffer_age = GL_FALSE; +GLboolean __EGLEW_EXT_client_extensions = GL_FALSE; +GLboolean __EGLEW_EXT_create_context_robustness = GL_FALSE; +GLboolean __EGLEW_EXT_device_base = GL_FALSE; +GLboolean __EGLEW_EXT_device_drm = GL_FALSE; +GLboolean __EGLEW_EXT_device_enumeration = GL_FALSE; +GLboolean __EGLEW_EXT_device_openwf = GL_FALSE; +GLboolean __EGLEW_EXT_device_query = GL_FALSE; +GLboolean __EGLEW_EXT_gl_colorspace_bt2020_linear = GL_FALSE; +GLboolean __EGLEW_EXT_gl_colorspace_bt2020_pq = GL_FALSE; +GLboolean __EGLEW_EXT_gl_colorspace_scrgb_linear = GL_FALSE; +GLboolean __EGLEW_EXT_image_dma_buf_import = GL_FALSE; +GLboolean __EGLEW_EXT_image_dma_buf_import_modifiers = GL_FALSE; +GLboolean __EGLEW_EXT_multiview_window = GL_FALSE; +GLboolean __EGLEW_EXT_output_base = GL_FALSE; +GLboolean __EGLEW_EXT_output_drm = GL_FALSE; +GLboolean __EGLEW_EXT_output_openwf = GL_FALSE; +GLboolean __EGLEW_EXT_pixel_format_float = GL_FALSE; +GLboolean __EGLEW_EXT_platform_base = GL_FALSE; +GLboolean __EGLEW_EXT_platform_device = GL_FALSE; +GLboolean __EGLEW_EXT_platform_wayland = GL_FALSE; +GLboolean __EGLEW_EXT_platform_x11 = GL_FALSE; +GLboolean __EGLEW_EXT_protected_content = GL_FALSE; +GLboolean __EGLEW_EXT_protected_surface = GL_FALSE; +GLboolean __EGLEW_EXT_stream_consumer_egloutput = GL_FALSE; +GLboolean __EGLEW_EXT_surface_SMPTE2086_metadata = GL_FALSE; +GLboolean __EGLEW_EXT_swap_buffers_with_damage = GL_FALSE; +GLboolean __EGLEW_EXT_yuv_surface = GL_FALSE; +GLboolean __EGLEW_HI_clientpixmap = GL_FALSE; +GLboolean __EGLEW_HI_colorformats = GL_FALSE; +GLboolean __EGLEW_IMG_context_priority = GL_FALSE; +GLboolean __EGLEW_IMG_image_plane_attribs = GL_FALSE; +GLboolean __EGLEW_KHR_cl_event = GL_FALSE; +GLboolean __EGLEW_KHR_cl_event2 = GL_FALSE; +GLboolean __EGLEW_KHR_client_get_all_proc_addresses = GL_FALSE; +GLboolean __EGLEW_KHR_config_attribs = GL_FALSE; +GLboolean __EGLEW_KHR_context_flush_control = GL_FALSE; +GLboolean __EGLEW_KHR_create_context = GL_FALSE; +GLboolean __EGLEW_KHR_create_context_no_error = GL_FALSE; +GLboolean __EGLEW_KHR_debug = GL_FALSE; +GLboolean __EGLEW_KHR_fence_sync = GL_FALSE; +GLboolean __EGLEW_KHR_get_all_proc_addresses = GL_FALSE; +GLboolean __EGLEW_KHR_gl_colorspace = GL_FALSE; +GLboolean __EGLEW_KHR_gl_renderbuffer_image = GL_FALSE; +GLboolean __EGLEW_KHR_gl_texture_2D_image = GL_FALSE; +GLboolean __EGLEW_KHR_gl_texture_3D_image = GL_FALSE; +GLboolean __EGLEW_KHR_gl_texture_cubemap_image = GL_FALSE; +GLboolean __EGLEW_KHR_image = GL_FALSE; +GLboolean __EGLEW_KHR_image_base = GL_FALSE; +GLboolean __EGLEW_KHR_image_pixmap = GL_FALSE; +GLboolean __EGLEW_KHR_lock_surface = GL_FALSE; +GLboolean __EGLEW_KHR_lock_surface2 = GL_FALSE; +GLboolean __EGLEW_KHR_lock_surface3 = GL_FALSE; +GLboolean __EGLEW_KHR_mutable_render_buffer = GL_FALSE; +GLboolean __EGLEW_KHR_no_config_context = GL_FALSE; +GLboolean __EGLEW_KHR_partial_update = GL_FALSE; +GLboolean __EGLEW_KHR_platform_android = GL_FALSE; +GLboolean __EGLEW_KHR_platform_gbm = GL_FALSE; +GLboolean __EGLEW_KHR_platform_wayland = GL_FALSE; +GLboolean __EGLEW_KHR_platform_x11 = GL_FALSE; +GLboolean __EGLEW_KHR_reusable_sync = GL_FALSE; +GLboolean __EGLEW_KHR_stream = GL_FALSE; +GLboolean __EGLEW_KHR_stream_attrib = GL_FALSE; +GLboolean __EGLEW_KHR_stream_consumer_gltexture = GL_FALSE; +GLboolean __EGLEW_KHR_stream_cross_process_fd = GL_FALSE; +GLboolean __EGLEW_KHR_stream_fifo = GL_FALSE; +GLboolean __EGLEW_KHR_stream_producer_aldatalocator = GL_FALSE; +GLboolean __EGLEW_KHR_stream_producer_eglsurface = GL_FALSE; +GLboolean __EGLEW_KHR_surfaceless_context = GL_FALSE; +GLboolean __EGLEW_KHR_swap_buffers_with_damage = GL_FALSE; +GLboolean __EGLEW_KHR_vg_parent_image = GL_FALSE; +GLboolean __EGLEW_KHR_wait_sync = GL_FALSE; +GLboolean __EGLEW_MESA_drm_image = GL_FALSE; +GLboolean __EGLEW_MESA_image_dma_buf_export = GL_FALSE; +GLboolean __EGLEW_MESA_platform_gbm = GL_FALSE; +GLboolean __EGLEW_MESA_platform_surfaceless = GL_FALSE; +GLboolean __EGLEW_NOK_swap_region = GL_FALSE; +GLboolean __EGLEW_NOK_swap_region2 = GL_FALSE; +GLboolean __EGLEW_NOK_texture_from_pixmap = GL_FALSE; +GLboolean __EGLEW_NV_3dvision_surface = GL_FALSE; +GLboolean __EGLEW_NV_coverage_sample = GL_FALSE; +GLboolean __EGLEW_NV_coverage_sample_resolve = GL_FALSE; +GLboolean __EGLEW_NV_cuda_event = GL_FALSE; +GLboolean __EGLEW_NV_depth_nonlinear = GL_FALSE; +GLboolean __EGLEW_NV_device_cuda = GL_FALSE; +GLboolean __EGLEW_NV_native_query = GL_FALSE; +GLboolean __EGLEW_NV_post_convert_rounding = GL_FALSE; +GLboolean __EGLEW_NV_post_sub_buffer = GL_FALSE; +GLboolean __EGLEW_NV_robustness_video_memory_purge = GL_FALSE; +GLboolean __EGLEW_NV_stream_consumer_gltexture_yuv = GL_FALSE; +GLboolean __EGLEW_NV_stream_cross_display = GL_FALSE; +GLboolean __EGLEW_NV_stream_cross_object = GL_FALSE; +GLboolean __EGLEW_NV_stream_cross_partition = GL_FALSE; +GLboolean __EGLEW_NV_stream_cross_process = GL_FALSE; +GLboolean __EGLEW_NV_stream_cross_system = GL_FALSE; +GLboolean __EGLEW_NV_stream_fifo_next = GL_FALSE; +GLboolean __EGLEW_NV_stream_fifo_synchronous = GL_FALSE; +GLboolean __EGLEW_NV_stream_frame_limits = GL_FALSE; +GLboolean __EGLEW_NV_stream_metadata = GL_FALSE; +GLboolean __EGLEW_NV_stream_remote = GL_FALSE; +GLboolean __EGLEW_NV_stream_reset = GL_FALSE; +GLboolean __EGLEW_NV_stream_socket = GL_FALSE; +GLboolean __EGLEW_NV_stream_socket_inet = GL_FALSE; +GLboolean __EGLEW_NV_stream_socket_unix = GL_FALSE; +GLboolean __EGLEW_NV_stream_sync = GL_FALSE; +GLboolean __EGLEW_NV_sync = GL_FALSE; +GLboolean __EGLEW_NV_system_time = GL_FALSE; +GLboolean __EGLEW_TIZEN_image_native_buffer = GL_FALSE; +GLboolean __EGLEW_TIZEN_image_native_surface = GL_FALSE; +#ifdef EGL_VERSION_1_0 + +static GLboolean _glewInit_EGL_VERSION_1_0 () +{ + GLboolean r = GL_FALSE; + + r = ((eglChooseConfig = (PFNEGLCHOOSECONFIGPROC)glewGetProcAddress((const GLubyte*)"eglChooseConfig")) == NULL) || r; + r = ((eglCopyBuffers = (PFNEGLCOPYBUFFERSPROC)glewGetProcAddress((const GLubyte*)"eglCopyBuffers")) == NULL) || r; + r = ((eglCreateContext = (PFNEGLCREATECONTEXTPROC)glewGetProcAddress((const GLubyte*)"eglCreateContext")) == NULL) || r; + r = ((eglCreatePbufferSurface = (PFNEGLCREATEPBUFFERSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglCreatePbufferSurface")) == NULL) || r; + r = ((eglCreatePixmapSurface = (PFNEGLCREATEPIXMAPSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglCreatePixmapSurface")) == NULL) || r; + r = ((eglCreateWindowSurface = (PFNEGLCREATEWINDOWSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglCreateWindowSurface")) == NULL) || r; + r = ((eglDestroyContext = (PFNEGLDESTROYCONTEXTPROC)glewGetProcAddress((const GLubyte*)"eglDestroyContext")) == NULL) || r; + r = ((eglDestroySurface = (PFNEGLDESTROYSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglDestroySurface")) == NULL) || r; + r = ((eglGetConfigAttrib = (PFNEGLGETCONFIGATTRIBPROC)glewGetProcAddress((const GLubyte*)"eglGetConfigAttrib")) == NULL) || r; + r = ((eglGetConfigs = (PFNEGLGETCONFIGSPROC)glewGetProcAddress((const GLubyte*)"eglGetConfigs")) == NULL) || r; + r = ((eglGetCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"eglGetCurrentDisplay")) == NULL) || r; + r = ((eglGetCurrentSurface = (PFNEGLGETCURRENTSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglGetCurrentSurface")) == NULL) || r; + r = ((eglGetDisplay = (PFNEGLGETDISPLAYPROC)glewGetProcAddress((const GLubyte*)"eglGetDisplay")) == NULL) || r; + r = ((eglGetError = (PFNEGLGETERRORPROC)glewGetProcAddress((const GLubyte*)"eglGetError")) == NULL) || r; + r = ((eglInitialize = (PFNEGLINITIALIZEPROC)glewGetProcAddress((const GLubyte*)"eglInitialize")) == NULL) || r; + r = ((eglMakeCurrent = (PFNEGLMAKECURRENTPROC)glewGetProcAddress((const GLubyte*)"eglMakeCurrent")) == NULL) || r; + r = ((eglQueryContext = (PFNEGLQUERYCONTEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryContext")) == NULL) || r; + r = ((eglQueryString = (PFNEGLQUERYSTRINGPROC)glewGetProcAddress((const GLubyte*)"eglQueryString")) == NULL) || r; + r = ((eglQuerySurface = (PFNEGLQUERYSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglQuerySurface")) == NULL) || r; + r = ((eglSwapBuffers = (PFNEGLSWAPBUFFERSPROC)glewGetProcAddress((const GLubyte*)"eglSwapBuffers")) == NULL) || r; + r = ((eglTerminate = (PFNEGLTERMINATEPROC)glewGetProcAddress((const GLubyte*)"eglTerminate")) == NULL) || r; + r = ((eglWaitGL = (PFNEGLWAITGLPROC)glewGetProcAddress((const GLubyte*)"eglWaitGL")) == NULL) || r; + r = ((eglWaitNative = (PFNEGLWAITNATIVEPROC)glewGetProcAddress((const GLubyte*)"eglWaitNative")) == NULL) || r; + + return r; +} + +#endif /* EGL_VERSION_1_0 */ + +#ifdef EGL_VERSION_1_1 + +static GLboolean _glewInit_EGL_VERSION_1_1 () +{ + GLboolean r = GL_FALSE; + + r = ((eglBindTexImage = (PFNEGLBINDTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"eglBindTexImage")) == NULL) || r; + r = ((eglReleaseTexImage = (PFNEGLRELEASETEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"eglReleaseTexImage")) == NULL) || r; + r = ((eglSurfaceAttrib = (PFNEGLSURFACEATTRIBPROC)glewGetProcAddress((const GLubyte*)"eglSurfaceAttrib")) == NULL) || r; + r = ((eglSwapInterval = (PFNEGLSWAPINTERVALPROC)glewGetProcAddress((const GLubyte*)"eglSwapInterval")) == NULL) || r; + + return r; +} + +#endif /* EGL_VERSION_1_1 */ + +#ifdef EGL_VERSION_1_2 + +static GLboolean _glewInit_EGL_VERSION_1_2 () +{ + GLboolean r = GL_FALSE; + + r = ((eglBindAPI = (PFNEGLBINDAPIPROC)glewGetProcAddress((const GLubyte*)"eglBindAPI")) == NULL) || r; + r = ((eglCreatePbufferFromClientBuffer = (PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)glewGetProcAddress((const GLubyte*)"eglCreatePbufferFromClientBuffer")) == NULL) || r; + r = ((eglQueryAPI = (PFNEGLQUERYAPIPROC)glewGetProcAddress((const GLubyte*)"eglQueryAPI")) == NULL) || r; + r = ((eglReleaseThread = (PFNEGLRELEASETHREADPROC)glewGetProcAddress((const GLubyte*)"eglReleaseThread")) == NULL) || r; + r = ((eglWaitClient = (PFNEGLWAITCLIENTPROC)glewGetProcAddress((const GLubyte*)"eglWaitClient")) == NULL) || r; + + return r; +} + +#endif /* EGL_VERSION_1_2 */ + +#ifdef EGL_VERSION_1_4 + +static GLboolean _glewInit_EGL_VERSION_1_4 () +{ + GLboolean r = GL_FALSE; + + r = ((eglGetCurrentContext = (PFNEGLGETCURRENTCONTEXTPROC)glewGetProcAddress((const GLubyte*)"eglGetCurrentContext")) == NULL) || r; + + return r; +} + +#endif /* EGL_VERSION_1_4 */ + +#ifdef EGL_VERSION_1_5 + +static GLboolean _glewInit_EGL_VERSION_1_5 () +{ + GLboolean r = GL_FALSE; + + r = ((eglClientWaitSync = (PFNEGLCLIENTWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"eglClientWaitSync")) == NULL) || r; + r = ((eglCreateImage = (PFNEGLCREATEIMAGEPROC)glewGetProcAddress((const GLubyte*)"eglCreateImage")) == NULL) || r; + r = ((eglCreatePlatformPixmapSurface = (PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglCreatePlatformPixmapSurface")) == NULL) || r; + r = ((eglCreatePlatformWindowSurface = (PFNEGLCREATEPLATFORMWINDOWSURFACEPROC)glewGetProcAddress((const GLubyte*)"eglCreatePlatformWindowSurface")) == NULL) || r; + r = ((eglCreateSync = (PFNEGLCREATESYNCPROC)glewGetProcAddress((const GLubyte*)"eglCreateSync")) == NULL) || r; + r = ((eglDestroyImage = (PFNEGLDESTROYIMAGEPROC)glewGetProcAddress((const GLubyte*)"eglDestroyImage")) == NULL) || r; + r = ((eglDestroySync = (PFNEGLDESTROYSYNCPROC)glewGetProcAddress((const GLubyte*)"eglDestroySync")) == NULL) || r; + r = ((eglGetPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYPROC)glewGetProcAddress((const GLubyte*)"eglGetPlatformDisplay")) == NULL) || r; + r = ((eglGetSyncAttrib = (PFNEGLGETSYNCATTRIBPROC)glewGetProcAddress((const GLubyte*)"eglGetSyncAttrib")) == NULL) || r; + r = ((eglWaitSync = (PFNEGLWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"eglWaitSync")) == NULL) || r; + + return r; +} + +#endif /* EGL_VERSION_1_5 */ + +#ifdef EGL_ANDROID_blob_cache + +static GLboolean _glewInit_EGL_ANDROID_blob_cache () +{ + GLboolean r = GL_FALSE; + + r = ((eglSetBlobCacheFuncsANDROID = (PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)glewGetProcAddress((const GLubyte*)"eglSetBlobCacheFuncsANDROID")) == NULL) || r; + + return r; +} + +#endif /* EGL_ANDROID_blob_cache */ + +#ifdef EGL_ANDROID_create_native_client_buffer + +static GLboolean _glewInit_EGL_ANDROID_create_native_client_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateNativeClientBufferANDROID = (PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC)glewGetProcAddress((const GLubyte*)"eglCreateNativeClientBufferANDROID")) == NULL) || r; + + return r; +} + +#endif /* EGL_ANDROID_create_native_client_buffer */ + +#ifdef EGL_ANDROID_native_fence_sync + +static GLboolean _glewInit_EGL_ANDROID_native_fence_sync () +{ + GLboolean r = GL_FALSE; + + r = ((eglDupNativeFenceFDANDROID = (PFNEGLDUPNATIVEFENCEFDANDROIDPROC)glewGetProcAddress((const GLubyte*)"eglDupNativeFenceFDANDROID")) == NULL) || r; + + return r; +} + +#endif /* EGL_ANDROID_native_fence_sync */ + +#ifdef EGL_ANDROID_presentation_time + +static GLboolean _glewInit_EGL_ANDROID_presentation_time () +{ + GLboolean r = GL_FALSE; + + r = ((eglPresentationTimeANDROID = (PFNEGLPRESENTATIONTIMEANDROIDPROC)glewGetProcAddress((const GLubyte*)"eglPresentationTimeANDROID")) == NULL) || r; + + return r; +} + +#endif /* EGL_ANDROID_presentation_time */ + +#ifdef EGL_ANGLE_query_surface_pointer + +static GLboolean _glewInit_EGL_ANGLE_query_surface_pointer () +{ + GLboolean r = GL_FALSE; + + r = ((eglQuerySurfacePointerANGLE = (PFNEGLQUERYSURFACEPOINTERANGLEPROC)glewGetProcAddress((const GLubyte*)"eglQuerySurfacePointerANGLE")) == NULL) || r; + + return r; +} + +#endif /* EGL_ANGLE_query_surface_pointer */ + +#ifdef EGL_EXT_device_enumeration + +static GLboolean _glewInit_EGL_EXT_device_enumeration () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryDevicesEXT = (PFNEGLQUERYDEVICESEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDevicesEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_device_enumeration */ + +#ifdef EGL_EXT_device_query + +static GLboolean _glewInit_EGL_EXT_device_query () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryDeviceAttribEXT = (PFNEGLQUERYDEVICEATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDeviceAttribEXT")) == NULL) || r; + r = ((eglQueryDeviceStringEXT = (PFNEGLQUERYDEVICESTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDeviceStringEXT")) == NULL) || r; + r = ((eglQueryDisplayAttribEXT = (PFNEGLQUERYDISPLAYATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDisplayAttribEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_device_query */ + +#ifdef EGL_EXT_image_dma_buf_import_modifiers + +static GLboolean _glewInit_EGL_EXT_image_dma_buf_import_modifiers () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryDmaBufFormatsEXT = (PFNEGLQUERYDMABUFFORMATSEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDmaBufFormatsEXT")) == NULL) || r; + r = ((eglQueryDmaBufModifiersEXT = (PFNEGLQUERYDMABUFMODIFIERSEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryDmaBufModifiersEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_image_dma_buf_import_modifiers */ + +#ifdef EGL_EXT_output_base + +static GLboolean _glewInit_EGL_EXT_output_base () +{ + GLboolean r = GL_FALSE; + + r = ((eglGetOutputLayersEXT = (PFNEGLGETOUTPUTLAYERSEXTPROC)glewGetProcAddress((const GLubyte*)"eglGetOutputLayersEXT")) == NULL) || r; + r = ((eglGetOutputPortsEXT = (PFNEGLGETOUTPUTPORTSEXTPROC)glewGetProcAddress((const GLubyte*)"eglGetOutputPortsEXT")) == NULL) || r; + r = ((eglOutputLayerAttribEXT = (PFNEGLOUTPUTLAYERATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglOutputLayerAttribEXT")) == NULL) || r; + r = ((eglOutputPortAttribEXT = (PFNEGLOUTPUTPORTATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglOutputPortAttribEXT")) == NULL) || r; + r = ((eglQueryOutputLayerAttribEXT = (PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryOutputLayerAttribEXT")) == NULL) || r; + r = ((eglQueryOutputLayerStringEXT = (PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryOutputLayerStringEXT")) == NULL) || r; + r = ((eglQueryOutputPortAttribEXT = (PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryOutputPortAttribEXT")) == NULL) || r; + r = ((eglQueryOutputPortStringEXT = (PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"eglQueryOutputPortStringEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_output_base */ + +#ifdef EGL_EXT_platform_base + +static GLboolean _glewInit_EGL_EXT_platform_base () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreatePlatformPixmapSurfaceEXT = (PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC)glewGetProcAddress((const GLubyte*)"eglCreatePlatformPixmapSurfaceEXT")) == NULL) || r; + r = ((eglCreatePlatformWindowSurfaceEXT = (PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)glewGetProcAddress((const GLubyte*)"eglCreatePlatformWindowSurfaceEXT")) == NULL) || r; + r = ((eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYEXTPROC)glewGetProcAddress((const GLubyte*)"eglGetPlatformDisplayEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_platform_base */ + +#ifdef EGL_EXT_stream_consumer_egloutput + +static GLboolean _glewInit_EGL_EXT_stream_consumer_egloutput () +{ + GLboolean r = GL_FALSE; + + r = ((eglStreamConsumerOutputEXT = (PFNEGLSTREAMCONSUMEROUTPUTEXTPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerOutputEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_stream_consumer_egloutput */ + +#ifdef EGL_EXT_swap_buffers_with_damage + +static GLboolean _glewInit_EGL_EXT_swap_buffers_with_damage () +{ + GLboolean r = GL_FALSE; + + r = ((eglSwapBuffersWithDamageEXT = (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"eglSwapBuffersWithDamageEXT")) == NULL) || r; + + return r; +} + +#endif /* EGL_EXT_swap_buffers_with_damage */ + +#ifdef EGL_HI_clientpixmap + +static GLboolean _glewInit_EGL_HI_clientpixmap () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreatePixmapSurfaceHI = (PFNEGLCREATEPIXMAPSURFACEHIPROC)glewGetProcAddress((const GLubyte*)"eglCreatePixmapSurfaceHI")) == NULL) || r; + + return r; +} + +#endif /* EGL_HI_clientpixmap */ + +#ifdef EGL_KHR_cl_event2 + +static GLboolean _glewInit_EGL_KHR_cl_event2 () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateSync64KHR = (PFNEGLCREATESYNC64KHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateSync64KHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_cl_event2 */ + +#ifdef EGL_KHR_debug + +static GLboolean _glewInit_EGL_KHR_debug () +{ + GLboolean r = GL_FALSE; + + r = ((eglDebugMessageControlKHR = (PFNEGLDEBUGMESSAGECONTROLKHRPROC)glewGetProcAddress((const GLubyte*)"eglDebugMessageControlKHR")) == NULL) || r; + r = ((eglLabelObjectKHR = (PFNEGLLABELOBJECTKHRPROC)glewGetProcAddress((const GLubyte*)"eglLabelObjectKHR")) == NULL) || r; + r = ((eglQueryDebugKHR = (PFNEGLQUERYDEBUGKHRPROC)glewGetProcAddress((const GLubyte*)"eglQueryDebugKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_debug */ + +#ifdef EGL_KHR_image + +static GLboolean _glewInit_EGL_KHR_image () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateImageKHR")) == NULL) || r; + r = ((eglDestroyImageKHR = (PFNEGLDESTROYIMAGEKHRPROC)glewGetProcAddress((const GLubyte*)"eglDestroyImageKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_image */ + +#ifdef EGL_KHR_lock_surface + +static GLboolean _glewInit_EGL_KHR_lock_surface () +{ + GLboolean r = GL_FALSE; + + r = ((eglLockSurfaceKHR = (PFNEGLLOCKSURFACEKHRPROC)glewGetProcAddress((const GLubyte*)"eglLockSurfaceKHR")) == NULL) || r; + r = ((eglUnlockSurfaceKHR = (PFNEGLUNLOCKSURFACEKHRPROC)glewGetProcAddress((const GLubyte*)"eglUnlockSurfaceKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_lock_surface */ + +#ifdef EGL_KHR_lock_surface3 + +static GLboolean _glewInit_EGL_KHR_lock_surface3 () +{ + GLboolean r = GL_FALSE; + + r = ((eglQuerySurface64KHR = (PFNEGLQUERYSURFACE64KHRPROC)glewGetProcAddress((const GLubyte*)"eglQuerySurface64KHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_lock_surface3 */ + +#ifdef EGL_KHR_partial_update + +static GLboolean _glewInit_EGL_KHR_partial_update () +{ + GLboolean r = GL_FALSE; + + r = ((eglSetDamageRegionKHR = (PFNEGLSETDAMAGEREGIONKHRPROC)glewGetProcAddress((const GLubyte*)"eglSetDamageRegionKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_partial_update */ + +#ifdef EGL_KHR_reusable_sync + +static GLboolean _glewInit_EGL_KHR_reusable_sync () +{ + GLboolean r = GL_FALSE; + + r = ((eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC)glewGetProcAddress((const GLubyte*)"eglClientWaitSyncKHR")) == NULL) || r; + r = ((eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateSyncKHR")) == NULL) || r; + r = ((eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC)glewGetProcAddress((const GLubyte*)"eglDestroySyncKHR")) == NULL) || r; + r = ((eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglGetSyncAttribKHR")) == NULL) || r; + r = ((eglSignalSyncKHR = (PFNEGLSIGNALSYNCKHRPROC)glewGetProcAddress((const GLubyte*)"eglSignalSyncKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_reusable_sync */ + +#ifdef EGL_KHR_stream + +static GLboolean _glewInit_EGL_KHR_stream () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateStreamKHR = (PFNEGLCREATESTREAMKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateStreamKHR")) == NULL) || r; + r = ((eglDestroyStreamKHR = (PFNEGLDESTROYSTREAMKHRPROC)glewGetProcAddress((const GLubyte*)"eglDestroyStreamKHR")) == NULL) || r; + r = ((eglQueryStreamKHR = (PFNEGLQUERYSTREAMKHRPROC)glewGetProcAddress((const GLubyte*)"eglQueryStreamKHR")) == NULL) || r; + r = ((eglQueryStreamu64KHR = (PFNEGLQUERYSTREAMU64KHRPROC)glewGetProcAddress((const GLubyte*)"eglQueryStreamu64KHR")) == NULL) || r; + r = ((eglStreamAttribKHR = (PFNEGLSTREAMATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamAttribKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream */ + +#ifdef EGL_KHR_stream_attrib + +static GLboolean _glewInit_EGL_KHR_stream_attrib () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateStreamAttribKHR = (PFNEGLCREATESTREAMATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateStreamAttribKHR")) == NULL) || r; + r = ((eglQueryStreamAttribKHR = (PFNEGLQUERYSTREAMATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglQueryStreamAttribKHR")) == NULL) || r; + r = ((eglSetStreamAttribKHR = (PFNEGLSETSTREAMATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglSetStreamAttribKHR")) == NULL) || r; + r = ((eglStreamConsumerAcquireAttribKHR = (PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerAcquireAttribKHR")) == NULL) || r; + r = ((eglStreamConsumerReleaseAttribKHR = (PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerReleaseAttribKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream_attrib */ + +#ifdef EGL_KHR_stream_consumer_gltexture + +static GLboolean _glewInit_EGL_KHR_stream_consumer_gltexture () +{ + GLboolean r = GL_FALSE; + + r = ((eglStreamConsumerAcquireKHR = (PFNEGLSTREAMCONSUMERACQUIREKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerAcquireKHR")) == NULL) || r; + r = ((eglStreamConsumerGLTextureExternalKHR = (PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerGLTextureExternalKHR")) == NULL) || r; + r = ((eglStreamConsumerReleaseKHR = (PFNEGLSTREAMCONSUMERRELEASEKHRPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerReleaseKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream_consumer_gltexture */ + +#ifdef EGL_KHR_stream_cross_process_fd + +static GLboolean _glewInit_EGL_KHR_stream_cross_process_fd () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateStreamFromFileDescriptorKHR = (PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateStreamFromFileDescriptorKHR")) == NULL) || r; + r = ((eglGetStreamFileDescriptorKHR = (PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)glewGetProcAddress((const GLubyte*)"eglGetStreamFileDescriptorKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream_cross_process_fd */ + +#ifdef EGL_KHR_stream_fifo + +static GLboolean _glewInit_EGL_KHR_stream_fifo () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryStreamTimeKHR = (PFNEGLQUERYSTREAMTIMEKHRPROC)glewGetProcAddress((const GLubyte*)"eglQueryStreamTimeKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream_fifo */ + +#ifdef EGL_KHR_stream_producer_eglsurface + +static GLboolean _glewInit_EGL_KHR_stream_producer_eglsurface () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateStreamProducerSurfaceKHR = (PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)glewGetProcAddress((const GLubyte*)"eglCreateStreamProducerSurfaceKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_stream_producer_eglsurface */ + +#ifdef EGL_KHR_swap_buffers_with_damage + +static GLboolean _glewInit_EGL_KHR_swap_buffers_with_damage () +{ + GLboolean r = GL_FALSE; + + r = ((eglSwapBuffersWithDamageKHR = (PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)glewGetProcAddress((const GLubyte*)"eglSwapBuffersWithDamageKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_swap_buffers_with_damage */ + +#ifdef EGL_KHR_wait_sync + +static GLboolean _glewInit_EGL_KHR_wait_sync () +{ + GLboolean r = GL_FALSE; + + r = ((eglWaitSyncKHR = (PFNEGLWAITSYNCKHRPROC)glewGetProcAddress((const GLubyte*)"eglWaitSyncKHR")) == NULL) || r; + + return r; +} + +#endif /* EGL_KHR_wait_sync */ + +#ifdef EGL_MESA_drm_image + +static GLboolean _glewInit_EGL_MESA_drm_image () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateDRMImageMESA = (PFNEGLCREATEDRMIMAGEMESAPROC)glewGetProcAddress((const GLubyte*)"eglCreateDRMImageMESA")) == NULL) || r; + r = ((eglExportDRMImageMESA = (PFNEGLEXPORTDRMIMAGEMESAPROC)glewGetProcAddress((const GLubyte*)"eglExportDRMImageMESA")) == NULL) || r; + + return r; +} + +#endif /* EGL_MESA_drm_image */ + +#ifdef EGL_MESA_image_dma_buf_export + +static GLboolean _glewInit_EGL_MESA_image_dma_buf_export () +{ + GLboolean r = GL_FALSE; + + r = ((eglExportDMABUFImageMESA = (PFNEGLEXPORTDMABUFIMAGEMESAPROC)glewGetProcAddress((const GLubyte*)"eglExportDMABUFImageMESA")) == NULL) || r; + r = ((eglExportDMABUFImageQueryMESA = (PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC)glewGetProcAddress((const GLubyte*)"eglExportDMABUFImageQueryMESA")) == NULL) || r; + + return r; +} + +#endif /* EGL_MESA_image_dma_buf_export */ + +#ifdef EGL_NOK_swap_region + +static GLboolean _glewInit_EGL_NOK_swap_region () +{ + GLboolean r = GL_FALSE; + + r = ((eglSwapBuffersRegionNOK = (PFNEGLSWAPBUFFERSREGIONNOKPROC)glewGetProcAddress((const GLubyte*)"eglSwapBuffersRegionNOK")) == NULL) || r; + + return r; +} + +#endif /* EGL_NOK_swap_region */ + +#ifdef EGL_NOK_swap_region2 + +static GLboolean _glewInit_EGL_NOK_swap_region2 () +{ + GLboolean r = GL_FALSE; + + r = ((eglSwapBuffersRegion2NOK = (PFNEGLSWAPBUFFERSREGION2NOKPROC)glewGetProcAddress((const GLubyte*)"eglSwapBuffersRegion2NOK")) == NULL) || r; + + return r; +} + +#endif /* EGL_NOK_swap_region2 */ + +#ifdef EGL_NV_native_query + +static GLboolean _glewInit_EGL_NV_native_query () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryNativeDisplayNV = (PFNEGLQUERYNATIVEDISPLAYNVPROC)glewGetProcAddress((const GLubyte*)"eglQueryNativeDisplayNV")) == NULL) || r; + r = ((eglQueryNativePixmapNV = (PFNEGLQUERYNATIVEPIXMAPNVPROC)glewGetProcAddress((const GLubyte*)"eglQueryNativePixmapNV")) == NULL) || r; + r = ((eglQueryNativeWindowNV = (PFNEGLQUERYNATIVEWINDOWNVPROC)glewGetProcAddress((const GLubyte*)"eglQueryNativeWindowNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_native_query */ + +#ifdef EGL_NV_post_sub_buffer + +static GLboolean _glewInit_EGL_NV_post_sub_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((eglPostSubBufferNV = (PFNEGLPOSTSUBBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"eglPostSubBufferNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_post_sub_buffer */ + +#ifdef EGL_NV_stream_consumer_gltexture_yuv + +static GLboolean _glewInit_EGL_NV_stream_consumer_gltexture_yuv () +{ + GLboolean r = GL_FALSE; + + r = ((eglStreamConsumerGLTextureExternalAttribsNV = (PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC)glewGetProcAddress((const GLubyte*)"eglStreamConsumerGLTextureExternalAttribsNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_stream_consumer_gltexture_yuv */ + +#ifdef EGL_NV_stream_metadata + +static GLboolean _glewInit_EGL_NV_stream_metadata () +{ + GLboolean r = GL_FALSE; + + r = ((eglQueryDisplayAttribNV = (PFNEGLQUERYDISPLAYATTRIBNVPROC)glewGetProcAddress((const GLubyte*)"eglQueryDisplayAttribNV")) == NULL) || r; + r = ((eglQueryStreamMetadataNV = (PFNEGLQUERYSTREAMMETADATANVPROC)glewGetProcAddress((const GLubyte*)"eglQueryStreamMetadataNV")) == NULL) || r; + r = ((eglSetStreamMetadataNV = (PFNEGLSETSTREAMMETADATANVPROC)glewGetProcAddress((const GLubyte*)"eglSetStreamMetadataNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_stream_metadata */ + +#ifdef EGL_NV_stream_reset + +static GLboolean _glewInit_EGL_NV_stream_reset () +{ + GLboolean r = GL_FALSE; + + r = ((eglResetStreamNV = (PFNEGLRESETSTREAMNVPROC)glewGetProcAddress((const GLubyte*)"eglResetStreamNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_stream_reset */ + +#ifdef EGL_NV_stream_sync + +static GLboolean _glewInit_EGL_NV_stream_sync () +{ + GLboolean r = GL_FALSE; + + r = ((eglCreateStreamSyncNV = (PFNEGLCREATESTREAMSYNCNVPROC)glewGetProcAddress((const GLubyte*)"eglCreateStreamSyncNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_stream_sync */ + +#ifdef EGL_NV_sync + +static GLboolean _glewInit_EGL_NV_sync () +{ + GLboolean r = GL_FALSE; + + r = ((eglClientWaitSyncNV = (PFNEGLCLIENTWAITSYNCNVPROC)glewGetProcAddress((const GLubyte*)"eglClientWaitSyncNV")) == NULL) || r; + r = ((eglCreateFenceSyncNV = (PFNEGLCREATEFENCESYNCNVPROC)glewGetProcAddress((const GLubyte*)"eglCreateFenceSyncNV")) == NULL) || r; + r = ((eglDestroySyncNV = (PFNEGLDESTROYSYNCNVPROC)glewGetProcAddress((const GLubyte*)"eglDestroySyncNV")) == NULL) || r; + r = ((eglFenceNV = (PFNEGLFENCENVPROC)glewGetProcAddress((const GLubyte*)"eglFenceNV")) == NULL) || r; + r = ((eglGetSyncAttribNV = (PFNEGLGETSYNCATTRIBNVPROC)glewGetProcAddress((const GLubyte*)"eglGetSyncAttribNV")) == NULL) || r; + r = ((eglSignalSyncNV = (PFNEGLSIGNALSYNCNVPROC)glewGetProcAddress((const GLubyte*)"eglSignalSyncNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_sync */ + +#ifdef EGL_NV_system_time + +static GLboolean _glewInit_EGL_NV_system_time () +{ + GLboolean r = GL_FALSE; + + r = ((eglGetSystemTimeFrequencyNV = (PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)glewGetProcAddress((const GLubyte*)"eglGetSystemTimeFrequencyNV")) == NULL) || r; + r = ((eglGetSystemTimeNV = (PFNEGLGETSYSTEMTIMENVPROC)glewGetProcAddress((const GLubyte*)"eglGetSystemTimeNV")) == NULL) || r; + + return r; +} + +#endif /* EGL_NV_system_time */ + + /* ------------------------------------------------------------------------ */ + +GLboolean eglewGetExtension (const char* name) +{ + const GLubyte* start; + const GLubyte* end; + + start = (const GLubyte*) eglQueryString(eglGetCurrentDisplay(), EGL_EXTENSIONS); + if (0 == start) return GL_FALSE; + end = start + _glewStrLen(start); + return _glewSearchExtension(name, start, end); +} + +GLenum eglewInit (EGLDisplay display) +{ + EGLint major, minor; + const GLubyte* extStart; + const GLubyte* extEnd; + PFNEGLINITIALIZEPROC initialize = NULL; + PFNEGLQUERYSTRINGPROC queryString = NULL; + + /* Load necessary entry points */ + initialize = (PFNEGLINITIALIZEPROC) glewGetProcAddress("eglInitialize"); + queryString = (PFNEGLQUERYSTRINGPROC) glewGetProcAddress("eglQueryString"); + if (!initialize || !queryString) + return 1; + + /* query EGK version */ + if (initialize(display, &major, &minor) != EGL_TRUE) + return 1; + + EGLEW_VERSION_1_5 = ( major > 1 ) || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE; + EGLEW_VERSION_1_4 = EGLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE; + EGLEW_VERSION_1_3 = EGLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE; + EGLEW_VERSION_1_2 = EGLEW_VERSION_1_3 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE; + EGLEW_VERSION_1_1 = EGLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE; + EGLEW_VERSION_1_0 = EGLEW_VERSION_1_1 == GL_TRUE || ( major == 1 && minor >= 0 ) ? GL_TRUE : GL_FALSE; + + /* query EGL extension string */ + extStart = (const GLubyte*) queryString(display, EGL_EXTENSIONS); + if (extStart == 0) + extStart = (const GLubyte *)""; + extEnd = extStart + _glewStrLen(extStart); + + /* initialize extensions */ +#ifdef EGL_VERSION_1_0 + if (glewExperimental || EGLEW_VERSION_1_0) EGLEW_VERSION_1_0 = !_glewInit_EGL_VERSION_1_0(); +#endif /* EGL_VERSION_1_0 */ +#ifdef EGL_VERSION_1_1 + if (glewExperimental || EGLEW_VERSION_1_1) EGLEW_VERSION_1_1 = !_glewInit_EGL_VERSION_1_1(); +#endif /* EGL_VERSION_1_1 */ +#ifdef EGL_VERSION_1_2 + if (glewExperimental || EGLEW_VERSION_1_2) EGLEW_VERSION_1_2 = !_glewInit_EGL_VERSION_1_2(); +#endif /* EGL_VERSION_1_2 */ +#ifdef EGL_VERSION_1_4 + if (glewExperimental || EGLEW_VERSION_1_4) EGLEW_VERSION_1_4 = !_glewInit_EGL_VERSION_1_4(); +#endif /* EGL_VERSION_1_4 */ +#ifdef EGL_VERSION_1_5 + if (glewExperimental || EGLEW_VERSION_1_5) EGLEW_VERSION_1_5 = !_glewInit_EGL_VERSION_1_5(); +#endif /* EGL_VERSION_1_5 */ +#ifdef EGL_ANDROID_blob_cache + EGLEW_ANDROID_blob_cache = _glewSearchExtension("EGL_ANDROID_blob_cache", extStart, extEnd); + if (glewExperimental || EGLEW_ANDROID_blob_cache) EGLEW_ANDROID_blob_cache = !_glewInit_EGL_ANDROID_blob_cache(); +#endif /* EGL_ANDROID_blob_cache */ +#ifdef EGL_ANDROID_create_native_client_buffer + EGLEW_ANDROID_create_native_client_buffer = _glewSearchExtension("EGL_ANDROID_create_native_client_buffer", extStart, extEnd); + if (glewExperimental || EGLEW_ANDROID_create_native_client_buffer) EGLEW_ANDROID_create_native_client_buffer = !_glewInit_EGL_ANDROID_create_native_client_buffer(); +#endif /* EGL_ANDROID_create_native_client_buffer */ +#ifdef EGL_ANDROID_framebuffer_target + EGLEW_ANDROID_framebuffer_target = _glewSearchExtension("EGL_ANDROID_framebuffer_target", extStart, extEnd); +#endif /* EGL_ANDROID_framebuffer_target */ +#ifdef EGL_ANDROID_front_buffer_auto_refresh + EGLEW_ANDROID_front_buffer_auto_refresh = _glewSearchExtension("EGL_ANDROID_front_buffer_auto_refresh", extStart, extEnd); +#endif /* EGL_ANDROID_front_buffer_auto_refresh */ +#ifdef EGL_ANDROID_image_native_buffer + EGLEW_ANDROID_image_native_buffer = _glewSearchExtension("EGL_ANDROID_image_native_buffer", extStart, extEnd); +#endif /* EGL_ANDROID_image_native_buffer */ +#ifdef EGL_ANDROID_native_fence_sync + EGLEW_ANDROID_native_fence_sync = _glewSearchExtension("EGL_ANDROID_native_fence_sync", extStart, extEnd); + if (glewExperimental || EGLEW_ANDROID_native_fence_sync) EGLEW_ANDROID_native_fence_sync = !_glewInit_EGL_ANDROID_native_fence_sync(); +#endif /* EGL_ANDROID_native_fence_sync */ +#ifdef EGL_ANDROID_presentation_time + EGLEW_ANDROID_presentation_time = _glewSearchExtension("EGL_ANDROID_presentation_time", extStart, extEnd); + if (glewExperimental || EGLEW_ANDROID_presentation_time) EGLEW_ANDROID_presentation_time = !_glewInit_EGL_ANDROID_presentation_time(); +#endif /* EGL_ANDROID_presentation_time */ +#ifdef EGL_ANDROID_recordable + EGLEW_ANDROID_recordable = _glewSearchExtension("EGL_ANDROID_recordable", extStart, extEnd); +#endif /* EGL_ANDROID_recordable */ +#ifdef EGL_ANGLE_d3d_share_handle_client_buffer + EGLEW_ANGLE_d3d_share_handle_client_buffer = _glewSearchExtension("EGL_ANGLE_d3d_share_handle_client_buffer", extStart, extEnd); +#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ +#ifdef EGL_ANGLE_device_d3d + EGLEW_ANGLE_device_d3d = _glewSearchExtension("EGL_ANGLE_device_d3d", extStart, extEnd); +#endif /* EGL_ANGLE_device_d3d */ +#ifdef EGL_ANGLE_query_surface_pointer + EGLEW_ANGLE_query_surface_pointer = _glewSearchExtension("EGL_ANGLE_query_surface_pointer", extStart, extEnd); + if (glewExperimental || EGLEW_ANGLE_query_surface_pointer) EGLEW_ANGLE_query_surface_pointer = !_glewInit_EGL_ANGLE_query_surface_pointer(); +#endif /* EGL_ANGLE_query_surface_pointer */ +#ifdef EGL_ANGLE_surface_d3d_texture_2d_share_handle + EGLEW_ANGLE_surface_d3d_texture_2d_share_handle = _glewSearchExtension("EGL_ANGLE_surface_d3d_texture_2d_share_handle", extStart, extEnd); +#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ +#ifdef EGL_ANGLE_window_fixed_size + EGLEW_ANGLE_window_fixed_size = _glewSearchExtension("EGL_ANGLE_window_fixed_size", extStart, extEnd); +#endif /* EGL_ANGLE_window_fixed_size */ +#ifdef EGL_ARM_implicit_external_sync + EGLEW_ARM_implicit_external_sync = _glewSearchExtension("EGL_ARM_implicit_external_sync", extStart, extEnd); +#endif /* EGL_ARM_implicit_external_sync */ +#ifdef EGL_ARM_pixmap_multisample_discard + EGLEW_ARM_pixmap_multisample_discard = _glewSearchExtension("EGL_ARM_pixmap_multisample_discard", extStart, extEnd); +#endif /* EGL_ARM_pixmap_multisample_discard */ +#ifdef EGL_EXT_buffer_age + EGLEW_EXT_buffer_age = _glewSearchExtension("EGL_EXT_buffer_age", extStart, extEnd); +#endif /* EGL_EXT_buffer_age */ +#ifdef EGL_EXT_client_extensions + EGLEW_EXT_client_extensions = _glewSearchExtension("EGL_EXT_client_extensions", extStart, extEnd); +#endif /* EGL_EXT_client_extensions */ +#ifdef EGL_EXT_create_context_robustness + EGLEW_EXT_create_context_robustness = _glewSearchExtension("EGL_EXT_create_context_robustness", extStart, extEnd); +#endif /* EGL_EXT_create_context_robustness */ +#ifdef EGL_EXT_device_base + EGLEW_EXT_device_base = _glewSearchExtension("EGL_EXT_device_base", extStart, extEnd); +#endif /* EGL_EXT_device_base */ +#ifdef EGL_EXT_device_drm + EGLEW_EXT_device_drm = _glewSearchExtension("EGL_EXT_device_drm", extStart, extEnd); +#endif /* EGL_EXT_device_drm */ +#ifdef EGL_EXT_device_enumeration + EGLEW_EXT_device_enumeration = _glewSearchExtension("EGL_EXT_device_enumeration", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_device_enumeration) EGLEW_EXT_device_enumeration = !_glewInit_EGL_EXT_device_enumeration(); +#endif /* EGL_EXT_device_enumeration */ +#ifdef EGL_EXT_device_openwf + EGLEW_EXT_device_openwf = _glewSearchExtension("EGL_EXT_device_openwf", extStart, extEnd); +#endif /* EGL_EXT_device_openwf */ +#ifdef EGL_EXT_device_query + EGLEW_EXT_device_query = _glewSearchExtension("EGL_EXT_device_query", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_device_query) EGLEW_EXT_device_query = !_glewInit_EGL_EXT_device_query(); +#endif /* EGL_EXT_device_query */ +#ifdef EGL_EXT_gl_colorspace_bt2020_linear + EGLEW_EXT_gl_colorspace_bt2020_linear = _glewSearchExtension("EGL_EXT_gl_colorspace_bt2020_linear", extStart, extEnd); +#endif /* EGL_EXT_gl_colorspace_bt2020_linear */ +#ifdef EGL_EXT_gl_colorspace_bt2020_pq + EGLEW_EXT_gl_colorspace_bt2020_pq = _glewSearchExtension("EGL_EXT_gl_colorspace_bt2020_pq", extStart, extEnd); +#endif /* EGL_EXT_gl_colorspace_bt2020_pq */ +#ifdef EGL_EXT_gl_colorspace_scrgb_linear + EGLEW_EXT_gl_colorspace_scrgb_linear = _glewSearchExtension("EGL_EXT_gl_colorspace_scrgb_linear", extStart, extEnd); +#endif /* EGL_EXT_gl_colorspace_scrgb_linear */ +#ifdef EGL_EXT_image_dma_buf_import + EGLEW_EXT_image_dma_buf_import = _glewSearchExtension("EGL_EXT_image_dma_buf_import", extStart, extEnd); +#endif /* EGL_EXT_image_dma_buf_import */ +#ifdef EGL_EXT_image_dma_buf_import_modifiers + EGLEW_EXT_image_dma_buf_import_modifiers = _glewSearchExtension("EGL_EXT_image_dma_buf_import_modifiers", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_image_dma_buf_import_modifiers) EGLEW_EXT_image_dma_buf_import_modifiers = !_glewInit_EGL_EXT_image_dma_buf_import_modifiers(); +#endif /* EGL_EXT_image_dma_buf_import_modifiers */ +#ifdef EGL_EXT_multiview_window + EGLEW_EXT_multiview_window = _glewSearchExtension("EGL_EXT_multiview_window", extStart, extEnd); +#endif /* EGL_EXT_multiview_window */ +#ifdef EGL_EXT_output_base + EGLEW_EXT_output_base = _glewSearchExtension("EGL_EXT_output_base", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_output_base) EGLEW_EXT_output_base = !_glewInit_EGL_EXT_output_base(); +#endif /* EGL_EXT_output_base */ +#ifdef EGL_EXT_output_drm + EGLEW_EXT_output_drm = _glewSearchExtension("EGL_EXT_output_drm", extStart, extEnd); +#endif /* EGL_EXT_output_drm */ +#ifdef EGL_EXT_output_openwf + EGLEW_EXT_output_openwf = _glewSearchExtension("EGL_EXT_output_openwf", extStart, extEnd); +#endif /* EGL_EXT_output_openwf */ +#ifdef EGL_EXT_pixel_format_float + EGLEW_EXT_pixel_format_float = _glewSearchExtension("EGL_EXT_pixel_format_float", extStart, extEnd); +#endif /* EGL_EXT_pixel_format_float */ +#ifdef EGL_EXT_platform_base + EGLEW_EXT_platform_base = _glewSearchExtension("EGL_EXT_platform_base", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_platform_base) EGLEW_EXT_platform_base = !_glewInit_EGL_EXT_platform_base(); +#endif /* EGL_EXT_platform_base */ +#ifdef EGL_EXT_platform_device + EGLEW_EXT_platform_device = _glewSearchExtension("EGL_EXT_platform_device", extStart, extEnd); +#endif /* EGL_EXT_platform_device */ +#ifdef EGL_EXT_platform_wayland + EGLEW_EXT_platform_wayland = _glewSearchExtension("EGL_EXT_platform_wayland", extStart, extEnd); +#endif /* EGL_EXT_platform_wayland */ +#ifdef EGL_EXT_platform_x11 + EGLEW_EXT_platform_x11 = _glewSearchExtension("EGL_EXT_platform_x11", extStart, extEnd); +#endif /* EGL_EXT_platform_x11 */ +#ifdef EGL_EXT_protected_content + EGLEW_EXT_protected_content = _glewSearchExtension("EGL_EXT_protected_content", extStart, extEnd); +#endif /* EGL_EXT_protected_content */ +#ifdef EGL_EXT_protected_surface + EGLEW_EXT_protected_surface = _glewSearchExtension("EGL_EXT_protected_surface", extStart, extEnd); +#endif /* EGL_EXT_protected_surface */ +#ifdef EGL_EXT_stream_consumer_egloutput + EGLEW_EXT_stream_consumer_egloutput = _glewSearchExtension("EGL_EXT_stream_consumer_egloutput", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_stream_consumer_egloutput) EGLEW_EXT_stream_consumer_egloutput = !_glewInit_EGL_EXT_stream_consumer_egloutput(); +#endif /* EGL_EXT_stream_consumer_egloutput */ +#ifdef EGL_EXT_surface_SMPTE2086_metadata + EGLEW_EXT_surface_SMPTE2086_metadata = _glewSearchExtension("EGL_EXT_surface_SMPTE2086_metadata", extStart, extEnd); +#endif /* EGL_EXT_surface_SMPTE2086_metadata */ +#ifdef EGL_EXT_swap_buffers_with_damage + EGLEW_EXT_swap_buffers_with_damage = _glewSearchExtension("EGL_EXT_swap_buffers_with_damage", extStart, extEnd); + if (glewExperimental || EGLEW_EXT_swap_buffers_with_damage) EGLEW_EXT_swap_buffers_with_damage = !_glewInit_EGL_EXT_swap_buffers_with_damage(); +#endif /* EGL_EXT_swap_buffers_with_damage */ +#ifdef EGL_EXT_yuv_surface + EGLEW_EXT_yuv_surface = _glewSearchExtension("EGL_EXT_yuv_surface", extStart, extEnd); +#endif /* EGL_EXT_yuv_surface */ +#ifdef EGL_HI_clientpixmap + EGLEW_HI_clientpixmap = _glewSearchExtension("EGL_HI_clientpixmap", extStart, extEnd); + if (glewExperimental || EGLEW_HI_clientpixmap) EGLEW_HI_clientpixmap = !_glewInit_EGL_HI_clientpixmap(); +#endif /* EGL_HI_clientpixmap */ +#ifdef EGL_HI_colorformats + EGLEW_HI_colorformats = _glewSearchExtension("EGL_HI_colorformats", extStart, extEnd); +#endif /* EGL_HI_colorformats */ +#ifdef EGL_IMG_context_priority + EGLEW_IMG_context_priority = _glewSearchExtension("EGL_IMG_context_priority", extStart, extEnd); +#endif /* EGL_IMG_context_priority */ +#ifdef EGL_IMG_image_plane_attribs + EGLEW_IMG_image_plane_attribs = _glewSearchExtension("EGL_IMG_image_plane_attribs", extStart, extEnd); +#endif /* EGL_IMG_image_plane_attribs */ +#ifdef EGL_KHR_cl_event + EGLEW_KHR_cl_event = _glewSearchExtension("EGL_KHR_cl_event", extStart, extEnd); +#endif /* EGL_KHR_cl_event */ +#ifdef EGL_KHR_cl_event2 + EGLEW_KHR_cl_event2 = _glewSearchExtension("EGL_KHR_cl_event2", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_cl_event2) EGLEW_KHR_cl_event2 = !_glewInit_EGL_KHR_cl_event2(); +#endif /* EGL_KHR_cl_event2 */ +#ifdef EGL_KHR_client_get_all_proc_addresses + EGLEW_KHR_client_get_all_proc_addresses = _glewSearchExtension("EGL_KHR_client_get_all_proc_addresses", extStart, extEnd); +#endif /* EGL_KHR_client_get_all_proc_addresses */ +#ifdef EGL_KHR_config_attribs + EGLEW_KHR_config_attribs = _glewSearchExtension("EGL_KHR_config_attribs", extStart, extEnd); +#endif /* EGL_KHR_config_attribs */ +#ifdef EGL_KHR_context_flush_control + EGLEW_KHR_context_flush_control = _glewSearchExtension("EGL_KHR_context_flush_control", extStart, extEnd); +#endif /* EGL_KHR_context_flush_control */ +#ifdef EGL_KHR_create_context + EGLEW_KHR_create_context = _glewSearchExtension("EGL_KHR_create_context", extStart, extEnd); +#endif /* EGL_KHR_create_context */ +#ifdef EGL_KHR_create_context_no_error + EGLEW_KHR_create_context_no_error = _glewSearchExtension("EGL_KHR_create_context_no_error", extStart, extEnd); +#endif /* EGL_KHR_create_context_no_error */ +#ifdef EGL_KHR_debug + EGLEW_KHR_debug = _glewSearchExtension("EGL_KHR_debug", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_debug) EGLEW_KHR_debug = !_glewInit_EGL_KHR_debug(); +#endif /* EGL_KHR_debug */ +#ifdef EGL_KHR_fence_sync + EGLEW_KHR_fence_sync = _glewSearchExtension("EGL_KHR_fence_sync", extStart, extEnd); +#endif /* EGL_KHR_fence_sync */ +#ifdef EGL_KHR_get_all_proc_addresses + EGLEW_KHR_get_all_proc_addresses = _glewSearchExtension("EGL_KHR_get_all_proc_addresses", extStart, extEnd); +#endif /* EGL_KHR_get_all_proc_addresses */ +#ifdef EGL_KHR_gl_colorspace + EGLEW_KHR_gl_colorspace = _glewSearchExtension("EGL_KHR_gl_colorspace", extStart, extEnd); +#endif /* EGL_KHR_gl_colorspace */ +#ifdef EGL_KHR_gl_renderbuffer_image + EGLEW_KHR_gl_renderbuffer_image = _glewSearchExtension("EGL_KHR_gl_renderbuffer_image", extStart, extEnd); +#endif /* EGL_KHR_gl_renderbuffer_image */ +#ifdef EGL_KHR_gl_texture_2D_image + EGLEW_KHR_gl_texture_2D_image = _glewSearchExtension("EGL_KHR_gl_texture_2D_image", extStart, extEnd); +#endif /* EGL_KHR_gl_texture_2D_image */ +#ifdef EGL_KHR_gl_texture_3D_image + EGLEW_KHR_gl_texture_3D_image = _glewSearchExtension("EGL_KHR_gl_texture_3D_image", extStart, extEnd); +#endif /* EGL_KHR_gl_texture_3D_image */ +#ifdef EGL_KHR_gl_texture_cubemap_image + EGLEW_KHR_gl_texture_cubemap_image = _glewSearchExtension("EGL_KHR_gl_texture_cubemap_image", extStart, extEnd); +#endif /* EGL_KHR_gl_texture_cubemap_image */ +#ifdef EGL_KHR_image + EGLEW_KHR_image = _glewSearchExtension("EGL_KHR_image", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_image) EGLEW_KHR_image = !_glewInit_EGL_KHR_image(); +#endif /* EGL_KHR_image */ +#ifdef EGL_KHR_image_base + EGLEW_KHR_image_base = _glewSearchExtension("EGL_KHR_image_base", extStart, extEnd); +#endif /* EGL_KHR_image_base */ +#ifdef EGL_KHR_image_pixmap + EGLEW_KHR_image_pixmap = _glewSearchExtension("EGL_KHR_image_pixmap", extStart, extEnd); +#endif /* EGL_KHR_image_pixmap */ +#ifdef EGL_KHR_lock_surface + EGLEW_KHR_lock_surface = _glewSearchExtension("EGL_KHR_lock_surface", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_lock_surface) EGLEW_KHR_lock_surface = !_glewInit_EGL_KHR_lock_surface(); +#endif /* EGL_KHR_lock_surface */ +#ifdef EGL_KHR_lock_surface2 + EGLEW_KHR_lock_surface2 = _glewSearchExtension("EGL_KHR_lock_surface2", extStart, extEnd); +#endif /* EGL_KHR_lock_surface2 */ +#ifdef EGL_KHR_lock_surface3 + EGLEW_KHR_lock_surface3 = _glewSearchExtension("EGL_KHR_lock_surface3", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_lock_surface3) EGLEW_KHR_lock_surface3 = !_glewInit_EGL_KHR_lock_surface3(); +#endif /* EGL_KHR_lock_surface3 */ +#ifdef EGL_KHR_mutable_render_buffer + EGLEW_KHR_mutable_render_buffer = _glewSearchExtension("EGL_KHR_mutable_render_buffer", extStart, extEnd); +#endif /* EGL_KHR_mutable_render_buffer */ +#ifdef EGL_KHR_no_config_context + EGLEW_KHR_no_config_context = _glewSearchExtension("EGL_KHR_no_config_context", extStart, extEnd); +#endif /* EGL_KHR_no_config_context */ +#ifdef EGL_KHR_partial_update + EGLEW_KHR_partial_update = _glewSearchExtension("EGL_KHR_partial_update", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_partial_update) EGLEW_KHR_partial_update = !_glewInit_EGL_KHR_partial_update(); +#endif /* EGL_KHR_partial_update */ +#ifdef EGL_KHR_platform_android + EGLEW_KHR_platform_android = _glewSearchExtension("EGL_KHR_platform_android", extStart, extEnd); +#endif /* EGL_KHR_platform_android */ +#ifdef EGL_KHR_platform_gbm + EGLEW_KHR_platform_gbm = _glewSearchExtension("EGL_KHR_platform_gbm", extStart, extEnd); +#endif /* EGL_KHR_platform_gbm */ +#ifdef EGL_KHR_platform_wayland + EGLEW_KHR_platform_wayland = _glewSearchExtension("EGL_KHR_platform_wayland", extStart, extEnd); +#endif /* EGL_KHR_platform_wayland */ +#ifdef EGL_KHR_platform_x11 + EGLEW_KHR_platform_x11 = _glewSearchExtension("EGL_KHR_platform_x11", extStart, extEnd); +#endif /* EGL_KHR_platform_x11 */ +#ifdef EGL_KHR_reusable_sync + EGLEW_KHR_reusable_sync = _glewSearchExtension("EGL_KHR_reusable_sync", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_reusable_sync) EGLEW_KHR_reusable_sync = !_glewInit_EGL_KHR_reusable_sync(); +#endif /* EGL_KHR_reusable_sync */ +#ifdef EGL_KHR_stream + EGLEW_KHR_stream = _glewSearchExtension("EGL_KHR_stream", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream) EGLEW_KHR_stream = !_glewInit_EGL_KHR_stream(); +#endif /* EGL_KHR_stream */ +#ifdef EGL_KHR_stream_attrib + EGLEW_KHR_stream_attrib = _glewSearchExtension("EGL_KHR_stream_attrib", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream_attrib) EGLEW_KHR_stream_attrib = !_glewInit_EGL_KHR_stream_attrib(); +#endif /* EGL_KHR_stream_attrib */ +#ifdef EGL_KHR_stream_consumer_gltexture + EGLEW_KHR_stream_consumer_gltexture = _glewSearchExtension("EGL_KHR_stream_consumer_gltexture", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream_consumer_gltexture) EGLEW_KHR_stream_consumer_gltexture = !_glewInit_EGL_KHR_stream_consumer_gltexture(); +#endif /* EGL_KHR_stream_consumer_gltexture */ +#ifdef EGL_KHR_stream_cross_process_fd + EGLEW_KHR_stream_cross_process_fd = _glewSearchExtension("EGL_KHR_stream_cross_process_fd", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream_cross_process_fd) EGLEW_KHR_stream_cross_process_fd = !_glewInit_EGL_KHR_stream_cross_process_fd(); +#endif /* EGL_KHR_stream_cross_process_fd */ +#ifdef EGL_KHR_stream_fifo + EGLEW_KHR_stream_fifo = _glewSearchExtension("EGL_KHR_stream_fifo", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream_fifo) EGLEW_KHR_stream_fifo = !_glewInit_EGL_KHR_stream_fifo(); +#endif /* EGL_KHR_stream_fifo */ +#ifdef EGL_KHR_stream_producer_aldatalocator + EGLEW_KHR_stream_producer_aldatalocator = _glewSearchExtension("EGL_KHR_stream_producer_aldatalocator", extStart, extEnd); +#endif /* EGL_KHR_stream_producer_aldatalocator */ +#ifdef EGL_KHR_stream_producer_eglsurface + EGLEW_KHR_stream_producer_eglsurface = _glewSearchExtension("EGL_KHR_stream_producer_eglsurface", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_stream_producer_eglsurface) EGLEW_KHR_stream_producer_eglsurface = !_glewInit_EGL_KHR_stream_producer_eglsurface(); +#endif /* EGL_KHR_stream_producer_eglsurface */ +#ifdef EGL_KHR_surfaceless_context + EGLEW_KHR_surfaceless_context = _glewSearchExtension("EGL_KHR_surfaceless_context", extStart, extEnd); +#endif /* EGL_KHR_surfaceless_context */ +#ifdef EGL_KHR_swap_buffers_with_damage + EGLEW_KHR_swap_buffers_with_damage = _glewSearchExtension("EGL_KHR_swap_buffers_with_damage", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_swap_buffers_with_damage) EGLEW_KHR_swap_buffers_with_damage = !_glewInit_EGL_KHR_swap_buffers_with_damage(); +#endif /* EGL_KHR_swap_buffers_with_damage */ +#ifdef EGL_KHR_vg_parent_image + EGLEW_KHR_vg_parent_image = _glewSearchExtension("EGL_KHR_vg_parent_image", extStart, extEnd); +#endif /* EGL_KHR_vg_parent_image */ +#ifdef EGL_KHR_wait_sync + EGLEW_KHR_wait_sync = _glewSearchExtension("EGL_KHR_wait_sync", extStart, extEnd); + if (glewExperimental || EGLEW_KHR_wait_sync) EGLEW_KHR_wait_sync = !_glewInit_EGL_KHR_wait_sync(); +#endif /* EGL_KHR_wait_sync */ +#ifdef EGL_MESA_drm_image + EGLEW_MESA_drm_image = _glewSearchExtension("EGL_MESA_drm_image", extStart, extEnd); + if (glewExperimental || EGLEW_MESA_drm_image) EGLEW_MESA_drm_image = !_glewInit_EGL_MESA_drm_image(); +#endif /* EGL_MESA_drm_image */ +#ifdef EGL_MESA_image_dma_buf_export + EGLEW_MESA_image_dma_buf_export = _glewSearchExtension("EGL_MESA_image_dma_buf_export", extStart, extEnd); + if (glewExperimental || EGLEW_MESA_image_dma_buf_export) EGLEW_MESA_image_dma_buf_export = !_glewInit_EGL_MESA_image_dma_buf_export(); +#endif /* EGL_MESA_image_dma_buf_export */ +#ifdef EGL_MESA_platform_gbm + EGLEW_MESA_platform_gbm = _glewSearchExtension("EGL_MESA_platform_gbm", extStart, extEnd); +#endif /* EGL_MESA_platform_gbm */ +#ifdef EGL_MESA_platform_surfaceless + EGLEW_MESA_platform_surfaceless = _glewSearchExtension("EGL_MESA_platform_surfaceless", extStart, extEnd); +#endif /* EGL_MESA_platform_surfaceless */ +#ifdef EGL_NOK_swap_region + EGLEW_NOK_swap_region = _glewSearchExtension("EGL_NOK_swap_region", extStart, extEnd); + if (glewExperimental || EGLEW_NOK_swap_region) EGLEW_NOK_swap_region = !_glewInit_EGL_NOK_swap_region(); +#endif /* EGL_NOK_swap_region */ +#ifdef EGL_NOK_swap_region2 + EGLEW_NOK_swap_region2 = _glewSearchExtension("EGL_NOK_swap_region2", extStart, extEnd); + if (glewExperimental || EGLEW_NOK_swap_region2) EGLEW_NOK_swap_region2 = !_glewInit_EGL_NOK_swap_region2(); +#endif /* EGL_NOK_swap_region2 */ +#ifdef EGL_NOK_texture_from_pixmap + EGLEW_NOK_texture_from_pixmap = _glewSearchExtension("EGL_NOK_texture_from_pixmap", extStart, extEnd); +#endif /* EGL_NOK_texture_from_pixmap */ +#ifdef EGL_NV_3dvision_surface + EGLEW_NV_3dvision_surface = _glewSearchExtension("EGL_NV_3dvision_surface", extStart, extEnd); +#endif /* EGL_NV_3dvision_surface */ +#ifdef EGL_NV_coverage_sample + EGLEW_NV_coverage_sample = _glewSearchExtension("EGL_NV_coverage_sample", extStart, extEnd); +#endif /* EGL_NV_coverage_sample */ +#ifdef EGL_NV_coverage_sample_resolve + EGLEW_NV_coverage_sample_resolve = _glewSearchExtension("EGL_NV_coverage_sample_resolve", extStart, extEnd); +#endif /* EGL_NV_coverage_sample_resolve */ +#ifdef EGL_NV_cuda_event + EGLEW_NV_cuda_event = _glewSearchExtension("EGL_NV_cuda_event", extStart, extEnd); +#endif /* EGL_NV_cuda_event */ +#ifdef EGL_NV_depth_nonlinear + EGLEW_NV_depth_nonlinear = _glewSearchExtension("EGL_NV_depth_nonlinear", extStart, extEnd); +#endif /* EGL_NV_depth_nonlinear */ +#ifdef EGL_NV_device_cuda + EGLEW_NV_device_cuda = _glewSearchExtension("EGL_NV_device_cuda", extStart, extEnd); +#endif /* EGL_NV_device_cuda */ +#ifdef EGL_NV_native_query + EGLEW_NV_native_query = _glewSearchExtension("EGL_NV_native_query", extStart, extEnd); + if (glewExperimental || EGLEW_NV_native_query) EGLEW_NV_native_query = !_glewInit_EGL_NV_native_query(); +#endif /* EGL_NV_native_query */ +#ifdef EGL_NV_post_convert_rounding + EGLEW_NV_post_convert_rounding = _glewSearchExtension("EGL_NV_post_convert_rounding", extStart, extEnd); +#endif /* EGL_NV_post_convert_rounding */ +#ifdef EGL_NV_post_sub_buffer + EGLEW_NV_post_sub_buffer = _glewSearchExtension("EGL_NV_post_sub_buffer", extStart, extEnd); + if (glewExperimental || EGLEW_NV_post_sub_buffer) EGLEW_NV_post_sub_buffer = !_glewInit_EGL_NV_post_sub_buffer(); +#endif /* EGL_NV_post_sub_buffer */ +#ifdef EGL_NV_robustness_video_memory_purge + EGLEW_NV_robustness_video_memory_purge = _glewSearchExtension("EGL_NV_robustness_video_memory_purge", extStart, extEnd); +#endif /* EGL_NV_robustness_video_memory_purge */ +#ifdef EGL_NV_stream_consumer_gltexture_yuv + EGLEW_NV_stream_consumer_gltexture_yuv = _glewSearchExtension("EGL_NV_stream_consumer_gltexture_yuv", extStart, extEnd); + if (glewExperimental || EGLEW_NV_stream_consumer_gltexture_yuv) EGLEW_NV_stream_consumer_gltexture_yuv = !_glewInit_EGL_NV_stream_consumer_gltexture_yuv(); +#endif /* EGL_NV_stream_consumer_gltexture_yuv */ +#ifdef EGL_NV_stream_cross_display + EGLEW_NV_stream_cross_display = _glewSearchExtension("EGL_NV_stream_cross_display", extStart, extEnd); +#endif /* EGL_NV_stream_cross_display */ +#ifdef EGL_NV_stream_cross_object + EGLEW_NV_stream_cross_object = _glewSearchExtension("EGL_NV_stream_cross_object", extStart, extEnd); +#endif /* EGL_NV_stream_cross_object */ +#ifdef EGL_NV_stream_cross_partition + EGLEW_NV_stream_cross_partition = _glewSearchExtension("EGL_NV_stream_cross_partition", extStart, extEnd); +#endif /* EGL_NV_stream_cross_partition */ +#ifdef EGL_NV_stream_cross_process + EGLEW_NV_stream_cross_process = _glewSearchExtension("EGL_NV_stream_cross_process", extStart, extEnd); +#endif /* EGL_NV_stream_cross_process */ +#ifdef EGL_NV_stream_cross_system + EGLEW_NV_stream_cross_system = _glewSearchExtension("EGL_NV_stream_cross_system", extStart, extEnd); +#endif /* EGL_NV_stream_cross_system */ +#ifdef EGL_NV_stream_fifo_next + EGLEW_NV_stream_fifo_next = _glewSearchExtension("EGL_NV_stream_fifo_next", extStart, extEnd); +#endif /* EGL_NV_stream_fifo_next */ +#ifdef EGL_NV_stream_fifo_synchronous + EGLEW_NV_stream_fifo_synchronous = _glewSearchExtension("EGL_NV_stream_fifo_synchronous", extStart, extEnd); +#endif /* EGL_NV_stream_fifo_synchronous */ +#ifdef EGL_NV_stream_frame_limits + EGLEW_NV_stream_frame_limits = _glewSearchExtension("EGL_NV_stream_frame_limits", extStart, extEnd); +#endif /* EGL_NV_stream_frame_limits */ +#ifdef EGL_NV_stream_metadata + EGLEW_NV_stream_metadata = _glewSearchExtension("EGL_NV_stream_metadata", extStart, extEnd); + if (glewExperimental || EGLEW_NV_stream_metadata) EGLEW_NV_stream_metadata = !_glewInit_EGL_NV_stream_metadata(); +#endif /* EGL_NV_stream_metadata */ +#ifdef EGL_NV_stream_remote + EGLEW_NV_stream_remote = _glewSearchExtension("EGL_NV_stream_remote", extStart, extEnd); +#endif /* EGL_NV_stream_remote */ +#ifdef EGL_NV_stream_reset + EGLEW_NV_stream_reset = _glewSearchExtension("EGL_NV_stream_reset", extStart, extEnd); + if (glewExperimental || EGLEW_NV_stream_reset) EGLEW_NV_stream_reset = !_glewInit_EGL_NV_stream_reset(); +#endif /* EGL_NV_stream_reset */ +#ifdef EGL_NV_stream_socket + EGLEW_NV_stream_socket = _glewSearchExtension("EGL_NV_stream_socket", extStart, extEnd); +#endif /* EGL_NV_stream_socket */ +#ifdef EGL_NV_stream_socket_inet + EGLEW_NV_stream_socket_inet = _glewSearchExtension("EGL_NV_stream_socket_inet", extStart, extEnd); +#endif /* EGL_NV_stream_socket_inet */ +#ifdef EGL_NV_stream_socket_unix + EGLEW_NV_stream_socket_unix = _glewSearchExtension("EGL_NV_stream_socket_unix", extStart, extEnd); +#endif /* EGL_NV_stream_socket_unix */ +#ifdef EGL_NV_stream_sync + EGLEW_NV_stream_sync = _glewSearchExtension("EGL_NV_stream_sync", extStart, extEnd); + if (glewExperimental || EGLEW_NV_stream_sync) EGLEW_NV_stream_sync = !_glewInit_EGL_NV_stream_sync(); +#endif /* EGL_NV_stream_sync */ +#ifdef EGL_NV_sync + EGLEW_NV_sync = _glewSearchExtension("EGL_NV_sync", extStart, extEnd); + if (glewExperimental || EGLEW_NV_sync) EGLEW_NV_sync = !_glewInit_EGL_NV_sync(); +#endif /* EGL_NV_sync */ +#ifdef EGL_NV_system_time + EGLEW_NV_system_time = _glewSearchExtension("EGL_NV_system_time", extStart, extEnd); + if (glewExperimental || EGLEW_NV_system_time) EGLEW_NV_system_time = !_glewInit_EGL_NV_system_time(); +#endif /* EGL_NV_system_time */ +#ifdef EGL_TIZEN_image_native_buffer + EGLEW_TIZEN_image_native_buffer = _glewSearchExtension("EGL_TIZEN_image_native_buffer", extStart, extEnd); +#endif /* EGL_TIZEN_image_native_buffer */ +#ifdef EGL_TIZEN_image_native_surface + EGLEW_TIZEN_image_native_surface = _glewSearchExtension("EGL_TIZEN_image_native_surface", extStart, extEnd); +#endif /* EGL_TIZEN_image_native_surface */ + + return GLEW_OK; +} + +#elif defined(_WIN32) + +PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL = NULL; + +PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD = NULL; +PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD = NULL; +PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD = NULL; +PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD = NULL; +PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD = NULL; +PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD = NULL; +PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD = NULL; +PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD = NULL; +PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD = NULL; + +PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB = NULL; +PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB = NULL; +PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB = NULL; +PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB = NULL; + +PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB = NULL; + +PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB = NULL; + +PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB = NULL; +PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB = NULL; + +PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB = NULL; +PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB = NULL; +PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB = NULL; +PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB = NULL; +PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB = NULL; + +PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB = NULL; +PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB = NULL; +PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB = NULL; + +PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB = NULL; +PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB = NULL; +PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB = NULL; + +PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT = NULL; +PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT = NULL; +PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT = NULL; +PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT = NULL; + +PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT = NULL; + +PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT = NULL; +PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT = NULL; + +PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT = NULL; +PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT = NULL; +PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT = NULL; +PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT = NULL; +PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT = NULL; + +PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT = NULL; +PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT = NULL; +PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT = NULL; + +PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT = NULL; +PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT = NULL; + +PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D = NULL; +PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D = NULL; + +PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D = NULL; +PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D = NULL; +PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D = NULL; +PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D = NULL; + +PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D = NULL; +PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D = NULL; +PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D = NULL; +PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D = NULL; +PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D = NULL; +PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D = NULL; +PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D = NULL; +PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D = NULL; +PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D = NULL; +PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D = NULL; +PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D = NULL; +PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D = NULL; + +PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D = NULL; +PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D = NULL; +PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D = NULL; +PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D = NULL; + +PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D = NULL; +PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D = NULL; +PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D = NULL; +PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D = NULL; + +PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D = NULL; +PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D = NULL; +PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D = NULL; +PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D = NULL; + +PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV = NULL; +PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV = NULL; +PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV = NULL; +PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV = NULL; +PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV = NULL; +PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV = NULL; +PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV = NULL; +PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV = NULL; + +PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV = NULL; + +PFNWGLDELAYBEFORESWAPNVPROC __wglewDelayBeforeSwapNV = NULL; + +PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV = NULL; +PFNWGLDELETEDCNVPROC __wglewDeleteDCNV = NULL; +PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV = NULL; +PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV = NULL; +PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV = NULL; + +PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV = NULL; +PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV = NULL; +PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV = NULL; + +PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV = NULL; +PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV = NULL; +PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV = NULL; +PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV = NULL; +PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV = NULL; +PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV = NULL; + +PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV = NULL; +PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV = NULL; + +PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV = NULL; +PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV = NULL; +PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV = NULL; +PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV = NULL; +PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV = NULL; + +PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV = NULL; +PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV = NULL; +PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV = NULL; +PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV = NULL; +PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV = NULL; +PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV = NULL; + +PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML = NULL; +PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML = NULL; +PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML = NULL; +PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML = NULL; +PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML = NULL; +PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML = NULL; +GLboolean __WGLEW_3DFX_multisample = GL_FALSE; +GLboolean __WGLEW_3DL_stereo_control = GL_FALSE; +GLboolean __WGLEW_AMD_gpu_association = GL_FALSE; +GLboolean __WGLEW_ARB_buffer_region = GL_FALSE; +GLboolean __WGLEW_ARB_context_flush_control = GL_FALSE; +GLboolean __WGLEW_ARB_create_context = GL_FALSE; +GLboolean __WGLEW_ARB_create_context_no_error = GL_FALSE; +GLboolean __WGLEW_ARB_create_context_profile = GL_FALSE; +GLboolean __WGLEW_ARB_create_context_robustness = GL_FALSE; +GLboolean __WGLEW_ARB_extensions_string = GL_FALSE; +GLboolean __WGLEW_ARB_framebuffer_sRGB = GL_FALSE; +GLboolean __WGLEW_ARB_make_current_read = GL_FALSE; +GLboolean __WGLEW_ARB_multisample = GL_FALSE; +GLboolean __WGLEW_ARB_pbuffer = GL_FALSE; +GLboolean __WGLEW_ARB_pixel_format = GL_FALSE; +GLboolean __WGLEW_ARB_pixel_format_float = GL_FALSE; +GLboolean __WGLEW_ARB_render_texture = GL_FALSE; +GLboolean __WGLEW_ARB_robustness_application_isolation = GL_FALSE; +GLboolean __WGLEW_ARB_robustness_share_group_isolation = GL_FALSE; +GLboolean __WGLEW_ATI_pixel_format_float = GL_FALSE; +GLboolean __WGLEW_ATI_render_texture_rectangle = GL_FALSE; +GLboolean __WGLEW_EXT_colorspace = GL_FALSE; +GLboolean __WGLEW_EXT_create_context_es2_profile = GL_FALSE; +GLboolean __WGLEW_EXT_create_context_es_profile = GL_FALSE; +GLboolean __WGLEW_EXT_depth_float = GL_FALSE; +GLboolean __WGLEW_EXT_display_color_table = GL_FALSE; +GLboolean __WGLEW_EXT_extensions_string = GL_FALSE; +GLboolean __WGLEW_EXT_framebuffer_sRGB = GL_FALSE; +GLboolean __WGLEW_EXT_make_current_read = GL_FALSE; +GLboolean __WGLEW_EXT_multisample = GL_FALSE; +GLboolean __WGLEW_EXT_pbuffer = GL_FALSE; +GLboolean __WGLEW_EXT_pixel_format = GL_FALSE; +GLboolean __WGLEW_EXT_pixel_format_packed_float = GL_FALSE; +GLboolean __WGLEW_EXT_swap_control = GL_FALSE; +GLboolean __WGLEW_EXT_swap_control_tear = GL_FALSE; +GLboolean __WGLEW_I3D_digital_video_control = GL_FALSE; +GLboolean __WGLEW_I3D_gamma = GL_FALSE; +GLboolean __WGLEW_I3D_genlock = GL_FALSE; +GLboolean __WGLEW_I3D_image_buffer = GL_FALSE; +GLboolean __WGLEW_I3D_swap_frame_lock = GL_FALSE; +GLboolean __WGLEW_I3D_swap_frame_usage = GL_FALSE; +GLboolean __WGLEW_NV_DX_interop = GL_FALSE; +GLboolean __WGLEW_NV_DX_interop2 = GL_FALSE; +GLboolean __WGLEW_NV_copy_image = GL_FALSE; +GLboolean __WGLEW_NV_delay_before_swap = GL_FALSE; +GLboolean __WGLEW_NV_float_buffer = GL_FALSE; +GLboolean __WGLEW_NV_gpu_affinity = GL_FALSE; +GLboolean __WGLEW_NV_multisample_coverage = GL_FALSE; +GLboolean __WGLEW_NV_present_video = GL_FALSE; +GLboolean __WGLEW_NV_render_depth_texture = GL_FALSE; +GLboolean __WGLEW_NV_render_texture_rectangle = GL_FALSE; +GLboolean __WGLEW_NV_swap_group = GL_FALSE; +GLboolean __WGLEW_NV_vertex_array_range = GL_FALSE; +GLboolean __WGLEW_NV_video_capture = GL_FALSE; +GLboolean __WGLEW_NV_video_output = GL_FALSE; +GLboolean __WGLEW_OML_sync_control = GL_FALSE; +#ifdef WGL_3DL_stereo_control + +static GLboolean _glewInit_WGL_3DL_stereo_control () +{ + GLboolean r = GL_FALSE; + + r = ((wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)glewGetProcAddress((const GLubyte*)"wglSetStereoEmitterState3DL")) == NULL) || r; + + return r; +} + +#endif /* WGL_3DL_stereo_control */ + +#ifdef WGL_AMD_gpu_association + +static GLboolean _glewInit_WGL_AMD_gpu_association () +{ + GLboolean r = GL_FALSE; + + r = ((wglBlitContextFramebufferAMD = (PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)glewGetProcAddress((const GLubyte*)"wglBlitContextFramebufferAMD")) == NULL) || r; + r = ((wglCreateAssociatedContextAMD = (PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglCreateAssociatedContextAMD")) == NULL) || r; + r = ((wglCreateAssociatedContextAttribsAMD = (PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)glewGetProcAddress((const GLubyte*)"wglCreateAssociatedContextAttribsAMD")) == NULL) || r; + r = ((wglDeleteAssociatedContextAMD = (PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglDeleteAssociatedContextAMD")) == NULL) || r; + r = ((wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetContextGPUIDAMD")) == NULL) || r; + r = ((wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentAssociatedContextAMD")) == NULL) || r; + r = ((wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUIDsAMD")) == NULL) || r; + r = ((wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUInfoAMD")) == NULL) || r; + r = ((wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)glewGetProcAddress((const GLubyte*)"wglMakeAssociatedContextCurrentAMD")) == NULL) || r; + + return r; +} + +#endif /* WGL_AMD_gpu_association */ + +#ifdef WGL_ARB_buffer_region + +static GLboolean _glewInit_WGL_ARB_buffer_region () +{ + GLboolean r = GL_FALSE; + + r = ((wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateBufferRegionARB")) == NULL) || r; + r = ((wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglDeleteBufferRegionARB")) == NULL) || r; + r = ((wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglRestoreBufferRegionARB")) == NULL) || r; + r = ((wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglSaveBufferRegionARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_buffer_region */ + +#ifdef WGL_ARB_create_context + +static GLboolean _glewInit_WGL_ARB_create_context () +{ + GLboolean r = GL_FALSE; + + r = ((wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateContextAttribsARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_create_context */ + +#ifdef WGL_ARB_extensions_string + +static GLboolean _glewInit_WGL_ARB_extensions_string () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_extensions_string */ + +#ifdef WGL_ARB_make_current_read + +static GLboolean _glewInit_WGL_ARB_make_current_read () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCARB")) == NULL) || r; + r = ((wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_make_current_read */ + +#ifdef WGL_ARB_pbuffer + +static GLboolean _glewInit_WGL_ARB_pbuffer () +{ + GLboolean r = GL_FALSE; + + r = ((wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferARB")) == NULL) || r; + r = ((wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferARB")) == NULL) || r; + r = ((wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCARB")) == NULL) || r; + r = ((wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferARB")) == NULL) || r; + r = ((wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_pbuffer */ + +#ifdef WGL_ARB_pixel_format + +static GLboolean _glewInit_WGL_ARB_pixel_format () +{ + GLboolean r = GL_FALSE; + + r = ((wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatARB")) == NULL) || r; + r = ((wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvARB")) == NULL) || r; + r = ((wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_pixel_format */ + +#ifdef WGL_ARB_render_texture + +static GLboolean _glewInit_WGL_ARB_render_texture () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglBindTexImageARB")) == NULL) || r; + r = ((wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglReleaseTexImageARB")) == NULL) || r; + r = ((wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"wglSetPbufferAttribARB")) == NULL) || r; + + return r; +} + +#endif /* WGL_ARB_render_texture */ + +#ifdef WGL_EXT_display_color_table + +static GLboolean _glewInit_WGL_EXT_display_color_table () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglBindDisplayColorTableEXT")) == NULL) || r; + r = ((wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglCreateDisplayColorTableEXT")) == NULL) || r; + r = ((wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyDisplayColorTableEXT")) == NULL) || r; + r = ((wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglLoadDisplayColorTableEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_display_color_table */ + +#ifdef WGL_EXT_extensions_string + +static GLboolean _glewInit_WGL_EXT_extensions_string () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_extensions_string */ + +#ifdef WGL_EXT_make_current_read + +static GLboolean _glewInit_WGL_EXT_make_current_read () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCEXT")) == NULL) || r; + r = ((wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_make_current_read */ + +#ifdef WGL_EXT_pbuffer + +static GLboolean _glewInit_WGL_EXT_pbuffer () +{ + GLboolean r = GL_FALSE; + + r = ((wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferEXT")) == NULL) || r; + r = ((wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferEXT")) == NULL) || r; + r = ((wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCEXT")) == NULL) || r; + r = ((wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferEXT")) == NULL) || r; + r = ((wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_pbuffer */ + +#ifdef WGL_EXT_pixel_format + +static GLboolean _glewInit_WGL_EXT_pixel_format () +{ + GLboolean r = GL_FALSE; + + r = ((wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatEXT")) == NULL) || r; + r = ((wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvEXT")) == NULL) || r; + r = ((wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_pixel_format */ + +#ifdef WGL_EXT_swap_control + +static GLboolean _glewInit_WGL_EXT_swap_control () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetSwapIntervalEXT")) == NULL) || r; + r = ((wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglSwapIntervalEXT")) == NULL) || r; + + return r; +} + +#endif /* WGL_EXT_swap_control */ + +#ifdef WGL_I3D_digital_video_control + +static GLboolean _glewInit_WGL_I3D_digital_video_control () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetDigitalVideoParametersI3D")) == NULL) || r; + r = ((wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetDigitalVideoParametersI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_digital_video_control */ + +#ifdef WGL_I3D_gamma + +static GLboolean _glewInit_WGL_I3D_gamma () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableI3D")) == NULL) || r; + r = ((wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableParametersI3D")) == NULL) || r; + r = ((wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableI3D")) == NULL) || r; + r = ((wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableParametersI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_gamma */ + +#ifdef WGL_I3D_genlock + +static GLboolean _glewInit_WGL_I3D_genlock () +{ + GLboolean r = GL_FALSE; + + r = ((wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableGenlockI3D")) == NULL) || r; + r = ((wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableGenlockI3D")) == NULL) || r; + r = ((wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSampleRateI3D")) == NULL) || r; + r = ((wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceDelayI3D")) == NULL) || r; + r = ((wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceEdgeI3D")) == NULL) || r; + r = ((wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceI3D")) == NULL) || r; + r = ((wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSampleRateI3D")) == NULL) || r; + r = ((wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceDelayI3D")) == NULL) || r; + r = ((wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceEdgeI3D")) == NULL) || r; + r = ((wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceI3D")) == NULL) || r; + r = ((wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledGenlockI3D")) == NULL) || r; + r = ((wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryGenlockMaxSourceDelayI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_genlock */ + +#ifdef WGL_I3D_image_buffer + +static GLboolean _glewInit_WGL_I3D_image_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglAssociateImageBufferEventsI3D")) == NULL) || r; + r = ((wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglCreateImageBufferI3D")) == NULL) || r; + r = ((wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglDestroyImageBufferI3D")) == NULL) || r; + r = ((wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglReleaseImageBufferEventsI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_image_buffer */ + +#ifdef WGL_I3D_swap_frame_lock + +static GLboolean _glewInit_WGL_I3D_swap_frame_lock () +{ + GLboolean r = GL_FALSE; + + r = ((wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableFrameLockI3D")) == NULL) || r; + r = ((wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableFrameLockI3D")) == NULL) || r; + r = ((wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledFrameLockI3D")) == NULL) || r; + r = ((wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameLockMasterI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_swap_frame_lock */ + +#ifdef WGL_I3D_swap_frame_usage + +static GLboolean _glewInit_WGL_I3D_swap_frame_usage () +{ + GLboolean r = GL_FALSE; + + r = ((wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglBeginFrameTrackingI3D")) == NULL) || r; + r = ((wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglEndFrameTrackingI3D")) == NULL) || r; + r = ((wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetFrameUsageI3D")) == NULL) || r; + r = ((wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameTrackingI3D")) == NULL) || r; + + return r; +} + +#endif /* WGL_I3D_swap_frame_usage */ + +#ifdef WGL_NV_DX_interop + +static GLboolean _glewInit_WGL_NV_DX_interop () +{ + GLboolean r = GL_FALSE; + + r = ((wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXCloseDeviceNV")) == NULL) || r; + r = ((wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXLockObjectsNV")) == NULL) || r; + r = ((wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXObjectAccessNV")) == NULL) || r; + r = ((wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXOpenDeviceNV")) == NULL) || r; + r = ((wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXRegisterObjectNV")) == NULL) || r; + r = ((wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)glewGetProcAddress((const GLubyte*)"wglDXSetResourceShareHandleNV")) == NULL) || r; + r = ((wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnlockObjectsNV")) == NULL) || r; + r = ((wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnregisterObjectNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_DX_interop */ + +#ifdef WGL_NV_copy_image + +static GLboolean _glewInit_WGL_NV_copy_image () +{ + GLboolean r = GL_FALSE; + + r = ((wglCopyImageSubDataNV = (PFNWGLCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"wglCopyImageSubDataNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_copy_image */ + +#ifdef WGL_NV_delay_before_swap + +static GLboolean _glewInit_WGL_NV_delay_before_swap () +{ + GLboolean r = GL_FALSE; + + r = ((wglDelayBeforeSwapNV = (PFNWGLDELAYBEFORESWAPNVPROC)glewGetProcAddress((const GLubyte*)"wglDelayBeforeSwapNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_delay_before_swap */ + +#ifdef WGL_NV_gpu_affinity + +static GLboolean _glewInit_WGL_NV_gpu_affinity () +{ + GLboolean r = GL_FALSE; + + r = ((wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglCreateAffinityDCNV")) == NULL) || r; + r = ((wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)glewGetProcAddress((const GLubyte*)"wglDeleteDCNV")) == NULL) || r; + r = ((wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpuDevicesNV")) == NULL) || r; + r = ((wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusFromAffinityDCNV")) == NULL) || r; + r = ((wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_gpu_affinity */ + +#ifdef WGL_NV_present_video + +static GLboolean _glewInit_WGL_NV_present_video () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoDeviceNV")) == NULL) || r; + r = ((wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoDevicesNV")) == NULL) || r; + r = ((wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryCurrentContextNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_present_video */ + +#ifdef WGL_NV_swap_group + +static GLboolean _glewInit_WGL_NV_swap_group () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"wglBindSwapBarrierNV")) == NULL) || r; + r = ((wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglJoinSwapGroupNV")) == NULL) || r; + r = ((wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameCountNV")) == NULL) || r; + r = ((wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryMaxSwapGroupsNV")) == NULL) || r; + r = ((wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglQuerySwapGroupNV")) == NULL) || r; + r = ((wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglResetFrameCountNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_swap_group */ + +#ifdef WGL_NV_vertex_array_range + +static GLboolean _glewInit_WGL_NV_vertex_array_range () +{ + GLboolean r = GL_FALSE; + + r = ((wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglAllocateMemoryNV")) == NULL) || r; + r = ((wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglFreeMemoryNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_vertex_array_range */ + +#ifdef WGL_NV_video_capture + +static GLboolean _glewInit_WGL_NV_video_capture () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoCaptureDeviceNV")) == NULL) || r; + r = ((wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoCaptureDevicesNV")) == NULL) || r; + r = ((wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglLockVideoCaptureDeviceNV")) == NULL) || r; + r = ((wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglQueryVideoCaptureDeviceNV")) == NULL) || r; + r = ((wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoCaptureDeviceNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_video_capture */ + +#ifdef WGL_NV_video_output + +static GLboolean _glewInit_WGL_NV_video_output () +{ + GLboolean r = GL_FALSE; + + r = ((wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoImageNV")) == NULL) || r; + r = ((wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoDeviceNV")) == NULL) || r; + r = ((wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoInfoNV")) == NULL) || r; + r = ((wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoDeviceNV")) == NULL) || r; + r = ((wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoImageNV")) == NULL) || r; + r = ((wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"wglSendPbufferToVideoNV")) == NULL) || r; + + return r; +} + +#endif /* WGL_NV_video_output */ + +#ifdef WGL_OML_sync_control + +static GLboolean _glewInit_WGL_OML_sync_control () +{ + GLboolean r = GL_FALSE; + + r = ((wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetMscRateOML")) == NULL) || r; + r = ((wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetSyncValuesOML")) == NULL) || r; + r = ((wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapBuffersMscOML")) == NULL) || r; + r = ((wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapLayerBuffersMscOML")) == NULL) || r; + r = ((wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForMscOML")) == NULL) || r; + r = ((wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForSbcOML")) == NULL) || r; + + return r; +} + +#endif /* WGL_OML_sync_control */ + +/* ------------------------------------------------------------------------- */ + +static PFNWGLGETEXTENSIONSSTRINGARBPROC _wglewGetExtensionsStringARB = NULL; +static PFNWGLGETEXTENSIONSSTRINGEXTPROC _wglewGetExtensionsStringEXT = NULL; + +GLboolean GLEWAPIENTRY wglewGetExtension (const char* name) +{ + const GLubyte* start; + const GLubyte* end; + if (_wglewGetExtensionsStringARB == NULL) + if (_wglewGetExtensionsStringEXT == NULL) + return GL_FALSE; + else + start = (const GLubyte*)_wglewGetExtensionsStringEXT(); + else + start = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC()); + if (start == 0) + return GL_FALSE; + end = start + _glewStrLen(start); + return _glewSearchExtension(name, start, end); +} + +GLenum GLEWAPIENTRY wglewInit () +{ + GLboolean crippled; + const GLubyte* extStart; + const GLubyte* extEnd; + /* find wgl extension string query functions */ + _wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB"); + _wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT"); + /* query wgl extension string */ + if (_wglewGetExtensionsStringARB == NULL) + if (_wglewGetExtensionsStringEXT == NULL) + extStart = (const GLubyte*)""; + else + extStart = (const GLubyte*)_wglewGetExtensionsStringEXT(); + else + extStart = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC()); + extEnd = extStart + _glewStrLen(extStart); + /* initialize extensions */ + crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL; +#ifdef WGL_3DFX_multisample + WGLEW_3DFX_multisample = _glewSearchExtension("WGL_3DFX_multisample", extStart, extEnd); +#endif /* WGL_3DFX_multisample */ +#ifdef WGL_3DL_stereo_control + WGLEW_3DL_stereo_control = _glewSearchExtension("WGL_3DL_stereo_control", extStart, extEnd); + if (glewExperimental || WGLEW_3DL_stereo_control|| crippled) WGLEW_3DL_stereo_control= !_glewInit_WGL_3DL_stereo_control(); +#endif /* WGL_3DL_stereo_control */ +#ifdef WGL_AMD_gpu_association + WGLEW_AMD_gpu_association = _glewSearchExtension("WGL_AMD_gpu_association", extStart, extEnd); + if (glewExperimental || WGLEW_AMD_gpu_association|| crippled) WGLEW_AMD_gpu_association= !_glewInit_WGL_AMD_gpu_association(); +#endif /* WGL_AMD_gpu_association */ +#ifdef WGL_ARB_buffer_region + WGLEW_ARB_buffer_region = _glewSearchExtension("WGL_ARB_buffer_region", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_buffer_region|| crippled) WGLEW_ARB_buffer_region= !_glewInit_WGL_ARB_buffer_region(); +#endif /* WGL_ARB_buffer_region */ +#ifdef WGL_ARB_context_flush_control + WGLEW_ARB_context_flush_control = _glewSearchExtension("WGL_ARB_context_flush_control", extStart, extEnd); +#endif /* WGL_ARB_context_flush_control */ +#ifdef WGL_ARB_create_context + WGLEW_ARB_create_context = _glewSearchExtension("WGL_ARB_create_context", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_create_context|| crippled) WGLEW_ARB_create_context= !_glewInit_WGL_ARB_create_context(); +#endif /* WGL_ARB_create_context */ +#ifdef WGL_ARB_create_context_no_error + WGLEW_ARB_create_context_no_error = _glewSearchExtension("WGL_ARB_create_context_no_error", extStart, extEnd); +#endif /* WGL_ARB_create_context_no_error */ +#ifdef WGL_ARB_create_context_profile + WGLEW_ARB_create_context_profile = _glewSearchExtension("WGL_ARB_create_context_profile", extStart, extEnd); +#endif /* WGL_ARB_create_context_profile */ +#ifdef WGL_ARB_create_context_robustness + WGLEW_ARB_create_context_robustness = _glewSearchExtension("WGL_ARB_create_context_robustness", extStart, extEnd); +#endif /* WGL_ARB_create_context_robustness */ +#ifdef WGL_ARB_extensions_string + WGLEW_ARB_extensions_string = _glewSearchExtension("WGL_ARB_extensions_string", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_extensions_string|| crippled) WGLEW_ARB_extensions_string= !_glewInit_WGL_ARB_extensions_string(); +#endif /* WGL_ARB_extensions_string */ +#ifdef WGL_ARB_framebuffer_sRGB + WGLEW_ARB_framebuffer_sRGB = _glewSearchExtension("WGL_ARB_framebuffer_sRGB", extStart, extEnd); +#endif /* WGL_ARB_framebuffer_sRGB */ +#ifdef WGL_ARB_make_current_read + WGLEW_ARB_make_current_read = _glewSearchExtension("WGL_ARB_make_current_read", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_make_current_read|| crippled) WGLEW_ARB_make_current_read= !_glewInit_WGL_ARB_make_current_read(); +#endif /* WGL_ARB_make_current_read */ +#ifdef WGL_ARB_multisample + WGLEW_ARB_multisample = _glewSearchExtension("WGL_ARB_multisample", extStart, extEnd); +#endif /* WGL_ARB_multisample */ +#ifdef WGL_ARB_pbuffer + WGLEW_ARB_pbuffer = _glewSearchExtension("WGL_ARB_pbuffer", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_pbuffer|| crippled) WGLEW_ARB_pbuffer= !_glewInit_WGL_ARB_pbuffer(); +#endif /* WGL_ARB_pbuffer */ +#ifdef WGL_ARB_pixel_format + WGLEW_ARB_pixel_format = _glewSearchExtension("WGL_ARB_pixel_format", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_pixel_format|| crippled) WGLEW_ARB_pixel_format= !_glewInit_WGL_ARB_pixel_format(); +#endif /* WGL_ARB_pixel_format */ +#ifdef WGL_ARB_pixel_format_float + WGLEW_ARB_pixel_format_float = _glewSearchExtension("WGL_ARB_pixel_format_float", extStart, extEnd); +#endif /* WGL_ARB_pixel_format_float */ +#ifdef WGL_ARB_render_texture + WGLEW_ARB_render_texture = _glewSearchExtension("WGL_ARB_render_texture", extStart, extEnd); + if (glewExperimental || WGLEW_ARB_render_texture|| crippled) WGLEW_ARB_render_texture= !_glewInit_WGL_ARB_render_texture(); +#endif /* WGL_ARB_render_texture */ +#ifdef WGL_ARB_robustness_application_isolation + WGLEW_ARB_robustness_application_isolation = _glewSearchExtension("WGL_ARB_robustness_application_isolation", extStart, extEnd); +#endif /* WGL_ARB_robustness_application_isolation */ +#ifdef WGL_ARB_robustness_share_group_isolation + WGLEW_ARB_robustness_share_group_isolation = _glewSearchExtension("WGL_ARB_robustness_share_group_isolation", extStart, extEnd); +#endif /* WGL_ARB_robustness_share_group_isolation */ +#ifdef WGL_ATI_pixel_format_float + WGLEW_ATI_pixel_format_float = _glewSearchExtension("WGL_ATI_pixel_format_float", extStart, extEnd); +#endif /* WGL_ATI_pixel_format_float */ +#ifdef WGL_ATI_render_texture_rectangle + WGLEW_ATI_render_texture_rectangle = _glewSearchExtension("WGL_ATI_render_texture_rectangle", extStart, extEnd); +#endif /* WGL_ATI_render_texture_rectangle */ +#ifdef WGL_EXT_colorspace + WGLEW_EXT_colorspace = _glewSearchExtension("WGL_EXT_colorspace", extStart, extEnd); +#endif /* WGL_EXT_colorspace */ +#ifdef WGL_EXT_create_context_es2_profile + WGLEW_EXT_create_context_es2_profile = _glewSearchExtension("WGL_EXT_create_context_es2_profile", extStart, extEnd); +#endif /* WGL_EXT_create_context_es2_profile */ +#ifdef WGL_EXT_create_context_es_profile + WGLEW_EXT_create_context_es_profile = _glewSearchExtension("WGL_EXT_create_context_es_profile", extStart, extEnd); +#endif /* WGL_EXT_create_context_es_profile */ +#ifdef WGL_EXT_depth_float + WGLEW_EXT_depth_float = _glewSearchExtension("WGL_EXT_depth_float", extStart, extEnd); +#endif /* WGL_EXT_depth_float */ +#ifdef WGL_EXT_display_color_table + WGLEW_EXT_display_color_table = _glewSearchExtension("WGL_EXT_display_color_table", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_display_color_table|| crippled) WGLEW_EXT_display_color_table= !_glewInit_WGL_EXT_display_color_table(); +#endif /* WGL_EXT_display_color_table */ +#ifdef WGL_EXT_extensions_string + WGLEW_EXT_extensions_string = _glewSearchExtension("WGL_EXT_extensions_string", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_extensions_string|| crippled) WGLEW_EXT_extensions_string= !_glewInit_WGL_EXT_extensions_string(); +#endif /* WGL_EXT_extensions_string */ +#ifdef WGL_EXT_framebuffer_sRGB + WGLEW_EXT_framebuffer_sRGB = _glewSearchExtension("WGL_EXT_framebuffer_sRGB", extStart, extEnd); +#endif /* WGL_EXT_framebuffer_sRGB */ +#ifdef WGL_EXT_make_current_read + WGLEW_EXT_make_current_read = _glewSearchExtension("WGL_EXT_make_current_read", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_make_current_read|| crippled) WGLEW_EXT_make_current_read= !_glewInit_WGL_EXT_make_current_read(); +#endif /* WGL_EXT_make_current_read */ +#ifdef WGL_EXT_multisample + WGLEW_EXT_multisample = _glewSearchExtension("WGL_EXT_multisample", extStart, extEnd); +#endif /* WGL_EXT_multisample */ +#ifdef WGL_EXT_pbuffer + WGLEW_EXT_pbuffer = _glewSearchExtension("WGL_EXT_pbuffer", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_pbuffer|| crippled) WGLEW_EXT_pbuffer= !_glewInit_WGL_EXT_pbuffer(); +#endif /* WGL_EXT_pbuffer */ +#ifdef WGL_EXT_pixel_format + WGLEW_EXT_pixel_format = _glewSearchExtension("WGL_EXT_pixel_format", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_pixel_format|| crippled) WGLEW_EXT_pixel_format= !_glewInit_WGL_EXT_pixel_format(); +#endif /* WGL_EXT_pixel_format */ +#ifdef WGL_EXT_pixel_format_packed_float + WGLEW_EXT_pixel_format_packed_float = _glewSearchExtension("WGL_EXT_pixel_format_packed_float", extStart, extEnd); +#endif /* WGL_EXT_pixel_format_packed_float */ +#ifdef WGL_EXT_swap_control + WGLEW_EXT_swap_control = _glewSearchExtension("WGL_EXT_swap_control", extStart, extEnd); + if (glewExperimental || WGLEW_EXT_swap_control|| crippled) WGLEW_EXT_swap_control= !_glewInit_WGL_EXT_swap_control(); +#endif /* WGL_EXT_swap_control */ +#ifdef WGL_EXT_swap_control_tear + WGLEW_EXT_swap_control_tear = _glewSearchExtension("WGL_EXT_swap_control_tear", extStart, extEnd); +#endif /* WGL_EXT_swap_control_tear */ +#ifdef WGL_I3D_digital_video_control + WGLEW_I3D_digital_video_control = _glewSearchExtension("WGL_I3D_digital_video_control", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_digital_video_control|| crippled) WGLEW_I3D_digital_video_control= !_glewInit_WGL_I3D_digital_video_control(); +#endif /* WGL_I3D_digital_video_control */ +#ifdef WGL_I3D_gamma + WGLEW_I3D_gamma = _glewSearchExtension("WGL_I3D_gamma", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_gamma|| crippled) WGLEW_I3D_gamma= !_glewInit_WGL_I3D_gamma(); +#endif /* WGL_I3D_gamma */ +#ifdef WGL_I3D_genlock + WGLEW_I3D_genlock = _glewSearchExtension("WGL_I3D_genlock", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_genlock|| crippled) WGLEW_I3D_genlock= !_glewInit_WGL_I3D_genlock(); +#endif /* WGL_I3D_genlock */ +#ifdef WGL_I3D_image_buffer + WGLEW_I3D_image_buffer = _glewSearchExtension("WGL_I3D_image_buffer", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_image_buffer|| crippled) WGLEW_I3D_image_buffer= !_glewInit_WGL_I3D_image_buffer(); +#endif /* WGL_I3D_image_buffer */ +#ifdef WGL_I3D_swap_frame_lock + WGLEW_I3D_swap_frame_lock = _glewSearchExtension("WGL_I3D_swap_frame_lock", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_swap_frame_lock|| crippled) WGLEW_I3D_swap_frame_lock= !_glewInit_WGL_I3D_swap_frame_lock(); +#endif /* WGL_I3D_swap_frame_lock */ +#ifdef WGL_I3D_swap_frame_usage + WGLEW_I3D_swap_frame_usage = _glewSearchExtension("WGL_I3D_swap_frame_usage", extStart, extEnd); + if (glewExperimental || WGLEW_I3D_swap_frame_usage|| crippled) WGLEW_I3D_swap_frame_usage= !_glewInit_WGL_I3D_swap_frame_usage(); +#endif /* WGL_I3D_swap_frame_usage */ +#ifdef WGL_NV_DX_interop + WGLEW_NV_DX_interop = _glewSearchExtension("WGL_NV_DX_interop", extStart, extEnd); + if (glewExperimental || WGLEW_NV_DX_interop|| crippled) WGLEW_NV_DX_interop= !_glewInit_WGL_NV_DX_interop(); +#endif /* WGL_NV_DX_interop */ +#ifdef WGL_NV_DX_interop2 + WGLEW_NV_DX_interop2 = _glewSearchExtension("WGL_NV_DX_interop2", extStart, extEnd); +#endif /* WGL_NV_DX_interop2 */ +#ifdef WGL_NV_copy_image + WGLEW_NV_copy_image = _glewSearchExtension("WGL_NV_copy_image", extStart, extEnd); + if (glewExperimental || WGLEW_NV_copy_image|| crippled) WGLEW_NV_copy_image= !_glewInit_WGL_NV_copy_image(); +#endif /* WGL_NV_copy_image */ +#ifdef WGL_NV_delay_before_swap + WGLEW_NV_delay_before_swap = _glewSearchExtension("WGL_NV_delay_before_swap", extStart, extEnd); + if (glewExperimental || WGLEW_NV_delay_before_swap|| crippled) WGLEW_NV_delay_before_swap= !_glewInit_WGL_NV_delay_before_swap(); +#endif /* WGL_NV_delay_before_swap */ +#ifdef WGL_NV_float_buffer + WGLEW_NV_float_buffer = _glewSearchExtension("WGL_NV_float_buffer", extStart, extEnd); +#endif /* WGL_NV_float_buffer */ +#ifdef WGL_NV_gpu_affinity + WGLEW_NV_gpu_affinity = _glewSearchExtension("WGL_NV_gpu_affinity", extStart, extEnd); + if (glewExperimental || WGLEW_NV_gpu_affinity|| crippled) WGLEW_NV_gpu_affinity= !_glewInit_WGL_NV_gpu_affinity(); +#endif /* WGL_NV_gpu_affinity */ +#ifdef WGL_NV_multisample_coverage + WGLEW_NV_multisample_coverage = _glewSearchExtension("WGL_NV_multisample_coverage", extStart, extEnd); +#endif /* WGL_NV_multisample_coverage */ +#ifdef WGL_NV_present_video + WGLEW_NV_present_video = _glewSearchExtension("WGL_NV_present_video", extStart, extEnd); + if (glewExperimental || WGLEW_NV_present_video|| crippled) WGLEW_NV_present_video= !_glewInit_WGL_NV_present_video(); +#endif /* WGL_NV_present_video */ +#ifdef WGL_NV_render_depth_texture + WGLEW_NV_render_depth_texture = _glewSearchExtension("WGL_NV_render_depth_texture", extStart, extEnd); +#endif /* WGL_NV_render_depth_texture */ +#ifdef WGL_NV_render_texture_rectangle + WGLEW_NV_render_texture_rectangle = _glewSearchExtension("WGL_NV_render_texture_rectangle", extStart, extEnd); +#endif /* WGL_NV_render_texture_rectangle */ +#ifdef WGL_NV_swap_group + WGLEW_NV_swap_group = _glewSearchExtension("WGL_NV_swap_group", extStart, extEnd); + if (glewExperimental || WGLEW_NV_swap_group|| crippled) WGLEW_NV_swap_group= !_glewInit_WGL_NV_swap_group(); +#endif /* WGL_NV_swap_group */ +#ifdef WGL_NV_vertex_array_range + WGLEW_NV_vertex_array_range = _glewSearchExtension("WGL_NV_vertex_array_range", extStart, extEnd); + if (glewExperimental || WGLEW_NV_vertex_array_range|| crippled) WGLEW_NV_vertex_array_range= !_glewInit_WGL_NV_vertex_array_range(); +#endif /* WGL_NV_vertex_array_range */ +#ifdef WGL_NV_video_capture + WGLEW_NV_video_capture = _glewSearchExtension("WGL_NV_video_capture", extStart, extEnd); + if (glewExperimental || WGLEW_NV_video_capture|| crippled) WGLEW_NV_video_capture= !_glewInit_WGL_NV_video_capture(); +#endif /* WGL_NV_video_capture */ +#ifdef WGL_NV_video_output + WGLEW_NV_video_output = _glewSearchExtension("WGL_NV_video_output", extStart, extEnd); + if (glewExperimental || WGLEW_NV_video_output|| crippled) WGLEW_NV_video_output= !_glewInit_WGL_NV_video_output(); +#endif /* WGL_NV_video_output */ +#ifdef WGL_OML_sync_control + WGLEW_OML_sync_control = _glewSearchExtension("WGL_OML_sync_control", extStart, extEnd); + if (glewExperimental || WGLEW_OML_sync_control|| crippled) WGLEW_OML_sync_control= !_glewInit_WGL_OML_sync_control(); +#endif /* WGL_OML_sync_control */ + + return GLEW_OK; +} + +#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) + +PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; + +PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig = NULL; +PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext = NULL; +PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer = NULL; +PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap = NULL; +PFNGLXCREATEWINDOWPROC __glewXCreateWindow = NULL; +PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer = NULL; +PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap = NULL; +PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow = NULL; +PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable = NULL; +PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib = NULL; +PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs = NULL; +PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent = NULL; +PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig = NULL; +PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent = NULL; +PFNGLXQUERYCONTEXTPROC __glewXQueryContext = NULL; +PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable = NULL; +PFNGLXSELECTEVENTPROC __glewXSelectEvent = NULL; + +PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC __glewXBlitContextFramebufferAMD = NULL; +PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC __glewXCreateAssociatedContextAMD = NULL; +PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __glewXCreateAssociatedContextAttribsAMD = NULL; +PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC __glewXDeleteAssociatedContextAMD = NULL; +PFNGLXGETCONTEXTGPUIDAMDPROC __glewXGetContextGPUIDAMD = NULL; +PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC __glewXGetCurrentAssociatedContextAMD = NULL; +PFNGLXGETGPUIDSAMDPROC __glewXGetGPUIDsAMD = NULL; +PFNGLXGETGPUINFOAMDPROC __glewXGetGPUInfoAMD = NULL; +PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __glewXMakeAssociatedContextCurrentAMD = NULL; + +PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB = NULL; + +PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI = NULL; +PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI = NULL; +PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI = NULL; + +PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT = NULL; +PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT = NULL; +PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT = NULL; +PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT = NULL; + +PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT = NULL; + +PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT = NULL; +PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT = NULL; + +PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA = NULL; + +PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA = NULL; + +PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA = NULL; + +PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC __glewXQueryCurrentRendererIntegerMESA = NULL; +PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC __glewXQueryCurrentRendererStringMESA = NULL; +PFNGLXQUERYRENDERERINTEGERMESAPROC __glewXQueryRendererIntegerMESA = NULL; +PFNGLXQUERYRENDERERSTRINGMESAPROC __glewXQueryRendererStringMESA = NULL; + +PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA = NULL; + +PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA = NULL; + +PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA = NULL; +PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA = NULL; + +PFNGLXCOPYBUFFERSUBDATANVPROC __glewXCopyBufferSubDataNV = NULL; +PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC __glewXNamedCopyBufferSubDataNV = NULL; + +PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV = NULL; + +PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV = NULL; + +PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV = NULL; +PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV = NULL; + +PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV = NULL; +PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV = NULL; +PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV = NULL; +PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV = NULL; +PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV = NULL; +PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV = NULL; + +PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV = NULL; +PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV = NULL; + +PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV = NULL; +PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV = NULL; +PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV = NULL; +PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV = NULL; +PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV = NULL; + +PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV = NULL; +PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV = NULL; +PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV = NULL; +PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV = NULL; +PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV = NULL; +PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV = NULL; + +PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL; +PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML = NULL; +PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML = NULL; +PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML = NULL; +PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL; + +PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX = NULL; +PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX = NULL; +PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX = NULL; +PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX = NULL; +PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX = NULL; +PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX = NULL; + +PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX = NULL; +PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX = NULL; +PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX = NULL; +PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX = NULL; +PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX = NULL; +PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX = NULL; +PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX = NULL; +PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX = NULL; + +PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX = NULL; +PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX = NULL; +PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX = NULL; +PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX = NULL; +PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX = NULL; + +PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX = NULL; +PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX = NULL; + +PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX = NULL; + +PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX = NULL; +PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX = NULL; +PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX = NULL; +PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX = NULL; +PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX = NULL; + +PFNGLXCUSHIONSGIPROC __glewXCushionSGI = NULL; + +PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI = NULL; +PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI = NULL; + +PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI = NULL; + +PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI = NULL; +PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI = NULL; + +PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN = NULL; + +PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN = NULL; +PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN = NULL; + +GLboolean __GLXEW_VERSION_1_0 = GL_FALSE; +GLboolean __GLXEW_VERSION_1_1 = GL_FALSE; +GLboolean __GLXEW_VERSION_1_2 = GL_FALSE; +GLboolean __GLXEW_VERSION_1_3 = GL_FALSE; +GLboolean __GLXEW_VERSION_1_4 = GL_FALSE; +GLboolean __GLXEW_3DFX_multisample = GL_FALSE; +GLboolean __GLXEW_AMD_gpu_association = GL_FALSE; +GLboolean __GLXEW_ARB_context_flush_control = GL_FALSE; +GLboolean __GLXEW_ARB_create_context = GL_FALSE; +GLboolean __GLXEW_ARB_create_context_no_error = GL_FALSE; +GLboolean __GLXEW_ARB_create_context_profile = GL_FALSE; +GLboolean __GLXEW_ARB_create_context_robustness = GL_FALSE; +GLboolean __GLXEW_ARB_fbconfig_float = GL_FALSE; +GLboolean __GLXEW_ARB_framebuffer_sRGB = GL_FALSE; +GLboolean __GLXEW_ARB_get_proc_address = GL_FALSE; +GLboolean __GLXEW_ARB_multisample = GL_FALSE; +GLboolean __GLXEW_ARB_robustness_application_isolation = GL_FALSE; +GLboolean __GLXEW_ARB_robustness_share_group_isolation = GL_FALSE; +GLboolean __GLXEW_ARB_vertex_buffer_object = GL_FALSE; +GLboolean __GLXEW_ATI_pixel_format_float = GL_FALSE; +GLboolean __GLXEW_ATI_render_texture = GL_FALSE; +GLboolean __GLXEW_EXT_buffer_age = GL_FALSE; +GLboolean __GLXEW_EXT_create_context_es2_profile = GL_FALSE; +GLboolean __GLXEW_EXT_create_context_es_profile = GL_FALSE; +GLboolean __GLXEW_EXT_fbconfig_packed_float = GL_FALSE; +GLboolean __GLXEW_EXT_framebuffer_sRGB = GL_FALSE; +GLboolean __GLXEW_EXT_import_context = GL_FALSE; +GLboolean __GLXEW_EXT_libglvnd = GL_FALSE; +GLboolean __GLXEW_EXT_scene_marker = GL_FALSE; +GLboolean __GLXEW_EXT_stereo_tree = GL_FALSE; +GLboolean __GLXEW_EXT_swap_control = GL_FALSE; +GLboolean __GLXEW_EXT_swap_control_tear = GL_FALSE; +GLboolean __GLXEW_EXT_texture_from_pixmap = GL_FALSE; +GLboolean __GLXEW_EXT_visual_info = GL_FALSE; +GLboolean __GLXEW_EXT_visual_rating = GL_FALSE; +GLboolean __GLXEW_INTEL_swap_event = GL_FALSE; +GLboolean __GLXEW_MESA_agp_offset = GL_FALSE; +GLboolean __GLXEW_MESA_copy_sub_buffer = GL_FALSE; +GLboolean __GLXEW_MESA_pixmap_colormap = GL_FALSE; +GLboolean __GLXEW_MESA_query_renderer = GL_FALSE; +GLboolean __GLXEW_MESA_release_buffers = GL_FALSE; +GLboolean __GLXEW_MESA_set_3dfx_mode = GL_FALSE; +GLboolean __GLXEW_MESA_swap_control = GL_FALSE; +GLboolean __GLXEW_NV_copy_buffer = GL_FALSE; +GLboolean __GLXEW_NV_copy_image = GL_FALSE; +GLboolean __GLXEW_NV_delay_before_swap = GL_FALSE; +GLboolean __GLXEW_NV_float_buffer = GL_FALSE; +GLboolean __GLXEW_NV_multisample_coverage = GL_FALSE; +GLboolean __GLXEW_NV_present_video = GL_FALSE; +GLboolean __GLXEW_NV_robustness_video_memory_purge = GL_FALSE; +GLboolean __GLXEW_NV_swap_group = GL_FALSE; +GLboolean __GLXEW_NV_vertex_array_range = GL_FALSE; +GLboolean __GLXEW_NV_video_capture = GL_FALSE; +GLboolean __GLXEW_NV_video_out = GL_FALSE; +GLboolean __GLXEW_OML_swap_method = GL_FALSE; +GLboolean __GLXEW_OML_sync_control = GL_FALSE; +GLboolean __GLXEW_SGIS_blended_overlay = GL_FALSE; +GLboolean __GLXEW_SGIS_color_range = GL_FALSE; +GLboolean __GLXEW_SGIS_multisample = GL_FALSE; +GLboolean __GLXEW_SGIS_shared_multisample = GL_FALSE; +GLboolean __GLXEW_SGIX_fbconfig = GL_FALSE; +GLboolean __GLXEW_SGIX_hyperpipe = GL_FALSE; +GLboolean __GLXEW_SGIX_pbuffer = GL_FALSE; +GLboolean __GLXEW_SGIX_swap_barrier = GL_FALSE; +GLboolean __GLXEW_SGIX_swap_group = GL_FALSE; +GLboolean __GLXEW_SGIX_video_resize = GL_FALSE; +GLboolean __GLXEW_SGIX_visual_select_group = GL_FALSE; +GLboolean __GLXEW_SGI_cushion = GL_FALSE; +GLboolean __GLXEW_SGI_make_current_read = GL_FALSE; +GLboolean __GLXEW_SGI_swap_control = GL_FALSE; +GLboolean __GLXEW_SGI_video_sync = GL_FALSE; +GLboolean __GLXEW_SUN_get_transparent_index = GL_FALSE; +GLboolean __GLXEW_SUN_video_resize = GL_FALSE; +#ifdef GLX_VERSION_1_2 + +static GLboolean _glewInit_GLX_VERSION_1_2 () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r; + + return r; +} + +#endif /* GLX_VERSION_1_2 */ + +#ifdef GLX_VERSION_1_3 + +static GLboolean _glewInit_GLX_VERSION_1_3 () +{ + GLboolean r = GL_FALSE; + + r = ((glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfig")) == NULL) || r; + r = ((glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXCreateNewContext")) == NULL) || r; + r = ((glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXCreatePbuffer")) == NULL) || r; + r = ((glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXCreatePixmap")) == NULL) || r; + r = ((glXCreateWindow = (PFNGLXCREATEWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXCreateWindow")) == NULL) || r; + r = ((glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPbuffer")) == NULL) || r; + r = ((glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPixmap")) == NULL) || r; + r = ((glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXDestroyWindow")) == NULL) || r; + r = ((glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawable")) == NULL) || r; + r = ((glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttrib")) == NULL) || r; + r = ((glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigs")) == NULL) || r; + r = ((glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEvent")) == NULL) || r; + r = ((glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfig")) == NULL) || r; + r = ((glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)glewGetProcAddress((const GLubyte*)"glXMakeContextCurrent")) == NULL) || r; + r = ((glXQueryContext = (PFNGLXQUERYCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContext")) == NULL) || r; + r = ((glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXQueryDrawable")) == NULL) || r; + r = ((glXSelectEvent = (PFNGLXSELECTEVENTPROC)glewGetProcAddress((const GLubyte*)"glXSelectEvent")) == NULL) || r; + + return r; +} + +#endif /* GLX_VERSION_1_3 */ + +#ifdef GLX_AMD_gpu_association + +static GLboolean _glewInit_GLX_AMD_gpu_association () +{ + GLboolean r = GL_FALSE; + + r = ((glXBlitContextFramebufferAMD = (PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)glewGetProcAddress((const GLubyte*)"glXBlitContextFramebufferAMD")) == NULL) || r; + r = ((glXCreateAssociatedContextAMD = (PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXCreateAssociatedContextAMD")) == NULL) || r; + r = ((glXCreateAssociatedContextAttribsAMD = (PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)glewGetProcAddress((const GLubyte*)"glXCreateAssociatedContextAttribsAMD")) == NULL) || r; + r = ((glXDeleteAssociatedContextAMD = (PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXDeleteAssociatedContextAMD")) == NULL) || r; + r = ((glXGetContextGPUIDAMD = (PFNGLXGETCONTEXTGPUIDAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetContextGPUIDAMD")) == NULL) || r; + r = ((glXGetCurrentAssociatedContextAMD = (PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentAssociatedContextAMD")) == NULL) || r; + r = ((glXGetGPUIDsAMD = (PFNGLXGETGPUIDSAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetGPUIDsAMD")) == NULL) || r; + r = ((glXGetGPUInfoAMD = (PFNGLXGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetGPUInfoAMD")) == NULL) || r; + r = ((glXMakeAssociatedContextCurrentAMD = (PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)glewGetProcAddress((const GLubyte*)"glXMakeAssociatedContextCurrentAMD")) == NULL) || r; + + return r; +} + +#endif /* GLX_AMD_gpu_association */ + +#ifdef GLX_ARB_create_context + +static GLboolean _glewInit_GLX_ARB_create_context () +{ + GLboolean r = GL_FALSE; + + r = ((glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB")) == NULL) || r; + + return r; +} + +#endif /* GLX_ARB_create_context */ + +#ifdef GLX_ATI_render_texture + +static GLboolean _glewInit_GLX_ATI_render_texture () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindTexImageATI = (PFNGLXBINDTEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageATI")) == NULL) || r; + r = ((glXDrawableAttribATI = (PFNGLXDRAWABLEATTRIBATIPROC)glewGetProcAddress((const GLubyte*)"glXDrawableAttribATI")) == NULL) || r; + r = ((glXReleaseTexImageATI = (PFNGLXRELEASETEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageATI")) == NULL) || r; + + return r; +} + +#endif /* GLX_ATI_render_texture */ + +#ifdef GLX_EXT_import_context + +static GLboolean _glewInit_GLX_EXT_import_context () +{ + GLboolean r = GL_FALSE; + + r = ((glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXFreeContextEXT")) == NULL) || r; + r = ((glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC)glewGetProcAddress((const GLubyte*)"glXGetContextIDEXT")) == NULL) || r; + r = ((glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXImportContextEXT")) == NULL) || r; + r = ((glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContextInfoEXT")) == NULL) || r; + + return r; +} + +#endif /* GLX_EXT_import_context */ + +#ifdef GLX_EXT_swap_control + +static GLboolean _glewInit_GLX_EXT_swap_control () +{ + GLboolean r = GL_FALSE; + + r = ((glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalEXT")) == NULL) || r; + + return r; +} + +#endif /* GLX_EXT_swap_control */ + +#ifdef GLX_EXT_texture_from_pixmap + +static GLboolean _glewInit_GLX_EXT_texture_from_pixmap () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageEXT")) == NULL) || r; + r = ((glXReleaseTexImageEXT = (PFNGLXRELEASETEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageEXT")) == NULL) || r; + + return r; +} + +#endif /* GLX_EXT_texture_from_pixmap */ + +#ifdef GLX_MESA_agp_offset + +static GLboolean _glewInit_GLX_MESA_agp_offset () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetAGPOffsetMESA = (PFNGLXGETAGPOFFSETMESAPROC)glewGetProcAddress((const GLubyte*)"glXGetAGPOffsetMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_agp_offset */ + +#ifdef GLX_MESA_copy_sub_buffer + +static GLboolean _glewInit_GLX_MESA_copy_sub_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC)glewGetProcAddress((const GLubyte*)"glXCopySubBufferMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_copy_sub_buffer */ + +#ifdef GLX_MESA_pixmap_colormap + +static GLboolean _glewInit_GLX_MESA_pixmap_colormap () +{ + GLboolean r = GL_FALSE; + + r = ((glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_pixmap_colormap */ + +#ifdef GLX_MESA_query_renderer + +static GLboolean _glewInit_GLX_MESA_query_renderer () +{ + GLboolean r = GL_FALSE; + + r = ((glXQueryCurrentRendererIntegerMESA = (PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC)glewGetProcAddress((const GLubyte*)"glXQueryCurrentRendererIntegerMESA")) == NULL) || r; + r = ((glXQueryCurrentRendererStringMESA = (PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC)glewGetProcAddress((const GLubyte*)"glXQueryCurrentRendererStringMESA")) == NULL) || r; + r = ((glXQueryRendererIntegerMESA = (PFNGLXQUERYRENDERERINTEGERMESAPROC)glewGetProcAddress((const GLubyte*)"glXQueryRendererIntegerMESA")) == NULL) || r; + r = ((glXQueryRendererStringMESA = (PFNGLXQUERYRENDERERSTRINGMESAPROC)glewGetProcAddress((const GLubyte*)"glXQueryRendererStringMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_query_renderer */ + +#ifdef GLX_MESA_release_buffers + +static GLboolean _glewInit_GLX_MESA_release_buffers () +{ + GLboolean r = GL_FALSE; + + r = ((glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glXReleaseBuffersMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_release_buffers */ + +#ifdef GLX_MESA_set_3dfx_mode + +static GLboolean _glewInit_GLX_MESA_set_3dfx_mode () +{ + GLboolean r = GL_FALSE; + + r = ((glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)glewGetProcAddress((const GLubyte*)"glXSet3DfxModeMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_set_3dfx_mode */ + +#ifdef GLX_MESA_swap_control + +static GLboolean _glewInit_GLX_MESA_swap_control () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetSwapIntervalMESA = (PFNGLXGETSWAPINTERVALMESAPROC)glewGetProcAddress((const GLubyte*)"glXGetSwapIntervalMESA")) == NULL) || r; + r = ((glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalMESA")) == NULL) || r; + + return r; +} + +#endif /* GLX_MESA_swap_control */ + +#ifdef GLX_NV_copy_buffer + +static GLboolean _glewInit_GLX_NV_copy_buffer () +{ + GLboolean r = GL_FALSE; + + r = ((glXCopyBufferSubDataNV = (PFNGLXCOPYBUFFERSUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glXCopyBufferSubDataNV")) == NULL) || r; + r = ((glXNamedCopyBufferSubDataNV = (PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glXNamedCopyBufferSubDataNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_copy_buffer */ + +#ifdef GLX_NV_copy_image + +static GLboolean _glewInit_GLX_NV_copy_image () +{ + GLboolean r = GL_FALSE; + + r = ((glXCopyImageSubDataNV = (PFNGLXCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glXCopyImageSubDataNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_copy_image */ + +#ifdef GLX_NV_delay_before_swap + +static GLboolean _glewInit_GLX_NV_delay_before_swap () +{ + GLboolean r = GL_FALSE; + + r = ((glXDelayBeforeSwapNV = (PFNGLXDELAYBEFORESWAPNVPROC)glewGetProcAddress((const GLubyte*)"glXDelayBeforeSwapNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_delay_before_swap */ + +#ifdef GLX_NV_present_video + +static GLboolean _glewInit_GLX_NV_present_video () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindVideoDeviceNV = (PFNGLXBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoDeviceNV")) == NULL) || r; + r = ((glXEnumerateVideoDevicesNV = (PFNGLXENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoDevicesNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_present_video */ + +#ifdef GLX_NV_swap_group + +static GLboolean _glewInit_GLX_NV_swap_group () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindSwapBarrierNV = (PFNGLXBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierNV")) == NULL) || r; + r = ((glXJoinSwapGroupNV = (PFNGLXJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupNV")) == NULL) || r; + r = ((glXQueryFrameCountNV = (PFNGLXQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryFrameCountNV")) == NULL) || r; + r = ((glXQueryMaxSwapGroupsNV = (PFNGLXQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapGroupsNV")) == NULL) || r; + r = ((glXQuerySwapGroupNV = (PFNGLXQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXQuerySwapGroupNV")) == NULL) || r; + r = ((glXResetFrameCountNV = (PFNGLXRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXResetFrameCountNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_swap_group */ + +#ifdef GLX_NV_vertex_array_range + +static GLboolean _glewInit_GLX_NV_vertex_array_range () +{ + GLboolean r = GL_FALSE; + + r = ((glXAllocateMemoryNV = (PFNGLXALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXAllocateMemoryNV")) == NULL) || r; + r = ((glXFreeMemoryNV = (PFNGLXFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXFreeMemoryNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_vertex_array_range */ + +#ifdef GLX_NV_video_capture + +static GLboolean _glewInit_GLX_NV_video_capture () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindVideoCaptureDeviceNV = (PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoCaptureDeviceNV")) == NULL) || r; + r = ((glXEnumerateVideoCaptureDevicesNV = (PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoCaptureDevicesNV")) == NULL) || r; + r = ((glXLockVideoCaptureDeviceNV = (PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXLockVideoCaptureDeviceNV")) == NULL) || r; + r = ((glXQueryVideoCaptureDeviceNV = (PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXQueryVideoCaptureDeviceNV")) == NULL) || r; + r = ((glXReleaseVideoCaptureDeviceNV = (PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoCaptureDeviceNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_video_capture */ + +#ifdef GLX_NV_video_out + +static GLboolean _glewInit_GLX_NV_video_out () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindVideoImageNV = (PFNGLXBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoImageNV")) == NULL) || r; + r = ((glXGetVideoDeviceNV = (PFNGLXGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoDeviceNV")) == NULL) || r; + r = ((glXGetVideoInfoNV = (PFNGLXGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoInfoNV")) == NULL) || r; + r = ((glXReleaseVideoDeviceNV = (PFNGLXRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoDeviceNV")) == NULL) || r; + r = ((glXReleaseVideoImageNV = (PFNGLXRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoImageNV")) == NULL) || r; + r = ((glXSendPbufferToVideoNV = (PFNGLXSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"glXSendPbufferToVideoNV")) == NULL) || r; + + return r; +} + +#endif /* GLX_NV_video_out */ + +#ifdef GLX_OML_sync_control + +static GLboolean _glewInit_GLX_OML_sync_control () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetMscRateOML")) == NULL) || r; + r = ((glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetSyncValuesOML")) == NULL) || r; + r = ((glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXSwapBuffersMscOML")) == NULL) || r; + r = ((glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForMscOML")) == NULL) || r; + r = ((glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForSbcOML")) == NULL) || r; + + return r; +} + +#endif /* GLX_OML_sync_control */ + +#ifdef GLX_SGIX_fbconfig + +static GLboolean _glewInit_GLX_SGIX_fbconfig () +{ + GLboolean r = GL_FALSE; + + r = ((glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfigSGIX")) == NULL) || r; + r = ((glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextWithConfigSGIX")) == NULL) || r; + r = ((glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapWithConfigSGIX")) == NULL) || r; + r = ((glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttribSGIX")) == NULL) || r; + r = ((glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigFromVisualSGIX")) == NULL) || r; + r = ((glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfigSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_fbconfig */ + +#ifdef GLX_SGIX_hyperpipe + +static GLboolean _glewInit_GLX_SGIX_hyperpipe () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindHyperpipeSGIX = (PFNGLXBINDHYPERPIPESGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindHyperpipeSGIX")) == NULL) || r; + r = ((glXDestroyHyperpipeConfigSGIX = (PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyHyperpipeConfigSGIX")) == NULL) || r; + r = ((glXHyperpipeAttribSGIX = (PFNGLXHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeAttribSGIX")) == NULL) || r; + r = ((glXHyperpipeConfigSGIX = (PFNGLXHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeConfigSGIX")) == NULL) || r; + r = ((glXQueryHyperpipeAttribSGIX = (PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeAttribSGIX")) == NULL) || r; + r = ((glXQueryHyperpipeBestAttribSGIX = (PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeBestAttribSGIX")) == NULL) || r; + r = ((glXQueryHyperpipeConfigSGIX = (PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeConfigSGIX")) == NULL) || r; + r = ((glXQueryHyperpipeNetworkSGIX = (PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeNetworkSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_hyperpipe */ + +#ifdef GLX_SGIX_pbuffer + +static GLboolean _glewInit_GLX_SGIX_pbuffer () +{ + GLboolean r = GL_FALSE; + + r = ((glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPbufferSGIX")) == NULL) || r; + r = ((glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyGLXPbufferSGIX")) == NULL) || r; + r = ((glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEventSGIX")) == NULL) || r; + r = ((glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryGLXPbufferSGIX")) == NULL) || r; + r = ((glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXSelectEventSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_pbuffer */ + +#ifdef GLX_SGIX_swap_barrier + +static GLboolean _glewInit_GLX_SGIX_swap_barrier () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierSGIX")) == NULL) || r; + r = ((glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapBarriersSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_swap_barrier */ + +#ifdef GLX_SGIX_swap_group + +static GLboolean _glewInit_GLX_SGIX_swap_group () +{ + GLboolean r = GL_FALSE; + + r = ((glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_swap_group */ + +#ifdef GLX_SGIX_video_resize + +static GLboolean _glewInit_GLX_SGIX_video_resize () +{ + GLboolean r = GL_FALSE; + + r = ((glXBindChannelToWindowSGIX = (PFNGLXBINDCHANNELTOWINDOWSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindChannelToWindowSGIX")) == NULL) || r; + r = ((glXChannelRectSGIX = (PFNGLXCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSGIX")) == NULL) || r; + r = ((glXChannelRectSyncSGIX = (PFNGLXCHANNELRECTSYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSyncSGIX")) == NULL) || r; + r = ((glXQueryChannelDeltasSGIX = (PFNGLXQUERYCHANNELDELTASSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelDeltasSGIX")) == NULL) || r; + r = ((glXQueryChannelRectSGIX = (PFNGLXQUERYCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelRectSGIX")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGIX_video_resize */ + +#ifdef GLX_SGI_cushion + +static GLboolean _glewInit_GLX_SGI_cushion () +{ + GLboolean r = GL_FALSE; + + r = ((glXCushionSGI = (PFNGLXCUSHIONSGIPROC)glewGetProcAddress((const GLubyte*)"glXCushionSGI")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGI_cushion */ + +#ifdef GLX_SGI_make_current_read + +static GLboolean _glewInit_GLX_SGI_make_current_read () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawableSGI")) == NULL) || r; + r = ((glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC)glewGetProcAddress((const GLubyte*)"glXMakeCurrentReadSGI")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGI_make_current_read */ + +#ifdef GLX_SGI_swap_control + +static GLboolean _glewInit_GLX_SGI_swap_control () +{ + GLboolean r = GL_FALSE; + + r = ((glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalSGI")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGI_swap_control */ + +#ifdef GLX_SGI_video_sync + +static GLboolean _glewInit_GLX_SGI_video_sync () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoSyncSGI")) == NULL) || r; + r = ((glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXWaitVideoSyncSGI")) == NULL) || r; + + return r; +} + +#endif /* GLX_SGI_video_sync */ + +#ifdef GLX_SUN_get_transparent_index + +static GLboolean _glewInit_GLX_SUN_get_transparent_index () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC)glewGetProcAddress((const GLubyte*)"glXGetTransparentIndexSUN")) == NULL) || r; + + return r; +} + +#endif /* GLX_SUN_get_transparent_index */ + +#ifdef GLX_SUN_video_resize + +static GLboolean _glewInit_GLX_SUN_video_resize () +{ + GLboolean r = GL_FALSE; + + r = ((glXGetVideoResizeSUN = (PFNGLXGETVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoResizeSUN")) == NULL) || r; + r = ((glXVideoResizeSUN = (PFNGLXVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXVideoResizeSUN")) == NULL) || r; + + return r; +} + +#endif /* GLX_SUN_video_resize */ + +/* ------------------------------------------------------------------------ */ + +GLboolean glxewGetExtension (const char* name) +{ + const GLubyte* start; + const GLubyte* end; + + if (glXGetCurrentDisplay == NULL) return GL_FALSE; + start = (const GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); + if (0 == start) return GL_FALSE; + end = start + _glewStrLen(start); + return _glewSearchExtension(name, start, end); +} + +GLenum glxewInit () +{ + Display* display; + int major, minor; + const GLubyte* extStart; + const GLubyte* extEnd; + /* initialize core GLX 1.2 */ + if (_glewInit_GLX_VERSION_1_2()) return GLEW_ERROR_GLX_VERSION_11_ONLY; + /* check for a display */ + display = glXGetCurrentDisplay(); + if (display == NULL) return GLEW_ERROR_NO_GLX_DISPLAY; + /* initialize flags */ + GLXEW_VERSION_1_0 = GL_TRUE; + GLXEW_VERSION_1_1 = GL_TRUE; + GLXEW_VERSION_1_2 = GL_TRUE; + GLXEW_VERSION_1_3 = GL_TRUE; + GLXEW_VERSION_1_4 = GL_TRUE; + /* query GLX version */ + glXQueryVersion(display, &major, &minor); + if (major == 1 && minor <= 3) + { + switch (minor) + { + case 3: + GLXEW_VERSION_1_4 = GL_FALSE; + break; + case 2: + GLXEW_VERSION_1_4 = GL_FALSE; + GLXEW_VERSION_1_3 = GL_FALSE; + break; + default: + return GLEW_ERROR_GLX_VERSION_11_ONLY; + break; + } + } + /* query GLX extension string */ + extStart = 0; + if (glXGetCurrentDisplay != NULL) + extStart = (const GLubyte*)glXGetClientString(display, GLX_EXTENSIONS); + if (extStart == 0) + extStart = (const GLubyte *)""; + extEnd = extStart + _glewStrLen(extStart); + /* initialize extensions */ +#ifdef GLX_VERSION_1_3 + if (glewExperimental || GLXEW_VERSION_1_3) GLXEW_VERSION_1_3 = !_glewInit_GLX_VERSION_1_3(); +#endif /* GLX_VERSION_1_3 */ +#ifdef GLX_3DFX_multisample + GLXEW_3DFX_multisample = _glewSearchExtension("GLX_3DFX_multisample", extStart, extEnd); +#endif /* GLX_3DFX_multisample */ +#ifdef GLX_AMD_gpu_association + GLXEW_AMD_gpu_association = _glewSearchExtension("GLX_AMD_gpu_association", extStart, extEnd); + if (glewExperimental || GLXEW_AMD_gpu_association) GLXEW_AMD_gpu_association = !_glewInit_GLX_AMD_gpu_association(); +#endif /* GLX_AMD_gpu_association */ +#ifdef GLX_ARB_context_flush_control + GLXEW_ARB_context_flush_control = _glewSearchExtension("GLX_ARB_context_flush_control", extStart, extEnd); +#endif /* GLX_ARB_context_flush_control */ +#ifdef GLX_ARB_create_context + GLXEW_ARB_create_context = _glewSearchExtension("GLX_ARB_create_context", extStart, extEnd); + if (glewExperimental || GLXEW_ARB_create_context) GLXEW_ARB_create_context = !_glewInit_GLX_ARB_create_context(); +#endif /* GLX_ARB_create_context */ +#ifdef GLX_ARB_create_context_no_error + GLXEW_ARB_create_context_no_error = _glewSearchExtension("GLX_ARB_create_context_no_error", extStart, extEnd); +#endif /* GLX_ARB_create_context_no_error */ +#ifdef GLX_ARB_create_context_profile + GLXEW_ARB_create_context_profile = _glewSearchExtension("GLX_ARB_create_context_profile", extStart, extEnd); +#endif /* GLX_ARB_create_context_profile */ +#ifdef GLX_ARB_create_context_robustness + GLXEW_ARB_create_context_robustness = _glewSearchExtension("GLX_ARB_create_context_robustness", extStart, extEnd); +#endif /* GLX_ARB_create_context_robustness */ +#ifdef GLX_ARB_fbconfig_float + GLXEW_ARB_fbconfig_float = _glewSearchExtension("GLX_ARB_fbconfig_float", extStart, extEnd); +#endif /* GLX_ARB_fbconfig_float */ +#ifdef GLX_ARB_framebuffer_sRGB + GLXEW_ARB_framebuffer_sRGB = _glewSearchExtension("GLX_ARB_framebuffer_sRGB", extStart, extEnd); +#endif /* GLX_ARB_framebuffer_sRGB */ +#ifdef GLX_ARB_get_proc_address + GLXEW_ARB_get_proc_address = _glewSearchExtension("GLX_ARB_get_proc_address", extStart, extEnd); +#endif /* GLX_ARB_get_proc_address */ +#ifdef GLX_ARB_multisample + GLXEW_ARB_multisample = _glewSearchExtension("GLX_ARB_multisample", extStart, extEnd); +#endif /* GLX_ARB_multisample */ +#ifdef GLX_ARB_robustness_application_isolation + GLXEW_ARB_robustness_application_isolation = _glewSearchExtension("GLX_ARB_robustness_application_isolation", extStart, extEnd); +#endif /* GLX_ARB_robustness_application_isolation */ +#ifdef GLX_ARB_robustness_share_group_isolation + GLXEW_ARB_robustness_share_group_isolation = _glewSearchExtension("GLX_ARB_robustness_share_group_isolation", extStart, extEnd); +#endif /* GLX_ARB_robustness_share_group_isolation */ +#ifdef GLX_ARB_vertex_buffer_object + GLXEW_ARB_vertex_buffer_object = _glewSearchExtension("GLX_ARB_vertex_buffer_object", extStart, extEnd); +#endif /* GLX_ARB_vertex_buffer_object */ +#ifdef GLX_ATI_pixel_format_float + GLXEW_ATI_pixel_format_float = _glewSearchExtension("GLX_ATI_pixel_format_float", extStart, extEnd); +#endif /* GLX_ATI_pixel_format_float */ +#ifdef GLX_ATI_render_texture + GLXEW_ATI_render_texture = _glewSearchExtension("GLX_ATI_render_texture", extStart, extEnd); + if (glewExperimental || GLXEW_ATI_render_texture) GLXEW_ATI_render_texture = !_glewInit_GLX_ATI_render_texture(); +#endif /* GLX_ATI_render_texture */ +#ifdef GLX_EXT_buffer_age + GLXEW_EXT_buffer_age = _glewSearchExtension("GLX_EXT_buffer_age", extStart, extEnd); +#endif /* GLX_EXT_buffer_age */ +#ifdef GLX_EXT_create_context_es2_profile + GLXEW_EXT_create_context_es2_profile = _glewSearchExtension("GLX_EXT_create_context_es2_profile", extStart, extEnd); +#endif /* GLX_EXT_create_context_es2_profile */ +#ifdef GLX_EXT_create_context_es_profile + GLXEW_EXT_create_context_es_profile = _glewSearchExtension("GLX_EXT_create_context_es_profile", extStart, extEnd); +#endif /* GLX_EXT_create_context_es_profile */ +#ifdef GLX_EXT_fbconfig_packed_float + GLXEW_EXT_fbconfig_packed_float = _glewSearchExtension("GLX_EXT_fbconfig_packed_float", extStart, extEnd); +#endif /* GLX_EXT_fbconfig_packed_float */ +#ifdef GLX_EXT_framebuffer_sRGB + GLXEW_EXT_framebuffer_sRGB = _glewSearchExtension("GLX_EXT_framebuffer_sRGB", extStart, extEnd); +#endif /* GLX_EXT_framebuffer_sRGB */ +#ifdef GLX_EXT_import_context + GLXEW_EXT_import_context = _glewSearchExtension("GLX_EXT_import_context", extStart, extEnd); + if (glewExperimental || GLXEW_EXT_import_context) GLXEW_EXT_import_context = !_glewInit_GLX_EXT_import_context(); +#endif /* GLX_EXT_import_context */ +#ifdef GLX_EXT_libglvnd + GLXEW_EXT_libglvnd = _glewSearchExtension("GLX_EXT_libglvnd", extStart, extEnd); +#endif /* GLX_EXT_libglvnd */ +#ifdef GLX_EXT_scene_marker + GLXEW_EXT_scene_marker = _glewSearchExtension("GLX_EXT_scene_marker", extStart, extEnd); +#endif /* GLX_EXT_scene_marker */ +#ifdef GLX_EXT_stereo_tree + GLXEW_EXT_stereo_tree = _glewSearchExtension("GLX_EXT_stereo_tree", extStart, extEnd); +#endif /* GLX_EXT_stereo_tree */ +#ifdef GLX_EXT_swap_control + GLXEW_EXT_swap_control = _glewSearchExtension("GLX_EXT_swap_control", extStart, extEnd); + if (glewExperimental || GLXEW_EXT_swap_control) GLXEW_EXT_swap_control = !_glewInit_GLX_EXT_swap_control(); +#endif /* GLX_EXT_swap_control */ +#ifdef GLX_EXT_swap_control_tear + GLXEW_EXT_swap_control_tear = _glewSearchExtension("GLX_EXT_swap_control_tear", extStart, extEnd); +#endif /* GLX_EXT_swap_control_tear */ +#ifdef GLX_EXT_texture_from_pixmap + GLXEW_EXT_texture_from_pixmap = _glewSearchExtension("GLX_EXT_texture_from_pixmap", extStart, extEnd); + if (glewExperimental || GLXEW_EXT_texture_from_pixmap) GLXEW_EXT_texture_from_pixmap = !_glewInit_GLX_EXT_texture_from_pixmap(); +#endif /* GLX_EXT_texture_from_pixmap */ +#ifdef GLX_EXT_visual_info + GLXEW_EXT_visual_info = _glewSearchExtension("GLX_EXT_visual_info", extStart, extEnd); +#endif /* GLX_EXT_visual_info */ +#ifdef GLX_EXT_visual_rating + GLXEW_EXT_visual_rating = _glewSearchExtension("GLX_EXT_visual_rating", extStart, extEnd); +#endif /* GLX_EXT_visual_rating */ +#ifdef GLX_INTEL_swap_event + GLXEW_INTEL_swap_event = _glewSearchExtension("GLX_INTEL_swap_event", extStart, extEnd); +#endif /* GLX_INTEL_swap_event */ +#ifdef GLX_MESA_agp_offset + GLXEW_MESA_agp_offset = _glewSearchExtension("GLX_MESA_agp_offset", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_agp_offset) GLXEW_MESA_agp_offset = !_glewInit_GLX_MESA_agp_offset(); +#endif /* GLX_MESA_agp_offset */ +#ifdef GLX_MESA_copy_sub_buffer + GLXEW_MESA_copy_sub_buffer = _glewSearchExtension("GLX_MESA_copy_sub_buffer", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_copy_sub_buffer) GLXEW_MESA_copy_sub_buffer = !_glewInit_GLX_MESA_copy_sub_buffer(); +#endif /* GLX_MESA_copy_sub_buffer */ +#ifdef GLX_MESA_pixmap_colormap + GLXEW_MESA_pixmap_colormap = _glewSearchExtension("GLX_MESA_pixmap_colormap", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_pixmap_colormap) GLXEW_MESA_pixmap_colormap = !_glewInit_GLX_MESA_pixmap_colormap(); +#endif /* GLX_MESA_pixmap_colormap */ +#ifdef GLX_MESA_query_renderer + GLXEW_MESA_query_renderer = _glewSearchExtension("GLX_MESA_query_renderer", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_query_renderer) GLXEW_MESA_query_renderer = !_glewInit_GLX_MESA_query_renderer(); +#endif /* GLX_MESA_query_renderer */ +#ifdef GLX_MESA_release_buffers + GLXEW_MESA_release_buffers = _glewSearchExtension("GLX_MESA_release_buffers", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_release_buffers) GLXEW_MESA_release_buffers = !_glewInit_GLX_MESA_release_buffers(); +#endif /* GLX_MESA_release_buffers */ +#ifdef GLX_MESA_set_3dfx_mode + GLXEW_MESA_set_3dfx_mode = _glewSearchExtension("GLX_MESA_set_3dfx_mode", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_set_3dfx_mode) GLXEW_MESA_set_3dfx_mode = !_glewInit_GLX_MESA_set_3dfx_mode(); +#endif /* GLX_MESA_set_3dfx_mode */ +#ifdef GLX_MESA_swap_control + GLXEW_MESA_swap_control = _glewSearchExtension("GLX_MESA_swap_control", extStart, extEnd); + if (glewExperimental || GLXEW_MESA_swap_control) GLXEW_MESA_swap_control = !_glewInit_GLX_MESA_swap_control(); +#endif /* GLX_MESA_swap_control */ +#ifdef GLX_NV_copy_buffer + GLXEW_NV_copy_buffer = _glewSearchExtension("GLX_NV_copy_buffer", extStart, extEnd); + if (glewExperimental || GLXEW_NV_copy_buffer) GLXEW_NV_copy_buffer = !_glewInit_GLX_NV_copy_buffer(); +#endif /* GLX_NV_copy_buffer */ +#ifdef GLX_NV_copy_image + GLXEW_NV_copy_image = _glewSearchExtension("GLX_NV_copy_image", extStart, extEnd); + if (glewExperimental || GLXEW_NV_copy_image) GLXEW_NV_copy_image = !_glewInit_GLX_NV_copy_image(); +#endif /* GLX_NV_copy_image */ +#ifdef GLX_NV_delay_before_swap + GLXEW_NV_delay_before_swap = _glewSearchExtension("GLX_NV_delay_before_swap", extStart, extEnd); + if (glewExperimental || GLXEW_NV_delay_before_swap) GLXEW_NV_delay_before_swap = !_glewInit_GLX_NV_delay_before_swap(); +#endif /* GLX_NV_delay_before_swap */ +#ifdef GLX_NV_float_buffer + GLXEW_NV_float_buffer = _glewSearchExtension("GLX_NV_float_buffer", extStart, extEnd); +#endif /* GLX_NV_float_buffer */ +#ifdef GLX_NV_multisample_coverage + GLXEW_NV_multisample_coverage = _glewSearchExtension("GLX_NV_multisample_coverage", extStart, extEnd); +#endif /* GLX_NV_multisample_coverage */ +#ifdef GLX_NV_present_video + GLXEW_NV_present_video = _glewSearchExtension("GLX_NV_present_video", extStart, extEnd); + if (glewExperimental || GLXEW_NV_present_video) GLXEW_NV_present_video = !_glewInit_GLX_NV_present_video(); +#endif /* GLX_NV_present_video */ +#ifdef GLX_NV_robustness_video_memory_purge + GLXEW_NV_robustness_video_memory_purge = _glewSearchExtension("GLX_NV_robustness_video_memory_purge", extStart, extEnd); +#endif /* GLX_NV_robustness_video_memory_purge */ +#ifdef GLX_NV_swap_group + GLXEW_NV_swap_group = _glewSearchExtension("GLX_NV_swap_group", extStart, extEnd); + if (glewExperimental || GLXEW_NV_swap_group) GLXEW_NV_swap_group = !_glewInit_GLX_NV_swap_group(); +#endif /* GLX_NV_swap_group */ +#ifdef GLX_NV_vertex_array_range + GLXEW_NV_vertex_array_range = _glewSearchExtension("GLX_NV_vertex_array_range", extStart, extEnd); + if (glewExperimental || GLXEW_NV_vertex_array_range) GLXEW_NV_vertex_array_range = !_glewInit_GLX_NV_vertex_array_range(); +#endif /* GLX_NV_vertex_array_range */ +#ifdef GLX_NV_video_capture + GLXEW_NV_video_capture = _glewSearchExtension("GLX_NV_video_capture", extStart, extEnd); + if (glewExperimental || GLXEW_NV_video_capture) GLXEW_NV_video_capture = !_glewInit_GLX_NV_video_capture(); +#endif /* GLX_NV_video_capture */ +#ifdef GLX_NV_video_out + GLXEW_NV_video_out = _glewSearchExtension("GLX_NV_video_out", extStart, extEnd); + if (glewExperimental || GLXEW_NV_video_out) GLXEW_NV_video_out = !_glewInit_GLX_NV_video_out(); +#endif /* GLX_NV_video_out */ +#ifdef GLX_OML_swap_method + GLXEW_OML_swap_method = _glewSearchExtension("GLX_OML_swap_method", extStart, extEnd); +#endif /* GLX_OML_swap_method */ +#ifdef GLX_OML_sync_control + GLXEW_OML_sync_control = _glewSearchExtension("GLX_OML_sync_control", extStart, extEnd); + if (glewExperimental || GLXEW_OML_sync_control) GLXEW_OML_sync_control = !_glewInit_GLX_OML_sync_control(); +#endif /* GLX_OML_sync_control */ +#ifdef GLX_SGIS_blended_overlay + GLXEW_SGIS_blended_overlay = _glewSearchExtension("GLX_SGIS_blended_overlay", extStart, extEnd); +#endif /* GLX_SGIS_blended_overlay */ +#ifdef GLX_SGIS_color_range + GLXEW_SGIS_color_range = _glewSearchExtension("GLX_SGIS_color_range", extStart, extEnd); +#endif /* GLX_SGIS_color_range */ +#ifdef GLX_SGIS_multisample + GLXEW_SGIS_multisample = _glewSearchExtension("GLX_SGIS_multisample", extStart, extEnd); +#endif /* GLX_SGIS_multisample */ +#ifdef GLX_SGIS_shared_multisample + GLXEW_SGIS_shared_multisample = _glewSearchExtension("GLX_SGIS_shared_multisample", extStart, extEnd); +#endif /* GLX_SGIS_shared_multisample */ +#ifdef GLX_SGIX_fbconfig + GLXEW_SGIX_fbconfig = _glewSearchExtension("GLX_SGIX_fbconfig", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_fbconfig) GLXEW_SGIX_fbconfig = !_glewInit_GLX_SGIX_fbconfig(); +#endif /* GLX_SGIX_fbconfig */ +#ifdef GLX_SGIX_hyperpipe + GLXEW_SGIX_hyperpipe = _glewSearchExtension("GLX_SGIX_hyperpipe", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_hyperpipe) GLXEW_SGIX_hyperpipe = !_glewInit_GLX_SGIX_hyperpipe(); +#endif /* GLX_SGIX_hyperpipe */ +#ifdef GLX_SGIX_pbuffer + GLXEW_SGIX_pbuffer = _glewSearchExtension("GLX_SGIX_pbuffer", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_pbuffer) GLXEW_SGIX_pbuffer = !_glewInit_GLX_SGIX_pbuffer(); +#endif /* GLX_SGIX_pbuffer */ +#ifdef GLX_SGIX_swap_barrier + GLXEW_SGIX_swap_barrier = _glewSearchExtension("GLX_SGIX_swap_barrier", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_swap_barrier) GLXEW_SGIX_swap_barrier = !_glewInit_GLX_SGIX_swap_barrier(); +#endif /* GLX_SGIX_swap_barrier */ +#ifdef GLX_SGIX_swap_group + GLXEW_SGIX_swap_group = _glewSearchExtension("GLX_SGIX_swap_group", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_swap_group) GLXEW_SGIX_swap_group = !_glewInit_GLX_SGIX_swap_group(); +#endif /* GLX_SGIX_swap_group */ +#ifdef GLX_SGIX_video_resize + GLXEW_SGIX_video_resize = _glewSearchExtension("GLX_SGIX_video_resize", extStart, extEnd); + if (glewExperimental || GLXEW_SGIX_video_resize) GLXEW_SGIX_video_resize = !_glewInit_GLX_SGIX_video_resize(); +#endif /* GLX_SGIX_video_resize */ +#ifdef GLX_SGIX_visual_select_group + GLXEW_SGIX_visual_select_group = _glewSearchExtension("GLX_SGIX_visual_select_group", extStart, extEnd); +#endif /* GLX_SGIX_visual_select_group */ +#ifdef GLX_SGI_cushion + GLXEW_SGI_cushion = _glewSearchExtension("GLX_SGI_cushion", extStart, extEnd); + if (glewExperimental || GLXEW_SGI_cushion) GLXEW_SGI_cushion = !_glewInit_GLX_SGI_cushion(); +#endif /* GLX_SGI_cushion */ +#ifdef GLX_SGI_make_current_read + GLXEW_SGI_make_current_read = _glewSearchExtension("GLX_SGI_make_current_read", extStart, extEnd); + if (glewExperimental || GLXEW_SGI_make_current_read) GLXEW_SGI_make_current_read = !_glewInit_GLX_SGI_make_current_read(); +#endif /* GLX_SGI_make_current_read */ +#ifdef GLX_SGI_swap_control + GLXEW_SGI_swap_control = _glewSearchExtension("GLX_SGI_swap_control", extStart, extEnd); + if (glewExperimental || GLXEW_SGI_swap_control) GLXEW_SGI_swap_control = !_glewInit_GLX_SGI_swap_control(); +#endif /* GLX_SGI_swap_control */ +#ifdef GLX_SGI_video_sync + GLXEW_SGI_video_sync = _glewSearchExtension("GLX_SGI_video_sync", extStart, extEnd); + if (glewExperimental || GLXEW_SGI_video_sync) GLXEW_SGI_video_sync = !_glewInit_GLX_SGI_video_sync(); +#endif /* GLX_SGI_video_sync */ +#ifdef GLX_SUN_get_transparent_index + GLXEW_SUN_get_transparent_index = _glewSearchExtension("GLX_SUN_get_transparent_index", extStart, extEnd); + if (glewExperimental || GLXEW_SUN_get_transparent_index) GLXEW_SUN_get_transparent_index = !_glewInit_GLX_SUN_get_transparent_index(); +#endif /* GLX_SUN_get_transparent_index */ +#ifdef GLX_SUN_video_resize + GLXEW_SUN_video_resize = _glewSearchExtension("GLX_SUN_video_resize", extStart, extEnd); + if (glewExperimental || GLXEW_SUN_video_resize) GLXEW_SUN_video_resize = !_glewInit_GLX_SUN_video_resize(); +#endif /* GLX_SUN_video_resize */ + + return GLEW_OK; +} + +#endif /* !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */ + +/* ------------------------------------------------------------------------ */ + +const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error) +{ + static const GLubyte* _glewErrorString[] = + { + (const GLubyte*)"No error", + (const GLubyte*)"Missing GL version", + (const GLubyte*)"GL 1.1 and up are not supported", + (const GLubyte*)"GLX 1.2 and up are not supported", + (const GLubyte*)"Unknown error" + }; + const size_t max_error = sizeof(_glewErrorString)/sizeof(*_glewErrorString) - 1; + return _glewErrorString[(size_t)error > max_error ? max_error : (size_t)error]; +} + +const GLubyte * GLEWAPIENTRY glewGetString (GLenum name) +{ + static const GLubyte* _glewString[] = + { + (const GLubyte*)NULL, + (const GLubyte*)"2.1.0", + (const GLubyte*)"2", + (const GLubyte*)"1", + (const GLubyte*)"0" + }; + const size_t max_string = sizeof(_glewString)/sizeof(*_glewString) - 1; + return _glewString[(size_t)name > max_string ? 0 : (size_t)name]; +} + +/* ------------------------------------------------------------------------ */ + +GLboolean glewExperimental = GL_FALSE; + +GLenum GLEWAPIENTRY glewInit (void) +{ + GLenum r; +#if defined(GLEW_EGL) + PFNEGLGETCURRENTDISPLAYPROC getCurrentDisplay = NULL; +#endif + r = glewContextInit(); + if ( r != 0 ) return r; +#if defined(GLEW_EGL) + getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) glewGetProcAddress("eglGetCurrentDisplay"); + return eglewInit(getCurrentDisplay()); +#elif defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__) + return r; +#elif defined(_WIN32) + return wglewInit(); +#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) /* _UNIX */ + return glxewInit(); +#else + return r; +#endif /* _WIN32 */ +} + +#if defined(_WIN32) && defined(GLEW_BUILD) && defined(__GNUC__) +/* GCC requires a DLL entry point even without any standard library included. */ +/* Types extracted from windows.h to avoid polluting the rest of the file. */ +int __stdcall DllMainCRTStartup(void* instance, unsigned reason, void* reserved) +{ + (void) instance; + (void) reason; + (void) reserved; + return 1; +} +#endif +GLboolean GLEWAPIENTRY glewIsSupported (const char* name) +{ + const GLubyte* pos = (const GLubyte*)name; + GLuint len = _glewStrLen(pos); + GLboolean ret = GL_TRUE; + while (ret && len > 0) + { + if (_glewStrSame1(&pos, &len, (const GLubyte*)"GL_", 3)) + { + if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) + { +#ifdef GL_VERSION_1_2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) + { + ret = GLEW_VERSION_1_2; + continue; + } +#endif +#ifdef GL_VERSION_1_2_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2_1", 5)) + { + ret = GLEW_VERSION_1_2_1; + continue; + } +#endif +#ifdef GL_VERSION_1_3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) + { + ret = GLEW_VERSION_1_3; + continue; + } +#endif +#ifdef GL_VERSION_1_4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) + { + ret = GLEW_VERSION_1_4; + continue; + } +#endif +#ifdef GL_VERSION_1_5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_5", 3)) + { + ret = GLEW_VERSION_1_5; + continue; + } +#endif +#ifdef GL_VERSION_2_0 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_0", 3)) + { + ret = GLEW_VERSION_2_0; + continue; + } +#endif +#ifdef GL_VERSION_2_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_1", 3)) + { + ret = GLEW_VERSION_2_1; + continue; + } +#endif +#ifdef GL_VERSION_3_0 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_0", 3)) + { + ret = GLEW_VERSION_3_0; + continue; + } +#endif +#ifdef GL_VERSION_3_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_1", 3)) + { + ret = GLEW_VERSION_3_1; + continue; + } +#endif +#ifdef GL_VERSION_3_2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_2", 3)) + { + ret = GLEW_VERSION_3_2; + continue; + } +#endif +#ifdef GL_VERSION_3_3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_3", 3)) + { + ret = GLEW_VERSION_3_3; + continue; + } +#endif +#ifdef GL_VERSION_4_0 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_0", 3)) + { + ret = GLEW_VERSION_4_0; + continue; + } +#endif +#ifdef GL_VERSION_4_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_1", 3)) + { + ret = GLEW_VERSION_4_1; + continue; + } +#endif +#ifdef GL_VERSION_4_2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_2", 3)) + { + ret = GLEW_VERSION_4_2; + continue; + } +#endif +#ifdef GL_VERSION_4_3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_3", 3)) + { + ret = GLEW_VERSION_4_3; + continue; + } +#endif +#ifdef GL_VERSION_4_4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_4", 3)) + { + ret = GLEW_VERSION_4_4; + continue; + } +#endif +#ifdef GL_VERSION_4_5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_5", 3)) + { + ret = GLEW_VERSION_4_5; + continue; + } +#endif +#ifdef GL_VERSION_4_6 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_6", 3)) + { + ret = GLEW_VERSION_4_6; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) + { +#ifdef GL_3DFX_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLEW_3DFX_multisample; + continue; + } +#endif +#ifdef GL_3DFX_tbuffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"tbuffer", 7)) + { + ret = GLEW_3DFX_tbuffer; + continue; + } +#endif +#ifdef GL_3DFX_texture_compression_FXT1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_FXT1", 24)) + { + ret = GLEW_3DFX_texture_compression_FXT1; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) + { +#ifdef GL_AMD_blend_minmax_factor + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax_factor", 19)) + { + ret = GLEW_AMD_blend_minmax_factor; + continue; + } +#endif +#ifdef GL_AMD_compressed_3DC_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_3DC_texture", 22)) + { + ret = GLEW_AMD_compressed_3DC_texture; + continue; + } +#endif +#ifdef GL_AMD_compressed_ATC_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_ATC_texture", 22)) + { + ret = GLEW_AMD_compressed_ATC_texture; + continue; + } +#endif +#ifdef GL_AMD_conservative_depth + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18)) + { + ret = GLEW_AMD_conservative_depth; + continue; + } +#endif +#ifdef GL_AMD_debug_output + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_output", 12)) + { + ret = GLEW_AMD_debug_output; + continue; + } +#endif +#ifdef GL_AMD_depth_clamp_separate + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp_separate", 20)) + { + ret = GLEW_AMD_depth_clamp_separate; + continue; + } +#endif +#ifdef GL_AMD_draw_buffers_blend + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers_blend", 18)) + { + ret = GLEW_AMD_draw_buffers_blend; + continue; + } +#endif +#ifdef GL_AMD_framebuffer_sample_positions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sample_positions", 28)) + { + ret = GLEW_AMD_framebuffer_sample_positions; + continue; + } +#endif +#ifdef GL_AMD_gcn_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gcn_shader", 10)) + { + ret = GLEW_AMD_gcn_shader; + continue; + } +#endif +#ifdef GL_AMD_gpu_shader_half_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_half_float", 21)) + { + ret = GLEW_AMD_gpu_shader_half_float; + continue; + } +#endif +#ifdef GL_AMD_gpu_shader_int16 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_int16", 16)) + { + ret = GLEW_AMD_gpu_shader_int16; + continue; + } +#endif +#ifdef GL_AMD_gpu_shader_int64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_int64", 16)) + { + ret = GLEW_AMD_gpu_shader_int64; + continue; + } +#endif +#ifdef GL_AMD_interleaved_elements + if (_glewStrSame3(&pos, &len, (const GLubyte*)"interleaved_elements", 20)) + { + ret = GLEW_AMD_interleaved_elements; + continue; + } +#endif +#ifdef GL_AMD_multi_draw_indirect + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_indirect", 19)) + { + ret = GLEW_AMD_multi_draw_indirect; + continue; + } +#endif +#ifdef GL_AMD_name_gen_delete + if (_glewStrSame3(&pos, &len, (const GLubyte*)"name_gen_delete", 15)) + { + ret = GLEW_AMD_name_gen_delete; + continue; + } +#endif +#ifdef GL_AMD_occlusion_query_event + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query_event", 21)) + { + ret = GLEW_AMD_occlusion_query_event; + continue; + } +#endif +#ifdef GL_AMD_performance_monitor + if (_glewStrSame3(&pos, &len, (const GLubyte*)"performance_monitor", 19)) + { + ret = GLEW_AMD_performance_monitor; + continue; + } +#endif +#ifdef GL_AMD_pinned_memory + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pinned_memory", 13)) + { + ret = GLEW_AMD_pinned_memory; + continue; + } +#endif +#ifdef GL_AMD_program_binary_Z400 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"program_binary_Z400", 19)) + { + ret = GLEW_AMD_program_binary_Z400; + continue; + } +#endif +#ifdef GL_AMD_query_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_buffer_object", 19)) + { + ret = GLEW_AMD_query_buffer_object; + continue; + } +#endif +#ifdef GL_AMD_sample_positions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_positions", 16)) + { + ret = GLEW_AMD_sample_positions; + continue; + } +#endif +#ifdef GL_AMD_seamless_cubemap_per_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cubemap_per_texture", 28)) + { + ret = GLEW_AMD_seamless_cubemap_per_texture; + continue; + } +#endif +#ifdef GL_AMD_shader_atomic_counter_ops + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counter_ops", 25)) + { + ret = GLEW_AMD_shader_atomic_counter_ops; + continue; + } +#endif +#ifdef GL_AMD_shader_ballot + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_ballot", 13)) + { + ret = GLEW_AMD_shader_ballot; + continue; + } +#endif +#ifdef GL_AMD_shader_explicit_vertex_parameter + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_explicit_vertex_parameter", 32)) + { + ret = GLEW_AMD_shader_explicit_vertex_parameter; + continue; + } +#endif +#ifdef GL_AMD_shader_stencil_export + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_stencil_export", 21)) + { + ret = GLEW_AMD_shader_stencil_export; + continue; + } +#endif +#ifdef GL_AMD_shader_stencil_value_export + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_stencil_value_export", 27)) + { + ret = GLEW_AMD_shader_stencil_value_export; + continue; + } +#endif +#ifdef GL_AMD_shader_trinary_minmax + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_trinary_minmax", 21)) + { + ret = GLEW_AMD_shader_trinary_minmax; + continue; + } +#endif +#ifdef GL_AMD_sparse_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture", 14)) + { + ret = GLEW_AMD_sparse_texture; + continue; + } +#endif +#ifdef GL_AMD_stencil_operation_extended + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_operation_extended", 26)) + { + ret = GLEW_AMD_stencil_operation_extended; + continue; + } +#endif +#ifdef GL_AMD_texture_gather_bias_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_gather_bias_lod", 23)) + { + ret = GLEW_AMD_texture_gather_bias_lod; + continue; + } +#endif +#ifdef GL_AMD_texture_texture4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_texture4", 16)) + { + ret = GLEW_AMD_texture_texture4; + continue; + } +#endif +#ifdef GL_AMD_transform_feedback3_lines_triangles + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback3_lines_triangles", 35)) + { + ret = GLEW_AMD_transform_feedback3_lines_triangles; + continue; + } +#endif +#ifdef GL_AMD_transform_feedback4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback4", 19)) + { + ret = GLEW_AMD_transform_feedback4; + continue; + } +#endif +#ifdef GL_AMD_vertex_shader_layer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_layer", 19)) + { + ret = GLEW_AMD_vertex_shader_layer; + continue; + } +#endif +#ifdef GL_AMD_vertex_shader_tessellator + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_tessellator", 25)) + { + ret = GLEW_AMD_vertex_shader_tessellator; + continue; + } +#endif +#ifdef GL_AMD_vertex_shader_viewport_index + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_viewport_index", 28)) + { + ret = GLEW_AMD_vertex_shader_viewport_index; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ANDROID_", 8)) + { +#ifdef GL_ANDROID_extension_pack_es31a + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extension_pack_es31a", 20)) + { + ret = GLEW_ANDROID_extension_pack_es31a; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ANGLE_", 6)) + { +#ifdef GL_ANGLE_depth_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) + { + ret = GLEW_ANGLE_depth_texture; + continue; + } +#endif +#ifdef GL_ANGLE_framebuffer_blit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) + { + ret = GLEW_ANGLE_framebuffer_blit; + continue; + } +#endif +#ifdef GL_ANGLE_framebuffer_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) + { + ret = GLEW_ANGLE_framebuffer_multisample; + continue; + } +#endif +#ifdef GL_ANGLE_instanced_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) + { + ret = GLEW_ANGLE_instanced_arrays; + continue; + } +#endif +#ifdef GL_ANGLE_pack_reverse_row_order + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_reverse_row_order", 22)) + { + ret = GLEW_ANGLE_pack_reverse_row_order; + continue; + } +#endif +#ifdef GL_ANGLE_program_binary + if (_glewStrSame3(&pos, &len, (const GLubyte*)"program_binary", 14)) + { + ret = GLEW_ANGLE_program_binary; + continue; + } +#endif +#ifdef GL_ANGLE_texture_compression_dxt1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt1", 24)) + { + ret = GLEW_ANGLE_texture_compression_dxt1; + continue; + } +#endif +#ifdef GL_ANGLE_texture_compression_dxt3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt3", 24)) + { + ret = GLEW_ANGLE_texture_compression_dxt3; + continue; + } +#endif +#ifdef GL_ANGLE_texture_compression_dxt5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt5", 24)) + { + ret = GLEW_ANGLE_texture_compression_dxt5; + continue; + } +#endif +#ifdef GL_ANGLE_texture_usage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_usage", 13)) + { + ret = GLEW_ANGLE_texture_usage; + continue; + } +#endif +#ifdef GL_ANGLE_timer_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) + { + ret = GLEW_ANGLE_timer_query; + continue; + } +#endif +#ifdef GL_ANGLE_translated_shader_source + if (_glewStrSame3(&pos, &len, (const GLubyte*)"translated_shader_source", 24)) + { + ret = GLEW_ANGLE_translated_shader_source; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"APPLE_", 6)) + { +#ifdef GL_APPLE_aux_depth_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"aux_depth_stencil", 17)) + { + ret = GLEW_APPLE_aux_depth_stencil; + continue; + } +#endif +#ifdef GL_APPLE_client_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"client_storage", 14)) + { + ret = GLEW_APPLE_client_storage; + continue; + } +#endif +#ifdef GL_APPLE_clip_distance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_distance", 13)) + { + ret = GLEW_APPLE_clip_distance; + continue; + } +#endif +#ifdef GL_APPLE_color_buffer_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_packed_float", 25)) + { + ret = GLEW_APPLE_color_buffer_packed_float; + continue; + } +#endif +#ifdef GL_APPLE_copy_texture_levels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_texture_levels", 19)) + { + ret = GLEW_APPLE_copy_texture_levels; + continue; + } +#endif +#ifdef GL_APPLE_element_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) + { + ret = GLEW_APPLE_element_array; + continue; + } +#endif +#ifdef GL_APPLE_fence + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) + { + ret = GLEW_APPLE_fence; + continue; + } +#endif +#ifdef GL_APPLE_float_pixels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_pixels", 12)) + { + ret = GLEW_APPLE_float_pixels; + continue; + } +#endif +#ifdef GL_APPLE_flush_buffer_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_buffer_range", 18)) + { + ret = GLEW_APPLE_flush_buffer_range; + continue; + } +#endif +#ifdef GL_APPLE_framebuffer_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) + { + ret = GLEW_APPLE_framebuffer_multisample; + continue; + } +#endif +#ifdef GL_APPLE_object_purgeable + if (_glewStrSame3(&pos, &len, (const GLubyte*)"object_purgeable", 16)) + { + ret = GLEW_APPLE_object_purgeable; + continue; + } +#endif +#ifdef GL_APPLE_pixel_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer", 12)) + { + ret = GLEW_APPLE_pixel_buffer; + continue; + } +#endif +#ifdef GL_APPLE_rgb_422 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"rgb_422", 7)) + { + ret = GLEW_APPLE_rgb_422; + continue; + } +#endif +#ifdef GL_APPLE_row_bytes + if (_glewStrSame3(&pos, &len, (const GLubyte*)"row_bytes", 9)) + { + ret = GLEW_APPLE_row_bytes; + continue; + } +#endif +#ifdef GL_APPLE_specular_vector + if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_vector", 15)) + { + ret = GLEW_APPLE_specular_vector; + continue; + } +#endif +#ifdef GL_APPLE_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync", 4)) + { + ret = GLEW_APPLE_sync; + continue; + } +#endif +#ifdef GL_APPLE_texture_2D_limited_npot + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_2D_limited_npot", 23)) + { + ret = GLEW_APPLE_texture_2D_limited_npot; + continue; + } +#endif +#ifdef GL_APPLE_texture_format_BGRA8888 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_format_BGRA8888", 23)) + { + ret = GLEW_APPLE_texture_format_BGRA8888; + continue; + } +#endif +#ifdef GL_APPLE_texture_max_level + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_max_level", 17)) + { + ret = GLEW_APPLE_texture_max_level; + continue; + } +#endif +#ifdef GL_APPLE_texture_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_packed_float", 20)) + { + ret = GLEW_APPLE_texture_packed_float; + continue; + } +#endif +#ifdef GL_APPLE_texture_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) + { + ret = GLEW_APPLE_texture_range; + continue; + } +#endif +#ifdef GL_APPLE_transform_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_hint", 14)) + { + ret = GLEW_APPLE_transform_hint; + continue; + } +#endif +#ifdef GL_APPLE_vertex_array_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) + { + ret = GLEW_APPLE_vertex_array_object; + continue; + } +#endif +#ifdef GL_APPLE_vertex_array_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) + { + ret = GLEW_APPLE_vertex_array_range; + continue; + } +#endif +#ifdef GL_APPLE_vertex_program_evaluators + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program_evaluators", 25)) + { + ret = GLEW_APPLE_vertex_program_evaluators; + continue; + } +#endif +#ifdef GL_APPLE_ycbcr_422 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_422", 9)) + { + ret = GLEW_APPLE_ycbcr_422; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) + { +#ifdef GL_ARB_ES2_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES2_compatibility", 17)) + { + ret = GLEW_ARB_ES2_compatibility; + continue; + } +#endif +#ifdef GL_ARB_ES3_1_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES3_1_compatibility", 19)) + { + ret = GLEW_ARB_ES3_1_compatibility; + continue; + } +#endif +#ifdef GL_ARB_ES3_2_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES3_2_compatibility", 19)) + { + ret = GLEW_ARB_ES3_2_compatibility; + continue; + } +#endif +#ifdef GL_ARB_ES3_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES3_compatibility", 17)) + { + ret = GLEW_ARB_ES3_compatibility; + continue; + } +#endif +#ifdef GL_ARB_arrays_of_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"arrays_of_arrays", 16)) + { + ret = GLEW_ARB_arrays_of_arrays; + continue; + } +#endif +#ifdef GL_ARB_base_instance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"base_instance", 13)) + { + ret = GLEW_ARB_base_instance; + continue; + } +#endif +#ifdef GL_ARB_bindless_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_texture", 16)) + { + ret = GLEW_ARB_bindless_texture; + continue; + } +#endif +#ifdef GL_ARB_blend_func_extended + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_extended", 19)) + { + ret = GLEW_ARB_blend_func_extended; + continue; + } +#endif +#ifdef GL_ARB_buffer_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_storage", 14)) + { + ret = GLEW_ARB_buffer_storage; + continue; + } +#endif +#ifdef GL_ARB_cl_event + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cl_event", 8)) + { + ret = GLEW_ARB_cl_event; + continue; + } +#endif +#ifdef GL_ARB_clear_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clear_buffer_object", 19)) + { + ret = GLEW_ARB_clear_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_clear_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clear_texture", 13)) + { + ret = GLEW_ARB_clear_texture; + continue; + } +#endif +#ifdef GL_ARB_clip_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_control", 12)) + { + ret = GLEW_ARB_clip_control; + continue; + } +#endif +#ifdef GL_ARB_color_buffer_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_float", 18)) + { + ret = GLEW_ARB_color_buffer_float; + continue; + } +#endif +#ifdef GL_ARB_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compatibility", 13)) + { + ret = GLEW_ARB_compatibility; + continue; + } +#endif +#ifdef GL_ARB_compressed_texture_pixel_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_texture_pixel_storage", 32)) + { + ret = GLEW_ARB_compressed_texture_pixel_storage; + continue; + } +#endif +#ifdef GL_ARB_compute_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_shader", 14)) + { + ret = GLEW_ARB_compute_shader; + continue; + } +#endif +#ifdef GL_ARB_compute_variable_group_size + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_variable_group_size", 27)) + { + ret = GLEW_ARB_compute_variable_group_size; + continue; + } +#endif +#ifdef GL_ARB_conditional_render_inverted + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render_inverted", 27)) + { + ret = GLEW_ARB_conditional_render_inverted; + continue; + } +#endif +#ifdef GL_ARB_conservative_depth + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18)) + { + ret = GLEW_ARB_conservative_depth; + continue; + } +#endif +#ifdef GL_ARB_copy_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_buffer", 11)) + { + ret = GLEW_ARB_copy_buffer; + continue; + } +#endif +#ifdef GL_ARB_copy_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) + { + ret = GLEW_ARB_copy_image; + continue; + } +#endif +#ifdef GL_ARB_cull_distance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_distance", 13)) + { + ret = GLEW_ARB_cull_distance; + continue; + } +#endif +#ifdef GL_ARB_debug_output + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_output", 12)) + { + ret = GLEW_ARB_debug_output; + continue; + } +#endif +#ifdef GL_ARB_depth_buffer_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) + { + ret = GLEW_ARB_depth_buffer_float; + continue; + } +#endif +#ifdef GL_ARB_depth_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp", 11)) + { + ret = GLEW_ARB_depth_clamp; + continue; + } +#endif +#ifdef GL_ARB_depth_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) + { + ret = GLEW_ARB_depth_texture; + continue; + } +#endif +#ifdef GL_ARB_derivative_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"derivative_control", 18)) + { + ret = GLEW_ARB_derivative_control; + continue; + } +#endif +#ifdef GL_ARB_direct_state_access + if (_glewStrSame3(&pos, &len, (const GLubyte*)"direct_state_access", 19)) + { + ret = GLEW_ARB_direct_state_access; + continue; + } +#endif +#ifdef GL_ARB_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) + { + ret = GLEW_ARB_draw_buffers; + continue; + } +#endif +#ifdef GL_ARB_draw_buffers_blend + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers_blend", 18)) + { + ret = GLEW_ARB_draw_buffers_blend; + continue; + } +#endif +#ifdef GL_ARB_draw_elements_base_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_elements_base_vertex", 25)) + { + ret = GLEW_ARB_draw_elements_base_vertex; + continue; + } +#endif +#ifdef GL_ARB_draw_indirect + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_indirect", 13)) + { + ret = GLEW_ARB_draw_indirect; + continue; + } +#endif +#ifdef GL_ARB_draw_instanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) + { + ret = GLEW_ARB_draw_instanced; + continue; + } +#endif +#ifdef GL_ARB_enhanced_layouts + if (_glewStrSame3(&pos, &len, (const GLubyte*)"enhanced_layouts", 16)) + { + ret = GLEW_ARB_enhanced_layouts; + continue; + } +#endif +#ifdef GL_ARB_explicit_attrib_location + if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_attrib_location", 24)) + { + ret = GLEW_ARB_explicit_attrib_location; + continue; + } +#endif +#ifdef GL_ARB_explicit_uniform_location + if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_uniform_location", 25)) + { + ret = GLEW_ARB_explicit_uniform_location; + continue; + } +#endif +#ifdef GL_ARB_fragment_coord_conventions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_coord_conventions", 26)) + { + ret = GLEW_ARB_fragment_coord_conventions; + continue; + } +#endif +#ifdef GL_ARB_fragment_layer_viewport + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_layer_viewport", 23)) + { + ret = GLEW_ARB_fragment_layer_viewport; + continue; + } +#endif +#ifdef GL_ARB_fragment_program + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) + { + ret = GLEW_ARB_fragment_program; + continue; + } +#endif +#ifdef GL_ARB_fragment_program_shadow + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_shadow", 23)) + { + ret = GLEW_ARB_fragment_program_shadow; + continue; + } +#endif +#ifdef GL_ARB_fragment_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) + { + ret = GLEW_ARB_fragment_shader; + continue; + } +#endif +#ifdef GL_ARB_fragment_shader_interlock + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader_interlock", 25)) + { + ret = GLEW_ARB_fragment_shader_interlock; + continue; + } +#endif +#ifdef GL_ARB_framebuffer_no_attachments + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_no_attachments", 26)) + { + ret = GLEW_ARB_framebuffer_no_attachments; + continue; + } +#endif +#ifdef GL_ARB_framebuffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) + { + ret = GLEW_ARB_framebuffer_object; + continue; + } +#endif +#ifdef GL_ARB_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = GLEW_ARB_framebuffer_sRGB; + continue; + } +#endif +#ifdef GL_ARB_geometry_shader4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) + { + ret = GLEW_ARB_geometry_shader4; + continue; + } +#endif +#ifdef GL_ARB_get_program_binary + if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_program_binary", 18)) + { + ret = GLEW_ARB_get_program_binary; + continue; + } +#endif +#ifdef GL_ARB_get_texture_sub_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_texture_sub_image", 21)) + { + ret = GLEW_ARB_get_texture_sub_image; + continue; + } +#endif +#ifdef GL_ARB_gl_spirv + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_spirv", 8)) + { + ret = GLEW_ARB_gl_spirv; + continue; + } +#endif +#ifdef GL_ARB_gpu_shader5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader5", 11)) + { + ret = GLEW_ARB_gpu_shader5; + continue; + } +#endif +#ifdef GL_ARB_gpu_shader_fp64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_fp64", 15)) + { + ret = GLEW_ARB_gpu_shader_fp64; + continue; + } +#endif +#ifdef GL_ARB_gpu_shader_int64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_int64", 16)) + { + ret = GLEW_ARB_gpu_shader_int64; + continue; + } +#endif +#ifdef GL_ARB_half_float_pixel + if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_pixel", 16)) + { + ret = GLEW_ARB_half_float_pixel; + continue; + } +#endif +#ifdef GL_ARB_half_float_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_vertex", 17)) + { + ret = GLEW_ARB_half_float_vertex; + continue; + } +#endif +#ifdef GL_ARB_imaging + if (_glewStrSame3(&pos, &len, (const GLubyte*)"imaging", 7)) + { + ret = GLEW_ARB_imaging; + continue; + } +#endif +#ifdef GL_ARB_indirect_parameters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"indirect_parameters", 19)) + { + ret = GLEW_ARB_indirect_parameters; + continue; + } +#endif +#ifdef GL_ARB_instanced_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) + { + ret = GLEW_ARB_instanced_arrays; + continue; + } +#endif +#ifdef GL_ARB_internalformat_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"internalformat_query", 20)) + { + ret = GLEW_ARB_internalformat_query; + continue; + } +#endif +#ifdef GL_ARB_internalformat_query2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"internalformat_query2", 21)) + { + ret = GLEW_ARB_internalformat_query2; + continue; + } +#endif +#ifdef GL_ARB_invalidate_subdata + if (_glewStrSame3(&pos, &len, (const GLubyte*)"invalidate_subdata", 18)) + { + ret = GLEW_ARB_invalidate_subdata; + continue; + } +#endif +#ifdef GL_ARB_map_buffer_alignment + if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_alignment", 20)) + { + ret = GLEW_ARB_map_buffer_alignment; + continue; + } +#endif +#ifdef GL_ARB_map_buffer_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_range", 16)) + { + ret = GLEW_ARB_map_buffer_range; + continue; + } +#endif +#ifdef GL_ARB_matrix_palette + if (_glewStrSame3(&pos, &len, (const GLubyte*)"matrix_palette", 14)) + { + ret = GLEW_ARB_matrix_palette; + continue; + } +#endif +#ifdef GL_ARB_multi_bind + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_bind", 10)) + { + ret = GLEW_ARB_multi_bind; + continue; + } +#endif +#ifdef GL_ARB_multi_draw_indirect + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_indirect", 19)) + { + ret = GLEW_ARB_multi_draw_indirect; + continue; + } +#endif +#ifdef GL_ARB_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLEW_ARB_multisample; + continue; + } +#endif +#ifdef GL_ARB_multitexture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multitexture", 12)) + { + ret = GLEW_ARB_multitexture; + continue; + } +#endif +#ifdef GL_ARB_occlusion_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) + { + ret = GLEW_ARB_occlusion_query; + continue; + } +#endif +#ifdef GL_ARB_occlusion_query2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query2", 16)) + { + ret = GLEW_ARB_occlusion_query2; + continue; + } +#endif +#ifdef GL_ARB_parallel_shader_compile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"parallel_shader_compile", 23)) + { + ret = GLEW_ARB_parallel_shader_compile; + continue; + } +#endif +#ifdef GL_ARB_pipeline_statistics_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pipeline_statistics_query", 25)) + { + ret = GLEW_ARB_pipeline_statistics_query; + continue; + } +#endif +#ifdef GL_ARB_pixel_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) + { + ret = GLEW_ARB_pixel_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_point_parameters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) + { + ret = GLEW_ARB_point_parameters; + continue; + } +#endif +#ifdef GL_ARB_point_sprite + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) + { + ret = GLEW_ARB_point_sprite; + continue; + } +#endif +#ifdef GL_ARB_polygon_offset_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_offset_clamp", 20)) + { + ret = GLEW_ARB_polygon_offset_clamp; + continue; + } +#endif +#ifdef GL_ARB_post_depth_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"post_depth_coverage", 19)) + { + ret = GLEW_ARB_post_depth_coverage; + continue; + } +#endif +#ifdef GL_ARB_program_interface_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"program_interface_query", 23)) + { + ret = GLEW_ARB_program_interface_query; + continue; + } +#endif +#ifdef GL_ARB_provoking_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"provoking_vertex", 16)) + { + ret = GLEW_ARB_provoking_vertex; + continue; + } +#endif +#ifdef GL_ARB_query_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_buffer_object", 19)) + { + ret = GLEW_ARB_query_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_robust_buffer_access_behavior + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robust_buffer_access_behavior", 29)) + { + ret = GLEW_ARB_robust_buffer_access_behavior; + continue; + } +#endif +#ifdef GL_ARB_robustness + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness", 10)) + { + ret = GLEW_ARB_robustness; + continue; + } +#endif +#ifdef GL_ARB_robustness_application_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) + { + ret = GLEW_ARB_robustness_application_isolation; + continue; + } +#endif +#ifdef GL_ARB_robustness_share_group_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) + { + ret = GLEW_ARB_robustness_share_group_isolation; + continue; + } +#endif +#ifdef GL_ARB_sample_locations + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_locations", 16)) + { + ret = GLEW_ARB_sample_locations; + continue; + } +#endif +#ifdef GL_ARB_sample_shading + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_shading", 14)) + { + ret = GLEW_ARB_sample_shading; + continue; + } +#endif +#ifdef GL_ARB_sampler_objects + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sampler_objects", 15)) + { + ret = GLEW_ARB_sampler_objects; + continue; + } +#endif +#ifdef GL_ARB_seamless_cube_map + if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cube_map", 17)) + { + ret = GLEW_ARB_seamless_cube_map; + continue; + } +#endif +#ifdef GL_ARB_seamless_cubemap_per_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cubemap_per_texture", 28)) + { + ret = GLEW_ARB_seamless_cubemap_per_texture; + continue; + } +#endif +#ifdef GL_ARB_separate_shader_objects + if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_shader_objects", 23)) + { + ret = GLEW_ARB_separate_shader_objects; + continue; + } +#endif +#ifdef GL_ARB_shader_atomic_counter_ops + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counter_ops", 25)) + { + ret = GLEW_ARB_shader_atomic_counter_ops; + continue; + } +#endif +#ifdef GL_ARB_shader_atomic_counters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counters", 22)) + { + ret = GLEW_ARB_shader_atomic_counters; + continue; + } +#endif +#ifdef GL_ARB_shader_ballot + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_ballot", 13)) + { + ret = GLEW_ARB_shader_ballot; + continue; + } +#endif +#ifdef GL_ARB_shader_bit_encoding + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_bit_encoding", 19)) + { + ret = GLEW_ARB_shader_bit_encoding; + continue; + } +#endif +#ifdef GL_ARB_shader_clock + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_clock", 12)) + { + ret = GLEW_ARB_shader_clock; + continue; + } +#endif +#ifdef GL_ARB_shader_draw_parameters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_draw_parameters", 22)) + { + ret = GLEW_ARB_shader_draw_parameters; + continue; + } +#endif +#ifdef GL_ARB_shader_group_vote + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_group_vote", 17)) + { + ret = GLEW_ARB_shader_group_vote; + continue; + } +#endif +#ifdef GL_ARB_shader_image_load_store + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_load_store", 23)) + { + ret = GLEW_ARB_shader_image_load_store; + continue; + } +#endif +#ifdef GL_ARB_shader_image_size + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_size", 17)) + { + ret = GLEW_ARB_shader_image_size; + continue; + } +#endif +#ifdef GL_ARB_shader_objects + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_objects", 14)) + { + ret = GLEW_ARB_shader_objects; + continue; + } +#endif +#ifdef GL_ARB_shader_precision + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_precision", 16)) + { + ret = GLEW_ARB_shader_precision; + continue; + } +#endif +#ifdef GL_ARB_shader_stencil_export + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_stencil_export", 21)) + { + ret = GLEW_ARB_shader_stencil_export; + continue; + } +#endif +#ifdef GL_ARB_shader_storage_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_storage_buffer_object", 28)) + { + ret = GLEW_ARB_shader_storage_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_shader_subroutine + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_subroutine", 17)) + { + ret = GLEW_ARB_shader_subroutine; + continue; + } +#endif +#ifdef GL_ARB_shader_texture_image_samples + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_image_samples", 28)) + { + ret = GLEW_ARB_shader_texture_image_samples; + continue; + } +#endif +#ifdef GL_ARB_shader_texture_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) + { + ret = GLEW_ARB_shader_texture_lod; + continue; + } +#endif +#ifdef GL_ARB_shader_viewport_layer_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_viewport_layer_array", 27)) + { + ret = GLEW_ARB_shader_viewport_layer_array; + continue; + } +#endif +#ifdef GL_ARB_shading_language_100 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_100", 20)) + { + ret = GLEW_ARB_shading_language_100; + continue; + } +#endif +#ifdef GL_ARB_shading_language_420pack + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_420pack", 24)) + { + ret = GLEW_ARB_shading_language_420pack; + continue; + } +#endif +#ifdef GL_ARB_shading_language_include + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_include", 24)) + { + ret = GLEW_ARB_shading_language_include; + continue; + } +#endif +#ifdef GL_ARB_shading_language_packing + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_packing", 24)) + { + ret = GLEW_ARB_shading_language_packing; + continue; + } +#endif +#ifdef GL_ARB_shadow + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) + { + ret = GLEW_ARB_shadow; + continue; + } +#endif +#ifdef GL_ARB_shadow_ambient + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) + { + ret = GLEW_ARB_shadow_ambient; + continue; + } +#endif +#ifdef GL_ARB_sparse_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_buffer", 13)) + { + ret = GLEW_ARB_sparse_buffer; + continue; + } +#endif +#ifdef GL_ARB_sparse_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture", 14)) + { + ret = GLEW_ARB_sparse_texture; + continue; + } +#endif +#ifdef GL_ARB_sparse_texture2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture2", 15)) + { + ret = GLEW_ARB_sparse_texture2; + continue; + } +#endif +#ifdef GL_ARB_sparse_texture_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture_clamp", 20)) + { + ret = GLEW_ARB_sparse_texture_clamp; + continue; + } +#endif +#ifdef GL_ARB_spirv_extensions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"spirv_extensions", 16)) + { + ret = GLEW_ARB_spirv_extensions; + continue; + } +#endif +#ifdef GL_ARB_stencil_texturing + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_texturing", 17)) + { + ret = GLEW_ARB_stencil_texturing; + continue; + } +#endif +#ifdef GL_ARB_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync", 4)) + { + ret = GLEW_ARB_sync; + continue; + } +#endif +#ifdef GL_ARB_tessellation_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"tessellation_shader", 19)) + { + ret = GLEW_ARB_tessellation_shader; + continue; + } +#endif +#ifdef GL_ARB_texture_barrier + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_barrier", 15)) + { + ret = GLEW_ARB_texture_barrier; + continue; + } +#endif +#ifdef GL_ARB_texture_border_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) + { + ret = GLEW_ARB_texture_border_clamp; + continue; + } +#endif +#ifdef GL_ARB_texture_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) + { + ret = GLEW_ARB_texture_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_texture_buffer_object_rgb32 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object_rgb32", 27)) + { + ret = GLEW_ARB_texture_buffer_object_rgb32; + continue; + } +#endif +#ifdef GL_ARB_texture_buffer_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_range", 20)) + { + ret = GLEW_ARB_texture_buffer_range; + continue; + } +#endif +#ifdef GL_ARB_texture_compression + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression", 19)) + { + ret = GLEW_ARB_texture_compression; + continue; + } +#endif +#ifdef GL_ARB_texture_compression_bptc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_bptc", 24)) + { + ret = GLEW_ARB_texture_compression_bptc; + continue; + } +#endif +#ifdef GL_ARB_texture_compression_rgtc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) + { + ret = GLEW_ARB_texture_compression_rgtc; + continue; + } +#endif +#ifdef GL_ARB_texture_cube_map + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) + { + ret = GLEW_ARB_texture_cube_map; + continue; + } +#endif +#ifdef GL_ARB_texture_cube_map_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map_array", 22)) + { + ret = GLEW_ARB_texture_cube_map_array; + continue; + } +#endif +#ifdef GL_ARB_texture_env_add + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) + { + ret = GLEW_ARB_texture_env_add; + continue; + } +#endif +#ifdef GL_ARB_texture_env_combine + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) + { + ret = GLEW_ARB_texture_env_combine; + continue; + } +#endif +#ifdef GL_ARB_texture_env_crossbar + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_crossbar", 20)) + { + ret = GLEW_ARB_texture_env_crossbar; + continue; + } +#endif +#ifdef GL_ARB_texture_env_dot3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) + { + ret = GLEW_ARB_texture_env_dot3; + continue; + } +#endif +#ifdef GL_ARB_texture_filter_anisotropic + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_anisotropic", 26)) + { + ret = GLEW_ARB_texture_filter_anisotropic; + continue; + } +#endif +#ifdef GL_ARB_texture_filter_minmax + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_minmax", 21)) + { + ret = GLEW_ARB_texture_filter_minmax; + continue; + } +#endif +#ifdef GL_ARB_texture_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) + { + ret = GLEW_ARB_texture_float; + continue; + } +#endif +#ifdef GL_ARB_texture_gather + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_gather", 14)) + { + ret = GLEW_ARB_texture_gather; + continue; + } +#endif +#ifdef GL_ARB_texture_mirror_clamp_to_edge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_clamp_to_edge", 28)) + { + ret = GLEW_ARB_texture_mirror_clamp_to_edge; + continue; + } +#endif +#ifdef GL_ARB_texture_mirrored_repeat + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) + { + ret = GLEW_ARB_texture_mirrored_repeat; + continue; + } +#endif +#ifdef GL_ARB_texture_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multisample", 19)) + { + ret = GLEW_ARB_texture_multisample; + continue; + } +#endif +#ifdef GL_ARB_texture_non_power_of_two + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_non_power_of_two", 24)) + { + ret = GLEW_ARB_texture_non_power_of_two; + continue; + } +#endif +#ifdef GL_ARB_texture_query_levels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_query_levels", 20)) + { + ret = GLEW_ARB_texture_query_levels; + continue; + } +#endif +#ifdef GL_ARB_texture_query_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_query_lod", 17)) + { + ret = GLEW_ARB_texture_query_lod; + continue; + } +#endif +#ifdef GL_ARB_texture_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) + { + ret = GLEW_ARB_texture_rectangle; + continue; + } +#endif +#ifdef GL_ARB_texture_rg + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rg", 10)) + { + ret = GLEW_ARB_texture_rg; + continue; + } +#endif +#ifdef GL_ARB_texture_rgb10_a2ui + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rgb10_a2ui", 18)) + { + ret = GLEW_ARB_texture_rgb10_a2ui; + continue; + } +#endif +#ifdef GL_ARB_texture_stencil8 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_stencil8", 16)) + { + ret = GLEW_ARB_texture_stencil8; + continue; + } +#endif +#ifdef GL_ARB_texture_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_storage", 15)) + { + ret = GLEW_ARB_texture_storage; + continue; + } +#endif +#ifdef GL_ARB_texture_storage_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_storage_multisample", 27)) + { + ret = GLEW_ARB_texture_storage_multisample; + continue; + } +#endif +#ifdef GL_ARB_texture_swizzle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_swizzle", 15)) + { + ret = GLEW_ARB_texture_swizzle; + continue; + } +#endif +#ifdef GL_ARB_texture_view + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_view", 12)) + { + ret = GLEW_ARB_texture_view; + continue; + } +#endif +#ifdef GL_ARB_timer_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) + { + ret = GLEW_ARB_timer_query; + continue; + } +#endif +#ifdef GL_ARB_transform_feedback2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback2", 19)) + { + ret = GLEW_ARB_transform_feedback2; + continue; + } +#endif +#ifdef GL_ARB_transform_feedback3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback3", 19)) + { + ret = GLEW_ARB_transform_feedback3; + continue; + } +#endif +#ifdef GL_ARB_transform_feedback_instanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback_instanced", 28)) + { + ret = GLEW_ARB_transform_feedback_instanced; + continue; + } +#endif +#ifdef GL_ARB_transform_feedback_overflow_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback_overflow_query", 33)) + { + ret = GLEW_ARB_transform_feedback_overflow_query; + continue; + } +#endif +#ifdef GL_ARB_transpose_matrix + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transpose_matrix", 16)) + { + ret = GLEW_ARB_transpose_matrix; + continue; + } +#endif +#ifdef GL_ARB_uniform_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"uniform_buffer_object", 21)) + { + ret = GLEW_ARB_uniform_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_vertex_array_bgra + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_bgra", 17)) + { + ret = GLEW_ARB_vertex_array_bgra; + continue; + } +#endif +#ifdef GL_ARB_vertex_array_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) + { + ret = GLEW_ARB_vertex_array_object; + continue; + } +#endif +#ifdef GL_ARB_vertex_attrib_64bit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_64bit", 19)) + { + ret = GLEW_ARB_vertex_attrib_64bit; + continue; + } +#endif +#ifdef GL_ARB_vertex_attrib_binding + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_binding", 21)) + { + ret = GLEW_ARB_vertex_attrib_binding; + continue; + } +#endif +#ifdef GL_ARB_vertex_blend + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_blend", 12)) + { + ret = GLEW_ARB_vertex_blend; + continue; + } +#endif +#ifdef GL_ARB_vertex_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_object", 20)) + { + ret = GLEW_ARB_vertex_buffer_object; + continue; + } +#endif +#ifdef GL_ARB_vertex_program + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) + { + ret = GLEW_ARB_vertex_program; + continue; + } +#endif +#ifdef GL_ARB_vertex_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) + { + ret = GLEW_ARB_vertex_shader; + continue; + } +#endif +#ifdef GL_ARB_vertex_type_10f_11f_11f_rev + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_type_10f_11f_11f_rev", 27)) + { + ret = GLEW_ARB_vertex_type_10f_11f_11f_rev; + continue; + } +#endif +#ifdef GL_ARB_vertex_type_2_10_10_10_rev + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_type_2_10_10_10_rev", 26)) + { + ret = GLEW_ARB_vertex_type_2_10_10_10_rev; + continue; + } +#endif +#ifdef GL_ARB_viewport_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"viewport_array", 14)) + { + ret = GLEW_ARB_viewport_array; + continue; + } +#endif +#ifdef GL_ARB_window_pos + if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) + { + ret = GLEW_ARB_window_pos; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARM_", 4)) + { +#ifdef GL_ARM_mali_program_binary + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mali_program_binary", 19)) + { + ret = GLEW_ARM_mali_program_binary; + continue; + } +#endif +#ifdef GL_ARM_mali_shader_binary + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mali_shader_binary", 18)) + { + ret = GLEW_ARM_mali_shader_binary; + continue; + } +#endif +#ifdef GL_ARM_rgba8 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"rgba8", 5)) + { + ret = GLEW_ARM_rgba8; + continue; + } +#endif +#ifdef GL_ARM_shader_framebuffer_fetch + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_framebuffer_fetch", 24)) + { + ret = GLEW_ARM_shader_framebuffer_fetch; + continue; + } +#endif +#ifdef GL_ARM_shader_framebuffer_fetch_depth_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_framebuffer_fetch_depth_stencil", 38)) + { + ret = GLEW_ARM_shader_framebuffer_fetch_depth_stencil; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATIX_", 5)) + { +#ifdef GL_ATIX_point_sprites + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprites", 13)) + { + ret = GLEW_ATIX_point_sprites; + continue; + } +#endif +#ifdef GL_ATIX_texture_env_combine3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) + { + ret = GLEW_ATIX_texture_env_combine3; + continue; + } +#endif +#ifdef GL_ATIX_texture_env_route + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_route", 17)) + { + ret = GLEW_ATIX_texture_env_route; + continue; + } +#endif +#ifdef GL_ATIX_vertex_shader_output_point_size + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_output_point_size", 31)) + { + ret = GLEW_ATIX_vertex_shader_output_point_size; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) + { +#ifdef GL_ATI_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) + { + ret = GLEW_ATI_draw_buffers; + continue; + } +#endif +#ifdef GL_ATI_element_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) + { + ret = GLEW_ATI_element_array; + continue; + } +#endif +#ifdef GL_ATI_envmap_bumpmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"envmap_bumpmap", 14)) + { + ret = GLEW_ATI_envmap_bumpmap; + continue; + } +#endif +#ifdef GL_ATI_fragment_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) + { + ret = GLEW_ATI_fragment_shader; + continue; + } +#endif +#ifdef GL_ATI_map_object_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_object_buffer", 17)) + { + ret = GLEW_ATI_map_object_buffer; + continue; + } +#endif +#ifdef GL_ATI_meminfo + if (_glewStrSame3(&pos, &len, (const GLubyte*)"meminfo", 7)) + { + ret = GLEW_ATI_meminfo; + continue; + } +#endif +#ifdef GL_ATI_pn_triangles + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pn_triangles", 12)) + { + ret = GLEW_ATI_pn_triangles; + continue; + } +#endif +#ifdef GL_ATI_separate_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_stencil", 16)) + { + ret = GLEW_ATI_separate_stencil; + continue; + } +#endif +#ifdef GL_ATI_shader_texture_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) + { + ret = GLEW_ATI_shader_texture_lod; + continue; + } +#endif +#ifdef GL_ATI_text_fragment_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"text_fragment_shader", 20)) + { + ret = GLEW_ATI_text_fragment_shader; + continue; + } +#endif +#ifdef GL_ATI_texture_compression_3dc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_3dc", 23)) + { + ret = GLEW_ATI_texture_compression_3dc; + continue; + } +#endif +#ifdef GL_ATI_texture_env_combine3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) + { + ret = GLEW_ATI_texture_env_combine3; + continue; + } +#endif +#ifdef GL_ATI_texture_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) + { + ret = GLEW_ATI_texture_float; + continue; + } +#endif +#ifdef GL_ATI_texture_mirror_once + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_once", 19)) + { + ret = GLEW_ATI_texture_mirror_once; + continue; + } +#endif +#ifdef GL_ATI_vertex_array_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) + { + ret = GLEW_ATI_vertex_array_object; + continue; + } +#endif +#ifdef GL_ATI_vertex_attrib_array_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_array_object", 26)) + { + ret = GLEW_ATI_vertex_attrib_array_object; + continue; + } +#endif +#ifdef GL_ATI_vertex_streams + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_streams", 14)) + { + ret = GLEW_ATI_vertex_streams; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"EGL_", 4)) + { +#ifdef GL_EGL_KHR_context_flush_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"KHR_context_flush_control", 25)) + { + ret = GLEW_EGL_KHR_context_flush_control; + continue; + } +#endif +#ifdef GL_EGL_NV_robustness_video_memory_purge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"NV_robustness_video_memory_purge", 32)) + { + ret = GLEW_EGL_NV_robustness_video_memory_purge; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) + { +#ifdef GL_EXT_422_pixels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"422_pixels", 10)) + { + ret = GLEW_EXT_422_pixels; + continue; + } +#endif +#ifdef GL_EXT_Cg_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"Cg_shader", 9)) + { + ret = GLEW_EXT_Cg_shader; + continue; + } +#endif +#ifdef GL_EXT_EGL_image_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"EGL_image_array", 15)) + { + ret = GLEW_EXT_EGL_image_array; + continue; + } +#endif +#ifdef GL_EXT_YUV_target + if (_glewStrSame3(&pos, &len, (const GLubyte*)"YUV_target", 10)) + { + ret = GLEW_EXT_YUV_target; + continue; + } +#endif +#ifdef GL_EXT_abgr + if (_glewStrSame3(&pos, &len, (const GLubyte*)"abgr", 4)) + { + ret = GLEW_EXT_abgr; + continue; + } +#endif +#ifdef GL_EXT_base_instance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"base_instance", 13)) + { + ret = GLEW_EXT_base_instance; + continue; + } +#endif +#ifdef GL_EXT_bgra + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bgra", 4)) + { + ret = GLEW_EXT_bgra; + continue; + } +#endif +#ifdef GL_EXT_bindable_uniform + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindable_uniform", 16)) + { + ret = GLEW_EXT_bindable_uniform; + continue; + } +#endif +#ifdef GL_EXT_blend_color + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_color", 11)) + { + ret = GLEW_EXT_blend_color; + continue; + } +#endif +#ifdef GL_EXT_blend_equation_separate + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_separate", 23)) + { + ret = GLEW_EXT_blend_equation_separate; + continue; + } +#endif +#ifdef GL_EXT_blend_func_extended + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_extended", 19)) + { + ret = GLEW_EXT_blend_func_extended; + continue; + } +#endif +#ifdef GL_EXT_blend_func_separate + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_separate", 19)) + { + ret = GLEW_EXT_blend_func_separate; + continue; + } +#endif +#ifdef GL_EXT_blend_logic_op + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_logic_op", 14)) + { + ret = GLEW_EXT_blend_logic_op; + continue; + } +#endif +#ifdef GL_EXT_blend_minmax + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax", 12)) + { + ret = GLEW_EXT_blend_minmax; + continue; + } +#endif +#ifdef GL_EXT_blend_subtract + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_subtract", 14)) + { + ret = GLEW_EXT_blend_subtract; + continue; + } +#endif +#ifdef GL_EXT_buffer_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_storage", 14)) + { + ret = GLEW_EXT_buffer_storage; + continue; + } +#endif +#ifdef GL_EXT_clear_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clear_texture", 13)) + { + ret = GLEW_EXT_clear_texture; + continue; + } +#endif +#ifdef GL_EXT_clip_cull_distance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_cull_distance", 18)) + { + ret = GLEW_EXT_clip_cull_distance; + continue; + } +#endif +#ifdef GL_EXT_clip_volume_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_volume_hint", 16)) + { + ret = GLEW_EXT_clip_volume_hint; + continue; + } +#endif +#ifdef GL_EXT_cmyka + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cmyka", 5)) + { + ret = GLEW_EXT_cmyka; + continue; + } +#endif +#ifdef GL_EXT_color_buffer_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_float", 18)) + { + ret = GLEW_EXT_color_buffer_float; + continue; + } +#endif +#ifdef GL_EXT_color_buffer_half_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_half_float", 23)) + { + ret = GLEW_EXT_color_buffer_half_float; + continue; + } +#endif +#ifdef GL_EXT_color_subtable + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_subtable", 14)) + { + ret = GLEW_EXT_color_subtable; + continue; + } +#endif +#ifdef GL_EXT_compiled_vertex_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compiled_vertex_array", 21)) + { + ret = GLEW_EXT_compiled_vertex_array; + continue; + } +#endif +#ifdef GL_EXT_compressed_ETC1_RGB8_sub_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_ETC1_RGB8_sub_texture", 32)) + { + ret = GLEW_EXT_compressed_ETC1_RGB8_sub_texture; + continue; + } +#endif +#ifdef GL_EXT_conservative_depth + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18)) + { + ret = GLEW_EXT_conservative_depth; + continue; + } +#endif +#ifdef GL_EXT_convolution + if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution", 11)) + { + ret = GLEW_EXT_convolution; + continue; + } +#endif +#ifdef GL_EXT_coordinate_frame + if (_glewStrSame3(&pos, &len, (const GLubyte*)"coordinate_frame", 16)) + { + ret = GLEW_EXT_coordinate_frame; + continue; + } +#endif +#ifdef GL_EXT_copy_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) + { + ret = GLEW_EXT_copy_image; + continue; + } +#endif +#ifdef GL_EXT_copy_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_texture", 12)) + { + ret = GLEW_EXT_copy_texture; + continue; + } +#endif +#ifdef GL_EXT_cull_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) + { + ret = GLEW_EXT_cull_vertex; + continue; + } +#endif +#ifdef GL_EXT_debug_label + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_label", 11)) + { + ret = GLEW_EXT_debug_label; + continue; + } +#endif +#ifdef GL_EXT_debug_marker + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_marker", 12)) + { + ret = GLEW_EXT_debug_marker; + continue; + } +#endif +#ifdef GL_EXT_depth_bounds_test + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_bounds_test", 17)) + { + ret = GLEW_EXT_depth_bounds_test; + continue; + } +#endif +#ifdef GL_EXT_direct_state_access + if (_glewStrSame3(&pos, &len, (const GLubyte*)"direct_state_access", 19)) + { + ret = GLEW_EXT_direct_state_access; + continue; + } +#endif +#ifdef GL_EXT_discard_framebuffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"discard_framebuffer", 19)) + { + ret = GLEW_EXT_discard_framebuffer; + continue; + } +#endif +#ifdef GL_EXT_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) + { + ret = GLEW_EXT_draw_buffers; + continue; + } +#endif +#ifdef GL_EXT_draw_buffers2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers2", 13)) + { + ret = GLEW_EXT_draw_buffers2; + continue; + } +#endif +#ifdef GL_EXT_draw_buffers_indexed + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers_indexed", 20)) + { + ret = GLEW_EXT_draw_buffers_indexed; + continue; + } +#endif +#ifdef GL_EXT_draw_elements_base_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_elements_base_vertex", 25)) + { + ret = GLEW_EXT_draw_elements_base_vertex; + continue; + } +#endif +#ifdef GL_EXT_draw_instanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) + { + ret = GLEW_EXT_draw_instanced; + continue; + } +#endif +#ifdef GL_EXT_draw_range_elements + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_range_elements", 19)) + { + ret = GLEW_EXT_draw_range_elements; + continue; + } +#endif +#ifdef GL_EXT_external_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"external_buffer", 15)) + { + ret = GLEW_EXT_external_buffer; + continue; + } +#endif +#ifdef GL_EXT_float_blend + if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_blend", 11)) + { + ret = GLEW_EXT_float_blend; + continue; + } +#endif +#ifdef GL_EXT_fog_coord + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_coord", 9)) + { + ret = GLEW_EXT_fog_coord; + continue; + } +#endif +#ifdef GL_EXT_frag_depth + if (_glewStrSame3(&pos, &len, (const GLubyte*)"frag_depth", 10)) + { + ret = GLEW_EXT_frag_depth; + continue; + } +#endif +#ifdef GL_EXT_fragment_lighting + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_lighting", 17)) + { + ret = GLEW_EXT_fragment_lighting; + continue; + } +#endif +#ifdef GL_EXT_framebuffer_blit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) + { + ret = GLEW_EXT_framebuffer_blit; + continue; + } +#endif +#ifdef GL_EXT_framebuffer_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) + { + ret = GLEW_EXT_framebuffer_multisample; + continue; + } +#endif +#ifdef GL_EXT_framebuffer_multisample_blit_scaled + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample_blit_scaled", 35)) + { + ret = GLEW_EXT_framebuffer_multisample_blit_scaled; + continue; + } +#endif +#ifdef GL_EXT_framebuffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) + { + ret = GLEW_EXT_framebuffer_object; + continue; + } +#endif +#ifdef GL_EXT_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = GLEW_EXT_framebuffer_sRGB; + continue; + } +#endif +#ifdef GL_EXT_geometry_point_size + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_point_size", 19)) + { + ret = GLEW_EXT_geometry_point_size; + continue; + } +#endif +#ifdef GL_EXT_geometry_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader", 15)) + { + ret = GLEW_EXT_geometry_shader; + continue; + } +#endif +#ifdef GL_EXT_geometry_shader4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) + { + ret = GLEW_EXT_geometry_shader4; + continue; + } +#endif +#ifdef GL_EXT_gpu_program_parameters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program_parameters", 22)) + { + ret = GLEW_EXT_gpu_program_parameters; + continue; + } +#endif +#ifdef GL_EXT_gpu_shader4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader4", 11)) + { + ret = GLEW_EXT_gpu_shader4; + continue; + } +#endif +#ifdef GL_EXT_gpu_shader5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader5", 11)) + { + ret = GLEW_EXT_gpu_shader5; + continue; + } +#endif +#ifdef GL_EXT_histogram + if (_glewStrSame3(&pos, &len, (const GLubyte*)"histogram", 9)) + { + ret = GLEW_EXT_histogram; + continue; + } +#endif +#ifdef GL_EXT_index_array_formats + if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_array_formats", 19)) + { + ret = GLEW_EXT_index_array_formats; + continue; + } +#endif +#ifdef GL_EXT_index_func + if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_func", 10)) + { + ret = GLEW_EXT_index_func; + continue; + } +#endif +#ifdef GL_EXT_index_material + if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_material", 14)) + { + ret = GLEW_EXT_index_material; + continue; + } +#endif +#ifdef GL_EXT_index_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_texture", 13)) + { + ret = GLEW_EXT_index_texture; + continue; + } +#endif +#ifdef GL_EXT_instanced_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) + { + ret = GLEW_EXT_instanced_arrays; + continue; + } +#endif +#ifdef GL_EXT_light_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_texture", 13)) + { + ret = GLEW_EXT_light_texture; + continue; + } +#endif +#ifdef GL_EXT_map_buffer_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_range", 16)) + { + ret = GLEW_EXT_map_buffer_range; + continue; + } +#endif +#ifdef GL_EXT_memory_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"memory_object", 13)) + { + ret = GLEW_EXT_memory_object; + continue; + } +#endif +#ifdef GL_EXT_memory_object_fd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"memory_object_fd", 16)) + { + ret = GLEW_EXT_memory_object_fd; + continue; + } +#endif +#ifdef GL_EXT_memory_object_win32 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"memory_object_win32", 19)) + { + ret = GLEW_EXT_memory_object_win32; + continue; + } +#endif +#ifdef GL_EXT_misc_attribute + if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_attribute", 14)) + { + ret = GLEW_EXT_misc_attribute; + continue; + } +#endif +#ifdef GL_EXT_multi_draw_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_arrays", 17)) + { + ret = GLEW_EXT_multi_draw_arrays; + continue; + } +#endif +#ifdef GL_EXT_multi_draw_indirect + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_indirect", 19)) + { + ret = GLEW_EXT_multi_draw_indirect; + continue; + } +#endif +#ifdef GL_EXT_multiple_textures + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiple_textures", 17)) + { + ret = GLEW_EXT_multiple_textures; + continue; + } +#endif +#ifdef GL_EXT_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLEW_EXT_multisample; + continue; + } +#endif +#ifdef GL_EXT_multisample_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_compatibility", 25)) + { + ret = GLEW_EXT_multisample_compatibility; + continue; + } +#endif +#ifdef GL_EXT_multisampled_render_to_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisampled_render_to_texture", 30)) + { + ret = GLEW_EXT_multisampled_render_to_texture; + continue; + } +#endif +#ifdef GL_EXT_multisampled_render_to_texture2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisampled_render_to_texture2", 31)) + { + ret = GLEW_EXT_multisampled_render_to_texture2; + continue; + } +#endif +#ifdef GL_EXT_multiview_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiview_draw_buffers", 22)) + { + ret = GLEW_EXT_multiview_draw_buffers; + continue; + } +#endif +#ifdef GL_EXT_packed_depth_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) + { + ret = GLEW_EXT_packed_depth_stencil; + continue; + } +#endif +#ifdef GL_EXT_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_float", 12)) + { + ret = GLEW_EXT_packed_float; + continue; + } +#endif +#ifdef GL_EXT_packed_pixels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_pixels", 13)) + { + ret = GLEW_EXT_packed_pixels; + continue; + } +#endif +#ifdef GL_EXT_paletted_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"paletted_texture", 16)) + { + ret = GLEW_EXT_paletted_texture; + continue; + } +#endif +#ifdef GL_EXT_pixel_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) + { + ret = GLEW_EXT_pixel_buffer_object; + continue; + } +#endif +#ifdef GL_EXT_pixel_transform + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform", 15)) + { + ret = GLEW_EXT_pixel_transform; + continue; + } +#endif +#ifdef GL_EXT_pixel_transform_color_table + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform_color_table", 27)) + { + ret = GLEW_EXT_pixel_transform_color_table; + continue; + } +#endif +#ifdef GL_EXT_point_parameters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) + { + ret = GLEW_EXT_point_parameters; + continue; + } +#endif +#ifdef GL_EXT_polygon_offset + if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_offset", 14)) + { + ret = GLEW_EXT_polygon_offset; + continue; + } +#endif +#ifdef GL_EXT_polygon_offset_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_offset_clamp", 20)) + { + ret = GLEW_EXT_polygon_offset_clamp; + continue; + } +#endif +#ifdef GL_EXT_post_depth_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"post_depth_coverage", 19)) + { + ret = GLEW_EXT_post_depth_coverage; + continue; + } +#endif +#ifdef GL_EXT_provoking_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"provoking_vertex", 16)) + { + ret = GLEW_EXT_provoking_vertex; + continue; + } +#endif +#ifdef GL_EXT_pvrtc_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pvrtc_sRGB", 10)) + { + ret = GLEW_EXT_pvrtc_sRGB; + continue; + } +#endif +#ifdef GL_EXT_raster_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"raster_multisample", 18)) + { + ret = GLEW_EXT_raster_multisample; + continue; + } +#endif +#ifdef GL_EXT_read_format_bgra + if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_format_bgra", 16)) + { + ret = GLEW_EXT_read_format_bgra; + continue; + } +#endif +#ifdef GL_EXT_render_snorm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_snorm", 12)) + { + ret = GLEW_EXT_render_snorm; + continue; + } +#endif +#ifdef GL_EXT_rescale_normal + if (_glewStrSame3(&pos, &len, (const GLubyte*)"rescale_normal", 14)) + { + ret = GLEW_EXT_rescale_normal; + continue; + } +#endif +#ifdef GL_EXT_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sRGB", 4)) + { + ret = GLEW_EXT_sRGB; + continue; + } +#endif +#ifdef GL_EXT_sRGB_write_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sRGB_write_control", 18)) + { + ret = GLEW_EXT_sRGB_write_control; + continue; + } +#endif +#ifdef GL_EXT_scene_marker + if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) + { + ret = GLEW_EXT_scene_marker; + continue; + } +#endif +#ifdef GL_EXT_secondary_color + if (_glewStrSame3(&pos, &len, (const GLubyte*)"secondary_color", 15)) + { + ret = GLEW_EXT_secondary_color; + continue; + } +#endif +#ifdef GL_EXT_semaphore + if (_glewStrSame3(&pos, &len, (const GLubyte*)"semaphore", 9)) + { + ret = GLEW_EXT_semaphore; + continue; + } +#endif +#ifdef GL_EXT_semaphore_fd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"semaphore_fd", 12)) + { + ret = GLEW_EXT_semaphore_fd; + continue; + } +#endif +#ifdef GL_EXT_semaphore_win32 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"semaphore_win32", 15)) + { + ret = GLEW_EXT_semaphore_win32; + continue; + } +#endif +#ifdef GL_EXT_separate_shader_objects + if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_shader_objects", 23)) + { + ret = GLEW_EXT_separate_shader_objects; + continue; + } +#endif +#ifdef GL_EXT_separate_specular_color + if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_specular_color", 23)) + { + ret = GLEW_EXT_separate_specular_color; + continue; + } +#endif +#ifdef GL_EXT_shader_framebuffer_fetch + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_framebuffer_fetch", 24)) + { + ret = GLEW_EXT_shader_framebuffer_fetch; + continue; + } +#endif +#ifdef GL_EXT_shader_group_vote + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_group_vote", 17)) + { + ret = GLEW_EXT_shader_group_vote; + continue; + } +#endif +#ifdef GL_EXT_shader_image_load_formatted + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_load_formatted", 27)) + { + ret = GLEW_EXT_shader_image_load_formatted; + continue; + } +#endif +#ifdef GL_EXT_shader_image_load_store + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_load_store", 23)) + { + ret = GLEW_EXT_shader_image_load_store; + continue; + } +#endif +#ifdef GL_EXT_shader_implicit_conversions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_implicit_conversions", 27)) + { + ret = GLEW_EXT_shader_implicit_conversions; + continue; + } +#endif +#ifdef GL_EXT_shader_integer_mix + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_integer_mix", 18)) + { + ret = GLEW_EXT_shader_integer_mix; + continue; + } +#endif +#ifdef GL_EXT_shader_io_blocks + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_io_blocks", 16)) + { + ret = GLEW_EXT_shader_io_blocks; + continue; + } +#endif +#ifdef GL_EXT_shader_non_constant_global_initializers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_non_constant_global_initializers", 39)) + { + ret = GLEW_EXT_shader_non_constant_global_initializers; + continue; + } +#endif +#ifdef GL_EXT_shader_pixel_local_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_pixel_local_storage", 26)) + { + ret = GLEW_EXT_shader_pixel_local_storage; + continue; + } +#endif +#ifdef GL_EXT_shader_pixel_local_storage2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_pixel_local_storage2", 27)) + { + ret = GLEW_EXT_shader_pixel_local_storage2; + continue; + } +#endif +#ifdef GL_EXT_shader_texture_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) + { + ret = GLEW_EXT_shader_texture_lod; + continue; + } +#endif +#ifdef GL_EXT_shadow_funcs + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_funcs", 12)) + { + ret = GLEW_EXT_shadow_funcs; + continue; + } +#endif +#ifdef GL_EXT_shadow_samplers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_samplers", 15)) + { + ret = GLEW_EXT_shadow_samplers; + continue; + } +#endif +#ifdef GL_EXT_shared_texture_palette + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_texture_palette", 22)) + { + ret = GLEW_EXT_shared_texture_palette; + continue; + } +#endif +#ifdef GL_EXT_sparse_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture", 14)) + { + ret = GLEW_EXT_sparse_texture; + continue; + } +#endif +#ifdef GL_EXT_sparse_texture2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture2", 15)) + { + ret = GLEW_EXT_sparse_texture2; + continue; + } +#endif +#ifdef GL_EXT_stencil_clear_tag + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_clear_tag", 17)) + { + ret = GLEW_EXT_stencil_clear_tag; + continue; + } +#endif +#ifdef GL_EXT_stencil_two_side + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_two_side", 16)) + { + ret = GLEW_EXT_stencil_two_side; + continue; + } +#endif +#ifdef GL_EXT_stencil_wrap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_wrap", 12)) + { + ret = GLEW_EXT_stencil_wrap; + continue; + } +#endif +#ifdef GL_EXT_subtexture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"subtexture", 10)) + { + ret = GLEW_EXT_subtexture; + continue; + } +#endif +#ifdef GL_EXT_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture", 7)) + { + ret = GLEW_EXT_texture; + continue; + } +#endif +#ifdef GL_EXT_texture3D + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture3D", 9)) + { + ret = GLEW_EXT_texture3D; + continue; + } +#endif +#ifdef GL_EXT_texture_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_array", 13)) + { + ret = GLEW_EXT_texture_array; + continue; + } +#endif +#ifdef GL_EXT_texture_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) + { + ret = GLEW_EXT_texture_buffer_object; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_decode_mode", 36)) + { + ret = GLEW_EXT_texture_compression_astc_decode_mode; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_astc_decode_mode_rgb9e5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_decode_mode_rgb9e5", 43)) + { + ret = GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_bptc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_bptc", 24)) + { + ret = GLEW_EXT_texture_compression_bptc; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_dxt1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt1", 24)) + { + ret = GLEW_EXT_texture_compression_dxt1; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_latc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_latc", 24)) + { + ret = GLEW_EXT_texture_compression_latc; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_rgtc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) + { + ret = GLEW_EXT_texture_compression_rgtc; + continue; + } +#endif +#ifdef GL_EXT_texture_compression_s3tc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_s3tc", 24)) + { + ret = GLEW_EXT_texture_compression_s3tc; + continue; + } +#endif +#ifdef GL_EXT_texture_cube_map + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) + { + ret = GLEW_EXT_texture_cube_map; + continue; + } +#endif +#ifdef GL_EXT_texture_cube_map_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map_array", 22)) + { + ret = GLEW_EXT_texture_cube_map_array; + continue; + } +#endif +#ifdef GL_EXT_texture_edge_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) + { + ret = GLEW_EXT_texture_edge_clamp; + continue; + } +#endif +#ifdef GL_EXT_texture_env + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env", 11)) + { + ret = GLEW_EXT_texture_env; + continue; + } +#endif +#ifdef GL_EXT_texture_env_add + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) + { + ret = GLEW_EXT_texture_env_add; + continue; + } +#endif +#ifdef GL_EXT_texture_env_combine + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) + { + ret = GLEW_EXT_texture_env_combine; + continue; + } +#endif +#ifdef GL_EXT_texture_env_dot3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) + { + ret = GLEW_EXT_texture_env_dot3; + continue; + } +#endif +#ifdef GL_EXT_texture_filter_anisotropic + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_anisotropic", 26)) + { + ret = GLEW_EXT_texture_filter_anisotropic; + continue; + } +#endif +#ifdef GL_EXT_texture_filter_minmax + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_minmax", 21)) + { + ret = GLEW_EXT_texture_filter_minmax; + continue; + } +#endif +#ifdef GL_EXT_texture_format_BGRA8888 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_format_BGRA8888", 23)) + { + ret = GLEW_EXT_texture_format_BGRA8888; + continue; + } +#endif +#ifdef GL_EXT_texture_integer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_integer", 15)) + { + ret = GLEW_EXT_texture_integer; + continue; + } +#endif +#ifdef GL_EXT_texture_lod_bias + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) + { + ret = GLEW_EXT_texture_lod_bias; + continue; + } +#endif +#ifdef GL_EXT_texture_mirror_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_clamp", 20)) + { + ret = GLEW_EXT_texture_mirror_clamp; + continue; + } +#endif +#ifdef GL_EXT_texture_norm16 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_norm16", 14)) + { + ret = GLEW_EXT_texture_norm16; + continue; + } +#endif +#ifdef GL_EXT_texture_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_object", 14)) + { + ret = GLEW_EXT_texture_object; + continue; + } +#endif +#ifdef GL_EXT_texture_perturb_normal + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_perturb_normal", 22)) + { + ret = GLEW_EXT_texture_perturb_normal; + continue; + } +#endif +#ifdef GL_EXT_texture_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) + { + ret = GLEW_EXT_texture_rectangle; + continue; + } +#endif +#ifdef GL_EXT_texture_rg + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rg", 10)) + { + ret = GLEW_EXT_texture_rg; + continue; + } +#endif +#ifdef GL_EXT_texture_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB", 12)) + { + ret = GLEW_EXT_texture_sRGB; + continue; + } +#endif +#ifdef GL_EXT_texture_sRGB_R8 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB_R8", 15)) + { + ret = GLEW_EXT_texture_sRGB_R8; + continue; + } +#endif +#ifdef GL_EXT_texture_sRGB_RG8 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB_RG8", 16)) + { + ret = GLEW_EXT_texture_sRGB_RG8; + continue; + } +#endif +#ifdef GL_EXT_texture_sRGB_decode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB_decode", 19)) + { + ret = GLEW_EXT_texture_sRGB_decode; + continue; + } +#endif +#ifdef GL_EXT_texture_shared_exponent + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shared_exponent", 23)) + { + ret = GLEW_EXT_texture_shared_exponent; + continue; + } +#endif +#ifdef GL_EXT_texture_snorm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_snorm", 13)) + { + ret = GLEW_EXT_texture_snorm; + continue; + } +#endif +#ifdef GL_EXT_texture_storage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_storage", 15)) + { + ret = GLEW_EXT_texture_storage; + continue; + } +#endif +#ifdef GL_EXT_texture_swizzle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_swizzle", 15)) + { + ret = GLEW_EXT_texture_swizzle; + continue; + } +#endif +#ifdef GL_EXT_texture_type_2_10_10_10_REV + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_type_2_10_10_10_REV", 27)) + { + ret = GLEW_EXT_texture_type_2_10_10_10_REV; + continue; + } +#endif +#ifdef GL_EXT_texture_view + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_view", 12)) + { + ret = GLEW_EXT_texture_view; + continue; + } +#endif +#ifdef GL_EXT_timer_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) + { + ret = GLEW_EXT_timer_query; + continue; + } +#endif +#ifdef GL_EXT_transform_feedback + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) + { + ret = GLEW_EXT_transform_feedback; + continue; + } +#endif +#ifdef GL_EXT_unpack_subimage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"unpack_subimage", 15)) + { + ret = GLEW_EXT_unpack_subimage; + continue; + } +#endif +#ifdef GL_EXT_vertex_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array", 12)) + { + ret = GLEW_EXT_vertex_array; + continue; + } +#endif +#ifdef GL_EXT_vertex_array_bgra + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_bgra", 17)) + { + ret = GLEW_EXT_vertex_array_bgra; + continue; + } +#endif +#ifdef GL_EXT_vertex_array_setXXX + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_setXXX", 19)) + { + ret = GLEW_EXT_vertex_array_setXXX; + continue; + } +#endif +#ifdef GL_EXT_vertex_attrib_64bit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_64bit", 19)) + { + ret = GLEW_EXT_vertex_attrib_64bit; + continue; + } +#endif +#ifdef GL_EXT_vertex_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) + { + ret = GLEW_EXT_vertex_shader; + continue; + } +#endif +#ifdef GL_EXT_vertex_weighting + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_weighting", 16)) + { + ret = GLEW_EXT_vertex_weighting; + continue; + } +#endif +#ifdef GL_EXT_win32_keyed_mutex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"win32_keyed_mutex", 17)) + { + ret = GLEW_EXT_win32_keyed_mutex; + continue; + } +#endif +#ifdef GL_EXT_window_rectangles + if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_rectangles", 17)) + { + ret = GLEW_EXT_window_rectangles; + continue; + } +#endif +#ifdef GL_EXT_x11_sync_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"x11_sync_object", 15)) + { + ret = GLEW_EXT_x11_sync_object; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"GREMEDY_", 8)) + { +#ifdef GL_GREMEDY_frame_terminator + if (_glewStrSame3(&pos, &len, (const GLubyte*)"frame_terminator", 16)) + { + ret = GLEW_GREMEDY_frame_terminator; + continue; + } +#endif +#ifdef GL_GREMEDY_string_marker + if (_glewStrSame3(&pos, &len, (const GLubyte*)"string_marker", 13)) + { + ret = GLEW_GREMEDY_string_marker; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"HP_", 3)) + { +#ifdef GL_HP_convolution_border_modes + if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) + { + ret = GLEW_HP_convolution_border_modes; + continue; + } +#endif +#ifdef GL_HP_image_transform + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_transform", 15)) + { + ret = GLEW_HP_image_transform; + continue; + } +#endif +#ifdef GL_HP_occlusion_test + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_test", 14)) + { + ret = GLEW_HP_occlusion_test; + continue; + } +#endif +#ifdef GL_HP_texture_lighting + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lighting", 16)) + { + ret = GLEW_HP_texture_lighting; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"IBM_", 4)) + { +#ifdef GL_IBM_cull_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) + { + ret = GLEW_IBM_cull_vertex; + continue; + } +#endif +#ifdef GL_IBM_multimode_draw_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multimode_draw_arrays", 21)) + { + ret = GLEW_IBM_multimode_draw_arrays; + continue; + } +#endif +#ifdef GL_IBM_rasterpos_clip + if (_glewStrSame3(&pos, &len, (const GLubyte*)"rasterpos_clip", 14)) + { + ret = GLEW_IBM_rasterpos_clip; + continue; + } +#endif +#ifdef GL_IBM_static_data + if (_glewStrSame3(&pos, &len, (const GLubyte*)"static_data", 11)) + { + ret = GLEW_IBM_static_data; + continue; + } +#endif +#ifdef GL_IBM_texture_mirrored_repeat + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) + { + ret = GLEW_IBM_texture_mirrored_repeat; + continue; + } +#endif +#ifdef GL_IBM_vertex_array_lists + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_lists", 18)) + { + ret = GLEW_IBM_vertex_array_lists; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"INGR_", 5)) + { +#ifdef GL_INGR_color_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_clamp", 11)) + { + ret = GLEW_INGR_color_clamp; + continue; + } +#endif +#ifdef GL_INGR_interlace_read + if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace_read", 14)) + { + ret = GLEW_INGR_interlace_read; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"INTEL_", 6)) + { +#ifdef GL_INTEL_conservative_rasterization + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_rasterization", 26)) + { + ret = GLEW_INTEL_conservative_rasterization; + continue; + } +#endif +#ifdef GL_INTEL_fragment_shader_ordering + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader_ordering", 24)) + { + ret = GLEW_INTEL_fragment_shader_ordering; + continue; + } +#endif +#ifdef GL_INTEL_framebuffer_CMAA + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_CMAA", 16)) + { + ret = GLEW_INTEL_framebuffer_CMAA; + continue; + } +#endif +#ifdef GL_INTEL_map_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_texture", 11)) + { + ret = GLEW_INTEL_map_texture; + continue; + } +#endif +#ifdef GL_INTEL_parallel_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"parallel_arrays", 15)) + { + ret = GLEW_INTEL_parallel_arrays; + continue; + } +#endif +#ifdef GL_INTEL_performance_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"performance_query", 17)) + { + ret = GLEW_INTEL_performance_query; + continue; + } +#endif +#ifdef GL_INTEL_texture_scissor + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scissor", 15)) + { + ret = GLEW_INTEL_texture_scissor; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"KHR_", 4)) + { +#ifdef GL_KHR_blend_equation_advanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced", 23)) + { + ret = GLEW_KHR_blend_equation_advanced; + continue; + } +#endif +#ifdef GL_KHR_blend_equation_advanced_coherent + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced_coherent", 32)) + { + ret = GLEW_KHR_blend_equation_advanced_coherent; + continue; + } +#endif +#ifdef GL_KHR_context_flush_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"context_flush_control", 21)) + { + ret = GLEW_KHR_context_flush_control; + continue; + } +#endif +#ifdef GL_KHR_debug + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug", 5)) + { + ret = GLEW_KHR_debug; + continue; + } +#endif +#ifdef GL_KHR_no_error + if (_glewStrSame3(&pos, &len, (const GLubyte*)"no_error", 8)) + { + ret = GLEW_KHR_no_error; + continue; + } +#endif +#ifdef GL_KHR_parallel_shader_compile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"parallel_shader_compile", 23)) + { + ret = GLEW_KHR_parallel_shader_compile; + continue; + } +#endif +#ifdef GL_KHR_robust_buffer_access_behavior + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robust_buffer_access_behavior", 29)) + { + ret = GLEW_KHR_robust_buffer_access_behavior; + continue; + } +#endif +#ifdef GL_KHR_robustness + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness", 10)) + { + ret = GLEW_KHR_robustness; + continue; + } +#endif +#ifdef GL_KHR_texture_compression_astc_hdr + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_hdr", 28)) + { + ret = GLEW_KHR_texture_compression_astc_hdr; + continue; + } +#endif +#ifdef GL_KHR_texture_compression_astc_ldr + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_ldr", 28)) + { + ret = GLEW_KHR_texture_compression_astc_ldr; + continue; + } +#endif +#ifdef GL_KHR_texture_compression_astc_sliced_3d + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_sliced_3d", 34)) + { + ret = GLEW_KHR_texture_compression_astc_sliced_3d; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"KTX_", 4)) + { +#ifdef GL_KTX_buffer_region + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) + { + ret = GLEW_KTX_buffer_region; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESAX_", 6)) + { +#ifdef GL_MESAX_texture_stack + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_stack", 13)) + { + ret = GLEW_MESAX_texture_stack; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) + { +#ifdef GL_MESA_pack_invert + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_invert", 11)) + { + ret = GLEW_MESA_pack_invert; + continue; + } +#endif +#ifdef GL_MESA_resize_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"resize_buffers", 14)) + { + ret = GLEW_MESA_resize_buffers; + continue; + } +#endif +#ifdef GL_MESA_shader_integer_functions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_integer_functions", 24)) + { + ret = GLEW_MESA_shader_integer_functions; + continue; + } +#endif +#ifdef GL_MESA_window_pos + if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) + { + ret = GLEW_MESA_window_pos; + continue; + } +#endif +#ifdef GL_MESA_ycbcr_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_texture", 13)) + { + ret = GLEW_MESA_ycbcr_texture; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NVX_", 4)) + { +#ifdef GL_NVX_blend_equation_advanced_multi_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced_multi_draw_buffers", 42)) + { + ret = GLEW_NVX_blend_equation_advanced_multi_draw_buffers; + continue; + } +#endif +#ifdef GL_NVX_conditional_render + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render", 18)) + { + ret = GLEW_NVX_conditional_render; + continue; + } +#endif +#ifdef GL_NVX_gpu_memory_info + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_memory_info", 15)) + { + ret = GLEW_NVX_gpu_memory_info; + continue; + } +#endif +#ifdef GL_NVX_linked_gpu_multicast + if (_glewStrSame3(&pos, &len, (const GLubyte*)"linked_gpu_multicast", 20)) + { + ret = GLEW_NVX_linked_gpu_multicast; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) + { +#ifdef GL_NV_3dvision_settings + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3dvision_settings", 17)) + { + ret = GLEW_NV_3dvision_settings; + continue; + } +#endif +#ifdef GL_NV_EGL_stream_consumer_external + if (_glewStrSame3(&pos, &len, (const GLubyte*)"EGL_stream_consumer_external", 28)) + { + ret = GLEW_NV_EGL_stream_consumer_external; + continue; + } +#endif +#ifdef GL_NV_alpha_to_coverage_dither_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"alpha_to_coverage_dither_control", 32)) + { + ret = GLEW_NV_alpha_to_coverage_dither_control; + continue; + } +#endif +#ifdef GL_NV_bgr + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bgr", 3)) + { + ret = GLEW_NV_bgr; + continue; + } +#endif +#ifdef GL_NV_bindless_multi_draw_indirect + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_multi_draw_indirect", 28)) + { + ret = GLEW_NV_bindless_multi_draw_indirect; + continue; + } +#endif +#ifdef GL_NV_bindless_multi_draw_indirect_count + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_multi_draw_indirect_count", 34)) + { + ret = GLEW_NV_bindless_multi_draw_indirect_count; + continue; + } +#endif +#ifdef GL_NV_bindless_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_texture", 16)) + { + ret = GLEW_NV_bindless_texture; + continue; + } +#endif +#ifdef GL_NV_blend_equation_advanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced", 23)) + { + ret = GLEW_NV_blend_equation_advanced; + continue; + } +#endif +#ifdef GL_NV_blend_equation_advanced_coherent + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced_coherent", 32)) + { + ret = GLEW_NV_blend_equation_advanced_coherent; + continue; + } +#endif +#ifdef GL_NV_blend_minmax_factor + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax_factor", 19)) + { + ret = GLEW_NV_blend_minmax_factor; + continue; + } +#endif +#ifdef GL_NV_blend_square + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_square", 12)) + { + ret = GLEW_NV_blend_square; + continue; + } +#endif +#ifdef GL_NV_clip_space_w_scaling + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_space_w_scaling", 20)) + { + ret = GLEW_NV_clip_space_w_scaling; + continue; + } +#endif +#ifdef GL_NV_command_list + if (_glewStrSame3(&pos, &len, (const GLubyte*)"command_list", 12)) + { + ret = GLEW_NV_command_list; + continue; + } +#endif +#ifdef GL_NV_compute_program5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_program5", 16)) + { + ret = GLEW_NV_compute_program5; + continue; + } +#endif +#ifdef GL_NV_conditional_render + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render", 18)) + { + ret = GLEW_NV_conditional_render; + continue; + } +#endif +#ifdef GL_NV_conservative_raster + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_raster", 19)) + { + ret = GLEW_NV_conservative_raster; + continue; + } +#endif +#ifdef GL_NV_conservative_raster_dilate + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_raster_dilate", 26)) + { + ret = GLEW_NV_conservative_raster_dilate; + continue; + } +#endif +#ifdef GL_NV_conservative_raster_pre_snap_triangles + if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_raster_pre_snap_triangles", 38)) + { + ret = GLEW_NV_conservative_raster_pre_snap_triangles; + continue; + } +#endif +#ifdef GL_NV_copy_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_buffer", 11)) + { + ret = GLEW_NV_copy_buffer; + continue; + } +#endif +#ifdef GL_NV_copy_depth_to_color + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_depth_to_color", 19)) + { + ret = GLEW_NV_copy_depth_to_color; + continue; + } +#endif +#ifdef GL_NV_copy_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) + { + ret = GLEW_NV_copy_image; + continue; + } +#endif +#ifdef GL_NV_deep_texture3D + if (_glewStrSame3(&pos, &len, (const GLubyte*)"deep_texture3D", 14)) + { + ret = GLEW_NV_deep_texture3D; + continue; + } +#endif +#ifdef GL_NV_depth_buffer_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) + { + ret = GLEW_NV_depth_buffer_float; + continue; + } +#endif +#ifdef GL_NV_depth_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp", 11)) + { + ret = GLEW_NV_depth_clamp; + continue; + } +#endif +#ifdef GL_NV_depth_range_unclamped + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_range_unclamped", 21)) + { + ret = GLEW_NV_depth_range_unclamped; + continue; + } +#endif +#ifdef GL_NV_draw_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) + { + ret = GLEW_NV_draw_buffers; + continue; + } +#endif +#ifdef GL_NV_draw_instanced + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) + { + ret = GLEW_NV_draw_instanced; + continue; + } +#endif +#ifdef GL_NV_draw_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_texture", 12)) + { + ret = GLEW_NV_draw_texture; + continue; + } +#endif +#ifdef GL_NV_draw_vulkan_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_vulkan_image", 17)) + { + ret = GLEW_NV_draw_vulkan_image; + continue; + } +#endif +#ifdef GL_NV_evaluators + if (_glewStrSame3(&pos, &len, (const GLubyte*)"evaluators", 10)) + { + ret = GLEW_NV_evaluators; + continue; + } +#endif +#ifdef GL_NV_explicit_attrib_location + if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_attrib_location", 24)) + { + ret = GLEW_NV_explicit_attrib_location; + continue; + } +#endif +#ifdef GL_NV_explicit_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_multisample", 20)) + { + ret = GLEW_NV_explicit_multisample; + continue; + } +#endif +#ifdef GL_NV_fbo_color_attachments + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbo_color_attachments", 21)) + { + ret = GLEW_NV_fbo_color_attachments; + continue; + } +#endif +#ifdef GL_NV_fence + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) + { + ret = GLEW_NV_fence; + continue; + } +#endif +#ifdef GL_NV_fill_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fill_rectangle", 14)) + { + ret = GLEW_NV_fill_rectangle; + continue; + } +#endif +#ifdef GL_NV_float_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) + { + ret = GLEW_NV_float_buffer; + continue; + } +#endif +#ifdef GL_NV_fog_distance + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_distance", 12)) + { + ret = GLEW_NV_fog_distance; + continue; + } +#endif +#ifdef GL_NV_fragment_coverage_to_color + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_coverage_to_color", 26)) + { + ret = GLEW_NV_fragment_coverage_to_color; + continue; + } +#endif +#ifdef GL_NV_fragment_program + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) + { + ret = GLEW_NV_fragment_program; + continue; + } +#endif +#ifdef GL_NV_fragment_program2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program2", 17)) + { + ret = GLEW_NV_fragment_program2; + continue; + } +#endif +#ifdef GL_NV_fragment_program4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program4", 17)) + { + ret = GLEW_NV_fragment_program4; + continue; + } +#endif +#ifdef GL_NV_fragment_program_option + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_option", 23)) + { + ret = GLEW_NV_fragment_program_option; + continue; + } +#endif +#ifdef GL_NV_fragment_shader_interlock + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader_interlock", 25)) + { + ret = GLEW_NV_fragment_shader_interlock; + continue; + } +#endif +#ifdef GL_NV_framebuffer_blit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) + { + ret = GLEW_NV_framebuffer_blit; + continue; + } +#endif +#ifdef GL_NV_framebuffer_mixed_samples + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_mixed_samples", 25)) + { + ret = GLEW_NV_framebuffer_mixed_samples; + continue; + } +#endif +#ifdef GL_NV_framebuffer_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) + { + ret = GLEW_NV_framebuffer_multisample; + continue; + } +#endif +#ifdef GL_NV_framebuffer_multisample_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample_coverage", 32)) + { + ret = GLEW_NV_framebuffer_multisample_coverage; + continue; + } +#endif +#ifdef GL_NV_generate_mipmap_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"generate_mipmap_sRGB", 20)) + { + ret = GLEW_NV_generate_mipmap_sRGB; + continue; + } +#endif +#ifdef GL_NV_geometry_program4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_program4", 17)) + { + ret = GLEW_NV_geometry_program4; + continue; + } +#endif +#ifdef GL_NV_geometry_shader4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) + { + ret = GLEW_NV_geometry_shader4; + continue; + } +#endif +#ifdef GL_NV_geometry_shader_passthrough + if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader_passthrough", 27)) + { + ret = GLEW_NV_geometry_shader_passthrough; + continue; + } +#endif +#ifdef GL_NV_gpu_multicast + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_multicast", 13)) + { + ret = GLEW_NV_gpu_multicast; + continue; + } +#endif +#ifdef GL_NV_gpu_program4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program4", 12)) + { + ret = GLEW_NV_gpu_program4; + continue; + } +#endif +#ifdef GL_NV_gpu_program5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program5", 12)) + { + ret = GLEW_NV_gpu_program5; + continue; + } +#endif +#ifdef GL_NV_gpu_program5_mem_extended + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program5_mem_extended", 25)) + { + ret = GLEW_NV_gpu_program5_mem_extended; + continue; + } +#endif +#ifdef GL_NV_gpu_program_fp64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program_fp64", 16)) + { + ret = GLEW_NV_gpu_program_fp64; + continue; + } +#endif +#ifdef GL_NV_gpu_shader5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader5", 11)) + { + ret = GLEW_NV_gpu_shader5; + continue; + } +#endif +#ifdef GL_NV_half_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float", 10)) + { + ret = GLEW_NV_half_float; + continue; + } +#endif +#ifdef GL_NV_image_formats + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_formats", 13)) + { + ret = GLEW_NV_image_formats; + continue; + } +#endif +#ifdef GL_NV_instanced_arrays + if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) + { + ret = GLEW_NV_instanced_arrays; + continue; + } +#endif +#ifdef GL_NV_internalformat_sample_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"internalformat_sample_query", 27)) + { + ret = GLEW_NV_internalformat_sample_query; + continue; + } +#endif +#ifdef GL_NV_light_max_exponent + if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_max_exponent", 18)) + { + ret = GLEW_NV_light_max_exponent; + continue; + } +#endif +#ifdef GL_NV_multisample_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) + { + ret = GLEW_NV_multisample_coverage; + continue; + } +#endif +#ifdef GL_NV_multisample_filter_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_filter_hint", 23)) + { + ret = GLEW_NV_multisample_filter_hint; + continue; + } +#endif +#ifdef GL_NV_non_square_matrices + if (_glewStrSame3(&pos, &len, (const GLubyte*)"non_square_matrices", 19)) + { + ret = GLEW_NV_non_square_matrices; + continue; + } +#endif +#ifdef GL_NV_occlusion_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) + { + ret = GLEW_NV_occlusion_query; + continue; + } +#endif +#ifdef GL_NV_pack_subimage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_subimage", 13)) + { + ret = GLEW_NV_pack_subimage; + continue; + } +#endif +#ifdef GL_NV_packed_depth_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) + { + ret = GLEW_NV_packed_depth_stencil; + continue; + } +#endif +#ifdef GL_NV_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_float", 12)) + { + ret = GLEW_NV_packed_float; + continue; + } +#endif +#ifdef GL_NV_packed_float_linear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_float_linear", 19)) + { + ret = GLEW_NV_packed_float_linear; + continue; + } +#endif +#ifdef GL_NV_parameter_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"parameter_buffer_object", 23)) + { + ret = GLEW_NV_parameter_buffer_object; + continue; + } +#endif +#ifdef GL_NV_parameter_buffer_object2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"parameter_buffer_object2", 24)) + { + ret = GLEW_NV_parameter_buffer_object2; + continue; + } +#endif +#ifdef GL_NV_path_rendering + if (_glewStrSame3(&pos, &len, (const GLubyte*)"path_rendering", 14)) + { + ret = GLEW_NV_path_rendering; + continue; + } +#endif +#ifdef GL_NV_path_rendering_shared_edge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"path_rendering_shared_edge", 26)) + { + ret = GLEW_NV_path_rendering_shared_edge; + continue; + } +#endif +#ifdef GL_NV_pixel_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) + { + ret = GLEW_NV_pixel_buffer_object; + continue; + } +#endif +#ifdef GL_NV_pixel_data_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_data_range", 16)) + { + ret = GLEW_NV_pixel_data_range; + continue; + } +#endif +#ifdef GL_NV_platform_binary + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_binary", 15)) + { + ret = GLEW_NV_platform_binary; + continue; + } +#endif +#ifdef GL_NV_point_sprite + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) + { + ret = GLEW_NV_point_sprite; + continue; + } +#endif +#ifdef GL_NV_polygon_mode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_mode", 12)) + { + ret = GLEW_NV_polygon_mode; + continue; + } +#endif +#ifdef GL_NV_present_video + if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) + { + ret = GLEW_NV_present_video; + continue; + } +#endif +#ifdef GL_NV_primitive_restart + if (_glewStrSame3(&pos, &len, (const GLubyte*)"primitive_restart", 17)) + { + ret = GLEW_NV_primitive_restart; + continue; + } +#endif +#ifdef GL_NV_read_depth + if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_depth", 10)) + { + ret = GLEW_NV_read_depth; + continue; + } +#endif +#ifdef GL_NV_read_depth_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_depth_stencil", 18)) + { + ret = GLEW_NV_read_depth_stencil; + continue; + } +#endif +#ifdef GL_NV_read_stencil + if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_stencil", 12)) + { + ret = GLEW_NV_read_stencil; + continue; + } +#endif +#ifdef GL_NV_register_combiners + if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners", 18)) + { + ret = GLEW_NV_register_combiners; + continue; + } +#endif +#ifdef GL_NV_register_combiners2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners2", 19)) + { + ret = GLEW_NV_register_combiners2; + continue; + } +#endif +#ifdef GL_NV_robustness_video_memory_purge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_video_memory_purge", 29)) + { + ret = GLEW_NV_robustness_video_memory_purge; + continue; + } +#endif +#ifdef GL_NV_sRGB_formats + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sRGB_formats", 12)) + { + ret = GLEW_NV_sRGB_formats; + continue; + } +#endif +#ifdef GL_NV_sample_locations + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_locations", 16)) + { + ret = GLEW_NV_sample_locations; + continue; + } +#endif +#ifdef GL_NV_sample_mask_override_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_mask_override_coverage", 29)) + { + ret = GLEW_NV_sample_mask_override_coverage; + continue; + } +#endif +#ifdef GL_NV_shader_atomic_counters + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counters", 22)) + { + ret = GLEW_NV_shader_atomic_counters; + continue; + } +#endif +#ifdef GL_NV_shader_atomic_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_float", 19)) + { + ret = GLEW_NV_shader_atomic_float; + continue; + } +#endif +#ifdef GL_NV_shader_atomic_float64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_float64", 21)) + { + ret = GLEW_NV_shader_atomic_float64; + continue; + } +#endif +#ifdef GL_NV_shader_atomic_fp16_vector + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_fp16_vector", 25)) + { + ret = GLEW_NV_shader_atomic_fp16_vector; + continue; + } +#endif +#ifdef GL_NV_shader_atomic_int64 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_int64", 19)) + { + ret = GLEW_NV_shader_atomic_int64; + continue; + } +#endif +#ifdef GL_NV_shader_buffer_load + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_buffer_load", 18)) + { + ret = GLEW_NV_shader_buffer_load; + continue; + } +#endif +#ifdef GL_NV_shader_noperspective_interpolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_noperspective_interpolation", 34)) + { + ret = GLEW_NV_shader_noperspective_interpolation; + continue; + } +#endif +#ifdef GL_NV_shader_storage_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_storage_buffer_object", 28)) + { + ret = GLEW_NV_shader_storage_buffer_object; + continue; + } +#endif +#ifdef GL_NV_shader_thread_group + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_thread_group", 19)) + { + ret = GLEW_NV_shader_thread_group; + continue; + } +#endif +#ifdef GL_NV_shader_thread_shuffle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_thread_shuffle", 21)) + { + ret = GLEW_NV_shader_thread_shuffle; + continue; + } +#endif +#ifdef GL_NV_shadow_samplers_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_samplers_array", 21)) + { + ret = GLEW_NV_shadow_samplers_array; + continue; + } +#endif +#ifdef GL_NV_shadow_samplers_cube + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_samplers_cube", 20)) + { + ret = GLEW_NV_shadow_samplers_cube; + continue; + } +#endif +#ifdef GL_NV_stereo_view_rendering + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stereo_view_rendering", 21)) + { + ret = GLEW_NV_stereo_view_rendering; + continue; + } +#endif +#ifdef GL_NV_tessellation_program5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"tessellation_program5", 21)) + { + ret = GLEW_NV_tessellation_program5; + continue; + } +#endif +#ifdef GL_NV_texgen_emboss + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_emboss", 13)) + { + ret = GLEW_NV_texgen_emboss; + continue; + } +#endif +#ifdef GL_NV_texgen_reflection + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_reflection", 17)) + { + ret = GLEW_NV_texgen_reflection; + continue; + } +#endif +#ifdef GL_NV_texture_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_array", 13)) + { + ret = GLEW_NV_texture_array; + continue; + } +#endif +#ifdef GL_NV_texture_barrier + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_barrier", 15)) + { + ret = GLEW_NV_texture_barrier; + continue; + } +#endif +#ifdef GL_NV_texture_border_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) + { + ret = GLEW_NV_texture_border_clamp; + continue; + } +#endif +#ifdef GL_NV_texture_compression_latc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_latc", 24)) + { + ret = GLEW_NV_texture_compression_latc; + continue; + } +#endif +#ifdef GL_NV_texture_compression_s3tc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_s3tc", 24)) + { + ret = GLEW_NV_texture_compression_s3tc; + continue; + } +#endif +#ifdef GL_NV_texture_compression_s3tc_update + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_s3tc_update", 31)) + { + ret = GLEW_NV_texture_compression_s3tc_update; + continue; + } +#endif +#ifdef GL_NV_texture_compression_vtc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_vtc", 23)) + { + ret = GLEW_NV_texture_compression_vtc; + continue; + } +#endif +#ifdef GL_NV_texture_env_combine4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine4", 20)) + { + ret = GLEW_NV_texture_env_combine4; + continue; + } +#endif +#ifdef GL_NV_texture_expand_normal + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_expand_normal", 21)) + { + ret = GLEW_NV_texture_expand_normal; + continue; + } +#endif +#ifdef GL_NV_texture_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multisample", 19)) + { + ret = GLEW_NV_texture_multisample; + continue; + } +#endif +#ifdef GL_NV_texture_npot_2D_mipmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_npot_2D_mipmap", 22)) + { + ret = GLEW_NV_texture_npot_2D_mipmap; + continue; + } +#endif +#ifdef GL_NV_texture_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) + { + ret = GLEW_NV_texture_rectangle; + continue; + } +#endif +#ifdef GL_NV_texture_rectangle_compressed + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle_compressed", 28)) + { + ret = GLEW_NV_texture_rectangle_compressed; + continue; + } +#endif +#ifdef GL_NV_texture_shader + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader", 14)) + { + ret = GLEW_NV_texture_shader; + continue; + } +#endif +#ifdef GL_NV_texture_shader2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader2", 15)) + { + ret = GLEW_NV_texture_shader2; + continue; + } +#endif +#ifdef GL_NV_texture_shader3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader3", 15)) + { + ret = GLEW_NV_texture_shader3; + continue; + } +#endif +#ifdef GL_NV_transform_feedback + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) + { + ret = GLEW_NV_transform_feedback; + continue; + } +#endif +#ifdef GL_NV_transform_feedback2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback2", 19)) + { + ret = GLEW_NV_transform_feedback2; + continue; + } +#endif +#ifdef GL_NV_uniform_buffer_unified_memory + if (_glewStrSame3(&pos, &len, (const GLubyte*)"uniform_buffer_unified_memory", 29)) + { + ret = GLEW_NV_uniform_buffer_unified_memory; + continue; + } +#endif +#ifdef GL_NV_vdpau_interop + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vdpau_interop", 13)) + { + ret = GLEW_NV_vdpau_interop; + continue; + } +#endif +#ifdef GL_NV_vertex_array_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) + { + ret = GLEW_NV_vertex_array_range; + continue; + } +#endif +#ifdef GL_NV_vertex_array_range2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range2", 19)) + { + ret = GLEW_NV_vertex_array_range2; + continue; + } +#endif +#ifdef GL_NV_vertex_attrib_integer_64bit + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_integer_64bit", 27)) + { + ret = GLEW_NV_vertex_attrib_integer_64bit; + continue; + } +#endif +#ifdef GL_NV_vertex_buffer_unified_memory + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_unified_memory", 28)) + { + ret = GLEW_NV_vertex_buffer_unified_memory; + continue; + } +#endif +#ifdef GL_NV_vertex_program + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) + { + ret = GLEW_NV_vertex_program; + continue; + } +#endif +#ifdef GL_NV_vertex_program1_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program1_1", 17)) + { + ret = GLEW_NV_vertex_program1_1; + continue; + } +#endif +#ifdef GL_NV_vertex_program2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2", 15)) + { + ret = GLEW_NV_vertex_program2; + continue; + } +#endif +#ifdef GL_NV_vertex_program2_option + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2_option", 22)) + { + ret = GLEW_NV_vertex_program2_option; + continue; + } +#endif +#ifdef GL_NV_vertex_program3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program3", 15)) + { + ret = GLEW_NV_vertex_program3; + continue; + } +#endif +#ifdef GL_NV_vertex_program4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program4", 15)) + { + ret = GLEW_NV_vertex_program4; + continue; + } +#endif +#ifdef GL_NV_video_capture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) + { + ret = GLEW_NV_video_capture; + continue; + } +#endif +#ifdef GL_NV_viewport_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"viewport_array", 14)) + { + ret = GLEW_NV_viewport_array; + continue; + } +#endif +#ifdef GL_NV_viewport_array2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"viewport_array2", 15)) + { + ret = GLEW_NV_viewport_array2; + continue; + } +#endif +#ifdef GL_NV_viewport_swizzle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"viewport_swizzle", 16)) + { + ret = GLEW_NV_viewport_swizzle; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"OES_", 4)) + { +#ifdef GL_OES_byte_coordinates + if (_glewStrSame3(&pos, &len, (const GLubyte*)"byte_coordinates", 16)) + { + ret = GLEW_OES_byte_coordinates; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) + { +#ifdef GL_OML_interlace + if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) + { + ret = GLEW_OML_interlace; + continue; + } +#endif +#ifdef GL_OML_resample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) + { + ret = GLEW_OML_resample; + continue; + } +#endif +#ifdef GL_OML_subsample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"subsample", 9)) + { + ret = GLEW_OML_subsample; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"OVR_", 4)) + { +#ifdef GL_OVR_multiview + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiview", 9)) + { + ret = GLEW_OVR_multiview; + continue; + } +#endif +#ifdef GL_OVR_multiview2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiview2", 10)) + { + ret = GLEW_OVR_multiview2; + continue; + } +#endif +#ifdef GL_OVR_multiview_multisampled_render_to_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiview_multisampled_render_to_texture", 40)) + { + ret = GLEW_OVR_multiview_multisampled_render_to_texture; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"PGI_", 4)) + { +#ifdef GL_PGI_misc_hints + if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_hints", 10)) + { + ret = GLEW_PGI_misc_hints; + continue; + } +#endif +#ifdef GL_PGI_vertex_hints + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_hints", 12)) + { + ret = GLEW_PGI_vertex_hints; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"QCOM_", 5)) + { +#ifdef GL_QCOM_alpha_test + if (_glewStrSame3(&pos, &len, (const GLubyte*)"alpha_test", 10)) + { + ret = GLEW_QCOM_alpha_test; + continue; + } +#endif +#ifdef GL_QCOM_binning_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"binning_control", 15)) + { + ret = GLEW_QCOM_binning_control; + continue; + } +#endif +#ifdef GL_QCOM_driver_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"driver_control", 14)) + { + ret = GLEW_QCOM_driver_control; + continue; + } +#endif +#ifdef GL_QCOM_extended_get + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extended_get", 12)) + { + ret = GLEW_QCOM_extended_get; + continue; + } +#endif +#ifdef GL_QCOM_extended_get2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extended_get2", 13)) + { + ret = GLEW_QCOM_extended_get2; + continue; + } +#endif +#ifdef GL_QCOM_framebuffer_foveated + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_foveated", 20)) + { + ret = GLEW_QCOM_framebuffer_foveated; + continue; + } +#endif +#ifdef GL_QCOM_perfmon_global_mode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"perfmon_global_mode", 19)) + { + ret = GLEW_QCOM_perfmon_global_mode; + continue; + } +#endif +#ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_framebuffer_fetch_noncoherent", 36)) + { + ret = GLEW_QCOM_shader_framebuffer_fetch_noncoherent; + continue; + } +#endif +#ifdef GL_QCOM_tiled_rendering + if (_glewStrSame3(&pos, &len, (const GLubyte*)"tiled_rendering", 15)) + { + ret = GLEW_QCOM_tiled_rendering; + continue; + } +#endif +#ifdef GL_QCOM_writeonly_rendering + if (_glewStrSame3(&pos, &len, (const GLubyte*)"writeonly_rendering", 19)) + { + ret = GLEW_QCOM_writeonly_rendering; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"REGAL_", 6)) + { +#ifdef GL_REGAL_ES1_0_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES1_0_compatibility", 19)) + { + ret = GLEW_REGAL_ES1_0_compatibility; + continue; + } +#endif +#ifdef GL_REGAL_ES1_1_compatibility + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES1_1_compatibility", 19)) + { + ret = GLEW_REGAL_ES1_1_compatibility; + continue; + } +#endif +#ifdef GL_REGAL_enable + if (_glewStrSame3(&pos, &len, (const GLubyte*)"enable", 6)) + { + ret = GLEW_REGAL_enable; + continue; + } +#endif +#ifdef GL_REGAL_error_string + if (_glewStrSame3(&pos, &len, (const GLubyte*)"error_string", 12)) + { + ret = GLEW_REGAL_error_string; + continue; + } +#endif +#ifdef GL_REGAL_extension_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extension_query", 15)) + { + ret = GLEW_REGAL_extension_query; + continue; + } +#endif +#ifdef GL_REGAL_log + if (_glewStrSame3(&pos, &len, (const GLubyte*)"log", 3)) + { + ret = GLEW_REGAL_log; + continue; + } +#endif +#ifdef GL_REGAL_proc_address + if (_glewStrSame3(&pos, &len, (const GLubyte*)"proc_address", 12)) + { + ret = GLEW_REGAL_proc_address; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"REND_", 5)) + { +#ifdef GL_REND_screen_coordinates + if (_glewStrSame3(&pos, &len, (const GLubyte*)"screen_coordinates", 18)) + { + ret = GLEW_REND_screen_coordinates; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"S3_", 3)) + { +#ifdef GL_S3_s3tc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"s3tc", 4)) + { + ret = GLEW_S3_s3tc; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) + { +#ifdef GL_SGIS_clip_band_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_band_hint", 14)) + { + ret = GLEW_SGIS_clip_band_hint; + continue; + } +#endif +#ifdef GL_SGIS_color_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) + { + ret = GLEW_SGIS_color_range; + continue; + } +#endif +#ifdef GL_SGIS_detail_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"detail_texture", 14)) + { + ret = GLEW_SGIS_detail_texture; + continue; + } +#endif +#ifdef GL_SGIS_fog_function + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_function", 12)) + { + ret = GLEW_SGIS_fog_function; + continue; + } +#endif +#ifdef GL_SGIS_generate_mipmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"generate_mipmap", 15)) + { + ret = GLEW_SGIS_generate_mipmap; + continue; + } +#endif +#ifdef GL_SGIS_line_texgen + if (_glewStrSame3(&pos, &len, (const GLubyte*)"line_texgen", 11)) + { + ret = GLEW_SGIS_line_texgen; + continue; + } +#endif +#ifdef GL_SGIS_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLEW_SGIS_multisample; + continue; + } +#endif +#ifdef GL_SGIS_multitexture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multitexture", 12)) + { + ret = GLEW_SGIS_multitexture; + continue; + } +#endif +#ifdef GL_SGIS_pixel_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) + { + ret = GLEW_SGIS_pixel_texture; + continue; + } +#endif +#ifdef GL_SGIS_point_line_texgen + if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_line_texgen", 17)) + { + ret = GLEW_SGIS_point_line_texgen; + continue; + } +#endif +#ifdef GL_SGIS_shared_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_multisample", 18)) + { + ret = GLEW_SGIS_shared_multisample; + continue; + } +#endif +#ifdef GL_SGIS_sharpen_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sharpen_texture", 15)) + { + ret = GLEW_SGIS_sharpen_texture; + continue; + } +#endif +#ifdef GL_SGIS_texture4D + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture4D", 9)) + { + ret = GLEW_SGIS_texture4D; + continue; + } +#endif +#ifdef GL_SGIS_texture_border_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) + { + ret = GLEW_SGIS_texture_border_clamp; + continue; + } +#endif +#ifdef GL_SGIS_texture_edge_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) + { + ret = GLEW_SGIS_texture_edge_clamp; + continue; + } +#endif +#ifdef GL_SGIS_texture_filter4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter4", 15)) + { + ret = GLEW_SGIS_texture_filter4; + continue; + } +#endif +#ifdef GL_SGIS_texture_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod", 11)) + { + ret = GLEW_SGIS_texture_lod; + continue; + } +#endif +#ifdef GL_SGIS_texture_select + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_select", 14)) + { + ret = GLEW_SGIS_texture_select; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) + { +#ifdef GL_SGIX_async + if (_glewStrSame3(&pos, &len, (const GLubyte*)"async", 5)) + { + ret = GLEW_SGIX_async; + continue; + } +#endif +#ifdef GL_SGIX_async_histogram + if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_histogram", 15)) + { + ret = GLEW_SGIX_async_histogram; + continue; + } +#endif +#ifdef GL_SGIX_async_pixel + if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_pixel", 11)) + { + ret = GLEW_SGIX_async_pixel; + continue; + } +#endif +#ifdef GL_SGIX_bali_g_instruments + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bali_g_instruments", 18)) + { + ret = GLEW_SGIX_bali_g_instruments; + continue; + } +#endif +#ifdef GL_SGIX_bali_r_instruments + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bali_r_instruments", 18)) + { + ret = GLEW_SGIX_bali_r_instruments; + continue; + } +#endif +#ifdef GL_SGIX_bali_timer_instruments + if (_glewStrSame3(&pos, &len, (const GLubyte*)"bali_timer_instruments", 22)) + { + ret = GLEW_SGIX_bali_timer_instruments; + continue; + } +#endif +#ifdef GL_SGIX_blend_alpha_minmax + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_alpha_minmax", 18)) + { + ret = GLEW_SGIX_blend_alpha_minmax; + continue; + } +#endif +#ifdef GL_SGIX_blend_cadd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_cadd", 10)) + { + ret = GLEW_SGIX_blend_cadd; + continue; + } +#endif +#ifdef GL_SGIX_blend_cmultiply + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_cmultiply", 15)) + { + ret = GLEW_SGIX_blend_cmultiply; + continue; + } +#endif +#ifdef GL_SGIX_calligraphic_fragment + if (_glewStrSame3(&pos, &len, (const GLubyte*)"calligraphic_fragment", 21)) + { + ret = GLEW_SGIX_calligraphic_fragment; + continue; + } +#endif +#ifdef GL_SGIX_clipmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clipmap", 7)) + { + ret = GLEW_SGIX_clipmap; + continue; + } +#endif +#ifdef GL_SGIX_color_matrix_accuracy + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_matrix_accuracy", 21)) + { + ret = GLEW_SGIX_color_matrix_accuracy; + continue; + } +#endif +#ifdef GL_SGIX_color_table_index_mode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_table_index_mode", 22)) + { + ret = GLEW_SGIX_color_table_index_mode; + continue; + } +#endif +#ifdef GL_SGIX_complex_polar + if (_glewStrSame3(&pos, &len, (const GLubyte*)"complex_polar", 13)) + { + ret = GLEW_SGIX_complex_polar; + continue; + } +#endif +#ifdef GL_SGIX_convolution_accuracy + if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_accuracy", 20)) + { + ret = GLEW_SGIX_convolution_accuracy; + continue; + } +#endif +#ifdef GL_SGIX_cube_map + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cube_map", 8)) + { + ret = GLEW_SGIX_cube_map; + continue; + } +#endif +#ifdef GL_SGIX_cylinder_texgen + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cylinder_texgen", 15)) + { + ret = GLEW_SGIX_cylinder_texgen; + continue; + } +#endif +#ifdef GL_SGIX_datapipe + if (_glewStrSame3(&pos, &len, (const GLubyte*)"datapipe", 8)) + { + ret = GLEW_SGIX_datapipe; + continue; + } +#endif +#ifdef GL_SGIX_decimation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"decimation", 10)) + { + ret = GLEW_SGIX_decimation; + continue; + } +#endif +#ifdef GL_SGIX_depth_pass_instrument + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_pass_instrument", 21)) + { + ret = GLEW_SGIX_depth_pass_instrument; + continue; + } +#endif +#ifdef GL_SGIX_depth_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) + { + ret = GLEW_SGIX_depth_texture; + continue; + } +#endif +#ifdef GL_SGIX_dvc + if (_glewStrSame3(&pos, &len, (const GLubyte*)"dvc", 3)) + { + ret = GLEW_SGIX_dvc; + continue; + } +#endif +#ifdef GL_SGIX_flush_raster + if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_raster", 12)) + { + ret = GLEW_SGIX_flush_raster; + continue; + } +#endif +#ifdef GL_SGIX_fog_blend + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_blend", 9)) + { + ret = GLEW_SGIX_fog_blend; + continue; + } +#endif +#ifdef GL_SGIX_fog_factor_to_alpha + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_factor_to_alpha", 19)) + { + ret = GLEW_SGIX_fog_factor_to_alpha; + continue; + } +#endif +#ifdef GL_SGIX_fog_layers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_layers", 10)) + { + ret = GLEW_SGIX_fog_layers; + continue; + } +#endif +#ifdef GL_SGIX_fog_offset + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_offset", 10)) + { + ret = GLEW_SGIX_fog_offset; + continue; + } +#endif +#ifdef GL_SGIX_fog_patchy + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_patchy", 10)) + { + ret = GLEW_SGIX_fog_patchy; + continue; + } +#endif +#ifdef GL_SGIX_fog_scale + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_scale", 9)) + { + ret = GLEW_SGIX_fog_scale; + continue; + } +#endif +#ifdef GL_SGIX_fog_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_texture", 11)) + { + ret = GLEW_SGIX_fog_texture; + continue; + } +#endif +#ifdef GL_SGIX_fragment_lighting_space + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_lighting_space", 23)) + { + ret = GLEW_SGIX_fragment_lighting_space; + continue; + } +#endif +#ifdef GL_SGIX_fragment_specular_lighting + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_specular_lighting", 26)) + { + ret = GLEW_SGIX_fragment_specular_lighting; + continue; + } +#endif +#ifdef GL_SGIX_fragments_instrument + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragments_instrument", 20)) + { + ret = GLEW_SGIX_fragments_instrument; + continue; + } +#endif +#ifdef GL_SGIX_framezoom + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framezoom", 9)) + { + ret = GLEW_SGIX_framezoom; + continue; + } +#endif +#ifdef GL_SGIX_icc_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"icc_texture", 11)) + { + ret = GLEW_SGIX_icc_texture; + continue; + } +#endif +#ifdef GL_SGIX_igloo_interface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"igloo_interface", 15)) + { + ret = GLEW_SGIX_igloo_interface; + continue; + } +#endif +#ifdef GL_SGIX_image_compression + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_compression", 17)) + { + ret = GLEW_SGIX_image_compression; + continue; + } +#endif +#ifdef GL_SGIX_impact_pixel_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"impact_pixel_texture", 20)) + { + ret = GLEW_SGIX_impact_pixel_texture; + continue; + } +#endif +#ifdef GL_SGIX_instrument_error + if (_glewStrSame3(&pos, &len, (const GLubyte*)"instrument_error", 16)) + { + ret = GLEW_SGIX_instrument_error; + continue; + } +#endif +#ifdef GL_SGIX_interlace + if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) + { + ret = GLEW_SGIX_interlace; + continue; + } +#endif +#ifdef GL_SGIX_ir_instrument1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ir_instrument1", 14)) + { + ret = GLEW_SGIX_ir_instrument1; + continue; + } +#endif +#ifdef GL_SGIX_line_quality_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"line_quality_hint", 17)) + { + ret = GLEW_SGIX_line_quality_hint; + continue; + } +#endif +#ifdef GL_SGIX_list_priority + if (_glewStrSame3(&pos, &len, (const GLubyte*)"list_priority", 13)) + { + ret = GLEW_SGIX_list_priority; + continue; + } +#endif +#ifdef GL_SGIX_mpeg1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mpeg1", 5)) + { + ret = GLEW_SGIX_mpeg1; + continue; + } +#endif +#ifdef GL_SGIX_mpeg2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mpeg2", 5)) + { + ret = GLEW_SGIX_mpeg2; + continue; + } +#endif +#ifdef GL_SGIX_nonlinear_lighting_pervertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"nonlinear_lighting_pervertex", 28)) + { + ret = GLEW_SGIX_nonlinear_lighting_pervertex; + continue; + } +#endif +#ifdef GL_SGIX_nurbs_eval + if (_glewStrSame3(&pos, &len, (const GLubyte*)"nurbs_eval", 10)) + { + ret = GLEW_SGIX_nurbs_eval; + continue; + } +#endif +#ifdef GL_SGIX_occlusion_instrument + if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_instrument", 20)) + { + ret = GLEW_SGIX_occlusion_instrument; + continue; + } +#endif +#ifdef GL_SGIX_packed_6bytes + if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_6bytes", 13)) + { + ret = GLEW_SGIX_packed_6bytes; + continue; + } +#endif +#ifdef GL_SGIX_pixel_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) + { + ret = GLEW_SGIX_pixel_texture; + continue; + } +#endif +#ifdef GL_SGIX_pixel_texture_bits + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture_bits", 18)) + { + ret = GLEW_SGIX_pixel_texture_bits; + continue; + } +#endif +#ifdef GL_SGIX_pixel_texture_lod + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture_lod", 17)) + { + ret = GLEW_SGIX_pixel_texture_lod; + continue; + } +#endif +#ifdef GL_SGIX_pixel_tiles + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_tiles", 11)) + { + ret = GLEW_SGIX_pixel_tiles; + continue; + } +#endif +#ifdef GL_SGIX_polynomial_ffd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"polynomial_ffd", 14)) + { + ret = GLEW_SGIX_polynomial_ffd; + continue; + } +#endif +#ifdef GL_SGIX_quad_mesh + if (_glewStrSame3(&pos, &len, (const GLubyte*)"quad_mesh", 9)) + { + ret = GLEW_SGIX_quad_mesh; + continue; + } +#endif +#ifdef GL_SGIX_reference_plane + if (_glewStrSame3(&pos, &len, (const GLubyte*)"reference_plane", 15)) + { + ret = GLEW_SGIX_reference_plane; + continue; + } +#endif +#ifdef GL_SGIX_resample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) + { + ret = GLEW_SGIX_resample; + continue; + } +#endif +#ifdef GL_SGIX_scalebias_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"scalebias_hint", 14)) + { + ret = GLEW_SGIX_scalebias_hint; + continue; + } +#endif +#ifdef GL_SGIX_shadow + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) + { + ret = GLEW_SGIX_shadow; + continue; + } +#endif +#ifdef GL_SGIX_shadow_ambient + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) + { + ret = GLEW_SGIX_shadow_ambient; + continue; + } +#endif +#ifdef GL_SGIX_slim + if (_glewStrSame3(&pos, &len, (const GLubyte*)"slim", 4)) + { + ret = GLEW_SGIX_slim; + continue; + } +#endif +#ifdef GL_SGIX_spotlight_cutoff + if (_glewStrSame3(&pos, &len, (const GLubyte*)"spotlight_cutoff", 16)) + { + ret = GLEW_SGIX_spotlight_cutoff; + continue; + } +#endif +#ifdef GL_SGIX_sprite + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sprite", 6)) + { + ret = GLEW_SGIX_sprite; + continue; + } +#endif +#ifdef GL_SGIX_subdiv_patch + if (_glewStrSame3(&pos, &len, (const GLubyte*)"subdiv_patch", 12)) + { + ret = GLEW_SGIX_subdiv_patch; + continue; + } +#endif +#ifdef GL_SGIX_subsample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"subsample", 9)) + { + ret = GLEW_SGIX_subsample; + continue; + } +#endif +#ifdef GL_SGIX_tag_sample_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"tag_sample_buffer", 17)) + { + ret = GLEW_SGIX_tag_sample_buffer; + continue; + } +#endif +#ifdef GL_SGIX_texture_add_env + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_add_env", 15)) + { + ret = GLEW_SGIX_texture_add_env; + continue; + } +#endif +#ifdef GL_SGIX_texture_coordinate_clamp + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_coordinate_clamp", 24)) + { + ret = GLEW_SGIX_texture_coordinate_clamp; + continue; + } +#endif +#ifdef GL_SGIX_texture_lod_bias + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) + { + ret = GLEW_SGIX_texture_lod_bias; + continue; + } +#endif +#ifdef GL_SGIX_texture_mipmap_anisotropic + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mipmap_anisotropic", 26)) + { + ret = GLEW_SGIX_texture_mipmap_anisotropic; + continue; + } +#endif +#ifdef GL_SGIX_texture_multi_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multi_buffer", 20)) + { + ret = GLEW_SGIX_texture_multi_buffer; + continue; + } +#endif +#ifdef GL_SGIX_texture_phase + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_phase", 13)) + { + ret = GLEW_SGIX_texture_phase; + continue; + } +#endif +#ifdef GL_SGIX_texture_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) + { + ret = GLEW_SGIX_texture_range; + continue; + } +#endif +#ifdef GL_SGIX_texture_scale_bias + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scale_bias", 18)) + { + ret = GLEW_SGIX_texture_scale_bias; + continue; + } +#endif +#ifdef GL_SGIX_texture_supersample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_supersample", 19)) + { + ret = GLEW_SGIX_texture_supersample; + continue; + } +#endif +#ifdef GL_SGIX_vector_ops + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vector_ops", 10)) + { + ret = GLEW_SGIX_vector_ops; + continue; + } +#endif +#ifdef GL_SGIX_vertex_array_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) + { + ret = GLEW_SGIX_vertex_array_object; + continue; + } +#endif +#ifdef GL_SGIX_vertex_preclip + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip", 14)) + { + ret = GLEW_SGIX_vertex_preclip; + continue; + } +#endif +#ifdef GL_SGIX_vertex_preclip_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip_hint", 19)) + { + ret = GLEW_SGIX_vertex_preclip_hint; + continue; + } +#endif +#ifdef GL_SGIX_ycrcb + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycrcb", 5)) + { + ret = GLEW_SGIX_ycrcb; + continue; + } +#endif +#ifdef GL_SGIX_ycrcb_subsample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycrcb_subsample", 15)) + { + ret = GLEW_SGIX_ycrcb_subsample; + continue; + } +#endif +#ifdef GL_SGIX_ycrcba + if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycrcba", 6)) + { + ret = GLEW_SGIX_ycrcba; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) + { +#ifdef GL_SGI_color_matrix + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_matrix", 12)) + { + ret = GLEW_SGI_color_matrix; + continue; + } +#endif +#ifdef GL_SGI_color_table + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_table", 11)) + { + ret = GLEW_SGI_color_table; + continue; + } +#endif +#ifdef GL_SGI_complex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"complex", 7)) + { + ret = GLEW_SGI_complex; + continue; + } +#endif +#ifdef GL_SGI_complex_type + if (_glewStrSame3(&pos, &len, (const GLubyte*)"complex_type", 12)) + { + ret = GLEW_SGI_complex_type; + continue; + } +#endif +#ifdef GL_SGI_fft + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fft", 3)) + { + ret = GLEW_SGI_fft; + continue; + } +#endif +#ifdef GL_SGI_texture_color_table + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_color_table", 19)) + { + ret = GLEW_SGI_texture_color_table; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUNX_", 5)) + { +#ifdef GL_SUNX_constant_data + if (_glewStrSame3(&pos, &len, (const GLubyte*)"constant_data", 13)) + { + ret = GLEW_SUNX_constant_data; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) + { +#ifdef GL_SUN_convolution_border_modes + if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) + { + ret = GLEW_SUN_convolution_border_modes; + continue; + } +#endif +#ifdef GL_SUN_global_alpha + if (_glewStrSame3(&pos, &len, (const GLubyte*)"global_alpha", 12)) + { + ret = GLEW_SUN_global_alpha; + continue; + } +#endif +#ifdef GL_SUN_mesh_array + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mesh_array", 10)) + { + ret = GLEW_SUN_mesh_array; + continue; + } +#endif +#ifdef GL_SUN_read_video_pixels + if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_video_pixels", 17)) + { + ret = GLEW_SUN_read_video_pixels; + continue; + } +#endif +#ifdef GL_SUN_slice_accum + if (_glewStrSame3(&pos, &len, (const GLubyte*)"slice_accum", 11)) + { + ret = GLEW_SUN_slice_accum; + continue; + } +#endif +#ifdef GL_SUN_triangle_list + if (_glewStrSame3(&pos, &len, (const GLubyte*)"triangle_list", 13)) + { + ret = GLEW_SUN_triangle_list; + continue; + } +#endif +#ifdef GL_SUN_vertex + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex", 6)) + { + ret = GLEW_SUN_vertex; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"WIN_", 4)) + { +#ifdef GL_WIN_phong_shading + if (_glewStrSame3(&pos, &len, (const GLubyte*)"phong_shading", 13)) + { + ret = GLEW_WIN_phong_shading; + continue; + } +#endif +#ifdef GL_WIN_scene_markerXXX + if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_markerXXX", 15)) + { + ret = GLEW_WIN_scene_markerXXX; + continue; + } +#endif +#ifdef GL_WIN_specular_fog + if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_fog", 12)) + { + ret = GLEW_WIN_specular_fog; + continue; + } +#endif +#ifdef GL_WIN_swap_hint + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_hint", 9)) + { + ret = GLEW_WIN_swap_hint; + continue; + } +#endif + } + } + ret = (len == 0); + } + return ret; +} + +#if defined(_WIN32) && !defined(GLEW_EGL) && !defined(GLEW_OSMESA) + +GLboolean GLEWAPIENTRY wglewIsSupported (const char* name) +{ + const GLubyte* pos = (const GLubyte*)name; + GLuint len = _glewStrLen(pos); + GLboolean ret = GL_TRUE; + while (ret && len > 0) + { + if (_glewStrSame1(&pos, &len, (const GLubyte*)"WGL_", 4)) + { + if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) + { +#ifdef WGL_3DFX_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = WGLEW_3DFX_multisample; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DL_", 4)) + { +#ifdef WGL_3DL_stereo_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stereo_control", 14)) + { + ret = WGLEW_3DL_stereo_control; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) + { +#ifdef WGL_AMD_gpu_association + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_association", 15)) + { + ret = WGLEW_AMD_gpu_association; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) + { +#ifdef WGL_ARB_buffer_region + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) + { + ret = WGLEW_ARB_buffer_region; + continue; + } +#endif +#ifdef WGL_ARB_context_flush_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"context_flush_control", 21)) + { + ret = WGLEW_ARB_context_flush_control; + continue; + } +#endif +#ifdef WGL_ARB_create_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) + { + ret = WGLEW_ARB_create_context; + continue; + } +#endif +#ifdef WGL_ARB_create_context_no_error + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_no_error", 23)) + { + ret = WGLEW_ARB_create_context_no_error; + continue; + } +#endif +#ifdef WGL_ARB_create_context_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_profile", 22)) + { + ret = WGLEW_ARB_create_context_profile; + continue; + } +#endif +#ifdef WGL_ARB_create_context_robustness + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_robustness", 25)) + { + ret = WGLEW_ARB_create_context_robustness; + continue; + } +#endif +#ifdef WGL_ARB_extensions_string + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) + { + ret = WGLEW_ARB_extensions_string; + continue; + } +#endif +#ifdef WGL_ARB_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = WGLEW_ARB_framebuffer_sRGB; + continue; + } +#endif +#ifdef WGL_ARB_make_current_read + if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) + { + ret = WGLEW_ARB_make_current_read; + continue; + } +#endif +#ifdef WGL_ARB_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = WGLEW_ARB_multisample; + continue; + } +#endif +#ifdef WGL_ARB_pbuffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) + { + ret = WGLEW_ARB_pbuffer; + continue; + } +#endif +#ifdef WGL_ARB_pixel_format + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) + { + ret = WGLEW_ARB_pixel_format; + continue; + } +#endif +#ifdef WGL_ARB_pixel_format_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) + { + ret = WGLEW_ARB_pixel_format_float; + continue; + } +#endif +#ifdef WGL_ARB_render_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) + { + ret = WGLEW_ARB_render_texture; + continue; + } +#endif +#ifdef WGL_ARB_robustness_application_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) + { + ret = WGLEW_ARB_robustness_application_isolation; + continue; + } +#endif +#ifdef WGL_ARB_robustness_share_group_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) + { + ret = WGLEW_ARB_robustness_share_group_isolation; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) + { +#ifdef WGL_ATI_pixel_format_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) + { + ret = WGLEW_ATI_pixel_format_float; + continue; + } +#endif +#ifdef WGL_ATI_render_texture_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) + { + ret = WGLEW_ATI_render_texture_rectangle; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) + { +#ifdef WGL_EXT_colorspace + if (_glewStrSame3(&pos, &len, (const GLubyte*)"colorspace", 10)) + { + ret = WGLEW_EXT_colorspace; + continue; + } +#endif +#ifdef WGL_EXT_create_context_es2_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es2_profile", 26)) + { + ret = WGLEW_EXT_create_context_es2_profile; + continue; + } +#endif +#ifdef WGL_EXT_create_context_es_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es_profile", 25)) + { + ret = WGLEW_EXT_create_context_es_profile; + continue; + } +#endif +#ifdef WGL_EXT_depth_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_float", 11)) + { + ret = WGLEW_EXT_depth_float; + continue; + } +#endif +#ifdef WGL_EXT_display_color_table + if (_glewStrSame3(&pos, &len, (const GLubyte*)"display_color_table", 19)) + { + ret = WGLEW_EXT_display_color_table; + continue; + } +#endif +#ifdef WGL_EXT_extensions_string + if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) + { + ret = WGLEW_EXT_extensions_string; + continue; + } +#endif +#ifdef WGL_EXT_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = WGLEW_EXT_framebuffer_sRGB; + continue; + } +#endif +#ifdef WGL_EXT_make_current_read + if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) + { + ret = WGLEW_EXT_make_current_read; + continue; + } +#endif +#ifdef WGL_EXT_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = WGLEW_EXT_multisample; + continue; + } +#endif +#ifdef WGL_EXT_pbuffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) + { + ret = WGLEW_EXT_pbuffer; + continue; + } +#endif +#ifdef WGL_EXT_pixel_format + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) + { + ret = WGLEW_EXT_pixel_format; + continue; + } +#endif +#ifdef WGL_EXT_pixel_format_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_packed_float", 25)) + { + ret = WGLEW_EXT_pixel_format_packed_float; + continue; + } +#endif +#ifdef WGL_EXT_swap_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) + { + ret = WGLEW_EXT_swap_control; + continue; + } +#endif +#ifdef WGL_EXT_swap_control_tear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control_tear", 17)) + { + ret = WGLEW_EXT_swap_control_tear; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"I3D_", 4)) + { +#ifdef WGL_I3D_digital_video_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"digital_video_control", 21)) + { + ret = WGLEW_I3D_digital_video_control; + continue; + } +#endif +#ifdef WGL_I3D_gamma + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gamma", 5)) + { + ret = WGLEW_I3D_gamma; + continue; + } +#endif +#ifdef WGL_I3D_genlock + if (_glewStrSame3(&pos, &len, (const GLubyte*)"genlock", 7)) + { + ret = WGLEW_I3D_genlock; + continue; + } +#endif +#ifdef WGL_I3D_image_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_buffer", 12)) + { + ret = WGLEW_I3D_image_buffer; + continue; + } +#endif +#ifdef WGL_I3D_swap_frame_lock + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_lock", 15)) + { + ret = WGLEW_I3D_swap_frame_lock; + continue; + } +#endif +#ifdef WGL_I3D_swap_frame_usage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_usage", 16)) + { + ret = WGLEW_I3D_swap_frame_usage; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) + { +#ifdef WGL_NV_DX_interop + if (_glewStrSame3(&pos, &len, (const GLubyte*)"DX_interop", 10)) + { + ret = WGLEW_NV_DX_interop; + continue; + } +#endif +#ifdef WGL_NV_DX_interop2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"DX_interop2", 11)) + { + ret = WGLEW_NV_DX_interop2; + continue; + } +#endif +#ifdef WGL_NV_copy_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) + { + ret = WGLEW_NV_copy_image; + continue; + } +#endif +#ifdef WGL_NV_delay_before_swap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"delay_before_swap", 17)) + { + ret = WGLEW_NV_delay_before_swap; + continue; + } +#endif +#ifdef WGL_NV_float_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) + { + ret = WGLEW_NV_float_buffer; + continue; + } +#endif +#ifdef WGL_NV_gpu_affinity + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_affinity", 12)) + { + ret = WGLEW_NV_gpu_affinity; + continue; + } +#endif +#ifdef WGL_NV_multisample_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) + { + ret = WGLEW_NV_multisample_coverage; + continue; + } +#endif +#ifdef WGL_NV_present_video + if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) + { + ret = WGLEW_NV_present_video; + continue; + } +#endif +#ifdef WGL_NV_render_depth_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_depth_texture", 20)) + { + ret = WGLEW_NV_render_depth_texture; + continue; + } +#endif +#ifdef WGL_NV_render_texture_rectangle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) + { + ret = WGLEW_NV_render_texture_rectangle; + continue; + } +#endif +#ifdef WGL_NV_swap_group + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) + { + ret = WGLEW_NV_swap_group; + continue; + } +#endif +#ifdef WGL_NV_vertex_array_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) + { + ret = WGLEW_NV_vertex_array_range; + continue; + } +#endif +#ifdef WGL_NV_video_capture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) + { + ret = WGLEW_NV_video_capture; + continue; + } +#endif +#ifdef WGL_NV_video_output + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12)) + { + ret = WGLEW_NV_video_output; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) + { +#ifdef WGL_OML_sync_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) + { + ret = WGLEW_OML_sync_control; + continue; + } +#endif + } + } + ret = (len == 0); + } + return ret; +} + +#elif !defined(GLEW_OSMESA) && !defined(GLEW_EGL) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) + +GLboolean glxewIsSupported (const char* name) +{ + const GLubyte* pos = (const GLubyte*)name; + GLuint len = _glewStrLen(pos); + GLboolean ret = GL_TRUE; + while (ret && len > 0) + { + if(_glewStrSame1(&pos, &len, (const GLubyte*)"GLX_", 4)) + { + if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) + { +#ifdef GLX_VERSION_1_2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) + { + ret = GLXEW_VERSION_1_2; + continue; + } +#endif +#ifdef GLX_VERSION_1_3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) + { + ret = GLXEW_VERSION_1_3; + continue; + } +#endif +#ifdef GLX_VERSION_1_4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) + { + ret = GLXEW_VERSION_1_4; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) + { +#ifdef GLX_3DFX_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLXEW_3DFX_multisample; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) + { +#ifdef GLX_AMD_gpu_association + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_association", 15)) + { + ret = GLXEW_AMD_gpu_association; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) + { +#ifdef GLX_ARB_context_flush_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"context_flush_control", 21)) + { + ret = GLXEW_ARB_context_flush_control; + continue; + } +#endif +#ifdef GLX_ARB_create_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) + { + ret = GLXEW_ARB_create_context; + continue; + } +#endif +#ifdef GLX_ARB_create_context_no_error + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_no_error", 23)) + { + ret = GLXEW_ARB_create_context_no_error; + continue; + } +#endif +#ifdef GLX_ARB_create_context_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_profile", 22)) + { + ret = GLXEW_ARB_create_context_profile; + continue; + } +#endif +#ifdef GLX_ARB_create_context_robustness + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_robustness", 25)) + { + ret = GLXEW_ARB_create_context_robustness; + continue; + } +#endif +#ifdef GLX_ARB_fbconfig_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_float", 14)) + { + ret = GLXEW_ARB_fbconfig_float; + continue; + } +#endif +#ifdef GLX_ARB_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = GLXEW_ARB_framebuffer_sRGB; + continue; + } +#endif +#ifdef GLX_ARB_get_proc_address + if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_proc_address", 16)) + { + ret = GLXEW_ARB_get_proc_address; + continue; + } +#endif +#ifdef GLX_ARB_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLXEW_ARB_multisample; + continue; + } +#endif +#ifdef GLX_ARB_robustness_application_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) + { + ret = GLXEW_ARB_robustness_application_isolation; + continue; + } +#endif +#ifdef GLX_ARB_robustness_share_group_isolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) + { + ret = GLXEW_ARB_robustness_share_group_isolation; + continue; + } +#endif +#ifdef GLX_ARB_vertex_buffer_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_object", 20)) + { + ret = GLXEW_ARB_vertex_buffer_object; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) + { +#ifdef GLX_ATI_pixel_format_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) + { + ret = GLXEW_ATI_pixel_format_float; + continue; + } +#endif +#ifdef GLX_ATI_render_texture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) + { + ret = GLXEW_ATI_render_texture; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) + { +#ifdef GLX_EXT_buffer_age + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_age", 10)) + { + ret = GLXEW_EXT_buffer_age; + continue; + } +#endif +#ifdef GLX_EXT_create_context_es2_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es2_profile", 26)) + { + ret = GLXEW_EXT_create_context_es2_profile; + continue; + } +#endif +#ifdef GLX_EXT_create_context_es_profile + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es_profile", 25)) + { + ret = GLXEW_EXT_create_context_es_profile; + continue; + } +#endif +#ifdef GLX_EXT_fbconfig_packed_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_packed_float", 21)) + { + ret = GLXEW_EXT_fbconfig_packed_float; + continue; + } +#endif +#ifdef GLX_EXT_framebuffer_sRGB + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) + { + ret = GLXEW_EXT_framebuffer_sRGB; + continue; + } +#endif +#ifdef GLX_EXT_import_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"import_context", 14)) + { + ret = GLXEW_EXT_import_context; + continue; + } +#endif +#ifdef GLX_EXT_libglvnd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"libglvnd", 8)) + { + ret = GLXEW_EXT_libglvnd; + continue; + } +#endif +#ifdef GLX_EXT_scene_marker + if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) + { + ret = GLXEW_EXT_scene_marker; + continue; + } +#endif +#ifdef GLX_EXT_stereo_tree + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stereo_tree", 11)) + { + ret = GLXEW_EXT_stereo_tree; + continue; + } +#endif +#ifdef GLX_EXT_swap_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) + { + ret = GLXEW_EXT_swap_control; + continue; + } +#endif +#ifdef GLX_EXT_swap_control_tear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control_tear", 17)) + { + ret = GLXEW_EXT_swap_control_tear; + continue; + } +#endif +#ifdef GLX_EXT_texture_from_pixmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_from_pixmap", 19)) + { + ret = GLXEW_EXT_texture_from_pixmap; + continue; + } +#endif +#ifdef GLX_EXT_visual_info + if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_info", 11)) + { + ret = GLXEW_EXT_visual_info; + continue; + } +#endif +#ifdef GLX_EXT_visual_rating + if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_rating", 13)) + { + ret = GLXEW_EXT_visual_rating; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"INTEL_", 6)) + { +#ifdef GLX_INTEL_swap_event + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_event", 10)) + { + ret = GLXEW_INTEL_swap_event; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) + { +#ifdef GLX_MESA_agp_offset + if (_glewStrSame3(&pos, &len, (const GLubyte*)"agp_offset", 10)) + { + ret = GLXEW_MESA_agp_offset; + continue; + } +#endif +#ifdef GLX_MESA_copy_sub_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_sub_buffer", 15)) + { + ret = GLXEW_MESA_copy_sub_buffer; + continue; + } +#endif +#ifdef GLX_MESA_pixmap_colormap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixmap_colormap", 15)) + { + ret = GLXEW_MESA_pixmap_colormap; + continue; + } +#endif +#ifdef GLX_MESA_query_renderer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_renderer", 14)) + { + ret = GLXEW_MESA_query_renderer; + continue; + } +#endif +#ifdef GLX_MESA_release_buffers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"release_buffers", 15)) + { + ret = GLXEW_MESA_release_buffers; + continue; + } +#endif +#ifdef GLX_MESA_set_3dfx_mode + if (_glewStrSame3(&pos, &len, (const GLubyte*)"set_3dfx_mode", 13)) + { + ret = GLXEW_MESA_set_3dfx_mode; + continue; + } +#endif +#ifdef GLX_MESA_swap_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) + { + ret = GLXEW_MESA_swap_control; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) + { +#ifdef GLX_NV_copy_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_buffer", 11)) + { + ret = GLXEW_NV_copy_buffer; + continue; + } +#endif +#ifdef GLX_NV_copy_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) + { + ret = GLXEW_NV_copy_image; + continue; + } +#endif +#ifdef GLX_NV_delay_before_swap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"delay_before_swap", 17)) + { + ret = GLXEW_NV_delay_before_swap; + continue; + } +#endif +#ifdef GLX_NV_float_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) + { + ret = GLXEW_NV_float_buffer; + continue; + } +#endif +#ifdef GLX_NV_multisample_coverage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) + { + ret = GLXEW_NV_multisample_coverage; + continue; + } +#endif +#ifdef GLX_NV_present_video + if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) + { + ret = GLXEW_NV_present_video; + continue; + } +#endif +#ifdef GLX_NV_robustness_video_memory_purge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_video_memory_purge", 29)) + { + ret = GLXEW_NV_robustness_video_memory_purge; + continue; + } +#endif +#ifdef GLX_NV_swap_group + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) + { + ret = GLXEW_NV_swap_group; + continue; + } +#endif +#ifdef GLX_NV_vertex_array_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) + { + ret = GLXEW_NV_vertex_array_range; + continue; + } +#endif +#ifdef GLX_NV_video_capture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) + { + ret = GLXEW_NV_video_capture; + continue; + } +#endif +#ifdef GLX_NV_video_out + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_out", 9)) + { + ret = GLXEW_NV_video_out; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) + { +#ifdef GLX_OML_swap_method + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_method", 11)) + { + ret = GLXEW_OML_swap_method; + continue; + } +#endif +#ifdef GLX_OML_sync_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) + { + ret = GLXEW_OML_sync_control; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) + { +#ifdef GLX_SGIS_blended_overlay + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blended_overlay", 15)) + { + ret = GLXEW_SGIS_blended_overlay; + continue; + } +#endif +#ifdef GLX_SGIS_color_range + if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) + { + ret = GLXEW_SGIS_color_range; + continue; + } +#endif +#ifdef GLX_SGIS_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) + { + ret = GLXEW_SGIS_multisample; + continue; + } +#endif +#ifdef GLX_SGIS_shared_multisample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_multisample", 18)) + { + ret = GLXEW_SGIS_shared_multisample; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) + { +#ifdef GLX_SGIX_fbconfig + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig", 8)) + { + ret = GLXEW_SGIX_fbconfig; + continue; + } +#endif +#ifdef GLX_SGIX_hyperpipe + if (_glewStrSame3(&pos, &len, (const GLubyte*)"hyperpipe", 9)) + { + ret = GLXEW_SGIX_hyperpipe; + continue; + } +#endif +#ifdef GLX_SGIX_pbuffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) + { + ret = GLXEW_SGIX_pbuffer; + continue; + } +#endif +#ifdef GLX_SGIX_swap_barrier + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_barrier", 12)) + { + ret = GLXEW_SGIX_swap_barrier; + continue; + } +#endif +#ifdef GLX_SGIX_swap_group + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) + { + ret = GLXEW_SGIX_swap_group; + continue; + } +#endif +#ifdef GLX_SGIX_video_resize + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) + { + ret = GLXEW_SGIX_video_resize; + continue; + } +#endif +#ifdef GLX_SGIX_visual_select_group + if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_select_group", 19)) + { + ret = GLXEW_SGIX_visual_select_group; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) + { +#ifdef GLX_SGI_cushion + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cushion", 7)) + { + ret = GLXEW_SGI_cushion; + continue; + } +#endif +#ifdef GLX_SGI_make_current_read + if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) + { + ret = GLXEW_SGI_make_current_read; + continue; + } +#endif +#ifdef GLX_SGI_swap_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) + { + ret = GLXEW_SGI_swap_control; + continue; + } +#endif +#ifdef GLX_SGI_video_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_sync", 10)) + { + ret = GLXEW_SGI_video_sync; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) + { +#ifdef GLX_SUN_get_transparent_index + if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_transparent_index", 21)) + { + ret = GLXEW_SUN_get_transparent_index; + continue; + } +#endif +#ifdef GLX_SUN_video_resize + if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) + { + ret = GLXEW_SUN_video_resize; + continue; + } +#endif + } + } + ret = (len == 0); + } + return ret; +} + +#elif defined(GLEW_EGL) + +GLboolean eglewIsSupported (const char* name) +{ + const GLubyte* pos = (const GLubyte*)name; + GLuint len = _glewStrLen(pos); + GLboolean ret = GL_TRUE; + while (ret && len > 0) + { + if(_glewStrSame1(&pos, &len, (const GLubyte*)"EGL_", 4)) + { + if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) + { +#ifdef EGL_VERSION_1_0 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_0", 3)) + { + ret = EGLEW_VERSION_1_0; + continue; + } +#endif +#ifdef EGL_VERSION_1_1 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_1", 3)) + { + ret = EGLEW_VERSION_1_1; + continue; + } +#endif +#ifdef EGL_VERSION_1_2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) + { + ret = EGLEW_VERSION_1_2; + continue; + } +#endif +#ifdef EGL_VERSION_1_3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) + { + ret = EGLEW_VERSION_1_3; + continue; + } +#endif +#ifdef EGL_VERSION_1_4 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) + { + ret = EGLEW_VERSION_1_4; + continue; + } +#endif +#ifdef EGL_VERSION_1_5 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_5", 3)) + { + ret = EGLEW_VERSION_1_5; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ANDROID_", 8)) + { +#ifdef EGL_ANDROID_blob_cache + if (_glewStrSame3(&pos, &len, (const GLubyte*)"blob_cache", 10)) + { + ret = EGLEW_ANDROID_blob_cache; + continue; + } +#endif +#ifdef EGL_ANDROID_create_native_client_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_native_client_buffer", 27)) + { + ret = EGLEW_ANDROID_create_native_client_buffer; + continue; + } +#endif +#ifdef EGL_ANDROID_framebuffer_target + if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_target", 18)) + { + ret = EGLEW_ANDROID_framebuffer_target; + continue; + } +#endif +#ifdef EGL_ANDROID_front_buffer_auto_refresh + if (_glewStrSame3(&pos, &len, (const GLubyte*)"front_buffer_auto_refresh", 25)) + { + ret = EGLEW_ANDROID_front_buffer_auto_refresh; + continue; + } +#endif +#ifdef EGL_ANDROID_image_native_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_native_buffer", 19)) + { + ret = EGLEW_ANDROID_image_native_buffer; + continue; + } +#endif +#ifdef EGL_ANDROID_native_fence_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"native_fence_sync", 17)) + { + ret = EGLEW_ANDROID_native_fence_sync; + continue; + } +#endif +#ifdef EGL_ANDROID_presentation_time + if (_glewStrSame3(&pos, &len, (const GLubyte*)"presentation_time", 17)) + { + ret = EGLEW_ANDROID_presentation_time; + continue; + } +#endif +#ifdef EGL_ANDROID_recordable + if (_glewStrSame3(&pos, &len, (const GLubyte*)"recordable", 10)) + { + ret = EGLEW_ANDROID_recordable; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ANGLE_", 6)) + { +#ifdef EGL_ANGLE_d3d_share_handle_client_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"d3d_share_handle_client_buffer", 30)) + { + ret = EGLEW_ANGLE_d3d_share_handle_client_buffer; + continue; + } +#endif +#ifdef EGL_ANGLE_device_d3d + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_d3d", 10)) + { + ret = EGLEW_ANGLE_device_d3d; + continue; + } +#endif +#ifdef EGL_ANGLE_query_surface_pointer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_surface_pointer", 21)) + { + ret = EGLEW_ANGLE_query_surface_pointer; + continue; + } +#endif +#ifdef EGL_ANGLE_surface_d3d_texture_2d_share_handle + if (_glewStrSame3(&pos, &len, (const GLubyte*)"surface_d3d_texture_2d_share_handle", 35)) + { + ret = EGLEW_ANGLE_surface_d3d_texture_2d_share_handle; + continue; + } +#endif +#ifdef EGL_ANGLE_window_fixed_size + if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_fixed_size", 17)) + { + ret = EGLEW_ANGLE_window_fixed_size; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARM_", 4)) + { +#ifdef EGL_ARM_implicit_external_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"implicit_external_sync", 22)) + { + ret = EGLEW_ARM_implicit_external_sync; + continue; + } +#endif +#ifdef EGL_ARM_pixmap_multisample_discard + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixmap_multisample_discard", 26)) + { + ret = EGLEW_ARM_pixmap_multisample_discard; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) + { +#ifdef EGL_EXT_buffer_age + if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_age", 10)) + { + ret = EGLEW_EXT_buffer_age; + continue; + } +#endif +#ifdef EGL_EXT_client_extensions + if (_glewStrSame3(&pos, &len, (const GLubyte*)"client_extensions", 17)) + { + ret = EGLEW_EXT_client_extensions; + continue; + } +#endif +#ifdef EGL_EXT_create_context_robustness + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_robustness", 25)) + { + ret = EGLEW_EXT_create_context_robustness; + continue; + } +#endif +#ifdef EGL_EXT_device_base + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_base", 11)) + { + ret = EGLEW_EXT_device_base; + continue; + } +#endif +#ifdef EGL_EXT_device_drm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_drm", 10)) + { + ret = EGLEW_EXT_device_drm; + continue; + } +#endif +#ifdef EGL_EXT_device_enumeration + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_enumeration", 18)) + { + ret = EGLEW_EXT_device_enumeration; + continue; + } +#endif +#ifdef EGL_EXT_device_openwf + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_openwf", 13)) + { + ret = EGLEW_EXT_device_openwf; + continue; + } +#endif +#ifdef EGL_EXT_device_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_query", 12)) + { + ret = EGLEW_EXT_device_query; + continue; + } +#endif +#ifdef EGL_EXT_gl_colorspace_bt2020_linear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_colorspace_bt2020_linear", 27)) + { + ret = EGLEW_EXT_gl_colorspace_bt2020_linear; + continue; + } +#endif +#ifdef EGL_EXT_gl_colorspace_bt2020_pq + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_colorspace_bt2020_pq", 23)) + { + ret = EGLEW_EXT_gl_colorspace_bt2020_pq; + continue; + } +#endif +#ifdef EGL_EXT_gl_colorspace_scrgb_linear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_colorspace_scrgb_linear", 26)) + { + ret = EGLEW_EXT_gl_colorspace_scrgb_linear; + continue; + } +#endif +#ifdef EGL_EXT_image_dma_buf_import + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_dma_buf_import", 20)) + { + ret = EGLEW_EXT_image_dma_buf_import; + continue; + } +#endif +#ifdef EGL_EXT_image_dma_buf_import_modifiers + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_dma_buf_import_modifiers", 30)) + { + ret = EGLEW_EXT_image_dma_buf_import_modifiers; + continue; + } +#endif +#ifdef EGL_EXT_multiview_window + if (_glewStrSame3(&pos, &len, (const GLubyte*)"multiview_window", 16)) + { + ret = EGLEW_EXT_multiview_window; + continue; + } +#endif +#ifdef EGL_EXT_output_base + if (_glewStrSame3(&pos, &len, (const GLubyte*)"output_base", 11)) + { + ret = EGLEW_EXT_output_base; + continue; + } +#endif +#ifdef EGL_EXT_output_drm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"output_drm", 10)) + { + ret = EGLEW_EXT_output_drm; + continue; + } +#endif +#ifdef EGL_EXT_output_openwf + if (_glewStrSame3(&pos, &len, (const GLubyte*)"output_openwf", 13)) + { + ret = EGLEW_EXT_output_openwf; + continue; + } +#endif +#ifdef EGL_EXT_pixel_format_float + if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) + { + ret = EGLEW_EXT_pixel_format_float; + continue; + } +#endif +#ifdef EGL_EXT_platform_base + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_base", 13)) + { + ret = EGLEW_EXT_platform_base; + continue; + } +#endif +#ifdef EGL_EXT_platform_device + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_device", 15)) + { + ret = EGLEW_EXT_platform_device; + continue; + } +#endif +#ifdef EGL_EXT_platform_wayland + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_wayland", 16)) + { + ret = EGLEW_EXT_platform_wayland; + continue; + } +#endif +#ifdef EGL_EXT_platform_x11 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_x11", 12)) + { + ret = EGLEW_EXT_platform_x11; + continue; + } +#endif +#ifdef EGL_EXT_protected_content + if (_glewStrSame3(&pos, &len, (const GLubyte*)"protected_content", 17)) + { + ret = EGLEW_EXT_protected_content; + continue; + } +#endif +#ifdef EGL_EXT_protected_surface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"protected_surface", 17)) + { + ret = EGLEW_EXT_protected_surface; + continue; + } +#endif +#ifdef EGL_EXT_stream_consumer_egloutput + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_consumer_egloutput", 25)) + { + ret = EGLEW_EXT_stream_consumer_egloutput; + continue; + } +#endif +#ifdef EGL_EXT_surface_SMPTE2086_metadata + if (_glewStrSame3(&pos, &len, (const GLubyte*)"surface_SMPTE2086_metadata", 26)) + { + ret = EGLEW_EXT_surface_SMPTE2086_metadata; + continue; + } +#endif +#ifdef EGL_EXT_swap_buffers_with_damage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_buffers_with_damage", 24)) + { + ret = EGLEW_EXT_swap_buffers_with_damage; + continue; + } +#endif +#ifdef EGL_EXT_yuv_surface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"yuv_surface", 11)) + { + ret = EGLEW_EXT_yuv_surface; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"HI_", 3)) + { +#ifdef EGL_HI_clientpixmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"clientpixmap", 12)) + { + ret = EGLEW_HI_clientpixmap; + continue; + } +#endif +#ifdef EGL_HI_colorformats + if (_glewStrSame3(&pos, &len, (const GLubyte*)"colorformats", 12)) + { + ret = EGLEW_HI_colorformats; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"IMG_", 4)) + { +#ifdef EGL_IMG_context_priority + if (_glewStrSame3(&pos, &len, (const GLubyte*)"context_priority", 16)) + { + ret = EGLEW_IMG_context_priority; + continue; + } +#endif +#ifdef EGL_IMG_image_plane_attribs + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_plane_attribs", 19)) + { + ret = EGLEW_IMG_image_plane_attribs; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"KHR_", 4)) + { +#ifdef EGL_KHR_cl_event + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cl_event", 8)) + { + ret = EGLEW_KHR_cl_event; + continue; + } +#endif +#ifdef EGL_KHR_cl_event2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cl_event2", 9)) + { + ret = EGLEW_KHR_cl_event2; + continue; + } +#endif +#ifdef EGL_KHR_client_get_all_proc_addresses + if (_glewStrSame3(&pos, &len, (const GLubyte*)"client_get_all_proc_addresses", 29)) + { + ret = EGLEW_KHR_client_get_all_proc_addresses; + continue; + } +#endif +#ifdef EGL_KHR_config_attribs + if (_glewStrSame3(&pos, &len, (const GLubyte*)"config_attribs", 14)) + { + ret = EGLEW_KHR_config_attribs; + continue; + } +#endif +#ifdef EGL_KHR_context_flush_control + if (_glewStrSame3(&pos, &len, (const GLubyte*)"context_flush_control", 21)) + { + ret = EGLEW_KHR_context_flush_control; + continue; + } +#endif +#ifdef EGL_KHR_create_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) + { + ret = EGLEW_KHR_create_context; + continue; + } +#endif +#ifdef EGL_KHR_create_context_no_error + if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_no_error", 23)) + { + ret = EGLEW_KHR_create_context_no_error; + continue; + } +#endif +#ifdef EGL_KHR_debug + if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug", 5)) + { + ret = EGLEW_KHR_debug; + continue; + } +#endif +#ifdef EGL_KHR_fence_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence_sync", 10)) + { + ret = EGLEW_KHR_fence_sync; + continue; + } +#endif +#ifdef EGL_KHR_get_all_proc_addresses + if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_all_proc_addresses", 22)) + { + ret = EGLEW_KHR_get_all_proc_addresses; + continue; + } +#endif +#ifdef EGL_KHR_gl_colorspace + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_colorspace", 13)) + { + ret = EGLEW_KHR_gl_colorspace; + continue; + } +#endif +#ifdef EGL_KHR_gl_renderbuffer_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_renderbuffer_image", 21)) + { + ret = EGLEW_KHR_gl_renderbuffer_image; + continue; + } +#endif +#ifdef EGL_KHR_gl_texture_2D_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_texture_2D_image", 19)) + { + ret = EGLEW_KHR_gl_texture_2D_image; + continue; + } +#endif +#ifdef EGL_KHR_gl_texture_3D_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_texture_3D_image", 19)) + { + ret = EGLEW_KHR_gl_texture_3D_image; + continue; + } +#endif +#ifdef EGL_KHR_gl_texture_cubemap_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"gl_texture_cubemap_image", 24)) + { + ret = EGLEW_KHR_gl_texture_cubemap_image; + continue; + } +#endif +#ifdef EGL_KHR_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image", 5)) + { + ret = EGLEW_KHR_image; + continue; + } +#endif +#ifdef EGL_KHR_image_base + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_base", 10)) + { + ret = EGLEW_KHR_image_base; + continue; + } +#endif +#ifdef EGL_KHR_image_pixmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_pixmap", 12)) + { + ret = EGLEW_KHR_image_pixmap; + continue; + } +#endif +#ifdef EGL_KHR_lock_surface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"lock_surface", 12)) + { + ret = EGLEW_KHR_lock_surface; + continue; + } +#endif +#ifdef EGL_KHR_lock_surface2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"lock_surface2", 13)) + { + ret = EGLEW_KHR_lock_surface2; + continue; + } +#endif +#ifdef EGL_KHR_lock_surface3 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"lock_surface3", 13)) + { + ret = EGLEW_KHR_lock_surface3; + continue; + } +#endif +#ifdef EGL_KHR_mutable_render_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"mutable_render_buffer", 21)) + { + ret = EGLEW_KHR_mutable_render_buffer; + continue; + } +#endif +#ifdef EGL_KHR_no_config_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"no_config_context", 17)) + { + ret = EGLEW_KHR_no_config_context; + continue; + } +#endif +#ifdef EGL_KHR_partial_update + if (_glewStrSame3(&pos, &len, (const GLubyte*)"partial_update", 14)) + { + ret = EGLEW_KHR_partial_update; + continue; + } +#endif +#ifdef EGL_KHR_platform_android + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_android", 16)) + { + ret = EGLEW_KHR_platform_android; + continue; + } +#endif +#ifdef EGL_KHR_platform_gbm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_gbm", 12)) + { + ret = EGLEW_KHR_platform_gbm; + continue; + } +#endif +#ifdef EGL_KHR_platform_wayland + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_wayland", 16)) + { + ret = EGLEW_KHR_platform_wayland; + continue; + } +#endif +#ifdef EGL_KHR_platform_x11 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_x11", 12)) + { + ret = EGLEW_KHR_platform_x11; + continue; + } +#endif +#ifdef EGL_KHR_reusable_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"reusable_sync", 13)) + { + ret = EGLEW_KHR_reusable_sync; + continue; + } +#endif +#ifdef EGL_KHR_stream + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream", 6)) + { + ret = EGLEW_KHR_stream; + continue; + } +#endif +#ifdef EGL_KHR_stream_attrib + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_attrib", 13)) + { + ret = EGLEW_KHR_stream_attrib; + continue; + } +#endif +#ifdef EGL_KHR_stream_consumer_gltexture + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_consumer_gltexture", 25)) + { + ret = EGLEW_KHR_stream_consumer_gltexture; + continue; + } +#endif +#ifdef EGL_KHR_stream_cross_process_fd + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_process_fd", 23)) + { + ret = EGLEW_KHR_stream_cross_process_fd; + continue; + } +#endif +#ifdef EGL_KHR_stream_fifo + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_fifo", 11)) + { + ret = EGLEW_KHR_stream_fifo; + continue; + } +#endif +#ifdef EGL_KHR_stream_producer_aldatalocator + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_producer_aldatalocator", 29)) + { + ret = EGLEW_KHR_stream_producer_aldatalocator; + continue; + } +#endif +#ifdef EGL_KHR_stream_producer_eglsurface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_producer_eglsurface", 26)) + { + ret = EGLEW_KHR_stream_producer_eglsurface; + continue; + } +#endif +#ifdef EGL_KHR_surfaceless_context + if (_glewStrSame3(&pos, &len, (const GLubyte*)"surfaceless_context", 19)) + { + ret = EGLEW_KHR_surfaceless_context; + continue; + } +#endif +#ifdef EGL_KHR_swap_buffers_with_damage + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_buffers_with_damage", 24)) + { + ret = EGLEW_KHR_swap_buffers_with_damage; + continue; + } +#endif +#ifdef EGL_KHR_vg_parent_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"vg_parent_image", 15)) + { + ret = EGLEW_KHR_vg_parent_image; + continue; + } +#endif +#ifdef EGL_KHR_wait_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"wait_sync", 9)) + { + ret = EGLEW_KHR_wait_sync; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) + { +#ifdef EGL_MESA_drm_image + if (_glewStrSame3(&pos, &len, (const GLubyte*)"drm_image", 9)) + { + ret = EGLEW_MESA_drm_image; + continue; + } +#endif +#ifdef EGL_MESA_image_dma_buf_export + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_dma_buf_export", 20)) + { + ret = EGLEW_MESA_image_dma_buf_export; + continue; + } +#endif +#ifdef EGL_MESA_platform_gbm + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_gbm", 12)) + { + ret = EGLEW_MESA_platform_gbm; + continue; + } +#endif +#ifdef EGL_MESA_platform_surfaceless + if (_glewStrSame3(&pos, &len, (const GLubyte*)"platform_surfaceless", 20)) + { + ret = EGLEW_MESA_platform_surfaceless; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NOK_", 4)) + { +#ifdef EGL_NOK_swap_region + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_region", 11)) + { + ret = EGLEW_NOK_swap_region; + continue; + } +#endif +#ifdef EGL_NOK_swap_region2 + if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_region2", 12)) + { + ret = EGLEW_NOK_swap_region2; + continue; + } +#endif +#ifdef EGL_NOK_texture_from_pixmap + if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_from_pixmap", 19)) + { + ret = EGLEW_NOK_texture_from_pixmap; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) + { +#ifdef EGL_NV_3dvision_surface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"3dvision_surface", 16)) + { + ret = EGLEW_NV_3dvision_surface; + continue; + } +#endif +#ifdef EGL_NV_coverage_sample + if (_glewStrSame3(&pos, &len, (const GLubyte*)"coverage_sample", 15)) + { + ret = EGLEW_NV_coverage_sample; + continue; + } +#endif +#ifdef EGL_NV_coverage_sample_resolve + if (_glewStrSame3(&pos, &len, (const GLubyte*)"coverage_sample_resolve", 23)) + { + ret = EGLEW_NV_coverage_sample_resolve; + continue; + } +#endif +#ifdef EGL_NV_cuda_event + if (_glewStrSame3(&pos, &len, (const GLubyte*)"cuda_event", 10)) + { + ret = EGLEW_NV_cuda_event; + continue; + } +#endif +#ifdef EGL_NV_depth_nonlinear + if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_nonlinear", 15)) + { + ret = EGLEW_NV_depth_nonlinear; + continue; + } +#endif +#ifdef EGL_NV_device_cuda + if (_glewStrSame3(&pos, &len, (const GLubyte*)"device_cuda", 11)) + { + ret = EGLEW_NV_device_cuda; + continue; + } +#endif +#ifdef EGL_NV_native_query + if (_glewStrSame3(&pos, &len, (const GLubyte*)"native_query", 12)) + { + ret = EGLEW_NV_native_query; + continue; + } +#endif +#ifdef EGL_NV_post_convert_rounding + if (_glewStrSame3(&pos, &len, (const GLubyte*)"post_convert_rounding", 21)) + { + ret = EGLEW_NV_post_convert_rounding; + continue; + } +#endif +#ifdef EGL_NV_post_sub_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"post_sub_buffer", 15)) + { + ret = EGLEW_NV_post_sub_buffer; + continue; + } +#endif +#ifdef EGL_NV_robustness_video_memory_purge + if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_video_memory_purge", 29)) + { + ret = EGLEW_NV_robustness_video_memory_purge; + continue; + } +#endif +#ifdef EGL_NV_stream_consumer_gltexture_yuv + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_consumer_gltexture_yuv", 29)) + { + ret = EGLEW_NV_stream_consumer_gltexture_yuv; + continue; + } +#endif +#ifdef EGL_NV_stream_cross_display + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_display", 20)) + { + ret = EGLEW_NV_stream_cross_display; + continue; + } +#endif +#ifdef EGL_NV_stream_cross_object + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_object", 19)) + { + ret = EGLEW_NV_stream_cross_object; + continue; + } +#endif +#ifdef EGL_NV_stream_cross_partition + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_partition", 22)) + { + ret = EGLEW_NV_stream_cross_partition; + continue; + } +#endif +#ifdef EGL_NV_stream_cross_process + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_process", 20)) + { + ret = EGLEW_NV_stream_cross_process; + continue; + } +#endif +#ifdef EGL_NV_stream_cross_system + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_cross_system", 19)) + { + ret = EGLEW_NV_stream_cross_system; + continue; + } +#endif +#ifdef EGL_NV_stream_fifo_next + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_fifo_next", 16)) + { + ret = EGLEW_NV_stream_fifo_next; + continue; + } +#endif +#ifdef EGL_NV_stream_fifo_synchronous + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_fifo_synchronous", 23)) + { + ret = EGLEW_NV_stream_fifo_synchronous; + continue; + } +#endif +#ifdef EGL_NV_stream_frame_limits + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_frame_limits", 19)) + { + ret = EGLEW_NV_stream_frame_limits; + continue; + } +#endif +#ifdef EGL_NV_stream_metadata + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_metadata", 15)) + { + ret = EGLEW_NV_stream_metadata; + continue; + } +#endif +#ifdef EGL_NV_stream_remote + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_remote", 13)) + { + ret = EGLEW_NV_stream_remote; + continue; + } +#endif +#ifdef EGL_NV_stream_reset + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_reset", 12)) + { + ret = EGLEW_NV_stream_reset; + continue; + } +#endif +#ifdef EGL_NV_stream_socket + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_socket", 13)) + { + ret = EGLEW_NV_stream_socket; + continue; + } +#endif +#ifdef EGL_NV_stream_socket_inet + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_socket_inet", 18)) + { + ret = EGLEW_NV_stream_socket_inet; + continue; + } +#endif +#ifdef EGL_NV_stream_socket_unix + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_socket_unix", 18)) + { + ret = EGLEW_NV_stream_socket_unix; + continue; + } +#endif +#ifdef EGL_NV_stream_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"stream_sync", 11)) + { + ret = EGLEW_NV_stream_sync; + continue; + } +#endif +#ifdef EGL_NV_sync + if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync", 4)) + { + ret = EGLEW_NV_sync; + continue; + } +#endif +#ifdef EGL_NV_system_time + if (_glewStrSame3(&pos, &len, (const GLubyte*)"system_time", 11)) + { + ret = EGLEW_NV_system_time; + continue; + } +#endif + } + if (_glewStrSame2(&pos, &len, (const GLubyte*)"TIZEN_", 6)) + { +#ifdef EGL_TIZEN_image_native_buffer + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_native_buffer", 19)) + { + ret = EGLEW_TIZEN_image_native_buffer; + continue; + } +#endif +#ifdef EGL_TIZEN_image_native_surface + if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_native_surface", 20)) + { + ret = EGLEW_TIZEN_image_native_surface; + continue; + } +#endif + } + } + ret = (len == 0); + } + return ret; +} + +#endif /* _WIN32 */ diff --git a/msvc/glew.h b/msvc/glew.h new file mode 100644 index 0000000000..c0839d78ba --- /dev/null +++ b/msvc/glew.h @@ -0,0 +1,23688 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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. +*/ + +/* + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __glew_h__ +#define __glew_h__ +#define __GLEW_H__ + +#if defined(__gl_h_) || defined(__GL_H__) || defined(_GL_H) || defined(__X_GL_H) +#error gl.h included before glew.h +#endif +#if defined(__gl2_h_) +#error gl2.h included before glew.h +#endif +#if defined(__gltypes_h_) +#error gltypes.h included before glew.h +#endif +#if defined(__REGAL_H__) +#error Regal.h included before glew.h +#endif +#if defined(__glext_h_) || defined(__GLEXT_H_) +#error glext.h included before glew.h +#endif +#if defined(__gl_ATI_h_) +#error glATI.h included before glew.h +#endif + +#define __gl_h_ +#define __gl2_h_ +#define __GL_H__ +#define _GL_H +#define __gltypes_h_ +#define __REGAL_H__ +#define __X_GL_H +#define __glext_h_ +#define __GLEXT_H_ +#define __gl_ATI_h_ + +#if defined(_WIN32) + +#define GLEW_STATIC + +/* + * GLEW does not include to avoid name space pollution. + * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t + * defined properly. + */ +/* and */ +#ifdef APIENTRY +# ifndef GLAPIENTRY +# define GLAPIENTRY APIENTRY +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY APIENTRY +# endif +#else +#define GLEW_APIENTRY_DEFINED +# if defined(__MINGW32__) || defined(__CYGWIN__) || (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) +# define APIENTRY __stdcall +# ifndef GLAPIENTRY +# define GLAPIENTRY __stdcall +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY __stdcall +# endif +# else +# define APIENTRY +# endif +#endif +#ifndef GLAPI +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define GLAPI extern +# endif +#endif +/* */ +#ifndef CALLBACK +#define GLEW_CALLBACK_DEFINED +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define CALLBACK __attribute__ ((__stdcall__)) +# elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +#endif +/* and */ +#ifndef WINGDIAPI +#define GLEW_WINGDIAPI_DEFINED +#define WINGDIAPI __declspec(dllimport) +#endif +/* */ +#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED) +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +#endif +/* */ +#if !defined(_W64) +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif +#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) && !defined(__MINGW64__) +# ifdef _WIN64 +typedef __int64 ptrdiff_t; +# else +typedef _W64 int ptrdiff_t; +# endif +# define _PTRDIFF_T_DEFINED +# define _PTRDIFF_T_ +#endif + +#ifndef GLAPI +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define GLAPI extern +# else +# define GLAPI WINGDIAPI +# endif +#endif + +/* + * GLEW_STATIC is defined for static library. + * GLEW_BUILD is defined for building the DLL library. + */ + +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# ifdef GLEW_BUILD +# define GLEWAPI extern __declspec(dllexport) +# else +# define GLEWAPI extern __declspec(dllimport) +# endif +#endif + +#else /* _UNIX */ + +/* + * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO + * C. On my system, this amounts to _3 lines_ of included code, all of + * them pretty much harmless. If you know of a way of detecting 32 vs + * 64 _targets_ at compile time you are free to replace this with + * something that's portable. For now, _this_ is the portable solution. + * (mem, 2004-01-04) + */ + +#include + +/* SGI MIPSPro doesn't like stdint.h in C++ mode */ +/* ID: 3376260 Solaris 9 has inttypes.h, but not stdint.h */ + +#if (defined(__sgi) || defined(__sun)) && !defined(__GNUC__) +#include +#else +#include +#endif + +#define GLEW_APIENTRY_DEFINED +#define APIENTRY + +/* + * GLEW_STATIC is defined for static library. + */ + +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# if defined(__GNUC__) && __GNUC__>=4 +# define GLEWAPI extern __attribute__ ((visibility("default"))) +# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define GLEWAPI extern __global +# else +# define GLEWAPI extern +# endif +#endif + +/* */ +#ifndef GLAPI +#define GLAPI extern +#endif + +#endif /* _WIN32 */ + +#ifndef GLAPIENTRY +#define GLAPIENTRY +#endif + +#ifndef GLEWAPIENTRY +#define GLEWAPIENTRY +#endif + +#define GLEW_VAR_EXPORT GLEWAPI +#define GLEW_FUN_EXPORT GLEWAPI + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------------------- GL_VERSION_1_1 ---------------------------- */ + +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 + +typedef unsigned int GLenum; +typedef unsigned int GLbitfield; +typedef unsigned int GLuint; +typedef int GLint; +typedef int GLsizei; +typedef unsigned char GLboolean; +typedef signed char GLbyte; +typedef short GLshort; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned long GLulong; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void GLvoid; +#if defined(_MSC_VER) && _MSC_VER < 1400 +typedef __int64 GLint64EXT; +typedef unsigned __int64 GLuint64EXT; +#elif defined(_MSC_VER) || defined(__BORLANDC__) +typedef signed long long GLint64EXT; +typedef unsigned long long GLuint64EXT; +#else +# if defined(__MINGW32__) || defined(__CYGWIN__) +#include +# endif +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif +typedef GLint64EXT GLint64; +typedef GLuint64EXT GLuint64; +typedef struct __GLsync *GLsync; + +typedef char GLchar; + +#define GL_ZERO 0 +#define GL_FALSE 0 +#define GL_LOGIC_OP 0x0BF1 +#define GL_NONE 0 +#define GL_TEXTURE_COMPONENTS 0x1003 +#define GL_NO_ERROR 0 +#define GL_POINTS 0x0000 +#define GL_CURRENT_BIT 0x00000001 +#define GL_TRUE 1 +#define GL_ONE 1 +#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_POINT_BIT 0x00000002 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_LINE_STRIP 0x0003 +#define GL_LINE_BIT 0x00000004 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_QUAD_STRIP 0x0008 +#define GL_POLYGON_BIT 0x00000008 +#define GL_POLYGON 0x0009 +#define GL_POLYGON_STIPPLE_BIT 0x00000010 +#define GL_PIXEL_MODE_BIT 0x00000020 +#define GL_LIGHTING_BIT 0x00000040 +#define GL_FOG_BIT 0x00000080 +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_ACCUM 0x0100 +#define GL_LOAD 0x0101 +#define GL_RETURN 0x0102 +#define GL_MULT 0x0103 +#define GL_ADD 0x0104 +#define GL_NEVER 0x0200 +#define GL_ACCUM_BUFFER_BIT 0x00000200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_AUX0 0x0409 +#define GL_AUX1 0x040A +#define GL_AUX2 0x040B +#define GL_AUX3 0x040C +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_2D 0x0600 +#define GL_3D 0x0601 +#define GL_3D_COLOR 0x0602 +#define GL_3D_COLOR_TEXTURE 0x0603 +#define GL_4D_COLOR_TEXTURE 0x0604 +#define GL_PASS_THROUGH_TOKEN 0x0700 +#define GL_POINT_TOKEN 0x0701 +#define GL_LINE_TOKEN 0x0702 +#define GL_POLYGON_TOKEN 0x0703 +#define GL_BITMAP_TOKEN 0x0704 +#define GL_DRAW_PIXEL_TOKEN 0x0705 +#define GL_COPY_PIXEL_TOKEN 0x0706 +#define GL_LINE_RESET_TOKEN 0x0707 +#define GL_EXP 0x0800 +#define GL_VIEWPORT_BIT 0x00000800 +#define GL_EXP2 0x0801 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_COEFF 0x0A00 +#define GL_ORDER 0x0A01 +#define GL_DOMAIN 0x0A02 +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_INDEX 0x0B01 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_CURRENT_RASTER_COLOR 0x0B04 +#define GL_CURRENT_RASTER_INDEX 0x0B05 +#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 +#define GL_CURRENT_RASTER_POSITION 0x0B07 +#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 +#define GL_CURRENT_RASTER_DISTANCE 0x0B09 +#define GL_POINT_SMOOTH 0x0B10 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_LINE_STIPPLE 0x0B24 +#define GL_LINE_STIPPLE_PATTERN 0x0B25 +#define GL_LINE_STIPPLE_REPEAT 0x0B26 +#define GL_LIST_MODE 0x0B30 +#define GL_MAX_LIST_NESTING 0x0B31 +#define GL_LIST_BASE 0x0B32 +#define GL_LIST_INDEX 0x0B33 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_POLYGON_STIPPLE 0x0B42 +#define GL_EDGE_FLAG 0x0B43 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_LIGHTING 0x0B50 +#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_SHADE_MODEL 0x0B54 +#define GL_COLOR_MATERIAL_FACE 0x0B55 +#define GL_COLOR_MATERIAL_PARAMETER 0x0B56 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_FOG 0x0B60 +#define GL_FOG_INDEX 0x0B61 +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_ACCUM_CLEAR_VALUE 0x0B80 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_NORMALIZE 0x0BA1 +#define GL_VIEWPORT 0x0BA2 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ATTRIB_STACK_DEPTH 0x0BB0 +#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_INDEX_LOGIC_OP 0x0BF1 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_AUX_BUFFERS 0x0C00 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_INDEX_CLEAR_VALUE 0x0C20 +#define GL_INDEX_WRITEMASK 0x0C21 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_INDEX_MODE 0x0C30 +#define GL_RGBA_MODE 0x0C31 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_RENDER_MODE 0x0C40 +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_FOG_HINT 0x0C54 +#define GL_TEXTURE_GEN_S 0x0C60 +#define GL_TEXTURE_GEN_T 0x0C61 +#define GL_TEXTURE_GEN_R 0x0C62 +#define GL_TEXTURE_GEN_Q 0x0C63 +#define GL_PIXEL_MAP_I_TO_I 0x0C70 +#define GL_PIXEL_MAP_S_TO_S 0x0C71 +#define GL_PIXEL_MAP_I_TO_R 0x0C72 +#define GL_PIXEL_MAP_I_TO_G 0x0C73 +#define GL_PIXEL_MAP_I_TO_B 0x0C74 +#define GL_PIXEL_MAP_I_TO_A 0x0C75 +#define GL_PIXEL_MAP_R_TO_R 0x0C76 +#define GL_PIXEL_MAP_G_TO_G 0x0C77 +#define GL_PIXEL_MAP_B_TO_B 0x0C78 +#define GL_PIXEL_MAP_A_TO_A 0x0C79 +#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 +#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 +#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 +#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 +#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 +#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 +#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 +#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 +#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 +#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAP_COLOR 0x0D10 +#define GL_MAP_STENCIL 0x0D11 +#define GL_INDEX_SHIFT 0x0D12 +#define GL_INDEX_OFFSET 0x0D13 +#define GL_RED_SCALE 0x0D14 +#define GL_RED_BIAS 0x0D15 +#define GL_ZOOM_X 0x0D16 +#define GL_ZOOM_Y 0x0D17 +#define GL_GREEN_SCALE 0x0D18 +#define GL_GREEN_BIAS 0x0D19 +#define GL_BLUE_SCALE 0x0D1A +#define GL_BLUE_BIAS 0x0D1B +#define GL_ALPHA_SCALE 0x0D1C +#define GL_ALPHA_BIAS 0x0D1D +#define GL_DEPTH_SCALE 0x0D1E +#define GL_DEPTH_BIAS 0x0D1F +#define GL_MAX_EVAL_ORDER 0x0D30 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_PIXEL_MAP_TABLE 0x0D34 +#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_NAME_STACK_DEPTH 0x0D37 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_INDEX_BITS 0x0D51 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_ACCUM_RED_BITS 0x0D58 +#define GL_ACCUM_GREEN_BITS 0x0D59 +#define GL_ACCUM_BLUE_BITS 0x0D5A +#define GL_ACCUM_ALPHA_BITS 0x0D5B +#define GL_NAME_STACK_DEPTH 0x0D70 +#define GL_AUTO_NORMAL 0x0D80 +#define GL_MAP1_COLOR_4 0x0D90 +#define GL_MAP1_INDEX 0x0D91 +#define GL_MAP1_NORMAL 0x0D92 +#define GL_MAP1_TEXTURE_COORD_1 0x0D93 +#define GL_MAP1_TEXTURE_COORD_2 0x0D94 +#define GL_MAP1_TEXTURE_COORD_3 0x0D95 +#define GL_MAP1_TEXTURE_COORD_4 0x0D96 +#define GL_MAP1_VERTEX_3 0x0D97 +#define GL_MAP1_VERTEX_4 0x0D98 +#define GL_MAP2_COLOR_4 0x0DB0 +#define GL_MAP2_INDEX 0x0DB1 +#define GL_MAP2_NORMAL 0x0DB2 +#define GL_MAP2_TEXTURE_COORD_1 0x0DB3 +#define GL_MAP2_TEXTURE_COORD_2 0x0DB4 +#define GL_MAP2_TEXTURE_COORD_3 0x0DB5 +#define GL_MAP2_TEXTURE_COORD_4 0x0DB6 +#define GL_MAP2_VERTEX_3 0x0DB7 +#define GL_MAP2_VERTEX_4 0x0DB8 +#define GL_MAP1_GRID_DOMAIN 0x0DD0 +#define GL_MAP1_GRID_SEGMENTS 0x0DD1 +#define GL_MAP2_GRID_DOMAIN 0x0DD2 +#define GL_MAP2_GRID_SEGMENTS 0x0DD3 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 +#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 +#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 +#define GL_SELECTION_BUFFER_POINTER 0x0DF3 +#define GL_SELECTION_BUFFER_SIZE 0x0DF4 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TRANSFORM_BIT 0x00001000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_BORDER 0x1005 +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 +#define GL_COMPILE 0x1300 +#define GL_COMPILE_AND_EXECUTE 0x1301 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_2_BYTES 0x1407 +#define GL_3_BYTES 0x1408 +#define GL_4_BYTES 0x1409 +#define GL_DOUBLE 0x140A +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +#define GL_COLOR_INDEXES 0x1603 +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_COLOR_INDEX 0x1900 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A +#define GL_BITMAP 0x1A00 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_RENDER 0x1C00 +#define GL_FEEDBACK 0x1C01 +#define GL_SELECT 0x1C02 +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_S 0x2000 +#define GL_ENABLE_BIT 0x00002000 +#define GL_T 0x2001 +#define GL_R 0x2002 +#define GL_Q 0x2003 +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 +#define GL_TEXTURE_ENV 0x2300 +#define GL_EYE_LINEAR 0x2400 +#define GL_OBJECT_LINEAR 0x2401 +#define GL_SPHERE_MAP 0x2402 +#define GL_TEXTURE_GEN_MODE 0x2500 +#define GL_OBJECT_PLANE 0x2501 +#define GL_EYE_PLANE 0x2502 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_CLAMP 0x2900 +#define GL_REPEAT 0x2901 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_R3_G3_B2 0x2A10 +#define GL_V2F 0x2A20 +#define GL_V3F 0x2A21 +#define GL_C4UB_V2F 0x2A22 +#define GL_C4UB_V3F 0x2A23 +#define GL_C3F_V3F 0x2A24 +#define GL_N3F_V3F 0x2A25 +#define GL_C4F_N3F_V3F 0x2A26 +#define GL_T2F_V3F 0x2A27 +#define GL_T4F_V4F 0x2A28 +#define GL_T2F_C4UB_V3F 0x2A29 +#define GL_T2F_C3F_V3F 0x2A2A +#define GL_T2F_N3F_V3F 0x2A2B +#define GL_T2F_C4F_N3F_V3F 0x2A2C +#define GL_T4F_C4F_N3F_V4F 0x2A2D +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 +#define GL_LIGHT0 0x4000 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 +#define GL_HINT_BIT 0x00008000 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_ALPHA4 0x803B +#define GL_ALPHA8 0x803C +#define GL_ALPHA12 0x803D +#define GL_ALPHA16 0x803E +#define GL_LUMINANCE4 0x803F +#define GL_LUMINANCE8 0x8040 +#define GL_LUMINANCE12 0x8041 +#define GL_LUMINANCE16 0x8042 +#define GL_LUMINANCE4_ALPHA4 0x8043 +#define GL_LUMINANCE6_ALPHA2 0x8044 +#define GL_LUMINANCE8_ALPHA8 0x8045 +#define GL_LUMINANCE12_ALPHA4 0x8046 +#define GL_LUMINANCE12_ALPHA12 0x8047 +#define GL_LUMINANCE16_ALPHA16 0x8048 +#define GL_INTENSITY 0x8049 +#define GL_INTENSITY4 0x804A +#define GL_INTENSITY8 0x804B +#define GL_INTENSITY12 0x804C +#define GL_INTENSITY16 0x804D +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_TEXTURE_LUMINANCE_SIZE 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE 0x8061 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_TEXTURE_PRIORITY 0x8066 +#define GL_TEXTURE_RESIDENT 0x8067 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_INDEX_ARRAY 0x8077 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_EDGE_FLAG_ARRAY 0x8079 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_INDEX_ARRAY_TYPE 0x8085 +#define GL_INDEX_ARRAY_STRIDE 0x8086 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_INDEX_ARRAY_POINTER 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 +#define GL_COLOR_INDEX1_EXT 0x80E2 +#define GL_COLOR_INDEX2_EXT 0x80E3 +#define GL_COLOR_INDEX4_EXT 0x80E4 +#define GL_COLOR_INDEX8_EXT 0x80E5 +#define GL_COLOR_INDEX12_EXT 0x80E6 +#define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_EVAL_BIT 0x00010000 +#define GL_LIST_BIT 0x00020000 +#define GL_TEXTURE_BIT 0x00040000 +#define GL_SCISSOR_BIT 0x00080000 +#define GL_ALL_ATTRIB_BITS 0x000fffff +#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff + +GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value); +GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref); +GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI void GLAPIENTRY glArrayElement (GLint i); +GLAPI void GLAPIENTRY glBegin (GLenum mode); +GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture); +GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); +GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GLAPI void GLAPIENTRY glCallList (GLuint list); +GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const void *lists); +GLAPI void GLAPIENTRY glClear (GLbitfield mask); +GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GLAPI void GLAPIENTRY glClearDepth (GLclampd depth); +GLAPI void GLAPIENTRY glClearIndex (GLfloat c); +GLAPI void GLAPIENTRY glClearStencil (GLint s); +GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation); +GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue); +GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v); +GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue); +GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue); +GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue); +GLAPI void GLAPIENTRY glColor3iv (const GLint *v); +GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue); +GLAPI void GLAPIENTRY glColor3sv (const GLshort *v); +GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue); +GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v); +GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue); +GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v); +GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue); +GLAPI void GLAPIENTRY glColor3usv (const GLushort *v); +GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); +GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v); +GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); +GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha); +GLAPI void GLAPIENTRY glColor4iv (const GLint *v); +GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha); +GLAPI void GLAPIENTRY glColor4sv (const GLshort *v); +GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v); +GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha); +GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v); +GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha); +GLAPI void GLAPIENTRY glColor4usv (const GLushort *v); +GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode); +GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); +GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void GLAPIENTRY glCullFace (GLenum mode); +GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range); +GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); +GLAPI void GLAPIENTRY glDepthFunc (GLenum func); +GLAPI void GLAPIENTRY glDepthMask (GLboolean flag); +GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar); +GLAPI void GLAPIENTRY glDisable (GLenum cap); +GLAPI void GLAPIENTRY glDisableClientState (GLenum array); +GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode); +GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag); +GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag); +GLAPI void GLAPIENTRY glEnable (GLenum cap); +GLAPI void GLAPIENTRY glEnableClientState (GLenum array); +GLAPI void GLAPIENTRY glEnd (void); +GLAPI void GLAPIENTRY glEndList (void); +GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u); +GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u); +GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u); +GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u); +GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v); +GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u); +GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v); +GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u); +GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2); +GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); +GLAPI void GLAPIENTRY glEvalPoint1 (GLint i); +GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j); +GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer); +GLAPI void GLAPIENTRY glFinish (void); +GLAPI void GLAPIENTRY glFlush (void); +GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glFrontFace (GLenum mode); +GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range); +GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures); +GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params); +GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation); +GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params); +GLAPI GLenum GLAPIENTRY glGetError (void); +GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetLightiv (GLenum light, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetMapdv (GLenum target, GLenum query, GLdouble *v); +GLAPI void GLAPIENTRY glGetMapfv (GLenum target, GLenum query, GLfloat *v); +GLAPI void GLAPIENTRY glGetMapiv (GLenum target, GLenum query, GLint *v); +GLAPI void GLAPIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetPixelMapfv (GLenum map, GLfloat *values); +GLAPI void GLAPIENTRY glGetPixelMapuiv (GLenum map, GLuint *values); +GLAPI void GLAPIENTRY glGetPixelMapusv (GLenum map, GLushort *values); +GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, void* *params); +GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask); +GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name); +GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params); +GLAPI void GLAPIENTRY glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexGeniv (GLenum coord, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode); +GLAPI void GLAPIENTRY glIndexMask (GLuint mask); +GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glIndexd (GLdouble c); +GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c); +GLAPI void GLAPIENTRY glIndexf (GLfloat c); +GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c); +GLAPI void GLAPIENTRY glIndexi (GLint c); +GLAPI void GLAPIENTRY glIndexiv (const GLint *c); +GLAPI void GLAPIENTRY glIndexs (GLshort c); +GLAPI void GLAPIENTRY glIndexsv (const GLshort *c); +GLAPI void GLAPIENTRY glIndexub (GLubyte c); +GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c); +GLAPI void GLAPIENTRY glInitNames (void); +GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const void *pointer); +GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap); +GLAPI GLboolean GLAPIENTRY glIsList (GLuint list); +GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture); +GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern); +GLAPI void GLAPIENTRY glLineWidth (GLfloat width); +GLAPI void GLAPIENTRY glListBase (GLuint base); +GLAPI void GLAPIENTRY glLoadIdentity (void); +GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m); +GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m); +GLAPI void GLAPIENTRY glLoadName (GLuint name); +GLAPI void GLAPIENTRY glLogicOp (GLenum opcode); +GLAPI void GLAPIENTRY glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +GLAPI void GLAPIENTRY glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +GLAPI void GLAPIENTRY glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); +GLAPI void GLAPIENTRY glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); +GLAPI void GLAPIENTRY glMapGrid1d (GLint un, GLdouble u1, GLdouble u2); +GLAPI void GLAPIENTRY glMapGrid1f (GLint un, GLfloat u1, GLfloat u2); +GLAPI void GLAPIENTRY glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); +GLAPI void GLAPIENTRY glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); +GLAPI void GLAPIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glMatrixMode (GLenum mode); +GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m); +GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m); +GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode); +GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz); +GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v); +GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz); +GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); +GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz); +GLAPI void GLAPIENTRY glNormal3iv (const GLint *v); +GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz); +GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v); +GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void GLAPIENTRY glPassThrough (GLfloat token); +GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values); +GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values); +GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values); +GLAPI void GLAPIENTRY glPixelStoref (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glPixelStorei (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glPixelTransferf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glPixelTransferi (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glPixelZoom (GLfloat xfactor, GLfloat yfactor); +GLAPI void GLAPIENTRY glPointSize (GLfloat size); +GLAPI void GLAPIENTRY glPolygonMode (GLenum face, GLenum mode); +GLAPI void GLAPIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GLAPI void GLAPIENTRY glPolygonStipple (const GLubyte *mask); +GLAPI void GLAPIENTRY glPopAttrib (void); +GLAPI void GLAPIENTRY glPopClientAttrib (void); +GLAPI void GLAPIENTRY glPopMatrix (void); +GLAPI void GLAPIENTRY glPopName (void); +GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities); +GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask); +GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask); +GLAPI void GLAPIENTRY glPushMatrix (void); +GLAPI void GLAPIENTRY glPushName (GLuint name); +GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y); +GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y); +GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y); +GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y); +GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v); +GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z); +GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z); +GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v); +GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w); +GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v); +GLAPI void GLAPIENTRY glReadBuffer (GLenum mode); +GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2); +GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); +GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2); +GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2); +GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2); +GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2); +GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2); +GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode); +GLAPI void GLAPIENTRY glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glScaled (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer); +GLAPI void GLAPIENTRY glShadeModel (GLenum mode); +GLAPI void GLAPIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GLAPI void GLAPIENTRY glStencilMask (GLuint mask); +GLAPI void GLAPIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GLAPI void GLAPIENTRY glTexCoord1d (GLdouble s); +GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s); +GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord1i (GLint s); +GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord1s (GLshort s); +GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t); +GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t); +GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t); +GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t); +GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r); +GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r); +GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r); +GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r); +GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q); +GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param); +GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params); +GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTranslated (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y); +GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y); +GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y); +GLAPI void GLAPIENTRY glVertex2iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y); +GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z); +GLAPI void GLAPIENTRY glVertex3iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z); +GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w); +GLAPI void GLAPIENTRY glVertex4iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); + +#define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1) + +#endif /* GL_VERSION_1_1 */ + +/* ---------------------------------- GLU ---------------------------------- */ + +#ifndef GLEW_NO_GLU +# ifdef __APPLE__ +# include +# if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) +# define GLEW_NO_GLU +# endif +# endif +#endif + +#ifndef GLEW_NO_GLU +/* this is where we can safely include GLU */ +# if defined(__APPLE__) && defined(__MACH__) +# include +# else +# include +# endif +#endif + +/* ----------------------------- GL_VERSION_1_2 ---------------------------- */ + +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 + +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_RESCALE_NORMAL 0x803A +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E + +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); + +#define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D) +#define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements) +#define glTexImage3D GLEW_GET_FUN(__glewTexImage3D) +#define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D) + +#define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2) + +#endif /* GL_VERSION_1_2 */ + +/* ---------------------------- GL_VERSION_1_2_1 --------------------------- */ + +#ifndef GL_VERSION_1_2_1 +#define GL_VERSION_1_2_1 1 + +#define GLEW_VERSION_1_2_1 GLEW_GET_VAR(__GLEW_VERSION_1_2_1) + +#endif /* GL_VERSION_1_2_1 */ + +/* ----------------------------- GL_VERSION_1_3 ---------------------------- */ + +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 + +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_SUBTRACT 0x84E7 +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_SOURCE0_RGB 0x8580 +#define GL_SOURCE1_RGB 0x8581 +#define GL_SOURCE2_RGB 0x8582 +#define GL_SOURCE0_ALPHA 0x8588 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SOURCE2_ALPHA 0x858A +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF +#define GL_MULTISAMPLE_BIT 0x20000000 + +typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, void *img); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); + +#define glActiveTexture GLEW_GET_FUN(__glewActiveTexture) +#define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture) +#define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D) +#define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D) +#define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D) +#define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D) +#define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D) +#define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D) +#define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage) +#define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd) +#define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf) +#define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd) +#define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf) +#define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d) +#define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv) +#define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f) +#define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv) +#define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i) +#define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv) +#define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s) +#define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv) +#define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d) +#define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv) +#define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f) +#define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv) +#define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i) +#define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv) +#define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s) +#define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv) +#define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d) +#define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv) +#define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f) +#define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv) +#define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i) +#define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv) +#define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s) +#define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv) +#define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d) +#define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv) +#define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f) +#define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv) +#define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i) +#define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv) +#define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s) +#define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv) +#define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage) + +#define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3) + +#endif /* GL_VERSION_1_3 */ + +/* ----------------------------- GL_VERSION_1_4 ---------------------------- */ + +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 + +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_FOG_COORDINATE_SOURCE 0x8450 +#define GL_FOG_COORDINATE 0x8451 +#define GL_FRAGMENT_DEPTH 0x8452 +#define GL_CURRENT_FOG_COORDINATE 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 +#define GL_FOG_COORDINATE_ARRAY 0x8457 +#define GL_COLOR_SUM 0x8458 +#define GL_CURRENT_SECONDARY_COLOR 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D +#define GL_SECONDARY_COLOR_ARRAY 0x845E +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_FILTER_CONTROL 0x8500 +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_DEPTH_TEXTURE_MODE 0x884B +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_COMPARE_R_TO_TEXTURE 0x884E + +typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const* indices, GLsizei drawcount); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); + +#define glBlendColor GLEW_GET_FUN(__glewBlendColor) +#define glBlendEquation GLEW_GET_FUN(__glewBlendEquation) +#define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate) +#define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer) +#define glFogCoordd GLEW_GET_FUN(__glewFogCoordd) +#define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv) +#define glFogCoordf GLEW_GET_FUN(__glewFogCoordf) +#define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv) +#define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays) +#define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements) +#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) +#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) +#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) +#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) +#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) +#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) +#define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d) +#define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv) +#define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f) +#define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv) +#define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i) +#define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv) +#define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s) +#define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv) +#define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub) +#define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv) +#define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui) +#define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv) +#define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us) +#define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv) +#define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer) +#define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d) +#define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv) +#define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f) +#define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv) +#define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i) +#define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv) +#define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s) +#define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv) +#define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d) +#define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv) +#define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f) +#define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv) +#define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i) +#define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv) +#define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s) +#define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv) + +#define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4) + +#endif /* GL_VERSION_1_4 */ + +/* ----------------------------- GL_VERSION_1_5 ---------------------------- */ + +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 + +#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE +#define GL_FOG_COORD GL_FOG_COORDINATE +#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING +#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER +#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE +#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE +#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE +#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA +#define GL_SRC0_RGB GL_SOURCE0_RGB +#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA +#define GL_SRC1_RGB GL_SOURCE1_RGB +#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA +#define GL_SRC2_RGB GL_SOURCE2_RGB +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 + +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void* data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void* data); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void* data); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); +typedef void* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target); + +#define glBeginQuery GLEW_GET_FUN(__glewBeginQuery) +#define glBindBuffer GLEW_GET_FUN(__glewBindBuffer) +#define glBufferData GLEW_GET_FUN(__glewBufferData) +#define glBufferSubData GLEW_GET_FUN(__glewBufferSubData) +#define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers) +#define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries) +#define glEndQuery GLEW_GET_FUN(__glewEndQuery) +#define glGenBuffers GLEW_GET_FUN(__glewGenBuffers) +#define glGenQueries GLEW_GET_FUN(__glewGenQueries) +#define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv) +#define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv) +#define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData) +#define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv) +#define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv) +#define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv) +#define glIsBuffer GLEW_GET_FUN(__glewIsBuffer) +#define glIsQuery GLEW_GET_FUN(__glewIsQuery) +#define glMapBuffer GLEW_GET_FUN(__glewMapBuffer) +#define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer) + +#define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5) + +#endif /* GL_VERSION_1_5 */ + +/* ----------------------------- GL_VERSION_2_0 ---------------------------- */ + +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 + +#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_COORDS 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 + +typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); +typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); +typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLuint obj, GLsizei maxLength, GLsizei* length, GLchar* source); +typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); +typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const* string, const GLint* length); +typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer); + +#define glAttachShader GLEW_GET_FUN(__glewAttachShader) +#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation) +#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate) +#define glCompileShader GLEW_GET_FUN(__glewCompileShader) +#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram) +#define glCreateShader GLEW_GET_FUN(__glewCreateShader) +#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram) +#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader) +#define glDetachShader GLEW_GET_FUN(__glewDetachShader) +#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray) +#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers) +#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray) +#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib) +#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform) +#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders) +#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation) +#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog) +#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv) +#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog) +#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource) +#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv) +#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation) +#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv) +#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv) +#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv) +#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv) +#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv) +#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv) +#define glIsProgram GLEW_GET_FUN(__glewIsProgram) +#define glIsShader GLEW_GET_FUN(__glewIsShader) +#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram) +#define glShaderSource GLEW_GET_FUN(__glewShaderSource) +#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate) +#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate) +#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate) +#define glUniform1f GLEW_GET_FUN(__glewUniform1f) +#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv) +#define glUniform1i GLEW_GET_FUN(__glewUniform1i) +#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv) +#define glUniform2f GLEW_GET_FUN(__glewUniform2f) +#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv) +#define glUniform2i GLEW_GET_FUN(__glewUniform2i) +#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv) +#define glUniform3f GLEW_GET_FUN(__glewUniform3f) +#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv) +#define glUniform3i GLEW_GET_FUN(__glewUniform3i) +#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv) +#define glUniform4f GLEW_GET_FUN(__glewUniform4f) +#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv) +#define glUniform4i GLEW_GET_FUN(__glewUniform4i) +#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv) +#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv) +#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv) +#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv) +#define glUseProgram GLEW_GET_FUN(__glewUseProgram) +#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram) +#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d) +#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv) +#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f) +#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv) +#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s) +#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv) +#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d) +#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv) +#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f) +#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv) +#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s) +#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv) +#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d) +#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv) +#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f) +#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv) +#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s) +#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv) +#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv) +#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv) +#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv) +#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub) +#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv) +#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv) +#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv) +#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv) +#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d) +#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv) +#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f) +#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv) +#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv) +#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s) +#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv) +#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv) +#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv) +#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv) +#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer) + +#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) + +#endif /* GL_VERSION_2_0 */ + +/* ----------------------------- GL_VERSION_2_1 ---------------------------- */ + +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 + +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B + +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); + +#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv) +#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv) +#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv) +#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv) +#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv) +#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv) + +#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1) + +#endif /* GL_VERSION_2_1 */ + +/* ----------------------------- GL_VERSION_3_0 ---------------------------- */ + +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 + +#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 +#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 +#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2 +#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3 +#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4 +#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5 +#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB +#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES +#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_DEPTH_BUFFER 0x8223 +#define GL_STENCIL_BUFFER 0x8224 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_ALPHA_INTEGER 0x8D97 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint colorNumber, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawBuffer, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawBuffer, const GLint* value); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawBuffer, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum pname, GLuint index, GLboolean* data); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar* name); +typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum name, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void*pointer); + +#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender) +#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback) +#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation) +#define glClampColor GLEW_GET_FUN(__glewClampColor) +#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi) +#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv) +#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv) +#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv) +#define glColorMaski GLEW_GET_FUN(__glewColorMaski) +#define glDisablei GLEW_GET_FUN(__glewDisablei) +#define glEnablei GLEW_GET_FUN(__glewEnablei) +#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender) +#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback) +#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v) +#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation) +#define glGetStringi GLEW_GET_FUN(__glewGetStringi) +#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv) +#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv) +#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying) +#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv) +#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv) +#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv) +#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi) +#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv) +#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv) +#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings) +#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui) +#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv) +#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui) +#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv) +#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui) +#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv) +#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui) +#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv) +#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i) +#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv) +#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui) +#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv) +#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i) +#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv) +#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui) +#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv) +#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i) +#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv) +#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui) +#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv) +#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv) +#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i) +#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv) +#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv) +#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv) +#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui) +#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv) +#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv) +#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer) + +#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0) + +#endif /* GL_VERSION_3_0 */ + +/* ----------------------------- GL_VERSION_3_1 ---------------------------- */ + +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 + +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalFormat, GLuint buffer); + +#define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced) +#define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced) +#define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex) +#define glTexBuffer GLEW_GET_FUN(__glewTexBuffer) + +#define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1) + +#endif /* GL_VERSION_3_1 */ + +/* ----------------------------- GL_VERSION_3_2 ---------------------------- */ + +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 + +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum value, GLint64 * data); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum pname, GLuint index, GLint64 * data); + +#define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture) +#define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v) +#define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v) + +#define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2) + +#endif /* GL_VERSION_3_2 */ + +/* ----------------------------- GL_VERSION_3_3 ---------------------------- */ + +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_RGB10_A2UI 0x906F + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); + +#define glVertexAttribDivisor GLEW_GET_FUN(__glewVertexAttribDivisor) + +#define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3) + +#endif /* GL_VERSION_3_3 */ + +/* ----------------------------- GL_VERSION_4_0 ---------------------------- */ + +#ifndef GL_VERSION_4_0 +#define GL_VERSION_4_0 1 + +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value); + +#define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei) +#define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi) +#define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei) +#define glBlendFunci GLEW_GET_FUN(__glewBlendFunci) +#define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading) + +#define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0) + +#endif /* GL_VERSION_4_0 */ + +/* ----------------------------- GL_VERSION_4_1 ---------------------------- */ + +#ifndef GL_VERSION_4_1 +#define GL_VERSION_4_1 1 + +#define GLEW_VERSION_4_1 GLEW_GET_VAR(__GLEW_VERSION_4_1) + +#endif /* GL_VERSION_4_1 */ + +/* ----------------------------- GL_VERSION_4_2 ---------------------------- */ + +#ifndef GL_VERSION_4_2 +#define GL_VERSION_4_2 1 + +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 + +#define GLEW_VERSION_4_2 GLEW_GET_VAR(__GLEW_VERSION_4_2) + +#endif /* GL_VERSION_4_2 */ + +/* ----------------------------- GL_VERSION_4_3 ---------------------------- */ + +#ifndef GL_VERSION_4_3 +#define GL_VERSION_4_3 1 + +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E + +#define GLEW_VERSION_4_3 GLEW_GET_VAR(__GLEW_VERSION_4_3) + +#endif /* GL_VERSION_4_3 */ + +/* ----------------------------- GL_VERSION_4_4 ---------------------------- */ + +#ifndef GL_VERSION_4_4 +#define GL_VERSION_4_4 1 + +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A + +#define GLEW_VERSION_4_4 GLEW_GET_VAR(__GLEW_VERSION_4_4) + +#endif /* GL_VERSION_4_4 */ + +/* ----------------------------- GL_VERSION_4_5 ---------------------------- */ + +#ifndef GL_VERSION_4_5 +#define GL_VERSION_4_5 1 + +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 + +typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels); +typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEPROC) (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); + +#define glGetGraphicsResetStatus GLEW_GET_FUN(__glewGetGraphicsResetStatus) +#define glGetnCompressedTexImage GLEW_GET_FUN(__glewGetnCompressedTexImage) +#define glGetnTexImage GLEW_GET_FUN(__glewGetnTexImage) +#define glGetnUniformdv GLEW_GET_FUN(__glewGetnUniformdv) + +#define GLEW_VERSION_4_5 GLEW_GET_VAR(__GLEW_VERSION_4_5) + +#endif /* GL_VERSION_4_5 */ + +/* ----------------------------- GL_VERSION_4_6 ---------------------------- */ + +#ifndef GL_VERSION_4_6 +#define GL_VERSION_4_6 1 + +#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008 +#define GL_PARAMETER_BUFFER 0x80EE +#define GL_PARAMETER_BUFFER_BINDING 0x80EF +#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED +#define GL_VERTICES_SUBMITTED 0x82EE +#define GL_PRIMITIVES_SUBMITTED 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7 +#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF +#define GL_POLYGON_OFFSET_CLAMP 0x8E1B +#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551 +#define GL_SPIR_V_BINARY 0x9552 +#define GL_SPIR_V_EXTENSIONS 0x9553 +#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) (GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLSPECIALIZESHADERPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); + +#define glMultiDrawArraysIndirectCount GLEW_GET_FUN(__glewMultiDrawArraysIndirectCount) +#define glMultiDrawElementsIndirectCount GLEW_GET_FUN(__glewMultiDrawElementsIndirectCount) +#define glSpecializeShader GLEW_GET_FUN(__glewSpecializeShader) + +#define GLEW_VERSION_4_6 GLEW_GET_VAR(__GLEW_VERSION_4_6) + +#endif /* GL_VERSION_4_6 */ + +/* -------------------------- GL_3DFX_multisample -------------------------- */ + +#ifndef GL_3DFX_multisample +#define GL_3DFX_multisample 1 + +#define GL_MULTISAMPLE_3DFX 0x86B2 +#define GL_SAMPLE_BUFFERS_3DFX 0x86B3 +#define GL_SAMPLES_3DFX 0x86B4 +#define GL_MULTISAMPLE_BIT_3DFX 0x20000000 + +#define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample) + +#endif /* GL_3DFX_multisample */ + +/* ---------------------------- GL_3DFX_tbuffer ---------------------------- */ + +#ifndef GL_3DFX_tbuffer +#define GL_3DFX_tbuffer 1 + +typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); + +#define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX) + +#define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer) + +#endif /* GL_3DFX_tbuffer */ + +/* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */ + +#ifndef GL_3DFX_texture_compression_FXT1 +#define GL_3DFX_texture_compression_FXT1 1 + +#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 +#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 + +#define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1) + +#endif /* GL_3DFX_texture_compression_FXT1 */ + +/* ----------------------- GL_AMD_blend_minmax_factor ---------------------- */ + +#ifndef GL_AMD_blend_minmax_factor +#define GL_AMD_blend_minmax_factor 1 + +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D + +#define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(__GLEW_AMD_blend_minmax_factor) + +#endif /* GL_AMD_blend_minmax_factor */ + +/* --------------------- GL_AMD_compressed_3DC_texture --------------------- */ + +#ifndef GL_AMD_compressed_3DC_texture +#define GL_AMD_compressed_3DC_texture 1 + +#define GL_3DC_X_AMD 0x87F9 +#define GL_3DC_XY_AMD 0x87FA + +#define GLEW_AMD_compressed_3DC_texture GLEW_GET_VAR(__GLEW_AMD_compressed_3DC_texture) + +#endif /* GL_AMD_compressed_3DC_texture */ + +/* --------------------- GL_AMD_compressed_ATC_texture --------------------- */ + +#ifndef GL_AMD_compressed_ATC_texture +#define GL_AMD_compressed_ATC_texture 1 + +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE +#define GL_ATC_RGB_AMD 0x8C92 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 + +#define GLEW_AMD_compressed_ATC_texture GLEW_GET_VAR(__GLEW_AMD_compressed_ATC_texture) + +#endif /* GL_AMD_compressed_ATC_texture */ + +/* ----------------------- GL_AMD_conservative_depth ----------------------- */ + +#ifndef GL_AMD_conservative_depth +#define GL_AMD_conservative_depth 1 + +#define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth) + +#endif /* GL_AMD_conservative_depth */ + +/* -------------------------- GL_AMD_debug_output -------------------------- */ + +#ifndef GL_AMD_debug_output +#define GL_AMD_debug_output 1 + +#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 +#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 +#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 +#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A +#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B +#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C +#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D +#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E +#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F +#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 + +typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message); + +#define glDebugMessageCallbackAMD GLEW_GET_FUN(__glewDebugMessageCallbackAMD) +#define glDebugMessageEnableAMD GLEW_GET_FUN(__glewDebugMessageEnableAMD) +#define glDebugMessageInsertAMD GLEW_GET_FUN(__glewDebugMessageInsertAMD) +#define glGetDebugMessageLogAMD GLEW_GET_FUN(__glewGetDebugMessageLogAMD) + +#define GLEW_AMD_debug_output GLEW_GET_VAR(__GLEW_AMD_debug_output) + +#endif /* GL_AMD_debug_output */ + +/* ---------------------- GL_AMD_depth_clamp_separate ---------------------- */ + +#ifndef GL_AMD_depth_clamp_separate +#define GL_AMD_depth_clamp_separate 1 + +#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E +#define GL_DEPTH_CLAMP_FAR_AMD 0x901F + +#define GLEW_AMD_depth_clamp_separate GLEW_GET_VAR(__GLEW_AMD_depth_clamp_separate) + +#endif /* GL_AMD_depth_clamp_separate */ + +/* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */ + +#ifndef GL_AMD_draw_buffers_blend +#define GL_AMD_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); + +#define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD) +#define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD) +#define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD) +#define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD) + +#define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend) + +#endif /* GL_AMD_draw_buffers_blend */ + +/* ------------------ GL_AMD_framebuffer_sample_positions ------------------ */ + +#ifndef GL_AMD_framebuffer_sample_positions +#define GL_AMD_framebuffer_sample_positions 1 + +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F +#define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD 0x91AE +#define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD 0x91AF +#define GL_ALL_PIXELS_AMD 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat* values); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC) (GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat* values); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC) (GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat* values); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat* values); + +#define glFramebufferSamplePositionsfvAMD GLEW_GET_FUN(__glewFramebufferSamplePositionsfvAMD) +#define glGetFramebufferParameterfvAMD GLEW_GET_FUN(__glewGetFramebufferParameterfvAMD) +#define glGetNamedFramebufferParameterfvAMD GLEW_GET_FUN(__glewGetNamedFramebufferParameterfvAMD) +#define glNamedFramebufferSamplePositionsfvAMD GLEW_GET_FUN(__glewNamedFramebufferSamplePositionsfvAMD) + +#define GLEW_AMD_framebuffer_sample_positions GLEW_GET_VAR(__GLEW_AMD_framebuffer_sample_positions) + +#endif /* GL_AMD_framebuffer_sample_positions */ + +/* --------------------------- GL_AMD_gcn_shader --------------------------- */ + +#ifndef GL_AMD_gcn_shader +#define GL_AMD_gcn_shader 1 + +#define GLEW_AMD_gcn_shader GLEW_GET_VAR(__GLEW_AMD_gcn_shader) + +#endif /* GL_AMD_gcn_shader */ + +/* ---------------------- GL_AMD_gpu_shader_half_float --------------------- */ + +#ifndef GL_AMD_gpu_shader_half_float +#define GL_AMD_gpu_shader_half_float 1 + +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +#define GL_FLOAT16_MAT2_AMD 0x91C5 +#define GL_FLOAT16_MAT3_AMD 0x91C6 +#define GL_FLOAT16_MAT4_AMD 0x91C7 +#define GL_FLOAT16_MAT2x3_AMD 0x91C8 +#define GL_FLOAT16_MAT2x4_AMD 0x91C9 +#define GL_FLOAT16_MAT3x2_AMD 0x91CA +#define GL_FLOAT16_MAT3x4_AMD 0x91CB +#define GL_FLOAT16_MAT4x2_AMD 0x91CC +#define GL_FLOAT16_MAT4x3_AMD 0x91CD + +#define GLEW_AMD_gpu_shader_half_float GLEW_GET_VAR(__GLEW_AMD_gpu_shader_half_float) + +#endif /* GL_AMD_gpu_shader_half_float */ + +/* ------------------------ GL_AMD_gpu_shader_int16 ------------------------ */ + +#ifndef GL_AMD_gpu_shader_int16 +#define GL_AMD_gpu_shader_int16 1 + +#define GLEW_AMD_gpu_shader_int16 GLEW_GET_VAR(__GLEW_AMD_gpu_shader_int16) + +#endif /* GL_AMD_gpu_shader_int16 */ + +/* ------------------------ GL_AMD_gpu_shader_int64 ------------------------ */ + +#ifndef GL_AMD_gpu_shader_int64 +#define GL_AMD_gpu_shader_int64 1 + +#define GLEW_AMD_gpu_shader_int64 GLEW_GET_VAR(__GLEW_AMD_gpu_shader_int64) + +#endif /* GL_AMD_gpu_shader_int64 */ + +/* ---------------------- GL_AMD_interleaved_elements ---------------------- */ + +#ifndef GL_AMD_interleaved_elements +#define GL_AMD_interleaved_elements 1 + +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RG8UI 0x8238 +#define GL_RG16UI 0x823A +#define GL_RGBA8UI 0x8D7C +#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4 +#define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5 + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPARAMETERIAMDPROC) (GLuint index, GLenum pname, GLint param); + +#define glVertexAttribParameteriAMD GLEW_GET_FUN(__glewVertexAttribParameteriAMD) + +#define GLEW_AMD_interleaved_elements GLEW_GET_VAR(__GLEW_AMD_interleaved_elements) + +#endif /* GL_AMD_interleaved_elements */ + +/* ----------------------- GL_AMD_multi_draw_indirect ---------------------- */ + +#ifndef GL_AMD_multi_draw_indirect +#define GL_AMD_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride); + +#define glMultiDrawArraysIndirectAMD GLEW_GET_FUN(__glewMultiDrawArraysIndirectAMD) +#define glMultiDrawElementsIndirectAMD GLEW_GET_FUN(__glewMultiDrawElementsIndirectAMD) + +#define GLEW_AMD_multi_draw_indirect GLEW_GET_VAR(__GLEW_AMD_multi_draw_indirect) + +#endif /* GL_AMD_multi_draw_indirect */ + +/* ------------------------- GL_AMD_name_gen_delete ------------------------ */ + +#ifndef GL_AMD_name_gen_delete +#define GL_AMD_name_gen_delete 1 + +#define GL_DATA_BUFFER_AMD 0x9151 +#define GL_PERFORMANCE_MONITOR_AMD 0x9152 +#define GL_QUERY_OBJECT_AMD 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 +#define GL_SAMPLER_OBJECT_AMD 0x9155 + +typedef void (GLAPIENTRY * PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint* names); +typedef void (GLAPIENTRY * PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint* names); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name); + +#define glDeleteNamesAMD GLEW_GET_FUN(__glewDeleteNamesAMD) +#define glGenNamesAMD GLEW_GET_FUN(__glewGenNamesAMD) +#define glIsNameAMD GLEW_GET_FUN(__glewIsNameAMD) + +#define GLEW_AMD_name_gen_delete GLEW_GET_VAR(__GLEW_AMD_name_gen_delete) + +#endif /* GL_AMD_name_gen_delete */ + +/* ---------------------- GL_AMD_occlusion_query_event --------------------- */ + +#ifndef GL_AMD_occlusion_query_event +#define GL_AMD_occlusion_query_event 1 + +#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001 +#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002 +#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004 +#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008 +#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F +#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param); + +#define glQueryObjectParameteruiAMD GLEW_GET_FUN(__glewQueryObjectParameteruiAMD) + +#define GLEW_AMD_occlusion_query_event GLEW_GET_VAR(__GLEW_AMD_occlusion_query_event) + +#endif /* GL_AMD_occlusion_query_event */ + +/* ----------------------- GL_AMD_performance_monitor ---------------------- */ + +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 1 + +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 + +typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar *counterString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, GLchar *groupString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList); + +#define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD) +#define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD) +#define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD) +#define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD) +#define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD) +#define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD) +#define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD) +#define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD) +#define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD) +#define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD) +#define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD) + +#define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor) + +#endif /* GL_AMD_performance_monitor */ + +/* -------------------------- GL_AMD_pinned_memory ------------------------- */ + +#ifndef GL_AMD_pinned_memory +#define GL_AMD_pinned_memory 1 + +#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 + +#define GLEW_AMD_pinned_memory GLEW_GET_VAR(__GLEW_AMD_pinned_memory) + +#endif /* GL_AMD_pinned_memory */ + +/* ----------------------- GL_AMD_program_binary_Z400 ---------------------- */ + +#ifndef GL_AMD_program_binary_Z400 +#define GL_AMD_program_binary_Z400 1 + +#define GL_Z400_BINARY_AMD 0x8740 + +#define GLEW_AMD_program_binary_Z400 GLEW_GET_VAR(__GLEW_AMD_program_binary_Z400) + +#endif /* GL_AMD_program_binary_Z400 */ + +/* ----------------------- GL_AMD_query_buffer_object ---------------------- */ + +#ifndef GL_AMD_query_buffer_object +#define GL_AMD_query_buffer_object 1 + +#define GL_QUERY_BUFFER_AMD 0x9192 +#define GL_QUERY_BUFFER_BINDING_AMD 0x9193 +#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194 + +#define GLEW_AMD_query_buffer_object GLEW_GET_VAR(__GLEW_AMD_query_buffer_object) + +#endif /* GL_AMD_query_buffer_object */ + +/* ------------------------ GL_AMD_sample_positions ------------------------ */ + +#ifndef GL_AMD_sample_positions +#define GL_AMD_sample_positions 1 + +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F + +typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat* val); + +#define glSetMultisamplefvAMD GLEW_GET_FUN(__glewSetMultisamplefvAMD) + +#define GLEW_AMD_sample_positions GLEW_GET_VAR(__GLEW_AMD_sample_positions) + +#endif /* GL_AMD_sample_positions */ + +/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */ + +#ifndef GL_AMD_seamless_cubemap_per_texture +#define GL_AMD_seamless_cubemap_per_texture 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture) + +#endif /* GL_AMD_seamless_cubemap_per_texture */ + +/* -------------------- GL_AMD_shader_atomic_counter_ops ------------------- */ + +#ifndef GL_AMD_shader_atomic_counter_ops +#define GL_AMD_shader_atomic_counter_ops 1 + +#define GLEW_AMD_shader_atomic_counter_ops GLEW_GET_VAR(__GLEW_AMD_shader_atomic_counter_ops) + +#endif /* GL_AMD_shader_atomic_counter_ops */ + +/* -------------------------- GL_AMD_shader_ballot ------------------------- */ + +#ifndef GL_AMD_shader_ballot +#define GL_AMD_shader_ballot 1 + +#define GLEW_AMD_shader_ballot GLEW_GET_VAR(__GLEW_AMD_shader_ballot) + +#endif /* GL_AMD_shader_ballot */ + +/* ---------------- GL_AMD_shader_explicit_vertex_parameter ---------------- */ + +#ifndef GL_AMD_shader_explicit_vertex_parameter +#define GL_AMD_shader_explicit_vertex_parameter 1 + +#define GLEW_AMD_shader_explicit_vertex_parameter GLEW_GET_VAR(__GLEW_AMD_shader_explicit_vertex_parameter) + +#endif /* GL_AMD_shader_explicit_vertex_parameter */ + +/* ---------------------- GL_AMD_shader_stencil_export --------------------- */ + +#ifndef GL_AMD_shader_stencil_export +#define GL_AMD_shader_stencil_export 1 + +#define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export) + +#endif /* GL_AMD_shader_stencil_export */ + +/* ------------------- GL_AMD_shader_stencil_value_export ------------------ */ + +#ifndef GL_AMD_shader_stencil_value_export +#define GL_AMD_shader_stencil_value_export 1 + +#define GLEW_AMD_shader_stencil_value_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_value_export) + +#endif /* GL_AMD_shader_stencil_value_export */ + +/* ---------------------- GL_AMD_shader_trinary_minmax --------------------- */ + +#ifndef GL_AMD_shader_trinary_minmax +#define GL_AMD_shader_trinary_minmax 1 + +#define GLEW_AMD_shader_trinary_minmax GLEW_GET_VAR(__GLEW_AMD_shader_trinary_minmax) + +#endif /* GL_AMD_shader_trinary_minmax */ + +/* ------------------------- GL_AMD_sparse_texture ------------------------- */ + +#ifndef GL_AMD_sparse_texture +#define GL_AMD_sparse_texture 1 + +#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001 +#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A +#define GL_MIN_SPARSE_LEVEL_AMD 0x919B +#define GL_MIN_LOD_WARNING_AMD 0x919C + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); + +#define glTexStorageSparseAMD GLEW_GET_FUN(__glewTexStorageSparseAMD) +#define glTextureStorageSparseAMD GLEW_GET_FUN(__glewTextureStorageSparseAMD) + +#define GLEW_AMD_sparse_texture GLEW_GET_VAR(__GLEW_AMD_sparse_texture) + +#endif /* GL_AMD_sparse_texture */ + +/* ------------------- GL_AMD_stencil_operation_extended ------------------- */ + +#ifndef GL_AMD_stencil_operation_extended +#define GL_AMD_stencil_operation_extended 1 + +#define GL_SET_AMD 0x874A +#define GL_REPLACE_VALUE_AMD 0x874B +#define GL_STENCIL_OP_VALUE_AMD 0x874C +#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D + +typedef void (GLAPIENTRY * PFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value); + +#define glStencilOpValueAMD GLEW_GET_FUN(__glewStencilOpValueAMD) + +#define GLEW_AMD_stencil_operation_extended GLEW_GET_VAR(__GLEW_AMD_stencil_operation_extended) + +#endif /* GL_AMD_stencil_operation_extended */ + +/* --------------------- GL_AMD_texture_gather_bias_lod -------------------- */ + +#ifndef GL_AMD_texture_gather_bias_lod +#define GL_AMD_texture_gather_bias_lod 1 + +#define GLEW_AMD_texture_gather_bias_lod GLEW_GET_VAR(__GLEW_AMD_texture_gather_bias_lod) + +#endif /* GL_AMD_texture_gather_bias_lod */ + +/* ------------------------ GL_AMD_texture_texture4 ------------------------ */ + +#ifndef GL_AMD_texture_texture4 +#define GL_AMD_texture_texture4 1 + +#define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4) + +#endif /* GL_AMD_texture_texture4 */ + +/* --------------- GL_AMD_transform_feedback3_lines_triangles -------------- */ + +#ifndef GL_AMD_transform_feedback3_lines_triangles +#define GL_AMD_transform_feedback3_lines_triangles 1 + +#define GLEW_AMD_transform_feedback3_lines_triangles GLEW_GET_VAR(__GLEW_AMD_transform_feedback3_lines_triangles) + +#endif /* GL_AMD_transform_feedback3_lines_triangles */ + +/* ----------------------- GL_AMD_transform_feedback4 ---------------------- */ + +#ifndef GL_AMD_transform_feedback4 +#define GL_AMD_transform_feedback4 1 + +#define GL_STREAM_RASTERIZATION_AMD 0x91A0 + +#define GLEW_AMD_transform_feedback4 GLEW_GET_VAR(__GLEW_AMD_transform_feedback4) + +#endif /* GL_AMD_transform_feedback4 */ + +/* ----------------------- GL_AMD_vertex_shader_layer ---------------------- */ + +#ifndef GL_AMD_vertex_shader_layer +#define GL_AMD_vertex_shader_layer 1 + +#define GLEW_AMD_vertex_shader_layer GLEW_GET_VAR(__GLEW_AMD_vertex_shader_layer) + +#endif /* GL_AMD_vertex_shader_layer */ + +/* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */ + +#ifndef GL_AMD_vertex_shader_tessellator +#define GL_AMD_vertex_shader_tessellator 1 + +#define GL_SAMPLER_BUFFER_AMD 0x9001 +#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 +#define GL_TESSELLATION_MODE_AMD 0x9004 +#define GL_TESSELLATION_FACTOR_AMD 0x9005 +#define GL_DISCRETE_AMD 0x9006 +#define GL_CONTINUOUS_AMD 0x9007 + +typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); +typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); + +#define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD) +#define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD) + +#define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator) + +#endif /* GL_AMD_vertex_shader_tessellator */ + +/* ------------------ GL_AMD_vertex_shader_viewport_index ------------------ */ + +#ifndef GL_AMD_vertex_shader_viewport_index +#define GL_AMD_vertex_shader_viewport_index 1 + +#define GLEW_AMD_vertex_shader_viewport_index GLEW_GET_VAR(__GLEW_AMD_vertex_shader_viewport_index) + +#endif /* GL_AMD_vertex_shader_viewport_index */ + +/* -------------------- GL_ANDROID_extension_pack_es31a -------------------- */ + +#ifndef GL_ANDROID_extension_pack_es31a +#define GL_ANDROID_extension_pack_es31a 1 + +#define GLEW_ANDROID_extension_pack_es31a GLEW_GET_VAR(__GLEW_ANDROID_extension_pack_es31a) + +#endif /* GL_ANDROID_extension_pack_es31a */ + +/* ------------------------- GL_ANGLE_depth_texture ------------------------ */ + +#ifndef GL_ANGLE_depth_texture +#define GL_ANGLE_depth_texture 1 + +#define GLEW_ANGLE_depth_texture GLEW_GET_VAR(__GLEW_ANGLE_depth_texture) + +#endif /* GL_ANGLE_depth_texture */ + +/* ----------------------- GL_ANGLE_framebuffer_blit ----------------------- */ + +#ifndef GL_ANGLE_framebuffer_blit +#define GL_ANGLE_framebuffer_blit 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA + +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + +#define glBlitFramebufferANGLE GLEW_GET_FUN(__glewBlitFramebufferANGLE) + +#define GLEW_ANGLE_framebuffer_blit GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_blit) + +#endif /* GL_ANGLE_framebuffer_blit */ + +/* -------------------- GL_ANGLE_framebuffer_multisample ------------------- */ + +#ifndef GL_ANGLE_framebuffer_multisample +#define GL_ANGLE_framebuffer_multisample 1 + +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleANGLE GLEW_GET_FUN(__glewRenderbufferStorageMultisampleANGLE) + +#define GLEW_ANGLE_framebuffer_multisample GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_multisample) + +#endif /* GL_ANGLE_framebuffer_multisample */ + +/* ----------------------- GL_ANGLE_instanced_arrays ----------------------- */ + +#ifndef GL_ANGLE_instanced_arrays +#define GL_ANGLE_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); + +#define glDrawArraysInstancedANGLE GLEW_GET_FUN(__glewDrawArraysInstancedANGLE) +#define glDrawElementsInstancedANGLE GLEW_GET_FUN(__glewDrawElementsInstancedANGLE) +#define glVertexAttribDivisorANGLE GLEW_GET_FUN(__glewVertexAttribDivisorANGLE) + +#define GLEW_ANGLE_instanced_arrays GLEW_GET_VAR(__GLEW_ANGLE_instanced_arrays) + +#endif /* GL_ANGLE_instanced_arrays */ + +/* -------------------- GL_ANGLE_pack_reverse_row_order -------------------- */ + +#ifndef GL_ANGLE_pack_reverse_row_order +#define GL_ANGLE_pack_reverse_row_order 1 + +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 + +#define GLEW_ANGLE_pack_reverse_row_order GLEW_GET_VAR(__GLEW_ANGLE_pack_reverse_row_order) + +#endif /* GL_ANGLE_pack_reverse_row_order */ + +/* ------------------------ GL_ANGLE_program_binary ------------------------ */ + +#ifndef GL_ANGLE_program_binary +#define GL_ANGLE_program_binary 1 + +#define GL_PROGRAM_BINARY_ANGLE 0x93A6 + +#define GLEW_ANGLE_program_binary GLEW_GET_VAR(__GLEW_ANGLE_program_binary) + +#endif /* GL_ANGLE_program_binary */ + +/* ------------------- GL_ANGLE_texture_compression_dxt1 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt1 +#define GL_ANGLE_texture_compression_dxt1 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt1) + +#endif /* GL_ANGLE_texture_compression_dxt1 */ + +/* ------------------- GL_ANGLE_texture_compression_dxt3 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt3 +#define GL_ANGLE_texture_compression_dxt3 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt3 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt3) + +#endif /* GL_ANGLE_texture_compression_dxt3 */ + +/* ------------------- GL_ANGLE_texture_compression_dxt5 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt5 +#define GL_ANGLE_texture_compression_dxt5 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt5 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt5) + +#endif /* GL_ANGLE_texture_compression_dxt5 */ + +/* ------------------------- GL_ANGLE_texture_usage ------------------------ */ + +#ifndef GL_ANGLE_texture_usage +#define GL_ANGLE_texture_usage 1 + +#define GL_TEXTURE_USAGE_ANGLE 0x93A2 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 + +#define GLEW_ANGLE_texture_usage GLEW_GET_VAR(__GLEW_ANGLE_texture_usage) + +#endif /* GL_ANGLE_texture_usage */ + +/* -------------------------- GL_ANGLE_timer_query ------------------------- */ + +#ifndef GL_ANGLE_timer_query +#define GL_ANGLE_timer_query 1 + +#define GL_QUERY_COUNTER_BITS_ANGLE 0x8864 +#define GL_CURRENT_QUERY_ANGLE 0x8865 +#define GL_QUERY_RESULT_ANGLE 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_ANGLE 0x8867 +#define GL_TIME_ELAPSED_ANGLE 0x88BF +#define GL_TIMESTAMP_ANGLE 0x8E28 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYANGLEPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESANGLEPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYANGLEPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENQUERIESANGLEPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VANGLEPROC) (GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVANGLEPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VANGLEPROC) (GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVANGLEPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVANGLEPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYANGLEPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERANGLEPROC) (GLuint id, GLenum target); + +#define glBeginQueryANGLE GLEW_GET_FUN(__glewBeginQueryANGLE) +#define glDeleteQueriesANGLE GLEW_GET_FUN(__glewDeleteQueriesANGLE) +#define glEndQueryANGLE GLEW_GET_FUN(__glewEndQueryANGLE) +#define glGenQueriesANGLE GLEW_GET_FUN(__glewGenQueriesANGLE) +#define glGetQueryObjecti64vANGLE GLEW_GET_FUN(__glewGetQueryObjecti64vANGLE) +#define glGetQueryObjectivANGLE GLEW_GET_FUN(__glewGetQueryObjectivANGLE) +#define glGetQueryObjectui64vANGLE GLEW_GET_FUN(__glewGetQueryObjectui64vANGLE) +#define glGetQueryObjectuivANGLE GLEW_GET_FUN(__glewGetQueryObjectuivANGLE) +#define glGetQueryivANGLE GLEW_GET_FUN(__glewGetQueryivANGLE) +#define glIsQueryANGLE GLEW_GET_FUN(__glewIsQueryANGLE) +#define glQueryCounterANGLE GLEW_GET_FUN(__glewQueryCounterANGLE) + +#define GLEW_ANGLE_timer_query GLEW_GET_VAR(__GLEW_ANGLE_timer_query) + +#endif /* GL_ANGLE_timer_query */ + +/* ------------------- GL_ANGLE_translated_shader_source ------------------- */ + +#ifndef GL_ANGLE_translated_shader_source +#define GL_ANGLE_translated_shader_source 1 + +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 + +typedef void (GLAPIENTRY * PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); + +#define glGetTranslatedShaderSourceANGLE GLEW_GET_FUN(__glewGetTranslatedShaderSourceANGLE) + +#define GLEW_ANGLE_translated_shader_source GLEW_GET_VAR(__GLEW_ANGLE_translated_shader_source) + +#endif /* GL_ANGLE_translated_shader_source */ + +/* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */ + +#ifndef GL_APPLE_aux_depth_stencil +#define GL_APPLE_aux_depth_stencil 1 + +#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 + +#define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil) + +#endif /* GL_APPLE_aux_depth_stencil */ + +/* ------------------------ GL_APPLE_client_storage ------------------------ */ + +#ifndef GL_APPLE_client_storage +#define GL_APPLE_client_storage 1 + +#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 + +#define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage) + +#endif /* GL_APPLE_client_storage */ + +/* ------------------------- GL_APPLE_clip_distance ------------------------ */ + +#ifndef GL_APPLE_clip_distance +#define GL_APPLE_clip_distance 1 + +#define GL_MAX_CLIP_DISTANCES_APPLE 0x0D32 +#define GL_CLIP_DISTANCE0_APPLE 0x3000 +#define GL_CLIP_DISTANCE1_APPLE 0x3001 +#define GL_CLIP_DISTANCE2_APPLE 0x3002 +#define GL_CLIP_DISTANCE3_APPLE 0x3003 +#define GL_CLIP_DISTANCE4_APPLE 0x3004 +#define GL_CLIP_DISTANCE5_APPLE 0x3005 +#define GL_CLIP_DISTANCE6_APPLE 0x3006 +#define GL_CLIP_DISTANCE7_APPLE 0x3007 + +#define GLEW_APPLE_clip_distance GLEW_GET_VAR(__GLEW_APPLE_clip_distance) + +#endif /* GL_APPLE_clip_distance */ + +/* ------------------- GL_APPLE_color_buffer_packed_float ------------------ */ + +#ifndef GL_APPLE_color_buffer_packed_float +#define GL_APPLE_color_buffer_packed_float 1 + +#define GLEW_APPLE_color_buffer_packed_float GLEW_GET_VAR(__GLEW_APPLE_color_buffer_packed_float) + +#endif /* GL_APPLE_color_buffer_packed_float */ + +/* ---------------------- GL_APPLE_copy_texture_levels --------------------- */ + +#ifndef GL_APPLE_copy_texture_levels +#define GL_APPLE_copy_texture_levels 1 + +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); + +#define glCopyTextureLevelsAPPLE GLEW_GET_FUN(__glewCopyTextureLevelsAPPLE) + +#define GLEW_APPLE_copy_texture_levels GLEW_GET_VAR(__GLEW_APPLE_copy_texture_levels) + +#endif /* GL_APPLE_copy_texture_levels */ + +/* ------------------------- GL_APPLE_element_array ------------------------ */ + +#ifndef GL_APPLE_element_array +#define GL_APPLE_element_array 1 + +#define GL_ELEMENT_ARRAY_APPLE 0x8A0C +#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D +#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void *pointer); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount); + +#define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE) +#define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE) +#define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE) +#define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE) +#define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE) + +#define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array) + +#endif /* GL_APPLE_element_array */ + +/* ----------------------------- GL_APPLE_fence ---------------------------- */ + +#ifndef GL_APPLE_fence +#define GL_APPLE_fence 1 + +#define GL_DRAW_PIXELS_APPLE 0x8A0A +#define GL_FENCE_APPLE 0x8A0B + +typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences); +typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); +typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences); +typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); + +#define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE) +#define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE) +#define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE) +#define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE) +#define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE) +#define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE) +#define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE) +#define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE) + +#define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence) + +#endif /* GL_APPLE_fence */ + +/* ------------------------- GL_APPLE_float_pixels ------------------------- */ + +#ifndef GL_APPLE_float_pixels +#define GL_APPLE_float_pixels 1 + +#define GL_HALF_APPLE 0x140B +#define GL_RGBA_FLOAT32_APPLE 0x8814 +#define GL_RGB_FLOAT32_APPLE 0x8815 +#define GL_ALPHA_FLOAT32_APPLE 0x8816 +#define GL_INTENSITY_FLOAT32_APPLE 0x8817 +#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 +#define GL_RGBA_FLOAT16_APPLE 0x881A +#define GL_RGB_FLOAT16_APPLE 0x881B +#define GL_ALPHA_FLOAT16_APPLE 0x881C +#define GL_INTENSITY_FLOAT16_APPLE 0x881D +#define GL_LUMINANCE_FLOAT16_APPLE 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F +#define GL_COLOR_FLOAT_APPLE 0x8A0F + +#define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels) + +#endif /* GL_APPLE_float_pixels */ + +/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ + +#ifndef GL_APPLE_flush_buffer_range +#define GL_APPLE_flush_buffer_range 1 + +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 + +typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); + +#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) +#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) + +#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) + +#endif /* GL_APPLE_flush_buffer_range */ + +/* -------------------- GL_APPLE_framebuffer_multisample ------------------- */ + +#ifndef GL_APPLE_framebuffer_multisample +#define GL_APPLE_framebuffer_multisample 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); + +#define glRenderbufferStorageMultisampleAPPLE GLEW_GET_FUN(__glewRenderbufferStorageMultisampleAPPLE) +#define glResolveMultisampleFramebufferAPPLE GLEW_GET_FUN(__glewResolveMultisampleFramebufferAPPLE) + +#define GLEW_APPLE_framebuffer_multisample GLEW_GET_VAR(__GLEW_APPLE_framebuffer_multisample) + +#endif /* GL_APPLE_framebuffer_multisample */ + +/* ----------------------- GL_APPLE_object_purgeable ----------------------- */ + +#ifndef GL_APPLE_object_purgeable +#define GL_APPLE_object_purgeable 1 + +#define GL_BUFFER_OBJECT_APPLE 0x85B3 +#define GL_RELEASED_APPLE 0x8A19 +#define GL_VOLATILE_APPLE 0x8A1A +#define GL_RETAINED_APPLE 0x8A1B +#define GL_UNDEFINED_APPLE 0x8A1C +#define GL_PURGEABLE_APPLE 0x8A1D + +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); + +#define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE) +#define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE) +#define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE) + +#define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable) + +#endif /* GL_APPLE_object_purgeable */ + +/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ + +#ifndef GL_APPLE_pixel_buffer +#define GL_APPLE_pixel_buffer 1 + +#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 + +#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer) + +#endif /* GL_APPLE_pixel_buffer */ + +/* ---------------------------- GL_APPLE_rgb_422 --------------------------- */ + +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 + +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_422_APPLE 0x8A1F +#define GL_RGB_RAW_422_APPLE 0x8A51 + +#define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422) + +#endif /* GL_APPLE_rgb_422 */ + +/* --------------------------- GL_APPLE_row_bytes -------------------------- */ + +#ifndef GL_APPLE_row_bytes +#define GL_APPLE_row_bytes 1 + +#define GL_PACK_ROW_BYTES_APPLE 0x8A15 +#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 + +#define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes) + +#endif /* GL_APPLE_row_bytes */ + +/* ------------------------ GL_APPLE_specular_vector ----------------------- */ + +#ifndef GL_APPLE_specular_vector +#define GL_APPLE_specular_vector 1 + +#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 + +#define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector) + +#endif /* GL_APPLE_specular_vector */ + +/* ----------------------------- GL_APPLE_sync ----------------------------- */ + +#ifndef GL_APPLE_sync +#define GL_APPLE_sync 1 + +#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 +#define GL_SYNC_OBJECT_APPLE 0x8A53 +#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 +#define GL_OBJECT_TYPE_APPLE 0x9112 +#define GL_SYNC_CONDITION_APPLE 0x9113 +#define GL_SYNC_STATUS_APPLE 0x9114 +#define GL_SYNC_FLAGS_APPLE 0x9115 +#define GL_SYNC_FENCE_APPLE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 +#define GL_UNSIGNALED_APPLE 0x9118 +#define GL_SIGNALED_APPLE 0x9119 +#define GL_ALREADY_SIGNALED_APPLE 0x911A +#define GL_TIMEOUT_EXPIRED_APPLE 0x911B +#define GL_CONDITION_SATISFIED_APPLE 0x911C +#define GL_WAIT_FAILED_APPLE 0x911D +#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull + +typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync GLsync, GLbitfield flags, GLuint64 timeout); +typedef void (GLAPIENTRY * PFNGLDELETESYNCAPPLEPROC) (GLsync GLsync); +typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETSYNCIVAPPLEPROC) (GLsync GLsync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint *values); +typedef GLboolean (GLAPIENTRY * PFNGLISSYNCAPPLEPROC) (GLsync GLsync); +typedef void (GLAPIENTRY * PFNGLWAITSYNCAPPLEPROC) (GLsync GLsync, GLbitfield flags, GLuint64 timeout); + +#define glClientWaitSyncAPPLE GLEW_GET_FUN(__glewClientWaitSyncAPPLE) +#define glDeleteSyncAPPLE GLEW_GET_FUN(__glewDeleteSyncAPPLE) +#define glFenceSyncAPPLE GLEW_GET_FUN(__glewFenceSyncAPPLE) +#define glGetInteger64vAPPLE GLEW_GET_FUN(__glewGetInteger64vAPPLE) +#define glGetSyncivAPPLE GLEW_GET_FUN(__glewGetSyncivAPPLE) +#define glIsSyncAPPLE GLEW_GET_FUN(__glewIsSyncAPPLE) +#define glWaitSyncAPPLE GLEW_GET_FUN(__glewWaitSyncAPPLE) + +#define GLEW_APPLE_sync GLEW_GET_VAR(__GLEW_APPLE_sync) + +#endif /* GL_APPLE_sync */ + +/* -------------------- GL_APPLE_texture_2D_limited_npot ------------------- */ + +#ifndef GL_APPLE_texture_2D_limited_npot +#define GL_APPLE_texture_2D_limited_npot 1 + +#define GLEW_APPLE_texture_2D_limited_npot GLEW_GET_VAR(__GLEW_APPLE_texture_2D_limited_npot) + +#endif /* GL_APPLE_texture_2D_limited_npot */ + +/* -------------------- GL_APPLE_texture_format_BGRA8888 ------------------- */ + +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_APPLE_texture_format_BGRA8888 1 + +#define GL_BGRA_EXT 0x80E1 +#define GL_BGRA8_EXT 0x93A1 + +#define GLEW_APPLE_texture_format_BGRA8888 GLEW_GET_VAR(__GLEW_APPLE_texture_format_BGRA8888) + +#endif /* GL_APPLE_texture_format_BGRA8888 */ + +/* ----------------------- GL_APPLE_texture_max_level ---------------------- */ + +#ifndef GL_APPLE_texture_max_level +#define GL_APPLE_texture_max_level 1 + +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D + +#define GLEW_APPLE_texture_max_level GLEW_GET_VAR(__GLEW_APPLE_texture_max_level) + +#endif /* GL_APPLE_texture_max_level */ + +/* --------------------- GL_APPLE_texture_packed_float --------------------- */ + +#ifndef GL_APPLE_texture_packed_float +#define GL_APPLE_texture_packed_float 1 + +#define GL_R11F_G11F_B10F_APPLE 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE 0x8C3B +#define GL_RGB9_E5_APPLE 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE 0x8C3E + +#define GLEW_APPLE_texture_packed_float GLEW_GET_VAR(__GLEW_APPLE_texture_packed_float) + +#endif /* GL_APPLE_texture_packed_float */ + +/* ------------------------- GL_APPLE_texture_range ------------------------ */ + +#ifndef GL_APPLE_texture_range +#define GL_APPLE_texture_range 1 + +#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 +#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 +#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC +#define GL_STORAGE_PRIVATE_APPLE 0x85BD +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF + +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, void **params); +typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, void *pointer); + +#define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE) +#define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE) + +#define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range) + +#endif /* GL_APPLE_texture_range */ + +/* ------------------------ GL_APPLE_transform_hint ------------------------ */ + +#ifndef GL_APPLE_transform_hint +#define GL_APPLE_transform_hint 1 + +#define GL_TRANSFORM_HINT_APPLE 0x85B1 + +#define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint) + +#endif /* GL_APPLE_transform_hint */ + +/* ---------------------- GL_APPLE_vertex_array_object --------------------- */ + +#ifndef GL_APPLE_vertex_array_object +#define GL_APPLE_vertex_array_object 1 + +#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); + +#define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE) +#define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE) +#define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE) +#define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE) + +#define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object) + +#endif /* GL_APPLE_vertex_array_object */ + +/* ---------------------- GL_APPLE_vertex_array_range ---------------------- */ + +#ifndef GL_APPLE_vertex_array_range +#define GL_APPLE_vertex_array_range 1 + +#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E +#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F +#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520 +#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 +#define GL_STORAGE_CLIENT_APPLE 0x85B4 +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF + +typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer); + +#define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE) +#define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE) +#define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE) + +#define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range) + +#endif /* GL_APPLE_vertex_array_range */ + +/* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */ + +#ifndef GL_APPLE_vertex_program_evaluators +#define GL_APPLE_vertex_program_evaluators 1 + +#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 +#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 +#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 +#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 +#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 +#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 +#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 +#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 +#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 +#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 + +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points); + +#define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE) +#define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE) +#define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE) +#define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE) +#define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE) +#define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE) +#define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE) + +#define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators) + +#endif /* GL_APPLE_vertex_program_evaluators */ + +/* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */ + +#ifndef GL_APPLE_ycbcr_422 +#define GL_APPLE_ycbcr_422 1 + +#define GL_YCBCR_422_APPLE 0x85B9 + +#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422) + +#endif /* GL_APPLE_ycbcr_422 */ + +/* ------------------------ GL_ARB_ES2_compatibility ----------------------- */ + +#ifndef GL_ARB_ES2_compatibility +#define GL_ARB_ES2_compatibility 1 + +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_RGB565 0x8D62 +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD + +typedef int GLfixed; + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf d); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f); +typedef void (GLAPIENTRY * PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint *precision); +typedef void (GLAPIENTRY * PFNGLRELEASESHADERCOMPILERPROC) (void); +typedef void (GLAPIENTRY * PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint* shaders, GLenum binaryformat, const void*binary, GLsizei length); + +#define glClearDepthf GLEW_GET_FUN(__glewClearDepthf) +#define glDepthRangef GLEW_GET_FUN(__glewDepthRangef) +#define glGetShaderPrecisionFormat GLEW_GET_FUN(__glewGetShaderPrecisionFormat) +#define glReleaseShaderCompiler GLEW_GET_FUN(__glewReleaseShaderCompiler) +#define glShaderBinary GLEW_GET_FUN(__glewShaderBinary) + +#define GLEW_ARB_ES2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES2_compatibility) + +#endif /* GL_ARB_ES2_compatibility */ + +/* ----------------------- GL_ARB_ES3_1_compatibility ---------------------- */ + +#ifndef GL_ARB_ES3_1_compatibility +#define GL_ARB_ES3_1_compatibility 1 + +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers); + +#define glMemoryBarrierByRegion GLEW_GET_FUN(__glewMemoryBarrierByRegion) + +#define GLEW_ARB_ES3_1_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_1_compatibility) + +#endif /* GL_ARB_ES3_1_compatibility */ + +/* ----------------------- GL_ARB_ES3_2_compatibility ---------------------- */ + +#ifndef GL_ARB_ES3_2_compatibility +#define GL_ARB_ES3_2_compatibility 1 + +#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE +#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381 +#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382 + +typedef void (GLAPIENTRY * PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); + +#define glPrimitiveBoundingBoxARB GLEW_GET_FUN(__glewPrimitiveBoundingBoxARB) + +#define GLEW_ARB_ES3_2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_2_compatibility) + +#endif /* GL_ARB_ES3_2_compatibility */ + +/* ------------------------ GL_ARB_ES3_compatibility ----------------------- */ + +#ifndef GL_ARB_ES3_compatibility +#define GL_ARB_ES3_compatibility 1 + +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 + +#define GLEW_ARB_ES3_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_compatibility) + +#endif /* GL_ARB_ES3_compatibility */ + +/* ------------------------ GL_ARB_arrays_of_arrays ------------------------ */ + +#ifndef GL_ARB_arrays_of_arrays +#define GL_ARB_arrays_of_arrays 1 + +#define GLEW_ARB_arrays_of_arrays GLEW_GET_VAR(__GLEW_ARB_arrays_of_arrays) + +#endif /* GL_ARB_arrays_of_arrays */ + +/* -------------------------- GL_ARB_base_instance ------------------------- */ + +#ifndef GL_ARB_base_instance +#define GL_ARB_base_instance 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); + +#define glDrawArraysInstancedBaseInstance GLEW_GET_FUN(__glewDrawArraysInstancedBaseInstance) +#define glDrawElementsInstancedBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseInstance) +#define glDrawElementsInstancedBaseVertexBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexBaseInstance) + +#define GLEW_ARB_base_instance GLEW_GET_VAR(__GLEW_ARB_base_instance) + +#endif /* GL_ARB_base_instance */ + +/* ------------------------ GL_ARB_bindless_texture ------------------------ */ + +#ifndef GL_ARB_bindless_texture +#define GL_ARB_bindless_texture 1 + +#define GL_UNSIGNED_INT64_ARB 0x140F + +typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLEARBPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VARBPROC) (GLuint index, GLenum pname, GLuint64EXT* params); +typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64ARBPROC) (GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64ARBPROC) (GLuint index, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VARBPROC) (GLuint index, const GLuint64EXT* v); + +#define glGetImageHandleARB GLEW_GET_FUN(__glewGetImageHandleARB) +#define glGetTextureHandleARB GLEW_GET_FUN(__glewGetTextureHandleARB) +#define glGetTextureSamplerHandleARB GLEW_GET_FUN(__glewGetTextureSamplerHandleARB) +#define glGetVertexAttribLui64vARB GLEW_GET_FUN(__glewGetVertexAttribLui64vARB) +#define glIsImageHandleResidentARB GLEW_GET_FUN(__glewIsImageHandleResidentARB) +#define glIsTextureHandleResidentARB GLEW_GET_FUN(__glewIsTextureHandleResidentARB) +#define glMakeImageHandleNonResidentARB GLEW_GET_FUN(__glewMakeImageHandleNonResidentARB) +#define glMakeImageHandleResidentARB GLEW_GET_FUN(__glewMakeImageHandleResidentARB) +#define glMakeTextureHandleNonResidentARB GLEW_GET_FUN(__glewMakeTextureHandleNonResidentARB) +#define glMakeTextureHandleResidentARB GLEW_GET_FUN(__glewMakeTextureHandleResidentARB) +#define glProgramUniformHandleui64ARB GLEW_GET_FUN(__glewProgramUniformHandleui64ARB) +#define glProgramUniformHandleui64vARB GLEW_GET_FUN(__glewProgramUniformHandleui64vARB) +#define glUniformHandleui64ARB GLEW_GET_FUN(__glewUniformHandleui64ARB) +#define glUniformHandleui64vARB GLEW_GET_FUN(__glewUniformHandleui64vARB) +#define glVertexAttribL1ui64ARB GLEW_GET_FUN(__glewVertexAttribL1ui64ARB) +#define glVertexAttribL1ui64vARB GLEW_GET_FUN(__glewVertexAttribL1ui64vARB) + +#define GLEW_ARB_bindless_texture GLEW_GET_VAR(__GLEW_ARB_bindless_texture) + +#endif /* GL_ARB_bindless_texture */ + +/* ----------------------- GL_ARB_blend_func_extended ---------------------- */ + +#ifndef GL_ARB_blend_func_extended +#define GL_ARB_blend_func_extended 1 + +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar * name); + +#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed) +#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex) + +#define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended) + +#endif /* GL_ARB_blend_func_extended */ + +/* ------------------------- GL_ARB_buffer_storage ------------------------- */ + +#ifndef GL_ARB_buffer_storage +#define GL_ARB_buffer_storage 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_PERSISTENT_BIT 0x00000040 +#define GL_MAP_COHERENT_BIT 0x00000080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 + +typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); + +#define glBufferStorage GLEW_GET_FUN(__glewBufferStorage) + +#define GLEW_ARB_buffer_storage GLEW_GET_VAR(__GLEW_ARB_buffer_storage) + +#endif /* GL_ARB_buffer_storage */ + +/* ---------------------------- GL_ARB_cl_event ---------------------------- */ + +#ifndef GL_ARB_cl_event +#define GL_ARB_cl_event 1 + +#define GL_SYNC_CL_EVENT_ARB 0x8240 +#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 + +typedef struct _cl_context *cl_context; +typedef struct _cl_event *cl_event; + +typedef GLsync (GLAPIENTRY * PFNGLCREATESYNCFROMCLEVENTARBPROC) (cl_context context, cl_event event, GLbitfield flags); + +#define glCreateSyncFromCLeventARB GLEW_GET_FUN(__glewCreateSyncFromCLeventARB) + +#define GLEW_ARB_cl_event GLEW_GET_VAR(__GLEW_ARB_cl_event) + +#endif /* GL_ARB_cl_event */ + +/* ----------------------- GL_ARB_clear_buffer_object ---------------------- */ + +#ifndef GL_ARB_clear_buffer_object +#define GL_ARB_clear_buffer_object 1 + +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); + +#define glClearBufferData GLEW_GET_FUN(__glewClearBufferData) +#define glClearBufferSubData GLEW_GET_FUN(__glewClearBufferSubData) +#define glClearNamedBufferDataEXT GLEW_GET_FUN(__glewClearNamedBufferDataEXT) +#define glClearNamedBufferSubDataEXT GLEW_GET_FUN(__glewClearNamedBufferSubDataEXT) + +#define GLEW_ARB_clear_buffer_object GLEW_GET_VAR(__GLEW_ARB_clear_buffer_object) + +#endif /* GL_ARB_clear_buffer_object */ + +/* -------------------------- GL_ARB_clear_texture ------------------------- */ + +#ifndef GL_ARB_clear_texture +#define GL_ARB_clear_texture 1 + +#define GL_CLEAR_TEXTURE 0x9365 + +typedef void (GLAPIENTRY * PFNGLCLEARTEXIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARTEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); + +#define glClearTexImage GLEW_GET_FUN(__glewClearTexImage) +#define glClearTexSubImage GLEW_GET_FUN(__glewClearTexSubImage) + +#define GLEW_ARB_clear_texture GLEW_GET_VAR(__GLEW_ARB_clear_texture) + +#endif /* GL_ARB_clear_texture */ + +/* -------------------------- GL_ARB_clip_control -------------------------- */ + +#ifndef GL_ARB_clip_control +#define GL_ARB_clip_control 1 + +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_CLIP_ORIGIN 0x935C +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_ZERO_TO_ONE 0x935F + +typedef void (GLAPIENTRY * PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth); + +#define glClipControl GLEW_GET_FUN(__glewClipControl) + +#define GLEW_ARB_clip_control GLEW_GET_VAR(__GLEW_ARB_clip_control) + +#endif /* GL_ARB_clip_control */ + +/* ----------------------- GL_ARB_color_buffer_float ----------------------- */ + +#ifndef GL_ARB_color_buffer_float +#define GL_ARB_color_buffer_float 1 + +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_FIXED_ONLY_ARB 0x891D + +typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); + +#define glClampColorARB GLEW_GET_FUN(__glewClampColorARB) + +#define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float) + +#endif /* GL_ARB_color_buffer_float */ + +/* -------------------------- GL_ARB_compatibility ------------------------- */ + +#ifndef GL_ARB_compatibility +#define GL_ARB_compatibility 1 + +#define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility) + +#endif /* GL_ARB_compatibility */ + +/* ---------------- GL_ARB_compressed_texture_pixel_storage ---------------- */ + +#ifndef GL_ARB_compressed_texture_pixel_storage +#define GL_ARB_compressed_texture_pixel_storage 1 + +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E + +#define GLEW_ARB_compressed_texture_pixel_storage GLEW_GET_VAR(__GLEW_ARB_compressed_texture_pixel_storage) + +#endif /* GL_ARB_compressed_texture_pixel_storage */ + +/* ------------------------- GL_ARB_compute_shader ------------------------- */ + +#ifndef GL_ARB_compute_shader +#define GL_ARB_compute_shader 1 + +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF + +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); + +#define glDispatchCompute GLEW_GET_FUN(__glewDispatchCompute) +#define glDispatchComputeIndirect GLEW_GET_FUN(__glewDispatchComputeIndirect) + +#define GLEW_ARB_compute_shader GLEW_GET_VAR(__GLEW_ARB_compute_shader) + +#endif /* GL_ARB_compute_shader */ + +/* ------------------- GL_ARB_compute_variable_group_size ------------------ */ + +#ifndef GL_ARB_compute_variable_group_size +#define GL_ARB_compute_variable_group_size 1 + +#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB +#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF +#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344 +#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345 + +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); + +#define glDispatchComputeGroupSizeARB GLEW_GET_FUN(__glewDispatchComputeGroupSizeARB) + +#define GLEW_ARB_compute_variable_group_size GLEW_GET_VAR(__GLEW_ARB_compute_variable_group_size) + +#endif /* GL_ARB_compute_variable_group_size */ + +/* ------------------- GL_ARB_conditional_render_inverted ------------------ */ + +#ifndef GL_ARB_conditional_render_inverted +#define GL_ARB_conditional_render_inverted 1 + +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A + +#define GLEW_ARB_conditional_render_inverted GLEW_GET_VAR(__GLEW_ARB_conditional_render_inverted) + +#endif /* GL_ARB_conditional_render_inverted */ + +/* ----------------------- GL_ARB_conservative_depth ----------------------- */ + +#ifndef GL_ARB_conservative_depth +#define GL_ARB_conservative_depth 1 + +#define GLEW_ARB_conservative_depth GLEW_GET_VAR(__GLEW_ARB_conservative_depth) + +#endif /* GL_ARB_conservative_depth */ + +/* --------------------------- GL_ARB_copy_buffer -------------------------- */ + +#ifndef GL_ARB_copy_buffer +#define GL_ARB_copy_buffer 1 + +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 + +typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size); + +#define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData) + +#define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer) + +#endif /* GL_ARB_copy_buffer */ + +/* --------------------------- GL_ARB_copy_image --------------------------- */ + +#ifndef GL_ARB_copy_image +#define GL_ARB_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); + +#define glCopyImageSubData GLEW_GET_FUN(__glewCopyImageSubData) + +#define GLEW_ARB_copy_image GLEW_GET_VAR(__GLEW_ARB_copy_image) + +#endif /* GL_ARB_copy_image */ + +/* -------------------------- GL_ARB_cull_distance ------------------------- */ + +#ifndef GL_ARB_cull_distance +#define GL_ARB_cull_distance 1 + +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA + +#define GLEW_ARB_cull_distance GLEW_GET_VAR(__GLEW_ARB_cull_distance) + +#endif /* GL_ARB_cull_distance */ + +/* -------------------------- GL_ARB_debug_output -------------------------- */ + +#ifndef GL_ARB_debug_output +#define GL_ARB_debug_output 1 + +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 + +typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); + +#define glDebugMessageCallbackARB GLEW_GET_FUN(__glewDebugMessageCallbackARB) +#define glDebugMessageControlARB GLEW_GET_FUN(__glewDebugMessageControlARB) +#define glDebugMessageInsertARB GLEW_GET_FUN(__glewDebugMessageInsertARB) +#define glGetDebugMessageLogARB GLEW_GET_FUN(__glewGetDebugMessageLogARB) + +#define GLEW_ARB_debug_output GLEW_GET_VAR(__GLEW_ARB_debug_output) + +#endif /* GL_ARB_debug_output */ + +/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */ + +#ifndef GL_ARB_depth_buffer_float +#define GL_ARB_depth_buffer_float 1 + +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD + +#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float) + +#endif /* GL_ARB_depth_buffer_float */ + +/* --------------------------- GL_ARB_depth_clamp -------------------------- */ + +#ifndef GL_ARB_depth_clamp +#define GL_ARB_depth_clamp 1 + +#define GL_DEPTH_CLAMP 0x864F + +#define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp) + +#endif /* GL_ARB_depth_clamp */ + +/* -------------------------- GL_ARB_depth_texture ------------------------- */ + +#ifndef GL_ARB_depth_texture +#define GL_ARB_depth_texture 1 + +#define GL_DEPTH_COMPONENT16_ARB 0x81A5 +#define GL_DEPTH_COMPONENT24_ARB 0x81A6 +#define GL_DEPTH_COMPONENT32_ARB 0x81A7 +#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A +#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B + +#define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture) + +#endif /* GL_ARB_depth_texture */ + +/* ----------------------- GL_ARB_derivative_control ----------------------- */ + +#ifndef GL_ARB_derivative_control +#define GL_ARB_derivative_control 1 + +#define GLEW_ARB_derivative_control GLEW_GET_VAR(__GLEW_ARB_derivative_control) + +#endif /* GL_ARB_derivative_control */ + +/* ----------------------- GL_ARB_direct_state_access ---------------------- */ + +#ifndef GL_ARB_direct_state_access +#define GL_ARB_direct_state_access 1 + +#define GL_TEXTURE_TARGET 0x1006 +#define GL_QUERY_TARGET 0x82EA + +typedef void (GLAPIENTRY * PFNGLBINDTEXTUREUNITPROC) (GLuint unit, GLuint texture); +typedef void (GLAPIENTRY * PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint* value); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLCREATERENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint* textures); +typedef void (GLAPIENTRY * PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLCREATEVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTUI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTUIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVPROC) (GLuint texture, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVPROC) (GLuint texture, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64* param); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint64* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINDEXEDIVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYIVPROC) (GLuint vaobj, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments); +typedef void (GLAPIENTRY * PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFPROC) (GLuint texture, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIPROC) (GLuint texture, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBBINDINGPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBIFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBLFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYBINDINGDIVISORPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYELEMENTBUFFERPROC) (GLuint vaobj, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBUFFERPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBUFFERSPROC) (GLuint vaobj, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides); + +#define glBindTextureUnit GLEW_GET_FUN(__glewBindTextureUnit) +#define glBlitNamedFramebuffer GLEW_GET_FUN(__glewBlitNamedFramebuffer) +#define glCheckNamedFramebufferStatus GLEW_GET_FUN(__glewCheckNamedFramebufferStatus) +#define glClearNamedBufferData GLEW_GET_FUN(__glewClearNamedBufferData) +#define glClearNamedBufferSubData GLEW_GET_FUN(__glewClearNamedBufferSubData) +#define glClearNamedFramebufferfi GLEW_GET_FUN(__glewClearNamedFramebufferfi) +#define glClearNamedFramebufferfv GLEW_GET_FUN(__glewClearNamedFramebufferfv) +#define glClearNamedFramebufferiv GLEW_GET_FUN(__glewClearNamedFramebufferiv) +#define glClearNamedFramebufferuiv GLEW_GET_FUN(__glewClearNamedFramebufferuiv) +#define glCompressedTextureSubImage1D GLEW_GET_FUN(__glewCompressedTextureSubImage1D) +#define glCompressedTextureSubImage2D GLEW_GET_FUN(__glewCompressedTextureSubImage2D) +#define glCompressedTextureSubImage3D GLEW_GET_FUN(__glewCompressedTextureSubImage3D) +#define glCopyNamedBufferSubData GLEW_GET_FUN(__glewCopyNamedBufferSubData) +#define glCopyTextureSubImage1D GLEW_GET_FUN(__glewCopyTextureSubImage1D) +#define glCopyTextureSubImage2D GLEW_GET_FUN(__glewCopyTextureSubImage2D) +#define glCopyTextureSubImage3D GLEW_GET_FUN(__glewCopyTextureSubImage3D) +#define glCreateBuffers GLEW_GET_FUN(__glewCreateBuffers) +#define glCreateFramebuffers GLEW_GET_FUN(__glewCreateFramebuffers) +#define glCreateProgramPipelines GLEW_GET_FUN(__glewCreateProgramPipelines) +#define glCreateQueries GLEW_GET_FUN(__glewCreateQueries) +#define glCreateRenderbuffers GLEW_GET_FUN(__glewCreateRenderbuffers) +#define glCreateSamplers GLEW_GET_FUN(__glewCreateSamplers) +#define glCreateTextures GLEW_GET_FUN(__glewCreateTextures) +#define glCreateTransformFeedbacks GLEW_GET_FUN(__glewCreateTransformFeedbacks) +#define glCreateVertexArrays GLEW_GET_FUN(__glewCreateVertexArrays) +#define glDisableVertexArrayAttrib GLEW_GET_FUN(__glewDisableVertexArrayAttrib) +#define glEnableVertexArrayAttrib GLEW_GET_FUN(__glewEnableVertexArrayAttrib) +#define glFlushMappedNamedBufferRange GLEW_GET_FUN(__glewFlushMappedNamedBufferRange) +#define glGenerateTextureMipmap GLEW_GET_FUN(__glewGenerateTextureMipmap) +#define glGetCompressedTextureImage GLEW_GET_FUN(__glewGetCompressedTextureImage) +#define glGetNamedBufferParameteri64v GLEW_GET_FUN(__glewGetNamedBufferParameteri64v) +#define glGetNamedBufferParameteriv GLEW_GET_FUN(__glewGetNamedBufferParameteriv) +#define glGetNamedBufferPointerv GLEW_GET_FUN(__glewGetNamedBufferPointerv) +#define glGetNamedBufferSubData GLEW_GET_FUN(__glewGetNamedBufferSubData) +#define glGetNamedFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameteriv) +#define glGetNamedFramebufferParameteriv GLEW_GET_FUN(__glewGetNamedFramebufferParameteriv) +#define glGetNamedRenderbufferParameteriv GLEW_GET_FUN(__glewGetNamedRenderbufferParameteriv) +#define glGetQueryBufferObjecti64v GLEW_GET_FUN(__glewGetQueryBufferObjecti64v) +#define glGetQueryBufferObjectiv GLEW_GET_FUN(__glewGetQueryBufferObjectiv) +#define glGetQueryBufferObjectui64v GLEW_GET_FUN(__glewGetQueryBufferObjectui64v) +#define glGetQueryBufferObjectuiv GLEW_GET_FUN(__glewGetQueryBufferObjectuiv) +#define glGetTextureImage GLEW_GET_FUN(__glewGetTextureImage) +#define glGetTextureLevelParameterfv GLEW_GET_FUN(__glewGetTextureLevelParameterfv) +#define glGetTextureLevelParameteriv GLEW_GET_FUN(__glewGetTextureLevelParameteriv) +#define glGetTextureParameterIiv GLEW_GET_FUN(__glewGetTextureParameterIiv) +#define glGetTextureParameterIuiv GLEW_GET_FUN(__glewGetTextureParameterIuiv) +#define glGetTextureParameterfv GLEW_GET_FUN(__glewGetTextureParameterfv) +#define glGetTextureParameteriv GLEW_GET_FUN(__glewGetTextureParameteriv) +#define glGetTransformFeedbacki64_v GLEW_GET_FUN(__glewGetTransformFeedbacki64_v) +#define glGetTransformFeedbacki_v GLEW_GET_FUN(__glewGetTransformFeedbacki_v) +#define glGetTransformFeedbackiv GLEW_GET_FUN(__glewGetTransformFeedbackiv) +#define glGetVertexArrayIndexed64iv GLEW_GET_FUN(__glewGetVertexArrayIndexed64iv) +#define glGetVertexArrayIndexediv GLEW_GET_FUN(__glewGetVertexArrayIndexediv) +#define glGetVertexArrayiv GLEW_GET_FUN(__glewGetVertexArrayiv) +#define glInvalidateNamedFramebufferData GLEW_GET_FUN(__glewInvalidateNamedFramebufferData) +#define glInvalidateNamedFramebufferSubData GLEW_GET_FUN(__glewInvalidateNamedFramebufferSubData) +#define glMapNamedBuffer GLEW_GET_FUN(__glewMapNamedBuffer) +#define glMapNamedBufferRange GLEW_GET_FUN(__glewMapNamedBufferRange) +#define glNamedBufferData GLEW_GET_FUN(__glewNamedBufferData) +#define glNamedBufferStorage GLEW_GET_FUN(__glewNamedBufferStorage) +#define glNamedBufferSubData GLEW_GET_FUN(__glewNamedBufferSubData) +#define glNamedFramebufferDrawBuffer GLEW_GET_FUN(__glewNamedFramebufferDrawBuffer) +#define glNamedFramebufferDrawBuffers GLEW_GET_FUN(__glewNamedFramebufferDrawBuffers) +#define glNamedFramebufferParameteri GLEW_GET_FUN(__glewNamedFramebufferParameteri) +#define glNamedFramebufferReadBuffer GLEW_GET_FUN(__glewNamedFramebufferReadBuffer) +#define glNamedFramebufferRenderbuffer GLEW_GET_FUN(__glewNamedFramebufferRenderbuffer) +#define glNamedFramebufferTexture GLEW_GET_FUN(__glewNamedFramebufferTexture) +#define glNamedFramebufferTextureLayer GLEW_GET_FUN(__glewNamedFramebufferTextureLayer) +#define glNamedRenderbufferStorage GLEW_GET_FUN(__glewNamedRenderbufferStorage) +#define glNamedRenderbufferStorageMultisample GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisample) +#define glTextureBuffer GLEW_GET_FUN(__glewTextureBuffer) +#define glTextureBufferRange GLEW_GET_FUN(__glewTextureBufferRange) +#define glTextureParameterIiv GLEW_GET_FUN(__glewTextureParameterIiv) +#define glTextureParameterIuiv GLEW_GET_FUN(__glewTextureParameterIuiv) +#define glTextureParameterf GLEW_GET_FUN(__glewTextureParameterf) +#define glTextureParameterfv GLEW_GET_FUN(__glewTextureParameterfv) +#define glTextureParameteri GLEW_GET_FUN(__glewTextureParameteri) +#define glTextureParameteriv GLEW_GET_FUN(__glewTextureParameteriv) +#define glTextureStorage1D GLEW_GET_FUN(__glewTextureStorage1D) +#define glTextureStorage2D GLEW_GET_FUN(__glewTextureStorage2D) +#define glTextureStorage2DMultisample GLEW_GET_FUN(__glewTextureStorage2DMultisample) +#define glTextureStorage3D GLEW_GET_FUN(__glewTextureStorage3D) +#define glTextureStorage3DMultisample GLEW_GET_FUN(__glewTextureStorage3DMultisample) +#define glTextureSubImage1D GLEW_GET_FUN(__glewTextureSubImage1D) +#define glTextureSubImage2D GLEW_GET_FUN(__glewTextureSubImage2D) +#define glTextureSubImage3D GLEW_GET_FUN(__glewTextureSubImage3D) +#define glTransformFeedbackBufferBase GLEW_GET_FUN(__glewTransformFeedbackBufferBase) +#define glTransformFeedbackBufferRange GLEW_GET_FUN(__glewTransformFeedbackBufferRange) +#define glUnmapNamedBuffer GLEW_GET_FUN(__glewUnmapNamedBuffer) +#define glVertexArrayAttribBinding GLEW_GET_FUN(__glewVertexArrayAttribBinding) +#define glVertexArrayAttribFormat GLEW_GET_FUN(__glewVertexArrayAttribFormat) +#define glVertexArrayAttribIFormat GLEW_GET_FUN(__glewVertexArrayAttribIFormat) +#define glVertexArrayAttribLFormat GLEW_GET_FUN(__glewVertexArrayAttribLFormat) +#define glVertexArrayBindingDivisor GLEW_GET_FUN(__glewVertexArrayBindingDivisor) +#define glVertexArrayElementBuffer GLEW_GET_FUN(__glewVertexArrayElementBuffer) +#define glVertexArrayVertexBuffer GLEW_GET_FUN(__glewVertexArrayVertexBuffer) +#define glVertexArrayVertexBuffers GLEW_GET_FUN(__glewVertexArrayVertexBuffers) + +#define GLEW_ARB_direct_state_access GLEW_GET_VAR(__GLEW_ARB_direct_state_access) + +#endif /* GL_ARB_direct_state_access */ + +/* -------------------------- GL_ARB_draw_buffers -------------------------- */ + +#ifndef GL_ARB_draw_buffers +#define GL_ARB_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 +#define GL_DRAW_BUFFER0_ARB 0x8825 +#define GL_DRAW_BUFFER1_ARB 0x8826 +#define GL_DRAW_BUFFER2_ARB 0x8827 +#define GL_DRAW_BUFFER3_ARB 0x8828 +#define GL_DRAW_BUFFER4_ARB 0x8829 +#define GL_DRAW_BUFFER5_ARB 0x882A +#define GL_DRAW_BUFFER6_ARB 0x882B +#define GL_DRAW_BUFFER7_ARB 0x882C +#define GL_DRAW_BUFFER8_ARB 0x882D +#define GL_DRAW_BUFFER9_ARB 0x882E +#define GL_DRAW_BUFFER10_ARB 0x882F +#define GL_DRAW_BUFFER11_ARB 0x8830 +#define GL_DRAW_BUFFER12_ARB 0x8831 +#define GL_DRAW_BUFFER13_ARB 0x8832 +#define GL_DRAW_BUFFER14_ARB 0x8833 +#define GL_DRAW_BUFFER15_ARB 0x8834 + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB) + +#define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers) + +#endif /* GL_ARB_draw_buffers */ + +/* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */ + +#ifndef GL_ARB_draw_buffers_blend +#define GL_ARB_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); + +#define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB) +#define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB) +#define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB) +#define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB) + +#define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend) + +#endif /* GL_ARB_draw_buffers_blend */ + +/* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */ + +#ifndef GL_ARB_draw_elements_base_vertex +#define GL_ARB_draw_elements_base_vertex 1 + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei* count, GLenum type, void**indices, GLsizei primcount, GLint *basevertex); + +#define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex) +#define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex) +#define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex) +#define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex) + +#define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex) + +#endif /* GL_ARB_draw_elements_base_vertex */ + +/* -------------------------- GL_ARB_draw_indirect ------------------------- */ + +#ifndef GL_ARB_draw_indirect +#define GL_ARB_draw_indirect 1 + +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect); + +#define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect) +#define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect) + +#define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect) + +#endif /* GL_ARB_draw_indirect */ + +/* ------------------------- GL_ARB_draw_instanced ------------------------- */ + +#ifndef GL_ARB_draw_instanced +#define GL_ARB_draw_instanced 1 + +#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced) + +#endif /* GL_ARB_draw_instanced */ + +/* ------------------------ GL_ARB_enhanced_layouts ------------------------ */ + +#ifndef GL_ARB_enhanced_layouts +#define GL_ARB_enhanced_layouts 1 + +#define GL_LOCATION_COMPONENT 0x934A +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C + +#define GLEW_ARB_enhanced_layouts GLEW_GET_VAR(__GLEW_ARB_enhanced_layouts) + +#endif /* GL_ARB_enhanced_layouts */ + +/* -------------------- GL_ARB_explicit_attrib_location -------------------- */ + +#ifndef GL_ARB_explicit_attrib_location +#define GL_ARB_explicit_attrib_location 1 + +#define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location) + +#endif /* GL_ARB_explicit_attrib_location */ + +/* -------------------- GL_ARB_explicit_uniform_location ------------------- */ + +#ifndef GL_ARB_explicit_uniform_location +#define GL_ARB_explicit_uniform_location 1 + +#define GL_MAX_UNIFORM_LOCATIONS 0x826E + +#define GLEW_ARB_explicit_uniform_location GLEW_GET_VAR(__GLEW_ARB_explicit_uniform_location) + +#endif /* GL_ARB_explicit_uniform_location */ + +/* ------------------- GL_ARB_fragment_coord_conventions ------------------- */ + +#ifndef GL_ARB_fragment_coord_conventions +#define GL_ARB_fragment_coord_conventions 1 + +#define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions) + +#endif /* GL_ARB_fragment_coord_conventions */ + +/* --------------------- GL_ARB_fragment_layer_viewport -------------------- */ + +#ifndef GL_ARB_fragment_layer_viewport +#define GL_ARB_fragment_layer_viewport 1 + +#define GLEW_ARB_fragment_layer_viewport GLEW_GET_VAR(__GLEW_ARB_fragment_layer_viewport) + +#endif /* GL_ARB_fragment_layer_viewport */ + +/* ------------------------ GL_ARB_fragment_program ------------------------ */ + +#ifndef GL_ARB_fragment_program +#define GL_ARB_fragment_program 1 + +#define GL_FRAGMENT_PROGRAM_ARB 0x8804 +#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 +#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 +#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 +#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 +#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 +#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A +#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B +#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C +#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D +#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E +#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F +#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 +#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 + +#define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program) + +#endif /* GL_ARB_fragment_program */ + +/* --------------------- GL_ARB_fragment_program_shadow -------------------- */ + +#ifndef GL_ARB_fragment_program_shadow +#define GL_ARB_fragment_program_shadow 1 + +#define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow) + +#endif /* GL_ARB_fragment_program_shadow */ + +/* ------------------------- GL_ARB_fragment_shader ------------------------ */ + +#ifndef GL_ARB_fragment_shader +#define GL_ARB_fragment_shader 1 + +#define GL_FRAGMENT_SHADER_ARB 0x8B30 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B + +#define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader) + +#endif /* GL_ARB_fragment_shader */ + +/* -------------------- GL_ARB_fragment_shader_interlock ------------------- */ + +#ifndef GL_ARB_fragment_shader_interlock +#define GL_ARB_fragment_shader_interlock 1 + +#define GLEW_ARB_fragment_shader_interlock GLEW_GET_VAR(__GLEW_ARB_fragment_shader_interlock) + +#endif /* GL_ARB_fragment_shader_interlock */ + +/* ------------------- GL_ARB_framebuffer_no_attachments ------------------- */ + +#ifndef GL_ARB_framebuffer_no_attachments +#define GL_ARB_framebuffer_no_attachments 1 + +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); + +#define glFramebufferParameteri GLEW_GET_FUN(__glewFramebufferParameteri) +#define glGetFramebufferParameteriv GLEW_GET_FUN(__glewGetFramebufferParameteriv) +#define glGetNamedFramebufferParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferParameterivEXT) +#define glNamedFramebufferParameteriEXT GLEW_GET_FUN(__glewNamedFramebufferParameteriEXT) + +#define GLEW_ARB_framebuffer_no_attachments GLEW_GET_VAR(__GLEW_ARB_framebuffer_no_attachments) + +#endif /* GL_ARB_framebuffer_no_attachments */ + +/* ----------------------- GL_ARB_framebuffer_object ----------------------- */ + +#ifndef GL_ARB_framebuffer_object +#define GL_ARB_framebuffer_object 1 + +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_INDEX 0x8222 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_SRGB 0x8C40 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 + +typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer); +typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer) +#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer) +#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer) +#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus) +#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers) +#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers) +#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer) +#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D) +#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D) +#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D) +#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer) +#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) +#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers) +#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap) +#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv) +#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv) +#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer) +#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer) +#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage) +#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample) + +#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object) + +#endif /* GL_ARB_framebuffer_object */ + +/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */ + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_ARB_framebuffer_sRGB 1 + +#define GL_FRAMEBUFFER_SRGB 0x8DB9 + +#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB) + +#endif /* GL_ARB_framebuffer_sRGB */ + +/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */ + +#ifndef GL_ARB_geometry_shader4 +#define GL_ARB_geometry_shader4 1 + +#define GL_LINES_ADJACENCY_ARB 0xA +#define GL_LINE_STRIP_ADJACENCY_ARB 0xB +#define GL_TRIANGLES_ADJACENCY_ARB 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); + +#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB) +#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB) +#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB) +#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB) + +#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4) + +#endif /* GL_ARB_geometry_shader4 */ + +/* ----------------------- GL_ARB_get_program_binary ----------------------- */ + +#ifndef GL_ARB_get_program_binary +#define GL_ARB_get_program_binary 1 + +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, void*binary); +typedef void (GLAPIENTRY * PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); + +#define glGetProgramBinary GLEW_GET_FUN(__glewGetProgramBinary) +#define glProgramBinary GLEW_GET_FUN(__glewProgramBinary) +#define glProgramParameteri GLEW_GET_FUN(__glewProgramParameteri) + +#define GLEW_ARB_get_program_binary GLEW_GET_VAR(__GLEW_ARB_get_program_binary) + +#endif /* GL_ARB_get_program_binary */ + +/* ---------------------- GL_ARB_get_texture_sub_image --------------------- */ + +#ifndef GL_ARB_get_texture_sub_image +#define GL_ARB_get_texture_sub_image 1 + +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); + +#define glGetCompressedTextureSubImage GLEW_GET_FUN(__glewGetCompressedTextureSubImage) +#define glGetTextureSubImage GLEW_GET_FUN(__glewGetTextureSubImage) + +#define GLEW_ARB_get_texture_sub_image GLEW_GET_VAR(__GLEW_ARB_get_texture_sub_image) + +#endif /* GL_ARB_get_texture_sub_image */ + +/* ---------------------------- GL_ARB_gl_spirv ---------------------------- */ + +#ifndef GL_ARB_gl_spirv +#define GL_ARB_gl_spirv 1 + +#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551 +#define GL_SPIR_V_BINARY_ARB 0x9552 + +typedef void (GLAPIENTRY * PFNGLSPECIALIZESHADERARBPROC) (GLuint shader, const GLchar* pEntryPoint, GLuint numSpecializationConstants, const GLuint* pConstantIndex, const GLuint* pConstantValue); + +#define glSpecializeShaderARB GLEW_GET_FUN(__glewSpecializeShaderARB) + +#define GLEW_ARB_gl_spirv GLEW_GET_VAR(__GLEW_ARB_gl_spirv) + +#endif /* GL_ARB_gl_spirv */ + +/* --------------------------- GL_ARB_gpu_shader5 -------------------------- */ + +#ifndef GL_ARB_gpu_shader5 +#define GL_ARB_gpu_shader5 1 + +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +#define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5) + +#endif /* GL_ARB_gpu_shader5 */ + +/* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */ + +#ifndef GL_ARB_gpu_shader_fp64 +#define GL_ARB_gpu_shader_fp64 1 + +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DPROC) (GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); + +#define glGetUniformdv GLEW_GET_FUN(__glewGetUniformdv) +#define glUniform1d GLEW_GET_FUN(__glewUniform1d) +#define glUniform1dv GLEW_GET_FUN(__glewUniform1dv) +#define glUniform2d GLEW_GET_FUN(__glewUniform2d) +#define glUniform2dv GLEW_GET_FUN(__glewUniform2dv) +#define glUniform3d GLEW_GET_FUN(__glewUniform3d) +#define glUniform3dv GLEW_GET_FUN(__glewUniform3dv) +#define glUniform4d GLEW_GET_FUN(__glewUniform4d) +#define glUniform4dv GLEW_GET_FUN(__glewUniform4dv) +#define glUniformMatrix2dv GLEW_GET_FUN(__glewUniformMatrix2dv) +#define glUniformMatrix2x3dv GLEW_GET_FUN(__glewUniformMatrix2x3dv) +#define glUniformMatrix2x4dv GLEW_GET_FUN(__glewUniformMatrix2x4dv) +#define glUniformMatrix3dv GLEW_GET_FUN(__glewUniformMatrix3dv) +#define glUniformMatrix3x2dv GLEW_GET_FUN(__glewUniformMatrix3x2dv) +#define glUniformMatrix3x4dv GLEW_GET_FUN(__glewUniformMatrix3x4dv) +#define glUniformMatrix4dv GLEW_GET_FUN(__glewUniformMatrix4dv) +#define glUniformMatrix4x2dv GLEW_GET_FUN(__glewUniformMatrix4x2dv) +#define glUniformMatrix4x3dv GLEW_GET_FUN(__glewUniformMatrix4x3dv) + +#define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64) + +#endif /* GL_ARB_gpu_shader_fp64 */ + +/* ------------------------ GL_ARB_gpu_shader_int64 ------------------------ */ + +#ifndef GL_ARB_gpu_shader_int64 +#define GL_ARB_gpu_shader_int64 1 + +#define GL_INT64_ARB 0x140E +#define GL_UNSIGNED_INT64_ARB 0x140F +#define GL_INT64_VEC2_ARB 0x8FE9 +#define GL_INT64_VEC3_ARB 0x8FEA +#define GL_INT64_VEC4_ARB 0x8FEB +#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7 + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); + +#define glGetUniformi64vARB GLEW_GET_FUN(__glewGetUniformi64vARB) +#define glGetUniformui64vARB GLEW_GET_FUN(__glewGetUniformui64vARB) +#define glGetnUniformi64vARB GLEW_GET_FUN(__glewGetnUniformi64vARB) +#define glGetnUniformui64vARB GLEW_GET_FUN(__glewGetnUniformui64vARB) +#define glProgramUniform1i64ARB GLEW_GET_FUN(__glewProgramUniform1i64ARB) +#define glProgramUniform1i64vARB GLEW_GET_FUN(__glewProgramUniform1i64vARB) +#define glProgramUniform1ui64ARB GLEW_GET_FUN(__glewProgramUniform1ui64ARB) +#define glProgramUniform1ui64vARB GLEW_GET_FUN(__glewProgramUniform1ui64vARB) +#define glProgramUniform2i64ARB GLEW_GET_FUN(__glewProgramUniform2i64ARB) +#define glProgramUniform2i64vARB GLEW_GET_FUN(__glewProgramUniform2i64vARB) +#define glProgramUniform2ui64ARB GLEW_GET_FUN(__glewProgramUniform2ui64ARB) +#define glProgramUniform2ui64vARB GLEW_GET_FUN(__glewProgramUniform2ui64vARB) +#define glProgramUniform3i64ARB GLEW_GET_FUN(__glewProgramUniform3i64ARB) +#define glProgramUniform3i64vARB GLEW_GET_FUN(__glewProgramUniform3i64vARB) +#define glProgramUniform3ui64ARB GLEW_GET_FUN(__glewProgramUniform3ui64ARB) +#define glProgramUniform3ui64vARB GLEW_GET_FUN(__glewProgramUniform3ui64vARB) +#define glProgramUniform4i64ARB GLEW_GET_FUN(__glewProgramUniform4i64ARB) +#define glProgramUniform4i64vARB GLEW_GET_FUN(__glewProgramUniform4i64vARB) +#define glProgramUniform4ui64ARB GLEW_GET_FUN(__glewProgramUniform4ui64ARB) +#define glProgramUniform4ui64vARB GLEW_GET_FUN(__glewProgramUniform4ui64vARB) +#define glUniform1i64ARB GLEW_GET_FUN(__glewUniform1i64ARB) +#define glUniform1i64vARB GLEW_GET_FUN(__glewUniform1i64vARB) +#define glUniform1ui64ARB GLEW_GET_FUN(__glewUniform1ui64ARB) +#define glUniform1ui64vARB GLEW_GET_FUN(__glewUniform1ui64vARB) +#define glUniform2i64ARB GLEW_GET_FUN(__glewUniform2i64ARB) +#define glUniform2i64vARB GLEW_GET_FUN(__glewUniform2i64vARB) +#define glUniform2ui64ARB GLEW_GET_FUN(__glewUniform2ui64ARB) +#define glUniform2ui64vARB GLEW_GET_FUN(__glewUniform2ui64vARB) +#define glUniform3i64ARB GLEW_GET_FUN(__glewUniform3i64ARB) +#define glUniform3i64vARB GLEW_GET_FUN(__glewUniform3i64vARB) +#define glUniform3ui64ARB GLEW_GET_FUN(__glewUniform3ui64ARB) +#define glUniform3ui64vARB GLEW_GET_FUN(__glewUniform3ui64vARB) +#define glUniform4i64ARB GLEW_GET_FUN(__glewUniform4i64ARB) +#define glUniform4i64vARB GLEW_GET_FUN(__glewUniform4i64vARB) +#define glUniform4ui64ARB GLEW_GET_FUN(__glewUniform4ui64ARB) +#define glUniform4ui64vARB GLEW_GET_FUN(__glewUniform4ui64vARB) + +#define GLEW_ARB_gpu_shader_int64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_int64) + +#endif /* GL_ARB_gpu_shader_int64 */ + +/* ------------------------ GL_ARB_half_float_pixel ------------------------ */ + +#ifndef GL_ARB_half_float_pixel +#define GL_ARB_half_float_pixel 1 + +#define GL_HALF_FLOAT_ARB 0x140B + +#define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel) + +#endif /* GL_ARB_half_float_pixel */ + +/* ------------------------ GL_ARB_half_float_vertex ----------------------- */ + +#ifndef GL_ARB_half_float_vertex +#define GL_ARB_half_float_vertex 1 + +#define GL_HALF_FLOAT 0x140B + +#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex) + +#endif /* GL_ARB_half_float_vertex */ + +/* ----------------------------- GL_ARB_imaging ---------------------------- */ + +#ifndef GL_ARB_imaging +#define GL_ARB_imaging 1 + +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BLEND_COLOR 0x8005 +#define GL_FUNC_ADD 0x8006 +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_BLEND_EQUATION 0x8009 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_CONVOLUTION_1D 0x8010 +#define GL_CONVOLUTION_2D 0x8011 +#define GL_SEPARABLE_2D 0x8012 +#define GL_CONVOLUTION_BORDER_MODE 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS 0x8015 +#define GL_REDUCE 0x8016 +#define GL_CONVOLUTION_FORMAT 0x8017 +#define GL_CONVOLUTION_WIDTH 0x8018 +#define GL_CONVOLUTION_HEIGHT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 +#define GL_HISTOGRAM 0x8024 +#define GL_PROXY_HISTOGRAM 0x8025 +#define GL_HISTOGRAM_WIDTH 0x8026 +#define GL_HISTOGRAM_FORMAT 0x8027 +#define GL_HISTOGRAM_RED_SIZE 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C +#define GL_HISTOGRAM_SINK 0x802D +#define GL_MINMAX 0x802E +#define GL_MINMAX_FORMAT 0x802F +#define GL_MINMAX_SINK 0x8030 +#define GL_TABLE_TOO_LARGE 0x8031 +#define GL_COLOR_MATRIX 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB +#define GL_COLOR_TABLE 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 +#define GL_PROXY_COLOR_TABLE 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 +#define GL_COLOR_TABLE_SCALE 0x80D6 +#define GL_COLOR_TABLE_BIAS 0x80D7 +#define GL_COLOR_TABLE_FORMAT 0x80D8 +#define GL_COLOR_TABLE_WIDTH 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF +#define GL_IGNORE_BORDER 0x8150 +#define GL_CONSTANT_BORDER 0x8151 +#define GL_WRAP_BORDER 0x8152 +#define GL_REPLICATE_BORDER 0x8153 +#define GL_CONVOLUTION_BORDER_COLOR 0x8154 + +typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, void *table); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, void *image); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, void *values); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); +typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); + +#define glColorSubTable GLEW_GET_FUN(__glewColorSubTable) +#define glColorTable GLEW_GET_FUN(__glewColorTable) +#define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv) +#define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv) +#define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D) +#define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D) +#define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf) +#define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv) +#define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri) +#define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv) +#define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable) +#define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable) +#define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D) +#define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D) +#define glGetColorTable GLEW_GET_FUN(__glewGetColorTable) +#define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv) +#define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv) +#define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter) +#define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv) +#define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv) +#define glGetHistogram GLEW_GET_FUN(__glewGetHistogram) +#define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv) +#define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv) +#define glGetMinmax GLEW_GET_FUN(__glewGetMinmax) +#define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv) +#define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv) +#define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter) +#define glHistogram GLEW_GET_FUN(__glewHistogram) +#define glMinmax GLEW_GET_FUN(__glewMinmax) +#define glResetHistogram GLEW_GET_FUN(__glewResetHistogram) +#define glResetMinmax GLEW_GET_FUN(__glewResetMinmax) +#define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D) + +#define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging) + +#endif /* GL_ARB_imaging */ + +/* ----------------------- GL_ARB_indirect_parameters ---------------------- */ + +#ifndef GL_ARB_indirect_parameters +#define GL_ARB_indirect_parameters 1 + +#define GL_PARAMETER_BUFFER_ARB 0x80EE +#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); + +#define glMultiDrawArraysIndirectCountARB GLEW_GET_FUN(__glewMultiDrawArraysIndirectCountARB) +#define glMultiDrawElementsIndirectCountARB GLEW_GET_FUN(__glewMultiDrawElementsIndirectCountARB) + +#define GLEW_ARB_indirect_parameters GLEW_GET_VAR(__GLEW_ARB_indirect_parameters) + +#endif /* GL_ARB_indirect_parameters */ + +/* ------------------------ GL_ARB_instanced_arrays ------------------------ */ + +#ifndef GL_ARB_instanced_arrays +#define GL_ARB_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); + +#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB) +#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB) +#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB) + +#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays) + +#endif /* GL_ARB_instanced_arrays */ + +/* ---------------------- GL_ARB_internalformat_query ---------------------- */ + +#ifndef GL_ARB_internalformat_query +#define GL_ARB_internalformat_query 1 + +#define GL_NUM_SAMPLE_COUNTS 0x9380 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); + +#define glGetInternalformativ GLEW_GET_FUN(__glewGetInternalformativ) + +#define GLEW_ARB_internalformat_query GLEW_GET_VAR(__GLEW_ARB_internalformat_query) + +#endif /* GL_ARB_internalformat_query */ + +/* ---------------------- GL_ARB_internalformat_query2 --------------------- */ + +#ifndef GL_ARB_internalformat_query2 +#define GL_ARB_internalformat_query2 1 + +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_MAX_WIDTH 0x827E +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_MIPMAP 0x8293 +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_COLOR_ENCODING 0x8296 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_SRGB_DECODE_ARB 0x8299 +#define GL_FILTER 0x829A +#define GL_VERTEX_TEXTURE 0x829B +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params); + +#define glGetInternalformati64v GLEW_GET_FUN(__glewGetInternalformati64v) + +#define GLEW_ARB_internalformat_query2 GLEW_GET_VAR(__GLEW_ARB_internalformat_query2) + +#endif /* GL_ARB_internalformat_query2 */ + +/* ----------------------- GL_ARB_invalidate_subdata ----------------------- */ + +#ifndef GL_ARB_invalidate_subdata +#define GL_ARB_invalidate_subdata 1 + +typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments); +typedef void (GLAPIENTRY * PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); + +#define glInvalidateBufferData GLEW_GET_FUN(__glewInvalidateBufferData) +#define glInvalidateBufferSubData GLEW_GET_FUN(__glewInvalidateBufferSubData) +#define glInvalidateFramebuffer GLEW_GET_FUN(__glewInvalidateFramebuffer) +#define glInvalidateSubFramebuffer GLEW_GET_FUN(__glewInvalidateSubFramebuffer) +#define glInvalidateTexImage GLEW_GET_FUN(__glewInvalidateTexImage) +#define glInvalidateTexSubImage GLEW_GET_FUN(__glewInvalidateTexSubImage) + +#define GLEW_ARB_invalidate_subdata GLEW_GET_VAR(__GLEW_ARB_invalidate_subdata) + +#endif /* GL_ARB_invalidate_subdata */ + +/* ---------------------- GL_ARB_map_buffer_alignment ---------------------- */ + +#ifndef GL_ARB_map_buffer_alignment +#define GL_ARB_map_buffer_alignment 1 + +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC + +#define GLEW_ARB_map_buffer_alignment GLEW_GET_VAR(__GLEW_ARB_map_buffer_alignment) + +#endif /* GL_ARB_map_buffer_alignment */ + +/* ------------------------ GL_ARB_map_buffer_range ------------------------ */ + +#ifndef GL_ARB_map_buffer_range +#define GL_ARB_map_buffer_range 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 + +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +typedef void * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); + +#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange) +#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange) + +#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range) + +#endif /* GL_ARB_map_buffer_range */ + +/* ------------------------- GL_ARB_matrix_palette ------------------------- */ + +#ifndef GL_ARB_matrix_palette +#define GL_ARB_matrix_palette 1 + +#define GL_MATRIX_PALETTE_ARB 0x8840 +#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 +#define GL_MAX_PALETTE_MATRICES_ARB 0x8842 +#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 +#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 +#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 +#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 +#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 +#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 +#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 + +typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices); + +#define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB) +#define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB) +#define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB) +#define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB) +#define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB) + +#define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette) + +#endif /* GL_ARB_matrix_palette */ + +/* --------------------------- GL_ARB_multi_bind --------------------------- */ + +#ifndef GL_ARB_multi_bind +#define GL_ARB_multi_bind 1 + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERSBASEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERSRANGEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizeiptr *sizes); +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLBINDSAMPLERSPROC) (GLuint first, GLsizei count, const GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLBINDTEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERSPROC) (GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides); + +#define glBindBuffersBase GLEW_GET_FUN(__glewBindBuffersBase) +#define glBindBuffersRange GLEW_GET_FUN(__glewBindBuffersRange) +#define glBindImageTextures GLEW_GET_FUN(__glewBindImageTextures) +#define glBindSamplers GLEW_GET_FUN(__glewBindSamplers) +#define glBindTextures GLEW_GET_FUN(__glewBindTextures) +#define glBindVertexBuffers GLEW_GET_FUN(__glewBindVertexBuffers) + +#define GLEW_ARB_multi_bind GLEW_GET_VAR(__GLEW_ARB_multi_bind) + +#endif /* GL_ARB_multi_bind */ + +/* ----------------------- GL_ARB_multi_draw_indirect ---------------------- */ + +#ifndef GL_ARB_multi_draw_indirect +#define GL_ARB_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride); + +#define glMultiDrawArraysIndirect GLEW_GET_FUN(__glewMultiDrawArraysIndirect) +#define glMultiDrawElementsIndirect GLEW_GET_FUN(__glewMultiDrawElementsIndirect) + +#define GLEW_ARB_multi_draw_indirect GLEW_GET_VAR(__GLEW_ARB_multi_draw_indirect) + +#endif /* GL_ARB_multi_draw_indirect */ + +/* --------------------------- GL_ARB_multisample -------------------------- */ + +#ifndef GL_ARB_multisample +#define GL_ARB_multisample 1 + +#define GL_MULTISAMPLE_ARB 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F +#define GL_SAMPLE_COVERAGE_ARB 0x80A0 +#define GL_SAMPLE_BUFFERS_ARB 0x80A8 +#define GL_SAMPLES_ARB 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB +#define GL_MULTISAMPLE_BIT_ARB 0x20000000 + +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); + +#define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB) + +#define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample) + +#endif /* GL_ARB_multisample */ + +/* -------------------------- GL_ARB_multitexture -------------------------- */ + +#ifndef GL_ARB_multitexture +#define GL_ARB_multitexture 1 + +#define GL_TEXTURE0_ARB 0x84C0 +#define GL_TEXTURE1_ARB 0x84C1 +#define GL_TEXTURE2_ARB 0x84C2 +#define GL_TEXTURE3_ARB 0x84C3 +#define GL_TEXTURE4_ARB 0x84C4 +#define GL_TEXTURE5_ARB 0x84C5 +#define GL_TEXTURE6_ARB 0x84C6 +#define GL_TEXTURE7_ARB 0x84C7 +#define GL_TEXTURE8_ARB 0x84C8 +#define GL_TEXTURE9_ARB 0x84C9 +#define GL_TEXTURE10_ARB 0x84CA +#define GL_TEXTURE11_ARB 0x84CB +#define GL_TEXTURE12_ARB 0x84CC +#define GL_TEXTURE13_ARB 0x84CD +#define GL_TEXTURE14_ARB 0x84CE +#define GL_TEXTURE15_ARB 0x84CF +#define GL_TEXTURE16_ARB 0x84D0 +#define GL_TEXTURE17_ARB 0x84D1 +#define GL_TEXTURE18_ARB 0x84D2 +#define GL_TEXTURE19_ARB 0x84D3 +#define GL_TEXTURE20_ARB 0x84D4 +#define GL_TEXTURE21_ARB 0x84D5 +#define GL_TEXTURE22_ARB 0x84D6 +#define GL_TEXTURE23_ARB 0x84D7 +#define GL_TEXTURE24_ARB 0x84D8 +#define GL_TEXTURE25_ARB 0x84D9 +#define GL_TEXTURE26_ARB 0x84DA +#define GL_TEXTURE27_ARB 0x84DB +#define GL_TEXTURE28_ARB 0x84DC +#define GL_TEXTURE29_ARB 0x84DD +#define GL_TEXTURE30_ARB 0x84DE +#define GL_TEXTURE31_ARB 0x84DF +#define GL_ACTIVE_TEXTURE_ARB 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 +#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 + +typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); + +#define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB) +#define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB) +#define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB) +#define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB) +#define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB) +#define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB) +#define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB) +#define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB) +#define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB) +#define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB) +#define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB) +#define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB) +#define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB) +#define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB) +#define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB) +#define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB) +#define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB) +#define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB) +#define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB) +#define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB) +#define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB) +#define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB) +#define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB) +#define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB) +#define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB) +#define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB) +#define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB) +#define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB) +#define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB) +#define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB) +#define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB) +#define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB) +#define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB) +#define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB) + +#define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture) + +#endif /* GL_ARB_multitexture */ + +/* ------------------------- GL_ARB_occlusion_query ------------------------ */ + +#ifndef GL_ARB_occlusion_query +#define GL_ARB_occlusion_query 1 + +#define GL_QUERY_COUNTER_BITS_ARB 0x8864 +#define GL_CURRENT_QUERY_ARB 0x8865 +#define GL_QUERY_RESULT_ARB 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 +#define GL_SAMPLES_PASSED_ARB 0x8914 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); + +#define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB) +#define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB) +#define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB) +#define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB) +#define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB) +#define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB) +#define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB) +#define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB) + +#define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query) + +#endif /* GL_ARB_occlusion_query */ + +/* ------------------------ GL_ARB_occlusion_query2 ------------------------ */ + +#ifndef GL_ARB_occlusion_query2 +#define GL_ARB_occlusion_query2 1 + +#define GL_ANY_SAMPLES_PASSED 0x8C2F + +#define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2) + +#endif /* GL_ARB_occlusion_query2 */ + +/* --------------------- GL_ARB_parallel_shader_compile -------------------- */ + +#ifndef GL_ARB_parallel_shader_compile +#define GL_ARB_parallel_shader_compile 1 + +#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0 +#define GL_COMPLETION_STATUS_ARB 0x91B1 + +typedef void (GLAPIENTRY * PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count); + +#define glMaxShaderCompilerThreadsARB GLEW_GET_FUN(__glewMaxShaderCompilerThreadsARB) + +#define GLEW_ARB_parallel_shader_compile GLEW_GET_VAR(__GLEW_ARB_parallel_shader_compile) + +#endif /* GL_ARB_parallel_shader_compile */ + +/* -------------------- GL_ARB_pipeline_statistics_query ------------------- */ + +#ifndef GL_ARB_pipeline_statistics_query +#define GL_ARB_pipeline_statistics_query 1 + +#define GL_VERTICES_SUBMITTED_ARB 0x82EE +#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F + +#define GLEW_ARB_pipeline_statistics_query GLEW_GET_VAR(__GLEW_ARB_pipeline_statistics_query) + +#endif /* GL_ARB_pipeline_statistics_query */ + +/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ + +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 + +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF + +#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object) + +#endif /* GL_ARB_pixel_buffer_object */ + +/* ------------------------ GL_ARB_point_parameters ------------------------ */ + +#ifndef GL_ARB_point_parameters +#define GL_ARB_point_parameters 1 + +#define GL_POINT_SIZE_MIN_ARB 0x8126 +#define GL_POINT_SIZE_MAX_ARB 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat* params); + +#define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB) +#define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB) + +#define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters) + +#endif /* GL_ARB_point_parameters */ + +/* -------------------------- GL_ARB_point_sprite -------------------------- */ + +#ifndef GL_ARB_point_sprite +#define GL_ARB_point_sprite 1 + +#define GL_POINT_SPRITE_ARB 0x8861 +#define GL_COORD_REPLACE_ARB 0x8862 + +#define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite) + +#endif /* GL_ARB_point_sprite */ + +/* ---------------------- GL_ARB_polygon_offset_clamp ---------------------- */ + +#ifndef GL_ARB_polygon_offset_clamp +#define GL_ARB_polygon_offset_clamp 1 + +#define GL_POLYGON_OFFSET_CLAMP 0x8E1B + +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETCLAMPPROC) (GLfloat factor, GLfloat units, GLfloat clamp); + +#define glPolygonOffsetClamp GLEW_GET_FUN(__glewPolygonOffsetClamp) + +#define GLEW_ARB_polygon_offset_clamp GLEW_GET_VAR(__GLEW_ARB_polygon_offset_clamp) + +#endif /* GL_ARB_polygon_offset_clamp */ + +/* ----------------------- GL_ARB_post_depth_coverage ---------------------- */ + +#ifndef GL_ARB_post_depth_coverage +#define GL_ARB_post_depth_coverage 1 + +#define GLEW_ARB_post_depth_coverage GLEW_GET_VAR(__GLEW_ARB_post_depth_coverage) + +#endif /* GL_ARB_post_depth_coverage */ + +/* --------------------- GL_ARB_program_interface_query -------------------- */ + +#ifndef GL_ARB_program_interface_query +#define GL_ARB_program_interface_query 1 + +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_IS_PER_PATCH 0x92E7 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_NAME_LENGTH 0x92F9 +#define GL_TYPE 0x92FA +#define GL_ARRAY_SIZE 0x92FB +#define GL_OFFSET 0x92FC +#define GL_BLOCK_INDEX 0x92FD +#define GL_ARRAY_STRIDE 0x92FE +#define GL_MATRIX_STRIDE 0x92FF +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_LOCATION 0x930E +#define GL_LOCATION_INDEX 0x930F + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint* params); +typedef GLuint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLint *params); + +#define glGetProgramInterfaceiv GLEW_GET_FUN(__glewGetProgramInterfaceiv) +#define glGetProgramResourceIndex GLEW_GET_FUN(__glewGetProgramResourceIndex) +#define glGetProgramResourceLocation GLEW_GET_FUN(__glewGetProgramResourceLocation) +#define glGetProgramResourceLocationIndex GLEW_GET_FUN(__glewGetProgramResourceLocationIndex) +#define glGetProgramResourceName GLEW_GET_FUN(__glewGetProgramResourceName) +#define glGetProgramResourceiv GLEW_GET_FUN(__glewGetProgramResourceiv) + +#define GLEW_ARB_program_interface_query GLEW_GET_VAR(__GLEW_ARB_program_interface_query) + +#endif /* GL_ARB_program_interface_query */ + +/* ------------------------ GL_ARB_provoking_vertex ------------------------ */ + +#ifndef GL_ARB_provoking_vertex +#define GL_ARB_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode); + +#define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex) + +#define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex) + +#endif /* GL_ARB_provoking_vertex */ + +/* ----------------------- GL_ARB_query_buffer_object ---------------------- */ + +#ifndef GL_ARB_query_buffer_object +#define GL_ARB_query_buffer_object 1 + +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 + +#define GLEW_ARB_query_buffer_object GLEW_GET_VAR(__GLEW_ARB_query_buffer_object) + +#endif /* GL_ARB_query_buffer_object */ + +/* ------------------ GL_ARB_robust_buffer_access_behavior ----------------- */ + +#ifndef GL_ARB_robust_buffer_access_behavior +#define GL_ARB_robust_buffer_access_behavior 1 + +#define GLEW_ARB_robust_buffer_access_behavior GLEW_GET_VAR(__GLEW_ARB_robust_buffer_access_behavior) + +#endif /* GL_ARB_robust_buffer_access_behavior */ + +/* --------------------------- GL_ARB_robustness --------------------------- */ + +#ifndef GL_ARB_robustness +#define GL_ARB_robustness 1 + +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 + +typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table); +typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image); +typedef void (GLAPIENTRY * PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint* v); +typedef void (GLAPIENTRY * PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort* values); +typedef void (GLAPIENTRY * PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte* pattern); +typedef void (GLAPIENTRY * PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void*column, void*span); +typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); +typedef void (GLAPIENTRY * PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data); + +#define glGetGraphicsResetStatusARB GLEW_GET_FUN(__glewGetGraphicsResetStatusARB) +#define glGetnColorTableARB GLEW_GET_FUN(__glewGetnColorTableARB) +#define glGetnCompressedTexImageARB GLEW_GET_FUN(__glewGetnCompressedTexImageARB) +#define glGetnConvolutionFilterARB GLEW_GET_FUN(__glewGetnConvolutionFilterARB) +#define glGetnHistogramARB GLEW_GET_FUN(__glewGetnHistogramARB) +#define glGetnMapdvARB GLEW_GET_FUN(__glewGetnMapdvARB) +#define glGetnMapfvARB GLEW_GET_FUN(__glewGetnMapfvARB) +#define glGetnMapivARB GLEW_GET_FUN(__glewGetnMapivARB) +#define glGetnMinmaxARB GLEW_GET_FUN(__glewGetnMinmaxARB) +#define glGetnPixelMapfvARB GLEW_GET_FUN(__glewGetnPixelMapfvARB) +#define glGetnPixelMapuivARB GLEW_GET_FUN(__glewGetnPixelMapuivARB) +#define glGetnPixelMapusvARB GLEW_GET_FUN(__glewGetnPixelMapusvARB) +#define glGetnPolygonStippleARB GLEW_GET_FUN(__glewGetnPolygonStippleARB) +#define glGetnSeparableFilterARB GLEW_GET_FUN(__glewGetnSeparableFilterARB) +#define glGetnTexImageARB GLEW_GET_FUN(__glewGetnTexImageARB) +#define glGetnUniformdvARB GLEW_GET_FUN(__glewGetnUniformdvARB) +#define glGetnUniformfvARB GLEW_GET_FUN(__glewGetnUniformfvARB) +#define glGetnUniformivARB GLEW_GET_FUN(__glewGetnUniformivARB) +#define glGetnUniformuivARB GLEW_GET_FUN(__glewGetnUniformuivARB) +#define glReadnPixelsARB GLEW_GET_FUN(__glewReadnPixelsARB) + +#define GLEW_ARB_robustness GLEW_GET_VAR(__GLEW_ARB_robustness) + +#endif /* GL_ARB_robustness */ + +/* ---------------- GL_ARB_robustness_application_isolation ---------------- */ + +#ifndef GL_ARB_robustness_application_isolation +#define GL_ARB_robustness_application_isolation 1 + +#define GLEW_ARB_robustness_application_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_application_isolation) + +#endif /* GL_ARB_robustness_application_isolation */ + +/* ---------------- GL_ARB_robustness_share_group_isolation ---------------- */ + +#ifndef GL_ARB_robustness_share_group_isolation +#define GL_ARB_robustness_share_group_isolation 1 + +#define GLEW_ARB_robustness_share_group_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_share_group_isolation) + +#endif /* GL_ARB_robustness_share_group_isolation */ + +/* ------------------------ GL_ARB_sample_locations ------------------------ */ + +#ifndef GL_ARB_sample_locations +#define GL_ARB_sample_locations 1 + +#define GL_SAMPLE_LOCATION_ARB 0x8E50 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v); + +#define glFramebufferSampleLocationsfvARB GLEW_GET_FUN(__glewFramebufferSampleLocationsfvARB) +#define glNamedFramebufferSampleLocationsfvARB GLEW_GET_FUN(__glewNamedFramebufferSampleLocationsfvARB) + +#define GLEW_ARB_sample_locations GLEW_GET_VAR(__GLEW_ARB_sample_locations) + +#endif /* GL_ARB_sample_locations */ + +/* ------------------------- GL_ARB_sample_shading ------------------------- */ + +#ifndef GL_ARB_sample_shading +#define GL_ARB_sample_shading 1 + +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 + +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value); + +#define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB) + +#define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading) + +#endif /* GL_ARB_sample_shading */ + +/* ------------------------- GL_ARB_sampler_objects ------------------------ */ + +#ifndef GL_ARB_sampler_objects +#define GL_ARB_sampler_objects 1 + +#define GL_SAMPLER_BINDING 0x8919 + +typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); +typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers); +typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params); + +#define glBindSampler GLEW_GET_FUN(__glewBindSampler) +#define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers) +#define glGenSamplers GLEW_GET_FUN(__glewGenSamplers) +#define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv) +#define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv) +#define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv) +#define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv) +#define glIsSampler GLEW_GET_FUN(__glewIsSampler) +#define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv) +#define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv) +#define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf) +#define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv) +#define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri) +#define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv) + +#define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects) + +#endif /* GL_ARB_sampler_objects */ + +/* ------------------------ GL_ARB_seamless_cube_map ----------------------- */ + +#ifndef GL_ARB_seamless_cube_map +#define GL_ARB_seamless_cube_map 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map) + +#endif /* GL_ARB_seamless_cube_map */ + +/* ------------------ GL_ARB_seamless_cubemap_per_texture ------------------ */ + +#ifndef GL_ARB_seamless_cubemap_per_texture +#define GL_ARB_seamless_cubemap_per_texture 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_ARB_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_ARB_seamless_cubemap_per_texture) + +#endif /* GL_ARB_seamless_cubemap_per_texture */ + +/* --------------------- GL_ARB_separate_shader_objects -------------------- */ + +#ifndef GL_ARB_separate_shader_objects +#define GL_ARB_separate_shader_objects 1 + +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_ALL_SHADER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar * const * strings); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint x, GLuint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); + +#define glActiveShaderProgram GLEW_GET_FUN(__glewActiveShaderProgram) +#define glBindProgramPipeline GLEW_GET_FUN(__glewBindProgramPipeline) +#define glCreateShaderProgramv GLEW_GET_FUN(__glewCreateShaderProgramv) +#define glDeleteProgramPipelines GLEW_GET_FUN(__glewDeleteProgramPipelines) +#define glGenProgramPipelines GLEW_GET_FUN(__glewGenProgramPipelines) +#define glGetProgramPipelineInfoLog GLEW_GET_FUN(__glewGetProgramPipelineInfoLog) +#define glGetProgramPipelineiv GLEW_GET_FUN(__glewGetProgramPipelineiv) +#define glIsProgramPipeline GLEW_GET_FUN(__glewIsProgramPipeline) +#define glProgramUniform1d GLEW_GET_FUN(__glewProgramUniform1d) +#define glProgramUniform1dv GLEW_GET_FUN(__glewProgramUniform1dv) +#define glProgramUniform1f GLEW_GET_FUN(__glewProgramUniform1f) +#define glProgramUniform1fv GLEW_GET_FUN(__glewProgramUniform1fv) +#define glProgramUniform1i GLEW_GET_FUN(__glewProgramUniform1i) +#define glProgramUniform1iv GLEW_GET_FUN(__glewProgramUniform1iv) +#define glProgramUniform1ui GLEW_GET_FUN(__glewProgramUniform1ui) +#define glProgramUniform1uiv GLEW_GET_FUN(__glewProgramUniform1uiv) +#define glProgramUniform2d GLEW_GET_FUN(__glewProgramUniform2d) +#define glProgramUniform2dv GLEW_GET_FUN(__glewProgramUniform2dv) +#define glProgramUniform2f GLEW_GET_FUN(__glewProgramUniform2f) +#define glProgramUniform2fv GLEW_GET_FUN(__glewProgramUniform2fv) +#define glProgramUniform2i GLEW_GET_FUN(__glewProgramUniform2i) +#define glProgramUniform2iv GLEW_GET_FUN(__glewProgramUniform2iv) +#define glProgramUniform2ui GLEW_GET_FUN(__glewProgramUniform2ui) +#define glProgramUniform2uiv GLEW_GET_FUN(__glewProgramUniform2uiv) +#define glProgramUniform3d GLEW_GET_FUN(__glewProgramUniform3d) +#define glProgramUniform3dv GLEW_GET_FUN(__glewProgramUniform3dv) +#define glProgramUniform3f GLEW_GET_FUN(__glewProgramUniform3f) +#define glProgramUniform3fv GLEW_GET_FUN(__glewProgramUniform3fv) +#define glProgramUniform3i GLEW_GET_FUN(__glewProgramUniform3i) +#define glProgramUniform3iv GLEW_GET_FUN(__glewProgramUniform3iv) +#define glProgramUniform3ui GLEW_GET_FUN(__glewProgramUniform3ui) +#define glProgramUniform3uiv GLEW_GET_FUN(__glewProgramUniform3uiv) +#define glProgramUniform4d GLEW_GET_FUN(__glewProgramUniform4d) +#define glProgramUniform4dv GLEW_GET_FUN(__glewProgramUniform4dv) +#define glProgramUniform4f GLEW_GET_FUN(__glewProgramUniform4f) +#define glProgramUniform4fv GLEW_GET_FUN(__glewProgramUniform4fv) +#define glProgramUniform4i GLEW_GET_FUN(__glewProgramUniform4i) +#define glProgramUniform4iv GLEW_GET_FUN(__glewProgramUniform4iv) +#define glProgramUniform4ui GLEW_GET_FUN(__glewProgramUniform4ui) +#define glProgramUniform4uiv GLEW_GET_FUN(__glewProgramUniform4uiv) +#define glProgramUniformMatrix2dv GLEW_GET_FUN(__glewProgramUniformMatrix2dv) +#define glProgramUniformMatrix2fv GLEW_GET_FUN(__glewProgramUniformMatrix2fv) +#define glProgramUniformMatrix2x3dv GLEW_GET_FUN(__glewProgramUniformMatrix2x3dv) +#define glProgramUniformMatrix2x3fv GLEW_GET_FUN(__glewProgramUniformMatrix2x3fv) +#define glProgramUniformMatrix2x4dv GLEW_GET_FUN(__glewProgramUniformMatrix2x4dv) +#define glProgramUniformMatrix2x4fv GLEW_GET_FUN(__glewProgramUniformMatrix2x4fv) +#define glProgramUniformMatrix3dv GLEW_GET_FUN(__glewProgramUniformMatrix3dv) +#define glProgramUniformMatrix3fv GLEW_GET_FUN(__glewProgramUniformMatrix3fv) +#define glProgramUniformMatrix3x2dv GLEW_GET_FUN(__glewProgramUniformMatrix3x2dv) +#define glProgramUniformMatrix3x2fv GLEW_GET_FUN(__glewProgramUniformMatrix3x2fv) +#define glProgramUniformMatrix3x4dv GLEW_GET_FUN(__glewProgramUniformMatrix3x4dv) +#define glProgramUniformMatrix3x4fv GLEW_GET_FUN(__glewProgramUniformMatrix3x4fv) +#define glProgramUniformMatrix4dv GLEW_GET_FUN(__glewProgramUniformMatrix4dv) +#define glProgramUniformMatrix4fv GLEW_GET_FUN(__glewProgramUniformMatrix4fv) +#define glProgramUniformMatrix4x2dv GLEW_GET_FUN(__glewProgramUniformMatrix4x2dv) +#define glProgramUniformMatrix4x2fv GLEW_GET_FUN(__glewProgramUniformMatrix4x2fv) +#define glProgramUniformMatrix4x3dv GLEW_GET_FUN(__glewProgramUniformMatrix4x3dv) +#define glProgramUniformMatrix4x3fv GLEW_GET_FUN(__glewProgramUniformMatrix4x3fv) +#define glUseProgramStages GLEW_GET_FUN(__glewUseProgramStages) +#define glValidateProgramPipeline GLEW_GET_FUN(__glewValidateProgramPipeline) + +#define GLEW_ARB_separate_shader_objects GLEW_GET_VAR(__GLEW_ARB_separate_shader_objects) + +#endif /* GL_ARB_separate_shader_objects */ + +/* -------------------- GL_ARB_shader_atomic_counter_ops ------------------- */ + +#ifndef GL_ARB_shader_atomic_counter_ops +#define GL_ARB_shader_atomic_counter_ops 1 + +#define GLEW_ARB_shader_atomic_counter_ops GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counter_ops) + +#endif /* GL_ARB_shader_atomic_counter_ops */ + +/* --------------------- GL_ARB_shader_atomic_counters --------------------- */ + +#ifndef GL_ARB_shader_atomic_counters +#define GL_ARB_shader_atomic_counters 1 + +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC + +typedef void (GLAPIENTRY * PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params); + +#define glGetActiveAtomicCounterBufferiv GLEW_GET_FUN(__glewGetActiveAtomicCounterBufferiv) + +#define GLEW_ARB_shader_atomic_counters GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counters) + +#endif /* GL_ARB_shader_atomic_counters */ + +/* -------------------------- GL_ARB_shader_ballot ------------------------- */ + +#ifndef GL_ARB_shader_ballot +#define GL_ARB_shader_ballot 1 + +#define GLEW_ARB_shader_ballot GLEW_GET_VAR(__GLEW_ARB_shader_ballot) + +#endif /* GL_ARB_shader_ballot */ + +/* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */ + +#ifndef GL_ARB_shader_bit_encoding +#define GL_ARB_shader_bit_encoding 1 + +#define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding) + +#endif /* GL_ARB_shader_bit_encoding */ + +/* -------------------------- GL_ARB_shader_clock -------------------------- */ + +#ifndef GL_ARB_shader_clock +#define GL_ARB_shader_clock 1 + +#define GLEW_ARB_shader_clock GLEW_GET_VAR(__GLEW_ARB_shader_clock) + +#endif /* GL_ARB_shader_clock */ + +/* --------------------- GL_ARB_shader_draw_parameters --------------------- */ + +#ifndef GL_ARB_shader_draw_parameters +#define GL_ARB_shader_draw_parameters 1 + +#define GLEW_ARB_shader_draw_parameters GLEW_GET_VAR(__GLEW_ARB_shader_draw_parameters) + +#endif /* GL_ARB_shader_draw_parameters */ + +/* ------------------------ GL_ARB_shader_group_vote ----------------------- */ + +#ifndef GL_ARB_shader_group_vote +#define GL_ARB_shader_group_vote 1 + +#define GLEW_ARB_shader_group_vote GLEW_GET_VAR(__GLEW_ARB_shader_group_vote) + +#endif /* GL_ARB_shader_group_vote */ + +/* --------------------- GL_ARB_shader_image_load_store -------------------- */ + +#ifndef GL_ARB_shader_image_load_store +#define GL_ARB_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); + +#define glBindImageTexture GLEW_GET_FUN(__glewBindImageTexture) +#define glMemoryBarrier GLEW_GET_FUN(__glewMemoryBarrier) + +#define GLEW_ARB_shader_image_load_store GLEW_GET_VAR(__GLEW_ARB_shader_image_load_store) + +#endif /* GL_ARB_shader_image_load_store */ + +/* ------------------------ GL_ARB_shader_image_size ----------------------- */ + +#ifndef GL_ARB_shader_image_size +#define GL_ARB_shader_image_size 1 + +#define GLEW_ARB_shader_image_size GLEW_GET_VAR(__GLEW_ARB_shader_image_size) + +#endif /* GL_ARB_shader_image_size */ + +/* ------------------------- GL_ARB_shader_objects ------------------------- */ + +#ifndef GL_ARB_shader_objects +#define GL_ARB_shader_objects 1 + +#define GL_PROGRAM_OBJECT_ARB 0x8B40 +#define GL_SHADER_OBJECT_ARB 0x8B48 +#define GL_OBJECT_TYPE_ARB 0x8B4E +#define GL_OBJECT_SUBTYPE_ARB 0x8B4F +#define GL_FLOAT_VEC2_ARB 0x8B50 +#define GL_FLOAT_VEC3_ARB 0x8B51 +#define GL_FLOAT_VEC4_ARB 0x8B52 +#define GL_INT_VEC2_ARB 0x8B53 +#define GL_INT_VEC3_ARB 0x8B54 +#define GL_INT_VEC4_ARB 0x8B55 +#define GL_BOOL_ARB 0x8B56 +#define GL_BOOL_VEC2_ARB 0x8B57 +#define GL_BOOL_VEC3_ARB 0x8B58 +#define GL_BOOL_VEC4_ARB 0x8B59 +#define GL_FLOAT_MAT2_ARB 0x8B5A +#define GL_FLOAT_MAT3_ARB 0x8B5B +#define GL_FLOAT_MAT4_ARB 0x8B5C +#define GL_SAMPLER_1D_ARB 0x8B5D +#define GL_SAMPLER_2D_ARB 0x8B5E +#define GL_SAMPLER_3D_ARB 0x8B5F +#define GL_SAMPLER_CUBE_ARB 0x8B60 +#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 +#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 +#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 +#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 +#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 +#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 +#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 +#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 +#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 +#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 +#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 + +typedef char GLcharARB; +typedef unsigned int GLhandleARB; + +typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); +typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void); +typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); +typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); +typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); +typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj); +typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname); +typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source); +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params); +typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); +typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); + +#define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB) +#define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB) +#define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB) +#define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB) +#define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB) +#define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB) +#define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB) +#define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB) +#define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB) +#define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB) +#define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB) +#define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB) +#define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB) +#define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB) +#define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB) +#define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB) +#define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB) +#define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB) +#define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB) +#define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB) +#define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB) +#define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB) +#define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB) +#define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB) +#define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB) +#define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB) +#define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB) +#define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB) +#define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB) +#define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB) +#define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB) +#define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB) +#define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB) +#define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB) +#define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB) +#define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB) +#define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB) +#define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB) +#define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB) + +#define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects) + +#endif /* GL_ARB_shader_objects */ + +/* ------------------------ GL_ARB_shader_precision ------------------------ */ + +#ifndef GL_ARB_shader_precision +#define GL_ARB_shader_precision 1 + +#define GLEW_ARB_shader_precision GLEW_GET_VAR(__GLEW_ARB_shader_precision) + +#endif /* GL_ARB_shader_precision */ + +/* ---------------------- GL_ARB_shader_stencil_export --------------------- */ + +#ifndef GL_ARB_shader_stencil_export +#define GL_ARB_shader_stencil_export 1 + +#define GLEW_ARB_shader_stencil_export GLEW_GET_VAR(__GLEW_ARB_shader_stencil_export) + +#endif /* GL_ARB_shader_stencil_export */ + +/* ------------------ GL_ARB_shader_storage_buffer_object ------------------ */ + +#ifndef GL_ARB_shader_storage_buffer_object +#define GL_ARB_shader_storage_buffer_object 1 + +#define GL_SHADER_STORAGE_BARRIER_BIT 0x2000 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF + +typedef void (GLAPIENTRY * PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); + +#define glShaderStorageBlockBinding GLEW_GET_FUN(__glewShaderStorageBlockBinding) + +#define GLEW_ARB_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_ARB_shader_storage_buffer_object) + +#endif /* GL_ARB_shader_storage_buffer_object */ + +/* ------------------------ GL_ARB_shader_subroutine ----------------------- */ + +#ifndef GL_ARB_shader_subroutine +#define GL_ARB_shader_subroutine 1 + +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B + +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values); +typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params); +typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices); + +#define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName) +#define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName) +#define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv) +#define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv) +#define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex) +#define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation) +#define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv) +#define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv) + +#define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine) + +#endif /* GL_ARB_shader_subroutine */ + +/* ------------------ GL_ARB_shader_texture_image_samples ------------------ */ + +#ifndef GL_ARB_shader_texture_image_samples +#define GL_ARB_shader_texture_image_samples 1 + +#define GLEW_ARB_shader_texture_image_samples GLEW_GET_VAR(__GLEW_ARB_shader_texture_image_samples) + +#endif /* GL_ARB_shader_texture_image_samples */ + +/* ----------------------- GL_ARB_shader_texture_lod ----------------------- */ + +#ifndef GL_ARB_shader_texture_lod +#define GL_ARB_shader_texture_lod 1 + +#define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod) + +#endif /* GL_ARB_shader_texture_lod */ + +/* ------------------- GL_ARB_shader_viewport_layer_array ------------------ */ + +#ifndef GL_ARB_shader_viewport_layer_array +#define GL_ARB_shader_viewport_layer_array 1 + +#define GLEW_ARB_shader_viewport_layer_array GLEW_GET_VAR(__GLEW_ARB_shader_viewport_layer_array) + +#endif /* GL_ARB_shader_viewport_layer_array */ + +/* ---------------------- GL_ARB_shading_language_100 ---------------------- */ + +#ifndef GL_ARB_shading_language_100 +#define GL_ARB_shading_language_100 1 + +#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C + +#define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100) + +#endif /* GL_ARB_shading_language_100 */ + +/* -------------------- GL_ARB_shading_language_420pack -------------------- */ + +#ifndef GL_ARB_shading_language_420pack +#define GL_ARB_shading_language_420pack 1 + +#define GLEW_ARB_shading_language_420pack GLEW_GET_VAR(__GLEW_ARB_shading_language_420pack) + +#endif /* GL_ARB_shading_language_420pack */ + +/* -------------------- GL_ARB_shading_language_include -------------------- */ + +#ifndef GL_ARB_shading_language_include +#define GL_ARB_shading_language_include 1 + +#define GL_SHADER_INCLUDE_ARB 0x8DAE +#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 +#define GL_NAMED_STRING_TYPE_ARB 0x8DEA + +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* const *path, const GLint *length); +typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name, GLsizei bufSize, GLint *stringlen, GLchar *string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar* name, GLenum pname, GLint *params); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar *string); + +#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB) +#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB) +#define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB) +#define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB) +#define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB) +#define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB) + +#define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include) + +#endif /* GL_ARB_shading_language_include */ + +/* -------------------- GL_ARB_shading_language_packing -------------------- */ + +#ifndef GL_ARB_shading_language_packing +#define GL_ARB_shading_language_packing 1 + +#define GLEW_ARB_shading_language_packing GLEW_GET_VAR(__GLEW_ARB_shading_language_packing) + +#endif /* GL_ARB_shading_language_packing */ + +/* ----------------------------- GL_ARB_shadow ----------------------------- */ + +#ifndef GL_ARB_shadow +#define GL_ARB_shadow 1 + +#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C +#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D +#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E + +#define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow) + +#endif /* GL_ARB_shadow */ + +/* ------------------------- GL_ARB_shadow_ambient ------------------------- */ + +#ifndef GL_ARB_shadow_ambient +#define GL_ARB_shadow_ambient 1 + +#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF + +#define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient) + +#endif /* GL_ARB_shadow_ambient */ + +/* -------------------------- GL_ARB_sparse_buffer ------------------------- */ + +#ifndef GL_ARB_sparse_buffer +#define GL_ARB_sparse_buffer 1 + +#define GL_SPARSE_STORAGE_BIT_ARB 0x0400 +#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8 + +typedef void (GLAPIENTRY * PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); + +#define glBufferPageCommitmentARB GLEW_GET_FUN(__glewBufferPageCommitmentARB) + +#define GLEW_ARB_sparse_buffer GLEW_GET_VAR(__GLEW_ARB_sparse_buffer) + +#endif /* GL_ARB_sparse_buffer */ + +/* ------------------------- GL_ARB_sparse_texture ------------------------- */ + +#ifndef GL_ARB_sparse_texture +#define GL_ARB_sparse_texture 1 + +#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A +#define GL_TEXTURE_SPARSE_ARB 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 +#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 +#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA + +typedef void (GLAPIENTRY * PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); + +#define glTexPageCommitmentARB GLEW_GET_FUN(__glewTexPageCommitmentARB) + +#define GLEW_ARB_sparse_texture GLEW_GET_VAR(__GLEW_ARB_sparse_texture) + +#endif /* GL_ARB_sparse_texture */ + +/* ------------------------- GL_ARB_sparse_texture2 ------------------------ */ + +#ifndef GL_ARB_sparse_texture2 +#define GL_ARB_sparse_texture2 1 + +#define GLEW_ARB_sparse_texture2 GLEW_GET_VAR(__GLEW_ARB_sparse_texture2) + +#endif /* GL_ARB_sparse_texture2 */ + +/* ---------------------- GL_ARB_sparse_texture_clamp ---------------------- */ + +#ifndef GL_ARB_sparse_texture_clamp +#define GL_ARB_sparse_texture_clamp 1 + +#define GLEW_ARB_sparse_texture_clamp GLEW_GET_VAR(__GLEW_ARB_sparse_texture_clamp) + +#endif /* GL_ARB_sparse_texture_clamp */ + +/* ------------------------ GL_ARB_spirv_extensions ------------------------ */ + +#ifndef GL_ARB_spirv_extensions +#define GL_ARB_spirv_extensions 1 + +#define GL_SPIR_V_EXTENSIONS 0x9553 +#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 + +#define GLEW_ARB_spirv_extensions GLEW_GET_VAR(__GLEW_ARB_spirv_extensions) + +#endif /* GL_ARB_spirv_extensions */ + +/* ------------------------ GL_ARB_stencil_texturing ----------------------- */ + +#ifndef GL_ARB_stencil_texturing +#define GL_ARB_stencil_texturing 1 + +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA + +#define GLEW_ARB_stencil_texturing GLEW_GET_VAR(__GLEW_ARB_stencil_texturing) + +#endif /* GL_ARB_stencil_texturing */ + +/* ------------------------------ GL_ARB_sync ------------------------------ */ + +#ifndef GL_ARB_sync +#define GL_ARB_sync 1 + +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull + +typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); +typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync); +typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values); +typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync); +typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); + +#define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync) +#define glDeleteSync GLEW_GET_FUN(__glewDeleteSync) +#define glFenceSync GLEW_GET_FUN(__glewFenceSync) +#define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v) +#define glGetSynciv GLEW_GET_FUN(__glewGetSynciv) +#define glIsSync GLEW_GET_FUN(__glewIsSync) +#define glWaitSync GLEW_GET_FUN(__glewWaitSync) + +#define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync) + +#endif /* GL_ARB_sync */ + +/* ----------------------- GL_ARB_tessellation_shader ---------------------- */ + +#ifndef GL_ARB_tessellation_shader +#define GL_ARB_tessellation_shader 1 + +#define GL_PATCHES 0xE +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A + +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values); +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); + +#define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv) +#define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri) + +#define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader) + +#endif /* GL_ARB_tessellation_shader */ + +/* ------------------------- GL_ARB_texture_barrier ------------------------ */ + +#ifndef GL_ARB_texture_barrier +#define GL_ARB_texture_barrier 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERPROC) (void); + +#define glTextureBarrier GLEW_GET_FUN(__glewTextureBarrier) + +#define GLEW_ARB_texture_barrier GLEW_GET_VAR(__GLEW_ARB_texture_barrier) + +#endif /* GL_ARB_texture_barrier */ + +/* ---------------------- GL_ARB_texture_border_clamp ---------------------- */ + +#ifndef GL_ARB_texture_border_clamp +#define GL_ARB_texture_border_clamp 1 + +#define GL_CLAMP_TO_BORDER_ARB 0x812D + +#define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp) + +#endif /* GL_ARB_texture_border_clamp */ + +/* ---------------------- GL_ARB_texture_buffer_object --------------------- */ + +#ifndef GL_ARB_texture_buffer_object +#define GL_ARB_texture_buffer_object 1 + +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E + +typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); + +#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB) + +#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object) + +#endif /* GL_ARB_texture_buffer_object */ + +/* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */ + +#ifndef GL_ARB_texture_buffer_object_rgb32 +#define GL_ARB_texture_buffer_object_rgb32 1 + +#define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32) + +#endif /* GL_ARB_texture_buffer_object_rgb32 */ + +/* ---------------------- GL_ARB_texture_buffer_range ---------------------- */ + +#ifndef GL_ARB_texture_buffer_range +#define GL_ARB_texture_buffer_range 1 + +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F + +typedef void (GLAPIENTRY * PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); + +#define glTexBufferRange GLEW_GET_FUN(__glewTexBufferRange) +#define glTextureBufferRangeEXT GLEW_GET_FUN(__glewTextureBufferRangeEXT) + +#define GLEW_ARB_texture_buffer_range GLEW_GET_VAR(__GLEW_ARB_texture_buffer_range) + +#endif /* GL_ARB_texture_buffer_range */ + +/* ----------------------- GL_ARB_texture_compression ---------------------- */ + +#ifndef GL_ARB_texture_compression +#define GL_ARB_texture_compression 1 + +#define GL_COMPRESSED_ALPHA_ARB 0x84E9 +#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB +#define GL_COMPRESSED_INTENSITY_ARB 0x84EC +#define GL_COMPRESSED_RGB_ARB 0x84ED +#define GL_COMPRESSED_RGBA_ARB 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 +#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 + +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void *img); + +#define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB) +#define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB) +#define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB) +#define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB) +#define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB) +#define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB) +#define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB) + +#define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression) + +#endif /* GL_ARB_texture_compression */ + +/* -------------------- GL_ARB_texture_compression_bptc -------------------- */ + +#ifndef GL_ARB_texture_compression_bptc +#define GL_ARB_texture_compression_bptc 1 + +#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F + +#define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc) + +#endif /* GL_ARB_texture_compression_bptc */ + +/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */ + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_ARB_texture_compression_rgtc 1 + +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE + +#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc) + +#endif /* GL_ARB_texture_compression_rgtc */ + +/* ------------------------ GL_ARB_texture_cube_map ------------------------ */ + +#ifndef GL_ARB_texture_cube_map +#define GL_ARB_texture_cube_map 1 + +#define GL_NORMAL_MAP_ARB 0x8511 +#define GL_REFLECTION_MAP_ARB 0x8512 +#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C + +#define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map) + +#endif /* GL_ARB_texture_cube_map */ + +/* --------------------- GL_ARB_texture_cube_map_array --------------------- */ + +#ifndef GL_ARB_texture_cube_map_array +#define GL_ARB_texture_cube_map_array 1 + +#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F + +#define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array) + +#endif /* GL_ARB_texture_cube_map_array */ + +/* ------------------------- GL_ARB_texture_env_add ------------------------ */ + +#ifndef GL_ARB_texture_env_add +#define GL_ARB_texture_env_add 1 + +#define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add) + +#endif /* GL_ARB_texture_env_add */ + +/* ----------------------- GL_ARB_texture_env_combine ---------------------- */ + +#ifndef GL_ARB_texture_env_combine +#define GL_ARB_texture_env_combine 1 + +#define GL_SUBTRACT_ARB 0x84E7 +#define GL_COMBINE_ARB 0x8570 +#define GL_COMBINE_RGB_ARB 0x8571 +#define GL_COMBINE_ALPHA_ARB 0x8572 +#define GL_RGB_SCALE_ARB 0x8573 +#define GL_ADD_SIGNED_ARB 0x8574 +#define GL_INTERPOLATE_ARB 0x8575 +#define GL_CONSTANT_ARB 0x8576 +#define GL_PRIMARY_COLOR_ARB 0x8577 +#define GL_PREVIOUS_ARB 0x8578 +#define GL_SOURCE0_RGB_ARB 0x8580 +#define GL_SOURCE1_RGB_ARB 0x8581 +#define GL_SOURCE2_RGB_ARB 0x8582 +#define GL_SOURCE0_ALPHA_ARB 0x8588 +#define GL_SOURCE1_ALPHA_ARB 0x8589 +#define GL_SOURCE2_ALPHA_ARB 0x858A +#define GL_OPERAND0_RGB_ARB 0x8590 +#define GL_OPERAND1_RGB_ARB 0x8591 +#define GL_OPERAND2_RGB_ARB 0x8592 +#define GL_OPERAND0_ALPHA_ARB 0x8598 +#define GL_OPERAND1_ALPHA_ARB 0x8599 +#define GL_OPERAND2_ALPHA_ARB 0x859A + +#define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine) + +#endif /* GL_ARB_texture_env_combine */ + +/* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */ + +#ifndef GL_ARB_texture_env_crossbar +#define GL_ARB_texture_env_crossbar 1 + +#define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar) + +#endif /* GL_ARB_texture_env_crossbar */ + +/* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */ + +#ifndef GL_ARB_texture_env_dot3 +#define GL_ARB_texture_env_dot3 1 + +#define GL_DOT3_RGB_ARB 0x86AE +#define GL_DOT3_RGBA_ARB 0x86AF + +#define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3) + +#endif /* GL_ARB_texture_env_dot3 */ + +/* ------------------- GL_ARB_texture_filter_anisotropic ------------------- */ + +#ifndef GL_ARB_texture_filter_anisotropic +#define GL_ARB_texture_filter_anisotropic 1 + +#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF + +#define GLEW_ARB_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_ARB_texture_filter_anisotropic) + +#endif /* GL_ARB_texture_filter_anisotropic */ + +/* ---------------------- GL_ARB_texture_filter_minmax --------------------- */ + +#ifndef GL_ARB_texture_filter_minmax +#define GL_ARB_texture_filter_minmax 1 + +#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366 +#define GL_WEIGHTED_AVERAGE_ARB 0x9367 + +#define GLEW_ARB_texture_filter_minmax GLEW_GET_VAR(__GLEW_ARB_texture_filter_minmax) + +#endif /* GL_ARB_texture_filter_minmax */ + +/* -------------------------- GL_ARB_texture_float ------------------------- */ + +#ifndef GL_ARB_texture_float +#define GL_ARB_texture_float 1 + +#define GL_RGBA32F_ARB 0x8814 +#define GL_RGB32F_ARB 0x8815 +#define GL_ALPHA32F_ARB 0x8816 +#define GL_INTENSITY32F_ARB 0x8817 +#define GL_LUMINANCE32F_ARB 0x8818 +#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 +#define GL_RGBA16F_ARB 0x881A +#define GL_RGB16F_ARB 0x881B +#define GL_ALPHA16F_ARB 0x881C +#define GL_INTENSITY16F_ARB 0x881D +#define GL_LUMINANCE16F_ARB 0x881E +#define GL_LUMINANCE_ALPHA16F_ARB 0x881F +#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 +#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 +#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 +#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 + +#define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float) + +#endif /* GL_ARB_texture_float */ + +/* ------------------------- GL_ARB_texture_gather ------------------------- */ + +#ifndef GL_ARB_texture_gather +#define GL_ARB_texture_gather 1 + +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F + +#define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather) + +#endif /* GL_ARB_texture_gather */ + +/* ------------------ GL_ARB_texture_mirror_clamp_to_edge ------------------ */ + +#ifndef GL_ARB_texture_mirror_clamp_to_edge +#define GL_ARB_texture_mirror_clamp_to_edge 1 + +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 + +#define GLEW_ARB_texture_mirror_clamp_to_edge GLEW_GET_VAR(__GLEW_ARB_texture_mirror_clamp_to_edge) + +#endif /* GL_ARB_texture_mirror_clamp_to_edge */ + +/* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */ + +#ifndef GL_ARB_texture_mirrored_repeat +#define GL_ARB_texture_mirrored_repeat 1 + +#define GL_MIRRORED_REPEAT_ARB 0x8370 + +#define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat) + +#endif /* GL_ARB_texture_mirrored_repeat */ + +/* ----------------------- GL_ARB_texture_multisample ---------------------- */ + +#ifndef GL_ARB_texture_multisample +#define GL_ARB_texture_multisample 1 + +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); + +#define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv) +#define glSampleMaski GLEW_GET_FUN(__glewSampleMaski) +#define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample) +#define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample) + +#define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample) + +#endif /* GL_ARB_texture_multisample */ + +/* -------------------- GL_ARB_texture_non_power_of_two -------------------- */ + +#ifndef GL_ARB_texture_non_power_of_two +#define GL_ARB_texture_non_power_of_two 1 + +#define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two) + +#endif /* GL_ARB_texture_non_power_of_two */ + +/* ---------------------- GL_ARB_texture_query_levels ---------------------- */ + +#ifndef GL_ARB_texture_query_levels +#define GL_ARB_texture_query_levels 1 + +#define GLEW_ARB_texture_query_levels GLEW_GET_VAR(__GLEW_ARB_texture_query_levels) + +#endif /* GL_ARB_texture_query_levels */ + +/* ------------------------ GL_ARB_texture_query_lod ----------------------- */ + +#ifndef GL_ARB_texture_query_lod +#define GL_ARB_texture_query_lod 1 + +#define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod) + +#endif /* GL_ARB_texture_query_lod */ + +/* ------------------------ GL_ARB_texture_rectangle ----------------------- */ + +#ifndef GL_ARB_texture_rectangle +#define GL_ARB_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 + +#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle) + +#endif /* GL_ARB_texture_rectangle */ + +/* --------------------------- GL_ARB_texture_rg --------------------------- */ + +#ifndef GL_ARB_texture_rg +#define GL_ARB_texture_rg 1 + +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C + +#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg) + +#endif /* GL_ARB_texture_rg */ + +/* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */ + +#ifndef GL_ARB_texture_rgb10_a2ui +#define GL_ARB_texture_rgb10_a2ui 1 + +#define GL_RGB10_A2UI 0x906F + +#define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui) + +#endif /* GL_ARB_texture_rgb10_a2ui */ + +/* ------------------------ GL_ARB_texture_stencil8 ------------------------ */ + +#ifndef GL_ARB_texture_stencil8 +#define GL_ARB_texture_stencil8 1 + +#define GL_STENCIL_INDEX 0x1901 +#define GL_STENCIL_INDEX8 0x8D48 + +#define GLEW_ARB_texture_stencil8 GLEW_GET_VAR(__GLEW_ARB_texture_stencil8) + +#endif /* GL_ARB_texture_stencil8 */ + +/* ------------------------- GL_ARB_texture_storage ------------------------ */ + +#ifndef GL_ARB_texture_storage +#define GL_ARB_texture_storage 1 + +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + +#define glTexStorage1D GLEW_GET_FUN(__glewTexStorage1D) +#define glTexStorage2D GLEW_GET_FUN(__glewTexStorage2D) +#define glTexStorage3D GLEW_GET_FUN(__glewTexStorage3D) + +#define GLEW_ARB_texture_storage GLEW_GET_VAR(__GLEW_ARB_texture_storage) + +#endif /* GL_ARB_texture_storage */ + +/* ------------------- GL_ARB_texture_storage_multisample ------------------ */ + +#ifndef GL_ARB_texture_storage_multisample +#define GL_ARB_texture_storage_multisample 1 + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); + +#define glTexStorage2DMultisample GLEW_GET_FUN(__glewTexStorage2DMultisample) +#define glTexStorage3DMultisample GLEW_GET_FUN(__glewTexStorage3DMultisample) +#define glTextureStorage2DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage2DMultisampleEXT) +#define glTextureStorage3DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage3DMultisampleEXT) + +#define GLEW_ARB_texture_storage_multisample GLEW_GET_VAR(__GLEW_ARB_texture_storage_multisample) + +#endif /* GL_ARB_texture_storage_multisample */ + +/* ------------------------- GL_ARB_texture_swizzle ------------------------ */ + +#ifndef GL_ARB_texture_swizzle +#define GL_ARB_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 + +#define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle) + +#endif /* GL_ARB_texture_swizzle */ + +/* -------------------------- GL_ARB_texture_view -------------------------- */ + +#ifndef GL_ARB_texture_view +#define GL_ARB_texture_view 1 + +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF + +typedef void (GLAPIENTRY * PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); + +#define glTextureView GLEW_GET_FUN(__glewTextureView) + +#define GLEW_ARB_texture_view GLEW_GET_VAR(__GLEW_ARB_texture_view) + +#endif /* GL_ARB_texture_view */ + +/* --------------------------- GL_ARB_timer_query -------------------------- */ + +#ifndef GL_ARB_timer_query +#define GL_ARB_timer_query 1 + +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 + +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); + +#define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v) +#define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v) +#define glQueryCounter GLEW_GET_FUN(__glewQueryCounter) + +#define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query) + +#endif /* GL_ARB_timer_query */ + +/* ----------------------- GL_ARB_transform_feedback2 ---------------------- */ + +#ifndef GL_ARB_transform_feedback2 +#define GL_ARB_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); + +#define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback) +#define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks) +#define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback) +#define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks) +#define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback) +#define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback) +#define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback) + +#define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2) + +#endif /* GL_ARB_transform_feedback2 */ + +/* ----------------------- GL_ARB_transform_feedback3 ---------------------- */ + +#ifndef GL_ARB_transform_feedback3 +#define GL_ARB_transform_feedback3 1 + +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); +typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); + +#define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed) +#define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream) +#define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed) +#define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv) + +#define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3) + +#endif /* GL_ARB_transform_feedback3 */ + +/* ------------------ GL_ARB_transform_feedback_instanced ------------------ */ + +#ifndef GL_ARB_transform_feedback_instanced +#define GL_ARB_transform_feedback_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount); + +#define glDrawTransformFeedbackInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackInstanced) +#define glDrawTransformFeedbackStreamInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackStreamInstanced) + +#define GLEW_ARB_transform_feedback_instanced GLEW_GET_VAR(__GLEW_ARB_transform_feedback_instanced) + +#endif /* GL_ARB_transform_feedback_instanced */ + +/* ---------------- GL_ARB_transform_feedback_overflow_query --------------- */ + +#ifndef GL_ARB_transform_feedback_overflow_query +#define GL_ARB_transform_feedback_overflow_query 1 + +#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED + +#define GLEW_ARB_transform_feedback_overflow_query GLEW_GET_VAR(__GLEW_ARB_transform_feedback_overflow_query) + +#endif /* GL_ARB_transform_feedback_overflow_query */ + +/* ------------------------ GL_ARB_transpose_matrix ------------------------ */ + +#ifndef GL_ARB_transpose_matrix +#define GL_ARB_transpose_matrix 1 + +#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 + +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); + +#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB) +#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB) +#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB) +#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB) + +#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix) + +#endif /* GL_ARB_transpose_matrix */ + +/* ---------------------- GL_ARB_uniform_buffer_object --------------------- */ + +#ifndef GL_ARB_uniform_buffer_object +#define GL_ARB_uniform_buffer_object 1 + +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFFu + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data); +typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* const * uniformNames, GLuint* uniformIndices); +typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); + +#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase) +#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange) +#define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName) +#define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv) +#define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName) +#define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv) +#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v) +#define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex) +#define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices) +#define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding) + +#define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object) + +#endif /* GL_ARB_uniform_buffer_object */ + +/* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */ + +#ifndef GL_ARB_vertex_array_bgra +#define GL_ARB_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra) + +#endif /* GL_ARB_vertex_array_bgra */ + +/* ----------------------- GL_ARB_vertex_array_object ---------------------- */ + +#ifndef GL_ARB_vertex_array_object +#define GL_ARB_vertex_array_object 1 + +#define GL_VERTEX_ARRAY_BINDING 0x85B5 + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array); + +#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray) +#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays) +#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays) +#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray) + +#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object) + +#endif /* GL_ARB_vertex_array_object */ + +/* ----------------------- GL_ARB_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_ARB_vertex_attrib_64bit +#define GL_ARB_vertex_attrib_64bit 1 + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); + +#define glGetVertexAttribLdv GLEW_GET_FUN(__glewGetVertexAttribLdv) +#define glVertexAttribL1d GLEW_GET_FUN(__glewVertexAttribL1d) +#define glVertexAttribL1dv GLEW_GET_FUN(__glewVertexAttribL1dv) +#define glVertexAttribL2d GLEW_GET_FUN(__glewVertexAttribL2d) +#define glVertexAttribL2dv GLEW_GET_FUN(__glewVertexAttribL2dv) +#define glVertexAttribL3d GLEW_GET_FUN(__glewVertexAttribL3d) +#define glVertexAttribL3dv GLEW_GET_FUN(__glewVertexAttribL3dv) +#define glVertexAttribL4d GLEW_GET_FUN(__glewVertexAttribL4d) +#define glVertexAttribL4dv GLEW_GET_FUN(__glewVertexAttribL4dv) +#define glVertexAttribLPointer GLEW_GET_FUN(__glewVertexAttribLPointer) + +#define GLEW_ARB_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_64bit) + +#endif /* GL_ARB_vertex_attrib_64bit */ + +/* ---------------------- GL_ARB_vertex_attrib_binding --------------------- */ + +#ifndef GL_ARB_vertex_attrib_binding +#define GL_ARB_vertex_attrib_binding 1 + +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); + +#define glBindVertexBuffer GLEW_GET_FUN(__glewBindVertexBuffer) +#define glVertexArrayBindVertexBufferEXT GLEW_GET_FUN(__glewVertexArrayBindVertexBufferEXT) +#define glVertexArrayVertexAttribBindingEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribBindingEXT) +#define glVertexArrayVertexAttribFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribFormatEXT) +#define glVertexArrayVertexAttribIFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIFormatEXT) +#define glVertexArrayVertexAttribLFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLFormatEXT) +#define glVertexArrayVertexBindingDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexBindingDivisorEXT) +#define glVertexAttribBinding GLEW_GET_FUN(__glewVertexAttribBinding) +#define glVertexAttribFormat GLEW_GET_FUN(__glewVertexAttribFormat) +#define glVertexAttribIFormat GLEW_GET_FUN(__glewVertexAttribIFormat) +#define glVertexAttribLFormat GLEW_GET_FUN(__glewVertexAttribLFormat) +#define glVertexBindingDivisor GLEW_GET_FUN(__glewVertexBindingDivisor) + +#define GLEW_ARB_vertex_attrib_binding GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_binding) + +#endif /* GL_ARB_vertex_attrib_binding */ + +/* -------------------------- GL_ARB_vertex_blend -------------------------- */ + +#ifndef GL_ARB_vertex_blend +#define GL_ARB_vertex_blend 1 + +#define GL_MODELVIEW0_ARB 0x1700 +#define GL_MODELVIEW1_ARB 0x850A +#define GL_MAX_VERTEX_UNITS_ARB 0x86A4 +#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 +#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 +#define GL_VERTEX_BLEND_ARB 0x86A7 +#define GL_CURRENT_WEIGHT_ARB 0x86A8 +#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 +#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA +#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB +#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC +#define GL_WEIGHT_ARRAY_ARB 0x86AD +#define GL_MODELVIEW2_ARB 0x8722 +#define GL_MODELVIEW3_ARB 0x8723 +#define GL_MODELVIEW4_ARB 0x8724 +#define GL_MODELVIEW5_ARB 0x8725 +#define GL_MODELVIEW6_ARB 0x8726 +#define GL_MODELVIEW7_ARB 0x8727 +#define GL_MODELVIEW8_ARB 0x8728 +#define GL_MODELVIEW9_ARB 0x8729 +#define GL_MODELVIEW10_ARB 0x872A +#define GL_MODELVIEW11_ARB 0x872B +#define GL_MODELVIEW12_ARB 0x872C +#define GL_MODELVIEW13_ARB 0x872D +#define GL_MODELVIEW14_ARB 0x872E +#define GL_MODELVIEW15_ARB 0x872F +#define GL_MODELVIEW16_ARB 0x8730 +#define GL_MODELVIEW17_ARB 0x8731 +#define GL_MODELVIEW18_ARB 0x8732 +#define GL_MODELVIEW19_ARB 0x8733 +#define GL_MODELVIEW20_ARB 0x8734 +#define GL_MODELVIEW21_ARB 0x8735 +#define GL_MODELVIEW22_ARB 0x8736 +#define GL_MODELVIEW23_ARB 0x8737 +#define GL_MODELVIEW24_ARB 0x8738 +#define GL_MODELVIEW25_ARB 0x8739 +#define GL_MODELVIEW26_ARB 0x873A +#define GL_MODELVIEW27_ARB 0x873B +#define GL_MODELVIEW28_ARB 0x873C +#define GL_MODELVIEW29_ARB 0x873D +#define GL_MODELVIEW30_ARB 0x873E +#define GL_MODELVIEW31_ARB 0x873F + +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count); +typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights); + +#define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB) +#define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB) +#define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB) +#define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB) +#define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB) +#define glWeightivARB GLEW_GET_FUN(__glewWeightivARB) +#define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB) +#define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB) +#define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB) +#define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB) + +#define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend) + +#endif /* GL_ARB_vertex_blend */ + +/* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */ + +#ifndef GL_ARB_vertex_buffer_object +#define GL_ARB_vertex_buffer_object 1 + +#define GL_BUFFER_SIZE_ARB 0x8764 +#define GL_BUFFER_USAGE_ARB 0x8765 +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 +#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F +#define GL_READ_ONLY_ARB 0x88B8 +#define GL_WRITE_ONLY_ARB 0x88B9 +#define GL_READ_WRITE_ARB 0x88BA +#define GL_BUFFER_ACCESS_ARB 0x88BB +#define GL_BUFFER_MAPPED_ARB 0x88BC +#define GL_BUFFER_MAP_POINTER_ARB 0x88BD +#define GL_STREAM_DRAW_ARB 0x88E0 +#define GL_STREAM_READ_ARB 0x88E1 +#define GL_STREAM_COPY_ARB 0x88E2 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_STATIC_READ_ARB 0x88E5 +#define GL_STATIC_COPY_ARB 0x88E6 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_DYNAMIC_READ_ARB 0x88E9 +#define GL_DYNAMIC_COPY_ARB 0x88EA + +typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer); +typedef void * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); + +#define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB) +#define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB) +#define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB) +#define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB) +#define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB) +#define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB) +#define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB) +#define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB) +#define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB) +#define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB) +#define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB) + +#define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object) + +#endif /* GL_ARB_vertex_buffer_object */ + +/* ------------------------- GL_ARB_vertex_program ------------------------- */ + +#ifndef GL_ARB_vertex_program +#define GL_ARB_vertex_program 1 + +#define GL_COLOR_SUM_ARB 0x8458 +#define GL_VERTEX_PROGRAM_ARB 0x8620 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 +#define GL_PROGRAM_LENGTH_ARB 0x8627 +#define GL_PROGRAM_STRING_ARB 0x8628 +#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E +#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F +#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 +#define GL_CURRENT_MATRIX_ARB 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 +#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B +#define GL_PROGRAM_BINDING_ARB 0x8677 +#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A +#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 +#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 +#define GL_PROGRAM_FORMAT_ARB 0x8876 +#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 +#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 +#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 +#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 +#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 +#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 +#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 +#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 +#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 +#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 +#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA +#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB +#define GL_PROGRAM_ATTRIBS_ARB 0x88AC +#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD +#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE +#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF +#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 +#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 +#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 +#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 +#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 +#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 +#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 +#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 +#define GL_MATRIX0_ARB 0x88C0 +#define GL_MATRIX1_ARB 0x88C1 +#define GL_MATRIX2_ARB 0x88C2 +#define GL_MATRIX3_ARB 0x88C3 +#define GL_MATRIX4_ARB 0x88C4 +#define GL_MATRIX5_ARB 0x88C5 +#define GL_MATRIX6_ARB 0x88C6 +#define GL_MATRIX7_ARB 0x88C7 +#define GL_MATRIX8_ARB 0x88C8 +#define GL_MATRIX9_ARB 0x88C9 +#define GL_MATRIX10_ARB 0x88CA +#define GL_MATRIX11_ARB 0x88CB +#define GL_MATRIX12_ARB 0x88CC +#define GL_MATRIX13_ARB 0x88CD +#define GL_MATRIX14_ARB 0x88CE +#define GL_MATRIX15_ARB 0x88CF +#define GL_MATRIX16_ARB 0x88D0 +#define GL_MATRIX17_ARB 0x88D1 +#define GL_MATRIX18_ARB 0x88D2 +#define GL_MATRIX19_ARB 0x88D3 +#define GL_MATRIX20_ARB 0x88D4 +#define GL_MATRIX21_ARB 0x88D5 +#define GL_MATRIX22_ARB 0x88D6 +#define GL_MATRIX23_ARB 0x88D7 +#define GL_MATRIX24_ARB 0x88D8 +#define GL_MATRIX25_ARB 0x88D9 +#define GL_MATRIX26_ARB 0x88DA +#define GL_MATRIX27_ARB 0x88DB +#define GL_MATRIX28_ARB 0x88DC +#define GL_MATRIX29_ARB 0x88DD +#define GL_MATRIX30_ARB 0x88DE +#define GL_MATRIX31_ARB 0x88DF + +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void *string); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void *string); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); + +#define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB) +#define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB) +#define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB) +#define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB) +#define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB) +#define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB) +#define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB) +#define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB) +#define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB) +#define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB) +#define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB) +#define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB) +#define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB) +#define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB) +#define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB) +#define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB) +#define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB) +#define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB) +#define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB) +#define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB) +#define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB) +#define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB) +#define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB) +#define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB) +#define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB) +#define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB) +#define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB) +#define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB) +#define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB) +#define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB) +#define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB) +#define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB) +#define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB) +#define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB) +#define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB) +#define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB) +#define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB) +#define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB) +#define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB) +#define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB) +#define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB) +#define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB) +#define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB) +#define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB) +#define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB) +#define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB) +#define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB) +#define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB) +#define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB) +#define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB) +#define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB) +#define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB) +#define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB) +#define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB) +#define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB) +#define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB) +#define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB) +#define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB) +#define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB) +#define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB) +#define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB) +#define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB) + +#define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program) + +#endif /* GL_ARB_vertex_program */ + +/* -------------------------- GL_ARB_vertex_shader ------------------------- */ + +#ifndef GL_ARB_vertex_shader +#define GL_ARB_vertex_shader 1 + +#define GL_VERTEX_SHADER_ARB 0x8B31 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A +#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D +#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 +#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A + +typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name); +typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); +typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); + +#define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB) +#define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB) +#define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB) + +#define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader) + +#endif /* GL_ARB_vertex_shader */ + +/* ------------------- GL_ARB_vertex_type_10f_11f_11f_rev ------------------ */ + +#ifndef GL_ARB_vertex_type_10f_11f_11f_rev +#define GL_ARB_vertex_type_10f_11f_11f_rev 1 + +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B + +#define GLEW_ARB_vertex_type_10f_11f_11f_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_10f_11f_11f_rev) + +#endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ + +/* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */ + +#ifndef GL_ARB_vertex_type_2_10_10_10_rev +#define GL_ARB_vertex_type_2_10_10_10_rev 1 + +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_INT_2_10_10_10_REV 0x8D9F + +typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value); + +#define glColorP3ui GLEW_GET_FUN(__glewColorP3ui) +#define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv) +#define glColorP4ui GLEW_GET_FUN(__glewColorP4ui) +#define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv) +#define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui) +#define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv) +#define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui) +#define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv) +#define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui) +#define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv) +#define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui) +#define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv) +#define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui) +#define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv) +#define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui) +#define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv) +#define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui) +#define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv) +#define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui) +#define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv) +#define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui) +#define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv) +#define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui) +#define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv) +#define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui) +#define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv) +#define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui) +#define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv) +#define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui) +#define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv) +#define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui) +#define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv) +#define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui) +#define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv) +#define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui) +#define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv) +#define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui) +#define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv) + +#define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev) + +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ + +/* ------------------------- GL_ARB_viewport_array ------------------------- */ + +#ifndef GL_ARB_viewport_array +#define GL_ARB_viewport_array 1 + +#define GL_DEPTH_RANGE 0x0B70 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd * v); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble* data); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat* data); +typedef void (GLAPIENTRY * PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint * v); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat * v); + +#define glDepthRangeArrayv GLEW_GET_FUN(__glewDepthRangeArrayv) +#define glDepthRangeIndexed GLEW_GET_FUN(__glewDepthRangeIndexed) +#define glGetDoublei_v GLEW_GET_FUN(__glewGetDoublei_v) +#define glGetFloati_v GLEW_GET_FUN(__glewGetFloati_v) +#define glScissorArrayv GLEW_GET_FUN(__glewScissorArrayv) +#define glScissorIndexed GLEW_GET_FUN(__glewScissorIndexed) +#define glScissorIndexedv GLEW_GET_FUN(__glewScissorIndexedv) +#define glViewportArrayv GLEW_GET_FUN(__glewViewportArrayv) +#define glViewportIndexedf GLEW_GET_FUN(__glewViewportIndexedf) +#define glViewportIndexedfv GLEW_GET_FUN(__glewViewportIndexedfv) + +#define GLEW_ARB_viewport_array GLEW_GET_VAR(__GLEW_ARB_viewport_array) + +#endif /* GL_ARB_viewport_array */ + +/* --------------------------- GL_ARB_window_pos --------------------------- */ + +#ifndef GL_ARB_window_pos +#define GL_ARB_window_pos 1 + +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p); + +#define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB) +#define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB) +#define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB) +#define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB) +#define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB) +#define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB) +#define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB) +#define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB) +#define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB) +#define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB) +#define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB) +#define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB) +#define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB) +#define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB) +#define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB) +#define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB) + +#define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos) + +#endif /* GL_ARB_window_pos */ + +/* ----------------------- GL_ARM_mali_program_binary ---------------------- */ + +#ifndef GL_ARM_mali_program_binary +#define GL_ARM_mali_program_binary 1 + +#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 + +#define GLEW_ARM_mali_program_binary GLEW_GET_VAR(__GLEW_ARM_mali_program_binary) + +#endif /* GL_ARM_mali_program_binary */ + +/* ----------------------- GL_ARM_mali_shader_binary ----------------------- */ + +#ifndef GL_ARM_mali_shader_binary +#define GL_ARM_mali_shader_binary 1 + +#define GL_MALI_SHADER_BINARY_ARM 0x8F60 + +#define GLEW_ARM_mali_shader_binary GLEW_GET_VAR(__GLEW_ARM_mali_shader_binary) + +#endif /* GL_ARM_mali_shader_binary */ + +/* ------------------------------ GL_ARM_rgba8 ----------------------------- */ + +#ifndef GL_ARM_rgba8 +#define GL_ARM_rgba8 1 + +#define GL_RGBA8_OES 0x8058 + +#define GLEW_ARM_rgba8 GLEW_GET_VAR(__GLEW_ARM_rgba8) + +#endif /* GL_ARM_rgba8 */ + +/* -------------------- GL_ARM_shader_framebuffer_fetch -------------------- */ + +#ifndef GL_ARM_shader_framebuffer_fetch +#define GL_ARM_shader_framebuffer_fetch 1 + +#define GL_FETCH_PER_SAMPLE_ARM 0x8F65 +#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66 + +#define GLEW_ARM_shader_framebuffer_fetch GLEW_GET_VAR(__GLEW_ARM_shader_framebuffer_fetch) + +#endif /* GL_ARM_shader_framebuffer_fetch */ + +/* ------------- GL_ARM_shader_framebuffer_fetch_depth_stencil ------------- */ + +#ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil +#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1 + +#define GLEW_ARM_shader_framebuffer_fetch_depth_stencil GLEW_GET_VAR(__GLEW_ARM_shader_framebuffer_fetch_depth_stencil) + +#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */ + +/* ------------------------- GL_ATIX_point_sprites ------------------------- */ + +#ifndef GL_ATIX_point_sprites +#define GL_ATIX_point_sprites 1 + +#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0 +#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 +#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 +#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3 +#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4 +#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5 + +#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites) + +#endif /* GL_ATIX_point_sprites */ + +/* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */ + +#ifndef GL_ATIX_texture_env_combine3 +#define GL_ATIX_texture_env_combine3 1 + +#define GL_MODULATE_ADD_ATIX 0x8744 +#define GL_MODULATE_SIGNED_ADD_ATIX 0x8745 +#define GL_MODULATE_SUBTRACT_ATIX 0x8746 + +#define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3) + +#endif /* GL_ATIX_texture_env_combine3 */ + +/* ----------------------- GL_ATIX_texture_env_route ----------------------- */ + +#ifndef GL_ATIX_texture_env_route +#define GL_ATIX_texture_env_route 1 + +#define GL_SECONDARY_COLOR_ATIX 0x8747 +#define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 +#define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 + +#define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route) + +#endif /* GL_ATIX_texture_env_route */ + +/* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */ + +#ifndef GL_ATIX_vertex_shader_output_point_size +#define GL_ATIX_vertex_shader_output_point_size 1 + +#define GL_OUTPUT_POINT_SIZE_ATIX 0x610E + +#define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size) + +#endif /* GL_ATIX_vertex_shader_output_point_size */ + +/* -------------------------- GL_ATI_draw_buffers -------------------------- */ + +#ifndef GL_ATI_draw_buffers +#define GL_ATI_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 +#define GL_DRAW_BUFFER0_ATI 0x8825 +#define GL_DRAW_BUFFER1_ATI 0x8826 +#define GL_DRAW_BUFFER2_ATI 0x8827 +#define GL_DRAW_BUFFER3_ATI 0x8828 +#define GL_DRAW_BUFFER4_ATI 0x8829 +#define GL_DRAW_BUFFER5_ATI 0x882A +#define GL_DRAW_BUFFER6_ATI 0x882B +#define GL_DRAW_BUFFER7_ATI 0x882C +#define GL_DRAW_BUFFER8_ATI 0x882D +#define GL_DRAW_BUFFER9_ATI 0x882E +#define GL_DRAW_BUFFER10_ATI 0x882F +#define GL_DRAW_BUFFER11_ATI 0x8830 +#define GL_DRAW_BUFFER12_ATI 0x8831 +#define GL_DRAW_BUFFER13_ATI 0x8832 +#define GL_DRAW_BUFFER14_ATI 0x8833 +#define GL_DRAW_BUFFER15_ATI 0x8834 + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI) + +#define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers) + +#endif /* GL_ATI_draw_buffers */ + +/* -------------------------- GL_ATI_element_array ------------------------- */ + +#ifndef GL_ATI_element_array +#define GL_ATI_element_array 1 + +#define GL_ELEMENT_ARRAY_ATI 0x8768 +#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 +#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); +typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void *pointer); + +#define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI) +#define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI) +#define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI) + +#define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array) + +#endif /* GL_ATI_element_array */ + +/* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */ + +#ifndef GL_ATI_envmap_bumpmap +#define GL_ATI_envmap_bumpmap 1 + +#define GL_BUMP_ROT_MATRIX_ATI 0x8775 +#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 +#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 +#define GL_BUMP_TEX_UNITS_ATI 0x8778 +#define GL_DUDV_ATI 0x8779 +#define GL_DU8DV8_ATI 0x877A +#define GL_BUMP_ENVMAP_ATI 0x877B +#define GL_BUMP_TARGET_ATI 0x877C + +typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); +typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); +typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); +typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); + +#define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI) +#define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI) +#define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI) +#define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI) + +#define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap) + +#endif /* GL_ATI_envmap_bumpmap */ + +/* ------------------------- GL_ATI_fragment_shader ------------------------ */ + +#ifndef GL_ATI_fragment_shader +#define GL_ATI_fragment_shader 1 + +#define GL_2X_BIT_ATI 0x00000001 +#define GL_RED_BIT_ATI 0x00000001 +#define GL_4X_BIT_ATI 0x00000002 +#define GL_COMP_BIT_ATI 0x00000002 +#define GL_GREEN_BIT_ATI 0x00000002 +#define GL_8X_BIT_ATI 0x00000004 +#define GL_BLUE_BIT_ATI 0x00000004 +#define GL_NEGATE_BIT_ATI 0x00000004 +#define GL_BIAS_BIT_ATI 0x00000008 +#define GL_HALF_BIT_ATI 0x00000008 +#define GL_QUARTER_BIT_ATI 0x00000010 +#define GL_EIGHTH_BIT_ATI 0x00000020 +#define GL_SATURATE_BIT_ATI 0x00000040 +#define GL_FRAGMENT_SHADER_ATI 0x8920 +#define GL_REG_0_ATI 0x8921 +#define GL_REG_1_ATI 0x8922 +#define GL_REG_2_ATI 0x8923 +#define GL_REG_3_ATI 0x8924 +#define GL_REG_4_ATI 0x8925 +#define GL_REG_5_ATI 0x8926 +#define GL_CON_0_ATI 0x8941 +#define GL_CON_1_ATI 0x8942 +#define GL_CON_2_ATI 0x8943 +#define GL_CON_3_ATI 0x8944 +#define GL_CON_4_ATI 0x8945 +#define GL_CON_5_ATI 0x8946 +#define GL_CON_6_ATI 0x8947 +#define GL_CON_7_ATI 0x8948 +#define GL_MOV_ATI 0x8961 +#define GL_ADD_ATI 0x8963 +#define GL_MUL_ATI 0x8964 +#define GL_SUB_ATI 0x8965 +#define GL_DOT3_ATI 0x8966 +#define GL_DOT4_ATI 0x8967 +#define GL_MAD_ATI 0x8968 +#define GL_LERP_ATI 0x8969 +#define GL_CND_ATI 0x896A +#define GL_CND0_ATI 0x896B +#define GL_DOT2_ADD_ATI 0x896C +#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D +#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E +#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F +#define GL_NUM_PASSES_ATI 0x8970 +#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 +#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 +#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 +#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 +#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 +#define GL_SWIZZLE_STR_ATI 0x8976 +#define GL_SWIZZLE_STQ_ATI 0x8977 +#define GL_SWIZZLE_STR_DR_ATI 0x8978 +#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 +#define GL_SWIZZLE_STRQ_ATI 0x897A +#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B + +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void); +typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); +typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); +typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); +typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value); + +#define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI) +#define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI) +#define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI) +#define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI) +#define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI) +#define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI) +#define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI) +#define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI) +#define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI) +#define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI) +#define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI) +#define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI) +#define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI) +#define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI) + +#define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader) + +#endif /* GL_ATI_fragment_shader */ + +/* ------------------------ GL_ATI_map_object_buffer ----------------------- */ + +#ifndef GL_ATI_map_object_buffer +#define GL_ATI_map_object_buffer 1 + +typedef void * (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); + +#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI) +#define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI) + +#define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer) + +#endif /* GL_ATI_map_object_buffer */ + +/* ----------------------------- GL_ATI_meminfo ---------------------------- */ + +#ifndef GL_ATI_meminfo +#define GL_ATI_meminfo 1 + +#define GL_VBO_FREE_MEMORY_ATI 0x87FB +#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC +#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD + +#define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo) + +#endif /* GL_ATI_meminfo */ + +/* -------------------------- GL_ATI_pn_triangles -------------------------- */ + +#ifndef GL_ATI_pn_triangles +#define GL_ATI_pn_triangles 1 + +#define GL_PN_TRIANGLES_ATI 0x87F0 +#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 +#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 +#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 +#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 +#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 +#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 +#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 +#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 + +typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); + +#define glPNTrianglesfATI GLEW_GET_FUN(__glewPNTrianglesfATI) +#define glPNTrianglesiATI GLEW_GET_FUN(__glewPNTrianglesiATI) + +#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles) + +#endif /* GL_ATI_pn_triangles */ + +/* ------------------------ GL_ATI_separate_stencil ------------------------ */ + +#ifndef GL_ATI_separate_stencil +#define GL_ATI_separate_stencil 1 + +#define GL_STENCIL_BACK_FUNC_ATI 0x8800 +#define GL_STENCIL_BACK_FAIL_ATI 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 + +typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); + +#define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI) +#define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI) + +#define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil) + +#endif /* GL_ATI_separate_stencil */ + +/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */ + +#ifndef GL_ATI_shader_texture_lod +#define GL_ATI_shader_texture_lod 1 + +#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod) + +#endif /* GL_ATI_shader_texture_lod */ + +/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */ + +#ifndef GL_ATI_text_fragment_shader +#define GL_ATI_text_fragment_shader 1 + +#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 + +#define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader) + +#endif /* GL_ATI_text_fragment_shader */ + +/* --------------------- GL_ATI_texture_compression_3dc -------------------- */ + +#ifndef GL_ATI_texture_compression_3dc +#define GL_ATI_texture_compression_3dc 1 + +#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 + +#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc) + +#endif /* GL_ATI_texture_compression_3dc */ + +/* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */ + +#ifndef GL_ATI_texture_env_combine3 +#define GL_ATI_texture_env_combine3 1 + +#define GL_MODULATE_ADD_ATI 0x8744 +#define GL_MODULATE_SIGNED_ADD_ATI 0x8745 +#define GL_MODULATE_SUBTRACT_ATI 0x8746 + +#define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3) + +#endif /* GL_ATI_texture_env_combine3 */ + +/* -------------------------- GL_ATI_texture_float ------------------------- */ + +#ifndef GL_ATI_texture_float +#define GL_ATI_texture_float 1 + +#define GL_RGBA_FLOAT32_ATI 0x8814 +#define GL_RGB_FLOAT32_ATI 0x8815 +#define GL_ALPHA_FLOAT32_ATI 0x8816 +#define GL_INTENSITY_FLOAT32_ATI 0x8817 +#define GL_LUMINANCE_FLOAT32_ATI 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 +#define GL_RGBA_FLOAT16_ATI 0x881A +#define GL_RGB_FLOAT16_ATI 0x881B +#define GL_ALPHA_FLOAT16_ATI 0x881C +#define GL_INTENSITY_FLOAT16_ATI 0x881D +#define GL_LUMINANCE_FLOAT16_ATI 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F + +#define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float) + +#endif /* GL_ATI_texture_float */ + +/* ----------------------- GL_ATI_texture_mirror_once ---------------------- */ + +#ifndef GL_ATI_texture_mirror_once +#define GL_ATI_texture_mirror_once 1 + +#define GL_MIRROR_CLAMP_ATI 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 + +#define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once) + +#endif /* GL_ATI_texture_mirror_once */ + +/* ----------------------- GL_ATI_vertex_array_object ---------------------- */ + +#ifndef GL_ATI_vertex_array_object +#define GL_ATI_vertex_array_object 1 + +#define GL_STATIC_ATI 0x8760 +#define GL_DYNAMIC_ATI 0x8761 +#define GL_PRESERVE_ATI 0x8762 +#define GL_DISCARD_ATI 0x8763 +#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 +#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 +#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 +#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 + +typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); +typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); +typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void *pointer, GLenum usage); +typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve); +typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); + +#define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI) +#define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI) +#define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI) +#define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI) +#define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI) +#define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI) +#define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI) +#define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI) +#define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI) +#define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI) +#define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI) +#define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI) + +#define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object) + +#endif /* GL_ATI_vertex_array_object */ + +/* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */ + +#ifndef GL_ATI_vertex_attrib_array_object +#define GL_ATI_vertex_attrib_array_object 1 + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); + +#define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI) +#define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI) +#define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI) + +#define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object) + +#endif /* GL_ATI_vertex_attrib_array_object */ + +/* ------------------------- GL_ATI_vertex_streams ------------------------- */ + +#ifndef GL_ATI_vertex_streams +#define GL_ATI_vertex_streams 1 + +#define GL_MAX_VERTEX_STREAMS_ATI 0x876B +#define GL_VERTEX_SOURCE_ATI 0x876C +#define GL_VERTEX_STREAM0_ATI 0x876D +#define GL_VERTEX_STREAM1_ATI 0x876E +#define GL_VERTEX_STREAM2_ATI 0x876F +#define GL_VERTEX_STREAM3_ATI 0x8770 +#define GL_VERTEX_STREAM4_ATI 0x8771 +#define GL_VERTEX_STREAM5_ATI 0x8772 +#define GL_VERTEX_STREAM6_ATI 0x8773 +#define GL_VERTEX_STREAM7_ATI 0x8774 + +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords); + +#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI) +#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI) +#define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI) +#define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI) +#define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI) +#define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI) +#define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI) +#define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI) +#define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI) +#define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI) +#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI) +#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI) +#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI) +#define glVertexStream1dATI GLEW_GET_FUN(__glewVertexStream1dATI) +#define glVertexStream1dvATI GLEW_GET_FUN(__glewVertexStream1dvATI) +#define glVertexStream1fATI GLEW_GET_FUN(__glewVertexStream1fATI) +#define glVertexStream1fvATI GLEW_GET_FUN(__glewVertexStream1fvATI) +#define glVertexStream1iATI GLEW_GET_FUN(__glewVertexStream1iATI) +#define glVertexStream1ivATI GLEW_GET_FUN(__glewVertexStream1ivATI) +#define glVertexStream1sATI GLEW_GET_FUN(__glewVertexStream1sATI) +#define glVertexStream1svATI GLEW_GET_FUN(__glewVertexStream1svATI) +#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI) +#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI) +#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI) +#define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI) +#define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI) +#define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI) +#define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI) +#define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI) +#define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI) +#define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI) +#define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI) +#define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI) +#define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI) +#define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI) +#define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI) +#define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI) +#define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI) +#define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI) +#define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI) +#define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI) +#define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI) +#define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI) +#define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI) +#define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI) + +#define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams) + +#endif /* GL_ATI_vertex_streams */ + +/* -------------------- GL_EGL_KHR_context_flush_control ------------------- */ + +#ifndef GL_EGL_KHR_context_flush_control +#define GL_EGL_KHR_context_flush_control 1 + +#define GLEW_EGL_KHR_context_flush_control GLEW_GET_VAR(__GLEW_EGL_KHR_context_flush_control) + +#endif /* GL_EGL_KHR_context_flush_control */ + +/* ---------------- GL_EGL_NV_robustness_video_memory_purge ---------------- */ + +#ifndef GL_EGL_NV_robustness_video_memory_purge +#define GL_EGL_NV_robustness_video_memory_purge 1 + +#define GL_EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C +#define GL_PURGED_CONTEXT_RESET_NV 0x92BB + +#define GLEW_EGL_NV_robustness_video_memory_purge GLEW_GET_VAR(__GLEW_EGL_NV_robustness_video_memory_purge) + +#endif /* GL_EGL_NV_robustness_video_memory_purge */ + +/* --------------------------- GL_EXT_422_pixels --------------------------- */ + +#ifndef GL_EXT_422_pixels +#define GL_EXT_422_pixels 1 + +#define GL_422_EXT 0x80CC +#define GL_422_REV_EXT 0x80CD +#define GL_422_AVERAGE_EXT 0x80CE +#define GL_422_REV_AVERAGE_EXT 0x80CF + +#define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels) + +#endif /* GL_EXT_422_pixels */ + +/* ---------------------------- GL_EXT_Cg_shader --------------------------- */ + +#ifndef GL_EXT_Cg_shader +#define GL_EXT_Cg_shader 1 + +#define GL_CG_VERTEX_SHADER_EXT 0x890E +#define GL_CG_FRAGMENT_SHADER_EXT 0x890F + +#define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader) + +#endif /* GL_EXT_Cg_shader */ + +/* ------------------------- GL_EXT_EGL_image_array ------------------------ */ + +#ifndef GL_EXT_EGL_image_array +#define GL_EXT_EGL_image_array 1 + +#define GLEW_EXT_EGL_image_array GLEW_GET_VAR(__GLEW_EXT_EGL_image_array) + +#endif /* GL_EXT_EGL_image_array */ + +/* --------------------------- GL_EXT_YUV_target --------------------------- */ + +#ifndef GL_EXT_YUV_target +#define GL_EXT_YUV_target 1 + +#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT 0x8BE7 + +#define GLEW_EXT_YUV_target GLEW_GET_VAR(__GLEW_EXT_YUV_target) + +#endif /* GL_EXT_YUV_target */ + +/* ------------------------------ GL_EXT_abgr ------------------------------ */ + +#ifndef GL_EXT_abgr +#define GL_EXT_abgr 1 + +#define GL_ABGR_EXT 0x8000 + +#define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr) + +#endif /* GL_EXT_abgr */ + +/* -------------------------- GL_EXT_base_instance ------------------------- */ + +#ifndef GL_EXT_base_instance +#define GL_EXT_base_instance 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); + +#define glDrawArraysInstancedBaseInstanceEXT GLEW_GET_FUN(__glewDrawArraysInstancedBaseInstanceEXT) +#define glDrawElementsInstancedBaseInstanceEXT GLEW_GET_FUN(__glewDrawElementsInstancedBaseInstanceEXT) +#define glDrawElementsInstancedBaseVertexBaseInstanceEXT GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexBaseInstanceEXT) + +#define GLEW_EXT_base_instance GLEW_GET_VAR(__GLEW_EXT_base_instance) + +#endif /* GL_EXT_base_instance */ + +/* ------------------------------ GL_EXT_bgra ------------------------------ */ + +#ifndef GL_EXT_bgra +#define GL_EXT_bgra 1 + +#define GL_BGR_EXT 0x80E0 +#define GL_BGRA_EXT 0x80E1 + +#define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra) + +#endif /* GL_EXT_bgra */ + +/* ------------------------ GL_EXT_bindable_uniform ------------------------ */ + +#ifndef GL_EXT_bindable_uniform +#define GL_EXT_bindable_uniform 1 + +#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 +#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 +#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 +#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED +#define GL_UNIFORM_BUFFER_EXT 0x8DEE +#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF + +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); +typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); +typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); + +#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT) +#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT) +#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT) + +#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform) + +#endif /* GL_EXT_bindable_uniform */ + +/* --------------------------- GL_EXT_blend_color -------------------------- */ + +#ifndef GL_EXT_blend_color +#define GL_EXT_blend_color 1 + +#define GL_CONSTANT_COLOR_EXT 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 +#define GL_CONSTANT_ALPHA_EXT 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 +#define GL_BLEND_COLOR_EXT 0x8005 + +typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); + +#define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT) + +#define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color) + +#endif /* GL_EXT_blend_color */ + +/* --------------------- GL_EXT_blend_equation_separate -------------------- */ + +#ifndef GL_EXT_blend_equation_separate +#define GL_EXT_blend_equation_separate 1 + +#define GL_BLEND_EQUATION_RGB_EXT 0x8009 +#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); + +#define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT) + +#define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate) + +#endif /* GL_EXT_blend_equation_separate */ + +/* ----------------------- GL_EXT_blend_func_extended ---------------------- */ + +#ifndef GL_EXT_blend_func_extended +#define GL_EXT_blend_func_extended 1 + +#define GL_SRC_ALPHA_SATURATE_EXT 0x0308 +#define GL_SRC1_ALPHA_EXT 0x8589 +#define GL_SRC1_COLOR_EXT 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC +#define GL_LOCATION_INDEX_EXT 0x930F + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXEXTPROC) (GLuint program, const GLchar * name); +typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC) (GLuint program, GLenum programInterface, const GLchar* name); + +#define glBindFragDataLocationIndexedEXT GLEW_GET_FUN(__glewBindFragDataLocationIndexedEXT) +#define glGetFragDataIndexEXT GLEW_GET_FUN(__glewGetFragDataIndexEXT) +#define glGetProgramResourceLocationIndexEXT GLEW_GET_FUN(__glewGetProgramResourceLocationIndexEXT) + +#define GLEW_EXT_blend_func_extended GLEW_GET_VAR(__GLEW_EXT_blend_func_extended) + +#endif /* GL_EXT_blend_func_extended */ + +/* ----------------------- GL_EXT_blend_func_separate ---------------------- */ + +#ifndef GL_EXT_blend_func_separate +#define GL_EXT_blend_func_separate 1 + +#define GL_BLEND_DST_RGB_EXT 0x80C8 +#define GL_BLEND_SRC_RGB_EXT 0x80C9 +#define GL_BLEND_DST_ALPHA_EXT 0x80CA +#define GL_BLEND_SRC_ALPHA_EXT 0x80CB + +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); + +#define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT) + +#define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate) + +#endif /* GL_EXT_blend_func_separate */ + +/* ------------------------- GL_EXT_blend_logic_op ------------------------- */ + +#ifndef GL_EXT_blend_logic_op +#define GL_EXT_blend_logic_op 1 + +#define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op) + +#endif /* GL_EXT_blend_logic_op */ + +/* -------------------------- GL_EXT_blend_minmax -------------------------- */ + +#ifndef GL_EXT_blend_minmax +#define GL_EXT_blend_minmax 1 + +#define GL_FUNC_ADD_EXT 0x8006 +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#define GL_BLEND_EQUATION_EXT 0x8009 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode); + +#define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT) + +#define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax) + +#endif /* GL_EXT_blend_minmax */ + +/* ------------------------- GL_EXT_blend_subtract ------------------------- */ + +#ifndef GL_EXT_blend_subtract +#define GL_EXT_blend_subtract 1 + +#define GL_FUNC_SUBTRACT_EXT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B + +#define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract) + +#endif /* GL_EXT_blend_subtract */ + +/* ------------------------- GL_EXT_buffer_storage ------------------------- */ + +#ifndef GL_EXT_buffer_storage +#define GL_EXT_buffer_storage 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_PERSISTENT_BIT_EXT 0x0040 +#define GL_MAP_COHERENT_BIT_EXT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT_EXT 0x0100 +#define GL_CLIENT_STORAGE_BIT_EXT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE_EXT 0x821F +#define GL_BUFFER_STORAGE_FLAGS_EXT 0x8220 + +typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEEXTPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); + +#define glBufferStorageEXT GLEW_GET_FUN(__glewBufferStorageEXT) +#define glNamedBufferStorageEXT GLEW_GET_FUN(__glewNamedBufferStorageEXT) + +#define GLEW_EXT_buffer_storage GLEW_GET_VAR(__GLEW_EXT_buffer_storage) + +#endif /* GL_EXT_buffer_storage */ + +/* -------------------------- GL_EXT_clear_texture ------------------------- */ + +#ifndef GL_EXT_clear_texture +#define GL_EXT_clear_texture 1 + +typedef void (GLAPIENTRY * PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); + +#define glClearTexImageEXT GLEW_GET_FUN(__glewClearTexImageEXT) +#define glClearTexSubImageEXT GLEW_GET_FUN(__glewClearTexSubImageEXT) + +#define GLEW_EXT_clear_texture GLEW_GET_VAR(__GLEW_EXT_clear_texture) + +#endif /* GL_EXT_clear_texture */ + +/* ----------------------- GL_EXT_clip_cull_distance ----------------------- */ + +#ifndef GL_EXT_clip_cull_distance +#define GL_EXT_clip_cull_distance 1 + +#define GL_MAX_CLIP_DISTANCES_EXT 0x0D32 +#define GL_CLIP_DISTANCE0_EXT 0x3000 +#define GL_CLIP_DISTANCE1_EXT 0x3001 +#define GL_CLIP_DISTANCE2_EXT 0x3002 +#define GL_CLIP_DISTANCE3_EXT 0x3003 +#define GL_CLIP_DISTANCE4_EXT 0x3004 +#define GL_CLIP_DISTANCE5_EXT 0x3005 +#define GL_CLIP_DISTANCE6_EXT 0x3006 +#define GL_CLIP_DISTANCE7_EXT 0x3007 +#define GL_MAX_CULL_DISTANCES_EXT 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT 0x82FA + +#define GLEW_EXT_clip_cull_distance GLEW_GET_VAR(__GLEW_EXT_clip_cull_distance) + +#endif /* GL_EXT_clip_cull_distance */ + +/* ------------------------ GL_EXT_clip_volume_hint ------------------------ */ + +#ifndef GL_EXT_clip_volume_hint +#define GL_EXT_clip_volume_hint 1 + +#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 + +#define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint) + +#endif /* GL_EXT_clip_volume_hint */ + +/* ------------------------------ GL_EXT_cmyka ----------------------------- */ + +#ifndef GL_EXT_cmyka +#define GL_EXT_cmyka 1 + +#define GL_CMYK_EXT 0x800C +#define GL_CMYKA_EXT 0x800D +#define GL_PACK_CMYK_HINT_EXT 0x800E +#define GL_UNPACK_CMYK_HINT_EXT 0x800F + +#define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka) + +#endif /* GL_EXT_cmyka */ + +/* ----------------------- GL_EXT_color_buffer_float ----------------------- */ + +#ifndef GL_EXT_color_buffer_float +#define GL_EXT_color_buffer_float 1 + +#define GLEW_EXT_color_buffer_float GLEW_GET_VAR(__GLEW_EXT_color_buffer_float) + +#endif /* GL_EXT_color_buffer_float */ + +/* --------------------- GL_EXT_color_buffer_half_float -------------------- */ + +#ifndef GL_EXT_color_buffer_half_float +#define GL_EXT_color_buffer_half_float 1 + +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 +#define GL_R16F_EXT 0x822D +#define GL_RG16F_EXT 0x822F +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 + +#define GLEW_EXT_color_buffer_half_float GLEW_GET_VAR(__GLEW_EXT_color_buffer_half_float) + +#endif /* GL_EXT_color_buffer_half_float */ + +/* ------------------------- GL_EXT_color_subtable ------------------------- */ + +#ifndef GL_EXT_color_subtable +#define GL_EXT_color_subtable 1 + +typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); + +#define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT) +#define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT) + +#define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable) + +#endif /* GL_EXT_color_subtable */ + +/* ---------------------- GL_EXT_compiled_vertex_array --------------------- */ + +#ifndef GL_EXT_compiled_vertex_array +#define GL_EXT_compiled_vertex_array 1 + +#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 +#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 + +typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); + +#define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT) +#define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT) + +#define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array) + +#endif /* GL_EXT_compiled_vertex_array */ + +/* ---------------- GL_EXT_compressed_ETC1_RGB8_sub_texture ---------------- */ + +#ifndef GL_EXT_compressed_ETC1_RGB8_sub_texture +#define GL_EXT_compressed_ETC1_RGB8_sub_texture 1 + +#define GLEW_EXT_compressed_ETC1_RGB8_sub_texture GLEW_GET_VAR(__GLEW_EXT_compressed_ETC1_RGB8_sub_texture) + +#endif /* GL_EXT_compressed_ETC1_RGB8_sub_texture */ + +/* ----------------------- GL_EXT_conservative_depth ----------------------- */ + +#ifndef GL_EXT_conservative_depth +#define GL_EXT_conservative_depth 1 + +#define GLEW_EXT_conservative_depth GLEW_GET_VAR(__GLEW_EXT_conservative_depth) + +#endif /* GL_EXT_conservative_depth */ + +/* --------------------------- GL_EXT_convolution -------------------------- */ + +#ifndef GL_EXT_convolution +#define GL_EXT_convolution 1 + +#define GL_CONVOLUTION_1D_EXT 0x8010 +#define GL_CONVOLUTION_2D_EXT 0x8011 +#define GL_SEPARABLE_2D_EXT 0x8012 +#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 +#define GL_REDUCE_EXT 0x8016 +#define GL_CONVOLUTION_FORMAT_EXT 0x8017 +#define GL_CONVOLUTION_WIDTH_EXT 0x8018 +#define GL_CONVOLUTION_HEIGHT_EXT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 + +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *image); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); +typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); + +#define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT) +#define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT) +#define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT) +#define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT) +#define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT) +#define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT) +#define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT) +#define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT) +#define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT) +#define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT) +#define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT) +#define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT) +#define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT) + +#define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution) + +#endif /* GL_EXT_convolution */ + +/* ------------------------ GL_EXT_coordinate_frame ------------------------ */ + +#ifndef GL_EXT_coordinate_frame +#define GL_EXT_coordinate_frame 1 + +#define GL_TANGENT_ARRAY_EXT 0x8439 +#define GL_BINORMAL_ARRAY_EXT 0x843A +#define GL_CURRENT_TANGENT_EXT 0x843B +#define GL_CURRENT_BINORMAL_EXT 0x843C +#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E +#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F +#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 +#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 +#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 +#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 +#define GL_MAP1_TANGENT_EXT 0x8444 +#define GL_MAP2_TANGENT_EXT 0x8445 +#define GL_MAP1_BINORMAL_EXT 0x8446 +#define GL_MAP2_BINORMAL_EXT 0x8447 + +typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer); + +#define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT) +#define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT) + +#define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame) + +#endif /* GL_EXT_coordinate_frame */ + +/* --------------------------- GL_EXT_copy_image --------------------------- */ + +#ifndef GL_EXT_copy_image +#define GL_EXT_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); + +#define glCopyImageSubDataEXT GLEW_GET_FUN(__glewCopyImageSubDataEXT) + +#define GLEW_EXT_copy_image GLEW_GET_VAR(__GLEW_EXT_copy_image) + +#endif /* GL_EXT_copy_image */ + +/* -------------------------- GL_EXT_copy_texture -------------------------- */ + +#ifndef GL_EXT_copy_texture +#define GL_EXT_copy_texture 1 + +typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); + +#define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT) +#define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT) +#define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT) +#define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT) +#define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT) + +#define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture) + +#endif /* GL_EXT_copy_texture */ + +/* --------------------------- GL_EXT_cull_vertex -------------------------- */ + +#ifndef GL_EXT_cull_vertex +#define GL_EXT_cull_vertex 1 + +#define GL_CULL_VERTEX_EXT 0x81AA +#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB +#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC + +typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); + +#define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT) +#define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT) + +#define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex) + +#endif /* GL_EXT_cull_vertex */ + +/* --------------------------- GL_EXT_debug_label -------------------------- */ + +#ifndef GL_EXT_debug_label +#define GL_EXT_debug_label 1 + +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 + +typedef void (GLAPIENTRY * PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar* label); + +#define glGetObjectLabelEXT GLEW_GET_FUN(__glewGetObjectLabelEXT) +#define glLabelObjectEXT GLEW_GET_FUN(__glewLabelObjectEXT) + +#define GLEW_EXT_debug_label GLEW_GET_VAR(__GLEW_EXT_debug_label) + +#endif /* GL_EXT_debug_label */ + +/* -------------------------- GL_EXT_debug_marker -------------------------- */ + +#ifndef GL_EXT_debug_marker +#define GL_EXT_debug_marker 1 + +typedef void (GLAPIENTRY * PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar* marker); +typedef void (GLAPIENTRY * PFNGLPOPGROUPMARKEREXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar* marker); + +#define glInsertEventMarkerEXT GLEW_GET_FUN(__glewInsertEventMarkerEXT) +#define glPopGroupMarkerEXT GLEW_GET_FUN(__glewPopGroupMarkerEXT) +#define glPushGroupMarkerEXT GLEW_GET_FUN(__glewPushGroupMarkerEXT) + +#define GLEW_EXT_debug_marker GLEW_GET_VAR(__GLEW_EXT_debug_marker) + +#endif /* GL_EXT_debug_marker */ + +/* ------------------------ GL_EXT_depth_bounds_test ----------------------- */ + +#ifndef GL_EXT_depth_bounds_test +#define GL_EXT_depth_bounds_test 1 + +#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 +#define GL_DEPTH_BOUNDS_EXT 0x8891 + +typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); + +#define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT) + +#define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test) + +#endif /* GL_EXT_depth_bounds_test */ + +/* ----------------------- GL_EXT_direct_state_access ---------------------- */ + +#ifndef GL_EXT_direct_state_access +#define GL_EXT_direct_state_access 1 + +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F + +typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); +typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); +typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); +typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void *img); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void *img); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void *string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, void** params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, void** params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, void** param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, void** param); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); + +#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT) +#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT) +#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT) +#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT) +#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT) +#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT) +#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT) +#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT) +#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT) +#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT) +#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT) +#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT) +#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT) +#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT) +#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT) +#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT) +#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT) +#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT) +#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT) +#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT) +#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT) +#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT) +#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT) +#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT) +#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT) +#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT) +#define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT) +#define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT) +#define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT) +#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT) +#define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT) +#define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT) +#define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT) +#define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT) +#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT) +#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT) +#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT) +#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT) +#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT) +#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT) +#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT) +#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT) +#define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT) +#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT) +#define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT) +#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT) +#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT) +#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT) +#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT) +#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT) +#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT) +#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT) +#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT) +#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT) +#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT) +#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT) +#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT) +#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT) +#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT) +#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT) +#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT) +#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT) +#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT) +#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT) +#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT) +#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT) +#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT) +#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT) +#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT) +#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT) +#define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT) +#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT) +#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT) +#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT) +#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT) +#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT) +#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT) +#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT) +#define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT) +#define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT) +#define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT) +#define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT) +#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT) +#define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT) +#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT) +#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT) +#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT) +#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT) +#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT) +#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT) +#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT) +#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT) +#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT) +#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT) +#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT) +#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT) +#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT) +#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT) +#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT) +#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT) +#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT) +#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT) +#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT) +#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT) +#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT) +#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT) +#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT) +#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT) +#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT) +#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT) +#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT) +#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT) +#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT) +#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT) +#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT) +#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT) +#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT) +#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT) +#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT) +#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT) +#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT) +#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT) +#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT) +#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT) +#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT) +#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT) +#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT) +#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT) +#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT) +#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT) +#define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT) +#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT) +#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT) +#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT) +#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT) +#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT) +#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT) +#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT) +#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT) +#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT) +#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT) +#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT) +#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT) +#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT) +#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT) +#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT) +#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT) +#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT) +#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT) +#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT) +#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT) +#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT) +#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT) +#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT) +#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT) +#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT) +#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT) +#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT) +#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT) +#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT) +#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT) +#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT) +#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT) +#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT) +#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT) +#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT) +#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT) +#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT) +#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT) +#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT) +#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT) +#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT) +#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT) +#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT) +#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT) +#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT) +#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT) +#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT) +#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT) +#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT) +#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT) +#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT) +#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT) +#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT) +#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT) +#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT) +#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT) +#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT) +#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT) +#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT) +#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT) +#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT) +#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT) +#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT) +#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT) +#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT) +#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT) +#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT) +#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT) +#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT) +#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT) +#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT) +#define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT) +#define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT) +#define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT) +#define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT) +#define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT) +#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT) +#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT) +#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT) +#define glVertexArrayVertexAttribDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribDivisorEXT) +#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT) +#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT) +#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT) + +#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access) + +#endif /* GL_EXT_direct_state_access */ + +/* ----------------------- GL_EXT_discard_framebuffer ---------------------- */ + +#ifndef GL_EXT_discard_framebuffer +#define GL_EXT_discard_framebuffer 1 + +#define GL_COLOR_EXT 0x1800 +#define GL_DEPTH_EXT 0x1801 +#define GL_STENCIL_EXT 0x1802 + +typedef void (GLAPIENTRY * PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments); + +#define glDiscardFramebufferEXT GLEW_GET_FUN(__glewDiscardFramebufferEXT) + +#define GLEW_EXT_discard_framebuffer GLEW_GET_VAR(__GLEW_EXT_discard_framebuffer) + +#endif /* GL_EXT_discard_framebuffer */ + +/* -------------------------- GL_EXT_draw_buffers -------------------------- */ + +#ifndef GL_EXT_draw_buffers +#define GL_EXT_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 +#define GL_DRAW_BUFFER0_EXT 0x8825 +#define GL_DRAW_BUFFER1_EXT 0x8826 +#define GL_DRAW_BUFFER2_EXT 0x8827 +#define GL_DRAW_BUFFER3_EXT 0x8828 +#define GL_DRAW_BUFFER4_EXT 0x8829 +#define GL_DRAW_BUFFER5_EXT 0x882A +#define GL_DRAW_BUFFER6_EXT 0x882B +#define GL_DRAW_BUFFER7_EXT 0x882C +#define GL_DRAW_BUFFER8_EXT 0x882D +#define GL_DRAW_BUFFER9_EXT 0x882E +#define GL_DRAW_BUFFER10_EXT 0x882F +#define GL_DRAW_BUFFER11_EXT 0x8830 +#define GL_DRAW_BUFFER12_EXT 0x8831 +#define GL_DRAW_BUFFER13_EXT 0x8832 +#define GL_DRAW_BUFFER14_EXT 0x8833 +#define GL_DRAW_BUFFER15_EXT 0x8834 +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersEXT GLEW_GET_FUN(__glewDrawBuffersEXT) + +#define GLEW_EXT_draw_buffers GLEW_GET_VAR(__GLEW_EXT_draw_buffers) + +#endif /* GL_EXT_draw_buffers */ + +/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ + +#ifndef GL_EXT_draw_buffers2 +#define GL_EXT_draw_buffers2 1 + +typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data); +typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); + +#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) +#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT) +#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT) +#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT) +#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT) +#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT) + +#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2) + +#endif /* GL_EXT_draw_buffers2 */ + +/* ---------------------- GL_EXT_draw_buffers_indexed ---------------------- */ + +#ifndef GL_EXT_draw_buffers_indexed +#define GL_EXT_draw_buffers_indexed 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIEXTPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIEXTPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIEXTPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIEXTPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLCOLORMASKIEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAPIENTRY * PFNGLDISABLEIEXTPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEIEXTPROC) (GLenum target, GLuint index); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIEXTPROC) (GLenum target, GLuint index); + +#define glBlendEquationSeparateiEXT GLEW_GET_FUN(__glewBlendEquationSeparateiEXT) +#define glBlendEquationiEXT GLEW_GET_FUN(__glewBlendEquationiEXT) +#define glBlendFuncSeparateiEXT GLEW_GET_FUN(__glewBlendFuncSeparateiEXT) +#define glBlendFunciEXT GLEW_GET_FUN(__glewBlendFunciEXT) +#define glColorMaskiEXT GLEW_GET_FUN(__glewColorMaskiEXT) +#define glDisableiEXT GLEW_GET_FUN(__glewDisableiEXT) +#define glEnableiEXT GLEW_GET_FUN(__glewEnableiEXT) +#define glIsEnablediEXT GLEW_GET_FUN(__glewIsEnablediEXT) + +#define GLEW_EXT_draw_buffers_indexed GLEW_GET_VAR(__GLEW_EXT_draw_buffers_indexed) + +#endif /* GL_EXT_draw_buffers_indexed */ + +/* -------------------- GL_EXT_draw_elements_base_vertex ------------------- */ + +#ifndef GL_EXT_draw_elements_base_vertex +#define GL_EXT_draw_elements_base_vertex 1 + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, const GLsizei* count, GLenum type, const void *const *indices, GLsizei primcount, const GLint *basevertex); + +#define glDrawElementsBaseVertexEXT GLEW_GET_FUN(__glewDrawElementsBaseVertexEXT) +#define glDrawElementsInstancedBaseVertexEXT GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexEXT) +#define glDrawRangeElementsBaseVertexEXT GLEW_GET_FUN(__glewDrawRangeElementsBaseVertexEXT) +#define glMultiDrawElementsBaseVertexEXT GLEW_GET_FUN(__glewMultiDrawElementsBaseVertexEXT) + +#define GLEW_EXT_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_EXT_draw_elements_base_vertex) + +#endif /* GL_EXT_draw_elements_base_vertex */ + +/* ------------------------- GL_EXT_draw_instanced ------------------------- */ + +#ifndef GL_EXT_draw_instanced +#define GL_EXT_draw_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); + +#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT) +#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT) + +#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced) + +#endif /* GL_EXT_draw_instanced */ + +/* ----------------------- GL_EXT_draw_range_elements ---------------------- */ + +#ifndef GL_EXT_draw_range_elements +#define GL_EXT_draw_range_elements 1 + +#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 +#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 + +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); + +#define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT) + +#define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements) + +#endif /* GL_EXT_draw_range_elements */ + +/* ------------------------- GL_EXT_external_buffer ------------------------ */ + +#ifndef GL_EXT_external_buffer +#define GL_EXT_external_buffer 1 + +typedef void* GLeglClientBufferEXT; + +typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); + +#define glBufferStorageExternalEXT GLEW_GET_FUN(__glewBufferStorageExternalEXT) +#define glNamedBufferStorageExternalEXT GLEW_GET_FUN(__glewNamedBufferStorageExternalEXT) + +#define GLEW_EXT_external_buffer GLEW_GET_VAR(__GLEW_EXT_external_buffer) + +#endif /* GL_EXT_external_buffer */ + +/* --------------------------- GL_EXT_float_blend -------------------------- */ + +#ifndef GL_EXT_float_blend +#define GL_EXT_float_blend 1 + +#define GLEW_EXT_float_blend GLEW_GET_VAR(__GLEW_EXT_float_blend) + +#endif /* GL_EXT_float_blend */ + +/* ---------------------------- GL_EXT_fog_coord --------------------------- */ + +#ifndef GL_EXT_fog_coord +#define GL_EXT_fog_coord 1 + +#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 +#define GL_FOG_COORDINATE_EXT 0x8451 +#define GL_FRAGMENT_DEPTH_EXT 0x8452 +#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 +#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 + +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord); + +#define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT) +#define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT) +#define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT) +#define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT) +#define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT) + +#define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord) + +#endif /* GL_EXT_fog_coord */ + +/* --------------------------- GL_EXT_frag_depth --------------------------- */ + +#ifndef GL_EXT_frag_depth +#define GL_EXT_frag_depth 1 + +#define GLEW_EXT_frag_depth GLEW_GET_VAR(__GLEW_EXT_frag_depth) + +#endif /* GL_EXT_frag_depth */ + +/* ------------------------ GL_EXT_fragment_lighting ----------------------- */ + +#ifndef GL_EXT_fragment_lighting +#define GL_EXT_fragment_lighting 1 + +#define GL_FRAGMENT_LIGHTING_EXT 0x8400 +#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401 +#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402 +#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403 +#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404 +#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405 +#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406 +#define GL_LIGHT_ENV_MODE_EXT 0x8407 +#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408 +#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409 +#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A +#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B +#define GL_FRAGMENT_LIGHT0_EXT 0x840C +#define GL_FRAGMENT_LIGHT7_EXT 0x8413 + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param); + +#define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT) +#define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT) +#define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT) +#define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT) +#define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT) +#define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT) +#define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT) +#define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT) +#define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT) +#define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT) +#define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT) +#define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT) +#define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT) +#define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT) +#define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT) +#define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT) +#define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT) +#define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT) + +#define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting) + +#endif /* GL_EXT_fragment_lighting */ + +/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */ + +#ifndef GL_EXT_framebuffer_blit +#define GL_EXT_framebuffer_blit 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA + +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + +#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT) + +#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit) + +#endif /* GL_EXT_framebuffer_blit */ + +/* --------------------- GL_EXT_framebuffer_multisample -------------------- */ + +#ifndef GL_EXT_framebuffer_multisample +#define GL_EXT_framebuffer_multisample 1 + +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT) + +#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample) + +#endif /* GL_EXT_framebuffer_multisample */ + +/* --------------- GL_EXT_framebuffer_multisample_blit_scaled -------------- */ + +#ifndef GL_EXT_framebuffer_multisample_blit_scaled +#define GL_EXT_framebuffer_multisample_blit_scaled 1 + +#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA +#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB + +#define GLEW_EXT_framebuffer_multisample_blit_scaled GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample_blit_scaled) + +#endif /* GL_EXT_framebuffer_multisample_blit_scaled */ + +/* ----------------------- GL_EXT_framebuffer_object ----------------------- */ + +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 + +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 + +typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); +typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); +typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); +typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); + +#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT) +#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT) +#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT) +#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT) +#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT) +#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT) +#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT) +#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT) +#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT) +#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT) +#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT) +#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT) +#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT) +#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT) +#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT) +#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT) +#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT) + +#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object) + +#endif /* GL_EXT_framebuffer_object */ + +/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */ + +#ifndef GL_EXT_framebuffer_sRGB +#define GL_EXT_framebuffer_sRGB 1 + +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 +#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA + +#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB) + +#endif /* GL_EXT_framebuffer_sRGB */ + +/* ----------------------- GL_EXT_geometry_point_size ---------------------- */ + +#ifndef GL_EXT_geometry_point_size +#define GL_EXT_geometry_point_size 1 + +#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004 +#define GL_LINES_ADJACENCY_EXT 0xA +#define GL_LINE_STRIP_ADJACENCY_EXT 0xB +#define GL_TRIANGLES_ADJACENCY_EXT 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD +#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E +#define GL_UNDEFINED_VERTEX_EXT 0x8260 +#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F +#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916 +#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917 +#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5 +#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312 +#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317 + +#define GLEW_EXT_geometry_point_size GLEW_GET_VAR(__GLEW_EXT_geometry_point_size) + +#endif /* GL_EXT_geometry_point_size */ + +/* ------------------------- GL_EXT_geometry_shader ------------------------ */ + +#ifndef GL_EXT_geometry_shader +#define GL_EXT_geometry_shader 1 + +#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004 +#define GL_LINES_ADJACENCY_EXT 0xA +#define GL_LINE_STRIP_ADJACENCY_EXT 0xB +#define GL_TRIANGLES_ADJACENCY_EXT 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD +#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E +#define GL_UNDEFINED_VERTEX_EXT 0x8260 +#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F +#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916 +#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917 +#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5 +#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312 +#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317 + +#define GLEW_EXT_geometry_shader GLEW_GET_VAR(__GLEW_EXT_geometry_shader) + +#endif /* GL_EXT_geometry_shader */ + +/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */ + +#ifndef GL_EXT_geometry_shader4 +#define GL_EXT_geometry_shader4 1 + +#define GL_LINES_ADJACENCY_EXT 0xA +#define GL_LINE_STRIP_ADJACENCY_EXT 0xB +#define GL_TRIANGLES_ADJACENCY_EXT 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD +#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 +#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); + +#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) +#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) +#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) + +#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) + +#endif /* GL_EXT_geometry_shader4 */ + +/* --------------------- GL_EXT_gpu_program_parameters --------------------- */ + +#ifndef GL_EXT_gpu_program_parameters +#define GL_EXT_gpu_program_parameters 1 + +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); + +#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT) +#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT) + +#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters) + +#endif /* GL_EXT_gpu_program_parameters */ + +/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */ + +#ifndef GL_EXT_gpu_shader4 +#define GL_EXT_gpu_shader4 1 + +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD +#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 +#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 +#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 +#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 +#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 +#define GL_INT_SAMPLER_1D_EXT 0x8DC9 +#define GL_INT_SAMPLER_2D_EXT 0x8DCA +#define GL_INT_SAMPLER_3D_EXT 0x8DCB +#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC +#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD +#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT) +#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT) +#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT) +#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT) +#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT) +#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT) +#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT) +#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT) +#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT) +#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT) +#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT) +#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT) +#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT) +#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT) +#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT) +#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT) +#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT) +#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT) +#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT) +#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT) +#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT) +#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT) +#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT) +#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT) +#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT) +#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT) +#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT) +#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT) +#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT) +#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT) +#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT) +#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT) +#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT) +#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT) + +#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4) + +#endif /* GL_EXT_gpu_shader4 */ + +/* --------------------------- GL_EXT_gpu_shader5 -------------------------- */ + +#ifndef GL_EXT_gpu_shader5 +#define GL_EXT_gpu_shader5 1 + +#define GLEW_EXT_gpu_shader5 GLEW_GET_VAR(__GLEW_EXT_gpu_shader5) + +#endif /* GL_EXT_gpu_shader5 */ + +/* ---------------------------- GL_EXT_histogram --------------------------- */ + +#ifndef GL_EXT_histogram +#define GL_EXT_histogram 1 + +#define GL_HISTOGRAM_EXT 0x8024 +#define GL_PROXY_HISTOGRAM_EXT 0x8025 +#define GL_HISTOGRAM_WIDTH_EXT 0x8026 +#define GL_HISTOGRAM_FORMAT_EXT 0x8027 +#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C +#define GL_HISTOGRAM_SINK_EXT 0x802D +#define GL_MINMAX_EXT 0x802E +#define GL_MINMAX_FORMAT_EXT 0x802F +#define GL_MINMAX_SINK_EXT 0x8030 + +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target); + +#define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT) +#define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT) +#define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT) +#define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT) +#define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT) +#define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT) +#define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT) +#define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT) +#define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT) +#define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT) + +#define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram) + +#endif /* GL_EXT_histogram */ + +/* ----------------------- GL_EXT_index_array_formats ---------------------- */ + +#ifndef GL_EXT_index_array_formats +#define GL_EXT_index_array_formats 1 + +#define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats) + +#endif /* GL_EXT_index_array_formats */ + +/* --------------------------- GL_EXT_index_func --------------------------- */ + +#ifndef GL_EXT_index_func +#define GL_EXT_index_func 1 + +typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref); + +#define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT) + +#define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func) + +#endif /* GL_EXT_index_func */ + +/* ------------------------- GL_EXT_index_material ------------------------- */ + +#ifndef GL_EXT_index_material +#define GL_EXT_index_material 1 + +typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); + +#define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT) + +#define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material) + +#endif /* GL_EXT_index_material */ + +/* -------------------------- GL_EXT_index_texture ------------------------- */ + +#ifndef GL_EXT_index_texture +#define GL_EXT_index_texture 1 + +#define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture) + +#endif /* GL_EXT_index_texture */ + +/* ------------------------ GL_EXT_instanced_arrays ------------------------ */ + +#ifndef GL_EXT_instanced_arrays +#define GL_EXT_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor); + +#define glVertexAttribDivisorEXT GLEW_GET_FUN(__glewVertexAttribDivisorEXT) + +#define GLEW_EXT_instanced_arrays GLEW_GET_VAR(__GLEW_EXT_instanced_arrays) + +#endif /* GL_EXT_instanced_arrays */ + +/* -------------------------- GL_EXT_light_texture ------------------------- */ + +#ifndef GL_EXT_light_texture +#define GL_EXT_light_texture 1 + +#define GL_FRAGMENT_MATERIAL_EXT 0x8349 +#define GL_FRAGMENT_NORMAL_EXT 0x834A +#define GL_FRAGMENT_COLOR_EXT 0x834C +#define GL_ATTENUATION_EXT 0x834D +#define GL_SHADOW_ATTENUATION_EXT 0x834E +#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F +#define GL_TEXTURE_LIGHT_EXT 0x8350 +#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 +#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 + +typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); +typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname); +typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); + +#define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT) +#define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT) +#define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT) + +#define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture) + +#endif /* GL_EXT_light_texture */ + +/* ------------------------ GL_EXT_map_buffer_range ------------------------ */ + +#ifndef GL_EXT_map_buffer_range +#define GL_EXT_map_buffer_range 1 + +#define GL_MAP_READ_BIT_EXT 0x0001 +#define GL_MAP_WRITE_BIT_EXT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 + +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +typedef void * (GLAPIENTRY * PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); + +#define glFlushMappedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedBufferRangeEXT) +#define glMapBufferRangeEXT GLEW_GET_FUN(__glewMapBufferRangeEXT) + +#define GLEW_EXT_map_buffer_range GLEW_GET_VAR(__GLEW_EXT_map_buffer_range) + +#endif /* GL_EXT_map_buffer_range */ + +/* -------------------------- GL_EXT_memory_object ------------------------- */ + +#ifndef GL_EXT_memory_object +#define GL_EXT_memory_object 1 + +#define GL_UUID_SIZE_EXT 16 +#define GL_TEXTURE_TILING_EXT 0x9580 +#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581 +#define GL_NUM_TILING_TYPES_EXT 0x9582 +#define GL_TILING_TYPES_EXT 0x9583 +#define GL_OPTIMAL_TILING_EXT 0x9584 +#define GL_LINEAR_TILING_EXT 0x9585 +#define GL_LAYOUT_GENERAL_EXT 0x958D +#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E +#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F +#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590 +#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591 +#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592 +#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593 +#define GL_NUM_DEVICE_UUIDS_EXT 0x9596 +#define GL_DEVICE_UUID_EXT 0x9597 +#define GL_DRIVER_UUID_EXT 0x9598 +#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B + +typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint* memoryObjects); +typedef void (GLAPIENTRY * PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint* memoryObjects); +typedef void (GLAPIENTRY * PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte* data); +typedef void (GLAPIENTRY * PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte* data); +typedef GLboolean (GLAPIENTRY * PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject); +typedef void (GLAPIENTRY * PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGEMEM1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGEMEM1DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); + +#define glBufferStorageMemEXT GLEW_GET_FUN(__glewBufferStorageMemEXT) +#define glCreateMemoryObjectsEXT GLEW_GET_FUN(__glewCreateMemoryObjectsEXT) +#define glDeleteMemoryObjectsEXT GLEW_GET_FUN(__glewDeleteMemoryObjectsEXT) +#define glGetMemoryObjectParameterivEXT GLEW_GET_FUN(__glewGetMemoryObjectParameterivEXT) +#define glGetUnsignedBytei_vEXT GLEW_GET_FUN(__glewGetUnsignedBytei_vEXT) +#define glGetUnsignedBytevEXT GLEW_GET_FUN(__glewGetUnsignedBytevEXT) +#define glIsMemoryObjectEXT GLEW_GET_FUN(__glewIsMemoryObjectEXT) +#define glMemoryObjectParameterivEXT GLEW_GET_FUN(__glewMemoryObjectParameterivEXT) +#define glNamedBufferStorageMemEXT GLEW_GET_FUN(__glewNamedBufferStorageMemEXT) +#define glTexStorageMem1DEXT GLEW_GET_FUN(__glewTexStorageMem1DEXT) +#define glTexStorageMem2DEXT GLEW_GET_FUN(__glewTexStorageMem2DEXT) +#define glTexStorageMem2DMultisampleEXT GLEW_GET_FUN(__glewTexStorageMem2DMultisampleEXT) +#define glTexStorageMem3DEXT GLEW_GET_FUN(__glewTexStorageMem3DEXT) +#define glTexStorageMem3DMultisampleEXT GLEW_GET_FUN(__glewTexStorageMem3DMultisampleEXT) +#define glTextureStorageMem1DEXT GLEW_GET_FUN(__glewTextureStorageMem1DEXT) +#define glTextureStorageMem2DEXT GLEW_GET_FUN(__glewTextureStorageMem2DEXT) +#define glTextureStorageMem2DMultisampleEXT GLEW_GET_FUN(__glewTextureStorageMem2DMultisampleEXT) +#define glTextureStorageMem3DEXT GLEW_GET_FUN(__glewTextureStorageMem3DEXT) +#define glTextureStorageMem3DMultisampleEXT GLEW_GET_FUN(__glewTextureStorageMem3DMultisampleEXT) + +#define GLEW_EXT_memory_object GLEW_GET_VAR(__GLEW_EXT_memory_object) + +#endif /* GL_EXT_memory_object */ + +/* ------------------------ GL_EXT_memory_object_fd ------------------------ */ + +#ifndef GL_EXT_memory_object_fd +#define GL_EXT_memory_object_fd 1 + +#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586 + +typedef void (GLAPIENTRY * PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); + +#define glImportMemoryFdEXT GLEW_GET_FUN(__glewImportMemoryFdEXT) + +#define GLEW_EXT_memory_object_fd GLEW_GET_VAR(__GLEW_EXT_memory_object_fd) + +#endif /* GL_EXT_memory_object_fd */ + +/* ----------------------- GL_EXT_memory_object_win32 ---------------------- */ + +#ifndef GL_EXT_memory_object_win32 +#define GL_EXT_memory_object_win32 1 + +#define GL_LUID_SIZE_EXT 8 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588 +#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589 +#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A +#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B +#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C +#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594 +#define GL_D3D12_FENCE_VALUE_EXT 0x9595 +#define GL_DEVICE_LUID_EXT 0x9599 +#define GL_DEVICE_NODE_MASK_EXT 0x959A + +typedef void (GLAPIENTRY * PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle); +typedef void (GLAPIENTRY * PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name); + +#define glImportMemoryWin32HandleEXT GLEW_GET_FUN(__glewImportMemoryWin32HandleEXT) +#define glImportMemoryWin32NameEXT GLEW_GET_FUN(__glewImportMemoryWin32NameEXT) + +#define GLEW_EXT_memory_object_win32 GLEW_GET_VAR(__GLEW_EXT_memory_object_win32) + +#endif /* GL_EXT_memory_object_win32 */ + +/* ------------------------- GL_EXT_misc_attribute ------------------------- */ + +#ifndef GL_EXT_misc_attribute +#define GL_EXT_misc_attribute 1 + +#define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute) + +#endif /* GL_EXT_misc_attribute */ + +/* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */ + +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const void *const *indices, GLsizei primcount); + +#define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT) +#define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT) + +#define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays) + +#endif /* GL_EXT_multi_draw_arrays */ + +/* ----------------------- GL_EXT_multi_draw_indirect ---------------------- */ + +#ifndef GL_EXT_multi_draw_indirect +#define GL_EXT_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); + +#define glMultiDrawArraysIndirectEXT GLEW_GET_FUN(__glewMultiDrawArraysIndirectEXT) +#define glMultiDrawElementsIndirectEXT GLEW_GET_FUN(__glewMultiDrawElementsIndirectEXT) + +#define GLEW_EXT_multi_draw_indirect GLEW_GET_VAR(__GLEW_EXT_multi_draw_indirect) + +#endif /* GL_EXT_multi_draw_indirect */ + +/* ------------------------ GL_EXT_multiple_textures ----------------------- */ + +#ifndef GL_EXT_multiple_textures +#define GL_EXT_multiple_textures 1 + +#define GLEW_EXT_multiple_textures GLEW_GET_VAR(__GLEW_EXT_multiple_textures) + +#endif /* GL_EXT_multiple_textures */ + +/* --------------------------- GL_EXT_multisample -------------------------- */ + +#ifndef GL_EXT_multisample +#define GL_EXT_multisample 1 + +#define GL_MULTISAMPLE_EXT 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F +#define GL_SAMPLE_MASK_EXT 0x80A0 +#define GL_1PASS_EXT 0x80A1 +#define GL_2PASS_0_EXT 0x80A2 +#define GL_2PASS_1_EXT 0x80A3 +#define GL_4PASS_0_EXT 0x80A4 +#define GL_4PASS_1_EXT 0x80A5 +#define GL_4PASS_2_EXT 0x80A6 +#define GL_4PASS_3_EXT 0x80A7 +#define GL_SAMPLE_BUFFERS_EXT 0x80A8 +#define GL_SAMPLES_EXT 0x80A9 +#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA +#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB +#define GL_SAMPLE_PATTERN_EXT 0x80AC +#define GL_MULTISAMPLE_BIT_EXT 0x20000000 + +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); + +#define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT) +#define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT) + +#define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample) + +#endif /* GL_EXT_multisample */ + +/* -------------------- GL_EXT_multisample_compatibility ------------------- */ + +#ifndef GL_EXT_multisample_compatibility +#define GL_EXT_multisample_compatibility 1 + +#define GL_MULTISAMPLE_EXT 0x809D +#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F + +#define GLEW_EXT_multisample_compatibility GLEW_GET_VAR(__GLEW_EXT_multisample_compatibility) + +#endif /* GL_EXT_multisample_compatibility */ + +/* ----------------- GL_EXT_multisampled_render_to_texture ----------------- */ + +#ifndef GL_EXT_multisampled_render_to_texture +#define GL_EXT_multisampled_render_to_texture 1 + +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); + +#define glFramebufferTexture2DMultisampleEXT GLEW_GET_FUN(__glewFramebufferTexture2DMultisampleEXT) + +#define GLEW_EXT_multisampled_render_to_texture GLEW_GET_VAR(__GLEW_EXT_multisampled_render_to_texture) + +#endif /* GL_EXT_multisampled_render_to_texture */ + +/* ----------------- GL_EXT_multisampled_render_to_texture2 ---------------- */ + +#ifndef GL_EXT_multisampled_render_to_texture2 +#define GL_EXT_multisampled_render_to_texture2 1 + +#define GLEW_EXT_multisampled_render_to_texture2 GLEW_GET_VAR(__GLEW_EXT_multisampled_render_to_texture2) + +#endif /* GL_EXT_multisampled_render_to_texture2 */ + +/* --------------------- GL_EXT_multiview_draw_buffers --------------------- */ + +#ifndef GL_EXT_multiview_draw_buffers +#define GL_EXT_multiview_draw_buffers 1 + +#define GL_DRAW_BUFFER_EXT 0x0C01 +#define GL_READ_BUFFER_EXT 0x0C02 +#define GL_COLOR_ATTACHMENT_EXT 0x90F0 +#define GL_MULTIVIEW_EXT 0x90F1 +#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum* location, const GLint *indices); +typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint* data); +typedef void (GLAPIENTRY * PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); + +#define glDrawBuffersIndexedEXT GLEW_GET_FUN(__glewDrawBuffersIndexedEXT) +#define glGetIntegeri_vEXT GLEW_GET_FUN(__glewGetIntegeri_vEXT) +#define glReadBufferIndexedEXT GLEW_GET_FUN(__glewReadBufferIndexedEXT) + +#define GLEW_EXT_multiview_draw_buffers GLEW_GET_VAR(__GLEW_EXT_multiview_draw_buffers) + +#endif /* GL_EXT_multiview_draw_buffers */ + +/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */ + +#ifndef GL_EXT_packed_depth_stencil +#define GL_EXT_packed_depth_stencil 1 + +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 + +#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil) + +#endif /* GL_EXT_packed_depth_stencil */ + +/* -------------------------- GL_EXT_packed_float -------------------------- */ + +#ifndef GL_EXT_packed_float +#define GL_EXT_packed_float 1 + +#define GL_R11F_G11F_B10F_EXT 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B +#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C + +#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float) + +#endif /* GL_EXT_packed_float */ + +/* -------------------------- GL_EXT_packed_pixels ------------------------- */ + +#ifndef GL_EXT_packed_pixels +#define GL_EXT_packed_pixels 1 + +#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 + +#define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels) + +#endif /* GL_EXT_packed_pixels */ + +/* ------------------------ GL_EXT_paletted_texture ------------------------ */ + +#ifndef GL_EXT_paletted_texture +#define GL_EXT_paletted_texture 1 + +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 +#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF +#define GL_COLOR_INDEX1_EXT 0x80E2 +#define GL_COLOR_INDEX2_EXT 0x80E3 +#define GL_COLOR_INDEX4_EXT 0x80E4 +#define GL_COLOR_INDEX8_EXT 0x80E5 +#define GL_COLOR_INDEX12_EXT 0x80E6 +#define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED +#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 +#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B + +typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void *data); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); + +#define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT) +#define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT) +#define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT) +#define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT) + +#define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture) + +#endif /* GL_EXT_paletted_texture */ + +/* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */ + +#ifndef GL_EXT_pixel_buffer_object +#define GL_EXT_pixel_buffer_object 1 + +#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF + +#define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object) + +#endif /* GL_EXT_pixel_buffer_object */ + +/* ------------------------- GL_EXT_pixel_transform ------------------------ */ + +#ifndef GL_EXT_pixel_transform +#define GL_EXT_pixel_transform 1 + +#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 +#define GL_PIXEL_MAG_FILTER_EXT 0x8331 +#define GL_PIXEL_MIN_FILTER_EXT 0x8332 +#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 +#define GL_CUBIC_EXT 0x8334 +#define GL_AVERAGE_EXT 0x8335 +#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 +#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 +#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 + +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT) +#define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT) +#define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT) +#define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT) +#define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT) +#define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT) + +#define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform) + +#endif /* GL_EXT_pixel_transform */ + +/* ------------------- GL_EXT_pixel_transform_color_table ------------------ */ + +#ifndef GL_EXT_pixel_transform_color_table +#define GL_EXT_pixel_transform_color_table 1 + +#define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table) + +#endif /* GL_EXT_pixel_transform_color_table */ + +/* ------------------------ GL_EXT_point_parameters ------------------------ */ + +#ifndef GL_EXT_point_parameters +#define GL_EXT_point_parameters 1 + +#define GL_POINT_SIZE_MIN_EXT 0x8126 +#define GL_POINT_SIZE_MAX_EXT 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 +#define GL_DISTANCE_ATTENUATION_EXT 0x8129 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat* params); + +#define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT) +#define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT) + +#define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters) + +#endif /* GL_EXT_point_parameters */ + +/* ------------------------- GL_EXT_polygon_offset ------------------------- */ + +#ifndef GL_EXT_polygon_offset +#define GL_EXT_polygon_offset 1 + +#define GL_POLYGON_OFFSET_EXT 0x8037 +#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 +#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 + +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); + +#define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT) + +#define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset) + +#endif /* GL_EXT_polygon_offset */ + +/* ---------------------- GL_EXT_polygon_offset_clamp ---------------------- */ + +#ifndef GL_EXT_polygon_offset_clamp +#define GL_EXT_polygon_offset_clamp 1 + +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B + +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); + +#define glPolygonOffsetClampEXT GLEW_GET_FUN(__glewPolygonOffsetClampEXT) + +#define GLEW_EXT_polygon_offset_clamp GLEW_GET_VAR(__GLEW_EXT_polygon_offset_clamp) + +#endif /* GL_EXT_polygon_offset_clamp */ + +/* ----------------------- GL_EXT_post_depth_coverage ---------------------- */ + +#ifndef GL_EXT_post_depth_coverage +#define GL_EXT_post_depth_coverage 1 + +#define GLEW_EXT_post_depth_coverage GLEW_GET_VAR(__GLEW_EXT_post_depth_coverage) + +#endif /* GL_EXT_post_depth_coverage */ + +/* ------------------------ GL_EXT_provoking_vertex ------------------------ */ + +#ifndef GL_EXT_provoking_vertex +#define GL_EXT_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_PROVOKING_VERTEX_EXT 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); + +#define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT) + +#define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex) + +#endif /* GL_EXT_provoking_vertex */ + +/* --------------------------- GL_EXT_pvrtc_sRGB --------------------------- */ + +#ifndef GL_EXT_pvrtc_sRGB +#define GL_EXT_pvrtc_sRGB 1 + +#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54 +#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57 + +#define GLEW_EXT_pvrtc_sRGB GLEW_GET_VAR(__GLEW_EXT_pvrtc_sRGB) + +#endif /* GL_EXT_pvrtc_sRGB */ + +/* ----------------------- GL_EXT_raster_multisample ----------------------- */ + +#ifndef GL_EXT_raster_multisample +#define GL_EXT_raster_multisample 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 + +typedef void (GLAPIENTRY * PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); +typedef void (GLAPIENTRY * PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufsize, GLfloat* v); +typedef void (GLAPIENTRY * PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); + +#define glCoverageModulationNV GLEW_GET_FUN(__glewCoverageModulationNV) +#define glCoverageModulationTableNV GLEW_GET_FUN(__glewCoverageModulationTableNV) +#define glGetCoverageModulationTableNV GLEW_GET_FUN(__glewGetCoverageModulationTableNV) +#define glRasterSamplesEXT GLEW_GET_FUN(__glewRasterSamplesEXT) + +#define GLEW_EXT_raster_multisample GLEW_GET_VAR(__GLEW_EXT_raster_multisample) + +#endif /* GL_EXT_raster_multisample */ + +/* ------------------------ GL_EXT_read_format_bgra ------------------------ */ + +#ifndef GL_EXT_read_format_bgra +#define GL_EXT_read_format_bgra 1 + +#define GL_BGRA_EXT 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 + +#define GLEW_EXT_read_format_bgra GLEW_GET_VAR(__GLEW_EXT_read_format_bgra) + +#endif /* GL_EXT_read_format_bgra */ + +/* -------------------------- GL_EXT_render_snorm -------------------------- */ + +#ifndef GL_EXT_render_snorm +#define GL_EXT_render_snorm 1 + +#define GL_BYTE 0x1400 +#define GL_SHORT 0x1402 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM_EXT 0x8F98 +#define GL_RG16_SNORM_EXT 0x8F99 +#define GL_RGBA16_SNORM_EXT 0x8F9B + +#define GLEW_EXT_render_snorm GLEW_GET_VAR(__GLEW_EXT_render_snorm) + +#endif /* GL_EXT_render_snorm */ + +/* ------------------------- GL_EXT_rescale_normal ------------------------- */ + +#ifndef GL_EXT_rescale_normal +#define GL_EXT_rescale_normal 1 + +#define GL_RESCALE_NORMAL_EXT 0x803A + +#define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal) + +#endif /* GL_EXT_rescale_normal */ + +/* ------------------------------ GL_EXT_sRGB ------------------------------ */ + +#ifndef GL_EXT_sRGB +#define GL_EXT_sRGB 1 + +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 + +#define GLEW_EXT_sRGB GLEW_GET_VAR(__GLEW_EXT_sRGB) + +#endif /* GL_EXT_sRGB */ + +/* ----------------------- GL_EXT_sRGB_write_control ----------------------- */ + +#ifndef GL_EXT_sRGB_write_control +#define GL_EXT_sRGB_write_control 1 + +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 + +#define GLEW_EXT_sRGB_write_control GLEW_GET_VAR(__GLEW_EXT_sRGB_write_control) + +#endif /* GL_EXT_sRGB_write_control */ + +/* -------------------------- GL_EXT_scene_marker -------------------------- */ + +#ifndef GL_EXT_scene_marker +#define GL_EXT_scene_marker 1 + +typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void); + +#define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT) +#define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT) + +#define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker) + +#endif /* GL_EXT_scene_marker */ + +/* ------------------------- GL_EXT_secondary_color ------------------------ */ + +#ifndef GL_EXT_secondary_color +#define GL_EXT_secondary_color 1 + +#define GL_COLOR_SUM_EXT 0x8458 +#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D +#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E + +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT) +#define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT) +#define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT) +#define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT) +#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT) +#define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT) +#define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT) +#define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT) +#define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT) +#define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT) +#define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT) +#define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT) +#define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT) +#define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT) +#define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT) +#define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT) +#define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT) + +#define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color) + +#endif /* GL_EXT_secondary_color */ + +/* ---------------------------- GL_EXT_semaphore --------------------------- */ + +#ifndef GL_EXT_semaphore +#define GL_EXT_semaphore 1 + +typedef void (GLAPIENTRY * PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint* semaphores); +typedef void (GLAPIENTRY * PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint* semaphores); +typedef void (GLAPIENTRY * PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64* params); +typedef GLboolean (GLAPIENTRY * PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore); +typedef void (GLAPIENTRY * PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64* params); +typedef void (GLAPIENTRY * PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint* buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); +typedef void (GLAPIENTRY * PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint* buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); + +#define glDeleteSemaphoresEXT GLEW_GET_FUN(__glewDeleteSemaphoresEXT) +#define glGenSemaphoresEXT GLEW_GET_FUN(__glewGenSemaphoresEXT) +#define glGetSemaphoreParameterui64vEXT GLEW_GET_FUN(__glewGetSemaphoreParameterui64vEXT) +#define glIsSemaphoreEXT GLEW_GET_FUN(__glewIsSemaphoreEXT) +#define glSemaphoreParameterui64vEXT GLEW_GET_FUN(__glewSemaphoreParameterui64vEXT) +#define glSignalSemaphoreEXT GLEW_GET_FUN(__glewSignalSemaphoreEXT) +#define glWaitSemaphoreEXT GLEW_GET_FUN(__glewWaitSemaphoreEXT) + +#define GLEW_EXT_semaphore GLEW_GET_VAR(__GLEW_EXT_semaphore) + +#endif /* GL_EXT_semaphore */ + +/* -------------------------- GL_EXT_semaphore_fd -------------------------- */ + +#ifndef GL_EXT_semaphore_fd +#define GL_EXT_semaphore_fd 1 + +typedef void (GLAPIENTRY * PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd); + +#define glImportSemaphoreFdEXT GLEW_GET_FUN(__glewImportSemaphoreFdEXT) + +#define GLEW_EXT_semaphore_fd GLEW_GET_VAR(__GLEW_EXT_semaphore_fd) + +#endif /* GL_EXT_semaphore_fd */ + +/* ------------------------- GL_EXT_semaphore_win32 ------------------------ */ + +#ifndef GL_EXT_semaphore_win32 +#define GL_EXT_semaphore_win32 1 + +typedef void (GLAPIENTRY * PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle); +typedef void (GLAPIENTRY * PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name); + +#define glImportSemaphoreWin32HandleEXT GLEW_GET_FUN(__glewImportSemaphoreWin32HandleEXT) +#define glImportSemaphoreWin32NameEXT GLEW_GET_FUN(__glewImportSemaphoreWin32NameEXT) + +#define GLEW_EXT_semaphore_win32 GLEW_GET_VAR(__GLEW_EXT_semaphore_win32) + +#endif /* GL_EXT_semaphore_win32 */ + +/* --------------------- GL_EXT_separate_shader_objects -------------------- */ + +#ifndef GL_EXT_separate_shader_objects +#define GL_EXT_separate_shader_objects 1 + +#define GL_ACTIVE_PROGRAM_EXT 0x8B8D + +typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar* string); +typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); + +#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT) +#define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT) +#define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT) + +#define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects) + +#endif /* GL_EXT_separate_shader_objects */ + +/* --------------------- GL_EXT_separate_specular_color -------------------- */ + +#ifndef GL_EXT_separate_specular_color +#define GL_EXT_separate_specular_color 1 + +#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 +#define GL_SINGLE_COLOR_EXT 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA + +#define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color) + +#endif /* GL_EXT_separate_specular_color */ + +/* -------------------- GL_EXT_shader_framebuffer_fetch -------------------- */ + +#ifndef GL_EXT_shader_framebuffer_fetch +#define GL_EXT_shader_framebuffer_fetch 1 + +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 + +#define GLEW_EXT_shader_framebuffer_fetch GLEW_GET_VAR(__GLEW_EXT_shader_framebuffer_fetch) + +#endif /* GL_EXT_shader_framebuffer_fetch */ + +/* ------------------------ GL_EXT_shader_group_vote ----------------------- */ + +#ifndef GL_EXT_shader_group_vote +#define GL_EXT_shader_group_vote 1 + +#define GLEW_EXT_shader_group_vote GLEW_GET_VAR(__GLEW_EXT_shader_group_vote) + +#endif /* GL_EXT_shader_group_vote */ + +/* ------------------- GL_EXT_shader_image_load_formatted ------------------ */ + +#ifndef GL_EXT_shader_image_load_formatted +#define GL_EXT_shader_image_load_formatted 1 + +#define GLEW_EXT_shader_image_load_formatted GLEW_GET_VAR(__GLEW_EXT_shader_image_load_formatted) + +#endif /* GL_EXT_shader_image_load_formatted */ + +/* --------------------- GL_EXT_shader_image_load_store -------------------- */ + +#ifndef GL_EXT_shader_image_load_store +#define GL_EXT_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 +#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 +#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 +#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A +#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B +#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C +#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D +#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E +#define GL_IMAGE_1D_EXT 0x904C +#define GL_IMAGE_2D_EXT 0x904D +#define GL_IMAGE_3D_EXT 0x904E +#define GL_IMAGE_2D_RECT_EXT 0x904F +#define GL_IMAGE_CUBE_EXT 0x9050 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_IMAGE_1D_ARRAY_EXT 0x9052 +#define GL_IMAGE_2D_ARRAY_EXT 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 +#define GL_INT_IMAGE_1D_EXT 0x9057 +#define GL_INT_IMAGE_2D_EXT 0x9058 +#define GL_INT_IMAGE_3D_EXT 0x9059 +#define GL_INT_IMAGE_2D_RECT_EXT 0x905A +#define GL_INT_IMAGE_CUBE_EXT 0x905B +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D +#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C +#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D +#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E +#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers); + +#define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT) +#define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT) + +#define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store) + +#endif /* GL_EXT_shader_image_load_store */ + +/* ------------------- GL_EXT_shader_implicit_conversions ------------------ */ + +#ifndef GL_EXT_shader_implicit_conversions +#define GL_EXT_shader_implicit_conversions 1 + +#define GLEW_EXT_shader_implicit_conversions GLEW_GET_VAR(__GLEW_EXT_shader_implicit_conversions) + +#endif /* GL_EXT_shader_implicit_conversions */ + +/* ----------------------- GL_EXT_shader_integer_mix ----------------------- */ + +#ifndef GL_EXT_shader_integer_mix +#define GL_EXT_shader_integer_mix 1 + +#define GLEW_EXT_shader_integer_mix GLEW_GET_VAR(__GLEW_EXT_shader_integer_mix) + +#endif /* GL_EXT_shader_integer_mix */ + +/* ------------------------ GL_EXT_shader_io_blocks ------------------------ */ + +#ifndef GL_EXT_shader_io_blocks +#define GL_EXT_shader_io_blocks 1 + +#define GLEW_EXT_shader_io_blocks GLEW_GET_VAR(__GLEW_EXT_shader_io_blocks) + +#endif /* GL_EXT_shader_io_blocks */ + +/* ------------- GL_EXT_shader_non_constant_global_initializers ------------ */ + +#ifndef GL_EXT_shader_non_constant_global_initializers +#define GL_EXT_shader_non_constant_global_initializers 1 + +#define GLEW_EXT_shader_non_constant_global_initializers GLEW_GET_VAR(__GLEW_EXT_shader_non_constant_global_initializers) + +#endif /* GL_EXT_shader_non_constant_global_initializers */ + +/* ------------------- GL_EXT_shader_pixel_local_storage ------------------- */ + +#ifndef GL_EXT_shader_pixel_local_storage +#define GL_EXT_shader_pixel_local_storage 1 + +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63 +#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64 +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67 + +#define GLEW_EXT_shader_pixel_local_storage GLEW_GET_VAR(__GLEW_EXT_shader_pixel_local_storage) + +#endif /* GL_EXT_shader_pixel_local_storage */ + +/* ------------------- GL_EXT_shader_pixel_local_storage2 ------------------ */ + +#ifndef GL_EXT_shader_pixel_local_storage2 +#define GL_EXT_shader_pixel_local_storage2 1 + +#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT 0x9650 +#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT 0x9651 +#define GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT 0x9652 + +typedef void (GLAPIENTRY * PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC) (GLsizei offset, GLsizei n, const GLuint* values); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target, GLsizei size); +typedef GLsizei (GLAPIENTRY * PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target); + +#define glClearPixelLocalStorageuiEXT GLEW_GET_FUN(__glewClearPixelLocalStorageuiEXT) +#define glFramebufferPixelLocalStorageSizeEXT GLEW_GET_FUN(__glewFramebufferPixelLocalStorageSizeEXT) +#define glGetFramebufferPixelLocalStorageSizeEXT GLEW_GET_FUN(__glewGetFramebufferPixelLocalStorageSizeEXT) + +#define GLEW_EXT_shader_pixel_local_storage2 GLEW_GET_VAR(__GLEW_EXT_shader_pixel_local_storage2) + +#endif /* GL_EXT_shader_pixel_local_storage2 */ + +/* ----------------------- GL_EXT_shader_texture_lod ----------------------- */ + +#ifndef GL_EXT_shader_texture_lod +#define GL_EXT_shader_texture_lod 1 + +#define GLEW_EXT_shader_texture_lod GLEW_GET_VAR(__GLEW_EXT_shader_texture_lod) + +#endif /* GL_EXT_shader_texture_lod */ + +/* -------------------------- GL_EXT_shadow_funcs -------------------------- */ + +#ifndef GL_EXT_shadow_funcs +#define GL_EXT_shadow_funcs 1 + +#define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs) + +#endif /* GL_EXT_shadow_funcs */ + +/* ------------------------- GL_EXT_shadow_samplers ------------------------ */ + +#ifndef GL_EXT_shadow_samplers +#define GL_EXT_shadow_samplers 1 + +#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C +#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D +#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E +#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 + +#define GLEW_EXT_shadow_samplers GLEW_GET_VAR(__GLEW_EXT_shadow_samplers) + +#endif /* GL_EXT_shadow_samplers */ + +/* --------------------- GL_EXT_shared_texture_palette --------------------- */ + +#ifndef GL_EXT_shared_texture_palette +#define GL_EXT_shared_texture_palette 1 + +#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB + +#define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette) + +#endif /* GL_EXT_shared_texture_palette */ + +/* ------------------------- GL_EXT_sparse_texture ------------------------- */ + +#ifndef GL_EXT_sparse_texture +#define GL_EXT_sparse_texture 1 + +#define GL_TEXTURE_2D 0x0DE1 +#define GL_TEXTURE_3D 0x806F +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_TEXTURE_CUBE_MAP_ARRAY_OES 0x9009 +#define GL_VIRTUAL_PAGE_SIZE_X_EXT 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_EXT 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_EXT 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT 0x919A +#define GL_TEXTURE_SPARSE_EXT 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT 0x91A7 +#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT 0x91A8 +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT 0x91A9 +#define GL_NUM_SPARSE_LEVELS_EXT 0x91AA + +typedef void (GLAPIENTRY * PFNGLTEXPAGECOMMITMENTEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +typedef void (GLAPIENTRY * PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); + +#define glTexPageCommitmentEXT GLEW_GET_FUN(__glewTexPageCommitmentEXT) +#define glTexturePageCommitmentEXT GLEW_GET_FUN(__glewTexturePageCommitmentEXT) + +#define GLEW_EXT_sparse_texture GLEW_GET_VAR(__GLEW_EXT_sparse_texture) + +#endif /* GL_EXT_sparse_texture */ + +/* ------------------------- GL_EXT_sparse_texture2 ------------------------ */ + +#ifndef GL_EXT_sparse_texture2 +#define GL_EXT_sparse_texture2 1 + +#define GLEW_EXT_sparse_texture2 GLEW_GET_VAR(__GLEW_EXT_sparse_texture2) + +#endif /* GL_EXT_sparse_texture2 */ + +/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */ + +#ifndef GL_EXT_stencil_clear_tag +#define GL_EXT_stencil_clear_tag 1 + +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 + +#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag) + +#endif /* GL_EXT_stencil_clear_tag */ + +/* ------------------------ GL_EXT_stencil_two_side ------------------------ */ + +#ifndef GL_EXT_stencil_two_side +#define GL_EXT_stencil_two_side 1 + +#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 +#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 + +typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); + +#define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT) + +#define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side) + +#endif /* GL_EXT_stencil_two_side */ + +/* -------------------------- GL_EXT_stencil_wrap -------------------------- */ + +#ifndef GL_EXT_stencil_wrap +#define GL_EXT_stencil_wrap 1 + +#define GL_INCR_WRAP_EXT 0x8507 +#define GL_DECR_WRAP_EXT 0x8508 + +#define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap) + +#endif /* GL_EXT_stencil_wrap */ + +/* --------------------------- GL_EXT_subtexture --------------------------- */ + +#ifndef GL_EXT_subtexture +#define GL_EXT_subtexture 1 + +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); + +#define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT) +#define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT) +#define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT) + +#define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture) + +#endif /* GL_EXT_subtexture */ + +/* ----------------------------- GL_EXT_texture ---------------------------- */ + +#ifndef GL_EXT_texture +#define GL_EXT_texture 1 + +#define GL_ALPHA4_EXT 0x803B +#define GL_ALPHA8_EXT 0x803C +#define GL_ALPHA12_EXT 0x803D +#define GL_ALPHA16_EXT 0x803E +#define GL_LUMINANCE4_EXT 0x803F +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE12_EXT 0x8041 +#define GL_LUMINANCE16_EXT 0x8042 +#define GL_LUMINANCE4_ALPHA4_EXT 0x8043 +#define GL_LUMINANCE6_ALPHA2_EXT 0x8044 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_LUMINANCE12_ALPHA4_EXT 0x8046 +#define GL_LUMINANCE12_ALPHA12_EXT 0x8047 +#define GL_LUMINANCE16_ALPHA16_EXT 0x8048 +#define GL_INTENSITY_EXT 0x8049 +#define GL_INTENSITY4_EXT 0x804A +#define GL_INTENSITY8_EXT 0x804B +#define GL_INTENSITY12_EXT 0x804C +#define GL_INTENSITY16_EXT 0x804D +#define GL_RGB2_EXT 0x804E +#define GL_RGB4_EXT 0x804F +#define GL_RGB5_EXT 0x8050 +#define GL_RGB8_EXT 0x8051 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB12_EXT 0x8053 +#define GL_RGB16_EXT 0x8054 +#define GL_RGBA2_EXT 0x8055 +#define GL_RGBA4_EXT 0x8056 +#define GL_RGB5_A1_EXT 0x8057 +#define GL_RGBA8_EXT 0x8058 +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGBA12_EXT 0x805A +#define GL_RGBA16_EXT 0x805B +#define GL_TEXTURE_RED_SIZE_EXT 0x805C +#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D +#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E +#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F +#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 +#define GL_REPLACE_EXT 0x8062 +#define GL_PROXY_TEXTURE_1D_EXT 0x8063 +#define GL_PROXY_TEXTURE_2D_EXT 0x8064 + +#define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture) + +#endif /* GL_EXT_texture */ + +/* ---------------------------- GL_EXT_texture3D --------------------------- */ + +#ifndef GL_EXT_texture3D +#define GL_EXT_texture3D 1 + +#define GL_PACK_SKIP_IMAGES_EXT 0x806B +#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C +#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D +#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E +#define GL_TEXTURE_3D_EXT 0x806F +#define GL_PROXY_TEXTURE_3D_EXT 0x8070 +#define GL_TEXTURE_DEPTH_EXT 0x8071 +#define GL_TEXTURE_WRAP_R_EXT 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); + +#define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT) + +#define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D) + +#endif /* GL_EXT_texture3D */ + +/* -------------------------- GL_EXT_texture_array ------------------------- */ + +#ifndef GL_EXT_texture_array +#define GL_EXT_texture_array 1 + +#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); + +#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) + +#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) + +#endif /* GL_EXT_texture_array */ + +/* ---------------------- GL_EXT_texture_buffer_object --------------------- */ + +#ifndef GL_EXT_texture_buffer_object +#define GL_EXT_texture_buffer_object 1 + +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E + +typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); + +#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT) + +#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object) + +#endif /* GL_EXT_texture_buffer_object */ + +/* -------------- GL_EXT_texture_compression_astc_decode_mode -------------- */ + +#ifndef GL_EXT_texture_compression_astc_decode_mode +#define GL_EXT_texture_compression_astc_decode_mode 1 + +#define GL_TEXTURE_ASTC_DECODE_PRECISION_EXT 0x8F69 + +#define GLEW_EXT_texture_compression_astc_decode_mode GLEW_GET_VAR(__GLEW_EXT_texture_compression_astc_decode_mode) + +#endif /* GL_EXT_texture_compression_astc_decode_mode */ + +/* ----------- GL_EXT_texture_compression_astc_decode_mode_rgb9e5 ---------- */ + +#ifndef GL_EXT_texture_compression_astc_decode_mode_rgb9e5 +#define GL_EXT_texture_compression_astc_decode_mode_rgb9e5 1 + +#define GL_TEXTURE_ASTC_DECODE_PRECISION_EXT 0x8F69 + +#define GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5 GLEW_GET_VAR(__GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5) + +#endif /* GL_EXT_texture_compression_astc_decode_mode_rgb9e5 */ + +/* -------------------- GL_EXT_texture_compression_bptc -------------------- */ + +#ifndef GL_EXT_texture_compression_bptc +#define GL_EXT_texture_compression_bptc 1 + +#define GL_COMPRESSED_RGBA_BPTC_UNORM_EXT 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT 0x8E8F + +#define GLEW_EXT_texture_compression_bptc GLEW_GET_VAR(__GLEW_EXT_texture_compression_bptc) + +#endif /* GL_EXT_texture_compression_bptc */ + +/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */ + +#ifndef GL_EXT_texture_compression_dxt1 +#define GL_EXT_texture_compression_dxt1 1 + +#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1) + +#endif /* GL_EXT_texture_compression_dxt1 */ + +/* -------------------- GL_EXT_texture_compression_latc -------------------- */ + +#ifndef GL_EXT_texture_compression_latc +#define GL_EXT_texture_compression_latc 1 + +#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 +#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 +#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 +#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 + +#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc) + +#endif /* GL_EXT_texture_compression_latc */ + +/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */ + +#ifndef GL_EXT_texture_compression_rgtc +#define GL_EXT_texture_compression_rgtc 1 + +#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC +#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE + +#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc) + +#endif /* GL_EXT_texture_compression_rgtc */ + +/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */ + +#ifndef GL_EXT_texture_compression_s3tc +#define GL_EXT_texture_compression_s3tc 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 + +#define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc) + +#endif /* GL_EXT_texture_compression_s3tc */ + +/* ------------------------ GL_EXT_texture_cube_map ------------------------ */ + +#ifndef GL_EXT_texture_cube_map +#define GL_EXT_texture_cube_map 1 + +#define GL_NORMAL_MAP_EXT 0x8511 +#define GL_REFLECTION_MAP_EXT 0x8512 +#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C + +#define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map) + +#endif /* GL_EXT_texture_cube_map */ + +/* --------------------- GL_EXT_texture_cube_map_array --------------------- */ + +#ifndef GL_EXT_texture_cube_map_array +#define GL_EXT_texture_cube_map_array 1 + +#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A +#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A + +#define GLEW_EXT_texture_cube_map_array GLEW_GET_VAR(__GLEW_EXT_texture_cube_map_array) + +#endif /* GL_EXT_texture_cube_map_array */ + +/* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */ + +#ifndef GL_EXT_texture_edge_clamp +#define GL_EXT_texture_edge_clamp 1 + +#define GL_CLAMP_TO_EDGE_EXT 0x812F + +#define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp) + +#endif /* GL_EXT_texture_edge_clamp */ + +/* --------------------------- GL_EXT_texture_env -------------------------- */ + +#ifndef GL_EXT_texture_env +#define GL_EXT_texture_env 1 + +#define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env) + +#endif /* GL_EXT_texture_env */ + +/* ------------------------- GL_EXT_texture_env_add ------------------------ */ + +#ifndef GL_EXT_texture_env_add +#define GL_EXT_texture_env_add 1 + +#define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add) + +#endif /* GL_EXT_texture_env_add */ + +/* ----------------------- GL_EXT_texture_env_combine ---------------------- */ + +#ifndef GL_EXT_texture_env_combine +#define GL_EXT_texture_env_combine 1 + +#define GL_COMBINE_EXT 0x8570 +#define GL_COMBINE_RGB_EXT 0x8571 +#define GL_COMBINE_ALPHA_EXT 0x8572 +#define GL_RGB_SCALE_EXT 0x8573 +#define GL_ADD_SIGNED_EXT 0x8574 +#define GL_INTERPOLATE_EXT 0x8575 +#define GL_CONSTANT_EXT 0x8576 +#define GL_PRIMARY_COLOR_EXT 0x8577 +#define GL_PREVIOUS_EXT 0x8578 +#define GL_SOURCE0_RGB_EXT 0x8580 +#define GL_SOURCE1_RGB_EXT 0x8581 +#define GL_SOURCE2_RGB_EXT 0x8582 +#define GL_SOURCE0_ALPHA_EXT 0x8588 +#define GL_SOURCE1_ALPHA_EXT 0x8589 +#define GL_SOURCE2_ALPHA_EXT 0x858A +#define GL_OPERAND0_RGB_EXT 0x8590 +#define GL_OPERAND1_RGB_EXT 0x8591 +#define GL_OPERAND2_RGB_EXT 0x8592 +#define GL_OPERAND0_ALPHA_EXT 0x8598 +#define GL_OPERAND1_ALPHA_EXT 0x8599 +#define GL_OPERAND2_ALPHA_EXT 0x859A + +#define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine) + +#endif /* GL_EXT_texture_env_combine */ + +/* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */ + +#ifndef GL_EXT_texture_env_dot3 +#define GL_EXT_texture_env_dot3 1 + +#define GL_DOT3_RGB_EXT 0x8740 +#define GL_DOT3_RGBA_EXT 0x8741 + +#define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3) + +#endif /* GL_EXT_texture_env_dot3 */ + +/* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */ + +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_EXT_texture_filter_anisotropic 1 + +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF + +#define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic) + +#endif /* GL_EXT_texture_filter_anisotropic */ + +/* ---------------------- GL_EXT_texture_filter_minmax --------------------- */ + +#ifndef GL_EXT_texture_filter_minmax +#define GL_EXT_texture_filter_minmax 1 + +#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366 +#define GL_WEIGHTED_AVERAGE_EXT 0x9367 + +#define GLEW_EXT_texture_filter_minmax GLEW_GET_VAR(__GLEW_EXT_texture_filter_minmax) + +#endif /* GL_EXT_texture_filter_minmax */ + +/* --------------------- GL_EXT_texture_format_BGRA8888 -------------------- */ + +#ifndef GL_EXT_texture_format_BGRA8888 +#define GL_EXT_texture_format_BGRA8888 1 + +#define GL_BGRA_EXT 0x80E1 + +#define GLEW_EXT_texture_format_BGRA8888 GLEW_GET_VAR(__GLEW_EXT_texture_format_BGRA8888) + +#endif /* GL_EXT_texture_format_BGRA8888 */ + +/* ------------------------- GL_EXT_texture_integer ------------------------ */ + +#ifndef GL_EXT_texture_integer +#define GL_EXT_texture_integer 1 + +#define GL_RGBA32UI_EXT 0x8D70 +#define GL_RGB32UI_EXT 0x8D71 +#define GL_ALPHA32UI_EXT 0x8D72 +#define GL_INTENSITY32UI_EXT 0x8D73 +#define GL_LUMINANCE32UI_EXT 0x8D74 +#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 +#define GL_RGBA16UI_EXT 0x8D76 +#define GL_RGB16UI_EXT 0x8D77 +#define GL_ALPHA16UI_EXT 0x8D78 +#define GL_INTENSITY16UI_EXT 0x8D79 +#define GL_LUMINANCE16UI_EXT 0x8D7A +#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B +#define GL_RGBA8UI_EXT 0x8D7C +#define GL_RGB8UI_EXT 0x8D7D +#define GL_ALPHA8UI_EXT 0x8D7E +#define GL_INTENSITY8UI_EXT 0x8D7F +#define GL_LUMINANCE8UI_EXT 0x8D80 +#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 +#define GL_RGBA32I_EXT 0x8D82 +#define GL_RGB32I_EXT 0x8D83 +#define GL_ALPHA32I_EXT 0x8D84 +#define GL_INTENSITY32I_EXT 0x8D85 +#define GL_LUMINANCE32I_EXT 0x8D86 +#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 +#define GL_RGBA16I_EXT 0x8D88 +#define GL_RGB16I_EXT 0x8D89 +#define GL_ALPHA16I_EXT 0x8D8A +#define GL_INTENSITY16I_EXT 0x8D8B +#define GL_LUMINANCE16I_EXT 0x8D8C +#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D +#define GL_RGBA8I_EXT 0x8D8E +#define GL_RGB8I_EXT 0x8D8F +#define GL_ALPHA8I_EXT 0x8D90 +#define GL_INTENSITY8I_EXT 0x8D91 +#define GL_LUMINANCE8I_EXT 0x8D92 +#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 +#define GL_RED_INTEGER_EXT 0x8D94 +#define GL_GREEN_INTEGER_EXT 0x8D95 +#define GL_BLUE_INTEGER_EXT 0x8D96 +#define GL_ALPHA_INTEGER_EXT 0x8D97 +#define GL_RGB_INTEGER_EXT 0x8D98 +#define GL_RGBA_INTEGER_EXT 0x8D99 +#define GL_BGR_INTEGER_EXT 0x8D9A +#define GL_BGRA_INTEGER_EXT 0x8D9B +#define GL_LUMINANCE_INTEGER_EXT 0x8D9C +#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D +#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E + +typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); +typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); + +#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT) +#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT) +#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT) +#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT) +#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT) +#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT) + +#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer) + +#endif /* GL_EXT_texture_integer */ + +/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */ + +#ifndef GL_EXT_texture_lod_bias +#define GL_EXT_texture_lod_bias 1 + +#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD +#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 +#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 + +#define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias) + +#endif /* GL_EXT_texture_lod_bias */ + +/* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */ + +#ifndef GL_EXT_texture_mirror_clamp +#define GL_EXT_texture_mirror_clamp 1 + +#define GL_MIRROR_CLAMP_EXT 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 +#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 + +#define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp) + +#endif /* GL_EXT_texture_mirror_clamp */ + +/* ------------------------- GL_EXT_texture_norm16 ------------------------- */ + +#ifndef GL_EXT_texture_norm16 +#define GL_EXT_texture_norm16 1 + +#define GL_RGB16_EXT 0x8054 +#define GL_RGBA16_EXT 0x805B +#define GL_R16_EXT 0x822A +#define GL_RG16_EXT 0x822C +#define GL_R16_SNORM_EXT 0x8F98 +#define GL_RG16_SNORM_EXT 0x8F99 +#define GL_RGB16_SNORM_EXT 0x8F9A +#define GL_RGBA16_SNORM_EXT 0x8F9B + +#define GLEW_EXT_texture_norm16 GLEW_GET_VAR(__GLEW_EXT_texture_norm16) + +#endif /* GL_EXT_texture_norm16 */ + +/* ------------------------- GL_EXT_texture_object ------------------------- */ + +#ifndef GL_EXT_texture_object +#define GL_EXT_texture_object 1 + +#define GL_TEXTURE_PRIORITY_EXT 0x8066 +#define GL_TEXTURE_RESIDENT_EXT 0x8067 +#define GL_TEXTURE_1D_BINDING_EXT 0x8068 +#define GL_TEXTURE_2D_BINDING_EXT 0x8069 +#define GL_TEXTURE_3D_BINDING_EXT 0x806A + +typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences); +typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); +typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities); + +#define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT) +#define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT) +#define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT) +#define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT) +#define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT) +#define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT) + +#define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object) + +#endif /* GL_EXT_texture_object */ + +/* --------------------- GL_EXT_texture_perturb_normal --------------------- */ + +#ifndef GL_EXT_texture_perturb_normal +#define GL_EXT_texture_perturb_normal 1 + +#define GL_PERTURB_EXT 0x85AE +#define GL_TEXTURE_NORMAL_EXT 0x85AF + +typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); + +#define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT) + +#define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal) + +#endif /* GL_EXT_texture_perturb_normal */ + +/* ------------------------ GL_EXT_texture_rectangle ----------------------- */ + +#ifndef GL_EXT_texture_rectangle +#define GL_EXT_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_EXT 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 + +#define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle) + +#endif /* GL_EXT_texture_rectangle */ + +/* --------------------------- GL_EXT_texture_rg --------------------------- */ + +#ifndef GL_EXT_texture_rg +#define GL_EXT_texture_rg 1 + +#define GL_RED_EXT 0x1903 +#define GL_RG_EXT 0x8227 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B + +#define GLEW_EXT_texture_rg GLEW_GET_VAR(__GLEW_EXT_texture_rg) + +#endif /* GL_EXT_texture_rg */ + +/* -------------------------- GL_EXT_texture_sRGB -------------------------- */ + +#ifndef GL_EXT_texture_sRGB +#define GL_EXT_texture_sRGB 1 + +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB8_EXT 0x8C41 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F + +#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB) + +#endif /* GL_EXT_texture_sRGB */ + +/* ------------------------- GL_EXT_texture_sRGB_R8 ------------------------ */ + +#ifndef GL_EXT_texture_sRGB_R8 +#define GL_EXT_texture_sRGB_R8 1 + +#define GL_SR8_EXT 0x8FBD + +#define GLEW_EXT_texture_sRGB_R8 GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_R8) + +#endif /* GL_EXT_texture_sRGB_R8 */ + +/* ------------------------ GL_EXT_texture_sRGB_RG8 ------------------------ */ + +#ifndef GL_EXT_texture_sRGB_RG8 +#define GL_EXT_texture_sRGB_RG8 1 + +#define GL_SRG8_EXT 0x8FBE + +#define GLEW_EXT_texture_sRGB_RG8 GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_RG8) + +#endif /* GL_EXT_texture_sRGB_RG8 */ + +/* ----------------------- GL_EXT_texture_sRGB_decode ---------------------- */ + +#ifndef GL_EXT_texture_sRGB_decode +#define GL_EXT_texture_sRGB_decode 1 + +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A + +#define GLEW_EXT_texture_sRGB_decode GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_decode) + +#endif /* GL_EXT_texture_sRGB_decode */ + +/* --------------------- GL_EXT_texture_shared_exponent -------------------- */ + +#ifndef GL_EXT_texture_shared_exponent +#define GL_EXT_texture_shared_exponent 1 + +#define GL_RGB9_E5_EXT 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E +#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F + +#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent) + +#endif /* GL_EXT_texture_shared_exponent */ + +/* -------------------------- GL_EXT_texture_snorm ------------------------- */ + +#ifndef GL_EXT_texture_snorm +#define GL_EXT_texture_snorm 1 + +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_ALPHA_SNORM 0x9010 +#define GL_LUMINANCE_SNORM 0x9011 +#define GL_LUMINANCE_ALPHA_SNORM 0x9012 +#define GL_INTENSITY_SNORM 0x9013 +#define GL_ALPHA8_SNORM 0x9014 +#define GL_LUMINANCE8_SNORM 0x9015 +#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 +#define GL_INTENSITY8_SNORM 0x9017 +#define GL_ALPHA16_SNORM 0x9018 +#define GL_LUMINANCE16_SNORM 0x9019 +#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A +#define GL_INTENSITY16_SNORM 0x901B + +#define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm) + +#endif /* GL_EXT_texture_snorm */ + +/* ------------------------- GL_EXT_texture_storage ------------------------ */ + +#ifndef GL_EXT_texture_storage +#define GL_EXT_texture_storage 1 + +#define GL_ALPHA8_EXT 0x803C +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB10_A2_EXT 0x8059 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B +#define GL_R16F_EXT 0x822D +#define GL_R32F_EXT 0x822E +#define GL_RG16F_EXT 0x822F +#define GL_RG32F_EXT 0x8230 +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGB32F_EXT 0x8815 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_ALPHA16F_EXT 0x881C +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_RGB_RAW_422_APPLE 0x8A51 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_BGRA8_EXT 0x93A1 + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + +#define glTexStorage1DEXT GLEW_GET_FUN(__glewTexStorage1DEXT) +#define glTexStorage2DEXT GLEW_GET_FUN(__glewTexStorage2DEXT) +#define glTexStorage3DEXT GLEW_GET_FUN(__glewTexStorage3DEXT) +#define glTextureStorage1DEXT GLEW_GET_FUN(__glewTextureStorage1DEXT) +#define glTextureStorage2DEXT GLEW_GET_FUN(__glewTextureStorage2DEXT) +#define glTextureStorage3DEXT GLEW_GET_FUN(__glewTextureStorage3DEXT) + +#define GLEW_EXT_texture_storage GLEW_GET_VAR(__GLEW_EXT_texture_storage) + +#endif /* GL_EXT_texture_storage */ + +/* ------------------------- GL_EXT_texture_swizzle ------------------------ */ + +#ifndef GL_EXT_texture_swizzle +#define GL_EXT_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 +#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 +#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 +#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 + +#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle) + +#endif /* GL_EXT_texture_swizzle */ + +/* ------------------- GL_EXT_texture_type_2_10_10_10_REV ------------------ */ + +#ifndef GL_EXT_texture_type_2_10_10_10_REV +#define GL_EXT_texture_type_2_10_10_10_REV 1 + +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 + +#define GLEW_EXT_texture_type_2_10_10_10_REV GLEW_GET_VAR(__GLEW_EXT_texture_type_2_10_10_10_REV) + +#endif /* GL_EXT_texture_type_2_10_10_10_REV */ + +/* -------------------------- GL_EXT_texture_view -------------------------- */ + +#ifndef GL_EXT_texture_view +#define GL_EXT_texture_view 1 + +#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER_EXT 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF + +typedef void (GLAPIENTRY * PFNGLTEXTUREVIEWEXTPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); + +#define glTextureViewEXT GLEW_GET_FUN(__glewTextureViewEXT) + +#define GLEW_EXT_texture_view GLEW_GET_VAR(__GLEW_EXT_texture_view) + +#endif /* GL_EXT_texture_view */ + +/* --------------------------- GL_EXT_timer_query -------------------------- */ + +#ifndef GL_EXT_timer_query +#define GL_EXT_timer_query 1 + +#define GL_TIME_ELAPSED_EXT 0x88BF + +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); + +#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT) +#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT) + +#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query) + +#endif /* GL_EXT_timer_query */ + +/* ----------------------- GL_EXT_transform_feedback ----------------------- */ + +#ifndef GL_EXT_transform_feedback +#define GL_EXT_transform_feedback 1 + +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F + +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar * const* varyings, GLenum bufferMode); + +#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT) +#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT) +#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT) +#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT) +#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT) +#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT) +#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT) + +#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback) + +#endif /* GL_EXT_transform_feedback */ + +/* ------------------------- GL_EXT_unpack_subimage ------------------------ */ + +#ifndef GL_EXT_unpack_subimage +#define GL_EXT_unpack_subimage 1 + +#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 +#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 + +#define GLEW_EXT_unpack_subimage GLEW_GET_VAR(__GLEW_EXT_unpack_subimage) + +#endif /* GL_EXT_unpack_subimage */ + +/* -------------------------- GL_EXT_vertex_array -------------------------- */ + +#ifndef GL_EXT_vertex_array +#define GL_EXT_vertex_array 1 + +#define GL_DOUBLE_EXT 0x140A +#define GL_VERTEX_ARRAY_EXT 0x8074 +#define GL_NORMAL_ARRAY_EXT 0x8075 +#define GL_COLOR_ARRAY_EXT 0x8076 +#define GL_INDEX_ARRAY_EXT 0x8077 +#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 +#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 +#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A +#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B +#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C +#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D +#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E +#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F +#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 +#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 +#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 +#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 +#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 +#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 +#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 +#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 +#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A +#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B +#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C +#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D +#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E +#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F +#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 +#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 + +typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); +typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer); +typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); + +#define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT) +#define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT) +#define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT) +#define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT) +#define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT) +#define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT) +#define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT) +#define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT) + +#define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array) + +#endif /* GL_EXT_vertex_array */ + +/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */ + +#ifndef GL_EXT_vertex_array_bgra +#define GL_EXT_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra) + +#endif /* GL_EXT_vertex_array_bgra */ + +/* ----------------------- GL_EXT_vertex_array_setXXX ---------------------- */ + +#ifndef GL_EXT_vertex_array_setXXX +#define GL_EXT_vertex_array_setXXX 1 + +typedef void (GLAPIENTRY * PFNGLBINDARRAYSETEXTPROC) (const void *arrayset); +typedef const void * (GLAPIENTRY * PFNGLCREATEARRAYSETEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLDELETEARRAYSETSEXTPROC) (GLsizei n, const void *arrayset[]); + +#define glBindArraySetEXT GLEW_GET_FUN(__glewBindArraySetEXT) +#define glCreateArraySetExt GLEW_GET_FUN(__glewCreateArraySetExt) +#define glDeleteArraySetsEXT GLEW_GET_FUN(__glewDeleteArraySetsEXT) + +#define GLEW_EXT_vertex_array_setXXX GLEW_GET_VAR(__GLEW_EXT_vertex_array_setXXX) + +#endif /* GL_EXT_vertex_array_setXXX */ + +/* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_EXT_vertex_attrib_64bit +#define GL_EXT_vertex_attrib_64bit 1 + +#define GL_DOUBLE_MAT2_EXT 0x8F46 +#define GL_DOUBLE_MAT3_EXT 0x8F47 +#define GL_DOUBLE_MAT4_EXT 0x8F48 +#define GL_DOUBLE_MAT2x3_EXT 0x8F49 +#define GL_DOUBLE_MAT2x4_EXT 0x8F4A +#define GL_DOUBLE_MAT3x2_EXT 0x8F4B +#define GL_DOUBLE_MAT3x4_EXT 0x8F4C +#define GL_DOUBLE_MAT4x2_EXT 0x8F4D +#define GL_DOUBLE_MAT4x3_EXT 0x8F4E +#define GL_DOUBLE_VEC2_EXT 0x8FFC +#define GL_DOUBLE_VEC3_EXT 0x8FFD +#define GL_DOUBLE_VEC4_EXT 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT) +#define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT) +#define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT) +#define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT) +#define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT) +#define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT) +#define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT) +#define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT) +#define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT) +#define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT) +#define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT) + +#define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit) + +#endif /* GL_EXT_vertex_attrib_64bit */ + +/* -------------------------- GL_EXT_vertex_shader ------------------------- */ + +#ifndef GL_EXT_vertex_shader +#define GL_EXT_vertex_shader 1 + +#define GL_VERTEX_SHADER_EXT 0x8780 +#define GL_VERTEX_SHADER_BINDING_EXT 0x8781 +#define GL_OP_INDEX_EXT 0x8782 +#define GL_OP_NEGATE_EXT 0x8783 +#define GL_OP_DOT3_EXT 0x8784 +#define GL_OP_DOT4_EXT 0x8785 +#define GL_OP_MUL_EXT 0x8786 +#define GL_OP_ADD_EXT 0x8787 +#define GL_OP_MADD_EXT 0x8788 +#define GL_OP_FRAC_EXT 0x8789 +#define GL_OP_MAX_EXT 0x878A +#define GL_OP_MIN_EXT 0x878B +#define GL_OP_SET_GE_EXT 0x878C +#define GL_OP_SET_LT_EXT 0x878D +#define GL_OP_CLAMP_EXT 0x878E +#define GL_OP_FLOOR_EXT 0x878F +#define GL_OP_ROUND_EXT 0x8790 +#define GL_OP_EXP_BASE_2_EXT 0x8791 +#define GL_OP_LOG_BASE_2_EXT 0x8792 +#define GL_OP_POWER_EXT 0x8793 +#define GL_OP_RECIP_EXT 0x8794 +#define GL_OP_RECIP_SQRT_EXT 0x8795 +#define GL_OP_SUB_EXT 0x8796 +#define GL_OP_CROSS_PRODUCT_EXT 0x8797 +#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 +#define GL_OP_MOV_EXT 0x8799 +#define GL_OUTPUT_VERTEX_EXT 0x879A +#define GL_OUTPUT_COLOR0_EXT 0x879B +#define GL_OUTPUT_COLOR1_EXT 0x879C +#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D +#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E +#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F +#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 +#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 +#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 +#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 +#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 +#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 +#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 +#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 +#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 +#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 +#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA +#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB +#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC +#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD +#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE +#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF +#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 +#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 +#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 +#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 +#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 +#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 +#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 +#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 +#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 +#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 +#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA +#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB +#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC +#define GL_OUTPUT_FOG_EXT 0x87BD +#define GL_SCALAR_EXT 0x87BE +#define GL_VECTOR_EXT 0x87BF +#define GL_MATRIX_EXT 0x87C0 +#define GL_VARIANT_EXT 0x87C1 +#define GL_INVARIANT_EXT 0x87C2 +#define GL_LOCAL_CONSTANT_EXT 0x87C3 +#define GL_LOCAL_EXT 0x87C4 +#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 +#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 +#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 +#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 +#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE +#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF +#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 +#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 +#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 +#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 +#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 +#define GL_X_EXT 0x87D5 +#define GL_Y_EXT 0x87D6 +#define GL_Z_EXT 0x87D7 +#define GL_W_EXT 0x87D8 +#define GL_NEGATIVE_X_EXT 0x87D9 +#define GL_NEGATIVE_Y_EXT 0x87DA +#define GL_NEGATIVE_Z_EXT 0x87DB +#define GL_NEGATIVE_W_EXT 0x87DC +#define GL_ZERO_EXT 0x87DD +#define GL_ONE_EXT 0x87DE +#define GL_NEGATIVE_ONE_EXT 0x87DF +#define GL_NORMALIZED_RANGE_EXT 0x87E0 +#define GL_FULL_RANGE_EXT 0x87E1 +#define GL_CURRENT_VERTEX_EXT 0x87E2 +#define GL_MVP_MATRIX_EXT 0x87E3 +#define GL_VARIANT_VALUE_EXT 0x87E4 +#define GL_VARIANT_DATATYPE_EXT 0x87E5 +#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 +#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 +#define GL_VARIANT_ARRAY_EXT 0x87E8 +#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 +#define GL_INVARIANT_VALUE_EXT 0x87EA +#define GL_INVARIANT_DATATYPE_EXT 0x87EB +#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC +#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED + +typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); +typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components); +typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, void **data); +typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); +typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, void *addr); +typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, void *addr); +typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); +typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); +typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); +typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); +typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, void *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr); +typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); + +#define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT) +#define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT) +#define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT) +#define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT) +#define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT) +#define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT) +#define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT) +#define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT) +#define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT) +#define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT) +#define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT) +#define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT) +#define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT) +#define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT) +#define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT) +#define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT) +#define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT) +#define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT) +#define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT) +#define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT) +#define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT) +#define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT) +#define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT) +#define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT) +#define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT) +#define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT) +#define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT) +#define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT) +#define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT) +#define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT) +#define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT) +#define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT) +#define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT) +#define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT) +#define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT) +#define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT) +#define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT) +#define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT) +#define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT) +#define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT) +#define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT) +#define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT) + +#define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader) + +#endif /* GL_EXT_vertex_shader */ + +/* ------------------------ GL_EXT_vertex_weighting ------------------------ */ + +#ifndef GL_EXT_vertex_weighting +#define GL_EXT_vertex_weighting 1 + +#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3 +#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6 +#define GL_MODELVIEW0_EXT 0x1700 +#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 +#define GL_MODELVIEW1_MATRIX_EXT 0x8506 +#define GL_VERTEX_WEIGHTING_EXT 0x8509 +#define GL_MODELVIEW1_EXT 0x850A +#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B +#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C +#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D +#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E +#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F +#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 + +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight); + +#define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT) +#define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT) +#define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT) + +#define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting) + +#endif /* GL_EXT_vertex_weighting */ + +/* ------------------------ GL_EXT_win32_keyed_mutex ----------------------- */ + +#ifndef GL_EXT_win32_keyed_mutex +#define GL_EXT_win32_keyed_mutex 1 + +typedef GLboolean (GLAPIENTRY * PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout); +typedef GLboolean (GLAPIENTRY * PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key); + +#define glAcquireKeyedMutexWin32EXT GLEW_GET_FUN(__glewAcquireKeyedMutexWin32EXT) +#define glReleaseKeyedMutexWin32EXT GLEW_GET_FUN(__glewReleaseKeyedMutexWin32EXT) + +#define GLEW_EXT_win32_keyed_mutex GLEW_GET_VAR(__GLEW_EXT_win32_keyed_mutex) + +#endif /* GL_EXT_win32_keyed_mutex */ + +/* ------------------------ GL_EXT_window_rectangles ----------------------- */ + +#ifndef GL_EXT_window_rectangles +#define GL_EXT_window_rectangles 1 + +#define GL_INCLUSIVE_EXT 0x8F10 +#define GL_EXCLUSIVE_EXT 0x8F11 +#define GL_WINDOW_RECTANGLE_EXT 0x8F12 +#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13 +#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14 +#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15 + +typedef void (GLAPIENTRY * PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint box[]); + +#define glWindowRectanglesEXT GLEW_GET_FUN(__glewWindowRectanglesEXT) + +#define GLEW_EXT_window_rectangles GLEW_GET_VAR(__GLEW_EXT_window_rectangles) + +#endif /* GL_EXT_window_rectangles */ + +/* ------------------------- GL_EXT_x11_sync_object ------------------------ */ + +#ifndef GL_EXT_x11_sync_object +#define GL_EXT_x11_sync_object 1 + +#define GL_SYNC_X11_FENCE_EXT 0x90E1 + +typedef GLsync (GLAPIENTRY * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); + +#define glImportSyncEXT GLEW_GET_FUN(__glewImportSyncEXT) + +#define GLEW_EXT_x11_sync_object GLEW_GET_VAR(__GLEW_EXT_x11_sync_object) + +#endif /* GL_EXT_x11_sync_object */ + +/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ + +#ifndef GL_GREMEDY_frame_terminator +#define GL_GREMEDY_frame_terminator 1 + +typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); + +#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) + +#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) + +#endif /* GL_GREMEDY_frame_terminator */ + +/* ------------------------ GL_GREMEDY_string_marker ----------------------- */ + +#ifndef GL_GREMEDY_string_marker +#define GL_GREMEDY_string_marker 1 + +typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void *string); + +#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY) + +#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker) + +#endif /* GL_GREMEDY_string_marker */ + +/* --------------------- GL_HP_convolution_border_modes -------------------- */ + +#ifndef GL_HP_convolution_border_modes +#define GL_HP_convolution_border_modes 1 + +#define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes) + +#endif /* GL_HP_convolution_border_modes */ + +/* ------------------------- GL_HP_image_transform ------------------------- */ + +#ifndef GL_HP_image_transform +#define GL_HP_image_transform 1 + +typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP) +#define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP) +#define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP) +#define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP) +#define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP) +#define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP) + +#define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform) + +#endif /* GL_HP_image_transform */ + +/* -------------------------- GL_HP_occlusion_test ------------------------- */ + +#ifndef GL_HP_occlusion_test +#define GL_HP_occlusion_test 1 + +#define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test) + +#endif /* GL_HP_occlusion_test */ + +/* ------------------------- GL_HP_texture_lighting ------------------------ */ + +#ifndef GL_HP_texture_lighting +#define GL_HP_texture_lighting 1 + +#define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting) + +#endif /* GL_HP_texture_lighting */ + +/* --------------------------- GL_IBM_cull_vertex -------------------------- */ + +#ifndef GL_IBM_cull_vertex +#define GL_IBM_cull_vertex 1 + +#define GL_CULL_VERTEX_IBM 103050 + +#define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex) + +#endif /* GL_IBM_cull_vertex */ + +/* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */ + +#ifndef GL_IBM_multimode_draw_arrays +#define GL_IBM_multimode_draw_arrays 1 + +typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, GLint modestride); + +#define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM) +#define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM) + +#define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays) + +#endif /* GL_IBM_multimode_draw_arrays */ + +/* ------------------------- GL_IBM_rasterpos_clip ------------------------- */ + +#ifndef GL_IBM_rasterpos_clip +#define GL_IBM_rasterpos_clip 1 + +#define GL_RASTER_POSITION_UNCLIPPED_IBM 103010 + +#define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip) + +#endif /* GL_IBM_rasterpos_clip */ + +/* --------------------------- GL_IBM_static_data -------------------------- */ + +#ifndef GL_IBM_static_data +#define GL_IBM_static_data 1 + +#define GL_ALL_STATIC_DATA_IBM 103060 +#define GL_STATIC_VERTEX_ARRAY_IBM 103061 + +#define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data) + +#endif /* GL_IBM_static_data */ + +/* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */ + +#ifndef GL_IBM_texture_mirrored_repeat +#define GL_IBM_texture_mirrored_repeat 1 + +#define GL_MIRRORED_REPEAT_IBM 0x8370 + +#define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat) + +#endif /* GL_IBM_texture_mirrored_repeat */ + +/* ----------------------- GL_IBM_vertex_array_lists ----------------------- */ + +#ifndef GL_IBM_vertex_array_lists +#define GL_IBM_vertex_array_lists 1 + +#define GL_VERTEX_ARRAY_LIST_IBM 103070 +#define GL_NORMAL_ARRAY_LIST_IBM 103071 +#define GL_COLOR_ARRAY_LIST_IBM 103072 +#define GL_INDEX_ARRAY_LIST_IBM 103073 +#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 +#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 +#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 +#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 +#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 +#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 +#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 +#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 +#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 +#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 +#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 +#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 + +typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); + +#define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM) +#define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM) +#define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM) +#define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM) +#define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM) +#define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM) +#define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM) +#define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM) + +#define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists) + +#endif /* GL_IBM_vertex_array_lists */ + +/* -------------------------- GL_INGR_color_clamp -------------------------- */ + +#ifndef GL_INGR_color_clamp +#define GL_INGR_color_clamp 1 + +#define GL_RED_MIN_CLAMP_INGR 0x8560 +#define GL_GREEN_MIN_CLAMP_INGR 0x8561 +#define GL_BLUE_MIN_CLAMP_INGR 0x8562 +#define GL_ALPHA_MIN_CLAMP_INGR 0x8563 +#define GL_RED_MAX_CLAMP_INGR 0x8564 +#define GL_GREEN_MAX_CLAMP_INGR 0x8565 +#define GL_BLUE_MAX_CLAMP_INGR 0x8566 +#define GL_ALPHA_MAX_CLAMP_INGR 0x8567 + +#define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp) + +#endif /* GL_INGR_color_clamp */ + +/* ------------------------- GL_INGR_interlace_read ------------------------ */ + +#ifndef GL_INGR_interlace_read +#define GL_INGR_interlace_read 1 + +#define GL_INTERLACE_READ_INGR 0x8568 + +#define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read) + +#endif /* GL_INGR_interlace_read */ + +/* ------------------ GL_INTEL_conservative_rasterization ------------------ */ + +#ifndef GL_INTEL_conservative_rasterization +#define GL_INTEL_conservative_rasterization 1 + +#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE + +#define GLEW_INTEL_conservative_rasterization GLEW_GET_VAR(__GLEW_INTEL_conservative_rasterization) + +#endif /* GL_INTEL_conservative_rasterization */ + +/* ------------------- GL_INTEL_fragment_shader_ordering ------------------- */ + +#ifndef GL_INTEL_fragment_shader_ordering +#define GL_INTEL_fragment_shader_ordering 1 + +#define GLEW_INTEL_fragment_shader_ordering GLEW_GET_VAR(__GLEW_INTEL_fragment_shader_ordering) + +#endif /* GL_INTEL_fragment_shader_ordering */ + +/* ----------------------- GL_INTEL_framebuffer_CMAA ----------------------- */ + +#ifndef GL_INTEL_framebuffer_CMAA +#define GL_INTEL_framebuffer_CMAA 1 + +#define GLEW_INTEL_framebuffer_CMAA GLEW_GET_VAR(__GLEW_INTEL_framebuffer_CMAA) + +#endif /* GL_INTEL_framebuffer_CMAA */ + +/* -------------------------- GL_INTEL_map_texture ------------------------- */ + +#ifndef GL_INTEL_map_texture +#define GL_INTEL_map_texture 1 + +#define GL_LAYOUT_DEFAULT_INTEL 0 +#define GL_LAYOUT_LINEAR_INTEL 1 +#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2 +#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF + +typedef void * (GLAPIENTRY * PFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level, GLbitfield access, GLint* stride, GLenum *layout); +typedef void (GLAPIENTRY * PFNGLSYNCTEXTUREINTELPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLUNMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level); + +#define glMapTexture2DINTEL GLEW_GET_FUN(__glewMapTexture2DINTEL) +#define glSyncTextureINTEL GLEW_GET_FUN(__glewSyncTextureINTEL) +#define glUnmapTexture2DINTEL GLEW_GET_FUN(__glewUnmapTexture2DINTEL) + +#define GLEW_INTEL_map_texture GLEW_GET_VAR(__GLEW_INTEL_map_texture) + +#endif /* GL_INTEL_map_texture */ + +/* ------------------------ GL_INTEL_parallel_arrays ----------------------- */ + +#ifndef GL_INTEL_parallel_arrays +#define GL_INTEL_parallel_arrays 1 + +#define GL_PARALLEL_ARRAYS_INTEL 0x83F4 +#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 +#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 +#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 +#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 + +typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); + +#define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL) +#define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL) +#define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL) +#define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL) + +#define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays) + +#endif /* GL_INTEL_parallel_arrays */ + +/* ----------------------- GL_INTEL_performance_query ---------------------- */ + +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 + +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x0000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x0001 +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 + +typedef void (GLAPIENTRY * PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint* queryHandle); +typedef void (GLAPIENTRY * PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint* queryId); +typedef void (GLAPIENTRY * PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint* nextQueryId); +typedef void (GLAPIENTRY * PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar* queryName, GLuint *queryId); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); + +#define glBeginPerfQueryINTEL GLEW_GET_FUN(__glewBeginPerfQueryINTEL) +#define glCreatePerfQueryINTEL GLEW_GET_FUN(__glewCreatePerfQueryINTEL) +#define glDeletePerfQueryINTEL GLEW_GET_FUN(__glewDeletePerfQueryINTEL) +#define glEndPerfQueryINTEL GLEW_GET_FUN(__glewEndPerfQueryINTEL) +#define glGetFirstPerfQueryIdINTEL GLEW_GET_FUN(__glewGetFirstPerfQueryIdINTEL) +#define glGetNextPerfQueryIdINTEL GLEW_GET_FUN(__glewGetNextPerfQueryIdINTEL) +#define glGetPerfCounterInfoINTEL GLEW_GET_FUN(__glewGetPerfCounterInfoINTEL) +#define glGetPerfQueryDataINTEL GLEW_GET_FUN(__glewGetPerfQueryDataINTEL) +#define glGetPerfQueryIdByNameINTEL GLEW_GET_FUN(__glewGetPerfQueryIdByNameINTEL) +#define glGetPerfQueryInfoINTEL GLEW_GET_FUN(__glewGetPerfQueryInfoINTEL) + +#define GLEW_INTEL_performance_query GLEW_GET_VAR(__GLEW_INTEL_performance_query) + +#endif /* GL_INTEL_performance_query */ + +/* ------------------------ GL_INTEL_texture_scissor ----------------------- */ + +#ifndef GL_INTEL_texture_scissor +#define GL_INTEL_texture_scissor 1 + +typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc); +typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh); + +#define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL) +#define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL) + +#define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor) + +#endif /* GL_INTEL_texture_scissor */ + +/* --------------------- GL_KHR_blend_equation_advanced -------------------- */ + +#ifndef GL_KHR_blend_equation_advanced +#define GL_KHR_blend_equation_advanced 1 + +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 + +typedef void (GLAPIENTRY * PFNGLBLENDBARRIERKHRPROC) (void); + +#define glBlendBarrierKHR GLEW_GET_FUN(__glewBlendBarrierKHR) + +#define GLEW_KHR_blend_equation_advanced GLEW_GET_VAR(__GLEW_KHR_blend_equation_advanced) + +#endif /* GL_KHR_blend_equation_advanced */ + +/* ---------------- GL_KHR_blend_equation_advanced_coherent ---------------- */ + +#ifndef GL_KHR_blend_equation_advanced_coherent +#define GL_KHR_blend_equation_advanced_coherent 1 + +#define GLEW_KHR_blend_equation_advanced_coherent GLEW_GET_VAR(__GLEW_KHR_blend_equation_advanced_coherent) + +#endif /* GL_KHR_blend_equation_advanced_coherent */ + +/* ---------------------- GL_KHR_context_flush_control --------------------- */ + +#ifndef GL_KHR_context_flush_control +#define GL_KHR_context_flush_control 1 + +#define GLEW_KHR_context_flush_control GLEW_GET_VAR(__GLEW_KHR_context_flush_control) + +#endif /* GL_KHR_context_flush_control */ + +/* ------------------------------ GL_KHR_debug ----------------------------- */ + +#ifndef GL_KHR_debug +#define GL_KHR_debug 1 + +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_BUFFER 0x82E0 +#define GL_SHADER 0x82E1 +#define GL_PROGRAM 0x82E2 +#define GL_QUERY 0x82E3 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_SAMPLER 0x82E6 +#define GL_DISPLAY_LIST 0x82E7 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_OUTPUT 0x92E0 + +typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); +typedef void (GLAPIENTRY * PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABELPROC) (void* ptr, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); +typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABELPROC) (void* ptr, GLsizei length, const GLchar* label); +typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUPPROC) (void); +typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar * message); + +#define glDebugMessageCallback GLEW_GET_FUN(__glewDebugMessageCallback) +#define glDebugMessageControl GLEW_GET_FUN(__glewDebugMessageControl) +#define glDebugMessageInsert GLEW_GET_FUN(__glewDebugMessageInsert) +#define glGetDebugMessageLog GLEW_GET_FUN(__glewGetDebugMessageLog) +#define glGetObjectLabel GLEW_GET_FUN(__glewGetObjectLabel) +#define glGetObjectPtrLabel GLEW_GET_FUN(__glewGetObjectPtrLabel) +#define glObjectLabel GLEW_GET_FUN(__glewObjectLabel) +#define glObjectPtrLabel GLEW_GET_FUN(__glewObjectPtrLabel) +#define glPopDebugGroup GLEW_GET_FUN(__glewPopDebugGroup) +#define glPushDebugGroup GLEW_GET_FUN(__glewPushDebugGroup) + +#define GLEW_KHR_debug GLEW_GET_VAR(__GLEW_KHR_debug) + +#endif /* GL_KHR_debug */ + +/* ---------------------------- GL_KHR_no_error ---------------------------- */ + +#ifndef GL_KHR_no_error +#define GL_KHR_no_error 1 + +#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008 + +#define GLEW_KHR_no_error GLEW_GET_VAR(__GLEW_KHR_no_error) + +#endif /* GL_KHR_no_error */ + +/* --------------------- GL_KHR_parallel_shader_compile -------------------- */ + +#ifndef GL_KHR_parallel_shader_compile +#define GL_KHR_parallel_shader_compile 1 + +#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0 +#define GL_COMPLETION_STATUS_KHR 0x91B1 + +typedef void (GLAPIENTRY * PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count); + +#define glMaxShaderCompilerThreadsKHR GLEW_GET_FUN(__glewMaxShaderCompilerThreadsKHR) + +#define GLEW_KHR_parallel_shader_compile GLEW_GET_VAR(__GLEW_KHR_parallel_shader_compile) + +#endif /* GL_KHR_parallel_shader_compile */ + +/* ------------------ GL_KHR_robust_buffer_access_behavior ----------------- */ + +#ifndef GL_KHR_robust_buffer_access_behavior +#define GL_KHR_robust_buffer_access_behavior 1 + +#define GLEW_KHR_robust_buffer_access_behavior GLEW_GET_VAR(__GLEW_KHR_robust_buffer_access_behavior) + +#endif /* GL_KHR_robust_buffer_access_behavior */ + +/* --------------------------- GL_KHR_robustness --------------------------- */ + +#ifndef GL_KHR_robustness +#define GL_KHR_robustness 1 + +#define GL_CONTEXT_LOST 0x0507 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 + +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); +typedef void (GLAPIENTRY * PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); + +#define glGetnUniformfv GLEW_GET_FUN(__glewGetnUniformfv) +#define glGetnUniformiv GLEW_GET_FUN(__glewGetnUniformiv) +#define glGetnUniformuiv GLEW_GET_FUN(__glewGetnUniformuiv) +#define glReadnPixels GLEW_GET_FUN(__glewReadnPixels) + +#define GLEW_KHR_robustness GLEW_GET_VAR(__GLEW_KHR_robustness) + +#endif /* GL_KHR_robustness */ + +/* ------------------ GL_KHR_texture_compression_astc_hdr ------------------ */ + +#ifndef GL_KHR_texture_compression_astc_hdr +#define GL_KHR_texture_compression_astc_hdr 1 + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + +#define GLEW_KHR_texture_compression_astc_hdr GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_hdr) + +#endif /* GL_KHR_texture_compression_astc_hdr */ + +/* ------------------ GL_KHR_texture_compression_astc_ldr ------------------ */ + +#ifndef GL_KHR_texture_compression_astc_ldr +#define GL_KHR_texture_compression_astc_ldr 1 + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + +#define GLEW_KHR_texture_compression_astc_ldr GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_ldr) + +#endif /* GL_KHR_texture_compression_astc_ldr */ + +/* --------------- GL_KHR_texture_compression_astc_sliced_3d --------------- */ + +#ifndef GL_KHR_texture_compression_astc_sliced_3d +#define GL_KHR_texture_compression_astc_sliced_3d 1 + +#define GLEW_KHR_texture_compression_astc_sliced_3d GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_sliced_3d) + +#endif /* GL_KHR_texture_compression_astc_sliced_3d */ + +/* -------------------------- GL_KTX_buffer_region ------------------------- */ + +#ifndef GL_KTX_buffer_region +#define GL_KTX_buffer_region 1 + +#define GL_KTX_FRONT_REGION 0x0 +#define GL_KTX_BACK_REGION 0x1 +#define GL_KTX_Z_REGION 0x2 +#define GL_KTX_STENCIL_REGION 0x3 + +typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDPROC) (void); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); +typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); + +#define glBufferRegionEnabled GLEW_GET_FUN(__glewBufferRegionEnabled) +#define glDeleteBufferRegion GLEW_GET_FUN(__glewDeleteBufferRegion) +#define glDrawBufferRegion GLEW_GET_FUN(__glewDrawBufferRegion) +#define glNewBufferRegion GLEW_GET_FUN(__glewNewBufferRegion) +#define glReadBufferRegion GLEW_GET_FUN(__glewReadBufferRegion) + +#define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region) + +#endif /* GL_KTX_buffer_region */ + +/* ------------------------- GL_MESAX_texture_stack ------------------------ */ + +#ifndef GL_MESAX_texture_stack +#define GL_MESAX_texture_stack 1 + +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E + +#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack) + +#endif /* GL_MESAX_texture_stack */ + +/* -------------------------- GL_MESA_pack_invert -------------------------- */ + +#ifndef GL_MESA_pack_invert +#define GL_MESA_pack_invert 1 + +#define GL_PACK_INVERT_MESA 0x8758 + +#define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert) + +#endif /* GL_MESA_pack_invert */ + +/* ------------------------- GL_MESA_resize_buffers ------------------------ */ + +#ifndef GL_MESA_resize_buffers +#define GL_MESA_resize_buffers 1 + +typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void); + +#define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA) + +#define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers) + +#endif /* GL_MESA_resize_buffers */ + +/* -------------------- GL_MESA_shader_integer_functions ------------------- */ + +#ifndef GL_MESA_shader_integer_functions +#define GL_MESA_shader_integer_functions 1 + +#define GLEW_MESA_shader_integer_functions GLEW_GET_VAR(__GLEW_MESA_shader_integer_functions) + +#endif /* GL_MESA_shader_integer_functions */ + +/* --------------------------- GL_MESA_window_pos -------------------------- */ + +#ifndef GL_MESA_window_pos +#define GL_MESA_window_pos 1 + +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); + +#define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA) +#define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA) +#define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA) +#define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA) +#define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA) +#define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA) +#define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA) +#define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA) +#define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA) +#define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA) +#define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA) +#define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA) +#define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA) +#define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA) +#define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA) +#define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA) +#define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA) +#define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA) +#define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA) +#define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA) +#define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA) +#define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA) +#define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA) +#define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA) + +#define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos) + +#endif /* GL_MESA_window_pos */ + +/* ------------------------- GL_MESA_ycbcr_texture ------------------------- */ + +#ifndef GL_MESA_ycbcr_texture +#define GL_MESA_ycbcr_texture 1 + +#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB +#define GL_YCBCR_MESA 0x8757 + +#define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture) + +#endif /* GL_MESA_ycbcr_texture */ + +/* ----------- GL_NVX_blend_equation_advanced_multi_draw_buffers ----------- */ + +#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers +#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1 + +#define GLEW_NVX_blend_equation_advanced_multi_draw_buffers GLEW_GET_VAR(__GLEW_NVX_blend_equation_advanced_multi_draw_buffers) + +#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */ + +/* ----------------------- GL_NVX_conditional_render ----------------------- */ + +#ifndef GL_NVX_conditional_render +#define GL_NVX_conditional_render 1 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVXPROC) (void); + +#define glBeginConditionalRenderNVX GLEW_GET_FUN(__glewBeginConditionalRenderNVX) +#define glEndConditionalRenderNVX GLEW_GET_FUN(__glewEndConditionalRenderNVX) + +#define GLEW_NVX_conditional_render GLEW_GET_VAR(__GLEW_NVX_conditional_render) + +#endif /* GL_NVX_conditional_render */ + +/* ------------------------- GL_NVX_gpu_memory_info ------------------------ */ + +#ifndef GL_NVX_gpu_memory_info +#define GL_NVX_gpu_memory_info 1 + +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B + +#define GLEW_NVX_gpu_memory_info GLEW_GET_VAR(__GLEW_NVX_gpu_memory_info) + +#endif /* GL_NVX_gpu_memory_info */ + +/* ---------------------- GL_NVX_linked_gpu_multicast ---------------------- */ + +#ifndef GL_NVX_linked_gpu_multicast +#define GL_NVX_linked_gpu_multicast 1 + +#define GL_LGPU_SEPARATE_STORAGE_BIT_NVX 0x0800 +#define GL_MAX_LGPU_GPUS_NVX 0x92BA + +typedef void (GLAPIENTRY * PFNGLLGPUCOPYIMAGESUBDATANVXPROC) (GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLLGPUINTERLOCKNVXPROC) (void); +typedef void (GLAPIENTRY * PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); + +#define glLGPUCopyImageSubDataNVX GLEW_GET_FUN(__glewLGPUCopyImageSubDataNVX) +#define glLGPUInterlockNVX GLEW_GET_FUN(__glewLGPUInterlockNVX) +#define glLGPUNamedBufferSubDataNVX GLEW_GET_FUN(__glewLGPUNamedBufferSubDataNVX) + +#define GLEW_NVX_linked_gpu_multicast GLEW_GET_VAR(__GLEW_NVX_linked_gpu_multicast) + +#endif /* GL_NVX_linked_gpu_multicast */ + +/* ------------------------ GL_NV_3dvision_settings ------------------------ */ + +#ifndef GL_NV_3dvision_settings +#define GL_NV_3dvision_settings 1 + +#define GL_3DVISION_STEREO_NV 0x90F4 +#define GL_STEREO_SEPARATION_NV 0x90F5 +#define GL_STEREO_CONVERGENCE_NV 0x90F6 +#define GL_STEREO_CUTOFF_NV 0x90F7 +#define GL_STEREO_PROJECTION_NV 0x90F8 +#define GL_STEREO_PROJECTION_PERSPECTIVE_NV 0x90F9 +#define GL_STEREO_PROJECTION_ORTHO_NV 0x90FA + +typedef void (GLAPIENTRY * PFNGLSTEREOPARAMETERFNVPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSTEREOPARAMETERINVPROC) (GLenum pname, GLint param); + +#define glStereoParameterfNV GLEW_GET_FUN(__glewStereoParameterfNV) +#define glStereoParameteriNV GLEW_GET_FUN(__glewStereoParameteriNV) + +#define GLEW_NV_3dvision_settings GLEW_GET_VAR(__GLEW_NV_3dvision_settings) + +#endif /* GL_NV_3dvision_settings */ + +/* ------------------- GL_NV_EGL_stream_consumer_external ------------------ */ + +#ifndef GL_NV_EGL_stream_consumer_external +#define GL_NV_EGL_stream_consumer_external 1 + +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 + +#define GLEW_NV_EGL_stream_consumer_external GLEW_GET_VAR(__GLEW_NV_EGL_stream_consumer_external) + +#endif /* GL_NV_EGL_stream_consumer_external */ + +/* ----------------- GL_NV_alpha_to_coverage_dither_control ---------------- */ + +#ifndef GL_NV_alpha_to_coverage_dither_control +#define GL_NV_alpha_to_coverage_dither_control 1 + +#define GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV 0x92BF +#define GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV 0x934D +#define GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV 0x934E +#define GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV 0x934F + +#define GLEW_NV_alpha_to_coverage_dither_control GLEW_GET_VAR(__GLEW_NV_alpha_to_coverage_dither_control) + +#endif /* GL_NV_alpha_to_coverage_dither_control */ + +/* ------------------------------- GL_NV_bgr ------------------------------- */ + +#ifndef GL_NV_bgr +#define GL_NV_bgr 1 + +#define GL_BGR_NV 0x80E0 + +#define GLEW_NV_bgr GLEW_GET_VAR(__GLEW_NV_bgr) + +#endif /* GL_NV_bgr */ + +/* ------------------- GL_NV_bindless_multi_draw_indirect ------------------ */ + +#ifndef GL_NV_bindless_multi_draw_indirect +#define GL_NV_bindless_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); + +#define glMultiDrawArraysIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawArraysIndirectBindlessNV) +#define glMultiDrawElementsIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawElementsIndirectBindlessNV) + +#define GLEW_NV_bindless_multi_draw_indirect GLEW_GET_VAR(__GLEW_NV_bindless_multi_draw_indirect) + +#endif /* GL_NV_bindless_multi_draw_indirect */ + +/* ---------------- GL_NV_bindless_multi_draw_indirect_count --------------- */ + +#ifndef GL_NV_bindless_multi_draw_indirect_count +#define GL_NV_bindless_multi_draw_indirect_count 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, const void *indirect, GLintptr drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); + +#define glMultiDrawArraysIndirectBindlessCountNV GLEW_GET_FUN(__glewMultiDrawArraysIndirectBindlessCountNV) +#define glMultiDrawElementsIndirectBindlessCountNV GLEW_GET_FUN(__glewMultiDrawElementsIndirectBindlessCountNV) + +#define GLEW_NV_bindless_multi_draw_indirect_count GLEW_GET_VAR(__GLEW_NV_bindless_multi_draw_indirect_count) + +#endif /* GL_NV_bindless_multi_draw_indirect_count */ + +/* ------------------------- GL_NV_bindless_texture ------------------------ */ + +#ifndef GL_NV_bindless_texture +#define GL_NV_bindless_texture 1 + +typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); +typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64* value); + +#define glGetImageHandleNV GLEW_GET_FUN(__glewGetImageHandleNV) +#define glGetTextureHandleNV GLEW_GET_FUN(__glewGetTextureHandleNV) +#define glGetTextureSamplerHandleNV GLEW_GET_FUN(__glewGetTextureSamplerHandleNV) +#define glIsImageHandleResidentNV GLEW_GET_FUN(__glewIsImageHandleResidentNV) +#define glIsTextureHandleResidentNV GLEW_GET_FUN(__glewIsTextureHandleResidentNV) +#define glMakeImageHandleNonResidentNV GLEW_GET_FUN(__glewMakeImageHandleNonResidentNV) +#define glMakeImageHandleResidentNV GLEW_GET_FUN(__glewMakeImageHandleResidentNV) +#define glMakeTextureHandleNonResidentNV GLEW_GET_FUN(__glewMakeTextureHandleNonResidentNV) +#define glMakeTextureHandleResidentNV GLEW_GET_FUN(__glewMakeTextureHandleResidentNV) +#define glProgramUniformHandleui64NV GLEW_GET_FUN(__glewProgramUniformHandleui64NV) +#define glProgramUniformHandleui64vNV GLEW_GET_FUN(__glewProgramUniformHandleui64vNV) +#define glUniformHandleui64NV GLEW_GET_FUN(__glewUniformHandleui64NV) +#define glUniformHandleui64vNV GLEW_GET_FUN(__glewUniformHandleui64vNV) + +#define GLEW_NV_bindless_texture GLEW_GET_VAR(__GLEW_NV_bindless_texture) + +#endif /* GL_NV_bindless_texture */ + +/* --------------------- GL_NV_blend_equation_advanced --------------------- */ + +#ifndef GL_NV_blend_equation_advanced +#define GL_NV_blend_equation_advanced 1 + +#define GL_XOR_NV 0x1506 +#define GL_RED_NV 0x1903 +#define GL_GREEN_NV 0x1904 +#define GL_BLUE_NV 0x1905 +#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLEND_OVERLAP_NV 0x9281 +#define GL_UNCORRELATED_NV 0x9282 +#define GL_DISJOINT_NV 0x9283 +#define GL_CONJOINT_NV 0x9284 +#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 +#define GL_SRC_NV 0x9286 +#define GL_DST_NV 0x9287 +#define GL_SRC_OVER_NV 0x9288 +#define GL_DST_OVER_NV 0x9289 +#define GL_SRC_IN_NV 0x928A +#define GL_DST_IN_NV 0x928B +#define GL_SRC_OUT_NV 0x928C +#define GL_DST_OUT_NV 0x928D +#define GL_SRC_ATOP_NV 0x928E +#define GL_DST_ATOP_NV 0x928F +#define GL_PLUS_NV 0x9291 +#define GL_PLUS_DARKER_NV 0x9292 +#define GL_MULTIPLY_NV 0x9294 +#define GL_SCREEN_NV 0x9295 +#define GL_OVERLAY_NV 0x9296 +#define GL_DARKEN_NV 0x9297 +#define GL_LIGHTEN_NV 0x9298 +#define GL_COLORDODGE_NV 0x9299 +#define GL_COLORBURN_NV 0x929A +#define GL_HARDLIGHT_NV 0x929B +#define GL_SOFTLIGHT_NV 0x929C +#define GL_DIFFERENCE_NV 0x929E +#define GL_MINUS_NV 0x929F +#define GL_EXCLUSION_NV 0x92A0 +#define GL_CONTRAST_NV 0x92A1 +#define GL_INVERT_RGB_NV 0x92A3 +#define GL_LINEARDODGE_NV 0x92A4 +#define GL_LINEARBURN_NV 0x92A5 +#define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_LINEARLIGHT_NV 0x92A7 +#define GL_PINLIGHT_NV 0x92A8 +#define GL_HARDMIX_NV 0x92A9 +#define GL_HSL_HUE_NV 0x92AD +#define GL_HSL_SATURATION_NV 0x92AE +#define GL_HSL_COLOR_NV 0x92AF +#define GL_HSL_LUMINOSITY_NV 0x92B0 +#define GL_PLUS_CLAMPED_NV 0x92B1 +#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 +#define GL_MINUS_CLAMPED_NV 0x92B3 +#define GL_INVERT_OVG_NV 0x92B4 + +typedef void (GLAPIENTRY * PFNGLBLENDBARRIERNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); + +#define glBlendBarrierNV GLEW_GET_FUN(__glewBlendBarrierNV) +#define glBlendParameteriNV GLEW_GET_FUN(__glewBlendParameteriNV) + +#define GLEW_NV_blend_equation_advanced GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced) + +#endif /* GL_NV_blend_equation_advanced */ + +/* ----------------- GL_NV_blend_equation_advanced_coherent ---------------- */ + +#ifndef GL_NV_blend_equation_advanced_coherent +#define GL_NV_blend_equation_advanced_coherent 1 + +#define GLEW_NV_blend_equation_advanced_coherent GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced_coherent) + +#endif /* GL_NV_blend_equation_advanced_coherent */ + +/* ----------------------- GL_NV_blend_minmax_factor ----------------------- */ + +#ifndef GL_NV_blend_minmax_factor +#define GL_NV_blend_minmax_factor 1 + +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D + +#define GLEW_NV_blend_minmax_factor GLEW_GET_VAR(__GLEW_NV_blend_minmax_factor) + +#endif /* GL_NV_blend_minmax_factor */ + +/* --------------------------- GL_NV_blend_square -------------------------- */ + +#ifndef GL_NV_blend_square +#define GL_NV_blend_square 1 + +#define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square) + +#endif /* GL_NV_blend_square */ + +/* ----------------------- GL_NV_clip_space_w_scaling ---------------------- */ + +#ifndef GL_NV_clip_space_w_scaling +#define GL_NV_clip_space_w_scaling 1 + +#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C +#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D +#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E + +typedef void (GLAPIENTRY * PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff); + +#define glViewportPositionWScaleNV GLEW_GET_FUN(__glewViewportPositionWScaleNV) + +#define GLEW_NV_clip_space_w_scaling GLEW_GET_VAR(__GLEW_NV_clip_space_w_scaling) + +#endif /* GL_NV_clip_space_w_scaling */ + +/* --------------------------- GL_NV_command_list -------------------------- */ + +#ifndef GL_NV_command_list +#define GL_NV_command_list 1 + +#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000 +#define GL_NOP_COMMAND_NV 0x0001 +#define GL_DRAW_ELEMENTS_COMMAND_NV 0x0002 +#define GL_DRAW_ARRAYS_COMMAND_NV 0x0003 +#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV 0x0004 +#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV 0x0005 +#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV 0x0006 +#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV 0x0007 +#define GL_ELEMENT_ADDRESS_COMMAND_NV 0x0008 +#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV 0x0009 +#define GL_UNIFORM_ADDRESS_COMMAND_NV 0x000a +#define GL_BLEND_COLOR_COMMAND_NV 0x000b +#define GL_STENCIL_REF_COMMAND_NV 0x000c +#define GL_LINE_WIDTH_COMMAND_NV 0x000d +#define GL_POLYGON_OFFSET_COMMAND_NV 0x000e +#define GL_ALPHA_REF_COMMAND_NV 0x000f +#define GL_VIEWPORT_COMMAND_NV 0x0010 +#define GL_SCISSOR_COMMAND_NV 0x0011 +#define GL_FRONT_FACE_COMMAND_NV 0x0012 + +typedef void (GLAPIENTRY * PFNGLCALLCOMMANDLISTNVPROC) (GLuint list); +typedef void (GLAPIENTRY * PFNGLCOMMANDLISTSEGMENTSNVPROC) (GLuint list, GLuint segments); +typedef void (GLAPIENTRY * PFNGLCOMPILECOMMANDLISTNVPROC) (GLuint list); +typedef void (GLAPIENTRY * PFNGLCREATECOMMANDLISTSNVPROC) (GLsizei n, GLuint* lists); +typedef void (GLAPIENTRY * PFNGLCREATESTATESNVPROC) (GLsizei n, GLuint* states); +typedef void (GLAPIENTRY * PFNGLDELETECOMMANDLISTSNVPROC) (GLsizei n, const GLuint* lists); +typedef void (GLAPIENTRY * PFNGLDELETESTATESNVPROC) (GLsizei n, const GLuint* states); +typedef void (GLAPIENTRY * PFNGLDRAWCOMMANDSADDRESSNVPROC) (GLenum primitiveMode, const GLuint64* indirects, const GLsizei* sizes, GLuint count); +typedef void (GLAPIENTRY * PFNGLDRAWCOMMANDSNVPROC) (GLenum primitiveMode, GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, GLuint count); +typedef void (GLAPIENTRY * PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC) (const GLuint64* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count); +typedef void (GLAPIENTRY * PFNGLDRAWCOMMANDSSTATESNVPROC) (GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count); +typedef GLuint (GLAPIENTRY * PFNGLGETCOMMANDHEADERNVPROC) (GLenum tokenID, GLuint size); +typedef GLushort (GLAPIENTRY * PFNGLGETSTAGEINDEXNVPROC) (GLenum shadertype); +typedef GLboolean (GLAPIENTRY * PFNGLISCOMMANDLISTNVPROC) (GLuint list); +typedef GLboolean (GLAPIENTRY * PFNGLISSTATENVPROC) (GLuint state); +typedef void (GLAPIENTRY * PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC) (GLuint list, GLuint segment, const void** indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count); +typedef void (GLAPIENTRY * PFNGLSTATECAPTURENVPROC) (GLuint state, GLenum mode); + +#define glCallCommandListNV GLEW_GET_FUN(__glewCallCommandListNV) +#define glCommandListSegmentsNV GLEW_GET_FUN(__glewCommandListSegmentsNV) +#define glCompileCommandListNV GLEW_GET_FUN(__glewCompileCommandListNV) +#define glCreateCommandListsNV GLEW_GET_FUN(__glewCreateCommandListsNV) +#define glCreateStatesNV GLEW_GET_FUN(__glewCreateStatesNV) +#define glDeleteCommandListsNV GLEW_GET_FUN(__glewDeleteCommandListsNV) +#define glDeleteStatesNV GLEW_GET_FUN(__glewDeleteStatesNV) +#define glDrawCommandsAddressNV GLEW_GET_FUN(__glewDrawCommandsAddressNV) +#define glDrawCommandsNV GLEW_GET_FUN(__glewDrawCommandsNV) +#define glDrawCommandsStatesAddressNV GLEW_GET_FUN(__glewDrawCommandsStatesAddressNV) +#define glDrawCommandsStatesNV GLEW_GET_FUN(__glewDrawCommandsStatesNV) +#define glGetCommandHeaderNV GLEW_GET_FUN(__glewGetCommandHeaderNV) +#define glGetStageIndexNV GLEW_GET_FUN(__glewGetStageIndexNV) +#define glIsCommandListNV GLEW_GET_FUN(__glewIsCommandListNV) +#define glIsStateNV GLEW_GET_FUN(__glewIsStateNV) +#define glListDrawCommandsStatesClientNV GLEW_GET_FUN(__glewListDrawCommandsStatesClientNV) +#define glStateCaptureNV GLEW_GET_FUN(__glewStateCaptureNV) + +#define GLEW_NV_command_list GLEW_GET_VAR(__GLEW_NV_command_list) + +#endif /* GL_NV_command_list */ + +/* ------------------------- GL_NV_compute_program5 ------------------------ */ + +#ifndef GL_NV_compute_program5 +#define GL_NV_compute_program5 1 + +#define GL_COMPUTE_PROGRAM_NV 0x90FB +#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC + +#define GLEW_NV_compute_program5 GLEW_GET_VAR(__GLEW_NV_compute_program5) + +#endif /* GL_NV_compute_program5 */ + +/* ------------------------ GL_NV_conditional_render ----------------------- */ + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 + +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void); + +#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV) +#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV) + +#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render) + +#endif /* GL_NV_conditional_render */ + +/* ----------------------- GL_NV_conservative_raster ----------------------- */ + +#ifndef GL_NV_conservative_raster +#define GL_NV_conservative_raster 1 + +#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346 +#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347 +#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348 +#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349 + +typedef void (GLAPIENTRY * PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); + +#define glSubpixelPrecisionBiasNV GLEW_GET_FUN(__glewSubpixelPrecisionBiasNV) + +#define GLEW_NV_conservative_raster GLEW_GET_VAR(__GLEW_NV_conservative_raster) + +#endif /* GL_NV_conservative_raster */ + +/* -------------------- GL_NV_conservative_raster_dilate ------------------- */ + +#ifndef GL_NV_conservative_raster_dilate +#define GL_NV_conservative_raster_dilate 1 + +#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379 +#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A +#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B + +typedef void (GLAPIENTRY * PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value); + +#define glConservativeRasterParameterfNV GLEW_GET_FUN(__glewConservativeRasterParameterfNV) + +#define GLEW_NV_conservative_raster_dilate GLEW_GET_VAR(__GLEW_NV_conservative_raster_dilate) + +#endif /* GL_NV_conservative_raster_dilate */ + +/* -------------- GL_NV_conservative_raster_pre_snap_triangles ------------- */ + +#ifndef GL_NV_conservative_raster_pre_snap_triangles +#define GL_NV_conservative_raster_pre_snap_triangles 1 + +#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D +#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F + +typedef void (GLAPIENTRY * PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param); + +#define glConservativeRasterParameteriNV GLEW_GET_FUN(__glewConservativeRasterParameteriNV) + +#define GLEW_NV_conservative_raster_pre_snap_triangles GLEW_GET_VAR(__GLEW_NV_conservative_raster_pre_snap_triangles) + +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ + +/* --------------------------- GL_NV_copy_buffer --------------------------- */ + +#ifndef GL_NV_copy_buffer +#define GL_NV_copy_buffer 1 + +#define GL_COPY_READ_BUFFER_NV 0x8F36 +#define GL_COPY_WRITE_BUFFER_NV 0x8F37 + +typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size); + +#define glCopyBufferSubDataNV GLEW_GET_FUN(__glewCopyBufferSubDataNV) + +#define GLEW_NV_copy_buffer GLEW_GET_VAR(__GLEW_NV_copy_buffer) + +#endif /* GL_NV_copy_buffer */ + +/* ----------------------- GL_NV_copy_depth_to_color ----------------------- */ + +#ifndef GL_NV_copy_depth_to_color +#define GL_NV_copy_depth_to_color 1 + +#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E +#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F + +#define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color) + +#endif /* GL_NV_copy_depth_to_color */ + +/* ---------------------------- GL_NV_copy_image --------------------------- */ + +#ifndef GL_NV_copy_image +#define GL_NV_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV) + +#define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image) + +#endif /* GL_NV_copy_image */ + +/* -------------------------- GL_NV_deep_texture3D ------------------------- */ + +#ifndef GL_NV_deep_texture3D +#define GL_NV_deep_texture3D 1 + +#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0 +#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1 + +#define GLEW_NV_deep_texture3D GLEW_GET_VAR(__GLEW_NV_deep_texture3D) + +#endif /* GL_NV_deep_texture3D */ + +/* ------------------------ GL_NV_depth_buffer_float ----------------------- */ + +#ifndef GL_NV_depth_buffer_float +#define GL_NV_depth_buffer_float 1 + +#define GL_DEPTH_COMPONENT32F_NV 0x8DAB +#define GL_DEPTH32F_STENCIL8_NV 0x8DAC +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD +#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); +typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); + +#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV) +#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV) +#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV) + +#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float) + +#endif /* GL_NV_depth_buffer_float */ + +/* --------------------------- GL_NV_depth_clamp --------------------------- */ + +#ifndef GL_NV_depth_clamp +#define GL_NV_depth_clamp 1 + +#define GL_DEPTH_CLAMP_NV 0x864F + +#define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp) + +#endif /* GL_NV_depth_clamp */ + +/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */ + +#ifndef GL_NV_depth_range_unclamped +#define GL_NV_depth_range_unclamped 1 + +#define GL_SAMPLE_COUNT_BITS_NV 0x8864 +#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 +#define GL_QUERY_RESULT_NV 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867 +#define GL_SAMPLE_COUNT_NV 0x8914 + +#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped) + +#endif /* GL_NV_depth_range_unclamped */ + +/* --------------------------- GL_NV_draw_buffers -------------------------- */ + +#ifndef GL_NV_draw_buffers +#define GL_NV_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_NV 0x8824 +#define GL_DRAW_BUFFER0_NV 0x8825 +#define GL_DRAW_BUFFER1_NV 0x8826 +#define GL_DRAW_BUFFER2_NV 0x8827 +#define GL_DRAW_BUFFER3_NV 0x8828 +#define GL_DRAW_BUFFER4_NV 0x8829 +#define GL_DRAW_BUFFER5_NV 0x882A +#define GL_DRAW_BUFFER6_NV 0x882B +#define GL_DRAW_BUFFER7_NV 0x882C +#define GL_DRAW_BUFFER8_NV 0x882D +#define GL_DRAW_BUFFER9_NV 0x882E +#define GL_DRAW_BUFFER10_NV 0x882F +#define GL_DRAW_BUFFER11_NV 0x8830 +#define GL_DRAW_BUFFER12_NV 0x8831 +#define GL_DRAW_BUFFER13_NV 0x8832 +#define GL_DRAW_BUFFER14_NV 0x8833 +#define GL_DRAW_BUFFER15_NV 0x8834 +#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 +#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 +#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 +#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 +#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 +#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 +#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 +#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 +#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 +#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 +#define GL_COLOR_ATTACHMENT10_NV 0x8CEA +#define GL_COLOR_ATTACHMENT11_NV 0x8CEB +#define GL_COLOR_ATTACHMENT12_NV 0x8CEC +#define GL_COLOR_ATTACHMENT13_NV 0x8CED +#define GL_COLOR_ATTACHMENT14_NV 0x8CEE +#define GL_COLOR_ATTACHMENT15_NV 0x8CEF + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersNV GLEW_GET_FUN(__glewDrawBuffersNV) + +#define GLEW_NV_draw_buffers GLEW_GET_VAR(__GLEW_NV_draw_buffers) + +#endif /* GL_NV_draw_buffers */ + +/* -------------------------- GL_NV_draw_instanced ------------------------- */ + +#ifndef GL_NV_draw_instanced +#define GL_NV_draw_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); + +#define glDrawArraysInstancedNV GLEW_GET_FUN(__glewDrawArraysInstancedNV) +#define glDrawElementsInstancedNV GLEW_GET_FUN(__glewDrawElementsInstancedNV) + +#define GLEW_NV_draw_instanced GLEW_GET_VAR(__GLEW_NV_draw_instanced) + +#endif /* GL_NV_draw_instanced */ + +/* --------------------------- GL_NV_draw_texture -------------------------- */ + +#ifndef GL_NV_draw_texture +#define GL_NV_draw_texture 1 + +typedef void (GLAPIENTRY * PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); + +#define glDrawTextureNV GLEW_GET_FUN(__glewDrawTextureNV) + +#define GLEW_NV_draw_texture GLEW_GET_VAR(__GLEW_NV_draw_texture) + +#endif /* GL_NV_draw_texture */ + +/* ------------------------ GL_NV_draw_vulkan_image ------------------------ */ + +#ifndef GL_NV_draw_vulkan_image +#define GL_NV_draw_vulkan_image 1 + +typedef void (APIENTRY *GLVULKANPROCNV)(void); + +typedef void (GLAPIENTRY * PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +typedef GLVULKANPROCNV (GLAPIENTRY * PFNGLGETVKPROCADDRNVPROC) (const GLchar* name); +typedef void (GLAPIENTRY * PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence); +typedef void (GLAPIENTRY * PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (GLAPIENTRY * PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); + +#define glDrawVkImageNV GLEW_GET_FUN(__glewDrawVkImageNV) +#define glGetVkProcAddrNV GLEW_GET_FUN(__glewGetVkProcAddrNV) +#define glSignalVkFenceNV GLEW_GET_FUN(__glewSignalVkFenceNV) +#define glSignalVkSemaphoreNV GLEW_GET_FUN(__glewSignalVkSemaphoreNV) +#define glWaitVkSemaphoreNV GLEW_GET_FUN(__glewWaitVkSemaphoreNV) + +#define GLEW_NV_draw_vulkan_image GLEW_GET_VAR(__GLEW_NV_draw_vulkan_image) + +#endif /* GL_NV_draw_vulkan_image */ + +/* ---------------------------- GL_NV_evaluators --------------------------- */ + +#ifndef GL_NV_evaluators +#define GL_NV_evaluators 1 + +#define GL_EVAL_2D_NV 0x86C0 +#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 +#define GL_MAP_TESSELLATION_NV 0x86C2 +#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 +#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 +#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 +#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 +#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 +#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 +#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 +#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA +#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB +#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC +#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD +#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE +#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF +#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 +#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 +#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 +#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 +#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 +#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 +#define GL_MAX_MAP_TESSELLATION_NV 0x86D6 +#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 + +typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); +typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points); +typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points); +typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV) +#define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV) +#define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV) +#define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV) +#define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV) +#define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV) +#define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV) +#define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV) +#define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV) + +#define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators) + +#endif /* GL_NV_evaluators */ + +/* --------------------- GL_NV_explicit_attrib_location -------------------- */ + +#ifndef GL_NV_explicit_attrib_location +#define GL_NV_explicit_attrib_location 1 + +#define GLEW_NV_explicit_attrib_location GLEW_GET_VAR(__GLEW_NV_explicit_attrib_location) + +#endif /* GL_NV_explicit_attrib_location */ + +/* ----------------------- GL_NV_explicit_multisample ---------------------- */ + +#ifndef GL_NV_explicit_multisample +#define GL_NV_explicit_multisample 1 + +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); + +#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV) +#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV) +#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV) + +#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample) + +#endif /* GL_NV_explicit_multisample */ + +/* ---------------------- GL_NV_fbo_color_attachments ---------------------- */ + +#ifndef GL_NV_fbo_color_attachments +#define GL_NV_fbo_color_attachments 1 + +#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF +#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 +#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 +#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 +#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 +#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 +#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 +#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 +#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 +#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 +#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 +#define GL_COLOR_ATTACHMENT10_NV 0x8CEA +#define GL_COLOR_ATTACHMENT11_NV 0x8CEB +#define GL_COLOR_ATTACHMENT12_NV 0x8CEC +#define GL_COLOR_ATTACHMENT13_NV 0x8CED +#define GL_COLOR_ATTACHMENT14_NV 0x8CEE +#define GL_COLOR_ATTACHMENT15_NV 0x8CEF + +#define GLEW_NV_fbo_color_attachments GLEW_GET_VAR(__GLEW_NV_fbo_color_attachments) + +#endif /* GL_NV_fbo_color_attachments */ + +/* ------------------------------ GL_NV_fence ------------------------------ */ + +#ifndef GL_NV_fence +#define GL_NV_fence 1 + +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 + +typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences); +typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences); +typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence); + +#define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV) +#define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV) +#define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV) +#define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV) +#define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV) +#define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV) +#define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV) + +#define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence) + +#endif /* GL_NV_fence */ + +/* -------------------------- GL_NV_fill_rectangle ------------------------- */ + +#ifndef GL_NV_fill_rectangle +#define GL_NV_fill_rectangle 1 + +#define GL_FILL_RECTANGLE_NV 0x933C + +#define GLEW_NV_fill_rectangle GLEW_GET_VAR(__GLEW_NV_fill_rectangle) + +#endif /* GL_NV_fill_rectangle */ + +/* --------------------------- GL_NV_float_buffer -------------------------- */ + +#ifndef GL_NV_float_buffer +#define GL_NV_float_buffer 1 + +#define GL_FLOAT_R_NV 0x8880 +#define GL_FLOAT_RG_NV 0x8881 +#define GL_FLOAT_RGB_NV 0x8882 +#define GL_FLOAT_RGBA_NV 0x8883 +#define GL_FLOAT_R16_NV 0x8884 +#define GL_FLOAT_R32_NV 0x8885 +#define GL_FLOAT_RG16_NV 0x8886 +#define GL_FLOAT_RG32_NV 0x8887 +#define GL_FLOAT_RGB16_NV 0x8888 +#define GL_FLOAT_RGB32_NV 0x8889 +#define GL_FLOAT_RGBA16_NV 0x888A +#define GL_FLOAT_RGBA32_NV 0x888B +#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C +#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D +#define GL_FLOAT_RGBA_MODE_NV 0x888E + +#define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer) + +#endif /* GL_NV_float_buffer */ + +/* --------------------------- GL_NV_fog_distance -------------------------- */ + +#ifndef GL_NV_fog_distance +#define GL_NV_fog_distance 1 + +#define GL_FOG_DISTANCE_MODE_NV 0x855A +#define GL_EYE_RADIAL_NV 0x855B +#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C + +#define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance) + +#endif /* GL_NV_fog_distance */ + +/* -------------------- GL_NV_fragment_coverage_to_color ------------------- */ + +#ifndef GL_NV_fragment_coverage_to_color +#define GL_NV_fragment_coverage_to_color 1 + +#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD +#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); + +#define glFragmentCoverageColorNV GLEW_GET_FUN(__glewFragmentCoverageColorNV) + +#define GLEW_NV_fragment_coverage_to_color GLEW_GET_VAR(__GLEW_NV_fragment_coverage_to_color) + +#endif /* GL_NV_fragment_coverage_to_color */ + +/* ------------------------- GL_NV_fragment_program ------------------------ */ + +#ifndef GL_NV_fragment_program +#define GL_NV_fragment_program 1 + +#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 +#define GL_FRAGMENT_PROGRAM_NV 0x8870 +#define GL_MAX_TEXTURE_COORDS_NV 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 +#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 +#define GL_PROGRAM_ERROR_STRING_NV 0x8874 + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]); + +#define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV) +#define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV) +#define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV) +#define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV) +#define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV) +#define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV) + +#define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program) + +#endif /* GL_NV_fragment_program */ + +/* ------------------------ GL_NV_fragment_program2 ------------------------ */ + +#ifndef GL_NV_fragment_program2 +#define GL_NV_fragment_program2 1 + +#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 +#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 +#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 +#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 +#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 + +#define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2) + +#endif /* GL_NV_fragment_program2 */ + +/* ------------------------ GL_NV_fragment_program4 ------------------------ */ + +#ifndef GL_NV_fragment_program4 +#define GL_NV_fragment_program4 1 + +#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4) + +#endif /* GL_NV_fragment_program4 */ + +/* --------------------- GL_NV_fragment_program_option --------------------- */ + +#ifndef GL_NV_fragment_program_option +#define GL_NV_fragment_program_option 1 + +#define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option) + +#endif /* GL_NV_fragment_program_option */ + +/* -------------------- GL_NV_fragment_shader_interlock -------------------- */ + +#ifndef GL_NV_fragment_shader_interlock +#define GL_NV_fragment_shader_interlock 1 + +#define GLEW_NV_fragment_shader_interlock GLEW_GET_VAR(__GLEW_NV_fragment_shader_interlock) + +#endif /* GL_NV_fragment_shader_interlock */ + +/* ------------------------- GL_NV_framebuffer_blit ------------------------ */ + +#ifndef GL_NV_framebuffer_blit +#define GL_NV_framebuffer_blit 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 +#define GL_READ_FRAMEBUFFER_NV 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA + +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + +#define glBlitFramebufferNV GLEW_GET_FUN(__glewBlitFramebufferNV) + +#define GLEW_NV_framebuffer_blit GLEW_GET_VAR(__GLEW_NV_framebuffer_blit) + +#endif /* GL_NV_framebuffer_blit */ + +/* -------------------- GL_NV_framebuffer_mixed_samples -------------------- */ + +#ifndef GL_NV_framebuffer_mixed_samples +#define GL_NV_framebuffer_mixed_samples 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 + +#define GLEW_NV_framebuffer_mixed_samples GLEW_GET_VAR(__GLEW_NV_framebuffer_mixed_samples) + +#endif /* GL_NV_framebuffer_mixed_samples */ + +/* --------------------- GL_NV_framebuffer_multisample --------------------- */ + +#ifndef GL_NV_framebuffer_multisample +#define GL_NV_framebuffer_multisample 1 + +#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 +#define GL_MAX_SAMPLES_NV 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleNV) + +#define GLEW_NV_framebuffer_multisample GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample) + +#endif /* GL_NV_framebuffer_multisample */ + +/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */ + +#ifndef GL_NV_framebuffer_multisample_coverage +#define GL_NV_framebuffer_multisample_coverage 1 + +#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB +#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 +#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 +#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV) + +#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage) + +#endif /* GL_NV_framebuffer_multisample_coverage */ + +/* ----------------------- GL_NV_generate_mipmap_sRGB ---------------------- */ + +#ifndef GL_NV_generate_mipmap_sRGB +#define GL_NV_generate_mipmap_sRGB 1 + +#define GLEW_NV_generate_mipmap_sRGB GLEW_GET_VAR(__GLEW_NV_generate_mipmap_sRGB) + +#endif /* GL_NV_generate_mipmap_sRGB */ + +/* ------------------------ GL_NV_geometry_program4 ------------------------ */ + +#ifndef GL_NV_geometry_program4 +#define GL_NV_geometry_program4 1 + +#define GL_GEOMETRY_PROGRAM_NV 0x8C26 +#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 +#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 + +typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); + +#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV) + +#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4) + +#endif /* GL_NV_geometry_program4 */ + +/* ------------------------- GL_NV_geometry_shader4 ------------------------ */ + +#ifndef GL_NV_geometry_shader4 +#define GL_NV_geometry_shader4 1 + +#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4) + +#endif /* GL_NV_geometry_shader4 */ + +/* ------------------- GL_NV_geometry_shader_passthrough ------------------- */ + +#ifndef GL_NV_geometry_shader_passthrough +#define GL_NV_geometry_shader_passthrough 1 + +#define GLEW_NV_geometry_shader_passthrough GLEW_GET_VAR(__GLEW_NV_geometry_shader_passthrough) + +#endif /* GL_NV_geometry_shader_passthrough */ + +/* -------------------------- GL_NV_gpu_multicast -------------------------- */ + +#ifndef GL_NV_gpu_multicast +#define GL_NV_gpu_multicast 1 + +#define GL_PER_GPU_STORAGE_BIT_NV 0x0800 +#define GL_MULTICAST_GPUS_NV 0x92BA +#define GL_PER_GPU_STORAGE_NV 0x9548 +#define GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9549 +#define GL_RENDER_GPU_MASK_NV 0x9558 + +typedef void (GLAPIENTRY * PFNGLMULTICASTBARRIERNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLMULTICASTBLITFRAMEBUFFERNVPROC) (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (GLAPIENTRY * PFNGLMULTICASTBUFFERSUBDATANVPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (GLAPIENTRY * PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC) (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLMULTICASTCOPYIMAGESUBDATANVPROC) (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +typedef void (GLAPIENTRY * PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLMULTICASTGETQUERYOBJECTIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLMULTICASTWAITSYNCNVPROC) (GLuint signalGpu, GLbitfield waitGpuMask); +typedef void (GLAPIENTRY * PFNGLRENDERGPUMASKNVPROC) (GLbitfield mask); + +#define glMulticastBarrierNV GLEW_GET_FUN(__glewMulticastBarrierNV) +#define glMulticastBlitFramebufferNV GLEW_GET_FUN(__glewMulticastBlitFramebufferNV) +#define glMulticastBufferSubDataNV GLEW_GET_FUN(__glewMulticastBufferSubDataNV) +#define glMulticastCopyBufferSubDataNV GLEW_GET_FUN(__glewMulticastCopyBufferSubDataNV) +#define glMulticastCopyImageSubDataNV GLEW_GET_FUN(__glewMulticastCopyImageSubDataNV) +#define glMulticastFramebufferSampleLocationsfvNV GLEW_GET_FUN(__glewMulticastFramebufferSampleLocationsfvNV) +#define glMulticastGetQueryObjecti64vNV GLEW_GET_FUN(__glewMulticastGetQueryObjecti64vNV) +#define glMulticastGetQueryObjectivNV GLEW_GET_FUN(__glewMulticastGetQueryObjectivNV) +#define glMulticastGetQueryObjectui64vNV GLEW_GET_FUN(__glewMulticastGetQueryObjectui64vNV) +#define glMulticastGetQueryObjectuivNV GLEW_GET_FUN(__glewMulticastGetQueryObjectuivNV) +#define glMulticastWaitSyncNV GLEW_GET_FUN(__glewMulticastWaitSyncNV) +#define glRenderGpuMaskNV GLEW_GET_FUN(__glewRenderGpuMaskNV) + +#define GLEW_NV_gpu_multicast GLEW_GET_VAR(__GLEW_NV_gpu_multicast) + +#endif /* GL_NV_gpu_multicast */ + +/* --------------------------- GL_NV_gpu_program4 -------------------------- */ + +#ifndef GL_NV_gpu_program4 +#define GL_NV_gpu_program4 1 + +#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 +#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 +#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 +#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 +#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 +#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 +#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 + +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); + +#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV) +#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV) +#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV) +#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV) +#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV) +#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV) +#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV) +#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV) +#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV) +#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV) +#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV) +#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV) + +#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4) + +#endif /* GL_NV_gpu_program4 */ + +/* --------------------------- GL_NV_gpu_program5 -------------------------- */ + +#ifndef GL_NV_gpu_program5 +#define GL_NV_gpu_program5 1 + +#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C +#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F + +#define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5) + +#endif /* GL_NV_gpu_program5 */ + +/* -------------------- GL_NV_gpu_program5_mem_extended -------------------- */ + +#ifndef GL_NV_gpu_program5_mem_extended +#define GL_NV_gpu_program5_mem_extended 1 + +#define GLEW_NV_gpu_program5_mem_extended GLEW_GET_VAR(__GLEW_NV_gpu_program5_mem_extended) + +#endif /* GL_NV_gpu_program5_mem_extended */ + +/* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */ + +#ifndef GL_NV_gpu_program_fp64 +#define GL_NV_gpu_program_fp64 1 + +#define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64) + +#endif /* GL_NV_gpu_program_fp64 */ + +/* --------------------------- GL_NV_gpu_shader5 --------------------------- */ + +#ifndef GL_NV_gpu_shader5 +#define GL_NV_gpu_shader5 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV) +#define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV) +#define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV) +#define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV) +#define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV) +#define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV) +#define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV) +#define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV) +#define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV) +#define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV) +#define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV) +#define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV) +#define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV) +#define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV) +#define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV) +#define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV) +#define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV) +#define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV) +#define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV) +#define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV) +#define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV) +#define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV) +#define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV) +#define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV) +#define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV) +#define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV) +#define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV) +#define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV) +#define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV) +#define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV) +#define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV) +#define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV) +#define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV) +#define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV) + +#define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5) + +#endif /* GL_NV_gpu_shader5 */ + +/* ---------------------------- GL_NV_half_float --------------------------- */ + +#ifndef GL_NV_half_float +#define GL_NV_half_float 1 + +#define GL_HALF_FLOAT_NV 0x140B + +typedef unsigned short GLhalf; + +typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); +typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha); +typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog); +typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz); +typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s); +typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r); +typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y); +typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z); +typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w); +typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); + +#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV) +#define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV) +#define glColor4hNV GLEW_GET_FUN(__glewColor4hNV) +#define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV) +#define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV) +#define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV) +#define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV) +#define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV) +#define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV) +#define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV) +#define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV) +#define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV) +#define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV) +#define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV) +#define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV) +#define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV) +#define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV) +#define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV) +#define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV) +#define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV) +#define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV) +#define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV) +#define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV) +#define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV) +#define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV) +#define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV) +#define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV) +#define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV) +#define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV) +#define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV) +#define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV) +#define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV) +#define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV) +#define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV) +#define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV) +#define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV) +#define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV) +#define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV) +#define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV) +#define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV) +#define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV) +#define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV) +#define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV) +#define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV) +#define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV) +#define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV) + +#define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float) + +#endif /* GL_NV_half_float */ + +/* -------------------------- GL_NV_image_formats -------------------------- */ + +#ifndef GL_NV_image_formats +#define GL_NV_image_formats 1 + +#define GLEW_NV_image_formats GLEW_GET_VAR(__GLEW_NV_image_formats) + +#endif /* GL_NV_image_formats */ + +/* ------------------------- GL_NV_instanced_arrays ------------------------ */ + +#ifndef GL_NV_instanced_arrays +#define GL_NV_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); + +#define glVertexAttribDivisorNV GLEW_GET_FUN(__glewVertexAttribDivisorNV) + +#define GLEW_NV_instanced_arrays GLEW_GET_VAR(__GLEW_NV_instanced_arrays) + +#endif /* GL_NV_instanced_arrays */ + +/* ------------------- GL_NV_internalformat_sample_query ------------------- */ + +#ifndef GL_NV_internalformat_sample_query +#define GL_NV_internalformat_sample_query 1 + +#define GL_MULTISAMPLES_NV 0x9371 +#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372 +#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373 +#define GL_CONFORMANT_NV 0x9374 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint* params); + +#define glGetInternalformatSampleivNV GLEW_GET_FUN(__glewGetInternalformatSampleivNV) + +#define GLEW_NV_internalformat_sample_query GLEW_GET_VAR(__GLEW_NV_internalformat_sample_query) + +#endif /* GL_NV_internalformat_sample_query */ + +/* ------------------------ GL_NV_light_max_exponent ----------------------- */ + +#ifndef GL_NV_light_max_exponent +#define GL_NV_light_max_exponent 1 + +#define GL_MAX_SHININESS_NV 0x8504 +#define GL_MAX_SPOT_EXPONENT_NV 0x8505 + +#define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent) + +#endif /* GL_NV_light_max_exponent */ + +/* ----------------------- GL_NV_multisample_coverage ---------------------- */ + +#ifndef GL_NV_multisample_coverage +#define GL_NV_multisample_coverage 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 + +#define GLEW_NV_multisample_coverage GLEW_GET_VAR(__GLEW_NV_multisample_coverage) + +#endif /* GL_NV_multisample_coverage */ + +/* --------------------- GL_NV_multisample_filter_hint --------------------- */ + +#ifndef GL_NV_multisample_filter_hint +#define GL_NV_multisample_filter_hint 1 + +#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 + +#define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint) + +#endif /* GL_NV_multisample_filter_hint */ + +/* ----------------------- GL_NV_non_square_matrices ----------------------- */ + +#ifndef GL_NV_non_square_matrices +#define GL_NV_non_square_matrices 1 + +#define GL_FLOAT_MAT2x3_NV 0x8B65 +#define GL_FLOAT_MAT2x4_NV 0x8B66 +#define GL_FLOAT_MAT3x2_NV 0x8B67 +#define GL_FLOAT_MAT3x4_NV 0x8B68 +#define GL_FLOAT_MAT4x2_NV 0x8B69 +#define GL_FLOAT_MAT4x3_NV 0x8B6A + +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); + +#define glUniformMatrix2x3fvNV GLEW_GET_FUN(__glewUniformMatrix2x3fvNV) +#define glUniformMatrix2x4fvNV GLEW_GET_FUN(__glewUniformMatrix2x4fvNV) +#define glUniformMatrix3x2fvNV GLEW_GET_FUN(__glewUniformMatrix3x2fvNV) +#define glUniformMatrix3x4fvNV GLEW_GET_FUN(__glewUniformMatrix3x4fvNV) +#define glUniformMatrix4x2fvNV GLEW_GET_FUN(__glewUniformMatrix4x2fvNV) +#define glUniformMatrix4x3fvNV GLEW_GET_FUN(__glewUniformMatrix4x3fvNV) + +#define GLEW_NV_non_square_matrices GLEW_GET_VAR(__GLEW_NV_non_square_matrices) + +#endif /* GL_NV_non_square_matrices */ + +/* ------------------------- GL_NV_occlusion_query ------------------------- */ + +#ifndef GL_NV_occlusion_query +#define GL_NV_occlusion_query 1 + +#define GL_PIXEL_COUNTER_BITS_NV 0x8864 +#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 +#define GL_PIXEL_COUNT_NV 0x8866 +#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 + +typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); + +#define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV) +#define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV) +#define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV) +#define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV) +#define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV) +#define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV) +#define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV) + +#define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query) + +#endif /* GL_NV_occlusion_query */ + +/* -------------------------- GL_NV_pack_subimage -------------------------- */ + +#ifndef GL_NV_pack_subimage +#define GL_NV_pack_subimage 1 + +#define GL_PACK_ROW_LENGTH_NV 0x0D02 +#define GL_PACK_SKIP_ROWS_NV 0x0D03 +#define GL_PACK_SKIP_PIXELS_NV 0x0D04 + +#define GLEW_NV_pack_subimage GLEW_GET_VAR(__GLEW_NV_pack_subimage) + +#endif /* GL_NV_pack_subimage */ + +/* ----------------------- GL_NV_packed_depth_stencil ---------------------- */ + +#ifndef GL_NV_packed_depth_stencil +#define GL_NV_packed_depth_stencil 1 + +#define GL_DEPTH_STENCIL_NV 0x84F9 +#define GL_UNSIGNED_INT_24_8_NV 0x84FA + +#define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil) + +#endif /* GL_NV_packed_depth_stencil */ + +/* --------------------------- GL_NV_packed_float -------------------------- */ + +#ifndef GL_NV_packed_float +#define GL_NV_packed_float 1 + +#define GL_R11F_G11F_B10F_NV 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_NV 0x8C3B + +#define GLEW_NV_packed_float GLEW_GET_VAR(__GLEW_NV_packed_float) + +#endif /* GL_NV_packed_float */ + +/* ----------------------- GL_NV_packed_float_linear ----------------------- */ + +#ifndef GL_NV_packed_float_linear +#define GL_NV_packed_float_linear 1 + +#define GL_R11F_G11F_B10F_NV 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_NV 0x8C3B + +#define GLEW_NV_packed_float_linear GLEW_GET_VAR(__GLEW_NV_packed_float_linear) + +#endif /* GL_NV_packed_float_linear */ + +/* --------------------- GL_NV_parameter_buffer_object --------------------- */ + +#ifndef GL_NV_parameter_buffer_object +#define GL_NV_parameter_buffer_object 1 + +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 +#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 +#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 +#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 + +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); + +#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV) +#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV) +#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV) + +#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object) + +#endif /* GL_NV_parameter_buffer_object */ + +/* --------------------- GL_NV_parameter_buffer_object2 -------------------- */ + +#ifndef GL_NV_parameter_buffer_object2 +#define GL_NV_parameter_buffer_object2 1 + +#define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2) + +#endif /* GL_NV_parameter_buffer_object2 */ + +/* -------------------------- GL_NV_path_rendering ------------------------- */ + +#ifndef GL_NV_path_rendering +#define GL_NV_path_rendering 1 + +#define GL_CLOSE_PATH_NV 0x00 +#define GL_BOLD_BIT_NV 0x01 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_MOVE_TO_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_LINE_TO_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RESTART_PATH_NV 0xF0 +#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 +#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 +#define GL_RECT_NV 0xF6 +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_PATH_STROKE_BOUND_NV 0x9086 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_PATH_FOG_GEN_MODE_NV 0x90AC +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_FRAGMENT_INPUT_NV 0x936D +#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 +#define GL_FONT_ASCENDER_BIT_NV 0x00200000 +#define GL_FONT_DESCENDER_BIT_NV 0x00400000 +#define GL_FONT_HEIGHT_BIT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 +#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 + +typedef void (GLAPIENTRY * PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); +typedef GLuint (GLAPIENTRY * PFNGLGENPATHSNVPROC) (GLsizei range); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte* commands); +typedef void (GLAPIENTRY * PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat* coords); +typedef void (GLAPIENTRY * PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat* dashArray); +typedef GLfloat (GLAPIENTRY * PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +typedef GLboolean (GLAPIENTRY * PFNGLISPATHNVPROC) (GLuint path); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs); +typedef void (GLAPIENTRY * PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void*coords); +typedef void (GLAPIENTRY * PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GLAPIENTRY * PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum zfunc); +typedef void (GLAPIENTRY * PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat* dashArray); +typedef void (GLAPIENTRY * PFNGLPATHFOGGENNVPROC) (GLenum genMode); +typedef GLenum (GLAPIENTRY * PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (GLAPIENTRY * PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void*charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (GLAPIENTRY * PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void*coords); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GLAPIENTRY * PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs); +typedef GLboolean (GLAPIENTRY * PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (GLAPIENTRY * PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat* coeffs); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues); +typedef void (GLAPIENTRY * PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint paths[], const GLfloat weights[]); + +#define glCopyPathNV GLEW_GET_FUN(__glewCopyPathNV) +#define glCoverFillPathInstancedNV GLEW_GET_FUN(__glewCoverFillPathInstancedNV) +#define glCoverFillPathNV GLEW_GET_FUN(__glewCoverFillPathNV) +#define glCoverStrokePathInstancedNV GLEW_GET_FUN(__glewCoverStrokePathInstancedNV) +#define glCoverStrokePathNV GLEW_GET_FUN(__glewCoverStrokePathNV) +#define glDeletePathsNV GLEW_GET_FUN(__glewDeletePathsNV) +#define glGenPathsNV GLEW_GET_FUN(__glewGenPathsNV) +#define glGetPathColorGenfvNV GLEW_GET_FUN(__glewGetPathColorGenfvNV) +#define glGetPathColorGenivNV GLEW_GET_FUN(__glewGetPathColorGenivNV) +#define glGetPathCommandsNV GLEW_GET_FUN(__glewGetPathCommandsNV) +#define glGetPathCoordsNV GLEW_GET_FUN(__glewGetPathCoordsNV) +#define glGetPathDashArrayNV GLEW_GET_FUN(__glewGetPathDashArrayNV) +#define glGetPathLengthNV GLEW_GET_FUN(__glewGetPathLengthNV) +#define glGetPathMetricRangeNV GLEW_GET_FUN(__glewGetPathMetricRangeNV) +#define glGetPathMetricsNV GLEW_GET_FUN(__glewGetPathMetricsNV) +#define glGetPathParameterfvNV GLEW_GET_FUN(__glewGetPathParameterfvNV) +#define glGetPathParameterivNV GLEW_GET_FUN(__glewGetPathParameterivNV) +#define glGetPathSpacingNV GLEW_GET_FUN(__glewGetPathSpacingNV) +#define glGetPathTexGenfvNV GLEW_GET_FUN(__glewGetPathTexGenfvNV) +#define glGetPathTexGenivNV GLEW_GET_FUN(__glewGetPathTexGenivNV) +#define glGetProgramResourcefvNV GLEW_GET_FUN(__glewGetProgramResourcefvNV) +#define glInterpolatePathsNV GLEW_GET_FUN(__glewInterpolatePathsNV) +#define glIsPathNV GLEW_GET_FUN(__glewIsPathNV) +#define glIsPointInFillPathNV GLEW_GET_FUN(__glewIsPointInFillPathNV) +#define glIsPointInStrokePathNV GLEW_GET_FUN(__glewIsPointInStrokePathNV) +#define glMatrixLoad3x2fNV GLEW_GET_FUN(__glewMatrixLoad3x2fNV) +#define glMatrixLoad3x3fNV GLEW_GET_FUN(__glewMatrixLoad3x3fNV) +#define glMatrixLoadTranspose3x3fNV GLEW_GET_FUN(__glewMatrixLoadTranspose3x3fNV) +#define glMatrixMult3x2fNV GLEW_GET_FUN(__glewMatrixMult3x2fNV) +#define glMatrixMult3x3fNV GLEW_GET_FUN(__glewMatrixMult3x3fNV) +#define glMatrixMultTranspose3x3fNV GLEW_GET_FUN(__glewMatrixMultTranspose3x3fNV) +#define glPathColorGenNV GLEW_GET_FUN(__glewPathColorGenNV) +#define glPathCommandsNV GLEW_GET_FUN(__glewPathCommandsNV) +#define glPathCoordsNV GLEW_GET_FUN(__glewPathCoordsNV) +#define glPathCoverDepthFuncNV GLEW_GET_FUN(__glewPathCoverDepthFuncNV) +#define glPathDashArrayNV GLEW_GET_FUN(__glewPathDashArrayNV) +#define glPathFogGenNV GLEW_GET_FUN(__glewPathFogGenNV) +#define glPathGlyphIndexArrayNV GLEW_GET_FUN(__glewPathGlyphIndexArrayNV) +#define glPathGlyphIndexRangeNV GLEW_GET_FUN(__glewPathGlyphIndexRangeNV) +#define glPathGlyphRangeNV GLEW_GET_FUN(__glewPathGlyphRangeNV) +#define glPathGlyphsNV GLEW_GET_FUN(__glewPathGlyphsNV) +#define glPathMemoryGlyphIndexArrayNV GLEW_GET_FUN(__glewPathMemoryGlyphIndexArrayNV) +#define glPathParameterfNV GLEW_GET_FUN(__glewPathParameterfNV) +#define glPathParameterfvNV GLEW_GET_FUN(__glewPathParameterfvNV) +#define glPathParameteriNV GLEW_GET_FUN(__glewPathParameteriNV) +#define glPathParameterivNV GLEW_GET_FUN(__glewPathParameterivNV) +#define glPathStencilDepthOffsetNV GLEW_GET_FUN(__glewPathStencilDepthOffsetNV) +#define glPathStencilFuncNV GLEW_GET_FUN(__glewPathStencilFuncNV) +#define glPathStringNV GLEW_GET_FUN(__glewPathStringNV) +#define glPathSubCommandsNV GLEW_GET_FUN(__glewPathSubCommandsNV) +#define glPathSubCoordsNV GLEW_GET_FUN(__glewPathSubCoordsNV) +#define glPathTexGenNV GLEW_GET_FUN(__glewPathTexGenNV) +#define glPointAlongPathNV GLEW_GET_FUN(__glewPointAlongPathNV) +#define glProgramPathFragmentInputGenNV GLEW_GET_FUN(__glewProgramPathFragmentInputGenNV) +#define glStencilFillPathInstancedNV GLEW_GET_FUN(__glewStencilFillPathInstancedNV) +#define glStencilFillPathNV GLEW_GET_FUN(__glewStencilFillPathNV) +#define glStencilStrokePathInstancedNV GLEW_GET_FUN(__glewStencilStrokePathInstancedNV) +#define glStencilStrokePathNV GLEW_GET_FUN(__glewStencilStrokePathNV) +#define glStencilThenCoverFillPathInstancedNV GLEW_GET_FUN(__glewStencilThenCoverFillPathInstancedNV) +#define glStencilThenCoverFillPathNV GLEW_GET_FUN(__glewStencilThenCoverFillPathNV) +#define glStencilThenCoverStrokePathInstancedNV GLEW_GET_FUN(__glewStencilThenCoverStrokePathInstancedNV) +#define glStencilThenCoverStrokePathNV GLEW_GET_FUN(__glewStencilThenCoverStrokePathNV) +#define glTransformPathNV GLEW_GET_FUN(__glewTransformPathNV) +#define glWeightPathsNV GLEW_GET_FUN(__glewWeightPathsNV) + +#define GLEW_NV_path_rendering GLEW_GET_VAR(__GLEW_NV_path_rendering) + +#endif /* GL_NV_path_rendering */ + +/* -------------------- GL_NV_path_rendering_shared_edge ------------------- */ + +#ifndef GL_NV_path_rendering_shared_edge +#define GL_NV_path_rendering_shared_edge 1 + +#define GL_SHARED_EDGE_NV 0xC0 + +#define GLEW_NV_path_rendering_shared_edge GLEW_GET_VAR(__GLEW_NV_path_rendering_shared_edge) + +#endif /* GL_NV_path_rendering_shared_edge */ + +/* ----------------------- GL_NV_pixel_buffer_object ----------------------- */ + +#ifndef GL_NV_pixel_buffer_object +#define GL_NV_pixel_buffer_object 1 + +#define GL_PIXEL_PACK_BUFFER_NV 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_NV 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_NV 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88EF + +#define GLEW_NV_pixel_buffer_object GLEW_GET_VAR(__GLEW_NV_pixel_buffer_object) + +#endif /* GL_NV_pixel_buffer_object */ + +/* ------------------------- GL_NV_pixel_data_range ------------------------ */ + +#ifndef GL_NV_pixel_data_range +#define GL_NV_pixel_data_range 1 + +#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 +#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 +#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A +#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B +#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C +#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D + +typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, void *pointer); + +#define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV) +#define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV) + +#define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range) + +#endif /* GL_NV_pixel_data_range */ + +/* ------------------------- GL_NV_platform_binary ------------------------- */ + +#ifndef GL_NV_platform_binary +#define GL_NV_platform_binary 1 + +#define GL_NVIDIA_PLATFORM_BINARY_NV 0x890B + +#define GLEW_NV_platform_binary GLEW_GET_VAR(__GLEW_NV_platform_binary) + +#endif /* GL_NV_platform_binary */ + +/* --------------------------- GL_NV_point_sprite -------------------------- */ + +#ifndef GL_NV_point_sprite +#define GL_NV_point_sprite 1 + +#define GL_POINT_SPRITE_NV 0x8861 +#define GL_COORD_REPLACE_NV 0x8862 +#define GL_POINT_SPRITE_R_MODE_NV 0x8863 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params); + +#define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV) +#define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV) + +#define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite) + +#endif /* GL_NV_point_sprite */ + +/* --------------------------- GL_NV_polygon_mode -------------------------- */ + +#ifndef GL_NV_polygon_mode +#define GL_NV_polygon_mode 1 + +#define GL_POLYGON_MODE_NV 0x0B40 +#define GL_POINT_NV 0x1B00 +#define GL_LINE_NV 0x1B01 +#define GL_FILL_NV 0x1B02 +#define GL_POLYGON_OFFSET_POINT_NV 0x2A01 +#define GL_POLYGON_OFFSET_LINE_NV 0x2A02 + +typedef void (GLAPIENTRY * PFNGLPOLYGONMODENVPROC) (GLenum face, GLenum mode); + +#define glPolygonModeNV GLEW_GET_FUN(__glewPolygonModeNV) + +#define GLEW_NV_polygon_mode GLEW_GET_VAR(__GLEW_NV_polygon_mode) + +#endif /* GL_NV_polygon_mode */ + +/* -------------------------- GL_NV_present_video -------------------------- */ + +#ifndef GL_NV_present_video +#define GL_NV_present_video 1 + +#define GL_FRAME_NV 0x8E26 +#define GL_FIELDS_NV 0x8E27 +#define GL_CURRENT_TIME_NV 0x8E28 +#define GL_NUM_FILL_STREAMS_NV 0x8E29 +#define GL_PRESENT_TIME_NV 0x8E2A +#define GL_PRESENT_DURATION_NV 0x8E2B + +typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); + +#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV) +#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV) +#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV) +#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV) +#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV) +#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV) + +#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video) + +#endif /* GL_NV_present_video */ + +/* ------------------------ GL_NV_primitive_restart ------------------------ */ + +#ifndef GL_NV_primitive_restart +#define GL_NV_primitive_restart 1 + +#define GL_PRIMITIVE_RESTART_NV 0x8558 +#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 + +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void); + +#define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV) +#define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV) + +#define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart) + +#endif /* GL_NV_primitive_restart */ + +/* ---------------------------- GL_NV_read_depth --------------------------- */ + +#ifndef GL_NV_read_depth +#define GL_NV_read_depth 1 + +#define GLEW_NV_read_depth GLEW_GET_VAR(__GLEW_NV_read_depth) + +#endif /* GL_NV_read_depth */ + +/* ------------------------ GL_NV_read_depth_stencil ----------------------- */ + +#ifndef GL_NV_read_depth_stencil +#define GL_NV_read_depth_stencil 1 + +#define GLEW_NV_read_depth_stencil GLEW_GET_VAR(__GLEW_NV_read_depth_stencil) + +#endif /* GL_NV_read_depth_stencil */ + +/* --------------------------- GL_NV_read_stencil -------------------------- */ + +#ifndef GL_NV_read_stencil +#define GL_NV_read_stencil 1 + +#define GLEW_NV_read_stencil GLEW_GET_VAR(__GLEW_NV_read_stencil) + +#endif /* GL_NV_read_stencil */ + +/* ------------------------ GL_NV_register_combiners ----------------------- */ + +#ifndef GL_NV_register_combiners +#define GL_NV_register_combiners 1 + +#define GL_REGISTER_COMBINERS_NV 0x8522 +#define GL_VARIABLE_A_NV 0x8523 +#define GL_VARIABLE_B_NV 0x8524 +#define GL_VARIABLE_C_NV 0x8525 +#define GL_VARIABLE_D_NV 0x8526 +#define GL_VARIABLE_E_NV 0x8527 +#define GL_VARIABLE_F_NV 0x8528 +#define GL_VARIABLE_G_NV 0x8529 +#define GL_CONSTANT_COLOR0_NV 0x852A +#define GL_CONSTANT_COLOR1_NV 0x852B +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_SPARE0_NV 0x852E +#define GL_SPARE1_NV 0x852F +#define GL_DISCARD_NV 0x8530 +#define GL_E_TIMES_F_NV 0x8531 +#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 +#define GL_UNSIGNED_IDENTITY_NV 0x8536 +#define GL_UNSIGNED_INVERT_NV 0x8537 +#define GL_EXPAND_NORMAL_NV 0x8538 +#define GL_EXPAND_NEGATE_NV 0x8539 +#define GL_HALF_BIAS_NORMAL_NV 0x853A +#define GL_HALF_BIAS_NEGATE_NV 0x853B +#define GL_SIGNED_IDENTITY_NV 0x853C +#define GL_SIGNED_NEGATE_NV 0x853D +#define GL_SCALE_BY_TWO_NV 0x853E +#define GL_SCALE_BY_FOUR_NV 0x853F +#define GL_SCALE_BY_ONE_HALF_NV 0x8540 +#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 +#define GL_COMBINER_INPUT_NV 0x8542 +#define GL_COMBINER_MAPPING_NV 0x8543 +#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 +#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 +#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 +#define GL_COMBINER_MUX_SUM_NV 0x8547 +#define GL_COMBINER_SCALE_NV 0x8548 +#define GL_COMBINER_BIAS_NV 0x8549 +#define GL_COMBINER_AB_OUTPUT_NV 0x854A +#define GL_COMBINER_CD_OUTPUT_NV 0x854B +#define GL_COMBINER_SUM_OUTPUT_NV 0x854C +#define GL_MAX_GENERAL_COMBINERS_NV 0x854D +#define GL_NUM_GENERAL_COMBINERS_NV 0x854E +#define GL_COLOR_SUM_CLAMP_NV 0x854F +#define GL_COMBINER0_NV 0x8550 +#define GL_COMBINER1_NV 0x8551 +#define GL_COMBINER2_NV 0x8552 +#define GL_COMBINER3_NV 0x8553 +#define GL_COMBINER4_NV 0x8554 +#define GL_COMBINER5_NV 0x8555 +#define GL_COMBINER6_NV 0x8556 +#define GL_COMBINER7_NV 0x8557 + +typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params); + +#define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV) +#define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV) +#define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV) +#define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV) +#define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV) +#define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV) +#define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV) +#define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV) +#define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV) +#define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV) +#define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV) +#define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV) +#define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV) + +#define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners) + +#endif /* GL_NV_register_combiners */ + +/* ----------------------- GL_NV_register_combiners2 ----------------------- */ + +#ifndef GL_NV_register_combiners2 +#define GL_NV_register_combiners2 1 + +#define GL_PER_STAGE_CONSTANTS_NV 0x8535 + +typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params); + +#define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV) +#define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV) + +#define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2) + +#endif /* GL_NV_register_combiners2 */ + +/* ------------------ GL_NV_robustness_video_memory_purge ------------------ */ + +#ifndef GL_NV_robustness_video_memory_purge +#define GL_NV_robustness_video_memory_purge 1 + +#define GL_EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C +#define GL_PURGED_CONTEXT_RESET_NV 0x92BB + +#define GLEW_NV_robustness_video_memory_purge GLEW_GET_VAR(__GLEW_NV_robustness_video_memory_purge) + +#endif /* GL_NV_robustness_video_memory_purge */ + +/* --------------------------- GL_NV_sRGB_formats -------------------------- */ + +#ifndef GL_NV_sRGB_formats +#define GL_NV_sRGB_formats 1 + +#define GL_ETC1_SRGB8_NV 0x88EE +#define GL_SRGB8_NV 0x8C41 +#define GL_SLUMINANCE_ALPHA_NV 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 +#define GL_SLUMINANCE_NV 0x8C46 +#define GL_SLUMINANCE8_NV 0x8C47 +#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F + +#define GLEW_NV_sRGB_formats GLEW_GET_VAR(__GLEW_NV_sRGB_formats) + +#endif /* GL_NV_sRGB_formats */ + +/* ------------------------- GL_NV_sample_locations ------------------------ */ + +#ifndef GL_NV_sample_locations +#define GL_NV_sample_locations 1 + +#define GL_SAMPLE_LOCATION_NV 0x8E50 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v); + +#define glFramebufferSampleLocationsfvNV GLEW_GET_FUN(__glewFramebufferSampleLocationsfvNV) +#define glNamedFramebufferSampleLocationsfvNV GLEW_GET_FUN(__glewNamedFramebufferSampleLocationsfvNV) + +#define GLEW_NV_sample_locations GLEW_GET_VAR(__GLEW_NV_sample_locations) + +#endif /* GL_NV_sample_locations */ + +/* ------------------ GL_NV_sample_mask_override_coverage ------------------ */ + +#ifndef GL_NV_sample_mask_override_coverage +#define GL_NV_sample_mask_override_coverage 1 + +#define GLEW_NV_sample_mask_override_coverage GLEW_GET_VAR(__GLEW_NV_sample_mask_override_coverage) + +#endif /* GL_NV_sample_mask_override_coverage */ + +/* ---------------------- GL_NV_shader_atomic_counters --------------------- */ + +#ifndef GL_NV_shader_atomic_counters +#define GL_NV_shader_atomic_counters 1 + +#define GLEW_NV_shader_atomic_counters GLEW_GET_VAR(__GLEW_NV_shader_atomic_counters) + +#endif /* GL_NV_shader_atomic_counters */ + +/* ----------------------- GL_NV_shader_atomic_float ----------------------- */ + +#ifndef GL_NV_shader_atomic_float +#define GL_NV_shader_atomic_float 1 + +#define GLEW_NV_shader_atomic_float GLEW_GET_VAR(__GLEW_NV_shader_atomic_float) + +#endif /* GL_NV_shader_atomic_float */ + +/* ---------------------- GL_NV_shader_atomic_float64 ---------------------- */ + +#ifndef GL_NV_shader_atomic_float64 +#define GL_NV_shader_atomic_float64 1 + +#define GLEW_NV_shader_atomic_float64 GLEW_GET_VAR(__GLEW_NV_shader_atomic_float64) + +#endif /* GL_NV_shader_atomic_float64 */ + +/* -------------------- GL_NV_shader_atomic_fp16_vector -------------------- */ + +#ifndef GL_NV_shader_atomic_fp16_vector +#define GL_NV_shader_atomic_fp16_vector 1 + +#define GLEW_NV_shader_atomic_fp16_vector GLEW_GET_VAR(__GLEW_NV_shader_atomic_fp16_vector) + +#endif /* GL_NV_shader_atomic_fp16_vector */ + +/* ----------------------- GL_NV_shader_atomic_int64 ----------------------- */ + +#ifndef GL_NV_shader_atomic_int64 +#define GL_NV_shader_atomic_int64 1 + +#define GLEW_NV_shader_atomic_int64 GLEW_GET_VAR(__GLEW_NV_shader_atomic_int64) + +#endif /* GL_NV_shader_atomic_int64 */ + +/* ------------------------ GL_NV_shader_buffer_load ----------------------- */ + +#ifndef GL_NV_shader_buffer_load +#define GL_NV_shader_buffer_load 1 + +#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D +#define GL_GPU_ADDRESS_NV 0x8F34 +#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 + +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV) +#define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV) +#define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV) +#define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV) +#define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV) +#define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV) +#define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV) +#define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV) +#define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV) +#define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV) +#define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV) +#define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV) +#define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV) + +#define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load) + +#endif /* GL_NV_shader_buffer_load */ + +/* ---------------- GL_NV_shader_noperspective_interpolation --------------- */ + +#ifndef GL_NV_shader_noperspective_interpolation +#define GL_NV_shader_noperspective_interpolation 1 + +#define GLEW_NV_shader_noperspective_interpolation GLEW_GET_VAR(__GLEW_NV_shader_noperspective_interpolation) + +#endif /* GL_NV_shader_noperspective_interpolation */ + +/* ------------------- GL_NV_shader_storage_buffer_object ------------------ */ + +#ifndef GL_NV_shader_storage_buffer_object +#define GL_NV_shader_storage_buffer_object 1 + +#define GLEW_NV_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_NV_shader_storage_buffer_object) + +#endif /* GL_NV_shader_storage_buffer_object */ + +/* ----------------------- GL_NV_shader_thread_group ----------------------- */ + +#ifndef GL_NV_shader_thread_group +#define GL_NV_shader_thread_group 1 + +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B + +#define GLEW_NV_shader_thread_group GLEW_GET_VAR(__GLEW_NV_shader_thread_group) + +#endif /* GL_NV_shader_thread_group */ + +/* ---------------------- GL_NV_shader_thread_shuffle ---------------------- */ + +#ifndef GL_NV_shader_thread_shuffle +#define GL_NV_shader_thread_shuffle 1 + +#define GLEW_NV_shader_thread_shuffle GLEW_GET_VAR(__GLEW_NV_shader_thread_shuffle) + +#endif /* GL_NV_shader_thread_shuffle */ + +/* ---------------------- GL_NV_shadow_samplers_array ---------------------- */ + +#ifndef GL_NV_shadow_samplers_array +#define GL_NV_shadow_samplers_array 1 + +#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 + +#define GLEW_NV_shadow_samplers_array GLEW_GET_VAR(__GLEW_NV_shadow_samplers_array) + +#endif /* GL_NV_shadow_samplers_array */ + +/* ----------------------- GL_NV_shadow_samplers_cube ---------------------- */ + +#ifndef GL_NV_shadow_samplers_cube +#define GL_NV_shadow_samplers_cube 1 + +#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 + +#define GLEW_NV_shadow_samplers_cube GLEW_GET_VAR(__GLEW_NV_shadow_samplers_cube) + +#endif /* GL_NV_shadow_samplers_cube */ + +/* ---------------------- GL_NV_stereo_view_rendering ---------------------- */ + +#ifndef GL_NV_stereo_view_rendering +#define GL_NV_stereo_view_rendering 1 + +#define GLEW_NV_stereo_view_rendering GLEW_GET_VAR(__GLEW_NV_stereo_view_rendering) + +#endif /* GL_NV_stereo_view_rendering */ + +/* ---------------------- GL_NV_tessellation_program5 ---------------------- */ + +#ifndef GL_NV_tessellation_program5 +#define GL_NV_tessellation_program5 1 + +#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 +#define GL_TESS_CONTROL_PROGRAM_NV 0x891E +#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F +#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 +#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 + +#define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5) + +#endif /* GL_NV_tessellation_program5 */ + +/* -------------------------- GL_NV_texgen_emboss -------------------------- */ + +#ifndef GL_NV_texgen_emboss +#define GL_NV_texgen_emboss 1 + +#define GL_EMBOSS_LIGHT_NV 0x855D +#define GL_EMBOSS_CONSTANT_NV 0x855E +#define GL_EMBOSS_MAP_NV 0x855F + +#define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss) + +#endif /* GL_NV_texgen_emboss */ + +/* ------------------------ GL_NV_texgen_reflection ------------------------ */ + +#ifndef GL_NV_texgen_reflection +#define GL_NV_texgen_reflection 1 + +#define GL_NORMAL_MAP_NV 0x8511 +#define GL_REFLECTION_MAP_NV 0x8512 + +#define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection) + +#endif /* GL_NV_texgen_reflection */ + +/* -------------------------- GL_NV_texture_array -------------------------- */ + +#ifndef GL_NV_texture_array +#define GL_NV_texture_array 1 + +#define GL_UNPACK_SKIP_IMAGES_NV 0x806D +#define GL_UNPACK_IMAGE_HEIGHT_NV 0x806E +#define GL_MAX_ARRAY_TEXTURE_LAYERS_NV 0x88FF +#define GL_TEXTURE_2D_ARRAY_NV 0x8C1A +#define GL_TEXTURE_BINDING_2D_ARRAY_NV 0x8C1D +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_NV 0x8CD4 +#define GL_SAMPLER_2D_ARRAY_NV 0x8DC1 + +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DNVPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERNVPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DNVPROC) (GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); + +#define glCompressedTexImage3DNV GLEW_GET_FUN(__glewCompressedTexImage3DNV) +#define glCompressedTexSubImage3DNV GLEW_GET_FUN(__glewCompressedTexSubImage3DNV) +#define glCopyTexSubImage3DNV GLEW_GET_FUN(__glewCopyTexSubImage3DNV) +#define glFramebufferTextureLayerNV GLEW_GET_FUN(__glewFramebufferTextureLayerNV) +#define glTexImage3DNV GLEW_GET_FUN(__glewTexImage3DNV) +#define glTexSubImage3DNV GLEW_GET_FUN(__glewTexSubImage3DNV) + +#define GLEW_NV_texture_array GLEW_GET_VAR(__GLEW_NV_texture_array) + +#endif /* GL_NV_texture_array */ + +/* ------------------------- GL_NV_texture_barrier ------------------------- */ + +#ifndef GL_NV_texture_barrier +#define GL_NV_texture_barrier 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void); + +#define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV) + +#define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier) + +#endif /* GL_NV_texture_barrier */ + +/* ----------------------- GL_NV_texture_border_clamp ---------------------- */ + +#ifndef GL_NV_texture_border_clamp +#define GL_NV_texture_border_clamp 1 + +#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 +#define GL_CLAMP_TO_BORDER_NV 0x812D + +#define GLEW_NV_texture_border_clamp GLEW_GET_VAR(__GLEW_NV_texture_border_clamp) + +#endif /* GL_NV_texture_border_clamp */ + +/* --------------------- GL_NV_texture_compression_latc -------------------- */ + +#ifndef GL_NV_texture_compression_latc +#define GL_NV_texture_compression_latc 1 + +#define GL_COMPRESSED_LUMINANCE_LATC1_NV 0x8C70 +#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_NV 0x8C71 +#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_NV 0x8C72 +#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_NV 0x8C73 + +#define GLEW_NV_texture_compression_latc GLEW_GET_VAR(__GLEW_NV_texture_compression_latc) + +#endif /* GL_NV_texture_compression_latc */ + +/* --------------------- GL_NV_texture_compression_s3tc -------------------- */ + +#ifndef GL_NV_texture_compression_s3tc +#define GL_NV_texture_compression_s3tc 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_NV 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_NV 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_NV 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_NV 0x83F3 + +#define GLEW_NV_texture_compression_s3tc GLEW_GET_VAR(__GLEW_NV_texture_compression_s3tc) + +#endif /* GL_NV_texture_compression_s3tc */ + +/* ----------------- GL_NV_texture_compression_s3tc_update ----------------- */ + +#ifndef GL_NV_texture_compression_s3tc_update +#define GL_NV_texture_compression_s3tc_update 1 + +#define GLEW_NV_texture_compression_s3tc_update GLEW_GET_VAR(__GLEW_NV_texture_compression_s3tc_update) + +#endif /* GL_NV_texture_compression_s3tc_update */ + +/* --------------------- GL_NV_texture_compression_vtc --------------------- */ + +#ifndef GL_NV_texture_compression_vtc +#define GL_NV_texture_compression_vtc 1 + +#define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc) + +#endif /* GL_NV_texture_compression_vtc */ + +/* ----------------------- GL_NV_texture_env_combine4 ---------------------- */ + +#ifndef GL_NV_texture_env_combine4 +#define GL_NV_texture_env_combine4 1 + +#define GL_COMBINE4_NV 0x8503 +#define GL_SOURCE3_RGB_NV 0x8583 +#define GL_SOURCE3_ALPHA_NV 0x858B +#define GL_OPERAND3_RGB_NV 0x8593 +#define GL_OPERAND3_ALPHA_NV 0x859B + +#define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4) + +#endif /* GL_NV_texture_env_combine4 */ + +/* ---------------------- GL_NV_texture_expand_normal ---------------------- */ + +#ifndef GL_NV_texture_expand_normal +#define GL_NV_texture_expand_normal 1 + +#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F + +#define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal) + +#endif /* GL_NV_texture_expand_normal */ + +/* ----------------------- GL_NV_texture_multisample ----------------------- */ + +#ifndef GL_NV_texture_multisample +#define GL_NV_texture_multisample 1 + +#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 +#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); + +#define glTexImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage2DMultisampleCoverageNV) +#define glTexImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage3DMultisampleCoverageNV) +#define glTextureImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage2DMultisampleCoverageNV) +#define glTextureImage2DMultisampleNV GLEW_GET_FUN(__glewTextureImage2DMultisampleNV) +#define glTextureImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage3DMultisampleCoverageNV) +#define glTextureImage3DMultisampleNV GLEW_GET_FUN(__glewTextureImage3DMultisampleNV) + +#define GLEW_NV_texture_multisample GLEW_GET_VAR(__GLEW_NV_texture_multisample) + +#endif /* GL_NV_texture_multisample */ + +/* ---------------------- GL_NV_texture_npot_2D_mipmap --------------------- */ + +#ifndef GL_NV_texture_npot_2D_mipmap +#define GL_NV_texture_npot_2D_mipmap 1 + +#define GLEW_NV_texture_npot_2D_mipmap GLEW_GET_VAR(__GLEW_NV_texture_npot_2D_mipmap) + +#endif /* GL_NV_texture_npot_2D_mipmap */ + +/* ------------------------ GL_NV_texture_rectangle ------------------------ */ + +#ifndef GL_NV_texture_rectangle +#define GL_NV_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_NV 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 + +#define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle) + +#endif /* GL_NV_texture_rectangle */ + +/* ------------------- GL_NV_texture_rectangle_compressed ------------------ */ + +#ifndef GL_NV_texture_rectangle_compressed +#define GL_NV_texture_rectangle_compressed 1 + +#define GLEW_NV_texture_rectangle_compressed GLEW_GET_VAR(__GLEW_NV_texture_rectangle_compressed) + +#endif /* GL_NV_texture_rectangle_compressed */ + +/* -------------------------- GL_NV_texture_shader ------------------------- */ + +#ifndef GL_NV_texture_shader +#define GL_NV_texture_shader 1 + +#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C +#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D +#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E +#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 +#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA +#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB +#define GL_DSDT_MAG_INTENSITY_NV 0x86DC +#define GL_SHADER_CONSISTENT_NV 0x86DD +#define GL_TEXTURE_SHADER_NV 0x86DE +#define GL_SHADER_OPERATION_NV 0x86DF +#define GL_CULL_MODES_NV 0x86E0 +#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2 +#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 +#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3 +#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 +#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 +#define GL_CONST_EYE_NV 0x86E5 +#define GL_PASS_THROUGH_NV 0x86E6 +#define GL_CULL_FRAGMENT_NV 0x86E7 +#define GL_OFFSET_TEXTURE_2D_NV 0x86E8 +#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 +#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA +#define GL_DOT_PRODUCT_NV 0x86EC +#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED +#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE +#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 +#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 +#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 +#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 +#define GL_HILO_NV 0x86F4 +#define GL_DSDT_NV 0x86F5 +#define GL_DSDT_MAG_NV 0x86F6 +#define GL_DSDT_MAG_VIB_NV 0x86F7 +#define GL_HILO16_NV 0x86F8 +#define GL_SIGNED_HILO_NV 0x86F9 +#define GL_SIGNED_HILO16_NV 0x86FA +#define GL_SIGNED_RGBA_NV 0x86FB +#define GL_SIGNED_RGBA8_NV 0x86FC +#define GL_SIGNED_RGB_NV 0x86FE +#define GL_SIGNED_RGB8_NV 0x86FF +#define GL_SIGNED_LUMINANCE_NV 0x8701 +#define GL_SIGNED_LUMINANCE8_NV 0x8702 +#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 +#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 +#define GL_SIGNED_ALPHA_NV 0x8705 +#define GL_SIGNED_ALPHA8_NV 0x8706 +#define GL_SIGNED_INTENSITY_NV 0x8707 +#define GL_SIGNED_INTENSITY8_NV 0x8708 +#define GL_DSDT8_NV 0x8709 +#define GL_DSDT8_MAG8_NV 0x870A +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C +#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D +#define GL_HI_SCALE_NV 0x870E +#define GL_LO_SCALE_NV 0x870F +#define GL_DS_SCALE_NV 0x8710 +#define GL_DT_SCALE_NV 0x8711 +#define GL_MAGNITUDE_SCALE_NV 0x8712 +#define GL_VIBRANCE_SCALE_NV 0x8713 +#define GL_HI_BIAS_NV 0x8714 +#define GL_LO_BIAS_NV 0x8715 +#define GL_DS_BIAS_NV 0x8716 +#define GL_DT_BIAS_NV 0x8717 +#define GL_MAGNITUDE_BIAS_NV 0x8718 +#define GL_VIBRANCE_BIAS_NV 0x8719 +#define GL_TEXTURE_BORDER_VALUES_NV 0x871A +#define GL_TEXTURE_HI_SIZE_NV 0x871B +#define GL_TEXTURE_LO_SIZE_NV 0x871C +#define GL_TEXTURE_DS_SIZE_NV 0x871D +#define GL_TEXTURE_DT_SIZE_NV 0x871E +#define GL_TEXTURE_MAG_SIZE_NV 0x871F + +#define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader) + +#endif /* GL_NV_texture_shader */ + +/* ------------------------- GL_NV_texture_shader2 ------------------------- */ + +#ifndef GL_NV_texture_shader2 +#define GL_NV_texture_shader2 1 + +#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA +#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB +#define GL_DSDT_MAG_INTENSITY_NV 0x86DC +#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF +#define GL_HILO_NV 0x86F4 +#define GL_DSDT_NV 0x86F5 +#define GL_DSDT_MAG_NV 0x86F6 +#define GL_DSDT_MAG_VIB_NV 0x86F7 +#define GL_HILO16_NV 0x86F8 +#define GL_SIGNED_HILO_NV 0x86F9 +#define GL_SIGNED_HILO16_NV 0x86FA +#define GL_SIGNED_RGBA_NV 0x86FB +#define GL_SIGNED_RGBA8_NV 0x86FC +#define GL_SIGNED_RGB_NV 0x86FE +#define GL_SIGNED_RGB8_NV 0x86FF +#define GL_SIGNED_LUMINANCE_NV 0x8701 +#define GL_SIGNED_LUMINANCE8_NV 0x8702 +#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 +#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 +#define GL_SIGNED_ALPHA_NV 0x8705 +#define GL_SIGNED_ALPHA8_NV 0x8706 +#define GL_SIGNED_INTENSITY_NV 0x8707 +#define GL_SIGNED_INTENSITY8_NV 0x8708 +#define GL_DSDT8_NV 0x8709 +#define GL_DSDT8_MAG8_NV 0x870A +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C +#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D + +#define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2) + +#endif /* GL_NV_texture_shader2 */ + +/* ------------------------- GL_NV_texture_shader3 ------------------------- */ + +#ifndef GL_NV_texture_shader3 +#define GL_NV_texture_shader3 1 + +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 +#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 +#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 +#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 +#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 +#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A +#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B +#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C +#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D +#define GL_HILO8_NV 0x885E +#define GL_SIGNED_HILO8_NV 0x885F +#define GL_FORCE_BLUE_TO_ONE_NV 0x8860 + +#define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3) + +#endif /* GL_NV_texture_shader3 */ + +/* ------------------------ GL_NV_transform_feedback ----------------------- */ + +#ifndef GL_NV_transform_feedback +#define GL_NV_transform_feedback 1 + +#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 +#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 +#define GL_TEXTURE_COORD_NV 0x8C79 +#define GL_CLIP_DISTANCE_NV 0x8C7A +#define GL_VERTEX_ID_NV 0x8C7B +#define GL_PRIMITIVE_ID_NV 0x8C7C +#define GL_GENERIC_ATTRIB_NV 0x8C7D +#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 +#define GL_ACTIVE_VARYINGS_NV 0x8C81 +#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 +#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 +#define GL_PRIMITIVES_GENERATED_NV 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 +#define GL_RASTERIZER_DISCARD_NV 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C +#define GL_SEPARATE_ATTRIBS_NV 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F + +typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); +typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); + +#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV) +#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV) +#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV) +#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV) +#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV) +#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV) +#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV) +#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV) +#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV) +#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV) +#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV) + +#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback) + +#endif /* GL_NV_transform_feedback */ + +/* ----------------------- GL_NV_transform_feedback2 ----------------------- */ + +#ifndef GL_NV_transform_feedback2 +#define GL_NV_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void); + +#define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV) +#define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV) +#define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV) +#define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV) +#define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV) +#define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV) +#define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV) + +#define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2) + +#endif /* GL_NV_transform_feedback2 */ + +/* ------------------ GL_NV_uniform_buffer_unified_memory ------------------ */ + +#ifndef GL_NV_uniform_buffer_unified_memory +#define GL_NV_uniform_buffer_unified_memory 1 + +#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E +#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F +#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370 + +#define GLEW_NV_uniform_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_uniform_buffer_unified_memory) + +#endif /* GL_NV_uniform_buffer_unified_memory */ + +/* -------------------------- GL_NV_vdpau_interop -------------------------- */ + +#ifndef GL_NV_vdpau_interop +#define GL_NV_vdpau_interop 1 + +#define GL_SURFACE_STATE_NV 0x86EB +#define GL_SURFACE_REGISTERED_NV 0x86FD +#define GL_SURFACE_MAPPED_NV 0x8700 +#define GL_WRITE_DISCARD_NV 0x88BE + +typedef GLintptr GLvdpauSurfaceNV; + +typedef void (GLAPIENTRY * PFNGLVDPAUFININVPROC) (void); +typedef void (GLAPIENTRY * PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint *values); +typedef void (GLAPIENTRY * PFNGLVDPAUINITNVPROC) (const void* vdpDevice, const void*getProcAddress); +typedef void (GLAPIENTRY * PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); +typedef void (GLAPIENTRY * PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef void (GLAPIENTRY * PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); +typedef void (GLAPIENTRY * PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV* surfaces); +typedef void (GLAPIENTRY * PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); + +#define glVDPAUFiniNV GLEW_GET_FUN(__glewVDPAUFiniNV) +#define glVDPAUGetSurfaceivNV GLEW_GET_FUN(__glewVDPAUGetSurfaceivNV) +#define glVDPAUInitNV GLEW_GET_FUN(__glewVDPAUInitNV) +#define glVDPAUIsSurfaceNV GLEW_GET_FUN(__glewVDPAUIsSurfaceNV) +#define glVDPAUMapSurfacesNV GLEW_GET_FUN(__glewVDPAUMapSurfacesNV) +#define glVDPAURegisterOutputSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterOutputSurfaceNV) +#define glVDPAURegisterVideoSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterVideoSurfaceNV) +#define glVDPAUSurfaceAccessNV GLEW_GET_FUN(__glewVDPAUSurfaceAccessNV) +#define glVDPAUUnmapSurfacesNV GLEW_GET_FUN(__glewVDPAUUnmapSurfacesNV) +#define glVDPAUUnregisterSurfaceNV GLEW_GET_FUN(__glewVDPAUUnregisterSurfaceNV) + +#define GLEW_NV_vdpau_interop GLEW_GET_VAR(__GLEW_NV_vdpau_interop) + +#endif /* GL_NV_vdpau_interop */ + +/* ------------------------ GL_NV_vertex_array_range ----------------------- */ + +#ifndef GL_NV_vertex_array_range +#define GL_NV_vertex_array_range 1 + +#define GL_VERTEX_ARRAY_RANGE_NV 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E +#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F +#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 +#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 + +typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void *pointer); + +#define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV) +#define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV) + +#define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range) + +#endif /* GL_NV_vertex_array_range */ + +/* ----------------------- GL_NV_vertex_array_range2 ----------------------- */ + +#ifndef GL_NV_vertex_array_range2 +#define GL_NV_vertex_array_range2 1 + +#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 + +#define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2) + +#endif /* GL_NV_vertex_array_range2 */ + +/* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */ + +#ifndef GL_NV_vertex_attrib_integer_64bit +#define GL_NV_vertex_attrib_integer_64bit 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); + +#define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV) +#define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV) +#define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV) +#define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV) +#define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV) +#define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV) +#define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV) +#define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV) +#define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV) +#define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV) +#define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV) +#define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV) +#define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV) +#define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV) +#define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV) +#define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV) +#define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV) +#define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV) +#define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV) + +#define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit) + +#endif /* GL_NV_vertex_attrib_integer_64bit */ + +/* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */ + +#ifndef GL_NV_vertex_buffer_unified_memory +#define GL_NV_vertex_buffer_unified_memory 1 + +#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E +#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F +#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 +#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 +#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 +#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 +#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 +#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 +#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 +#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 +#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 +#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 +#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A +#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B +#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C +#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D +#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E +#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F +#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 +#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 +#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 +#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 +#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 +#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 +#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 + +typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]); +typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); + +#define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV) +#define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV) +#define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV) +#define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV) +#define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV) +#define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV) +#define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV) +#define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV) +#define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV) +#define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV) +#define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV) +#define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV) + +#define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory) + +#endif /* GL_NV_vertex_buffer_unified_memory */ + +/* -------------------------- GL_NV_vertex_program ------------------------- */ + +#ifndef GL_NV_vertex_program +#define GL_NV_vertex_program 1 + +#define GL_VERTEX_PROGRAM_NV 0x8620 +#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 +#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 +#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 +#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 +#define GL_CURRENT_ATTRIB_NV 0x8626 +#define GL_PROGRAM_LENGTH_NV 0x8627 +#define GL_PROGRAM_STRING_NV 0x8628 +#define GL_MODELVIEW_PROJECTION_NV 0x8629 +#define GL_IDENTITY_NV 0x862A +#define GL_INVERSE_NV 0x862B +#define GL_TRANSPOSE_NV 0x862C +#define GL_INVERSE_TRANSPOSE_NV 0x862D +#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E +#define GL_MAX_TRACK_MATRICES_NV 0x862F +#define GL_MATRIX0_NV 0x8630 +#define GL_MATRIX1_NV 0x8631 +#define GL_MATRIX2_NV 0x8632 +#define GL_MATRIX3_NV 0x8633 +#define GL_MATRIX4_NV 0x8634 +#define GL_MATRIX5_NV 0x8635 +#define GL_MATRIX6_NV 0x8636 +#define GL_MATRIX7_NV 0x8637 +#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 +#define GL_CURRENT_MATRIX_NV 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 +#define GL_PROGRAM_PARAMETER_NV 0x8644 +#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 +#define GL_PROGRAM_TARGET_NV 0x8646 +#define GL_PROGRAM_RESIDENT_NV 0x8647 +#define GL_TRACK_MATRIX_NV 0x8648 +#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 +#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A +#define GL_PROGRAM_ERROR_POSITION_NV 0x864B +#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 +#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 +#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 +#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 +#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 +#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 +#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 +#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 +#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 +#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 +#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A +#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B +#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C +#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D +#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E +#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F +#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 +#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 +#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 +#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 +#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 +#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 +#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 +#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 +#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 +#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 +#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A +#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B +#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C +#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D +#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E +#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F +#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 +#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 +#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 +#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 +#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 +#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 +#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 +#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 +#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 +#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 +#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A +#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B +#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C +#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D +#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E +#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F + +typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences); +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v); + +#define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV) +#define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV) +#define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV) +#define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV) +#define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV) +#define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV) +#define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV) +#define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV) +#define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV) +#define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV) +#define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV) +#define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV) +#define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV) +#define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV) +#define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV) +#define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV) +#define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV) +#define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV) +#define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV) +#define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV) +#define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV) +#define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV) +#define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV) +#define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV) +#define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV) +#define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV) +#define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV) +#define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV) +#define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV) +#define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV) +#define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV) +#define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV) +#define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV) +#define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV) +#define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV) +#define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV) +#define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV) +#define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV) +#define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV) +#define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV) +#define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV) +#define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV) +#define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV) +#define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV) +#define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV) +#define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV) +#define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV) +#define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV) +#define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV) +#define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV) +#define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV) +#define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV) +#define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV) +#define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV) +#define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV) +#define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV) +#define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV) +#define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV) +#define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV) +#define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV) +#define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV) +#define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV) +#define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV) +#define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV) + +#define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program) + +#endif /* GL_NV_vertex_program */ + +/* ------------------------ GL_NV_vertex_program1_1 ------------------------ */ + +#ifndef GL_NV_vertex_program1_1 +#define GL_NV_vertex_program1_1 1 + +#define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1) + +#endif /* GL_NV_vertex_program1_1 */ + +/* ------------------------- GL_NV_vertex_program2 ------------------------- */ + +#ifndef GL_NV_vertex_program2 +#define GL_NV_vertex_program2 1 + +#define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2) + +#endif /* GL_NV_vertex_program2 */ + +/* ---------------------- GL_NV_vertex_program2_option --------------------- */ + +#ifndef GL_NV_vertex_program2_option +#define GL_NV_vertex_program2_option 1 + +#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 +#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 + +#define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option) + +#endif /* GL_NV_vertex_program2_option */ + +/* ------------------------- GL_NV_vertex_program3 ------------------------- */ + +#ifndef GL_NV_vertex_program3 +#define GL_NV_vertex_program3 1 + +#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C + +#define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3) + +#endif /* GL_NV_vertex_program3 */ + +/* ------------------------- GL_NV_vertex_program4 ------------------------- */ + +#ifndef GL_NV_vertex_program4 +#define GL_NV_vertex_program4 1 + +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD + +#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) + +#endif /* GL_NV_vertex_program4 */ + +/* -------------------------- GL_NV_video_capture -------------------------- */ + +#ifndef GL_NV_video_capture +#define GL_NV_video_capture 1 + +#define GL_VIDEO_BUFFER_NV 0x9020 +#define GL_VIDEO_BUFFER_BINDING_NV 0x9021 +#define GL_FIELD_UPPER_NV 0x9022 +#define GL_FIELD_LOWER_NV 0x9023 +#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 +#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 +#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 +#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 +#define GL_VIDEO_BUFFER_PITCH_NV 0x9028 +#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 +#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A +#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B +#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C +#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D +#define GL_PARTIAL_SUCCESS_NV 0x902E +#define GL_SUCCESS_NV 0x902F +#define GL_FAILURE_NV 0x9030 +#define GL_YCBYCR8_422_NV 0x9031 +#define GL_YCBAYCR8A_4224_NV 0x9032 +#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 +#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 +#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 +#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 +#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 +#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 +#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 +#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A +#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B +#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C + +typedef void (GLAPIENTRY * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); +typedef void (GLAPIENTRY * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT *capture_time); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params); + +#define glBeginVideoCaptureNV GLEW_GET_FUN(__glewBeginVideoCaptureNV) +#define glBindVideoCaptureStreamBufferNV GLEW_GET_FUN(__glewBindVideoCaptureStreamBufferNV) +#define glBindVideoCaptureStreamTextureNV GLEW_GET_FUN(__glewBindVideoCaptureStreamTextureNV) +#define glEndVideoCaptureNV GLEW_GET_FUN(__glewEndVideoCaptureNV) +#define glGetVideoCaptureStreamdvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamdvNV) +#define glGetVideoCaptureStreamfvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamfvNV) +#define glGetVideoCaptureStreamivNV GLEW_GET_FUN(__glewGetVideoCaptureStreamivNV) +#define glGetVideoCaptureivNV GLEW_GET_FUN(__glewGetVideoCaptureivNV) +#define glVideoCaptureNV GLEW_GET_FUN(__glewVideoCaptureNV) +#define glVideoCaptureStreamParameterdvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterdvNV) +#define glVideoCaptureStreamParameterfvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterfvNV) +#define glVideoCaptureStreamParameterivNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterivNV) + +#define GLEW_NV_video_capture GLEW_GET_VAR(__GLEW_NV_video_capture) + +#endif /* GL_NV_video_capture */ + +/* -------------------------- GL_NV_viewport_array ------------------------- */ + +#ifndef GL_NV_viewport_array +#define GL_NV_viewport_array 1 + +#define GL_DEPTH_RANGE 0x0B70 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_MAX_VIEWPORTS_NV 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS_NV 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE_NV 0x825D +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV 0x825F + +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEARRAYFVNVPROC) (GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEINDEXEDFNVPROC) (GLuint index, GLfloat n, GLfloat f); +typedef void (GLAPIENTRY * PFNGLDISABLEINVPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEINVPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VNVPROC) (GLenum target, GLuint index, GLfloat* data); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINVPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLSCISSORARRAYVNVPROC) (GLuint first, GLsizei count, const GLint * v); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDNVPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDVNVPROC) (GLuint index, const GLint * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTARRAYVNVPROC) (GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFVNVPROC) (GLuint index, const GLfloat * v); + +#define glDepthRangeArrayfvNV GLEW_GET_FUN(__glewDepthRangeArrayfvNV) +#define glDepthRangeIndexedfNV GLEW_GET_FUN(__glewDepthRangeIndexedfNV) +#define glDisableiNV GLEW_GET_FUN(__glewDisableiNV) +#define glEnableiNV GLEW_GET_FUN(__glewEnableiNV) +#define glGetFloati_vNV GLEW_GET_FUN(__glewGetFloati_vNV) +#define glIsEnablediNV GLEW_GET_FUN(__glewIsEnablediNV) +#define glScissorArrayvNV GLEW_GET_FUN(__glewScissorArrayvNV) +#define glScissorIndexedNV GLEW_GET_FUN(__glewScissorIndexedNV) +#define glScissorIndexedvNV GLEW_GET_FUN(__glewScissorIndexedvNV) +#define glViewportArrayvNV GLEW_GET_FUN(__glewViewportArrayvNV) +#define glViewportIndexedfNV GLEW_GET_FUN(__glewViewportIndexedfNV) +#define glViewportIndexedfvNV GLEW_GET_FUN(__glewViewportIndexedfvNV) + +#define GLEW_NV_viewport_array GLEW_GET_VAR(__GLEW_NV_viewport_array) + +#endif /* GL_NV_viewport_array */ + +/* ------------------------- GL_NV_viewport_array2 ------------------------- */ + +#ifndef GL_NV_viewport_array2 +#define GL_NV_viewport_array2 1 + +#define GLEW_NV_viewport_array2 GLEW_GET_VAR(__GLEW_NV_viewport_array2) + +#endif /* GL_NV_viewport_array2 */ + +/* ------------------------- GL_NV_viewport_swizzle ------------------------ */ + +#ifndef GL_NV_viewport_swizzle +#define GL_NV_viewport_swizzle 1 + +#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357 +#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358 +#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359 +#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A +#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B + +typedef void (GLAPIENTRY * PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); + +#define glViewportSwizzleNV GLEW_GET_FUN(__glewViewportSwizzleNV) + +#define GLEW_NV_viewport_swizzle GLEW_GET_VAR(__GLEW_NV_viewport_swizzle) + +#endif /* GL_NV_viewport_swizzle */ + +/* ------------------------ GL_OES_byte_coordinates ------------------------ */ + +#ifndef GL_OES_byte_coordinates +#define GL_OES_byte_coordinates 1 + +#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates) + +#endif /* GL_OES_byte_coordinates */ + +/* ---------------------------- GL_OML_interlace --------------------------- */ + +#ifndef GL_OML_interlace +#define GL_OML_interlace 1 + +#define GL_INTERLACE_OML 0x8980 +#define GL_INTERLACE_READ_OML 0x8981 + +#define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace) + +#endif /* GL_OML_interlace */ + +/* ---------------------------- GL_OML_resample ---------------------------- */ + +#ifndef GL_OML_resample +#define GL_OML_resample 1 + +#define GL_PACK_RESAMPLE_OML 0x8984 +#define GL_UNPACK_RESAMPLE_OML 0x8985 +#define GL_RESAMPLE_REPLICATE_OML 0x8986 +#define GL_RESAMPLE_ZERO_FILL_OML 0x8987 +#define GL_RESAMPLE_AVERAGE_OML 0x8988 +#define GL_RESAMPLE_DECIMATE_OML 0x8989 + +#define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample) + +#endif /* GL_OML_resample */ + +/* ---------------------------- GL_OML_subsample --------------------------- */ + +#ifndef GL_OML_subsample +#define GL_OML_subsample 1 + +#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 +#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 + +#define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample) + +#endif /* GL_OML_subsample */ + +/* ---------------------------- GL_OVR_multiview --------------------------- */ + +#ifndef GL_OVR_multiview +#define GL_OVR_multiview 1 + +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630 +#define GL_MAX_VIEWS_OVR 0x9631 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 +#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); + +#define glFramebufferTextureMultiviewOVR GLEW_GET_FUN(__glewFramebufferTextureMultiviewOVR) + +#define GLEW_OVR_multiview GLEW_GET_VAR(__GLEW_OVR_multiview) + +#endif /* GL_OVR_multiview */ + +/* --------------------------- GL_OVR_multiview2 --------------------------- */ + +#ifndef GL_OVR_multiview2 +#define GL_OVR_multiview2 1 + +#define GLEW_OVR_multiview2 GLEW_GET_VAR(__GLEW_OVR_multiview2) + +#endif /* GL_OVR_multiview2 */ + +/* ------------ GL_OVR_multiview_multisampled_render_to_texture ------------ */ + +#ifndef GL_OVR_multiview_multisampled_render_to_texture +#define GL_OVR_multiview_multisampled_render_to_texture 1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews); + +#define glFramebufferTextureMultisampleMultiviewOVR GLEW_GET_FUN(__glewFramebufferTextureMultisampleMultiviewOVR) + +#define GLEW_OVR_multiview_multisampled_render_to_texture GLEW_GET_VAR(__GLEW_OVR_multiview_multisampled_render_to_texture) + +#endif /* GL_OVR_multiview_multisampled_render_to_texture */ + +/* --------------------------- GL_PGI_misc_hints --------------------------- */ + +#ifndef GL_PGI_misc_hints +#define GL_PGI_misc_hints 1 + +#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000 +#define GL_CONSERVE_MEMORY_HINT_PGI 107005 +#define GL_RECLAIM_MEMORY_HINT_PGI 107006 +#define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010 +#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011 +#define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012 +#define GL_ALWAYS_FAST_HINT_PGI 107020 +#define GL_ALWAYS_SOFT_HINT_PGI 107021 +#define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022 +#define GL_ALLOW_DRAW_WIN_HINT_PGI 107023 +#define GL_ALLOW_DRAW_FRG_HINT_PGI 107024 +#define GL_ALLOW_DRAW_MEM_HINT_PGI 107025 +#define GL_STRICT_DEPTHFUNC_HINT_PGI 107030 +#define GL_STRICT_LIGHTING_HINT_PGI 107031 +#define GL_STRICT_SCISSOR_HINT_PGI 107032 +#define GL_FULL_STIPPLE_HINT_PGI 107033 +#define GL_CLIP_NEAR_HINT_PGI 107040 +#define GL_CLIP_FAR_HINT_PGI 107041 +#define GL_WIDE_LINE_HINT_PGI 107042 +#define GL_BACK_NORMALS_HINT_PGI 107043 + +#define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints) + +#endif /* GL_PGI_misc_hints */ + +/* -------------------------- GL_PGI_vertex_hints -------------------------- */ + +#ifndef GL_PGI_vertex_hints +#define GL_PGI_vertex_hints 1 + +#define GL_VERTEX23_BIT_PGI 0x00000004 +#define GL_VERTEX4_BIT_PGI 0x00000008 +#define GL_COLOR3_BIT_PGI 0x00010000 +#define GL_COLOR4_BIT_PGI 0x00020000 +#define GL_EDGEFLAG_BIT_PGI 0x00040000 +#define GL_INDEX_BIT_PGI 0x00080000 +#define GL_MAT_AMBIENT_BIT_PGI 0x00100000 +#define GL_VERTEX_DATA_HINT_PGI 107050 +#define GL_VERTEX_CONSISTENT_HINT_PGI 107051 +#define GL_MATERIAL_SIDE_HINT_PGI 107052 +#define GL_MAX_VERTEX_HINT_PGI 107053 +#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 +#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 +#define GL_MAT_EMISSION_BIT_PGI 0x00800000 +#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 +#define GL_MAT_SHININESS_BIT_PGI 0x02000000 +#define GL_MAT_SPECULAR_BIT_PGI 0x04000000 +#define GL_NORMAL_BIT_PGI 0x08000000 +#define GL_TEXCOORD1_BIT_PGI 0x10000000 +#define GL_TEXCOORD2_BIT_PGI 0x20000000 +#define GL_TEXCOORD3_BIT_PGI 0x40000000 +#define GL_TEXCOORD4_BIT_PGI 0x80000000 + +#define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints) + +#endif /* GL_PGI_vertex_hints */ + +/* --------------------------- GL_QCOM_alpha_test -------------------------- */ + +#ifndef GL_QCOM_alpha_test +#define GL_QCOM_alpha_test 1 + +#define GL_ALPHA_TEST_QCOM 0x0BC0 +#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 +#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 + +typedef void (GLAPIENTRY * PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); + +#define glAlphaFuncQCOM GLEW_GET_FUN(__glewAlphaFuncQCOM) + +#define GLEW_QCOM_alpha_test GLEW_GET_VAR(__GLEW_QCOM_alpha_test) + +#endif /* GL_QCOM_alpha_test */ + +/* ------------------------ GL_QCOM_binning_control ------------------------ */ + +#ifndef GL_QCOM_binning_control +#define GL_QCOM_binning_control 1 + +#define GL_DONT_CARE 0x1100 +#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 +#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 +#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 +#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 + +#define GLEW_QCOM_binning_control GLEW_GET_VAR(__GLEW_QCOM_binning_control) + +#endif /* GL_QCOM_binning_control */ + +/* ------------------------- GL_QCOM_driver_control ------------------------ */ + +#ifndef GL_QCOM_driver_control +#define GL_QCOM_driver_control 1 + +typedef void (GLAPIENTRY * PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +typedef void (GLAPIENTRY * PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +typedef void (GLAPIENTRY * PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar *driverControlString); +typedef void (GLAPIENTRY * PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint* num, GLsizei size, GLuint *driverControls); + +#define glDisableDriverControlQCOM GLEW_GET_FUN(__glewDisableDriverControlQCOM) +#define glEnableDriverControlQCOM GLEW_GET_FUN(__glewEnableDriverControlQCOM) +#define glGetDriverControlStringQCOM GLEW_GET_FUN(__glewGetDriverControlStringQCOM) +#define glGetDriverControlsQCOM GLEW_GET_FUN(__glewGetDriverControlsQCOM) + +#define GLEW_QCOM_driver_control GLEW_GET_VAR(__GLEW_QCOM_driver_control) + +#endif /* GL_QCOM_driver_control */ + +/* -------------------------- GL_QCOM_extended_get ------------------------- */ + +#ifndef GL_QCOM_extended_get +#define GL_QCOM_extended_get 1 + +#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 +#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 +#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 +#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 +#define GL_TEXTURE_TYPE_QCOM 0x8BD7 +#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 +#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 +#define GL_TEXTURE_TARGET_QCOM 0x8BDA +#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB +#define GL_STATE_RESTORE 0x8BDC + +typedef void (GLAPIENTRY * PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void** params); +typedef void (GLAPIENTRY * PFNGLEXTGETBUFFERSQCOMPROC) (GLuint* buffers, GLint maxBuffers, GLint* numBuffers); +typedef void (GLAPIENTRY * PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers); +typedef void (GLAPIENTRY * PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers); +typedef void (GLAPIENTRY * PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels); +typedef void (GLAPIENTRY * PFNGLEXTGETTEXTURESQCOMPROC) (GLuint* textures, GLint maxTextures, GLint* numTextures); +typedef void (GLAPIENTRY * PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); + +#define glExtGetBufferPointervQCOM GLEW_GET_FUN(__glewExtGetBufferPointervQCOM) +#define glExtGetBuffersQCOM GLEW_GET_FUN(__glewExtGetBuffersQCOM) +#define glExtGetFramebuffersQCOM GLEW_GET_FUN(__glewExtGetFramebuffersQCOM) +#define glExtGetRenderbuffersQCOM GLEW_GET_FUN(__glewExtGetRenderbuffersQCOM) +#define glExtGetTexLevelParameterivQCOM GLEW_GET_FUN(__glewExtGetTexLevelParameterivQCOM) +#define glExtGetTexSubImageQCOM GLEW_GET_FUN(__glewExtGetTexSubImageQCOM) +#define glExtGetTexturesQCOM GLEW_GET_FUN(__glewExtGetTexturesQCOM) +#define glExtTexObjectStateOverrideiQCOM GLEW_GET_FUN(__glewExtTexObjectStateOverrideiQCOM) + +#define GLEW_QCOM_extended_get GLEW_GET_VAR(__GLEW_QCOM_extended_get) + +#endif /* GL_QCOM_extended_get */ + +/* ------------------------- GL_QCOM_extended_get2 ------------------------- */ + +#ifndef GL_QCOM_extended_get2 +#define GL_QCOM_extended_get2 1 + +typedef void (GLAPIENTRY * PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar* source, GLint* length); +typedef void (GLAPIENTRY * PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint* programs, GLint maxPrograms, GLint* numPrograms); +typedef void (GLAPIENTRY * PFNGLEXTGETSHADERSQCOMPROC) (GLuint* shaders, GLint maxShaders, GLint* numShaders); +typedef GLboolean (GLAPIENTRY * PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); + +#define glExtGetProgramBinarySourceQCOM GLEW_GET_FUN(__glewExtGetProgramBinarySourceQCOM) +#define glExtGetProgramsQCOM GLEW_GET_FUN(__glewExtGetProgramsQCOM) +#define glExtGetShadersQCOM GLEW_GET_FUN(__glewExtGetShadersQCOM) +#define glExtIsProgramBinaryQCOM GLEW_GET_FUN(__glewExtIsProgramBinaryQCOM) + +#define GLEW_QCOM_extended_get2 GLEW_GET_VAR(__GLEW_QCOM_extended_get2) + +#endif /* GL_QCOM_extended_get2 */ + +/* ---------------------- GL_QCOM_framebuffer_foveated --------------------- */ + +#ifndef GL_QCOM_framebuffer_foveated +#define GL_QCOM_framebuffer_foveated 1 + +#define GL_FOVEATION_ENABLE_BIT_QCOM 0x1 +#define GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM 0x2 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC) (GLuint fbo, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint* providedFeatures); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint fbo, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); + +#define glFramebufferFoveationConfigQCOM GLEW_GET_FUN(__glewFramebufferFoveationConfigQCOM) +#define glFramebufferFoveationParametersQCOM GLEW_GET_FUN(__glewFramebufferFoveationParametersQCOM) + +#define GLEW_QCOM_framebuffer_foveated GLEW_GET_VAR(__GLEW_QCOM_framebuffer_foveated) + +#endif /* GL_QCOM_framebuffer_foveated */ + +/* ---------------------- GL_QCOM_perfmon_global_mode ---------------------- */ + +#ifndef GL_QCOM_perfmon_global_mode +#define GL_QCOM_perfmon_global_mode 1 + +#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 + +#define GLEW_QCOM_perfmon_global_mode GLEW_GET_VAR(__GLEW_QCOM_perfmon_global_mode) + +#endif /* GL_QCOM_perfmon_global_mode */ + +/* -------------- GL_QCOM_shader_framebuffer_fetch_noncoherent ------------- */ + +#ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent +#define GL_QCOM_shader_framebuffer_fetch_noncoherent 1 + +#define GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM 0x96A2 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void); + +#define glFramebufferFetchBarrierQCOM GLEW_GET_FUN(__glewFramebufferFetchBarrierQCOM) + +#define GLEW_QCOM_shader_framebuffer_fetch_noncoherent GLEW_GET_VAR(__GLEW_QCOM_shader_framebuffer_fetch_noncoherent) + +#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */ + +/* ------------------------ GL_QCOM_tiled_rendering ------------------------ */ + +#ifndef GL_QCOM_tiled_rendering +#define GL_QCOM_tiled_rendering 1 + +#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 +#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 +#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 +#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 +#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 +#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 +#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 +#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 +#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 +#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 +#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 +#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 +#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 +#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 +#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 +#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 +#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 +#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 +#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 +#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 +#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 +#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 +#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 +#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 + +typedef void (GLAPIENTRY * PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); +typedef void (GLAPIENTRY * PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); + +#define glEndTilingQCOM GLEW_GET_FUN(__glewEndTilingQCOM) +#define glStartTilingQCOM GLEW_GET_FUN(__glewStartTilingQCOM) + +#define GLEW_QCOM_tiled_rendering GLEW_GET_VAR(__GLEW_QCOM_tiled_rendering) + +#endif /* GL_QCOM_tiled_rendering */ + +/* ---------------------- GL_QCOM_writeonly_rendering ---------------------- */ + +#ifndef GL_QCOM_writeonly_rendering +#define GL_QCOM_writeonly_rendering 1 + +#define GL_WRITEONLY_RENDERING_QCOM 0x8823 + +#define GLEW_QCOM_writeonly_rendering GLEW_GET_VAR(__GLEW_QCOM_writeonly_rendering) + +#endif /* GL_QCOM_writeonly_rendering */ + +/* ---------------------- GL_REGAL_ES1_0_compatibility --------------------- */ + +#ifndef GL_REGAL_ES1_0_compatibility +#define GL_REGAL_ES1_0_compatibility 1 + +typedef int GLclampx; + +typedef void (GLAPIENTRY * PFNGLALPHAFUNCXPROC) (GLenum func, GLclampx ref); +typedef void (GLAPIENTRY * PFNGLCLEARCOLORXPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHXPROC) (GLclampx depth); +typedef void (GLAPIENTRY * PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEXPROC) (GLclampx zNear, GLclampx zFar); +typedef void (GLAPIENTRY * PFNGLFOGXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLFOGXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLFRUSTUMFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GLAPIENTRY * PFNGLFRUSTUMXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GLAPIENTRY * PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLLINEWIDTHXPROC) (GLfixed width); +typedef void (GLAPIENTRY * PFNGLLOADMATRIXXPROC) (const GLfixed* m); +typedef void (GLAPIENTRY * PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLMULTMATRIXXPROC) (const GLfixed* m); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4XPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +typedef void (GLAPIENTRY * PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz); +typedef void (GLAPIENTRY * PFNGLORTHOFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GLAPIENTRY * PFNGLORTHOXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GLAPIENTRY * PFNGLPOINTSIZEXPROC) (GLfixed size); +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units); +typedef void (GLAPIENTRY * PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z); +typedef void (GLAPIENTRY * PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z); + +#define glAlphaFuncx GLEW_GET_FUN(__glewAlphaFuncx) +#define glClearColorx GLEW_GET_FUN(__glewClearColorx) +#define glClearDepthx GLEW_GET_FUN(__glewClearDepthx) +#define glColor4x GLEW_GET_FUN(__glewColor4x) +#define glDepthRangex GLEW_GET_FUN(__glewDepthRangex) +#define glFogx GLEW_GET_FUN(__glewFogx) +#define glFogxv GLEW_GET_FUN(__glewFogxv) +#define glFrustumf GLEW_GET_FUN(__glewFrustumf) +#define glFrustumx GLEW_GET_FUN(__glewFrustumx) +#define glLightModelx GLEW_GET_FUN(__glewLightModelx) +#define glLightModelxv GLEW_GET_FUN(__glewLightModelxv) +#define glLightx GLEW_GET_FUN(__glewLightx) +#define glLightxv GLEW_GET_FUN(__glewLightxv) +#define glLineWidthx GLEW_GET_FUN(__glewLineWidthx) +#define glLoadMatrixx GLEW_GET_FUN(__glewLoadMatrixx) +#define glMaterialx GLEW_GET_FUN(__glewMaterialx) +#define glMaterialxv GLEW_GET_FUN(__glewMaterialxv) +#define glMultMatrixx GLEW_GET_FUN(__glewMultMatrixx) +#define glMultiTexCoord4x GLEW_GET_FUN(__glewMultiTexCoord4x) +#define glNormal3x GLEW_GET_FUN(__glewNormal3x) +#define glOrthof GLEW_GET_FUN(__glewOrthof) +#define glOrthox GLEW_GET_FUN(__glewOrthox) +#define glPointSizex GLEW_GET_FUN(__glewPointSizex) +#define glPolygonOffsetx GLEW_GET_FUN(__glewPolygonOffsetx) +#define glRotatex GLEW_GET_FUN(__glewRotatex) +#define glSampleCoveragex GLEW_GET_FUN(__glewSampleCoveragex) +#define glScalex GLEW_GET_FUN(__glewScalex) +#define glTexEnvx GLEW_GET_FUN(__glewTexEnvx) +#define glTexEnvxv GLEW_GET_FUN(__glewTexEnvxv) +#define glTexParameterx GLEW_GET_FUN(__glewTexParameterx) +#define glTranslatex GLEW_GET_FUN(__glewTranslatex) + +#define GLEW_REGAL_ES1_0_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_0_compatibility) + +#endif /* GL_REGAL_ES1_0_compatibility */ + +/* ---------------------- GL_REGAL_ES1_1_compatibility --------------------- */ + +#ifndef GL_REGAL_ES1_1_compatibility +#define GL_REGAL_ES1_1_compatibility 1 + +typedef void (GLAPIENTRY * PFNGLCLIPPLANEFPROC) (GLenum plane, const GLfloat* equation); +typedef void (GLAPIENTRY * PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed* equation); +typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFPROC) (GLenum pname, GLfloat eqn[4]); +typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEXPROC) (GLenum pname, GLfixed eqn[4]); +typedef void (GLAPIENTRY * PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETTEXENVXVPROC) (GLenum env, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed* params); + +#define glClipPlanef GLEW_GET_FUN(__glewClipPlanef) +#define glClipPlanex GLEW_GET_FUN(__glewClipPlanex) +#define glGetClipPlanef GLEW_GET_FUN(__glewGetClipPlanef) +#define glGetClipPlanex GLEW_GET_FUN(__glewGetClipPlanex) +#define glGetFixedv GLEW_GET_FUN(__glewGetFixedv) +#define glGetLightxv GLEW_GET_FUN(__glewGetLightxv) +#define glGetMaterialxv GLEW_GET_FUN(__glewGetMaterialxv) +#define glGetTexEnvxv GLEW_GET_FUN(__glewGetTexEnvxv) +#define glGetTexParameterxv GLEW_GET_FUN(__glewGetTexParameterxv) +#define glPointParameterx GLEW_GET_FUN(__glewPointParameterx) +#define glPointParameterxv GLEW_GET_FUN(__glewPointParameterxv) +#define glPointSizePointerOES GLEW_GET_FUN(__glewPointSizePointerOES) +#define glTexParameterxv GLEW_GET_FUN(__glewTexParameterxv) + +#define GLEW_REGAL_ES1_1_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_1_compatibility) + +#endif /* GL_REGAL_ES1_1_compatibility */ + +/* ---------------------------- GL_REGAL_enable ---------------------------- */ + +#ifndef GL_REGAL_enable +#define GL_REGAL_enable 1 + +#define GL_ERROR_REGAL 0x9322 +#define GL_DEBUG_REGAL 0x9323 +#define GL_LOG_REGAL 0x9324 +#define GL_EMULATION_REGAL 0x9325 +#define GL_DRIVER_REGAL 0x9326 +#define GL_MISSING_REGAL 0x9360 +#define GL_TRACE_REGAL 0x9361 +#define GL_CACHE_REGAL 0x9362 +#define GL_CODE_REGAL 0x9363 +#define GL_STATISTICS_REGAL 0x9364 + +#define GLEW_REGAL_enable GLEW_GET_VAR(__GLEW_REGAL_enable) + +#endif /* GL_REGAL_enable */ + +/* ------------------------- GL_REGAL_error_string ------------------------- */ + +#ifndef GL_REGAL_error_string +#define GL_REGAL_error_string 1 + +typedef const GLchar* (GLAPIENTRY * PFNGLERRORSTRINGREGALPROC) (GLenum error); + +#define glErrorStringREGAL GLEW_GET_FUN(__glewErrorStringREGAL) + +#define GLEW_REGAL_error_string GLEW_GET_VAR(__GLEW_REGAL_error_string) + +#endif /* GL_REGAL_error_string */ + +/* ------------------------ GL_REGAL_extension_query ----------------------- */ + +#ifndef GL_REGAL_extension_query +#define GL_REGAL_extension_query 1 + +typedef GLboolean (GLAPIENTRY * PFNGLGETEXTENSIONREGALPROC) (const GLchar* ext); +typedef GLboolean (GLAPIENTRY * PFNGLISSUPPORTEDREGALPROC) (const GLchar* ext); + +#define glGetExtensionREGAL GLEW_GET_FUN(__glewGetExtensionREGAL) +#define glIsSupportedREGAL GLEW_GET_FUN(__glewIsSupportedREGAL) + +#define GLEW_REGAL_extension_query GLEW_GET_VAR(__GLEW_REGAL_extension_query) + +#endif /* GL_REGAL_extension_query */ + +/* ------------------------------ GL_REGAL_log ----------------------------- */ + +#ifndef GL_REGAL_log +#define GL_REGAL_log 1 + +#define GL_LOG_ERROR_REGAL 0x9319 +#define GL_LOG_WARNING_REGAL 0x931A +#define GL_LOG_INFO_REGAL 0x931B +#define GL_LOG_APP_REGAL 0x931C +#define GL_LOG_DRIVER_REGAL 0x931D +#define GL_LOG_INTERNAL_REGAL 0x931E +#define GL_LOG_DEBUG_REGAL 0x931F +#define GL_LOG_STATUS_REGAL 0x9320 +#define GL_LOG_HTTP_REGAL 0x9321 + +typedef void (APIENTRY *GLLOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, void *context); + +typedef void (GLAPIENTRY * PFNGLLOGMESSAGECALLBACKREGALPROC) (GLLOGPROCREGAL callback); + +#define glLogMessageCallbackREGAL GLEW_GET_FUN(__glewLogMessageCallbackREGAL) + +#define GLEW_REGAL_log GLEW_GET_VAR(__GLEW_REGAL_log) + +#endif /* GL_REGAL_log */ + +/* ------------------------- GL_REGAL_proc_address ------------------------- */ + +#ifndef GL_REGAL_proc_address +#define GL_REGAL_proc_address 1 + +typedef void * (GLAPIENTRY * PFNGLGETPROCADDRESSREGALPROC) (const GLchar *name); + +#define glGetProcAddressREGAL GLEW_GET_FUN(__glewGetProcAddressREGAL) + +#define GLEW_REGAL_proc_address GLEW_GET_VAR(__GLEW_REGAL_proc_address) + +#endif /* GL_REGAL_proc_address */ + +/* ----------------------- GL_REND_screen_coordinates ---------------------- */ + +#ifndef GL_REND_screen_coordinates +#define GL_REND_screen_coordinates 1 + +#define GL_SCREEN_COORDINATES_REND 0x8490 +#define GL_INVERTED_SCREEN_W_REND 0x8491 + +#define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates) + +#endif /* GL_REND_screen_coordinates */ + +/* ------------------------------- GL_S3_s3tc ------------------------------ */ + +#ifndef GL_S3_s3tc +#define GL_S3_s3tc 1 + +#define GL_RGB_S3TC 0x83A0 +#define GL_RGB4_S3TC 0x83A1 +#define GL_RGBA_S3TC 0x83A2 +#define GL_RGBA4_S3TC 0x83A3 +#define GL_RGBA_DXT5_S3TC 0x83A4 +#define GL_RGBA4_DXT5_S3TC 0x83A5 + +#define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc) + +#endif /* GL_S3_s3tc */ + +/* ------------------------- GL_SGIS_clip_band_hint ------------------------ */ + +#ifndef GL_SGIS_clip_band_hint +#define GL_SGIS_clip_band_hint 1 + +#define GLEW_SGIS_clip_band_hint GLEW_GET_VAR(__GLEW_SGIS_clip_band_hint) + +#endif /* GL_SGIS_clip_band_hint */ + +/* -------------------------- GL_SGIS_color_range -------------------------- */ + +#ifndef GL_SGIS_color_range +#define GL_SGIS_color_range 1 + +#define GL_EXTENDED_RANGE_SGIS 0x85A5 +#define GL_MIN_RED_SGIS 0x85A6 +#define GL_MAX_RED_SGIS 0x85A7 +#define GL_MIN_GREEN_SGIS 0x85A8 +#define GL_MAX_GREEN_SGIS 0x85A9 +#define GL_MIN_BLUE_SGIS 0x85AA +#define GL_MAX_BLUE_SGIS 0x85AB +#define GL_MIN_ALPHA_SGIS 0x85AC +#define GL_MAX_ALPHA_SGIS 0x85AD + +#define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range) + +#endif /* GL_SGIS_color_range */ + +/* ------------------------- GL_SGIS_detail_texture ------------------------ */ + +#ifndef GL_SGIS_detail_texture +#define GL_SGIS_detail_texture 1 + +typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points); + +#define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS) +#define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS) + +#define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture) + +#endif /* GL_SGIS_detail_texture */ + +/* -------------------------- GL_SGIS_fog_function ------------------------- */ + +#ifndef GL_SGIS_fog_function +#define GL_SGIS_fog_function 1 + +typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points); + +#define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS) +#define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS) + +#define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function) + +#endif /* GL_SGIS_fog_function */ + +/* ------------------------ GL_SGIS_generate_mipmap ------------------------ */ + +#ifndef GL_SGIS_generate_mipmap +#define GL_SGIS_generate_mipmap 1 + +#define GL_GENERATE_MIPMAP_SGIS 0x8191 +#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 + +#define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap) + +#endif /* GL_SGIS_generate_mipmap */ + +/* -------------------------- GL_SGIS_line_texgen -------------------------- */ + +#ifndef GL_SGIS_line_texgen +#define GL_SGIS_line_texgen 1 + +#define GLEW_SGIS_line_texgen GLEW_GET_VAR(__GLEW_SGIS_line_texgen) + +#endif /* GL_SGIS_line_texgen */ + +/* -------------------------- GL_SGIS_multisample -------------------------- */ + +#ifndef GL_SGIS_multisample +#define GL_SGIS_multisample 1 + +#define GL_MULTISAMPLE_SGIS 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F +#define GL_SAMPLE_MASK_SGIS 0x80A0 +#define GL_1PASS_SGIS 0x80A1 +#define GL_2PASS_0_SGIS 0x80A2 +#define GL_2PASS_1_SGIS 0x80A3 +#define GL_4PASS_0_SGIS 0x80A4 +#define GL_4PASS_1_SGIS 0x80A5 +#define GL_4PASS_2_SGIS 0x80A6 +#define GL_4PASS_3_SGIS 0x80A7 +#define GL_SAMPLE_BUFFERS_SGIS 0x80A8 +#define GL_SAMPLES_SGIS 0x80A9 +#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA +#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB +#define GL_SAMPLE_PATTERN_SGIS 0x80AC + +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); + +#define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS) +#define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS) + +#define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample) + +#endif /* GL_SGIS_multisample */ + +/* -------------------------- GL_SGIS_multitexture ------------------------- */ + +#ifndef GL_SGIS_multitexture +#define GL_SGIS_multitexture 1 + +#define GL_SELECTED_TEXTURE_SGIS 0x83C0 +#define GL_SELECTED_TEXTURE_COORD_SET_SGIS 0x83C1 +#define GL_SELECTED_TEXTURE_TRANSFORM_SGIS 0x83C2 +#define GL_MAX_TEXTURES_SGIS 0x83C3 +#define GL_MAX_TEXTURE_COORD_SETS_SGIS 0x83C4 +#define GL_TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS 0x83C5 +#define GL_TEXTURE_ENV_COORD_SET_SGIS 0x83C6 +#define GL_TEXTURE0_SGIS 0x83C7 +#define GL_TEXTURE1_SGIS 0x83C8 +#define GL_TEXTURE2_SGIS 0x83C9 +#define GL_TEXTURE3_SGIS 0x83CA + +typedef void (GLAPIENTRY * PFNGLINTERLEAVEDTEXTURECOORDSETSSGISPROC) (GLint factor); +typedef void (GLAPIENTRY * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLSELECTTEXTURESGISPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLSELECTTEXTURETRANSFORMSGISPROC) (GLenum target); + +#define glInterleavedTextureCoordSetsSGIS GLEW_GET_FUN(__glewInterleavedTextureCoordSetsSGIS) +#define glSelectTextureCoordSetSGIS GLEW_GET_FUN(__glewSelectTextureCoordSetSGIS) +#define glSelectTextureSGIS GLEW_GET_FUN(__glewSelectTextureSGIS) +#define glSelectTextureTransformSGIS GLEW_GET_FUN(__glewSelectTextureTransformSGIS) + +#define GLEW_SGIS_multitexture GLEW_GET_VAR(__GLEW_SGIS_multitexture) + +#endif /* GL_SGIS_multitexture */ + +/* ------------------------- GL_SGIS_pixel_texture ------------------------- */ + +#ifndef GL_SGIS_pixel_texture +#define GL_SGIS_pixel_texture 1 + +#define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture) + +#endif /* GL_SGIS_pixel_texture */ + +/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */ + +#ifndef GL_SGIS_point_line_texgen +#define GL_SGIS_point_line_texgen 1 + +#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 +#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 +#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 +#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 +#define GL_EYE_POINT_SGIS 0x81F4 +#define GL_OBJECT_POINT_SGIS 0x81F5 +#define GL_EYE_LINE_SGIS 0x81F6 +#define GL_OBJECT_LINE_SGIS 0x81F7 + +#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen) + +#endif /* GL_SGIS_point_line_texgen */ + +/* ----------------------- GL_SGIS_shared_multisample ---------------------- */ + +#ifndef GL_SGIS_shared_multisample +#define GL_SGIS_shared_multisample 1 + +typedef void (GLAPIENTRY * PFNGLMULTISAMPLESUBRECTPOSSGISPROC) (GLint x, GLint y); + +#define glMultisampleSubRectPosSGIS GLEW_GET_FUN(__glewMultisampleSubRectPosSGIS) + +#define GLEW_SGIS_shared_multisample GLEW_GET_VAR(__GLEW_SGIS_shared_multisample) + +#endif /* GL_SGIS_shared_multisample */ + +/* ------------------------ GL_SGIS_sharpen_texture ------------------------ */ + +#ifndef GL_SGIS_sharpen_texture +#define GL_SGIS_sharpen_texture 1 + +typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points); +typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); + +#define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS) +#define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS) + +#define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture) + +#endif /* GL_SGIS_sharpen_texture */ + +/* --------------------------- GL_SGIS_texture4D --------------------------- */ + +#ifndef GL_SGIS_texture4D +#define GL_SGIS_texture4D 1 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const void *pixels); + +#define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS) +#define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS) + +#define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D) + +#endif /* GL_SGIS_texture4D */ + +/* ---------------------- GL_SGIS_texture_border_clamp --------------------- */ + +#ifndef GL_SGIS_texture_border_clamp +#define GL_SGIS_texture_border_clamp 1 + +#define GL_CLAMP_TO_BORDER_SGIS 0x812D + +#define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp) + +#endif /* GL_SGIS_texture_border_clamp */ + +/* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */ + +#ifndef GL_SGIS_texture_edge_clamp +#define GL_SGIS_texture_edge_clamp 1 + +#define GL_CLAMP_TO_EDGE_SGIS 0x812F + +#define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp) + +#endif /* GL_SGIS_texture_edge_clamp */ + +/* ------------------------ GL_SGIS_texture_filter4 ------------------------ */ + +#ifndef GL_SGIS_texture_filter4 +#define GL_SGIS_texture_filter4 1 + +typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights); +typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights); + +#define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS) +#define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS) + +#define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4) + +#endif /* GL_SGIS_texture_filter4 */ + +/* -------------------------- GL_SGIS_texture_lod -------------------------- */ + +#ifndef GL_SGIS_texture_lod +#define GL_SGIS_texture_lod 1 + +#define GL_TEXTURE_MIN_LOD_SGIS 0x813A +#define GL_TEXTURE_MAX_LOD_SGIS 0x813B +#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C +#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D + +#define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod) + +#endif /* GL_SGIS_texture_lod */ + +/* ------------------------- GL_SGIS_texture_select ------------------------ */ + +#ifndef GL_SGIS_texture_select +#define GL_SGIS_texture_select 1 + +#define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select) + +#endif /* GL_SGIS_texture_select */ + +/* ----------------------------- GL_SGIX_async ----------------------------- */ + +#ifndef GL_SGIX_async +#define GL_SGIX_async 1 + +#define GL_ASYNC_MARKER_SGIX 0x8329 + +typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker); +typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); +typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp); +typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); +typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker); +typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp); + +#define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX) +#define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX) +#define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX) +#define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX) +#define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX) +#define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX) + +#define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async) + +#endif /* GL_SGIX_async */ + +/* ------------------------ GL_SGIX_async_histogram ------------------------ */ + +#ifndef GL_SGIX_async_histogram +#define GL_SGIX_async_histogram 1 + +#define GL_ASYNC_HISTOGRAM_SGIX 0x832C +#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D + +#define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram) + +#endif /* GL_SGIX_async_histogram */ + +/* -------------------------- GL_SGIX_async_pixel -------------------------- */ + +#ifndef GL_SGIX_async_pixel +#define GL_SGIX_async_pixel 1 + +#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C +#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D +#define GL_ASYNC_READ_PIXELS_SGIX 0x835E +#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F +#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 +#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 + +#define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel) + +#endif /* GL_SGIX_async_pixel */ + +/* ----------------------- GL_SGIX_bali_g_instruments ---------------------- */ + +#ifndef GL_SGIX_bali_g_instruments +#define GL_SGIX_bali_g_instruments 1 + +#define GL_BALI_NUM_TRIS_CULLED_INSTRUMENT 0x6080 +#define GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT 0x6081 +#define GL_BALI_NUM_PRIMS_REJECT_INSTRUMENT 0x6082 +#define GL_BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT 0x6083 + +#define GLEW_SGIX_bali_g_instruments GLEW_GET_VAR(__GLEW_SGIX_bali_g_instruments) + +#endif /* GL_SGIX_bali_g_instruments */ + +/* ----------------------- GL_SGIX_bali_r_instruments ---------------------- */ + +#ifndef GL_SGIX_bali_r_instruments +#define GL_SGIX_bali_r_instruments 1 + +#define GL_BALI_FRAGMENTS_GENERATED_INSTRUMENT 0x6090 +#define GL_BALI_DEPTH_PASS_INSTRUMENT 0x6091 +#define GL_BALI_R_CHIP_COUNT 0x6092 + +#define GLEW_SGIX_bali_r_instruments GLEW_GET_VAR(__GLEW_SGIX_bali_r_instruments) + +#endif /* GL_SGIX_bali_r_instruments */ + +/* --------------------- GL_SGIX_bali_timer_instruments -------------------- */ + +#ifndef GL_SGIX_bali_timer_instruments +#define GL_SGIX_bali_timer_instruments 1 + +#define GLEW_SGIX_bali_timer_instruments GLEW_GET_VAR(__GLEW_SGIX_bali_timer_instruments) + +#endif /* GL_SGIX_bali_timer_instruments */ + +/* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */ + +#ifndef GL_SGIX_blend_alpha_minmax +#define GL_SGIX_blend_alpha_minmax 1 + +#define GL_ALPHA_MIN_SGIX 0x8320 +#define GL_ALPHA_MAX_SGIX 0x8321 + +#define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax) + +#endif /* GL_SGIX_blend_alpha_minmax */ + +/* --------------------------- GL_SGIX_blend_cadd -------------------------- */ + +#ifndef GL_SGIX_blend_cadd +#define GL_SGIX_blend_cadd 1 + +#define GL_FUNC_COMPLEX_ADD_EXT 0x601C + +#define GLEW_SGIX_blend_cadd GLEW_GET_VAR(__GLEW_SGIX_blend_cadd) + +#endif /* GL_SGIX_blend_cadd */ + +/* ------------------------ GL_SGIX_blend_cmultiply ------------------------ */ + +#ifndef GL_SGIX_blend_cmultiply +#define GL_SGIX_blend_cmultiply 1 + +#define GL_FUNC_COMPLEX_MULTIPLY_EXT 0x601B + +#define GLEW_SGIX_blend_cmultiply GLEW_GET_VAR(__GLEW_SGIX_blend_cmultiply) + +#endif /* GL_SGIX_blend_cmultiply */ + +/* --------------------- GL_SGIX_calligraphic_fragment --------------------- */ + +#ifndef GL_SGIX_calligraphic_fragment +#define GL_SGIX_calligraphic_fragment 1 + +#define GLEW_SGIX_calligraphic_fragment GLEW_GET_VAR(__GLEW_SGIX_calligraphic_fragment) + +#endif /* GL_SGIX_calligraphic_fragment */ + +/* ---------------------------- GL_SGIX_clipmap ---------------------------- */ + +#ifndef GL_SGIX_clipmap +#define GL_SGIX_clipmap 1 + +#define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap) + +#endif /* GL_SGIX_clipmap */ + +/* --------------------- GL_SGIX_color_matrix_accuracy --------------------- */ + +#ifndef GL_SGIX_color_matrix_accuracy +#define GL_SGIX_color_matrix_accuracy 1 + +#define GL_COLOR_MATRIX_HINT 0x8317 + +#define GLEW_SGIX_color_matrix_accuracy GLEW_GET_VAR(__GLEW_SGIX_color_matrix_accuracy) + +#endif /* GL_SGIX_color_matrix_accuracy */ + +/* --------------------- GL_SGIX_color_table_index_mode -------------------- */ + +#ifndef GL_SGIX_color_table_index_mode +#define GL_SGIX_color_table_index_mode 1 + +#define GLEW_SGIX_color_table_index_mode GLEW_GET_VAR(__GLEW_SGIX_color_table_index_mode) + +#endif /* GL_SGIX_color_table_index_mode */ + +/* ------------------------- GL_SGIX_complex_polar ------------------------- */ + +#ifndef GL_SGIX_complex_polar +#define GL_SGIX_complex_polar 1 + +#define GLEW_SGIX_complex_polar GLEW_GET_VAR(__GLEW_SGIX_complex_polar) + +#endif /* GL_SGIX_complex_polar */ + +/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */ + +#ifndef GL_SGIX_convolution_accuracy +#define GL_SGIX_convolution_accuracy 1 + +#define GL_CONVOLUTION_HINT_SGIX 0x8316 + +#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy) + +#endif /* GL_SGIX_convolution_accuracy */ + +/* ---------------------------- GL_SGIX_cube_map --------------------------- */ + +#ifndef GL_SGIX_cube_map +#define GL_SGIX_cube_map 1 + +#define GL_ENV_MAP_SGIX 0x8340 +#define GL_CUBE_MAP_SGIX 0x8341 +#define GL_CUBE_MAP_ZP_SGIX 0x8342 +#define GL_CUBE_MAP_ZN_SGIX 0x8343 +#define GL_CUBE_MAP_XN_SGIX 0x8344 +#define GL_CUBE_MAP_XP_SGIX 0x8345 +#define GL_CUBE_MAP_YN_SGIX 0x8346 +#define GL_CUBE_MAP_YP_SGIX 0x8347 +#define GL_CUBE_MAP_BINDING_SGIX 0x8348 + +#define GLEW_SGIX_cube_map GLEW_GET_VAR(__GLEW_SGIX_cube_map) + +#endif /* GL_SGIX_cube_map */ + +/* ------------------------ GL_SGIX_cylinder_texgen ------------------------ */ + +#ifndef GL_SGIX_cylinder_texgen +#define GL_SGIX_cylinder_texgen 1 + +#define GLEW_SGIX_cylinder_texgen GLEW_GET_VAR(__GLEW_SGIX_cylinder_texgen) + +#endif /* GL_SGIX_cylinder_texgen */ + +/* ---------------------------- GL_SGIX_datapipe --------------------------- */ + +#ifndef GL_SGIX_datapipe +#define GL_SGIX_datapipe 1 + +#define GL_GEOMETRY_BIT 0x1 +#define GL_IMAGE_BIT 0x2 + +typedef void (GLAPIENTRY * PFNGLADDRESSSPACEPROC) (GLenum space, GLbitfield mask); +typedef GLint (GLAPIENTRY * PFNGLDATAPIPEPROC) (GLenum space); + +#define glAddressSpace GLEW_GET_FUN(__glewAddressSpace) +#define glDataPipe GLEW_GET_FUN(__glewDataPipe) + +#define GLEW_SGIX_datapipe GLEW_GET_VAR(__GLEW_SGIX_datapipe) + +#endif /* GL_SGIX_datapipe */ + +/* --------------------------- GL_SGIX_decimation -------------------------- */ + +#ifndef GL_SGIX_decimation +#define GL_SGIX_decimation 1 + +#define GLEW_SGIX_decimation GLEW_GET_VAR(__GLEW_SGIX_decimation) + +#endif /* GL_SGIX_decimation */ + +/* --------------------- GL_SGIX_depth_pass_instrument --------------------- */ + +#ifndef GL_SGIX_depth_pass_instrument +#define GL_SGIX_depth_pass_instrument 1 + +#define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310 +#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311 +#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312 + +#define GLEW_SGIX_depth_pass_instrument GLEW_GET_VAR(__GLEW_SGIX_depth_pass_instrument) + +#endif /* GL_SGIX_depth_pass_instrument */ + +/* ------------------------- GL_SGIX_depth_texture ------------------------- */ + +#ifndef GL_SGIX_depth_texture +#define GL_SGIX_depth_texture 1 + +#define GL_DEPTH_COMPONENT16_SGIX 0x81A5 +#define GL_DEPTH_COMPONENT24_SGIX 0x81A6 +#define GL_DEPTH_COMPONENT32_SGIX 0x81A7 + +#define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture) + +#endif /* GL_SGIX_depth_texture */ + +/* ------------------------------ GL_SGIX_dvc ------------------------------ */ + +#ifndef GL_SGIX_dvc +#define GL_SGIX_dvc 1 + +#define GLEW_SGIX_dvc GLEW_GET_VAR(__GLEW_SGIX_dvc) + +#endif /* GL_SGIX_dvc */ + +/* -------------------------- GL_SGIX_flush_raster ------------------------- */ + +#ifndef GL_SGIX_flush_raster +#define GL_SGIX_flush_raster 1 + +typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void); + +#define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX) + +#define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster) + +#endif /* GL_SGIX_flush_raster */ + +/* --------------------------- GL_SGIX_fog_blend --------------------------- */ + +#ifndef GL_SGIX_fog_blend +#define GL_SGIX_fog_blend 1 + +#define GL_FOG_BLEND_ALPHA_SGIX 0x81FE +#define GL_FOG_BLEND_COLOR_SGIX 0x81FF + +#define GLEW_SGIX_fog_blend GLEW_GET_VAR(__GLEW_SGIX_fog_blend) + +#endif /* GL_SGIX_fog_blend */ + +/* ---------------------- GL_SGIX_fog_factor_to_alpha ---------------------- */ + +#ifndef GL_SGIX_fog_factor_to_alpha +#define GL_SGIX_fog_factor_to_alpha 1 + +#define GLEW_SGIX_fog_factor_to_alpha GLEW_GET_VAR(__GLEW_SGIX_fog_factor_to_alpha) + +#endif /* GL_SGIX_fog_factor_to_alpha */ + +/* --------------------------- GL_SGIX_fog_layers -------------------------- */ + +#ifndef GL_SGIX_fog_layers +#define GL_SGIX_fog_layers 1 + +#define GL_FOG_TYPE_SGIX 0x8323 +#define GL_UNIFORM_SGIX 0x8324 +#define GL_LAYERED_SGIX 0x8325 +#define GL_FOG_GROUND_PLANE_SGIX 0x8326 +#define GL_FOG_LAYERS_POINTS_SGIX 0x8327 +#define GL_MAX_FOG_LAYERS_POINTS_SGIX 0x8328 + +typedef void (GLAPIENTRY * PFNGLFOGLAYERSSGIXPROC) (GLsizei n, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLGETFOGLAYERSSGIXPROC) (GLfloat* points); + +#define glFogLayersSGIX GLEW_GET_FUN(__glewFogLayersSGIX) +#define glGetFogLayersSGIX GLEW_GET_FUN(__glewGetFogLayersSGIX) + +#define GLEW_SGIX_fog_layers GLEW_GET_VAR(__GLEW_SGIX_fog_layers) + +#endif /* GL_SGIX_fog_layers */ + +/* --------------------------- GL_SGIX_fog_offset -------------------------- */ + +#ifndef GL_SGIX_fog_offset +#define GL_SGIX_fog_offset 1 + +#define GL_FOG_OFFSET_SGIX 0x8198 +#define GL_FOG_OFFSET_VALUE_SGIX 0x8199 + +#define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset) + +#endif /* GL_SGIX_fog_offset */ + +/* --------------------------- GL_SGIX_fog_patchy -------------------------- */ + +#ifndef GL_SGIX_fog_patchy +#define GL_SGIX_fog_patchy 1 + +#define GLEW_SGIX_fog_patchy GLEW_GET_VAR(__GLEW_SGIX_fog_patchy) + +#endif /* GL_SGIX_fog_patchy */ + +/* --------------------------- GL_SGIX_fog_scale --------------------------- */ + +#ifndef GL_SGIX_fog_scale +#define GL_SGIX_fog_scale 1 + +#define GL_FOG_SCALE_SGIX 0x81FC +#define GL_FOG_SCALE_VALUE_SGIX 0x81FD + +#define GLEW_SGIX_fog_scale GLEW_GET_VAR(__GLEW_SGIX_fog_scale) + +#endif /* GL_SGIX_fog_scale */ + +/* -------------------------- GL_SGIX_fog_texture -------------------------- */ + +#ifndef GL_SGIX_fog_texture +#define GL_SGIX_fog_texture 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname); + +#define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX) + +#define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture) + +#endif /* GL_SGIX_fog_texture */ + +/* -------------------- GL_SGIX_fragment_lighting_space -------------------- */ + +#ifndef GL_SGIX_fragment_lighting_space +#define GL_SGIX_fragment_lighting_space 1 + +#define GL_EYE_SPACE_SGIX 0x8436 +#define GL_TANGENT_SPACE_SGIX 0x8437 +#define GL_OBJECT_SPACE_SGIX 0x8438 +#define GL_FRAGMENT_LIGHT_SPACE_SGIX 0x843D + +#define GLEW_SGIX_fragment_lighting_space GLEW_GET_VAR(__GLEW_SGIX_fragment_lighting_space) + +#endif /* GL_SGIX_fragment_lighting_space */ + +/* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */ + +#ifndef GL_SGIX_fragment_specular_lighting +#define GL_SGIX_fragment_specular_lighting 1 + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data); + +#define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX) +#define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX) +#define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX) +#define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX) +#define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX) +#define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX) +#define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX) +#define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX) +#define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX) +#define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX) +#define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX) +#define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX) +#define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX) +#define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX) +#define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX) +#define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX) +#define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX) + +#define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting) + +#endif /* GL_SGIX_fragment_specular_lighting */ + +/* ---------------------- GL_SGIX_fragments_instrument --------------------- */ + +#ifndef GL_SGIX_fragments_instrument +#define GL_SGIX_fragments_instrument 1 + +#define GL_FRAGMENTS_INSTRUMENT_SGIX 0x8313 +#define GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX 0x8314 +#define GL_FRAGMENTS_INSTRUMENT_MAX_SGIX 0x8315 + +#define GLEW_SGIX_fragments_instrument GLEW_GET_VAR(__GLEW_SGIX_fragments_instrument) + +#endif /* GL_SGIX_fragments_instrument */ + +/* --------------------------- GL_SGIX_framezoom --------------------------- */ + +#ifndef GL_SGIX_framezoom +#define GL_SGIX_framezoom 1 + +typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor); + +#define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX) + +#define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom) + +#endif /* GL_SGIX_framezoom */ + +/* -------------------------- GL_SGIX_icc_texture -------------------------- */ + +#ifndef GL_SGIX_icc_texture +#define GL_SGIX_icc_texture 1 + +#define GL_RGB_ICC_SGIX 0x8460 +#define GL_RGBA_ICC_SGIX 0x8461 +#define GL_ALPHA_ICC_SGIX 0x8462 +#define GL_LUMINANCE_ICC_SGIX 0x8463 +#define GL_INTENSITY_ICC_SGIX 0x8464 +#define GL_LUMINANCE_ALPHA_ICC_SGIX 0x8465 +#define GL_R5_G6_B5_ICC_SGIX 0x8466 +#define GL_R5_G6_B5_A8_ICC_SGIX 0x8467 +#define GL_ALPHA16_ICC_SGIX 0x8468 +#define GL_LUMINANCE16_ICC_SGIX 0x8469 +#define GL_INTENSITY16_ICC_SGIX 0x846A +#define GL_LUMINANCE16_ALPHA8_ICC_SGIX 0x846B + +#define GLEW_SGIX_icc_texture GLEW_GET_VAR(__GLEW_SGIX_icc_texture) + +#endif /* GL_SGIX_icc_texture */ + +/* ------------------------ GL_SGIX_igloo_interface ------------------------ */ + +#ifndef GL_SGIX_igloo_interface +#define GL_SGIX_igloo_interface 1 + +#define GL_IGLOO_FULLSCREEN_SGIX 0x819E +#define GL_IGLOO_VIEWPORT_OFFSET_SGIX 0x819F +#define GL_IGLOO_SWAPTMESH_SGIX 0x81A0 +#define GL_IGLOO_COLORNORMAL_SGIX 0x81A1 +#define GL_IGLOO_IRISGL_MODE_SGIX 0x81A2 +#define GL_IGLOO_LMC_COLOR_SGIX 0x81A3 +#define GL_IGLOO_TMESHMODE_SGIX 0x81A4 +#define GL_LIGHT31 0xBEAD + +typedef void (GLAPIENTRY * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, void *param); + +#define glIglooInterfaceSGIX GLEW_GET_FUN(__glewIglooInterfaceSGIX) + +#define GLEW_SGIX_igloo_interface GLEW_GET_VAR(__GLEW_SGIX_igloo_interface) + +#endif /* GL_SGIX_igloo_interface */ + +/* ----------------------- GL_SGIX_image_compression ----------------------- */ + +#ifndef GL_SGIX_image_compression +#define GL_SGIX_image_compression 1 + +#define GLEW_SGIX_image_compression GLEW_GET_VAR(__GLEW_SGIX_image_compression) + +#endif /* GL_SGIX_image_compression */ + +/* ---------------------- GL_SGIX_impact_pixel_texture --------------------- */ + +#ifndef GL_SGIX_impact_pixel_texture +#define GL_SGIX_impact_pixel_texture 1 + +#define GLEW_SGIX_impact_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_impact_pixel_texture) + +#endif /* GL_SGIX_impact_pixel_texture */ + +/* ------------------------ GL_SGIX_instrument_error ----------------------- */ + +#ifndef GL_SGIX_instrument_error +#define GL_SGIX_instrument_error 1 + +#define GLEW_SGIX_instrument_error GLEW_GET_VAR(__GLEW_SGIX_instrument_error) + +#endif /* GL_SGIX_instrument_error */ + +/* --------------------------- GL_SGIX_interlace --------------------------- */ + +#ifndef GL_SGIX_interlace +#define GL_SGIX_interlace 1 + +#define GL_INTERLACE_SGIX 0x8094 + +#define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace) + +#endif /* GL_SGIX_interlace */ + +/* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */ + +#ifndef GL_SGIX_ir_instrument1 +#define GL_SGIX_ir_instrument1 1 + +#define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1) + +#endif /* GL_SGIX_ir_instrument1 */ + +/* ----------------------- GL_SGIX_line_quality_hint ----------------------- */ + +#ifndef GL_SGIX_line_quality_hint +#define GL_SGIX_line_quality_hint 1 + +#define GL_LINE_QUALITY_HINT_SGIX 0x835B + +#define GLEW_SGIX_line_quality_hint GLEW_GET_VAR(__GLEW_SGIX_line_quality_hint) + +#endif /* GL_SGIX_line_quality_hint */ + +/* ------------------------- GL_SGIX_list_priority ------------------------- */ + +#ifndef GL_SGIX_list_priority +#define GL_SGIX_list_priority 1 + +#define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority) + +#endif /* GL_SGIX_list_priority */ + +/* ----------------------------- GL_SGIX_mpeg1 ----------------------------- */ + +#ifndef GL_SGIX_mpeg1 +#define GL_SGIX_mpeg1 1 + +typedef void (GLAPIENTRY * PFNGLALLOCMPEGPREDICTORSSGIXPROC) (GLsizei width, GLsizei height, GLsizei n, GLuint* predictors); +typedef void (GLAPIENTRY * PFNGLDELETEMPEGPREDICTORSSGIXPROC) (GLsizei n, GLuint* predictors); +typedef void (GLAPIENTRY * PFNGLGENMPEGPREDICTORSSGIXPROC) (GLsizei n, GLuint* predictors); +typedef void (GLAPIENTRY * PFNGLGETMPEGPARAMETERFVSGIXPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMPEGPARAMETERIVSGIXPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMPEGPREDICTORSGIXPROC) (GLenum target, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETMPEGQUANTTABLEUBVPROC) (GLenum target, GLubyte* values); +typedef GLboolean (GLAPIENTRY * PFNGLISMPEGPREDICTORSGIXPROC) (GLuint predictor); +typedef void (GLAPIENTRY * PFNGLMPEGPREDICTORSGIXPROC) (GLenum target, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLMPEGQUANTTABLEUBVPROC) (GLenum target, GLubyte* values); +typedef void (GLAPIENTRY * PFNGLSWAPMPEGPREDICTORSSGIXPROC) (GLenum target0, GLenum target1); + +#define glAllocMPEGPredictorsSGIX GLEW_GET_FUN(__glewAllocMPEGPredictorsSGIX) +#define glDeleteMPEGPredictorsSGIX GLEW_GET_FUN(__glewDeleteMPEGPredictorsSGIX) +#define glGenMPEGPredictorsSGIX GLEW_GET_FUN(__glewGenMPEGPredictorsSGIX) +#define glGetMPEGParameterfvSGIX GLEW_GET_FUN(__glewGetMPEGParameterfvSGIX) +#define glGetMPEGParameterivSGIX GLEW_GET_FUN(__glewGetMPEGParameterivSGIX) +#define glGetMPEGPredictorSGIX GLEW_GET_FUN(__glewGetMPEGPredictorSGIX) +#define glGetMPEGQuantTableubv GLEW_GET_FUN(__glewGetMPEGQuantTableubv) +#define glIsMPEGPredictorSGIX GLEW_GET_FUN(__glewIsMPEGPredictorSGIX) +#define glMPEGPredictorSGIX GLEW_GET_FUN(__glewMPEGPredictorSGIX) +#define glMPEGQuantTableubv GLEW_GET_FUN(__glewMPEGQuantTableubv) +#define glSwapMPEGPredictorsSGIX GLEW_GET_FUN(__glewSwapMPEGPredictorsSGIX) + +#define GLEW_SGIX_mpeg1 GLEW_GET_VAR(__GLEW_SGIX_mpeg1) + +#endif /* GL_SGIX_mpeg1 */ + +/* ----------------------------- GL_SGIX_mpeg2 ----------------------------- */ + +#ifndef GL_SGIX_mpeg2 +#define GL_SGIX_mpeg2 1 + +#define GLEW_SGIX_mpeg2 GLEW_GET_VAR(__GLEW_SGIX_mpeg2) + +#endif /* GL_SGIX_mpeg2 */ + +/* ------------------ GL_SGIX_nonlinear_lighting_pervertex ----------------- */ + +#ifndef GL_SGIX_nonlinear_lighting_pervertex +#define GL_SGIX_nonlinear_lighting_pervertex 1 + +typedef void (GLAPIENTRY * PFNGLGETNONLINLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLint* terms, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETNONLINMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLint* terms, const GLfloat *data); +typedef void (GLAPIENTRY * PFNGLNONLINLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLint terms, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNONLINMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLint terms, const GLfloat* params); + +#define glGetNonlinLightfvSGIX GLEW_GET_FUN(__glewGetNonlinLightfvSGIX) +#define glGetNonlinMaterialfvSGIX GLEW_GET_FUN(__glewGetNonlinMaterialfvSGIX) +#define glNonlinLightfvSGIX GLEW_GET_FUN(__glewNonlinLightfvSGIX) +#define glNonlinMaterialfvSGIX GLEW_GET_FUN(__glewNonlinMaterialfvSGIX) + +#define GLEW_SGIX_nonlinear_lighting_pervertex GLEW_GET_VAR(__GLEW_SGIX_nonlinear_lighting_pervertex) + +#endif /* GL_SGIX_nonlinear_lighting_pervertex */ + +/* --------------------------- GL_SGIX_nurbs_eval -------------------------- */ + +#ifndef GL_SGIX_nurbs_eval +#define GL_SGIX_nurbs_eval 1 + +#define GL_MAP1_VERTEX_3_NURBS_SGIX 0x81CB +#define GL_MAP1_VERTEX_4_NURBS_SGIX 0x81CC +#define GL_MAP1_INDEX_NURBS_SGIX 0x81CD +#define GL_MAP1_COLOR_4_NURBS_SGIX 0x81CE +#define GL_MAP1_NORMAL_NURBS_SGIX 0x81CF +#define GL_MAP1_TEXTURE_COORD_1_NURBS_SGIX 0x81E0 +#define GL_MAP1_TEXTURE_COORD_2_NURBS_SGIX 0x81E1 +#define GL_MAP1_TEXTURE_COORD_3_NURBS_SGIX 0x81E2 +#define GL_MAP1_TEXTURE_COORD_4_NURBS_SGIX 0x81E3 +#define GL_MAP2_VERTEX_3_NURBS_SGIX 0x81E4 +#define GL_MAP2_VERTEX_4_NURBS_SGIX 0x81E5 +#define GL_MAP2_INDEX_NURBS_SGIX 0x81E6 +#define GL_MAP2_COLOR_4_NURBS_SGIX 0x81E7 +#define GL_MAP2_NORMAL_NURBS_SGIX 0x81E8 +#define GL_MAP2_TEXTURE_COORD_1_NURBS_SGIX 0x81E9 +#define GL_MAP2_TEXTURE_COORD_2_NURBS_SGIX 0x81EA +#define GL_MAP2_TEXTURE_COORD_3_NURBS_SGIX 0x81EB +#define GL_MAP2_TEXTURE_COORD_4_NURBS_SGIX 0x81EC +#define GL_NURBS_KNOT_COUNT_SGIX 0x81ED +#define GL_NURBS_KNOT_VECTOR_SGIX 0x81EE + +#define GLEW_SGIX_nurbs_eval GLEW_GET_VAR(__GLEW_SGIX_nurbs_eval) + +#endif /* GL_SGIX_nurbs_eval */ + +/* ---------------------- GL_SGIX_occlusion_instrument --------------------- */ + +#ifndef GL_SGIX_occlusion_instrument +#define GL_SGIX_occlusion_instrument 1 + +#define GL_OCCLUSION_INSTRUMENT_SGIX 0x6060 + +#define GLEW_SGIX_occlusion_instrument GLEW_GET_VAR(__GLEW_SGIX_occlusion_instrument) + +#endif /* GL_SGIX_occlusion_instrument */ + +/* ------------------------- GL_SGIX_packed_6bytes ------------------------- */ + +#ifndef GL_SGIX_packed_6bytes +#define GL_SGIX_packed_6bytes 1 + +#define GLEW_SGIX_packed_6bytes GLEW_GET_VAR(__GLEW_SGIX_packed_6bytes) + +#endif /* GL_SGIX_packed_6bytes */ + +/* ------------------------- GL_SGIX_pixel_texture ------------------------- */ + +#ifndef GL_SGIX_pixel_texture +#define GL_SGIX_pixel_texture 1 + +typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode); + +#define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX) + +#define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture) + +#endif /* GL_SGIX_pixel_texture */ + +/* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */ + +#ifndef GL_SGIX_pixel_texture_bits +#define GL_SGIX_pixel_texture_bits 1 + +#define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits) + +#endif /* GL_SGIX_pixel_texture_bits */ + +/* ----------------------- GL_SGIX_pixel_texture_lod ----------------------- */ + +#ifndef GL_SGIX_pixel_texture_lod +#define GL_SGIX_pixel_texture_lod 1 + +#define GLEW_SGIX_pixel_texture_lod GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_lod) + +#endif /* GL_SGIX_pixel_texture_lod */ + +/* -------------------------- GL_SGIX_pixel_tiles -------------------------- */ + +#ifndef GL_SGIX_pixel_tiles +#define GL_SGIX_pixel_tiles 1 + +#define GLEW_SGIX_pixel_tiles GLEW_GET_VAR(__GLEW_SGIX_pixel_tiles) + +#endif /* GL_SGIX_pixel_tiles */ + +/* ------------------------- GL_SGIX_polynomial_ffd ------------------------ */ + +#ifndef GL_SGIX_polynomial_ffd +#define GL_SGIX_polynomial_ffd 1 + +#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x1 +#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x2 + +typedef void (GLAPIENTRY * PFNGLDEFORMSGIXPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask); + +#define glDeformSGIX GLEW_GET_FUN(__glewDeformSGIX) +#define glLoadIdentityDeformationMapSGIX GLEW_GET_FUN(__glewLoadIdentityDeformationMapSGIX) + +#define GLEW_SGIX_polynomial_ffd GLEW_GET_VAR(__GLEW_SGIX_polynomial_ffd) + +#endif /* GL_SGIX_polynomial_ffd */ + +/* --------------------------- GL_SGIX_quad_mesh --------------------------- */ + +#ifndef GL_SGIX_quad_mesh +#define GL_SGIX_quad_mesh 1 + +typedef void (GLAPIENTRY * PFNGLMESHBREADTHSGIXPROC) (GLint breadth); +typedef void (GLAPIENTRY * PFNGLMESHSTRIDESGIXPROC) (GLint stride); + +#define glMeshBreadthSGIX GLEW_GET_FUN(__glewMeshBreadthSGIX) +#define glMeshStrideSGIX GLEW_GET_FUN(__glewMeshStrideSGIX) + +#define GLEW_SGIX_quad_mesh GLEW_GET_VAR(__GLEW_SGIX_quad_mesh) + +#endif /* GL_SGIX_quad_mesh */ + +/* ------------------------ GL_SGIX_reference_plane ------------------------ */ + +#ifndef GL_SGIX_reference_plane +#define GL_SGIX_reference_plane 1 + +typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation); + +#define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX) + +#define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane) + +#endif /* GL_SGIX_reference_plane */ + +/* ---------------------------- GL_SGIX_resample --------------------------- */ + +#ifndef GL_SGIX_resample +#define GL_SGIX_resample 1 + +#define GL_PACK_RESAMPLE_SGIX 0x842E +#define GL_UNPACK_RESAMPLE_SGIX 0x842F +#define GL_RESAMPLE_DECIMATE_SGIX 0x8430 +#define GL_RESAMPLE_REPLICATE_SGIX 0x8433 +#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434 + +#define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample) + +#endif /* GL_SGIX_resample */ + +/* ------------------------- GL_SGIX_scalebias_hint ------------------------ */ + +#ifndef GL_SGIX_scalebias_hint +#define GL_SGIX_scalebias_hint 1 + +#define GL_SCALEBIAS_HINT_SGIX 0x8322 + +#define GLEW_SGIX_scalebias_hint GLEW_GET_VAR(__GLEW_SGIX_scalebias_hint) + +#endif /* GL_SGIX_scalebias_hint */ + +/* ----------------------------- GL_SGIX_shadow ---------------------------- */ + +#ifndef GL_SGIX_shadow +#define GL_SGIX_shadow 1 + +#define GL_TEXTURE_COMPARE_SGIX 0x819A +#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B +#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C +#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D + +#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow) + +#endif /* GL_SGIX_shadow */ + +/* ------------------------- GL_SGIX_shadow_ambient ------------------------ */ + +#ifndef GL_SGIX_shadow_ambient +#define GL_SGIX_shadow_ambient 1 + +#define GL_SHADOW_AMBIENT_SGIX 0x80BF + +#define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient) + +#endif /* GL_SGIX_shadow_ambient */ + +/* ------------------------------ GL_SGIX_slim ----------------------------- */ + +#ifndef GL_SGIX_slim +#define GL_SGIX_slim 1 + +#define GL_PACK_MAX_COMPRESSED_SIZE_SGIX 0x831B +#define GL_SLIM8U_SGIX 0x831D +#define GL_SLIM10U_SGIX 0x831E +#define GL_SLIM12S_SGIX 0x831F + +#define GLEW_SGIX_slim GLEW_GET_VAR(__GLEW_SGIX_slim) + +#endif /* GL_SGIX_slim */ + +/* ------------------------ GL_SGIX_spotlight_cutoff ----------------------- */ + +#ifndef GL_SGIX_spotlight_cutoff +#define GL_SGIX_spotlight_cutoff 1 + +#define GL_SPOT_CUTOFF_DELTA_SGIX 0x8193 + +#define GLEW_SGIX_spotlight_cutoff GLEW_GET_VAR(__GLEW_SGIX_spotlight_cutoff) + +#endif /* GL_SGIX_spotlight_cutoff */ + +/* ----------------------------- GL_SGIX_sprite ---------------------------- */ + +#ifndef GL_SGIX_sprite +#define GL_SGIX_sprite 1 + +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params); + +#define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX) +#define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX) +#define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX) +#define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX) + +#define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite) + +#endif /* GL_SGIX_sprite */ + +/* -------------------------- GL_SGIX_subdiv_patch ------------------------- */ + +#ifndef GL_SGIX_subdiv_patch +#define GL_SGIX_subdiv_patch 1 + +#define GLEW_SGIX_subdiv_patch GLEW_GET_VAR(__GLEW_SGIX_subdiv_patch) + +#endif /* GL_SGIX_subdiv_patch */ + +/* --------------------------- GL_SGIX_subsample --------------------------- */ + +#ifndef GL_SGIX_subsample +#define GL_SGIX_subsample 1 + +#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0 +#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1 +#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2 +#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3 +#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4 + +#define GLEW_SGIX_subsample GLEW_GET_VAR(__GLEW_SGIX_subsample) + +#endif /* GL_SGIX_subsample */ + +/* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */ + +#ifndef GL_SGIX_tag_sample_buffer +#define GL_SGIX_tag_sample_buffer 1 + +typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void); + +#define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX) + +#define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer) + +#endif /* GL_SGIX_tag_sample_buffer */ + +/* ------------------------ GL_SGIX_texture_add_env ------------------------ */ + +#ifndef GL_SGIX_texture_add_env +#define GL_SGIX_texture_add_env 1 + +#define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env) + +#endif /* GL_SGIX_texture_add_env */ + +/* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */ + +#ifndef GL_SGIX_texture_coordinate_clamp +#define GL_SGIX_texture_coordinate_clamp 1 + +#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 +#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A +#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B + +#define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp) + +#endif /* GL_SGIX_texture_coordinate_clamp */ + +/* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */ + +#ifndef GL_SGIX_texture_lod_bias +#define GL_SGIX_texture_lod_bias 1 + +#define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias) + +#endif /* GL_SGIX_texture_lod_bias */ + +/* ------------------- GL_SGIX_texture_mipmap_anisotropic ------------------ */ + +#ifndef GL_SGIX_texture_mipmap_anisotropic +#define GL_SGIX_texture_mipmap_anisotropic 1 + +#define GL_TEXTURE_MIPMAP_ANISOTROPY_SGIX 0x832E +#define GL_MAX_MIPMAP_ANISOTROPY_SGIX 0x832F + +#define GLEW_SGIX_texture_mipmap_anisotropic GLEW_GET_VAR(__GLEW_SGIX_texture_mipmap_anisotropic) + +#endif /* GL_SGIX_texture_mipmap_anisotropic */ + +/* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */ + +#ifndef GL_SGIX_texture_multi_buffer +#define GL_SGIX_texture_multi_buffer 1 + +#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E + +#define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer) + +#endif /* GL_SGIX_texture_multi_buffer */ + +/* ------------------------- GL_SGIX_texture_phase ------------------------- */ + +#ifndef GL_SGIX_texture_phase +#define GL_SGIX_texture_phase 1 + +#define GL_PHASE_SGIX 0x832A + +#define GLEW_SGIX_texture_phase GLEW_GET_VAR(__GLEW_SGIX_texture_phase) + +#endif /* GL_SGIX_texture_phase */ + +/* ------------------------- GL_SGIX_texture_range ------------------------- */ + +#ifndef GL_SGIX_texture_range +#define GL_SGIX_texture_range 1 + +#define GL_RGB_SIGNED_SGIX 0x85E0 +#define GL_RGBA_SIGNED_SGIX 0x85E1 +#define GL_ALPHA_SIGNED_SGIX 0x85E2 +#define GL_LUMINANCE_SIGNED_SGIX 0x85E3 +#define GL_INTENSITY_SIGNED_SGIX 0x85E4 +#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5 +#define GL_RGB16_SIGNED_SGIX 0x85E6 +#define GL_RGBA16_SIGNED_SGIX 0x85E7 +#define GL_ALPHA16_SIGNED_SGIX 0x85E8 +#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9 +#define GL_INTENSITY16_SIGNED_SGIX 0x85EA +#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB +#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC +#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED +#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE +#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF +#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0 +#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1 +#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2 +#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3 +#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4 +#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5 +#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6 +#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7 +#define GL_MIN_LUMINANCE_SGIS 0x85F8 +#define GL_MAX_LUMINANCE_SGIS 0x85F9 +#define GL_MIN_INTENSITY_SGIS 0x85FA +#define GL_MAX_INTENSITY_SGIS 0x85FB + +#define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range) + +#endif /* GL_SGIX_texture_range */ + +/* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */ + +#ifndef GL_SGIX_texture_scale_bias +#define GL_SGIX_texture_scale_bias 1 + +#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 +#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A +#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B +#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C + +#define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias) + +#endif /* GL_SGIX_texture_scale_bias */ + +/* ---------------------- GL_SGIX_texture_supersample ---------------------- */ + +#ifndef GL_SGIX_texture_supersample +#define GL_SGIX_texture_supersample 1 + +#define GLEW_SGIX_texture_supersample GLEW_GET_VAR(__GLEW_SGIX_texture_supersample) + +#endif /* GL_SGIX_texture_supersample */ + +/* --------------------------- GL_SGIX_vector_ops -------------------------- */ + +#ifndef GL_SGIX_vector_ops +#define GL_SGIX_vector_ops 1 + +typedef void (GLAPIENTRY * PFNGLGETVECTOROPERATIONSGIXPROC) (GLenum operation); +typedef void (GLAPIENTRY * PFNGLVECTOROPERATIONSGIXPROC) (GLenum operation); + +#define glGetVectorOperationSGIX GLEW_GET_FUN(__glewGetVectorOperationSGIX) +#define glVectorOperationSGIX GLEW_GET_FUN(__glewVectorOperationSGIX) + +#define GLEW_SGIX_vector_ops GLEW_GET_VAR(__GLEW_SGIX_vector_ops) + +#endif /* GL_SGIX_vector_ops */ + +/* ---------------------- GL_SGIX_vertex_array_object ---------------------- */ + +#ifndef GL_SGIX_vertex_array_object +#define GL_SGIX_vertex_array_object 1 + +typedef GLboolean (GLAPIENTRY * PFNGLAREVERTEXARRAYSRESIDENTSGIXPROC) (GLsizei n, const GLuint* arrays, GLboolean* residences); +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYSGIXPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSSGIXPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSSGIXPROC) (GLsizei n, GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYSGIXPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLPRIORITIZEVERTEXARRAYSSGIXPROC) (GLsizei n, const GLuint* arrays, const GLclampf* priorities); + +#define glAreVertexArraysResidentSGIX GLEW_GET_FUN(__glewAreVertexArraysResidentSGIX) +#define glBindVertexArraySGIX GLEW_GET_FUN(__glewBindVertexArraySGIX) +#define glDeleteVertexArraysSGIX GLEW_GET_FUN(__glewDeleteVertexArraysSGIX) +#define glGenVertexArraysSGIX GLEW_GET_FUN(__glewGenVertexArraysSGIX) +#define glIsVertexArraySGIX GLEW_GET_FUN(__glewIsVertexArraySGIX) +#define glPrioritizeVertexArraysSGIX GLEW_GET_FUN(__glewPrioritizeVertexArraysSGIX) + +#define GLEW_SGIX_vertex_array_object GLEW_GET_VAR(__GLEW_SGIX_vertex_array_object) + +#endif /* GL_SGIX_vertex_array_object */ + +/* ------------------------- GL_SGIX_vertex_preclip ------------------------ */ + +#ifndef GL_SGIX_vertex_preclip +#define GL_SGIX_vertex_preclip 1 + +#define GL_VERTEX_PRECLIP_SGIX 0x83EE +#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF + +#define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip) + +#endif /* GL_SGIX_vertex_preclip */ + +/* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */ + +#ifndef GL_SGIX_vertex_preclip_hint +#define GL_SGIX_vertex_preclip_hint 1 + +#define GL_VERTEX_PRECLIP_SGIX 0x83EE +#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF + +#define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint) + +#endif /* GL_SGIX_vertex_preclip_hint */ + +/* ----------------------------- GL_SGIX_ycrcb ----------------------------- */ + +#ifndef GL_SGIX_ycrcb +#define GL_SGIX_ycrcb 1 + +#define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb) + +#endif /* GL_SGIX_ycrcb */ + +/* ------------------------ GL_SGIX_ycrcb_subsample ------------------------ */ + +#ifndef GL_SGIX_ycrcb_subsample +#define GL_SGIX_ycrcb_subsample 1 + +#define GLEW_SGIX_ycrcb_subsample GLEW_GET_VAR(__GLEW_SGIX_ycrcb_subsample) + +#endif /* GL_SGIX_ycrcb_subsample */ + +/* ----------------------------- GL_SGIX_ycrcba ---------------------------- */ + +#ifndef GL_SGIX_ycrcba +#define GL_SGIX_ycrcba 1 + +#define GL_YCRCB_SGIX 0x8318 +#define GL_YCRCBA_SGIX 0x8319 + +#define GLEW_SGIX_ycrcba GLEW_GET_VAR(__GLEW_SGIX_ycrcba) + +#endif /* GL_SGIX_ycrcba */ + +/* -------------------------- GL_SGI_color_matrix -------------------------- */ + +#ifndef GL_SGI_color_matrix +#define GL_SGI_color_matrix 1 + +#define GL_COLOR_MATRIX_SGI 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB + +#define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix) + +#endif /* GL_SGI_color_matrix */ + +/* --------------------------- GL_SGI_color_table -------------------------- */ + +#ifndef GL_SGI_color_table +#define GL_SGI_color_table 1 + +#define GL_COLOR_TABLE_SGI 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 +#define GL_PROXY_COLOR_TABLE_SGI 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 +#define GL_COLOR_TABLE_SCALE_SGI 0x80D6 +#define GL_COLOR_TABLE_BIAS_SGI 0x80D7 +#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 +#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF + +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void *table); + +#define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI) +#define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI) +#define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI) +#define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI) +#define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI) +#define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI) +#define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI) + +#define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table) + +#endif /* GL_SGI_color_table */ + +/* ----------------------------- GL_SGI_complex ---------------------------- */ + +#ifndef GL_SGI_complex +#define GL_SGI_complex 1 + +#define GLEW_SGI_complex GLEW_GET_VAR(__GLEW_SGI_complex) + +#endif /* GL_SGI_complex */ + +/* -------------------------- GL_SGI_complex_type -------------------------- */ + +#ifndef GL_SGI_complex_type +#define GL_SGI_complex_type 1 + +#define GL_COMPLEX_UNSIGNED_BYTE_SGI 0x81BD +#define GL_COMPLEX_BYTE_SGI 0x81BE +#define GL_COMPLEX_UNSIGNED_SHORT_SGI 0x81BF +#define GL_COMPLEX_SHORT_SGI 0x81C0 +#define GL_COMPLEX_UNSIGNED_INT_SGI 0x81C1 +#define GL_COMPLEX_INT_SGI 0x81C2 +#define GL_COMPLEX_FLOAT_SGI 0x81C3 + +#define GLEW_SGI_complex_type GLEW_GET_VAR(__GLEW_SGI_complex_type) + +#endif /* GL_SGI_complex_type */ + +/* ------------------------------- GL_SGI_fft ------------------------------ */ + +#ifndef GL_SGI_fft +#define GL_SGI_fft 1 + +#define GL_PIXEL_TRANSFORM_OPERATOR_SGI 0x81C4 +#define GL_CONVOLUTION_SGI 0x81C5 +#define GL_FFT_1D_SGI 0x81C6 +#define GL_PIXEL_TRANSFORM_SGI 0x81C7 +#define GL_MAX_FFT_WIDTH_SGI 0x81C8 + +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFSGIPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERISGIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMSGIPROC) (GLenum target); + +#define glGetPixelTransformParameterfvSGI GLEW_GET_FUN(__glewGetPixelTransformParameterfvSGI) +#define glGetPixelTransformParameterivSGI GLEW_GET_FUN(__glewGetPixelTransformParameterivSGI) +#define glPixelTransformParameterfSGI GLEW_GET_FUN(__glewPixelTransformParameterfSGI) +#define glPixelTransformParameterfvSGI GLEW_GET_FUN(__glewPixelTransformParameterfvSGI) +#define glPixelTransformParameteriSGI GLEW_GET_FUN(__glewPixelTransformParameteriSGI) +#define glPixelTransformParameterivSGI GLEW_GET_FUN(__glewPixelTransformParameterivSGI) +#define glPixelTransformSGI GLEW_GET_FUN(__glewPixelTransformSGI) + +#define GLEW_SGI_fft GLEW_GET_VAR(__GLEW_SGI_fft) + +#endif /* GL_SGI_fft */ + +/* ----------------------- GL_SGI_texture_color_table ---------------------- */ + +#ifndef GL_SGI_texture_color_table +#define GL_SGI_texture_color_table 1 + +#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC +#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD + +#define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table) + +#endif /* GL_SGI_texture_color_table */ + +/* ------------------------- GL_SUNX_constant_data ------------------------- */ + +#ifndef GL_SUNX_constant_data +#define GL_SUNX_constant_data 1 + +#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 +#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 + +typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void); + +#define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX) + +#define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data) + +#endif /* GL_SUNX_constant_data */ + +/* -------------------- GL_SUN_convolution_border_modes -------------------- */ + +#ifndef GL_SUN_convolution_border_modes +#define GL_SUN_convolution_border_modes 1 + +#define GL_WRAP_BORDER_SUN 0x81D4 + +#define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes) + +#endif /* GL_SUN_convolution_border_modes */ + +/* -------------------------- GL_SUN_global_alpha -------------------------- */ + +#ifndef GL_SUN_global_alpha +#define GL_SUN_global_alpha 1 + +#define GL_GLOBAL_ALPHA_SUN 0x81D9 +#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA + +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); + +#define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN) +#define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN) +#define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN) +#define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN) +#define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN) +#define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN) +#define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN) +#define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN) + +#define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha) + +#endif /* GL_SUN_global_alpha */ + +/* --------------------------- GL_SUN_mesh_array --------------------------- */ + +#ifndef GL_SUN_mesh_array +#define GL_SUN_mesh_array 1 + +#define GL_QUAD_MESH_SUN 0x8614 +#define GL_TRIANGLE_MESH_SUN 0x8615 + +#define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array) + +#endif /* GL_SUN_mesh_array */ + +/* ------------------------ GL_SUN_read_video_pixels ----------------------- */ + +#ifndef GL_SUN_read_video_pixels +#define GL_SUN_read_video_pixels 1 + +typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels); + +#define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN) + +#define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels) + +#endif /* GL_SUN_read_video_pixels */ + +/* --------------------------- GL_SUN_slice_accum -------------------------- */ + +#ifndef GL_SUN_slice_accum +#define GL_SUN_slice_accum 1 + +#define GL_SLICE_ACCUM_SUN 0x85CC + +#define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum) + +#endif /* GL_SUN_slice_accum */ + +/* -------------------------- GL_SUN_triangle_list ------------------------- */ + +#ifndef GL_SUN_triangle_list +#define GL_SUN_triangle_list 1 + +#define GL_RESTART_SUN 0x01 +#define GL_REPLACE_MIDDLE_SUN 0x02 +#define GL_REPLACE_OLDEST_SUN 0x03 +#define GL_TRIANGLE_LIST_SUN 0x81D7 +#define GL_REPLACEMENT_CODE_SUN 0x81D8 +#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 +#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 +#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 +#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 +#define GL_R1UI_V3F_SUN 0x85C4 +#define GL_R1UI_C4UB_V3F_SUN 0x85C5 +#define GL_R1UI_C3F_V3F_SUN 0x85C6 +#define GL_R1UI_N3F_V3F_SUN 0x85C7 +#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 +#define GL_R1UI_T2F_V3F_SUN 0x85C9 +#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA +#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB + +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code); + +#define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN) +#define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN) +#define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN) +#define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN) +#define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN) +#define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN) +#define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN) + +#define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list) + +#endif /* GL_SUN_triangle_list */ + +/* ----------------------------- GL_SUN_vertex ----------------------------- */ + +#ifndef GL_SUN_vertex +#define GL_SUN_vertex 1 + +typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v); + +#define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN) +#define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN) +#define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN) +#define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN) +#define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN) +#define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN) +#define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN) +#define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN) +#define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN) +#define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN) +#define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN) +#define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN) +#define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN) +#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN) +#define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN) +#define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN) +#define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN) +#define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN) +#define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN) +#define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN) +#define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN) +#define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN) +#define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN) +#define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN) +#define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN) +#define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN) +#define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN) +#define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN) +#define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN) +#define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN) +#define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN) +#define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN) +#define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN) +#define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN) + +#define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex) + +#endif /* GL_SUN_vertex */ + +/* -------------------------- GL_WIN_phong_shading ------------------------- */ + +#ifndef GL_WIN_phong_shading +#define GL_WIN_phong_shading 1 + +#define GL_PHONG_WIN 0x80EA +#define GL_PHONG_HINT_WIN 0x80EB + +#define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading) + +#endif /* GL_WIN_phong_shading */ + +/* ------------------------- GL_WIN_scene_markerXXX ------------------------ */ + +#ifndef GL_WIN_scene_markerXXX +#define GL_WIN_scene_markerXXX 1 + +#define GLEW_WIN_scene_markerXXX GLEW_GET_VAR(__GLEW_WIN_scene_markerXXX) + +#endif /* GL_WIN_scene_markerXXX */ + +/* -------------------------- GL_WIN_specular_fog -------------------------- */ + +#ifndef GL_WIN_specular_fog +#define GL_WIN_specular_fog 1 + +#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC + +#define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog) + +#endif /* GL_WIN_specular_fog */ + +/* ---------------------------- GL_WIN_swap_hint --------------------------- */ + +#ifndef GL_WIN_swap_hint +#define GL_WIN_swap_hint 1 + +typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); + +#define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN) + +#define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint) + +#endif /* GL_WIN_swap_hint */ + +/* ------------------------------------------------------------------------- */ + + + +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D; + +GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture; +GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv; +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage; + +GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate; +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer; +GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd; +GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv; +GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf; +GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv; +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery; +GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer; +GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData; +GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries; +GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery; +GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers; +GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv; +GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv; +GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv; +GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer; +GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery; +GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer; +GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer; + +GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader; +GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate; +GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram; +GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader; +GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray; +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray; +GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform; +GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders; +GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation; +GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv; +GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog; +GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource; +GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv; +GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation; +GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv; +GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv; +GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram; +GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader; +GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram; +GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource; +GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate; +GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate; +GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate; +GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f; +GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv; +GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i; +GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv; +GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f; +GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv; +GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i; +GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv; +GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f; +GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv; +GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i; +GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv; +GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f; +GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv; +GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i; +GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer; + +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback; +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation; +GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv; +GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski; +GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei; +GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback; +GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v; +GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation; +GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv; +GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced; +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex; +GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v; +GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci; +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading; + +GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSPROC __glewGetGraphicsResetStatus; +GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEPROC __glewGetnCompressedTexImage; +GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEPROC __glewGetnTexImage; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVPROC __glewGetnUniformdv; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC __glewMultiDrawArraysIndirectCount; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC __glewMultiDrawElementsIndirectCount; +GLEW_FUN_EXPORT PFNGLSPECIALIZESHADERPROC __glewSpecializeShader; + +GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC __glewFramebufferSamplePositionsfvAMD; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC __glewGetFramebufferParameterfvAMD; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC __glewGetNamedFramebufferParameterfvAMD; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC __glewNamedFramebufferSamplePositionsfvAMD; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPARAMETERIAMDPROC __glewVertexAttribParameteriAMD; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD; + +GLEW_FUN_EXPORT PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD; +GLEW_FUN_EXPORT PFNGLGENNAMESAMDPROC __glewGenNamesAMD; +GLEW_FUN_EXPORT PFNGLISNAMEAMDPROC __glewIsNameAMD; + +GLEW_FUN_EXPORT PFNGLQUERYOBJECTPARAMETERUIAMDPROC __glewQueryObjectParameteruiAMD; + +GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD; +GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD; + +GLEW_FUN_EXPORT PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGESPARSEAMDPROC __glewTexStorageSparseAMD; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGESPARSEAMDPROC __glewTextureStorageSparseAMD; + +GLEW_FUN_EXPORT PFNGLSTENCILOPVALUEAMDPROC __glewStencilOpValueAMD; + +GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD; +GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD; + +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERANGLEPROC __glewBlitFramebufferANGLE; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC __glewRenderbufferStorageMultisampleANGLE; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDANGLEPROC __glewDrawArraysInstancedANGLE; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDANGLEPROC __glewDrawElementsInstancedANGLE; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORANGLEPROC __glewVertexAttribDivisorANGLE; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYANGLEPROC __glewBeginQueryANGLE; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESANGLEPROC __glewDeleteQueriesANGLE; +GLEW_FUN_EXPORT PFNGLENDQUERYANGLEPROC __glewEndQueryANGLE; +GLEW_FUN_EXPORT PFNGLGENQUERIESANGLEPROC __glewGenQueriesANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VANGLEPROC __glewGetQueryObjecti64vANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVANGLEPROC __glewGetQueryObjectivANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VANGLEPROC __glewGetQueryObjectui64vANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVANGLEPROC __glewGetQueryObjectuivANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYIVANGLEPROC __glewGetQueryivANGLE; +GLEW_FUN_EXPORT PFNGLISQUERYANGLEPROC __glewIsQueryANGLE; +GLEW_FUN_EXPORT PFNGLQUERYCOUNTERANGLEPROC __glewQueryCounterANGLE; + +GLEW_FUN_EXPORT PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC __glewGetTranslatedShaderSourceANGLE; + +GLEW_FUN_EXPORT PFNGLCOPYTEXTURELEVELSAPPLEPROC __glewCopyTextureLevelsAPPLE; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE; + +GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE; +GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE; +GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE; +GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE; +GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE; +GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE; +GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; +GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; + +GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC __glewRenderbufferStorageMultisampleAPPLE; +GLEW_FUN_EXPORT PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC __glewResolveMultisampleFramebufferAPPLE; + +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE; + +GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCAPPLEPROC __glewClientWaitSyncAPPLE; +GLEW_FUN_EXPORT PFNGLDELETESYNCAPPLEPROC __glewDeleteSyncAPPLE; +GLEW_FUN_EXPORT PFNGLFENCESYNCAPPLEPROC __glewFenceSyncAPPLE; +GLEW_FUN_EXPORT PFNGLGETINTEGER64VAPPLEPROC __glewGetInteger64vAPPLE; +GLEW_FUN_EXPORT PFNGLGETSYNCIVAPPLEPROC __glewGetSyncivAPPLE; +GLEW_FUN_EXPORT PFNGLISSYNCAPPLEPROC __glewIsSyncAPPLE; +GLEW_FUN_EXPORT PFNGLWAITSYNCAPPLEPROC __glewWaitSyncAPPLE; + +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; +GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE; + +GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHFPROC __glewClearDepthf; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEFPROC __glewDepthRangef; +GLEW_FUN_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat; +GLEW_FUN_EXPORT PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler; +GLEW_FUN_EXPORT PFNGLSHADERBINARYPROC __glewShaderBinary; + +GLEW_FUN_EXPORT PFNGLMEMORYBARRIERBYREGIONPROC __glewMemoryBarrierByRegion; + +GLEW_FUN_EXPORT PFNGLPRIMITIVEBOUNDINGBOXARBPROC __glewPrimitiveBoundingBoxARB; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance; + +GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLEARBPROC __glewGetImageHandleARB; +GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLEARBPROC __glewGetTextureHandleARB; +GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLEARBPROC __glewGetTextureSamplerHandleARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VARBPROC __glewGetVertexAttribLui64vARB; +GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTARBPROC __glewIsImageHandleResidentARB; +GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTARBPROC __glewIsTextureHandleResidentARB; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC __glewMakeImageHandleNonResidentARB; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTARBPROC __glewMakeImageHandleResidentARB; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC __glewMakeTextureHandleNonResidentARB; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTARBPROC __glewMakeTextureHandleResidentARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC __glewProgramUniformHandleui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC __glewProgramUniformHandleui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64ARBPROC __glewUniformHandleui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VARBPROC __glewUniformHandleui64vARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64ARBPROC __glewVertexAttribL1ui64ARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VARBPROC __glewVertexAttribL1ui64vARB; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed; +GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex; + +GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEPROC __glewBufferStorage; + +GLEW_FUN_EXPORT PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB; + +GLEW_FUN_EXPORT PFNGLCLEARBUFFERDATAPROC __glewClearBufferData; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERSUBDATAPROC __glewClearBufferSubData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERDATAEXTPROC __glewClearNamedBufferDataEXT; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __glewClearNamedBufferSubDataEXT; + +GLEW_FUN_EXPORT PFNGLCLEARTEXIMAGEPROC __glewClearTexImage; +GLEW_FUN_EXPORT PFNGLCLEARTEXSUBIMAGEPROC __glewClearTexSubImage; + +GLEW_FUN_EXPORT PFNGLCLIPCONTROLPROC __glewClipControl; + +GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB; + +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEPROC __glewDispatchCompute; +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEINDIRECTPROC __glewDispatchComputeIndirect; + +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC __glewDispatchComputeGroupSizeARB; + +GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATAPROC __glewCopyImageSubData; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB; + +GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPROC __glewBindTextureUnit; +GLEW_FUN_EXPORT PFNGLBLITNAMEDFRAMEBUFFERPROC __glewBlitNamedFramebuffer; +GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC __glewCheckNamedFramebufferStatus; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERDATAPROC __glewClearNamedBufferData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERSUBDATAPROC __glewClearNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERFIPROC __glewClearNamedFramebufferfi; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERFVPROC __glewClearNamedFramebufferfv; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERIVPROC __glewClearNamedFramebufferiv; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC __glewClearNamedFramebufferuiv; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC __glewCompressedTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC __glewCompressedTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC __glewCompressedTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLCOPYNAMEDBUFFERSUBDATAPROC __glewCopyNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DPROC __glewCopyTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DPROC __glewCopyTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DPROC __glewCopyTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLCREATEBUFFERSPROC __glewCreateBuffers; +GLEW_FUN_EXPORT PFNGLCREATEFRAMEBUFFERSPROC __glewCreateFramebuffers; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPIPELINESPROC __glewCreateProgramPipelines; +GLEW_FUN_EXPORT PFNGLCREATEQUERIESPROC __glewCreateQueries; +GLEW_FUN_EXPORT PFNGLCREATERENDERBUFFERSPROC __glewCreateRenderbuffers; +GLEW_FUN_EXPORT PFNGLCREATESAMPLERSPROC __glewCreateSamplers; +GLEW_FUN_EXPORT PFNGLCREATETEXTURESPROC __glewCreateTextures; +GLEW_FUN_EXPORT PFNGLCREATETRANSFORMFEEDBACKSPROC __glewCreateTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLCREATEVERTEXARRAYSPROC __glewCreateVertexArrays; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBPROC __glewDisableVertexArrayAttrib; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBPROC __glewEnableVertexArrayAttrib; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC __glewFlushMappedNamedBufferRange; +GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPPROC __glewGenerateTextureMipmap; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC __glewGetCompressedTextureImage; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERI64VPROC __glewGetNamedBufferParameteri64v; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVPROC __glewGetNamedBufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVPROC __glewGetNamedBufferPointerv; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAPROC __glewGetNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetNamedFramebufferAttachmentParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC __glewGetNamedFramebufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC __glewGetNamedRenderbufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTI64VPROC __glewGetQueryBufferObjecti64v; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTIVPROC __glewGetQueryBufferObjectiv; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTUI64VPROC __glewGetQueryBufferObjectui64v; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTUIVPROC __glewGetQueryBufferObjectuiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEPROC __glewGetTextureImage; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVPROC __glewGetTextureLevelParameterfv; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVPROC __glewGetTextureLevelParameteriv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVPROC __glewGetTextureParameterIiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVPROC __glewGetTextureParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVPROC __glewGetTextureParameterfv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVPROC __glewGetTextureParameteriv; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKI64_VPROC __glewGetTransformFeedbacki64_v; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKI_VPROC __glewGetTransformFeedbacki_v; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKIVPROC __glewGetTransformFeedbackiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINDEXED64IVPROC __glewGetVertexArrayIndexed64iv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINDEXEDIVPROC __glewGetVertexArrayIndexediv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYIVPROC __glewGetVertexArrayiv; +GLEW_FUN_EXPORT PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC __glewInvalidateNamedFramebufferData; +GLEW_FUN_EXPORT PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC __glewInvalidateNamedFramebufferSubData; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERPROC __glewMapNamedBuffer; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEPROC __glewMapNamedBufferRange; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAPROC __glewNamedBufferData; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEPROC __glewNamedBufferStorage; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAPROC __glewNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC __glewNamedFramebufferDrawBuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC __glewNamedFramebufferDrawBuffers; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC __glewNamedFramebufferParameteri; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC __glewNamedFramebufferReadBuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC __glewNamedFramebufferRenderbuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREPROC __glewNamedFramebufferTexture; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC __glewNamedFramebufferTextureLayer; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEPROC __glewNamedRenderbufferStorage; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewNamedRenderbufferStorageMultisample; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERPROC __glewTextureBuffer; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERRANGEPROC __glewTextureBufferRange; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVPROC __glewTextureParameterIiv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVPROC __glewTextureParameterIuiv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFPROC __glewTextureParameterf; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVPROC __glewTextureParameterfv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIPROC __glewTextureParameteri; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVPROC __glewTextureParameteriv; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DPROC __glewTextureStorage1D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DPROC __glewTextureStorage2D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC __glewTextureStorage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DPROC __glewTextureStorage3D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC __glewTextureStorage3DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DPROC __glewTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DPROC __glewTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DPROC __glewTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC __glewTransformFeedbackBufferBase; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC __glewTransformFeedbackBufferRange; +GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFERPROC __glewUnmapNamedBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBBINDINGPROC __glewVertexArrayAttribBinding; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBFORMATPROC __glewVertexArrayAttribFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBIFORMATPROC __glewVertexArrayAttribIFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBLFORMATPROC __glewVertexArrayAttribLFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYBINDINGDIVISORPROC __glewVertexArrayBindingDivisor; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYELEMENTBUFFERPROC __glewVertexArrayElementBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBUFFERPROC __glewVertexArrayVertexBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBUFFERSPROC __glewVertexArrayVertexBuffers; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERPARAMETERIPROC __glewFramebufferParameteri; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVPROC __glewGetFramebufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __glewGetNamedFramebufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __glewNamedFramebufferParameteriEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer; +GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer; +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer; +GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus; +GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers; +GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer; +GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers; +GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers; +GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv; +GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv; +GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer; +GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMBINARYPROC __glewProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri; + +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC __glewGetCompressedTextureSubImage; +GLEW_FUN_EXPORT PFNGLGETTEXTURESUBIMAGEPROC __glewGetTextureSubImage; + +GLEW_FUN_EXPORT PFNGLSPECIALIZESHADERARBPROC __glewSpecializeShaderARB; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMDVPROC __glewGetUniformdv; +GLEW_FUN_EXPORT PFNGLUNIFORM1DPROC __glewUniform1d; +GLEW_FUN_EXPORT PFNGLUNIFORM1DVPROC __glewUniform1dv; +GLEW_FUN_EXPORT PFNGLUNIFORM2DPROC __glewUniform2d; +GLEW_FUN_EXPORT PFNGLUNIFORM2DVPROC __glewUniform2dv; +GLEW_FUN_EXPORT PFNGLUNIFORM3DPROC __glewUniform3d; +GLEW_FUN_EXPORT PFNGLUNIFORM3DVPROC __glewUniform3dv; +GLEW_FUN_EXPORT PFNGLUNIFORM4DPROC __glewUniform4d; +GLEW_FUN_EXPORT PFNGLUNIFORM4DVPROC __glewUniform4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VARBPROC __glewGetUniformi64vARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VARBPROC __glewGetUniformui64vARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMI64VARBPROC __glewGetnUniformi64vARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUI64VARBPROC __glewGetnUniformui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64ARBPROC __glewProgramUniform1i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VARBPROC __glewProgramUniform1i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64ARBPROC __glewProgramUniform1ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VARBPROC __glewProgramUniform1ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64ARBPROC __glewProgramUniform2i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VARBPROC __glewProgramUniform2i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64ARBPROC __glewProgramUniform2ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VARBPROC __glewProgramUniform2ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64ARBPROC __glewProgramUniform3i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VARBPROC __glewProgramUniform3i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64ARBPROC __glewProgramUniform3ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VARBPROC __glewProgramUniform3ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64ARBPROC __glewProgramUniform4i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VARBPROC __glewProgramUniform4i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64ARBPROC __glewProgramUniform4ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VARBPROC __glewProgramUniform4ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64ARBPROC __glewUniform1i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64VARBPROC __glewUniform1i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64ARBPROC __glewUniform1ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VARBPROC __glewUniform1ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64ARBPROC __glewUniform2i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64VARBPROC __glewUniform2i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64ARBPROC __glewUniform2ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VARBPROC __glewUniform2ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64ARBPROC __glewUniform3i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64VARBPROC __glewUniform3i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64ARBPROC __glewUniform3ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VARBPROC __glewUniform3ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64ARBPROC __glewUniform4i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64VARBPROC __glewUniform4i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64ARBPROC __glewUniform4ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VARBPROC __glewUniform4ui64vARB; + +GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv; +GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable; +GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv; +GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv; +GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter; +GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram; +GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax; +GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram; +GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax; +GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC __glewMultiDrawArraysIndirectCountARB; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC __glewMultiDrawElementsIndirectCountARB; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATI64VPROC __glewGetInternalformati64v; + +GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERDATAPROC __glewInvalidateBufferData; +GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERSUBDATAPROC __glewInvalidateBufferSubData; +GLEW_FUN_EXPORT PFNGLINVALIDATEFRAMEBUFFERPROC __glewInvalidateFramebuffer; +GLEW_FUN_EXPORT PFNGLINVALIDATESUBFRAMEBUFFERPROC __glewInvalidateSubFramebuffer; +GLEW_FUN_EXPORT PFNGLINVALIDATETEXIMAGEPROC __glewInvalidateTexImage; +GLEW_FUN_EXPORT PFNGLINVALIDATETEXSUBIMAGEPROC __glewInvalidateTexSubImage; + +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange; +GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange; + +GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERSBASEPROC __glewBindBuffersBase; +GLEW_FUN_EXPORT PFNGLBINDBUFFERSRANGEPROC __glewBindBuffersRange; +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTURESPROC __glewBindImageTextures; +GLEW_FUN_EXPORT PFNGLBINDSAMPLERSPROC __glewBindSamplers; +GLEW_FUN_EXPORT PFNGLBINDTEXTURESPROC __glewBindTextures; +GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERSPROC __glewBindVertexBuffers; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTPROC __glewMultiDrawArraysIndirect; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTPROC __glewMultiDrawElementsIndirect; + +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB; + +GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB; +GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB; +GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB; +GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB; +GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB; +GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB; + +GLEW_FUN_EXPORT PFNGLMAXSHADERCOMPILERTHREADSARBPROC __glewMaxShaderCompilerThreadsARB; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB; + +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETCLAMPPROC __glewPolygonOffsetClamp; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMINTERFACEIVPROC __glewGetProgramInterfaceiv; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEINDEXPROC __glewGetProgramResourceIndex; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONPROC __glewGetProgramResourceLocation; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __glewGetProgramResourceLocationIndex; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCENAMEPROC __glewGetProgramResourceName; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEIVPROC __glewGetProgramResourceiv; + +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex; + +GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB; +GLEW_FUN_EXPORT PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB; +GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB; +GLEW_FUN_EXPORT PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB; +GLEW_FUN_EXPORT PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPIVARBPROC __glewGetnMapivARB; +GLEW_FUN_EXPORT PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB; +GLEW_FUN_EXPORT PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB; +GLEW_FUN_EXPORT PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB; +GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB; +GLEW_FUN_EXPORT PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewFramebufferSampleLocationsfvARB; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewNamedFramebufferSampleLocationsfvARB; + +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB; + +GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler; +GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers; +GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv; +GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv; + +GLEW_FUN_EXPORT PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram; +GLEW_FUN_EXPORT PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines; +GLEW_FUN_EXPORT PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv; +GLEW_FUN_EXPORT PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline; + +GLEW_FUN_EXPORT PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIERPROC __glewMemoryBarrier; + +GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB; +GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB; +GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB; +GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB; +GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB; +GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB; +GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB; +GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB; +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB; +GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB; +GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB; +GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB; + +GLEW_FUN_EXPORT PFNGLSHADERSTORAGEBLOCKBINDINGPROC __glewShaderStorageBlockBinding; + +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation; +GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv; +GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv; + +GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB; +GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB; +GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB; +GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB; + +GLEW_FUN_EXPORT PFNGLBUFFERPAGECOMMITMENTARBPROC __glewBufferPageCommitmentARB; + +GLEW_FUN_EXPORT PFNGLTEXPAGECOMMITMENTARBPROC __glewTexPageCommitmentARB; + +GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync; +GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync; +GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync; +GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v; +GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv; +GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync; +GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync; + +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv; +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri; + +GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERPROC __glewTextureBarrier; + +GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB; + +GLEW_FUN_EXPORT PFNGLTEXBUFFERRANGEPROC __glewTexBufferRange; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERRANGEEXTPROC __glewTextureBufferRangeEXT; + +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; + +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski; +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE1DPROC __glewTexStorage1D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DPROC __glewTexStorage2D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DPROC __glewTexStorage3D; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEPROC __glewTexStorage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DMULTISAMPLEPROC __glewTexStorage3DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __glewTextureStorage2DMultisampleEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __glewTextureStorage3DMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLTEXTUREVIEWPROC __glewTextureView; + +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v; +GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter; + +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream; +GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed; +GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv; + +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced; + +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv; +GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v; +GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex; +GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices; +GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERPROC __glewBindVertexBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC __glewVertexArrayBindVertexBufferEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC __glewVertexArrayVertexAttribBindingEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC __glewVertexArrayVertexAttribFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC __glewVertexArrayVertexAttribIFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC __glewVertexArrayVertexAttribLFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC __glewVertexArrayVertexBindingDivisorEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBBINDINGPROC __glewVertexAttribBinding; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATPROC __glewVertexAttribFormat; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATPROC __glewVertexAttribIFormat; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATPROC __glewVertexAttribLFormat; +GLEW_FUN_EXPORT PFNGLVERTEXBINDINGDIVISORPROC __glewVertexBindingDivisor; + +GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; +GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB; +GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB; +GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB; +GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB; +GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB; +GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB; +GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB; +GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB; +GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB; + +GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB; +GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB; +GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB; + +GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB; +GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB; +GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB; + +GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui; +GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv; +GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui; +GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui; +GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv; + +GLEW_FUN_EXPORT PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VPROC __glewGetFloati_v; +GLEW_FUN_EXPORT PFNGLSCISSORARRAYVPROC __glewScissorArrayv; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDPROC __glewScissorIndexed; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv; +GLEW_FUN_EXPORT PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv; + +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI; +GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI; + +GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI; +GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI; +GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI; +GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI; + +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI; +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI; +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI; +GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI; +GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI; +GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI; +GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI; +GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI; + +GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI; +GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI; + +GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI; +GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI; + +GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI; +GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI; + +GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI; +GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI; +GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI; +GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI; +GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI; +GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI; +GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI; +GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI; + +GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI; +GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI; +GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC __glewDrawArraysInstancedBaseInstanceEXT; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC __glewDrawElementsInstancedBaseInstanceEXT; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC __glewDrawElementsInstancedBaseVertexBaseInstanceEXT; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT; +GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT; +GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT; + +GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC __glewBindFragDataLocationIndexedEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXEXTPROC __glewGetFragDataIndexEXT; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC __glewGetProgramResourceLocationIndexEXT; + +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT; + +GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEEXTPROC __glewBufferStorageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEEXTPROC __glewNamedBufferStorageEXT; + +GLEW_FUN_EXPORT PFNGLCLEARTEXIMAGEEXTPROC __glewClearTexImageEXT; +GLEW_FUN_EXPORT PFNGLCLEARTEXSUBIMAGEEXTPROC __glewClearTexSubImageEXT; + +GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT; +GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT; + +GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT; +GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT; + +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT; +GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT; + +GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT; +GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATAEXTPROC __glewCopyImageSubDataEXT; + +GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT; + +GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT; +GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT; + +GLEW_FUN_EXPORT PFNGLGETOBJECTLABELEXTPROC __glewGetObjectLabelEXT; +GLEW_FUN_EXPORT PFNGLLABELOBJECTEXTPROC __glewLabelObjectEXT; + +GLEW_FUN_EXPORT PFNGLINSERTEVENTMARKEREXTPROC __glewInsertEventMarkerEXT; +GLEW_FUN_EXPORT PFNGLPOPGROUPMARKEREXTPROC __glewPopGroupMarkerEXT; +GLEW_FUN_EXPORT PFNGLPUSHGROUPMARKEREXTPROC __glewPushGroupMarkerEXT; + +GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; + +GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT; +GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT; +GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT; +GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT; +GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT; +GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC __glewVertexArrayVertexAttribDivisorEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT; + +GLEW_FUN_EXPORT PFNGLDISCARDFRAMEBUFFEREXTPROC __glewDiscardFramebufferEXT; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSEXTPROC __glewDrawBuffersEXT; + +GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; +GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; +GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; +GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT; +GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIEXTPROC __glewBlendEquationSeparateiEXT; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIEXTPROC __glewBlendEquationiEXT; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIEXTPROC __glewBlendFuncSeparateiEXT; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIEXTPROC __glewBlendFunciEXT; +GLEW_FUN_EXPORT PFNGLCOLORMASKIEXTPROC __glewColorMaskiEXT; +GLEW_FUN_EXPORT PFNGLDISABLEIEXTPROC __glewDisableiEXT; +GLEW_FUN_EXPORT PFNGLENABLEIEXTPROC __glewEnableiEXT; +GLEW_FUN_EXPORT PFNGLISENABLEDIEXTPROC __glewIsEnablediEXT; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXEXTPROC __glewDrawElementsBaseVertexEXT; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC __glewDrawElementsInstancedBaseVertexEXT; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC __glewDrawRangeElementsBaseVertexEXT; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC __glewMultiDrawElementsBaseVertexEXT; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT; + +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT; + +GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEEXTERNALEXTPROC __glewBufferStorageExternalEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC __glewNamedBufferStorageExternalEXT; + +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT; +GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT; + +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT; +GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT; +GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT; +GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT; +GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT; +GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT; +GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT; +GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; + +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT; + +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT; +GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT; +GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT; +GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT; +GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT; + +GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT; + +GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISOREXTPROC __glewVertexAttribDivisorEXT; + +GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT; +GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT; + +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC __glewFlushMappedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEEXTPROC __glewMapBufferRangeEXT; + +GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEMEMEXTPROC __glewBufferStorageMemEXT; +GLEW_FUN_EXPORT PFNGLCREATEMEMORYOBJECTSEXTPROC __glewCreateMemoryObjectsEXT; +GLEW_FUN_EXPORT PFNGLDELETEMEMORYOBJECTSEXTPROC __glewDeleteMemoryObjectsEXT; +GLEW_FUN_EXPORT PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC __glewGetMemoryObjectParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETUNSIGNEDBYTEI_VEXTPROC __glewGetUnsignedBytei_vEXT; +GLEW_FUN_EXPORT PFNGLGETUNSIGNEDBYTEVEXTPROC __glewGetUnsignedBytevEXT; +GLEW_FUN_EXPORT PFNGLISMEMORYOBJECTEXTPROC __glewIsMemoryObjectEXT; +GLEW_FUN_EXPORT PFNGLMEMORYOBJECTPARAMETERIVEXTPROC __glewMemoryObjectParameterivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC __glewNamedBufferStorageMemEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGEMEM1DEXTPROC __glewTexStorageMem1DEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGEMEM2DEXTPROC __glewTexStorageMem2DEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC __glewTexStorageMem2DMultisampleEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGEMEM3DEXTPROC __glewTexStorageMem3DEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC __glewTexStorageMem3DMultisampleEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGEMEM1DEXTPROC __glewTextureStorageMem1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGEMEM2DEXTPROC __glewTextureStorageMem2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC __glewTextureStorageMem2DMultisampleEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGEMEM3DEXTPROC __glewTextureStorageMem3DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC __glewTextureStorageMem3DMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTMEMORYFDEXTPROC __glewImportMemoryFdEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC __glewImportMemoryWin32HandleEXT; +GLEW_FUN_EXPORT PFNGLIMPORTMEMORYWIN32NAMEEXTPROC __glewImportMemoryWin32NameEXT; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC __glewMultiDrawArraysIndirectEXT; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC __glewMultiDrawElementsIndirectEXT; + +GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT; +GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC __glewFramebufferTexture2DMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSINDEXEDEXTPROC __glewDrawBuffersIndexedEXT; +GLEW_FUN_EXPORT PFNGLGETINTEGERI_VEXTPROC __glewGetIntegeri_vEXT; +GLEW_FUN_EXPORT PFNGLREADBUFFERINDEXEDEXTPROC __glewReadBufferIndexedEXT; + +GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT; + +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT; + +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT; + +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETCLAMPEXTPROC __glewPolygonOffsetClampEXT; + +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT; + +GLEW_FUN_EXPORT PFNGLCOVERAGEMODULATIONNVPROC __glewCoverageModulationNV; +GLEW_FUN_EXPORT PFNGLCOVERAGEMODULATIONTABLENVPROC __glewCoverageModulationTableNV; +GLEW_FUN_EXPORT PFNGLGETCOVERAGEMODULATIONTABLENVPROC __glewGetCoverageModulationTableNV; +GLEW_FUN_EXPORT PFNGLRASTERSAMPLESEXTPROC __glewRasterSamplesEXT; + +GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT; +GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT; + +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT; + +GLEW_FUN_EXPORT PFNGLDELETESEMAPHORESEXTPROC __glewDeleteSemaphoresEXT; +GLEW_FUN_EXPORT PFNGLGENSEMAPHORESEXTPROC __glewGenSemaphoresEXT; +GLEW_FUN_EXPORT PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC __glewGetSemaphoreParameterui64vEXT; +GLEW_FUN_EXPORT PFNGLISSEMAPHOREEXTPROC __glewIsSemaphoreEXT; +GLEW_FUN_EXPORT PFNGLSEMAPHOREPARAMETERUI64VEXTPROC __glewSemaphoreParameterui64vEXT; +GLEW_FUN_EXPORT PFNGLSIGNALSEMAPHOREEXTPROC __glewSignalSemaphoreEXT; +GLEW_FUN_EXPORT PFNGLWAITSEMAPHOREEXTPROC __glewWaitSemaphoreEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTSEMAPHOREFDEXTPROC __glewImportSemaphoreFdEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC __glewImportSemaphoreWin32HandleEXT; +GLEW_FUN_EXPORT PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC __glewImportSemaphoreWin32NameEXT; + +GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT; +GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT; + +GLEW_FUN_EXPORT PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC __glewClearPixelLocalStorageuiEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC __glewFramebufferPixelLocalStorageSizeEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC __glewGetFramebufferPixelLocalStorageSizeEXT; + +GLEW_FUN_EXPORT PFNGLTEXPAGECOMMITMENTEXTPROC __glewTexPageCommitmentEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPAGECOMMITMENTEXTPROC __glewTexturePageCommitmentEXT; + +GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT; + +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; + +GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; + +GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; +GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT; + +GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT; +GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT; +GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT; +GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT; +GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT; + +GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE1DEXTPROC __glewTexStorage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DEXTPROC __glewTexStorage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DEXTPROC __glewTexStorage3DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT; + +GLEW_FUN_EXPORT PFNGLTEXTUREVIEWEXTPROC __glewTextureViewEXT; + +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; + +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT; + +GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; +GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT; +GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT; +GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT; +GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT; +GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT; + +GLEW_FUN_EXPORT PFNGLBINDARRAYSETEXTPROC __glewBindArraySetEXT; +GLEW_FUN_EXPORT PFNGLCREATEARRAYSETEXTPROC __glewCreateArraySetExt; +GLEW_FUN_EXPORT PFNGLDELETEARRAYSETSEXTPROC __glewDeleteArraySetsEXT; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT; + +GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT; +GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT; +GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT; +GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT; +GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT; +GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT; +GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT; +GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT; +GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT; +GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT; +GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT; +GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT; +GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT; +GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT; +GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT; +GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT; +GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT; + +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; + +GLEW_FUN_EXPORT PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC __glewAcquireKeyedMutexWin32EXT; +GLEW_FUN_EXPORT PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC __glewReleaseKeyedMutexWin32EXT; + +GLEW_FUN_EXPORT PFNGLWINDOWRECTANGLESEXTPROC __glewWindowRectanglesEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT; + +GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; + +GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; + +GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; +GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP; + +GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM; +GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM; + +GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM; +GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM; +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM; +GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM; +GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM; + +GLEW_FUN_EXPORT PFNGLMAPTEXTURE2DINTELPROC __glewMapTexture2DINTEL; +GLEW_FUN_EXPORT PFNGLSYNCTEXTUREINTELPROC __glewSyncTextureINTEL; +GLEW_FUN_EXPORT PFNGLUNMAPTEXTURE2DINTELPROC __glewUnmapTexture2DINTEL; + +GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL; +GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL; + +GLEW_FUN_EXPORT PFNGLBEGINPERFQUERYINTELPROC __glewBeginPerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLCREATEPERFQUERYINTELPROC __glewCreatePerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLDELETEPERFQUERYINTELPROC __glewDeletePerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLENDPERFQUERYINTELPROC __glewEndPerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLGETFIRSTPERFQUERYIDINTELPROC __glewGetFirstPerfQueryIdINTEL; +GLEW_FUN_EXPORT PFNGLGETNEXTPERFQUERYIDINTELPROC __glewGetNextPerfQueryIdINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFCOUNTERINFOINTELPROC __glewGetPerfCounterInfoINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYDATAINTELPROC __glewGetPerfQueryDataINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYIDBYNAMEINTELPROC __glewGetPerfQueryIdByNameINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYINFOINTELPROC __glewGetPerfQueryInfoINTEL; + +GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL; +GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL; + +GLEW_FUN_EXPORT PFNGLBLENDBARRIERKHRPROC __glewBlendBarrierKHR; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKPROC __glewDebugMessageCallback; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLPROC __glewDebugMessageControl; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTPROC __glewDebugMessageInsert; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGPROC __glewGetDebugMessageLog; +GLEW_FUN_EXPORT PFNGLGETOBJECTLABELPROC __glewGetObjectLabel; +GLEW_FUN_EXPORT PFNGLGETOBJECTPTRLABELPROC __glewGetObjectPtrLabel; +GLEW_FUN_EXPORT PFNGLOBJECTLABELPROC __glewObjectLabel; +GLEW_FUN_EXPORT PFNGLOBJECTPTRLABELPROC __glewObjectPtrLabel; +GLEW_FUN_EXPORT PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup; +GLEW_FUN_EXPORT PFNGLPUSHDEBUGGROUPPROC __glewPushDebugGroup; + +GLEW_FUN_EXPORT PFNGLMAXSHADERCOMPILERTHREADSKHRPROC __glewMaxShaderCompilerThreadsKHR; + +GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVPROC __glewGetnUniformfv; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVPROC __glewGetnUniformiv; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVPROC __glewGetnUniformuiv; +GLEW_FUN_EXPORT PFNGLREADNPIXELSPROC __glewReadnPixels; + +GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion; +GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion; +GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion; +GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion; + +GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA; + +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVXPROC __glewBeginConditionalRenderNVX; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVXPROC __glewEndConditionalRenderNVX; + +GLEW_FUN_EXPORT PFNGLLGPUCOPYIMAGESUBDATANVXPROC __glewLGPUCopyImageSubDataNVX; +GLEW_FUN_EXPORT PFNGLLGPUINTERLOCKNVXPROC __glewLGPUInterlockNVX; +GLEW_FUN_EXPORT PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC __glewLGPUNamedBufferSubDataNVX; + +GLEW_FUN_EXPORT PFNGLSTEREOPARAMETERFNVPROC __glewStereoParameterfNV; +GLEW_FUN_EXPORT PFNGLSTEREOPARAMETERINVPROC __glewStereoParameteriNV; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC __glewMultiDrawArraysIndirectBindlessNV; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC __glewMultiDrawElementsIndirectBindlessNV; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawArraysIndirectBindlessCountNV; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawElementsIndirectBindlessCountNV; + +GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLENVPROC __glewGetImageHandleNV; +GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLENVPROC __glewGetTextureHandleNV; +GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLENVPROC __glewGetTextureSamplerHandleNV; +GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTNVPROC __glewIsImageHandleResidentNV; +GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTNVPROC __glewIsTextureHandleResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC __glewMakeImageHandleNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTNVPROC __glewMakeImageHandleResidentNV; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC __glewMakeTextureHandleNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTNVPROC __glewMakeTextureHandleResidentNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC __glewProgramUniformHandleui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC __glewProgramUniformHandleui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64NVPROC __glewUniformHandleui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VNVPROC __glewUniformHandleui64vNV; + +GLEW_FUN_EXPORT PFNGLBLENDBARRIERNVPROC __glewBlendBarrierNV; +GLEW_FUN_EXPORT PFNGLBLENDPARAMETERINVPROC __glewBlendParameteriNV; + +GLEW_FUN_EXPORT PFNGLVIEWPORTPOSITIONWSCALENVPROC __glewViewportPositionWScaleNV; + +GLEW_FUN_EXPORT PFNGLCALLCOMMANDLISTNVPROC __glewCallCommandListNV; +GLEW_FUN_EXPORT PFNGLCOMMANDLISTSEGMENTSNVPROC __glewCommandListSegmentsNV; +GLEW_FUN_EXPORT PFNGLCOMPILECOMMANDLISTNVPROC __glewCompileCommandListNV; +GLEW_FUN_EXPORT PFNGLCREATECOMMANDLISTSNVPROC __glewCreateCommandListsNV; +GLEW_FUN_EXPORT PFNGLCREATESTATESNVPROC __glewCreateStatesNV; +GLEW_FUN_EXPORT PFNGLDELETECOMMANDLISTSNVPROC __glewDeleteCommandListsNV; +GLEW_FUN_EXPORT PFNGLDELETESTATESNVPROC __glewDeleteStatesNV; +GLEW_FUN_EXPORT PFNGLDRAWCOMMANDSADDRESSNVPROC __glewDrawCommandsAddressNV; +GLEW_FUN_EXPORT PFNGLDRAWCOMMANDSNVPROC __glewDrawCommandsNV; +GLEW_FUN_EXPORT PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC __glewDrawCommandsStatesAddressNV; +GLEW_FUN_EXPORT PFNGLDRAWCOMMANDSSTATESNVPROC __glewDrawCommandsStatesNV; +GLEW_FUN_EXPORT PFNGLGETCOMMANDHEADERNVPROC __glewGetCommandHeaderNV; +GLEW_FUN_EXPORT PFNGLGETSTAGEINDEXNVPROC __glewGetStageIndexNV; +GLEW_FUN_EXPORT PFNGLISCOMMANDLISTNVPROC __glewIsCommandListNV; +GLEW_FUN_EXPORT PFNGLISSTATENVPROC __glewIsStateNV; +GLEW_FUN_EXPORT PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC __glewListDrawCommandsStatesClientNV; +GLEW_FUN_EXPORT PFNGLSTATECAPTURENVPROC __glewStateCaptureNV; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV; + +GLEW_FUN_EXPORT PFNGLSUBPIXELPRECISIONBIASNVPROC __glewSubpixelPrecisionBiasNV; + +GLEW_FUN_EXPORT PFNGLCONSERVATIVERASTERPARAMETERFNVPROC __glewConservativeRasterParameterfNV; + +GLEW_FUN_EXPORT PFNGLCONSERVATIVERASTERPARAMETERINVPROC __glewConservativeRasterParameteriNV; + +GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATANVPROC __glewCopyBufferSubDataNV; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; +GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSNVPROC __glewDrawBuffersNV; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDNVPROC __glewDrawArraysInstancedNV; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDNVPROC __glewDrawElementsInstancedNV; + +GLEW_FUN_EXPORT PFNGLDRAWTEXTURENVPROC __glewDrawTextureNV; + +GLEW_FUN_EXPORT PFNGLDRAWVKIMAGENVPROC __glewDrawVkImageNV; +GLEW_FUN_EXPORT PFNGLGETVKPROCADDRNVPROC __glewGetVkProcAddrNV; +GLEW_FUN_EXPORT PFNGLSIGNALVKFENCENVPROC __glewSignalVkFenceNV; +GLEW_FUN_EXPORT PFNGLSIGNALVKSEMAPHORENVPROC __glewSignalVkSemaphoreNV; +GLEW_FUN_EXPORT PFNGLWAITVKSEMAPHORENVPROC __glewWaitVkSemaphoreNV; + +GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV; +GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV; +GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV; +GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV; +GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV; +GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV; +GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV; + +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV; +GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV; + +GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV; +GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV; +GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV; +GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV; +GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV; +GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV; +GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOVERAGECOLORNVPROC __glewFragmentCoverageColorNV; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV; + +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERNVPROC __glewBlitFramebufferNV; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC __glewRenderbufferStorageMultisampleNV; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV; + +GLEW_FUN_EXPORT PFNGLMULTICASTBARRIERNVPROC __glewMulticastBarrierNV; +GLEW_FUN_EXPORT PFNGLMULTICASTBLITFRAMEBUFFERNVPROC __glewMulticastBlitFramebufferNV; +GLEW_FUN_EXPORT PFNGLMULTICASTBUFFERSUBDATANVPROC __glewMulticastBufferSubDataNV; +GLEW_FUN_EXPORT PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC __glewMulticastCopyBufferSubDataNV; +GLEW_FUN_EXPORT PFNGLMULTICASTCOPYIMAGESUBDATANVPROC __glewMulticastCopyImageSubDataNV; +GLEW_FUN_EXPORT PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewMulticastFramebufferSampleLocationsfvNV; +GLEW_FUN_EXPORT PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC __glewMulticastGetQueryObjecti64vNV; +GLEW_FUN_EXPORT PFNGLMULTICASTGETQUERYOBJECTIVNVPROC __glewMulticastGetQueryObjectivNV; +GLEW_FUN_EXPORT PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC __glewMulticastGetQueryObjectui64vNV; +GLEW_FUN_EXPORT PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC __glewMulticastGetQueryObjectuivNV; +GLEW_FUN_EXPORT PFNGLMULTICASTWAITSYNCNVPROC __glewMulticastWaitSyncNV; +GLEW_FUN_EXPORT PFNGLRENDERGPUMASKNVPROC __glewRenderGpuMaskNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV; + +GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; +GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV; +GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV; +GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV; +GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV; +GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV; +GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV; +GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV; +GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORNVPROC __glewVertexAttribDivisorNV; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATSAMPLEIVNVPROC __glewGetInternalformatSampleivNV; + +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVNVPROC __glewUniformMatrix2x3fvNV; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVNVPROC __glewUniformMatrix2x4fvNV; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVNVPROC __glewUniformMatrix3x2fvNV; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVNVPROC __glewUniformMatrix3x4fvNV; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVNVPROC __glewUniformMatrix4x2fvNV; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVNVPROC __glewUniformMatrix4x3fvNV; + +GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV; +GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV; +GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV; +GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV; +GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV; +GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV; +GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; + +GLEW_FUN_EXPORT PFNGLCOPYPATHNVPROC __glewCopyPathNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV; +GLEW_FUN_EXPORT PFNGLDELETEPATHSNVPROC __glewDeletePathsNV; +GLEW_FUN_EXPORT PFNGLGENPATHSNVPROC __glewGenPathsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV; +GLEW_FUN_EXPORT PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV; +GLEW_FUN_EXPORT PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEFVNVPROC __glewGetProgramResourcefvNV; +GLEW_FUN_EXPORT PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV; +GLEW_FUN_EXPORT PFNGLISPATHNVPROC __glewIsPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOAD3X2FNVPROC __glewMatrixLoad3x2fNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOAD3X3FNVPROC __glewMatrixLoad3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC __glewMatrixLoadTranspose3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULT3X2FNVPROC __glewMatrixMult3x2fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULT3X3FNVPROC __glewMatrixMult3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC __glewMatrixMultTranspose3x3fNV; +GLEW_FUN_EXPORT PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV; +GLEW_FUN_EXPORT PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHCOORDSNVPROC __glewPathCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV; +GLEW_FUN_EXPORT PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLPATHFOGGENNVPROC __glewPathFogGenNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHINDEXARRAYNVPROC __glewPathGlyphIndexArrayNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHINDEXRANGENVPROC __glewPathGlyphIndexRangeNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV; +GLEW_FUN_EXPORT PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC __glewPathMemoryGlyphIndexArrayNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV; +GLEW_FUN_EXPORT PFNGLPATHSTRINGNVPROC __glewPathStringNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHTEXGENNVPROC __glewPathTexGenNV; +GLEW_FUN_EXPORT PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC __glewProgramPathFragmentInputGenNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC __glewStencilThenCoverFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERFILLPATHNVPROC __glewStencilThenCoverFillPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC __glewStencilThenCoverStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC __glewStencilThenCoverStrokePathNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV; +GLEW_FUN_EXPORT PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV; + +GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; +GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV; + +GLEW_FUN_EXPORT PFNGLPOLYGONMODENVPROC __glewPolygonModeNV; + +GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV; + +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV; +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV; + +GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV; +GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV; +GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV; +GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV; + +GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewFramebufferSampleLocationsfvNV; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewNamedFramebufferSampleLocationsfvNV; + +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV; +GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV; + +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DNVPROC __glewCompressedTexImage3DNV; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DNVPROC __glewCompressedTexSubImage3DNV; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DNVPROC __glewCopyTexSubImage3DNV; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERNVPROC __glewFramebufferTextureLayerNV; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DNVPROC __glewTexImage3DNV; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DNVPROC __glewTexSubImage3DNV; + +GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV; + +GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV; +GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; + +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV; + +GLEW_FUN_EXPORT PFNGLVDPAUFININVPROC __glewVDPAUFiniNV; +GLEW_FUN_EXPORT PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV; +GLEW_FUN_EXPORT PFNGLVDPAUINITNVPROC __glewVDPAUInitNV; +GLEW_FUN_EXPORT PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV; + +GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV; + +GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV; +GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV; +GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV; +GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV; +GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV; +GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV; + +GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV; +GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV; +GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV; +GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV; +GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV; +GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV; +GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV; +GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV; +GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; + +GLEW_FUN_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV; +GLEW_FUN_EXPORT PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV; + +GLEW_FUN_EXPORT PFNGLDEPTHRANGEARRAYFVNVPROC __glewDepthRangeArrayfvNV; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEINDEXEDFNVPROC __glewDepthRangeIndexedfNV; +GLEW_FUN_EXPORT PFNGLDISABLEINVPROC __glewDisableiNV; +GLEW_FUN_EXPORT PFNGLENABLEINVPROC __glewEnableiNV; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VNVPROC __glewGetFloati_vNV; +GLEW_FUN_EXPORT PFNGLISENABLEDINVPROC __glewIsEnablediNV; +GLEW_FUN_EXPORT PFNGLSCISSORARRAYVNVPROC __glewScissorArrayvNV; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDNVPROC __glewScissorIndexedNV; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDVNVPROC __glewScissorIndexedvNV; +GLEW_FUN_EXPORT PFNGLVIEWPORTARRAYVNVPROC __glewViewportArrayvNV; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFNVPROC __glewViewportIndexedfNV; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFVNVPROC __glewViewportIndexedfvNV; + +GLEW_FUN_EXPORT PFNGLVIEWPORTSWIZZLENVPROC __glewViewportSwizzleNV; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC __glewFramebufferTextureMultiviewOVR; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC __glewFramebufferTextureMultisampleMultiviewOVR; + +GLEW_FUN_EXPORT PFNGLALPHAFUNCQCOMPROC __glewAlphaFuncQCOM; + +GLEW_FUN_EXPORT PFNGLDISABLEDRIVERCONTROLQCOMPROC __glewDisableDriverControlQCOM; +GLEW_FUN_EXPORT PFNGLENABLEDRIVERCONTROLQCOMPROC __glewEnableDriverControlQCOM; +GLEW_FUN_EXPORT PFNGLGETDRIVERCONTROLSTRINGQCOMPROC __glewGetDriverControlStringQCOM; +GLEW_FUN_EXPORT PFNGLGETDRIVERCONTROLSQCOMPROC __glewGetDriverControlsQCOM; + +GLEW_FUN_EXPORT PFNGLEXTGETBUFFERPOINTERVQCOMPROC __glewExtGetBufferPointervQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETBUFFERSQCOMPROC __glewExtGetBuffersQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETFRAMEBUFFERSQCOMPROC __glewExtGetFramebuffersQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETRENDERBUFFERSQCOMPROC __glewExtGetRenderbuffersQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC __glewExtGetTexLevelParameterivQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETTEXSUBIMAGEQCOMPROC __glewExtGetTexSubImageQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETTEXTURESQCOMPROC __glewExtGetTexturesQCOM; +GLEW_FUN_EXPORT PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC __glewExtTexObjectStateOverrideiQCOM; + +GLEW_FUN_EXPORT PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC __glewExtGetProgramBinarySourceQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETPROGRAMSQCOMPROC __glewExtGetProgramsQCOM; +GLEW_FUN_EXPORT PFNGLEXTGETSHADERSQCOMPROC __glewExtGetShadersQCOM; +GLEW_FUN_EXPORT PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC __glewFramebufferFetchBarrierQCOM; + +GLEW_FUN_EXPORT PFNGLENDTILINGQCOMPROC __glewEndTilingQCOM; +GLEW_FUN_EXPORT PFNGLSTARTTILINGQCOMPROC __glewStartTilingQCOM; + +GLEW_FUN_EXPORT PFNGLALPHAFUNCXPROC __glewAlphaFuncx; +GLEW_FUN_EXPORT PFNGLCLEARCOLORXPROC __glewClearColorx; +GLEW_FUN_EXPORT PFNGLCLEARDEPTHXPROC __glewClearDepthx; +GLEW_FUN_EXPORT PFNGLCOLOR4XPROC __glewColor4x; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEXPROC __glewDepthRangex; +GLEW_FUN_EXPORT PFNGLFOGXPROC __glewFogx; +GLEW_FUN_EXPORT PFNGLFOGXVPROC __glewFogxv; +GLEW_FUN_EXPORT PFNGLFRUSTUMFPROC __glewFrustumf; +GLEW_FUN_EXPORT PFNGLFRUSTUMXPROC __glewFrustumx; +GLEW_FUN_EXPORT PFNGLLIGHTMODELXPROC __glewLightModelx; +GLEW_FUN_EXPORT PFNGLLIGHTMODELXVPROC __glewLightModelxv; +GLEW_FUN_EXPORT PFNGLLIGHTXPROC __glewLightx; +GLEW_FUN_EXPORT PFNGLLIGHTXVPROC __glewLightxv; +GLEW_FUN_EXPORT PFNGLLINEWIDTHXPROC __glewLineWidthx; +GLEW_FUN_EXPORT PFNGLLOADMATRIXXPROC __glewLoadMatrixx; +GLEW_FUN_EXPORT PFNGLMATERIALXPROC __glewMaterialx; +GLEW_FUN_EXPORT PFNGLMATERIALXVPROC __glewMaterialxv; +GLEW_FUN_EXPORT PFNGLMULTMATRIXXPROC __glewMultMatrixx; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4XPROC __glewMultiTexCoord4x; +GLEW_FUN_EXPORT PFNGLNORMAL3XPROC __glewNormal3x; +GLEW_FUN_EXPORT PFNGLORTHOFPROC __glewOrthof; +GLEW_FUN_EXPORT PFNGLORTHOXPROC __glewOrthox; +GLEW_FUN_EXPORT PFNGLPOINTSIZEXPROC __glewPointSizex; +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETXPROC __glewPolygonOffsetx; +GLEW_FUN_EXPORT PFNGLROTATEXPROC __glewRotatex; +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEXPROC __glewSampleCoveragex; +GLEW_FUN_EXPORT PFNGLSCALEXPROC __glewScalex; +GLEW_FUN_EXPORT PFNGLTEXENVXPROC __glewTexEnvx; +GLEW_FUN_EXPORT PFNGLTEXENVXVPROC __glewTexEnvxv; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERXPROC __glewTexParameterx; +GLEW_FUN_EXPORT PFNGLTRANSLATEXPROC __glewTranslatex; + +GLEW_FUN_EXPORT PFNGLCLIPPLANEFPROC __glewClipPlanef; +GLEW_FUN_EXPORT PFNGLCLIPPLANEXPROC __glewClipPlanex; +GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFPROC __glewGetClipPlanef; +GLEW_FUN_EXPORT PFNGLGETCLIPPLANEXPROC __glewGetClipPlanex; +GLEW_FUN_EXPORT PFNGLGETFIXEDVPROC __glewGetFixedv; +GLEW_FUN_EXPORT PFNGLGETLIGHTXVPROC __glewGetLightxv; +GLEW_FUN_EXPORT PFNGLGETMATERIALXVPROC __glewGetMaterialxv; +GLEW_FUN_EXPORT PFNGLGETTEXENVXVPROC __glewGetTexEnvxv; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERXVPROC __glewGetTexParameterxv; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXPROC __glewPointParameterx; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXVPROC __glewPointParameterxv; +GLEW_FUN_EXPORT PFNGLPOINTSIZEPOINTEROESPROC __glewPointSizePointerOES; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERXVPROC __glewTexParameterxv; + +GLEW_FUN_EXPORT PFNGLERRORSTRINGREGALPROC __glewErrorStringREGAL; + +GLEW_FUN_EXPORT PFNGLGETEXTENSIONREGALPROC __glewGetExtensionREGAL; +GLEW_FUN_EXPORT PFNGLISSUPPORTEDREGALPROC __glewIsSupportedREGAL; + +GLEW_FUN_EXPORT PFNGLLOGMESSAGECALLBACKREGALPROC __glewLogMessageCallbackREGAL; + +GLEW_FUN_EXPORT PFNGLGETPROCADDRESSREGALPROC __glewGetProcAddressREGAL; + +GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS; +GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS; + +GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS; +GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS; + +GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS; +GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS; + +GLEW_FUN_EXPORT PFNGLINTERLEAVEDTEXTURECOORDSETSSGISPROC __glewInterleavedTextureCoordSetsSGIS; +GLEW_FUN_EXPORT PFNGLSELECTTEXTURECOORDSETSGISPROC __glewSelectTextureCoordSetSGIS; +GLEW_FUN_EXPORT PFNGLSELECTTEXTURESGISPROC __glewSelectTextureSGIS; +GLEW_FUN_EXPORT PFNGLSELECTTEXTURETRANSFORMSGISPROC __glewSelectTextureTransformSGIS; + +GLEW_FUN_EXPORT PFNGLMULTISAMPLESUBRECTPOSSGISPROC __glewMultisampleSubRectPosSGIS; + +GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS; +GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS; + +GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS; +GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS; + +GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX; +GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX; +GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX; +GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX; +GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX; +GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX; + +GLEW_FUN_EXPORT PFNGLADDRESSSPACEPROC __glewAddressSpace; +GLEW_FUN_EXPORT PFNGLDATAPIPEPROC __glewDataPipe; + +GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX; + +GLEW_FUN_EXPORT PFNGLFOGLAYERSSGIXPROC __glewFogLayersSGIX; +GLEW_FUN_EXPORT PFNGLGETFOGLAYERSSGIXPROC __glewGetFogLayersSGIX; + +GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX; + +GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX; + +GLEW_FUN_EXPORT PFNGLIGLOOINTERFACESGIXPROC __glewIglooInterfaceSGIX; + +GLEW_FUN_EXPORT PFNGLALLOCMPEGPREDICTORSSGIXPROC __glewAllocMPEGPredictorsSGIX; +GLEW_FUN_EXPORT PFNGLDELETEMPEGPREDICTORSSGIXPROC __glewDeleteMPEGPredictorsSGIX; +GLEW_FUN_EXPORT PFNGLGENMPEGPREDICTORSSGIXPROC __glewGenMPEGPredictorsSGIX; +GLEW_FUN_EXPORT PFNGLGETMPEGPARAMETERFVSGIXPROC __glewGetMPEGParameterfvSGIX; +GLEW_FUN_EXPORT PFNGLGETMPEGPARAMETERIVSGIXPROC __glewGetMPEGParameterivSGIX; +GLEW_FUN_EXPORT PFNGLGETMPEGPREDICTORSGIXPROC __glewGetMPEGPredictorSGIX; +GLEW_FUN_EXPORT PFNGLGETMPEGQUANTTABLEUBVPROC __glewGetMPEGQuantTableubv; +GLEW_FUN_EXPORT PFNGLISMPEGPREDICTORSGIXPROC __glewIsMPEGPredictorSGIX; +GLEW_FUN_EXPORT PFNGLMPEGPREDICTORSGIXPROC __glewMPEGPredictorSGIX; +GLEW_FUN_EXPORT PFNGLMPEGQUANTTABLEUBVPROC __glewMPEGQuantTableubv; +GLEW_FUN_EXPORT PFNGLSWAPMPEGPREDICTORSSGIXPROC __glewSwapMPEGPredictorsSGIX; + +GLEW_FUN_EXPORT PFNGLGETNONLINLIGHTFVSGIXPROC __glewGetNonlinLightfvSGIX; +GLEW_FUN_EXPORT PFNGLGETNONLINMATERIALFVSGIXPROC __glewGetNonlinMaterialfvSGIX; +GLEW_FUN_EXPORT PFNGLNONLINLIGHTFVSGIXPROC __glewNonlinLightfvSGIX; +GLEW_FUN_EXPORT PFNGLNONLINMATERIALFVSGIXPROC __glewNonlinMaterialfvSGIX; + +GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX; + +GLEW_FUN_EXPORT PFNGLDEFORMSGIXPROC __glewDeformSGIX; +GLEW_FUN_EXPORT PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC __glewLoadIdentityDeformationMapSGIX; + +GLEW_FUN_EXPORT PFNGLMESHBREADTHSGIXPROC __glewMeshBreadthSGIX; +GLEW_FUN_EXPORT PFNGLMESHSTRIDESGIXPROC __glewMeshStrideSGIX; + +GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX; + +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX; + +GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX; + +GLEW_FUN_EXPORT PFNGLGETVECTOROPERATIONSGIXPROC __glewGetVectorOperationSGIX; +GLEW_FUN_EXPORT PFNGLVECTOROPERATIONSGIXPROC __glewVectorOperationSGIX; + +GLEW_FUN_EXPORT PFNGLAREVERTEXARRAYSRESIDENTSGIXPROC __glewAreVertexArraysResidentSGIX; +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYSGIXPROC __glewBindVertexArraySGIX; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSSGIXPROC __glewDeleteVertexArraysSGIX; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSSGIXPROC __glewGenVertexArraysSGIX; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYSGIXPROC __glewIsVertexArraySGIX; +GLEW_FUN_EXPORT PFNGLPRIORITIZEVERTEXARRAYSSGIXPROC __glewPrioritizeVertexArraysSGIX; + +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI; +GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI; +GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI; + +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVSGIPROC __glewGetPixelTransformParameterfvSGI; +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVSGIPROC __glewGetPixelTransformParameterivSGI; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFSGIPROC __glewPixelTransformParameterfSGI; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVSGIPROC __glewPixelTransformParameterfvSGI; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERISGIPROC __glewPixelTransformParameteriSGI; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVSGIPROC __glewPixelTransformParameterivSGI; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMSGIPROC __glewPixelTransformSGI; + +GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX; + +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN; + +GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN; + +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN; + +GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN; + +GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_4; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_5; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_6; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_blend_minmax_factor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_compressed_3DC_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_compressed_ATC_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_depth_clamp_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_framebuffer_sample_positions; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gcn_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gpu_shader_half_float; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gpu_shader_int16; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gpu_shader_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_interleaved_elements; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_name_gen_delete; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_occlusion_query_event; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_pinned_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_program_binary_Z400; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_query_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sample_positions; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_atomic_counter_ops; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_ballot; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_explicit_vertex_parameter; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_value_export; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_trinary_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sparse_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_stencil_operation_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_gather_bias_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback3_lines_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback4; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_layer; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_viewport_index; +GLEW_VAR_EXPORT GLboolean __GLEW_ANDROID_extension_pack_es31a; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_blit; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_pack_reverse_row_order; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt1; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt3; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt5; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_usage; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_translated_shader_source; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_clip_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_color_buffer_packed_float; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_copy_texture_levels; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_sync; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_2D_limited_npot; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_format_BGRA8888; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_max_level; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_packed_float; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES2_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_1_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_2_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_arrays_of_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_base_instance; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_bindless_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_buffer_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cl_event; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clip_control; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compressed_texture_pixel_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_variable_group_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conditional_render_inverted; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_image; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cull_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_derivative_control; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_direct_state_access; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_enhanced_layouts; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_uniform_location; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_layer_viewport; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader_interlock; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_no_attachments; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_texture_sub_image; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gl_spirv; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_indirect_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_invalidate_subdata; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_alignment; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_bind; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_parallel_shader_compile; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pipeline_statistics_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_polygon_offset_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_post_depth_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_program_interface_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_query_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robust_buffer_access_behavior; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_application_isolation; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_share_group_isolation; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_locations; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cubemap_per_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_separate_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counter_ops; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_ballot; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_clock; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_draw_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_group_vote; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_load_store; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_precision; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_storage_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_image_samples; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_viewport_layer_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_420pack; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_packing; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_spirv_extensions; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_stencil_texturing; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_barrier; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_filter_anisotropic; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_filter_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirror_clamp_to_edge; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_levels; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_stencil8; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_view; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_overflow_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_binding; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_10f_11f_11f_rev; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_viewport_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos; +GLEW_VAR_EXPORT GLboolean __GLEW_ARM_mali_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ARM_mali_shader_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ARM_rgba8; +GLEW_VAR_EXPORT GLboolean __GLEW_ARM_shader_framebuffer_fetch; +GLEW_VAR_EXPORT GLboolean __GLEW_ARM_shader_framebuffer_fetch_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams; +GLEW_VAR_EXPORT GLboolean __GLEW_EGL_KHR_context_flush_control; +GLEW_VAR_EXPORT GLboolean __GLEW_EGL_NV_robustness_video_memory_purge; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_EGL_image_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_YUV_target; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_base_instance; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_buffer_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clear_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_cull_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_buffer_half_float; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compressed_ETC1_RGB8_sub_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_image; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_debug_label; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_debug_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_discard_framebuffer; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers_indexed; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_elements_base_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_external_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_float_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_frag_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_point_size; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_map_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_memory_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_memory_object_fd; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_memory_object_win32; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multiple_textures; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisampled_render_to_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisampled_render_to_texture2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multiview_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_post_depth_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pvrtc_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_raster_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_read_format_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_render_snorm; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_sRGB_write_control; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_semaphore; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_semaphore_fd; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_semaphore_win32; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_framebuffer_fetch; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_group_vote; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_formatted; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_implicit_conversions; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_integer_mix; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_io_blocks; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_non_constant_global_initializers; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_pixel_local_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_pixel_local_storage2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_samplers; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_sparse_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_sparse_texture2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_astc_decode_mode; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_astc_decode_mode_rgb9e5; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_bptc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_format_BGRA8888; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_norm16; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rg; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_R8; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_RG8; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_decode; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_type_2_10_10_10_REV; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_view; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_unpack_subimage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_setXXX; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_win32_keyed_mutex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_window_rectangles; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_x11_sync_object; +GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; +GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists; +GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_conservative_rasterization; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_fragment_shader_ordering; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_framebuffer_CMAA; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_map_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_performance_query; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_blend_equation_advanced; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_blend_equation_advanced_coherent; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_context_flush_control; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_debug; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_no_error; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_parallel_shader_compile; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_robust_buffer_access_behavior; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_robustness; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_hdr; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_ldr; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_sliced_3d; +GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region; +GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_shader_integer_functions; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_blend_equation_advanced_multi_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_conditional_render; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_gpu_memory_info; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_linked_gpu_multicast; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_3dvision_settings; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_EGL_stream_consumer_external; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_alpha_to_coverage_dither_control; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bgr; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_multi_draw_indirect_count; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced_coherent; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_minmax_factor; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_clip_space_w_scaling; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_command_list; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_compute_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conservative_raster; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conservative_raster_dilate; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conservative_raster_pre_snap_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_deep_texture3D; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_vulkan_image; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_attrib_location; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fbo_color_attachments; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fill_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_coverage_to_color; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_shader_interlock; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_blit; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_mixed_samples; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_generate_mipmap_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader_passthrough; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_multicast; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5_mem_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_image_formats; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_internalformat_sample_query; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_non_square_matrices; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_pack_subimage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_float_linear; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering_shared_edge; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_platform_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_polygon_mode; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_read_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_read_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_read_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_robustness_video_memory_purge; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_sRGB_formats; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_sample_locations; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_sample_mask_override_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_counters; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_float64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_fp16_vector; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_noperspective_interpolation; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_storage_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_thread_group; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_thread_shuffle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shadow_samplers_array; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shadow_samplers_cube; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_stereo_view_rendering; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_array; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_latc; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_s3tc; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_s3tc_update; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_npot_2D_mipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle_compressed; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_uniform_buffer_unified_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vdpau_interop; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_video_capture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_viewport_array; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_viewport_array2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_viewport_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample; +GLEW_VAR_EXPORT GLboolean __GLEW_OVR_multiview; +GLEW_VAR_EXPORT GLboolean __GLEW_OVR_multiview2; +GLEW_VAR_EXPORT GLboolean __GLEW_OVR_multiview_multisampled_render_to_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints; +GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_alpha_test; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_binning_control; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_driver_control; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_extended_get; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_extended_get2; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_framebuffer_foveated; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_perfmon_global_mode; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_shader_framebuffer_fetch_noncoherent; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_tiled_rendering; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_writeonly_rendering; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_0_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_1_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_enable; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_error_string; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_extension_query; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_log; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_proc_address; +GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates; +GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_clip_band_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_line_texgen; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multitexture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_shared_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_bali_g_instruments; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_bali_r_instruments; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_bali_timer_instruments; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_cadd; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_cmultiply; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_calligraphic_fragment; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_color_matrix_accuracy; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_color_table_index_mode; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_complex_polar; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_cylinder_texgen; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_datapipe; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_decimation; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_pass_instrument; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_dvc; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_factor_to_alpha; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_layers; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_patchy; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_scale; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_lighting_space; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragments_instrument; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_icc_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_igloo_interface; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_image_compression; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_impact_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_instrument_error; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_line_quality_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_mpeg1; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_mpeg2; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_nonlinear_lighting_pervertex; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_nurbs_eval; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_occlusion_instrument; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_packed_6bytes; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_tiles; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_polynomial_ffd; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_quad_mesh; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_scalebias_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_slim; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_spotlight_cutoff; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_subdiv_patch; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_subsample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_mipmap_anisotropic; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_phase; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_supersample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vector_ops; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb_subsample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcba; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_complex; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_complex_type; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_fft; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_scene_markerXXX; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint; +/* ------------------------------------------------------------------------- */ + +/* error codes */ +#define GLEW_OK 0 +#define GLEW_NO_ERROR 0 +#define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */ +#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* Need at least OpenGL 1.1 */ +#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* Need at least GLX 1.2 */ +#define GLEW_ERROR_NO_GLX_DISPLAY 4 /* Need GLX display for GLX support */ + +/* string codes */ +#define GLEW_VERSION 1 +#define GLEW_VERSION_MAJOR 2 +#define GLEW_VERSION_MINOR 3 +#define GLEW_VERSION_MICRO 4 + +/* ------------------------------------------------------------------------- */ + +/* GLEW version info */ + +/* +VERSION 2.1.0 +VERSION_MAJOR 2 +VERSION_MINOR 1 +VERSION_MICRO 0 +*/ + +/* API */ +GLEWAPI GLenum GLEWAPIENTRY glewInit (void); +GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name); +#define glewIsExtensionSupported(x) glewIsSupported(x) + +#ifndef GLEW_GET_VAR +#define GLEW_GET_VAR(x) (*(const GLboolean*)&x) +#endif + +#ifndef GLEW_GET_FUN +#define GLEW_GET_FUN(x) x +#endif + +GLEWAPI GLboolean glewExperimental; +GLEWAPI GLboolean GLEWAPIENTRY glewGetExtension (const char *name); +GLEWAPI const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error); +GLEWAPI const GLubyte * GLEWAPIENTRY glewGetString (GLenum name); + +#ifdef __cplusplus +} +#endif + +#ifdef GLEW_APIENTRY_DEFINED +#undef GLEW_APIENTRY_DEFINED +#undef APIENTRY +#endif + +#ifdef GLEW_CALLBACK_DEFINED +#undef GLEW_CALLBACK_DEFINED +#undef CALLBACK +#endif + +#ifdef GLEW_WINGDIAPI_DEFINED +#undef GLEW_WINGDIAPI_DEFINED +#undef WINGDIAPI +#endif + +#undef GLAPI +/* #undef GLEWAPI */ + +#endif /* __glew_h__ */ diff --git a/msvc/glewinfo.c b/msvc/glewinfo.c new file mode 100644 index 0000000000..882654d64e --- /dev/null +++ b/msvc/glewinfo.c @@ -0,0 +1,16881 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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. +*/ + +#include +#include +#include +#include +#if defined(GLEW_EGL) +#include +#elif defined(GLEW_OSMESA) +#define GLAPI extern +#include +#elif defined(_WIN32) +#include +#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX) +#include +#endif + +#if defined(__APPLE__) +#include +#endif + +#ifdef GLEW_REGAL +#include +#endif + +static FILE* f; + +/* Command-line parameters for GL context creation */ + +struct createParams +{ +#if defined(GLEW_OSMESA) +#elif defined(GLEW_EGL) +#elif defined(_WIN32) + int pixelformat; +#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX) + const char* display; + int visual; +#endif + int major, minor; /* GL context version number */ + + /* https://www.opengl.org/registry/specs/ARB/glx_create_context.txt */ + int profile; /* core = 1, compatibility = 2 */ + int flags; /* debug = 1, forward compatible = 2 */ +}; + +GLboolean glewCreateContext (struct createParams *params); + +GLboolean glewParseArgs (int argc, char** argv, struct createParams *); + +void glewDestroyContext (); + +/* ------------------------------------------------------------------------- */ + +static void glewPrintExt (const char* name, GLboolean def1, GLboolean def2, GLboolean def3) +{ + unsigned int i; + fprintf(f, "\n%s:", name); + for (i=0; i<62-strlen(name); i++) fprintf(f, " "); + fprintf(f, "%s ", def1 ? "OK" : "MISSING"); + if (def1 != def2) + fprintf(f, "[%s] ", def2 ? "OK" : "MISSING"); + if (def1 != def3) + fprintf(f, "[%s]\n", def3 ? "OK" : "MISSING"); + else + fprintf(f, "\n"); + for (i=0; i] " +#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) + "[-display ] " + "[-visual ] " +#endif + "[-version ] " + "[-profile core|compatibility] " + "[-flag debug|forward]" + "\n"); + return 1; + } + + if (GL_TRUE == glewCreateContext(¶ms)) + { + fprintf(stderr, "Error: glewCreateContext failed\n"); + glewDestroyContext(); + return 1; + } + glewExperimental = GL_TRUE; + err = glewInit(); + if (GLEW_OK != err) + { + fprintf(stderr, "Error [main]: glewInit failed: %s\n", glewGetErrorString(err)); + glewDestroyContext(); + return 1; + } + +#if defined(GLEW_EGL) + getString = (PFNGLGETSTRINGPROC) eglGetProcAddress("glGetString"); + if (!getString) + { + fprintf(stderr, "Error: eglGetProcAddress failed to fetch glGetString\n"); + glewDestroyContext(); + return 1; + } +#endif + +#if defined(_WIN32) +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + if (fopen_s(&f, "glewinfo.txt", "w") != 0) + f = stdout; +#else + f = fopen("glewinfo.txt", "w"); +#endif + if (f == NULL) f = stdout; +#else + f = stdout; +#endif + fprintf(f, "---------------------------\n"); + fprintf(f, " GLEW Extension Info\n"); + fprintf(f, "---------------------------\n\n"); + fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION)); +#if defined(GLEW_OSMESA) +#elif defined(GLEW_EGL) +#elif defined(_WIN32) + fprintf(f, "Reporting capabilities of pixelformat %d\n", params.pixelformat); +#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) + fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n", + params.display == NULL ? getenv("DISPLAY") : params.display, params.visual); +#endif +#if defined(GLEW_EGL) + fprintf(f, "Running on a %s from %s\n", + getString(GL_RENDERER), getString(GL_VENDOR)); + fprintf(f, "OpenGL version %s is supported\n", getString(GL_VERSION)); +#else + fprintf(f, "Running on a %s from %s\n", + glGetString(GL_RENDERER), glGetString(GL_VENDOR)); + fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION)); +#endif + glewInfo(); +#if defined(GLEW_OSMESA) +#elif defined(GLEW_EGL) + eglewInfo(); +#elif defined(_WIN32) + wglewInfo(); +#else + glxewInfo(); +#endif + if (f != stdout) fclose(f); + glewDestroyContext(); + return 0; +} + +/* ------------------------------------------------------------------------ */ + +GLboolean glewParseArgs (int argc, char** argv, struct createParams *params) +{ + int p = 0; + while (p < argc) + { + if (!strcmp(argv[p], "-version")) + { + if (++p >= argc) return GL_TRUE; + if (sscanf(argv[p++], "%d.%d", ¶ms->major, ¶ms->minor) != 2) return GL_TRUE; + } + else if (!strcmp(argv[p], "-profile")) + { + if (++p >= argc) return GL_TRUE; + if (strcmp("core", argv[p]) == 0) params->profile |= 1; + else if (strcmp("compatibility",argv[p]) == 0) params->profile |= 2; + else return GL_TRUE; + ++p; + } + else if (!strcmp(argv[p], "-flag")) + { + if (++p >= argc) return GL_TRUE; + if (strcmp("debug", argv[p]) == 0) params->flags |= 1; + else if (strcmp("forward",argv[p]) == 0) params->flags |= 2; + else return GL_TRUE; + ++p; + } +#if defined(GLEW_OSMESA) +#elif defined(GLEW_EGL) +#elif defined(_WIN32) + else if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat")) + { + if (++p >= argc) return GL_TRUE; + params->pixelformat = strtol(argv[p++], NULL, 0); + } +#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) + else if (!strcmp(argv[p], "-display")) + { + if (++p >= argc) return GL_TRUE; + params->display = argv[p++]; + } + else if (!strcmp(argv[p], "-visual")) + { + if (++p >= argc) return GL_TRUE; + params->visual = (int)strtol(argv[p++], NULL, 0); + } +#endif + else + return GL_TRUE; + } + return GL_FALSE; +} + +/* ------------------------------------------------------------------------ */ + +#if defined(GLEW_EGL) +EGLDisplay display; +EGLContext ctx; + +/* See: http://stackoverflow.com/questions/12662227/opengl-es2-0-offscreen-context-for-fbo-rendering */ + +GLboolean glewCreateContext (struct createParams *params) +{ + EGLDeviceEXT devices[1]; + EGLint numDevices; + EGLSurface surface; + EGLint majorVersion, minorVersion; + EGLint configAttribs[] = { + EGL_SURFACE_TYPE, EGL_WINDOW_BIT, + EGL_RED_SIZE, 1, + EGL_GREEN_SIZE, 1, + EGL_BLUE_SIZE, 1, + EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT, + EGL_NONE + }; + static const EGLint contextAttribs[] = { + EGL_CONTEXT_CLIENT_VERSION, 2, + EGL_NONE + }; + static const EGLint pBufferAttribs[] = { + EGL_WIDTH, 128, + EGL_HEIGHT, 128, + EGL_NONE + }; + EGLConfig config; + EGLint numConfig; + EGLBoolean pBuffer; + + PFNEGLQUERYDEVICESEXTPROC queryDevices = NULL; + PFNEGLGETPLATFORMDISPLAYEXTPROC getPlatformDisplay = NULL; + PFNEGLGETERRORPROC getError = NULL; + PFNEGLGETDISPLAYPROC getDisplay = NULL; + PFNEGLINITIALIZEPROC initialize = NULL; + PFNEGLBINDAPIPROC bindAPI = NULL; + PFNEGLCHOOSECONFIGPROC chooseConfig = NULL; + PFNEGLCREATEWINDOWSURFACEPROC createWindowSurface = NULL; + PFNEGLCREATECONTEXTPROC createContext = NULL; + PFNEGLMAKECURRENTPROC makeCurrent = NULL; + PFNEGLCREATEPBUFFERSURFACEPROC createPbufferSurface = NULL; + + /* Load necessary entry points */ + queryDevices = (PFNEGLQUERYDEVICESEXTPROC) eglGetProcAddress("eglQueryDevicesEXT"); + getPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress("eglGetPlatformDisplayEXT"); + getError = (PFNEGLGETERRORPROC) eglGetProcAddress("eglGetError"); + getDisplay = (PFNEGLGETDISPLAYPROC) eglGetProcAddress("eglGetDisplay"); + initialize = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize"); + bindAPI = (PFNEGLBINDAPIPROC) eglGetProcAddress("eglBindAPI"); + chooseConfig = (PFNEGLCHOOSECONFIGPROC) eglGetProcAddress("eglChooseConfig"); + createWindowSurface = (PFNEGLCREATEWINDOWSURFACEPROC) eglGetProcAddress("eglCreateWindowSurface"); + createPbufferSurface = (PFNEGLCREATEPBUFFERSURFACEPROC) eglGetProcAddress("eglCreatePbufferSurface"); + createContext = (PFNEGLCREATECONTEXTPROC) eglGetProcAddress("eglCreateContext"); + makeCurrent = (PFNEGLMAKECURRENTPROC) eglGetProcAddress("eglMakeCurrent"); + if (!getError || !getDisplay || !initialize || !bindAPI || !chooseConfig || !createWindowSurface || !createContext || !makeCurrent) + return GL_TRUE; + + pBuffer = 0; + display = EGL_NO_DISPLAY; + if (queryDevices && getPlatformDisplay) + { + queryDevices(1, devices, &numDevices); + if (numDevices==1) + { + /* Nvidia EGL doesn't need X11 for p-buffer surface */ + display = getPlatformDisplay(EGL_PLATFORM_DEVICE_EXT, devices[0], 0); + configAttribs[1] = EGL_PBUFFER_BIT; + pBuffer = 1; + } + } + if (display==EGL_NO_DISPLAY) + { + /* Fall-back to X11 surface, works on Mesa */ + display = getDisplay(EGL_DEFAULT_DISPLAY); + } + if (display == EGL_NO_DISPLAY) + return GL_TRUE; + + eglewInit(display); + + if (bindAPI(EGL_OPENGL_API) != EGL_TRUE) + return GL_TRUE; + + if (chooseConfig(display, configAttribs, &config, 1, &numConfig) != EGL_TRUE || (numConfig != 1)) + return GL_TRUE; + + ctx = createContext(display, config, EGL_NO_CONTEXT, pBuffer ? contextAttribs : NULL); + if (NULL == ctx) + return GL_TRUE; + + surface = EGL_NO_SURFACE; + /* Create a p-buffer surface if possible */ + if (pBuffer && createPbufferSurface) + { + surface = createPbufferSurface(display, config, pBufferAttribs); + } + /* Create a generic surface without a native window, if necessary */ + if (surface==EGL_NO_SURFACE) + { + surface = createWindowSurface(display, config, (EGLNativeWindowType) NULL, NULL); + } +#if 0 + if (surface == EGL_NO_SURFACE) + return GL_TRUE; +#endif + + if (makeCurrent(display, surface, surface, ctx) != EGL_TRUE) + return GL_TRUE; + + return GL_FALSE; +} + +void glewDestroyContext () +{ + if (NULL != ctx) eglDestroyContext(display, ctx); +} + +#elif defined(GLEW_OSMESA) +OSMesaContext ctx; + +static const GLint osmFormat = GL_UNSIGNED_BYTE; +static const GLint osmWidth = 640; +static const GLint osmHeight = 480; +static GLubyte *osmPixels = NULL; + +GLboolean glewCreateContext (struct createParams *params) +{ + ctx = OSMesaCreateContext(OSMESA_RGBA, NULL); + if (NULL == ctx) return GL_TRUE; + if (NULL == osmPixels) + { + osmPixels = (GLubyte *) calloc(osmWidth*osmHeight*4, 1); + } + if (!OSMesaMakeCurrent(ctx, osmPixels, GL_UNSIGNED_BYTE, osmWidth, osmHeight)) + { + return GL_TRUE; + } + return GL_FALSE; +} + +void glewDestroyContext () +{ + if (NULL != ctx) OSMesaDestroyContext(ctx); +} + +#elif defined(_WIN32) + +HWND wnd = NULL; +HDC dc = NULL; +HGLRC rc = NULL; + +GLboolean glewCreateContext (struct createParams* params) +{ + WNDCLASS wc; + PIXELFORMATDESCRIPTOR pfd; + /* register window class */ + ZeroMemory(&wc, sizeof(WNDCLASS)); + wc.hInstance = GetModuleHandle(NULL); + wc.lpfnWndProc = DefWindowProc; + wc.lpszClassName = "GLEW"; + if (0 == RegisterClass(&wc)) return GL_TRUE; + /* create window */ + wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL); + if (NULL == wnd) return GL_TRUE; + /* get the device context */ + dc = GetDC(wnd); + if (NULL == dc) return GL_TRUE; + /* find pixel format */ + ZeroMemory(&pfd, sizeof(PIXELFORMATDESCRIPTOR)); + if (params->pixelformat == -1) /* find default */ + { + pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); + pfd.nVersion = 1; + pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL; + params->pixelformat = ChoosePixelFormat(dc, &pfd); + if (params->pixelformat == 0) return GL_TRUE; + } + /* set the pixel format for the dc */ + if (FALSE == SetPixelFormat(dc, params->pixelformat, &pfd)) return GL_TRUE; + /* create rendering context */ + rc = wglCreateContext(dc); + if (NULL == rc) return GL_TRUE; + if (FALSE == wglMakeCurrent(dc, rc)) return GL_TRUE; + if (params->major || params->profile || params->flags) + { + HGLRC oldRC = rc; + int contextAttrs[20]; + int i; + + wglewInit(); + + /* Intel HD 3000 has WGL_ARB_create_context, but not WGL_ARB_create_context_profile */ + if (!wglewGetExtension("WGL_ARB_create_context")) + return GL_TRUE; + + i = 0; + if (params->major) + { + contextAttrs[i++] = WGL_CONTEXT_MAJOR_VERSION_ARB; + contextAttrs[i++] = params->major; + contextAttrs[i++] = WGL_CONTEXT_MINOR_VERSION_ARB; + contextAttrs[i++] = params->minor; + } + if (params->profile) + { + contextAttrs[i++] = WGL_CONTEXT_PROFILE_MASK_ARB; + contextAttrs[i++] = params->profile; + } + if (params->flags) + { + contextAttrs[i++] = WGL_CONTEXT_FLAGS_ARB; + contextAttrs[i++] = params->flags; + } + contextAttrs[i++] = 0; + rc = wglCreateContextAttribsARB(dc, 0, contextAttrs); + + if (NULL == rc) return GL_TRUE; + if (!wglMakeCurrent(dc, rc)) return GL_TRUE; + + wglDeleteContext(oldRC); + } + return GL_FALSE; +} + +void glewDestroyContext () +{ + if (NULL != rc) wglMakeCurrent(NULL, NULL); + if (NULL != rc) wglDeleteContext(rc); + if (NULL != wnd && NULL != dc) ReleaseDC(wnd, dc); + if (NULL != wnd) DestroyWindow(wnd); + UnregisterClass("GLEW", GetModuleHandle(NULL)); +} + +/* ------------------------------------------------------------------------ */ + +#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) + +#include +#include + +CGLContextObj ctx, octx; + +GLboolean glewCreateContext (struct createParams *params) +{ + CGLPixelFormatAttribute contextAttrs[20]; + int i; + CGLPixelFormatObj pf; + GLint npix; + CGLError error; + + i = 0; + contextAttrs[i++] = kCGLPFAAccelerated; /* No software rendering */ + + /* MAC_OS_X_VERSION_10_7 == 1070 */ + #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 + if (params->profile & GL_CONTEXT_CORE_PROFILE_BIT) + { + if ((params->major==3 && params->minor>=2) || params->major>3) + { + contextAttrs[i++] = kCGLPFAOpenGLProfile; /* OSX 10.7 Lion onwards */ + contextAttrs[i++] = (CGLPixelFormatAttribute) kCGLOGLPVersion_3_2_Core; /* 3.2 Core Context */ + } + } + #endif + + contextAttrs[i++] = 0; + + error = CGLChoosePixelFormat(contextAttrs, &pf, &npix); + if (error) return GL_TRUE; + error = CGLCreateContext(pf, NULL, &ctx); + if (error) return GL_TRUE; + CGLReleasePixelFormat(pf); + octx = CGLGetCurrentContext(); + error = CGLSetCurrentContext(ctx); + if (error) return GL_TRUE; + /* Needed for Regal on the Mac */ + #if defined(GLEW_REGAL) && defined(__APPLE__) + RegalMakeCurrent(ctx); + #endif + return GL_FALSE; +} + +void glewDestroyContext () +{ + CGLSetCurrentContext(octx); + CGLReleaseContext(ctx); +} + +/* ------------------------------------------------------------------------ */ + +#elif defined(__HAIKU__) + +GLboolean glewCreateContext (struct createParams *params) +{ + /* TODO: Haiku: We need to call C++ code here */ + return GL_FALSE; +} + +void glewDestroyContext () +{ + /* TODO: Haiku: We need to call C++ code here */ +} + +/* ------------------------------------------------------------------------ */ + +#else /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */ + +Display* dpy = NULL; +XVisualInfo* vi = NULL; +XVisualInfo* vis = NULL; +GLXContext ctx = NULL; +Window wnd = 0; +Colormap cmap = 0; + +GLboolean glewCreateContext (struct createParams *params) +{ + int attrib[] = { GLX_RGBA, GLX_DOUBLEBUFFER, None }; + int erb, evb; + XSetWindowAttributes swa; + /* open display */ + dpy = XOpenDisplay(params->display); + if (NULL == dpy) return GL_TRUE; + /* query for glx */ + if (!glXQueryExtension(dpy, &erb, &evb)) return GL_TRUE; + /* choose visual */ + if (params->visual == -1) + { + vi = glXChooseVisual(dpy, DefaultScreen(dpy), attrib); + if (NULL == vi) return GL_TRUE; + params->visual = (int)XVisualIDFromVisual(vi->visual); + } + else + { + int n_vis, i; + vis = XGetVisualInfo(dpy, 0, NULL, &n_vis); + for (i=0; ivisual) + vi = &vis[i]; + } + if (vi == NULL) return GL_TRUE; + } + /* create context */ + ctx = glXCreateContext(dpy, vi, None, True); + if (NULL == ctx) return GL_TRUE; + /* create window */ + /*wnd = XCreateSimpleWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, 1, 1, 1, 0, 0);*/ + cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone); + swa.border_pixel = 0; + swa.colormap = cmap; + wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen), + 0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual, + CWBorderPixel | CWColormap, &swa); + /* make context current */ + if (!glXMakeCurrent(dpy, wnd, ctx)) return GL_TRUE; + if (params->major || params->profile || params->flags) + { + GLXContext oldCtx = ctx; + GLXFBConfig *FBConfigs; + int FBConfigAttrs[] = { GLX_FBCONFIG_ID, 0, None }; + int contextAttrs[20]; + int nelems, i; + + glxewInit(); + + if (!glxewGetExtension("GLX_ARB_create_context")) + return GL_TRUE; + + if (glXQueryContext(dpy, oldCtx, GLX_FBCONFIG_ID, &FBConfigAttrs[1])) + return GL_TRUE; + FBConfigs = glXChooseFBConfig(dpy, vi->screen, FBConfigAttrs, &nelems); + + if (nelems < 1) + return GL_TRUE; + + i = 0; + if (params->major) + { + contextAttrs[i++] = GLX_CONTEXT_MAJOR_VERSION_ARB; + contextAttrs[i++] = params->major; + contextAttrs[i++] = GLX_CONTEXT_MINOR_VERSION_ARB; + contextAttrs[i++] = params->minor; + } + if (params->profile) + { + contextAttrs[i++] = GLX_CONTEXT_PROFILE_MASK_ARB; + contextAttrs[i++] = params->profile; + } + if (params->flags) + { + contextAttrs[i++] = GLX_CONTEXT_FLAGS_ARB; + contextAttrs[i++] = params->flags; + } + contextAttrs[i++] = None; + ctx = glXCreateContextAttribsARB(dpy, *FBConfigs, NULL, True, contextAttrs); + + if (NULL == ctx) return GL_TRUE; + if (!glXMakeCurrent(dpy, wnd, ctx)) return GL_TRUE; + + glXDestroyContext(dpy, oldCtx); + + XFree(FBConfigs); + } + return GL_FALSE; +} + +void glewDestroyContext () +{ + if (NULL != dpy && NULL != ctx) glXDestroyContext(dpy, ctx); + if (NULL != dpy && 0 != wnd) XDestroyWindow(dpy, wnd); + if (NULL != dpy && 0 != cmap) XFreeColormap(dpy, cmap); + if (NULL != vis) + XFree(vis); + else if (NULL != vi) + XFree(vi); + if (NULL != dpy) XCloseDisplay(dpy); +} + +#endif /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */ diff --git a/msvc/glxew.h b/msvc/glxew.h new file mode 100644 index 0000000000..7e39c2fd98 --- /dev/null +++ b/msvc/glxew.h @@ -0,0 +1,1775 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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. +*/ + +/* + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __glxew_h__ +#define __glxew_h__ +#define __GLXEW_H__ + +#ifdef __glxext_h_ +#error glxext.h included before glxew.h +#endif + +#if defined(GLX_H) || defined(__GLX_glx_h__) || defined(__glx_h__) +#error glx.h included before glxew.h +#endif + +#define __glxext_h_ + +#define GLX_H +#define __GLX_glx_h__ +#define __glx_h__ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------- GLX_VERSION_1_0 --------------------------- */ + +#ifndef GLX_VERSION_1_0 +#define GLX_VERSION_1_0 1 + +#define GLX_USE_GL 1 +#define GLX_BUFFER_SIZE 2 +#define GLX_LEVEL 3 +#define GLX_RGBA 4 +#define GLX_DOUBLEBUFFER 5 +#define GLX_STEREO 6 +#define GLX_AUX_BUFFERS 7 +#define GLX_RED_SIZE 8 +#define GLX_GREEN_SIZE 9 +#define GLX_BLUE_SIZE 10 +#define GLX_ALPHA_SIZE 11 +#define GLX_DEPTH_SIZE 12 +#define GLX_STENCIL_SIZE 13 +#define GLX_ACCUM_RED_SIZE 14 +#define GLX_ACCUM_GREEN_SIZE 15 +#define GLX_ACCUM_BLUE_SIZE 16 +#define GLX_ACCUM_ALPHA_SIZE 17 +#define GLX_BAD_SCREEN 1 +#define GLX_BAD_ATTRIBUTE 2 +#define GLX_NO_EXTENSION 3 +#define GLX_BAD_VISUAL 4 +#define GLX_BAD_CONTEXT 5 +#define GLX_BAD_VALUE 6 +#define GLX_BAD_ENUM 7 + +typedef XID GLXDrawable; +typedef XID GLXPixmap; +#ifdef __sun +typedef struct __glXContextRec *GLXContext; +#else +typedef struct __GLXcontextRec *GLXContext; +#endif + +typedef unsigned int GLXVideoDeviceNV; + +extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase); +extern Bool glXQueryVersion (Display *dpy, int *major, int *minor); +extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value); +extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList); +extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap); +extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix); +extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct); +extern void glXDestroyContext (Display *dpy, GLXContext ctx); +extern Bool glXIsDirect (Display *dpy, GLXContext ctx); +extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask); +extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx); +extern GLXContext glXGetCurrentContext (void); +extern GLXDrawable glXGetCurrentDrawable (void); +extern void glXWaitGL (void); +extern void glXWaitX (void); +extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable); +extern void glXUseXFont (Font font, int first, int count, int listBase); + +#define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0) + +#endif /* GLX_VERSION_1_0 */ + +/* ---------------------------- GLX_VERSION_1_1 --------------------------- */ + +#ifndef GLX_VERSION_1_1 +#define GLX_VERSION_1_1 + +#define GLX_VENDOR 0x1 +#define GLX_VERSION 0x2 +#define GLX_EXTENSIONS 0x3 + +extern const char* glXQueryExtensionsString (Display *dpy, int screen); +extern const char* glXGetClientString (Display *dpy, int name); +extern const char* glXQueryServerString (Display *dpy, int screen, int name); + +#define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1) + +#endif /* GLX_VERSION_1_1 */ + +/* ---------------------------- GLX_VERSION_1_2 ---------------------------- */ + +#ifndef GLX_VERSION_1_2 +#define GLX_VERSION_1_2 1 + +typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void); + +#define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay) + +#define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2) + +#endif /* GLX_VERSION_1_2 */ + +/* ---------------------------- GLX_VERSION_1_3 ---------------------------- */ + +#ifndef GLX_VERSION_1_3 +#define GLX_VERSION_1_3 1 + +#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 +#define GLX_RGBA_BIT 0x00000001 +#define GLX_WINDOW_BIT 0x00000001 +#define GLX_COLOR_INDEX_BIT 0x00000002 +#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 +#define GLX_PIXMAP_BIT 0x00000002 +#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 +#define GLX_PBUFFER_BIT 0x00000004 +#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 +#define GLX_AUX_BUFFERS_BIT 0x00000010 +#define GLX_CONFIG_CAVEAT 0x20 +#define GLX_DEPTH_BUFFER_BIT 0x00000020 +#define GLX_X_VISUAL_TYPE 0x22 +#define GLX_TRANSPARENT_TYPE 0x23 +#define GLX_TRANSPARENT_INDEX_VALUE 0x24 +#define GLX_TRANSPARENT_RED_VALUE 0x25 +#define GLX_TRANSPARENT_GREEN_VALUE 0x26 +#define GLX_TRANSPARENT_BLUE_VALUE 0x27 +#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 +#define GLX_STENCIL_BUFFER_BIT 0x00000040 +#define GLX_ACCUM_BUFFER_BIT 0x00000080 +#define GLX_NONE 0x8000 +#define GLX_SLOW_CONFIG 0x8001 +#define GLX_TRUE_COLOR 0x8002 +#define GLX_DIRECT_COLOR 0x8003 +#define GLX_PSEUDO_COLOR 0x8004 +#define GLX_STATIC_COLOR 0x8005 +#define GLX_GRAY_SCALE 0x8006 +#define GLX_STATIC_GRAY 0x8007 +#define GLX_TRANSPARENT_RGB 0x8008 +#define GLX_TRANSPARENT_INDEX 0x8009 +#define GLX_VISUAL_ID 0x800B +#define GLX_SCREEN 0x800C +#define GLX_NON_CONFORMANT_CONFIG 0x800D +#define GLX_DRAWABLE_TYPE 0x8010 +#define GLX_RENDER_TYPE 0x8011 +#define GLX_X_RENDERABLE 0x8012 +#define GLX_FBCONFIG_ID 0x8013 +#define GLX_RGBA_TYPE 0x8014 +#define GLX_COLOR_INDEX_TYPE 0x8015 +#define GLX_MAX_PBUFFER_WIDTH 0x8016 +#define GLX_MAX_PBUFFER_HEIGHT 0x8017 +#define GLX_MAX_PBUFFER_PIXELS 0x8018 +#define GLX_PRESERVED_CONTENTS 0x801B +#define GLX_LARGEST_PBUFFER 0x801C +#define GLX_WIDTH 0x801D +#define GLX_HEIGHT 0x801E +#define GLX_EVENT_MASK 0x801F +#define GLX_DAMAGED 0x8020 +#define GLX_SAVED 0x8021 +#define GLX_WINDOW 0x8022 +#define GLX_PBUFFER 0x8023 +#define GLX_PBUFFER_HEIGHT 0x8040 +#define GLX_PBUFFER_WIDTH 0x8041 +#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 +#define GLX_DONT_CARE 0xFFFFFFFF + +typedef XID GLXFBConfigID; +typedef XID GLXPbuffer; +typedef XID GLXWindow; +typedef struct __GLXFBConfigRec *GLXFBConfig; + +typedef struct { + int event_type; + int draw_type; + unsigned long serial; + Bool send_event; + Display *display; + GLXDrawable drawable; + unsigned int buffer_mask; + unsigned int aux_buffer; + int x, y; + int width, height; + int count; +} GLXPbufferClobberEvent; +typedef union __GLXEvent { + GLXPbufferClobberEvent glxpbufferclobber; + long pad[24]; +} GLXEvent; + +typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); +typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); +typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); +typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); +typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); +typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); +typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); +typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); +typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); +typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); +typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); +typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); +typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); +typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx); +typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); +typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); +typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); + +#define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig) +#define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext) +#define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer) +#define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap) +#define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow) +#define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer) +#define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap) +#define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow) +#define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable) +#define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib) +#define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs) +#define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent) +#define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig) +#define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent) +#define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext) +#define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable) +#define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent) + +#define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3) + +#endif /* GLX_VERSION_1_3 */ + +/* ---------------------------- GLX_VERSION_1_4 ---------------------------- */ + +#ifndef GLX_VERSION_1_4 +#define GLX_VERSION_1_4 1 + +#define GLX_SAMPLE_BUFFERS 100000 +#define GLX_SAMPLES 100001 + +extern void ( * glXGetProcAddress (const GLubyte *procName)) (void); + +#define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4) + +#endif /* GLX_VERSION_1_4 */ + +/* -------------------------- GLX_3DFX_multisample ------------------------- */ + +#ifndef GLX_3DFX_multisample +#define GLX_3DFX_multisample 1 + +#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 +#define GLX_SAMPLES_3DFX 0x8051 + +#define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample) + +#endif /* GLX_3DFX_multisample */ + +/* ------------------------ GLX_AMD_gpu_association ------------------------ */ + +#ifndef GLX_AMD_gpu_association +#define GLX_AMD_gpu_association 1 + +#define GLX_GPU_VENDOR_AMD 0x1F00 +#define GLX_GPU_RENDERER_STRING_AMD 0x1F01 +#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 +#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 +#define GLX_GPU_RAM_AMD 0x21A3 +#define GLX_GPU_CLOCK_AMD 0x21A4 +#define GLX_GPU_NUM_PIPES_AMD 0x21A5 +#define GLX_GPU_NUM_SIMD_AMD 0x21A6 +#define GLX_GPU_NUM_RB_AMD 0x21A7 +#define GLX_GPU_NUM_SPI_AMD 0x21A8 + +typedef void ( * PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC) (GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLXContext ( * PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC) (unsigned int id, GLXContext share_list); +typedef GLXContext ( * PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (unsigned int id, GLXContext share_context, const int* attribList); +typedef Bool ( * PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC) (GLXContext ctx); +typedef unsigned int ( * PFNGLXGETCONTEXTGPUIDAMDPROC) (GLXContext ctx); +typedef GLXContext ( * PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); +typedef unsigned int ( * PFNGLXGETGPUIDSAMDPROC) (unsigned int maxCount, unsigned int* ids); +typedef int ( * PFNGLXGETGPUINFOAMDPROC) (unsigned int id, int property, GLenum dataType, unsigned int size, void* data); +typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx); + +#define glXBlitContextFramebufferAMD GLXEW_GET_FUN(__glewXBlitContextFramebufferAMD) +#define glXCreateAssociatedContextAMD GLXEW_GET_FUN(__glewXCreateAssociatedContextAMD) +#define glXCreateAssociatedContextAttribsAMD GLXEW_GET_FUN(__glewXCreateAssociatedContextAttribsAMD) +#define glXDeleteAssociatedContextAMD GLXEW_GET_FUN(__glewXDeleteAssociatedContextAMD) +#define glXGetContextGPUIDAMD GLXEW_GET_FUN(__glewXGetContextGPUIDAMD) +#define glXGetCurrentAssociatedContextAMD GLXEW_GET_FUN(__glewXGetCurrentAssociatedContextAMD) +#define glXGetGPUIDsAMD GLXEW_GET_FUN(__glewXGetGPUIDsAMD) +#define glXGetGPUInfoAMD GLXEW_GET_FUN(__glewXGetGPUInfoAMD) +#define glXMakeAssociatedContextCurrentAMD GLXEW_GET_FUN(__glewXMakeAssociatedContextCurrentAMD) + +#define GLXEW_AMD_gpu_association GLXEW_GET_VAR(__GLXEW_AMD_gpu_association) + +#endif /* GLX_AMD_gpu_association */ + +/* --------------------- GLX_ARB_context_flush_control --------------------- */ + +#ifndef GLX_ARB_context_flush_control +#define GLX_ARB_context_flush_control 1 + +#define GLXEW_ARB_context_flush_control GLXEW_GET_VAR(__GLXEW_ARB_context_flush_control) + +#endif /* GLX_ARB_context_flush_control */ + +/* ------------------------- GLX_ARB_create_context ------------------------ */ + +#ifndef GLX_ARB_create_context +#define GLX_ARB_create_context 1 + +#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 +#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define GLX_CONTEXT_FLAGS_ARB 0x2094 + +typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); + +#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB) + +#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context) + +#endif /* GLX_ARB_create_context */ + +/* -------------------- GLX_ARB_create_context_no_error -------------------- */ + +#ifndef GLX_ARB_create_context_no_error +#define GLX_ARB_create_context_no_error 1 + +#define GLXEW_ARB_create_context_no_error GLXEW_GET_VAR(__GLXEW_ARB_create_context_no_error) + +#endif /* GLX_ARB_create_context_no_error */ + +/* --------------------- GLX_ARB_create_context_profile -------------------- */ + +#ifndef GLX_ARB_create_context_profile +#define GLX_ARB_create_context_profile 1 + +#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 +#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 + +#define GLXEW_ARB_create_context_profile GLXEW_GET_VAR(__GLXEW_ARB_create_context_profile) + +#endif /* GLX_ARB_create_context_profile */ + +/* ------------------- GLX_ARB_create_context_robustness ------------------- */ + +#ifndef GLX_ARB_create_context_robustness +#define GLX_ARB_create_context_robustness 1 + +#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 + +#define GLXEW_ARB_create_context_robustness GLXEW_GET_VAR(__GLXEW_ARB_create_context_robustness) + +#endif /* GLX_ARB_create_context_robustness */ + +/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */ + +#ifndef GLX_ARB_fbconfig_float +#define GLX_ARB_fbconfig_float 1 + +#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 +#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9 + +#define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float) + +#endif /* GLX_ARB_fbconfig_float */ + +/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */ + +#ifndef GLX_ARB_framebuffer_sRGB +#define GLX_ARB_framebuffer_sRGB 1 + +#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 + +#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB) + +#endif /* GLX_ARB_framebuffer_sRGB */ + +/* ------------------------ GLX_ARB_get_proc_address ----------------------- */ + +#ifndef GLX_ARB_get_proc_address +#define GLX_ARB_get_proc_address 1 + +extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void); + +#define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address) + +#endif /* GLX_ARB_get_proc_address */ + +/* -------------------------- GLX_ARB_multisample -------------------------- */ + +#ifndef GLX_ARB_multisample +#define GLX_ARB_multisample 1 + +#define GLX_SAMPLE_BUFFERS_ARB 100000 +#define GLX_SAMPLES_ARB 100001 + +#define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample) + +#endif /* GLX_ARB_multisample */ + +/* ---------------- GLX_ARB_robustness_application_isolation --------------- */ + +#ifndef GLX_ARB_robustness_application_isolation +#define GLX_ARB_robustness_application_isolation 1 + +#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define GLXEW_ARB_robustness_application_isolation GLXEW_GET_VAR(__GLXEW_ARB_robustness_application_isolation) + +#endif /* GLX_ARB_robustness_application_isolation */ + +/* ---------------- GLX_ARB_robustness_share_group_isolation --------------- */ + +#ifndef GLX_ARB_robustness_share_group_isolation +#define GLX_ARB_robustness_share_group_isolation 1 + +#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define GLXEW_ARB_robustness_share_group_isolation GLXEW_GET_VAR(__GLXEW_ARB_robustness_share_group_isolation) + +#endif /* GLX_ARB_robustness_share_group_isolation */ + +/* ---------------------- GLX_ARB_vertex_buffer_object --------------------- */ + +#ifndef GLX_ARB_vertex_buffer_object +#define GLX_ARB_vertex_buffer_object 1 + +#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 + +#define GLXEW_ARB_vertex_buffer_object GLXEW_GET_VAR(__GLXEW_ARB_vertex_buffer_object) + +#endif /* GLX_ARB_vertex_buffer_object */ + +/* ----------------------- GLX_ATI_pixel_format_float ---------------------- */ + +#ifndef GLX_ATI_pixel_format_float +#define GLX_ATI_pixel_format_float 1 + +#define GLX_RGBA_FLOAT_ATI_BIT 0x00000100 + +#define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float) + +#endif /* GLX_ATI_pixel_format_float */ + +/* ------------------------- GLX_ATI_render_texture ------------------------ */ + +#ifndef GLX_ATI_render_texture +#define GLX_ATI_render_texture 1 + +#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 +#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 +#define GLX_TEXTURE_FORMAT_ATI 0x9802 +#define GLX_TEXTURE_TARGET_ATI 0x9803 +#define GLX_MIPMAP_TEXTURE_ATI 0x9804 +#define GLX_TEXTURE_RGB_ATI 0x9805 +#define GLX_TEXTURE_RGBA_ATI 0x9806 +#define GLX_NO_TEXTURE_ATI 0x9807 +#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808 +#define GLX_TEXTURE_1D_ATI 0x9809 +#define GLX_TEXTURE_2D_ATI 0x980A +#define GLX_MIPMAP_LEVEL_ATI 0x980B +#define GLX_CUBE_MAP_FACE_ATI 0x980C +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810 +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811 +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812 +#define GLX_FRONT_LEFT_ATI 0x9813 +#define GLX_FRONT_RIGHT_ATI 0x9814 +#define GLX_BACK_LEFT_ATI 0x9815 +#define GLX_BACK_RIGHT_ATI 0x9816 +#define GLX_AUX0_ATI 0x9817 +#define GLX_AUX1_ATI 0x9818 +#define GLX_AUX2_ATI 0x9819 +#define GLX_AUX3_ATI 0x981A +#define GLX_AUX4_ATI 0x981B +#define GLX_AUX5_ATI 0x981C +#define GLX_AUX6_ATI 0x981D +#define GLX_AUX7_ATI 0x981E +#define GLX_AUX8_ATI 0x981F +#define GLX_AUX9_ATI 0x9820 +#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821 +#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822 + +typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); +typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list); +typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); + +#define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI) +#define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI) +#define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI) + +#define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture) + +#endif /* GLX_ATI_render_texture */ + +/* --------------------------- GLX_EXT_buffer_age -------------------------- */ + +#ifndef GLX_EXT_buffer_age +#define GLX_EXT_buffer_age 1 + +#define GLX_BACK_BUFFER_AGE_EXT 0x20F4 + +#define GLXEW_EXT_buffer_age GLXEW_GET_VAR(__GLXEW_EXT_buffer_age) + +#endif /* GLX_EXT_buffer_age */ + +/* ------------------- GLX_EXT_create_context_es2_profile ------------------ */ + +#ifndef GLX_EXT_create_context_es2_profile +#define GLX_EXT_create_context_es2_profile 1 + +#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 + +#define GLXEW_EXT_create_context_es2_profile GLXEW_GET_VAR(__GLXEW_EXT_create_context_es2_profile) + +#endif /* GLX_EXT_create_context_es2_profile */ + +/* ------------------- GLX_EXT_create_context_es_profile ------------------- */ + +#ifndef GLX_EXT_create_context_es_profile +#define GLX_EXT_create_context_es_profile 1 + +#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 + +#define GLXEW_EXT_create_context_es_profile GLXEW_GET_VAR(__GLXEW_EXT_create_context_es_profile) + +#endif /* GLX_EXT_create_context_es_profile */ + +/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */ + +#ifndef GLX_EXT_fbconfig_packed_float +#define GLX_EXT_fbconfig_packed_float 1 + +#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 +#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 + +#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float) + +#endif /* GLX_EXT_fbconfig_packed_float */ + +/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */ + +#ifndef GLX_EXT_framebuffer_sRGB +#define GLX_EXT_framebuffer_sRGB 1 + +#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 + +#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB) + +#endif /* GLX_EXT_framebuffer_sRGB */ + +/* ------------------------- GLX_EXT_import_context ------------------------ */ + +#ifndef GLX_EXT_import_context +#define GLX_EXT_import_context 1 + +#define GLX_SHARE_CONTEXT_EXT 0x800A +#define GLX_VISUAL_ID_EXT 0x800B +#define GLX_SCREEN_EXT 0x800C + +typedef XID GLXContextID; + +typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context); +typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); +typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID); +typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value); + +#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT) +#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT) +#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT) +#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT) + +#define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context) + +#endif /* GLX_EXT_import_context */ + +/* ---------------------------- GLX_EXT_libglvnd --------------------------- */ + +#ifndef GLX_EXT_libglvnd +#define GLX_EXT_libglvnd 1 + +#define GLX_VENDOR_NAMES_EXT 0x20F6 + +#define GLXEW_EXT_libglvnd GLXEW_GET_VAR(__GLXEW_EXT_libglvnd) + +#endif /* GLX_EXT_libglvnd */ + +/* -------------------------- GLX_EXT_scene_marker ------------------------- */ + +#ifndef GLX_EXT_scene_marker +#define GLX_EXT_scene_marker 1 + +#define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker) + +#endif /* GLX_EXT_scene_marker */ + +/* -------------------------- GLX_EXT_stereo_tree -------------------------- */ + +#ifndef GLX_EXT_stereo_tree +#define GLX_EXT_stereo_tree 1 + +#define GLX_STEREO_NOTIFY_EXT 0x00000000 +#define GLX_STEREO_NOTIFY_MASK_EXT 0x00000001 +#define GLX_STEREO_TREE_EXT 0x20F5 + +#define GLXEW_EXT_stereo_tree GLXEW_GET_VAR(__GLXEW_EXT_stereo_tree) + +#endif /* GLX_EXT_stereo_tree */ + +/* -------------------------- GLX_EXT_swap_control ------------------------- */ + +#ifndef GLX_EXT_swap_control +#define GLX_EXT_swap_control 1 + +#define GLX_SWAP_INTERVAL_EXT 0x20F1 +#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 + +typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable, int interval); + +#define glXSwapIntervalEXT GLXEW_GET_FUN(__glewXSwapIntervalEXT) + +#define GLXEW_EXT_swap_control GLXEW_GET_VAR(__GLXEW_EXT_swap_control) + +#endif /* GLX_EXT_swap_control */ + +/* ----------------------- GLX_EXT_swap_control_tear ----------------------- */ + +#ifndef GLX_EXT_swap_control_tear +#define GLX_EXT_swap_control_tear 1 + +#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3 + +#define GLXEW_EXT_swap_control_tear GLXEW_GET_VAR(__GLXEW_EXT_swap_control_tear) + +#endif /* GLX_EXT_swap_control_tear */ + +/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */ + +#ifndef GLX_EXT_texture_from_pixmap +#define GLX_EXT_texture_from_pixmap 1 + +#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 +#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 +#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 +#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 +#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 +#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 +#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 +#define GLX_Y_INVERTED_EXT 0x20D4 +#define GLX_TEXTURE_FORMAT_EXT 0x20D5 +#define GLX_TEXTURE_TARGET_EXT 0x20D6 +#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 +#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 +#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 +#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA +#define GLX_TEXTURE_1D_EXT 0x20DB +#define GLX_TEXTURE_2D_EXT 0x20DC +#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD +#define GLX_FRONT_LEFT_EXT 0x20DE +#define GLX_FRONT_RIGHT_EXT 0x20DF +#define GLX_BACK_LEFT_EXT 0x20E0 +#define GLX_BACK_RIGHT_EXT 0x20E1 +#define GLX_AUX0_EXT 0x20E2 +#define GLX_AUX1_EXT 0x20E3 +#define GLX_AUX2_EXT 0x20E4 +#define GLX_AUX3_EXT 0x20E5 +#define GLX_AUX4_EXT 0x20E6 +#define GLX_AUX5_EXT 0x20E7 +#define GLX_AUX6_EXT 0x20E8 +#define GLX_AUX7_EXT 0x20E9 +#define GLX_AUX8_EXT 0x20EA +#define GLX_AUX9_EXT 0x20EB + +typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list); +typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer); + +#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT) +#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT) + +#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap) + +#endif /* GLX_EXT_texture_from_pixmap */ + +/* -------------------------- GLX_EXT_visual_info -------------------------- */ + +#ifndef GLX_EXT_visual_info +#define GLX_EXT_visual_info 1 + +#define GLX_X_VISUAL_TYPE_EXT 0x22 +#define GLX_TRANSPARENT_TYPE_EXT 0x23 +#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 +#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 +#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 +#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 +#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 +#define GLX_NONE_EXT 0x8000 +#define GLX_TRUE_COLOR_EXT 0x8002 +#define GLX_DIRECT_COLOR_EXT 0x8003 +#define GLX_PSEUDO_COLOR_EXT 0x8004 +#define GLX_STATIC_COLOR_EXT 0x8005 +#define GLX_GRAY_SCALE_EXT 0x8006 +#define GLX_STATIC_GRAY_EXT 0x8007 +#define GLX_TRANSPARENT_RGB_EXT 0x8008 +#define GLX_TRANSPARENT_INDEX_EXT 0x8009 + +#define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info) + +#endif /* GLX_EXT_visual_info */ + +/* ------------------------- GLX_EXT_visual_rating ------------------------- */ + +#ifndef GLX_EXT_visual_rating +#define GLX_EXT_visual_rating 1 + +#define GLX_VISUAL_CAVEAT_EXT 0x20 +#define GLX_SLOW_VISUAL_EXT 0x8001 +#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D + +#define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating) + +#endif /* GLX_EXT_visual_rating */ + +/* -------------------------- GLX_INTEL_swap_event ------------------------- */ + +#ifndef GLX_INTEL_swap_event +#define GLX_INTEL_swap_event 1 + +#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 +#define GLX_COPY_COMPLETE_INTEL 0x8181 +#define GLX_FLIP_COMPLETE_INTEL 0x8182 +#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000 + +#define GLXEW_INTEL_swap_event GLXEW_GET_VAR(__GLXEW_INTEL_swap_event) + +#endif /* GLX_INTEL_swap_event */ + +/* -------------------------- GLX_MESA_agp_offset -------------------------- */ + +#ifndef GLX_MESA_agp_offset +#define GLX_MESA_agp_offset 1 + +typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer); + +#define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA) + +#define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset) + +#endif /* GLX_MESA_agp_offset */ + +/* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */ + +#ifndef GLX_MESA_copy_sub_buffer +#define GLX_MESA_copy_sub_buffer 1 + +typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height); + +#define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA) + +#define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer) + +#endif /* GLX_MESA_copy_sub_buffer */ + +/* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */ + +#ifndef GLX_MESA_pixmap_colormap +#define GLX_MESA_pixmap_colormap 1 + +typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); + +#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA) + +#define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap) + +#endif /* GLX_MESA_pixmap_colormap */ + +/* ------------------------ GLX_MESA_query_renderer ------------------------ */ + +#ifndef GLX_MESA_query_renderer +#define GLX_MESA_query_renderer 1 + +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#define GLX_RENDERER_VERSION_MESA 0x8185 +#define GLX_RENDERER_ACCELERATED_MESA 0x8186 +#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187 +#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188 +#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189 +#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A +#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B +#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C +#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D +#define GLX_RENDERER_ID_MESA 0x818E + +typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value); +typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute); +typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int *value); +typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute); + +#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA) +#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA) +#define glXQueryRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryRendererIntegerMESA) +#define glXQueryRendererStringMESA GLXEW_GET_FUN(__glewXQueryRendererStringMESA) + +#define GLXEW_MESA_query_renderer GLXEW_GET_VAR(__GLXEW_MESA_query_renderer) + +#endif /* GLX_MESA_query_renderer */ + +/* ------------------------ GLX_MESA_release_buffers ----------------------- */ + +#ifndef GLX_MESA_release_buffers +#define GLX_MESA_release_buffers 1 + +typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d); + +#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA) + +#define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers) + +#endif /* GLX_MESA_release_buffers */ + +/* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */ + +#ifndef GLX_MESA_set_3dfx_mode +#define GLX_MESA_set_3dfx_mode 1 + +#define GLX_3DFX_WINDOW_MODE_MESA 0x1 +#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 + +typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode); + +#define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA) + +#define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode) + +#endif /* GLX_MESA_set_3dfx_mode */ + +/* ------------------------- GLX_MESA_swap_control ------------------------- */ + +#ifndef GLX_MESA_swap_control +#define GLX_MESA_swap_control 1 + +typedef int ( * PFNGLXGETSWAPINTERVALMESAPROC) (void); +typedef int ( * PFNGLXSWAPINTERVALMESAPROC) (unsigned int interval); + +#define glXGetSwapIntervalMESA GLXEW_GET_FUN(__glewXGetSwapIntervalMESA) +#define glXSwapIntervalMESA GLXEW_GET_FUN(__glewXSwapIntervalMESA) + +#define GLXEW_MESA_swap_control GLXEW_GET_VAR(__GLXEW_MESA_swap_control) + +#endif /* GLX_MESA_swap_control */ + +/* --------------------------- GLX_NV_copy_buffer -------------------------- */ + +#ifndef GLX_NV_copy_buffer +#define GLX_NV_copy_buffer 1 + +typedef void ( * PFNGLXCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void ( * PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); + +#define glXCopyBufferSubDataNV GLXEW_GET_FUN(__glewXCopyBufferSubDataNV) +#define glXNamedCopyBufferSubDataNV GLXEW_GET_FUN(__glewXNamedCopyBufferSubDataNV) + +#define GLXEW_NV_copy_buffer GLXEW_GET_VAR(__GLXEW_NV_copy_buffer) + +#endif /* GLX_NV_copy_buffer */ + +/* --------------------------- GLX_NV_copy_image --------------------------- */ + +#ifndef GLX_NV_copy_image +#define GLX_NV_copy_image 1 + +typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define glXCopyImageSubDataNV GLXEW_GET_FUN(__glewXCopyImageSubDataNV) + +#define GLXEW_NV_copy_image GLXEW_GET_VAR(__GLXEW_NV_copy_image) + +#endif /* GLX_NV_copy_image */ + +/* ------------------------ GLX_NV_delay_before_swap ----------------------- */ + +#ifndef GLX_NV_delay_before_swap +#define GLX_NV_delay_before_swap 1 + +typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawable, GLfloat seconds); + +#define glXDelayBeforeSwapNV GLXEW_GET_FUN(__glewXDelayBeforeSwapNV) + +#define GLXEW_NV_delay_before_swap GLXEW_GET_VAR(__GLXEW_NV_delay_before_swap) + +#endif /* GLX_NV_delay_before_swap */ + +/* -------------------------- GLX_NV_float_buffer -------------------------- */ + +#ifndef GLX_NV_float_buffer +#define GLX_NV_float_buffer 1 + +#define GLX_FLOAT_COMPONENTS_NV 0x20B0 + +#define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer) + +#endif /* GLX_NV_float_buffer */ + +/* ---------------------- GLX_NV_multisample_coverage ---------------------- */ + +#ifndef GLX_NV_multisample_coverage +#define GLX_NV_multisample_coverage 1 + +#define GLX_COLOR_SAMPLES_NV 0x20B3 +#define GLX_COVERAGE_SAMPLES_NV 100001 + +#define GLXEW_NV_multisample_coverage GLXEW_GET_VAR(__GLXEW_NV_multisample_coverage) + +#endif /* GLX_NV_multisample_coverage */ + +/* -------------------------- GLX_NV_present_video ------------------------- */ + +#ifndef GLX_NV_present_video +#define GLX_NV_present_video 1 + +#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 + +typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); +typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); + +#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV) +#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV) + +#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video) + +#endif /* GLX_NV_present_video */ + +/* ------------------ GLX_NV_robustness_video_memory_purge ----------------- */ + +#ifndef GLX_NV_robustness_video_memory_purge +#define GLX_NV_robustness_video_memory_purge 1 + +#define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x20F7 + +#define GLXEW_NV_robustness_video_memory_purge GLXEW_GET_VAR(__GLXEW_NV_robustness_video_memory_purge) + +#endif /* GLX_NV_robustness_video_memory_purge */ + +/* --------------------------- GLX_NV_swap_group --------------------------- */ + +#ifndef GLX_NV_swap_group +#define GLX_NV_swap_group 1 + +typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier); +typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group); +typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count); +typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); +typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); +typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen); + +#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV) +#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV) +#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV) +#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV) +#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV) +#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV) + +#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group) + +#endif /* GLX_NV_swap_group */ + +/* ----------------------- GLX_NV_vertex_array_range ----------------------- */ + +#ifndef GLX_NV_vertex_array_range +#define GLX_NV_vertex_array_range 1 + +typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); +typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer); + +#define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV) +#define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV) + +#define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range) + +#endif /* GLX_NV_vertex_array_range */ + +/* -------------------------- GLX_NV_video_capture ------------------------- */ + +#ifndef GLX_NV_video_capture +#define GLX_NV_video_capture 1 + +#define GLX_DEVICE_ID_NV 0x20CD +#define GLX_UNIQUE_ID_NV 0x20CE +#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF + +typedef XID GLXVideoCaptureDeviceNV; + +typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display* dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); +typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display* dpy, int screen, int *nelements); +typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device); +typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); +typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device); + +#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV) +#define glXEnumerateVideoCaptureDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoCaptureDevicesNV) +#define glXLockVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXLockVideoCaptureDeviceNV) +#define glXQueryVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXQueryVideoCaptureDeviceNV) +#define glXReleaseVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoCaptureDeviceNV) + +#define GLXEW_NV_video_capture GLXEW_GET_VAR(__GLXEW_NV_video_capture) + +#endif /* GLX_NV_video_capture */ + +/* ---------------------------- GLX_NV_video_out --------------------------- */ + +#ifndef GLX_NV_video_out +#define GLX_NV_video_out 1 + +#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 +#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 +#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 +#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 +#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 +#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 +#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 +#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA +#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB +#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC + +typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); +typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); +typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); +typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice); +typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf); +typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); + +#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV) +#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV) +#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV) +#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV) +#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV) +#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV) + +#define GLXEW_NV_video_out GLXEW_GET_VAR(__GLXEW_NV_video_out) + +#endif /* GLX_NV_video_out */ + +/* -------------------------- GLX_OML_swap_method -------------------------- */ + +#ifndef GLX_OML_swap_method +#define GLX_OML_swap_method 1 + +#define GLX_SWAP_METHOD_OML 0x8060 +#define GLX_SWAP_EXCHANGE_OML 0x8061 +#define GLX_SWAP_COPY_OML 0x8062 +#define GLX_SWAP_UNDEFINED_OML 0x8063 + +#define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method) + +#endif /* GLX_OML_swap_method */ + +/* -------------------------- GLX_OML_sync_control ------------------------- */ + +#ifndef GLX_OML_sync_control +#define GLX_OML_sync_control 1 + +typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator); +typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc); +typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); +typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc); +typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc); + +#define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML) +#define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML) +#define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML) +#define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML) +#define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML) + +#define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control) + +#endif /* GLX_OML_sync_control */ + +/* ------------------------ GLX_SGIS_blended_overlay ----------------------- */ + +#ifndef GLX_SGIS_blended_overlay +#define GLX_SGIS_blended_overlay 1 + +#define GLX_BLENDED_RGBA_SGIS 0x8025 + +#define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay) + +#endif /* GLX_SGIS_blended_overlay */ + +/* -------------------------- GLX_SGIS_color_range ------------------------- */ + +#ifndef GLX_SGIS_color_range +#define GLX_SGIS_color_range 1 + +#define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range) + +#endif /* GLX_SGIS_color_range */ + +/* -------------------------- GLX_SGIS_multisample ------------------------- */ + +#ifndef GLX_SGIS_multisample +#define GLX_SGIS_multisample 1 + +#define GLX_SAMPLE_BUFFERS_SGIS 100000 +#define GLX_SAMPLES_SGIS 100001 + +#define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample) + +#endif /* GLX_SGIS_multisample */ + +/* ---------------------- GLX_SGIS_shared_multisample ---------------------- */ + +#ifndef GLX_SGIS_shared_multisample +#define GLX_SGIS_shared_multisample 1 + +#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 +#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 + +#define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample) + +#endif /* GLX_SGIS_shared_multisample */ + +/* --------------------------- GLX_SGIX_fbconfig --------------------------- */ + +#ifndef GLX_SGIX_fbconfig +#define GLX_SGIX_fbconfig 1 + +#define GLX_RGBA_BIT_SGIX 0x00000001 +#define GLX_WINDOW_BIT_SGIX 0x00000001 +#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 +#define GLX_PIXMAP_BIT_SGIX 0x00000002 +#define GLX_SCREEN_EXT 0x800C +#define GLX_DRAWABLE_TYPE_SGIX 0x8010 +#define GLX_RENDER_TYPE_SGIX 0x8011 +#define GLX_X_RENDERABLE_SGIX 0x8012 +#define GLX_FBCONFIG_ID_SGIX 0x8013 +#define GLX_RGBA_TYPE_SGIX 0x8014 +#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 + +typedef XID GLXFBConfigIDSGIX; +typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; + +typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); +typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); +typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap); +typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value); +typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis); +typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config); + +#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX) +#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX) +#define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX) +#define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX) +#define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX) +#define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX) + +#define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig) + +#endif /* GLX_SGIX_fbconfig */ + +/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */ + +#ifndef GLX_SGIX_hyperpipe +#define GLX_SGIX_hyperpipe 1 + +#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 +#define GLX_PIPE_RECT_SGIX 0x00000001 +#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 +#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 +#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 +#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 +#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 +#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 +#define GLX_BAD_HYPERPIPE_SGIX 92 +#define GLX_HYPERPIPE_ID_SGIX 0x8030 + +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int networkId; +} GLXHyperpipeNetworkSGIX; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int XOrigin; + int YOrigin; + int maxHeight; + int maxWidth; +} GLXPipeRectLimits; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int channel; + unsigned int participationType; + int timeSlice; +} GLXHyperpipeConfigSGIX; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int srcXOrigin; + int srcYOrigin; + int srcWidth; + int srcHeight; + int destXOrigin; + int destYOrigin; + int destWidth; + int destHeight; +} GLXPipeRect; + +typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); +typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); +typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); +typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); +typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); +typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); +typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); +typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); + +#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX) +#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX) +#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX) +#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX) +#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX) +#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX) +#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX) +#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX) + +#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe) + +#endif /* GLX_SGIX_hyperpipe */ + +/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */ + +#ifndef GLX_SGIX_pbuffer +#define GLX_SGIX_pbuffer 1 + +#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 +#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 +#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 +#define GLX_PBUFFER_BIT_SGIX 0x00000004 +#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 +#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 +#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 +#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 +#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 +#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 +#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 +#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 +#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 +#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 +#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A +#define GLX_PRESERVED_CONTENTS_SGIX 0x801B +#define GLX_LARGEST_PBUFFER_SGIX 0x801C +#define GLX_WIDTH_SGIX 0x801D +#define GLX_HEIGHT_SGIX 0x801E +#define GLX_EVENT_MASK_SGIX 0x801F +#define GLX_DAMAGED_SGIX 0x8020 +#define GLX_SAVED_SGIX 0x8021 +#define GLX_WINDOW_SGIX 0x8022 +#define GLX_PBUFFER_SGIX 0x8023 +#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 + +typedef XID GLXPbufferSGIX; +typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX; + +typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list); +typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf); +typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask); +typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value); +typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask); + +#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX) +#define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX) +#define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX) +#define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX) +#define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX) + +#define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer) + +#endif /* GLX_SGIX_pbuffer */ + +/* ------------------------- GLX_SGIX_swap_barrier ------------------------- */ + +#ifndef GLX_SGIX_swap_barrier +#define GLX_SGIX_swap_barrier 1 + +typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); +typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); + +#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX) +#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX) + +#define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier) + +#endif /* GLX_SGIX_swap_barrier */ + +/* -------------------------- GLX_SGIX_swap_group -------------------------- */ + +#ifndef GLX_SGIX_swap_group +#define GLX_SGIX_swap_group 1 + +typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); + +#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX) + +#define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group) + +#endif /* GLX_SGIX_swap_group */ + +/* ------------------------- GLX_SGIX_video_resize ------------------------- */ + +#ifndef GLX_SGIX_video_resize +#define GLX_SGIX_video_resize 1 + +#define GLX_SYNC_FRAME_SGIX 0x00000000 +#define GLX_SYNC_SWAP_SGIX 0x00000001 + +typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window); +typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h); +typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype); +typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h); +typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); + +#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX) +#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX) +#define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX) +#define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX) +#define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX) + +#define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize) + +#endif /* GLX_SGIX_video_resize */ + +/* ---------------------- GLX_SGIX_visual_select_group --------------------- */ + +#ifndef GLX_SGIX_visual_select_group +#define GLX_SGIX_visual_select_group 1 + +#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 + +#define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group) + +#endif /* GLX_SGIX_visual_select_group */ + +/* ---------------------------- GLX_SGI_cushion ---------------------------- */ + +#ifndef GLX_SGI_cushion +#define GLX_SGI_cushion 1 + +typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion); + +#define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI) + +#define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion) + +#endif /* GLX_SGI_cushion */ + +/* ----------------------- GLX_SGI_make_current_read ----------------------- */ + +#ifndef GLX_SGI_make_current_read +#define GLX_SGI_make_current_read 1 + +typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); +typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); + +#define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI) +#define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI) + +#define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read) + +#endif /* GLX_SGI_make_current_read */ + +/* -------------------------- GLX_SGI_swap_control ------------------------- */ + +#ifndef GLX_SGI_swap_control +#define GLX_SGI_swap_control 1 + +typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); + +#define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI) + +#define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control) + +#endif /* GLX_SGI_swap_control */ + +/* --------------------------- GLX_SGI_video_sync -------------------------- */ + +#ifndef GLX_SGI_video_sync +#define GLX_SGI_video_sync 1 + +typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int* count); +typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count); + +#define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI) +#define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI) + +#define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync) + +#endif /* GLX_SGI_video_sync */ + +/* --------------------- GLX_SUN_get_transparent_index --------------------- */ + +#ifndef GLX_SUN_get_transparent_index +#define GLX_SUN_get_transparent_index 1 + +typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex); + +#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN) + +#define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index) + +#endif /* GLX_SUN_get_transparent_index */ + +/* -------------------------- GLX_SUN_video_resize ------------------------- */ + +#ifndef GLX_SUN_video_resize +#define GLX_SUN_video_resize 1 + +#define GLX_VIDEO_RESIZE_SUN 0x8171 +#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD + +typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor); +typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor); + +#define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN) +#define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN) + +#define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize) + +#endif /* GLX_SUN_video_resize */ + +/* ------------------------------------------------------------------------- */ + +#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT +#define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT + +GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay; + +GLXEW_FUN_EXPORT PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig; +GLXEW_FUN_EXPORT PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext; +GLXEW_FUN_EXPORT PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer; +GLXEW_FUN_EXPORT PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap; +GLXEW_FUN_EXPORT PFNGLXCREATEWINDOWPROC __glewXCreateWindow; +GLXEW_FUN_EXPORT PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer; +GLXEW_FUN_EXPORT PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap; +GLXEW_FUN_EXPORT PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow; +GLXEW_FUN_EXPORT PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs; +GLXEW_FUN_EXPORT PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent; +GLXEW_FUN_EXPORT PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig; +GLXEW_FUN_EXPORT PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent; +GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTPROC __glewXQueryContext; +GLXEW_FUN_EXPORT PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable; +GLXEW_FUN_EXPORT PFNGLXSELECTEVENTPROC __glewXSelectEvent; + +GLXEW_FUN_EXPORT PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC __glewXBlitContextFramebufferAMD; +GLXEW_FUN_EXPORT PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC __glewXCreateAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __glewXCreateAssociatedContextAttribsAMD; +GLXEW_FUN_EXPORT PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC __glewXDeleteAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXGETCONTEXTGPUIDAMDPROC __glewXGetContextGPUIDAMD; +GLXEW_FUN_EXPORT PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC __glewXGetCurrentAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXGETGPUIDSAMDPROC __glewXGetGPUIDsAMD; +GLXEW_FUN_EXPORT PFNGLXGETGPUINFOAMDPROC __glewXGetGPUInfoAMD; +GLXEW_FUN_EXPORT PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __glewXMakeAssociatedContextCurrentAMD; + +GLXEW_FUN_EXPORT PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB; + +GLXEW_FUN_EXPORT PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI; +GLXEW_FUN_EXPORT PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI; +GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI; + +GLXEW_FUN_EXPORT PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT; +GLXEW_FUN_EXPORT PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT; +GLXEW_FUN_EXPORT PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT; +GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT; + +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT; + +GLXEW_FUN_EXPORT PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT; +GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT; + +GLXEW_FUN_EXPORT PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA; + +GLXEW_FUN_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA; + +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA; + +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC __glewXQueryCurrentRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC __glewXQueryCurrentRendererStringMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERINTEGERMESAPROC __glewXQueryRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERSTRINGMESAPROC __glewXQueryRendererStringMESA; + +GLXEW_FUN_EXPORT PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA; + +GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA; + +GLXEW_FUN_EXPORT PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA; +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA; + +GLXEW_FUN_EXPORT PFNGLXCOPYBUFFERSUBDATANVPROC __glewXCopyBufferSubDataNV; +GLXEW_FUN_EXPORT PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC __glewXNamedCopyBufferSubDataNV; + +GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV; + +GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV; + +GLXEW_FUN_EXPORT PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV; +GLXEW_FUN_EXPORT PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV; +GLXEW_FUN_EXPORT PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV; +GLXEW_FUN_EXPORT PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV; +GLXEW_FUN_EXPORT PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV; +GLXEW_FUN_EXPORT PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV; + +GLXEW_FUN_EXPORT PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV; +GLXEW_FUN_EXPORT PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV; +GLXEW_FUN_EXPORT PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV; +GLXEW_FUN_EXPORT PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV; +GLXEW_FUN_EXPORT PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV; + +GLXEW_FUN_EXPORT PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML; +GLXEW_FUN_EXPORT PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML; +GLXEW_FUN_EXPORT PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML; +GLXEW_FUN_EXPORT PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML; +GLXEW_FUN_EXPORT PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML; + +GLXEW_FUN_EXPORT PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX; +GLXEW_FUN_EXPORT PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX; +GLXEW_FUN_EXPORT PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX; + +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX; + +GLXEW_FUN_EXPORT PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX; +GLXEW_FUN_EXPORT PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX; +GLXEW_FUN_EXPORT PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX; + +GLXEW_FUN_EXPORT PFNGLXCUSHIONSGIPROC __glewXCushionSGI; + +GLXEW_FUN_EXPORT PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI; +GLXEW_FUN_EXPORT PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI; + +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI; + +GLXEW_FUN_EXPORT PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI; +GLXEW_FUN_EXPORT PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI; + +GLXEW_FUN_EXPORT PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN; + +GLXEW_FUN_EXPORT PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN; +GLXEW_FUN_EXPORT PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_3; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_4; +GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_no_error; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_fbconfig_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_get_proc_address; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_robustness_application_isolation; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_robustness_share_group_isolation; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_pixel_format_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_render_texture; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_buffer_age; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es2_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_import_context; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_libglvnd; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_scene_marker; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_stereo_tree; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control_tear; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_visual_info; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_visual_rating; +GLXEW_VAR_EXPORT GLboolean __GLXEW_INTEL_swap_event; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_agp_offset; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multisample_coverage; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_robustness_video_memory_purge; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_swap_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_vertex_array_range; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_capture; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_out; +GLXEW_VAR_EXPORT GLboolean __GLXEW_OML_swap_method; +GLXEW_VAR_EXPORT GLboolean __GLXEW_OML_sync_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_blended_overlay; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_color_range; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_shared_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_fbconfig; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_hyperpipe; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_pbuffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_swap_barrier; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_swap_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_video_resize; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_visual_select_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_cushion; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_make_current_read; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_video_sync; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_get_transparent_index; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_video_resize; +/* ------------------------------------------------------------------------ */ + +GLEWAPI GLenum GLEWAPIENTRY glxewInit (); +GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name); + +#ifndef GLXEW_GET_VAR +#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x) +#endif + +#ifndef GLXEW_GET_FUN +#define GLXEW_GET_FUN(x) x +#endif + +GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name); + +#ifdef __cplusplus +} +#endif + +#endif /* __glxew_h__ */ diff --git a/msvc/packages.config b/msvc/packages.config new file mode 100644 index 0000000000..3f34097e44 --- /dev/null +++ b/msvc/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/msvc/projectM-qt.vcxproj b/msvc/projectM-qt.vcxproj new file mode 100644 index 0000000000..6aa42748c3 --- /dev/null +++ b/msvc/projectM-qt.vcxproj @@ -0,0 +1,750 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {9260C46C-6BC9-396F-9310-6BAAD56A7801} + 10.0.17763.0 + Win32Proj + x64 + projectM-qt + NoUpgrade + + + + Application + MultiByte + v141 + + + Application + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + C:\GIT\projectm\build-win\projectm\projectM-qt\Debug\ + projectM-qt.dir\Debug\ + projectM-qt + .exe + true + true + C:\GIT\projectm\build-win\projectm\projectM-qt\Release\ + projectM-qt.dir\Release\ + projectM-qt + .exe + false + true + + + + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;PROJECTM_PREFIX='';LINUX;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_LIB;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;PROJECTM_PREFIX='';LINUX;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_LIB;%(PreprocessorDefinitions) + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + + + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\libprojectM\Debug\projectM.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5OpenGLd.lib;..\libprojectM\NativePresetFactory\Debug\NativePresetFactory.lib;..\libprojectM\MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;..\libprojectM\Renderer\Debug\Renderer.lib;ftgl.lib;freetype.lib;opengl32.lib;glu32.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Cored.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + C:/GIT/projectm/build-win/projectm/projectM-qt/Debug/projectM-qt.lib + C:/GIT/projectm/build-win/projectm/projectM-qt/Debug/projectM-qt.pdb + Console + + + false + + + + + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;PROJECTM_PREFIX='';LINUX;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_LIB;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;PROJECTM_PREFIX='';LINUX;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_LIB;%(PreprocessorDefinitions) + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + + + C:\GIT\projectm\build-win\projectm\projectM-qt;$(MSBuildThisFileDirectory)../src\projectM-qt;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\.\mkspecs\win32-msvc;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtOpenGL;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\libprojectM\Release\projectM.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5OpenGL.lib;..\libprojectM\NativePresetFactory\Release\NativePresetFactory.lib;..\libprojectM\MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;..\libprojectM\Renderer\Release\Renderer.lib;ftgl.lib;freetype.lib;opengl32.lib;glu32.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Widgets.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + C:/GIT/projectm/build-win/projectm/projectM-qt/Release/projectM-qt.lib + C:/GIT/projectm/build-win/projectm/projectM-qt/Release/projectM-qt.pdb + Console + + + false + + + + + Generating qrc_application.cpp + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\rcc.exe --name application --output C:/GIT/projectm/build-win/projectm/projectM-qt/qrc_application.cpp C:/GIT/projectm/src/projectM-qt/application.qrc +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/application.qrc;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_add_playlist.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_edit.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_lock.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_playlist_clear.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_random.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_random_no.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_remove.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_save.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_unlock.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\prjm16-transparent.svg;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-1.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-2.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-3.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-4.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-5.png;$(MSBuildThisFileDirectory)../src\projectM-qt\application.qrc;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\qrc_application.cpp + false + Generating qrc_application.cpp + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\rcc.exe --name application --output C:/GIT/projectm/build-win/projectm/projectM-qt/qrc_application.cpp C:/GIT/projectm/src/projectM-qt/application.qrc +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/application.qrc;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_add_playlist.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_edit.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_lock.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_playlist_clear.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_random.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_random_no.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_remove.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_save.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\hi16-action-projectm_unlock.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\prjm16-transparent.svg;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-1.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-2.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-3.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-4.png;$(MSBuildThisFileDirectory)../src\projectM-qt\images\icons\rating-5.png;$(MSBuildThisFileDirectory)../src\projectM-qt\application.qrc;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\qrc_application.cpp + false + + + + + Generating moc_qprojectm_mainwindow.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectm_mainwindow.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectm_mainwindow.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm_mainwindow.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectm_mainwindow.cpp + false + Generating moc_qprojectm_mainwindow.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectm_mainwindow.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectm_mainwindow.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm_mainwindow.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectm_mainwindow.cpp + false + + + + + Generating moc_qpresetfiledialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpresetfiledialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpresetfiledialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpresetfiledialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpresetfiledialog.cpp + false + Generating moc_qpresetfiledialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpresetfiledialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpresetfiledialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpresetfiledialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpresetfiledialog.cpp + false + + + + + Generating moc_qplaylistfiledialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylistfiledialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylistfiledialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylistfiledialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylistfiledialog.cpp + false + Generating moc_qplaylistfiledialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylistfiledialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylistfiledialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylistfiledialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylistfiledialog.cpp + false + + + + + Generating moc_qplaylistmodel.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylistmodel.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylistmodel.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylistmodel.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylistmodel.cpp + false + Generating moc_qplaylistmodel.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylistmodel.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylistmodel.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylistmodel.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylistmodel.cpp + false + + + + + Generating moc_qprojectmconfigdialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectmconfigdialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectmconfigdialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmconfigdialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectmconfigdialog.cpp + false + Generating moc_qprojectmconfigdialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectmconfigdialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectmconfigdialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmconfigdialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectmconfigdialog.cpp + false + + + + + Generating moc_qplaylisttableview.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylisttableview.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylisttableview.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylisttableview.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylisttableview.cpp + false + Generating moc_qplaylisttableview.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qplaylisttableview.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qplaylisttableview.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qplaylisttableview.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qplaylisttableview.cpp + false + + + + + Generating moc_qpresettextedit.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpresettextedit.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpresettextedit.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpresettextedit.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpresettextedit.cpp + false + Generating moc_qpresettextedit.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpresettextedit.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpresettextedit.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpresettextedit.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpresettextedit.cpp + false + + + + + Generating moc_qpreseteditordialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpreseteditordialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpreseteditordialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpreseteditordialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpreseteditordialog.cpp + false + Generating moc_qpreseteditordialog.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qpreseteditordialog.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qpreseteditordialog.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qpreseteditordialog.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qpreseteditordialog.cpp + false + + + + + Generating moc_qprojectm.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectm.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectm.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectm.cpp + false + Generating moc_qprojectm.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectm.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectm.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectm.cpp + false + + + + + Generating moc_qprojectmwidget.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectmwidget.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectmwidget.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmwidget.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectmwidget.cpp + false + Generating moc_qprojectmwidget.cpp + setlocal +cd C:\GIT\projectm\build-win\projectm\projectM-qt +if %errorlevel% neq 0 goto :cmEnd +C: +if %errorlevel% neq 0 goto :cmEnd +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\moc.exe @C:/GIT/projectm/build-win/projectm/projectM-qt/moc_qprojectmwidget.cpp_parameters +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/build-win/projectm/CMakeFiles/79cc4e7a331c122f5a3a312cde1aff55/moc_qprojectmwidget.cpp.rule;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmwidget.hpp;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\moc_qprojectmwidget.cpp + false + + + + + Generating ui_qprojectm_mainwindow.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qprojectm_mainwindow.h C:/GIT/projectm/src/projectM-qt/qprojectm_mainwindow.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qprojectm_mainwindow.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm_mainwindow.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qprojectm_mainwindow.h + false + Generating ui_qprojectm_mainwindow.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qprojectm_mainwindow.h C:/GIT/projectm/src/projectM-qt/qprojectm_mainwindow.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qprojectm_mainwindow.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectm_mainwindow.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qprojectm_mainwindow.h + false + + + + + Generating ui_qprojectmconfigdialog.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qprojectmconfigdialog.h C:/GIT/projectm/src/projectM-qt/qprojectmconfigdialog.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qprojectmconfigdialog.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmconfigdialog.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qprojectmconfigdialog.h + false + Generating ui_qprojectmconfigdialog.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qprojectmconfigdialog.h C:/GIT/projectm/src/projectM-qt/qprojectmconfigdialog.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qprojectmconfigdialog.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qprojectmconfigdialog.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qprojectmconfigdialog.h + false + + + + + Generating ui_qpreseteditordialog.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qpreseteditordialog.h C:/GIT/projectm/src/projectM-qt/qpreseteditordialog.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qpreseteditordialog.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qpreseteditordialog.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qpreseteditordialog.h + false + Generating ui_qpreseteditordialog.h + setlocal +C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\uic.exe -o C:/GIT/projectm/build-win/projectm/projectM-qt/ui_qpreseteditordialog.h C:/GIT/projectm/src/projectM-qt/qpreseteditordialog.ui +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/qpreseteditordialog.ui;$(MSBuildThisFileDirectory)../src\projectM-qt\qpreseteditordialog.ui;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\ui_qpreseteditordialog.h + false + + + + + Building Custom Rule C:/GIT/projectm/src/projectM-qt/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SC:/GIT/projectm/src -BC:/GIT/projectm/build-win/projectm --check-stamp-file C:/GIT/projectm/build-win/projectm/projectM-qt/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/CMakeLists.txt;$(MSBuildThisFileDirectory)../src\projectM-qt\CMakeLists.txt;$(MSBuildThisFileDirectory)../src\projectM-qt\FindPkgConfig.cmake;$(MSBuildThisFileDirectory)../src\projectM-qt\application.qrc;$(MSBuildThisFileDirectory)../src\projectM-qt\cmake\CPack-projectM.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CMakeParseArguments.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.14\Templates\CPackConfig.cmake.in;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtrasMkspecDir.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreMacros.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QGifPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QICNSPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QICOPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QJpegPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QMinimalIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QOffscreenIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTgaPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTiffPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTuioTouchPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWbmpPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWebpPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWindowsIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5OpenGL\Qt5OpenGLConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5OpenGL\Qt5OpenGLConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsMacros.cmake;$(MSBuildThisFileDirectory)../src\projectM-qt\CMakeLists.txt;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\CMakeFiles\generate.stamp + false + Building Custom Rule C:/GIT/projectm/src/projectM-qt/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SC:/GIT/projectm/src -BC:/GIT/projectm/build-win/projectm --check-stamp-file C:/GIT/projectm/build-win/projectm/projectM-qt/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:/GIT/projectm/src/projectM-qt/CMakeLists.txt;$(MSBuildThisFileDirectory)../src\projectM-qt\CMakeLists.txt;$(MSBuildThisFileDirectory)../src\projectM-qt\FindPkgConfig.cmake;$(MSBuildThisFileDirectory)../src\projectM-qt\application.qrc;$(MSBuildThisFileDirectory)../src\projectM-qt\cmake\CPack-projectM.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CMakeParseArguments.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.14\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.14\Templates\CPackConfig.cmake.in;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtrasMkspecDir.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreMacros.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5GuiConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QGifPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QICNSPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QICOPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QJpegPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QMinimalIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QOffscreenIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTgaPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTiffPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QTuioTouchPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWbmpPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWebpPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Gui\Qt5Gui_QWindowsIntegrationPlugin.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5OpenGL\Qt5OpenGLConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5OpenGL\Qt5OpenGLConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfig.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfigExtras.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsConfigVersion.cmake;C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\cmake\Qt5Widgets\Qt5WidgetsMacros.cmake;$(MSBuildThisFileDirectory)../src\projectM-qt\CMakeLists.txt;%(AdditionalInputs) + C:\GIT\projectm\build-win\projectm\projectM-qt\CMakeFiles\generate.stamp + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {A7863C4B-0CDF-33D3-A206-8DC19E45FB41} + ZERO_CHECK + false + Never + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/projectM-qt.vcxproj.filters b/msvc/projectM-qt.vcxproj.filters new file mode 100644 index 0000000000..ce852705df --- /dev/null +++ b/msvc/projectM-qt.vcxproj.filters @@ -0,0 +1,117 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + + + + + + + + + Header Files + + + Header Files + + + Header Files + + + + + + + + + + + + + + + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + CMake Rules + + + + + + + + + + {61BB6D03-ACD9-3A99-B424-7A4B021C1B8F} + + + {9FD8840E-C452-3595-B8BC-200CDF0F6BF9} + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + \ No newline at end of file diff --git a/msvc/projectM.aps b/msvc/projectM.aps new file mode 100644 index 0000000000..50766a463d Binary files /dev/null and b/msvc/projectM.aps differ diff --git a/msvc/projectM.rc b/msvc/projectM.rc new file mode 100644 index 0000000000..c83537b6e1 --- /dev/null +++ b/msvc/projectM.rc @@ -0,0 +1,110 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "Windows.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +MAINICON ICON "projectM_qDj_icon.ico" + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""Windows.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 3,1,1,0 + PRODUCTVERSION 3,1,1,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "projectM Team" + VALUE "FileDescription", "projectM Visualizer." + VALUE "FileVersion", "3.`" + VALUE "InternalName", "projectM.exe" + VALUE "LegalCopyright", "Copyright (C) 2019 projectM Team" + VALUE "OriginalFilename", "projectM.exe" + VALUE "ProductName", "projectM" + VALUE "ProductVersion", "3.1.1.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/msvc/projectM.sln b/msvc/projectM.sln new file mode 100644 index 0000000000..81c7ad23c6 --- /dev/null +++ b/msvc/projectM.sln @@ -0,0 +1,93 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.489 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MilkdropPresetFactory", "MilkdropPresetFactory.vcxproj", "{EF3369C9-E934-3F1E-996B-21518B57A809}" + ProjectSection(ProjectDependencies) = postProject + {07427FA1-1771-3A2D-9183-167A8345DEEB} = {07427FA1-1771-3A2D-9183-167A8345DEEB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NativePresetFactory", "NativePresetFactory.vcxproj", "{E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1}" + ProjectSection(ProjectDependencies) = postProject + {07427FA1-1771-3A2D-9183-167A8345DEEB} = {07427FA1-1771-3A2D-9183-167A8345DEEB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Renderer", "Renderer.vcxproj", "{07427FA1-1771-3A2D-9183-167A8345DEEB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM", "projectM.vcxproj", "{DABC69A6-66C3-392C-8A62-EC989B0850A4}" + ProjectSection(ProjectDependencies) = postProject + {EF3369C9-E934-3F1E-996B-21518B57A809} = {EF3369C9-E934-3F1E-996B-21518B57A809} + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} = {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + {07427FA1-1771-3A2D-9183-167A8345DEEB} = {07427FA1-1771-3A2D-9183-167A8345DEEB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectMSDL", "projectMSDL.vcxproj", "{013DE011-EC24-3643-A8EE-F2609E7E4741}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MstressJuppyDancer", "MstressJuppyDancer.vcxproj", "{55A71B6A-5C7E-30D5-8210-302A8D2080DB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM-qt", "projectM-qt.vcxproj", "{9260C46C-6BC9-396F-9310-6BAAD56A7801}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RovastarDarkSecret", "RovastarDarkSecret.vcxproj", "{7A203034-A4D7-3A2B-9138-CB125F9B35E6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RovastarDriftingChaos", "RovastarDriftingChaos.vcxproj", "{6E418BC8-5407-3A37-96BD-5201D47DE753}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RovastarFractalSpiral", "RovastarFractalSpiral.vcxproj", "{B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RovastarFractopiaFrantic", "RovastarFractopiaFrantic.vcxproj", "{27DDCE71-E33B-3521-92B5-9918356D78A1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EF3369C9-E934-3F1E-996B-21518B57A809}.Debug|x64.ActiveCfg = Debug|x64 + {EF3369C9-E934-3F1E-996B-21518B57A809}.Debug|x64.Build.0 = Debug|x64 + {EF3369C9-E934-3F1E-996B-21518B57A809}.Release|x64.ActiveCfg = Release|x64 + {EF3369C9-E934-3F1E-996B-21518B57A809}.Release|x64.Build.0 = Release|x64 + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1}.Debug|x64.ActiveCfg = Debug|x64 + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1}.Debug|x64.Build.0 = Debug|x64 + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1}.Release|x64.ActiveCfg = Release|x64 + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1}.Release|x64.Build.0 = Release|x64 + {07427FA1-1771-3A2D-9183-167A8345DEEB}.Debug|x64.ActiveCfg = Debug|x64 + {07427FA1-1771-3A2D-9183-167A8345DEEB}.Debug|x64.Build.0 = Debug|x64 + {07427FA1-1771-3A2D-9183-167A8345DEEB}.Release|x64.ActiveCfg = Release|x64 + {07427FA1-1771-3A2D-9183-167A8345DEEB}.Release|x64.Build.0 = Release|x64 + {DABC69A6-66C3-392C-8A62-EC989B0850A4}.Debug|x64.ActiveCfg = Debug|x64 + {DABC69A6-66C3-392C-8A62-EC989B0850A4}.Debug|x64.Build.0 = Debug|x64 + {DABC69A6-66C3-392C-8A62-EC989B0850A4}.Release|x64.ActiveCfg = Release|x64 + {DABC69A6-66C3-392C-8A62-EC989B0850A4}.Release|x64.Build.0 = Release|x64 + {013DE011-EC24-3643-A8EE-F2609E7E4741}.Debug|x64.ActiveCfg = Debug|x64 + {013DE011-EC24-3643-A8EE-F2609E7E4741}.Debug|x64.Build.0 = Debug|x64 + {013DE011-EC24-3643-A8EE-F2609E7E4741}.Release|x64.ActiveCfg = Release|x64 + {013DE011-EC24-3643-A8EE-F2609E7E4741}.Release|x64.Build.0 = Release|x64 + {55A71B6A-5C7E-30D5-8210-302A8D2080DB}.Debug|x64.ActiveCfg = Debug|x64 + {55A71B6A-5C7E-30D5-8210-302A8D2080DB}.Debug|x64.Build.0 = Debug|x64 + {55A71B6A-5C7E-30D5-8210-302A8D2080DB}.Release|x64.ActiveCfg = Release|x64 + {55A71B6A-5C7E-30D5-8210-302A8D2080DB}.Release|x64.Build.0 = Release|x64 + {9260C46C-6BC9-396F-9310-6BAAD56A7801}.Debug|x64.ActiveCfg = Debug|x64 + {9260C46C-6BC9-396F-9310-6BAAD56A7801}.Release|x64.ActiveCfg = Release|x64 + {7A203034-A4D7-3A2B-9138-CB125F9B35E6}.Debug|x64.ActiveCfg = Debug|x64 + {7A203034-A4D7-3A2B-9138-CB125F9B35E6}.Debug|x64.Build.0 = Debug|x64 + {7A203034-A4D7-3A2B-9138-CB125F9B35E6}.Release|x64.ActiveCfg = Release|x64 + {7A203034-A4D7-3A2B-9138-CB125F9B35E6}.Release|x64.Build.0 = Release|x64 + {6E418BC8-5407-3A37-96BD-5201D47DE753}.Debug|x64.ActiveCfg = Debug|x64 + {6E418BC8-5407-3A37-96BD-5201D47DE753}.Debug|x64.Build.0 = Debug|x64 + {6E418BC8-5407-3A37-96BD-5201D47DE753}.Release|x64.ActiveCfg = Release|x64 + {6E418BC8-5407-3A37-96BD-5201D47DE753}.Release|x64.Build.0 = Release|x64 + {B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC}.Debug|x64.ActiveCfg = Debug|x64 + {B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC}.Debug|x64.Build.0 = Debug|x64 + {B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC}.Release|x64.ActiveCfg = Release|x64 + {B7C4937F-A36D-3B6C-A8AC-CA99772AE5EC}.Release|x64.Build.0 = Release|x64 + {27DDCE71-E33B-3521-92B5-9918356D78A1}.Debug|x64.ActiveCfg = Debug|x64 + {27DDCE71-E33B-3521-92B5-9918356D78A1}.Debug|x64.Build.0 = Debug|x64 + {27DDCE71-E33B-3521-92B5-9918356D78A1}.Release|x64.ActiveCfg = Release|x64 + {27DDCE71-E33B-3521-92B5-9918356D78A1}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6E597BEB-9585-33ED-9AAE-DAFFFAFD07C7} + EndGlobalSection +EndGlobal diff --git a/msvc/projectM.vcxproj b/msvc/projectM.vcxproj new file mode 100644 index 0000000000..355ec2573a --- /dev/null +++ b/msvc/projectM.vcxproj @@ -0,0 +1,178 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + 10.0.17763.0 + Win32Proj + x64 + projectM + NoUpgrade + + + + StaticLibrary + MultiByte + v141 + + + StaticLibrary + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + libprojectM\Debug\ + libprojectM.dir\Debug\ + projectM + .lib + libprojectM\Release\ + libprojectM.dir\Release\ + projectM + .lib + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + %(AdditionalOptions) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;USE_NATIVE_GLEW;STBI_NO_DDS;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;USE_NATIVE_GLEW;STBI_NO_DDS;projectM_FONT_MENU=\"\\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\\"\";projectM_FONT_TITLE=\"\\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\\"\";%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + %(AdditionalOptions) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;STBI_NO_DDS;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;USE_NATIVE_GLEW;STBI_NO_DDS;projectM_FONT_MENU=\"\\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\\"\";projectM_FONT_TITLE=\"\\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\\"\";%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;$(MSBuildThisFileDirectory)../src\libprojectM\NativePresetFactory;$(MSBuildThisFileDirectory)../src\libprojectM\MilkdropPresetFactory;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + + + + + + + + + + + + + + + + CompileAsC + CompileAsC + + + CompileAsC + CompileAsC + + + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/msvc/projectM.vcxproj.filters b/msvc/projectM.vcxproj.filters new file mode 100644 index 0000000000..746f0371e0 --- /dev/null +++ b/msvc/projectM.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + {9FD8840E-C452-3595-B8BC-200CDF0F6BF9} + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + + + + \ No newline at end of file diff --git a/msvc/projectMSDL.vcxproj b/msvc/projectMSDL.vcxproj new file mode 100644 index 0000000000..493d64acfe --- /dev/null +++ b/msvc/projectMSDL.vcxproj @@ -0,0 +1,213 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {013DE011-EC24-3643-A8EE-F2609E7E4741} + 10.0.17763.0 + Win32Proj + x64 + projectMSDL + NoUpgrade + + + + Application + MultiByte + v141 + + + Application + MultiByte + v141 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + projectM-sdl\Debug\ + projectMSDL.dir\Debug\ + projectM + .exe + true + true + projectM-sdl\Release\ + projectMSDL.dir\Release\ + projectM + .exe + false + true + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + Debug/ + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + WIN32;_WINDOWS;%(PreprocessorDefinitions) + $(IntDir) + + + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + libprojectM\Debug\projectM.lib;opengl32.lib;glu32.lib;NativePresetFactory\Debug\NativePresetFactory.lib;MilkdropPresetFactory\Debug\MilkdropPresetFactory.lib;Renderer\Debug\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + projectM-sdl/Debug/projectMSDL.lib + projectM-sdl/Debug/projectMSDL.pdb + Console + + + false + + + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + Release/ + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) + $(IntDir) + + + + + WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../src\libprojectM;$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)../src\libprojectM\Renderer;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + libprojectM\Release\projectM.lib;opengl32.lib;glu32.lib;NativePresetFactory\Release\NativePresetFactory.lib;MilkdropPresetFactory\Release\MilkdropPresetFactory.lib;Renderer\Release\Renderer.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + projectM-sdl/Release/projectMSDL.lib + projectM-sdl/Release/projectMSDL.pdb + Console + + + false + + + + + + + + + {EF3369C9-E934-3F1E-996B-21518B57A809} + MilkdropPresetFactory + false + Never + + + {E2D4CEE6-B8CB-32AC-8977-52A48C8DA4E1} + NativePresetFactory + false + Never + + + {07427FA1-1771-3A2D-9183-167A8345DEEB} + Renderer + false + Never + + + {DABC69A6-66C3-392C-8A62-EC989B0850A4} + projectM + false + Never + + + + + + + + + + + true + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/projectMSDL.vcxproj.filters b/msvc/projectMSDL.vcxproj.filters new file mode 100644 index 0000000000..665452a5d2 --- /dev/null +++ b/msvc/projectMSDL.vcxproj.filters @@ -0,0 +1,24 @@ + + + + + + + + + {086AAEDB-BC71-3D4F-A2E4-9BA153078E68} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/projectm_qDj_icon.ico b/msvc/projectm_qDj_icon.ico new file mode 100644 index 0000000000..f17febe4f2 Binary files /dev/null and b/msvc/projectm_qDj_icon.ico differ diff --git a/msvc/resource.h b/msvc/resource.h new file mode 100644 index 0000000000..79a6e7ad41 --- /dev/null +++ b/msvc/resource.h @@ -0,0 +1,15 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by projectM.rc +// + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/msvc/setup_inno.bmp b/msvc/setup_inno.bmp new file mode 100644 index 0000000000..47f97b3516 Binary files /dev/null and b/msvc/setup_inno.bmp differ diff --git a/msvc/setup_inno_small.bmp b/msvc/setup_inno_small.bmp new file mode 100644 index 0000000000..ee686f868a Binary files /dev/null and b/msvc/setup_inno_small.bmp differ diff --git a/msvc/wglew.h b/msvc/wglew.h new file mode 100644 index 0000000000..2097c0f033 --- /dev/null +++ b/msvc/wglew.h @@ -0,0 +1,1447 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2017, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** 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. +** * The name of the author 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. +*/ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __wglew_h__ +#define __wglew_h__ +#define __WGLEW_H__ + +#ifdef __wglext_h_ +#error wglext.h included before wglew.h +#endif + +#define __wglext_h_ + +#if !defined(WINAPI) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN 1 +# endif +#include +# undef WIN32_LEAN_AND_MEAN +#endif + +/* + * GLEW_STATIC needs to be set when using the static version. + * GLEW_BUILD is set when building the DLL version. + */ +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# ifdef GLEW_BUILD +# define GLEWAPI extern __declspec(dllexport) +# else +# define GLEWAPI extern __declspec(dllimport) +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* -------------------------- WGL_3DFX_multisample ------------------------- */ + +#ifndef WGL_3DFX_multisample +#define WGL_3DFX_multisample 1 + +#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 +#define WGL_SAMPLES_3DFX 0x2061 + +#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample) + +#endif /* WGL_3DFX_multisample */ + +/* ------------------------- WGL_3DL_stereo_control ------------------------ */ + +#ifndef WGL_3DL_stereo_control +#define WGL_3DL_stereo_control 1 + +#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 +#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 +#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 +#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 + +typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); + +#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL) + +#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control) + +#endif /* WGL_3DL_stereo_control */ + +/* ------------------------ WGL_AMD_gpu_association ------------------------ */ + +#ifndef WGL_AMD_gpu_association +#define WGL_AMD_gpu_association 1 + +#define WGL_GPU_VENDOR_AMD 0x1F00 +#define WGL_GPU_RENDERER_STRING_AMD 0x1F01 +#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 +#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 +#define WGL_GPU_RAM_AMD 0x21A3 +#define WGL_GPU_CLOCK_AMD 0x21A4 +#define WGL_GPU_NUM_PIPES_AMD 0x21A5 +#define WGL_GPU_NUM_SIMD_AMD 0x21A6 +#define WGL_GPU_NUM_RB_AMD 0x21A7 +#define WGL_GPU_NUM_SPI_AMD 0x21A8 + +typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); +typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int* attribList); +typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); +typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); +typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); +typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids); +typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data); +typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); + +#define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD) +#define wglCreateAssociatedContextAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAMD) +#define wglCreateAssociatedContextAttribsAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAttribsAMD) +#define wglDeleteAssociatedContextAMD WGLEW_GET_FUN(__wglewDeleteAssociatedContextAMD) +#define wglGetContextGPUIDAMD WGLEW_GET_FUN(__wglewGetContextGPUIDAMD) +#define wglGetCurrentAssociatedContextAMD WGLEW_GET_FUN(__wglewGetCurrentAssociatedContextAMD) +#define wglGetGPUIDsAMD WGLEW_GET_FUN(__wglewGetGPUIDsAMD) +#define wglGetGPUInfoAMD WGLEW_GET_FUN(__wglewGetGPUInfoAMD) +#define wglMakeAssociatedContextCurrentAMD WGLEW_GET_FUN(__wglewMakeAssociatedContextCurrentAMD) + +#define WGLEW_AMD_gpu_association WGLEW_GET_VAR(__WGLEW_AMD_gpu_association) + +#endif /* WGL_AMD_gpu_association */ + +/* ------------------------- WGL_ARB_buffer_region ------------------------- */ + +#ifndef WGL_ARB_buffer_region +#define WGL_ARB_buffer_region 1 + +#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 +#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 +#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 +#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 + +typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); +typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); +typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); +typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); + +#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB) +#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB) +#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB) +#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB) + +#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region) + +#endif /* WGL_ARB_buffer_region */ + +/* --------------------- WGL_ARB_context_flush_control --------------------- */ + +#ifndef WGL_ARB_context_flush_control +#define WGL_ARB_context_flush_control 1 + +#define WGLEW_ARB_context_flush_control WGLEW_GET_VAR(__WGLEW_ARB_context_flush_control) + +#endif /* WGL_ARB_context_flush_control */ + +/* ------------------------- WGL_ARB_create_context ------------------------ */ + +#ifndef WGL_ARB_create_context +#define WGL_ARB_create_context 1 + +#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 +#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 +#define WGL_CONTEXT_FLAGS_ARB 0x2094 +#define ERROR_INVALID_VERSION_ARB 0x2095 +#define ERROR_INVALID_PROFILE_ARB 0x2096 + +typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList); + +#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB) + +#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context) + +#endif /* WGL_ARB_create_context */ + +/* -------------------- WGL_ARB_create_context_no_error -------------------- */ + +#ifndef WGL_ARB_create_context_no_error +#define WGL_ARB_create_context_no_error 1 + +#define WGLEW_ARB_create_context_no_error WGLEW_GET_VAR(__WGLEW_ARB_create_context_no_error) + +#endif /* WGL_ARB_create_context_no_error */ + +/* --------------------- WGL_ARB_create_context_profile -------------------- */ + +#ifndef WGL_ARB_create_context_profile +#define WGL_ARB_create_context_profile 1 + +#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 +#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 + +#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile) + +#endif /* WGL_ARB_create_context_profile */ + +/* ------------------- WGL_ARB_create_context_robustness ------------------- */ + +#ifndef WGL_ARB_create_context_robustness +#define WGL_ARB_create_context_robustness 1 + +#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 + +#define WGLEW_ARB_create_context_robustness WGLEW_GET_VAR(__WGLEW_ARB_create_context_robustness) + +#endif /* WGL_ARB_create_context_robustness */ + +/* ----------------------- WGL_ARB_extensions_string ----------------------- */ + +#ifndef WGL_ARB_extensions_string +#define WGL_ARB_extensions_string 1 + +typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); + +#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB) + +#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string) + +#endif /* WGL_ARB_extensions_string */ + +/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */ + +#ifndef WGL_ARB_framebuffer_sRGB +#define WGL_ARB_framebuffer_sRGB 1 + +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 + +#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB) + +#endif /* WGL_ARB_framebuffer_sRGB */ + +/* ----------------------- WGL_ARB_make_current_read ----------------------- */ + +#ifndef WGL_ARB_make_current_read +#define WGL_ARB_make_current_read 1 + +#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 +#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 + +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); + +#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB) +#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB) + +#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read) + +#endif /* WGL_ARB_make_current_read */ + +/* -------------------------- WGL_ARB_multisample -------------------------- */ + +#ifndef WGL_ARB_multisample +#define WGL_ARB_multisample 1 + +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 + +#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample) + +#endif /* WGL_ARB_multisample */ + +/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */ + +#ifndef WGL_ARB_pbuffer +#define WGL_ARB_pbuffer 1 + +#define WGL_DRAW_TO_PBUFFER_ARB 0x202D +#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E +#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 +#define WGL_PBUFFER_LARGEST_ARB 0x2033 +#define WGL_PBUFFER_WIDTH_ARB 0x2034 +#define WGL_PBUFFER_HEIGHT_ARB 0x2035 +#define WGL_PBUFFER_LOST_ARB 0x2036 + +DECLARE_HANDLE(HPBUFFERARB); + +typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); + +#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB) +#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB) +#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB) +#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB) +#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB) + +#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer) + +#endif /* WGL_ARB_pbuffer */ + +/* -------------------------- WGL_ARB_pixel_format ------------------------- */ + +#ifndef WGL_ARB_pixel_format +#define WGL_ARB_pixel_format 1 + +#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 +#define WGL_DRAW_TO_WINDOW_ARB 0x2001 +#define WGL_DRAW_TO_BITMAP_ARB 0x2002 +#define WGL_ACCELERATION_ARB 0x2003 +#define WGL_NEED_PALETTE_ARB 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 +#define WGL_SWAP_METHOD_ARB 0x2007 +#define WGL_NUMBER_OVERLAYS_ARB 0x2008 +#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 +#define WGL_TRANSPARENT_ARB 0x200A +#define WGL_SHARE_DEPTH_ARB 0x200C +#define WGL_SHARE_STENCIL_ARB 0x200D +#define WGL_SHARE_ACCUM_ARB 0x200E +#define WGL_SUPPORT_GDI_ARB 0x200F +#define WGL_SUPPORT_OPENGL_ARB 0x2010 +#define WGL_DOUBLE_BUFFER_ARB 0x2011 +#define WGL_STEREO_ARB 0x2012 +#define WGL_PIXEL_TYPE_ARB 0x2013 +#define WGL_COLOR_BITS_ARB 0x2014 +#define WGL_RED_BITS_ARB 0x2015 +#define WGL_RED_SHIFT_ARB 0x2016 +#define WGL_GREEN_BITS_ARB 0x2017 +#define WGL_GREEN_SHIFT_ARB 0x2018 +#define WGL_BLUE_BITS_ARB 0x2019 +#define WGL_BLUE_SHIFT_ARB 0x201A +#define WGL_ALPHA_BITS_ARB 0x201B +#define WGL_ALPHA_SHIFT_ARB 0x201C +#define WGL_ACCUM_BITS_ARB 0x201D +#define WGL_ACCUM_RED_BITS_ARB 0x201E +#define WGL_ACCUM_GREEN_BITS_ARB 0x201F +#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 +#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 +#define WGL_DEPTH_BITS_ARB 0x2022 +#define WGL_STENCIL_BITS_ARB 0x2023 +#define WGL_AUX_BUFFERS_ARB 0x2024 +#define WGL_NO_ACCELERATION_ARB 0x2025 +#define WGL_GENERIC_ACCELERATION_ARB 0x2026 +#define WGL_FULL_ACCELERATION_ARB 0x2027 +#define WGL_SWAP_EXCHANGE_ARB 0x2028 +#define WGL_SWAP_COPY_ARB 0x2029 +#define WGL_SWAP_UNDEFINED_ARB 0x202A +#define WGL_TYPE_RGBA_ARB 0x202B +#define WGL_TYPE_COLORINDEX_ARB 0x202C +#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 +#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 +#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 +#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A +#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B + +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues); + +#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB) +#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB) +#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB) + +#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format) + +#endif /* WGL_ARB_pixel_format */ + +/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */ + +#ifndef WGL_ARB_pixel_format_float +#define WGL_ARB_pixel_format_float 1 + +#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 + +#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float) + +#endif /* WGL_ARB_pixel_format_float */ + +/* ------------------------- WGL_ARB_render_texture ------------------------ */ + +#ifndef WGL_ARB_render_texture +#define WGL_ARB_render_texture 1 + +#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 +#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 +#define WGL_TEXTURE_FORMAT_ARB 0x2072 +#define WGL_TEXTURE_TARGET_ARB 0x2073 +#define WGL_MIPMAP_TEXTURE_ARB 0x2074 +#define WGL_TEXTURE_RGB_ARB 0x2075 +#define WGL_TEXTURE_RGBA_ARB 0x2076 +#define WGL_NO_TEXTURE_ARB 0x2077 +#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 +#define WGL_TEXTURE_1D_ARB 0x2079 +#define WGL_TEXTURE_2D_ARB 0x207A +#define WGL_MIPMAP_LEVEL_ARB 0x207B +#define WGL_CUBE_MAP_FACE_ARB 0x207C +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 +#define WGL_FRONT_LEFT_ARB 0x2083 +#define WGL_FRONT_RIGHT_ARB 0x2084 +#define WGL_BACK_LEFT_ARB 0x2085 +#define WGL_BACK_RIGHT_ARB 0x2086 +#define WGL_AUX0_ARB 0x2087 +#define WGL_AUX1_ARB 0x2088 +#define WGL_AUX2_ARB 0x2089 +#define WGL_AUX3_ARB 0x208A +#define WGL_AUX4_ARB 0x208B +#define WGL_AUX5_ARB 0x208C +#define WGL_AUX6_ARB 0x208D +#define WGL_AUX7_ARB 0x208E +#define WGL_AUX8_ARB 0x208F +#define WGL_AUX9_ARB 0x2090 + +typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList); + +#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB) +#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB) +#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB) + +#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture) + +#endif /* WGL_ARB_render_texture */ + +/* ---------------- WGL_ARB_robustness_application_isolation --------------- */ + +#ifndef WGL_ARB_robustness_application_isolation +#define WGL_ARB_robustness_application_isolation 1 + +#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define WGLEW_ARB_robustness_application_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_application_isolation) + +#endif /* WGL_ARB_robustness_application_isolation */ + +/* ---------------- WGL_ARB_robustness_share_group_isolation --------------- */ + +#ifndef WGL_ARB_robustness_share_group_isolation +#define WGL_ARB_robustness_share_group_isolation 1 + +#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define WGLEW_ARB_robustness_share_group_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_share_group_isolation) + +#endif /* WGL_ARB_robustness_share_group_isolation */ + +/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */ + +#ifndef WGL_ATI_pixel_format_float +#define WGL_ATI_pixel_format_float 1 + +#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 +#define GL_RGBA_FLOAT_MODE_ATI 0x8820 +#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 + +#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float) + +#endif /* WGL_ATI_pixel_format_float */ + +/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */ + +#ifndef WGL_ATI_render_texture_rectangle +#define WGL_ATI_render_texture_rectangle 1 + +#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 + +#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle) + +#endif /* WGL_ATI_render_texture_rectangle */ + +/* --------------------------- WGL_EXT_colorspace -------------------------- */ + +#ifndef WGL_EXT_colorspace +#define WGL_EXT_colorspace 1 + +#define WGL_COLORSPACE_SRGB_EXT 0x3089 +#define WGL_COLORSPACE_LINEAR_EXT 0x308A +#define WGL_COLORSPACE_EXT 0x309D + +#define WGLEW_EXT_colorspace WGLEW_GET_VAR(__WGLEW_EXT_colorspace) + +#endif /* WGL_EXT_colorspace */ + +/* ------------------- WGL_EXT_create_context_es2_profile ------------------ */ + +#ifndef WGL_EXT_create_context_es2_profile +#define WGL_EXT_create_context_es2_profile 1 + +#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 + +#define WGLEW_EXT_create_context_es2_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es2_profile) + +#endif /* WGL_EXT_create_context_es2_profile */ + +/* ------------------- WGL_EXT_create_context_es_profile ------------------- */ + +#ifndef WGL_EXT_create_context_es_profile +#define WGL_EXT_create_context_es_profile 1 + +#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 + +#define WGLEW_EXT_create_context_es_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es_profile) + +#endif /* WGL_EXT_create_context_es_profile */ + +/* -------------------------- WGL_EXT_depth_float -------------------------- */ + +#ifndef WGL_EXT_depth_float +#define WGL_EXT_depth_float 1 + +#define WGL_DEPTH_FLOAT_EXT 0x2040 + +#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float) + +#endif /* WGL_EXT_depth_float */ + +/* ---------------------- WGL_EXT_display_color_table ---------------------- */ + +#ifndef WGL_EXT_display_color_table +#define WGL_EXT_display_color_table 1 + +typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length); + +#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT) +#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT) +#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT) +#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT) + +#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table) + +#endif /* WGL_EXT_display_color_table */ + +/* ----------------------- WGL_EXT_extensions_string ----------------------- */ + +#ifndef WGL_EXT_extensions_string +#define WGL_EXT_extensions_string 1 + +typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); + +#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT) + +#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string) + +#endif /* WGL_EXT_extensions_string */ + +/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */ + +#ifndef WGL_EXT_framebuffer_sRGB +#define WGL_EXT_framebuffer_sRGB 1 + +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 + +#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB) + +#endif /* WGL_EXT_framebuffer_sRGB */ + +/* ----------------------- WGL_EXT_make_current_read ----------------------- */ + +#ifndef WGL_EXT_make_current_read +#define WGL_EXT_make_current_read 1 + +#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 + +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); + +#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT) +#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT) + +#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read) + +#endif /* WGL_EXT_make_current_read */ + +/* -------------------------- WGL_EXT_multisample -------------------------- */ + +#ifndef WGL_EXT_multisample +#define WGL_EXT_multisample 1 + +#define WGL_SAMPLE_BUFFERS_EXT 0x2041 +#define WGL_SAMPLES_EXT 0x2042 + +#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample) + +#endif /* WGL_EXT_multisample */ + +/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */ + +#ifndef WGL_EXT_pbuffer +#define WGL_EXT_pbuffer 1 + +#define WGL_DRAW_TO_PBUFFER_EXT 0x202D +#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E +#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 +#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 +#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 +#define WGL_PBUFFER_LARGEST_EXT 0x2033 +#define WGL_PBUFFER_WIDTH_EXT 0x2034 +#define WGL_PBUFFER_HEIGHT_EXT 0x2035 + +DECLARE_HANDLE(HPBUFFEREXT); + +typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); + +#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT) +#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT) +#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT) +#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT) +#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT) + +#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer) + +#endif /* WGL_EXT_pbuffer */ + +/* -------------------------- WGL_EXT_pixel_format ------------------------- */ + +#ifndef WGL_EXT_pixel_format +#define WGL_EXT_pixel_format 1 + +#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 +#define WGL_DRAW_TO_WINDOW_EXT 0x2001 +#define WGL_DRAW_TO_BITMAP_EXT 0x2002 +#define WGL_ACCELERATION_EXT 0x2003 +#define WGL_NEED_PALETTE_EXT 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 +#define WGL_SWAP_METHOD_EXT 0x2007 +#define WGL_NUMBER_OVERLAYS_EXT 0x2008 +#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 +#define WGL_TRANSPARENT_EXT 0x200A +#define WGL_TRANSPARENT_VALUE_EXT 0x200B +#define WGL_SHARE_DEPTH_EXT 0x200C +#define WGL_SHARE_STENCIL_EXT 0x200D +#define WGL_SHARE_ACCUM_EXT 0x200E +#define WGL_SUPPORT_GDI_EXT 0x200F +#define WGL_SUPPORT_OPENGL_EXT 0x2010 +#define WGL_DOUBLE_BUFFER_EXT 0x2011 +#define WGL_STEREO_EXT 0x2012 +#define WGL_PIXEL_TYPE_EXT 0x2013 +#define WGL_COLOR_BITS_EXT 0x2014 +#define WGL_RED_BITS_EXT 0x2015 +#define WGL_RED_SHIFT_EXT 0x2016 +#define WGL_GREEN_BITS_EXT 0x2017 +#define WGL_GREEN_SHIFT_EXT 0x2018 +#define WGL_BLUE_BITS_EXT 0x2019 +#define WGL_BLUE_SHIFT_EXT 0x201A +#define WGL_ALPHA_BITS_EXT 0x201B +#define WGL_ALPHA_SHIFT_EXT 0x201C +#define WGL_ACCUM_BITS_EXT 0x201D +#define WGL_ACCUM_RED_BITS_EXT 0x201E +#define WGL_ACCUM_GREEN_BITS_EXT 0x201F +#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 +#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 +#define WGL_DEPTH_BITS_EXT 0x2022 +#define WGL_STENCIL_BITS_EXT 0x2023 +#define WGL_AUX_BUFFERS_EXT 0x2024 +#define WGL_NO_ACCELERATION_EXT 0x2025 +#define WGL_GENERIC_ACCELERATION_EXT 0x2026 +#define WGL_FULL_ACCELERATION_EXT 0x2027 +#define WGL_SWAP_EXCHANGE_EXT 0x2028 +#define WGL_SWAP_COPY_EXT 0x2029 +#define WGL_SWAP_UNDEFINED_EXT 0x202A +#define WGL_TYPE_RGBA_EXT 0x202B +#define WGL_TYPE_COLORINDEX_EXT 0x202C + +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues); + +#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT) +#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT) +#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT) + +#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format) + +#endif /* WGL_EXT_pixel_format */ + +/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */ + +#ifndef WGL_EXT_pixel_format_packed_float +#define WGL_EXT_pixel_format_packed_float 1 + +#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 + +#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float) + +#endif /* WGL_EXT_pixel_format_packed_float */ + +/* -------------------------- WGL_EXT_swap_control ------------------------- */ + +#ifndef WGL_EXT_swap_control +#define WGL_EXT_swap_control 1 + +typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); +typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); + +#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT) +#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT) + +#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control) + +#endif /* WGL_EXT_swap_control */ + +/* ----------------------- WGL_EXT_swap_control_tear ----------------------- */ + +#ifndef WGL_EXT_swap_control_tear +#define WGL_EXT_swap_control_tear 1 + +#define WGLEW_EXT_swap_control_tear WGLEW_GET_VAR(__WGLEW_EXT_swap_control_tear) + +#endif /* WGL_EXT_swap_control_tear */ + +/* --------------------- WGL_I3D_digital_video_control --------------------- */ + +#ifndef WGL_I3D_digital_video_control +#define WGL_I3D_digital_video_control 1 + +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 +#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 +#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 + +typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); + +#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D) +#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D) + +#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control) + +#endif /* WGL_I3D_digital_video_control */ + +/* ----------------------------- WGL_I3D_gamma ----------------------------- */ + +#ifndef WGL_I3D_gamma +#define WGL_I3D_gamma 1 + +#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E +#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F + +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue); +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); + +#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D) +#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D) +#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D) +#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D) + +#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma) + +#endif /* WGL_I3D_gamma */ + +/* ---------------------------- WGL_I3D_genlock ---------------------------- */ + +#ifndef WGL_I3D_genlock +#define WGL_I3D_genlock 1 + +#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 +#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045 +#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046 +#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047 +#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 +#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 +#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A +#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B +#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C + +typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource); +typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag); +typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay); + +#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D) +#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D) +#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D) +#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D) +#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D) +#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D) +#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D) +#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D) +#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D) +#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D) +#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D) +#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D) + +#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock) + +#endif /* WGL_I3D_genlock */ + +/* -------------------------- WGL_I3D_image_buffer ------------------------- */ + +#ifndef WGL_I3D_image_buffer +#define WGL_I3D_image_buffer 1 + +#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 +#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 + +typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count); +typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); +typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); +typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count); + +#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D) +#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D) +#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D) +#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D) + +#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer) + +#endif /* WGL_I3D_image_buffer */ + +/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */ + +#ifndef WGL_I3D_swap_frame_lock +#define WGL_I3D_swap_frame_lock 1 + +typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag); + +#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D) +#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D) +#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D) +#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D) + +#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock) + +#endif /* WGL_I3D_swap_frame_lock */ + +/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */ + +#ifndef WGL_I3D_swap_frame_usage +#define WGL_I3D_swap_frame_usage 1 + +typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); + +#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D) +#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D) +#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D) +#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D) + +#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage) + +#endif /* WGL_I3D_swap_frame_usage */ + +/* --------------------------- WGL_NV_DX_interop --------------------------- */ + +#ifndef WGL_NV_DX_interop +#define WGL_NV_DX_interop 1 + +#define WGL_ACCESS_READ_ONLY_NV 0x0000 +#define WGL_ACCESS_READ_WRITE_NV 0x0001 +#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002 + +typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); +typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); +typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); +typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void* dxDevice); +typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access); +typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void* dxObject, HANDLE shareHandle); +typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); +typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); + +#define wglDXCloseDeviceNV WGLEW_GET_FUN(__wglewDXCloseDeviceNV) +#define wglDXLockObjectsNV WGLEW_GET_FUN(__wglewDXLockObjectsNV) +#define wglDXObjectAccessNV WGLEW_GET_FUN(__wglewDXObjectAccessNV) +#define wglDXOpenDeviceNV WGLEW_GET_FUN(__wglewDXOpenDeviceNV) +#define wglDXRegisterObjectNV WGLEW_GET_FUN(__wglewDXRegisterObjectNV) +#define wglDXSetResourceShareHandleNV WGLEW_GET_FUN(__wglewDXSetResourceShareHandleNV) +#define wglDXUnlockObjectsNV WGLEW_GET_FUN(__wglewDXUnlockObjectsNV) +#define wglDXUnregisterObjectNV WGLEW_GET_FUN(__wglewDXUnregisterObjectNV) + +#define WGLEW_NV_DX_interop WGLEW_GET_VAR(__WGLEW_NV_DX_interop) + +#endif /* WGL_NV_DX_interop */ + +/* --------------------------- WGL_NV_DX_interop2 -------------------------- */ + +#ifndef WGL_NV_DX_interop2 +#define WGL_NV_DX_interop2 1 + +#define WGLEW_NV_DX_interop2 WGLEW_GET_VAR(__WGLEW_NV_DX_interop2) + +#endif /* WGL_NV_DX_interop2 */ + +/* --------------------------- WGL_NV_copy_image --------------------------- */ + +#ifndef WGL_NV_copy_image +#define WGL_NV_copy_image 1 + +typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define wglCopyImageSubDataNV WGLEW_GET_FUN(__wglewCopyImageSubDataNV) + +#define WGLEW_NV_copy_image WGLEW_GET_VAR(__WGLEW_NV_copy_image) + +#endif /* WGL_NV_copy_image */ + +/* ------------------------ WGL_NV_delay_before_swap ----------------------- */ + +#ifndef WGL_NV_delay_before_swap +#define WGL_NV_delay_before_swap 1 + +typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds); + +#define wglDelayBeforeSwapNV WGLEW_GET_FUN(__wglewDelayBeforeSwapNV) + +#define WGLEW_NV_delay_before_swap WGLEW_GET_VAR(__WGLEW_NV_delay_before_swap) + +#endif /* WGL_NV_delay_before_swap */ + +/* -------------------------- WGL_NV_float_buffer -------------------------- */ + +#ifndef WGL_NV_float_buffer +#define WGL_NV_float_buffer 1 + +#define WGL_FLOAT_COMPONENTS_NV 0x20B0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 +#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 +#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 +#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 +#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 + +#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer) + +#endif /* WGL_NV_float_buffer */ + +/* -------------------------- WGL_NV_gpu_affinity -------------------------- */ + +#ifndef WGL_NV_gpu_affinity +#define WGL_NV_gpu_affinity 1 + +#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 +#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 + +DECLARE_HANDLE(HGPUNV); +typedef struct _GPU_DEVICE { + DWORD cb; + CHAR DeviceName[32]; + CHAR DeviceString[128]; + DWORD Flags; + RECT rcVirtualScreen; +} GPU_DEVICE, *PGPU_DEVICE; + +typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); +typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); +typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); +typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); +typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); + +#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV) +#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV) +#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV) +#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV) +#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV) + +#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity) + +#endif /* WGL_NV_gpu_affinity */ + +/* ---------------------- WGL_NV_multisample_coverage ---------------------- */ + +#ifndef WGL_NV_multisample_coverage +#define WGL_NV_multisample_coverage 1 + +#define WGL_COVERAGE_SAMPLES_NV 0x2042 +#define WGL_COLOR_SAMPLES_NV 0x20B9 + +#define WGLEW_NV_multisample_coverage WGLEW_GET_VAR(__WGLEW_NV_multisample_coverage) + +#endif /* WGL_NV_multisample_coverage */ + +/* -------------------------- WGL_NV_present_video ------------------------- */ + +#ifndef WGL_NV_present_video +#define WGL_NV_present_video 1 + +#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 + +DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList); +typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList); +typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue); + +#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV) +#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV) +#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV) + +#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video) + +#endif /* WGL_NV_present_video */ + +/* ---------------------- WGL_NV_render_depth_texture ---------------------- */ + +#ifndef WGL_NV_render_depth_texture +#define WGL_NV_render_depth_texture 1 + +#define WGL_NO_TEXTURE_ARB 0x2077 +#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 +#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 +#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 +#define WGL_DEPTH_COMPONENT_NV 0x20A7 + +#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture) + +#endif /* WGL_NV_render_depth_texture */ + +/* -------------------- WGL_NV_render_texture_rectangle -------------------- */ + +#ifndef WGL_NV_render_texture_rectangle +#define WGL_NV_render_texture_rectangle 1 + +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 +#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 + +#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle) + +#endif /* WGL_NV_render_texture_rectangle */ + +/* --------------------------- WGL_NV_swap_group --------------------------- */ + +#ifndef WGL_NV_swap_group +#define WGL_NV_swap_group 1 + +typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); +typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count); +typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers); +typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier); +typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); + +#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV) +#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV) +#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV) +#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV) +#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV) +#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV) + +#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group) + +#endif /* WGL_NV_swap_group */ + +/* ----------------------- WGL_NV_vertex_array_range ----------------------- */ + +#ifndef WGL_NV_vertex_array_range +#define WGL_NV_vertex_array_range 1 + +typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); +typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); + +#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV) +#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV) + +#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range) + +#endif /* WGL_NV_vertex_array_range */ + +/* -------------------------- WGL_NV_video_capture ------------------------- */ + +#ifndef WGL_NV_video_capture +#define WGL_NV_video_capture 1 + +#define WGL_UNIQUE_ID_NV 0x20CE +#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF + +DECLARE_HANDLE(HVIDEOINPUTDEVICENV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); +typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList); +typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); +typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); + +#define wglBindVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewBindVideoCaptureDeviceNV) +#define wglEnumerateVideoCaptureDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoCaptureDevicesNV) +#define wglLockVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewLockVideoCaptureDeviceNV) +#define wglQueryVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewQueryVideoCaptureDeviceNV) +#define wglReleaseVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoCaptureDeviceNV) + +#define WGLEW_NV_video_capture WGLEW_GET_VAR(__WGLEW_NV_video_capture) + +#endif /* WGL_NV_video_capture */ + +/* -------------------------- WGL_NV_video_output -------------------------- */ + +#ifndef WGL_NV_video_output +#define WGL_NV_video_output 1 + +#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 +#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 +#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 +#define WGL_VIDEO_OUT_COLOR_NV 0x20C3 +#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 +#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 +#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 +#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 +#define WGL_VIDEO_OUT_FRAME 0x20C8 +#define WGL_VIDEO_OUT_FIELD_1 0x20C9 +#define WGL_VIDEO_OUT_FIELD_2 0x20CA +#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB +#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC + +DECLARE_HANDLE(HPVIDEODEV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); +typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice); +typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); +typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock); + +#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV) +#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV) +#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV) +#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV) +#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV) +#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV) + +#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output) + +#endif /* WGL_NV_video_output */ + +/* -------------------------- WGL_OML_sync_control ------------------------- */ + +#ifndef WGL_OML_sync_control +#define WGL_OML_sync_control 1 + +typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator); +typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc); +typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc); +typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc); + +#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML) +#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML) +#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML) +#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML) +#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML) +#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML) + +#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control) + +#endif /* WGL_OML_sync_control */ + +/* ------------------------------------------------------------------------- */ + +#define WGLEW_FUN_EXPORT GLEW_FUN_EXPORT +#define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT + +WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL; + +WGLEW_FUN_EXPORT PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD; +WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD; +WGLEW_FUN_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD; +WGLEW_FUN_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD; +WGLEW_FUN_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD; +WGLEW_FUN_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD; + +WGLEW_FUN_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB; + +WGLEW_FUN_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB; + +WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB; + +WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB; +WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB; + +WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB; +WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB; +WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB; +WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB; +WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB; + +WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB; + +WGLEW_FUN_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB; +WGLEW_FUN_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB; +WGLEW_FUN_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB; + +WGLEW_FUN_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT; + +WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT; + +WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT; +WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT; + +WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT; +WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT; +WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT; +WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT; +WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT; + +WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT; + +WGLEW_FUN_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT; +WGLEW_FUN_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT; + +WGLEW_FUN_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D; +WGLEW_FUN_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D; + +WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D; +WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D; +WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D; +WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D; + +WGLEW_FUN_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D; +WGLEW_FUN_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D; + +WGLEW_FUN_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D; +WGLEW_FUN_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D; +WGLEW_FUN_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D; +WGLEW_FUN_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D; + +WGLEW_FUN_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D; + +WGLEW_FUN_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D; +WGLEW_FUN_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D; +WGLEW_FUN_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D; + +WGLEW_FUN_EXPORT PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV; +WGLEW_FUN_EXPORT PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV; +WGLEW_FUN_EXPORT PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV; +WGLEW_FUN_EXPORT PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV; +WGLEW_FUN_EXPORT PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV; +WGLEW_FUN_EXPORT PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV; +WGLEW_FUN_EXPORT PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV; +WGLEW_FUN_EXPORT PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV; + +WGLEW_FUN_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV; + +WGLEW_FUN_EXPORT PFNWGLDELAYBEFORESWAPNVPROC __wglewDelayBeforeSwapNV; + +WGLEW_FUN_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV; +WGLEW_FUN_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV; +WGLEW_FUN_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV; + +WGLEW_FUN_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV; +WGLEW_FUN_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV; +WGLEW_FUN_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV; +WGLEW_FUN_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV; +WGLEW_FUN_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV; + +WGLEW_FUN_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV; +WGLEW_FUN_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV; +WGLEW_FUN_EXPORT PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV; +WGLEW_FUN_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV; +WGLEW_FUN_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV; + +WGLEW_FUN_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML; +WGLEW_FUN_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML; +WGLEW_FUN_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML; +WGLEW_FUN_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML; +WGLEW_FUN_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML; +WGLEW_FUN_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML; +WGLEW_VAR_EXPORT GLboolean __WGLEW_3DFX_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_3DL_stereo_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_no_error; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_make_current_read; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pbuffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_render_texture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_application_isolation; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_share_group_isolation; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_pixel_format_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_colorspace; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es2_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_display_color_table; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_extensions_string; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_make_current_read; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pbuffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control_tear; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_digital_video_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_gamma; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_genlock; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_image_buffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop2; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_copy_image; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_delay_before_swap; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_gpu_affinity; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_multisample_coverage; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_swap_group; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_vertex_array_range; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output; +WGLEW_VAR_EXPORT GLboolean __WGLEW_OML_sync_control; +/* ------------------------------------------------------------------------- */ + +GLEWAPI GLenum GLEWAPIENTRY wglewInit (); +GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name); + +#ifndef WGLEW_GET_VAR +#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) +#endif + +#ifndef WGLEW_GET_FUN +#define WGLEW_GET_FUN(x) x +#endif + +GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name); + +#ifdef __cplusplus +} +#endif + +#undef GLEWAPI + +#endif /* __wglew_h__ */ diff --git a/nix/shell.nix b/nix/shell.nix new file mode 100644 index 0000000000..72b089a1a1 --- /dev/null +++ b/nix/shell.nix @@ -0,0 +1,11 @@ +{ pkgs ? import { } }: + +with pkgs; stdenv.mkDerivation { + name = "projectm-shell"; + buildInputs = [ + glm + libGLU_combined + SDL2 + darwin.apple_sdk.frameworks.Carbon + ]; +} diff --git a/presets/CVS/Entries b/presets/CVS/Entries deleted file mode 100755 index 68dea92d66..0000000000 --- a/presets/CVS/Entries +++ /dev/null @@ -1,229 +0,0 @@ -/Aderrasi - Agitator.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Gravity Directive Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Spirogravity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airhandler (Menagerie Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs (Windy Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Verified Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Aqualung Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Side Effects Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antique Abyss.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Arise! (Padded Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Ashes Of Air (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bitterfeld (Crystal Border Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Blender.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bow To Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Brakefreak.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Candy Avian.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (REMix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Chromatic Abyss (The Other Side).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Circlefacade.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion (Xenomorph Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Crystal Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Dark Matter (Converse Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Elastoid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Floater Society.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Flowing Form.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Making Time (Swamp Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Multiviola.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Negative Sun III.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Paintsphere.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What Cannot Be Undone.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What cannot be.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Che - Terracarbon Stream.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/CrystalHigh - mad ravetriping.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Follow the ball.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Ice Drops.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - 0 To 60.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - Window Reflection 6.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - simple.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Notions Of Tonality 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Blasto.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cosmic Dust 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cruzin'.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Downward Spiral.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eddies 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eggs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - El Cubismo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Nautilus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Ever Changing.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Gold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Oldskool Mellowstyle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 4.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 5.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - MOTIVATION!.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot24-7 - Ascending to heaven 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - Return Of The King.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - The Piper.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Rovastar - Clouded Bottle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Unchained - Invade My Mind.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion - Figure Eight.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Illusion - Spiral Movement.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & TEcHNO - Rhythmic Mantas.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Digital Flame.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Dynamic Borders 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Framed Geometry.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Interwoven (Nightmare Weft Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - War Machine (Shifting Complexity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Windowframe To Mega Swirl 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Darius - Pursuing The Sunset.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancers In The Dark.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acid Universes (Big Bang Interferences Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Aurora Boreale.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Curtain.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Reenen - phoenix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Aderrasi - Clockwork Organism.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Deadly Flower.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds (Astral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Hurricane Nightmare.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Ice Planet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Notions Of Tonality.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octoplasm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Surface (Vectrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Idiot24-7 - Balk Acid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Flowing Synergy.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Interwoven (Contra Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Headspin.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Sugar Spun Sister.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - More Cherished Desires.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - Twisted Spider Web.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Telek - Cosmic Fireworks.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Unchained - Centre Of Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Narell's Fever.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Sea Of Zigrot.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Duel Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Surealist Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Bellanova (New Wave Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Biohazard Warning.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Chapel Of Ghouls.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Mosaic (Active Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Decreasing Dreams (Extended Movement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Explosive Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Forgotten Moon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Frozen Rapture .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Future Speakers.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Fractal Encounter.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace (Frozen Rapture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Dark Secret Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Distant Memories Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Strange Cargo Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Altars Of Madness MIx).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Round Round Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Magic Carpet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Omnipresence Resurrection.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Pandora's Volcano.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Parallel Universe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Sea Shells.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space (Space DNA Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space (Twisted Dimension Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Awakening.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours (Drifting Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Shroomery.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Unchained - Braindance Visions.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Neuro - Starover (Semicolon Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Aderrasi - Canon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Che - Inside The House Of Nil.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Zylot - Rainbow River.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Entity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Minor Alteration.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - State Of Discretion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Wrenched Fate.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - It's Only Make Believe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - Numerosity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Telek - Flicker.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Illusion - Logic Morph.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - For The Seagull.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Slow Solstice.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Triptionary.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Xen Traffic.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 1.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cartoon Factory.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cranked On Failure.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Goo Kung Fu.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - In Memory Of Peg.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Jaded Emotion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Perverted Dialect.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - ReAwoke.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Ribald Ballad.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Shaping The Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Subjective Experience Of The Manifold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Working the Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Azirphaeli's Mirror.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Block Of Sound (Abstract Architecture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Crystal Ball (Magical Reaction Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Digiscape Advanced Processor.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Ether Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Inside The Planar Portal.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Crawl.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Vein.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - PinWheel.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - String.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - The Inner Workings of my New Computer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Visionarie.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - light of the path.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Godhead.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Take this highway.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -D diff --git a/presets/CVS/Repository b/presets/CVS/Repository deleted file mode 100755 index f06e44710b..0000000000 --- a/presets/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/presets_projectM diff --git a/presets/CVS/Root b/presets/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/presets/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/presets/Rocke - Answer.42.milk b/presets/Rocke - Answer.42.milk deleted file mode 100755 index 2e2c2a6aa7..0000000000 --- a/presets/Rocke - Answer.42.milk +++ /dev/null @@ -1,67 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.998000 -fDecay=0.993000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=5.900000 -fWaveScale=0.750110 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.961900 -rot=-0.010000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.900000 -wave_g=0.450000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=19.200005 -mv_l=5.000000 -mv_r=0.500000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.100000 -per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); -per_frame_2=wave_g = wave_g + 0.05*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); -per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); -per_frame_4=wave_mystery = 0.5*sin(0.35*bass); -per_frame_5=decay = decay - 0.01*equal(frame%50,0); -per_pixel_1=zoom = zoom + (0.1*rad); -per_pixel_2=rot = rot - 0.15*sin(ang); diff --git a/presets/Rovastar - Trippy S..milk b/presets/Rovastar - Trippy S..milk deleted file mode 100755 index 46f06716d6..0000000000 --- a/presets/Rovastar - Trippy S..milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.525090 -fWaveSmoothing=0.360000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070549 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ff = frame/100; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = cos(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets/Telek - Slow Shift Matrix (bb4.5).milk b/presets/Telek - Slow Shift Matrix (bb4.5).milk deleted file mode 100755 index 33bc628052..0000000000 --- a/presets/Telek - Slow Shift Matrix (bb4.5).milk +++ /dev/null @@ -1,80 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001645 -fWaveScale=0.430333 -fWaveSmoothing=0.630000 -fWaveParam=1.000000 -fModWaveAlphaStart=2.000000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.001000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.300000 -ob_a=1.000000 -ib_size=0.100000 -ib_r=1.000000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.941273 -mv_dy=0.426319 -mv_l=5.000000 -mv_r=0.315997 -mv_g=0.078173 -mv_b=0.941976 -mv_a=0.000000 -per_frame_1=bv = bass*.01+.99*bv; -per_frame_2=tt=tt+bass*.01; -per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); -per_frame_4=wave_x =-1; -per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); -per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); -per_frame_7=rot = 1*sin(tt*.15); -per_frame_8=cx = sin(tt*.16)*.5+.5; -per_frame_9=cy = cos(tt*.46)*.5+.5; -per_frame_10=ib_r = sin(tt*.51)*.5+.5; -per_frame_11=ib_g = sin(tt*.71)*.5+.5; -per_frame_12=ib_b = sin(tt*.81)*.5+.5; -per_frame_13=monitor = tt; -per_frame_14= -per_pixel_1=zoom = .8-.2*pow(1-rad,1); -per_frame_init_1=tt = rand(10000); -per_frame_init_2= diff --git a/presets/Zylot - S. Pulse Virus.milk b/presets/Zylot - S. Pulse Virus.milk deleted file mode 100755 index 89398782f8..0000000000 --- a/presets/Zylot - S. Pulse Virus.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.750000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=0.999994 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); -per_frame_2=wave_mystery = wave_mystery + push; -per_frame_3=wave_r = wave_r + .5*sin(time*.222); -per_frame_4=wave_g = wave_g + .5*sin(time*.333); -per_frame_5=wave_b = wave_b + .5*sin(time*.444); -per_frame_6=warp = 0; -per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets/presets_bltc201/3dRaGoNs & Unchained - Dragon Science.milk b/presets/presets_bltc201/3dRaGoNs & Unchained - Dragon Science.milk new file mode 100755 index 0000000000..8540877306 --- /dev/null +++ b/presets/presets_bltc201/3dRaGoNs & Unchained - Dragon Science.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.203135 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008147 +fShader=0.000000 +zoom=1.001600 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+ +per_pixel_5= y*10%5)*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.3; +per_pixel_6=sx=sx-bor(snee,snur)*cos(y*q2)*.05; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*q1)*.03; +per_pixel_8=cx=cx+sin(x*3.14*q6)*snur*.45; +per_pixel_9=cy=cx+sin(y*3.14*q5)*snee*.5; +per_pixel_10=zoom=zoom+.1*snee*bnot(snur)-.1*snur*bnot(snee); diff --git a/presets/presets_bltc201/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk b/presets/presets_bltc201/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk new file mode 100755 index 0000000000..58806373d5 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.001 +fDecay=0.950 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.073 +fWaveScale=1.286 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99951 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01010 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Crab).milk b/presets/presets_bltc201/Aderrasi - Airhandler (Last Breath - Crab).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Crab).milk rename to presets/presets_bltc201/Aderrasi - Airhandler (Last Breath - Crab).milk diff --git a/presets/presets_bltc201/Aderrasi - Airhandler (Last Breath - Eden).milk b/presets/presets_bltc201/Aderrasi - Airhandler (Last Breath - Eden).milk new file mode 100755 index 0000000000..8c3381f0c6 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Airhandler (Last Breath - Eden).milk @@ -0,0 +1,222 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=1.000000 +fVideoEchoZoom=0.999599 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.364568 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.300000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.200000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_pixel_1=zoom = zoom + 0.04*(sin(8+6*sin(0.2*time)*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.3*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets_milkdrop_104/Aderrasi - Airhandler (Principle of Sharing).milk b/presets/presets_bltc201/Aderrasi - Airhandler (Principle of Sharing).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Aderrasi - Airhandler (Principle of Sharing).milk rename to presets/presets_bltc201/Aderrasi - Airhandler (Principle of Sharing).milk diff --git a/presets/presets_bltc201/Aderrasi - Bitterfeld (Crystal Border Mix).milk b/presets/presets_bltc201/Aderrasi - Bitterfeld (Crystal Border Mix).milk new file mode 100755 index 0000000000..450f0b083e --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Bitterfeld (Crystal Border Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.448626 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.310603 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.600000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ib_r =wave_r; +per_frame_6=ib_g = wave_g; +per_frame_7=ib_b = wave_b; +per_frame_8=wave_mystery = wave_mystery + 0.3*time; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - 0.2*(1.5-rad)*sin(bass/2*treb_att)*(rad*2*(rad*abs(sin(9*ang)))); +per_pixel_6=rot = rot + dy_r*(2-zoom)*0.3*cos(bass)*20; +per_pixel_7=rot = rot - 0.4*(rad*cos(abs(12*ang)))*below(rad,0.3+ 0.4*sin(bass)); +per_pixel_8=dx = dx + 0.5*abs(rad+x-0.5*(bass/y*0.2))*dx_r; +per_pixel_9=dy = dy + 0.5*abs(rad+y-0.5*(treb/x*0.2))*dy_r; diff --git a/presets/presets_bltc201/Aderrasi - Bow To Gravity.milk b/presets/presets_bltc201/Aderrasi - Bow To Gravity.milk new file mode 100755 index 0000000000..c1606b0a27 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Bow To Gravity.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.930000 +fVideoEchoZoom=0.999837 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.796896 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999995 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.5*wave_r; +per_frame_6=ob_b = 0.5*wave_g; +per_frame_7=ob_g = 0.5*wave_b; +per_frame_8=ib_r = wave_g; +per_frame_9=ib_g = wave_b; +per_frame_10=ib_b = wave_r; +per_frame_11=wave_mystery = wave_mystery + 25*sin(3-1*(sin(0.001*time))); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dx = dx + above(x,0.5)*x*0.005; +per_pixel_5=dx = dx - below(x,0.5)*(1-x)*0.005; +per_pixel_6=dy = dy + above(y,0.5)*y*0.005; +per_pixel_7=dy = dy + below(y,0.5)*(1-y)*0.005; +per_pixel_8=zoom = zoom - 100*((1-rad)*((1.5*rad)*0.005 + 0.004*sin(0.5*bass_att))); +per_pixel_9= +per_pixel_10=rot = rot + (cos(bass_att*treb_att)/(1-treb)+0.5*time)*0.0005; +per_pixel_11=zoomexp = 0.8 + 1+sin(treb_att); diff --git a/presets/presets_bltc201/Aderrasi - Brakefreak-bitcore tweak.milk b/presets/presets_bltc201/Aderrasi - Brakefreak-bitcore tweak.milk new file mode 100755 index 0000000000..462d4ba8e1 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Brakefreak-bitcore tweak.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.05 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=ib_r = wave_r*0.5; +per_frame_5=ib_g = wave_g*0.5; +per_frame_6=ib_b = wave_b*0.5; +per_frame_7=ob_r = wave_b; +per_frame_8=ob_g = wave_r; +per_frame_9=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.06*(0.1*(time))+(0.5*(0.5-rad))+rad; +per_pixel_6=rot = rot - 0.1*sqr(0.5*cos(ang*time)*bass_att); +per_pixel_7=zoom = zoom - 0.04*(sin(rad)); +per_pixel_8=zoom = zoom - 0.1*above(y,0.5)*sqr(0.7*sin(ang*time)*bass_att); +per_pixel_9=zoom = zoom - 0.1*below(y,0.5)*sqr(0.5*cos(ang*time)*treb_att); diff --git a/presets/presets_bltc201/Aderrasi - Contortion (Escher's Tunnel Mix).milk b/presets/presets_bltc201/Aderrasi - Contortion (Escher's Tunnel Mix).milk new file mode 100755 index 0000000000..119511ac96 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Contortion (Escher's Tunnel Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.741918 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.072694 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.781671 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.3 + 0.3*sin(1.56*time); +per_frame_6=ob_g = 0.3 + 0.3*sin(2.15*time); +per_frame_7=ob_b = 0.3 + 0.3*cos(1.4*time); +per_frame_8=ing = 2*sin(0.25*time); +per_frame_9=wave_x = wave_x + 0.0257*sin(time); +per_frame_10=wave_y = wave_y + 0.0257*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + above(bass,1)*0.25*(1-rad)*(100*dx_r); +per_pixel_6=zoom = zoom + 0.2*(0.5-rad); +per_pixel_7=cx = cx + above(bass,1)*0.25*sin(time)*(100*dy_r); +per_pixel_8=cy = cy + above(mid,1)*0.25*cos(time)*(100*dy_r); +per_pixel_9=dy = dy - dy_r; +per_pixel_10=dx = dx - dx_r; diff --git a/presets/presets_bltc201/Aderrasi - Ert (Wary Mix).milk b/presets/presets_bltc201/Aderrasi - Ert (Wary Mix).milk new file mode 100755 index 0000000000..73cfbb0262 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Ert (Wary Mix).milk @@ -0,0 +1,98 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.334695 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.255374 +fWaveScale=100.000000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999997 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_tick = above(bass_att,bass_tick)*2 + (1-above(bass_att,bass_tick))* +per_frame_2=((bass_tick-1.3)*0.96+1.3); +per_frame_3=treb_tick = above(treb_att,treb_tick)*2 + (1-above(treb_att,treb_tick))* +per_frame_4=((treb_tick-1.3)*0.96+1.3); +per_frame_5=mid_tick = above(mid_att,mid_tick)*2 + (1-above(mid_att,mid_tick))* +per_frame_6=((mid_tick-1.3)*0.96+1.3); +per_frame_7=bass_shift = equal(bass_tick,2)*0.95*sin(time*5) + (1-equal(bass_tick,2))*bass_shift; +per_frame_8=treb_shift = equal(treb_tick,2)*0.95*sin(time*5) + (1-equal(treb_tick,2))*treb_shift; +per_frame_9=mid_shift = equal(mid_tick,2)*0.95*sin(time*5) + (1-equal(mid_tick,2))*mid_shift; +per_frame_10= +per_frame_11=//wave_x = wave_x + 0.12*sin(time); +per_frame_12=//wave_y =wave_y + 0.12*cos(time); +per_frame_13=wave_r = wave_r + bass_shift; +per_frame_14=wave_g = wave_g + mid_shift; +per_frame_15=wave_b = wave_b + treb_shift; +per_frame_16=q1 = bass_shift; +per_frame_17=q2= mid_shift; +per_frame_18=q3 = treb_shift; +per_frame_19=zoom = zoom + abs(0.05*(treb/2*cos(bass_att*treb_shift)*bass_shift)); +per_frame_20=ib_r = 1-wave_r; +per_frame_21=ib_g = 1-wave_g; +per_frame_22=ib_b = 1-wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot - 0.05*(((rad*q3)+0.55*q1)*(0.5*sin(time)-cos(0.5-2*(2.5*rad)))); +per_pixel_6=rot = rot - 0.05*if (above(time,((q1*q2*q3)/3)),(sin(2*rad))*(6.5*rad)*2*dy-r,dx_r); +per_pixel_7=zoom = zoom + 0.1*equal(zoom,0)*dy_r; +per_pixel_8=rot = rot + 0.025*(rad*6+(q1*q3)); +per_pixel_9=cx = cx - 0.25*(cos(time)-0.5*sin(time*1.2)); +per_pixel_10=cy = cy - 0.25*(sin(time)+0.5*cos(1.22*time)); +per_pixel_11=dx = dx + dx_r; +per_pixel_12=dy = dy + dy_r; +per_pixel_13=zoom = zoom - rad*0.1; diff --git a/presets/presets_bltc201/Aderrasi - Ghast Entity.milk b/presets/presets_bltc201/Aderrasi - Ghast Entity.milk new file mode 100755 index 0000000000..5a91427f36 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Ghast Entity.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.397106 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom + 0.08; +per_pixel_6=zoom = zoom - (0.5-y*rad*0.2*abs(cos(rad*bass-0.7*sin(ang*12))))*0.1; +per_pixel_7=dy = dy + dy_r; +per_pixel_8=dx = dx + dx_r; +per_pixel_9=sx = sx + sin(time)*(0.4*rad)-sin(3*bass*cos(ang*16)*0.3-rad)*0.05; +per_pixel_10=sy = sy + cos(1.25*time)*(0.4*rad)-cos(3*treb*sin(ang*16)*0.3-rad)*0.05; +per_pixel_11=rot = rot - tan(time)*(0.3*rad)-sin(mid*sin(ang*6)*0.3-rad)*0.1; diff --git a/presets/presets_bltc201/Aderrasi - Halls Of Centrifuge.milk b/presets/presets_bltc201/Aderrasi - Halls Of Centrifuge.milk new file mode 100755 index 0000000000..adb23afee2 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Halls Of Centrifuge.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.488620 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.200000 +ob_r=0.900000 +ob_g=0.900000 +ob_b=0.900000 +ob_a=0.500000 +ib_size=0.050000 +ib_r=0.900000 +ib_g=0.900000 +ib_b=0.900000 +ib_a=0.500000 +nMotionVectorsX=1.280000 +nMotionVectorsY=9.599999 +mv_dx=0.400000 +mv_dy=-0.200000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0.00; +per_frame_5=ib_r = wave_b; +per_frame_6=ib_g = wave_r; +per_frame_7=ib_b = wave_g; +per_frame_8=ob_r = wave_r * sin(wave_b); +per_frame_9=ob_g = wave_g *sin(wave_r); +per_frame_10=ob_b = wave_b * sin(wave_g); +per_frame_11=zoom = zoom - 0.05; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + rad*(1.1*sin(time)-rad)*1.25; +per_pixel_5=rot = rot + above(rad,0.7 - 0.2*sin(bass))*0.1; +per_pixel_6=zoom = zoom - above(rad,0.5+ 0.1*sin(1-rad*cos(time)))*below((0.5*sin(time))-rad,0.5)*0.09*rad; +per_pixel_7=zoom = zoom + below(rad,0.75 + 0.5*sin(bass*time))*0.025; +per_pixel_8=zoom = zoom - 0.02*((sin(time)-rad)*1-rad); +per_pixel_9=zoom = zoom + 0.03*(0.10+(1+rad))*below(rad,0.1)*above(bass,1); diff --git a/presets/presets_bltc201/Aderrasi - Hard Drink (Half-Infinitea).milk b/presets/presets_bltc201/Aderrasi - Hard Drink (Half-Infinitea).milk new file mode 100755 index 0000000000..e537cd86dd --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Hard Drink (Half-Infinitea).milk @@ -0,0 +1,301 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.310600 +fWaveSmoothing=0.500000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=2.006759 +fWarpScale=14.681465 +fZoomExponent=0.334693 +fShader=1.000000 +zoom=0.995037 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.300000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=100.000000 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.999999 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.030000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2= +shape_0_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame5=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame6=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame7=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame11=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame12=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2=x = x + 0.05*sin(time*1.05+3); +shape_1_per_frame3=y = y + 0.03*sin(time*1.29+1); +shape_1_per_frame4=ang = time*(0.1 + 0.1*t1); +shape_1_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame9=//r = q3; +shape_1_per_frame10=//g = q2; +shape_1_per_frame11=//b = q1; +shape_1_per_frame12=//r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame13=//g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame14=//b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2=x = x + 0.05*sin(time*0.17); +shape_2_per_frame3=y = y + 0.03*sin(time*0.83); +shape_2_per_frame4=ang = time*(0.2 + 0.1*t1); +shape_2_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame9=r = q2; +shape_2_per_frame10=g = q1; +shape_2_per_frame11=b = q3; +shape_2_per_frame12= +shape_2_per_frame13=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame14=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame15=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.591230 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.256637 +shapecode_3_tex_zoom=1.074079 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.500000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.2*sin(time*0.25); +shape_3_per_frame4=y = y + 0.1*sin(time*0.5+2); +shape_3_per_frame5=r = q2; +shape_3_per_frame6=g = q3; +shape_3_per_frame7=b = q1; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5=wave_x = wave_x + 0.1*sin(1.2*time) + 0.1*sin(0.1*time); +per_frame_6=wave_y = wave_y + 0.2*cos(1.4*time) - 0.1*cos(0.4*time); +per_frame_7=ob_r = wave_g; +per_frame_8=ob_b = wave_r; +per_frame_9=ob_g = wave_b; +per_frame_10=ib_r = 1-abs(ob_r); +per_frame_11=ib_b = 1-abs(ob_b); +per_frame_12=ib_g = 1-abs(ob_g); +per_frame_13=q1 = wave_r; +per_frame_14=q2 = wave_b; +per_frame_15=q3 = wave_g; +per_frame_16= +per_frame_17=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_18=ocog = below(cog,30000)*cog; +per_frame_19=q4 = cog; +per_frame_20=rcog = orcog + 0.5*(rand(100)*0.01); +per_frame_21=orcog = below(rcog,20000)*rcog; +per_frame_22=q5 = rcog; +per_frame_23=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_24=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_25=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_26=rg1 = abs(sin(2.3*time)); +per_frame_27=rg2 = 0*above(rg1,0.5) + 1*below(rg1,0.25); +per_frame_28=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_29= +per_frame_30=//invert = rg3; +per_frame_31=//darken = rg3; +per_frame_32=//brighten = 1-rg3; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - abs(0.025*sin(4*q4)); +per_pixel_6=xy = above(sin(3*q4),0)*x + below(sin(3*q4),0)*y; +per_pixel_7=zoom = zoom - 3*dx_r*rad*sin(bass_att*6*(3-rad)); +per_pixel_8=rot = rot - 0.35*(above(xy,0.45 + 0.75*sin(q4*5*bass_att))*below(xy,0.55 + 0.75*sin(q4*5*bass_att))); diff --git a/presets/presets_bltc201/Aderrasi - Kevlar Abyss.milk b/presets/presets_bltc201/Aderrasi - Kevlar Abyss.milk new file mode 100755 index 0000000000..a6e27eaf68 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Kevlar Abyss.milk @@ -0,0 +1,87 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.127257 +fWaveScale=1.599183 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.010000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r + 0.3*sin(1.2*time); +per_frame_7=ob_g = ob_g + 0.3*cos(2*time); +per_frame_8=ob_b = ob_b + 0.25*sin(1.5*time); +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_b; +per_frame_11=ib_g = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.05*(2-rad)*(0.5*cos(rad-0.22*abs(ang*12+bass/time))*0.4-treb*1.3*cos(bass_att)); +per_pixel_6=zoom = zoom - 0.02*abs(sin(bass-time/22*rad)-cos(0.3*bass-mid_att)); +per_pixel_7=//zoom = zoom - 1.86*(0.5*(sin(time)-rad)*bass)*(bass/treb_att*0.2); +per_pixel_8=zoom = zoom - 0.2*abs(0.5*sin(0.2*bass*rot-3*(0.5-sin(0.5*time)-(0.25-rad)))); +per_pixel_9=zoomexp = zoomexp + 0.25 + abs(0.5*sin(time*bass_att)); +per_pixel_10=zoom = if(below(bass,0.05),0,zoom); +per_pixel_11=rot = if(below(bass,0.05),0,sin(0.2)); +per_pixel_12=cy = cy + 0.25*sin(time)*22*dy_r; +per_pixel_13=cx = cx + 0.25*cos(2.5*time)*22*dx_r; diff --git a/presets/presets_bltc201/Aderrasi - Never Made Whole.milk b/presets/presets_bltc201/Aderrasi - Never Made Whole.milk new file mode 100755 index 0000000000..4ef6c28684 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Never Made Whole.milk @@ -0,0 +1,94 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.700428 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=100.000000 +fZoomExponent=0.800330 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_effect = max(0,max(bass_att,bass)-1); +per_frame_2=treb_effect = max(0,max(treb_att,treb) -1); +per_frame_3=wave_mystery = -0.5 + bass_effect - 0.5 - treb_effect/8; +per_frame_4=wave_b = wave_b + 0.33*cos(1.2*bass) +0.33*sin(1.1*treb) + 0.33*cos(mid); +per_frame_5=wave_g = wave_g + 0.33*sin(1.1*bass) + 0.33*cos(treb) + 0.33*cos(1.2*mid); +per_frame_6=wave_r = wave_r + 2.33*bass + 2.33*treb + 2.33*mid; +per_frame_7=wave_x = wave_x +0.1- 0.1*sin(2.7*time); +per_frame_8=wave_y = wave_y + 0.1 - 0.1*cos(2.1*time); +per_frame_9=ib_r = ib_r + 1.4*(0.6*sin(1.255*time) + 0.4*sin(2.156*time)); +per_frame_10=ib_g = ib_g + 1.4*(0.6*sin(1.562*time) + 0.4*sin(2.511*time)); +per_frame_11=ib_b = ib_b + 1.4*(0.6*sin(1.362*time) + 0.4*sin(2.257*time)); +per_frame_12=ob_r = 1-ib_r; +per_frame_13=ob_g = 1-ib_g; +per_frame_14=ob_b = 1-ib_b; +per_frame_15=ob_size = if(above(bass_effect,0),0.001+0.0075*bass_effect,0.005); +per_frame_16=ib_size = if (above(treb_effect,0),0.001+0.0075*treb_effect,0.005); +per_frame_17=change = if(above(time,beat_time+1),1,0); +per_frame_18=bass_effect=max(bass,bass_att)-1; +per_frame_19=beat_time=if(above(bass_effect,0.4),if(change,time,beat_time),beat_time); +per_frame_20=zoom = zoom + 0.02; +per_frame_21=warp = 0; +per_frame_22=zoom = zoom - 0.015*(bass+treb+mid)*0.33; +per_frame_23=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.2)*0.95+1.3); +per_frame_24=dx_r = equal(turn,2)*0.013*sin(6*time) + (1-equal(turn,2))*dx_r; +per_frame_25=dy_r = equal(turn,2)*0.014*sin(7*time) + (1-equal(turn,2))*dy_r; +per_frame_26=rot = rot + min(0.05*turn*sin(3*bass_att), 0.01); +per_frame_27=dx = dx + dx_r; +per_frame_28=dy = dy + dy_r; +per_pixel_1=dx = dx + (0.4*rad*cos(sin(0.5*bass)-rad/0.9))*0.1*cos(time); +per_pixel_2=dy = dy + (0.4*rad*sin(cos(0.55*bass)-rad/0.8))*0.1*sin(time); +per_pixel_3=rot = rot + 0.2; diff --git a/presets/presets_bltc201/Aderrasi - Party Mutant.milk b/presets/presets_bltc201/Aderrasi - Party Mutant.milk new file mode 100755 index 0000000000..9e92a4ed48 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Party Mutant.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.463937 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.300000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.300000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_mystery = wave_mystery + 0.25*tan(2.9*bass); +per_frame_2=q1 = wave_mystery; +per_frame_3=ob_r = ob_r + 0.8*sin(q1); +per_frame_4=ob_g = ob_g + 0.7*sin(q1); +per_frame_5=ob_b = ob_b - 0.6*sin(q1); +per_frame_6=ib_r = ib_r - 0.5*sin(q1); +per_frame_7=ib_g = ib_g + 0.5*sin(q1); +per_frame_8=ib_b = ib_b +0.5*sin(q1); +per_frame_9=wave_r = wave_r + (ob_r + ib_r)*0.5*sin(1.3*time); +per_frame_10=wave_g = wave_g + (ib_g + ob_g)*0.5*sin(1.2*time); +per_frame_11=wave_b = wave_b + (ib_b + ob_b)*0.5*sin(1.1*time); +per_pixel_1=kick = above(bass_att,kick)*2 + (1-above(bass_att,kick))*((kick-1.3)*0.9+1.3); +per_pixel_2=dx_r = equal(kick,2)*0.018*sin(6*time) + (1-equal(kick,2))*dx_r; +per_pixel_3=dy_r = equal(kick,2)*0.015*sin(7*time) + (1-equal(kick,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.3*(0.2*sin(0.5-rad)*5 - 0.2*sin(0.25*rad)*5) * kick; +per_pixel_6=dy = dy + 2*dy_r * 0.5*sin(0.8*time); +per_pixel_7=dx = dx + 2*dx_r * 0.5*sin(time); +per_pixel_8=warp = warp + if (below(kick,0), + 0.5*treb, q1); +per_pixel_9=zoom = zoom + 0.062*(1.22*cos((2*time)-2*rad)+0.5*cos(1.55*time)); diff --git a/presets/presets_bltc201/Aderrasi - Plane Of Return.milk b/presets/presets_bltc201/Aderrasi - Plane Of Return.milk new file mode 100755 index 0000000000..bf3909b9f0 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Plane Of Return.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.334502 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.325445 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = above(sin(50*time),0)*1; +per_frame_3=wave_g = above(sin(50*time),0)*1; +per_frame_4=wave_b = above(sin(50*time),0)*1; +per_frame_5=wave_y= wave_y + 0.5*sin(time); +per_frame_6= +per_frame_7=//wave_mystery = above(sin(0.25*time),0)*1; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + (0.008*above(bass,1.5)*thresh)*sin(7*time); +per_pixel_5=dx = dx + above(bass_att,0.5)*(1+dx_r); +per_pixel_6=dy = dy + above(treb_att,0.5)*(1+dy_r); +per_pixel_7=//zoom = zoom + 0.001*(0.7*rad); diff --git a/presets_milkdrop_104/Aderrasi - Potion of Spirits.milk b/presets/presets_bltc201/Aderrasi - Potion of Spirits.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Aderrasi - Potion of Spirits.milk rename to presets/presets_bltc201/Aderrasi - Potion of Spirits.milk diff --git a/presets/presets_bltc201/Aderrasi - See.milk b/presets/presets_bltc201/Aderrasi - See.milk new file mode 100755 index 0000000000..74f7de4d4f --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - See.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.796897 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=wave_x = wave_x + 0.051*sin(1.23*time) - 0.08*sin(0.2*time); +per_frame_7=wave_y = wave_y + 0.01*cos(1.24*time) - 0.05*cos(0.1*time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.2*sin(ang*(0.5-rad)*rad); +per_pixel_5=dx = dx + dx_r*5*(rad*sin(time+cos(12*ang)*(0.5-rad))*cos(bass))*sin(time); +per_pixel_6=dy = dy + dy_r*5*(rad*cos(time+sin(12*ang)*(0.5-rad))*sin(bass)); +per_pixel_7=sy = sy + 0.7*rad*cos(2-(ang*12)*sin(time)/treb)*dx_r; +per_pixel_8=sx = sx + 0.7*rad*sin(2-(ang*12)*cos(time)/treb)*dy_r; diff --git a/presets/presets_bltc201/Aderrasi - Songflower (Hybrid Plant).milk b/presets/presets_bltc201/Aderrasi - Songflower (Hybrid Plant).milk new file mode 100755 index 0000000000..72edf7e75d --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Songflower (Hybrid Plant).milk @@ -0,0 +1,336 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.816690 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451114 +fShader=1.000000 +zoom=0.498313 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.715848 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.400000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2= +shape_0_per_frame3=ang = q4*(0.13 + 0.1*t1); +shape_0_per_frame4=rad = rad * (0.5 + 0.2*t2); +shape_0_per_frame5=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame6=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame7=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame8=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame9=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame10=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.804100 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=1.347846 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2= +shape_1_per_frame3=x = x + 0.05*sin(time*1.05+33); +shape_1_per_frame4=y = y + 0.03*sin(time*1.09+24); +shape_1_per_frame5=ang = q4*(0.2 + 0.1*t1); +shape_1_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame7=r = q3; +shape_1_per_frame8=g = q1; +shape_1_per_frame9=b = q2; +shape_1_per_frame10= +shape_1_per_frame11=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame12=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame13=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame14=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame15=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame16=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.699536 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.905287 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2= +shape_2_per_frame3=x = x + 0.05*sin(time*0.17+24); +shape_2_per_frame4=y = y + 0.03*sin(time*0.23+28); +shape_2_per_frame5=ang = q4*(0.5 + 0.1*t1); +shape_2_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame7=r = q1; +shape_2_per_frame8=g = q3; +shape_2_per_frame9=b = q2; +shape_2_per_frame10= +shape_2_per_frame11=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame12=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame13=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame14=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame15=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame16=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=50 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.670000 +shapecode_3_y=0.430000 +shapecode_3_rad=0.370032 +shapecode_3_ang=4.209736 +shapecode_3_tex_ang=3.769911 +shapecode_3_tex_zoom=0.999998 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = rand(100)*0.01; +shape_3_init2=t2 = rand(100)*0.01; +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.25*sin(time*0.17+32); +shape_3_per_frame4=y = y + 0.23*sin(time*0.13+12); +shape_3_per_frame5=ang = q4*(0.2 + 0.1*t1); +shape_3_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_3_per_frame7=//r = min(1,max(0,r + 0.1*sin(time*0.117 + 1))); +shape_3_per_frame8=//g = min(1,max(0,g + 0.1*sin(time*0.191 + 2))); +shape_3_per_frame9=//b = min(1,max(0,b + 0.1*sin(time*0.132 + 4))); +shape_3_per_frame10=//r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_3_per_frame11=//g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_3_per_frame12=//b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_3_per_frame13=r = q1; +shape_3_per_frame14=b = q3; +shape_3_per_frame15=g = q2; +shape_3_per_frame16=r2 = q2; +shape_3_per_frame17=b2 = q1; +shape_3_per_frame18=g2 = q3; +per_frame_init_1=leafset = 3; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*3+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,3)*0.015*sin(5*time)+(1-equal(pfthresh,3))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,3)*0.015*sin(6*time)+(1-equal(pfthresh,3))*pfdy_r; +per_frame_8=q1 = wave_r; +per_frame_9=q2 = wave_g; +per_frame_10=q3 = wave_b; +per_frame_11= +per_frame_12=ob_r = 1-abs(q1)*0.75; +per_frame_13=ob_g = 1-abs(q2)*0.75; +per_frame_14=ob_b = 1-abs(q3)*0.75; +per_frame_15=echo_zoom = echo_zoom - min(max(0.75,50*pfdx_r),1); +per_frame_16= +per_frame_17=echo_orient = echo_orient + 16*pfdy_r; +per_frame_18= +per_frame_19=dx = dx + 12.1*pfdx_r; +per_frame_20=dy = dy + 12.1*pfdy_r; +per_frame_21=//ib_a = ib_a + min(0.5,0.5-abs(dx+dy)); +per_frame_22= +per_frame_23=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_24=ocog = below(cog,30000)*cog; +per_frame_25=q4 = cog; +per_frame_26=ob_r = q2; +per_frame_27=ob_g = q3; +per_frame_28=ob_b = q1; +per_frame_29=rcog = orcog + 0.5*(rand(100)*0.01); +per_frame_30=orcog = below(rcog,20000)*rcog; +per_frame_31=q5 = rcog; +per_frame_32=//ib_size = ib_size + 0.009*treb_att*tan(q4); +per_frame_33=//ob_size = ob_size + 0.009*bass_att*cos(q4); +per_frame_34=//ob_a = ob_a + min(0.5,0.5-abs(q4-q5)); +per_frame_35=ib_r = 1-abs(q1)*sin(q4); +per_frame_36=ib_g = 0.75*cos(q4); +per_frame_37=ib_b = 1-abs(q3)*cos(q5); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 4*dy_r*above(tg1,0.5) + 4*dx_r*below(tg1,0.5); +per_pixel_6=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_7= +per_pixel_8=ladder = abs(sin(1*time)); +per_pixel_9=leaf = 5*below(ladder,0.2) + 8*above(ladder,0.2)*below(ladder,0.4) + +per_pixel_10=12*above(ladder,0.4)*below(ladder,0.6) + 18*above(ladder,0.6)*below(ladder,0.8) + +per_pixel_11=24*above(ladder,0.8); +per_pixel_12=leafset = if(equal(thresh,2), leaf, leafset); +per_pixel_13= +per_pixel_14=zoom = zoom + 0.05*(0.75-sin(leafset*5))*(1-rad); +per_pixel_15=zoom = zoom - abs(0.05*(0.75-cos(4*ang))); +per_pixel_16= +per_pixel_17=zoom = zoom + tg3*tan(4*q4)*below(zoom,0.22)*above(zoom,-0.22); +per_pixel_18= +per_pixel_19=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_20=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_21=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_22=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_23=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_bltc201/Aderrasi - Songflower (Moss Posy).milk b/presets/presets_bltc201/Aderrasi - Songflower (Moss Posy).milk new file mode 100755 index 0000000000..2515cfd6cd --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Songflower (Moss Posy).milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=leafset = 3; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*3+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,3)*0.015*sin(5*time)+(1-equal(pfthresh,3))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,3)*0.015*sin(6*time)+(1-equal(pfthresh,3))*pfdy_r; +per_frame_8=q1 = wave_r; +per_frame_9=q2 = wave_g; +per_frame_10=q3 = wave_b; +per_frame_11= +per_frame_12=ob_r = 1-abs(q1)*0.75; +per_frame_13=ob_g = 1-abs(q2)*0.75; +per_frame_14=ob_b = 1-abs(q3)*0.75; +per_frame_15=echo_zoom = echo_zoom + min(max(0.75,50*pfdx_r),1); +per_frame_16= +per_frame_17=echo_orient = echo_orient + 16*pfdy_r; +per_frame_18= +per_frame_19=dx = dx + 15.1*pfdx_r; +per_frame_20=dy = dy + 15.1*pfdy_r; +per_frame_21=ob_size = ob_size + 0.005*bass_att; +per_frame_22=ib_a = ib_a - min(0.5,0.5-abs(dx+dy)); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=ladder = abs(sin(1*time)); +per_pixel_6=leaf = 5*below(ladder,0.2) + 8*above(ladder,0.2)*below(ladder,0.4) + +per_pixel_7=12*above(ladder,0.4)*below(ladder,0.6) + 18*above(ladder,0.6)*below(ladder,0.8) + +per_pixel_8=24*above(ladder,0.8); +per_pixel_9=leafset = if(equal(thresh,2), leaf, leafset); +per_pixel_10= +per_pixel_11=zoom = zoom + 0.05*(0.75-cos(leafset*rad))*(1-rad); +per_pixel_12=zoom = zoom - abs(0.05*(0.75-cos(4*rad))); diff --git a/presets/presets_bltc201/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk b/presets/presets_bltc201/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk new file mode 100755 index 0000000000..b3ade46b96 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.5 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.008000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.800000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time)+1.5; +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time)+1.5; +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time)+1.5; +per_frame_4=warp = 0; +per_frame_5=ib_r = wave_g; +per_frame_6=ib_g =wave_b; +per_frame_7=ib_b = wave_r; +per_frame_8=ob_r = wave_b; +per_frame_9=ob_g = wave_r; +per_frame_10=ob_b=wave_g; +per_frame_11=wave_mystery = wave_mystery + 0.1*time; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 0.1*sin(time) + 0.2*rad*cos(1-rad)*thresh; +per_pixel_5=zoom = zoom - ((3.5*bass)*(dx_r-dy_r)); +per_pixel_6=zoom = zoom - (0.002*mid_att); +per_pixel_7=zoomexp = 0.85; +per_pixel_8=rot = rot + 1*((rad/bass_att)/time*sin(time)); +per_pixel_9=zoom = zoom + 1*((rad/mid_att)/time*cos(time)); +per_pixel_10=rot = rot + 0.05*(0.5*sin(time)-rad); +per_pixel_11=rot = rot + 0.075*(1*cos(time)-rad); +per_pixel_12=zoom = zoom - above(rad,0.3)*0.02; diff --git a/presets/presets_bltc201/Aderrasi - Uncontroled Experiment.milk b/presets/presets_bltc201/Aderrasi - Uncontroled Experiment.milk new file mode 100755 index 0000000000..b72a88b06e --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Uncontroled Experiment.milk @@ -0,0 +1,89 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.447717 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.600000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_mystery = wave_mystery + cos(time); +per_frame_2=wave_r = wave_r + 0.35*sin(1.4*time) + 0.25*sin(2.5*time); +per_frame_3=wave_g = wave_g + 0.35*sin(1.7*time) - 0.25*sin(1.11*time); +per_frame_4=wave_b = wave_b + 0.35*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_5=warp = 0; +per_frame_6=ib_r = wave_g; +per_frame_7=ib_g = wave_r; +per_frame_8=ib_b = wave_b; +per_frame_9=ob_r = wave_b; +per_frame_10=ob_b = wave_g; +per_frame_11=ob_g = wave_r; +per_frame_12=zoom = zoom - 0.02; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dy = dy - 0.095*cos(bass_att)*(0.00026*rad*time); +per_pixel_5=dx = dx - 0.085*sin(mid_att)*(0.00026*rad*time); +per_pixel_6=dy = dy + 0.5*(((0.5*cos(0.9*bass))+rad-x*sin(time))*sin(8*dy_r)); +per_pixel_7=dy = dy + below(dx_r,dy_r)*dy_r; +per_pixel_8=dx = dx + above(dy_r,dx_r)*dx_r; +per_pixel_9=dx = dx + 0.5*(((0.5*sin(0.6*bass))+rad-y*sin(1.1*time))*sin(8*dx_r)); +per_pixel_10=cx = cx + 5*(dx*dx_r); +per_pixel_11=cy = cy + 5*(dy*dy_r); +per_pixel_12=rot = rot + 5.95*(dy_r*5-dx_r*5)*sqrt(2-dy_r); +per_pixel_13= +per_pixel_14=zoom = zoom - 0.1*(0.3*rad*(2*(0.5-(1-rad)))); diff --git a/presets/presets_bltc201/Aderrasi - Visitor.milk b/presets/presets_bltc201/Aderrasi - Visitor.milk new file mode 100755 index 0000000000..3ee9839b31 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - Visitor.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972366 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451117 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.800000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.100000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=dy = dy + dy_r*8*(0.25*cos(12*rad)+0.5*sin((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_6=*rad)*cos(12*ang); +per_pixel_7=dx = dx + dy_r*8*(0.25*sin(12*rad)+0.5*cos((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_8=*rad)*sin(12*ang); diff --git a/presets/presets_bltc201/Aderrasi - What Cannot Be Undone.milk b/presets/presets_bltc201/Aderrasi - What Cannot Be Undone.milk new file mode 100755 index 0000000000..bc2c7e9cdf --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - What Cannot Be Undone.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.216706 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.749272 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.990000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(1.4*time) + 0.25*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(1.7*time) - 0.25*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dy = dy + dy_r +below(y,0.5)*0.005; +per_pixel_5=dy = dy - dy_r -above(y,0.5)*0.005; +per_pixel_6=dx = dx + dx_r+ above(y,sin(time))*0.005 - below(y,0.8*sin(time))*0.005; +per_pixel_7=dx = dx + dx_r+ above(y,0.76*sin(1.2*time))*0.005 - below(y,0.55*sin(2*time))*0.005; +per_pixel_8=nx = 0.8*x * sin(time) - 0.4*x *sin(1.22*time); +per_pixel_9=ny = 0.8*y * cos(time) - 0.4*y *cos(1.4*time); diff --git a/presets/presets_bltc201/Aderrasi - What cannot be.milk b/presets/presets_bltc201/Aderrasi - What cannot be.milk new file mode 100755 index 0000000000..922fa4af57 --- /dev/null +++ b/presets/presets_bltc201/Aderrasi - What cannot be.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.216706 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.749272 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.990000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(1.4*time) + 0.25*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(1.7*time) - 0.25*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dy = dy + dy_r +below(y,0.5)*0.005; +per_pixel_5=dy = dy - dy_r -above(y,0.5)*0.005; +per_pixel_6=dx = dx + dx_r+ above(y,sin(time))*0.005 - below(y,0.8*sin(time))*0.005; +per_pixel_7=dx = dx + dx_r+ above(y,0.76*sin(1.2*time))*0.005 - below(y,0.55*sin(2*time))*0.005; +per_pixel_8=nx = 0.8*x * sin(time) - 0.4*x *sin(1.22*time); +per_pixel_9=ny = 0.8*y * cos(time) - 0.4*y *cos(1.4*time); +per_pixel_10=zoom = zoom + if(below(rad,0.4), + 0.05-rad, 0); +per_pixel_11=zoom = zoom + if (below(rad,0.2), + 0.1-rad, 0); diff --git a/presets_milkdrop_104/Aderrasi - ddummyy (04u0404).milk b/presets/presets_bltc201/Aderrasi - ddummyy (04u0404).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Aderrasi - ddummyy (04u0404).milk rename to presets/presets_bltc201/Aderrasi - ddummyy (04u0404).milk diff --git a/presets/presets_bltc201/Benski - Atom Smasher.milk b/presets/presets_bltc201/Benski - Atom Smasher.milk new file mode 100755 index 0000000000..ea56b97ea3 --- /dev/null +++ b/presets/presets_bltc201/Benski - Atom Smasher.milk @@ -0,0 +1,417 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.002 +fWaveSmoothing=0.261 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99984 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=4.586 +nMotionVectorsY=3.234 +mv_dx=0.122 +mv_dy=0.156 +mv_l=0.212 +mv_r=0.456 +mv_g=0.482 +mv_b=0.329 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.62500 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ax=cos(100*sample+43.35+sin(231.54*sample+.543)); +wave_0_per_point2=ay=sin(431*sample+2.34+cos(443.54*sample+4.23)); +wave_0_per_point3=az=sin(546*sample+74.24+sin(524.54*sample+23.987))+2*(q4+.2*time-int(q4+.2*time)); +wave_0_per_point4=az=if(above(az,1),az-2,az); +wave_0_per_point5= +wave_0_per_point6=fx = .5+.5*ax/(1-az); +wave_0_per_point7=fy = .5+.5*ay/(1-az); +wave_0_per_point8= +wave_0_per_point9=x=fx; +wave_0_per_point10=y=fy; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r=1-.5*rand(100)/100; +wave_0_per_point14=g=1-.5*rand(100)/100; +wave_0_per_point15=b=1-.5*rand(100)/100; +wave_0_per_point16= +wave_0_per_point17=a=pow((az+1)/2,3); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw1=below(sample,.5); +wave_1_per_point2=sample=2*(sw1*sample+(1-sw1)*(sample-.5)); +wave_1_per_point3= +wave_1_per_point4=ax = 1-3.58*sample*sw1; +wave_1_per_point5=ay = 0;//2*sin(sample*6.2831); +wave_1_per_point6=az = 0; +wave_1_per_point7= +wave_1_per_point8=bx = ax; +wave_1_per_point9=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point10=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point11= +wave_1_per_point12=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point13=ay = by; +wave_1_per_point14=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point15= +wave_1_per_point16=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point17=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point18=bz = az; +wave_1_per_point19= +wave_1_per_point20=vx=bx; vy=by; vz=bz; +wave_1_per_point21= +wave_1_per_point22=x=vx/abs(vz-10)+.5; +wave_1_per_point23=y=vy/abs(vz-10)+.5; +wave_1_per_point24= +wave_1_per_point25=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_1_per_point26=as=1; +wave_1_per_point27=a=1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=t=1; +wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point4=ay = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point5=az = 0; +wave_2_per_point6= +wave_2_per_point7=bx = ax; +wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point10= +wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point12=ay = by; +wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point14= +wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point17=bz = az; +wave_2_per_point18= +wave_2_per_point19=vx=bx; vy=by; vz=bz; +wave_2_per_point20= +wave_2_per_point21=x=vx/abs(vz-10)+.5; +wave_2_per_point22=y=vy/abs(vz-10)+.5; +wave_2_per_point23= +wave_2_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_2_per_point25=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.500 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=t=1; +wave_3_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point4=ay = 0; +wave_3_per_point5=az = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point6= +wave_3_per_point7=bx = ax; +wave_3_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point10= +wave_3_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point12=ay = by; +wave_3_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point14= +wave_3_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point17=bz = az; +wave_3_per_point18= +wave_3_per_point19=vx=bx; vy=by; vz=bz; +wave_3_per_point20= +wave_3_per_point21=x=vx/abs(vz-10)+.5; +wave_3_per_point22=y=vy/abs(vz-10)+.5; +wave_3_per_point23= +wave_3_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_3_per_point25=a=t*(.07*(1-as)+as); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.39872 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.800 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=//a=below(vz,0); +shape_0_per_frame21=x=.5; +shape_0_per_frame22=y=.5; +shape_0_per_frame23=rad=.1; +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.29868 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.69115 +shapecode_1_tex_zoom=1.50092 +shapecode_1_r=0.200 +shapecode_1_g=0.100 +shapecode_1_b=1.000 +shapecode_1_a=0.000 +shapecode_1_r2=0.040 +shapecode_1_g2=0.050 +shapecode_1_b2=0.400 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.54304 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.57070 +shapecode_2_tex_zoom=1.50099 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.600 +shapecode_2_a=0.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_2_per_frame3=b=.75*abs(sin(time*2.54+.65+sin(time*3.77+8))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.11490 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=0.700 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.800 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.9+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*1.15+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.75; //or try: ret -= 0.004; +warp_13=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=`{ +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_10=` ret += GetBlur1(1-uv)*2; +comp_11=`ret += GetBlur3(-uv)*0.5; +comp_12=` ret *= 1.00; //old gamma effect +comp_13=` +comp_14=`} diff --git a/presets/presets_bltc201/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk b/presets/presets_bltc201/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk new file mode 100755 index 0000000000..78a55af918 --- /dev/null +++ b/presets/presets_bltc201/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.56 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.4 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=1.59918 +fWaveSmoothing=0.75 +fWaveParam=1 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.844378 +sy=1.06152 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=x_wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_3=wave_r = 1 + sin(-x_wave_x*6.28); +per_frame_4=wave_g = abs(sin(2*x_wave_x*6.28)); +per_frame_5=wave_b = sin(x_wave_x*6.28); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect*1.027; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 1), rot, sin(1-rad)/sqr(bass_att*1.5)); diff --git a/presets/presets_bltc201/Bmelgren - Acid Iris.milk b/presets/presets_bltc201/Bmelgren - Acid Iris.milk new file mode 100755 index 0000000000..1336343d79 --- /dev/null +++ b/presets/presets_bltc201/Bmelgren - Acid Iris.milk @@ -0,0 +1,66 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.994000 +fDecay=0.964000 +fVideoEchoZoom=0.998167 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.606924 +fWaveScale=1.531170 +fWaveSmoothing=0.000000 +fWaveParam=-0.720000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=6.055748 +fShader=1.000000 +zoom=1.001829 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.001829 +sy=0.999997 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(ff/bass); +per_frame_3=wave_g = cos(ff/mid); +per_frame_4=wave_b = cos(ff/treb); +per_pixel_1=rot=pow(ang,2); +per_pixel_2=zoom=tan(pow(rad,3))+(mid_att*5); diff --git a/presets/presets_bltc201/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_bltc201/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk new file mode 100755 index 0000000000..138235784c --- /dev/null +++ b/presets/presets_bltc201/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk @@ -0,0 +1,63 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.95 +fVideoEchoZoom=3.007504 +fVideoEchoAlpha=0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.880224 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.074097 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; +per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; +per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; +per_frame_5=rot = .4*sin(mid_att*.05); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); diff --git a/presets/presets_bltc201/BrainStain-Blackwidow.milk b/presets/presets_bltc201/BrainStain-Blackwidow.milk new file mode 100755 index 0000000000..ce8cd1b5dd --- /dev/null +++ b/presets/presets_bltc201/BrainStain-Blackwidow.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.030000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=0.550000 +fWarpScale=100.000000 +fZoomExponent=1.338000 +fShader=0.000000 +zoom=1.030000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=27.640000 +nMotionVectorsY=20.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_8 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_ +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.080000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.070000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.300010 +wavecode_1_g=0.300000 +wavecode_1_b=0.300000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.070000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.300000 +wavecode_2_b=0.300000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=99 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.700000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.970000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.970000 +shapecode_1_r=1.000000 +shapecode_1_g=0.900000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.900000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame1= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.700000 +shapecode_2_ang=0.188000 +shapecode_2_tex_ang=0.817000 +shapecode_2_tex_zoom=1.114000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.970000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.970000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.060000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.733000 +shapecode_3_ang=1.319000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=80.340000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.970000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.970000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.900000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(2.121*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(1.742*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.010*sin(time+0.010); +per_frame_7=decay = decay - 0.00*equal(frame%30,0); +per_frame_8=zoom=zoom+(bass_att-1)*0.1; +per_frame_9=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); diff --git a/presets/presets_bltc201/BrainStain-re entry.milk b/presets/presets_bltc201/BrainStain-re entry.milk new file mode 100755 index 0000000000..257286521e --- /dev/null +++ b/presets/presets_bltc201/BrainStain-re entry.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=0.500000 +fVideoEchoZoom=0.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.030000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=0.900000 +fWarpScale=1.000000 +fZoomExponent=0.389000 +fShader=0.000000 +zoom=0.200000 +rot=1.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=27.640000 +nMotionVectorsY=20.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_8 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_ +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.080000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.070000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.300010 +wavecode_1_g=0.300000 +wavecode_1_b=0.300000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.070000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.300000 +wavecode_2_b=0.300000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=99 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.674000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=99 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.640000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.126000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame1= +shapecode_2_enabled=1 +shapecode_2_sides=99 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.000000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.630000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.750000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.619000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.570000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.900000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(2.121*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(1.742*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.000*sin(time+0.000); +per_frame_7=decay = decay - 0.00*equal(frame%30,0); +per_frame_8=zoom=zoom+(bass_att-1)*0.1; +per_frame_9=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); diff --git a/presets/Che - Escape.milk b/presets/presets_bltc201/Che - Escape.milk similarity index 100% rename from presets/Che - Escape.milk rename to presets/presets_bltc201/Che - Escape.milk diff --git a/presets_projectM/Che - Terracarbon Stream.milk b/presets/presets_bltc201/Che - Terracarbon Stream.milk similarity index 100% rename from presets_projectM/Che - Terracarbon Stream.milk rename to presets/presets_bltc201/Che - Terracarbon Stream.milk diff --git a/presets/presets_bltc201/EMPR - Random - They're so cute, Dad can I keep one!.milk b/presets/presets_bltc201/EMPR - Random - They're so cute, Dad can I keep one!.milk new file mode 100755 index 0000000000..d4c6689c5e --- /dev/null +++ b/presets/presets_bltc201/EMPR - Random - They're so cute, Dad can I keep one!.milk @@ -0,0 +1,106 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.94 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=2.651498 +fWaveSmoothing=0 +fWaveParam=-0.180163 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.999997 +sx=0.578528 +sy=1.030301 +wave_r=0.610115 +wave_g=0.337971 +wave_b=0.298628 +wave_x=0.671479 +wave_y=0.725962 +ob_size=0.03 +ob_r=0.148379 +ob_g=0.786533 +ob_b=0.637879 +ob_a=0.973918 +ib_size=0.045 +ib_r=0.841289 +ib_g=0.297099 +ib_b=0.775799 +ib_a=0.238807 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0.59891 +mv_dy=0.978744 +mv_l=0.5 +mv_r=0.296168 +mv_g=0.490016 +mv_b=0.461879 +mv_a=0.573571 +per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_frame_7=volume = 0.3*(bass+mid+att); +per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = max(bass_att,peakbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_15=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_17=effect = if(beat,effect+rand(5)+1,effect); +per_frame_18=effect = if(above(effect,5),effect-6,effect); +per_frame_19=q1 = effect+2; +per_frame_20=monitor = q1; +per_frame_21=wave_y = treb + wave_b; +per_frame_22=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_23=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_24=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_25=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); +per_pixel_2=cy = q1 * warp; +per_pixel_3=cy = cy * rad; +per_pixel_4=cx = a * bass_att; +per_pixel_5=dy = warp + time; +per_pixel_6=zoomexp = bass_att + a; +per_pixel_7=rot = a * bass_att; +per_pixel_8=rot = rot * y; +per_pixel_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_pixel_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_pixel_11=rot=if(below(rot,-1.0), -1.0, rot); +per_pixel_12=rot=if(above(rot,1.0), 1.0, rot); +per_pixel_13=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_14=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_15=cy=if(below(cy,-1.0), -1.0, cy); +per_pixel_16=cy=if(above(cy,2.0), 2.0, cy); +per_pixel_17=dy=if(below(dy,-1), -1, dy); +per_pixel_18=dy=if(above(dy,1.0), 1.0, dy); diff --git a/presets/presets_bltc201/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk b/presets/presets_bltc201/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk new file mode 100644 index 0000000000..a9019085fb --- /dev/null +++ b/presets/presets_bltc201/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk @@ -0,0 +1,575 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.7 +fDecay=0.960 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.03300 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.3 +ib_size=0.090 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.3 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.99882 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=0.25005 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.06779 +shapecode_1_ang=0.75398 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.74186 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.06779 +shapecode_2_ang=0.75398 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.77977 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +comp_1=`shader_body +comp_2=`{ +comp_3=` // use 3D noise +comp_4=` float3 uvw = float3(uv*3.3, 0.3); +comp_5=` //uvw = mul(uvw, rot_s2); +comp_6=` uvw.z += time*0.3; +comp_7=` +comp_8=` // sample a high-quality 3D noise volume! +comp_9=` float4 N = tex3D(sampler_noisevol_hq, uvw); +comp_10=` +comp_11=` float2 uv2 = uv; +comp_12=` uv2 += (N.xy*2-1)*texsize.zw*13; +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv2).xyz; +comp_15=` ret += GetBlur1(uv)*0.4; +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_bltc201/EoS + Phat - CAT Scan (Nirvana flux).milk b/presets/presets_bltc201/EoS + Phat - CAT Scan (Nirvana flux).milk new file mode 100644 index 0000000000..032dd61e34 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - CAT Scan (Nirvana flux).milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=0.020000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2=r=q1; +shape_2_per_frame3=g=q2; +shape_2_per_frame4=b=q3; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1= +per_frame_2=vol=(bass+mid+treb)*0.25; +per_frame_3=vol=vol*vol; +per_frame_4=mtime=mtime+vol*0.018; +per_frame_5=q7=mtime; +per_frame_6=q8=vol; +per_frame_7= +per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; +per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; +per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; +per_frame_11= +per_frame_12=q1=r; +per_frame_13=q2=g; +per_frame_14=q3=b; +per_frame_15=mv_x=sin(mtime*0.25)*6+9; +per_frame_16=mv_y=sin(mtime*0.25)*6+9; +per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; +per_frame_18= +per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; +per_pixel_1=flux=sin(time*0.3)*2; +per_pixel_2=zoom=-1.02 + rad*(9+flux); +per_pixel_3= +per_pixel_4=//rot=rad*500; diff --git a/presets/presets_bltc201/EoS + Phat - CAT Scan.milk b/presets/presets_bltc201/EoS + Phat - CAT Scan.milk new file mode 100644 index 0000000000..903c50c775 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - CAT Scan.milk @@ -0,0 +1,443 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2=r=q1; +shape_2_per_frame3=g=q2; +shape_2_per_frame4=b=q3; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1= +per_frame_2=vol=(bass+mid+treb)*0.25; +per_frame_3=vol=vol*vol; +per_frame_4=mtime=mtime+vol*0.018; +per_frame_5=q7=mtime; +per_frame_6=q8=vol; +per_frame_7= +per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; +per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; +per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; +per_frame_11= +per_frame_12=q1=r; +per_frame_13=q2=g; +per_frame_14=q3=b; +per_frame_15=mv_x=sin(mtime*0.25)*6+9; +per_frame_16=mv_y=sin(mtime*0.25)*6+9; +per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; +per_frame_18= +per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_bltc201/EoS + Phat - Emergent factors.milk b/presets/presets_bltc201/EoS + Phat - Emergent factors.milk new file mode 100644 index 0000000000..69d5173c22 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - Emergent factors.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.015000 +ib_r=0.010000 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=35.200005 +nMotionVectorsY=29.760006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.5 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.5 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.0 +shapecode_2_y=0.0 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.0 +shapecode_3_y=1.0 +shapecode_3_rad=0.662308 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=0.5; +per_frame_17=q5=0.5; +per_frame_18= +per_frame_19=//dx=sin(musictime*0.1)*0.07; +per_frame_20=//dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd/rd); +per_pixel_6=rot=(rd/rd)+sin(time/5); diff --git a/presets/presets_bltc201/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk b/presets/presets_bltc201/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk new file mode 100644 index 0000000000..d0e483b29b --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk @@ -0,0 +1,638 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.301767 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.610000 +shapecode_1_y=0.890000 +shapecode_1_rad=0.583240 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.691361 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=x= x+ sin((q1+2))*0.1; +shape_1_per_frame3=ang = ang+ sin(q1*1.4)*0.5 +shapecode_2_enabled=0 +shapecode_2_sides=25 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.230000 +shapecode_2_y=0.830000 +shapecode_2_rad=0.217303 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = time/10; +shape_2_per_frame2=x= x+ sin(q1)*0.1 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.610000 +shapecode_3_y=0.890000 +shapecode_3_rad=0.271083 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.691361 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.560000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=x= x+ sin((q1+2))*0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0.8; +per_frame_init_7=dcsp=0.4 +per_frame_init_8= +per_frame_1=dcsp = dcsp + 0.01; +per_frame_2=decay=min(dcsp,1); +per_frame_3=monitor=decay; +per_frame_4= +per_frame_5=vol=(bass+mid+treb)*0.25; +per_frame_6=vol=vol*vol; +per_frame_7= +per_frame_8=mtime=mtime+vol*0.01*(70/fps); +per_frame_9= +per_frame_10=q1=mtime*0.75; +per_frame_11= +per_frame_12= +per_frame_13=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_14= +per_frame_15=warp=vol*0.05; +per_frame_16= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_bltc201/EoS + Phat - chasers 14 sentinel 616.milk b/presets/presets_bltc201/EoS + Phat - chasers 14 sentinel 616.milk new file mode 100644 index 0000000000..37765581d6 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - chasers 14 sentinel 616.milk @@ -0,0 +1,627 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample)*0.4; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995947 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.905280 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01*(50/fps); +per_frame_7= +per_frame_8=q1=mtime*1.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=2 +per_frame_12= +per_pixel_1=zm=-1.0+(bass*0.01); +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_bltc201/EoS + Phat - chasers 18 hallway.milk b/presets/presets_bltc201/EoS + Phat - chasers 18 hallway.milk new file mode 100644 index 0000000000..54cabc29ca --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - chasers 18 hallway.milk @@ -0,0 +1,633 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.761306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_bltc201/EoS + Phat - chasers 19 Portal.milk b/presets/presets_bltc201/EoS + Phat - chasers 19 Portal.milk new file mode 100644 index 0000000000..eb4c6d5835 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - chasers 19 Portal.milk @@ -0,0 +1,643 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=6.600763 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm) + 1; +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.254805 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.294082 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=(sin(time/2)*0.5+0.5)*0.6+0.1; +shape_1_per_frame2=tex_ang=cos(time); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.081954 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.089248 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_init1=start = 1; +shape_3_per_frame1=start = start - 0.02; +shape_3_per_frame2=start = max(start,0); +shape_3_per_frame3= +shape_3_per_frame4=a=start; +shape_3_per_frame5=a2=start; +shape_3_per_frame6= +shape_3_per_frame7=rad = if( equal(start,0) , 0.05 , rad ); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=//gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_bltc201/EoS + Phat - cubetrace - v2.milk b/presets/presets_bltc201/EoS + Phat - cubetrace - v2.milk new file mode 100644 index 0000000000..eb27894865 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - cubetrace - v2.milk @@ -0,0 +1,533 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.050000 +wavecode_0_g=0.090000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=t1=q1*0.25; +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//rotate +wave_0_per_point16=ang=t1; +wave_0_per_point17=sang=sin(ang);cang=cos(ang); +wave_0_per_point18=xq=xp*sang + zp*cang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=xp*cang - zp*sang; +wave_0_per_point21=xp=xq;yp=yq;zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate +wave_0_per_point24=ang=t1*0.75; +wave_0_per_point25=sang=sin(ang);cang=cos(ang); +wave_0_per_point26=xq=xp; +wave_0_per_point27=yq=yp*sang + zp*cang; +wave_0_per_point28=zq=yp*cang - zp*sang; +wave_0_per_point29=xp=xq;yp=yq;zp=zq; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=zp= zp+2; +wave_0_per_point33=x= xp/zp + 0.5; +wave_0_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.500000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.194774 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000001 +shapecode_0_r2=0.630000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.070000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.043785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.300000 +shapecode_1_g=0.600000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=1 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.284278 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.230000 +shapecode_2_g2=0.540000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.800000 +shapecode_2_border_b=0.400000 +shapecode_2_border_a=0.450000 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.158045 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.300000 +shapecode_3_g=0.600000 +shapecode_3_b=1.000000 +shapecode_3_a=0.140001 +shapecode_3_r2=0.400000 +shapecode_3_g2=0.500000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =4; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.005; +per_frame_3= +per_frame_4= +per_frame_5=vol= (bass+mid+treb)*0.25; +per_frame_6=vol = vol*vol; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=mtime=mtime+vol*0.01*(75/fps); +per_frame_10= +per_frame_11=q7 = mtime; +per_frame_12= +per_frame_13=monitor=512/8; +per_frame_14= +per_frame_15=warp=0; +per_frame_16=q1=mtime*0.9; +per_frame_17= +per_frame_18=beat = above(vol,1); +per_frame_19=bc = max(bc,0); +per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_21= +per_frame_22=trigger = equal(bc,1); +per_frame_23= +per_frame_24=monitor=size; +per_frame_25= +per_frame_26=size = size + trigger; +per_frame_27=size = if( above(size,10) , 4 , size ); +per_frame_28= +per_frame_29= +per_frame_30=q2=int(size); //cubesize +per_frame_31= +per_frame_32= +per_frame_33= diff --git a/presets/presets_bltc201/EoS + Phat - the lights at night_spikes.milk b/presets/presets_bltc201/EoS + Phat - the lights at night_spikes.milk new file mode 100644 index 0000000000..ebe942a2a7 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - the lights at night_spikes.milk @@ -0,0 +1,271 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=1.008147 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.008151 +sy=1.104621 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=1.0 +ob_g=0.5 +ob_b=0.0 +ob_a=0.2 +ib_size=0.170000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=r=sin(time*0.7)*3*(bass*0.2); +shape_0_per_frame3=g=sin(time*0.5)*4*(treb*2); +shape_0_per_frame4= +shape_0_per_frame5=vol=(bass_att+mid_att+treb_att)*0.25; +shape_0_per_frame6=vol=vol*vol; +shape_0_per_frame7=vol=min(vol,1); +shape_0_per_frame8=vol=max(vol,0); +shape_0_per_frame9= +shape_0_per_frame10=a=a*vol; +shape_0_per_frame11=a2=a2*vol +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=2.987774 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1= +shape_2_per_frame2=vol=(bass+mid+treb)*0.45; +shape_2_per_frame3=vol=vol*vol; +shape_2_per_frame4=vol=min(vol,1); +shape_2_per_frame5=vol=max(vol,0); +shape_2_per_frame6= +shape_2_per_frame7=a=a*vol; +shape_2_per_frame8=a2=a2*vol +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.35; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.5; +per_frame_23=//dy=cos(musictime*0.069)*0.3; +per_frame_24=dy=pow( (bass+mid+treb)*0.25, 2)*0.01; +per_frame_25= +per_frame_26=sx=-1; +per_frame_27= +per_frame_28=monitor=rot; +per_frame_29= +per_frame_30=ob_r=tan(time); +per_frame_31=ob_r=max(ob_r,0); +per_frame_32=ob_r=min(ob_r,1); +per_frame_33=ob_g=tan(time+2.1); +per_frame_34=ob_g=max(ob_g,0); +per_frame_35=ob_g=min(ob_g,1); +per_frame_36=ob_b=tan(time+4.2); +per_frame_37=ob_b=max(ob_b,0); +per_frame_38=ob_b=min(ob_b,1); diff --git a/presets/presets_bltc201/EoS + Phat - vacuum deification.milk b/presets/presets_bltc201/EoS + Phat - vacuum deification.milk new file mode 100644 index 0000000000..c3b708dfe9 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - vacuum deification.milk @@ -0,0 +1,277 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=zoom=0.9; +per_frame_17= +per_frame_18=musictime=musictime+vol*0.5; +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.01; +per_frame_23=dy=cos(musictime*0.069)*0.01; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10= diff --git a/presets/presets_bltc201/EoS + Phat - vacuum deity watching you.milk b/presets/presets_bltc201/EoS + Phat - vacuum deity watching you.milk new file mode 100644 index 0000000000..2d255a7610 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - vacuum deity watching you.milk @@ -0,0 +1,277 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.221671 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=zoom=0.9; +per_frame_17= +per_frame_18=musictime=musictime+vol*0.5; +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.01; +per_frame_23=dy=cos(musictime*0.069)*0.01; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10= diff --git a/presets/presets_bltc201/EoS + Phat - vacuum portal.milk b/presets/presets_bltc201/EoS + Phat - vacuum portal.milk new file mode 100644 index 0000000000..216d9a726b --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - vacuum portal.milk @@ -0,0 +1,277 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=zoom=1; +per_frame_17= +per_frame_18=musictime=musictime+vol*0.5; +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.01; +per_frame_23=dy=cos(musictime*0.069)*0.01; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10= diff --git a/presets/presets_bltc201/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk b/presets/presets_bltc201/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk new file mode 100644 index 0000000000..3726332da4 --- /dev/null +++ b/presets/presets_bltc201/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=flip=flip+1; +wave_1_per_point2=flip=if(above(flip,1),0,flip); +wave_1_per_point3= +wave_1_per_point4=xp=sin(sample*6.283); +wave_1_per_point5=yp=cos(sample*6.283); +wave_1_per_point6= +wave_1_per_point7=scale1=sin(sample*6.283*3+time*0.2); +wave_1_per_point8=scale2=sin(sample*6.283*9+time); +wave_1_per_point9=scale3=sin(sample*6.283*5-time); +wave_1_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_1_per_point11=scale=scale*0.5; +wave_1_per_point12= +wave_1_per_point13=xp=xp*scale; +wave_1_per_point14=yp=yp*scale; +wave_1_per_point15= +wave_1_per_point16=x1=xp*0.25 +0.5; +wave_1_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_1_per_point18=x2=0.5+q4; +wave_1_per_point19=y2=0.5+q5; +wave_1_per_point20=x=x1*flip + x2*(1-flip); +wave_1_per_point21=y=y1*flip + y2*(1-flip); +wave_1_per_point22= +wave_1_per_point23=a=flip*0.05; +wave_1_per_point24=r=sin(time)*0.5+0.5; +wave_1_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_1_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.221671 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol=(4*bass)*(1.3+mid*treb); +per_frame_4= +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15=zoom=.91; +per_frame_16= +per_frame_17=musictime=musictime+vol*0.5; +per_frame_18=q4=sin(musictime*0.02)*0.3; +per_frame_19=q5=sin(musictime*0.01)*0.3; +per_frame_20= +per_frame_21=dx=sin(musictime*0.1)*0.01; +per_frame_22=dy=cos(musictime*0.069)*0.01; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10=sx=1.06;sy=1.06 diff --git a/presets/presets_bltc201/EoS + Zylot - skylight (Stained Glass Majesty mix).milk b/presets/presets_bltc201/EoS + Zylot - skylight (Stained Glass Majesty mix).milk new file mode 100644 index 0000000000..551428885e --- /dev/null +++ b/presets/presets_bltc201/EoS + Zylot - skylight (Stained Glass Majesty mix).milk @@ -0,0 +1,273 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.0 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.1 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.5 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.1 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.980000 +shapecode_3_g=1.0 +shapecode_3_b=0.980000 +shapecode_3_a=0.3 +shapecode_3_r2=0.0 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_bltc201/EoS - angels of decay.milk b/presets/presets_bltc201/EoS - angels of decay.milk new file mode 100644 index 0000000000..4fe0082cac --- /dev/null +++ b/presets/presets_bltc201/EoS - angels of decay.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=smp=sample; +wave_0_per_point2=tm=time*0.24; +wave_0_per_point3= +wave_0_per_point4=xp=sin(tm+smp)*0.2 + sin(smp*16.3)*0.2; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=yp=cos(tm+smp)*0.2 + sin(tm+smp*17)*0.2 + cos(smp*54)*0.1; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10=x=xp+0.5; +wave_0_per_point11=y=yp+0.5; +wave_0_per_point12=r=0.3; +wave_0_per_point13=g=0.4; +wave_0_per_point14=b=0.5; +wave_0_per_point15=a=0.3; +wave_0_per_point16= +wave_0_per_point17=ends=sin(sample*3.1415 )*4; +wave_0_per_point18=ends=if ( above(ends,1), 1, ends); +wave_0_per_point19=a=a*ends +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.966656 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad-mid*mid*0.1; +shape_0_per_frame2=ang=treb*treb*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.281464 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.900000 +shapecode_1_b=0.700000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.900000 +shapecode_1_g2=0.700000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=bass*bass*0.25; +shape_1_per_frame2=a=bass*bass*0.12 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5= +per_frame_6= diff --git a/presets/presets_bltc201/EoS - dark side of the moon (plus a few more hits and a pill).milk b/presets/presets_bltc201/EoS - dark side of the moon (plus a few more hits and a pill).milk new file mode 100644 index 0000000000..e250d799c4 --- /dev/null +++ b/presets/presets_bltc201/EoS - dark side of the moon (plus a few more hits and a pill).milk @@ -0,0 +1,260 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.000000 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.160000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=qtime=qtime+q1; +shape_0_per_frame2=x=0.5 + sin(qtime/38)/3; +shape_0_per_frame3=y=0.5 + cos(qtime/38)/3; +shape_0_per_frame4=rad=q1/2;; +shape_0_per_frame5=ang=q1*4 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=qtime=qtime+q2; +shape_1_per_frame2=x=0.5 + sin(qtime/38)/3.3; +shape_1_per_frame3=y=0.5 + cos(qtime/38)/3.3; +shape_1_per_frame4= +shape_1_per_frame5=rad=q2/2; +shape_1_per_frame6=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=qtime=qtime+q3; +shape_2_per_frame2=x=0.5 + sin(qtime/38)/3.8; +shape_2_per_frame3=y=0.5 + cos(qtime/38)/3.8; +shape_2_per_frame4= +shape_2_per_frame5=rad=q3/2; +shape_2_per_frame6=ang=q3*5 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.499999 +shapecode_3_y=0.500000 +shapecode_3_rad=0.849364 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.712971 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.070000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.370000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.150000 +shape_3_per_frame1=ang=time/2; +shape_3_per_frame2=r2=sin(time)*0.5 + 0.5; +shape_3_per_frame3=g2=sin(time + 3.14*0.33)*0.5 + 0.5; +shape_3_per_frame4=b2=sin(time + 3.14*0.66)*0.5 + 0.5; +shape_3_per_frame5=fls=sin(time/1)*0.5+0.6; +shape_3_per_frame6=flip=(flip+fls) * below(flip,1.1); +shape_3_per_frame7=additive=flip; +shape_3_per_frame8= +shape_3_per_frame9=br=(sin(time/1) ) * 16; +shape_3_per_frame10=brr=-1+br; +shape_3_per_frame11=sides= min( max(brr,3), 8); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; diff --git a/presets/presets_bltc201/EoS - ddg_phat_mix - Bitcore Tweak.milk b/presets/presets_bltc201/EoS - ddg_phat_mix - Bitcore Tweak.milk new file mode 100644 index 0000000000..87074e0979 --- /dev/null +++ b/presets/presets_bltc201/EoS - ddg_phat_mix - Bitcore Tweak.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001348 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.100000 +ob_g=0.600000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=8; +per_frame_2=zoom=1.000; +per_pixel_1=tm=sin(time*0.5)*3; +per_pixel_2=tm2=cos(time)*3; +per_pixel_3=zooma=above(sin(x*6.28*3+tm),0) * above(sin(y*6.28*2+tm2),0); +per_pixel_4=zooma=min(sin(x*6.28*3+tm)+1,1) * min(sin(y*6.28*2+tm)+1,1); +per_pixel_5=vol=((2*bass)*(2*mid*treb))/1.5; +per_pixel_6=zoom= 0.9*(zooma) + 0.99*(1-zooma); +per_pixel_7=rot=0.9*zooma*(vol*0.008)-0.03; diff --git a/presets/presets_bltc201/EoS - glowsticks v2 03 music shifter edit b.milk b/presets/presets_bltc201/EoS - glowsticks v2 03 music shifter edit b.milk new file mode 100644 index 0000000000..31c07f6d2a --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 03 music shifter edit b.milk @@ -0,0 +1,537 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.7 +fDecay=0.960000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.299900 +ib_size=0.090000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.998815 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.250054 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.067790 +shapecode_1_ang=0.753982 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.741858 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.067790 +shapecode_2_ang=0.753982 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.779769 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.067700 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.779769 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= diff --git a/presets/presets_bltc201/EoS - glowsticks v2 03 music.milk b/presets/presets_bltc201/EoS - glowsticks v2 03 music.milk new file mode 100644 index 0000000000..469dfb3f77 --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 03 music.milk @@ -0,0 +1,540 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_bltc201/EoS - glowsticks v2 04 music minimal.milk b/presets/presets_bltc201/EoS - glowsticks v2 04 music minimal.milk new file mode 100644 index 0000000000..57e39cd8b9 --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 04 music minimal.milk @@ -0,0 +1,541 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10=warp=0 +per_frame_11= +per_frame_12= diff --git a/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk new file mode 100644 index 0000000000..505d7db2a8 --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk @@ -0,0 +1,682 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.055000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.6 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(time)*treb*treb; +per_pixel_3= +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk new file mode 100644 index 0000000000..f49494e192 --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk @@ -0,0 +1,694 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.105000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.055000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.4*flip*(37/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_32=cy=sin(mtime*0.33); +per_frame_33=cys=sign(cy); +per_frame_34=cy=cy*cy*cys; +per_frame_35=cy=cy*0.4+0.5; +per_frame_36= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb*treb; +per_pixel_3=var=-2*treb*treb*0.75; +per_pixel_4= +per_pixel_5=rdd=max( abs(x-0.5) , abs(y-0.5) )*4; +per_pixel_6=zm=1+(rdd/40)+(var/40); +per_pixel_7= +per_pixel_8=sx=zm; +per_pixel_9=sy=zm; +per_pixel_10=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk new file mode 100644 index 0000000000..81a47fa19e --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk new file mode 100644 index 0000000000..e2642f628f --- /dev/null +++ b/presets/presets_bltc201/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=1.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.1 +wavecode_2_g=1.0 +wavecode_2_b=0.7 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=0.2 +wavecode_3_g=1.0 +wavecode_3_b=0.6 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.6 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_bltc201/EoS - heater core C_Phat's_class + sparks_mix.milk b/presets/presets_bltc201/EoS - heater core C_Phat's_class + sparks_mix.milk new file mode 100644 index 0000000000..d744f3e8c1 --- /dev/null +++ b/presets/presets_bltc201/EoS - heater core C_Phat's_class + sparks_mix.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.150000 +wavecode_3_a=1.000000 +wave_3_per_frame1=spark=rand(40); +wave_3_per_frame2=spark= above(spark,37); +wave_3_per_frame3= +wave_3_per_frame4=t1=spark; +wave_3_per_frame5=t2=0; +wave_3_per_frame6=t3=0; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=offran=1-t1*0.1; +wave_3_per_point3=sparkcycle=above( sin(n*2) , 0); +wave_3_per_point4= +wave_3_per_point5=zran=(rand(8) - 4); +wave_3_per_point6=xran=(rand(8) - 4); +wave_3_per_point7=yran=(rand(8) - 4); +wave_3_per_point8=alp=min( 1-abs(zran*0.25), min( 1-abs(xran*0.25),1-abs(yran*0.25) )); +wave_3_per_point9=alp=alp*alp; +wave_3_per_point10=a=alp*(1-t1) + t1; +wave_3_per_point11=zran=zran*0.001*offran; +wave_3_per_point12=xran=xran*0.001*offran; +wave_3_per_point13=yran=yran*0.001*offran; +wave_3_per_point14= +wave_3_per_point15=xseed=sin(sample*3.14+time*15)+sin(sample*11)*0.4; +wave_3_per_point16=yseed=cos(sample*3.14+time*9)+sin(sample*17+time)*0.4; +wave_3_per_point17=t2=t2+xseed*sparkcycle; +wave_3_per_point18=t3=t3+yseed*sparkcycle; +wave_3_per_point19=xspark=t2*0.002; +wave_3_per_point20=yspark=t3*0.008; +wave_3_per_point21= +wave_3_per_point22=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point23=zp=sin(time)+ zran; +wave_3_per_point24=zp=zp + yspark*t1*sparkcycle; +wave_3_per_point25= +wave_3_per_point26=aflux=sin(zp*3.14 + 3.14); +wave_3_per_point27=xp=sin(n)*0.1*aflux + xran; +wave_3_per_point28=xp=xp + xspark*t1*sparkcycle; +wave_3_per_point29=yp=cos(n)*0.1*aflux + yran; +wave_3_per_point30= +wave_3_per_point31=//rotate on y +wave_3_per_point32=ang=(q7+time*0.01)*0.2; +wave_3_per_point33=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point34=yp2=yp; +wave_3_per_point35=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point36= +wave_3_per_point37=//rotate on x +wave_3_per_point38=ang=(q7+time*0.01)*0.3; +wave_3_per_point39=xp3=xp2; +wave_3_per_point40=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point41=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=xp=xp3; +wave_3_per_point45=yp=yp3; +wave_3_per_point46=zp=zp3; +wave_3_per_point47= +wave_3_per_point48=zp=zp+2.1; +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=xs=xs+0.5; +wave_3_per_point51=ys=yp/zp; +wave_3_per_point52=ys=ys*1.3 + 0.5; +wave_3_per_point53= +wave_3_per_point54=x=xs; +wave_3_per_point55=y=ys; +wave_3_per_point56= +wave_3_per_point57= +wave_3_per_point58= +wave_3_per_point59= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=mtime=mtime+vol*0.018*(70/fps); +per_frame_6=q7=mtime; +per_frame_7=q8=vol +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_bltc201/EoS - heater core C_Phat's_class_mix wave2.milk b/presets/presets_bltc201/EoS - heater core C_Phat's_class_mix wave2.milk new file mode 100644 index 0000000000..3a5a5c6cae --- /dev/null +++ b/presets/presets_bltc201/EoS - heater core C_Phat's_class_mix wave2.milk @@ -0,0 +1,454 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*2+2; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=zp=abs(sin(n*freq+time)); +wave_0_per_point7=xp=sin(n*1)*0.3*scale; +wave_0_per_point8=yp=cos(n*1)*0.3*scale; +wave_0_per_point9=xp=xp*(1-zp); +wave_0_per_point10=yp=yp*(1-zp); +wave_0_per_point11=zp=1 - pow(1-zp,2); +wave_0_per_point12=zp=zp*0.3; +wave_0_per_point13= +wave_0_per_point14=arc=above( rand(45),43 )*0.018; +wave_0_per_point15=xp=xp+(rand(4)-2) * (0.003+arc); +wave_0_per_point16=yp=yp+(rand(4)-2) * (0.003+arc); +wave_0_per_point17=zp=zp+(rand(4)-2) * (0.003+arc); +wave_0_per_point18= +wave_0_per_point19=//rotate on y +wave_0_per_point20=ang=(q7+time*0.01)*0.2; +wave_0_per_point21=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point22=yp2=yp; +wave_0_per_point23=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point24= +wave_0_per_point25=//rotate on x +wave_0_per_point26=ang=(q7+time*0.01)*0.3; +wave_0_per_point27=xp3=xp2; +wave_0_per_point28=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point29=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=xp=xp3; +wave_0_per_point33=yp=yp3; +wave_0_per_point34=zp=zp3; +wave_0_per_point35=zp=zp+2.1; +wave_0_per_point36=xs=xp/zp; +wave_0_per_point37=ys=yp/zp; +wave_0_per_point38= +wave_0_per_point39=x=xs+0.5; +wave_0_per_point40=y=ys*1.3+0.5; +wave_0_per_point41= +wave_0_per_point42= +wave_0_per_point43=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point44=a=1 - (aflux*aflux)*q8*3; +wave_0_per_point45=r=q1; +wave_0_per_point46=g=q2; +wave_0_per_point47=b=q3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*2+2; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=zp=abs(sin(n*freq+time)); +wave_1_per_point7=xp=sin(n*1)*0.3*scale; +wave_1_per_point8=yp=cos(n*1)*0.3*scale; +wave_1_per_point9=xp=xp*(1-zp); +wave_1_per_point10=yp=yp*(1-zp); +wave_1_per_point11=zp=1 - pow(1-zp,2); +wave_1_per_point12=zp=zp*-0.3; +wave_1_per_point13=arc=above( rand(45),43 )*0.018; +wave_1_per_point14=xp=xp+(rand(4)-2) * (0.003+arc); +wave_1_per_point15=yp=yp+(rand(4)-2) * (0.003+arc); +wave_1_per_point16=zp=zp+(rand(4)-2) * (0.003+arc); +wave_1_per_point17= +wave_1_per_point18=//rotate on y +wave_1_per_point19=ang=(q7+time*0.01)*0.2; +wave_1_per_point20=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point21=yp2=yp; +wave_1_per_point22=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point23= +wave_1_per_point24=//rotate on x +wave_1_per_point25=ang=(q7+time*0.01)*0.3; +wave_1_per_point26=xp3=xp2; +wave_1_per_point27=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point28=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point29= +wave_1_per_point30= +wave_1_per_point31=xp=xp3; +wave_1_per_point32=yp=yp3; +wave_1_per_point33=zp=zp3; +wave_1_per_point34=zp=zp+2.1; +wave_1_per_point35=xs=xp/zp; +wave_1_per_point36=ys=yp/zp; +wave_1_per_point37= +wave_1_per_point38=x=xs+0.5; +wave_1_per_point39=y=ys*1.3+0.5; +wave_1_per_point40= +wave_1_per_point41= +wave_1_per_point42=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point43=a=1 - (aflux*aflux)*q8*3; +wave_1_per_point44=r=q2; +wave_1_per_point45=g=q3; +wave_1_per_point46=b=q1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2= +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=mtime=mtime+vol*0.018; +per_frame_6=q7=mtime; +per_frame_7=q8=vol; +per_frame_8= +per_frame_9=r=tan(time*0.3+0.0)*0.25; +per_frame_10=r=max(r,0); +per_frame_11=g=tan(time*0.3+2.1)*0.25; +per_frame_12=g=max(g,0); +per_frame_13=b=tan(time*0.3+4.2)*0.25; +per_frame_14=b=max(b,0); +per_frame_15=q1=r; +per_frame_16=q2=g; +per_frame_17=q3=b +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_bltc201/EoS - heater core C_Phat's_on route_mix+beam.milk b/presets/presets_bltc201/EoS - heater core C_Phat's_on route_mix+beam.milk new file mode 100644 index 0000000000..ea9baa3e4b --- /dev/null +++ b/presets/presets_bltc201/EoS - heater core C_Phat's_on route_mix+beam.milk @@ -0,0 +1,453 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.180000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen +per_frame_20= +per_frame_21= +per_frame_22=decay=1; +per_frame_23= +per_frame_24=vol=(bass+mid+treb)*0.25; +per_frame_25=vol=vol*vol; +per_frame_26=mtime=mtime+vol*0.018*(68/fps); +per_frame_27=q7=mtime; +per_frame_28=q8=vol +per_pixel_1=zoom=-1.02 + ((rad*(treb*10))*(bass*bass)); diff --git a/presets/presets_bltc201/EoS - multisphere 01 B_Phat_Ra_mix.milk b/presets/presets_bltc201/EoS - multisphere 01 B_Phat_Ra_mix.milk new file mode 100644 index 0000000000..0ab874a062 --- /dev/null +++ b/presets/presets_bltc201/EoS - multisphere 01 B_Phat_Ra_mix.milk @@ -0,0 +1,347 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.350000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.200000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=ang=int(sample*12)/12 * 6.283; +wave_0_per_point3=ps=time*0.1; +wave_0_per_point4= +wave_0_per_point5=//circle; +wave_0_per_point6=xp=sin(n*12+ps)*0.5; +wave_0_per_point7=yp=cos(n*12+ps)*0.5; +wave_0_per_point8=zp=2 + q1*0.03; +wave_0_per_point9= +wave_0_per_point10=//positions on y axis +wave_0_per_point11=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point12=yq=yp; +wave_0_per_point13=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point14= +wave_0_per_point15=//rotate on x; +wave_0_per_point16=xp=xq; +wave_0_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_0_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_0_per_point19= +wave_0_per_point20=//rotate on z; +wave_0_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_0_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_0_per_point23=zq=zp; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=xp=xq; +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=zp=zp+8; +wave_0_per_point31=xs=xp/zp; +wave_0_per_point32=ys=yp/zp; +wave_0_per_point33= +wave_0_per_point34=x=xs+0.5; +wave_0_per_point35=y=ys*1.3+0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.500000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=ang=int(sample*12)/12 * 6.283; +wave_1_per_point3=ps=time*0.1; +wave_1_per_point4= +wave_1_per_point5=//circle; +wave_1_per_point6=xp=sin(n*12+ps)*0.5; +wave_1_per_point7=yp=cos(n*12+ps)*0.5; +wave_1_per_point8=zp=2 + q1*0.03; +wave_1_per_point9= +wave_1_per_point10=//positions on x axis +wave_1_per_point11=xq=xp; +wave_1_per_point12=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point13=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point14= +wave_1_per_point15=//rotate on x; +wave_1_per_point16=xp=xq; +wave_1_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_1_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_1_per_point19= +wave_1_per_point20=//rotate on z; +wave_1_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_1_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=xp=xq; +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=zp=zp+8; +wave_1_per_point31=xs=xp/zp; +wave_1_per_point32=ys=yp/zp; +wave_1_per_point33= +wave_1_per_point34=x=xs+0.5; +wave_1_per_point35=y=ys*1.3+0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3=flip=flip+1; +wave_3_per_point4=flip=flip*below(flip,2); +wave_3_per_point5= +wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_3_per_point7= +wave_3_per_point8=xp=sin(n+phase)*flip; +wave_3_per_point9=yp=cos(n+phase)*flip; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//rotate on y during draw +wave_3_per_point13=ang=n*2+phase*0.2; +wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yq=yp; +wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=r1=0.1;g1=0.6;b1=1; +wave_3_per_point19=r2=1.0;g2=0.7;b2=0.1; +wave_3_per_point20=fade=xq*0.5 + 0.5; +wave_3_per_point21=r=r1*fade + r2*(1-fade); +wave_3_per_point22=g=g1*fade + g2*(1-fade); +wave_3_per_point23=b=b1*fade + b2*(1-fade); +wave_3_per_point24= +wave_3_per_point25=//rotation; +wave_3_per_point26=ang=time*0.1; +wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point28=yp=yq; +wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point30= +wave_3_per_point31=ang=time*0.17; +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=//push into viewspace +wave_3_per_point38=zq=zq+3.1; +wave_3_per_point39= +wave_3_per_point40= +wave_3_per_point41=//project into screenspace +wave_3_per_point42=xs=xq/zq; +wave_3_per_point43=ys=yq/zq; +wave_3_per_point44= +wave_3_per_point45= +wave_3_per_point46=x=xs+0.5; +wave_3_per_point47=y=ys*1.3+0.5; +wave_3_per_point48=a=(1-flip)*0.03*q1; +wave_3_per_point49= +wave_3_per_point50= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.986086 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.030301 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986086 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=1.030296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=-1.01; +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=q1=vol; +per_frame_6= +per_frame_7=mtime=mtime+vol*0.01*(53/fps); +per_frame_8=q2=mtime*0.25; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_bltc201/EoS - nematodes E daemon.milk b/presets/presets_bltc201/EoS - nematodes E daemon.milk new file mode 100644 index 0000000000..395620b67d --- /dev/null +++ b/presets/presets_bltc201/EoS - nematodes E daemon.milk @@ -0,0 +1,362 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=repeats=10; +wave_0_per_point2=samplerepeat=sample*repeats; +wave_0_per_point3=cycle=int(samplerepeat); +wave_0_per_point4=sampcyc=samplerepeat - cycle; +wave_0_per_point5=cycleto1=cycle/repeats; +wave_0_per_point6= +wave_0_per_point7=n=sampcyc*6.283; +wave_0_per_point8=phs=sampcyc; +wave_0_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_0_per_point10=tmm=time; +wave_0_per_point11=rsample=(1-sampcyc*0.9)*2.2*(cycleto1+1); +wave_0_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_0_per_point13=a=a*a; +wave_0_per_point14= +wave_0_per_point15=//waving +wave_0_per_point16=tmc=tm+cycle-phs*0.2; +wave_0_per_point17=variation=sin(cycleto1*6.283)*9; +wave_0_per_point18=swap=above(sample,0.5)*2-1; +wave_0_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point21= +wave_0_per_point22=xp=sin(tm)*0.4 ; +wave_0_per_point23=yp=cos(tm)*0.4 ; +wave_0_per_point24= +wave_0_per_point25=xp=xp*sin(tm*3); +wave_0_per_point26=yp=yp*cos(tm*2.6); +wave_0_per_point27= +wave_0_per_point28=xp=xp*sin(tm*0.43); +wave_0_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_0_per_point30= +wave_0_per_point31=xp=xp+wavex; +wave_0_per_point32=yp=yp+wavey; +wave_0_per_point33= +wave_0_per_point34=x=xp+0.5; +wave_0_per_point35=y=yp*1.333 + 0.5; +wave_0_per_point36= +wave_0_per_point37= +wave_0_per_point38=trailsize=0.85; +wave_0_per_point39=head=above(a,trailsize); +wave_0_per_point40=tail=1-head; +wave_0_per_point41=r=1*head + 0.5*tail; +wave_0_per_point42=g=0.8*head + 0.3*tail; +wave_0_per_point43=b=0.5*head; +wave_0_per_point44= +wave_0_per_point45=a=a*0.25 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=repeats=8; +wave_1_per_point2=samplerepeat=sample*repeats; +wave_1_per_point3=cycle=int(samplerepeat); +wave_1_per_point4=sampcyc=samplerepeat - cycle; +wave_1_per_point5=cycleto1=cycle/repeats; +wave_1_per_point6= +wave_1_per_point7=n=sampcyc*6.283; +wave_1_per_point8=phs=sampcyc+0.15; +wave_1_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_1_per_point10=tmm=time; +wave_1_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_1_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_1_per_point13=a=a*a; +wave_1_per_point14= +wave_1_per_point15=//waving +wave_1_per_point16=tmc=tm+cycle-phs*0.2; +wave_1_per_point17=variation=sin(cycleto1*6.283)*9; +wave_1_per_point18=swap=above(sample,0.5)*2-1; +wave_1_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point21= +wave_1_per_point22=xp=sin(tm)*0.4 ; +wave_1_per_point23=yp=cos(tm)*0.4 ; +wave_1_per_point24= +wave_1_per_point25=xp=xp*sin(tm*3); +wave_1_per_point26=yp=yp*cos(tm*2.6); +wave_1_per_point27= +wave_1_per_point28=xp=xp*sin(tm*0.43); +wave_1_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_1_per_point30= +wave_1_per_point31=xp=xp+wavex; +wave_1_per_point32=yp=yp+wavey; +wave_1_per_point33= +wave_1_per_point34=x=xp+0.5; +wave_1_per_point35=y=yp*1.333 + 0.5; +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=trailsize=0.85; +wave_1_per_point39=head=above(a,trailsize); +wave_1_per_point40=tail=1-head; +wave_1_per_point41=r=1*head + 0.5*tail; +wave_1_per_point42=g=0.8*head + 0.3*tail; +wave_1_per_point43=b=0.5*head; +wave_1_per_point44= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=repeats=6; +wave_2_per_point2=samplerepeat=sample*repeats; +wave_2_per_point3=cycle=int(samplerepeat); +wave_2_per_point4=sampcyc=samplerepeat - cycle; +wave_2_per_point5=cycleto1=cycle/repeats; +wave_2_per_point6= +wave_2_per_point7=n=sampcyc*6.283; +wave_2_per_point8=phs=sampcyc+0.25; +wave_2_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_2_per_point10=tmm=time; +wave_2_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_2_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_2_per_point13=a=a*a; +wave_2_per_point14= +wave_2_per_point15=//waving +wave_2_per_point16=tmc=tm+cycle-phs*0.2; +wave_2_per_point17=variation=sin(cycleto1*6.283)*9; +wave_2_per_point18=swap=above(sample,0.5)*2-1; +wave_2_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point21= +wave_2_per_point22=xp=sin(tm)*0.4 ; +wave_2_per_point23=yp=cos(tm)*0.4 ; +wave_2_per_point24= +wave_2_per_point25=xp=xp*sin(tm*3); +wave_2_per_point26=yp=yp*cos(tm*2.6); +wave_2_per_point27= +wave_2_per_point28=xp=xp*sin(tm*0.43); +wave_2_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_2_per_point30= +wave_2_per_point31=xp=xp+wavex; +wave_2_per_point32=yp=yp+wavey; +wave_2_per_point33= +wave_2_per_point34=x=xp+0.5; +wave_2_per_point35=y=yp*1.333 + 0.5; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=trailsize=0.85; +wave_2_per_point39=head=above(a,trailsize); +wave_2_per_point40=tail=1-head; +wave_2_per_point41=r=1*head + 0.5*tail; +wave_2_per_point42=g=0.8*head + 0.3*tail; +wave_2_per_point43=b=0.5*head; +wave_2_per_point44= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.680000 +shapecode_0_rad=0.808142 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.193805 +shapecode_0_tex_zoom=1.040604 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.210000 +shapecode_1_rad=0.564831 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.193805 +shapecode_1_tex_zoom=1.040604 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.150000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.700000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=-time*0.13; +shape_1_per_frame2=x=sin(time*0.29)*0.2 + 0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time*0.4; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +per_pixel_1=dx=sin(y*14)*sin(y*34+time)*0.002; +per_pixel_2=dy=cos(x*19+time)*cos(x*34)*0.002; +per_pixel_3=dy=dy diff --git a/presets/presets_bltc201/EoS - pointfield 04 arcs demon_phat edit_v3.milk b/presets/presets_bltc201/EoS - pointfield 04 arcs demon_phat edit_v3.milk new file mode 100644 index 0000000000..9e9faa9d9d --- /dev/null +++ b/presets/presets_bltc201/EoS - pointfield 04 arcs demon_phat edit_v3.milk @@ -0,0 +1,382 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.004; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.7; +wave_0_per_point34=b=0.2; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.020000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+mid_att*mid_att*0.003; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*5.3)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*7.4)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*14.4)+cos(s*1.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=-xp/zp + 0.5; +wave_1_per_point27=y_screen=-yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=//r=0.6; +wave_1_per_point33=//g=1.0; +wave_1_per_point34=//b=0.2; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.20; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.14)+cos(s*13.4)+sin(s*37.7); +wave_2_per_point9=yp=yp*0.20; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*2.24)+cos(s*37.4)+cos(s*15.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5); +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=1; +wave_2_per_point34=b=1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=advance=advance+ 0.005; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*14.3)+sin(s*19.8); +wave_3_per_point5=xp=xp*0.20; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.34)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point9=yp=yp*0.20; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*27.4)+cos(s*14.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5); +wave_3_per_point23= +wave_3_per_point24=zp=zp*0.7; +wave_3_per_point25= +wave_3_per_point26=x_screen=xp/zp + 0.5; +wave_3_per_point27=y_screen=yp/zp + 0.5; +wave_3_per_point28= +wave_3_per_point29=x=x_screen; +wave_3_per_point30=y=y_screen; +wave_3_per_point31= +wave_3_per_point32=r=1; +wave_3_per_point33=g=1; +wave_3_per_point34=b=1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.611630 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=1.000000 +shapecode_0_g=0.900000 +shapecode_0_b=0.840000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time*0.5)*0.004 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.99; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=rot=((ang/200)*ang)*(bass*0.5); +per_pixel_2=warp=(rad/6)+treb; +per_pixel_3=cx=bass*rad; +per_pixel_4=cy=treb*rad; diff --git a/presets/presets_bltc201/EoS - pointfield 09 the gases beyond 85c.milk b/presets/presets_bltc201/EoS - pointfield 09 the gases beyond 85c.milk new file mode 100644 index 0000000000..f8243aa3b0 --- /dev/null +++ b/presets/presets_bltc201/EoS - pointfield 09 the gases beyond 85c.milk @@ -0,0 +1,429 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.15; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.15; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5)*2; +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.5; +wave_0_per_point34=b=0.1; +wave_0_per_point35=a=a*0.7; +wave_0_per_point36= +wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); +wave_0_per_point38= +wave_0_per_point39= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36=a=a*0.5 +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.5; +wave_2_per_point34=b=0.1; +wave_2_per_point35=a=a*0.7; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); +wave_2_per_point39= +wave_2_per_point40= +wavecode_3_enabled=1 +wavecode_3_samples=402 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36=a=a*0.5 +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.208824 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.610000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.3 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.600000 +shapecode_1_b=0.900000 +shapecode_1_a=0.110000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); +shape_1_per_frame2=xsign = rand(2)*2 - 1; +shape_1_per_frame3= +shape_1_per_frame4=a=a * (1-xp); +shape_1_per_frame5= +shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; +shape_1_per_frame7= +shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); +per_frame_13=flash=if( above(flash,1) , flash-1 , flash); +per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); +per_frame_15=invert=0 diff --git a/presets/presets_bltc201/EoS - random 06B.milk b/presets/presets_bltc201/EoS - random 06B.milk new file mode 100644 index 0000000000..207376f46c --- /dev/null +++ b/presets/presets_bltc201/EoS - random 06B.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.930000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.470000 +ob_g=0.310000 +ob_b=0.380000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=25.599995 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.710000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.160000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=0.5; +shape_0_per_frame2=rad=q1/2; +shape_0_per_frame3=ang=q1*4; +shape_0_per_frame4=a=q1*q1; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.572799 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.240000 +shape_1_per_frame1=ang=sin(time/5.3)+1 + ( sin(time)*0.5 + 0.5)/2; +shape_1_per_frame2=additive= sin(time*2)*0.5 + 0.5005 ; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.800000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=y=0.1 + q3*0.4; +shape_2_per_frame2=rad=q3/2; +shape_2_per_frame3=ang=q3*5 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=qf=(q1+q2+q3)/3; +shape_3_per_frame2=y=0.1+ qf*0.7; +shape_3_per_frame3=rad=qf/2; +shape_3_per_frame4=ang=-qf*4 +per_frame_init_1= +per_frame_init_2=nut=0; +per_frame_init_3= +per_frame_init_4= +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.920; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3 +per_pixel_1=delay=0.91; +per_pixel_2=intensity=0.0003*(rad); +per_pixel_3= +per_pixel_4=delay=(1-rad*2) * sin(time); +per_pixel_5= +per_pixel_6=//xr=(rand(100)-50) * intensity; +per_pixel_7=//xrt=(xrt*delay) + (xr* (1-delay) ); +per_pixel_8=//dx=xrt; +per_pixel_9= +per_pixel_10=//yr=(rand(100)-50) * intensity; +per_pixel_11=//yrt=(yrt*delay) + (yr* (1-delay) ); +per_pixel_12=//dy=yrt; +per_pixel_13= +per_pixel_14=zoom=1.01; +per_pixel_15=rot=sin(ang*8 + time) * 0.02; +per_pixel_16=cx=(sin(time)/4 + 0.5); +per_pixel_17=cy=cos(time)/4 + 0.5 diff --git a/presets/presets_bltc201/EoS - repeater 05 - rave on acid.milk b/presets/presets_bltc201/EoS - repeater 05 - rave on acid.milk new file mode 100644 index 0000000000..744151fe2f --- /dev/null +++ b/presets/presets_bltc201/EoS - repeater 05 - rave on acid.milk @@ -0,0 +1,636 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(45/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31= +per_frame_32=q4 = min( vol*0.8 , 1 )*0.1 + 0.9 diff --git a/presets/presets_bltc201/EoS - repeater 08 - rave on a lot of acid and some K.milk b/presets/presets_bltc201/EoS - repeater 08 - rave on a lot of acid and some K.milk new file mode 100644 index 0000000000..a3d0a547b1 --- /dev/null +++ b/presets/presets_bltc201/EoS - repeater 08 - rave on a lot of acid and some K.milk @@ -0,0 +1,654 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.910001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2; +shape_0_per_frame8=tex_zoom = q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2; +shape_1_per_frame10=tex_zoom = q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2; +shape_2_per_frame11=tex_zoom = q5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2; +shape_3_per_frame11=tex_zoom = q5; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*0.1*(45/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*0.1*(45/fps); +per_frame_27= +per_frame_28=q1=mtime*0.9; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/10; +per_frame_35=q5 =1 diff --git a/presets/presets_bltc201/EoS - repeater 13 - definitive fast.milk b/presets/presets_bltc201/EoS - repeater 13 - definitive fast.milk new file mode 100644 index 0000000000..ba1cfb33b1 --- /dev/null +++ b/presets/presets_bltc201/EoS - repeater 13 - definitive fast.milk @@ -0,0 +1,649 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=mtime*0.4; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_bltc201/EoS - repeater 13 - definitive.milk b/presets/presets_bltc201/EoS - repeater 13 - definitive.milk new file mode 100644 index 0000000000..c71750b793 --- /dev/null +++ b/presets/presets_bltc201/EoS - repeater 13 - definitive.milk @@ -0,0 +1,659 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81= +wave_2_per_point82= +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85= +wave_2_per_point86= +wave_2_per_point87= +wave_2_per_point88= +wave_2_per_point89= +wave_2_per_point90= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60=//project into screenspace and draw on screen +wave_3_per_point61=zp=zp+2; +wave_3_per_point62=xs=-xp/zp; +wave_3_per_point63=ys=yp/zp; +wave_3_per_point64= +wave_3_per_point65=x=xs+0.5; +wave_3_per_point66=y=ys*1.3+0.5; +wave_3_per_point67= +wave_3_per_point68=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point69= +wave_3_per_point70=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point71= +wave_3_per_point72=r=t4; +wave_3_per_point73=g=t5; +wave_3_per_point74=b=t6; +wave_3_per_point75=//end +wave_3_per_point76= +wave_3_per_point77=//A pox upon he who is Tag. +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip; +per_frame_26=mtimeb=mtimeb+vol*0.1; +per_frame_27= +per_frame_28=q1=mtime*0.4; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30 diff --git a/presets/presets_bltc201/EoS - repeater 15 - kaleidoscope b.milk b/presets/presets_bltc201/EoS - repeater 15 - kaleidoscope b.milk new file mode 100644 index 0000000000..643fa6c3cf --- /dev/null +++ b/presets/presets_bltc201/EoS - repeater 15 - kaleidoscope b.milk @@ -0,0 +1,640 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.499999 +shapecode_3_rad=0.476930 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.026830 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.4998 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=time*3; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_bltc201/EoS - skylight a1 [music warp switch].milk b/presets/presets_bltc201/EoS - skylight a1 [music warp switch].milk new file mode 100644 index 0000000000..0b358aed17 --- /dev/null +++ b/presets/presets_bltc201/EoS - skylight a1 [music warp switch].milk @@ -0,0 +1,253 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.0 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.1 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=1.0 +shapecode_2_r2=0.1 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=y=0.1 + q3*0.4; +shape_2_per_frame2=rad=q3/2; +shape_2_per_frame3=ang=q3*5 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.980000 +shapecode_3_g=1.0 +shapecode_3_b=0.980000 +shapecode_3_a=0.3 +shapecode_3_r2=0.0 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.99; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_bltc201/EoS - tumbler demon mix high fps Phat_edit.milk b/presets/presets_bltc201/EoS - tumbler demon mix high fps Phat_edit.milk new file mode 100644 index 0000000000..5054afe8fc --- /dev/null +++ b/presets/presets_bltc201/EoS - tumbler demon mix high fps Phat_edit.milk @@ -0,0 +1,481 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=30.080032 +nMotionVectorsY=35.040012 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.399997 +mv_r=0.080001 +mv_g=0.710000 +mv_b=0.050000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.600000 +wavecode_0_b=0.200000 +wavecode_0_a=1.000000 +wave_0_init1=mtime=0 +wave_0_per_frame1=t1=q6 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=//cycle initial shape +wave_0_per_point4=sc=sample*32; +wave_0_per_point5=s=sc - int(sc); +wave_0_per_point6= +wave_0_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_0_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_0_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_0_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_0_per_point11=zp=0; +wave_0_per_point12= +wave_0_per_point13=yp=yp-0.475; +wave_0_per_point14= +wave_0_per_point15=//rotate on y axis during fram +wave_0_per_point16=ang=n*2; +wave_0_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point20= +wave_0_per_point21=//rotate on x axis +wave_0_per_point22=ang=t1*0.9; +wave_0_per_point23=xp=xq; +wave_0_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point26= +wave_0_per_point27=xq=xp; +wave_0_per_point28=yq=yp; +wave_0_per_point29=zq=zp; +wave_0_per_point30=ang=t1*0.2; +wave_0_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_0_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_0_per_point33=zq=zp; +wave_0_per_point34= +wave_0_per_point35=mirror=if(above(sample,0.5) , -1 , 1); +wave_0_per_point36= +wave_0_per_point37=xp=xq + sin(t1)*0.6; +wave_0_per_point38=xp=xp*mirror; +wave_0_per_point39=yp=yq + sin(t1*0.9)*0.6; +wave_0_per_point40=zp=zq + sin(t1*0.7)*0.6; +wave_0_per_point41= +wave_0_per_point42=zp=zp+1.1; +wave_0_per_point43= +wave_0_per_point44= +wave_0_per_point45=x=(xp/zp)*0.3 + 0.5; +wave_0_per_point46=y=(yp/zp)*1.3*0.3 + 0.5; +wave_0_per_point47= +wave_0_per_point48=zero= above(sample,0.49) * below(sample,0.51); +wave_0_per_point49=a=min(bass*bass,1)*0.6 * (1-zero); +wavecode_1_enabled=1 +wavecode_1_samples=252 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_init1=mtime=0 +wave_1_per_frame1=t1=q7 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=//cycle initial shape +wave_1_per_point4=sc=sample*32; +wave_1_per_point5=s=sc - int(sc); +wave_1_per_point6= +wave_1_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_1_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_1_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_1_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=yp=yp-0.475; +wave_1_per_point14= +wave_1_per_point15=//rotate on y axis during fram +wave_1_per_point16=ang=n*2; +wave_1_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point18=yq=yp; +wave_1_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point20= +wave_1_per_point21=//rotate on x axis +wave_1_per_point22=ang=t1; +wave_1_per_point23=xp=xq; +wave_1_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point26= +wave_1_per_point27=xq=xp; +wave_1_per_point28=yq=yp; +wave_1_per_point29=zq=zp; +wave_1_per_point30=ang=t1; +wave_1_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_1_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_1_per_point33=zq=zp; +wave_1_per_point34= +wave_1_per_point35= +wave_1_per_point36=mirror=if(above(sample,0.5) , -1 , 1); +wave_1_per_point37= +wave_1_per_point38=xp=xq + sin(t1)*0.6; +wave_1_per_point39=xp=xp*mirror; +wave_1_per_point40=yp=yq + sin(t1*0.9)*0.6; +wave_1_per_point41=zp=zq + sin(t1*0.7)*0.6; +wave_1_per_point42= +wave_1_per_point43=zp=zp+1.1; +wave_1_per_point44= +wave_1_per_point45= +wave_1_per_point46=x=(xp/zp)*0.3 + 0.5; +wave_1_per_point47=y=(yp/zp)*1.3*0.3 + 0.5; +wave_1_per_point48= +wave_1_per_point49=zero= above(sample,0.49) * below(sample,0.51); +wave_1_per_point50=a=min(mid*mid,1)*0.6 * (1-zero); +wavecode_2_enabled=1 +wavecode_2_samples=252 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.600000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mtime=0 +wave_2_per_frame1=t1=q8 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=//cycle initial shape +wave_2_per_point4=sc=sample*32; +wave_2_per_point5=s=sc - int(sc); +wave_2_per_point6= +wave_2_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_2_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_2_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_2_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_2_per_point11=zp=0; +wave_2_per_point12= +wave_2_per_point13=yp=yp-0.475; +wave_2_per_point14= +wave_2_per_point15=//rotate on y axis during fram +wave_2_per_point16=ang=n*2; +wave_2_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point18=yq=yp; +wave_2_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point20= +wave_2_per_point21=//rotate on x axis +wave_2_per_point22=ang=t1*0.9; +wave_2_per_point23=xp=xq; +wave_2_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point26= +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp; +wave_2_per_point29=zq=zp; +wave_2_per_point30=ang=t1*0.2; +wave_2_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_2_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_2_per_point33=zq=zp; +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=mirror=if(above(sample,0.5) , -1 , 1); +wave_2_per_point37= +wave_2_per_point38=xp=xq + sin(t1)*0.6; +wave_2_per_point39=xp=xp*mirror; +wave_2_per_point40=yp=yq + sin(t1*0.9)*0.6; +wave_2_per_point41=zp=zq + sin(t1*0.7)*0.6; +wave_2_per_point42= +wave_2_per_point43=zp=zp+1.1; +wave_2_per_point44= +wave_2_per_point45= +wave_2_per_point46=x=(xp/zp)*0.3 + 0.5; +wave_2_per_point47=y=(yp/zp)*1.3*0.3 + 0.5; +wave_2_per_point48= +wave_2_per_point49=zero= above(sample,0.49) * below(sample,0.51); +wave_2_per_point50=a=min(treb*treb,1)*0.6 * (1-zero); +wavecode_3_enabled=1 +wavecode_3_samples=252 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=//average location of cylinders +wave_3_per_frame2=x1=sin(q6)*0.6; +wave_3_per_frame3=y1=sin(q6*0.9)*0.6; +wave_3_per_frame4=z1=sin(q6*0.7)*0.6; +wave_3_per_frame5= +wave_3_per_frame6=x2=sin(q7)*0.6; +wave_3_per_frame7=y2=sin(q7*0.9)*0.6; +wave_3_per_frame8=z2=sin(q7*0.7)*0.6; +wave_3_per_frame9= +wave_3_per_frame10=x3=sin(q8)*0.6; +wave_3_per_frame11=y3=sin(q8*0.9)*0.6; +wave_3_per_frame12=z3=sin(q8*0.7)*0.6; +wave_3_per_frame13= +wave_3_per_frame14=xa=(x1+x2+x3)/3; +wave_3_per_frame15=ya=(y1+y2+y3)/3; +wave_3_per_frame16=za=(z1+z2+z3)/3; +wave_3_per_frame17= +wave_3_per_frame18=t1=xa; +wave_3_per_frame19=t2=ya; +wave_3_per_frame20=t3=za; +wave_3_per_frame21= +wave_3_per_frame22=mtime=(q6+q7+q8)/3; +wave_3_per_frame23=t8=mtime +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3=//cycle initial shape +wave_3_per_point4=sc=sample*32; +wave_3_per_point5=s=sc - int(sc); +wave_3_per_point6= +wave_3_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_3_per_point8=xp= if( above(s,0.75) , 1-s, xp )*0.3; +wave_3_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_3_per_point10=yp= if( above(s,0.75) , 0.75, yp)*0.3; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=yp=yp-0.475; +wave_3_per_point14= +wave_3_per_point15=//rotate on y axis during fram +wave_3_per_point16=ang=n*2; +wave_3_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point18=yq=yp; +wave_3_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point20= +wave_3_per_point21=//rotate on x axis +wave_3_per_point22=ang=t8*0.9; +wave_3_per_point23=xp=xq; +wave_3_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point26= +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp; +wave_3_per_point29=zq=zp; +wave_3_per_point30=ang=t8*0.2; +wave_3_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_3_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_3_per_point33=zq=zp; +wave_3_per_point34= +wave_3_per_point35=mirror=if(above(sample,0.5) , -1 , 1); +wave_3_per_point36= +wave_3_per_point37=xp=xq +t1; +wave_3_per_point38=xp=xp*mirror; +wave_3_per_point39=yp=yq +t2; +wave_3_per_point40=zp=zq +t3; +wave_3_per_point41= +wave_3_per_point42=zp=zp+1.1; +wave_3_per_point43= +wave_3_per_point44= +wave_3_per_point45=x=(xp/zp)*0.3 + 0.5; +wave_3_per_point46=y=(yp/zp)*1.3*0.3 + 0.5; +wave_3_per_point47= +wave_3_per_point48=zero= above(sample,0.49) * below(sample,0.51); +wave_3_per_point49=a=min(pow((bass+mid+treb)*0.15,2) , 1)*0.3*(1-zero) +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995947 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.980295 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=0.498; +shape_0_per_frame2=x=0.4997 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791419 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=100.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.040000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=b2=sin(time); +shape_1_per_frame2=bdom=above(bass_att,mid_att ) * above(bass_att,treb_att); +shape_1_per_frame3=mdom=above(mid_att ,bass_att) * above(mid_att, treb_att); +shape_1_per_frame4=tdom=above(treb_att ,mid_att ) * above(treb_att,bass_att); +shape_1_per_frame5= +shape_1_per_frame6=r=bdom; +shape_1_per_frame7=r2=r; +shape_1_per_frame8=g=mdom; +shape_1_per_frame9=g2=g; +shape_1_per_frame10=b=tdom; +shape_1_per_frame11=b2=b +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=btime=0;mtime=0;ttime=0 +per_frame_init_9= +per_frame_1=decay=0.95; +per_frame_2=zoom=-1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=btime=btime + (bass*bass*bass)*0.005; +per_frame_6=mtime=mtime + (mid*mid*mid)*0.005; +per_frame_7=ttime=ttime + (treb*treb*treb)*0.005; +per_frame_8=q6=btime; +per_frame_9=q7=mtime; +per_frame_10=q8=ttime; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=dy=0.001; +per_frame_17= +per_frame_18=//fuck vidio echo! +per_pixel_1=zm=sin(ang*3 )*0.01; +per_pixel_2=zm=0; +per_pixel_3=// + sin(rad*rad*9+time)*0.1; +per_pixel_4= +per_pixel_5= +per_pixel_6=sx=1+zm; +per_pixel_7=sy=1-zm diff --git a/presets/presets_bltc201/EoS and PieturP - AlienSpaceshipInvasion 2.milk b/presets/presets_bltc201/EoS and PieturP - AlienSpaceshipInvasion 2.milk new file mode 100644 index 0000000000..4d494a349d --- /dev/null +++ b/presets/presets_bltc201/EoS and PieturP - AlienSpaceshipInvasion 2.milk @@ -0,0 +1,554 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=3.012146 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799999 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=13.668633 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2=//plot random x position via function of sample pos; +wave_0_per_point3=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point4=xp=xp*.20; +wave_0_per_point5=//plot random y position via function of sample pos; +wave_0_per_point6=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point7=yp=yp*.20; +wave_0_per_point8=//plot random z position via function of sample pos; +wave_0_per_point9=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point10=zp=zp*0.25; +wave_0_per_point11= +wave_0_per_point12=//pull stars toward screen +wave_0_per_point13=zp=zp + 1 - t1; +wave_0_per_point14= +wave_0_per_point15=//correct when below 0 +wave_0_per_point16=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point17= +wave_0_per_point18=//darken far stars +wave_0_per_point19=//a=(1 - zp*0.5); +wave_0_per_point20= +wave_0_per_point21=zp=zp*0.7; +wave_0_per_point22= +wave_0_per_point23=x=xp/zp + 0.5; +wave_0_per_point24=y=yp/zp + 0.5; +wave_0_per_point25= +wave_0_per_point26=h=sin(sample*6.28)*.5+.5; +wave_0_per_point27=//s=sin(zp)*.5+.5; +wave_0_per_point28=s=min(abs(zp*.9),1); +wave_0_per_point29=l=min(abs(bass_att*.7),1); +wave_0_per_point30=//l=1; +wave_0_per_point31=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point32=// +wave_0_per_point33=// HSL to RGB by PieturP +wave_0_per_point34=// +wave_0_per_point35=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point36=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point37=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point38=// +wave_0_per_point39=cc=(6*h); +wave_0_per_point40=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point41=zf=(6*h)-cc; +wave_0_per_point42=zm=l; +wave_0_per_point43=zp=l*(1-s); +wave_0_per_point44=zq=l*(1-s*zf); +wave_0_per_point45=zt=l*(1-s*(1-zf)); +wave_0_per_point46=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point47=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point48=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point49=rr=if(equal(s,0),l,rr); +wave_0_per_point50=gg=if(equal(s,0),l,gg); +wave_0_per_point51=bb=if(equal(s,0),l,bb); +wave_0_per_point52= +wave_0_per_point53=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point54= +wave_0_per_point55=r=rr; +wave_0_per_point56=g=gg; +wave_0_per_point57=b=bb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=15.098679 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1= +wave_1_per_point2=//y=value1-value2+.5; +wave_1_per_point3=//qz=time; +wave_1_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_1_per_point5= +wave_1_per_point6=//qz=314;//314; +wave_1_per_point7=qz=314; +wave_1_per_point8=s=sin(time)*.2+.3; +wave_1_per_point9=//x=cos(value1+sample*qz)*.4+.5; +wave_1_per_point10=x=sample; +wave_1_per_point11=//y=sin(sample*qz)*.4+.5; +wave_1_per_point12=y=.103+value1; +wave_1_per_point13=r=0; +wave_1_per_point14=g=0; +wave_1_per_point15=b=0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.999996 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21= +wave_2_per_point22= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.140000 +shapecode_0_y=0.170000 +shapecode_0_rad=2.207644 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.255374 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.140000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100996 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=3.241264 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=p=p+.62; +shape_1_per_frame3=slowp=slowp+.062; +shape_1_per_frame4=p=below(p,6.283)*p; +shape_1_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_1_per_frame6=x=sin(p)*.35+.5; +shape_1_per_frame7=y=cos(p)*.35+.5; +shape_1_per_frame8=h=sin(slowp)*.5+.5; +shape_1_per_frame9=s=1; +shape_1_per_frame10=l=1; +shape_1_per_frame11=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame12=// +shape_1_per_frame13=// HSL to RGB by PieturP +shape_1_per_frame14=// +shape_1_per_frame15=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame16=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame17=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame18=// +shape_1_per_frame19=cc=(6*h); +shape_1_per_frame20=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame21=zf=(6*h)-cc; +shape_1_per_frame22=zm=l; +shape_1_per_frame23=zp=l*(1-s); +shape_1_per_frame24=zq=l*(1-s*zf); +shape_1_per_frame25=zt=l*(1-s*(1-zf)); +shape_1_per_frame26=monitor=zq; +shape_1_per_frame27=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame28=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame29=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame30=rr=if(equal(s,0),l,rr); +shape_1_per_frame31=gg=if(equal(s,0),l,gg); +shape_1_per_frame32=bb=if(equal(s,0),l,bb); +shape_1_per_frame33= +shape_1_per_frame34=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame35=r=rr; +shape_1_per_frame36=g=gg; +shape_1_per_frame37=b=bb; +shape_1_per_frame38= +shape_1_per_frame39=h=sin(slowp)*.5+.5; +shape_1_per_frame40=l=.5; +shape_1_per_frame41=s=.55; +shape_1_per_frame42=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame43=// +shape_1_per_frame44=// HSL to RGB by PieturP +shape_1_per_frame45=// +shape_1_per_frame46=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame47=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame48=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame49=// +shape_1_per_frame50=cc=(6*h); +shape_1_per_frame51=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame52=zf=(6*h)-cc; +shape_1_per_frame53=zm=l; +shape_1_per_frame54=zp=l*(1-s); +shape_1_per_frame55=zq=l*(1-s*zf); +shape_1_per_frame56=zt=l*(1-s*(1-zf)); +shape_1_per_frame57=monitor=zq; +shape_1_per_frame58=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame59=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame60=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame61=rr=if(equal(s,0),l,rr); +shape_1_per_frame62=gg=if(equal(s,0),l,gg); +shape_1_per_frame63=bb=if(equal(s,0),l,bb); +shape_1_per_frame64= +shape_1_per_frame65=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame66=r2=rr; +shape_1_per_frame67=g2=gg; +shape_1_per_frame68=b2=bb; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621745 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.451118 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.140000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.123235 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=3.241264 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1= +shape_3_per_frame2=p=p+.314; +shape_3_per_frame3=slowp=slowp+.00628; +shape_3_per_frame4=p=below(p,6.283)*p; +shape_3_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_3_per_frame6=my=my+(mid*mid*mid)*.02; +shape_3_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_3_per_frame8=x=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_3_per_frame9=y=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_3_per_frame10=h=sin(slowp)*.5+.5; +shape_3_per_frame11=s=min(abs(bass*.6),1); +shape_3_per_frame12=l=1; +shape_3_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame14=// +shape_3_per_frame15=// HSL to RGB by PieturP +shape_3_per_frame16=// +shape_3_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame20=// +shape_3_per_frame21=cc=(6*h); +shape_3_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame23=zf=(6*h)-cc; +shape_3_per_frame24=zm=l; +shape_3_per_frame25=zp=l*(1-s); +shape_3_per_frame26=zq=l*(1-s*zf); +shape_3_per_frame27=zt=l*(1-s*(1-zf)); +shape_3_per_frame28=monitor=zq; +shape_3_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame32=rr=if(equal(s,0),l,rr); +shape_3_per_frame33=gg=if(equal(s,0),l,gg); +shape_3_per_frame34=bb=if(equal(s,0),l,bb); +shape_3_per_frame35= +shape_3_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame37=r=rr; +shape_3_per_frame38=g=gg; +shape_3_per_frame39=b=bb; +shape_3_per_frame40= +shape_3_per_frame41=h=sin(slowp)*.5+.5; +shape_3_per_frame42=l=min(abs(bass*.6),1); +shape_3_per_frame43=s=1; +shape_3_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame45=// +shape_3_per_frame46=// HSL to RGB by PieturP +shape_3_per_frame47=// +shape_3_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame51=// +shape_3_per_frame52=cc=(6*h); +shape_3_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame54=zf=(6*h)-cc; +shape_3_per_frame55=zm=l; +shape_3_per_frame56=zp=l*(1-s); +shape_3_per_frame57=zq=l*(1-s*zf); +shape_3_per_frame58=zt=l*(1-s*(1-zf)); +shape_3_per_frame59=monitor=zq; +shape_3_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame63=rr=if(equal(s,0),l,rr); +shape_3_per_frame64=gg=if(equal(s,0),l,gg); +shape_3_per_frame65=bb=if(equal(s,0),l,bb); +shape_3_per_frame66= +shape_3_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame68=r2=rr; +shape_3_per_frame69=g2=gg; +shape_3_per_frame70=b2=bb; +shape_3_per_frame71=border_r=rr; +shape_3_per_frame72=border_g=gg; +shape_3_per_frame73=border_b=bb; +per_frame_1=wave_a=0; +per_frame_2=decay=1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=dx=0; +per_frame_6=dy=0; +per_frame_7=sx=1; +per_frame_8=sy=1; +per_frame_9= +per_frame_10=when=0; +per_frame_11= +per_frame_12=mm=mm+(mid*mid*mid)*.02; +per_frame_13=mm=below(mm,628)*mm; +per_frame_14=mt=mt+(bass*bass*bass)*.02; +per_frame_15=mt=below(mt,628)*mt; +per_frame_16= +per_frame_17=rot=if(equal(when,0),sin(mt*.1)*2+2,0)-2; +per_frame_18= +per_frame_19=//q1=.5;sin(time)*2+2; +per_frame_20=//q2=cos(time+(bs*.8))*12.56+12.56; +per_frame_21= +per_frame_22=zoom=if(equal(when,0),1-(sin(mm)*.2+.2),1); +per_frame_23=monitor=mt; +per_frame_24=cx=sin(time)*.035+.5; +per_frame_25=cy=cos(time)*.035+.5; diff --git a/presets/presets_bltc201/EoS and Zylot - skylight (Stained Glass Majesty mix).milk b/presets/presets_bltc201/EoS and Zylot - skylight (Stained Glass Majesty mix).milk new file mode 100644 index 0000000000..9e9f76cd5a --- /dev/null +++ b/presets/presets_bltc201/EoS and Zylot - skylight (Stained Glass Majesty mix).milk @@ -0,0 +1,266 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.000000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=0.300000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_Gears_mix.milk b/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_Gears_mix.milk new file mode 100644 index 0000000000..636ea5707f --- /dev/null +++ b/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_Gears_mix.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=2.695696 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.049138 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.069609 +sx=0.999999 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.800000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=24.159897 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2= +wave_0_per_frame3=basstime=basstime+bass; +wave_0_per_frame4=t1=basstime; +wave_0_per_point1=masterspeed=604*q1; +wave_0_per_point2=masterspeed=3; +wave_0_per_point3=rotation1=time*0.01; +wave_0_per_point4= +wave_0_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_0_per_point6=perspective=0.7; +wave_0_per_point7= +wave_0_per_point8=//error bump +wave_0_per_point9=error = sin(time*128.5)*8 - 7; +wave_0_per_point10=error = error * above(error,0); +wave_0_per_point11=error=error+1; +wave_0_per_point12=error=1; +wave_0_per_point13= +wave_0_per_point14=//plot x,y,z to point on sphere +wave_0_per_point15=flx=sin(tm*14); +wave_0_per_point16=fly=cos(tm*14); +wave_0_per_point17=smp=sample*6.283; +wave_0_per_point18=xp=sin(smp*masterspeed )*0.25 * error; +wave_0_per_point19=yp=cos(smp*masterspeed )*0.25 * error; +wave_0_per_point20=zp=0; +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=//rotate on y axis; +wave_0_per_point25=angy=time*43; +wave_0_per_point26=angy=q1*1; +wave_0_per_point27=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point28=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point29=xp=xq; +wave_0_per_point30=zp=zq; +wave_0_per_point31= +wave_0_per_point32=t2=xp; +wave_0_per_point33=t3=yp; +wave_0_per_point34=t4=zp; +wave_0_per_point35= +wave_0_per_point36=//rotate on x axis +wave_0_per_point37=axs1 = sin(time) + 1.6; +wave_0_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point40=yp=yq; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//rotate on y axis again +wave_0_per_point44=axs2 = sin(time*0.4)*3.3; +wave_0_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point47=xp=xq; +wave_0_per_point48=zp=zq; +wave_0_per_point49= +wave_0_per_point50=//stretch y axis to compensate for aspect ratio +wave_0_per_point51=yp=yp*1.2; +wave_0_per_point52= +wave_0_per_point53=//push forward into viewpace +wave_0_per_point54=zp=zp+2.1; +wave_0_per_point55= +wave_0_per_point56=//project x,y,z into screenspace +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=//center 0,0 in middle of screen +wave_0_per_point61=x=xs+0.5; +wave_0_per_point62=y=ys+0.5; +wave_0_per_point63= +wave_0_per_point64=r=(value1+0.5)*0.11; +wave_0_per_point65=g=(value1+0.5)*0.4; +wave_0_per_point66=b=(value1+0.5)*0.09; +wave_0_per_point67= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tm=tm+bass*0.02; +wave_1_per_frame2=t2=sin(tm*1) * 0.4; +wave_1_per_frame3=t3=cos(tm*1) * 0.4; +wave_1_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_1_per_point1=masterspeed=604*q1; +wave_1_per_point2=rotation1=time*0.01; +wave_1_per_point3= +wave_1_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point5=perspective=0.7; +wave_1_per_point6= +wave_1_per_point7=//generate rotation point +wave_1_per_point8=rptime=time*0.2; +wave_1_per_point9=rp_fltime=time; +wave_1_per_point10=rp_flx=sin(rp_fltime); +wave_1_per_point11=rp_fly=cos(rp_fltime); +wave_1_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_1_per_point13=yr=cos(rptime)*0.33 ; +wave_1_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_1_per_point15= +wave_1_per_point16=//plot x,y,z to point on sphere +wave_1_per_point17=flx=sin(tm*14); +wave_1_per_point18=fly=cos(tm*14); +wave_1_per_point19=smp=sample*6.283; +wave_1_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_1_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_1_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_1_per_point23=xp=xp*0.3; +wave_1_per_point24=yp=yp*0.3; +wave_1_per_point25=zp=zp*0.3; +wave_1_per_point26= +wave_1_per_point27=//add orbit value +wave_1_per_point28=xp=xp+t2; +wave_1_per_point29=zp=zp+t3; +wave_1_per_point30=yp=yp+t4; +wave_1_per_point31= +wave_1_per_point32=//push forward into viewpace +wave_1_per_point33=zp=zp+2.1; +wave_1_per_point34= +wave_1_per_point35=//project x,y,z into screenspace +wave_1_per_point36=xs=xp/zp; +wave_1_per_point37=ys=yp/zp; +wave_1_per_point38= +wave_1_per_point39=//center 0,0 in middle of screen +wave_1_per_point40=x=xs+0.5; +wave_1_per_point41=y=ys+0.5; +wave_1_per_point42= +wave_1_per_point43=r=(value1+0.5)*1.0; +wave_1_per_point44=g=(value1+0.5)*0.2; +wave_1_per_point45=b=(value1+0.5)*0.1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm=tm+mid*0.02; +wave_2_per_frame2=t2=sin(tm*1) * 0.5; +wave_2_per_frame3=t3=cos(tm*1) * 0.5; +wave_2_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_2_per_point1=masterspeed=604*q1; +wave_2_per_point2=rotation1=time*0.01; +wave_2_per_point3= +wave_2_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_2_per_point5=perspective=0.7; +wave_2_per_point6= +wave_2_per_point7=//generate rotation point +wave_2_per_point8=rptime=time*0.2; +wave_2_per_point9=rp_fltime=time; +wave_2_per_point10=rp_flx=sin(rp_fltime); +wave_2_per_point11=rp_fly=cos(rp_fltime); +wave_2_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_2_per_point13=yr=cos(rptime)*0.33 ; +wave_2_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_2_per_point15= +wave_2_per_point16=//plot x,y,z to point on sphere +wave_2_per_point17=flx=sin(tm*14); +wave_2_per_point18=fly=cos(tm*14); +wave_2_per_point19=smp=sample*6.283; +wave_2_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_2_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_2_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_2_per_point23=xp=xp*0.3; +wave_2_per_point24=yp=yp*0.3; +wave_2_per_point25=zp=zp*0.3; +wave_2_per_point26= +wave_2_per_point27=//add orbit value +wave_2_per_point28=xp=xp+t2; +wave_2_per_point29=zp=zp+t3; +wave_2_per_point30=yp=yp+t4; +wave_2_per_point31= +wave_2_per_point32=//push forward into viewpace +wave_2_per_point33=zp=zp+2.1; +wave_2_per_point34= +wave_2_per_point35=//project x,y,z into screenspace +wave_2_per_point36=xs=xp/zp; +wave_2_per_point37=ys=yp/zp; +wave_2_per_point38= +wave_2_per_point39=//center 0,0 in middle of screen +wave_2_per_point40=x=xs+0.5; +wave_2_per_point41=y=ys+0.5; +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44=r=(value1+0.5)*1.0; +wave_2_per_point45=g=(value1+0.5)*0.1; +wave_2_per_point46=b=(value1+0.5)*0.8; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tm=tm+treb*0.02; +wave_3_per_frame2=t2=sin(tm*1) * 0.6; +wave_3_per_frame3=t3=cos(tm*1) * 0.6; +wave_3_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_3_per_point1=masterspeed=604*q1; +wave_3_per_point2=rotation1=time*0.01; +wave_3_per_point3= +wave_3_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point5=perspective=0.7; +wave_3_per_point6= +wave_3_per_point7=//generate rotation point +wave_3_per_point8=rptime=time*0.2; +wave_3_per_point9=rp_fltime=time; +wave_3_per_point10=rp_flx=sin(rp_fltime); +wave_3_per_point11=rp_fly=cos(rp_fltime); +wave_3_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_3_per_point13=yr=cos(rptime)*0.33 ; +wave_3_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_3_per_point15= +wave_3_per_point16=//plot x,y,z to point on sphere +wave_3_per_point17=flx=sin(tm*14); +wave_3_per_point18=fly=cos(tm*14); +wave_3_per_point19=smp=sample*6.283; +wave_3_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_3_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_3_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_3_per_point23=xp=xp*0.3; +wave_3_per_point24=yp=yp*0.3; +wave_3_per_point25=zp=zp*0.3; +wave_3_per_point26= +wave_3_per_point27=//add orbit value +wave_3_per_point28=xp=xp+t2; +wave_3_per_point29=zp=zp+t3; +wave_3_per_point30=yp=yp+t4; +wave_3_per_point31= +wave_3_per_point32=//push forward into viewpace +wave_3_per_point33=zp=zp+2.1; +wave_3_per_point34= +wave_3_per_point35=//project x,y,z into screenspace +wave_3_per_point36=xs=xp/zp; +wave_3_per_point37=ys=yp/zp; +wave_3_per_point38= +wave_3_per_point39=//center 0,0 in middle of screen +wave_3_per_point40=x=xs+0.5; +wave_3_per_point41=y=ys+0.5; +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=r=(value1+0.5)*0.1; +wave_3_per_point45=g=(value1+0.5)*0.2; +wave_3_per_point46=b=(value1+0.5)*1.0; +shapecode_0_enabled=0 +shapecode_0_sides=13 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.611623 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.218587 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330037 +shapecode_1_ang=1.005310 +shapecode_1_tex_ang=0.628319 +shapecode_1_tex_zoom=0.305464 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang=cos(time/2)*0.4+0.5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.015965 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.199116 +shapecode_2_tex_zoom=0.912662 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.800000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=(sin(time/2)*.5+.5)*.188; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.530000 +shapecode_3_y=0.750000 +shapecode_3_rad=0.453783 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=2.216702 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=x=(sin(time)*0.3+0.5); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=//zoom=1.003; +per_frame_3=ms=sin(time*0.6); +per_frame_4=mss=mss+ms*0.1; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=//echo_zoom=1; +per_frame_12=//dx=sin(time*0.5)*0.001; +per_frame_13=//dy=cos(time*0.5)*0.001; +per_frame_14= +per_frame_15= +per_frame_16= +per_pixel_1=zoom=-1*rad; diff --git a/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_jewels_mix.milk b/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_jewels_mix.milk new file mode 100644 index 0000000000..259f6c694b --- /dev/null +++ b/presets/presets_bltc201/EoS planetfunk-04 - trip1_phat_edit_4 - EoS_jewels_mix.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=2.695696 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.049138 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.069609 +sx=0.999999 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.190000 +nMotionVectorsX=24.159897 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2= +wave_0_per_frame3=basstime=basstime+bass; +wave_0_per_frame4=t1=basstime; +wave_0_per_point1=masterspeed=604*q1; +wave_0_per_point2=masterspeed=3; +wave_0_per_point3=rotation1=time*0.01; +wave_0_per_point4= +wave_0_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_0_per_point6=perspective=0.7; +wave_0_per_point7= +wave_0_per_point8=//error bump +wave_0_per_point9=error = sin(time*128.5)*8 - 7; +wave_0_per_point10=error = error * above(error,0); +wave_0_per_point11=error=error+1; +wave_0_per_point12=error=1; +wave_0_per_point13= +wave_0_per_point14=//plot x,y,z to point on sphere +wave_0_per_point15=flx=sin(tm*14); +wave_0_per_point16=fly=cos(tm*14); +wave_0_per_point17=smp=sample*6.283; +wave_0_per_point18=xp=sin(smp*masterspeed )*0.25 * error; +wave_0_per_point19=yp=cos(smp*masterspeed )*0.25 * error; +wave_0_per_point20=zp=0; +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=//rotate on y axis; +wave_0_per_point25=angy=time*43; +wave_0_per_point26=angy=q1*1; +wave_0_per_point27=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point28=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point29=xp=xq; +wave_0_per_point30=zp=zq; +wave_0_per_point31= +wave_0_per_point32=t2=xp; +wave_0_per_point33=t3=yp; +wave_0_per_point34=t4=zp; +wave_0_per_point35= +wave_0_per_point36=//rotate on x axis +wave_0_per_point37=axs1 = sin(time) + 1.6; +wave_0_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point40=yp=yq; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//rotate on y axis again +wave_0_per_point44=axs2 = sin(time*0.4)*3.3; +wave_0_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point47=xp=xq; +wave_0_per_point48=zp=zq; +wave_0_per_point49= +wave_0_per_point50=//stretch y axis to compensate for aspect ratio +wave_0_per_point51=yp=yp*1.2; +wave_0_per_point52= +wave_0_per_point53=//push forward into viewpace +wave_0_per_point54=zp=zp+2.1; +wave_0_per_point55= +wave_0_per_point56=//project x,y,z into screenspace +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=//center 0,0 in middle of screen +wave_0_per_point61=x=xs+0.5; +wave_0_per_point62=y=ys+0.5; +wave_0_per_point63= +wave_0_per_point64=r=(value1+0.5)*0.11; +wave_0_per_point65=g=(value1+0.5)*0.4; +wave_0_per_point66=b=(value1+0.5)*0.09; +wave_0_per_point67= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tm=tm+bass*0.02; +wave_1_per_frame2=t2=sin(tm*1) * 0.4; +wave_1_per_frame3=t3=cos(tm*1) * 0.4; +wave_1_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_1_per_point1=masterspeed=604*q1; +wave_1_per_point2=rotation1=time*0.01; +wave_1_per_point3= +wave_1_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point5=perspective=0.7; +wave_1_per_point6= +wave_1_per_point7=//generate rotation point +wave_1_per_point8=rptime=time*0.2; +wave_1_per_point9=rp_fltime=time; +wave_1_per_point10=rp_flx=sin(rp_fltime); +wave_1_per_point11=rp_fly=cos(rp_fltime); +wave_1_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_1_per_point13=yr=cos(rptime)*0.33 ; +wave_1_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_1_per_point15= +wave_1_per_point16=//plot x,y,z to point on sphere +wave_1_per_point17=flx=sin(tm*14); +wave_1_per_point18=fly=cos(tm*14); +wave_1_per_point19=smp=sample*6.283; +wave_1_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_1_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_1_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_1_per_point23=xp=xp*0.3; +wave_1_per_point24=yp=yp*0.3; +wave_1_per_point25=zp=zp*0.3; +wave_1_per_point26= +wave_1_per_point27=//add orbit value +wave_1_per_point28=xp=xp+t2; +wave_1_per_point29=zp=zp+t3; +wave_1_per_point30=yp=yp+t4; +wave_1_per_point31= +wave_1_per_point32=//push forward into viewpace +wave_1_per_point33=zp=zp+2.1; +wave_1_per_point34= +wave_1_per_point35=//project x,y,z into screenspace +wave_1_per_point36=xs=xp/zp; +wave_1_per_point37=ys=yp/zp; +wave_1_per_point38= +wave_1_per_point39=//center 0,0 in middle of screen +wave_1_per_point40=x=xs+0.5; +wave_1_per_point41=y=ys+0.5; +wave_1_per_point42= +wave_1_per_point43=r=(value1+0.5)*1.0; +wave_1_per_point44=g=(value1+0.5)*0.2; +wave_1_per_point45=b=(value1+0.5)*0.1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm=tm+mid*0.02; +wave_2_per_frame2=t2=sin(tm*1) * 0.5; +wave_2_per_frame3=t3=cos(tm*1) * 0.5; +wave_2_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_2_per_point1=masterspeed=604*q1; +wave_2_per_point2=rotation1=time*0.01; +wave_2_per_point3= +wave_2_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_2_per_point5=perspective=0.7; +wave_2_per_point6= +wave_2_per_point7=//generate rotation point +wave_2_per_point8=rptime=time*0.2; +wave_2_per_point9=rp_fltime=time; +wave_2_per_point10=rp_flx=sin(rp_fltime); +wave_2_per_point11=rp_fly=cos(rp_fltime); +wave_2_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_2_per_point13=yr=cos(rptime)*0.33 ; +wave_2_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_2_per_point15= +wave_2_per_point16=//plot x,y,z to point on sphere +wave_2_per_point17=flx=sin(tm*14); +wave_2_per_point18=fly=cos(tm*14); +wave_2_per_point19=smp=sample*6.283; +wave_2_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_2_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_2_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_2_per_point23=xp=xp*0.3; +wave_2_per_point24=yp=yp*0.3; +wave_2_per_point25=zp=zp*0.3; +wave_2_per_point26= +wave_2_per_point27=//add orbit value +wave_2_per_point28=xp=xp+t2; +wave_2_per_point29=zp=zp+t3; +wave_2_per_point30=yp=yp+t4; +wave_2_per_point31= +wave_2_per_point32=//push forward into viewpace +wave_2_per_point33=zp=zp+2.1; +wave_2_per_point34= +wave_2_per_point35=//project x,y,z into screenspace +wave_2_per_point36=xs=xp/zp; +wave_2_per_point37=ys=yp/zp; +wave_2_per_point38= +wave_2_per_point39=//center 0,0 in middle of screen +wave_2_per_point40=x=xs+0.5; +wave_2_per_point41=y=ys+0.5; +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44=r=(value1+0.5)*1.0; +wave_2_per_point45=g=(value1+0.5)*0.1; +wave_2_per_point46=b=(value1+0.5)*0.8; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tm=tm+treb*0.02; +wave_3_per_frame2=t2=sin(tm*1) * 0.6; +wave_3_per_frame3=t3=cos(tm*1) * 0.6; +wave_3_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_3_per_point1=masterspeed=604*q1; +wave_3_per_point2=rotation1=time*0.01; +wave_3_per_point3= +wave_3_per_point4=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point5=perspective=0.7; +wave_3_per_point6= +wave_3_per_point7=//generate rotation point +wave_3_per_point8=rptime=time*0.2; +wave_3_per_point9=rp_fltime=time; +wave_3_per_point10=rp_flx=sin(rp_fltime); +wave_3_per_point11=rp_fly=cos(rp_fltime); +wave_3_per_point12=xr=sin(rptime )*0.25*rp_fly ; +wave_3_per_point13=yr=cos(rptime)*0.33 ; +wave_3_per_point14=zr=sin(rptime)*perspective*rp_flx; +wave_3_per_point15= +wave_3_per_point16=//plot x,y,z to point on sphere +wave_3_per_point17=flx=sin(tm*14); +wave_3_per_point18=fly=cos(tm*14); +wave_3_per_point19=smp=sample*6.283; +wave_3_per_point20=xp=sin(smp*masterspeed )*0.25*fly ; +wave_3_per_point21=yp=cos(smp*masterspeed )*0.33 ; +wave_3_per_point22=zp=sin(smp*masterspeed )*perspective*flx; +wave_3_per_point23=xp=xp*0.3; +wave_3_per_point24=yp=yp*0.3; +wave_3_per_point25=zp=zp*0.3; +wave_3_per_point26= +wave_3_per_point27=//add orbit value +wave_3_per_point28=xp=xp+t2; +wave_3_per_point29=zp=zp+t3; +wave_3_per_point30=yp=yp+t4; +wave_3_per_point31= +wave_3_per_point32=//push forward into viewpace +wave_3_per_point33=zp=zp+2.1; +wave_3_per_point34= +wave_3_per_point35=//project x,y,z into screenspace +wave_3_per_point36=xs=xp/zp; +wave_3_per_point37=ys=yp/zp; +wave_3_per_point38= +wave_3_per_point39=//center 0,0 in middle of screen +wave_3_per_point40=x=xs+0.5; +wave_3_per_point41=y=ys+0.5; +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=r=(value1+0.5)*0.1; +wave_3_per_point45=g=(value1+0.5)*0.2; +wave_3_per_point46=b=(value1+0.5)*1.0; +shapecode_0_enabled=0 +shapecode_0_sides=13 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.611623 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.218587 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330037 +shapecode_1_ang=1.005310 +shapecode_1_tex_ang=0.628319 +shapecode_1_tex_zoom=0.305464 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang=cos(time/2)*0.4+0.5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.015965 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.199116 +shapecode_2_tex_zoom=0.912662 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.800000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=(sin(time/2)*.5+.5)*.188; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.530000 +shapecode_3_y=0.750000 +shapecode_3_rad=0.453783 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=2.216702 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=x=(sin(time)*0.3+0.5); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=//zoom=1.003; +per_frame_3=ms=sin(time*0.6); +per_frame_4=mss=mss+ms*0.1; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=//echo_zoom=1; +per_frame_12=//dx=sin(time*0.5)*0.001; +per_frame_13=//dy=cos(time*0.5)*0.001; +per_frame_14= +per_frame_15= +per_frame_16= +per_pixel_1=zoom=-1; diff --git a/presets/presets_bltc201/EoS+Phat - Arm_upgrades - transformer.milk b/presets/presets_bltc201/EoS+Phat - Arm_upgrades - transformer.milk new file mode 100644 index 0000000000..a5780cfb33 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat - Arm_upgrades - transformer.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=65 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.020088 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shape_1_per_frame5= +shape_1_per_frame6=vol= (mid*mid+treb*treb); +shape_1_per_frame7=vol=vol* above(vol,1); +shape_1_per_frame8=//ang=ang+ vol*0.1; +shape_1_per_frame9=ang=(sin(time/2)*0.5+0.5)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(44/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos diff --git a/presets/presets_bltc201/EoS+Phat - Flare.milk b/presets/presets_bltc201/EoS+Phat - Flare.milk new file mode 100644 index 0000000000..70d0227309 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat - Flare.milk @@ -0,0 +1,278 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001820 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=68 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.374926 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(26/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos +per_pixel_1=rot=rad*20+ang; diff --git a/presets/presets_bltc201/EoS+Phat - Flare_dig_mix.milk b/presets/presets_bltc201/EoS+Phat - Flare_dig_mix.milk new file mode 100644 index 0000000000..4dd95e4767 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat - Flare_dig_mix.milk @@ -0,0 +1,279 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.940000 +fVideoEchoZoom=1.001819 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.155000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662300 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=68 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.374926 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.166780 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364567 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(26/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos +per_pixel_1=rot=rad/(ang+0.1); diff --git a/presets/presets_bltc201/EoS+Phat - spectrum bubble new colors_v2.milk b/presets/presets_bltc201/EoS+Phat - spectrum bubble new colors_v2.milk new file mode 100644 index 0000000000..bc9aa8a2d8 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat - spectrum bubble new colors_v2.milk @@ -0,0 +1,276 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1= sin(time*0.5)*1 +wave_0_per_point1= +wave_0_per_point2=n=sample*6.283; +wave_0_per_point3=size=0.165; +wave_0_per_point4= +wave_0_per_point5=x=sin(n)*size + 0.5; +wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point7= +wave_0_per_point8=f=t1; +wave_0_per_point9=r=sin(n*3+f)*0.5 + 0.5; +wave_0_per_point10=g=sin(n*3+f*1.5)*0.5+0.5; +wave_0_per_point11=b=sin(n*3+f*2.0)*0.5 + 0.5; +wave_0_per_point12=//r=r*flux; +wave_0_per_point13=//g=g*flux; +wave_0_per_point14=//b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=flip=-flip; +wave_1_per_point3= +wave_1_per_point4=xp=0; +wave_1_per_point5=yp=0; +wave_1_per_point6=zp=0; +wave_1_per_point7= +wave_1_per_point8= +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=zp=zp+2.1; +wave_1_per_point12=x=xp/zp+0.5; +wave_1_per_point13=y=yp/zp*1.33+0.5; +wave_1_per_point14=r=1;g=1;b=1; +wave_1_per_point15=a=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.049831 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866400 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.160960 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=8 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444841 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999996 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=time; +shape_2_per_frame2=thick=above(.9,bass); +shape_2_per_frame3=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(75/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.03; +per_frame_20=dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; diff --git a/presets/presets_bltc201/EoS+Phat - the lights at night_spikes.milk b/presets/presets_bltc201/EoS+Phat - the lights at night_spikes.milk new file mode 100644 index 0000000000..3fb331f0a6 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat - the lights at night_spikes.milk @@ -0,0 +1,271 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.008147 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.008151 +sy=1.104621 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.170000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=r=sin(time*0.7)*3*(bass*0.2); +shape_0_per_frame3=g=sin(time*0.5)*4*(treb*2); +shape_0_per_frame4= +shape_0_per_frame5=vol=(bass_att+mid_att+treb_att)*0.25; +shape_0_per_frame6=vol=vol*vol; +shape_0_per_frame7=vol=min(vol,1); +shape_0_per_frame8=vol=max(vol,0); +shape_0_per_frame9= +shape_0_per_frame10=a=a*vol; +shape_0_per_frame11=a2=a2*vol +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.987774 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=vol=(bass+mid+treb)*0.45; +shape_2_per_frame3=vol=vol*vol; +shape_2_per_frame4=vol=min(vol,1); +shape_2_per_frame5=vol=max(vol,0); +shape_2_per_frame6= +shape_2_per_frame7=a=a*vol; +shape_2_per_frame8=a2=a2*vol +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.35; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.5; +per_frame_23=//dy=cos(musictime*0.069)*0.3; +per_frame_24=dy=pow( (bass+mid+treb)*0.25, 2)*0.01; +per_frame_25= +per_frame_26=sx=-1; +per_frame_27= +per_frame_28=monitor=rot; +per_frame_29= +per_frame_30=ob_r=tan(time); +per_frame_31=ob_r=max(ob_r,0); +per_frame_32=ob_r=min(ob_r,1); +per_frame_33=ob_g=tan(time+2.1); +per_frame_34=ob_g=max(ob_g,0); +per_frame_35=ob_g=min(ob_g,1); +per_frame_36=ob_b=tan(time+4.2); +per_frame_37=ob_b=max(ob_b,0); +per_frame_38=ob_b=min(ob_b,1); diff --git a/presets/presets_bltc201/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk b/presets/presets_bltc201/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk new file mode 100644 index 0000000000..74e28e2f88 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shape_1_per_frame3=ang = time/5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=//krash's beat detection code +per_frame_31=volume = 0.3*(bass+mid+att); +per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_35=peakbass_att = max(bass_att,peakbass_att); +per_frame_36=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_37=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_38=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_39=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_40=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatcounter = beatcounter + beat; +per_frame_42=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_43=flip = 2*mode-1; +per_frame_44=flip = flip*0.5+0.5; +per_frame_45= +per_frame_46=rot = -time/4 * flip; +per_frame_47= diff --git a/presets/presets_bltc201/EoS+Phat Cool Bug.milk b/presets/presets_bltc201/EoS+Phat Cool Bug.milk new file mode 100644 index 0000000000..eca16a6688 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Cool Bug.milk @@ -0,0 +1,254 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7= +per_pixel_8=//adjust x,y values based on musictime +per_pixel_9=nx=(x-0.5-q4)*2; +per_pixel_10=ny=(y-0.5+q5)*1.5; +per_pixel_11= +per_pixel_12=//radians based on adjusted x,y +per_pixel_13=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_14= +per_pixel_15=//ang based on adjusted x,y +per_pixel_16=ag=atan( ny/nx ); diff --git a/presets/presets_bltc201/EoS+Phat Cool Bug_arm_textured.milk b/presets/presets_bltc201/EoS+Phat Cool Bug_arm_textured.milk new file mode 100644 index 0000000000..30e275f528 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Cool Bug_arm_textured.milk @@ -0,0 +1,238 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999995 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; diff --git a/presets/presets_bltc201/EoS+Phat Emergent factors - Bitcore Tweak.milk b/presets/presets_bltc201/EoS+Phat Emergent factors - Bitcore Tweak.milk new file mode 100644 index 0000000000..3bf6e59b72 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Emergent factors - Bitcore Tweak.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.010000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=35.200005 +nMotionVectorsY=29.760006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.500000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.000000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.000000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.662308 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.7; +per_frame_14= +per_frame_15=musictime=(musictime+vol*1.5)-1; +per_frame_16=q4=0.5; +per_frame_17=q5=0.5; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.05; +per_frame_20=dy=cos(musictime*0.069)*0.04; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd/rd)-.05; +per_pixel_6=rot=(rd/rd)+sin(time/5); diff --git a/presets/presets_bltc201/EoS+Phat Fractical_dancer - light in the distance.milk b/presets/presets_bltc201/EoS+Phat Fractical_dancer - light in the distance.milk new file mode 100644 index 0000000000..0f1e0b372c --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Fractical_dancer - light in the distance.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=//=sin(musictime*0.02)*0.3; +per_frame_18=//q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.07; +per_frame_21=dy=cos(musictime*0.069)*0.07; +per_frame_22= +per_frame_23=q8=musictime; +per_frame_24= +per_frame_25= +per_frame_26=q4=sin(musictime*0.03*0.5)*0.1; +per_frame_27=q5=cos(musictime*0.03*2)*0.1; +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zm=pow(rd,sin(q8*0.02)+2.5)*2; +per_pixel_6=zm=max(zm,0.5); +per_pixel_7=sx=zm; +per_pixel_8=sy=zm diff --git a/presets/presets_bltc201/EoS+Phat Fractical_dancer_v2d.milk b/presets/presets_bltc201/EoS+Phat Fractical_dancer_v2d.milk new file mode 100644 index 0000000000..4695573c31 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Fractical_dancer_v2d.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.615172 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*3) + sqr( (y-0.5+q5)*2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)*1.4; diff --git a/presets/presets_bltc201/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk b/presets/presets_bltc201/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk new file mode 100644 index 0000000000..49bc0bbe13 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=above(treb_att,0.5); +shape_0_per_frame3=r2=sin(time*1.23); +shape_0_per_frame4=g2=cos(time*2.34); +shape_0_per_frame5=b2=sin(time*2.34); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.45; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*3.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=mv_b = 0.5+0.4*sin(2.332*time); +per_frame_10=mv_a = vol*0.2; +per_frame_11=//ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_12=//ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_13=//ib_b = 1-ob_b; +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=zoom=.9; +per_frame_18= +per_frame_19=musictime=musictime+vol; +per_frame_20=q4=sin(musictime*0.02)*0.3; +per_frame_21=q5=sin(musictime*0.01)*0.3; +per_frame_22= +per_frame_23=dx=sin(musictime*0.1)*0.01; +per_frame_24=dy=cos(musictime*0.069)*0.01; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=sx=zm;sy=zm; +per_pixel_8=rd=((rd)/time); +per_pixel_9=rot=(rd/2)*bass_att; diff --git a/presets/presets_bltc201/EoS+Phat Warping_vidio_echo - Bitcore Tweak.milk b/presets/presets_bltc201/EoS+Phat Warping_vidio_echo - Bitcore Tweak.milk new file mode 100644 index 0000000000..570037c0aa --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat Warping_vidio_echo - Bitcore Tweak.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.011202 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*1.55; +per_frame_4= +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; +per_pixel_6=zoom=sin(rd/3+0.1)+cos(rad/10+0.1)/(rd*10); diff --git a/presets/presets_bltc201/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk b/presets/presets_bltc201/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk new file mode 100644 index 0000000000..d7a3df4cd1 --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.9; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_12=ib_b = 1-ob_b; +per_frame_13= +per_frame_14=monitor=yspeed; +per_frame_15= +per_frame_16=zoom=1; +per_frame_17= +per_frame_18=musictime=musictime+vol*(45/fps); +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.1; +per_frame_23=dy=cos(musictime*0.069)*0.1; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5= +per_pixel_6=zm = log(sqrt(2)-rd) -0.24; +per_pixel_7=zm = max(abs(zm),0.25) * sign(zm); +per_pixel_8=sx=zm;sy=zm diff --git a/presets/presets_bltc201/EoS+Phat trail_of_darkness.milk b/presets/presets_bltc201/EoS+Phat trail_of_darkness.milk new file mode 100644 index 0000000000..606a42b53b --- /dev/null +++ b/presets/presets_bltc201/EoS+Phat trail_of_darkness.milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542790 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.024831 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.220184 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=cos(musictime*0.02)*0.45; +per_frame_17=q5=cos(musictime*0.01)*0.45; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=rd*(((rad*rd)*0.5)+(0.2))*1.01; diff --git a/presets/presets_bltc201/EoS_Phat blah_blah.milk b/presets/presets_bltc201/EoS_Phat blah_blah.milk new file mode 100644 index 0000000000..68e818eb6a --- /dev/null +++ b/presets/presets_bltc201/EoS_Phat blah_blah.milk @@ -0,0 +1,484 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.910000 +fDecay=1.000000 +fVideoEchoZoom=0.996628 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.120321 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.080814 +sx=1.020100 +sy=1.020100 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=q8=1.5 +wave_0_per_point1=masterspeed=30; +wave_0_per_point2= +wave_0_per_point3=tm=time*masterspeed*0.1; +wave_0_per_point4=perspective=0.7; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=//plot x,y shape at z=0 +wave_0_per_point8=smp=sample*6.283; +wave_0_per_point9= +wave_0_per_point10=pinch=atan(smp*6 + 1.5)*0.3 + 0.7; +wave_0_per_point11= +wave_0_per_point12=xp=sin(smp )*0.65; +wave_0_per_point13=xp=xp*pinch; +wave_0_per_point14=yp=cos(smp )*0.65; +wave_0_per_point15=yp=yp*pinch; +wave_0_per_point16=zp=0; +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=//rotate on y axis; +wave_0_per_point20=angy=q1*10 + sample*0; +wave_0_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point23=xp=xq; +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rotate on x axis +wave_0_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_0_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point30=yp=yq; +wave_0_per_point31=zp=zq; +wave_0_per_point32= +wave_0_per_point33=//rotate on y axis again +wave_0_per_point34=axs2 = sin(time*0.45)*3.3; +wave_0_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point37=xp=xq; +wave_0_per_point38=zp=zq; +wave_0_per_point39= +wave_0_per_point40=//stretch y axis to compensate for aspect ratio +wave_0_per_point41=yp=yp*1.2; +wave_0_per_point42= +wave_0_per_point43=//push forward into viewpace +wave_0_per_point44=zp=zp+2.1; +wave_0_per_point45= +wave_0_per_point46=//project x,y,z into screenspace +wave_0_per_point47=xs=xp/zp; +wave_0_per_point48=ys=yp/zp; +wave_0_per_point49= +wave_0_per_point50=//center 0,0 in middle of screen +wave_0_per_point51=x=(-xs)+0.5; +wave_0_per_point52=y=ys+0.5; +wave_0_per_point53= +wave_0_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_0_per_point55=r=1.00*dark; +wave_0_per_point56=g=0.32*dark; +wave_0_per_point57=b=0.36*dark; +wave_0_per_point58= +wave_0_per_point59= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=masterspeed=30; +wave_1_per_point2= +wave_1_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point4=perspective=0.7; +wave_1_per_point5= +wave_1_per_point6=//plot x,y,z to point on sphere +wave_1_per_point7=smp=sample*6.283; +wave_1_per_point8= +wave_1_per_point9=pinch=atan(smp*6 + 0)*0.3 + 0.7; +wave_1_per_point10= +wave_1_per_point11=xp=sin(smp )*0.65; +wave_1_per_point12=xp=xp*pinch; +wave_1_per_point13=yp=cos(smp )*0.65; +wave_1_per_point14=yp=yp*pinch; +wave_1_per_point15=zp=0; +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18= +wave_1_per_point19=//rotate on y axis; +wave_1_per_point20=angy=time*33; +wave_1_per_point21=angy=q1*10 + sample*0; +wave_1_per_point22=angy=angy+1.5; +wave_1_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point25=xp=xq; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//rotate on x axis +wave_1_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_1_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point32=yp=yq; +wave_1_per_point33=zp=zq; +wave_1_per_point34= +wave_1_per_point35=//rotate on y axis again +wave_1_per_point36=axs2 = sin(time*0.45)*3.3; +wave_1_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point39=xp=xq; +wave_1_per_point40=zp=zq; +wave_1_per_point41= +wave_1_per_point42=//stretch y axis to compensate for aspect ratio +wave_1_per_point43=yp=yp*1.2; +wave_1_per_point44= +wave_1_per_point45=//push forward into viewpace +wave_1_per_point46=zp=zp+2.1; +wave_1_per_point47= +wave_1_per_point48=//project x,y,z into screenspace +wave_1_per_point49=xs=xp/zp; +wave_1_per_point50=ys=yp/zp; +wave_1_per_point51= +wave_1_per_point52=//center 0,0 in middle of screen +wave_1_per_point53=x=-xs+0.5; +wave_1_per_point54=y=ys+0.5; +wave_1_per_point55= +wave_1_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_1_per_point57=r=0.82*dark; +wave_1_per_point58=g=0.02*dark; +wave_1_per_point59=b=0.26*dark; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=q8=1.5 +wave_2_per_point1=masterspeed=30; +wave_2_per_point2= +wave_2_per_point3=tm=time*masterspeed*0.1; +wave_2_per_point4=perspective=0.7; +wave_2_per_point5= +wave_2_per_point6= +wave_2_per_point7=//plot x,y shape at z=0 +wave_2_per_point8=smp=sample*6.283; +wave_2_per_point9= +wave_2_per_point10=pinch=atan(smp*6 + 1.5)*0.3 + 0.7; +wave_2_per_point11= +wave_2_per_point12=xp=sin(smp )*0.65; +wave_2_per_point13=xp=xp*pinch; +wave_2_per_point14=yp=cos(smp )*0.65; +wave_2_per_point15=yp=yp*pinch; +wave_2_per_point16=zp=0; +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=//rotate on y axis; +wave_2_per_point20=angy=q1*10 + sample*0; +wave_2_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point23=xp=xq; +wave_2_per_point24=zp=zq; +wave_2_per_point25= +wave_2_per_point26=//rotate on x axis +wave_2_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_2_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point30=yp=yq; +wave_2_per_point31=zp=zq; +wave_2_per_point32= +wave_2_per_point33=//rotate on y axis again +wave_2_per_point34=axs2 = sin(time*0.45)*3.3; +wave_2_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point37=xp=xq; +wave_2_per_point38=zp=zq; +wave_2_per_point39= +wave_2_per_point40=//stretch y axis to compensate for aspect ratio +wave_2_per_point41=yp=yp*1.2; +wave_2_per_point42= +wave_2_per_point43=//push forward into viewpace +wave_2_per_point44=zp=zp+2.1; +wave_2_per_point45= +wave_2_per_point46=//project x,y,z into screenspace +wave_2_per_point47=xs=xp/zp; +wave_2_per_point48=ys=yp/zp; +wave_2_per_point49= +wave_2_per_point50=//center 0,0 in middle of screen +wave_2_per_point51=x=(-1*xs)+0.5; +wave_2_per_point52=y=ys+0.5; +wave_2_per_point53= +wave_2_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_2_per_point55=r=1.00*dark; +wave_2_per_point56=g=0.32*dark; +wave_2_per_point57=b=0.36*dark; +wave_2_per_point58= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=masterspeed=30; +wave_3_per_point2= +wave_3_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point4=perspective=0.7; +wave_3_per_point5= +wave_3_per_point6=//plot x,y,z to point on sphere +wave_3_per_point7=smp=sample*6.283; +wave_3_per_point8= +wave_3_per_point9=pinch=atan(smp*6 + 0)*0.3 + 0.7; +wave_3_per_point10= +wave_3_per_point11=xp=sin(smp )*0.65; +wave_3_per_point12=xp=xp*pinch; +wave_3_per_point13=yp=cos(smp )*0.65; +wave_3_per_point14=yp=yp*pinch; +wave_3_per_point15=zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=//rotate on y axis; +wave_3_per_point20=angy=time*33; +wave_3_per_point21=angy=q1*10 + sample*0; +wave_3_per_point22=angy=angy+1.5; +wave_3_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point25=xp=xq; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//rotate on x axis +wave_3_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_3_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point32=yp=yq; +wave_3_per_point33=zp=zq; +wave_3_per_point34= +wave_3_per_point35=//rotate on y axis again +wave_3_per_point36=axs2 = sin(time*0.45)*3.3; +wave_3_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point39=xp=xq; +wave_3_per_point40=zp=zq; +wave_3_per_point41= +wave_3_per_point42=//stretch y axis to compensate for aspect ratio +wave_3_per_point43=yp=yp*1.2; +wave_3_per_point44= +wave_3_per_point45=//push forward into viewpace +wave_3_per_point46=zp=zp+2.1; +wave_3_per_point47= +wave_3_per_point48=//project x,y,z into screenspace +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=ys=yp/zp; +wave_3_per_point51= +wave_3_per_point52=//center 0,0 in middle of screen +wave_3_per_point53=x=-xs+0.5; +wave_3_per_point54=y=ys+0.5; +wave_3_per_point55= +wave_3_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_3_per_point57=r=0.82*dark; +wave_3_per_point58=g=0.02*dark; +wave_3_per_point59=b=0.26*dark; +shapecode_0_enabled=0 +shapecode_0_sides=24 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.244863 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.600000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=//zoom=1.008; +per_frame_3=ms=sin(time*0.6)*0.15; +per_frame_4=mss=mss+ms*0.001; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11= +per_frame_12=vol= (bass+mid+treb)*0.65; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=musictime=musictime+vol; +per_frame_17=q4=sin(musictime*0.02)*0.2; +per_frame_18=q5=sin(musictime*0.01)*0.2; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*0.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4=tm=time*rad; +per_pixel_5=it = 0.3*sin(tm*0.2); +per_pixel_6=radm = rad*0.5; +per_pixel_7=//rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); +per_pixel_8=mod = sin(ang/rd); +per_pixel_9=mod = mod*mod; +per_pixel_10=//ring=pow(tan(rd*3+time),3)*0.01; +per_pixel_11=zoom = 1- (1-rd)*0.15 + ring; diff --git a/presets/presets_bltc201/Esotic & Rozzer - Hippie Hypnotizer.milk b/presets/presets_bltc201/Esotic & Rozzer - Hippie Hypnotizer.milk new file mode 100755 index 0000000000..191718ad69 --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzer - Hippie Hypnotizer.milk @@ -0,0 +1,274 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.716463 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724356 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 - (.1 * sin(time + (bass * 0.01))); +shape_1_per_frame2=y = 0.5 + (.1 * cos(time + (bass * 0.01))); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_bltc201/Esotic & Rozzer - Now And Later.milk b/presets/presets_bltc201/Esotic & Rozzer - Now And Later.milk new file mode 100755 index 0000000000..6ffda3b76c --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzer - Now And Later.milk @@ -0,0 +1,283 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.547667 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time * 0.2)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time * 0.2)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 - (.1 * sin(time + (bass * 0.1))); +shape_1_per_frame2=y = 0.5 + (.1 * cos(time + (bass * 0.1))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.249785 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a = bass; +shape_2_per_frame2=r = mid; +shape_2_per_frame3=b = treb; +shape_2_per_frame4=r2 = 1.0 - r; +shape_2_per_frame5=b2 = 1.0 - b; +shape_2_per_frame6=rad = (bass * 0.5); +shapecode_3_enabled=1 +shapecode_3_sides=31 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.761306 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=//x = 0.5 + (.4 * sin(time * 0.2)); +shape_3_per_frame2=x = 0.15; +shape_3_per_frame3=y = 0.5 + (.4 * cos(time * 0.2)); +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_bltc201/Esotic & Rozzer - The Dark Side Of My Moon.milk b/presets/presets_bltc201/Esotic & Rozzer - The Dark Side Of My Moon.milk new file mode 100755 index 0000000000..f900458836 --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzer - The Dark Side Of My Moon.milk @@ -0,0 +1,285 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.547667 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time * 0.2)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time * 0.2)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=q9 = 4.5; +shape_1_per_frame2=x = 0.5 - (.1 * sin(q9)); +shape_1_per_frame3=y = 0.5 + (.1 * cos(q9)); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.249785 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a = bass; +shape_2_per_frame2=r = mid; +shape_2_per_frame3=b = treb; +shape_2_per_frame4=r2 = 1.0 - r; +shape_2_per_frame5=b2 = 1.0 - b; +shape_2_per_frame6=rad = (bass * 0.5); +shapecode_3_enabled=1 +shapecode_3_sides=31 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.976322 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//x = 0.5 + (.4 * sin(time * 0.2)); +shape_3_per_frame2=x = 0.15; +shape_3_per_frame3=//y = 0.5 + (.4 * cos(time * 0.2)); +shape_3_per_frame4=y = 0.49+ (bass * 0.02); +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Inner Space 2 Mix).milk b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Inner Space 2 Mix).milk new file mode 100755 index 0000000000..0ed1eafb43 --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Inner Space 2 Mix).milk @@ -0,0 +1,254 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.989900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.110021 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.504218 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.03 * bass); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Mix).milk b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Mix).milk new file mode 100755 index 0000000000..e0a45c1ec3 --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Mix).milk @@ -0,0 +1,254 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk new file mode 100755 index 0000000000..4cd8d036f1 --- /dev/null +++ b/presets/presets_bltc201/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_frame_35=ob_g = bass; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Flexi - smashing fractals 2-0.milk b/presets/presets_bltc201/Flexi - smashing fractals 2-0.milk new file mode 100644 index 0000000000..4af8c79d43 --- /dev/null +++ b/presets/presets_bltc201/Flexi - smashing fractals 2-0.milk @@ -0,0 +1,510 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.999797 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004361 +fWaveScale=0.010000 +fWaveSmoothing=0.0 +fWaveParam=-0.440000 +fModWaveAlphaStart=1.0 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=0.010000 +fWarpScale=100.0 +fZoomExponent=0.321044 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.040000 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.444150 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.0 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.751800 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.925558 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.660000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.925558 +wavecode_3_smoothing=0.0 +wavecode_3_r=0.650000 +wavecode_3_g=0.450000 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.750000 +shapecode_0_rad=0.074934 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.734576 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=vx = 0 +shape_0_per_frame1=x = q4; +shape_0_per_frame2=y = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.7 +shapecode_1_y=0.3 +shapecode_1_rad=0.662300 +shapecode_1_ang=2.450441 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.749341 +shapecode_1_r=1.0 +shapecode_1_g=0.1 +shapecode_1_b=0.1 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=0.1 +shapecode_1_b2=0.1 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.430000 +shapecode_2_y=0.6 +shapecode_2_rad=1.167812 +shapecode_2_ang=5.969028 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.671652 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.750000 +shapecode_3_rad=0.070592 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.734576 +shapecode_3_r=1.0 +shapecode_3_g=0.5 +shapecode_3_b=0.5 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=decay = 0.25; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + (xx1-xx2)*2; +per_frame_7=y1 = 0.4 + yy1; +per_frame_8= +per_frame_9=x1 = max(0,min(1,x1)); +per_frame_10=y1 = max(0,min(1,y1)); +per_frame_11=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_12= +per_frame_13=spring = 50; +per_frame_14=grav = 2; +per_frame_15=resist = 5; +per_frame_16=bounce = 0.75; +per_frame_17=dt = 0.0005; +per_frame_18= +per_frame_19=spx2 = (x1+x3-2*x2)*spring; +per_frame_20=spy2 = (y1+y3-2*y2)*spring; +per_frame_21=spx3 = (x2+x4-2*x3)*spring; +per_frame_22=spy3 = (y2+y4-2*y3)*spring; +per_frame_23=spx4 = (x3-x4)*spring; +per_frame_24=spy4 = (y3-y4)*spring; +per_frame_25= +per_frame_26=vx2 = vx2*(1-resist*dt) + dt*(spx2); +per_frame_27=vy2 = vy2*(1-resist*dt) + dt*(spy2-grav); +per_frame_28=vx3 = vx3*(1-resist*dt) + dt*(spx3); +per_frame_29=vy3 = vy3*(1-resist*dt) + dt*(spy3-grav); +per_frame_30=vx4 = vx4*(1-resist*dt) + dt*(spx4); +per_frame_31=vy4 = vy4*(1-resist*dt) + dt*(spy4-grav); +per_frame_32= +per_frame_33=x2 = x2 + vx2; +per_frame_34=y2 = y2 + vy2; +per_frame_35=x3 = x3 + vx3; +per_frame_36=y3 = y3 + vy3; +per_frame_37=x4 = x4 + vx4; +per_frame_38=y4 = y4 + vy4; +per_frame_39= +per_frame_40=vx2 = if(above(x2,0.1),vx2,abs(vx2)*bounce); +per_frame_41=vx2 = if(below(x2,0.9),vx2,-abs(vx2)*bounce); +per_frame_42=vx3 = if(above(x3,0.1),vx3,abs(vx3)*bounce); +per_frame_43=vx3 = if(below(x3,0.9),vx3,-abs(vx3)*bounce); +per_frame_44=vx4 = if(above(x4,0.1),vx4,abs(vx4)*bounce); +per_frame_45=vx4 = if(below(x4,0.9),vx4,-abs(vx4)*bounce); +per_frame_46= +per_frame_47=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_48=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_49=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_50=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_51=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_52=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_53= +per_frame_54= +per_frame_55=q1 = x1; +per_frame_56=q2 = x2; +per_frame_57=q3 = x3; +per_frame_58=q4 = x4; +per_frame_59= +per_frame_60=q5 = y1; +per_frame_61=q6 = y2; +per_frame_62=q7 = y3; +per_frame_63=q8 = y4; +per_frame_64= +per_frame_65=monitor = ry4; +per_frame_66= +per_frame_67=zoom = 1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 c = tex2D(sampler_main, uv); +comp_4=` float2 s1 = float2(0.51,0.5); +comp_5=` float2 s2 = float2(0.5,0.5); +comp_6=` float2 uv1 = s1 + (uv-0.5)*1; +comp_7=` float2 uv2 = s2 + (uv-0.5)*0.96; +comp_8=` float1 b3c1 = GetBlur3(uv1).x; +comp_9=` float1 b2c0 = GetBlur2(uv).x; +comp_10=` float1 b1c2 = GetBlur1(uv2).x; +comp_11=` ret = lerp(float3(1,1,0.5),float3(0.15,0,0.2),1-b3c1); +comp_12=` ret = lerp(ret,float3(0.0,0.0,0),b2c0.x); +comp_13=` ret = lerp(ret,float3(-0.2,0,0.5),b1c2.x); +comp_14=` ret = lerp(ret,float3(0.9,0.7,0),c.x); +comp_15=` ret = lerp(ret,float3(0.5,0.5,0),c.y); +comp_16=` ret = lerp(ret,0,GetBlur1(uv).z*2 - c.y*1); +comp_17=` ret = lerp(ret,float3(0.5,0,0.1),c.z); +comp_18=` +comp_19=`} diff --git a/presets/presets_bltc201/Fvese - Rebirth (Progression Rot Mix).milk b/presets/presets_bltc201/Fvese - Rebirth (Progression Rot Mix).milk new file mode 100755 index 0000000000..e98f885654 --- /dev/null +++ b/presets/presets_bltc201/Fvese - Rebirth (Progression Rot Mix).milk @@ -0,0 +1,87 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.744429 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.001800 +fWarpScale=1.001800 +fZoomExponent=0.399610 +fShader=0.000000 +zoom=0.998169 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=2.400001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx=if(below(q1,0),dx-dx_r*q3*.3,dx); +per_frame_6=dy=if(below(q1,0),dy-dx_r*q3*.3,dy); +per_frame_7=dx_r=if(equal(q3,0),if(above(x,xpos),dx-q1-xpos,dx+q2-xpos),dx); +per_frame_8=dy_r=if(equal(q3,0),if(above(y,ypos),dy-q1-ypos,dy+q2-ypos),dy); +per_frame_9=rot = rot+0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_10=mytime=.7; +per_frame_11=q1=sin(time*mytime*4); +per_frame_12=q2=sin(time*mytime*2); +per_frame_13=q3=abs(rad-.5)*(q2*q1); +per_frame_14=xpos=.5/vol; +per_frame_15=ypos=.5/vol; +per_frame_16=wave_x=.5; +per_frame_17=wave_y=.5; +per_frame_18=monitor=q3; +per_frame_19=ib_r=q3; +per_frame_20=ib_b=q2; +per_frame_21=ib_g=q1; +per_pixel_1=zoom=zoom+.05*q3+.05*q1-vol; +per_pixel_2=rot=rot+(zoom-1.0)*0.16; +per_pixel_3=zoom = zoom+(ypos*q2-q1)*(0.06+0.12*sin(time*0.351))+(xpos*q2-q1)*(0.06+0.12*cos(time*0.351)); diff --git a/presets/presets_bltc201/Fvese - Rebirth.milk b/presets/presets_bltc201/Fvese - Rebirth.milk new file mode 100755 index 0000000000..5269dbcca9 --- /dev/null +++ b/presets/presets_bltc201/Fvese - Rebirth.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000.500000 +fGammaAdj=1.210000 +fDecay=0.990000 +fVideoEchoZoom=1.007992 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.091679 +fWaveScale=1.599181 +fWaveSmoothing=0.900000 +fWaveParam=-0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.007348 +fZoomExponent=0.101411 +fShader=0.000000 +zoom=0.989602 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000005 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.760000 +wave_g=0.480000 +wave_b=0.390000 +wave_x=0.500000 +wave_y=0.499900 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.669900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_b = rand(100)/100; +per_frame_2=wave_r = rand(100)/100; +per_frame_3=wave_g = rand(100)/100; +per_frame_4=wave_y =wave_y-ypos*q3; +per_frame_5=wave_x =wave_x-xpos*q3; +per_frame_6=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_8=vol =bass+treb+mid; +per_frame_9=dx = 0.005 + q3*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dy = 0.005 + q3*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (q2-equal(bass_thresh,2))*dx_residual; +per_frame_12=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (q2-equal(bass_thresh,2))*dy_residual; +per_frame_13=rot = q3 + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_14=ob_size=mytime*q3; +per_frame_15=ib_a=1-mytime+bass; +per_frame_16=ib_r =rand(100)/100; +per_frame_17=ib_b =rand(100)/100; +per_frame_18=ib_g =rand(100)/100; +per_frame_19=mytime=.5; +per_frame_20=q1=sin(time*mytime*4); +per_frame_21=q2=sin(time*mytime*2); +per_frame_22=q3=abs(rad-.5)*q2; +per_frame_23=xpos=.5; +per_frame_24=ypos=.5; +per_frame_25=monitor =q3; +per_pixel_1=zoom=zoom+.05*q3+.05*q3; +per_pixel_2=dx=.01*atan((rad)+q2*sin((xpos*dx)*10+mytime*5)); +per_pixel_3=dy=.01*atan((rad)+q2*sin((ypos*dy)*10+mytime*5)); diff --git a/presets_milkdrop_104/Fvese - Snowflake Like 2.milk b/presets/presets_bltc201/Fvese - Snowflake Like 2.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Fvese - Snowflake Like 2.milk rename to presets/presets_bltc201/Fvese - Snowflake Like 2.milk diff --git a/presets/presets_bltc201/Fvese - Soft Reflection.milk b/presets/presets_bltc201/Fvese - Soft Reflection.milk new file mode 100755 index 0000000000..071df59a4d --- /dev/null +++ b/presets/presets_bltc201/Fvese - Soft Reflection.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000.500000 +fGammaAdj=1.700000 +fDecay=0.997000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.908348 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.280000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r = rand(100)/100; +per_frame_2=wave_g = rand(100)/100; +per_frame_3=wave_b = rand(100)/100; +per_frame_4=wave_x = wave_x; +per_frame_5=wave_y = wave_y; +per_frame_6=zoom = zoom + 0.020*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time)*vol ); +per_frame_7=vol = (bass_att+bass+mid+mid_att+treb+treb_att); +per_frame_8=myeff=(dx + if(above(dy,0.75), + 0.1*tan(time), + 0.1*tan(time))+.4+((cos(vol))/2) & dy + 0.40*sin(8*mid)+.25+(vol/10)); +per_frame_9=dx = dx + 0.15*pow(rad,y*2)*cos(time)/vol; +per_frame_10=mv_r = rand(100)/100; +per_frame_11=mv_b = rand(100)/100; +per_frame_12=mv_g = rand(100)/100; +per_frame_13=monitor = fps; +per_frame_14= +per_pixel_1=zoom =.7+x&.7+y; diff --git a/presets/presets_bltc201/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_bltc201/Fvese - The Tunnel (Final Stage Mix).milk new file mode 100755 index 0000000000..1f94719718 --- /dev/null +++ b/presets/presets_bltc201/Fvese - The Tunnel (Final Stage Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.995 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.741921 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=6.4 +nMotionVectorsY=1.440001 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_6=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_7=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_8=mytime=.7; +per_frame_9=q1=sin(time*mytime*4); +per_frame_10=q2=cos(time*mytime*2); +per_frame_11=q3=abs(rad-.5)*(q2*q1); +per_frame_12=xpos=.5/vol; +per_frame_13=ypos=.5/vol; +per_frame_14=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_15=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_16=ib_r=q3+q2; +per_frame_17=ib_b=q2+q1; +per_frame_18=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.5*x,if(equal(q2,0),0.9*(1-x),if(above(q3,0),0.9*y,0.9*(1-y)))) + 0.6 - 0.13*(min(q3,0.3)); +per_pixel_2= diff --git a/presets/presets_bltc201/Fvese - The Tunnel (Stage Two Complete Mix).milk b/presets/presets_bltc201/Fvese - The Tunnel (Stage Two Complete Mix).milk new file mode 100755 index 0000000000..bc720e99bb --- /dev/null +++ b/presets/presets_bltc201/Fvese - The Tunnel (Stage Two Complete Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.241456 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.741921 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999900 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=1.440001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_6=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_7=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_8=mytime=.7; +per_frame_9=q1=sin(time*mytime*4); +per_frame_10=q2=cos(time*mytime*2); +per_frame_11=q3=abs(rad-.5)*(q2*q1); +per_frame_12=xpos=.5/vol; +per_frame_13=ypos=.5/vol; +per_frame_14=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_15=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_16=ib_r=q3+q2; +per_frame_17=ib_b=q2+q1; +per_frame_18=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.5*y,if(equal(q2,0),0.9*(.5-(x*vol)),if(above(q3,0),0.9*y,0.9*(.5-(x*vol))))) + 0.6 - 0.13*(min(q3,0.3)); +per_pixel_2= diff --git a/presets/presets_bltc201/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_bltc201/Fvese - Zoom Effects (Remix 2).milk new file mode 100755 index 0000000000..e63371cf8e --- /dev/null +++ b/presets/presets_bltc201/Fvese - Zoom Effects (Remix 2).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.5503 +fShader=0 +zoom=0.999899 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=3.2 +nMotionVectorsY=2.400006 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.15*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.9; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad+.5)+(q2*q5); +per_frame_18=q4=abs(.9*5)*(dx_r*dy_r)*(dx*dy); +per_frame_19=q5=cos(.2*2)*(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q1; +per_frame_21=q7=q1+q2+q3+q4+q5+q6; +per_frame_22=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_23=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_24=ib_r=q3+q2; +per_frame_25=ib_b=q2+q1; +per_frame_26=ib_g=q1+q3; +per_frame_27=monitor=q3; +per_pixel_1=zoom= if(below(q1,q6),0.5*x,if(equal(q2,q5),0.9*(1-x),if(above(q3,q4),0.5*y,0.9*(1-y)+if(below(q4,q3),0.5* xpos, if(equal(q5,q2),0.9*(1-xpos),if(above(q6,q1),0.9*ypos,0.3*(1-ypos))))))) + .8 - 0.03*(min(q7+q1,1)); diff --git a/presets/presets_bltc201/Fvese - Zoom Effects (Remix 3).milk b/presets/presets_bltc201/Fvese - Zoom Effects (Remix 3).milk new file mode 100755 index 0000000000..1a0703cd4c --- /dev/null +++ b/presets/presets_bltc201/Fvese - Zoom Effects (Remix 3).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.241456 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.550448 +fShader=0.000000 +zoom=0.550449 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999900 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=1.440001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.7; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad-.5)*(q2*q1); +per_frame_18=q4=sin(time*.7*.5)+(dx_r*dy_r)+(dx*dy); +per_frame_19=q5=sin(time*.7*.2)+(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q2; +per_frame_21=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_22=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_23=ib_r=q3+q2; +per_frame_24=ib_b=q2+q1; +per_frame_25=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.3*x,if(equal(q2,0),0.3*(1-x),if(above(q3,0),0.3*y,0.9*(1-y))))+if(below(q4,0),0.3 * xpos, if(equal(q5,0),0.3*(1-xpos),if(above(q6,0),0.3*ypos,0.3*(1-ypos)))) + 0.7 - 0.03*(min(q6+q3,0.3)); +per_pixel_2=dx = .01*atan((rad)/.1*sin((dx_r*dy_r)*20+time*5)); diff --git a/presets/presets_bltc201/Geiss - Blur Mix 3.milk b/presets/presets_bltc201/Geiss - Blur Mix 3.milk new file mode 100755 index 0000000000..36e5d302d3 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Blur Mix 3.milk @@ -0,0 +1,246 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=3.266313 +fWaveSmoothing=0.207000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999710 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.005000 +dy=0.0 +warp=0.000001 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret += tex2D(sampler_blur2, uv).xyz*0.1; +warp_6=` ret /= 1.1; +warp_7=` +warp_8=` // darken over time +warp_9=` ret -= 0.02;//*= 0.95; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3 + +comp_5=` GetBlur2(uv)*0 + +comp_6=` GetBlur3(uv)*0 + +comp_7=` 0; +comp_8=` ret += GetBlur2( (uv-0.5)*0.333 + 0.5); +comp_9=` ret *= 1; +comp_10=`} diff --git a/presets/presets_bltc201/Geiss - Cauldron - painterly 5.milk b/presets/presets_bltc201/Geiss - Cauldron - painterly 5.milk new file mode 100755 index 0000000000..ba8b682cc1 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Cauldron - painterly 5.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.714 +fWaveScale=1.139 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00400 +rot=-0.01400 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=wave_x = 0.5 + 0.25*cos(time*2)/aspecty; +per_frame_9=wave_y = 0.5 + 0.25*sin(time*2)/aspectx; +per_frame_10= +per_frame_11=ang = time*2; +per_frame_12=q1 = cos(ang); +per_frame_13=q2 = sin(ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 t = 0.005 + 0.045*saturate(float2(bass,treb)-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` float2 v = (blurry_color.xy-0.37) * t; +warp_10=` //uv2 += v; +warp_11=` // instead, add a rotated version: +warp_12=` uv2.x += v.x*q1 + v.y*q2; +warp_13=` uv2.y += v.x*q2 - v.y*q1; +warp_14=` +warp_15=` // sample previous frame +warp_16=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_17=` +warp_18=` // darken over time +warp_19=` ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_bltc201/Geiss - Confetti (Kaleidoscope Mix).milk b/presets/presets_bltc201/Geiss - Confetti (Kaleidoscope Mix).milk new file mode 100755 index 0000000000..bd62d4b326 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Confetti (Kaleidoscope Mix).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.347 +fWaveScale=1.910 +fWaveSmoothing=0.9 +fWaveParam=-0.1 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02225 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(31.437*time) + 0.40*sin(20.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(31.344*time) + 0.40*sin(20.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(31.251*time) + 0.40*sin(21.055*time) ); +per_frame_4=lum = wave_r*0.3 + wave_g*0.5 + wave_b*0.2; +per_frame_5=wave_r = wave_r*0.2+0.8*lum; +per_frame_6=wave_g = wave_g*0.2+0.8*lum; +per_frame_7=wave_b = wave_b*0.2+0.8*lum; +per_frame_8=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_12=dy = dy + 0.001*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%6,0); +per_frame_14=dx = dx + dx_residual*0.01; +per_frame_15=dy = dy + dy_residual*0.01; +per_frame_16=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_17=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_18=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_19=wave_x = wave_x - dx_residual*7; +per_frame_20=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk b/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk new file mode 100755 index 0000000000..22aab3bde0 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk @@ -0,0 +1,291 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.4 +fWaveScale=3.235 +fWaveSmoothing=0.729 +fWaveParam=0.0 +fModWaveAlphaStart=1.330 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.67769 +fShader=0.0 +zoom=1.24300 +rot=-0.06000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.46911 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.620 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=rot = rot + 0.09*( 0.60*sin(0.851*time) + 0.40*sin(1.055*time) ); +per_frame_19=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_20=q1 = 0.12*cos(time*0.479+1); +per_frame_21=q2 = 0.12*cos(time*0.359+2); +per_frame_22=q3 = 0.12*cos(time*0.270+6); +per_frame_23=q4 = 0.12*cos(time*0.394+1); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.25; +comp_5=` ret = ret.yyy; +comp_6=` ret = pow(ret, float3(0.8,0.4,1.7))*1.9; +comp_7=`} diff --git a/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Trails 5b.milk b/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Trails 5b.milk new file mode 100755 index 0000000000..ec32072d6b --- /dev/null +++ b/presets/presets_bltc201/Geiss - Cosmic Dust 2 - Trails 5b.milk @@ -0,0 +1,263 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003 +fWaveScale=2.911 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.210 +fModWaveAlphaEnd=1.590 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.350 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_19=q1 = 0.12*cos(time*0.479+1); +per_frame_20=q2 = 0.12*cos(time*0.359+2); +warp_1=`shader_body +warp_2=`{ +warp_3=` uv -= 0.5; +warp_4=` uv *= (1 + q1*uv.y + q2*uv.x); +warp_5=` uv += 0.5; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv ).xyz; +warp_9=` +warp_10=` +warp_11=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*13*float2(0,1)).xyz ); +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret - 0.003)*0.98; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret = abs(ret - GetBlur1(uv))*6; +comp_8=` +comp_9=` ret *= 1.333; // a little bit of overbright +comp_10=`} diff --git a/presets/presets_bltc201/Geiss - Cosmic Dust 2.milk b/presets/presets_bltc201/Geiss - Cosmic Dust 2.milk new file mode 100755 index 0000000000..c6a2c13a64 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Cosmic Dust 2.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.98 +fVideoEchoZoom=1.16936 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.299999 +fWaveScale=1.694 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=3.138 +fZoomExponent=1 +fShader=0 +zoom=1.053 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.263 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; diff --git a/presets/presets_bltc201/Geiss - Drop Shadow 1.milk b/presets/presets_bltc201/Geiss - Drop Shadow 1.milk new file mode 100755 index 0000000000..0952a6956f --- /dev/null +++ b/presets/presets_bltc201/Geiss - Drop Shadow 1.milk @@ -0,0 +1,283 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.496230 +fWaveScale=4.695139 +fWaveSmoothing=0.495000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.670000 +fModWaveAlphaEnd=0.970000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.007964 +rot=0.020000 +cx=0.499999 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999667 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.630000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`sampler sampler_cells; +comp_2=`float4 texsize_cells; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` //ret = max( ret, tex2D(sampler_main, 1-uv).zyx ); +comp_8=` +comp_9=` float L = lum(ret); +comp_10=` float use_tex = 1 - saturate(L*10-1); +comp_11=` float3 tex = tex2D(sampler_cells, (uv*texsize.xy+frame)*texsize_cells.zw).xyz; +comp_12=` tex *= tex; +comp_13=` // shadow: +comp_14=` float L2 = lum(GetBlur2(uv - 0.01)); +comp_15=` tex *= 1-saturate(L2*5); +comp_16=` ret = lerp(ret, tex, use_tex); +comp_17=` +comp_18=` ret *= 1.70; //old gamma effect +comp_19=` +comp_20=` +comp_21=` +comp_22=`} diff --git a/presets/presets_bltc201/Geiss - Explosion 2.milk b/presets/presets_bltc201/Geiss - Explosion 2.milk new file mode 100755 index 0000000000..ab77a13bb3 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Explosion 2.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.5 +fWaveScale=2.122 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.75 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_bltc201/Geiss - Explosion 3.milk b/presets/presets_bltc201/Geiss - Explosion 3.milk new file mode 100755 index 0000000000..6c8c7288c2 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Explosion 3.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=2.122 +fWaveSmoothing=0.333 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=0.13267 +fShader=0.0 +zoom=1.01489 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.95 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_bltc201/Geiss - Fog Tunnel.milk b/presets/presets_bltc201/Geiss - Fog Tunnel.milk new file mode 100755 index 0000000000..8b24833ccd --- /dev/null +++ b/presets/presets_bltc201/Geiss - Fog Tunnel.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.8 +fDecay=0.98 +fVideoEchoZoom=1.289 +fVideoEchoAlpha=0.4 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.794075 +fWaveScale=0.387 +fWaveSmoothing=0.4 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=3.4 +fShader=0 +zoom=1.042 +rot=-0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=-0.01 +warp=0.122 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.44 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.850*time) + 0.40*sin(1.007*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.705*time) + 0.40*sin(0.998*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.715*time) + 0.40*sin(0.938*time) ); +per_frame_4=rot = rot + 0.003*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=warp = warp + 0.231*( 0.60*sin(0.324*time) + 0.40*sin(0.347*time) ); diff --git a/presets/presets_bltc201/Geiss - Inkblot.milk b/presets/presets_bltc201/Geiss - Inkblot.milk new file mode 100755 index 0000000000..58413e70df --- /dev/null +++ b/presets/presets_bltc201/Geiss - Inkblot.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=1.5 +fDecay=0.98 +fVideoEchoZoom=1.010137 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=2.5 +fWaveScale=2.202 +fWaveSmoothing=0.7 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.031 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.196462 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.6 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +per_frame_1=wave_r = wave_r + 0.300*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%2,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.3); +fRating=3.000000 diff --git a/presets/presets_bltc201/Geiss - Reaction Diffusion 2.milk b/presets/presets_bltc201/Geiss - Reaction Diffusion 2.milk new file mode 100755 index 0000000000..75b0325650 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Reaction Diffusion 2.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.009006 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=zoom = zoom + max(0,bass_att-1.1)*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` +comp_9=` //ret.xyz *= 2; // a little bit of overbright +comp_10=`} +comp_11=` +comp_12=` diff --git a/presets/presets_bltc201/Geiss - Reaction Diffusion 3 (Lichen Mix).milk b/presets/presets_bltc201/Geiss - Reaction Diffusion 3 (Lichen Mix).milk new file mode 100755 index 0000000000..7c04656ecc --- /dev/null +++ b/presets/presets_bltc201/Geiss - Reaction Diffusion 3 (Lichen Mix).milk @@ -0,0 +1,296 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur2(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret.xzy; +comp_5=`} diff --git a/presets/presets_bltc201/Geiss - Skin Dots Multi-layer 3.milk b/presets/presets_bltc201/Geiss - Skin Dots Multi-layer 3.milk new file mode 100755 index 0000000000..8b750e6e54 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Skin Dots Multi-layer 3.milk @@ -0,0 +1,274 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.0 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.0 +zoom=1.029709 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.098617 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.7*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +per_frame_13= +per_frame_14=rot = rot + min(0.3,pow(max(0,bass_att-1),2)*0.2); +per_pixel_1=zoom = zoom + 0.005*cos(ang*5 + time*1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).zzz; +comp_4=` +comp_5=` float crisp, blur; +comp_6=` float2 uv2; +comp_7=` +comp_8=` float shadow_offset = 0.0; +comp_9=` float shadow_str = 1.15; +comp_10=` +comp_11=` uv2 = (uv-0.5)*0.8+0.5; +comp_12=` crisp = tex2D(sampler_main, uv2).y; +comp_13=` // add drop shadow: +comp_14=` blur = GetBlur1(uv2 + shadow_offset).y; +comp_15=` ret *= (1-blur*shadow_str); +comp_16=` ret = max(ret, crisp.xxx); +comp_17=` +comp_18=` uv2 = uv; +comp_19=` crisp = tex2D(sampler_main, uv2).x; +comp_20=` // add drop shadow: +comp_21=` blur = GetBlur1(uv2 + shadow_offset).x; +comp_22=` ret *= (1-blur*shadow_str); +comp_23=` ret = max(ret, crisp.xxx); +comp_24=`} diff --git a/presets/presets_bltc201/Geiss - Swirlie 4.milk b/presets/presets_bltc201/Geiss - Swirlie 4.milk new file mode 100755 index 0000000000..7c132853d2 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Swirlie 4.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994 +fDecay=0.97 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.1 +fShader=0 +zoom=0.961 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.771011 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.0285 +ib_r=0.34 +ib_g=0.34 +ib_b=0.34 +ib_a=0.1 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=blah = 0.5/(wave_r+wave_g+wave_b); +per_frame_7=wave_r = wave_r*blah; wave_g = wave_g*blah; wave_b = wave_b*blah; +per_frame_8=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_9=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_10=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_11=dx = dx + 0.01*( 0.60*sin(0.324*time) + 0.40*sin(0.234*time) ); +per_frame_12=dy = dy + 0.01*( 0.60*sin(0.244*time) + 0.40*sin(0.264*time) ); +per_frame_13=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_14=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_15=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_16=blah = 12.4/(ib_r+ib_g+ib_b)*3; +per_frame_17=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_frame_18= diff --git a/presets/presets_bltc201/Geiss - Tokamak Plus 4.milk b/presets/presets_bltc201/Geiss - Tokamak Plus 4.milk new file mode 100755 index 0000000000..731955fff5 --- /dev/null +++ b/presets/presets_bltc201/Geiss - Tokamak Plus 4.milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.993 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.101 +fWaveScale=1.326 +fWaveSmoothing=0.7 +fWaveParam=0.540 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.95400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.23944 +sx=0.99967 +sy=0.99990 +wave_r=0.510 +wave_g=0.8 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t2 = time*3; +per_frame_2=wave_r = wave_r + 0.2*( 0.60*sin(0.980*t2) + 0.40*sin(1.047*t2) ); +per_frame_3=wave_g = wave_g + 0.2*( 0.60*sin(0.835*t2) + 0.40*sin(1.081*t2) ); +per_frame_4=wave_b = wave_b + 0.2*( 0.60*sin(0.814*t2) + 0.40*sin(1.011*t2) ); +per_frame_5=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=rot = rot + 0.03*cos(time*0.571+3); +per_frame_8=dx = dx + 0.1*cos(time*0.492+1); +per_frame_9=dy = dy + 0.1*cos(time*0.439+2); +per_frame_10=//zoom = zoom + 0.01*cos(time*0.671+5); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` ret *= 1.3; +comp_26=` ret *= hue_shader*4-2; +comp_27=` +comp_28=`} +comp_29=` +comp_30=` diff --git a/presets/presets_bltc201/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk b/presets/presets_bltc201/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk new file mode 100755 index 0000000000..b228460f00 --- /dev/null +++ b/presets/presets_bltc201/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk @@ -0,0 +1,281 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` ret = pow(ret, float3(1.7-(bass*.5), 1.7-(treb*.5), 1.7-(mid*.5))); +comp_9=` +comp_10=` //ret.xyz *= 2; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_bltc201/Idiot & Rovastar - Harlequin Trapped In Marphet's Vortex 2.milk b/presets/presets_bltc201/Idiot & Rovastar - Harlequin Trapped In Marphet's Vortex 2.milk new file mode 100755 index 0000000000..6de2dff758 --- /dev/null +++ b/presets/presets_bltc201/Idiot & Rovastar - Harlequin Trapped In Marphet's Vortex 2.milk @@ -0,0 +1,117 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=23.151701 +fWaveScale=0.013210 +fWaveSmoothing=0.270000 +fWaveParam=0.100000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.996546 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.400000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.300000 +ib_g=0.300000 +ib_b=0.700000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=my_ib_size = 0.01+abs(0.01*sin(0.1*rand(1000))); +per_frame_20=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_21=old_ib_size = ib_size; +per_frame_22=ib_r = ib_r + 0.3*sin(time*0.934); +per_frame_23=ib_g = ib_g + 0.3*sin(time*1.547); +per_frame_24=ib_b = ib_b - 0.3*sin(time*1.431); +per_frame_25=wave_r=wave_r+waver*sin(if(Above(bass,bass_Att),sin(bass+bass_Att),sin(treb+Treb_att))) +per_frame_26=-waver*sin(if(above(mid,mid_att),sin(mid-mid_att),sin(bass-treb)))*rand(10) +per_frame_27=*sin(above(Bass,bass_att)+r1-r2); +per_frame_28=wave_b=wave_b+waveb*sin(if(Above(bass,bass_Att),sin(bass+bass_Att),sin(treb+bass))) +per_frame_29=-waveb*sin(if(above(treb,mid),sin(mid*bass),sin(bass*treb)))*rand(10) +per_frame_30=*sin(above(treb,treb_att))*rand(10)*Sin(above(bass,bass_Att)-r2-r3); +per_frame_31=wave_G=wave_g+waveg*sin(if(Above(bass,bass_Att),sin(bass+bass_Att),sin(mid-treb))) +per_frame_32=-waveg*sin(if(Above(mid,bass+1),sin(bass+treb_att),sin(mid-bass))-r3+r1); +per_pixel_1=box=abs(x*2-sin(q3))%2 + abs(y*2+sin(q5))%1.5-.2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.90)-.05*sin(above(bass,bass_Att)); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0); +per_pixel_7=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time))&rad); +per_frame_init_1=waver=time6*rand(10)*sin(rand(time1*sin(rand(5))))*sin(above(bass,bass_Att)-.2*sin +per_frame_init_2=(below(mid,mid_att))); +per_frame_init_3=waveb=time7*rand(10)*sin(rand(time2*sin(rand(10))))*sin(above(treb,treb_Att)-.5*sin +per_frame_init_4=(below(bass,bass_Att))); +per_frame_init_5=waveg=time8*rand(10)*sin(rand(time3*sin(rand(10))))*sin(above(mid,mid_att)+.2*sin +per_frame_init_6=(below(treb,treb_att))); +per_frame_init_7=time1=10*sin(time*.24); +per_frame_init_8=time2=10*sin(time*.14); +per_frame_init_9=time3=10*sin(time*.45); +per_frame_init_10=time6=1*sin(bass); +per_frame_init_11=time7=1*sin(treb); +per_frame_init_12=time8=1*sin(mid); +per_frame_init_13=r1=rand(3*rand(4)); +per_frame_init_14=r2=rand(4*rand(5)); +per_frame_init_15=r3=rand(5*rand(6)); diff --git a/presets/presets_bltc201/Idiot - 9-7-02 (Remix 2).milk b/presets/presets_bltc201/Idiot - 9-7-02 (Remix 2).milk new file mode 100755 index 0000000000..4cca33cd48 --- /dev/null +++ b/presets/presets_bltc201/Idiot - 9-7-02 (Remix 2).milk @@ -0,0 +1,112 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=0.961206 +rot=0.000000 +cx=0.530000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.049900 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=new_bass_thresh=bass_thresh+bass_effect-.2*sin(bass_thresh-new_bass_thresh+1); +per_frame_9=new_treb_thresh=treb_thresh+treb_Effect-.2*sin(treb_thresh-new_treb_thresh+1); +per_frame_10=new_mid_thresh=mid_thresh+mid_effect-.2*sin(mid_thresh-new_mid_thresh+1); +per_frame_11=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_12=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_13=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_14=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_15=react=if(equal(new_vol,change),1,0); +per_frame_16=new_bass=if(above(react,bass_effect),bass_thresh,new_bass_thresh); +per_frame_17=new_treb=if(above(react,treb_effect),treb_thresh,new_treb_thresh); +per_frame_18=new_mid=if(above(react,mid_effect),mid_thresh,new_mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=r=.2*sin(time); +per_frame_31=b=0+.3*sin(q1-time); +per_frame_32=g=0+.6*sin(time*.64-.2); +per_frame_33=wave_b=g; +per_frame_34=wave_r=r; +per_frame_35=wave_g=b; +per_frame_36=ob_r=r+.3*sin(time*.31); +per_frame_37=ob_b=b+.3-.1*sin(time*.12); +per_frame_38=ob_g=g-.3-.5*sin(time+.1);; +per_pixel_1=rot=if(above(zoom,box),if(equal(myzoom,1),rot+.2*sin(q1-q2*rad*.25),0) +per_pixel_2=*if(above(rad,x),rad-x*.25,pow(rad,1000)),0-.02*rad*x*-.2*sin(q1)); +per_pixel_3=be2=rad&rad-.4-.5*sin(q6); +per_pixel_4=box=if(above(q1,q3),rad&rad+.2-x-y*.25*sin(Q3),be2+.01*sin(q3)-1*sin(q5)); +per_pixel_5=myzoomexp=cos(sin(if(Above(q1,q2),pow(box,2)*rad*5,box))); +per_pixel_6=myzoom=if(Above(q1,q2),if(above(Q2,q3),1-y+.3*sin(q1)+.3,1.1-.2),1)+.1; +per_pixel_7=a=if(above(q3,q2),pow(myzoom-x,pow(myzoomexp,rad*2-.22-box-x+.2*sin(q1-q3)))+.2*.25,1); +per_pixel_8=dx=(x-.5)*a+.5-x+box; +per_pixel_9=dy=(y-.5)*a+.5-y+box; +per_pixel_10=cx=cx+.2*sin(Above(rad,x)); +per_pixel_11=cy=cy+.2*sin(above(rad,y)); diff --git a/presets/presets_bltc201/Idiot - 9-7-02.milk b/presets/presets_bltc201/Idiot - 9-7-02.milk new file mode 100755 index 0000000000..d8e889b087 --- /dev/null +++ b/presets/presets_bltc201/Idiot - 9-7-02.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=0.905500 +rot=0.000000 +cx=0.530000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.049900 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=new_bass_thresh=bass_thresh+bass_effect-.2*sin(bass_thresh-new_bass_thresh+1); +per_frame_9=new_treb_thresh=treb_thresh+treb_Effect-.2*sin(treb_thresh-new_treb_thresh+1); +per_frame_10=new_mid_thresh=mid_thresh+mid_effect-.2*sin(mid_thresh-new_mid_thresh+1); +per_frame_11=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_12=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_13=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_14=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_15=react=if(equal(new_vol,change),1,0); +per_frame_16=new_bass=if(above(react,bass_effect),bass_thresh,new_bass_thresh); +per_frame_17=new_treb=if(above(react,treb_effect),treb_thresh,new_treb_thresh); +per_frame_18=new_mid=if(above(react,mid_effect),mid_thresh,new_mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=r=.2*sin(time*.13); +per_frame_31=b=0+.3*sin(q1-time*.12); +per_frame_32=g=0+.6*sin(time*.64-.2); +per_frame_33=wave_b=g; +per_frame_34=wave_r=r; +per_frame_35=wave_g=b; +per_frame_36=ob_r=r+.3; +per_frame_37=ob_b=b+.3; +per_frame_38=ob_g=g-.3; +per_pixel_1=rot=if(Above(q1,q2),rot+.2*sin(q1-q2*rad*.25),0)*if(above(rad,x),rad-x*.25,rad); +per_pixel_2=box=if(above(q1,q3),rad&rad+.2-x-y*.25*sin(Q3),rad&rad-.4); +per_pixel_3=myzoomexp=if(Above(q1,q2),box*box*rad*5,box); +per_pixel_4=myzoom=if(Above(q1,q2),if(above(Q2,q3),1-y+.3*sin(q1)+.3,zoom-.2),1); +per_pixel_5=a=if(above(q3,q2),pow(myzoom-x,pow(myzoomexp,rad*2-.22-box-x+.2*sin(q1-q3)))+.2*.25,1); +per_pixel_6=dx=(x-.5)*a+.5-x+box; +per_pixel_7=dy=(y-.5)*a+.5-y+box; diff --git a/presets/presets_bltc201/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk b/presets/presets_bltc201/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk new file mode 100755 index 0000000000..d309947fff --- /dev/null +++ b/presets/presets_bltc201/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.029878 +fWaveSmoothing=0.630000 +fWaveParam=-0.620000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.008151 +fShader=0.000000 +zoom=1.000300 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999903 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),react); +per_frame_9=bass_effect=max(max(Bass,bass_Att),react); +per_frame_10=mid_effect=max(max(mid,mid_att),react); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=normal=5; +per_frame_13=more=1; +per_frame_14=less=7; +per_frame_15=react=less; +per_frame_16=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_17=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_18=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32=b_red=if(Above(q1,q2),.2*sin(q3),1*sin(q4)); +per_frame_33=b_blue=if(above(b_red,b_green),.4*sin(q2),.7*sin(q1)); +per_frame_34=b_green=if(above(q1,q3),.2*sin(q1),1*sin(q5)); +per_frame_35=i_red=if(above(q1,q2),.6*sin(q1),1*sin(q6)); +per_frame_36=i_blue=b_red-.2; +per_frame_37=i_green=if(above(b_blue,i_blue),.2,.6); +per_frame_38=ob_r=b_red; +per_frame_39=ob_b=b_blue; +per_frame_40=ob_g=b_green; +per_frame_41=ib_r=i_red; +per_frame_42=ib_b=i_blue; +per_frame_43=ib_g=i_green; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=i_red; +per_frame_47=wave_b=b_blue; +per_frame_48=wave_g=i_green; +per_pixel_1= +per_pixel_2=swirl=rot*Sin(.4*q1)-rot*sin(rad*q3)*rad*Sin(q1-x*y+rad)-x*.05*sin(q4)-y*.05*sin(q6) +per_pixel_3=- +per_pixel_4=rot*sin(above(q2-(rad*2),q3+(rad*2)))+rot*.25*sin(above(q1+rad,q2-(q5*rad*2))); +per_pixel_5=; +per_pixel_6=zoom=if(above(q1,q2),swirl+1.1-.02,zoom-.1); +per_pixel_7=rot=if(above(q1,q2),swirl,-swirl); diff --git a/presets/presets_bltc201/Idiot - Star Of Annon.milk b/presets/presets_bltc201/Idiot - Star Of Annon.milk new file mode 100755 index 0000000000..a2fda29a50 --- /dev/null +++ b/presets/presets_bltc201/Idiot - Star Of Annon.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.186470 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.280000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.300000 +wave_g=0.600000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.499900 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(Bass-new_bass&timE*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18=wave_mysyery=bass_Att-1; +per_frame_19=wave_R=wave_r+.2*sin(time*.43); +per_frame_20=wave_B=wave_B-.2*sin(time*.54); +per_frame_21=wave_g=wave_g-.4*sin(time*.34); +per_frame_22=ob_a=0; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6); +per_pixel_2= +per_pixel_3=rote=rot+.1*sin(rad_cycle*sin(rad*3.14))+.01*sin(q1)*tan(rad); +per_pixel_4=zoome=zoom+.1*sin(rad*3.14*sin(ang*3.14)*sin(q2)-rote); +per_pixel_5=zoom=zoome+.05*sin(rad*3.14*q2)*sin(q4); +per_pixel_6=rot=rote*rad+ang/2*sin(Q3)*Sin(Ang*3.14*sin(q3)*sin(Q4))/2+.1*sin(ang*3.14)*sin(Q1); diff --git a/presets/presets_bltc201/Idiot - Subnormal Trance (Remix).milk b/presets/presets_bltc201/Idiot - Subnormal Trance (Remix).milk new file mode 100755 index 0000000000..48b8448f54 --- /dev/null +++ b/presets/presets_bltc201/Idiot - Subnormal Trance (Remix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.781784 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000494 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.600000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.025000 +ob_r=0.010000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=q1=bass&time*.43; +per_frame_2=q2=bass_att&time*.63; +per_frame_3=q3=treb&time*.76; +per_frame_4=q4=treb_att&time*.61; +per_frame_5=q5=mid&time*.27; +per_frame_6=q6=mid_Att&time*.23; +per_frame_7=q7=if(Above(below(q1,q3),below(q3,q1)),q3-q2*sin(Q1),q2-q1*sin(q3)); +per_frame_8=q8=if(Above(below(q2,q3),below(q2,q1)),q2-q1*sin(Q5),q5-q6*sin(q7)); +per_frame_9=wave_r=wave_r+.6*sin(q1); +per_frame_10=wave_b=wave_b+.3*sin(q2); +per_frame_11=wave_g=wave_g*sin(Q7); +per_frame_12=ob_r=wave_r; +per_frame_13=ob_b=wave_B; +per_frame_14=ob_g=wave_g; +per_frame_15=ib_r=wave_r; +per_frame_16=ib_g=wave_b; +per_frame_17=ib_b=wave_g; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6)+1; +per_pixel_2=d=.03*(sin(rad*3.14*sin(q3)))+1; +per_pixel_3=r=d-.03*(sin(ang*3.14*sin(q2))); +per_pixel_4=radx=below(0.3-rad+x,0.3+rad-x); +per_pixel_5=rady=below(0.3-rad+y,0.3+rad-y); +per_pixel_6=snare=below(1*rad-x-y,x-rad-.3-x-y*d*r)*sin(q1-d+r)*d*r+.01; +per_pixel_7=x2=above(x,rad)+.01; +per_pixel_8=y2=above(y,rad)+.01; +per_pixel_9=smear=if(equal(rad-.03,ang*rad),smear*sin(Q1),rot-.1*ang/2/2/2/2*Rad*sin(Rad)*sin(q3) +per_pixel_10=*sin(rad_cycle+.3*sin(q1)+.1)+.03*sin(Q2))+.01*sin(rad_cycle); +per_pixel_11=zoom=zoom-.05*sin(ang*rad*3.14*sin(q1))-.05*sin(rad*3.14*sin(Q2))+.05*sin(ang*3.14*sin(q3)); +per_pixel_12=rot=rot+.03*sin(ang*3.14)*rad+.02*sin(q1-rad*x*3.14)*sin(q1); diff --git a/presets/presets_bltc201/Idiot - Tentacle Dreams.milk b/presets/presets_bltc201/Idiot - Tentacle Dreams.milk new file mode 100755 index 0000000000..db86ccb757 --- /dev/null +++ b/presets/presets_bltc201/Idiot - Tentacle Dreams.milk @@ -0,0 +1,100 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.653093 +fWaveSmoothing=0.630000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.000376 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=0.020000 +dy=-0.020000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_9=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_10=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=react=vol; +per_frame_13=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_14=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_15=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_16=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_17=change=bnot(1); +per_frame_18=q1=new_bass; +per_frame_19=q2=new_treb; +per_frame_20=q3=new_mid; +per_frame_21=q4=new_vol; +per_frame_22=q5=bass_thresh; +per_frame_23=q6=treb_thresh; +per_frame_24=q7=mid_thresh; +per_frame_25=q8=vol_thresh; +per_frame_26=wave_r=.4+.3*Sin(time+Q1); +per_frame_27=wave_b=.3+.6*sin(time+q2); +per_frame_28=wave_g=.5+.5*sin(time-q1); +per_frame_29= +per_frame_30= +per_frame_31=wave_mystery=wave_mystery+.2*sin(time*.53-q3); +per_pixel_1=rot=.3*Sin(rad-+ang*x+yQ3)*rad*sin(if(Above(Q1,q2),q5,-q5))*rad-.2*sin(Q3); +per_pixel_2=cx=if(Above(Q2,q3),cx+.5*Sin(x-.3*Rad*cos(q1-.3)-.2-rad*sin(q6)),.5); +per_pixel_3=cy=if(Above(Q2,q3),cy+.5*sin(y-.3*rad*cos(q2-.3)-.2-rad*sin(q5)),.5); +per_pixel_4=zoom=zoom-.10*rad*sin(Q1)*Rad-.02*sin(q6-x+y*sin(q2)); +per_pixel_5=dx=dx-dx*Sin(q3-rad*sin(q2))*sin(q5)*x; +per_pixel_6=dy=dy-dy*sin(q2+rad*sin(Q1))*sin(q6)*y; diff --git a/presets/Idiot - What Is.milk b/presets/presets_bltc201/Idiot - What Is.milk similarity index 100% rename from presets/Idiot - What Is.milk rename to presets/presets_bltc201/Idiot - What Is.milk diff --git a/presets/presets_bltc201/Idiot - When I Get Bored.milk b/presets/presets_bltc201/Idiot - When I Get Bored.milk new file mode 100755 index 0000000000..76c19f03cd --- /dev/null +++ b/presets/presets_bltc201/Idiot - When I Get Bored.milk @@ -0,0 +1,102 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=20.958935 +fWaveScale=0.880270 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=0.990470 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.900000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_9=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_10=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=react=vol; +per_frame_13=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_14=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_15=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_16=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_17=change=bnot(1); +per_frame_18=q1=new_bass; +per_frame_19=q2=new_treb; +per_frame_20=q3=new_mid; +per_frame_21=q4=new_vol; +per_frame_22=q5=basS_thresh; +per_frame_23=q6=treb_thresh; +per_frame_24=q7=mid_thresh; +per_frame_25=q8=vol_thresh; +per_frame_26=wave_r=ob_r+.3*sin(q3-time); +per_frame_27=wave_b=ob_b-.3*sin(q2-time); +per_frame_28=wave_g=ob_g+.2*sin(q1-time); +per_pixel_1=d_X=x-.2*(rad-x)&(x+.2*sin(time*.64*sin(Q2&time))); +per_pixel_2=d_y=y-.2*(rad-y)&(y+.2*sin(time*.54*sin(q1&time))); +per_pixel_3=dx=d_X; +per_pixel_4=dy=d_y; +per_pixel_5= +per_pixel_6=swirl=rot*Sin(.4*q1)-rot*sin(rad*q3)*rad*Sin(q1-x*y+rad)-x*.05*sin(q4)-y*.05*sin(q6) +per_pixel_7=-rot*sin(above(q2-(rad*2),q3+(rad*2)))+rot*.25*sin(above(q1+rad,q2-(q5*rad*2))); +per_pixel_8=rot=swirl*rad*2; +per_pixel_9=zoom=swirl+1; +per_pixel_10= +per_pixel_11= diff --git a/presets/presets_bltc201/Idiot24-7 - Ascending to heaven 2.milk b/presets/presets_bltc201/Idiot24-7 - Ascending to heaven 2.milk new file mode 100755 index 0000000000..0095461874 --- /dev/null +++ b/presets/presets_bltc201/Idiot24-7 - Ascending to heaven 2.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=33.469135 +fWaveScale=0.931008 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=5.725291 +fZoomExponent=4.778017 +fShader=0 +zoom=1.093507 +rot=- +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.0662 +sx=0.905286 +sy=1.01 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.47 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=19.199995 +nMotionVectorsY=14.4 +mv_l=3 +mv_r=0.6 +mv_g=0 +mv_b=1 +mv_a=0.1 +per_frame_1=wave_r = wave_r + 1*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_b = wave_b + 1*( 1.60*sin(1.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_g = wave_g +1*(1.50*sin(1.900*time)+.40*sin(1*time) ); +per_frame_4=rot=.140*sin(time); diff --git a/presets/presets_bltc201/Illusion & Boz - Hot Air Balloon.milk b/presets/presets_bltc201/Illusion & Boz - Hot Air Balloon.milk new file mode 100755 index 0000000000..e5cb50db27 --- /dev/null +++ b/presets/presets_bltc201/Illusion & Boz - Hot Air Balloon.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.501036 +fWaveSmoothing=0.360000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.972362 +fShader=0.300000 +zoom=1.002336 +rot=0.100000 +cx=0.320000 +cy=0.470000 +dx=0.000000 +dy=0.020000 +warp=0.010000 +sx=0.861349 +sy=1.000000 +wave_r=0.110000 +wave_g=0.250000 +wave_b=0.360001 +wave_x=0.080001 +wave_y=0.280000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.630000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=8.639999 +mv_dx=0.160000 +mv_dy=0.240000 +mv_l=2.000000 +mv_r=0.390000 +mv_g=0.350000 +mv_b=0.500000 +mv_a=0.200000 +per_frame_1=wave_r = wave_r + 0.138*( 0.190*sin(0.633*time) + 0.40*sin(0.245*time) ); +per_frame_2=wave_g = wave_g + 0.355*( 0.570*sin(0.370*time) + 0.40*sin(0.156*time) ); +per_frame_3=wave_b = wave_b + 0.322*( 0.601*sin(0.740*time) + 0.40*sin(0.120*time) ); +per_frame_4=sx = sx + 0.123 * bass/4; +per_pixel_1=rot = 0.010 + (0.030 * bass); diff --git a/presets/presets_bltc201/Illusion & Boz - Lord Of Stars 1.milk b/presets/presets_bltc201/Illusion & Boz - Lord Of Stars 1.milk new file mode 100755 index 0000000000..e6d4d9fe6b --- /dev/null +++ b/presets/presets_bltc201/Illusion & Boz - Lord Of Stars 1.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=13.668642 +fWaveScale=0.385398 +fWaveSmoothing=0.900000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=0.498315 +fWarpScale=2.853000 +fZoomExponent=1.766484 +fShader=0.300000 +zoom=1.022400 +rot=-0.280000 +cx=0.470000 +cy=0.230000 +dx=0.040000 +dy=0.020000 +warp=0.010303 +sx=0.852771 +sy=0.905287 +wave_r=0.110000 +wave_g=0.250000 +wave_b=0.360001 +wave_x=0.080001 +wave_y=0.280000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.630000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=8.639999 +mv_dx=0.160000 +mv_dy=0.240000 +mv_l=2.000000 +mv_r=0.390000 +mv_g=0.350000 +mv_b=0.500000 +mv_a=0.200000 +per_frame_1=wave_r = wave_r + 0.138*( 0.190*sin(0.633*time) + 0.40*sin(0.245*time) ); +per_frame_2=wave_g = wave_g + 0.355*( 0.570*sin(0.370*time) + 0.40*sin(0.156*time) ); +per_frame_3=wave_b = wave_b + 0.322*( 0.601*sin(0.740*time) + 0.40*sin(0.120*time) ); +per_frame_4=dx = dx + 0.03 * sin (bass); +per_frame_5=dy = dy + 0.01 * sin (bass_att); +per_pixel_1=rot = rot + 0.06 * rad; +per_pixel_2=cx = cx + rad/12; diff --git a/presets/presets_bltc201/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_bltc201/Illusion & Rovastar - Clouded Bottle.milk new file mode 100755 index 0000000000..fdc8e31f3c --- /dev/null +++ b/presets/presets_bltc201/Illusion & Rovastar - Clouded Bottle.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000001 +fDecay=0.999 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.254857 +fWaveSmoothing=0.63 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=2.448629 +fWarpScale=67.165291 +fZoomExponent=0.132909 +fShader=1 +zoom=0.97059 +rot=0 +cx=2 +cy=0.5 +dx=0.02 +dy=0 +warp=0.0298 +sx=1 +sy=1.01 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=1 +wave_y=0.5 +ob_size=0.3 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=1 +ib_g=0 +ib_b=1 +ib_a=0 +nMotionVectorsX=8 +nMotionVectorsY=1.92 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0.5 +per_frame_1=dx =dx -0.0005; +per_frame_2=dy = dy-0.0035; +per_frame_3=mv_l = 3000; +per_frame_4=mv_r = 0.5 + 0.499*sin(time*1.12); +per_frame_4=mv_g = 0.5 + 0.123*cos(time*1.83); +per_frame_5=mv_b = 0.4 + 0.79*cos(time*0.45); +per_frame_6=bass_effect = max(max(bass,bass_att)-1.3,0); +per_frame_7=decay = if(above(bass_effect,0),0.96,0.996); +per_frame_8=wave_x = 0.6+0.3*sin(time*0.724); +per_frame_9=warp = warp + (2*sin(0.75*time)); +per_frame_10=wrap_s = wrap_s +0.5*sin(0.1*time); +per_frame_9=wave_r = 0.5 + (sin(time/2) - cos(time*0.22))/2; +per_frame_10=wave_g = 0.5 - sin(time*0.877)/2; +per_frame_11=wave_b = 0.5 - cos(time)/2; +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; diff --git a/presets/presets_bltc201/Illusion & Unchained - New Strategy.milk b/presets/presets_bltc201/Illusion & Unchained - New Strategy.milk new file mode 100755 index 0000000000..2005b534d5 --- /dev/null +++ b/presets/presets_bltc201/Illusion & Unchained - New Strategy.milk @@ -0,0 +1,117 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.643970 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.010000 +fWaveSmoothing=0.810000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.051010 +sy=0.999998 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0.55; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*3.14+q2*3.14+q3*3.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=wave_r=.5+.5*sin(q1+abs(q4*2.14)); +per_frame_29=wave_b=.5+.5*sin(q2+abs(q5*2.14)); +per_frame_30=wave_g=.5+.5*sin(q3+abs(q6*2.14)); +per_frame_31=ob_r=.2+.2*sin(time*.857+q1*.4); +per_frame_32=ob_b=.3+.3*sin(time*.689+q3*.2); +per_frame_33=ob_g=.1+.1*sin(time*.413+q3*.3); +per_frame_34=ib_r=.5+.5*cos(time*1.2+q1*.2); +per_frame_35=ib_b=.5+.5*cos(time+q2*.3); +per_frame_36=ib_g=.5+.5*cos(time*.666+q3*.4); +per_frame_37=ob_size=.05+.05*sin(q3*3+q1); +per_frame_38=ib_size=.05+.05*sin(q1*3+q3); +per_frame_39=mv_r=mv_r+.5*sin(q4+q5*6*q1); +per_frame_40=mv_b=mv_b+.5*sin(q4+q5*6*q2); +per_frame_41=mv_g=mv_g+.5*sin(q5+q5*6*q3); +per_frame_42=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_43=mv_l=.1*q8; +per_frame_44=mv_x=q8*q7; +per_frame_45=mv_y=q8*q7; +per_frame_46=wave_mystery=wave_mystery+.25*sin(time*q4); +per_pixel_1=newrad=rad+ang-.5; +per_pixel_2=zoom=if(Above(q2,q5),zoom+.10*sin(rad-.10+.2-newrad*q4),zoom-.10*cos(rad+.10 +per_pixel_3=+.2+newrad*q5));; +per_pixel_4=rot=if(above(q2,q5),1*rad*sin(q5+q2*time),0); +per_pixel_5=cx=if(above(q5,q6),.2+.5*sin(q4),.5); +per_pixel_6=cy=if(above(q3,q7),.2+.5*sin(q4),.5); +per_pixel_7=sx=if(above(q2,q5),sx+.2*sin(q4)-.2*cos(Q6),1); +per_pixel_8=sy=if(above(q1,q3),sy+.2*sin(q3)-.2*cos(Q2),1) diff --git a/presets/presets_bltc201/Illusion - Dance Of The Planets.milk b/presets/presets_bltc201/Illusion - Dance Of The Planets.milk new file mode 100755 index 0000000000..dfeeb4bd19 --- /dev/null +++ b/presets/presets_bltc201/Illusion - Dance Of The Planets.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.006489 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.968100 +fWaveScale=0.861900 +fWaveSmoothing=0.126000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.550000 +fModWaveAlphaEnd=1.150000 +fWarpAnimSpeed=1.530000 +fWarpScale=100.000000 +fZoomExponent=1.208145 +fShader=1.000000 +zoom=0.020642 +rot=0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.020100 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.260000 +nMotionVectorsX=8.000000 +nMotionVectorsY=1.920000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_2=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_3=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_4=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_5=decay=decay-0.01*(frame%2); +per_frame_6=dx = dx + dx_residual; +per_frame_7=dy = dy + dy_residual; +per_frame_8=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_9=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_10=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_11=q1=dx_residual; +per_frame_12=q2=dy_residual; +per_frame_13=wave_r = 0.444 * sin (0.118 * time); +per_frame_14=wave_g = 0.901 * sin (0.568 * time); +per_frame_15=wave_b = 0.111 * sin (0.972 * time); +per_frame_16=ib_r = wave_g + 0.189 * sin (0.111 * time); +per_frame_17=ib_g = sin (wave_g / 2); +per_frame_18=ib_b = 0.345 * sin (0.888 * time); +per_frame_19=ib_size = 0.065 + (0.014 * bass); +per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; diff --git a/presets/presets_bltc201/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk b/presets/presets_bltc201/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk new file mode 100755 index 0000000000..9f84e000fe --- /dev/null +++ b/presets/presets_bltc201/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.535234 +fWaveSmoothing=0.5 +fWaveParam=-0.5 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0.00001 +dy=0.00001 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.4 +ob_g=0.3 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=1 +ib_g=0.6 +ib_b=0 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=2 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0.2 +mv_g=1 +mv_b=1 +mv_a=0.5 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.4 + 0.1*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=test = equal(thresh,2); +per_frame_7=dx_r = test*0.002*sin(5*time)+(1-test)*dx_r; +per_frame_8=dy_r = test*0.002*sin(6*time)+(1-test)*dy_r; +per_frame_9=zoom = zoom -0.01*thresh; +per_frame_10=dx = 1.1* dx_r; +per_frame_11=dy = 1.1* dy_r; +per_frame_12=dx = dx + if (above(bass,1.3), 21*dx_r, 0); +per_frame_13=mv_x = if(test,2,64); +per_frame_14=mv_y = if(test,64,2); +per_frame_15=mv_dx = if(test,-0.1,0); +per_frame_16=mv_dy = if(test,0,-0.1); +per_frame_17=mv_a = if(test,1,0.5); +per_frame_18=xpos = xpos + 0.05*(80*dx_r - xpos); +per_frame_19=ypos = ypos + 0.05*(80*dy_r - ypos); +per_frame_20=wave_x = 0.5 - xpos + 0.1*sin(2*time); +per_frame_21=wave_y = 0.5 - ypos + 0.1*cos(2*time); +per_frame_22=q1 = wave_x; +per_frame_23=q2 = 1 - wave_y; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q2; +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = min(5*newrad,1)*dx + max(-newrad*5+1,0)*((newx)*newzoom - newx); +per_pixel_6=dy = min(5*newrad,1)*dy + max(-newrad*5+1,0)*((newy)*newzoom - newy); diff --git a/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk new file mode 100644 index 0000000000..231a63cb32 --- /dev/null +++ b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk @@ -0,0 +1,364 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=//sx=-1 diff --git a/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk new file mode 100644 index 0000000000..065c6bd5f6 --- /dev/null +++ b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk @@ -0,0 +1,359 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=r=0;g=0;b=0 +wave_1_per_point23= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=r=0;g=0;b=0 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk new file mode 100644 index 0000000000..d74a4c7e90 --- /dev/null +++ b/presets/presets_bltc201/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk @@ -0,0 +1,369 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491381 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.791419 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.555953 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=.5+(above(sin(time),0)*0.2); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.700000 +shapecode_3_y=0.700000 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.628319 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.999996 +shapecode_3_r=0.970000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(37/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip; +per_frame_57= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=sy=1.2/newx; +per_pixel_14=zoom=1.1 diff --git a/presets/Krash & Rovastar - The Devil Is In The Details.milk b/presets/presets_bltc201/Krash & Rovastar - The Devil Is In The Details.milk similarity index 100% rename from presets/Krash & Rovastar - The Devil Is In The Details.milk rename to presets/presets_bltc201/Krash & Rovastar - The Devil Is In The Details.milk diff --git a/presets/presets_bltc201/Krash - Snowflake Halo.milk b/presets/presets_bltc201/Krash - Snowflake Halo.milk new file mode 100755 index 0000000000..ad059e99d8 --- /dev/null +++ b/presets/presets_bltc201/Krash - Snowflake Halo.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=3.500000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.709800 +fModWaveAlphaEnd=1.700000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.959487 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_frame_5=zoom = zoom - if(below(zoom,0.96),0,0.008); +per_frame_6=zoom = zoom + 0.15*bass_att; +per_pixel_1=angval = ang + abs(3.14*sin(time*0.345) + 3.14*sin(time*.234)); +per_pixel_2=rot=(2*abs((sin(time)-0.5))-angval)/1; diff --git a/presets_milkdrop_104/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk b/presets/presets_bltc201/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk rename to presets/presets_bltc201/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk diff --git a/presets_milkdrop_104/Mstress & Juppy - Dancer.milk b/presets/presets_bltc201/Mstress & Juppy - Dancer.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Mstress & Juppy - Dancer.milk rename to presets/presets_bltc201/Mstress & Juppy - Dancer.milk diff --git a/presets_milkdrop_104/Mstress & Zylot - Acid UFO.milk b/presets/presets_bltc201/Mstress & Zylot - Acid UFO.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Mstress & Zylot - Acid UFO.milk rename to presets/presets_bltc201/Mstress & Zylot - Acid UFO.milk diff --git a/presets/presets_bltc201/Mstress - Acoustic Nerve Impulses.milk b/presets/presets_bltc201/Mstress - Acoustic Nerve Impulses.milk new file mode 100755 index 0000000000..eb8f195c89 --- /dev/null +++ b/presets/presets_bltc201/Mstress - Acoustic Nerve Impulses.milk @@ -0,0 +1,294 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.988999 +fVideoEchoZoom=1.168096 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=1.000509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000022 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.700000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=73 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.832629 +shapecode_0_ang=6.031858 +shapecode_0_tex_ang=5.780530 +shapecode_0_tex_zoom=0.999998 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=flag1=int(abs(flag1-q1)); +shape_0_per_frame2=flag=int(abs(flag-q1*flag1)); +shape_0_per_frame3=ang =ang +if(flag,0,-.4)+abs(sin(bass))*.4*if(flag,1,-1); +shape_0_per_frame4= +shape_0_per_frame5=x=x+sin(time*.7)*.06; +shape_0_per_frame6=y=y+sin(time*.5)*.06; +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.810000 +shapecode_1_y=0.220000 +shapecode_1_rad=0.506271 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.890000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.310000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=flag = abs(flag-q1); +shape_1_per_frame2=y = if(flag,.8,.2); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.181000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599578 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=flag = abs(flag-q1); +shape_2_per_frame2=y = if(flag,.2,.8); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.560000 +shapecode_3_y=0.150000 +shapecode_3_rad=0.230671 +shapecode_3_ang=5.403541 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.400000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_3_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_3_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_3_per_frame4=bassdiff = (bass - meanbass)*15; +shape_3_per_frame5=trebdiff = (treb - meantreb)*15; +shape_3_per_frame6=middiff = (mid - meanmid)*15; +shape_3_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_3_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_3_per_frame9=middiff = above(middiff,0)*middiff; +shape_3_per_frame10= +shape_3_per_frame11=g = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame12=r = min(1,max(0,0.2*middiff)); +shape_3_per_frame13=b = min(1,max(0,0.2*bassdiff)); +shape_3_per_frame14=g2 = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame15=r2 = min(1,max(0,0.2*middiff)); +shape_3_per_frame16=b2 = min(1,max(0,0.2*bassdiff)); +per_frame_init_1=oldy=.4; +per_frame_1=ib_g = abs(sin(0.1*time))*0.2; +per_frame_2=ib_b = abs(sin(0.3*time))*0.2; +per_frame_3=ib_r = abs(sin(0.7*time))*0.2; +per_frame_4= +per_frame_5= +per_frame_6=ob_b=abs(sin(time*100+time)); +per_frame_7=ob_r=abs(sin(time*512+time)); +per_frame_8=ob_g=abs(sin(time*10+time)); +per_frame_9=ib_b=abs(sin(time*10+time)); +per_frame_10=ib_r=abs(sin(time*512+time)); +per_frame_11=ib_g=abs(sin(time*100+time)); +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=meanbass = 0.01*(meanbass*99+bass); +per_frame_17=meantreb = 0.01*(meantreb*99+treb); +per_frame_18=meanmid = 0.01*(meanmid*99+mid); +per_frame_19=bassdiff = (bass - meanbass)*15; +per_frame_20=trebdiff = (treb - meantreb)*15; +per_frame_21=middiff = (mid - meanmid)*15; +per_frame_22=bassdiff = above(bassdiff,0)*bassdiff; +per_frame_23=trebdiff = above(trebdiff,0)*trebdiff; +per_frame_24=middiff = above(middiff,0)*middiff; +per_frame_25= +per_frame_26=ob_g = min(1,max(0,0.2*trebdiff)); +per_frame_27=ob_r = min(1,max(0,0.2*middiff)); +per_frame_28=ob_b = min(1,max(0,0.2*bassdiff)); +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32= +per_frame_33=//Thanks to krash for beat detection (modified) +per_frame_34=volume = 0.3*bass+mid; +per_frame_35=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_36=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_37=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_38=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_39=peakbass_att = max(bass_att,peakbass_att); +per_frame_40=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_42=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_43=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_44=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_45=q1 = beat; +per_frame_46= +per_frame_47=temp = y; +per_frame_48=y = if(beat,oldy,y); +per_frame_49=oldy=if(beat,temp,oldy); +per_frame_50= +per_frame_51=monitor =y; diff --git a/presets/presets_bltc201/ORB - Acid Cycle Gas Giant.milk b/presets/presets_bltc201/ORB - Acid Cycle Gas Giant.milk new file mode 100755 index 0000000000..1403bfbdee --- /dev/null +++ b/presets/presets_bltc201/ORB - Acid Cycle Gas Giant.milk @@ -0,0 +1,380 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.266718 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.160000 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,5),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,5),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=state = state + above(diff,10); +per_frame_44=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_45=q8 = spintime; +per_frame_46= +per_frame_47=state2 = state2 + above(diff,10); +per_frame_48=state2 = if(above(state2,10),1,state2); +per_frame_49=q9 = state2; +per_frame_50= +per_frame_51=monitor = state2; +per_pixel_1=zoom = 1.05 - q3*0.05; +per_pixel_2=rot = sin(rad)*0.01; +per_pixel_3=warp = 2*zoom*rad; +per_pixel_4= +per_pixel_5= +per_pixel_6=//rules +per_pixel_7=fuzzy1 = x; +per_pixel_8=fuzzy3 = x-1; +per_pixel_9=fuzzy2 = y; +per_pixel_10=fuzzy4 = y-1; +per_pixel_11= +per_pixel_12=//activations approx sawtooth with sin curve +per_pixel_13=f1 = sin(q2 - 1.5707); +per_pixel_14=f2 = sin(q2); +per_pixel_15=f3 = sin(q2 + 1.5707); +per_pixel_16=f4 = sin(q2 + 3.14); +per_pixel_17= +per_pixel_18=//take only values above zero +per_pixel_19=f1 = f1*above(f1,0); +per_pixel_20=f2 = f2*above(f2,0); +per_pixel_21=f3 = f3*above(f3,0); +per_pixel_22=f4 = f4*above(f4,0); +per_pixel_23= +per_pixel_24=//sum rule ativations +per_pixel_25=sum_fuzzy = fuzzy1*f1 + fuzzy2*f2 - fuzzy3*f3 - fuzzy4*f4; +per_pixel_26=sum_fuzzy = cos(sum_fuzzy)*1.2; +per_pixel_27= +per_pixel_28=zoom = 1 + sum_fuzzy*0.05; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` +warp_5=` +warp_6=` float3 output1 = tex2D( sampler_main, (uv-0.5)*0.99 + 0.5).xyz; +warp_7=` float3 output2 = tex2D( sampler_main, uv).xyz; +warp_8=` +warp_9=` ret = normalize(output1*0.1 + output2*0.9); +warp_10=` // darken (decay) over time +warp_11=` ret *= 1.04; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_bltc201/ORB - Acid Cycle.milk b/presets/presets_bltc201/ORB - Acid Cycle.milk new file mode 100755 index 0000000000..e4e3d42b69 --- /dev/null +++ b/presets/presets_bltc201/ORB - Acid Cycle.milk @@ -0,0 +1,355 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.266718 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.160000 +rot=-0.040000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,2); +shape_0_per_frame4=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.25 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` float2 delta2 = texsize.zw*float2(-q3,q3); +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.004; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.6; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2).xyz*0.4; +comp_18=` ret *= 2.00; //gamma +comp_19=` ret = (1 - ret*(1-ret)*4)*0.6; //invert +comp_20=`} diff --git a/presets/presets_bltc201/ORB - Supernova Meltdown.milk b/presets/presets_bltc201/ORB - Supernova Meltdown.milk new file mode 100755 index 0000000000..5c32bb8165 --- /dev/null +++ b/presets/presets_bltc201/ORB - Supernova Meltdown.milk @@ -0,0 +1,534 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.960000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_0_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_0_per_point9=zs = 0.5*cos(s); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=//rotate x axis +wave_0_per_point13=angle = sin(q1*0.015)*6.28; +wave_0_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point16=xx = xs; +wave_0_per_point17= +wave_0_per_point18=//rotate y axis +wave_0_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_0_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point22=yd = yx; +wave_0_per_point23= +wave_0_per_point24=//rotaye z axis +wave_0_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_0_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point28= +wave_0_per_point29=//scale +wave_0_per_point30=k = 5; +wave_0_per_point31= +wave_0_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_0_per_point33=xnorm = norm*xn; +wave_0_per_point34=ynorm = norm*yn; +wave_0_per_point35=znrom = norm*zd; +wave_0_per_point36= +wave_0_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_0_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_0_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_0_per_point40= +wave_0_per_point41=zd = zd + 2; +wave_0_per_point42= +wave_0_per_point43=x = xs*zd*0.1 + 0.5; +wave_0_per_point44=y = ys*zd*0.1*1.2 + 0.5; +wave_0_per_point45= +wave_0_per_point46= +wave_0_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point48=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=0.5 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_1_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_1_per_point9=zs = 0.5*cos(s); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=//rotate x axis +wave_1_per_point13=angle = sin(q1*0.015)*6.28; +wave_1_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point16=xx = xs; +wave_1_per_point17= +wave_1_per_point18=//rotate y axis +wave_1_per_point19=angle2 = sin(q1*0.05)*6.28; +wave_1_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point22=yd = yx; +wave_1_per_point23= +wave_1_per_point24=//rotaye z axis +wave_1_per_point25=angle3 = sin(q1*0.022)*6.28; +wave_1_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point28= +wave_1_per_point29=//scale +wave_1_per_point30=k = 1; +wave_1_per_point31= +wave_1_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_1_per_point33=xnorm = norm*xn; +wave_1_per_point34=ynorm = norm*yn; +wave_1_per_point35=znrom = norm*zd; +wave_1_per_point36= +wave_1_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_1_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_1_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_1_per_point40= +wave_1_per_point41=zd = zd + 2; +wave_1_per_point42= +wave_1_per_point43=x = xs*zd*0.10 + 0.5; +wave_1_per_point44=y = ys*zd*0.10*1.2 + 0.5; +wave_1_per_point45= +wave_1_per_point46= +wave_1_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point48=g = 0.5 + 0.5*sin(q1*1.25 + x + y); +wave_1_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=0.5 +wave_2_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_2_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14*100; +wave_2_per_point4=ss = sample*6.28*1000; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_2_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_2_per_point9=zs = 0.5*cos(s); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=//rotate x axis +wave_2_per_point13=angle = sin(q1*0.015)*6.28; +wave_2_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point16=xx = xs; +wave_2_per_point17= +wave_2_per_point18=//rotate y axis +wave_2_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_2_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point22=yd = yx; +wave_2_per_point23= +wave_2_per_point24=//rotaye z axis +wave_2_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_2_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point28= +wave_2_per_point29=//scale +wave_2_per_point30=k = 5; +wave_2_per_point31= +wave_2_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_2_per_point33=xnorm = norm*xn; +wave_2_per_point34=ynorm = norm*yn; +wave_2_per_point35=znrom = norm*zd; +wave_2_per_point36= +wave_2_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_2_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_2_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_2_per_point40= +wave_2_per_point41=zd = zd + 2; +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44= +wave_2_per_point45=x = -xs*zd*0.1 + 0.5; +wave_2_per_point46=y = ys*zd*0.1*1.2 + 0.5; +wave_2_per_point47= +wave_2_per_point48= +wave_2_per_point49=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point50=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point51=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=0.5 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*20; +wave_3_per_point4= +wave_3_per_point5=//draw +wave_3_per_point6=xs = 0.5*sin(s)*cos(s*v); +wave_3_per_point7=ys = 0.5*sin(s)*sin(s*v); +wave_3_per_point8=zs = 0.5*sin(u); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=//plot x,y,z to point on circle +wave_3_per_point12=//smp=sample*6.283; +wave_3_per_point13=//xp=sin(smp )*0.30; +wave_3_per_point14=//yp=cos(smp )*0.30; +wave_3_per_point15=//zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=//alter shape; +wave_3_per_point19=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_3_per_point20=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point21=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point22=//xp=xq; +wave_3_per_point23=//zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=//rotate on y axis; +wave_3_per_point28=//angy=t1*0.1; +wave_3_per_point29=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point30=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point31=//xp=xq; +wave_3_per_point32=//zp=zq; +wave_3_per_point33= +wave_3_per_point34=//rotate on x axis +wave_3_per_point35=//axs1 = sin(t1*0.15) + 1.6; +wave_3_per_point36=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point37=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point38=//yp=yq; +wave_3_per_point39=//zp=zq; +wave_3_per_point40= +wave_3_per_point41=//rotate on y axis again +wave_3_per_point42=//axs2 = sin(t1*0.1)*3.3; +wave_3_per_point43=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point44=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point45=//xp=xq; +wave_3_per_point46=//zp=zq; +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50= +wave_3_per_point51=//rotate x axis +wave_3_per_point52=angle = sin(q1*0.15 - 1.57); +wave_3_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point55=xx = xs; +wave_3_per_point56= +wave_3_per_point57=//rotate y axis +wave_3_per_point58=//angle2 = sin(q1*0.2 - 1.57); +wave_3_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point61=yd = yx; +wave_3_per_point62= +wave_3_per_point63= +wave_3_per_point64=x = xd*zd + 0.5; +wave_3_per_point65=y = yd*zd + 0.5; +wave_3_per_point66= +wave_3_per_point67= +wave_3_per_point68=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point69=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point70=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.185871 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.4 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=tex_capture = above(q3,1); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=2.185871 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.4 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=basstime2 = basstime + bass*0.03; +per_frame_3=q1 = basstime2; +per_frame_4= +per_frame_5=//start in most active range +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7=//basstime = if(above(basstime,495),450,basstime); +per_frame_8= +per_frame_9=basstime = basstime + bass_att*0.03; +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = diff; +per_frame_39= +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=difftime = difftime + diff*0.03; +per_frame_43=q2 = difftime; +per_frame_44= +per_frame_45=//fix a strange error +per_frame_46=difftime = if(above(difftime,2000),0, difftime); +per_frame_47= +per_frame_48=monitor = abs(cos(time))*3.14; +per_frame_49= +per_frame_50=rarr = rand(100)*0.01; +per_frame_51= +per_frame_52=decay_r = 0.5 + 0.2*(abs(sin(diff+rarr))); +per_frame_53=decay_g = 0.5 + 0.25*(abs(cos(diff+rarr))); +per_frame_54=decay_b = 0.5 + 0.30*(abs(atan(diff+rarr))); +per_frame_55= +per_frame_56= +per_frame_57=//compute unit vec to scale on +per_frame_58=xxx = sin(difftime*0.89); +per_frame_59=yyy = sin(difftime*0.99); +per_frame_60=zzz = sin(difftime*0.74); +per_frame_61= +per_frame_62=//normalise +per_frame_63=norm = 1/sqrt(xxx*xxx + yyy*yyy + zzz*zzz); +per_frame_64=xxx = xxx*norm; +per_frame_65=yyy = yyy*norm; +per_frame_66=zzz = zzz*norm; +per_frame_67= +per_frame_68=monitor = ZZZ; +per_frame_69= +per_frame_70=q5 = xxx; +per_frame_71=q6 = yyy; +per_frame_72=q7 = zzz; +per_pixel_1=zoom = 1 + 0.05*q3; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.8; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.000*float2(1,-1) + 0.5; +comp_4=` float3 value = lerp( tex2D(sampler_main, (uv)).xyz, +comp_5=` tex2D(sampler_main, (uv_echo)).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` float3 value2 = lerp( tex2D(sampler_main, GetBlur1(uv)).xyz, +comp_9=` tex2D(sampler_main, GetBlur1(uv_echo)).xyz, +comp_10=` 0.50 +comp_11=` )*0.5; //video echo +comp_12=` ret = (value + value2); +comp_13=` +comp_14=` ret = ret*2.00*ret; //gamma +comp_15=`} diff --git a/presets/presets_bltc201/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk b/presets/presets_bltc201/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk new file mode 100644 index 0000000000..ba1ec9891a --- /dev/null +++ b/presets/presets_bltc201/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk @@ -0,0 +1,410 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_point1=sample=pow(sample,.85); +wave_3_per_point2= +wave_3_per_point3=c1=6.2831*t1/(1.1-sample); +wave_3_per_point4=c=cos(c1); +wave_3_per_point5=s=sin(c1); +wave_3_per_point6=c2=sqrt(1-sample); +wave_3_per_point7= +wave_3_per_point8=ox=t7-.5*c2*c; +wave_3_per_point9=oy=t8-.625*c2*s; +wave_3_per_point10= +wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point13= +wave_3_per_point14=inv=1/sqr(1.1-sample); +wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point18=fdx=fdx*invMag; +wave_3_per_point19=fdy=fdy*invMag; +wave_3_per_point20= +wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point23=tt=rand(100)/100; +wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_3_per_point26= +wave_3_per_point27=x=x*.55; +wave_3_per_point28=y=(y-.5)*.55+.5; +wave_3_per_point29= +wave_3_per_point30=r=sample; +wave_3_per_point31=g=1-sample; +wave_3_per_point32=b=1; +wave_3_per_point33=a=below(sample,.995); +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=time*0.5; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_bltc201/Phat_EoS - Just more trash.milk b/presets/presets_bltc201/Phat_EoS - Just more trash.milk new file mode 100644 index 0000000000..5ecafe2ff5 --- /dev/null +++ b/presets/presets_bltc201/Phat_EoS - Just more trash.milk @@ -0,0 +1,379 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.008151 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.400000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=xs=sin(sample*6.28); +wave_1_per_point2=ys=cos(sample*6.28); +wave_1_per_point3=xs=xs*0.7 + 0.5; +wave_1_per_point4=ys=ys*0.7 + 0.5; +wave_1_per_point5=xs=min(xs,0.962); +wave_1_per_point6=xs=max(xs,0.038); +wave_1_per_point7=ys=min(ys,0.992); +wave_1_per_point8=ys=max(ys,0.008); +wave_1_per_point9=x=xs;y=ys; +wave_1_per_point10= +wave_1_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_1_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_1_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=xs=sin(sample*6.28); +wave_2_per_point2=ys=cos(sample*6.28); +wave_2_per_point3=xs=xs*0.7 + 0.5; +wave_2_per_point4=ys=ys*0.7 + 0.5; +wave_2_per_point5=xs=min(xs,0.958); +wave_2_per_point6=xs=max(xs,0.042); +wave_2_per_point7=ys=min(ys,0.988); +wave_2_per_point8=ys=max(ys,0.012); +wave_2_per_point9=x=xs;y=ys; +wave_2_per_point10= +wave_2_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_2_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_2_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.96); +wave_3_per_point6=xs=max(xs,0.04); +wave_3_per_point7=ys=min(ys,0.99); +wave_3_per_point8=ys=max(ys,0.01); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_3_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_3_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=ib_r=tan(time*1); +per_frame_4=ib_r=min(ib_r,1); +per_frame_5=ib_r=max(ib_r,0); +per_frame_6=ib_g=tan(time*1+2.1); +per_frame_7=ib_g=min(ib_g,1); +per_frame_8=ib_g=max(ib_g,0); +per_frame_9=ib_b=tan(time*1+4.2); +per_frame_10=ib_b=min(ib_b,1); +per_frame_11=ib_b=max(ib_b,0); +per_frame_12= +per_frame_13=ob_r=ib_r-0.5; +per_frame_14=ob_g=ib_g-0.5; +per_frame_15=ob_b=ib_b-0.5; +per_frame_16=q1=ib_r; +per_frame_17=q2=ib_g; +per_frame_18=q3=ib_b; +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22=decay = .999; +per_frame_23= +per_frame_24= +per_frame_25=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_26=//solarize=above(0.5,bass); +per_frame_27=//darken=above(0.4,treb); +per_frame_28= +per_frame_29=musictime=musictime+((mid+bass)/2)*0.02; +per_frame_30= +per_frame_31=xpos=sin(musictime*0.4)*0.3; +per_frame_32=ypos=sin(musictime*0.4)*0.3; +per_frame_33=q4=xpos; +per_frame_34=q5=ypos; +per_frame_35= +per_frame_36=//zoom=.98 + min(bass,1)*0.04 +per_frame_37= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8= +per_pixel_9=sx=-.95+(bass*0.5)*rd; +per_pixel_10=sy=-.95-(treb*0.5)*ag; +per_pixel_11=//dx=sx*0.01; +per_pixel_12=//sy=sy*0.01; +per_pixel_13= +per_pixel_14= +per_pixel_15=cx=0.5+q4; +per_pixel_16=cy=0.5-q5; +per_pixel_17=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_18=//zm=(1.1-(rd/4)); +per_pixel_19=zm=.95; +per_pixel_20= +per_pixel_21=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_22=star=atan(ag*6)*((4-rd)-ag)/5; +per_pixel_23=zm=zm+star*ag/20*ag; +per_pixel_24=sx=zm; +per_pixel_25=sy=zm; +per_pixel_26=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) +per_pixel_27=//rot=above(sin(time),0.96)*sin(ag*11)*0.03; +per_pixel_28=//zoom=below(sin(time),-0.96)*sin(ag*19)*0.13 + 1 +per_pixel_29=dx=sin(y*140)*(bass*0.01); +per_pixel_30=dy=cos(x*140)*(bass*0.01); diff --git a/presets/presets_bltc201/Phat_EoS - our own personal demon.milk b/presets/presets_bltc201/Phat_EoS - our own personal demon.milk new file mode 100644 index 0000000000..8bd36b34ca --- /dev/null +++ b/presets/presets_bltc201/Phat_EoS - our own personal demon.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15=ib_r=tan(time*1); +per_frame_16=ib_r=min(ib_r,1); +per_frame_17=ib_r=max(ib_r,0); +per_frame_18=ib_g=tan(time*1+2.1); +per_frame_19=ib_g=min(ib_g,1); +per_frame_20=ib_g=max(ib_g,0); +per_frame_21=ib_b=tan(time*1+4.2); +per_frame_22=ib_b=min(ib_b,1); +per_frame_23=ib_b=max(ib_b,0); +per_frame_24= +per_frame_25=ob_r=ib_r-0.5; +per_frame_26=ob_g=ib_g-0.5; +per_frame_27=ob_b=ib_b-0.5; +per_frame_28=q1=ib_r; +per_frame_29=q2=ib_g; +per_frame_30=q3=ib_b; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34=decay = 0.9999; +per_frame_35= +per_frame_36= +per_frame_37=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_38=//solarize=above(0.5,bass); +per_frame_39=//darken=above(0.4,treb); +per_frame_40= +per_frame_41=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_42= +per_frame_43=xpos=sin(musictime*0.6)*0.6; +per_frame_44=ypos=sin(musictime*0.4)*0.6; +per_frame_45=q4=xpos; +per_frame_46=q5=ypos; +per_frame_47= +per_frame_48=zoom=.98 + min(bass,1)*0.04 +per_frame_49= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.98; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_bltc201/Phat_EoS Eyes_spiral_mix.milk b/presets/presets_bltc201/Phat_EoS Eyes_spiral_mix.milk new file mode 100644 index 0000000000..c569ecbc6b --- /dev/null +++ b/presets/presets_bltc201/Phat_EoS Eyes_spiral_mix.milk @@ -0,0 +1,344 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850100 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = .98; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.1; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1.02; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4); +per_pixel_36= +per_pixel_37=dx=sin(y*40)*(q4*0.05); +per_pixel_38=dy=cos(x*40)*(q4*0.05); diff --git a/presets/presets_bltc201/Phat_EoS rainbow bubble_mid3-fuck me dood.milk b/presets/presets_bltc201/Phat_EoS rainbow bubble_mid3-fuck me dood.milk new file mode 100644 index 0000000000..cdf862eda6 --- /dev/null +++ b/presets/presets_bltc201/Phat_EoS rainbow bubble_mid3-fuck me dood.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = 0.99; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.3; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4) diff --git a/presets/presets_bltc201/Phat_Rovastar_EoS square_faces_v2.milk b/presets/presets_bltc201/Phat_Rovastar_EoS square_faces_v2.milk new file mode 100644 index 0000000000..b2f1199f1e --- /dev/null +++ b/presets/presets_bltc201/Phat_Rovastar_EoS square_faces_v2.milk @@ -0,0 +1,346 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_42=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_43=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_44=//cx = cx - 0.1*sin(time*0.342); +per_frame_45=//cy = cy + 0.1*sin(time*0.433); +per_frame_46=//warp =0; +per_frame_47=ib_size = 0.02; +per_frame_48=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_49=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_50=ib_b = ib_b - 0.5*sin(time*1.431); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(x*50)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(y*50)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk b/presets/presets_bltc201/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk new file mode 100644 index 0000000000..7181adb294 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk b/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk new file mode 100644 index 0000000000..3f71e77161 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk @@ -0,0 +1,392 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15=tm=time*1; +per_frame_16= +per_frame_17=r=tan(tm+0.00); +per_frame_18=r=min(r,1); +per_frame_19=r=max(r,0); +per_frame_20=o=tan(tm+1.05); +per_frame_21=o=min(o,1); +per_frame_22=o=max(o,0); +per_frame_23=g=tan(tm+2.1); +per_frame_24=g=min(g,1); +per_frame_25=g=max(g,0); +per_frame_26=c=tan(tm+3.15); +per_frame_27=c=min(c,1); +per_frame_28=c=max(c,0); +per_frame_29=b=tan(tm+4.2); +per_frame_30=b=min(c,1); +per_frame_31=b=max(c,0); +per_frame_32=v=tan(tm+5.25); +per_frame_33=v=min(c,1); +per_frame_34=v=max(c,0); +per_frame_35= +per_frame_36=r=r+o+v; +per_frame_37=g=g+o+c; +per_frame_38=b=b+c+v; +per_frame_39= +per_frame_40= +per_frame_41=ib_r=r/3; +per_frame_42=//ib_g=g/3; +per_frame_43=//ib_b=b/3; +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48= +per_frame_49=ob_r=ib_r-0.5; +per_frame_50=ob_g=ib_g-0.5; +per_frame_51=ob_b=ib_b-0.5; +per_frame_52=//q1=ib_r; +per_frame_53=//q2=ib_g; +per_frame_54=//q3=ib_b; +per_frame_55= +per_frame_56= +per_frame_57= +per_frame_58=decay = 1; +per_frame_59= +per_frame_60= +per_frame_61=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_62=//solarize=above(0.5,bass); +per_frame_63=//darken=above(0.4,treb); +per_frame_64= +per_frame_65=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_66= +per_frame_67=xpos=sin(musictime*0.6)*0.3; +per_frame_68=ypos=sin(musictime*0.4)*0.3; +per_frame_69=q4=xpos; +per_frame_70=q5=ypos; +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74=tb=tb+bass/65; +per_frame_75=rot_a=sin(tb)*0.01; +per_frame_76=tm=tm+mid/65; +per_frame_77=rot_b=sin(tm)*0.01; +per_frame_78=tt=tt+treb/65; +per_frame_79=rot_c=sin(tt)*0.01; +per_frame_80= +per_frame_81=q1=rot_a; +per_frame_82=q2=rot_b; +per_frame_83=q3=rot_c; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22= +per_pixel_23= +per_pixel_24= +per_pixel_25=sect_a=if ( below(x,0.333), 1, 0 ); +per_pixel_26=sect_b=if ( below(x,0.666), 1, 0 ); +per_pixel_27=sect_b=if ( above(x,0.333), sect_b, 0 ); +per_pixel_28=sect_c=if ( above(x,0.666), 1, 0 ); +per_pixel_29= +per_pixel_30=dx_a=sin(y*6.28*12)*0.003; +per_pixel_31=dy_a=sin(x*6.28*14)*0.003; +per_pixel_32= +per_pixel_33=dy_b=sin(time+sin(time)*2)*0.01; +per_pixel_34= +per_pixel_35=dx=dx_a*sect_a; +per_pixel_36=dy=dy_a*sect_a + dy_b*sect_b; diff --git a/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk b/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk new file mode 100644 index 0000000000..3be65c20de --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk @@ -0,0 +1,333 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid)*0.005; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=-.97; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+2)*(bass_att*0.1)/rd; diff --git a/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk b/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk new file mode 100644 index 0000000000..3576891d69 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk @@ -0,0 +1,352 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14=ib_bass=min(bass_att*1+0.2 , 1); +per_frame_15=ib_r=ib_r*ib_bass; +per_frame_16=ib_g=ib_g*ib_bass; +per_frame_17=ib_b=ib_b*ib_bass; +per_frame_18=gamma=1+min(bass,1)*0.3; +per_frame_19= +per_frame_20= +per_frame_21=ob_r=ib_r-0.5; +per_frame_22=ob_g=ib_g-0.5; +per_frame_23=ob_b=ib_b-0.5; +per_frame_24=q1=ib_r; +per_frame_25=q2=ib_g; +per_frame_26=q3=ib_b; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=decay = 0.99; +per_frame_31= +per_frame_32= +per_frame_33=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_34=//solarize=above(0.5,bass); +per_frame_35=//darken=above(0.4,treb); +per_frame_36= +per_frame_37=musictime=musictime+(bass*bass)*0.003*(75/fps); +per_frame_38=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_39= +per_frame_40= +per_frame_41=xpos=sin(musictime*0.6)*0.2; +per_frame_42=ypos=sin(musictime*0.4)*0.2; +per_frame_43=q4=xpos; +per_frame_44=q5=ypos; +per_frame_45=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*2+2; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rd)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=zm=zm+star*0.1; +per_pixel_32=sx=zm; +per_pixel_33=sy=zm; +per_pixel_34=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*6) diff --git a/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk b/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk new file mode 100644 index 0000000000..6efffd1aba --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk @@ -0,0 +1,333 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23=ob_r = ob_r + 0.5*sin(time*1.13)+80; +per_frame_24=ob_g = ob_g + 0.5*sin(time*1.23)+80; +per_frame_25=ob_b = ob_b + 0.5*sin(time*1.33)+80; +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.5; +per_frame_36=ypos=sin(musictime*0.4)*0.5; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag*6+time)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+2)*(bass_att*0.1)/(rd/ag); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle.milk b/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle.milk new file mode 100644 index 0000000000..f4f4109c3e --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.4)*0.2; +per_frame_36=ypos=sin(musictime*0.4)*0.2; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd-ag); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*140)*(bass*0.005); +per_pixel_23=dy=cos(x*140)*(bass*0.005); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle_square-mix.milk b/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle_square-mix.milk new file mode 100644 index 0000000000..58cd2adbac --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS spiral_Movements_Beatle_square-mix.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.4)*0.2; +per_frame_36=ypos=sin(musictime*0.4)*0.2; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd-ag); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(x*70)*(bass*0.015); +per_pixel_23=dy=cos(y*70)*(bass*0.005); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_multi colour.milk b/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_multi colour.milk new file mode 100644 index 0000000000..825a87c1b4 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_multi colour.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=//q1=ib_r; +per_frame_21=//q2=ib_g; +per_frame_22=//q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40=ob_r = ob_r + 0.5*sin(time*1.13); +per_frame_41=ob_g = ob_g + 0.5*sin(time*1.23); +per_frame_42=ob_b = ob_b + 0.5*sin(time*1.33); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_v2.milk b/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_v2.milk new file mode 100644 index 0000000000..8c97125945 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS spiral_faces_v2.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.15; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.99; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.03; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.15; +per_frame_36=ypos=sin(musictime*0.4)*0.15; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.985; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*100)*(bass*0.005); +per_pixel_23=dy=cos(x*100)*(bass*0.005); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS square_faces_v2_alt_colours.milk b/presets/presets_bltc201/Phat_Zylot_EoS square_faces_v2_alt_colours.milk new file mode 100644 index 0000000000..f9a3d0ae26 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS square_faces_v2_alt_colours.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=//ib_r=1-ob_r; +per_frame_21=//ib_g=1-ob_g; +per_frame_22=//ib_b=1-ob_b; +per_frame_23=q1=ib_r; +per_frame_24=q2=ib_g; +per_frame_25=q3=ib_b; +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=decay = 0.9999; +per_frame_30= +per_frame_31= +per_frame_32=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_33=//solarize=above(0.5,bass); +per_frame_34=//darken=above(0.4,treb); +per_frame_35= +per_frame_36=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_37= +per_frame_38=xpos=sin(musictime*0.6)*0.3; +per_frame_39=ypos=sin(musictime*0.4)*0.3; +per_frame_40=q4=xpos; +per_frame_41=q5=ypos +per_frame_42= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(x*50)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(y*50)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_bltc201/Phat_Zylot_EoS strate lines.milk b/presets/presets_bltc201/Phat_Zylot_EoS strate lines.milk new file mode 100644 index 0000000000..c28b9ecaed --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS strate lines.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.35; +wave_0_per_point4=yp=cos(smp )*0.35; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm*rd; +per_pixel_22=sy=zm*rd; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_bltc201/Phat_Zylot_EoS work with lines.milk b/presets/presets_bltc201/Phat_Zylot_EoS work with lines.milk new file mode 100644 index 0000000000..669b3f5776 --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS work with lines.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.35; +wave_0_per_point4=yp=cos(smp )*0.35; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay =1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_34= +per_frame_35=xpos=cos(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=1; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm*rd; +per_pixel_22=sy=zm*rd; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_bltc201/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk b/presets/presets_bltc201/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk new file mode 100644 index 0000000000..295779f9eb --- /dev/null +++ b/presets/presets_bltc201/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.200000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42=//beatdetect +per_frame_43=volume = 0.3*(bass+mid+att); +per_frame_44=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_45=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_46=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_47=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_48=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); +per_frame_49=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_50=lastbeat = if(beat,time,lastbeat); +per_frame_51=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_52= +per_frame_53=mybeat=if(beat,mybeat+1,mybeat); +per_frame_54=mybeat=if(above(mybeat,3),0,mybeat); +per_frame_55=echo_orient=mybeat; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_bltc201/Phat_remix_EoS - zion square_mix.milk b/presets/presets_bltc201/Phat_remix_EoS - zion square_mix.milk new file mode 100644 index 0000000000..58a0450c34 --- /dev/null +++ b/presets/presets_bltc201/Phat_remix_EoS - zion square_mix.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.001827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=-0.250000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.999998 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.590000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=1.000000 +mv_g=0.800000 +mv_b=0.599900 +mv_a=0.120000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=26 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.808141 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=5.654867 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.070000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time/2); +shape_0_per_frame2=r2=0+((sin(time)*0.5+0.5)*0.2); +shapecode_1_enabled=1 +shapecode_1_sides=26 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=6.283185 +shapecode_1_tex_zoom=0.819544 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=(bass*0.4)*above(bass,0.9); +shape_1_per_frame2=angvar=above(bass,0.9); +shape_1_per_frame3=x=if((angvar-0.3)+((sin(time)*0.5+0.5)*0.1),0.5+((sin(time)*0.5+0.5)*0.03),0.5); +shape_1_per_frame4=y=if((angvar-0.3)+((sin(time)*0.5+0.5)*0.1),0.5+((sin(time)*0.5+0.5)*0.03),0.5); +shape_1_per_frame5=var=sin(time/2)*0.01; +shape_1_per_frame6=var=((var+above(bass,0.9))*0.1); +shape_1_per_frame7=alpha=bass*0.8-(below(bass,0.4)*0.4); +shape_1_per_frame8=r=1-var*3; +shape_1_per_frame9=g=1-var; +shape_1_per_frame10=b=1-var*3.5; +shape_1_per_frame11=r2=1-var*2; +shape_1_per_frame12=g2=g; +shape_1_per_frame13=b2=b; +shape_1_per_frame14=a=alpha*0.9; +shape_1_per_frame15=a2=alpha*0.9; +shape_1_per_frame16=border_a=0; +shapecode_2_enabled=1 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.000000 +shapecode_2_y=1.000000 +shapecode_2_rad=0.298779 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=r=1-(sin(time)*0.3); +shape_2_per_frame2=g2=1-(cos(time)*0.3); +shape_2_per_frame3=x=(sin(time)*0.5+0.5)+0.01; +shape_2_per_frame4=y=(cos(time)*0.5+0.5)+0.01 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=1; +per_frame_2=ib_r=1-((sin(time)*0.5+0.5)*0.435); +per_frame_3=ib_g=1-((cos(time)*0.5+0.5)*0.435); +per_frame_4=rot=0.01 +per_pixel_1=dmt=20+((((bass*bass*bass)/3)*8)*above(bass,1.1)); +per_pixel_2= +per_pixel_3=zoom=1+(( (sin( (x*dmt)+sin(time) )/28) + (cos( (y*dmt)+cos(time) )/28) ) *0.4 ); +per_pixel_4= +per_pixel_5=dx=rad*0.01; +per_pixel_6=dy=rad*0.01; +per_pixel_7=dx=dx+(above(bass,0.9)*0.002); +per_pixel_8=dy=dy+(above(bass,0.9)*0.002) diff --git a/presets/presets_bltc201/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk b/presets/presets_bltc201/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk new file mode 100755 index 0000000000..dc317ad6ba --- /dev/null +++ b/presets/presets_bltc201/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk @@ -0,0 +1,435 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.510000 +fVideoEchoZoom=1.008150 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.050000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=15.098679 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1= +wave_0_per_point2=//y=value1-value2+.5; +wave_0_per_point3=//qz=time; +wave_0_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_0_per_point5= +wave_0_per_point6=//qz=314;//314; +wave_0_per_point7=qz=314; +wave_0_per_point8=s=sin(time)*.2+.3; +wave_0_per_point9=x=cos(sample*qz)*.24+.5; +wave_0_per_point10=//x=sample; +wave_0_per_point11=y=sin(sample*qz)*.14+.3; +wave_0_per_point12= +wave_0_per_point13=h=(sin(sample)*.5+.5); +wave_0_per_point14=//s=if(above(treb,1.5),1,if(above(treb,1),.7,if(above(treb,.5),.5,.3))); +wave_0_per_point15=//l=if(above(bass,1.5),1,if(above(bass,1),.7,if(above(bass,.5),.5,.3))); +wave_0_per_point16=s=1; +wave_0_per_point17=l=1; +wave_0_per_point18=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_point19=// +wave_0_per_point20=// HSL to RGB by PieturP +wave_0_per_point21=// +wave_0_per_point22=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point23=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point24=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point25=// +wave_0_per_point26=cc=(6*h); +wave_0_per_point27=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point28=zf=(6*h)-cc; +wave_0_per_point29=zm=l; +wave_0_per_point30=zp=l*(1-s); +wave_0_per_point31=zq=l*(1-s*zf); +wave_0_per_point32=zt=l*(1-s*(1-zf)); +wave_0_per_point33=monitor=zq; +wave_0_per_point34=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point35=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point36=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point37=rr=if(equal(s,0),l,rr); +wave_0_per_point38=gg=if(equal(s,0),l,gg); +wave_0_per_point39=bb=if(equal(s,0),l,bb); +wave_0_per_point40= +wave_0_per_point41=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_point42=r=rr; +wave_0_per_point43=g=gg; +wave_0_per_point44=b=bb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=15.098679 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1= +wave_1_per_point2=//y=value1-value2+.5; +wave_1_per_point3=//qz=time; +wave_1_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_1_per_point5= +wave_1_per_point6=//qz=314;//314; +wave_1_per_point7=qz=314; +wave_1_per_point8=s=sin(time)*.2+.3; +wave_1_per_point9=//x=cos(value1+sample*qz)*.4+.5; +wave_1_per_point10=x=sample; +wave_1_per_point11=//y=sin(sample*qz)*.4+.5; +wave_1_per_point12=y=.103+value1; +wave_1_per_point13=r=0; +wave_1_per_point14=g=0; +wave_1_per_point15=b=0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.999996 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=//r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=//g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=//b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21=h=sin(sin(xp*6+tm)*sin(yp*6+tm))*.5+.5; +wave_2_per_point22=s=1;//sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point23=l=1; +wave_2_per_point24=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_point25=// +wave_2_per_point26=// HSL to RGB by PieturP +wave_2_per_point27=// +wave_2_per_point28=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_2_per_point29=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_2_per_point30=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_2_per_point31=// +wave_2_per_point32=cc=(6*h); +wave_2_per_point33=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_2_per_point34=zf=(6*h)-cc; +wave_2_per_point35=zm=l; +wave_2_per_point36=zp=l*(1-s); +wave_2_per_point37=zq=l*(1-s*zf); +wave_2_per_point38=zt=l*(1-s*(1-zf)); +wave_2_per_point39=monitor=zq; +wave_2_per_point40=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_2_per_point41=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_2_per_point42=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_2_per_point43=rr=if(equal(s,0),l,rr); +wave_2_per_point44=gg=if(equal(s,0),l,gg); +wave_2_per_point45=bb=if(equal(s,0),l,bb); +wave_2_per_point46= +wave_2_per_point47=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_point48= +wave_2_per_point49=r=rr; +wave_2_per_point50=g=gg; +wave_2_per_point51=b=bb; +wave_2_per_point52= +wave_2_per_point53= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.140000 +shapecode_0_y=0.170000 +shapecode_0_rad=2.207644 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.255374 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=3.386595 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.451118 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=v=pow(mid_att,3)+v; +shape_1_per_frame2=vol=bass+treb+mid; +shape_1_per_frame3=rad=3.387+sin(vol)*.15; +shape_1_per_frame4=//a=sin(time*.1)*.5+.5; +shape_1_per_frame5=a=sin(v*.003)*.5+.5; +shape_1_per_frame6=tex_ang=sin(v*.0005)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.140000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.123235 +shapecode_2_ang=3.141593 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=3.241264 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1= +shape_2_per_frame2=p=p+.314; +shape_2_per_frame3=slowp=slowp+.000628; +shape_2_per_frame4=p=below(p,6.283)*p; +shape_2_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_2_per_frame6=my=my+(mid*mid*mid)*.02; +shape_2_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_2_per_frame8=y=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_2_per_frame9=x=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_2_per_frame10=h=sin(slowp)*.5+.5; +shape_2_per_frame11=s=min(abs(bass*.6),1); +shape_2_per_frame12=l=1; +shape_2_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame14=// +shape_2_per_frame15=// HSL to RGB by PieturP +shape_2_per_frame16=// +shape_2_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_2_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_2_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_2_per_frame20=// +shape_2_per_frame21=cc=(6*h); +shape_2_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_2_per_frame23=zf=(6*h)-cc; +shape_2_per_frame24=zm=l; +shape_2_per_frame25=zp=l*(1-s); +shape_2_per_frame26=zq=l*(1-s*zf); +shape_2_per_frame27=zt=l*(1-s*(1-zf)); +shape_2_per_frame28=monitor=zq; +shape_2_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_2_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_2_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_2_per_frame32=rr=if(equal(s,0),l,rr); +shape_2_per_frame33=gg=if(equal(s,0),l,gg); +shape_2_per_frame34=bb=if(equal(s,0),l,bb); +shape_2_per_frame35= +shape_2_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame37=r=rr; +shape_2_per_frame38=g=gg; +shape_2_per_frame39=b=bb; +shape_2_per_frame40= +shape_2_per_frame41=h=sin(slowp)*.5+.5; +shape_2_per_frame42=l=min(abs(bass*.6),1); +shape_2_per_frame43=s=1; +shape_2_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame45=// +shape_2_per_frame46=// HSL to RGB by PieturP +shape_2_per_frame47=// +shape_2_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_2_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_2_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_2_per_frame51=// +shape_2_per_frame52=cc=(6*h); +shape_2_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_2_per_frame54=zf=(6*h)-cc; +shape_2_per_frame55=zm=l; +shape_2_per_frame56=zp=l*(1-s); +shape_2_per_frame57=zq=l*(1-s*zf); +shape_2_per_frame58=zt=l*(1-s*(1-zf)); +shape_2_per_frame59=monitor=zq; +shape_2_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_2_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_2_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_2_per_frame63=rr=if(equal(s,0),l,rr); +shape_2_per_frame64=gg=if(equal(s,0),l,gg); +shape_2_per_frame65=bb=if(equal(s,0),l,bb); +shape_2_per_frame66= +shape_2_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame68=r2=rr; +shape_2_per_frame69=g2=gg; +shape_2_per_frame70=b2=bb; +shape_2_per_frame71=border_r=rr; +shape_2_per_frame72=border_g=gg; +shape_2_per_frame73=border_b=bb; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.368200 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.889069 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a=0; +per_frame_2=decay=1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=dx=0; +per_frame_6=dy=0; +per_frame_7=sx=1; +per_frame_8=sy=1; +per_frame_9=//mm=mm+pow(mid,3); +per_frame_10=mm=5/mid; +per_frame_11=mt=mt+pow(treb,3); +per_frame_12=//q1=sin(mm*.1)*.002+1; +per_frame_13=q1=mm; +per_frame_14=q2=mm*.0001; +per_frame_15=q3=mt*.03; +per_pixel_1=//rot=sin(x)*sin(y); +per_pixel_2=v=v+1; +per_pixel_3=v=v%2; +per_pixel_4=d=equal(v,0); +per_pixel_5= +per_pixel_6=rot=(sin(q3))*0.05; +per_pixel_7=cx=sin(x*255*q2)*.5+.5; +per_pixel_8=cy=cos(y*255*q2)*.5+.5; +per_pixel_9= +per_pixel_10= +per_pixel_11= diff --git a/presets_milkdrop_104/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk b/presets/presets_bltc201/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk rename to presets/presets_bltc201/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk diff --git a/presets_milkdrop_104/PieturP - triptrap_(ultimate-trip-mix).milk b/presets/presets_bltc201/PieturP - triptrap_(ultimate-trip-mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/PieturP - triptrap_(ultimate-trip-mix).milk rename to presets/presets_bltc201/PieturP - triptrap_(ultimate-trip-mix).milk diff --git a/presets_milkdrop_104/Redi Jedi - i dont think those were portabello mushrooms.milk b/presets/presets_bltc201/Redi Jedi - i dont think those were portabello mushrooms.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Redi Jedi - i dont think those were portabello mushrooms.milk rename to presets/presets_bltc201/Redi Jedi - i dont think those were portabello mushrooms.milk diff --git a/presets_milkdrop_104/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk b/presets/presets_bltc201/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk rename to presets/presets_bltc201/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk diff --git a/presets_milkdrop_104/Redi Jedi - off the fadar.milk b/presets/presets_bltc201/Redi Jedi - off the fadar.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Redi Jedi - off the fadar.milk rename to presets/presets_bltc201/Redi Jedi - off the fadar.milk diff --git a/presets_milkdrop_104/Redi Jedi - perplexium.milk b/presets/presets_bltc201/Redi Jedi - perplexium.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Redi Jedi - perplexium.milk rename to presets/presets_bltc201/Redi Jedi - perplexium.milk diff --git a/presets/presets_bltc201/Reenen & Telek - Slow Shift Matrix (bb4-5 (Dynamic Beat) Mix).milk b/presets/presets_bltc201/Reenen & Telek - Slow Shift Matrix (bb4-5 (Dynamic Beat) Mix).milk new file mode 100644 index 0000000000..687d783311 --- /dev/null +++ b/presets/presets_bltc201/Reenen & Telek - Slow Shift Matrix (bb4-5 (Dynamic Beat) Mix).milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.387300 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=43.865211 +fWarpScale=3.645675 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662305 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=ox = 0.5; +shape_0_init2=oy = 0.5; +shape_0_per_frame1=btime = btime + min(bass*0.1,0.05); +shape_0_per_frame2=ang = btime*.1; +shape_0_per_frame3=r = abs(sin(time*1.4+5)); +shape_0_per_frame4=g = abs(sin(time*1.6+3)); +shape_0_per_frame5=b = abs(sin(time*1.8+1)); +shape_0_per_frame6=bt = btime*sign(sin(time/fps)); +shape_0_per_frame7=x = ox + 0.01*sin(bt) + 0.005*sin(bt+bass); +shape_0_per_frame8=x = if(above(x,1),1+(1-x),x); +shape_0_per_frame9=y = oy + 0.01*cos(bt) + 0.005*cos(bt+bass); +shape_0_per_frame10=y = if(above(y,1),1+(1-y),y); +shape_0_per_frame11=x = if(below(x,0),-x,x); +shape_0_per_frame12=y = if(below(y,0),-y,y); +shape_0_per_frame13=ox = x; +shape_0_per_frame14=oy = y; +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.542790 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.500000 +shapecode_1_g=0.500000 +shapecode_1_b=0.500000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.499900 +shapecode_1_g2=0.500000 +shapecode_1_b2=0.500000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=bv = treb*.1+.7*bv; +shape_1_per_frame2=tt=tt+bv*0.05; +shape_1_per_frame3=r = r+0.2*sin(tt*1.4+5); +shape_1_per_frame4=g = g+0.2*sin(tt*1.6+3); +shape_1_per_frame5=b = b+0.2*sin(tt*1.8+1); +shape_1_per_frame6=r2 = r; +shape_1_per_frame7=b2 = b; +shape_1_per_frame8=g2 = g; +shape_1_per_frame9=x = 0.5 + 0.3*sin(tt) + 0.1*sin(time); +shape_1_per_frame10=y = 0.5 + 0.3*cos(tt) + 0.1*cos(time); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=tt = rand(10000); +per_frame_init_2= +per_frame_1=warp = 0; +per_frame_2=rate = fps/(fps+2); +per_frame_3=bv = bass*.1+.7*bv; +per_frame_4=tt=tt+bv*0.05; +per_frame_5= +per_frame_6=beat = above(bass*bass_att,bthresh); +per_frame_7=bthresh = beat*15 + (1-beat)*((bthresh - 4.5)*rate + 4.5); +per_frame_8= +per_frame_9=beat2 = above(mid,bthresh2); +per_frame_10=bthresh2 = beat2*15 + (1-beat2)*((bthresh2 - 1.5)*rate + 1.5); +per_frame_11= +per_frame_12=warp = beat2*3 + (1-beat2)*ow; +per_frame_13=ow = warp*rate*rate; +per_frame_14= +per_frame_15=tt = if(beat,rand(32768),tt); +per_frame_16=wave_x =-1; +per_frame_17=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_18=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_19=rot = 1*sin(tt*.15); +per_frame_20=cx = sin(tt*.16)*.5+.5; +per_frame_21=cy = cos(tt*.46)*.5+.5; +per_frame_22=ib_r = sin(tt*.51)*.5+.5; +per_frame_23=ib_g = sin(tt*.71)*.5+.5; +per_frame_24=ib_b = sin(tt*.81)*.5+.5; +per_frame_25=ib_a = 1-pow(.5,(mid_att + bass_att + treb_att)/3); +per_frame_26=monitor = 1-pow(.5,mid_att + bass_att + treb_att); +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_pixel_2=//cx = q8*(0&(x*10-0.5))*0.1+0.05; +per_pixel_3=//cy = q8*(0&(y*10-0.5))*0.1+0.05; diff --git a/presets_milkdrop_104/Reenen - phoenix.milk b/presets/presets_bltc201/Reenen - phoenix.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Reenen - phoenix.milk rename to presets/presets_bltc201/Reenen - phoenix.milk diff --git a/presets/presets_bltc201/Reenen Geiss - Soft Triple Feedback.milk b/presets/presets_bltc201/Reenen Geiss - Soft Triple Feedback.milk new file mode 100755 index 0000000000..e779bc8fa4 --- /dev/null +++ b/presets/presets_bltc201/Reenen Geiss - Soft Triple Feedback.milk @@ -0,0 +1,319 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.460478 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.075238 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.741800 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1=rate = fps/(fps+1/2); +shape_1_per_frame2=beat = above(bass,bassthresh); +shape_1_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame4=ran = rand(8)+4; +shape_1_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame6=//poly = if(above(poly,8),4,poly); +shape_1_per_frame7=sides = poly; +shape_1_per_frame8= +shape_1_per_frame9=rate2 = fps/(fps+10); +shape_1_per_frame10=out = (1-beat)*rate2*out + beat; +shape_1_per_frame11=//border_a = out; +shape_1_per_frame12=te = bass/fps/2 + te; +shape_1_per_frame13=x = x + 0.056*sin(te*1.67); +shape_1_per_frame14=y = y + 0.043*sin(te*1.23); +shape_1_per_frame15=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame16=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame17=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame18=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame19=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame20=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame21=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame22=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.749999 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.040600 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=rate = fps/(fps+1/2); +shape_2_per_frame2=beat = above(mid,bassthresh); +shape_2_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.6)*rate+1.6); +shape_2_per_frame4=ran = rand(8)+4; +shape_2_per_frame5=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_2_per_frame6=//poly = if(above(poly,8),4,poly); +shape_2_per_frame7=sides = poly; +shape_2_per_frame8= +shape_2_per_frame9=rate2 = fps/(fps+10); +shape_2_per_frame10=out = (1-beat)*rate2*out + beat; +shape_2_per_frame11=//border_a = out; +shape_2_per_frame12= +shape_2_per_frame13=te = mid/fps/2 + te; +shape_2_per_frame14=x = x + 0.05*sin(te*1.17); +shape_2_per_frame15=y = y + 0.05*sin(te*1.83); +shape_2_per_frame16=ang = 3*sin(te*0.5)+2*sin(te*1.1)+4*sin(te*0.3); +shape_2_per_frame17=rad = rad * (0.9 + 0.2*t2) + 0.1*sin(te*1.3); +shape_2_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.417 + 1))); +shape_2_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.391 + 2))); +shape_2_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.432 + 4))); +shape_2_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.457 + 3))); +shape_2_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.437 + 5))); +shape_2_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.200238 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.499900 +shapecode_3_g2=0.500000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2=rate2 = fps/(fps + 16); +shape_3_per_frame3= +shape_3_per_frame4=ang = time*0.5; +shape_3_per_frame5=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame6=te = vol/fps + te; +shape_3_per_frame7=x = x + 0.2*sin(te*1.14); +shape_3_per_frame8=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame9= +shape_3_per_frame10=beat = above(vol*1.5,bassthresh); +shape_3_per_frame11=beat2 = above(mid,beatthresh); +shape_3_per_frame12=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame13=beatthresh = beat2*4 + (1-beat2)*((beatthresh - 1.6)*rate + 1.6); +shape_3_per_frame14=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame15=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame16=sides = poly; +shape_3_per_frame17= +shape_3_per_frame18=rad = rad-log(poly)/100; +shape_3_per_frame19=rad_add = (1-beat2)*(rad_add*rate2 + vol/25) + beat2*(rad_add*rate2+vol/8); +shape_3_per_frame20=rad = rad + rad_add; +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shape 2 has a texture zoom lower than 1.00 because it seems +per_frame_17=//to me to give a crisper fractal. Shape 3's is however slightly +per_frame_18=//above 1.00 to. +per_frame_19= +per_frame_20=//-Reenen diff --git a/presets/presets_bltc201/Rocke - Cold Love (Tei Zwaa).milk b/presets/presets_bltc201/Rocke - Cold Love (Tei Zwaa).milk new file mode 100755 index 0000000000..771718555d --- /dev/null +++ b/presets/presets_bltc201/Rocke - Cold Love (Tei Zwaa).milk @@ -0,0 +1,59 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.982 +fVideoEchoZoom=1.00011 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=2 +nMotionVectorsY=2 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.22 +fWaveScale=1.1704 +fWaveSmoothing=0.6839 +fWaveParam=-0.04 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.9999 +fWarpScale=3.1379 +fZoomExponent=1.6092 +fShader=0.2 +zoom=0.907 +rot=0.1399 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.238 +sx=1.0099 +sy=1.2571 +wave_r=0 +wave_g=0.1 +wave_b=0.9 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.37 +ob_g=0.46 +ob_b=0.35 +ob_a=0 +ib_size=0 +ib_r=0.1 +ib_g=0 +ib_b=0.3 +ib_a=1 +per_frame_1=wave_r = wave_r + 0.4*sin(time*3.14) + (0.2*mid); +per_frame_2=wave_b = wave_b + 0.2*sin(time*1.5); +per_frame_3=wave_g = wave_g + 0.2*mid; diff --git a/presets/presets_bltc201/Rovastar & Aderrasi - Airs Of Change.milk b/presets/presets_bltc201/Rovastar & Aderrasi - Airs Of Change.milk new file mode 100755 index 0000000000..9816269a9b --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Aderrasi - Airs Of Change.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999994 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=10.444094 +fWaveScale=0.591233 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.100000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_2=oldq8 = q8; +per_frame_3=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_4=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_5=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_6=ib_r = wave_r; +per_frame_7=ib_g = wave_g; +per_frame_8=ib_b = wave_b; +per_pixel_1=dx = dx + 0.03975*pow(rad*rad,4/(x*2))*sin(q8); +per_pixel_2=dy = dy + 0.03975*pow(rad*rad,4/(x*2))*cos(q8); +per_pixel_3=zoom = zoom - 0.125*pow(rad,x*6)*cos(ang*6); +per_pixel_4=rot = rot - 0.25*(0.75*sin(1.25*q8)*pow(rad,1/x)*sin(1.45*q8))*sin(q8); diff --git a/presets/Rovastar & Aderrasi - Clockwork Organism.milk b/presets/presets_bltc201/Rovastar & Aderrasi - Clockwork Organism.milk similarity index 100% rename from presets/Rovastar & Aderrasi - Clockwork Organism.milk rename to presets/presets_bltc201/Rovastar & Aderrasi - Clockwork Organism.milk diff --git a/presets/presets_bltc201/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk b/presets/presets_bltc201/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk new file mode 100755 index 0000000000..8953f283b9 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk @@ -0,0 +1,89 @@ +[preset00] +fRating=3.000000.500000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000400 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.282090 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.690737 +fShader=1.000000 +zoom=2.380962 +rot=0.000000 +cx=0.499900 +cy=0.499900 +dx=0.200000 +dy=0.200000 +warp=0.010000 +sx=0.463935 +sy=0.535239 +wave_r=0.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=// che's sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7= +per_frame_8=cycle=if(pulse,cycle+1,cycle); +per_frame_9=q1=cycle; +per_frame_10= +per_frame_11=wave_r = 0.5 + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_12=wave_g = 0.5+ 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_13=wave_b = 0.5 + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_14=mv_r= 0.5 + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_15=mv_g= 0.5+ 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_16=mv_b= 0.5 + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_17=ib_r=mv_b; +per_frame_18=ib_b=1-mv_g; +per_frame_19=ib_g=wave_r; +per_frame_20=ob_b=mv_r; +per_frame_21=ob_r=0.5*(wave_b + wave_g); +per_frame_22=ob_g=0.5*(wave_r+mv_b); +per_frame_23=zoom = zoom-(0.10-(.5*th+.2*le+pulse))*0.1; +per_frame_24=warp = 0; +per_pixel_1=rot = -ang+sin(q1); +per_pixel_2=zoom = zoom - rot*.08; diff --git a/presets/presets_bltc201/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_bltc201/Rovastar & Idiot24-7 - Balk Acid.milk new file mode 100755 index 0000000000..f3c6c1ef38 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Idiot24-7 - Balk Acid.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.591236 +fWaveSmoothing=0 +fWaveParam=1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=0.01 +fShader=0 +zoom=1.0003 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.4 +wave_g=1 +wave_b=0.6 +wave_x=0.5 +wave_y=1 +ob_size=0.005 +ob_r=1 +ob_g=1 +ob_b=0.41 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=1 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.8799 +mv_dx=0 +mv_dy=0 +mv_l=3 +mv_r=0 +mv_g=0.7 +mv_b=1 +mv_a=0.4 +per_frame_1=zoom=zoom+0.028*(bass+bass_att) -0.05; +per_frame_2=rot=rot+0.10*sin(time); +per_frame_3=mv_r=0.5 +0.5*sin(time*1.23); +per_frame_4=mv_b=0.5 + 0.5*sin(time*1.26); +per_frame_5=mv_g=0.5+ 0.5*sin(time*1.19); +per_frame_6=wave_g=wave_g*+.20*sin(time*.13); +per_frame_7=wave_r=wave_r+.13*sin(time); +per_frame_8=wave_b=wave_b*sin(time); +per_frame_9=wave_x=wave_x-.5*sin(time*.13); +per_frame_10=ob_a = if(above(mid+treb,2.6),1,0); +per_frame_11=ob_r = 0.5 + 0.4*sin(time*2.87); +per_frame_12=ob_b = 0.5 + 0.4*sin(time*2.914); +per_frame_13=ob_g = 0.5 + 0.4*sin(time*2.768); +per_frame_14=mv_y = 3.25; diff --git a/presets/presets_bltc201/Rovastar & Idiot24-7 - Marphet's Shrine.milk b/presets/presets_bltc201/Rovastar & Idiot24-7 - Marphet's Shrine.milk new file mode 100755 index 0000000000..2bc1766425 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Idiot24-7 - Marphet's Shrine.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.998000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.054200 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.965683 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.220100 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r=wave_r*sin(Time*0.961); +per_frame_2=wave_B=wave_b*sin(Time*.131); +per_frame_3=wave_g=wave_G*sin(time*.312); +per_frame_4=ib_r = wave_r; +per_frame_5=ib_b = wave_b; +per_frame_6=ib_g = wave_g; +per_frame_7=mv_r = 1-ib_r; +per_frame_8=mv_g = 1-ib_g; +per_frame_9=mv_b = 1-ib_b; +per_frame_10=mv_x = 1.25; +per_frame_11=mv_y = 48; +per_frame_12=warp = 0; +per_frame_13=q1 = if(above(bass_att+bass,2.8),(bass_att+bass)*0.5,0.1); +per_pixel_1=rot = rot + if(equal(tan(ang*2),0),-rot,rad)*q1; +per_pixel_2=zoom=zoom+.10*sin(rad+.4*time+5); diff --git a/presets/presets_bltc201/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk b/presets/presets_bltc201/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk new file mode 100755 index 0000000000..a37ec0825d --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk @@ -0,0 +1,119 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.993998 +fDecay=0.998000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=vol = 0.167*(bass+mid+att); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=rot = 0.1; +per_frame_19=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_20=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_21=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_22=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_23=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_24=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_25=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_26=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_27=lastbeat = if(beat,time,lastbeat); +per_frame_28=countertime = if(beat,time,countertime); +per_frame_29=counter =-1*pow(min((time-countertime-2.3),0),5); +per_frame_30=q3=oldq3+0.002*counter; +per_frame_31=oldq3 =q3; +per_frame_32=monitor=q3; +per_frame_33=wave_x = wave_x + 0.25*cos(q3); +per_frame_34=wave_y = wave_y + 0.25*cos(q3); +per_frame_35=q2=1.1*xpos +0.25*sin(q3) +0.5; +per_frame_36=q1=1.1*ypos +0.25*sin(q3)+ 0.5; +per_frame_37=wave_x = 0.5+ 0.3*cos(1.763*q3) + 0.1*xpos; +per_frame_38=wave_y = 0.5+0.3*cos(1.132*q3) +0.1*ypos; +per_frame_39=q2 = 0.5+0.3*sin(1.763*q3) + 0.1*xpos; +per_frame_40=q1=0.5+0.3*sin(1.132*q3) + 0.1*ypos; +per_frame_41=ib_r = 0.5+0.5*sin(q3*2.87); +per_frame_42=ib_b = 0.5+30*pow(xpos,3); +per_frame_43=ib_g = 0.5+30*pow(ypos,3); +per_frame_44=monitor =ib_b; +per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_frame_init_1=decay = 10000001; diff --git a/presets/presets_bltc201/Rovastar & Krash - Rainbow Deflection.milk b/presets/presets_bltc201/Rovastar & Krash - Rainbow Deflection.milk new file mode 100755 index 0000000000..ac21a1131d --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Krash - Rainbow Deflection.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.975 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.054279 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=-0.19 +cy=-0.1 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=wave_x = rand(100)/100; +per_frame_5=wave_r = 1 + sin(-wave_x*3.1415); +per_frame_6=wave_g = abs(sin(2*wave_x*3.1415)); +per_frame_7=wave_b = sin(wave_x*3.1415); +per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect; +per_frame_11=rot = rot + rot_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=shift = (tan(time*7)) -0.05; +per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05); diff --git a/presets/presets_bltc201/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2-0).milk b/presets/presets_bltc201/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2-0).milk new file mode 100644 index 0000000000..7115bdbfd6 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2-0).milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080487 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=57.599998 +nMotionVectorsY=44.160000 +mv_dx=0.002000 +mv_dy=0.002000 +mv_l=5.000000 +mv_r=0.700000 +mv_g=0.400000 +mv_b=0.500000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =.65+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.600000 +shapecode_3_g=0.800000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +per_pixel_1=zoom = 1; +per_pixel_2=zoom = zoom + 0&pow(rad*6+(bass)*sin(ang*4+time*10),x*y); diff --git a/presets/presets_bltc201/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk b/presets/presets_bltc201/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk new file mode 100755 index 0000000000..4d431026c8 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk @@ -0,0 +1,245 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080487 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.600000 +shapecode_3_g=0.800000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; diff --git a/presets/presets_bltc201/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_bltc201/Rovastar & Rocke - Sugar Spun Sister.milk new file mode 100755 index 0000000000..64321e7dc2 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Rocke - Sugar Spun Sister.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998 +fDecay=0.994 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.9 +fWaveScale=1.116811 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=0.9619 +rot=-0.01 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.9 +wave_g=0.45 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.5 +ib_g=0.57 +ib_b=0.4 +ib_a=0 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952 +mv_dx=0 +mv_dy=0 +mv_l=1.05 +mv_r=0 +mv_g=0 +mv_b=0.8 +mv_a=0.1 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); diff --git a/presets/presets_bltc201/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_bltc201/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk new file mode 100755 index 0000000000..b9d5a3ba3b --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.942 +fVideoEchoZoom=1.0065 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.7999 +fWaveScale=1.54922 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.040604 +rot=0 +cx=0.47 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = 0.5 + 0.5*sin(time*1.143); +per_frame_2=wave_g = 0.5+0.5*sin(time*0.896); +per_frame_3=q8 = (bass+bass_att)*0.5; +per_pixel_1=state_scalar=if(equal(q8,3),-.1,if(equal(q8,2),2,1)); +per_pixel_2=location = sin(ang*10+time+abs(pow(1+rad,q8)+x*10%5)); +per_pixel_3=zoom = zoom+.08*state_scalar*location; +per_pixel_4=rot = rot+.02*state_scalar*location; +per_pixel_5=zoomexp = 1/(pow(q8,q8*10)); +per_pixel_6=zoomexp = if(above(rad,0.8),1,zoomexp); diff --git a/presets/presets_bltc201/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk b/presets/presets_bltc201/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk new file mode 100755 index 0000000000..3bdaf03d68 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk @@ -0,0 +1,126 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=0.9999 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868 +fWaveScale=0.282091 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.0017 +fShader=0 +zoom=0.9881 +rot=1 +cx=2 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.6 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.55 +mv_r=0 +mv_g=0 +mv_b=0 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+0.2*sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+0.1*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+0.1*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51=wave_mode=3 - 0.3*q7; +per_frame_52=mv_a = bass+ bass_att -2.5; +per_pixel_1=snee=bnot(above(x,.5)*above(q2,0)+above(y,.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=pow(sin(rad*6*sin(q8)+(atan(ang*(1-y)-1.57))*6*q1)*2,1+q8%3)*(1+q7); +per_pixel_4=test = below(rad,0.5+ 0.25*q1); +per_pixel_5=cx =if(test,(0&(x*15-0.5*rad))*(1/(15-0.5*rad))+0,0.5); +per_pixel_6=cy =if(test, (0&(y*15-0.5*rad))*(1/(15-0.5*rad))+0,0.5); +per_pixel_7=rot=if(test, 0.1*q1-0.5*rad,snee*bnot(below(y,.5)*below(q7,3))*if(bnot(grid%q8),1,.1*sin(rad*3.14*q3))); +per_pixel_8=zoom=zoom-.031*snur*sin(rad*q7*q5)+snee*bnot(snur)*sin(rad*6*q5)*.1; +per_pixel_9=sx=if(test,1,sx+.0361*bnot(snee)*cos(y*3.14*q4)); +per_pixel_10=sy=if(test,1,sy+.00361*bnot(snur)*cos(x*3.14*q6)); +per_pixel_11=zoomexp = if(test,1 + rad,zoom+rot); diff --git a/presets_milkdrop_104/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk b/presets/presets_bltc201/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk rename to presets/presets_bltc201/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk diff --git a/presets/presets_bltc201/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk b/presets/presets_bltc201/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk new file mode 100755 index 0000000000..d04be56d20 --- /dev/null +++ b/presets/presets_bltc201/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk @@ -0,0 +1,276 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.780000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.400000 +zoom=0.820774 +rot=0.000000 +cx=0.499900 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.400000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.298779 +shapecode_0_ang=1.256637 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.600000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.298779 +shapecode_1_ang=1.256637 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.400000 +shapecode_2_rad=0.298779 +shapecode_2_ang=1.256637 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.600000 +shapecode_3_rad=0.298779 +shapecode_3_ang=1.256637 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.89+0.1*sin(time*0.665+bass); +shape_3_per_frame2=g = 0.89+0.1*sin(time*0.3185+treb); +shape_3_per_frame3=b = 0.89+0.1*sin(time*0.375+mid); +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=q9 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_49=//oldq9 = q9; +per_frame_50=ob_a=q9; +per_frame_51=ib_a = q9; +per_frame_52=rot=1; +per_frame_53=cx=cx+.05*q4; +per_frame_54=cy=cy+.05*q5; +per_frame_55=zoom=.95+.05*q6; +per_frame_56= +per_frame_57=mv_r = wave_r; +per_frame_58=mv_g = wave_g; +per_frame_59=mv_b=wave_b; +per_frame_60=monitor = q9; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk new file mode 100755 index 0000000000..e9b3f3a14d --- /dev/null +++ b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk @@ -0,0 +1,296 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.088 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99980 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.480 +shapecode_0_y=0.510 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.8 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=x = x + 0.23*cos(time*0.01317+1); +shape_0_per_frame2=y = y + 0.17*cos(time*0.00843+3); +shape_0_per_frame3=ang = q1*(0.303 + 0.01*t1 + instance); +shape_0_per_frame4=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame5=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame6=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame7=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame8=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame9=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame10=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.440 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.17*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.13*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.530 +shapecode_2_y=0.460 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.25*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.19*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.44747 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.48886 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.5 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.21*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.17*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` //uv2.xy += (blurry_color.xy-0.37) * 0.005; +warp_9=` +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` ret += (ret - GetBlur1(uv2))*0.2; +warp_15=` +warp_16=` // darken over time +warp_17=` ret -= 0.02; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`/* float3 d = float3(texsize.zw, 0)*1.25; +comp_5=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_6=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_7=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_8=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_9=` +comp_10=` ret *= 0.2; +comp_11=` ret += saturate((b1-b2)*8)*0.60*float3(1,0.6,0.1); +comp_12=` ret += saturate((b3-b4)*8)*0.60*float3(0.2,0.5,0.7); +comp_13=` +comp_14=` ret *= 1.5;*/ +comp_15=`} diff --git a/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk new file mode 100755 index 0000000000..c749a11c30 --- /dev/null +++ b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig*4 + rand_frame.xy)*2-1)*0.02; +warp_14=` +warp_15=` float ang2 = atan2(uv_orig.y-0.5,uv_orig.x-0.5); +warp_16=` ret += ( cos(ang2*17 + time*12 + lum(ret)*0) )*0.15; +warp_17=` +warp_18=` // darken over time +warp_19=` //ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*27 + 3)*30 - 26); +comp_6=` bw = saturate( cos(ang*17 + time*12 + L*48) )*0.5*(L+0.4); +comp_7=` ret = ret*ret + bw*0.3*(GetPixel(0.5))*0.5; +comp_8=` +comp_9=`} diff --git a/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk new file mode 100755 index 0000000000..b62ebe6d72 --- /dev/null +++ b/presets/presets_bltc201/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk @@ -0,0 +1,307 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100 +fWaveScale=3.815 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.04177 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.007 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_bltc201/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk b/presets/presets_bltc201/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk new file mode 100755 index 0000000000..a138b3fa05 --- /dev/null +++ b/presets/presets_bltc201/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk @@ -0,0 +1,303 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=3.815202 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.029902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_bltc201/Rovastar - 3am Somewhere.milk b/presets/presets_bltc201/Rovastar - 3am Somewhere.milk new file mode 100755 index 0000000000..fbd181f95c --- /dev/null +++ b/presets/presets_bltc201/Rovastar - 3am Somewhere.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.019900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.002000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.799900 +mv_g=0.161000 +mv_b=0.060000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.4*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.5*sin(time*0.631); +per_frame_5=vol = 0.167*(bass+mid+att); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=dx = dx + dx_residual; +per_frame_19=dy = dy + dy_residual; +per_frame_20=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_21=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_22=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_23=rot = 0.1; +per_frame_24=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_25=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_26=ib_r = 0.3+xpos; +per_frame_27=ib_b = 0.06*bass; +per_frame_28=ib_g = 0.25+ypos; +per_frame_29=sy = if(above(bass+bass_att,3.2),1+0.1*(1-treb),1); +per_frame_30=sx = if(above(bass+bass_att,3.2),1 + 0.1*mid,1); +per_frame_31=myframes = frame%4; +per_frame_32=frametest = above(myframes,1); +per_frame_33=q3 = 15 + if(frametest,myframes,0); +per_frame_34=q4 = if(frametest,1/(15 + myframes),1/14); +per_frame_35=ib_a = if(above(bass+bass_att,2.2),1,0); +per_pixel_1=cx = (0&(x*q3-0.5))*q4+0.05; +per_pixel_2=cy = (0&(y*q3-0.5))*q4+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(0.95 + 0.07*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.4*(0.1+0.6*(bass+bass_att)); +per_pixel_10=dy=dy*0.2*(0.1+0.6*(treb+treb_att)); +per_pixel_11=rot = 2.3*newrad*(0.5*(0.5-rad)+0.1); +per_frame_init_1=decay = 10000001; diff --git a/presets/presets_bltc201/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_bltc201/Rovastar - A Million Miles From Earth (Wormhole Mix).milk new file mode 100755 index 0000000000..d7b0b8bc2b --- /dev/null +++ b/presets/presets_bltc201/Rovastar - A Million Miles From Earth (Wormhole Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.438649 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.999996 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0.00001 +dy=0.00001 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.976 +ob_size=0.005 +ob_r=0.4 +ob_g=0.3 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=1 +ib_g=0.6 +ib_b=0 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=1 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.2*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); diff --git a/presets/presets_bltc201/Rovastar - Alpha Conflict.milk b/presets/presets_bltc201/Rovastar - Alpha Conflict.milk new file mode 100755 index 0000000000..11f19a8d8d --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Alpha Conflict.milk @@ -0,0 +1,88 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.653093 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.014500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.6 + 0.4*sin(time*3.894); +per_frame_3=ib_g = 0.43 + 0.33*sin(time*1.143); +per_frame_4=ib_b = 0.5+ 0.33*sin(time*3.465); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=dx = 1.1* dx_r; +per_frame_9=dy = 1.1* dy_r; +per_frame_10=q2 = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); +per_frame_11=q1 = (thresh-1)*0.6; +per_frame_12=frametest = above(q2,0); +per_frame_13=mv_l =if(frametest,-10000,10000); +per_frame_14=mv_y =2.0; +per_frame_15=mv_dy = -0.1; +per_frame_16=mv_r =0.7+0.148*(ib_r+ib_b); +per_frame_17=mv_b =1-0.2*(ib_r+ib_b); +per_frame_18=mv_g =0.6+ 0.19*(ib_g+ib_r); +per_frame_19=zoom = zoom -0.02*thresh; +per_frame_20=wave_r =1- ib_g; +per_frame_21=wave_b = ib_g; +per_frame_22=ob_r = 1-ib_g; +per_frame_23=ob_b = 0.5*(ib_r+ib_g); +per_pixel_1=sx =0.5+ 5*q2*(pow(1,2)); +per_pixel_2=xsy = 0.5+0.5*rad*q2; diff --git a/presets/Rovastar - Altars Of Harlequin's Maddess.milk b/presets/presets_bltc201/Rovastar - Altars Of Harlequin's Maddess.milk similarity index 100% rename from presets/Rovastar - Altars Of Harlequin's Maddess.milk rename to presets/presets_bltc201/Rovastar - Altars Of Harlequin's Maddess.milk diff --git a/presets/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk b/presets/presets_bltc201/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk similarity index 100% rename from presets/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk rename to presets/presets_bltc201/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk diff --git a/presets/presets_bltc201/Rovastar - Cerebral Parasites (Attack Mix).milk b/presets/presets_bltc201/Rovastar - Cerebral Parasites (Attack Mix).milk new file mode 100755 index 0000000000..4d6537a2e4 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Cerebral Parasites (Attack Mix).milk @@ -0,0 +1,199 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*1.24; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.21) + 0.03*cos(time*0.64); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.41) + 0.03*sin(time*0.8); +shape_0_per_frame4=r = q7 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = q7 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=wave_a = 0; +per_frame_8=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=oldq8 = q8; +per_frame_10=q7 = 0.002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11=dx = q7*1.0542; +per_frame_12=dy = q7*1.187; +per_frame_13=monitor =q7; +per_frame_14=dx = 0.5; +per_frame_15=dy=0.5; +per_frame_16=warp=0; +per_frame_17=zoom= 0.1*sin(q8); +per_pixel_1=zoom =zoom+0.05*q7+( log(sqrt(2)-rad) -0.2); +per_pixel_2=rot = sin(1.156*q8);;; diff --git a/presets/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk b/presets/presets_bltc201/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk similarity index 100% rename from presets/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk rename to presets/presets_bltc201/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk diff --git a/presets/presets_bltc201/Rovastar - Dark Ritual (Star Of Destiny Mix).milk b/presets/presets_bltc201/Rovastar - Dark Ritual (Star Of Destiny Mix).milk new file mode 100755 index 0000000000..48148043ff --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Dark Ritual (Star Of Destiny Mix).milk @@ -0,0 +1,237 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=100.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.460000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.050000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.400000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.400000 +shapecode_1_ang=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang =1- time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.300000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = 0.5+time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +per_frame_init_1=oldq8 =0; +per_frame_init_2=q8=0; +per_frame_1=warp=0; +per_frame_2=mv_r = mv_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_3=mv_g = mv_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_4=mv_b = mv_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_5=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=ob_a = bnot(beat); +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=q5_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_23=q6_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=q5 = 1-abs(4*q5_residual); +per_frame_28=q6 = 1-abs(4*q5_residual); +per_frame_29=wave_a =0; +per_frame_30=zoom = 1000; +per_frame_31=monitor = q8; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = q5/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = q6/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets/presets_bltc201/Rovastar - Dark Ritual.milk b/presets/presets_bltc201/Rovastar - Dark Ritual.milk new file mode 100755 index 0000000000..468cf51ac4 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Dark Ritual.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=100.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.460000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.050000 +per_frame_1=warp=0; +per_frame_2=mv_r = mv_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_3=mv_g = mv_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_4=mv_b = mv_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_5=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=ob_a = bnot(beat); +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=q5_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_23=q6_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=q5 = 1-abs(4*q5_residual); +per_frame_28=q6 = 1-abs(4*q5_residual); +per_frame_29=wave_a =0; +per_frame_30=zoom = 1000; +per_frame_31=monitor = q8; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = q5/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = q6/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); +per_frame_init_1=oldq8 =0; +per_frame_init_2=q8=0; diff --git a/presets/presets_bltc201/Rovastar - Destiny Star (Starbrust Mix).milk b/presets/presets_bltc201/Rovastar - Destiny Star (Starbrust Mix).milk new file mode 100755 index 0000000000..ab240bda83 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Destiny Star (Starbrust Mix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.218587 +fShader=0.000000 +zoom=0.961268 +rot=0.000000 +cx=0.500000 +cy=2.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=1.000000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.410000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.879900 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=mv_r=0.5 +0.5*sin(time*1.23); +per_frame_2=mv_b=0.5 + 0.5*sin(time*1.26); +per_frame_3=mv_g=0.5+ 0.5*sin(time*1.19); +per_frame_4=wave_g=wave_g*+.20*sin(time*.13); +per_frame_5=wave_r=wave_r+.13*sin(time); +per_frame_6=wave_b=wave_b*sin(time); +per_frame_7=wave_x=wave_x-.5*sin(time*.13); +per_frame_8=ob_a = if(above(mid+treb,2.6),1,0); +per_frame_9=ob_r = 0.5 + 0.4*sin(time*2.87); +per_frame_10=ob_b = 0.5 + 0.4*sin(time*2.914); +per_frame_11=ob_g = 0.5 + 0.4*sin(time*2.768); +per_frame_12=mv_y = 3.25; +per_frame_13=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_14=oldq8 = q8; +per_frame_15=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_16=zoom=zoom+0.028*(q7) -0.05; +per_frame_17=//rot=rot+0.10*sin(time); +per_pixel_1=rot=0.05*sin(q8)*rad; +per_pixel_2=q1 = sin((1000+sin(q8))/y)/200; +per_pixel_3=q2 = cos((1000+sin(q8))/x)/200; +per_pixel_4=rot = rot+q1*100*q2; diff --git a/presets/presets_bltc201/Rovastar - Explosive Minds.milk b/presets/presets_bltc201/Rovastar - Explosive Minds.milk new file mode 100755 index 0000000000..fa1baabb23 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Explosive Minds.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=0.011046 +fWaveSmoothing=0.75 +fWaveParam=-0.42 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.9 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=1.28 +nMotionVectorsY=1.248 +mv_dx=-0.06 +mv_dy=-0.026 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass_att*.3; +per_frame_3=wave_g = treb_att*.3; +per_frame_4=wave_b = mid_att*.3; +per_frame_5=ob_r = 0.5+0.5*sin(time*5.12); +per_frame_6=ob_b = 0.5+0.5*sin(time*6.112); +per_frame_7=ob_g = 0.5+0.5*sin(time*7.212); +per_frame_8=q1 = zoom + pow((bass+bass_att),3)*.005-.02; +per_pixel_1=zoom =q1+ rad*sin(ang*25)*.05; diff --git a/presets_milkdrop_104/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_bltc201/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk rename to presets/presets_bltc201/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Fractopia (Galaxy Swirl Mix).milk b/presets/presets_bltc201/Rovastar - Fractopia (Galaxy Swirl Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Fractopia (Galaxy Swirl Mix).milk rename to presets/presets_bltc201/Rovastar - Fractopia (Galaxy Swirl Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_bltc201/Rovastar - Fractopia (Upspoken Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix).milk rename to presets/presets_bltc201/Rovastar - Fractopia (Upspoken Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk b/presets/presets_bltc201/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk rename to presets/presets_bltc201/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk diff --git a/presets/presets_bltc201/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk b/presets/presets_bltc201/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk new file mode 100755 index 0000000000..1e80cffed4 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.94 +fWaveScale=1.599182 +fWaveSmoothing=0.7 +fWaveParam=1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.001 +fShader=0 +zoom=1.007 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.7 +wave_g=0.3 +wave_b=0.3 +wave_x=0 +wave_y=0.5 +ob_size=0.005 +ob_r=0.4 +ob_g=0.3 +ob_b=0 +ob_a=0.7 +ib_size=0.005 +ib_r=0.65 +ib_g=0.05 +ib_b=0.45 +ib_a=0.3 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=decay = decay - 0.03*equal(frame%30,0); +per_frame_5=treb_effect = max(max(treb,treb_att)-1.25,0); +per_frame_6=mid_effect= max(max(mid,mid_att)-1.25,0); +per_frame_7=ob_size = ob_size + 0.005*treb_effect; +per_frame_8=ib_size = ib_size + 0.005*mid_effect; +per_frame_9=ob_r = ob_r -0.2* treb_effect +0.2* mid_effect; +per_frame_10=ib_g = ib_g + 0.2*mid_effect- 0.2*treb_effect; +per_pixel_1=ok_to_change = if(above(time,beat_time+5),1,0); +per_pixel_2=bass_effect = max(bass, bass_att)-1; +per_pixel_3=beat_time = if(above(bass_effect,0.5), if(ok_to_change,time,beat_time),beat_time); +per_pixel_4=effect = if(equal(time,beat_time),abs(effect-1),effect); +per_pixel_5=bass_effect = max(max(bass,bass_att)-1.34,0); +per_pixel_6=zoom = if(above(effect,0),0.4*x,0.4*y) +0.6 -0.13*(min(bass_effect,0.3)); diff --git a/presets/presets_bltc201/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk b/presets/presets_bltc201/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk new file mode 100755 index 0000000000..65183e6fe5 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.996546 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=-0.100000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.48*sin(time*3.324); +per_frame_3=ob_b = 0.5 - 0.48*cos(time*2.316); +per_frame_4=cx = cx - 0.1*sin(time*0.542); +per_frame_5=cy = cy + 0.1*sin(time*0.753); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.015+abs(0.03*sin(0.1*rand(1000))); +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*2.934); +per_frame_25=ib_g = ib_g + 0.5*sin(time*1.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*3.431); +per_frame_27=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_28=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_29=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_30=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_31=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_32=xpos = xpos + 0.001*xspeed; +per_frame_33=dx = 0.016*xpos; +per_frame_34=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_35=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_36=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_37=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_38=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_39=ypos = ypos + 0.001*yspeed; +per_frame_40=dy =0.016*ypos; +per_frame_41=q2= 0.6*(ypos+xpos); +per_pixel_1=box=abs(x*2-0.3*sin(q3)+1)%2 + abs(y*2+0.3*sin(q5)+1)%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.95); +per_pixel_4=rot = if(above(box,1),sin(rad*0.885*time),0.4*q1+q2*(1-rad)); +per_pixel_5=dx = if(above(box,1),sin(1.442*time),dx); +per_pixel_6=dy= if(above(box,1),sin(1.581*time),dy); +per_pixel_7=zoomexp = if(above(box,1),1,1-abs(q2)); diff --git a/presets/presets_bltc201/Rovastar - Harlequin's Dynamic Fractal 3.milk b/presets/presets_bltc201/Rovastar - Harlequin's Dynamic Fractal 3.milk new file mode 100755 index 0000000000..7a3f454528 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Harlequin's Dynamic Fractal 3.milk @@ -0,0 +1,115 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.96 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.204482 +fWaveScale=0.535238 +fWaveSmoothing=0.27 +fWaveParam=-0.4 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.1 +wave_y=0.86 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=3.2 +nMotionVectorsY=48 +mv_l=3.5 +mv_r=0.7 +mv_g=0.7 +mv_b=0.3 +mv_a=1 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.901)+ 0.3*cos(time*1.438)); +per_frame_2=ob_g = 0.4- 0.4*sin(time*3.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*2.816); +per_frame_4=cx = cx - 0.1*sin(time*0.342); +per_frame_5=cy = cy + 0.1*sin(time*0.453); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=ib_size = 0.005 + 0.02*sin(time*0.963); +per_frame_22=ob_size = 0.02*abs(sin(time*0.7834)); +per_frame_23=mv_r = mv_r + 0.3*sin(time*3.034); +per_frame_24=mv_g = mv_g + 0.3*sin(time*2.547); +per_frame_25=mv_b = mv_b - 0.3*sin(time*1.731); +per_frame_26=wave_r = wave_r + 0.5*sin(time*0.734); +per_frame_27=wave_b = wave_b + 0.5*sin(time*0.615); +per_frame_28=wave_b = wave_b + 0.5*sin(time*0.714); +per_frame_29=ib_r = ib_r + 0.5*sin(time*0.734); +per_frame_30=ib_g = ib_g + 0.5*sin(time*1.215); +per_frame_31=ib_b = ib_b + 0.5*sin(time*1.414); +per_frame_32=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_33=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_34=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_35=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_36=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_37=xpos = xpos + 0.001*xspeed; +per_frame_38=dx = 0.1*xpos; +per_frame_39=q2 = xpos; +per_frame_40=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_41=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_42=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_43=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_44=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_45=ypos = ypos + 0.001*yspeed; +per_frame_46=dy =0.1*ypos; +per_frame_47=q4 = ypos; +per_frame_48=ib_a = if(beat,1,0); +per_frame_49=ob_a = if(beat,1,0); +per_pixel_1=box =0.05+2*x%2+2*y%2; +per_pixel_2=q1 = 6.4+1.4*(sin(x+(0.6*time))-cos(y+(0.432*time))); +per_pixel_3=zoom = if(above(box,1),q1*0.1,zoom); +per_pixel_4=rot = if(above(box,1),3.5+ abs(sin(3*(q2+q4)))*(0.3*sin(0.385*time)+0.4*sin(time*0.254)+0.3*cos(time*0.311)),rot); +per_pixel_5=dx = if(above(box,1),q4*4,dx); +per_pixel_6=dy= if(above(box,1),q2*4,dy); diff --git a/presets/presets_bltc201/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_bltc201/Rovastar - Harlequin's Fractal Encounter.milk new file mode 100755 index 0000000000..476bf57f68 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Harlequin's Fractal Encounter.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=1 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.01 +fWaveSmoothing=0.27 +fWaveParam=-0.4 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.1 +wave_y=0.9 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=63.936001 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=1 +mv_r=0.63 +mv_g=0.2 +mv_b=0.3 +mv_a=0 +per_frame_1=ob_r = 0.4 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724); +per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.025; +per_frame_6=ib_r = ib_r + 0.5*(0.6*sin(time*3.034)+0.4*cos(time*2.14)); +per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015)); +per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842)); +per_frame_9=dx = dx -0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437)); +per_frame_10=dy = dy - 0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315)); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect; +per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_36=lastbeat = if(beat,time,lastbeat); +per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_38=mode = (mode+beat*(rand(3)+1))%4; +per_frame_39=echo_orient = mode; +per_frame_40=wave_a = 0; +per_frame_41=q6 = beat; +per_pixel_1=box =0.5+0.8*(2*x%4+2*y%2); +per_pixel_2=q1 = 8.05+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time)); +per_pixel_3=q7 = above(box,1); +per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom); +per_pixel_5=rot = if(q7,0.63*sin(0.5*rad+0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot); +per_pixel_6=cx = cx - 0.05*sin(rad+2*q4); +per_pixel_7=cy = cy + 0.04*sin(((0.5*sqrt(2))-rad)-2*q2); +per_pixel_8=sx = if(q7,sx+q6*18,sx); +per_pixel_9=sy = if(q7,sy+q6*18,sy); diff --git a/presets/presets_bltc201/Rovastar - Harlequin's Liquid Dragon.milk b/presets/presets_bltc201/Rovastar - Harlequin's Liquid Dragon.milk new file mode 100755 index 0000000000..edffbfb21b --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Harlequin's Liquid Dragon.milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.692 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*1.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*1.724); +per_frame_3=ob_b = 0.5 - 0.35*cos(time*1.196); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.02; +per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_7=ib_g = ib_g + 0.5*sin(time*2.147); +per_frame_8=ib_b = ib_b - 0.5*sin(time*3.431); +per_frame_9=dx = dx -0.005*sin(time*0.23); +per_frame_10=dy = dy - 0.005*sin(time*0.2); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=q5 = max(max(bass,bass_att)-1.2,0); +per_pixel_1=box =0.5+0.8*(2*x%2+2*y%2); +per_pixel_2=q1 = 2*q5+7.7+0.3*(sin(pow(x,3)+0.137*time)-cos(pow(y,3)+0.213*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.5*sin(0.5*rad+0.385*time),rot); +per_pixel_5=cx = cx - 0.5*sin(rad+2*q4); +per_pixel_6=cy = cy + 0.11*sin((sqrt(2)-rad)-18*q2); diff --git a/presets_milkdrop_104/Rovastar - Inner Thoughts (Bright Dawn Mix).milk b/presets/presets_bltc201/Rovastar - Inner Thoughts (Bright Dawn Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Inner Thoughts (Bright Dawn Mix).milk rename to presets/presets_bltc201/Rovastar - Inner Thoughts (Bright Dawn Mix).milk diff --git a/presets/Rovastar - Inner Thoughts (Distant Memories Mix).milk b/presets/presets_bltc201/Rovastar - Inner Thoughts (Distant Memories Mix).milk similarity index 100% rename from presets/Rovastar - Inner Thoughts (Distant Memories Mix).milk rename to presets/presets_bltc201/Rovastar - Inner Thoughts (Distant Memories Mix).milk diff --git a/presets/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk b/presets/presets_bltc201/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk similarity index 100% rename from presets/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk rename to presets/presets_bltc201/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk diff --git a/presets_milkdrop/Rovastar - Jester's Awakening.milk b/presets/presets_bltc201/Rovastar - Jester's Awakening.milk similarity index 81% rename from presets_milkdrop/Rovastar - Jester's Awakening.milk rename to presets/presets_bltc201/Rovastar - Jester's Awakening.milk index 86293a94a5..5ddcea6f5f 100755 --- a/presets_milkdrop/Rovastar - Jester's Awakening.milk +++ b/presets/presets_bltc201/Rovastar - Jester's Awakening.milk @@ -1,9 +1,9 @@ [preset00] fRating=3.000000 -fGammaAdj=1.994000 -fDecay=0.930000 +fGammaAdj=1.994 +fDecay=0.93 fVideoEchoZoom=0.999834 -fVideoEchoAlpha=0.500000 +fVideoEchoAlpha=0.5 nVideoEchoOrientation=1 nWaveMode=0 bAdditiveWaves=0 @@ -18,49 +18,49 @@ bBrighten=0 bDarken=0 bSolarize=0 bInvert=0 -fWaveAlpha=100.000000 +fWaveAlpha=1 fWaveScale=0.197884 -fWaveSmoothing=0.750000 -fWaveParam=0.500100 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.600000 -ib_size=0.005000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.380000 +fWaveSmoothing=0.75 +fWaveParam=0.5001 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9999 +rot=0.1 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.6 +ib_size=0.005 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.38 nMotionVectorsX=12.799999 nMotionVectorsY=11.399998 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 per_frame_1=warp=0; per_frame_2=vol = 0.167*(bass+mid); per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); diff --git a/presets/presets_bltc201/Rovastar - Jester's Calling 2.milk b/presets/presets_bltc201/Rovastar - Jester's Calling 2.milk new file mode 100755 index 0000000000..40a735bbc7 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Jester's Calling 2.milk @@ -0,0 +1,119 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.96 +fVideoEchoZoom=0.999836 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.01 +fWaveSmoothing=0.75 +fWaveParam=0.5001 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9999 +rot=0.1 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.005 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.3 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=vol = 0.167*(bass+mid); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=ib_r = ib_r + 2*sin(time*4.132)*xpos; +per_frame_14=ib_b = ib_b + 2*sin(time*4.042)*ypos; +per_frame_15=ib_g = ib_g + 0.3*sin(time*0.631);; +per_frame_16=ob_g = beat*treb*0.5; +per_frame_17=ob_a = 0.5 + 0.5*beat; +per_frame_18=ob_size = ob_size + 0.01*beat; +per_frame_19=mv_dx =0.15* xpos; +per_frame_20=mv_dy = 0.15*ypos; +per_frame_21=mv_l = 0.15; +per_frame_22=mv_r = 1 - ib_r; +per_frame_23=mv_b = 1-ib_g; +per_frame_24=mv_g = 1-ib_b; +per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_30=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_33=lastbeat = if(beat,time,lastbeat); +per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0); +per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*rand(500),Old_Eff_size); +per_frame_37=Old_Eff_size =Eff_size; +per_frame_38=q5 = Eff_size; +per_frame_39=mv_l = if(Eff_test,q5*3,mv_l); +per_frame_40=q6 = 3*xpos; +per_frame_41=q4 = 3*ypos; +per_frame_42=decay = decay + if(Eff_test,0,0.04); +per_frame_43=wave_r = 1-ib_g; +per_frame_44=wave_g = 1-ib_b; +per_frame_45=wave_b = 1-ib_b; +per_pixel_1=q1 = 0.4*rad; +per_pixel_2=q2= (0.3*rad); +per_pixel_3=q3 = below(rad,0.1*q5+ 0.3); +per_pixel_4=q7 =if(q3,0,10 + int(1*(rad))); +per_pixel_5=q8 =if(q3,0,10 + int(1*(rad))); +per_pixel_6=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); +per_pixel_7=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2); +per_pixel_8=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy); +per_pixel_9=zoom = if(q3,0.3+0.1*q5+ 0.5*q4,zoom); +per_frame_init_1=Eff_test =1; +per_frame_init_2=Eff_size = 400; diff --git a/presets/presets_bltc201/Rovastar - Jester's Surreal Tornado.milk b/presets/presets_bltc201/Rovastar - Jester's Surreal Tornado.milk new file mode 100755 index 0000000000..7e1223ae77 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Jester's Surreal Tornado.milk @@ -0,0 +1,87 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.980000 +ob_size=0.014500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.6 + 0.4*sin(time*0.894); +per_frame_3=ib_g = 0.43 + 0.13*sin(time*7.143); +per_frame_4=ib_b = 0.5+ 0.33*sin(time*0.465); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=dx = 1.1* dx_r; +per_frame_9=dy = 1.1* dy_r; +per_frame_10=q2 = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); +per_frame_11=q2 =q2*15 + if(above(dx_r,0),0.04 + 0.01*sin(time*0.573),-0.04+ 0.01*sin(time*0.573)); +per_frame_12=mv_l =10000; +per_frame_13=mv_y =2.0; +per_frame_14=mv_dy = -0.1; +per_frame_15=mv_r =0.7+0.148*(ib_r+ib_b); +per_frame_16=mv_b =1-0.2*(ib_r+ib_b); +per_frame_17=mv_g =0.6+ 0.19*(ib_g+ib_r); +per_frame_18=zoom = zoom -0.02*thresh + 0.01; +per_frame_19=wave_r = ib_r; +per_frame_20=wave_b = ib_b; +per_frame_21=wave_g = ib_g; +per_frame_22=ob_r = 1-ib_g; +per_frame_23=ob_b = 0.5*(ib_r+ib_g); +per_pixel_1=rot = q2*(1-rad); diff --git a/presets/Rovastar - Mosaics Of Ages.milk b/presets/presets_bltc201/Rovastar - Mosaics Of Ages.milk similarity index 100% rename from presets/Rovastar - Mosaics Of Ages.milk rename to presets/presets_bltc201/Rovastar - Mosaics Of Ages.milk diff --git a/presets/Rovastar - Parallel Universe.milk b/presets/presets_bltc201/Rovastar - Parallel Universe.milk similarity index 100% rename from presets/Rovastar - Parallel Universe.milk rename to presets/presets_bltc201/Rovastar - Parallel Universe.milk diff --git a/presets/presets_bltc201/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_bltc201/Rovastar - Solarized Space (Space DNA Mix).milk new file mode 100755 index 0000000000..94fe5302c2 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Solarized Space (Space DNA Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994 +fDecay=0.96 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.882469 +fWaveScale=0 +fWaveSmoothing=0.63 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.980296 +sy=1 +wave_r=1 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.0015 +ib_r=1 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_0_per_frame10=sides = 360; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.5); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.5); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.4413 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*1.23 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.721 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.775 + 4); +shape_1_per_frame8=g2 = 0.5 - 0.5*sin(q8*0.676+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.738 + 3); +shape_1_per_frame10=sides = 360; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_17=cy = 0.5 +0.05*sin(0.413*time); +per_frame_18=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_19=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_20=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_21=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_22=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_23=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_24=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_25=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_26=lastbeat = if(beat,time,lastbeat); +per_frame_27=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_28=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_29=beatcounter = if(above(beatcounter,8), 0, beatcounter); +per_frame_30=beateven = beatcounter%4; +per_frame_31=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_32=beateven = if(equal(beateven,3),-1,beateven); +per_frame_33=beateven = if(equal(beateven,0),0.1*(myx+myy),beateven); +per_frame_34=beateven = if(equal(beateven,2),0.1*(-myx-myy),beateven); +per_frame_35=dx = 0.1*beateven*myx; +per_frame_36=dy = 0.1*beateven*myy; +per_frame_37=monitor = beateven; +per_frame_38=wave_a = Bass_thresh; +per_frame_39=zoom = 1.5 +0.25*myy; +per_frame_40=rot = myx*beateven; +per_frame_41=wave_x = 0.5 + 0.05*myx; +per_frame_42=wave_y=0.5 + 0.05*myy; +per_frame_43=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_44=oldq8 = q8; diff --git a/presets/presets_bltc201/Rovastar - Solarized Space.milk b/presets/presets_bltc201/Rovastar - Solarized Space.milk new file mode 100755 index 0000000000..a9023e3cfb --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Solarized Space.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994 +fDecay=0.96 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.882469 +fWaveScale=0 +fWaveSmoothing=0.63 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.980296 +sy=1 +wave_r=1 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.0015 +ib_r=1 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16= +per_frame_17=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_18=cy = 0.5 +0.05*sin(0.413*time); +per_frame_19=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_20=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_21=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_22=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_23=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_24=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_25=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_26=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_27=lastbeat = if(beat,time,lastbeat); +per_frame_28=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_29=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_30=beatcounter = if(above(beatcounter,8), 0, beatcounter); +per_frame_31=beateven = beatcounter%4; +per_frame_32=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_33=beateven = if(equal(beateven,3),-1,beateven); +per_frame_34=beateven = if(equal(beateven,0),0.1*(myx+myy),beateven); +per_frame_35=beateven = if(equal(beateven,2),0.1*(-myx-myy),beateven); +per_frame_36=dx = 0.1*beateven*myx; +per_frame_37=dy = 0.1*beateven*myy; +per_frame_38=monitor = beateven; +per_frame_39=wave_a = Bass_thresh; +per_frame_40=zoom = 1.5 +0.25*myy; +per_frame_41=rot = myx*beateven; +per_frame_42=wave_x = 0.5 + 0.05*myx; +per_frame_43=wave_y=0.5 + 0.05*myy; +per_frame_44= diff --git a/presets_projectM/Rovastar - Sunflower Passion (Simple Mix).milk b/presets/presets_bltc201/Rovastar - Sunflower Passion (Simple Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Sunflower Passion (Simple Mix).milk rename to presets/presets_bltc201/Rovastar - Sunflower Passion (Simple Mix).milk diff --git a/presets/presets_bltc201/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk b/presets/presets_bltc201/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk new file mode 100644 index 0000000000..a67da4ec2a --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=3.289248 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.020068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_frame_21= +per_frame_22= +per_frame_23=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_24= +per_frame_25=xpos=sin(musictime*0.6)*0.1; +per_frame_26=ypos=sin(musictime*0.4)*0.1; +per_frame_27=q4=xpos; +per_frame_28=q5=ypos +per_pixel_1= +per_pixel_2= +per_pixel_3=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_4= +per_pixel_5=myx = (x-q1)*2; +per_pixel_6=myy= (y-q2)*2; +per_pixel_7=myrad =( (myx*myx)/(ag*6)) + ((myy*myy)/(ag*6)); +per_pixel_8=dx = 0.1*(myy/(myrad+1)); +per_pixel_9=dy = -0.1*(myx/(myrad+1)); +per_pixel_10= +per_pixel_11=//sx=tan(rad*0.3)*0.3-0.6*(ag*60);//sy=tan(rad*0.3)*0.3-0.6*(ag*60) diff --git a/presets_projectM/Rovastar - Sunflower Passion.milk b/presets/presets_bltc201/Rovastar - Sunflower Passion.milk similarity index 100% rename from presets_projectM/Rovastar - Sunflower Passion.milk rename to presets/presets_bltc201/Rovastar - Sunflower Passion.milk diff --git a/presets_projectM/Rovastar - Torrid Tales.milk b/presets/presets_bltc201/Rovastar - Torrid Tales.milk similarity index 100% rename from presets_projectM/Rovastar - Torrid Tales.milk rename to presets/presets_bltc201/Rovastar - Torrid Tales.milk diff --git a/presets_milkdrop_104/Rovastar - Tripmaker (Space Trip Mix).milk b/presets/presets_bltc201/Rovastar - Tripmaker (Space Trip Mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Tripmaker (Space Trip Mix).milk rename to presets/presets_bltc201/Rovastar - Tripmaker (Space Trip Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Tripmaker.milk b/presets/presets_bltc201/Rovastar - Tripmaker.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Tripmaker.milk rename to presets/presets_bltc201/Rovastar - Tripmaker.milk diff --git a/presets/presets_bltc201/Rovastar - VooV's Light Pattern.milk b/presets/presets_bltc201/Rovastar - VooV's Light Pattern.milk new file mode 100755 index 0000000000..1d9c716bb2 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - VooV's Light Pattern.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.053731 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.903947 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.072135 +sy=1.232392 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400007 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5+0.5*sin(1.123*time); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.576); +per_frame_3=wave_b = 0.5+0.5*cos(time*1.465); +per_frame_4=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_5=oldq8 = q8; +per_frame_6=ib_r = 0.5+0.5*sin(1.123*q8); +per_frame_7=ib_g = 0.5+0.5*sin(q8*1.576); +per_frame_8=ib_b = 0.5+0.5*cos(q8*1.465); +per_frame_9=q7 = 0.0004*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=ob_size = 0.95; +per_frame_11=monitor = q8; +per_pixel_1=rot=0.1*pow(-ang,3)-1.19*sin(ang); +per_pixel_2=zoom=2*sin(-rad)+1.2+ rad; +per_pixel_3=rot = rot + 5*sin(q8); +per_pixel_4=zoom = zoom +q7; diff --git a/presets/Rovastar - VooV's Movement (After Dark Mix).milk b/presets/presets_bltc201/Rovastar - VooV's Movement (After Dark Mix).milk similarity index 100% rename from presets/Rovastar - VooV's Movement (After Dark Mix).milk rename to presets/presets_bltc201/Rovastar - VooV's Movement (After Dark Mix).milk diff --git a/presets/presets_bltc201/Rovastar - VooV's Naked Movement (Pincushion Mix).milk b/presets/presets_bltc201/Rovastar - VooV's Naked Movement (Pincushion Mix).milk new file mode 100755 index 0000000000..b9707a5721 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - VooV's Naked Movement (Pincushion Mix).milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.995000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.186471 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.351767 +fShader=1.000000 +zoom=0.980296 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.700000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.250000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp =0; +per_frame_2=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_3=oldq8 = q8; +per_frame_4=q1 = 0.5 + 0.15*sin(0.416*q8) + 0.15*sin(0.832*q8) + 0.1*sin(1.324*q8); +per_frame_5=q2 = 0.5 + 0.15*sin(0.341*q8) + 0.15*sin(0.768*q8) + 0.1*sin(1.523*q8); +per_frame_6=q6 = 0.5 + 0.15*sin(0.287*q8) + 0.15*sin(0.913*q8) + 0.1*sin(1.142*q8); +per_frame_7=q7 = 0.5 + 0.15*sin(0.531*q8) + 0.15*sin(0.671*q8) + 0.1*sin(1.442*q8); +per_frame_8=change = if(beat,rand(10)+3,oldchange); +per_frame_9=oldchange = change; +per_frame_10=change = 10; +per_frame_11=q4 = (change + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_12=zz = if(beat,rand(13)+3,oldzz); +per_frame_13=oldzz =zz; +per_frame_14=zz = 6; +per_frame_15=q5 = (zz + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_16=q3 = mode; +per_frame_17=wave_a =0; +per_frame_18=monitor = mode; +per_frame_19=decay =0.3; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q6; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=newzoom = pow(0.995 + 0.05*sin((q4)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_6=dx = (newx)*newzoom - newx; +per_pixel_7=dy = (newy)*newzoom - newy; +per_pixel_8=newx = x - q2; +per_pixel_9=newy = y - q7; +per_pixel_10=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_11=newang = atan2(newx,newy); +per_pixel_12=newzoom = pow(0.995 + 0.05*sin((q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_13=dx = dx + (newx)*newzoom - newx; +per_pixel_14=dy = dy + (newy)*newzoom - newy; +per_pixel_15=newx = x - (0.33*(q1+q2+q6)); +per_pixel_16=newy = y - (0.33*(3-q2-q6-q7)); +per_pixel_17=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_18=newang = atan2(newx,newy); +per_pixel_19=newzoom = pow(1.04 + 0.05*sin(0.5*(q4+q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_20=dx = dx + (newx)*newzoom - newx; +per_pixel_21=dy = dy + (newy)*newzoom - newy; diff --git a/presets/presets_bltc201/Rovastar - VooV's Organic Light.milk b/presets/presets_bltc201/Rovastar - VooV's Organic Light.milk new file mode 100755 index 0000000000..aa6bd1e86f --- /dev/null +++ b/presets/presets_bltc201/Rovastar - VooV's Organic Light.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.053731 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.903947 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.072135 +sy=1.232392 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400007 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5+0.5*sin(1.123*time); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.576); +per_frame_3=wave_b = 0.5+0.5*cos(time*1.465); +per_frame_4=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_5=oldq8 = q8; +per_frame_6=ib_r = 0.5+0.5*sin(1.123*q8); +per_frame_7=ib_g = 0.5+0.5*sin(q8*1.576); +per_frame_8=ib_b = 0.5+0.5*cos(q8*1.465); +per_frame_9=q7 = 0.0001*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=ob_size = 0.95; +per_frame_11=monitor = q8; +per_pixel_1=rot=0.1*pow(-ang,3)-1.18*sin(ang); +per_pixel_2=zoom=2*sin(-rad)+1.3+ sin(rad); +per_pixel_3=dx = dx + 0.09*sin(q8*0.785); +per_pixel_4=dy = dy + 0.09*sin(q8*0.675); +per_pixel_5=zoom = zoom +q7; diff --git a/presets/presets_bltc201/Rovastar - Xtal.milk b/presets/presets_bltc201/Rovastar - Xtal.milk new file mode 100755 index 0000000000..aef5fbcce1 --- /dev/null +++ b/presets/presets_bltc201/Rovastar - Xtal.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.968000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.046000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5 + sin(time/3)/2; +per_frame_2=wave_b = 0.5+ 0.5*sin(time*47); +per_frame_3=wave_g = 0.65 + sin(time*0.23)/10; +per_frame_4=bass_effect = max(0,max(bass_att,bass)-1.3); +per_frame_5=treb_effect = max(0,max(treb_att,treb)-1.3); +per_frame_6=ob_r = 1-wave_r; +per_frame_7=ob_g = 1-wave_g; +per_frame_8=ob_b = 1-wave_b; +per_frame_9=ib_r = 0.75 + 0.25*sin(time*0.4); +per_frame_10=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_11=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_12=sx =sx + 0.05*bass + 0.5*bass_effect; +per_frame_13=sy = sy + 0.05*bass + 0.5*treb_effect; +per_pixel_1=myrot = log(sqrt(2)-rad)/3- 0.01*cos(time+rad*0.123) - 0.018*sin(time-(1-rad)) -0.08; +per_pixel_2=zoom = if(above(rad,0.4),myrot,0.5+1.1*rad); diff --git a/presets/presets_bltc201/Rovastar - eclectic interface (despair mix).milk b/presets/presets_bltc201/Rovastar - eclectic interface (despair mix).milk new file mode 100755 index 0000000000..1bc3d8aecc --- /dev/null +++ b/presets/presets_bltc201/Rovastar - eclectic interface (despair mix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.9 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.903511 +fWaveScale=0.01 +fWaveSmoothing=0 +fWaveParam=-0.56 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.070549 +rot=0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.198054 +sx=1.220188 +sy=1.22019 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_l=0.01 +mv_r=0 +mv_g=1 +mv_b=1 +mv_a=0.72 +per_frame_1=wave_r = sin(1.24*time)/2+0.5; +per_frame_2=wave_g = 0.5*cos(10*bass)+0.5; +per_frame_3=wave_b = cos(10*treb_att)/2+0.5; +per_frame_4=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_5=mv_x = 64; +per_frame_6=mv_y =2; +per_frame_7=mv_l = 0.05 + 0.3*bass_effect; +per_frame_8=mv_r = mv_r +0.31+ 0.3*sin(0.67*time); +per_frame_9=mv_g = mv_g + 0.41+0.4*sin(time*1.34); +per_frame_10=wave_mystery = if(above(bass_effect,0.15),wave_mystery,2); +per_pixel_1=rot=pow(-ang,3)/10-1.19*sin(ang); +per_pixel_2=zoom=sin(pow(-rad,3))+1.4+0.0*sin(time); +per_pixel_3=dx =dx+ 0.0145*sin(0.1*time)-0.01*cos(0.5*time*rad); +per_pixel_4=dy =dy -0.15*sin(time*0.1568)+0.1*cos(time*0.05); diff --git a/presets/Rozzer & Neuro - Starover (Semicolon Mix).milk b/presets/presets_bltc201/Rozzer & Neuro - Starover (Semicolon Mix).milk similarity index 100% rename from presets/Rozzer & Neuro - Starover (Semicolon Mix).milk rename to presets/presets_bltc201/Rozzer & Neuro - Starover (Semicolon Mix).milk diff --git a/presets/presets_bltc201/Rozzor & Aderrasi - Canon.milk b/presets/presets_bltc201/Rozzor & Aderrasi - Canon.milk new file mode 100755 index 0000000000..59a2035ff6 --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Aderrasi - Canon.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.463937 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_mystery = wave_mystery + 0.25*tan(3*bass); +per_frame_2=q1 = wave_mystery; +per_frame_3=wave_b = cos(time) + abs(cos(time)); +per_frame_4=wave_g = abs(sin(time)) ; +per_frame_5=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_6=ob_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_7=ob_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_8=ob_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_9=ib_g = wave_g; +per_frame_10=ib_r = sin(time); +per_frame_11=kick = above(bass_att,kick)*2 + (1-above(bass_att,kick))*((kick-1.3)*0.96+1.3); +per_frame_12=dx_r = equal(kick,2)*0.018*sin(6*time) + (1-equal(kick,2))*dx_r; +per_frame_13=dy_r = equal(kick,2)*0.015*sin(7*time) + (1-equal(kick,2))*dy_r; +per_frame_14=dy = dy + 2*dy_r * 0.5*sin(0.8*time); +per_frame_15=dx = dx + 2*dx_r * 0.5*sin(time); +per_frame_16=warp = warp + if (below(kick,0), + 0.5*treb, 0); +per_frame_17=q2 = kick; +per_pixel_1=rot = rot + 0.3*(0.2*sin(1-rad)*5 - 0.2*sin(0.05*rad)*5) * q2; +per_pixel_2=cx = if(above(dy,-.5),1-rot * 2,rot*q2); +per_pixel_3= diff --git a/presets/Rozzor & Che - Inside The House Of Nil.milk b/presets/presets_bltc201/Rozzor & Che - Inside The House Of Nil.milk similarity index 100% rename from presets/Rozzor & Che - Inside The House Of Nil.milk rename to presets/presets_bltc201/Rozzor & Che - Inside The House Of Nil.milk diff --git a/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk b/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk new file mode 100755 index 0000000000..eea601c4b9 --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.674911 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.707201 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_1_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_1_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_1_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_1_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_1_per_frame6=ang = my_ang; +shape_1_per_frame7=//textured = max(int(q3)%2,int(bass+1)%2); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_6=mv_l = mv_l * warp; +per_frame_7=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_8=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_11=dy=if(below(dy,-1), -1, dy); +per_frame_12=dy=if(above(dy,1.0), 1.0, dy); +per_frame_13=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_14=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_15=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_16=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_17=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_18=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_19=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_20=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_21=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_22=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_23=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_24=slowtime = slowtime + beat*time; +per_frame_25=q2=sin(slowtime); +per_frame_26=ob_a = q2*.2; +per_frame_27=temp_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_28=temp_g = abs(sin(slowtime)) ; +per_frame_29=temp_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_30=ob_r = if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_31=ob_g = if(above(temp_g,.5),.5,if(above(temp_g,0), abs(temp_g),0)); +per_frame_32=ob_b = if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_33=ib_r = 1- if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_34=ib_g = 1- if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_35=ib_b = 1- if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_36=wave_b = temp_b; +per_frame_37=wave_g = 1-temp_g; +per_frame_38=wave_r = 1-equal(ob_b,1)*temp_r; +per_frame_39=beatcount = beatcount + beat; +per_frame_40=q3 = beatcount; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive.milk b/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive.milk new file mode 100755 index 0000000000..78fbedfaa9 --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive.milk @@ -0,0 +1,258 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_6=mv_l = mv_l * warp; +per_frame_7=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_8=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_11=dy=if(below(dy,-1), -1, dy); +per_frame_12=dy=if(above(dy,1.0), 1.0, dy); +per_frame_13=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_14=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_15=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_16=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_17=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_18=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_19=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_20=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_21=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_22=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_23=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_24=slowtime = slowtime + beat*time; +per_frame_25=q2=sin(slowtime); +per_frame_26=ob_a = q2*.2; +per_frame_27=temp_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_28=temp_g = abs(sin(slowtime)) ; +per_frame_29=temp_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_30=ob_r = if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_31=ob_g = if(above(temp_g,.5),.5,if(above(temp_g,0), abs(temp_g),0)); +per_frame_32=ob_b = if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_33=ib_r = 1- if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_34=ib_g = 1- if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_35=ib_b = 1- if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_36=wave_b = temp_b; +per_frame_37=wave_g = 1-temp_g; +per_frame_38=wave_r = 1-equal(ob_b,1)*temp_r; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk b/presets/presets_bltc201/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk new file mode 100755 index 0000000000..e6ac1d164a --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.089900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=11 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.856990 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.060000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang - ((treb * 0.03) + 0.03); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.700000 +shapecode_1_ang=1.228318 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.149766 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r2 = q1; +shape_1_per_frame2=g2 = q2; +shape_1_per_frame3=b2 = q3; +shape_1_per_frame4=x = .2+sin(q3); +shape_1_per_frame5=y = q1; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_frame_35=q1 = sin(time-slowtime); +per_frame_36=q3 = vol_mean; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_bltc201/Rozzor & Illusion - Key 21.milk b/presets/presets_bltc201/Rozzor & Illusion - Key 21.milk new file mode 100755 index 0000000000..66da97a45e --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Illusion - Key 21.milk @@ -0,0 +1,88 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.006489 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.003090 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.550000 +fModWaveAlphaEnd=1.150000 +fWarpAnimSpeed=1.530000 +fWarpScale=100.000000 +fZoomExponent=1.208145 +fShader=1.000000 +zoom=0.020642 +rot=0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.020100 +wave_r=0.728541 +wave_g=0.964259 +wave_b=0.600062 +wave_x=0.851200 +wave_y=0.059226 +ob_size=0.000000 +ob_r=0.231011 +ob_g=0.851259 +ob_b=0.630836 +ob_a=0.058645 +ib_size=0.050000 +ib_r=0.623607 +ib_g=0.607982 +ib_b=0.494637 +ib_a=0.252824 +nMotionVectorsX=12.799900 +nMotionVectorsY=14.400000 +mv_dx=-0.284240 +mv_dy=0.254417 +mv_l=5.000000 +mv_r=0.047684 +mv_g=0.656490 +mv_b=0.824396 +mv_a=1.000000 +per_frame_1=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_2=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_3=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_4=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_5=dx = dx + dx_residual; +per_frame_6=dy = dy + dy_residual; +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_8=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_9=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_10=q1=dx_residual; +per_frame_11=q2=dy_residual; +per_frame_12=ib_size = 0.065 + (0.014 * bass); +per_frame_13=wave_b = cos(time) + abs(cos(time)); +per_frame_14=wave_g = abs(sin(time)) ; +per_frame_15=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_16=ib_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_17=ib_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_18=ib_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_19=ob_r = 1 - if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_20=ob_g = 1 - if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_21=ob_b = 1 - if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_22=mv_r = cos(time); +per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; +per_pixel_2=dy = 50*q1*rad*rad; +per_pixel_3= diff --git a/presets/presets_bltc201/Rozzor & Krash - Throwing The Book.milk b/presets/presets_bltc201/Rozzor & Krash - Throwing The Book.milk new file mode 100755 index 0000000000..a10c47925d --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Krash - Throwing The Book.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=0.997000 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.003100 +fWaveScale=1.004873 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=1.010000 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002083 +fZoomExponent=0.627608 +fShader=1.000000 +zoom=0.994800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.010000 +dy=0.010000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.029900 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=4.480000 +nMotionVectorsY=3.720000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.800000 +per_frame_1=// Unchained, Zylot, and Rovastar also have code in here +per_frame_2=ying = if(below(ying,1),1,ying); +per_frame_3=ying = ying +equal((10*abs(sin(time+5000)))%3,1); +per_frame_4=yin = ying%2; +per_frame_5=volume = 0.3*(bass+mid+att); +per_frame_6=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_7=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = max(bass_att,peakbass_att); +per_frame_10=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_13=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_14=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_15=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_16=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_17=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_18=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_19=xpos = xpos + 0.001*xspeed; +per_frame_20=wave_x = 1.5*xpos + 0.5; +per_frame_21=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_22=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_23=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_24=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_25=ypos = ypos + 0.001*yspeed; +per_frame_26=mode = if(beat,rand(2),mode); +per_frame_27=q1 = (25+15*sin(time*1.56) + 10*sin(time*0.643))*0.08; +per_frame_28=q2 = 1 - mode*2; +per_frame_29=red=if(below(frame%6,3),bass*0.5,0); +per_frame_30=blue=if(above(frame%6,2),bass*0.5,0); +per_frame_31=green=0.9+sin(time)*0.1; +per_frame_32=q3 = 3 + sin(time*0.496) + sin(time*0.591); +per_frame_33=mode2 = frame%2; +per_frame_34=wave_r = if(mode2,red,green); +per_frame_35=wave_g = if(mode2,green,0.5*blue); +per_frame_36=wave_b = if(mode2,blue,red); +per_frame_37=wave_mode = if(mode2,6,0); +per_frame_38=wave_x = if(mode2,0,0.5 + xpos + 0.1*sin(time)); +per_frame_39=wave_y = if(mode2,0.5,0.5+ ypos + 0.1*cos(time)); +per_frame_40=q4 = 0.5 + xpos + 0.18*sin(time); +per_frame_41=q5 = 0.5 - ypos - 0.18*cos(time); +per_frame_42=wave_mystery = if(mode2,0,-0.4); +per_frame_43=wave_r=abs(wave_r-my_rand); +per_frame_44=wave_b=abs(wave_b-my_rand); +per_frame_45=wave_g=abs(wave_g-my_rand); +per_frame_46=mv_y = if(yin,9,sin(time)*ying); +per_frame_47=yang = bnot(yin); +per_pixel_1=dx = dx*pow(-1,0&(13+q1 - 2*(q2*y)))*min(0.5*bass,1.2); +per_pixel_2=dy = dy*pow(-1,0&(13+q1 - 5*(x*q3)))*min(0.5*bass,1.2)-0.01; +per_pixel_3=newx = x - q4; +per_pixel_4=newy = y - q5; +per_pixel_5=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,1); +per_pixel_6=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (min(5*newrad,1)*dx + max(1 - newrad*5,0)*((newx)*newzoom - newx*bass)); +per_pixel_8=dy = (min(5*newrad,1)*dy + max(1 - newrad*5,0)*((newy)*newzoom - newy*treb)); +per_pixel_9=sy=sy+above(x,.5)*sin(rad*q5*1.68*mid)*.8; +per_pixel_10=zoom=zoom-.04*sin((x-.5)*8+q4)*sin(y*31.4+q3*sin(bass+ang*treb+time)); +per_pixel_11=rot =2* q4*(arc); +per_frame_init_1=my_rand=abs(sin(rand(500))); diff --git a/presets_milkdrop/Rozzer & Neuro - Starover (Semicolon Mix).milk b/presets/presets_bltc201/Rozzor & Neuro - Starover (Semicolon Mix).milk similarity index 100% rename from presets_milkdrop/Rozzer & Neuro - Starover (Semicolon Mix).milk rename to presets/presets_bltc201/Rozzor & Neuro - Starover (Semicolon Mix).milk diff --git a/presets/presets_bltc201/Rozzor & Rovastar - Shame Turns inTo Change.milk b/presets/presets_bltc201/Rozzor & Rovastar - Shame Turns inTo Change.milk new file mode 100755 index 0000000000..a239c5636c --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Rovastar - Shame Turns inTo Change.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.902000 +fVideoEchoZoom=0.913970 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.199861 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999995 +fShader=1.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999997 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.260000 +ib_size=0.500000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_2=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_3=bass_on = above(bass_thresh,1.8); +per_frame_4=treb_on = above(treb_thresh,1.9); +per_frame_5=swapcolour = bass_on - treb_on; +per_frame_6=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),1,0)); +per_frame_7=green_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.5,0.25)); +per_frame_8=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,1)); +per_frame_9=red = red + (red_aim - red)*if(equal(swapcolour,1),0.65,0.45); +per_frame_10=green = green + (green_aim - green)*0.5; +per_frame_11=blue = blue + (blue_aim - blue)*if(equal(swapcolour,1),0.45,0.65); +per_frame_12=wave_r = red + 0.2*GREEN; +per_frame_13=wave_g = 0.15*green; +per_frame_14=wave_b = green+BLUE; +per_frame_15=slowtime = slowtime + bnot(time*100%41)+.001; +per_frame_16=rot = .1*sin(slowtime); +per_frame_17=ying = if(below(ying,1),1,ying); +per_frame_18=any_on =bnot((bass_on+mid_on+treb_on)%3); +per_frame_19=ying = if (any_on,ying + bnot(time*10%3),ying); +per_frame_20=yin = ying%2; +per_frame_21=ob_r = (-1 * cos(ying)) + abs(-1 * cos(ying)) ; +per_frame_22=ob_b = cos(ying) + abs(cos(ying)); +per_frame_23=ob_g = abs(sin(ying)) ; +per_frame_24=mv_r = 0.7 - 0.2*sin(time*0.683); +per_frame_25=mv_b = 0.9 + 0.1*sin(time*0.832); +per_frame_26=mv_g = 0.2 + 0.17*sin(time*1.03); +per_frame_27=mv_r =0.7+0.148*(ib_r+ib_b); +per_frame_28=mv_b =1-0.2*(ib_r+ib_b); +per_frame_29=mv_g =0.6+ 0.19*(ib_g+ib_r); +per_frame_30=q1 = 0.32+(bass + bass_att*2)/20; +per_frame_31= +per_frame_32=dx = if(yin,sin(slowtime),if(equal(yin,yang),0,dx)); +per_frame_33=dy = if(yin,.01*cos(slowtime),0); +per_frame_34=yang = bnot(yin); +per_frame_35=monitor = any_on; +per_pixel_1=dx =if(above(x,q1),sin(q1*1.1-x)/5, log10(1/x)/15); +per_pixel_2=//zoom = 0.1+ atan(atan(rad)*1.5*rad)+q1; +per_pixel_3=//zoomexp = (1-rad); +per_pixel_4=cx = cx - .75*sin(rad+q1); +per_pixel_5=//rot = rot + 0.1*sin(ang*8-(q1)); +per_pixel_6=//zoom = zoom + pow(abs(rot),.8); +per_pixel_7=//zoomexp = 8*zoom; +per_pixel_8=//sx = 0.1*rot+1; +per_pixel_9=//sy = rot/9 +1; diff --git a/presets/presets_bltc201/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk b/presets/presets_bltc201/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk new file mode 100755 index 0000000000..3307899d6b --- /dev/null +++ b/presets/presets_bltc201/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk @@ -0,0 +1,204 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=98.029610 +fWaveScale=0.935100 +fWaveSmoothing=0.306000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000001 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.090000 +wave_g=0.090000 +wave_b=0.090000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.020000 +ob_g=0.020000 +ob_b=0.020000 +ob_a=0.970000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.970000 +nMotionVectorsX=5.120042 +nMotionVectorsY=5.088000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.899999 +mv_r=0.800000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.250000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=ang = time*1.4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7)*.5; +shape_0_per_frame3=y = q1 + 0.02*sin(time*1.3) + 0.04*sin(time*0.2)*.5; +shape_0_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1)*.5; +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2)*.5; +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5)*.5; +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4)*.5; +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1)*.5; +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3)*.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r=sin(cos(slowtime*0.235)); +per_frame_6=ib_g=sin(cos(slowtime*0.335)); +per_frame_7=ib_b=sin(cos(slowtime*0.435)); +per_frame_8=redneg = if(below(ib_r,0),1,0); +per_frame_9=greenneg = if(below(ib_g,0),1,0); +per_frame_10=blueneg = if(below(ib_b,0),1,0); +per_frame_11=ib_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r)); +per_frame_12=ib_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g)); +per_frame_13=ib_b =1 - (if(blueneg,1 + ib_b, ib_b)); +per_frame_14=ff = slowtime/100; +per_frame_15=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_16=wave_g = cos(ff/mid)/2+0.5; +per_frame_17=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*slowtime) + 0.40*sin(0.579*slowtime) ); +per_frame_19=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_frame_20=ob_r=sin(beat*cos(slowtime*0.735)); +per_frame_21=ob_g=sin(bass*cos(slowtime*0.635)); +per_frame_22=ob_b=sin(bass*cos(slowtime*0.535)); +per_frame_23=redneg = if(below(ob_r,0),1,0); +per_frame_24=greenneg = if(below(ob_g,0),1,0); +per_frame_25=blueneg = if(below(ob_b,0),1,0); +per_frame_26=ob_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ob_r),ob_r)); +per_frame_27=ob_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ob_g),ob_g)); +per_frame_28=ob_b =1 - (if(blueneg,1 + ob_b, ob_b)); +per_frame_29=q1 = sin(slowtime); +per_pixel_1=q2=above(rad,.603); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); diff --git a/presets/presets_bltc201/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk b/presets/presets_bltc201/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk new file mode 100755 index 0000000000..f41f3d2eb8 --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk @@ -0,0 +1,141 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001830 +fShader=0.000000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=4.480000 +nMotionVectorsY=3.720000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40= +per_frame_41=beat = if(equal(bres,prev_bass),0,1); +per_frame_42=prev_bass = bres; +per_frame_43=ying = if(below(ying,1),1,ying); +per_frame_44=ying = if (beat,ying + bnot(time*10%3),ying); +per_frame_45=yin = ying%2; +per_frame_46=mytime = pulse*ying; +per_frame_47=ib_size = 0.02; +per_frame_48=ib_g = if(bnot(ying%11),ib_r,ib_b); +per_frame_49=//ib_g = if(bnot(ying%11),1,0); +per_frame_50=ib_r = if(bnot(ying%11),ying%3,ob_g); +per_frame_51=ib_b = if(bnot(ying%11),ying%4,1); +per_frame_52=mv_a = yin; +per_frame_53=mv_b = sin(mytime) + abs(sin(mytime)); +per_frame_54=mv_r = cos(mytime); +per_frame_55=mv_g = -.8*sign(sin(mytime))*abs(sin(mytime)); +per_frame_56=ob_b = cos(ying) + abs(cos(ying)); +per_frame_57=ob_g = abs(sin(ying)) ; +per_frame_58=ob_r = (-1 * cos(ying)) + abs(-1 * cos(ying)) + 0.2 * (cos(sin(ying))+(abs(cos(sin(ying)))+cos(sin(ying)))); +per_frame_59=q3 = if(beat,(10*abs(sin(mytime)))%3-1,0); +per_frame_60=ib_size=.025+.02*q2; +per_frame_61=ob_size=.03+.02*q3-.002*q7; +per_frame_62=wave_r=.5+.5*sin(q1*q7+mytime*2.183); +per_frame_63=wave_g=.5+.5*sin(q2*3+mytime*1.211); +per_frame_64=wave_b=.5+.5*sin(q3+mytime*1.541); +per_frame_65=dx = if(yin,dx -0.005*sin(mytime*0.23),if(equal(yin,yang),0,if(below(abs(dx),.05),dx-(q3*0.001),dx))); +per_frame_66=dy = if(yin,dy - 0.005*sin(mytime*0.2),if(equal(yin,yang),0,if(below(abs(dy),.05),dy-(q3*0.001),dy))); +per_frame_67=yang = bnot(yin); +per_frame_68=ob_a=.8+.2*q2; +per_frame_69=zoom=zoom+.04*q4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.3)*above(q2,0)+above(y-cos(ang),.7)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.3)*above(q3,0)+below(y,.7)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.7)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk b/presets/presets_bltc201/Rozzor & Unchained - Painful Plasma (Multi-Wave Mirrored Rage (Triangle Tweak)).milk similarity index 100% rename from presets/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk rename to presets/presets_bltc201/Rozzor & Unchained - Painful Plasma (Multi-Wave Mirrored Rage (Triangle Tweak)).milk diff --git a/presets/presets_bltc201/Rozzor & Unchained - Scientifically Shapely.milk b/presets/presets_bltc201/Rozzor & Unchained - Scientifically Shapely.milk new file mode 100755 index 0000000000..a8134347c9 --- /dev/null +++ b/presets/presets_bltc201/Rozzor & Unchained - Scientifically Shapely.milk @@ -0,0 +1,312 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.424194 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.809868 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+.3*q3; +shape_0_per_frame2=y=y+.3*q4; +shape_0_per_frame3=rad=.3+.3*q5; +shape_0_per_frame4=sides=3+(q8%3); +shape_0_per_frame5=textured=bnot(sides%2); +shape_0_per_frame6=r2=q1; +shape_0_per_frame7=g2=q2; +shape_0_per_frame8=b2=q3; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x=x+.3*q3; +shape_1_per_frame2=y=y+.3*q4; +shape_1_per_frame3=rad=.3+.3*q5; +shape_1_per_frame4=sides=3+(q8%3); +shape_1_per_frame5=textured=bnot(sides%2); +shape_1_per_frame6=r2=q1; +shape_1_per_frame7=g2=q2; +shape_1_per_frame8=b2=q3; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x=x+.3*q4; +shape_2_per_frame2=y=y+.3*q3; +shape_2_per_frame3=rad=.3+.3*q5; +shape_2_per_frame4=sides=3+(q8%3); +shape_2_per_frame5=textured=bnot(sides%2); +shape_2_per_frame6=r2=q1; +shape_2_per_frame7=g2=q2; +shape_2_per_frame8=b2=q3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x=x+.3*q3; +shape_3_per_frame2=y=y+.3*q4; +shape_3_per_frame3=rad=.3+.3*q5; +shape_3_per_frame4=sides=3+(q8%3); +shape_3_per_frame5=textured=bnot(sides%2); +shape_3_per_frame6=r2=q1; +shape_3_per_frame7=g2=q2; +shape_3_per_frame8=b2=q3; +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_27=q1=bres; +per_frame_28=q2=tres; +per_frame_29=q3=mres; +per_frame_30=q4=sin(pulse); +per_frame_31= +per_frame_32=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_33=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_34=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_35=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_36=q7=mod_state; +per_frame_37=q8=ccl; +per_frame_38=ib_size=.025+.02*q2; +per_frame_39=ob_size=.03+.02*q3-.002*q7; +per_frame_40=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_41=wave_x=wave_x+.15*sin(time*.811+q1)+.02*(frame%12+q7)*sign(q5); +per_frame_42=wave_y=wave_y+.15*sin(time*.788+q2)+.02*(frame%11+q7)*sign(q3); +per_frame_43= +per_frame_44=cy=.5+.5*q4+sin(time*.086); +per_frame_45= +per_frame_46=decay=.997+.0015*q3+.0015*q1; +per_frame_47= +per_frame_48=slowtime = slowtime + mpulse*time; +per_frame_49= +per_frame_50=temp_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_51=temp_g = abs(sin(slowtime)) ; +per_frame_52=temp_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_53=ob_r = if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_54=ob_g = if(above(temp_g,.5),.5,if(above(temp_g,0), abs(temp_g),0)); +per_frame_55=ob_b = if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_56=ib_r = 1- if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_57=ib_g = 1- if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_58=ib_b = 1- if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_59=wave_b = temp_b; +per_frame_60=wave_g = 1-temp_g; +per_frame_61=wave_r = 1-equal(ob_b,1)*temp_r; +per_frame_62=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.1*sin(rad*.0314*meshx*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.001*meshx*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.001*meshy*q3,.5); +per_pixel_10=sx=sx+.01*sin(time*2.13*meshx*x); +per_pixel_11=sy=sy+.01*sin(time*2.33*meshy*x); diff --git a/presets/presets_bltc201/Rozzor - Give Foo A Chance.milk b/presets/presets_bltc201/Rozzor - Give Foo A Chance.milk new file mode 100755 index 0000000000..90090edb8f --- /dev/null +++ b/presets/presets_bltc201/Rozzor - Give Foo A Chance.milk @@ -0,0 +1,84 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.523991 +fWaveSmoothing=0.900000 +fWaveParam=-0.286894 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.164000 +dy=-0.010000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=0.877893 +wave_g=0.624601 +wave_b=0.293840 +wave_x=0.745536 +wave_y=0.449713 +ob_size=0.008955 +ob_r=0.063751 +ob_g=0.375500 +ob_b=0.990729 +ob_a=0.181115 +ib_size=0.003418 +ib_r=0.364507 +ib_g=0.927272 +ib_b=0.910793 +ib_a=0.882286 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=-0.499811 +mv_dy=-0.874263 +mv_l=1.663280 +mv_r=0.990112 +mv_g=0.796980 +mv_b=0.499604 +mv_a=0.209543 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_5=q1 =sin(beat * (vol_now-vol_mean)); +per_frame_6=wave_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_7=wave_g = abs(sin(slowtime)) ; +per_frame_8=wave_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_9=ib_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_10=ib_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_11=ib_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_12=ob_r = 1 - if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_13=ob_g = 1 - if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_14=ob_b = 1 - if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_15=q2 = sin(slowtime); +per_frame_16=rot = if(above(rot,-1),rot-beat*.3*abs(q2),if(below(rot,-1),rot+beat*.3*abs(q2),rot)); +per_frame_17= +per_pixel_1=rot = int(acos(q2 * rot)); +per_pixel_2=foo = sigmoid(2*abs(x * q2) , y * ang); +per_pixel_3=cx=if(above(foo,.8),sin(-3*cos(rot + q1)),cx); +per_pixel_4= diff --git a/presets/Rozzor - Learning Curve (Invert tweak).milk b/presets/presets_bltc201/Rozzor - Learning Curve (Invert Tweak).milk similarity index 100% rename from presets/Rozzor - Learning Curve (Invert tweak).milk rename to presets/presets_bltc201/Rozzor - Learning Curve (Invert Tweak).milk diff --git a/presets/presets_bltc201/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk b/presets/presets_bltc201/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk new file mode 100644 index 0000000000..3db566153e --- /dev/null +++ b/presets/presets_bltc201/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk @@ -0,0 +1,288 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.104430 +fVideoEchoAlpha=0.850000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.796895 +fWarpScale=1.331000 +fZoomExponent=0.741798 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.094414 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491380 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.300000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.500000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad = rad*q6; +shape_0_per_frame2= +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.030001 +shapecode_1_y=0.160001 +shapecode_1_rad=0.049138 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tic = time - tir; +shape_1_per_frame2=tir = time; +shape_1_per_frame3= +shape_1_per_frame4=mix = (mix + q3*tic)*below(mix,10000); +shape_1_per_frame5=x = mix - int(mix); +shape_1_per_frame6=y = .0; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221600 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = rad*q6; +shape_2_per_frame2= +shapecode_3_enabled=0 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.030001 +shapecode_3_y=0.160001 +shapecode_3_rad=0.049138 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819541 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tic = time - tir; +shape_3_per_frame2=tir = time; +shape_3_per_frame3= +shape_3_per_frame4=mix = (mix + (q1+q2)*tic*.5)*below(mix,10000); +shape_3_per_frame5=y = mix - int(mix); +shape_3_per_frame6=x = 1; +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22= +per_frame_23=tm = if(above(vav,tm),tm + tic,tm - tic*.3); +per_frame_24=td = (td + tic*tm*4)*below(td,10000); +per_frame_25= +per_frame_26=q6 = .75 + sin(td)*.25; +per_frame_27=q7 = tm; +per_frame_28= +per_pixel_1=rd=sqrt( sqr((x-.5)*(1.5 + sin(time*.11)*.2)) + sqr((y-.5)*(3.5 + sin(time*.15)*.2))); +per_pixel_2= +per_pixel_3=sz = .01*q7; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)/2.5 + sz - q6*sz; +per_pixel_6= +per_pixel_7=warp = 2*q4 + max(1-rad*2,0)*8*3*q4; diff --git a/presets/presets_bltc201/Shreyas - Carnival.milk b/presets/presets_bltc201/Shreyas - Carnival.milk new file mode 100755 index 0000000000..8a1db4cf13 --- /dev/null +++ b/presets/presets_bltc201/Shreyas - Carnival.milk @@ -0,0 +1,332 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=302 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_0_per_frame3=ry=atan2(q2,q4); +wave_0_per_frame4=rz=0; +wave_0_per_frame5= +wave_0_per_frame6=t1=sin(rx);t2=cos(rx); +wave_0_per_frame7=t3=sin(ry);t4=cos(ry); +wave_0_per_frame8=t5=sin(rz);t6=cos(rz); +wave_0_per_point1=sample=sample*q1*.5;value1=(value1+1)*.3; +wave_0_per_point2=x1=sin(sample)*sin(sample*40)*value1; +wave_0_per_point3=y1=cos(sample)*value1; +wave_0_per_point4=z1=sin(sample)*cos(sample*40)*value1; +wave_0_per_point5=x1=x1+q2; +wave_0_per_point6=y1=y1+q3; +wave_0_per_point7=z1=z1+q4; +wave_0_per_point8=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_0_per_point9=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_0_per_point10=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_0_per_point11=z3=if(above(z3,.1),.5/z3,0); +wave_0_per_point12=x=if(z3,x3*z3,x)+.5; +wave_0_per_point13=y=if(z3,-y3*z3,y)+.5; +wave_0_per_point14=hu=sample+sin(time); +wave_0_per_point15=r=sin(hu)*.5+.5; +wave_0_per_point16=g=sin(hu+q1*.33)*.5+.5; +wave_0_per_point17=b=sin(hu+q1*.66)*.5+.5; +wave_0_per_point18=a=z3*.8; +wavecode_1_enabled=1 +wavecode_1_samples=302 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1= +wave_1_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_1_per_frame3=ry=atan2(q2,q4); +wave_1_per_frame4=rz=0; +wave_1_per_frame5= +wave_1_per_frame6=t1=sin(rx);t2=cos(rx); +wave_1_per_frame7=t3=sin(ry);t4=cos(ry); +wave_1_per_frame8=t5=sin(rz);t6=cos(rz); +wave_1_per_frame9= +wave_1_per_point1=cp=bnot(cp); +wave_1_per_point2=r=sample*q1*10; +wave_1_per_point3=i1=(sample*6)%2; +wave_1_per_point4=rt=if(cp,1,.5); +wave_1_per_point5=sample=sample*q1*.5; +wave_1_per_point6= +wave_1_per_point7=x1=sin(r)*rt; +wave_1_per_point8=z1=cos(r)*rt; +wave_1_per_point9=y1=-sin(i1)+.5; +wave_1_per_point10=x1=x1+q2; +wave_1_per_point11=y1=y1+q3; +wave_1_per_point12=z1=z1+q4; +wave_1_per_point13=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_1_per_point14=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_1_per_point15=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_1_per_point16=z3=if(above(z3,.1),.5/z3,0); +wave_1_per_point17=x=if(z3,x3*z3,x)+.5; +wave_1_per_point18=y=if(z3,-y3*z3,y)+.5; +wave_1_per_point19=hu=sample+sin(time/q1)*q1; +wave_1_per_point20=r=sin(hu)*.5+.5; +wave_1_per_point21=g=sin(hu+q1*.33)*.5+.5; +wave_1_per_point22=b=sin(hu+q1*.66)*.5+.5; +wave_1_per_point23=a=z3*.8; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1= +wave_2_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_2_per_frame3=ry=atan2(q2,q4); +wave_2_per_frame4=rz=0; +wave_2_per_frame5= +wave_2_per_frame6=t1=sin(rx);t2=cos(rx); +wave_2_per_frame7=t3=sin(ry);t4=cos(ry); +wave_2_per_frame8=t5=sin(rz);t6=cos(rz); +wave_2_per_point1=sample=sample*q1*134; +wave_2_per_point2=x1=sin(sample*543)*2+q2; +wave_2_per_point3=y1=cos(sample*4232)*2+q3; +wave_2_per_point4=z1=sin(sample*90)*2+q4; +wave_2_per_point5= +wave_2_per_point6=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_2_per_point7=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_2_per_point8=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_2_per_point9=z3=if(above(z3,.1),.5/z3,0); +wave_2_per_point10=x=if(z3,x3*z3,x)+.5; +wave_2_per_point11=y=if(z3,-y3*z3,y)+.5; +wave_2_per_point12=a=z3*.8; +wavecode_3_enabled=1 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_3_per_frame3=ry=atan2(q2,q4); +wave_3_per_frame4=rz=0; +wave_3_per_frame5=ry1=ry1+bass_att*.2; +wave_3_per_frame6=t1=sin(rx);t2=cos(rx); +wave_3_per_frame7=t3=sin(ry);t4=cos(ry); +wave_3_per_frame8=t5=sin(rz);t6=cos(rz); +wave_3_per_frame9=t7=sin(ry1);t8=cos(ry1); +wave_3_per_frame10= +wave_3_per_point1=cp=bnot(cp); +wave_3_per_point2=r=sample*q1*10; +wave_3_per_point3=i1=(sample*6)%2; +wave_3_per_point4=rt=if(cp,.7,.2); +wave_3_per_point5=sample=sample*q1*.5; +wave_3_per_point6= +wave_3_per_point7=x1=sin(r)*rt; +wave_3_per_point8=z1=cos(r)*rt; +wave_3_per_point9=y1=-.5; +wave_3_per_point10=x2=x1*t8-z1*t7;z2=x1*t7+z1*t8; +wave_3_per_point11=x1=x2+q2; +wave_3_per_point12=y1=y1+q3; +wave_3_per_point13=z1=z2+q4; +wave_3_per_point14=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_3_per_point15=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_3_per_point16=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_3_per_point17=z3=if(above(z3,.1),.5/z3,0); +wave_3_per_point18=x=if(z3,x3*z3,x)+.5; +wave_3_per_point19=y=if(z3,-y3*z3,y)+.5; +wave_3_per_point20=hu=sample+cos(time/q1)*q1; +wave_3_per_point21=r=sin(hu)*.5+.5; +wave_3_per_point22=g=sin(hu+q1*.33)*.5+.5; +wave_3_per_point23=b=sin(hu+q1*.66)*.5+.5; +wave_3_per_point24=a=z3*.8; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q1=acos(-1)*2; +per_frame_1=decay=.67; +per_frame_2=time=time*.1; +per_frame_3=ti=if(above(bass,1.3),.3,ti*.9); +per_frame_4=t1=t1+.01+ti*.1; +per_frame_5=q2=sin(time)*cos(t1); +per_frame_6=q3=sin(t1)*cos(t)+1; +per_frame_7=q4=cos(time+1)*sin(time-6); +per_frame_8=monitor=ti; +per_pixel_1=zoom=zoom+cos(zoom)*.1; +per_pixel_2=rot=rot+sin(zoom+time)*.1; +per_pixel_3=sx=sx+treb*.01; +per_pixel_4=sy=sy+mid*.01; diff --git a/presets/presets_bltc201/Studio Music and Unchained - Rapid Alteration.milk b/presets/presets_bltc201/Studio Music and Unchained - Rapid Alteration.milk new file mode 100755 index 0000000000..f41fef6b3c --- /dev/null +++ b/presets/presets_bltc201/Studio Music and Unchained - Rapid Alteration.milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.983 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.74 +fWaveScale=0.372036 +fWaveSmoothing=0.387 +fWaveParam=-0.36 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1.334503 +fWarpScale=1.327831 +fZoomExponent=1.026514 +fShader=1 +zoom=1.374512 +rot=0.02 +cx=0.17 +cy=0.830001 +dx=0 +dy=0 +warp=1.779457 +sx=0.990099 +sy=1 +wave_r=0.27 +wave_g=0.27 +wave_b=0.27 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.36 +ob_g=0.36 +ob_b=0.36 +ob_a=0.58 +ib_size=0.01 +ib_r=0.45 +ib_g=0.450001 +ib_b=0.4499 +ib_a=0.53 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_frame_39=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_40=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_41=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_42=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_43=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_bltc201/TEcHNO & SandStorm - Psychodelic Highway.milk b/presets/presets_bltc201/TEcHNO & SandStorm - Psychodelic Highway.milk new file mode 100755 index 0000000000..551f53ddbe --- /dev/null +++ b/presets/presets_bltc201/TEcHNO & SandStorm - Psychodelic Highway.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.985 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0031 +fWaveScale=1.004873 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=1 +fModWaveAlphaEnd=1.01 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002076 +fZoomExponent=1.00183 +fShader=1 +zoom=1.077494 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.03 +ib_r=0.38 +ib_g=0.27 +ib_b=0.03 +ib_a=0.3 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.52 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0.25 +per_frame_1=wave_mystery=abs(sin(time*0.51))*-1; +per_frame_2=cx=cx+(sin(time)*if(above(sin(time),0),(-1+bass),1.3))*0.5; +per_frame_3=cy=cy+(cos(time)*if(below(sin(time),0),(-1+bass),1.3))*0.6; +per_frame_4=mv_x=mv_x+sin(time/1.8)*3; +per_frame_5=mv_y=mv_x-sin(time/2)*3.5; +per_frame_6=wave_r=bass; +per_frame_7=wave_g=wave_g+sin(time*0.74)*0.3; +per_frame_8=wave_b=wave_b+sin(time*0.83)*0.2; +per_frame_9=mv_g=mv_g*abs(sin(time)); +per_frame_10=mv_r=bass; +per_frame_11=mv_b=treb; +per_frame_12=ib_size=ib_size+bass*0.15; +per_frame_13=rot=sin(time)*0.03; +per_frame_14=ib_r=abs(sin(time*1.5))*0.4; +per_frame_15=ib_g=abs(sin(time*1.53))*0.5 ; +per_frame_16=ib_b=abs(sin(time*1.51))*0.45 ; +per_pixel_1=zoom=zoom+rad*0.1; diff --git a/presets/presets_bltc201/Tag - Cradle of Life(remix of yin 315).milk b/presets/presets_bltc201/Tag - Cradle of Life(remix of yin 315).milk new file mode 100755 index 0000000000..d59d0ea759 --- /dev/null +++ b/presets/presets_bltc201/Tag - Cradle of Life(remix of yin 315).milk @@ -0,0 +1,463 @@ +[preset00] +fRating=3.000000 +fGammaAdj=0.6 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.00000 +fWaveSmoothing=0.900000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.904830 +fShader=4.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=2.000000 +nMotionVectorsY=1.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.400000 +wavecode_0_g=0.400000 +wavecode_0_b=0.650000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=32; // double num of rays +wave_0_per_frame2=t2=.02*q4; // size; +wave_0_per_frame3= +wave_0_per_frame4= +wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_0_per_frame6=t8=0; +wave_0_per_frame7= +wave_0_per_frame8= +wave_0_per_frame9=t3=-1+q7*.3333+.1667; +wave_0_per_frame10=t4=-1+q8*.3333+.1667; +wave_0_per_frame11= +wave_0_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_0_per_point1=sample=.5*(0+sample); +wave_0_per_point2= +wave_0_per_point3=ns=equal(t8%t1,0); +wave_0_per_point4= +wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_0_per_point8= +wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_0_per_point12= +wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_0_per_point16=central=equal(t8%2,0); +wave_0_per_point17=angle=6.2831*(t8-1)/t1; +wave_0_per_point18= +wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_0_per_point21=az=cenz; +wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_0_per_point23= +wave_0_per_point24=invz=1/(az+100); +wave_0_per_point25=x=.5+5*ax*invz; +wave_0_per_point26=y=.5+5*ay*invz; +wave_0_per_point27= +wave_0_per_point28=t8=(t8+1)%t1; +wavecode_1_enabled=1 +wavecode_1_samples=128 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=10.0 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=0.400000 +wavecode_1_b=0.650000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=32; // double num of rays +wave_1_per_frame2=t2=.02*q4; // size; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_1_per_frame6=t8=0; +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=t3=-1+q7*.3333+.1667; +wave_1_per_frame10=t4=-1+q8*.3333+.1667; +wave_1_per_frame11= +wave_1_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_1_per_point1=sample=.5*(0+sample); +wave_1_per_point2= +wave_1_per_point3=ns=equal(t8%t1,0); +wave_1_per_point4= +wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_1_per_point8= +wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_1_per_point12= +wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_1_per_point16=central=equal(t8%2,0); +wave_1_per_point17=angle=99.2831*(t8-1)/t1; +wave_1_per_point18= +wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_1_per_point21=az=cenz; +wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_1_per_point23= +wave_1_per_point24=invz=1/(az+100); +wave_1_per_point25=x=.5+5*ax*invz; +wave_1_per_point26=y=.5+5*ay*invz; +wave_1_per_point27= +wave_1_per_point28=t8=(t8+1)%t1; +wavecode_2_enabled=1 +wavecode_2_samples=128 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8= +wave_2_per_frame9=t3=-1+q7*.3333+.1667; +wave_2_per_frame10=t4=-1+q8*.3333+.1667; +wave_2_per_frame11= +wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_2_per_point1=sample=.5*(1+sample); +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=t3=-1+q7*.3333+.1667; +wave_3_per_frame10=t4=-1+q8*.3333+.1667; +wave_3_per_frame11= +wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.122020 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); +shape_2_per_frame2=additive=below(frame%25,24); +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6= +shape_2_per_frame7=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame8=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame9=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=hue=.1*time; // change this +shape_2_per_frame13=h=6*(hue-int(hue)); +shape_2_per_frame14=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_2_per_frame15=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_2_per_frame16=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +shape_2_per_frame17=g=sw1*h+sw2+sw3+sw4*(4-h); +shape_2_per_frame18=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.209734 +shapecode_3_tex_zoom=0.670417 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,1); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=warp=bass*2; +per_frame_23=zoom=2.04; +per_frame_24= +per_frame_25=rnd=equal(frame%400,0); +per_frame_26=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_27=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_28=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_29=offx=0; +per_frame_30=offy=-3.1; +per_frame_31=offz=-300+160*pow(contVol,.25); +per_frame_32=sc=bass*2.0; +per_frame_33= +per_frame_34=q2=offy; // y-offset +per_frame_35=q3=offz; // z-offset +per_frame_36=q4=sc; // scale +per_frame_37= +per_frame_38=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_39=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; +per_frame_40= +per_frame_41=q5=0;q6=0; +per_frame_42= +per_frame_43= +per_frame_44=stime=if(equal(stime,0),time,stime ); +per_frame_45=mytime=time-stime; +per_frame_46=phase = .1*mytime - int(.1*mytime); +per_frame_47=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_48=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_49=q7=tilex; +per_frame_50= +per_frame_51=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; +per_frame_52=contVol=min(1,contVol); +per_frame_53=zoom=(bass*2.0)+.15*contVol; +per_frame_54= +per_frame_55=darken=above(frame%3,0); +per_frame_56= +per_frame_57=c1=above(contvol,.7)*min(contvol-.7,.3); +per_frame_58=dx=c1*.021*(-10+rand(20)); +per_frame_59=dy=c1*.051*(-10+rand(20)); +per_frame_60= +per_frame_61=solarize=0; +per_frame_62=darken=bass*10.0; +per_frame_63=brighten=1-darken; +per_frame_64=invert=0;//beat; +per_frame_65=gamma=gamma+.5*sqrt(1-(frame-lastbeat)/interval); +per_frame_66=monitor=gamma; +per_frame_67= +per_frame_68=q8=min((frame-lastbeat)/interval,1); +per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); +per_frame_70= +per_frame_71=sx=1-2*beat*above(contVol,.8); +per_frame_72=sy=1-2*beat*above(contVol,.8); +per_frame_73=invert=beat*above(contVol,.8); +per_pixel_1=rot = q1*(beat*rad-1); diff --git a/presets/presets_bltc201/Tokyo corridor (shifter tumbling cubes remix).milk b/presets/presets_bltc201/Tokyo corridor (shifter tumbling cubes remix).milk new file mode 100755 index 0000000000..67480b8e1b --- /dev/null +++ b/presets/presets_bltc201/Tokyo corridor (shifter tumbling cubes remix).milk @@ -0,0 +1,475 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.400001 +fDecay=0.650000 +fVideoEchoZoom=4.567740 +fVideoEchoAlpha=0.650000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.900000 +zoom=0.999512 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tin=vol; +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q8; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sin(time)*sz*below(ss,1) + sz*sin(time)*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*sin(time)*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*sin(time)*above(ss,1)*below(ss,2) + sz*cos(time)*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz +sin(time)*.3; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*q8*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz*cos(q8) + above(ss,4)*below(ss,5)*q8*cos(time)*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*cos(time)*(-.5+(ss-5))+q8*.5; +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*q8*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .4; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75+0.45; +wave_3_per_point62=y = oy*fov/oz + 0.40; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .4 + vol*.3; +per_frame_4=q8 = bass; +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tb = tb + tic*bass_att; +per_frame_9=q2 = tb*.9; +per_frame_10=tm = tm + tic*mid_att; +per_frame_11=q3 = tm*.9; +per_frame_12=tt = tt + tic*treb_att; +per_frame_13=q4 = tt*.9; +per_frame_14= +per_frame_15=q1 = min(q1,1); +per_frame_16=aq1 = .5; +per_frame_17=aq2 = 0; +per_frame_18=aq3 = 9.5; +per_frame_19=aq4 = 0; diff --git a/presets/presets_bltc201/Unchained & Rovastar - Luckless.milk b/presets/presets_bltc201/Unchained & Rovastar - Luckless.milk new file mode 100755 index 0000000000..7c1df10065 --- /dev/null +++ b/presets/presets_bltc201/Unchained & Rovastar - Luckless.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.9994 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.27 +fWaveParam=-0.38 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.619082 +rot=0.0019 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); +per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); +per_frame_30=ob_g=.6+.4*sin(time*.413+q4); +per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.1+.05*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.6+.4*q3; +per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=wave_mode=q7; +per_frame_51=zoom=zoom+.1*sin(time*.8); +per_pixel_1=rot = rot + if(below(sin(ang+sin(rad+.5*q4)*5), q6), -rot, 0.5*sin((rad+.5*q1)*4*q5)); +per_pixel_2=zoom=zoom+rot*q3; diff --git a/presets/presets_bltc201/Unchained & Rovastar - Rainbow Obscura.milk b/presets/presets_bltc201/Unchained & Rovastar - Rainbow Obscura.milk new file mode 100755 index 0000000000..4c83a318fc --- /dev/null +++ b/presets/presets_bltc201/Unchained & Rovastar - Rainbow Obscura.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.985 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.040271 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=-0.19 +cy=-0.1 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=wave_x = 0.01*rand(100); +per_frame_3=wave_r = 1 + sin(-wave_x*3.1415); +per_frame_4=wave_g = abs(sin(2*wave_x*3.1415)); +per_frame_5=wave_b = sin(wave_x*3.1415); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05*sin(rad*4*sin(time*.8))); +per_pixel_2=zoom=zoom+rot*sin(time*2); diff --git a/presets/presets_bltc201/Unchained & Rovastar - Waves Of Waves.milk b/presets/presets_bltc201/Unchained & Rovastar - Waves Of Waves.milk new file mode 100755 index 0000000000..88a6d6056a --- /dev/null +++ b/presets/presets_bltc201/Unchained & Rovastar - Waves Of Waves.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=3.000000.500000 +fGammaAdj=2.000000 +fDecay=0.996000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.741922 +fWaveScale=0.500000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.230000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time*2.116); +per_frame_5=wave_y = 0.5-cos(time*1.619); +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),5*dx,dx); +per_frame_13=wave_mode=frame%8; +per_frame_14=wave_mystery=sin(time*.875); +per_frame_15=ob_a=1*above(bass_att,2+1*sin(time*3.71)); +per_frame_16=ob_r=1*above(treb_att,2+1*sin(time*1.31)); +per_frame_17=ob_b=1*above(mid_att,2+1*sin(time*1.011)); +per_frame_18=ob_g=1*above(bass_att,1); +per_pixel_1=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); +per_pixel_2=zoom=zoom-rot*sin(rad*3.14*sin(.711*time)); +per_pixel_3=dx=sin(rad/10)*cos(.612*time); +per_pixel_4=dy=sin(rad/10)*cos(.87*time); diff --git a/presets/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk b/presets/presets_bltc201/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mix).milk similarity index 100% rename from presets/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk rename to presets/presets_bltc201/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mix).milk diff --git a/presets/presets_bltc201/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_bltc201/Unchained & Rovastar - Xen Traffic.milk new file mode 100755 index 0000000000..a1eb87a9e6 --- /dev/null +++ b/presets/presets_bltc201/Unchained & Rovastar - Xen Traffic.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.975 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=0.502368 +fWaveSmoothing=0.36 +fWaveParam=-0.28 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.942044 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.92 +ib_size=0.004 +ib_r=0.4 +ib_g=0.4 +ib_b=0 +ib_a=1 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=mv_r=mv_r+.5*bass_residual; +per_frame_27=mv_g=mv_g+.5*mid_residual; +per_frame_28=mv_b=mv_b+.5*treb_residual; +per_frame_29=mv_a=1.1-(ob_a+ib_a)*chaos*.5; +per_frame_30=mv_x=abs(beat*10)*entropy; +per_frame_31=mv_y=abs(pulse*10)*entropy; +per_frame_32=mv_l=entropy*(q4-q5); +per_frame_33=wave_r=0.8+0.2*bass_flop*mv_g; +per_frame_34=wave_g=0.3+0.3*mid_flop*mv_b; +per_frame_35=wave_b=0.4+0.3*0.1*treb_flop*mv_r; +per_frame_36=ob_r=0.1 + 0.1*sin(time*1.143)+0.2*mv_g; +per_frame_37=ob_g=0.3 + 0.3*sin(time*0.897)+0.3*mv_b; +per_frame_38=ob_b=0.2+0.5*mv_r; +per_frame_39=treb_effect = max(max(treb, treb_att)-1.2,0); +per_frame_40=mid_effect = max(max(mid,mid_att)-1.2,0); +per_frame_41=ib_r = 1 - ob_b; +per_frame_42=ib_g = 1- mv_g; +per_frame_43=ib_b = 0.5*mv_b + 0.5*ob_b; +per_frame_44=ib_a = if(above(treb_effect,0), if(above(mid_effect,0),1,0),0); +per_pixel_1=bass_effect = max(max(bass,bass_att)-1.18,0); +per_pixel_2=grid=rad*10%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + (sqrt(2)-rad)*10%(above(q1,q5)+above(q2,q4)+above(q3,q5))*q1; +per_pixel_3=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_4=zoom=zoom-bnot(grid)*atan2(x*q3*3.14,y*q5*3.14)*.14*(x*2-1)+0.12*bass_effect; +per_pixel_5=sx=sx+.2*q1*sin(x*1.6)*-grid; +per_pixel_6=sy=sy+.2*q2*sin(y*1.6)*(1-grid); diff --git a/presets/presets_bltc201/Unchained - All You Can Eat.milk b/presets/presets_bltc201/Unchained - All You Can Eat.milk new file mode 100755 index 0000000000..1a8dd114e1 --- /dev/null +++ b/presets/presets_bltc201/Unchained - All You Can Eat.milk @@ -0,0 +1,96 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.981 +fVideoEchoZoom=1.00644 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=1.136001 +fWaveSmoothing=0.54 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.008151 +fShader=0.2 +zoom=0.9998 +rot=0 +cx=0.47 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_11=q3=sin(pulse); +per_frame_12=q2=(pulse/entropy)*.5*chaos; +per_frame_13=q4=sin(q2); +per_frame_14=q5=entropy; +per_frame_15=q1=(1+1*above(q4,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(pulse,0)); +per_frame_16=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_17=wave_g=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.2*bnot(q1%5)-.2*bnot(q1%7); +per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,bass_changed*mid_changed); +per_frame_19=ob_r=ob_r+.2*q4+.3*bnot(q1%7)*q3; +per_frame_20=ob_b=ob_b-.1*bnot(q1%105)-.4*sin(q2*.8); +per_frame_21=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_22=ob_a=.07+.05*q3; +per_frame_23=ob_size=.01*entropy*bnot(q1%6); +per_frame_24=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_25=ib_b=ib_b-.1*bnot(q1%42)-.4*sin(q2*.7); +per_frame_26=ib_g=ib_g+.5*sin(pulse*.5*entropy); +per_frame_27=ib_a=.07+.05*q3*q4; +per_frame_28=ib_size=.005+.005*q3; +per_frame_29=zoom_fade=if(above(q3,0),if(above(q4,0),zoom_fade-.0013,zoom_fade+.002),1+.04*q4); +per_frame_30=zoom=zoom_fade; +per_pixel_1=g1=sin(q2*.04*q5); +per_pixel_2=g2=sin(q2*.05*q5); +per_pixel_3=g3=sin(q2*.06*q5); +per_pixel_4=x_shift=pow(x,2)+x*g1*2+sqr(g1); +per_pixel_5=y_shift=pow(y,2)+y*g2*2+sqr(g2); +per_pixel_6=r_shift=pow(rad,2)+rad*g3*2+sqr(g3); +per_pixel_7=zoom=zoom -sin(x_shift*bnot(q1%10)+y_shift*bnot(q1%14)+r_shift*bnot(q1%21))*q3*(.1+.1*bnot(q1%30)+.1*bnot(q1%7)); +per_pixel_8=dx=dx+bnot(q1%35)*(rad-.5*g3)*g2-cos(y*1.68)*.1*bnot(q1%21); +per_pixel_9=dy=dy-cos(x*1.68)*bnot(q1%10); +per_pixel_10=rot=if(above(sin(q2*4.3),0),.3*above(abs(zoom-1),.05),.3*g3); diff --git a/presets/presets_bltc201/Unchained - Beat Demo (Demonology Mix).milk b/presets/presets_bltc201/Unchained - Beat Demo (Demonology Mix).milk new file mode 100755 index 0000000000..a0bf9abce2 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beat Demo (Demonology Mix).milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818000 +fWaveScale=0.374038 +fWaveSmoothing=0.810000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.968827 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.5+.5*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=.5+.5*q1; +per_frame_28=wave_b=.5+.5*q2; +per_frame_29=wave_g=.5+.5*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); +per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); +per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_38=ob_size=.025+.025*sin(q3*3+q1); +per_frame_39=ib_size=.025+.025*sin(q1*3+q3); +per_frame_40=warp=0; +per_frame_41=wave_mystery=wave_mystery+.1*sin(time*2.18+q6); +per_frame_42=wave_x=wave_x+.2*sin(time*.811+q1)+.01*(frame%5)*sign(q3); +per_frame_43=wave_y=wave_y+.2*sin(time*2.3+q2)+.01*q7; +per_frame_44=decay=.996+.004*q3; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=zoom+.05*sin(rad*(q7*2+q5)+q1)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); diff --git a/presets/presets_bltc201/Unchained - Beat Demo 1-0.milk b/presets/presets_bltc201/Unchained - Beat Demo 1-0.milk new file mode 100644 index 0000000000..a8d9cf32b3 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beat Demo 1-0.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.981 +fVideoEchoZoom=1.00644 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.54 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.008151 +fShader=0.2 +zoom=0.9998 +rot=0 +cx=0.47 +cy=0.5 +dx=0.005 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets/presets_bltc201/Unchained - Beat Demo 2-1.milk b/presets/presets_bltc201/Unchained - Beat Demo 2-1.milk new file mode 100644 index 0000000000..899cd3310d --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beat Demo 2-1.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=cx=cx+.5*q1; +per_frame_42=cy=cy+.5*q2; +per_frame_43=warp=bnot(q7%2); +per_frame_44=echo_zoom=1+.5*q3; +per_frame_45=echo_orientation=q8%4; +per_frame_46=wave_mode=q8%7; +per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); +per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets/presets_bltc201/Unchained - Beat Demo 2-4.milk b/presets/presets_bltc201/Unchained - Beat Demo 2-4.milk new file mode 100644 index 0000000000..bd1f703b83 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beat Demo 2-4.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.994000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998217 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.007); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=bdecay=.99+q8*.0005; +per_pixel_1=c1=x*q1; +per_pixel_2=c2=y*q2; +per_pixel_3=c3=rad*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=radix=if(above(q4,0),min(radix*q1,radix*q2),max(radix*q1,radix*q3)); +per_pixel_7=rot=cos(radix*q7*1.386+rad*q8*above(q7,4))*(.75+.25*q4); +per_pixel_8=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.1*sin(3.14*radix),1+.1*sin(radix*q8*1.618))); +per_pixel_9=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_10=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_11=sx=sx-if(bnot(q7%2),if(bnot(checky),q3*.3,.3*q2*sin(radix)),.1*q4*above(q7,3)); +per_pixel_12=sy=sy-if(bnot(q7%2),if(bnot(checkx),q2*.3,.3*q3*sin(radix)),.1*q1*above(q7,3)); diff --git a/presets/presets_bltc201/Unchained - Beat Demo 2-5.milk b/presets/presets_bltc201/Unchained - Beat Demo 2-5.milk new file mode 100644 index 0000000000..7e728104ad --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beat Demo 2-5.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818000 +fWaveScale=0.653000 +fWaveSmoothing=0.810000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998217 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.5+.5*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=.5+.5*q1; +per_frame_28=wave_b=.5+.5*q2; +per_frame_29=wave_g=.5+.5*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); +per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); +per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_x=wave_x+.04*sin(time*2.8); +per_frame_43=wave_y=wave_y+.04*sin(time*2.3); +per_frame_44=wave_mode=q8%8; +per_pixel_1=c1=x*q1; +per_pixel_2=c2=y*q2; +per_pixel_3=c3=abs(x-y)*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=radix=if(above(q4,0),min(radix*q1,radix*q2),max(radix*q1,radix*q3)); +per_pixel_7=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_8=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_9=sx=sx-if(bnot(q7%2),if(bnot(checky),q3*.3,.3*q2*sin(radix)),.1*q4*below(q7,3)); +per_pixel_10=sy=sy-if(above(q7,3),if(bnot(checkx),q2*.3,.3*q3*sin(radix)),.1*q1*(q7%2)); +per_pixel_11=gridx=bnot((x*q8)%q7); +per_pixel_12=gridy=bnot((y*q8)%q7); +per_pixel_13=rot=gridy*.5*cos(radix*3.14*q5)+rot*gridx*.5*cos(radix*3.14*q6); +per_pixel_14=fleem=sin(.005*(q7-3)*bnot(bor(above(x,.8)*above(y,.8),below(x,.2)*below(y,.2)))*sin(radix)*q8); +per_pixel_15=dx=dx+fleem; +per_pixel_16=dy=dy+if(q8%2,fleem,-fleem); diff --git a/presets/presets_bltc201/Unchained - Beyond The Strife Nexus.milk b/presets/presets_bltc201/Unchained - Beyond The Strife Nexus.milk new file mode 100755 index 0000000000..1df1df9f6c --- /dev/null +++ b/presets/presets_bltc201/Unchained - Beyond The Strife Nexus.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999700 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573208 +fWaveScale=0.282091 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.998137 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=19.199999 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.995+.0025*q3+.0025*q1; +per_frame_55=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_56=mv_r=1-ob_g; +per_frame_57=mv_b=1-ob_r; +per_frame_58=mv_g=1-ob_b; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=(1+.01*sin(rad*q7+q5)*bnot(snee)*if(snur,-1,1))*(1+.03*q1*atan(ang*q4-rot*q2)); +per_pixel_6=sx=sx+.001*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.001*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_9=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_10=dx=checkx*sin(x*q3*6.29)*rot; +per_pixel_11=dy=checky*sin(y*q3*6.29)*rot; +per_pixel_12=rot=if(above(y,.5),rot*.01,rot*zoom*.005); +per_pixel_13=dx=dx*atan2(pow(ang*q4,1+q7),ang*sin(rad*3.14*q2)); +per_pixel_14=dy=dy*atan2(pow(ang*q5,1+(q8%6)),ang*sin(y*3.14*q1)); diff --git a/presets_milkdrop_104/Unchained - Cranked On Failure.milk b/presets/presets_bltc201/Unchained - Cranked On Failure.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Unchained - Cranked On Failure.milk rename to presets/presets_bltc201/Unchained - Cranked On Failure.milk diff --git a/presets/presets_bltc201/Unchained - Demonology.milk b/presets/presets_bltc201/Unchained - Demonology.milk new file mode 100755 index 0000000000..39f5e80b7a --- /dev/null +++ b/presets/presets_bltc201/Unchained - Demonology.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.282091 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001700 +fShader=0.000000 +zoom=0.988100 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51=wave_mode=q7; +per_frame_52=xcy=cy+.5*q4; +per_pixel_1=snee=bnot(above(x,.5)*above(q2,0)+above(y,.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=pow(sin(rad*6*sin(q8)+x*y*16*q1)*2,1+q8%3)*(1+q7); +per_pixel_4=rot=snee*bnot(below(y,.5)*below(q7,3))*if(bnot(grid%q8),1,.1*sin(rad*3.14*q3)); +per_pixel_5=zoom=zoom-.031*snur*sin(rad*q7*q5)+snee*bnot(snur)*sin(rad*6*q5)*.1; +per_pixel_6=sx=sx+.0361*bnot(snee)*cos(y*3.14*q4); +per_pixel_7=sy=sy+.00361*bnot(snur)*cos(x*3.14*q6); diff --git a/presets/presets_bltc201/Unchained - Free to Feel (Valium Remix).milk b/presets/presets_bltc201/Unchained - Free to Feel (Valium Remix).milk new file mode 100755 index 0000000000..196753ec2e --- /dev/null +++ b/presets/presets_bltc201/Unchained - Free to Feel (Valium Remix).milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.986 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=2.46855 +fWaveSmoothing=0.36 +fWaveParam=-0.18 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.999999 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.92 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=old_bass_flop=bass_flop; +per_frame_5=old_treb_flop=treb_flop; +per_frame_6=old_mid_flop=mid_flop; +per_frame_7=chaos=.9+.1*sin(beat); +per_frame_8=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_10=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_11=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_12=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_13=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_14=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_15=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_16=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_17=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_18=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_19=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_20=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_21=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_22=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_23=q1=mid_residual; +per_frame_24=q2=bass_residual; +per_frame_25=q3=treb_residual; +per_frame_26=q4=sin(pulse); +per_frame_27=q5=sin(beat); +per_frame_28=mv_r=mv_r+.5*bass_residual; +per_frame_29=mv_g=mv_g+.5*mid_residual; +per_frame_30=mv_b=mv_b+.5*treb_residual; +per_frame_31=mv_a=1-(ob_a+ib_a)*chaos*.5; +per_frame_32=mv_x=abs(beat*10)*entropy; +per_frame_33=mv_y=abs(pulse*10)*entropy; +per_frame_34=mv_l=entropy*(q4-q5); +per_frame_35=wave_r=bass_flop*mv_g; +per_frame_36=wave_g=mid_flop*mv_b; +per_frame_37=wave_b=treb_flop*mv_r; +per_frame_38=ob_r=wave_r; +per_frame_39=ob_g=wave_g; +per_frame_40=ob_b=wave_b; +per_pixel_1=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5))*rand(10); +per_pixel_2=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_3=zoom=zoom-bnot(grid)*sin(x*q3*3.14+y*q5*3.14)*.1; diff --git a/presets/presets_bltc201/Unchained - Fuzzy Sciences.milk b/presets/presets_bltc201/Unchained - Fuzzy Sciences.milk new file mode 100755 index 0000000000..30ac3af6de --- /dev/null +++ b/presets/presets_bltc201/Unchained - Fuzzy Sciences.milk @@ -0,0 +1,126 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999786 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.842588 +fWaveScale=0.445820 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.759877 +fShader=0.000000 +zoom=0.991498 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.700000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.800000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_34=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_35=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_36=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_37=q7=mod_state; +per_frame_38=q8=ccl; +per_frame_39=ob_r=.5+.5*cos(q1+q7); +per_frame_40=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_41=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_42=ib_size=.025+.02*q2; +per_frame_43=ob_size=.03+.02*q3-.002*q7; +per_frame_44=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_45=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_46=wave_b=.5+.5*cos(q3+time*1.541); +per_frame_47= +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.02*q4; +per_frame_51=decay=.997+.003*q3; +per_frame_52=wave_mode=q7%4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*20*q2)%q7)) +per_pixel_5=*cos(rad*q2+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4*.1; +per_pixel_6=zoom=zoom-.5*cos(ang*3*q6+q2)*sign(if(q8%4,bnot(snee),snee))*q5; +per_pixel_7=rot=if(rot,rot*sign(if(above(q3,0),snur,bnot(snur))),q6); +per_pixel_8=cx=if(below(x,.5+.5*q4)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5+.5*q5),.5+.2*q3,.5); +per_pixel_10=rot=rot*(1-.2*above(.5+q3+q5*2,0)-.2*grid*above(.5+q2+q6,0))*bnot(q8%q7); +per_pixel_11=zoom=if(above(.5+q1+q2+q4*2,0),zoom-.02*snur,zoom-.05*cos(rad*6*q2+q4*3+q5*x+q6*y)); diff --git a/presets/presets_bltc201/Unchained - Goofy Beat Detection.milk b/presets/presets_bltc201/Unchained - Goofy Beat Detection.milk new file mode 100755 index 0000000000..fae6fb4d85 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Goofy Beat Detection.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.992 +fVideoEchoZoom=0.9994 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0592 +fWaveScale=0.653093 +fWaveSmoothing=0.27 +fWaveParam=-0.38 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.008 +rot=0.0019 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); +per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); +per_frame_30=ob_g=.6+.4*sin(time*.413+q4); +per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.05+.03*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.6+.4*q3; +per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=wave_mode=q7; +per_frame_51=zoom=1+.7*sin(time*1.51); +per_pixel_1=rot=if(above(q4,0),rad*.2*q5,sin(rad*(q4+q3))); +per_pixel_2=zoom=if(above(q2,0),zoom+(1-zoom)*rot*cos(rad*3.14*q2),if(above(q3,0)*above(x,.5+.5*q5),zoom+(1-zoom)*sin(q1*rot*3.14),zoom+(1-zoom)*cos(rad*10*q6))); +per_pixel_3=dx=above(q1,0)*sin(rad*.5*q2); +per_pixel_4=dy=above(q3,0)*sin(rad*.5*q3); diff --git a/presets/presets_bltc201/Unchained - Hard Science.milk b/presets/presets_bltc201/Unchained - Hard Science.milk new file mode 100755 index 0000000000..21f9c44659 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Hard Science.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998169 +fShader=0.000000 +zoom=1.001500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.02*q1+.02*q2+.02*q3; +per_frame_51=sx=sx+q1*q5*.1; +per_frame_52=sy=sy+q2*q6*.1; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=sign(if(q7%2,above(x,.5+.5*q3),below(x,.5+.5*q1))+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.04*sin(rad*3.14*q2+q5)*sign(above(sin(ang*(q7+q3)),0))*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/Unchained - Housed In A Childish Mind.milk b/presets/presets_bltc201/Unchained - Housed In A Childish Mind.milk similarity index 100% rename from presets/Unchained - Housed In A Childish Mind.milk rename to presets/presets_bltc201/Unchained - Housed In A Childish Mind.milk diff --git a/presets/Unchained - In Memory Of Peg.milk b/presets/presets_bltc201/Unchained - In Memory Of Peg.milk similarity index 100% rename from presets/Unchained - In Memory Of Peg.milk rename to presets/presets_bltc201/Unchained - In Memory Of Peg.milk diff --git a/presets/presets_bltc201/Unchained - Jaded Emotion.milk b/presets/presets_bltc201/Unchained - Jaded Emotion.milk new file mode 100755 index 0000000000..889a773c88 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Jaded Emotion.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.99663 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005729 +fWaveScale=7.184967 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.25 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + bass*.5; +per_frame_3=wave_g = wave_g + treb*.5; +per_frame_4=wave_b = wave_b + mid*.5; +per_frame_5=ib_r = ib_r + .4*sin(time*.222); +per_frame_6=ib_g = ib_g + .4*sin(time*.333); +per_frame_7=ib_b = ib_b + .4*sin(time*.111); +per_frame_8=ib_a = ib_a + .05*sin(time*.555); +per_frame_9=ib_size = ib_size + .24*sin(time*.444); +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=cx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*cx_residual; +per_frame_12=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_13=cy_residual = equal(treb_thresh,2)*0.016*sin(time*7) + (1-equal(treb_thresh,2))*cy_residual; +per_frame_14=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_15=rot_residual = equal(mid_thresh,2)*0.016*sin(time*7) + (1-equal(mid_thresh,2))*rot_residual; +per_frame_16=cx=cx_residual+sin(time*.888); +per_frame_17=cy=cy_residual+sin(time*.999); +per_frame_18=rot=rot_residual*3; +per_pixel_1=zoom=zoom+cos(rad*10*sin(time*.666))*.07; diff --git a/presets/presets_bltc201/Unchained - Making a Science of It 2.milk b/presets/presets_bltc201/Unchained - Making a Science of It 2.milk new file mode 100755 index 0000000000..7a2f4c960a --- /dev/null +++ b/presets/presets_bltc201/Unchained - Making a Science of It 2.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=2.630065 +fWaveSmoothing=0.090000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.000000 +zoom=0.906936 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_frame_51=echo_zoom=1.4+.5*q4+.2*q1; +per_frame_52=echo_orientation=q8%4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6; +per_pixel_5=zoom=zoom+.1*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.16; +per_pixel_9=cy=cx+sin(3.14*q5)*.0816; diff --git a/presets/presets_bltc201/Unchained - Making a Science of It 3.milk b/presets/presets_bltc201/Unchained - Making a Science of It 3.milk new file mode 100755 index 0000000000..dfbd663166 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Making a Science of It 3.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=0.266717 +fWaveSmoothing=0.090000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.468457 +fShader=0.000000 +zoom=0.962731 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; +per_pixel_5=zoom=zoom+.04*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.3*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.3*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; +per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets/presets_bltc201/Unchained - Making a Science of It 4.milk b/presets/presets_bltc201/Unchained - Making a Science of It 4.milk new file mode 100755 index 0000000000..8fb943eea4 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Making a Science of It 4.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=0.972362 +fWaveSmoothing=0.09 +fWaveParam=0.02 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.468457 +fShader=0 +zoom=1.001789 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; +per_pixel_5=zoom=zoom+.01*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx-bor(bnot(snee),bnot(snur))*cos(y*3.14*q4)*.04; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*3.14*q6)*.04; +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; +per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets/presets_bltc201/Unchained - Making a Science of It 7.milk b/presets/presets_bltc201/Unchained - Making a Science of It 7.milk new file mode 100755 index 0000000000..e8886bcaa0 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Making a Science of It 7.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001830 +fShader=0.000000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.04*q4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5= *cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_bltc201/Unchained - Making a Science of It.milk b/presets/presets_bltc201/Unchained - Making a Science of It.milk new file mode 100755 index 0000000000..46cc19e918 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Making a Science of It.milk @@ -0,0 +1,126 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.424194 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.067988 +fShader=0.000000 +zoom=0.959155 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.15*sin(time*.811+q1)+.02*(frame%12+q7)*sign(q5); +per_frame_50=wave_y=wave_y+.15*sin(time*.788+q2)+.02*(frame%11+q7)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.997+.0015*q3+.0015*q1; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)); +per_pixel_5=zoom=zoom+.095*sin(rad*(q7%2+q5)*2*q2+1.6*q1)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=cx=cx+above(q7,1)*sin(rad*3.14*q4)*.1; +per_pixel_9=cy=cx; diff --git a/presets/presets_bltc201/Unchained - Morat's Final Voyage.milk b/presets/presets_bltc201/Unchained - Morat's Final Voyage.milk new file mode 100755 index 0000000000..b9c2ba9ebf --- /dev/null +++ b/presets/presets_bltc201/Unchained - Morat's Final Voyage.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.976151 +fWaveScale=0.931 +fWaveSmoothing=0.18 +fWaveParam=-0.32 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.3 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +per_frame_1=warp = 0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=pulse=if(above(abs(pulse),5000),-5000,pulse+mid_att*.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)); +per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; +per_frame_16=wave_g=if(bass_changed,.1,bass_flop); +per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); +per_frame_18=ib_b=ib_b+.5*sin(pulse); +per_frame_19=ib_g=ib_g+5*sin(pulse*.8); +per_frame_20=ib_r=ib_r+5*sin(pulse*.8); +per_frame_21=ob_b=wave_r; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_r=wave_g; +per_frame_24=wave_mystery=sin(pulse); +per_frame_25=q1=pulse; +per_pixel_1=zoom=zoom-cos(x*10*sin(time+q1*.9)-10*sin(time+q1))*.1-sin(rad*10*sin(time+q1*.5))*.1; +per_pixel_2=rot=rot+abs(1-zoom)*sin(time+q1)*2; diff --git a/presets/presets_bltc201/Unchained - Not As Fun As It Looks.milk b/presets/presets_bltc201/Unchained - Not As Fun As It Looks.milk new file mode 100755 index 0000000000..db5e81b6f9 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Not As Fun As It Looks.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999489 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.337423 +rot=0.001900 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.1+.05*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.03*sin(time*.8); +per_frame_51=wave_mode=q8%2; +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=radix=if(above(q3,0),min(xx,yy),max(xx,yy)); +per_pixel_6=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_7=rot=sin(rad*(xx*q4+yy*q5+radix*q6)); +per_pixel_8=cx=cx+xx; +per_pixel_9=cy=cy+yy; diff --git a/presets/presets_bltc201/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk b/presets/presets_bltc201/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk new file mode 100755 index 0000000000..dd8c6a7a56 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.96 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.224562 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0.1999 +wave_b=0.7 +wave_x=0.6 +wave_y=0.5 +ob_size=0.5 +ob_r=0.03 +ob_g=0.15 +ob_b=0.25 +ob_a=0.02 +ib_size=0.5 +ib_r=0.1 +ib_g=0.5 +ib_b=0.5 +ib_a=0.01 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0 +mv_g=0.7 +mv_b=1 +mv_a=0.5 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=0 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0.1 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.25 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=0.1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.4 +shape_1_per_frame1=ang = time*1.4; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=q1; +per_frame_39=mv_x=rand(30); +per_frame_40=mv_y=rand(30); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_mode=4+4*q4; +per_pixel_1=newx = x - abs(q1); +per_pixel_2=newy = y - abs(q2); +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = (newx)*newzoom - newx; +per_pixel_6=dy = (newy)*newzoom - newy; +per_pixel_7=rot = -0.1*newrad*(0.5*rad+0.1); +per_pixel_8=zoom = zoom+.07*cos(x*10*q3); +per_pixel_9=rot = rot * (zoom-1); diff --git a/presets/presets_bltc201/Unchained - Picture Of Exile.milk b/presets/presets_bltc201/Unchained - Picture Of Exile.milk new file mode 100755 index 0000000000..ab57e63478 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Picture Of Exile.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.996 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8179 +fWaveScale=0.397105 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.9957 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.998108 +rot=-0.76 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.350495 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_31=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_32=ob_g=.2+.1*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_45=wave_g=.5+.2*bnot(q8%2)-.2*bnot(q8%3)+.2*bnot(q8%4)-.2*bnot(q8%5); +per_frame_46=wave_b=if(bnot(q8%6),.8+.2*q1,bass_changed*mid_changed); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_pixel_1=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_2=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_3=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_4=zoom = zoom+bend*below(y,.5)*below(x,.5)*.1; +per_pixel_5=sx=sx-if(above(q7,3),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_6=sy=sy-if(below(q7,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_7=rot=if(equal(grid,3),q3,bnot(grid%q7)*above(x,.5)*above(y,.5)*sin(zoom)); diff --git a/presets_milkdrop_104/Unchained - Picture Of Poison.milk b/presets/presets_bltc201/Unchained - Picture Of Poison.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Unchained - Picture Of Poison.milk rename to presets/presets_bltc201/Unchained - Picture Of Poison.milk diff --git a/presets/presets_bltc201/Unchained - Quine.milk b/presets/presets_bltc201/Unchained - Quine.milk new file mode 100755 index 0000000000..d30e32ae09 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Quine.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999496 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059200 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008384 +rot=0.500000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.008145 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=monitor=warp/100; +per_frame_18=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*(warp/100)); +per_frame_19=entropy=if(bass_changed*mid_changed*treb_changed,bass_flop+treb_flop+mid_flop+rand(rot*10),entropy); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_29=ib_b=.5+.5*cos(time*2.811+q2*.1); +per_frame_30=ib_g=.5+.5*cos(time*1.666+q3*.1); +per_frame_31=ob_r=1-if(q8%2,ib_b,ib_g); +per_frame_32=ob_b=1-if(above(q8,3),ib_g,ib_r); +per_frame_33=ob_g=1-if(q8%3,ib_r,ib_b); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_37=mv_r=.5+.5*sin(q4+time*.678); +per_frame_38=mv_b=.5+.5*sin(q4+time*.789); +per_frame_39=mv_g=.5+.5*sin(q5+time*.456); +per_frame_40=mv_a=.1+.1*sin(time*1.178+q5*1.14); +per_frame_41=wave_r=.5+.5*sin(q1+time*2.183); +per_frame_42=wave_b=.5+.5*sin(q2+time*1.211); +per_frame_43=wave_g=.5+.5*sin(q3+time*1.541); +per_frame_44=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_45=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_46=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_47=wave_mode=q8%2; +per_frame_48=echo_orientation=q8%4; +per_frame_49=warp=0; +per_frame_50=rot=0; +per_pixel_1=xx=above(y,.5+.5*q2)*x*q1-.5+.03*q5+.1*y*q6+.1*sin(time*.322); +per_pixel_2=yy=above(x,.5+.5*q3)*y*q1-.5+.03*q6+.1*x*q5+.1*sin(time*.427); +per_pixel_3=rot=sin(rad*(1.4+.7*q4+.7*q5+.7*q6)); +per_pixel_4=grid=bnot(sin(xx*yy)%q8); +per_pixel_5=grid_shift=grid*sin((yy-.5)*6.3*q4); +per_pixel_6=dx=if(above(q4,0)*above(abs(x-.5),.25+.25*q1),below(q7,4)*grid_shift,sin(xx*3.14*above(q3,0))); +per_pixel_7=dy=if(equal(q7,3),above(q5,0)*above(q7,3)*grid_shift,sin(yy*3.14*above(q2,0))); +per_pixel_8=zoom=zoom+cos(rad*q5+q7*xx+q8*yy)*q6*.5; +per_pixel_9= diff --git a/presets/Unchained - ReAwoke.milk b/presets/presets_bltc201/Unchained - ReAwoke.milk similarity index 100% rename from presets/Unchained - ReAwoke.milk rename to presets/presets_bltc201/Unchained - ReAwoke.milk diff --git a/presets/presets_bltc201/Unchained - Rewop.milk b/presets/presets_bltc201/Unchained - Rewop.milk new file mode 100755 index 0000000000..f114ff3575 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Rewop.milk @@ -0,0 +1,262 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.000000 +zoom=0.659411 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.01*q4; +per_pixel_1=grid=pow(sin(rad*q6*q2+x*y*q6*q3)*2,1+q7%5)%2; +per_pixel_2=rot=bnot(grid)+grid*q4; +per_pixel_3=sx=sx+sin((q2+.5)*x)*.003; +per_pixel_4=sy=sy+sin((q1+3.4)*y)*.003; +per_pixel_5=zoom=zoom+.11*cos(rad*3.14)*q4; diff --git a/presets/presets_bltc201/Unchained - Ribald Ballad.milk b/presets/presets_bltc201/Unchained - Ribald Ballad.milk new file mode 100755 index 0000000000..93a4cde427 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Ribald Ballad.milk @@ -0,0 +1,106 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.991 +fVideoEchoZoom=1.008149 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.160929 +fWaveScale=3.394157 +fWaveSmoothing=0.54 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.96 +fShader=0.07 +zoom=0.999698 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.513 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.58 +ib_size=0.015 +ib_r=0.55 +ib_g=1 +ib_b=0.4999 +ib_a=1 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.035-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=.5+.5*q4; +per_frame_39=mv_x=bass_flop*(15+q2*15); +per_frame_40=mv_y=bass_flop*(15+q3*15); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=cx=cx+sin(pulse*q3)*.1; +per_frame_45=cy=cy+sin(pulse*q2)*.1; +per_pixel_1=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(ang*3.14*(q1+q2+q3))); +per_pixel_2=zoom=if(above(q2,0),zoom-cos(rad*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(ang*10*q1))); diff --git a/presets/presets_bltc201/Unchained - Scientific Dance.milk b/presets/presets_bltc201/Unchained - Scientific Dance.milk new file mode 100755 index 0000000000..3ab6b23d0b --- /dev/null +++ b/presets/presets_bltc201/Unchained - Scientific Dance.milk @@ -0,0 +1,268 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.099500 +fShader=0.400000 +zoom=0.499000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+.3*q1; +shape_0_per_frame2=y=y+.3*q2; +shape_0_per_frame3=rad=2+q4; +shape_0_per_frame4=sides=3+(q8%7); +shape_0_per_frame5=textured=sides%2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=x+.2*q2; +shape_1_per_frame2=y=y+.2*q1; +shape_1_per_frame3=rad=.5+.5*q5; +shape_1_per_frame4=r=.5+sin(time*1.32); +shape_1_per_frame5=b=.5+sin(time*1.11); +shape_1_per_frame6=g=.5+sin(time*1.23); +shape_1_per_frame7=sides=3+q7 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x=x+.3*q3; +shape_2_per_frame2=y=y+.3*q4; +shape_2_per_frame3=rad=.3+.3*q5; +shape_2_per_frame4=sides=3+(q8%3); +shape_2_per_frame5=textured=bnot(sides%2); +shape_2_per_frame6=r2=q1; +shape_2_per_frame7=g2=q2; +shape_2_per_frame8=b2=q3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x=x+.25*q5; +shape_3_per_frame2=y=y+.25*q1; +shape_3_per_frame3=rad=.3+.2*q6; +shape_3_per_frame4=sides=3+(q8%5); +shape_3_per_frame5=r2=q2; +shape_3_per_frame6=g2=q3; +shape_3_per_frame7=b2=q1; +per_frame_1=warp=0; +per_frame_2=q1=sin(time*2.13); +per_frame_3=q2=sin(time*0.95); +per_frame_4=q3=sin(time*1.39); +per_frame_5=q4=sin(time*1.83); +per_frame_6= +per_frame_7= +per_frame_8=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_9=q5=sin(time*0.84); +per_frame_10=q6=sin(time*1.51); +per_frame_11=q7=mod_state; +per_frame_12=q8=mod_state*(above(q5,0)+above(q6,0)+1); +per_frame_13=ob_r=.5+.5*cos(q1+q7); +per_frame_14=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_15=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_16=ib_size=.025+.02*q2; +per_frame_17=ob_size=.03+.02*q3-.002*q7; +per_frame_18=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_19=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_20=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_21= +per_frame_22=ob_a=.8+.2*q2; +per_frame_23=zoom=.6+.2*q2; +per_frame_24=sx=sx+.1*sin(time*2.13); +per_frame_25=sy=sy+.1*sin(time*2.33); +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.1*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_bltc201/Unchained - Scientific Shapes 2.milk b/presets/presets_bltc201/Unchained - Scientific Shapes 2.milk new file mode 100755 index 0000000000..f464bebf1a --- /dev/null +++ b/presets/presets_bltc201/Unchained - Scientific Shapes 2.milk @@ -0,0 +1,293 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.112222 +fShader=0.400000 +zoom=0.693048 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+.3*q1; +shape_0_per_frame2=y=y+.3*q2; +shape_0_per_frame3=rad=2+q4; +shape_0_per_frame4=sides=3+(q8%7); +shape_0_per_frame5=textured=sides%2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=x+.2*q2; +shape_1_per_frame2=y=y+.2*q1; +shape_1_per_frame3=rad=.5+.5*q5; +shape_1_per_frame4=r=.5+sin(time*1.32); +shape_1_per_frame5=b=.5+sin(time*1.11); +shape_1_per_frame6=g=.5+sin(time*1.23); +shape_1_per_frame7=sides=3+q7 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x=x+.3*q3; +shape_2_per_frame2=y=y+.3*q4; +shape_2_per_frame3=rad=.3+.3*q5; +shape_2_per_frame4=sides=3+(q8%3); +shape_2_per_frame5=textured=bnot(sides%2); +shape_2_per_frame6=r2=q1; +shape_2_per_frame7=g2=q2; +shape_2_per_frame8=b2=q3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x=x+.25*q5; +shape_3_per_frame2=y=y+.25*q1; +shape_3_per_frame3=rad=.3+.2*q6; +shape_3_per_frame4=sides=3+(q8%5); +shape_3_per_frame5=r2=q2; +shape_3_per_frame6=g2=q3; +shape_3_per_frame7=b2=q1; +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.04*q4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.1*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_bltc201/Unchained - Scientific Shapes 3.milk b/presets/presets_bltc201/Unchained - Scientific Shapes 3.milk new file mode 100755 index 0000000000..f67384c272 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Scientific Shapes 3.milk @@ -0,0 +1,295 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.099595 +fShader=0.400000 +zoom=0.499066 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+.3*q1; +shape_0_per_frame2=y=y+.3*q2; +shape_0_per_frame3=rad=2+q4; +shape_0_per_frame4=sides=3+(q8%7); +shape_0_per_frame5=textured=sides%2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=x+.2*q2; +shape_1_per_frame2=y=y+.2*q1; +shape_1_per_frame3=rad=.5+.5*q5; +shape_1_per_frame4=r=.5+sin(time*1.32); +shape_1_per_frame5=b=.5+sin(time*1.11); +shape_1_per_frame6=g=.5+sin(time*1.23); +shape_1_per_frame7=sides=3+q7 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x=x+.3*q3; +shape_2_per_frame2=y=y+.3*q4; +shape_2_per_frame3=rad=.3+.3*q5; +shape_2_per_frame4=sides=3+(q8%3); +shape_2_per_frame5=textured=bnot(sides%2); +shape_2_per_frame6=r2=q1; +shape_2_per_frame7=g2=q2; +shape_2_per_frame8=b2=q3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x=x+.25*q5; +shape_3_per_frame2=y=y+.25*q1; +shape_3_per_frame3=rad=.3+.2*q6; +shape_3_per_frame4=sides=3+(q8%5); +shape_3_per_frame5=r2=q2; +shape_3_per_frame6=g2=q3; +shape_3_per_frame7=b2=q1; +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.04*q4; +per_frame_51=sx=sx+.1*sin(time*2.13); +per_frame_52=sy=sy+.1*sin(time*2.33); +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.1*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_bltc201/Unchained - Spinal Mixdown 2.milk b/presets/presets_bltc201/Unchained - Spinal Mixdown 2.milk new file mode 100755 index 0000000000..12aa0489bd --- /dev/null +++ b/presets/presets_bltc201/Unchained - Spinal Mixdown 2.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.000000 +zoom=0.988218 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.5*sin(ang*q1),.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.5*sin(ang*q3),.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); +per_pixel_12=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_13=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_14=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_15=zoom = zoom+bend*below(y,.5)*below(x,.5)*.1; +per_pixel_16=sx=sx-if(above(q7,3),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_17=sy=sy-if(below(q7,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_18=rot=if(equal(grid,3),rot,bnot(grid%q7)*above(x,.5)*above(y,.5)*sin(zoom*rad*3.14)); +per_pixel_19=band1 = below(x,0.1)*above(y,abs(q1-q3))*below(y,abs(q1+q3)*.5); +per_pixel_20=band2 = below(x,0.1)*above(y,abs(q2-q4))*below(y,abs(q2+q4)*.5); +per_pixel_21=bases = below(x,0.04)*if(above(q1,q2),above(y,abs(q2))*below(y,abs(q1)),above(y,abs(q1))*below(y,abs(q2))); +per_pixel_22=bandmove = 0.009*(abs(q5)*band1 + (1-abs(q5))*band2); +per_pixel_23=basemove = 0.02*bases; +per_pixel_24=dx = 0.0015*max(bass_att*2,1) + if(above(q7%3,0),basemove,bandmove); diff --git a/presets/Unchained - Subjective Experience Of The Manifold.milk b/presets/presets_bltc201/Unchained - Subjective Experience Of The Manifold.milk similarity index 100% rename from presets/Unchained - Subjective Experience Of The Manifold.milk rename to presets/presets_bltc201/Unchained - Subjective Experience Of The Manifold.milk diff --git a/presets/presets_bltc201/Unchained - Those Who Doubted.milk b/presets/presets_bltc201/Unchained - Those Who Doubted.milk new file mode 100755 index 0000000000..8419c63faa --- /dev/null +++ b/presets/presets_bltc201/Unchained - Those Who Doubted.milk @@ -0,0 +1,126 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.270000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.817900 +fWaveScale=4.141529 +fWaveSmoothing=0.180000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.007985 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350495 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.5+.5*sin(time*2.157+q6); +per_frame_31=ob_b=.5+.5*sin(time*1.689+q5); +per_frame_32=ob_g=.5+.5*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,.5+.5*q1)); +per_frame_45=wave_g=.5+if(bnot(q8%2),q1,if(bnot(q8%3),q2,q3))*.5; +per_frame_46=wave_b=if(bnot(q8%6),.5+.5*q5,if(mid_changed,bass_changed,.5+.5*q1)); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_frame_49=wave_x=wave_x+.02*q1; +per_frame_50=wave_y=wave_y+.02*q2; +per_pixel_1=yep=if(above(q5,0),above(x,.5),below(x,.5)); +per_pixel_2=nope=if(above(q4,0),above(y,.5),below(y,.5)); +per_pixel_3=maybe=if(above(q6,0),yep,nope); +per_pixel_4=sometimes=if(above(q6,0),bnot(yep),bnot(nope)); +per_pixel_5=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_6=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_7=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_8=zoom = zoom+bend*.08*nope; +per_pixel_9=sx=sx-if(above(q1,2),bnot(grid)*q3*.2,.1*q2*bnot(q8%5))*yep; +per_pixel_10=sy=sy-if(above(q1,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2))*yep; +per_pixel_11=rot=above(rad,.02)*sometimes; +per_pixel_12=dx=dx+.01*q1*maybe; +per_pixel_13=dy=dy+.01*q1*maybe; diff --git a/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk new file mode 100755 index 0000000000..d3de0daa86 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.998169 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Shamanic).milk new file mode 100755 index 0000000000..a3e7e050a1 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Shamanic).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.05 +fDecay=0.92 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.4999 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.45029 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.998166 +fShader=0 +zoom=0.879987 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.01*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.17*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.17*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk new file mode 100755 index 0000000000..32870d5f9c --- /dev/null +++ b/presets/presets_bltc201/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.998169 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.5*sin(ang*q1),.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.5*sin(ang*q3),.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_bltc201/Unchained - Unified Drag 2.milk b/presets/presets_bltc201/Unchained - Unified Drag 2.milk new file mode 100755 index 0000000000..7c6eaa6e4f --- /dev/null +++ b/presets/presets_bltc201/Unchained - Unified Drag 2.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.780000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.400000 +zoom=0.820774 +rot=0.000000 +cx=0.499900 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=rot=1; +per_frame_51=cx=cx+.05*q4; +per_frame_52=cy=cy+.05*q5; +per_frame_53=zoom=.95+.05*q6; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets/presets_bltc201/Unchained - Unified Drag.milk b/presets/presets_bltc201/Unchained - Unified Drag.milk new file mode 100755 index 0000000000..ea2060caf6 --- /dev/null +++ b/presets/presets_bltc201/Unchained - Unified Drag.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.141529 +fShader=0.400000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=.9985; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*2+rad*q2)*sign(snee)-.06*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk b/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk new file mode 100755 index 0000000000..9b91c49a27 --- /dev/null +++ b/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.100000 +ob_g=0.300000 +ob_b=0.120000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.200000 +ib_g=0.200000 +ib_b=0.200000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=zoom = zoom + .1*sin((ang)*(q2+2)-time); +per_pixel_2=zoomexp = 100*(sqrt(2)-sin(rad*3.14*q2)); +per_pixel_3=cx=cx*zoom; +per_pixel_4=cy=cy*zoom; +per_pixel_5=rot = rot + 0&sin(0&(ang*20)+0&(time*10)); +per_pixel_6=zoom = zoom + abs(rot-rad); diff --git a/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk b/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk new file mode 100755 index 0000000000..60ed8fc960 --- /dev/null +++ b/presets/presets_bltc201/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.100000 +ob_g=0.300000 +ob_b=0.120000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.200000 +ib_g=0.200000 +ib_b=0.200000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=zoom = zoom + .1*sin((ang)*(q2+2)-time); +per_pixel_2=zoomexp = 100*(sqrt(2)-sin(rad*3.14*q2)); +per_pixel_3=cx=cx*zoom; +per_pixel_4=cy=cy*zoom; +per_pixel_5=rot = rot + sin(ang*10+time*10); +per_pixel_6=zoom = zoom + abs(rot-rad); diff --git a/presets_milkdrop_104/Valhala - Core.milk b/presets/presets_bltc201/Valhala - Core.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Valhala - Core.milk rename to presets/presets_bltc201/Valhala - Core.milk diff --git a/presets/presets_bltc201/Valhala - Source .milk b/presets/presets_bltc201/Valhala - Source .milk new file mode 100755 index 0000000000..006b625acc --- /dev/null +++ b/presets/presets_bltc201/Valhala - Source .milk @@ -0,0 +1,212 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.965000 +fVideoEchoZoom=1.011842 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.504213 +fWaveSmoothing=0.450000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=2.630066 +fShader=0.000000 +zoom=1.070548 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=1.000000 +warp=0.022186 +sx=0.978500 +sy=0.999996 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.300000 +wavecode_0_g=0.600000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.054279 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.270001 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.050001 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.027048 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets/presets_bltc201/Zylot & Idiot24-7 - Unknown Power Source.milk b/presets/presets_bltc201/Zylot & Idiot24-7 - Unknown Power Source.milk new file mode 100755 index 0000000000..4cb631c135 --- /dev/null +++ b/presets/presets_bltc201/Zylot & Idiot24-7 - Unknown Power Source.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.011566 +fWaveScale=100.000000 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.904846 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000002 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=10.240001 +nMotionVectorsY=7.200006 +mv_dx=0.000000 +mv_dy=0.080000 +mv_l=0.550000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=ob_r=rand(10)*Sin(above(bass,bass_att)); +per_frame_2=ob_g=rand(10)*sin(above(mid,mid_Att)); +per_frame_3=ob_b=rand(10)*Sin(above(treb,treb_Att)); +per_frame_4=zoom = .9+bass*.05; +per_pixel_1=rot=rot*atan2(-rad,sin(ang*20-ang*20*ang*10*atan2(above(bass,bass_Att),above(Treb,t +per_pixel_2=reb_Att))))*sin(Rad*ang*above(Bass,bass_Att))*rad-ang; diff --git a/presets/presets_bltc201/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk b/presets/presets_bltc201/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk new file mode 100755 index 0000000000..9e197b4ae8 --- /dev/null +++ b/presets/presets_bltc201/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.098609 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.004500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.021500 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.9 + 0.1*sin(time*0.894); +per_frame_3=ib_g = 0.43 + 0.13*sin(time*0.14); +per_frame_4=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_5=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_6=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_7=dx = 1.1* dx_r; +per_frame_8=dy = 1.1* dy_r; +per_frame_9=dx = dx + if(above(bass+bass_att,2.6), 21*dx_r, 0); +per_frame_10=dy = if(above(bass,1.3), 0, dy); +per_frame_11=mv_l =10000; +per_frame_12=mv_y =2.0; +per_frame_13=mv_dy = -0.1; +per_frame_14=zoom = zoom -0.02*thresh; +per_frame_15=wave_r = ib_r; +per_frame_16=wave_b = ib_b; +per_frame_17=wave_g = ib_g; +per_pixel_1=zoom = if(below(rad,.3+.1*sin(time)),zoom + -.6,zoom); diff --git a/presets/presets_bltc201/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk b/presets/presets_bltc201/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk new file mode 100755 index 0000000000..7b0f8a1475 --- /dev/null +++ b/presets/presets_bltc201/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk @@ -0,0 +1,117 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.011683 +fWaveSmoothing=0.801000 +fWaveParam=-0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.906938 +fShader=0.000000 +zoom=0.977870 +rot=-0.380000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.450000 +ob_g=0.450000 +ob_b=0.450000 +ob_a=0.200000 +ib_size=0.003000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.200000 +mv_dx=0.000000 +mv_dy=-0.060000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_2=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_3=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_4=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_5=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_6=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_7=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_8=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_11=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_12=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_13=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_14=vol_thresh=bass_thresh+mid_thresh+treb_thresh; +per_frame_15=wave_r = .5+.3*sin(time)+.1*sin(time*10); +per_frame_16=wave_g = .5+.3*sin(time/1.5)+.1*sin(time*12); +per_frame_17=wave_b = .5+.3*sin(time/1.75)+.1*sin(time*14); +per_frame_18= +per_frame_19=bass_counter = equal(bass_thresh,2)*1+bass_counter; +per_frame_20=treb_counter=equal(treb_thresh,2)*1+treb_counter; +per_frame_21=mid_counter=equal(mid_thresh,2)*1+mid_counter; +per_frame_22=vol_counter=equal(vol_thresh,2)*1+vol_counter; +per_frame_23=bass_cycler = bass_counter%8; +per_frame_24=treb_cycler=treb_counter%8; +per_frame_25=mid_cycler=mid_counter%8; +per_frame_26=vol_cycler=vol_cycler%8; +per_frame_27=q1=bass_cycler; +per_frame_28=q2=treb_cycler; +per_frame_29=q3=mid_cycler; +per_frame_30=q4=bass_thresh; +per_frame_31=q5=mid_thresh; +per_frame_32=q6=treb_thresh; +per_frame_33=q7=vol_cycler; +per_frame_34=q8=vol_thresh; +per_frame_35=wave_mystery = wave_mystery+.1*sin(q8) - 0.1; +per_frame_36=mv_b = bass+bass_att-2; +per_frame_37=residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*residual; +per_frame_38=ib_size = bass*.01; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q1); +per_pixel_2=rot=if(above(q2,q8),.06*sin(rad_cycle-3*Sin(Q3)-x*ang*q3)*equal(Rad,x+y)*sin(Q6)-.3*sin(Q7 +per_pixel_3=),.02*sin(Q3)); +per_pixel_4=zoom =if(above(q2,q8), 2*rot*rad + 1 - 0.01*q1*rad-(X-.3*sin(Q4))+(x*.25*sin(Q2)),1.10);; +per_pixel_5=zoomexp = 1 - 0.1*rad; +per_pixel_6=dx=if(above(q2,q8),equal(x,raD)*sin(Q3)/y*sin(Q1),.009*sin(q5)*x*rad+d*sin(q2)); +per_pixel_7=dy=if(above(q2,q8),equal(y,rad)*sin(q2)/x*sin(q5),.009*sin(Q3)*y*rad+r*sin(q1)); +per_pixel_8=//there was a semicolon here, it's gone now +per_pixel_9=d=above(y,sin(ang*3+time)); +per_pixel_10=r=above(y,sin(ang*3+time)); +per_frame_init_1=colorcounter = 1; +per_frame_init_2=counter1 = 0; +per_frame_init_3=counter2 = 1; +per_frame_init_4=cdelay1 = 0; +per_frame_init_5=cdelay2 = 0; +per_frame_init_6= diff --git a/presets/presets_bltc201/Zylot - Building Block of color - Bitcore Tweak.milk b/presets/presets_bltc201/Zylot - Building Block of color - Bitcore Tweak.milk new file mode 100755 index 0000000000..19419bad91 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Building Block of color - Bitcore Tweak.milk @@ -0,0 +1,363 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.820000 +fVideoEchoZoom=1.0500000 +fVideoEchoAlpha=1.100000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=7.680042 +nMotionVectorsY=6.240038 +mv_dx=0.320000 +mv_dy=-0.220000 +mv_l=0.050000 +mv_r=0.760000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar/32; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*3.5; +wave_1_per_point8=x1 = (1)*sin(nsample+value1*5); +wave_1_per_point9=y1 = (4)*cos(sample*t8*2); +wave_1_per_point10=z1= (4)*sin(sample*(t8*2)); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+10; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=r = sin(nsample); +wave_1_per_point28=g = -.3+cos(sample*20+(time*5)); +wave_1_per_point29=b = -.3-cos(-sample*20+(time*5)); +wave_1_per_point30=g = if(below(g,0),0,g); +wave_1_per_point31=b = if(below(b,0),0,b); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = .5 + (.12 + .02*sin(time*.8))*cos(sample*(100*sin(time*.1))+time*.8); +wave_3_per_point2=y = .5 + (.12 + .02*sin(time))*sin(sample*(100*sin(time*.5))+time*.5); +wave_3_per_point3=a = -.7+sin(sample*1000+time*2); +wave_3_per_point4=a = above(a,0); +wave_3_per_point5= +wave_3_per_point6=r = -.7+sin(sample*100+time*2); +wave_3_per_point7=g = -.7+sin((sample+.40)*100+time*2); +wave_3_per_point8=b = -.7+sin((sample+.77)*100+time*2); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_pixel_1=zoom = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),zoom+.01,.5),.5),.5),.5); +per_pixel_2=dx = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),0,.5),.5),.5),.5); +per_pixel_3=dy = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),0,.5),.5),.5),.5); +per_pixel_4=zoom = if(below(zoom,1),zoom + ((x)*-.4)+.02*sin(time+(bass*2)),zoom); +per_pixel_5=zoom = zoom + if(below(zoom,1),zoom + (y-.5+.5*sin(time*.66))*.2*sin(time*.5),0); +per_pixel_6=dx = if(above(dx,0),((rand(50)-25)*bass*.0045),dx); +per_pixel_7= +per_pixel_8=zoom = zoom + (.1+.1*sin(time*.3))*below(zoom,1)+0.025; +per_pixel_9=zoom = zoom*above(zoom,0); diff --git a/presets_milkdrop_104/Zylot - Crosshair Dimension (Light of Ages).milk b/presets/presets_bltc201/Zylot - Crosshair Dimension (Light of Ages).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Zylot - Crosshair Dimension (Light of Ages).milk rename to presets/presets_bltc201/Zylot - Crosshair Dimension (Light of Ages).milk diff --git a/presets/presets_bltc201/Zylot - Digiscape Advanced Processor.milk b/presets/presets_bltc201/Zylot - Digiscape Advanced Processor.milk new file mode 100755 index 0000000000..2cc7e38151 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Digiscape Advanced Processor.milk @@ -0,0 +1,52 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.900001 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.053452 +fWaveScale=2.448587 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.01 +fWarpScale=0.01 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.4999 +wave_y=0.4999 +per_frame_1=wave_r = wave_r + .3*sin(time*.222); +per_frame_2=wave_g = wave_g + .3*sin(time*.123); +per_frame_3=wave_b = wave_b + .3*sin(time*.444); +per_frame_4=decay = .9 + .1*sin(time*.01); +per_pixel_1=dx = dx - .08*tan(time + (x)*47); +per_pixel_2=dy = .01*sin((-time*.22 + (y+.5))); diff --git a/presets/presets_bltc201/Zylot - Flight Of Harrier (White World Mix).milk b/presets/presets_bltc201/Zylot - Flight Of Harrier (White World Mix).milk new file mode 100755 index 0000000000..0fecfd6320 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Flight Of Harrier (White World Mix).milk @@ -0,0 +1,176 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.499900 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=y = .5 + .2*sin(value2*time); +wave_1_per_point2=x = .5 + value1*10; +wave_1_per_point3=a = 0 + if(above(abs(y-.5),.17),abs(y-.5),0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=sy = .9; +per_frame_3=sx = 1.02; +per_frame_4=wave_r = wave_r + .25*sin(time*.444); +per_frame_5=wave_g = wave_g + .25*sin(time*.333); +per_frame_6=wave_b = wave_b + .25*sin(time*.222); +per_frame_7=wave_r = wave_r + bass*.1; +per_frame_8=wave_g = wave_g + treb*.1; +per_frame_9=wave_b = wave_b + mid*.1; +per_pixel_1=sy = .9; +per_pixel_2=zoom = zoom - rad*.1 diff --git a/presets/presets_bltc201/Zylot - Funnels.milk b/presets/presets_bltc201/Zylot - Funnels.milk new file mode 100755 index 0000000000..a8736c2567 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Funnels.milk @@ -0,0 +1,240 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.987785 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .5+.25*(sample*2)/sin(sample*100+time*10); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10); +wave_0_per_point3=r = .01+.5*sin(sample*250+time*1); +wave_0_per_point4=b = .01+.5*sin(sample*220-time*2); +wave_0_per_point5=g = .01+.5*sin(sample*130+time*4); +wave_0_per_point6= +wave_0_per_point7=b = if(above(b,0),b,0); +wave_0_per_point8=r = if(above(r,0),r,0); +wave_0_per_point9=g = if(above(g,0),g,0); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10); +wave_1_per_point2=y = .5+.25*(sample*2)/cos(sample*100+time*10); +wave_1_per_point3=r = .01+.5*sin(sample*250+time*1); +wave_1_per_point4=b = .01+.5*sin(sample*220-time*2); +wave_1_per_point5=g = .01+.5*sin(sample*130+time*4); +wave_1_per_point6= +wave_1_per_point7=b = if(above(b,0),b,0); +wave_1_per_point8=r = if(above(r,0),r,0); +wave_1_per_point9=g = if(above(g,0),g,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.218586 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=r = 1; +shape_0_per_frame2=b = 1; +shape_0_per_frame3=g = 1; +shape_0_per_frame4= +shape_0_per_frame5=mang = mang + .5+bass; +shape_0_per_frame6=rad = rad + treb*.05; +shape_0_per_frame7=ang = mang; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.003939 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang = ang - time*.333; +shape_1_per_frame2=border_r = .5+.4*sin(time*1.4)+bass*.1; +shape_1_per_frame3=border_g = .5+.4*sin(time*1.2)+treb*.1; +shape_1_per_frame4=border_b = .5+.4*sin(time*1)+mid*.1; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.840000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.580000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=decay = .95; +per_pixel_1=zoom = zoom + (rad*.6); diff --git a/presets/presets_bltc201/Zylot - In death there is life (Geiss Layered Mix).milk b/presets/presets_bltc201/Zylot - In death there is life (Geiss Layered Mix).milk new file mode 100755 index 0000000000..33fa9e1fdb --- /dev/null +++ b/presets/presets_bltc201/Zylot - In death there is life (Geiss Layered Mix).milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=16.217468 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.599579 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_3=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_4=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_frame_5=zoom = 1+bass*.01; +per_pixel_1=zoom = zoom + (rad*.01)*treb; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*0.96+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret = ret- (ret*.5); +warp_13=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_14=` ret = ret - .01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 5.00; //gamma +comp_5=` ret += 1.2; +comp_6=` float gb = GetBlur1(uv); +comp_7=` ret = (ret*gb)*float3(1+.2*sin(time),1+.2*sin(time*.2233333),1+.2*sin(time*.733467)); +comp_8=` float3 rets = tex2D(sampler_main, uv).xyz; +comp_9=` ret = lerp(ret*GetBlur1(uv), rets*3, rets.x); +comp_10=` ret = lerp(ret*GetBlur1(uv), rets*1.5, rets.y); +comp_11=` ret = lerp(ret*GetBlur1(uv), rets, rets.z); +comp_12=`} +comp_13=` diff --git a/presets/presets_bltc201/Zylot - Rush.milk b/presets/presets_bltc201/Zylot - Rush.milk new file mode 100755 index 0000000000..81bf7d9bd7 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Rush.milk @@ -0,0 +1,192 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.940000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.987793 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.120321 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=.3+pow(value1,.2); +wave_0_per_point3=r=rand(10)*.1; +wave_0_per_point4=g=rand(10)*.1; +wave_0_per_point5=b=rand(10)*.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=.9-pow(value2,.2); +wave_1_per_point3=r=rand(10)*.1; +wave_1_per_point4=g=rand(10)*.1; +wave_1_per_point5=b=rand(10)*.1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 0; +wave_2_per_point1=x=.5+.1*sin(sample*10)*(rand(10)*.1)*bass; +wave_2_per_point2=y=.5+.1*cos(sample*10)*(rand(10)*.1)*treb; +wave_2_per_point3=a=(abs(y-.5)*abs(x-.5))*60; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=r=.5+.2*sin(time*1.3); +shape_0_per_frame2=g=.5+.2*sin(time*1.1); +shape_0_per_frame3=b=.5+.2*sin(time*.9); +shape_0_per_frame4=a=bass; +shape_0_per_frame5=r2=r; +shape_0_per_frame6=g2=g; +shape_0_per_frame7=b2=b; +shape_0_per_frame8=border_a = if(above(bass,1.5),1,0); +shape_0_per_frame9=rad = bass*.1; +shape_0_per_frame10=rad = rad*if(above(bass,1.7),5,1); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp = 0; +per_pixel_1=zoom = if(above(abs(x-.5),.04),if(above(abs(y-.5),.04),1.2,1),1); +per_pixel_2=dx = if(above(x-.5,.025),if(below(abs(y-.5),.025),.02,0),0); +per_pixel_3=dx = if(below(x-.5,-.025),if(below(abs(y-.5),.025),-.02,dx),dx); +per_pixel_4=dy = if(above(y-.5,.025),if(below(abs(x-.5),.02),.02,0),0); +per_pixel_5=dy = if(below(y-.5,-.025),if(below(abs(x-.5),.02),-.02,dy),dy); diff --git a/presets_milkdrop_104/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk b/presets/presets_bltc201/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk rename to presets/presets_bltc201/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk diff --git a/presets/presets_bltc201/Zylot - Star Ornament.milk b/presets/presets_bltc201/Zylot - Star Ornament.milk new file mode 100755 index 0000000000..b2768aad19 --- /dev/null +++ b/presets/presets_bltc201/Zylot - Star Ornament.milk @@ -0,0 +1,298 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.010576 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=pulse = 0; +wave_0_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_0_per_frame2=pulse = pulse*above(pulse,0); +wave_0_per_frame3=t1 = pulse; +wave_0_per_point1=x = sqrt(sample*mid*.05); +wave_0_per_point2=y = .5 + (.1+t1)*cos(sample*20); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=pulse = 0; +wave_1_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_1_per_frame2=pulse = pulse*above(pulse,0); +wave_1_per_frame3=t1 = pulse; +wave_1_per_point1=x = sqrt(sample*mid*.05); +wave_1_per_point2=y = .5 + -(.1+t1)*cos(sample*20); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=pulse = 0; +wave_2_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_2_per_frame2=pulse = pulse*above(pulse,0); +wave_2_per_frame3=t1 = pulse; +wave_2_per_point1=x = 1 - sqrt(sample*mid*.05); +wave_2_per_point2=y = .5 + (.1+t1)*cos(sample*20); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=pulse = 0; +wave_3_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_3_per_frame2=pulse = pulse*above(pulse,0); +wave_3_per_frame3=t1 = pulse; +wave_3_per_point1=x = 1 - sqrt(sample*mid*.05); +wave_3_per_point2=y = .5 + -(.1+t1)*cos(sample*20); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.340000 +shapecode_0_ang=0.530000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.560000 +shapecode_0_g=0.360000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.900000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=bassspin = 0; +shape_0_init2=angle = 0; +shape_0_per_frame1=ang = angle; +shape_0_per_frame2=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_0_per_frame3=bassspin = bassspin*above(bassspin,0); +shape_0_per_frame4=angle = angle + bassspin; +shape_0_per_frame5= +shape_0_per_frame6=r = bass*.3; +shape_0_per_frame7=g = treb*.3; +shape_0_per_frame8=b = mid*.3; +shape_0_per_frame9=r2 = .8+.2*sin(time*1.2); +shape_0_per_frame10=g2 = .8+.2*sin(time*.9777); +shape_0_per_frame11=b2 = .8+.2*sin(time*.7005); +shape_0_per_frame12= +shape_0_per_frame13=border_a = 1*above(bass+treb+mid,5); +shape_0_per_frame14= +shape_0_per_frame15=x = .5 + q1; +shape_0_per_frame16=y = .5 + q2; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.108073 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=bassspin = 0; +shape_1_init2=xpos = .25; +shape_1_init3=ypos = .25; +shape_1_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_1_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_1_per_frame3=xpos = xpos + bassspin; +shape_1_per_frame4=ypos = ypos + bassspin; +shape_1_per_frame5=x = .5 + q1 + .13*sin(xpos); +shape_1_per_frame6=y = .5 + q2 + .18*cos(ypos); +shapecode_2_enabled=1 +shapecode_2_sides=29 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.105693 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=bassspin = 0; +shape_2_init2=xpos = 2.3; +shape_2_init3=ypos = 2.3; +shape_2_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_2_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_2_per_frame3=xpos = xpos + bassspin; +shape_2_per_frame4=ypos = ypos + bassspin; +shape_2_per_frame5=x = .5 + q1 +.13*sin(xpos); +shape_2_per_frame6=y = .5 + q2 + .18*cos(ypos); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.091434 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=bassspin = 0; +shape_3_init2=xpos = 4.5; +shape_3_init3=ypos = 4.5; +shape_3_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_3_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_3_per_frame3=xpos = xpos + bassspin; +shape_3_per_frame4=ypos = ypos + bassspin; +shape_3_per_frame5=x = .5 + q1 + .13*sin(xpos); +shape_3_per_frame6=y = .5 + q2 + .18*cos(ypos); +per_frame_1=warp = 0; +per_frame_2=decay = .92; +per_frame_3= +per_frame_4=vol = (bass+mid+att)/6; +per_frame_5=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_6=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_7=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_8=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17= +per_frame_18=q1 = ypos; +per_frame_19=q2 = xpos; +per_frame_20= +per_pixel_1=zoom = zoom + (q1*q2)*2; +per_pixel_2=rot = 10+(rad*treb*.1); diff --git a/presets_milkdrop_104/baked - 4-20 =).milk b/presets/presets_bltc201/baked - 4-20 =).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/baked - 4-20 =).milk rename to presets/presets_bltc201/baked - 4-20 =).milk diff --git a/presets/presets_bltc201/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk b/presets/presets_bltc201/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk new file mode 100755 index 0000000000..1029323351 --- /dev/null +++ b/presets/presets_bltc201/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.389280 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=2.306716 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.500000 +shapecode_0_border_g=0.500000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=bos = bass; +per_frame_3=tos = treb; +per_frame_4=cy = cx + (.0045*((cx/cx)/(bos/tos)) ); +per_frame_5=cx = cy + (.005*((cy/cy)/(bos/tos)) ); +per_frame_6=rot = (time*.18); +per_frame_7=dx = sin(time*.2); +per_frame_8=dy = (bass*.0009)+sin(time*.18) * 2; +per_frame_9=decay = 1; +per_frame_10= +per_frame_11=s=1; +per_frame_12=mt=mt+pow(bass+mid,2); +per_frame_13=h=sin(mt*.008)*.5+.5; +per_frame_14=l=1; +per_frame_15=s=1; +per_frame_16=////////////////////////////////////////////////////////////////////////////// +per_frame_17=// +per_frame_18=// HSL to RGB by PieturP +per_frame_19=// +per_frame_20=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +per_frame_21=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +per_frame_22=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +per_frame_23=// +per_frame_24=cc=(6*h); +per_frame_25=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +per_frame_26=zf=(6*h)-cc; +per_frame_27=zm=l; +per_frame_28=zp=l*(1-s); +per_frame_29=zq=l*(1-s*zf); +per_frame_30=zt=l*(1-s*(1-zf)); +per_frame_31=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +per_frame_32=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +per_frame_33=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +per_frame_34=rr=if(equal(s,0),l,rr); +per_frame_35=gg=if(equal(s,0),l,gg); +per_frame_36=bb=if(equal(s,0),l,bb); +per_frame_37= +per_frame_38=////////////////////////////////////////////////////////////////////////////// +per_frame_39=ob_r=rr; +per_frame_40=ob_g=gg; +per_frame_41=ob_b=bb; +per_frame_42=ib_r=abs(rr-.25); +per_frame_43=ib_g=abs(gg-.25); +per_frame_44=ib_b=abs(bb-.25); +per_frame_45= +per_frame_46= +per_frame_47=zoom = .905; +per_frame_48=warp = .905 * (1-(bass*.01)); diff --git a/presets_milkdrop_104/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk b/presets/presets_bltc201/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk rename to presets/presets_bltc201/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk diff --git a/presets/presets_bltc201/baked - River of Illusion (InfecteD acid mix).milk b/presets/presets_bltc201/baked - River of Illusion (InfecteD acid mix).milk new file mode 100755 index 0000000000..529b6c5c35 --- /dev/null +++ b/presets/presets_bltc201/baked - River of Illusion (InfecteD acid mix).milk @@ -0,0 +1,296 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=tos = treb; +per_pixel_4=bos = bass; +per_pixel_5=warp = (bos + bass + bass) * .1; +per_pixel_6=cx = (cx + treb) * .5; +per_pixel_7= +per_pixel_8=q2 = q4 * (bass+0.25) ; +per_pixel_9=warp = q4-q2; +per_pixel_10= +per_pixel_11=cx = ( bos - (bass/bos) ) * 1.5; +per_pixel_12=cy = tos - (treb/tos)*((cx/cx)/(bos/tos)); +per_pixel_13= +per_pixel_14=dx = dy+.01 ; +per_pixel_15=dy = dx-.01 ; +per_pixel_16= +per_pixel_17=basstemp= bass + bass_att + bass_thresh; +per_pixel_18=trebtemp= treb + treb_att + treb_thresh; +per_pixel_19=trasstemp= (max(basstemp, trebtemp)); +per_pixel_20=trassave= (trasstemp/3); +per_pixel_21= +per_pixel_22=basst= max(bass + bass_att, treb + treb_att); +per_pixel_23=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_24=midbeat= trebb/3; +per_pixel_25=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_26=mtb= midtb/2.25; +per_pixel_27= +per_pixel_28=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_29=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_30=beetAB= (beetA+beetB)/2; +per_pixel_31=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_32=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_33=beetCD= (beetC+beetD)/2; +per_pixel_34=beet= (beetAB+beetCD) /2; +per_pixel_35= +per_pixel_36=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_bltc201/baked - River of Illusion Dillusion [Bubble].milk b/presets/presets_bltc201/baked - River of Illusion Dillusion [Bubble].milk new file mode 100755 index 0000000000..1aa2ed13ae --- /dev/null +++ b/presets/presets_bltc201/baked - River of Illusion Dillusion [Bubble].milk @@ -0,0 +1,295 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2= +shape_1_per_frame3=x = (sin(time)*0.090+0.5); +shape_1_per_frame4=y = (sin(time/5)*0.090+0.5); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.218587 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=4.492867 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=q2 = q4 * (bass+0.25) ; +per_pixel_8=warp = q4-q2; +per_pixel_9= +per_pixel_10=dx = dy+.01 ; +per_pixel_11=dy = dx-.01 ; +per_pixel_12= +per_pixel_13=basstemp= bass + bass_att + bass_thresh; +per_pixel_14=trebtemp= treb + treb_att + treb_thresh; +per_pixel_15=trasstemp= (max(basstemp, trebtemp)); +per_pixel_16=trassave= (trasstemp/3); +per_pixel_17= +per_pixel_18=basst= max(bass + bass_att, treb + treb_att); +per_pixel_19=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_20=midbeat= trebb/3; +per_pixel_21=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_22=mtb= midtb/2.25; +per_pixel_23= +per_pixel_24=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_25=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_26=beetAB= (beetA+beetB)/2; +per_pixel_27=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_28=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_29=beetCD= (beetC+beetD)/2; +per_pixel_30=beet= (beetAB+beetCD) /2; +per_pixel_31= +per_pixel_32=madbeat= (trassave+mtb+beet) /3; diff --git a/presets_milkdrop_104/baked - mushroom rainbows[2].milk b/presets/presets_bltc201/baked - mushroom rainbows[2].milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/baked - mushroom rainbows[2].milk rename to presets/presets_bltc201/baked - mushroom rainbows[2].milk diff --git a/presets_milkdrop_104/baked - mushroom rainbows[acid Storm].milk b/presets/presets_bltc201/baked - mushroom rainbows[acid Storm].milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/baked - mushroom rainbows[acid Storm].milk rename to presets/presets_bltc201/baked - mushroom rainbows[acid Storm].milk diff --git a/presets/presets_bltc201/fiShbRaiN + EoS + Phat - starburst totem pole.milk b/presets/presets_bltc201/fiShbRaiN + EoS + Phat - starburst totem pole.milk new file mode 100644 index 0000000000..84a74593db --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN + EoS + Phat - starburst totem pole.milk @@ -0,0 +1,377 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.650000 +fVideoEchoZoom=0.996621 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=7.709095 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.800000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.999993 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=zero=zero+1; +wave_0_per_point2=zero=if(above(zero,1),0,zero); +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5=tri_point=rand(3); +wave_0_per_point6= +wave_0_per_point7=txp1=0; +wave_0_per_point8=txp2=1; +wave_0_per_point9= +wave_0_per_point10=typ1=0.2; +wave_0_per_point11=typ2=0.2; +wave_0_per_point12= +wave_0_per_point13=//top point +wave_0_per_point14=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_0_per_point15=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_0_per_point16= +wave_0_per_point17=//left point +wave_0_per_point18=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_0_per_point19=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_0_per_point20= +wave_0_per_point21=//right point +wave_0_per_point22=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_0_per_point23=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_0_per_point24= +wave_0_per_point25=x=(t_x-0.5)*0.55 + 0.5 + q4; +wave_0_per_point26=y=t_y + q5 +0.1; +wave_0_per_point27= +wave_0_per_point28=x=if(zero,0.5,x); +wave_0_per_point29=y=if(zero,0.5,y); +wave_0_per_point30= +wave_0_per_point31=v=min(bass*bass*0.78,1); +wave_0_per_point32=r=v; +wave_0_per_point33=g=v; +wave_0_per_point34=b=v; +wave_0_per_point35=a=0.01 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=zero=zero+1; +wave_1_per_point2=zero=if(above(zero,1),0,zero); +wave_1_per_point3= +wave_1_per_point4= +wave_1_per_point5=tri_point=rand(3); +wave_1_per_point6= +wave_1_per_point7=txp1=0; +wave_1_per_point8=txp2=1; +wave_1_per_point9= +wave_1_per_point10=typ1=0.2; +wave_1_per_point11=typ2=0.2; +wave_1_per_point12= +wave_1_per_point13=//top point +wave_1_per_point14=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_1_per_point15=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_1_per_point16= +wave_1_per_point17=//left point +wave_1_per_point18=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_1_per_point19=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_1_per_point20= +wave_1_per_point21=//right point +wave_1_per_point22=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_1_per_point23=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_1_per_point24= +wave_1_per_point25=x=(t_x-0.5)*0.55 + 0.5 - q4; +wave_1_per_point26=y=t_y - q5 +0.1; +wave_1_per_point27= +wave_1_per_point28=x=if(zero,0.5,x); +wave_1_per_point29=y=if(zero,0.5,y); +wave_1_per_point30= +wave_1_per_point31=v=min(bass*bass*0.78,1); +wave_1_per_point32=r=v; +wave_1_per_point33=g=v*0.55; +wave_1_per_point34=b=v*0.01; +wave_1_per_point35=a=0.01 +wave_1_per_point36= +wave_1_per_point37= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=tri_point=rand(3); +wave_2_per_point2= +wave_2_per_point3=txp1=0; +wave_2_per_point4=txp2=1; +wave_2_per_point5= +wave_2_per_point6=typ1=0.2; +wave_2_per_point7=typ2=0.2; +wave_2_per_point8= +wave_2_per_point9=//top point +wave_2_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_2_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_2_per_point12= +wave_2_per_point13=//left point +wave_2_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_2_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_2_per_point16= +wave_2_per_point17=//right point +wave_2_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_2_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_2_per_point20= +wave_2_per_point21=x=(t_x-0.5)*0.55 + 0.5; +wave_2_per_point22=y=t_y; +wave_2_per_point23= +wave_2_per_point24= +wave_2_per_point25=x=x+q4; +wave_2_per_point26=y=y+q5+0.1; +wave_2_per_point27= +wave_2_per_point28= +wave_2_per_point29=v=min(bass*bass*0.78,1); +wave_2_per_point30=r=v; +wave_2_per_point31=g=v; +wave_2_per_point32=b=v; +wave_2_per_point33=a=1 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=tri_point=rand(3); +wave_3_per_point2= +wave_3_per_point3=txp1=0; +wave_3_per_point4=txp2=1; +wave_3_per_point5= +wave_3_per_point6=typ1=0.2; +wave_3_per_point7=typ2=0.2; +wave_3_per_point8= +wave_3_per_point9=//top point +wave_3_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_3_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_3_per_point12= +wave_3_per_point13=//left point +wave_3_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_3_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_3_per_point16= +wave_3_per_point17=//right point +wave_3_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_3_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_3_per_point20= +wave_3_per_point21=x=(t_x-0.5)*0.55 + 0.5; +wave_3_per_point22=y=t_y; +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=x=x+q4; +wave_3_per_point26=y=y+q5+0.1; +wave_3_per_point27= +wave_3_per_point28=v=min(bass*bass*0.78,1); +wave_3_per_point29=r=v; +wave_3_per_point30=g=v; +wave_3_per_point31=b=v; +wave_3_per_point32=a=1 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.400000 +shapecode_0_rad=0.329957 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.822124 +shapecode_0_tex_zoom=0.880263 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=1.830; +shape_0_per_frame2=//tex_ang=above(bass,1)*3.14; +shape_0_per_frame3=a=above(treb,0.5)*0.05; +shape_0_per_frame4=x=0.5+q4; +shape_0_per_frame5=y=0.4+q5+0.1 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.390000 +shapecode_1_rad=2.946219 +shapecode_1_ang=1.822124 +shapecode_1_tex_ang=1.822124 +shapecode_1_tex_zoom=2.448610 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.010000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=1.830; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.808141 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.400000 +shapecode_2_g=0.400000 +shapecode_2_b=0.800000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.700000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.500000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364566 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.498314 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=decay=.99; +per_frame_2=zoom=1.00; +per_frame_3=//dx=sin(time*0.3)*0.001; +per_frame_4=//dy=cos(time*0.15)*0.001; +per_frame_5= +per_frame_6=basstime=basstime+(bass_att*bass_att)*0.02; +per_frame_7=midtime=midtime+(mid_att*mid_att)*0.01; +per_frame_8= +per_frame_9=qx=sin(basstime*0.2)*0.2; +per_frame_10=cx=0.5+qx; +per_frame_11=q4=qx; +per_frame_12= +per_frame_13=qy=sin(midtime*0.2)*0.2; +per_frame_14=cy=0.5-qy; +per_frame_15=q5=qy; +per_frame_16=monitor=q4 +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_3= +per_pixel_4=var = tan(rd*(1+(bass))); +per_pixel_5=var = var*var; +per_pixel_6= +per_pixel_7=zm = 1+ (0.001*var)*rd; +per_pixel_8=zm=zm*1.003; +per_pixel_9=sx=zm; +per_pixel_10=sy=zm; +per_pixel_11=sx=1.005 diff --git a/presets/presets_bltc201/fiShbRaiN - a quiet death.milk b/presets/presets_bltc201/fiShbRaiN - a quiet death.milk new file mode 100755 index 0000000000..0b58251e42 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - a quiet death.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=0.996624 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.711381 +fWaveScale=1.163966 +fWaveSmoothing=0.810000 +fWaveParam=-0.600000 +fModWaveAlphaStart=1.110000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.184233 +fWarpScale=1.204928 +fZoomExponent=5.582155 +fShader=0.000000 +zoom=1.019604 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.104292 +sx=0.998168 +sy=1.051003 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=19.199999 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=0.000000 +mv_l=1.699999 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.816691 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=a=bass*.5; +wave_0_per_point1=x=(sin((sample*100%10)*3.1415*bass*.02)*.5)+(sin(treb)*.5); +wave_0_per_point2=r=.25-y; +wave_0_per_point3=g=treb*.5; +wave_0_per_point4=b=y-.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.819543 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=x=(cos(sample*100%20)*.5)+.5; +wave_1_per_point2= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.599579 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=2.216689 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.400000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=(sin(time)*3.1415)+bass-treb; +shape_0_per_frame2=rad=treb; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.241456 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.344205 +shapecode_1_r=0.700000 +shapecode_1_g=0.500000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=(.5*sin(time*.2))+.5; +shape_1_per_frame2=y=sin(time); +shape_1_per_frame3=rad=sin(time*.23); +shape_1_per_frame4=ang=sin(time*.5); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542790 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999992 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.900000 +shapecode_2_g2=0.600000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.200000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=(above(bass,1)*sin(time))+cos(time); +shape_2_per_frame2=x=rand(10)*.1; +shape_2_per_frame3=y=rand(10)*.1; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=dx=dx+(sin(time)*.002); +per_pixel_1=zoom=zoom+(abs(sin(time))*rad*.04); diff --git a/presets/presets_bltc201/fiShbRaiN - breakfast cruiser.milk b/presets/presets_bltc201/fiShbRaiN - breakfast cruiser.milk new file mode 100755 index 0000000000..d9a996766f --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - breakfast cruiser.milk @@ -0,0 +1,227 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.498684 +fVideoEchoAlpha=0.600000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.763004 +fWaveScale=2.114586 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=8.815298 +fZoomExponent=8.311067 +fShader=0.500000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.020000 +warp=3.209173 +sx=0.942040 +sy=0.999996 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=nx=.5; +wave_0_init2=ny=.5; +wave_0_per_point1=nd=rand(4); +wave_0_per_point2= +wave_0_per_point3=nx=nx+(equal(nd,0)*.01*mid); +wave_0_per_point4=nx=nx+(equal(nd,2)*-.01*mid); +wave_0_per_point5=ny=ny+(equal(nd,1)*.01*mid); +wave_0_per_point6=ny=ny+(equal(nd,3)*-.01*mid); +wave_0_per_point7= +wave_0_per_point8=x=nx; +wave_0_per_point9=y=ny; +wave_0_per_point10= +wave_0_per_point11=r=bass*.6; +wave_0_per_point12=g=treb*.6; +wave_0_per_point13= +wave_0_per_point14=nx=if(equal(sample,1),rand(10)*.1,nx); +wave_0_per_point15=ny=if(equal(sample,1),rand(10)*.1,ny); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662308 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.200000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.900000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_pixel_1=wave_r=sin(time); +per_pixel_2=wave_b=sin(time*.23); +per_pixel_3=wave_g=sin(time*.47); diff --git a/presets/presets_bltc201/fiShbRaiN - city slicker.milk b/presets/presets_bltc201/fiShbRaiN - city slicker.milk new file mode 100755 index 0000000000..76b3ffd6fe --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - city slicker.milk @@ -0,0 +1,229 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006591 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.900000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.842830 +fWarpScale=17.690186 +fZoomExponent=1.001829 +fShader=1.000000 +zoom=0.999513 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.200000 +warp=5.277905 +sx=2.006757 +sy=2.047096 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.350000 +mv_r=0.800000 +mv_g=0.887329 +mv_b=1.000000 +mv_a=0.050000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.671653 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_init1=newr=rand(100)*.01; +wave_0_init2=newb=rand(100)*.01; +wave_0_init3=newg=rand(100)*.01; +wave_0_init4= +wave_0_init5= +wave_0_per_point1=x=sample; +wave_0_per_point2=newr=newr+((rand(10)-5)*.001); +wave_0_per_point3=newb=newb+((rand(10)-5)*.001); +wave_0_per_point4=newg=newg+((rand(10)-5)*.001); +wave_0_per_point5=r=newr; +wave_0_per_point6=g=newg; +wave_0_per_point7=b=newb; +wave_0_per_point8= +wave_0_per_point9=x=(x*100%50)*.02; +wave_0_per_point10= +wave_0_per_point11=y=y-.45; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=x=(sample*100%100)*.01; +wave_1_per_point2=y=y-.45; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.130000 +shapecode_0_rad=0.122019 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.671651 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.100000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.120000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_r=bass*.75; +per_frame_2=mv_g=treb*.75; +per_frame_3=mv_dx=sin(time)*.1; +per_frame_4=mv_dy=cos(time)*.1; diff --git a/presets/presets_bltc201/fiShbRaiN - crystal glasses.milk b/presets/presets_bltc201/fiShbRaiN - crystal glasses.milk new file mode 100755 index 0000000000..1a6132935b --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - crystal glasses.milk @@ -0,0 +1,213 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=0.276106 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.415783 +fWaveScale=1.053717 +fWaveSmoothing=0.000000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.310000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.408386 +fShader=0.500000 +zoom=0.989618 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.100000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.100000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.800000 +mv_g=0.800000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.104618 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.300000 +wavecode_0_g=0.900000 +wavecode_0_b=0.600000 +wavecode_0_a=0.500000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=60 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.644631 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.250000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.449289 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.600000 +shapecode_0_g=0.200000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=rad=rad+(above(bass,.5)*.4*bass); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.150000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.010000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=rad+(treb*.3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.850000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.010000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad=rad+(treb*.3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=dy=dy+(above(treb,1)*treb*sin(time)*.3); +per_pixel_1=dx=dx+rad*.01*sin(time*.01); +per_pixel_2=rot=rot+(rad*treb*.05*above(treb,1)); diff --git a/presets/presets_bltc201/fiShbRaiN - jade nicotine.milk b/presets/presets_bltc201/fiShbRaiN - jade nicotine.milk new file mode 100755 index 0000000000..ec8965c77f --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - jade nicotine.milk @@ -0,0 +1,230 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.140000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=9.737579 +fZoomExponent=0.999995 +fShader=0.000000 +zoom=0.999513 +rot=0.020000 +cx=0.470000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.438652 +sx=0.999996 +sy=0.978433 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.350000 +mv_r=0.800000 +mv_g=0.887329 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.231186 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.200000 +wave_0_per_point1=x=sin(y)+sin(time); +wave_0_per_point2=y=sample; +wave_0_per_point3=r=bass*.75; +wave_0_per_point4=g=mid*.75; +wave_0_per_point5=b=treb*.75; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.248318 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.200000 +wave_1_per_point1=x=sin(y)+cos(time); +wave_1_per_point2=y=sample; +wave_1_per_point3=r=bass*.75; +wave_1_per_point4=g=mid*.75; +wave_1_per_point5=b=treb*.75; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.500000 +wavecode_2_g=0.200000 +wavecode_2_b=1.000000 +wavecode_2_a=0.040000 +wave_2_per_point1=x=sample+(rand(10)*.01); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.768913 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.644628 +shapecode_0_r=0.800000 +shapecode_0_g=1.000000 +shapecode_0_b=0.800000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.700000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.600000 +shapecode_0_border_g=0.600000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=rad=sin(time); +shape_0_per_frame2=x=bass; +shape_0_per_frame3=ang=time; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.990000 +shapecode_1_g=0.800000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.800000 +shapecode_1_g2=0.400000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=0.800000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=rad=cos(time*.5); +shape_1_per_frame2=x=treb; +shape_1_per_frame3=ang=time*.5; +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244863 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.800000 +shapecode_2_g=0.800000 +shapecode_2_b=1.000000 +shapecode_2_a=0.300000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.800000 +shapecode_2_b2=0.400000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.490000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a2=time; +shape_2_per_frame2=rad=treb_att*.3; +shape_2_per_frame3=x=(sin(time)*.5)+.1; +shape_2_per_frame4=y=(cos(time)*.5)+(treb*.1); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=sin(time); +shape_3_per_frame2=a=(cos(time)*.1); diff --git a/presets/presets_bltc201/fiShbRaiN - lost in the bottle.milk b/presets/presets_bltc201/fiShbRaiN - lost in the bottle.milk new file mode 100755 index 0000000000..2f53b1a281 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - lost in the bottle.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.925000 +fVideoEchoZoom=1.356732 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.732989 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.910000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.905287 +fWarpScale=2.188998 +fZoomExponent=0.094414 +fShader=1.000000 +zoom=1.093153 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=100.000000 +sx=0.999996 +sy=0.819498 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.200000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.400000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.216707 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=r=rand(100)*.01; +wave_0_per_point2=g=r; +wave_0_per_point3=b=r; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.347849 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.400000 +wave_1_per_point1=r=bass*.5; +wave_1_per_point2=g=r; +wave_1_per_point3=b=r; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=26.671766 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.200000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089260 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.800000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad+(bass_att+treb_att)*.15; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599575 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.800000 +shapecode_1_g=0.800000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=time; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.653093 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=4.448415 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_x=(sin(time)*.5)+.5; +per_frame_2=echo_zoom=bass_att; diff --git a/presets/presets_bltc201/fiShbRaiN - one step beyond (jelly remix).milk b/presets/presets_bltc201/fiShbRaiN - one step beyond (jelly remix).milk new file mode 100755 index 0000000000..57b86145e2 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - one step beyond (jelly remix).milk @@ -0,0 +1,286 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.140000 +fDecay=0.895000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.101411 +fWarpScale=1.981669 +fZoomExponent=5.830084 +fShader=1.000000 +zoom=1.019604 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.880267 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=ma=rand(100); +wave_0_per_point2= +wave_0_per_point3=mx=mx+(.002*cos(ma)); +wave_0_per_point4=my=my+(.02*sin(ma)); +wave_0_per_point5= +wave_0_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point7=my=if(above(my,.9),(.9-my),my); +wave_0_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point9=my=if(below(my,.1),(.9+my),my); +wave_0_per_point10= +wave_0_per_point11=x=mx; +wave_0_per_point12=y=my; +wave_0_per_point13= +wave_0_per_point14=a=(above(bass+mid+treb,.8)); +wave_0_per_point15=g=treb*.6; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ma=rand(100); +wave_1_per_point2= +wave_1_per_point3=mx=mx+(.004*cos(ma)); +wave_1_per_point4=my=my+(.004*sin(ma)); +wave_1_per_point5= +wave_1_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point7=my=if(above(my,.9),(.9-my),my); +wave_1_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point9=my=if(below(my,.1),(.9+my),my); +wave_1_per_point10= +wave_1_per_point11=x=mx; +wave_1_per_point12=y=my; +wave_1_per_point13= +wave_1_per_point14=r=bass*.6; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma=rand(100); +wave_2_per_point2= +wave_2_per_point3=mx=mx+(.002*cos(ma)); +wave_2_per_point4=my=my+(.02*sin(ma)); +wave_2_per_point5= +wave_2_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point7=my=if(above(my,.9),(.9-my),my); +wave_2_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point9=my=if(below(my,.1),(.9+my),my); +wave_2_per_point10= +wave_2_per_point11=x=mx; +wave_2_per_point12=y=my; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.400000 +wave_3_per_point1=ma=rand(100); +wave_3_per_point2= +wave_3_per_point3=mx=mx+(.02*cos(ma)); +wave_3_per_point4=my=my+(.02*sin(ma)); +wave_3_per_point5= +wave_3_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point7=my=if(above(my,.9),(.9-my),my); +wave_3_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point9=my=if(below(my,.1),(.9+my),my); +wave_3_per_point10= +wave_3_per_point11=x=mx; +wave_3_per_point12=y=my; +wave_3_per_point13= +wave_3_per_point14=g=above(bass_att,1)*bass; +wave_3_per_point15=r=treb*.7; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621742 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.347847 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.300000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=cx=(treb+bass)*.6; +per_pixel_1=//rot=rad*.1*(treb_att-.7); +per_pixel_2=//zoom=zoom+(rad*.1*(bass_att-.7)); +per_pixel_3= +per_pixel_4=//dy=dy+(above(bass,1)*(bass_att-1.15)*.02); +per_pixel_5= +per_pixel_6=//rot=rot+(pow(bass_att,bass)*mid*sin(ang)*rad*.1); +per_pixel_7=//dy=dy+(above(treb_att,1.2)*pow(treb_att,treb)*rad); +per_pixel_8= +per_pixel_9=rot1=(above(treb,1)*rad*treb_att*.01); +per_pixel_10=rot2=(above(treb,1.1)*rad*bass*.01); +per_pixel_11=rot3=(above(treb,1.2)*rad*bass*sin(time)*.01); +per_pixel_12=rot4=(above(treb,1.3)*rad*treb*.1); +per_pixel_13=rot5=(above(treb,1.4)*rad*bass_att*treb_att*.1); +per_pixel_14= +per_pixel_15=rot=max(rot1,max(rot2,max(rot3,max(rot4,rot5)))); +per_pixel_16= +per_pixel_17=zoom1=(above(bass,1)*rad*.1); +per_pixel_18=zoom2=(above(bass,1.1)*rad*bass_att*-.1); +per_pixel_19=zoom3=(above(bass,1.2)*rad*bass_att*sin(time)*.1); +per_pixel_20=zoom4=(above(bass,1.4)*ang*bass_att*-.1); +per_pixel_21= +per_pixel_22=dy=max(zoom1,max(zoom2,max(zoom3,zoom4))); diff --git a/presets/presets_bltc201/fiShbRaiN - one step beyond.milk b/presets/presets_bltc201/fiShbRaiN - one step beyond.milk new file mode 100755 index 0000000000..537d685593 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - one step beyond.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.140000 +fDecay=0.900000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.101411 +fWarpScale=1.981669 +fZoomExponent=2.448627 +fShader=1.000000 +zoom=1.019604 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.880267 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=ma=rand(100); +wave_0_per_point2= +wave_0_per_point3=mx=mx+(.002*cos(ma)); +wave_0_per_point4=my=my+(.02*sin(ma)); +wave_0_per_point5= +wave_0_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point7=my=if(above(my,.9),(.9-my),my); +wave_0_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point9=my=if(below(my,.1),(.9+my),my); +wave_0_per_point10= +wave_0_per_point11=x=mx; +wave_0_per_point12=y=my; +wave_0_per_point13= +wave_0_per_point14=a=(above(bass+mid+treb,.8)); +wave_0_per_point15=g=treb*.6; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ma=rand(100); +wave_1_per_point2= +wave_1_per_point3=mx=mx+(.004*cos(ma)); +wave_1_per_point4=my=my+(.004*sin(ma)); +wave_1_per_point5= +wave_1_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point7=my=if(above(my,.9),(.9-my),my); +wave_1_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point9=my=if(below(my,.1),(.9+my),my); +wave_1_per_point10= +wave_1_per_point11=x=mx; +wave_1_per_point12=y=my; +wave_1_per_point13= +wave_1_per_point14=r=bass*.6; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma=rand(100); +wave_2_per_point2= +wave_2_per_point3=mx=mx+(.002*cos(ma)); +wave_2_per_point4=my=my+(.02*sin(ma)); +wave_2_per_point5= +wave_2_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point7=my=if(above(my,.9),(.9-my),my); +wave_2_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point9=my=if(below(my,.1),(.9+my),my); +wave_2_per_point10= +wave_2_per_point11=x=mx; +wave_2_per_point12=y=my; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.400000 +wave_3_per_point1=ma=rand(100); +wave_3_per_point2= +wave_3_per_point3=mx=mx+(.02*cos(ma)); +wave_3_per_point4=my=my+(.02*sin(ma)); +wave_3_per_point5= +wave_3_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point7=my=if(above(my,.9),(.9-my),my); +wave_3_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point9=my=if(below(my,.1),(.9+my),my); +wave_3_per_point10= +wave_3_per_point11=x=mx; +wave_3_per_point12=y=my; +wave_3_per_point13= +wave_3_per_point14=g=above(bass_att,1)*bass; +wave_3_per_point15=r=treb*.7; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621742 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.347847 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.300000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.364567 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_pixel_1=rot=rad*.1*(treb_att-.7); +per_pixel_2=zoom=zoom+(rad*.1*(bass_att-.7)); +per_pixel_3= +per_pixel_4=dy=dy+(above(bass,1)*(bass_att-1.15)*.02); diff --git a/presets/presets_bltc201/fiShbRaiN - pan galactic gargle blaster.milk b/presets/presets_bltc201/fiShbRaiN - pan galactic gargle blaster.milk new file mode 100755 index 0000000000..b719f85fdc --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - pan galactic gargle blaster.milk @@ -0,0 +1,214 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.925000 +fVideoEchoZoom=0.224041 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=3.148324 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.819540 +fWarpScale=4.392803 +fZoomExponent=7.858083 +fShader=1.000000 +zoom=0.989618 +rot=0.020000 +cx=0.799900 +cy=0.500000 +dx=-0.000000 +dy=0.000000 +warp=2.155450 +sx=1.061516 +sy=0.998165 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=25.599995 +nMotionVectorsY=9.600000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.100000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.369710 +wavecode_2_smoothing=0.700000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=1.000000 +wavecode_2_a=0.200000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.300000 +shapecode_0_b=0.000000 +shapecode_0_a=0.599900 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.799900 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.149900 +shape_0_per_frame1=x=x+(sin(time)*.5); +shape_0_per_frame2=rad=rad+(bass*.5); +shape_0_per_frame3=y=y+((bass-.75)*.5); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.050330 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.800000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.090000 +shape_1_per_frame1=rad=rad+(treb*.3); +shape_1_per_frame2=ang=ang+sin(time)*2*treb; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_pixel_1=zoom=zoom+(above(rad,.5)*above(y,.5)*sin(time)*rad*.08); +per_pixel_2=rot=rot+(above(rad,.5)*sin(time+.05)*.08); diff --git a/presets/presets_bltc201/fiShbRaiN - psychotic meltdown.milk b/presets/presets_bltc201/fiShbRaiN - psychotic meltdown.milk new file mode 100755 index 0000000000..66ec00b523 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - psychotic meltdown.milk @@ -0,0 +1,305 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.770001 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059151 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=3.749272 +fWarpScale=0.721417 +fZoomExponent=0.255373 +fShader=0.500000 +zoom=0.989617 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.030301 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +wave_3_per_point18= +wave_3_per_point19=r=treb_att*.7; +wave_3_per_point20=g=bass_att*.6; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.700000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.134784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.220188 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.3+(rand(10)*.3); +shape_0_per_frame2=rad=bass*.4; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.700000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=treb*.5; +shape_1_per_frame2=rad=treb_att*.4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=cx=if(above(bass,1.4),rand(10)*.1,cx); +per_frame_2=cy=if(above(treb,1.4),rand(10)*.1,cy); +per_pixel_1=rot=rot+(pow(bass,rad)*.2*rad); +per_pixel_2=zoom=zoom+(pow(treb,ang)*.04*rad*sin(time)*above(treb,1)); +per_pixel_3= +per_pixel_4=dy=dy+(above(bass,1.3)*sin(time)*.03); +per_pixel_5=dx=dx+(above(treb,1.3)*sin(time*.23)*.03); diff --git a/presets/presets_bltc201/fiShbRaiN - quiet nights in the physics lab.milk b/presets/presets_bltc201/fiShbRaiN - quiet nights in the physics lab.milk new file mode 100755 index 0000000000..076a0cb291 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - quiet nights in the physics lab.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.070000 +fDecay=0.925000 +fVideoEchoZoom=3.669713 +fVideoEchoAlpha=0.150000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.150650 +fWaveScale=0.953928 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.110000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.020000 +warp=0.010000 +sx=0.999994 +sy=1.009993 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999996 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(time)*.5)+.5; +wave_0_per_point2=y=y-.5; +wave_0_per_point3=r=rand(100)*.01; +wave_0_per_point4=g=rand(100)*.01; +wave_0_per_point5=b=rand(100)*.01; +wave_0_per_point6= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.550450 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=x=sample; +wave_1_per_point2=a=bass*.2; +wave_1_per_point3=y=y-.5; +wave_1_per_point4=r=rand(100)*.01; +wave_1_per_point5=g=rand(100)*.01; +wave_1_per_point6=b=rand(100)*.01; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.498313 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.050000 +wave_2_per_point1=temp=x; +wave_2_per_point2=x=y; +wave_2_per_point3=y=temp; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662308 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.608038 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.200000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.700000 +shapecode_0_b2=0.200000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad+(treb*.1); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_pixel_1=zoom=zoom+(rad*above(bass,1.4)*bass*.5*below(rad,.25)); diff --git a/presets/presets_bltc201/fiShbRaiN - soft porn.milk b/presets/presets_bltc201/fiShbRaiN - soft porn.milk new file mode 100755 index 0000000000..478ad7ca01 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - soft porn.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.107410 +fWaveScale=2.335817 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=6.811289 +fShader=0.600000 +zoom=0.904847 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.220183 +sy=1.220186 +wave_r=0.350000 +wave_g=0.350000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.550449 +wavecode_0_smoothing=1.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.400000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=4.027089 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=1.000000 +wavecode_1_b=0.800000 +wavecode_1_a=0.400000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.402707 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.347841 +shapecode_0_r=0.800000 +shapecode_0_g=0.400000 +shapecode_0_b=0.700000 +shapecode_0_a=0.200000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad+bass*.6; +shape_0_per_frame2=ang=time; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.000000 +shapecode_1_rad=0.731600 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.700000 +shapecode_1_g=0.500000 +shapecode_1_b=0.800000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.900000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=treb*.1; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.100000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.800000 +shapecode_2_b2=0.900000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.200000 +shape_2_per_frame1=rad=((treb_att*100%5)*.2); +shape_2_per_frame2=border_a=treb_att*.02; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=cy=(sin(time)*.5)+.5; +per_frame_2=dy=dy+bass_att*.1; +per_frame_3=dy=dy-treb_att*.1; +per_frame_4=wave_r=treb*.5; +per_frame_5=wave_g=bass*.5; diff --git a/presets/presets_bltc201/fiShbRaiN - the dark side of the moon.milk b/presets/presets_bltc201/fiShbRaiN - the dark side of the moon.milk new file mode 100755 index 0000000000..25e437e1d0 --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - the dark side of the moon.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.070000 +fDecay=0.925000 +fVideoEchoZoom=1.828659 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.711382 +fWaveScale=0.389574 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.624064 +fZoomExponent=2.518210 +fShader=0.700000 +zoom=1.009509 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.599179 +sx=0.999998 +sy=0.999999 +wave_r=0.750000 +wave_g=0.750000 +wave_b=0.750000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=31.999994 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.800000 +mv_g=0.887329 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.644627 +wavecode_0_smoothing=0.900000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=((int(sample*10))%10*.1)+.05; +wave_0_per_point2=y=y-.4; +wave_0_per_point3=b=.8-y; +wave_0_per_point4=g=.8-y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=3.300373 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.530000 +shapecode_0_rad=1.637956 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570797 +shapecode_0_tex_zoom=0.493378 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*.5; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.800000 +shapecode_1_g=0.700000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=.5+(sin(time+bass_att*.5)*.5); +shape_1_per_frame2=y=.5+(cos(time+treb_att*.2)*.5); +shape_1_per_frame3=rad=rad+(treb)*.18; +shape_1_per_frame4=r=treb_att*.5; +shape_1_per_frame5=g=bass_att*.5; +shape_1_per_frame6=b=rand(100)*.01; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x=rand(100)*.01; +shape_2_per_frame2=y=rand(100)*.01; +shape_2_per_frame3=rad=rad+(bass)*.18; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.440437 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.334692 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.200000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.030000 +shape_3_per_frame1=ang=time; +shape_3_per_frame2=rad=rad+(treb*.1); +per_frame_1=mv_a=sin(time*.3); diff --git a/presets/presets_bltc201/fiShbRaiN - toffee cream and icing sugar.milk b/presets/presets_bltc201/fiShbRaiN - toffee cream and icing sugar.milk new file mode 100755 index 0000000000..c8d96256fe --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - toffee cream and icing sugar.milk @@ -0,0 +1,291 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.400000 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.951307 +fZoomExponent=0.255373 +fShader=0.500000 +zoom=0.960513 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.972365 +sx=1.030301 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.400000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.203212 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.220188 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 diff --git a/presets/presets_bltc201/fiShbRaiN - when robots take over the world.milk b/presets/presets_bltc201/fiShbRaiN - when robots take over the world.milk new file mode 100755 index 0000000000..d97b6c8c2c --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - when robots take over the world.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=2.722646 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.640708 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=8.311067 +fShader=1.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.216703 +wavecode_0_smoothing=1.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.130000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.300000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.300000 +shape_0_per_frame1=rad=rad+(.3*bass); +shape_0_per_frame2=y=treb*.5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330037 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=rad=rad+(treb*.5); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad=rad+mid*.5; +shape_2_per_frame2=x=x+(sin(time*.3)*.2); +shape_2_per_frame3=y=y+(sin(time+.33)*.2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r=rand(100)*.01; +per_frame_2=wave_g=bass*.5; +per_pixel_1=rot=rot+((rand(10)-5)*.001); +per_pixel_2=rot=rot+(rad*.01); diff --git a/presets_milkdrop_104/fiShbRaiN - white scream firefly.milk b/presets/presets_bltc201/fiShbRaiN - white sceam firefly.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/fiShbRaiN - white scream firefly.milk rename to presets/presets_bltc201/fiShbRaiN - white sceam firefly.milk diff --git a/presets/presets_bltc201/fiShbRaiN - white scream firefly.milk b/presets/presets_bltc201/fiShbRaiN - white scream firefly.milk new file mode 100755 index 0000000000..c070bcccac --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - white scream firefly.milk @@ -0,0 +1,223 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.910000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285745 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=100.000000 +fWarpScale=1.951295 +fZoomExponent=0.010000 +fShader=1.000000 +zoom=0.904847 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.905227 +sx=0.999995 +sy=0.999998 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.741923 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=treb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089252 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=0.900000 +shapecode_0_g=0.400000 +shapecode_0_b=0.800000 +shapecode_0_a=0.800000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.850000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.010000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time; +shape_0_per_frame2=rad=rad+(treb*.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=x-(bass*.05); +shape_1_per_frame2=y=y-(treb*.02)+(sin(time)*.05); +shape_1_per_frame3=rad=rad+treb*.1; +shape_1_per_frame4=g=treb*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.350000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.662308 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550449 +shapecode_2_r=0.400000 +shapecode_2_g=0.800000 +shapecode_2_b=0.900000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.800000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=mid_att*.07; +per_frame_1=sx=bass; +per_frame_2=wave_r=treb*.5; +per_frame_3=wave_g=wave_r; +per_frame_4=wave_b=1; +per_frame_5=echo_zoom=echo_zoom+(above(bass,1.3)*bass*.1); +per_pixel_1=rot=(ang*sin(time)*.02); +per_pixel_2=zoom=zoom+(above(y,.4)*below(y,.6)*bass*.1)*rad; diff --git a/presets/presets_bltc201/fiShbRaiN - witchcraft.milk b/presets/presets_bltc201/fiShbRaiN - witchcraft.milk new file mode 100755 index 0000000000..0aa46e946a --- /dev/null +++ b/presets/presets_bltc201/fiShbRaiN - witchcraft.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.955000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 diff --git a/presets/presets_bltc201/nil - Disco Comet.milk b/presets/presets_bltc201/nil - Disco Comet.milk new file mode 100755 index 0000000000..b93cabc22c --- /dev/null +++ b/presets/presets_bltc201/nil - Disco Comet.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.63 +fDecay=0.925 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.306781 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=3.615999 +nMotionVectorsY=3.720001 +mv_dx=0 +mv_dy=0 +mv_l=0.35 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r=abs(sin(time*7)); +per_frame_2=wave_g=abs(sin(time*7.1)); +per_frame_3=wave_b=abs(sin(time*7.2)); +per_frame_4=cx=sin(time*1.234); +per_frame_5=cy=cos(time*.983); +per_pixel_1=zoom=zoom+sin(rad*5)*sin(time)*.2+.2; +per_pixel_2=rot=rot+sin(rad*.2); diff --git a/presets/presets_bltc201/nil - Vortex of Vortices.milk b/presets/presets_bltc201/nil - Vortex of Vortices.milk new file mode 100755 index 0000000000..58fb4195d2 --- /dev/null +++ b/presets/presets_bltc201/nil - Vortex of Vortices.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.998 +fVideoEchoZoom=7.113829 +fVideoEchoAlpha=0.470001 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=3.985613 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.09 +fModWaveAlphaEnd=0.82 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.04 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0.0035 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.7 +nMotionVectorsX=3.615999 +nMotionVectorsY=3.720001 +mv_dx=0 +mv_dy=0 +mv_l=0.35 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r=sin(time*2.345); +per_frame_2=wave_g=sin(time*1.456); +per_frame_3=wave_b=sin(time*1.789); +per_pixel_1=zoom=zoom+if(above(rad,.666),rad*.01,rad*.1)+sin(ang+time*.534)*.2; +per_pixel_2=rot=sin((rad+time*.666+bass_att*.2)*9)*.2; diff --git a/presets/presets_bltc201/phat + EoS - 2ct2V5.milk b/presets/presets_bltc201/phat + EoS - 2ct2V5.milk new file mode 100644 index 0000000000..93ba4b9181 --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - 2ct2V5.milk @@ -0,0 +1,232 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.750000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995941 +shapecode_0_ang=0.188496 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.762997 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.040000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.5+0.5; +shape_1_per_frame5=y=sin(adv)*0.5+0.5; +shape_1_per_frame6=r=bass_att; +shape_1_per_frame7=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=sin(time/10)*0.02; +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; diff --git a/presets/presets_bltc201/phat + EoS - 2ct2V6.milk b/presets/presets_bltc201/phat + EoS - 2ct2V6.milk new file mode 100644 index 0000000000..cef4de343a --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - 2ct2V6.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=1.000000 +fVideoEchoZoom=1.008151 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=8.311067 +fShader=0.700000 +zoom=1.000000 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=1.000000 +warp=0.010000 +sx=1.001827 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.527749 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.571746 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.480000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=.190+sin(time)*.190 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.506255 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.903621 +shapecode_1_r=0.360000 +shapecode_1_g=0.600000 +shapecode_1_b=0.700000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.500000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/17; +shape_1_per_frame4=x=cos(adv)*0.3+0.5; +shape_1_per_frame5=y=sin(adv)*0.3+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=16 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=0.110462 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.028414 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.70; +per_frame_2=zoom=.99; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=sin(time/5)*0.02; +per_frame_5= +per_frame_6=ob_r=.360+((sin(time/5)*0.5+0.5)*.6); +per_frame_7=ob_g=.490+((sin(time/14)*0.5+0.5)*.5); +per_frame_8=ob_b=.500+((sin(time/18)*0.5+0.5)*.5); +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=var1=above(sin(time*3)*10,9)*sin(time*6)*0.2; +per_pixel_6=var2=above(sin(ang/6+time*2),0.6); +per_pixel_7=rot=var1*var2; +per_pixel_8= +per_pixel_9=dx=dx+0.001; +per_pixel_10=dy=dy+0.001 diff --git a/presets/presets_bltc201/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk b/presets/presets_bltc201/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk new file mode 100644 index 0000000000..0f5d7b268c --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=2.220753 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wave_0_per_point1= +wave_0_per_point2=s=sample*6.28; +wave_0_per_point3= +wave_0_per_point4=//plot random x position via function of sample pos; +wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point6=xp=xp*0.20; +wave_0_per_point7= +wave_0_per_point8=//plot random y position via function of sample pos; +wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point10=yp=yp*0.20; +wave_0_per_point11= +wave_0_per_point12=//plot random z position via function of sample pos; +wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point14=zp=zp*0.25; +wave_0_per_point15= +wave_0_per_point16=//pull stars toward screen +wave_0_per_point17=zp=zp + 1 - t1; +wave_0_per_point18= +wave_0_per_point19=//correct when below 0 +wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point21= +wave_0_per_point22=//darken far stars +wave_0_per_point23=a=(1 - zp*0.5); +wave_0_per_point24= +wave_0_per_point25=zp=zp*0.7; +wave_0_per_point26= +wave_0_per_point27=x_screen=xp/zp + 0.5; +wave_0_per_point28=y_screen=yp/zp + 0.5; +wave_0_per_point29= +wave_0_per_point30=x=x_screen; +wave_0_per_point31=y=y_screen; +wave_0_per_point32= +wave_0_per_point33=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wave_1_per_point1= +wave_1_per_point2=s=sample*6.28; +wave_1_per_point3= +wave_1_per_point4=//plot random x position via function of sample pos; +wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); +wave_1_per_point6=xp=xp*0.20; +wave_1_per_point7= +wave_1_per_point8=//plot random y position via function of sample pos; +wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point10=yp=yp*0.20; +wave_1_per_point11= +wave_1_per_point12=//plot random z position via function of sample pos; +wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point14=zp=zp*0.25; +wave_1_per_point15= +wave_1_per_point16=//pull stars toward screen +wave_1_per_point17=zp=zp + 1 - t1; +wave_1_per_point18= +wave_1_per_point19=//correct when below 0 +wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point21= +wave_1_per_point22=//darken far stars +wave_1_per_point23=a=(1 - zp*0.5); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=1;g=0.9;b=1.0 +wavecode_2_enabled=1 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.360001 +wave_2_per_point1=x=rand(1000)*0.001; +wave_2_per_point2=y=rand(1000)*0.001; +wave_2_per_point3=r=0.9;g=1;b=1 +wavecode_3_enabled=1 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.320001 +wave_3_per_point1=x=rand(1000)*0.001; +wave_3_per_point2=y=rand(1000)*0.001; +wave_3_per_point3=r=1.0;g=1;b=0.9 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=x=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame9=y=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame10=rad=rand(100)*0.01*0.4+0.1; +shape_1_per_frame11=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1.0; +per_frame_2=zoom=1.009; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10=cx=-1;cy=2;rot=-treb*0.002; +per_frame_11= +per_frame_12=cx=sin(time*0.1)*1.5 + 0.5; +per_frame_13=cy=cos(time*0.2)*1.5 + 0.5 +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(y)*0.005*(rad+2)*treb ; +per_pixel_6=//dy=sin(x)*0.005*(rad+2)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_bltc201/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk b/presets/presets_bltc201/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk new file mode 100644 index 0000000000..d6d8ae07bd --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.500000 +fVideoEchoZoom=1.001821 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.325446 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.038696 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=advb=advb+(treb*treb)*0.06; +shape_0_per_frame3= +shape_0_per_frame4=x=sin(advb)*0.5+0.5; +shape_0_per_frame5=y=cos(advb)*0.5+0.5; +shape_0_per_frame6= +shape_0_per_frame7=tm=time*0.3; +shape_0_per_frame8=r=sin(tm)/2 + 0.4999; +shape_0_per_frame9=g=sin(tm+0.2)/2 + 0.4999; +shape_0_per_frame10=b=sin(tm+0.41)/2 + 0.4999; +shape_0_per_frame11=r2=sin(tm)/2 + 0.4999; +shape_0_per_frame12=g2=sin(tm+0.2)/2 + 0.4999; +shape_0_per_frame13=b2=sin(tm+0.41)/2 + 0.4999 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.458306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.028414 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.800000 +shape_1_per_frame1=ang=cos(time/2)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.3+0.5; +shape_1_per_frame5=y=sin(adv)*0.3+0.5; +shape_1_per_frame6= +shape_1_per_frame7=tm=time*0.3; +shape_1_per_frame8=r=sin(tm+0.2)*0.5 + 0.4999; +shape_1_per_frame9=g=sin(tm+0.4)*0.5 + 0.4999; +shape_1_per_frame10=b=sin(tm+0.61)*0.5 + 0.4999; +shape_1_per_frame11=r2=r; +shape_1_per_frame12=g2=g; +shape_1_per_frame13=b2=b; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.089242 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.513274 +shapecode_2_tex_zoom=0.451117 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_init1=mork=0 +shape_2_per_frame1=ang=sin(time/3); +shape_2_per_frame2= +shape_2_per_frame3=mork=mork+0.003; +shape_2_per_frame4=mork=mork* below(mork, 3) - above(mork, 3); +shape_2_per_frame5=var=max( min(mork,1) , 0 ); +shape_2_per_frame6= +shape_2_per_frame7=a=var; +shape_2_per_frame8=a2=var; +shape_2_per_frame9=border_a=var; +shape_2_per_frame10= +shape_2_per_frame11=sides=(sin(time/2)*0.5 + 0.5)*2.5 + 3; +shape_2_per_frame12= +shape_2_per_frame13=rad=1+((sin(time/2)*0.5+0.5)*0.5) +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=ea=0 +per_frame_init_9= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=0.01; +per_frame_5=echo_zoom= (sin(time)*0.5 + 0.5)*2 + 1; +per_frame_6=ea=ea+1; +per_frame_7=ea=ea * below(ea , 1.1); +per_frame_8=alphaflux= sin(time*0.3)*0.5 + 0.5; +per_frame_9=echo_alpha=(ea*(1-alphaflux)) + (0.5*alphaflux); +per_frame_10= +per_frame_11=zflux=above( cos(time*0.4)*10 , 9) * cos(time*1.6); +per_frame_12=zoom=zoom+ (zflux*0.5); +per_frame_13=invert=above(cos(time/2)*0.5+0.5,0.5) +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=bax=above( sin(time*1)*10 , 9) * sin(time*2)*0.3; +per_pixel_6=bar=above( sin(x*26 + time*4) , 0.6 ); +per_pixel_7= +per_pixel_8=bay=above( cos(time*1)*10 , 9) * sin(time*2)*0.6; +per_pixel_9=bat=above( sin(ang*3 + time*4) , 0.6 ); +per_pixel_10= +per_pixel_11=zoom=zoom + bar*bax; +per_pixel_12=rot=rot + bay*bat diff --git a/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix.milk b/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix.milk new file mode 100644 index 0000000000..d93a915f1a --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995941 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.762997 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.5+0.5; +shape_1_per_frame5=y=sin(adv)*0.5+0.5; +shape_1_per_frame6=r=bass_att; +shape_1_per_frame7=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004+((cos(time/10)*0.5+0.5)*0.003); +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/1.3)*0.3)+0.5*0.5)*0.2); +per_frame_6=mv_g=.390+(((sin(time/1.4)*0.3)+0.5*0.5)*0.2); +per_frame_7=mv_b=.882+((sin((time/1.5)+0.9)+0.5*0.5)*0.1); +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=var1=above(sin(time*16)*10,9)*sin(time*2)*.09; +per_pixel_6=var2=above(sin(ang*12+time*2),0.6); +per_pixel_7=rot=(var1*var2)*rad*rad; +per_pixel_8= +per_pixel_9=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix3.milk b/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix3.milk new file mode 100644 index 0000000000..32dd806d8b --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - TesellatingFractal_Mix3.milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.408350 +sy=0.551440 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995941 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.762997 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=var=above((bass_att+treb_att+mid_att),1.2); +shape_0_per_frame2=a=var; +shape_0_per_frame3=a2=var; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.5+0.5; +shape_1_per_frame5=y=sin(adv)*0.5+0.5; +shape_1_per_frame6=r=bass_att; +shape_1_per_frame7=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=18 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.005903 +shapecode_2_ang=0.125664 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.923481 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=var=1*(above(sin(time/2.5),.5)*below(sin(time/2.5),0.7)); +shape_2_per_frame2=a=var; +shape_2_per_frame3=a2=var; +shape_2_per_frame4=ang=sin(time/2)-0.03 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.329092 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.565487 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=var=above(sin(time/2.5),0.7); +shape_3_per_frame2=a=var; +shape_3_per_frame3=a2=var; +shape_3_per_frame4=ang=cos(time)-0.015; +shape_3_per_frame5=border=var; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004+((cos(time/10)*0.5+0.5)*0.004); +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/1.3)*0.3)+0.5*0.5)*0.2); +per_frame_6=mv_g=.390+(((sin(time/1.4)*0.3)+0.5*0.5)*0.2); +per_frame_7=mv_b=.882+((sin((time/1.5)+0.9)+0.5*0.5)*0.1); +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=var3=((sin(time)*0.5+0.5)*12)+1; +per_pixel_6=var1=above(sin(time*16)*10,9)*sin(time*2)*.09; +per_pixel_7=var2=above(sin(ang*var3+time*2),0.6); +per_pixel_8=var4=above(sin(time/3),-0.5); +per_pixel_9=rot=if(var4,(var1*var2)*rad*rad,sin(time/10)*0.02); +per_pixel_10= +per_pixel_11=dx=bass*(sin(time)*0.002)*y; +per_pixel_12=dy=bass*(cos(time)*0.002)*x; +per_pixel_13=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_bltc201/phat + EoS - ouch.milk b/presets/presets_bltc201/phat + EoS - ouch.milk new file mode 100644 index 0000000000..6d9fa983ec --- /dev/null +++ b/presets/presets_bltc201/phat + EoS - ouch.milk @@ -0,0 +1,348 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wave_0_per_point1= +wave_0_per_point2=s=sample*6.28; +wave_0_per_point3= +wave_0_per_point4=//plot random x position via function of sample pos; +wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point6=xp=xp*0.20; +wave_0_per_point7= +wave_0_per_point8=//plot random y position via function of sample pos; +wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point10=yp=yp*0.20; +wave_0_per_point11= +wave_0_per_point12=//plot random z position via function of sample pos; +wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point14=zp=zp*0.25; +wave_0_per_point15= +wave_0_per_point16=//pull stars toward screen +wave_0_per_point17=zp=zp + 1 - t1; +wave_0_per_point18= +wave_0_per_point19=//correct when below 0 +wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point21= +wave_0_per_point22=//darken far stars +wave_0_per_point23=a=(1 - zp*0.5); +wave_0_per_point24= +wave_0_per_point25=zp=zp*0.7; +wave_0_per_point26= +wave_0_per_point27=x_screen=xp/zp + 0.5; +wave_0_per_point28=y_screen=yp/zp + 0.5; +wave_0_per_point29= +wave_0_per_point30=x=x_screen; +wave_0_per_point31=y=y_screen; +wave_0_per_point32= +wave_0_per_point33=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wave_1_per_point1= +wave_1_per_point2=s=sample*6.28; +wave_1_per_point3= +wave_1_per_point4=//plot random x position via function of sample pos; +wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); +wave_1_per_point6=xp=xp*0.20; +wave_1_per_point7= +wave_1_per_point8=//plot random y position via function of sample pos; +wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point10=yp=yp*0.20; +wave_1_per_point11= +wave_1_per_point12=//plot random z position via function of sample pos; +wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point14=zp=zp*0.25; +wave_1_per_point15= +wave_1_per_point16=//pull stars toward screen +wave_1_per_point17=zp=zp + 1 - t1; +wave_1_per_point18= +wave_1_per_point19=//correct when below 0 +wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point21= +wave_1_per_point22=//darken far stars +wave_1_per_point23=a=(1 - zp*0.5); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=1;g=0.9;b=1.0 +wavecode_2_enabled=1 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.360001 +wave_2_per_point1=x=rand(1000)*0.001; +wave_2_per_point2=y=rand(1000)*0.001; +wave_2_per_point3=r=0.9;g=1;b=1 +wavecode_3_enabled=1 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.320001 +wave_3_per_point1=x=rand(1000)*0.001; +wave_3_per_point2=y=rand(1000)*0.001; +wave_3_per_point3=r=1.0;g=1;b=0.9 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=area=bass*bass; +shape_1_per_frame9= +shape_1_per_frame10=xp=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame11=x=(xp-0.5)*area + 0.5; +shape_1_per_frame12= +shape_1_per_frame13=yp=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame14=y=(yp-0.5)*area + 0.5; +shape_1_per_frame15= +shape_1_per_frame16=rad=rand(100)*0.01*0.4+0.1; +shape_1_per_frame17=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1.0; +per_frame_2=zoom=-1.006; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10=cx=-1;cy=2;rot=-treb*0.002; +per_frame_11= +per_frame_12=cx=cos(time*0.1)*1.5 + 0.5; +per_frame_13=cy=cos(time*0.2)*1.5 + 0.5; +per_frame_14= +per_frame_15=flash=flash + min(sin(time*0.1)*0.30+0.30,0.5); +per_frame_16=flash=if( above(flash,1) , flash-1 , flash); +per_frame_17=invert= above(flash,0.5) +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(ang+bass)*0.005*(ang+mid)*treb ; +per_pixel_6=//dy=sin(ang+bass)*0.005*(ang+mid)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_bltc201/phat_2C-B6.milk b/presets/presets_bltc201/phat_2C-B6.milk new file mode 100755 index 0000000000..84543414fd --- /dev/null +++ b/presets/presets_bltc201/phat_2C-B6.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.520000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.999998 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.300000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.566091 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=5.026548 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/10)*0.1; +shape_0_per_frame7=r=cos(time/12)*0.2; +shape_0_per_frame8=b=sin(time/15)*0.3; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628318 +shapecode_1_tex_zoom=5.053412 +shapecode_1_r=0.000000 +shapecode_1_g=0.500000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.800000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time)*0.3+0.5; +shape_1_per_frame4=y=sin(time)*0.3+0.5; +shape_1_per_frame5= +shape_1_per_frame6=r=sin(time)*.896; +shape_1_per_frame7=g=cos(time)*.784; +shape_1_per_frame8=b=sin(time)*0.634; +shape_1_per_frame9=r2=cos(time)*0.896; +shape_1_per_frame10=g2=sin(time)*.784; +shape_1_per_frame11=b2=cos(time)*0.634 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.030299 +shapecode_2_ang=1.193805 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.9999; +per_frame_2=zoom=-.97-((sin(time)*0.5+0.5)*0.03); +per_frame_3=rot=0; +per_frame_4=ib_b=(sin(time/6))+0.5*0.5; +per_frame_5=ib_g=(cos(time/7)*0.3)+0.5*0.5; +per_frame_6=ib_r=(sin(time/8)*0.3)+0.5*0.5; +per_frame_7=ob_b=(sin((time/8)+0.9)+0.5*0.5); +per_frame_8=ob_g=sin((time/7)+0.1); +per_frame_9=ob_r=(cos(time/6))+0.3; +per_frame_10= +per_frame_11=sx=1+((sin(time)*0.5+0.5)*0.02); +per_frame_12=sy=1+((cos(time)*0.5+0.5)*0.02) +per_pixel_1=warp=-1*(((sin(time/2)*0.5+0.5)*3)*x)+(((cos(time/2)*0.5+0.5)*3)*y); +per_pixel_2=dx=sin(time*y)*0.01*rad; +per_pixel_3=dy=cos(time*x)*0.01*rad diff --git a/presets/presets_bltc201/phat_It'sJustNumbers_remix3.milk b/presets/presets_bltc201/phat_It'sJustNumbers_remix3.milk new file mode 100755 index 0000000000..19b00073f6 --- /dev/null +++ b/presets/presets_bltc201/phat_It'sJustNumbers_remix3.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=0.991909 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.368212 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/10)*0.1; +shape_0_per_frame7=r=cos(time/12)*0.2; +shape_0_per_frame8=b=sin(time/15)*0.3; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628318 +shapecode_1_tex_zoom=5.053452 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time)*0.3+0.5; +shape_1_per_frame4=y=sin(time)*0.3+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.9999; +per_frame_2=zoom=-.999; +per_frame_3=rot=sin(time/10)*0.02; +per_frame_4=ib_b=(sin(time/20))+0.5*0.5; +per_frame_5=ib_g=(cos(time/15)*0.3)+0.5*0.5; +per_frame_6=ib_r=(sin(time/17)*0.3)+0.5*0.5; +per_frame_7=ob_b=(sin((time/17)+0.9)+0.5*0.5); +per_frame_8=ob_g=sin((time/20)+0.1); +per_frame_9=ob_r=(cos(time/15))+0.3; +per_frame_10= +per_pixel_1=xtc=sin(time/10)*10; +per_pixel_2= +per_pixel_3=speed=40-above(bass,0.9)*15; +per_pixel_4=speed=speed+xtc; +per_pixel_5= +per_pixel_6= +per_pixel_7=acid=x*sin(time/10); +per_pixel_8=morphine=y*cos(time/10); +per_pixel_9= +per_pixel_10=dmt=above((treb*treb*treb/3),2.5)*.01; +per_pixel_11=saliva=above(treb,0.9)*.01; +per_pixel_12= +per_pixel_13=cx=dmt*(rad)*0.1; +per_pixel_14=cy=saliva*(rad)*0.1; +per_pixel_15= +per_pixel_16=dx=sin(y*speed)*0.01; +per_pixel_17=dy=cos(x*speed)*0.01; +per_pixel_18= +per_pixel_19=zoom=cos(x*(sin(time/10)*0.1))+(y*(cos(time/10)*0.1)); +per_pixel_20= +per_pixel_21=warp=-1*(((sin(time/2)*0.5+0.5)*3)*x)+(((cos(time/2)*0.5+0.5)*3)*y) diff --git a/presets_milkdrop_104/shifter & fiShbRaiN - witchcraft (i'm melting).milk b/presets/presets_bltc201/shifter & fiShbRaiN - witchcraft (i'm melting).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter & fiShbRaiN - witchcraft (i'm melting).milk rename to presets/presets_bltc201/shifter & fiShbRaiN - witchcraft (i'm melting).milk diff --git a/presets/presets_bltc201/shifter + geiss - neon pulse (glow mix).milk b/presets/presets_bltc201/shifter + geiss - neon pulse (glow mix).milk new file mode 100755 index 0000000000..0e886e3150 --- /dev/null +++ b/presets/presets_bltc201/shifter + geiss - neon pulse (glow mix).milk @@ -0,0 +1,358 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.4 +fDecay=0.975 +fVideoEchoZoom=1.051 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.85235 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.0 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=0.030 +wave_0_per_point1=r = .6 + .4*sin(time); +wave_0_per_point2=g = .4 + .4*sin(time + 2.094); +wave_0_per_point3=b = .4 + .4*sin(time + 4.188); +wave_0_per_point4= +wave_0_per_point5=sw = 1-sw; +wave_0_per_point6= +wave_0_per_point7=mx = equal(int(q2)%2,0); +wave_0_per_point8=mx = abs(mx - (q2 - int(q2))); +wave_0_per_point9=my = .5 + (.5 - mx); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x = mx + value1*(1-2*sw); +wave_0_per_point13=y = my + value2*(1-2*sw); +wave_0_per_point14= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.0 +wavecode_1_g=0.0 +wavecode_1_b=0.0 +wavecode_1_a=0.030 +wave_1_per_point1=g = .6 + .4*sin(time); +wave_1_per_point2=b = .4 + .4*sin(time + 2.094); +wave_1_per_point3=r = .4 + .4*sin(time + 4.188); +wave_1_per_point4= +wave_1_per_point5=sw = 1-sw; +wave_1_per_point6= +wave_1_per_point7=mx = equal(int(q3)%2,0); +wave_1_per_point8=mx = abs(mx - (q3 - int(q3))); +wave_1_per_point9=my = .5 + (.5 - mx); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=x = mx + value1*(1-2*sw); +wave_1_per_point13=y = my + value2*(1-2*sw); +wave_1_per_point14= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.030 +wave_2_per_point1=b = .6 + .4*sin(time); +wave_2_per_point2=r = .4 + .4*sin(time + 2.094); +wave_2_per_point3=g = .4 + .4*sin(time + 4.188); +wave_2_per_point4= +wave_2_per_point5=sw = 1-sw; +wave_2_per_point6= +wave_2_per_point7=mx = equal(int(q4)%2,0); +wave_2_per_point8=mx = abs(mx - (q4 - int(q4))); +wave_2_per_point9=my = .5 + (.5 - mx); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=x = mx + value1*(1-2*sw); +wave_2_per_point13=y = my + value2*(1-2*sw); +wave_2_per_point14= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.0 +shapecode_0_y=0.0 +shapecode_0_rad=1.32910 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x - 0.03; +comp_19=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_20=`ret *= 2.3; +comp_21=` +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets_milkdrop_104/shifter - a thousand monkeys_phat_edit (subliminal mix).milk b/presets/presets_bltc201/shifter - a thousand monkeys_phat_edit (subliminal mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - a thousand monkeys_phat_edit (subliminal mix).milk rename to presets/presets_bltc201/shifter - a thousand monkeys_phat_edit (subliminal mix).milk diff --git a/presets_milkdrop_104/shifter - brain coral (left brained).milk b/presets/presets_bltc201/shifter - brain coral (left brained).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - brain coral (left brained).milk rename to presets/presets_bltc201/shifter - brain coral (left brained).milk diff --git a/presets_milkdrop_104/shifter - brain coral.milk b/presets/presets_bltc201/shifter - brain coral.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - brain coral.milk rename to presets/presets_bltc201/shifter - brain coral.milk diff --git a/presets_milkdrop_104/shifter - cellular_Phat_YAK_Infusion_v2.milk b/presets/presets_bltc201/shifter - cellular_Phat_YAK_Infusion_v2.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - cellular_Phat_YAK_Infusion_v2.milk rename to presets/presets_bltc201/shifter - cellular_Phat_YAK_Infusion_v2.milk diff --git a/presets/presets_bltc201/shifter - dark tides (EoS+phat_whisps of doom mix).milk b/presets/presets_bltc201/shifter - dark tides (EoS+phat_whisps of doom mix).milk new file mode 100644 index 0000000000..841b5ede71 --- /dev/null +++ b/presets/presets_bltc201/shifter - dark tides (EoS+phat_whisps of doom mix).milk @@ -0,0 +1,390 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=2.144269 +fVideoEchoAlpha=0.310000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=-1.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.721420 +sx=1.000000 +sy=0.980296 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = sample; +wave_0_per_point2=y = 0.01; +wave_0_per_point3=a = value1*2; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = sample; +wave_1_per_point2=y = 0.99; +wave_1_per_point3=a = value2*2; +wavecode_2_enabled=0 +wavecode_2_samples=62 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x = 1 - sample; +wave_2_per_point2=y = .5 + value1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=0.380001 +wavecode_3_g=0.720000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .3; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14= +wave_3_per_point15=a = equal(lev,7); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=aang = 1.57; +wave_3_per_point53= +wave_3_per_point54=len = len*mad; +wave_3_per_point55=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point56=y = .5 + above(lev,0)*cos(aang)*len; +wave_3_per_point57= +wave_3_per_point58=an = (ar*aang + br*bang)*br; +wave_3_per_point59=len = len*mad; +wave_3_per_point60=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point61=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point62= +wave_3_per_point63=an = (ar*aang + br*bang + cr*cang)*cr; +wave_3_per_point64=len = len*mad; +wave_3_per_point65=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point66=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point67= +wave_3_per_point68=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_3_per_point69=len = len*mad; +wave_3_per_point70=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point71=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point72= +wave_3_per_point73=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_3_per_point74=len = len*mad; +wave_3_per_point75=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point76=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point77= +wave_3_per_point78=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_3_per_point79=len = len*mad; +wave_3_per_point80=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point81=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point82= +wave_3_per_point83=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_3_per_point84=len = len*mad; +wave_3_per_point85=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point86=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point87= +wave_3_per_point88=x = (x-.5)*.75 + .5; +wave_3_per_point89= +wave_3_per_point90=a=0.1 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=bl = 3.8; +per_frame_2=ul = 7.9; +per_frame_3=rate = 11.9; +per_frame_4=cha = .01; +per_frame_5= +per_frame_6=gv = if(above(gv,bl), if(below(gv,ul), if(above(fps,rate),gv + cha,gv - cha), ul-.1),bl+.1); +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10=monitor = gv; +per_frame_11= +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14=tic = min(time - tin,1); +per_frame_15=tin = time; +per_frame_16= +per_frame_17=ra = 10; +per_frame_18= +per_frame_19= +per_frame_20=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_21=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_22=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_23= +per_frame_24=rb = 1; +per_frame_25=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_26=q1 = treb_avg; +per_frame_27=q2 = mid_avg; +per_frame_28=q3 = bass_avg; +per_frame_29= +per_frame_30=db = bass - bass_avg; +per_frame_31= +per_frame_32=it = (it + tic)*below(it,1); +per_frame_33= +per_frame_34=rb = .5*(1/tic); +per_frame_35=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_36=bd = bass - bvb; +per_frame_37= +per_frame_38=vm = vm - tic + swi; +per_frame_39=swi = above(bd - vm,0); +per_frame_40= +per_frame_41=q4 = 1-swi; +per_frame_42= +per_frame_43=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_44=iter = (iter + tic)*(1-above(iter,30)); +per_frame_45=q5 = if(equal(cm,0),3,cm); +per_frame_46= +per_frame_47=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_48=itar = (itar + tic)*(1-above(itar,5)); +per_frame_49= +per_frame_50=q6 = int(vav*5); +per_frame_51= +per_frame_52= +per_frame_53=decay=0.97; +per_frame_54=zoom=1.01; +per_frame_55=sx=1;sy=1; +per_pixel_1=warp = bass; diff --git a/presets/presets_bltc201/shifter - digi.milk b/presets/presets_bltc201/shifter - digi.milk new file mode 100755 index 0000000000..7bc395bfb3 --- /dev/null +++ b/presets/presets_bltc201/shifter - digi.milk @@ -0,0 +1,774 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.998789 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.200613 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.540000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.331000 +fZoomExponent=2.216699 +fShader=0.000000 +zoom=0.999922 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .2; +wave_0_per_frame18=ra = .1; +wave_0_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_0_per_frame20=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15=a = equal(lev,8); +wave_0_per_point16= +wave_0_per_point17=ar = if(above(sample,0),ar,1); +wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point19=br = if(above(sample,0),br,1); +wave_0_per_point20=br = if(equal(lev,1),br*-1,br); +wave_0_per_point21=cr = if(above(sample,0),cr,1); +wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point23=dr = if(above(sample,0),dr,1); +wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point25=er = if(above(sample,0),er,1); +wave_0_per_point26=er = if(equal(lev,4),er*-1,er); +wave_0_per_point27=fr = if(above(sample,0),fr,1); +wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point29=gr = if(above(sample,0),gr,1); +wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point31=hr = if(above(sample,0),hr,1); +wave_0_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_0_per_point33= +wave_0_per_point34=mlev = lev*above(sample,0); +wave_0_per_point35= +wave_0_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point37= +wave_0_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point42=he = if(swi,1-2*rand(2),he); +wave_0_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_0_per_point46= +wave_0_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_0_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_0_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_0_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_0_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_0_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_0_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_0_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_0_per_point55= +wave_0_per_point56=len = len*mad; +wave_0_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_0_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_0_per_point59= +wave_0_per_point60=an = bang*(ar + br)*br; +wave_0_per_point61=len = len*mad; +wave_0_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_0_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_0_per_point64= +wave_0_per_point65=an = cang*(ar + br + cr)*cr; +wave_0_per_point66=len = len*mad; +wave_0_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_0_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_0_per_point69= +wave_0_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_0_per_point71=len = len*mad; +wave_0_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_0_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_0_per_point74= +wave_0_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_0_per_point76=len = len*mad; +wave_0_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_0_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_0_per_point79= +wave_0_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_0_per_point81=len = len*mad; +wave_0_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_0_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_0_per_point84= +wave_0_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_0_per_point86=len = len*mad; +wave_0_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_0_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_0_per_point89= +wave_0_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_0_per_point91=len = len*mad; +wave_0_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_0_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_0_per_point94= +wave_0_per_point95=x = (x-.5)*.75 + .5; +wave_0_per_point96= +wave_0_per_point97=x = int(x*200)*.005; +wave_0_per_point98=y = int(y*200)*.005; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .3; +wave_1_per_frame18=ra = .1; +wave_1_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_1_per_frame20=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15=a = equal(lev,8); +wave_1_per_point16= +wave_1_per_point17=ar = if(above(sample,0),ar,1); +wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point19=br = if(above(sample,0),br,1); +wave_1_per_point20=br = if(equal(lev,1),br*-1,br); +wave_1_per_point21=cr = if(above(sample,0),cr,1); +wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point23=dr = if(above(sample,0),dr,1); +wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point25=er = if(above(sample,0),er,1); +wave_1_per_point26=er = if(equal(lev,4),er*-1,er); +wave_1_per_point27=fr = if(above(sample,0),fr,1); +wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point29=gr = if(above(sample,0),gr,1); +wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point31=hr = if(above(sample,0),hr,1); +wave_1_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_1_per_point33= +wave_1_per_point34=mlev = lev*above(sample,0); +wave_1_per_point35= +wave_1_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point37= +wave_1_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point42=he = if(swi,1-2*rand(2),he); +wave_1_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_1_per_point46= +wave_1_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_1_per_point55= +wave_1_per_point56=len = len*mad; +wave_1_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_1_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_1_per_point59= +wave_1_per_point60=an = bang*(ar + br)*br; +wave_1_per_point61=len = len*mad; +wave_1_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_1_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_1_per_point64= +wave_1_per_point65=an = cang*(ar + br + cr)*cr; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_1_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_1_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_1_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_1_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_1_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_1_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95=x = (x-.5)*.75 + .5; +wave_1_per_point96= +wave_1_per_point97=x = int(x*200)*.005; +wave_1_per_point98=y = int(y*200)*.005; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .4; +wave_2_per_frame18=ra = .1; +wave_2_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_2_per_frame20=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15=a = equal(lev,8); +wave_2_per_point16= +wave_2_per_point17=ar = if(above(sample,0),ar,1); +wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point19=br = if(above(sample,0),br,1); +wave_2_per_point20=br = if(equal(lev,1),br*-1,br); +wave_2_per_point21=cr = if(above(sample,0),cr,1); +wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point23=dr = if(above(sample,0),dr,1); +wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point25=er = if(above(sample,0),er,1); +wave_2_per_point26=er = if(equal(lev,4),er*-1,er); +wave_2_per_point27=fr = if(above(sample,0),fr,1); +wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point29=gr = if(above(sample,0),gr,1); +wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point31=hr = if(above(sample,0),hr,1); +wave_2_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_2_per_point33= +wave_2_per_point34=mlev = lev*above(sample,0); +wave_2_per_point35= +wave_2_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point37= +wave_2_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point42=he = if(swi,1-2*rand(2),he); +wave_2_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_2_per_point46= +wave_2_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_2_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_2_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_2_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_2_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_2_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_2_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_2_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_2_per_point55= +wave_2_per_point56=len = len*mad; +wave_2_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_2_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_2_per_point59= +wave_2_per_point60=an = bang*(ar + br)*br; +wave_2_per_point61=len = len*mad; +wave_2_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_2_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_2_per_point64= +wave_2_per_point65=an = cang*(ar + br + cr)*cr; +wave_2_per_point66=len = len*mad; +wave_2_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_2_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_2_per_point69= +wave_2_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_2_per_point71=len = len*mad; +wave_2_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_2_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_2_per_point74= +wave_2_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_2_per_point76=len = len*mad; +wave_2_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_2_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_2_per_point79= +wave_2_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_2_per_point81=len = len*mad; +wave_2_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_2_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_2_per_point84= +wave_2_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_2_per_point86=len = len*mad; +wave_2_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_2_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_2_per_point89= +wave_2_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_2_per_point91=len = len*mad; +wave_2_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_2_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_2_per_point94= +wave_2_per_point95=x = (x-.5)*.75 + .5; +wave_2_per_point96= +wave_2_per_point97=x = int(x*200)*.005; +wave_2_per_point98=y = int(y*200)*.005; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,8); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31=hr = if(above(sample,0),hr,1); +wave_3_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_3_per_point33= +wave_3_per_point34=mlev = lev*above(sample,0); +wave_3_per_point35= +wave_3_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point37= +wave_3_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point42=he = if(swi,1-2*rand(2),he); +wave_3_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_3_per_point46= +wave_3_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_3_per_point55= +wave_3_per_point56=len = len*mad; +wave_3_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point59= +wave_3_per_point60=an = bang*(ar + br)*br; +wave_3_per_point61=len = len*mad; +wave_3_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point64= +wave_3_per_point65=an = cang*(ar + br + cr)*cr; +wave_3_per_point66=len = len*mad; +wave_3_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point69= +wave_3_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point71=len = len*mad; +wave_3_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point74= +wave_3_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point76=len = len*mad; +wave_3_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point79= +wave_3_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point81=len = len*mad; +wave_3_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point84= +wave_3_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point86=len = len*mad; +wave_3_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point89= +wave_3_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_3_per_point91=len = len*mad; +wave_3_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_3_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_3_per_point94= +wave_3_per_point95=x = (x-.5)*.75 + .5; +wave_3_per_point96= +wave_3_per_point97=x = int(x*200)*.005; +wave_3_per_point98=y = int(y*200)*.005; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.630000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.356410 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.138466 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=it = (it + 1)*below(it,10000); +shape_0_per_frame2=x = if(it%2,.26,.7247); +shape_0_per_frame3= +shape_0_per_frame4=tm = time*.1; +shape_0_per_frame5=x = .26 + .4647*(tm-int(tm)); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.100000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.833456 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=5.403539 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.570797 +shapecode_2_tex_zoom=0.498300 +shapecode_2_r=0.900000 +shapecode_2_g=0.940000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.840000 +shapecode_2_g2=0.930000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.100000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=r = .75 + .25*sin(time*1.187); +shape_2_per_frame2=g = .75 + .25*sin(time*1.153); +shape_2_per_frame3=b = .75 + .25*sin(time*1.105); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 1.5 - r; +shape_2_per_frame6=g2 = 1.5 - g; +shape_2_per_frame7=b2 = 1.5 - b; +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.847536 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=5.592035 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7= +per_frame_8= +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12= +per_frame_13=rb = 1; +per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_15=q1 = treb_avg; +per_frame_16=q2 = mid_avg; +per_frame_17=q3 = bass_avg; +per_frame_18= +per_frame_19=db = bass - bass_avg; +per_frame_20= +per_frame_21=it = (it + tic)*below(it,1); +per_frame_22= +per_frame_23=rb = .5*(1/tic); +per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_25=bd = bass - bvb; +per_frame_26= +per_frame_27=vm = vm - tic + swi; +per_frame_28=swi = above(bd - vm,0); +per_frame_29= +per_frame_30=q4 = 1-swi; +per_frame_31= +per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_33=iter = (iter + tic)*(1-above(iter,30)); +per_frame_34=q5 = if(equal(cm,0),3,cm); +per_frame_35= +per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_37=itar = (itar + tic)*(1-above(itar,5)); +per_frame_38= +per_frame_39=q6 = int(vav*5); +per_frame_40= +per_frame_41=monitor = q6; +per_frame_42= +per_frame_43=decay = 1; diff --git a/presets/presets_bltc201/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_bltc201/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..8dad83227f --- /dev/null +++ b/presets/presets_bltc201/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets/presets_bltc201/shifter - escape the worm - EoS + Phat 5362.milk b/presets/presets_bltc201/shifter - escape the worm - EoS + Phat 5362.milk new file mode 100644 index 0000000000..123b784df4 --- /dev/null +++ b/presets/presets_bltc201/shifter - escape the worm - EoS + Phat 5362.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006543 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.125000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.336672 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3=q3*q3*0.5 + 0.1; +per_frame_40= +per_frame_41=q4 = mt; +per_frame_42=q5 = bt; +per_frame_43= +per_frame_44=cx = q1; +per_frame_45=cy = q2; +per_frame_46= +per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_52= +per_frame_53=q6 = rmod; +per_frame_54= +per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_56= +per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_58= +per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.5;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_26= diff --git a/presets_milkdrop_104/shifter - feathers (angel wings).milk b/presets/presets_bltc201/shifter - feathers (angel wings).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - feathers (angel wings).milk rename to presets/presets_bltc201/shifter - feathers (angel wings).milk diff --git a/presets/presets_bltc201/shifter - fractal grinder.milk b/presets/presets_bltc201/shifter - fractal grinder.milk new file mode 100755 index 0000000000..3201fa491a --- /dev/null +++ b/presets/presets_bltc201/shifter - fractal grinder.milk @@ -0,0 +1,458 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.950000 +fVideoEchoZoom=0.741631 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=1.157176 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.842831 +fShader=1.000000 +zoom=0.970113 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.004000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = min(time-tir,.1); +wave_0_per_frame2=tir = time; +wave_0_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_0_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_0_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_0_per_frame9=ar=vr; +wave_0_per_frame10=ag=vg; +wave_0_per_frame11=ab=vb; +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = time; +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point8= +wave_0_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_0_per_point10= +wave_0_per_point11=ox = sign(ox)*pow(ox,4)*2; +wave_0_per_point12=oy = sign(oy)*pow(oy,4)*2; +wave_0_per_point13=oz = sign(oz)*pow(oz,4)*2; +wave_0_per_point14= +wave_0_per_point15=a = (1.732 - dis)*.57735; +wave_0_per_point16= +wave_0_per_point17=xang = q2; +wave_0_per_point18=yang = q3; +wave_0_per_point19=zang = q4; +wave_0_per_point20= +wave_0_per_point21=fov = .5; +wave_0_per_point22= +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point29=ox = mx; +wave_0_per_point30=oy = my; +wave_0_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point33=oy = my; +wave_0_per_point34=oz = mz; +wave_0_per_point35= +wave_0_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point37=x = ox*fov/oz + 0.5; +wave_0_per_point38=x = (x-.5)*0.75 + 0.5; +wave_0_per_point39=y = oy*fov/oz + 0.5; +wave_0_per_point40= +wave_0_per_point41= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tic = min(time-tir,.1); +wave_1_per_frame2=tir = time; +wave_1_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_1_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_1_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_1_per_frame9=ar=vr; +wave_1_per_frame10=ag=vg; +wave_1_per_frame11=ab=vb; +wave_1_per_point1=sp = sample*10; +wave_1_per_point2=ti = time; +wave_1_per_point3= +wave_1_per_point4= +wave_1_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point8= +wave_1_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_1_per_point10= +wave_1_per_point11=ox = sign(ox)*pow(ox,4)*2; +wave_1_per_point12=oy = sign(oy)*pow(oy,4)*2; +wave_1_per_point13=oz = sign(oz)*pow(oz,4)*2; +wave_1_per_point14= +wave_1_per_point15=a = (1.732 - dis)*.57735; +wave_1_per_point16= +wave_1_per_point17=xang = q2; +wave_1_per_point18=yang = q3; +wave_1_per_point19=zang = q4; +wave_1_per_point20= +wave_1_per_point21=fov = .5; +wave_1_per_point22= +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point29=ox = mx; +wave_1_per_point30=oy = my; +wave_1_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point33=oy = my; +wave_1_per_point34=oz = mz; +wave_1_per_point35= +wave_1_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_1_per_point37=x = ox*fov/oz + 0.5; +wave_1_per_point38=x = (x-.5)*0.75 + 0.5; +wave_1_per_point39=y = oy*fov/oz + 0.5; +wave_1_per_point40= +wave_1_per_point41= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tic = min(time-tir,.1); +wave_2_per_frame2=tir = time; +wave_2_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_2_per_frame4= +wave_2_per_frame5= +wave_2_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_2_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_2_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_2_per_frame9=ar=vr; +wave_2_per_frame10=ag=vg; +wave_2_per_frame11=ab=vb; +wave_2_per_point1=sp = sample*10; +wave_2_per_point2=ti = time; +wave_2_per_point3= +wave_2_per_point4= +wave_2_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point8= +wave_2_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_2_per_point10= +wave_2_per_point11=ox = sign(ox)*pow(ox,3)*8; +wave_2_per_point12=oy = sign(oy)*pow(oy,3)*8; +wave_2_per_point13=oz = sign(oz)*pow(oz,3)*8; +wave_2_per_point14= +wave_2_per_point15=a = (1.732 - dis)*.57735; +wave_2_per_point16= +wave_2_per_point17=xang = q2; +wave_2_per_point18=yang = q3; +wave_2_per_point19=zang = q4; +wave_2_per_point20= +wave_2_per_point21=fov = .5; +wave_2_per_point22= +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point29=ox = mx; +wave_2_per_point30=oy = my; +wave_2_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point33=oy = my; +wave_2_per_point34=oz = mz; +wave_2_per_point35= +wave_2_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_2_per_point37=x = ox*fov/oz + 0.5; +wave_2_per_point38=x = (x-.5)*0.75 + 0.5; +wave_2_per_point39=y = oy*fov/oz + 0.5; +wave_2_per_point40= +wave_2_per_point41= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .7; +wave_3_per_point2=rb = .1; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5=tic = min(time-tin,.1); +wave_3_per_point6=tin = if(equal(sample,0),time,tin); +wave_3_per_point7= +wave_3_per_point8=mod = pow(pib,21); +wave_3_per_point9=med = 1; +wave_3_per_point10= +wave_3_per_point11=sp = sample*pib*mod + time*1; +wave_3_per_point12=sam = sample*med - q7; +wave_3_per_point13= +wave_3_per_point14=ox = ra*sin(sam*pib); +wave_3_per_point15=oy = ra*cos(sam*pib); +wave_3_per_point16=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point17=oz = rb*-sin(sp); +wave_3_per_point18=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point19= +wave_3_per_point20= +wave_3_per_point21=a = .5 + .5*cos(sample*pib*3 + pib*.5); +wave_3_per_point22= +wave_3_per_point23=xang = q2; +wave_3_per_point24=yang = q3; +wave_3_per_point25=zang = q4; +wave_3_per_point26=fov = .5; +wave_3_per_point27= +wave_3_per_point28=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point29=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point30=ox = mx; +wave_3_per_point31=oy = my; +wave_3_per_point32=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point33=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point34=ox = mx; +wave_3_per_point35=oz = mz; +wave_3_per_point36=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point37=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point38=oy = my; +wave_3_per_point39=oz = mz; +wave_3_per_point40= +wave_3_per_point41=oz = oz - 2; +wave_3_per_point42=x = ox*fov/oz + 0.5; +wave_3_per_point43=x = (x-.5)*0.75 + 0.5; +wave_3_per_point44=y = oy*fov/oz + 0.5; +wave_3_per_point45= +shapecode_0_enabled=1 +shapecode_0_sides=74 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.800000 +shapecode_0_y=0.200000 +shapecode_0_rad=0.608571 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.756813 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=ang = -q1; +shapecode_1_enabled=1 +shapecode_1_sides=74 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.200000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.608571 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756813 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 5; +shape_1_per_frame1=ang = -q1; +shapecode_2_enabled=1 +shapecode_2_sides=74 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.200000 +shapecode_2_rad=0.608571 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.756813 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang = q1; +shapecode_3_enabled=1 +shapecode_3_sides=74 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.800000 +shapecode_3_y=0.800000 +shapecode_3_rad=0.608571 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=3.141593 +shapecode_3_tex_zoom=0.756813 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = rand(100)*0.01; +shape_3_init2=t2 = rand(100)*0.01; +shape_3_init3=te = 1; +shape_3_init4=poly = 5; +shape_3_per_frame1=ang = q1; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=tt = tt + tic*treb_avg; +per_frame_13=mt = mt + tic*mid_avg; +per_frame_14=bt = bt + tic*bass_avg; +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=sp = abs(vav - slide)*.1; +per_frame_18= +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); +per_frame_20=slide = 1.4; +per_frame_21= +per_frame_22=q1 = vt*.5; +per_frame_23=q2 = tt*.1; +per_frame_24=q3 = mt*.1; +per_frame_25=q4 = bt*.1; +per_frame_26=q5 = .5*slide; +per_frame_27=q7 = vt*.1; +per_frame_28=q8 = time*.1; +per_frame_29=decay = 1; +per_frame_30= diff --git a/presets/presets_bltc201/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk b/presets/presets_bltc201/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk new file mode 100644 index 0000000000..6b59b8fa97 --- /dev/null +++ b/presets/presets_bltc201/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk @@ -0,0 +1,483 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000155 +fShader=0.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = q1; +wave_0_per_point3= +wave_0_per_point4=ox = .25*sin(ti*.327 + sp*6.2832*3.12) + .5*sin(ti*.878 + sp*6.2832*8.68) + .25*sin(ti*.787 + sp*6.2832*7.85); +wave_0_per_point5=oy = .45*sin(ti*.877 + sp*6.2832*2.37) + .25*sin(ti*.482 + sp*6.2832*2.38) + .3*sin(ti*.129 + sp*6.2832*3.21); +wave_0_per_point6=oz = .35*sin(ti*.453 + sp*6.2832*8.97) + .15*sin(ti*.365 + sp*6.2832*5.13) + .5*sin(ti*.385 + sp*6.2832*5.46); +wave_0_per_point7= +wave_0_per_point8=ox = ox*6*q5; +wave_0_per_point9=oy = oy*6*q5; +wave_0_per_point10=oz = oz*6*q5; +wave_0_per_point11= +wave_0_per_point12=xang = q2; +wave_0_per_point13=yang = q3; +wave_0_per_point14=zang = q4; +wave_0_per_point15= +wave_0_per_point16=fov = .5; +wave_0_per_point17= +wave_0_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point20=ox = mx; +wave_0_per_point21=oz = mz; +wave_0_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point24=ox = mx; +wave_0_per_point25=oy = my; +wave_0_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point28=oy = my; +wave_0_per_point29=oz = mz; +wave_0_per_point30= +wave_0_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point32=x = ox*fov/oz + 0.5; +wave_0_per_point33=x = (x-.5)*0.75 + 0.5; +wave_0_per_point34=y = oy*fov/oz + 0.5; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*10; +wave_1_per_point2=ti = q1; +wave_1_per_point3= +wave_1_per_point4=ox = .25*sin(ti*.654 + sp*6.2832*3.12) + .5*sin(ti*.378 + sp*6.2832*8.68) + .25*sin(ti*.537 + sp*6.2832*7.85); +wave_1_per_point5=oy = .45*sin(ti*.465 + sp*6.2832*2.37) + .25*sin(ti*.123 + sp*6.2832*2.38) + .3*sin(ti*.756 + sp*6.2832*3.21); +wave_1_per_point6=oz = .35*sin(ti*.758 + sp*6.2832*8.97) + .15*sin(ti*.187 + sp*6.2832*5.13) + .5*sin(ti*.548 + sp*6.2832*5.46); +wave_1_per_point7= +wave_1_per_point8=ox = ox*6*q5; +wave_1_per_point9=oy = oy*6*q5; +wave_1_per_point10=oz = oz*6*q5; +wave_1_per_point11= +wave_1_per_point12=xang = q2; +wave_1_per_point13=yang = q3; +wave_1_per_point14=zang = q4; +wave_1_per_point15= +wave_1_per_point16=fov = .5; +wave_1_per_point17= +wave_1_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point20=ox = mx; +wave_1_per_point21=oz = mz; +wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point24=ox = mx; +wave_1_per_point25=oy = my; +wave_1_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point28=oy = my; +wave_1_per_point29=oz = mz; +wave_1_per_point30= +wave_1_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_1_per_point32=x = ox*fov/oz + 0.5; +wave_1_per_point33=x = (x-.5)*0.75 + 0.5; +wave_1_per_point34=y = oy*fov/oz + 0.5; +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=r=tan(x*6.28+3+q2); +wave_1_per_point39=r=min ( max(r*treb+0.5,0),1); +wave_1_per_point40=g=tan(y*6.28++32.1+q3); +wave_1_per_point41=g=min ( max(g*mid+0.5,0),1); +wave_1_per_point42=b=tan((x+y)*3.14+3+4.2+q4); +wave_1_per_point43=b=min ( max(b*bass+0.5,0),1); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_2_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_2_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_2_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_2_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_2_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_2_per_frame7= +wave_2_per_frame8=t1 = ra*6.2832; +wave_2_per_frame9=t2 = rb*6.2832; +wave_2_per_frame10=t3 = rc*6.2832; +wave_2_per_frame11=t4 = rd*6.2832; +wave_2_per_frame12=t5 = re*6.2832; +wave_2_per_frame13=t6 = rf*6.2832; +wave_2_per_frame14= +wave_2_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_2_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_2_per_frame17= +wave_2_per_frame18=t7 = rg; +wave_2_per_frame19=t8 = rh; +wave_2_per_frame20= +wave_2_per_frame21= +wave_2_per_frame22=tic = min(time-tir,.1); +wave_2_per_frame23=tir = time; +wave_2_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_2_per_frame25= +wave_2_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_2_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_2_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_2_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=vol = (value1+value2)*.5; +wave_2_per_point7=vol = 0; +wave_2_per_point8=it = it*above(sample,0); +wave_2_per_point9=it = it + 1; +wave_2_per_point10= +wave_2_per_point11=sp = sample*10; +wave_2_per_point12=ti = q1; +wave_2_per_point13= +wave_2_per_point14=ox = .5*sin(ti*t7 + sp*t1) + .5*sin(ti*rb + sp*t4); +wave_2_per_point15=oy = .5*sin(ti*t8 + sp*t2) + .5*sin(ti*rc + sp*t5); +wave_2_per_point16=oz = .5*sin(ti*ra + sp*t3) + .5*sin(ti*rd + sp*t6); +wave_2_per_point17= +wave_2_per_point18=ox = ox*q5; +wave_2_per_point19=oy = oy*q5; +wave_2_per_point20=oz = oz*q5; +wave_2_per_point21= +wave_2_per_point22= +wave_2_per_point23=xang = q2; +wave_2_per_point24=yang = q3; +wave_2_per_point25=zang = q4; +wave_2_per_point26= +wave_2_per_point27=fov = .5; +wave_2_per_point28= +wave_2_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point31=ox = mx; +wave_2_per_point32=oz = mz; +wave_2_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point35=ox = mx; +wave_2_per_point36=oy = my; +wave_2_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point39=oy = my; +wave_2_per_point40=oz = mz; +wave_2_per_point41= +wave_2_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_2_per_point43=x = ox*fov/oz + 0.5; +wave_2_per_point44=x = (x-.5)*0.75 + 0.5; +wave_2_per_point45=y = oy*fov/oz + 0.5; +wave_2_per_point46= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_3_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_3_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_3_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_3_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_3_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_3_per_frame7= +wave_3_per_frame8=t1 = ra*6.2832; +wave_3_per_frame9=t2 = rb*6.2832; +wave_3_per_frame10=t3 = rc*6.2832; +wave_3_per_frame11=t4 = rd*6.2832; +wave_3_per_frame12=t5 = re*6.2832; +wave_3_per_frame13=t6 = rf*6.2832; +wave_3_per_frame14= +wave_3_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_3_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_3_per_frame17= +wave_3_per_frame18=t7 = rg; +wave_3_per_frame19=t8 = rh; +wave_3_per_frame20= +wave_3_per_frame21= +wave_3_per_frame22=tic = min(time-tir,.1); +wave_3_per_frame23=tir = time; +wave_3_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_3_per_frame25= +wave_3_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_3_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_3_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_3_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_3_per_point5= +wave_3_per_point6=vol = (value1+value2)*.5; +wave_3_per_point7=vol = 0; +wave_3_per_point8=it = it*above(sample,0); +wave_3_per_point9=it = it + 1; +wave_3_per_point10= +wave_3_per_point11=sp = sample*10; +wave_3_per_point12=ti = q1; +wave_3_per_point13= +wave_3_per_point14=ox = .5*sin(ti*t7 + sp*t1+q2) + .5*sin(ti*rb + sp*t4); +wave_3_per_point15=oy = .5*sin(ti*t8 + sp*t2+q3) + .5*sin(ti*rc + sp*t5); +wave_3_per_point16=oz = .5*sin(ti*ra + sp*t3+q4) + .5*sin(ti*rd + sp*t6); +wave_3_per_point17= +wave_3_per_point18=ox = ox*q5; +wave_3_per_point19=oy = oy*q5; +wave_3_per_point20=oz = oz*q5; +wave_3_per_point21= +wave_3_per_point22= +wave_3_per_point23=xang = q2; +wave_3_per_point24=yang = q3; +wave_3_per_point25=zang = q4; +wave_3_per_point26= +wave_3_per_point27=fov = .5; +wave_3_per_point28= +wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point31=ox = mx; +wave_3_per_point32=oz = mz; +wave_3_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point35=ox = mx; +wave_3_per_point36=oy = my; +wave_3_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point39=oy = my; +wave_3_per_point40=oz = mz; +wave_3_per_point41= +wave_3_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_3_per_point43=x = ox*fov/oz + 0.5; +wave_3_per_point44=x = (x-.5)*0.75 + 0.5; +wave_3_per_point45=y = oy*fov/oz + 0.5; +wave_3_per_point46= +wave_3_per_point47= +wave_3_per_point48=r=tan(x*6.28+q2); +wave_3_per_point49=r=min ( max(r*treb,0),1); +wave_3_per_point50=g=tan(y*6.28+2.1+q3); +wave_3_per_point51=g=min ( max(g*mid,0),1); +wave_3_per_point52=b=tan((x+y)*3.14+4.2+q4); +wave_3_per_point53=b=min ( max(b*bass,0),1); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.008520 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.508316 +shapecode_0_r=0.900000 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=ti = time*.1; +shape_0_per_frame2=r = .95 + .05*sin(ti*1.821); +shape_0_per_frame3=g = .95 + .05*sin(ti*1.838); +shape_0_per_frame4=b = .95 + .05*sin(ti*1.868); +shape_0_per_frame5= +shape_0_per_frame6=r2=r; +shape_0_per_frame7=g2=g; +shape_0_per_frame8=b2=b; +shapecode_1_enabled=1 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662308 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.503750 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.800000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=a=bass_att; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.518531 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.100000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=a=treb_att; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.089253 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.200000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.200000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.200000 +shape_3_per_frame1=ang=bass; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=tt = tt + tic*treb_avg; +per_frame_13=mt = mt + tic*mid_avg; +per_frame_14=bt = bt + tic*bass_avg; +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=sp = abs(vav - slide)*.1; +per_frame_18= +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); +per_frame_20= +per_frame_21=q1 = vt*.0 + 300; +per_frame_22=q2 = tt*.25; +per_frame_23=q3 = mt*.25; +per_frame_24=q4 = bt*.25; +per_frame_25=q5 = slide*.6*6; +per_frame_26=decay=0.95; +per_frame_27= +per_frame_28=monitor=q3 diff --git a/presets/presets_bltc201/shifter - lattice.milk b/presets/presets_bltc201/shifter - lattice.milk new file mode 100755 index 0000000000..f6268bf623 --- /dev/null +++ b/presets/presets_bltc201/shifter - lattice.milk @@ -0,0 +1,457 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.219713 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000155 +fShader=0.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = q1; +wave_0_per_point3= +wave_0_per_point4=ox = .25*sin(ti*.327 + sp*6.2832*3.12) + .5*sin(ti*.878 + sp*6.2832*8.68) + .25*sin(ti*.787 + sp*6.2832*7.85); +wave_0_per_point5=oy = .45*sin(ti*.877 + sp*6.2832*2.37) + .25*sin(ti*.482 + sp*6.2832*2.38) + .3*sin(ti*.129 + sp*6.2832*3.21); +wave_0_per_point6=oz = .35*sin(ti*.453 + sp*6.2832*8.97) + .15*sin(ti*.365 + sp*6.2832*5.13) + .5*sin(ti*.385 + sp*6.2832*5.46); +wave_0_per_point7= +wave_0_per_point8=ox = ox*6*q5; +wave_0_per_point9=oy = oy*6*q5; +wave_0_per_point10=oz = oz*6*q5; +wave_0_per_point11= +wave_0_per_point12=xang = q2; +wave_0_per_point13=yang = q3; +wave_0_per_point14=zang = q4; +wave_0_per_point15= +wave_0_per_point16=fov = .5; +wave_0_per_point17= +wave_0_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point20=ox = mx; +wave_0_per_point21=oz = mz; +wave_0_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point24=ox = mx; +wave_0_per_point25=oy = my; +wave_0_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point28=oy = my; +wave_0_per_point29=oz = mz; +wave_0_per_point30= +wave_0_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point32=x = ox*fov/oz + 0.5; +wave_0_per_point33=x = (x-.5)*0.75 + 0.5; +wave_0_per_point34=y = oy*fov/oz + 0.5; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*10; +wave_1_per_point2=ti = q1; +wave_1_per_point3= +wave_1_per_point4=ox = .25*sin(ti*.654 + sp*6.2832*3.12) + .5*sin(ti*.378 + sp*6.2832*8.68) + .25*sin(ti*.537 + sp*6.2832*7.85); +wave_1_per_point5=oy = .45*sin(ti*.465 + sp*6.2832*2.37) + .25*sin(ti*.123 + sp*6.2832*2.38) + .3*sin(ti*.756 + sp*6.2832*3.21); +wave_1_per_point6=oz = .35*sin(ti*.758 + sp*6.2832*8.97) + .15*sin(ti*.187 + sp*6.2832*5.13) + .5*sin(ti*.548 + sp*6.2832*5.46); +wave_1_per_point7= +wave_1_per_point8=ox = ox*6*q5; +wave_1_per_point9=oy = oy*6*q5; +wave_1_per_point10=oz = oz*6*q5; +wave_1_per_point11= +wave_1_per_point12=xang = q2; +wave_1_per_point13=yang = q3; +wave_1_per_point14=zang = q4; +wave_1_per_point15= +wave_1_per_point16=fov = .5; +wave_1_per_point17= +wave_1_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point20=ox = mx; +wave_1_per_point21=oz = mz; +wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point24=ox = mx; +wave_1_per_point25=oy = my; +wave_1_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point28=oy = my; +wave_1_per_point29=oz = mz; +wave_1_per_point30= +wave_1_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_1_per_point32=x = ox*fov/oz + 0.5; +wave_1_per_point33=x = (x-.5)*0.75 + 0.5; +wave_1_per_point34=y = oy*fov/oz + 0.5; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_2_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_2_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_2_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_2_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_2_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_2_per_frame7= +wave_2_per_frame8=t1 = ra*6.2832; +wave_2_per_frame9=t2 = rb*6.2832; +wave_2_per_frame10=t3 = rc*6.2832; +wave_2_per_frame11=t4 = rd*6.2832; +wave_2_per_frame12=t5 = re*6.2832; +wave_2_per_frame13=t6 = rf*6.2832; +wave_2_per_frame14= +wave_2_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_2_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_2_per_frame17= +wave_2_per_frame18=t7 = rg; +wave_2_per_frame19=t8 = rh; +wave_2_per_frame20= +wave_2_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_2_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_2_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_2_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=vol = (value1+value2)*.5; +wave_2_per_point7=vol = 0; +wave_2_per_point8=it = it*above(sample,0); +wave_2_per_point9=it = it + 1; +wave_2_per_point10= +wave_2_per_point11=sp = sample*20; +wave_2_per_point12=ti = q1; +wave_2_per_point13= +wave_2_per_point14=ox = .5*sin(ti*t7 + sp*t1) + .5*sin(ti*rb + sp*t4); +wave_2_per_point15=oy = .5*sin(ti*t8 + sp*t2) + .5*sin(ti*rc + sp*t5); +wave_2_per_point16=oz = .5*sin(ti*ra + sp*t3) + .5*sin(ti*rd + sp*t6); +wave_2_per_point17= +wave_2_per_point18=ox = ox*q5; +wave_2_per_point19=oy = oy*q5; +wave_2_per_point20=oz = oz*q5; +wave_2_per_point21= +wave_2_per_point22= +wave_2_per_point23=xang = q2; +wave_2_per_point24=yang = q3; +wave_2_per_point25=zang = q4; +wave_2_per_point26= +wave_2_per_point27=fov = .5; +wave_2_per_point28= +wave_2_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point31=ox = mx; +wave_2_per_point32=oz = mz; +wave_2_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point35=ox = mx; +wave_2_per_point36=oy = my; +wave_2_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point39=oy = my; +wave_2_per_point40=oz = mz; +wave_2_per_point41= +wave_2_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_2_per_point43=x = ox*fov/oz + 0.5; +wave_2_per_point44=x = (x-.5)*0.75 + 0.5; +wave_2_per_point45=y = oy*fov/oz + 0.5; +wave_2_per_point46= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_3_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_3_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_3_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_3_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_3_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_3_per_frame7= +wave_3_per_frame8=t1 = ra*6.2832; +wave_3_per_frame9=t2 = rb*6.2832; +wave_3_per_frame10=t3 = rc*6.2832; +wave_3_per_frame11=t4 = rd*6.2832; +wave_3_per_frame12=t5 = re*6.2832; +wave_3_per_frame13=t6 = rf*6.2832; +wave_3_per_frame14= +wave_3_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_3_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_3_per_frame17= +wave_3_per_frame18=t7 = rg; +wave_3_per_frame19=t8 = rh; +wave_3_per_frame20= +wave_3_per_frame21= +wave_3_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_3_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_3_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_3_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_3_per_point5= +wave_3_per_point6=vol = (value1+value2)*.5; +wave_3_per_point7=vol = 0; +wave_3_per_point8=it = it*above(sample,0); +wave_3_per_point9=it = it + 1; +wave_3_per_point10= +wave_3_per_point11=sp = sample*20; +wave_3_per_point12=ti = q1; +wave_3_per_point13= +wave_3_per_point14=ox = .5*sin(ti*t7 + sp*t1) + .5*sin(ti*rb + sp*t4); +wave_3_per_point15=oy = .5*sin(ti*t8 + sp*t2) + .5*sin(ti*rc + sp*t5); +wave_3_per_point16=oz = .5*sin(ti*ra + sp*t3) + .5*sin(ti*rd + sp*t6); +wave_3_per_point17= +wave_3_per_point18=ox = ox*q5; +wave_3_per_point19=oy = oy*q5; +wave_3_per_point20=oz = oz*q5; +wave_3_per_point21= +wave_3_per_point22= +wave_3_per_point23=xang = q2; +wave_3_per_point24=yang = q3; +wave_3_per_point25=zang = q4; +wave_3_per_point26= +wave_3_per_point27=fov = .5; +wave_3_per_point28= +wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point31=ox = mx; +wave_3_per_point32=oz = mz; +wave_3_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point35=ox = mx; +wave_3_per_point36=oy = my; +wave_3_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point39=oy = my; +wave_3_per_point40=oz = mz; +wave_3_per_point41= +wave_3_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_3_per_point43=x = ox*fov/oz + 0.5; +wave_3_per_point44=x = (x-.5)*0.75 + 0.5; +wave_3_per_point45=y = oy*fov/oz + 0.5; +wave_3_per_point46= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.008520 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.508316 +shapecode_0_r=0.900000 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=ti = time*.2; +shape_0_per_frame2=r = .75 + .25*sin(ti*1.821); +shape_0_per_frame3=g = .75 + .25*sin(ti*1.838); +shape_0_per_frame4=b = .75 + .25*sin(ti*1.868); +shape_0_per_frame5= +shape_0_per_frame6=r2 = .75 + .25*sin(ti*1.732); +shape_0_per_frame7=g2 = .75 + .25*sin(ti*1.702); +shape_0_per_frame8=b2 = .75 + .25*sin(ti*1.765); +shape_0_per_frame9= +shape_0_per_frame10=r2 = 1.5 - r; +shape_0_per_frame11=g2 = 1.5 - g; +shape_0_per_frame12=b2 = 1.5 - b; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.508316 +shapecode_2_r=0.900000 +shapecode_2_g=0.940000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.840000 +shapecode_2_g2=0.930000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.100000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=tt = tt + tic*treb_avg; +per_frame_13=mt = mt + tic*mid_avg; +per_frame_14=bt = bt + tic*bass_avg; +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=sp = abs(vav - slide)*.1; +per_frame_18= +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); +per_frame_20= +per_frame_21=q1 = vt*.2; +per_frame_22=q2 = tt*.2; +per_frame_23=q3 = mt*.2; +per_frame_24=q4 = bt*.2; +per_frame_25=q5 = slide*6; diff --git a/presets_milkdrop_104/shifter - lazerspecs_phat_edit.milk b/presets/presets_bltc201/shifter - lazerspecs_phat_edit.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - lazerspecs_phat_edit.milk rename to presets/presets_bltc201/shifter - lazerspecs_phat_edit.milk diff --git a/presets/presets_bltc201/shifter - liquid circuitry.milk b/presets/presets_bltc201/shifter - liquid circuitry.milk new file mode 100755 index 0000000000..13e81b8142 --- /dev/null +++ b/presets/presets_bltc201/shifter - liquid circuitry.milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999797 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004538 +fWaveScale=0.167026 +fWaveSmoothing=0.000000 +fWaveParam=0.000001 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=1.000000 +fWarpScale=0.106584 +fZoomExponent=4.100456 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.950000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=41 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.010000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = 1; +wave_0_init2=t1 = q5; +wave_0_per_point1=x = rand(1001)*.001; +wave_0_per_point2=y = rand(1001)*.001; +wave_0_per_point3= +wave_0_per_point4=//r = rand(1001)*.001; +wave_0_per_point5=g=above(rand(1001)*.001,.9)*.5; +wave_0_per_point6=b = 0; +wave_0_per_point7=r = 0; +wave_0_per_point8= +wavecode_1_enabled=0 +wavecode_1_samples=61 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.012402 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_init1=t8 = 1; +wave_1_init2=t1 = q5; +wave_1_per_point1=x = (sample-.5)*.02 + .2; +wave_1_per_point2=y = .5; +wave_1_per_point3=r = 1; +wave_1_per_point4=g = 1; +wave_1_per_point5=b = 1; +wavecode_2_enabled=0 +wavecode_2_samples=31 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.013034 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t8 = 1; +wave_2_init2=t1 = q5; +wave_2_per_frame1=t1 = q5; +wave_2_per_frame2=t2 = q4; +wave_2_per_frame3=t3 = q6; +wave_2_per_point1=t8 = -t8; +wave_2_per_point2=d1 = 0.15 + t8*0.01 - value1*0.1*(t8+1); +wave_2_per_point3=dir1 = t2; +wave_2_per_point4=dir2 = t2*0.5 + t1*3/2 - t3*3; +wave_2_per_point5=dir3 = sample*asin(1)*4 + t3 - t2*5/6 + t1*3/2; +wave_2_per_point6= +wave_2_per_point7=x = 0.5 + sin(dir1)*0.1 + sin(dir2)*0.05 + sin(dir3)*d1; +wave_2_per_point8=y = 0.5 + cos(dir1)*0.1 + cos(dir2)*0.05 + cos(dir3)*d1; +wave_2_per_point9=y = (y-0.5)*1.2 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=511 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.023445 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.990000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q4*0.75; +wave_3_per_frame2=t2 = q5*0.75; +wave_3_per_frame3=t3 = q6*0.75; +wave_3_per_frame4=t4 = q4*0.75; +wave_3_per_frame5=t5 = q5*0.75; +wave_3_per_frame6=t6 = q6*0.75; +wave_3_per_frame7=t8 = 1; +wave_3_per_point1= +wave_3_per_point2=pi = asin(1); +wave_3_per_point3=n = 80; +wave_3_per_point4=t8 = -t8; +wave_3_per_point5=rd = 0.075+0.02*(t8+1)/2; +wave_3_per_point6=xx = sin(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_3_per_point7=yy = cos(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_3_per_point8=zz = sin(sample*pi*n)*rd; +wave_3_per_point9= +wave_3_per_point10=d = sqrt( xx*xx + yy*yy + zz*zz)*0.004; +wave_3_per_point11=d1 = 1; +wave_3_per_point12=xx = xx*d1; +wave_3_per_point13=yy = yy*d1; +wave_3_per_point14=zz = zz*d1; +wave_3_per_point15= +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=w1 = d*t4; +wave_3_per_point20=w2 = d*t5; +wave_3_per_point21=w3 = d*t6; +wave_3_per_point22= +wave_3_per_point23=s1 = sin(t1*1+w1); +wave_3_per_point24=s2 = sin(t2*1+w2); +wave_3_per_point25=s3 = sin(t3*1+w3); +wave_3_per_point26=c1 = cos(t1*1+w1); +wave_3_per_point27=c2 = cos(t2*1+w2); +wave_3_per_point28=c3 = cos(t3*1+w3); +wave_3_per_point29= +wave_3_per_point30=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point31=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point32=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point33= +wave_3_per_point34=a = 0.5; +wave_3_per_point35=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_3_per_point36=x = 0.5 + zoom*x1; +wave_3_per_point37=y = 0.5 + zoom*y1; +wave_3_per_point38= +wave_3_per_point39=pi3 = 3.1415*2*0.3333; +wave_3_per_point40=t = -z*2 - time*0.8;//sample*pi*4-0*time +t4*3; +wave_3_per_point41=c=2; +wave_3_per_point42=r = sin(t)*c; +wave_3_per_point43= +wave_3_per_point44=g = sin(t+pi3)*c; +wave_3_per_point45= +wave_3_per_point46=b = sin(t-pi3)*c; +wave_3_per_point47= +wave_3_per_point48=j = 0.71; +wave_3_per_point49=//r = 0.5+xx*j; +wave_3_per_point50=//g = 0.5+yy*j; +wave_3_per_point51=//b = 0.5+zz*j; +wave_3_per_point52= +wave_3_per_point53=r = if(above(r,1),1,r); +wave_3_per_point54=r = if(below(r,0),0,r); +wave_3_per_point55=g = if(above(g,1),1,g); +wave_3_per_point56=g = if(below(g,0),0,g); +wave_3_per_point57=b = if(above(b,1),1,b); +wave_3_per_point58=b = if(below(b,0),0,b); +wave_3_per_point59= +wave_3_per_point60=a = sigmoid(-z,7)+0.; +wave_3_per_point61= +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.304784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.827733 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = .3; +shape_0_per_frame2=tex_zoom = .28; +shape_0_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_0_per_frame4= +shape_0_per_frame5=x = .5 + sin(time*.957)*.1; +shapecode_1_enabled=0 +shapecode_1_sides=74 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.453782 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.503296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad = .3; +shape_1_per_frame2=tex_zoom = .3; +shape_1_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_1_per_frame4= +shape_1_per_frame5=x = .5 + sin(time)*.15; +shapecode_2_enabled=1 +shapecode_2_sides=84 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.167768 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.503296 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.200000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=vx = 0; +shape_2_init2=vy = 0; +shape_2_per_frame1=ti = time*.3; +shape_2_per_frame2=x = .5 + .34*sin(ti); +shape_2_per_frame3=y = .5 + .34*cos(ti); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad + bass; +shape_2_per_frame6= +shape_2_per_frame7=ti = time*2.3; +shape_2_per_frame8=x = x + .1*sin(ti); +shape_2_per_frame9=y = y + .1*cos(ti); +shapecode_3_enabled=0 +shapecode_3_sides=74 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.167769 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ti = -time*.3; +shape_3_per_frame2=x = .5 + .3*sin(ti); +shape_3_per_frame3=y = .5 + .3*cos(ti); +shape_3_per_frame4= +shape_3_per_frame5=ti = -time*2.3; +shape_3_per_frame6=x = x + .2*sin(ti); +shape_3_per_frame7=y = y + .2*cos(ti); +per_frame_1=//begin beat code +per_frame_2=volume = 0.3*(bass+mid); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=//end beat code +per_frame_14= +per_frame_15=zoom = 1; +per_frame_16=decay = 1; +per_frame_17=warp = 0; +per_frame_18=wave_a = 0; +per_frame_19= +per_frame_20=tic = min(time-tin,.1); +per_frame_21=tin = time; +per_frame_22= +per_frame_23=q2 = 1; +per_frame_24= +per_frame_25=q1=1; +per_frame_26=vol = vol + ((alt + bass + mid)/3-vol)*tic*1; +per_frame_27=q5 = vol*vol*vol*2; +per_frame_28= +per_frame_29= +per_frame_30=q8 = sin(time)*.5; +per_frame_31=q9 = sin(time*.75)*.5; +per_frame_32= +per_frame_33=sw = abs(sw - beat); +per_frame_34=an = an + tic*.5*(1-2*sw); +per_frame_35= +per_frame_36= +per_frame_37=q7 = 1+(pow(q8,2) + pow(q9,2))*1; +per_frame_38=q10 = sin(an); +per_frame_39=q11 = cos(an); +per_frame_40= +per_frame_41=sp = sp + tic*vol*vol*.5; +per_frame_42= +per_frame_43=q12 = sp; +per_frame_44= +per_frame_45=monitor = q12; +per_pixel_1=//zoom = pow(rad,2)+.01; +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=`ret.xyz = tex2D(sampler_main, uv_orig).xyz*float3(.97,1,.97) - float3(.03,0,.03); +warp_6=` +warp_7=`ret.z += GetBlur1(uv_orig).z*.45; +warp_8=`ret.x += GetBlur1(uv_orig).z*.05 + GetBlur3(uv_orig).z*.05; +warp_9=`ret.z -= ret.x; +warp_10=` +warp_11=`float2 pixelsize = texsize.zw; +warp_12=`ret.y = saturate(tex2D( sampler_pw_main,uv_orig).y); +warp_13=` +warp_14=`float1 conway = tex2D( sampler_pw_main, uv_orig + float2(-1,-1)*pixelsize).y; +warp_15=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,-1)*pixelsize).y; +warp_16=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,-1)*pixelsize).y; +warp_17=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,0)*pixelsize).y; +warp_18=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,0)*pixelsize).y; +warp_19=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,1)*pixelsize).y; +warp_20=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,1)*pixelsize).y; +warp_21=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,1)*pixelsize).y; +warp_22=` +warp_23=`float1 test = q5*(1-GetBlur1(uv_orig).y)*(1-GetBlur2(uv_orig).y)*(1-GetBlur3(uv_orig).y); +warp_24=` +warp_25=`conway -= tex2D( sampler_pw_main, uv_orig).x; +warp_26=` +warp_27=` +warp_28=`if (conway > 0) { +warp_29=`if (saturate(ret.y) == 0) { +warp_30=`ret.y = floor(test*1.8)*q1; +warp_31=`} +warp_32=`} +warp_33=` +warp_34=`ret.y -= ret.x; +warp_35=` +warp_36=`ret.xyz -= 1-q2; +warp_37=`} +comp_1=`sampler sampler_rose; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 uvm = (uv - .5)*q7*(1/(1-rad*.1+q9*(uv.x - .5)+q8*(uv.y - .5)))+.5; +comp_6=` +comp_7=`uvm = (uvm - .5); +comp_8=`uvm = (q10*uvm.xy + float2(1,-1)*q11*uvm.yx)*aspect.zw + .5; +comp_9=` +comp_10=` +comp_11=`uvm = abs(frac((uvm+q12)*.5) - .5)*2; +comp_12=` +comp_13=` +comp_14=`float2 uv3 = tex2D( sampler_main, uvm).zzz; +comp_15=`uv3 = (uv3.xy-0.37) * .13 + uvm; +comp_16=` +comp_17=` +comp_18=`ret.xyz = tex2D(sampler_pw_main, uvm).yyy; +comp_19=` +comp_20=`ret = lerp ( +comp_21=`GetBlur1(uv3).z + GetBlur3(uv3).z, +comp_22=`ret, +comp_23=`ret); +comp_24=` +comp_25=`ret = pow(ret,float3(.5,1,2)) - .25; +comp_26=` +comp_27=`ret *= GetBlur3(uv3).y; +comp_28=` +comp_29=`//ret = tex2D(sampler_pw_main, uv).xyz; +comp_30=` +comp_31=`} diff --git a/presets_milkdrop_104/shifter - mandala.milk b/presets/presets_bltc201/shifter - mandala.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - mandala.milk rename to presets/presets_bltc201/shifter - mandala.milk diff --git a/presets_milkdrop_104/shifter - neon pulse (reactive).milk b/presets/presets_bltc201/shifter - neon pulse (reactive).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - neon pulse (reactive).milk rename to presets/presets_bltc201/shifter - neon pulse (reactive).milk diff --git a/presets_milkdrop_104/shifter - ralter oilslick b.milk b/presets/presets_bltc201/shifter - ralter oilslick b.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - ralter oilslick b.milk rename to presets/presets_bltc201/shifter - ralter oilslick b.milk diff --git a/presets_milkdrop_104/shifter - robotopia.milk b/presets/presets_bltc201/shifter - robotopia.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - robotopia.milk rename to presets/presets_bltc201/shifter - robotopia.milk diff --git a/presets_milkdrop_104/shifter - spincycle c.milk b/presets/presets_bltc201/shifter - spincycle c.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - spincycle c.milk rename to presets/presets_bltc201/shifter - spincycle c.milk diff --git a/presets_milkdrop_104/shifter - swarm.milk b/presets/presets_bltc201/shifter - swarm.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - swarm.milk rename to presets/presets_bltc201/shifter - swarm.milk diff --git a/presets_milkdrop_104/shifter - tadpole evolution (static mix).milk b/presets/presets_bltc201/shifter - tadpole evolution (static mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - tadpole evolution (static mix).milk rename to presets/presets_bltc201/shifter - tadpole evolution (static mix).milk diff --git a/presets/presets_bltc201/shifter - tumbling cubes (endless) radial blur.milk b/presets/presets_bltc201/shifter - tumbling cubes (endless) radial blur.milk new file mode 100755 index 0000000000..f9069f4fd4 --- /dev/null +++ b/presets/presets_bltc201/shifter - tumbling cubes (endless) radial blur.milk @@ -0,0 +1,449 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.9 +fVideoEchoZoom=0.999607 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999836 +fShader=0.0 +zoom=0.999511 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_0_per_frame2=tin = if(ps,time,tin); +wave_0_per_frame3= +wave_0_per_frame4=sz = 3.5; +wave_0_per_frame5= +wave_0_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_0_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_0_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_0_per_frame9= +wave_0_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_0_per_frame11= +wave_0_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_0_per_frame13= +wave_0_per_frame14=t1 = xr + bob; +wave_0_per_frame15=t2 = yr + bob; +wave_0_per_frame16=t3 = sr; +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = t3; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=fov = .3; +wave_0_per_point14= +wave_0_per_point15=a = .05; +wave_0_per_point16=mod = (oz+1)*.5; +wave_0_per_point17=a = a*max(min(mod,1),0); +wave_0_per_point18=oz = oz - 2; +wave_0_per_point19= +wave_0_per_point20=ox = ox + t1; +wave_0_per_point21=oy = oy + t2; +wave_0_per_point22= +wave_0_per_point23=x = ox*fov/oz + 0.5; +wave_0_per_point24=x = (x-.5)*0.75 + 0.5; +wave_0_per_point25=y = oy*fov/oz + 0.5; +wave_0_per_point26= +wave_0_per_point27=r = 1; +wave_0_per_point28=g = .25+.25*sin(sp); +wave_0_per_point29=b = 0; +wave_0_per_point30= +wave_0_per_point31=minrgb = min(r,min(g,b)); +wave_0_per_point32=maxrgb = max(r,max(g,b)); +wave_0_per_point33=l = (maxrgb-minrgb)*.5; +wave_0_per_point34=diff = maxrgb-minrgb; +wave_0_per_point35=sum = maxrgb+minrgb; +wave_0_per_point36=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_0_per_point37=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_0_per_point38=h = h*0.1666666; +wave_0_per_point39=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_0_per_point40= +wave_0_per_point41=h = h + time*0.05*1.324; +wave_0_per_point42=h = h - int(h); +wave_0_per_point43= +wave_0_per_point44=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_0_per_point45=tmpa = 2*l - tmpb; +wave_0_per_point46=hvr = h + .333333; +wave_0_per_point47=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_0_per_point48=hvg = h; +wave_0_per_point49=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_0_per_point50=hvb = h - .333333; +wave_0_per_point51=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_0_per_point52= +wave_0_per_point53=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_0_per_point54=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_0_per_point55=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_1_per_frame2=tin = if(ps,time,tin); +wave_1_per_frame3= +wave_1_per_frame4=sz = 3.5; +wave_1_per_frame5= +wave_1_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_1_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_1_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_1_per_frame9= +wave_1_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_1_per_frame11= +wave_1_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_1_per_frame13= +wave_1_per_frame14=t1 = xr + bob; +wave_1_per_frame15=t2 = yr + bob; +wave_1_per_frame16=t3 = sr; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = t3; +wave_1_per_point5=ss = sample*6; +wave_1_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point12= +wave_1_per_point13=fov = .3; +wave_1_per_point14= +wave_1_per_point15=a = .05; +wave_1_per_point16=mod = (oz+1)*.5; +wave_1_per_point17=a = a*max(min(mod,1),0); +wave_1_per_point18=oz = oz - 2; +wave_1_per_point19= +wave_1_per_point20=ox = ox + t1; +wave_1_per_point21=oy = oy + t2; +wave_1_per_point22= +wave_1_per_point23=x = ox*fov/oz + 0.5; +wave_1_per_point24=x = (x-.5)*0.75 + 0.5; +wave_1_per_point25=y = oy*fov/oz + 0.5; +wave_1_per_point26= +wave_1_per_point27=r = 1+sin(sp); +wave_1_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_2_per_frame2=tin = if(ps,time,tin); +wave_2_per_frame3= +wave_2_per_frame4=sz = 3.5; +wave_2_per_frame5= +wave_2_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_2_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_2_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_2_per_frame9= +wave_2_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_2_per_frame11= +wave_2_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_2_per_frame13= +wave_2_per_frame14=t1 = xr + bob; +wave_2_per_frame15=t2 = yr + bob; +wave_2_per_frame16=t3 = sr; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = t3; +wave_2_per_point5=ss = sample*6; +wave_2_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point12= +wave_2_per_point13=fov = .3; +wave_2_per_point14= +wave_2_per_point15=a = .05; +wave_2_per_point16=mod = (oz+1)*.5; +wave_2_per_point17=a = a*max(min(mod,1),0); +wave_2_per_point18=oz = oz - 2; +wave_2_per_point19= +wave_2_per_point20=ox = ox + t1; +wave_2_per_point21=oy = oy + t2; +wave_2_per_point22= +wave_2_per_point23=x = ox*fov/oz + 0.5; +wave_2_per_point24=x = (x-.5)*0.75 + 0.5; +wave_2_per_point25=y = oy*fov/oz + 0.5; +wave_2_per_point26= +wave_2_per_point27=r = 1+sin(sp); +wave_2_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_3_per_frame2=tin = if(ps,time,tin); +wave_3_per_frame3= +wave_3_per_frame4=sz = 3.5; +wave_3_per_frame5= +wave_3_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_3_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_3_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_3_per_frame9= +wave_3_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_3_per_frame11= +wave_3_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_3_per_frame13= +wave_3_per_frame14=t1 = xr + bob; +wave_3_per_frame15=t2 = yr + bob; +wave_3_per_frame16=t3 = sr; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = t3; +wave_3_per_point5=ss = sample*6; +wave_3_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point12= +wave_3_per_point13=fov = .3; +wave_3_per_point14= +wave_3_per_point15=a = .05; +wave_3_per_point16=mod = (oz+1)*.5; +wave_3_per_point17=a = a*max(min(mod,1),0); +wave_3_per_point18=oz = oz - 2; +wave_3_per_point19= +wave_3_per_point20=ox = ox + t1; +wave_3_per_point21=oy = oy + t2; +wave_3_per_point22= +wave_3_per_point23=x = ox*fov/oz + 0.5; +wave_3_per_point24=x = (x-.5)*0.75 + 0.5; +wave_3_per_point25=y = oy*fov/oz + 0.5; +wave_3_per_point26= +wave_3_per_point27=r = 1+sin(sp); +wave_3_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_3_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.2 +shapecode_0_y=0.3 +shapecode_0_rad=0.270481 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=3.999140 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=sw = above(time-fin,0.06); +per_frame_4=fin = if(sw,time,fin); +per_frame_5=zoom = if(sw,.85,1); +per_frame_6=monitor = tic; +per_frame_7= +per_frame_8=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_9=q5 = 5 - vol*3.5; +per_frame_10= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5)*aspect.xy; +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw*3; +warp_7=` ret = 0.25*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv + v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv + v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv + v*-4 ).xyz +warp_11=` ); +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.01; +warp_15=`} diff --git a/presets/presets_bltc201/shifter - tumbling cubes (ripples) EoS remix1.milk b/presets/presets_bltc201/shifter - tumbling cubes (ripples) EoS remix1.milk new file mode 100644 index 0000000000..59fc1b4c9c --- /dev/null +++ b/presets/presets_bltc201/shifter - tumbling cubes (ripples) EoS remix1.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=1.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol*2; +per_frame_4=//q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.333333; +per_frame_9=q2 = tm; +per_frame_10=zoom=1.01;decay=0.95; +per_frame_11=sx=-1 diff --git a/presets/presets_bltc201/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk b/presets/presets_bltc201/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk new file mode 100755 index 0000000000..22c5f10030 --- /dev/null +++ b/presets/presets_bltc201/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=1.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.600000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol; +per_frame_4=//q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.43333; +per_frame_9=q2 = tm; +per_frame_10=zoom=1.01;decay=0.95; +per_frame_11=sx=-1; +per_frame_12=sy=-1; +per_frame_13= +per_frame_14=decay=.999; +per_pixel_1=zoom=zoom+(rad/10); diff --git a/presets/presets_bltc201/shifter - tumbling cubes (ripples).milk b/presets/presets_bltc201/shifter - tumbling cubes (ripples).milk new file mode 100755 index 0000000000..9cb4ead4e5 --- /dev/null +++ b/presets/presets_bltc201/shifter - tumbling cubes (ripples).milk @@ -0,0 +1,339 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=0.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol*.7; +per_frame_4=q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.333333; +per_frame_9=q2 = tm; diff --git a/presets/presets_bltc201/shifter - tumbling cubes.milk b/presets/presets_bltc201/shifter - tumbling cubes.milk new file mode 100755 index 0000000000..519ea8b091 --- /dev/null +++ b/presets/presets_bltc201/shifter - tumbling cubes.milk @@ -0,0 +1,471 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.5 +fVideoEchoZoom=4.946229 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.0 +zoom=0.999512 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz + 0.5; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=tic = time - tin; +wave_3_per_frame2=tin = time; +wave_3_per_frame3=mod = .1*(mod*9 + treb_att); +wave_3_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_3_per_frame5=t1 = tt; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .3; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75 + 0.5; +wave_3_per_point62=y = oy*fov/oz + 0.5; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; diff --git a/presets_milkdrop_104/shifter - urchin mod.milk b/presets/presets_bltc201/shifter - urchin mod.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/shifter - urchin mod.milk rename to presets/presets_bltc201/shifter - urchin mod.milk diff --git a/presets/presets_bltc201/yin - 030 - Dance with the ocean.milk b/presets/presets_bltc201/yin - 030 - Dance with the ocean.milk new file mode 100755 index 0000000000..eb7bd49066 --- /dev/null +++ b/presets/presets_bltc201/yin - 030 - Dance with the ocean.milk @@ -0,0 +1,87 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=0.496635 +fVideoEchoAlpha=0.220001 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.001829 +fWaveSmoothing=0.000000 +fWaveParam=0.660000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.003861 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=0.000000 +mv_g=0.530000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_y=sqrt(abs(sin(time*4))); +per_frame_2=wave_b=.5+(bass/3); +per_frame_3=wave_g=(treb/5); +per_frame_4=wave_r=0; +per_frame_5=q2=(bass_att+mid_att+treb_att)/3; +per_frame_6=q3=time*8; +per_frame_7=q4=time/10; +per_pixel_1=// water-like waves +per_pixel_2=dy=dy+.004*sin(x/.02+ y/.07+q3/4 ); +per_pixel_3=dx=dx+.004*cos(x/.07+y/.07+q3/2); +per_pixel_4=zoom=1+2*(dy+dx); +per_pixel_5= +per_pixel_6=// heartbeat vibes +per_pixel_7=dx=dx+(1-rad)*.05*(sin(q3+q2)*(x-0.5)+cos(q3+q2)*(y-0.5)); +per_pixel_8=dy=dy+(1-rad)*.05*(cos(q3+q2)*(x-0.5)-sin(q3+q2)*(y-0.5)); +per_pixel_9=zoom=zoom+4*(dy+dx); +per_pixel_10= +per_pixel_11=// twirl effect +per_pixel_12=s=.02*(mid_att/1.7)*cos(q3/32); +per_pixel_13=z=.4; +per_pixel_14=arctan=atan2(x-.5,y-.5); +per_pixel_15=t = s/(rad+z); +per_pixel_16=dx=dx+t*sin(arctan-1.5); +per_pixel_17=dy=dy+t*cos(arctan-1.5); diff --git a/presets/presets_bltc201/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk b/presets/presets_bltc201/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk new file mode 100755 index 0000000000..a0fb78a1fb --- /dev/null +++ b/presets/presets_bltc201/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.994000 +fVideoEchoZoom=1.745792 +fVideoEchoAlpha=0.630000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.997763 +fWaveScale=3.023201 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999991 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.500000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.100000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=24.959995 +nMotionVectorsY=7.680000 +mv_dx=0.300000 +mv_dy=0.360000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_g = abs(cos(time*1.4+.89 + sin(time*2.1+.73))); +per_frame_2=wave_b= abs(cos(time*.7+.64)); +per_frame_3=wave_r = abs(sin(time*1.526 + .321 )); +per_frame_4=wave_x=abs(sin(time*2+.368)); +per_frame_5=warp=0; +per_frame_6=diakPos=if( below(frame%500,200),1,1); +per_frame_7=diakRot=if(below(frame%500,100),0,1); +per_frame_8=diakRot=if(above(frame%500,400),0,diakRot); +per_frame_9=q1=.125; +per_frame_10=q6=diakRot*sin(time/3+1.783+cos(time+2.814)); //rotation +per_frame_11=q8=sign( sin(2.356*time+.385+2*cos(.6*time+2.9))); +per_frame_12=q7=.375*(1+diakPos*sin( cos(time*2.31+1.972)+time*1.34+1.69)); // row1 x y coords +per_frame_13=q5=.5+(diakPos*.1*sin(time+cos(time*3+.256))); +per_frame_14=q4=.625+diakPos*2*q1*(sin( cos(time*.67+.711)+time*2.1+1.314)); // row2 x y cords +per_frame_15= +per_frame_16=q2=.875-diakPos*3*q1*(abs(sin( cos(2*time+1.23)+.8*time+1.72))); +per_frame_17=q3=.18+(mid_att+treb_att+bass_att)/11; +per_frame_18=monitor = mid+treb+bass; +per_frame_19=v=rand(200); +per_frame_20=sx=if( equal(v,9),-1,sx); +per_frame_21=sy=if( equal(v,8),-1,sy); +per_frame_22=zoom=if( equal(v,7),.5,1); +per_pixel_1=IsRow1=if( below( abs( (q6*(x-.5)+(1-q6)*(y-q7)))/(sqr(q6)+sqr(1-q6)),q1),1,0); +per_pixel_2=IsRow2=if( below( abs( ((1-q6)*(x-q5)+(q6)*(y-q4)))/(sqr(q6)+sqr(1-q6)),q1),1,0); +per_pixel_3=q6=q6*1.5; +per_pixel_4=Row3dist=( (-q6*(x-.5)+(1-q6)*(y-q2) )/(sqr(q6)+sqr(1-q6))); +per_pixel_5=IsRow3=if( below( abs(Row3dist),q1),1,0); +per_pixel_6=scroll=sign(sin(time/4+2.312)); +per_pixel_7=dy=dy+.01*(1-IsRow1)*(1-IsRow2)*(1-IsRow3)*scroll*q3; +per_pixel_8= +per_pixel_9=//row1 +per_pixel_10=moveX=IsRow1*.006*(sin(38*(x-.5)+time*3) + sin(26*(y-q7)+time*1)); +per_pixel_11=moveY=IsRow1*.006*(sin(23*(x-.5)+time*2)+sin(40*(y-q7)+time*6)); +per_pixel_12=dx=dx+q3*moveX; +per_pixel_13=dy=dy+q3*moveY; +per_pixel_14=zoom=zoom+5*q3*(moveX+moveY); +per_pixel_15= +per_pixel_16=//row2 +per_pixel_17=row2ang=-atan2(x-q5,y-q4); +per_pixel_18=row2dist=sqrt( sqr(x-q5)+sqr(y-q4) ); +per_pixel_19=moveX=IsRow2*.03*cos(row2ang)*q8; +per_pixel_20=moveY=IsRow2*.03*sin(row2ang)*q8; +per_pixel_21=dx=dx+q3*moveX; +per_pixel_22=dy=dy+q3*moveY; +per_pixel_23=zoom=zoom+IsRow2*.05*(1+.2*q3*pow((-1+row2dist),3)); +per_pixel_24= +per_pixel_25=//row3 +per_pixel_26=moveX=.007*sin(time*100); +per_pixel_27=dx=dx+IsRow3*q3*moveX; +per_pixel_28=zoom=zoom+.1*IsRow3*( Row3dist/q1)*sin(time*3)*q3; +per_frame_init_1=frame=-100; diff --git a/presets/presets_bltc201/yin - 100 - Through the ether - Bitcore Tweak.milk b/presets/presets_bltc201/yin - 100 - Through the ether - Bitcore Tweak.milk new file mode 100755 index 0000000000..19948108cd --- /dev/null +++ b/presets/presets_bltc201/yin - 100 - Through the ether - Bitcore Tweak.milk @@ -0,0 +1,287 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050001 +fDecay=0.975000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.005319 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.078303 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=max_bass = 1.2; +per_frame_1=wave_r = mv_b; +per_frame_2=wave_b = mv_g; +per_frame_3=wave_g = mv_r; +per_frame_4=b=max(bass-1,0); +per_frame_5=m=max(mid-1,0); +per_frame_6=t=max(treb-1,0); +per_frame_7=mv_r=.6*abs(sin(time*2.6+1.23+cos(time*4.87+2.145)))+(b/30); +per_frame_8=mv_g=.6*abs(sin(time*4.451+2.89+cos(time*3.74+.78)))+(m/30); +per_frame_9=mv_b=.6*abs(sin(time*3.845+1.23+cos(time*2.6+3)))+(t/30); +per_frame_10= +per_frame_11=q1=(3.14*cos(time*1.45 + 1.54 + cos((bass_att*.1)+time+ 3.22))); +per_frame_12=q2=(3.14*cos(time*2.4 + 2.69 + cos((bass_att*.1)+time+.65))); +per_frame_13=q3=time%50; +per_frame_14=f=if(equal(endframe,0),1,0); +per_frame_15=beat_avg=if(equal(beat_avg,0),bass,beat_avg); +per_frame_16=beat_avg=(beat_avg+bass)/2; +per_frame_17= +per_frame_18=max_bass = if( beat*above(f*bass_att,max_bass),0.99*bass_att, max_bass ); +per_frame_19=max_bass = if( equal(frame%3000,0),0.8*max_bass,max_bass*.9999); +per_frame_20=max_bass=if( above(max_bass,10*beat_avg),10*beat_avg,max_bass); +per_frame_21=trig=if( equal(beat,1)*above(bass_att,max_bass),1,0); +per_frame_22=endframe=if(equal(trig,1)*equal(endframe,0), frame+4*min(interval,FPS),endframe); +per_frame_23=trig=if(equal(frame,endframe),0,trig); +per_frame_24=endframe=if(above(frame,endframe),0,endframe); +per_frame_25=q4=if(above(endframe,0),1,0); +per_frame_26=wave_a=0; +per_frame_27=rot=.1*sin(time*1.53+cos(time*4.676+3.43)); +per_frame_28=rot=rot*(1+.4*q4); +per_frame_29=ob_size=.3+.7*abs(cos(time*2.45 + 1.566 +sin(time*5 +2.43))); +per_frame_30= +per_frame_31=ob_r=mv_r*(rand(100)/100); +per_frame_32=ob_g=mv_g*(rand(100)/100); +per_frame_33=ob_b=mv_b*(rand(100)/100); +per_frame_34=ob_a=.05*abs(cos(time*2.45 + 1.566 +sin(time+2))); +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42= +per_frame_43= +per_frame_44=mv_x=if(equal(q4,1),54+10*cos(time*10),64); +per_frame_45= +per_frame_46= +per_frame_47=zoom=if(equal(rand(40+60*(q4)),25),1.6,zoom); +per_frame_48=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_49=sure=if(equal(sure,0),.6,sure); +per_frame_50=interval=if(equal(interval,0),40,interval); +per_frame_51=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_52=dbass=(bass-pbass)/FPS; +per_frame_53=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_54=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_55=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_56=sure=max(.5,sure); +per_frame_57=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_58=beat=if(cheat,1,beat); +per_frame_59=sure=if(cheat,.95*sure,sure); +per_frame_60=maxdbass=max(maxdbass*.999,dbass); +per_frame_61=maxdbass=max(.012,maxdbass); +per_frame_62=maxdbass=min(.02,maxdbass); +per_frame_63=interval=if(beat, frame-lastbeat,interval); +per_frame_64=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_65=cheat=0; +per_frame_66=pbass=bass; +per_frame_67=// ---------------------------------------------------------------------------------------------- +per_frame_68= +per_frame_69=zoom = if(equal(beat,1),zoom+bass*.7,zoom); +per_frame_70=monitor=sx; +per_frame_71=//monitor=60*FPS/interval; +per_pixel_1=dx= if( below( abs(ang-q1), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q1)),dx); +per_pixel_2=dy=if( below(abs(ang-q1),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q1)),dy); +per_pixel_3=zoom=if(below( abs(ang-q1),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass),zoom); +per_pixel_4= +per_pixel_5=dx= if( below( abs(ang-q2), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q2)),dx); +per_pixel_6=dy = if(below( abs(ang-q2),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q2)),dy); +per_pixel_7=zoom = if(below(abs(ang-q2),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass), zoom); +per_pixel_8=zoom=zoom-(1-q4)*.04*rad +q4*.1; diff --git a/presets/presets_bltc201/yin - 102 - Through the ether (The separation) - Bitcore Tweak.milk b/presets/presets_bltc201/yin - 102 - Through the ether (The separation) - Bitcore Tweak.milk new file mode 100755 index 0000000000..d8c5e35a94 --- /dev/null +++ b/presets/presets_bltc201/yin - 102 - Through the ether (The separation) - Bitcore Tweak.milk @@ -0,0 +1,144 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050001 +fDecay=0.975000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.100000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.0 +fWaveSmoothing=0.803000 +fWaveParam=0.340000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=5.995774 +fShader=1.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.078303 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.0100000 +ob_g=0.0200000 +ob_b=0.0400000 +ob_a=0.040001 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.100000 +per_frame_1=wave_r = mv_b; +per_frame_2=wave_b = mv_g; +per_frame_3=wave_g = mv_r; +per_frame_4=b=max(bass-1,0); +per_frame_5=m=max(mid-1,0); +per_frame_6=t=max(treb-1,0); +per_frame_7=mv_r=.7*abs(sin(time*.5+1.23+cos(time+2.145))); +per_frame_8=mv_g=.7*abs(sin(time*2+2.89+cos(time+.78))); +per_frame_9=mv_b=.7*abs(sin(time*2+1.23+cos(time+3))); +per_frame_10= +per_frame_11=q1=3.14*cos(time*1.45 + 1.54 + cos(bass_att+time+ 3.22)); +per_frame_12=q2 = 3.14*cos(time*2.4 + 2.69 + cos(bass_att+time+.65)); +per_frame_13=q3=time%50; +per_frame_14=f=if(equal(endframe,0),1,0); +per_frame_15=beat_avg=if(equal(beat_avg,0),bass,beat_avg); +per_frame_16=beat_avg=(beat_avg+bass)/2; +per_frame_17= +per_frame_18=max_bass = if( beat*above(f*bass_att,max_bass),0.99*bass_att, max_bass ); +per_frame_19=max_bass = if( equal(frame%3000,0),max_bass,max_bass*.9999); +per_frame_20=max_bass=if( above(max_bass,10*beat_avg),10*beat_avg,max_bass); +per_frame_21=trig=if( equal(beat,1)*above(bass_att,max_bass),1,0); +per_frame_22=endframe=if(equal(trig,1)*equal(endframe,0),frame+4*interval,endframe); +per_frame_23=trig=if(equal(frame,endframe),0,trig); +per_frame_24=endframe=if(above(frame,endframe),0,endframe); +per_frame_25=q4=if(above(endframe,0),1,0); +per_frame_26=wave_a=0; +per_frame_27=rot=.1*sin(time*1.53+cos(time*4.676+3.43)); +per_frame_28=rot=rot*(1+.4*q4); +per_frame_29=ob_size=(.3+.7*abs(cos(time*2.45 + 1.566 +sin(time*5 +2.43)))); +per_frame_30= +per_frame_31=ob_r=mv_r*(rand(100)/100); +per_frame_32=ob_g=mv_g*(rand(100)/100); +per_frame_33=ob_b=mv_b*(rand(100)/100); +per_frame_34=ob_a=.075; +per_frame_35=mv_x=if(equal(q4,1),54+10*cos(time*10),64); +per_frame_36=sx= if(equal(rand(40+6*(1-q4)),29),-.75,sx)*.8; +per_frame_37=sy=if(equal(rand(40+6*(1-q4)),39),-.75,sy)*.8; +per_frame_38=zoom=if(equal(rand(40+6*(q4)),25),1.6,zoom); +per_frame_39= +per_frame_40=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_41=sure=if(equal(sure,0),.6,sure); +per_frame_42=interval=if(equal(interval,0),40,interval); +per_frame_43=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_44=dbass=(bass-pbass)/FPS; +per_frame_45=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_46=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_47=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_48=sure=max(.5,sure); +per_frame_49=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_50=beat=if(cheat,1,beat); +per_frame_51=sure=if(cheat,.95*sure,sure); +per_frame_52=maxdbass=max(maxdbass*.999,dbass); +per_frame_53=maxdbass=max(.012,maxdbass); +per_frame_54=maxdbass=min(.02,maxdbass); +per_frame_55=interval=if(beat, frame-lastbeat,interval); +per_frame_56=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_57=cheat=0; +per_frame_58=pbass=bass; +per_frame_59=// ---------------------------------------------------------------------------------------------- +per_frame_60=wave_a=beat*(1-q4); +per_frame_61= +per_frame_62= +per_frame_63=wave_a=.9999*sqrt(wave_a)*2*120/FPS; +per_frame_64=cvol = .99*cvol+.0033*(bass+mid+treb); +per_frame_65=dx=(1-q4)*(cvol/1.2)*.007*cos(bass*47+3.54+sin(45*bass+.234)); +per_frame_66=dy=(1-q4)*(cvol/1.2)*.007*sin(bass*39.64+0.87+cos(bass*49.9+1.54)); +per_frame_67=wave_mystery -.3+.7*sin(5*bass+2.43+cos(15*time+1.65)); +per_frame_68=zoom = if(equal(beat,1),zoom+bass*.7,zoom); +per_frame_69=q4=1; +per_frame_70=monitor = t0; +per_pixel_1=dx= if( below( abs(ang-q1), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q1)),dx); +per_pixel_2=dy=if( below(abs(ang-q1),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q1)),dy); +per_pixel_3=zoom=if(below( abs(ang-q1),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass),zoom); +per_pixel_4= +per_pixel_5=dx= if( below( abs(ang-q2), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q2)),dx); +per_pixel_6=dy = if(below( abs(ang-q2),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q2)),dy); +per_pixel_7=zoom = if(below(abs(ang-q2),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass), zoom); +per_pixel_8= +per_pixel_9=zoom=zoom-(1-q4)*.04*rad +q4*.1; +per_frame_init_1=max_bass = 1.2; +per_frame_init_2=t0=time; diff --git a/presets/presets_bltc201/yin - 140 - Ohm to the stars.milk b/presets/presets_bltc201/yin - 140 - Ohm to the stars.milk new file mode 100755 index 0000000000..b6ea170bb0 --- /dev/null +++ b/presets/presets_bltc201/yin - 140 - Ohm to the stars.milk @@ -0,0 +1,130 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.260000 +fDecay=0.990000 +fVideoEchoZoom=0.999990 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=0.901646 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.216679 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.250000 +wave_b=0.250001 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.025000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=32.000000 +nMotionVectorsY=48.000000 +mv_dx=0.300000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=wave_r = .8*abs(cos( .07*time+.532 + sin( .125*time+.789) )); +per_frame_23=wave_g = .8*abs(cos( .092*time+2.1 + sin( .045*time+1.52) )); +per_frame_24=wave_b = .8*abs(cos( .1*time+1.452 + sin( .112*time+2.98) )); +per_frame_25=q1=beat; +per_frame_26=ib_a=beat; +per_frame_27=ib_r=1-wave_r;ib_g=1-wave_g;ib_b=1-wave_b; +per_frame_28=wave_mystery = 1-1.5*min(((frame-lastBeat)/interval),1); +per_frame_29=wave_a=if(above((frame-lastBeat)/interval,1),0,1); +per_frame_30=phase=if(equal(frame%interval,0),phase+1,phase); +per_frame_31=phase=if(equal(phase%18,17),0,phase); +per_frame_32=midphase=min((frame-lastBeat)/interval,1); +per_frame_33=sx=if(equal(phase,15)*equal(frame%interval,0),-1,sx); +per_frame_34=sy=if(equal(phase,26)*equal(frame%interval,0),-1,sy); +per_frame_35=phase = if(equal(frame%interval,0)*below(cos(time/6), -.5), (phase+rand(13))%14+1,phase); +per_frame_36=q2=phase; +per_frame_37=q3=midphase; +per_frame_38= +per_pixel_1=zoom =1+.01*sin(13.28*rad); +per_pixel_2=//zoom right +per_pixel_3=zoom=zoom+equal(q2,1)*q3*.1*(x-.5); +per_pixel_4=// zoom left +per_pixel_5=zoom=zoom+equal(q2,2)*q3*.1*(.5-x); +per_pixel_6=// zoom top +per_pixel_7=zoom=zoom+equal(q2,5)*q3*.1*(.5-y); +per_pixel_8=// zoom bottom +per_pixel_9=zoom=zoom+equal(q2,4)*q3*.1*(y-.5); +per_pixel_10=// rotate left +per_pixel_11=rot=rot+equal(q2,3)*q3*.3; +per_pixel_12=// rotate right +per_pixel_13=rot=rot-equal(q2,6)*q3*.3; +per_pixel_14=// scale x +per_pixel_15=sx=sx+equal(q2,7)*q3*.2; +per_pixel_16=// squash y +per_pixel_17=sy=sy-equal(q2,8)*q3*.2; +per_pixel_18=// squash x +per_pixel_19=sx=sx-equal(q2,9)*q3*.2; +per_pixel_20=// scale y; +per_pixel_21=sy=sy+equal(q2,10)*q3*.2; +per_pixel_22=// transpose+ vertical +per_pixel_23=dy=dy+equal(q2,11)*abs(.5-x)*sign(.5-x)*q3*.2; +per_pixel_24=// transpose+ horiz +per_pixel_25=dx=dx+equal(q2,12)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_26=// transpose- horiz +per_pixel_27=dx=dx-equal(q2,14)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_28=// transpose- vertical +per_pixel_29=dy=dy-equal(q2,13)*abs(.5-x)*sign(.5-x)*q3*.2; diff --git a/presets/presets_bltc201/yin - 160 - Controversial.milk b/presets/presets_bltc201/yin - 160 - Controversial.milk new file mode 100755 index 0000000000..7c03e91402 --- /dev/null +++ b/presets/presets_bltc201/yin - 160 - Controversial.milk @@ -0,0 +1,104 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700001 +fDecay=1.000000 +fVideoEchoZoom=0.999991 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.400000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=10.572172 +fWarpScale=4.108018 +fZoomExponent=1.196128 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=1.011847 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.070000 +ob_g=1.000000 +ob_b=0.070000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.070000 +ib_g=0.070000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=1.920000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21=q1=beat; +per_frame_22=warp=0;q8=55/FPS; +per_frame_23=q7=min((frame-lastBeat)/interval,1); +per_frame_24=aa=aa+beat; +per_frame_25=wave_g=q7;wave_b=q7; +per_frame_26=curang=.97*curang- (q1*(.4+max(bass,1.5)*rand(20)/100)*(-1+2*(aa%2)))*q8; +per_frame_27=cursc=1+.97*curscale+q8*.3*beat; +per_frame_28=sx=cursc; +per_frame_29=sy=1-(cursc-1); +per_frame_30=decay=1-.2*beat; +per_frame_31=ob_a=.2*beat; +per_frame_32=ib_a=.3*beat; +per_frame_33=q6=below(aa%4,2)*if(equal(aa%2,0),1,-1); +per_frame_34=q5=above(aa%4,1)*if(equal(aa%2,0),-1,1); +per_frame_35=wave_x=.5+.03*q7*q6; +per_frame_36=wave_y=.5+.03*q7*q5; +per_frame_37=rot = curang; +per_pixel_1=x=x-.5; +per_pixel_2=y=1-(y+.5); +per_pixel_3=zoom=zoom-.1*q8*(below(rad,.7))*(1+.5*(1-q7)); +per_frame_init_1=time=0; diff --git a/presets/presets_bltc201/yin - 190 - Temporal fluctuations.milk b/presets/presets_bltc201/yin - 190 - Temporal fluctuations.milk new file mode 100755 index 0000000000..85b84607eb --- /dev/null +++ b/presets/presets_bltc201/yin - 190 - Temporal fluctuations.milk @@ -0,0 +1,109 @@ +[preset00] +fRating=3.000000 +fGammaAdj=4.990001 +fDecay=1.000000 +fVideoEchoZoom=0.999988 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=1.990516 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.999998 +fZoomExponent=0.999987 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400001 +wave_g=0.400000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.000000 +ob_r=0.300001 +ob_g=1.000000 +ob_b=0.300000 +ob_a=0.100001 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=8.960042 +nMotionVectorsY=12.960033 +mv_dx=-0.260000 +mv_dy=0.440000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0;decay=1;wave_mystery=0; +per_frame_2=vol = ((bass_att+mid_att+treb_att)/3+prevVol)/2; +per_frame_3= +per_frame_4=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_5=sure=if(equal(sure,0),.6,sure); +per_frame_6=interval=if(equal(interval,0),40,interval); +per_frame_7=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_8=dbass=(bass-pbass)/FPS; +per_frame_9=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_10=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_11=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_12=sure=max(.5,sure); +per_frame_13=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_14=beat=if(cheat,1,beat); +per_frame_15=sure=if(cheat,.95*sure,sure); +per_frame_16=maxdbass=max(maxdbass*.999,dbass); +per_frame_17=maxdbass=max(.012,maxdbass); +per_frame_18=maxdbass=min(.02,maxdbass); +per_frame_19=interval=if(beat, frame-lastbeat,interval); +per_frame_20=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_21=cheat=0; +per_frame_22=pbass=bass; +per_frame_23=// ---------------------------------------------------------------------------------------------- +per_frame_24=ob_size = below(frame-lastBeat,FPS/8)*.08*(frame-lastBeat)/FPS; +per_frame_25=f=abs(cos(time/8+.54+sin(time/3+1.075))); +per_frame_26=ob_r=1*f + 1*(1-f); +per_frame_27=ob_g=.3*f + 1*(1-f); +per_frame_28=ob_b=.3*f + .3*(1-f); +per_frame_29= +per_frame_30=q1= 3.1416*(wave_mystery+1)/2; +per_frame_31=q2=.25*cos(time+abs(2*sin(time*2+2.311)*( vol-amt))*sin(time*7.45+.876)); +per_frame_32=amt=amt+ .05*(vol-amt); +per_frame_33=prevVol=vol; +per_pixel_1=x=x-.5; +per_pixel_2=y=-(y-.5); +per_pixel_3=ttan1 = tan(q1+1.5708)*x-y+q2; +per_pixel_4=ttan2 = tan(q1+1.5708); +per_pixel_5=IsLeftYtonosY = above(ttan1*(sign(3.1416-q1)),0); +per_pixel_6= +per_pixel_7=dist = abs(ttan1)/sqrt(ttan2*ttan2 + 1); +per_pixel_8=totX=.5*cos(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_9=totY=-.5*sin(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_10= +per_pixel_11=dx=dx+totX; +per_pixel_12=dy=dy+totY; +per_pixel_13=prevRot=q1; diff --git a/presets/presets_bltc201/yin - 191 - Temporal singularities.milk b/presets/presets_bltc201/yin - 191 - Temporal singularities.milk new file mode 100755 index 0000000000..e286465ecd --- /dev/null +++ b/presets/presets_bltc201/yin - 191 - Temporal singularities.milk @@ -0,0 +1,127 @@ +[preset00] +fRating=3.000000 +fGammaAdj=4.990001 +fDecay=1.000000 +fVideoEchoZoom=10.784553 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=1.990516 +fWaveSmoothing=0.000000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.999998 +fZoomExponent=0.999985 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400001 +wave_g=0.400000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.000000 +ob_r=0.300001 +ob_g=1.000000 +ob_b=0.300000 +ob_a=0.100001 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=8.960042 +nMotionVectorsY=12.960033 +mv_dx=-0.260000 +mv_dy=0.440000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0;decay=1; +per_frame_2=vol = (.75*(bass_att+mid_att+treb_att)/3+.25*prevVol); +per_frame_3=prevAvgBass=avgBass; +per_frame_4=avgBass=avgBass + (bass-AvgBass)*0.01; +per_frame_5=q4=max(avgBass*1.001-.999*prevAvgBass,0); +per_frame_6=q4=min(q4,.006); +per_frame_7=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_8=sure=if(equal(sure,0),.6,sure); +per_frame_9=interval=if(equal(interval,0),40,interval); +per_frame_10=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_11=dbass=(bass-pbass)/FPS; +per_frame_12=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_13=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_14=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_15=sure=max(.5,sure); +per_frame_16=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_17=beat=if(cheat,1,beat); +per_frame_18=sure=if(cheat,.95*sure,sure); +per_frame_19=maxdbass=max(maxdbass*.999,dbass); +per_frame_20=maxdbass=max(.012,maxdbass); +per_frame_21=maxdbass=min(.02,maxdbass); +per_frame_22=interval=if(beat, frame-lastbeat,interval); +per_frame_23=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_24=cheat=0; +per_frame_25=pbass=bass; +per_frame_26=// ---------------------------------------------------------------------------------------------- +per_frame_27=lastFlip=if( above(bass/avgBass,2)*above(frame-lastFlip,100)*beat, frame,lastFlip ); +per_frame_28=flip = if(equal(frame,lastFlip),abs(flip)-1, flip); +per_frame_29=wave_mystery=flip; +per_frame_30=ob_size = below(frame-lastBeat,FPS/8)*.08*(frame-lastBeat)/FPS; +per_frame_31=f=abs(cos(time/8+.54+sin(time/3+1.075))); +per_frame_32=ob_r=1*f + 1*(1-f); +per_frame_33=ob_g=.3*f + 1*(1-f); +per_frame_34=ob_b=.3*f + .3*(1-f); +per_frame_35=f=(frame-lastbeat)/interval; +per_frame_36=f=above(f,.8)*below(f,1)*f; f=max(0,f); f=min(f,1); +per_frame_37= +per_frame_38=wave_g=.4+.6*(f); +per_frame_39=wave_b=.4+.6*(1-f); +per_frame_40= +per_frame_41=q1= 3.1416*(wave_mystery+1)/2; +per_frame_42=q2=.25*cos(time+abs(2*sin(time*2+2.311)*( vol-amt))*sin(time*7.45+.876)); +per_frame_43=q3=-q2; +per_frame_44= +per_frame_45=amt=amt+ .05*(vol-amt); +per_frame_46=prevVol=vol; +per_frame_47=BPM = BPM + .01*(60*FPS/interval - BPM); +per_frame_48=monitor = 0*pctg+1*BPM; +per_frame_49= +per_pixel_1=x=x-.5; +per_pixel_2=y=-(y-.5); +per_pixel_3=ttan1 = tan(q1+1.5708)*(x-q3)-y+q2; +per_pixel_4=ttan2 = tan(q1+1.5708); +per_pixel_5=IsLeftYtonosY = above(ttan1*(sign(3.1416-q1)),0); +per_pixel_6= +per_pixel_7=dist = abs(ttan1)/sqrt(ttan2*ttan2 + 1); +per_pixel_8=totX=.5*cos(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_9=totY=-.5*sin(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_10= +per_pixel_11=dx=dx+totX; +per_pixel_12=dy=dy+totY; +per_pixel_13=prevRot=q1; +per_pixel_14=zoom = 1-25*q4*sqrt(pow(.5-dist,3))/abs(.5-q2); +per_frame_init_1=flip=-1; diff --git a/presets/presets_bltc201/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk b/presets/presets_bltc201/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk new file mode 100755 index 0000000000..08635e6489 --- /dev/null +++ b/presets/presets_bltc201/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk @@ -0,0 +1,399 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.800000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.321288 +fWarpScale=1.986883 +fZoomExponent=0.880200 +fShader=0.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ax = 10*.5*(sin(100*sample+1.865)+1)*sin(300*6.2831*sample+3.14*sample); +wave_1_per_point2=ay = 10*.5*(sin(100*sample+5.23)+1)*cos(200*6.2831*sample+ 3.14*sample+.1454); +wave_1_per_point3=az = 5*(sin(100*sample+.234)+1)*sin(400*6.2831*sample+3.14*sample+1.84); +wave_1_per_point4= +wave_1_per_point5=bx = ax; +wave_1_per_point6=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point7=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point8= +wave_1_per_point9=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point10=ay = by; +wave_1_per_point11=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point12= +wave_1_per_point13=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point14=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point15=bz = az; +wave_1_per_point16= +wave_1_per_point17=vx=bx; vy=by; vz=bz; +wave_1_per_point18= +wave_1_per_point19=x=vx/abs(vz-10)+.5; +wave_1_per_point20=y=vy/abs(vz-10)+.5; +wave_1_per_point21= +wave_1_per_point22=a=above(vz,0)*(.05*(5-abs(az))) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=0.500001 +wavecode_2_b=0.100001 +wavecode_2_a=1.000000 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point3=ay = 1.3*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point4=az = 0; +wave_2_per_point5= +wave_2_per_point6=bx = ax; +wave_2_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point9= +wave_2_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point11=ay = by; +wave_2_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point13= +wave_2_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point16=bz = az; +wave_2_per_point17= +wave_2_per_point18=vx=bx; vy=by; vz=bz; +wave_2_per_point19= +wave_2_per_point20=x=vx/abs(vz-10)+.5; +wave_2_per_point21=y=vy/abs(vz-10)+.5; +wave_2_per_point22= +wave_2_per_point23=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_2_per_point24=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=0.500000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point3=ay = 0; +wave_3_per_point4=az = 1.2*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point5= +wave_3_per_point6=bx = ax; +wave_3_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point9= +wave_3_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point11=ay = by; +wave_3_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point13= +wave_3_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point16=bz = az; +wave_3_per_point17= +wave_3_per_point18=vx=bx; vy=by; vz=bz; +wave_3_per_point19= +wave_3_per_point20=x=vx/abs(vz-10)+.5; +wave_3_per_point21=y=vy/abs(vz-10)+.5; +wave_3_per_point22= +wave_3_per_point23=as=above(cos(q3-1.57)*cos(q2)*vx+sin(q3-1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_3_per_point24=a=t*(.07*(1-as)+as); +shapecode_0_enabled=0 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.398722 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.700000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=a=below(vz,0); +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.559237 +shapecode_1_ang=1.884956 +shapecode_1_tex_ang=0.691150 +shapecode_1_tex_zoom=2.348658 +shapecode_1_r=1.000000 +shapecode_1_g=0.100000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.050000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.543040 +shapecode_2_ang=6.283185 +shapecode_2_tex_ang=6.283185 +shapecode_2_tex_zoom=0.305462 +shapecode_2_r=0.000000 +shapecode_2_g=0.500000 +shapecode_2_b=0.600000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.800000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=bass; +shapecode_3_enabled=0 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.114900 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.700000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.800000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=st=if(equal(st,0),time-131,st); +per_frame_2=mytime=time-st; +per_frame_3= +per_frame_4=phi=6.2831*(mytime+4.564)*.02; +per_frame_5=theta=6.2831*(mytime*.03+1.54); +per_frame_6=rho=6.2831*abs(sin(mytime*0)); +per_frame_7= +per_frame_8=q1=phi; +per_frame_9=q2=theta; +per_frame_10=q3=rho; +per_frame_11= +per_frame_12=ax=0; ay=0; az=-30; +per_frame_13=bx = ax; +per_frame_14=by = ay*cos(q1) - az*sin(q1); +per_frame_15=bz = ay*sin(q1) + az*cos(q1); +per_frame_16= +per_frame_17=ax = bx*cos(q2) - bz*sin(q2); +per_frame_18=ay = by; +per_frame_19=az = bx*sin(q2) + bz*cos(q2); +per_frame_20= +per_frame_21=bx = ax*cos(q3) - ay*sin(q3); +per_frame_22=by = ax*sin(q3) + ay*cos(q3); +per_frame_23=bz = az; +per_frame_24=vx=bx; vy=by; vz=bz; +per_frame_25= +per_frame_26=q7=vx/abs(vz-10)+.5; +per_frame_27=vy=-vy+1; +per_frame_28=q8=vy/abs(vz-10)+.5; +per_frame_29=q7=if(1-below(vz,0), -100,q7); +per_frame_30=q8=if(1-below(vz,0), -100,q8); +per_frame_31=//ob_size=1; +per_frame_32=//ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); +per_frame_33=monitor=mytime; diff --git a/presets_milkdrop_104/yin - 290 - Sonic brainstorm.milk b/presets/presets_bltc201/yin - 290 - Sonic brainstorm.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 290 - Sonic brainstorm.milk rename to presets/presets_bltc201/yin - 290 - Sonic brainstorm.milk diff --git a/presets_milkdrop_104/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk b/presets/presets_bltc201/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk rename to presets/presets_bltc201/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk diff --git a/presets_milkdrop_104/yin - 300 - Daydreamer.milk b/presets/presets_bltc201/yin - 300 - Daydreamer.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 300 - Daydreamer.milk rename to presets/presets_bltc201/yin - 300 - Daydreamer.milk diff --git a/presets_milkdrop_104/yin - 302 - Daydreamer (remix 2).milk b/presets/presets_bltc201/yin - 302 - Daydreamer (remix 2).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 302 - Daydreamer (remix 2).milk rename to presets/presets_bltc201/yin - 302 - Daydreamer (remix 2).milk diff --git a/presets_milkdrop_104/yin - 313 - Ocean of Light (ESP).milk b/presets/presets_bltc201/yin - 313 - Ocean of Light (ESP).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 313 - Ocean of Light (ESP).milk rename to presets/presets_bltc201/yin - 313 - Ocean of Light (ESP).milk diff --git a/presets/presets_bltc201/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk b/presets/presets_bltc201/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk new file mode 100644 index 0000000000..36059ff5a9 --- /dev/null +++ b/presets/presets_bltc201/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk @@ -0,0 +1,463 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.840000 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.904830 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.400000 +wavecode_0_g=0.400000 +wavecode_0_b=0.650000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=32; // double num of rays +wave_0_per_frame2=t2=.02*q4; // size; +wave_0_per_frame3= +wave_0_per_frame4= +wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_0_per_frame6=t8=0; +wave_0_per_frame7= +wave_0_per_frame8= +wave_0_per_frame9=t3=-1+q7*.3333+.1667; +wave_0_per_frame10=t4=-1+q8*.3333+.1667; +wave_0_per_frame11= +wave_0_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_0_per_point1=sample=.5*(0+sample); +wave_0_per_point2= +wave_0_per_point3=ns=equal(t8%t1,0); +wave_0_per_point4= +wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_0_per_point8= +wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_0_per_point12= +wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_0_per_point16=central=equal(t8%2,0); +wave_0_per_point17=angle=6.2831*(t8-1)/t1; +wave_0_per_point18= +wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_0_per_point21=az=cenz; +wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_0_per_point23= +wave_0_per_point24=invz=1/(az+100); +wave_0_per_point25=x=.5+5*ax*invz; +wave_0_per_point26=y=.5+5*ay*invz; +wave_0_per_point27= +wave_0_per_point28=t8=(t8+1)%t1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=0.400000 +wavecode_1_b=0.650000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=32; // double num of rays +wave_1_per_frame2=t2=.02*q4; // size; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_1_per_frame6=t8=0; +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=t3=-1+q7*.3333+.1667; +wave_1_per_frame10=t4=-1+q8*.3333+.1667; +wave_1_per_frame11= +wave_1_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_1_per_point1=sample=.5*(0+sample); +wave_1_per_point2= +wave_1_per_point3=ns=equal(t8%t1,0); +wave_1_per_point4= +wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_1_per_point8= +wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_1_per_point12= +wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_1_per_point16=central=equal(t8%2,0); +wave_1_per_point17=angle=6.2831*(t8-1)/t1; +wave_1_per_point18= +wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_1_per_point21=az=cenz; +wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_1_per_point23= +wave_1_per_point24=invz=1/(az+100); +wave_1_per_point25=x=.5+5*ax*invz; +wave_1_per_point26=y=.5+5*ay*invz; +wave_1_per_point27= +wave_1_per_point28=t8=(t8+1)%t1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8= +wave_2_per_frame9=t3=-1+q7*.3333+.1667; +wave_2_per_frame10=t4=-1+q8*.3333+.1667; +wave_2_per_frame11= +wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_2_per_point1=sample=.5*(1+sample); +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=t3=-1+q7*.3333+.1667; +wave_3_per_frame10=t4=-1+q8*.3333+.1667; +wave_3_per_frame11= +wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.122020 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); +shape_2_per_frame2=additive=below(frame%5,4); +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6= +shape_2_per_frame7=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame8=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame9=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=hue=.1*time; // change this +shape_2_per_frame13=h=6*(hue-int(hue)); +shape_2_per_frame14=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_2_per_frame15=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_2_per_frame16=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +shape_2_per_frame17=g=sw1*h+sw2+sw3+sw4*(4-h); +shape_2_per_frame18=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=3.141500 +shapecode_3_tex_ang=4.209734 +shapecode_3_tex_zoom=0.670417 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,0); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=warp=0; +per_frame_23=zoom=1.04; +per_frame_24= +per_frame_25=rnd=equal(frame%400,0); +per_frame_26=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_27=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_28=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_29=offx=0; +per_frame_30=offy=-3.1; +per_frame_31=offz=-300+160*pow(contVol,.25); +per_frame_32=sc=4; +per_frame_33= +per_frame_34=q2=offy; // y-offset +per_frame_35=q3=offz; // z-offset +per_frame_36=q4=sc; // scale +per_frame_37= +per_frame_38=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_39=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; +per_frame_40= +per_frame_41=q5=0;q6=0; +per_frame_42= +per_frame_43= +per_frame_44=stime=if(equal(stime,0),time,stime ); +per_frame_45=mytime=time-stime; +per_frame_46=phase = .1*mytime - int(.1*mytime); +per_frame_47=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_48=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_49=q7=tilex; +per_frame_50= +per_frame_51=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; +per_frame_52=contVol=min(1,contVol); +per_frame_53=zoom=1.01+.05*contVol; +per_frame_54= +per_frame_55=darken=above(frame%3,0); +per_frame_56= +per_frame_57=c1=above(contvol,.7)*min(contvol-.7,.3); +per_frame_58=dx=c1*.05*(-10+rand(20)); +per_frame_59=dy=c1*.05*(-10+rand(20)); +per_frame_60= +per_frame_61=solarize=0; +per_frame_62=darken=frame%2; +per_frame_63=brighten=1-darken; +per_frame_64=//invert=beat; +per_frame_65=//gamma=gamma+.5*sqrt(1-(frame-lastbeat)/interval); +per_frame_66=monitor=gamma; +per_frame_67= +per_frame_68=q8=min((frame-lastbeat)/interval,1); +per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); +per_frame_70= +per_frame_71=sx=1-2*beat*above(contVol,.8); +per_frame_72=sy=1-2*beat*above(contVol,.8); +per_frame_73=invert=beat*above(contVol,.8); +per_pixel_1=//rot = q1*(2*rad-1); diff --git a/presets_milkdrop_104/yin - 317 - Ocean of Light (y remix).milk b/presets/presets_bltc201/yin - 317 - Ocean of Light (y remix).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/yin - 317 - Ocean of Light (y remix).milk rename to presets/presets_bltc201/yin - 317 - Ocean of Light (y remix).milk diff --git a/presets/Aderrasi - Agitator.milk b/presets/presets_milkdrop/Aderrasi - Agitator.milk similarity index 100% rename from presets/Aderrasi - Agitator.milk rename to presets/presets_milkdrop/Aderrasi - Agitator.milk diff --git a/presets/Aderrasi - Aimless (Gravity Directive Mix).milk b/presets/presets_milkdrop/Aderrasi - Aimless (Gravity Directive Mix).milk similarity index 100% rename from presets/Aderrasi - Aimless (Gravity Directive Mix).milk rename to presets/presets_milkdrop/Aderrasi - Aimless (Gravity Directive Mix).milk diff --git a/presets/Aderrasi - Aimless (Spirogravity Mix).milk b/presets/presets_milkdrop/Aderrasi - Aimless (Spirogravity Mix).milk similarity index 100% rename from presets/Aderrasi - Aimless (Spirogravity Mix).milk rename to presets/presets_milkdrop/Aderrasi - Aimless (Spirogravity Mix).milk diff --git a/presets/Aderrasi - Airhandler (Menagerie Mix).milk b/presets/presets_milkdrop/Aderrasi - Airhandler (Menagerie Mix).milk similarity index 100% rename from presets/Aderrasi - Airhandler (Menagerie Mix).milk rename to presets/presets_milkdrop/Aderrasi - Airhandler (Menagerie Mix).milk diff --git a/presets/Aderrasi - Airs (Windy Mix).milk b/presets/presets_milkdrop/Aderrasi - Airs (Windy Mix).milk similarity index 100% rename from presets/Aderrasi - Airs (Windy Mix).milk rename to presets/presets_milkdrop/Aderrasi - Airs (Windy Mix).milk diff --git a/presets/Aderrasi - Airs.milk b/presets/presets_milkdrop/Aderrasi - Airs.milk similarity index 100% rename from presets/Aderrasi - Airs.milk rename to presets/presets_milkdrop/Aderrasi - Airs.milk diff --git a/presets/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk b/presets/presets_milkdrop/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk similarity index 100% rename from presets/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk rename to presets/presets_milkdrop/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk diff --git a/presets/Aderrasi - Anchorpulse (Verified Mix).milk b/presets/presets_milkdrop/Aderrasi - Anchorpulse (Verified Mix).milk similarity index 100% rename from presets/Aderrasi - Anchorpulse (Verified Mix).milk rename to presets/presets_milkdrop/Aderrasi - Anchorpulse (Verified Mix).milk diff --git a/presets/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk b/presets/presets_milkdrop/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk similarity index 100% rename from presets/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk rename to presets/presets_milkdrop/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk diff --git a/presets/Aderrasi - Antidote (Aqualung Mix).milk b/presets/presets_milkdrop/Aderrasi - Antidote (Aqualung Mix).milk similarity index 100% rename from presets/Aderrasi - Antidote (Aqualung Mix).milk rename to presets/presets_milkdrop/Aderrasi - Antidote (Aqualung Mix).milk diff --git a/presets/Aderrasi - Antidote (Side Effects Mix).milk b/presets/presets_milkdrop/Aderrasi - Antidote (Side Effects Mix).milk similarity index 100% rename from presets/Aderrasi - Antidote (Side Effects Mix).milk rename to presets/presets_milkdrop/Aderrasi - Antidote (Side Effects Mix).milk diff --git a/presets/Aderrasi - Antidote.milk b/presets/presets_milkdrop/Aderrasi - Antidote.milk similarity index 100% rename from presets/Aderrasi - Antidote.milk rename to presets/presets_milkdrop/Aderrasi - Antidote.milk diff --git a/presets/Aderrasi - Antique Abyss.milk b/presets/presets_milkdrop/Aderrasi - Antique Abyss.milk similarity index 100% rename from presets/Aderrasi - Antique Abyss.milk rename to presets/presets_milkdrop/Aderrasi - Antique Abyss.milk diff --git a/presets/Aderrasi - Arise! (Padded Mix).milk b/presets/presets_milkdrop/Aderrasi - Arise! (Padded Mix).milk similarity index 100% rename from presets/Aderrasi - Arise! (Padded Mix).milk rename to presets/presets_milkdrop/Aderrasi - Arise! (Padded Mix).milk diff --git a/presets/Aderrasi - Ashes Of Air (Remix).milk b/presets/presets_milkdrop/Aderrasi - Ashes Of Air (Remix).milk similarity index 100% rename from presets/Aderrasi - Ashes Of Air (Remix).milk rename to presets/presets_milkdrop/Aderrasi - Ashes Of Air (Remix).milk diff --git a/presets/Aderrasi - Bitterfeld (Crystal Border Mix).milk b/presets/presets_milkdrop/Aderrasi - Bitterfeld (Crystal Border Mix).milk similarity index 100% rename from presets/Aderrasi - Bitterfeld (Crystal Border Mix).milk rename to presets/presets_milkdrop/Aderrasi - Bitterfeld (Crystal Border Mix).milk diff --git a/presets/Aderrasi - Blender.milk b/presets/presets_milkdrop/Aderrasi - Blender.milk similarity index 100% rename from presets/Aderrasi - Blender.milk rename to presets/presets_milkdrop/Aderrasi - Blender.milk diff --git a/presets/Aderrasi - Bow To Gravity.milk b/presets/presets_milkdrop/Aderrasi - Bow To Gravity.milk similarity index 100% rename from presets/Aderrasi - Bow To Gravity.milk rename to presets/presets_milkdrop/Aderrasi - Bow To Gravity.milk diff --git a/presets/Aderrasi - Brakefreak.milk b/presets/presets_milkdrop/Aderrasi - Brakefreak.milk similarity index 100% rename from presets/Aderrasi - Brakefreak.milk rename to presets/presets_milkdrop/Aderrasi - Brakefreak.milk diff --git a/presets/Aderrasi - Candy Avian.milk b/presets/presets_milkdrop/Aderrasi - Candy Avian.milk similarity index 100% rename from presets/Aderrasi - Candy Avian.milk rename to presets/presets_milkdrop/Aderrasi - Candy Avian.milk diff --git a/presets/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk b/presets/presets_milkdrop/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk similarity index 100% rename from presets/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk rename to presets/presets_milkdrop/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk diff --git a/presets/Aderrasi - Causeway Of Dreams (REMix).milk b/presets/presets_milkdrop/Aderrasi - Causeway Of Dreams (REMix).milk similarity index 100% rename from presets/Aderrasi - Causeway Of Dreams (REMix).milk rename to presets/presets_milkdrop/Aderrasi - Causeway Of Dreams (REMix).milk diff --git a/presets/Aderrasi - Causeway Of Dreams.milk b/presets/presets_milkdrop/Aderrasi - Causeway Of Dreams.milk similarity index 100% rename from presets/Aderrasi - Causeway Of Dreams.milk rename to presets/presets_milkdrop/Aderrasi - Causeway Of Dreams.milk diff --git a/presets/Aderrasi - Chromatic Abyss (The Other Side).milk b/presets/presets_milkdrop/Aderrasi - Chromatic Abyss (The Other Side).milk similarity index 100% rename from presets/Aderrasi - Chromatic Abyss (The Other Side).milk rename to presets/presets_milkdrop/Aderrasi - Chromatic Abyss (The Other Side).milk diff --git a/presets/Aderrasi - Circlefacade.milk b/presets/presets_milkdrop/Aderrasi - Circlefacade.milk similarity index 100% rename from presets/Aderrasi - Circlefacade.milk rename to presets/presets_milkdrop/Aderrasi - Circlefacade.milk diff --git a/presets/Aderrasi - Contortion (Xenomorph Mix).milk b/presets/presets_milkdrop/Aderrasi - Contortion (Xenomorph Mix).milk similarity index 100% rename from presets/Aderrasi - Contortion (Xenomorph Mix).milk rename to presets/presets_milkdrop/Aderrasi - Contortion (Xenomorph Mix).milk diff --git a/presets/Aderrasi - Contortion.milk b/presets/presets_milkdrop/Aderrasi - Contortion.milk similarity index 100% rename from presets/Aderrasi - Contortion.milk rename to presets/presets_milkdrop/Aderrasi - Contortion.milk diff --git a/presets/Aderrasi - Crystal Storm.milk b/presets/presets_milkdrop/Aderrasi - Crystal Storm.milk similarity index 100% rename from presets/Aderrasi - Crystal Storm.milk rename to presets/presets_milkdrop/Aderrasi - Crystal Storm.milk diff --git a/presets/Aderrasi - Dark Matter (Converse Mix).milk b/presets/presets_milkdrop/Aderrasi - Dark Matter (Converse Mix).milk similarity index 100% rename from presets/Aderrasi - Dark Matter (Converse Mix).milk rename to presets/presets_milkdrop/Aderrasi - Dark Matter (Converse Mix).milk diff --git a/presets/Aderrasi - Elastoid.milk b/presets/presets_milkdrop/Aderrasi - Elastoid.milk similarity index 100% rename from presets/Aderrasi - Elastoid.milk rename to presets/presets_milkdrop/Aderrasi - Elastoid.milk diff --git a/presets/Aderrasi - Floater Society.milk b/presets/presets_milkdrop/Aderrasi - Floater Society.milk similarity index 100% rename from presets/Aderrasi - Floater Society.milk rename to presets/presets_milkdrop/Aderrasi - Floater Society.milk diff --git a/presets/Aderrasi - Flowing Form.milk b/presets/presets_milkdrop/Aderrasi - Flowing Form.milk similarity index 100% rename from presets/Aderrasi - Flowing Form.milk rename to presets/presets_milkdrop/Aderrasi - Flowing Form.milk diff --git a/presets/Aderrasi - Making Time (Swamp Mix).milk b/presets/presets_milkdrop/Aderrasi - Making Time (Swamp Mix).milk similarity index 100% rename from presets/Aderrasi - Making Time (Swamp Mix).milk rename to presets/presets_milkdrop/Aderrasi - Making Time (Swamp Mix).milk diff --git a/presets/Aderrasi - Multiviola.milk b/presets/presets_milkdrop/Aderrasi - Multiviola.milk similarity index 100% rename from presets/Aderrasi - Multiviola.milk rename to presets/presets_milkdrop/Aderrasi - Multiviola.milk diff --git a/presets/Aderrasi - Negative Sun III.milk b/presets/presets_milkdrop/Aderrasi - Negative Sun III.milk similarity index 100% rename from presets/Aderrasi - Negative Sun III.milk rename to presets/presets_milkdrop/Aderrasi - Negative Sun III.milk diff --git a/presets/Aderrasi - Paintsphere.milk b/presets/presets_milkdrop/Aderrasi - Paintsphere.milk similarity index 100% rename from presets/Aderrasi - Paintsphere.milk rename to presets/presets_milkdrop/Aderrasi - Paintsphere.milk diff --git a/presets/Aderrasi - Spillswirl.milk b/presets/presets_milkdrop/Aderrasi - Spillswirl.milk similarity index 100% rename from presets/Aderrasi - Spillswirl.milk rename to presets/presets_milkdrop/Aderrasi - Spillswirl.milk diff --git a/presets/Aderrasi - What Cannot Be Undone.milk b/presets/presets_milkdrop/Aderrasi - What Cannot Be Undone.milk similarity index 100% rename from presets/Aderrasi - What Cannot Be Undone.milk rename to presets/presets_milkdrop/Aderrasi - What Cannot Be Undone.milk diff --git a/presets/Aderrasi - What cannot be.milk b/presets/presets_milkdrop/Aderrasi - What cannot be.milk similarity index 100% rename from presets/Aderrasi - What cannot be.milk rename to presets/presets_milkdrop/Aderrasi - What cannot be.milk diff --git a/presets/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk b/presets/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk similarity index 100% rename from presets/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk rename to presets/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk diff --git a/presets/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk b/presets/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk similarity index 100% rename from presets/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk rename to presets/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk diff --git a/presets/Bmelgren - Godhead.milk b/presets/presets_milkdrop/Bmelgren - Godhead.milk similarity index 100% rename from presets/Bmelgren - Godhead.milk rename to presets/presets_milkdrop/Bmelgren - Godhead.milk diff --git a/presets/Bmelgren - Hmmm.milk b/presets/presets_milkdrop/Bmelgren - Hmmm.milk similarity index 100% rename from presets/Bmelgren - Hmmm.milk rename to presets/presets_milkdrop/Bmelgren - Hmmm.milk diff --git a/presets/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_milkdrop/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk similarity index 100% rename from presets/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk rename to presets/presets_milkdrop/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk diff --git a/presets/Bmelgren - Take This Highway.milk b/presets/presets_milkdrop/Bmelgren - Take This Highway.milk similarity index 100% rename from presets/Bmelgren - Take This Highway.milk rename to presets/presets_milkdrop/Bmelgren - Take This Highway.milk diff --git a/presets/Che - Burning Hus.milk b/presets/presets_milkdrop/Che - Burning Hus.milk similarity index 100% rename from presets/Che - Burning Hus.milk rename to presets/presets_milkdrop/Che - Burning Hus.milk diff --git a/presets_milkdrop/Che - Escape.milk b/presets/presets_milkdrop/Che - Escape.milk similarity index 100% rename from presets_milkdrop/Che - Escape.milk rename to presets/presets_milkdrop/Che - Escape.milk diff --git a/presets/Che - Geology.milk b/presets/presets_milkdrop/Che - Geology.milk similarity index 100% rename from presets/Che - Geology.milk rename to presets/presets_milkdrop/Che - Geology.milk diff --git a/presets/Che - Watch & Fly.milk b/presets/presets_milkdrop/Che - Watch & Fly.milk similarity index 100% rename from presets/Che - Watch & Fly.milk rename to presets/presets_milkdrop/Che - Watch & Fly.milk diff --git a/presets/CrystalHigh - mad ravetriping.milk b/presets/presets_milkdrop/CrystalHigh - mad ravetriping.milk similarity index 100% rename from presets/CrystalHigh - mad ravetriping.milk rename to presets/presets_milkdrop/CrystalHigh - mad ravetriping.milk diff --git a/presets/DaNOnE - Highway to Heaven (rotating).milk b/presets/presets_milkdrop/DaNOnE - Highway to Heaven (rotating).milk similarity index 100% rename from presets/DaNOnE - Highway to Heaven (rotating).milk rename to presets/presets_milkdrop/DaNOnE - Highway to Heaven (rotating).milk diff --git a/presets/EMPR - Random - Changing Polyevolution.milk b/presets/presets_milkdrop/EMPR - Random - Changing Polyevolution.milk similarity index 100% rename from presets/EMPR - Random - Changing Polyevolution.milk rename to presets/presets_milkdrop/EMPR - Random - Changing Polyevolution.milk diff --git a/presets/EMPR - Random - Light Speed Racer.milk b/presets/presets_milkdrop/EMPR - Random - Light Speed Racer.milk similarity index 100% rename from presets/EMPR - Random - Light Speed Racer.milk rename to presets/presets_milkdrop/EMPR - Random - Light Speed Racer.milk diff --git a/presets/EMPR - Random - Look mama I'm on TV! 2.milk b/presets/presets_milkdrop/EMPR - Random - Look mama I'm on TV! 2.milk similarity index 100% rename from presets/EMPR - Random - Look mama I'm on TV! 2.milk rename to presets/presets_milkdrop/EMPR - Random - Look mama I'm on TV! 2.milk diff --git a/presets/EMPR - Random - They're so cute Dad can I keep one!.milk b/presets/presets_milkdrop/EMPR - Random - They're so cute Dad can I keep one!.milk similarity index 100% rename from presets/EMPR - Random - They're so cute Dad can I keep one!.milk rename to presets/presets_milkdrop/EMPR - Random - They're so cute Dad can I keep one!.milk diff --git a/presets/EMPR - Random - Turbulence Sandwich.milk b/presets/presets_milkdrop/EMPR - Random - Turbulence Sandwich.milk similarity index 100% rename from presets/EMPR - Random - Turbulence Sandwich.milk rename to presets/presets_milkdrop/EMPR - Random - Turbulence Sandwich.milk diff --git a/presets/EvilJim - Follow the ball.milk b/presets/presets_milkdrop/EvilJim - Follow the ball.milk similarity index 100% rename from presets/EvilJim - Follow the ball.milk rename to presets/presets_milkdrop/EvilJim - Follow the ball.milk diff --git a/presets/EvilJim - Ice Drops.milk b/presets/presets_milkdrop/EvilJim - Ice Drops.milk similarity index 100% rename from presets/EvilJim - Ice Drops.milk rename to presets/presets_milkdrop/EvilJim - Ice Drops.milk diff --git a/presets/Fvese & Idiot24-7 - Rearview Mirror.milk b/presets/presets_milkdrop/Fvese & Idiot24-7 - Rearview Mirror.milk similarity index 100% rename from presets/Fvese & Idiot24-7 - Rearview Mirror.milk rename to presets/presets_milkdrop/Fvese & Idiot24-7 - Rearview Mirror.milk diff --git a/presets/Fvese - 0 To 60.milk b/presets/presets_milkdrop/Fvese - 0 To 60.milk similarity index 100% rename from presets/Fvese - 0 To 60.milk rename to presets/presets_milkdrop/Fvese - 0 To 60.milk diff --git a/presets/Fvese - A Blur.milk b/presets/presets_milkdrop/Fvese - A Blur.milk similarity index 100% rename from presets/Fvese - A Blur.milk rename to presets/presets_milkdrop/Fvese - A Blur.milk diff --git a/presets/Fvese - Lifesavor Anyone.milk b/presets/presets_milkdrop/Fvese - Lifesavor Anyone.milk similarity index 100% rename from presets/Fvese - Lifesavor Anyone.milk rename to presets/presets_milkdrop/Fvese - Lifesavor Anyone.milk diff --git a/presets/Fvese - Multi Circle.milk b/presets/presets_milkdrop/Fvese - Multi Circle.milk similarity index 100% rename from presets/Fvese - Multi Circle.milk rename to presets/presets_milkdrop/Fvese - Multi Circle.milk diff --git a/presets/Fvese - New meetings.milk b/presets/presets_milkdrop/Fvese - New meetings.milk similarity index 100% rename from presets/Fvese - New meetings.milk rename to presets/presets_milkdrop/Fvese - New meetings.milk diff --git a/presets/Fvese - Quicksand.milk b/presets/presets_milkdrop/Fvese - Quicksand.milk similarity index 100% rename from presets/Fvese - Quicksand.milk rename to presets/presets_milkdrop/Fvese - Quicksand.milk diff --git a/presets/Fvese - Round and Round (geiss gamma mix).milk b/presets/presets_milkdrop/Fvese - Round and Round (geiss gamma mix).milk similarity index 100% rename from presets/Fvese - Round and Round (geiss gamma mix).milk rename to presets/presets_milkdrop/Fvese - Round and Round (geiss gamma mix).milk diff --git a/presets/Fvese - Stand Still!.milk b/presets/presets_milkdrop/Fvese - Stand Still!.milk similarity index 100% rename from presets/Fvese - Stand Still!.milk rename to presets/presets_milkdrop/Fvese - Stand Still!.milk diff --git a/presets/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_milkdrop/Fvese - The Tunnel (Final Stage Mix).milk similarity index 100% rename from presets/Fvese - The Tunnel (Final Stage Mix).milk rename to presets/presets_milkdrop/Fvese - The Tunnel (Final Stage Mix).milk diff --git a/presets/Fvese - Window Reflection 6.milk b/presets/presets_milkdrop/Fvese - Window Reflection 6.milk similarity index 100% rename from presets/Fvese - Window Reflection 6.milk rename to presets/presets_milkdrop/Fvese - Window Reflection 6.milk diff --git a/presets/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_milkdrop/Fvese - Zoom Effects (Remix 2).milk similarity index 100% rename from presets/Fvese - Zoom Effects (Remix 2).milk rename to presets/presets_milkdrop/Fvese - Zoom Effects (Remix 2).milk diff --git a/presets/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk b/presets/presets_milkdrop/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk similarity index 100% rename from presets/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk rename to presets/presets_milkdrop/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk diff --git a/presets/Geiss & Rovastar - Notions Of Tonality 2.milk b/presets/presets_milkdrop/Geiss & Rovastar - Notions Of Tonality 2.milk similarity index 100% rename from presets/Geiss & Rovastar - Notions Of Tonality 2.milk rename to presets/presets_milkdrop/Geiss & Rovastar - Notions Of Tonality 2.milk diff --git a/presets/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk b/presets/presets_milkdrop/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk similarity index 100% rename from presets/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk rename to presets/presets_milkdrop/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk diff --git a/presets/Geiss - Aieeeeee!!!.milk b/presets/presets_milkdrop/Geiss - Aieeeeee!!!.milk similarity index 100% rename from presets/Geiss - Aieeeeee!!!.milk rename to presets/presets_milkdrop/Geiss - Aieeeeee!!!.milk diff --git a/presets/Geiss - Anomaly 1.milk b/presets/presets_milkdrop/Geiss - Anomaly 1.milk similarity index 100% rename from presets/Geiss - Anomaly 1.milk rename to presets/presets_milkdrop/Geiss - Anomaly 1.milk diff --git a/presets/Geiss - Anomaly 2.milk b/presets/presets_milkdrop/Geiss - Anomaly 2.milk similarity index 100% rename from presets/Geiss - Anomaly 2.milk rename to presets/presets_milkdrop/Geiss - Anomaly 2.milk diff --git a/presets/Geiss - Approach.milk b/presets/presets_milkdrop/Geiss - Approach.milk similarity index 100% rename from presets/Geiss - Approach.milk rename to presets/presets_milkdrop/Geiss - Approach.milk diff --git a/presets/Geiss - Asymptote.milk b/presets/presets_milkdrop/Geiss - Asymptote.milk similarity index 100% rename from presets/Geiss - Asymptote.milk rename to presets/presets_milkdrop/Geiss - Asymptote.milk diff --git a/presets/Geiss - Bass Kaleidosphere.milk b/presets/presets_milkdrop/Geiss - Bass Kaleidosphere.milk similarity index 100% rename from presets/Geiss - Bass Kaleidosphere.milk rename to presets/presets_milkdrop/Geiss - Bass Kaleidosphere.milk diff --git a/presets/Geiss - Bass Zoom.milk b/presets/presets_milkdrop/Geiss - Bass Zoom.milk similarity index 100% rename from presets/Geiss - Bass Zoom.milk rename to presets/presets_milkdrop/Geiss - Bass Zoom.milk diff --git a/presets/Geiss - Bipolar 1.milk b/presets/presets_milkdrop/Geiss - Bipolar 1.milk similarity index 100% rename from presets/Geiss - Bipolar 1.milk rename to presets/presets_milkdrop/Geiss - Bipolar 1.milk diff --git a/presets/Geiss - Bipolar 2.milk b/presets/presets_milkdrop/Geiss - Bipolar 2.milk similarity index 100% rename from presets/Geiss - Bipolar 2.milk rename to presets/presets_milkdrop/Geiss - Bipolar 2.milk diff --git a/presets/Geiss - Bipolar 3.milk b/presets/presets_milkdrop/Geiss - Bipolar 3.milk similarity index 100% rename from presets/Geiss - Bipolar 3.milk rename to presets/presets_milkdrop/Geiss - Bipolar 3.milk diff --git a/presets/Geiss - Bipolar 4.milk b/presets/presets_milkdrop/Geiss - Bipolar 4.milk similarity index 100% rename from presets/Geiss - Bipolar 4.milk rename to presets/presets_milkdrop/Geiss - Bipolar 4.milk diff --git a/presets/Geiss - Bipolar 5.milk b/presets/presets_milkdrop/Geiss - Bipolar 5.milk similarity index 100% rename from presets/Geiss - Bipolar 5.milk rename to presets/presets_milkdrop/Geiss - Bipolar 5.milk diff --git a/presets/Geiss - Bonfire.milk b/presets/presets_milkdrop/Geiss - Bonfire.milk similarity index 100% rename from presets/Geiss - Bonfire.milk rename to presets/presets_milkdrop/Geiss - Bonfire.milk diff --git a/presets/Geiss - Bright Fiber Matrix 1.milk b/presets/presets_milkdrop/Geiss - Bright Fiber Matrix 1.milk similarity index 100% rename from presets/Geiss - Bright Fiber Matrix 1.milk rename to presets/presets_milkdrop/Geiss - Bright Fiber Matrix 1.milk diff --git a/presets/Geiss - Bright Fiber Matrix 2.milk b/presets/presets_milkdrop/Geiss - Bright Fiber Matrix 2.milk similarity index 100% rename from presets/Geiss - Bright Fiber Matrix 2.milk rename to presets/presets_milkdrop/Geiss - Bright Fiber Matrix 2.milk diff --git a/presets/Geiss - Calligraphy.milk b/presets/presets_milkdrop/Geiss - Calligraphy.milk similarity index 100% rename from presets/Geiss - Calligraphy.milk rename to presets/presets_milkdrop/Geiss - Calligraphy.milk diff --git a/presets/Geiss - Cartographie.milk b/presets/presets_milkdrop/Geiss - Cartographie.milk similarity index 100% rename from presets/Geiss - Cartographie.milk rename to presets/presets_milkdrop/Geiss - Cartographie.milk diff --git a/presets/Geiss - Casino.milk b/presets/presets_milkdrop/Geiss - Casino.milk similarity index 100% rename from presets/Geiss - Casino.milk rename to presets/presets_milkdrop/Geiss - Casino.milk diff --git a/presets/Geiss - Cepiasound.milk b/presets/presets_milkdrop/Geiss - Cepiasound.milk similarity index 100% rename from presets/Geiss - Cepiasound.milk rename to presets/presets_milkdrop/Geiss - Cepiasound.milk diff --git a/presets/Geiss - Churn.milk b/presets/presets_milkdrop/Geiss - Churn.milk similarity index 100% rename from presets/Geiss - Churn.milk rename to presets/presets_milkdrop/Geiss - Churn.milk diff --git a/presets/Geiss - Color Tones 2.milk b/presets/presets_milkdrop/Geiss - Color Tones 2.milk similarity index 100% rename from presets/Geiss - Color Tones 2.milk rename to presets/presets_milkdrop/Geiss - Color Tones 2.milk diff --git a/presets/Geiss - Constant Velocity.milk b/presets/presets_milkdrop/Geiss - Constant Velocity.milk similarity index 100% rename from presets/Geiss - Constant Velocity.milk rename to presets/presets_milkdrop/Geiss - Constant Velocity.milk diff --git a/presets/Geiss - Coral.milk b/presets/presets_milkdrop/Geiss - Coral.milk similarity index 100% rename from presets/Geiss - Coral.milk rename to presets/presets_milkdrop/Geiss - Coral.milk diff --git a/presets/Geiss - Corpus Callosum.milk b/presets/presets_milkdrop/Geiss - Corpus Callosum.milk similarity index 100% rename from presets/Geiss - Corpus Callosum.milk rename to presets/presets_milkdrop/Geiss - Corpus Callosum.milk diff --git a/presets/Geiss - Cosmic Dust 1.milk b/presets/presets_milkdrop/Geiss - Cosmic Dust 1.milk similarity index 100% rename from presets/Geiss - Cosmic Dust 1.milk rename to presets/presets_milkdrop/Geiss - Cosmic Dust 1.milk diff --git a/presets/Geiss - Cosmic Dust 2.milk b/presets/presets_milkdrop/Geiss - Cosmic Dust 2.milk similarity index 100% rename from presets/Geiss - Cosmic Dust 2.milk rename to presets/presets_milkdrop/Geiss - Cosmic Dust 2.milk diff --git a/presets/Geiss - Cruzin'.milk b/presets/presets_milkdrop/Geiss - Cruzin'.milk similarity index 100% rename from presets/Geiss - Cruzin'.milk rename to presets/presets_milkdrop/Geiss - Cruzin'.milk diff --git a/presets/Geiss - Cycloid 1.milk b/presets/presets_milkdrop/Geiss - Cycloid 1.milk similarity index 100% rename from presets/Geiss - Cycloid 1.milk rename to presets/presets_milkdrop/Geiss - Cycloid 1.milk diff --git a/presets/Geiss - Cycloid 2.milk b/presets/presets_milkdrop/Geiss - Cycloid 2.milk similarity index 100% rename from presets/Geiss - Cycloid 2.milk rename to presets/presets_milkdrop/Geiss - Cycloid 2.milk diff --git a/presets/Geiss - Davod The Pod.milk b/presets/presets_milkdrop/Geiss - Davod The Pod.milk similarity index 100% rename from presets/Geiss - Davod The Pod.milk rename to presets/presets_milkdrop/Geiss - Davod The Pod.milk diff --git a/presets/Geiss - De La Moutard 1.milk b/presets/presets_milkdrop/Geiss - De La Moutard 1.milk similarity index 100% rename from presets/Geiss - De La Moutard 1.milk rename to presets/presets_milkdrop/Geiss - De La Moutard 1.milk diff --git a/presets/Geiss - De La Moutard 2.milk b/presets/presets_milkdrop/Geiss - De La Moutard 2.milk similarity index 100% rename from presets/Geiss - De La Moutard 2.milk rename to presets/presets_milkdrop/Geiss - De La Moutard 2.milk diff --git a/presets/Geiss - Demonic Distortion.milk b/presets/presets_milkdrop/Geiss - Demonic Distortion.milk similarity index 100% rename from presets/Geiss - Demonic Distortion.milk rename to presets/presets_milkdrop/Geiss - Demonic Distortion.milk diff --git a/presets/Geiss - Descent.milk b/presets/presets_milkdrop/Geiss - Descent.milk similarity index 100% rename from presets/Geiss - Descent.milk rename to presets/presets_milkdrop/Geiss - Descent.milk diff --git a/presets/Geiss - Destruction.milk b/presets/presets_milkdrop/Geiss - Destruction.milk similarity index 100% rename from presets/Geiss - Destruction.milk rename to presets/presets_milkdrop/Geiss - Destruction.milk diff --git a/presets/Geiss - Diffraction.milk b/presets/presets_milkdrop/Geiss - Diffraction.milk similarity index 100% rename from presets/Geiss - Diffraction.milk rename to presets/presets_milkdrop/Geiss - Diffraction.milk diff --git a/presets/Geiss - Digital Smoke.milk b/presets/presets_milkdrop/Geiss - Digital Smoke.milk similarity index 100% rename from presets/Geiss - Digital Smoke.milk rename to presets/presets_milkdrop/Geiss - Digital Smoke.milk diff --git a/presets/Geiss - Downward Spiral.milk b/presets/presets_milkdrop/Geiss - Downward Spiral.milk similarity index 100% rename from presets/Geiss - Downward Spiral.milk rename to presets/presets_milkdrop/Geiss - Downward Spiral.milk diff --git a/presets/Geiss - Drift.milk b/presets/presets_milkdrop/Geiss - Drift.milk similarity index 100% rename from presets/Geiss - Drift.milk rename to presets/presets_milkdrop/Geiss - Drift.milk diff --git a/presets/Geiss - Dynamic Swirls 1.milk b/presets/presets_milkdrop/Geiss - Dynamic Swirls 1.milk similarity index 100% rename from presets/Geiss - Dynamic Swirls 1.milk rename to presets/presets_milkdrop/Geiss - Dynamic Swirls 1.milk diff --git a/presets/Geiss - Dynamic Swirls 2.milk b/presets/presets_milkdrop/Geiss - Dynamic Swirls 2.milk similarity index 100% rename from presets/Geiss - Dynamic Swirls 2.milk rename to presets/presets_milkdrop/Geiss - Dynamic Swirls 2.milk diff --git a/presets/Geiss - Eddies 1.milk b/presets/presets_milkdrop/Geiss - Eddies 1.milk similarity index 100% rename from presets/Geiss - Eddies 1.milk rename to presets/presets_milkdrop/Geiss - Eddies 1.milk diff --git a/presets/Geiss - Eddies 2.milk b/presets/presets_milkdrop/Geiss - Eddies 2.milk similarity index 100% rename from presets/Geiss - Eddies 2.milk rename to presets/presets_milkdrop/Geiss - Eddies 2.milk diff --git a/presets/Geiss - Eggs.milk b/presets/presets_milkdrop/Geiss - Eggs.milk similarity index 100% rename from presets/Geiss - Eggs.milk rename to presets/presets_milkdrop/Geiss - Eggs.milk diff --git a/presets/Geiss - El Cubismo.milk b/presets/presets_milkdrop/Geiss - El Cubismo.milk similarity index 100% rename from presets/Geiss - El Cubismo.milk rename to presets/presets_milkdrop/Geiss - El Cubismo.milk diff --git a/presets/Geiss - Feedback 2.milk b/presets/presets_milkdrop/Geiss - Feedback 2.milk similarity index 100% rename from presets/Geiss - Feedback 2.milk rename to presets/presets_milkdrop/Geiss - Feedback 2.milk diff --git a/presets/Geiss - Feedback.milk b/presets/presets_milkdrop/Geiss - Feedback.milk similarity index 100% rename from presets/Geiss - Feedback.milk rename to presets/presets_milkdrop/Geiss - Feedback.milk diff --git a/presets/Geiss - Festive.milk b/presets/presets_milkdrop/Geiss - Festive.milk similarity index 100% rename from presets/Geiss - Festive.milk rename to presets/presets_milkdrop/Geiss - Festive.milk diff --git a/presets/Geiss - Fiberglass.milk b/presets/presets_milkdrop/Geiss - Fiberglass.milk similarity index 100% rename from presets/Geiss - Fiberglass.milk rename to presets/presets_milkdrop/Geiss - Fiberglass.milk diff --git a/presets/Geiss - Flotsam.milk b/presets/presets_milkdrop/Geiss - Flotsam.milk similarity index 100% rename from presets/Geiss - Flotsam.milk rename to presets/presets_milkdrop/Geiss - Flotsam.milk diff --git a/presets/Geiss - Flower Blossom.milk b/presets/presets_milkdrop/Geiss - Flower Blossom.milk similarity index 100% rename from presets/Geiss - Flower Blossom.milk rename to presets/presets_milkdrop/Geiss - Flower Blossom.milk diff --git a/presets/Geiss - Flower.milk b/presets/presets_milkdrop/Geiss - Flower.milk similarity index 100% rename from presets/Geiss - Flower.milk rename to presets/presets_milkdrop/Geiss - Flower.milk diff --git a/presets/Geiss - Fog Tunnel.milk b/presets/presets_milkdrop/Geiss - Fog Tunnel.milk similarity index 100% rename from presets/Geiss - Fog Tunnel.milk rename to presets/presets_milkdrop/Geiss - Fog Tunnel.milk diff --git a/presets/Geiss - Four Kinds of Amphetamines.milk b/presets/presets_milkdrop/Geiss - Four Kinds of Amphetamines.milk similarity index 100% rename from presets/Geiss - Four Kinds of Amphetamines.milk rename to presets/presets_milkdrop/Geiss - Four Kinds of Amphetamines.milk diff --git a/presets/Geiss - Galaxy 1.milk b/presets/presets_milkdrop/Geiss - Galaxy 1.milk similarity index 100% rename from presets/Geiss - Galaxy 1.milk rename to presets/presets_milkdrop/Geiss - Galaxy 1.milk diff --git a/presets/Geiss - Galaxy 2.milk b/presets/presets_milkdrop/Geiss - Galaxy 2.milk similarity index 100% rename from presets/Geiss - Galaxy 2.milk rename to presets/presets_milkdrop/Geiss - Galaxy 2.milk diff --git a/presets/Geiss - Greenland.milk b/presets/presets_milkdrop/Geiss - Greenland.milk similarity index 100% rename from presets/Geiss - Greenland.milk rename to presets/presets_milkdrop/Geiss - Greenland.milk diff --git a/presets/Geiss - Happy Drops.milk b/presets/presets_milkdrop/Geiss - Happy Drops.milk similarity index 100% rename from presets/Geiss - Happy Drops.milk rename to presets/presets_milkdrop/Geiss - Happy Drops.milk diff --git a/presets_milkdrop/Geiss - Heavenly 1.milk b/presets/presets_milkdrop/Geiss - Heavenly 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Heavenly 1.milk rename to presets/presets_milkdrop/Geiss - Heavenly 1.milk diff --git a/presets/Geiss - Heavenly 2.milk b/presets/presets_milkdrop/Geiss - Heavenly 2.milk similarity index 100% rename from presets/Geiss - Heavenly 2.milk rename to presets/presets_milkdrop/Geiss - Heavenly 2.milk diff --git a/presets/Geiss - Heavenly 3.milk b/presets/presets_milkdrop/Geiss - Heavenly 3.milk similarity index 100% rename from presets/Geiss - Heavenly 3.milk rename to presets/presets_milkdrop/Geiss - Heavenly 3.milk diff --git a/presets/Geiss - High Dynamic Range.milk b/presets/presets_milkdrop/Geiss - High Dynamic Range.milk similarity index 100% rename from presets/Geiss - High Dynamic Range.milk rename to presets/presets_milkdrop/Geiss - High Dynamic Range.milk diff --git a/presets/Geiss - Hurricane.milk b/presets/presets_milkdrop/Geiss - Hurricane.milk similarity index 100% rename from presets/Geiss - Hurricane.milk rename to presets/presets_milkdrop/Geiss - Hurricane.milk diff --git a/presets/Geiss - Hyperion.milk b/presets/presets_milkdrop/Geiss - Hyperion.milk similarity index 100% rename from presets/Geiss - Hyperion.milk rename to presets/presets_milkdrop/Geiss - Hyperion.milk diff --git a/presets/Geiss - Inkblot.milk b/presets/presets_milkdrop/Geiss - Inkblot.milk similarity index 100% rename from presets/Geiss - Inkblot.milk rename to presets/presets_milkdrop/Geiss - Inkblot.milk diff --git a/presets/Geiss - Iris.milk b/presets/presets_milkdrop/Geiss - Iris.milk similarity index 100% rename from presets/Geiss - Iris.milk rename to presets/presets_milkdrop/Geiss - Iris.milk diff --git a/presets/Geiss - Journey.milk b/presets/presets_milkdrop/Geiss - Journey.milk similarity index 100% rename from presets/Geiss - Journey.milk rename to presets/presets_milkdrop/Geiss - Journey.milk diff --git a/presets/Geiss - Julia Fractal 1.milk b/presets/presets_milkdrop/Geiss - Julia Fractal 1.milk similarity index 100% rename from presets/Geiss - Julia Fractal 1.milk rename to presets/presets_milkdrop/Geiss - Julia Fractal 1.milk diff --git a/presets/Geiss - Julia Fractal 2.milk b/presets/presets_milkdrop/Geiss - Julia Fractal 2.milk similarity index 100% rename from presets/Geiss - Julia Fractal 2.milk rename to presets/presets_milkdrop/Geiss - Julia Fractal 2.milk diff --git a/presets/Geiss - Luz.milk b/presets/presets_milkdrop/Geiss - Luz.milk similarity index 100% rename from presets/Geiss - Luz.milk rename to presets/presets_milkdrop/Geiss - Luz.milk diff --git a/presets/Geiss - Many Colors 1.milk b/presets/presets_milkdrop/Geiss - Many Colors 1.milk similarity index 100% rename from presets/Geiss - Many Colors 1.milk rename to presets/presets_milkdrop/Geiss - Many Colors 1.milk diff --git a/presets/Geiss - Many Colors 2.milk b/presets/presets_milkdrop/Geiss - Many Colors 2.milk similarity index 100% rename from presets/Geiss - Many Colors 2.milk rename to presets/presets_milkdrop/Geiss - Many Colors 2.milk diff --git a/presets/Geiss - Mega Swirl 1.milk b/presets/presets_milkdrop/Geiss - Mega Swirl 1.milk similarity index 100% rename from presets/Geiss - Mega Swirl 1.milk rename to presets/presets_milkdrop/Geiss - Mega Swirl 1.milk diff --git a/presets/Geiss - Mega Swirl 2.milk b/presets/presets_milkdrop/Geiss - Mega Swirl 2.milk similarity index 100% rename from presets/Geiss - Mega Swirl 2.milk rename to presets/presets_milkdrop/Geiss - Mega Swirl 2.milk diff --git a/presets/Geiss - Mega Swirl 3.milk b/presets/presets_milkdrop/Geiss - Mega Swirl 3.milk similarity index 100% rename from presets/Geiss - Mega Swirl 3.milk rename to presets/presets_milkdrop/Geiss - Mega Swirl 3.milk diff --git a/presets/Geiss - Microcosm.milk b/presets/presets_milkdrop/Geiss - Microcosm.milk similarity index 100% rename from presets/Geiss - Microcosm.milk rename to presets/presets_milkdrop/Geiss - Microcosm.milk diff --git a/presets/Geiss - Monotone Ripples.milk b/presets/presets_milkdrop/Geiss - Monotone Ripples.milk similarity index 100% rename from presets/Geiss - Monotone Ripples.milk rename to presets/presets_milkdrop/Geiss - Monotone Ripples.milk diff --git a/presets/Geiss - Music Box.milk b/presets/presets_milkdrop/Geiss - Music Box.milk similarity index 100% rename from presets/Geiss - Music Box.milk rename to presets/presets_milkdrop/Geiss - Music Box.milk diff --git a/presets/Geiss - Nautilus.milk b/presets/presets_milkdrop/Geiss - Nautilus.milk similarity index 100% rename from presets/Geiss - Nautilus.milk rename to presets/presets_milkdrop/Geiss - Nautilus.milk diff --git a/presets/Geiss - Octopus Blue.milk b/presets/presets_milkdrop/Geiss - Octopus Blue.milk similarity index 100% rename from presets/Geiss - Octopus Blue.milk rename to presets/presets_milkdrop/Geiss - Octopus Blue.milk diff --git a/presets/Geiss - Octopus Ever Changing.milk b/presets/presets_milkdrop/Geiss - Octopus Ever Changing.milk similarity index 100% rename from presets/Geiss - Octopus Ever Changing.milk rename to presets/presets_milkdrop/Geiss - Octopus Ever Changing.milk diff --git a/presets/Geiss - Octopus Fat and Ever Changing.milk b/presets/presets_milkdrop/Geiss - Octopus Fat and Ever Changing.milk similarity index 100% rename from presets/Geiss - Octopus Fat and Ever Changing.milk rename to presets/presets_milkdrop/Geiss - Octopus Fat and Ever Changing.milk diff --git a/presets/Geiss - Octopus Gold with Dots.milk b/presets/presets_milkdrop/Geiss - Octopus Gold with Dots.milk similarity index 100% rename from presets/Geiss - Octopus Gold with Dots.milk rename to presets/presets_milkdrop/Geiss - Octopus Gold with Dots.milk diff --git a/presets/Geiss - Octopus Gold.milk b/presets/presets_milkdrop/Geiss - Octopus Gold.milk similarity index 100% rename from presets/Geiss - Octopus Gold.milk rename to presets/presets_milkdrop/Geiss - Octopus Gold.milk diff --git a/presets/Geiss - Octopus.milk b/presets/presets_milkdrop/Geiss - Octopus.milk similarity index 100% rename from presets/Geiss - Octopus.milk rename to presets/presets_milkdrop/Geiss - Octopus.milk diff --git a/presets/Geiss - Oldskool Mellowstyle.milk b/presets/presets_milkdrop/Geiss - Oldskool Mellowstyle.milk similarity index 100% rename from presets/Geiss - Oldskool Mellowstyle.milk rename to presets/presets_milkdrop/Geiss - Oldskool Mellowstyle.milk diff --git a/presets/Geiss - Pelota De Fuego.milk b/presets/presets_milkdrop/Geiss - Pelota De Fuego.milk similarity index 100% rename from presets/Geiss - Pelota De Fuego.milk rename to presets/presets_milkdrop/Geiss - Pelota De Fuego.milk diff --git a/presets/Geiss - Pinch.milk b/presets/presets_milkdrop/Geiss - Pinch.milk similarity index 100% rename from presets/Geiss - Pinch.milk rename to presets/presets_milkdrop/Geiss - Pinch.milk diff --git a/presets/Geiss - Pistons.milk b/presets/presets_milkdrop/Geiss - Pistons.milk similarity index 100% rename from presets/Geiss - Pistons.milk rename to presets/presets_milkdrop/Geiss - Pistons.milk diff --git a/presets/Geiss - Planet 1.milk b/presets/presets_milkdrop/Geiss - Planet 1.milk similarity index 100% rename from presets/Geiss - Planet 1.milk rename to presets/presets_milkdrop/Geiss - Planet 1.milk diff --git a/presets/Geiss - Planet 2.milk b/presets/presets_milkdrop/Geiss - Planet 2.milk similarity index 100% rename from presets/Geiss - Planet 2.milk rename to presets/presets_milkdrop/Geiss - Planet 2.milk diff --git a/presets/Geiss - Reducto Absurdum.milk b/presets/presets_milkdrop/Geiss - Reducto Absurdum.milk similarity index 100% rename from presets/Geiss - Reducto Absurdum.milk rename to presets/presets_milkdrop/Geiss - Reducto Absurdum.milk diff --git a/presets/Geiss - Reducto Ad Nauseum.milk b/presets/presets_milkdrop/Geiss - Reducto Ad Nauseum.milk similarity index 100% rename from presets/Geiss - Reducto Ad Nauseum.milk rename to presets/presets_milkdrop/Geiss - Reducto Ad Nauseum.milk diff --git a/presets/Geiss - Rocket.milk b/presets/presets_milkdrop/Geiss - Rocket.milk similarity index 100% rename from presets/Geiss - Rocket.milk rename to presets/presets_milkdrop/Geiss - Rocket.milk diff --git a/presets/Geiss - Runoff.milk b/presets/presets_milkdrop/Geiss - Runoff.milk similarity index 100% rename from presets/Geiss - Runoff.milk rename to presets/presets_milkdrop/Geiss - Runoff.milk diff --git a/presets/Geiss - Scary.milk b/presets/presets_milkdrop/Geiss - Scary.milk similarity index 100% rename from presets/Geiss - Scary.milk rename to presets/presets_milkdrop/Geiss - Scary.milk diff --git a/presets/Geiss - Script.milk b/presets/presets_milkdrop/Geiss - Script.milk similarity index 100% rename from presets/Geiss - Script.milk rename to presets/presets_milkdrop/Geiss - Script.milk diff --git a/presets/Geiss - Serpent.milk b/presets/presets_milkdrop/Geiss - Serpent.milk similarity index 100% rename from presets/Geiss - Serpent.milk rename to presets/presets_milkdrop/Geiss - Serpent.milk diff --git a/presets/Geiss - Shake.milk b/presets/presets_milkdrop/Geiss - Shake.milk similarity index 100% rename from presets/Geiss - Shake.milk rename to presets/presets_milkdrop/Geiss - Shake.milk diff --git a/presets/Geiss - Shift.milk b/presets/presets_milkdrop/Geiss - Shift.milk similarity index 100% rename from presets/Geiss - Shift.milk rename to presets/presets_milkdrop/Geiss - Shift.milk diff --git a/presets/Geiss - Sinews 2.milk b/presets/presets_milkdrop/Geiss - Sinews 2.milk similarity index 100% rename from presets/Geiss - Sinews 2.milk rename to presets/presets_milkdrop/Geiss - Sinews 2.milk diff --git a/presets/Geiss - Smoke.milk b/presets/presets_milkdrop/Geiss - Smoke.milk similarity index 100% rename from presets/Geiss - Smoke.milk rename to presets/presets_milkdrop/Geiss - Smoke.milk diff --git a/presets/Geiss - Solar Flare (Blue).milk b/presets/presets_milkdrop/Geiss - Solar Flare (Blue).milk similarity index 100% rename from presets/Geiss - Solar Flare (Blue).milk rename to presets/presets_milkdrop/Geiss - Solar Flare (Blue).milk diff --git a/presets/Geiss - Solar Flare (Reptile).milk b/presets/presets_milkdrop/Geiss - Solar Flare (Reptile).milk similarity index 100% rename from presets/Geiss - Solar Flare (Reptile).milk rename to presets/presets_milkdrop/Geiss - Solar Flare (Reptile).milk diff --git a/presets/Geiss - Solar Flare.milk b/presets/presets_milkdrop/Geiss - Solar Flare.milk similarity index 100% rename from presets/Geiss - Solar Flare.milk rename to presets/presets_milkdrop/Geiss - Solar Flare.milk diff --git a/presets/Geiss - Sound And The Fury.milk b/presets/presets_milkdrop/Geiss - Sound And The Fury.milk similarity index 100% rename from presets/Geiss - Sound And The Fury.milk rename to presets/presets_milkdrop/Geiss - Sound And The Fury.milk diff --git a/presets/Geiss - Space Voyage (High-Warp).milk b/presets/presets_milkdrop/Geiss - Space Voyage (High-Warp).milk similarity index 100% rename from presets/Geiss - Space Voyage (High-Warp).milk rename to presets/presets_milkdrop/Geiss - Space Voyage (High-Warp).milk diff --git a/presets/Geiss - Space Voyage Bright.milk b/presets/presets_milkdrop/Geiss - Space Voyage Bright.milk similarity index 100% rename from presets/Geiss - Space Voyage Bright.milk rename to presets/presets_milkdrop/Geiss - Space Voyage Bright.milk diff --git a/presets/Geiss - Space Voyage.milk b/presets/presets_milkdrop/Geiss - Space Voyage.milk similarity index 100% rename from presets/Geiss - Space Voyage.milk rename to presets/presets_milkdrop/Geiss - Space Voyage.milk diff --git a/presets/Geiss - Spacedust.milk b/presets/presets_milkdrop/Geiss - Spacedust.milk similarity index 100% rename from presets/Geiss - Spacedust.milk rename to presets/presets_milkdrop/Geiss - Spacedust.milk diff --git a/presets/Geiss - Starfish 1.milk b/presets/presets_milkdrop/Geiss - Starfish 1.milk similarity index 100% rename from presets/Geiss - Starfish 1.milk rename to presets/presets_milkdrop/Geiss - Starfish 1.milk diff --git a/presets/Geiss - Starfish 2.milk b/presets/presets_milkdrop/Geiss - Starfish 2.milk similarity index 100% rename from presets/Geiss - Starfish 2.milk rename to presets/presets_milkdrop/Geiss - Starfish 2.milk diff --git a/presets/Geiss - Sunsets.milk b/presets/presets_milkdrop/Geiss - Sunsets.milk similarity index 100% rename from presets/Geiss - Sunsets.milk rename to presets/presets_milkdrop/Geiss - Sunsets.milk diff --git a/presets/Geiss - Supernova 1.milk b/presets/presets_milkdrop/Geiss - Supernova 1.milk similarity index 100% rename from presets/Geiss - Supernova 1.milk rename to presets/presets_milkdrop/Geiss - Supernova 1.milk diff --git a/presets/Geiss - Supernova 2.milk b/presets/presets_milkdrop/Geiss - Supernova 2.milk similarity index 100% rename from presets/Geiss - Supernova 2.milk rename to presets/presets_milkdrop/Geiss - Supernova 2.milk diff --git a/presets/Geiss - Surface.milk b/presets/presets_milkdrop/Geiss - Surface.milk similarity index 100% rename from presets/Geiss - Surface.milk rename to presets/presets_milkdrop/Geiss - Surface.milk diff --git a/presets/Geiss - Swirl 1.milk b/presets/presets_milkdrop/Geiss - Swirl 1.milk similarity index 100% rename from presets/Geiss - Swirl 1.milk rename to presets/presets_milkdrop/Geiss - Swirl 1.milk diff --git a/presets/Geiss - Swirl 2.milk b/presets/presets_milkdrop/Geiss - Swirl 2.milk similarity index 100% rename from presets/Geiss - Swirl 2.milk rename to presets/presets_milkdrop/Geiss - Swirl 2.milk diff --git a/presets/Geiss - Swirlie 1.milk b/presets/presets_milkdrop/Geiss - Swirlie 1.milk similarity index 100% rename from presets/Geiss - Swirlie 1.milk rename to presets/presets_milkdrop/Geiss - Swirlie 1.milk diff --git a/presets/Geiss - Swirlie 2.milk b/presets/presets_milkdrop/Geiss - Swirlie 2.milk similarity index 100% rename from presets/Geiss - Swirlie 2.milk rename to presets/presets_milkdrop/Geiss - Swirlie 2.milk diff --git a/presets/Geiss - Swirlie 3.milk b/presets/presets_milkdrop/Geiss - Swirlie 3.milk similarity index 100% rename from presets/Geiss - Swirlie 3.milk rename to presets/presets_milkdrop/Geiss - Swirlie 3.milk diff --git a/presets/Geiss - Swirlie 4.milk b/presets/presets_milkdrop/Geiss - Swirlie 4.milk similarity index 100% rename from presets/Geiss - Swirlie 4.milk rename to presets/presets_milkdrop/Geiss - Swirlie 4.milk diff --git a/presets/Geiss - Swirlie 5.milk b/presets/presets_milkdrop/Geiss - Swirlie 5.milk similarity index 100% rename from presets/Geiss - Swirlie 5.milk rename to presets/presets_milkdrop/Geiss - Swirlie 5.milk diff --git a/presets/Geiss - Symmetry.milk b/presets/presets_milkdrop/Geiss - Symmetry.milk similarity index 100% rename from presets/Geiss - Symmetry.milk rename to presets/presets_milkdrop/Geiss - Symmetry.milk diff --git a/presets/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk b/presets/presets_milkdrop/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk similarity index 100% rename from presets/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk rename to presets/presets_milkdrop/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk diff --git a/presets/Geiss - Three And A Half Kinds Of Amphetamines.milk b/presets/presets_milkdrop/Geiss - Three And A Half Kinds Of Amphetamines.milk similarity index 100% rename from presets/Geiss - Three And A Half Kinds Of Amphetamines.milk rename to presets/presets_milkdrop/Geiss - Three And A Half Kinds Of Amphetamines.milk diff --git a/presets/Geiss - Three Kinds Of Amphetamines.milk b/presets/presets_milkdrop/Geiss - Three Kinds Of Amphetamines.milk similarity index 100% rename from presets/Geiss - Three Kinds Of Amphetamines.milk rename to presets/presets_milkdrop/Geiss - Three Kinds Of Amphetamines.milk diff --git a/presets/Geiss - Tokamak.milk b/presets/presets_milkdrop/Geiss - Tokamak.milk similarity index 100% rename from presets/Geiss - Tokamak.milk rename to presets/presets_milkdrop/Geiss - Tokamak.milk diff --git a/presets/Geiss - Tornado.milk b/presets/presets_milkdrop/Geiss - Tornado.milk similarity index 100% rename from presets/Geiss - Tornado.milk rename to presets/presets_milkdrop/Geiss - Tornado.milk diff --git a/presets/Geiss - Toy.milk b/presets/presets_milkdrop/Geiss - Toy.milk similarity index 100% rename from presets/Geiss - Toy.milk rename to presets/presets_milkdrop/Geiss - Toy.milk diff --git a/presets/Geiss - Trampoline.milk b/presets/presets_milkdrop/Geiss - Trampoline.milk similarity index 100% rename from presets/Geiss - Trampoline.milk rename to presets/presets_milkdrop/Geiss - Trampoline.milk diff --git a/presets/Geiss - Tube.milk b/presets/presets_milkdrop/Geiss - Tube.milk similarity index 100% rename from presets/Geiss - Tube.milk rename to presets/presets_milkdrop/Geiss - Tube.milk diff --git a/presets/Geiss - Two-Pointed Pulsagon.milk b/presets/presets_milkdrop/Geiss - Two-Pointed Pulsagon.milk similarity index 100% rename from presets/Geiss - Two-Pointed Pulsagon.milk rename to presets/presets_milkdrop/Geiss - Two-Pointed Pulsagon.milk diff --git a/presets/Geiss - Ultrafast.milk b/presets/presets_milkdrop/Geiss - Ultrafast.milk similarity index 100% rename from presets/Geiss - Ultrafast.milk rename to presets/presets_milkdrop/Geiss - Ultrafast.milk diff --git a/presets/Geiss - Volume Zoom.milk b/presets/presets_milkdrop/Geiss - Volume Zoom.milk similarity index 100% rename from presets/Geiss - Volume Zoom.milk rename to presets/presets_milkdrop/Geiss - Volume Zoom.milk diff --git a/presets/Geiss - Vortex 1.milk b/presets/presets_milkdrop/Geiss - Vortex 1.milk similarity index 100% rename from presets/Geiss - Vortex 1.milk rename to presets/presets_milkdrop/Geiss - Vortex 1.milk diff --git a/presets/Geiss - Vortex 2.milk b/presets/presets_milkdrop/Geiss - Vortex 2.milk similarity index 100% rename from presets/Geiss - Vortex 2.milk rename to presets/presets_milkdrop/Geiss - Vortex 2.milk diff --git a/presets/Geiss - Warp Of Dali 1.milk b/presets/presets_milkdrop/Geiss - Warp Of Dali 1.milk similarity index 100% rename from presets/Geiss - Warp Of Dali 1.milk rename to presets/presets_milkdrop/Geiss - Warp Of Dali 1.milk diff --git a/presets/Geiss - Warp Of Dali 2.milk b/presets/presets_milkdrop/Geiss - Warp Of Dali 2.milk similarity index 100% rename from presets/Geiss - Warp Of Dali 2.milk rename to presets/presets_milkdrop/Geiss - Warp Of Dali 2.milk diff --git a/presets/Geiss - Warp Of Dali Bright.milk b/presets/presets_milkdrop/Geiss - Warp Of Dali Bright.milk similarity index 100% rename from presets/Geiss - Warp Of Dali Bright.milk rename to presets/presets_milkdrop/Geiss - Warp Of Dali Bright.milk diff --git a/presets/Geiss - Waterfall.milk b/presets/presets_milkdrop/Geiss - Waterfall.milk similarity index 100% rename from presets/Geiss - Waterfall.milk rename to presets/presets_milkdrop/Geiss - Waterfall.milk diff --git a/presets/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk b/presets/presets_milkdrop/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk similarity index 100% rename from presets/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk rename to presets/presets_milkdrop/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk diff --git a/presets/Idiot & Che - Various Abstract Effects.milk b/presets/presets_milkdrop/Idiot & Che - Various Abstract Effects.milk similarity index 100% rename from presets/Idiot & Che - Various Abstract Effects.milk rename to presets/presets_milkdrop/Idiot & Che - Various Abstract Effects.milk diff --git a/presets/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk b/presets/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk new file mode 100644 index 0000000000..c8cf4b8b81 --- /dev/null +++ b/presets/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk @@ -0,0 +1,95 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.763002 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.230000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); +per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); +per_frame_25=echo_zoom=echo_zoom-.3*sin(Time*(q5/2/2/2/2/2/2/2)); +per_frame_26=//echo_alpha=1; +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0)*((ang/2/2/2)-rad)*Sin(q5)/2; +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y-0.5)*96)+0.005*sin((y-0.5)*128)); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0.001*cos((x-0.5)*128)+0.001*cos((x-0.5)*96)); diff --git a/presets/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk b/presets/presets_milkdrop/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk similarity index 100% rename from presets/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk rename to presets/presets_milkdrop/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk diff --git a/presets/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk b/presets/presets_milkdrop/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk similarity index 100% rename from presets/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk rename to presets/presets_milkdrop/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk diff --git a/presets/Idiot - 9-7-02 (Remix) (sustain fixed).milk b/presets/presets_milkdrop/Idiot - 9-7-02 (Remix) (sustain fixed).milk similarity index 100% rename from presets/Idiot - 9-7-02 (Remix) (sustain fixed).milk rename to presets/presets_milkdrop/Idiot - 9-7-02 (Remix) (sustain fixed).milk diff --git a/presets/Idiot - Cortex (Spiritual Visions Mix).milk b/presets/presets_milkdrop/Idiot - Cortex (Spiritual Visions Mix).milk similarity index 100% rename from presets/Idiot - Cortex (Spiritual Visions Mix).milk rename to presets/presets_milkdrop/Idiot - Cortex (Spiritual Visions Mix).milk diff --git a/presets/Idiot - MOTIVATION!.milk b/presets/presets_milkdrop/Idiot - MOTIVATION!.milk similarity index 100% rename from presets/Idiot - MOTIVATION!.milk rename to presets/presets_milkdrop/Idiot - MOTIVATION!.milk diff --git a/presets/Idiot - Madness Within The Void (Remix).milk b/presets/presets_milkdrop/Idiot - Madness Within The Void (Remix).milk similarity index 100% rename from presets/Idiot - Madness Within The Void (Remix).milk rename to presets/presets_milkdrop/Idiot - Madness Within The Void (Remix).milk diff --git a/presets/Idiot - Tentacle Dreams (Remix).milk b/presets/presets_milkdrop/Idiot - Tentacle Dreams (Remix).milk similarity index 100% rename from presets/Idiot - Tentacle Dreams (Remix).milk rename to presets/presets_milkdrop/Idiot - Tentacle Dreams (Remix).milk diff --git a/presets/Idiot - Texture Boxes (Remix 2).milk b/presets/presets_milkdrop/Idiot - Texture Boxes (Remix 2).milk similarity index 100% rename from presets/Idiot - Texture Boxes (Remix 2).milk rename to presets/presets_milkdrop/Idiot - Texture Boxes (Remix 2).milk diff --git a/presets/Idiot - Texture Boxes (Remix).milk b/presets/presets_milkdrop/Idiot - Texture Boxes (Remix).milk similarity index 100% rename from presets/Idiot - Texture Boxes (Remix).milk rename to presets/presets_milkdrop/Idiot - Texture Boxes (Remix).milk diff --git a/presets/Idiot - Typomatic (Remix 2).milk b/presets/presets_milkdrop/Idiot - Typomatic (Remix 2).milk similarity index 100% rename from presets/Idiot - Typomatic (Remix 2).milk rename to presets/presets_milkdrop/Idiot - Typomatic (Remix 2).milk diff --git a/presets_milkdrop/Idiot - What Is.milk b/presets/presets_milkdrop/Idiot - What Is.milk similarity index 100% rename from presets_milkdrop/Idiot - What Is.milk rename to presets/presets_milkdrop/Idiot - What Is.milk diff --git a/presets/Idiot - What Shall Come.milk b/presets/presets_milkdrop/Idiot - What Shall Come.milk similarity index 100% rename from presets/Idiot - What Shall Come.milk rename to presets/presets_milkdrop/Idiot - What Shall Come.milk diff --git a/presets/Idiot24-7 - Ascending to heaven 2.milk b/presets/presets_milkdrop/Idiot24-7 - Ascending to heaven 2.milk similarity index 100% rename from presets/Idiot24-7 - Ascending to heaven 2.milk rename to presets/presets_milkdrop/Idiot24-7 - Ascending to heaven 2.milk diff --git a/presets/Idiot24-7 - Just plain cool 3.milk b/presets/presets_milkdrop/Idiot24-7 - Just plain cool 3.milk similarity index 100% rename from presets/Idiot24-7 - Just plain cool 3.milk rename to presets/presets_milkdrop/Idiot24-7 - Just plain cool 3.milk diff --git a/presets/Idiot24-7 - Meeting place.milk b/presets/presets_milkdrop/Idiot24-7 - Meeting place.milk similarity index 100% rename from presets/Idiot24-7 - Meeting place.milk rename to presets/presets_milkdrop/Idiot24-7 - Meeting place.milk diff --git a/presets/Illusion & Che - Return Of The King.milk b/presets/presets_milkdrop/Illusion & Che - Return Of The King.milk similarity index 100% rename from presets/Illusion & Che - Return Of The King.milk rename to presets/presets_milkdrop/Illusion & Che - Return Of The King.milk diff --git a/presets/Illusion & Che - The Piper.milk b/presets/presets_milkdrop/Illusion & Che - The Piper.milk similarity index 100% rename from presets/Illusion & Che - The Piper.milk rename to presets/presets_milkdrop/Illusion & Che - The Piper.milk diff --git a/presets/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_milkdrop/Illusion & Rovastar - Clouded Bottle.milk similarity index 100% rename from presets/Illusion & Rovastar - Clouded Bottle.milk rename to presets/presets_milkdrop/Illusion & Rovastar - Clouded Bottle.milk diff --git a/presets/Illusion & Rovastar - Snowflake Delight.milk b/presets/presets_milkdrop/Illusion & Rovastar - Snowflake Delight.milk similarity index 100% rename from presets/Illusion & Rovastar - Snowflake Delight.milk rename to presets/presets_milkdrop/Illusion & Rovastar - Snowflake Delight.milk diff --git a/presets/Illusion & Rovastar - Snowflake Return.milk b/presets/presets_milkdrop/Illusion & Rovastar - Snowflake Return.milk similarity index 100% rename from presets/Illusion & Rovastar - Snowflake Return.milk rename to presets/presets_milkdrop/Illusion & Rovastar - Snowflake Return.milk diff --git a/presets/Illusion & Unchained - Frozen Eye 1.milk b/presets/presets_milkdrop/Illusion & Unchained - Frozen Eye 1.milk similarity index 100% rename from presets/Illusion & Unchained - Frozen Eye 1.milk rename to presets/presets_milkdrop/Illusion & Unchained - Frozen Eye 1.milk diff --git a/presets/Illusion & Unchained - Invade My Mind.milk b/presets/presets_milkdrop/Illusion & Unchained - Invade My Mind.milk similarity index 100% rename from presets/Illusion & Unchained - Invade My Mind.milk rename to presets/presets_milkdrop/Illusion & Unchained - Invade My Mind.milk diff --git a/presets/Illusion & Unchained - Re-Enter Homeworld.milk b/presets/presets_milkdrop/Illusion & Unchained - Re-Enter Homeworld.milk similarity index 100% rename from presets/Illusion & Unchained - Re-Enter Homeworld.milk rename to presets/presets_milkdrop/Illusion & Unchained - Re-Enter Homeworld.milk diff --git a/presets/Illusion - Figure Eight.milk b/presets/presets_milkdrop/Illusion - Figure Eight.milk similarity index 100% rename from presets/Illusion - Figure Eight.milk rename to presets/presets_milkdrop/Illusion - Figure Eight.milk diff --git a/presets/Illusion - Heavenly Eye.milk b/presets/presets_milkdrop/Illusion - Heavenly Eye.milk similarity index 100% rename from presets/Illusion - Heavenly Eye.milk rename to presets/presets_milkdrop/Illusion - Heavenly Eye.milk diff --git a/presets/Jess - Trying To Trap A Twister.milk b/presets/presets_milkdrop/Jess - Trying To Trap A Twister.milk similarity index 100% rename from presets/Jess - Trying To Trap A Twister.milk rename to presets/presets_milkdrop/Jess - Trying To Trap A Twister.milk diff --git a/presets/Krash & Idiot - Memories Of The Castle.milk b/presets/presets_milkdrop/Krash & Idiot - Memories Of The Castle.milk similarity index 100% rename from presets/Krash & Idiot - Memories Of The Castle.milk rename to presets/presets_milkdrop/Krash & Idiot - Memories Of The Castle.milk diff --git a/presets/Krash & Illusion - Indecisive Mosaic.milk b/presets/presets_milkdrop/Krash & Illusion - Indecisive Mosaic.milk similarity index 100% rename from presets/Krash & Illusion - Indecisive Mosaic.milk rename to presets/presets_milkdrop/Krash & Illusion - Indecisive Mosaic.milk diff --git a/presets/Krash & Illusion - Spiral Movement.milk b/presets/presets_milkdrop/Krash & Illusion - Spiral Movement.milk similarity index 100% rename from presets/Krash & Illusion - Spiral Movement.milk rename to presets/presets_milkdrop/Krash & Illusion - Spiral Movement.milk diff --git a/presets/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk b/presets/presets_milkdrop/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk similarity index 100% rename from presets/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk rename to presets/presets_milkdrop/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk diff --git a/presets/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk b/presets/presets_milkdrop/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk similarity index 100% rename from presets/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk rename to presets/presets_milkdrop/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk diff --git a/presets/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk b/presets/presets_milkdrop/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk similarity index 100% rename from presets/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk rename to presets/presets_milkdrop/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk diff --git a/presets/Krash & Rovastar - Switching Polygons.milk b/presets/presets_milkdrop/Krash & Rovastar - Switching Polygons.milk similarity index 100% rename from presets/Krash & Rovastar - Switching Polygons.milk rename to presets/presets_milkdrop/Krash & Rovastar - Switching Polygons.milk diff --git a/presets_milkdrop/Krash & Rovastar - The Devil Is In The Details.milk b/presets/presets_milkdrop/Krash & Rovastar - The Devil Is In The Details.milk similarity index 100% rename from presets_milkdrop/Krash & Rovastar - The Devil Is In The Details.milk rename to presets/presets_milkdrop/Krash & Rovastar - The Devil Is In The Details.milk diff --git a/presets/Krash & TEcHNO - Rhythmic Mantas.milk b/presets/presets_milkdrop/Krash & TEcHNO - Rhythmic Mantas.milk similarity index 100% rename from presets/Krash & TEcHNO - Rhythmic Mantas.milk rename to presets/presets_milkdrop/Krash & TEcHNO - Rhythmic Mantas.milk diff --git a/presets/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk b/presets/presets_milkdrop/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk similarity index 100% rename from presets/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk rename to presets/presets_milkdrop/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk diff --git a/presets/Krash - 3D Shapes Demo 2.milk b/presets/presets_milkdrop/Krash - 3D Shapes Demo 2.milk similarity index 100% rename from presets/Krash - 3D Shapes Demo 2.milk rename to presets/presets_milkdrop/Krash - 3D Shapes Demo 2.milk diff --git a/presets/Krash - 3D Shapes Demo.milk b/presets/presets_milkdrop/Krash - 3D Shapes Demo.milk similarity index 100% rename from presets/Krash - 3D Shapes Demo.milk rename to presets/presets_milkdrop/Krash - 3D Shapes Demo.milk diff --git a/presets/Krash - Chronoshift.milk b/presets/presets_milkdrop/Krash - Chronoshift.milk similarity index 100% rename from presets/Krash - Chronoshift.milk rename to presets/presets_milkdrop/Krash - Chronoshift.milk diff --git a/presets/Krash - Digital Flame.milk b/presets/presets_milkdrop/Krash - Digital Flame.milk similarity index 100% rename from presets/Krash - Digital Flame.milk rename to presets/presets_milkdrop/Krash - Digital Flame.milk diff --git a/presets/Krash - Dynamic Borders 1.milk b/presets/presets_milkdrop/Krash - Dynamic Borders 1.milk similarity index 100% rename from presets/Krash - Dynamic Borders 1.milk rename to presets/presets_milkdrop/Krash - Dynamic Borders 1.milk diff --git a/presets/Krash - Framed Geometry.milk b/presets/presets_milkdrop/Krash - Framed Geometry.milk similarity index 100% rename from presets/Krash - Framed Geometry.milk rename to presets/presets_milkdrop/Krash - Framed Geometry.milk diff --git a/presets/Krash - Heatwaves.milk b/presets/presets_milkdrop/Krash - Heatwaves.milk similarity index 100% rename from presets/Krash - Heatwaves.milk rename to presets/presets_milkdrop/Krash - Heatwaves.milk diff --git a/presets/Krash - Interwoven (Nightmare Weft Mix).milk b/presets/presets_milkdrop/Krash - Interwoven (Nightmare Weft Mix).milk similarity index 100% rename from presets/Krash - Interwoven (Nightmare Weft Mix).milk rename to presets/presets_milkdrop/Krash - Interwoven (Nightmare Weft Mix).milk diff --git a/presets/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk b/presets/presets_milkdrop/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk similarity index 100% rename from presets/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk rename to presets/presets_milkdrop/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk diff --git a/presets/Krash - Pulse.milk b/presets/presets_milkdrop/Krash - Pulse.milk similarity index 100% rename from presets/Krash - Pulse.milk rename to presets/presets_milkdrop/Krash - Pulse.milk diff --git a/presets/Krash - Season's Greetings 2.milk b/presets/presets_milkdrop/Krash - Season's Greetings 2.milk similarity index 100% rename from presets/Krash - Season's Greetings 2.milk rename to presets/presets_milkdrop/Krash - Season's Greetings 2.milk diff --git a/presets/Krash - Snowflake Halo.milk b/presets/presets_milkdrop/Krash - Snowflake Halo.milk similarity index 100% rename from presets/Krash - Snowflake Halo.milk rename to presets/presets_milkdrop/Krash - Snowflake Halo.milk diff --git a/presets/Krash - Twisting Indecision.milk b/presets/presets_milkdrop/Krash - Twisting Indecision.milk similarity index 100% rename from presets/Krash - Twisting Indecision.milk rename to presets/presets_milkdrop/Krash - Twisting Indecision.milk diff --git a/presets/Krash - Vinyl Disk.milk b/presets/presets_milkdrop/Krash - Vinyl Disk.milk similarity index 100% rename from presets/Krash - Vinyl Disk.milk rename to presets/presets_milkdrop/Krash - Vinyl Disk.milk diff --git a/presets/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_milkdrop/Krash - War Machine (Shifting Complexity Mix).milk similarity index 100% rename from presets/Krash - War Machine (Shifting Complexity Mix).milk rename to presets/presets_milkdrop/Krash - War Machine (Shifting Complexity Mix).milk diff --git a/presets/Krash - Windowframe To Mega Swirl 2.milk b/presets/presets_milkdrop/Krash - Windowframe To Mega Swirl 2.milk similarity index 100% rename from presets/Krash - Windowframe To Mega Swirl 2.milk rename to presets/presets_milkdrop/Krash - Windowframe To Mega Swirl 2.milk diff --git a/presets/Krash - cardiac rhythm.milk b/presets/presets_milkdrop/Krash - cardiac rhythm.milk similarity index 100% rename from presets/Krash - cardiac rhythm.milk rename to presets/presets_milkdrop/Krash - cardiac rhythm.milk diff --git a/presets/Krash - interwoven (nightmare weft).milk b/presets/presets_milkdrop/Krash - interwoven (nightmare weft).milk similarity index 100% rename from presets/Krash - interwoven (nightmare weft).milk rename to presets/presets_milkdrop/Krash - interwoven (nightmare weft).milk diff --git a/presets/Krash - interwoven.milk b/presets/presets_milkdrop/Krash - interwoven.milk similarity index 100% rename from presets/Krash - interwoven.milk rename to presets/presets_milkdrop/Krash - interwoven.milk diff --git a/presets/Krash - molten indecision.milk b/presets/presets_milkdrop/Krash - molten indecision.milk similarity index 100% rename from presets/Krash - molten indecision.milk rename to presets/presets_milkdrop/Krash - molten indecision.milk diff --git a/presets/Krash - systolic pressure.milk b/presets/presets_milkdrop/Krash - systolic pressure.milk similarity index 100% rename from presets/Krash - systolic pressure.milk rename to presets/presets_milkdrop/Krash - systolic pressure.milk diff --git a/presets/Krash and Fvese - Molten Indecision (Fvese Remix).milk b/presets/presets_milkdrop/Krash and Fvese - Molten Indecision (Fvese Remix).milk similarity index 100% rename from presets/Krash and Fvese - Molten Indecision (Fvese Remix).milk rename to presets/presets_milkdrop/Krash and Fvese - Molten Indecision (Fvese Remix).milk diff --git a/presets/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk b/presets/presets_milkdrop/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk similarity index 100% rename from presets/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk rename to presets/presets_milkdrop/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk diff --git a/presets/Krash and Rovastar - Rainbow Orb.milk b/presets/presets_milkdrop/Krash and Rovastar - Rainbow Orb.milk similarity index 100% rename from presets/Krash and Rovastar - Rainbow Orb.milk rename to presets/presets_milkdrop/Krash and Rovastar - Rainbow Orb.milk diff --git a/presets/Krash and Telek - Real Noughts and Crosses (Random Ending).milk b/presets/presets_milkdrop/Krash and Telek - Real Noughts and Crosses (Random Ending).milk similarity index 100% rename from presets/Krash and Telek - Real Noughts and Crosses (Random Ending).milk rename to presets/presets_milkdrop/Krash and Telek - Real Noughts and Crosses (Random Ending).milk diff --git a/presets/Mstress & Darius - Pursuing The Sunset.milk b/presets/presets_milkdrop/Mstress & Darius - Pursuing The Sunset.milk similarity index 100% rename from presets/Mstress & Darius - Pursuing The Sunset.milk rename to presets/presets_milkdrop/Mstress & Darius - Pursuing The Sunset.milk diff --git a/presets/Mstress & Juppy - Dancer.milk b/presets/presets_milkdrop/Mstress & Juppy - Dancer.milk similarity index 100% rename from presets/Mstress & Juppy - Dancer.milk rename to presets/presets_milkdrop/Mstress & Juppy - Dancer.milk diff --git a/presets/Mstress & Juppy - Dancers In The Dark.milk b/presets/presets_milkdrop/Mstress & Juppy - Dancers In The Dark.milk similarity index 100% rename from presets/Mstress & Juppy - Dancers In The Dark.milk rename to presets/presets_milkdrop/Mstress & Juppy - Dancers In The Dark.milk diff --git a/presets/Mstress & Zylot - Acid UFO.milk b/presets/presets_milkdrop/Mstress & Zylot - Acid UFO.milk similarity index 100% rename from presets/Mstress & Zylot - Acid UFO.milk rename to presets/presets_milkdrop/Mstress & Zylot - Acid UFO.milk diff --git a/presets/Mstress - Acid Universes (Big Bang Interferences Mix).milk b/presets/presets_milkdrop/Mstress - Acid Universes (Big Bang Interferences Mix).milk similarity index 100% rename from presets/Mstress - Acid Universes (Big Bang Interferences Mix).milk rename to presets/presets_milkdrop/Mstress - Acid Universes (Big Bang Interferences Mix).milk diff --git a/presets/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk b/presets/presets_milkdrop/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk similarity index 100% rename from presets/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk rename to presets/presets_milkdrop/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk diff --git a/presets/Mstress - Aurora Boreale.milk b/presets/presets_milkdrop/Mstress - Aurora Boreale.milk similarity index 100% rename from presets/Mstress - Aurora Boreale.milk rename to presets/presets_milkdrop/Mstress - Aurora Boreale.milk diff --git a/presets/Mstress - Curtain.milk b/presets/presets_milkdrop/Mstress - Curtain.milk similarity index 100% rename from presets/Mstress - Curtain.milk rename to presets/presets_milkdrop/Mstress - Curtain.milk diff --git a/presets/Mstress - Snowing Fiber City.milk b/presets/presets_milkdrop/Mstress - Snowing Fiber City.milk similarity index 100% rename from presets/Mstress - Snowing Fiber City.milk rename to presets/presets_milkdrop/Mstress - Snowing Fiber City.milk diff --git a/presets/Mstress - Super nova self control.milk b/presets/presets_milkdrop/Mstress - Super nova self control.milk similarity index 100% rename from presets/Mstress - Super nova self control.milk rename to presets/presets_milkdrop/Mstress - Super nova self control.milk diff --git a/presets/Reenen - phoenix.milk b/presets/presets_milkdrop/Reenen - phoenix.milk similarity index 100% rename from presets/Reenen - phoenix.milk rename to presets/presets_milkdrop/Reenen - phoenix.milk diff --git a/presets/presets_milkdrop/Rocke - Answer-42.milk b/presets/presets_milkdrop/Rocke - Answer-42.milk new file mode 100644 index 0000000000..fdb4811454 --- /dev/null +++ b/presets/presets_milkdrop/Rocke - Answer-42.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.998000 +fDecay=0.993000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.900000 +fWaveScale=0.750110 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.961900 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.200005 +mv_l=5.000000 +mv_r=0.500000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.100000 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.05*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(ang); diff --git a/presets/Rocke - Answer42.milk b/presets/presets_milkdrop/Rocke - Answer42.milk similarity index 100% rename from presets/Rocke - Answer42.milk rename to presets/presets_milkdrop/Rocke - Answer42.milk diff --git a/presets/Rocke - Cold Love (Tei Zwaa).milk b/presets/presets_milkdrop/Rocke - Cold Love (Tei Zwaa).milk similarity index 100% rename from presets/Rocke - Cold Love (Tei Zwaa).milk rename to presets/presets_milkdrop/Rocke - Cold Love (Tei Zwaa).milk diff --git a/presets/Rocke - Personal Comet.milk b/presets/presets_milkdrop/Rocke - Personal Comet.milk similarity index 100% rename from presets/Rocke - Personal Comet.milk rename to presets/presets_milkdrop/Rocke - Personal Comet.milk diff --git a/presets_milkdrop/Rovastar & Aderrasi - Clockwork Organism.milk b/presets/presets_milkdrop/Rovastar & Aderrasi - Clockwork Organism.milk similarity index 100% rename from presets_milkdrop/Rovastar & Aderrasi - Clockwork Organism.milk rename to presets/presets_milkdrop/Rovastar & Aderrasi - Clockwork Organism.milk diff --git a/presets/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk b/presets/presets_milkdrop/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk similarity index 100% rename from presets/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk rename to presets/presets_milkdrop/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk diff --git a/presets/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk b/presets/presets_milkdrop/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk similarity index 100% rename from presets/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk rename to presets/presets_milkdrop/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk diff --git a/presets/Rovastar & Che - Asylum Animations.milk b/presets/presets_milkdrop/Rovastar & Che - Asylum Animations.milk similarity index 100% rename from presets/Rovastar & Che - Asylum Animations.milk rename to presets/presets_milkdrop/Rovastar & Che - Asylum Animations.milk diff --git a/presets/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk b/presets/presets_milkdrop/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk similarity index 100% rename from presets/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk rename to presets/presets_milkdrop/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk diff --git a/presets/Rovastar & EvilJim - Bass Tube of Light.milk b/presets/presets_milkdrop/Rovastar & EvilJim - Bass Tube of Light.milk similarity index 100% rename from presets/Rovastar & EvilJim - Bass Tube of Light.milk rename to presets/presets_milkdrop/Rovastar & EvilJim - Bass Tube of Light.milk diff --git a/presets/Rovastar & Fvese - Dark Subconscious.milk b/presets/presets_milkdrop/Rovastar & Fvese - Dark Subconscious.milk similarity index 100% rename from presets/Rovastar & Fvese - Dark Subconscious.milk rename to presets/presets_milkdrop/Rovastar & Fvese - Dark Subconscious.milk diff --git a/presets/Rovastar & Fvese - Deadly Flower.milk b/presets/presets_milkdrop/Rovastar & Fvese - Deadly Flower.milk similarity index 100% rename from presets/Rovastar & Fvese - Deadly Flower.milk rename to presets/presets_milkdrop/Rovastar & Fvese - Deadly Flower.milk diff --git a/presets/Rovastar & Fvese - Mosaic Waves.milk b/presets/presets_milkdrop/Rovastar & Fvese - Mosaic Waves.milk similarity index 100% rename from presets/Rovastar & Fvese - Mosaic Waves.milk rename to presets/presets_milkdrop/Rovastar & Fvese - Mosaic Waves.milk diff --git a/presets/Rovastar & Fvese - Paranormal Static.milk b/presets/presets_milkdrop/Rovastar & Fvese - Paranormal Static.milk similarity index 100% rename from presets/Rovastar & Fvese - Paranormal Static.milk rename to presets/presets_milkdrop/Rovastar & Fvese - Paranormal Static.milk diff --git a/presets/Rovastar & Fvese - Stranger Minds (Astral Mix).milk b/presets/presets_milkdrop/Rovastar & Fvese - Stranger Minds (Astral Mix).milk similarity index 100% rename from presets/Rovastar & Fvese - Stranger Minds (Astral Mix).milk rename to presets/presets_milkdrop/Rovastar & Fvese - Stranger Minds (Astral Mix).milk diff --git a/presets/Rovastar & Fvese - Stranger Minds.milk b/presets/presets_milkdrop/Rovastar & Fvese - Stranger Minds.milk similarity index 100% rename from presets/Rovastar & Fvese - Stranger Minds.milk rename to presets/presets_milkdrop/Rovastar & Fvese - Stranger Minds.milk diff --git a/presets/Rovastar & Geiss - Approach (Vectrip Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Approach (Vectrip Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Approach (Vectrip Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Approach (Vectrip Mix).milk diff --git a/presets/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk diff --git a/presets/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk b/presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk similarity index 100% rename from presets/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk diff --git a/presets/Rovastar & Geiss - Hurricane Nightmare.milk b/presets/presets_milkdrop/Rovastar & Geiss - Hurricane Nightmare.milk similarity index 100% rename from presets/Rovastar & Geiss - Hurricane Nightmare.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Hurricane Nightmare.milk diff --git a/presets/Rovastar & Geiss - Ice Planet.milk b/presets/presets_milkdrop/Rovastar & Geiss - Ice Planet.milk similarity index 100% rename from presets/Rovastar & Geiss - Ice Planet.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Ice Planet.milk diff --git a/presets/Rovastar & Geiss - Notions Of Tonality.milk b/presets/presets_milkdrop/Rovastar & Geiss - Notions Of Tonality.milk similarity index 100% rename from presets/Rovastar & Geiss - Notions Of Tonality.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Notions Of Tonality.milk diff --git a/presets/Rovastar & Geiss - Octoplasm.milk b/presets/presets_milkdrop/Rovastar & Geiss - Octoplasm.milk similarity index 100% rename from presets/Rovastar & Geiss - Octoplasm.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Octoplasm.milk diff --git a/presets/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk diff --git a/presets/Rovastar & Geiss - Octotrip.milk b/presets/presets_milkdrop/Rovastar & Geiss - Octotrip.milk similarity index 100% rename from presets/Rovastar & Geiss - Octotrip.milk rename to presets/presets_milkdrop/Rovastar & Geiss - Octotrip.milk diff --git a/presets/Rovastar & Geiss - Surface (Vectrip Mix).milk b/presets/presets_milkdrop/Rovastar & Geiss - Surface (Vectrip Mix).milk similarity index 100% rename from presets/Rovastar & Geiss - Surface (Vectrip Mix).milk rename to presets/presets_milkdrop/Rovastar & Geiss - Surface (Vectrip Mix).milk diff --git a/presets/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_milkdrop/Rovastar & Idiot24-7 - Balk Acid.milk similarity index 100% rename from presets/Rovastar & Idiot24-7 - Balk Acid.milk rename to presets/presets_milkdrop/Rovastar & Idiot24-7 - Balk Acid.milk diff --git a/presets/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk b/presets/presets_milkdrop/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk similarity index 100% rename from presets/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk rename to presets/presets_milkdrop/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk diff --git a/presets/Rovastar & Illusion - Shifting Sphere.milk b/presets/presets_milkdrop/Rovastar & Illusion - Shifting Sphere.milk similarity index 100% rename from presets/Rovastar & Illusion - Shifting Sphere.milk rename to presets/presets_milkdrop/Rovastar & Illusion - Shifting Sphere.milk diff --git a/presets/Rovastar & Krash - Cerebral Demons.milk b/presets/presets_milkdrop/Rovastar & Krash - Cerebral Demons.milk similarity index 100% rename from presets/Rovastar & Krash - Cerebral Demons.milk rename to presets/presets_milkdrop/Rovastar & Krash - Cerebral Demons.milk diff --git a/presets/Rovastar & Krash - Flowing Synergy.milk b/presets/presets_milkdrop/Rovastar & Krash - Flowing Synergy.milk similarity index 100% rename from presets/Rovastar & Krash - Flowing Synergy.milk rename to presets/presets_milkdrop/Rovastar & Krash - Flowing Synergy.milk diff --git a/presets/Rovastar & Krash - Interwoven (Contra Mix).milk b/presets/presets_milkdrop/Rovastar & Krash - Interwoven (Contra Mix).milk similarity index 100% rename from presets/Rovastar & Krash - Interwoven (Contra Mix).milk rename to presets/presets_milkdrop/Rovastar & Krash - Interwoven (Contra Mix).milk diff --git a/presets/Rovastar & Krash - Sweetness & Light.milk b/presets/presets_milkdrop/Rovastar & Krash - Sweetness & Light.milk similarity index 100% rename from presets/Rovastar & Krash - Sweetness & Light.milk rename to presets/presets_milkdrop/Rovastar & Krash - Sweetness & Light.milk diff --git a/presets/presets_milkdrop/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk b/presets/presets_milkdrop/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk new file mode 100644 index 0000000000..2bdee7b586 --- /dev/null +++ b/presets/presets_milkdrop/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk @@ -0,0 +1,68 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.998000 +fDecay=0.996700 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.150351 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.961900 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=0.905287 +wave_r=0.850000 +wave_g=0.450000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.199999 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.100000 +per_frame_1=wave_r = wave_r + 0.15*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.15*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.25*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%10,0); +per_pixel_1=zoom = zoom + (0.1*(1+rad+0.5*bass)); +per_pixel_2=mymovement = sin(sin(1.211*time)+ 0.3*cos(0.887*time)- 0.4*sin(1.453*time)); +per_pixel_3=rot = rot - 0.15*sin(mymovement-ang); diff --git a/presets/Rovastar & Rocke - Headspin.milk b/presets/presets_milkdrop/Rovastar & Rocke - Headspin.milk similarity index 100% rename from presets/Rovastar & Rocke - Headspin.milk rename to presets/presets_milkdrop/Rovastar & Rocke - Headspin.milk diff --git a/presets/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_milkdrop/Rovastar & Rocke - Sugar Spun Sister.milk similarity index 100% rename from presets/Rovastar & Rocke - Sugar Spun Sister.milk rename to presets/presets_milkdrop/Rovastar & Rocke - Sugar Spun Sister.milk diff --git a/presets/Rovastar & StudioMusic - More Cherished Desires.milk b/presets/presets_milkdrop/Rovastar & StudioMusic - More Cherished Desires.milk similarity index 100% rename from presets/Rovastar & StudioMusic - More Cherished Desires.milk rename to presets/presets_milkdrop/Rovastar & StudioMusic - More Cherished Desires.milk diff --git a/presets/Rovastar & StudioMusic - Twisted Spider Web.milk b/presets/presets_milkdrop/Rovastar & StudioMusic - Twisted Spider Web.milk similarity index 100% rename from presets/Rovastar & StudioMusic - Twisted Spider Web.milk rename to presets/presets_milkdrop/Rovastar & StudioMusic - Twisted Spider Web.milk diff --git a/presets/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_milkdrop/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk similarity index 100% rename from presets/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk rename to presets/presets_milkdrop/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk diff --git a/presets/Rovastar & Telek - Cosmic Fireworks.milk b/presets/presets_milkdrop/Rovastar & Telek - Cosmic Fireworks.milk similarity index 100% rename from presets/Rovastar & Telek - Cosmic Fireworks.milk rename to presets/presets_milkdrop/Rovastar & Telek - Cosmic Fireworks.milk diff --git a/presets/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_milkdrop/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk similarity index 100% rename from presets/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk rename to presets/presets_milkdrop/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk diff --git a/presets/Rovastar & Unchained - Centre Of Gravity.milk b/presets/presets_milkdrop/Rovastar & Unchained - Centre Of Gravity.milk similarity index 100% rename from presets/Rovastar & Unchained - Centre Of Gravity.milk rename to presets/presets_milkdrop/Rovastar & Unchained - Centre Of Gravity.milk diff --git a/presets/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk b/presets/presets_milkdrop/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk similarity index 100% rename from presets/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk rename to presets/presets_milkdrop/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk diff --git a/presets/Rovastar & Unchained - Oddball World.milk b/presets/presets_milkdrop/Rovastar & Unchained - Oddball World.milk similarity index 100% rename from presets/Rovastar & Unchained - Oddball World.milk rename to presets/presets_milkdrop/Rovastar & Unchained - Oddball World.milk diff --git a/presets/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets/presets_milkdrop/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk similarity index 100% rename from presets/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk rename to presets/presets_milkdrop/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk diff --git a/presets/Rovastar & Unchained - Xen Traffic.milk b/presets/presets_milkdrop/Rovastar & Unchained - Xen Traffic.milk similarity index 100% rename from presets/Rovastar & Unchained - Xen Traffic.milk rename to presets/presets_milkdrop/Rovastar & Unchained - Xen Traffic.milk diff --git a/presets/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk b/presets/presets_milkdrop/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk similarity index 100% rename from presets/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk rename to presets/presets_milkdrop/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk diff --git a/presets/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk b/presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk similarity index 100% rename from presets/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk rename to presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk diff --git a/presets/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk b/presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk similarity index 100% rename from presets/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk rename to presets/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk diff --git a/presets/Rovastar & Zylot - Narell's Fever.milk b/presets/presets_milkdrop/Rovastar & Zylot - Narell's Fever.milk similarity index 100% rename from presets/Rovastar & Zylot - Narell's Fever.milk rename to presets/presets_milkdrop/Rovastar & Zylot - Narell's Fever.milk diff --git a/presets/Rovastar & Zylot - Passion Flower.milk b/presets/presets_milkdrop/Rovastar & Zylot - Passion Flower.milk similarity index 100% rename from presets/Rovastar & Zylot - Passion Flower.milk rename to presets/presets_milkdrop/Rovastar & Zylot - Passion Flower.milk diff --git a/presets/Rovastar & Zylot - Sea Of Zigrot.milk b/presets/presets_milkdrop/Rovastar & Zylot - Sea Of Zigrot.milk similarity index 100% rename from presets/Rovastar & Zylot - Sea Of Zigrot.milk rename to presets/presets_milkdrop/Rovastar & Zylot - Sea Of Zigrot.milk diff --git a/presets/Rovastar - A Million Miles From Earth (Drift Mix).milk b/presets/presets_milkdrop/Rovastar - A Million Miles From Earth (Drift Mix).milk similarity index 100% rename from presets/Rovastar - A Million Miles From Earth (Drift Mix).milk rename to presets/presets_milkdrop/Rovastar - A Million Miles From Earth (Drift Mix).milk diff --git a/presets/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_milkdrop/Rovastar - A Million Miles From Earth (Wormhole Mix).milk similarity index 100% rename from presets/Rovastar - A Million Miles From Earth (Wormhole Mix).milk rename to presets/presets_milkdrop/Rovastar - A Million Miles From Earth (Wormhole Mix).milk diff --git a/presets/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk b/presets/presets_milkdrop/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk similarity index 100% rename from presets/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk rename to presets/presets_milkdrop/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk diff --git a/presets/Rovastar - A Million Miles from Earth.milk b/presets/presets_milkdrop/Rovastar - A Million Miles from Earth.milk similarity index 100% rename from presets/Rovastar - A Million Miles from Earth.milk rename to presets/presets_milkdrop/Rovastar - A Million Miles from Earth.milk diff --git a/presets_milkdrop/Rovastar - Altars Of Harlequin's Maddess.milk b/presets/presets_milkdrop/Rovastar - Altars Of Harlequin's Maddess.milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Harlequin's Maddess.milk rename to presets/presets_milkdrop/Rovastar - Altars Of Harlequin's Maddess.milk diff --git a/presets_milkdrop/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk b/presets/presets_milkdrop/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk rename to presets/presets_milkdrop/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk diff --git a/presets/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk similarity index 100% rename from presets/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk diff --git a/presets/Rovastar - Altars Of Madness (Boxfresh Mix).milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness (Boxfresh Mix).milk similarity index 100% rename from presets/Rovastar - Altars Of Madness (Boxfresh Mix).milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness (Boxfresh Mix).milk diff --git a/presets/Rovastar - Altars Of Madness (Duel Mix).milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness (Duel Mix).milk similarity index 100% rename from presets/Rovastar - Altars Of Madness (Duel Mix).milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness (Duel Mix).milk diff --git a/presets/Rovastar - Altars Of Madness (Surealist Mix).milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness (Surealist Mix).milk similarity index 100% rename from presets/Rovastar - Altars Of Madness (Surealist Mix).milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness (Surealist Mix).milk diff --git a/presets/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk similarity index 100% rename from presets/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk diff --git a/presets/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk similarity index 100% rename from presets/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk diff --git a/presets/Rovastar - Altars Of Madness.milk b/presets/presets_milkdrop/Rovastar - Altars Of Madness.milk similarity index 100% rename from presets/Rovastar - Altars Of Madness.milk rename to presets/presets_milkdrop/Rovastar - Altars Of Madness.milk diff --git a/presets/Rovastar - Attacking Freedom.milk b/presets/presets_milkdrop/Rovastar - Attacking Freedom.milk similarity index 100% rename from presets/Rovastar - Attacking Freedom.milk rename to presets/presets_milkdrop/Rovastar - Attacking Freedom.milk diff --git a/presets/Rovastar - Bellanova (New Wave Mix).milk b/presets/presets_milkdrop/Rovastar - Bellanova (New Wave Mix).milk similarity index 100% rename from presets/Rovastar - Bellanova (New Wave Mix).milk rename to presets/presets_milkdrop/Rovastar - Bellanova (New Wave Mix).milk diff --git a/presets/Rovastar - Biohazard Warning.milk b/presets/presets_milkdrop/Rovastar - Biohazard Warning.milk similarity index 100% rename from presets/Rovastar - Biohazard Warning.milk rename to presets/presets_milkdrop/Rovastar - Biohazard Warning.milk diff --git a/presets/Rovastar - Braindance 1.milk b/presets/presets_milkdrop/Rovastar - Braindance 1.milk similarity index 100% rename from presets/Rovastar - Braindance 1.milk rename to presets/presets_milkdrop/Rovastar - Braindance 1.milk diff --git a/presets/Rovastar - Bytes.milk b/presets/presets_milkdrop/Rovastar - Bytes.milk similarity index 100% rename from presets/Rovastar - Bytes.milk rename to presets/presets_milkdrop/Rovastar - Bytes.milk diff --git a/presets/Rovastar - Chapel Of Ghouls.milk b/presets/presets_milkdrop/Rovastar - Chapel Of Ghouls.milk similarity index 100% rename from presets/Rovastar - Chapel Of Ghouls.milk rename to presets/presets_milkdrop/Rovastar - Chapel Of Ghouls.milk diff --git a/presets/Rovastar - Chemical Spirituality.milk b/presets/presets_milkdrop/Rovastar - Chemical Spirituality.milk similarity index 100% rename from presets/Rovastar - Chemical Spirituality.milk rename to presets/presets_milkdrop/Rovastar - Chemical Spirituality.milk diff --git a/presets/Rovastar - Clouded Judgement 3.milk b/presets/presets_milkdrop/Rovastar - Clouded Judgement 3.milk similarity index 100% rename from presets/Rovastar - Clouded Judgement 3.milk rename to presets/presets_milkdrop/Rovastar - Clouded Judgement 3.milk diff --git a/presets/Rovastar - Cosmic Echoes 1.milk b/presets/presets_milkdrop/Rovastar - Cosmic Echoes 1.milk similarity index 100% rename from presets/Rovastar - Cosmic Echoes 1.milk rename to presets/presets_milkdrop/Rovastar - Cosmic Echoes 1.milk diff --git a/presets/Rovastar - Cosmic Echoes 2.milk b/presets/presets_milkdrop/Rovastar - Cosmic Echoes 2.milk similarity index 100% rename from presets/Rovastar - Cosmic Echoes 2.milk rename to presets/presets_milkdrop/Rovastar - Cosmic Echoes 2.milk diff --git a/presets/Rovastar - Cosmic Havoc.milk b/presets/presets_milkdrop/Rovastar - Cosmic Havoc.milk similarity index 100% rename from presets/Rovastar - Cosmic Havoc.milk rename to presets/presets_milkdrop/Rovastar - Cosmic Havoc.milk diff --git a/presets/Rovastar - Cosmic Mosaic (Active Mix).milk b/presets/presets_milkdrop/Rovastar - Cosmic Mosaic (Active Mix).milk similarity index 100% rename from presets/Rovastar - Cosmic Mosaic (Active Mix).milk rename to presets/presets_milkdrop/Rovastar - Cosmic Mosaic (Active Mix).milk diff --git a/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk b/presets/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk rename to presets/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk diff --git a/presets/Rovastar - Dark Ritual (Star Of Destiny Mix).milk b/presets/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Mix).milk similarity index 100% rename from presets/Rovastar - Dark Ritual (Star Of Destiny Mix).milk rename to presets/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Mix).milk diff --git a/presets/Rovastar - Decreasing Dreams (Extended Movement Mix).milk b/presets/presets_milkdrop/Rovastar - Decreasing Dreams (Extended Movement Mix).milk similarity index 100% rename from presets/Rovastar - Decreasing Dreams (Extended Movement Mix).milk rename to presets/presets_milkdrop/Rovastar - Decreasing Dreams (Extended Movement Mix).milk diff --git a/presets/Rovastar - Dreamcatcher.milk b/presets/presets_milkdrop/Rovastar - Dreamcatcher.milk similarity index 100% rename from presets/Rovastar - Dreamcatcher.milk rename to presets/presets_milkdrop/Rovastar - Dreamcatcher.milk diff --git a/presets/Rovastar - Explosive Minds.milk b/presets/presets_milkdrop/Rovastar - Explosive Minds.milk similarity index 100% rename from presets/Rovastar - Explosive Minds.milk rename to presets/presets_milkdrop/Rovastar - Explosive Minds.milk diff --git a/presets/Rovastar - Forgotten Moon.milk b/presets/presets_milkdrop/Rovastar - Forgotten Moon.milk similarity index 100% rename from presets/Rovastar - Forgotten Moon.milk rename to presets/presets_milkdrop/Rovastar - Forgotten Moon.milk diff --git a/presets/Rovastar - Frozen Rapture .milk b/presets/presets_milkdrop/Rovastar - Frozen Rapture .milk similarity index 100% rename from presets/Rovastar - Frozen Rapture .milk rename to presets/presets_milkdrop/Rovastar - Frozen Rapture .milk diff --git a/presets/Rovastar - Future Speakers.milk b/presets/presets_milkdrop/Rovastar - Future Speakers.milk similarity index 100% rename from presets/Rovastar - Future Speakers.milk rename to presets/presets_milkdrop/Rovastar - Future Speakers.milk diff --git a/presets/Rovastar - Halcyon Dreams 3.milk b/presets/presets_milkdrop/Rovastar - Halcyon Dreams 3.milk similarity index 100% rename from presets/Rovastar - Halcyon Dreams 3.milk rename to presets/presets_milkdrop/Rovastar - Halcyon Dreams 3.milk diff --git a/presets/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk b/presets/presets_milkdrop/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk similarity index 100% rename from presets/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk rename to presets/presets_milkdrop/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk diff --git a/presets/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk b/presets/presets_milkdrop/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk similarity index 100% rename from presets/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk diff --git a/presets/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk b/presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk similarity index 100% rename from presets/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk diff --git a/presets/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk b/presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk similarity index 100% rename from presets/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk diff --git a/presets/Rovastar - Harlequin's Dynamic Fractal 1.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 1.milk similarity index 100% rename from presets/Rovastar - Harlequin's Dynamic Fractal 1.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 1.milk diff --git a/presets/Rovastar - Harlequin's Dynamic Fractal 2.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 2.milk similarity index 100% rename from presets/Rovastar - Harlequin's Dynamic Fractal 2.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 2.milk diff --git a/presets/Rovastar - Harlequin's Dynamic Fractal 3.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 3.milk similarity index 100% rename from presets/Rovastar - Harlequin's Dynamic Fractal 3.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 3.milk diff --git a/presets/Rovastar - Harlequin's Fractal Encounter 2.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter 2.milk similarity index 100% rename from presets/Rovastar - Harlequin's Fractal Encounter 2.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter 2.milk diff --git a/presets/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter.milk similarity index 100% rename from presets/Rovastar - Harlequin's Fractal Encounter.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter.milk diff --git a/presets/Rovastar - Harlequin's Liquid Dragon.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Liquid Dragon.milk similarity index 100% rename from presets/Rovastar - Harlequin's Liquid Dragon.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Liquid Dragon.milk diff --git a/presets/Rovastar - Harlequin's Living Wall.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Living Wall.milk similarity index 100% rename from presets/Rovastar - Harlequin's Living Wall.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Living Wall.milk diff --git a/presets/Rovastar - Harlequin's Spirit (Twisted Mix).milk b/presets/presets_milkdrop/Rovastar - Harlequin's Spirit (Twisted Mix).milk similarity index 100% rename from presets/Rovastar - Harlequin's Spirit (Twisted Mix).milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Spirit (Twisted Mix).milk diff --git a/presets/Rovastar - Harlequin's Spirit.milk b/presets/presets_milkdrop/Rovastar - Harlequin's Spirit.milk similarity index 100% rename from presets/Rovastar - Harlequin's Spirit.milk rename to presets/presets_milkdrop/Rovastar - Harlequin's Spirit.milk diff --git a/presets/Rovastar - Hyperspace (Frozen Rapture Mix).milk b/presets/presets_milkdrop/Rovastar - Hyperspace (Frozen Rapture Mix).milk similarity index 100% rename from presets/Rovastar - Hyperspace (Frozen Rapture Mix).milk rename to presets/presets_milkdrop/Rovastar - Hyperspace (Frozen Rapture Mix).milk diff --git a/presets/Rovastar - Hyperspace (Hyper Speed Mix).milk b/presets/presets_milkdrop/Rovastar - Hyperspace (Hyper Speed Mix).milk similarity index 100% rename from presets/Rovastar - Hyperspace (Hyper Speed Mix).milk rename to presets/presets_milkdrop/Rovastar - Hyperspace (Hyper Speed Mix).milk diff --git a/presets/Rovastar - Hyperspace.milk b/presets/presets_milkdrop/Rovastar - Hyperspace.milk similarity index 100% rename from presets/Rovastar - Hyperspace.milk rename to presets/presets_milkdrop/Rovastar - Hyperspace.milk diff --git a/presets/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk b/presets/presets_milkdrop/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk similarity index 100% rename from presets/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk rename to presets/presets_milkdrop/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk diff --git a/presets_milkdrop/Rovastar - Inner Thoughts (Distant Memories Mix).milk b/presets/presets_milkdrop/Rovastar - Inner Thoughts (Distant Memories Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Inner Thoughts (Distant Memories Mix).milk rename to presets/presets_milkdrop/Rovastar - Inner Thoughts (Distant Memories Mix).milk diff --git a/presets_milkdrop/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk b/presets/presets_milkdrop/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk rename to presets/presets_milkdrop/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk diff --git a/presets/Rovastar - Inner Thoughts (Strange Cargo Mix).milk b/presets/presets_milkdrop/Rovastar - Inner Thoughts (Strange Cargo Mix).milk similarity index 100% rename from presets/Rovastar - Inner Thoughts (Strange Cargo Mix).milk rename to presets/presets_milkdrop/Rovastar - Inner Thoughts (Strange Cargo Mix).milk diff --git a/presets/Rovastar - Intense Desire.milk b/presets/presets_milkdrop/Rovastar - Intense Desire.milk similarity index 100% rename from presets/Rovastar - Intense Desire.milk rename to presets/presets_milkdrop/Rovastar - Intense Desire.milk diff --git a/presets/Rovastar - Jester's Awakening.milk b/presets/presets_milkdrop/Rovastar - Jester's Awakening.milk similarity index 100% rename from presets/Rovastar - Jester's Awakening.milk rename to presets/presets_milkdrop/Rovastar - Jester's Awakening.milk diff --git a/presets/Rovastar - Jester's Calling 2.milk b/presets/presets_milkdrop/Rovastar - Jester's Calling 2.milk similarity index 100% rename from presets/Rovastar - Jester's Calling 2.milk rename to presets/presets_milkdrop/Rovastar - Jester's Calling 2.milk diff --git a/presets/Rovastar - Jester's Calling 3.milk b/presets/presets_milkdrop/Rovastar - Jester's Calling 3.milk similarity index 100% rename from presets/Rovastar - Jester's Calling 3.milk rename to presets/presets_milkdrop/Rovastar - Jester's Calling 3.milk diff --git a/presets/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk b/presets/presets_milkdrop/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk similarity index 100% rename from presets/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk rename to presets/presets_milkdrop/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk diff --git a/presets/Rovastar - Kalideostars (Altars Of Madness MIx).milk b/presets/presets_milkdrop/Rovastar - Kalideostars (Altars Of Madness MIx).milk similarity index 100% rename from presets/Rovastar - Kalideostars (Altars Of Madness MIx).milk rename to presets/presets_milkdrop/Rovastar - Kalideostars (Altars Of Madness MIx).milk diff --git a/presets/Rovastar - Kalideostars (Round Round Mix).milk b/presets/presets_milkdrop/Rovastar - Kalideostars (Round Round Mix).milk similarity index 100% rename from presets/Rovastar - Kalideostars (Round Round Mix).milk rename to presets/presets_milkdrop/Rovastar - Kalideostars (Round Round Mix).milk diff --git a/presets/Rovastar - Kalideostars.milk b/presets/presets_milkdrop/Rovastar - Kalideostars.milk similarity index 100% rename from presets/Rovastar - Kalideostars.milk rename to presets/presets_milkdrop/Rovastar - Kalideostars.milk diff --git a/presets/Rovastar - LabFunk.milk b/presets/presets_milkdrop/Rovastar - LabFunk.milk similarity index 100% rename from presets/Rovastar - LabFunk.milk rename to presets/presets_milkdrop/Rovastar - LabFunk.milk diff --git a/presets/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk b/presets/presets_milkdrop/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk similarity index 100% rename from presets/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk rename to presets/presets_milkdrop/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk diff --git a/presets/Rovastar - Magic Carpet.milk b/presets/presets_milkdrop/Rovastar - Magic Carpet.milk similarity index 100% rename from presets/Rovastar - Magic Carpet.milk rename to presets/presets_milkdrop/Rovastar - Magic Carpet.milk diff --git a/presets_milkdrop/Rovastar - Mosaics Of Ages.milk b/presets/presets_milkdrop/Rovastar - Mosaics Of Ages.milk similarity index 100% rename from presets_milkdrop/Rovastar - Mosaics Of Ages.milk rename to presets/presets_milkdrop/Rovastar - Mosaics Of Ages.milk diff --git a/presets/Rovastar - Multiverse Starfield 1.milk b/presets/presets_milkdrop/Rovastar - Multiverse Starfield 1.milk similarity index 100% rename from presets/Rovastar - Multiverse Starfield 1.milk rename to presets/presets_milkdrop/Rovastar - Multiverse Starfield 1.milk diff --git a/presets/Rovastar - Multiverse Starfield 3.milk b/presets/presets_milkdrop/Rovastar - Multiverse Starfield 3.milk similarity index 100% rename from presets/Rovastar - Multiverse Starfield 3.milk rename to presets/presets_milkdrop/Rovastar - Multiverse Starfield 3.milk diff --git a/presets/Rovastar - Omnipresence Resurrection (Raw Mix).milk b/presets/presets_milkdrop/Rovastar - Omnipresence Resurrection (Raw Mix).milk similarity index 100% rename from presets/Rovastar - Omnipresence Resurrection (Raw Mix).milk rename to presets/presets_milkdrop/Rovastar - Omnipresence Resurrection (Raw Mix).milk diff --git a/presets/Rovastar - Omnipresence Resurrection.milk b/presets/presets_milkdrop/Rovastar - Omnipresence Resurrection.milk similarity index 100% rename from presets/Rovastar - Omnipresence Resurrection.milk rename to presets/presets_milkdrop/Rovastar - Omnipresence Resurrection.milk diff --git a/presets/Rovastar - Oozing Resistance.milk b/presets/presets_milkdrop/Rovastar - Oozing Resistance.milk similarity index 100% rename from presets/Rovastar - Oozing Resistance.milk rename to presets/presets_milkdrop/Rovastar - Oozing Resistance.milk diff --git a/presets/Rovastar - Pandora's Volcano.milk b/presets/presets_milkdrop/Rovastar - Pandora's Volcano.milk similarity index 100% rename from presets/Rovastar - Pandora's Volcano.milk rename to presets/presets_milkdrop/Rovastar - Pandora's Volcano.milk diff --git a/presets/Rovastar - Paradigm Sphere.milk b/presets/presets_milkdrop/Rovastar - Paradigm Sphere.milk similarity index 100% rename from presets/Rovastar - Paradigm Sphere.milk rename to presets/presets_milkdrop/Rovastar - Paradigm Sphere.milk diff --git a/presets_milkdrop/Rovastar - Parallel Universe.milk b/presets/presets_milkdrop/Rovastar - Parallel Universe.milk similarity index 100% rename from presets_milkdrop/Rovastar - Parallel Universe.milk rename to presets/presets_milkdrop/Rovastar - Parallel Universe.milk diff --git a/presets/Rovastar - Power Trip.milk b/presets/presets_milkdrop/Rovastar - Power Trip.milk similarity index 100% rename from presets/Rovastar - Power Trip.milk rename to presets/presets_milkdrop/Rovastar - Power Trip.milk diff --git a/presets/Rovastar - Ritual Of Life.milk b/presets/presets_milkdrop/Rovastar - Ritual Of Life.milk similarity index 100% rename from presets/Rovastar - Ritual Of Life.milk rename to presets/presets_milkdrop/Rovastar - Ritual Of Life.milk diff --git a/presets/Rovastar - Sea Life (Evoluation Mix).milk b/presets/presets_milkdrop/Rovastar - Sea Life (Evoluation Mix).milk similarity index 100% rename from presets/Rovastar - Sea Life (Evoluation Mix).milk rename to presets/presets_milkdrop/Rovastar - Sea Life (Evoluation Mix).milk diff --git a/presets/Rovastar - Sea Life.milk b/presets/presets_milkdrop/Rovastar - Sea Life.milk similarity index 100% rename from presets/Rovastar - Sea Life.milk rename to presets/presets_milkdrop/Rovastar - Sea Life.milk diff --git a/presets/Rovastar - Sea Shells.milk b/presets/presets_milkdrop/Rovastar - Sea Shells.milk similarity index 100% rename from presets/Rovastar - Sea Shells.milk rename to presets/presets_milkdrop/Rovastar - Sea Shells.milk diff --git a/presets/Rovastar - Shadows Portal.milk b/presets/presets_milkdrop/Rovastar - Shadows Portal.milk similarity index 100% rename from presets/Rovastar - Shadows Portal.milk rename to presets/presets_milkdrop/Rovastar - Shadows Portal.milk diff --git a/presets/Rovastar - Snapshot Of Space.milk b/presets/presets_milkdrop/Rovastar - Snapshot Of Space.milk similarity index 100% rename from presets/Rovastar - Snapshot Of Space.milk rename to presets/presets_milkdrop/Rovastar - Snapshot Of Space.milk diff --git a/presets/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_milkdrop/Rovastar - Solarized Space (Space DNA Mix).milk similarity index 100% rename from presets/Rovastar - Solarized Space (Space DNA Mix).milk rename to presets/presets_milkdrop/Rovastar - Solarized Space (Space DNA Mix).milk diff --git a/presets/Rovastar - Solarized Space.milk b/presets/presets_milkdrop/Rovastar - Solarized Space.milk similarity index 100% rename from presets/Rovastar - Solarized Space.milk rename to presets/presets_milkdrop/Rovastar - Solarized Space.milk diff --git a/presets/Rovastar - Space (Twisted Dimension Mix).milk b/presets/presets_milkdrop/Rovastar - Space (Twisted Dimension Mix).milk similarity index 100% rename from presets/Rovastar - Space (Twisted Dimension Mix).milk rename to presets/presets_milkdrop/Rovastar - Space (Twisted Dimension Mix).milk diff --git a/presets/Rovastar - Space.milk b/presets/presets_milkdrop/Rovastar - Space.milk similarity index 100% rename from presets/Rovastar - Space.milk rename to presets/presets_milkdrop/Rovastar - Space.milk diff --git a/presets/Rovastar - Starquake (Sunquake Mix).milk b/presets/presets_milkdrop/Rovastar - Starquake (Sunquake Mix).milk similarity index 100% rename from presets/Rovastar - Starquake (Sunquake Mix).milk rename to presets/presets_milkdrop/Rovastar - Starquake (Sunquake Mix).milk diff --git a/presets/Rovastar - The Awakening.milk b/presets/presets_milkdrop/Rovastar - The Awakening.milk similarity index 100% rename from presets/Rovastar - The Awakening.milk rename to presets/presets_milkdrop/Rovastar - The Awakening.milk diff --git a/presets/Rovastar - The Chaos Of Colours (Drifting Mix).milk b/presets/presets_milkdrop/Rovastar - The Chaos Of Colours (Drifting Mix).milk similarity index 100% rename from presets/Rovastar - The Chaos Of Colours (Drifting Mix).milk rename to presets/presets_milkdrop/Rovastar - The Chaos Of Colours (Drifting Mix).milk diff --git a/presets/Rovastar - The Chaos Of Colours.milk b/presets/presets_milkdrop/Rovastar - The Chaos Of Colours.milk similarity index 100% rename from presets/Rovastar - The Chaos Of Colours.milk rename to presets/presets_milkdrop/Rovastar - The Chaos Of Colours.milk diff --git a/presets/Rovastar - The Shroomery.milk b/presets/presets_milkdrop/Rovastar - The Shroomery.milk similarity index 100% rename from presets/Rovastar - The Shroomery.milk rename to presets/presets_milkdrop/Rovastar - The Shroomery.milk diff --git a/presets/Rovastar - Timeless Voyage.milk b/presets/presets_milkdrop/Rovastar - Timeless Voyage.milk similarity index 100% rename from presets/Rovastar - Timeless Voyage.milk rename to presets/presets_milkdrop/Rovastar - Timeless Voyage.milk diff --git a/presets/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk b/presets/presets_milkdrop/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk similarity index 100% rename from presets/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk rename to presets/presets_milkdrop/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk diff --git a/presets/presets_milkdrop/Rovastar - Trippy S-.milk b/presets/presets_milkdrop/Rovastar - Trippy S-.milk new file mode 100644 index 0000000000..a6e0afedd4 --- /dev/null +++ b/presets/presets_milkdrop/Rovastar - Trippy S-.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.525090 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.070549 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets/Rovastar - Violent Relaxation.milk b/presets/presets_milkdrop/Rovastar - Violent Relaxation.milk similarity index 100% rename from presets/Rovastar - Violent Relaxation.milk rename to presets/presets_milkdrop/Rovastar - Violent Relaxation.milk diff --git a/presets/Rovastar - Visions Beyond.milk b/presets/presets_milkdrop/Rovastar - Visions Beyond.milk similarity index 100% rename from presets/Rovastar - Visions Beyond.milk rename to presets/presets_milkdrop/Rovastar - Visions Beyond.milk diff --git a/presets/Rovastar - Visions Of The Future.milk b/presets/presets_milkdrop/Rovastar - Visions Of The Future.milk similarity index 100% rename from presets/Rovastar - Visions Of The Future.milk rename to presets/presets_milkdrop/Rovastar - Visions Of The Future.milk diff --git a/presets/Rovastar - VooV's Brainwaves.milk b/presets/presets_milkdrop/Rovastar - VooV's Brainwaves.milk similarity index 100% rename from presets/Rovastar - VooV's Brainwaves.milk rename to presets/presets_milkdrop/Rovastar - VooV's Brainwaves.milk diff --git a/presets_milkdrop/Rovastar - VooV's Movement (After Dark Mix).milk b/presets/presets_milkdrop/Rovastar - VooV's Movement (After Dark Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - VooV's Movement (After Dark Mix).milk rename to presets/presets_milkdrop/Rovastar - VooV's Movement (After Dark Mix).milk diff --git a/presets/Rovastar - VooV's Movement.milk b/presets/presets_milkdrop/Rovastar - VooV's Movement.milk similarity index 100% rename from presets/Rovastar - VooV's Movement.milk rename to presets/presets_milkdrop/Rovastar - VooV's Movement.milk diff --git a/presets/Rovastar - VooV's Organic Light.milk b/presets/presets_milkdrop/Rovastar - VooV's Organic Light.milk similarity index 100% rename from presets/Rovastar - VooV's Organic Light.milk rename to presets/presets_milkdrop/Rovastar - VooV's Organic Light.milk diff --git a/presets/Rovastar - Xeper.milk b/presets/presets_milkdrop/Rovastar - Xeper.milk similarity index 100% rename from presets/Rovastar - Xeper.milk rename to presets/presets_milkdrop/Rovastar - Xeper.milk diff --git a/presets/Rovastar - eclectic interface (despair mix).milk b/presets/presets_milkdrop/Rovastar - eclectic interface (despair mix).milk similarity index 100% rename from presets/Rovastar - eclectic interface (despair mix).milk rename to presets/presets_milkdrop/Rovastar - eclectic interface (despair mix).milk diff --git a/presets/Rovastar - paranormal diffusion analyser.milk b/presets/presets_milkdrop/Rovastar - paranormal diffusion analyser.milk similarity index 100% rename from presets/Rovastar - paranormal diffusion analyser.milk rename to presets/presets_milkdrop/Rovastar - paranormal diffusion analyser.milk diff --git a/presets/Rovastar - twisted bytes.milk b/presets/presets_milkdrop/Rovastar - twisted bytes.milk similarity index 100% rename from presets/Rovastar - twisted bytes.milk rename to presets/presets_milkdrop/Rovastar - twisted bytes.milk diff --git a/presets/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk b/presets/presets_milkdrop/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk similarity index 100% rename from presets/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk rename to presets/presets_milkdrop/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk diff --git a/presets/Rovastar and Krash - Rainbow Deflection.milk b/presets/presets_milkdrop/Rovastar and Krash - Rainbow Deflection.milk similarity index 100% rename from presets/Rovastar and Krash - Rainbow Deflection.milk rename to presets/presets_milkdrop/Rovastar and Krash - Rainbow Deflection.milk diff --git a/presets/Rovastar and Unchained - Braindance Visions.milk b/presets/presets_milkdrop/Rovastar and Unchained - Braindance Visions.milk similarity index 100% rename from presets/Rovastar and Unchained - Braindance Visions.milk rename to presets/presets_milkdrop/Rovastar and Unchained - Braindance Visions.milk diff --git a/presets/Rovastar and Unchained - Life After Pie (Remix).milk b/presets/presets_milkdrop/Rovastar and Unchained - Life After Pie (Remix).milk similarity index 100% rename from presets/Rovastar and Unchained - Life After Pie (Remix).milk rename to presets/presets_milkdrop/Rovastar and Unchained - Life After Pie (Remix).milk diff --git a/presets_projectM/Rozzer & Neuro - Starover (Semicolon Mix).milk b/presets/presets_milkdrop/Rozzer & Neuro - Starover (Semicolon Mix).milk similarity index 100% rename from presets_projectM/Rozzer & Neuro - Starover (Semicolon Mix).milk rename to presets/presets_milkdrop/Rozzer & Neuro - Starover (Semicolon Mix).milk diff --git a/presets/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk b/presets/presets_milkdrop/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk similarity index 100% rename from presets/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk rename to presets/presets_milkdrop/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk diff --git a/presets/Rozzor & Aderrasi - Canon.milk b/presets/presets_milkdrop/Rozzor & Aderrasi - Canon.milk similarity index 100% rename from presets/Rozzor & Aderrasi - Canon.milk rename to presets/presets_milkdrop/Rozzor & Aderrasi - Canon.milk diff --git a/presets_milkdrop/Rozzor & Che - Inside The House Of Nil.milk b/presets/presets_milkdrop/Rozzor & Che - Inside The House Of Nil.milk similarity index 100% rename from presets_milkdrop/Rozzor & Che - Inside The House Of Nil.milk rename to presets/presets_milkdrop/Rozzor & Che - Inside The House Of Nil.milk diff --git a/presets/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk b/presets/presets_milkdrop/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk similarity index 100% rename from presets/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk rename to presets/presets_milkdrop/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk diff --git a/presets/Rozzor & Zylot - Rainbow River.milk b/presets/presets_milkdrop/Rozzor & Zylot - Rainbow River.milk similarity index 100% rename from presets/Rozzor & Zylot - Rainbow River.milk rename to presets/presets_milkdrop/Rozzor & Zylot - Rainbow River.milk diff --git a/presets/Rozzor - Color Breaks its Boycott (shape mod).milk b/presets/presets_milkdrop/Rozzor - Color Breaks its Boycott (shape mod).milk similarity index 100% rename from presets/Rozzor - Color Breaks its Boycott (shape mod).milk rename to presets/presets_milkdrop/Rozzor - Color Breaks its Boycott (shape mod).milk diff --git a/presets_milkdrop/Rozzor - Learning Curve (Invert tweak).milk b/presets/presets_milkdrop/Rozzor - Learning Curve (Invert tweak).milk similarity index 100% rename from presets_milkdrop/Rozzor - Learning Curve (Invert tweak).milk rename to presets/presets_milkdrop/Rozzor - Learning Curve (Invert tweak).milk diff --git a/presets/Rozzor and Idiot - Any Other Deep Rising.milk b/presets/presets_milkdrop/Rozzor and Idiot - Any Other Deep Rising.milk similarity index 100% rename from presets/Rozzor and Idiot - Any Other Deep Rising.milk rename to presets/presets_milkdrop/Rozzor and Idiot - Any Other Deep Rising.milk diff --git a/presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk b/presets/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk similarity index 100% rename from presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk rename to presets/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk diff --git a/presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk b/presets/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk similarity index 100% rename from presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk rename to presets/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk diff --git a/presets/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk b/presets/presets_milkdrop/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk similarity index 100% rename from presets/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk rename to presets/presets_milkdrop/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk diff --git a/presets/Rozzor and Zylot - Associative Order.milk b/presets/presets_milkdrop/Rozzor and Zylot - Associative Order.milk similarity index 100% rename from presets/Rozzor and Zylot - Associative Order.milk rename to presets/presets_milkdrop/Rozzor and Zylot - Associative Order.milk diff --git a/presets/Rozzor and che - Inside the House of nil.milk b/presets/presets_milkdrop/Rozzor and che - Inside the House of nil.milk similarity index 100% rename from presets/Rozzor and che - Inside the House of nil.milk rename to presets/presets_milkdrop/Rozzor and che - Inside the House of nil.milk diff --git a/presets/Scanner (@ztec)2.milk b/presets/presets_milkdrop/Scanner (@ztec)2.milk similarity index 100% rename from presets/Scanner (@ztec)2.milk rename to presets/presets_milkdrop/Scanner (@ztec)2.milk diff --git a/presets/Studio Music - Cherished Desires.milk b/presets/presets_milkdrop/Studio Music - Cherished Desires.milk similarity index 100% rename from presets/Studio Music - Cherished Desires.milk rename to presets/presets_milkdrop/Studio Music - Cherished Desires.milk diff --git a/presets/Studio Music and Unchained - Rapid Alteration.milk b/presets/presets_milkdrop/Studio Music and Unchained - Rapid Alteration.milk similarity index 100% rename from presets/Studio Music and Unchained - Rapid Alteration.milk rename to presets/presets_milkdrop/Studio Music and Unchained - Rapid Alteration.milk diff --git a/presets/StudioMusic & Unchained - Entity.milk b/presets/presets_milkdrop/StudioMusic & Unchained - Entity.milk similarity index 100% rename from presets/StudioMusic & Unchained - Entity.milk rename to presets/presets_milkdrop/StudioMusic & Unchained - Entity.milk diff --git a/presets/StudioMusic & Unchained - Minor Alteration.milk b/presets/presets_milkdrop/StudioMusic & Unchained - Minor Alteration.milk similarity index 100% rename from presets/StudioMusic & Unchained - Minor Alteration.milk rename to presets/presets_milkdrop/StudioMusic & Unchained - Minor Alteration.milk diff --git a/presets/StudioMusic & Unchained - So Much Love.milk b/presets/presets_milkdrop/StudioMusic & Unchained - So Much Love.milk similarity index 100% rename from presets/StudioMusic & Unchained - So Much Love.milk rename to presets/presets_milkdrop/StudioMusic & Unchained - So Much Love.milk diff --git a/presets/StudioMusic & Unchained - State Of Discretion.milk b/presets/presets_milkdrop/StudioMusic & Unchained - State Of Discretion.milk similarity index 100% rename from presets/StudioMusic & Unchained - State Of Discretion.milk rename to presets/presets_milkdrop/StudioMusic & Unchained - State Of Discretion.milk diff --git a/presets/StudioMusic & Unchained - Wrenched Fate.milk b/presets/presets_milkdrop/StudioMusic & Unchained - Wrenched Fate.milk similarity index 100% rename from presets/StudioMusic & Unchained - Wrenched Fate.milk rename to presets/presets_milkdrop/StudioMusic & Unchained - Wrenched Fate.milk diff --git a/presets/StudioMusic - Harmonic Bliss (elated mix).milk b/presets/presets_milkdrop/StudioMusic - Harmonic Bliss (elated mix).milk similarity index 100% rename from presets/StudioMusic - Harmonic Bliss (elated mix).milk rename to presets/presets_milkdrop/StudioMusic - Harmonic Bliss (elated mix).milk diff --git a/presets/StudioMusic - It's Only Make Believe.milk b/presets/presets_milkdrop/StudioMusic - It's Only Make Believe.milk similarity index 100% rename from presets/StudioMusic - It's Only Make Believe.milk rename to presets/presets_milkdrop/StudioMusic - It's Only Make Believe.milk diff --git a/presets/StudioMusic - Numerosity.milk b/presets/presets_milkdrop/StudioMusic - Numerosity.milk similarity index 100% rename from presets/StudioMusic - Numerosity.milk rename to presets/presets_milkdrop/StudioMusic - Numerosity.milk diff --git a/presets/StudioMusic - Twisted Galaxy.milk b/presets/presets_milkdrop/StudioMusic - Twisted Galaxy.milk similarity index 100% rename from presets/StudioMusic - Twisted Galaxy.milk rename to presets/presets_milkdrop/StudioMusic - Twisted Galaxy.milk diff --git a/presets/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk b/presets/presets_milkdrop/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk similarity index 100% rename from presets/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk rename to presets/presets_milkdrop/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk diff --git a/presets/TEcHNO and SandStorm - Psychodelic Highway.milk b/presets/presets_milkdrop/TEcHNO and SandStorm - Psychodelic Highway.milk similarity index 100% rename from presets/TEcHNO and SandStorm - Psychodelic Highway.milk rename to presets/presets_milkdrop/TEcHNO and SandStorm - Psychodelic Highway.milk diff --git a/presets/Telek - City Helix Lattice.milk b/presets/presets_milkdrop/Telek - City Helix Lattice.milk similarity index 100% rename from presets/Telek - City Helix Lattice.milk rename to presets/presets_milkdrop/Telek - City Helix Lattice.milk diff --git a/presets/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk b/presets/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk new file mode 100644 index 0000000000..84c170c69d --- /dev/null +++ b/presets/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk @@ -0,0 +1,157 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=9.088520 +fWaveScale=0.499500 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.990000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.759997 +mv_dx=0.000000 +mv_dy=-0.620000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=// Hello, +per_frame_2= +per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress. +per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good. +per_frame_5= +per_frame_6=//Telek Sterling =:-) +per_frame_7=//Dilettante Extrodinaire +per_frame_8= +per_frame_9= +per_frame_10=//rt = realtime (for use with beat count) +per_frame_11=rt=time-start; +per_frame_12= +per_frame_13=//color cycling, yellow dynamic treble +per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); +per_frame_15=wave_x = cos(time*2.12)*.33+.5; +per_frame_16=wave_y = sin(time*1.5)*.13+.3; +per_frame_17= +per_frame_18=//initialisation bug patch +per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); +per_frame_20= +per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) +per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); +per_frame_23= +per_frame_24=//Testing auto-beat trigger... exciting stuff.. +per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); +per_frame_26= +per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad. +per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); +per_frame_29= +per_frame_30=beatcount = beatcount + beat; +per_frame_31= +per_frame_32=w_a = if(beat,1,w_a*0); +per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now. +per_frame_34= +per_frame_35=//Preserve beat rate +per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); +per_frame_37=//Record new beatrate +per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); +per_frame_39= +per_frame_40=//Record most recent beat +per_frame_41=lastbeat=if(beat,rt,lastbeat); +per_frame_42=//Predict time of next beat +per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=//Actual Display code: +per_frame_49= +per_frame_50=//Current direction of travel +per_frame_51=state = beat * (state+1)%4+(1-beat)*state; +per_frame_52= +per_frame_53=//acceleration of horizon point +per_frame_54=dddy = state%2-.5; +per_frame_55=dddx = above(state,1.5)-.5; +per_frame_56= +per_frame_57=//adjustment factors to play with +per_frame_58=ddx = dddx*.5; +per_frame_59=ddy = dddy*.5; +per_frame_60= +per_frame_61= +per_frame_62=q1 = (qq1*19+ddx)*.041; +per_frame_63=//preserve q variables +per_frame_64=qq1 = q1; +per_frame_65= +per_frame_66=q2 = (qq2*19+ddy)*.035; +per_frame_67=qq2 = q2; +per_frame_68= +per_frame_69=//Decay to Blue!! +per_frame_70=ob_a = 0.1*above(frame%10,6); +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74= +per_frame_75=//Well, what do we want to monitor?? +per_frame_76= +per_frame_77=//monitor = q1; +per_frame_78=//monitor = beat; +per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; +per_frame_80=monitor = (rt-lastbeat)/beatrate; +per_frame_81=//monitor = accuracy; +per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); +per_frame_83=//monitor = wave_a; +per_frame_84=//monitor = wave_g; +per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; +per_frame_86=//monitor = qwer; +per_frame_87=//monitor = (lastbeat-rt)/beatrate; +per_pixel_1=dx = sin(.5-x)*.1+q1; +per_pixel_2=dy = sin(.5-y)*.1+q2; +per_frame_init_1=ddx = 0; +per_frame_init_2=ddy = 0; +per_frame_init_3=start = time; +per_frame_init_4=rt = 0; +per_frame_init_5=beatcount = 0; diff --git a/presets/Telek - Flicker (@xis).milk b/presets/presets_milkdrop/Telek - Flicker (@xis).milk similarity index 100% rename from presets/Telek - Flicker (@xis).milk rename to presets/presets_milkdrop/Telek - Flicker (@xis).milk diff --git a/presets/Telek - Flicker.milk b/presets/presets_milkdrop/Telek - Flicker.milk similarity index 100% rename from presets/Telek - Flicker.milk rename to presets/presets_milkdrop/Telek - Flicker.milk diff --git a/presets/Telek - Globetrotting (Sailors Delight Mix).milk b/presets/presets_milkdrop/Telek - Globetrotting (Sailors Delight Mix).milk similarity index 100% rename from presets/Telek - Globetrotting (Sailors Delight Mix).milk rename to presets/presets_milkdrop/Telek - Globetrotting (Sailors Delight Mix).milk diff --git a/presets/Telek - Lost Star (Flash).milk b/presets/presets_milkdrop/Telek - Lost Star (Flash).milk similarity index 100% rename from presets/Telek - Lost Star (Flash).milk rename to presets/presets_milkdrop/Telek - Lost Star (Flash).milk diff --git a/presets/Telek - Recirculate (Cool).milk b/presets/presets_milkdrop/Telek - Recirculate (Cool).milk similarity index 100% rename from presets/Telek - Recirculate (Cool).milk rename to presets/presets_milkdrop/Telek - Recirculate (Cool).milk diff --git a/presets/Telek - Sine Wave.milk b/presets/presets_milkdrop/Telek - Sine Wave.milk similarity index 100% rename from presets/Telek - Sine Wave.milk rename to presets/presets_milkdrop/Telek - Sine Wave.milk diff --git a/presets/Telek - Slow Shift Matrix (Ethereal Drift).milk b/presets/presets_milkdrop/Telek - Slow Shift Matrix (Ethereal Drift).milk similarity index 100% rename from presets/Telek - Slow Shift Matrix (Ethereal Drift).milk rename to presets/presets_milkdrop/Telek - Slow Shift Matrix (Ethereal Drift).milk diff --git a/presets/presets_milkdrop/Telek - Slow Shift Matrix (bb4-5).milk b/presets/presets_milkdrop/Telek - Slow Shift Matrix (bb4-5).milk new file mode 100644 index 0000000000..6839f15e11 --- /dev/null +++ b/presets/presets_milkdrop/Telek - Slow Shift Matrix (bb4-5).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.100000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +per_frame_1=bv = bass*.01+.99*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); +per_frame_4=wave_x =-1; +per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_7=rot = 1*sin(tt*.15); +per_frame_8=cx = sin(tt*.16)*.5+.5; +per_frame_9=cy = cos(tt*.46)*.5+.5; +per_frame_10=ib_r = sin(tt*.51)*.5+.5; +per_frame_11=ib_g = sin(tt*.71)*.5+.5; +per_frame_12=ib_b = sin(tt*.81)*.5+.5; +per_frame_13=monitor = tt; +per_frame_14= +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_frame_init_1=tt = rand(10000); +per_frame_init_2= diff --git a/presets/Telek - Slow Shift Matrix.milk b/presets/presets_milkdrop/Telek - Slow Shift Matrix.milk similarity index 100% rename from presets/Telek - Slow Shift Matrix.milk rename to presets/presets_milkdrop/Telek - Slow Shift Matrix.milk diff --git a/presets/Telek - Slow Thing (Spiderman Mix).milk b/presets/presets_milkdrop/Telek - Slow Thing (Spiderman Mix).milk similarity index 100% rename from presets/Telek - Slow Thing (Spiderman Mix).milk rename to presets/presets_milkdrop/Telek - Slow Thing (Spiderman Mix).milk diff --git a/presets/Telek - Spiral Tabletop (New and Improved!).milk b/presets/presets_milkdrop/Telek - Spiral Tabletop (New and Improved!).milk similarity index 100% rename from presets/Telek - Spiral Tabletop (New and Improved!).milk rename to presets/presets_milkdrop/Telek - Spiral Tabletop (New and Improved!).milk diff --git a/presets/Telek - Spokes (More Dynamic).milk b/presets/presets_milkdrop/Telek - Spokes (More Dynamic).milk similarity index 100% rename from presets/Telek - Spokes (More Dynamic).milk rename to presets/presets_milkdrop/Telek - Spokes (More Dynamic).milk diff --git a/presets/Telek - Target Practice (tracking retreat slide).milk b/presets/presets_milkdrop/Telek - Target Practice (tracking retreat slide).milk similarity index 100% rename from presets/Telek - Target Practice (tracking retreat slide).milk rename to presets/presets_milkdrop/Telek - Target Practice (tracking retreat slide).milk diff --git a/presets/Telek EMPR - Scanner - Trust me I've got a Melways.milk b/presets/presets_milkdrop/Telek EMPR - Scanner - Trust me I've got a Melways.milk similarity index 100% rename from presets/Telek EMPR - Scanner - Trust me I've got a Melways.milk rename to presets/presets_milkdrop/Telek EMPR - Scanner - Trust me I've got a Melways.milk diff --git a/presets/TobiasWolfBoi - Cataract.milk b/presets/presets_milkdrop/TobiasWolfBoi - Cataract.milk similarity index 100% rename from presets/TobiasWolfBoi - Cataract.milk rename to presets/presets_milkdrop/TobiasWolfBoi - Cataract.milk diff --git a/presets/TobiasWolfBoi - The Pit.milk b/presets/presets_milkdrop/TobiasWolfBoi - The Pit.milk similarity index 100% rename from presets/TobiasWolfBoi - The Pit.milk rename to presets/presets_milkdrop/TobiasWolfBoi - The Pit.milk diff --git a/presets/Tschoey - Music Flower.milk b/presets/presets_milkdrop/Tschoey - Music Flower.milk similarity index 100% rename from presets/Tschoey - Music Flower.milk rename to presets/presets_milkdrop/Tschoey - Music Flower.milk diff --git a/presets/Unchained & CTho - Bad Vibes.milk b/presets/presets_milkdrop/Unchained & CTho - Bad Vibes.milk similarity index 100% rename from presets/Unchained & CTho - Bad Vibes.milk rename to presets/presets_milkdrop/Unchained & CTho - Bad Vibes.milk diff --git a/presets/Unchained & Che - Oddnezz 3.milk b/presets/presets_milkdrop/Unchained & Che - Oddnezz 3.milk similarity index 100% rename from presets/Unchained & Che - Oddnezz 3.milk rename to presets/presets_milkdrop/Unchained & Che - Oddnezz 3.milk diff --git a/presets/Unchained & Che - Oddnezz 4 (Done it again).milk b/presets/presets_milkdrop/Unchained & Che - Oddnezz 4 (Done it again).milk similarity index 100% rename from presets/Unchained & Che - Oddnezz 4 (Done it again).milk rename to presets/presets_milkdrop/Unchained & Che - Oddnezz 4 (Done it again).milk diff --git a/presets/Unchained & Illusion - Dual Wave 3.milk b/presets/presets_milkdrop/Unchained & Illusion - Dual Wave 3.milk similarity index 100% rename from presets/Unchained & Illusion - Dual Wave 3.milk rename to presets/presets_milkdrop/Unchained & Illusion - Dual Wave 3.milk diff --git a/presets/Unchained & Illusion - Logic Morph.milk b/presets/presets_milkdrop/Unchained & Illusion - Logic Morph.milk similarity index 100% rename from presets/Unchained & Illusion - Logic Morph.milk rename to presets/presets_milkdrop/Unchained & Illusion - Logic Morph.milk diff --git a/presets/Unchained & Illusion - Spirit Morph.milk b/presets/presets_milkdrop/Unchained & Illusion - Spirit Morph.milk similarity index 100% rename from presets/Unchained & Illusion - Spirit Morph.milk rename to presets/presets_milkdrop/Unchained & Illusion - Spirit Morph.milk diff --git a/presets/Unchained & Rovastar - For The Seagull.milk b/presets/presets_milkdrop/Unchained & Rovastar - For The Seagull.milk similarity index 100% rename from presets/Unchained & Rovastar - For The Seagull.milk rename to presets/presets_milkdrop/Unchained & Rovastar - For The Seagull.milk diff --git a/presets/Unchained & Rovastar - Luckless.milk b/presets/presets_milkdrop/Unchained & Rovastar - Luckless.milk similarity index 100% rename from presets/Unchained & Rovastar - Luckless.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Luckless.milk diff --git a/presets/Unchained & Rovastar - Rainbow Obscura.milk b/presets/presets_milkdrop/Unchained & Rovastar - Rainbow Obscura.milk similarity index 100% rename from presets/Unchained & Rovastar - Rainbow Obscura.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Rainbow Obscura.milk diff --git a/presets/Unchained & Rovastar - Slow Solstice.milk b/presets/presets_milkdrop/Unchained & Rovastar - Slow Solstice.milk similarity index 100% rename from presets/Unchained & Rovastar - Slow Solstice.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Slow Solstice.milk diff --git a/presets/Unchained & Rovastar - Triptionary.milk b/presets/presets_milkdrop/Unchained & Rovastar - Triptionary.milk similarity index 100% rename from presets/Unchained & Rovastar - Triptionary.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Triptionary.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk b/presets/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk diff --git a/presets/Unchained & Rovastar - Wormhole Pillars.milk b/presets/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars.milk similarity index 100% rename from presets/Unchained & Rovastar - Wormhole Pillars.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars.milk diff --git a/presets/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_milkdrop/Unchained & Rovastar - Xen Traffic.milk similarity index 100% rename from presets/Unchained & Rovastar - Xen Traffic.milk rename to presets/presets_milkdrop/Unchained & Rovastar - Xen Traffic.milk diff --git a/presets/Unchained - A Matter Of Taste (Remix).milk b/presets/presets_milkdrop/Unchained - A Matter Of Taste (Remix).milk similarity index 100% rename from presets/Unchained - A Matter Of Taste (Remix).milk rename to presets/presets_milkdrop/Unchained - A Matter Of Taste (Remix).milk diff --git a/presets/Unchained - All You Can Eat.milk b/presets/presets_milkdrop/Unchained - All You Can Eat.milk similarity index 100% rename from presets/Unchained - All You Can Eat.milk rename to presets/presets_milkdrop/Unchained - All You Can Eat.milk diff --git a/presets/Unchained - Bad Karma Oddnezz Style.milk b/presets/presets_milkdrop/Unchained - Bad Karma Oddnezz Style.milk similarity index 100% rename from presets/Unchained - Bad Karma Oddnezz Style.milk rename to presets/presets_milkdrop/Unchained - Bad Karma Oddnezz Style.milk diff --git a/presets/Unchained - Beat Demo (Demonology Mix).milk b/presets/presets_milkdrop/Unchained - Beat Demo (Demonology Mix).milk similarity index 100% rename from presets/Unchained - Beat Demo (Demonology Mix).milk rename to presets/presets_milkdrop/Unchained - Beat Demo (Demonology Mix).milk diff --git a/presets/presets_milkdrop/Unchained - Beat Demo 1-0.milk b/presets/presets_milkdrop/Unchained - Beat Demo 1-0.milk new file mode 100644 index 0000000000..7e20b9a86a --- /dev/null +++ b/presets/presets_milkdrop/Unchained - Beat Demo 1-0.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.981000 +fVideoEchoZoom=1.006440 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.540000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.200000 +zoom=0.999800 +rot=0.000000 +cx=0.470000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets/Unchained - Beat Demo 10.milk b/presets/presets_milkdrop/Unchained - Beat Demo 10.milk similarity index 100% rename from presets/Unchained - Beat Demo 10.milk rename to presets/presets_milkdrop/Unchained - Beat Demo 10.milk diff --git a/presets/presets_milkdrop/Unchained - Beat Demo 2-0.milk b/presets/presets_milkdrop/Unchained - Beat Demo 2-0.milk new file mode 100644 index 0000000000..3473d1bb57 --- /dev/null +++ b/presets/presets_milkdrop/Unchained - Beat Demo 2-0.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=zoom=zoom+.1*q4; +per_frame_41=rot=.2*q5; +per_frame_42=wave_mystery=.5*q6; +per_frame_43=cx=cx+.5*q1; +per_frame_44=cy=cy+.5*q2; +per_frame_45=warp=bnot(q7%2); +per_frame_46=echo_zoom=1+.5*q3; +per_frame_47=echo_orientation=q8%4; +per_frame_48=wave_mode=q8%7; diff --git a/presets/presets_milkdrop/Unchained - Beat Demo 2-1.milk b/presets/presets_milkdrop/Unchained - Beat Demo 2-1.milk new file mode 100644 index 0000000000..899cd3310d --- /dev/null +++ b/presets/presets_milkdrop/Unchained - Beat Demo 2-1.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=cx=cx+.5*q1; +per_frame_42=cy=cy+.5*q2; +per_frame_43=warp=bnot(q7%2); +per_frame_44=echo_zoom=1+.5*q3; +per_frame_45=echo_orientation=q8%4; +per_frame_46=wave_mode=q8%7; +per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); +per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets/presets_milkdrop/Unchained - Beat Demo 2-2.milk b/presets/presets_milkdrop/Unchained - Beat Demo 2-2.milk new file mode 100644 index 0000000000..8da3a1e674 --- /dev/null +++ b/presets/presets_milkdrop/Unchained - Beat Demo 2-2.milk @@ -0,0 +1,109 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); diff --git a/presets/presets_milkdrop/Unchained - Beat Demo 2-3.milk b/presets/presets_milkdrop/Unchained - Beat Demo 2-3.milk new file mode 100644 index 0000000000..f70f8a768d --- /dev/null +++ b/presets/presets_milkdrop/Unchained - Beat Demo 2-3.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.993000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.018281 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=decay=.98+q8*.001; +per_frame_44=monitor=q8; +per_pixel_1=c1=x*q1+sin(ang)*q4; +per_pixel_2=c2=y*q2+sin(ang)*q6; +per_pixel_3=c3=rad*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_7=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.07*sin(q4*3.14*radix),1+.07*sin(radix*q8*q4*1.618))); diff --git a/presets/Unchained - Cartoon Factory.milk b/presets/presets_milkdrop/Unchained - Cartoon Factory.milk similarity index 100% rename from presets/Unchained - Cartoon Factory.milk rename to presets/presets_milkdrop/Unchained - Cartoon Factory.milk diff --git a/presets/Unchained - Cranked On Failure.milk b/presets/presets_milkdrop/Unchained - Cranked On Failure.milk similarity index 100% rename from presets/Unchained - Cranked On Failure.milk rename to presets/presets_milkdrop/Unchained - Cranked On Failure.milk diff --git a/presets/Unchained - Deeper Logic.milk b/presets/presets_milkdrop/Unchained - Deeper Logic.milk similarity index 100% rename from presets/Unchained - Deeper Logic.milk rename to presets/presets_milkdrop/Unchained - Deeper Logic.milk diff --git a/presets/Unchained - Free to Feel (Valium Remix).milk b/presets/presets_milkdrop/Unchained - Free to Feel (Valium Remix).milk similarity index 100% rename from presets/Unchained - Free to Feel (Valium Remix).milk rename to presets/presets_milkdrop/Unchained - Free to Feel (Valium Remix).milk diff --git a/presets/Unchained - Games With Light & Sound.milk b/presets/presets_milkdrop/Unchained - Games With Light & Sound.milk similarity index 100% rename from presets/Unchained - Games With Light & Sound.milk rename to presets/presets_milkdrop/Unchained - Games With Light & Sound.milk diff --git a/presets/Unchained - Ghostlight Whisper.milk b/presets/presets_milkdrop/Unchained - Ghostlight Whisper.milk similarity index 100% rename from presets/Unchained - Ghostlight Whisper.milk rename to presets/presets_milkdrop/Unchained - Ghostlight Whisper.milk diff --git a/presets/Unchained - God Of The Game (Remix).milk b/presets/presets_milkdrop/Unchained - God Of The Game (Remix).milk similarity index 100% rename from presets/Unchained - God Of The Game (Remix).milk rename to presets/presets_milkdrop/Unchained - God Of The Game (Remix).milk diff --git a/presets/Unchained - Goo Kung Fu.milk b/presets/presets_milkdrop/Unchained - Goo Kung Fu.milk similarity index 100% rename from presets/Unchained - Goo Kung Fu.milk rename to presets/presets_milkdrop/Unchained - Goo Kung Fu.milk diff --git a/presets/Unchained - Goofy Beat Detection.milk b/presets/presets_milkdrop/Unchained - Goofy Beat Detection.milk similarity index 100% rename from presets/Unchained - Goofy Beat Detection.milk rename to presets/presets_milkdrop/Unchained - Goofy Beat Detection.milk diff --git a/presets_milkdrop/Unchained - Housed In A Childish Mind.milk b/presets/presets_milkdrop/Unchained - Housed In A Childish Mind.milk similarity index 100% rename from presets_milkdrop/Unchained - Housed In A Childish Mind.milk rename to presets/presets_milkdrop/Unchained - Housed In A Childish Mind.milk diff --git a/presets_milkdrop/Unchained - In Memory Of Peg.milk b/presets/presets_milkdrop/Unchained - In Memory Of Peg.milk similarity index 100% rename from presets_milkdrop/Unchained - In Memory Of Peg.milk rename to presets/presets_milkdrop/Unchained - In Memory Of Peg.milk diff --git a/presets/Unchained - Invariant Under Rigorous Motions.milk b/presets/presets_milkdrop/Unchained - Invariant Under Rigorous Motions.milk similarity index 100% rename from presets/Unchained - Invariant Under Rigorous Motions.milk rename to presets/presets_milkdrop/Unchained - Invariant Under Rigorous Motions.milk diff --git a/presets/Unchained - Jaded Emotion.milk b/presets/presets_milkdrop/Unchained - Jaded Emotion.milk similarity index 100% rename from presets/Unchained - Jaded Emotion.milk rename to presets/presets_milkdrop/Unchained - Jaded Emotion.milk diff --git a/presets/Unchained - Jaundice.milk b/presets/presets_milkdrop/Unchained - Jaundice.milk similarity index 100% rename from presets/Unchained - Jaundice.milk rename to presets/presets_milkdrop/Unchained - Jaundice.milk diff --git a/presets/Unchained - Making a Science of It 4.milk b/presets/presets_milkdrop/Unchained - Making a Science of It 4.milk similarity index 100% rename from presets/Unchained - Making a Science of It 4.milk rename to presets/presets_milkdrop/Unchained - Making a Science of It 4.milk diff --git a/presets/Unchained - Morat's Final Voyage.milk b/presets/presets_milkdrop/Unchained - Morat's Final Voyage.milk similarity index 100% rename from presets/Unchained - Morat's Final Voyage.milk rename to presets/presets_milkdrop/Unchained - Morat's Final Voyage.milk diff --git a/presets/Unchained - Non-Professional Music Analyzer.milk b/presets/presets_milkdrop/Unchained - Non-Professional Music Analyzer.milk similarity index 100% rename from presets/Unchained - Non-Professional Music Analyzer.milk rename to presets/presets_milkdrop/Unchained - Non-Professional Music Analyzer.milk diff --git a/presets_milkdrop/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk b/presets/presets_milkdrop/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk similarity index 100% rename from presets_milkdrop/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk rename to presets/presets_milkdrop/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk diff --git a/presets/Unchained - Perverted Dialect.milk b/presets/presets_milkdrop/Unchained - Perverted Dialect.milk similarity index 100% rename from presets/Unchained - Perverted Dialect.milk rename to presets/presets_milkdrop/Unchained - Perverted Dialect.milk diff --git a/presets/Unchained - Picture Of Exile.milk b/presets/presets_milkdrop/Unchained - Picture Of Exile.milk similarity index 100% rename from presets/Unchained - Picture Of Exile.milk rename to presets/presets_milkdrop/Unchained - Picture Of Exile.milk diff --git a/presets/Unchained - Picture Of Nectar.milk b/presets/presets_milkdrop/Unchained - Picture Of Nectar.milk similarity index 100% rename from presets/Unchained - Picture Of Nectar.milk rename to presets/presets_milkdrop/Unchained - Picture Of Nectar.milk diff --git a/presets/Unchained - Picture Of Poison.milk b/presets/presets_milkdrop/Unchained - Picture Of Poison.milk similarity index 100% rename from presets/Unchained - Picture Of Poison.milk rename to presets/presets_milkdrop/Unchained - Picture Of Poison.milk diff --git a/presets_milkdrop/Unchained - ReAwoke.milk b/presets/presets_milkdrop/Unchained - ReAwoke.milk similarity index 100% rename from presets_milkdrop/Unchained - ReAwoke.milk rename to presets/presets_milkdrop/Unchained - ReAwoke.milk diff --git a/presets/Unchained - Resistance.milk b/presets/presets_milkdrop/Unchained - Resistance.milk similarity index 100% rename from presets/Unchained - Resistance.milk rename to presets/presets_milkdrop/Unchained - Resistance.milk diff --git a/presets/Unchained - Ribald Ballad.milk b/presets/presets_milkdrop/Unchained - Ribald Ballad.milk similarity index 100% rename from presets/Unchained - Ribald Ballad.milk rename to presets/presets_milkdrop/Unchained - Ribald Ballad.milk diff --git a/presets/Unchained - Shaping The Grid.milk b/presets/presets_milkdrop/Unchained - Shaping The Grid.milk similarity index 100% rename from presets/Unchained - Shaping The Grid.milk rename to presets/presets_milkdrop/Unchained - Shaping The Grid.milk diff --git a/presets_milkdrop/Unchained - Subjective Experience Of The Manifold.milk b/presets/presets_milkdrop/Unchained - Subjective Experience Of The Manifold.milk similarity index 100% rename from presets_milkdrop/Unchained - Subjective Experience Of The Manifold.milk rename to presets/presets_milkdrop/Unchained - Subjective Experience Of The Manifold.milk diff --git a/presets/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets/presets_milkdrop/Unchained - Unclaimed Wreckage 2 (Shamanic).milk similarity index 100% rename from presets/Unchained - Unclaimed Wreckage 2 (Shamanic).milk rename to presets/presets_milkdrop/Unchained - Unclaimed Wreckage 2 (Shamanic).milk diff --git a/presets/Unchained - Unclaimed Wreckage.milk b/presets/presets_milkdrop/Unchained - Unclaimed Wreckage.milk similarity index 100% rename from presets/Unchained - Unclaimed Wreckage.milk rename to presets/presets_milkdrop/Unchained - Unclaimed Wreckage.milk diff --git a/presets/Unchained - Unified Drag 2.milk b/presets/presets_milkdrop/Unchained - Unified Drag 2.milk similarity index 100% rename from presets/Unchained - Unified Drag 2.milk rename to presets/presets_milkdrop/Unchained - Unified Drag 2.milk diff --git a/presets/Unchained - Working the Grid.milk b/presets/presets_milkdrop/Unchained - Working the Grid.milk similarity index 100% rename from presets/Unchained - Working the Grid.milk rename to presets/presets_milkdrop/Unchained - Working the Grid.milk diff --git a/presets/Unchained - elite vectronics.milk b/presets/presets_milkdrop/Unchained - elite vectronics.milk similarity index 100% rename from presets/Unchained - elite vectronics.milk rename to presets/presets_milkdrop/Unchained - elite vectronics.milk diff --git a/presets/Unchained - ventilation.milk b/presets/presets_milkdrop/Unchained - ventilation.milk similarity index 100% rename from presets/Unchained - ventilation.milk rename to presets/presets_milkdrop/Unchained - ventilation.milk diff --git a/presets/Vovan - Bass With Flover.milk b/presets/presets_milkdrop/Vovan - Bass With Flover.milk similarity index 100% rename from presets/Vovan - Bass With Flover.milk rename to presets/presets_milkdrop/Vovan - Bass With Flover.milk diff --git a/presets/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk b/presets/presets_milkdrop/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk similarity index 100% rename from presets/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk rename to presets/presets_milkdrop/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk diff --git a/presets/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk b/presets/presets_milkdrop/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk similarity index 100% rename from presets/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk rename to presets/presets_milkdrop/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk diff --git a/presets/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk b/presets/presets_milkdrop/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk similarity index 100% rename from presets/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk rename to presets/presets_milkdrop/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk diff --git a/presets/Zylot & Krash - Extremophile.milk b/presets/presets_milkdrop/Zylot & Krash - Extremophile.milk similarity index 100% rename from presets/Zylot & Krash - Extremophile.milk rename to presets/presets_milkdrop/Zylot & Krash - Extremophile.milk diff --git a/presets/Zylot & Mstress - Celebrate.milk b/presets/presets_milkdrop/Zylot & Mstress - Celebrate.milk similarity index 100% rename from presets/Zylot & Mstress - Celebrate.milk rename to presets/presets_milkdrop/Zylot & Mstress - Celebrate.milk diff --git a/presets/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk b/presets/presets_milkdrop/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk similarity index 100% rename from presets/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk rename to presets/presets_milkdrop/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk diff --git a/presets/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk b/presets/presets_milkdrop/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk similarity index 100% rename from presets/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk rename to presets/presets_milkdrop/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk diff --git a/presets/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk b/presets/presets_milkdrop/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk similarity index 100% rename from presets/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk rename to presets/presets_milkdrop/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk diff --git a/presets/Zylot & Wulfson - Pulse Beat.milk b/presets/presets_milkdrop/Zylot & Wulfson - Pulse Beat.milk similarity index 100% rename from presets/Zylot & Wulfson - Pulse Beat.milk rename to presets/presets_milkdrop/Zylot & Wulfson - Pulse Beat.milk diff --git a/presets/Zylot - Azirphaeli's Mirror.milk b/presets/presets_milkdrop/Zylot - Azirphaeli's Mirror.milk similarity index 100% rename from presets/Zylot - Azirphaeli's Mirror.milk rename to presets/presets_milkdrop/Zylot - Azirphaeli's Mirror.milk diff --git a/presets/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_milkdrop/Zylot - Block Of Sound (Abstract Architecture Mix).milk similarity index 100% rename from presets/Zylot - Block Of Sound (Abstract Architecture Mix).milk rename to presets/presets_milkdrop/Zylot - Block Of Sound (Abstract Architecture Mix).milk diff --git a/presets/Zylot - Block Of Sound (Fractal Construction Mix).milk b/presets/presets_milkdrop/Zylot - Block Of Sound (Fractal Construction Mix).milk similarity index 100% rename from presets/Zylot - Block Of Sound (Fractal Construction Mix).milk rename to presets/presets_milkdrop/Zylot - Block Of Sound (Fractal Construction Mix).milk diff --git a/presets/Zylot - Burning Passion.milk b/presets/presets_milkdrop/Zylot - Burning Passion.milk similarity index 100% rename from presets/Zylot - Burning Passion.milk rename to presets/presets_milkdrop/Zylot - Burning Passion.milk diff --git a/presets/Zylot - Color Of Music.milk b/presets/presets_milkdrop/Zylot - Color Of Music.milk similarity index 100% rename from presets/Zylot - Color Of Music.milk rename to presets/presets_milkdrop/Zylot - Color Of Music.milk diff --git a/presets/Zylot - Crystal Ball (Magical Reaction Mix).milk b/presets/presets_milkdrop/Zylot - Crystal Ball (Magical Reaction Mix).milk similarity index 100% rename from presets/Zylot - Crystal Ball (Magical Reaction Mix).milk rename to presets/presets_milkdrop/Zylot - Crystal Ball (Magical Reaction Mix).milk diff --git a/presets/Zylot - De(-a)range(d)(ment) complex.milk b/presets/presets_milkdrop/Zylot - De(-a)range(d)(ment) complex.milk similarity index 100% rename from presets/Zylot - De(-a)range(d)(ment) complex.milk rename to presets/presets_milkdrop/Zylot - De(-a)range(d)(ment) complex.milk diff --git a/presets/Zylot - De(-a)range(d)(ment) strain.milk b/presets/presets_milkdrop/Zylot - De(-a)range(d)(ment) strain.milk similarity index 100% rename from presets/Zylot - De(-a)range(d)(ment) strain.milk rename to presets/presets_milkdrop/Zylot - De(-a)range(d)(ment) strain.milk diff --git a/presets/Zylot - Digiscape Advanced Processor.milk b/presets/presets_milkdrop/Zylot - Digiscape Advanced Processor.milk similarity index 100% rename from presets/Zylot - Digiscape Advanced Processor.milk rename to presets/presets_milkdrop/Zylot - Digiscape Advanced Processor.milk diff --git a/presets/Zylot - Ether Storm.milk b/presets/presets_milkdrop/Zylot - Ether Storm.milk similarity index 100% rename from presets/Zylot - Ether Storm.milk rename to presets/presets_milkdrop/Zylot - Ether Storm.milk diff --git a/presets/Zylot - Global Earthquake.milk b/presets/presets_milkdrop/Zylot - Global Earthquake.milk similarity index 100% rename from presets/Zylot - Global Earthquake.milk rename to presets/presets_milkdrop/Zylot - Global Earthquake.milk diff --git a/presets/Zylot - Hollow Shell.milk b/presets/presets_milkdrop/Zylot - Hollow Shell.milk similarity index 100% rename from presets/Zylot - Hollow Shell.milk rename to presets/presets_milkdrop/Zylot - Hollow Shell.milk diff --git a/presets/Zylot - Inside The Planar Portal.milk b/presets/presets_milkdrop/Zylot - Inside The Planar Portal.milk similarity index 100% rename from presets/Zylot - Inside The Planar Portal.milk rename to presets/presets_milkdrop/Zylot - Inside The Planar Portal.milk diff --git a/presets/Zylot - Magladon.milk b/presets/presets_milkdrop/Zylot - Magladon.milk similarity index 100% rename from presets/Zylot - Magladon.milk rename to presets/presets_milkdrop/Zylot - Magladon.milk diff --git a/presets/Zylot - Magma Crawl.milk b/presets/presets_milkdrop/Zylot - Magma Crawl.milk similarity index 100% rename from presets/Zylot - Magma Crawl.milk rename to presets/presets_milkdrop/Zylot - Magma Crawl.milk diff --git a/presets/Zylot - Magma Vein.milk b/presets/presets_milkdrop/Zylot - Magma Vein.milk similarity index 100% rename from presets/Zylot - Magma Vein.milk rename to presets/presets_milkdrop/Zylot - Magma Vein.milk diff --git a/presets/Zylot - Mixing Pot.milk b/presets/presets_milkdrop/Zylot - Mixing Pot.milk similarity index 100% rename from presets/Zylot - Mixing Pot.milk rename to presets/presets_milkdrop/Zylot - Mixing Pot.milk diff --git a/presets/Zylot - New Star.milk b/presets/presets_milkdrop/Zylot - New Star.milk similarity index 100% rename from presets/Zylot - New Star.milk rename to presets/presets_milkdrop/Zylot - New Star.milk diff --git a/presets/Zylot - PinWheel.milk b/presets/presets_milkdrop/Zylot - PinWheel.milk similarity index 100% rename from presets/Zylot - PinWheel.milk rename to presets/presets_milkdrop/Zylot - PinWheel.milk diff --git a/presets/Zylot - Present for Saddam.milk b/presets/presets_milkdrop/Zylot - Present for Saddam.milk similarity index 100% rename from presets/Zylot - Present for Saddam.milk rename to presets/presets_milkdrop/Zylot - Present for Saddam.milk diff --git a/presets/Zylot - Puddle Of Music.milk b/presets/presets_milkdrop/Zylot - Puddle Of Music.milk similarity index 100% rename from presets/Zylot - Puddle Of Music.milk rename to presets/presets_milkdrop/Zylot - Puddle Of Music.milk diff --git a/presets/Zylot - Rainbow Planet Under Attack.milk b/presets/presets_milkdrop/Zylot - Rainbow Planet Under Attack.milk similarity index 100% rename from presets/Zylot - Rainbow Planet Under Attack.milk rename to presets/presets_milkdrop/Zylot - Rainbow Planet Under Attack.milk diff --git a/presets/Zylot - Riding The Sound Waves.milk b/presets/presets_milkdrop/Zylot - Riding The Sound Waves.milk similarity index 100% rename from presets/Zylot - Riding The Sound Waves.milk rename to presets/presets_milkdrop/Zylot - Riding The Sound Waves.milk diff --git a/presets/Zylot - Rush.milk b/presets/presets_milkdrop/Zylot - Rush.milk similarity index 100% rename from presets/Zylot - Rush.milk rename to presets/presets_milkdrop/Zylot - Rush.milk diff --git a/presets/Zylot - S Pulse Virus.milk b/presets/presets_milkdrop/Zylot - S Pulse Virus.milk similarity index 100% rename from presets/Zylot - S Pulse Virus.milk rename to presets/presets_milkdrop/Zylot - S Pulse Virus.milk diff --git a/presets/presets_milkdrop/Zylot - S- Pulse Virus.milk b/presets/presets_milkdrop/Zylot - S- Pulse Virus.milk new file mode 100644 index 0000000000..399545c7dc --- /dev/null +++ b/presets/presets_milkdrop/Zylot - S- Pulse Virus.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.999994 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); +per_frame_2=wave_mystery = wave_mystery + push; +per_frame_3=wave_r = wave_r + .5*sin(time*.222); +per_frame_4=wave_g = wave_g + .5*sin(time*.333); +per_frame_5=wave_b = wave_b + .5*sin(time*.444); +per_frame_6=warp = 0; +per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets/Zylot - String.milk b/presets/presets_milkdrop/Zylot - String.milk similarity index 100% rename from presets/Zylot - String.milk rename to presets/presets_milkdrop/Zylot - String.milk diff --git a/presets/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk b/presets/presets_milkdrop/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk similarity index 100% rename from presets/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk rename to presets/presets_milkdrop/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk diff --git a/presets/Zylot - The Deeper.milk b/presets/presets_milkdrop/Zylot - The Deeper.milk similarity index 100% rename from presets/Zylot - The Deeper.milk rename to presets/presets_milkdrop/Zylot - The Deeper.milk diff --git a/presets/Zylot - The Inner Workings of my New Computer.milk b/presets/presets_milkdrop/Zylot - The Inner Workings of my New Computer.milk similarity index 100% rename from presets/Zylot - The Inner Workings of my New Computer.milk rename to presets/presets_milkdrop/Zylot - The Inner Workings of my New Computer.milk diff --git a/presets/Zylot - Tunnel Of Illusion.milk b/presets/presets_milkdrop/Zylot - Tunnel Of Illusion.milk similarity index 100% rename from presets/Zylot - Tunnel Of Illusion.milk rename to presets/presets_milkdrop/Zylot - Tunnel Of Illusion.milk diff --git a/presets/Zylot - Visionarie (geiss aspect ratio fix).milk b/presets/presets_milkdrop/Zylot - Visionarie (geiss aspect ratio fix).milk similarity index 100% rename from presets/Zylot - Visionarie (geiss aspect ratio fix).milk rename to presets/presets_milkdrop/Zylot - Visionarie (geiss aspect ratio fix).milk diff --git a/presets/Zylot - Visionarie.milk b/presets/presets_milkdrop/Zylot - Visionarie.milk similarity index 100% rename from presets/Zylot - Visionarie.milk rename to presets/presets_milkdrop/Zylot - Visionarie.milk diff --git a/presets/Zylot - Waves Of Blood.milk b/presets/presets_milkdrop/Zylot - Waves Of Blood.milk similarity index 100% rename from presets/Zylot - Waves Of Blood.milk rename to presets/presets_milkdrop/Zylot - Waves Of Blood.milk diff --git a/presets/Zylot - Winding Path Over The Blue Abyss.milk b/presets/presets_milkdrop/Zylot - Winding Path Over The Blue Abyss.milk similarity index 100% rename from presets/Zylot - Winding Path Over The Blue Abyss.milk rename to presets/presets_milkdrop/Zylot - Winding Path Over The Blue Abyss.milk diff --git a/presets/Zylot - light of the path.milk b/presets/presets_milkdrop/Zylot - light of the path.milk similarity index 100% rename from presets/Zylot - light of the path.milk rename to presets/presets_milkdrop/Zylot - light of the path.milk diff --git a/presets/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk b/presets/presets_milkdrop/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk similarity index 100% rename from presets/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk rename to presets/presets_milkdrop/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk diff --git a/presets/che - adela the flower.milk b/presets/presets_milkdrop/che - adela the flower.milk similarity index 100% rename from presets/che - adela the flower.milk rename to presets/presets_milkdrop/che - adela the flower.milk diff --git a/presets/che - barcode infidelity.milk b/presets/presets_milkdrop/che - barcode infidelity.milk similarity index 100% rename from presets/che - barcode infidelity.milk rename to presets/presets_milkdrop/che - barcode infidelity.milk diff --git a/presets/che - burning hus (oil mix).milk b/presets/presets_milkdrop/che - burning hus (oil mix).milk similarity index 100% rename from presets/che - burning hus (oil mix).milk rename to presets/presets_milkdrop/che - burning hus (oil mix).milk diff --git a/presets/che - terracarbon stream.milk b/presets/presets_milkdrop/che - terracarbon stream.milk similarity index 100% rename from presets/che - terracarbon stream.milk rename to presets/presets_milkdrop/che - terracarbon stream.milk diff --git a/presets/idiot - Dwarf of Annon (before the star).milk b/presets/presets_milkdrop/idiot - Dwarf of Annon (before the star).milk similarity index 100% rename from presets/idiot - Dwarf of Annon (before the star).milk rename to presets/presets_milkdrop/idiot - Dwarf of Annon (before the star).milk diff --git a/presets/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk b/presets/presets_milkdrop/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk similarity index 100% rename from presets/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk rename to presets/presets_milkdrop/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk diff --git a/presets/idiot - Nothing Yet - 03 - The worst of the pack.milk b/presets/presets_milkdrop/idiot - Nothing Yet - 03 - The worst of the pack.milk similarity index 100% rename from presets/idiot - Nothing Yet - 03 - The worst of the pack.milk rename to presets/presets_milkdrop/idiot - Nothing Yet - 03 - The worst of the pack.milk diff --git a/presets/idiot - Nucleus.milk b/presets/presets_milkdrop/idiot - Nucleus.milk similarity index 100% rename from presets/idiot - Nucleus.milk rename to presets/presets_milkdrop/idiot - Nucleus.milk diff --git a/presets/idiot - Shadows of Annon.milk b/presets/presets_milkdrop/idiot - Shadows of Annon.milk similarity index 100% rename from presets/idiot - Shadows of Annon.milk rename to presets/presets_milkdrop/idiot - Shadows of Annon.milk diff --git a/presets/idiot - Sinful Code (unchained style).milk b/presets/presets_milkdrop/idiot - Sinful Code (unchained style).milk similarity index 100% rename from presets/idiot - Sinful Code (unchained style).milk rename to presets/presets_milkdrop/idiot - Sinful Code (unchained style).milk diff --git a/presets/idiot - Some big word I learned.milk b/presets/presets_milkdrop/idiot - Some big word I learned.milk similarity index 100% rename from presets/idiot - Some big word I learned.milk rename to presets/presets_milkdrop/idiot - Some big word I learned.milk diff --git a/presets/idiot - Spectrum.milk b/presets/presets_milkdrop/idiot - Spectrum.milk similarity index 100% rename from presets/idiot - Spectrum.milk rename to presets/presets_milkdrop/idiot - Spectrum.milk diff --git a/presets/idiot - Waterfalls (remix2).milk b/presets/presets_milkdrop/idiot - Waterfalls (remix2).milk similarity index 100% rename from presets/idiot - Waterfalls (remix2).milk rename to presets/presets_milkdrop/idiot - Waterfalls (remix2).milk diff --git a/presets/idiot - Waterfalls.milk b/presets/presets_milkdrop/idiot - Waterfalls.milk similarity index 100% rename from presets/idiot - Waterfalls.milk rename to presets/presets_milkdrop/idiot - Waterfalls.milk diff --git a/presets/illusion & studio music - charged bliss.milk b/presets/presets_milkdrop/illusion & studio music - charged bliss.milk similarity index 100% rename from presets/illusion & studio music - charged bliss.milk rename to presets/presets_milkdrop/illusion & studio music - charged bliss.milk diff --git a/presets/illusion & techno - double highway.milk b/presets/presets_milkdrop/illusion & techno - double highway.milk similarity index 100% rename from presets/illusion & techno - double highway.milk rename to presets/presets_milkdrop/illusion & techno - double highway.milk diff --git a/presets/mstress - Acid Universes.milk b/presets/presets_milkdrop/mstress - Acid Universes.milk similarity index 100% rename from presets/mstress - Acid Universes.milk rename to presets/presets_milkdrop/mstress - Acid Universes.milk diff --git a/presets/neuro - blackhole bass.milk b/presets/presets_milkdrop/neuro - blackhole bass.milk similarity index 100% rename from presets/neuro - blackhole bass.milk rename to presets/presets_milkdrop/neuro - blackhole bass.milk diff --git a/presets/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk b/presets/presets_milkdrop/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk similarity index 100% rename from presets/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk rename to presets/presets_milkdrop/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk diff --git a/presets/nil & EMPR - Electron Flow (Copper Wire Mix).milk b/presets/presets_milkdrop/nil & EMPR - Electron Flow (Copper Wire Mix).milk similarity index 100% rename from presets/nil & EMPR - Electron Flow (Copper Wire Mix).milk rename to presets/presets_milkdrop/nil & EMPR - Electron Flow (Copper Wire Mix).milk diff --git a/presets/nil & EMPR - Ruby Nirvana.milk b/presets/presets_milkdrop/nil & EMPR - Ruby Nirvana.milk similarity index 100% rename from presets/nil & EMPR - Ruby Nirvana.milk rename to presets/presets_milkdrop/nil & EMPR - Ruby Nirvana.milk diff --git a/presets/nil - Can't Stop the Blithering.milk b/presets/presets_milkdrop/nil - Can't Stop the Blithering.milk similarity index 100% rename from presets/nil - Can't Stop the Blithering.milk rename to presets/presets_milkdrop/nil - Can't Stop the Blithering.milk diff --git a/presets/nil - Can't Stop the Cramming.milk b/presets/presets_milkdrop/nil - Can't Stop the Cramming.milk similarity index 100% rename from presets/nil - Can't Stop the Cramming.milk rename to presets/presets_milkdrop/nil - Can't Stop the Cramming.milk diff --git a/presets/nil - Cid and Lucy.milk b/presets/presets_milkdrop/nil - Cid and Lucy.milk similarity index 100% rename from presets/nil - Cid and Lucy.milk rename to presets/presets_milkdrop/nil - Cid and Lucy.milk diff --git a/presets/nil - Did You Speak with the Orb.milk b/presets/presets_milkdrop/nil - Did You Speak with the Orb.milk similarity index 100% rename from presets/nil - Did You Speak with the Orb.milk rename to presets/presets_milkdrop/nil - Did You Speak with the Orb.milk diff --git a/presets/nil - Disco Comet.milk b/presets/presets_milkdrop/nil - Disco Comet.milk similarity index 100% rename from presets/nil - Disco Comet.milk rename to presets/presets_milkdrop/nil - Disco Comet.milk diff --git a/presets/nil - Singularity in My Oscilloscope.milk b/presets/presets_milkdrop/nil - Singularity in My Oscilloscope.milk similarity index 100% rename from presets/nil - Singularity in My Oscilloscope.milk rename to presets/presets_milkdrop/nil - Singularity in My Oscilloscope.milk diff --git a/presets/nil - Tim Leary's Amazing Waterslide.milk b/presets/presets_milkdrop/nil - Tim Leary's Amazing Waterslide.milk similarity index 100% rename from presets/nil - Tim Leary's Amazing Waterslide.milk rename to presets/presets_milkdrop/nil - Tim Leary's Amazing Waterslide.milk diff --git a/presets/nil - Vortex of Vortices.milk b/presets/presets_milkdrop/nil - Vortex of Vortices.milk similarity index 100% rename from presets/nil - Vortex of Vortices.milk rename to presets/presets_milkdrop/nil - Vortex of Vortices.milk diff --git a/presets/nil - Wyrm.milk b/presets/presets_milkdrop/nil - Wyrm.milk similarity index 100% rename from presets/nil - Wyrm.milk rename to presets/presets_milkdrop/nil - Wyrm.milk diff --git a/presets/presets_milkdrop/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_milkdrop/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..8dad83227f --- /dev/null +++ b/presets/presets_milkdrop/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets_milkdrop_104/A.milk b/presets/presets_milkdrop_104/A.milk similarity index 100% rename from presets_milkdrop_104/A.milk rename to presets/presets_milkdrop_104/A.milk diff --git a/presets_milkdrop_104/Aderrasi - Accelerator (Hot Lead Transfusion).milk b/presets/presets_milkdrop_104/Aderrasi - Accelerator (Hot Lead Transfusion).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Accelerator (Hot Lead Transfusion).milk rename to presets/presets_milkdrop_104/Aderrasi - Accelerator (Hot Lead Transfusion).milk diff --git a/presets_milkdrop_104/Aderrasi - Agitator.milk b/presets/presets_milkdrop_104/Aderrasi - Agitator.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Agitator.milk rename to presets/presets_milkdrop_104/Aderrasi - Agitator.milk diff --git a/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Calm).milk b/presets/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Calm).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Calm).milk rename to presets/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Calm).milk diff --git a/presets/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Crab).milk b/presets/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Crab).milk new file mode 100644 index 0000000000..b88dbdcaaf --- /dev/null +++ b/presets/presets_milkdrop_104/Aderrasi - Airhandler (Last Breath - Crab).milk @@ -0,0 +1,286 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=1.000000 +fVideoEchoZoom=2.005956 +fVideoEchoAlpha=0.300000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999996 +fShader=0.000000 +zoom=0.999510 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.625314 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.498313 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2=x = x+0.2*sin(5*q4); +shape_0_per_frame3=y = y+0.2*cos(5*q4); +shape_0_per_frame4=ang = 4*time*(0.3 + 0.1*t1); +shape_0_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame6=//a = a + abs(0.4*sin(q4)); +shape_0_per_frame7=//r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame8=//g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame9=//b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame10=//r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame11=//g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame12=//b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.905287 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2=x = x + 0.05*sin(time*1.05+3); +shape_1_per_frame3=y = y + 0.03*sin(time*1.29+1); +shape_1_per_frame4=ang = time*(0.1 + 0.1*t1); +shape_1_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame9=r=q1; +shape_1_per_frame10=g=q3; +shape_1_per_frame11=b=q2; +shape_1_per_frame12=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame13=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame14=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.905287 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2=x = x + 0.05*sin(time*0.17); +shape_2_per_frame3=y = y + 0.03*sin(time*0.83); +shape_2_per_frame4=ang = time*(0.2 + 0.1*t1); +shape_2_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame6=r = q3; +shape_2_per_frame7=g = q1; +shape_2_per_frame8=b = q2; +shape_2_per_frame9= +shape_2_per_frame10=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame11=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame12=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame13=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame14=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame15=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.591230 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.256637 +shapecode_3_tex_zoom=0.850127 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.900000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.2*sin(time*0.25); +shape_3_per_frame4=y = y + 0.1*sin(time*0.5+2); +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11= +per_frame_12=q1 = ob_r; +per_frame_13=q2 = ob_g; +per_frame_14=q3 = ob_b; +per_frame_15=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_16=ocog = below(cog,30000)*cog; +per_frame_17=q4 = cog; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); +per_pixel_9= +per_pixel_10=dx = dx + dx_r; +per_pixel_11=dy = dy + dy_r; diff --git a/presets/presets_milkdrop_104/Aderrasi - Airhandler (Principle of Sharing).milk b/presets/presets_milkdrop_104/Aderrasi - Airhandler (Principle of Sharing).milk new file mode 100644 index 0000000000..da776e0c35 --- /dev/null +++ b/presets/presets_milkdrop_104/Aderrasi - Airhandler (Principle of Sharing).milk @@ -0,0 +1,228 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=0.999599 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(24*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.5) +per_pixel_5=*above(sin(time),0); +per_pixel_6=zoom = zoom + 0.0095*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1) +per_pixel_7=*below(sin(time),0); +per_pixel_8=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_9=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_10=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_11=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets_milkdrop_104/Aderrasi - Arcworld (Arcwheel - Train Wheel).milk b/presets/presets_milkdrop_104/Aderrasi - Arcworld (Arcwheel - Train Wheel).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Arcworld (Arcwheel - Train Wheel).milk rename to presets/presets_milkdrop_104/Aderrasi - Arcworld (Arcwheel - Train Wheel).milk diff --git a/presets_milkdrop_104/Aderrasi - Calabi-Jau Space Bar.milk b/presets/presets_milkdrop_104/Aderrasi - Calabi-Jau Space Bar.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Calabi-Jau Space Bar.milk rename to presets/presets_milkdrop_104/Aderrasi - Calabi-Jau Space Bar.milk diff --git a/presets_milkdrop_104/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk b/presets/presets_milkdrop_104/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk rename to presets/presets_milkdrop_104/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk diff --git a/presets_milkdrop_104/Aderrasi - Cinnamon Wrench (Candy Crane).milk b/presets/presets_milkdrop_104/Aderrasi - Cinnamon Wrench (Candy Crane).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Cinnamon Wrench (Candy Crane).milk rename to presets/presets_milkdrop_104/Aderrasi - Cinnamon Wrench (Candy Crane).milk diff --git a/presets_milkdrop_104/Aderrasi - Contortion (Flair Mix).milk b/presets/presets_milkdrop_104/Aderrasi - Contortion (Flair Mix).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Contortion (Flair Mix).milk rename to presets/presets_milkdrop_104/Aderrasi - Contortion (Flair Mix).milk diff --git a/presets_milkdrop_104/Aderrasi - Curse of the Mirror Emu.milk b/presets/presets_milkdrop_104/Aderrasi - Curse of the Mirror Emu.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Curse of the Mirror Emu.milk rename to presets/presets_milkdrop_104/Aderrasi - Curse of the Mirror Emu.milk diff --git a/presets_milkdrop_104/Aderrasi - Gemstone Factory.milk b/presets/presets_milkdrop_104/Aderrasi - Gemstone Factory.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Gemstone Factory.milk rename to presets/presets_milkdrop_104/Aderrasi - Gemstone Factory.milk diff --git a/presets_milkdrop_104/Aderrasi - Graft (First Rate Heart).milk b/presets/presets_milkdrop_104/Aderrasi - Graft (First Rate Heart).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Graft (First Rate Heart).milk rename to presets/presets_milkdrop_104/Aderrasi - Graft (First Rate Heart).milk diff --git a/presets_milkdrop_104/Aderrasi - Gravity Lensing (Psycho Remorse).milk b/presets/presets_milkdrop_104/Aderrasi - Gravity Lensing (Psycho Remorse).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Gravity Lensing (Psycho Remorse).milk rename to presets/presets_milkdrop_104/Aderrasi - Gravity Lensing (Psycho Remorse).milk diff --git a/presets_milkdrop_104/Aderrasi - Hard Drink (Half-Infinitea).milk b/presets/presets_milkdrop_104/Aderrasi - Hard Drink (Half-Infinitea).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Hard Drink (Half-Infinitea).milk rename to presets/presets_milkdrop_104/Aderrasi - Hard Drink (Half-Infinitea).milk diff --git a/presets_milkdrop_104/Aderrasi - Kevlar Abyss.milk b/presets/presets_milkdrop_104/Aderrasi - Kevlar Abyss.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Kevlar Abyss.milk rename to presets/presets_milkdrop_104/Aderrasi - Kevlar Abyss.milk diff --git a/presets_milkdrop_104/Aderrasi - Limit Edition (Some Days).milk b/presets/presets_milkdrop_104/Aderrasi - Limit Edition (Some Days).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Limit Edition (Some Days).milk rename to presets/presets_milkdrop_104/Aderrasi - Limit Edition (Some Days).milk diff --git a/presets_milkdrop_104/Aderrasi - Madness Teaches us to Fly.milk b/presets/presets_milkdrop_104/Aderrasi - Madness Teaches us to Fly.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Madness Teaches us to Fly.milk rename to presets/presets_milkdrop_104/Aderrasi - Madness Teaches us to Fly.milk diff --git a/presets_milkdrop_104/Aderrasi - Negative Sun IV.milk b/presets/presets_milkdrop_104/Aderrasi - Negative Sun IV.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Negative Sun IV.milk rename to presets/presets_milkdrop_104/Aderrasi - Negative Sun IV.milk diff --git a/presets/presets_milkdrop_104/Aderrasi - Potion of Spirits.milk b/presets/presets_milkdrop_104/Aderrasi - Potion of Spirits.milk new file mode 100644 index 0000000000..d0ee419e1f --- /dev/null +++ b/presets/presets_milkdrop_104/Aderrasi - Potion of Spirits.milk @@ -0,0 +1,234 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=1.000000 +fVideoEchoZoom=0.999823 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.325446 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=2.630064 +fWarpScale=3.209168 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5= +per_frame_6=ob_r = ob_r+wave_b*above(sin(0.1*time),0); +per_frame_7=ob_b = ob_b+wave_g*above(sin(0.1*time),0); +per_frame_8=ob_g = ob_g+wave_r*above(sin(0.1*time),0); +per_frame_9=ob_r = ob_r+wave_g*below(sin(0.1*time),0); +per_frame_10=ob_b = ob_b+wave_r*below(sin(0.1*time),0); +per_frame_11=ob_g = ob_g+wave_b*below(sin(0.1*time),0); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.05*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.056*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 22*above(tg1,0.75) + 12*below(tg1,0.25) + 18*above(tg1,0.25)*below(tg1,0.5)+ +per_pixel_6=12*above(tg1,0.5)*below(tg1,0.75); +per_pixel_7=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_8= +per_pixel_9=six = sin(x); +per_pixel_10= +per_pixel_11=dx = dx + dx_r*sin(abs(tg3*y))*sin(time); +per_pixel_12=dy = dy + dy_r*sin(abs(tg3*x))*cos(time); +per_pixel_13=dx = dx + dx_r*pow(rad,y*2)*sin(time); +per_pixel_14=dy = dy + dy_r*pow(rad,x*2)*sin(time); +per_pixel_15=zoom = zoom - 0.0825*pow(rad,x*6)*cos(ang*6); +per_pixel_16=rot = rot - 0.0525*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets_milkdrop_104/Aderrasi - Pyrokinesis.milk b/presets/presets_milkdrop_104/Aderrasi - Pyrokinesis.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Pyrokinesis.milk rename to presets/presets_milkdrop_104/Aderrasi - Pyrokinesis.milk diff --git a/presets_milkdrop_104/Aderrasi - Songflower (Hybrid Plant).milk b/presets/presets_milkdrop_104/Aderrasi - Songflower (Hybrid Plant).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Songflower (Hybrid Plant).milk rename to presets/presets_milkdrop_104/Aderrasi - Songflower (Hybrid Plant).milk diff --git a/presets_milkdrop_104/Aderrasi - Songflower (Moss Posy).milk b/presets/presets_milkdrop_104/Aderrasi - Songflower (Moss Posy).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Songflower (Moss Posy).milk rename to presets/presets_milkdrop_104/Aderrasi - Songflower (Moss Posy).milk diff --git a/presets_milkdrop_104/Aderrasi - Soul Conductor.milk b/presets/presets_milkdrop_104/Aderrasi - Soul Conductor.milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Soul Conductor.milk rename to presets/presets_milkdrop_104/Aderrasi - Soul Conductor.milk diff --git a/presets_milkdrop_104/Aderrasi - Straight Tropical Coal (Elysium Channel).milk b/presets/presets_milkdrop_104/Aderrasi - Straight Tropical Coal (Elysium Channel).milk similarity index 100% rename from presets_milkdrop_104/Aderrasi - Straight Tropical Coal (Elysium Channel).milk rename to presets/presets_milkdrop_104/Aderrasi - Straight Tropical Coal (Elysium Channel).milk diff --git a/presets/presets_milkdrop_104/Aderrasi - ddummyy (04u0404).milk b/presets/presets_milkdrop_104/Aderrasi - ddummyy (04u0404).milk new file mode 100644 index 0000000000..cda05bc7d4 --- /dev/null +++ b/presets/presets_milkdrop_104/Aderrasi - ddummyy (04u0404).milk @@ -0,0 +1,266 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003910 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491381 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=6.283185 +shapecode_0_tex_zoom=1.503749 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = x + 0.12*sin(0.21*q4); +shape_0_per_frame2=y = y + 0.13*cos(0.178*q4); +shape_0_per_frame3=ang = ang + 0.21*time; +shape_0_per_frame4= +shape_0_per_frame5=shpt = above(bass_att,shpt)*2+(1-above(bass_att,shpt))*((shpt-1.3)*0.96+1.3); +shape_0_per_frame6=sdx_r = equal(shpt,2)*0.015*sin(5*time)+(1-equal(shpt,2))*sdx_r; +shape_0_per_frame7=sdy_r = equal(shpt,2)*0.015*sin(6*time)+(1-equal(shpt,2))*sdy_r; +shape_0_per_frame8=sg1 = abs(sin(1.63*time)); +shape_0_per_frame9=sg2 = 0.5*above(sg1,0.66) + 0.75*below(sg1,0.66)*above(sg1,0.33) + 1*above(sg1,0.66); +shape_0_per_frame10=sg3 = if(above(shpt,1.2),sg2,sg3); +shape_0_per_frame11= +shape_0_per_frame12=a = sg3; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.491381 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=6.283185 +shapecode_1_tex_zoom=1.503749 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = x + 0.21*cos(0.191*q4); +shape_1_per_frame2=y = y + 0.23*sin(0.218*q4); +shape_1_per_frame3=ang = ang + 0.21*time; +shape_1_per_frame4= +shape_1_per_frame5=shpt = above(bass_att,shpt)*2+(1-above(bass_att,shpt))*((shpt-1.3)*0.96+1.3); +shape_1_per_frame6=sdx_r = equal(shpt,2)*0.015*sin(5*time)+(1-equal(shpt,2))*sdx_r; +shape_1_per_frame7=sdy_r = equal(shpt,2)*0.015*sin(6*time)+(1-equal(shpt,2))*sdy_r; +shape_1_per_frame8=sg1 = abs(sin(1.63*time)); +shape_1_per_frame9=sg2 = 0.75*above(sg1,0.66) + 1*below(sg1,0.66)*above(sg1,0.33) + 0.5*above(sg1,0.66); +shape_1_per_frame10=sg3 = if(above(shpt,1.2),sg2,sg3); +shape_1_per_frame11= +shape_1_per_frame12=a = sg3; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_8=rg1 = abs(sin(time)); +per_frame_9=rg2 = 0*above(rg1,0.75) + 1*below(rg1,0.25) + 2*above(rg1,0.25)*below(rg1,0.5) +per_frame_10=+3*above(rg1,0.5)*below(rg1,0.75); +per_frame_11=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_12= +per_frame_13=q1 = wave_r; +per_frame_14=q2 = wave_g; +per_frame_15=q3 = wave_b; +per_frame_16= +per_frame_17=ib_g = q2; +per_frame_18=ib_r = 1-abs(q3); +per_frame_19=ib_b = 1-abs(q1); +per_frame_20= +per_frame_21=echo_orient = rg3; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(2.5*time)); +per_pixel_5=tg2 = 0.25*cos(2*ang)*above(tg1,0.75) + sin(0.5-rad)*below(tg1,0.25) + +per_pixel_6=0.2*cos(3*ang-cos(rad))*above(tg1,0.25)*below(tg1,0.5) + +per_pixel_7=0.2-sin(2*rad*ang/x)*above(tg1,0.5)*below(tg1,0.75); +per_pixel_8=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_9= +per_pixel_10= +per_pixel_11=zoom = zoom - abs(0.08*(0.5-rad)); +per_pixel_12=rot = rot + 0.5*tg3; +per_pixel_13=cx = cx - 0.0021*(tg3*x*time); +per_pixel_14=cy = cy - 0.0021*(tg3*y*time); diff --git a/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk b/presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk similarity index 100% rename from presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk rename to presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk diff --git a/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk b/presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk similarity index 100% rename from presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk rename to presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone Mad Mix).milk diff --git a/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Unknowable Mix 5).milk b/presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Unknowable Mix 5).milk similarity index 100% rename from presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Unknowable Mix 5).milk rename to presets/presets_milkdrop_104/Bmelgren & Krash - Rainbow Orb Peacock (Unknowable Mix 5).milk diff --git a/presets_milkdrop_104/Bmelgren - Acid Iris.milk b/presets/presets_milkdrop_104/Bmelgren - Acid Iris.milk similarity index 100% rename from presets_milkdrop_104/Bmelgren - Acid Iris.milk rename to presets/presets_milkdrop_104/Bmelgren - Acid Iris.milk diff --git a/presets_milkdrop_104/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_milkdrop_104/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk similarity index 100% rename from presets_milkdrop_104/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk rename to presets/presets_milkdrop_104/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk diff --git a/presets_milkdrop_104/BrainStain-114 outside.milk b/presets/presets_milkdrop_104/BrainStain-114 outside.milk similarity index 100% rename from presets_milkdrop_104/BrainStain-114 outside.milk rename to presets/presets_milkdrop_104/BrainStain-114 outside.milk diff --git a/presets_milkdrop_104/BrainStain-Blackwidow.milk b/presets/presets_milkdrop_104/BrainStain-Blackwidow.milk similarity index 100% rename from presets_milkdrop_104/BrainStain-Blackwidow.milk rename to presets/presets_milkdrop_104/BrainStain-Blackwidow.milk diff --git a/presets_milkdrop_104/BrainStain-projection room.milk b/presets/presets_milkdrop_104/BrainStain-projection room.milk similarity index 100% rename from presets_milkdrop_104/BrainStain-projection room.milk rename to presets/presets_milkdrop_104/BrainStain-projection room.milk diff --git a/presets_milkdrop_104/BrainStain-re entry.milk b/presets/presets_milkdrop_104/BrainStain-re entry.milk similarity index 100% rename from presets_milkdrop_104/BrainStain-re entry.milk rename to presets/presets_milkdrop_104/BrainStain-re entry.milk diff --git a/presets_milkdrop_104/CatalystTheElder - Geometric_Entertainment_Freaky_Geometry_phat_frame_rate_edit.milk b/presets/presets_milkdrop_104/CatalystTheElder - Geometric_Entertainment_Freaky_Geometry_phat_frame_rate_edit.milk similarity index 100% rename from presets_milkdrop_104/CatalystTheElder - Geometric_Entertainment_Freaky_Geometry_phat_frame_rate_edit.milk rename to presets/presets_milkdrop_104/CatalystTheElder - Geometric_Entertainment_Freaky_Geometry_phat_frame_rate_edit.milk diff --git a/presets_milkdrop_104/Che - Burning Hus.milk b/presets/presets_milkdrop_104/Che - Burning Hus.milk similarity index 100% rename from presets_milkdrop_104/Che - Burning Hus.milk rename to presets/presets_milkdrop_104/Che - Burning Hus.milk diff --git a/presets_milkdrop_104/Che - Escape.milk b/presets/presets_milkdrop_104/Che - Escape.milk similarity index 100% rename from presets_milkdrop_104/Che - Escape.milk rename to presets/presets_milkdrop_104/Che - Escape.milk diff --git a/presets_milkdrop_104/Che - Watch & Fly.milk b/presets/presets_milkdrop_104/Che - Watch & Fly.milk similarity index 100% rename from presets_milkdrop_104/Che - Watch & Fly.milk rename to presets/presets_milkdrop_104/Che - Watch & Fly.milk diff --git a/presets_milkdrop_104/DaNOnE - Highway to Heaven (rotating).milk b/presets/presets_milkdrop_104/DaNOnE - Highway to Heaven (rotating).milk similarity index 100% rename from presets_milkdrop_104/DaNOnE - Highway to Heaven (rotating).milk rename to presets/presets_milkdrop_104/DaNOnE - Highway to Heaven (rotating).milk diff --git a/presets_milkdrop_104/EMPR - Random - Look mama, I'm on TV! 2.milk b/presets/presets_milkdrop_104/EMPR - Random - Look mama, I'm on TV! 2.milk similarity index 100% rename from presets_milkdrop_104/EMPR - Random - Look mama, I'm on TV! 2.milk rename to presets/presets_milkdrop_104/EMPR - Random - Look mama, I'm on TV! 2.milk diff --git a/presets/presets_milkdrop_104/EoS + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk b/presets/presets_milkdrop_104/EoS + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk new file mode 100644 index 0000000000..b7cb971f58 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk @@ -0,0 +1,786 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.400000 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.951307 +fZoomExponent=1.001827 +fShader=0.500000 +zoom=0.999511 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=-0.010000 +mv_l=0.350000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=//wave1 +wave_0_per_point2=oldmd1=md1; +wave_0_per_point3=md1=(md1+rand(4))%4; +wave_0_per_point4=md1=if(equal(md1,oldmd1),(md1+1)%4,md1); +wave_0_per_point5= +wave_0_per_point6=mx1=mx1+(equal(md1,0)*.002*bass); +wave_0_per_point7=mx1=mx1-(equal(md1,1)*.002*bass); +wave_0_per_point8=my1=my1+(equal(md1,2)*.002*treb); +wave_0_per_point9=my1=my1-(equal(md1,3)*.002*treb); +wave_0_per_point10= +wave_0_per_point11=mx1=if(above(mx1,.99),.5,mx1); +wave_0_per_point12=mx1=if(below(mx1,.01),.5,mx1); +wave_0_per_point13=my1=if(above(my1,.99),.5,my1); +wave_0_per_point14=my1=if(below(my1,.01),.5,my1); +wave_0_per_point15= +wave_0_per_point16=//wave2 +wave_0_per_point17=oldmd2=md2; +wave_0_per_point18=md2=(md2+rand(4))%4; +wave_0_per_point19=md2=if(equal(md2,oldmd2),(md2+1)%4,md2); +wave_0_per_point20= +wave_0_per_point21=mx2=mx2+(equal(md2,0)*.002*bass); +wave_0_per_point22=mx2=mx2-(equal(md2,1)*.002*bass); +wave_0_per_point23=my2=my2+(equal(md2,2)*.002*treb); +wave_0_per_point24=my2=my2-(equal(md2,3)*.002*treb); +wave_0_per_point25= +wave_0_per_point26=mx2=if(above(mx2,.99),.5,mx2); +wave_0_per_point27=mx2=if(below(mx2,.01),.5,mx2); +wave_0_per_point28=my2=if(above(my2,.99),.5,my2); +wave_0_per_point29=my2=if(below(my2,.01),.5,my2); +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=f2=equal(frame%2,0); +wave_0_per_point33=x=(mx1*f2+mx2*(1-f2)); +wave_0_per_point34=y=(my1*f2+my2*(1-f2)); +wave_0_per_point35=a=bass*.1*q8; +wave_0_per_point36= +wave_0_per_point37= +wave_0_per_point38= +wave_0_per_point39=r=f2*bass+(1-f2)*sin(q3*treb); +wave_0_per_point40=g=f2*treb+(1-f2)*cos(q3*bass); +wave_0_per_point41=b=f2*(1-mid)+(1-f2)*sin(time*q4); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_frame1=r=0; +wave_1_per_frame2=g=0; +wave_1_per_frame3=b=0; +wave_1_per_point1=oldmd1=md1; +wave_1_per_point2=md1=(md1+rand(4))%4; +wave_1_per_point3=md1=if(equal(md1,oldmd1),(md1+1)%4,md1); +wave_1_per_point4= +wave_1_per_point5=mx1=mx1+(equal(md1,0)*.002*bass); +wave_1_per_point6=mx1=mx1-(equal(md1,1)*.002*bass); +wave_1_per_point7=my1=my1+(equal(md1,2)*.002*treb); +wave_1_per_point8=my1=my1-(equal(md1,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx1=if(above(mx1,.99),.5,mx1); +wave_1_per_point11=mx1=if(below(mx1,.01),.5,mx1); +wave_1_per_point12=my1=if(above(my1,.99),.5,my1); +wave_1_per_point13=my1=if(below(my1,.01),.5,my1); +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=oldmd2=md2; +wave_1_per_point17=md2=(md2+rand(4))%4; +wave_1_per_point18=md2=if(equal(md2,oldmd2),(md2+1)%4,md2); +wave_1_per_point19= +wave_1_per_point20=mx2=mx2+(equal(md2,0)*.002*bass); +wave_1_per_point21=mx2=mx2-(equal(md2,1)*.002*bass); +wave_1_per_point22=my2=my2+(equal(md2,2)*.002*treb); +wave_1_per_point23=my2=my2-(equal(md2,3)*.002*treb); +wave_1_per_point24= +wave_1_per_point25=mx2=if(above(mx2,.99),.5,mx2); +wave_1_per_point26=mx2=if(below(mx2,.01),.5,mx2); +wave_1_per_point27=my2=if(above(my2,.99),.5,my2); +wave_1_per_point28=my2=if(below(my2,.01),.5,my2); +wave_1_per_point29= +wave_1_per_point30= +wave_1_per_point31=f2=equal(frame%2,0); +wave_1_per_point32=x=mx1*f2+mx2*(1-f2); +wave_1_per_point33=y=my1*f2+my2*(1-f2); +wave_1_per_point34=a=q8; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_init1=mx=.5; +wave_2_per_frame1=r=0; +wave_2_per_frame2=g +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x1=xs+0.5; +wave_2_per_point76=y1=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=phs=-sample * 0.4 ; +wave_2_per_point80=tm=q1 + phs*2 - 0.01; +wave_2_per_point81= +wave_2_per_point82=flip=flip+1; +wave_2_per_point83=flip=flip*below(flip,2); +wave_2_per_point84= +wave_2_per_point85=xp=0; +wave_2_per_point86=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point87=zp=0; +wave_2_per_point88= +wave_2_per_point89=//spin; +wave_2_per_point90=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_2_per_point91=sa=sin(ang);ca=cos(ang); +wave_2_per_point92=xr=xp*sa + yp*ca; +wave_2_per_point93=yr=xp*ca - yp*sa; +wave_2_per_point94=zr=zp; +wave_2_per_point95= +wave_2_per_point96=xp=xr; +wave_2_per_point97=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point98=zp=zr; +wave_2_per_point99= +wave_2_per_point100=//wrist movement; +wave_2_per_point101=ang=sin(tm*2); +wave_2_per_point102= +wave_2_per_point103=xq=xp; +wave_2_per_point104=sa=sin(ang);ca=cos(ang); +wave_2_per_point105=yq=yp*sa + zp*ca; +wave_2_per_point106=zq=yp*ca - zp*sa; +wave_2_per_point107= +wave_2_per_point108= +wave_2_per_point109=ang=tm*8; +wave_2_per_point110=sa=sin(ang);ca=cos(ang); +wave_2_per_point111=xp=xq*sa + yq*ca; +wave_2_per_point112=yp=xq*ca - yq*sa; +wave_2_per_point113=zp=zq; +wave_2_per_point114= +wave_2_per_point115=//forearm movement; +wave_2_per_point116=zp=zp-0.3; +wave_2_per_point117=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point118=xq=xp; +wave_2_per_point119=sa=sin(ang);ca=cos(ang); +wave_2_per_point120=yq=yp*sa + zp*ca; +wave_2_per_point121=zq=yp*ca - zp*sa; +wave_2_per_point122= +wave_2_per_point123=//upper arm twist +wave_2_per_point124=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point125=xp=xq*sa + yq*ca; +wave_2_per_point126=yp=xq*ca - yq*sa; +wave_2_per_point127=zp=zq; +wave_2_per_point128= +wave_2_per_point129=//upper arm outward; +wave_2_per_point130=zp=zp-0.35; +wave_2_per_point131=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point132=sa=sin(ang);ca=cos(ang); +wave_2_per_point133=xq=xp*sa + zp*ca; +wave_2_per_point134=yq=yp; +wave_2_per_point135=zq=xp*ca - zp*sa; +wave_2_per_point136= +wave_2_per_point137=//upper arm up down; +wave_2_per_point138=ang=cos(tm); +wave_2_per_point139=xp=xq; +wave_2_per_point140=sa=sin(ang);ca=cos(ang); +wave_2_per_point141=yp=yq*ca - zq*sa; +wave_2_per_point142=zp=yq*sa + zq*ca; +wave_2_per_point143= +wave_2_per_point144=//xp=xq;yp=yq;zp=zq; +wave_2_per_point145= +wave_2_per_point146= +wave_2_per_point147=//project into screenspace and draw on screen +wave_2_per_point148=zp=zp+1.5; +wave_2_per_point149=xs=xp/zp; +wave_2_per_point150=ys=yp/zp; +wave_2_per_point151= +wave_2_per_point152=x2=xs+0.5; +wave_2_per_point153=y2=ys*1.3+0.5; +wave_2_per_point154= +wave_2_per_point155= +wave_2_per_point156= +wave_2_per_point157=a=q7*(1.2-sample); +wave_2_per_point158= +wave_2_per_point159=f2=equal(frame%2,0); +wave_2_per_point160=x=x1*f2+x2*(1-f2); +wave_2_per_point161=y=y1*f2+y2*(1-f2); +wave_2_per_point162= +wave_2_per_point163= +wave_2_per_point164=rr=rr+q5*.2; +wave_2_per_point165=gg=gg+q5*bass*.1; +wave_2_per_point166=bb=bb+q5*treb*.1+q2*bass; +wave_2_per_point167= +wave_2_per_point168=r=f2*sin(rr); +wave_2_per_point169=g=f2*sin(gg); +wave_2_per_point170=b=f2*sin(bb); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.720000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_init1=mx=.5; +wave_3_per_frame1=r=0; +wave_3_per_frame2=g +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.02; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x1=xs+0.5; +wave_3_per_point76=y1=ys*1.3+0.5; +wave_3_per_point77=phs=-sample * 0.4 ; +wave_3_per_point78=tm=q1 + phs*2 - 0.03; +wave_3_per_point79= +wave_3_per_point80=flip=flip+1; +wave_3_per_point81=flip=flip*below(flip,2); +wave_3_per_point82= +wave_3_per_point83=xp=0; +wave_3_per_point84=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point85=zp=0; +wave_3_per_point86= +wave_3_per_point87=//spin; +wave_3_per_point88=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point89=sa=sin(ang);ca=cos(ang); +wave_3_per_point90=xr=xp*sa + yp*ca; +wave_3_per_point91=yr=xp*ca - yp*sa; +wave_3_per_point92=zr=zp; +wave_3_per_point93= +wave_3_per_point94=xp=xr; +wave_3_per_point95=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point96=zp=zr; +wave_3_per_point97= +wave_3_per_point98=//wrist movement; +wave_3_per_point99=ang=sin(tm*2); +wave_3_per_point100= +wave_3_per_point101=xq=xp; +wave_3_per_point102=sa=sin(ang);ca=cos(ang); +wave_3_per_point103=yq=yp*sa + zp*ca; +wave_3_per_point104=zq=yp*ca - zp*sa; +wave_3_per_point105= +wave_3_per_point106= +wave_3_per_point107=ang=tm*8; +wave_3_per_point108=sa=sin(ang);ca=cos(ang); +wave_3_per_point109=xp=xq*sa + yq*ca; +wave_3_per_point110=yp=xq*ca - yq*sa; +wave_3_per_point111=zp=zq; +wave_3_per_point112= +wave_3_per_point113=//forearm movement; +wave_3_per_point114=zp=zp-0.3; +wave_3_per_point115=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point116=xq=xp; +wave_3_per_point117=sa=sin(ang);ca=cos(ang); +wave_3_per_point118=yq=yp*sa + zp*ca; +wave_3_per_point119=zq=yp*ca - zp*sa; +wave_3_per_point120= +wave_3_per_point121=//upper arm twist +wave_3_per_point122=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point123=xp=xq*sa + yq*ca; +wave_3_per_point124=yp=xq*ca - yq*sa; +wave_3_per_point125=zp=zq; +wave_3_per_point126= +wave_3_per_point127=//upper arm outward; +wave_3_per_point128=zp=zp-0.35; +wave_3_per_point129=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point130=sa=sin(ang);ca=cos(ang); +wave_3_per_point131=xq=xp*sa + zp*ca; +wave_3_per_point132=yq=yp; +wave_3_per_point133=zq=xp*ca - zp*sa; +wave_3_per_point134= +wave_3_per_point135=//upper arm up down; +wave_3_per_point136=ang=cos(tm); +wave_3_per_point137=xp=xq; +wave_3_per_point138=sa=sin(ang);ca=cos(ang); +wave_3_per_point139=yp=yq*ca - zq*sa; +wave_3_per_point140=zp=yq*sa + zq*ca; +wave_3_per_point141= +wave_3_per_point142=//xp=xq;yp=yq;zp=zq; +wave_3_per_point143= +wave_3_per_point144= +wave_3_per_point145=//project into screenspace and draw on screen +wave_3_per_point146=zp=zp+1.5; +wave_3_per_point147=xs=xp/zp; +wave_3_per_point148=ys=yp/zp; +wave_3_per_point149= +wave_3_per_point150=x2=xs+0.5; +wave_3_per_point151=y2=ys*1.3+0.5; +wave_3_per_point152= +wave_3_per_point153= +wave_3_per_point154=a=q7*(1-sample); +wave_3_per_point155= +wave_3_per_point156= +wave_3_per_point157=f2=equal(frame%2,0); +wave_3_per_point158=x=x1*f2+x2*(1-f2); +wave_3_per_point159=y=y1*f2+y2*(1-f2); +wave_3_per_point160= +wave_3_per_point161=r=f2*bass_att; +wave_3_per_point162=g=f2*sin(q3); +wave_3_per_point163=b=f2*mid; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.301767 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.800000 +shapecode_0_border_g=0.800000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76=border_a=q7; +shape_0_per_frame77=a=0.7*q7; +shape_0_per_frame78= +shape_0_per_frame79= +shape_0_per_frame80=// This is the version you should use... +shape_0_per_frame81=// ----------- start copying ----------- +shape_0_per_frame82=hue=hue*(1-q5)+q5*(bass-treb*mid)*q4; // change this +shape_0_per_frame83=h=6*(hue-int(hue)); +shape_0_per_frame84=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_0_per_frame85=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_0_per_frame86=r1=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +shape_0_per_frame87=g1=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +shape_0_per_frame88=b1=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +shape_0_per_frame89=// ----------- end ---------------- +shape_0_per_frame90= +shape_0_per_frame91=border_r=r1; +shape_0_per_frame92=border_g=g1; +shape_0_per_frame93=border_b=b1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=1; +per_frame_init_4=bbtime=1; +per_frame_init_5=lbbtime=1; +per_frame_init_6=avgdb=1; +per_frame_init_7=bc=1; +per_frame_1=db=bass-lbass; +per_frame_2=lbass=bass; +per_frame_3=vol=1+bass+mid+treb; +per_frame_4= +per_frame_5= +per_frame_6=maxdb=max(maxdb*.9999,abs(db)); +per_frame_7=rs=above(abs(db),maxdb); +per_frame_8=drs=1-rs; +per_frame_9= +per_frame_10=beatrate=1*rs+beatrate*drs; +per_frame_11=avgbeatrate=1*rs+avgbeatrate*drs; +per_frame_12=bbtime=1*rs+bbtime*drs; +per_frame_13=lbbtime=1*rs+lbbtime*drs; +per_frame_14=avgdb=1*rs+avgdb*drs; +per_frame_15=bc=bc*drs+1*rs; +per_frame_16= +per_frame_17=avgdb=avgdb*.999+abs(db)*.001; +per_frame_18= +per_frame_19=rawbeatb=above(db,avgdb*1.3); +per_frame_20=beatb=rawbeatb*above(time-lbbtime,.5*avgbeatrate); +per_frame_21= +per_frame_22= +per_frame_23=bbtime=time*beatb; +per_frame_24=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_25=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_26= +per_frame_27=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_28=cc=bc+beatb; +per_frame_29= +per_frame_30=q5=beatb; +per_frame_31=q1=time*.001*avgdb*avgbeatrate; +per_frame_32=q2=equal(bc%4,0)*beatb; +per_frame_33=q3=bc; +per_frame_34=q4=60/avgbeatrate; +per_frame_35=monitor=bc; +per_frame_36=decay=1; +per_frame_37=warp=0; +per_frame_38=wrap=1; +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42=cr1=cr1*(1-q2)+(1-cr1)*q2; +per_frame_43=cr2=cr2*(1-q2)+(1-cr2)*q2; +per_frame_44=q6=cr2; +per_frame_45=q8=cr1; +per_frame_46=q7=1-cr1; +per_frame_47=q6=sin(time*q4*.1); +per_frame_48= +per_frame_49=cc=sin(bc*.3); +per_frame_50=zoomexp=150*(1-cc)+cc*.1; +per_pixel_1=c1=q6; +per_pixel_2= +per_pixel_3=zoom=(1+sin(q3*bass_att)*.005)*c1+(1-c1); +per_pixel_4=rot=sin(time*q4*.1)*.1*(1-rad)*c1; +per_pixel_5=cx=(sin(time*q4*rad)*.5*bass_att+.5)*c1; +per_pixel_6=cy=(cos(time*q4*rad)*.5*bass_att+.5)*c1; diff --git a/presets/presets_milkdrop_104/EoS + Phat - CAT Scan (Nirvana flux).milk b/presets/presets_milkdrop_104/EoS + Phat - CAT Scan (Nirvana flux).milk new file mode 100644 index 0000000000..0a6ab1087e --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - CAT Scan (Nirvana flux).milk @@ -0,0 +1,445 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=0.020000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2=r=q1; +shape_2_per_frame3=g=q2; +shape_2_per_frame4=b=q3; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1= +per_frame_2=vol=(bass+mid+treb)*0.25; +per_frame_3=vol=vol*vol; +per_frame_4=mtime=mtime+vol*0.018; +per_frame_5=q7=mtime; +per_frame_6=q8=vol; +per_frame_7= +per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; +per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; +per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; +per_frame_11= +per_frame_12=q1=r; +per_frame_13=q2=g; +per_frame_14=q3=b; +per_frame_15=mv_x=sin(mtime*0.25)*6+9; +per_frame_16=mv_y=sin(mtime*0.25)*6+9; +per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; +per_frame_18= +per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; +per_pixel_1=flux=sin(time*0.3)*2; +per_pixel_2=zoom=-1.02 + rad*(9+flux); +per_pixel_3= +per_pixel_4=//rot=rad*500; diff --git a/presets/presets_milkdrop_104/EoS + Phat - CAT Scan.milk b/presets/presets_milkdrop_104/EoS + Phat - CAT Scan.milk new file mode 100644 index 0000000000..ae5addc160 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - CAT Scan.milk @@ -0,0 +1,443 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2=r=q1; +shape_2_per_frame3=g=q2; +shape_2_per_frame4=b=q3; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1= +per_frame_2=vol=(bass+mid+treb)*0.25; +per_frame_3=vol=vol*vol; +per_frame_4=mtime=mtime+vol*0.018*(75/fps); +per_frame_5=q7=mtime; +per_frame_6=q8=vol; +per_frame_7= +per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; +per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; +per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; +per_frame_11= +per_frame_12=q1=r; +per_frame_13=q2=g; +per_frame_14=q3=b; +per_frame_15=mv_x=sin(mtime*0.25)*6+9; +per_frame_16=mv_y=sin(mtime*0.25)*6+9; +per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; +per_frame_18= +per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_milkdrop_104/EoS + Phat - chasers 08 nematode_Teal_mix.milk b/presets/presets_milkdrop_104/EoS + Phat - chasers 08 nematode_Teal_mix.milk new file mode 100644 index 0000000000..f76cfb5afb --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - chasers 08 nematode_Teal_mix.milk @@ -0,0 +1,549 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996627 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.110000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+2; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*23; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+2; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(1-sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*19; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+2; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.3-0.15)*(1-sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*3; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+2; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.375614 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.251327 +shapecode_0_tex_zoom=0.498311 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01*(50/fps); +per_frame_7= +per_frame_8=q1=time*0.3; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_pixel_1=zm=-1.015+(rad/(bass*60)); +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_104/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk b/presets/presets_milkdrop_104/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk new file mode 100644 index 0000000000..d0e483b29b --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk @@ -0,0 +1,638 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.301767 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.610000 +shapecode_1_y=0.890000 +shapecode_1_rad=0.583240 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.691361 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=x= x+ sin((q1+2))*0.1; +shape_1_per_frame3=ang = ang+ sin(q1*1.4)*0.5 +shapecode_2_enabled=0 +shapecode_2_sides=25 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.230000 +shapecode_2_y=0.830000 +shapecode_2_rad=0.217303 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = time/10; +shape_2_per_frame2=x= x+ sin(q1)*0.1 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.610000 +shapecode_3_y=0.890000 +shapecode_3_rad=0.271083 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.691361 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.560000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=x= x+ sin((q1+2))*0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0.8; +per_frame_init_7=dcsp=0.4 +per_frame_init_8= +per_frame_1=dcsp = dcsp + 0.01; +per_frame_2=decay=min(dcsp,1); +per_frame_3=monitor=decay; +per_frame_4= +per_frame_5=vol=(bass+mid+treb)*0.25; +per_frame_6=vol=vol*vol; +per_frame_7= +per_frame_8=mtime=mtime+vol*0.01*(70/fps); +per_frame_9= +per_frame_10=q1=mtime*0.75; +per_frame_11= +per_frame_12= +per_frame_13=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_14= +per_frame_15=warp=vol*0.05; +per_frame_16= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_104/EoS + Phat - chasers 14 sentinel 616.milk b/presets/presets_milkdrop_104/EoS + Phat - chasers 14 sentinel 616.milk new file mode 100644 index 0000000000..37765581d6 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - chasers 14 sentinel 616.milk @@ -0,0 +1,627 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample)*0.4; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995947 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.905280 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01*(50/fps); +per_frame_7= +per_frame_8=q1=mtime*1.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=2 +per_frame_12= +per_pixel_1=zm=-1.0+(bass*0.01); +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_104/EoS + Phat - chasers 18 hallway.milk b/presets/presets_milkdrop_104/EoS + Phat - chasers 18 hallway.milk new file mode 100644 index 0000000000..54cabc29ca --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - chasers 18 hallway.milk @@ -0,0 +1,633 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.761306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_104/EoS + Phat - chasers 19 Portal.milk b/presets/presets_milkdrop_104/EoS + Phat - chasers 19 Portal.milk new file mode 100644 index 0000000000..eb4c6d5835 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - chasers 19 Portal.milk @@ -0,0 +1,643 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=6.600763 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm) + 1; +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.254805 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.294082 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=(sin(time/2)*0.5+0.5)*0.6+0.1; +shape_1_per_frame2=tex_ang=cos(time); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.081954 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.089248 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_init1=start = 1; +shape_3_per_frame1=start = start - 0.02; +shape_3_per_frame2=start = max(start,0); +shape_3_per_frame3= +shape_3_per_frame4=a=start; +shape_3_per_frame5=a2=start; +shape_3_per_frame6= +shape_3_per_frame7=rad = if( equal(start,0) , 0.05 , rad ); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=//gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_104/EoS + Phat - cubetrace - v2.milk b/presets/presets_milkdrop_104/EoS + Phat - cubetrace - v2.milk new file mode 100644 index 0000000000..eb27894865 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS + Phat - cubetrace - v2.milk @@ -0,0 +1,533 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.050000 +wavecode_0_g=0.090000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=t1=q1*0.25; +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//rotate +wave_0_per_point16=ang=t1; +wave_0_per_point17=sang=sin(ang);cang=cos(ang); +wave_0_per_point18=xq=xp*sang + zp*cang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=xp*cang - zp*sang; +wave_0_per_point21=xp=xq;yp=yq;zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate +wave_0_per_point24=ang=t1*0.75; +wave_0_per_point25=sang=sin(ang);cang=cos(ang); +wave_0_per_point26=xq=xp; +wave_0_per_point27=yq=yp*sang + zp*cang; +wave_0_per_point28=zq=yp*cang - zp*sang; +wave_0_per_point29=xp=xq;yp=yq;zp=zq; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=zp= zp+2; +wave_0_per_point33=x= xp/zp + 0.5; +wave_0_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.500000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.194774 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000001 +shapecode_0_r2=0.630000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.070000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.043785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.300000 +shapecode_1_g=0.600000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=1 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.284278 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.230000 +shapecode_2_g2=0.540000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.800000 +shapecode_2_border_b=0.400000 +shapecode_2_border_a=0.450000 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.158045 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.300000 +shapecode_3_g=0.600000 +shapecode_3_b=1.000000 +shapecode_3_a=0.140001 +shapecode_3_r2=0.400000 +shapecode_3_g2=0.500000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =4; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.005; +per_frame_3= +per_frame_4= +per_frame_5=vol= (bass+mid+treb)*0.25; +per_frame_6=vol = vol*vol; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=mtime=mtime+vol*0.01*(75/fps); +per_frame_10= +per_frame_11=q7 = mtime; +per_frame_12= +per_frame_13=monitor=512/8; +per_frame_14= +per_frame_15=warp=0; +per_frame_16=q1=mtime*0.9; +per_frame_17= +per_frame_18=beat = above(vol,1); +per_frame_19=bc = max(bc,0); +per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_21= +per_frame_22=trigger = equal(bc,1); +per_frame_23= +per_frame_24=monitor=size; +per_frame_25= +per_frame_26=size = size + trigger; +per_frame_27=size = if( above(size,10) , 4 , size ); +per_frame_28= +per_frame_29= +per_frame_30=q2=int(size); //cubesize +per_frame_31= +per_frame_32= +per_frame_33= diff --git a/presets/presets_milkdrop_104/EoS - angels of decay.milk b/presets/presets_milkdrop_104/EoS - angels of decay.milk new file mode 100644 index 0000000000..4fe0082cac --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - angels of decay.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=smp=sample; +wave_0_per_point2=tm=time*0.24; +wave_0_per_point3= +wave_0_per_point4=xp=sin(tm+smp)*0.2 + sin(smp*16.3)*0.2; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=yp=cos(tm+smp)*0.2 + sin(tm+smp*17)*0.2 + cos(smp*54)*0.1; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10=x=xp+0.5; +wave_0_per_point11=y=yp+0.5; +wave_0_per_point12=r=0.3; +wave_0_per_point13=g=0.4; +wave_0_per_point14=b=0.5; +wave_0_per_point15=a=0.3; +wave_0_per_point16= +wave_0_per_point17=ends=sin(sample*3.1415 )*4; +wave_0_per_point18=ends=if ( above(ends,1), 1, ends); +wave_0_per_point19=a=a*ends +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.966656 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad-mid*mid*0.1; +shape_0_per_frame2=ang=treb*treb*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.281464 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.900000 +shapecode_1_b=0.700000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.900000 +shapecode_1_g2=0.700000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=bass*bass*0.25; +shape_1_per_frame2=a=bass*bass*0.12 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5= +per_frame_6= diff --git a/presets/presets_milkdrop_104/EoS - dark side of the moon (plus a few more hits and a pill).milk b/presets/presets_milkdrop_104/EoS - dark side of the moon (plus a few more hits and a pill).milk new file mode 100644 index 0000000000..e250d799c4 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - dark side of the moon (plus a few more hits and a pill).milk @@ -0,0 +1,260 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.000000 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.160000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=qtime=qtime+q1; +shape_0_per_frame2=x=0.5 + sin(qtime/38)/3; +shape_0_per_frame3=y=0.5 + cos(qtime/38)/3; +shape_0_per_frame4=rad=q1/2;; +shape_0_per_frame5=ang=q1*4 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=qtime=qtime+q2; +shape_1_per_frame2=x=0.5 + sin(qtime/38)/3.3; +shape_1_per_frame3=y=0.5 + cos(qtime/38)/3.3; +shape_1_per_frame4= +shape_1_per_frame5=rad=q2/2; +shape_1_per_frame6=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=qtime=qtime+q3; +shape_2_per_frame2=x=0.5 + sin(qtime/38)/3.8; +shape_2_per_frame3=y=0.5 + cos(qtime/38)/3.8; +shape_2_per_frame4= +shape_2_per_frame5=rad=q3/2; +shape_2_per_frame6=ang=q3*5 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.499999 +shapecode_3_y=0.500000 +shapecode_3_rad=0.849364 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.712971 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.070000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.370000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.150000 +shape_3_per_frame1=ang=time/2; +shape_3_per_frame2=r2=sin(time)*0.5 + 0.5; +shape_3_per_frame3=g2=sin(time + 3.14*0.33)*0.5 + 0.5; +shape_3_per_frame4=b2=sin(time + 3.14*0.66)*0.5 + 0.5; +shape_3_per_frame5=fls=sin(time/1)*0.5+0.6; +shape_3_per_frame6=flip=(flip+fls) * below(flip,1.1); +shape_3_per_frame7=additive=flip; +shape_3_per_frame8= +shape_3_per_frame9=br=(sin(time/1) ) * 16; +shape_3_per_frame10=brr=-1+br; +shape_3_per_frame11=sides= min( max(brr,3), 8); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; diff --git a/presets/presets_milkdrop_104/EoS - glowsticks v2 03 music.milk b/presets/presets_milkdrop_104/EoS - glowsticks v2 03 music.milk new file mode 100644 index 0000000000..469dfb3f77 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - glowsticks v2 03 music.milk @@ -0,0 +1,540 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_milkdrop_104/EoS - glowsticks v2 04 music minimal.milk b/presets/presets_milkdrop_104/EoS - glowsticks v2 04 music minimal.milk new file mode 100644 index 0000000000..57e39cd8b9 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - glowsticks v2 04 music minimal.milk @@ -0,0 +1,541 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10=warp=0 +per_frame_11= +per_frame_12= diff --git a/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk new file mode 100644 index 0000000000..d21d0fc8ef --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk @@ -0,0 +1,682 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(time)*treb*treb; +per_pixel_3= +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk new file mode 100644 index 0000000000..f49494e192 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk @@ -0,0 +1,694 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.105000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.055000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.4*flip*(37/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_32=cy=sin(mtime*0.33); +per_frame_33=cys=sign(cy); +per_frame_34=cy=cy*cy*cys; +per_frame_35=cy=cy*0.4+0.5; +per_frame_36= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb*treb; +per_pixel_3=var=-2*treb*treb*0.75; +per_pixel_4= +per_pixel_5=rdd=max( abs(x-0.5) , abs(y-0.5) )*4; +per_pixel_6=zm=1+(rdd/40)+(var/40); +per_pixel_7= +per_pixel_8=sx=zm; +per_pixel_9=sy=zm; +per_pixel_10=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk new file mode 100644 index 0000000000..81a47fa19e --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_milkdrop_104/EoS - heater core C_Phat's_class + sparks_mix.milk b/presets/presets_milkdrop_104/EoS - heater core C_Phat's_class + sparks_mix.milk new file mode 100644 index 0000000000..801e5d1172 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - heater core C_Phat's_class + sparks_mix.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.150000 +wavecode_3_a=1.000000 +wave_3_per_frame1=spark=rand(40); +wave_3_per_frame2=spark= above(spark,37); +wave_3_per_frame3= +wave_3_per_frame4=t1=spark; +wave_3_per_frame5=t2=0; +wave_3_per_frame6=t3=0; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=offran=1-t1*0.1; +wave_3_per_point3=sparkcycle=above( sin(n*2) , 0); +wave_3_per_point4= +wave_3_per_point5=zran=(rand(8) - 4); +wave_3_per_point6=xran=(rand(8) - 4); +wave_3_per_point7=yran=(rand(8) - 4); +wave_3_per_point8=alp=min( 1-abs(zran*0.25), min( 1-abs(xran*0.25),1-abs(yran*0.25) )); +wave_3_per_point9=alp=alp*alp; +wave_3_per_point10=a=alp*(1-t1) + t1; +wave_3_per_point11=zran=zran*0.001*offran; +wave_3_per_point12=xran=xran*0.001*offran; +wave_3_per_point13=yran=yran*0.001*offran; +wave_3_per_point14= +wave_3_per_point15=xseed=sin(sample*3.14+time*15)+sin(sample*11)*0.4; +wave_3_per_point16=yseed=cos(sample*3.14+time*9)+sin(sample*17+time)*0.4; +wave_3_per_point17=t2=t2+xseed*sparkcycle; +wave_3_per_point18=t3=t3+yseed*sparkcycle; +wave_3_per_point19=xspark=t2*0.002; +wave_3_per_point20=yspark=t3*0.008; +wave_3_per_point21= +wave_3_per_point22=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point23=zp=sin(time)+ zran; +wave_3_per_point24=zp=zp + yspark*t1*sparkcycle; +wave_3_per_point25= +wave_3_per_point26=aflux=sin(zp*3.14 + 3.14); +wave_3_per_point27=xp=sin(n)*0.1*aflux + xran; +wave_3_per_point28=xp=xp + xspark*t1*sparkcycle; +wave_3_per_point29=yp=cos(n)*0.1*aflux + yran; +wave_3_per_point30= +wave_3_per_point31=//rotate on y +wave_3_per_point32=ang=(q7+time*0.01)*0.2; +wave_3_per_point33=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point34=yp2=yp; +wave_3_per_point35=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point36= +wave_3_per_point37=//rotate on x +wave_3_per_point38=ang=(q7+time*0.01)*0.3; +wave_3_per_point39=xp3=xp2; +wave_3_per_point40=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point41=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=xp=xp3; +wave_3_per_point45=yp=yp3; +wave_3_per_point46=zp=zp3; +wave_3_per_point47= +wave_3_per_point48=zp=zp+2.1; +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=xs=xs+0.5; +wave_3_per_point51=ys=yp/zp; +wave_3_per_point52=ys=ys*1.3 + 0.5; +wave_3_per_point53= +wave_3_per_point54=x=xs; +wave_3_per_point55=y=ys; +wave_3_per_point56= +wave_3_per_point57= +wave_3_per_point58= +wave_3_per_point59= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=mtime=mtime+vol*0.018*(70/fps); +per_frame_6=q7=mtime; +per_frame_7=q8=vol +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_milkdrop_104/EoS - heater core C_Phat's_on route_mix+beam.milk b/presets/presets_milkdrop_104/EoS - heater core C_Phat's_on route_mix+beam.milk new file mode 100644 index 0000000000..ea9baa3e4b --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - heater core C_Phat's_on route_mix+beam.milk @@ -0,0 +1,453 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.180000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen +per_frame_20= +per_frame_21= +per_frame_22=decay=1; +per_frame_23= +per_frame_24=vol=(bass+mid+treb)*0.25; +per_frame_25=vol=vol*vol; +per_frame_26=mtime=mtime+vol*0.018*(68/fps); +per_frame_27=q7=mtime; +per_frame_28=q8=vol +per_pixel_1=zoom=-1.02 + ((rad*(treb*10))*(bass*bass)); diff --git a/presets/presets_milkdrop_104/EoS - multisphere 01 B_Phat_Ra_mix.milk b/presets/presets_milkdrop_104/EoS - multisphere 01 B_Phat_Ra_mix.milk new file mode 100644 index 0000000000..ac041c4a85 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - multisphere 01 B_Phat_Ra_mix.milk @@ -0,0 +1,347 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.350000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.200000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=ang=int(sample*12)/12 * 6.283; +wave_0_per_point3=ps=time*0.1; +wave_0_per_point4= +wave_0_per_point5=//circle; +wave_0_per_point6=xp=sin(n*12+ps)*0.5; +wave_0_per_point7=yp=cos(n*12+ps)*0.5; +wave_0_per_point8=zp=2 + q1*0.03; +wave_0_per_point9= +wave_0_per_point10=//positions on y axis +wave_0_per_point11=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point12=yq=yp; +wave_0_per_point13=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point14= +wave_0_per_point15=//rotate on x; +wave_0_per_point16=xp=xq; +wave_0_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_0_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_0_per_point19= +wave_0_per_point20=//rotate on z; +wave_0_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_0_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_0_per_point23=zq=zp; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=xp=xq; +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=zp=zp+8; +wave_0_per_point31=xs=xp/zp; +wave_0_per_point32=ys=yp/zp; +wave_0_per_point33= +wave_0_per_point34=x=xs+0.5; +wave_0_per_point35=y=ys*1.3+0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.500000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=ang=int(sample*12)/12 * 6.283; +wave_1_per_point3=ps=time*0.1; +wave_1_per_point4= +wave_1_per_point5=//circle; +wave_1_per_point6=xp=sin(n*12+ps)*0.5; +wave_1_per_point7=yp=cos(n*12+ps)*0.5; +wave_1_per_point8=zp=2 + q1*0.03; +wave_1_per_point9= +wave_1_per_point10=//positions on x axis +wave_1_per_point11=xq=xp; +wave_1_per_point12=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point13=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point14= +wave_1_per_point15=//rotate on x; +wave_1_per_point16=xp=xq; +wave_1_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_1_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_1_per_point19= +wave_1_per_point20=//rotate on z; +wave_1_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_1_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=xp=xq; +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=zp=zp+8; +wave_1_per_point31=xs=xp/zp; +wave_1_per_point32=ys=yp/zp; +wave_1_per_point33= +wave_1_per_point34=x=xs+0.5; +wave_1_per_point35=y=ys*1.3+0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3=flip=flip+1; +wave_3_per_point4=flip=flip*below(flip,2); +wave_3_per_point5= +wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_3_per_point7= +wave_3_per_point8=xp=sin(n+phase)*flip; +wave_3_per_point9=yp=cos(n+phase)*flip; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//rotate on y during draw +wave_3_per_point13=ang=n*2+phase*0.2; +wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yq=yp; +wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=r1=0.1;g1=0.6;b1=1; +wave_3_per_point19=r2=1.0;g2=0.7;b2=0.1; +wave_3_per_point20=fade=xq*0.5 + 0.5; +wave_3_per_point21=r=r1*fade + r2*(1-fade); +wave_3_per_point22=g=g1*fade + g2*(1-fade); +wave_3_per_point23=b=b1*fade + b2*(1-fade); +wave_3_per_point24= +wave_3_per_point25=//rotation; +wave_3_per_point26=ang=time*0.1; +wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point28=yp=yq; +wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point30= +wave_3_per_point31=ang=time*0.17; +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=//push into viewspace +wave_3_per_point38=zq=zq+3.1; +wave_3_per_point39= +wave_3_per_point40= +wave_3_per_point41=//project into screenspace +wave_3_per_point42=xs=xq/zq; +wave_3_per_point43=ys=yq/zq; +wave_3_per_point44= +wave_3_per_point45= +wave_3_per_point46=x=xs+0.5; +wave_3_per_point47=y=ys*1.3+0.5; +wave_3_per_point48=a=(1-flip)*0.03*q1; +wave_3_per_point49= +wave_3_per_point50= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.986086 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.030301 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986086 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=1.030296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=-1.01; +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=q1=vol; +per_frame_6= +per_frame_7=mtime=mtime+vol*0.01*(53/fps); +per_frame_8=q2=mtime*0.25; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_milkdrop_104/EoS - nematodes E daemon.milk b/presets/presets_milkdrop_104/EoS - nematodes E daemon.milk new file mode 100644 index 0000000000..0d1fb86a04 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - nematodes E daemon.milk @@ -0,0 +1,362 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=repeats=10; +wave_0_per_point2=samplerepeat=sample*repeats; +wave_0_per_point3=cycle=int(samplerepeat); +wave_0_per_point4=sampcyc=samplerepeat - cycle; +wave_0_per_point5=cycleto1=cycle/repeats; +wave_0_per_point6= +wave_0_per_point7=n=sampcyc*6.283; +wave_0_per_point8=phs=sampcyc; +wave_0_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_0_per_point10=tmm=time; +wave_0_per_point11=rsample=(1-sampcyc*0.9)*2.2*(cycleto1+1); +wave_0_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_0_per_point13=a=a*a; +wave_0_per_point14= +wave_0_per_point15=//waving +wave_0_per_point16=tmc=tm+cycle-phs*0.2; +wave_0_per_point17=variation=sin(cycleto1*6.283)*9; +wave_0_per_point18=swap=above(sample,0.5)*2-1; +wave_0_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point21= +wave_0_per_point22=xp=sin(tm)*0.4 ; +wave_0_per_point23=yp=cos(tm)*0.4 ; +wave_0_per_point24= +wave_0_per_point25=xp=xp*sin(tm*3); +wave_0_per_point26=yp=yp*cos(tm*2.6); +wave_0_per_point27= +wave_0_per_point28=xp=xp*sin(tm*0.43); +wave_0_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_0_per_point30= +wave_0_per_point31=xp=xp+wavex; +wave_0_per_point32=yp=yp+wavey; +wave_0_per_point33= +wave_0_per_point34=x=xp+0.5; +wave_0_per_point35=y=yp*1.333 + 0.5; +wave_0_per_point36= +wave_0_per_point37= +wave_0_per_point38=trailsize=0.85; +wave_0_per_point39=head=above(a,trailsize); +wave_0_per_point40=tail=1-head; +wave_0_per_point41=r=1*head + 0.5*tail; +wave_0_per_point42=g=0.8*head + 0.3*tail; +wave_0_per_point43=b=0.5*head; +wave_0_per_point44= +wave_0_per_point45=a=a*0.25 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=repeats=8; +wave_1_per_point2=samplerepeat=sample*repeats; +wave_1_per_point3=cycle=int(samplerepeat); +wave_1_per_point4=sampcyc=samplerepeat - cycle; +wave_1_per_point5=cycleto1=cycle/repeats; +wave_1_per_point6= +wave_1_per_point7=n=sampcyc*6.283; +wave_1_per_point8=phs=sampcyc+0.15; +wave_1_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_1_per_point10=tmm=time; +wave_1_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_1_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_1_per_point13=a=a*a; +wave_1_per_point14= +wave_1_per_point15=//waving +wave_1_per_point16=tmc=tm+cycle-phs*0.2; +wave_1_per_point17=variation=sin(cycleto1*6.283)*9; +wave_1_per_point18=swap=above(sample,0.5)*2-1; +wave_1_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point21= +wave_1_per_point22=xp=sin(tm)*0.4 ; +wave_1_per_point23=yp=cos(tm)*0.4 ; +wave_1_per_point24= +wave_1_per_point25=xp=xp*sin(tm*3); +wave_1_per_point26=yp=yp*cos(tm*2.6); +wave_1_per_point27= +wave_1_per_point28=xp=xp*sin(tm*0.43); +wave_1_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_1_per_point30= +wave_1_per_point31=xp=xp+wavex; +wave_1_per_point32=yp=yp+wavey; +wave_1_per_point33= +wave_1_per_point34=x=xp+0.5; +wave_1_per_point35=y=yp*1.333 + 0.5; +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=trailsize=0.85; +wave_1_per_point39=head=above(a,trailsize); +wave_1_per_point40=tail=1-head; +wave_1_per_point41=r=1*head + 0.5*tail; +wave_1_per_point42=g=0.8*head + 0.3*tail; +wave_1_per_point43=b=0.5*head; +wave_1_per_point44= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=repeats=6; +wave_2_per_point2=samplerepeat=sample*repeats; +wave_2_per_point3=cycle=int(samplerepeat); +wave_2_per_point4=sampcyc=samplerepeat - cycle; +wave_2_per_point5=cycleto1=cycle/repeats; +wave_2_per_point6= +wave_2_per_point7=n=sampcyc*6.283; +wave_2_per_point8=phs=sampcyc+0.25; +wave_2_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_2_per_point10=tmm=time; +wave_2_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_2_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_2_per_point13=a=a*a; +wave_2_per_point14= +wave_2_per_point15=//waving +wave_2_per_point16=tmc=tm+cycle-phs*0.2; +wave_2_per_point17=variation=sin(cycleto1*6.283)*9; +wave_2_per_point18=swap=above(sample,0.5)*2-1; +wave_2_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point21= +wave_2_per_point22=xp=sin(tm)*0.4 ; +wave_2_per_point23=yp=cos(tm)*0.4 ; +wave_2_per_point24= +wave_2_per_point25=xp=xp*sin(tm*3); +wave_2_per_point26=yp=yp*cos(tm*2.6); +wave_2_per_point27= +wave_2_per_point28=xp=xp*sin(tm*0.43); +wave_2_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_2_per_point30= +wave_2_per_point31=xp=xp+wavex; +wave_2_per_point32=yp=yp+wavey; +wave_2_per_point33= +wave_2_per_point34=x=xp+0.5; +wave_2_per_point35=y=yp*1.333 + 0.5; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=trailsize=0.85; +wave_2_per_point39=head=above(a,trailsize); +wave_2_per_point40=tail=1-head; +wave_2_per_point41=r=1*head + 0.5*tail; +wave_2_per_point42=g=0.8*head + 0.3*tail; +wave_2_per_point43=b=0.5*head; +wave_2_per_point44= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.680000 +shapecode_0_rad=0.808142 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.193805 +shapecode_0_tex_zoom=1.040604 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.210000 +shapecode_1_rad=0.564831 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.193805 +shapecode_1_tex_zoom=1.040604 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.150000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.700000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=-time*0.13; +shape_1_per_frame2=x=sin(time*0.29)*0.2 + 0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time*0.4; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +per_pixel_1=dx=sin(y*14)*sin(y*34+time)*0.002; +per_pixel_2=dy=cos(x*19+time)*cos(x*34)*0.002; +per_pixel_3=dy=dy diff --git a/presets/presets_milkdrop_104/EoS - pointfield 09 the gases beyond 85c.milk b/presets/presets_milkdrop_104/EoS - pointfield 09 the gases beyond 85c.milk new file mode 100644 index 0000000000..aa11f2f281 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - pointfield 09 the gases beyond 85c.milk @@ -0,0 +1,429 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.15; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.15; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5)*2; +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.5; +wave_0_per_point34=b=0.1; +wave_0_per_point35=a=a*0.7; +wave_0_per_point36= +wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); +wave_0_per_point38= +wave_0_per_point39= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36=a=a*0.5 +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.5; +wave_2_per_point34=b=0.1; +wave_2_per_point35=a=a*0.7; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); +wave_2_per_point39= +wave_2_per_point40= +wavecode_3_enabled=1 +wavecode_3_samples=402 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36=a=a*0.5 +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.208824 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.610000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.3 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.600000 +shapecode_1_b=0.900000 +shapecode_1_a=0.110000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); +shape_1_per_frame2=xsign = rand(2)*2 - 1; +shape_1_per_frame3= +shape_1_per_frame4=a=a * (1-xp); +shape_1_per_frame5= +shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; +shape_1_per_frame7= +shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); +per_frame_13=flash=if( above(flash,1) , flash-1 , flash); +per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); +per_frame_15=invert=0 diff --git a/presets/presets_milkdrop_104/EoS - pulsecube ee bounce.milk b/presets/presets_milkdrop_104/EoS - pulsecube ee bounce.milk new file mode 100644 index 0000000000..62ec10c47f --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - pulsecube ee bounce.milk @@ -0,0 +1,413 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.790000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.190000 +wavecode_0_b=0.710000 +wavecode_0_a=0.110001 +wave_0_per_frame1=t1 = q2; +wave_0_per_frame2=t8 = 1; +wave_0_per_frame3= +wave_0_per_frame4=t2 = q1; +wave_0_per_frame5= +wave_0_per_frame6=t3 = q4; +wave_0_per_frame7=t3 = t3/q3 * 1.333 + 0.5; +wave_0_per_frame8= +wave_0_per_frame9=t4 = - q5/q3 + 0.5; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2= +wave_0_per_point3=t8 = -t8; +wave_0_per_point4= +wave_0_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); +wave_0_per_point6=xp = t8 * (1-bend*0.7*t2); +wave_0_per_point7=yp = sample * 2 - 1; +wave_0_per_point8=zp = bend * t2 * 0.4; +wave_0_per_point9=zp = zp + 1; +wave_0_per_point10= +wave_0_per_point11=ang = t1; +wave_0_per_point12=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point13=xq = xp; +wave_0_per_point14=yq = yp*sang + zp*cang; +wave_0_per_point15=zq = yp*cang - zp*sang; +wave_0_per_point16=xp=xq;yp=yq;zp=zq; +wave_0_per_point17= +wave_0_per_point18=ang = t1 * 2.1; +wave_0_per_point19=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point20=xq = xp*sang + zp*cang; +wave_0_per_point21=yq = yp; +wave_0_per_point22=zq = xp*cang - zp*sang; +wave_0_per_point23=xp=xq;yp=yq;zp=zq; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=zp = zp + q3; +wave_0_per_point27=yp = yp + q4; +wave_0_per_point28=xp = xp + q5; +wave_0_per_point29=x = xp/zp + 0.5; +wave_0_per_point30=y = yp/zp * 1.333 + 0.5; +wave_0_per_point31= +wave_0_per_point32= +wave_0_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.190000 +wavecode_1_b=0.710000 +wavecode_1_a=0.110001 +wave_1_per_frame1=t1 = q2; +wave_1_per_frame2=t8 = 1; +wave_1_per_frame3= +wave_1_per_frame4=t2 = q1; +wave_1_per_point1=n = sample*6.283; +wave_1_per_point2= +wave_1_per_point3=t8 = -t8; +wave_1_per_point4= +wave_1_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); +wave_1_per_point6=xp = t8 * (1-bend*0.7*t2); +wave_1_per_point7=yp = sample * 2 - 1; +wave_1_per_point8=zp = bend * t2 * 0.4; +wave_1_per_point9=zp = -zp - 1; +wave_1_per_point10= +wave_1_per_point11=ang = t1; +wave_1_per_point12=sang = sin(ang) ; cang = cos(ang); +wave_1_per_point13=xq = xp; +wave_1_per_point14=yq = yp*sang + zp*cang; +wave_1_per_point15=zq = yp*cang - zp*sang; +wave_1_per_point16=xp=xq;yp=yq;zp=zq; +wave_1_per_point17= +wave_1_per_point18=ang = t1 * 2.1; +wave_1_per_point19=sang = sin(ang) ; cang = cos(ang); +wave_1_per_point20=xq = xp*sang + zp*cang; +wave_1_per_point21=yq = yp; +wave_1_per_point22=zq = xp*cang - zp*sang; +wave_1_per_point23=xp=xq;yp=yq;zp=zq; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=zp = zp + q3; +wave_1_per_point27=yp = yp + q4; +wave_1_per_point28=xp = xp + q5; +wave_1_per_point29=x = xp/zp + 0.5; +wave_1_per_point30=y = yp/zp * 1.333 + 0.5; +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.190000 +wavecode_2_b=0.710000 +wavecode_2_a=0.110001 +wave_2_per_frame1=t1 = q2; +wave_2_per_frame2=t8 = 1; +wave_2_per_frame3= +wave_2_per_frame4=t2 = q1; +wave_2_per_point1=n = sample*6.283; +wave_2_per_point2= +wave_2_per_point3=t8 = -t8; +wave_2_per_point4= +wave_2_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); +wave_2_per_point6=zp = t8 * (1-bend*0.7*t2); +wave_2_per_point7=yp = sample * 2 - 1; +wave_2_per_point8=xp = bend * t2 * 0.4; +wave_2_per_point9=xp = xp + 1; +wave_2_per_point10= +wave_2_per_point11=ang = t1; +wave_2_per_point12=sang = sin(ang) ; cang = cos(ang); +wave_2_per_point13=xq = xp; +wave_2_per_point14=yq = yp*sang + zp*cang; +wave_2_per_point15=zq = yp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=ang = t1 * 2.1; +wave_2_per_point19=sang = sin(ang) ; cang = cos(ang); +wave_2_per_point20=xq = xp*sang + zp*cang; +wave_2_per_point21=yq = yp; +wave_2_per_point22=zq = xp*cang - zp*sang; +wave_2_per_point23=xp=xq;yp=yq;zp=zq; +wave_2_per_point24= +wave_2_per_point25=zp = zp + q3; +wave_2_per_point26=yp = yp + q4; +wave_2_per_point27=xp = xp + q5; +wave_2_per_point28=x = xp/zp + 0.5; +wave_2_per_point29=y = yp/zp * 1.333 + 0.5; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.190000 +wavecode_3_b=0.710000 +wavecode_3_a=0.110001 +wave_3_per_frame1=t1 = q2; +wave_3_per_frame2=t8 = 1; +wave_3_per_frame3= +wave_3_per_frame4=t2 = q1; +wave_3_per_point1=n = sample*6.283; +wave_3_per_point2= +wave_3_per_point3=t8 = -t8; +wave_3_per_point4= +wave_3_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); +wave_3_per_point6=zp = t8 * (1-bend*0.7*t2); +wave_3_per_point7=yp = sample * 2 - 1; +wave_3_per_point8=xp = bend * t2 * 0.4; +wave_3_per_point9=xp = -xp - 1; +wave_3_per_point10= +wave_3_per_point11=ang = t1; +wave_3_per_point12=sang = sin(ang) ; cang = cos(ang); +wave_3_per_point13=xq = xp; +wave_3_per_point14=yq = yp*sang + zp*cang; +wave_3_per_point15=zq = yp*cang - zp*sang; +wave_3_per_point16=xp=xq;yp=yq;zp=zq; +wave_3_per_point17= +wave_3_per_point18=ang = t1 * 2.1; +wave_3_per_point19=sang = sin(ang) ; cang = cos(ang); +wave_3_per_point20=xq = xp*sang + zp*cang; +wave_3_per_point21=yq = yp; +wave_3_per_point22=zq = xp*cang - zp*sang; +wave_3_per_point23=xp=xq;yp=yq;zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26=zp = zp + q3; +wave_3_per_point27=yp = yp + q4; +wave_3_per_point28=xp = xp + q5; +wave_3_per_point29=x = xp/zp + 0.5; +wave_3_per_point30=y = yp/zp * 1.333 + 0.5; +wave_3_per_point31= +wave_3_per_point32= +wave_3_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.721517 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.610000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y = q4; +shape_0_per_frame2=y = y/q3 * 1.333 + 0.5; +shape_0_per_frame3= +shape_0_per_frame4=x = q5/q3 + 0.5; +shape_0_per_frame5= +shape_0_per_frame6=rad = rad/q3 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.203212 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.610000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.700000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y = q4; +shape_1_per_frame2=y = y/q3 * 1.333 + 0.5; +shape_1_per_frame3= +shape_1_per_frame4=x = - q5/q3 + 0.5; +shape_1_per_frame5= +shape_1_per_frame6=rad = rad/q3 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=bounce =0; +per_frame_init_9= +per_frame_1=decay=0.91; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4= +per_frame_5=q1 = sin(time*3.3) * 0.5 + 0.5; +per_frame_6= +per_frame_7=vol = (bass+mid+treb)*0.2; +per_frame_8=vol= vol*vol; +per_frame_9= +per_frame_10=slow = min( bass*bass , 1 ); +per_frame_11=mtime = mtime+ vol*0.1*slow*(71/fps); +per_frame_12= +per_frame_13=q1 = min( vol, 1 ); +per_frame_14=q2 = mtime/3; +per_frame_15= +per_frame_16=btime = time; +per_frame_17=bounce = btime - int(btime); +per_frame_18=bounce = abs( bounce*2 - 1 ); +per_frame_19=bounce = 1 - pow(bounce,2.2); +per_frame_20= +per_frame_21=distance = sin( time/3.3 )*0.5 + 0.5; +per_frame_22=vdistance = 5 + distance*10; +per_frame_23= +per_frame_24=q3 = vdistance; +per_frame_25=q4 = bounce * (distance * 8) - distance*4; +per_frame_26= +per_frame_27=btime = time/3.3; +per_frame_28=q5 = btime - int(btime); +per_frame_29=q5 = abs(q5*2-1) * 2 - 1; +per_frame_30=q5 = q5*0.8 * distance*8; +per_frame_31= +per_frame_32=sx=-1; +per_frame_33=rot=1.6 diff --git a/presets/presets_milkdrop_104/EoS - repeater 05 - rave on acid.milk b/presets/presets_milkdrop_104/EoS - repeater 05 - rave on acid.milk new file mode 100644 index 0000000000..744151fe2f --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - repeater 05 - rave on acid.milk @@ -0,0 +1,636 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(45/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31= +per_frame_32=q4 = min( vol*0.8 , 1 )*0.1 + 0.9 diff --git a/presets/presets_milkdrop_104/EoS - repeater 08 - rave on a lot of acid and some K.milk b/presets/presets_milkdrop_104/EoS - repeater 08 - rave on a lot of acid and some K.milk new file mode 100644 index 0000000000..a3d0a547b1 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - repeater 08 - rave on a lot of acid and some K.milk @@ -0,0 +1,654 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.910001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2; +shape_0_per_frame8=tex_zoom = q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2; +shape_1_per_frame10=tex_zoom = q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2; +shape_2_per_frame11=tex_zoom = q5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2; +shape_3_per_frame11=tex_zoom = q5; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*0.1*(45/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*0.1*(45/fps); +per_frame_27= +per_frame_28=q1=mtime*0.9; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/10; +per_frame_35=q5 =1 diff --git a/presets/presets_milkdrop_104/EoS - repeater 13 - definitive fast.milk b/presets/presets_milkdrop_104/EoS - repeater 13 - definitive fast.milk new file mode 100644 index 0000000000..ba1cfb33b1 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - repeater 13 - definitive fast.milk @@ -0,0 +1,649 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=mtime*0.4; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_milkdrop_104/EoS - repeater 13 - definitive.milk b/presets/presets_milkdrop_104/EoS - repeater 13 - definitive.milk new file mode 100644 index 0000000000..c71750b793 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - repeater 13 - definitive.milk @@ -0,0 +1,659 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81= +wave_2_per_point82= +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85= +wave_2_per_point86= +wave_2_per_point87= +wave_2_per_point88= +wave_2_per_point89= +wave_2_per_point90= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60=//project into screenspace and draw on screen +wave_3_per_point61=zp=zp+2; +wave_3_per_point62=xs=-xp/zp; +wave_3_per_point63=ys=yp/zp; +wave_3_per_point64= +wave_3_per_point65=x=xs+0.5; +wave_3_per_point66=y=ys*1.3+0.5; +wave_3_per_point67= +wave_3_per_point68=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point69= +wave_3_per_point70=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point71= +wave_3_per_point72=r=t4; +wave_3_per_point73=g=t5; +wave_3_per_point74=b=t6; +wave_3_per_point75=//end +wave_3_per_point76= +wave_3_per_point77=//A pox upon he who is Tag. +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip; +per_frame_26=mtimeb=mtimeb+vol*0.1; +per_frame_27= +per_frame_28=q1=mtime*0.4; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30 diff --git a/presets/presets_milkdrop_104/EoS - repeater 15 - kaleidoscope b.milk b/presets/presets_milkdrop_104/EoS - repeater 15 - kaleidoscope b.milk new file mode 100644 index 0000000000..643fa6c3cf --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - repeater 15 - kaleidoscope b.milk @@ -0,0 +1,640 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.499999 +shapecode_3_rad=0.476930 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.026830 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.4998 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=time*3; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_milkdrop_104/EoS - sarc c_Phats Zoom Mix.milk b/presets/presets_milkdrop_104/EoS - sarc c_Phats Zoom Mix.milk new file mode 100644 index 0000000000..d1121a32d8 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - sarc c_Phats Zoom Mix.milk @@ -0,0 +1,309 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.280000 +wavecode_0_b=1.000000 +wavecode_0_a=0.200000 +wave_0_init1=t2 = 0 +wave_0_per_frame1=t1 = time * 13; +wave_0_per_frame2= +wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; +wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; +wave_0_per_frame5= +wave_0_per_frame6=t2= q2 * 0.003 + 0.06; +wave_0_per_frame7= +wave_0_per_frame8=t3= q1; +wave_0_per_frame9= +wave_0_per_frame10=t4 = time/8; +wave_0_per_frame11= +wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_0_per_frame13=t5 = t5 * 17 + 2; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2=pi = 3.1415; +wave_0_per_point3=pi2 = 6.283; +wave_0_per_point4= +wave_0_per_point5=phs = t1 + sample*9; +wave_0_per_point6= +wave_0_per_point7=bias = t5; +wave_0_per_point8=bias_i = bias - 1; +wave_0_per_point9= +wave_0_per_point10=cc = phs / 3; +wave_0_per_point11=cc_int = int(cc); +wave_0_per_point12=cc_ramp = cc - cc_int; +wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_0_per_point15= +wave_0_per_point16=cc_ad_b = cc_ramp * bias; +wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_0_per_point18= +wave_0_per_point19=cc_a = cc_ad_a + cc_int; +wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_0_per_point21= +wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_0_per_point23=yp = 1; +wave_0_per_point24=zp = 0; +wave_0_per_point25= +wave_0_per_point26=ang = cc_a * 6.283 * 16; +wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point28=xq = sang*xp + cang*zp; +wave_0_per_point29=yq = yp; +wave_0_per_point30=zq = cang*xp - sang*zp; +wave_0_per_point31=xp=xq;yp=yq;zp=zq; +wave_0_per_point32= +wave_0_per_point33=ang2 = cc_b + t4; +wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point35=xq = xp; +wave_0_per_point36=yq = sang*yp + cang*zp; +wave_0_per_point37=zq = cang*yp - sang*zp; +wave_0_per_point38=xp=xq;yp=yq;zp=zq; +wave_0_per_point39= +wave_0_per_point40=ang2 = cc_b * 3.13 + t4; +wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point42=xq = sang*xp + cang*yp; +wave_0_per_point43=yq = cang*xp - sang*yp; +wave_0_per_point44=zq = zp; +wave_0_per_point45=xp=xq;yp=yq;zp=zq; +wave_0_per_point46= +wave_0_per_point47=ang2 = cc_b * 1.43 + t4; +wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point49=xq = sang*xp + cang*zp; +wave_0_per_point50=yq = yp; +wave_0_per_point51=zq = cang*xp - sang*zp; +wave_0_per_point52=xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=zp = zp+3.1; +wave_0_per_point56=xs = xp/zp + 0.5; +wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_0_per_point58= +wave_0_per_point59=x=xs; +wave_0_per_point60=y=ys; +wave_0_per_point61= +wave_0_per_point62= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=22 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.548219 +shapecode_0_ang=1.445133 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.300000 +shapecode_0_g=0.910000 +shapecode_0_b=1.000000 +shapecode_0_a=0.220000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.249785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.400000 +shapecode_1_g=0.200000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.100000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.300000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364568 +shapecode_2_ang=1.570797 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.416601 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.180000 +shape_2_per_frame1=ang = time/4 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ang = - time/3 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5=q1= ib_a * 6.283; +per_frame_6= +per_frame_7=q2 = (bass+mid+treb)*0.25; +per_frame_8=q2 = q2*q2; +per_frame_9= +per_frame_10=monitor = q2; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_pixel_1=zoom=1+(rad/7); +per_pixel_2=rot=(rad/100)*sin(time); diff --git a/presets/presets_milkdrop_104/EoS - spark C.milk b/presets/presets_milkdrop_104/EoS - spark C.milk new file mode 100644 index 0000000000..6815f9f5d0 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - spark C.milk @@ -0,0 +1,443 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.140000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.060000 +wavecode_0_g=0.040000 +wavecode_0_b=0.110000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=time*0.5; +wave_0_per_frame2=t2=time*0.33; +wave_0_per_frame3=t3=time*0.23; +wave_0_per_frame4=t8=-1 +wave_0_per_point1=scale=1+q1; +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283*4; +wave_0_per_point4=third=6.283/3; +wave_0_per_point5=cycle=int(sample*4); +wave_0_per_point6=pos=t8; +wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_0_per_point9=t8=pos; +wave_0_per_point10=points= equal(pos,0); +wave_0_per_point11=a=equal(pos,0)*q2; +wave_0_per_point12= +wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_0_per_point14=yp=pos; +wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_0_per_point16= +wave_0_per_point17=//rot x +wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_0_per_point19= +wave_0_per_point20=sang=sin(ang);cang=cos(ang); +wave_0_per_point21=xq=xp*sang + yp*cang; +wave_0_per_point22=yq=xp*cang - yp*sang; +wave_0_per_point23=zq=zp; +wave_0_per_point24=xp=xq;yp=yq;zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rot y +wave_0_per_point27=ang=3.1415/2; +wave_0_per_point28=step1=equal(cycle,2)*third; +wave_0_per_point29=step2=equal(cycle,3)*third*2; +wave_0_per_point30=ang=ang+step1+step2; +wave_0_per_point31=ang=ang ; +wave_0_per_point32= +wave_0_per_point33=sang=sin(ang);cang=cos(ang); +wave_0_per_point34=xq=xp*sang + zp*cang; +wave_0_per_point35=yq=yp; +wave_0_per_point36=zq=xp*cang - zp*sang; +wave_0_per_point37=xp=xq;yp=yq;zp=zq; +wave_0_per_point38= +wave_0_per_point39=ang=time*0.23; +wave_0_per_point40=sang=sin(ang);cang=cos(ang); +wave_0_per_point41=xq=xp;; +wave_0_per_point42=yq=yp*sang + zp*cang; +wave_0_per_point43=zq=yp*cang - zp*sang; +wave_0_per_point44=xp=xq;yp=yq;zp=zq; +wave_0_per_point45= +wave_0_per_point46=ang=time*0.6; +wave_0_per_point47=sang=sin(ang);cang=cos(ang); +wave_0_per_point48=xq=xp*sang + zp*cang; +wave_0_per_point49=yq=yp; +wave_0_per_point50=zq=xp*cang - zp*sang; +wave_0_per_point51=xp=xq;yp=yq;zp=zq; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=zp=zp+4.1; +wave_0_per_point55=xs=xp/zp + 0.5; +wave_0_per_point56=ys=yp/zp *1.333 + 0.5; +wave_0_per_point57= +wave_0_per_point58=x=xs;y=ys; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61= +wave_0_per_point62=black=1 - equal(pos,0); +wave_0_per_point63=r=r*black; +wave_0_per_point64=g=g*black; +wave_0_per_point65=b=b*black; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.060000 +wavecode_1_g=0.040000 +wavecode_1_b=0.020000 +wavecode_1_a=1.000000 +wave_1_per_point1=scale=1+q1; +wave_1_per_point2= +wave_1_per_point3=n=sample*6.283*4; +wave_1_per_point4=third=6.283/3; +wave_1_per_point5=cycle=int(sample*4); +wave_1_per_point6=pos=t8; +wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_1_per_point9=t8=pos; +wave_1_per_point10=points= equal(pos,0); +wave_1_per_point11=a=equal(pos,0)*q2; +wave_1_per_point12= +wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_1_per_point14=yp=pos; +wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_1_per_point16= +wave_1_per_point17=//rot x +wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_1_per_point19= +wave_1_per_point20=sang=sin(ang);cang=cos(ang); +wave_1_per_point21=xq=xp*sang + yp*cang; +wave_1_per_point22=yq=xp*cang - yp*sang; +wave_1_per_point23=zq=zp; +wave_1_per_point24=xp=xq;yp=yq;zp=zq; +wave_1_per_point25= +wave_1_per_point26=//rot y +wave_1_per_point27=ang=3.1415/2; +wave_1_per_point28=step1=equal(cycle,2)*third; +wave_1_per_point29=step2=equal(cycle,3)*third*2; +wave_1_per_point30=ang=ang+step1+step2; +wave_1_per_point31=ang=ang ; +wave_1_per_point32=sang=sin(ang);cang=cos(ang); +wave_1_per_point33=xq=xp*sang + zp*cang; +wave_1_per_point34=yq=yp; +wave_1_per_point35=zq=xp*cang - zp*sang; +wave_1_per_point36=xp=xq;yp=yq;zp=zq; +wave_1_per_point37= +wave_1_per_point38=yp=-yp; +wave_1_per_point39=ang=time*0.23; +wave_1_per_point40=sang=sin(ang);cang=cos(ang); +wave_1_per_point41=xq=xp;; +wave_1_per_point42=yq=yp*sang + zp*cang; +wave_1_per_point43=zq=yp*cang - zp*sang; +wave_1_per_point44=xp=xq;yp=yq;zp=zq; +wave_1_per_point45= +wave_1_per_point46=ang=time*0.6; +wave_1_per_point47=sang=sin(ang);cang=cos(ang); +wave_1_per_point48=xq=xp*sang + zp*cang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cang - zp*sang; +wave_1_per_point51=xp=xq;yp=yq;zp=zq; +wave_1_per_point52= +wave_1_per_point53= +wave_1_per_point54=zp=zp+4.1; +wave_1_per_point55=xs=xp/zp + 0.5; +wave_1_per_point56=ys=yp/zp *1.333 + 0.5; +wave_1_per_point57= +wave_1_per_point58=x=xs;y=ys; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=a=a*(1-q8*0.5); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.210000 +wavecode_2_g=0.120000 +wavecode_2_b=0.050000 +wavecode_2_a=1.000000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1= +wave_2_per_point2=s=sample*6.28; +wave_2_per_point3= +wave_2_per_point4=//plot random x position via function of sample pos; +wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point6=xp=xp*0.20; +wave_2_per_point7= +wave_2_per_point8=//plot random y position via function of sample pos; +wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_2_per_point10=yp=yp*0.20; +wave_2_per_point11= +wave_2_per_point12=//plot random z position via function of sample pos; +wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_2_per_point14=zp=zp*0.25; +wave_2_per_point15= +wave_2_per_point16=//pull stars toward screen +wave_2_per_point17=zp=zp + 1 - t1; +wave_2_per_point18= +wave_2_per_point19=//correct when below 0 +wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point21= +wave_2_per_point22=//darken far stars +wave_2_per_point23=a=(1 - zp*0.5); +wave_2_per_point24= +wave_2_per_point25=zp=zp*0.7; +wave_2_per_point26= +wave_2_per_point27=x_screen=xp/zp + 0.5; +wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; +wave_2_per_point29= +wave_2_per_point30=x=x_screen; +wave_2_per_point31=y=y_screen; +wave_2_per_point32= +wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); +wave_2_per_point34= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.610000 +wavecode_3_g=0.720000 +wavecode_3_b=0.950000 +wavecode_3_a=1.000000 +wave_3_per_frame1=advance=advance+ 0.008; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; +wave_3_per_point2= +wave_3_per_point3=s=sample*6.28; +wave_3_per_point4= +wave_3_per_point5=//plot random x position via function of sample pos; +wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_3_per_point7=xp=xp*0.20; +wave_3_per_point8= +wave_3_per_point9=//plot random y position via function of sample pos; +wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point11=yp=yp*0.20; +wave_3_per_point12= +wave_3_per_point13=//plot random z position via function of sample pos; +wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_3_per_point15=zp=zp*0.25; +wave_3_per_point16= +wave_3_per_point17=//pull stars toward screen +wave_3_per_point18=zp=zp + 1 - t1; +wave_3_per_point19= +wave_3_per_point20=//correct when below 0 +wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point22= +wave_3_per_point23=//darken far stars +wave_3_per_point24=a=(1 - zp*0.5); +wave_3_per_point25=a=a*sparkle; +wave_3_per_point26= +wave_3_per_point27=zp=zp*0.7; +wave_3_per_point28= +wave_3_per_point29=x_screen=xp/zp + 0.5; +wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; +wave_3_per_point31= +wave_3_per_point32=x=x_screen; +wave_3_per_point33=y=y_screen; +wave_3_per_point34= +wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); +wave_3_per_point36= +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.323535 +shapecode_0_ang=0.314159 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=4.722082 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a=q8 +shapecode_1_enabled=1 +shapecode_1_sides=36 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.919742 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.980296 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.940000 +shapecode_1_a2=0.060000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); +shape_1_per_frame2= +shape_1_per_frame3=ang=sin(time*0.5)*0.01; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3=warp=0; +per_frame_4= +per_frame_5= +per_frame_6=q1=(mid_att+treb_att)*0.25; +per_frame_7= +per_frame_8=q2=1 - min(q1,2)*0.6; +per_frame_9= +per_frame_10= +per_frame_11=mvol=(bass_att+mid_att+treb_att)*0.33; +per_frame_12=mvolB=(mvolB-0.007) + mvol*0.007; +per_frame_13=mvolB=max(mvolB,0); +per_frame_14=mvolB=min(mvolB,1); +per_frame_15=q8=mvolB; +per_frame_16=monitor=q8 +per_frame_17= +per_pixel_1=zoom=1 + (sin(ang*6 + time*0.25)*0.5 + 0.5)*0.04 diff --git a/presets/presets_milkdrop_104/EoS - spark C_Phat_Jester_Mix_v2.milk b/presets/presets_milkdrop_104/EoS - spark C_Phat_Jester_Mix_v2.milk new file mode 100644 index 0000000000..ff81df12c1 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - spark C_Phat_Jester_Mix_v2.milk @@ -0,0 +1,444 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.060000 +wavecode_0_g=0.040000 +wavecode_0_b=0.110000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=time*0.5; +wave_0_per_frame2=t2=time*0.33; +wave_0_per_frame3=t3=time*0.23; +wave_0_per_frame4=t8=-1 +wave_0_per_point1=scale=1+q1; +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283*4; +wave_0_per_point4=third=6.283/3; +wave_0_per_point5=cycle=int(sample*4); +wave_0_per_point6=pos=t8; +wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_0_per_point9=t8=pos; +wave_0_per_point10=points= equal(pos,0); +wave_0_per_point11=a=equal(pos,0)*q2; +wave_0_per_point12= +wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_0_per_point14=yp=pos; +wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_0_per_point16= +wave_0_per_point17=//rot x +wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_0_per_point19= +wave_0_per_point20=sang=sin(ang);cang=cos(ang); +wave_0_per_point21=xq=xp*sang + yp*cang; +wave_0_per_point22=yq=xp*cang - yp*sang; +wave_0_per_point23=zq=zp; +wave_0_per_point24=xp=xq;yp=yq;zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rot y +wave_0_per_point27=ang=3.1415/2; +wave_0_per_point28=step1=equal(cycle,2)*third; +wave_0_per_point29=step2=equal(cycle,3)*third*2; +wave_0_per_point30=ang=ang+step1+step2; +wave_0_per_point31=ang=ang ; +wave_0_per_point32= +wave_0_per_point33=sang=sin(ang);cang=cos(ang); +wave_0_per_point34=xq=xp*sang + zp*cang; +wave_0_per_point35=yq=yp; +wave_0_per_point36=zq=xp*cang - zp*sang; +wave_0_per_point37=xp=xq;yp=yq;zp=zq; +wave_0_per_point38= +wave_0_per_point39=ang=time*0.23; +wave_0_per_point40=sang=sin(ang);cang=cos(ang); +wave_0_per_point41=xq=xp;; +wave_0_per_point42=yq=yp*sang + zp*cang; +wave_0_per_point43=zq=yp*cang - zp*sang; +wave_0_per_point44=xp=xq;yp=yq;zp=zq; +wave_0_per_point45= +wave_0_per_point46=ang=time*0.6; +wave_0_per_point47=sang=sin(ang);cang=cos(ang); +wave_0_per_point48=xq=xp*sang + zp*cang; +wave_0_per_point49=yq=yp; +wave_0_per_point50=zq=xp*cang - zp*sang; +wave_0_per_point51=xp=xq;yp=yq;zp=zq; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=zp=zp+4.1; +wave_0_per_point55=xs=xp/zp + 0.5; +wave_0_per_point56=ys=yp/zp *1.333 + 0.5; +wave_0_per_point57= +wave_0_per_point58=x=xs;y=ys; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61= +wave_0_per_point62=black=1 - equal(pos,0); +wave_0_per_point63=r=r*black; +wave_0_per_point64=g=g*black; +wave_0_per_point65=b=b*black; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.060000 +wavecode_1_g=0.040000 +wavecode_1_b=0.020000 +wavecode_1_a=1.000000 +wave_1_per_point1=scale=1+q1; +wave_1_per_point2= +wave_1_per_point3=n=sample*6.283*4; +wave_1_per_point4=third=6.283/3; +wave_1_per_point5=cycle=int(sample*4); +wave_1_per_point6=pos=t8; +wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_1_per_point9=t8=pos; +wave_1_per_point10=points= equal(pos,0); +wave_1_per_point11=a=equal(pos,0)*q2; +wave_1_per_point12= +wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_1_per_point14=yp=pos; +wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_1_per_point16= +wave_1_per_point17=//rot x +wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_1_per_point19= +wave_1_per_point20=sang=sin(ang);cang=cos(ang); +wave_1_per_point21=xq=xp*sang + yp*cang; +wave_1_per_point22=yq=xp*cang - yp*sang; +wave_1_per_point23=zq=zp; +wave_1_per_point24=xp=xq;yp=yq;zp=zq; +wave_1_per_point25= +wave_1_per_point26=//rot y +wave_1_per_point27=ang=3.1415/2; +wave_1_per_point28=step1=equal(cycle,2)*third; +wave_1_per_point29=step2=equal(cycle,3)*third*2; +wave_1_per_point30=ang=ang+step1+step2; +wave_1_per_point31=ang=ang ; +wave_1_per_point32=sang=sin(ang);cang=cos(ang); +wave_1_per_point33=xq=xp*sang + zp*cang; +wave_1_per_point34=yq=yp; +wave_1_per_point35=zq=xp*cang - zp*sang; +wave_1_per_point36=xp=xq;yp=yq;zp=zq; +wave_1_per_point37= +wave_1_per_point38=yp=-yp; +wave_1_per_point39=ang=time*0.23; +wave_1_per_point40=sang=sin(ang);cang=cos(ang); +wave_1_per_point41=xq=xp;; +wave_1_per_point42=yq=yp*sang + zp*cang; +wave_1_per_point43=zq=yp*cang - zp*sang; +wave_1_per_point44=xp=xq;yp=yq;zp=zq; +wave_1_per_point45= +wave_1_per_point46=ang=time*0.6; +wave_1_per_point47=sang=sin(ang);cang=cos(ang); +wave_1_per_point48=xq=xp*sang + zp*cang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cang - zp*sang; +wave_1_per_point51=xp=xq;yp=yq;zp=zq; +wave_1_per_point52= +wave_1_per_point53= +wave_1_per_point54=zp=zp+4.1; +wave_1_per_point55=xs=xp/zp + 0.5; +wave_1_per_point56=ys=yp/zp *1.333 + 0.5; +wave_1_per_point57= +wave_1_per_point58=x=xs;y=ys; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=a=a*(1-q8*0.5); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.210000 +wavecode_2_g=0.120000 +wavecode_2_b=0.050000 +wavecode_2_a=1.000000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1= +wave_2_per_point2=s=sample*6.28; +wave_2_per_point3= +wave_2_per_point4=//plot random x position via function of sample pos; +wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point6=xp=xp*0.20; +wave_2_per_point7= +wave_2_per_point8=//plot random y position via function of sample pos; +wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_2_per_point10=yp=yp*0.20; +wave_2_per_point11= +wave_2_per_point12=//plot random z position via function of sample pos; +wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_2_per_point14=zp=zp*0.25; +wave_2_per_point15= +wave_2_per_point16=//pull stars toward screen +wave_2_per_point17=zp=zp + 1 - t1; +wave_2_per_point18= +wave_2_per_point19=//correct when below 0 +wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point21= +wave_2_per_point22=//darken far stars +wave_2_per_point23=a=(1 - zp*0.5); +wave_2_per_point24= +wave_2_per_point25=zp=zp*0.7; +wave_2_per_point26= +wave_2_per_point27=x_screen=xp/zp + 0.5; +wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; +wave_2_per_point29= +wave_2_per_point30=x=x_screen; +wave_2_per_point31=y=y_screen; +wave_2_per_point32= +wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); +wave_2_per_point34= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.610000 +wavecode_3_g=0.720000 +wavecode_3_b=0.950000 +wavecode_3_a=1.000000 +wave_3_per_frame1=advance=advance+ 0.008; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; +wave_3_per_point2= +wave_3_per_point3=s=sample*6.28; +wave_3_per_point4= +wave_3_per_point5=//plot random x position via function of sample pos; +wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_3_per_point7=xp=xp*0.20; +wave_3_per_point8= +wave_3_per_point9=//plot random y position via function of sample pos; +wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point11=yp=yp*0.20; +wave_3_per_point12= +wave_3_per_point13=//plot random z position via function of sample pos; +wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_3_per_point15=zp=zp*0.25; +wave_3_per_point16= +wave_3_per_point17=//pull stars toward screen +wave_3_per_point18=zp=zp + 1 - t1; +wave_3_per_point19= +wave_3_per_point20=//correct when below 0 +wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point22= +wave_3_per_point23=//darken far stars +wave_3_per_point24=a=(1 - zp*0.5); +wave_3_per_point25=a=a*sparkle; +wave_3_per_point26= +wave_3_per_point27=zp=zp*0.7; +wave_3_per_point28= +wave_3_per_point29=x_screen=xp/zp + 0.5; +wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; +wave_3_per_point31= +wave_3_per_point32=x=x_screen; +wave_3_per_point33=y=y_screen; +wave_3_per_point34= +wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); +wave_3_per_point36= +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.323535 +shapecode_0_ang=0.314159 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=4.722082 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a=q8 +shapecode_1_enabled=1 +shapecode_1_sides=36 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.919742 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.980296 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.940000 +shapecode_1_a2=0.060000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); +shape_1_per_frame2= +shape_1_per_frame3=ang=sin(time*0.5)*0.01; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=0.800000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.400000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3=warp=0; +per_frame_4= +per_frame_5= +per_frame_6=q1=(mid_att+treb_att)*0.25; +per_frame_7= +per_frame_8=q2=1 - min(q1,2)*0.6; +per_frame_9= +per_frame_10= +per_frame_11=mvol=(bass_att+mid_att+treb_att)*0.33; +per_frame_12=mvolB=(mvolB-0.007) + mvol*0.007; +per_frame_13=mvolB=max(mvolB,0); +per_frame_14=mvolB=min(mvolB,1); +per_frame_15=q8=mvolB; +per_frame_16=monitor=q8 +per_frame_17= +per_pixel_1=zoom=.99 + (sin(ang*(2+(treb/3)) + time*3)*0.5 + 0.5)*0.04; +per_pixel_2=sx=-1; diff --git a/presets/presets_milkdrop_104/EoS - starburst 10 aurora distalis.milk b/presets/presets_milkdrop_104/EoS - starburst 10 aurora distalis.milk new file mode 100644 index 0000000000..3f01d9add0 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS - starburst 10 aurora distalis.milk @@ -0,0 +1,450 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.300000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=flip=flip+1; +wave_0_per_point4=flip=flip*below(flip,2); +wave_0_per_point5= +wave_0_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_0_per_point7= +wave_0_per_point8=xp=sin(n+phase); +wave_0_per_point9=yp=cos(n+phase); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//rotate on y during draw +wave_0_per_point13=ang=n*2+phase; +wave_0_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point15=yq=yp; +wave_0_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point17= +wave_0_per_point18=r1=0.1;g1=0.3;b1=1; +wave_0_per_point19=r2=0.7;g2=0.1;b2=1.0; +wave_0_per_point20=fade=xq*0.5 + 0.5; +wave_0_per_point21=r=r1*fade + r2*(1-fade); +wave_0_per_point22=g=g1*fade + g2*(1-fade); +wave_0_per_point23=b=b1*fade + b2*(1-fade); +wave_0_per_point24= +wave_0_per_point25=//rotation; +wave_0_per_point26=ang=time*0.1; +wave_0_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point28=yp=yq; +wave_0_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point30= +wave_0_per_point31=ang=time*0.17; +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point35= +wave_0_per_point36= +wave_0_per_point37=//push into viewspace +wave_0_per_point38=zq=zq+3.1; +wave_0_per_point39= +wave_0_per_point40= +wave_0_per_point41=//project into screenspace +wave_0_per_point42=xs=xq/zq; +wave_0_per_point43=ys=yq/zq; +wave_0_per_point44= +wave_0_per_point45= +wave_0_per_point46=x=xs+0.5; +wave_0_per_point47=y=ys*1.3+0.5; +wave_0_per_point48=a=(1)*0.3 * (pow(sin(n*4+time)*0.5+0.5,2)); +wave_0_per_point49= +wave_0_per_point50=spark=sin(phase*35); +wave_0_per_point51=r=if( above(spark,0.93) , 0.6 , r); +wave_0_per_point52=g=if( above(spark,0.93) , 0.8 , g); +wave_0_per_point53=b=if( above(spark,0.93) , 1.0 , b); +wave_0_per_point54= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*0.03+time*0.01; +wave_1_per_point2= +wave_1_per_point3=flip=flip+1; +wave_1_per_point4=flip=flip*below(flip,2); +wave_1_per_point5= +wave_1_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_1_per_point7= +wave_1_per_point8=xp=sin(n+phase); +wave_1_per_point9=yp=cos(n+phase); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//rotate on y during draw +wave_1_per_point13=ang=n*2+phase; +wave_1_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point15=yq=yp; +wave_1_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point17= +wave_1_per_point18=r1=0.1;g1=0.3;b1=1; +wave_1_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_1_per_point20=fade=xq*0.5 + 0.5; +wave_1_per_point21=r=r1*fade + r2*(1-fade); +wave_1_per_point22=g=g1*fade + g2*(1-fade); +wave_1_per_point23=b=b1*fade + b2*(1-fade); +wave_1_per_point24= +wave_1_per_point25=//rotation; +wave_1_per_point26=ang=time*0.1; +wave_1_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_1_per_point28=yp=yq; +wave_1_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_1_per_point30= +wave_1_per_point31=ang=time*0.17; +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=//push into viewspace +wave_1_per_point38=zq=zq+3.1; +wave_1_per_point39= +wave_1_per_point40= +wave_1_per_point41=//project into screenspace +wave_1_per_point42=xs=xq/zq; +wave_1_per_point43=ys=yq/zq; +wave_1_per_point44= +wave_1_per_point45= +wave_1_per_point46=x=xs+0.5; +wave_1_per_point47=y=ys*1.3+0.5; +wave_1_per_point48= +wave_1_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_1_per_point50= +wave_1_per_point51=a=sample*wave*0.4; +wave_1_per_point52= +wave_1_per_point53= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*0.03+time*0.01+2.1; +wave_2_per_point2= +wave_2_per_point3=flip=flip+1; +wave_2_per_point4=flip=flip*below(flip,2); +wave_2_per_point5= +wave_2_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_2_per_point7= +wave_2_per_point8=xp=sin(n+phase); +wave_2_per_point9=yp=cos(n+phase); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//rotate on y during draw +wave_2_per_point13=ang=n*2+phase; +wave_2_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point15=yq=yp; +wave_2_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point17= +wave_2_per_point18=r1=0.1;g1=0.3;b1=1; +wave_2_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_2_per_point20=fade=xq*0.5 + 0.5; +wave_2_per_point21=r=r1*fade + r2*(1-fade); +wave_2_per_point22=g=g1*fade + g2*(1-fade); +wave_2_per_point23=b=b1*fade + b2*(1-fade); +wave_2_per_point24= +wave_2_per_point25=//rotation; +wave_2_per_point26=ang=time*0.1; +wave_2_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_2_per_point28=yp=yq; +wave_2_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_2_per_point30= +wave_2_per_point31=ang=time*0.17; +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37=//push into viewspace +wave_2_per_point38=zq=zq+3.1; +wave_2_per_point39= +wave_2_per_point40= +wave_2_per_point41=//project into screenspace +wave_2_per_point42=xs=xq/zq; +wave_2_per_point43=ys=yq/zq; +wave_2_per_point44= +wave_2_per_point45= +wave_2_per_point46=x=xs+0.5; +wave_2_per_point47=y=ys*1.3+0.5; +wave_2_per_point48= +wave_2_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_2_per_point50= +wave_2_per_point51=a=sample*wave*0.4; +wave_2_per_point52= +wave_2_per_point53= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*0.03+time*0.01+4.2; +wave_3_per_point2= +wave_3_per_point3=flip=flip+1; +wave_3_per_point4=flip=flip*below(flip,2); +wave_3_per_point5= +wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_3_per_point7= +wave_3_per_point8=xp=sin(n+phase); +wave_3_per_point9=yp=cos(n+phase); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//rotate on y during draw +wave_3_per_point13=ang=n*2+phase; +wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yq=yp; +wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=r1=0.1;g1=0.3;b1=1; +wave_3_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_3_per_point20=fade=xq*0.5 + 0.5; +wave_3_per_point21=r=r1*fade + r2*(1-fade); +wave_3_per_point22=g=g1*fade + g2*(1-fade); +wave_3_per_point23=b=b1*fade + b2*(1-fade); +wave_3_per_point24= +wave_3_per_point25=//rotation; +wave_3_per_point26=ang=time*0.1; +wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point28=yp=yq; +wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point30= +wave_3_per_point31=ang=time*0.17; +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=//push into viewspace +wave_3_per_point38=zq=zq+3.1; +wave_3_per_point39= +wave_3_per_point40= +wave_3_per_point41=//project into screenspace +wave_3_per_point42=xs=xq/zq; +wave_3_per_point43=ys=yq/zq; +wave_3_per_point44= +wave_3_per_point45= +wave_3_per_point46=x=xs+0.5; +wave_3_per_point47=y=ys*1.3+0.5; +wave_3_per_point48= +wave_3_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_3_per_point50= +wave_3_per_point51=a=sample*wave*0.4; +wave_3_per_point52= +wave_3_per_point53= +shapecode_0_enabled=1 +shapecode_0_sides=15 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.134785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.628347 +shapecode_0_r=0.300000 +shapecode_0_g=0.800000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=11 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.102010 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.300000 +shapecode_1_g=0.600000 +shapecode_1_b=1.000000 +shapecode_1_a=0.380000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=10 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.947610 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.500000 +shapecode_2_g=0.200000 +shapecode_2_b=0.800000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a=mid_att*mid_att*mid*0.002 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.200000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=time*0.1; +shape_3_per_frame2=a=mid*mid_att; +shape_3_per_frame3=a=min(a,1); +shape_3_per_frame4=a=1-a*0.4 * above(treb,0.9) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=vol=(bass_att+mid_att+treb_att)*0.29; +per_frame_2=vol=min(vol,1); +per_frame_3= +per_frame_4=decay=0.75 + vol*0.20; +per_frame_5=decay=0.98; +per_frame_6=zoom=1.0025; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=vol=vol*vol; +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13= +per_pixel_1=bb=1-rad*3; +per_pixel_2=bb=max(bb,0); +per_pixel_3=bb=bb*bb; +per_pixel_4=zoom=zoom+bb*0.1*q8 diff --git a/presets/presets_milkdrop_104/EoS 3d-glasses.milk b/presets/presets_milkdrop_104/EoS 3d-glasses.milk new file mode 100644 index 0000000000..f80658466e --- /dev/null +++ b/presets/presets_milkdrop_104/EoS 3d-glasses.milk @@ -0,0 +1,519 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=2.695696 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.049138 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.069609 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=1.000000 +mv_g=0.800000 +mv_b=0.600000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2= +wave_0_per_frame3=basstime=basstime+bass; +wave_0_per_frame4=t1=basstime; +wave_0_per_point1=masterspeed=604*q1; +wave_0_per_point2=masterspeed=3; +wave_0_per_point3=rotation1=time*0.01; +wave_0_per_point4= +wave_0_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_0_per_point6=perspective=0.7; +wave_0_per_point7= +wave_0_per_point8=//error bump +wave_0_per_point9=error = sin(time*128.5)*8 - 7; +wave_0_per_point10=error = error * above(error,0); +wave_0_per_point11=error=error+1; +wave_0_per_point12=error=1; +wave_0_per_point13= +wave_0_per_point14=//plot x,y,z to point on sphere +wave_0_per_point15=flx=sin(tm*14); +wave_0_per_point16=fly=cos(tm*14); +wave_0_per_point17=smp=sample*6.283; +wave_0_per_point18=xp=sin(smp*masterspeed )*0.65 * error; +wave_0_per_point19=yp=cos(smp*masterspeed )*0.65 * error; +wave_0_per_point20=zp=0; +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=//rotate on y axis; +wave_0_per_point25=angy=time*43; +wave_0_per_point26=angy=q1*3; +wave_0_per_point27=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point28=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point29=xp=xq; +wave_0_per_point30=zp=zq; +wave_0_per_point31= +wave_0_per_point32=t2=xp; +wave_0_per_point33=t3=yp; +wave_0_per_point34=t4=zp; +wave_0_per_point35= +wave_0_per_point36=//rotate on x axis +wave_0_per_point37=axs1 = sin(time*0.2) + 1.6; +wave_0_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point40=yp=yq; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//rotate on y axis again +wave_0_per_point44=axs2 = sin(time*0.1)*3.3; +wave_0_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point47=xp=xq; +wave_0_per_point48=zp=zq; +wave_0_per_point49= +wave_0_per_point50=//stretch y axis to compensate for aspect ratio +wave_0_per_point51=yp=yp*1.2; +wave_0_per_point52= +wave_0_per_point53=//push forward into viewpace +wave_0_per_point54=zp=zp+2.1; +wave_0_per_point55= +wave_0_per_point56=//project x,y,z into screenspace +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=//center 0,0 in middle of screen +wave_0_per_point61=x=xs+0.5; +wave_0_per_point62=y=ys+0.5; +wave_0_per_point63= +wave_0_per_point64=r=(value1+0.5)*0.0; +wave_0_per_point65=g=(value1+0.5)*0.1; +wave_0_per_point66=b=(value1+0.5)*0.4; +wave_0_per_point67= +wavecode_1_enabled=1 +wavecode_1_samples=511 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tm=tm+bass*0.02; +wave_1_per_frame2=t2=sin(tm*1) * 0.4; +wave_1_per_frame3=t3=cos(tm*1) * 0.4; +wave_1_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_1_per_point1=masterspeed=604*q1; +wave_1_per_point2=masterspeed=3; +wave_1_per_point3=rotation1=time*0.01; +wave_1_per_point4= +wave_1_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point6=perspective=0.7; +wave_1_per_point7= +wave_1_per_point8=//error bump +wave_1_per_point9=error = sin(time*128.5)*8 - 7; +wave_1_per_point10=error = error * above(error,0); +wave_1_per_point11=error=error+1; +wave_1_per_point12=error=1; +wave_1_per_point13= +wave_1_per_point14=//plot x,y,z to point on sphere +wave_1_per_point15=flx=sin(tm*14); +wave_1_per_point16=fly=cos(tm*14); +wave_1_per_point17=smp=sample*6.283; +wave_1_per_point18=xp=sin(smp*masterspeed )*0.65 * error; +wave_1_per_point19=yp=cos(smp*masterspeed )*0.65 * error; +wave_1_per_point20=zp=0; +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=//rotate on y axis; +wave_1_per_point25=angy=q1*3 + 1.57; +wave_1_per_point26=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point27=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point28=xp=xq; +wave_1_per_point29=zp=zq; +wave_1_per_point30= +wave_1_per_point31=t2=xp; +wave_1_per_point32=t3=yp; +wave_1_per_point33=t4=zp; +wave_1_per_point34= +wave_1_per_point35=//rotate on x axis +wave_1_per_point36=axs1 = sin(time*0.2) + 1.6; +wave_1_per_point37=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point38=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point39=yp=yq; +wave_1_per_point40=zp=zq; +wave_1_per_point41= +wave_1_per_point42=//rotate on y axis again +wave_1_per_point43=axs2 = sin(time*0.1)*3.3; +wave_1_per_point44=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point45=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point46=xp=xq; +wave_1_per_point47=zp=zq; +wave_1_per_point48= +wave_1_per_point49=//stretch y axis to compensate for aspect ratio +wave_1_per_point50=yp=yp*1.2; +wave_1_per_point51= +wave_1_per_point52=//push forward into viewpace +wave_1_per_point53=zp=zp+2.1; +wave_1_per_point54= +wave_1_per_point55=//project x,y,z into screenspace +wave_1_per_point56=xs=xp/zp; +wave_1_per_point57=ys=yp/zp; +wave_1_per_point58= +wave_1_per_point59=//center 0,0 in middle of screen +wave_1_per_point60=x=xs+0.5; +wave_1_per_point61=y=ys+0.5; +wave_1_per_point62= +wave_1_per_point63=r=(value1+0.5)*0.0; +wave_1_per_point64=g=(value1+0.5)*0.1; +wave_1_per_point65=b=(value1+0.5)*0.4; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm=tm+mid*0.02; +wave_2_per_frame2=t2=sin(tm*1) * 0.5; +wave_2_per_frame3=t3=cos(tm*1) * 0.5; +wave_2_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_2_per_point1=masterspeed=604*q1; +wave_2_per_point2=masterspeed=3; +wave_2_per_point3=rotation1=time*0.01; +wave_2_per_point4= +wave_2_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_2_per_point6=perspective=0.7; +wave_2_per_point7= +wave_2_per_point8=//error bump +wave_2_per_point9=error = sin(time*128.5)*8 - 7; +wave_2_per_point10=error = error * above(error,0); +wave_2_per_point11=error=error+1; +wave_2_per_point12=error=1; +wave_2_per_point13= +wave_2_per_point14=//plot x,y,z to point on sphere +wave_2_per_point15=flx=sin(tm*14); +wave_2_per_point16=fly=cos(tm*14); +wave_2_per_point17=smp=sample*6.283; +wave_2_per_point18=xp=sin(smp*masterspeed )*0.65 * error; +wave_2_per_point19=yp=cos(smp*masterspeed )*0.65 * error; +wave_2_per_point20=zp=0; +wave_2_per_point21= +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=//rotate on y axis; +wave_2_per_point25=angy=time*43; +wave_2_per_point26=angy=q1*3; +wave_2_per_point27=xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point28=zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point29=xp=xq; +wave_2_per_point30=zp=zq; +wave_2_per_point31= +wave_2_per_point32=t2=xp; +wave_2_per_point33=t3=yp; +wave_2_per_point34=t4=zp; +wave_2_per_point35= +wave_2_per_point36=//rotate on x axis +wave_2_per_point37=axs1 = sin(time*0.2) + 1.6; +wave_2_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point40=yp=yq; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//rotate on y axis again +wave_2_per_point44=axs2 = sin(time*0.1)*3.3; +wave_2_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point47=xp=xq; +wave_2_per_point48=zp=zq; +wave_2_per_point49= +wave_2_per_point50=//stretch y axis to compensate for aspect ratio +wave_2_per_point51=yp=yp*1.2; +wave_2_per_point52= +wave_2_per_point53=//move left +wave_2_per_point54=xp=xp+0.04; +wave_2_per_point55= +wave_2_per_point56=//push forward into viewpace +wave_2_per_point57=zp=zp+2.1; +wave_2_per_point58= +wave_2_per_point59=//project x,y,z into screenspace +wave_2_per_point60=xs=xp/zp; +wave_2_per_point61=ys=yp/zp; +wave_2_per_point62= +wave_2_per_point63=//center 0,0 in middle of screen +wave_2_per_point64=x=xs+0.5; +wave_2_per_point65=y=ys+0.5; +wave_2_per_point66= +wave_2_per_point67=r=(value1+0.5)*0.4; +wave_2_per_point68=g=(value1+0.5)*0.0; +wave_2_per_point69=b=(value1+0.5)*0.0; +wave_2_per_point70= +wave_2_per_point71= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tm=tm+treb*0.02; +wave_3_per_frame2=t2=sin(tm*1) * 0.6; +wave_3_per_frame3=t3=cos(tm*1) * 0.6; +wave_3_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; +wave_3_per_point1=masterspeed=604*q1; +wave_3_per_point2=masterspeed=3; +wave_3_per_point3=rotation1=time*0.01; +wave_3_per_point4= +wave_3_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point6=perspective=0.7; +wave_3_per_point7= +wave_3_per_point8=//error bump +wave_3_per_point9=error = sin(time*128.5)*8 - 7; +wave_3_per_point10=error = error * above(error,0); +wave_3_per_point11=error=error+1; +wave_3_per_point12=error=1; +wave_3_per_point13= +wave_3_per_point14=//plot x,y,z to point on sphere +wave_3_per_point15=flx=sin(tm*14); +wave_3_per_point16=fly=cos(tm*14); +wave_3_per_point17=smp=sample*6.283; +wave_3_per_point18=xp=sin(smp*masterspeed )*0.65 * error; +wave_3_per_point19=yp=cos(smp*masterspeed )*0.65 * error; +wave_3_per_point20=zp=0; +wave_3_per_point21= +wave_3_per_point22= +wave_3_per_point23= +wave_3_per_point24=//rotate on y axis; +wave_3_per_point25=angy=time*43; +wave_3_per_point26=angy=q1*3 + 1.57; +wave_3_per_point27=xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point28=zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point29=xp=xq; +wave_3_per_point30=zp=zq; +wave_3_per_point31= +wave_3_per_point32=t2=xp; +wave_3_per_point33=t3=yp; +wave_3_per_point34=t4=zp; +wave_3_per_point35= +wave_3_per_point36=//rotate on x axis +wave_3_per_point37=axs1 = sin(time*0.2) + 1.6; +wave_3_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point40=yp=yq; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//rotate on y axis again +wave_3_per_point44=axs2 = sin(time*0.1)*3.3; +wave_3_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point47=xp=xq; +wave_3_per_point48=zp=zq; +wave_3_per_point49= +wave_3_per_point50=//stretch y axis to compensate for aspect ratio +wave_3_per_point51=yp=yp*1.2; +wave_3_per_point52= +wave_3_per_point53=//move left +wave_3_per_point54=xp=xp+0.04; +wave_3_per_point55= +wave_3_per_point56=//push forward into viewpace +wave_3_per_point57=zp=zp+2.1; +wave_3_per_point58= +wave_3_per_point59=//project x,y,z into screenspace +wave_3_per_point60=xs=xp/zp; +wave_3_per_point61=ys=yp/zp; +wave_3_per_point62= +wave_3_per_point63=//center 0,0 in middle of screen +wave_3_per_point64=x=xs+0.5; +wave_3_per_point65=y=ys+0.5; +wave_3_per_point66= +wave_3_per_point67=r=(value1+0.5)*0.4; +wave_3_per_point68=g=(value1+0.5)*0.0; +wave_3_per_point69=b=(value1+0.5)*0.0; +wave_3_per_point70= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=zoom=1.003; +per_frame_3=ms=sin(time*0.6); +per_frame_4=mss=mss+ms*0.1; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=rot=sin(time)*0.01; +per_frame_9= +per_frame_10=echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=zoom=1.01 +per_frame_12= +per_frame_13= +per_pixel_1=dx=sin(time*0.5)*0.003*rad; +per_pixel_2=dy=cos(time*0.5)*0.003*rad; diff --git a/presets/presets_milkdrop_104/EoS and Zylot - skylight (Stained Glass Majesty mix).milk b/presets/presets_milkdrop_104/EoS and Zylot - skylight (Stained Glass Majesty mix).milk new file mode 100644 index 0000000000..9e9f76cd5a --- /dev/null +++ b/presets/presets_milkdrop_104/EoS and Zylot - skylight (Stained Glass Majesty mix).milk @@ -0,0 +1,266 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.000000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=0.300000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_milkdrop_104/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk b/presets/presets_milkdrop_104/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk new file mode 100644 index 0000000000..e37f12ff42 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk @@ -0,0 +1,386 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=-0.523285 +mv_dy=-0.160162 +mv_l=0.055000 +mv_r=0.934155 +mv_g=0.462715 +mv_b=0.821308 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.005; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10)+((cos(time)*x)*(0.2*bass)); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10)+((sin(time)*y)*(0.2*bass)); +wave_0_per_point3=r = 1; +wave_0_per_point4=b = 0; +wave_0_per_point5=g = .5; +wave_0_per_point6=a=pow(1-sample,2) +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36= +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.7; +wave_2_per_point34=b=0.2; +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.355809 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141594 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.950000 +shapecode_0_g=0.960000 +shapecode_0_b=0.830000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=treb*0.01; +shape_0_per_frame2= +shape_0_per_frame3=bump=sin(time*2 + mid)*0.5+0.5; +shape_0_per_frame4=bump2=- pow(bump,4);//wide negative bump +shape_0_per_frame5=bump= pow(bump,8);//sharp positive bump +shape_0_per_frame6=rad=rad+bump*0.049 + bump2*0.020 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.364567 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.050000 +shapecode_1_g=0.040000 +shapecode_1_b=0.190000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.060000 +shape_1_per_frame1=rad=bass/9; +shape_1_per_frame2=ang=bass*6.14; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.995; +per_frame_2=zoom=-1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=rot=((rad/100*x)*bass*1.5)* if( above( sin(time),0) , 1 , -1); diff --git a/presets/presets_milkdrop_104/EoS planetfunk-10 - tracers E_phat_edit.milk b/presets/presets_milkdrop_104/EoS planetfunk-10 - tracers E_phat_edit.milk new file mode 100644 index 0000000000..e21ff40435 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS planetfunk-10 - tracers E_phat_edit.milk @@ -0,0 +1,470 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.120321 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.080814 +sx=1.020100 +sy=1.020100 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=24.159897 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=q8=1.5 +wave_0_per_point1=masterspeed=30; +wave_0_per_point2= +wave_0_per_point3=tm=time*masterspeed*0.1; +wave_0_per_point4=perspective=0.7; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=//plot x,y shape at z=0 +wave_0_per_point8=smp=sample*6.283; +wave_0_per_point9= +wave_0_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; +wave_0_per_point11= +wave_0_per_point12=xp=sin(smp )*0.65; +wave_0_per_point13=xp=xp*pinch; +wave_0_per_point14=yp=cos(smp )*0.65; +wave_0_per_point15=yp=yp*pinch; +wave_0_per_point16=zp=0; +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=//rotate on y axis; +wave_0_per_point20=angy=q1*10 + sample*0; +wave_0_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point23=xp=xq; +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rotate on x axis +wave_0_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_0_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point30=yp=yq; +wave_0_per_point31=zp=zq; +wave_0_per_point32= +wave_0_per_point33=//rotate on y axis again +wave_0_per_point34=axs2 = sin(time*0.45)*3.3; +wave_0_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point37=xp=xq; +wave_0_per_point38=zp=zq; +wave_0_per_point39= +wave_0_per_point40=//stretch y axis to compensate for aspect ratio +wave_0_per_point41=yp=yp*1.2; +wave_0_per_point42= +wave_0_per_point43=//push forward into viewpace +wave_0_per_point44=zp=zp+2.1; +wave_0_per_point45= +wave_0_per_point46=//project x,y,z into screenspace +wave_0_per_point47=xs=xp/zp; +wave_0_per_point48=ys=yp/zp; +wave_0_per_point49= +wave_0_per_point50=//center 0,0 in middle of screen +wave_0_per_point51=x=xs+0.5; +wave_0_per_point52=y=ys+0.5; +wave_0_per_point53= +wave_0_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_0_per_point55=r=1.00*dark; +wave_0_per_point56=g=0.32*dark; +wave_0_per_point57=b=0.26*dark; +wave_0_per_point58= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=masterspeed=30; +wave_1_per_point2= +wave_1_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point4=perspective=0.7; +wave_1_per_point5= +wave_1_per_point6=//plot x,y,z to point on sphere +wave_1_per_point7=smp=sample*6.283; +wave_1_per_point8= +wave_1_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; +wave_1_per_point10= +wave_1_per_point11=xp=sin(smp )*0.65; +wave_1_per_point12=xp=xp*pinch; +wave_1_per_point13=yp=cos(smp )*0.65; +wave_1_per_point14=yp=yp*pinch; +wave_1_per_point15=zp=0; +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18= +wave_1_per_point19=//rotate on y axis; +wave_1_per_point20=angy=time*33; +wave_1_per_point21=angy=q1*10 + sample*0; +wave_1_per_point22=angy=angy+1.5; +wave_1_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point25=xp=xq; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//rotate on x axis +wave_1_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_1_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point32=yp=yq; +wave_1_per_point33=zp=zq; +wave_1_per_point34= +wave_1_per_point35=//rotate on y axis again +wave_1_per_point36=axs2 = sin(time*0.45)*3.3; +wave_1_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point39=xp=xq; +wave_1_per_point40=zp=zq; +wave_1_per_point41= +wave_1_per_point42=//stretch y axis to compensate for aspect ratio +wave_1_per_point43=yp=yp*1.2; +wave_1_per_point44= +wave_1_per_point45=//push forward into viewpace +wave_1_per_point46=zp=zp+2.1; +wave_1_per_point47= +wave_1_per_point48=//project x,y,z into screenspace +wave_1_per_point49=xs=xp/zp; +wave_1_per_point50=ys=yp/zp; +wave_1_per_point51= +wave_1_per_point52=//center 0,0 in middle of screen +wave_1_per_point53=x=xs+0.5; +wave_1_per_point54=y=ys+0.5; +wave_1_per_point55= +wave_1_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_1_per_point57=r=1.00*dark; +wave_1_per_point58=g=0.22*dark; +wave_1_per_point59=b=(0.16+(bass*0.1))*dark; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=q8=1.5 +wave_2_per_point1=masterspeed=30; +wave_2_per_point2= +wave_2_per_point3=tm=time*masterspeed*0.1; +wave_2_per_point4=perspective=0.7; +wave_2_per_point5= +wave_2_per_point6= +wave_2_per_point7=//plot x,y shape at z=0 +wave_2_per_point8=smp=sample*6.283; +wave_2_per_point9= +wave_2_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; +wave_2_per_point11= +wave_2_per_point12=xp=sin(smp )*0.65; +wave_2_per_point13=xp=xp*pinch; +wave_2_per_point14=yp=cos(smp )*0.65; +wave_2_per_point15=yp=yp*pinch; +wave_2_per_point16=zp=0; +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=//rotate on y axis; +wave_2_per_point20=angy=q1*10 + sample*0; +wave_2_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point23=xp=xq; +wave_2_per_point24=zp=zq; +wave_2_per_point25= +wave_2_per_point26=//rotate on x axis +wave_2_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_2_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point30=yp=yq; +wave_2_per_point31=zp=zq; +wave_2_per_point32= +wave_2_per_point33=//rotate on y axis again +wave_2_per_point34=axs2 = sin(time*0.45)*3.3; +wave_2_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point37=xp=xq; +wave_2_per_point38=zp=zq; +wave_2_per_point39= +wave_2_per_point40=//stretch y axis to compensate for aspect ratio +wave_2_per_point41=yp=yp*1.2; +wave_2_per_point42= +wave_2_per_point43=//push forward into viewpace +wave_2_per_point44=zp=zp+2.1; +wave_2_per_point45= +wave_2_per_point46=//project x,y,z into screenspace +wave_2_per_point47=xs=xp/zp; +wave_2_per_point48=ys=yp/zp; +wave_2_per_point49= +wave_2_per_point50=//center 0,0 in middle of screen +wave_2_per_point51=x=(-1*xs)+0.5; +wave_2_per_point52=y=ys+0.5; +wave_2_per_point53= +wave_2_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_2_per_point55=r=1.00*dark; +wave_2_per_point56=g=0.32*dark; +wave_2_per_point57=b=0.36*dark; +wave_2_per_point58= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=masterspeed=30; +wave_3_per_point2= +wave_3_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point4=perspective=0.7; +wave_3_per_point5= +wave_3_per_point6=//plot x,y,z to point on sphere +wave_3_per_point7=smp=sample*6.283; +wave_3_per_point8= +wave_3_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; +wave_3_per_point10= +wave_3_per_point11=xp=sin(smp )*0.65; +wave_3_per_point12=xp=xp*pinch; +wave_3_per_point13=yp=cos(smp )*0.65; +wave_3_per_point14=yp=yp*pinch; +wave_3_per_point15=zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=//rotate on y axis; +wave_3_per_point20=angy=time*33; +wave_3_per_point21=angy=q1*10 + sample*0; +wave_3_per_point22=angy=angy+1.5; +wave_3_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point25=xp=xq; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//rotate on x axis +wave_3_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_3_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point32=yp=yq; +wave_3_per_point33=zp=zq; +wave_3_per_point34= +wave_3_per_point35=//rotate on y axis again +wave_3_per_point36=axs2 = sin(time*0.45)*3.3; +wave_3_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point39=xp=xq; +wave_3_per_point40=zp=zq; +wave_3_per_point41= +wave_3_per_point42=//stretch y axis to compensate for aspect ratio +wave_3_per_point43=yp=yp*1.2; +wave_3_per_point44= +wave_3_per_point45=//push forward into viewpace +wave_3_per_point46=zp=zp+2.1; +wave_3_per_point47= +wave_3_per_point48=//project x,y,z into screenspace +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=ys=yp/zp; +wave_3_per_point51= +wave_3_per_point52=//center 0,0 in middle of screen +wave_3_per_point53=x=-xs+0.5; +wave_3_per_point54=y=ys+0.5; +wave_3_per_point55= +wave_3_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_3_per_point57=r=0.82*dark; +wave_3_per_point58=g=0.02*dark; +wave_3_per_point59=b=0.26*dark; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=//zoom=1.008; +per_frame_3=ms=sin(time*0.6)*0.15; +per_frame_4=mss=mss+ms*0.001; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=dx=0;dy=0 +per_frame_12= +per_frame_13= +per_pixel_1=it = 0.3*sin(time*0.2); +per_pixel_2=radm = rad*0.5; +per_pixel_3=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod; +per_pixel_6=zoom = -1 + abs(0.01*mod); diff --git a/presets/presets_milkdrop_104/EoS+Phat - Arm_upgrades - transformer.milk b/presets/presets_milkdrop_104/EoS+Phat - Arm_upgrades - transformer.milk new file mode 100644 index 0000000000..a5780cfb33 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - Arm_upgrades - transformer.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=65 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.020088 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shape_1_per_frame5= +shape_1_per_frame6=vol= (mid*mid+treb*treb); +shape_1_per_frame7=vol=vol* above(vol,1); +shape_1_per_frame8=//ang=ang+ vol*0.1; +shape_1_per_frame9=ang=(sin(time/2)*0.5+0.5)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(44/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos diff --git a/presets/presets_milkdrop_104/EoS+Phat - Flare.milk b/presets/presets_milkdrop_104/EoS+Phat - Flare.milk new file mode 100644 index 0000000000..70d0227309 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - Flare.milk @@ -0,0 +1,278 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001820 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=68 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.374926 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(26/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos +per_pixel_1=rot=rad*20+ang; diff --git a/presets/presets_milkdrop_104/EoS+Phat - Flare_dig_mix.milk b/presets/presets_milkdrop_104/EoS+Phat - Flare_dig_mix.milk new file mode 100644 index 0000000000..4dd95e4767 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - Flare_dig_mix.milk @@ -0,0 +1,279 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.940000 +fVideoEchoZoom=1.001819 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.155000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662300 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=68 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.374926 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.166780 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364567 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(26/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos +per_pixel_1=rot=rad/(ang+0.1); diff --git a/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble field.milk b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble field.milk new file mode 100644 index 0000000000..c7ada56216 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble field.milk @@ -0,0 +1,274 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=19 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.028415 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.380914 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866421 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.347837 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5 + sin(time)*0.003; +shape_1_per_frame3=y=.5 + cos(time*3)*0.003; +shape_1_per_frame4= +shape_1_per_frame5=spl = spl-0.01; +shape_1_per_frame6=spl = if( below(spl,0) , 1 , spl); +shape_1_per_frame7=tex_zoom=1 + (1-spl*spl); +shape_1_per_frame8=a = min( 1, spl*3) +shapecode_2_enabled=1 +shapecode_2_sides=22 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.449289 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.216705 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=tex_ang=sin(time*0.5); +shape_2_per_frame2=sn=sign(tex_ang); +shape_2_per_frame3=tex_ang = tex_ang*tex_ang*sn*0.5; +shape_2_per_frame4=thick=above(.9,bass); +shape_2_per_frame5=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(60/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=//dx=sin(musictime*0.1)*0.03; +per_frame_20=//dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29=zoom=1; +per_frame_30=dx=0; +per_frame_31=dy=0; +per_frame_32=cx=sin(time*0.25) + 0.5; +per_frame_33=cy=sin(time*0.125) + 0.5; +per_frame_34=sy=0.5 + (sin(time*0.5)*0.5+0.5)*0.25; +per_frame_35=sx=sy*0.95; +per_frame_36=rot=sin(time*0.31)*0.6 diff --git a/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk new file mode 100644 index 0000000000..3c6cab9620 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk @@ -0,0 +1,479 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_frame1=t1= sin(time*0.5)*1 +wave_0_per_point1= +wave_0_per_point2=n=sample*6.283; +wave_0_per_point3=size=0.165; +wave_0_per_point4= +wave_0_per_point5=x=sin(n)*size + 0.5; +wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point7= +wave_0_per_point8=f=t1; +wave_0_per_point9=//r=sin(n*3+f)*0.5 + 0.5; +wave_0_per_point10=//g=sin(n*3+f*1.5)*0.5+0.5; +wave_0_per_point11=//b=sin(n*3+f*2.0)*0.5 + 0.5; +wave_0_per_point12=r=0;g=0;b=0 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t1=1 +wave_1_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=t1=-t1; +wave_1_per_point3= +wave_1_per_point4= +wave_1_per_point5=phs=-sample*0.5; +wave_1_per_point6= +wave_1_per_point7= +wave_1_per_point8=xp=t1*sample*0.05; +wave_1_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_1_per_point10=yp=0; +wave_1_per_point11=zp=1; +wave_1_per_point12= +wave_1_per_point13=tm=q8*0.65; +wave_1_per_point14= +wave_1_per_point15=ang=(tm+phs*0.8)*8; +wave_1_per_point16=sang=sin(ang);cang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sang + zp*cang; +wave_1_per_point19=zq=yp*cang - zp*sang; +wave_1_per_point20=xp=xq;yp=yq;zp=zq; +wave_1_per_point21= +wave_1_per_point22=ang=(tm+phs)*0.2; +wave_1_per_point23=sang=sin(ang);cang=cos(ang); +wave_1_per_point24=xq=xp*sang + yp*cang; +wave_1_per_point25=yq=xp*cang - yp*sang; +wave_1_per_point26=zq=zp; +wave_1_per_point27=xp=xq;yp=yq;zp=zq; +wave_1_per_point28= +wave_1_per_point29=ang=(tm+phs)*0.37; +wave_1_per_point30=sang=sin(ang);cang=cos(ang); +wave_1_per_point31=xq=xp*sang + zp*cang; +wave_1_per_point32=yq=yp; +wave_1_per_point33=zq=xp*cang - zp*sang; +wave_1_per_point34=xp=xq;yp=yq;zp=zq; +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=backside = above(zp,0); +wave_1_per_point38= +wave_1_per_point39=zp=zp+2.5; +wave_1_per_point40=x=xp/zp+0.5; +wave_1_per_point41=y=yp/zp*1.33+0.5; +wave_1_per_point42= +wave_1_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_1_per_point44= +wave_1_per_point45=backside=backside*below(rd,0.645); +wave_1_per_point46=kill=1-backside; +wave_1_per_point47= +wave_1_per_point48=rs=sample; +wave_1_per_point49=rr=(rs-int(rs))*2; +wave_1_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_1_per_point51=r=min(rr,1)*above(rr,0); +wave_1_per_point52= +wave_1_per_point53=gs=sample*1.1; +wave_1_per_point54=gg=(gs-int(gs))*2; +wave_1_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_1_per_point56=g=min(gg,1)*above(gg,0); +wave_1_per_point57= +wave_1_per_point58=bs=sample*1.2; +wave_1_per_point59=bb=(bs-int(bs))*2; +wave_1_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_1_per_point61=b=min(bb,1)*above(bb,0); +wave_1_per_point62= +wave_1_per_point63=r=1-sample; +wave_1_per_point64=g=r*r; +wave_1_per_point65=b=sample*0.5; +wave_1_per_point66=a=min( (1-sample)*8 , 1)*kill +wave_1_per_point67= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1=1 +wave_2_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=t1=-t1; +wave_2_per_point3= +wave_2_per_point4= +wave_2_per_point5=phs=-sample*0.5+0.0006; +wave_2_per_point6= +wave_2_per_point7= +wave_2_per_point8=xp=t1*sample*0.05; +wave_2_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_2_per_point10=yp=0; +wave_2_per_point11=zp=1; +wave_2_per_point12= +wave_2_per_point13=tm=q8*0.65; +wave_2_per_point14= +wave_2_per_point15=ang=(tm+phs*0.8)*7; +wave_2_per_point16=sang=sin(ang);cang=cos(ang); +wave_2_per_point17=xq=xp; +wave_2_per_point18=yq=yp*sang + zp*cang; +wave_2_per_point19=zq=yp*cang - zp*sang; +wave_2_per_point20=xp=xq;yp=yq;zp=zq; +wave_2_per_point21= +wave_2_per_point22=ang=(tm+phs)*0.24; +wave_2_per_point23=sang=sin(ang);cang=cos(ang); +wave_2_per_point24=xq=xp*sang + yp*cang; +wave_2_per_point25=yq=xp*cang - yp*sang; +wave_2_per_point26=zq=zp; +wave_2_per_point27=xp=xq;yp=yq;zp=zq; +wave_2_per_point28= +wave_2_per_point29=ang=(tm+phs)*0.31; +wave_2_per_point30=sang=sin(ang);cang=cos(ang); +wave_2_per_point31=xq=xp*sang + zp*cang; +wave_2_per_point32=yq=yp; +wave_2_per_point33=zq=xp*cang - zp*sang; +wave_2_per_point34=xp=xq;yp=yq;zp=zq; +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37=backside = above(zp,0); +wave_2_per_point38= +wave_2_per_point39=zp=zp+2.5; +wave_2_per_point40=x=xp/zp+0.5; +wave_2_per_point41=y=yp/zp*1.33+0.5; +wave_2_per_point42= +wave_2_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_2_per_point44= +wave_2_per_point45=backside=backside*below(rd,0.645); +wave_2_per_point46=kill=1-backside; +wave_2_per_point47= +wave_2_per_point48=rs=sample; +wave_2_per_point49=rr=(rs-int(rs))*2; +wave_2_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_2_per_point51=r=min(rr,1)*above(rr,0); +wave_2_per_point52= +wave_2_per_point53=gs=sample*1.1; +wave_2_per_point54=gg=(gs-int(gs))*2; +wave_2_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_2_per_point56=g=min(gg,1)*above(gg,0); +wave_2_per_point57= +wave_2_per_point58=bs=sample*1.2; +wave_2_per_point59=bb=(bs-int(bs))*2; +wave_2_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_2_per_point61=b=min(bb,1)*above(bb,0); +wave_2_per_point62= +wave_2_per_point63=r=1-sample; +wave_2_per_point64=g=r*r; +wave_2_per_point65=b=sample*0.5; +wave_2_per_point66= +wave_2_per_point67=a=min( (1-sample)*8 , 1)*kill +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=t1=-1 +wave_3_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=t1=-t1; +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=phs=-sample*0.5; +wave_3_per_point6= +wave_3_per_point7= +wave_3_per_point8=xp=t1*sample*0.05; +wave_3_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_3_per_point10=yp=0; +wave_3_per_point11=zp=1; +wave_3_per_point12= +wave_3_per_point13=tm=q8*0.65; +wave_3_per_point14= +wave_3_per_point15=ang=(tm+phs*0.8)*9; +wave_3_per_point16=sang=sin(ang);cang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sang + zp*cang; +wave_3_per_point19=zq=yp*cang - zp*sang; +wave_3_per_point20=xp=xq;yp=yq;zp=zq; +wave_3_per_point21= +wave_3_per_point22=ang=(tm+phs)*0.34; +wave_3_per_point23=sang=sin(ang);cang=cos(ang); +wave_3_per_point24=xq=xp*sang + yp*cang; +wave_3_per_point25=yq=xp*cang - yp*sang; +wave_3_per_point26=zq=zp; +wave_3_per_point27=xp=xq;yp=yq;zp=zq; +wave_3_per_point28= +wave_3_per_point29=ang=(tm+phs)*0.27; +wave_3_per_point30=sang=sin(ang);cang=cos(ang); +wave_3_per_point31=xq=xp*sang + zp*cang; +wave_3_per_point32=yq=yp; +wave_3_per_point33=zq=xp*cang - zp*sang; +wave_3_per_point34=xp=xq;yp=yq;zp=zq; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=backside = above(zp,0); +wave_3_per_point38= +wave_3_per_point39=zp=zp+2.5; +wave_3_per_point40=x=xp/zp+0.5; +wave_3_per_point41=y=yp/zp*1.33+0.5; +wave_3_per_point42= +wave_3_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_3_per_point44= +wave_3_per_point45=backside=backside*below(rd,0.645); +wave_3_per_point46=kill=1-backside; +wave_3_per_point47= +wave_3_per_point48=rs=sample; +wave_3_per_point49=rr=(rs-int(rs))*2; +wave_3_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_3_per_point51=r=min(rr,1)*above(rr,0); +wave_3_per_point52= +wave_3_per_point53=gs=sample*1.1; +wave_3_per_point54=gg=(gs-int(gs))*2; +wave_3_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_3_per_point56=g=min(gg,1)*above(gg,0); +wave_3_per_point57= +wave_3_per_point58=bs=sample*1.2; +wave_3_per_point59=bb=(bs-int(bs))*2; +wave_3_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_3_per_point61=b=min(bb,1)*above(bb,0); +wave_3_per_point62= +wave_3_per_point63=r=1-sample; +wave_3_per_point64=g=r*r; +wave_3_per_point65=b=sample*0.5; +wave_3_per_point66=a=min( (1-sample)*8 , 1)*kill +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.049831 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=34 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866421 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.705905 +shapecode_1_r=0.200000 +shapecode_1_g=0.200000 +shapecode_1_b=0.800000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.300000 +shapecode_1_g2=0.300000 +shapecode_1_b2=0.300000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=18 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444841 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999993 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=time; +shape_2_per_frame2=thick=above(.9,bass); +shape_2_per_frame3=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=vol= (mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.03; +per_frame_20=dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24= +per_frame_25=q8=musictime*0.1; +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=warp=rad; +per_pixel_2= +per_pixel_3=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +per_pixel_4= +per_pixel_5=backside=(rd-0.645)*3; +per_pixel_6=backside=min(backside,1); +per_pixel_7=//backside=backside*backside; +per_pixel_8=dx=dx*backside; +per_pixel_9=dy=dy*backside; +per_pixel_10=warp=warp*backside; +per_pixel_11=zoom=1 + 13.291 * pow(min(backside*0.2,1) , 2 ) +per_pixel_12= +per_pixel_13= diff --git a/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors_v2.milk b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors_v2.milk new file mode 100644 index 0000000000..bc9aa8a2d8 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat - spectrum bubble new colors_v2.milk @@ -0,0 +1,276 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1= sin(time*0.5)*1 +wave_0_per_point1= +wave_0_per_point2=n=sample*6.283; +wave_0_per_point3=size=0.165; +wave_0_per_point4= +wave_0_per_point5=x=sin(n)*size + 0.5; +wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point7= +wave_0_per_point8=f=t1; +wave_0_per_point9=r=sin(n*3+f)*0.5 + 0.5; +wave_0_per_point10=g=sin(n*3+f*1.5)*0.5+0.5; +wave_0_per_point11=b=sin(n*3+f*2.0)*0.5 + 0.5; +wave_0_per_point12=//r=r*flux; +wave_0_per_point13=//g=g*flux; +wave_0_per_point14=//b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=flip=-flip; +wave_1_per_point3= +wave_1_per_point4=xp=0; +wave_1_per_point5=yp=0; +wave_1_per_point6=zp=0; +wave_1_per_point7= +wave_1_per_point8= +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=zp=zp+2.1; +wave_1_per_point12=x=xp/zp+0.5; +wave_1_per_point13=y=yp/zp*1.33+0.5; +wave_1_per_point14=r=1;g=1;b=1; +wave_1_per_point15=a=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.049831 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866400 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.160960 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=8 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444841 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999996 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=time; +shape_2_per_frame2=thick=above(.9,bass); +shape_2_per_frame3=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(75/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.03; +per_frame_20=dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; diff --git a/presets/presets_milkdrop_104/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk b/presets/presets_milkdrop_104/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk new file mode 100644 index 0000000000..74e28e2f88 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shape_1_per_frame3=ang = time/5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=//krash's beat detection code +per_frame_31=volume = 0.3*(bass+mid+att); +per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_35=peakbass_att = max(bass_att,peakbass_att); +per_frame_36=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_37=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_38=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_39=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_40=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatcounter = beatcounter + beat; +per_frame_42=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_43=flip = 2*mode-1; +per_frame_44=flip = flip*0.5+0.5; +per_frame_45= +per_frame_46=rot = -time/4 * flip; +per_frame_47= diff --git a/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - light in the distance.milk b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - light in the distance.milk new file mode 100644 index 0000000000..c92f91b830 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - light in the distance.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=//=sin(musictime*0.02)*0.3; +per_frame_18=//q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.07; +per_frame_21=dy=cos(musictime*0.069)*0.07; +per_frame_22= +per_frame_23=q8=musictime; +per_frame_24= +per_frame_25= +per_frame_26=q4=sin(musictime*0.03*0.5)*0.1; +per_frame_27=q5=cos(musictime*0.03*2)*0.1; +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zm=pow(rd,sin(q8*0.02)+2.5)*2; +per_pixel_6=zm=max(zm,0.5); +per_pixel_7=sx=zm; +per_pixel_8=sy=zm diff --git a/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate B.milk b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate B.milk new file mode 100644 index 0000000000..f1ba52567f --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate B.milk @@ -0,0 +1,250 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030299 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(45/fps); +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//=sin(musictime*0.02)*0.3; +per_frame_20=//q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=pow(rd,sin(time)+2.5)*2.0; +per_pixel_6=zoom=max(zoom,0.1) +per_pixel_7= diff --git a/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate nubsy_pointer.milk b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate nubsy_pointer.milk new file mode 100644 index 0000000000..1b4063ddeb --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer - pulsate nubsy_pointer.milk @@ -0,0 +1,245 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.244862 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(55/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=-1*pow(rd,sin(time)+3.5)*3.5 + .5; diff --git a/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer.milk b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer.milk new file mode 100644 index 0000000000..58e5f8d6aa --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Fractical_dancer.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(52/fps); +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//=sin(musictime*0.02)*0.3; +per_frame_20=//q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)*2; diff --git a/presets/presets_milkdrop_104/EoS+Phat Non-eucliden.milk b/presets/presets_milkdrop_104/EoS+Phat Non-eucliden.milk new file mode 100644 index 0000000000..6ec77b52fc --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Non-eucliden.milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.011202 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(50/fps); +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=rd*((rad*0.5)+(0.2))*1.01; diff --git a/presets/presets_milkdrop_104/EoS+Phat Quadrent_fractal.milk b/presets/presets_milkdrop_104/EoS+Phat Quadrent_fractal.milk new file mode 100644 index 0000000000..c2fc676277 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Quadrent_fractal.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.369710 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(40/fps); +per_frame_16= +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.07; +per_frame_21=dy=cos(musictime*0.069)*0.07; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)*((2.5+(bass*0.2))-rd-rd-rd); diff --git a/presets/presets_milkdrop_104/EoS+Phat Speak with the orb_more_colour_mix.milk b/presets/presets_milkdrop_104/EoS+Phat Speak with the orb_more_colour_mix.milk new file mode 100644 index 0000000000..dc34a1a709 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Speak with the orb_more_colour_mix.milk @@ -0,0 +1,253 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=above(treb_att,0.5); +shape_0_per_frame3=r2=sin(time*1.23); +shape_0_per_frame4=g2=cos(time*2.34); +shape_0_per_frame5=b2=sin(time*2.34); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.45; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*3.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=mv_b = 0.5+0.4*sin(2.332*time); +per_frame_10=mv_a = vol*0.2; +per_frame_11=//ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_12=//ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_13=//ib_b = 1-ob_b; +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=zoom=.9; +per_frame_18= +per_frame_19=musictime=musictime+vol*(75/fps); +per_frame_20=q4=sin(musictime*0.02)*0.3; +per_frame_21=q5=sin(musictime*0.01)*0.3; +per_frame_22= +per_frame_23=dx=sin(musictime*0.1)*0.01; +per_frame_24=dy=cos(musictime*0.069)*0.01; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=sx=zm;sy=zm diff --git a/presets/presets_milkdrop_104/EoS+Phat Target_practice.milk b/presets/presets_milkdrop_104/EoS+Phat Target_practice.milk new file mode 100644 index 0000000000..9e95063e5f --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat Target_practice.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=rd*1.01; diff --git a/presets/presets_milkdrop_104/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk b/presets/presets_milkdrop_104/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk new file mode 100644 index 0000000000..d7a3df4cd1 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat detached centerpoint_made_for_highest_texture_size.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.9; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_12=ib_b = 1-ob_b; +per_frame_13= +per_frame_14=monitor=yspeed; +per_frame_15= +per_frame_16=zoom=1; +per_frame_17= +per_frame_18=musictime=musictime+vol*(45/fps); +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.1; +per_frame_23=dy=cos(musictime*0.069)*0.1; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5= +per_pixel_6=zm = log(sqrt(2)-rd) -0.24; +per_pixel_7=zm = max(abs(zm),0.25) * sign(zm); +per_pixel_8=sx=zm;sy=zm diff --git a/presets/presets_milkdrop_104/EoS+Phat detached starpoint_Circle_mix.milk b/presets/presets_milkdrop_104/EoS+Phat detached starpoint_Circle_mix.milk new file mode 100644 index 0000000000..8fbf962676 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat detached starpoint_Circle_mix.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.15; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=musictime=musictime+vol*(55/fps); +per_frame_12=q4=sin(musictime*0.02)*0.3; +per_frame_13=q5=sin(musictime*0.01)*0.3; +per_frame_14= +per_frame_15=dx=sin(musictime*0.1)*0.01; +per_frame_16=dy=cos(musictime*0.069)*0.01; +per_frame_17= +per_frame_18= +per_frame_19= +per_frame_20= +per_frame_21=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zoom=1.3-rd; +per_pixel_6=zm =-2.5*log(sqrt(2)-rd) -0.24; +per_pixel_7=zm = max(abs(zm),.99) * sign(zm); +per_pixel_8=sx=zm;sy=zm diff --git a/presets/presets_milkdrop_104/EoS+Phat last of it's kind_jungle_flower_v2.milk b/presets/presets_milkdrop_104/EoS+Phat last of it's kind_jungle_flower_v2.milk new file mode 100644 index 0000000000..ad7960cba0 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat last of it's kind_jungle_flower_v2.milk @@ -0,0 +1,251 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.220185 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.190000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=r2=sin(time*1.23); +shape_0_per_frame3=g2=cos(time*2.34); +shape_0_per_frame4=b2=sin(time*2.34); +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.011202 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.491386 +shapecode_2_ang=5.654867 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=5.995790 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x=.5+q4;y=.5+q5; +shape_2_per_frame2=tex_ang=(cos(time)*0.5+0.5)*6.4; +shape_2_per_frame3=tex_zoom=bass*2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(40/fps); +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; +per_pixel_6=zoom=sin(rd/3+0.01)+tan(rad/10+0.01)/(rd/rad); diff --git a/presets/presets_milkdrop_104/EoS+Phat last of it's kind_sinking.milk b/presets/presets_milkdrop_104/EoS+Phat last of it's kind_sinking.milk new file mode 100644 index 0000000000..0fca20b1ae --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat last of it's kind_sinking.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.105000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.011202 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.95; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(35/fps); +per_frame_16=q4=cos(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=//dx=tan(musictime*0.1)*0.2; +per_frame_20=dy=(musictime*0.119)*0.2; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; +per_pixel_6=zoom=tan(rd/5+0.01)+tan(rad/20+0.01)/(rd/rad); diff --git a/presets/presets_milkdrop_104/EoS+Phat_whole_lota_tilein'_goin'_on_v4.milk b/presets/presets_milkdrop_104/EoS+Phat_whole_lota_tilein'_goin'_on_v4.milk new file mode 100644 index 0000000000..9eb3b9e5a6 --- /dev/null +++ b/presets/presets_milkdrop_104/EoS+Phat_whole_lota_tilein'_goin'_on_v4.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=7.315900 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.090528 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=//ob_b = 0.5+0.4*sin(2.332*time); +per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_12=//ib_b = 1-ob_b; +per_frame_13= +per_frame_14=zoom=.1; +per_frame_15= +per_frame_16=musictime=musictime+vol; +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_frame_22= +per_frame_23=echo_zoom=((sin(time/5)*0.5+0.5)*6)+1; +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-1.5*log(sqrt(2)-rd) -5.54; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=sx=zm;sy=zm diff --git a/presets/presets_milkdrop_104/EoS_Phat Whale_soul-monitor danger - music.milk b/presets/presets_milkdrop_104/EoS_Phat Whale_soul-monitor danger - music.milk new file mode 100644 index 0000000000..b8f0534d3a --- /dev/null +++ b/presets/presets_milkdrop_104/EoS_Phat Whale_soul-monitor danger - music.milk @@ -0,0 +1,486 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700001 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.120321 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.080814 +sx=1.020100 +sy=1.020100 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=24.159897 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.040000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=q8=1.5 +wave_0_per_point1=masterspeed=30; +wave_0_per_point2= +wave_0_per_point3=tm=time*masterspeed*0.1; +wave_0_per_point4=perspective=0.7; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=//plot x,y shape at z=0 +wave_0_per_point8=smp=sample*6.283; +wave_0_per_point9= +wave_0_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; +wave_0_per_point11= +wave_0_per_point12=xp=sin(smp )*0.65; +wave_0_per_point13=xp=xp*pinch; +wave_0_per_point14=yp=cos(smp )*0.65; +wave_0_per_point15=yp=yp*pinch; +wave_0_per_point16=zp=0; +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=//rotate on y axis; +wave_0_per_point20=angy=q1*10 + sample*0; +wave_0_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point23=xp=xq; +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rotate on x axis +wave_0_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_0_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point30=yp=yq; +wave_0_per_point31=zp=zq; +wave_0_per_point32= +wave_0_per_point33=//rotate on y axis again +wave_0_per_point34=axs2 = sin(time*0.45)*3.3; +wave_0_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point37=xp=xq; +wave_0_per_point38=zp=zq; +wave_0_per_point39= +wave_0_per_point40=//stretch y axis to compensate for aspect ratio +wave_0_per_point41=yp=yp*1.2; +wave_0_per_point42= +wave_0_per_point43=//push forward into viewpace +wave_0_per_point44=zp=zp+2.1; +wave_0_per_point45= +wave_0_per_point46=//project x,y,z into screenspace +wave_0_per_point47=xs=xp/zp; +wave_0_per_point48=ys=yp/zp; +wave_0_per_point49= +wave_0_per_point50=//center 0,0 in middle of screen +wave_0_per_point51=x=xs+0.5; +wave_0_per_point52=y=ys+0.5; +wave_0_per_point53= +wave_0_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_0_per_point55=r=1.00*dark; +wave_0_per_point56=g=0.32*dark; +wave_0_per_point57=b=0.26*dark; +wave_0_per_point58= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=masterspeed=30; +wave_1_per_point2= +wave_1_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_1_per_point4=perspective=0.7; +wave_1_per_point5= +wave_1_per_point6=//plot x,y,z to point on sphere +wave_1_per_point7=smp=sample*6.283; +wave_1_per_point8= +wave_1_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; +wave_1_per_point10= +wave_1_per_point11=xp=sin(smp )*0.65; +wave_1_per_point12=xp=xp*pinch; +wave_1_per_point13=yp=cos(smp )*0.65; +wave_1_per_point14=yp=yp*pinch; +wave_1_per_point15=zp=0; +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18= +wave_1_per_point19=//rotate on y axis; +wave_1_per_point20=angy=time*33; +wave_1_per_point21=angy=q1*10 + sample*0; +wave_1_per_point22=angy=angy+1.5; +wave_1_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point25=xp=xq; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//rotate on x axis +wave_1_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_1_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point32=yp=yq; +wave_1_per_point33=zp=zq; +wave_1_per_point34= +wave_1_per_point35=//rotate on y axis again +wave_1_per_point36=axs2 = sin(time*0.45)*3.3; +wave_1_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point39=xp=xq; +wave_1_per_point40=zp=zq; +wave_1_per_point41= +wave_1_per_point42=//stretch y axis to compensate for aspect ratio +wave_1_per_point43=yp=yp*1.2; +wave_1_per_point44= +wave_1_per_point45=//push forward into viewpace +wave_1_per_point46=zp=zp+2.1; +wave_1_per_point47= +wave_1_per_point48=//project x,y,z into screenspace +wave_1_per_point49=xs=xp/zp; +wave_1_per_point50=ys=yp/zp; +wave_1_per_point51= +wave_1_per_point52=//center 0,0 in middle of screen +wave_1_per_point53=x=xs+0.5; +wave_1_per_point54=y=ys+0.5; +wave_1_per_point55= +wave_1_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_1_per_point57=r=1.00*dark; +wave_1_per_point58=g=0.22*dark; +wave_1_per_point59=b=(0.16+(bass*0.1))*dark; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=q8=1.5 +wave_2_per_point1=masterspeed=30; +wave_2_per_point2= +wave_2_per_point3=tm=time*masterspeed*0.1; +wave_2_per_point4=perspective=0.7; +wave_2_per_point5= +wave_2_per_point6= +wave_2_per_point7=//plot x,y shape at z=0 +wave_2_per_point8=smp=sample*6.283; +wave_2_per_point9= +wave_2_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; +wave_2_per_point11= +wave_2_per_point12=xp=sin(smp )*0.65; +wave_2_per_point13=xp=xp*pinch; +wave_2_per_point14=yp=cos(smp )*0.65; +wave_2_per_point15=yp=yp*pinch; +wave_2_per_point16=zp=0; +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=//rotate on y axis; +wave_2_per_point20=angy=q1*10 + sample*0; +wave_2_per_point21=xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point22=zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point23=xp=xq; +wave_2_per_point24=zp=zq; +wave_2_per_point25= +wave_2_per_point26=//rotate on x axis +wave_2_per_point27=axs1 = sin(time*0.9) + 1.6; +wave_2_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point30=yp=yq; +wave_2_per_point31=zp=zq; +wave_2_per_point32= +wave_2_per_point33=//rotate on y axis again +wave_2_per_point34=axs2 = sin(time*0.45)*3.3; +wave_2_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point37=xp=xq; +wave_2_per_point38=zp=zq; +wave_2_per_point39= +wave_2_per_point40=//stretch y axis to compensate for aspect ratio +wave_2_per_point41=yp=yp*1.2; +wave_2_per_point42= +wave_2_per_point43=//push forward into viewpace +wave_2_per_point44=zp=zp+2.1; +wave_2_per_point45= +wave_2_per_point46=//project x,y,z into screenspace +wave_2_per_point47=xs=xp/zp; +wave_2_per_point48=ys=yp/zp; +wave_2_per_point49= +wave_2_per_point50=//center 0,0 in middle of screen +wave_2_per_point51=x=(-1*xs)+0.5; +wave_2_per_point52=y=ys+0.5; +wave_2_per_point53= +wave_2_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); +wave_2_per_point55=r=1.00*dark; +wave_2_per_point56=g=0.32*dark; +wave_2_per_point57=b=0.36*dark; +wave_2_per_point58= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=masterspeed=30; +wave_3_per_point2= +wave_3_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; +wave_3_per_point4=perspective=0.7; +wave_3_per_point5= +wave_3_per_point6=//plot x,y,z to point on sphere +wave_3_per_point7=smp=sample*6.283; +wave_3_per_point8= +wave_3_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; +wave_3_per_point10= +wave_3_per_point11=xp=sin(smp )*0.65; +wave_3_per_point12=xp=xp*pinch; +wave_3_per_point13=yp=cos(smp )*0.65; +wave_3_per_point14=yp=yp*pinch; +wave_3_per_point15=zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=//rotate on y axis; +wave_3_per_point20=angy=time*33; +wave_3_per_point21=angy=q1*10 + sample*0; +wave_3_per_point22=angy=angy+1.5; +wave_3_per_point23=xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point24=zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point25=xp=xq; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//rotate on x axis +wave_3_per_point29=axs1 = sin(time*0.9) + 1.6; +wave_3_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point32=yp=yq; +wave_3_per_point33=zp=zq; +wave_3_per_point34= +wave_3_per_point35=//rotate on y axis again +wave_3_per_point36=axs2 = sin(time*0.45)*3.3; +wave_3_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point39=xp=xq; +wave_3_per_point40=zp=zq; +wave_3_per_point41= +wave_3_per_point42=//stretch y axis to compensate for aspect ratio +wave_3_per_point43=yp=yp*1.2; +wave_3_per_point44= +wave_3_per_point45=//push forward into viewpace +wave_3_per_point46=zp=zp+2.1; +wave_3_per_point47= +wave_3_per_point48=//project x,y,z into screenspace +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=ys=yp/zp; +wave_3_per_point51= +wave_3_per_point52=//center 0,0 in middle of screen +wave_3_per_point53=x=-xs+0.5; +wave_3_per_point54=y=ys+0.5; +wave_3_per_point55= +wave_3_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); +wave_3_per_point57=r=0.82*dark; +wave_3_per_point58=g=0.02*dark; +wave_3_per_point59=b=0.26*dark; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.997; +per_frame_2=//zoom=1.008; +per_frame_3=ms=sin(time*0.6)*0.15; +per_frame_4=mss=mss+ms*0.001; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=dx=0;dy=0; +per_frame_12=sx=-1.02; +per_frame_13=mv_x=14+sin(time)*16; +per_frame_14=mv_y=32+cos(time)*16 +per_frame_15= +per_frame_16= +per_pixel_1=it = 0.3*sin(time*0.2)*bass_att; +per_pixel_2=radm = rad*0.5; +per_pixel_3=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod; +per_pixel_6=zoom = .99 - abs(0.01*mod); +per_pixel_7=fade=sin(time*0.4)*0.5+0.5; +per_pixel_8=rot=(x/y*0.02*fade) + (y/x*0.02*(1-fade)); +per_pixel_9= +per_pixel_10=bump = rad * pow((bass+mid+treb)/3,2); +per_pixel_11=zoom = (zoom-1)*bump + 1; +per_pixel_12= +per_pixel_13=//it = 0.3*bass_att; +per_pixel_14=//radm = rad*500; +per_pixel_15=//rot = -0.02*tan((radm+it)*30)/((rad+0.1)*(bass_att*500)); +per_pixel_16=//var=2-atan(bass_att*4); +per_pixel_17=//mod = atan(ang*var)+(bass_att*2); +per_pixel_18=//mod = mod*cos(rad)-cos(ang); +per_pixel_19=//zoom = .90 + abs(0.02*mod)+(bass_att*0.01); diff --git a/presets_milkdrop_104/Fvese - Multi Circle.milk b/presets/presets_milkdrop_104/Fvese - Multi Circle.milk similarity index 100% rename from presets_milkdrop_104/Fvese - Multi Circle.milk rename to presets/presets_milkdrop_104/Fvese - Multi Circle.milk diff --git a/presets_milkdrop_104/Fvese - Round and Round (geiss gamma mix).milk b/presets/presets_milkdrop_104/Fvese - Round and Round (geiss gamma mix).milk similarity index 100% rename from presets_milkdrop_104/Fvese - Round and Round (geiss gamma mix).milk rename to presets/presets_milkdrop_104/Fvese - Round and Round (geiss gamma mix).milk diff --git a/presets/presets_milkdrop_104/Fvese - Snowflake Like 2.milk b/presets/presets_milkdrop_104/Fvese - Snowflake Like 2.milk new file mode 100644 index 0000000000..195e779cb8 --- /dev/null +++ b/presets/presets_milkdrop_104/Fvese - Snowflake Like 2.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=1.000495 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.779700 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.950000 +mv_g=0.800000 +mv_b=0.700000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=mv_r= wave_r + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_5=mv_g= wave_g + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_6=mv_b= wave_b + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_7=ib_r=bass*2; +per_frame_8=ib_b=treb*2; +per_frame_9=ib_g=mid*2; +per_frame_10=ob_r=mid_att+time; +per_frame_11=ob_b=bass_att+time; +per_frame_12=ob_g=treb_att+time; +per_frame_13=zoom = zoom-(0.10-bass_att)*0.15; +per_pixel_1=rot = antirot-ang; diff --git a/presets_milkdrop_104/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_milkdrop_104/Fvese - The Tunnel (Final Stage Mix).milk similarity index 100% rename from presets_milkdrop_104/Fvese - The Tunnel (Final Stage Mix).milk rename to presets/presets_milkdrop_104/Fvese - The Tunnel (Final Stage Mix).milk diff --git a/presets_milkdrop_104/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_milkdrop_104/Fvese - Zoom Effects (Remix 2).milk similarity index 100% rename from presets_milkdrop_104/Fvese - Zoom Effects (Remix 2).milk rename to presets/presets_milkdrop_104/Fvese - Zoom Effects (Remix 2).milk diff --git a/presets_milkdrop_104/Geiss & Rovastar - Notions Of Tonality 2.milk b/presets/presets_milkdrop_104/Geiss & Rovastar - Notions Of Tonality 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss & Rovastar - Notions Of Tonality 2.milk rename to presets/presets_milkdrop_104/Geiss & Rovastar - Notions Of Tonality 2.milk diff --git a/presets_milkdrop_104/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk b/presets/presets_milkdrop_104/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk similarity index 100% rename from presets_milkdrop_104/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk rename to presets/presets_milkdrop_104/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk diff --git a/presets_milkdrop_104/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk b/presets/presets_milkdrop_104/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk similarity index 100% rename from presets_milkdrop_104/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk rename to presets/presets_milkdrop_104/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk diff --git a/presets_milkdrop_104/Geiss & TobiasWolfBoi - Cataract Slipstream.milk b/presets/presets_milkdrop_104/Geiss & TobiasWolfBoi - Cataract Slipstream.milk similarity index 100% rename from presets_milkdrop_104/Geiss & TobiasWolfBoi - Cataract Slipstream.milk rename to presets/presets_milkdrop_104/Geiss & TobiasWolfBoi - Cataract Slipstream.milk diff --git a/presets_milkdrop_104/Geiss - Aieeeeee!!!.milk b/presets/presets_milkdrop_104/Geiss - Aieeeeee!!!.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Aieeeeee!!!.milk rename to presets/presets_milkdrop_104/Geiss - Aieeeeee!!!.milk diff --git a/presets_milkdrop_104/Geiss - Asymptote.milk b/presets/presets_milkdrop_104/Geiss - Asymptote.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Asymptote.milk rename to presets/presets_milkdrop_104/Geiss - Asymptote.milk diff --git a/presets_milkdrop_104/Geiss - Bass Kaleidosphere.milk b/presets/presets_milkdrop_104/Geiss - Bass Kaleidosphere.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bass Kaleidosphere.milk rename to presets/presets_milkdrop_104/Geiss - Bass Kaleidosphere.milk diff --git a/presets_milkdrop_104/Geiss - Bass Zoom.milk b/presets/presets_milkdrop_104/Geiss - Bass Zoom.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bass Zoom.milk rename to presets/presets_milkdrop_104/Geiss - Bass Zoom.milk diff --git a/presets_milkdrop_104/Geiss - Bipolar 1.milk b/presets/presets_milkdrop_104/Geiss - Bipolar 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bipolar 1.milk rename to presets/presets_milkdrop_104/Geiss - Bipolar 1.milk diff --git a/presets_milkdrop_104/Geiss - Bipolar 5.milk b/presets/presets_milkdrop_104/Geiss - Bipolar 5.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bipolar 5.milk rename to presets/presets_milkdrop_104/Geiss - Bipolar 5.milk diff --git a/presets_milkdrop_104/Geiss - Bonfire.milk b/presets/presets_milkdrop_104/Geiss - Bonfire.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bonfire.milk rename to presets/presets_milkdrop_104/Geiss - Bonfire.milk diff --git a/presets_milkdrop_104/Geiss - Bright Fiber Matrix 1.milk b/presets/presets_milkdrop_104/Geiss - Bright Fiber Matrix 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Bright Fiber Matrix 1.milk rename to presets/presets_milkdrop_104/Geiss - Bright Fiber Matrix 1.milk diff --git a/presets_milkdrop_104/Geiss - Calligraphy.milk b/presets/presets_milkdrop_104/Geiss - Calligraphy.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Calligraphy.milk rename to presets/presets_milkdrop_104/Geiss - Calligraphy.milk diff --git a/presets_milkdrop_104/Geiss - Cartographie.milk b/presets/presets_milkdrop_104/Geiss - Cartographie.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cartographie.milk rename to presets/presets_milkdrop_104/Geiss - Cartographie.milk diff --git a/presets_milkdrop_104/Geiss - Cepiasound.milk b/presets/presets_milkdrop_104/Geiss - Cepiasound.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cepiasound.milk rename to presets/presets_milkdrop_104/Geiss - Cepiasound.milk diff --git a/presets_milkdrop_104/Geiss - Constant Velocity.milk b/presets/presets_milkdrop_104/Geiss - Constant Velocity.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Constant Velocity.milk rename to presets/presets_milkdrop_104/Geiss - Constant Velocity.milk diff --git a/presets_milkdrop_104/Geiss - Corpus Callosum.milk b/presets/presets_milkdrop_104/Geiss - Corpus Callosum.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Corpus Callosum.milk rename to presets/presets_milkdrop_104/Geiss - Corpus Callosum.milk diff --git a/presets_milkdrop_104/Geiss - Cosmic Dust 1.milk b/presets/presets_milkdrop_104/Geiss - Cosmic Dust 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cosmic Dust 1.milk rename to presets/presets_milkdrop_104/Geiss - Cosmic Dust 1.milk diff --git a/presets_milkdrop_104/Geiss - Cosmic Dust 2.milk b/presets/presets_milkdrop_104/Geiss - Cosmic Dust 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cosmic Dust 2.milk rename to presets/presets_milkdrop_104/Geiss - Cosmic Dust 2.milk diff --git a/presets_milkdrop_104/Geiss - Cruzin'.milk b/presets/presets_milkdrop_104/Geiss - Cruzin'.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cruzin'.milk rename to presets/presets_milkdrop_104/Geiss - Cruzin'.milk diff --git a/presets_milkdrop_104/Geiss - Cycloid 2.milk b/presets/presets_milkdrop_104/Geiss - Cycloid 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Cycloid 2.milk rename to presets/presets_milkdrop_104/Geiss - Cycloid 2.milk diff --git a/presets_milkdrop_104/Geiss - Davod The Pod.milk b/presets/presets_milkdrop_104/Geiss - Davod The Pod.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Davod The Pod.milk rename to presets/presets_milkdrop_104/Geiss - Davod The Pod.milk diff --git a/presets_milkdrop_104/Geiss - De La Moutard 1.milk b/presets/presets_milkdrop_104/Geiss - De La Moutard 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - De La Moutard 1.milk rename to presets/presets_milkdrop_104/Geiss - De La Moutard 1.milk diff --git a/presets_milkdrop_104/Geiss - Descent.milk b/presets/presets_milkdrop_104/Geiss - Descent.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Descent.milk rename to presets/presets_milkdrop_104/Geiss - Descent.milk diff --git a/presets_milkdrop_104/Geiss - Digital Smoke.milk b/presets/presets_milkdrop_104/Geiss - Digital Smoke.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Digital Smoke.milk rename to presets/presets_milkdrop_104/Geiss - Digital Smoke.milk diff --git a/presets_milkdrop_104/Geiss - Downward Spiral.milk b/presets/presets_milkdrop_104/Geiss - Downward Spiral.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Downward Spiral.milk rename to presets/presets_milkdrop_104/Geiss - Downward Spiral.milk diff --git a/presets_milkdrop_104/Geiss - Dynamic Swirls 2.milk b/presets/presets_milkdrop_104/Geiss - Dynamic Swirls 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Dynamic Swirls 2.milk rename to presets/presets_milkdrop_104/Geiss - Dynamic Swirls 2.milk diff --git a/presets_milkdrop_104/Geiss - Eddies 1.milk b/presets/presets_milkdrop_104/Geiss - Eddies 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Eddies 1.milk rename to presets/presets_milkdrop_104/Geiss - Eddies 1.milk diff --git a/presets_milkdrop_104/Geiss - Eggs.milk b/presets/presets_milkdrop_104/Geiss - Eggs.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Eggs.milk rename to presets/presets_milkdrop_104/Geiss - Eggs.milk diff --git a/presets_milkdrop_104/Geiss - El Cubismo.milk b/presets/presets_milkdrop_104/Geiss - El Cubismo.milk similarity index 100% rename from presets_milkdrop_104/Geiss - El Cubismo.milk rename to presets/presets_milkdrop_104/Geiss - El Cubismo.milk diff --git a/presets_milkdrop_104/Geiss - Feedback 2.milk b/presets/presets_milkdrop_104/Geiss - Feedback 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Feedback 2.milk rename to presets/presets_milkdrop_104/Geiss - Feedback 2.milk diff --git a/presets_milkdrop_104/Geiss - Festive.milk b/presets/presets_milkdrop_104/Geiss - Festive.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Festive.milk rename to presets/presets_milkdrop_104/Geiss - Festive.milk diff --git a/presets_milkdrop_104/Geiss - Fiberglass.milk b/presets/presets_milkdrop_104/Geiss - Fiberglass.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Fiberglass.milk rename to presets/presets_milkdrop_104/Geiss - Fiberglass.milk diff --git a/presets_milkdrop_104/Geiss - Flotsam.milk b/presets/presets_milkdrop_104/Geiss - Flotsam.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Flotsam.milk rename to presets/presets_milkdrop_104/Geiss - Flotsam.milk diff --git a/presets_milkdrop_104/Geiss - Flower Blossom.milk b/presets/presets_milkdrop_104/Geiss - Flower Blossom.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Flower Blossom.milk rename to presets/presets_milkdrop_104/Geiss - Flower Blossom.milk diff --git a/presets_milkdrop_104/Geiss - Four Kinds of Amphetamines.milk b/presets/presets_milkdrop_104/Geiss - Four Kinds of Amphetamines.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Four Kinds of Amphetamines.milk rename to presets/presets_milkdrop_104/Geiss - Four Kinds of Amphetamines.milk diff --git a/presets_milkdrop_104/Geiss - Galaxy 2.milk b/presets/presets_milkdrop_104/Geiss - Galaxy 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Galaxy 2.milk rename to presets/presets_milkdrop_104/Geiss - Galaxy 2.milk diff --git a/presets_milkdrop_104/Geiss - Greenland.milk b/presets/presets_milkdrop_104/Geiss - Greenland.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Greenland.milk rename to presets/presets_milkdrop_104/Geiss - Greenland.milk diff --git a/presets_milkdrop_104/Geiss - Happy Drops.milk b/presets/presets_milkdrop_104/Geiss - Happy Drops.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Happy Drops.milk rename to presets/presets_milkdrop_104/Geiss - Happy Drops.milk diff --git a/presets_milkdrop_104/Geiss - Heavenly 2.milk b/presets/presets_milkdrop_104/Geiss - Heavenly 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Heavenly 2.milk rename to presets/presets_milkdrop_104/Geiss - Heavenly 2.milk diff --git a/presets_milkdrop_104/Geiss - High Dynamic Range.milk b/presets/presets_milkdrop_104/Geiss - High Dynamic Range.milk similarity index 100% rename from presets_milkdrop_104/Geiss - High Dynamic Range.milk rename to presets/presets_milkdrop_104/Geiss - High Dynamic Range.milk diff --git a/presets_milkdrop_104/Geiss - Hurricane.milk b/presets/presets_milkdrop_104/Geiss - Hurricane.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Hurricane.milk rename to presets/presets_milkdrop_104/Geiss - Hurricane.milk diff --git a/presets_milkdrop_104/Geiss - Hyperion.milk b/presets/presets_milkdrop_104/Geiss - Hyperion.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Hyperion.milk rename to presets/presets_milkdrop_104/Geiss - Hyperion.milk diff --git a/presets_milkdrop_104/Geiss - Inkblot.milk b/presets/presets_milkdrop_104/Geiss - Inkblot.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Inkblot.milk rename to presets/presets_milkdrop_104/Geiss - Inkblot.milk diff --git a/presets_milkdrop_104/Geiss - Iris.milk b/presets/presets_milkdrop_104/Geiss - Iris.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Iris.milk rename to presets/presets_milkdrop_104/Geiss - Iris.milk diff --git a/presets_milkdrop_104/Geiss - Julia Fractal 1.milk b/presets/presets_milkdrop_104/Geiss - Julia Fractal 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Julia Fractal 1.milk rename to presets/presets_milkdrop_104/Geiss - Julia Fractal 1.milk diff --git a/presets_milkdrop_104/Geiss - Many Colors 2.milk b/presets/presets_milkdrop_104/Geiss - Many Colors 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Many Colors 2.milk rename to presets/presets_milkdrop_104/Geiss - Many Colors 2.milk diff --git a/presets_milkdrop_104/Geiss - Mega Swirl 2.milk b/presets/presets_milkdrop_104/Geiss - Mega Swirl 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Mega Swirl 2.milk rename to presets/presets_milkdrop_104/Geiss - Mega Swirl 2.milk diff --git a/presets_milkdrop_104/Geiss - Mega Swirl 3.milk b/presets/presets_milkdrop_104/Geiss - Mega Swirl 3.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Mega Swirl 3.milk rename to presets/presets_milkdrop_104/Geiss - Mega Swirl 3.milk diff --git a/presets_milkdrop_104/Geiss - Microcosm.milk b/presets/presets_milkdrop_104/Geiss - Microcosm.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Microcosm.milk rename to presets/presets_milkdrop_104/Geiss - Microcosm.milk diff --git a/presets_milkdrop_104/Geiss - Music Box.milk b/presets/presets_milkdrop_104/Geiss - Music Box.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Music Box.milk rename to presets/presets_milkdrop_104/Geiss - Music Box.milk diff --git a/presets_milkdrop_104/Geiss - Octopus Ever Changing.milk b/presets/presets_milkdrop_104/Geiss - Octopus Ever Changing.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Octopus Ever Changing.milk rename to presets/presets_milkdrop_104/Geiss - Octopus Ever Changing.milk diff --git a/presets_milkdrop_104/Geiss - Octopus Gold with Dots.milk b/presets/presets_milkdrop_104/Geiss - Octopus Gold with Dots.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Octopus Gold with Dots.milk rename to presets/presets_milkdrop_104/Geiss - Octopus Gold with Dots.milk diff --git a/presets_milkdrop_104/Geiss - Octopus.milk b/presets/presets_milkdrop_104/Geiss - Octopus.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Octopus.milk rename to presets/presets_milkdrop_104/Geiss - Octopus.milk diff --git a/presets_milkdrop_104/Geiss - Pelota De Fuego.milk b/presets/presets_milkdrop_104/Geiss - Pelota De Fuego.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Pelota De Fuego.milk rename to presets/presets_milkdrop_104/Geiss - Pelota De Fuego.milk diff --git a/presets_milkdrop_104/Geiss - Pistons.milk b/presets/presets_milkdrop_104/Geiss - Pistons.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Pistons.milk rename to presets/presets_milkdrop_104/Geiss - Pistons.milk diff --git a/presets_milkdrop_104/Geiss - Planet 1.milk b/presets/presets_milkdrop_104/Geiss - Planet 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Planet 1.milk rename to presets/presets_milkdrop_104/Geiss - Planet 1.milk diff --git a/presets_milkdrop_104/Geiss - Reducto Absurdum.milk b/presets/presets_milkdrop_104/Geiss - Reducto Absurdum.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Reducto Absurdum.milk rename to presets/presets_milkdrop_104/Geiss - Reducto Absurdum.milk diff --git a/presets_milkdrop_104/Geiss - Reducto Ad Nauseum.milk b/presets/presets_milkdrop_104/Geiss - Reducto Ad Nauseum.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Reducto Ad Nauseum.milk rename to presets/presets_milkdrop_104/Geiss - Reducto Ad Nauseum.milk diff --git a/presets_milkdrop_104/Geiss - Rocket.milk b/presets/presets_milkdrop_104/Geiss - Rocket.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Rocket.milk rename to presets/presets_milkdrop_104/Geiss - Rocket.milk diff --git a/presets_milkdrop_104/Geiss - Runoff.milk b/presets/presets_milkdrop_104/Geiss - Runoff.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Runoff.milk rename to presets/presets_milkdrop_104/Geiss - Runoff.milk diff --git a/presets_milkdrop_104/Geiss - Script.milk b/presets/presets_milkdrop_104/Geiss - Script.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Script.milk rename to presets/presets_milkdrop_104/Geiss - Script.milk diff --git a/presets_milkdrop_104/Geiss - Serpent.milk b/presets/presets_milkdrop_104/Geiss - Serpent.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Serpent.milk rename to presets/presets_milkdrop_104/Geiss - Serpent.milk diff --git a/presets_milkdrop_104/Geiss - Shake.milk b/presets/presets_milkdrop_104/Geiss - Shake.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Shake.milk rename to presets/presets_milkdrop_104/Geiss - Shake.milk diff --git a/presets_milkdrop_104/Geiss - Shift.milk b/presets/presets_milkdrop_104/Geiss - Shift.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Shift.milk rename to presets/presets_milkdrop_104/Geiss - Shift.milk diff --git a/presets_milkdrop_104/Geiss - Sinews 2.milk b/presets/presets_milkdrop_104/Geiss - Sinews 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Sinews 2.milk rename to presets/presets_milkdrop_104/Geiss - Sinews 2.milk diff --git a/presets_milkdrop_104/Geiss - Solar Flare.milk b/presets/presets_milkdrop_104/Geiss - Solar Flare.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Solar Flare.milk rename to presets/presets_milkdrop_104/Geiss - Solar Flare.milk diff --git a/presets_milkdrop_104/Geiss - Space Voyage (High-Warp).milk b/presets/presets_milkdrop_104/Geiss - Space Voyage (High-Warp).milk similarity index 100% rename from presets_milkdrop_104/Geiss - Space Voyage (High-Warp).milk rename to presets/presets_milkdrop_104/Geiss - Space Voyage (High-Warp).milk diff --git a/presets_milkdrop_104/Geiss - Spacedust.milk b/presets/presets_milkdrop_104/Geiss - Spacedust.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Spacedust.milk rename to presets/presets_milkdrop_104/Geiss - Spacedust.milk diff --git a/presets_milkdrop_104/Geiss - Starfish 1.milk b/presets/presets_milkdrop_104/Geiss - Starfish 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Starfish 1.milk rename to presets/presets_milkdrop_104/Geiss - Starfish 1.milk diff --git a/presets_milkdrop_104/Geiss - Supernova 1.milk b/presets/presets_milkdrop_104/Geiss - Supernova 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Supernova 1.milk rename to presets/presets_milkdrop_104/Geiss - Supernova 1.milk diff --git a/presets_milkdrop_104/Geiss - Surface.milk b/presets/presets_milkdrop_104/Geiss - Surface.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Surface.milk rename to presets/presets_milkdrop_104/Geiss - Surface.milk diff --git a/presets_milkdrop_104/Geiss - Swirl 1.milk b/presets/presets_milkdrop_104/Geiss - Swirl 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Swirl 1.milk rename to presets/presets_milkdrop_104/Geiss - Swirl 1.milk diff --git a/presets_milkdrop_104/Geiss - Swirlie 1.milk b/presets/presets_milkdrop_104/Geiss - Swirlie 1.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Swirlie 1.milk rename to presets/presets_milkdrop_104/Geiss - Swirlie 1.milk diff --git a/presets_milkdrop_104/Geiss - Swirlie 4.milk b/presets/presets_milkdrop_104/Geiss - Swirlie 4.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Swirlie 4.milk rename to presets/presets_milkdrop_104/Geiss - Swirlie 4.milk diff --git a/presets_milkdrop_104/Geiss - Swirlie 5.milk b/presets/presets_milkdrop_104/Geiss - Swirlie 5.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Swirlie 5.milk rename to presets/presets_milkdrop_104/Geiss - Swirlie 5.milk diff --git a/presets_milkdrop_104/Geiss - Three And A Half Kinds Of Amphetamines.milk b/presets/presets_milkdrop_104/Geiss - Three And A Half Kinds Of Amphetamines.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Three And A Half Kinds Of Amphetamines.milk rename to presets/presets_milkdrop_104/Geiss - Three And A Half Kinds Of Amphetamines.milk diff --git a/presets_milkdrop_104/Geiss - Trampoline.milk b/presets/presets_milkdrop_104/Geiss - Trampoline.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Trampoline.milk rename to presets/presets_milkdrop_104/Geiss - Trampoline.milk diff --git a/presets_milkdrop_104/Geiss - Two-Pointed Pulsagon.milk b/presets/presets_milkdrop_104/Geiss - Two-Pointed Pulsagon.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Two-Pointed Pulsagon.milk rename to presets/presets_milkdrop_104/Geiss - Two-Pointed Pulsagon.milk diff --git a/presets_milkdrop_104/Geiss - Ultrafast.milk b/presets/presets_milkdrop_104/Geiss - Ultrafast.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Ultrafast.milk rename to presets/presets_milkdrop_104/Geiss - Ultrafast.milk diff --git a/presets_milkdrop_104/Geiss - Volume Zoom.milk b/presets/presets_milkdrop_104/Geiss - Volume Zoom.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Volume Zoom.milk rename to presets/presets_milkdrop_104/Geiss - Volume Zoom.milk diff --git a/presets_milkdrop_104/Geiss - Vortex 2.milk b/presets/presets_milkdrop_104/Geiss - Vortex 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Vortex 2.milk rename to presets/presets_milkdrop_104/Geiss - Vortex 2.milk diff --git a/presets_milkdrop_104/Geiss - Warp Of Dali 2.milk b/presets/presets_milkdrop_104/Geiss - Warp Of Dali 2.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Warp Of Dali 2.milk rename to presets/presets_milkdrop_104/Geiss - Warp Of Dali 2.milk diff --git a/presets_milkdrop_104/Geiss - Waterfall.milk b/presets/presets_milkdrop_104/Geiss - Waterfall.milk similarity index 100% rename from presets_milkdrop_104/Geiss - Waterfall.milk rename to presets/presets_milkdrop_104/Geiss - Waterfall.milk diff --git a/presets_milkdrop_104/Idiot & Che - Various Abstract Effects.milk b/presets/presets_milkdrop_104/Idiot & Che - Various Abstract Effects.milk similarity index 100% rename from presets_milkdrop_104/Idiot & Che - Various Abstract Effects.milk rename to presets/presets_milkdrop_104/Idiot & Che - Various Abstract Effects.milk diff --git a/presets_milkdrop_104/Idiot - Cortex (Spiritual Visions Mix).milk b/presets/presets_milkdrop_104/Idiot - Cortex (Spiritual Visions Mix).milk similarity index 100% rename from presets_milkdrop_104/Idiot - Cortex (Spiritual Visions Mix).milk rename to presets/presets_milkdrop_104/Idiot - Cortex (Spiritual Visions Mix).milk diff --git a/presets_milkdrop_104/Idiot - Tentacle Dreams (Remix).milk b/presets/presets_milkdrop_104/Idiot - Tentacle Dreams (Remix).milk similarity index 100% rename from presets_milkdrop_104/Idiot - Tentacle Dreams (Remix).milk rename to presets/presets_milkdrop_104/Idiot - Tentacle Dreams (Remix).milk diff --git a/presets_milkdrop_104/Idiot - Typomatic (Remix 2).milk b/presets/presets_milkdrop_104/Idiot - Typomatic (Remix 2).milk similarity index 100% rename from presets_milkdrop_104/Idiot - Typomatic (Remix 2).milk rename to presets/presets_milkdrop_104/Idiot - Typomatic (Remix 2).milk diff --git a/presets_milkdrop_104/Idiot - What Is.milk b/presets/presets_milkdrop_104/Idiot - What Is.milk similarity index 100% rename from presets_milkdrop_104/Idiot - What Is.milk rename to presets/presets_milkdrop_104/Idiot - What Is.milk diff --git a/presets_milkdrop_104/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_milkdrop_104/Illusion & Rovastar - Clouded Bottle.milk similarity index 100% rename from presets_milkdrop_104/Illusion & Rovastar - Clouded Bottle.milk rename to presets/presets_milkdrop_104/Illusion & Rovastar - Clouded Bottle.milk diff --git a/presets_milkdrop_104/Illusion & Unchained - Frozen Eye 1.milk b/presets/presets_milkdrop_104/Illusion & Unchained - Frozen Eye 1.milk similarity index 100% rename from presets_milkdrop_104/Illusion & Unchained - Frozen Eye 1.milk rename to presets/presets_milkdrop_104/Illusion & Unchained - Frozen Eye 1.milk diff --git a/presets_milkdrop_104/Illusion - Heavenly Eye.milk b/presets/presets_milkdrop_104/Illusion - Heavenly Eye.milk similarity index 100% rename from presets_milkdrop_104/Illusion - Heavenly Eye.milk rename to presets/presets_milkdrop_104/Illusion - Heavenly Eye.milk diff --git a/presets_milkdrop_104/Krash & Fvese - Molten Indecision (Fvese Remix).milk b/presets/presets_milkdrop_104/Krash & Fvese - Molten Indecision (Fvese Remix).milk similarity index 100% rename from presets_milkdrop_104/Krash & Fvese - Molten Indecision (Fvese Remix).milk rename to presets/presets_milkdrop_104/Krash & Fvese - Molten Indecision (Fvese Remix).milk diff --git a/presets_milkdrop_104/Krash & Idiot - Memories Of The Castle.milk b/presets/presets_milkdrop_104/Krash & Idiot - Memories Of The Castle.milk similarity index 100% rename from presets_milkdrop_104/Krash & Idiot - Memories Of The Castle.milk rename to presets/presets_milkdrop_104/Krash & Idiot - Memories Of The Castle.milk diff --git a/presets_milkdrop_104/Krash & Illusion - Spiral Movement.milk b/presets/presets_milkdrop_104/Krash & Illusion - Spiral Movement.milk similarity index 100% rename from presets_milkdrop_104/Krash & Illusion - Spiral Movement.milk rename to presets/presets_milkdrop_104/Krash & Illusion - Spiral Movement.milk diff --git a/presets_milkdrop_104/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk b/presets/presets_milkdrop_104/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk rename to presets/presets_milkdrop_104/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk diff --git a/presets_milkdrop_104/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk b/presets/presets_milkdrop_104/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk rename to presets/presets_milkdrop_104/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk rename to presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Golden Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Golden Remix.milk new file mode 100644 index 0000000000..7058158931 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Golden Remix.milk @@ -0,0 +1,270 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.060000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.240000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.326770 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.787562 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=sin(time)*0.3 + 0.5; +shape_0_per_frame2=y=cos(time)*0.3 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28= +per_frame_29=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_30=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_31= +per_frame_32= +per_frame_33=vol=(bass+mid+treb)*0.25; +per_frame_34=vol=vol*vol; +per_frame_35=mtime=mtime+vol*0.01*(65/fps); +per_frame_36= +per_frame_37=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_38=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_39= +per_frame_40= +per_frame_41=//ib_r = 0.3+xpos; +per_frame_42=//ib_b = 0.06*bass; +per_frame_43=//ib_g = 0.25+ypos; +per_frame_44=//ib_r = 0.2125*ib_r + 0.7154*ib_g + 0.0721*ib_b; +per_frame_45=//ib_g = ib_r; +per_frame_46=//ib_b = ib_r; +per_frame_47= +per_frame_48=zoom=1.00; +per_frame_49= +per_pixel_1=cx = (5&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (5&(y*10-0.5))*0.1; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))/2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx=dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=//rot = 1*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=sx=-1; diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk new file mode 100644 index 0000000000..bde091d79f --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk @@ -0,0 +1,364 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=//sx=-1 diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk new file mode 100644 index 0000000000..065c6bd5f6 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk @@ -0,0 +1,359 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=r=0;g=0;b=0 +wave_1_per_point23= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=r=0;g=0;b=0 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk new file mode 100644 index 0000000000..111a329aa1 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk @@ -0,0 +1,369 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491381 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.791419 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.555953 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=.5+(above(sin(time),0)*0.2); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.700000 +shapecode_3_y=0.700000 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.628319 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.999996 +shapecode_3_r=0.970000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(37/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip; +per_frame_57= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=sy=1.2/newx; +per_pixel_14=zoom=1.1 diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Vortex Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Vortex Remix.milk new file mode 100644 index 0000000000..ce5e594409 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS Vortex Remix.milk @@ -0,0 +1,359 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.347848 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=r=0;g=0;b=0 +wave_1_per_point23= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=r=0;g=0;b=0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.468147 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.814629 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.808142 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=19.788378 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.020000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(70/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime*20) * sin(mtime*10) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*20) * sin(mtime*10) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54=zoom=-.98; +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = -1*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk new file mode 100644 index 0000000000..601e71e55b --- /dev/null +++ b/presets/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk @@ -0,0 +1,367 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(70/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip +per_frame_57= +per_frame_58= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; diff --git a/presets_milkdrop_104/Krash & Rovastar - Rainbow Orb.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Rainbow Orb.milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - Rainbow Orb.milk rename to presets/presets_milkdrop_104/Krash & Rovastar - Rainbow Orb.milk diff --git a/presets_milkdrop_104/Krash & Rovastar - Switching Polygons.milk b/presets/presets_milkdrop_104/Krash & Rovastar - Switching Polygons.milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - Switching Polygons.milk rename to presets/presets_milkdrop_104/Krash & Rovastar - Switching Polygons.milk diff --git a/presets_milkdrop_104/Krash & Rovastar - The Devil Is In The Details.milk b/presets/presets_milkdrop_104/Krash & Rovastar - The Devil Is In The Details.milk similarity index 100% rename from presets_milkdrop_104/Krash & Rovastar - The Devil Is In The Details.milk rename to presets/presets_milkdrop_104/Krash & Rovastar - The Devil Is In The Details.milk diff --git a/presets_milkdrop_104/Krash & Telek - Real Noughts and Crosses (Random Ending).milk b/presets/presets_milkdrop_104/Krash & Telek - Real Noughts and Crosses (Random Ending).milk similarity index 100% rename from presets_milkdrop_104/Krash & Telek - Real Noughts and Crosses (Random Ending).milk rename to presets/presets_milkdrop_104/Krash & Telek - Real Noughts and Crosses (Random Ending).milk diff --git a/presets_milkdrop_104/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk b/presets/presets_milkdrop_104/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk similarity index 100% rename from presets_milkdrop_104/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk rename to presets/presets_milkdrop_104/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk diff --git a/presets/presets_milkdrop_104/Krash + EoS - Photographic Sentinel.milk b/presets/presets_milkdrop_104/Krash + EoS - Photographic Sentinel.milk new file mode 100644 index 0000000000..12409286e7 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash + EoS - Photographic Sentinel.milk @@ -0,0 +1,698 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.608039 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=h=q5; +wave_0_per_frame2=s = 0.7; +wave_0_per_frame3=l= 0.8; +wave_0_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_frame5=// +wave_0_per_frame6=// HSL to RGB by PieturP +wave_0_per_frame7=// +wave_0_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_0_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_frame11=// +wave_0_per_frame12=cc=(6*h); +wave_0_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_frame14=zf=(6*h)-cc; +wave_0_per_frame15=zm=l; +wave_0_per_frame16=zp=l*(1-s); +wave_0_per_frame17=zq=l*(1-s*zf); +wave_0_per_frame18=zt=l*(1-s*(1-zf)); +wave_0_per_frame19=monitor=zq; +wave_0_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_frame23=rr=if(equal(s,0),l,rr); +wave_0_per_frame24=gg=if(equal(s,0),l,gg); +wave_0_per_frame25=bb=if(equal(s,0),l,bb); +wave_0_per_frame26= +wave_0_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_frame28=r=rr; +wave_0_per_frame29=g=gg; +wave_0_per_frame30=b=bb; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q4 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_frame1=h=q5; +wave_1_per_frame2=s = 0.7; +wave_1_per_frame3=l= 0.6; +wave_1_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_1_per_frame5=// +wave_1_per_frame6=// HSL to RGB by PieturP +wave_1_per_frame7=// +wave_1_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_1_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_1_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_1_per_frame11=// +wave_1_per_frame12=cc=(6*h); +wave_1_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_1_per_frame14=zf=(6*h)-cc; +wave_1_per_frame15=zm=l; +wave_1_per_frame16=zp=l*(1-s); +wave_1_per_frame17=zq=l*(1-s*zf); +wave_1_per_frame18=zt=l*(1-s*(1-zf)); +wave_1_per_frame19=monitor=zq; +wave_1_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_1_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_1_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_1_per_frame23=rr=if(equal(s,0),l,rr); +wave_1_per_frame24=gg=if(equal(s,0),l,gg); +wave_1_per_frame25=bb=if(equal(s,0),l,bb); +wave_1_per_frame26= +wave_1_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_1_per_frame28=r=rr; +wave_1_per_frame29=g=gg; +wave_1_per_frame30=b=bb; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q4 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=h=q5; +wave_2_per_frame2=s = 0.8; +wave_2_per_frame3=l= 0.5; +wave_2_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_frame5=// +wave_2_per_frame6=// HSL to RGB by PieturP +wave_2_per_frame7=// +wave_2_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_2_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_2_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_2_per_frame11=// +wave_2_per_frame12=cc=(6*h); +wave_2_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_2_per_frame14=zf=(6*h)-cc; +wave_2_per_frame15=zm=l; +wave_2_per_frame16=zp=l*(1-s); +wave_2_per_frame17=zq=l*(1-s*zf); +wave_2_per_frame18=zt=l*(1-s*(1-zf)); +wave_2_per_frame19=monitor=zq; +wave_2_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_2_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_2_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_2_per_frame23=rr=if(equal(s,0),l,rr); +wave_2_per_frame24=gg=if(equal(s,0),l,gg); +wave_2_per_frame25=bb=if(equal(s,0),l,bb); +wave_2_per_frame26= +wave_2_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_frame28=r=rr; +wave_2_per_frame29=g=gg; +wave_2_per_frame30=b=bb; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q4 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_frame1=h=q5; +wave_3_per_frame2=s = 0.75; +wave_3_per_frame3=l= 0.4; +wave_3_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_3_per_frame5=// +wave_3_per_frame6=// HSL to RGB by PieturP +wave_3_per_frame7=// +wave_3_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_3_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_3_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_3_per_frame11=// +wave_3_per_frame12=cc=(6*h); +wave_3_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_3_per_frame14=zf=(6*h)-cc; +wave_3_per_frame15=zm=l; +wave_3_per_frame16=zp=l*(1-s); +wave_3_per_frame17=zq=l*(1-s*zf); +wave_3_per_frame18=zt=l*(1-s*(1-zf)); +wave_3_per_frame19=monitor=zq; +wave_3_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_3_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_3_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_3_per_frame23=rr=if(equal(s,0),l,rr); +wave_3_per_frame24=gg=if(equal(s,0),l,gg); +wave_3_per_frame25=bb=if(equal(s,0),l,bb); +wave_3_per_frame26= +wave_3_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_3_per_frame28=r=rr; +wave_3_per_frame29=g=gg; +wave_3_per_frame30=b=bb; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q4 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.472208 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.503298 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.699900 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=xpos = if(q1,(rand(4)+1)*0.25-0.125,xpos); +shape_0_per_frame2=ypos = if(q1,(rand(3)+1)*0.333-0.166,ypos); +shape_0_per_frame3=x = xpos; +shape_0_per_frame4=y = ypos; +shape_0_per_frame5=flash = if(q1,0.8,flash-0.1); +shape_0_per_frame6=textured = below(flash,0.5); +shape_0_per_frame7=a = above(flash,0); +shape_0_per_frame8=a2 = above(flash,0); +shape_0_per_frame9=border_a = 0.5*above(flash,0); +shape_0_per_frame10=r = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame11=g = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame12=b = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame13=r2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame14=g2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame15=b2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame16=border_r = 0.5*above(flash,0); +shape_0_per_frame17=border_g = 0.5*above(flash,0); +shape_0_per_frame18=border_b = 0.5*above(flash,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a = 0; +per_frame_3= +per_frame_4=//begin beat code +per_frame_5=volume = 0.3*(bass+mid); +per_frame_6=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_7=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_8=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_9=peakbass_att = max(bass_att,peakbass_att); +per_frame_10=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_16=//end beat code +per_frame_17= +per_frame_18=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_19=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_20=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_21=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_22=xpos = xpos + 0.001*xspeed; +per_frame_23=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_24=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_25=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_26=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_27=ypos = ypos + 0.001*yspeed; +per_frame_28=q1 = beat; +per_frame_29=q2 = xpos; +per_frame_30=q3 = ypos; +per_frame_31=q4 = time*0.5; +per_frame_32= +per_frame_33=q5 = 0.25*(sin(time*0.15)+sin(time*0.85))+0.5; +per_frame_34= +per_frame_35=monitor = q5; diff --git a/presets_milkdrop_104/Krash - Digital Flame.milk b/presets/presets_milkdrop_104/Krash - Digital Flame.milk similarity index 100% rename from presets_milkdrop_104/Krash - Digital Flame.milk rename to presets/presets_milkdrop_104/Krash - Digital Flame.milk diff --git a/presets_milkdrop_104/Krash - Dynamic Borders 1.milk b/presets/presets_milkdrop_104/Krash - Dynamic Borders 1.milk similarity index 100% rename from presets_milkdrop_104/Krash - Dynamic Borders 1.milk rename to presets/presets_milkdrop_104/Krash - Dynamic Borders 1.milk diff --git a/presets_milkdrop_104/Krash - Heatwaves.milk b/presets/presets_milkdrop_104/Krash - Heatwaves.milk similarity index 100% rename from presets_milkdrop_104/Krash - Heatwaves.milk rename to presets/presets_milkdrop_104/Krash - Heatwaves.milk diff --git a/presets_milkdrop_104/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk b/presets/presets_milkdrop_104/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk similarity index 100% rename from presets_milkdrop_104/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk rename to presets/presets_milkdrop_104/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk diff --git a/presets_milkdrop_104/Krash - Snowflake Halo.milk b/presets/presets_milkdrop_104/Krash - Snowflake Halo.milk similarity index 100% rename from presets_milkdrop_104/Krash - Snowflake Halo.milk rename to presets/presets_milkdrop_104/Krash - Snowflake Halo.milk diff --git a/presets_milkdrop_104/Krash - Twisting Indecision.milk b/presets/presets_milkdrop_104/Krash - Twisting Indecision.milk similarity index 100% rename from presets_milkdrop_104/Krash - Twisting Indecision.milk rename to presets/presets_milkdrop_104/Krash - Twisting Indecision.milk diff --git a/presets_milkdrop_104/Krash - Vinyl Disk.milk b/presets/presets_milkdrop_104/Krash - Vinyl Disk.milk similarity index 100% rename from presets_milkdrop_104/Krash - Vinyl Disk.milk rename to presets/presets_milkdrop_104/Krash - Vinyl Disk.milk diff --git a/presets_milkdrop_104/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_milkdrop_104/Krash - War Machine (Shifting Complexity Mix).milk similarity index 100% rename from presets_milkdrop_104/Krash - War Machine (Shifting Complexity Mix).milk rename to presets/presets_milkdrop_104/Krash - War Machine (Shifting Complexity Mix).milk diff --git a/presets_milkdrop_104/Krash - Windowframe To Mega Swirl 2.milk b/presets/presets_milkdrop_104/Krash - Windowframe To Mega Swirl 2.milk similarity index 100% rename from presets_milkdrop_104/Krash - Windowframe To Mega Swirl 2.milk rename to presets/presets_milkdrop_104/Krash - Windowframe To Mega Swirl 2.milk diff --git a/presets_milkdrop_104/Krash - interwoven (nightmare weft).milk b/presets/presets_milkdrop_104/Krash - interwoven (nightmare weft).milk similarity index 100% rename from presets_milkdrop_104/Krash - interwoven (nightmare weft).milk rename to presets/presets_milkdrop_104/Krash - interwoven (nightmare weft).milk diff --git a/presets/presets_milkdrop_104/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk b/presets/presets_milkdrop_104/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk new file mode 100644 index 0000000000..54a9a0117e --- /dev/null +++ b/presets/presets_milkdrop_104/Krash - interwoven (nightmare weft)_Phats_Maybe_Ill_Go_To_A_Party.milk @@ -0,0 +1,258 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.816695 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.498315 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.950000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.800000 +mv_a=0.100000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2= +per_frame_3=framethird = frame%3; +per_frame_4= +per_frame_5=x1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); +per_frame_6=x2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); +per_frame_7=x3 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); +per_frame_8=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); +per_frame_9=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); +per_frame_10=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); +per_frame_11=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); +per_frame_12=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); +per_frame_13=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); +per_frame_14=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); +per_frame_15=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); +per_frame_16=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); +per_frame_17=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); +per_frame_18=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); +per_frame_19=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); +per_frame_20=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); +per_frame_21= +per_frame_22=volume = 0.3*(bass+mid); +per_frame_23=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_24=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_25=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_26=peakbass_att = max(bass_att,peakbass_att); +per_frame_27=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_28=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_29=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_30=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_31=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_32=dx = if(beat,1-2*rand(2),0); +per_frame_33=ob_a = if(beat,0,0.65); +per_frame_34=mv_a = if(beat,1,0.05); +per_pixel_1=dy = 0.004 + 0.0005*sin(10*x+0.459*time) + 0.0005*sin(14*x+0.325*time) + 0.0005*sin(1.231*time); +per_pixel_2=//dx = dx + 0.0001*sin(9*y+0.612*time) + 0.0001*sin(13*y+0.429*time) + 0.0001*sin(1.027*time); diff --git a/presets/presets_milkdrop_104/Krash - systolic pressure (EoS remix).milk b/presets/presets_milkdrop_104/Krash - systolic pressure (EoS remix).milk new file mode 100644 index 0000000000..34a6179fb5 --- /dev/null +++ b/presets/presets_milkdrop_104/Krash - systolic pressure (EoS remix).milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.071719 +fWaveSmoothing=0.750000 +fWaveParam=-0.160000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.050000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.050000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.598910 +mv_dy=0.978744 +mv_l=0.500000 +mv_r=0.296168 +mv_g=0.490016 +mv_b=0.461879 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*(xspeed*0.5); +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*(yspeed*0.5); +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = ypos + 0.5; +per_frame_24=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = wave_g + 0.150*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=mv_a = if(beat, 0.1, ib_a); +per_frame_31=ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1- wave_y; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q2; +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.05 + below(newrad,0.39+q3)*(0.6-newrad), pow(1 + 0.5*cos(newrad+2*q3+0.28), newrad*2-1)); +per_pixel_5=dx = -0.0005 + (newx)*(newzoom*0.97) - newx; +per_pixel_6=dy = -0.0005 + (newy)*(newzoom*0.97) - newy; diff --git a/presets_milkdrop_104/Mstress & Darius - Pursuing The Sunset.milk b/presets/presets_milkdrop_104/Mstress & Darius - Pursuing The Sunset.milk similarity index 100% rename from presets_milkdrop_104/Mstress & Darius - Pursuing The Sunset.milk rename to presets/presets_milkdrop_104/Mstress & Darius - Pursuing The Sunset.milk diff --git a/presets/presets_milkdrop_104/Mstress & Juppy - Dancer.milk b/presets/presets_milkdrop_104/Mstress & Juppy - Dancer.milk new file mode 100644 index 0000000000..a25d69200d --- /dev/null +++ b/presets/presets_milkdrop_104/Mstress & Juppy - Dancer.milk @@ -0,0 +1,403 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.300000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=16 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=dim =1; //Dancer dimensions +wave_0_per_point2=xpos=0;//Dancer x position variation +wave_0_per_point3=ypos=0;//Dancer y position variation +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=//Position Stabilization +wave_0_per_point8=xpos=xpos+(1-dim)/2; +wave_0_per_point9=ypos=ypos+(1-dim)/2; +wave_0_per_point10= +wave_0_per_point11=meanbass = 0.01*(meanbass*99+bass); +wave_0_per_point12=meantreb = 0.01*(meantreb*99+treb); +wave_0_per_point13=meanmid = 0.01*(meanmid*99+mid); +wave_0_per_point14=bassdiff = (bass - meanbass)*15; +wave_0_per_point15=trebdiff = (treb - meantreb)*15; +wave_0_per_point16=middiff = (mid - meanmid)*15; +wave_0_per_point17=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_0_per_point18=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_0_per_point19=mi = min(above(middiff,0)*middiff*.005,.11); +wave_0_per_point20= +wave_0_per_point21=mi2_prg = mi2_prg+mi; +wave_0_per_point22=gam = abs(gam-above(mi2_prg,5)); +wave_0_per_point23=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_0_per_point24= +wave_0_per_point25=s = sample *15; +wave_0_per_point26=//Gambe +wave_0_per_point27=x= if(equal(int(s),1),.4,.4); +wave_0_per_point28=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_0_per_point29= +wave_0_per_point30=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_0_per_point31=y= if(equal(int(s),2),.4,y); +wave_0_per_point32= +wave_0_per_point33=x= if(equal(int(s),3),.6,x); +wave_0_per_point34=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_0_per_point35= +wave_0_per_point36=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_0_per_point37=y= if(equal(int(s),4),.4,y); +wave_0_per_point38= +wave_0_per_point39=//Corpo +wave_0_per_point40=x= if(equal(int(s),5),.5,x); +wave_0_per_point41=y= if(equal(int(s),5),.6,y); +wave_0_per_point42= +wave_0_per_point43=//Braccia +wave_0_per_point44=x= if(equal(int(s),6),.4-mi*.23,x); +wave_0_per_point45=y= if(equal(int(s),6),.5+mi,y); +wave_0_per_point46= +wave_0_per_point47=x= if(equal(int(s),7),.5,x); +wave_0_per_point48=y= if(equal(int(s),7),.6,y); +wave_0_per_point49= +wave_0_per_point50=x= if(equal(int(s),8),.6+tr*.23,x); +wave_0_per_point51=y= if(equal(int(s),8),.5+tr,y); +wave_0_per_point52= +wave_0_per_point53=x= if(equal(int(s),9),.5,x); +wave_0_per_point54=y= if(equal(int(s),9),.6,y); +wave_0_per_point55= +wave_0_per_point56=//Testa +wave_0_per_point57=x= if(equal(int(s),10),.5,x); +wave_0_per_point58=y= if(equal(int(s),10),.62,y); +wave_0_per_point59= +wave_0_per_point60=x= if(equal(int(s),11),.47-ba*.23,x); +wave_0_per_point61=y= if(equal(int(s),11),.62,y); +wave_0_per_point62=x= if(equal(int(s),12),.47-ba*.23,x); +wave_0_per_point63=y= if(equal(int(s),12),.67+ba*.23,y); +wave_0_per_point64= +wave_0_per_point65=x= if(equal(int(s),13),.53+ba*.23,x); +wave_0_per_point66=y= if(equal(int(s),13),.67+ba*.23,y); +wave_0_per_point67= +wave_0_per_point68=x= if(equal(int(s),14),.53+ba*.23,x); +wave_0_per_point69=y= if(equal(int(s),14),.62,y); +wave_0_per_point70= +wave_0_per_point71=x= if(equal(int(s),15),.50,x); +wave_0_per_point72=y= if(equal(int(s),15),.62,y); +wave_0_per_point73= +wave_0_per_point74=x=x*dim+xpos; +wave_0_per_point75=y=y*dim+ypos; +wave_0_per_point76= +wave_0_per_point77=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_0_per_point78=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_0_per_point79=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_0_per_point80= +wave_0_per_point81=hm=sample+mi2_prg; +wave_0_per_point82=ht=sample+tr_prg; +wave_0_per_point83=hb=sample+ba_prg; +wave_0_per_point84= +wave_0_per_point85=r=hm; +wave_0_per_point86=g=ht; +wave_0_per_point87=b=hb; +wave_0_per_point88=a=.8; +wavecode_1_enabled=0 +wavecode_1_samples=16 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1= +wave_2_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_2_per_frame3=ry=atan2(q2,q4); +wave_2_per_frame4=rz=0; +wave_2_per_frame5= +wave_2_per_frame6=t1=sin(rx);t2=cos(rx); +wave_2_per_frame7=t3=sin(ry);t4=cos(ry); +wave_2_per_frame8=t5=sin(rz);t6=cos(rz); +wave_2_per_point1=sample=sample*q1*134; +wave_2_per_point2=x1=sin(sample*543)*2+q2; +wave_2_per_point3=y1=cos(sample*4232)*2+q3; +wave_2_per_point4=z1=sin(sample*90)*2+q4; +wave_2_per_point5= +wave_2_per_point6=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_2_per_point7=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_2_per_point8=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_2_per_point9=z3=if(above(z3,.1),.5/z3,0); +wave_2_per_point10=x=if(z3,x3*z3,x)+.5; +wave_2_per_point11=y=if(z3,-y3*z3,y)+.5; +wave_2_per_point12=a=z3*.8; +wavecode_3_enabled=0 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_3_per_frame3=ry=atan2(q2,q4); +wave_3_per_frame4=rz=0; +wave_3_per_frame5=ry1=ry1+bass_att*.2; +wave_3_per_frame6=t1=sin(rx);t2=cos(rx); +wave_3_per_frame7=t3=sin(ry);t4=cos(ry); +wave_3_per_frame8=t5=sin(rz);t6=cos(rz); +wave_3_per_frame9=t7=sin(ry1);t8=cos(ry1); +wave_3_per_frame10= +wave_3_per_point1=cp=bnot(cp); +wave_3_per_point2=r=sample*q1*10; +wave_3_per_point3=i1=(sample*6)%2; +wave_3_per_point4=rt=if(cp,.7,.2); +wave_3_per_point5=sample=sample*q1*.5; +wave_3_per_point6= +wave_3_per_point7=x1=sin(r)*rt; +wave_3_per_point8=z1=cos(r)*rt; +wave_3_per_point9=y1=-.5; +wave_3_per_point10=x2=x1*t8-z1*t7;z2=x1*t7+z1*t8; +wave_3_per_point11=x1=x2+q2; +wave_3_per_point12=y1=y1+q3; +wave_3_per_point13=z1=z2+q4; +wave_3_per_point14=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_3_per_point15=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_3_per_point16=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_3_per_point17=z3=if(above(z3,.1),.5/z3,0); +wave_3_per_point18=x=if(z3,x3*z3,x)+.5; +wave_3_per_point19=y=if(z3,-y3*z3,y)+.5; +wave_3_per_point20=hu=sample+cos(time/q1)*q1; +wave_3_per_point21=r=sin(hu)*.5+.5; +wave_3_per_point22=g=sin(hu+q1*.33)*.5+.5; +wave_3_per_point23=b=sin(hu+q1*.66)*.5+.5; +wave_3_per_point24=a=z3*.8; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.840000 +shapecode_0_y=0.740000 +shapecode_0_rad=0.289992 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.361327 +shapecode_0_r=0.100000 +shapecode_0_g=0.500000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.100000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.400000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.040000 +shape_0_per_frame1=meantreb = 0.01*(meantreb*99+treb); +shape_0_per_frame2=trebdiff = (treb - meantreb)*15; +shape_0_per_frame3=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +shape_0_per_frame4= +shape_0_per_frame5=tr_prg= tr_prg+tr; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang =-tr_prg; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.150000 +shapecode_1_y=0.730000 +shapecode_1_rad=0.511334 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.388689 +shapecode_1_r=0.600000 +shapecode_1_g=0.600000 +shapecode_1_b=0.200000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.210000 +shapecode_1_a2=0.899999 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.070000 +shape_1_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_1_per_frame2=bassdiff = (bass - meanbass)*15; +shape_1_per_frame3=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +shape_1_per_frame4= +shape_1_per_frame5= +shape_1_per_frame6=ba_prg= ba_prg+ba; +shape_1_per_frame7= +shape_1_per_frame8=tex_ang =-ba_prg; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.559238 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_2_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_2_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_2_per_frame4=bassdiff = (bass - meanbass)*15; +shape_2_per_frame5=trebdiff = (treb - meantreb)*15; +shape_2_per_frame6=middiff = (mid - meanmid)*15; +shape_2_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_2_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_2_per_frame9=middiff = above(middiff,0)*middiff; +shape_2_per_frame10= +shape_2_per_frame11=g = min(1,max(0,0.2*trebdiff)); +shape_2_per_frame12=r = min(1,max(0,0.2*middiff)); +shape_2_per_frame13=b = min(1,max(0,0.2*bassdiff)); +shape_2_per_frame14=g2 = min(1,max(0,0.2*trebdiff)); +shape_2_per_frame15=r2 = min(1,max(0,0.2*middiff)); +shape_2_per_frame16=b2 = min(1,max(0,0.2*bassdiff)); +shape_2_per_frame17=border_g = .4+min(.6,max(0,0.1*trebdiff)); +shape_2_per_frame18=border_r = .4+min(.6,max(0,0.1*middiff)); +shape_2_per_frame19=border_b = .4+min(.6,max(0,0.1*bassdiff)); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q1=acos(-1)*2; +per_frame_1=decay=.30; +per_frame_2= +per_frame_3=meanmid = 0.01*(meanmid*99+mid); +per_frame_4=middiff = (mid - meanmid)*15; +per_frame_5=mi = min(above(middiff,0)*middiff*.005,.11); +per_frame_6= +per_frame_7=mi_prg = mi_prg+mi; +per_frame_8=gam = abs(gam-above(mi_prg,.5)); +per_frame_9=mi_prg= if(above(mi_prg,.5),0,mi_prg); +per_frame_10=q1=gam; +per_frame_11=monitor =mi_prg; +per_pixel_1= +per_pixel_2=ylim=.8; +per_pixel_3= +per_pixel_4=sx = sy-below(y,ylim)*.001; +per_pixel_5=dx=dx+.01*bass*(1-q1*2)*below(y,ylim); +per_pixel_6=rot=rot+.051*below(y,ylim); +per_pixel_7=cx=int(x*16)/16; +per_pixel_8=cy=int(y*16)/16; diff --git a/presets/presets_milkdrop_104/Mstress & Zylot - Acid UFO.milk b/presets/presets_milkdrop_104/Mstress & Zylot - Acid UFO.milk new file mode 100644 index 0000000000..0bc9db5a1d --- /dev/null +++ b/presets/presets_milkdrop_104/Mstress & Zylot - Acid UFO.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.99 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.179297 +fWaveScale=0.491915 +fWaveSmoothing=0.216 +fWaveParam=-0.42 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.001829 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999005 +sy=0.999005 +wave_r=0.77 +wave_g=0.6 +wave_b=0.6 +wave_x=0.42 +wave_y=0.5 +ob_size=0.02 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.250001 +ib_size=0.155 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.27 +nMotionVectorsX=30.079998 +nMotionVectorsY=0 +mv_dx=0.32 +mv_dy=0.42 +mv_l=3.199998 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = min(1,max(0,0.3*bass)); +per_frame_3=wave_g = min(1,max(0,0.3*mid)); +per_frame_4=wave_b = min(1,max(0,0.3*treb)); +per_frame_5= +per_frame_6=//Thanks to Zylot for rainbow generator +per_frame_7=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_8=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_9=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_10=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_11=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_12=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_13=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_14=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_15= +per_frame_16=mbass=max(bass_att,3); +per_frame_17=xmovn = 0.1*rand(10)*mbass*0.015*(1-2*above(rand(10),5)); +per_frame_18=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(rand(10),5)); +per_frame_19=//ymovn=.05; +per_frame_20=xmov = if(beat,xmovn,xmov*.9); +per_frame_21=ymov = if(beat,ymovn,ymov*.9); +per_frame_22=q1=oldx; +per_frame_23=q2=oldy; +per_frame_24=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); +per_frame_25=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); +per_frame_26=xmov = xmov + (-2*xmov*out_x); +per_frame_27=ymov = ymov + (-2*ymov*out_y); +per_frame_28=wave_x = q1+xmov ; +per_frame_29=wave_y = q2+ymov; +per_frame_30=q1=wave_x; +per_frame_31=q2=wave_y; +per_frame_32=oldx = q1; +per_frame_33=oldy = q2; +per_frame_34= +per_frame_35=decay = decay - 0.91*(treble); +per_frame_36= +per_frame_37=//Thanks to krash for beat detection (modified) +per_frame_38=volume = 0.3*bass+mid; +per_frame_39=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_40=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_41=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_42=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_43=peakbass_att = max(bass_att,peakbass_att); +per_frame_44=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_49=q3=volume+treb; +per_frame_50=monitor =meanbass_att; +per_pixel_1=mx= x-q1; +per_pixel_2=my = y-(1-q2); +per_pixel_3=mrad = pow(pow(mx,2)+pow(my,2),0.5)*pow(2,0.5); +per_pixel_4=cx = q1; +per_pixel_5=cy = 1-q2; +per_pixel_6=rot= rot + below(mrad-0.18,0)*0.5*sin(mrad*40)*(mrad-0.1)*40- above(mrad-0.18,0)*0.3*sin(mrad*2)*(mrad-0.1)*sin((cx-0.5)*(cy-0.5)*6.28)*q3; +per_pixel_7=zoom= zoom - above(mrad-0.18,0)*0.05*mrad*q3; +per_pixel_8=dx = dx +below(mrad-0.18,0)*0.015*(mx/mrad); +per_pixel_9=dy = dy +below(mrad-0.18,0)*0.015*(my/mrad); +per_frame_init_1=oldx=.5; +per_frame_init_2=oldy=.5; diff --git a/presets_milkdrop_104/Mstress - Acid Universes (Big Bang Interferences Mix).milk b/presets/presets_milkdrop_104/Mstress - Acid Universes (Big Bang Interferences Mix).milk similarity index 100% rename from presets_milkdrop_104/Mstress - Acid Universes (Big Bang Interferences Mix).milk rename to presets/presets_milkdrop_104/Mstress - Acid Universes (Big Bang Interferences Mix).milk diff --git a/presets_milkdrop_104/Mstress - Acid Universes.milk b/presets/presets_milkdrop_104/Mstress - Acid Universes.milk similarity index 100% rename from presets_milkdrop_104/Mstress - Acid Universes.milk rename to presets/presets_milkdrop_104/Mstress - Acid Universes.milk diff --git a/presets_milkdrop_104/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk b/presets/presets_milkdrop_104/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk similarity index 100% rename from presets_milkdrop_104/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk rename to presets/presets_milkdrop_104/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk diff --git a/presets_milkdrop_104/Mstress - Snowing Fiber City.milk b/presets/presets_milkdrop_104/Mstress - Snowing Fiber City.milk similarity index 100% rename from presets_milkdrop_104/Mstress - Snowing Fiber City.milk rename to presets/presets_milkdrop_104/Mstress - Snowing Fiber City.milk diff --git a/presets/presets_milkdrop_104/Phat and EoS _ shapes are cool smoke move2.milk b/presets/presets_milkdrop_104/Phat and EoS _ shapes are cool smoke move2.milk new file mode 100644 index 0000000000..04fe21105f --- /dev/null +++ b/presets/presets_milkdrop_104/Phat and EoS _ shapes are cool smoke move2.milk @@ -0,0 +1,292 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.910000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=5.000000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.200000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.300000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25; +shape_0_per_frame11=a=above(1,bass-0.1); +shape_0_per_frame12=a2=above(1,bass-0.1); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2; +shape_1_per_frame4=r=treb; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=q7; +shape_3_per_frame2=y=q8; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=rad=min( rad, 0.7); +shape_3_per_frame5=ang=q1*4; +shape_3_per_frame6= +shape_3_per_frame7=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame8=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame9=b=0.70 + (sin(time/2 + 4)) * 0.50 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=speed=0.80; +per_frame_3=speedinv=1-speed; +per_frame_4=q1=(qa*speed + bass*speedinv); +per_frame_5=q2=(qb*speed + mid *speedinv); +per_frame_6=q3=(qc*speed + treb*speedinv); +per_frame_7=qa=q1; +per_frame_8=qb=q2; +per_frame_9=qc=q3; +per_frame_10=flux=sin(time/2); +per_frame_11=q4=flux * 0.5 + 0.5; +per_frame_12=q5=flux; +per_frame_13= +per_frame_14=q7=sin(time/2)*0.4 + 0.5; +per_frame_15=q8=sin(time)*0.4+0.5; +per_frame_16= +per_frame_17=rt=sin(time*0.79)*0.5+0.5; +per_frame_18=rt=rt*rt; +per_frame_19=rot=-rt*0.01; +per_frame_20=q6=rt*0.01; +per_frame_21= +per_frame_22= +per_frame_23=d1=sin(time*0.89); +per_frame_24=dx=d1*0.005; +per_frame_25= +per_frame_26=d2=sin(time*0.84); +per_frame_27= +per_frame_28=dy=d2*0.005 +per_pixel_1=zm=cos(ang*3+time); +per_pixel_2=sx=1+ zm*0.002 + q6; +per_pixel_3=sy=1-zm*0.002 + q6; +per_pixel_4= +per_pixel_5= +per_pixel_6= +per_pixel_7=cx=q7; +per_pixel_8=cy=1-q8; diff --git a/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_Circles_mix.milk b/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_Circles_mix.milk new file mode 100644 index 0000000000..811d6af6ba --- /dev/null +++ b/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_Circles_mix.milk @@ -0,0 +1,437 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.639066 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sampleloop = sample*8 ; sampleloop=sampleloop - int(sampleloop); +wave_1_per_point2=scale = 1 - int(sample*8)*0.001; +wave_1_per_point3= +wave_1_per_point4=st = sampleloop*4; +wave_1_per_point5=stt = st - int(st); +wave_1_per_point6= +wave_1_per_point7=x = stt; +wave_1_per_point8=x = if( above(st,1) , 1 , x ); +wave_1_per_point9=x = if( above(st,2) , 1-stt , x ); +wave_1_per_point10=x = if( above(st,3) , 0 , x ); +wave_1_per_point11=x=(x-0.5)*scale + 0.5; +wave_1_per_point12= +wave_1_per_point13=y = 0; +wave_1_per_point14=y = if( above(st,1) , stt , y ); +wave_1_per_point15=y = if( above(st,2) , 1 , y ); +wave_1_per_point16=y = if( above(st,3) , 1-stt , y ); +wave_1_per_point17=y=(y-0.5)*scale + 0.5; +wave_1_per_point18= +wave_1_per_point19=phs=time*0.26; +wave_1_per_point20= +wave_1_per_point21=w=sin(sampleloop*6.283 * 6 + time*0.5) * 0.5 + 0.5; +wave_1_per_point22=//w = above( sin(time*3) , 0); +wave_1_per_point23= +wave_1_per_point24=rg = 0.2; +wave_1_per_point25= +wave_1_per_point26= +wave_1_per_point27= +wave_1_per_point28=r=( (sampleloop*rg+phs) - int(sampleloop*rg+phs) )*1.5; +wave_1_per_point29=r=if( above(r,1) , 2-r , r ) * w; +wave_1_per_point30=//r=1- pow(1-r,2); +wave_1_per_point31= +wave_1_per_point32=g=( (sampleloop*rg+phs+0.66) - int(sampleloop*rg+phs+0.66) )*1.5; +wave_1_per_point33=g=if( above(g,1) , 2-g , g ) * w; +wave_1_per_point34=//g=1- pow(1-g,2); +wave_1_per_point35= +wave_1_per_point36=b=( (sampleloop*rg+phs+1.33) - int(sampleloop*rg*0.3+phs+1.33) )*1.5; +wave_1_per_point37=b=if( above(b,1) , 2-b , b ) * w; +wave_1_per_point38=//b=1- pow(1-b,2); +wave_1_per_point39= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wave_2_per_point81=phs=time*0.3; +wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; +wave_2_per_point83=r=if( above(r,1) , 2-r , r ); +wave_2_per_point84= +wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; +wave_2_per_point86=g=if( above(g,1) , 2-g , g ); +wave_2_per_point87= +wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; +wave_2_per_point89=b=if( above(b,1) , 2-b , b ); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.480000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.976308 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.361763 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=0 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.400000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.700000 +shapecode_2_g2=0.700000 +shapecode_2_b2=0.700000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tm=int(time*0.25)*10; +shape_2_per_frame2= +shape_2_per_frame3=ag = sin(tm * 0.5); +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; +shape_2_per_frame7=x=x+xa; +shape_2_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; +shape_2_per_frame9=y=y+ya; +shape_2_per_frame10= +shape_2_per_frame11=ang=ang + ag; +shape_2_per_frame12= +shape_2_per_frame13= +shape_2_per_frame14=tex_zoom = tex_zoom + ag*0.1; +shape_2_per_frame15= +shape_2_per_frame16= +shape_2_per_frame17=additive= above( sin(time*0.25*4) , 0.985 ); +shape_2_per_frame18= +shape_2_per_frame19= +shape_2_per_frame20=a = 1 - additive*0.5; +shape_2_per_frame21= +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.467532 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=0.721416 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +shape_3_per_frame14= +shape_3_per_frame15= +shape_3_per_frame16=//additive= above( sin(time*0.25*16) , 0.98 ); +shape_3_per_frame17=//additive = above( treb , 1.15 ); +shape_3_per_frame18= +shape_3_per_frame19=//a=min(q5,1); +per_frame_1=decay=1; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.3*(55/fps); +per_frame_11=q5=vol; +per_frame_12= +per_frame_13=q1=mtime*0.5; +per_frame_14= +per_frame_15=btime = btime + (bass_att*bass_att)*0.005*(55/fps); +per_frame_16=q6=btime; +per_frame_17=mtime = mtime + (mid*mid)*0.005*(55/fps); +per_frame_18=q7=mtime; +per_frame_19=ttime = ttime + (treb_att*treb_att)*0.005*(55/fps); +per_frame_20=q8=ttime; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24=phs=time*0.1 ; +per_frame_25= +per_frame_26=r=( (phs) - int(phs) )*2; +per_frame_27=r=if( above(ob_r,1) , 2-r , r ); +per_frame_28=ob_r=r; +per_frame_29= +per_frame_30=g=( (phs+0.66) - int(phs+0.66) )*2; +per_frame_31=g=if( above(g,1) , 2-g , g ); +per_frame_32=ob_g=g; +per_frame_33= +per_frame_34=b=( (phs+1.33) - int(phs+1.33) )*2; +per_frame_35=b=if( above(b,1) , 2-b , b ); +per_frame_36=ob_b=b; +per_pixel_1=zoom=1.005-(rad/100) + (bass*bass)*0.0015; +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_spectrum.milk b/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_spectrum.milk new file mode 100644 index 0000000000..fbaf2afbb9 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat+EoS_Mandala_Chasers_remix_spectrum.milk @@ -0,0 +1,378 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=st = sample*4; +wave_1_per_point2=stt = st - int(st); +wave_1_per_point3= +wave_1_per_point4=x = stt; +wave_1_per_point5=x = if( above(st,1) , 1 , x ); +wave_1_per_point6=x = if( above(st,2) , 1-stt , x ); +wave_1_per_point7=x = if( above(st,3) , 0 , x ); +wave_1_per_point8= +wave_1_per_point9=y = 0; +wave_1_per_point10=y = if( above(st,1) , stt , y ); +wave_1_per_point11=y = if( above(st,2) , 1 , y ); +wave_1_per_point12=y = if( above(st,3) , 1-stt , y ); +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=phs=time*0.26; +wave_1_per_point16= +wave_1_per_point17=w=sin(sample*6.283 * 6 + time*0.5) * 0.5 + 0.6; +wave_1_per_point18= +wave_1_per_point19=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*1.5; +wave_1_per_point20=r=if( above(r,1) , 2-r , r ) * w; +wave_1_per_point21=r=1- pow(1-r,2); +wave_1_per_point22= +wave_1_per_point23=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*1.5; +wave_1_per_point24=g=if( above(g,1) , 2-g , g ) * w; +wave_1_per_point25=g=1- pow(1-g,2); +wave_1_per_point26= +wave_1_per_point27=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*1.5; +wave_1_per_point28=b=if( above(b,1) , 2-b , b ) * w; +wave_1_per_point29=b=1- pow(1-b,2); +wave_1_per_point30= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wave_2_per_point81=phs=time*0.3; +wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; +wave_2_per_point83=r=if( above(r,1) , 2-r , r ); +wave_2_per_point84= +wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; +wave_2_per_point86=g=if( above(g,1) , 2-g , g ); +wave_2_per_point87= +wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; +wave_2_per_point89=b=if( above(b,1) , 2-b , b ); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.760000 +shapecode_0_y=0.600000 +shapecode_0_rad=0.703044 +shapecode_0_ang=0.565487 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.831505 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(58/fps); +per_frame_11= +per_frame_12=q1=time*0.5; +per_pixel_1=zoom=1.005-(rad/100) + (bass*bass)*0.0015; +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk b/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk new file mode 100644 index 0000000000..d511654efc --- /dev/null +++ b/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk @@ -0,0 +1,444 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs*4; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.1*0.6-0.05*0.6)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +wave_3_per_point80= +wave_3_per_point81=//fade=min((1-sample)*1.4,1); +wave_3_per_point82=//b=b*fade; +wave_3_per_point83=//g=g*fade; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=ang=ang + sin(time*0.5)*0.1 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14=ob_r = sin(mtime*0.3)*0.5 + 0.5; +per_frame_15=ob_g = sin(mtime*0.3 + 2.1)*0.5 + 0.5; +per_frame_16=ob_b = sin(mtime*0.3 + 4.2)*0.5 + 0.5 +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk b/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk new file mode 100644 index 0000000000..ba1ec9891a --- /dev/null +++ b/presets/presets_milkdrop_104/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk @@ -0,0 +1,410 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_point1=sample=pow(sample,.85); +wave_3_per_point2= +wave_3_per_point3=c1=6.2831*t1/(1.1-sample); +wave_3_per_point4=c=cos(c1); +wave_3_per_point5=s=sin(c1); +wave_3_per_point6=c2=sqrt(1-sample); +wave_3_per_point7= +wave_3_per_point8=ox=t7-.5*c2*c; +wave_3_per_point9=oy=t8-.625*c2*s; +wave_3_per_point10= +wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point13= +wave_3_per_point14=inv=1/sqr(1.1-sample); +wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point18=fdx=fdx*invMag; +wave_3_per_point19=fdy=fdy*invMag; +wave_3_per_point20= +wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point23=tt=rand(100)/100; +wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_3_per_point26= +wave_3_per_point27=x=x*.55; +wave_3_per_point28=y=(y-.5)*.55+.5; +wave_3_per_point29= +wave_3_per_point30=r=sample; +wave_3_per_point31=g=1-sample; +wave_3_per_point32=b=1; +wave_3_per_point33=a=below(sample,.995); +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=time*0.5; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_milkdrop_104/Phat_EoS Eyes_spiral_mix.milk b/presets/presets_milkdrop_104/Phat_EoS Eyes_spiral_mix.milk new file mode 100644 index 0000000000..c569ecbc6b --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_EoS Eyes_spiral_mix.milk @@ -0,0 +1,344 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850100 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = .98; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.1; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1.02; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4); +per_pixel_36= +per_pixel_37=dx=sin(y*40)*(q4*0.05); +per_pixel_38=dy=cos(x*40)*(q4*0.05); diff --git a/presets/presets_milkdrop_104/Phat_EoS rainbow bubble_mid3-fuck me dood.milk b/presets/presets_milkdrop_104/Phat_EoS rainbow bubble_mid3-fuck me dood.milk new file mode 100644 index 0000000000..cdf862eda6 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_EoS rainbow bubble_mid3-fuck me dood.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = 0.99; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.3; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4) diff --git a/presets/presets_milkdrop_104/Phat_EoS_Data_swimmer.milk b/presets/presets_milkdrop_104/Phat_EoS_Data_swimmer.milk new file mode 100644 index 0000000000..798e9a0e84 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_EoS_Data_swimmer.milk @@ -0,0 +1,355 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.30; +wave_0_per_point4=yp=cos(smp )*0.30; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=ib_r=tan(time*24); +per_frame_20=ib_r=min(ib_r,1); +per_frame_21=ib_r=max(ib_r,0); +per_frame_22=ib_g=tan(time*24+3.14); +per_frame_23=ib_g=min(ib_g,1); +per_frame_24=ib_g=max(ib_g,0); +per_frame_25=ib_b=tan(time*24+6.28); +per_frame_26=ib_b=min(ib_b,1); +per_frame_27=ib_b=max(ib_b,0); +per_frame_28= +per_frame_29=ob_r=ib_r-0.5; +per_frame_30=ob_g=ib_g-0.5; +per_frame_31=ob_b=ib_b-0.5; +per_frame_32=q1=ib_rr; +per_frame_33=q2=1-ib_gg; +per_frame_34=q3=ib_bb; +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38=decay = 1; +per_frame_39= +per_frame_40= +per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_42=//solarize=above(0.5,bass); +per_frame_43=//darken=above(0.4,treb); +per_frame_44= +per_frame_45=musictime=musictime+(mid*mid*mid)*0.01*(75/fps); +per_frame_46= +per_frame_47=xpos=sin(musictime*0.6)*0.5; +per_frame_48=ypos=sin(musictime*0.4)*0.5; +per_frame_49=q4=xpos; +per_frame_50=q5=ypos; +per_frame_51= +per_frame_52= +per_frame_53=//invert=above(sin(time),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.91; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1.00; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); +per_pixel_18=star=min(star,8);star=max(star,-8); +per_pixel_19=zm=zm+star/20; +per_pixel_20=sx=zm; +per_pixel_21=sy=zm; +per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; +per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; +per_pixel_25= +per_pixel_26=b1a=mid*0.13; +per_pixel_27=b1b=(bass+mid+treb)*0.12; +per_pixel_28=b1=b1b *1.1*rd*rd*rd*rd; +per_pixel_29=zoom=0.97+(b1*.1); diff --git a/presets/presets_milkdrop_104/Phat_EoS_Swim_waveform_mix.milk b/presets/presets_milkdrop_104/Phat_EoS_Swim_waveform_mix.milk new file mode 100644 index 0000000000..aef24d91b9 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_EoS_Swim_waveform_mix.milk @@ -0,0 +1,350 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.30; +wave_0_per_point4=yp=cos(smp )*0.30; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=ib_r=tan(time*24); +per_frame_20=ib_r=min(ib_r,1); +per_frame_21=ib_r=max(ib_r,0); +per_frame_22=ib_g=tan(time*24+3.14); +per_frame_23=ib_g=min(ib_g,1); +per_frame_24=ib_g=max(ib_g,0); +per_frame_25=ib_b=tan(time*24+6.28); +per_frame_26=ib_b=min(ib_b,1); +per_frame_27=ib_b=max(ib_b,0); +per_frame_28= +per_frame_29=ob_r=ib_r-0.5; +per_frame_30=ob_g=ib_g-0.5; +per_frame_31=ob_b=ib_b-0.5; +per_frame_32=q1=ib_rr; +per_frame_33=q2=1-ib_gg; +per_frame_34=q3=ib_bb; +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38=decay = 1; +per_frame_39= +per_frame_40= +per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_42=//solarize=above(0.5,bass); +per_frame_43=//darken=above(0.4,treb); +per_frame_44= +per_frame_45=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_46= +per_frame_47=xpos=sin(musictime*0.6)*0.3; +per_frame_48=ypos=sin(musictime*0.4)*0.3; +per_frame_49=q4=xpos; +per_frame_50=q5=ypos; +per_frame_51= +per_frame_52= +per_frame_53=//invert=above(sin(time),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.97; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); +per_pixel_18=star=min(star,8);star=max(star,-8); +per_pixel_19=zm=zm+star/20; +per_pixel_20=sx=zm; +per_pixel_21=sy=zm; +per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; +per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; diff --git a/presets/presets_milkdrop_104/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk b/presets/presets_milkdrop_104/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk new file mode 100644 index 0000000000..7181adb294 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_Zylot_EoS I_hope_someone_will_see_this_triping_v2.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_milkdrop_104/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk b/presets/presets_milkdrop_104/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk new file mode 100644 index 0000000000..3576891d69 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk @@ -0,0 +1,352 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14=ib_bass=min(bass_att*1+0.2 , 1); +per_frame_15=ib_r=ib_r*ib_bass; +per_frame_16=ib_g=ib_g*ib_bass; +per_frame_17=ib_b=ib_b*ib_bass; +per_frame_18=gamma=1+min(bass,1)*0.3; +per_frame_19= +per_frame_20= +per_frame_21=ob_r=ib_r-0.5; +per_frame_22=ob_g=ib_g-0.5; +per_frame_23=ob_b=ib_b-0.5; +per_frame_24=q1=ib_r; +per_frame_25=q2=ib_g; +per_frame_26=q3=ib_b; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=decay = 0.99; +per_frame_31= +per_frame_32= +per_frame_33=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_34=//solarize=above(0.5,bass); +per_frame_35=//darken=above(0.4,treb); +per_frame_36= +per_frame_37=musictime=musictime+(bass*bass)*0.003*(75/fps); +per_frame_38=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_39= +per_frame_40= +per_frame_41=xpos=sin(musictime*0.6)*0.2; +per_frame_42=ypos=sin(musictime*0.4)*0.2; +per_frame_43=q4=xpos; +per_frame_44=q5=ypos; +per_frame_45=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*2+2; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rd)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=zm=zm+star*0.1; +per_pixel_32=sx=zm; +per_pixel_33=sy=zm; +per_pixel_34=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*6) diff --git a/presets/presets_milkdrop_104/Phat_Zylot_EoS spiral_faces_ravers_phantom.milk b/presets/presets_milkdrop_104/Phat_Zylot_EoS spiral_faces_ravers_phantom.milk new file mode 100644 index 0000000000..377f567ac8 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_Zylot_EoS spiral_faces_ravers_phantom.milk @@ -0,0 +1,337 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41=invert=above(sin(time*200),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_milkdrop_104/Phat_Zylot_EoS work with lines.milk b/presets/presets_milkdrop_104/Phat_Zylot_EoS work with lines.milk new file mode 100644 index 0000000000..669b3f5776 --- /dev/null +++ b/presets/presets_milkdrop_104/Phat_Zylot_EoS work with lines.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.35; +wave_0_per_point4=yp=cos(smp )*0.35; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay =1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_34= +per_frame_35=xpos=cos(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=1; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm*rd; +per_pixel_22=sy=zm*rd; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_milkdrop_104/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk b/presets/presets_milkdrop_104/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk new file mode 100644 index 0000000000..d685debc16 --- /dev/null +++ b/presets/presets_milkdrop_104/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk @@ -0,0 +1,304 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.905900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.924157 +fWaveScale=0.653091 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.800000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=38 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.254862 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_frame1=r=1; +wave_0_per_frame2=g=1; +wave_0_per_frame3=b=1; +wave_0_per_frame4=a=0.1; +wave_0_per_point1= +wave_0_per_point2=y=sample; +wave_0_per_point3=x=value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shape_2_per_frame18= +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.500000 +shapecode_3_b=0.500000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=0.995; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=bass+(zoomin*10)*.001; +per_frame_20=zoomi=above(zoomin,2)+zoomi*.975; +per_frame_21=zval=cos(time*.3)*(above(zoomi,2)); +per_frame_22=zuse=(zval)*.05+1; +per_frame_23=monitor=zoomi; +per_frame_24=zoom=zuse; +per_frame_25= +per_frame_26=//echo_orient=((maat*.5)%4)+1; +per_frame_27= +per_frame_28=//monitor=val; +per_frame_29=r=above(bass,1.3)+r*.95; +per_frame_30=t=below(r,5); +per_frame_31=q1=t*val*.5; +per_frame_32=mv_dx=sin(time)*.5+.5; +per_frame_33=mv_dy=cos(time)*.5+.5; +per_frame_34=ob_r=0; +per_frame_35=ob_g=0; +per_frame_36=ob_b=0; +per_frame_37=ib_r=0; +per_frame_38=ib_g=0; +per_frame_39=ib_b=0; +per_frame_40=ib_a=0.375; +per_frame_41=ob_a=0.475; +per_frame_42=ob_size=bass*.1; +per_frame_43=ib_size=treb*.1; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=1; +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_milkdrop_104/PieturP - triptrap_(ultimate-trip-mix).milk b/presets/presets_milkdrop_104/PieturP - triptrap_(ultimate-trip-mix).milk new file mode 100644 index 0000000000..182e886f1c --- /dev/null +++ b/presets/presets_milkdrop_104/PieturP - triptrap_(ultimate-trip-mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.955900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=48.000000 +mv_dx=0.500000 +mv_dy=0.500000 +mv_l=5.000000 +mv_r=0.013716 +mv_g=0.872347 +mv_b=0.522466 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=1; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=(sin(time)*.5+.5)%2; +per_frame_20=zval=cos(time*.3)*zoomin; +per_frame_21=zuse=(zval)*.05+1; +per_frame_22=monitor=zuse; +per_frame_23=zoom=zuse; +per_frame_24= +per_frame_25=//echo_orient=((maat*.5)%4)+1; +per_frame_26= +per_frame_27=//monitor=val; +per_frame_28=r=above(bass,1.3)+r*.95; +per_frame_29=t=below(r,5); +per_frame_30=q1=t*val*.5; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34= +per_frame_35= +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets_milkdrop_104/Redi Jedi - acid in your brain.milk b/presets/presets_milkdrop_104/Redi Jedi - acid in your brain.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - acid in your brain.milk rename to presets/presets_milkdrop_104/Redi Jedi - acid in your brain.milk diff --git a/presets_milkdrop_104/Redi Jedi - acid in your pants.milk b/presets/presets_milkdrop_104/Redi Jedi - acid in your pants.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - acid in your pants.milk rename to presets/presets_milkdrop_104/Redi Jedi - acid in your pants.milk diff --git a/presets_milkdrop_104/Redi Jedi - acid on a window pane 2 hits please.milk b/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane 2 hits please.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - acid on a window pane 2 hits please.milk rename to presets/presets_milkdrop_104/Redi Jedi - acid on a window pane 2 hits please.milk diff --git a/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane- no more!.milk b/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane- no more!.milk new file mode 100644 index 0000000000..d68a645124 --- /dev/null +++ b/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane- no more!.milk @@ -0,0 +1,330 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=4.480000 +nMotionVectorsY=4.320000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.99+vol*.01; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.999+(1-phase)*.001; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33=zoom=1; +per_frame_34= +per_frame_35=// This is the version you should use... +per_frame_36=// ----------- start copying ----------- +per_frame_37=hue=(mtime*.01+avgdb+phase*.5); // change this +per_frame_38=h=6*(hue-int(hue)); +per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +per_frame_44=// ----------- end ---------------- +per_frame_45= +per_frame_46=bpm=(60/avgbeatrate)*.01; +per_frame_47=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps)*bpm; +per_frame_48=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps)*bpm; +per_frame_49=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps)*bpm; +per_frame_50=monitor=avgvol; +per_frame_51=q1=mtime; +per_frame_52=q2=t1; +per_frame_53=q3=t2; +per_frame_54=q4=t3; +per_frame_55= +per_frame_56=cx=sin(q2*.01)*.5+.5; +per_frame_57=cy=cos(q3*.01)*.5+.5; +per_frame_58=rot=sin(q2*.01-(q3*.01))*15+35; +per_frame_59=mv_a=phase; +per_pixel_1= +per_pixel_2=c=sin(q2*.1); +per_pixel_3=cc=sin(q3*.1); +per_pixel_4=ccc=sin(q4*.1); +per_pixel_5=cx1=.5+ccc*.3; +per_pixel_6=cy1=.5+cc*.4; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+cc*.3; +per_pixel_24=cy1=.5+c*.25+ccc*.25; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx - sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy - sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets_milkdrop_104/Redi Jedi - acid on a window pane.milk b/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - acid on a window pane.milk rename to presets/presets_milkdrop_104/Redi Jedi - acid on a window pane.milk diff --git a/presets_milkdrop_104/Redi Jedi - acid on a window pane2.milk b/presets/presets_milkdrop_104/Redi Jedi - acid on a window pane2.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - acid on a window pane2.milk rename to presets/presets_milkdrop_104/Redi Jedi - acid on a window pane2.milk diff --git a/presets_milkdrop_104/Redi Jedi - atomic reaction.milk b/presets/presets_milkdrop_104/Redi Jedi - atomic reaction.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - atomic reaction.milk rename to presets/presets_milkdrop_104/Redi Jedi - atomic reaction.milk diff --git a/presets_milkdrop_104/Redi Jedi - atoms in hell.milk b/presets/presets_milkdrop_104/Redi Jedi - atoms in hell.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - atoms in hell.milk rename to presets/presets_milkdrop_104/Redi Jedi - atoms in hell.milk diff --git a/presets_milkdrop_104/Redi Jedi - brainfart remix.milk b/presets/presets_milkdrop_104/Redi Jedi - brainfart remix.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - brainfart remix.milk rename to presets/presets_milkdrop_104/Redi Jedi - brainfart remix.milk diff --git a/presets/presets_milkdrop_104/Redi Jedi - i dont think those were portabello mushrooms.milk b/presets/presets_milkdrop_104/Redi Jedi - i dont think those were portabello mushrooms.milk new file mode 100644 index 0000000000..28e4346055 --- /dev/null +++ b/presets/presets_milkdrop_104/Redi Jedi - i dont think those were portabello mushrooms.milk @@ -0,0 +1,306 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_per_point1=x=q6+value1*.2; +wave_0_per_point2=y=q7+value2*.2; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14*treb)*.4+.5; +wave_0_per_point5=g=cos(q2+sample*3.14*bass)*.3+.4; +wave_0_per_point6=b=sin(q2+sample*3.14*mid)*.3+.6; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.090528 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q6; +shape_0_per_frame2=y=q7; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=rad=q2*.3; +shape_1_per_frame2=x=.2; +shape_1_per_frame3=y=.2; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11=mtime=150+bass_att*1000; +per_frame_init_12=t3=200+treb_att*1000; +per_frame_init_13=t4=100+mid_att*1000; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22=monitor=const; +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(db-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.999+vol*.01; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.9999; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34= +per_frame_35=// This is the version you should use... +per_frame_36=// ----------- start copying ----------- +per_frame_37=hue=(mtime*.01+phase*.5); // change this +per_frame_38=h=6*(hue-int(hue)); +per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +per_frame_44=// ----------- end ---------------- +per_frame_45=ob_a=.3+phase*.6; +per_frame_46= +per_frame_47=q8=phase; +per_frame_48=t3=t3+min(avgvol*.0005*treb*(60/avgbeatrate),.3)*(60/fps); +per_frame_49=t4=t4+min(avgvol*.0005*bass*(60/avgbeatrate),.3)*(60/fps); +per_frame_50=q3=t3; +per_frame_51=q4=t4; +per_frame_52=cx=sin((t3+t4)*.01)*.4+.5; +per_frame_53=cy=sin((mtime+t3)*.01)*.4+.5; +per_frame_54= +per_frame_55=q6=cx; +per_frame_56=q7=cy; +per_frame_57= +per_frame_58=q5=mtime; +per_pixel_1=pi=3.1415; +per_pixel_2=zmx=1+sin(q3+mtime)*.05; +per_pixel_3=zmy=1+sin(q4-mtime)*.05; +per_pixel_4= +per_pixel_5=sx=zmx; +per_pixel_6=sy=zmy; +per_pixel_7= +per_pixel_8=ax=ang; +per_pixel_9=ay=ang; +per_pixel_10= +per_pixel_11=mrot=sin(q5*.01)*.5; +per_pixel_12=//rot=(1-mrot); +per_pixel_13=dx= sin(ax)*mrot*zmx*.1; +per_pixel_14=dy= (cos(ay)*mrot)*zmy*.1; diff --git a/presets_milkdrop_104/Redi Jedi - i think i took a wrong turn in a bad part of town.milk b/presets/presets_milkdrop_104/Redi Jedi - i think i took a wrong turn in a bad part of town.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - i think i took a wrong turn in a bad part of town.milk rename to presets/presets_milkdrop_104/Redi Jedi - i think i took a wrong turn in a bad part of town.milk diff --git a/presets_milkdrop_104/Redi Jedi - i was here till this came on.milk b/presets/presets_milkdrop_104/Redi Jedi - i was here till this came on.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - i was here till this came on.milk rename to presets/presets_milkdrop_104/Redi Jedi - i was here till this came on.milk diff --git a/presets_milkdrop_104/Redi Jedi - multiple points of origin, one destination.milk b/presets/presets_milkdrop_104/Redi Jedi - multiple points of origin, one destination.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - multiple points of origin, one destination.milk rename to presets/presets_milkdrop_104/Redi Jedi - multiple points of origin, one destination.milk diff --git a/presets_milkdrop_104/Redi Jedi - my pupil is big.milk b/presets/presets_milkdrop_104/Redi Jedi - my pupil is big.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - my pupil is big.milk rename to presets/presets_milkdrop_104/Redi Jedi - my pupil is big.milk diff --git a/presets/presets_milkdrop_104/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk b/presets/presets_milkdrop_104/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk new file mode 100644 index 0000000000..2a46afa530 --- /dev/null +++ b/presets/presets_milkdrop_104/Redi Jedi - off the fadar (no sweeps or bleeps, but alotta creeps).milk @@ -0,0 +1,340 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=c1=abs(c1-q1); +wave_0_per_frame2=t1=c1; +wave_0_per_frame3=t2=sin(q2*.0001*q4); +wave_0_per_frame4=t3=(sin(q2*.001*treb_att+q4*10*bass)*.3+.4); +wave_0_per_point1=i=cos(q2*.1); +wave_0_per_point2=ii=sin(q2*.1); +wave_0_per_point3=y=sample*i+.5; +wave_0_per_point4=x=sample*(ii)+.5; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=c4=sin(q2*q4*.01)*.1+.11; +wave_0_per_point8=c2=.1+c4*1.5; +wave_0_per_point9=c3=.2+c4*1.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=c1=1-above(sample,c2)*below(sample,c3); +wave_0_per_point13=r=t1*(1-c1); +wave_0_per_point14=g=t2*(1-c1); +wave_0_per_point15=b=t3*(1-c1); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.050000 +wave_1_init1=time1=1000*bass_att; +wave_1_init2=time2=1000*treb_att; +wave_1_per_frame1=time1=time1+(sin(q2*q4*.15)*.4+.5)*.001*q4+q1*bass; +wave_1_per_frame2=time2=time2+(cos(q2*q4*.1)*.4+.5)*.001*q4+q1*treb; +wave_1_per_frame3= +wave_1_per_frame4=t1=time1; +wave_1_per_frame5=t2=time2; +wave_1_per_frame6= +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=// This is the version you should use... +wave_1_per_frame10=// ----------- start copying ----------- +wave_1_per_frame11=hue=.1*q2; // change this +wave_1_per_frame12=h=6*(hue-int(hue)); +wave_1_per_frame13=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_1_per_frame14=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_1_per_frame15=t3=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +wave_1_per_frame16=t4=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +wave_1_per_frame17=t5=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +wave_1_per_frame18=// ----------- end ---------------- +wave_1_per_point1=i=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=x1=sin(i+t2)*sin(i*t1); +wave_1_per_point4=y1=cos(i+t1)*sin(i*t2); +wave_1_per_point5= +wave_1_per_point6=x2=x1*.5+.5; +wave_1_per_point7=y2=y1*.5+.5; +wave_1_per_point8= +wave_1_per_point9= +wave_1_per_point10=x=x2; +wave_1_per_point11=y=y2; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=ii=sample; +wave_1_per_point16=r=t3*ii*2; +wave_1_per_point17=g=t4*(1-ii); +wave_1_per_point18=b=t5*(.5-ii); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=i=cos(q2*.01*q4); +wave_2_per_point2=ii=sin(q2*.01*q4); +wave_2_per_point3=y=sample*i+.5; +wave_2_per_point4=x=sample*(ii)+.5; +wave_2_per_point5= +wave_2_per_point6=ul=.003*bass_att*q4; +wave_2_per_point7=ll=.002*treb_att*q4; +wave_2_per_point8=r=(treb_att*.052+value1)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point9=g=(mid_att*.02+value2)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point10=b=(bass_att*.057+value2)*(above(sample,ll)*below(sample,ul)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.500000 +wave_3_per_point1=i=cos(q2*.01*q4+.01); +wave_3_per_point2=ii=sin(q2*.01*q4+.01); +wave_3_per_point3=y=sample*i+.5; +wave_3_per_point4=x=sample*(ii)+.5; +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=r=0; +wave_3_per_point8=g=0; +wave_3_per_point9=b=0; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=rad=q1*.33; +shape_0_per_frame2=y=.5; +shape_0_per_frame3=x=.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=rad=q2*.3; +shape_1_per_frame2=x=.2; +shape_1_per_frame3=y=.2; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=beatrate=5; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=.5; +per_frame_init_5=avgdb=.5; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8= +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4= +per_frame_5=//beatdection +per_frame_6=rawbeatb=above(db,avgdb*2); +per_frame_7=beatb=rawbeatb*above(time-lbbtime,.75*avgbeatrate)*above(bass_att,.3); +per_frame_8= +per_frame_9=//beatrate calc +per_frame_10=bbtime=time*beatb; +per_frame_11=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=bc=bc+beatb; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=vol=(rawbeatb*(db-(avgdb))*.01); +per_frame_20=avgvol=avgvol*.99+vol*.05; +per_frame_21= +per_frame_22=mtime=mtime+min(avgvol*.5,.25); +per_frame_23=q2=mtime; +per_frame_24=q1=beatb; +per_frame_25=q3=db; +per_frame_26=q4=60/avgbeatrate; +per_frame_27=q5=equal(bc%4,0)*beatb; +per_frame_28= +per_frame_29=zoom=1; +per_frame_30=decay=.99; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34=ob_r=sin(q2*.01+bass*.01)*.5+.5; +per_frame_35=ob_g=cos(q2*.001*q4+treb*.01)*.5+.5; +per_frame_36=ob_b=sin(time*.001*q4)*.5+.5; +per_frame_37=echo_alpha=.5; +per_frame_38=echo_zoom=sin(q2)*.2+1; +per_pixel_1=zoom=1+sin(q2+treb_att*6*rad)*.1; +per_pixel_2=rot=sin(q2*.05*q4+bass_att*3*rad)*.1; diff --git a/presets/presets_milkdrop_104/Redi Jedi - off the fadar.milk b/presets/presets_milkdrop_104/Redi Jedi - off the fadar.milk new file mode 100644 index 0000000000..9f51b334e4 --- /dev/null +++ b/presets/presets_milkdrop_104/Redi Jedi - off the fadar.milk @@ -0,0 +1,309 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=c1=abs(c1-q1); +wave_0_per_frame2=t1=c1; +wave_0_per_frame3=t2=sin(q2*.0001*q4); +wave_0_per_frame4=t3=(sin(q2*.001*treb_att+q4*10*bass)*.3+.4); +wave_0_per_point1=i=cos(q2*.1); +wave_0_per_point2=ii=sin(q2*.1); +wave_0_per_point3=y=sample*i+.5; +wave_0_per_point4=x=sample*(ii)+.5; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=c4=sin(q2*q4*.01)*.1+.11; +wave_0_per_point8=c2=.1+c4*1.5; +wave_0_per_point9=c3=.2+c4*1.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=c1=1-above(sample,c2)*below(sample,c3); +wave_0_per_point13=r=t1*(1-c1); +wave_0_per_point14=g=t2*(1-c1); +wave_0_per_point15=b=t3*(1-c1); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.500000 +wave_1_per_point1=i=cos(q2*.1+.01); +wave_1_per_point2=ii=sin(q2*.1+.01); +wave_1_per_point3=y=sample*i*.7+.5; +wave_1_per_point4=x=sample*(ii)*.7+.5; +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=r=0; +wave_1_per_point8=g=0; +wave_1_per_point9=b=0; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=i=cos(q2*.01*q4); +wave_2_per_point2=ii=sin(q2*.01*q4); +wave_2_per_point3=y=sample*i+.5; +wave_2_per_point4=x=sample*(ii)+.5; +wave_2_per_point5= +wave_2_per_point6=ul=.003*bass_att*q4; +wave_2_per_point7=ll=.002*treb_att*q4; +wave_2_per_point8=r=(treb_att*.052+value1)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point9=g=(mid_att*.02+value2)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point10=b=(bass_att*.057+value2)*(above(sample,ll)*below(sample,ul)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.500000 +wave_3_per_point1=i=cos(q2*.01*q4+.01); +wave_3_per_point2=ii=sin(q2*.01*q4+.01); +wave_3_per_point3=y=sample*i+.5; +wave_3_per_point4=x=sample*(ii)+.5; +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=r=0; +wave_3_per_point8=g=0; +wave_3_per_point9=b=0; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=rad=q1*.33; +shape_0_per_frame2=y=.5; +shape_0_per_frame3=x=.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=rad=q2*.3; +shape_1_per_frame2=x=.2; +shape_1_per_frame3=y=.2; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=beatrate=5; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=.5; +per_frame_init_5=avgdb=.5; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8= +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4= +per_frame_5=//beatdection +per_frame_6=rawbeatb=above(db,avgdb*2); +per_frame_7=beatb=rawbeatb*above(time-lbbtime,.75*avgbeatrate)*above(bass_att,.3); +per_frame_8= +per_frame_9=//beatrate calc +per_frame_10=bbtime=time*beatb; +per_frame_11=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=bc=bc+beatb; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=vol=(rawbeatb*(db-(avgdb))*.01); +per_frame_20=avgvol=avgvol*.99+vol*.05; +per_frame_21= +per_frame_22=mtime=mtime+min(avgvol*.5,.25); +per_frame_23=q2=mtime; +per_frame_24=q1=beatb; +per_frame_25=q3=db; +per_frame_26=q4=60/avgbeatrate; +per_frame_27=q5=equal(bc%4,0)*beatb; +per_frame_28= +per_frame_29=zoom=1; +per_frame_30=decay=.99; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34=ob_r=sin(q2*.01+bass*.01)*.5+.5; +per_frame_35=ob_g=cos(q2*.001*q4+treb*.01)*.5+.5; +per_frame_36=ob_b=sin(time*.001*q4)*.5+.5; +per_pixel_1=zoom=1+sin(q2+treb_att*6*rad)*.1; +per_pixel_2=rot=sin(q2*.05*q4+bass_att*3*rad)*.1; diff --git a/presets/presets_milkdrop_104/Redi Jedi - perplexium.milk b/presets/presets_milkdrop_104/Redi Jedi - perplexium.milk new file mode 100644 index 0000000000..1ac1592726 --- /dev/null +++ b/presets/presets_milkdrop_104/Redi Jedi - perplexium.milk @@ -0,0 +1,265 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.008146 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.500000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t7 = 0 +wave_0_per_point1=x=sample*2-1; +wave_0_per_point2=y=bass_att*.5+(value1+value2)*.3; +wave_0_per_point3=r=(value1+value2)*.005+sin(time*1.13); +wave_0_per_point4=g=sin(time*1.25); +wave_0_per_point5=b=cos(time*1.46); +wave_0_per_point6=y=1-y; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x=sample*2-1; +wave_1_per_point2=y=bass_att*.5+(value1+value2)*.3; +wave_1_per_point3=r=(value1+value2)*.005; +wave_1_per_point4=g=(.5+.5*sin(time*1.25))*treb*(.5+.5*cos(time*(1-bass))); +wave_1_per_point5=b=(b+value2*.01)/(sample*sin(bass_att*treb+value1)*.5); +wave_1_per_point6=b=b-g-r; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=y=sample*2-1; +wave_2_per_point2=x=bass_att*.5+(value1+value2)*.3; +wave_2_per_point3=x=1-x; +wave_2_per_point4= +wave_2_per_point5=r=value1*(.5*sin(time*1.25)+.5); +wave_2_per_point6=g=sin(time*1.13); +wave_2_per_point7=b=cos(time*1.5); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200676 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=2.576106 +shapecode_0_tex_zoom=1.001829 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=ba=bass-.9; +shape_0_per_frame2=tr=treb-.9; +shape_0_per_frame3=mi=mid-.9; +shape_0_per_frame4=xx=xx+ba*.01-tr*.001; +shape_0_per_frame5=yy=yy+tr*.01-ba*.001; +shape_0_per_frame6=xx=if(above(1,xx),if(below(0,xx),xx,1),0); +shape_0_per_frame7=yy=if(above(1,yy),if(below(0,yy),yy,1),0); +shape_0_per_frame8= +shape_0_per_frame9=rad=(ba+tr+mi)*.333; +shape_0_per_frame10=ss=ss+mi*.5; +shape_0_per_frame11=ss=if(above(8,ss),if(below(3,ss),ss,8),3); +shape_0_per_frame12=sides=ss; +shape_0_per_frame13= +shape_0_per_frame14=rr=rr+ba*.4; +shape_0_per_frame15=gg=gg+tr*.37; +shape_0_per_frame16=bb=bb+mi*.43; +shape_0_per_frame17=r=rr; +shape_0_per_frame18=b=gg; +shape_0_per_frame19=g=bb; +shape_0_per_frame20=r2=sin(time*1.22); +shape_0_per_frame21=b2=sin(time*1.33); +shape_0_per_frame22=g2=sin(time*1.44); +shape_0_per_frame23=x=xx; +shape_0_per_frame24=y=yy; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_pixel_1=cx=.5+.5*cos(time*1.382+bass); +per_pixel_2=cy=.5+.5*sin(time*1.28+treb); +per_pixel_3=dx=dx+.01*tan(time*rad)+cos(time*1.45)*.01; +per_pixel_4=dy=dy+.01*sin(bass)+sin(time*ang)*.01; +per_pixel_5=a=dx; +per_pixel_6=b=dy; +per_pixel_7=rot=bass_att*.01+treb*.01; +per_pixel_8=dx=dx+.001*rot+sin(time*treb_att)*.01; +per_pixel_9=ddx=ddx*.0001*pow(sin(time*1.23),bass); +per_pixel_10=ddy=ddy*.0001*pow(sin(time*1.45),treb); +per_pixel_11=dx=if(above(treb_att,1.1),ddx,dx); +per_pixel_12=dx=dy+.01*pow(sin(treb_att*1.36),treb+bass)+a; +per_pixel_13=dy=dy+.01*pow(cos(bass_att*1.12),treb+bass)+b; +per_pixel_14=rot=bass; diff --git a/presets_milkdrop_104/Redi Jedi - pladman visits the sevendys.milk b/presets/presets_milkdrop_104/Redi Jedi - pladman visits the sevendys.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - pladman visits the sevendys.milk rename to presets/presets_milkdrop_104/Redi Jedi - pladman visits the sevendys.milk diff --git a/presets_milkdrop_104/Redi Jedi - pladman.milk b/presets/presets_milkdrop_104/Redi Jedi - pladman.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - pladman.milk rename to presets/presets_milkdrop_104/Redi Jedi - pladman.milk diff --git a/presets_milkdrop_104/Redi Jedi - porthole to the underworld(dround in a vat of milk).milk b/presets/presets_milkdrop_104/Redi Jedi - porthole to the underworld(dround in a vat of milk).milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - porthole to the underworld(dround in a vat of milk).milk rename to presets/presets_milkdrop_104/Redi Jedi - porthole to the underworld(dround in a vat of milk).milk diff --git a/presets_milkdrop_104/Redi Jedi - porthole to the underworld(hit by a bus edition).milk b/presets/presets_milkdrop_104/Redi Jedi - porthole to the underworld(hit by a bus edition).milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - porthole to the underworld(hit by a bus edition).milk rename to presets/presets_milkdrop_104/Redi Jedi - porthole to the underworld(hit by a bus edition).milk diff --git a/presets_milkdrop_104/Redi Jedi - quit smoking my water,you dick.milk b/presets/presets_milkdrop_104/Redi Jedi - quit smoking my water,you dick.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - quit smoking my water,you dick.milk rename to presets/presets_milkdrop_104/Redi Jedi - quit smoking my water,you dick.milk diff --git a/presets_milkdrop_104/Redi Jedi - static fusion.milk b/presets/presets_milkdrop_104/Redi Jedi - static fusion.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - static fusion.milk rename to presets/presets_milkdrop_104/Redi Jedi - static fusion.milk diff --git a/presets_milkdrop_104/Redi Jedi - static ideas in a dynamic world.milk b/presets/presets_milkdrop_104/Redi Jedi - static ideas in a dynamic world.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - static ideas in a dynamic world.milk rename to presets/presets_milkdrop_104/Redi Jedi - static ideas in a dynamic world.milk diff --git a/presets_milkdrop_104/Redi Jedi - subspace of reality.milk b/presets/presets_milkdrop_104/Redi Jedi - subspace of reality.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - subspace of reality.milk rename to presets/presets_milkdrop_104/Redi Jedi - subspace of reality.milk diff --git a/presets_milkdrop_104/Redi Jedi - triptacular to the max(maxtacular to the trip remix).milk b/presets/presets_milkdrop_104/Redi Jedi - triptacular to the max(maxtacular to the trip remix).milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - triptacular to the max(maxtacular to the trip remix).milk rename to presets/presets_milkdrop_104/Redi Jedi - triptacular to the max(maxtacular to the trip remix).milk diff --git a/presets_milkdrop_104/Redi Jedi - welcome to the underworld(remix).milk b/presets/presets_milkdrop_104/Redi Jedi - welcome to the underworld(remix).milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - welcome to the underworld(remix).milk rename to presets/presets_milkdrop_104/Redi Jedi - welcome to the underworld(remix).milk diff --git a/presets_milkdrop_104/Redi Jedi - your radar may have a few kinks in it.milk b/presets/presets_milkdrop_104/Redi Jedi - your radar may have a few kinks in it.milk similarity index 100% rename from presets_milkdrop_104/Redi Jedi - your radar may have a few kinks in it.milk rename to presets/presets_milkdrop_104/Redi Jedi - your radar may have a few kinks in it.milk diff --git a/presets/presets_milkdrop_104/Reenen - phoenix.milk b/presets/presets_milkdrop_104/Reenen - phoenix.milk new file mode 100644 index 0000000000..3f1f3bd443 --- /dev/null +++ b/presets/presets_milkdrop_104/Reenen - phoenix.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=0.999607 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.053452 +fWaveScale=0.811409 +fWaveSmoothing=0.72 +fWaveParam=-0.4 +fModWaveAlphaStart=0 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.608037 +fWarpScale=1.220618 +fZoomExponent=1 +fShader=0 +zoom=1.00952 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.591235 +sx=0.97059 +sy=1 +wave_r=0.7 +wave_g=0.1 +wave_b=0 +wave_x=0.5 +wave_y=0.24 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=vol = (bass*5 + mid * 3 + treb*2)/20; +per_frame_2=wave_g = wave_g + vol/10 + 0.1*sin(3.21*time); +per_frame_3=wave_r = wave_r + vol/10; +per_frame_4=wave_b = vol/10; +per_frame_5=dy = dy - vol/30 + 0.0015*sin(0.56*time); +per_frame_6=sx = sx - vol/50; +per_frame_7=wave_x = wave_x + vol/50; +per_pixel_1=q1 = above(0.5,y); +per_pixel_2=q2 = bor(above(x,0.55),above(0.45,x)); +per_pixel_3=q3 = (pow(rad+0.95,4)-1)*0.1*(y+0.1); +per_pixel_4=rot = if(bor(q1,q2),q3,rot); diff --git a/presets_milkdrop_104/Rocke - Cold Love (Tei Zwaa).milk b/presets/presets_milkdrop_104/Rocke - Cold Love (Tei Zwaa).milk similarity index 100% rename from presets_milkdrop_104/Rocke - Cold Love (Tei Zwaa).milk rename to presets/presets_milkdrop_104/Rocke - Cold Love (Tei Zwaa).milk diff --git a/presets_milkdrop_104/Rocke - Personal Comet.milk b/presets/presets_milkdrop_104/Rocke - Personal Comet.milk similarity index 100% rename from presets_milkdrop_104/Rocke - Personal Comet.milk rename to presets/presets_milkdrop_104/Rocke - Personal Comet.milk diff --git a/presets_milkdrop_104/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk b/presets/presets_milkdrop_104/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk rename to presets/presets_milkdrop_104/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk diff --git a/presets_milkdrop_104/Rovastar & Che - Asylum Animations.milk b/presets/presets_milkdrop_104/Rovastar & Che - Asylum Animations.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Che - Asylum Animations.milk rename to presets/presets_milkdrop_104/Rovastar & Che - Asylum Animations.milk diff --git a/presets_milkdrop_104/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk b/presets/presets_milkdrop_104/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Fvese - Dark Subconscious.milk b/presets/presets_milkdrop_104/Rovastar & Fvese - Dark Subconscious.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Fvese - Dark Subconscious.milk rename to presets/presets_milkdrop_104/Rovastar & Fvese - Dark Subconscious.milk diff --git a/presets_milkdrop_104/Rovastar & Fvese - Mosaic Waves.milk b/presets/presets_milkdrop_104/Rovastar & Fvese - Mosaic Waves.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Fvese - Mosaic Waves.milk rename to presets/presets_milkdrop_104/Rovastar & Fvese - Mosaic Waves.milk diff --git a/presets_milkdrop_104/Rovastar & Fvese - Paranormal Static.milk b/presets/presets_milkdrop_104/Rovastar & Fvese - Paranormal Static.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Fvese - Paranormal Static.milk rename to presets/presets_milkdrop_104/Rovastar & Fvese - Paranormal Static.milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Hurricane Nightmare.milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Hurricane Nightmare.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Hurricane Nightmare.milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Hurricane Nightmare.milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Ice Planet.milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Ice Planet.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Ice Planet.milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Ice Planet.milk diff --git a/presets_milkdrop_104/Rovastar & Geiss - Octoplasm.milk b/presets/presets_milkdrop_104/Rovastar & Geiss - Octoplasm.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Geiss - Octoplasm.milk rename to presets/presets_milkdrop_104/Rovastar & Geiss - Octoplasm.milk diff --git a/presets_milkdrop_104/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_milkdrop_104/Rovastar & Idiot24-7 - Balk Acid.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Idiot24-7 - Balk Acid.milk rename to presets/presets_milkdrop_104/Rovastar & Idiot24-7 - Balk Acid.milk diff --git a/presets_milkdrop_104/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk b/presets/presets_milkdrop_104/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Krash - Cerebral Demons.milk b/presets/presets_milkdrop_104/Rovastar & Krash - Cerebral Demons.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Krash - Cerebral Demons.milk rename to presets/presets_milkdrop_104/Rovastar & Krash - Cerebral Demons.milk diff --git a/presets_milkdrop_104/Rovastar & Krash - Rainbow Deflection.milk b/presets/presets_milkdrop_104/Rovastar & Krash - Rainbow Deflection.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Krash - Rainbow Deflection.milk rename to presets/presets_milkdrop_104/Rovastar & Krash - Rainbow Deflection.milk diff --git a/presets_milkdrop_104/Rovastar & Krash - Sweetness & Light.milk b/presets/presets_milkdrop_104/Rovastar & Krash - Sweetness & Light.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Krash - Sweetness & Light.milk rename to presets/presets_milkdrop_104/Rovastar & Krash - Sweetness & Light.milk diff --git a/presets_milkdrop_104/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk b/presets/presets_milkdrop_104/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_milkdrop_104/Rovastar & Rocke - Sugar Spun Sister.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Rocke - Sugar Spun Sister.milk rename to presets/presets_milkdrop_104/Rovastar & Rocke - Sugar Spun Sister.milk diff --git a/presets_milkdrop_104/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_milkdrop_104/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_milkdrop_104/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk b/presets/presets_milkdrop_104/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk diff --git a/presets/presets_milkdrop_104/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk b/presets/presets_milkdrop_104/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk new file mode 100644 index 0000000000..93350ec4ee --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar & Unchained - Unclaimed Wreckage 2 (Mystic Stake Mix).milk @@ -0,0 +1,279 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.920000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998166 +fShader=0.000000 +zoom=0.879987 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.300000 +shapecode_0_y=0.600000 +shapecode_0_rad=0.731600 +shapecode_0_ang=1.256637 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x = x + 0.1*sin(time*0.785); +shape_0_per_frame2=y =y + 0.1*sin(time*0.6728); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.300000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.731600 +shapecode_1_ang=1.256637 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x = x + 0.1*sin(time*0.568); +shape_1_per_frame2=y =y + 0.1*sin(time*0.551); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.892691 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = 0.8 + 0.19 *sin(time*0.157); +shape_2_per_frame2=b = 0.2 + 0.19*sin(time*0.3416); +shape_2_per_frame3=g = 0.2 + 0.19*cos(time*0.4231); +shape_2_per_frame4=g2 = 0.8 + 0.19 *sin(time*0.157); +shape_2_per_frame5=b2 = 0.4 + 0.39*sin(time*0.3416); +shape_2_per_frame6=r2 = 0.2 + 0.19*cos(time*0.4231); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978841 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.502295 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.600000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tex_zoom = 0.503 + 0.005*q6; +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=monitor = q6; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.01*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.17*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.17*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets_milkdrop_104/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets/presets_milkdrop_104/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk b/presets/presets_milkdrop_104/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk rename to presets/presets_milkdrop_104/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk diff --git a/presets_milkdrop_104/Rovastar & Zylot - Inside The Transdimensional Portal.milk b/presets/presets_milkdrop_104/Rovastar & Zylot - Inside The Transdimensional Portal.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Zylot - Inside The Transdimensional Portal.milk rename to presets/presets_milkdrop_104/Rovastar & Zylot - Inside The Transdimensional Portal.milk diff --git a/presets_milkdrop_104/Rovastar & Zylot - Narell's Fever.milk b/presets/presets_milkdrop_104/Rovastar & Zylot - Narell's Fever.milk similarity index 100% rename from presets_milkdrop_104/Rovastar & Zylot - Narell's Fever.milk rename to presets/presets_milkdrop_104/Rovastar & Zylot - Narell's Fever.milk diff --git a/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Drift Mix).milk b/presets/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Drift Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - A Million Miles From Earth (Drift Mix).milk rename to presets/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Drift Mix).milk diff --git a/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Wormhole Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - A Million Miles From Earth (Wormhole Mix).milk rename to presets/presets_milkdrop_104/Rovastar - A Million Miles From Earth (Wormhole Mix).milk diff --git a/presets_milkdrop_104/Rovastar - A Million Miles from Earth.milk b/presets/presets_milkdrop_104/Rovastar - A Million Miles from Earth.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - A Million Miles from Earth.milk rename to presets/presets_milkdrop_104/Rovastar - A Million Miles from Earth.milk diff --git a/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk b/presets/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness.milk b/presets/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness.milk rename to presets/presets_milkdrop_104/Rovastar - Altars Of Harlequin's Madness.milk diff --git a/presets_milkdrop_104/Rovastar - Altars Of Madness (Boxfresh Mix).milk b/presets/presets_milkdrop_104/Rovastar - Altars Of Madness (Boxfresh Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Altars Of Madness (Boxfresh Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Altars Of Madness (Boxfresh Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk b/presets/presets_milkdrop_104/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Braindance 1.milk b/presets/presets_milkdrop_104/Rovastar - Braindance 1.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Braindance 1.milk rename to presets/presets_milkdrop_104/Rovastar - Braindance 1.milk diff --git a/presets_milkdrop_104/Rovastar - Chapel Of Ghouls (Havok Plasma Mix).milk b/presets/presets_milkdrop_104/Rovastar - Chapel Of Ghouls (Havok Plasma Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Chapel Of Ghouls (Havok Plasma Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Chapel Of Ghouls (Havok Plasma Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Chemical Spirituality.milk b/presets/presets_milkdrop_104/Rovastar - Chemical Spirituality.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Chemical Spirituality.milk rename to presets/presets_milkdrop_104/Rovastar - Chemical Spirituality.milk diff --git a/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk b/presets/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Mix).milk b/presets/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Dark Ritual (Star Of Destiny Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Demon Sunflower (Double Resistance Mix).milk b/presets/presets_milkdrop_104/Rovastar - Demon Sunflower (Double Resistance Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Demon Sunflower (Double Resistance Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Demon Sunflower (Double Resistance Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Dreamcatcher.milk b/presets/presets_milkdrop_104/Rovastar - Dreamcatcher.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Dreamcatcher.milk rename to presets/presets_milkdrop_104/Rovastar - Dreamcatcher.milk diff --git a/presets_milkdrop_104/Rovastar - Explosive Minds.milk b/presets/presets_milkdrop_104/Rovastar - Explosive Minds.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Explosive Minds.milk rename to presets/presets_milkdrop_104/Rovastar - Explosive Minds.milk diff --git a/presets_milkdrop_104/Rovastar - Eye On Reality (Mega 3 Mix).milk b/presets/presets_milkdrop_104/Rovastar - Eye On Reality (Mega 3 Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Eye On Reality (Mega 3 Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Eye On Reality (Mega 3 Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Forgotten Moon.milk b/presets/presets_milkdrop_104/Rovastar - Forgotten Moon.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Forgotten Moon.milk rename to presets/presets_milkdrop_104/Rovastar - Forgotten Moon.milk diff --git a/presets_projectM/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_milkdrop_104/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk old mode 100755 new mode 100644 similarity index 100% rename from presets_projectM/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk diff --git a/presets/presets_milkdrop_104/Rovastar - Fractopia (Galaxy Swirl Mix).milk b/presets/presets_milkdrop_104/Rovastar - Fractopia (Galaxy Swirl Mix).milk new file mode 100644 index 0000000000..a6d66b41f9 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Fractopia (Galaxy Swirl Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.600000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=wave_x = 1-(xpos + 0.5); +per_frame_4=wave_y = ypos + 0.5; +per_frame_5=mv_r = 0.5 + 0.499*(0.60*sin(3.980*time) + 0.40*sin(1.047*time) ); +per_frame_6=mv_g = 0.5+ 0.499*(0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_7=mv_b = 0.5 + 0.499*(0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_8=q1 = (x_pos+0.5); +per_frame_9=q2 = 1- (ypos+0.5); +per_frame_10=wave_a =0; +per_frame_11=warp=0; +per_frame_12=zoom =1; +per_frame_13=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_14=movement = if(above(movement,10000), 0, movement); +per_frame_15=rot =-0.04+ 0.01*(sin(movement*0.696)+cos(movement*0.463)+sin(movement*0.365)); +per_frame_16=cx = 0 + 0.1*(sin(movement*0.247)+cos(movement*0.373)+sin(movement*0.187)); +per_frame_17=cy = 0 + 0.1*(sin(movement*0.317)+cos(movement*0.209)+sin(movement*0.109)); +per_frame_18=ob_b = q4+0.25*sin(movement*3.816); +per_frame_19=ob_g = q4+0.25*sin(movement*0.744); +per_frame_20=ob_r = q4+0.25*sin(movement*0.707); +per_frame_21=wrap = below(bass+bass_att,3); +per_frame_22=zoom = 0.99 + 0.0035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx = 2*(2*myx*myy); +per_pixel_4=dy = 2*((myy*myy) - (myx*myx)); diff --git a/presets_projectM/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix).milk old mode 100755 new mode 100644 similarity index 100% rename from presets_projectM/Rovastar - Fractopia (Upspoken Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix).milk diff --git a/presets/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk b/presets/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk new file mode 100644 index 0000000000..11009a45e4 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk @@ -0,0 +1,420 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001273 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.075000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=//axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=//yp=yq; +wave_0_per_point28=//zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=//x=xs+0.5+q4; +wave_0_per_point49=//y=ys+0.5+q5; +wave_0_per_point50=x=xs+q4; +wave_0_per_point51=y=ys+q5; +wave_0_per_point52= +wave_0_per_point53=//r=1-q1; +wave_0_per_point54=//g=1-q2; +wave_0_per_point55=//b=1-q3; +wave_0_per_point56= +wave_0_per_point57=n2=abs((sample*6.283)-3.1415); +wave_0_per_point58= +wave_0_per_point59=r=sin(n2+time)*0.5+0.5; +wave_0_per_point60=g=sin(n2+2.1+time)*0.5+0.5; +wave_0_per_point61=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=basstime=basstime+(bass*bass); +wave_1_per_frame2=t1=basstime*0.06; +wave_1_per_point1=//plot x,y,z to point on circle +wave_1_per_point2=smp=sample*6.283; +wave_1_per_point3=xp=sin(smp )*0.1; +wave_1_per_point4=yp=cos(smp )*0.1; +wave_1_per_point5=zp=0; +wave_1_per_point6= +wave_1_per_point7= +wave_1_per_point8=//alter shape; +wave_1_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_1_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point12=xp=xq; +wave_1_per_point13=zp=zq; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=//rotate on y axis; +wave_1_per_point17=angy=t1*0.1; +wave_1_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point20=xp=xq; +wave_1_per_point21=zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate on x axis +wave_1_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_1_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=//rotate on y axis again +wave_1_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_1_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point34=xp=xq; +wave_1_per_point35=zp=zq; +wave_1_per_point36= +wave_1_per_point37=//stretch y axis to compensate for aspect ratio +wave_1_per_point38=yp=yp*1.2; +wave_1_per_point39= +wave_1_per_point40=//push forward into viewpace +wave_1_per_point41=zp=zp+2.1; +wave_1_per_point42= +wave_1_per_point43=//project x,y,z into screenspace +wave_1_per_point44=xs=xp/zp; +wave_1_per_point45=ys=yp/zp; +wave_1_per_point46= +wave_1_per_point47=//center 0,0 in middle of screen +wave_1_per_point48=//x=xs+0.5+q4; +wave_1_per_point49=//y=ys+0.5+q5; +wave_1_per_point50=x=xs+q4; +wave_1_per_point51=y=ys+q5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=xs=sin(sample*6.28); +wave_2_per_point2=ys=cos(sample*6.28); +wave_2_per_point3=xs=xs*0.7 + 0.5; +wave_2_per_point4=ys=ys*0.7 + 0.5; +wave_2_per_point5=xs=min(xs,0.958); +wave_2_per_point6=xs=max(xs,0.042); +wave_2_per_point7=ys=min(ys,0.988); +wave_2_per_point8=ys=max(ys,0.012); +wave_2_per_point9=x=xs-0.02;y=ys; +wave_2_per_point10= +wave_2_per_point11=n2=abs((sample*6.283)-3.1415); +wave_2_per_point12= +wave_2_per_point13=r=sin(n2+time)*0.5+0.5; +wave_2_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_2_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.247309 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=6.283185 +shapecode_0_tex_zoom=33.803761 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.010000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=xs+q4; +shape_0_per_frame2=y=ys+q5; +shape_0_per_frame3=tex_ang=sin(time)*6.28; +shape_0_per_frame4=//rad=.166+(treb/100); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.756120 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.567128 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_ang=0.001 +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.153398 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=xs+q4; +shape_2_per_frame2=y=ys+q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=//wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=//wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=//wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37=q4=xpos +0.5; +per_frame_38=q5=1-(ypos + 0.5); +per_frame_39= +per_frame_40=wave_a=0; +per_frame_41=//q2 = 1-(ypos + 0.5); +per_frame_42=//q1 = 0.5; +per_frame_43=//q2=0.5; +per_frame_44=ob_r = 1-wave_g; +per_frame_45=ob_b = 1-wave_r; +per_frame_46=ob_g = 1-wave_b; +per_frame_47= +per_frame_48=monitor = wave_y; +per_frame_49=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_50=movement = if(above(movement,10000), 0, movement); +per_frame_51=rot =1*sin(movement); +per_frame_52=cx = wave_x; +per_frame_53=cy = y_pos+0.5; +per_frame_54= +per_frame_55=q8 = movement; +per_frame_56=wrap=above(sin(time*200),0); +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets_milkdrop_104/Rovastar - Halcyon Dreams 3.milk b/presets/presets_milkdrop_104/Rovastar - Halcyon Dreams 3.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Halcyon Dreams 3.milk rename to presets/presets_milkdrop_104/Rovastar - Halcyon Dreams 3.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 1.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 1.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 1.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 1.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 3.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 3.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 3.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Dynamic Fractal 3.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter 2.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter 2.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter 2.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter 2.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Fractal Encounter.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Liquid Dragon.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Liquid Dragon.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Liquid Dragon.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Liquid Dragon.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Living Wall.milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Living Wall.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Living Wall.milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Living Wall.milk diff --git a/presets_milkdrop_104/Rovastar - Harlequin's Spirit (Twisted Mix).milk b/presets/presets_milkdrop_104/Rovastar - Harlequin's Spirit (Twisted Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Harlequin's Spirit (Twisted Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Harlequin's Spirit (Twisted Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Hyperspace.milk b/presets/presets_milkdrop_104/Rovastar - Hyperspace.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Hyperspace.milk rename to presets/presets_milkdrop_104/Rovastar - Hyperspace.milk diff --git a/presets/presets_milkdrop_104/Rovastar - Inner Thoughts (Bright Dawn Mix).milk b/presets/presets_milkdrop_104/Rovastar - Inner Thoughts (Bright Dawn Mix).milk new file mode 100644 index 0000000000..890e719a63 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Inner Thoughts (Bright Dawn Mix).milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_zoom = 0.825+0.005*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a2=0; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.05*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.05*sin(q7*0.846); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom = 0.825+0.005*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a2=0; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.05*sin(q7*0.816); +shape_1_per_frame6=y = 0.5 + 0.05*sin(q7*0.796); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = 0.825+0.005*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a2=0; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.05*sin(q7*0.676); +shape_2_per_frame6=y = 0.5 + 0.05*sin(q7*0.961); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_19=decay =0.3; +per_pixel_1=dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets_milkdrop_104/Rovastar - Jester's Awakening.milk b/presets/presets_milkdrop_104/Rovastar - Jester's Awakening.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Jester's Awakening.milk rename to presets/presets_milkdrop_104/Rovastar - Jester's Awakening.milk diff --git a/presets_milkdrop_104/Rovastar - Jester's Calling 2.milk b/presets/presets_milkdrop_104/Rovastar - Jester's Calling 2.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Jester's Calling 2.milk rename to presets/presets_milkdrop_104/Rovastar - Jester's Calling 2.milk diff --git a/presets_milkdrop_104/Rovastar - Mosaics Of Ages.milk b/presets/presets_milkdrop_104/Rovastar - Mosaics Of Ages.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Mosaics Of Ages.milk rename to presets/presets_milkdrop_104/Rovastar - Mosaics Of Ages.milk diff --git a/presets_milkdrop_104/Rovastar - Omnipresence Resurrection (Raw Mix)_Phat_Plazma_Soul_2.milk b/presets/presets_milkdrop_104/Rovastar - Omnipresence Resurrection (Raw Mix)_Phat_Plazma_Soul_2.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Omnipresence Resurrection (Raw Mix)_Phat_Plazma_Soul_2.milk rename to presets/presets_milkdrop_104/Rovastar - Omnipresence Resurrection (Raw Mix)_Phat_Plazma_Soul_2.milk diff --git a/presets_milkdrop_104/Rovastar - Oozing Resistance.milk b/presets/presets_milkdrop_104/Rovastar - Oozing Resistance.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Oozing Resistance.milk rename to presets/presets_milkdrop_104/Rovastar - Oozing Resistance.milk diff --git a/presets_milkdrop_104/Rovastar - Paradigm Sphere.milk b/presets/presets_milkdrop_104/Rovastar - Paradigm Sphere.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Paradigm Sphere.milk rename to presets/presets_milkdrop_104/Rovastar - Paradigm Sphere.milk diff --git a/presets_milkdrop_104/Rovastar - Power Trip.milk b/presets/presets_milkdrop_104/Rovastar - Power Trip.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Power Trip.milk rename to presets/presets_milkdrop_104/Rovastar - Power Trip.milk diff --git a/presets_milkdrop_104/Rovastar - Sea Life.milk b/presets/presets_milkdrop_104/Rovastar - Sea Life.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Sea Life.milk rename to presets/presets_milkdrop_104/Rovastar - Sea Life.milk diff --git a/presets_milkdrop/Rovastar - Sea Shells.milk b/presets/presets_milkdrop_104/Rovastar - Sea Shells.milk old mode 100755 new mode 100644 similarity index 100% rename from presets_milkdrop/Rovastar - Sea Shells.milk rename to presets/presets_milkdrop_104/Rovastar - Sea Shells.milk diff --git a/presets_milkdrop_104/Rovastar - Snapshot Of Space.milk b/presets/presets_milkdrop_104/Rovastar - Snapshot Of Space.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Snapshot Of Space.milk rename to presets/presets_milkdrop_104/Rovastar - Snapshot Of Space.milk diff --git a/presets_milkdrop_104/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_milkdrop_104/Rovastar - Solarized Space (Space DNA Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Solarized Space (Space DNA Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Solarized Space (Space DNA Mix).milk diff --git a/presets_milkdrop_104/Rovastar - Solarized Space.milk b/presets/presets_milkdrop_104/Rovastar - Solarized Space.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Solarized Space.milk rename to presets/presets_milkdrop_104/Rovastar - Solarized Space.milk diff --git a/presets_milkdrop_104/Rovastar - Starquake (Sunquake Mix).milk b/presets/presets_milkdrop_104/Rovastar - Starquake (Sunquake Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Starquake (Sunquake Mix).milk rename to presets/presets_milkdrop_104/Rovastar - Starquake (Sunquake Mix).milk diff --git a/presets_milkdrop_104/Rovastar - The Chaos Of Colours.milk b/presets/presets_milkdrop_104/Rovastar - The Chaos Of Colours.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - The Chaos Of Colours.milk rename to presets/presets_milkdrop_104/Rovastar - The Chaos Of Colours.milk diff --git a/presets_milkdrop/Rovastar - The Shroomery.milk b/presets/presets_milkdrop_104/Rovastar - The Shroomery.milk old mode 100755 new mode 100644 similarity index 100% rename from presets_milkdrop/Rovastar - The Shroomery.milk rename to presets/presets_milkdrop_104/Rovastar - The Shroomery.milk diff --git a/presets_milkdrop_104/Rovastar - Timeless Voyage.milk b/presets/presets_milkdrop_104/Rovastar - Timeless Voyage.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - Timeless Voyage.milk rename to presets/presets_milkdrop_104/Rovastar - Timeless Voyage.milk diff --git a/presets/presets_milkdrop_104/Rovastar - Tripmaker (Space Trip Mix).milk b/presets/presets_milkdrop_104/Rovastar - Tripmaker (Space Trip Mix).milk new file mode 100644 index 0000000000..fb964b7ad0 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Tripmaker (Space Trip Mix).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.696460 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom - 0.01*q2; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=tex_ang = 0.2*q2 + sin(0.4*time); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=//ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=//ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=//ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_milkdrop_104/Rovastar - Tripmaker.milk b/presets/presets_milkdrop_104/Rovastar - Tripmaker.milk new file mode 100644 index 0000000000..7838000107 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Tripmaker.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_milkdrop_104/Rovastar - Trippy S-.milk b/presets/presets_milkdrop_104/Rovastar - Trippy S-.milk new file mode 100644 index 0000000000..e326e66eb0 --- /dev/null +++ b/presets/presets_milkdrop_104/Rovastar - Trippy S-.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2 +fDecay=0.96 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.52509 +fWaveSmoothing=0.36 +fWaveParam=-0.5 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.070549 +rot=0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.198054 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets_milkdrop_104/Rovastar - VooV's Brainwaves.milk b/presets/presets_milkdrop_104/Rovastar - VooV's Brainwaves.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - VooV's Brainwaves.milk rename to presets/presets_milkdrop_104/Rovastar - VooV's Brainwaves.milk diff --git a/presets_milkdrop_104/Rovastar - VooV's Movement (After Dark Mix).milk b/presets/presets_milkdrop_104/Rovastar - VooV's Movement (After Dark Mix).milk similarity index 100% rename from presets_milkdrop_104/Rovastar - VooV's Movement (After Dark Mix).milk rename to presets/presets_milkdrop_104/Rovastar - VooV's Movement (After Dark Mix).milk diff --git a/presets_milkdrop_104/Rovastar - VooV's Movement.milk b/presets/presets_milkdrop_104/Rovastar - VooV's Movement.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - VooV's Movement.milk rename to presets/presets_milkdrop_104/Rovastar - VooV's Movement.milk diff --git a/presets_milkdrop_104/Rovastar - VooV's Organic Light.milk b/presets/presets_milkdrop_104/Rovastar - VooV's Organic Light.milk similarity index 100% rename from presets_milkdrop_104/Rovastar - VooV's Organic Light.milk rename to presets/presets_milkdrop_104/Rovastar - VooV's Organic Light.milk diff --git a/presets_milkdrop_104/Rozzor & Rovastar - Altars Of Madness 3 (ooze tweak with custom wave).milk b/presets/presets_milkdrop_104/Rozzor & Rovastar - Altars Of Madness 3 (ooze tweak with custom wave).milk similarity index 100% rename from presets_milkdrop_104/Rozzor & Rovastar - Altars Of Madness 3 (ooze tweak with custom wave).milk rename to presets/presets_milkdrop_104/Rozzor & Rovastar - Altars Of Madness 3 (ooze tweak with custom wave).milk diff --git a/presets_milkdrop_104/Rozzor & StudioMusic - Vertigyny (Geiss shape mod).milk b/presets/presets_milkdrop_104/Rozzor & StudioMusic - Vertigyny (Geiss shape mod).milk similarity index 100% rename from presets_milkdrop_104/Rozzor & StudioMusic - Vertigyny (Geiss shape mod).milk rename to presets/presets_milkdrop_104/Rozzor & StudioMusic - Vertigyny (Geiss shape mod).milk diff --git a/presets_milkdrop_104/Rozzor - Color Breaks its Boycott (shape mod).milk b/presets/presets_milkdrop_104/Rozzor - Color Breaks its Boycott (shape mod).milk similarity index 100% rename from presets_milkdrop_104/Rozzor - Color Breaks its Boycott (shape mod).milk rename to presets/presets_milkdrop_104/Rozzor - Color Breaks its Boycott (shape mod).milk diff --git a/presets_milkdrop_104/Rozzor and Idiot - Any Other Deep Rising.milk b/presets/presets_milkdrop_104/Rozzor and Idiot - Any Other Deep Rising.milk similarity index 100% rename from presets_milkdrop_104/Rozzor and Idiot - Any Other Deep Rising.milk rename to presets/presets_milkdrop_104/Rozzor and Idiot - Any Other Deep Rising.milk diff --git a/presets_milkdrop_104/Scanner (@ztec)2.milk b/presets/presets_milkdrop_104/Scanner (@ztec)2.milk similarity index 100% rename from presets_milkdrop_104/Scanner (@ztec)2.milk rename to presets/presets_milkdrop_104/Scanner (@ztec)2.milk diff --git a/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (Slide Plane).milk b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (Slide Plane).milk new file mode 100644 index 0000000000..d882a20687 --- /dev/null +++ b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (Slide Plane).milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.052900 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.100000 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q7; +shape_0_per_frame2=y=.5+q8; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.164463 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + q7; +shape_2_per_frame2=y = .5 + q8; +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5 - q7; +shape_3_per_frame2=y = .5 - q8; +shape_3_per_frame3= +shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); +shape_3_per_frame5= +shape_3_per_frame6=a = max(1 - d*4,0); +shape_3_per_frame7=a2 = max(1 - d*4*2,0); +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); +per_frame_23= +per_frame_24=q7=sin(mt*0.02)*0.1; +per_frame_25=q8=sin(mt*0.01)*0.1; +per_frame_26= +per_frame_27=dx=sin(mt*0.1)*0.07; +per_frame_28=dy=cos(mt*0.069)*0.07; +per_frame_29= +per_frame_30=monitor = mt; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*1) + sqr( (y-0.5+q8)*1.9 ) ); +per_pixel_2= +per_pixel_3=zoom=(rad+sin(rd-3.5)); diff --git a/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk new file mode 100644 index 0000000000..3db566153e --- /dev/null +++ b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk @@ -0,0 +1,288 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.104430 +fVideoEchoAlpha=0.850000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.796895 +fWarpScale=1.331000 +fZoomExponent=0.741798 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.094414 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491380 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.300000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.500000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad = rad*q6; +shape_0_per_frame2= +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.030001 +shapecode_1_y=0.160001 +shapecode_1_rad=0.049138 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tic = time - tir; +shape_1_per_frame2=tir = time; +shape_1_per_frame3= +shape_1_per_frame4=mix = (mix + q3*tic)*below(mix,10000); +shape_1_per_frame5=x = mix - int(mix); +shape_1_per_frame6=y = .0; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221600 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = rad*q6; +shape_2_per_frame2= +shapecode_3_enabled=0 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.030001 +shapecode_3_y=0.160001 +shapecode_3_rad=0.049138 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819541 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tic = time - tir; +shape_3_per_frame2=tir = time; +shape_3_per_frame3= +shape_3_per_frame4=mix = (mix + (q1+q2)*tic*.5)*below(mix,10000); +shape_3_per_frame5=y = mix - int(mix); +shape_3_per_frame6=x = 1; +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22= +per_frame_23=tm = if(above(vav,tm),tm + tic,tm - tic*.3); +per_frame_24=td = (td + tic*tm*4)*below(td,10000); +per_frame_25= +per_frame_26=q6 = .75 + sin(td)*.25; +per_frame_27=q7 = tm; +per_frame_28= +per_pixel_1=rd=sqrt( sqr((x-.5)*(1.5 + sin(time*.11)*.2)) + sqr((y-.5)*(3.5 + sin(time*.15)*.2))); +per_pixel_2= +per_pixel_3=sz = .01*q7; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)/2.5 + sz - q6*sz; +per_pixel_6= +per_pixel_7=warp = 2*q4 + max(1-rad*2,0)*8*3*q4; diff --git a/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk new file mode 100644 index 0000000000..9b3304417b --- /dev/null +++ b/presets/presets_milkdrop_104/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.052900 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.100000 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q7; +shape_0_per_frame2=y=.5+q8; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.164463 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + q7; +shape_2_per_frame2=y = .5 + q8; +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5 - q7; +shape_3_per_frame2=y = .5 - q8; +shape_3_per_frame3= +shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); +shape_3_per_frame5= +shape_3_per_frame6=a = max(1 - d*4,0); +shape_3_per_frame7=a2 = max(1 - d*4*2,0); +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); +per_frame_23= +per_frame_24=q7=sin(mt*0.02)*0.1; +per_frame_25=q8=sin(mt*0.01)*0.1; +per_frame_26= +per_frame_27=dx=sin(mt*0.1)*0.07; +per_frame_28=dy=cos(mt*0.069)*0.07; +per_frame_29= +per_frame_30=monitor = mt; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*3) + sqr( (y-0.5+q8)*2 ) ); +per_pixel_2= +per_pixel_3=zoom=(rd*rd)/2.5; diff --git a/presets/presets_milkdrop_104/Studio Music & Unchained + Phat and E-oS - How it feel's to be Alive.milk b/presets/presets_milkdrop_104/Studio Music & Unchained + Phat and E-oS - How it feel's to be Alive.milk new file mode 100644 index 0000000000..16e4da94c3 --- /dev/null +++ b/presets/presets_milkdrop_104/Studio Music & Unchained + Phat and E-oS - How it feel's to be Alive.milk @@ -0,0 +1,469 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.625300 +fWaveScale=1.187274 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999700 +fShader=0.030000 +zoom=0.979708 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.990000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.5; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*9349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*7231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.010000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.990000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.5); +wave_1_per_point3= +wave_1_per_point4=//xspout=.7; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.7; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wave_1_per_point17=g =bass*3; +wave_1_per_point18=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=0; +wave_2_per_frame2=t2=sin(time*0.17)*0.5+0.5; +wave_2_per_frame3=t3=0 +wave_2_per_frame4= +wave_2_per_point1=n=sample*6.283 + time*0.01; +wave_2_per_point2= +wave_2_per_point3=xp= sample*2 -1;// * (sin(n*2)*0.5+0.5); +wave_2_per_point4=yp= 1;// * (cos(n*(t1*3+1))*0.5+0.5); +wave_2_per_point5=zp= 0; +wave_2_per_point6= +wave_2_per_point7=ang=128*sample+t2*64*sample; +wave_2_per_point8=sang=sin(ang);cang=cos(ang); +wave_2_per_point9=xq=xp; +wave_2_per_point10=yq=yp*sang + zp*cang; +wave_2_per_point11=zq=yp*cang - zp*sang; +wave_2_per_point12=xp=xq;yp=yq;zp=zq; +wave_2_per_point13= +wave_2_per_point14= +wave_2_per_point15=ang=time*0.2; +wave_2_per_point16=sang=sin(ang);cang=cos(ang); +wave_2_per_point17=xq=xp; +wave_2_per_point18=yq=yp*sang + zp*cang; +wave_2_per_point19=zq=yp*cang - zp*sang; +wave_2_per_point20=xp=xq;yp=yq;zp=zq; +wave_2_per_point21= +wave_2_per_point22=ang=t3; +wave_2_per_point23=sang=sin(ang);cang=cos(ang); +wave_2_per_point24=xq=xp*sang + zp*cang; +wave_2_per_point25=yq=yp; +wave_2_per_point26=zq=xp*cang - zp*sang; +wave_2_per_point27=xp=xq;yp=yq;zp=zq; +wave_2_per_point28= +wave_2_per_point29= +wave_2_per_point30=zp=(zp+1)*20+1; +wave_2_per_point31=x=xp/zp + 0.5; +wave_2_per_point32=y=yp/zp*1.333 + 0.5; +wave_2_per_point33= +wave_2_per_point34=tm=time*0.3; +wave_2_per_point35=s=sample + tm; +wave_2_per_point36=rr= s - int(s); +wave_2_per_point37=r=rr*rr; +wave_2_per_point38= +wave_2_per_point39=s=sample + 0.15 + tm; +wave_2_per_point40=gg= s - int(s); +wave_2_per_point41=g=gg*gg; +wave_2_per_point42= +wave_2_per_point43=s=sample + 0.3 + tm; +wave_2_per_point44=bb= s - int(s); +wave_2_per_point45=b=bb*bb; +wave_2_per_point46= +wave_2_per_point47=a= sin(n*256)*0.5+0.5; +wave_2_per_point48=a=above(a,0.5) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=st=1; +wave_3_per_frame1=t1=0; +wave_3_per_frame2=t2=sin(time*0.17)*0.5+0.5; +wave_3_per_frame3=t3=0; +wave_3_per_frame4= +wave_3_per_frame5=st=st*(1+q1); +wave_3_per_frame6=st=if(above(st,512) , 1, st); +wave_3_per_frame7=t4=st; +wave_3_per_frame8=t4=128 +wave_3_per_frame9= +wave_3_per_frame10= +wave_3_per_point1=n=sample*6.283 + time*0.01; +wave_3_per_point2= +wave_3_per_point3=xp= 0; +wave_3_per_point4=yp= 1; +wave_3_per_point5=zp= sample*2; +wave_3_per_point6= +wave_3_per_point7=ang=128*sample; +wave_3_per_point8=sang=sin(ang);cang=cos(ang); +wave_3_per_point9=xq=xp*sang + yp*cang; +wave_3_per_point10=yq=xp*cang - yp*sang; +wave_3_per_point11=zq=zp; +wave_3_per_point12=xp=xq;yp=yq;zp=zq; +wave_3_per_point13= +wave_3_per_point14=zp=zp*20+5; +wave_3_per_point15=xs=xp/zp ; +wave_3_per_point16=ys=yp/zp ; +wave_3_per_point17= +wave_3_per_point18=ang=sin(n*6+time); +wave_3_per_point19=sang=sin(ang);cang=cos(ang); +wave_3_per_point20=xq=xs*sang + ys*cang; +wave_3_per_point21=yq=xs*cang - ys*sang; +wave_3_per_point22=xs=xq; +wave_3_per_point23=ys=yq; +wave_3_per_point24= +wave_3_per_point25=x=xs + 0.5; +wave_3_per_point26=y=ys*1.333 + 0.5; +wave_3_per_point27= +wave_3_per_point28=tm=time*3; +wave_3_per_point29= +wave_3_per_point30=r=sin(n + tm)*0.5 + 0.5; +wave_3_per_point31=g=sin(n + tm + 1.1)*0.5 + 0.5; +wave_3_per_point32=b=sin(n + tm + 2.2)*0.5 + 0.5; +wave_3_per_point33= +wave_3_per_point34=aa= sin(n*t4)*0.5+0.5; +wave_3_per_point35=r=r*aa*q1; +wave_3_per_point36=g=g*aa*q1; +wave_3_per_point37=b=b*aa*q1; +wave_3_per_point38=a=sample; +shapecode_0_enabled=1 +shapecode_0_sides=9 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.125660 +shapecode_0_ang=3.392921 +shapecode_0_tex_ang=0.376800 +shapecode_0_tex_zoom=0.324729 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.030000 +shapecode_0_border_g=0.670001 +shapecode_0_border_b=0.790001 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+sin(time*0.9)*.13; +shape_0_per_frame2=y=y+sin(time*0.5)*.16; +shape_0_per_frame3=border_r = q1; +shape_0_per_frame4=border_b = q2; +shape_0_per_frame5=border_g = q3; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.125716 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=//: Aderrasi was here too +shape_1_per_frame2=rad = rad -0.2 + 0.2*bass_att;; +shape_1_per_frame3=r = r + 0.25*sin(1.1*time) + 0.2*sin(0.25*time); +shape_1_per_frame4=g = g + 0.25*cos(1.5*time) + 0.22*cos(0.24*time); +shape_1_per_frame5=b = b + 0.25*sin(0.6*time) + 0.27*cos(0.7*time); +shape_1_per_frame6=r2 = 1-abs(r); +shape_1_per_frame7=g2 = 1-abs(g); +shape_1_per_frame8=b2 = 1-abs(b); +shape_1_per_frame9=ang = ang + 3*abs(tan(1*time)); +shape_1_per_frame10=x = x + 0.14*cos(time) + 0.2*sin(0.42*time); +shape_1_per_frame11=y = y + 0.16*sin(1.2*time) + 0.15*sin(0.8*time) + 0.21*cos(0.45*time); +shape_1_per_frame12=border_r = q1; +shape_1_per_frame13=border_b = q2; +shape_1_per_frame14=border_g = q3; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.099995 +shapecode_2_ang=0.030000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.210001 +shapecode_2_g=0.440000 +shapecode_2_b=0.230000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.180000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.110000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.150001 +shapecode_2_border_g=0.400001 +shapecode_2_border_b=0.480000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=ang = time*2.4; +shape_2_per_frame2=x = 0.5 + 0.22*cos(time*3.3) + 0.14*cos(time*1.2); +shape_2_per_frame3=y = 0.5 + 0.26*sin(time*3.1) + 0.13*sin(time*1.7); +shape_2_per_frame4=r = 0.5 + 0.5*sin(time*1.013 + 5); +shape_2_per_frame5=g = 0.5 + 0.5*sin(time*1.063 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(time*1.056+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(time*1.038 + 4); +shape_2_per_frame10=border_r = q1; +shape_2_per_frame11=border_b = q2; +shape_2_per_frame12=border_g = q3; +shapecode_3_enabled=1 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.510000 +shapecode_3_y=0.490000 +shapecode_3_rad=0.099863 +shapecode_3_ang=0.062832 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.460001 +shapecode_3_border_g=0.280001 +shapecode_3_border_b=0.540000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.07*cos(q4*0.5) + 0.31*sin(time*3.5); +shape_3_per_frame2=y = 0.5 + 0.07*sin(q4*0.5) + 0.31*cos(time*3.5); +shape_3_per_frame3=r = 0.5 + 0.5*sin(time*1.013 + 2); +shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.863 + 3); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_3_per_frame6=r2 = 0.5 + 0.5*sin(time*1.185 + 3); +shape_3_per_frame7=g2 = 0.5 + 0.5*sin(time*1.356+ 2); +shape_3_per_frame8=b2 = 0.5 + 0.5*sin(time*0.738 + 4); +shape_3_per_frame9=border_r = q1; +shape_3_per_frame10=border_b = q2; +shape_3_per_frame11=border_g = q3; +per_frame_init_1=entropy=2; +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),60),-60,pulse+(bass_thresh+mid_thresh+treb_thresh)*.132); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q7=entropy; +per_frame_27=q8=sin(q6*q1+q7*q2); +per_frame_28=zoom=zoom+.02*q8; +per_frame_29=wave_mystery=sin(q1+q5); +per_frame_30=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); +per_frame_31=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); +per_frame_32=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); +per_frame_33=ob_r=if(bass_flop,ob_r+.5*sin(q1+q3*1.14+q2),wave_b); +per_frame_34=ob_b=if(treb_flop,ob_b+.5*sin(q2+q1*1.14+q3),wave_g); +per_frame_35=ob_g=if(mid_flop,ob_g+.5*sin(q3+q2*1.14+q1),wave_r); +per_frame_36=ib_r=if(bass_flop,ob_b,ib_r+.5*cos(q5+q1*2.14)); +per_frame_37=ib_b=if(treb_flop,ob_g,ib_b+.5*cos(q5+q2*2.14)); +per_frame_38=ib_g=if(mid_flop,ob_r,ib_g+.5*cos(q5+q3*2.14)); +per_frame_39=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); +per_frame_40=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); +per_frame_41=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); +per_frame_42=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_43=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_44=mv_a=mv_a+mv_a*sin(q3*2.14+q2); +per_frame_45=ob_size=.1+.1*sin(q3*3+q1); +per_frame_46=ib_size=ib_size*.5+ib_size*.25*sin(q1*3+q3); +per_frame_47=wave_mode=q6+above(q4,0)+above(q5,0); +per_frame_48=wave_mystery=sin(q3*1.14+q1*1.14+q2); +per_frame_49=mv_l=(q6*q7)*q2; +per_frame_50=wave_x=wave_x+.1*q7*q4; +per_frame_51=wave_y=wave_y+.1*q6*q5; +per_frame_52=mv_x=q6*q7; +per_frame_53=mv_y=q6*q7; +per_frame_54=zoom=zoom+.01*q1; +per_frame_55=echo_alpha = if(above(q2,0.5),0.5,1); +per_frame_56=echo_orient = (1.5+q1+q2); +per_frame_57=echo_zoom = 0.5 + 0.1*(q1+q2+q3); +per_frame_58=monitor = echo_zoom; +per_frame_59=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_60=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_pixel_1=q2=above(rad,.503); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); +per_pixel_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_6=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_7=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r; +per_pixel_8=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time); +per_pixel_9=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time); +per_pixel_10=crackdown = ((crack*2)*dx_r)*sin(33.75*time); +per_pixel_11=ripdown = ((rip*2)*dy_r)*sin(5.75*time); +per_pixel_12=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25; +per_pixel_13=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25; +per_pixel_14=//tm=time+(sin(time)*rad); +per_pixel_15=var=tan(time)*treb*treb; +per_pixel_16= +per_pixel_17=zoom=1+(rad/50)+(var/50); +per_pixel_18=//rot=((rad/50)*var)*sin(time); diff --git a/presets_milkdrop_104/Studio Music & Unchained - Just Ain't Right (It's alright though Mix).milk b/presets/presets_milkdrop_104/Studio Music & Unchained - Just Ain't Right (It's alright though Mix).milk similarity index 100% rename from presets_milkdrop_104/Studio Music & Unchained - Just Ain't Right (It's alright though Mix).milk rename to presets/presets_milkdrop_104/Studio Music & Unchained - Just Ain't Right (It's alright though Mix).milk diff --git a/presets_milkdrop_104/Studio Music - (Sex is like math) Add the bed, subtract the clothes, divide the legs and hope to hell you don't multiply.milk b/presets/presets_milkdrop_104/Studio Music - (Sex is like math) Add the bed, subtract the clothes, divide the legs and hope to hell you don't multiply.milk similarity index 100% rename from presets_milkdrop_104/Studio Music - (Sex is like math) Add the bed, subtract the clothes, divide the legs and hope to hell you don't multiply.milk rename to presets/presets_milkdrop_104/Studio Music - (Sex is like math) Add the bed, subtract the clothes, divide the legs and hope to hell you don't multiply.milk diff --git a/presets_milkdrop_104/Studio Music - Cherished Desires.milk b/presets/presets_milkdrop_104/Studio Music - Cherished Desires.milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Cherished Desires.milk rename to presets/presets_milkdrop_104/Studio Music - Cherished Desires.milk diff --git a/presets_milkdrop_104/Studio Music - Intuitive Awareness (Traces of Love mix).milk b/presets/presets_milkdrop_104/Studio Music - Intuitive Awareness (Traces of Love mix).milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Intuitive Awareness (Traces of Love mix).milk rename to presets/presets_milkdrop_104/Studio Music - Intuitive Awareness (Traces of Love mix).milk diff --git a/presets_milkdrop_104/Studio Music - Intuitive Awareness (stimulus effect mix) .milk b/presets/presets_milkdrop_104/Studio Music - Intuitive Awareness (stimulus effect mix) .milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Intuitive Awareness (stimulus effect mix) .milk rename to presets/presets_milkdrop_104/Studio Music - Intuitive Awareness (stimulus effect mix) .milk diff --git a/presets_milkdrop_104/Studio Music - Personification.milk b/presets/presets_milkdrop_104/Studio Music - Personification.milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Personification.milk rename to presets/presets_milkdrop_104/Studio Music - Personification.milk diff --git a/presets_milkdrop_104/Studio Music - Quick Fix (dramatic mix).milk b/presets/presets_milkdrop_104/Studio Music - Quick Fix (dramatic mix).milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Quick Fix (dramatic mix).milk rename to presets/presets_milkdrop_104/Studio Music - Quick Fix (dramatic mix).milk diff --git a/presets_milkdrop_104/Studio Music - Take Your Pick (Remix).milk b/presets/presets_milkdrop_104/Studio Music - Take Your Pick (Remix).milk similarity index 100% rename from presets_milkdrop_104/Studio Music - Take Your Pick (Remix).milk rename to presets/presets_milkdrop_104/Studio Music - Take Your Pick (Remix).milk diff --git a/presets_milkdrop_104/Studio Music and Redi Jedi - Passionate Behavior.milk b/presets/presets_milkdrop_104/Studio Music and Redi Jedi - Passionate Behavior.milk similarity index 100% rename from presets_milkdrop_104/Studio Music and Redi Jedi - Passionate Behavior.milk rename to presets/presets_milkdrop_104/Studio Music and Redi Jedi - Passionate Behavior.milk diff --git a/presets_milkdrop_104/Studio Music and Redi Jedi - Shimmering Love (remix).milk b/presets/presets_milkdrop_104/Studio Music and Redi Jedi - Shimmering Love (remix).milk similarity index 100% rename from presets_milkdrop_104/Studio Music and Redi Jedi - Shimmering Love (remix).milk rename to presets/presets_milkdrop_104/Studio Music and Redi Jedi - Shimmering Love (remix).milk diff --git a/presets_milkdrop_104/StudioMusic - Harmonic Bliss (elated mix).milk b/presets/presets_milkdrop_104/StudioMusic - Harmonic Bliss (elated mix).milk similarity index 100% rename from presets_milkdrop_104/StudioMusic - Harmonic Bliss (elated mix).milk rename to presets/presets_milkdrop_104/StudioMusic - Harmonic Bliss (elated mix).milk diff --git a/presets_milkdrop_104/StudioMusic - Twisted Galaxy.milk b/presets/presets_milkdrop_104/StudioMusic - Twisted Galaxy.milk similarity index 100% rename from presets_milkdrop_104/StudioMusic - Twisted Galaxy.milk rename to presets/presets_milkdrop_104/StudioMusic - Twisted Galaxy.milk diff --git a/presets_milkdrop_104/TEcHNO & SandStorm - Psychodelic Highway.milk b/presets/presets_milkdrop_104/TEcHNO & SandStorm - Psychodelic Highway.milk similarity index 100% rename from presets_milkdrop_104/TEcHNO & SandStorm - Psychodelic Highway.milk rename to presets/presets_milkdrop_104/TEcHNO & SandStorm - Psychodelic Highway.milk diff --git a/presets_milkdrop_104/Tag - Cradle of Life(remix of yin 315).milk b/presets/presets_milkdrop_104/Tag - Cradle of Life(remix of yin 315).milk similarity index 100% rename from presets_milkdrop_104/Tag - Cradle of Life(remix of yin 315).milk rename to presets/presets_milkdrop_104/Tag - Cradle of Life(remix of yin 315).milk diff --git a/presets_milkdrop_104/Telek - City Helix Lattice.milk b/presets/presets_milkdrop_104/Telek - City Helix Lattice.milk similarity index 100% rename from presets_milkdrop_104/Telek - City Helix Lattice.milk rename to presets/presets_milkdrop_104/Telek - City Helix Lattice.milk diff --git a/presets/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe-- YES.milk b/presets/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe-- YES.milk new file mode 100644 index 0000000000..c859d8fa0d --- /dev/null +++ b/presets/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe-- YES.milk @@ -0,0 +1,157 @@ +[preset00] +fRating=2 +fGammaAdj=1.21 +fDecay=1 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=9.08852 +fWaveScale=0.4995 +fWaveSmoothing=0 +fWaveParam=1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.99 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.3 +ob_g=0 +ob_b=0.5 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.759997 +mv_dx=0 +mv_dy=-0.62 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=1 +mv_a=0.4 +per_frame_1=// Hello, +per_frame_2= +per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress +per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good +per_frame_5= +per_frame_6=//Telek Sterling =:-) +per_frame_7=//Dilettante Extrodinaire +per_frame_8= +per_frame_9= +per_frame_10=//rt = realtime (for use with beat count) +per_frame_11=rt=time-start; +per_frame_12= +per_frame_13=//color cycling, yellow dynamic treble +per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); +per_frame_15=wave_x = cos(time*2.12)*.33+.5; +per_frame_16=wave_y = sin(time*1.5)*.13+.3; +per_frame_17= +per_frame_18=//initialisation bug patch +per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); +per_frame_20= +per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) +per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); +per_frame_23= +per_frame_24=//Testing auto-beat trigger... exciting stuff. +per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); +per_frame_26= +per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad +per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); +per_frame_29= +per_frame_30=beatcount = beatcount + beat; +per_frame_31= +per_frame_32=w_a = if(beat,1,w_a*0); +per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now +per_frame_34= +per_frame_35=//Preserve beat rate +per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); +per_frame_37=//Record new beatrate +per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); +per_frame_39= +per_frame_40=//Record most recent beat +per_frame_41=lastbeat=if(beat,rt,lastbeat); +per_frame_42=//Predict time of next beat +per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=//Actual Display code: +per_frame_49= +per_frame_50=//Current direction of travel +per_frame_51=state = beat * (state+1)%4+(1-beat)*state; +per_frame_52= +per_frame_53=//acceleration of horizon point +per_frame_54=dddy = state%2-.5; +per_frame_55=dddx = above(state,1.5)-.5; +per_frame_56= +per_frame_57=//adjustment factors to play with +per_frame_58=ddx = dddx*.5; +per_frame_59=ddy = dddy*.5; +per_frame_60= +per_frame_61= +per_frame_62=q1 = (qq1*19+ddx)*.041; +per_frame_63=//preserve q variables +per_frame_64=qq1 = q1; +per_frame_65= +per_frame_66=q2 = (qq2*19+ddy)*.035; +per_frame_67=qq2 = q2; +per_frame_68= +per_frame_69=//Decay to Blue!! +per_frame_70=ob_a = 0.1*above(frame%10,6); +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74= +per_frame_75=//Well, what do we want to monitor?? +per_frame_76= +per_frame_77=//monitor = q1; +per_frame_78=//monitor = beat; +per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; +per_frame_80=monitor = (rt-lastbeat)/beatrate; +per_frame_81=//monitor = accuracy; +per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); +per_frame_83=//monitor = wave_a; +per_frame_84=//monitor = wave_g; +per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; +per_frame_86=//monitor = qwer; +per_frame_87=//monitor = (lastbeat-rt)/beatrate; +per_pixel_1=dx = sin(.5-x)*.1+q1; +per_pixel_2=dy = sin(.5-y)*.1+q2; +per_frame_init_1=ddx = 0; +per_frame_init_2=ddy = 0; +per_frame_init_3=start = time; +per_frame_init_4=rt = 0; +per_frame_init_5=beatcount = 0; diff --git a/presets_milkdrop_104/Telek - Globetrotting (Sailors Delight Mix).milk b/presets/presets_milkdrop_104/Telek - Globetrotting (Sailors Delight Mix).milk similarity index 100% rename from presets_milkdrop_104/Telek - Globetrotting (Sailors Delight Mix).milk rename to presets/presets_milkdrop_104/Telek - Globetrotting (Sailors Delight Mix).milk diff --git a/presets/presets_milkdrop_104/Telek - Slow Shift Matrix (bb4-5).milk b/presets/presets_milkdrop_104/Telek - Slow Shift Matrix (bb4-5).milk new file mode 100644 index 0000000000..0008cae0ba --- /dev/null +++ b/presets/presets_milkdrop_104/Telek - Slow Shift Matrix (bb4-5).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.9 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.63 +fWaveParam=1 +fModWaveAlphaStart=2 +fModWaveAlphaEnd=2 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.001 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.3 +ob_a=1 +ib_size=0.1 +ib_r=1 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0 +per_frame_1=bv = bass*.01+.99*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); +per_frame_4=wave_x =-1; +per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_7=rot = 1*sin(tt*.15); +per_frame_8=cx = sin(tt*.16)*.5+.5; +per_frame_9=cy = cos(tt*.46)*.5+.5; +per_frame_10=ib_r = sin(tt*.51)*.5+.5; +per_frame_11=ib_g = sin(tt*.71)*.5+.5; +per_frame_12=ib_b = sin(tt*.81)*.5+.5; +per_frame_13=monitor = tt; +per_frame_14= +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_frame_init_1=tt = rand(10000); +per_frame_init_2= diff --git a/presets_milkdrop_104/Telek - Target Practice (tracking, retreat, slide).milk b/presets/presets_milkdrop_104/Telek - Target Practice (tracking, retreat, slide).milk similarity index 100% rename from presets_milkdrop_104/Telek - Target Practice (tracking, retreat, slide).milk rename to presets/presets_milkdrop_104/Telek - Target Practice (tracking, retreat, slide).milk diff --git a/presets_milkdrop_104/Telek EMPR - Scanner - Trust me, I've got a Melways.milk b/presets/presets_milkdrop_104/Telek EMPR - Scanner - Trust me, I've got a Melways.milk similarity index 100% rename from presets_milkdrop_104/Telek EMPR - Scanner - Trust me, I've got a Melways.milk rename to presets/presets_milkdrop_104/Telek EMPR - Scanner - Trust me, I've got a Melways.milk diff --git a/presets_milkdrop_104/Unchained & Che - Oddnezz 3.milk b/presets/presets_milkdrop_104/Unchained & Che - Oddnezz 3.milk similarity index 100% rename from presets_milkdrop_104/Unchained & Che - Oddnezz 3.milk rename to presets/presets_milkdrop_104/Unchained & Che - Oddnezz 3.milk diff --git a/presets_milkdrop_104/Unchained & Illusion - Logic Morph.milk b/presets/presets_milkdrop_104/Unchained & Illusion - Logic Morph.milk similarity index 100% rename from presets_milkdrop_104/Unchained & Illusion - Logic Morph.milk rename to presets/presets_milkdrop_104/Unchained & Illusion - Logic Morph.milk diff --git a/presets_milkdrop_104/Unchained & Rovastar - Rainbow Obscura.milk b/presets/presets_milkdrop_104/Unchained & Rovastar - Rainbow Obscura.milk similarity index 100% rename from presets_milkdrop_104/Unchained & Rovastar - Rainbow Obscura.milk rename to presets/presets_milkdrop_104/Unchained & Rovastar - Rainbow Obscura.milk diff --git a/presets_milkdrop_104/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_milkdrop_104/Unchained & Rovastar - Xen Traffic.milk similarity index 100% rename from presets_milkdrop_104/Unchained & Rovastar - Xen Traffic.milk rename to presets/presets_milkdrop_104/Unchained & Rovastar - Xen Traffic.milk diff --git a/presets_milkdrop_104/Unchained - A Matter Of Taste (Remix).milk b/presets/presets_milkdrop_104/Unchained - A Matter Of Taste (Remix).milk similarity index 100% rename from presets_milkdrop_104/Unchained - A Matter Of Taste (Remix).milk rename to presets/presets_milkdrop_104/Unchained - A Matter Of Taste (Remix).milk diff --git a/presets_milkdrop_104/Unchained - All You Can Eat.milk b/presets/presets_milkdrop_104/Unchained - All You Can Eat.milk similarity index 100% rename from presets_milkdrop_104/Unchained - All You Can Eat.milk rename to presets/presets_milkdrop_104/Unchained - All You Can Eat.milk diff --git a/presets_milkdrop_104/Unchained - Beat Demo (Demonology Mix).milk b/presets/presets_milkdrop_104/Unchained - Beat Demo (Demonology Mix).milk similarity index 100% rename from presets_milkdrop_104/Unchained - Beat Demo (Demonology Mix).milk rename to presets/presets_milkdrop_104/Unchained - Beat Demo (Demonology Mix).milk diff --git a/presets/presets_milkdrop_104/Unchained - Beat Demo 1-0.milk b/presets/presets_milkdrop_104/Unchained - Beat Demo 1-0.milk new file mode 100644 index 0000000000..afd3f81ae2 --- /dev/null +++ b/presets/presets_milkdrop_104/Unchained - Beat Demo 1-0.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.981 +fVideoEchoZoom=1.00644 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.54 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.008151 +fShader=0.2 +zoom=0.9998 +rot=0 +cx=0.47 +cy=0.5 +dx=0.005 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets_milkdrop_104/Unchained - Cartoon Factory.milk b/presets/presets_milkdrop_104/Unchained - Cartoon Factory.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Cartoon Factory.milk rename to presets/presets_milkdrop_104/Unchained - Cartoon Factory.milk diff --git a/presets/presets_milkdrop_104/Unchained - Cranked On Failure.milk b/presets/presets_milkdrop_104/Unchained - Cranked On Failure.milk new file mode 100644 index 0000000000..db0ad7850a --- /dev/null +++ b/presets/presets_milkdrop_104/Unchained - Cranked On Failure.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320553 +fWaveScale=1 +fWaveSmoothing=0.45 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.96 +fShader=0.19 +zoom=0.999698 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.513 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.58 +ib_size=0.015 +ib_r=0.55 +ib_g=1 +ib_b=0.4999 +ib_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(radix*3.14*(q1+q2+q3))); +per_pixel_4=zoom=if(above(q2,0),zoom-cos(radix*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets_milkdrop_104/Unchained - Games With Light & Sound.milk b/presets/presets_milkdrop_104/Unchained - Games With Light & Sound.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Games With Light & Sound.milk rename to presets/presets_milkdrop_104/Unchained - Games With Light & Sound.milk diff --git a/presets_milkdrop_104/Unchained - God Of The Game (Remix).milk b/presets/presets_milkdrop_104/Unchained - God Of The Game (Remix).milk similarity index 100% rename from presets_milkdrop_104/Unchained - God Of The Game (Remix).milk rename to presets/presets_milkdrop_104/Unchained - God Of The Game (Remix).milk diff --git a/presets_milkdrop_104/Unchained - Goo Kung Fu.milk b/presets/presets_milkdrop_104/Unchained - Goo Kung Fu.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Goo Kung Fu.milk rename to presets/presets_milkdrop_104/Unchained - Goo Kung Fu.milk diff --git a/presets_milkdrop_104/Unchained - Goofy Beat Detection.milk b/presets/presets_milkdrop_104/Unchained - Goofy Beat Detection.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Goofy Beat Detection.milk rename to presets/presets_milkdrop_104/Unchained - Goofy Beat Detection.milk diff --git a/presets_milkdrop_104/Unchained - Housed In A Childish Mind.milk b/presets/presets_milkdrop_104/Unchained - Housed In A Childish Mind.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Housed In A Childish Mind.milk rename to presets/presets_milkdrop_104/Unchained - Housed In A Childish Mind.milk diff --git a/presets_milkdrop_104/Unchained - Jaded Emotion.milk b/presets/presets_milkdrop_104/Unchained - Jaded Emotion.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Jaded Emotion.milk rename to presets/presets_milkdrop_104/Unchained - Jaded Emotion.milk diff --git a/presets_milkdrop_104/Unchained - Jaundice.milk b/presets/presets_milkdrop_104/Unchained - Jaundice.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Jaundice.milk rename to presets/presets_milkdrop_104/Unchained - Jaundice.milk diff --git a/presets_milkdrop_104/Unchained - Making a Science of It 4.milk b/presets/presets_milkdrop_104/Unchained - Making a Science of It 4.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Making a Science of It 4.milk rename to presets/presets_milkdrop_104/Unchained - Making a Science of It 4.milk diff --git a/presets_milkdrop_104/Unchained - Morat's Final Voyage.milk b/presets/presets_milkdrop_104/Unchained - Morat's Final Voyage.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Morat's Final Voyage.milk rename to presets/presets_milkdrop_104/Unchained - Morat's Final Voyage.milk diff --git a/presets_milkdrop_104/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk b/presets/presets_milkdrop_104/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk rename to presets/presets_milkdrop_104/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk diff --git a/presets_milkdrop_104/Unchained - Perverted Dialect.milk b/presets/presets_milkdrop_104/Unchained - Perverted Dialect.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Perverted Dialect.milk rename to presets/presets_milkdrop_104/Unchained - Perverted Dialect.milk diff --git a/presets/presets_milkdrop_104/Unchained - Picture Of Poison.milk b/presets/presets_milkdrop_104/Unchained - Picture Of Poison.milk new file mode 100644 index 0000000000..602fc8e294 --- /dev/null +++ b/presets/presets_milkdrop_104/Unchained - Picture Of Poison.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=0.997 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8179 +fWaveScale=0.397105 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.9957 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.740601 +rot=-0.76 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.350495 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_31=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_32=ob_g=.2+.1*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_45=wave_g=.5+.2*bnot(q8%2)-.2*bnot(q8%3)+.2*bnot(q8%4)-.2*bnot(q8%5); +per_frame_46=wave_b=if(bnot(q8%6),.8+.2*q1,bass_changed*mid_changed); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_pixel_1=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_2=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_3=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_4=zoom = zoom+bend*.1; +per_pixel_5=sx=sx-if(above(q1,2),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_6=sy=sy-if(above(q1,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_7=rot=equal(grid,3)*q3+bnot(grid%q7)*cos(zoom*grid*q1*.01); diff --git a/presets_milkdrop_104/Unchained - Proper Identification (Breaks Remix).milk b/presets/presets_milkdrop_104/Unchained - Proper Identification (Breaks Remix).milk similarity index 100% rename from presets_milkdrop_104/Unchained - Proper Identification (Breaks Remix).milk rename to presets/presets_milkdrop_104/Unchained - Proper Identification (Breaks Remix).milk diff --git a/presets_milkdrop_104/Unchained - Resistance.milk b/presets/presets_milkdrop_104/Unchained - Resistance.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Resistance.milk rename to presets/presets_milkdrop_104/Unchained - Resistance.milk diff --git a/presets_milkdrop_104/Unchained - Ribald Ballad.milk b/presets/presets_milkdrop_104/Unchained - Ribald Ballad.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Ribald Ballad.milk rename to presets/presets_milkdrop_104/Unchained - Ribald Ballad.milk diff --git a/presets_milkdrop_104/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets/presets_milkdrop_104/Unchained - Unclaimed Wreckage 2 (Shamanic).milk similarity index 100% rename from presets_milkdrop_104/Unchained - Unclaimed Wreckage 2 (Shamanic).milk rename to presets/presets_milkdrop_104/Unchained - Unclaimed Wreckage 2 (Shamanic).milk diff --git a/presets_milkdrop_104/Unchained - Unified Drag 2.milk b/presets/presets_milkdrop_104/Unchained - Unified Drag 2.milk similarity index 100% rename from presets_milkdrop_104/Unchained - Unified Drag 2.milk rename to presets/presets_milkdrop_104/Unchained - Unified Drag 2.milk diff --git a/presets/presets_milkdrop_104/Valhala - Core.milk b/presets/presets_milkdrop_104/Valhala - Core.milk new file mode 100644 index 0000000000..dbb9b56ead --- /dev/null +++ b/presets/presets_milkdrop_104/Valhala - Core.milk @@ -0,0 +1,212 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.350000 +fDecay=0.985000 +fVideoEchoZoom=1.011842 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.504213 +fWaveSmoothing=0.450000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=2.630066 +fShader=0.000000 +zoom=1.070548 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=1.000000 +warp=0.022186 +sx=0.978500 +sy=0.999996 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.300000 +wavecode_0_g=0.600000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.054279 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.270001 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.050001 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.027048 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets_milkdrop_104/Valhala - FallingUp.milk b/presets/presets_milkdrop_104/Valhala - FallingUp.milk similarity index 100% rename from presets_milkdrop_104/Valhala - FallingUp.milk rename to presets/presets_milkdrop_104/Valhala - FallingUp.milk diff --git a/presets_milkdrop_104/Valhala - HappyTrip.milk b/presets/presets_milkdrop_104/Valhala - HappyTrip.milk similarity index 100% rename from presets_milkdrop_104/Valhala - HappyTrip.milk rename to presets/presets_milkdrop_104/Valhala - HappyTrip.milk diff --git a/presets_milkdrop_104/Valhala - Sound Reactror.milk b/presets/presets_milkdrop_104/Valhala - Sound Reactror.milk similarity index 100% rename from presets_milkdrop_104/Valhala - Sound Reactror.milk rename to presets/presets_milkdrop_104/Valhala - Sound Reactror.milk diff --git a/presets/presets_milkdrop_104/Valhala - The all seeing eyeV0-4.milk b/presets/presets_milkdrop_104/Valhala - The all seeing eyeV0-4.milk new file mode 100644 index 0000000000..72193f6ff7 --- /dev/null +++ b/presets/presets_milkdrop_104/Valhala - The all seeing eyeV0-4.milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=-0.160000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=9.860800 +fWarpScale=29.461990 +fZoomExponent=0.010000 +fShader=0.000000 +zoom=24.831774 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=60.803844 +sx=0.796896 +sy=0.325446 +wave_r=0.000000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.050000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.050000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.070000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.700000 +mv_g=0.030000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.280000 +shapecode_0_rad=0.721419 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.010000 +shapecode_0_r=0.000000 +shapecode_0_g=0.470000 +shapecode_0_b=0.410000 +shapecode_0_a=0.400000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.990000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.100000 +shapecode_1_rad=0.397105 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.100000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.310911 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.300000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.990000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = ypos + 0.5; +per_frame_24=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = wave_g + 0.150*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=mv_a = if(beat, 0.1, ib_a); +per_frame_31=ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1- wave_y; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q2; +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.05 + below(newrad,0.39+q3)*(0.6-newrad), pow(1 + 0.5*cos(newrad+2*q3+0.28), newrad*2-1)); +per_pixel_5=dx = -0.0005 + (newx)*newzoom - newx; +per_pixel_6=dy = -0.0005 + (newy)*newzoom - newy; diff --git a/presets_milkdrop_104/Vovan - Bass With Flover.milk b/presets/presets_milkdrop_104/Vovan - Bass With Flover.milk similarity index 100% rename from presets_milkdrop_104/Vovan - Bass With Flover.milk rename to presets/presets_milkdrop_104/Vovan - Bass With Flover.milk diff --git a/presets_milkdrop_104/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix).milk b/presets/presets_milkdrop_104/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix).milk rename to presets/presets_milkdrop_104/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix).milk diff --git a/presets_milkdrop_104/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk b/presets/presets_milkdrop_104/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk similarity index 100% rename from presets_milkdrop_104/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk rename to presets/presets_milkdrop_104/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk diff --git a/presets_milkdrop_104/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk b/presets/presets_milkdrop_104/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk rename to presets/presets_milkdrop_104/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk diff --git a/presets_milkdrop_104/Zylot & Krash - Extremophile.milk b/presets/presets_milkdrop_104/Zylot & Krash - Extremophile.milk similarity index 100% rename from presets_milkdrop_104/Zylot & Krash - Extremophile.milk rename to presets/presets_milkdrop_104/Zylot & Krash - Extremophile.milk diff --git a/presets_milkdrop_104/Zylot & Mstress - Celebrate.milk b/presets/presets_milkdrop_104/Zylot & Mstress - Celebrate.milk similarity index 100% rename from presets_milkdrop_104/Zylot & Mstress - Celebrate.milk rename to presets/presets_milkdrop_104/Zylot & Mstress - Celebrate.milk diff --git a/presets_milkdrop_104/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk b/presets/presets_milkdrop_104/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk rename to presets/presets_milkdrop_104/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk diff --git a/presets_milkdrop_104/Zylot & Rovastar - Iouo Stone Morphic Fusion.milk b/presets/presets_milkdrop_104/Zylot & Rovastar - Iouo Stone Morphic Fusion.milk similarity index 100% rename from presets_milkdrop_104/Zylot & Rovastar - Iouo Stone Morphic Fusion.milk rename to presets/presets_milkdrop_104/Zylot & Rovastar - Iouo Stone Morphic Fusion.milk diff --git a/presets_milkdrop_104/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_milkdrop_104/Zylot - Block Of Sound (Abstract Architecture Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot - Block Of Sound (Abstract Architecture Mix).milk rename to presets/presets_milkdrop_104/Zylot - Block Of Sound (Abstract Architecture Mix).milk diff --git a/presets_milkdrop_104/Zylot - Block Of Sound (Fractal Construction Mix).milk b/presets/presets_milkdrop_104/Zylot - Block Of Sound (Fractal Construction Mix).milk similarity index 100% rename from presets_milkdrop_104/Zylot - Block Of Sound (Fractal Construction Mix).milk rename to presets/presets_milkdrop_104/Zylot - Block Of Sound (Fractal Construction Mix).milk diff --git a/presets_milkdrop_104/Zylot - Burning Passion.milk b/presets/presets_milkdrop_104/Zylot - Burning Passion.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Burning Passion.milk rename to presets/presets_milkdrop_104/Zylot - Burning Passion.milk diff --git a/presets_milkdrop_104/Zylot - Color Of Music.milk b/presets/presets_milkdrop_104/Zylot - Color Of Music.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Color Of Music.milk rename to presets/presets_milkdrop_104/Zylot - Color Of Music.milk diff --git a/presets/presets_milkdrop_104/Zylot - Crosshair Dimension (Light of Ages).milk b/presets/presets_milkdrop_104/Zylot - Crosshair Dimension (Light of Ages).milk new file mode 100644 index 0000000000..e47e7dfbe8 --- /dev/null +++ b/presets/presets_milkdrop_104/Zylot - Crosshair Dimension (Light of Ages).milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.741900 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=bassc = 0; +wave_0_init2=bcount = 0; +wave_0_per_frame1=r=bass*.5; +wave_0_per_frame2=g=treb*.5; +wave_0_per_frame3=b=mid*.5; +wave_0_per_point1=x = .5+.2*sin(time*.7454); +wave_0_per_point2=x = x+(.0005-rand(10)*.001); +wave_0_per_point3=y = .5+.2*cos(time*.455); +wave_0_per_point4=y = y+(.0005-rand(10)*.01); +wave_0_per_point5= +wave_0_per_point6=bassc = if(above(bcount,0),1,0); +wave_0_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_0_per_point8=y = y - bcount; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=r=bass*.5; +wave_1_per_frame2=g=treb*.5; +wave_1_per_frame3=b=mid*.5; +wave_1_per_point1=x = .5+.2*sin(time*.7454); +wave_1_per_point2=x = x+(.0005-rand(10)*.008); +wave_1_per_point3=y = .5+.2*cos(time*.455); +wave_1_per_point4=y = y+(.0005-rand(10)*.001); +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=bassc = if(above(bcount,0),1,0); +wave_1_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_1_per_point9=x = x - bcount; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=r=bass*.5; +wave_2_per_frame2=g=treb*.5; +wave_2_per_frame3=b=mid*.5; +wave_2_per_point1=x = .5+.2*sin(time*.7454); +wave_2_per_point2=x = x+(.0005+rand(10)*.008); +wave_2_per_point3=y = .5+.2*cos(time*.455); +wave_2_per_point4=y = y+(.0005-rand(10)*.001); +wave_2_per_point5= +wave_2_per_point6=bassc = if(above(bcount,0),1,0); +wave_2_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_2_per_point8=x = x + bcount; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=bass*.5; +wave_3_per_frame2=g=treb*.5; +wave_3_per_frame3=b=mid*.5; +wave_3_per_point1=x = .5+.2*sin(time*.7454); +wave_3_per_point2=x = x+(.0005-rand(10)*.001); +wave_3_per_point3=y = .5+.2*cos(time*.455); +wave_3_per_point4=y = y-(.0005-rand(10)*.01); +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=bassc = if(above(bcount,0),1,0); +wave_3_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_3_per_point9=y = y + bcount; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.971051 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.291705 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.300000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.527755 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.408389 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = angc; +shape_1_per_frame2=angc = angc+treb*.01; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=3.319852 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.149491 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + angc; +shape_2_per_frame2=angc = angc + bass*.01; +shape_2_per_frame3=x = .45; +shape_2_per_frame4=y = .55; +shape_2_per_frame5= +shape_2_per_frame6=r2 = (rand100)*.01 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.180000 +shapecode_3_y=0.300000 +shapecode_3_rad=1.558463 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.197884 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5+.1*sin(angc); +shape_3_per_frame2=y = .5+.1*cos(angc); +shape_3_per_frame3= +shape_3_per_frame4=r = .5+sin(time); +shape_3_per_frame5=b = .5+sin(time*.556677); +shape_3_per_frame6=g = .5+sin(time*.353); +per_frame_init_1=bassc=0; +per_frame_init_2=midc=0; +per_frame_init_3=mcount=0; +per_frame_init_4=bcount=0; +per_frame_1=decay = .9; +per_frame_2=warp = 0; +per_frame_3= +per_frame_4=bassc = if(above(bass,bassc),bassc + bass*.07,bassc-.03); +per_frame_5=midc = if(above(mid,midc),midc + mid*.07,midc-.03); +per_frame_6= +per_frame_7=q1 = bassc; +per_frame_8=q2 = midc; +per_pixel_1=zoom = pow(rad,2); diff --git a/presets_milkdrop_104/Zylot - DISCO INFERNO.milk b/presets/presets_milkdrop_104/Zylot - DISCO INFERNO.milk similarity index 100% rename from presets_milkdrop_104/Zylot - DISCO INFERNO.milk rename to presets/presets_milkdrop_104/Zylot - DISCO INFERNO.milk diff --git a/presets_milkdrop_104/Zylot - Digiscape Advanced Processor.milk b/presets/presets_milkdrop_104/Zylot - Digiscape Advanced Processor.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Digiscape Advanced Processor.milk rename to presets/presets_milkdrop_104/Zylot - Digiscape Advanced Processor.milk diff --git a/presets_milkdrop_104/Zylot - Fusion.milk b/presets/presets_milkdrop_104/Zylot - Fusion.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Fusion.milk rename to presets/presets_milkdrop_104/Zylot - Fusion.milk diff --git a/presets_milkdrop_104/Zylot - Magma Crawl.milk b/presets/presets_milkdrop_104/Zylot - Magma Crawl.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Magma Crawl.milk rename to presets/presets_milkdrop_104/Zylot - Magma Crawl.milk diff --git a/presets_milkdrop_104/Zylot - Mixing Pot.milk b/presets/presets_milkdrop_104/Zylot - Mixing Pot.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Mixing Pot.milk rename to presets/presets_milkdrop_104/Zylot - Mixing Pot.milk diff --git a/presets_milkdrop_104/Zylot - Present for Saddam.milk b/presets/presets_milkdrop_104/Zylot - Present for Saddam.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Present for Saddam.milk rename to presets/presets_milkdrop_104/Zylot - Present for Saddam.milk diff --git a/presets_milkdrop_104/Zylot - Rainbow Planet Under Attack.milk b/presets/presets_milkdrop_104/Zylot - Rainbow Planet Under Attack.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Rainbow Planet Under Attack.milk rename to presets/presets_milkdrop_104/Zylot - Rainbow Planet Under Attack.milk diff --git a/presets_milkdrop_104/Zylot - Riding The Sound Waves.milk b/presets/presets_milkdrop_104/Zylot - Riding The Sound Waves.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Riding The Sound Waves.milk rename to presets/presets_milkdrop_104/Zylot - Riding The Sound Waves.milk diff --git a/presets_milkdrop_104/Zylot - Rush.milk b/presets/presets_milkdrop_104/Zylot - Rush.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Rush.milk rename to presets/presets_milkdrop_104/Zylot - Rush.milk diff --git a/presets/presets_milkdrop_104/Zylot - S- Pulse Virus.milk b/presets/presets_milkdrop_104/Zylot - S- Pulse Virus.milk new file mode 100644 index 0000000000..f1ab3d7a79 --- /dev/null +++ b/presets/presets_milkdrop_104/Zylot - S- Pulse Virus.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1 +fWaveSmoothing=0.75 +fWaveParam=-1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=0.999994 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); +per_frame_2=wave_mystery = wave_mystery + push; +per_frame_3=wave_r = wave_r + .5*sin(time*.222); +per_frame_4=wave_g = wave_g + .5*sin(time*.333); +per_frame_5=wave_b = wave_b + .5*sin(time*.444); +per_frame_6=warp = 0; +per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets/presets_milkdrop_104/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk b/presets/presets_milkdrop_104/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk new file mode 100644 index 0000000000..e5802ecfb6 --- /dev/null +++ b/presets/presets_milkdrop_104/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk @@ -0,0 +1,230 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.987785 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10); +wave_0_per_point3= +wave_0_per_point4=n2=abs((sample*6.283)-3.1415); +wave_0_per_point5=t=time*5; +wave_0_per_point6=r=sin(n2+t)*0.5+0.5; +wave_0_per_point7=g=sin(n2+2.1+t)*0.5+0.5; +wave_0_per_point8=b=sin(n2+4.2+t)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=//r = .5+.5*sin(sample*50); +wave_0_per_point12=//b = .5+.5*sin(sample*10); +wave_0_per_point13=//g = .5+.5*sin(sample*30); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.340000 +shapecode_0_ang=1.570797 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.500000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = 1.55; +shape_0_per_frame2=rad = rad+.3*bass; +shape_0_per_frame3=r = if(above(bass,1.5),1,0); +shape_0_per_frame4=g = if(above(bass,1.5),1,0); +shape_0_per_frame5=b = if(above(bass,1.5),1,0); +shapecode_1_enabled=1 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.003939 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=4.360755 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=sin(time/10)*6.28; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.840000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.580000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=decay = .92; +per_pixel_1=zoom = zoom + rad*.01; diff --git a/presets_milkdrop_104/Zylot - Tunnel Of Illusion.milk b/presets/presets_milkdrop_104/Zylot - Tunnel Of Illusion.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Tunnel Of Illusion.milk rename to presets/presets_milkdrop_104/Zylot - Tunnel Of Illusion.milk diff --git a/presets_milkdrop_104/Zylot - Visionarie (geiss aspect ratio fix).milk b/presets/presets_milkdrop_104/Zylot - Visionarie (geiss aspect ratio fix).milk similarity index 100% rename from presets_milkdrop_104/Zylot - Visionarie (geiss aspect ratio fix).milk rename to presets/presets_milkdrop_104/Zylot - Visionarie (geiss aspect ratio fix).milk diff --git a/presets_milkdrop_104/Zylot - Wisps.milk b/presets/presets_milkdrop_104/Zylot - Wisps.milk similarity index 100% rename from presets_milkdrop_104/Zylot - Wisps.milk rename to presets/presets_milkdrop_104/Zylot - Wisps.milk diff --git a/presets_milkdrop_104/Zylot - light of the path.milk b/presets/presets_milkdrop_104/Zylot - light of the path.milk similarity index 100% rename from presets_milkdrop_104/Zylot - light of the path.milk rename to presets/presets_milkdrop_104/Zylot - light of the path.milk diff --git a/presets_milkdrop_104/[Ishan] - Anuera.milk b/presets/presets_milkdrop_104/[Ishan] - Anuera.milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Anuera.milk rename to presets/presets_milkdrop_104/[Ishan] - Anuera.milk diff --git a/presets_milkdrop_104/[Ishan] - Devil's Disco Night(Inverted Electron Flow rmx).milk b/presets/presets_milkdrop_104/[Ishan] - Devil's Disco Night(Inverted Electron Flow rmx).milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Devil's Disco Night(Inverted Electron Flow rmx).milk rename to presets/presets_milkdrop_104/[Ishan] - Devil's Disco Night(Inverted Electron Flow rmx).milk diff --git a/presets_milkdrop_104/[Ishan] - Devil's Disco Night.milk b/presets/presets_milkdrop_104/[Ishan] - Devil's Disco Night.milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Devil's Disco Night.milk rename to presets/presets_milkdrop_104/[Ishan] - Devil's Disco Night.milk diff --git a/presets_milkdrop_104/[Ishan] - Life in the drains.milk b/presets/presets_milkdrop_104/[Ishan] - Life in the drains.milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Life in the drains.milk rename to presets/presets_milkdrop_104/[Ishan] - Life in the drains.milk diff --git a/presets_milkdrop_104/[Ishan] - Radicalizing my brain cells.milk b/presets/presets_milkdrop_104/[Ishan] - Radicalizing my brain cells.milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Radicalizing my brain cells.milk rename to presets/presets_milkdrop_104/[Ishan] - Radicalizing my brain cells.milk diff --git a/presets_milkdrop_104/[Ishan] - Soul Amplifier(Unreal remix).milk b/presets/presets_milkdrop_104/[Ishan] - Soul Amplifier(Unreal remix).milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Soul Amplifier(Unreal remix).milk rename to presets/presets_milkdrop_104/[Ishan] - Soul Amplifier(Unreal remix).milk diff --git a/presets_milkdrop_104/[Ishan] - Soul Amplifier.milk b/presets/presets_milkdrop_104/[Ishan] - Soul Amplifier.milk similarity index 100% rename from presets_milkdrop_104/[Ishan] - Soul Amplifier.milk rename to presets/presets_milkdrop_104/[Ishan] - Soul Amplifier.milk diff --git a/presets/presets_milkdrop_104/baked - 4-20 =).milk b/presets/presets_milkdrop_104/baked - 4-20 =).milk new file mode 100644 index 0000000000..e85214e825 --- /dev/null +++ b/presets/presets_milkdrop_104/baked - 4-20 =).milk @@ -0,0 +1,386 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001600 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.099595 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.010000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.005645 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.049900 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.100000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=r = 1-(time*.56)*(k1*k1)*x/0.5; +wave_0_per_point2=b = 1-(time*.99)*(k1*k1)*x/0.5; +wave_0_per_point3=g = 1-(time*.30)*(k1*k1)*x/0.5; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=k1 = (x/y)* 0.5 + above(bass*time-rad, .420); +wave_0_per_point7=k2 = (x*y)*sin(time*treb_thresh*rad*rad); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.010000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=r = 1-(time*.56)*(k1*k1)*x/0.5; +shape_0_per_frame2=b = 1-(time*.99)*(k1*k1)*x/0.5; +shape_0_per_frame3=g = 1-(time*.30)*(k1*k1)*x/0.5; +shape_0_per_frame4=r2 = 1-(time*.56)*(k1*k1)*x/0.5; +shape_0_per_frame5=b2 = 1-(time*.99)*(k1*k1)*x/0.5; +shape_0_per_frame6=g2 = 1-(time*.30)*(k1*k1)*x/0.5; +shape_0_per_frame7= +shape_0_per_frame8=ass = max(time+rad, 1); +shape_0_per_frame9=ass1 = min(time+ass+rad, 2); +shape_0_per_frame10=ass2 = ass + ass1; +shape_0_per_frame11=k1 = ass1; +shape_0_per_frame12= +shape_0_per_frame13=ang = sin(2*bass);; +shape_0_per_frame14= +shape_0_per_frame15= +shape_0_per_frame16=x = ( .5); +shape_0_per_frame17=y = ( .5); +shape_0_per_frame18=rad = radd; +shape_0_per_frame19= +shape_0_per_frame20= +shape_0_per_frame21=poo1 = max(bass+(time*2), poo2); +shape_0_per_frame22=poo2 = max(bass-time, poo1); +shape_0_per_frame23=poo = (poo1+poo2)/10*.5; +shape_0_per_frame24=sides = 100; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27= +shape_0_per_frame28=radd=sin(bass*0.05); +shape_0_per_frame29= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r = 1*(time*.56)*(k1*k1)*x/0.5; +shape_1_per_frame2=b = 1*(time*.99)*(k1*k1)*x/0.5; +shape_1_per_frame3=g = 1*(time*.30)*(k1*k1)*x/0.5; +shape_1_per_frame4=r2 = 1*(time*.56)*(k1*k1)*x/0.5; +shape_1_per_frame5=b2 = 1*(time*.99)*(k1*k1)*x/0.5; +shape_1_per_frame6=g2 = 1*(time*.30)*(k1*k1)*x/0.5; +shape_1_per_frame7= +shape_1_per_frame8=k1 = 2;; +shape_1_per_frame9= +shape_1_per_frame10=sides = 20; +shape_1_per_frame11= +shape_1_per_frame12=rad = 0.25;; +shape_1_per_frame13= +shape_1_per_frame14=bamx=sin(time-bass); +shape_1_per_frame15=boom=sin(((bamx%boom)*bass)*time); +shape_1_per_frame16=bom=(rand(0.1*(time-boom)*(time-bamx))*2); +shape_1_per_frame17= +shape_1_per_frame18=x = (sin(time)*0.420+0.5); +shape_1_per_frame19=y = (sin(time/2)*0.420+0.5); +shape_1_per_frame20= +shape_1_per_frame21=poo1 = max(bass+(time*2), poo2); +shape_1_per_frame22=poo2 = max(bass-time, poo1); +shape_1_per_frame23=poo = (poo1+poo2)/10*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = 1-(time*.56)*(k1*k1)*x/0.5; +shape_2_per_frame2=b = 1-(time*.99)*(k1*k1)*x/0.5; +shape_2_per_frame3=g = 1-(time*.30)*(k1*k1)*x/0.5; +shape_2_per_frame4=r2 = 1-(time*.56)*(k1*k1)*x/0.5; +shape_2_per_frame5=b2 = 1-(time*.99)*(k1*k1)*x/0.5; +shape_2_per_frame6=g2 = 1-(time*.30)*(k1*k1)*x/0.5; +shape_2_per_frame7= +shape_2_per_frame8=k1 = 1;; +shape_2_per_frame9= +shape_2_per_frame10=sides = 20; +shape_2_per_frame11= +shape_2_per_frame12=rad = 0.25;; +shape_2_per_frame13= +shape_2_per_frame14=bamx=sin(time-bass); +shape_2_per_frame15=boom=sin(((bamx%boom)*bass)*time); +shape_2_per_frame16=bom=(rand(0.1*(time-boom)*(time-bamx))*2); +shape_2_per_frame17= +shape_2_per_frame18=x = (sin(time/2)*0.420+0.5); +shape_2_per_frame19=y = (sin(time)*0.420+0.5); +shape_2_per_frame20= +shape_2_per_frame21=poo1 = max(bass+(time*2), poo2); +shape_2_per_frame22=poo2 = max(bass-time, poo1); +shape_2_per_frame23=poo = (poo1+poo2)/10*.5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.670888 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.942478 +shapecode_3_tex_zoom=0.900000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.170000 +shape_3_per_frame1=r = 1-(time*.56)*(k1*k1)*x/0.5; +shape_3_per_frame2=b = 1-(time*.99)*(k1*k1)*x/0.5; +shape_3_per_frame3=g = 1-(time*.30)*(k1*k1)*x/0.5; +shape_3_per_frame4=r2 = 1-(time*.56)*(k1*k1)*x/0.5; +shape_3_per_frame5=b2 = 1-(time*.99)*(k1*k1)*x/0.5; +shape_3_per_frame6=g2 = 1-(time*.30)*(k1*k1)*x/0.5; +shape_3_per_frame7= +shape_3_per_frame8=k1 = 1;; +per_frame_init_1=mv_x = (60); +per_frame_init_2=mv_y = 89; +per_frame_init_3=monitor = echo_zoom; +per_frame_init_4= +per_frame_init_5= +per_frame_1=zoom =sin( echo_zoom-q4); +per_frame_2= +per_frame_3=cx = (sin((time/2)*1.5)*0.8 + 0.5); +per_frame_4=cy = (sin(time*1.1)*0.8 + 0.5); +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8=ob_r = 2*(time*.7); +per_frame_9=ob_b = 2*(time*.6); +per_frame_10=ob_g = 2*(time*.5); +per_frame_11= +per_frame_12=ib_r = 1*(time*.5); +per_frame_13=ib_b = 1*(time*.6); +per_frame_14=ib_g = 1*(time*.7); +per_frame_15= +per_frame_16= +per_frame_17=rot = 0.1; +per_frame_18= +per_frame_19= +per_frame_20= +per_frame_21=decay = .999999; +per_frame_22= +per_frame_23= +per_frame_24=wec=sin(time-1); +per_frame_25=weconz=(q4-q2)*wec; +per_frame_26=wecrut=(tri*3)-(sin(time-rad)); +per_frame_27=tri= q8; +per_frame_28= +per_frame_29= +per_frame_30=t1 = wec+x; +per_frame_31=t3 = tri*weconz; +per_frame_32=t6 = wecrut; +per_frame_33=t7 = wec * time; +per_frame_34= +per_frame_35= +per_frame_36=q1 = wec; +per_frame_37=q2 = tri-t1; +per_frame_38=q6 = (weconz*2)/time; +per_pixel_1=bamx=sin(time-bass); +per_pixel_2=boom=sin(((bamx%boom)*bass)*time); +per_pixel_3=bom=(rand(0.1*(time-boom)*(time-bamx))*2); +per_pixel_4= +per_pixel_5= +per_pixel_6=speed = sin(((speedA-speedB)*(speedB-speedA)))%speedC; +per_pixel_7=speedA = sin((bass*3 - speedB )* time); +per_pixel_8=speedB = sin((mid*3 + speedC ) * time); +per_pixel_9=speedC = sin((treb*3 - speedA ) * time); +per_pixel_10= +per_pixel_11=shox = cos(q3 - q8)*speed; +per_pixel_12=rhox = sin(q5 + speedB)%speed; +per_pixel_13=rox = (shox - rhox)/2; +per_pixel_14= +per_pixel_15=daz=((speed*(time-1))*bass)* 0.5 + 0.5; +per_pixel_16= +per_pixel_17= +per_pixel_18= +per_pixel_19= +per_pixel_20=wec=sin(time-1); +per_pixel_21=weconz=t4-q4; +per_pixel_22=wecrut=(tri*3)-(sin(time-rad)); +per_pixel_23=tri= q8; +per_pixel_24= +per_pixel_25= +per_pixel_26= +per_pixel_27=warp = 1.420; +per_pixel_28= +per_pixel_29=q3 = treb*bom; +per_pixel_30=q8 = bass* boom; +per_pixel_31=q5 = mid*rox; +per_pixel_32=q6 = rox%speed; +per_pixel_33=q4 = daz - q4; +per_pixel_34= +per_pixel_35= +per_pixel_36=wec=sin(time-1); +per_pixel_37=weconz=(q4-q2)*wec; +per_pixel_38=wecrut=(tri*3)-(sin(time-rad)); +per_pixel_39=tri= q8; +per_pixel_40= +per_pixel_41= +per_pixel_42= +per_pixel_43=t1 = wec+x; +per_pixel_44=t3 = tri*weconz; +per_pixel_45=t6 = wecrut; +per_pixel_46=t7 = wec * time; diff --git a/presets_milkdrop_104/baked - Baked Dimensions [Bass Trip].milk b/presets/presets_milkdrop_104/baked - Baked Dimensions [Bass Trip].milk similarity index 100% rename from presets_milkdrop_104/baked - Baked Dimensions [Bass Trip].milk rename to presets/presets_milkdrop_104/baked - Baked Dimensions [Bass Trip].milk diff --git a/presets/presets_milkdrop_104/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk b/presets/presets_milkdrop_104/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk new file mode 100644 index 0000000000..4cb589d134 --- /dev/null +++ b/presets/presets_milkdrop_104/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.389280 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=2.306716 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.500000 +shapecode_0_border_g=0.500000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=bos = bass; +per_frame_3=tos = treb; +per_frame_4=cy = cx + (.00999*((cx/cx)/(bos/tos)) ); +per_frame_5=cx = cy + (.00999*((cy/cy)/(bos/tos)) ); +per_frame_6=rot = (time*.3 ); +per_frame_7=dx = sin(time*.5); +per_frame_8=dy = (bass*.009)+sin(time*.18) * 3; +per_frame_9=decay = 1; +per_frame_10= +per_frame_11=s=1; +per_frame_12=mt=mt+pow(bass+mid,2); +per_frame_13=h=sin(mt*.008)*.5+.5; +per_frame_14=l=1; +per_frame_15=s=1; +per_frame_16=////////////////////////////////////////////////////////////////////////////// +per_frame_17=// +per_frame_18=// HSL to RGB by PieturP +per_frame_19=// +per_frame_20=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +per_frame_21=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +per_frame_22=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +per_frame_23=// +per_frame_24=cc=(6*h); +per_frame_25=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +per_frame_26=zf=(6*h)-cc; +per_frame_27=zm=l; +per_frame_28=zp=l*(1-s); +per_frame_29=zq=l*(1-s*zf); +per_frame_30=zt=l*(1-s*(1-zf)); +per_frame_31=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +per_frame_32=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +per_frame_33=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +per_frame_34=rr=if(equal(s,0),l,rr); +per_frame_35=gg=if(equal(s,0),l,gg); +per_frame_36=bb=if(equal(s,0),l,bb); +per_frame_37= +per_frame_38=////////////////////////////////////////////////////////////////////////////// +per_frame_39=ob_r=rr; +per_frame_40=ob_g=gg; +per_frame_41=ob_b=bb; +per_frame_42=ib_r=abs(rr-.25); +per_frame_43=ib_g=abs(gg-.25); +per_frame_44=ib_b=abs(bb-.25); +per_frame_45= +per_frame_46= +per_frame_47=zoom = .905; +per_frame_48=warp = .905 * (1-(bass*.01)); diff --git a/presets_milkdrop_104/baked - Narcotic Hypnotic.milk b/presets/presets_milkdrop_104/baked - Narcotic Hypnotic.milk similarity index 100% rename from presets_milkdrop_104/baked - Narcotic Hypnotic.milk rename to presets/presets_milkdrop_104/baked - Narcotic Hypnotic.milk diff --git a/presets_milkdrop_104/baked - TraPped EnCounter.milk b/presets/presets_milkdrop_104/baked - TraPped EnCounter.milk similarity index 100% rename from presets_milkdrop_104/baked - TraPped EnCounter.milk rename to presets/presets_milkdrop_104/baked - TraPped EnCounter.milk diff --git a/presets_milkdrop_104/baked - demon isolation.milk b/presets/presets_milkdrop_104/baked - demon isolation.milk similarity index 100% rename from presets_milkdrop_104/baked - demon isolation.milk rename to presets/presets_milkdrop_104/baked - demon isolation.milk diff --git a/presets_milkdrop_104/baked - insertion point.milk b/presets/presets_milkdrop_104/baked - insertion point.milk similarity index 100% rename from presets_milkdrop_104/baked - insertion point.milk rename to presets/presets_milkdrop_104/baked - insertion point.milk diff --git a/presets/presets_milkdrop_104/baked - mushroom rainbows[2].milk b/presets/presets_milkdrop_104/baked - mushroom rainbows[2].milk new file mode 100644 index 0000000000..c742132877 --- /dev/null +++ b/presets/presets_milkdrop_104/baked - mushroom rainbows[2].milk @@ -0,0 +1,306 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tmie= (time*0.25) * (bass*0.05); +shape_0_per_frame2= +shape_0_per_frame3=ang = tmie; +shape_0_per_frame4= +shape_0_per_frame5=dx = asx; +shape_0_per_frame6= +shape_0_per_frame7=asx= sx - abs(time-sin(ang*x-y)); +shape_0_per_frame8=asy= sy - abs(time-sin(ang*x-y)); +shape_0_per_frame9= +shape_0_per_frame10= +shape_0_per_frame11=x = sin(time/2)*0.4 + 0.5; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=r = r2 * tmie ; +shape_0_per_frame15=g = g2 * tmie ; +shape_0_per_frame16=b = b2 * tmie ; +shape_0_per_frame17=r2 = r*.9998 - tmie ; +shape_0_per_frame18=g2 = g*.9998 - tmie ; +shape_0_per_frame19=b2 = b*.9998 - tmie ; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599577 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756687 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = sin(time*0.3) + .5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x = 64; +per_frame_init_2=mv_y = 89; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_milkdrop_104/baked - mushroom rainbows[acid Storm].milk b/presets/presets_milkdrop_104/baked - mushroom rainbows[acid Storm].milk new file mode 100644 index 0000000000..674d76f7f9 --- /dev/null +++ b/presets/presets_milkdrop_104/baked - mushroom rainbows[acid Storm].milk @@ -0,0 +1,289 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets_milkdrop_104/che - adela the flower.milk b/presets/presets_milkdrop_104/che - adela the flower.milk similarity index 100% rename from presets_milkdrop_104/che - adela the flower.milk rename to presets/presets_milkdrop_104/che - adela the flower.milk diff --git a/presets_milkdrop_104/che - barcode infidelity.milk b/presets/presets_milkdrop_104/che - barcode infidelity.milk similarity index 100% rename from presets_milkdrop_104/che - barcode infidelity.milk rename to presets/presets_milkdrop_104/che - barcode infidelity.milk diff --git a/presets_milkdrop_104/che - terracarbon stream.milk b/presets/presets_milkdrop_104/che - terracarbon stream.milk similarity index 100% rename from presets_milkdrop_104/che - terracarbon stream.milk rename to presets/presets_milkdrop_104/che - terracarbon stream.milk diff --git a/presets/presets_milkdrop_104/fiShbRaiN + EoS_Phat - The Machine Final.milk b/presets/presets_milkdrop_104/fiShbRaiN + EoS_Phat - The Machine Final.milk new file mode 100644 index 0000000000..83994301c0 --- /dev/null +++ b/presets/presets_milkdrop_104/fiShbRaiN + EoS_Phat - The Machine Final.milk @@ -0,0 +1,365 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.650000 +fVideoEchoZoom=0.996621 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=7.709095 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.999993 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=tri_point=rand(3); +wave_0_per_point2= +wave_0_per_point3=txp1=0; +wave_0_per_point4=txp2=1; +wave_0_per_point5= +wave_0_per_point6=typ1=0.2; +wave_0_per_point7=typ2=0.2; +wave_0_per_point8= +wave_0_per_point9=//top point +wave_0_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_0_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_0_per_point12= +wave_0_per_point13=//left point +wave_0_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_0_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_0_per_point16= +wave_0_per_point17=//right point +wave_0_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_0_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_0_per_point20= +wave_0_per_point21=x=(t_x-0.5)*0.55 + 0.5 + q4; +wave_0_per_point22=y=t_y + q5 +0.1; +wave_0_per_point23= +wave_0_per_point24=v=min(bass*bass*0.78,1); +wave_0_per_point25=r=v; +wave_0_per_point26=g=v; +wave_0_per_point27=b=v; +wave_0_per_point28=a=1 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=tri_point=rand(3); +wave_1_per_point2= +wave_1_per_point3=txp1=0; +wave_1_per_point4=txp2=1; +wave_1_per_point5= +wave_1_per_point6=typ1=0.2; +wave_1_per_point7=typ2=0.2; +wave_1_per_point8= +wave_1_per_point9=//top point +wave_1_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_1_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_1_per_point12= +wave_1_per_point13=//left point +wave_1_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_1_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_1_per_point16= +wave_1_per_point17=//right point +wave_1_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_1_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_1_per_point20= +wave_1_per_point21=x=(t_x-0.5)*0.55 + 0.5; +wave_1_per_point22=y=t_y; +wave_1_per_point23= +wave_1_per_point24=x=x+q4; +wave_1_per_point25=y=y+q5+0.1; +wave_1_per_point26= +wave_1_per_point27= +wave_1_per_point28=v=min(bass*bass*0.78,1); +wave_1_per_point29=r=v; +wave_1_per_point30=g=v; +wave_1_per_point31=b=v; +wave_1_per_point32=a=1 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=tri_point=rand(3); +wave_2_per_point2= +wave_2_per_point3=txp1=0; +wave_2_per_point4=txp2=1; +wave_2_per_point5= +wave_2_per_point6=typ1=0.2; +wave_2_per_point7=typ2=0.2; +wave_2_per_point8= +wave_2_per_point9=//top point +wave_2_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_2_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_2_per_point12= +wave_2_per_point13=//left point +wave_2_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_2_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_2_per_point16= +wave_2_per_point17=//right point +wave_2_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_2_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_2_per_point20= +wave_2_per_point21=x=(t_x-0.5)*0.55 + 0.5; +wave_2_per_point22=y=t_y; +wave_2_per_point23= +wave_2_per_point24= +wave_2_per_point25=x=x+q4; +wave_2_per_point26=y=y+q5+0.1; +wave_2_per_point27= +wave_2_per_point28= +wave_2_per_point29=v=min(bass*bass*0.78,1); +wave_2_per_point30=r=v; +wave_2_per_point31=g=v; +wave_2_per_point32=b=v; +wave_2_per_point33=a=1 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=tri_point=rand(3); +wave_3_per_point2= +wave_3_per_point3=txp1=0; +wave_3_per_point4=txp2=1; +wave_3_per_point5= +wave_3_per_point6=typ1=0.2; +wave_3_per_point7=typ2=0.2; +wave_3_per_point8= +wave_3_per_point9=//top point +wave_3_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); +wave_3_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); +wave_3_per_point12= +wave_3_per_point13=//left point +wave_3_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); +wave_3_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); +wave_3_per_point16= +wave_3_per_point17=//right point +wave_3_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); +wave_3_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); +wave_3_per_point20= +wave_3_per_point21=x=(t_x-0.5)*0.55 + 0.5; +wave_3_per_point22=y=t_y; +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=x=x+q4; +wave_3_per_point26=y=y+q5+0.1; +wave_3_per_point27= +wave_3_per_point28=v=min(bass*bass*0.78,1); +wave_3_per_point29=r=v; +wave_3_per_point30=g=v; +wave_3_per_point31=b=v; +wave_3_per_point32=a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.400000 +shapecode_0_rad=0.329957 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.822124 +shapecode_0_tex_zoom=0.880263 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=1.830; +shape_0_per_frame2=//tex_ang=above(bass,1)*3.14; +shape_0_per_frame3=a=above(treb,0.5); +shape_0_per_frame4=x=0.5+q4; +shape_0_per_frame5=y=0.4+q5+0.1 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.390000 +shapecode_1_rad=2.946219 +shapecode_1_ang=1.822124 +shapecode_1_tex_ang=1.822124 +shapecode_1_tex_zoom=2.448610 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.010000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=1.830; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.808141 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.400000 +shapecode_2_g=0.400000 +shapecode_2_b=0.800000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.700000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.500000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364566 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.498314 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=decay=.98; +per_frame_2=zoom=1.00; +per_frame_3=//dx=sin(time*0.3)*0.001; +per_frame_4=//dy=cos(time*0.15)*0.001; +per_frame_5= +per_frame_6=basstime=basstime+(bass_att*bass_att)*0.01*(75/fps); +per_frame_7=midtime=midtime+(mid_att*mid_att)*0.01*(75/fps); +per_frame_8= +per_frame_9=qx=sin(basstime*0.2)*0.2; +per_frame_10=cx=0.5+qx; +per_frame_11=q4=qx; +per_frame_12= +per_frame_13=qy=sin(midtime*0.2)*0.2; +per_frame_14=cy=0.5-qy; +per_frame_15=q5=qy; +per_frame_16=monitor=q4 +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_3= +per_pixel_4=var = tan(rd*(1+(bass))); +per_pixel_5=var = var*var; +per_pixel_6= +per_pixel_7=zm = -1+ (0.001*var)*rd; +per_pixel_8=zm=zm*1.003; +per_pixel_9=sx=zm; +per_pixel_10=sy=zm; +per_pixel_11= diff --git a/presets_milkdrop_104/fiShbRaiN - betelguese.milk b/presets/presets_milkdrop_104/fiShbRaiN - betelguese.milk similarity index 100% rename from presets_milkdrop_104/fiShbRaiN - betelguese.milk rename to presets/presets_milkdrop_104/fiShbRaiN - betelguese.milk diff --git a/presets_milkdrop_104/fiShbRaiN - blueprint.milk b/presets/presets_milkdrop_104/fiShbRaiN - blueprint.milk similarity index 100% rename from presets_milkdrop_104/fiShbRaiN - blueprint.milk rename to presets/presets_milkdrop_104/fiShbRaiN - blueprint.milk diff --git a/presets/presets_milkdrop_104/fiShbRaiN - planet x_Phat+EoS_inFlux_gravity well mix.milk b/presets/presets_milkdrop_104/fiShbRaiN - planet x_Phat+EoS_inFlux_gravity well mix.milk new file mode 100644 index 0000000000..4dc3c204fb --- /dev/null +++ b/presets/presets_milkdrop_104/fiShbRaiN - planet x_Phat+EoS_inFlux_gravity well mix.milk @@ -0,0 +1,721 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.500000 +fVideoEchoZoom=1.488127 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=4.120141 +fWaveSmoothing=0.630000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.310000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999989 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=31.999998 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.500000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=tscale=.3; +wave_0_per_point2=prad=.04; +wave_0_per_point3= +wave_0_per_point4=px=cos(sample*sample*9112)*prad; +wave_0_per_point5=py=sin(sample*sample*9112)*prad; +wave_0_per_point6=pz=0; +wave_0_per_point7=//yrot to sphere surface +wave_0_per_point8=theta=sample*sample*3342; +wave_0_per_point9=ct=cos(theta);st=sin(theta); +wave_0_per_point10=npx=(px*ct)+(pz*st); +wave_0_per_point11=npz=(-px*st)+(pz*ct); +wave_0_per_point12=npy=py; +wave_0_per_point13= +wave_0_per_point14=//xrot +wave_0_per_point15=theta=q6; +wave_0_per_point16=px=npx; +wave_0_per_point17=py=npy; +wave_0_per_point18=pz=npz; +wave_0_per_point19=ct=cos(theta);st=sin(theta); +wave_0_per_point20=npy=(py*ct)+(pz*-st); +wave_0_per_point21=npz=(py*st)+(pz*ct); +wave_0_per_point22= +wave_0_per_point23=//yrot +wave_0_per_point24=theta=q7; +wave_0_per_point25=px=npx; +wave_0_per_point26=py=npy; +wave_0_per_point27=pz=npz; +wave_0_per_point28=ct=cos(theta);st=sin(theta); +wave_0_per_point29=npx=(px*ct)+(pz*st); +wave_0_per_point30=npz=(-px*st)+(pz*ct); +wave_0_per_point31= +wave_0_per_point32=//zrot +wave_0_per_point33=theta=q8+2; +wave_0_per_point34=px=npx; +wave_0_per_point35=py=npy; +wave_0_per_point36=pz=npz; +wave_0_per_point37=ct=cos(theta);st=sin(theta); +wave_0_per_point38=npx=(px*ct)+(py*-st); +wave_0_per_point39=npy=(px*st)+(py*ct); +wave_0_per_point40= +wave_0_per_point41=x=npx+.5; +wave_0_per_point42=y=(npy*1.3)+.5; //correct aspect +wave_0_per_point43=a=if(below(npz,0),0,1); +wave_0_per_point44= +wave_0_per_point45= +wave_0_per_point46=//sun shadow +wave_0_per_point47=prad=1.1; +wave_0_per_point48= +wave_0_per_point49=s_px=cos(8886)*prad; +wave_0_per_point50=s_py=sin(8886)*prad; +wave_0_per_point51=s_pz=0; +wave_0_per_point52=//yrot to sphere surface +wave_0_per_point53=s_npx=s_px; +wave_0_per_point54=s_npz=s_pz; +wave_0_per_point55=s_npy=s_py; +wave_0_per_point56= +wave_0_per_point57=//xrot +wave_0_per_point58=theta=q6; +wave_0_per_point59=s_px=s_npx; +wave_0_per_point60=s_py=s_npy; +wave_0_per_point61=s_pz=s_npz; +wave_0_per_point62=ct=cos(theta);st=sin(theta); +wave_0_per_point63=s_npy=(s_py*ct)+(s_pz*-st); +wave_0_per_point64=s_npz=(s_py*st)+(s_pz*ct); +wave_0_per_point65= +wave_0_per_point66=//yrot +wave_0_per_point67=theta=q7; +wave_0_per_point68=s_px=s_npx; +wave_0_per_point69=s_py=s_npy; +wave_0_per_point70=s_pz=s_npz; +wave_0_per_point71=ct=cos(theta);st=sin(theta); +wave_0_per_point72=s_npx=(s_px*ct)+(s_pz*st); +wave_0_per_point73=s_npz=(-s_px*st)+(s_pz*ct); +wave_0_per_point74= +wave_0_per_point75=//zrot +wave_0_per_point76=theta=q8; +wave_0_per_point77=s_px=s_npx; +wave_0_per_point78=s_py=s_npy; +wave_0_per_point79=s_pz=s_npz; +wave_0_per_point80=ct=cos(theta);st=sin(theta); +wave_0_per_point81=s_npx=(s_px*ct)+(s_py*-st); +wave_0_per_point82=s_npy=(s_px*st)+(s_py*ct); +wave_0_per_point83= +wave_0_per_point84=s_x=s_npx+.5; +wave_0_per_point85=s_y=(s_npy*1.3)+.5; +wave_0_per_point86= +wave_0_per_point87=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +wave_0_per_point88=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); +wave_0_per_point89=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); +wave_0_per_point90=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=0.500000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=flip=-1; +wave_1_per_frame1=t1=(bass_att+mid_att+treb_att)*0.05*flip; +wave_1_per_frame2=flip=-flip +wave_1_per_point1=tscale=.3; +wave_1_per_point2=prad=1; +wave_1_per_point3= +wave_1_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; +wave_1_per_point5= +wave_1_per_point6=px=cos(cluster*16)*prad; +wave_1_per_point7=py=sin(cluster*16)*prad; +wave_1_per_point8=pz=0; +wave_1_per_point9=//yrot to sphere surface +wave_1_per_point10=theta=cluster*172 ; +wave_1_per_point11=ct=cos(theta);st=sin(theta); +wave_1_per_point12=npx=(px*ct)+(pz*st); +wave_1_per_point13=npz=(-px*st)+(pz*ct); +wave_1_per_point14=npy=py; +wave_1_per_point15= +wave_1_per_point16=//xrot +wave_1_per_point17=theta=q6; +wave_1_per_point18=px=npx; +wave_1_per_point19=py=npy; +wave_1_per_point20=pz=npz; +wave_1_per_point21=ct=cos(theta);st=sin(theta); +wave_1_per_point22=npy=(py*ct)+(pz*-st); +wave_1_per_point23=npz=(py*st)+(pz*ct); +wave_1_per_point24= +wave_1_per_point25=//yrot +wave_1_per_point26=theta=q7; +wave_1_per_point27=px=npx; +wave_1_per_point28=py=npy; +wave_1_per_point29=pz=npz; +wave_1_per_point30=ct=cos(theta);st=sin(theta); +wave_1_per_point31=npx=(px*ct)+(pz*st); +wave_1_per_point32=npz=(-px*st)+(pz*ct); +wave_1_per_point33= +wave_1_per_point34=//zrot +wave_1_per_point35=theta=q8; +wave_1_per_point36=px=npx; +wave_1_per_point37=py=npy; +wave_1_per_point38=pz=npz; +wave_1_per_point39=ct=cos(theta);st=sin(theta); +wave_1_per_point40=npx=(px*ct)+(py*-st); +wave_1_per_point41=npy=(px*st)+(py*ct); +wave_1_per_point42=npz=pz; +wave_1_per_point43= +wave_1_per_point44=npx=if(below(npz,0) , -npx , npx); +wave_1_per_point45=npy=if(below(npz,0) , -npy , npy); +wave_1_per_point46=npz=if(below(npz,0) , -npz , npz); +wave_1_per_point47= +wave_1_per_point48=//move into screenspace +wave_1_per_point49=npz=(npz * (1 + t1))+1.5; +wave_1_per_point50= +wave_1_per_point51=x=(npx/npz)+.5; +wave_1_per_point52=y=(npy/npz)*1.3+.5; //correct aspect +wave_1_per_point53=a=1; +wave_1_per_point54= +wave_1_per_point55=//y=0.1; +wave_1_per_point56=//x=sample; +wave_1_per_point57= +wave_1_per_point58=sample2=sample; +wave_1_per_point59=r=(sample2*3 - int(sample2*3))*2; +wave_1_per_point60=r=if(above(r,1) , 2-r , r); +wave_1_per_point61=r=1- pow(1-r,2); +wave_1_per_point62=sample2=sample + 0.023; +wave_1_per_point63=g=(sample2*3 - int(sample2*3))*2; +wave_1_per_point64=g=if(above(g,1) , 2-g , g); +wave_1_per_point65=g=1- pow(1-g,2); +wave_1_per_point66=sample2=sample + 0.026; +wave_1_per_point67=b=(sample2*3 - int(sample2*3))*2; +wave_1_per_point68=b=if(above(b,1) , 2-b , b); +wave_1_per_point69=b=1- pow(1-b,2) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.400000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=//planet rings +wave_2_per_point2=tscale=.3; +wave_2_per_point3= +wave_2_per_point4=prad=(((sample*sample*4999)%65)*.001)+.1; +wave_2_per_point5=px=cos(sample*sample*8854)*prad; +wave_2_per_point6=py=((sample*sample*1122)%10)*.0002; +wave_2_per_point7=pz=sin(sample*sample*8854)*prad; +wave_2_per_point8= +wave_2_per_point9=npx=px; +wave_2_per_point10=npy=py; +wave_2_per_point11=npz=pz; +wave_2_per_point12= +wave_2_per_point13=//yrot - particles +wave_2_per_point14=theta=((.4-prad)*(.4-prad)*30*time*tscale); +wave_2_per_point15=px=npx; +wave_2_per_point16=py=npy; +wave_2_per_point17=pz=npz; +wave_2_per_point18=ct=cos(theta);st=sin(theta); +wave_2_per_point19=npx=(px*ct)+(pz*st); +wave_2_per_point20=npz=(-px*st)+(pz*ct); +wave_2_per_point21= +wave_2_per_point22=//xrot +wave_2_per_point23=theta=q6; +wave_2_per_point24=px=npx; +wave_2_per_point25=py=npy; +wave_2_per_point26=pz=npz; +wave_2_per_point27=ct=cos(theta);st=sin(theta); +wave_2_per_point28=npy=(py*ct)+(pz*-st); +wave_2_per_point29=npz=(py*st)+(pz*ct); +wave_2_per_point30= +wave_2_per_point31=//yrot +wave_2_per_point32=theta=q7; +wave_2_per_point33=px=npx; +wave_2_per_point34=py=npy; +wave_2_per_point35=pz=npz; +wave_2_per_point36=ct=cos(theta);st=sin(theta); +wave_2_per_point37=npx=(px*ct)+(pz*st); +wave_2_per_point38=npz=(-px*st)+(pz*ct); +wave_2_per_point39= +wave_2_per_point40=//zrot +wave_2_per_point41=theta=q8+2; +wave_2_per_point42=px=npx; +wave_2_per_point43=py=npy; +wave_2_per_point44=pz=npz; +wave_2_per_point45=ct=cos(theta);st=sin(theta); +wave_2_per_point46=npx=(px*ct)+(py*-st); +wave_2_per_point47=npy=(px*st)+(py*ct); +wave_2_per_point48= +wave_2_per_point49=a=if(below(npz,0),if(below(sqrt((npy*npy)+(npx*npx)),.04),0,.4),.4); +wave_2_per_point50=x=npx+.5; +wave_2_per_point51=y=(npy*1.3)+.5; //correct aspect +wave_2_per_point52=g=.5+((sample*sample*4444)%100)*.005; +wave_2_per_point53= +wave_2_per_point54=//sun shadow +wave_2_per_point55=prad=1.1; +wave_2_per_point56= +wave_2_per_point57=s_px=cos(8886)*prad; +wave_2_per_point58=s_py=sin(8886)*prad; +wave_2_per_point59=s_pz=0; +wave_2_per_point60=//yrot to sphere surface +wave_2_per_point61=s_npx=s_px; +wave_2_per_point62=s_npz=s_pz; +wave_2_per_point63=s_npy=s_py; +wave_2_per_point64= +wave_2_per_point65=//xrot +wave_2_per_point66=theta=q6; +wave_2_per_point67=s_px=s_npx; +wave_2_per_point68=s_py=s_npy; +wave_2_per_point69=s_pz=s_npz; +wave_2_per_point70=ct=cos(theta);st=sin(theta); +wave_2_per_point71=s_npy=(s_py*ct)+(s_pz*-st); +wave_2_per_point72=s_npz=(s_py*st)+(s_pz*ct); +wave_2_per_point73= +wave_2_per_point74=//yrot +wave_2_per_point75=theta=q7; +wave_2_per_point76=s_px=s_npx; +wave_2_per_point77=s_py=s_npy; +wave_2_per_point78=s_pz=s_npz; +wave_2_per_point79=ct=cos(theta);st=sin(theta); +wave_2_per_point80=s_npx=(s_px*ct)+(s_pz*st); +wave_2_per_point81=s_npz=(-s_px*st)+(s_pz*ct); +wave_2_per_point82= +wave_2_per_point83=//zrot +wave_2_per_point84=theta=q8; +wave_2_per_point85=s_px=s_npx; +wave_2_per_point86=s_py=s_npy; +wave_2_per_point87=s_pz=s_npz; +wave_2_per_point88=ct=cos(theta);st=sin(theta); +wave_2_per_point89=s_npx=(s_px*ct)+(s_py*-st); +wave_2_per_point90=s_npy=(s_px*st)+(s_py*ct); +wave_2_per_point91= +wave_2_per_point92=s_x=s_npx+.5; +wave_2_per_point93=s_y=(s_npy*1.3)+.5; +wave_2_per_point94= +wave_2_per_point95=//ring lighting +wave_2_per_point96=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +wave_2_per_point97=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); +wave_2_per_point98=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); +wave_2_per_point99=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); +wave_2_per_point100= +wave_2_per_point101=//planet shadow across rings +wave_2_per_point102=s_npx=-1*s_npx*.1; +wave_2_per_point103=s_npy=-1*s_npy*.1; +wave_2_per_point104=s_npz=-1*s_npz*.1; +wave_2_per_point105= +wave_2_per_point106=ss_rad=.087; +wave_2_per_point107=ss=sqrt(sqr((npx-s_npx)*1)+sqr((npy-s_npy)*1)+sqr((npz-s_npz)*1)); +wave_2_per_point108=r=if(below(ss,ss_rad),r*.2,r); +wave_2_per_point109=g=if(below(ss,ss_rad),g*.2,g); +wave_2_per_point110=b=if(below(ss,ss_rad),b*.2,b); +wave_2_per_point111= +wave_2_per_point112=a=1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=-(bass_att+mid_att+treb_att)*0.05 +wave_3_per_point1=tscale=.3; +wave_3_per_point2=prad=1; +wave_3_per_point3= +wave_3_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; +wave_3_per_point5= +wave_3_per_point6=px=cos(cluster*16)*prad; +wave_3_per_point7=py=sin(cluster*16)*prad; +wave_3_per_point8=pz=0; +wave_3_per_point9=//yrot to sphere surface +wave_3_per_point10=theta=cluster*172 ; +wave_3_per_point11=ct=cos(theta);st=sin(theta); +wave_3_per_point12=npx=(px*ct)+(pz*st); +wave_3_per_point13=npz=(-px*st)+(pz*ct); +wave_3_per_point14=npy=py; +wave_3_per_point15= +wave_3_per_point16=//xrot +wave_3_per_point17=theta=q6; +wave_3_per_point18=px=npx; +wave_3_per_point19=py=npy; +wave_3_per_point20=pz=npz; +wave_3_per_point21=ct=cos(theta);st=sin(theta); +wave_3_per_point22=npy=(py*ct)+(pz*-st); +wave_3_per_point23=npz=(py*st)+(pz*ct); +wave_3_per_point24= +wave_3_per_point25=//yrot +wave_3_per_point26=theta=q7; +wave_3_per_point27=px=npx; +wave_3_per_point28=py=npy; +wave_3_per_point29=pz=npz; +wave_3_per_point30=ct=cos(theta);st=sin(theta); +wave_3_per_point31=npx=(px*ct)+(pz*st); +wave_3_per_point32=npz=(-px*st)+(pz*ct); +wave_3_per_point33= +wave_3_per_point34=//zrot +wave_3_per_point35=theta=q8; +wave_3_per_point36=px=npx; +wave_3_per_point37=py=npy; +wave_3_per_point38=pz=npz; +wave_3_per_point39=ct=cos(theta);st=sin(theta); +wave_3_per_point40=npx=(px*ct)+(py*-st); +wave_3_per_point41=npy=(px*st)+(py*ct); +wave_3_per_point42=npz=pz; +wave_3_per_point43= +wave_3_per_point44=npx=if(below(npz,0) , -npx , npx); +wave_3_per_point45=npy=if(below(npz,0) , -npy , npy); +wave_3_per_point46=npz=if(below(npz,0) , -npz , npz); +wave_3_per_point47= +wave_3_per_point48=//move into screenspace +wave_3_per_point49=npz=(npz * (1 + t1))+1.5; +wave_3_per_point50= +wave_3_per_point51=x=(npx/npz)+.5; +wave_3_per_point52=y=(npy/npz)*1.3+.5; //correct aspect +wave_3_per_point53=a=1; +wave_3_per_point54= +wave_3_per_point55=//y=0.1; +wave_3_per_point56=//x=sample; +wave_3_per_point57= +wave_3_per_point58=sample2=sample; +wave_3_per_point59=r=(sample2*3 - int(sample2*3))*2; +wave_3_per_point60=r=if(above(r,1) , 2-r , r); +wave_3_per_point61=r=1- pow(1-r,2); +wave_3_per_point62=sample2=sample + 0.023; +wave_3_per_point63=g=(sample2*3 - int(sample2*3))*2; +wave_3_per_point64=g=if(above(g,1) , 2-g , g); +wave_3_per_point65=g=1- pow(1-g,2); +wave_3_per_point66=sample2=sample + 0.026; +wave_3_per_point67=b=(sample2*3 - int(sample2*3))*2; +wave_3_per_point68=b=if(above(b,1) , 2-b , b); +wave_3_per_point69=b=1- pow(1-b,2) +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.176327 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.488856 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.200000 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.386146 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.700000 +shapecode_1_b=0.500000 +shapecode_1_a=0.290000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//sun flare +shape_1_per_frame2= +shape_1_per_frame3=//sun +shape_1_per_frame4=prad=1.1; +shape_1_per_frame5= +shape_1_per_frame6=px=cos(8886)*prad; +shape_1_per_frame7=py=sin(8886)*prad; +shape_1_per_frame8=pz=0; +shape_1_per_frame9=//yrot to sphere surface +shape_1_per_frame10=npx=(px*cos(0))+(pz*sin(0)); +shape_1_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); +shape_1_per_frame12=npy=py; +shape_1_per_frame13= +shape_1_per_frame14=xrot=q6; +shape_1_per_frame15=yrot=q7; +shape_1_per_frame16=zrot=q8; +shape_1_per_frame17= +shape_1_per_frame18=//xrot +shape_1_per_frame19=theta=xrot; +shape_1_per_frame20=px=npx; +shape_1_per_frame21=py=npy; +shape_1_per_frame22=pz=npz; +shape_1_per_frame23=npy=(py*cos(theta))+(pz*-sin(theta)); +shape_1_per_frame24=npz=(py*sin(theta))+(pz*cos(theta)); +shape_1_per_frame25= +shape_1_per_frame26=//yrot +shape_1_per_frame27=theta=yrot; +shape_1_per_frame28=px=npx; +shape_1_per_frame29=py=npy; +shape_1_per_frame30=pz=npz; +shape_1_per_frame31=npx=(px*cos(theta))+(pz*sin(theta)); +shape_1_per_frame32=npz=(-px*sin(theta))+(pz*cos(theta)); +shape_1_per_frame33= +shape_1_per_frame34=//zrot +shape_1_per_frame35=theta=zrot; +shape_1_per_frame36=px=npx; +shape_1_per_frame37=py=npy; +shape_1_per_frame38=pz=npz; +shape_1_per_frame39=npx=(px*cos(theta))+(py*-sin(theta)); +shape_1_per_frame40=npy=(px*sin(theta))+(py*cos(theta)); +shape_1_per_frame41= +shape_1_per_frame42=x=npx+.5; +shape_1_per_frame43=y=(npy*1.3)+.5; +shape_1_per_frame44=a=a*npz*.15; +shape_1_per_frame45= +shape_1_per_frame46=a=if(below(npz,0),a,0); +shape_1_per_frame47=a2=if(below(npz,0),a2,0); +shape_1_per_frame48= +shape_1_per_frame49=rad=rad+(abs(npz)*.1); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.018423 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=//sun body +shape_2_per_frame2= +shape_2_per_frame3=//sun +shape_2_per_frame4=prad=1.1; +shape_2_per_frame5= +shape_2_per_frame6=px=cos(8886)*prad; +shape_2_per_frame7=py=sin(8886)*prad; +shape_2_per_frame8=pz=0; +shape_2_per_frame9=//yrot to sphere surface +shape_2_per_frame10=npx=(px*cos(0))+(pz*sin(0)); +shape_2_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); +shape_2_per_frame12=npy=py; +shape_2_per_frame13= +shape_2_per_frame14=//xrot +shape_2_per_frame15=theta=q6; +shape_2_per_frame16=px=npx; +shape_2_per_frame17=py=npy; +shape_2_per_frame18=pz=npz; +shape_2_per_frame19=npy=(py*cos(theta))+(pz*-sin(theta)); +shape_2_per_frame20=npz=(py*sin(theta))+(pz*cos(theta)); +shape_2_per_frame21= +shape_2_per_frame22=//yrot +shape_2_per_frame23=theta=q7; +shape_2_per_frame24=px=npx; +shape_2_per_frame25=py=npy; +shape_2_per_frame26=pz=npz; +shape_2_per_frame27=npx=(px*cos(theta))+(pz*sin(theta)); +shape_2_per_frame28=npz=(-px*sin(theta))+(pz*cos(theta)); +shape_2_per_frame29= +shape_2_per_frame30=//zrot +shape_2_per_frame31=theta=q8; +shape_2_per_frame32=px=npx; +shape_2_per_frame33=py=npy; +shape_2_per_frame34=pz=npz; +shape_2_per_frame35=npx=(px*cos(theta))+(py*-sin(theta)); +shape_2_per_frame36=npy=(px*sin(theta))+(py*cos(theta)); +shape_2_per_frame37= +shape_2_per_frame38=x=npx+.5; +shape_2_per_frame39=y=(npy*1.3)+.5; +shape_2_per_frame40= +shape_2_per_frame41=a=npz*.15; +shape_2_per_frame42=a=if(below(npz,0),a,0); +shape_2_per_frame43=a2=if(below(npz,0),a2,0); +shape_2_per_frame44=border_a=if(below(npz,0),border_a,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.110462 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//planet shadow +shape_3_per_frame2= +shape_3_per_frame3=//sun shadow +shape_3_per_frame4=prad=1.1; +shape_3_per_frame5= +shape_3_per_frame6=s_px=cos(8886)*prad; +shape_3_per_frame7=s_py=sin(8886)*prad; +shape_3_per_frame8=s_pz=0; +shape_3_per_frame9=//yrot to sphere surface +shape_3_per_frame10=s_npx=(s_px*cos(0))+(s_pz*sin(0)); +shape_3_per_frame11=s_npz=(-s_px*sin(0))+(s_pz*cos(0)); +shape_3_per_frame12=s_npy=s_py; +shape_3_per_frame13= +shape_3_per_frame14=//xrot +shape_3_per_frame15=theta=q6; +shape_3_per_frame16=s_px=s_npx; +shape_3_per_frame17=s_py=s_npy; +shape_3_per_frame18=s_pz=s_npz; +shape_3_per_frame19=s_npy=(s_py*cos(theta))+(s_pz*-sin(theta)); +shape_3_per_frame20=s_npz=(s_py*sin(theta))+(s_pz*cos(theta)); +shape_3_per_frame21= +shape_3_per_frame22=//yrot +shape_3_per_frame23=theta=q7; +shape_3_per_frame24=s_px=s_npx; +shape_3_per_frame25=s_py=s_npy; +shape_3_per_frame26=s_pz=s_npz; +shape_3_per_frame27=s_npx=(s_px*cos(theta))+(s_pz*sin(theta)); +shape_3_per_frame28=s_npz=(-s_px*sin(theta))+(s_pz*cos(theta)); +shape_3_per_frame29= +shape_3_per_frame30=//zrot +shape_3_per_frame31=theta=q8; +shape_3_per_frame32=s_px=s_npx; +shape_3_per_frame33=s_py=s_npy; +shape_3_per_frame34=s_pz=s_npz; +shape_3_per_frame35=s_npx=(s_px*cos(theta))+(s_py*-sin(theta)); +shape_3_per_frame36=s_npy=(s_px*sin(theta))+(s_py*cos(theta)); +shape_3_per_frame37= +shape_3_per_frame38=s_x=s_npx+.5; +shape_3_per_frame39=s_y=(s_npy*1.3)+.5; +shape_3_per_frame40= +shape_3_per_frame41=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +shape_3_per_frame42=a=if(below(s_npz,0),a*(1-(.2*d)),a*d*.6); +shape_3_per_frame43=a2=if(below(s_npz,0),a2*(1-(.2*d)),a2*d*.6); +per_frame_init_1=// planet x +per_frame_init_2=// utilising FUDLE* technology! +per_frame_init_3=// (* fiShbRaiNs ultra dodgy lighting engine) +per_frame_init_4= +per_frame_init_5=//camera delta +per_frame_init_6=q3=.7; +per_frame_init_7=q4=-.4; +per_frame_init_8=q5=.1; +per_frame_init_9=//q3=2; +per_frame_init_10=//q4=0; +per_frame_init_11=//q5=0; +per_frame_init_12= +per_frame_init_13=//camera +per_frame_init_14=q6=0; +per_frame_init_15=q7=0; +per_frame_init_16=q8=0; +per_frame_init_17= +per_frame_1=//camera +per_frame_2=q6=q6+(q3*time*.07); +per_frame_3=q7=q7+(q4*time*.3); +per_frame_4=q8=q8+(q5*time*.09); +per_frame_5=decay=0.15; +per_frame_6=echo_zoom=1+(bass*0.4); +per_frame_7= +per_frame_8=decay=0.99 +per_pixel_1=zm1=(rad*50+(sin(ang*3)*0.5+0.5)); +per_pixel_2=zm2=1 + sin(ang*5+time)*0.1; +per_pixel_3= +per_pixel_4=flux=sin(time*0.33)*0.5+0.5; +per_pixel_5= +per_pixel_6=zm=zm1*flux + zm2*(1-flux); +per_pixel_7=sx=zm; +per_pixel_8=sy=zm; +per_pixel_9=zoom=1 diff --git a/presets_milkdrop_104/fiShbRaiN - the machine that conquered the world (domination remix).milk b/presets/presets_milkdrop_104/fiShbRaiN - the machine that conquered the world (domination remix).milk similarity index 100% rename from presets_milkdrop_104/fiShbRaiN - the machine that conquered the world (domination remix).milk rename to presets/presets_milkdrop_104/fiShbRaiN - the machine that conquered the world (domination remix).milk diff --git a/presets/presets_milkdrop_104/fiShbRaiN - white scream firefly.milk b/presets/presets_milkdrop_104/fiShbRaiN - white scream firefly.milk new file mode 100644 index 0000000000..c070bcccac --- /dev/null +++ b/presets/presets_milkdrop_104/fiShbRaiN - white scream firefly.milk @@ -0,0 +1,223 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.910000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285745 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=100.000000 +fWarpScale=1.951295 +fZoomExponent=0.010000 +fShader=1.000000 +zoom=0.904847 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.905227 +sx=0.999995 +sy=0.999998 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.741923 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=treb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089252 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=0.900000 +shapecode_0_g=0.400000 +shapecode_0_b=0.800000 +shapecode_0_a=0.800000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.850000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.010000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time; +shape_0_per_frame2=rad=rad+(treb*.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=x-(bass*.05); +shape_1_per_frame2=y=y-(treb*.02)+(sin(time)*.05); +shape_1_per_frame3=rad=rad+treb*.1; +shape_1_per_frame4=g=treb*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.350000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.662308 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550449 +shapecode_2_r=0.400000 +shapecode_2_g=0.800000 +shapecode_2_b=0.900000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.800000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=mid_att*.07; +per_frame_1=sx=bass; +per_frame_2=wave_r=treb*.5; +per_frame_3=wave_g=wave_r; +per_frame_4=wave_b=1; +per_frame_5=echo_zoom=echo_zoom+(above(bass,1.3)*bass*.1); +per_pixel_1=rot=(ang*sin(time)*.02); +per_pixel_2=zoom=zoom+(above(y,.4)*below(y,.6)*bass*.1)*rad; diff --git a/presets_milkdrop_104/fiShbRaiN - witchcraft.milk b/presets/presets_milkdrop_104/fiShbRaiN - witchcraft.milk similarity index 100% rename from presets_milkdrop_104/fiShbRaiN - witchcraft.milk rename to presets/presets_milkdrop_104/fiShbRaiN - witchcraft.milk diff --git a/presets_milkdrop_104/idiot - Forty Six and 2 (pushit!).milk b/presets/presets_milkdrop_104/idiot - Forty Six and 2 (pushit!).milk similarity index 100% rename from presets_milkdrop_104/idiot - Forty Six and 2 (pushit!).milk rename to presets/presets_milkdrop_104/idiot - Forty Six and 2 (pushit!).milk diff --git a/presets_milkdrop_104/idiot - Forty Six and 2.milk b/presets/presets_milkdrop_104/idiot - Forty Six and 2.milk similarity index 100% rename from presets_milkdrop_104/idiot - Forty Six and 2.milk rename to presets/presets_milkdrop_104/idiot - Forty Six and 2.milk diff --git a/presets_milkdrop_104/idiot - Nucleus.milk b/presets/presets_milkdrop_104/idiot - Nucleus.milk similarity index 100% rename from presets_milkdrop_104/idiot - Nucleus.milk rename to presets/presets_milkdrop_104/idiot - Nucleus.milk diff --git a/presets_milkdrop_104/idiot - Random Water Colours (Justify my stupidity).milk b/presets/presets_milkdrop_104/idiot - Random Water Colours (Justify my stupidity).milk similarity index 100% rename from presets_milkdrop_104/idiot - Random Water Colours (Justify my stupidity).milk rename to presets/presets_milkdrop_104/idiot - Random Water Colours (Justify my stupidity).milk diff --git a/presets_milkdrop_104/idiot - Random Water Colours.milk b/presets/presets_milkdrop_104/idiot - Random Water Colours.milk similarity index 100% rename from presets_milkdrop_104/idiot - Random Water Colours.milk rename to presets/presets_milkdrop_104/idiot - Random Water Colours.milk diff --git a/presets_milkdrop_104/mstress and rovastar - carnival of madness (dancing worms) Studio Music Mod.milk b/presets/presets_milkdrop_104/mstress and rovastar - carnival of madness (dancing worms) Studio Music Mod.milk similarity index 100% rename from presets_milkdrop_104/mstress and rovastar - carnival of madness (dancing worms) Studio Music Mod.milk rename to presets/presets_milkdrop_104/mstress and rovastar - carnival of madness (dancing worms) Studio Music Mod.milk diff --git a/presets_milkdrop_104/nil & EMPR - Electron Flow (Copper Wire Mix).milk b/presets/presets_milkdrop_104/nil & EMPR - Electron Flow (Copper Wire Mix).milk similarity index 100% rename from presets_milkdrop_104/nil & EMPR - Electron Flow (Copper Wire Mix).milk rename to presets/presets_milkdrop_104/nil & EMPR - Electron Flow (Copper Wire Mix).milk diff --git a/presets_milkdrop_104/nil & EMPR - Ruby Nirvana.milk b/presets/presets_milkdrop_104/nil & EMPR - Ruby Nirvana.milk similarity index 100% rename from presets_milkdrop_104/nil & EMPR - Ruby Nirvana.milk rename to presets/presets_milkdrop_104/nil & EMPR - Ruby Nirvana.milk diff --git a/presets_milkdrop_104/nil - Cid and Lucy.milk b/presets/presets_milkdrop_104/nil - Cid and Lucy.milk similarity index 100% rename from presets_milkdrop_104/nil - Cid and Lucy.milk rename to presets/presets_milkdrop_104/nil - Cid and Lucy.milk diff --git a/presets_milkdrop_104/nil - Disco Comet.milk b/presets/presets_milkdrop_104/nil - Disco Comet.milk similarity index 100% rename from presets_milkdrop_104/nil - Disco Comet.milk rename to presets/presets_milkdrop_104/nil - Disco Comet.milk diff --git a/presets_milkdrop_104/nil - Vortex of Vortices.milk b/presets/presets_milkdrop_104/nil - Vortex of Vortices.milk similarity index 100% rename from presets_milkdrop_104/nil - Vortex of Vortices.milk rename to presets/presets_milkdrop_104/nil - Vortex of Vortices.milk diff --git a/presets/presets_milkdrop_104/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk b/presets/presets_milkdrop_104/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk new file mode 100644 index 0000000000..0f5d7b268c --- /dev/null +++ b/presets/presets_milkdrop_104/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=2.220753 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wave_0_per_point1= +wave_0_per_point2=s=sample*6.28; +wave_0_per_point3= +wave_0_per_point4=//plot random x position via function of sample pos; +wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point6=xp=xp*0.20; +wave_0_per_point7= +wave_0_per_point8=//plot random y position via function of sample pos; +wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point10=yp=yp*0.20; +wave_0_per_point11= +wave_0_per_point12=//plot random z position via function of sample pos; +wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point14=zp=zp*0.25; +wave_0_per_point15= +wave_0_per_point16=//pull stars toward screen +wave_0_per_point17=zp=zp + 1 - t1; +wave_0_per_point18= +wave_0_per_point19=//correct when below 0 +wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point21= +wave_0_per_point22=//darken far stars +wave_0_per_point23=a=(1 - zp*0.5); +wave_0_per_point24= +wave_0_per_point25=zp=zp*0.7; +wave_0_per_point26= +wave_0_per_point27=x_screen=xp/zp + 0.5; +wave_0_per_point28=y_screen=yp/zp + 0.5; +wave_0_per_point29= +wave_0_per_point30=x=x_screen; +wave_0_per_point31=y=y_screen; +wave_0_per_point32= +wave_0_per_point33=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wave_1_per_point1= +wave_1_per_point2=s=sample*6.28; +wave_1_per_point3= +wave_1_per_point4=//plot random x position via function of sample pos; +wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); +wave_1_per_point6=xp=xp*0.20; +wave_1_per_point7= +wave_1_per_point8=//plot random y position via function of sample pos; +wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point10=yp=yp*0.20; +wave_1_per_point11= +wave_1_per_point12=//plot random z position via function of sample pos; +wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point14=zp=zp*0.25; +wave_1_per_point15= +wave_1_per_point16=//pull stars toward screen +wave_1_per_point17=zp=zp + 1 - t1; +wave_1_per_point18= +wave_1_per_point19=//correct when below 0 +wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point21= +wave_1_per_point22=//darken far stars +wave_1_per_point23=a=(1 - zp*0.5); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=1;g=0.9;b=1.0 +wavecode_2_enabled=1 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.360001 +wave_2_per_point1=x=rand(1000)*0.001; +wave_2_per_point2=y=rand(1000)*0.001; +wave_2_per_point3=r=0.9;g=1;b=1 +wavecode_3_enabled=1 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.320001 +wave_3_per_point1=x=rand(1000)*0.001; +wave_3_per_point2=y=rand(1000)*0.001; +wave_3_per_point3=r=1.0;g=1;b=0.9 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=x=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame9=y=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame10=rad=rand(100)*0.01*0.4+0.1; +shape_1_per_frame11=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1.0; +per_frame_2=zoom=1.009; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10=cx=-1;cy=2;rot=-treb*0.002; +per_frame_11= +per_frame_12=cx=sin(time*0.1)*1.5 + 0.5; +per_frame_13=cy=cos(time*0.2)*1.5 + 0.5 +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(y)*0.005*(rad+2)*treb ; +per_pixel_6=//dy=sin(x)*0.005*(rad+2)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_milkdrop_104/phat + EoS - ouch.milk b/presets/presets_milkdrop_104/phat + EoS - ouch.milk new file mode 100644 index 0000000000..6d9fa983ec --- /dev/null +++ b/presets/presets_milkdrop_104/phat + EoS - ouch.milk @@ -0,0 +1,348 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wave_0_per_point1= +wave_0_per_point2=s=sample*6.28; +wave_0_per_point3= +wave_0_per_point4=//plot random x position via function of sample pos; +wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point6=xp=xp*0.20; +wave_0_per_point7= +wave_0_per_point8=//plot random y position via function of sample pos; +wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point10=yp=yp*0.20; +wave_0_per_point11= +wave_0_per_point12=//plot random z position via function of sample pos; +wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point14=zp=zp*0.25; +wave_0_per_point15= +wave_0_per_point16=//pull stars toward screen +wave_0_per_point17=zp=zp + 1 - t1; +wave_0_per_point18= +wave_0_per_point19=//correct when below 0 +wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point21= +wave_0_per_point22=//darken far stars +wave_0_per_point23=a=(1 - zp*0.5); +wave_0_per_point24= +wave_0_per_point25=zp=zp*0.7; +wave_0_per_point26= +wave_0_per_point27=x_screen=xp/zp + 0.5; +wave_0_per_point28=y_screen=yp/zp + 0.5; +wave_0_per_point29= +wave_0_per_point30=x=x_screen; +wave_0_per_point31=y=y_screen; +wave_0_per_point32= +wave_0_per_point33=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wave_1_per_point1= +wave_1_per_point2=s=sample*6.28; +wave_1_per_point3= +wave_1_per_point4=//plot random x position via function of sample pos; +wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); +wave_1_per_point6=xp=xp*0.20; +wave_1_per_point7= +wave_1_per_point8=//plot random y position via function of sample pos; +wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point10=yp=yp*0.20; +wave_1_per_point11= +wave_1_per_point12=//plot random z position via function of sample pos; +wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point14=zp=zp*0.25; +wave_1_per_point15= +wave_1_per_point16=//pull stars toward screen +wave_1_per_point17=zp=zp + 1 - t1; +wave_1_per_point18= +wave_1_per_point19=//correct when below 0 +wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point21= +wave_1_per_point22=//darken far stars +wave_1_per_point23=a=(1 - zp*0.5); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=1;g=0.9;b=1.0 +wavecode_2_enabled=1 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.360001 +wave_2_per_point1=x=rand(1000)*0.001; +wave_2_per_point2=y=rand(1000)*0.001; +wave_2_per_point3=r=0.9;g=1;b=1 +wavecode_3_enabled=1 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.320001 +wave_3_per_point1=x=rand(1000)*0.001; +wave_3_per_point2=y=rand(1000)*0.001; +wave_3_per_point3=r=1.0;g=1;b=0.9 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=area=bass*bass; +shape_1_per_frame9= +shape_1_per_frame10=xp=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame11=x=(xp-0.5)*area + 0.5; +shape_1_per_frame12= +shape_1_per_frame13=yp=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame14=y=(yp-0.5)*area + 0.5; +shape_1_per_frame15= +shape_1_per_frame16=rad=rand(100)*0.01*0.4+0.1; +shape_1_per_frame17=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1.0; +per_frame_2=zoom=-1.006; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10=cx=-1;cy=2;rot=-treb*0.002; +per_frame_11= +per_frame_12=cx=cos(time*0.1)*1.5 + 0.5; +per_frame_13=cy=cos(time*0.2)*1.5 + 0.5; +per_frame_14= +per_frame_15=flash=flash + min(sin(time*0.1)*0.30+0.30,0.5); +per_frame_16=flash=if( above(flash,1) , flash-1 , flash); +per_frame_17=invert= above(flash,0.5) +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(ang+bass)*0.005*(ang+mid)*treb ; +per_pixel_6=//dy=sin(ang+bass)*0.005*(ang+mid)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_milkdrop_104/phat + EoS - single cel angel birth.milk b/presets/presets_milkdrop_104/phat + EoS - single cel angel birth.milk new file mode 100644 index 0000000000..570bb07261 --- /dev/null +++ b/presets/presets_milkdrop_104/phat + EoS - single cel angel birth.milk @@ -0,0 +1,355 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=adv=0 +wave_0_per_frame1= +wave_0_per_frame2=adv=adv+(bass*bass)*0.005; +wave_0_per_frame3= +wave_0_per_frame4=t1=sin(adv)*0.3; +wave_0_per_frame5=t2=cos(adv)*0.3; +wave_0_per_frame6=t3=adv; +wave_0_per_point1=waver=sin(sample*6.28*16)*0.2; +wave_0_per_point2= +wave_0_per_point3=xp=sin(sample*6.28+waver); +wave_0_per_point4=yp=cos(sample*6.28+waver); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=scale=sin(sample*6.28*3 - t3*3); +wave_0_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; +wave_0_per_point9=xp=xp*scale*scale2; +wave_0_per_point10=yp=yp*scale*scale2; +wave_0_per_point11= +wave_0_per_point12=x=xp*0.4*0.7 + 0.5; +wave_0_per_point13=y=yp*0.5*0.7 + 0.5; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17=rmod=sin(time*0.2)*0.5+0.5; +wave_0_per_point18=rmod=rmod*rmod; +wave_0_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; +wave_0_per_point20=gmod=gmod*gmod; +wave_0_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; +wave_0_per_point22=bmod=bmod*bmod; +wave_0_per_point23= +wave_0_per_point24=r=rmod; +wave_0_per_point25=g=gmod; +wave_0_per_point26=b=bmod +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=adv=0 +wave_1_per_frame1= +wave_1_per_frame2=adv=adv+(bass*bass)*0.005; +wave_1_per_frame3= +wave_1_per_frame4=t1=sin(adv)*0.3; +wave_1_per_frame5=t2=cos(adv)*0.3; +wave_1_per_frame6=t3=adv; +wave_1_per_point1=waver=sin(sample*6.28*16)*0.2; +wave_1_per_point2= +wave_1_per_point3=xp=sin(sample*6.28+waver); +wave_1_per_point4=yp=cos(sample*6.28+waver); +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=scale=sin(sample*6.28*3 - t3*3); +wave_1_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; +wave_1_per_point9=xp=xp*scale*scale2; +wave_1_per_point10=yp=yp*scale*scale2; +wave_1_per_point11= +wave_1_per_point12=x=-xp*0.4*0.7 + 0.5; +wave_1_per_point13=y=yp*0.5*0.7 + 0.5; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16= +wave_1_per_point17=rmod=sin(time*0.2)*0.5+0.5; +wave_1_per_point18=rmod=rmod*rmod; +wave_1_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; +wave_1_per_point20=gmod=gmod*gmod; +wave_1_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; +wave_1_per_point22=bmod=bmod*bmod; +wave_1_per_point23= +wave_1_per_point24=r=rmod; +wave_1_per_point25=g=gmod; +wave_1_per_point26=b=bmod +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shape_0_per_frame11=adv=adv+bass*bass*bass*0.01; +shape_0_per_frame12= +shape_0_per_frame13=x=0.5- (cos(y+bass_att )*0.005)*treb_att; +shape_0_per_frame14=y=0.5- (sin(x+bass_att*5 )*0.005*rad)*treb_att; +shape_0_per_frame15=x=x+sin(adv*0.5)*0.15; +shape_0_per_frame16=y=y+cos(adv)*0.05; +shape_0_per_frame17= +shape_0_per_frame18=ang=0.65 - sin(adv*0.5)*0.65; +shape_0_per_frame19= +shape_0_per_frame20=rmod=sin(time*0.2)*0.5+0.5; +shape_0_per_frame21=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_0_per_frame22=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_0_per_frame23= +shape_0_per_frame24=r=0.9 + rmod*0.1; +shape_0_per_frame25=g=0.9 + gmod*0.1; +shape_0_per_frame26=b=0.9 + bmod*0.1 +shape_0_per_frame27= +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.905855 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)*0.03; +shape_1_per_frame3=x=sin(adv)*0.5+0.5; +shape_1_per_frame4=y=cos(adv)*0.5+0.5; +shape_1_per_frame5=r=bass_att; +shape_1_per_frame6=r2=bass_att; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=rmod=sin(time*0.2)*0.5+0.5; +shape_1_per_frame10=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_1_per_frame11=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_1_per_frame12= +shape_1_per_frame13=b2=0.2 + rmod*0.7; +shape_1_per_frame14=r2=0.2 + gmod*0.7; +shape_1_per_frame15=g2=0.2 + bmod*0.7 +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.468144 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.753982 +shapecode_3_tex_zoom=0.698924 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.300000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2= +shape_3_per_frame3=rmod=sin(time*0.2)*0.5+0.5; +shape_3_per_frame4=rmod=rmod*rmod; +shape_3_per_frame5=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_3_per_frame6=gmod=gmod*gmod; +shape_3_per_frame7=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_3_per_frame8=bmod=bmod*bmod; +shape_3_per_frame9= +shape_3_per_frame10=r2=0.8+rmod*0.2; +shape_3_per_frame11=g2=0.8+gmod*0.2; +shape_3_per_frame12=b2=0.8+bmod*0.2; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=(cos(y+bass )*0.005*rad)*treb; +per_pixel_6=//dy=(sin(x+bass*5 )*0.005*rad)*treb; +per_pixel_7=//rot=rad/(bass*100); +per_pixel_8= +per_pixel_9=zoom=1+ 0.001; +per_pixel_10=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_milkdrop_104/shifter & fiShbRaiN - witchcraft (i'm melting).milk b/presets/presets_milkdrop_104/shifter & fiShbRaiN - witchcraft (i'm melting).milk new file mode 100644 index 0000000000..2c27f560ed --- /dev/null +++ b/presets/presets_milkdrop_104/shifter & fiShbRaiN - witchcraft (i'm melting).milk @@ -0,0 +1,278 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.869999 +fDecay=1.000000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.050000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.050000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.99),(.99-mx),mx); +wave_0_per_point8=my=if(above(my,.99),(.99-my),my); +wave_0_per_point9=mx=if(below(mx,.01),(.99+mx),mx); +wave_0_per_point10=my=if(below(my,.01),(.99+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.99),(.99-mx),mx); +wave_1_per_point8=my=if(above(my,.99),(.99-my),my); +wave_1_per_point9=mx=if(below(mx,.01),(.99+mx),mx); +wave_1_per_point10=my=if(below(my,.01),(.99+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.99),(.99-mx),mx); +wave_2_per_point8=my=if(above(my,.99),(.99-my),my); +wave_2_per_point9=mx=if(below(mx,.01),(.99+mx),mx); +wave_2_per_point10=my=if(below(my,.01),(.99+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.99),(.99-mx),mx); +wave_3_per_point8=my=if(above(my,.99),(.99-my),my); +wave_3_per_point9=mx=if(below(mx,.01),(.99+mx),mx); +wave_3_per_point10=my=if(below(my,.01),(.99+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=bl = 3.8; +per_frame_2=ul = 7.9; +per_frame_3=rate = 11.9; +per_frame_4=cha = .01; +per_frame_5= +per_frame_6=gv = if(above(gv,bl), if(below(gv,ul), if(above(fps,rate),gv + cha,gv - cha), ul-.1),bl+.1); +per_frame_7= +per_frame_8=gamma = gv; +per_frame_9= +per_frame_10=monitor = gv; +per_frame_11= diff --git a/presets/presets_milkdrop_104/shifter - a thousand monkeys_phat_edit (subliminal mix).milk b/presets/presets_milkdrop_104/shifter - a thousand monkeys_phat_edit (subliminal mix).milk new file mode 100644 index 0000000000..da172a6388 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - a thousand monkeys_phat_edit (subliminal mix).milk @@ -0,0 +1,429 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.945000 +fVideoEchoZoom=0.999606 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=21.858437 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = if(equal(it,0),rand(4),1); +wave_0_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_0_per_point6=mx = xv + ita*.025; +wave_0_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_0_per_point8= +wave_0_per_point9=sz = .01; +wave_0_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point12= +wave_0_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_0_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_0_per_point15=cva = if(equal(it,0),cv,cva); +wave_0_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_0_per_point17= +wave_0_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_0_per_point19= +wave_0_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_0_per_point21= +wave_0_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point28=vg = equal(let,1); +wave_0_per_point29=vh = equal(let,9) + equal(let,20); +wave_0_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point40=vs = equal(let,22); +wave_0_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point42= +wave_0_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point44= +wave_0_per_point45=a = a*below(ita,8); +wave_0_per_point46= +wave_0_per_point47=x = mx + vx*sz*.75; +wave_0_per_point48=y = my + vy*sz*1.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_1_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_1_per_point3= +wave_1_per_point4=sw = if(equal(it,0),rand(4),1); +wave_1_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_1_per_point6=mx = xv + ita*.025; +wave_1_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_1_per_point8= +wave_1_per_point9=sz = .01; +wave_1_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_1_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_1_per_point12= +wave_1_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_1_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_1_per_point15=cva = if(equal(it,0),cv,cva); +wave_1_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_1_per_point17= +wave_1_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_1_per_point19= +wave_1_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_1_per_point21= +wave_1_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_1_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_1_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_1_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_1_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_1_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_1_per_point28=vg = equal(let,1); +wave_1_per_point29=vh = equal(let,9) + equal(let,20); +wave_1_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_1_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_1_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_1_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_1_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_1_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_1_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_1_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_1_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_1_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_1_per_point40=vs = equal(let,22); +wave_1_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_1_per_point42= +wave_1_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_1_per_point44= +wave_1_per_point45=a = a*below(ita,8); +wave_1_per_point46= +wave_1_per_point47=x = mx + vx*sz*.75; +wave_1_per_point48=y = my + vy*sz*1.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_2_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_2_per_point3= +wave_2_per_point4=sw = if(equal(it,0),rand(4),1); +wave_2_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_2_per_point6=mx = xv + ita*.025; +wave_2_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_2_per_point8= +wave_2_per_point9=sz = .01; +wave_2_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_2_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_2_per_point12= +wave_2_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_2_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_2_per_point15=cva = if(equal(it,0),cv,cva); +wave_2_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_2_per_point17= +wave_2_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_2_per_point19= +wave_2_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_2_per_point21= +wave_2_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_2_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_2_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_2_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_2_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_2_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_2_per_point28=vg = equal(let,1); +wave_2_per_point29=vh = equal(let,9) + equal(let,20); +wave_2_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_2_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_2_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_2_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_2_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_2_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_2_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_2_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_2_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_2_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_2_per_point40=vs = equal(let,22); +wave_2_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_2_per_point42= +wave_2_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_2_per_point44= +wave_2_per_point45=a = a*below(ita,8); +wave_2_per_point46= +wave_2_per_point47=x = mx + vx*sz*.75; +wave_2_per_point48=y = my + vy*sz*1.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_3_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_3_per_point3= +wave_3_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_3_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_3_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_3_per_point7=mx = xv + ita*.025; +wave_3_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_3_per_point9= +wave_3_per_point10=sz = .01; +wave_3_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_3_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_3_per_point13= +wave_3_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_3_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_3_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_3_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_3_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_3_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_3_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_3_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_3_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_3_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_3_per_point24= +wave_3_per_point25=lr = if(sw,lr,rand(10)); +wave_3_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_3_per_point27= +wave_3_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_3_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_3_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_3_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_3_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_3_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_3_per_point34=vg = equal(let,1); +wave_3_per_point35=vh = equal(let,9) + equal(let,20); +wave_3_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_3_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_3_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_3_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_3_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_3_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_3_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_3_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_3_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_3_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_3_per_point46=vs = equal(let,22); +wave_3_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_3_per_point48= +wave_3_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_3_per_point50= +wave_3_per_point51=a = a*below(ita,8); +wave_3_per_point52= +wave_3_per_point53=x = mx + vx*sz*.75; +wave_3_per_point54=y = my + vy*sz*1.5; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.998663 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.250046 +shapecode_0_r=0.900000 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=tm = time*.05; +shape_0_per_frame2= +shape_0_per_frame3=r = .95 + .05*sin(tm*1.654); +shape_0_per_frame4=g = .95 + .05*sin(tm*1.564); +shape_0_per_frame5=b = .95 + .05*sin(tm*1.465); +shape_0_per_frame6=r2 = 1.9 - r; +shape_0_per_frame7=g2 = 1.9 - g; +shape_0_per_frame8=b2 = 1.9 - b; +shape_0_per_frame9= +shape_0_per_frame10=x = .4996; +shape_0_per_frame11=y = .5003; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=ang = (rand(1001)*.001 - rand(1001)*.001)*q1*.5; +shape_0_per_frame16=rad = rad - (rand(1001)*.001 + rand(1001)*.001)*1.5*q1; +shape_0_per_frame17= +shape_0_per_frame18=a=above(treb,.8); +shape_0_per_frame19=a2=above(treb,.8); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=zoom=.95+bass; diff --git a/presets/presets_milkdrop_104/shifter - brain coral (left brained).milk b/presets/presets_milkdrop_104/shifter - brain coral (left brained).milk new file mode 100644 index 0000000000..6e3294601c --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - brain coral (left brained).milk @@ -0,0 +1,399 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.104100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000001 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=1.115500 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.800000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=x = if(sw,osa,sample); +wave_0_per_point11=x = sample*.5; +wave_0_per_point12=y = 1.001 + mod*.5*pow(1-sample,2)*2; +wave_0_per_point13= +wave_0_per_point14=osa = sample; +wave_0_per_point15= +wave_0_per_point16=mo = 3.7 + mod*6 + q1; +wave_0_per_point17= +wave_0_per_point18=r = .5 + sin(mo)*.5; +wave_0_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_0_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_0_per_point21= +wave_0_per_point22=a = 1 - abs(mod)*12; +wave_0_per_point23=a = 1-sw; +wave_0_per_point24=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.800000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value1; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=x = if(sw,osa,sample); +wave_1_per_point11=x = 1-sample*.5; +wave_1_per_point12=y = -.001 + mod*.5*pow(1-sample,2)*2; +wave_1_per_point13= +wave_1_per_point14=osa = sample; +wave_1_per_point15= +wave_1_per_point16=mo = 3.7 + mod*6 + q1; +wave_1_per_point17= +wave_1_per_point18=r = .5 + sin(mo)*.5; +wave_1_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_1_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_1_per_point21= +wave_1_per_point22=a = 1 - abs(mod)*12; +wave_1_per_point23=a = 1-sw; +wave_1_per_point24=a = max(0,min(a,1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.800000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=x = if(sw,osa,sample); +wave_2_per_point11=x = sample*.5; +wave_2_per_point12=y = 1.001 + mod*.5*pow(1-sample,2)*2; +wave_2_per_point13= +wave_2_per_point14=osa = sample; +wave_2_per_point15= +wave_2_per_point16=mo = 3.7 + mod*6 + q1; +wave_2_per_point17= +wave_2_per_point18=//r = .5 + sin(mo)*.5; +wave_2_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point21= +wave_2_per_point22=//a = 1 - abs(mod)*12; +wave_2_per_point23=//a = 1-sw; +wave_2_per_point24=a = max(0,min(a,1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.800000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value1; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=x = if(sw,osa,sample); +wave_3_per_point11=x = 1 - sample*.5; +wave_3_per_point12= +wave_3_per_point13=y = -.001 + mod*.5*pow(1-sample,2)*2; +wave_3_per_point14= +wave_3_per_point15=osa = sample; +wave_3_per_point16= +wave_3_per_point17=mo = 3.7 + mod*6 + q1; +wave_3_per_point18= +wave_3_per_point19=//r = .5 + sin(mo)*.5; +wave_3_per_point20=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point21=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point22= +wave_3_per_point23=//a = 1 - abs(mod)*12; +wave_3_per_point24=//a = 1-sw; +wave_3_per_point25=a = max(0,min(a,1)); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=1.000000 +shapecode_0_rad=0.134785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ti = q1; +shape_0_per_frame2=rad = q2; +shape_0_per_frame3=y = (ti - int(ti))*.5; +shape_0_per_frame4=x = 1; +shape_0_per_frame5= +shape_0_per_frame6= +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.000000 +shapecode_1_rad=0.134785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ti = q1; +shape_1_per_frame2=rad = q2; +shape_1_per_frame3=y = 1-(ti - int(ti))*.5; +shape_1_per_frame4=x = 0; +shape_1_per_frame5= +shape_1_per_frame6= +shapecode_2_enabled=1 +shapecode_2_sides=43 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.690000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.548200 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.895574 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = .4 + q3; +shape_2_per_frame2= +shape_2_per_frame3=tex_zoom = 1/rad*.8; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + q3; +shape_2_per_frame6= +shape_2_per_frame7=tex_ang = -q4; +shape_2_per_frame8= +shape_2_per_frame9=ti = q5 + sin(time*1.234); +shape_2_per_frame10= +shape_2_per_frame11=x = .5 + q3*sin(ti); +shape_2_per_frame12=y = .5 + q3*cos(ti)*.5; +shapecode_3_enabled=1 +shapecode_3_sides=43 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500001 +shapecode_3_y=0.500000 +shapecode_3_rad=0.548218 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.795442 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad = .4 + q3; +shape_3_per_frame2= +shape_3_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_3_per_frame4= +shape_3_per_frame5=x = .5 - q3; +shape_3_per_frame6= +shape_3_per_frame7=tex_ang = q4; +shape_3_per_frame8= +shape_3_per_frame9=ti = q5 + sin(time*.948) + 3.1416; +shape_3_per_frame10= +shape_3_per_frame11=x = .5 + q3*sin(ti)*2.5; +shape_3_per_frame12=y = .5 + q3*cos(ti); +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=ra = 1/tic*.05; +per_frame_13=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_14=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_15= +per_frame_16=ra = 1/tic*.05; +per_frame_17=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_18= +per_frame_19= +per_frame_20=tt = tt + tic*treb; +per_frame_21=mt = mt + tic*mid; +per_frame_22=bt = bt + tic*bass; +per_frame_23=vt = vt + tic*vav; +per_frame_24= +per_frame_25=q1 = time; +per_frame_26= +per_frame_27=q2 = vav*.1; +per_frame_28= +per_frame_29=q3 = .02 + bass_avg*.05; // size & displacement rad +per_frame_30= +per_frame_31=q4 = 3.1416 + 1.57 + (treb_avg + mid_avg)*.25; // tex_ang +per_frame_32= +per_frame_33=//q4 = (treb_avg - mid_avg); +per_frame_34=//q4 = bass_avg - (treb_avg + mid_avg)*.5; +per_frame_35=//q4 = -bass_avg; +per_frame_36= +per_frame_37= +per_frame_38=q5 = vt; // xy movement +per_frame_39= +per_frame_40=monitor = q4; +per_frame_41= +per_frame_42=//rot = .025*max(.7,vav); +per_frame_43=rot = .025*(.7 + vav*.25); +per_frame_44=//rot = .025*vav; +per_frame_45= +per_pixel_1=mod = .1; +per_pixel_2= +per_pixel_3=//sw = above(x,.5); +per_pixel_4= +per_pixel_5=//dy = mod*pow(abs(y - .5)*2,1.5)*sign(y-.5); +per_pixel_6= +per_pixel_7=//dy = .2*sign(y-.5)*sw; +per_pixel_8= +per_pixel_9=//sy = 1 + (1-sw)*.116; +per_pixel_10= +per_pixel_11= +per_pixel_12=//rot = .05; +per_pixel_13= +per_pixel_14=cx = if(above(y,.5),-1,2); diff --git a/presets/presets_milkdrop_104/shifter - brain coral.milk b/presets/presets_milkdrop_104/shifter - brain coral.milk new file mode 100644 index 0000000000..119fdca4c5 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - brain coral.milk @@ -0,0 +1,393 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000001 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=1.115500 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=2.560000 +nMotionVectorsY=48.000000 +mv_dx=0.360000 +mv_dy=-0.800000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.800000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=x = if(sw,osa,sample); +wave_0_per_point11=x = sample*.5; +wave_0_per_point12=y = 1 + mod*.5; +wave_0_per_point13= +wave_0_per_point14=osa = sample; +wave_0_per_point15= +wave_0_per_point16=mo = 3.7 + mod*6 + q1; +wave_0_per_point17= +wave_0_per_point18=r = .5 + sin(mo)*.5; +wave_0_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_0_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_0_per_point21= +wave_0_per_point22=a = 1 - abs(mod)*12; +wave_0_per_point23=a = 1-sw; +wave_0_per_point24=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.800000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value1; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=x = if(sw,osa,sample); +wave_1_per_point11=x = 1-sample*.5; +wave_1_per_point12=y = 0 + mod*.5; +wave_1_per_point13= +wave_1_per_point14=osa = sample; +wave_1_per_point15= +wave_1_per_point16=mo = 3.7 + mod*6 + q1; +wave_1_per_point17= +wave_1_per_point18=r = .5 + sin(mo)*.5; +wave_1_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_1_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_1_per_point21= +wave_1_per_point22=a = 1 - abs(mod)*12; +wave_1_per_point23=a = 1-sw; +wave_1_per_point24=a = max(0,min(a,1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.800000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=x = if(sw,osa,sample); +wave_2_per_point11=x = sample*.5; +wave_2_per_point12=y = 1 + mod*.5; +wave_2_per_point13= +wave_2_per_point14=osa = sample; +wave_2_per_point15= +wave_2_per_point16=mo = 3.7 + mod*6 + q1; +wave_2_per_point17= +wave_2_per_point18=//r = .5 + sin(mo)*.5; +wave_2_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point21= +wave_2_per_point22=//a = 1 - abs(mod)*12; +wave_2_per_point23=//a = 1-sw; +wave_2_per_point24=a = max(0,min(a,1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.800000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value1; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=x = if(sw,osa,sample); +wave_3_per_point11=x = 1 - sample*.5; +wave_3_per_point12=y = 0 + mod*.5; +wave_3_per_point13= +wave_3_per_point14=osa = sample; +wave_3_per_point15= +wave_3_per_point16=mo = 3.7 + mod*6 + q1; +wave_3_per_point17= +wave_3_per_point18=//r = .5 + sin(mo)*.5; +wave_3_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point21= +wave_3_per_point22=//a = 1 - abs(mod)*12; +wave_3_per_point23=//a = 1-sw; +wave_3_per_point24=a = max(0,min(a,1)); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=1.000000 +shapecode_0_rad=0.134785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ti = q1; +shape_0_per_frame2=rad = q2; +shape_0_per_frame3=x = (ti - int(ti))*.5; +shape_0_per_frame4= +shape_0_per_frame5= +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.000000 +shapecode_1_rad=0.134785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ti = q1; +shape_1_per_frame2=rad = q2; +shape_1_per_frame3=x = 1-(ti - int(ti))*.5; +shape_1_per_frame4= +shapecode_2_enabled=1 +shapecode_2_sides=43 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.690000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.548200 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.895574 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = .4 + q3; +shape_2_per_frame2= +shape_2_per_frame3=tex_zoom = 1/rad*.8; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + q3; +shape_2_per_frame6= +shape_2_per_frame7=tex_ang = -q4; +shape_2_per_frame8= +shape_2_per_frame9=ti = q5 + sin(time*1.234); +shape_2_per_frame10= +shape_2_per_frame11=x = .5 + q3*sin(ti); +shape_2_per_frame12=y = .5 + q3*cos(ti)*.5; +shapecode_3_enabled=1 +shapecode_3_sides=43 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500001 +shapecode_3_y=0.500000 +shapecode_3_rad=0.548218 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.879646 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad = .4 + q3; +shape_3_per_frame2= +shape_3_per_frame3=tex_zoom = 1/rad*.8; +shape_3_per_frame4= +shape_3_per_frame5=x = .5 - q3; +shape_3_per_frame6= +shape_3_per_frame7=tex_ang = q4; +shape_3_per_frame8= +shape_3_per_frame9=ti = q5 + sin(time*.948) + 3.1416; +shape_3_per_frame10= +shape_3_per_frame11=x = .5 + q3*sin(ti)*1.5; +shape_3_per_frame12=y = .5 + q3*cos(ti)*.5; +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=ra = 1/tic*.05; +per_frame_13=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_14=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_15= +per_frame_16=ra = 1/tic*.1; +per_frame_17=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_18= +per_frame_19= +per_frame_20=tt = tt + tic*treb; +per_frame_21=mt = mt + tic*mid; +per_frame_22=bt = bt + tic*bass; +per_frame_23=vt = vt + tic*vav; +per_frame_24= +per_frame_25=q1 = time; +per_frame_26= +per_frame_27=q2 = vav*.1; +per_frame_28= +per_frame_29=q3 = .02 + bass_avg*.05; +per_frame_30=q4 = .5 + (treb_avg + mid_avg)*.25; +per_frame_31=//q4 = (treb_avg - mid_avg); +per_frame_32=//q4 = bass_avg - (treb_avg + mid_avg)*.5; +per_frame_33=//q4 = -bass_avg; +per_frame_34= +per_frame_35= +per_frame_36=q5 = vt*3; +per_frame_37= +per_frame_38=monitor = q4; +per_frame_39= +per_frame_40=//rot = .025*max(.7,vav); +per_frame_41=rot = .025*(.7 + vav*.25); +per_frame_42=//rot = .025*vav; +per_frame_43= +per_pixel_1=mod = .1; +per_pixel_2= +per_pixel_3=//sw = above(x,.5); +per_pixel_4= +per_pixel_5=//dy = mod*pow(abs(y - .5)*2,1.5)*sign(y-.5); +per_pixel_6= +per_pixel_7=//dy = .2*sign(y-.5)*sw; +per_pixel_8= +per_pixel_9=//sy = 1 + (1-sw)*.116; +per_pixel_10= +per_pixel_11= +per_pixel_12=//rot = .05; +per_pixel_13= +per_pixel_14=cx = if(above(y,.5),-1,2); diff --git a/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Slide_mix_v2_Time_Mod_tan.milk b/presets/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Slide_mix_v2_Time_Mod_tan.milk similarity index 100% rename from presets_milkdrop_104/shifter - cellular_Phat_Spinny_Slide_mix_v2_Time_Mod_tan.milk rename to presets/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Slide_mix_v2_Time_Mod_tan.milk diff --git a/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Swimmer_mix_v2.milk b/presets/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Swimmer_mix_v2.milk similarity index 100% rename from presets_milkdrop_104/shifter - cellular_Phat_Spinny_Swimmer_mix_v2.milk rename to presets/presets_milkdrop_104/shifter - cellular_Phat_Spinny_Swimmer_mix_v2.milk diff --git a/presets/presets_milkdrop_104/shifter - cellular_Phat_YAK_Infusion_v2.milk b/presets/presets_milkdrop_104/shifter - cellular_Phat_YAK_Infusion_v2.milk new file mode 100644 index 0000000000..f3d05d0413 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - cellular_Phat_YAK_Infusion_v2.milk @@ -0,0 +1,494 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.003587 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999999 +fShader=0.000000 +zoom=1.000491 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.220190 +sy=1.220190 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t3 = q7; +wave_0_per_frame2= +wave_0_per_frame3=t1 = .5; +wave_0_per_frame4=t2 = .5; +wave_0_per_frame5= +wave_0_per_frame6=//r = .5 + .5*sin(q2); +wave_0_per_frame7=//g = .5 + .5*sin(q2 + 2.0944); +wave_0_per_frame8=//b = .5 + .5*sin(q2 + 4.1888); +wave_0_per_point1=sp = sample*6.2832; +wave_0_per_point2=ti = time*20; +wave_0_per_point3=raa = sin(ti*12.87 - sp*15.87)*2.5 - cos(ti*7.98 + sp*9.5)*6 + sin(ti*8.9 + sp*48)*7.4; +wave_0_per_point4=raa = abs(raa - int(raa)); +wave_0_per_point5=rab = sin(ti*6.74 - sp*18.52)*5.7 + cos(ti*3.94 + sp*27.55)*1.7 + sin(ti*14.8 + sp*3.5)*4; +wave_0_per_point6=rab = abs(rab - int(rab)); +wave_0_per_point7= +wave_0_per_point8=cou = 30; +wave_0_per_point9= +wave_0_per_point10=seg = seg*above(sample,0); +wave_0_per_point11=it = (it + 1)*above(sample,0); +wave_0_per_point12=seg = seg + equal(ita,0); +wave_0_per_point13=ita = (ita + 1)*above(sample,0)*below(ita,cou); +wave_0_per_point14=cop = equal(ita,cou); +wave_0_per_point15= +wave_0_per_point16=toll = toll*above(sample,0); +wave_0_per_point17=toll = toll + value1 + value2; +wave_0_per_point18=tav = toll/cou*.1; +wave_0_per_point19=mod = raa*bass*.5 - rab*(mid+treb)*.125; +wave_0_per_point20=mod = if(q1,bass*.5*(.5 + .5*sin(sp)) - (mid+treb)*.25*(.5 + .5*cos(sp)),mod); +wave_0_per_point21= +wave_0_per_point22=toll = toll*(1-cop); +wave_0_per_point23=//toll = 15; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=la = if((1-t3)*cop*equal(seg,1),tav,la); +wave_0_per_point27=lb = if((1-t3)*cop*equal(seg,2),tav,lb); +wave_0_per_point28=lc = if((1-t3)*cop*equal(seg,3),tav,lc); +wave_0_per_point29=ld = if((1-t3)*cop*equal(seg,4),tav,ld); +wave_0_per_point30=le = if((1-t3)*cop*equal(seg,5),tav,le); +wave_0_per_point31=lf = if((1-t3)*cop*equal(seg,6),tav,lf); +wave_0_per_point32=lg = if((1-t3)*cop*equal(seg,7),tav,lg); +wave_0_per_point33=li = if((1-t3)*cop*equal(seg,8),tav,li); +wave_0_per_point34=lj = if((1-t3)*cop*equal(seg,9),tav,lj); +wave_0_per_point35=lk = if((1-t3)*cop*equal(seg,10),tav,lk); +wave_0_per_point36= +wave_0_per_point37=aa = if((1-t3)*cop*equal(seg,1),mod,aa); +wave_0_per_point38=ab = if((1-t3)*cop*equal(seg,2),mod,ab); +wave_0_per_point39=ac = if((1-t3)*cop*equal(seg,3),mod,ac); +wave_0_per_point40=ad = if((1-t3)*cop*equal(seg,4),mod,ad); +wave_0_per_point41=ae = if((1-t3)*cop*equal(seg,5),mod,ae); +wave_0_per_point42=af = if((1-t3)*cop*equal(seg,6),mod,af); +wave_0_per_point43=ag = if((1-t3)*cop*equal(seg,7),mod,ag); +wave_0_per_point44=ai = if((1-t3)*cop*equal(seg,8),mod,ai); +wave_0_per_point45=aj = if((1-t3)*cop*equal(seg,9),mod,aj); +wave_0_per_point46=ak = if((1-t3)*cop*equal(seg,10),mod,ak)*0; +wave_0_per_point47= +wave_0_per_point48= +wave_0_per_point49=lev = lev*above(sample,0); ud = ud*above(sample,0); rep = rep*above(sample,0); lev = if(ud,lev-1,lev+1); rep = (rep + equal(lev,0)); ud = if(equal(lev,0),0,if(equal(lev,10),1,ud)); +wave_0_per_point50= +wave_0_per_point51=mx = above(lev,0)*la*sin(aa) + above(lev,1)*lb*sin(ab) + above(lev,2)*lc*sin(ac) + above(lev,3)*ld*sin(ad); +wave_0_per_point52=my = above(lev,0)*la*cos(aa) + above(lev,1)*lb*cos(ab) + above(lev,2)*lc*cos(ac) + above(lev,3)*ld*cos(ad); +wave_0_per_point53=mx = mx + above(lev,4)*le*sin(ae) + above(lev,5)*lf*sin(af) + above(lev,6)*lg*sin(ag); +wave_0_per_point54=my = my + above(lev,4)*le*cos(ae) + above(lev,5)*lf*cos(af) + above(lev,6)*lg*cos(ag); +wave_0_per_point55=mx = mx + above(lev,7)*li*sin(ai) + above(lev,8)*lj*sin(aj);// + above(lev,9)*lk*sin(ak); +wave_0_per_point56=my = my + above(lev,7)*li*cos(ai) + above(lev,8)*lj*cos(aj) + above(lev,9)*lk*cos(ak); +wave_0_per_point57=mx = (1-2*equal(ud,1))*mx*(1-equal(lev,10)); +wave_0_per_point58= +wave_0_per_point59=my = min(my,.25); +wave_0_per_point60= +wave_0_per_point61=// add branches via rotation +wave_0_per_point62=poi = q3; +wave_0_per_point63=modx = if(equal(lev,poi)*ud,mx,modx); +wave_0_per_point64=mody = if(equal(lev,poi)*ud,my,mody); +wave_0_per_point65=mang = (above(rep,7)*below(rep,14) - above(rep,15)*below(rep,22))*above(lev,poi); +wave_0_per_point66=modx = 0; +wave_0_per_point67=mx = mx - modx; +wave_0_per_point68=my = my - mody; +wave_0_per_point69=ox = mx*cos(mang) - my*sin(mang); +wave_0_per_point70=oy = mx*sin(mang) + my*cos(mang); +wave_0_per_point71=mx = ox + modx; +wave_0_per_point72=my = oy + mody; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75=mang = above(rep,1)*rep*1.0472; +wave_0_per_point76=ox = mx*cos(mang) - my*sin(mang); +wave_0_per_point77=oy = mx*sin(mang) + my*cos(mang); +wave_0_per_point78=mx = ox; +wave_0_per_point79=my = oy; +wave_0_per_point80= +wave_0_per_point81= +wave_0_per_point82=sz = .5; +wave_0_per_point83=x = mx*.75*sz + t1; +wave_0_per_point84=y = my*sz + t2; +wave_0_per_point85= +wave_0_per_point86= +wave_0_per_point87= +wave_0_per_point88=a = t3; // drawn every 2nd frame, gets values in other one +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t3 = q7; +wave_1_per_frame2= +wave_1_per_frame3=t1 = .5; +wave_1_per_frame4=t2 = .5; +wave_1_per_point1=sp = sample*6.2832; +wave_1_per_point2=ti = time*20; +wave_1_per_point3=raa = sin(ti*12.87 - sp*15.87)*2.5 - cos(ti*7.98 + sp*9.5)*6 + sin(ti*8.9 + sp*48)*7.4; +wave_1_per_point4=raa = abs(raa - int(raa)); +wave_1_per_point5=rab = sin(ti*6.74 - sp*18.52)*5.7 + cos(ti*3.94 + sp*27.55)*1.7 + sin(ti*14.8 + sp*3.5)*4; +wave_1_per_point6=rab = abs(rab - int(rab)); +wave_1_per_point7= +wave_1_per_point8=cou = 30; +wave_1_per_point9= +wave_1_per_point10=seg = seg*above(sample,0); +wave_1_per_point11=it = (it + 1)*above(sample,0); +wave_1_per_point12=seg = seg + equal(ita,0); +wave_1_per_point13=ita = (ita + 1)*above(sample,0)*below(ita,cou); +wave_1_per_point14=cop = equal(ita,cou); +wave_1_per_point15= +wave_1_per_point16=toll = toll*above(sample,0); +wave_1_per_point17=toll = toll + value1 + value2; +wave_1_per_point18=tav = toll/cou*.1; +wave_1_per_point19=mod = raa*bass*.5 - rab*(mid+treb)*.125; +wave_1_per_point20=mod = if(q1,bass*.5*(.5 + .5*sin(sp)) - (mid+treb)*.25*(.5 + .5*cos(sp)),mod); +wave_1_per_point21= +wave_1_per_point22=toll = toll*(1-cop); +wave_1_per_point23=//toll = 15; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=la = if((1-t3)*cop*equal(seg,1),tav,la); +wave_1_per_point27=lb = if((1-t3)*cop*equal(seg,2),tav,lb); +wave_1_per_point28=lc = if((1-t3)*cop*equal(seg,3),tav,lc); +wave_1_per_point29=ld = if((1-t3)*cop*equal(seg,4),tav,ld); +wave_1_per_point30=le = if((1-t3)*cop*equal(seg,5),tav,le); +wave_1_per_point31=lf = if((1-t3)*cop*equal(seg,6),tav,lf); +wave_1_per_point32=lg = if((1-t3)*cop*equal(seg,7),tav,lg); +wave_1_per_point33=li = if((1-t3)*cop*equal(seg,8),tav,li); +wave_1_per_point34=lj = if((1-t3)*cop*equal(seg,9),tav,lj); +wave_1_per_point35=lk = if((1-t3)*cop*equal(seg,10),tav,lk); +wave_1_per_point36= +wave_1_per_point37=aa = if((1-t3)*cop*equal(seg,1),mod,aa); +wave_1_per_point38=ab = if((1-t3)*cop*equal(seg,2),mod,ab); +wave_1_per_point39=ac = if((1-t3)*cop*equal(seg,3),mod,ac); +wave_1_per_point40=ad = if((1-t3)*cop*equal(seg,4),mod,ad); +wave_1_per_point41=ae = if((1-t3)*cop*equal(seg,5),mod,ae); +wave_1_per_point42=af = if((1-t3)*cop*equal(seg,6),mod,af); +wave_1_per_point43=ag = if((1-t3)*cop*equal(seg,7),mod,ag); +wave_1_per_point44=ai = if((1-t3)*cop*equal(seg,8),mod,ai); +wave_1_per_point45=aj = if((1-t3)*cop*equal(seg,9),mod,aj); +wave_1_per_point46=ak = if((1-t3)*cop*equal(seg,10),mod,ak)*0; +wave_1_per_point47= +wave_1_per_point48= +wave_1_per_point49=lev = lev*above(sample,0); ud = ud*above(sample,0); rep = rep*above(sample,0); lev = if(ud,lev-1,lev+1); rep = (rep + equal(lev,0)); ud = if(equal(lev,0),0,if(equal(lev,10),1,ud)); +wave_1_per_point50= +wave_1_per_point51=mx = above(lev,0)*la*sin(aa) + above(lev,1)*lb*sin(ab) + above(lev,2)*lc*sin(ac) + above(lev,3)*ld*sin(ad); +wave_1_per_point52=my = above(lev,0)*la*cos(aa) + above(lev,1)*lb*cos(ab) + above(lev,2)*lc*cos(ac) + above(lev,3)*ld*cos(ad); +wave_1_per_point53=mx = mx + above(lev,4)*le*sin(ae) + above(lev,5)*lf*sin(af) + above(lev,6)*lg*sin(ag); +wave_1_per_point54=my = my + above(lev,4)*le*cos(ae) + above(lev,5)*lf*cos(af) + above(lev,6)*lg*cos(ag); +wave_1_per_point55=mx = mx + above(lev,7)*li*sin(ai) + above(lev,8)*lj*sin(aj);// + above(lev,9)*lk*sin(ak); +wave_1_per_point56=my = my + above(lev,7)*li*cos(ai) + above(lev,8)*lj*cos(aj) + above(lev,9)*lk*cos(ak); +wave_1_per_point57=mx = (1-2*equal(ud,1))*mx*(1-equal(lev,10)); +wave_1_per_point58= +wave_1_per_point59=my = min(my,.25); +wave_1_per_point60= +wave_1_per_point61=// add branches via rotation +wave_1_per_point62=poi = q3; +wave_1_per_point63=modx = if(equal(lev,poi)*ud,mx,modx); +wave_1_per_point64=mody = if(equal(lev,poi)*ud,my,mody); +wave_1_per_point65=mang = (above(rep,7)*below(rep,14) - above(rep,15)*below(rep,22))*above(lev,poi); +wave_1_per_point66=modx = 0; +wave_1_per_point67=mx = mx - modx; +wave_1_per_point68=my = my - mody; +wave_1_per_point69=ox = mx*cos(mang) - my*sin(mang); +wave_1_per_point70=oy = mx*sin(mang) + my*cos(mang); +wave_1_per_point71=mx = ox + modx; +wave_1_per_point72=my = oy + mody; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=mang = above(rep,1)*rep*1.0472; +wave_1_per_point76=ox = mx*cos(mang) - my*sin(mang); +wave_1_per_point77=oy = mx*sin(mang) + my*cos(mang); +wave_1_per_point78=mx = ox; +wave_1_per_point79=my = oy; +wave_1_per_point80= +wave_1_per_point81= +wave_1_per_point82= +wave_1_per_point83=sz = .5; +wave_1_per_point84=x = mx*.75*sz + t1; +wave_1_per_point85=y = my*sz + t2; +wave_1_per_point86= +wave_1_per_point87=a = t3; // drawn every 2nd frame, gets values in other one +wave_1_per_point88= +wave_1_per_point89=//r = .5 - .5*sin(q2); +wave_1_per_point90=//g = .5 - .5*sin(q2 + 2.0944); +wave_1_per_point91=//b = .5 - .5*sin(q2 + 4.1888); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sw = 1-sw; +wave_2_per_point2=sp = sample*6.2832 - time; +wave_2_per_point3= +wave_2_per_point4=sz = sp - q1 - .7854*.5; +wave_2_per_point5=sz = .5 + .5*sin(sz*4) + value1 + value2; +wave_2_per_point6= +wave_2_per_point7=cv = sz*6.2832; +wave_2_per_point8= +wave_2_per_point9=sz = pow(sz,.5)*.05*sw; +wave_2_per_point10= +wave_2_per_point11=x = .5 + sz*sin(sp)*.75; +wave_2_per_point12=y = .5 + sz*cos(sp); +wave_2_per_point13= +wave_2_per_point14=r = .5 + .5*sin(.5*(time - cv)); +wave_2_per_point15=g = .5 + .5*sin(.5*(time - cv + 2.094)); +wave_2_per_point16=b = .5 + .5*sin(.5*(time - cv + 4.188)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=1.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662300 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=//r = .5 + .5*sin(time*1.123); +shape_0_per_frame3=//g = .5 + .5*sin(time*1.456); +shape_0_per_frame4=//b = .5 + .5*sin(time*1.789); +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=//r = .5 - .5*sin(q2); +shape_0_per_frame8=//g = .5 - .5*sin(q2 + 2.0944); +shape_0_per_frame9=//b = .5 - .5*sin(q2 + 4.1888); +shapecode_1_enabled=0 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.400000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.200000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom = 1/rad; +shapecode_2_enabled=0 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=1.000000 +shapecode_2_y=1.000000 +shapecode_2_rad=0.986086 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=1.000000 +shapecode_3_y=0.000000 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=treb_avg = tic*(treb_avg*(1/tic - 10) + 10*treb); +per_frame_9=mid_avg = tic*(mid_avg*(1/tic - 10) + 10*mid); +per_frame_10=bass_avg = tic*(bass_avg*(1/tic - 10) + 10*bass); +per_frame_11=vav = tic*(vav*(1/tic - 10) + 10*(bass+treb+mid)*.33333); +per_frame_12= +per_frame_13=tt = tt + tic*treb; +per_frame_14=mt = mt + tic*mid; +per_frame_15=bt = bt + tic*bass; +per_frame_16=vt = vt + tic*vav; +per_frame_17= +per_frame_18=sp = abs(vav - slide)*.1; +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.1; +per_frame_20=toc = 1; +per_frame_21= +per_frame_22=q1 = rand(2); // shapecode +per_frame_23=q2 = time; // colourcycle +per_frame_24=q3 = 3 + rand(3) + rand(3); // branching +per_frame_25= +per_frame_26=q4 = vt; +per_frame_27= +per_frame_28=sw = 1-sw; +per_frame_29= +per_frame_30=q7 = sw; +per_frame_31= +per_frame_32= +per_pixel_1=a = .5; +per_pixel_2=b = .5; +per_pixel_3=dis = pow((x-a)*(x-a) + .5625*(y-b)*(y-b),.5); +per_pixel_4=sw = below(dis,(.2+(treb*0.03))); +per_pixel_5= +per_pixel_6=mod = -.18 + .18*pow(1-dis*4,.8); +per_pixel_7=dx = if(sw,mod*(x-.5),0); +per_pixel_8=dy = if(sw,mod*(y-.5),0); +per_pixel_9= +per_pixel_10= +per_pixel_11=mod = .005 - .01*sin(rad*6.2832*2); +per_pixel_12=dx = if(sw,dx + sin(ang)*mod,0); +per_pixel_13=dy = if(sw,dy + cos(ang)*mod,0); +per_pixel_14= +per_pixel_15=sx = if(sw,sx,1); +per_pixel_16=sy = if(sw,sy,1); +per_pixel_17= +per_pixel_18= +per_pixel_19=a = above(x,.5); +per_pixel_20=b = above(y,.5); +per_pixel_21=dis = pow((x-a)*(x-a) + .5625*(y-b)*(y-b),.5); +per_pixel_22= +per_pixel_23=lim = below(dis,.25); +per_pixel_24= +per_pixel_25=dx = if(lim,.5*(1-2*below(x,.5)),dx); +per_pixel_26=dy = if(lim,.5*(1-2*below(y,.5)),dy); +per_pixel_27= +per_pixel_28= +per_pixel_29=mod = -1; +per_pixel_30= +per_pixel_31=a = sin(q4*.02347)*4; +per_pixel_32=b = cos(q4*.03348)*4; +per_pixel_33=//a = 1; +per_pixel_34=//b = -2; +per_pixel_35=dx = if(lim + sw,dx,mod*(x-a)); +per_pixel_36=dy = if(lim + sw,dy,mod*(y-b)); +per_pixel_37= +per_pixel_38=//rot = if(lim + sw,rot,1.5708); diff --git a/presets_milkdrop_104/shifter - deep sea hydra spectrum.milk b/presets/presets_milkdrop_104/shifter - deep sea hydra spectrum.milk similarity index 100% rename from presets_milkdrop_104/shifter - deep sea hydra spectrum.milk rename to presets/presets_milkdrop_104/shifter - deep sea hydra spectrum.milk diff --git a/presets_milkdrop_104/shifter - digi.milk b/presets/presets_milkdrop_104/shifter - digi.milk similarity index 100% rename from presets_milkdrop_104/shifter - digi.milk rename to presets/presets_milkdrop_104/shifter - digi.milk diff --git a/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..8dad83227f --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat 5362.milk b/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat 5362.milk new file mode 100644 index 0000000000..123b784df4 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - escape the worm - EoS + Phat 5362.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006543 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.125000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.336672 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3=q3*q3*0.5 + 0.1; +per_frame_40= +per_frame_41=q4 = mt; +per_frame_42=q5 = bt; +per_frame_43= +per_frame_44=cx = q1; +per_frame_45=cy = q2; +per_frame_46= +per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_52= +per_frame_53=q6 = rmod; +per_frame_54= +per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_56= +per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_58= +per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.5;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_26= diff --git a/presets/presets_milkdrop_104/shifter - feathers (angel wings).milk b/presets/presets_milkdrop_104/shifter - feathers (angel wings).milk new file mode 100644 index 0000000000..746ef25f65 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - feathers (angel wings).milk @@ -0,0 +1,340 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.950000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 + 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=r = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 + 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1+sin(sp); +wave_2_per_point40=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_pixel_1=it = 0.3*sin(time*0.2); +per_pixel_2=radm = rad*0.5; +per_pixel_3=rot = 0.02*sin((radm+it)*20); +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod*mod*mod*mod; +per_pixel_6=zoom = 1 + abs(0.01*mod); diff --git a/presets_milkdrop_104/shifter - fractal grinder (opalescent).milk b/presets/presets_milkdrop_104/shifter - fractal grinder (opalescent).milk similarity index 100% rename from presets_milkdrop_104/shifter - fractal grinder (opalescent).milk rename to presets/presets_milkdrop_104/shifter - fractal grinder (opalescent).milk diff --git a/presets_milkdrop_104/shifter - fractal grinder.milk b/presets/presets_milkdrop_104/shifter - fractal grinder.milk similarity index 100% rename from presets_milkdrop_104/shifter - fractal grinder.milk rename to presets/presets_milkdrop_104/shifter - fractal grinder.milk diff --git a/presets_milkdrop_104/shifter - fuzzball.milk b/presets/presets_milkdrop_104/shifter - fuzzball.milk similarity index 100% rename from presets_milkdrop_104/shifter - fuzzball.milk rename to presets/presets_milkdrop_104/shifter - fuzzball.milk diff --git a/presets_milkdrop_104/shifter - glassworms flare.milk b/presets/presets_milkdrop_104/shifter - glassworms flare.milk similarity index 100% rename from presets_milkdrop_104/shifter - glassworms flare.milk rename to presets/presets_milkdrop_104/shifter - glassworms flare.milk diff --git a/presets/presets_milkdrop_104/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk b/presets/presets_milkdrop_104/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk new file mode 100644 index 0000000000..6b59b8fa97 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - lattice (eclipse) Phat + EoS more color mix_v2.milk @@ -0,0 +1,483 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000155 +fShader=0.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = q1; +wave_0_per_point3= +wave_0_per_point4=ox = .25*sin(ti*.327 + sp*6.2832*3.12) + .5*sin(ti*.878 + sp*6.2832*8.68) + .25*sin(ti*.787 + sp*6.2832*7.85); +wave_0_per_point5=oy = .45*sin(ti*.877 + sp*6.2832*2.37) + .25*sin(ti*.482 + sp*6.2832*2.38) + .3*sin(ti*.129 + sp*6.2832*3.21); +wave_0_per_point6=oz = .35*sin(ti*.453 + sp*6.2832*8.97) + .15*sin(ti*.365 + sp*6.2832*5.13) + .5*sin(ti*.385 + sp*6.2832*5.46); +wave_0_per_point7= +wave_0_per_point8=ox = ox*6*q5; +wave_0_per_point9=oy = oy*6*q5; +wave_0_per_point10=oz = oz*6*q5; +wave_0_per_point11= +wave_0_per_point12=xang = q2; +wave_0_per_point13=yang = q3; +wave_0_per_point14=zang = q4; +wave_0_per_point15= +wave_0_per_point16=fov = .5; +wave_0_per_point17= +wave_0_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point20=ox = mx; +wave_0_per_point21=oz = mz; +wave_0_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point24=ox = mx; +wave_0_per_point25=oy = my; +wave_0_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point28=oy = my; +wave_0_per_point29=oz = mz; +wave_0_per_point30= +wave_0_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point32=x = ox*fov/oz + 0.5; +wave_0_per_point33=x = (x-.5)*0.75 + 0.5; +wave_0_per_point34=y = oy*fov/oz + 0.5; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*10; +wave_1_per_point2=ti = q1; +wave_1_per_point3= +wave_1_per_point4=ox = .25*sin(ti*.654 + sp*6.2832*3.12) + .5*sin(ti*.378 + sp*6.2832*8.68) + .25*sin(ti*.537 + sp*6.2832*7.85); +wave_1_per_point5=oy = .45*sin(ti*.465 + sp*6.2832*2.37) + .25*sin(ti*.123 + sp*6.2832*2.38) + .3*sin(ti*.756 + sp*6.2832*3.21); +wave_1_per_point6=oz = .35*sin(ti*.758 + sp*6.2832*8.97) + .15*sin(ti*.187 + sp*6.2832*5.13) + .5*sin(ti*.548 + sp*6.2832*5.46); +wave_1_per_point7= +wave_1_per_point8=ox = ox*6*q5; +wave_1_per_point9=oy = oy*6*q5; +wave_1_per_point10=oz = oz*6*q5; +wave_1_per_point11= +wave_1_per_point12=xang = q2; +wave_1_per_point13=yang = q3; +wave_1_per_point14=zang = q4; +wave_1_per_point15= +wave_1_per_point16=fov = .5; +wave_1_per_point17= +wave_1_per_point18=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point19=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point20=ox = mx; +wave_1_per_point21=oz = mz; +wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point24=ox = mx; +wave_1_per_point25=oy = my; +wave_1_per_point26=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point27=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point28=oy = my; +wave_1_per_point29=oz = mz; +wave_1_per_point30= +wave_1_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_1_per_point32=x = ox*fov/oz + 0.5; +wave_1_per_point33=x = (x-.5)*0.75 + 0.5; +wave_1_per_point34=y = oy*fov/oz + 0.5; +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=r=tan(x*6.28+3+q2); +wave_1_per_point39=r=min ( max(r*treb+0.5,0),1); +wave_1_per_point40=g=tan(y*6.28++32.1+q3); +wave_1_per_point41=g=min ( max(g*mid+0.5,0),1); +wave_1_per_point42=b=tan((x+y)*3.14+3+4.2+q4); +wave_1_per_point43=b=min ( max(b*bass+0.5,0),1); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_2_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_2_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_2_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_2_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_2_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_2_per_frame7= +wave_2_per_frame8=t1 = ra*6.2832; +wave_2_per_frame9=t2 = rb*6.2832; +wave_2_per_frame10=t3 = rc*6.2832; +wave_2_per_frame11=t4 = rd*6.2832; +wave_2_per_frame12=t5 = re*6.2832; +wave_2_per_frame13=t6 = rf*6.2832; +wave_2_per_frame14= +wave_2_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_2_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_2_per_frame17= +wave_2_per_frame18=t7 = rg; +wave_2_per_frame19=t8 = rh; +wave_2_per_frame20= +wave_2_per_frame21= +wave_2_per_frame22=tic = min(time-tir,.1); +wave_2_per_frame23=tir = time; +wave_2_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_2_per_frame25= +wave_2_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_2_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_2_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_2_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=vol = (value1+value2)*.5; +wave_2_per_point7=vol = 0; +wave_2_per_point8=it = it*above(sample,0); +wave_2_per_point9=it = it + 1; +wave_2_per_point10= +wave_2_per_point11=sp = sample*10; +wave_2_per_point12=ti = q1; +wave_2_per_point13= +wave_2_per_point14=ox = .5*sin(ti*t7 + sp*t1) + .5*sin(ti*rb + sp*t4); +wave_2_per_point15=oy = .5*sin(ti*t8 + sp*t2) + .5*sin(ti*rc + sp*t5); +wave_2_per_point16=oz = .5*sin(ti*ra + sp*t3) + .5*sin(ti*rd + sp*t6); +wave_2_per_point17= +wave_2_per_point18=ox = ox*q5; +wave_2_per_point19=oy = oy*q5; +wave_2_per_point20=oz = oz*q5; +wave_2_per_point21= +wave_2_per_point22= +wave_2_per_point23=xang = q2; +wave_2_per_point24=yang = q3; +wave_2_per_point25=zang = q4; +wave_2_per_point26= +wave_2_per_point27=fov = .5; +wave_2_per_point28= +wave_2_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point31=ox = mx; +wave_2_per_point32=oz = mz; +wave_2_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point35=ox = mx; +wave_2_per_point36=oy = my; +wave_2_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point39=oy = my; +wave_2_per_point40=oz = mz; +wave_2_per_point41= +wave_2_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_2_per_point43=x = ox*fov/oz + 0.5; +wave_2_per_point44=x = (x-.5)*0.75 + 0.5; +wave_2_per_point45=y = oy*fov/oz + 0.5; +wave_2_per_point46= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_3_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_3_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_3_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_3_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_3_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_3_per_frame7= +wave_3_per_frame8=t1 = ra*6.2832; +wave_3_per_frame9=t2 = rb*6.2832; +wave_3_per_frame10=t3 = rc*6.2832; +wave_3_per_frame11=t4 = rd*6.2832; +wave_3_per_frame12=t5 = re*6.2832; +wave_3_per_frame13=t6 = rf*6.2832; +wave_3_per_frame14= +wave_3_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_3_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_3_per_frame17= +wave_3_per_frame18=t7 = rg; +wave_3_per_frame19=t8 = rh; +wave_3_per_frame20= +wave_3_per_frame21= +wave_3_per_frame22=tic = min(time-tir,.1); +wave_3_per_frame23=tir = time; +wave_3_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_3_per_frame25= +wave_3_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); +wave_3_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); +wave_3_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); +wave_3_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); +wave_3_per_point5= +wave_3_per_point6=vol = (value1+value2)*.5; +wave_3_per_point7=vol = 0; +wave_3_per_point8=it = it*above(sample,0); +wave_3_per_point9=it = it + 1; +wave_3_per_point10= +wave_3_per_point11=sp = sample*10; +wave_3_per_point12=ti = q1; +wave_3_per_point13= +wave_3_per_point14=ox = .5*sin(ti*t7 + sp*t1+q2) + .5*sin(ti*rb + sp*t4); +wave_3_per_point15=oy = .5*sin(ti*t8 + sp*t2+q3) + .5*sin(ti*rc + sp*t5); +wave_3_per_point16=oz = .5*sin(ti*ra + sp*t3+q4) + .5*sin(ti*rd + sp*t6); +wave_3_per_point17= +wave_3_per_point18=ox = ox*q5; +wave_3_per_point19=oy = oy*q5; +wave_3_per_point20=oz = oz*q5; +wave_3_per_point21= +wave_3_per_point22= +wave_3_per_point23=xang = q2; +wave_3_per_point24=yang = q3; +wave_3_per_point25=zang = q4; +wave_3_per_point26= +wave_3_per_point27=fov = .5; +wave_3_per_point28= +wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point31=ox = mx; +wave_3_per_point32=oz = mz; +wave_3_per_point33=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point34=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point35=ox = mx; +wave_3_per_point36=oy = my; +wave_3_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point39=oy = my; +wave_3_per_point40=oz = mz; +wave_3_per_point41= +wave_3_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_3_per_point43=x = ox*fov/oz + 0.5; +wave_3_per_point44=x = (x-.5)*0.75 + 0.5; +wave_3_per_point45=y = oy*fov/oz + 0.5; +wave_3_per_point46= +wave_3_per_point47= +wave_3_per_point48=r=tan(x*6.28+q2); +wave_3_per_point49=r=min ( max(r*treb,0),1); +wave_3_per_point50=g=tan(y*6.28+2.1+q3); +wave_3_per_point51=g=min ( max(g*mid,0),1); +wave_3_per_point52=b=tan((x+y)*3.14+4.2+q4); +wave_3_per_point53=b=min ( max(b*bass,0),1); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.008520 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.508316 +shapecode_0_r=0.900000 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=ti = time*.1; +shape_0_per_frame2=r = .95 + .05*sin(ti*1.821); +shape_0_per_frame3=g = .95 + .05*sin(ti*1.838); +shape_0_per_frame4=b = .95 + .05*sin(ti*1.868); +shape_0_per_frame5= +shape_0_per_frame6=r2=r; +shape_0_per_frame7=g2=g; +shape_0_per_frame8=b2=b; +shapecode_1_enabled=1 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662308 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.503750 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.800000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=a=bass_att; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.518531 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.100000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=a=treb_att; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.089253 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.200000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.200000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.200000 +shape_3_per_frame1=ang=bass; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=tt = tt + tic*treb_avg; +per_frame_13=mt = mt + tic*mid_avg; +per_frame_14=bt = bt + tic*bass_avg; +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=sp = abs(vav - slide)*.1; +per_frame_18= +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); +per_frame_20= +per_frame_21=q1 = vt*.0 + 300; +per_frame_22=q2 = tt*.25; +per_frame_23=q3 = mt*.25; +per_frame_24=q4 = bt*.25; +per_frame_25=q5 = slide*.6*6; +per_frame_26=decay=0.95; +per_frame_27= +per_frame_28=monitor=q3 diff --git a/presets/presets_milkdrop_104/shifter - lazerspecs_phat_edit.milk b/presets/presets_milkdrop_104/shifter - lazerspecs_phat_edit.milk new file mode 100644 index 0000000000..2ca7cf5be7 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - lazerspecs_phat_edit.milk @@ -0,0 +1,365 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.960001 +fDecay=0.910000 +fVideoEchoZoom=1.347319 +fVideoEchoAlpha=0.800000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=54 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=mod =bass/5; +wave_0_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_0_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_1_enabled=1 +wavecode_1_samples=54 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=mod = .2; +wave_1_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_1_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_2_enabled=1 +wavecode_2_samples=54 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=mod = .20333; +wave_2_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_2_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_3_enabled=1 +wavecode_3_samples=54 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=mod = .20667; +wave_3_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_3_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.998627 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.670315 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=a = q1; +shape_0_per_frame2=a2 = a; +shape_0_per_frame3= +shape_0_per_frame4=ra = rand(1001)*.001; +shape_0_per_frame5=ti = q4; +shape_0_per_frame6=ra = ti - int(ti); +shape_0_per_frame7= +shape_0_per_frame8=tex_zoom = .67 + ra*q2*4; +shape_0_per_frame9= +shape_0_per_frame10=h = if(above(ra,.15),ra-.15,ra+.85); +shape_0_per_frame11=s = 1; +shape_0_per_frame12=l = q5; +shape_0_per_frame13= +shape_0_per_frame14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_0_per_frame15=tmpa = 2*l - tmpb; +shape_0_per_frame16=hvr = h + .333333; +shape_0_per_frame17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_0_per_frame18=hvg = h; +shape_0_per_frame19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_0_per_frame20=hvb = h - .333333; +shape_0_per_frame21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_0_per_frame22= +shape_0_per_frame23=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_0_per_frame24=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_0_per_frame25=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_0_per_frame26= +shape_0_per_frame27=r2 = r; +shape_0_per_frame28=g2 = g; +shape_0_per_frame29=b2 = b; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998627 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.670315 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=g = .7; +shape_1_per_frame2=g2 = g; +shape_1_per_frame3= +shape_1_per_frame4=a = q1; +shape_1_per_frame5=a2 = a; +shape_1_per_frame6= +shape_1_per_frame7=ra = rand(1001)*.001; +shape_1_per_frame8=ti = q4 + .25; +shape_1_per_frame9=ra = ti - int(ti); +shape_1_per_frame10= +shape_1_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_1_per_frame12= +shape_1_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_1_per_frame14=s = 1; +shape_1_per_frame15=l = q5; +shape_1_per_frame16= +shape_1_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_1_per_frame18=tmpa = 2*l - tmpb; +shape_1_per_frame19=hvr = h + .333333; +shape_1_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_1_per_frame21=hvg = h; +shape_1_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_1_per_frame23=hvb = h - .333333; +shape_1_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_1_per_frame25= +shape_1_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_1_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_1_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_1_per_frame29= +shape_1_per_frame30=r2 = r; +shape_1_per_frame31=g2 = g; +shape_1_per_frame32=b2 = b; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.998627 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.670315 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=g = .7; +shape_2_per_frame2=g2 = g; +shape_2_per_frame3= +shape_2_per_frame4=a = q1; +shape_2_per_frame5=a2 = a; +shape_2_per_frame6= +shape_2_per_frame7=ra = rand(1001)*.001; +shape_2_per_frame8=ti = q4 + .5; +shape_2_per_frame9=ra = ti - int(ti); +shape_2_per_frame10= +shape_2_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_2_per_frame12= +shape_2_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_2_per_frame14=s = 1; +shape_2_per_frame15=l = q5; +shape_2_per_frame16= +shape_2_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_2_per_frame18=tmpa = 2*l - tmpb; +shape_2_per_frame19=hvr = h + .333333; +shape_2_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_2_per_frame21=hvg = h; +shape_2_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_2_per_frame23=hvb = h - .333333; +shape_2_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_2_per_frame25= +shape_2_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_2_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_2_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_2_per_frame29= +shape_2_per_frame30=r2 = r; +shape_2_per_frame31=g2 = g; +shape_2_per_frame32=b2 = b; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.998627 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.670315 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=g = .7; +shape_3_per_frame2=g2 = g; +shape_3_per_frame3= +shape_3_per_frame4=a = q1; +shape_3_per_frame5=a2 = a; +shape_3_per_frame6= +shape_3_per_frame7=ra = rand(1001)*.001; +shape_3_per_frame8=ti = q4 + .75; +shape_3_per_frame9=ra = ti - int(ti); +shape_3_per_frame10= +shape_3_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_3_per_frame12= +shape_3_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_3_per_frame14=s = 1; +shape_3_per_frame15=l = q5; +shape_3_per_frame16= +shape_3_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_3_per_frame18=tmpa = 2*l - tmpb; +shape_3_per_frame19=hvr = h + .333333; +shape_3_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_3_per_frame21=hvg = h; +shape_3_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_3_per_frame23=hvb = h - .333333; +shape_3_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_3_per_frame25= +shape_3_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_3_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_3_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_3_per_frame29= +shape_3_per_frame30=r2 = r; +shape_3_per_frame31=g2 = g; +shape_3_per_frame32=b2 = b; +per_frame_1=warp = 0; +per_frame_2=arot = 1.5708; +per_frame_3= +per_frame_4=q1 = .2; +per_frame_5= +per_frame_6=decay = 1; +per_frame_7= +per_frame_8=q2 = .020; +per_frame_9= +per_frame_10=tic = min(time-tin,.1); +per_frame_11=tin = time; +per_frame_12= +per_frame_13=ra = 12; +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=q3 = vt; +per_frame_18= +per_frame_19=q4 = time*24.3; +per_frame_20=q5 = .6; +per_pixel_1=sx=-1; diff --git a/presets/presets_milkdrop_104/shifter - mandala.milk b/presets/presets_milkdrop_104/shifter - mandala.milk new file mode 100644 index 0000000000..9cec5b7141 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - mandala.milk @@ -0,0 +1,758 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .5; +wave_0_per_frame18=len = q4; +wave_0_per_frame19=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15= +wave_0_per_point16=ar = if(above(sample,0),ar,1); +wave_0_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point18=br = if(above(sample,0),br,1); +wave_0_per_point19=br = if(equal(lev,1),br*-1,br); +wave_0_per_point20=cr = if(above(sample,0),cr,1); +wave_0_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point22=dr = if(above(sample,0),dr,1); +wave_0_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point24=er = if(above(sample,0),er,1); +wave_0_per_point25=er = if(equal(lev,4),er*-1,er); +wave_0_per_point26=fr = if(above(sample,0),fr,1); +wave_0_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point28=gr = if(above(sample,0),gr,1); +wave_0_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point30= +wave_0_per_point31=mlev = lev*above(sample,0); +wave_0_per_point32= +wave_0_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point34= +wave_0_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point39=he = if(swi,1-2*rand(2),he); +wave_0_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point42= +wave_0_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_0_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_0_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_0_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_0_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_0_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_0_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_0_per_point50= +wave_0_per_point51=aang = 1.57; +wave_0_per_point52=bang = 1.57; +wave_0_per_point53=cang = 1.57; +wave_0_per_point54=dang = 1.57; +wave_0_per_point55=eang = 1.57; +wave_0_per_point56=fang = 1.57; +wave_0_per_point57=gang = 1.57; +wave_0_per_point58= +wave_0_per_point59=oz = 0; +wave_0_per_point60= +wave_0_per_point61=len = len*mad; +wave_0_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_0_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_0_per_point64= +wave_0_per_point65=an = (ar*aang + br*bang)*br; +wave_0_per_point66=len = len*mad; +wave_0_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_0_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_0_per_point69= +wave_0_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_0_per_point71=len = len*mad; +wave_0_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_0_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_0_per_point74= +wave_0_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_0_per_point76=len = len*mad; +wave_0_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_0_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_0_per_point79= +wave_0_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_0_per_point81=len = len*mad; +wave_0_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_0_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_0_per_point84= +wave_0_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_0_per_point86=len = len*mad; +wave_0_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_0_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_0_per_point89= +wave_0_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_0_per_point91=len = len*mad; +wave_0_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_0_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_0_per_point94= +wave_0_per_point95= +wave_0_per_point96=xang = time*1.132; +wave_0_per_point97=xang = q5; +wave_0_per_point98=yang = time*1.153; +wave_0_per_point99=yang = q6; +wave_0_per_point100=zang = time*1.110; +wave_0_per_point101=zang = q7; +wave_0_per_point102=fov = .5; +wave_0_per_point103= +wave_0_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point106=ox = mx; +wave_0_per_point107=oy = my; +wave_0_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point110=ox = mx; +wave_0_per_point111=oz = mz; +wave_0_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point114=oy = my; +wave_0_per_point115=oz = mz; +wave_0_per_point116= +wave_0_per_point117=oz = oz - 2; +wave_0_per_point118=x = ox*fov/oz + 0.5; +wave_0_per_point119=x = (x-.5)*0.75 + 0.5; +wave_0_per_point120=y = oy*fov/oz + 0.5; +wave_0_per_point121= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point39=he = if(swi,1-2*rand(2),he); +wave_1_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15= +wave_2_per_point16=ar = if(above(sample,0),ar,1); +wave_2_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point18=br = if(above(sample,0),br,1); +wave_2_per_point19=br = if(equal(lev,1),br*-1,br); +wave_2_per_point20=cr = if(above(sample,0),cr,1); +wave_2_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point22=dr = if(above(sample,0),dr,1); +wave_2_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point24=er = if(above(sample,0),er,1); +wave_2_per_point25=er = if(equal(lev,4),er*-1,er); +wave_2_per_point26=fr = if(above(sample,0),fr,1); +wave_2_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point28=gr = if(above(sample,0),gr,1); +wave_2_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point30= +wave_2_per_point31=mlev = lev*above(sample,0); +wave_2_per_point32= +wave_2_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point34= +wave_2_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point39=he = if(swi,1-2*rand(2),he); +wave_2_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point42= +wave_2_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_2_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_2_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_2_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_2_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_2_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_2_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_2_per_point50= +wave_2_per_point51=aang = 1.57; +wave_2_per_point52=bang = 1.57; +wave_2_per_point53=cang = 1.57; +wave_2_per_point54=dang = 1.57; +wave_2_per_point55=eang = 1.57; +wave_2_per_point56=fang = 1.57; +wave_2_per_point57=gang = 1.57; +wave_2_per_point58= +wave_2_per_point59=oz = 0; +wave_2_per_point60= +wave_2_per_point61=len = len*mad; +wave_2_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_2_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_2_per_point64= +wave_2_per_point65=an = (ar*aang + br*bang)*br; +wave_2_per_point66=len = len*mad; +wave_2_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_2_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_2_per_point69= +wave_2_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_2_per_point71=len = len*mad; +wave_2_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_2_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_2_per_point74= +wave_2_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_2_per_point76=len = len*mad; +wave_2_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_2_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_2_per_point79= +wave_2_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_2_per_point81=len = len*mad; +wave_2_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_2_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_2_per_point84= +wave_2_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_2_per_point86=len = len*mad; +wave_2_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_2_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_2_per_point89= +wave_2_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_2_per_point91=len = len*mad; +wave_2_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_2_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_2_per_point94= +wave_2_per_point95= +wave_2_per_point96=xang = time*1.132; +wave_2_per_point97=xang = q5; +wave_2_per_point98=yang = time*1.153; +wave_2_per_point99=yang = q6; +wave_2_per_point100=zang = time*1.110; +wave_2_per_point101=zang = q7; +wave_2_per_point102=fov = .5; +wave_2_per_point103= +wave_2_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point106=ox = mx; +wave_2_per_point107=oy = my; +wave_2_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point110=ox = mx; +wave_2_per_point111=oz = mz; +wave_2_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point114=oy = my; +wave_2_per_point115=oz = mz; +wave_2_per_point116= +wave_2_per_point117= +wave_2_per_point118=oz = oz - 2; +wave_2_per_point119=x = ox*fov/oz + 0.5; +wave_2_per_point120=x = (x-.5)*0.75 + 0.5; +wave_2_per_point121=y = oy*fov/oz + 0.5; +wave_2_per_point122= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.854834 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.539067 +shapecode_0_r=1.000000 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = .4998; +shape_0_per_frame2=y = .5002; +shape_0_per_frame3= +shape_0_per_frame4=ti = time*.3; +shape_0_per_frame5=r = .925 + .05*sin(ti*1.721); +shape_0_per_frame6=g = .925 + .05*sin(ti*1.838); +shape_0_per_frame7=b = .925 + .05*sin(ti*1.968); +shape_0_per_frame8= +shape_0_per_frame9=r2 = 1.875 - r; +shape_0_per_frame10=g2 = 1.875 - g; +shape_0_per_frame11=b2 = 1.875 - b; +shape_0_per_frame12= +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.600000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=zoom=1.; +per_frame_3=decay=.5; +per_frame_4= +per_frame_5=tic = min(time-tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_13= +per_frame_14=tt = tt + tic*treb_avg; +per_frame_15=mt = mt + tic*mid_avg; +per_frame_16=bt = bt + tic*bass_avg; +per_frame_17=vt = vt + tic*vav; +per_frame_18= +per_frame_19=ob_size = min((pow(bass_avg+1,6)-1)*.0001,.7); +per_frame_20= +per_frame_21=sp = abs(vav - slide)*.1; +per_frame_22= +per_frame_23=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_24=toc = 1; +per_frame_25= +per_frame_26= +per_frame_27=q1 = treb_avg; +per_frame_28=q2 = mid_avg; +per_frame_29=q3 = bass_avg; +per_frame_30= +per_frame_31=q4 = min(slide*1.2,1.5); +per_frame_32= +per_frame_33=q5 = tt*.4; +per_frame_34=q6 = mt*.4; +per_frame_35=q7 = bt*.4; diff --git a/presets_milkdrop_104/shifter - morphid.milk b/presets/presets_milkdrop_104/shifter - morphid.milk similarity index 100% rename from presets_milkdrop_104/shifter - morphid.milk rename to presets/presets_milkdrop_104/shifter - morphid.milk diff --git a/presets/presets_milkdrop_104/shifter - neon pulse (reactive).milk b/presets/presets_milkdrop_104/shifter - neon pulse (reactive).milk new file mode 100644 index 0000000000..d2a2a48d7d --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - neon pulse (reactive).milk @@ -0,0 +1,319 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.400000 +fDecay=0.975000 +fVideoEchoZoom=1.050590 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.852347 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=0.030000 +wave_0_per_point1=r = .6 + .4*sin(time); +wave_0_per_point2=g = .4 + .4*sin(time + 2.094); +wave_0_per_point3=b = .4 + .4*sin(time + 4.188); +wave_0_per_point4= +wave_0_per_point5=sw = 1-sw; +wave_0_per_point6= +wave_0_per_point7=mx = equal(int(q2)%2,0); +wave_0_per_point8=mx = abs(mx - (q2 - int(q2))); +wave_0_per_point9=my = .5 + (.5 - mx); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x = mx + value1*(1-2*sw); +wave_0_per_point13=y = my + value2*(1-2*sw); +wave_0_per_point14= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=0.030000 +wave_1_per_point1=g = .6 + .4*sin(time); +wave_1_per_point2=b = .4 + .4*sin(time + 2.094); +wave_1_per_point3=r = .4 + .4*sin(time + 4.188); +wave_1_per_point4= +wave_1_per_point5=sw = 1-sw; +wave_1_per_point6= +wave_1_per_point7=mx = equal(int(q3)%2,0); +wave_1_per_point8=mx = abs(mx - (q3 - int(q3))); +wave_1_per_point9=my = .5 + (.5 - mx); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=x = mx + value1*(1-2*sw); +wave_1_per_point13=y = my + value2*(1-2*sw); +wave_1_per_point14= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=0.030000 +wave_2_per_point1=b = .6 + .4*sin(time); +wave_2_per_point2=r = .4 + .4*sin(time + 2.094); +wave_2_per_point3=g = .4 + .4*sin(time + 4.188); +wave_2_per_point4= +wave_2_per_point5=sw = 1-sw; +wave_2_per_point6= +wave_2_per_point7=mx = equal(int(q4)%2,0); +wave_2_per_point8=mx = abs(mx - (q4 - int(q4))); +wave_2_per_point9=my = .5 + (.5 - mx); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=x = mx + value1*(1-2*sw); +wave_2_per_point13=y = my + value2*(1-2*sw); +wave_2_per_point14= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.000000 +shapecode_0_rad=1.329095 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570797 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; diff --git a/presets_milkdrop_104/shifter - pipes (metallic).milk b/presets/presets_milkdrop_104/shifter - pipes (metallic).milk similarity index 100% rename from presets_milkdrop_104/shifter - pipes (metallic).milk rename to presets/presets_milkdrop_104/shifter - pipes (metallic).milk diff --git a/presets/presets_milkdrop_104/shifter - ralter oilslick b.milk b/presets/presets_milkdrop_104/shifter - ralter oilslick b.milk new file mode 100644 index 0000000000..13f76967ee --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - ralter oilslick b.milk @@ -0,0 +1,394 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000495 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.499900 +dx=0.000000 +dy=0.000000 +warp=0.011046 +sx=0.999999 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=202 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=it = (it + 1)*above(sample,0); +wave_0_per_point2=ita = (ita + 1)*above(sample,0)*below(ita,6); +wave_0_per_point3=sp = sample*6.2832*4 - time; +wave_0_per_point4= +wave_0_per_point5=sz = .02 + (value1 + value2)*.1; +wave_0_per_point6= +wave_0_per_point7=mxd = .5 + sz*sin(sp)*.75; +wave_0_per_point8=myd = sz*cos(sp); +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=c = if(ita,c,mxd); +wave_0_per_point12=d = if(ita,d,myd); +wave_0_per_point13= +wave_0_per_point14=rad = pow((c-.5)*(c-.5) + d*d,.5); +wave_0_per_point15= +wave_0_per_point16=sz = .005 + rad*.05; +wave_0_per_point17=a = above(ita,0)*below(ita,6);//*below(it,343); +wave_0_per_point18= +wave_0_per_point19=mx = (1-above(ita,1)*below(ita,5))*-sz + equal(ita,3)*sz; +wave_0_per_point20=my = equal(ita,2)*sz + equal(ita,4)*-sz; +wave_0_per_point21= +wave_0_per_point22=ang = if(ita,ang,0.7854 - sp); +wave_0_per_point23= +wave_0_per_point24=x = (mx*cos(ang) - my*sin(ang))*.75 + c; +wave_0_per_point25=y = (mx*sin(ang) + my*cos(ang)) + d; +wave_0_per_point26= +wave_0_per_point27=y = abs(y); +wave_0_per_point28= +wave_0_per_point29=rad = pow((x-.5)*(x-.5) + y*y,.5); +wave_0_per_point30=rad = 1-pow(1-rad,3); +wave_0_per_point31= +wave_0_per_point32=val = if(equal(ita,0),value1 + value2,val); +wave_0_per_point33=a = a*rad; +wave_0_per_point34= +wave_0_per_point35= +wave_0_per_point36=rad = rad*6.2832 - time*.1 - sp; +wave_0_per_point37= +wave_0_per_point38=r = .5 + .5*sin(rad); +wave_0_per_point39=g = .5 + .5*sin(rad + 2.0944); +wave_0_per_point40=b = .5 + .5*sin(rad + 4.1888); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=0.050000 +wave_1_init1=t1 = .2 + .6*rand(1001)*.001; +wave_1_init2=t2 = .2 + .6*rand(1001)*.001; +wave_1_init3=t3 = .2 + .6*rand(1001)*.001; +wave_1_init4=t4 = .2 + .6*rand(1001)*.001; +wave_1_init5=t5 = .2 + .6*rand(1001)*.001; +wave_1_init6=t6 = .2 + .6*rand(1001)*.001; +wave_1_init7=t7 = .2 + .6*rand(1001)*.001; +wave_1_init8=t8 = .2 + .6*rand(1001)*.001; +wave_1_per_point1=ti = q2; +wave_1_per_point2= +wave_1_per_point3=xa = .25 + .25*sin(ti*t1); +wave_1_per_point4=xb = .25 + .25*sin(ti*t2); +wave_1_per_point5=xc = .25 + .25*sin(ti*t3); +wave_1_per_point6=xd = .25 + .25*sin(ti*t4); +wave_1_per_point7= +wave_1_per_point8=ya = .25 + .25*sin(ti*t5); +wave_1_per_point9=yb = .25 + .25*sin(ti*t6); +wave_1_per_point10=yc = .25 + .25*sin(ti*t7); +wave_1_per_point11=yd = .25 + .25*sin(ti*t8); +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=it = (it + 1)*above(sample,0); +wave_1_per_point15=sw = (1-sw)*above(sample,0); +wave_1_per_point16= +wave_1_per_point17=sa = 1-sample; +wave_1_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_1_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_1_per_point20= +wave_1_per_point21=y = .5 - y*(.5-x)*2; +wave_1_per_point22= +wave_1_per_point23=ti = q4 + 2.0944; +wave_1_per_point24=r = .5 + .5*sin(ti); +wave_1_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_1_per_point26=b = .5 + .5*sin(ti + 4.1888); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=0.050000 +wave_2_init1=t1 = .2 + .6*rand(1001)*.001; +wave_2_init2=t2 = .2 + .6*rand(1001)*.001; +wave_2_init3=t3 = .2 + .6*rand(1001)*.001; +wave_2_init4=t4 = .2 + .6*rand(1001)*.001; +wave_2_init5=t5 = .2 + .6*rand(1001)*.001; +wave_2_init6=t6 = .2 + .6*rand(1001)*.001; +wave_2_init7=t7 = .2 + .6*rand(1001)*.001; +wave_2_init8=t8 = .2 + .6*rand(1001)*.001; +wave_2_per_point1=ti = q3; +wave_2_per_point2= +wave_2_per_point3=xa = .25 + .25*sin(ti*t1); +wave_2_per_point4=xb = .25 + .25*sin(ti*t2); +wave_2_per_point5=xc = .25 + .25*sin(ti*t3); +wave_2_per_point6=xd = .25 + .25*sin(ti*t4); +wave_2_per_point7= +wave_2_per_point8=ya = .25 + .25*sin(ti*t5); +wave_2_per_point9=yb = .25 + .25*sin(ti*t6); +wave_2_per_point10=yc = .25 + .25*sin(ti*t7); +wave_2_per_point11=yd = .25 + .25*sin(ti*t8); +wave_2_per_point12= +wave_2_per_point13= +wave_2_per_point14=it = (it + 1)*above(sample,0); +wave_2_per_point15=sw = (1-sw)*above(sample,0); +wave_2_per_point16= +wave_2_per_point17=sa = 1-sample; +wave_2_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_2_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_2_per_point20= +wave_2_per_point21=y = .5 - y*(.5-x)*2; +wave_2_per_point22= +wave_2_per_point23=ti = q4 + 4.1888; +wave_2_per_point24=r = .5 + .5*sin(ti); +wave_2_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_2_per_point26=b = .5 + .5*sin(ti + 4.1888); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = .5 + value1; +wave_3_per_point2=y = value2; +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.000000 +shapecode_0_rad=0.148886 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.200000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_zo +shapecode_1_enabled=0 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.150000 +shapecode_1_y=0.390000 +shapecode_1_rad=0.040839 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.600000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + .1*sin(time*3); +shapecode_3_enabled=0 +shapecode_3_sides=33 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.100000 +shapecode_3_rad=0.049831 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=x = .5 + .05*sin(time*4); +per_frame_1=warp = 0; +per_frame_2=zoom = 1; +per_frame_3= +per_frame_4=tic = min(time-tin,.1); +per_frame_5=tin = time; +per_frame_6= +per_frame_7=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_8= +per_frame_9=ra = 1/tic*.25; +per_frame_10= +per_frame_11=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_12=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_13=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15= +per_frame_16=tt = tt + tic*treb; +per_frame_17=mt = mt + tic*mid; +per_frame_18=bt = bt + tic*bass; +per_frame_19=vt = vt + tic*vav; +per_frame_20= +per_frame_21=q1 = tt*3;// wave morph speeds +per_frame_22=q2 = mt*3; +per_frame_23=q3 = bt*3; +per_frame_24= +per_frame_25=q4 = vt; // wave colour cycle +per_frame_26=q5 = vt*1.3; // arch speed +per_frame_27= +per_frame_28=rb = if(rb,rb,.2 + rand(1001)*.001*.6); +per_frame_29=rc = if(rc,rc,.2 + rand(1001)*.001*.6); +per_frame_30=rd = if(rd,rd,.2 + rand(1001)*.001*.6); +per_frame_31=re = if(re,re,.2 + rand(1001)*.001*.6); +per_frame_32= +per_frame_33= +per_frame_34=ti = vt*2; +per_frame_35=//cx = .3 + .1*sin(ti*re) + .1*cos(ti*rc); +per_frame_36=//cy = .5 + .2*sin(ti*rb) + .1*cos(ti*rd); +per_frame_37= +per_frame_38=sx = 1 - bass_avg*.04; +per_frame_39= +per_frame_40=rot = (treb_avg - mid_avg)*.01; +per_pixel_1=ay = y; +per_pixel_2= +per_pixel_3=len = .15; +per_pixel_4=offset = 0; +per_pixel_5=pi = 3.141592654; +per_pixel_6= +per_pixel_7=ox = (x - .5); +per_pixel_8=oy = (1-ay)*.75; +per_pixel_9=dis = pow(ox*ox + oy*oy,.5); +per_pixel_10= +per_pixel_11=anga = if(above(x,.5),pi*.5 + (pi*.5 - asin(oy/dis)),asin(oy/dis)); +per_pixel_12= +per_pixel_13=seg = above(dis,len); +per_pixel_14= +per_pixel_15=di = dis*(5 - dis*dis*3) - (q5 - int(q5))*len*2 + len*2; +per_pixel_16=dir = di; +per_pixel_17=di = di - int(di*(1/len))*len; +per_pixel_18=di = if(equal(int(dir*(1/len)+1)%2,0),len - di,di); +per_pixel_19= +per_pixel_20=anga = pi*1.5 - anga; +per_pixel_21= +per_pixel_22=ox = .5 + sin(anga)*di; +per_pixel_23=oy = cos(anga)*di; +per_pixel_24= +per_pixel_25= +per_pixel_26= +per_pixel_27=dis = dis*1.5; +per_pixel_28=zm = .1 + .085*sin(dis*6.2832*4); +per_pixel_29=zm = zm*pow(dis,.5); +per_pixel_30=//zm = dis*8; +per_pixel_31= +per_pixel_32=dx = if(above(seg,0),(x-ox),zm*(x-.5)); +per_pixel_33=dy = if(above(seg,0),(ay-oy),zm*(1-ay)*-1); +per_pixel_34= diff --git a/presets/presets_milkdrop_104/shifter - robotopia.milk b/presets/presets_milkdrop_104/shifter - robotopia.milk new file mode 100644 index 0000000000..4e4534dcd9 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - robotopia.milk @@ -0,0 +1,764 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.200613 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.540000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999922 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .1; +wave_0_per_frame18=ra = .1; +wave_0_per_frame19=len = if(above(q6,3),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_0_per_frame20=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_0_per_point16= +wave_0_per_point17=ar = if(above(sample,0),ar,1); +wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point19=br = if(above(sample,0),br,1); +wave_0_per_point20=br = if(equal(lev,1),br*-1,br); +wave_0_per_point21=cr = if(above(sample,0),cr,1); +wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point23=dr = if(above(sample,0),dr,1); +wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point25=er = if(above(sample,0),er,1); +wave_0_per_point26=er = if(equal(lev,4),er*-1,er); +wave_0_per_point27=fr = if(above(sample,0),fr,1); +wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point29=gr = if(above(sample,0),gr,1); +wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point31= +wave_0_per_point32=mlev = lev*above(sample,0); +wave_0_per_point33= +wave_0_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point35= +wave_0_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point40=he = if(swi,1-2*rand(2),he); +wave_0_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point43= +wave_0_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_0_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_0_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_0_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_0_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_0_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_0_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_0_per_point51= +wave_0_per_point52=len = len*mad; +wave_0_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_0_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_0_per_point55= +wave_0_per_point56=an = bang*(ar + br)*br; +wave_0_per_point57=len = len*mad; +wave_0_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_0_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_0_per_point60= +wave_0_per_point61=an = cang*(ar + br + cr)*cr; +wave_0_per_point62=len = len*mad; +wave_0_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_0_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_0_per_point65= +wave_0_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_0_per_point67=len = len*mad; +wave_0_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_0_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_0_per_point70= +wave_0_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_0_per_point72=len = len*mad; +wave_0_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_0_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_0_per_point75= +wave_0_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_0_per_point77=len = len*mad; +wave_0_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_0_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_0_per_point80= +wave_0_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_0_per_point82=len = len*mad; +wave_0_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_0_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_0_per_point85= +wave_0_per_point86=x = (x-.5)*.75 + .5; +wave_0_per_point87= +wave_0_per_point88=g = t1 + lev*.1; +wave_0_per_point89=r = t2 - lev*.1; +wave_0_per_point90=b = t3; +wave_0_per_point91= +wave_0_per_point92=r = if(equal(q5,1),1,r); +wave_0_per_point93=g = if(equal(q5,2),1,g); +wave_0_per_point94=b = if(equal(q5,3),1,b); +wave_0_per_point95= +wave_0_per_point96=r = r - int(r); +wave_0_per_point97=g = g - int(g); +wave_0_per_point98=b = b - int(b); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .3; +wave_1_per_frame18=ra = .1; +wave_1_per_frame19=len = if(above(q6,2),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_1_per_frame20=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_1_per_point16= +wave_1_per_point17=ar = if(above(sample,0),ar,1); +wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point19=br = if(above(sample,0),br,1); +wave_1_per_point20=br = if(equal(lev,1),br*-1,br); +wave_1_per_point21=cr = if(above(sample,0),cr,1); +wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point23=dr = if(above(sample,0),dr,1); +wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point25=er = if(above(sample,0),er,1); +wave_1_per_point26=er = if(equal(lev,4),er*-1,er); +wave_1_per_point27=fr = if(above(sample,0),fr,1); +wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point29=gr = if(above(sample,0),gr,1); +wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point31= +wave_1_per_point32=mlev = lev*above(sample,0); +wave_1_per_point33= +wave_1_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point35= +wave_1_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point40=he = if(swi,1-2*rand(2),he); +wave_1_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point43= +wave_1_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_1_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_1_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_1_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_1_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_1_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_1_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_1_per_point51= +wave_1_per_point52=len = len*mad; +wave_1_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_1_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_1_per_point55= +wave_1_per_point56=an = bang*(ar + br)*br; +wave_1_per_point57=len = len*mad; +wave_1_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_1_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_1_per_point60= +wave_1_per_point61=an = cang*(ar + br + cr)*cr; +wave_1_per_point62=len = len*mad; +wave_1_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_1_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_1_per_point65= +wave_1_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_1_per_point67=len = len*mad; +wave_1_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_1_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_1_per_point70= +wave_1_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_1_per_point72=len = len*mad; +wave_1_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_1_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_1_per_point75= +wave_1_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_1_per_point77=len = len*mad; +wave_1_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_1_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_1_per_point80= +wave_1_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_1_per_point82=len = len*mad; +wave_1_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_1_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_1_per_point85= +wave_1_per_point86=x = (x-.5)*.75 + .5; +wave_1_per_point87= +wave_1_per_point88=g = t1 + lev*.1; +wave_1_per_point89=r = t2 - lev*.1; +wave_1_per_point90=b = t3; +wave_1_per_point91= +wave_1_per_point92=r = if(equal(q5,1),1,r); +wave_1_per_point93=g = if(equal(q5,2),1,g); +wave_1_per_point94=b = if(equal(q5,3),1,b); +wave_1_per_point95= +wave_1_per_point96=r = r - int(r); +wave_1_per_point97=g = g - int(g); +wave_1_per_point98=b = b - int(b); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .4; +wave_2_per_frame18=ra = .1; +wave_2_per_frame19=len = if(above(q6,1),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_2_per_frame20=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_2_per_point16= +wave_2_per_point17=ar = if(above(sample,0),ar,1); +wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point19=br = if(above(sample,0),br,1); +wave_2_per_point20=br = if(equal(lev,1),br*-1,br); +wave_2_per_point21=cr = if(above(sample,0),cr,1); +wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point23=dr = if(above(sample,0),dr,1); +wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point25=er = if(above(sample,0),er,1); +wave_2_per_point26=er = if(equal(lev,4),er*-1,er); +wave_2_per_point27=fr = if(above(sample,0),fr,1); +wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point29=gr = if(above(sample,0),gr,1); +wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point31= +wave_2_per_point32=mlev = lev*above(sample,0); +wave_2_per_point33= +wave_2_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point35= +wave_2_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point40=he = if(swi,1-2*rand(2),he); +wave_2_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point43= +wave_2_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_2_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_2_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_2_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_2_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_2_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_2_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_2_per_point51= +wave_2_per_point52=len = len*mad; +wave_2_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_2_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_2_per_point55= +wave_2_per_point56=an = bang*(ar + br)*br; +wave_2_per_point57=len = len*mad; +wave_2_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_2_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_2_per_point60= +wave_2_per_point61=an = cang*(ar + br + cr)*cr; +wave_2_per_point62=len = len*mad; +wave_2_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_2_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_2_per_point65= +wave_2_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_2_per_point67=len = len*mad; +wave_2_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_2_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_2_per_point70= +wave_2_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_2_per_point72=len = len*mad; +wave_2_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_2_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_2_per_point75= +wave_2_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_2_per_point77=len = len*mad; +wave_2_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_2_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_2_per_point80= +wave_2_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_2_per_point82=len = len*mad; +wave_2_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_2_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_2_per_point85= +wave_2_per_point86=x = (x-.5)*.75 + .5; +wave_2_per_point87= +wave_2_per_point88=g = t1 + lev*.1; +wave_2_per_point89=r = t2 - lev*.1; +wave_2_per_point90=b = t3; +wave_2_per_point91= +wave_2_per_point92=r = if(equal(q5,1),1,r); +wave_2_per_point93=g = if(equal(q5,2),1,g); +wave_2_per_point94=b = if(equal(q5,3),1,b); +wave_2_per_point95= +wave_2_per_point96=r = r - int(r); +wave_2_per_point97=g = g - int(g); +wave_2_per_point98=b = b - int(b); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=len = len*mad; +wave_3_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point55= +wave_3_per_point56=an = bang*(ar + br)*br; +wave_3_per_point57=len = len*mad; +wave_3_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point60= +wave_3_per_point61=an = cang*(ar + br + cr)*cr; +wave_3_per_point62=len = len*mad; +wave_3_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point65= +wave_3_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point67=len = len*mad; +wave_3_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point70= +wave_3_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point72=len = len*mad; +wave_3_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point75= +wave_3_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point77=len = len*mad; +wave_3_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point80= +wave_3_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point82=len = len*mad; +wave_3_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point85= +wave_3_per_point86=x = (x-.5)*.75 + .5; +wave_3_per_point87= +wave_3_per_point88=g = t1 + lev*.1; +wave_3_per_point89=r = t2 - lev*.1; +wave_3_per_point90=b = t3; +wave_3_per_point91= +wave_3_per_point92=r = if(equal(q5,1),1,r); +wave_3_per_point93=g = if(equal(q5,2),1,g); +wave_3_per_point94=b = if(equal(q5,3),1,b); +wave_3_per_point95= +wave_3_per_point96=r = r - int(r); +wave_3_per_point97=g = g - int(g); +wave_3_per_point98=b = b - int(b); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.430000 +shapecode_0_y=0.340000 +shapecode_0_rad=3.356410 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.138466 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=it = (it + 1)*below(it,10000); +shape_0_per_frame2=x = if(it%2,.26,.7247); +shape_0_per_frame3= +shape_0_per_frame4=tm = time*.1; +shape_0_per_frame5=x = .26 + .4647*(tm-int(tm)); +shape_0_per_frame6= +shape_0_per_frame7=y = .5 + .25*sin(time*.05); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.100000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.833456 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=5.403539 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.800000 +shapecode_2_y=0.200000 +shapecode_2_rad=0.415324 +shapecode_2_ang=3.141593 +shapecode_2_tex_ang=5.403539 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.847536 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=5.592035 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7= +per_frame_8= +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12= +per_frame_13=rb = 1; +per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_15=q1 = treb_avg; +per_frame_16=q2 = mid_avg; +per_frame_17=q3 = bass_avg; +per_frame_18= +per_frame_19=db = bass - bass_avg; +per_frame_20= +per_frame_21=it = (it + tic)*below(it,1); +per_frame_22= +per_frame_23=rb = .5*(1/tic); +per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_25=bd = bass - bvb; +per_frame_26= +per_frame_27=vm = vm - tic + swi; +per_frame_28=swi = above(bd - vm,0); +per_frame_29= +per_frame_30=q4 = 1-swi; +per_frame_31= +per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_33=iter = (iter + tic)*(1-above(iter,30)); +per_frame_34=q5 = if(equal(cm,0),3,cm); +per_frame_35= +per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_37=itar = (itar + tic)*(1-above(itar,5)); +per_frame_38= +per_frame_39=q6 = int(vav*5); +per_frame_40= +per_frame_41=monitor = q6; +per_frame_42= diff --git a/presets/presets_milkdrop_104/shifter - spincycle c.milk b/presets/presets_milkdrop_104/shifter - spincycle c.milk new file mode 100644 index 0000000000..14ba827dcb --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - spincycle c.milk @@ -0,0 +1,331 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=5.428738 +fShader=0.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.162174 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=51 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.327350 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=3.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = rand(1001)*.001; +wave_0_per_point2=y = rand(1001)*.001; +wave_0_per_point3= +wave_0_per_point4=tm = time*.5 + sample*2; +wave_0_per_point5= +wave_0_per_point6=r = .5 + .5*sin(tm*1.132); +wave_0_per_point7=g = .5 + .5*sin(tm*1.121); +wave_0_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = rand(1001)*.001; +wave_1_per_point2=y = rand(1001)*.001; +wave_1_per_point3= +wave_1_per_point4=tm = time*.5 + sample*2; +wave_1_per_point5= +wave_1_per_point6=r = .5 + .5*sin(tm*1.132); +wave_1_per_point7=g = .5 + .5*sin(tm*1.121); +wave_1_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x = rand(1001)*.001; +wave_2_per_point2=y = rand(1001)*.001; +wave_2_per_point3= +wave_2_per_point4=tm = time*.5 + sample*2; +wave_2_per_point5= +wave_2_per_point6=r = .5 + .5*sin(tm*1.132); +wave_2_per_point7=g = .5 + .5*sin(tm*1.121); +wave_2_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=51 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.327350 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=3.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +wave_3_per_point3= +wave_3_per_point4=tm = time*.5 + sample*2; +wave_3_per_point5= +wave_3_per_point6=r = .5 + .5*sin(tm*1.132); +wave_3_per_point7=g = .5 + .5*sin(tm*1.121); +wave_3_per_point8=b = .5 + .5*sin(tm*1.187); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.081954 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=q3; +shape_1_per_frame2=y=1-q4; +shape_1_per_frame3= +shape_1_per_frame4=r = .5 + .5*sin((time+.5)*1.132); +shape_1_per_frame5=g = .5 + .5*sin((time+.5)*1.121); +shape_1_per_frame6=b = .5 + .5*sin((time+.5)*1.187); +shape_1_per_frame7= +shape_1_per_frame8=rad = .1*mid; +shapecode_2_enabled=1 +shapecode_2_sides=54 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.081954 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x=q5; +shape_2_per_frame2=y=1-q6; +shape_2_per_frame3= +shape_2_per_frame4=rad = .2*bass; +shapecode_3_enabled=1 +shapecode_3_sides=54 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.081954 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=q1; +shape_3_per_frame2=y=1-q2; +shape_3_per_frame3= +shape_3_per_frame4=r = .5 + .5*sin(time*1.132); +shape_3_per_frame5=g = .5 + .5*sin(time*1.121); +shape_3_per_frame6=b = .5 + .5*sin(time*1.187); +shape_3_per_frame7= +shape_3_per_frame8=rad = treb*.1; +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10= +per_frame_11=rb = 1; +per_frame_12=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_13= +per_frame_14=tt = tt + tic*treb_avg; +per_frame_15=mt = mt + tic*mid_avg; +per_frame_16=bt = bt + tic*bass_avg; +per_frame_17=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_18= +per_frame_19=sz = .2; +per_frame_20= +per_frame_21=q1 = .5 + sz*sin(tt*.629) - sz*sin(tt*.107); +per_frame_22=q2 = .5 + sz*sin(tt*.987) - sz*sin(tt*.456); +per_frame_23= +per_frame_24=q3 = .5 + sz*sin(mt*.654) - sz*sin(mt*.355); +per_frame_25=q4 = .5 + sz*sin(mt*.548) - sz*sin(mt*.875); +per_frame_26= +per_frame_27=q5 = .5 + sz*sin(bt*.687) - sz*sin(bt*.318); +per_frame_28=q6 = .5 + sz*sin(bt*.465) - sz*sin(bt*.526); +per_frame_29= +per_frame_30= +per_pixel_1=xd = q1-x; +per_pixel_2=yd = q2-y; +per_pixel_3= +per_pixel_4=dis = pow(xd*xd+yd*yd,.5); +per_pixel_5=des = 1 - dis*.7071068; +per_pixel_6=des = pow(des,8)*-treb; +per_pixel_7=an = acos(abs(xd)/dis); +per_pixel_8= +per_pixel_9=dx = sign(xd)*.07*cos(an)*des; +per_pixel_10=dy = sign(yd)*.07*sin(an)*des; +per_pixel_11= +per_pixel_12=dy = dy + sign(xd)*treb*.05*cos(an)*des; +per_pixel_13=dx = dx + sign(yd)*treb*.05*sin(an)*des*-1; +per_pixel_14= +per_pixel_15=xd = q3-x; +per_pixel_16=yd = q4-y; +per_pixel_17= +per_pixel_18=dis = pow(xd*xd+yd*yd,.5); +per_pixel_19=des = 1 - dis*.7071068; +per_pixel_20=des = pow(des,8)*-mid; +per_pixel_21=an = acos(abs(xd)/dis); +per_pixel_22= +per_pixel_23=dx = dx + sign(xd)*.07*cos(an)*des; +per_pixel_24=dy = dy + sign(yd)*.07*sin(an)*des; +per_pixel_25= +per_pixel_26=dy = dy + sign(xd)*mid*.05*cos(an)*des; +per_pixel_27=dx = dx + sign(yd)*mid*.05*sin(an)*des*-1; +per_pixel_28= +per_pixel_29=xd = q5-x; +per_pixel_30=yd = q6-y; +per_pixel_31= +per_pixel_32=dis = pow(xd*xd+yd*yd,.5); +per_pixel_33=des = 1 - dis*.7071068; +per_pixel_34=des = pow(des,8)*-bass; +per_pixel_35=an = acos(abs(xd)/dis); +per_pixel_36= +per_pixel_37=dx = dx + sign(xd)*.07*cos(an)*des; +per_pixel_38=dy = dy + sign(yd)*.07*sin(an)*des; +per_pixel_39= +per_pixel_40=dy = dy + sign(xd)*bass*.05*cos(an)*des; +per_pixel_41=dx = dx + sign(yd)*bass*.05*sin(an)*des*-1; +per_pixel_42= diff --git a/presets/presets_milkdrop_104/shifter - swarm.milk b/presets/presets_milkdrop_104/shifter - swarm.milk new file mode 100644 index 0000000000..fd98d6b848 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - swarm.milk @@ -0,0 +1,483 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999510 +rot=0.400000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t1 = .7 + rand(100)*.01*.6; +wave_0_init2=t2 = .7 + rand(100)*.01*.6; +wave_0_init3=t3 = .7 + rand(100)*.01*.6; +wave_0_init4=t4 = .7 + rand(100)*.01*.6; +wave_0_init5=t5 = .7 + rand(100)*.01*.6; +wave_0_init6=t6 = .7 + rand(100)*.01*.6; +wave_0_init7=t7 = .7 + rand(100)*.01*.6; +wave_0_init8=t8 = .7 + rand(100)*.01*.6; +wave_0_per_point1= +wave_0_per_point2=it = (it+1)*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_0_per_point5=mod = mod + equal(mod,0)*t8; +wave_0_per_point6= +wave_0_per_point7=x = .5 + q1*sin(q2*mod); +wave_0_per_point8=y = .5 + q1*cos(q3*mod); +wave_0_per_point9= +wave_0_per_point10=h = q4 + .1*sample; +wave_0_per_point11=h = h - int(h); +wave_0_per_point12=l = .25 + .5*rand(101)*.01; +wave_0_per_point13=s = rand(101)*.01; +wave_0_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_0_per_point15=tmpa = 2*l - tmpb; +wave_0_per_point16=hvr = h + .333333; +wave_0_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_0_per_point18=hvg = h; +wave_0_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_0_per_point20=hvb = h - .333333; +wave_0_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_0_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_0_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_0_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t1 = .7 + rand(100)*.01*.6; +wave_1_init2=t2 = .7 + rand(100)*.01*.6; +wave_1_init3=t3 = .7 + rand(100)*.01*.6; +wave_1_init4=t4 = .7 + rand(100)*.01*.6; +wave_1_init5=t5 = .7 + rand(100)*.01*.6; +wave_1_init6=t6 = .7 + rand(100)*.01*.6; +wave_1_init7=t7 = .7 + rand(100)*.01*.6; +wave_1_init8=t8 = .7 + rand(100)*.01*.6; +wave_1_per_point1= +wave_1_per_point2=it = (it+1)*above(sample,0); +wave_1_per_point3= +wave_1_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_1_per_point5=mod = mod + equal(mod,0)*t8; +wave_1_per_point6= +wave_1_per_point7=x = .5 + q1*sin(q2*mod); +wave_1_per_point8=y = .5 + q1*cos(q3*mod); +wave_1_per_point9= +wave_1_per_point10=h = q4 + .1*sample; +wave_1_per_point11=h = h - int(h); +wave_1_per_point12=l = .25 + .5*rand(101)*.01; +wave_1_per_point13=s = rand(101)*.01; +wave_1_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_1_per_point15=tmpa = 2*l - tmpb; +wave_1_per_point16=hvr = h + .333333; +wave_1_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_1_per_point18=hvg = h; +wave_1_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_1_per_point20=hvb = h - .333333; +wave_1_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_1_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_1_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_1_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = .7 + rand(100)*.01*.6; +wave_2_init2=t2 = .7 + rand(100)*.01*.6; +wave_2_init3=t3 = .7 + rand(100)*.01*.6; +wave_2_init4=t4 = .7 + rand(100)*.01*.6; +wave_2_init5=t5 = .7 + rand(100)*.01*.6; +wave_2_init6=t6 = .7 + rand(100)*.01*.6; +wave_2_init7=t7 = .7 + rand(100)*.01*.6; +wave_2_init8=t8 = .7 + rand(100)*.01*.6; +wave_2_per_point1= +wave_2_per_point2=it = (it+1)*above(sample,0); +wave_2_per_point3= +wave_2_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_2_per_point5=mod = mod + equal(mod,0)*t8; +wave_2_per_point6= +wave_2_per_point7=x = .5 + q1*sin(q2*mod); +wave_2_per_point8=y = .5 + q1*cos(q3*mod); +wave_2_per_point9= +wave_2_per_point10=h = q4 + .1*sample; +wave_2_per_point11=h = h - int(h); +wave_2_per_point12=l = .25 + .5*rand(101)*.01; +wave_2_per_point13=s = rand(101)*.01; +wave_2_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_2_per_point15=tmpa = 2*l - tmpb; +wave_2_per_point16=hvr = h + .333333; +wave_2_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_2_per_point18=hvg = h; +wave_2_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_2_per_point20=hvb = h - .333333; +wave_2_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_2_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_2_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_2_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=t1 = .7 + rand(100)*.01*.6; +wave_3_init2=t2 = .7 + rand(100)*.01*.6; +wave_3_init3=t3 = .7 + rand(100)*.01*.6; +wave_3_init4=t4 = .7 + rand(100)*.01*.6; +wave_3_init5=t5 = .7 + rand(100)*.01*.6; +wave_3_init6=t6 = .7 + rand(100)*.01*.6; +wave_3_init7=t7 = .7 + rand(100)*.01*.6; +wave_3_init8=t8 = .7 + rand(100)*.01*.6; +wave_3_per_point1= +wave_3_per_point2=it = (it+1)*above(sample,0); +wave_3_per_point3= +wave_3_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_3_per_point5=mod = mod + equal(mod,0)*t8; +wave_3_per_point6= +wave_3_per_point7=x = .5 + q1*sin(q2*mod); +wave_3_per_point8=y = .5 + q1*cos(q3*mod); +wave_3_per_point9= +wave_3_per_point10=h = q4 + .1*sample; +wave_3_per_point11=h = h - int(h); +wave_3_per_point12=l = .25 + .5*rand(101)*.01; +wave_3_per_point13=s = rand(101)*.01; +wave_3_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point15=tmpa = 2*l - tmpb; +wave_3_per_point16=hvr = h + .333333; +wave_3_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point18=hvg = h; +wave_3_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point20=hvb = h - .333333; +wave_3_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000150 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = .7 + rand(101)*.01*.6; +shape_0_init2=t2 = .7 + rand(101)*.01*.6; +shape_0_per_frame1=x = .5 + q1*sin(q2*t1); +shape_0_per_frame2=y = .5 + q1*cos(q3*t2); +shape_0_per_frame3= +shape_0_per_frame4=rad = q5; +shape_0_per_frame5= +shape_0_per_frame6=ang = -time; +shape_0_per_frame7=sides = q6; +shape_0_per_frame8= +shape_0_per_frame9=h = q4; +shape_0_per_frame10=h = h - int(h); +shape_0_per_frame11=l = .5; +shape_0_per_frame12=s = 1; +shape_0_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_0_per_frame14=tmpa = 2*l - tmpb; +shape_0_per_frame15=hvr = h + .333333; +shape_0_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_0_per_frame17=hvg = h; +shape_0_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_0_per_frame19=hvb = h - .333333; +shape_0_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_0_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_0_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_0_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_0_per_frame24=r2=r;g2=g;b2=b; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = .7 + rand(101)*.01*.6; +shape_1_init2=t2 = .7 + rand(101)*.01*.6; +shape_1_per_frame1=x = .5 + q1*sin(q2*t1); +shape_1_per_frame2=y = .5 + q1*cos(q3*t2); +shape_1_per_frame3= +shape_1_per_frame4=rad = q5; +shape_1_per_frame5= +shape_1_per_frame6=ang = -time; +shape_1_per_frame7=sides = q6; +shape_1_per_frame8= +shape_1_per_frame9=h = q4 + .01; +shape_1_per_frame10=h = h - int(h); +shape_1_per_frame11=l = .5; +shape_1_per_frame12=s = 1; +shape_1_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_1_per_frame14=tmpa = 2*l - tmpb; +shape_1_per_frame15=hvr = h + .333333; +shape_1_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_1_per_frame17=hvg = h; +shape_1_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_1_per_frame19=hvb = h - .333333; +shape_1_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_1_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_1_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_1_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_1_per_frame24=r2=r;g2=g;b2=b; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = .7 + rand(101)*.01*.6; +shape_2_init2=t2 = .7 + rand(101)*.01*.6; +shape_2_per_frame1=x = .5 + q1*sin(q2*t1); +shape_2_per_frame2=y = .5 + q1*cos(q3*t2); +shape_2_per_frame3= +shape_2_per_frame4=rad = q5; +shape_2_per_frame5= +shape_2_per_frame6=ang = -time; +shape_2_per_frame7=sides = q6; +shape_2_per_frame8= +shape_2_per_frame9=h = q4 + .02; +shape_2_per_frame10=h = h - int(h); +shape_2_per_frame11=l = .5; +shape_2_per_frame12=s = 1; +shape_2_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_2_per_frame14=tmpa = 2*l - tmpb; +shape_2_per_frame15=hvr = h + .333333; +shape_2_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_2_per_frame17=hvg = h; +shape_2_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_2_per_frame19=hvb = h - .333333; +shape_2_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_2_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_2_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_2_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_2_per_frame24=r2=r;g2=g;b2=b; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = .7 + rand(101)*.01*.6; +shape_3_init2=t2 = .7 + rand(101)*.01*.6; +shape_3_per_frame1=x = .5 + q1*sin(q2*t1); +shape_3_per_frame2=y = .5 + q1*cos(q3*t2); +shape_3_per_frame3= +shape_3_per_frame4=rad = q5; +shape_3_per_frame5= +shape_3_per_frame6=ang = -time; +shape_3_per_frame7=sides = q6; +shape_3_per_frame8= +shape_3_per_frame9=h = q4 + .03; +shape_3_per_frame10=h = h - int(h); +shape_3_per_frame11=l = .5; +shape_3_per_frame12=s = 1; +shape_3_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_3_per_frame14=tmpa = 2*l - tmpb; +shape_3_per_frame15=hvr = h + .333333; +shape_3_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_3_per_frame17=hvg = h; +shape_3_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_3_per_frame19=hvb = h - .333333; +shape_3_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_3_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_3_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_3_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_3_per_frame24=r2=r;g2=g;b2=b; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = time-tin; +per_frame_4=tic = tic; +per_frame_5=tin = time; +per_frame_6= +per_frame_7=v = tic*((bass_att + med_att + treb_att)*.3333*2 + (1/tic - 2)*v); +per_frame_8=sb = tic*(bass*4 + (1/tic - 4)*sb); +per_frame_9=su = tic*(med*.5+treb*.5*4 + (1/tic - 4)*su); +per_frame_10= +per_frame_11=tb = (tb + tic*sb)*below(tb,100000); +per_frame_12=tu = (tu + tic*su)*below(tu,100000); +per_frame_13= +per_frame_14=monitor = tu; +per_frame_15= +per_frame_16=q1 = v*.2 + .25; +per_frame_17=q2 = tb; +per_frame_18=q3 = tu; +per_frame_19= +per_frame_20=q4 = (5*sin(time*.145) + 3*cos(time*.115))*.1; +per_frame_21= +per_frame_22=q5 = pow(v*.5,2); +per_frame_23=q5 = .15; +per_frame_24= +per_frame_25=zoom = -.98; +per_frame_26= +per_frame_27=q6 = 40; +per_frame_28= +per_frame_29=h = time*.05; +per_frame_30=h = h - int(h); +per_frame_31=l = 1; +per_frame_32=s = 1; +per_frame_33=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +per_frame_34=tmpa = 2*l - tmpb; +per_frame_35=hvr = h + .333333; +per_frame_36=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +per_frame_37=hvg = h; +per_frame_38=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +per_frame_39=hvb = h - .333333; +per_frame_40=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +per_frame_41=ob_r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +per_frame_42=ob_g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +per_frame_43=ob_b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +per_frame_44= diff --git a/presets/presets_milkdrop_104/shifter - tadpole evolution (static mix).milk b/presets/presets_milkdrop_104/shifter - tadpole evolution (static mix).milk new file mode 100644 index 0000000000..4fac6c21a2 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - tadpole evolution (static mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.644619 +fShader=0.000000 +zoom=1.029800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = (q1+sample)*6.2832*.666; +wave_0_per_point2=x = .5 + .1*sin(sp)*.75; +wave_0_per_point3=y = .5 + .1*cos(sp); +wave_0_per_point4= +wave_0_per_point5=val = min(1,value1*4); +wave_0_per_point6=a = (1-val)*below(sample,.75); +wave_0_per_point7=//a = a*q2; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = (q1 + sample + .75)*6.2832*.666; +wave_1_per_point2=x = .5 + .1*sin(sp)*.75; +wave_1_per_point3=y = .5 + .1*cos(sp); +wave_1_per_point4= +wave_1_per_point5=val = min(1,value2*4); +wave_1_per_point6=a = (1-val)*below(sample,.75); +wave_1_per_point7=//a = a*(1-q2); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.498295 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.600000 +wave_2_per_point1=x = .5 + value1; +wave_2_per_point2=y = .5 + value2; +wave_2_per_point3= +wave_2_per_point4=mod = .4; +wave_2_per_point5=sec = above(x,mod)*below(x,1-mod) + above(y,mod)*below(y,1-mod); +wave_2_per_point6= +wave_2_per_point7=my = (y - .5)*.75; +wave_2_per_point8=rad = pow(my*my + (x-.5)*(x-.5),.5); +wave_2_per_point9=rad = below(rad,0.075); +wave_2_per_point10= +wave_2_per_point11=a = sec*(1-rad)*.1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.244863 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.300000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ti = time*.8; +shape_0_per_frame2=r = .5 + .5*sin(ti); +shape_0_per_frame3=g = .5 + .5*sin(ti + 1.0472); +shape_0_per_frame4=b = .5 + .5*sin(ti + 2.0944); +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=r2 = r; +shape_0_per_frame9=g2 = g; +shape_0_per_frame10=b2 = b; +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.194774 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.498312 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//r = .5 + .5*sin(time*1.123); +shape_1_per_frame2=//g = .5 + .5*sin(time*1.456); +shape_1_per_frame3=//b = .5 + .5*sin(time*1.789); +shape_1_per_frame4= +shape_1_per_frame5=tex_ang = rand(1001)*.001*6.2832; +shape_1_per_frame6=tex_ang = rand(4)*.7854; +shape_1_per_frame7=//tex_ang = time; +shape_1_per_frame8= +shape_1_per_frame9=r2 = r; +shape_1_per_frame10=g2 = g; +shape_1_per_frame11=b2 = b; +shapecode_2_enabled=1 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.892691 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.570797 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=44 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=1.000000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.892691 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=4.712390 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = vt*.1; +per_frame_25= +per_frame_26=q2 = .5 + .5*sin(time*4); +per_frame_27= +per_frame_28=q3 = vav*.05; // crossbar sx strength +per_frame_29= +per_frame_30=q4 = vt; // rotation speed +per_pixel_1=ti = time*-.6; +per_pixel_2=rot = sin((rad+ti)*6.2832)*.01; +per_pixel_3= +per_pixel_4= +per_pixel_5= +per_pixel_6=mod = .4; +per_pixel_7=xsec = above(x,mod)*below(x,1-mod); +per_pixel_8=ysec = above(y,mod)*below(y,1-mod); +per_pixel_9= +per_pixel_10=zoom = if(xsec + ysec,zoom,.75); +per_pixel_11= +per_pixel_12=dx = if(xsec + ysec,dx,.5); +per_pixel_13=dy = if(xsec + ysec,dy,.5); +per_pixel_14= +per_pixel_15=sx = if(xsec + ysec,.9 + q3,1); +per_pixel_16= +per_pixel_17=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_18= +per_pixel_19=rot = if(xsec + ysec,rot,q4*mod); diff --git a/presets_milkdrop_104/shifter - tumbling cubes.milk b/presets/presets_milkdrop_104/shifter - tumbling cubes.milk similarity index 100% rename from presets_milkdrop_104/shifter - tumbling cubes.milk rename to presets/presets_milkdrop_104/shifter - tumbling cubes.milk diff --git a/presets/presets_milkdrop_104/shifter - urchin mod.milk b/presets/presets_milkdrop_104/shifter - urchin mod.milk new file mode 100644 index 0000000000..a1b83016b7 --- /dev/null +++ b/presets/presets_milkdrop_104/shifter - urchin mod.milk @@ -0,0 +1,395 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.104100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.259900 +cx=0.320000 +cy=0.289900 +dx=0.000000 +dy=0.000000 +warp=0.011046 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.050000 +wave_0_init1=t1 = .2 + .6*rand(1001)*.001; +wave_0_init2=t2 = .2 + .6*rand(1001)*.001; +wave_0_init3=t3 = .2 + .6*rand(1001)*.001; +wave_0_init4=t4 = .2 + .6*rand(1001)*.001; +wave_0_init5=t5 = .2 + .6*rand(1001)*.001; +wave_0_init6=t6 = .2 + .6*rand(1001)*.001; +wave_0_init7=t7 = .2 + .6*rand(1001)*.001; +wave_0_init8=t8 = .2 + .6*rand(1001)*.001; +wave_0_per_point1=ti = q1; +wave_0_per_point2= +wave_0_per_point3=xa = .25 + .25*sin(ti*t1); +wave_0_per_point4=xb = .25 + .25*sin(ti*t2); +wave_0_per_point5=xc = .25 + .25*sin(ti*t3); +wave_0_per_point6=xd = .25 + .25*sin(ti*t4); +wave_0_per_point7= +wave_0_per_point8=ya = .25 + .25*sin(ti*t5); +wave_0_per_point9=yb = .25 + .25*sin(ti*t6); +wave_0_per_point10=yc = .25 + .25*sin(ti*t7); +wave_0_per_point11=yd = .25 + .25*sin(ti*t8); +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=it = (it + 1)*above(sample,0); +wave_0_per_point15=sw = (1-sw)*above(sample,0); +wave_0_per_point16= +wave_0_per_point17=sa = 1-sample; +wave_0_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_0_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_0_per_point20= +wave_0_per_point21=y = .5 - y*(.5-x)*2; +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=ti = q4; +wave_0_per_point25=r = .5 + .5*sin(ti); +wave_0_per_point26=g = .5 + .5*sin(ti + 2.0944); +wave_0_per_point27=b = .5 + .5*sin(ti + 4.1888); +wave_0_per_point28= +wave_0_per_point29=a = q5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=0.050000 +wave_1_init1=t1 = .2 + .6*rand(1001)*.001; +wave_1_init2=t2 = .2 + .6*rand(1001)*.001; +wave_1_init3=t3 = .2 + .6*rand(1001)*.001; +wave_1_init4=t4 = .2 + .6*rand(1001)*.001; +wave_1_init5=t5 = .2 + .6*rand(1001)*.001; +wave_1_init6=t6 = .2 + .6*rand(1001)*.001; +wave_1_init7=t7 = .2 + .6*rand(1001)*.001; +wave_1_init8=t8 = .2 + .6*rand(1001)*.001; +wave_1_per_point1=ti = q2; +wave_1_per_point2= +wave_1_per_point3=xa = .25 + .25*sin(ti*t1); +wave_1_per_point4=xb = .25 + .25*sin(ti*t2); +wave_1_per_point5=xc = .25 + .25*sin(ti*t3); +wave_1_per_point6=xd = .25 + .25*sin(ti*t4); +wave_1_per_point7= +wave_1_per_point8=ya = .25 + .25*sin(ti*t5); +wave_1_per_point9=yb = .25 + .25*sin(ti*t6); +wave_1_per_point10=yc = .25 + .25*sin(ti*t7); +wave_1_per_point11=yd = .25 + .25*sin(ti*t8); +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=it = (it + 1)*above(sample,0); +wave_1_per_point15=sw = (1-sw)*above(sample,0); +wave_1_per_point16= +wave_1_per_point17=sa = 1-sample; +wave_1_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_1_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_1_per_point20= +wave_1_per_point21=y = .5 - y*(.5-x)*2; +wave_1_per_point22= +wave_1_per_point23=ti = q4 + 2.0944; +wave_1_per_point24=r = .5 + .5*sin(ti); +wave_1_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_1_per_point26=b = .5 + .5*sin(ti + 4.1888); +wave_1_per_point27= +wave_1_per_point28=a = q6; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=0.050000 +wave_2_init1=t1 = .2 + .6*rand(1001)*.001; +wave_2_init2=t2 = .2 + .6*rand(1001)*.001; +wave_2_init3=t3 = .2 + .6*rand(1001)*.001; +wave_2_init4=t4 = .2 + .6*rand(1001)*.001; +wave_2_init5=t5 = .2 + .6*rand(1001)*.001; +wave_2_init6=t6 = .2 + .6*rand(1001)*.001; +wave_2_init7=t7 = .2 + .6*rand(1001)*.001; +wave_2_init8=t8 = .2 + .6*rand(1001)*.001; +wave_2_per_point1=ti = q3; +wave_2_per_point2= +wave_2_per_point3=xa = .25 + .25*sin(ti*t1); +wave_2_per_point4=xb = .25 + .25*sin(ti*t2); +wave_2_per_point5=xc = .25 + .25*sin(ti*t3); +wave_2_per_point6=xd = .25 + .25*sin(ti*t4); +wave_2_per_point7= +wave_2_per_point8=ya = .25 + .25*sin(ti*t5); +wave_2_per_point9=yb = .25 + .25*sin(ti*t6); +wave_2_per_point10=yc = .25 + .25*sin(ti*t7); +wave_2_per_point11=yd = .25 + .25*sin(ti*t8); +wave_2_per_point12= +wave_2_per_point13= +wave_2_per_point14=it = (it + 1)*above(sample,0); +wave_2_per_point15=sw = (1-sw)*above(sample,0); +wave_2_per_point16= +wave_2_per_point17=sa = 1-sample; +wave_2_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_2_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_2_per_point20= +wave_2_per_point21=y = .5 - y*(.5-x)*2; +wave_2_per_point22= +wave_2_per_point23=ti = q4 + 4.1888; +wave_2_per_point24=r = .5 + .5*sin(ti); +wave_2_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_2_per_point26=b = .5 + .5*sin(ti + 4.1888); +wave_2_per_point27=a = q7; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.978832 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_zoom = 1/rad; +shape_0_per_frame2= +shape_0_per_frame3=a = .7; +shape_0_per_frame4=a2 = a; +shapecode_1_enabled=0 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.150000 +shapecode_1_y=0.390000 +shapecode_1_rad=0.040839 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=//zoom = 1; +per_frame_3= +per_frame_4=tic = min(time-tin,.1); +per_frame_5=tin = time; +per_frame_6= +per_frame_7=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_8= +per_frame_9=ra = 1/tic*.25; +per_frame_10= +per_frame_11=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_12=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_13=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15= +per_frame_16=tt = tt + tic*treb; +per_frame_17=mt = mt + tic*mid; +per_frame_18=bt = bt + tic*bass; +per_frame_19=vt = vt + tic*vav; +per_frame_20= +per_frame_21=q1 = tt*3;// wave morph speeds +per_frame_22=q2 = mt*3; +per_frame_23=q3 = bt*3; +per_frame_24= +per_frame_25=q4 = vt; // wave colour cycle +per_frame_26= +per_frame_27=rb = if(rb,rb,.2 + rand(1001)*.001*.6); +per_frame_28=rc = if(rc,rc,.2 + rand(1001)*.001*.6); +per_frame_29=rd = if(rd,rd,.2 + rand(1001)*.001*.6); +per_frame_30=re = if(re,re,.2 + rand(1001)*.001*.6); +per_frame_31= +per_frame_32=rot = .26; +per_frame_33=cx = .3 + .1*sin(vt*re) + .1*cos(vt*rc); +per_frame_34=cy = .5 + .2*sin(vt*rb) + .1*cos(vt*rd); +per_frame_35= +per_frame_36= +per_frame_37=q5 = min(1,.5*treb_avg)*.035; +per_frame_38=q6 = min(1,.5*mid_avg)*.035; +per_frame_39=q7 = min(1,.5*bass_avg)*.035; +per_frame_40= +per_frame_41= +per_pixel_1=num = 8; +per_pixel_2=pi = 3.141592654; +per_pixel_3=radi = (y-.5)*.75; +per_pixel_4=radi = (y-.5); +per_pixel_5=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_6= +per_pixel_7=an = ang + pi + time; +per_pixel_8=an = an - pi*2*int(an/(pi*2)); +per_pixel_9= +per_pixel_10=mod = .1; +per_pixel_11= +per_pixel_12=seg = ang + pi; +per_pixel_13=seg = seg/(pi*2)*num; +per_pixel_14=seg = int(seg); +per_pixel_15=seg = seg - equal(seg,num); +per_pixel_16= +per_pixel_17=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_18=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_19=//anga = anga + pi/6; // num = 6 +per_pixel_20=anga = anga + pi/4; // num = 8 +per_pixel_21=//anga = anga + .85; // num = 10 +per_pixel_22= +per_pixel_23= +per_pixel_24=ox = .5 - radi*sin(anga); +per_pixel_25=oy = .5 + radi*cos(anga); +per_pixel_26= +per_pixel_27=//rot = if(equal(seg,0),rot,0); +per_pixel_28= +per_pixel_29=dx = equal(seg,3)*(x-ox); +per_pixel_30=dy = equal(seg,3)*(y-oy); +per_pixel_31= +per_pixel_32=dx = above(seg,0)*(x-ox); +per_pixel_33=dy = above(seg,0)*(y-oy); +per_pixel_34= +per_pixel_35=//dx = equal(seg,1)*(x - .5)*2; diff --git a/presets/presets_milkdrop_104/yin + Phat + EoS - Dreams of Blood.milk b/presets/presets_milkdrop_104/yin + Phat + EoS - Dreams of Blood.milk new file mode 100644 index 0000000000..11d2c1ba4b --- /dev/null +++ b/presets/presets_milkdrop_104/yin + Phat + EoS - Dreams of Blood.milk @@ -0,0 +1,509 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.321288 +fWarpScale=1.986883 +fZoomExponent=0.880200 +fShader=0.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=advance=q4; +wave_0_per_frame4=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.40; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.40; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//bx = xp; +wave_0_per_point17=//by = yp*cos(q1) - zp*sin(q1); +wave_0_per_point18=//bz = yp*sin(q1) + zp*cos(q1); +wave_0_per_point19= +wave_0_per_point20=//ax = bx*cos(q2) - bz*sin(q2); +wave_0_per_point21=//ay = by; +wave_0_per_point22=//az = bx*sin(q2) + bz*cos(q2); +wave_0_per_point23= +wave_0_per_point24=//xp = ax*cos(q3) - ay*sin(q3); +wave_0_per_point25=//yp = ax*sin(q3) + ay*cos(q3); +wave_0_per_point26=//yz = az; +wave_0_per_point27= +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=//pull stars toward screen +wave_0_per_point31=xp=xp - q4; +wave_0_per_point32=yp=yp - q5; +wave_0_per_point33=zp=zp + 1 - q6; +wave_0_per_point34= +wave_0_per_point35= +wave_0_per_point36=//correct when below 0 +wave_0_per_point37=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point38=zp=if( above(zp,2) , zp-2 , zp ); +wave_0_per_point39= +wave_0_per_point40=//darken far stars +wave_0_per_point41=a=(1 - zp*0.5); +wave_0_per_point42=a=min(a,1); +wave_0_per_point43=a=max(a,0); +wave_0_per_point44= +wave_0_per_point45=zp=zp*0.7; +wave_0_per_point46= +wave_0_per_point47=x_screen=xp/zp + 0.5; +wave_0_per_point48=y_screen=yp/zp + 0.5; +wave_0_per_point49= +wave_0_per_point50=x=x_screen; +wave_0_per_point51=y=y_screen; +wave_0_per_point52= +wave_0_per_point53=r=1; +wave_0_per_point54=g=1; +wave_0_per_point55=b=1; +wave_0_per_point56= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0 +wave_1_per_frame1=advance=advance+ 0.015; +wave_1_per_frame2=advance=if( above(advance,10) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.24)+sin(s*34.3)+sin(s*15.8); +wave_1_per_point5=xp=xp*0.40; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.44)+cos(s*17.4)+sin(s*35.7); +wave_1_per_point9=yp=yp*0.40; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*42.4)+cos(s*17.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=//bx = xp; +wave_1_per_point17=//by = yp*cos(q1) - zp*sin(q1); +wave_1_per_point18=//bz = yp*sin(q1) + zp*cos(q1); +wave_1_per_point19= +wave_1_per_point20=//ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point21=//ay = by; +wave_1_per_point22=//az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point23= +wave_1_per_point24=//xp = ax*cos(q3) - ay*sin(q3); +wave_1_per_point25=//yp = ax*sin(q3) + ay*cos(q3); +wave_1_per_point26=//yz = az; +wave_1_per_point27= +wave_1_per_point28= +wave_1_per_point29= +wave_1_per_point30=//pull stars toward screen +wave_1_per_point31=xp=xp - q4; +wave_1_per_point32=yp=yp - q5; +wave_1_per_point33=zp=zp + 1 - q6; +wave_1_per_point34= +wave_1_per_point35= +wave_1_per_point36=//correct when below 0 +wave_1_per_point37=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point38=zp=if( above(zp,2) , zp-2 , zp ); +wave_1_per_point39= +wave_1_per_point40=//darken far stars +wave_1_per_point41=a=(1 - zp*0.5); +wave_1_per_point42=a=min(a,1); +wave_1_per_point43=a=max(a,0); +wave_1_per_point44= +wave_1_per_point45=zp=zp*0.7; +wave_1_per_point46= +wave_1_per_point47=x_screen=xp/zp + 0.5; +wave_1_per_point48=y_screen=yp/zp + 0.5; +wave_1_per_point49= +wave_1_per_point50=x=x_screen; +wave_1_per_point51=y=y_screen; +wave_1_per_point52= +wave_1_per_point53=r=1; +wave_1_per_point54=g=1; +wave_1_per_point55=b=1; +wave_1_per_point56= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=0.500001 +wavecode_2_b=0.100001 +wavecode_2_a=1.000000 +wave_2_per_frame1= +wave_2_per_frame2=xa=sin(q8*0.6-0.5)*0.2; +wave_2_per_frame3=ya=sin(q8*0.7-0.5)*0.2; +wave_2_per_frame4=za=sin(q8*0.5-0.5); +wave_2_per_frame5=t4=xa; +wave_2_per_frame6=t5=ya; +wave_2_per_frame7=t6=za; +wave_2_per_point1= +wave_2_per_point2=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point4=ay = 1.3*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point5=az = 0; +wave_2_per_point6= +wave_2_per_point7=bx = ax; +wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point10= +wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point12=ay = by; +wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point14= +wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point17=bz = az; +wave_2_per_point18= +wave_2_per_point19=as=above(cos(q3+1.57)*cos(q2)*bx+sin(q3+1.57)*sin(q1)*by+sin(q2)*bz,0); +wave_2_per_point20=a=t*(.07*(1-as)+as); +wave_2_per_point21= +wave_2_per_point22= +wave_2_per_point23=//pull stars toward screen +wave_2_per_point24=bx=bx - t4*5; +wave_2_per_point25=by=by - t5*5; +wave_2_per_point26=bz=bz + t6*5; +wave_2_per_point27= +wave_2_per_point28= +wave_2_per_point29=vx=bx; vy=by; vz=bz; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32= +wave_2_per_point33=x=vx/abs(vz-10)+.5; +wave_2_per_point34=y=vy/abs(vz-10)+.5; +wave_2_per_point35= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=0.500000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=xa=sin(q8*0.6-0.5)*0.2; +wave_3_per_frame3=ya=sin(q8*0.7-0.5)*0.2; +wave_3_per_frame4=za=sin(q8*0.5-0.5); +wave_3_per_frame5=t4=xa; +wave_3_per_frame6=t5=ya; +wave_3_per_frame7=t6=za; +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point3=ay = 0; +wave_3_per_point4=az = 1.2*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point5= +wave_3_per_point6=bx = ax; +wave_3_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point9= +wave_3_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point11=ay = by; +wave_3_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point13= +wave_3_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point16=bz = az; +wave_3_per_point17= +wave_3_per_point18=as=above(cos(q3-1.57)*cos(q2)*bx+sin(q3-1.57)*sin(q1)*by+sin(q2)*bz,0); +wave_3_per_point19=a=t*(.07*(1-as)+as); +wave_3_per_point20= +wave_3_per_point21=//pull stars toward screen +wave_3_per_point22=bx=bx - t4*5; +wave_3_per_point23=by=by - t5*5; +wave_3_per_point24=bz=bz + t6*5; +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=vx=bx; vy=by; vz=bz; +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30= +wave_3_per_point31=x=vx/abs(vz-10)+.5; +wave_3_per_point32=y=vy/abs(vz-10)+.5; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.078465 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.812907 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=10 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.368212 +shapecode_1_ang=1.884956 +shapecode_1_tex_ang=0.691150 +shapecode_1_tex_zoom=1.577481 +shapecode_1_r=0.700000 +shapecode_1_g=0.400000 +shapecode_1_b=0.300000 +shapecode_1_a=0.090000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.550000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=xa=sin(q8*0.6-0.5)*0.2; +shape_1_per_frame3=ya=sin(q8*0.7-0.5)*0.2; +shape_1_per_frame4=za=sin(q8*0.5-0.5); +shape_1_per_frame5=xa=-xa*5; +shape_1_per_frame6=ya=-ya*5; +shape_1_per_frame7=zr=za*0.5+0.5; +shape_1_per_frame8=zr=zr*zr; +shape_1_per_frame9=rad=rad + zr*0.5; +shape_1_per_frame10=rad=rad*0.5; +shape_1_per_frame11=za=za*5; +shape_1_per_frame12=ang=time; +shape_1_per_frame13= +shape_1_per_frame14= +shape_1_per_frame15=x=xa/abs(za-10)+.5; +shape_1_per_frame16=y=ya/abs(za-10)+.5; +shapecode_2_enabled=0 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.543040 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.570700 +shapecode_2_tex_zoom=1.500990 +shapecode_2_r=0.000000 +shapecode_2_g=0.500000 +shapecode_2_b=0.600000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.700000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.114900 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.700000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.800000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=st=if(equal(st,0),time-131,st); +per_frame_2=mytime=time-st; +per_frame_3= +per_frame_4=phi=6.2831*(mytime+4.564)*.02; +per_frame_5=theta=6.2831*(mytime*.03+1.54); +per_frame_6=rho=6.2831*abs(sin(mytime*0)); +per_frame_7= +per_frame_8=q1=phi; +per_frame_9=q2=theta; +per_frame_10=q3=rho; +per_frame_11= +per_frame_12=ax=0; ay=0; az=-30; +per_frame_13=bx = ax; +per_frame_14=by = ay*cos(q1) - az*sin(q1); +per_frame_15=bz = ay*sin(q1) + az*cos(q1); +per_frame_16= +per_frame_17=ax = bx*cos(q2) - bz*sin(q2); +per_frame_18=ay = by; +per_frame_19=az = bx*sin(q2) + bz*cos(q2); +per_frame_20= +per_frame_21=bx = ax*cos(q3) - ay*sin(q3); +per_frame_22=by = ax*sin(q3) + ay*cos(q3); +per_frame_23=bz = az; +per_frame_24=vx=bx; vy=by; vz=bz; +per_frame_25= +per_frame_26=//q7=vx/abs(vz-10)+.5; +per_frame_27=vy=-vy+1; +per_frame_28=//q8=vy/abs(vz-10)+.5; +per_frame_29=//q7=if(1-below(vz,0), -100,q7); +per_frame_30=//q8=if(1-below(vz,0), -100,q8); +per_frame_31= +per_frame_32=//ob_size=1; +per_frame_33=//ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); +per_frame_34=monitor=mytime; +per_frame_35= +per_frame_36=vol=(bass+mid+treb)*0.25; +per_frame_37=vol=vol*vol; +per_frame_38=mtime=mtime+vol*0.03*(75/fps); +per_frame_39=q8=mtime; +per_frame_40= +per_frame_41=xa=sin(mtime*0.6)*0.2; +per_frame_42=ya=sin(mtime*0.7)*0.2; +per_frame_43=za=sin(mtime*0.5); +per_frame_44=q4=xa; +per_frame_45=q5=ya; +per_frame_46=q6=za; +per_frame_47=decay=0.99; +per_frame_48=dy=-ya*0.004; +per_frame_49=dx=xa*0.004; +per_frame_50= +per_frame_51=x=xa/abs(za-10)+.5; +per_frame_52=y=ya/abs(za-10)+.5; +per_frame_53=cx=x;cy=y; +per_frame_54=sx=1 + za*0.004; +per_frame_55=sy=sx; diff --git a/presets_milkdrop_104/yin - 240 - Electric universe.milk b/presets/presets_milkdrop_104/yin - 240 - Electric universe.milk similarity index 100% rename from presets_milkdrop_104/yin - 240 - Electric universe.milk rename to presets/presets_milkdrop_104/yin - 240 - Electric universe.milk diff --git a/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum.milk b/presets/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum.milk similarity index 100% rename from presets_milkdrop_104/yin - 250 - Artificial poles of the continuum.milk rename to presets/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum.milk diff --git a/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum_Phat's_star_mix.milk b/presets/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum_Phat's_star_mix.milk similarity index 100% rename from presets_milkdrop_104/yin - 250 - Artificial poles of the continuum_Phat's_star_mix.milk rename to presets/presets_milkdrop_104/yin - 250 - Artificial poles of the continuum_Phat's_star_mix.milk diff --git a/presets_milkdrop_104/yin - 253 - Artificial poles of the continuum (remix #3).milk b/presets/presets_milkdrop_104/yin - 253 - Artificial poles of the continuum (remix #3).milk similarity index 100% rename from presets_milkdrop_104/yin - 253 - Artificial poles of the continuum (remix #3).milk rename to presets/presets_milkdrop_104/yin - 253 - Artificial poles of the continuum (remix #3).milk diff --git a/presets_milkdrop_104/yin - 280 - Coming home.milk b/presets/presets_milkdrop_104/yin - 280 - Coming home.milk similarity index 100% rename from presets_milkdrop_104/yin - 280 - Coming home.milk rename to presets/presets_milkdrop_104/yin - 280 - Coming home.milk diff --git a/presets/presets_milkdrop_104/yin - 290 - Sonic brainstorm.milk b/presets/presets_milkdrop_104/yin - 290 - Sonic brainstorm.milk new file mode 100644 index 0000000000..ac1466d274 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 290 - Sonic brainstorm.milk @@ -0,0 +1,534 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.960000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.880200 +fShader=1.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.598910 +mv_dy=0.978744 +mv_l=0.500000 +mv_r=0.296168 +mv_g=0.490016 +mv_b=0.461879 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999994 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_0_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_0_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_0_per_frame4= +wave_0_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_0_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_0_per_frame7=t2=max(1,v); +wave_0_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_0_per_frame9=t3=min(sc,100); +wave_0_per_point1=// local space coordinates +wave_0_per_point2=x1=.5*value1; +wave_0_per_point3=z1=t8+2.5*(sample+0); +wave_0_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_0_per_point5= +wave_0_per_point6=// local space deformations +wave_0_per_point7=// precalc some values +wave_0_per_point8=t1=z1*q6*.0083; +wave_0_per_point9=t7=cos(t1); +wave_0_per_point10=t6=sin(t1); +wave_0_per_point11=t5=cos(100*t1); +wave_0_per_point12=t4=sin(100*t1); +wave_0_per_point13= +wave_0_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_0_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_0_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_0_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_0_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_0_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_0_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_0_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_0_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_0_per_point23= +wave_0_per_point24=ox=x1; +wave_0_per_point25=oy=y1; +wave_0_per_point26= +wave_0_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_0_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_0_per_point29= +wave_0_per_point30=// scene space coordinates +wave_0_per_point31=x1=x1-q1; +wave_0_per_point32=y1=y1-q2; +wave_0_per_point33= +wave_0_per_point34=// screen space coordinates +wave_0_per_point35=x=.5*(1+x1/(z1-10)); +wave_0_per_point36=y=.5*(1+y1/(z1-10)); +wave_0_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.025,2.5); +wave_0_per_point38= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999994 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_1_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_1_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_1_per_frame4= +wave_1_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_1_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_1_per_frame7=t2=max(1,v); +wave_1_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_1_per_frame9=t3=min(sc,100); +wave_1_per_point1=// local space coordinates +wave_1_per_point2=x1=.5*value1; +wave_1_per_point3=z1=t8+2.5*(sample+1); +wave_1_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_1_per_point5= +wave_1_per_point6=// local space deformations +wave_1_per_point7=// precalc some values +wave_1_per_point8=t1=z1*q6*.0083; +wave_1_per_point9=t7=cos(t1); +wave_1_per_point10=t6=sin(t1); +wave_1_per_point11=t5=cos(100*t1); +wave_1_per_point12=t4=sin(100*t1); +wave_1_per_point13= +wave_1_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_1_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_1_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_1_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_1_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_1_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_1_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_1_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_1_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_1_per_point23= +wave_1_per_point24=ox=x1; +wave_1_per_point25=oy=y1; +wave_1_per_point26= +wave_1_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_1_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_1_per_point29= +wave_1_per_point30=// scene space coordinates +wave_1_per_point31=x1=x1-q1; +wave_1_per_point32=y1=y1-q2; +wave_1_per_point33= +wave_1_per_point34=// screen space coordinates +wave_1_per_point35=x=.5*(1+x1/(z1-10)); +wave_1_per_point36=y=.5*(1+y1/(z1-10)); +wave_1_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.025,2.5); +wave_1_per_point38= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999994 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_2_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_2_per_frame4= +wave_2_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_2_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_2_per_frame7=t2=max(1,v); +wave_2_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_2_per_frame9=t3=min(sc,100); +wave_2_per_point1=// local space coordinates +wave_2_per_point2=x1=.5*value1; +wave_2_per_point3=z1=t8+2.5*(sample+2); +wave_2_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_2_per_point5= +wave_2_per_point6=// local space deformations +wave_2_per_point7=// precalc some values +wave_2_per_point8=t1=z1*q6*.0083; +wave_2_per_point9=t7=cos(t1); +wave_2_per_point10=t6=sin(t1); +wave_2_per_point11=t5=cos(100*t1); +wave_2_per_point12=t4=sin(100*t1); +wave_2_per_point13= +wave_2_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_2_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_2_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_2_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_2_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_2_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_2_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_2_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_2_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_2_per_point23= +wave_2_per_point24=ox=x1; +wave_2_per_point25=oy=y1; +wave_2_per_point26= +wave_2_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_2_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_2_per_point29= +wave_2_per_point30=// scene space coordinates +wave_2_per_point31=x1=x1-q1; +wave_2_per_point32=y1=y1-q2; +wave_2_per_point33= +wave_2_per_point34=// screen space coordinates +wave_2_per_point35=x=.5*(1+x1/(z1-10)); +wave_2_per_point36=y=.5*(1+y1/(z1-10)); +wave_2_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.025,2.5); +wave_2_per_point38= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999994 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_3_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_3_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_3_per_frame4= +wave_3_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_3_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_3_per_frame7=t2=max(1,v); +wave_3_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_3_per_frame9=t3=min(sc,100); +wave_3_per_point1=// local space coordinates +wave_3_per_point2=x1=.5*value1; +wave_3_per_point3=z1=t8+2.5*(sample+3); +wave_3_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_3_per_point5= +wave_3_per_point6=// local space deformations +wave_3_per_point7=// precalc some values +wave_3_per_point8=t1=z1*q6*.0083; +wave_3_per_point9=t7=cos(t1); +wave_3_per_point10=t6=sin(t1); +wave_3_per_point11=t5=cos(100*t1); +wave_3_per_point12=t4=sin(100*t1); +wave_3_per_point13= +wave_3_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_3_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_3_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_3_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_3_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_3_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_3_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_3_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_3_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_3_per_point23= +wave_3_per_point24=ox=x1; +wave_3_per_point25=oy=y1; +wave_3_per_point26= +wave_3_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_3_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_3_per_point29= +wave_3_per_point30=// scene space coordinates +wave_3_per_point31=x1=x1-q1; +wave_3_per_point32=y1=y1-q2; +wave_3_per_point33= +wave_3_per_point34=// screen space coordinates +wave_3_per_point35=x=.5*(1+x1/(z1-10)); +wave_3_per_point36=y=.5*(1+y1/(z1-10)); +wave_3_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.025,2.5); +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.512626 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734500 +shapecode_0_r=0.010000 +shapecode_0_g=0.010000 +shapecode_0_b=0.010000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.050000 +shapecode_0_g2=0.050000 +shapecode_0_b2=0.050000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.200000 +shapecode_0_border_g=0.200000 +shapecode_0_border_b=0.200000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=r3=1-abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_0_per_frame2=g3=1-abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_0_per_frame3=b3=1-abs(sin(time*2.54+.65+sin(time*3.77+8))); +shape_0_per_frame4= +shape_0_per_frame5=coef=.1+.05*(75/FPS); +shape_0_per_frame6=r=coef*b3; +shape_0_per_frame7=g=coef*r3; +shape_0_per_frame8=b=coef*g3; +shape_0_per_frame9= +shape_0_per_frame10=r2=.05*g; +shape_0_per_frame11=g2=.05*b; +shape_0_per_frame12=b2=.05*r; +shape_0_per_frame13= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.808122 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999995 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.210000 +shapecode_1_g2=0.210000 +shapecode_1_b2=0.210000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=sw=frame%2; +shape_1_per_frame2= +shape_1_per_frame3=xx=.5; +shape_1_per_frame4=yy=sw*.325+(1-sw)*.8; +shape_1_per_frame5=rr=sw*1+(1-sw)*.5; +shape_1_per_frame6= +shape_1_per_frame7=var=sw*mid+(1-sw)*treb; +shape_1_per_frame8= +shape_1_per_frame9=r=0; +shape_1_per_frame10=g=r; +shape_1_per_frame11=b=r; +shape_1_per_frame12=r2=.15+.03*var; +shape_1_per_frame13=g2=r2; +shape_1_per_frame14=b2=r2; +shape_1_per_frame15=r=sw*r+(1-sw)*(r+.1); +shape_1_per_frame16=g=sw*g+(1-sw)*(g+.1); +shape_1_per_frame17=b=sw*b+(1-sw)*(b+.1); +shape_1_per_frame18= +shape_1_per_frame19=r2=sw*r2+(1-sw)*(r2+.1); +shape_1_per_frame20=g2=sw*g2+(1-sw)*(g2+.1); +shape_1_per_frame21=b2=sw*b2+(1-sw)*(b2+.1); +shape_1_per_frame22= +shape_1_per_frame23=rad=.6667*rr*(.8+.04*var); +shape_1_per_frame24= +shape_1_per_frame25=a=.6; +shape_1_per_frame26=a2=a; +shape_1_per_frame27=border_a=a; +shape_1_per_frame28= +shape_1_per_frame29= +shape_1_per_frame30=x=xx; +shape_1_per_frame31=y=yy; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221666 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.130000 +shapecode_2_g=0.130000 +shapecode_2_b=0.130000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.050000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.050000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=ssw=below(frame%4,2); +shape_2_per_frame2=sw=frame%2; +shape_2_per_frame3= +shape_2_per_frame4=xx=.5; +shape_2_per_frame5=yy=sw*.325+(1-sw)*.8; +shape_2_per_frame6=rr=sw*1+(1-sw)*.75; +shape_2_per_frame7= +shape_2_per_frame8=var=ssw*bass+(1-ssw)*treb; +shape_2_per_frame9= +shape_2_per_frame10=rad=.6667*rr*(.2+.02*var); +shape_2_per_frame11=rad=sw*rad+(1-sw)*rad*.85; +shape_2_per_frame12=r=.13+.02*var; +shape_2_per_frame13=g=r; +shape_2_per_frame14=b=r; +shape_2_per_frame15= +shape_2_per_frame16=r=(1-sw)*(r+.2)+sw*r; +shape_2_per_frame17=g=(1-sw)*(g+.2)+sw*g; +shape_2_per_frame18=b=(1-sw)*(b+.2)+sw*b; +shape_2_per_frame19= +shape_2_per_frame20=a=.6; +shape_2_per_frame21=a2=a; +shape_2_per_frame22=border_a=a; +shape_2_per_frame23= +shape_2_per_frame24=x=xx; +shape_2_per_frame25=y=yy; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.520000 +shapecode_3_y=0.530000 +shapecode_3_rad=0.166107 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.230000 +shapecode_3_g=0.230000 +shapecode_3_b=0.230000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ssw=below(frame%4,2); +shape_3_per_frame2=sw=frame%2; +shape_3_per_frame3= +shape_3_per_frame4=xx=.5; +shape_3_per_frame5=yy=ssw*.325+(1-ssw)*.8; +shape_3_per_frame6=rr=ssw*1+(1-ssw)*.5; +shape_3_per_frame7= +shape_3_per_frame8=var=ssw*bass+(1-ssw)*treb; +shape_3_per_frame9=x=sw*(xx+rr*(.02+.005*var))+(1-sw)*(xx-rr*(.1-.01*var)); +shape_3_per_frame10=y=sw*(yy+rr*(.03+.005*var))+(1-sw)*(yy-rr*(.2-.01*var)); +shape_3_per_frame11= +shape_3_per_frame12=rad=rr*(sw*.16+(1-sw)*.5); +shape_3_per_frame13=rad=rad*ssw+(1-ssw)*rad*.6; +shape_3_per_frame14= +shape_3_per_frame15=r=sw*.23+(1-sw)*.15; +shape_3_per_frame16=g=r; +shape_3_per_frame17=b=r; +shape_3_per_frame18= +shape_3_per_frame19=x=(x-xx)*.667+xx; +shape_3_per_frame20=y=(y-yy)*.667+yy; +shape_3_per_frame21= +per_frame_1=// -------------------------------- beat detection code ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.75,sure); +per_frame_3=interval=if(equal(interval,0),.7*FPS,interval); +per_frame_4=avginterval=if(equal(avginterval,0),.7*FPS,avginterval); +per_frame_5=lockinterval=if(equal(lockinterval,0),.7*FPS,lockinterval ); +per_frame_6=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_7=dbass=(bass-pbass)*FPS; +per_frame_8=beat=below(dbass,0)*above(pdbass,0)*above(bass,.95*avgbass)*above(frame-lastbeat,FPS/3); +per_frame_9=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_10=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_11=sure=max(.5,sure); +per_frame_12=avgbass=.995*avgbass+.005*bass; +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=min(200,maxdbass); +per_frame_15=maxdbass=max(.02,maxdbass); +per_frame_16=interval=if(beat*below(frame-lastbeat,1.8*interval), ((frame-lastbeat)*.25+.75*interval),interval); +per_frame_17=lastbeat=if((1-force)*beat+equal(lastbeat+interval,frame),frame,lastbeat); +per_frame_18=avginterval=if(beat,.9*avginterval+.1*interval, avginterval); +per_frame_19=lockinterval=if(beat,.9*lockinterval+.1*avginterval,lockinterval); +per_frame_20=pbass=bass; +per_frame_21=pdbass=dbass; +per_frame_22=bpm=60*FPS*.3333*( ((2*(1-sure))/interval)+((2*sure)/avginterval)+(1/lockinterval) ); +per_frame_23=phase=min( (frame-lastbeat)/(.333*(2*sure*avginterval+2*(1-sure)*interval+lockinterval)), 1 ); +per_frame_24=beat=if(equal(phase,0),1,beat); +per_frame_25=interval=min(interval,.7*FPS); +per_frame_26=avginterval=min(avginterval,.7*FPS); +per_frame_27=lockinterval=min(lockinterval,.7*FPS); +per_frame_28=// ---------------------------------------------------------------------------------------------- +per_frame_29= +per_frame_30=warp=0; +per_frame_31=zoom=1+(FPS/85)*.002; +per_frame_32=q8=beat; +per_frame_33=q7=phase; // normalized phase between beats +per_frame_34=q6=bpm; // bpm +per_frame_35=decay=.95+.01*75/FPS; +per_frame_36= +per_frame_37=wx=(1-beat)*wx+beat*(-5+10*rand(1000)/1000); +per_frame_38=wx=(1-beat)*wx+beat*(wx+4*sign(wx)); +per_frame_39=wy=(1-beat)*wy+beat*(-10+20*rand(1000)/1000); +per_frame_40=fx=(1-beat)*fx+beat*(-1+rand(5)); +per_frame_41=am=(1-beat)*am+beat*(1.5*rand(100)/100); +per_frame_42=am=(1-beat)*am+beat*(equal(fx,-1)*(.5+am)*sign(-wx)+above(fx,-1)*am); +per_frame_43=rotval=(1-beat)*rotval+beat*(.02*q6/140)*(-1+2*rand(100)/100); +per_frame_44=myrot=(1-beat)*(myrot+rotval)+beat*0; +per_frame_45=q1=wx; +per_frame_46=q2=wy; +per_frame_47=q3=fx; +per_frame_48=q4=am; +per_frame_49=q5=myrot; diff --git a/presets/presets_milkdrop_104/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk b/presets/presets_milkdrop_104/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk new file mode 100644 index 0000000000..d2839d65d5 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 293 - Sonic brainstorm (inner state - group experience mix).milk @@ -0,0 +1,461 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700001 +fDecay=0.955000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.880200 +fShader=1.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.800000 +ob_g=0.800000 +ob_b=0.800000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.598910 +mv_dy=0.978744 +mv_l=0.500000 +mv_r=0.296168 +mv_g=0.490016 +mv_b=0.461879 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999994 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_0_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_0_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_0_per_frame4= +wave_0_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_0_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_0_per_frame7=t2=max(1,v); +wave_0_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_0_per_frame9=t3=min(sc,100); +wave_0_per_point1=// local space coordinates +wave_0_per_point2=x1=.5*value1; +wave_0_per_point3=z1=t8+2.5*(sample+0); +wave_0_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_0_per_point5= +wave_0_per_point6=// local space deformations +wave_0_per_point7=// precalc some values +wave_0_per_point8=t1=z1*q6*.0083; +wave_0_per_point9=t7=cos(t1); +wave_0_per_point10=t6=sin(t1); +wave_0_per_point11=t5=cos(100*t1); +wave_0_per_point12=t4=sin(100*t1); +wave_0_per_point13= +wave_0_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_0_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_0_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_0_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_0_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_0_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_0_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_0_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_0_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_0_per_point23= +wave_0_per_point24=ox=x1; +wave_0_per_point25=oy=y1; +wave_0_per_point26=// rotate around local z +wave_0_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_0_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_0_per_point29= +wave_0_per_point30=// scene space coordinates +wave_0_per_point31=x1=x1-q1; +wave_0_per_point32=y1=y1-q2; +wave_0_per_point33= +wave_0_per_point34=// screen space coordinates +wave_0_per_point35=x=.5*(1+x1/(z1-10)); +wave_0_per_point36=y=.5*(1+y1/(z1-10)); +wave_0_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.0125,2.5); +wave_0_per_point38= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999994 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_1_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_1_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_1_per_frame4= +wave_1_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_1_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_1_per_frame7=t2=max(1,v); +wave_1_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_1_per_frame9=t3=min(sc,100); +wave_1_per_point1=// local space coordinates +wave_1_per_point2=x1=.5*value1; +wave_1_per_point3=z1=t8+2.5*(sample+1); +wave_1_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_1_per_point5= +wave_1_per_point6=// local space deformations +wave_1_per_point7=// precalc some values +wave_1_per_point8=t1=z1*q6*.0083; +wave_1_per_point9=t7=cos(t1); +wave_1_per_point10=t6=sin(t1); +wave_1_per_point11=t5=cos(100*t1); +wave_1_per_point12=t4=sin(100*t1); +wave_1_per_point13= +wave_1_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_1_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_1_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_1_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_1_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_1_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_1_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_1_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_1_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_1_per_point23= +wave_1_per_point24=ox=x1; +wave_1_per_point25=oy=y1; +wave_1_per_point26=// rotate around local z +wave_1_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_1_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_1_per_point29= +wave_1_per_point30=// scene space coordinates +wave_1_per_point31=x1=x1-q1; +wave_1_per_point32=y1=y1-q2; +wave_1_per_point33= +wave_1_per_point34=// screen space coordinates +wave_1_per_point35=x=.5*(1+x1/(z1-10)); +wave_1_per_point36=y=.5*(1+y1/(z1-10)); +wave_1_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.0125,2.5); +wave_1_per_point38= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999994 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_2_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_2_per_frame4= +wave_2_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_2_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_2_per_frame7=t2=max(1,v); +wave_2_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_2_per_frame9=t3=min(sc,100); +wave_2_per_point1=// local space coordinates +wave_2_per_point2=x1=.5*value1; +wave_2_per_point3=z1=t8+2.5*(sample+2); +wave_2_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_2_per_point5= +wave_2_per_point6=// local space deformations +wave_2_per_point7=// precalc some values +wave_2_per_point8=t1=z1*q6*.0083; +wave_2_per_point9=t7=cos(t1); +wave_2_per_point10=t6=sin(t1); +wave_2_per_point11=t5=cos(100*t1); +wave_2_per_point12=t4=sin(100*t1); +wave_2_per_point13= +wave_2_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_2_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_2_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_2_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_2_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_2_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_2_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_2_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_2_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_2_per_point23= +wave_2_per_point24=ox=x1; +wave_2_per_point25=oy=y1; +wave_2_per_point26=// rotate around local z +wave_2_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_2_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_2_per_point29= +wave_2_per_point30=// scene space coordinates +wave_2_per_point31=x1=x1-q1; +wave_2_per_point32=y1=y1-q2; +wave_2_per_point33= +wave_2_per_point34=// screen space coordinates +wave_2_per_point35=x=.5*(1+x1/(z1-10)); +wave_2_per_point36=y=.5*(1+y1/(z1-10)); +wave_2_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.0125,2.5); +wave_2_per_point38= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999994 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +wave_3_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +wave_3_per_frame3=b=abs(sin(time*2.54+.65+sin(time*3.77+8))); +wave_3_per_frame4= +wave_3_per_frame5=t8= -30+40*q7;// 1st part's z-offset +wave_3_per_frame6=v=(1-q8)*v+q8*(-1+2*(frame%2))*q6/50; +wave_3_per_frame7=t2=max(1,v); +wave_3_per_frame8=sc=(1-q8)*sc+q8*(20*(bass+mid+treb)); +wave_3_per_frame9=t3=min(sc,100); +wave_3_per_point1=// local space coordinates +wave_3_per_point2=x1=.5*value1; +wave_3_per_point3=z1=t8+2.5*(sample+3); +wave_3_per_point4=y1=below(q3,3)*3*sin(1.5708*z1-time*2); +wave_3_per_point5= +wave_3_per_point6=// local space deformations +wave_3_per_point7=// precalc some values +wave_3_per_point8=t1=z1*q6*.0083; +wave_3_per_point9=t7=cos(t1); +wave_3_per_point10=t6=sin(t1); +wave_3_per_point11=t5=cos(100*t1); +wave_3_per_point12=t4=sin(100*t1); +wave_3_per_point13= +wave_3_per_point14=x1=x1-.05*below(q3,1)*sin(4.1887*y1+time); +wave_3_per_point15=x1=x1+equal(q3,-1)*sign(q3)*q4*(y1*y1*.1111); +wave_3_per_point16=x1=x1+equal(q3,0)*2*(q4+1)*t7; +wave_3_per_point17=y1=y1+equal(q3,0)*(q4+1)*1.2*t6; +wave_3_per_point18=x1= x1+equal(q3,2)*.1*(t5-t4); +wave_3_per_point19=y1= y1+equal(q3,2)*.12*(t5+t4); +wave_3_per_point20=x1=x1+equal(q3,1)*(x1-.5*value1+.1*cos(209.4367*y1)); +wave_3_per_point21=x1=x1+equal(q3,3)*(q4*.5+value2)*cos(t2*(6.2831*sample+time*75)); +wave_3_per_point22=y1=y1+equal(q3,3)*(q4*.5+value1)*sin(t2*(6.2831*sample+time*75)); +wave_3_per_point23= +wave_3_per_point24=ox=x1; +wave_3_per_point25=oy=y1; +wave_3_per_point26=// rotate around local z +wave_3_per_point27=x1=x1+below(q3,3)*(-x1+ox*cos(q5)-oy*sin(q5)); +wave_3_per_point28=y1=y1+below(q3,3)*(-y1+ox*sin(q5)+oy*cos(q5)); +wave_3_per_point29= +wave_3_per_point30=// scene space coordinates +wave_3_per_point31=x1=x1-q1; +wave_3_per_point32=y1=y1-q2; +wave_3_per_point33= +wave_3_per_point34=// screen space coordinates +wave_3_per_point35=x=.5*(1+x1/(z1-10)); +wave_3_per_point36=y=.5*(1+y1/(z1-10)); +wave_3_per_point37=a=below(z1,9)*pow(1-abs(z1-9)*.0125,2.5); +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.512626 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.601952 +shapecode_0_r=0.010000 +shapecode_0_g=0.010000 +shapecode_0_b=0.010000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.100000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.100000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.200000 +shapecode_0_border_g=0.200000 +shapecode_0_border_b=0.200000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=r3=1-abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_0_per_frame2=g3=1-abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_0_per_frame3=b3=1-abs(sin(time*2.54+.65+sin(time*3.77+8))); +shape_0_per_frame4= +shape_0_per_frame5=coef=.1+.05*(45/FPS); +shape_0_per_frame6=r=coef*b3; +shape_0_per_frame7=g=coef*r3; +shape_0_per_frame8=b=coef*g3; +shape_0_per_frame9=r2=.33*g; +shape_0_per_frame10=g2=.33*b; +shape_0_per_frame11=b2=.33*r; +shape_0_per_frame12= +shape_0_per_frame13=ang=(frame%12)*.5236; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ssw=be +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ssw=be +per_frame_1=// -------------------------------- beat detection code ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.75,sure); +per_frame_3=interval=if(equal(interval,0),.7*FPS,interval); +per_frame_4=avginterval=if(equal(avginterval,0),.7*FPS,avginterval); +per_frame_5=lockinterval=if(equal(lockinterval,0),.7*FPS,lockinterval ); +per_frame_6=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_7=dbass=(bass-pbass)*FPS; +per_frame_8=beat=below(dbass,0)*above(pdbass,0)*above(bass,.95*avgbass)*above(frame-lastbeat,FPS/3); +per_frame_9=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_10=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_11=sure=max(.5,sure); +per_frame_12=avgbass=.995*avgbass+.005*bass; +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=min(200,maxdbass); +per_frame_15=maxdbass=max(.02,maxdbass); +per_frame_16=interval=if(beat*below(frame-lastbeat,1.8*interval), ((frame-lastbeat)*.25+.75*interval),interval); +per_frame_17=lastbeat=if((1-force)*beat+equal(lastbeat+interval,frame),frame,lastbeat); +per_frame_18=avginterval=if(beat,.9*avginterval+.1*interval, avginterval); +per_frame_19=lockinterval=if(beat,.9*lockinterval+.1*avginterval,lockinterval); +per_frame_20=pbass=bass; +per_frame_21=pdbass=dbass; +per_frame_22=bpm=60*FPS*.3333*( ((2*(1-sure))/interval)+((2*sure)/avginterval)+(1/lockinterval) ); +per_frame_23=phase=min( (frame-lastbeat)/(.333*(2*sure*avginterval+2*(1-sure)*interval+lockinterval)), 1 ); +per_frame_24=beat=if(equal(phase,0),1,beat); +per_frame_25=interval=min(interval,.7*FPS); +per_frame_26=avginterval=min(avginterval,.7*FPS); +per_frame_27=lockinterval=min(lockinterval,.7*FPS); +per_frame_28=// ---------------------------------------------------------------------------------------------- +per_frame_29= +per_frame_30=warp=0; +per_frame_31=zoom=1-(FPS/85)*.002; +per_frame_32=q8=beat; +per_frame_33=q7=1-2*(phase); // normalized phase between beats +per_frame_34=q7=if(below(q7,-1),1,q7); +per_frame_35=q6=bpm; // bpm +per_frame_36=decay=.955+.005*40/FPS; +per_frame_37= +per_frame_38=wx=(1-beat)*wx+beat*(-5+10*rand(1000)/1000); +per_frame_39=wx=(1-beat)*wx+beat*(wx+3*sign(wx)); +per_frame_40=wy=(1-beat)*wy+beat*(-5+10*rand(1000)/1000); +per_frame_41=fx=(1-beat)*fx+beat*(-1+rand(5)); +per_frame_42=am=(1-beat)*am+beat*(1.5*rand(100)/100); +per_frame_43=am=(1-beat)*am+beat*(equal(fx,-1)*(.5+am)*sign(-wx)+above(fx,-1)*am); +per_frame_44=rotval=(1-beat)*rotval+beat*(.02*q6/140)*(-1+2*rand(100)/100); +per_frame_45=myrot=(1-beat)*(myrot+rotval)+beat*0; +per_frame_46=q1=wx; +per_frame_47=q2=wy; +per_frame_48=q3=fx; +per_frame_49=q4=am; +per_frame_50=q5=myrot; +per_frame_51=monitor=bpm; diff --git a/presets/presets_milkdrop_104/yin - 300 - Daydreamer.milk b/presets/presets_milkdrop_104/yin - 300 - Daydreamer.milk new file mode 100644 index 0000000000..92e1eba106 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 300 - Daydreamer.milk @@ -0,0 +1,557 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.490000 +fDecay=0.990000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.016446 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=rand(100)/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.527700 +shapecode_2_ang=3.141594 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.651899 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.099979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.344800 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=zoom=1; +per_frame_2=warp=0; +per_frame_3=ib_size=0; +per_frame_4=ib_a=0; +per_frame_5=ob_size=1; +per_frame_6=ob_a=.01+.02*(FPS/100); +per_frame_7=vol=min(.99*vol+.01*(bass+mid+treb),3); +per_frame_8=c1=.333*(vol+1)*time+3.34; +per_frame_9=c2=.87*time+2.97; +per_frame_10=ob_r=abs(cos(c1+sin(c2))); +per_frame_11=ob_g=abs(sin(c1+cos(c2))); +per_frame_12=ob_b=abs(sin(c1+sin(c2))); +per_frame_13= +per_frame_14=q1=.18*cos(.354*time+.54+cos(.521*time+1.432)); // spiral bend +per_frame_15=q2=.075; // master y-offset +per_frame_16=q3=sqrt(.995*(.5*time-int(.5*time))); // glow phase +per_pixel_1=zoom=zoom+below(rad,.45)*sqr(1-rad/.45)*5; diff --git a/presets/presets_milkdrop_104/yin - 302 - Daydreamer (remix 2).milk b/presets/presets_milkdrop_104/yin - 302 - Daydreamer (remix 2).milk new file mode 100644 index 0000000000..fbe664abe2 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 302 - Daydreamer (remix 2).milk @@ -0,0 +1,557 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.490000 +fDecay=0.990000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.016446 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=rand(100)/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=1; +wave_3_per_frame2=g=1; +wave_3_per_frame3=b=0; +wave_3_per_frame4= +wave_3_per_frame5=t1=q1; +wave_3_per_frame6= +wave_3_per_frame7=t7=.0; +wave_3_per_frame8=t8=.45; +wave_3_per_frame9= +wave_3_per_frame10=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame11=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame12=ddtan=atan2(ddy,ddx); +wave_3_per_frame13=t2=-ddtan; +wave_3_per_frame14= +wave_3_per_frame15=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame16=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame17= +wave_3_per_frame18=t6=-sign(t1); +wave_3_per_frame19=t7=t7-val1; +wave_3_per_frame20=t8=t8-val2; +wave_3_per_frame21= +wave_3_per_frame22=t3=q2; +wave_3_per_frame23=t5=-1+2*(frame%2); +wave_3_per_frame24= +wave_3_per_frame25=t4=.45; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=(x-0)*.55+0; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=a=below(sample,.995); +wave_3_per_point29=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point30=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point31=a=a*d; +wave_3_per_point32= +wave_3_per_point33= +wave_3_per_point34=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.527700 +shapecode_2_ang=3.141594 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.651899 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.099979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.698849 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=zoom=.996; +per_frame_2=warp=0; +per_frame_3=ib_size=0; +per_frame_4=ib_a=0; +per_frame_5=ob_size=1; +per_frame_6=ob_a=.01+.02*(FPS/100); +per_frame_7=vol=min(.99*vol+.01*(bass+mid+treb),3); +per_frame_8=c1=.333*(vol+1)*time+3.34; +per_frame_9=c2=.87*time+2.97; +per_frame_10=ob_r=abs(cos(c1+sin(c2))); +per_frame_11=ob_g=abs(sin(c1+cos(c2))); +per_frame_12=ob_b=abs(sin(c1+sin(c2))); +per_frame_13= +per_frame_14=q1=.18*cos(.354*time+.54+cos(.521*time+1.432)); // spiral bend +per_frame_15=q2=.075; // master y-offset +per_frame_16=q3=sqrt(.995*(.5*time-int(.5*time))); // glow phase diff --git a/presets_milkdrop_104/yin - 311 - Ocean of Light (bouncing off mix).milk b/presets/presets_milkdrop_104/yin - 311 - Ocean of Light (bouncing off mix).milk similarity index 100% rename from presets_milkdrop_104/yin - 311 - Ocean of Light (bouncing off mix).milk rename to presets/presets_milkdrop_104/yin - 311 - Ocean of Light (bouncing off mix).milk diff --git a/presets/presets_milkdrop_104/yin - 313 - Ocean of Light (ESP).milk b/presets/presets_milkdrop_104/yin - 313 - Ocean of Light (ESP).milk new file mode 100644 index 0000000000..f0a0e03b29 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 313 - Ocean of Light (ESP).milk @@ -0,0 +1,367 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.411715 +fWaveSmoothing=0.900000 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.500000 +wavecode_0_g=0.600000 +wavecode_0_b=0.900000 +wavecode_0_a=1.000000 +wave_0_per_frame1=a=.3; +wave_0_per_point1=ax=q4*(-1+2*sample); +wave_0_per_point2=ay=q2; +wave_0_per_point3=coef=sqrt(sin(3.1415*sample)); +wave_0_per_point4=az=q3+q4*(rand(10000)*.0001)*coef; +wave_0_per_point5= +wave_0_per_point6=ay=ay+.03*q4*sin(q4*.5*ax+q4*.75*(az-q3)+2*time+sin(q4*1.25*ax+q4*.75*(az-q3)+3*time)); +wave_0_per_point7=dist=sqrt( sqr(ax)+sqr(az-q3) ); +wave_0_per_point8=ay=ay+.05*sin(q4*2.5*dist-3.1415*time); +wave_0_per_point9= +wave_0_per_point10=tcx=q4*(-1+.3333*(q7+.5)); +wave_0_per_point11=tcz=q3+q4*(-1+.3333*(q8+.5)); +wave_0_per_point12=dist=sqrt( sqr(ax-tcx)+sqr(az-tcz) ); +wave_0_per_point13=ay=ay-q4*below(dist,.5*q4)*pow(1-dist/(.5*q4),8)*pow(q1,3); +wave_0_per_point14= +wave_0_per_point15=invz=1/(az+100); +wave_0_per_point16=x=.5+5*ax*invz; +wave_0_per_point17=y=.5+5*ay*invz; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.500000 +wavecode_1_g=0.600000 +wavecode_1_b=0.900000 +wavecode_1_a=1.000000 +wave_1_per_frame1=a=.3; +wave_1_per_point1=ax=q4*(-1+2*sample); +wave_1_per_point2=ay=q2; +wave_1_per_point3=coef=sqrt(sin(3.1415*sample)); +wave_1_per_point4=az=q3+q4*(-rand(10000)*.0001)*coef; +wave_1_per_point5= +wave_1_per_point6=ay=ay+.03*q4*sin(q4*.5*ax+q4*.75*(az-q3)+2*time+sin(q4*1.25*ax+q4*.75*(az-q3)+3*time)); +wave_1_per_point7=dist=sqrt( sqr(ax)+sqr(az-q3) ); +wave_1_per_point8=ay=ay+.05*sin(q4*2.5*dist-3.1415*time); +wave_1_per_point9= +wave_1_per_point10=tcx=q4*(-1+.3333*(q7+.5)); +wave_1_per_point11=tcz=q3+q4*(-1+.3333*(q8+.5)); +wave_1_per_point12=dist=sqrt( sqr(ax-tcx)+sqr(az-tcz) ); +wave_1_per_point13=ay=ay-q4*below(dist,.5*q4)*pow(1-dist/(.5*q4),8)*pow(q1,3); +wave_1_per_point14= +wave_1_per_point15=invz=1/(az+100); +wave_1_per_point16=x=.5+5*ax*invz; +wave_1_per_point17=y=.5+5*ay*invz; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8= +wave_2_per_frame9=t3=-1+q7*.3333+.1667; +wave_2_per_frame10=t4=-1+q8*.3333+.1667; +wave_2_per_frame11= +wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_2_per_point1=sample=.5*sample; +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+4*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+4*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=t3=-1+q7*.3333+.1667; +wave_3_per_frame10=t4=-1+q8*.3333+.1667; +wave_3_per_frame11= +wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_3_per_point1=sample=.5*(sample+1); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+4*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+4*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.042077 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.2*time; +shape_2_per_frame2= +shape_2_per_frame3=additive=below(frame%5,4); +shape_2_per_frame4= +shape_2_per_frame5=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame6=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame7=b2=.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=4.146902 +shapecode_3_tex_zoom=0.670400 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,0); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=warp=0; +per_frame_2=zoom=1; +per_frame_3= +per_frame_4=rnd=equal(frame%400,0); +per_frame_5=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_6=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_7=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_8=offx=0; +per_frame_9=offy=-3.1; +per_frame_10=offz=-60; +per_frame_11=sc=4; +per_frame_12= +per_frame_13=q2=offy+.1*sin(time); // y-offset +per_frame_14=q3=offz; // z-offset +per_frame_15=q4=sc; // scale +per_frame_16= +per_frame_17=q5=0;q6=0; +per_frame_18= +per_frame_19= +per_frame_20=stime=if(equal(stime,0),time,stime ); +per_frame_21=mytime=time-stime; +per_frame_22=phase = .1*mytime - int(.1*mytime); +per_frame_23=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_24=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_25=q7=tilex; +per_frame_26=q8=tilez; +per_frame_27=q1=abs(sin(3.1415*phase)); +per_frame_28=tt1=.3333*time; +per_frame_29=tt2=int(tt1); +per_frame_30=q5=(tt1-tt2)*(tt2%2)+(1-tt2%2)*-1; +per_pixel_1=rr=abs(rad-q5); +per_pixel_2=factor=below(rr,.1)*rr/.1; +per_pixel_3=zoom=zoom-.07*factor; diff --git a/presets/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk b/presets/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk new file mode 100644 index 0000000000..36059ff5a9 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk @@ -0,0 +1,463 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.840000 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.904830 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.400000 +wavecode_0_g=0.400000 +wavecode_0_b=0.650000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=32; // double num of rays +wave_0_per_frame2=t2=.02*q4; // size; +wave_0_per_frame3= +wave_0_per_frame4= +wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_0_per_frame6=t8=0; +wave_0_per_frame7= +wave_0_per_frame8= +wave_0_per_frame9=t3=-1+q7*.3333+.1667; +wave_0_per_frame10=t4=-1+q8*.3333+.1667; +wave_0_per_frame11= +wave_0_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_0_per_point1=sample=.5*(0+sample); +wave_0_per_point2= +wave_0_per_point3=ns=equal(t8%t1,0); +wave_0_per_point4= +wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_0_per_point8= +wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_0_per_point12= +wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_0_per_point16=central=equal(t8%2,0); +wave_0_per_point17=angle=6.2831*(t8-1)/t1; +wave_0_per_point18= +wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_0_per_point21=az=cenz; +wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_0_per_point23= +wave_0_per_point24=invz=1/(az+100); +wave_0_per_point25=x=.5+5*ax*invz; +wave_0_per_point26=y=.5+5*ay*invz; +wave_0_per_point27= +wave_0_per_point28=t8=(t8+1)%t1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=0.400000 +wavecode_1_b=0.650000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=32; // double num of rays +wave_1_per_frame2=t2=.02*q4; // size; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_1_per_frame6=t8=0; +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=t3=-1+q7*.3333+.1667; +wave_1_per_frame10=t4=-1+q8*.3333+.1667; +wave_1_per_frame11= +wave_1_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_1_per_point1=sample=.5*(0+sample); +wave_1_per_point2= +wave_1_per_point3=ns=equal(t8%t1,0); +wave_1_per_point4= +wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_1_per_point8= +wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_1_per_point12= +wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_1_per_point16=central=equal(t8%2,0); +wave_1_per_point17=angle=6.2831*(t8-1)/t1; +wave_1_per_point18= +wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_1_per_point21=az=cenz; +wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_1_per_point23= +wave_1_per_point24=invz=1/(az+100); +wave_1_per_point25=x=.5+5*ax*invz; +wave_1_per_point26=y=.5+5*ay*invz; +wave_1_per_point27= +wave_1_per_point28=t8=(t8+1)%t1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8= +wave_2_per_frame9=t3=-1+q7*.3333+.1667; +wave_2_per_frame10=t4=-1+q8*.3333+.1667; +wave_2_per_frame11= +wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_2_per_point1=sample=.5*(1+sample); +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=t3=-1+q7*.3333+.1667; +wave_3_per_frame10=t4=-1+q8*.3333+.1667; +wave_3_per_frame11= +wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.122020 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); +shape_2_per_frame2=additive=below(frame%5,4); +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6= +shape_2_per_frame7=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame8=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame9=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=hue=.1*time; // change this +shape_2_per_frame13=h=6*(hue-int(hue)); +shape_2_per_frame14=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_2_per_frame15=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_2_per_frame16=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +shape_2_per_frame17=g=sw1*h+sw2+sw3+sw4*(4-h); +shape_2_per_frame18=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=3.141500 +shapecode_3_tex_ang=4.209734 +shapecode_3_tex_zoom=0.670417 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,0); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=warp=0; +per_frame_23=zoom=1.04; +per_frame_24= +per_frame_25=rnd=equal(frame%400,0); +per_frame_26=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_27=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_28=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_29=offx=0; +per_frame_30=offy=-3.1; +per_frame_31=offz=-300+160*pow(contVol,.25); +per_frame_32=sc=4; +per_frame_33= +per_frame_34=q2=offy; // y-offset +per_frame_35=q3=offz; // z-offset +per_frame_36=q4=sc; // scale +per_frame_37= +per_frame_38=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_39=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; +per_frame_40= +per_frame_41=q5=0;q6=0; +per_frame_42= +per_frame_43= +per_frame_44=stime=if(equal(stime,0),time,stime ); +per_frame_45=mytime=time-stime; +per_frame_46=phase = .1*mytime - int(.1*mytime); +per_frame_47=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_48=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_49=q7=tilex; +per_frame_50= +per_frame_51=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; +per_frame_52=contVol=min(1,contVol); +per_frame_53=zoom=1.01+.05*contVol; +per_frame_54= +per_frame_55=darken=above(frame%3,0); +per_frame_56= +per_frame_57=c1=above(contvol,.7)*min(contvol-.7,.3); +per_frame_58=dx=c1*.05*(-10+rand(20)); +per_frame_59=dy=c1*.05*(-10+rand(20)); +per_frame_60= +per_frame_61=solarize=0; +per_frame_62=darken=frame%2; +per_frame_63=brighten=1-darken; +per_frame_64=//invert=beat; +per_frame_65=//gamma=gamma+.5*sqrt(1-(frame-lastbeat)/interval); +per_frame_66=monitor=gamma; +per_frame_67= +per_frame_68=q8=min((frame-lastbeat)/interval,1); +per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); +per_frame_70= +per_frame_71=sx=1-2*beat*above(contVol,.8); +per_frame_72=sy=1-2*beat*above(contVol,.8); +per_frame_73=invert=beat*above(contVol,.8); +per_pixel_1=//rot = q1*(2*rad-1); diff --git a/presets/presets_milkdrop_104/yin - 317 - Ocean of Light (y remix).milk b/presets/presets_milkdrop_104/yin - 317 - Ocean of Light (y remix).milk new file mode 100644 index 0000000000..54ed9410c0 --- /dev/null +++ b/presets/presets_milkdrop_104/yin - 317 - Ocean of Light (y remix).milk @@ -0,0 +1,514 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=4.913795 +fWarpScale=0.302992 +fZoomExponent=4.904830 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.400000 +wavecode_0_g=0.400000 +wavecode_0_b=0.650000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=32; // double num of rays +wave_0_per_frame2=t2=.02*q4; // size; +wave_0_per_frame3= +wave_0_per_frame4= +wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_0_per_frame6=t8=0; +wave_0_per_frame7= +wave_0_per_frame8=v1=1+3*abs(cos(time*.375+.43+sin(time*.135+6.76))); +wave_0_per_frame9=v2=1+3*abs(sin(time*.375+.43+sin(time*.135+6.76))); +wave_0_per_frame10=t3=-1+v1*.3333+.1667; +wave_0_per_frame11=t4=-1+v2*.3333+.1667; +wave_0_per_frame12= +wave_0_per_frame13=//v=abs(cos(time*.4)); +wave_0_per_frame14=//t6=pow(q7,3); // interpolation parameter +wave_0_per_frame15=t6=q7; +wave_0_per_frame16= +wave_0_per_frame17=hue=.5*time; // change this +wave_0_per_frame18=h=6*(hue-int(hue)); +wave_0_per_frame19=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_0_per_frame20=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_0_per_frame21=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +wave_0_per_frame22=g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +wave_0_per_frame23=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +wave_0_per_frame24=r=.5*r; g=.5*g; b=.5*b; +wave_0_per_point1=sample=.5*(0+sample); +wave_0_per_point2= +wave_0_per_point3=ns=equal(t8%t1,0); +wave_0_per_point4= +wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_0_per_point8= +wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_0_per_point12= +wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_0_per_point16=central=equal(t8%2,0); +wave_0_per_point17=angle=6.2831*(t8-1)/t1; +wave_0_per_point18= +wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_0_per_point21=az=cenz; +wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_0_per_point23= +wave_0_per_point24=invz=1/(az+100); +wave_0_per_point25=x=.5+5*ax*invz; +wave_0_per_point26=y=.5+5*ay*invz; +wave_0_per_point27= +wave_0_per_point28=t8=(t8+1)%t1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=0.400000 +wavecode_1_b=0.650000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=32; // double num of rays +wave_1_per_frame2=t2=.02*q4; // size; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_1_per_frame6=t8=0; +wave_1_per_frame7= +wave_1_per_frame8=v1=1+3*abs(cos(time*.375+.43+sin(time*.135+6.76))); +wave_1_per_frame9=v2=1+3*abs(sin(time*.375+.43+sin(time*.135+6.76))); +wave_1_per_frame10=t3=-1+v1*.3333+.1667; +wave_1_per_frame11=t4=-1+v2*.3333+.1667; +wave_1_per_frame12= +wave_1_per_frame13=//v=abs(cos(time*.4)); +wave_1_per_frame14=//t6=pow(q7,3); // interpolation parameter +wave_1_per_frame15=t6=q7; +wave_1_per_frame16= +wave_1_per_frame17=hue=.5*time+.25; // change this +wave_1_per_frame18=h=6*(hue-int(hue)); +wave_1_per_frame19=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_1_per_frame20=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_1_per_frame21=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +wave_1_per_frame22=g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +wave_1_per_frame23=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +wave_1_per_frame24=r=.5*r; g=.5*g; b=.5*b; +wave_1_per_point1=sample=.5*(0+sample); +wave_1_per_point2= +wave_1_per_point3=ns=equal(t8%t1,0); +wave_1_per_point4= +wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_1_per_point8= +wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_1_per_point12= +wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_1_per_point16=central=equal(t8%2,0); +wave_1_per_point17=angle=6.2831*(t8-1)/t1; +wave_1_per_point18= +wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_1_per_point21=az=cenz; +wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_1_per_point23= +wave_1_per_point24=invz=1/(az+100); +wave_1_per_point25=x=.5+5*ax*invz; +wave_1_per_point26=y=.5+5*ay*invz; +wave_1_per_point27= +wave_1_per_point28=t8=(t8+1)%t1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8=v1=1+3*abs(cos(time*.375+.43+sin(time*.135+6.76))); +wave_2_per_frame9=v2=1+3*abs(sin(time*.375+.43+sin(time*.135+6.76))); +wave_2_per_frame10=t3=-1+v1*.3333+.1667; +wave_2_per_frame11=t4=-1+v2*.3333+.1667; +wave_2_per_frame12= +wave_2_per_frame13=//v=abs(cos(time*.4)); +wave_2_per_frame14=//t6=pow(q7,3); // interpolation parameter +wave_2_per_frame15=t6=q7; +wave_2_per_frame16= +wave_2_per_frame17=hue=.5*time+.5; // change this +wave_2_per_frame18=h=6*(hue-int(hue)); +wave_2_per_frame19=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_2_per_frame20=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_2_per_frame21=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +wave_2_per_frame22=g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +wave_2_per_frame23=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +wave_2_per_frame24=r=.5*r; g=.5*g; b=.5*b; +wave_2_per_point1=sample=.5*(1+sample); +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8=v1=1+3*abs(cos(time*.375+.43+sin(time*.135+6.76))); +wave_3_per_frame9=v2=1+3*abs(sin(time*.375+.43+sin(time*.135+6.76))); +wave_3_per_frame10=t3=-1+v1*.3333+.1667; +wave_3_per_frame11=t4=-1+v2*.3333+.1667; +wave_3_per_frame12= +wave_3_per_frame13=//v=abs(cos(time*.4)); +wave_3_per_frame14=//t6=pow(q7,3); // interpolation parameter +wave_3_per_frame15=t6=q7; +wave_3_per_frame16= +wave_3_per_frame17=hue=.5*time+.75; // change this +wave_3_per_frame18=h=6*(hue-int(hue)); +wave_3_per_frame19=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_3_per_frame20=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_3_per_frame21=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +wave_3_per_frame22=g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +wave_3_per_frame23=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +wave_3_per_frame24=r=.5*r; g=.5*g; b=.5*b; +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.122020 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); +shape_2_per_frame2=additive=below(frame%5,4); +shape_2_per_frame3=rad=.245; +shape_2_per_frame4=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame5=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame6=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); +shape_2_per_frame7= +shape_2_per_frame8= +shape_2_per_frame9=hue=.1*time; // change this +shape_2_per_frame10=h=6*(hue-int(hue)); +shape_2_per_frame11=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_2_per_frame12=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_2_per_frame13=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +shape_2_per_frame14=g=sw1*h+sw2+sw3+sw4*(4-h); +shape_2_per_frame15=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.209734 +shapecode_3_tex_zoom=0.670417 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,0); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=// -------------------------------- beat detection code ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.75,sure); +per_frame_3=interval=if(equal(interval,0),.7*FPS,interval); +per_frame_4=avginterval=if(equal(avginterval,0),.7*FPS,avginterval); +per_frame_5=lockinterval=if(equal(lockinterval,0),.7*FPS,lockinterval ); +per_frame_6=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_7=dbass=(bass-pbass)*FPS; +per_frame_8=beat=below(dbass,0)*above(pdbass,0)*above(bass,.95*avgbass)*above(frame-lastbeat,FPS/3); +per_frame_9=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_10=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_11=sure=max(.5,sure); +per_frame_12=avgbass=.995*avgbass+.005*bass; +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=min(200,maxdbass); +per_frame_15=maxdbass=max(.02,maxdbass); +per_frame_16=interval=if(beat*below(frame-lastbeat,1.8*interval), ((frame-lastbeat)*.25+.75*interval),interval); +per_frame_17=lastbeat=if((1-force)*beat+equal(lastbeat+interval,frame),frame,lastbeat); +per_frame_18=avginterval=if(beat,.9*avginterval+.1*interval, avginterval); +per_frame_19=lockinterval=if(beat,.9*lockinterval+.1*avginterval,lockinterval); +per_frame_20=pbass=bass; +per_frame_21=pdbass=dbass; +per_frame_22=bpm=60*FPS*.3333*( ((2*(1-sure))/interval)+((2*sure)/avginterval)+(1/lockinterval) ); +per_frame_23=phase=min( (frame-lastbeat)/(.333*(2*sure*avginterval+2*(1-sure)*interval+lockinterval)), 1 ); +per_frame_24=beat=if(equal(phase,0),1,beat); +per_frame_25=interval=min(interval,.7*FPS); +per_frame_26=avginterval=min(avginterval,.7*FPS); +per_frame_27=lockinterval=min(lockinterval,.7*FPS); +per_frame_28=// ---------------------------------------------------------------------------------------------- +per_frame_29= +per_frame_30=warp=0; +per_frame_31=zoom=1.04; +per_frame_32= +per_frame_33=rnd=equal(frame%400,0); +per_frame_34=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_35=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_36=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_37=offx=0; +per_frame_38=offy=-3.1; +per_frame_39=offz=-300+160*pow(contVol,.25); +per_frame_40=sc=4; +per_frame_41= +per_frame_42=q2=offy; // y-offset +per_frame_43=q3=offz; // z-offset +per_frame_44=q4=sc; // scale +per_frame_45= +per_frame_46=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_47=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; +per_frame_48= +per_frame_49=q5=0;q6=0; +per_frame_50= +per_frame_51= +per_frame_52=stime=if(equal(stime,0),time,stime ); +per_frame_53=mytime=time-stime; +per_frame_54=phase = .1*mytime - int(.1*mytime); +per_frame_55= +per_frame_56=q7=pow(contVol,.333); +per_frame_57=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; +per_frame_58=contVol=min(1,contVol); +per_frame_59=zoom=1.01+.05*contVol; +per_frame_60= +per_frame_61=c1=above(contVol,.8)*min(contVol-.8,.2); +per_frame_62=dx=c1*.0025*(-10+rand(20)); +per_frame_63=dy=c1*.0025*(-10+rand(20)); +per_frame_64= +per_frame_65=darken=1; +per_frame_66=brighten=1-darken; +per_frame_67= +per_frame_68=q8=min((frame-lastbeat)/(.333*(interval+avginterval+lockinterval)),1); +per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); +per_frame_70= +per_frame_71=sx=1-2*below(q8,.15)*above(contVol,.75); +per_frame_72=sy=1-2*below(q8,.15)*above(contVol,.75); +per_frame_73=invert=below( q8,.15); +per_frame_74=solarize=invert*above(q7,.85); +per_frame_75=monitor=bpm; +per_pixel_1=rot = q1*(2*rad-1); +per_pixel_2=warp=above(rad,.5)*(rad-.5)*50*sqrt(1-q8)*equal((6*(6.2831+ang+q1))%2,0); +per_pixel_3=dx=dx+above(rad,.25)*above(q7,.7)*below(q8,.15)*(.15-q8)*cos(ang)*.05; +per_pixel_4=dy=dy+above(rad,.25)*above(q7,.7)*below(q8,.15)*(.15-q8)*sin(ang)*(-.05); +per_pixel_5= diff --git a/presets_milkdrop_104/yin - 321 - Pastel fantasies (remix).milk b/presets/presets_milkdrop_104/yin - 321 - Pastel fantasies (remix).milk similarity index 100% rename from presets_milkdrop_104/yin - 321 - Pastel fantasies (remix).milk rename to presets/presets_milkdrop_104/yin - 321 - Pastel fantasies (remix).milk diff --git a/presets_milkdrop_104/yin - 324 - Pastel fantasies (beat sensitive liquid heaven color leak mix).milk b/presets/presets_milkdrop_104/yin - 324 - Pastel fantasies (beat sensitive liquid heaven color leak mix).milk similarity index 100% rename from presets_milkdrop_104/yin - 324 - Pastel fantasies (beat sensitive liquid heaven color leak mix).milk rename to presets/presets_milkdrop_104/yin - 324 - Pastel fantasies (beat sensitive liquid heaven color leak mix).milk diff --git a/presets_milkdrop_104/yin - 325 - Pastel fantasies (angelic intervention).milk b/presets/presets_milkdrop_104/yin - 325 - Pastel fantasies (angelic intervention).milk similarity index 100% rename from presets_milkdrop_104/yin - 325 - Pastel fantasies (angelic intervention).milk rename to presets/presets_milkdrop_104/yin - 325 - Pastel fantasies (angelic intervention).milk diff --git a/presets_milkdrop_104/yin - 326 - Pastel fantasies (angelic intervention harmonic solo)_Phats_slow_mix.milk b/presets/presets_milkdrop_104/yin - 326 - Pastel fantasies (angelic intervention harmonic solo)_Phats_slow_mix.milk similarity index 100% rename from presets_milkdrop_104/yin - 326 - Pastel fantasies (angelic intervention harmonic solo)_Phats_slow_mix.milk rename to presets/presets_milkdrop_104/yin - 326 - Pastel fantasies (angelic intervention harmonic solo)_Phats_slow_mix.milk diff --git a/presets_milkdrop_104/yin - 327 - Pastel fantasies (freeform funk).milk b/presets/presets_milkdrop_104/yin - 327 - Pastel fantasies (freeform funk).milk similarity index 100% rename from presets_milkdrop_104/yin - 327 - Pastel fantasies (freeform funk).milk rename to presets/presets_milkdrop_104/yin - 327 - Pastel fantasies (freeform funk).milk diff --git a/presets_milkdrop_104/yin - 340 - Under the sun (resonant consciousness 2005).milk b/presets/presets_milkdrop_104/yin - 340 - Under the sun (resonant consciousness 2005).milk similarity index 100% rename from presets_milkdrop_104/yin - 340 - Under the sun (resonant consciousness 2005).milk rename to presets/presets_milkdrop_104/yin - 340 - Under the sun (resonant consciousness 2005).milk diff --git a/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Canvas Mix.milk b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Canvas Mix.milk new file mode 100755 index 0000000000..4691b61e44 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Canvas Mix.milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.001000 +fDecay=0.950000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.072644 +fWaveScale=1.285746 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.03 + 0.94*uv; +comp_4=` +comp_5=` float2 d = float2(1,1)*texsize.zw*0.7; +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv + d*float2( 3.5, 0)).xyz*3; +comp_8=` ret += tex2D(sampler_main, uv + d*float2( 0, 3.5)).xyz*3; +comp_9=` ret += tex2D(sampler_main, uv + d*float2( 0,-3.5)).xyz*-2; +comp_10=` ret += tex2D(sampler_main, uv + d*float2( -3.5, 0)).xyz*-2; +comp_11=` ret /= 2; +comp_12=` +comp_13=` ret *= 1 + 0.15*(tex2D(sampler_noise_lq, rand_frame.xy +comp_14=` + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_15=` +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.0)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk new file mode 100755 index 0000000000..1956e52133 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=2.001 +fDecay=0.950 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.073 +fWaveScale=1.286 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99951 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01010 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Tendrils Colorfast.milk b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Tendrils Colorfast.milk new file mode 100755 index 0000000000..cb11757709 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Tendrils Colorfast.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.001000 +fDecay=0.950000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.072644 +fWaveScale=1.285746 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // a color-holding posterize effect: +warp_10=` float3 m = float3(7,6,8); +warp_11=` ret = lerp(ret, floor(ret*m+0.25)/m, 0.1); +warp_12=` +warp_13=` +warp_14=` // darken over time +warp_15=` float center = 1-saturate(length(uv-uv_orig)*40); +warp_16=` ret = (ret*0.99 - 0.0025 - center*0.003); +warp_17=` +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float srad = sqrt(rad)+ 0.05; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main, uv + 0.06*float2(cos(uv.y*27*0.5),sin(uv.x*39*0.5))).xyz); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Painterly Relief Mix).milk b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Painterly Relief Mix).milk new file mode 100755 index 0000000000..6b69755b09 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Painterly Relief Mix).milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=2.001 +fDecay=0.950 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.073 +fWaveScale=1.286 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99951 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01010 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q5 = 5 + rand(5); +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(q5*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // a color-holding posterize effect: +warp_10=` float3 m = float3(7,6,8); +warp_11=` ret = lerp(ret, floor(ret*m+0.25)/m, 0.1); +warp_12=` +warp_13=` +warp_14=` // darken over time +warp_15=` float center = 1-saturate(length(uv-uv_orig)*40); +warp_16=` ret = (ret*0.99 - 0.0025 - center*0.003); +warp_17=` +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate((b1-b2)*8)*2.00*float3(1,0.7,0.3); +comp_13=` ret += saturate((b3-b4)*8)*2.00*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Square Mix).milk b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Square Mix).milk new file mode 100755 index 0000000000..8614b8e8b8 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi + Geiss - Airhandler (Square Mix).milk @@ -0,0 +1,238 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.001000 +fDecay=0.990000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.072644 +fWaveScale=1.285746 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = max(ret, tex2D(sampler_main, uv + 0.045*float2(cos(uv.x*37),sin(uv.y*29))).xyz); +comp_8=` +comp_9=` //ret += GetBlur1(uv) - 0.07; +comp_10=` //ret *= float3(1.3,0.8,0.5); +comp_11=` //ret *= 0.8; +comp_12=`} diff --git a/presets/presets_milkdrop_200/Aderrasi - Accelerator (Hot Lead Transfusion).milk b/presets/presets_milkdrop_200/Aderrasi - Accelerator (Hot Lead Transfusion).milk new file mode 100755 index 0000000000..c2fdab6de7 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Accelerator (Hot Lead Transfusion).milk @@ -0,0 +1,256 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.741632 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.202061 +fWaveScale=0.975900 +fWaveSmoothing=0.9 +fWaveParam=-0.5 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.000343 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.8 +wavecode_0_r=0.5 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=0.5 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.500*(0.60*sin(1.933*time) + 0.40*sin(1.045*time)); +per_frame_2=wave_g = wave_g + 0.500*(0.60*sin(0.909*time) + 0.40*sin(1.956*time)); +per_frame_3=wave_b = wave_b + 0.500*(0.60*sin(2.910*time) + 0.40*sin(0.992*time)); +per_frame_4= +per_frame_5= +per_frame_6= +per_frame_7=xy1 = x*above(sin(time),0)+y*below(sin(time),0); +per_frame_8=xy2 = x*below(sin(time),0)+y*above(sin(time),0); +per_frame_9=q1 = xy1; +per_frame_10=q2 = xy2; +per_frame_11= +per_frame_12=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_13=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_14=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_15=echo_orient = echo_orient + 50*dy_r; +per_frame_16=//echo_alpha = echo_alpha + 50*dx_r; +per_frame_17=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_18=ocog = below(cog,30000)*cog; +per_frame_19=q4 = cog; +per_frame_20= +per_frame_21=decay = min(0.995+abs(0.05*sin(time)),1); +per_frame_22=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_23=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_24=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_25=rg1 = abs(sin(1.3*q4)); +per_frame_26=rg2 = 0*above(rg1,0.5) + 1*below(rg1,0.5); +per_frame_27=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_28=invert = rg3; +per_frame_29=darken = 1-invert; +per_frame_30=brighten = invert; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=zoom = zoom + abs(0.05*(3*(0.5-rad)*bass_att*4)); +per_pixel_7=zoom = zoom + if(above(bass_att,1.2),(0.06*sin(24*time)),0); +per_pixel_8= +per_pixel_9=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_10=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_11=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_12=tg1 = abs(sin(1.32*q4)); +per_pixel_13=tg2 = 8*above(tg1,0.75) + 12*below(tg1,0.25) + 16*above(tg1,0.25)*below(tg1,0.5); +per_pixel_14=24*above(tg1,0.5)*below(tg1,0.75); +per_pixel_15=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_16= +per_pixel_17=zoom = zoom + abs(7*rad*dx_r); +per_pixel_18=dx = dx + dx_r*sin(sin(3+(tg3*y)))*(sin(3+(tg3*x))); +per_pixel_19=dy = dy + dy_r*sin(sin(3+(tg3*y)))*(sin(3+(tg3+x))); diff --git a/presets/presets_milkdrop_200/Aderrasi - Agitator.milk b/presets/presets_milkdrop_200/Aderrasi - Agitator.milk new file mode 100755 index 0000000000..d4bb9ab3ca --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Agitator.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.504000 +fDecay=0.9 +fVideoEchoZoom=0.999592 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.311604 +fWaveSmoothing=0.450000 +fWaveParam=-0.5 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=0.010000 +fWarpScale=0.438651 +fZoomExponent=0.999994 +fShader=0.0 +zoom=1.000156 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.990099 +sy=0.990099 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.1 +ob_r=0.0 +ob_g=0.6 +ob_b=0.5 +ob_a=0.1 +ib_size=0.050000 +ib_r=0.0 +ib_g=1.0 +ib_b=1.0 +ib_a=0.1 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.5*sin(1.2*frame) + 0.3*sin(1.9*frame); +per_frame_2=wave_g = wave_g + 0.7*sin(1.1*frame) + 0.4*cos(1.6*frame); +per_frame_3=wave_b = wave_b + 0.2*sin(1.3*frame) + 0.4*sin(2*frame); +per_pixel_1=rot=rot + (0.5 + 0.1*sin(bass)-rad)*pow(bass,3)/50; +per_pixel_2=zoom= zoom + (0.5 + 0.3*tan(3*bass_att)-rad)*(cos(pow(rad,2.4))+(0.2*mid_att)); +per_pixel_3=warp = warp + if (above(bass,1.34), 0.5*(0.5+ 0.1*sin(bass)-rad)*(cos(pow(rad,2.4))+(5*bass_att)), 0); diff --git a/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix) - Painterly.milk b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix) - Painterly.milk new file mode 100755 index 0000000000..92248f5ffe --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix) - Painterly.milk @@ -0,0 +1,246 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.001000 +fDecay=0.950000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.072644 +fWaveScale=1.285746 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix).milk b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix).milk new file mode 100755 index 0000000000..748b76c6bb --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Kali Mix).milk @@ -0,0 +1,71 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.001000 +fDecay=0.950000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.072644 +fWaveScale=1.285746 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); diff --git a/presets/presets_milkdrop_200/Aderrasi - Airhandler (Last Breath - Calm).milk b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Last Breath - Calm).milk new file mode 100755 index 0000000000..6ffe32d683 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Airhandler (Last Breath - Calm).milk @@ -0,0 +1,225 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.399000 +fDecay=1.0 +fVideoEchoZoom=1.488267 +fVideoEchoAlpha=0.3 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=1.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.1 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_milkdrop_200/Aderrasi - Calabi-Jau Space Bar.milk b/presets/presets_milkdrop_200/Aderrasi - Calabi-Jau Space Bar.milk new file mode 100755 index 0000000000..81bbef1069 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Calabi-Jau Space Bar.milk @@ -0,0 +1,253 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.7 +fDecay=0.9 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.653093 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.808140 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=sides = 3*bass_att; +shape_0_per_frame2=r = q2; +shape_0_per_frame3=g = q1; +shape_0_per_frame4=b = q3; +shape_0_per_frame5=r2 = 1-abs(q2); +shape_0_per_frame6=g2 = 1-abs(q1); +shape_0_per_frame7=b2 = 1-abs(q3); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.6 +shapecode_1_y=0.5 +shapecode_1_rad=0.134785 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x = x + 0.18*sin(3.21*time); +shape_1_per_frame2=y = y + 0.12*sin(2.74*time); +shape_1_per_frame3=sides = 5*bass_att; +shape_1_per_frame4=r = q3; +shape_1_per_frame5=g = q2; +shape_1_per_frame6=b = q1; +shape_1_per_frame7=r2 = 1-abs(q3); +shape_1_per_frame8=g2 = 1-abs(q2); +shape_1_per_frame9=b2 = 1-abs(q1); +shape_1_per_frame10=ang = ang + 0.23*tan(2*time); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.4 +shapecode_2_rad=0.270481 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.999995 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=y = y + 0.18*sin(1.2*time); +shape_2_per_frame2=x = x + 0.11*sin(5.67*time); +shape_2_per_frame3=sides = 5*treb_att; +shape_2_per_frame4=ang = ang + 0.45*tan(4.3*time); +shape_2_per_frame5=r = 2*q1; +shape_2_per_frame6=g = 2*q3; +shape_2_per_frame7=b = 2*q2; +shape_2_per_frame8=r2 = 1-abs(2*q1); +shape_2_per_frame9=g2 = 1-abs(2*q3); +shape_2_per_frame10=b2 = 1-abs(2*q2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + 0.25*cos(1.12*time) + +per_frame_3=0.2*(0.3*cos(1.28*time)+0.3*sin(2*time)); +per_frame_4=wave_g = wave_g + 0.25*cos(1.142*time) + +per_frame_5=0.2*(0.3*cos(1.2*time)+0.32*sin(1.623*time)); +per_frame_6=wave_b = wave_b + 0.25*cos(1.13*time) + +per_frame_7=0.2*(0.4*cos(1.9*time)+0.34*sin(1.5245*time)); +per_frame_8= +per_frame_9=q1 = wave_r; +per_frame_10=q2 = wave_g; +per_frame_11=q3 = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.15*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.15*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=rot = rot + 0.2*abs(dx_r*7*((2*rad-cos(12*ang))*sin(2-rad)*abs(1.2*dx_r))); +per_pixel_7=zoom = zoom + 0.2*abs(8*dy_r*abs(dx_r*sin(2*sin(2*rad)*tan(6*rad)))); +per_pixel_8=zoom = zoom + 4*dx_r*(rad-x*(3.5*cos(sin(3-rad*3*cos(2*y-bass_att))))*(0.5-rad)); diff --git a/presets/presets_milkdrop_200/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk b/presets/presets_milkdrop_200/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk new file mode 100755 index 0000000000..0b3ccda024 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Chromatic Abyss (Refined Abyss Mix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=0.990000 +fVideoEchoZoom=1.093684 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.250013 +fWaveSmoothing=0.0 +fWaveParam=0.4 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=0.940320 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.8 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + (0.5*sin(12*treb)*3.12*time)/5; +per_frame_2=wave_b = wave_b + (0.5*sin(12*bass)*3.17*time)/5; +per_frame_3=wave_g =wave_g + (0.5*sin(12*mid)*3.22*time)/5; +per_frame_4=wave_x = wave_x + 0.00*sin(0.8*time); +per_frame_5=wave_y = wave_y + 0.00*sin(0.5*time); +per_frame_6=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.3)*0.96+1.3); +per_frame_7=dx_r = equal(turn,2)*0.016*sin(7*time) + (1-equal(turn,2))*dx_r; +per_frame_8=dy_r = equal(turn,2)*0.013*sin(8*time) + (1-equal(turn,2))*dy_r; +per_frame_9=dx = dx + 0.25*dx_r; +per_frame_10=dy = dy + 0.25*dy_r; +per_pixel_1=zoom = zoom - if (below (rad,0.61), +0.05, +0.01); diff --git a/presets/presets_milkdrop_200/Aderrasi - Contortion (Wide Twist Mix).milk b/presets/presets_milkdrop_200/Aderrasi - Contortion (Wide Twist Mix).milk new file mode 100755 index 0000000000..7f96404ca5 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Contortion (Wide Twist Mix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=3.749269 +fWaveSmoothing=0.0 +fWaveParam=-0.4 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=11.202057 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.1 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.2 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.3 + 0.3*sin(1.56*time); +per_frame_6=ob_g = 0.3 + 0.3*sin(2.15*time); +per_frame_7=ob_b = 0.3 + 0.3*cos(1.4*time); +per_frame_8=ib_r = 0.3 + 0.3*cos(1.83*time); +per_frame_9=ib_g = 0.3 + 0.3*cos(1.02*time); +per_frame_10=ib_b = 0.3 + 0.3*sin(2*time); +per_frame_11=ing = 2*sin(0.25*time); +per_frame_12=wave_x = wave_x + 0.7*sin(time); +per_frame_13=wave_y = wave_y + 0.7*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.15*(1-rad)*(5*sin(time)); +per_pixel_6=zoom = zoom - 0.1*(0.9-rad); +per_pixel_7=cx = cx + 1*0.25*sin(time)*(0.75*sin(time)); +per_pixel_8=cy = cy + 1*0.25*cos(time)*(0.75*cos(time)); diff --git a/presets/presets_milkdrop_200/Aderrasi - Curse of the Mirror Emu.milk b/presets/presets_milkdrop_200/Aderrasi - Curse of the Mirror Emu.milk new file mode 100755 index 0000000000..828853fc60 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Curse of the Mirror Emu.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.653092 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.2 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.5*sin(6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=wave_x = wave_x + 0.1*cos(1.2*time)*sin(1.1*time)+0.1*sin(0.61*time); +per_frame_6=wave_y = wave_y + 0.1*sin(1.2*time)*cos(4.1*time)+0.11*cos(1.1*time); +per_frame_7= +per_frame_8=ob_r = 1-abs(wave_r); +per_frame_9=ob_b = 1-abs(wave_b); +per_frame_10=ob_g = 1-abs(wave_g); +per_frame_11= +per_frame_12=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_13=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_14=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_15=rg1 = abs(sin(time)); +per_frame_16=rg2 = 0*above(rg1,0.75) + 3*below(rg1,0.25) + 1*above(rg1,0.25)*below(rg1,0.5)+ +per_frame_17=2*above(rg1,0.5)*below(rg1,0.75); +per_frame_18=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_19= +per_frame_20=echo_orient = rg3; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=xbar = above(sin(dx_r*2*time),0)*abs(4-x*tan(4*cos(y*time))) + +per_pixel_6=below(sin(dx_r*2*time),0)*sin(3*x*sin(3*cos(dx_r*y*time))); +per_pixel_7=ybar = above(cos(dy_r*1.2*time),0)*abs(4-y*tan(4*cos(x*time))) + +per_pixel_8=below(cos(dy_r*1.2*time),0)*sin(3*y*sin(3*cos(dy_r*x*time))); +per_pixel_9= +per_pixel_10=dx = dx + dx_r*cos(1.6*xbar); +per_pixel_11=dy = dy + dy_r*cos(1.6*ybar); +per_pixel_12=zoom = zoom - 0.01*(3*(xbar/ybar)); +per_pixel_13=rot = rot + 0.01*(2*(ybar+xbar))*cos(1.52*time); +per_pixel_14=cx = cx + xbar*2*dx_r; +per_pixel_15=cy = cy + ybar*2*dy_r; diff --git a/presets/presets_milkdrop_200/Aderrasi - Ghast (Full Circle Mix).milk b/presets/presets_milkdrop_200/Aderrasi - Ghast (Full Circle Mix).milk new file mode 100755 index 0000000000..fb5274e827 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Ghast (Full Circle Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.980000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.397107 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - (0.5-y*rad*0.2*abs(cos(rad*bass-0.7*sin(ang*12))))*0.1; +per_pixel_6=dy = dy + dy_r; +per_pixel_7=dx = dx + dx_r; +per_pixel_8=sx = sx - dx_r; +per_pixel_9=sy = sy + (0.4*rad)-cos(3*treb*sin(ang*12)*0.3-rad)*0.1; +per_pixel_10=sx = sx + (0.4*rad)-cos(3*treb*sin(ang*12)*0.3-rad)*0.1; diff --git a/presets/presets_milkdrop_200/Aderrasi - Ghast (Quarter Past Ghast Mix).milk b/presets/presets_milkdrop_200/Aderrasi - Ghast (Quarter Past Ghast Mix).milk new file mode 100755 index 0000000000..d2a5ed9a9c --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Ghast (Quarter Past Ghast Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.990000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=1.462200 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 0.1*(0.5*zoom*(1-rad)); +per_pixel_5=zoom = zoom + (0.5-(sin(x*time)-cos(y*time))*rad*0.5*cos(cos(rad*bass-0.7*cos(ang*12))))*0.05; +per_pixel_6=dy = dy + dy_r; +per_pixel_7=dx = dx + dx_r; +per_pixel_8=sx = sx - dx_r; +per_pixel_9=sy = sy - ((0.4*rad)*cos(3*sin(ang*12*(1-rad))*0.4+rad))*0.15; +per_pixel_10=sx = sx - ((0.4*rad)*cos(3*sin(ang*12*(1-rad))*0.4+rad))*0.15; diff --git a/presets/presets_milkdrop_200/Aderrasi - Horvath's Holistic Abyss.milk b/presets/presets_milkdrop_200/Aderrasi - Horvath's Holistic Abyss.milk new file mode 100755 index 0000000000..8315e579af --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Horvath's Holistic Abyss.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.010000 +fWaveSmoothing=0.5 +fWaveParam=0.4 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.000157 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=1.488000 +mv_dx=0.0 +mv_dy=-0.1 +mv_l=0.5 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 3.35*sin(4*mid_att) - 3.25*sin(2.5*bass); +per_frame_2=wave_g = wave_g + 3.35*sin(3.7*treb_att) - 3.25*sin(2.11*mid); +per_frame_3=wave_b = wave_b + 3.35*sin(3.84*bass_att) - 3.25*sin(2.3*treb); +per_frame_4=warp = 0; +per_frame_5=zoom = zoom + 0.03; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom + if (above(rad,0.2 + 0.25*sin(1.2*time)), if (below(rad,0.5 + 0.25*sin(1.2*time)), -0.05, -0.025), -0.02*(1-rad)); +per_pixel_6=rot = rot + if (above(rad,0.2 + 0.25*cos(1.8*time)), if (below(rad,0.5 + 0.25*cos(1.8*time)), +0.08, -0.08), -0.5*(0.5-rad)); +per_pixel_7=zoom = zoom + 0.003; +per_pixel_8=dx = dx + (1-rad)*dx_r; +per_pixel_9=dy = dy + (1-rad)*dy_r; +per_pixel_10=dx = dx + above(rad,0.5 + 0.4*cos(2*time)) * 0.03*dx_r; +per_pixel_11=dy = dy + above(rad,0.5 + 0.4*sin(2*time))* 0.03*dy_r; diff --git a/presets/presets_milkdrop_200/Aderrasi - Kevlar Ore Deposit.milk b/presets/presets_milkdrop_200/Aderrasi - Kevlar Ore Deposit.milk new file mode 100755 index 0000000000..b3c1b97666 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Kevlar Ore Deposit.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.950000 +fVideoEchoZoom=0.334693 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=1.310600 +fWaveSmoothing=0.0 +fWaveParam=0.8 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.3 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.2 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r + wave_b; +per_frame_7=ob_g = ob_g +wave_r; +per_frame_8=ob_b = ob_B +wave_g; +per_frame_9=ib_r = ib_r +wave_r; +per_frame_10=ib_b = ib_b +wave_b; +per_frame_11=ib_g = ib_g+wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.2*(0.36*sin(rad-0.22/abs(rad*2+bass/time))*0.4-treb/1.3*cos(bass_att)); +per_pixel_6=zoom = zoom - 0.03*abs(sin(bass*time+52*rad)-cos(0.3*bass-mid_att)); +per_pixel_7=zoom = zoom - 0.052*(0.5*abs(-0.2*bass*rot-3*(0.5-cos(0.5*rot)-rad)/2)); +per_pixel_8=dx = dx + 1.5*cos(zoom)*dx_r; +per_pixel_9=dy = dy + 1.5*sin(zoom)*dy_r; +per_pixel_10= +per_pixel_11=rot = if (equal(bass,0),0,rot); +per_pixel_12=zoom = if (equal(bass,0),0,zoom); diff --git a/presets/presets_milkdrop_200/Aderrasi - Kevlar Tunnel.milk b/presets/presets_milkdrop_200/Aderrasi - Kevlar Tunnel.milk new file mode 100755 index 0000000000..848c235a15 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Kevlar Tunnel.milk @@ -0,0 +1,84 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.990000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=1.186472 +fWaveSmoothing=0.0 +fWaveParam=0.4 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.5 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r + wave_r; +per_frame_7=ob_g = ob_g + wave_b; +per_frame_8=ob_b = ob_b + wave_g; +per_frame_9=ib_r = wave_r-0.8; +per_frame_10=ib_b = wave_b-0.8; +per_frame_11=ib_g = wave_g-.8; +per_frame_12=wave_x = wave_x + 0.2*sin(1.2*time) - 0.05*cos(2*time); +per_frame_13=wave_y = wave_y + 0.2*sin(0.9*time) - 0.06*cos(2.3*time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.2*(0.36*sin(rad-0.22/abs(rad*12+bass/time))*0.4-treb/1.3*cos(bass_att)); +per_pixel_6=zoom = zoom - 0.07*abs(sin(bass-time/30*rad)-cos(0.3*bass-mid_att)); +per_pixel_7=dx = dx + dx_r*(1.2*bass_att); +per_pixel_8=dy = dy + dy_r*(1.2*mid_att); diff --git a/presets/presets_milkdrop_200/Aderrasi - Madness Teaches us to Fly.milk b/presets/presets_milkdrop_200/Aderrasi - Madness Teaches us to Fly.milk new file mode 100755 index 0000000000..8b445bdf80 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Madness Teaches us to Fly.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.890000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=1.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003540 +fWaveScale=0.721422 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.010000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.5 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_8=rg1 = abs(sin(time)); +per_frame_9=rg2 = 3*above(rg1,0.75) + 2*below(rg1,0.25) + 1*above(rg1,0.25)*below(rg1,0.5)+ +per_frame_10=0*above(rg1,0.5)*below(rg1,0.75); +per_frame_11=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_12= +per_frame_13=q1 = wave_r; +per_frame_14=q2 = wave_g; +per_frame_15=q3 = wave_b; +per_frame_16= +per_frame_17=ob_r = 0.5*q2 + 0.5*q1; +per_frame_18=ob_g = 1-abs(q2); +per_frame_19=ob_b = 1-abs(q3); +per_frame_20=dx = dx + 12*pfdx_r*rg3; +per_frame_21=dy = dy + 12*pfdy_r*rg3; +per_frame_22=ib_r = 1-abs(ob_r); +per_frame_23=ib_g = 1-abs(ob_g); +per_frame_24=ib_b = 1-abs(ob_b); +per_frame_25=echo_orient = rg3; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 12*dx_r*above(tg1,0.5) + 12*dy_r*below(tg1,0.5); +per_pixel_6=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_7= +per_pixel_8= +per_pixel_9=zoom = zoom - (0.01+0.8*abs(tg3)); +per_pixel_10=rot = rot + max(12*dx_r*(0.5-tg3),5*tg3); +per_pixel_11=dy = dy + tg3*(rad-2*(0.6)*sin(2*abs(1-2*cos(3*rad)))); +per_pixel_12=dx = dx + tg3*(rad-2*(0.6)*cos(2*abs(1-2*sin(3*rad)))); diff --git a/presets/presets_milkdrop_200/Aderrasi - Potion of Spirits.milk b/presets/presets_milkdrop_200/Aderrasi - Potion of Spirits.milk new file mode 100755 index 0000000000..e4d7d70805 --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Potion of Spirits.milk @@ -0,0 +1,234 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.420000 +fDecay=1.0 +fVideoEchoZoom=0.999823 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.325446 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=2.630064 +fWarpScale=3.209168 +fZoomExponent=1.000158 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.1 +nMotionVectorsX=6.4 +nMotionVectorsY=4.8 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5= +per_frame_6=ob_r = ob_r+wave_b*above(sin(0.1*time),0); +per_frame_7=ob_b = ob_b+wave_g*above(sin(0.1*time),0); +per_frame_8=ob_g = ob_g+wave_r*above(sin(0.1*time),0); +per_frame_9=ob_r = ob_r+wave_g*below(sin(0.1*time),0); +per_frame_10=ob_b = ob_b+wave_r*below(sin(0.1*time),0); +per_frame_11=ob_g = ob_g+wave_b*below(sin(0.1*time),0); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.05*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.056*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 22*above(tg1,0.75) + 12*below(tg1,0.25) + 18*above(tg1,0.25)*below(tg1,0.5)+ +per_pixel_6=12*above(tg1,0.5)*below(tg1,0.75); +per_pixel_7=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_8= +per_pixel_9=six = sin(x); +per_pixel_10= +per_pixel_11=dx = dx + dx_r*sin(abs(tg3*y))*sin(time); +per_pixel_12=dy = dy + dy_r*sin(abs(tg3*x))*cos(time); +per_pixel_13=dx = dx + dx_r*pow(rad,y*2)*sin(time); +per_pixel_14=dy = dy + dy_r*pow(rad,x*2)*sin(time); +per_pixel_15=zoom = zoom - 0.0825*pow(rad,x*6)*cos(ang*6); +per_pixel_16=rot = rot - 0.0525*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets/presets_milkdrop_200/Aderrasi - Variants Of Eternity.milk b/presets/presets_milkdrop_200/Aderrasi - Variants Of Eternity.milk new file mode 100755 index 0000000000..64b20de1eb --- /dev/null +++ b/presets/presets_milkdrop_200/Aderrasi - Variants Of Eternity.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=0.010000 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=1.280000 +nMotionVectorsY=9.599999 +mv_dx=0.4 +mv_dy=-0.2 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=mv_r = wave_r; +per_frame_6=mv_b = wave_b; +per_frame_7=mv_g = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom - 0.03 + 0.06*sin(time); +per_pixel_5=rot = rot + 0.15; +per_pixel_6=cy = cy + 0.25 + 0.025*cos(time); +per_pixel_7=cx = cx + 0.25 + 0.025*sin(time); +per_pixel_8=rot = rot - 0.02*sin((1-rad)*(time*bass_att*2)); diff --git a/presets/presets_milkdrop_200/Benski - Atom Smasher.milk b/presets/presets_milkdrop_200/Benski - Atom Smasher.milk new file mode 100755 index 0000000000..20dce40c42 --- /dev/null +++ b/presets/presets_milkdrop_200/Benski - Atom Smasher.milk @@ -0,0 +1,417 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.002 +fWaveSmoothing=0.261 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99984 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=4.586 +nMotionVectorsY=3.234 +mv_dx=0.122 +mv_dy=0.156 +mv_l=0.212 +mv_r=0.456 +mv_g=0.482 +mv_b=0.329 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.62500 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ax=cos(100*sample+43.35+sin(231.54*sample+.543)); +wave_0_per_point2=ay=sin(431*sample+2.34+cos(443.54*sample+4.23)); +wave_0_per_point3=az=sin(546*sample+74.24+sin(524.54*sample+23.987))+2*(q4+.2*time-int(q4+.2*time)); +wave_0_per_point4=az=if(above(az,1),az-2,az); +wave_0_per_point5= +wave_0_per_point6=fx = .5+.5*ax/(1-az); +wave_0_per_point7=fy = .5+.5*ay/(1-az); +wave_0_per_point8= +wave_0_per_point9=x=fx; +wave_0_per_point10=y=fy; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r=1-.5*rand(100)/100; +wave_0_per_point14=g=1-.5*rand(100)/100; +wave_0_per_point15=b=1-.5*rand(100)/100; +wave_0_per_point16= +wave_0_per_point17=a=pow((az+1)/2,3); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw1=below(sample,.5); +wave_1_per_point2=sample=2*(sw1*sample+(1-sw1)*(sample-.5)); +wave_1_per_point3= +wave_1_per_point4=ax = 1-3.58*sample*sw1; +wave_1_per_point5=ay = 0;//2*sin(sample*6.2831); +wave_1_per_point6=az = 0; +wave_1_per_point7= +wave_1_per_point8=bx = ax; +wave_1_per_point9=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point10=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point11= +wave_1_per_point12=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point13=ay = by; +wave_1_per_point14=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point15= +wave_1_per_point16=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point17=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point18=bz = az; +wave_1_per_point19= +wave_1_per_point20=vx=bx; vy=by; vz=bz; +wave_1_per_point21= +wave_1_per_point22=x=vx/abs(vz-10)+.5; +wave_1_per_point23=y=vy/abs(vz-10)+.5; +wave_1_per_point24= +wave_1_per_point25=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_1_per_point26=as=1; +wave_1_per_point27=a=1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=t=1; +wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point4=ay = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point5=az = 0; +wave_2_per_point6= +wave_2_per_point7=bx = ax; +wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point10= +wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point12=ay = by; +wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point14= +wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point17=bz = az; +wave_2_per_point18= +wave_2_per_point19=vx=bx; vy=by; vz=bz; +wave_2_per_point20= +wave_2_per_point21=x=vx/abs(vz-10)+.5; +wave_2_per_point22=y=vy/abs(vz-10)+.5; +wave_2_per_point23= +wave_2_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_2_per_point25=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.500 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=t=1; +wave_3_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point4=ay = 0; +wave_3_per_point5=az = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point6= +wave_3_per_point7=bx = ax; +wave_3_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point10= +wave_3_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point12=ay = by; +wave_3_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point14= +wave_3_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point17=bz = az; +wave_3_per_point18= +wave_3_per_point19=vx=bx; vy=by; vz=bz; +wave_3_per_point20= +wave_3_per_point21=x=vx/abs(vz-10)+.5; +wave_3_per_point22=y=vy/abs(vz-10)+.5; +wave_3_per_point23= +wave_3_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_3_per_point25=a=t*(.07*(1-as)+as); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.39872 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.800 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=//a=below(vz,0); +shape_0_per_frame21=x=.5; +shape_0_per_frame22=y=.5; +shape_0_per_frame23=rad=.1; +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.29868 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.69115 +shapecode_1_tex_zoom=1.50092 +shapecode_1_r=0.200 +shapecode_1_g=0.100 +shapecode_1_b=1.000 +shapecode_1_a=0.000 +shapecode_1_r2=0.040 +shapecode_1_g2=0.050 +shapecode_1_b2=0.400 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.54304 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.57070 +shapecode_2_tex_zoom=1.50099 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.600 +shapecode_2_a=0.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_2_per_frame3=b=.75*abs(sin(time*2.54+.65+sin(time*3.77+8))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.11490 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=0.700 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.800 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.9+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*1.15+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.75; //or try: ret -= 0.004; +warp_13=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=`{ +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_10=` ret += GetBlur1(1-uv)*2; +comp_11=`ret += GetBlur3(-uv)*0.5; +comp_12=` ret *= 1.00; //old gamma effect +comp_13=` +comp_14=`} diff --git a/presets/presets_milkdrop_200/Bmelgren + Geiss - Godhead (Canvas Mix).milk b/presets/presets_milkdrop_200/Bmelgren + Geiss - Godhead (Canvas Mix).milk new file mode 100755 index 0000000000..833884adbe --- /dev/null +++ b/presets/presets_milkdrop_200/Bmelgren + Geiss - Godhead (Canvas Mix).milk @@ -0,0 +1,243 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.0 +fDecay=0.975 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.1 +fWaveScale=1.286 +fWaveSmoothing=0.9 +fWaveParam=0.6 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.38022 +rot=0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.19805 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = bass-1; +per_frame_2=wave_g = mid-1.2; +per_frame_3=wave_b = treb-.5; +per_pixel_1=rot=0.1*pow(ang,3); +per_pixel_2=zoom=sin(pow(rad,mid))+.8; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate((b1-b2)*8)*2.30*float3(1,0.6,0.1); +comp_13=` ret += saturate((b3-b4)*8)*2.30*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Bmelgren + Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk b/presets/presets_milkdrop_200/Bmelgren + Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk new file mode 100755 index 0000000000..4cb9f077f2 --- /dev/null +++ b/presets/presets_milkdrop_200/Bmelgren + Krash - Rainbow Orb Peacock (Centred Journey Mix 2).milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=5.277897 +fWaveSmoothing=0 +fWaveParam=-0.4 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=-0.24 +cx=0.65 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.887449 +sy=1.05101 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=warp/bass; +per_frame_2=x_wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_3=wave_r = 1 + sin(-x_wave_x*6.28); +per_frame_4=wave_g = abs(sin(2*x_wave_x*6.28)); +per_frame_5=wave_b = sin(x_wave_x*6.28); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual/1.5; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_frame_14=q1=net_effect; +per_frame_15=q2=bass_thresh; +per_pixel_1=rot = rot + if(equal(tan(ang), q1), rot, tan(q1-rad)/q2); diff --git a/presets/presets_milkdrop_200/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_milkdrop_200/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk new file mode 100755 index 0000000000..69e9778a1b --- /dev/null +++ b/presets/presets_milkdrop_200/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk @@ -0,0 +1,63 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2 +fDecay=0.95 +fVideoEchoZoom=3.007504 +fVideoEchoAlpha=0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.880224 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.074097 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; +per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; +per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; +per_frame_5=rot = .4*sin(mid_att*.05); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); diff --git a/presets/presets_milkdrop_200/Che - Escape.milk b/presets/presets_milkdrop_200/Che - Escape.milk new file mode 100755 index 0000000000..fc01fe0e7f --- /dev/null +++ b/presets/presets_milkdrop_200/Che - Escape.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1 +fDecay=0.95 +fVideoEchoZoom=1.000498 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.608285 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=1 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.000154 +fShader=0 +zoom=1.000223 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.15 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.05 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=6.4 +nMotionVectorsY=14.400005 +mv_dx=0 +mv_dy=-0.01 +mv_l=0.35 +mv_r=0.9 +mv_g=0.5 +mv_b=0 +mv_a=1 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23= +per_frame_24=q8=30/fps; +per_frame_25=ccl=ccl+beat; +per_frame_26=minorccl=minorccl+le*q8; +per_frame_27=q7=ccl+.0002*minorccl; +per_frame_28=q6=3.7*ccl+.01*minorccl; +per_frame_29=ob_size=.3+.3*sin(16*ccl+.007*minorccl); +per_frame_30=ib_a=.5+.4*sin(.01*minorccl+ccl); +per_frame_31=wave_r=.7+.3*sin(.04*ccl+.01*minorccl); +per_frame_32=wave_g=.7+.3*sin(.02*ccl+.012*minorccl); +per_frame_33=wave_b=.3+.3*sin(36*ccl+.013*minorccl); +per_frame_34=ib_r=.25+.25*sin(72*ccl+.016*minorccl); +per_frame_35=ib_g=.25+.25*sin(48*ccl+.021*minorccl); +per_frame_36=ib_b=.5+.3*sin(86*ccl)+.2*(.028*minorccl); +per_frame_37= +per_frame_38=echo_alpha=.5+.5*cos(68*ccl+.0041*minorccl); +per_frame_39=echo_zoom=exp(sin(13.7*ccl+.017*minorccl)); +per_frame_40=echo_orient=ccl%4; +per_frame_41= +per_frame_42=mvrot=ccl%6; +per_frame_43=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039, +per_frame_44=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651, +per_frame_45=if(equal(mvrot,0),1,.773))); +per_frame_46=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267, +per_frame_47=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804, +per_frame_48=if(equal(mvrot,0),1,.38))); +per_frame_49=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694, +per_frame_50=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114, +per_frame_51=if(equal(mvrot,0),1,.145))); +per_pixel_1=zone=below(sin(sin(49*q7)*14*x-sin(36*q7)*14*y),-.2); +per_pixel_2=zoom=1+.33*q8*if(zone,-.5+.1*sin(1.08*q6),.5+.1*sin(.96*q6)); +per_pixel_3=zoomexp=exp(sin(if(zone,q6,-q6))); +per_pixel_4=rot=q8*.03*sin(q6+q7+q7*zone); diff --git a/presets/presets_milkdrop_200/EMPR - Random - Changing Polyevolution.milk b/presets/presets_milkdrop_200/EMPR - Random - Changing Polyevolution.milk new file mode 100755 index 0000000000..3537d35ddf --- /dev/null +++ b/presets/presets_milkdrop_200/EMPR - Random - Changing Polyevolution.milk @@ -0,0 +1,95 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1.220183 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241455 +fWaveSmoothing=0 +fWaveParam=-0.261032 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0.00001 +dy=0.00001 +warp=0.01 +sx=1 +sy=1 +wave_r=0.526528 +wave_g=0.324083 +wave_b=0.134239 +wave_x=0.482812 +wave_y=0.467471 +ob_size=0.0045 +ob_r=0.071102 +ob_g=0.089654 +ob_b=0.51465 +ob_a=0.985207 +ib_size=0.005 +ib_r=0.491715 +ib_g=0.022579 +ib_b=0.569085 +ib_a=0.949768 +nMotionVectorsX=3 +nMotionVectorsY=48 +mv_dx=-0.505893 +mv_dy=-0.993957 +mv_l=5 +mv_r=0.835033 +mv_g=0.249397 +mv_b=0.055806 +mv_a=0.175581 +per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_frame_7=volume = 0.3*(bass+mid+att); +per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = max(bass_att,peakbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_15=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_17=effect = if(beat,effect+rand(5)+1,effect); +per_frame_18=effect = if(above(effect,5),effect-6,effect); +per_frame_19=q1 = effect+2; +per_frame_20=monitor = q1; +per_frame_21=wave_mode = wave_g * wave_b; +per_frame_22=wave_r = time + treb; +per_frame_23=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_24=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_frame_25=wave_mode=if(below(wave_mode,0), 0, wave_mode); +per_frame_26=wave_mode=if(above(wave_mode,7.0), 7.0, wave_mode); +per_frame_27=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_28=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); +per_pixel_2=cy = x * b; +per_pixel_3=cy=if(below(cy,-1.0), -1.0, cy); +per_pixel_4=cy=if(above(cy,2.0), 2.0, cy); diff --git a/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk b/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk new file mode 100644 index 0000000000..e343a30c76 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk @@ -0,0 +1,535 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.0 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.611 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.00400 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.12532 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.3 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=b=b+pow(1-sample,2)*0.3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=b=b+pow(1-sample,2)*0.3 +wave_1_per_point69= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=q1=time*0.9; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` //ret *= 0.96; //or try: ret -= 0.004; +warp_8=` +warp_9=` +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0.3,0.1,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.08)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` ret = col1 * saturate(dot(g,dir1)); +comp_25=` +comp_26=`} diff --git a/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk b/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk new file mode 100644 index 0000000000..6525e88e6d --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk @@ -0,0 +1,575 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.500000 +fGammaAdj=1.7 +fDecay=0.960 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.03300 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.3 +ib_size=0.090 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.3 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.99882 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=0.25005 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.06779 +shapecode_1_ang=0.75398 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.74186 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.06779 +shapecode_2_ang=0.75398 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.77977 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +comp_1=`shader_body +comp_2=`{ +comp_3=` // use 3D noise +comp_4=` float3 uvw = float3(uv*3.3, 0.3); +comp_5=` //uvw = mul(uvw, rot_s2); +comp_6=` uvw.z += time*0.3; +comp_7=` +comp_8=` // sample a high-quality 3D noise volume! +comp_9=` float4 N = tex3D(sampler_noisevol_hq, uvw); +comp_10=` +comp_11=` float2 uv2 = uv; +comp_12=` uv2 += (N.xy*2-1)*texsize.zw*13; +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv2).xyz; +comp_15=` ret += GetBlur1(uv)*0.4; +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk b/presets/presets_milkdrop_200/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk new file mode 100644 index 0000000000..5c8a25ee92 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk @@ -0,0 +1,330 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.280000 +wavecode_0_b=1.0 +wavecode_0_a=0.2 +wave_0_init1=t2 = 0 +wave_0_per_frame1=t1 = time * 13; +wave_0_per_frame2= +wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; +wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; +wave_0_per_frame5= +wave_0_per_frame6=t2= q2 * 0.003 + 0.06; +wave_0_per_frame7= +wave_0_per_frame8=t3= q1; +wave_0_per_frame9= +wave_0_per_frame10=t4 = time/8; +wave_0_per_frame11= +wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_0_per_frame13=t5 = t5 * 17 + 2; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2=pi = 3.1415; +wave_0_per_point3=pi2 = 6.283; +wave_0_per_point4= +wave_0_per_point5=phs = t1 + sample*9; +wave_0_per_point6= +wave_0_per_point7=bias = t5; +wave_0_per_point8=bias_i = bias - 1; +wave_0_per_point9= +wave_0_per_point10=cc = phs / 3; +wave_0_per_point11=cc_int = int(cc); +wave_0_per_point12=cc_ramp = cc - cc_int; +wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_0_per_point15= +wave_0_per_point16=cc_ad_b = cc_ramp * bias; +wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_0_per_point18= +wave_0_per_point19=cc_a = cc_ad_a + cc_int; +wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_0_per_point21= +wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_0_per_point23=yp = 1; +wave_0_per_point24=zp = 0; +wave_0_per_point25= +wave_0_per_point26=ang = cc_a * 6.283 * 16; +wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point28=xq = sang*xp + cang*zp; +wave_0_per_point29=yq = yp; +wave_0_per_point30=zq = cang*xp - sang*zp; +wave_0_per_point31=xp=xq;yp=yq;zp=zq; +wave_0_per_point32= +wave_0_per_point33=ang2 = cc_b + t4; +wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point35=xq = xp; +wave_0_per_point36=yq = sang*yp + cang*zp; +wave_0_per_point37=zq = cang*yp - sang*zp; +wave_0_per_point38=xp=xq;yp=yq;zp=zq; +wave_0_per_point39= +wave_0_per_point40=ang2 = cc_b * 3.13 + t4; +wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point42=xq = sang*xp + cang*yp; +wave_0_per_point43=yq = cang*xp - sang*yp; +wave_0_per_point44=zq = zp; +wave_0_per_point45=xp=xq;yp=yq;zp=zq; +wave_0_per_point46= +wave_0_per_point47=ang2 = cc_b * 1.43 + t4; +wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point49=xq = sang*xp + cang*zp; +wave_0_per_point50=yq = yp; +wave_0_per_point51=zq = cang*xp - sang*zp; +wave_0_per_point52=xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=zp = zp+3.1; +wave_0_per_point56=xs = xp/zp + 0.5; +wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_0_per_point58= +wave_0_per_point59=x=xs; +wave_0_per_point60=y=ys; +wave_0_per_point61= +wave_0_per_point62= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=22 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.548219 +shapecode_0_ang=1.445133 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.3 +shapecode_0_g=0.910000 +shapecode_0_b=1.0 +shapecode_0_a=0.220000 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.249785 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.4 +shapecode_1_g=0.2 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.1 +shapecode_1_g2=0.2 +shapecode_1_b2=0.3 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.364568 +shapecode_2_ang=1.570797 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.416601 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.180000 +shape_2_per_frame1=ang = time/4 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.5 +shapecode_3_g2=0.7 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=ang = - time/3 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5=q1= ib_a * 6.283; +per_frame_6= +per_frame_7=q2 = (bass+mid+treb)*0.25; +per_frame_8=q2 = q2*q2; +per_frame_9= +per_frame_10=monitor = q2; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_pixel_1=zoom=1+(rad/7); +per_pixel_2=rot=(rad/100)*sin(time); +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,uv.y); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_milkdrop_200/EoS + Phat + Geiss - chasers 15 sentinels male and female (Dementia Mix).milk b/presets/presets_milkdrop_200/EoS + Phat + Geiss - chasers 15 sentinels male and female (Dementia Mix).milk new file mode 100644 index 0000000000..13b9128124 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat + Geiss - chasers 15 sentinels male and female (Dementia Mix).milk @@ -0,0 +1,656 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.020000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.000001 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=0.9 +wavecode_1_b=0.8 +wavecode_1_a=1.0 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.720000 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.7 +wavecode_3_b=0.5 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.7 +shapecode_0_b=0.3 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+vol*0.01; +per_frame_12= +per_frame_13=q1=time*0.5; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7 +per_frame_17= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = tex2D(sampler_main, uv + (cos(ret.xz*17.3))*0.02).xyz; +comp_8=` +comp_9=` +comp_10=` //ret += GetBlur1(uv) - 0.07; +comp_11=` //ret *= float3(1.3,0.8,0.5); +comp_12=` //ret *= 0.8; +comp_13=`} diff --git a/presets/presets_milkdrop_200/EoS + Phat - Emergent factors.milk b/presets/presets_milkdrop_200/EoS + Phat - Emergent factors.milk new file mode 100644 index 0000000000..876535e66b --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - Emergent factors.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.015000 +ib_r=0.010000 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=35.200005 +nMotionVectorsY=29.760006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.5 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.5 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.0 +shapecode_2_y=0.0 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.0 +shapecode_3_y=1.0 +shapecode_3_rad=0.662308 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=0.5; +per_frame_17=q5=0.5; +per_frame_18= +per_frame_19=//dx=sin(musictime*0.1)*0.07; +per_frame_20=//dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd/rd); +per_pixel_6=rot=(rd/rd)+sin(time/5); diff --git a/presets/presets_milkdrop_200/EoS + Phat - chasers 11 sentinel C.milk b/presets/presets_milkdrop_200/EoS + Phat - chasers 11 sentinel C.milk new file mode 100644 index 0000000000..36ebc38695 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - chasers 11 sentinel C.milk @@ -0,0 +1,627 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=0.9 +wavecode_1_b=0.8 +wavecode_1_a=1.0 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.720000 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.7 +wavecode_3_b=0.5 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.7 +shapecode_0_b=0.3 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01; +per_frame_7= +per_frame_8=q1=time*0.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=1 + min(vol*0.8,1)*0.7 +per_frame_12= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_milkdrop_200/EoS + Phat - cubetrace - v2.milk b/presets/presets_milkdrop_200/EoS + Phat - cubetrace - v2.milk new file mode 100644 index 0000000000..8331bdfac2 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - cubetrace - v2.milk @@ -0,0 +1,533 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.050000 +wavecode_0_g=0.090000 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1= +wave_0_per_frame2=t1=q1*0.25; +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//rotate +wave_0_per_point16=ang=t1; +wave_0_per_point17=sang=sin(ang);cang=cos(ang); +wave_0_per_point18=xq=xp*sang + zp*cang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=xp*cang - zp*sang; +wave_0_per_point21=xp=xq;yp=yq;zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate +wave_0_per_point24=ang=t1*0.75; +wave_0_per_point25=sang=sin(ang);cang=cos(ang); +wave_0_per_point26=xq=xp; +wave_0_per_point27=yq=yp*sang + zp*cang; +wave_0_per_point28=zq=yp*cang - zp*sang; +wave_0_per_point29=xp=xq;yp=yq;zp=zq; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=zp= zp+2; +wave_0_per_point33=x= xp/zp + 0.5; +wave_0_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.5 +wavecode_1_g=0.5 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.194774 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=1.0 +shapecode_0_a=0.000001 +shapecode_0_r2=0.630000 +shapecode_0_g2=0.7 +shapecode_0_b2=1.0 +shapecode_0_a2=0.070000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.043785 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.3 +shapecode_1_g=0.6 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=1 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.284278 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=0.0 +shapecode_2_r2=0.230000 +shapecode_2_g2=0.540000 +shapecode_2_b2=1.0 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.0 +shapecode_2_border_g=0.8 +shapecode_2_border_b=0.4 +shapecode_2_border_a=0.450000 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.158045 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.3 +shapecode_3_g=0.6 +shapecode_3_b=1.0 +shapecode_3_a=0.140001 +shapecode_3_r2=0.4 +shapecode_3_g2=0.5 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =4; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.005; +per_frame_3= +per_frame_4= +per_frame_5=vol= (bass+mid+treb)*0.25; +per_frame_6=vol = vol*vol; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=mtime=mtime+vol*0.01*(75/fps); +per_frame_10= +per_frame_11=q7 = mtime; +per_frame_12= +per_frame_13=monitor=512/8; +per_frame_14= +per_frame_15=warp=0; +per_frame_16=q1=mtime*0.9; +per_frame_17= +per_frame_18=beat = above(vol,1); +per_frame_19=bc = max(bc,0); +per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_21= +per_frame_22=trigger = equal(bc,1); +per_frame_23= +per_frame_24=monitor=size; +per_frame_25= +per_frame_26=size = size + trigger; +per_frame_27=size = if( above(size,10) , 4 , size ); +per_frame_28= +per_frame_29= +per_frame_30=q2=int(size); //cubesize +per_frame_31= +per_frame_32= +per_frame_33= diff --git a/presets/presets_milkdrop_200/EoS + Phat - last of it's kind_sinking.milk b/presets/presets_milkdrop_200/EoS + Phat - last of it's kind_sinking.milk new file mode 100644 index 0000000000..79b6c31e52 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - last of it's kind_sinking.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.105000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.011202 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.95; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol*(35/fps); +per_frame_16=q4=cos(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=//dx=tan(musictime*0.1)*0.2; +per_frame_20=dy=(musictime*0.119)*0.2; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; +per_pixel_6=zoom=tan(rd/5+0.01)+tan(rad/20+0.01)/(rd/rad); diff --git a/presets/presets_milkdrop_200/EoS + Phat - spectrum bubble field.milk b/presets/presets_milkdrop_200/EoS + Phat - spectrum bubble field.milk new file mode 100644 index 0000000000..bb28e87b8d --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - spectrum bubble field.milk @@ -0,0 +1,274 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.050000 +ib_r=0.0 +ib_g=1.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.0 +mv_g=0.7 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=19 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.028415 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.380914 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.866421 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.347837 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5 + sin(time)*0.003; +shape_1_per_frame3=y=.5 + cos(time*3)*0.003; +shape_1_per_frame4= +shape_1_per_frame5=spl = spl-0.01; +shape_1_per_frame6=spl = if( below(spl,0) , 1 , spl); +shape_1_per_frame7=tex_zoom=1 + (1-spl*spl); +shape_1_per_frame8=a = min( 1, spl*3) +shapecode_2_enabled=1 +shapecode_2_sides=22 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.449289 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=2.216705 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=tex_ang=sin(time*0.5); +shape_2_per_frame2=sn=sign(tex_ang); +shape_2_per_frame3=tex_ang = tex_ang*tex_ang*sn*0.5; +shape_2_per_frame4=thick=above(.9,bass); +shape_2_per_frame5=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=//dx=sin(musictime*0.1)*0.03; +per_frame_20=//dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29=zoom=1; +per_frame_30=dx=0; +per_frame_31=dy=0; +per_frame_32=cx=sin(time*0.25) + 0.5; +per_frame_33=cy=sin(time*0.125) + 0.5; +per_frame_34=sy=0.5 + (sin(time*0.5)*0.5+0.5)*0.25; +per_frame_35=sx=sy*0.95; +per_frame_36=rot=sin(time*0.31)*0.6 diff --git a/presets/presets_milkdrop_200/EoS + Phat - the lights at night_spikes.milk b/presets/presets_milkdrop_200/EoS + Phat - the lights at night_spikes.milk new file mode 100644 index 0000000000..0e6787628c --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Phat - the lights at night_spikes.milk @@ -0,0 +1,271 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=1.008147 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.008151 +sy=1.104621 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=1.0 +ob_g=0.5 +ob_b=0.0 +ob_a=0.2 +ib_size=0.170000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=r=sin(time*0.7)*3*(bass*0.2); +shape_0_per_frame3=g=sin(time*0.5)*4*(treb*2); +shape_0_per_frame4= +shape_0_per_frame5=vol=(bass_att+mid_att+treb_att)*0.25; +shape_0_per_frame6=vol=vol*vol; +shape_0_per_frame7=vol=min(vol,1); +shape_0_per_frame8=vol=max(vol,0); +shape_0_per_frame9= +shape_0_per_frame10=a=a*vol; +shape_0_per_frame11=a2=a2*vol +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=2.987774 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1= +shape_2_per_frame2=vol=(bass+mid+treb)*0.45; +shape_2_per_frame3=vol=vol*vol; +shape_2_per_frame4=vol=min(vol,1); +shape_2_per_frame5=vol=max(vol,0); +shape_2_per_frame6= +shape_2_per_frame7=a=a*vol; +shape_2_per_frame8=a2=a2*vol +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.35; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.5; +per_frame_23=//dy=cos(musictime*0.069)*0.3; +per_frame_24=dy=pow( (bass+mid+treb)*0.25, 2)*0.01; +per_frame_25= +per_frame_26=sx=-1; +per_frame_27= +per_frame_28=monitor=rot; +per_frame_29= +per_frame_30=ob_r=tan(time); +per_frame_31=ob_r=max(ob_r,0); +per_frame_32=ob_r=min(ob_r,1); +per_frame_33=ob_g=tan(time+2.1); +per_frame_34=ob_g=max(ob_g,0); +per_frame_35=ob_g=min(ob_g,1); +per_frame_36=ob_b=tan(time+4.2); +per_frame_37=ob_b=max(ob_b,0); +per_frame_38=ob_b=min(ob_b,1); diff --git a/presets/presets_milkdrop_200/EoS + Zylot - skylight (Stained Glass Majesty mix).milk b/presets/presets_milkdrop_200/EoS + Zylot - skylight (Stained Glass Majesty mix).milk new file mode 100644 index 0000000000..20534c4e00 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS + Zylot - skylight (Stained Glass Majesty mix).milk @@ -0,0 +1,273 @@ +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.0 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.1 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.5 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.1 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.980000 +shapecode_3_g=1.0 +shapecode_3_b=0.980000 +shapecode_3_a=0.3 +shapecode_3_r2=0.0 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_milkdrop_200/EoS - glowsticks v2 02.milk b/presets/presets_milkdrop_200/EoS - glowsticks v2 02.milk new file mode 100644 index 0000000000..6f5d43f420 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - glowsticks v2 02.milk @@ -0,0 +1,484 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=b=b+pow(1-sample,2)*0.3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=b=b+pow(1-sample,2)*0.3 +wave_1_per_point69= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=q1=time*0.9; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= diff --git a/presets/presets_milkdrop_200/EoS - glowsticks v2 03 music shifter edit b.milk b/presets/presets_milkdrop_200/EoS - glowsticks v2 03 music shifter edit b.milk new file mode 100644 index 0000000000..3cc43a65d0 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - glowsticks v2 03 music shifter edit b.milk @@ -0,0 +1,537 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.7 +fDecay=0.960000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.299900 +ib_size=0.090000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.998815 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.250054 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.067790 +shapecode_1_ang=0.753982 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.741858 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.067790 +shapecode_2_ang=0.753982 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.779769 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.067700 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.779769 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= diff --git a/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) .milk b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) .milk new file mode 100644 index 0000000000..9403955a47 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) .milk @@ -0,0 +1,677 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.6 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip; +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 diff --git a/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk new file mode 100644 index 0000000000..c1e8c076f2 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk @@ -0,0 +1,682 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.055000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.6 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(time)*treb*treb; +per_pixel_3= +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk new file mode 100644 index 0000000000..17941c378b --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=1.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.1 +wavecode_2_g=1.0 +wavecode_2_b=0.7 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=0.2 +wavecode_3_g=1.0 +wavecode_3_b=0.6 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.6 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_milkdrop_200/EoS - pointfield 01 complex.milk b/presets/presets_milkdrop_200/EoS - pointfield 01 complex.milk new file mode 100644 index 0000000000..0735824b2b --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - pointfield 01 complex.milk @@ -0,0 +1,375 @@ +[preset00] +fRating=0.0 +fGammaAdj=1.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.14)+sin(s*32.3)+sin(s*9.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.20; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.14)+cos(s*13.4)+sin(s*37.7); +wave_2_per_point9=yp=yp*0.20; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*2.24)+cos(s*37.4)+cos(s*15.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5); +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=1; +wave_2_per_point34=b=1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=advance=advance+ 0.005; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*14.3)+sin(s*19.8); +wave_3_per_point5=xp=xp*0.20; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.34)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point9=yp=yp*0.20; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*27.4)+cos(s*14.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5); +wave_3_per_point23= +wave_3_per_point24=zp=zp*0.7; +wave_3_per_point25= +wave_3_per_point26=x_screen=xp/zp + 0.5; +wave_3_per_point27=y_screen=yp/zp + 0.5; +wave_3_per_point28= +wave_3_per_point29=x=x_screen; +wave_3_per_point30=y=y_screen; +wave_3_per_point31= +wave_3_per_point32=r=1; +wave_3_per_point33=g=1; +wave_3_per_point34=b=1; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.355810 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.671653 +shapecode_0_r=0.8 +shapecode_0_g=0.9 +shapecode_0_b=1.0 +shapecode_0_a=0.039900 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= diff --git a/presets/presets_milkdrop_200/EoS - repeater 08 - rave on a lot of acid and some K.milk b/presets/presets_milkdrop_200/EoS - repeater 08 - rave on a lot of acid and some K.milk new file mode 100644 index 0000000000..915e103146 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - repeater 08 - rave on a lot of acid and some K.milk @@ -0,0 +1,654 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.910001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=43.199997 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2; +shape_0_per_frame8=tex_zoom = q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2; +shape_1_per_frame10=tex_zoom = q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2; +shape_2_per_frame11=tex_zoom = q5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2; +shape_3_per_frame11=tex_zoom = q5; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*0.1*(45/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*0.1*(45/fps); +per_frame_27= +per_frame_28=q1=mtime*0.9; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/10; +per_frame_35=q5 =1 diff --git a/presets/presets_milkdrop_200/EoS - repeater 13 - definitive.milk b/presets/presets_milkdrop_200/EoS - repeater 13 - definitive.milk new file mode 100644 index 0000000000..8f4547a6ab --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - repeater 13 - definitive.milk @@ -0,0 +1,659 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.000001 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.1 +wavecode_1_g=1.0 +wavecode_1_b=0.7 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81= +wave_2_per_point82= +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85= +wave_2_per_point86= +wave_2_per_point87= +wave_2_per_point88= +wave_2_per_point89= +wave_2_per_point90= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.6 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60=//project into screenspace and draw on screen +wave_3_per_point61=zp=zp+2; +wave_3_per_point62=xs=-xp/zp; +wave_3_per_point63=ys=yp/zp; +wave_3_per_point64= +wave_3_per_point65=x=xs+0.5; +wave_3_per_point66=y=ys*1.3+0.5; +wave_3_per_point67= +wave_3_per_point68=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point69= +wave_3_per_point70=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point71= +wave_3_per_point72=r=t4; +wave_3_per_point73=g=t5; +wave_3_per_point74=b=t6; +wave_3_per_point75=//end +wave_3_per_point76= +wave_3_per_point77=//A pox upon he who is Tag. +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip; +per_frame_26=mtimeb=mtimeb+vol*0.1; +per_frame_27= +per_frame_28=q1=mtime*0.4; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30 diff --git a/presets/presets_milkdrop_200/EoS - sarc c_Phats Zoom Mix.milk b/presets/presets_milkdrop_200/EoS - sarc c_Phats Zoom Mix.milk new file mode 100644 index 0000000000..e10bdbc4ee --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - sarc c_Phats Zoom Mix.milk @@ -0,0 +1,309 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.280000 +wavecode_0_b=1.0 +wavecode_0_a=0.2 +wave_0_init1=t2 = 0 +wave_0_per_frame1=t1 = time * 13; +wave_0_per_frame2= +wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; +wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; +wave_0_per_frame5= +wave_0_per_frame6=t2= q2 * 0.003 + 0.06; +wave_0_per_frame7= +wave_0_per_frame8=t3= q1; +wave_0_per_frame9= +wave_0_per_frame10=t4 = time/8; +wave_0_per_frame11= +wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_0_per_frame13=t5 = t5 * 17 + 2; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2=pi = 3.1415; +wave_0_per_point3=pi2 = 6.283; +wave_0_per_point4= +wave_0_per_point5=phs = t1 + sample*9; +wave_0_per_point6= +wave_0_per_point7=bias = t5; +wave_0_per_point8=bias_i = bias - 1; +wave_0_per_point9= +wave_0_per_point10=cc = phs / 3; +wave_0_per_point11=cc_int = int(cc); +wave_0_per_point12=cc_ramp = cc - cc_int; +wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_0_per_point15= +wave_0_per_point16=cc_ad_b = cc_ramp * bias; +wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_0_per_point18= +wave_0_per_point19=cc_a = cc_ad_a + cc_int; +wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_0_per_point21= +wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_0_per_point23=yp = 1; +wave_0_per_point24=zp = 0; +wave_0_per_point25= +wave_0_per_point26=ang = cc_a * 6.283 * 16; +wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point28=xq = sang*xp + cang*zp; +wave_0_per_point29=yq = yp; +wave_0_per_point30=zq = cang*xp - sang*zp; +wave_0_per_point31=xp=xq;yp=yq;zp=zq; +wave_0_per_point32= +wave_0_per_point33=ang2 = cc_b + t4; +wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point35=xq = xp; +wave_0_per_point36=yq = sang*yp + cang*zp; +wave_0_per_point37=zq = cang*yp - sang*zp; +wave_0_per_point38=xp=xq;yp=yq;zp=zq; +wave_0_per_point39= +wave_0_per_point40=ang2 = cc_b * 3.13 + t4; +wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point42=xq = sang*xp + cang*yp; +wave_0_per_point43=yq = cang*xp - sang*yp; +wave_0_per_point44=zq = zp; +wave_0_per_point45=xp=xq;yp=yq;zp=zq; +wave_0_per_point46= +wave_0_per_point47=ang2 = cc_b * 1.43 + t4; +wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point49=xq = sang*xp + cang*zp; +wave_0_per_point50=yq = yp; +wave_0_per_point51=zq = cang*xp - sang*zp; +wave_0_per_point52=xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=zp = zp+3.1; +wave_0_per_point56=xs = xp/zp + 0.5; +wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_0_per_point58= +wave_0_per_point59=x=xs; +wave_0_per_point60=y=ys; +wave_0_per_point61= +wave_0_per_point62= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=22 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.548219 +shapecode_0_ang=1.445133 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.3 +shapecode_0_g=0.910000 +shapecode_0_b=1.0 +shapecode_0_a=0.220000 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.249785 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.4 +shapecode_1_g=0.2 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.1 +shapecode_1_g2=0.2 +shapecode_1_b2=0.3 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.364568 +shapecode_2_ang=1.570797 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.416601 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.180000 +shape_2_per_frame1=ang = time/4 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.5 +shapecode_3_g2=0.7 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=ang = - time/3 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5=q1= ib_a * 6.283; +per_frame_6= +per_frame_7=q2 = (bass+mid+treb)*0.25; +per_frame_8=q2 = q2*q2; +per_frame_9= +per_frame_10=monitor = q2; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_pixel_1=zoom=1+(rad/7); +per_pixel_2=rot=(rad/100)*sin(time); diff --git a/presets/presets_milkdrop_200/EoS - skylight a1 [music warp switch].milk b/presets/presets_milkdrop_200/EoS - skylight a1 [music warp switch].milk new file mode 100644 index 0000000000..efbeef0774 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - skylight a1 [music warp switch].milk @@ -0,0 +1,253 @@ +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.0 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.1 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=1.0 +shapecode_2_r2=0.1 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=y=0.1 + q3*0.4; +shape_2_per_frame2=rad=q3/2; +shape_2_per_frame3=ang=q3*5 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.980000 +shapecode_3_g=1.0 +shapecode_3_b=0.980000 +shapecode_3_a=0.3 +shapecode_3_r2=0.0 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.99; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_milkdrop_200/EoS - starburst 01.milk b/presets/presets_milkdrop_200/EoS - starburst 01.milk new file mode 100644 index 0000000000..08f605c354 --- /dev/null +++ b/presets/presets_milkdrop_200/EoS - starburst 01.milk @@ -0,0 +1,262 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.9 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.3 +wavecode_0_g=0.7 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=flip=flip+1; +wave_0_per_point4=flip=flip*below(flip,2); +wave_0_per_point5= +wave_0_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_0_per_point7= +wave_0_per_point8=xp=sin(n+phase)*flip; +wave_0_per_point9=yp=cos(n+phase)*flip; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//rotate on y during draw +wave_0_per_point13=ang=n*2+phase*0.2; +wave_0_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point15=yq=yp; +wave_0_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point17= +wave_0_per_point18=//rotation; +wave_0_per_point19=ang=time*0.1; +wave_0_per_point20=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point21=yp=yq; +wave_0_per_point22=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point23= +wave_0_per_point24=ang=time*0.17; +wave_0_per_point25=xq=xp; +wave_0_per_point26=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point27=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=//push into viewspace +wave_0_per_point31=zq=zq+3.1; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=//project into screenspace +wave_0_per_point35=xs=xq/zq; +wave_0_per_point36=ys=yq/zq; +wave_0_per_point37= +wave_0_per_point38= +wave_0_per_point39=x=xs+0.5; +wave_0_per_point40=y=ys*1.3+0.5; +wave_0_per_point41=a=(1-flip)*0.05; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=10 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.419061 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.257163 +shapecode_0_r=0.8 +shapecode_0_g=0.9 +shapecode_0_b=1.0 +shapecode_0_a=0.2 +shapecode_0_r2=0.0 +shapecode_0_g2=0.5 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.91; +per_frame_2=zoom=1.03; +per_frame_3= +per_frame_4= +per_frame_5= +per_frame_6= diff --git a/presets/presets_milkdrop_200/Flexi + Geiss - Bipolar vs- reaction diffusion.milk b/presets/presets_milkdrop_200/Flexi + Geiss - Bipolar vs- reaction diffusion.milk new file mode 100644 index 0000000000..fbf22ffe43 --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi + Geiss - Bipolar vs- reaction diffusion.milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.113); +per_frame_5=rot = rot + 0.01*sin(time*0.533); +per_frame_6=rot = rot + 0.02*sin(time*-0.323); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2)*0.0072*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2)*0.0054*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=0.9615+rad*0.1; +per_pixel_2=rot = rot * 3*(1-pow(rad*2-1,2)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_6=` +warp_7=` // take the difference between the crisp and blurred images, +warp_8=` // then add it back into the image. Creates spots and stripes over time. +warp_9=` ret.xyz += (ret - GetBlur3(uv))*0.35; +warp_10=` ret.xyz -= 0.004; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*0.18; +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv)*0.8 - 0.4 ; +comp_5=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_6=`c = c + b - c*b; +comp_7=`a = a + c - a*c; +comp_8=`base = 1.4*a; +comp_9=`ret = base*(1-base)*(1-base)*4*float3(1,0.45,-0.4) + pow(base,2)*float3(0.1,0.2,0.3); +comp_10=`//ret.xy = ret.yx; +comp_11=`} diff --git a/presets/presets_milkdrop_200/Flexi + Geiss - Tokamak mindblob 2-0.milk b/presets/presets_milkdrop_200/Flexi + Geiss - Tokamak mindblob 2-0.milk new file mode 100644 index 0000000000..e26c985bb3 --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi + Geiss - Tokamak mindblob 2-0.milk @@ -0,0 +1,469 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = -0.2*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`//uv = uv + 0.02*float2(cos(uv.y*27),sin(uv.x*39)); +comp_4=`float2 m = float2(1-q4,q8); +comp_5=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop +comp_6=`float2 mid_uv = m + (uv-m)*0.996; +comp_7=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y); +comp_8=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect? +comp_9=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow +comp_10=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x); +comp_11=`//ret = tex2D(sampler_main, uv); +comp_12=`} diff --git a/presets/presets_milkdrop_200/Flexi - evolved from empirical modelling.milk b/presets/presets_milkdrop_200/Flexi - evolved from empirical modelling.milk new file mode 100755 index 0000000000..6bde8a5058 --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi - evolved from empirical modelling.milk @@ -0,0 +1,489 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.23118 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01806 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=1.000 +shapecode_1_y=0.500 +shapecode_1_rad=0.39872 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.12566 +shapecode_1_tex_zoom=1.51878 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=1.000 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + xx1-xx2; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 18; +per_frame_12=grav = 1; +per_frame_13=resist = 3; +per_frame_14=bounce = 0.9; +per_frame_15=dt = 0.0002; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56= +per_frame_57=zoom = 1;//0.999; +per_frame_58= +per_frame_59= +per_frame_60= +per_frame_61=bb = bb*0.99 + bass*0.02; +per_frame_62=mm = mm*0.99 + mid*0.02; +per_frame_63=tt = tt*0.99 + treb*0.02; +per_frame_64= +per_frame_65=mx = max(max(bb,mm),tt); +per_frame_66=mn = min(min(bb,mm),tt); +per_frame_67= +per_frame_68=ob_r = (bb-mn)/(mx-mn); +per_frame_69=ob_b = (mm-mn)/(mx-mn); +per_frame_70=ob_g = (tt-mn)/(mx-mn); +per_frame_71=q6 = atan2(vx4,vy4); +per_frame_72=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1= +per_pixel_2=dir = -q6*1 + asin(1)*1; +per_pixel_3= +per_pixel_4=b1 = 0.1; // distance +per_pixel_5=m1 = q5*25;//-0.6 + q5*200; // size +per_pixel_6=t1 = 0.05; // velocity +per_pixel_7= +per_pixel_8=xx = 0.5 + (q4-0.5)/aspectx; +per_pixel_9=yy = 1-(0.5 + (q8-0.5)/aspecty); +per_pixel_10= +per_pixel_11= +per_pixel_12=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_13=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_14= +per_pixel_15=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_16=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_17= +per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_20= +per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_23= +per_pixel_24=si3 = -pow(q5,3)*00; +per_pixel_25= +per_pixel_26=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2/aspectx; +per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2/aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` //uv += float2(0,1)*0.00 + float2(0.0002,0); +warp_4=` +warp_5=` float1 d = 0.003; +warp_6=` float3 dx = ( GetBlur2(uv + float2(d,0) - floor(uv+float2(d,0))) - GetBlur2(uv-float2(d,0) - floor(uv-float2(d,0))) )*1280.0*texsize.z; +warp_7=` float3 dy = ( GetBlur2(uv + float2(0,d) - floor(uv+float2(0,d))) - GetBlur2(uv-float2(0,d) - floor(uv-float2(0,d))) )*1024.0*texsize.w; +warp_8=` float2 my_uv = uv + float2(dx.y,dy.y)*0.1; +warp_9=` +warp_10=` +warp_11=` +warp_12=` ret.y = tex2D( sampler_fw_main, my_uv - floor(my_uv)).y; +warp_13=` +warp_14=` +warp_15=` ret.y += (ret.y - GetBlur3(uv).y - 0.18)*.04; +warp_16=` +warp_17=`my_uv = uv - float2(0,1)*0.000+ float2(dy.y,-dx.y)*0.1 - float2(dx.x,dy.x)*0.006 + float2(dx.y,dy.y)*0.05; +warp_18=`ret.x = tex2D( sampler_fw_main, my_uv - floor(my_uv)).x; +warp_19=`ret.x += (ret.x - GetBlur2(uv).x)*.04 + 0.006; +warp_20=`//ret = 0; +warp_21=` +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = lerp( 0, float3(1, 1, 0), GetBlur2(uv).x*2.5 - GetBlur1(uv).x*0.9 + tex2D(sampler_main, uv).x*0.75); +comp_4=`ret *= 1- GetBlur1(uv).x*1.75; +comp_5=`ret += float3(0.7,0,0)*tex2D(sampler_main, uv).x + float3(0.25,0.25,0.25)*tex2D(sampler_main, uv).y; +comp_6=`ret *= max(tex2D(sampler_main, uv).y*0.8, GetBlur2(uv).y*0.5); +comp_7=`//ret = tex2D(sampler_main, uv); +comp_8=`} diff --git a/presets/presets_milkdrop_200/Flexi - ferny ernie.milk b/presets/presets_milkdrop_200/Flexi - ferny ernie.milk new file mode 100755 index 0000000000..41e05ccd2d --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi - ferny ernie.milk @@ -0,0 +1,489 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.401 +fWaveScale=3.177 +fWaveSmoothing=0.000 +fWaveParam=-0.400 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.681 +fWarpScale=2.953 +fZoomExponent=0.01000 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.24699 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.290 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.300 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=time*0.4 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=//a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=//b=b+pow(1-sample,2)*0.3; +wave_0_per_point67= +wave_0_per_point68=x = 0.5 + (x-0.5)/q1; +wave_0_per_point69=y = 0.5 + (y-0.5)/q2 + 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=0.300 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=time*0.4 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=//a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=//b=b+pow(1-sample,2)*0.3; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=x = 0.5 + (x-0.5)/q1; +wave_1_per_point72=y = 0.5 + (y-0.5)/q2 + 0.1; +wave_1_per_point73= +wavecode_2_enabled=0 +wavecode_2_samples=61 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=2.44415 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point3= +wave_2_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wavecode_3_enabled=0 +wavecode_3_samples=61 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point3= +wave_3_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.280 +shapecode_0_rad=0.07419 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73450 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.520 +shapecode_1_y=0.410 +shapecode_1_rad=0.52160 +shapecode_1_ang=0.18850 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.750 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.480 +shapecode_2_y=0.410 +shapecode_2_rad=0.61162 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.750 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=q1 = aspectX; +per_frame_2=q2 = aspectY; +per_frame_3=w1 = asin(1)*0.7; +per_frame_4=w2 = asin(1)*1.3; +per_frame_5=q5 = sin(w1); +per_frame_6=q6 = cos(w1); +per_frame_7=q7 = sin(w2); +per_frame_8=q8 = cos(w2); +per_frame_9=w1 = asin(1)*0.7; +per_frame_10=w2 = asin(1)*1.3; +per_frame_11=q9 = sin(w1); +per_frame_12=q10 = cos(w1); +per_frame_13=q11 = sin(w2); +per_frame_14=q12 = cos(w2); +per_frame_15=zoom = 1;//0.999; +per_frame_16=//warp = 0; +per_frame_17=//wave_a = 0; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`float1 s,c,m; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=`float2 uv_limb = 0.5 + (uv-0.5)*float2(1.18,1.2) + float2(0,1)*0.08; +warp_6=`float1 limb = tex2D(sampler_fc_main, uv_limb).x; +warp_7=` +warp_8=`float2 uv_l = (uv - 0.5)*float2(1,-1)*aspect.xy; +warp_9=`float2 uv_r = uv_l; +warp_10=`float2 uv_ll = uv_l + float2(0.105,-0.015); +warp_11=`float2 uv_rr = uv_l - float2(0.105,+0.015); +warp_12=` +warp_13=`s = _qb.x; +warp_14=`c = _qb.y; +warp_15=`uv_l = 0.5 + 3.5*float2( s*uv_l.x + c*uv_l.y, c*uv_l.x - s*uv_l.y)*aspect.yx + float2(+0.45,-0.67); +warp_16=` +warp_17=`s = _qb.z; +warp_18=`c = _qb.w; +warp_19=`uv_r = 0.5 + 3.5*float2( s*uv_r.x + c*uv_r.y, c*uv_r.x - s*uv_r.y)*aspect.yx + float2(-0.45,-0.67); +warp_20=` +warp_21=`s = _qc.x; +warp_22=`c = _qc.y; +warp_23=`uv_ll = 0.5 + 1.8*float2( s*uv_ll.x + c*uv_ll.y, c*uv_ll.x - s*uv_ll.y)*aspect.yx*float2(0.85,1) + float2(0.05,-0.06); +warp_24=` +warp_25=`s = _qc.z; +warp_26=`c = _qc.w; +warp_27=`uv_rr = 0.5 + 1.8*float2( s*uv_rr.x + c*uv_rr.y, c*uv_rr.x - s*uv_rr.y)*aspect.yx*float2(0.85,1) + float2(-0.05,-0.06); +warp_28=` +warp_29=`float1 l = tex2D(sampler_fc_main, uv_l).x; +warp_30=`float1 r = tex2D(sampler_fc_main, uv_r).x; +warp_31=`float1 ll = max(tex2D(sampler_fc_main, uv_ll).x,tex2D(sampler_fc_main, uv_ll).y); +warp_32=`float1 rr = max(tex2D(sampler_fc_main, uv_rr).x,tex2D(sampler_fc_main, uv_rr).z); +warp_33=`ret.x = max(limb,max(l,r)); +warp_34=`ret.y = ll; +warp_35=`ret.z = rr; +warp_36=`ret = ret*1.2 - 0.01; +warp_37=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*float2(1,-1); +comp_5=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv) + 0.0; +comp_6=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_7=`c = c + b - c*b; +comp_8=`a = a + c - a*c; +comp_9=`base = 1.4*a; +comp_10=`ret = saturate(base*(0.8-base)*6*float3(0.2,-0.1,1)) + 0.5*pow(base,0.5)*float3(1.3,0.6,-0.5); +comp_11=`//ret.xy = ret.yx; +comp_12=`} diff --git a/presets/presets_milkdrop_200/Flexi - julian affairs.milk b/presets/presets_milkdrop_200/Flexi - julian affairs.milk new file mode 100755 index 0000000000..dac6e5859c --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi - julian affairs.milk @@ -0,0 +1,423 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.762 +fWaveSmoothing=0.900 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.408 +fWarpScale=0.905 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.63735 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=2.02310 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=//d3 = if(equal(t8,1),t4,d3); +wave_1_per_point2=//d2 = if(equal(t8,1),t3,d2); +wave_1_per_point3=//d1 = if(equal(t8,1),t2,d1); +wave_1_per_point4=//d = if(equal(t8,1),t1,d); +wave_1_per_point5=t3 = t3*0.6 + (value1)*1; +wave_1_per_point6=t2 = t2*0.7 + t3*0.2; +wave_1_per_point7=t1 = t1*0.8 + t2*0.1; +wave_1_per_point8=d = d*0.9 + t1*0.2; +wave_1_per_point9= +wave_1_per_point10=y = 0.5 + d*sample*(1-sample); +wave_1_per_point11=x = -0.05 + sample*1.1; +wave_1_per_point12=t8 = 0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=zoom = 1.0; +per_frame_2=wave_a = 0; +per_frame_3=//warp = 0; +per_frame_4= +per_frame_5=r = r*0.96 + (bass-treb)*0.1; +per_frame_6=rot = r*0.1; +per_frame_7= +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 zoom = 1.84+(bass-treb)*0.0; +warp_4=`float2 cntr = float2(0,0); +warp_5=`float2 c = float2(0.2806,0.4508); +warp_6=`float2 my_uv = (uv-0.5-cntr)*zoom; +warp_7=`my_uv = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y) + c; +warp_8=` +warp_9=` ret.xz = tex2D( sampler_fw_main, my_uv ).xz*float2(0.99,1) + float2(0.06,-0.004); +warp_10=` ret.y = tex2D( sampler_fw_main, 0.5 + (uv_orig-0.5)*0.98).y - 0.008; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = float2(dx,dy)*0.14*(1-GetPixel(uv).x); +comp_7=` +comp_8=`//uv = 0.5 + (uv-0.5)*float2(1,0.75); +comp_9=`float3 base = GetPixel(uv+uv_y); +comp_10=`float1 fine = 0.92-base.z; +comp_11=`float1 peri = base.x; +comp_12=` +comp_13=`ret = (peri+fine-base.y).xxx; +comp_14=`ret = peri.xxx*float3(1.1,0.7,-0.16) + fine.xxx*float3(-0.9,-1.5,1) + float3(0,-0.1,-0.25)*GetPixel(uv_orig).y; +comp_15=` +comp_16=`} diff --git a/presets/presets_milkdrop_200/Flexi - mindblob [where it's at now].milk b/presets/presets_milkdrop_200/Flexi - mindblob [where it's at now].milk new file mode 100755 index 0000000000..0997d98ddc --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi - mindblob [where it's at now].milk @@ -0,0 +1,509 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=0.200 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02548 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.180 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.520 +shapecode_1_y=0.500 +shapecode_1_rad=1.01595 +shapecode_1_ang=0.18850 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.87865 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.990 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=1.000 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + xx1-xx2; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 18; +per_frame_12=grav = 1; +per_frame_13=resist = 0.2; +per_frame_14=bounce = 0.9; +per_frame_15=dt = 0.0003; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56= +per_frame_57=zoom = 1.00; +per_frame_58= +per_frame_59= +per_frame_60= +per_frame_61=bb = bb*0.99 + bass*0.02; +per_frame_62=mm = mm*0.99 + mid*0.02; +per_frame_63=tt = tt*0.99 + treb*0.02; +per_frame_64= +per_frame_65=q6 = atan2(vx4,vy4); +per_frame_66=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1= +per_pixel_2=dir = -q6*1 + asin(1)*1; +per_pixel_3= +per_pixel_4=b1 = 0.08; // distance +per_pixel_5=m1 = q5*45;//-0.6 + q5*200; // size +per_pixel_6=t1 = 0.5; // velocity +per_pixel_7= +per_pixel_8=xx = 0.5 + (q4-0.5)/aspectx; +per_pixel_9=yy = 1-(0.5 + (q8-0.5)/aspecty); +per_pixel_10= +per_pixel_11= +per_pixel_12=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_13=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_14= +per_pixel_15=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_16=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_17= +per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_20= +per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_23= +per_pixel_24=si3 = -pow(q5,3)*00; +per_pixel_25= +per_pixel_26=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2/aspectx; +per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2/aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` uv = uv - float2(0,1)*texsize.zw*0; +warp_5=` +warp_6=` float2 d2 = texsize.zw*12; +warp_7=` float1 dx = ( GetBlur2(uv + float2(1,0)*d2 - floor(uv + float2(1,0)*d2)) - GetBlur2(uv-float2(1,0)*d2-floor(uv - float2(1,0)*d2)) ).y; +warp_8=` float1 dy = ( GetBlur2(uv + float2(0,1)*d2 - floor(uv + float2(0,1)*d2)) - GetBlur2(uv-float2(0,1)*d2-floor(uv - float2(0,1)*d2)) ).y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.08; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_fc_main, my_uv - floor(my_uv)).y; +warp_14=` ret.y += (ret.y - GetBlur1(my_uv - floor(my_uv)).y)*.125 + 0.02; +warp_15=` +warp_16=` float1 d = 0.01; +warp_17=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*1280*texsize.z; +warp_18=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*1024*texsize.w; +warp_19=` my_uv = uv + float2(dx,dy)*0.01; +warp_20=` +warp_21=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_22=` +warp_23=` +warp_24=` ret.x += (ret.x - GetBlur3(uv).x - 0.02)*.2; +warp_25=` my_uv = uv - float2(dy,-dx)*0.04; +warp_26=` +warp_27=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_28=` +warp_29=` ret.z += (ret.z - GetBlur1(uv).z); +warp_30=` ret.z *= 0.9*(ret.x + ret.y*0.64 - 1); +warp_31=` ret.z += 0.02; +warp_32=` +warp_33=` +warp_34=`//ret = 0; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float2 d = texsize.zw*12; +comp_5=` float1 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ).y; +comp_6=` float1 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ).y; +comp_7=` float2 my_uv = uv - float2(dx,dy)*0.08; +comp_8=`ret = tex2D( sampler_fw_main, my_uv); +comp_9=` +comp_10=` +comp_11=`float1 border = GetBlur1(uv).z*2 - 1; +comp_12=` +comp_13=`float1 val = 1-tex2D( sampler_fw_main, my_uv).x*1.5; +comp_14=`float1 bl2 = 1-GetBlur2(my_uv).x; +comp_15=`ret = lerp( 0, float3(1,1,1),1-tex2D( sampler_fw_main, my_uv).x*1.5); +comp_16=`ret = float3(0.4,0,1)*val.x + float3(1,1,1)*bl2.x*2*(1-val.x); +comp_17=`ret += float3(1,0,1)*GetBlur2(uv).z*2; +comp_18=`ret *= 1-GetBlur1(uv).z*2; +comp_19=`ret += float3(0.8,0.2,0)*tex2D(sampler_main, uv).z; +comp_20=`} diff --git a/presets/presets_milkdrop_200/Flexi - smashing fractals 2-0.milk b/presets/presets_milkdrop_200/Flexi - smashing fractals 2-0.milk new file mode 100644 index 0000000000..b3972ccb8b --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi - smashing fractals 2-0.milk @@ -0,0 +1,510 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=0.999797 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004361 +fWaveScale=0.010000 +fWaveSmoothing=0.0 +fWaveParam=-0.440000 +fModWaveAlphaStart=1.0 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=0.010000 +fWarpScale=100.0 +fZoomExponent=0.321044 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.040000 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.444150 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.0 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.751800 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.925558 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.660000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.925558 +wavecode_3_smoothing=0.0 +wavecode_3_r=0.650000 +wavecode_3_g=0.450000 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.750000 +shapecode_0_rad=0.074934 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.734576 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=vx = 0 +shape_0_per_frame1=x = q4; +shape_0_per_frame2=y = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.7 +shapecode_1_y=0.3 +shapecode_1_rad=0.662300 +shapecode_1_ang=2.450441 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.749341 +shapecode_1_r=1.0 +shapecode_1_g=0.1 +shapecode_1_b=0.1 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=0.1 +shapecode_1_b2=0.1 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.430000 +shapecode_2_y=0.6 +shapecode_2_rad=1.167812 +shapecode_2_ang=5.969028 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.671652 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.750000 +shapecode_3_rad=0.070592 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.734576 +shapecode_3_r=1.0 +shapecode_3_g=0.5 +shapecode_3_b=0.5 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=decay = 0.25; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + (xx1-xx2)*2; +per_frame_7=y1 = 0.4 + yy1; +per_frame_8= +per_frame_9=x1 = max(0,min(1,x1)); +per_frame_10=y1 = max(0,min(1,y1)); +per_frame_11=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_12= +per_frame_13=spring = 50; +per_frame_14=grav = 2; +per_frame_15=resist = 5; +per_frame_16=bounce = 0.75; +per_frame_17=dt = 0.0005; +per_frame_18= +per_frame_19=spx2 = (x1+x3-2*x2)*spring; +per_frame_20=spy2 = (y1+y3-2*y2)*spring; +per_frame_21=spx3 = (x2+x4-2*x3)*spring; +per_frame_22=spy3 = (y2+y4-2*y3)*spring; +per_frame_23=spx4 = (x3-x4)*spring; +per_frame_24=spy4 = (y3-y4)*spring; +per_frame_25= +per_frame_26=vx2 = vx2*(1-resist*dt) + dt*(spx2); +per_frame_27=vy2 = vy2*(1-resist*dt) + dt*(spy2-grav); +per_frame_28=vx3 = vx3*(1-resist*dt) + dt*(spx3); +per_frame_29=vy3 = vy3*(1-resist*dt) + dt*(spy3-grav); +per_frame_30=vx4 = vx4*(1-resist*dt) + dt*(spx4); +per_frame_31=vy4 = vy4*(1-resist*dt) + dt*(spy4-grav); +per_frame_32= +per_frame_33=x2 = x2 + vx2; +per_frame_34=y2 = y2 + vy2; +per_frame_35=x3 = x3 + vx3; +per_frame_36=y3 = y3 + vy3; +per_frame_37=x4 = x4 + vx4; +per_frame_38=y4 = y4 + vy4; +per_frame_39= +per_frame_40=vx2 = if(above(x2,0.1),vx2,abs(vx2)*bounce); +per_frame_41=vx2 = if(below(x2,0.9),vx2,-abs(vx2)*bounce); +per_frame_42=vx3 = if(above(x3,0.1),vx3,abs(vx3)*bounce); +per_frame_43=vx3 = if(below(x3,0.9),vx3,-abs(vx3)*bounce); +per_frame_44=vx4 = if(above(x4,0.1),vx4,abs(vx4)*bounce); +per_frame_45=vx4 = if(below(x4,0.9),vx4,-abs(vx4)*bounce); +per_frame_46= +per_frame_47=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_48=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_49=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_50=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_51=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_52=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_53= +per_frame_54= +per_frame_55=q1 = x1; +per_frame_56=q2 = x2; +per_frame_57=q3 = x3; +per_frame_58=q4 = x4; +per_frame_59= +per_frame_60=q5 = y1; +per_frame_61=q6 = y2; +per_frame_62=q7 = y3; +per_frame_63=q8 = y4; +per_frame_64= +per_frame_65=monitor = ry4; +per_frame_66= +per_frame_67=zoom = 1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 c = tex2D(sampler_main, uv); +comp_4=` float2 s1 = float2(0.51,0.5); +comp_5=` float2 s2 = float2(0.5,0.5); +comp_6=` float2 uv1 = s1 + (uv-0.5)*1; +comp_7=` float2 uv2 = s2 + (uv-0.5)*0.96; +comp_8=` float1 b3c1 = GetBlur3(uv1).x; +comp_9=` float1 b2c0 = GetBlur2(uv).x; +comp_10=` float1 b1c2 = GetBlur1(uv2).x; +comp_11=` ret = lerp(float3(1,1,0.5),float3(0.15,0,0.2),1-b3c1); +comp_12=` ret = lerp(ret,float3(0.0,0.0,0),b2c0.x); +comp_13=` ret = lerp(ret,float3(-0.2,0,0.5),b1c2.x); +comp_14=` ret = lerp(ret,float3(0.9,0.7,0),c.x); +comp_15=` ret = lerp(ret,float3(0.5,0.5,0),c.y); +comp_16=` ret = lerp(ret,0,GetBlur1(uv).z*2 - c.y*1); +comp_17=` ret = lerp(ret,float3(0.5,0,0.1),c.z); +comp_18=` +comp_19=`} diff --git a/presets/presets_milkdrop_200/Flexi, Redi Jedi + Geiss - dual random textured tokamak.milk b/presets/presets_milkdrop_200/Flexi, Redi Jedi + Geiss - dual random textured tokamak.milk new file mode 100755 index 0000000000..d97687754f --- /dev/null +++ b/presets/presets_milkdrop_200/Flexi, Redi Jedi + Geiss - dual random textured tokamak.milk @@ -0,0 +1,480 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.773 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.48612 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.500 +wavecode_1_g=0.300 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_point1=d3 = d3*0.85 + value1; +wave_1_per_point2=d2 = d2*0.85 + d3*0.18; +wave_1_per_point3=d1 = d1*0.85 + d2*0.12; +wave_1_per_point4=d = d*0.85 + d1*0.06; +wave_1_per_point5= +wave_1_per_point6=y = 0.5 + d*sample*(1-sample); +wave_1_per_point7=x = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.2 + 0.0; +warp_52=` ret = lerp(ret, tex2D(sampler_main,uv_orig), 0.2); //motionblur +warp_53=` +warp_54=`//ret = 0; +warp_55=`} +comp_1=`sampler sampler_rand00; +comp_2=`sampler sampler_rand01; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=`float3 main = tex2D(sampler_main,uv); +comp_8=` float2 d = texsize.zw*12; +comp_9=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_10=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_11=` float2 my_uv = uv + float2(dx.y,dy.y)*0.1; +comp_12=` +comp_13=`float3 re; +comp_14=` +comp_15=`//uv = uv + 0.02*float2(cos(uv.y*27),sin(uv.x*39)); +comp_16=`float2 m = float2(1-q4,q8); +comp_17=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop +comp_18=`float2 mid_uv = m + (uv-m)*0.996; +comp_19=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y); +comp_20=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect? +comp_21=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow +comp_22=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x); +comp_23=`//ret = tex2D(sampler_main, uv); +comp_24=`re = tex2D( sampler_rand00, my_uv); +comp_25=`re = lerp( tex2D(sampler_rand01,my_uv), re, ret.x); +comp_26=`ret = lerp( re, 1-re, ret.y); +comp_27=`main.xy +=float2(0.5,0.5)*main.yx - GetBlur1(uv).zz*1.75 + float2(0,.6)*main.z; +comp_28=`main = lerp(main,float3(1,-0.3,-0.3),main.z); +comp_29=`ret = lerp(ret ,main*float3(1,1,0.7),.6); +comp_30=`} diff --git a/presets/presets_milkdrop_200/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_milkdrop_200/Fvese - Zoom Effects (Remix 2).milk new file mode 100755 index 0000000000..c9daa173ad --- /dev/null +++ b/presets/presets_milkdrop_200/Fvese - Zoom Effects (Remix 2).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.5503 +fShader=0 +zoom=0.999899 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=3.2 +nMotionVectorsY=2.400006 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.15*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.9; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad+.5)+(q2*q5); +per_frame_18=q4=abs(.9*5)*(dx_r*dy_r)*(dx*dy); +per_frame_19=q5=cos(.2*2)*(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q1; +per_frame_21=q7=q1+q2+q3+q4+q5+q6; +per_frame_22=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_23=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_24=ib_r=q3+q2; +per_frame_25=ib_b=q2+q1; +per_frame_26=ib_g=q1+q3; +per_frame_27=monitor=q3; +per_pixel_1=zoom= if(below(q1,q6),0.5*x,if(equal(q2,q5),0.9*(1-x),if(above(q3,q4),0.5*y,0.9*(1-y)+if(below(q4,q3),0.5* xpos, if(equal(q5,q2),0.9*(1-xpos),if(above(q6,q1),0.9*ypos,0.3*(1-ypos))))))) + .8 - 0.03*(min(q7+q1,1)); diff --git a/presets/presets_milkdrop_200/Geiss + Rovastar - Julia Fractal (Vectrip Mix).milk b/presets/presets_milkdrop_200/Geiss + Rovastar - Julia Fractal (Vectrip Mix).milk new file mode 100755 index 0000000000..a40e41932d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss + Rovastar - Julia Fractal (Vectrip Mix).milk @@ -0,0 +1,288 @@ +MILKDROP_PRESET_VERSION=200 +PSVERSION=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.8 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.0 +zoom=0.980000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.513000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=0.6 +mv_g=0.7 +mv_b=0.640000 +mv_a=0.7 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=vol = (bass+mid+att)/6; +per_frame_15=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_16=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_17=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_18=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_19=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_20=xpos = xpos + 0.001*xspeed; +per_frame_21=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_22=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_23=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_24=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_25=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_26=ypos = ypos + 0.001*yspeed; +per_frame_27=mv_x_speed = 16; +per_frame_28=mv_y_speed = 12; +per_frame_29=mv_x_range = 0.099; +per_frame_30=mv_y_range = 0.499; +per_frame_31=mv_x_amount = 1; +per_frame_32=mv_y_amount = 4; +per_frame_33=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_34=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_35=mv_b = mv_b - 0.3*sin(time*3.511); +per_frame_36=mv_r = mv_r + 0.25*cos(time*0.433); +per_frame_37=mv_g = mv_g + 0.25*cos(time*0.568); +per_frame_38=mv_l = 24*sin(10*ypos)+ 32*cos(10*xpos); +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); +warp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +warp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +warp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=` +warp_6=`shader_body +warp_7=` +warp_8=` +warp_9=` +warp_10=`{ +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 0.98; //or try: ret -= 0.004; +warp_16=` +warp_17=` +warp_18=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=` +comp_8=` +comp_9=` +comp_10=`{ +comp_11=` ret = tex2D(sampler_main, uv).xyz; +comp_12=` ret = max(ret, tex2D(sampler_main, 1-uv)); +comp_13=` ret = ret*1.50-0.2; //old gamma effect +comp_14=` +comp_15=`} diff --git a/presets/presets_milkdrop_200/Geiss + Rovastar - Notions Of Tonality 2.milk b/presets/presets_milkdrop_200/Geiss + Rovastar - Notions Of Tonality 2.milk new file mode 100755 index 0000000000..f92522adcc --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss + Rovastar - Notions Of Tonality 2.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.693000 +fDecay=0.970000 +fVideoEchoZoom=1.628259 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.2 +fWaveScale=1.093260 +fWaveSmoothing=0.1 +fWaveParam=-0.4 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=3.259127 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.004960 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.180378 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.380000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.1 +ib_size=0.010000 +ib_r=0.550000 +ib_g=0.25 +ib_b=0.25 +ib_a=0.1 +nMotionVectorsX=57.599998 +nMotionVectorsY=44.160000 +mv_dx=0.002000 +mv_dy=0.002000 +mv_l=5.0 +mv_r=0.7 +mv_g=0.4 +mv_b=0.5 +mv_a=0.1 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=mv_r = wave_r + 0.35*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = wave_g + 0.35*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = wave_b + 0.35*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time)); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.474*time) + 0.40*sin(0.394*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.413*time) + 0.40*sin(0.323*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.274*-time) + 0.40*sin(0.464*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.334*time) + 0.40*sin(0.371*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_frame_9=cy = cy + 0.1*sin(time*0.245); +per_frame_10=cx = cx + 0.1*cos(time*0341); +per_frame_11=wave_mystery = 2; +per_frame_12=//mv_l = 2*max(max(bass,bass_att)-1.2,0); +per_frame_13=warp = warp * pow(2, 0.6*sin(time*0.194)); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2-1.5)*aspecty; +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.7); +per_pixel_13=dx = dx + mult*sin(ang2+1.5)*aspectx; +per_pixel_14=dy = dy + mult*cos(ang2+1.5)*aspecty; diff --git a/presets/presets_milkdrop_200/Geiss + Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk b/presets/presets_milkdrop_200/Geiss + Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk new file mode 100755 index 0000000000..3c01c21c73 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss + Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.7 +fDecay=0.94 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.01 +fWaveSmoothing=0.63 +fWaveParam=-1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=13.290894 +rot=-0.02 +cx=0.5 +cy=0.5 +dx=-0.28 +dy=-0.32 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.95 +ib_g=0.85 +ib_b=0.65 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1 +wavecode_3_smoothing=0.5 +wavecode_3_r=1 +wavecode_3_g=1 +wavecode_3_b=1 +wavecode_3_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.55 +shapecode_0_ang=0 +shapecode_0_tex_ang=0 +shapecode_0_tex_zoom=1 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0.1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0.9 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0.4 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.4 +shapecode_1_ang=0 +shapecode_1_tex_ang=0 +shapecode_1_tex_zoom=1 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0.3 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(tq8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.4 +shapecode_2_ang=0 +shapecode_2_tex_ang=0 +shapecode_2_tex_zoom=1 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0.5 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*.638 + 3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0 +shapecode_3_tex_ang=0 +shapecode_3_tex_zoom=1 +shapecode_3_r=1 +shapecode_3_g=0 +shapecode_3_b=0 +shapecode_3_a=1 +shapecode_3_r2=0 +shapecode_3_g2=1 +shapecode_3_b2=0 +shapecode_3_a2=0 +shapecode_3_border_r=1 +shapecode_3_border_g=1 +shapecode_3_border_b=1 +shapecode_3_border_a=0.1 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.05; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.05; +per_frame_22=wave_a = 0; +per_frame_23=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_24=oldq8 = q8; +per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_26=rot = 0.4 + 1.5*sin(time*0.273) + 0.4*sin(time*0.379+3); +per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1; diff --git a/presets/presets_milkdrop_200/Geiss + Rovastar - Tokamak (Naked Intrusion Mix).milk b/presets/presets_milkdrop_200/Geiss + Rovastar - Tokamak (Naked Intrusion Mix).milk new file mode 100755 index 0000000000..3124678bcc --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss + Rovastar - Tokamak (Naked Intrusion Mix).milk @@ -0,0 +1,234 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.010000 +fWaveSmoothing=0.7 +fWaveParam=-0.4 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.004000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.197884 +sx=0.999667 +sy=0.999900 +wave_r=0.550000 +wave_g=0.550000 +wave_b=0.550000 +wave_x=0.5 +wave_y=0.680000 +ob_size=0.010000 +ob_r=1.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.7 +ib_size=0.010000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.8 +mv_g=0.8 +mv_b=0.8 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; diff --git a/presets/presets_milkdrop_200/Geiss - 3 layers (Minefield Mix).milk b/presets/presets_milkdrop_200/Geiss - 3 layers (Minefield Mix).milk new file mode 100755 index 0000000000..fe882c3cc7 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - 3 layers (Minefield Mix).milk @@ -0,0 +1,278 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.929 +fWaveScale=1.108 +fWaveSmoothing=0.9 +fWaveParam=0.4 +fModWaveAlphaStart=1.270 +fModWaveAlphaEnd=1.430 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.12262 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=wave_x = rand(100)*0.01; +per_frame_8=wave_y = 0.25 + 0.5*rand(100)*0.01; +per_frame_9=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_10=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_11=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_12=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_13=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_14=decay = decay - 0.01*equal(frame%6,0); +per_frame_15=dx = dx + dx_residual; +per_frame_16=dy = dy + dy_residual; +per_frame_17=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_18=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_19=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_20=wave_x = wave_x - dx_residual*7; +per_frame_21=wave_y = wave_y - dy_residual*7; +per_frame_22=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_4=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_5=` ret.z = tex2D( sampler_main, (uv-0.5)*0.95+0.5 ).z; +warp_6=` +warp_7=` // .x = fastest layer, .z = slowest +warp_8=` // slowly shift stuff toward the front, over time: +warp_9=` ret += float3(-ret.x,ret.x-ret.y,ret.y-ret.z)*0.03; +warp_10=` +warp_11=` // ERROR DIFFUSION DITHER - looks great +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_14=` +warp_15=` // darken over time +warp_16=` //ret -= 0.003; +warp_17=` //ret *= 0.99; +warp_18=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*27 + 3)*30 - 26); +comp_6=` float L2 = lum(GetBlur1(uv)); +comp_7=` float bw2 = saturate(cos(L*27 + 3)*30 - 26); +comp_8=` +comp_9=` ret = float3(1.1,0.8,0.7)*ret.x + +comp_10=` float3(0.4,0.6,0.55)*ret.y + +comp_11=` float3(0.7,0.6,0.9)*ret.z; +comp_12=` +comp_13=` ret = ret*ret * (1.3 + bw*bw2*5); +comp_14=` +comp_15=`} diff --git a/presets/presets_milkdrop_200/Geiss - 3 layers (Planar Mix).milk b/presets/presets_milkdrop_200/Geiss - 3 layers (Planar Mix).milk new file mode 100755 index 0000000000..40fdb48976 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - 3 layers (Planar Mix).milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.173 +fWaveScale=0.997 +fWaveSmoothing=0.0 +fWaveParam=0.4 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=2.00676 +fShader=0.0 +zoom=1.03300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.12262 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 0; +per_frame_3=wave_b = 0; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +warp_1=`shader_body +warp_2=`{ +warp_3=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_4=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_5=` ret.z = tex2D( sampler_main, (uv-0.5)*0.95+0.5 ).z; +warp_6=` +warp_7=` // .x = fastest layer, .z = slowest +warp_8=` float r = 2; +warp_9=` ret += float3(-ret.x,ret.x,0)*0.06*r; +warp_10=` ret += float3(0,-ret.y,ret.y)*0.05*r; +warp_11=` ret += float3(0,0,-ret.z)*0.04*r; +warp_12=` +warp_13=` // ERROR DIFFUSION DITHER - looks great +warp_14=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_15=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*float3(3,5,8); +warp_16=` +warp_17=` // darken over time +warp_18=` ret -= 0.0005; +warp_19=` //ret *= 0.99; +warp_20=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 bands = tex2D(sampler_main, uv).xyz; +comp_4=` bands = saturate(bands * float3(1,2,3)); +comp_5=` +comp_6=` ret = 0; +comp_7=` ret = lerp(ret, float3(0.7,0.5,0.5), bands.x); +comp_8=` ret = lerp(ret, float3(0.5,0.7,0.5)*1.4, bands.y); +comp_9=` ret = lerp(ret, float3(0.5,0.5,0.7), bands.z); +comp_10=` +comp_11=` ret *= 1.5; //little bit of overbright +comp_12=`} diff --git a/presets/presets_milkdrop_200/Geiss - 3 layers (Rayleigh Scattering Mix).milk b/presets/presets_milkdrop_200/Geiss - 3 layers (Rayleigh Scattering Mix).milk new file mode 100755 index 0000000000..a3d55ed76d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - 3 layers (Rayleigh Scattering Mix).milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.929 +fWaveScale=1.231 +fWaveSmoothing=0.0 +fWaveParam=0.3 +fModWaveAlphaStart=1.150 +fModWaveAlphaEnd=1.330 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=2.00676 +fShader=0.0 +zoom=1.03300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04298 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.480 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 0; +per_frame_3=wave_b = 0; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=//wave_mystery = time*0.057; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, (uv-0.5)*1.00 + 0.5 ); +warp_4=` ret /= ret.x+ret.y+ret.z; +warp_5=` float zoom = dot(ret, float3(1,0.985,0.95)); +warp_6=` +warp_7=` ret.xyz = tex2D( sampler_main, (uv-0.5)*zoom + 0.5 ); +warp_8=` +warp_9=` // shift mass from red to green and on to blue (corresponds to AGE of pixel) +warp_10=` // .x = fastest layer, .z = slowest +warp_11=` float r = 0.02; +warp_12=` float3 xfer = saturate((ret - 0.05)*99); +warp_13=` xfer.yz *= saturate((0.1-ret.xy)*99); +warp_14=` ret += xfer.xxx*float3(-1,1,0)*r*0.7; +warp_15=` ret += xfer.yyy*float3(0,-1,1)*r*4; +warp_16=` ret += xfer.zzz*float3(0,0,-1)*r; +warp_17=` +warp_18=` // ERROR DIFFUSION DITHER - looks great +warp_19=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_20=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*float3(1,3,8)*5; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 bands = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` ret = lum(bands); +comp_6=` ret *= lerp(1, float3(0.2,0.5,1.0), bands.x); +comp_7=` ret *= 1.7; +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - 3 layers (Tunnel Mix).milk b/presets/presets_milkdrop_200/Geiss - 3 layers (Tunnel Mix).milk new file mode 100755 index 0000000000..24de08264d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - 3 layers (Tunnel Mix).milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.929 +fWaveScale=0.530 +fWaveSmoothing=0.0 +fWaveParam=-0.260 +fModWaveAlphaStart=1.150 +fModWaveAlphaEnd=1.330 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=2.00676 +fShader=0.0 +zoom=1.03300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04298 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.480 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 0; +per_frame_3=wave_b = 0; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.0015*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.0015*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.5; +per_frame_11=dy = dy + dy_residual*0.5; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=//wave_mystery = time*0.057; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, (uv-0.5)*1.00 + 0.5 ); +warp_4=` ret /= ret.x+ret.y+ret.z; +warp_5=` float zoom = dot(ret, float3(1,0.975,0.95)); +warp_6=` +warp_7=` ret.xyz = tex2D( sampler_main, (uv-0.5)*zoom + 0.5 ); +warp_8=` +warp_9=` // .x = fastest layer, .z = slowest +warp_10=` float r = 0.02; +warp_11=` float3 xfer = saturate((ret - 0.05)*99); +warp_12=` xfer.yz *= saturate((0.1-ret.xy)*99); +warp_13=` ret += xfer.xxx*float3(-1,1,0)*r*0.7; +warp_14=` ret += xfer.yyy*float3(0,-1,1)*r*4; +warp_15=` ret += xfer.zzz*float3(0,0,-1)*r; +warp_16=` +warp_17=` // ERROR DIFFUSION DITHER - looks great +warp_18=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*float3(1,3,8)*5; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 bands = tex2D(sampler_main, uv).xyz; +comp_4=` ret = bands; +comp_5=` ret *= lum(bands)*float3(6,1.7,3)*0.9; +comp_6=` +comp_7=` +comp_8=` +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - All-Spark Polar.milk b/presets/presets_milkdrop_200/Geiss - All-Spark Polar.milk new file mode 100755 index 0000000000..8b989a72d8 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - All-Spark Polar.milk @@ -0,0 +1,262 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=5.685865 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.000012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.489000 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1= +per_frame_2=// in this example, q1 and q2 act as the center of zooming +per_frame_3=// AND as the position of custom shape #1.. +per_frame_4=q1 = 0.5 + 0.32*cos(time*0.4); +per_frame_5=q2 = 0.5 + 0.22*sin(time*0.4); +per_frame_6= +per_frame_7=//wave_x = q1; +per_frame_8=wave_y = q2; +per_pixel_1=dx = (x-q1)*0.02; +per_pixel_2=dy = (y-q2)*0.02; +per_pixel_3= +warp_1=`// to access a texture on disk: make a sampler. This example loads "noise_lq.{tga/jpg/etc}". +warp_2=` +warp_3=` // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=`shader_body +warp_6=`{ +warp_7=` uv.x += 0.02 * (tex2D( sampler_noise_lq, +warp_8=` uv*0.050*texsize_noise_lq.zw*texsize.xy*2 +warp_9=` + float2(roam_cos.x,roam_sin.x)*0.1 ).y*2-1)*aspect.x; +warp_10=` uv.x += 0.04 * (tex2D( sampler_noise_lq, +warp_11=` uv*0.025*texsize_noise_lq.zw*texsize.xy*0.5 +warp_12=` + float2(roam_sin.y,-roam_cos.y)*0.03 ).z*2-1)*aspect.x; +warp_13=` +warp_14=` ret = tex2D( sampler_main, uv ).xyz; +warp_15=` +warp_16=` // darken over time +warp_17=` // cool idea: different falloff rates for the 3 colors- +warp_18=` ret *= float3(0.99,0.98,0.97); +warp_19=` +warp_20=` // ERROR DIFFUSION DITHER - looks great +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).x-0.5)/256.0*2; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,ang/6.28); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_milkdrop_200/Geiss - All-Spark Sinews.milk b/presets/presets_milkdrop_200/Geiss - All-Spark Sinews.milk new file mode 100755 index 0000000000..bdd42e421d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - All-Spark Sinews.milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=5.685865 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.000012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.489000 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1= +per_frame_2=// in this example, q1 and q2 act as the center of zooming +per_frame_3=// AND as the position of custom shape #1.. +per_frame_4=q1 = 0.5 + 0.32*cos(time*0.4); +per_frame_5=q2 = 0.5 + 0.22*sin(time*0.4); +per_frame_6= +per_frame_7=//wave_x = q1; +per_frame_8=wave_y = q2; +per_pixel_1=dx = (x-q1)*0.02; +per_pixel_2=dy = (y-q2)*0.02; +per_pixel_3= +warp_1=`// to access a texture on disk: make a sampler. This example loads "noise_lq.{tga/jpg/etc}". +warp_2=` +warp_3=` // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=`shader_body +warp_6=`{ +warp_7=` uv.x += 0.02 * (tex2D( sampler_noise_lq, +warp_8=` uv*0.050*texsize_noise_lq.zw*texsize.xy*2 +warp_9=` + float2(roam_cos.x,roam_sin.x)*0.1 ).y*2-1)*aspect.x; +warp_10=` uv.x += 0.04 * (tex2D( sampler_noise_lq, +warp_11=` uv*0.025*texsize_noise_lq.zw*texsize.xy*0.5 +warp_12=` + float2(roam_sin.y,-roam_cos.y)*0.03 ).z*2-1)*aspect.x; +warp_13=` +warp_14=` ret = tex2D( sampler_main, uv ).xyz; +warp_15=` +warp_16=` // darken over time +warp_17=` // cool idea: different falloff rates for the 3 colors- +warp_18=` ret *= float3(0.99,0.98,0.97); +warp_19=` +warp_20=` // ERROR DIFFUSION DITHER - looks great +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).x-0.5)/256.0*2; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = max(ret, tex2D(sampler_main, uv + 0.03*float2(cos(uv.y*27),sin(uv.x*39))).xyz); +comp_8=` +comp_9=` //ret += GetBlur1(uv) - 0.07; +comp_10=` //ret *= float3(1.3,0.8,0.5); +comp_11=` //ret *= 0.8; +comp_12=`} diff --git a/presets/presets_milkdrop_200/Geiss - All-Spark.milk b/presets/presets_milkdrop_200/Geiss - All-Spark.milk new file mode 100755 index 0000000000..247dab31e8 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - All-Spark.milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=5.685865 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.000012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.489000 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1= +per_frame_2=// in this example, q1 and q2 act as the center of zooming +per_frame_3=// AND as the position of custom shape #1.. +per_frame_4=q1 = 0.5 + 0.32*cos(time*0.4); +per_frame_5=q2 = 0.5 + 0.22*sin(time*0.4); +per_frame_6= +per_frame_7=//wave_x = q1; +per_frame_8=wave_y = q2; +per_pixel_1=dx = (x-q1)*0.02; +per_pixel_2=dy = (y-q2)*0.02; +per_pixel_3= +warp_1=`// to access a texture on disk: make a sampler. This example loads "noise_lq.{tga/jpg/etc}". +warp_2=` +warp_3=` // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=`shader_body +warp_6=`{ +warp_7=` uv.x += 0.02 * (tex2D( sampler_noise_lq, +warp_8=` uv*0.050*texsize_noise_lq.zw*texsize.xy*2 +warp_9=` + float2(roam_cos.x,roam_sin.x)*0.1 ).y*2-1)*aspect.x; +warp_10=` uv.x += 0.04 * (tex2D( sampler_noise_lq, +warp_11=` uv*0.025*texsize_noise_lq.zw*texsize.xy*0.5 +warp_12=` + float2(roam_sin.y,-roam_cos.y)*0.03 ).z*2-1)*aspect.x; +warp_13=` +warp_14=` ret = tex2D( sampler_main, uv ).xyz; +warp_15=` +warp_16=` // darken over time +warp_17=` // cool idea: different falloff rates for the 3 colors- +warp_18=` ret *= float3(0.99,0.98,0.97); +warp_19=` +warp_20=` // ERROR DIFFUSION DITHER - looks great +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).x-0.5)/256.0*2; +warp_23=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_milkdrop_200/Geiss - Artifact 6.milk b/presets/presets_milkdrop_200/Geiss - Artifact 6.milk new file mode 100755 index 0000000000..47059cbcf5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Artifact 6.milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.421369 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.121018 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.023000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076181 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.04*( 0.60*sin(0.181*time) + 0.09*sin(-0.279*time) ); +per_frame_5=cx = cx + 0.10*( 0.60*sin(0.374*time) + 0.10*sin(0.294*time) ); +per_frame_6=cy = cy + 0.10*( 0.60*sin(0.393*time) + 0.10*sin(0.223*time) ); +per_frame_7=dx = dx + 0.0040*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.0040*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` float4 N = tex2D(sampler_noise_lq, rand_frame.xy + uv* +warp_4=` texsize_noise_lq.zw*texsize.xy )*2-1; +warp_5=` // sample previous frame +warp_6=` ret = tex2D( sampler_pw_main, uv + N.zw*texsize.zw*0.5 ).xyz; +warp_7=` ret += (0.52-0.2*rad)*N.xyz; +warp_8=` +warp_9=` ret = saturate((ret-0.5)*3 + 0.5); +warp_10=` ret.yz = ret.x; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv); +comp_5=` ret *= float3(1.3,0.8,0.5); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Artifact 6b.milk b/presets/presets_milkdrop_200/Geiss - Artifact 6b.milk new file mode 100755 index 0000000000..f53cd7d9ea --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Artifact 6b.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.421369 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.193337 +fWaveScale=1.000291 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.730000 +fModWaveAlphaEnd=1.070000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.023000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.092179 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.800000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.04*( 0.60*sin(0.181*time) + 0.09*sin(-0.279*time) ); +per_frame_5=cx = cx + 0.10*( 0.60*sin(0.374*time) + 0.10*sin(0.294*time) ); +per_frame_6=cy = cy + 0.10*( 0.60*sin(0.393*time) + 0.10*sin(0.223*time) ); +per_frame_7=dx = dx + 0.0040*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.0040*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10= +per_frame_11=//wave_x = 0.1 + rand(80)*0.01; +per_frame_12=//wave_y = 0.1 + rand(80)*0.01; +per_frame_13=t2 = time*5; +per_frame_14=wave_x = 0.5 + 0.40*( 0.60*sin(0.374*t2) + 0.40*sin(0.294*t2) ); +per_frame_15=wave_y = 0.5 + 0.40*( 0.60*sin(0.393*t2) + 0.40*sin(0.223*t2) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` float4 N = tex2D(sampler_noise_lq, rand_frame.xy + uv* +warp_4=` texsize_noise_lq.zw*texsize.xy )*2-1; +warp_5=` // sample previous frame +warp_6=` ret = tex2D( sampler_pw_main, uv + N.zw*texsize.zw*0.5 ).xyz; +warp_7=` ret += (0.59-0.2*rad)*N.xyz; +warp_8=` +warp_9=` +warp_10=` ret = saturate((ret-0.5)*3 + 0.25); +warp_11=` ret.yz = ret.x; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv); +comp_5=` ret *= float3(1.3,0.8,0.5); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Artifact 6d.milk b/presets/presets_milkdrop_200/Geiss - Artifact 6d.milk new file mode 100755 index 0000000000..d49a3ef9ae --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Artifact 6d.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.421369 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.193337 +fWaveScale=1.000291 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.730000 +fModWaveAlphaEnd=1.070000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.083000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.092179 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.8 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.04*( 0.60*sin(0.181*time) + 0.09*sin(-0.279*time) ); +per_frame_5=cx = cx + 0.10*( 0.60*sin(0.374*time) + 0.10*sin(0.294*time) ); +per_frame_6=cy = cy + 0.10*( 0.60*sin(0.393*time) + 0.10*sin(0.223*time) ); +per_frame_7=dx = dx + 0.0040*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.0040*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10= +per_frame_11=//wave_x = 0.1 + rand(80)*0.01; +per_frame_12=//wave_y = 0.1 + rand(80)*0.01; +per_frame_13=t2 = time*6; +per_frame_14=wave_x = 0.5 + 0.2*( 0.60*sin(0.374*t2) + 0.40*sin(0.294*t2) ); +per_frame_15=wave_y = 0.5 + 0.2*( 0.60*sin(0.393*t2) + 0.40*sin(0.223*t2) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` float4 N = tex2D(sampler_noise_lq, rand_frame.xy + uv* +warp_4=` texsize_noise_lq.zw*texsize.xy )*2-1; +warp_5=` // sample previous frame +warp_6=` ret = tex2D( sampler_pw_main, uv + N.zw*texsize.zw*0.5 ).xyz; +warp_7=` ret += (0.59-0.2*rad)*N.xyz; +warp_8=` +warp_9=` ret = saturate((ret-0.5)*3 + 0.25); +warp_10=` ret.yz = ret.x; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*1.5; +comp_5=` ret *= float3(0.7,1.1,1.5); +comp_6=` +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Asymptote.milk b/presets/presets_milkdrop_200/Geiss - Asymptote.milk new file mode 100755 index 0000000000..fc33b0cabd --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Asymptote.milk @@ -0,0 +1,231 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.230 +fWaveScale=1.694 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=0.09000 +fShader=0.0 +zoom=0.97100 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.51300 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.020 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_7=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_8=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_12=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_13=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; diff --git a/presets/presets_milkdrop_200/Geiss - Aurora Industrialis.milk b/presets/presets_milkdrop_200/Geiss - Aurora Industrialis.milk new file mode 100755 index 0000000000..1df205b554 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Aurora Industrialis.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=0.923 +fWaveSmoothing=0.567 +fWaveParam=0.740 +fModWaveAlphaStart=0.790 +fModWaveAlphaEnd=0.970 +fWarpAnimSpeed=0.451 +fWarpScale=3.040 +fZoomExponent=2.19476 +fShader=0.0 +zoom=1.00971 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.25579 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.3*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=q4 = cos(wave_mystery*3.1415927*2); +per_frame_13=q5 = sin(wave_mystery*3.1415927*2); +per_frame_14=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` uv -= 0.5; +warp_4=` uv *= 1 + (q4*uv.y + q5*uv.x)*0.1; +warp_5=` uv += 0.5; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv ).xyz; +warp_9=` +warp_10=` +warp_11=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*13*float2(q5,-q4)).xyz ); +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret - 0.003)*0.98; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = lerp(ret, lum(ret), -0.5)*1.3; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Bas Relief.milk b/presets/presets_milkdrop_200/Geiss - Bas Relief.milk new file mode 100755 index 0000000000..c546ad265c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Bas Relief.milk @@ -0,0 +1,275 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.426 +fWaveScale=3.935 +fWaveSmoothing=0.360 +fWaveParam=0.320 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.430 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00115 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.740 +wave_b=0.670 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=//rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_frame_9= +per_frame_10=wave_mystery = wave_mystery + 0.2*cos(time*0.35); +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` float t = saturate((bass/bass_att-0.9)*13); +warp_4=` uv = lerp(uv_orig, uv, t*0.3); +warp_5=` +warp_6=` float2 v1 = normalize(uv_orig-0.5); +warp_7=` float2 v2 = v1.yx * float2(1,-1); +warp_8=` +warp_9=` float z = length(texsize.zw)*450; +warp_10=` +warp_11=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_12=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_13=` +warp_14=` // sample previous frame +warp_15=` ret = tex2D( sampler_main, uv ).xyz; +warp_16=` +warp_17=` +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret - 0.004)*0.83; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` +comp_23=` //ret *= 1.5; //old gamma effect +comp_24=`} diff --git a/presets/presets_milkdrop_200/Geiss - Bass Zoom.milk b/presets/presets_milkdrop_200/Geiss - Bass Zoom.milk new file mode 100755 index 0000000000..a744b2e996 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Bass Zoom.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.5 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.184 +fWaveScale=1.605 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.1; diff --git a/presets/presets_milkdrop_200/Geiss - Beat Dots 2.milk b/presets/presets_milkdrop_200/Geiss - Beat Dots 2.milk new file mode 100755 index 0000000000..e0324cd4c7 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Beat Dots 2.milk @@ -0,0 +1,309 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.451 +fWaveScale=1.111 +fWaveSmoothing=0.0 +fWaveParam=-0.160 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.530 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02001 +sx=1.0 +sy=1.0 +wave_r=0.860 +wave_g=0.610 +wave_b=0.290 +wave_x=0.5 +wave_y=0.450 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=5 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.5 +shapecode_0_g2=0.7 +shapecode_0_b2=0.9 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang2 = instance/num_inst*6.28 + time + q16*6.28; +shape_0_per_frame2=rad2 = 0.1; +shape_0_per_frame3=x = 0.5 + rad2*cos(ang2)*q11; +shape_0_per_frame4=y = 0.5 + rad2*sin(ang2)*q12; +shape_0_per_frame5=a = a * q1; +shape_0_per_frame6=a2 = a2 * q1; +shape_0_per_frame7= +shape_0_per_frame8=rad = min(0.8, 0.04 + 0.04*q9) * q1; +shape_0_per_frame9= +shape_0_per_frame10=r = q15; +shape_0_per_frame11=g = q14; +shape_0_per_frame12=b = q13; +shapecode_1_enabled=0 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.5 +shapecode_1_g2=0.5 +shapecode_1_b2=0.9 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang = 1.7; +shape_1_per_frame2=r = 0.1; +shape_1_per_frame3=x = 0.5 + r*cos(ang); +shape_1_per_frame4=y = 0.5 + r*sin(ang); +shape_1_per_frame5=a = a * q9; +shapecode_2_enabled=0 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.5 +shapecode_2_g2=0.5 +shapecode_2_b2=0.9 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang = 4.84; +shape_2_per_frame2=r = 0.1; +shape_2_per_frame3=x = 0.5 + r*cos(ang); +shape_2_per_frame4=y = 0.5 + r*sin(ang); +shape_2_per_frame5=a = a * q9; +shapecode_3_enabled=0 +shapecode_3_sides=32 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.5 +shapecode_3_g2=0.5 +shapecode_3_b2=0.9 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang = 3.14; +shape_3_per_frame2=r = 0.1; +shape_3_per_frame3=x = 0.5 + r*cos(ang); +shape_3_per_frame4=y = 0.5 + r*sin(ang); +shape_3_per_frame5=a = a * q9; +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_frame_9= +per_frame_10=// this is a great way to respond to beats: +per_frame_11=// once you get one, let it decay at a constant rate!! +per_frame_12=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_13=q9 = rg * above(rg,rg2*2); +per_frame_14=rg2 = max(rg, rg2*0.8); +per_frame_15= +per_frame_16=//zoom = zoom + q9*0.1; +per_frame_17=monitor = q9; +per_frame_18= +per_frame_19=// for custom shape 1: +per_frame_20=q11 = aspectx; +per_frame_21=q12 = aspecty; +per_frame_22=q13 = wave_r; +per_frame_23=q14 = wave_g; +per_frame_24=q15 = wave_b; +per_frame_25=q16 = rand(100)*0.01; +per_frame_26= +per_frame_27=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_28=decay_rate = pow(0.993, fps); // lower # = more hasty to declare a beat +per_frame_29=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_30=decay_to = 1.0; // lower # = more hasty to declare a beat +per_frame_31=beat = bass/max(min_att,bass_att); +per_frame_32=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_33=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_34=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_35=beat_level = (beat - prev_beat - 0.0)*24; +per_frame_36=is_beat = above(beat_level, 0.5); +per_frame_37=prev_beat = beat; +per_frame_38= // put your beat responses HERE: +per_frame_39= //wave_a = beat_level + 1.95; +per_frame_40= q1 = is_beat; //drives shape #1 +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` ret = tex2D( sampler_main, uv ).xyz; +warp_6=` +warp_7=` // darken (decay) over time +warp_8=` //ret = (ret - 0.0015)*0.988; +warp_9=` ret *= 0.8 + 0.17*saturate(rad*5); +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` //ret = pow(ret, float3(0.9,0.5,1.3)) - 0.06; +comp_6=` ret *= 1.80; //gamma +comp_7=` +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Bipolar 1.milk b/presets/presets_milkdrop_200/Geiss - Bipolar 1.milk new file mode 100755 index 0000000000..a63affed96 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Bipolar 1.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=1 +fGammaAdj=1.998 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.4 +fWaveScale=1.17037 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0.006 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.9 +wave_g=0.45 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.113); +per_frame_5=rot = rot + 0.01*sin(time*0.533); +per_frame_6=rot = rot + 0.02*sin(time*-0.323); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2)*0.0072*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2)*0.0054*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=0.9615+rad*0.1; +per_pixel_2=rot = rot * 3*(1-pow(rad*2-1,2)); diff --git a/presets/presets_milkdrop_200/Geiss - Bipolar 2 Enhanced.milk b/presets/presets_milkdrop_200/Geiss - Bipolar 2 Enhanced.milk new file mode 100755 index 0000000000..1851eb2597 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Bipolar 2 Enhanced.milk @@ -0,0 +1,235 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.9 +fWaveScale=0.559671 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=-0.010000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.099892 +sx=1.0 +sy=1.0 +wave_r=0.9 +wave_g=0.450000 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%50,0); +per_pixel_1=zoom=0.9615+rad*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret *= 0.98; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 - GetBlur1(uv); +comp_4=` ret *= 4.5; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Bipolar 5.milk b/presets/presets_milkdrop_200/Geiss - Bipolar 5.milk new file mode 100755 index 0000000000..06a9686d69 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Bipolar 5.milk @@ -0,0 +1,241 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.904763 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=0.559785 +fWaveSmoothing=0.9 +fWaveParam=0.2 +fModWaveAlphaStart=1.150000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.001440 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.8 +wave_b=0.950000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.049*( 0.60*sin(0.816*time) + 0.40*sin(1.036*time) ); +per_frame_4=decay = decay - 0.01*equal(frame%40,0); +per_frame_5=rot = rot + 0.01*sin(time*0.1); +per_pixel_1=zoom=0.745+rad*0.5; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*0.525*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //old video echo effect +comp_8=` ret *= 2.00; //old gamma effect +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - Blur Mix 3.milk b/presets/presets_milkdrop_200/Geiss - Blur Mix 3.milk new file mode 100755 index 0000000000..a36d7c48f0 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Blur Mix 3.milk @@ -0,0 +1,246 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=3.266313 +fWaveSmoothing=0.207000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999710 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.005000 +dy=0.0 +warp=0.000001 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret += tex2D(sampler_blur2, uv).xyz*0.1; +warp_6=` ret /= 1.1; +warp_7=` +warp_8=` // darken over time +warp_9=` ret -= 0.02;//*= 0.95; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3 + +comp_5=` GetBlur2(uv)*0 + +comp_6=` GetBlur3(uv)*0 + +comp_7=` 0; +comp_8=` ret += GetBlur2( (uv-0.5)*0.333 + 0.5); +comp_9=` ret *= 1; +comp_10=`} diff --git a/presets/presets_milkdrop_200/Geiss - Brain Zoom 3 (random texture mix).milk b/presets/presets_milkdrop_200/Geiss - Brain Zoom 3 (random texture mix).milk new file mode 100755 index 0000000000..cacc031243 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Brain Zoom 3 (random texture mix).milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.027265 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.033000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.148366 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=` ret = frac(ret - 0.005); +warp_14=`} +warp_15=` +comp_1=`sampler sampler_rand00; // this will choose a random texture from disk! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + 0.6*ret.xy; +comp_10=` ret = tex2D(sampler_rand00, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} +comp_15=` +comp_16=` diff --git a/presets/presets_milkdrop_200/Geiss - Brain Zoom 3.milk b/presets/presets_milkdrop_200/Geiss - Brain Zoom 3.milk new file mode 100755 index 0000000000..5e4dc94ab0 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Brain Zoom 3.milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.027265 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.033000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.148366 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=` +warp_14=` ret = frac(ret - 0.005); +warp_15=`} +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + 0.6*ret.xy; +comp_10=` ret = tex2D(sampler_seaweed, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} +comp_15=` +comp_16=` diff --git a/presets/presets_milkdrop_200/Geiss - Brain Zoom 4.milk b/presets/presets_milkdrop_200/Geiss - Brain Zoom 4.milk new file mode 100755 index 0000000000..1318da41ce --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Brain Zoom 4.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.027265 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.033000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.148366 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=` ret = frac(ret - 0.005); +warp_14=`} +warp_15=` +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + float2(ret.x, time*0.003); +comp_10=` ret = tex2D(sampler_seaweed, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} diff --git a/presets/presets_milkdrop_200/Geiss - Brain Zoom.milk b/presets/presets_milkdrop_200/Geiss - Brain Zoom.milk new file mode 100755 index 0000000000..e7dc4ecd6d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Brain Zoom.milk @@ -0,0 +1,261 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.595985 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.063000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*7; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=` float dec = saturate(vol/vol_att - 1.1)*0.5 + 0.004; +warp_14=` ret = frac(ret - dec); +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float lum = tex2D(sampler_main, uv).x; +comp_4=` ret = lum; +comp_5=` +comp_6=` // add some stripes: +comp_7=` ret += 0.04*cos(lum*29+2.8); +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cartographie.milk b/presets/presets_milkdrop_200/Geiss - Cartographie.milk new file mode 100755 index 0000000000..54b61e96c1 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cartographie.milk @@ -0,0 +1,51 @@ +[preset00] +fRating=1 +fGammaAdj=1.35 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +fDecay=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=3.699999 +fWaveScale=1.3 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.000415 +fShader=1 +zoom=1.006882 +rot=0.04 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.057228 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay=decay-0.025*pow(0.5+0.5*sin(time*1.5),4.8); +per_pixel_1=dx=0.05*sin(x*80+y*94+rad*97+ang*22+time*0.733); +per_pixel_2=dy=0.05*sin(x*60+y*114+rad*77+ang*32+time*0.83); +per_pixel_3=zoom=zoom+0.05*rad; diff --git a/presets/presets_milkdrop_200/Geiss - Cauldron - Tendrils.milk b/presets/presets_milkdrop_200/Geiss - Cauldron - Tendrils.milk new file mode 100755 index 0000000000..f6a09c2e5b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cauldron - Tendrils.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.707 +fWaveScale=1.025 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01400 +rot=-0.06000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` float2 delta2 = texsize.zw*float2(1,1); +warp_6=` float3 blurry_color = tex2D( sampler_main, +warp_7=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float srad = sqrt(rad)+ 0.05; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main, uv + 0.06*float2(cos(uv.y*27*0.5),sin(uv.x*39*0.5))).xyz); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 2.milk b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 2.milk new file mode 100755 index 0000000000..2f40a456e1 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 2.milk @@ -0,0 +1,249 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.707 +fWaveScale=1.025 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.770 +fModWaveAlphaEnd=1.010 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.21786 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` float2 delta2 = texsize.zw*float2(1,1); +warp_6=` float3 blurry_color = tex2D( sampler_main, +warp_7=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 3.milk b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 3.milk new file mode 100755 index 0000000000..5b0bd7b5e6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 3.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.700 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.707 +fWaveScale=1.025 +fWaveSmoothing=0.100 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.01400 +rot=-0.02000 +cx=0.500 +cy=0.500 +dx=-0.01000 +dy=0.00000 +warp=0.02944 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float t = 0.005 + 0.025*saturate(treb-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` uv2.xy += (blurry_color.xy-0.37) * t; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 4.milk b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 4.milk new file mode 100755 index 0000000000..736bb0c08f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 4.milk @@ -0,0 +1,253 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.657 +fWaveScale=0.923 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01400 +rot=-0.01400 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=wave_x = 0.5 + 0.25*cos(time*2)/aspecty; +per_frame_9=wave_y = 0.5 + 0.25*sin(time*2)/aspectx; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 t = 0.005 + 0.045*saturate(float2(bass,treb)-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` uv2.xy += (blurry_color.xy-0.37) * t; +warp_10=` //uv2.xy -= (blurry_color.zx-0.37) * s; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // darken over time +warp_16=` ret -= 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 5.milk b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 5.milk new file mode 100755 index 0000000000..281cd7ef46 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cauldron - painterly 5.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.714 +fWaveScale=1.139 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00400 +rot=-0.01400 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=wave_x = 0.5 + 0.25*cos(time*2)/aspecty; +per_frame_9=wave_y = 0.5 + 0.25*sin(time*2)/aspectx; +per_frame_10= +per_frame_11=ang = time*2; +per_frame_12=q1 = cos(ang); +per_frame_13=q2 = sin(ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 t = 0.005 + 0.045*saturate(float2(bass,treb)-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` float2 v = (blurry_color.xy-0.37) * t; +warp_10=` //uv2 += v; +warp_11=` // instead, add a rotated version: +warp_12=` uv2.x += v.x*q1 + v.y*q2; +warp_13=` uv2.y += v.x*q2 - v.y*q1; +warp_14=` +warp_15=` // sample previous frame +warp_16=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_17=` +warp_18=` // darken over time +warp_19=` ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cepia Dither.milk b/presets/presets_milkdrop_200/Geiss - Cepia Dither.milk new file mode 100755 index 0000000000..05e332938f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cepia Dither.milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=2.122 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.490 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.06322 +sx=1.0 +sy=1.0 +wave_r=0.810 +wave_g=0.790 +wave_b=0.770 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xxx-0.5)/256.0*2; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=`} +warp_14=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // super-saturate color: +comp_7=` ret = lerp(lum, ret, 1.7); +comp_8=` +comp_9=` // add some stripes: +comp_10=` //ret += 0.04*cos(lum*29+2.8); +comp_11=` +comp_12=` // assuming input is mostly greyscale, apply a color palette: +comp_13=` ret = pow(ret,float3(0.5,0.7,1.3)); +comp_14=` ret *= 1.5; // a little bit of overbright +comp_15=`} +comp_16=` +comp_17=` diff --git a/presets/presets_milkdrop_200/Geiss - Chromatexture Paint-In 2.milk b/presets/presets_milkdrop_200/Geiss - Chromatexture Paint-In 2.milk new file mode 100755 index 0000000000..2daa45b47b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Chromatexture Paint-In 2.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.550382 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.003000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`#define sampler_pic sampler_prayerwheel +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum - frac(time*0.2)); +warp_16=` use_it = saturate(1 - use_it*33); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +warp_24=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // super-saturate color: +comp_7=` ret = lerp(lum, ret, 1.7); +comp_8=` +comp_9=` // add some stripes: +comp_10=` ret += 0.04*cos(lum*29+2.8); +comp_11=` +comp_12=` ret *= 2; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_milkdrop_200/Geiss - Chrome.milk b/presets/presets_milkdrop_200/Geiss - Chrome.milk new file mode 100755 index 0000000000..14b7894f21 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Chrome.milk @@ -0,0 +1,257 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.299999 +fWaveScale=1.694000 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.053000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.263000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual)*0.4; +per_frame_14=dy_residual = (equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual)*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004; +warp_8=`} +comp_1=`sampler sampler_fw_clouds; // loads clouds.jpg (or .tga, etc) +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz + +comp_6=` GetBlur2(uv) +comp_7=` ; +comp_8=` +comp_9=` ret = tex2D( sampler_fw_clouds, +comp_10=` ret.xy*(0.1 + 0.7*rand_preset.x*rand_preset.y) +comp_11=` + uv*float2(1,-1)*aspect.xy +comp_12=` ).xyz; +comp_13=` +comp_14=` //ret *= 1.333; // a little bit of overbright +comp_15=` +comp_16=`} +comp_17=` diff --git a/presets/presets_milkdrop_200/Geiss - Color Pox (Acid Impression Mix).milk b/presets/presets_milkdrop_200/Geiss - Color Pox (Acid Impression Mix).milk new file mode 100755 index 0000000000..629a224312 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Color Pox (Acid Impression Mix).milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.0 +zoom=1.01100 +rot=0.00300 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t = time*12.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time+4) ); +per_frame_8=zoom = zoom + 0.015*( 0.60*sin(0.29*time+1) + 0.40*sin(0.43*time+2) ); +per_frame_9=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_10=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2d(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*3; +warp_9=` ret = tex2d(sampler_main, uv2).xyz; +warp_10=` +warp_11=` // add noise +warp_12=` float t = 0.013; +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_14=` +warp_15=` // darken +warp_16=` ret -= 0.00014; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate(b1-b2)*5.40*float3(1,0.7,0.3); +comp_13=` ret += saturate(b3-b4)*5.40*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.6; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Color Pox (Measles Mix).milk b/presets/presets_milkdrop_200/Geiss - Color Pox (Measles Mix).milk new file mode 100755 index 0000000000..4b9e77c7e5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Color Pox (Measles Mix).milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.0 +zoom=1.01100 +rot=0.00300 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t = time*12.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2d(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*5; +warp_9=` ret = tex2d(sampler_main, uv2).xyz; +warp_10=` +warp_11=` // add noise +warp_12=` float t = 0.01; +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_14=` +warp_15=` // darken +warp_16=` ret -= 0.00014; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*2.5; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += (b1-b2)*3.4*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*3.4*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Color Pox (Van Gogh Mix).milk b/presets/presets_milkdrop_200/Geiss - Color Pox (Van Gogh Mix).milk new file mode 100755 index 0000000000..577e17dc06 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Color Pox (Van Gogh Mix).milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.0 +zoom=1.01100 +rot=0.00300 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t = time*12.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2d(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*5; +warp_9=` ret = tex2d(sampler_main, uv2).xyz; +warp_10=` +warp_11=` // add noise +warp_12=` float t = 0.01; +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_14=` +warp_15=` // darken +warp_16=` ret -= 0.00014; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.5; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate(b1-b2)*5.4*float3(1,0.7,0.3); +comp_13=` ret += saturate(b3-b4)*5.4*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Confetti (Kaleidoscope Mix).milk b/presets/presets_milkdrop_200/Geiss - Confetti (Kaleidoscope Mix).milk new file mode 100755 index 0000000000..5b474c35cb --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Confetti (Kaleidoscope Mix).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.347 +fWaveScale=1.910 +fWaveSmoothing=0.9 +fWaveParam=-0.1 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02225 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(31.437*time) + 0.40*sin(20.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(31.344*time) + 0.40*sin(20.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(31.251*time) + 0.40*sin(21.055*time) ); +per_frame_4=lum = wave_r*0.3 + wave_g*0.5 + wave_b*0.2; +per_frame_5=wave_r = wave_r*0.2+0.8*lum; +per_frame_6=wave_g = wave_g*0.2+0.8*lum; +per_frame_7=wave_b = wave_b*0.2+0.8*lum; +per_frame_8=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_12=dy = dy + 0.001*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%6,0); +per_frame_14=dx = dx + dx_residual*0.01; +per_frame_15=dy = dy + dy_residual*0.01; +per_frame_16=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_17=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_18=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_19=wave_x = wave_x - dx_residual*7; +per_frame_20=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Geiss - Confetti.milk b/presets/presets_milkdrop_200/Geiss - Confetti.milk new file mode 100755 index 0000000000..9e68091b0d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Confetti.milk @@ -0,0 +1,262 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.347425 +fWaveScale=1.253098 +fWaveSmoothing=0.9 +fWaveParam=-0.1 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.032252 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(31.437*time) + 0.40*sin(20.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(31.344*time) + 0.40*sin(20.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(31.251*time) + 0.40*sin(21.055*time) ); +per_frame_4=lum = wave_r*0.3 + wave_g*0.5 + wave_b*0.2; +per_frame_5=wave_r = wave_r*0.2+0.8*lum; +per_frame_6=wave_g = wave_g*0.2+0.8*lum; +per_frame_7=wave_b = wave_b*0.2+0.8*lum; +per_frame_8=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_12=dy = dy + 0.001*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%6,0); +per_frame_14=dx = dx + dx_residual*0.01; +per_frame_15=dy = dy + dy_residual*0.01; +per_frame_16=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_17=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_18=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_19=wave_x = wave_x - dx_residual*7; +per_frame_20=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // PAINTERLY EFFECT - base high-frequency motion on image colors +warp_6=` float mipbias = 0;//3 + 2*cos(_frame * 2); +warp_7=` float2 delta2 = 0;//texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_9=` uv2.xy += cos(blurry_color.xy*27.9 + time*float2(0.13,0.25)) * texsize.zw*0.3; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret -= 0.005; +warp_16=`} +warp_17=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Constant Velocity - angular blur.milk b/presets/presets_milkdrop_200/Geiss - Constant Velocity - angular blur.milk new file mode 100755 index 0000000000..10c6e554d9 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Constant Velocity - angular blur.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.8 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.3 +fWaveSmoothing=0.0 +fWaveParam=0.2 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.33004 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.028 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_pixel_1=dx=0.01*cos(ang+1.57); +per_pixel_2=dy=-0.01*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating angular blur +warp_4=` float2 v = normalize(uv - 0.5); +warp_5=` v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw*3; +warp_7=` ret = 0.2*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv + v ).xyz +warp_9=` + tex2D(sampler_main, uv - v).xyz +warp_10=` + tex2D(sampler_main, uv + v*2 ).xyz +warp_11=` + tex2D(sampler_main, uv - v*2).xyz +warp_12=` ); +warp_13=` +warp_14=` ret *= 1 + 0.02*cos(rad*177); +warp_15=` +warp_16=` // darken over time +warp_17=` ret *= 0.98; //or try: ret -= 0.004; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.90; //old gamma effect +comp_5=` ret -= 0.1; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Constant Velocity - glow.milk b/presets/presets_milkdrop_200/Geiss - Constant Velocity - glow.milk new file mode 100755 index 0000000000..177d7fc88c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Constant Velocity - glow.milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.981000 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.010000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=2.635501 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_pixel_1=dx=0.01*cos(ang+1.57); +per_pixel_2=dy=-0.01*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v = normalize(uv-uv_orig); +warp_4=` uv = uv_orig + v*texsize.zw*2; +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` // darken over time +warp_10=` ret *= 0.98; //or try: ret -= 0.004; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` // GLOWING EDGES - looks awesome w/octopus +comp_5=` float3 avg_col = GetBlur1(uv); +comp_6=` ret = abs(avg_col - ret)*4; +comp_7=` //ret *= 1.333; // a little bit of overbright +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Game of Life mix.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Game of Life mix.milk new file mode 100755 index 0000000000..ad41a4871b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Game of Life mix.milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=2.911 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.110 +fModWaveAlphaEnd=1.230 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.03300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=dx = dx*0.6; +per_frame_18=dy = dy*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` float n; +warp_7=` float2 d = texsize.zw*1; +warp_8=` n = saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 1)).x*999); +warp_9=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 0)).x*999); +warp_10=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1,-1)).x*999); +warp_11=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0, 1)).x*999); +warp_12=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0,-1)).x*999); +warp_13=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 1)).x*999); +warp_14=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 0)).x*999); +warp_15=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1,-1)).x*999); +warp_16=` +warp_17=`float t = 0.4; +warp_18=` if (n < 1.9) +warp_19=` ret -= t; +warp_20=` if (n > 3.1) +warp_21=` ret -= t; +warp_22=` if (ret.x < 0.1 && abs(n-3) < 0.5) +warp_23=` ret += t; +warp_24=` +warp_25=` //ret *= saturate(6 - 19*(GetBlur1(uv_orig).x)); +warp_26=` +warp_27=` //float dist_from_bar = abs(uv_orig.y - frac(time*0.23)); +warp_28=` //ret *= saturate( 24*dist_from_bar - 0.5 ); +warp_29=` +warp_30=` // darken (decay) over time +warp_31=` //ret = (ret - 0.016)*0.985; +warp_32=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*3; +comp_9=` +comp_10=` // little bit of noise: +comp_11=` ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_12=` + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_13=` +comp_14=` // palettize: +comp_15=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_16=` +comp_17=` ret = (ret-0.1)*1.1; +comp_18=` +comp_19=` //ret.xyz *= 2; // a little bit of overbright +comp_20=`} +comp_21=` +comp_22=` diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Laplacian Mix.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Laplacian Mix.milk new file mode 100755 index 0000000000..98d28438a9 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Laplacian Mix.milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=6.086 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.110 +fModWaveAlphaEnd=1.230 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` ret = (ret*0.996 - 0.0015); +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk new file mode 100755 index 0000000000..4d92d38138 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk @@ -0,0 +1,291 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.4 +fWaveScale=3.235 +fWaveSmoothing=0.729 +fWaveParam=0.0 +fModWaveAlphaStart=1.330 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.67769 +fShader=0.0 +zoom=1.24300 +rot=-0.06000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.46911 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.620 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=rot = rot + 0.09*( 0.60*sin(0.851*time) + 0.40*sin(1.055*time) ); +per_frame_19=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_20=q1 = 0.12*cos(time*0.479+1); +per_frame_21=q2 = 0.12*cos(time*0.359+2); +per_frame_22=q3 = 0.12*cos(time*0.270+6); +per_frame_23=q4 = 0.12*cos(time*0.394+1); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.25; +comp_5=` ret = ret.yyy; +comp_6=` ret = pow(ret, float3(0.8,0.4,1.7))*1.9; +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 5b.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 5b.milk new file mode 100755 index 0000000000..ec32072d6b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 5b.milk @@ -0,0 +1,263 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003 +fWaveScale=2.911 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.210 +fModWaveAlphaEnd=1.590 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.350 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_19=q1 = 0.12*cos(time*0.479+1); +per_frame_20=q2 = 0.12*cos(time*0.359+2); +warp_1=`shader_body +warp_2=`{ +warp_3=` uv -= 0.5; +warp_4=` uv *= (1 + q1*uv.y + q2*uv.x); +warp_5=` uv += 0.5; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv ).xyz; +warp_9=` +warp_10=` +warp_11=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*13*float2(0,1)).xyz ); +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret - 0.003)*0.98; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret = abs(ret - GetBlur1(uv))*6; +comp_8=` +comp_9=` ret *= 1.333; // a little bit of overbright +comp_10=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 7.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 7.milk new file mode 100755 index 0000000000..afd2283680 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - Trails 7.milk @@ -0,0 +1,270 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.002900 +fWaveScale=2.911018 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.150000 +fModWaveAlphaEnd=1.469999 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.063000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.005000 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.830000 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.350000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_19=q1 = 0.12*cos(time*0.479+1); +per_frame_20=q2 = 0.52*cos(time*0.359+2); +per_frame_21=q3 = 0.52*cos(time*0.270+6); +per_frame_22=q4 = 0.12*cos(time*0.394+1); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv_bkp = uv; +warp_4=` +warp_5=` uv -= 0.5; +warp_6=` uv *= (1 + q1*uv.y + q2*uv.x); +warp_7=` uv += 0.5; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` uv = uv_bkp; +warp_13=` uv -= 0.5; +warp_14=` uv *= (1 + q3*uv.y + q4*uv.x); +warp_15=` uv += 0.5; +warp_16=` +warp_17=` ret = max(ret, tex2D(sampler_main, uv).xyz ); +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret - 0.004)*0.97; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` ret = pow(ret, float3(0.7,1.1,1.5)); +comp_7=` +comp_8=` ret *= 1.333; // a little bit of overbright +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - cloud journey.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - cloud journey.milk new file mode 100755 index 0000000000..ac8f9d1da0 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - cloud journey.milk @@ -0,0 +1,257 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.299999 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual)*0.4; +per_frame_14=dy_residual = (equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual)*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004; +warp_8=`} +comp_1=`sampler sampler_fw_clouds; // loads clouds.jpg (or .tga, etc) +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz + +comp_6=` GetBlur2(uv) +comp_7=` ; +comp_8=` +comp_9=` ret = tex2D( sampler_fw_clouds, +comp_10=` ret.xy*(0.1 + 0.7*rand_preset.x*rand_preset.y) +comp_11=` + uv*float2(1,-1)*aspect.xy +comp_12=` ).xyz; +comp_13=` +comp_14=` //ret *= 1.333; // a little bit of overbright +comp_15=` +comp_16=`} +comp_17=` diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise (Grow Mix).milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise (Grow Mix).milk new file mode 100755 index 0000000000..a164d88d06 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise (Grow Mix).milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.647 +fWaveScale=6.086 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.210 +fModWaveAlphaEnd=1.590 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 3.5; //TWEAK +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret *= 1.333; // a little bit of overbright +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails 2.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails 2.milk new file mode 100755 index 0000000000..007c3962ba --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails 2.milk @@ -0,0 +1,254 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.647426 +fWaveScale=6.086217 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.210000 +fModWaveAlphaEnd=1.589999 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.053000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` ret = (ret*0.996 - 0.0015); +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret *= 1.333; // a little bit of overbright +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails.milk new file mode 100755 index 0000000000..e92776fe38 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - quasistatic noise desat trails.milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.302900 +fWaveScale=6.086217 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` //ret = ret*0.988 - 0.0015; +warp_11=` float t = saturate(400/length(texsize.xy)); +warp_12=` ret = ret*lerp(1.02,0.9,t) - 0.0015; +warp_13=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret *= 1.333; // a little bit of overbright +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - static noise.milk b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - static noise.milk new file mode 100755 index 0000000000..59ded584c8 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cosmic Dust 2 - static noise.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.3 +fWaveScale=1.694 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.17963 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=dx_residual = 0; +per_frame_init_2=dy_residual = 0; +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.01; +per_frame_11=dy = dy + dy_residual*0.01; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=//dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=//dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_15= +per_frame_16=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_17=decay_rate = pow(0.993, fps); // lower # = more hasty to declare a beat +per_frame_18=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_19=decay_to = 1.0; // lower # = more hasty to declare a beat +per_frame_20=beat = bass/max(min_att,bass_att); +per_frame_21=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_22=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_23=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_24=beat_level = (beat - prev_beat - 0.1)*24; +per_frame_25=is_beat = above(beat_level, 0.5); +per_frame_26=prev_beat = beat; +per_frame_27= dx_residual = dx_residual*(1-is_beat) + (is_beat)*(rand(100)*0.01*2-1); +per_frame_28= dy_residual = dy_residual*(1-is_beat) + (is_beat)*(rand(100)*0.01*2-1); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // add nois +warp_7=` ret += (tex2D(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1) * 0.05; +warp_8=` +warp_9=` // darken over time +warp_10=` ret *= 0.97; +warp_11=`} +warp_12=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Cycloid 1 - painterly vortex 3.milk b/presets/presets_milkdrop_200/Geiss - Cycloid 1 - painterly vortex 3.milk new file mode 100755 index 0000000000..ed539eb1bd --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Cycloid 1 - painterly vortex 3.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.707 +fWaveScale=1.025 +fWaveSmoothing=0.1 +fWaveParam=-0.2 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.030 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01400 +rot=-0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.850 +wave_g=0.650 +wave_b=0.350 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=//wave_mystery = 0.0 + 0.2*cos(time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.zx-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0)*1.70; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Dancing Spirits.milk b/presets/presets_milkdrop_200/Geiss - Dancing Spirits.milk new file mode 100755 index 0000000000..23a02d3e59 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Dancing Spirits.milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.2 +fWaveScale=3.587 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=1.052 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01459 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.034; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float srad = sqrt(rad)+ 0.05; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` float s = 0.9; +comp_6=` ret = max(ret, tex2D(sampler_fc_main, uv + 0.05*s*float2(cos(uv.y/s*27*0.5),sin(uv.x/s*39*0.5))).zyx); +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - De La Moutard 1.milk b/presets/presets_milkdrop_200/Geiss - De La Moutard 1.milk new file mode 100755 index 0000000000..f8bc37b48e --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - De La Moutard 1.milk @@ -0,0 +1,237 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.970000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=2.578376 +fWaveSmoothing=0.6 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.772000 +fZoomExponent=4.401000 +fShader=0.0 +zoom=1.031000 +rot=0.003000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.190000 +wave_g=0.190000 +wave_b=0.190000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = min(1,max(0,(bass_att-1)*1.3)); +per_frame_2=wave_g = wave_r*0.7; +per_frame_3=wave_b = wave_r*0.1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_5=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret *= 0.97; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz - 0.05; +comp_4=` ret *= 2.00; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Desert Rose (Grow Mix).milk b/presets/presets_milkdrop_200/Geiss - Desert Rose (Grow Mix).milk new file mode 100755 index 0000000000..0b12c1801d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Desert Rose (Grow Mix).milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.827 +fWaveScale=3.878 +fWaveSmoothing=0.090 +fWaveParam=0.980 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.270 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00700 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.02936 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.720 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.6 + 0.4*sin(14.437*time+1); +per_frame_2=wave_g = 0.6 + 0.4*sin(17.344*time+2); +per_frame_3=wave_b = 0.6 + 0.4*sin(22.751*time+3); +per_frame_4=rot = rot + 0.004*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=//wave_mystery = time*0.03; +per_frame_18=warp = warp * (1 + 0.3*cos(time*0.284+4)); +per_frame_19=zoom = zoom + 0.007*cos(time*0.317+2); +warp_1=`#define MyGet GetPixel +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 2; //TWEAK +warp_7=` float str = 1.3; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // enforce a certain level of color saturation on all pixels: +comp_7=` float saturation = length(ret - lum.xxx); +comp_8=` ret = lerp(lum, ret, saturation*60); +comp_9=`} +comp_10=` +comp_11=` diff --git a/presets/presets_milkdrop_200/Geiss - Desert Rose 2.milk b/presets/presets_milkdrop_200/Geiss - Desert Rose 2.milk new file mode 100755 index 0000000000..e321a4b046 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Desert Rose 2.milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.274263 +fWaveScale=2.827000 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.993000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`#define sampler_pic sampler_onefish +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum*0.8+0.1 - (frac(time*0.2)*0.5+0.25)); +warp_16=` use_it = saturate(1 - use_it*13); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.15; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Desert Rose 4.milk b/presets/presets_milkdrop_200/Geiss - Desert Rose 4.milk new file mode 100755 index 0000000000..06545ba55e --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Desert Rose 4.milk @@ -0,0 +1,279 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.051 +fWaveScale=2.827 +fWaveSmoothing=0.090 +fWaveParam=0.0 +fModWaveAlphaStart=0.630 +fModWaveAlphaEnd=0.870 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00700 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01029 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.720 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18=warp = warp * (1 + 0.3*cos(time*0.284+4)); +per_frame_19=zoom = zoom + 0.007*cos(time*0.317+2); +warp_1=`#define sampler_pic sampler_cells +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` +warp_9=` // ERROR DIFFUSION DITHER - looks great +warp_10=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_11=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_12=` +warp_13=` // mix in img... +warp_14=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_15=` float lum = lum(pic); +warp_16=` float use_it = abs(lum*0.8+0.1 - (0.5+roam_cos.y*0.25)); +warp_17=` use_it = saturate(1 - use_it*43); +warp_18=` ret = lerp(ret, pic, use_it*0.07); +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.004; +warp_22=` //ret *= 0.99; +warp_23=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +warp_25=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // enforce a certain level of color saturation on all pixels: +comp_7=` float saturation = length(ret - lum.xxx); +comp_8=` ret = lerp(lum, ret, saturation*70); +comp_9=` +comp_10=` ret *= 1.15; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_milkdrop_200/Geiss - Diffuser (Gold Mix).milk b/presets/presets_milkdrop_200/Geiss - Diffuser (Gold Mix).milk new file mode 100755 index 0000000000..5317452120 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Diffuser (Gold Mix).milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.0 +fWaveScale=1.692 +fWaveSmoothing=0.180 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02030 +rot=0.0 +cx=0.5 +cy=0.110 +dx=-0.00100 +dy=-0.00100 +warp=0.43910 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.520 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=50 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.27000 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=0.8 +wavecode_0_a=0.120 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(10.937*time) + 0.40*sin(1.470*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(11.344*time) + 0.40*sin(1.041*time) ); +per_frame_3=wave_b = wave_b + 0.120*( 0.60*sin(21.251*time) + 0.40*sin(1.355*time) ); +per_frame_4=//wave_mystery = time*0.3; +per_pixel_1=dx = 0; +per_pixel_2=dy = 0; +warp_1=`sampler sampler_rand00; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` float3 uv2 = float3(uv,1) + 0.02*(frac(tex2d(sampler_rand00, uv).xyz - time*float3(0.32,0.39,0.35))-0.5); +warp_6=` uv2.xy = (uv2.xy-0.5)*uv2.z + 0.5; +warp_7=` +warp_8=` uv2.xy += (uv.xy - uv_orig.xy); +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2.xy ).xyz; +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret*0.99) - 0.003; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += GetBlur1(uv)*0.7; ret *= 0.6; +comp_5=` +comp_6=` ret.yz = ret.x * float2(0.9,0.7); +comp_7=` ret = pow(ret, float3(1.7,2.0,2.2)); +comp_8=` ret *= 5; //gamma +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - Diffuser (Red Mix).milk b/presets/presets_milkdrop_200/Geiss - Diffuser (Red Mix).milk new file mode 100755 index 0000000000..b3cc563879 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Diffuser (Red Mix).milk @@ -0,0 +1,249 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.0 +fWaveScale=1.692 +fWaveSmoothing=0.180 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02030 +rot=0.0 +cx=0.5 +cy=0.110 +dx=-0.00100 +dy=-0.00100 +warp=0.43910 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.520 +ob_size=0.010 +ob_r=1.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=50 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.27000 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=0.8 +wavecode_0_a=0.120 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.89269 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.970 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.030 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(10.937*time) + 0.40*sin(1.470*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(11.344*time) + 0.40*sin(1.041*time) ); +per_frame_3=wave_b = wave_b + 0.120*( 0.60*sin(21.251*time) + 0.40*sin(1.355*time) ); +per_frame_4=//wave_mystery = time*0.3; +per_pixel_1=dx = 0; +per_pixel_2=dy = 0; +warp_1=`sampler sampler_rand00; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` float3 uv2 = float3(uv,1) + 0.02*(frac(tex2d(sampler_rand00, uv).xyz - time*float3(0.32,0.39,0.35))-0.5); +warp_6=` uv2.xy = (uv2.xy-0.5)*uv2.z + 0.5; +warp_7=` +warp_8=` uv2.xy += (uv.xy - uv_orig.xy); +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2.xy ).xyz; +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret*0.99) - 0.003; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = pow(ret, 2); +comp_5=` ret *= 2; //gamma +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Digitunnel.milk b/presets/presets_milkdrop_200/Geiss - Digitunnel.milk new file mode 100755 index 0000000000..67eae5121a --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Digitunnel.milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207 +fWaveScale=0.397 +fWaveSmoothing=0.0 +fWaveParam=0.240 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=1.170 +fWarpAnimSpeed=0.451 +fWarpScale=3.040 +fZoomExponent=2.19476 +fShader=0.0 +zoom=1.04971 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.09862 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 1.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = -0.1 + 0.3*cos(time*0.5*6*17.3214); +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v1 = normalize(uv_orig-0.5); +warp_4=` float2 v2 = v1.yx * float2(1,-1); +warp_5=` +warp_6=` float z = length(texsize.zw)*450; +warp_7=` +warp_8=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_9=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.002)*0.99; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += GetBlur1(uv)*0.33; +comp_5=` ret *= 2.5; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Downward Spiral - color invert mirror x.milk b/presets/presets_milkdrop_200/Geiss - Downward Spiral - color invert mirror x.milk new file mode 100755 index 0000000000..59bef15191 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Downward Spiral - color invert mirror x.milk @@ -0,0 +1,236 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.523734 +fWaveScale=2.717574 +fWaveSmoothing=0.9 +fWaveParam=1.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.990000 +rot=0.060000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=0.999900 +wave_r=0.130001 +wave_g=0.5 +wave_b=1.0 +wave_x=0.5 +wave_y=0.6 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.120*( 0.60*sin(0.733*time) + 0.40*sin(0.345*time) ); +per_frame_2=wave_g = wave_g + 0.120*( 0.60*sin(0.600*time) + 0.40*sin(0.456*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.550*time) ); +per_pixel_1=rot=rot*(-0.2+pow(cos(rad*8+ang-time*0.8),2)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret *= 0.98; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += tex2D(sampler_main, float2(1-uv.x,uv.y)).zyx; +comp_5=` ret = ret*2-0.3; //old gamma effect +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Drempels (Let Op!).milk b/presets/presets_milkdrop_200/Geiss - Drempels (Let Op!).milk new file mode 100755 index 0000000000..105b1ddfa5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Drempels (Let Op!).milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.168430 +fWaveScale=2.827000 +fWaveSmoothing=0.090000 +fWaveParam=0.0 +fModWaveAlphaStart=0.630000 +fModWaveAlphaEnd=0.870000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.007000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.122617 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.720000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18=warp = warp * (1 + 0.8*cos(time*0.284+4)); +per_frame_19=zoom = zoom + 0.007*cos(time*0.317+2); +warp_1=`#define MYSAMP sampler_rand00_smalltiled //sampler_cells +warp_2=`sampler MYSAMP; +warp_3=`float4 texsize_rand00; +warp_4=` +warp_5=`shader_body +warp_6=`{ +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` +warp_10=` // ERROR DIFFUSION DITHER - looks great +warp_11=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_12=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_13=` +warp_14=` // mix in img... +warp_15=` float2 offset = float2(roam_cos.x, roam_sin.x)*0.4; +warp_16=` float3 pic = tex2D(MYSAMP, uv_orig*texsize.xy*texsize_rand00.zw + offset).xyz; +warp_17=` ret = lerp(ret, pic, 0.04); +warp_18=` +warp_19=` // darken over time +warp_20=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // enforce a certain level of color saturation on all pixels: +comp_7=` //float saturation = length(ret - lum.xxx); +comp_8=` //ret = lerp(lum, ret, saturation*10); +comp_9=` +comp_10=` ret *= 1.15; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_milkdrop_200/Geiss - Drop Shadow 1.milk b/presets/presets_milkdrop_200/Geiss - Drop Shadow 1.milk new file mode 100755 index 0000000000..e4f30462b6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Drop Shadow 1.milk @@ -0,0 +1,283 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.496230 +fWaveScale=4.695139 +fWaveSmoothing=0.495000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.670000 +fModWaveAlphaEnd=0.970000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.007964 +rot=0.020000 +cx=0.499999 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999667 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.630000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`sampler sampler_cells; +comp_2=`float4 texsize_cells; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` //ret = max( ret, tex2D(sampler_main, 1-uv).zyx ); +comp_8=` +comp_9=` float L = lum(ret); +comp_10=` float use_tex = 1 - saturate(L*10-1); +comp_11=` float3 tex = tex2D(sampler_cells, (uv*texsize.xy+frame)*texsize_cells.zw).xyz; +comp_12=` tex *= tex; +comp_13=` // shadow: +comp_14=` float L2 = lum(GetBlur2(uv - 0.01)); +comp_15=` tex *= 1-saturate(L2*5); +comp_16=` ret = lerp(ret, tex, use_tex); +comp_17=` +comp_18=` ret *= 1.70; //old gamma effect +comp_19=` +comp_20=` +comp_21=` +comp_22=`} diff --git a/presets/presets_milkdrop_200/Geiss - Drop Shadow 2.milk b/presets/presets_milkdrop_200/Geiss - Drop Shadow 2.milk new file mode 100755 index 0000000000..c952d7c674 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Drop Shadow 2.milk @@ -0,0 +1,283 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.496230 +fWaveScale=5.216822 +fWaveSmoothing=0.477000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.610000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.007964 +rot=0.020000 +cx=0.499999 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000156 +sx=0.999667 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.630000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`sampler sampler_rand00_smalltiled; +comp_2=`float4 texsize_rand00_smalltiled; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` //ret = max( ret, tex2D(sampler_main, 1-uv).zyx ); +comp_8=` +comp_9=` float L = lum(ret); +comp_10=` float use_tex = 1 - saturate(L*10-1); +comp_11=` float3 tex = tex2D(sampler_rand00_smalltiled, (uv*texsize.xy+time*18)*texsize_rand00_smalltiled.zw).xyz; +comp_12=` tex *= tex; +comp_13=` // shadow: +comp_14=` float L2 = lum(GetBlur2(uv - 0.01)); +comp_15=` tex *= 1-saturate(L2*5); +comp_16=` ret = lerp(ret, tex, use_tex); +comp_17=` +comp_18=` ret *= 1.70; //old gamma effect +comp_19=` +comp_20=` +comp_21=` +comp_22=`} diff --git a/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert - crazytiles.milk b/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert - crazytiles.milk new file mode 100755 index 0000000000..7638f06efc --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert - crazytiles.milk @@ -0,0 +1,278 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.496 +fWaveScale=4.695 +fWaveSmoothing=0.495 +fWaveParam=-0.140 +fModWaveAlphaStart=0.670 +fModWaveAlphaEnd=0.970 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00796 +rot=0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00016 +sx=0.99967 +sy=0.99990 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.630 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float tiles = 20; +comp_6=` float2 uv2 = float2( floor(uv.x*tiles*aspect.x), floor(uv.y*tiles*aspect.y) )/tiles +comp_7=` + rand_preset.xy; +comp_8=` float4 N = tex2D( sampler_pw_noise_lq, uv2 ); +comp_9=` +comp_10=` ret = tex2D(sampler_main, uv).xyz; +comp_11=` +comp_12=` uv += N.xy*0.02 * saturate((N.z-0.55)*3); +comp_13=` +comp_14=` ret = max(ret, tex2D(sampler_main, uv)); +comp_15=` +comp_16=` ret = ret*1.5 - 0.07; +comp_17=`} diff --git a/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert.milk b/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert.milk new file mode 100755 index 0000000000..b19895401b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Dynamic Swirls 2 - max invert.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.496230 +fWaveScale=4.695139 +fWaveSmoothing=0.495000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.670000 +fModWaveAlphaEnd=0.970000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.007964 +rot=0.020000 +cx=0.499999 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000156 +sx=0.999667 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.630000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = max( ret, tex2D(sampler_main, 1-uv).zyx ); +comp_5=` ret *= 1.70; //old gamma effect +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Eggs.milk b/presets/presets_milkdrop_200/Geiss - Eggs.milk new file mode 100755 index 0000000000..c2aa791d77 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Eggs.milk @@ -0,0 +1,54 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.97 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.5 +fWaveScale=2.72 +fWaveSmoothing=0.77 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.046 +rot=0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.42 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.47 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=zoom=zoom+0.27*sin(time*1.55+rad*5); diff --git a/presets/presets_milkdrop_200/Geiss - El Cubismo 2.milk b/presets/presets_milkdrop_200/Geiss - El Cubismo 2.milk new file mode 100755 index 0000000000..cfc4e1abd2 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - El Cubismo 2.milk @@ -0,0 +1,243 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.970000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.5 +fWaveScale=2.720000 +fWaveSmoothing=0.770000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.046000 +rot=0.020000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.420000 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.5 +ob_g=0.010000 +ob_b=0.010000 +ob_a=0.950000 +ib_size=0.010000 +ib_r=0.010000 +ib_g=0.010000 +ib_b=0.5 +ib_a=0.950000 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=dx=dx-0.05*sin(time*1.35+(x*2-1)*18); +per_pixel_2=dy=dy-0.05*sin(time*1.79+(y*2-1)*9); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.97; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,1.5) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.02; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.1; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - El Cubismo.milk b/presets/presets_milkdrop_200/Geiss - El Cubismo.milk new file mode 100755 index 0000000000..dccf2d81b2 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - El Cubismo.milk @@ -0,0 +1,223 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.970000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.5 +fWaveScale=2.720000 +fWaveSmoothing=0.770000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.046000 +rot=0.020000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.420000 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=dx=dx-0.05*sin(time*1.35+(x*2-1)*18); +per_pixel_2=dy=dy-0.05*sin(time*1.79+(y*2-1)*13); diff --git a/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2 (Fiesta Mix).milk b/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2 (Fiesta Mix).milk new file mode 100755 index 0000000000..b0afd302b7 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2 (Fiesta Mix).milk @@ -0,0 +1,259 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=1.719 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.950 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.20300 +rot=-0.04000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.65*sin(10.437*time+1); +per_frame_2=wave_g = 0.5 + 0.65*sin(18.344*time+2); +per_frame_3=wave_b = 1;//0.5 + 0.65*sin(13.251*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // Really smooth RADIAL BLUR: +warp_4=` float2 v1 = normalize(uv - 0.5); +warp_5=` //float2 v1 = float2(3,0); // or for an aggressive horiz. blur +warp_6=` //float2 v1 = normalize(uv - 0.5).yx * float2(-1,1) * 2; +warp_7=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 +warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 +warp_9=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 +warp_10=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 +warp_11=` ) - 0.005; +warp_12=` +warp_13=` ret *= 0.9 + 0.1*saturate(rad*5); +warp_14=`} +warp_15=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*1.2; +comp_5=` ret = pow(ret, float3(0.5,0.7,1.4))*1.6; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2.milk b/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2.milk new file mode 100755 index 0000000000..328a7f6925 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Electric Storm Half-Digital 2.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.203483 +fWaveScale=1.718927 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=1.470000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.203000 +rot=-0.040000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.65*sin(10.437*time+1); +per_frame_2=wave_g = 0.5 + 0.65*sin(18.344*time+2); +per_frame_3=wave_b = 1;//0.5 + 0.65*sin(13.251*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // Really smooth RADIAL BLUR: +warp_4=` float2 v1 = normalize(uv - 0.5); +warp_5=` //float2 v1 = float2(3,0); // or for an aggressive horiz. blur +warp_6=` //float2 v1 = normalize(uv - 0.5).yx * float2(-1,1) * 2; +warp_7=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 +warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 +warp_9=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 +warp_10=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 +warp_11=` ) - 0.008; +warp_12=`} +warp_13=` +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float lum = tex2D(sampler_main, uv).z; +comp_6=` +comp_7=` // note the use of the _pw suffix here; the 'p' stands +comp_8=` // for 'point sampling' - it turns off +comp_9=` // bilinear interpolation ('f'), giving is "blocky" pixels. +comp_10=` // (the 'w' is for wrap - alternative is 'c' for clamp.) +comp_11=` lum = abs(lum - tex2D(sampler_pw_main, (uv-0.5)*0.08 + 0.5).z); +comp_12=` +comp_13=` ret = lum + 0.13*cos(lum*29+2.8); +comp_14=` +comp_15=` float2 texc = float2(slow_roam_cos.x, slow_roam_sin.y); +comp_16=` ret = pow(lum,0.5) * (1-tex2D(sampler_seaweed, texc + float2(0.1,0)*lum)); +comp_17=` +comp_18=` ret *= 2; // a little bit of overbright +comp_19=`} +comp_20=` +comp_21=` diff --git a/presets/presets_milkdrop_200/Geiss - Explosion 2.milk b/presets/presets_milkdrop_200/Geiss - Explosion 2.milk new file mode 100755 index 0000000000..d6ff9e3b70 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Explosion 2.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.5 +fWaveScale=2.122 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.75 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Explosion 3 (Relief Mix).milk b/presets/presets_milkdrop_200/Geiss - Explosion 3 (Relief Mix).milk new file mode 100755 index 0000000000..a59be36c55 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Explosion 3 (Relief Mix).milk @@ -0,0 +1,289 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=1.128 +fWaveSmoothing=0.333 +fWaveParam=-0.2 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.330 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=0.13267 +fShader=0.0 +zoom=1.01489 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.95 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=//wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate((b1-b2)*1)*13.40*float3(1,0.7,0.3); +comp_13=` ret += saturate((b3-b4)*1)*13.40*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Explosion 3.milk b/presets/presets_milkdrop_200/Geiss - Explosion 3.milk new file mode 100755 index 0000000000..a70338f815 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Explosion 3.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=2.122 +fWaveSmoothing=0.333 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=0.13267 +fShader=0.0 +zoom=1.01489 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.95 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Explosion.milk b/presets/presets_milkdrop_200/Geiss - Explosion.milk new file mode 100755 index 0000000000..e70c1fc632 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Explosion.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=2.122 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.490 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.810 +wave_g=0.790 +wave_b=0.770 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` float2 delta2 = texsize.zw*float2(1,1); +warp_6=` float3 blurry_color = tex2D( sampler_main, +warp_7=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // push all colors toward 0.5: +warp_14=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_15=` +warp_16=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_17=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Feedback 2.milk b/presets/presets_milkdrop_200/Geiss - Feedback 2.milk new file mode 100755 index 0000000000..0bfc6a1223 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Feedback 2.milk @@ -0,0 +1,231 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1 +fDecay=0.9 +fVideoEchoZoom=0.710682 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311604 +fWaveScale=1.22891 +fWaveSmoothing=0 +fWaveParam=0.2 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.999902 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.207965 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0065 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.37 +shapecode_0_y=0.5 +shapecode_0_rad=2.999997 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0 +shapecode_0_tex_zoom=1 +shapecode_0_r=0 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0.5 +shapecode_0_r2=0 +shapecode_0_g2=0 +shapecode_0_b2=0 +shapecode_0_a2=0.3 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=1 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.37 +shapecode_1_y=0.5 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0 +shapecode_1_tex_zoom=1 +shapecode_1_r=1 +shapecode_1_g=1 +shapecode_1_b=1 +shapecode_1_a=0.8 +shapecode_1_r2=1 +shapecode_1_g2=1 +shapecode_1_b2=1 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3); +shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1); +shape_1_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.67 +shapecode_2_y=0.43 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0 +shapecode_2_tex_zoom=1 +shapecode_2_r=1 +shapecode_2_g=1 +shapecode_2_b=1 +shapecode_2_a=0.8 +shapecode_2_r2=1 +shapecode_2_g2=1 +shapecode_2_b2=1 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(time*2.17); +shape_2_per_frame2=y = y + 0.03*sin(time*1.83); +shape_2_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.161222 +shapecode_3_ang=0 +shapecode_3_tex_ang=0 +shapecode_3_tex_zoom=1 +shapecode_3_r=1 +shapecode_3_g=1 +shapecode_3_b=0 +shapecode_3_a=1 +shapecode_3_r2=1 +shapecode_3_g2=0 +shapecode_3_b2=0 +shapecode_3_a2=0 +shapecode_3_border_r=1 +shapecode_3_border_g=1 +shapecode_3_border_b=1 +shapecode_3_border_a=1 +shape_3_per_frame1=x = x + 0.2*sin(time*1.14); +shape_3_per_frame2=y = y + 0.1*sin(time*0.93+2); +per_frame_1=wave_mystery = time*0.2; diff --git a/presets/presets_milkdrop_200/Geiss - Flower Blossom.milk b/presets/presets_milkdrop_200/Geiss - Flower Blossom.milk new file mode 100755 index 0000000000..09c4c31bb9 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Flower Blossom.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.5 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.112 +fWaveScale=1.605 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=0.1 +fShader=0.0 +zoom=1.06400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.07*sin(rad*20+time*2.5); diff --git a/presets/presets_milkdrop_200/Geiss - Flower.milk b/presets/presets_milkdrop_200/Geiss - Flower.milk new file mode 100755 index 0000000000..e4aa1e6f85 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Flower.milk @@ -0,0 +1,226 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.7 +fDecay=0.960 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.204 +fWaveScale=1.152 +fWaveSmoothing=0.1 +fWaveParam=-0.5 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.28055 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01249 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_pixel_1=zoom=(zoom-1)*rad+1; diff --git a/presets/presets_milkdrop_200/Geiss - Fog Zone.milk b/presets/presets_milkdrop_200/Geiss - Fog Zone.milk new file mode 100755 index 0000000000..b24f1f4a82 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Fog Zone.milk @@ -0,0 +1,242 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=1.719 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.950 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.26300 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.7 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.3; +per_frame_11=dy = dy + dy_residual*0.2; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = GetPixel(uv)*0.4 + GetBlur2(uv)*1.75; +comp_4=`} +comp_5=` +comp_6=` diff --git a/presets/presets_milkdrop_200/Geiss - Four Kinds of Amphetamines.milk b/presets/presets_milkdrop_200/Geiss - Four Kinds of Amphetamines.milk new file mode 100755 index 0000000000..51c30ece27 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Four Kinds of Amphetamines.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.280 +fDecay=0.950 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.109 +fWaveScale=1.053 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.48800 +fShader=1.0 +zoom=1.31600 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.35000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=zoom = zoom + 0.033*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); diff --git a/presets/presets_milkdrop_200/Geiss - Game of Life 2.milk b/presets/presets_milkdrop_200/Geiss - Game of Life 2.milk new file mode 100755 index 0000000000..1e2e40b8e5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Game of Life 2.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300000 +fWaveScale=3.234465 +fWaveSmoothing=0.783000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.410000 +fModWaveAlphaEnd=1.670000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.502697 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.143000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.063218 +sx=1.000000 +sy=1.000000 +wave_r=0.810000 +wave_g=0.790000 +wave_b=0.770000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` float n; +warp_7=` float2 d = texsize.zw*1; +warp_8=` n = saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 1)).x*999); +warp_9=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 0)).x*999); +warp_10=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1,-1)).x*999); +warp_11=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0, 1)).x*999); +warp_12=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0,-1)).x*999); +warp_13=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 1)).x*999); +warp_14=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 0)).x*999); +warp_15=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1,-1)).x*999); +warp_16=` +warp_17=` if (n < 1.5) +warp_18=` ret = 0; +warp_19=` if (n > 3.5) +warp_20=` ret = 0; +warp_21=` if (ret.x < 0.1 && abs(n-3) < 0.5) +warp_22=` ret = 1; +warp_23=` +warp_24=` // darken (decay) over time +warp_25=` // ret = (ret - 0.016)*0.985; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += saturate(GetBlur2(uv)*2.8 - 0.13)*float3(1.4,0.3,1.3); +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Game of Life 3.milk b/presets/presets_milkdrop_200/Geiss - Game of Life 3.milk new file mode 100755 index 0000000000..ab776416ca --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Game of Life 3.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=1.128 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=1.410 +fModWaveAlphaEnd=1.670 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.06322 +sx=1.0 +sy=1.0 +wave_r=0.810 +wave_g=0.790 +wave_b=0.770 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 1; +per_frame_3=wave_b = 1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` float n; +warp_7=` float2 d = texsize.zw*1; +warp_8=` n = saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 1)).x*999); +warp_9=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 0)).x*999); +warp_10=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1,-1)).x*999); +warp_11=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0, 1)).x*999); +warp_12=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0,-1)).x*999); +warp_13=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 1)).x*999); +warp_14=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 0)).x*999); +warp_15=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1,-1)).x*999); +warp_16=` +warp_17=` if (n < 1.5) +warp_18=` ret = 0; +warp_19=` if (n > 3.5) +warp_20=` ret = 0; +warp_21=` if (ret.x < 0.1 && abs(n-3) < 0.5) +warp_22=` ret = 1; +warp_23=` +warp_24=` // darken (decay) over time +warp_25=` // ret = (ret - 0.016)*0.985; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += saturate(GetBlur2(uv)*2.8 - 0.13)*float3(1.4,0.3,1.3); +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Game of Life.milk b/presets/presets_milkdrop_200/Geiss - Game of Life.milk new file mode 100755 index 0000000000..b4ac75720a --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Game of Life.milk @@ -0,0 +1,259 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=3.266 +fWaveSmoothing=0.207 +fWaveParam=0.000 +fModWaveAlphaStart=1.610 +fModWaveAlphaEnd=1.790 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.01971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.580 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` float n; +warp_7=` float2 d = texsize.zw*1; +warp_8=` n = saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 1)).x*999); +warp_9=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 0)).x*999); +warp_10=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1,-1)).x*999); +warp_11=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0, 1)).x*999); +warp_12=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0,-1)).x*999); +warp_13=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 1)).x*999); +warp_14=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 0)).x*999); +warp_15=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1,-1)).x*999); +warp_16=` +warp_17=` if (n < 1.5) +warp_18=` ret = 0; +warp_19=` if (n > 3.5) +warp_20=` ret = 0; +warp_21=` if (ret.x < 0.1 && abs(n-3) < 0.5) +warp_22=` ret = 1; +warp_23=` +warp_24=` // darken (decay) over time +warp_25=` ret = (ret - 0.016)*0.985; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*2.5; +comp_5=` //ret += GetBlur2( (uv-0.5)*0.333 + 0.5)*0.7; +comp_6=` ret *= 1; +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Hurricane.milk b/presets/presets_milkdrop_200/Geiss - Hurricane.milk new file mode 100755 index 0000000000..dbf6b766ec --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Hurricane.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=1.17037 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0 +zoom=1.014 +rot=-0.16 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.309 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.47 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.02*equal(frame%40,0); +per_pixel_1=rot=rot+0.1/(rad+0.1); diff --git a/presets/presets_milkdrop_200/Geiss - Hyperion (LSB mix).milk b/presets/presets_milkdrop_200/Geiss - Hyperion (LSB mix).milk new file mode 100755 index 0000000000..2e18d35702 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Hyperion (LSB mix).milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.500000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.125 +fWaveScale=1.013 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.250 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.13500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01605 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.6 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` ret += (tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*0.0017; +warp_7=` +warp_8=` // darken (decay) over time +warp_9=` ret *= 0.993; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.0; +comp_6=` float b1 = lum(GetPixel(uv + d.xz)); +comp_7=` float b2 = lum(GetPixel(uv - d.xz)); +comp_8=` float b3 = lum(GetPixel(uv + d.zy)); +comp_9=` float b4 = lum(GetPixel(uv - d.zy)); +comp_10=` +comp_11=` //ret = 0; +comp_12=` ret *= -1; +comp_13=` ret += saturate((b1-b2)*64)*1.00*float3(1,0.6,0.1); +comp_14=` ret += saturate((b3-b4)*64)*1.00*float3(0.2,0.5,0.7); +comp_15=` ret -= saturate( GetBlur1(uv)*4 - 1 ); +comp_16=` +comp_17=` ret *= 1.5; +comp_18=`} diff --git a/presets/presets_milkdrop_200/Geiss - Inkblot.milk b/presets/presets_milkdrop_200/Geiss - Inkblot.milk new file mode 100755 index 0000000000..f1bdfe1428 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Inkblot.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.5 +fDecay=0.980 +fVideoEchoZoom=1.010 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.154 +fWaveScale=2.202 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.03100 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.19646 +sx=1.0 +sy=1.0 +wave_r=0.4 +wave_g=0.6 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.300*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%2,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.3); diff --git a/presets/presets_milkdrop_200/Geiss - Iris Storm.milk b/presets/presets_milkdrop_200/Geiss - Iris Storm.milk new file mode 100755 index 0000000000..64dfda5898 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Iris Storm.milk @@ -0,0 +1,259 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.5 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207 +fWaveScale=0.747 +fWaveSmoothing=0.0 +fWaveParam=0.240 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=1.170 +fWarpAnimSpeed=0.451 +fWarpScale=3.040 +fZoomExponent=26.40739 +fShader=0.0 +zoom=1.04971 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.00500 +dy=0.00500 +warp=0.09862 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=time2 = time*17; +per_frame_2=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time2) + 0.40*sin(1.047*time2) ); +per_frame_3=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time2) + 0.40*sin(1.081*time2) ); +per_frame_4=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time2) + 0.40*sin(1.011*time2) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=//zoom = 1; +per_frame_9=//warp = 0; +per_frame_10=zoom = zoom + 1.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_11=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_12=wave_mystery = -0.1 + 0.3*cos(time*0.5*6*17.3214); +per_frame_13=//zoom = zoom + (max(1, bass_att)-1)*0.01; +per_frame_14=dx = dx + 0.01*cos(time*1.613+1) + 0.01*cos(time*2.303+5) ; +per_frame_15=dy = dy + 0.01*sin(time*1.119+3) + 0.01*cos(time*1.784+4) ; +per_pixel_1=rot = cos(rad*9 + time*3)*0.07; +warp_1=`shader_body +warp_2=`{ +warp_3=` // add noise to UV's: +warp_4=` float2 uv2 = uv; +warp_5=` uv2.xy += tex2D(sampler_noise_hq, rand_frame.xy + uv*3.3*texsize.xy*texsize_noise_hq.zw)*texsize.zw*2; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = abs(ret - GetBlur1(uv))*12; +comp_5=` +comp_6=` ret += GetBlur1(uv)*1; +comp_7=` +comp_8=` ret *= 2; +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - Iris.milk b/presets/presets_milkdrop_200/Geiss - Iris.milk new file mode 100755 index 0000000000..5ccadfd92d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Iris.milk @@ -0,0 +1,234 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.970 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.148 +fWaveScale=0.656 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=10.4 +fShader=0.0 +zoom=1.12400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.51300 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.200*( 0.60*sin(1.321*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.200*( 0.60*sin(1.742*time) + 0.40*sin(1.422*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.070*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_7=cx = cx + 0.090*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_8=cy = cy + 0.097*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%70,0); +per_frame_10= +per_frame_11=dx = dx + dx_residual*0.7; +per_frame_12=dy = dy + dy_residual*0.7; +per_frame_13=bass_thresh = above(bass_att,bass_thresh)*2.5 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.98+1.4); +per_frame_14=dx_residual = equal(bass_thresh,2.5)*0.016*sin(time*7) + (1-equal(bass_thresh,2.5))*dx_residual; +per_frame_15=dy_residual = equal(bass_thresh,2.5)*0.012*sin(time*9) + (1-equal(bass_thresh,2.5))*dy_residual; +per_pixel_1=rot=rot+rad*0.14*sin(0.6186*time); diff --git a/presets/presets_milkdrop_200/Geiss - Julia Fractal 2.milk b/presets/presets_milkdrop_200/Geiss - Julia Fractal 2.milk new file mode 100755 index 0000000000..246ea2cc6d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Julia Fractal 2.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.01 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.74 +fWaveScale=0.656 +fWaveSmoothing=0.8 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.96 +fShader=0 +zoom=0.98 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.513 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.07 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.025 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); +per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets/presets_milkdrop_200/Geiss - Julia Fractal 3 square mix.milk b/presets/presets_milkdrop_200/Geiss - Julia Fractal 3 square mix.milk new file mode 100755 index 0000000000..34d46782e4 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Julia Fractal 3 square mix.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.8 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.0 +zoom=0.980000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.513000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.070000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.025000 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); +per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // custom motion for 50% of the pixels...: +warp_4=`// float2 uv2 = (uv_orig - 0.5)*0.75 + 0.5; +warp_5=` +warp_6=` // make every other pixel use 'uv2': +warp_7=`// float2 pix = uv_orig * texsize.xy; +warp_8=`// float even_odd = saturate(2*frac((pix.x + pix.y)*0.5 + 0.02)); +warp_9=`// uv = lerp(uv, uv2, even_odd); +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*16*float2(0,1)).xyz ); +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.008)*0.96; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = max(ret, tex2D(sampler_main, uv + 0.045*float2(cos(uv.x*37),sin(uv.y*29))).xyz); +comp_8=` +comp_9=` //ret += GetBlur1(uv) - 0.07; +comp_10=` //ret *= float3(1.3,0.8,0.5); +comp_11=` //ret *= 0.8; +comp_12=`} diff --git a/presets/presets_milkdrop_200/Geiss - Julia Fractal 3.milk b/presets/presets_milkdrop_200/Geiss - Julia Fractal 3.milk new file mode 100755 index 0000000000..ace24ab53f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Julia Fractal 3.milk @@ -0,0 +1,261 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.8 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.0 +zoom=0.980000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.513000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.070000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.025000 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); +per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // custom motion for 50% of the pixels...: +warp_4=`// float2 uv2 = (uv_orig - 0.5)*0.75 + 0.5; +warp_5=` +warp_6=` // make every other pixel use 'uv2': +warp_7=`// float2 pix = uv_orig * texsize.xy; +warp_8=`// float even_odd = saturate(2*frac((pix.x + pix.y)*0.5 + 0.02)); +warp_9=`// uv = lerp(uv, uv2, even_odd); +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*16*float2(0,1)).xyz ); +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.008)*0.96; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.010*float2(-1,-1) + 0.5; +comp_4=` ret = abs( tex2D(sampler_main, uv).xyz - +comp_5=` tex2D(sampler_main, uv_echo).zyx ); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Kaleidoscope 1.milk b/presets/presets_milkdrop_200/Geiss - Kaleidoscope 1.milk new file mode 100755 index 0000000000..1f2e3c2286 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Kaleidoscope 1.milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=3.355 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.04000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.03000 +dy=0.0 +warp=0.47402 +sx=1.0 +sy=1.0 +wave_r=0.9 +wave_g=0.770 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v1 = normalize(uv_orig-0.5); +warp_4=` float2 v2 = v1.yx * float2(1,-1); +warp_5=` +warp_6=` float z = length(texsize.zw)*450; +warp_7=` +warp_8=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*1; +warp_9=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*2; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.002)*0.99; +warp_18=` +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,2)*3.5; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*9 + time*0.05); +comp_8=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_9=` +comp_10=` uv = uv2; +comp_11=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_12=` +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv).xyz; +comp_15=` +comp_16=` float3 orig = ret; +comp_17=` ret = lum(ret); +comp_18=` ret.x = orig.x; +comp_19=` +comp_20=` ret = -0.3 + 1.6*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Geiss - Liquid Beats 2.milk b/presets/presets_milkdrop_200/Geiss - Liquid Beats 2.milk new file mode 100755 index 0000000000..4ce69a84c6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Liquid Beats 2.milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.2 +fWaveScale=3.587 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=0.970 +fModWaveAlphaEnd=1.670 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01459 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.024; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` float2 d = float2(1,1)*texsize.zw*0.7; +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv + d*float2(-13.5, 4)).xyz*2; +comp_8=` ret += tex2D(sampler_main, uv + d*float2( -5.5,-9)).xyz*-3; +comp_9=` ret += tex2D(sampler_main, uv + d*float2( 0.5, 3)).xyz*3; +comp_10=` ret += tex2D(sampler_main, uv + d*float2( 6.5,-11)).xyz*-3; +comp_11=` ret += tex2D(sampler_main, uv + d*float2( 14.5,-4)).xyz*2; +comp_12=` ret /= 2; +comp_13=` +comp_14=` //ret *= 1 + 0.15*(tex2D(sampler_noise_lq, rand_frame.xy +comp_15=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_16=` +comp_17=` +comp_18=` // palettize: +comp_19=` //ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_20=` +comp_21=` //ret.xyz *= 2; // a little bit of overbright +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_milkdrop_200/Geiss - Liquid Beats.milk b/presets/presets_milkdrop_200/Geiss - Liquid Beats.milk new file mode 100755 index 0000000000..749e26d1b1 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Liquid Beats.milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.2 +fWaveScale=3.587 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=0.970 +fModWaveAlphaEnd=1.670 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01459 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.024; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` float2 d = float2(1,1)*texsize.zw*0.7; +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv + d*float2(-13.5, 4)).xyz*2; +comp_8=` ret += tex2D(sampler_main, uv + d*float2( -5.5,-9)).xyz*-3; +comp_9=` ret += tex2D(sampler_main, uv + d*float2( 0.5, 3)).xyz*3; +comp_10=` ret += tex2D(sampler_main, uv + d*float2( 6.5,-11)).xyz*-3; +comp_11=` ret += tex2D(sampler_main, uv + d*float2( 14.5,-4)).xyz*2; +comp_12=` ret /= 2; +comp_13=` +comp_14=` //ret *= 1 + 0.15*(tex2D(sampler_noise_lq, rand_frame.xy +comp_15=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_16=` +comp_17=` +comp_18=` // palettize: +comp_19=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_20=` +comp_21=` //ret.xyz *= 2; // a little bit of overbright +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_milkdrop_200/Geiss - Luz.milk b/presets/presets_milkdrop_200/Geiss - Luz.milk new file mode 100755 index 0000000000..0d954d32fa --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Luz.milk @@ -0,0 +1,53 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.2 +fWaveScale=71.269997 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0 +zoom=1.014 +rot=-0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.309 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.47 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%30,0); +per_pixel_1=rot=rot+0.04*rad*cos(ang*4+time*1.9); diff --git a/presets/presets_milkdrop_200/Geiss - Mandelbrot 9a4.milk b/presets/presets_milkdrop_200/Geiss - Mandelbrot 9a4.milk new file mode 100755 index 0000000000..0906ed531e --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mandelbrot 9a4.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.800 +fWaveScale=0.899 +fWaveSmoothing=0.000 +fWaveParam=-1.000 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.530 +fWarpAnimSpeed=1.474 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00001 +sx=1.00000 +sy=1.00000 +wave_r=0.860 +wave_g=0.870 +wave_b=0.990 +wave_x=0.850 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.400 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 3.040*( 0.60*sin(0.281*time) + 0.40*sin(0.179*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7= +per_frame_8=q1 = 0;//(mid_att-1); +per_frame_9=q2 = 0;//(treb_att-1); +per_frame_10= +per_frame_11=// fractal zoom +per_frame_12=q3 = pow(2.0, -1 + 2*cos(time*0.421+2)); +per_frame_13= +per_frame_14=// zoom center +per_frame_15=q4 = 0.39;//0.4*cos(time*0.144+5); +per_frame_16=q5 = 0.39;//0.4*cos(time*0.271+2); +per_frame_17= +per_frame_18=// copmlex # offset +per_frame_19=q1 = q1*0.02 + 0.4*(cos(time*0.81+4)+cos(time*0.45+3)); +per_frame_20=q2 = q2*0.02 + 0.4*(sin(time*0.37+7)+cos(time*0.98+2)); +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 texCoord = uv; +warp_4=` float Zoom = q3; +warp_5=` float2 Pan = -float2(q4,q5); +warp_6=` +warp_7=` float2 c = (texCoord - 0.5) * Zoom * aspect.xy - Pan; +warp_8=` float2 v = 0; +warp_9=` for (int n = 0; n < 16; n++) +warp_10=` v = float2(v.x * v.x - v.y * v.y, v.x * v.y * 2) + c; +warp_11=` float result = saturate((dot(v,v)-1)*99); +warp_12=` +warp_13=` ret.xyz = v.y*v.y - length(v); +warp_14=` +warp_15=` ret = max(ret, tex2D(sampler_pw_main, uv_orig + float2(0.1,0)).xyz*float3(0.97,0.93,0.8)); +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` //ret *= 1.30; //gamma +comp_6=` +comp_7=` //ret = length(ret.xy); +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mandelbrot 9c2.milk b/presets/presets_milkdrop_200/Geiss - Mandelbrot 9c2.milk new file mode 100755 index 0000000000..fa5fa734bb --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mandelbrot 9c2.milk @@ -0,0 +1,266 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.3 +fWaveScale=1.882 +fWaveSmoothing=0.360 +fWaveParam=0.0 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.530 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00041 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.860 +wave_g=0.870 +wave_b=0.990 +wave_x=0.5 +wave_y=0.750 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 3.40*( 0.60*sin(0.0381*time) + 0.40*sin(0.0579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7= +per_frame_8=q1 = 0;//(mid_att-1); +per_frame_9=q2 = 0;//(treb_att-1); +per_frame_10= +per_frame_11=// fractal zoom +per_frame_12=q3 = pow(2.0, 3*cos(time*0.251+2)); +per_frame_13= +per_frame_14=// zoom center +per_frame_15=q4 = 0.6*cos(time*0.031+2); +per_frame_16=q5 = 0.8*sin(time*0.031+2); +per_frame_17= +per_frame_18=// copmlex # offset +per_frame_19=q1 = q1*0.02 + 0.4*(cos(time*0.81+4)+cos(time*0.45+3)); +per_frame_20=q2 = q2*0.02 + 0.4*(sin(time*0.37+7)+cos(time*0.98+2)); +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 texCoord = uv; +warp_4=` float Zoom = q3*0.5; +warp_5=` float2 Pan = float2(q4,q5); +warp_6=` +warp_7=` float2 c = (texCoord - 0.5) * Zoom * aspect.xy - Pan; +warp_8=` float2 v = 0;//tex2D(sampler_main, uv_orig).yz;//0; +warp_9=` for (int n = 0; n < 24; n++) +warp_10=` v = float2(v.x * v.x - v.y * v.y, v.x * v.y * 2) + c; +warp_11=` float result = (dot(v,v) > 1) ? 1 : 0; +warp_12=` +warp_13=` float2 uv2 = lerp(uv, uv_orig, 0.98); +warp_14=` ret.xyz = tex2D(sampler_main, uv2).xyz * float3(0.94,0.97,0); +warp_15=` //ret.z = 0; +warp_16=` +warp_17=` ret.xyz += result*0.08*float3(3,1,4); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz * 1.3; +comp_4=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mash-Up 1.milk b/presets/presets_milkdrop_200/Geiss - Mash-Up 1.milk new file mode 100755 index 0000000000..8057884e33 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mash-Up 1.milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.168430 +fWaveScale=2.827000 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.630000 +fModWaveAlphaEnd=0.870000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.050012 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.015077 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.720000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=r = 0. +wave_0_per_point1=x = sa +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_pixel_1=dx = (x-0.5)*0.02; +per_pixel_2=dy = (y-0.5)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mash-Up 3.milk b/presets/presets_milkdrop_200/Geiss - Mash-Up 3.milk new file mode 100755 index 0000000000..03d1597afb --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mash-Up 3.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.899719 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.593743 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.278033 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +warp_1=`#define sampler_pic sampler_cells +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum*0.8+0.1 - (0.5+roam_cos.y*0.25)); +warp_16=` float LFNoise = tex2D(sampler_noise_lq, uv*0.1 + time*0.01).x*6-2; +warp_17=` use_it = saturate(1 - use_it*(3+9*rand_preset.x) - LFNoise); +warp_18=` ret = lerp(ret, pic, use_it.xxx); +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.004; +warp_22=` //ret *= 0.99; +warp_23=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +warp_25=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = lum(ret); +comp_5=` ret *= 1.00; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mash-Up 4.milk b/presets/presets_milkdrop_200/Geiss - Mash-Up 4.milk new file mode 100755 index 0000000000..a68833f2e9 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mash-Up 4.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.220342 +fWaveScale=1.141157 +fWaveSmoothing=0.522000 +fWaveParam=0.400000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float lum = tex2D(sampler_main, uv).z; +comp_4=` ret = lerp(float3(0.3,0.2,0.4), float3(1.0,0.8,0.2), lum.xxx); +comp_5=` ret -= (0.5-abs(lum-0.5))*2; +comp_6=` ret *= 1.333; // a little bit of overbright +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mega Swirl 2.milk b/presets/presets_milkdrop_200/Geiss - Mega Swirl 2.milk new file mode 100755 index 0000000000..fa4f949239 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mega Swirl 2.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.408 +fWaveScale=1.170 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=2.1 +fShader=0.0 +zoom=1.02500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.29077 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); diff --git a/presets/presets_milkdrop_200/Geiss - Mega Swirl 3.milk b/presets/presets_milkdrop_200/Geiss - Mega Swirl 3.milk new file mode 100755 index 0000000000..fefde90f37 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mega Swirl 3.milk @@ -0,0 +1,226 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.112 +fWaveScale=0.622 +fWaveSmoothing=0.5 +fWaveParam=-0.140 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=2.1 +fShader=0.0 +zoom=1.02500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.30900 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=zoom=zoom+0.04*sin(time*1.2+ang*6.28*3); diff --git a/presets/presets_milkdrop_200/Geiss - MicroCheckers 2.milk b/presets/presets_milkdrop_200/Geiss - MicroCheckers 2.milk new file mode 100755 index 0000000000..015bb2e62d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - MicroCheckers 2.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=1.372 +fWaveSmoothing=0.360 +fWaveParam=-0.160 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.530 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.91000 +rot=-0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.07600 +sx=1.0 +sy=1.0 +wave_r=0.860 +wave_g=0.870 +wave_b=0.990 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.025*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_frame_9= +per_frame_10=wave_mystery = time*0.043; +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` // custom motion for 50% of the pixels...: +warp_4=` float zoom = 0.84 + 0.05*cos(time*0.5); +warp_5=` float2 uv2 = (uv_orig - 0.5)*zoom + 0.5; +warp_6=` +warp_7=` // make every other pixel use 'uv2': +warp_8=` float2 pix = uv_orig * texsize.xy; +warp_9=` float even_odd = saturate(2*frac((pix.x + pix.y)*0.5 + 0.25)); +warp_10=` uv = lerp(uv, uv2, even_odd); +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv ).xyz; +warp_14=` +warp_15=` // darken (decay) over time +warp_16=` //ret = (ret - 0.0015)*0.988; +warp_17=` ret *= 0.93 + 0.07*saturate(rad*5); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` ret = pow(ret, float3(0.9,0.5,1.3)) - 0.06; +comp_6=` ret *= 1.80; //gamma +comp_7=` +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - MicroCheckers 3.milk b/presets/presets_milkdrop_200/Geiss - MicroCheckers 3.milk new file mode 100755 index 0000000000..eec1e2eb4c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - MicroCheckers 3.milk @@ -0,0 +1,253 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=1.372 +fWaveSmoothing=0.171 +fWaveParam=-0.160 +fModWaveAlphaStart=0.850 +fModWaveAlphaEnd=1.530 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97000 +rot=-0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02001 +sx=1.0 +sy=1.0 +wave_r=0.860 +wave_g=0.610 +wave_b=0.290 +wave_x=0.5 +wave_y=0.450 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` // custom motion for 50% of the pixels...: +warp_4=` float2 uv2 = (uv_orig - 0.5)*0.91 + 0.5; +warp_5=` +warp_6=` // make every other pixel use 'uv2': +warp_7=` float2 pix = uv_orig * texsize.xy; +warp_8=` float even_odd = saturate(2*frac((pix.x + pix.y)*0.5 + 0.25)); +warp_9=` uv = lerp(uv, uv2, even_odd); +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` // darken (decay) over time +warp_15=` //ret = (ret - 0.0015)*0.988; +warp_16=` ret *= 0.8 + 0.17*saturate(rad*5); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` //ret = pow(ret, float3(0.9,0.5,1.3)) - 0.06; +comp_6=` ret *= 1.80; //gamma +comp_7=` +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - MicroCheckers 5.milk b/presets/presets_milkdrop_200/Geiss - MicroCheckers 5.milk new file mode 100755 index 0000000000..c2a27c8ef6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - MicroCheckers 5.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.063 +fWaveScale=1.881 +fWaveSmoothing=0.036 +fWaveParam=-0.040 +fModWaveAlphaStart=1.070 +fModWaveAlphaEnd=1.270 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.31000 +rot=0.2 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.38414 +sx=1.0 +sy=1.0 +wave_r=0.460 +wave_g=0.650 +wave_b=0.830 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=//rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=//zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` // custom motion for 50% of the pixels...: +warp_4=` float2 uv2 = (uv_orig - 0.5)*0.97 + 0.5; +warp_5=` +warp_6=` // make every other pixel use 'uv2': +warp_7=` float2 pix = uv_orig * texsize.xy; +warp_8=` float even_odd = saturate(2*frac((pix.x + pix.y)*0.5 + 0.25)); +warp_9=` uv = lerp(uv, uv2, even_odd); +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` // darken +warp_15=` ret *= 0.85 + 0.15*saturate(rad*5); +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` //ret = pow(ret, float3(0.9,0.5,1.3)) - 0.06; +comp_6=` ret = lerp(lum(ret), ret, 3); +comp_7=` ret *= 3; //gamma +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mosaic Octopus 7.milk b/presets/presets_milkdrop_200/Geiss - Mosaic Octopus 7.milk new file mode 100755 index 0000000000..93acfd2a1e --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mosaic Octopus 7.milk @@ -0,0 +1,262 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.700000 +fWaveScale=2.090780 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.529999 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.860000 +wave_g=0.869999 +wave_b=0.989999 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.400000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` //float t = saturate((treb/treb_att-1)*13); +warp_4=` //uv = lerp(uv_orig, uv, t*0.9); +warp_5=` //uv = uv_orig; +warp_6=` +warp_7=` float2 v1 = normalize(uv_orig-0.5); +warp_8=` float2 v2 = v1.yx * float2(1,-1); +warp_9=` +warp_10=` //float z = length(texsize.zw)*450; +warp_11=` +warp_12=` float rings = 30; +warp_13=` float t7 = time*11; +warp_14=` float ring_t = frac(rad*rings); +warp_15=` float sectors = 7 + floor(rad*rings); +warp_16=` +warp_17=` uv.xy += v1*texsize.zw * cos((ring_t+0.5)*M_PI*2 - t7)*2; +warp_18=` uv.xy += v2*texsize.zw * cos(ang*6.28*sectors - t7)*1; +warp_19=` +warp_20=` // sample previous frame +warp_21=` ret = tex2D( sampler_main, uv ).xyz; +warp_22=` +warp_23=` +warp_24=` +warp_25=` // darken (decay) over time +warp_26=` ret = (ret - 0.016)*0.985; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` ret *= 1.30; //gamma +comp_6=` +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mosaic Octopus.milk b/presets/presets_milkdrop_200/Geiss - Mosaic Octopus.milk new file mode 100755 index 0000000000..d9fe6b5cd1 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mosaic Octopus.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.426125 +fWaveScale=1.234584 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.529999 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.740000 +wave_b=0.670000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v1 = normalize(uv_orig-0.5); +warp_4=` float2 v2 = v1.yx * float2(1,-1); +warp_5=` +warp_6=` float z = length(texsize.zw)*450; +warp_7=` +warp_8=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_9=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.002)*0.99; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //gamma +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Mosaic.milk b/presets/presets_milkdrop_200/Geiss - Mosaic.milk new file mode 100755 index 0000000000..6f5e06140b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Mosaic.milk @@ -0,0 +1,340 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.111 +fWaveSmoothing=0.171 +fWaveParam=-0.160 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.4 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.17920 +sx=1.0 +sy=1.0 +wave_r=0.860 +wave_g=0.610 +wave_b=0.290 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.4 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=198 +wavecode_0_sep=15 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=q1 = 0.5; +wave_0_per_frame2=q2 = 0.5; +wave_0_per_frame3=q3 = 0; +wave_0_per_frame4= +wave_0_per_frame5=a = q7; +wave_0_per_point1=temp1 = 1 - temp1; +wave_0_per_point2=newx = value1*0.1; +wave_0_per_point3=newy = value2*0.1; +wave_0_per_point4=s1 = above(temp1,0.5); +wave_0_per_point5=s2 = 1-s1; +wave_0_per_point6=s1 = s1 + (1-s1)*below(q3,0.5); +wave_0_per_point7=s2 = s2 + (1-s2)*below(q3,0.5); +wave_0_per_point8= +wave_0_per_point9=s1 = s1*0.97 + 0.03*0.5; +wave_0_per_point10=s2 = s2*0.97 + 0.03*0.5; +wave_0_per_point11= +wave_0_per_point12=x = q1 + newx; +wave_0_per_point13=y = q2 + newy; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=q1 = x; +wave_0_per_point19=q2 = y; +wave_0_per_point20=q3 = q3 + 1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=36 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.3 +shapecode_0_r2=0.5 +shapecode_0_g2=0.7 +shapecode_0_b2=0.9 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang2 = instance/num_inst*6.28 + time; +shape_0_per_frame2=rad2 = 0.1; +shape_0_per_frame3=x = 0.5 + rad2*cos(ang2)*q11; +shape_0_per_frame4=y = 0.5 + rad2*sin(ang2)*q12; +shape_0_per_frame5=a = a * q9; +shape_0_per_frame6=a2 = a2 * q9; +shape_0_per_frame7= +shape_0_per_frame8=rad = 0.08; +shape_0_per_frame9= +shape_0_per_frame10=r = q15; +shape_0_per_frame11=g = q14; +shape_0_per_frame12=b = q13; +shapecode_1_enabled=0 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.5 +shapecode_1_g2=0.5 +shapecode_1_b2=0.9 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang = 1.7; +shape_1_per_frame2=r = 0.1; +shape_1_per_frame3=x = 0.5 + r*cos(ang); +shape_1_per_frame4=y = 0.5 + r*sin(ang); +shape_1_per_frame5=a = a * q9; +shapecode_2_enabled=0 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.5 +shapecode_2_g2=0.5 +shapecode_2_b2=0.9 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang = 4.84; +shape_2_per_frame2=r = 0.1; +shape_2_per_frame3=x = 0.5 + r*cos(ang); +shape_2_per_frame4=y = 0.5 + r*sin(ang); +shape_2_per_frame5=a = a * q9; +shapecode_3_enabled=0 +shapecode_3_sides=32 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.5 +shapecode_3_g2=0.5 +shapecode_3_b2=0.9 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang = 3.14; +shape_3_per_frame2=r = 0.1; +shape_3_per_frame3=x = 0.5 + r*cos(ang); +shape_3_per_frame4=y = 0.5 + r*sin(ang); +shape_3_per_frame5=a = a * q9; +per_frame_init_1=// determines the cell sizes: (see per-vertex eqs) +per_frame_init_2=q3 = 0.5 + 0.6 * rand(100)*0.01; +per_frame_init_3=q4 = rand(100)*0.01; +per_frame_init_4=q5 = rand(100)*0.01; +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=zoom = zoom + 0.037*( 0.38*sin(0.157*time+1) + 0.62*sin(0.1184*time+5) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=q1=cos(1.41*time); +per_frame_9=q2=time + 0.3*sin(time*1.47); +per_frame_10= +per_frame_11=// this is a great way to respond to beats: +per_frame_12=// once you get one, let it decay at a constant rate!! +per_frame_13=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_14=q9 = rg * above(rg,rg2*2); +per_frame_15=rg2 = max(rg, rg2*0.8); +per_frame_16= +per_frame_17=//zoom = zoom + q9*0.1; +per_frame_18=monitor = q9; +per_frame_19= +per_frame_20=// for custom shape 1: +per_frame_21=q11 = aspectx; +per_frame_22=q12 = aspecty; +per_frame_23=q13 = wave_r; +per_frame_24=q14 = wave_g; +per_frame_25=q15 = wave_b; +per_frame_26= +per_frame_27=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_28=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_29=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_30=decay_rate = pow(0.9980, fps); // lower # = more hasty to declare a beat +per_frame_31=beat = bass/max(min_att,bass_att); +per_frame_32=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_33=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_34=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_35=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_36=is_beat = above(beat_level, 0.5); +per_frame_37= // effects: +per_frame_38= warp = (beat - prev_beat)*22; +per_frame_39= q7 = (beat - prev_beat - 0.08)*32; +per_frame_40=prev_beat = beat; +per_pixel_1=// this creates squares of a certain size, in pixels, +per_pixel_2=// no matter what the size of the screen, or its aspect ratio: +per_pixel_3=dx = cos(x*pixelsx*aspectx*q3*0.1 + q4*6.28)*0.02; +per_pixel_4=dy = cos(y*pixelsy*aspecty*q3*0.1 + q5*6.28)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` ret = tex2D( sampler_main, uv ).xyz; +warp_6=` +warp_7=` // darken (decay) over time +warp_8=` //ret = (ret - 0.0015)*0.988; +warp_9=` ret *= 0.8 + 0.17*saturate(rad*5); +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += (GetBlur1(uv) - blur1_min)*2.5; +comp_5=` //ret = pow(ret, float3(0.9,0.5,1.3)) - 0.06; +comp_6=` ret *= 1.80; //gamma +comp_7=` +comp_8=`} diff --git a/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix 2).milk b/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix 2).milk new file mode 100755 index 0000000000..34208dadc9 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix 2).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.2 +fWaveScale=3.228 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.04500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01605 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*2.3)); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v*2.3)); +warp_12=` +warp_13=` // darken over time +warp_14=` ret *= 0.97; +warp_15=` +warp_16=` // add noise +warp_17=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_18=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0,0,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.15)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.2,-0.13,0.05)); +comp_23=` float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` float3 dir2 = normalize(float3(-0.1,0.3,0.01)); +comp_25=` float3 col2 = float3(0.5,0.7,0.85)*1; +comp_26=` ret = col1 * saturate(dot(g,dir1)) + col2*saturate(dot(g,dir2)); +comp_27=` +comp_28=`} diff --git a/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix).milk b/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix).milk new file mode 100755 index 0000000000..10ca0fcb49 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Motion Blur 2 (Relief Mix).milk @@ -0,0 +1,282 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.2 +fWaveScale=3.228 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01605 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.001*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.001*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.98); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.98); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.95); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.95); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.99; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0,0,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.1)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` float3 dir2 = normalize(float3(-0.2,0.3,0.01)); +comp_25=` float3 col2 = float3(0.5,0.7,0.55)*1; +comp_26=` ret = col1 * saturate(dot(g,dir1)) + col2*saturate(dot(g,dir2)); +comp_27=` +comp_28=`} diff --git a/presets/presets_milkdrop_200/Geiss - Motion Blur 2.milk b/presets/presets_milkdrop_200/Geiss - Motion Blur 2.milk new file mode 100755 index 0000000000..67f1ce9a28 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Motion Blur 2.milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200001 +fWaveScale=3.227871 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.050000 +fModWaveAlphaEnd=1.650000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.205000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.016046 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret *= 1; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Myriad Mosaics.milk b/presets/presets_milkdrop_200/Geiss - Myriad Mosaics.milk new file mode 100755 index 0000000000..e01d63b557 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Myriad Mosaics.milk @@ -0,0 +1,309 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=2.620 +fWaveSmoothing=0.270 +fWaveParam=-0.080 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.0 +zoom=0.99901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.45599 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.8 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.5 +ob_b=0.450 +ob_a=0.260 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.08925 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.8 +shapecode_0_g=0.4 +shapecode_0_b=0.2 +shapecode_0_a=0.050 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=rad = rad + 0.02*cos(time*3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = wave_r + 0.05*sin(0.437*time+1); +per_frame_2=wave_g = wave_g + 0.05*sin(0.544*time+2); +per_frame_3=wave_b = wave_b + 0.05*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=// custom wave opacity modulation +per_frame_31=//beat = (bass+mid+treb) / (bass_att+mid_att+treb_att); +per_frame_32=beat = max(bass/bass_att, mid/mid_att); +per_frame_33=beat = max(beat, treb/treb_att); +per_frame_34= decay_rate = pow(0.9995, fps); +per_frame_35= beat = max( beat, prev_beat*decay_rate ); +per_frame_36= wave_a = (beat - prev_beat - 0.07)*24; +per_frame_37= is_beat = above(wave_a, 0.5); +per_frame_38= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_39= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_40= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_41= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_42= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_43= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_44=prev_beat = beat; +per_frame_45=my_rot = rot; +per_frame_46=my_zoom = zoom; +per_frame_47=my_warp = warp; +per_frame_48=my_cx = cx; +per_frame_49=my_cy = cy; +per_frame_50=my_s = s; +per_frame_51= +per_frame_52=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` float s = 0.03 + 1.5*pow(q11, 2); // should be < about 1 +warp_4=` float2 nz = tex3D( sampler_noisevol_hq, float3(uv_orig.xy*4*texsize.xy/850.0*s,time*0.055) ); +warp_5=` +warp_6=` float2 zz = uv_orig.xy * texsize.xy * 6 * 0.1 * s + nz*9; +warp_7=` uv.xy += float2(cos(zz.x),cos(zz.y))*texsize.zw * 1.7 * 0.9 / s; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` ret.xyz *= 0.99; +warp_13=` +warp_14=` // add noise: +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_16=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_17=` //* saturate(treb_att-1); +warp_18=` *0.16; +warp_19=` +warp_20=` // color rotate & desaturate over time, to keep the globs white +warp_21=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.05); +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Myriad Spirals (Relief Mix).milk b/presets/presets_milkdrop_200/Geiss - Myriad Spirals (Relief Mix).milk new file mode 100755 index 0000000000..58677e3395 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Myriad Spirals (Relief Mix).milk @@ -0,0 +1,320 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=1.910 +fWaveSmoothing=0.0 +fWaveParam=-0.080 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.0 +zoom=1.01901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.45599 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=1.0 +ob_g=0.5 +ob_b=0.250 +ob_a=0.160 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.7 +shapecode_0_g=0.7 +shapecode_0_b=1.0 +shapecode_0_a=0.170 +shapecode_0_r2=0.0 +shapecode_0_g2=0.2 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=rad = rad + 0.02*cos(time*3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_29=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_30=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_31=decay_rate = pow(0.9990, fps); // lower # = more hasty to declare a beat +per_frame_32=beat = bass/max(min_att,bass_att); +per_frame_33=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_34=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_35=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_36=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_37=is_beat = above(beat_level, 0.5); +per_frame_38=prev_beat = beat; +per_frame_39= // put your beat responses HERE: +per_frame_40= wave_a = beat_level; +per_frame_41= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_42= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_43= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_44= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_45= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_46= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_47=my_rot = rot; +per_frame_48=my_zoom = zoom; +per_frame_49=my_warp = warp; +per_frame_50=my_cx = cx; +per_frame_51=my_cy = cy; +per_frame_52=my_s = s; +per_frame_53= +per_frame_54=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` float s = 0.01 + 0.4*pow(q11, 2); // should be < about 1 +warp_4=` float2 nz = tex3D( sampler_noisevol_hq, float3(uv_orig.xy*4*texsize.xy/850.0*s,time*0.1) ); +warp_5=` +warp_6=` float2 zz = uv_orig.xy * texsize.xy * 6 * 0.1 * s + nz*9; +warp_7=` uv.xy += float2(cos(zz.y),cos(zz.x))*texsize.zw * 1.7 / s; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` ret.xyz *= 0.99; +warp_13=` +warp_14=` // add noise: +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_16=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_17=` //* saturate(treb_att-1); +warp_18=` *0.16; +warp_19=` +warp_20=` // color rotate & desaturate over time, to keep the globs white +warp_21=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.2); +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.3; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Myriad Spirals.milk b/presets/presets_milkdrop_200/Geiss - Myriad Spirals.milk new file mode 100755 index 0000000000..6229655e54 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Myriad Spirals.milk @@ -0,0 +1,311 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=1.910 +fWaveSmoothing=0.0 +fWaveParam=-0.080 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.0 +zoom=1.01901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.45599 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=1.0 +ob_g=0.5 +ob_b=0.250 +ob_a=0.160 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.7 +shapecode_0_g=0.7 +shapecode_0_b=1.0 +shapecode_0_a=0.170 +shapecode_0_r2=0.0 +shapecode_0_g2=0.2 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=rad = rad + 0.02*cos(time*3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_29=decay_rate = pow(0.993, fps); // lower # = more hasty to declare a beat +per_frame_30=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_31=decay_to = 1.0; // lower # = more hasty to declare a beat +per_frame_32=beat = bass/max(min_att,bass_att); +per_frame_33=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_34=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_35=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_36=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_37=is_beat = above(beat_level, 0.5); +per_frame_38=prev_beat = beat; +per_frame_39= // put your beat responses HERE: +per_frame_40= wave_a = beat_level + 1.65; +per_frame_41= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_42= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_43= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_44= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_45= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_46= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_47=my_rot = rot; +per_frame_48=my_zoom = zoom; +per_frame_49=my_warp = warp; +per_frame_50=my_cx = cx; +per_frame_51=my_cy = cy; +per_frame_52=my_s = s; +per_frame_53= +per_frame_54=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` float s = 0.01 + pow(q11, 2); // should be < about 1 +warp_4=` float2 nz = tex3D( sampler_noisevol_hq, float3(uv_orig.xy*4*texsize.xy/850.0*s,time*0.1) ); +warp_5=` +warp_6=` float2 zz = uv_orig.xy * texsize.xy * 6 * 0.1 * s + nz*9; +warp_7=` uv.xy += float2(cos(zz.y),cos(zz.x))*texsize.zw * 1.7 / s; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` ret.xyz *= 0.99; +warp_13=` +warp_14=` // add noise: +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_16=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_17=` //* saturate(treb_att-1); +warp_18=` *0.16; +warp_19=` +warp_20=` // color rotate & desaturate over time, to keep the globs white +warp_21=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.2); +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Neutron - radial blur 2.milk b/presets/presets_milkdrop_200/Geiss - Neutron - radial blur 2.milk new file mode 100755 index 0000000000..9ebbb77c38 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Neutron - radial blur 2.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.513796 +fWaveScale=0.747225 +fWaveSmoothing=0.1 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.030012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000864 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.499999 +wave_b=0.299999 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=-0.993034 +mv_dy=0.179747 +mv_l=0.055000 +mv_r=0.339724 +mv_g=0.182042 +mv_b=0.355223 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.255842 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.150000 +wave_0_per_frame1=r = 0.51 + 0.4*cos(time*23.31324) + 0.4*cos(time*14.542543+5); +wave_0_per_frame2=g = 0.51 + 0.4*cos(time*27.43324+1) + 0.4*cos(time*12.746563+4); +wave_0_per_frame3=b = 0.51 + 0.4*cos(time*19.62324+2) + 0.4*cos(time*15.382064+3); +wave_0_per_point1=x = sample + value1*0.3; +wave_0_per_point2=y = (sample-0.5)*-0.4 + value1*0.4 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(1.980*time) + 0.40*sin(1.447*time) ); +per_frame_2=wave_g = wave_g + 0.20*( 0.60*sin(1.835*time) + 0.40*sin(1.181*time) ); +per_frame_3=wave_b = wave_b + 0.10*( 0.60*sin(1.814*time) + 0.40*sin(1.311*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_pixel_1=dx = (x-0.5)*0.02; +per_pixel_2=dy = (y-0.5)*0.02; +per_pixel_3=//rot = cos(time*0.4923+3)*0.012 + cos(time*0.37332+1)*0.015; +warp_1=`shader_body +warp_2=`{ +warp_3=` // Really smooth RADIAL BLUR: +warp_4=` float2 v1 = normalize(uv - 0.5); +warp_5=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 +warp_6=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 +warp_7=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 +warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 +warp_9=` ) - 0.006; +warp_10=`} +warp_11=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.73; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Octopus.milk b/presets/presets_milkdrop_200/Geiss - Octopus.milk new file mode 100755 index 0000000000..436620f43d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Octopus.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.99 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.426125 +fWaveScale=1.8817 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.02 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.076 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.15 +wave_b=0.35 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); diff --git a/presets/presets_milkdrop_200/Geiss - Pistons.milk b/presets/presets_milkdrop_200/Geiss - Pistons.milk new file mode 100755 index 0000000000..6bbf24b372 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Pistons.milk @@ -0,0 +1,50 @@ +[preset00] +fRating=1 +fGammaAdj=1.9 +fDecay=0.97 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.981 +fWaveSmoothing=0.6 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=0.995 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.975 +wave_y=0.5 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_pixel_1=sx=sx+0.07*sin(rad*18 + time*9); diff --git a/presets/presets_milkdrop_200/Geiss - Planar Travel.milk b/presets/presets_milkdrop_200/Geiss - Planar Travel.milk new file mode 100755 index 0000000000..2e2c1c119c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Planar Travel.milk @@ -0,0 +1,274 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=1.719 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.950 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.7 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.5 + 0.65*sin(10.437*time+1); +per_frame_2=wave_g = 0.5 + 0.65*sin(18.344*time+2); +per_frame_3=wave_b = 1;//0.5 + 0.65*sin(13.251*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` uv.x += 0.02 * (tex2D( sampler_noise_lq, +warp_4=` uv*0.050*texsize_noise_lq.zw*texsize.xy*2 +warp_5=` + float2(roam_cos.x,roam_sin.x)*0.1 ).y*2-1)*aspect.x; +warp_6=` uv.x += 0.04 * (tex2D( sampler_noise_lq, +warp_7=` uv*0.025*texsize_noise_lq.zw*texsize.xy*0.5 +warp_8=` + float2(roam_sin.y,-roam_cos.y)*0.03 ).z*2-1)*aspect.x; +warp_9=` +warp_10=` ret = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` // darken over time +warp_13=` //ret.z -= 0.004; +warp_14=` ret.z *= 0.97; +warp_15=` +warp_16=` // ERROR DIFFUSION DITHER - looks great +warp_17=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_18=` ret.z += (tex2D(sampler_noise_lq, dither_uv).x-0.5)/256.0; +warp_19=`} +warp_20=` +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float lum = tex2D(sampler_main, uv).z; +comp_6=` //ret = lum + 0.13*cos(lum*29+2.8); +comp_7=` +comp_8=` float2 texc = float2(slow_roam_cos.x, slow_roam_sin.y); +comp_9=` ret = pow(lum,0.5) * (1-tex2D(sampler_seaweed, texc + float2(0.1,0)*lum)); +comp_10=` +comp_11=` ret += frac(lum*126)*0.07; +comp_12=` +comp_13=` ret *= abs(uv.y-0.5)*6; +comp_14=` +comp_15=` ret *= 0.8; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Planet 1.milk b/presets/presets_milkdrop_200/Geiss - Planet 1.milk new file mode 100755 index 0000000000..620f67b6e5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Planet 1.milk @@ -0,0 +1,226 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.998 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.244 +fWaveScale=1.981 +fWaveSmoothing=0.6 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(time*0.321)) + (y*2-1)*(0.08+0.15*cos(time*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; diff --git a/presets/presets_milkdrop_200/Geiss - Plasma 2.milk b/presets/presets_milkdrop_200/Geiss - Plasma 2.milk new file mode 100755 index 0000000000..4aebe0ed41 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Plasma 2.milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.4 +fWaveScale=0.605 +fWaveSmoothing=0.0 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02971 +rot=-0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=rot = rot + 0.015*( 0.60*sin(0.521*time+3) + 0.40*sin(0.781*time+7) ); +per_frame_10=zoom = zoom + 0.005*( 0.60*sin(0.475*time+2) + 0.40*sin(0.513*time+4) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` // blur this too: +warp_6=` ret += GetBlur2(uv)*0.1; +warp_7=` ret /= 1.1; +warp_8=` +warp_9=` ret += 0.01*(tex2d(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw +warp_10=` + rand_frame.xy).xyz*2-1); +warp_11=` +warp_12=` // darken over time +warp_13=` ret *= 0.97;//*= 0.95; //or try: ret -= 0.004; +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*1.2; +comp_5=` ret = pow(ret, float3(0.5,0.7,1.4))*1.25; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Plasma.milk b/presets/presets_milkdrop_200/Geiss - Plasma.milk new file mode 100755 index 0000000000..47145f289d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Plasma.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.4 +fWaveScale=0.605 +fWaveSmoothing=0.9 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02971 +rot=-0.02000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` // blur this too: +warp_6=` ret += GetBlur2(uv)*0.1; +warp_7=` ret /= 1.1; +warp_8=` +warp_9=` ret += 0.01*(tex2d(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw +warp_10=` + rand_frame.xy).xyz*2-1); +warp_11=` +warp_12=` // darken over time +warp_13=` ret *= 0.97;//*= 0.95; //or try: ret -= 0.004; +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*1.2; +comp_5=` ret = pow(ret, float3(0.5,0.7,1.4))*1.25; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Puddle Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Puddle Mix).milk new file mode 100755 index 0000000000..0c8c9129da --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Puddle Mix).milk @@ -0,0 +1,309 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.500 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=2.358 +fWaveSmoothing=0.540 +fWaveParam=0.200 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.06778 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=//wave_mystery = time*0.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21= +per_frame_22=// this is a great way to respond to beats: +per_frame_23=// once you get one, let it decay at a constant rate!! +per_frame_24=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_25=q9 = rg; +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=// custom wave opacity modulation +per_frame_30=//beat = (bass+mid+treb) / (bass_att+mid_att+treb_att); +per_frame_31=beat = max(bass/bass_att, mid/mid_att); +per_frame_32=beat = max(beat, treb/treb_att); +per_frame_33= decay_rate = pow(0.9995, fps); +per_frame_34= beat = max( beat, prev_beat*decay_rate ); +per_frame_35= wave_a = (beat - prev_beat - 0.05)*24; +per_frame_36= is_beat = above(wave_a, 0.5); +per_frame_37= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_38= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_39= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_40= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_41= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_42=prev_beat = beat; +per_frame_43=my_rot = rot; +per_frame_44=my_zoom = zoom; +per_frame_45=my_warp = warp; +per_frame_46=my_cx = cx; +per_frame_47=my_cy = cy; +per_pixel_1=zoom = zoom + cos(rad*30)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b0 = ret.xyz; +warp_9=` float3 b1 = GetBlur1(uv).xyz; +warp_10=` float3 b2 = GetBlur2(uv).xyz; +warp_11=` //float b3 = GetBlur3(uv).xyz; +warp_12=` float3 dc = b0-b1; +warp_13=` dc = lerp(dc, (b2-b1)*2, rad); +warp_14=` +warp_15=` ret.xyz += dc*0.3; +warp_16=` ret.xyz *= 0.9; +warp_17=` ret = lerp(ret, 0.5, 0.03); +warp_18=` +warp_19=` +warp_20=` // add noise: +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_23=` //* saturate(treb_att-1); +warp_24=` *0.16; +warp_25=` +warp_26=` // desaturate over time, to keep the globs white +warp_27=` //ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_28=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.02); +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = pow(ret,1.7)*2.3; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Relief Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Relief Mix).milk new file mode 100755 index 0000000000..de010ceafd --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Relief Mix).milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.220 +fWaveScale=1.141 +fWaveSmoothing=0.522 +fWaveParam=0.4 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.14846 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.005*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.005*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.33; +per_frame_11=dy = dy + dy_residual*0.33; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*2.5; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += (b1-b2)*1.4*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*1.4*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Royal Crown Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Royal Crown Mix).milk new file mode 100755 index 0000000000..899a9c3d01 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Royal Crown Mix).milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.500000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.220 +fWaveScale=1.141 +fWaveSmoothing=0.522 +fWaveParam=0.4 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.03300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.26300 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.4; +per_frame_11=dy = dy + dy_residual*0.4; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float lum = tex2D(sampler_main, uv).z; +comp_4=` ret = lerp(float3(0.3,0.2,0.4), float3(1.0,0.8,0.2), lum.xxx); +comp_5=` ret -= (0.5-abs(lum-0.5))*2; +comp_6=` ret *= 1.333; // a little bit of overbright +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Shifting Sphere Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Shifting Sphere Mix).milk new file mode 100755 index 0000000000..31c6ea1162 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Shifting Sphere Mix).milk @@ -0,0 +1,310 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=1.719 +fWaveSmoothing=0.540 +fWaveParam=0.0 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=4.02709 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.06778 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*0.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.020*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21= +per_frame_22=// this is a great way to respond to beats: +per_frame_23=// once you get one, let it decay at a constant rate!! +per_frame_24=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_25=q9 = rg; +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=// custom wave opacity modulation +per_frame_30=//beat = (bass+mid+treb) / (bass_att+mid_att+treb_att); +per_frame_31=beat = max(bass/bass_att, mid/mid_att); +per_frame_32=beat = max(beat, treb/treb_att); +per_frame_33= decay_rate = pow(0.9995, fps); +per_frame_34= beat = max( beat, prev_beat*decay_rate ); +per_frame_35= wave_a = (beat - prev_beat - 0.1)*24; +per_frame_36= is_beat = above(wave_a, 0.5); +per_frame_37= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_38= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_39= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_40= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_41= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_42=prev_beat = beat; +per_frame_43=my_rot = rot; +per_frame_44=my_zoom = zoom; +per_frame_45=my_warp = warp; +per_frame_46=my_cx = cx; +per_frame_47=my_cy = cy; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b0 = ret.xyz; +warp_9=` float3 b1 = GetBlur1(uv).xyz; +warp_10=` float3 b2 = GetBlur2(uv).xyz; +warp_11=` //float b3 = GetBlur3(uv).xyz; +warp_12=` float3 dc = b0-b1; +warp_13=` dc = lerp(dc, (b2-b1)*2, rad); +warp_14=` +warp_15=` ret.xyz += dc*0.3; +warp_16=` ret.xyz *= 0.9; +warp_17=` ret = lerp(ret, 0.5, 0.03); +warp_18=` +warp_19=` +warp_20=` // add noise: +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_23=` //* saturate(treb_att-1); +warp_24=` *0.16; +warp_25=` +warp_26=` // desaturate over time, to keep the globs white +warp_27=` //ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_28=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.02); +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` ret *= hue_shader*1.15; +comp_6=` +comp_7=`} +comp_8=` +comp_9=` diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Squamous Flow Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Squamous Flow Mix).milk new file mode 100755 index 0000000000..4fe182b6d3 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion (Squamous Flow Mix).milk @@ -0,0 +1,277 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.5 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = GetBlur1(uv)*0.3 + GetBlur2(uv)*0.4 + GetBlur3(uv)*0.3; +warp_9=` ret.xyz += (ret.xyz - b)*0.3; +warp_10=` ret.xyz *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_15=` * (saturate(treb_att-1)*0.4+0.3); +warp_16=` +warp_17=` // desaturate over time, to keep the globs white +warp_18=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` ret = ( GetBlur1((0.5-uv)*0.5+0.5)); +comp_5=` +comp_6=` float lb1 = lum(GetBlur1(uv)); +comp_7=` +comp_8=` ret *= saturate((lb1-0.2)*9); +comp_9=` +comp_10=` +comp_11=` float3 c = tex2D(sampler_main, uv).xyz; +comp_12=` +comp_13=` +comp_14=` ret += c; +comp_15=` +comp_16=` +comp_17=`} diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion - Simple Squamous Mix.milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion - Simple Squamous Mix.milk new file mode 100755 index 0000000000..c881fbf745 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion - Simple Squamous Mix.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.019006 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = GetBlur1(uv)*0.3 + GetBlur2(uv)*0.4 + GetBlur3(uv)*0.3; +warp_9=` ret.xyz += (ret.xyz - b)*0.3; +warp_10=` ret.xyz *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_15=` * (saturate(treb_att-1)*0.4+0.3); +warp_16=` +warp_17=` // desaturate over time, to keep the globs white +warp_18=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` +comp_9=` //ret.xyz *= 2; // a little bit of overbright +comp_10=`} +comp_11=` +comp_12=` diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 2.milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 2.milk new file mode 100755 index 0000000000..a82abb0326 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 2.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.009006 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=zoom = zoom + max(0,bass_att-1.1)*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` +comp_9=` //ret.xyz *= 2; // a little bit of overbright +comp_10=`} +comp_11=` +comp_12=` diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3 (Lichen Mix).milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3 (Lichen Mix).milk new file mode 100755 index 0000000000..a756e322d6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3 (Lichen Mix).milk @@ -0,0 +1,296 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur2(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret.xzy; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3.milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3.milk new file mode 100755 index 0000000000..b72a7a4daa --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 3.milk @@ -0,0 +1,275 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=30.965099 +fWarpScale=2.571729 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.009006 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` +comp_9=` //ret.xyz *= 2; // a little bit of overbright +comp_10=`} +comp_11=` +comp_12=` diff --git a/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 4 - Petri Mix.milk b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 4 - Petri Mix.milk new file mode 100755 index 0000000000..947ffca560 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reaction Diffusion 4 - Petri Mix.milk @@ -0,0 +1,279 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000000 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=30.965099 +fWarpScale=2.571729 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009006 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=warp = warp + max(0,treb-1.1)*0.5; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret - GetBlur1(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` // use 3D noise +comp_4=` float3 uvw = float3(uv*8, 0.3); +comp_5=` //uvw = mul(uvw, rot_s2); +comp_6=` uvw.z += time*0.3; +comp_7=` +comp_8=` // sample a high-quality 3D noise volume! +comp_9=` float4 N = tex3D(sampler_noisevol_hq, uvw); +comp_10=` +comp_11=` float2 uv2 = uv; +comp_12=` uv2 += (N.xy*2-1)*texsize.zw*3; +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv2).xyz; +comp_15=` ret += GetBlur1(uv)*0.4; +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/Geiss - Reducto Absurdum.milk b/presets/presets_milkdrop_200/Geiss - Reducto Absurdum.milk new file mode 100755 index 0000000000..652d8d0ee3 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reducto Absurdum.milk @@ -0,0 +1,227 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.399 +fWaveScale=1.605 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.04200 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.213*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx=cx+(zoom-1)*7; +per_frame_7=cy=cy+rot*2; +per_frame_8=sx=sx-max(0,(bass_att-1.2)); +per_frame_9=sy=sy-max(0,(treb_att-1.2)); diff --git a/presets/presets_milkdrop_200/Geiss - Reducto Ad Nauseum.milk b/presets/presets_milkdrop_200/Geiss - Reducto Ad Nauseum.milk new file mode 100755 index 0000000000..56a3f1803c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Reducto Ad Nauseum.milk @@ -0,0 +1,227 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.327 +fWaveScale=1.605 +fWaveSmoothing=0.6 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.04200 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.213*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx=cx+(zoom-1)*7; +per_frame_7=cy=cy+rot*2; +per_frame_8=sx=sx+max(0,(bass_att-1.2)); +per_frame_9=sy=sy+max(0,(treb_att-1.2)); diff --git a/presets/presets_milkdrop_200/Geiss - Rose 4 (LSB mix).milk b/presets/presets_milkdrop_200/Geiss - Rose 4 (LSB mix).milk new file mode 100755 index 0000000000..092a5eb0d3 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Rose 4 (LSB mix).milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.669 +fWaveScale=1.251 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02349 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.191*time) + 0.40*sin(0.249*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret *= 0.987; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` ret *= 0.6; +comp_6=` +comp_7=` // LSB accentuate effect: (LSB = least significant bit) +comp_8=` float3 d = float3(texsize.zw, 0)*1.0; +comp_9=` float b1 = lum(GetPixel(uv + d.xz)); +comp_10=` float b2 = lum(GetPixel(uv - d.xz)); +comp_11=` float b3 = lum(GetPixel(uv + d.zy)); +comp_12=` float b4 = lum(GetPixel(uv - d.zy)); +comp_13=` float2 c = float2(b1-b2,b3-b4); +comp_14=` c = frac(c*20); +comp_15=` c = saturate((c-0.5)*999)*2-1; +comp_16=` c = lerp(c, 0, saturate( lum(GetBlur2(uv))*30-17 )); +comp_17=` ret += 0.104*c.x; +comp_18=` ret += 0.104*c.y; +comp_19=` +comp_20=` ret = lerp(ret, lum(ret), -1); +comp_21=` +comp_22=`} diff --git a/presets/presets_milkdrop_200/Geiss - Rose 4 Shifted Tiles.milk b/presets/presets_milkdrop_200/Geiss - Rose 4 Shifted Tiles.milk new file mode 100755 index 0000000000..890613b8dc --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Rose 4 Shifted Tiles.milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.2 +fWaveScale=1.013 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02349 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.01; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float tiles = 12; +comp_6=` float2 uv2 = float2( floor(uv.x*tiles), floor(uv.y*tiles) )/tiles +comp_7=` + rand_preset.xy; +comp_8=` float2 delta = float2(roam_cos.x, roam_sin.x)*0.07; +comp_9=` float4 N = tex2D( sampler_noise_lq, uv2 * aspect.xy + delta ) - 0.5; +comp_10=` uv += normalize(N.xy)*0.033*(0+rad); +comp_11=` +comp_12=` ret = tex2D(sampler_main, uv).xyz*1.4 - 0.4; +comp_13=`} diff --git a/presets/presets_milkdrop_200/Geiss - Rose 4.milk b/presets/presets_milkdrop_200/Geiss - Rose 4.milk new file mode 100755 index 0000000000..0d34a9019a --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Rose 4.milk @@ -0,0 +1,254 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.2 +fWaveScale=1.013 +fWaveSmoothing=0.9 +fWaveParam=-0.280 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02349 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.650 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=31.2 +nMotionVectorsY=2.280 +mv_dx=0.0 +mv_dy=0.0 +mv_l=2.5 +mv_r=1.0 +mv_g=1.0 +mv_b=0.8 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.02; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float lum = lum(ret); +comp_6=` ret = lerp(ret, pow( lum, 0.4 + 1.6*rand_preset.xyz ), 0.7); +comp_7=` +comp_8=` ret *= 1.2; //old gamma effect +comp_9=`} diff --git a/presets/presets_milkdrop_200/Geiss - Rose 5 Crossfire Beats.milk b/presets/presets_milkdrop_200/Geiss - Rose 5 Crossfire Beats.milk new file mode 100755 index 0000000000..951e0ac02f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Rose 5 Crossfire Beats.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200001 +fWaveScale=1.012940 +fWaveSmoothing=0.9 +fWaveParam=-0.320000 +fModWaveAlphaStart=1.25 +fModWaveAlphaEnd=1.850000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=0.184232 +fShader=0.0 +zoom=1.065000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.060935 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.350000 +wave_b=0.1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-3*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+3*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.02; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv *= 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz); +comp_6=` ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz); +comp_7=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz); +comp_8=` ret *= 1.3; // a little bit of overbright +comp_9=`} +comp_10=` +comp_11=` diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 10.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 10.milk new file mode 100755 index 0000000000..b2ca428ec7 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 10.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.000000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.000000 +zoom=1.059709 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.131259 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 10b.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 10b.milk new file mode 100755 index 0000000000..055aab9bfe --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 10b.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.000000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.000000 +zoom=1.079709 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.098617 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 5.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 11 Crossfire Composite.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 11 Crossfire Composite.milk new file mode 100755 index 0000000000..ee5e32852d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 11 Crossfire Composite.milk @@ -0,0 +1,257 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.0 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.0 +zoom=1.049709 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.098617 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 1.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv *= 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz); +comp_6=` ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz); +comp_7=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz); +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 11b.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 11b.milk new file mode 100755 index 0000000000..1bcb1aece6 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 11b.milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.000000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.000000 +zoom=1.049709 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.098617 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 1.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 +warp_14=` * 122 * saturate((treb_att-1)+0.4); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 3.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 3.milk new file mode 100755 index 0000000000..3f287544b5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 3.milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=2.143028 +fWaveSmoothing=0.900000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009710 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000001 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` // blur this too: +warp_6=` ret += (ret - GetBlur1(uv))*0.2; +warp_7=` ret *= 0.9; +warp_8=` //ret /= 1.1; +warp_9=` +warp_10=` // darken over time +warp_11=` //ret -= 0.02;//*= 0.95; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3; +comp_5=` ret *= 1; +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 6.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 6.milk new file mode 100755 index 0000000000..1d8cf14452 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 6.milk @@ -0,0 +1,243 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.289491 +fWaveSmoothing=0.900000 +fWaveParam=-0.280000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=1.694465 +fShader=0.000000 +zoom=1.029710 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.013326 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.5*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.2; +warp_9=` ret *= 0.9; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*1; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots 9.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots 9.milk new file mode 100755 index 0000000000..7750f8c9ee --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots 9.milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.000000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.958210 +fShader=0.000000 +zoom=1.009710 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.131259 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.2*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.1;// + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 28; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.04); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*0; +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 1.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 1.milk new file mode 100755 index 0000000000..4ebb76f7e2 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 1.milk @@ -0,0 +1,254 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.000000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.000000 +zoom=1.039709 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.098617 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.999999 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.7*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +per_pixel_1=zoom = zoom + 0.005*cos(ang*5 + time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xxx; +comp_4=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.8+0.5).yyy); +comp_5=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.6+0.5).zzz); +comp_6=`} diff --git a/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 3.milk b/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 3.milk new file mode 100755 index 0000000000..bf8052d018 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Skin Dots Multi-layer 3.milk @@ -0,0 +1,274 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.0 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.0 +zoom=1.029709 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.098617 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.7*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +per_frame_13= +per_frame_14=rot = rot + min(0.3,pow(max(0,bass_att-1),2)*0.2); +per_pixel_1=zoom = zoom + 0.005*cos(ang*5 + time*1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).zzz; +comp_4=` +comp_5=` float crisp, blur; +comp_6=` float2 uv2; +comp_7=` +comp_8=` float shadow_offset = 0.0; +comp_9=` float shadow_str = 1.15; +comp_10=` +comp_11=` uv2 = (uv-0.5)*0.8+0.5; +comp_12=` crisp = tex2D(sampler_main, uv2).y; +comp_13=` // add drop shadow: +comp_14=` blur = GetBlur1(uv2 + shadow_offset).y; +comp_15=` ret *= (1-blur*shadow_str); +comp_16=` ret = max(ret, crisp.xxx); +comp_17=` +comp_18=` uv2 = uv; +comp_19=` crisp = tex2D(sampler_main, uv2).x; +comp_20=` // add drop shadow: +comp_21=` blur = GetBlur1(uv2 + shadow_offset).x; +comp_22=` ret *= (1-blur*shadow_str); +comp_23=` ret = max(ret, crisp.xxx); +comp_24=`} diff --git a/presets/presets_milkdrop_200/Geiss - Smoke Rings.milk b/presets/presets_milkdrop_200/Geiss - Smoke Rings.milk new file mode 100755 index 0000000000..b03d5291e1 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Smoke Rings.milk @@ -0,0 +1,238 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.0 +fDecay=0.990000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.5 +fWaveScale=0.621787 +fWaveSmoothing=0.5 +fWaveParam=-0.140000 +fModWaveAlphaStart=1.329999 +fModWaveAlphaEnd=1.809999 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=2.1 +fShader=0.0 +zoom=1.025000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.309000 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=zoom=zoom+0.04*sin(time*1.2+ang*6.28*3); +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = max(ret, tex2D(sampler_main, uv + 0.03*float2(cos(uv.y*27),sin(uv.x*39))).xyz); +comp_8=` +comp_9=` //ret += GetBlur1(uv) - 0.07; +comp_10=` //ret *= float3(1.3,0.8,0.5); +comp_11=` //ret *= 0.8; +comp_12=`} diff --git a/presets/presets_milkdrop_200/Geiss - Smoke Trail.milk b/presets/presets_milkdrop_200/Geiss - Smoke Trail.milk new file mode 100755 index 0000000000..bce7214579 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Smoke Trail.milk @@ -0,0 +1,257 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=2.700 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.657 +fWaveScale=0.923 +fWaveSmoothing=0.100 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.03400 +rot=-0.01400 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.02944 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=wave_x = 0.5 + 0.17*cos(time*2)/aspecty; +per_frame_9=wave_y = 0.5 + 0.17*sin(time*2)/aspectx; +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 4; //TWEAK +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.983; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Soft.milk b/presets/presets_milkdrop_200/Geiss - Soft.milk new file mode 100755 index 0000000000..35202bb4e3 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Soft.milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.334654 +fWaveScale=1.127788 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=1.470000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.113000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.349839 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.7 +wave_b=0.7 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//blur1_min = 0.7; +per_frame_20=//blur1_max = 0.8; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1.9; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=`} +warp_14=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = GetBlur2(uv)*1.25; +comp_4=`} +comp_5=` +comp_6=` diff --git a/presets/presets_milkdrop_200/Geiss - Sound And The Fury.milk b/presets/presets_milkdrop_200/Geiss - Sound And The Fury.milk new file mode 100755 index 0000000000..794d32d73b --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Sound And The Fury.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=1 +fGammaAdj=1.98 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.9 +fWaveScale=0.769339 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.135 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.28 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_b = wave_b + min(1,max(0,(bass_att-1)*1.5)); +per_frame_2=wave_r = wave_b*0.4; +per_frame_3=wave_g = wave_b*0.4; +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.005*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.005*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.009*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9= +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2.5 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.98+1.4); +per_frame_13=dx_residual = equal(bass_thresh,2.5)*0.016*sin(time*7) + (1-equal(bass_thresh,2.5))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.5)*0.012*sin(time*9) + (1-equal(bass_thresh,2.5))*dy_residual; +per_pixel_1=zoom = zoom + 0.1*rad; diff --git a/presets/presets_milkdrop_200/Geiss - Spiral Artifact (Filament Mix).milk b/presets/presets_milkdrop_200/Geiss - Spiral Artifact (Filament Mix).milk new file mode 100755 index 0000000000..c7bc462988 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Spiral Artifact (Filament Mix).milk @@ -0,0 +1,299 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=8.433 +fWaveSmoothing=0.900 +fWaveParam=-0.300 +fModWaveAlphaStart=1.150 +fModWaveAlphaEnd=1.550 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=rot_sum = 0; +per_frame_init_2=q2 = 0.07 + 0.04*rand(1000)*0.001 + 0.03*rand(1000)*0.001; +per_frame_init_3=q3 = 1.035 + 0.06*(rand(1000)+rand(1000)+rand(1000))*0.000333; +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(1.980*time) + 0.40*sin(3.047*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(2.835*time) + 0.40*sin(2.081*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(3.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = 0.5;//cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = 0.5;//cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6= +per_frame_7=rot = q2;//0.13;//6.28*(rand(737)/737.0 - 0.5) * 0.03; +per_frame_8=zoom = zoom-1 + q3; +per_frame_9=rot_sum = rot_sum + rot; +per_frame_10=q1 = -rot_sum; +per_frame_11=q5 = cos(rot_sum); +per_frame_12=q6 = sin(rot_sim); +per_frame_13=monitor = q2; +per_frame_14= +per_frame_15=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_16=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_17=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_18=decay_rate = pow(0.9990, fps); // lower # = more hasty to declare a beat +per_frame_19=beat = bass/max(min_att,bass_att); +per_frame_20=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_21=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_22=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_23=beat_level = (beat - prev_beat - 0.02)*14; +per_frame_24=is_beat = above(beat_level, 0.5); +per_frame_25=prev_beat = beat; +per_frame_26= // put your beat responses HERE: +per_frame_27= wave_a = beat_level; +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 4; //TWEAK - should be a least 4 for max. compatibility! +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.983; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 orig = uv; +comp_4=` +comp_5=` float inv_zoom = min(aspect.x,aspect.y)*0.8; +comp_6=` //float t = saturate(time*0.33); +comp_7=` //t = t*t*(3 - 2*t); +comp_8=` //inv_zoom = lerp(1, inv_zoom, t); +comp_9=` +comp_10=` uv -= 0.5; +comp_11=` uv *= inv_zoom; +comp_12=` uv *= aspect.xy; +comp_13=` +comp_14=` float2 uv2; +comp_15=` uv2.x = uv.x*cos(q1) - uv.y*sin(q1); +comp_16=` uv2.y = uv.x*sin(q1) + uv.y*cos(q1); +comp_17=` uv2 *= aspect.zw; +comp_18=` uv2 += 0.5; +comp_19=` +comp_20=` ret = abs( tex2D(sampler_main, uv2).xyz*2.65 +comp_21=` + GetBlur1(uv2)*-2 ); +comp_22=` +comp_23=` ret.xyz = ret*1.5 - 0.0; +comp_24=`} +comp_25=` +comp_26=` diff --git a/presets/presets_milkdrop_200/Geiss - Spiral Artifact.milk b/presets/presets_milkdrop_200/Geiss - Spiral Artifact.milk new file mode 100755 index 0000000000..e2fc3cc075 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Spiral Artifact.milk @@ -0,0 +1,286 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=3.630 +fWaveSmoothing=0.9 +fWaveParam=-0.3 +fModWaveAlphaStart=1.150 +fModWaveAlphaEnd=1.550 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.96971 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=rot_sum = 0; +per_frame_init_2=q2 = 0.07 + 0.04*rand(1000)*0.001 + 0.03*rand(1000)*0.001; +per_frame_init_3=q3 = 1.035 + 0.06*(rand(1000)+rand(1000)+rand(1000))*0.000333; +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(1.980*time) + 0.40*sin(3.047*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(2.835*time) + 0.40*sin(2.081*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(3.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = 0.5;//cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = 0.5;//cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6= +per_frame_7=rot = q2;//0.13;//6.28*(rand(737)/737.0 - 0.5) * 0.03; +per_frame_8=zoom = zoom-1 + q3; +per_frame_9=rot_sum = rot_sum + rot; +per_frame_10=q1 = -rot_sum; +per_frame_11=q5 = cos(rot_sum); +per_frame_12=q6 = sin(rot_sim); +per_frame_13=monitor = q2; +per_frame_14= +per_frame_15=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_16=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_17=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_18=decay_rate = pow(0.9990, fps); // lower # = more hasty to declare a beat +per_frame_19=beat = bass/max(min_att,bass_att); +per_frame_20=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_21=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_22=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_23=beat_level = (beat - prev_beat - 0.02)*24; +per_frame_24=is_beat = above(beat_level, 0.5); +per_frame_25=prev_beat = beat; +per_frame_26= // put your beat responses HERE: +per_frame_27= wave_a = beat_level; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004;//*= 0.95; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 orig = uv; +comp_4=` +comp_5=` float inv_zoom = min(aspect.x,aspect.y)*0.8; +comp_6=` //float t = saturate(time*0.33); +comp_7=` //t = t*t*(3 - 2*t); +comp_8=` //inv_zoom = lerp(1, inv_zoom, t); +comp_9=` +comp_10=` uv -= 0.5; +comp_11=` uv *= inv_zoom; +comp_12=` uv *= aspect.xy; +comp_13=` +comp_14=` float2 uv2; +comp_15=` uv2.x = uv.x*cos(q1) - uv.y*sin(q1); +comp_16=` uv2.y = uv.x*sin(q1) + uv.y*cos(q1); +comp_17=` uv2 *= aspect.zw; +comp_18=` uv2 += 0.5; +comp_19=` +comp_20=` ret = abs( tex2D(sampler_main, uv2).xyz*2.65 +comp_21=` + GetBlur1(uv2)*-2 ); +comp_22=` +comp_23=` ret.xyz *= 1.5; +comp_24=`} +comp_25=` +comp_26=` diff --git a/presets/presets_milkdrop_200/Geiss - Starfish 2.milk b/presets/presets_milkdrop_200/Geiss - Starfish 2.milk new file mode 100755 index 0000000000..0ba43da7b0 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Starfish 2.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.5 +fDecay=0.990 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.313 +fWaveScale=2.202 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.03100 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%2,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.6); diff --git a/presets/presets_milkdrop_200/Geiss - Sunsets.milk b/presets/presets_milkdrop_200/Geiss - Sunsets.milk new file mode 100755 index 0000000000..b5c3a0a6b3 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Sunsets.milk @@ -0,0 +1,226 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.990 +fDecay=0.970 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.106 +fWaveScale=0.453 +fWaveSmoothing=0.6 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=25.548 +fZoomExponent=0.4 +fShader=0.0 +zoom=1.09900 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.41700 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.550 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_milkdrop_200/Geiss - Swirlie 1.milk b/presets/presets_milkdrop_200/Geiss - Swirlie 1.milk new file mode 100755 index 0000000000..03e85c6dd8 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Swirlie 1.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=1 +fGammaAdj=1.994 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.1 +fShader=0 +zoom=0.961 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.771011 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.03 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.01 +ib_r=0.34 +ib_g=0.34 +ib_b=0.34 +ib_a=0.5 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_7=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_8=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_12= diff --git a/presets/presets_milkdrop_200/Geiss - Swirlie 2.milk b/presets/presets_milkdrop_200/Geiss - Swirlie 2.milk new file mode 100755 index 0000000000..7b5ff3a8f2 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Swirlie 2.milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=1.000000 +fGammaAdj=1.994 +fDecay=0.970 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.5 +fWaveScale=1.524 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.335 +fWarpScale=3.928 +fZoomExponent=2.1 +fShader=0.0 +zoom=0.96100 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.77101 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.030 +ib_r=0.340 +ib_g=0.340 +ib_b=0.340 +ib_a=0.1 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_7=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_8=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_12= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*5*float2(0,1)).xyz ); +warp_7=` +warp_8=` // darken (decay) over time +warp_9=` ret = (ret - 0.008)*0.96; +warp_10=`} diff --git a/presets/presets_milkdrop_200/Geiss - Swirlie 4.milk b/presets/presets_milkdrop_200/Geiss - Swirlie 4.milk new file mode 100755 index 0000000000..6362e7b05c --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Swirlie 4.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1 +fGammaAdj=1.994 +fDecay=0.97 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.1 +fShader=0 +zoom=0.961 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.771011 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.0285 +ib_r=0.34 +ib_g=0.34 +ib_b=0.34 +ib_a=0.1 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=blah = 0.5/(wave_r+wave_g+wave_b); +per_frame_7=wave_r = wave_r*blah; wave_g = wave_g*blah; wave_b = wave_b*blah; +per_frame_8=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_9=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_10=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_11=dx = dx + 0.01*( 0.60*sin(0.324*time) + 0.40*sin(0.234*time) ); +per_frame_12=dy = dy + 0.01*( 0.60*sin(0.244*time) + 0.40*sin(0.264*time) ); +per_frame_13=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_14=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_15=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_16=blah = 12.4/(ib_r+ib_g+ib_b)*3; +per_frame_17=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_frame_18= diff --git a/presets/presets_milkdrop_200/Geiss - Tadpole Hunter.milk b/presets/presets_milkdrop_200/Geiss - Tadpole Hunter.milk new file mode 100755 index 0000000000..6223e6220d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Tadpole Hunter.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.2 +fWaveScale=3.587 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.190 +fModWaveAlphaEnd=1.710 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.19500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01605 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // slow, smooth brightness normalizer: +warp_7=` float4 b; +warp_8=` b.x = lum(GetBlur2(float2(0.35,0.35))); +warp_9=` b.y = lum(GetBlur2(float2(0.65,0.35))); +warp_10=` b.z = lum(GetBlur2(float2(0.35,0.65))); +warp_11=` b.w = lum(GetBlur2(float2(0.65,0.65))); +warp_12=` float fmin = min(min(b.x,b.y), min(b.z,b.w)) * 0.8; +warp_13=` float fmax = max(max(b.x,b.y), max(b.z,b.w)) / 0.8; +warp_14=` float normalized = (ret - fmin)/(fmax-fmin); +warp_15=` ret = lerp(ret, normalized, 0.04); +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*27 + 3)*30 - 26); +comp_6=` float L2 = lum(GetBlur1(uv)); +comp_7=` float bw2 = saturate(cos(L*27 + 3)*30 - 26); +comp_8=` +comp_9=` ret = ret*ret * (1 + bw*bw2*0.5); +comp_10=` +comp_11=`} diff --git a/presets/presets_milkdrop_200/Geiss - Tokamak Plus 2.milk b/presets/presets_milkdrop_200/Geiss - Tokamak Plus 2.milk new file mode 100755 index 0000000000..946c05c576 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Tokamak Plus 2.milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.993 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.199 +fWaveScale=4.226 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.8 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.680 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=rot = rot + 0.03*cos(time*0.571+3); +per_frame_7=dx = dx + 0.1*cos(time*0.492+1); +per_frame_8=dy = dy + 0.1*cos(time*0.439+2); +per_frame_9=//zoom = zoom + 0.01*cos(time*0.671+5); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // noise +warp_7=` float4 N = tex2D(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy)*2-1; +warp_8=` ret += N.xyz/256.0*5; +warp_9=` +warp_10=` // darken over time +warp_11=` ret *= 0.98; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.5; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Tokamak Plus 4.milk b/presets/presets_milkdrop_200/Geiss - Tokamak Plus 4.milk new file mode 100755 index 0000000000..eac9ad0bd8 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Tokamak Plus 4.milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.993 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.101 +fWaveScale=1.326 +fWaveSmoothing=0.7 +fWaveParam=0.540 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.95400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.23944 +sx=0.99967 +sy=0.99990 +wave_r=0.510 +wave_g=0.8 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t2 = time*3; +per_frame_2=wave_r = wave_r + 0.2*( 0.60*sin(0.980*t2) + 0.40*sin(1.047*t2) ); +per_frame_3=wave_g = wave_g + 0.2*( 0.60*sin(0.835*t2) + 0.40*sin(1.081*t2) ); +per_frame_4=wave_b = wave_b + 0.2*( 0.60*sin(0.814*t2) + 0.40*sin(1.011*t2) ); +per_frame_5=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=rot = rot + 0.03*cos(time*0.571+3); +per_frame_8=dx = dx + 0.1*cos(time*0.492+1); +per_frame_9=dy = dy + 0.1*cos(time*0.439+2); +per_frame_10=//zoom = zoom + 0.01*cos(time*0.671+5); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` ret *= 1.3; +comp_26=` ret *= hue_shader*4-2; +comp_27=` +comp_28=`} +comp_29=` +comp_30=` diff --git a/presets/presets_milkdrop_200/Geiss - Tokamak Plus Painterly.milk b/presets/presets_milkdrop_200/Geiss - Tokamak Plus Painterly.milk new file mode 100755 index 0000000000..3b1a5c892d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Tokamak Plus Painterly.milk @@ -0,0 +1,249 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.2 +fWaveScale=4.225629 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.004000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.197884 +sx=0.999667 +sy=0.999900 +wave_r=0.750000 +wave_g=0.750000 +wave_b=0.750000 +wave_x=0.5 +wave_y=0.680000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // PAINTERLY EFFECT - base high-frequency motion on image colors +warp_6=` float mipbias = 0;//3 + 2*cos(_frame * 2); +warp_7=` float2 delta2 = 0;//texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, uv + delta2 ).xyz; +warp_9=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_10=` +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz - 0.005; +warp_12=` +warp_13=`} +warp_14=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.99; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Trampoline.milk b/presets/presets_milkdrop_200/Geiss - Trampoline.milk new file mode 100755 index 0000000000..fbdcd09f96 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Trampoline.milk @@ -0,0 +1,220 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.650000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.7 +fWaveScale=1.605447 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.025000 +rot=-0.020000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.309000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.5 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.03*sin((x*2-1)*4+time*1.63)+0.03*sin((y*2-1)*3+time*1.37)-0.1*sin(rad*0.1+time*1.6); diff --git a/presets/presets_milkdrop_200/Geiss - Two-Pointed Pulsagon.milk b/presets/presets_milkdrop_200/Geiss - Two-Pointed Pulsagon.milk new file mode 100755 index 0000000000..50346976f5 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Two-Pointed Pulsagon.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.440 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.199 +fWaveScale=1.605 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.01400 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.6 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=zoom=zoom+0.06-0.06*sin(ang*2+time*3); diff --git a/presets/presets_milkdrop_200/Geiss - Virus 2.milk b/presets/presets_milkdrop_200/Geiss - Virus 2.milk new file mode 100755 index 0000000000..4759c38c51 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Virus 2.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.3 +fWaveScale=1.694 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.26300 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual*0.4; +per_frame_11=dy = dy + dy_residual*0.4; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret *= 0.98; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*-1 + +comp_4=` GetBlur1(uv)*1 + +comp_5=` GetBlur2(uv)*1; +comp_6=` ret *= 1.5; +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Virus Broth.milk b/presets/presets_milkdrop_200/Geiss - Virus Broth.milk new file mode 100755 index 0000000000..5b027c510f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Virus Broth.milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.299999 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`#define sampler_pic sampler_cells +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum*0.8+0.1 - (0.5+roam_cos.y*0.25)); +warp_16=` float LFNoise = tex2D(sampler_noise_lq, uv*0.1 + time*0.01).x*6-2; +warp_17=` use_it = saturate(1 - use_it*(3+9*rand_preset.x) - LFNoise); +warp_18=` ret = lerp(ret, pic, use_it.xxx); +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.004; +warp_22=` //ret *= 0.99; +warp_23=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +warp_25=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*-2 + +comp_4=` GetBlur1(uv)*2 + +comp_5=` GetBlur2(uv)*2 - 0.7; +comp_6=` //ret *= 1.2; +comp_7=`} diff --git a/presets/presets_milkdrop_200/Geiss - Vortex 1.milk b/presets/presets_milkdrop_200/Geiss - Vortex 1.milk new file mode 100755 index 0000000000..b2b4712367 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Vortex 1.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.090 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.216 +fWaveScale=0.948 +fWaveSmoothing=0.5 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.02500 +rot=-0.24000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.42000 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay=decay - 0.01*equal(frame%16,0); +per_pixel_1=rot=rot+0.1/(rad+0.1); diff --git a/presets/presets_milkdrop_200/Geiss - Vortex 2 Painterly.milk b/presets/presets_milkdrop_200/Geiss - Vortex 2 Painterly.milk new file mode 100755 index 0000000000..562c1497b0 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Vortex 2 Painterly.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.6 +fWaveScale=0.768 +fWaveSmoothing=0.5 +fWaveParam=0.5 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.02500 +rot=-0.18000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.42000 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay=decay - 0.01*equal(frame%16,0); +per_frame_7=wave_mystery = 0.5 + 0.4*sin(time*0.207); +per_frame_8=wave_x = 0.5 + 0.3*sin(time*0.177); +per_pixel_1=rot=rot+0.1/(rad+0.1); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //old gamma effect +comp_5=`} diff --git a/presets/presets_milkdrop_200/Geiss - Waterfall.milk b/presets/presets_milkdrop_200/Geiss - Waterfall.milk new file mode 100755 index 0000000000..450a139a9f --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - Waterfall.milk @@ -0,0 +1,222 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.998 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.391 +fWaveScale=2.201 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.0 +cy=0.0 +dx=0.0 +dy=0.00500 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.150 +wave_g=0.150 +wave_b=0.750 +wave_x=0.950 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.533*time) + 0.40*sin(0.945*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.600*time) + 0.40*sin(0.856*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.920*time) ); +per_pixel_1=sy=1.1-0.065*(1-cos((x*2-1)*1.57)); diff --git a/presets/presets_milkdrop_200/Geiss - beetle bore - color invert mirror x.milk b/presets/presets_milkdrop_200/Geiss - beetle bore - color invert mirror x.milk new file mode 100755 index 0000000000..0ced122120 --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss - beetle bore - color invert mirror x.milk @@ -0,0 +1,249 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.994000 +fDecay=0.970000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.1 +fShader=0.0 +zoom=0.961000 +rot=0.220000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.771011 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.080000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.028500 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.1 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=blah = 0.5/(wave_r+wave_g+wave_b); +per_frame_7=wave_r = wave_r*blah; wave_g = wave_g*blah; wave_b = wave_b*blah; +per_frame_8=rot = rot + 0.12*( 0.60*sin(0.21*time) + 0.40*sin(0.339*time) ); +per_frame_9=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_10=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_11=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_12=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_13=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_14=blah = 0.4/(ib_r+ib_g+ib_b)*3; +per_frame_15=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_frame_16= +per_frame_17=dx = 0.01*cos(time*0.27934+5); +per_frame_18=dy = 0.01*sin(time*0.23142+2); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,uv.y) ).zyx ); +warp_6=` +warp_7=` // darken over time +warp_8=` ret *= 0.97; //or try: ret -= 0.004; +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1.4 - 0.4; +comp_4=`} diff --git a/presets/presets_milkdrop_200/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk b/presets/presets_milkdrop_200/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk new file mode 100755 index 0000000000..c0413e5e7d --- /dev/null +++ b/presets/presets_milkdrop_200/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk @@ -0,0 +1,281 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` ret = pow(ret, float3(1.7-(bass*.5), 1.7-(treb*.5), 1.7-(mid*.5))); +comp_9=` +comp_10=` //ret.xyz *= 2; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_milkdrop_200/Hexcollie - Personal Mashup3 [Flexis portal mix].milk b/presets/presets_milkdrop_200/Hexcollie - Personal Mashup3 [Flexis portal mix].milk new file mode 100755 index 0000000000..f8302b9563 --- /dev/null +++ b/presets/presets_milkdrop_200/Hexcollie - Personal Mashup3 [Flexis portal mix].milk @@ -0,0 +1,339 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.989 +fVideoEchoZoom=1.168 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00022 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.100 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.060 +ib_size=0.035 +ib_r=0.250 +ib_g=0.450 +ib_b=0.250 +ib_a=0.290 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_init_1=dle=1; +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=q1=le; +per_frame_26=q2=thccl+.2*leccl; +per_frame_27=leccl=leccl+dle*le; +per_frame_28=dle=if(beat,-dle,dle); +per_frame_29=bccl=bccl+beat; +per_frame_30= +per_frame_31=wave_r=.1+.8*sqr(sin(.011*thccl))+.1*sin(leccl*.061); +per_frame_32=wave_g=.1+.8*sqr(sin(.013*thccl))+.1*cos(leccl*.067); +per_frame_33=wave_b=.1+.8*sqr(cos(.017*thccl))+.1*sin(leccl*.065); +per_frame_34= +per_frame_35=ib_r=ib_r+.1*sin(1.3*time+.012*leccl); +per_frame_36=ib_g=ib_g+.1*sin(1.7*time+.019*leccl); +per_frame_37=ib_b=ib_b+.1*sin(1.9*time+.017*leccl); +per_frame_38=mv_r=.5*(ib_r+wave_r);mv_g=.5*(ib_g+wave_g);mv_b=.5*(ib_b+wave_b); +per_frame_39=mv_a=.5*sqr(sin(.01*leccl+bccl)); +per_frame_40= +per_frame_41=echo_alpha=.5+.2*cos(.07*leccl+.02*thccl); +per_frame_42=eo=if(band(equal(bccl%3,0),beat),rand(4),eo); +per_frame_43=q3=(equal(eo,2)+equal(eo,1))*equal(bccl%2,0); +per_frame_44=q4=(equal(eo,0)+equal(eo,3))*equal(bccl%2,0); +per_frame_45=echo_orient=eo; +per_pixel_1=dqv=above(x,.5)-above(y,.5); +per_pixel_2=rot=sin(sin(rad*(13+5*sin(.01*q2))+.06*q2)*q1*.01); +per_pixel_3=zoom=1+if(q3,dqv,1)*.1*sin(7*ang+.03*q2); +per_pixel_4=zoom=if(q4,if(below(rad,.8*sqr(sin(.016*q2))),.75+.4*cos(.021*q2),zoom),zoom); +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` +comp_6=` float2 uv2 = (uv - 0.5); +comp_7=` float rad2 = rad_lq*0.8; +comp_8=` float ang2 = ang_lq * M_INV_PI_2; +comp_9=` +comp_10=` ang2 += time*0.015 - rad_lq*0.0002; +comp_11=` float fins = 7; +comp_12=` ang2 = frac(ang2*fins)/fins; +comp_13=` ang2 = abs(ang2 - 0.5/fins); +comp_14=` +comp_15=` ang2 *= M_PI_2; +comp_16=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_17=` +comp_18=` ret = tex2D(sampler_main, uv2).xyz; +comp_19=` ret *= 1.333; // a little bit of overbright +comp_20=`} diff --git a/presets/presets_milkdrop_200/Illusion - Heavenly Eye - radial blur.milk b/presets/presets_milkdrop_200/Illusion - Heavenly Eye - radial blur.milk new file mode 100755 index 0000000000..7c9ecf9bec --- /dev/null +++ b/presets/presets_milkdrop_200/Illusion - Heavenly Eye - radial blur.milk @@ -0,0 +1,247 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.5 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.151736 +fWaveSmoothing=0.1 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=8.0 +fWarpScale=1.331000 +fZoomExponent=15.0 +fShader=0.0 +zoom=1.280549 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.012485 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_pixel_1=zoom=(zoom-1)*rad+1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // Really smooth RADIAL BLUR: +warp_4=` float2 v1 = normalize(uv - 0.5); +warp_5=` //float2 v1 = float2(3,0); // or for an aggressive horiz. blur +warp_6=` //float2 v1 = normalize(uv - 0.5).yx * float2(-1,1) * 2; +warp_7=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 +warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 +warp_9=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 +warp_10=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 +warp_11=` ) - 0.013; +warp_12=`} +warp_13=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Ishan - Anuera.milk b/presets/presets_milkdrop_200/Ishan - Anuera.milk new file mode 100755 index 0000000000..fabef8471b --- /dev/null +++ b/presets/presets_milkdrop_200/Ishan - Anuera.milk @@ -0,0 +1,219 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.700001 +fDecay=0.990000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.256828 +fWaveScale=1.199241 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.1 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.640000 +nMotionVectorsY=12.840000 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=decay=0.5; +per_frame_1=wave_myster=bass_att-1; +per_frame_2=mv_r=sin(1.39+time*1.55)*bass_att; +per_frame_3=mv_g=sin(1.59+time*1.75)*bass_att; +per_frame_4=mv_b=sin(1.79+time*1.95)*bass_att; +per_frame_5=wave_r=mv_g; +per_frame_6=wave_b=mv_r; +per_frame_7=wave_g=mv_b; +per_frame_8=rot=rot+(bass_att-1)*.2; +per_frame_9=decay=if(time%20,.99,.5) +per_pixel_1=dx=sin(sqrt(sqr(x*15)*15))*.01; +per_pixel_2=dy=sin(sqrt(sqr(y*15)*15))*.01; diff --git a/presets/presets_milkdrop_200/Krash + EoS - Photographic Sentinel.milk b/presets/presets_milkdrop_200/Krash + EoS - Photographic Sentinel.milk new file mode 100644 index 0000000000..2c8d1bf4af --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + EoS - Photographic Sentinel.milk @@ -0,0 +1,698 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.990000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.608039 +fWaveSmoothing=0.750000 +fWaveParam=-0.4 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.0 +mv_g=0.7 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=0.7 +wavecode_0_a=1.0 +wave_0_per_frame1=h=q5; +wave_0_per_frame2=s = 0.7; +wave_0_per_frame3=l= 0.8; +wave_0_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_frame5=// +wave_0_per_frame6=// HSL to RGB by PieturP +wave_0_per_frame7=// +wave_0_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_0_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_frame11=// +wave_0_per_frame12=cc=(6*h); +wave_0_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_frame14=zf=(6*h)-cc; +wave_0_per_frame15=zm=l; +wave_0_per_frame16=zp=l*(1-s); +wave_0_per_frame17=zq=l*(1-s*zf); +wave_0_per_frame18=zt=l*(1-s*(1-zf)); +wave_0_per_frame19=monitor=zq; +wave_0_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_frame23=rr=if(equal(s,0),l,rr); +wave_0_per_frame24=gg=if(equal(s,0),l,gg); +wave_0_per_frame25=bb=if(equal(s,0),l,bb); +wave_0_per_frame26= +wave_0_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_frame28=r=rr; +wave_0_per_frame29=g=gg; +wave_0_per_frame30=b=bb; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q4 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=0.9 +wavecode_1_b=0.8 +wavecode_1_a=1.0 +wave_1_per_frame1=h=q5; +wave_1_per_frame2=s = 0.7; +wave_1_per_frame3=l= 0.6; +wave_1_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_1_per_frame5=// +wave_1_per_frame6=// HSL to RGB by PieturP +wave_1_per_frame7=// +wave_1_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_1_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_1_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_1_per_frame11=// +wave_1_per_frame12=cc=(6*h); +wave_1_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_1_per_frame14=zf=(6*h)-cc; +wave_1_per_frame15=zm=l; +wave_1_per_frame16=zp=l*(1-s); +wave_1_per_frame17=zq=l*(1-s*zf); +wave_1_per_frame18=zt=l*(1-s*(1-zf)); +wave_1_per_frame19=monitor=zq; +wave_1_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_1_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_1_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_1_per_frame23=rr=if(equal(s,0),l,rr); +wave_1_per_frame24=gg=if(equal(s,0),l,gg); +wave_1_per_frame25=bb=if(equal(s,0),l,bb); +wave_1_per_frame26= +wave_1_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_1_per_frame28=r=rr; +wave_1_per_frame29=g=gg; +wave_1_per_frame30=b=bb; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q4 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.720000 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_frame1=h=q5; +wave_2_per_frame2=s = 0.8; +wave_2_per_frame3=l= 0.5; +wave_2_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_frame5=// +wave_2_per_frame6=// HSL to RGB by PieturP +wave_2_per_frame7=// +wave_2_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_2_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_2_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_2_per_frame11=// +wave_2_per_frame12=cc=(6*h); +wave_2_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_2_per_frame14=zf=(6*h)-cc; +wave_2_per_frame15=zm=l; +wave_2_per_frame16=zp=l*(1-s); +wave_2_per_frame17=zq=l*(1-s*zf); +wave_2_per_frame18=zt=l*(1-s*(1-zf)); +wave_2_per_frame19=monitor=zq; +wave_2_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_2_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_2_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_2_per_frame23=rr=if(equal(s,0),l,rr); +wave_2_per_frame24=gg=if(equal(s,0),l,gg); +wave_2_per_frame25=bb=if(equal(s,0),l,bb); +wave_2_per_frame26= +wave_2_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_frame28=r=rr; +wave_2_per_frame29=g=gg; +wave_2_per_frame30=b=bb; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q4 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.7 +wavecode_3_b=0.5 +wavecode_3_a=1.0 +wave_3_per_frame1=h=q5; +wave_3_per_frame2=s = 0.75; +wave_3_per_frame3=l= 0.4; +wave_3_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_3_per_frame5=// +wave_3_per_frame6=// HSL to RGB by PieturP +wave_3_per_frame7=// +wave_3_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_3_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_3_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_3_per_frame11=// +wave_3_per_frame12=cc=(6*h); +wave_3_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_3_per_frame14=zf=(6*h)-cc; +wave_3_per_frame15=zm=l; +wave_3_per_frame16=zp=l*(1-s); +wave_3_per_frame17=zq=l*(1-s*zf); +wave_3_per_frame18=zt=l*(1-s*(1-zf)); +wave_3_per_frame19=monitor=zq; +wave_3_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_3_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_3_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_3_per_frame23=rr=if(equal(s,0),l,rr); +wave_3_per_frame24=gg=if(equal(s,0),l,gg); +wave_3_per_frame25=bb=if(equal(s,0),l,bb); +wave_3_per_frame26= +wave_3_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_3_per_frame28=r=rr; +wave_3_per_frame29=g=gg; +wave_3_per_frame30=b=bb; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q4 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.472208 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.503298 +shapecode_0_r=1.0 +shapecode_0_g=0.7 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.699900 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=xpos = if(q1,(rand(4)+1)*0.25-0.125,xpos); +shape_0_per_frame2=ypos = if(q1,(rand(3)+1)*0.333-0.166,ypos); +shape_0_per_frame3=x = xpos; +shape_0_per_frame4=y = ypos; +shape_0_per_frame5=flash = if(q1,0.8,flash-0.1); +shape_0_per_frame6=textured = below(flash,0.5); +shape_0_per_frame7=a = above(flash,0); +shape_0_per_frame8=a2 = above(flash,0); +shape_0_per_frame9=border_a = 0.5*above(flash,0); +shape_0_per_frame10=r = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame11=g = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame12=b = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame13=r2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame14=g2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame15=b2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); +shape_0_per_frame16=border_r = 0.5*above(flash,0); +shape_0_per_frame17=border_g = 0.5*above(flash,0); +shape_0_per_frame18=border_b = 0.5*above(flash,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=wave_a = 0; +per_frame_3= +per_frame_4=//begin beat code +per_frame_5=volume = 0.3*(bass+mid); +per_frame_6=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_7=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_8=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_9=peakbass_att = max(bass_att,peakbass_att); +per_frame_10=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_16=//end beat code +per_frame_17= +per_frame_18=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_19=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_20=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_21=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_22=xpos = xpos + 0.001*xspeed; +per_frame_23=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_24=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_25=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_26=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_27=ypos = ypos + 0.001*yspeed; +per_frame_28=q1 = beat; +per_frame_29=q2 = xpos; +per_frame_30=q3 = ypos; +per_frame_31=q4 = time*0.5; +per_frame_32= +per_frame_33=q5 = 0.25*(sin(time*0.15)+sin(time*0.85))+0.5; +per_frame_34= +per_frame_35=monitor = q5; diff --git a/presets/presets_milkdrop_200/Krash + Illusion + Geiss - Spiral Movement (Reaction Diffusion mix).milk b/presets/presets_milkdrop_200/Krash + Illusion + Geiss - Spiral Movement (Reaction Diffusion mix).milk new file mode 100755 index 0000000000..ae527356c4 --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + Illusion + Geiss - Spiral Movement (Reaction Diffusion mix).milk @@ -0,0 +1,300 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.504 +fWaveSmoothing=0.750 +fWaveParam=0.240 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.0 +zoom=1.02010 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.81954 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.2 +ib_size=0.005 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.060 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=dx=-0.0005; +per_frame_2=dy=-0.0005; +per_frame_3=vol = (bass+mid+att)/6; +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xpos = xpos + 0.001*xspeed; +per_frame_10=wave_x = xpos + 0.5; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = ypos + 0.5; +per_frame_18=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_19=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_20=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_21=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_22=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_23=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_24=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) ); +per_frame_25=warp = warp*vol; +per_frame_26=zoom = zoom - 0.02*zoom*bass_att; +per_frame_27=zoom_exp = 1.5*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_28=ob_a = 1 - 2*vol; +per_frame_29=monitor = zoom_exp; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur1(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.05*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //uv = (uv-0.5)*0.5 + 0.5; +comp_6=` +comp_7=` //ret = max(ret, tex2D(sampler_main, uv).xyz); +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` //ret += (GetBlur1(uv) - blur1_min) * float3(0.7,0.5,1.1)*10; +comp_10=` +comp_11=` //ret = saturate(ret.x*99); +comp_12=`} diff --git a/presets/presets_milkdrop_200/Krash + Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk b/presets/presets_milkdrop_200/Krash + Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk new file mode 100644 index 0000000000..4e043c6045 --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk @@ -0,0 +1,369 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.7 +fDecay=1.0 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999900 +rot=0.1 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.4 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.0 +mv_g=0.7 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=0.8 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=0.7 +wavecode_1_b=0.2 +wavecode_1_a=1.0 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.780000 +wavecode_2_b=0.2 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491381 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.5 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.5 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.791419 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.555953 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x=.5+(above(sin(time),0)*0.2); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.7 +shapecode_3_y=0.7 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.628319 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.999996 +shapecode_3_r=0.970000 +shapecode_3_g=0.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(37/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip; +per_frame_57= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=sy=1.2/newx; +per_pixel_14=zoom=1.1 diff --git a/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Compelling Vision).milk b/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Compelling Vision).milk new file mode 100755 index 0000000000..b9054baf7b --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Compelling Vision).milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=0.999000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.115204 +fWaveScale=1.106638 +fWaveSmoothing=0.0 +fWaveParam=-0.420000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=0.042592 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=0.914340 +sy=0.951466 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=1.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=warp/bass; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=x_wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_5=wave_r = 1 + sin(-x_wave_x*6.28); +per_frame_6=wave_g = abs(sin(2*x_wave_x*6.28)); +per_frame_7=wave_b = sin(x_wave_x*6.28); +per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect*bass_att; +per_frame_11=rot = rot + rot_residual*.5; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=shift = (tan(time*7)) -0.05; +per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 1), rot, sin(1-rad)/2); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*13*float2(0,1)).xzy ); +warp_7=` +warp_8=` // darken (decay) over time +warp_9=` ret = (ret - 0.008)*0.96; +warp_10=`} diff --git a/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb.milk b/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb.milk new file mode 100755 index 0000000000..4911d232dd --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + Rovastar - Rainbow Orb.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.975000 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.108925 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_5=wave_r = 1 + sin(-wave_x*6.28); +per_frame_6=wave_g = abs(sin(2*wave_x*6.28)); +per_frame_7=wave_b = sin(wave_x*6.28); +per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect*1.065; +per_frame_11=rot = rot + rot_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=shift = (tan(time*7)) -0.05; +per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), rot, sin(1-rad)/2); diff --git a/presets/presets_milkdrop_200/Krash + TEcHNO - Rhythmic Mantas - Painterly.milk b/presets/presets_milkdrop_200/Krash + TEcHNO - Rhythmic Mantas - Painterly.milk new file mode 100755 index 0000000000..ea7d7a1eb6 --- /dev/null +++ b/presets/presets_milkdrop_200/Krash + TEcHNO - Rhythmic Mantas - Painterly.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.7 +fDecay=0.995000 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003100 +fWaveScale=1.004873 +fWaveSmoothing=0.0 +fWaveParam=-1.0 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=1.010000 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002083 +fZoomExponent=1.001830 +fShader=1.0 +zoom=0.995048 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.010000 +dy=0.010000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.050000 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=1.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=volume = 0.3*(bass+mid+att); +per_frame_2=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_3=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_5=peakbass_att = max(bass_att,peakbass_att); +per_frame_6=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=mode = if(beat,rand(4),mode); +per_frame_12=q1 = ((time*20)%50)*0.08; +per_frame_13=q2 = 1 - below(mode,2)*2; +per_frame_14=q3 = 1 - 2*(mode%2); +per_frame_15=wave_x = 1-below(mode,2); +per_frame_16=wave_mystery = (frame%2)*(2*(1-equal(mode%3,0))-1); +per_frame_17=wave_r=if(below(frame%6,3),bass*0.5,0); +per_frame_18=wave_b=0.9+sin(time)*0.1; +per_frame_19=wave_g=if(above(frame%6,2),bass*0.5,0); +per_pixel_1=dx = dx*pow(-1,0&(13+q1 - 5*(q2*y)))*min(bass,1.2); +per_pixel_2=dy = dy*pow(-1,0&(13+q1 - 5*(q3*x)))*min(bass,1.2); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.70; //old gamma effect +comp_5=` ret *= hue_shader; //old hue shader effect +comp_6=`} diff --git a/presets/presets_milkdrop_200/Krash - Digital Flame.milk b/presets/presets_milkdrop_200/Krash - Digital Flame.milk new file mode 100755 index 0000000000..77633b88e6 --- /dev/null +++ b/presets/presets_milkdrop_200/Krash - Digital Flame.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.9 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.3697 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=53.523884 +fWarpScale=0.408391 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.6999 +wave_g=0.6 +wave_b=0.8 +wave_x=0 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=q1 = (bass_att + mid_att + treb_att) /3; +per_frame_2=q2 = time + 1000; +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.95+1.4); +per_frame_4=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.85+1.2); +per_frame_5=bass_on = above(bass_thresh,1.9); +per_frame_6=treb_on = above(treb_thresh,1.9); +per_frame_7=swapcolour = bass_on - treb_on; +per_frame_8=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),0.9,0.7)); +per_frame_9=green_aim = if(equal(swapcolour,1),0.7,if(equal(swapcolour,0),0.3,0.6)); +per_frame_10=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.2,0.8)); +per_frame_11=red = red + (red_aim - red)*0.5; +per_frame_12=green = green + (green_aim - green)*0.5; +per_frame_13=blue = blue + (blue_aim - blue)*0.5; +per_frame_14=wave_r = red; +per_frame_15=wave_g = green; +per_frame_16=wave_b = blue; +per_pixel_1=dy = -0.1*(q1-1)*log(2-(abs(y*2 - 1.8))); +per_pixel_2=dy = below(dy,0.02)*dy - 0.02; +per_pixel_3=dy = dy + 0.01*(sin((x*q2*0.483) + (y*q2*1.238)) + sin((x*q2*1.612) + (y*q2*0.648))); diff --git a/presets/presets_milkdrop_200/Krash - Swelling Spiral 2.milk b/presets/presets_milkdrop_200/Krash - Swelling Spiral 2.milk new file mode 100755 index 0000000000..0e6ec21a6e --- /dev/null +++ b/presets/presets_milkdrop_200/Krash - Swelling Spiral 2.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.199999 +fDecay=0.980000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.888676 +fWaveScale=1.228687 +fWaveSmoothing=0.720000 +fWaveParam=0.0 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.001828 +fWarpScale=0.998166 +fZoomExponent=1.347713 +fShader=0.0 +zoom=0.999900 +rot=0.020000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.749001 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=27.0 +nMotionVectorsY=19.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=warp = 0; +per_frame_5=wave_mystery = wave_mystery - 0.5*time; +per_pixel_1=angval = 0.3/sqrt((3.14*tan(ang-time*3))+4); +per_pixel_2=zoom = if( above( rad,0.05 ), if( above( rad/7.8, angval ), if( below( (rad-0.05)/7.8, angval), 1.2, 1 ), if( above( rad/2.8, angval ), if( below( (rad-0.05)/2.8, angval), 1.2, 1 ), if( above( rad/1, angval ), if( below( (rad-0.05)/1, angval), 1.2, 1 ), 1 ) ) ), 1 ); diff --git a/presets/presets_milkdrop_200/Krash - Vinyl Disk.milk b/presets/presets_milkdrop_200/Krash - Vinyl Disk.milk new file mode 100755 index 0000000000..5e85e1136f --- /dev/null +++ b/presets/presets_milkdrop_200/Krash - Vinyl Disk.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.975 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.054279 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.25*(0.6*sin(0.784*time) + 0.4*sin(0.986*time)); +per_frame_3=wave_g = wave_g + 0.25*(0.6*sin(0.671*time) + 0.4*sin(1.164*time)); +per_frame_4=wave_b = wave_b + 0.25*(0.6*sin(1.423*time) + 0.4*sin(0.687*time)); +per_frame_5=bass_effect = if(above(bass_att,1.4),pow(1.1,bass_att),1); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.97,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),bass_effect,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05); diff --git a/presets/presets_milkdrop_200/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_milkdrop_200/Krash - War Machine (Shifting Complexity Mix).milk new file mode 100755 index 0000000000..0b29d6d8b3 --- /dev/null +++ b/presets/presets_milkdrop_200/Krash - War Machine (Shifting Complexity Mix).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.999996 +fWaveSmoothing=0.75 +fWaveParam=-0.4999 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9999 +rot=0.1 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.8 +wave_g=0.2 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.1 +ib_size=0.5 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_5=ob_r = above(bass_att,bass)*(bass_att-bass)*4; +per_frame_6=volume = 0.3*(bass+mid+att); +per_frame_7=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_8=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = max(bass_att,peakbass_att); +per_frame_11=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_16=beatcounter = beatcounter + beat; +per_frame_17=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_18=mode2 = if(beat,(mode2 + rand(7) + 1)%8,mode2); +per_frame_19=mode3 = if(beat,(mode3 + rand(7) + 1)%8,mode3); +per_frame_20=q1 = 2*mode-1; +per_frame_21=q2 = mode2 + 2; +per_frame_22=q3 = 1/q2; +per_frame_23=q4 = mode3 + 2; +per_frame_24=q5 = 1/q4; +per_frame_25=wave_x = (rand(q2)+0.5)*q3; +per_frame_26=wave_y = (rand(q4)+0.5)*q5; +per_frame_27=decay = decay - 0.1*equal(frame%50,0); +per_pixel_1=cx = ((0&(x*q2-0.5))+0.5)*q3; +per_pixel_2=cy = ((0&(y*q4-0.5))+0.5)*q5; +per_pixel_3=rot = rot*pow(-1,(0&(x*q2-0.5)) + (0&(y*q4-0.5)))*q1; diff --git a/presets/presets_milkdrop_200/Mstress + Zylot - Acid UFO.milk b/presets/presets_milkdrop_200/Mstress + Zylot - Acid UFO.milk new file mode 100755 index 0000000000..8514b13ba6 --- /dev/null +++ b/presets/presets_milkdrop_200/Mstress + Zylot - Acid UFO.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.980001 +fDecay=0.99 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.179297 +fWaveScale=0.491915 +fWaveSmoothing=0.216 +fWaveParam=-0.42 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.001829 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999005 +sy=0.999005 +wave_r=0.77 +wave_g=0.6 +wave_b=0.6 +wave_x=0.42 +wave_y=0.5 +ob_size=0.02 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.250001 +ib_size=0.155 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.27 +nMotionVectorsX=30.079998 +nMotionVectorsY=0 +mv_dx=0.32 +mv_dy=0.42 +mv_l=3.199998 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = min(1,max(0,0.3*bass)); +per_frame_3=wave_g = min(1,max(0,0.3*mid)); +per_frame_4=wave_b = min(1,max(0,0.3*treb)); +per_frame_5= +per_frame_6=//Thanks to Zylot for rainbow generator +per_frame_7=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_8=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_9=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_10=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_11=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_12=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_13=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_14=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_15= +per_frame_16=mbass=max(bass_att,3); +per_frame_17=xmovn = 0.1*rand(10)*mbass*0.015*(1-2*above(rand(10),5)); +per_frame_18=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(rand(10),5)); +per_frame_19=//ymovn=.05; +per_frame_20=xmov = if(beat,xmovn,xmov*.9); +per_frame_21=ymov = if(beat,ymovn,ymov*.9); +per_frame_22=q1=oldx; +per_frame_23=q2=oldy; +per_frame_24=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); +per_frame_25=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); +per_frame_26=xmov = xmov + (-2*xmov*out_x); +per_frame_27=ymov = ymov + (-2*ymov*out_y); +per_frame_28=wave_x = q1+xmov ; +per_frame_29=wave_y = q2+ymov; +per_frame_30=q1=wave_x; +per_frame_31=q2=wave_y; +per_frame_32=oldx = q1; +per_frame_33=oldy = q2; +per_frame_34= +per_frame_35=decay = decay - 0.91*(treble); +per_frame_36= +per_frame_37=//Thanks to krash for beat detection (modified) +per_frame_38=volume = 0.3*bass+mid; +per_frame_39=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_40=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_41=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_42=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_43=peakbass_att = max(bass_att,peakbass_att); +per_frame_44=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_49=q3=volume+treb; +per_frame_50=monitor =meanbass_att; +per_pixel_1=mx= x-q1; +per_pixel_2=my = y-(1-q2); +per_pixel_3=mrad = pow(pow(mx,2)+pow(my,2),0.5)*pow(2,0.5); +per_pixel_4=cx = q1; +per_pixel_5=cy = 1-q2; +per_pixel_6=rot= rot + below(mrad-0.18,0)*0.5*sin(mrad*40)*(mrad-0.1)*40- above(mrad-0.18,0)*0.3*sin(mrad*2)*(mrad-0.1)*sin((cx-0.5)*(cy-0.5)*6.28)*q3; +per_pixel_7=zoom= zoom - above(mrad-0.18,0)*0.05*mrad*q3; +per_pixel_8=dx = dx +below(mrad-0.18,0)*0.015*(mx/mrad); +per_pixel_9=dy = dy +below(mrad-0.18,0)*0.015*(my/mrad); +per_frame_init_1=oldx=.5; +per_frame_init_2=oldy=.5; diff --git a/presets/presets_milkdrop_200/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk b/presets/presets_milkdrop_200/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk new file mode 100755 index 0000000000..7fddfb0504 --- /dev/null +++ b/presets/presets_milkdrop_200/Mstress - Acoustic Nerve Impulses (Primary Colors Of Sound Mix).milk @@ -0,0 +1,285 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.885000 +fVideoEchoZoom=1.100300 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=1.000509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000022 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.700000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.605600 +shapecode_0_ang=6.031858 +shapecode_0_tex_ang=5.780530 +shapecode_0_tex_zoom=0.493380 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=flag1=int(abs(flag1-q1)); +shape_0_per_frame2=flag=int(abs(flag-q1*flag1)); +shape_0_per_frame3=ang =ang +if(flag,0,-.4)+abs(sin(bass))*.4*if(flag,1,-1); +shape_0_per_frame4= +shape_0_per_frame5=x=x+sin(time*.7)*.06; +shape_0_per_frame6=y=y+sin(time*.5)*.06; +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=45 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.290000 +shapecode_1_y=0.660000 +shapecode_1_rad=0.230671 +shapecode_1_ang=5.403541 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_1_per_frame2=bassdiff = (bass - meanbass)*15; +shape_1_per_frame3=bassdiff = above(bassdiff,0)*bassdiff; +shape_1_per_frame4= +shape_1_per_frame5=g = min(1,max(0,0.05*bassdiff)); +shape_1_per_frame6=b = min(1,max(0,0.2*bassdiff)); +shape_1_per_frame7=r = min(1,max(0,0.05*bassdiff)); +shape_1_per_frame8=g2 = min(1,max(0,0.025*bassdiff)); +shape_1_per_frame9=b2 = min(1,max(0,0.1*bassdiff)); +shape_1_per_frame10=r2 = min(1,max(0,0.025*bassdiff)); +shape_1_per_frame11= +shape_1_per_frame12=x=x+sin(time*.7)*.06; +shape_1_per_frame13=y=y+sin(time*.5)*.06; +shape_1_per_frame14= +shape_1_per_frame15=//ang =sin(time); +shape_1_per_frame16=//rad=rad-.4+.05*bass; +shapecode_2_enabled=1 +shapecode_2_sides=45 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.750000 +shapecode_2_y=0.670000 +shapecode_2_rad=0.230671 +shapecode_2_ang=5.403541 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=meantreb = 0.01*(meantreb*99+treb); +shape_2_per_frame2=trebdiff = (treb - meantreb)*15; +shape_2_per_frame3=trebdiff = above(trebdiff,0)*trebdiff; +shape_2_per_frame4= +shape_2_per_frame5=r = min(1,max(0,0.2*trebdiff)); +shape_2_per_frame6=g = min(1,max(0,0.05*trebdiff)); +shape_2_per_frame7=b = min(1,max(0,0.05*trebdiff)); +shape_2_per_frame8=r2 = min(1,max(0,0.1*trebdiff)); +shape_2_per_frame9=g2 = min(1,max(0,0.025*trebdiff)); +shape_2_per_frame10=b2 = min(1,max(0,0.025*trebdiff)); +shape_2_per_frame11= +shape_2_per_frame12=x=x+sin(time*.7)*.06; +shape_2_per_frame13=y=y+sin(time*.5)*.06; +shape_2_per_frame14= +shape_2_per_frame15=//ang =sin(time); +shape_2_per_frame16=//rad=rad-.4+.05*bass; +shapecode_3_enabled=1 +shapecode_3_sides=45 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.560000 +shapecode_3_y=0.210000 +shapecode_3_rad=0.230671 +shapecode_3_ang=5.403541 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.400000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=meanmid = 0.01*(meanmid*99+mid); +shape_3_per_frame2=middiff = (mid - meanmid)*15; +shape_3_per_frame3=middiff = above(middiff,0)*middiff; +shape_3_per_frame4= +shape_3_per_frame5=g = min(1,max(0,0.2*middiff)); +shape_3_per_frame6=r = min(1,max(0,0.05*middiff)); +shape_3_per_frame7=b = min(1,max(0,0.05*middiff)); +shape_3_per_frame8=g2 = min(1,max(0,0.2*middiff)); +shape_3_per_frame9=r2 = min(1,max(0,0.025*middiff)); +shape_3_per_frame10=b2 = min(1,max(0,0.025*middiff)); +shape_3_per_frame11= +shape_3_per_frame12=x=x+sin(time*.7)*.06; +shape_3_per_frame13=y=y+sin(time*.5)*.06; +shape_3_per_frame14= +shape_3_per_frame15=//ang =sin(time); +shape_3_per_frame16=//rad=rad-.4+.05*bass; +per_frame_init_1=oldy=.4; +per_frame_1= +per_frame_2=//Thanks to krash for beat detection (modified) +per_frame_3=volume = 0.3*bass+mid; +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_8=peakbass_att = max(bass_att,peakbass_att); +per_frame_9=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_10=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_11=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_12=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_13=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_14=q1 = beat; diff --git a/presets/presets_milkdrop_200/ORB - Acid Cycle Gas Giant.milk b/presets/presets_milkdrop_200/ORB - Acid Cycle Gas Giant.milk new file mode 100755 index 0000000000..1403bfbdee --- /dev/null +++ b/presets/presets_milkdrop_200/ORB - Acid Cycle Gas Giant.milk @@ -0,0 +1,380 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.266718 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.160000 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,5),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,5),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=state = state + above(diff,10); +per_frame_44=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_45=q8 = spintime; +per_frame_46= +per_frame_47=state2 = state2 + above(diff,10); +per_frame_48=state2 = if(above(state2,10),1,state2); +per_frame_49=q9 = state2; +per_frame_50= +per_frame_51=monitor = state2; +per_pixel_1=zoom = 1.05 - q3*0.05; +per_pixel_2=rot = sin(rad)*0.01; +per_pixel_3=warp = 2*zoom*rad; +per_pixel_4= +per_pixel_5= +per_pixel_6=//rules +per_pixel_7=fuzzy1 = x; +per_pixel_8=fuzzy3 = x-1; +per_pixel_9=fuzzy2 = y; +per_pixel_10=fuzzy4 = y-1; +per_pixel_11= +per_pixel_12=//activations approx sawtooth with sin curve +per_pixel_13=f1 = sin(q2 - 1.5707); +per_pixel_14=f2 = sin(q2); +per_pixel_15=f3 = sin(q2 + 1.5707); +per_pixel_16=f4 = sin(q2 + 3.14); +per_pixel_17= +per_pixel_18=//take only values above zero +per_pixel_19=f1 = f1*above(f1,0); +per_pixel_20=f2 = f2*above(f2,0); +per_pixel_21=f3 = f3*above(f3,0); +per_pixel_22=f4 = f4*above(f4,0); +per_pixel_23= +per_pixel_24=//sum rule ativations +per_pixel_25=sum_fuzzy = fuzzy1*f1 + fuzzy2*f2 - fuzzy3*f3 - fuzzy4*f4; +per_pixel_26=sum_fuzzy = cos(sum_fuzzy)*1.2; +per_pixel_27= +per_pixel_28=zoom = 1 + sum_fuzzy*0.05; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` +warp_5=` +warp_6=` float3 output1 = tex2D( sampler_main, (uv-0.5)*0.99 + 0.5).xyz; +warp_7=` float3 output2 = tex2D( sampler_main, uv).xyz; +warp_8=` +warp_9=` ret = normalize(output1*0.1 + output2*0.9); +warp_10=` // darken (decay) over time +warp_11=` ret *= 1.04; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_milkdrop_200/ORB - Acid Cycle.milk b/presets/presets_milkdrop_200/ORB - Acid Cycle.milk new file mode 100755 index 0000000000..eb545b8de4 --- /dev/null +++ b/presets/presets_milkdrop_200/ORB - Acid Cycle.milk @@ -0,0 +1,355 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.266718 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.160000 +rot=-0.040000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,2); +shape_0_per_frame4=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.25 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` float2 delta2 = texsize.zw*float2(-q3,q3); +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.004; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.6; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2).xyz*0.4; +comp_18=` ret *= 2.00; //gamma +comp_19=` ret = (1 - ret*(1-ret)*4)*0.6; //invert +comp_20=`} diff --git a/presets/presets_milkdrop_200/ORB - Fire and Fumes 2.milk b/presets/presets_milkdrop_200/ORB - Fire and Fumes 2.milk new file mode 100755 index 0000000000..d02bf923be --- /dev/null +++ b/presets/presets_milkdrop_200/ORB - Fire and Fumes 2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.033004 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.970000 +rot=-6.279995 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.931000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=1 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=u = (cos(q1*0.1))*3.14159; +wave_0_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_0_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_0_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_0_per_point10= +wave_0_per_point11=//rotate x axis +wave_0_per_point12=angle = q1*0.1; +wave_0_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point15=xx = xs; +wave_0_per_point16= +wave_0_per_point17=//rotate y axis +wave_0_per_point18=angle2 = q1*0.11; +wave_0_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point21=yd = yx; +wave_0_per_point22= +wave_0_per_point23=//rotaye z axis +wave_0_per_point24=angle3 = q1*0.15; +wave_0_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point27= +wave_0_per_point28=zd = zd; +wave_0_per_point29= +wave_0_per_point30=x = xn*zd*0.3 + 0.5; +wave_0_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_0_per_point32= +wave_0_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=1 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=u = (cos(q1*0.1))*3.14159; +wave_1_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_1_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_1_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_1_per_point10= +wave_1_per_point11=//rotate x axis +wave_1_per_point12=angle = q1*0.1; +wave_1_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point15=xx = xs; +wave_1_per_point16= +wave_1_per_point17=//rotate y axis +wave_1_per_point18=angle2 = q1*0.13; +wave_1_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point21=yd = yx; +wave_1_per_point22= +wave_1_per_point23=//rotaye z axis +wave_1_per_point24=angle3 = q1*0.16; +wave_1_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point27= +wave_1_per_point28=zd = zd; +wave_1_per_point29= +wave_1_per_point30=x = xn*zd*0.3 + 0.5; +wave_1_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_1_per_point32= +wave_1_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=1 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=u = (cos(q1*0.1))*3.14159; +wave_2_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14*100; +wave_2_per_point4=ss = sample*6.28*1000; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_2_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_2_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_2_per_point10= +wave_2_per_point11=//rotate x axis +wave_2_per_point12=angle = q1*0.1; +wave_2_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point15=xx = xs; +wave_2_per_point16= +wave_2_per_point17=//rotate y axis +wave_2_per_point18=angle2 = q1*0.16; +wave_2_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point21=yd = yx; +wave_2_per_point22= +wave_2_per_point23=//rotaye z axis +wave_2_per_point24=angle3 = q1*0.16; +wave_2_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point27= +wave_2_per_point28=zd = zd; +wave_2_per_point29= +wave_2_per_point30=x = xn*zd*0.3 + 0.5; +wave_2_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_2_per_point32= +wave_2_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=1 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*3.14*100; +wave_3_per_point4=ss = sample*6.28*1000; +wave_3_per_point5= +wave_3_per_point6=//draw +wave_3_per_point7=xs = (0.5 + 0.01*cos(s))*cos(ss); +wave_3_per_point8=ys = (0.5 + 0.01*cos(s))*sin(ss); +wave_3_per_point9=zs = 0.5*sin(s); +wave_3_per_point10= +wave_3_per_point11=//rotate x axis +wave_3_per_point12=angle = q1*0.1; +wave_3_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point15=xx = xs; +wave_3_per_point16= +wave_3_per_point17=//rotate y axis +wave_3_per_point18=angle2 = q1*0.14; +wave_3_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point21=yd = yx; +wave_3_per_point22= +wave_3_per_point23=//rotaye z axis +wave_3_per_point24=angle3 = q1*0.15; +wave_3_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point27= +wave_3_per_point28=zd = zd + 2; +wave_3_per_point29= +wave_3_per_point30=x = xn*zd*0.3 + 0.5; +wave_3_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_3_per_point32= +wave_3_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point35=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.5 +shapecode_0_tex_cy=0.5 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.000300 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.45); +shape_0_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.578); +shape_0_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.789); +shape_0_per_frame4= +shape_0_per_frame5= +shape_0_per_frame6=x = 0.5 + 0.2*sin(q2*1.2); +shape_0_per_frame7=y = 0.5 + 0.2*sin(q2*0.78); +shape_0_per_frame8= +shape_0_per_frame9=ang = q2*0.899; +shape_0_per_frame10=tex_capture = above(q3,2); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=0 +shapecode_1_tex_cx=0.5 +shapecode_1_tex_cy=0.5 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.742182 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=0.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=1.0 +shape_1_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.45); +shape_1_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.678); +shape_1_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.689); +shape_1_per_frame4= +shape_1_per_frame5= +shape_1_per_frame6=x = 0.5 + 0.2*sin(q2*0.899); +shape_1_per_frame7=y = 0.5 + 0.2*sin(q2*0.95); +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shape_1_per_frame11=ang = -q2*1.05; +shape_1_per_frame12=tex_capture = above(q3,2); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=0 +shapecode_2_tex_cx=0.5 +shapecode_2_tex_cy=0.5 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.498489 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=0.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.35); +shape_2_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.578); +shape_2_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.689); +shape_2_per_frame4= +shape_2_per_frame5=x = 0.5 + 0.2*sin(q2); +shape_2_per_frame6=y = 0.5 + 0.2*sin(q2*0.89); +shape_2_per_frame7= +shape_2_per_frame8= +shape_2_per_frame9=ang = q2; +shape_2_per_frame10=tex_capture = above(q3,2); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.5 +shapecode_3_tex_cy=0.5 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=3.254462 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=0.3 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.4 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1= +shape_3_per_frame2=tex_capture = above(q3,2); +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=q1 = basstime*4; +per_frame_3= +per_frame_4=//start in most active range +per_frame_5=basstime = if(below(basstime,1000),1000,basstime); +per_frame_6=//basstime = if(above(basstime,495),450,basstime); +per_frame_7= +per_frame_8=basstime = basstime + bass_att*0.03; +per_frame_9=vol = pow(bass+mid+treb,2); +per_frame_10=basssum = vol; +per_frame_11= +per_frame_12=stickybit = time%2; +per_frame_13= +per_frame_14=//avg vol +per_frame_15=//buffer 1 +per_frame_16=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_17=//number of samples 1 or framerate +per_frame_18=sample1 = sample1 + equal(stickybit,1); +per_frame_19=//buffer 2 +per_frame_20=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_21=//number of samples 2 +per_frame_22=sample2 = sample2 + equal(stickybit,0); +per_frame_23= +per_frame_24=//transision +per_frame_25=edge = bnot(equal(bit2,stickybit)); +per_frame_26= +per_frame_27=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_28=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_29= +per_frame_30=sample1 = sample1 - sample1*edge*stickybit; +per_frame_31=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_32= +per_frame_33=//test vol against avg buffer lvl +per_frame_34=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_35=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_36= +per_frame_37=q3 = diff; +per_frame_38= +per_frame_39=bit2 = time%2; +per_frame_40= +per_frame_41=difftime = difftime + diff*0.03; +per_frame_42=q2 = difftime; +per_frame_43= +per_frame_44=//fix a strange error +per_frame_45=difftime = if(above(difftime,2000),0, difftime); +per_frame_46= +per_frame_47=monitor = q3; +per_frame_48= +per_frame_49= +per_pixel_1=zoom = 1;// + 0.05*q3*rad; +per_pixel_2= +per_pixel_3=decay_r =1;// 0.2*x*y*sin(q2*0.35) + 0.85 + 0.1*sin(q2); +per_pixel_4=decay_g = 1;//0.2*y*sin(q2*0.5) + 0.85 + 0.1*sin(0.7*q2); +per_pixel_5=decay_b = 1;//0.2*x*sin(q2*0.4) + 0.85 + 0.1*sin(0.8*q2); +per_pixel_6= +per_pixel_7=warp = 1; +per_pixel_8= +per_pixel_9=rot = 0; diff --git a/presets/presets_milkdrop_200/ORB - Liquid Fire.milk b/presets/presets_milkdrop_200/ORB - Liquid Fire.milk new file mode 100755 index 0000000000..27e35faec8 --- /dev/null +++ b/presets/presets_milkdrop_200/ORB - Liquid Fire.milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.388415 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.325446 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=-0.220000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.4 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.0 +ib_r=1.0 +ib_g=1.0 +ib_b=1.0 +ib_a=1.0 +nMotionVectorsX=44.799995 +nMotionVectorsY=24.000004 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.2; +wave_0_per_point6=v = sample*100000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_0_per_point14= +wave_0_per_point15=x = x; +wave_0_per_point16=y = y; +wave_0_per_point17=y = y; +wave_0_per_point18= +wave_0_per_point19=//r = 0.5 + 0.5*sin(time*1.22) + 0.1; +wave_0_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_0_per_point21=//b = 0.4 + 0.4*sin(time*1.959); +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=//q1 = state; +wave_1_per_point2=//q2 = basstime; +wave_1_per_point3= +wave_1_per_point4=q1 = 0; +wave_1_per_point5=speed = bass_att*0.2; +wave_1_per_point6=v = sample*100000 + value2*bass*0.1; +wave_1_per_point7= +wave_1_per_point8=//state 0 elipse +wave_1_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_1_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_1_per_point11= +wave_1_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 0.7); +wave_1_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 0.7); +wave_1_per_point14= +wave_1_per_point15=x = x; +wave_1_per_point16=y = y; +wave_1_per_point17=y = y; +wave_1_per_point18= +wave_1_per_point19=//r = 0.5 + 0.5*sin(time*1.4) + 0.1; +wave_1_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_1_per_point21=//b = 0.4 + 0.4*sin(time*1.259); +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=//q1 = state; +wave_2_per_point2=//q2 = basstime; +wave_2_per_point3= +wave_2_per_point4=q1 = 0; +wave_2_per_point5=speed = bass_att*0.2; +wave_2_per_point6=v = sample*100000 + value2*bass*0.1; +wave_2_per_point7= +wave_2_per_point8=//state 0 elipse +wave_2_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_2_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_2_per_point11= +wave_2_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 1.4); +wave_2_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 1.4); +wave_2_per_point14= +wave_2_per_point15=x = x; +wave_2_per_point16=y = y; +wave_2_per_point17=y = y; +wave_2_per_point18= +wave_2_per_point19=//r = 0.5 + 0.5*sin(time*1.4674) + 0.1; +wave_2_per_point20=g = 1;//0.4 + 0.4*sin(time*1.807) + x; +wave_2_per_point21=//b = 0.4 + 0.4*sin(time*1.359); +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=speed = bass*0.1; +wave_3_per_point2=v = sample*10000 + value2*bass*0.1; +wave_3_per_point3= +wave_3_per_point4=//state 0 elipse +wave_3_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point7= +wave_3_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point10= +wave_3_per_point11=y = y - sample*0.1; +wave_3_per_point12= +wave_3_per_point13=x = x*0.6 + 0.2; +wave_3_per_point14=y = y + bass*0.1; +wave_3_per_point15=y = y*0.8; +wave_3_per_point16= +wave_3_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_3_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_3_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_3_per_point20= +wave_3_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point22=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.667100 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.274246 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.1 +shapecode_0_r2=1.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.4 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=tex_capture = q1; +shape_0_per_frame2= +shape_0_per_frame3=saw = saw - 0.001*bass; +shape_0_per_frame4=saw = if(below(saw,0.2),0.6,saw); +shape_0_per_frame5= +shape_0_per_frame6=tex_zoom = saw; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=2.667100 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.274246 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.1 +shapecode_1_r2=1.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.4 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.1 +shape_1_per_frame1=tex_capture = q1; +shape_1_per_frame2= +shape_1_per_frame3=saw = saw - 0.001*bass; +shape_1_per_frame4=saw = if(below(saw,0.1),0.6,saw); +shape_1_per_frame5= +shape_1_per_frame6=tex_zoom = saw; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=2.667177 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.369642 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.1 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.4 +shapecode_2_border_r=1.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.667177 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.302938 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.4 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=//5 frame texture buffer +per_frame_2= +per_frame_3=dx = 0.0; +per_frame_4= +per_frame_5=basstime = basstime + bass*0.13; +per_frame_6=q5 = basstime; +per_frame_7= +per_frame_8=decay_r = 0; +per_frame_9=decay_g = 0; +per_frame_10=decay_b = 0; +per_frame_11= +per_frame_12= +per_frame_13=ob_r = 0.5 + 0.5*sin(basstime*0.22); +per_frame_14=ob_g = 0.5 + 0.5*sin(time*0.307); +per_frame_15=ob_b = 0.5 + 0.5*sin(time*0.112); +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=monitor = q1; +per_pixel_1=zoom = 1.05; +per_pixel_2=rot = 0; +per_pixel_3= +per_pixel_4=dx = 0; +per_pixel_5=dy = 0; +per_pixel_6= +per_pixel_7=warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += tex2D(sampler_fc_main, GetBlur3(uv)*2).xyz; +comp_5=` //ret += tex2D(sampler_fw_main, uv).xyz; +comp_6=` +comp_7=` +comp_8=` ret *= 2.00; //gamma +comp_9=` ret *= ret - ret*0.2; //darken +comp_10=`} diff --git a/presets/presets_milkdrop_200/ORB - Supernova Meltdown.milk b/presets/presets_milkdrop_200/ORB - Supernova Meltdown.milk new file mode 100755 index 0000000000..db32e9e334 --- /dev/null +++ b/presets/presets_milkdrop_200/ORB - Supernova Meltdown.milk @@ -0,0 +1,534 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.960000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_0_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_0_per_point9=zs = 0.5*cos(s); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=//rotate x axis +wave_0_per_point13=angle = sin(q1*0.015)*6.28; +wave_0_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point16=xx = xs; +wave_0_per_point17= +wave_0_per_point18=//rotate y axis +wave_0_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_0_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point22=yd = yx; +wave_0_per_point23= +wave_0_per_point24=//rotaye z axis +wave_0_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_0_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point28= +wave_0_per_point29=//scale +wave_0_per_point30=k = 5; +wave_0_per_point31= +wave_0_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_0_per_point33=xnorm = norm*xn; +wave_0_per_point34=ynorm = norm*yn; +wave_0_per_point35=znrom = norm*zd; +wave_0_per_point36= +wave_0_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_0_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_0_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_0_per_point40= +wave_0_per_point41=zd = zd + 2; +wave_0_per_point42= +wave_0_per_point43=x = xs*zd*0.1 + 0.5; +wave_0_per_point44=y = ys*zd*0.1*1.2 + 0.5; +wave_0_per_point45= +wave_0_per_point46= +wave_0_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point48=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=0.5 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_1_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_1_per_point9=zs = 0.5*cos(s); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=//rotate x axis +wave_1_per_point13=angle = sin(q1*0.015)*6.28; +wave_1_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point16=xx = xs; +wave_1_per_point17= +wave_1_per_point18=//rotate y axis +wave_1_per_point19=angle2 = sin(q1*0.05)*6.28; +wave_1_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point22=yd = yx; +wave_1_per_point23= +wave_1_per_point24=//rotaye z axis +wave_1_per_point25=angle3 = sin(q1*0.022)*6.28; +wave_1_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point28= +wave_1_per_point29=//scale +wave_1_per_point30=k = 1; +wave_1_per_point31= +wave_1_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_1_per_point33=xnorm = norm*xn; +wave_1_per_point34=ynorm = norm*yn; +wave_1_per_point35=znrom = norm*zd; +wave_1_per_point36= +wave_1_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_1_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_1_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_1_per_point40= +wave_1_per_point41=zd = zd + 2; +wave_1_per_point42= +wave_1_per_point43=x = xs*zd*0.10 + 0.5; +wave_1_per_point44=y = ys*zd*0.10*1.2 + 0.5; +wave_1_per_point45= +wave_1_per_point46= +wave_1_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point48=g = 0.5 + 0.5*sin(q1*1.25 + x + y); +wave_1_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=0.5 +wave_2_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_2_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14*100; +wave_2_per_point4=ss = sample*6.28*1000; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_2_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_2_per_point9=zs = 0.5*cos(s); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=//rotate x axis +wave_2_per_point13=angle = sin(q1*0.015)*6.28; +wave_2_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point16=xx = xs; +wave_2_per_point17= +wave_2_per_point18=//rotate y axis +wave_2_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_2_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point22=yd = yx; +wave_2_per_point23= +wave_2_per_point24=//rotaye z axis +wave_2_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_2_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point28= +wave_2_per_point29=//scale +wave_2_per_point30=k = 5; +wave_2_per_point31= +wave_2_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_2_per_point33=xnorm = norm*xn; +wave_2_per_point34=ynorm = norm*yn; +wave_2_per_point35=znrom = norm*zd; +wave_2_per_point36= +wave_2_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_2_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_2_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_2_per_point40= +wave_2_per_point41=zd = zd + 2; +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44= +wave_2_per_point45=x = -xs*zd*0.1 + 0.5; +wave_2_per_point46=y = ys*zd*0.1*1.2 + 0.5; +wave_2_per_point47= +wave_2_per_point48= +wave_2_per_point49=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point50=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point51=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=0.5 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*20; +wave_3_per_point4= +wave_3_per_point5=//draw +wave_3_per_point6=xs = 0.5*sin(s)*cos(s*v); +wave_3_per_point7=ys = 0.5*sin(s)*sin(s*v); +wave_3_per_point8=zs = 0.5*sin(u); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=//plot x,y,z to point on circle +wave_3_per_point12=//smp=sample*6.283; +wave_3_per_point13=//xp=sin(smp )*0.30; +wave_3_per_point14=//yp=cos(smp )*0.30; +wave_3_per_point15=//zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=//alter shape; +wave_3_per_point19=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_3_per_point20=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point21=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point22=//xp=xq; +wave_3_per_point23=//zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=//rotate on y axis; +wave_3_per_point28=//angy=t1*0.1; +wave_3_per_point29=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point30=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point31=//xp=xq; +wave_3_per_point32=//zp=zq; +wave_3_per_point33= +wave_3_per_point34=//rotate on x axis +wave_3_per_point35=//axs1 = sin(t1*0.15) + 1.6; +wave_3_per_point36=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point37=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point38=//yp=yq; +wave_3_per_point39=//zp=zq; +wave_3_per_point40= +wave_3_per_point41=//rotate on y axis again +wave_3_per_point42=//axs2 = sin(t1*0.1)*3.3; +wave_3_per_point43=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point44=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point45=//xp=xq; +wave_3_per_point46=//zp=zq; +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50= +wave_3_per_point51=//rotate x axis +wave_3_per_point52=angle = sin(q1*0.15 - 1.57); +wave_3_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point55=xx = xs; +wave_3_per_point56= +wave_3_per_point57=//rotate y axis +wave_3_per_point58=//angle2 = sin(q1*0.2 - 1.57); +wave_3_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point61=yd = yx; +wave_3_per_point62= +wave_3_per_point63= +wave_3_per_point64=x = xd*zd + 0.5; +wave_3_per_point65=y = yd*zd + 0.5; +wave_3_per_point66= +wave_3_per_point67= +wave_3_per_point68=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point69=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point70=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.185871 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.4 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=tex_capture = above(q3,1); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=2.185871 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.4 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=basstime2 = basstime + bass*0.03; +per_frame_3=q1 = basstime2; +per_frame_4= +per_frame_5=//start in most active range +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7=//basstime = if(above(basstime,495),450,basstime); +per_frame_8= +per_frame_9=basstime = basstime + bass_att*0.03; +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = diff; +per_frame_39= +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=difftime = difftime + diff*0.03; +per_frame_43=q2 = difftime; +per_frame_44= +per_frame_45=//fix a strange error +per_frame_46=difftime = if(above(difftime,2000),0, difftime); +per_frame_47= +per_frame_48=monitor = abs(cos(time))*3.14; +per_frame_49= +per_frame_50=rarr = rand(100)*0.01; +per_frame_51= +per_frame_52=decay_r = 0.5 + 0.2*(abs(sin(diff+rarr))); +per_frame_53=decay_g = 0.5 + 0.25*(abs(cos(diff+rarr))); +per_frame_54=decay_b = 0.5 + 0.30*(abs(atan(diff+rarr))); +per_frame_55= +per_frame_56= +per_frame_57=//compute unit vec to scale on +per_frame_58=xxx = sin(difftime*0.89); +per_frame_59=yyy = sin(difftime*0.99); +per_frame_60=zzz = sin(difftime*0.74); +per_frame_61= +per_frame_62=//normalise +per_frame_63=norm = 1/sqrt(xxx*xxx + yyy*yyy + zzz*zzz); +per_frame_64=xxx = xxx*norm; +per_frame_65=yyy = yyy*norm; +per_frame_66=zzz = zzz*norm; +per_frame_67= +per_frame_68=monitor = ZZZ; +per_frame_69= +per_frame_70=q5 = xxx; +per_frame_71=q6 = yyy; +per_frame_72=q7 = zzz; +per_pixel_1=zoom = 1 + 0.05*q3; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.8; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.000*float2(1,-1) + 0.5; +comp_4=` float3 value = lerp( tex2D(sampler_main, (uv)).xyz, +comp_5=` tex2D(sampler_main, (uv_echo)).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` float3 value2 = lerp( tex2D(sampler_main, GetBlur1(uv)).xyz, +comp_9=` tex2D(sampler_main, GetBlur1(uv_echo)).xyz, +comp_10=` 0.50 +comp_11=` )*0.5; //video echo +comp_12=` ret = (value + value2); +comp_13=` +comp_14=` ret = ret*2.00*ret; //gamma +comp_15=`} diff --git a/presets/presets_milkdrop_200/Phat + EoS - Data_swimmer.milk b/presets/presets_milkdrop_200/Phat + EoS - Data_swimmer.milk new file mode 100644 index 0000000000..688f06ee9a --- /dev/null +++ b/presets/presets_milkdrop_200/Phat + EoS - Data_swimmer.milk @@ -0,0 +1,355 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.30; +wave_0_per_point4=yp=cos(smp )*0.30; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.7 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.9 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=ib_r=tan(time*24); +per_frame_20=ib_r=min(ib_r,1); +per_frame_21=ib_r=max(ib_r,0); +per_frame_22=ib_g=tan(time*24+3.14); +per_frame_23=ib_g=min(ib_g,1); +per_frame_24=ib_g=max(ib_g,0); +per_frame_25=ib_b=tan(time*24+6.28); +per_frame_26=ib_b=min(ib_b,1); +per_frame_27=ib_b=max(ib_b,0); +per_frame_28= +per_frame_29=ob_r=ib_r-0.5; +per_frame_30=ob_g=ib_g-0.5; +per_frame_31=ob_b=ib_b-0.5; +per_frame_32=q1=ib_rr; +per_frame_33=q2=1-ib_gg; +per_frame_34=q3=ib_bb; +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38=decay = 1; +per_frame_39= +per_frame_40= +per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_42=//solarize=above(0.5,bass); +per_frame_43=//darken=above(0.4,treb); +per_frame_44= +per_frame_45=musictime=musictime+(mid*mid*mid)*0.01*(75/fps); +per_frame_46= +per_frame_47=xpos=sin(musictime*0.6)*0.5; +per_frame_48=ypos=sin(musictime*0.4)*0.5; +per_frame_49=q4=xpos; +per_frame_50=q5=ypos; +per_frame_51= +per_frame_52= +per_frame_53=//invert=above(sin(time),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.91; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1.00; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); +per_pixel_18=star=min(star,8);star=max(star,-8); +per_pixel_19=zm=zm+star/20; +per_pixel_20=sx=zm; +per_pixel_21=sy=zm; +per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; +per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; +per_pixel_25= +per_pixel_26=b1a=mid*0.13; +per_pixel_27=b1b=(bass+mid+treb)*0.12; +per_pixel_28=b1=b1b *1.1*rd*rd*rd*rd; +per_pixel_29=zoom=0.97+(b1*.1); diff --git a/presets/presets_milkdrop_200/Phat + EoS - Swim_waveform_mix.milk b/presets/presets_milkdrop_200/Phat + EoS - Swim_waveform_mix.milk new file mode 100644 index 0000000000..132c71dbef --- /dev/null +++ b/presets/presets_milkdrop_200/Phat + EoS - Swim_waveform_mix.milk @@ -0,0 +1,350 @@ +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.30; +wave_0_per_point4=yp=cos(smp )*0.30; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.7 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.9 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=ib_r=tan(time*24); +per_frame_20=ib_r=min(ib_r,1); +per_frame_21=ib_r=max(ib_r,0); +per_frame_22=ib_g=tan(time*24+3.14); +per_frame_23=ib_g=min(ib_g,1); +per_frame_24=ib_g=max(ib_g,0); +per_frame_25=ib_b=tan(time*24+6.28); +per_frame_26=ib_b=min(ib_b,1); +per_frame_27=ib_b=max(ib_b,0); +per_frame_28= +per_frame_29=ob_r=ib_r-0.5; +per_frame_30=ob_g=ib_g-0.5; +per_frame_31=ob_b=ib_b-0.5; +per_frame_32=q1=ib_rr; +per_frame_33=q2=1-ib_gg; +per_frame_34=q3=ib_bb; +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38=decay = 1; +per_frame_39= +per_frame_40= +per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_42=//solarize=above(0.5,bass); +per_frame_43=//darken=above(0.4,treb); +per_frame_44= +per_frame_45=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_46= +per_frame_47=xpos=sin(musictime*0.6)*0.3; +per_frame_48=ypos=sin(musictime*0.4)*0.3; +per_frame_49=q4=xpos; +per_frame_50=q5=ypos; +per_frame_51= +per_frame_52= +per_frame_53=//invert=above(sin(time),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.97; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); +per_pixel_18=star=min(star,8);star=max(star,-8); +per_pixel_19=zm=zm+star/20; +per_pixel_20=sx=zm; +per_pixel_21=sy=zm; +per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; +per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; diff --git a/presets/presets_milkdrop_200/Phat + EoS - rainbow bubble_mid3-f- me dood.milk b/presets/presets_milkdrop_200/Phat + EoS - rainbow bubble_mid3-f- me dood.milk new file mode 100644 index 0000000000..1bff64d17f --- /dev/null +++ b/presets/presets_milkdrop_200/Phat + EoS - rainbow bubble_mid3-f- me dood.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=1.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.799999 +mv_r=0.3 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.7 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.9 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = 0.99; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.3; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4) diff --git a/presets/presets_milkdrop_200/Phat + Zylot + EoS - work with lines.milk b/presets/presets_milkdrop_200/Phat + Zylot + EoS - work with lines.milk new file mode 100644 index 0000000000..43fbf2c9bb --- /dev/null +++ b/presets/presets_milkdrop_200/Phat + Zylot + EoS - work with lines.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.001827 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.35; +wave_0_per_point4=yp=cos(smp )*0.35; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.7 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.9 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay =1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_34= +per_frame_35=xpos=cos(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=1; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm*rd; +per_pixel_22=sy=zm*rd; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_milkdrop_200/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk b/presets/presets_milkdrop_200/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk new file mode 100755 index 0000000000..8b08309f6d --- /dev/null +++ b/presets/presets_milkdrop_200/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk @@ -0,0 +1,304 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.905900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.924157 +fWaveScale=0.653091 +fWaveSmoothing=0.0 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.8 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.0 +zoom=1.001800 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.0 +wave_g=0.650000 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=0.0 +mv_b=0.0 +mv_a=1.0 +wavecode_0_enabled=0 +wavecode_0_samples=38 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.254862 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.1 +wave_0_per_frame1=r=1; +wave_0_per_frame2=g=1; +wave_0_per_frame3=b=1; +wave_0_per_frame4=a=0.1; +wave_0_per_point1= +wave_0_per_point2=y=sample; +wave_0_per_point3=x=value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=0.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shape_2_per_frame18= +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.5 +shapecode_3_b=0.5 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=0.0 +shapecode_3_border_g=0.0 +shapecode_3_border_b=0.0 +shapecode_3_border_a=0.0 +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=0.995; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=bass+(zoomin*10)*.001; +per_frame_20=zoomi=above(zoomin,2)+zoomi*.975; +per_frame_21=zval=cos(time*.3)*(above(zoomi,2)); +per_frame_22=zuse=(zval)*.05+1; +per_frame_23=monitor=zoomi; +per_frame_24=zoom=zuse; +per_frame_25= +per_frame_26=//echo_orient=((maat*.5)%4)+1; +per_frame_27= +per_frame_28=//monitor=val; +per_frame_29=r=above(bass,1.3)+r*.95; +per_frame_30=t=below(r,5); +per_frame_31=q1=t*val*.5; +per_frame_32=mv_dx=sin(time)*.5+.5; +per_frame_33=mv_dy=cos(time)*.5+.5; +per_frame_34=ob_r=0; +per_frame_35=ob_g=0; +per_frame_36=ob_b=0; +per_frame_37=ib_r=0; +per_frame_38=ib_g=0; +per_frame_39=ib_b=0; +per_frame_40=ib_a=0.375; +per_frame_41=ob_a=0.475; +per_frame_42=ob_size=bass*.1; +per_frame_43=ib_size=treb*.1; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=1; +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_milkdrop_200/PieturP - triptrap_(ultimate-trip-mix).milk b/presets/presets_milkdrop_200/PieturP - triptrap_(ultimate-trip-mix).milk new file mode 100755 index 0000000000..f195d136cc --- /dev/null +++ b/presets/presets_milkdrop_200/PieturP - triptrap_(ultimate-trip-mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.955900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.535239 +fWaveSmoothing=0.0 +fWaveParam=-0.480000 +fModWaveAlphaStart=1.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.0 +zoom=1.001800 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.0 +wave_g=0.650000 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=6.4 +nMotionVectorsY=48.0 +mv_dx=0.5 +mv_dy=0.5 +mv_l=5.0 +mv_r=0.013716 +mv_g=0.872347 +mv_b=0.522466 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=0.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=0.0 +shapecode_3_border_g=0.0 +shapecode_3_border_b=0.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=1; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=(sin(time)*.5+.5)%2; +per_frame_20=zval=cos(time*.3)*zoomin; +per_frame_21=zuse=(zval)*.05+1; +per_frame_22=monitor=zuse; +per_frame_23=zoom=zuse; +per_frame_24= +per_frame_25=//echo_orient=((maat*.5)%4)+1; +per_frame_26= +per_frame_27=//monitor=val; +per_frame_28=r=above(bass,1.3)+r*.95; +per_frame_29=t=below(r,5); +per_frame_30=q1=t*val*.5; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34= +per_frame_35= +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_milkdrop_200/Redi Jedi - acid on a window pane.milk b/presets/presets_milkdrop_200/Redi Jedi - acid on a window pane.milk new file mode 100755 index 0000000000..b8d789c0f0 --- /dev/null +++ b/presets/presets_milkdrop_200/Redi Jedi - acid on a window pane.milk @@ -0,0 +1,329 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=0.935000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.5 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.999+vol*.001; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=1; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34= +per_frame_35=// This is the version you should use... +per_frame_36=// ----------- start copying ----------- +per_frame_37=hue=(mtime*.01+phase*.5); // change this +per_frame_38=h=6*(hue-int(hue)); +per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +per_frame_44=// ----------- end ---------------- +per_frame_45= +per_frame_46= +per_frame_47=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps); +per_frame_48=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps); +per_frame_49=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps); +per_frame_50=monitor=avgvol; +per_frame_51=q1=mtime; +per_frame_52=q2=t1; +per_frame_53=q3=t2; +per_frame_54=q4=t3; +per_frame_55= +per_frame_56=cx=sin(q2*.01)*.5+.5; +per_frame_57=cy=cos(q3*.01)*.5+.5; +per_frame_58=rot=sin(q2*.01-(q3*.01))*15+103; +per_pixel_1= +per_pixel_2=c=sin(q2*.1); +per_pixel_3=cc=sin(q3*.1); +per_pixel_4=ccc=sin(q4*.1); +per_pixel_5=cx1=.5+ccc*.3; +per_pixel_6=cy1=.5+cc*.4; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+cc*.3; +per_pixel_24=cy1=.5+c*.25+ccc*.25; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx - sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy - sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets/presets_milkdrop_200/Redi Jedi - pladman is no more.milk b/presets/presets_milkdrop_200/Redi Jedi - pladman is no more.milk new file mode 100755 index 0000000000..bc43575d25 --- /dev/null +++ b/presets/presets_milkdrop_200/Redi Jedi - pladman is no more.milk @@ -0,0 +1,373 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.060000 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=20 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=x=pow(sample,.5); +wave_0_per_point2=y=max(value2*(frame%2),bass_att*.5-treb_att*.3)-min(bass_att*.5-treb_att*.3,value1*(1-frame%2)); +wave_0_per_point3= +wave_0_per_point4=r=value1-bass; +wave_0_per_point5=g=value2-treb; +wave_0_per_point6=b=1-(value1+value2+mid); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.431700 +shapecode_0_ang=2.953098 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.707206 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=bb=bb+.0001*(q10+q11); +shape_0_per_frame2= +shape_0_per_frame3=//tex_ang=6.28*(sin(bb*q2)*.5-cos(bb)*.5); +shape_0_per_frame4=tex_ang=q7-q6; +shape_0_per_frame5=rad=(.1+(q10-q11)*.1); +shape_0_per_frame6=tex_zoom=(.7-sin((bb-q4+q5)*20+(q3%8)*.5)*.4)/rad; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.015963 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=sin(q1-q9)*6.28; +shape_1_per_frame2=tex_zoom=.9+(q11-q12)*.3; +shape_1_per_frame3=tex_zoom=tex_zoom/rad; +shape_1_per_frame4= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=db=.001; +per_frame_init_2=dt=.001; +per_frame_init_3=avgdb=bass-bass_att; +per_frame_init_4=avgdt=treb-treb_att; +per_frame_init_5=lbass=0; +per_frame_init_6=ltreb=0; +per_frame_init_7= +per_frame_init_8=avgbbeatrate=.5; +per_frame_init_9=beatb=0; +per_frame_init_10=beatb2=0; +per_frame_init_11=lbbtime2=time; +per_frame_init_12=rawbeatb=0; +per_frame_init_13=lbbtime=time; +per_frame_init_14=avgdb=.01; +per_frame_init_15=vol=0; +per_frame_init_16=avgvol=1; +per_frame_init_17=ph=0; +per_frame_init_18=phase=0; +per_frame_init_19=bool=0; +per_frame_init_20=const=.01; +per_frame_init_21=mtime=100+bass_att*1000; +per_frame_init_22=mtime2=100+treb_att*1000; +per_frame_init_23= +per_frame_1= +per_frame_2=db=(bass-lbass)*fps; +per_frame_3=dt=(treb-ltreb)*fps; +per_frame_4= +per_frame_5=ltreb=treb; +per_frame_6=lbass=bass; +per_frame_7= +per_frame_8=avgdb=avgdb*.9+abs(db)*.1; +per_frame_9=avgdt=avgdt*.9+abs(dt)*.1; +per_frame_10= +per_frame_11=lavgdb=lavgdb*.99+abs(db)*.01; +per_frame_12=lavgdt=lavgdt*.99+abs(dt)*.01; +per_frame_13= +per_frame_14=//beatdection +per_frame_15=rawbeatb=above(abs(db),avgdt); +per_frame_16=beatb=rawbeatb*above(time-lbbtime,avgbbeatrate*.75); +per_frame_17=beatb2=beatb*above(abs(dt),avgdb); +per_frame_18=beatbhard=beatb2*(abs(db)-avgdb*3); +per_frame_19= +per_frame_20=//beatrate calc +per_frame_21=//avgbbeatrate=beatb2*(avgbbeatrate*.9+(time-lbbtime2)*.1)+(1-beatb2)*(avgbbeatrate+(3-avgbbeatrate)*.001); +per_frame_22=avgbbeatrate=beatb*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beatb)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_23= +per_frame_24=lbbtime2=time*beatb2+(1-beatb2)*lbbtime2; +per_frame_25=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_26= +per_frame_27=ph=(time-lbbtime2)*(60/avgbbeatrate)*const; +per_frame_28=phase=max(min( ph, 1 ),0); +per_frame_29=const=const*(1-beatb2)+beatb2*( const+ (.001*bool) ); +per_frame_30=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34=bc=bc+beatb; +per_frame_35= +per_frame_36=vol=(rawbeatb*abs(db)*.001); +per_frame_37=avgvol=avgvol*.999+vol*.01; +per_frame_38= +per_frame_39=mtime=mtime+(min(avgdt*.01,.25)-beatbhard*.01*dt)*(1/fps); +per_frame_40=mtime2=mtime2+(min(avgdb*.01,.25)+beatbhard*.01*db)*(1/fps); +per_frame_41=q1=phase; +per_frame_42=q2=60/avgbbeatrate; +per_frame_43=q3=bc; +per_frame_44=q4=mtime; +per_frame_45=q5=mtime2; +per_frame_46=q6=sin(mtime*2)*.5+.5; +per_frame_47=q7=sin(mtime2*2)*.5+.5; +per_frame_48=q8=sin(mtime*10)*.5+.5; +per_frame_49=q9=sin(mtime2*10)*.5+.5; +per_frame_50=q10=avgdb; +per_frame_51=q11=avgdt; +per_frame_52=q12=lavgdb; +per_frame_53=q13=lavgdt; +per_frame_54=monitor=q7; +per_frame_55=decay=1; +per_frame_56=warp=0; +per_frame_57=wrap=1; +per_frame_58=zoom=1; +per_frame_59= +per_frame_60= +per_frame_61=ob_r=q8; +per_frame_62=ob_g=q7; +per_frame_63=ob_b=q6; +per_pixel_1=//zoom=1+(q9*y-q8*x+sin(ang+q5))*.5; +per_pixel_2=//rot=(q6*x-q7*y)*6.28; +per_pixel_3=//zoom=.99; +warp_1=`sampler sampler_rand02; +warp_2=`float4 texsize_rand02; // ...it's smart enough to get it from just this. +warp_3=`shader_body +warp_4=`{ +warp_5=` // sample previous frame +warp_6=` uv = uv_orig; +warp_7=` float3 main = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` float zoom = 1+main.x*.1; +warp_10=` float rot = (main.y-main.z)*.1; +warp_11=` float2 zcr = float2(.5,.5); +warp_12=` float2 cr = float2(.5+q7*.3,.5+q6*.3); +warp_13=` float2 newuv = uv; +warp_14=` +warp_15=` ///////////////////rotation//////////////// +warp_16=` newuv = uv - cr; +warp_17=` float s = sin(rot); +warp_18=` float c = cos(rot); +warp_19=` newuv = float2( (uv.x-cr.x)*c-(uv.y-cr.y)*s , (uv.x-cr.x)*s+(uv.y-cr.y)*c ); +warp_20=` newuv = newuv + cr; +warp_21=` ///////////////////rotation//////////////// +warp_22=` +warp_23=` ///////////////////zoom//////////////// +warp_24=` newuv = newuv-zcr; +warp_25=` newuv = newuv * zoom; +warp_26=` newuv= newuv+zcr; +warp_27=` ///////////////////zoom//////////////// +warp_28=` +warp_29=` +warp_30=` float3 colorwarp = tex2D( sampler_main, newuv ).xyz *1.02; +warp_31=` +warp_32=` float3 color = tex2D(sampler_rand02, (uv-0.5)*0.2 + 0.5 ).xyz; +warp_33=` ret = ( ( colorwarp ) ); +warp_34=` // darken (decay) over time +warp_35=` ret *= 0.98; //or try: ret -= 0.004; +warp_36=`} +comp_1=`sampler sampler_rand02; +comp_2=`float4 texsize_rand02; // ...it's smart enough to get it from just this. +comp_3=`shader_body +comp_4=`{ +comp_5=` // sample previous frame +comp_6=` float3 main = tex2D( sampler_main, uv ).xyz; +comp_7=` float3 colorwarp = tex2D( sampler_main, uv+main.yz*.1 ).xyz; +comp_8=` +comp_9=` float3 color = tex2D(sampler_rand02, (uv-0.5)*0.2 + 0.5 ).xyz; +comp_10=` ret = (colorwarp*(q1) + color*(1-q1) + main); +comp_11=` ret = main; +comp_12=` // darken (decay) over time +comp_13=` ret *= 0.98; //or try: ret -= 0.004; +comp_14=`} diff --git a/presets/presets_milkdrop_200/Rocke - Personal Comet.milk b/presets/presets_milkdrop_200/Rocke - Personal Comet.milk new file mode 100755 index 0000000000..55cb5b32ff --- /dev/null +++ b/presets/presets_milkdrop_200/Rocke - Personal Comet.milk @@ -0,0 +1,221 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.3 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.335 +fWaveScale=1.170 +fWaveSmoothing=0.684 +fWaveParam=-0.040 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.05300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.26300 +sx=1.0 +sy=1.0 +wave_r=0.610 +wave_g=0.320 +wave_b=0.1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.370 +ob_g=0.460 +ob_b=0.350 +ob_a=0.0 +ib_size=0.0 +ib_r=0.1 +ib_g=0.0 +ib_b=0.3 +ib_a=1.0 +nMotionVectorsX=2.0 +nMotionVectorsY=2.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=dx = dx + 0.003*sin(0.1*time); +per_frame_2=dy = dy + 0.005*sin(0.4*time); +per_pixel_1=rot = rot + 0.02*sin(0.25*time); diff --git a/presets/presets_milkdrop_200/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk b/presets/presets_milkdrop_200/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk new file mode 100755 index 0000000000..1c7124fe55 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar & Loadus - FractalDrop (Active Sparks Mix).milk @@ -0,0 +1,245 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080487 +fWaveScale=100.0 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; diff --git a/presets/presets_milkdrop_200/Rovastar + Che - Asylum Animations.milk b/presets/presets_milkdrop_200/Rovastar + Che - Asylum Animations.milk new file mode 100755 index 0000000000..165418ef47 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Che - Asylum Animations.milk @@ -0,0 +1,278 @@ +[preset00] +fRating=1.5 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.5 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=1.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.230000 +wave_g=0.2 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.4 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.3 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.330000 +mv_l=5.0 +mv_r=1.0 +mv_g=0.3 +mv_b=0.1 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; +per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),6*dx,dx); +per_frame_13=// timed sidon sensor +per_frame_14=// le = signal level; desired average value = 2 +per_frame_15=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_16=pulse=above(le,th); +per_frame_17=// pulsefreq = running average of interval between last 5 pulses +per_frame_18=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_19=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_20=lastpulse=if(pulse,time,lastpulse); +per_frame_21=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_22=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_23=// hccp = handcicap for th driven by bt +per_frame_24=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_25=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_26=beat=band(above(le,th+hccp),btblock); +per_frame_27=btblock=1-above(le,th+hccp); +per_frame_28=lastbeat=if(beat,time,lastbeat); +per_frame_29=beatfreq=if(equal(beatfreq,0),2, +per_frame_30=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_31=// th = threshold +per_frame_32=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_33=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_34=th=if(above(th,6),6,th); +per_frame_35=q3=30/fps; +per_frame_36=ccl=ccl+beat; +per_frame_37=minorccl=minorccl+.01*le; +per_frame_38=q4=beat; +per_frame_39=wave_r=.5+.15*sin(12*ccl)+.35*sin(3.62*minorccl); +per_frame_40=wave_g=.5+.15*sin(14*ccl)+.35*sin(7.38*minorccl); +per_frame_41=wave_b=.5+.15*sin(16*ccl)+.35*sin(5.21*minorccl); +per_frame_42=q1=.5+.25*sin(17*ccl+minorccl); +per_frame_43=cx=if(beat,.5+.5*sin(38*ccl),q1); +per_frame_44=q2=.5+.25*sin(17*ccl+minorccl); +per_frame_45=cy=if(beat,.5+.5*sin(46*ccl),q2); +per_frame_46=mv_x = 1.25; +per_frame_47=mv_y = 1.25; +per_frame_48=mv_dx =q1-0.5; +per_frame_49=mv_dy = -1*(q2-0.5); +per_pixel_1=myrot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); +per_pixel_2=rot = myrot; +per_pixel_3=// coordinates transfomation +per_pixel_4=// q1,q2 = position; q3 = 1/zoom; q4 = rotation +per_pixel_5=aang=atan2(y-q2,x-q1)-1.57; +per_pixel_6=arad=sqrt(sqr(y-q2)+sqr(x-q1)); +per_pixel_7=atx=cos(aang)*arad; +per_pixel_8=aty=sin(aang)*arad; +per_pixel_9= +per_pixel_10=sound=if(below(x,.5),2*x*mid+(1-(2*x))*bass, +per_pixel_11=(x-.5)*2*treb+(1-(x-.5)*2)*mid); +per_pixel_12=sound=sound*q3; +per_pixel_13=zone=below(abs(x-q1),.15)*below(abs(y-q2),.15); +per_pixel_14=rot=if(zone,bass*bass_att*0.2*pow(arad,arad),myrot); +per_pixel_15=dx = if(zone,0,dx+0.01*rad*sound); diff --git a/presets/presets_milkdrop_200/Rovastar + Fvese - Paranormal Static.milk b/presets/presets_milkdrop_200/Rovastar + Fvese - Paranormal Static.milk new file mode 100755 index 0000000000..7a7008a35a --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Fvese - Paranormal Static.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.49 +fDecay=0.965 +fVideoEchoZoom=0.9966 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.002776 +fWaveScale=1.08998 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=0.997374 +fZoomExponent=1 +fShader=0 +zoom=0.9995 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1.001829 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.03 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.005 +ib_r=0.4 +ib_g=0.4 +ib_b=0.4 +ib_a=1 +nMotionVectorsX=9.599999 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.05 +mv_r=1 +mv_g=0 +mv_b=1 +mv_a=1 +per_frame_1=wave_x = 0.5 + 0.2*(sin(time*0.678) + sin(time*0.987)); +per_frame_2=wave_y = 0.5 - 0.2*(sin(time*0.876) + sin(time*0.789)); +per_frame_3=decay = decay - 0.05*equal(frame%16,1); +per_frame_4=wave_r = 0.8+ 0.2*sin(time*1.24); +per_frame_5=wave_g = 0.3+0.1*sin(time*0.54); +per_frame_6=wave_b = 0.25+0.1*sin(time*0.677); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_8=cx = cx + bass_thresh; +per_frame_9=sx = sx - bass_thresh*0.2; +per_frame_10=cy = cy + wave_y; +per_frame_11=ib_r= wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_12=ib_g= wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_13=ib_b= wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_14=warp =0; +per_frame_15=dx = 0.02*bass; +per_pixel_1=zoom=zoom + 0.005*tan(ang-ang); +per_pixel_2=cx = (0&(x*20-0.5))*0.05+0.05; +per_pixel_3=cy = (0&(y*20-0.5))*0.05+0.05; diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Approach (Vectrip Mix) - painterly.milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Approach (Vectrip Mix) - painterly.milk new file mode 100755 index 0000000000..e6a1863310 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Approach (Vectrip Mix) - painterly.milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=1.372000 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.0 +zoom=1.007000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.005000 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.7 +wave_g=0.3 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=0.6 +mv_g=0.5 +mv_b=0.450000 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_x = wave_x + 0.150*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.150*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.002*sin(time+0.073); +per_frame_7=decay = decay - 0.03*equal(frame%30,0); +per_frame_8=vol = (bass+mid+att)/6; +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_14=xpos = xpos + 0.001*xspeed; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=mv_x_speed = 16; +per_frame_22=mv_y_speed = 12; +per_frame_23=mv_x_range = 0.499; +per_frame_24=mv_y_range = 0.499; +per_frame_25=mv_x_amount = 2; +per_frame_26=mv_y_amount = 3+1.5*sin(sin(time*0.245)+cos(time*0.45)); +per_frame_27=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_28=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_29=mv_b = mv_b - 0.3*sin(time*5.211); +per_frame_30=mv_r = mv_r + 0.25*cos(time*1.91); +per_frame_31=mv_g = mv_g + 0.25*cos(time*1.861); +per_frame_32=mv_l = 30*sin(10*ypos)+ 40*cos(10*xpos); +per_frame_33=wave_r = wave_r + 0.5*sin(3.758); +per_frame_34=wave_b = wave_b + 0.4*cos(time*2.023); +per_frame_35=wave_g = wave_g + 0.4*sin(time*2.01); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // PAINTERLY EFFECT - base high-frequency motion on image colors +warp_6=` float mipbias = 0;//3 + 2*cos(_frame * 2); +warp_7=` float2 delta2 = 0;//texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, uv + delta2 ).xyz; +warp_9=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_10=` +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz - 0.005; +warp_12=`} +warp_13=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Bipolar 2 (Vectrip Mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Bipolar 2 (Vectrip Mix).milk new file mode 100755 index 0000000000..417cdf8342 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Bipolar 2 (Vectrip Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=1 +fGammaAdj=1.998 +fDecay=0.98 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.9 +fWaveScale=0.408 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=-0.01 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.9 +wave_g=0.45 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=0.4 +mv_g=0.7 +mv_b=0.7 +mv_a=1 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%50,0); +per_frame_4=vol = (bass+mid+att)/6; +per_frame_5=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_6=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_7=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_8=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=mv_x_speed = 16; +per_frame_18=mv_y_speed = 12; +per_frame_19=mv_x_range = 0.01; +per_frame_20=mv_y_range = 0.01; +per_frame_21=mv_x_amount = 1.25; +per_frame_22=mv_y_amount = 1.25; +per_frame_23=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_24=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_25=mv_b = mv_b - 0.3*sin(time*5.211); +per_frame_26=mv_r = mv_r + 0.25*cos(time*1.91); +per_frame_27=mv_g = mv_g + 0.25*cos(time*1.861); +per_frame_28=mv_l = 100 + 100*min(bass*0.5 + bass_att*0.5,2); +per_pixel_1=zoom=0.9615+rad*0.1; diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk new file mode 100755 index 0000000000..e13ebeeb2d --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk @@ -0,0 +1,251 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.608039 +fWaveScale=0.634243 +fWaveSmoothing=0.1 +fWaveParam=0.5 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.004960 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.360000 +ob_size=0.010000 +ob_r=1.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.015000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.150000 +mv_r=0.0 +mv_g=0.0 +mv_b=1.0 +mv_a=0.4 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.48*sin(time*1.324); +per_frame_3=ob_b = 0.5 - 0.48*cos(time*1.316); +per_frame_4=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_5=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_6=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_7=mv_r = wave_r; +per_frame_8=mv_b = wave_b; +per_frame_9=mv_g = wave_g; +per_frame_10=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); +per_frame_11=oldq8 = q8; +per_frame_12=monitor = sin(q8); +per_frame_13=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_14=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_15=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_16=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_17=//zoom = zoom+ 0.06*abs(sin(q8)); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=dx = dx*aspectx; +per_pixel_16=dy = dy*aspecty; +per_pixel_17=//rot = -0.01*rad*sin(q8); +per_pixel_18=rot =0+abs(3* dx) - abs(3*dy); +per_pixel_19=zoom =1+abs(3* dx) - abs(3*dy); +per_pixel_20=zoomexp = 1 + abs((300* dx) - (300*dy)); diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Gold Chrome Mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Gold Chrome Mix).milk new file mode 100755 index 0000000000..089666bf7c --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Gold Chrome Mix).milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=0.881 +fWaveSmoothing=0.5 +fWaveParam=-1.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.02109 +rot=-0.16000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.30900 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.750 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_frame_9=//decay = decay - 0.02*equal(frame%40,0); +per_frame_10=mv_r = wave_r; +per_frame_11=mv_b = wave_b; +per_frame_12=mv_g = wave_g; +per_frame_13=mv_x = 1.25; +per_frame_14=mv_y = 1.25; +per_frame_15=mv_dx = 0.1*sin(1.1*time); +per_frame_16=mv_dy = 0.1*cos(1.112*time); +per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8))); +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*17 + 3 + uv.x*30)*30 - 21); +comp_6=` float L2 = lum(GetBlur1(uv)); +comp_7=` float bw2 = saturate(cos(L*17 + 3 + uv.x*30)*3 - 2.7); +comp_8=` +comp_9=` ret = float3(1.1,0.8,0.7)*ret.x + +comp_10=` float3(0.4,0.6,0.55)*ret.y + +comp_11=` float3(0.7,0.6,0.3)*ret.z; +comp_12=` ret *= 0.4; +comp_13=` +comp_14=` ret = ret*ret * (1 + bw2*4); +comp_15=` +comp_16=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Relief Mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Relief Mix).milk new file mode 100755 index 0000000000..b47a337dc5 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Hurricane Nightmare (Relief Mix).milk @@ -0,0 +1,263 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=0.881 +fWaveSmoothing=0.5 +fWaveParam=-1.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=3.6 +fShader=0.0 +zoom=1.02109 +rot=-0.16000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.30900 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.470 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.750 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_frame_9=//decay = decay - 0.02*equal(frame%40,0); +per_frame_10=mv_r = wave_r; +per_frame_11=mv_b = wave_b; +per_frame_12=mv_g = wave_g; +per_frame_13=mv_x = 1.25; +per_frame_14=mv_y = 1.25; +per_frame_15=mv_dx = 0.1*sin(1.1*time); +per_frame_16=mv_dy = 0.1*cos(1.112*time); +per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8))); +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0.3,0.1,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.06)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.2,0.13,0.07)); +comp_23=` float3 dir2 = normalize(float3(0.1,-0.3,0.04)); +comp_24=` float3 col1 = float3(1.3,0.9,1).zxy*0.9; +comp_25=` float3 col2 = float3(0.6,0.7,0.9)*0.9; +comp_26=` ret = col1 * saturate(dot(g,dir1)) + col2*saturate(dot(g,dir2)); +comp_27=` +comp_28=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk new file mode 100755 index 0000000000..c83d0c12ff --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk @@ -0,0 +1,270 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.973 +fVideoEchoZoom=1.047 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905 +fWaveSmoothing=0.627 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.23219 +fShader=0.0 +zoom=1.08017 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01678 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=1.0 +b1n=0.670 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_frame_10=q2 = oldq2 + 0.05*(pow(1+1.2*treb+0.4*treb_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11= +per_frame_12=//q2 = oldq2 +q1; +per_frame_13=oldq2 = q2 ; +per_frame_14=monitor = q2; +per_pixel_1=zoom = zoom + rad*0.1*q1; +per_pixel_2= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*0.8; +comp_4=` +comp_5=` float3 blur = saturate(GetBlur1(uv) - blur1_min)*14 +comp_6=` + saturate(GetBlur2(uv) - blur2_min)*14; +comp_7=` ret += blur; +comp_8=` ret *= 0.7; +comp_9=` ret = lerp(lum(ret), ret, 0.2); +comp_10=` ret *= hue_shader*2.4-1; +comp_11=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperspace - kaleidoscope.milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperspace - kaleidoscope.milk new file mode 100755 index 0000000000..c6677e2396 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Hyperspace - kaleidoscope.milk @@ -0,0 +1,263 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.0 +fDecay=0.973000 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905229 +fWaveSmoothing=0.6 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=0.999835 +fShader=0.0 +zoom=0.799682 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.016779 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=1.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_pixel_1=zoom = 1.01 + rad*0.15*q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.008; +warp_8=`} +warp_9=` +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.75; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` ang2 += time*0.025; //rotate over time +comp_15=` +comp_16=` // FIN TYPE +comp_17=` float fins = 8;//3 + floor(rand_preset.z*5.95); +comp_18=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = tex2D(sampler_main, uv2).xyz; +comp_25=` ret *= 1.0; // a little bit of overbright +comp_26=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk new file mode 100755 index 0000000000..a419dc1605 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=2.0 +fDecay=0.981 +fVideoEchoZoom=1.047 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905 +fWaveSmoothing=0.6 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=2.63006 +fShader=0.0 +zoom=1.03100 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=24.986 +nMotionVectorsY=20.031 +mv_dx=0.065 +mv_dy=0.109 +mv_l=0.036 +mv_r=0.816 +mv_g=0.099 +mv_b=0.816 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.0; +comp_6=` float b1 = lum(GetPixel(uv + d.xz)); +comp_7=` float b2 = lum(GetPixel(uv - d.xz)); +comp_8=` float b3 = lum(GetPixel(uv + d.zy)); +comp_9=` float b4 = lum(GetPixel(uv - d.zy)); +comp_10=` +comp_11=` //ret = 0; +comp_12=` ret *= -1; +comp_13=` ret += saturate((b1-b2)*64)*1.00*float3(1,0.6,0.1); +comp_14=` ret += saturate((b3-b4)*64)*1.00*float3(0.2,0.5,0.7); +comp_15=` ret -= saturate( GetBlur1(uv)*4 - 1 ); +comp_16=` +comp_17=` ret *= 1.5; +comp_18=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Tripmaker (tiles).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Tripmaker (tiles).milk new file mode 100755 index 0000000000..c406c2b01e --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Tripmaker (tiles).milk @@ -0,0 +1,286 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=100.0 +fShader=1.0 +zoom=0.999998 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.2 +ob_g=0.4 +ob_b=0.220000 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.080000 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=1.0 +shapecode_1_a=0.080000 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=0.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.050000 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2 = float2( floor(uv.x*10), floor(uv.y*10) )*0.1 +comp_6=` + rand_preset.xy; +comp_7=` float4 N = tex2D( sampler_pw_noise_lq, uv2 * aspect.xy ); +comp_8=` uv += N.xy; +comp_9=` +comp_10=` ret = tex2D(sampler_main, uv).xyz*1.4 - 0.4; +comp_11=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Geiss - Twisted Bytes (Curve Mix).milk b/presets/presets_milkdrop_200/Rovastar + Geiss - Twisted Bytes (Curve Mix).milk new file mode 100755 index 0000000000..962ea4010d --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Geiss - Twisted Bytes (Curve Mix).milk @@ -0,0 +1,224 @@ +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.931000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.394148 +fWaveScale=0.627609 +fWaveSmoothing=0.108000 +fWaveParam=1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.070500 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.005000 +dy=0.0 +warp=0.198054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.7 +wave_b=0.5 +wave_x=0.0 +wave_y=0.030000 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.059900 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r - 0.5*sin(1.7*time); +per_frame_2=wave_b = wave_b + 0.4*sin(time*1.123); +per_frame_3=wave_g = wave_g - 0.3*cos(0.8*time); +per_frame_4=dx =dx -00.005; +per_frame_5=dy=dy-0.0005; +per_frame_6=warp=0; +per_pixel_1=bass_effect = max(max(bass,bass_att)-1.2,0); +per_pixel_2=dx = 0.04 + if(above(y,0.1),0.02+0*log(x/y)+0.25*bass_effect,0.25*bass_effect-0*log(ang)); +per_pixel_3=zoom = 0.4*rad*x +1; +per_pixel_4=sy= 1+0.5*x; diff --git a/presets/presets_milkdrop_200/Rovastar + Idiot24-7 - Balk Acid.milk b/presets/presets_milkdrop_200/Rovastar + Idiot24-7 - Balk Acid.milk new file mode 100755 index 0000000000..2b9e39cf47 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Idiot24-7 - Balk Acid.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.591236 +fWaveSmoothing=0 +fWaveParam=1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=0.01 +fShader=0 +zoom=1.0003 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.4 +wave_g=1 +wave_b=0.6 +wave_x=0.5 +wave_y=1 +ob_size=0.005 +ob_r=1 +ob_g=1 +ob_b=0.41 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=1 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.8799 +mv_dx=0 +mv_dy=0 +mv_l=3 +mv_r=0 +mv_g=0.7 +mv_b=1 +mv_a=0.4 +per_frame_1=zoom=zoom+0.028*(bass+bass_att) -0.05; +per_frame_2=rot=rot+0.10*sin(time); +per_frame_3=mv_r=0.5 +0.5*sin(time*1.23); +per_frame_4=mv_b=0.5 + 0.5*sin(time*1.26); +per_frame_5=mv_g=0.5+ 0.5*sin(time*1.19); +per_frame_6=wave_g=wave_g*+.20*sin(time*.13); +per_frame_7=wave_r=wave_r+.13*sin(time); +per_frame_8=wave_b=wave_b*sin(time); +per_frame_9=wave_x=wave_x-.5*sin(time*.13); +per_frame_10=ob_a = if(above(mid+treb,2.6),1,0); +per_frame_11=ob_r = 0.5 + 0.4*sin(time*2.87); +per_frame_12=ob_b = 0.5 + 0.4*sin(time*2.914); +per_frame_13=ob_g = 0.5 + 0.4*sin(time*2.768); +per_frame_14=mv_y = 3.25; diff --git a/presets/presets_milkdrop_200/Rovastar + Krash - Rainbow Deflection.milk b/presets/presets_milkdrop_200/Rovastar + Krash - Rainbow Deflection.milk new file mode 100755 index 0000000000..0650c2ccb2 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Krash - Rainbow Deflection.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.975 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.054279 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=-0.19 +cy=-0.1 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=wave_x = rand(100)/100; +per_frame_5=wave_r = 1 + sin(-wave_x*3.1415); +per_frame_6=wave_g = abs(sin(2*wave_x*3.1415)); +per_frame_7=wave_b = sin(wave_x*3.1415); +per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect; +per_frame_11=rot = rot + rot_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=shift = (tan(time*7)) -0.05; +per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05); diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk new file mode 100755 index 0000000000..72858bf04e --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Atmospheric Mix).milk @@ -0,0 +1,296 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.088 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99980 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.480 +shapecode_0_y=0.510 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.8 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=x = x + 0.23*cos(time*0.01317+1); +shape_0_per_frame2=y = y + 0.17*cos(time*0.00843+3); +shape_0_per_frame3=ang = q1*(0.303 + 0.01*t1 + instance); +shape_0_per_frame4=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame5=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame6=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame7=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame8=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame9=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame10=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.440 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.17*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.13*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.530 +shapecode_2_y=0.460 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.25*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.19*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.44747 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.48886 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.5 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.21*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.17*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` //uv2.xy += (blurry_color.xy-0.37) * 0.005; +warp_9=` +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` ret += (ret - GetBlur1(uv2))*0.2; +warp_15=` +warp_16=` // darken over time +warp_17=` ret -= 0.02; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`/* float3 d = float3(texsize.zw, 0)*1.25; +comp_5=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_6=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_7=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_8=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_9=` +comp_10=` ret *= 0.2; +comp_11=` ret += saturate((b1-b2)*8)*0.60*float3(1,0.6,0.1); +comp_12=` ret += saturate((b3-b4)*8)*0.60*float3(0.2,0.5,0.7); +comp_13=` +comp_14=` ret *= 1.5;*/ +comp_15=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Cauliflower Mix).milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Cauliflower Mix).milk new file mode 100755 index 0000000000..acf9fd7d2c --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Cauliflower Mix).milk @@ -0,0 +1,297 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99980 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.3 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.3 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=x = x + 0.23*cos(time*0.01317+1); +shape_0_per_frame2=y = y + 0.17*cos(time*0.00843+3); +shape_0_per_frame3=ang = q1*(0.303 + 0.01*t1 + instance); +shape_0_per_frame4=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame5=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame6=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame7=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame8=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame9=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame10=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.3 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.6 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.17*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.13*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.4 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.7 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.25*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.29*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.44747 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.48886 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=0.8 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.6 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.21*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.17*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` //uv2.xy += (blurry_color.xy-0.37) * 0.005; +warp_9=` +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` ret += (ret - GetBlur1(uv2))*0.2; +warp_15=` +warp_16=` // darken over time +warp_17=` ret -= 0.02; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.2; +comp_12=` ret += saturate((b1-b2)*8)*0.60*float3(1,0.6,0.1); +comp_13=` ret += saturate((b3-b4)*8)*0.60*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 2; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk new file mode 100755 index 0000000000..27727e7658 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk @@ -0,0 +1,305 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.02; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0,0,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.08)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` //float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` float3 a = tex2D(sampler_main, (uv-0.5)*0.4+0.5); +comp_25=` float3 col1 = pow(a.xyz, a.yzx*2-1); +comp_26=` ret = col1 * saturate(dot(g,dir1)); +comp_27=` ret *= hue_shader*1.1; +comp_28=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk new file mode 100755 index 0000000000..989a3597b5 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig*4 + rand_frame.xy)*2-1)*0.02; +warp_14=` +warp_15=` float ang2 = atan2(uv_orig.y-0.5,uv_orig.x-0.5); +warp_16=` ret += ( cos(ang2*17 + time*12 + lum(ret)*0) )*0.15; +warp_17=` +warp_18=` // darken over time +warp_19=` //ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*27 + 3)*30 - 26); +comp_6=` bw = saturate( cos(ang*17 + time*12 + L*48) )*0.5*(L+0.4); +comp_7=` ret = ret*ret + bw*0.3*(GetPixel(0.5))*0.5; +comp_8=` +comp_9=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk new file mode 100755 index 0000000000..8b7bbaa9f0 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - FractalDrop (Triple Mix).milk @@ -0,0 +1,307 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100 +fWaveScale=3.815 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.04177 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.007 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 4.milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 4.milk new file mode 100755 index 0000000000..38fde4c9f2 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 4.milk @@ -0,0 +1,284 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100000 +fWaveScale=2.781282 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.600000 +shapecode_3_g=0.800000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.03*(bass+bass_att) + 0.003*pow(bass+1,3) + 0.01; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.6; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.08); +warp_17=`} +comp_1=`sampler2D sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` +comp_7=` ret *= 1; // a little bit of overbright +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7b.milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7b.milk new file mode 100755 index 0000000000..e3dfd7b2f9 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7b.milk @@ -0,0 +1,285 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=3.815202 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.029902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`sampler2D sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` +comp_7=` ret *= 1; // a little bit of overbright +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk new file mode 100755 index 0000000000..7792c9dbd8 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk @@ -0,0 +1,303 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=3.815202 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.029902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7d.milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7d.milk new file mode 100755 index 0000000000..f2e379ff93 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7d.milk @@ -0,0 +1,304 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0,0,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.08)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` ret = col1 * saturate(dot(g,dir1)); +comp_25=` +comp_26=` ret *= hue_shader*1.5-0.4; +comp_27=` +comp_28=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop.milk b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop.milk new file mode 100755 index 0000000000..938ed726a3 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop.milk @@ -0,0 +1,283 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=2.781282 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.95; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.18); +warp_17=`} +comp_1=`sampler2D sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` +comp_7=` ret *= 1; // a little bit of overbright +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/Rovastar + Loadus - FractalDrop (Active Sparks Mix) Steady.milk b/presets/presets_milkdrop_200/Rovastar + Loadus - FractalDrop (Active Sparks Mix) Steady.milk new file mode 100755 index 0000000000..e121383c15 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Loadus - FractalDrop (Active Sparks Mix) Steady.milk @@ -0,0 +1,287 @@ +MILKDROP_PRESET_VERSION=200 +PSVERSION=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080487 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.600000 +shapecode_3_g=0.800000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +warp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +warp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=` +warp_6=`shader_body +warp_7=` +warp_8=` +warp_9=` +warp_10=`{ +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 1.00; //or try: ret -= 0.004; +warp_16=` +warp_17=` +warp_18=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=` +comp_8=` +comp_9=` +comp_10=`{ +comp_11=` ret = tex2D(sampler_main, uv).xyz; +comp_12=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_13=` ret *= 1.00; //old gamma effect +comp_14=` +comp_15=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister - Painterly.milk b/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister - Painterly.milk new file mode 100755 index 0000000000..d1cfd4b2e4 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister - Painterly.milk @@ -0,0 +1,254 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.998000 +fDecay=0.994000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.9 +fWaveScale=1.116811 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.961900 +rot=-0.010000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.9 +wave_g=0.450000 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.5 +ib_g=0.570000 +ib_b=0.4 +ib_a=0.0 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.050000 +mv_r=0.0 +mv_g=0.0 +mv_b=0.8 +mv_a=0.1 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //old video echo effect +comp_8=` ret *= 2.00; //old gamma effect +comp_9=` ret *= ret; //old darken effect +comp_10=`} diff --git a/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister.milk b/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister.milk new file mode 100755 index 0000000000..79f62a1ae6 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Rocke - Sugar Spun Sister.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.998000 +fDecay=0.994000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.9 +fWaveScale=1.116811 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.961900 +rot=-0.010000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.9 +wave_g=0.450000 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.5 +ib_g=0.570000 +ib_b=0.4 +ib_a=0.0 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.050000 +mv_r=0.0 +mv_g=0.0 +mv_b=0.8 +mv_a=0.1 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); diff --git a/presets/presets_milkdrop_200/Rovastar + Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_milkdrop_200/Rovastar + Telek - Altars of Madness (Rolling Oceans Mix).milk new file mode 100755 index 0000000000..5d93a06714 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Telek - Altars of Madness (Rolling Oceans Mix).milk @@ -0,0 +1,122 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.98 +fDecay=1 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.660126 +fWaveSmoothing=0 +fWaveParam=0.3 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.5 +mv_r=0.15 +mv_g=0.45 +mv_b=0.65 +mv_a=0.2 +per_frame_1=warp=0; +per_frame_2=ib_a =0.2*bass; +per_frame_3=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_4=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_5=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_6=decay = decay - equal(frame%100,0)*0.1; +per_frame_7=vol = 0.167*(bass+mid); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xpos = xpos + 0.001*xspeed; +per_frame_13=wave_x = 1.5*xpos + 0.5; +per_frame_14=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_15=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_16=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_17=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_18=ypos = ypos + 0.001*yspeed; +per_frame_19=wave_y = 1.5*ypos + 0.5; +per_frame_20=zoom = .995; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=frametest = frame%2; +per_frame_29=wave_x = if(frametest,1-wave_x,wave_x); +per_frame_30=wave_y = if(frametest,1-wave_y,wave_y); +per_frame_31=wave_r = if(frametest,wave_r,wave_g); +per_frame_32=wave_g = if(frametest,wave_g,wave_b); +per_frame_33=wave_b = if(frametest,wave_b,wave_r); +per_frame_34=monitor = green; +per_frame_35=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_36=oldq8 = q8; +per_frame_37= +per_frame_38=mv_g=0.5+bass_att*.1; +per_frame_39=beat=if(above(bass*bass_att,4.5),1-beat,beat); +per_frame_40=q1=beat*2-1; +per_frame_41= +per_frame_42=amp =amp*.8+.2*(bass_att+mid_att+treb_att)*.3; +per_frame_43=q2 = min(amp,1); +per_frame_44=trebcap=trebcap*.7+.16*treb; +per_frame_45=q3=trebcap*2; +per_frame_46=monitor = q3; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*(48+12*sin(0.412*q8)))+0.008*sin(((y+sin(time*0.163))*2-1)* (3+sin(0.241*q8))); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*(64+18*sin(0.376*q8)))+0.008*sin(((x+sin(q8*0.282))*2-1) *(3+sin(0.349*q8))); +per_pixel_3=wang = (3+q3)*x+time*1.7+bass*.1; +per_pixel_4=in = 0; +per_pixel_5=in = in + below(abs(x-.25),.05)*below(abs(y-.5),.25); +per_pixel_6=in = below(abs(y-(.5+.5*sin(wang)*q2)),.1); +per_pixel_7=in=bnot(bnot(in)); +per_pixel_8=dx = dx+.02*in; +per_pixel_9=dy = dy+.08*cos(wang)*q2*in; +per_pixel_10= +per_pixel_11=dx = dx+bnot(in)*.005*q1; +per_pixel_12=dy = dy+bnot(in)*cos(wang)*-.01*q1; +per_frame_init_1=q8=0; diff --git a/presets/presets_milkdrop_200/Rovastar + Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_milkdrop_200/Rovastar + Unchained - Ambrosia Mystic (Dark Heart Mix).milk new file mode 100755 index 0000000000..abd82dfc82 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Unchained - Ambrosia Mystic (Dark Heart Mix).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=1.0 +fGammaAdj=2 +fDecay=0.942 +fVideoEchoZoom=1.0065 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.7999 +fWaveScale=1.54922 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.040604 +rot=0 +cx=0.47 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = 0.5 + 0.5*sin(time*1.143); +per_frame_2=wave_g = 0.5+0.5*sin(time*0.896); +per_frame_3=q8 = (bass+bass_att)*0.5; +per_pixel_1=state_scalar=if(equal(q8,3),-.1,if(equal(q8,2),2,1)); +per_pixel_2=location = sin(ang*10+time+abs(pow(1+rad,q8)+x*10%5)); +per_pixel_3=zoom = zoom+.08*state_scalar*location; +per_pixel_4=rot = rot+.02*state_scalar*location; +per_pixel_5=zoomexp = 1/(pow(q8,q8*10)); +per_pixel_6=zoomexp = if(above(rad,0.8),1,zoomexp); diff --git a/presets/presets_milkdrop_200/Rovastar + Unchained - Life After Pie (Remix).milk b/presets/presets_milkdrop_200/Rovastar + Unchained - Life After Pie (Remix).milk new file mode 100755 index 0000000000..cac933d104 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Unchained - Life After Pie (Remix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=0.977 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=3.192474 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.009091 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.35)*0.96+1.3); +per_frame_2=bass_factor = equal(bass_thresh,2)*sin(time*bass_thresh*.4) + (1-equal(bass_thresh,2))*bass_factor; +per_frame_3=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.35)*0.96+1.3); +per_frame_4=mid_factor = equal(mid_thresh,2)*sin(time*mid_thresh*.4) + (1-equal(mid_thresh,2))*mid_factor; +per_frame_5=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.35)*0.96+1.3); +per_frame_6=treb_factor = equal(treb_thresh,2)*sin(time*treb_thresh*.4) + (1-equal(treb_thresh,2))*treb_factor; +per_frame_7=wave_r = 0.5+0.5*bass_factor; +per_frame_8=wave_b = 0.5+0.5*mid_factor; +per_frame_9=wave_g = 0.5+0.5*treb_factor; +per_frame_10=wave_mystery = sin(time*.7)/10; +per_frame_11=q1=bass_factor; +per_frame_12=q2=mid_factor; +per_frame_13=q3=treb_factor; +per_pixel_1=pi=22/7+.2-.2*q1; +per_pixel_2=rpi=pi*rad; +per_pixel_3=api=(1-rad)*pi; +per_pixel_4=zoom = if(above(rad,abs(q2)),1.07+sin(rpi)*.04*q2, 0.97+(sin(rpi)/10-sin(api)/10)*.04*q2)+cos(rpi*3*q3)*.07; +per_pixel_5=rot = if(above(rad,abs(q2)),cos((rad*2*rpi)+sin(pi*pow(rad,5)))*.1*q1,(cos(api)/25+sin(rpi))*.1*q1)+cos(api*3*q3)*.1; diff --git a/presets/presets_milkdrop_200/Rovastar + Unchained - Oddball World.milk b/presets/presets_milkdrop_200/Rovastar + Unchained - Oddball World.milk new file mode 100755 index 0000000000..be2a947fef --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Unchained - Oddball World.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.96 +fVideoEchoZoom=0.9999 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=25.080072 +fWaveSmoothing=0.75 +fWaveParam=-1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.0081 +fShader=0.3 +zoom=0.12227 +rot=0.24 +cx=2 +cy=-1 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.1 +ib_size=0.003 +ib_r=0 +ib_g=0 +ib_b=1 +ib_a=0.6 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.05 +mv_r=0 +mv_g=0.7 +mv_b=1 +mv_a=1 +per_frame_1=// sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7=th=if(above(th,5.2),4,th); +per_frame_8= +per_frame_9=q1=.12*th; +per_frame_10=ccl=if(pulse,ccl+1,ccl); +per_frame_11=q2=ccl; +per_frame_12= +per_frame_13=ob_r=ob_r + time*sin(bass); +per_frame_14=ob_b=ob_b + time*sin(treb+1); +per_frame_15=ob_g=ob_g + time*sin(mid/1.5); +per_frame_16=zoomexp = q1; +per_frame_17=myb = cos(time) + abs(cos(time)); +per_frame_18=myg = abs(sin(time)) ; +per_frame_19=myr = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_20=avg = .9*avg+.1*le; +per_frame_21=wave_r = if(below(avg,1.8),myr,0); +per_frame_22=wave_b = if(below(avg,1.8),myb,0); +per_frame_23=wave_g = if(below(avg,1.8),myg,0); +per_frame_24=monitor = avg; +per_pixel_1=grid=sign(pow(sin(ang*(q2)+x*y*q1)*2,1+q2%4)) -.5; +per_pixel_2=snee=.5*sin(q2*q1); +per_pixel_3=rot=bnot(grid%((q2%10)+2))*above(x,.5+snee)*above(y,.5-snee); +per_pixel_4=sx=sx-sin((q2+.5)*x)*band(rot,snee)*.003; +per_pixel_5=sy=sy-cos((q2+3.4)*y)*band(rot,snee)*.003; +per_pixel_6=zoom=1+.1*sin((q1-q2)*3)+.2*cos(1.6*sin(time)+rad*6.28*q1)*below(x,.5+snee)*below(y,.5-snee); diff --git a/presets/presets_milkdrop_200/Rovastar + Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets/presets_milkdrop_200/Rovastar + Unchained - Voodoo Chess Magnet (Everglow Mix).milk new file mode 100755 index 0000000000..35fae30fb6 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Unchained - Voodoo Chess Magnet (Everglow Mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.720000 +fDecay=1.0 +fVideoEchoZoom=1.006496 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.781664 +fWaveScale=0.590116 +fWaveSmoothing=0.360000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=7.523901 +fShader=0.0 +zoom=1.009898 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1)); +per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time))); +per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49)); +per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0); +per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10); +per_frame_7=q1=state; +per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10; +per_frame_9=// timed sidon sensor +per_frame_10=// le = signal level; desired average value = 2 +per_frame_11=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_12=pulse=above(le,th); +per_frame_13=// pulsefreq = running average of interval between last 5 pulses +per_frame_14=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_16=lastpulse=if(pulse,time,lastpulse); +per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_19=// hccp = handcicap for th driven by bt +per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_22=beat=band(above(le,th+hccp),btblock); +per_frame_23=btblock=1-above(le,th+hccp); +per_frame_24=lastbeat=if(beat,time,lastbeat); +per_frame_25=beatfreq=if(equal(beatfreq,0),2, +per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_27=// th = threshold +per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_30=th=if(above(th,6),6,th); +per_frame_31=q3=30/fps; +per_frame_32=ccl=ccl+beat; +per_frame_33=minorccl=minorccl+.01*le; +per_frame_34=q4=beat; +per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter); +per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_37=beateven = beatcounter%2; +per_frame_38=q5 = beateven; +per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_40=oldq8 = q8; +per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2; +per_pixel_2=cx = grid; +per_pixel_3=cy = grid; +per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07); +per_pixel_5=rot = 0.01*(1-rad); +per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64)); +per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48)); diff --git a/presets/presets_milkdrop_200/Rovastar + Unchained - Xen Traffic.milk b/presets/presets_milkdrop_200/Rovastar + Unchained - Xen Traffic.milk new file mode 100755 index 0000000000..4c8582f32a --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Unchained - Xen Traffic.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.975 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=0.502368 +fWaveSmoothing=0.36 +fWaveParam=-0.28 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.942044 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.92 +ib_size=0.004 +ib_r=0.4 +ib_g=0.4 +ib_b=0 +ib_a=1 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=0.4 +mv_b=0.4 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=mv_r=mv_r+.5*bass_residual; +per_frame_27=mv_g=mv_g+.5*mid_residual; +per_frame_28=mv_b=mv_b+.5*treb_residual; +per_frame_29=mv_a=1.1-(ob_a+ib_a)*chaos*.5; +per_frame_30=mv_x=abs(beat*10)*entropy; +per_frame_31=mv_y=abs(pulse*10)*entropy; +per_frame_32=mv_l=entropy*(q4-q5); +per_frame_33=wave_r=0.8+0.2*bass_flop*mv_g; +per_frame_34=wave_g=0.3+0.3*mid_flop*mv_b; +per_frame_35=wave_b=0.4+0.3*0.1*treb_flop*mv_r; +per_frame_36=ob_r=0.1 + 0.1*sin(time*1.143)+0.2*mv_g; +per_frame_37=ob_g=0.3 + 0.3*sin(time*0.897)+0.3*mv_b; +per_frame_38=ob_b=0.2+0.5*mv_r; +per_frame_39=treb_effect = max(max(treb, treb_att)-1.2,0); +per_frame_40=mid_effect = max(max(mid,mid_att)-1.2,0); +per_frame_41=ib_r = 1 - ob_b; +per_frame_42=ib_g = 1- mv_g; +per_frame_43=ib_b = 0.5*mv_b + 0.5*ob_b; +per_frame_44=ib_a = if(above(treb_effect,0), if(above(mid_effect,0),1,0),0); +per_frame_45=q6 = max(max(bass,bass_att)-1.18,0); +per_pixel_1=grid=rad*10%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + (sqrt(2)-rad)*10%(above(q1,q5)+above(q2,q4)+above(q3,q5))*q1; +per_pixel_2=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_3=zoom=zoom-bnot(grid)*atan2(x*q3*3.14,y*q5*3.14)*.14*(x*2-1)+0.12*q6; +per_pixel_4=sx=sx+.2*q1*sin(x*1.6)*-grid; +per_pixel_5=sy=sy+.2*q2*sin(y*1.6)*(1-grid); diff --git a/presets/presets_milkdrop_200/Rovastar + Zylot - Azirphaeli's Plan (Multiplan Mix).milk b/presets/presets_milkdrop_200/Rovastar + Zylot - Azirphaeli's Plan (Multiplan Mix).milk new file mode 100755 index 0000000000..9a19f782ff --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Zylot - Azirphaeli's Plan (Multiplan Mix).milk @@ -0,0 +1,96 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.792077 +fWaveScale=0.999999 +fWaveSmoothing=0 +fWaveParam=0.02 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=1 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = if(equal(wavecolor,1),.5 + .3*sin(time),if(equal(wavecolor,3),if( above(bass,1),1,0 ),if(equal(wavecolor,4),if(above(bass,1),0,1),bass_att*.1))); +per_frame_3=wave_g = if(equal(wavecolor,1),.5 + .3*sin(time*.333),if(equal(wavecolor,2),if(above(bass,1),1,0),if(equal(wavecolor,3),if( above(bass,1),0,1 ), +per_frame_4=treb_att*.1))); +per_frame_5=wave_b = if(equal(wavecolor,1),.5 + .3*sin(time*.666),if(equal(wavecolor,2),if(above(bass,1),0,1),if(equal(wavecolor,4),if( above(bass,1),1,0 ),mid_att*.1))); +per_frame_6=q1 = zoomeffect; +per_frame_7=wave_mystery=if( equal(othereffects,1),-.6+.4*sin(time),if( equal(wavesize,1),-.2,if( equal(wavesize,2),-.5,0))); +per_frame_8=ob_a = if( equal(zoomeffect,2),if( equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,7),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,8),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,9),if(equal(othereffects,2),bass*.1,0),0)))); +per_frame_9=ob_r = wave_g; +per_frame_10=ob_g = wave_b; +per_frame_11=ob_b = wave_r; +per_frame_12=q2 = othereffects; +per_frame_13=wave_mode = if(equal(wavetype,3),5,wavetype); +per_frame_14=decay = if(equal(othereffects,3),.95+.05*sin(time),decay); +per_frame_15=volume = 0.3*(bass+mid+att); +per_frame_16=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_17=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_18=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_19=peakbass_att = max(bass_att,peakbass_att); +per_frame_20=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_21=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_22=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_23=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_24=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_25=mode = if(beat,rand(4),mode); +per_frame_26=wavecolor = if(beat,rand(5),wavecolor); +per_frame_27=zoomeffect = if(beat,rand(10),zoomeffect); +per_frame_28=wavesize = if(beat,rand(3),wavesize); +per_frame_29=othereffects = if(beat,rand(4),othereffects); +per_frame_30=wavetype = if(beat,rand(4),wavetype); +per_pixel_1=zoom = if( equal(q1,1),1+rad*.08,if( equal(q1,2),.93+bass_att*.07,if( equal(q1,3),1.06+.05*sin(rad*30+time*5),if( equal(q1,4),1.05+.05*sin((rad+ang*8+time*5)),if( equal(q1,5),1.05+.05*sin((rad*8+time*5)+(ang*8+time*5)),if( equal(q1,6),1 + .2*abs(rad-.5),if( equal(q1,7),1+.2*(-rad+.5),if( equal(q1,8),(3*y)+2*(pow(x,2))*.01,if( equal(q1,9),1 + .1*sin(y*10),1))))))))); +per_pixel_2=dx = if(equal(q1,10),(rand(11)*.01)-.05,0); +per_pixel_3=dy = if(equal(q1,10),(rand(11)*.01)-.05,0); diff --git a/presets/presets_milkdrop_200/Rovastar + Zylot - Narell's Fever.milk b/presets/presets_milkdrop_200/Rovastar + Zylot - Narell's Fever.milk new file mode 100755 index 0000000000..b51370b2bf --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Zylot - Narell's Fever.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.2 +ob_g=0.4 +ob_b=0.22 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.75 +ib_b=0.55 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=3 +mv_dx=0 +mv_dy=0 +mv_l=3.95 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_frame_init_1=beatcounter =0; diff --git a/presets/presets_milkdrop_200/Rovastar + Zylot - Urza's Revenge.milk b/presets/presets_milkdrop_200/Rovastar + Zylot - Urza's Revenge.milk new file mode 100755 index 0000000000..cc8d338e14 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar + Zylot - Urza's Revenge.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.993000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.453351 +fWaveScale=0.923479 +fWaveSmoothing=0.090000 +fWaveParam=0.0 +fModWaveAlphaStart=1.6 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333); +per_frame_3=wave_g = wave_g + .4*sin(time*.444); +per_frame_4=wave_b = wave_b + .4*sin(time*1.522); +per_frame_5=zoom = 0.994 - sin((time))/300; +per_frame_6=dx = -.0001; +per_frame_7=dy = -.0001; +per_frame_8=wave_mystey = -time/9; +per_pixel_1=zoom = 0.01+if(below(rad,sin(time*1.456)/25+0.18),1.2+sin(time*1.44)/5,zoom + (.07+.03*sin(time*.55))*sin(ang*10+time*8)); +per_pixel_2=zoomexp = zoom/2; +per_pixel_3=rot = .1*sin(((if(above(sin(time/11),0),-rad,rad))*5)+time*.05); diff --git a/presets/presets_milkdrop_200/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_milkdrop_200/Rovastar - A Million Miles From Earth (Wormhole Mix).milk new file mode 100755 index 0000000000..67e081518f --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - A Million Miles From Earth (Wormhole Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.438649 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.999996 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0.00001 +dy=0.00001 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.976 +ob_size=0.005 +ob_r=0.4 +ob_g=0.3 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=1 +ib_g=0.6 +ib_b=0 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=1 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.2*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); diff --git a/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk b/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk new file mode 100755 index 0000000000..8defb8d0c8 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk @@ -0,0 +1,239 @@ +[preset00] +fRating=3.0 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.2 +shapecode_0_ang=0 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0.4 +shapecode_0_a=0.5 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0.2 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.2 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=0.5 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0.2 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.2 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=0.5 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0.2 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=ib_r =0; +per_frame_12=ib_g =0; +per_frame_13=ib_b =0; +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_frame_42=solarize = beat;; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.8*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); diff --git a/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness.milk b/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness.milk new file mode 100755 index 0000000000..c8887672d2 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Altars Of Harlequin's Madness.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=3.0 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0 +mv_dy=0 +mv_l=2.5 +mv_r=1 +mv_g=1 +mv_b=0.8 +mv_a=0 +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=mybeat = if(beat,mybeat+1,mybeat); +per_frame_21=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_22=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_23=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_24=oldq7=q7; +per_frame_25=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_26=oldq6=q6; +per_frame_27=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_28=oldq5=q5; +per_frame_29=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_30=oldq4=q4; +per_frame_31=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_32=oldflag = flag; +per_frame_33=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_34=OldRatio = Ratio; +per_frame_35=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_36=oldq3=q3; +per_frame_37=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_38=oldq2=q2; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); +per_frame_init_1=q8=0; diff --git a/presets/presets_milkdrop_200/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk b/presets/presets_milkdrop_200/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk new file mode 100755 index 0000000000..66f9a28333 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk @@ -0,0 +1,94 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.23 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.25 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.08*(bass_att+3*bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_24=oldq8 = q8; +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*q8),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y*2-1)*48)+0.001*tan((y*2-1)*64)); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),((1+abs(sin(q8)))*0.001)*cos((x*2-1)*48)+0.001*tan((x*2-1)*48)); +per_pixel_7=zoomexp = if(above(box,1),3,1); diff --git a/presets/presets_milkdrop_200/Rovastar - Braindance 1.milk b/presets/presets_milkdrop_200/Rovastar - Braindance 1.milk new file mode 100755 index 0000000000..2812088dfe --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Braindance 1.milk @@ -0,0 +1,62 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.925 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.297568 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.489 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=colour = sin(time*1.2)/2 + 0.5; +per_frame_2=wave_g = 1-colour; +per_frame_3=wave_b =0.9 + sin(time/3)/10; +per_frame_4=wave_r = colour; +per_pixel_1=sy= if(below(y,0.47),if(above(y,0.03),pow(log(ang*time),3)/4,-4),1.1); +per_pixel_2=zoom = 1 + sin(rad)/10; diff --git a/presets/presets_milkdrop_200/Rovastar - Cosmic Echoes 2.milk b/presets/presets_milkdrop_200/Rovastar - Cosmic Echoes 2.milk new file mode 100755 index 0000000000..2feb9f09a7 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Cosmic Echoes 2.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=1 +fGammaAdj=1.84 +fDecay=0.9 +fVideoEchoZoom=2.215847 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.130388 +fWaveSmoothing=0.54 +fWaveParam=- +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_2=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_3=bass_on = above(bass_thresh,1.8); +per_frame_4=treb_on = above(treb_thresh,1.9); +per_frame_5=swapcolour = bass_on - treb_on; +per_frame_6=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),1,0)); +per_frame_7=green_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.5,0.25)); +per_frame_8=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,1)); +per_frame_9=red = red + (red_aim - red)*if(equal(swapcolour,1),0.65,0.45); +per_frame_10=green = green + (green_aim - green)*0.5; +per_frame_11=blue = blue + (blue_aim - blue)*if(equal(swapcolour,1),0.45,0.65); +per_frame_12=wave_r = red; +per_frame_13=wave_g = green; +per_frame_14=wave_b = blue; +per_pixel_1=dy = if(above(y,0.5),sin(0.5-y)/10, log10(1/y)/35); diff --git a/presets/presets_milkdrop_200/Rovastar - Demon Sunflower (Double Resistance Mix).milk b/presets/presets_milkdrop_200/Rovastar - Demon Sunflower (Double Resistance Mix).milk new file mode 100755 index 0000000000..988578d005 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Demon Sunflower (Double Resistance Mix).milk @@ -0,0 +1,256 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.850000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.605000 +fWaveSmoothing=0.7 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.064000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.400312 +shapecode_0_ang=1.696460 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_0_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_0_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_0_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_0_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_0_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_0_per_frame7=ang = q1; +shape_0_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_0_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.400312 +shapecode_1_ang=1.696460 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.5 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=1.0 +shape_1_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_1_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_1_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_1_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_1_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_1_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_1_per_frame7=ang = q1 + 3.1415; +shape_1_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_1_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.400312 +shapecode_2_ang=1.696460 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.5 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.5 +shapecode_2_border_r=0.0 +shapecode_2_border_g=0.5 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_2_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_2_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_2_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_2_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_2_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_2_per_frame7=ang = q1+ 3.1415*0.5; +shape_2_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_2_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.400312 +shapecode_3_ang=1.696460 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=0.5 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.5 +shapecode_3_border_r=0.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=1.0 +shape_3_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_3_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_3_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_3_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_3_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_3_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_3_per_frame7=ang = q1 - 3.1415*0.5; +shape_3_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_3_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +per_frame_1=ib_r = 0.5 + 0.499*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=ib_g = 0.5 + 0.499*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=ib_b = 0.5 + 0.499*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=wave_a=0; +per_frame_5=decay =1; +per_frame_6=zoom =1; +per_frame_7=rot=0; +per_frame_8=warp=0; +per_frame_9=q1 = oldq1+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_10=oldq1 = below(q1,30000)*q1; +per_frame_11=monitor =q1; +per_pixel_1=dx=0.005*(bass+bass_att)*tan((sin(sqrt(2)-rad))*5+(ang*5*sin(q1))); +per_pixel_2=dy=-0.005*(bass+bass_att)*tan((sin(sqrt(2)-rad))*5+(-ang*5*sin(q1))); diff --git a/presets/presets_milkdrop_200/Rovastar - Eye On Reality (Mega 3 Mix).milk b/presets/presets_milkdrop_200/Rovastar - Eye On Reality (Mega 3 Mix).milk new file mode 100755 index 0000000000..e77c62c9d9 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Eye On Reality (Mega 3 Mix).milk @@ -0,0 +1,258 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.3 +fWaveScale=0.032546 +fWaveSmoothing=0.0 +fWaveParam=-0.660000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=2.1 +fShader=0.0 +zoom=1.025000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.290770 +sx=1.0 +sy=1.0 +wave_r=0.8 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = q7; +shape_0_per_frame2=y = 1-q8; +shape_0_per_frame3= +shape_0_per_frame4= +shape_0_per_frame5=r = 0.5+ 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +shape_0_per_frame6=g = 0.5 + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +shape_0_per_frame7=b = 0.5 + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +shape_0_per_frame8=r2 = 0.5+ 0.400*( 0.60*sin(0.873*time) + 0.40*sin(1.124*time) ); +shape_0_per_frame9=g2 = 0.5 + 0.400*( 0.60*sin(0.947*time) + 0.40*sin(0.978*time) ); +shape_0_per_frame10=b2 = 0.5 + 0.400*( 0.60*sin(0.889*time) + 0.40*sin(0.868*time) ); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.081954 +shapecode_1_ang=5.026548 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.463937 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x = q7; +shape_1_per_frame2=y = 1-q8; +shape_1_per_frame3= +shape_1_per_frame4= +shape_1_per_frame5=r = 0.5+ 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +shape_1_per_frame6=g = 0.5 + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +shape_1_per_frame7=b = 0.5 + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +shape_1_per_frame8=r2 = 0.5+ 0.400*( 0.60*sin(0.873*time) + 0.40*sin(1.124*time) ); +shape_1_per_frame9=g2 = 0.5 + 0.400*( 0.60*sin(0.947*time) + 0.40*sin(0.978*time) ); +shape_1_per_frame10=b2 = 0.5 + 0.400*( 0.60*sin(0.889*time) + 0.40*sin(0.868*time) ); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=q6 =oldq6+ 0.005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_2=oldq6 = q6; +per_frame_3=left = 0.5 + 0.25*(sin(0.555*q6) + sin(1.111*q6)); +per_frame_4=right = 0.5 + 0.25*(sin(0.333*q6) + sin(1.222*q6)); +per_frame_5=centrex = (left+right)/2; +per_frame_6=distx = 0.1 + (abs(centrex-left)+abs(centrex-right))/2; +per_frame_7=q1 = centrex + distx; +per_frame_8=q2 = centrex - distx; +per_frame_9=wave_x = centrex; +per_frame_10=top = 0.5 + 0.25*(sin(0.888*time) + sin(0.999*time)); +per_frame_11=bottom = 0.5 + 0.25*(sin(0.444*time) + sin(1.333*time)); +per_frame_12=centrey = (top+bottom)/2; +per_frame_13=disty = 0.1 + (abs(centrey-top)+abs(centrey-bottom))/2; +per_frame_14=q3 = centrey + disty; +per_frame_15=q4 = centrey - disty; +per_frame_16=wave_y = 1-centrey; +per_frame_17=warp=0; +per_frame_18=monitor = zoom; +per_frame_19=zoom = 1; +per_frame_20=q7 = centrex; +per_frame_21=q8 = centrey; +per_frame_22=wave_a = 0; +per_frame_23=dx = 0; +per_frame_24=dy =0; +per_pixel_1=newx = x-q7; +per_pixel_2=newy = y-q8; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=newzoom = pow(0.999 + 0.05*sin((q4)*(newang+q3)), pow(sin(newrad*newrad), newrad)); +per_pixel_6=rot=rot+0.16*sin(q6*-3.3+newrad*11)*(1.3-newrad); +per_pixel_7=zoom=zoom+0.04*sin(q6*1.2+newang*6.28*3); diff --git a/presets/presets_milkdrop_200/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_milkdrop_200/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk new file mode 100755 index 0000000000..5ee8626c85 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.4 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.999999 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.040000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=-0.002000 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=0.0 +mv_b=0.0 +mv_a=1.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.150375 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = 0.5 + 0.05*sin(q1*0.456); +shape_0_per_frame2=y = 0.5 + 0.05*sin(q1*0.56); +shape_0_per_frame3=tex_zoom = tex_zoom + 0.5*sin(q1*0.345); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=wave_a =0; +per_frame_2=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_3=movement = if(above(movement,10000), 0, movement); +per_frame_4=ob_b = q4+0.25*sin(movement*3.816); +per_frame_5=ob_g = q4+0.25*sin(movement*0.744); +per_frame_6=ob_r = q4+0.25*sin(movement*0.707); +per_frame_7=wrap = above(bass+bass_att,3); +per_frame_8=decay=1; +per_frame_9=rot=0; +per_frame_10=zoom =0.98; +per_frame_11=mv_r = 0; +per_frame_12=mv_g = 0; +per_frame_13=mv_b =0; +per_frame_14=mv_dy = 0.03*sin(movement*0.34); +per_frame_15=mv_dx = 0.035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_frame_16=warp=0; +per_frame_17=dx =0.01*sin(movement*5); +per_frame_18=dy =0.0005*(bass+bass_att); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx =dx+ 2*(2*myx*myy); +per_pixel_4=dy =dy+ 2*((myy*myy) - (myx*myx)); +per_pixel_5= diff --git a/presets/presets_milkdrop_200/Rovastar - Fractopia (Galaxy Swirl Mix).milk b/presets/presets_milkdrop_200/Rovastar - Fractopia (Galaxy Swirl Mix).milk new file mode 100755 index 0000000000..cd52f0f86f --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Fractopia (Galaxy Swirl Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.4 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.999999 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.040000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=-0.002000 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.6 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=wave_x = 1-(xpos + 0.5); +per_frame_4=wave_y = ypos + 0.5; +per_frame_5=mv_r = 0.5 + 0.499*(0.60*sin(3.980*time) + 0.40*sin(1.047*time) ); +per_frame_6=mv_g = 0.5+ 0.499*(0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_7=mv_b = 0.5 + 0.499*(0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_8=q1 = (x_pos+0.5); +per_frame_9=q2 = 1- (ypos+0.5); +per_frame_10=wave_a =0; +per_frame_11=warp=0; +per_frame_12=zoom =1; +per_frame_13=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_14=movement = if(above(movement,10000), 0, movement); +per_frame_15=rot =-0.04+ 0.01*(sin(movement*0.696)+cos(movement*0.463)+sin(movement*0.365)); +per_frame_16=cx = 0 + 0.1*(sin(movement*0.247)+cos(movement*0.373)+sin(movement*0.187)); +per_frame_17=cy = 0 + 0.1*(sin(movement*0.317)+cos(movement*0.209)+sin(movement*0.109)); +per_frame_18=ob_b = q4+0.25*sin(movement*3.816); +per_frame_19=ob_g = q4+0.25*sin(movement*0.744); +per_frame_20=ob_r = q4+0.25*sin(movement*0.707); +per_frame_21=wrap = below(bass+bass_att,3); +per_frame_22=zoom = 0.99 + 0.0035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx = 2*(2*myx*myy); +per_pixel_4=dy = 2*((myy*myy) - (myx*myx)); diff --git a/presets/presets_milkdrop_200/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_milkdrop_200/Rovastar - Fractopia (Upspoken Mix).milk new file mode 100755 index 0000000000..8c7645dddc --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Fractopia (Upspoken Mix).milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.2 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.999999 +sx=1.0 +sy=1.0 +wave_r=0.9 +wave_g=0.2 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=0.1 +ob_b=0.0 +ob_a=1.0 +ib_size=0.050000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=0.0 +mv_b=0.0 +mv_a=1.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.537415 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.725085 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets/presets_milkdrop_200/Rovastar - Halcyon Dreams 3.milk b/presets/presets_milkdrop_200/Rovastar - Halcyon Dreams 3.milk new file mode 100755 index 0000000000..385abcbd3c --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Halcyon Dreams 3.milk @@ -0,0 +1,222 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.370000 +fDecay=0.979000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.824241 +fWaveScale=0.970586 +fWaveSmoothing=0.570000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.072135 +rot=0.040000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .33*sin(time*1.2); +per_frame_3=wave_g = wave_g + .33*sin(time*.888); +per_frame_4=wave_b = wave_g + .33*sin(time*.999); +per_pixel_1=fleem=if(above(bass_att,1),-4,8)+if(above(treb_att,1),8,-4); +per_pixel_2=zoom = zoom + 0.07*cos(((rad)*-fleem)-rad); +per_pixel_3=sx = 1+sin(rad)/9; +per_pixel_4=sy = 1+sin(rad)/8; diff --git a/presets/presets_milkdrop_200/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk b/presets/presets_milkdrop_200/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk new file mode 100755 index 0000000000..079f8bc848 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.94 +fWaveScale=1.599182 +fWaveSmoothing=0.7 +fWaveParam=1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.001 +fShader=0 +zoom=1.007 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.7 +wave_g=0.3 +wave_b=0.3 +wave_x=0 +wave_y=0.5 +ob_size=0.005 +ob_r=0.4 +ob_g=0.3 +ob_b=0 +ob_a=0.7 +ib_size=0.005 +ib_r=0.65 +ib_g=0.05 +ib_b=0.45 +ib_a=0.3 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=decay = decay - 0.03*equal(frame%30,0); +per_frame_5=treb_effect = max(max(treb,treb_att)-1.25,0); +per_frame_6=mid_effect= max(max(mid,mid_att)-1.25,0); +per_frame_7=ob_size = ob_size + 0.005*treb_effect; +per_frame_8=ib_size = ib_size + 0.005*mid_effect; +per_frame_9=ob_r = ob_r -0.2* treb_effect +0.2* mid_effect; +per_frame_10=ib_g = ib_g + 0.2*mid_effect- 0.2*treb_effect; +per_pixel_1=ok_to_change = if(above(time,beat_time+5),1,0); +per_pixel_2=bass_effect = max(bass, bass_att)-1; +per_pixel_3=beat_time = if(above(bass_effect,0.5), if(ok_to_change,time,beat_time),beat_time); +per_pixel_4=effect = if(equal(time,beat_time),abs(effect-1),effect); +per_pixel_5=bass_effect = max(max(bass,bass_att)-1.34,0); +per_pixel_6=zoom = if(above(effect,0),0.4*x,0.4*y) +0.6 -0.13*(min(bass_effect,0.3)); diff --git a/presets/presets_milkdrop_200/Rovastar - Harlequin's Liquid Dragon.milk b/presets/presets_milkdrop_200/Rovastar - Harlequin's Liquid Dragon.milk new file mode 100755 index 0000000000..1e9351a0d9 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Harlequin's Liquid Dragon.milk @@ -0,0 +1,92 @@ +[preset00] +fRating=2.0 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.998531 +rot=0.002 +cx=0.692 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*1.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*1.724); +per_frame_3=ob_b = 0.5 - 0.35*cos(time*1.196); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.02; +per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_7=ib_g = ib_g + 0.5*sin(time*2.147); +per_frame_8=ib_b = ib_b - 0.5*sin(time*3.431); +per_frame_9=dx = dx -0.005*sin(time*0.23); +per_frame_10=dy = dy - 0.005*sin(time*0.2); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=q5 = max(max(bass,bass_att)-1.2,0); +per_pixel_1=box =0.5+0.8*(2*x%2+2*y%2); +per_pixel_2=q1 = 2*q5+7.7+0.3*(sin(pow(x,3)+0.137*time)-cos(pow(y,3)+0.213*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.5*sin(0.5*rad+0.385*time),rot); +per_pixel_5=cx = cx - 0.5*sin(rad+2*q4); +per_pixel_6=cy = cy + 0.11*sin((sqrt(2)-rad)-18*q2); diff --git a/presets/presets_milkdrop_200/Rovastar - Hyperspace (Hyper Speed Mix).milk b/presets/presets_milkdrop_200/Rovastar - Hyperspace (Hyper Speed Mix).milk new file mode 100755 index 0000000000..f457e929fe --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Hyperspace (Hyper Speed Mix).milk @@ -0,0 +1,73 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.973 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905229 +fWaveSmoothing=0.6 +fWaveParam=-0.3 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=0.999835 +fShader=0 +zoom=0.999682 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.35 +mv_g=0.35 +mv_b=0.35 +mv_a=1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.5*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_pixel_1=zoom = 1.01 + rad*0.15*q1; diff --git a/presets/presets_milkdrop_200/Rovastar - Hyperspace.milk b/presets/presets_milkdrop_200/Rovastar - Hyperspace.milk new file mode 100755 index 0000000000..d336f4f3d9 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Hyperspace.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.0 +fGammaAdj=2 +fDecay=0.973 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905229 +fWaveSmoothing=0.6 +fWaveParam=-0.3 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=0.999835 +fShader=0 +zoom=0.999682 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.35 +mv_g=0.35 +mv_b=0.35 +mv_a=1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_pixel_1=zoom = 1.01 + rad*0.15*q1; diff --git a/presets/presets_milkdrop_200/Rovastar - Jester's Calling 2.milk b/presets/presets_milkdrop_200/Rovastar - Jester's Calling 2.milk new file mode 100755 index 0000000000..343dfa215b --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Jester's Calling 2.milk @@ -0,0 +1,119 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.96 +fVideoEchoZoom=0.999836 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.01 +fWaveSmoothing=0.75 +fWaveParam=0.5001 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9999 +rot=0.1 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.5 +ib_size=0.005 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.3 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=vol = 0.167*(bass+mid); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=ib_r = ib_r + 2*sin(time*4.132)*xpos; +per_frame_14=ib_b = ib_b + 2*sin(time*4.042)*ypos; +per_frame_15=ib_g = ib_g + 0.3*sin(time*0.631);; +per_frame_16=ob_g = beat*treb*0.5; +per_frame_17=ob_a = 0.5 + 0.5*beat; +per_frame_18=ob_size = ob_size + 0.01*beat; +per_frame_19=mv_dx =0.15* xpos; +per_frame_20=mv_dy = 0.15*ypos; +per_frame_21=mv_l = 0.15; +per_frame_22=mv_r = 1 - ib_r; +per_frame_23=mv_b = 1-ib_g; +per_frame_24=mv_g = 1-ib_b; +per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_30=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_33=lastbeat = if(beat,time,lastbeat); +per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0); +per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*rand(500),Old_Eff_size); +per_frame_37=Old_Eff_size =Eff_size; +per_frame_38=q5 = Eff_size; +per_frame_39=mv_l = if(Eff_test,q5*3,mv_l); +per_frame_40=q6 = 3*xpos; +per_frame_41=q4 = 3*ypos; +per_frame_42=decay = decay + if(Eff_test,0,0.04); +per_frame_43=wave_r = 1-ib_g; +per_frame_44=wave_g = 1-ib_b; +per_frame_45=wave_b = 1-ib_b; +per_pixel_1=q1 = 0.4*rad; +per_pixel_2=q2= (0.3*rad); +per_pixel_3=q3 = below(rad,0.1*q5+ 0.3); +per_pixel_4=q7 =if(q3,0,10 + int(1*(rad))); +per_pixel_5=q8 =if(q3,0,10 + int(1*(rad))); +per_pixel_6=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); +per_pixel_7=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2); +per_pixel_8=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy); +per_pixel_9=zoom = if(q3,0.3+0.1*q5+ 0.5*q4,zoom); +per_frame_init_1=Eff_test =1; +per_frame_init_2=Eff_size = 400; diff --git a/presets/presets_milkdrop_200/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk b/presets/presets_milkdrop_200/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk new file mode 100755 index 0000000000..636e333b6f --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk @@ -0,0 +1,86 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.01 +fWaveSmoothing=0.5 +fWaveParam=1 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.999996 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0.00001 +dy=0.00001 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.98 +ob_size=0.0145 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.015 +ib_r=1 +ib_g=0.6 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=2.4 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.6 + 0.4*sin(time*3.894); +per_frame_3=ib_g = 0.43 + 0.13*sin(time*1.143); +per_frame_4=ib_b = 0.5+ 0.33*sin(time*3.465); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=dx = 1.1* dx_r; +per_frame_9=dy = 1.1* dy_r; +per_frame_10=q2 = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); +per_frame_11=mv_l =10000; +per_frame_12=mv_y =2.0; +per_frame_13=mv_dy = -0.1; +per_frame_14=mv_r =0.7+0.148*(ib_r+ib_b); +per_frame_15=mv_b =1-0.2*(ib_r+ib_b); +per_frame_16=mv_g =0.6+ 0.19*(ib_g+ib_r); +per_frame_17=zoom = zoom -0.02*thresh; +per_frame_18=wave_r = ib_r; +per_frame_19=wave_b = ib_b; +per_frame_20=wave_g = ib_g; +per_frame_21=ob_r = 1-ib_g; +per_frame_22=ob_b = 0.5*(ib_r+ib_g); +per_pixel_1=rot = q2*(rad)*20; diff --git a/presets/presets_milkdrop_200/Rovastar - LabFunk.milk b/presets/presets_milkdrop_200/Rovastar - LabFunk.milk new file mode 100755 index 0000000000..bd717150dc --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - LabFunk.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.94 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=10.039368 +fWaveScale=0.461371 +fWaveSmoothing=0.45 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=0.999922 +fShader=0 +zoom=0.773208 +rot=0.02 +cx=0.5 +cy=0.5 +dx=0.005 +dy=0 +warp=0.198054 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.31 +ob_g=0.2 +ob_b=0.1 +ob_a=0.2 +ib_size=0.26 +ib_r=0.25 +ib_g=0.05 +ib_b=0 +ib_a=0.3 +per_frame_1=tt = time/100; +per_frame_2=ob_size = abs(cos(time))/5 - 0.3 + bass/8; +per_frame_3=ib_size = abs(sin(time))/5 - 0.3 + treble/7; +per_frame_4=ob_r = sin(3*tt)/4+0.75; +per_frame_5=ib_b = sin(tt)/2 +0.5; +per_frame_6=ob_a = 2*bass_att-0.5 ; +per_frame_7=ib_a = 2*treble_att-0.5; +per_frame_8=wave_r = sin(4*tt)/3 +0.3; +per_frame_9=wave_b = atan(3*tt)/2 +1; +per_frame_10=wave_g = cos(tt)/2 + 1; +per_pixel_1=rot = if(above(bass_att,1.1),-sin(rad)/2, sin(rad)/2); +per_pixel_2=cx = abs(sin(rad)); diff --git a/presets/presets_milkdrop_200/Rovastar - Oozing Resistance.milk b/presets/presets_milkdrop_200/Rovastar - Oozing Resistance.milk new file mode 100755 index 0000000000..1aa256a02a --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Oozing Resistance.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.01 +fWaveSmoothing=0.63 +fWaveParam=-0.4 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999513 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.5 +mv_r=0.35 +mv_g=0.35 +mv_b=0.35 +mv_a=0 +per_frame_1=ob_r = 0.5+0.5*sin(2*time); +per_frame_2=ob_g = 0.5+0.5*sin(1.23*time); +per_frame_3=ob_b = 0.5+0.5*sin(time*1.321); +per_frame_4=wave_a =0; +per_frame_5=q8 =oldq8+ 0.003*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=warp=0; +per_pixel_1=rot = 0.1*(rad+cos((5+5*sin(q8*1.211)*x)-0.5) -sin(((5+5*sin(q8*0.973))*y)-0.5)); +per_pixel_2=dx = 0.005*(cos((5+5*sin(q8*1.311)*x)-0.5) -sin(((5+5*sin(q8*0.9431))*y)-0.5)); +per_pixel_3=dy = 0.005*(cos((5+5*sin(q8*1.021)*x)-0.5) -sin(((5+5*sin(q8*0.987))*y)-0.5)); +per_pixel_4=zoom =1- 0.005*(rad+cos((5+5*sin(q8*0.943)*x)-0.5) -sin(((5+5*sin(q8*1.0961))*y)-0.5)); diff --git a/presets/presets_milkdrop_200/Rovastar - Snapshot Of Space.milk b/presets/presets_milkdrop_200/Rovastar - Snapshot Of Space.milk new file mode 100755 index 0000000000..8341eb54f2 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Snapshot Of Space.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.0 +fGammaAdj=2 +fDecay=0.981 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905229 +fWaveSmoothing=0.6 +fWaveParam=-0.3 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=2.630064 +fShader=0 +zoom=1.031 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=24.986328 +nMotionVectorsY=20.03064 +mv_dx=0.064545 +mv_dy=0.109009 +mv_l=0.035858 +mv_r=0.816156 +mv_g=0.098993 +mv_b=0.816156 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; diff --git a/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake MD2 Mix).milk b/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake MD2 Mix).milk new file mode 100755 index 0000000000..684f2cc7ce --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake MD2 Mix).milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.704175 +fWaveScale=0.044484 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=mv_r = 0.7 + 0.3*sin(time*0.5683); +per_frame_3=mv_b = 0.8 + 0.2*sin(time*0.7832); +per_frame_4=mv_g = 0.82 + 0.15*sin(time*1.103); +per_frame_5=q1 = max(max(bass,bass_att)-1.15,0); +per_frame_6=q2 = max(max(treb,treb_att)-1.15,0); +per_frame_7=rot = abs(0.05*sin(time))-1.3*q1; +per_pixel_1=zoom = 0.4 + atan(atan(rad)*1.5*rad)+2.5*q1; +per_pixel_2=zoomexp= max(10*(1+q1-q2),0.2); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv - 0.5; +warp_4=` float2 uv3; +warp_5=` uv3.x = (uv2.x* q1 + uv2.y*q2)*0.97 + 0.5; +warp_6=` uv3.y = (uv2.x*-q2 + uv2.y*q1)*0.97 + 0.5; +warp_7=` +warp_8=` ret.x = tex2D( sampler_main, lerp(uv,uv3,0.0) ).x; +warp_9=` ret.y = tex2D( sampler_main, lerp(uv,uv3,0.5) ).y; +warp_10=` ret.z = tex2D( sampler_main, lerp(uv,uv3,1.0) ).z; +warp_11=` +warp_12=` // .x = fastest layer, .z = slowest +warp_13=` // slowly shift stuff toward the front, over time: +warp_14=` ret += float3(-ret.x,ret.x-ret.y,ret.y-ret.z)*0.03; +warp_15=` +warp_16=` // ERROR DIFFUSION DITHER - looks great +warp_17=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_18=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.003; +warp_22=` //ret *= 0.99; +warp_23=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + 0.6*ret.xy; +comp_10=` ret = tex2D(sampler_seaweed, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} +comp_15=` +comp_16=` diff --git a/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake Mix).milk b/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake Mix).milk new file mode 100755 index 0000000000..e0eb60d752 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Starquake (Sunquake Mix).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=2.0 +fGammaAdj=2 +fDecay=0.95 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.704175 +fWaveScale=0.044484 +fWaveSmoothing=0 +fWaveParam=-0.48 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.980296 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0.8 +ob_b=0.9 +ob_a=1 +ib_size=0 +ib_r=0.25 +ib_g=0.65 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=1 +per_frame_1=warp = 0; +per_frame_2=mv_r = 0.7 + 0.3*sin(time*0.5683); +per_frame_3=mv_b = 0.8 + 0.2*sin(time*0.7832); +per_frame_4=mv_g = 0.82 + 0.15*sin(time*1.103); +per_frame_5=q1 = max(max(bass,bass_att)-1.15,0); +per_frame_6=q2 = max(max(treb,treb_att)-1.15,0); +per_frame_7=rot = abs(0.05*sin(time))-1.3*q1; +per_pixel_1=zoom = 0.4 + atan(atan(rad)*1.5*rad)+2.5*q1; +per_pixel_2=zoomexp= max(10*(1+q1-q2),0.2); diff --git a/presets/presets_milkdrop_200/Rovastar - Tripmaker (Space Trip Mix).milk b/presets/presets_milkdrop_200/Rovastar - Tripmaker (Space Trip Mix).milk new file mode 100755 index 0000000000..246d7b2227 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Tripmaker (Space Trip Mix).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.0 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=100.0 +fShader=1.0 +zoom=0.999998 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.2 +ob_g=0.4 +ob_b=0.220000 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.080000 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=1.0 +shapecode_1_a=0.080000 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=1.696460 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=tex_zoom = q1+tex_zoom - 0.01*q2; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=tex_ang = 0.2*q2 + sin(0.4*time); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=//ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=//ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=//ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_milkdrop_200/Rovastar - Tripmaker.milk b/presets/presets_milkdrop_200/Rovastar - Tripmaker.milk new file mode 100755 index 0000000000..23aca42540 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - Tripmaker.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=2.0 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=100.0 +fShader=1.0 +zoom=0.999998 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.2 +ob_g=0.4 +ob_b=0.220000 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=0.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.080000 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=1.0 +shapecode_1_a=0.080000 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=0.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.050000 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_milkdrop_200/Rovastar - VooV's Movement (After Dark Mix) - Painterly.milk b/presets/presets_milkdrop_200/Rovastar - VooV's Movement (After Dark Mix) - Painterly.milk new file mode 100755 index 0000000000..250af4de41 --- /dev/null +++ b/presets/presets_milkdrop_200/Rovastar - VooV's Movement (After Dark Mix) - Painterly.milk @@ -0,0 +1,289 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0 +fWaveScale=1.186471 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=0.351767 +fShader=0.0 +zoom=0.980296 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.7 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.248000 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=framehalf = frame%2; +per_frame_3=volume = 0.3*(bass+mid); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_9=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=mode = if(beat,abs(mode-1),mode); +per_frame_14=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_15=oldq8 = q8; +per_frame_16=q1 = 0.5 + 0.15*sin(0.416*q8) + 0.15*sin(0.832*q8) + 0.1*sin(1.324*q8); +per_frame_17=q2 = 0.5 + 0.15*sin(0.341*q8) + 0.15*sin(0.768*q8) + 0.1*sin(1.523*q8); +per_frame_18=q6 = 0.5 + 0.15*sin(0.287*q8) + 0.15*sin(0.913*q8) + 0.1*sin(1.142*q8); +per_frame_19=q7 = 0.5 + 0.15*sin(0.531*q8) + 0.15*sin(0.671*q8) + 0.1*sin(1.442*q8); +per_frame_20=ob_size = beat*0.05; +per_frame_21=ob_r = sin(20*(q1+q2)); +per_frame_22=ob_g = sin(25*(q6+q7)); +per_frame_23=q4 = (8 + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_24=q5 = (12 + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_25=q3 = mode; +per_frame_26=wave_a =0.4; +per_frame_27=wave_r = if(framehalf,0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time),0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time)); +per_frame_28=wave_g = if(framehalf,0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time),0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time)); +per_frame_29=wave_b = if(framehalf,0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time),0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time)); +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q6; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=newzoom = pow(0.995 + 0.05*sin((q4)*(newang+q3)), pow(sin(newrad*newrad), newrad)); +per_pixel_6=dx = (newx)*newzoom - newx; +per_pixel_7=dy = (newy)*newzoom - newy; +per_pixel_8=newx = x - q2; +per_pixel_9=newy = y - q7; +per_pixel_10=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_11=newang = atan2(newx,newy); +per_pixel_12=newzoom = pow(0.995 + 0.05*sin((q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_13=dx = dx + (newx)*newzoom - newx; +per_pixel_14=dy = dy + (newy)*newzoom - newy; +per_pixel_15=newx = x - (0.33*(q1+q2+q6)); +per_pixel_16=newy = y - (0.33*(3-q2-q6-q7)); +per_pixel_17=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_18=newang = atan2(newx,newy); +per_pixel_19=newzoom = pow(1.04 + 0.05*sin(0.5*(q4+q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_20=dx = dx + (newx)*newzoom - newx; +per_pixel_21=dy = dy + (newy)*newzoom - newy; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret.xyz = tex2D(sampler_main, uv).xyz; +comp_4=` ret.xyz *= 1.280; //old gamma effect +comp_5=` ret.xyz *= ret.xyz; //old darken effect +comp_6=`} diff --git a/presets/presets_milkdrop_200/Rozzor + Idiot - Any Other Deep Rising.milk b/presets/presets_milkdrop_200/Rozzor + Idiot - Any Other Deep Rising.milk new file mode 100755 index 0000000000..01d470722f --- /dev/null +++ b/presets/presets_milkdrop_200/Rozzor + Idiot - Any Other Deep Rising.milk @@ -0,0 +1,101 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.14 +fDecay=0.91 +fVideoEchoZoom=0.591237 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.008018 +fWaveScale=1.001829 +fWaveSmoothing=0 +fWaveParam=0.5 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.001827 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.905286 +sy=0.932718 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.1 +ob_g=0.1 +ob_b=0.1 +ob_a=0.01 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.5 +nMotionVectorsX=11.52 +nMotionVectorsY=10.559999 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0.5 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=ying = if(below(ying,1),1,ying); +per_frame_3=ying = if (beat,ying + bnot(time*10%3),ying); +per_frame_4=yin = ying%2; +per_frame_5=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_6=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_7=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_8=beatcount = if(bnot(time%5000),0,beatcount); +per_frame_9=beatcount = beatcount +.05*beat; +per_frame_10=yang = bnot(beatcount%2); +per_frame_11=ib_r = 0; +per_frame_12=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime); +per_frame_13=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2); +per_frame_14=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime))); +per_frame_15=mv_b = -1*abs(cos(slowtime))+1; +per_frame_16=mv_r = .8; +per_frame_17=redneg = if(below(ib_r,0),1,0); +per_frame_18=greenneg = if(below(ib_g,0),1,0); +per_frame_19=blueneg = if(below(ib_b,0),1,0); +per_frame_20=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r); +per_frame_21=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g); +per_frame_22=wave_b = if(blueneg,1 + ib_b, ib_b); +per_frame_23=q1 = if(yin,sin(slowtime),q1); +per_frame_24=q2 = if(yin,cos(slowtime),0); +per_frame_25=q3 = sin(beatcount); +per_frame_26=dx = if(yin,.01*sin(slowtime),if(equal(yin,yang),0,dx)); +per_frame_27=dy = if(yin,.01*cos(slowtime),0); +per_frame_28=q5 = if(bnot(yin),abs(cos(time)),dx); +per_frame_29=wave_mystery=wave_mystery-1*sin(time*.65*sin(q3)); +per_frame_30=wave_mode=rand(slowtime%12); +per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y)); +per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5; +per_pixel_3=sy = if(equal(q3,0),sy,1-solipsist); +per_pixel_4=new_x=rad*.05-x; +per_pixel_5=new_y=rad*.05-y; +per_pixel_6=zoom=zoom+.01*sin(ang-rad*3.14*sin(if(Above(q2,q1),.5,-.5)*sin(new_X*new_y)))*sin(if(Above(q3,q1),.5,-.5))-.03*sin(Ang*5-rad*sin(if(Above(q3,q2),.5,-.5))); +per_frame_init_1=warp = 0; +per_frame_init_2=beatcount = 0; diff --git a/presets/presets_milkdrop_200/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk b/presets/presets_milkdrop_200/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk new file mode 100644 index 0000000000..9c90e43bf9 --- /dev/null +++ b/presets/presets_milkdrop_200/Shifter & EoS+Phat - Fractical dancer (shattered mind).milk @@ -0,0 +1,284 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=1.052900 +fVideoEchoAlpha=1.0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.020000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.050000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.1 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q7; +shape_0_per_frame2=y=.5+q8; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.164463 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.6 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x = .5 + q7; +shape_2_per_frame2=y = .5 + q8; +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = .5 - q7; +shape_3_per_frame2=y = .5 - q8; +shape_3_per_frame3= +shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); +shape_3_per_frame5= +shape_3_per_frame6=a = max(1 - d*4,0); +shape_3_per_frame7=a2 = max(1 - d*4*2,0); +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); +per_frame_23= +per_frame_24=q7=sin(mt*0.02)*0.1; +per_frame_25=q8=sin(mt*0.01)*0.1; +per_frame_26= +per_frame_27=dx=sin(mt*0.1)*0.07; +per_frame_28=dy=cos(mt*0.069)*0.07; +per_frame_29= +per_frame_30=monitor = mt; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*3) + sqr( (y-0.5+q8)*2 ) ); +per_pixel_2= +per_pixel_3=zoom=(rd*rd)/2.5; diff --git a/presets/presets_milkdrop_200/Studio Music - Cherished Desires.milk b/presets/presets_milkdrop_200/Studio Music - Cherished Desires.milk new file mode 100755 index 0000000000..a0f54ea80b --- /dev/null +++ b/presets/presets_milkdrop_200/Studio Music - Cherished Desires.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2.947994 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.3965 +fWaveScale=0.969133 +fWaveSmoothing=0.666 +fWaveParam=0.0001 +fModWaveAlphaStart=1.3799 +fModWaveAlphaEnd=1.02 +fWarpAnimSpeed=2 +fWarpScale=1 +fZoomExponent=0.0567 +fShader=0.7 +zoom=0.5393 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=0.8195 +sy=0.819545 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.5 +ob_g=0.01 +ob_b=0.01 +ob_a=0.95 +ib_size=0.01 +ib_r=0.01 +ib_g=0.01 +ib_b=0.5 +ib_a=0.95 +nMotionVectorsX=9 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass*.5; +per_frame_3=wave_g = treb*.5; +per_frame_4=wave_b = mid*.5; +per_frame_5=decay = .99; +per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_7=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=zoom = 1.2+rad*.1; +per_pixel_2=zoomexp =1 - 1*sin(rad*time*100); diff --git a/presets/presets_milkdrop_200/Studio Music - Personification.milk b/presets/presets_milkdrop_200/Studio Music - Personification.milk new file mode 100755 index 0000000000..1709f15c16 --- /dev/null +++ b/presets/presets_milkdrop_200/Studio Music - Personification.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.008000 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.916200 +fWaveScale=0.999400 +fWaveSmoothing=0.666000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.079900 +fWarpAnimSpeed=0.941900 +fWarpScale=2.814500 +fZoomExponent=0.999600 +fShader=0.830000 +zoom=1.006500 +rot=0.0 +cx=0.500001 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.155500 +sx=0.999600 +sy=0.999899 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.25 +ob_g=0.650000 +ob_b=0.25 +ob_a=1.0 +ib_size=0.010000 +ib_r=0.650000 +ib_g=0.250001 +ib_b=0.250001 +ib_a=1.0 +nMotionVectorsX=24.159897 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.050000 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=1.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=2 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.999981 +wavecode_0_smoothing=0.499900 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1= +wave_0_per_frame2=rx=rx+.025+sin(bass_att)*.025; +wave_0_per_frame3=ry=ry+.025+sin(treb_att)*.25; +wave_0_per_frame4=rz=rz+.01; +wave_0_per_frame5= +wave_0_per_frame6=t1=sin(rx);t2=cos(rx); +wave_0_per_frame7=t3=sin(ry);t4=cos(ry); +wave_0_per_frame8=t5=sin(rz);t6=cos(rz); +wave_0_per_point1=sample=sample*q1*.5; +wave_0_per_point2=x1=sin(sample)*sin(sample*80)*.3; +wave_0_per_point3=y1=cos(sample)*.3; +wave_0_per_point4=z1=sin(sample)*cos(sample*80)*.3; +wave_0_per_point5=x1=x1+sin(time*.1)*.5; +wave_0_per_point6=y1=y1+cos(time*.2)*.5; +wave_0_per_point7=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_0_per_point8=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_0_per_point9=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_0_per_point10=z3=if(above(z3,.1),.5/z3,0); +wave_0_per_point11=x=if(z3,x3*z3,x)+.5; +wave_0_per_point12=y=if(z3,y3*z3,y)+.5; +wave_0_per_point13=hu=sample+sin(time); +wave_0_per_point14=r=sin(hu)*.5+.5; +wave_0_per_point15=g=sin(hu+q1*.33)*.5+.5; +wave_0_per_point16=b=sin(hu+q1*.66)*.5+.5; +wave_0_per_point17=a=(bass+mid+treb)*.16+.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.997729 +wavecode_3_smoothing=0.5 +wavecode_3_r=0.3 +wavecode_3_g=0.650000 +wavecode_3_b=0.3 +wavecode_3_a=1.0 +wave_3_init1=//pi +wave_3_init2=//t8=3.14159265*0.15; +wave_3_init3=//t5 = 1; +wave_3_init4= +wave_3_init5=//n =300; +wave_3_init6=t1 = 300; +wave_3_init7=//rx = 0; +wave_3_init8=t2 = 10; +wave_3_init9=//ry = 0; +wave_3_init10=t3 = 0; +wave_3_init11=//tpi =3.1415; +wave_3_init12=t4 = 2.14159265; +wave_3_init13=//c=1; +wave_3_init14=t5 = 1; +wave_3_init15=//hu=10; +wave_3_init16=t6 = 10; +wave_3_init17=//hut=-10; +wave_3_init18=t7 = -10; +wave_3_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_3_per_frame2=t6 = (t7+t6*5)/6; +wave_3_per_frame3=t2 = pow(2*bass+bass_att,5)*0.01115111 +oldt2; +wave_3_per_frame4=oldt2 = t2; +wave_3_per_frame5=//t2 = 3*sin(time*1.1965); +wave_3_per_frame6=t3 = pow(2*bass+bass_att,4)*0.01126213 + oldt3; +wave_3_per_frame7=oldt3 = t3; +wave_3_per_frame8=//t3 = 3*sin(time*0.0872); +wave_3_per_frame9= +wave_3_per_frame10=q1 = -cos(cos(t2)); +wave_3_per_frame11=q2 = cos(-t3); +wave_3_per_frame12=q3 = sin(cos(-t2)); +wave_3_per_frame13=q4 = sin(t3); +wave_3_per_point1=u = sample*1-1; +wave_3_per_point2=rf = 512; +wave_3_per_point3=shc = 1-u*u; +wave_3_per_point4=cf = below(sample,1.05); +wave_3_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.05), (sample-0.05)*15+0.1, pow(shc,0.7)*1.5)); +wave_3_per_point6=u = u + v/2; +wave_3_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_3_per_point8=py = sample*2-1; +wave_3_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_3_per_point10=y1 = py*q1 + pz*q3; +wave_3_per_point11=z1 = pz*q1 - py*q3; +wave_3_per_point12=x2 = px*q2 + z1*q4; +wave_3_per_point13=z2 = z1*q2 - px*q4+5; +wave_3_per_point14=x = x2/z2; +wave_3_per_point15=y = y1/z2; +wave_3_per_point16=x = x*0.5 + 0.5; +wave_3_per_point17=y = 0.5*y + 0.5; +wave_3_per_point18=r = 0.5+sin(sample*295)*0.5; +wave_3_per_point19=g = 0.5*sin(time*0.0245)+0.999*(0.5+sin(x*195)*0.5); +wave_3_per_point20=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.100310 +shapecode_0_ang=0.010000 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=0.460001 +shapecode_0_border_g=0.370001 +shapecode_0_border_b=0.6 +shapecode_0_border_a=1.0 +shape_0_per_frame1=x = 0.5 + 0.01*cos(q2*0.5) + 0.25*cos(time*5.5); +shape_0_per_frame2=y = 0.5 + 0.01*sin(q2*0.5) + 0.25*sin(time*5.5); +shape_0_per_frame3=r = 0.5 + 0.5*sin(time*1.713 + 2); +shape_0_per_frame4=g = 0.5 + 0.5*sin(time*1.063 + 3); +shape_0_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_0_per_frame6=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_0_per_frame7=g2 = 0.5 + 0.5*sin(time*1.056+ 1); +shape_0_per_frame8=b2 = 0.5 + 0.5*sin(time*1.038 + 3); +shape_0_per_frame9=border_blue = sin(time*0.654); +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.099995 +shapecode_1_ang=0.030000 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.210001 +shapecode_1_g=0.440000 +shapecode_1_b=0.230000 +shapecode_1_a=1.0 +shapecode_1_r2=0.180000 +shapecode_1_g2=1.0 +shapecode_1_b2=0.110000 +shapecode_1_a2=1.0 +shapecode_1_border_r=0.150001 +shapecode_1_border_g=0.400001 +shapecode_1_border_b=0.480000 +shapecode_1_border_a=1.0 +shape_1_per_frame1=ang = time*2.4; +shape_1_per_frame2=x = 0.5 + 0.26*cos(time*3.1) + 0.13*cos(time*1.7); +shape_1_per_frame3=y = 0.5 + 0.22*sin(time*3.3) + 0.14*sin(time*1.2); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shape_1_per_frame10=border_red = sin(time*0.644); +shape_1_per_frame11=border_green = sin(time*0.874); +shape_1_per_frame12=border_blue = sin(time*0.954); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.099995 +shapecode_2_ang=0.030000 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.210001 +shapecode_2_g=0.440000 +shapecode_2_b=0.230000 +shapecode_2_a=1.0 +shapecode_2_r2=0.180000 +shapecode_2_g2=1.0 +shapecode_2_b2=0.110000 +shapecode_2_a2=1.0 +shapecode_2_border_r=0.150001 +shapecode_2_border_g=0.400001 +shapecode_2_border_b=0.480000 +shapecode_2_border_a=1.0 +shape_2_per_frame1=ang = time*2.4; +shape_2_per_frame2=x = 0.5 + 0.22*cos(time*3.3) + 0.14*cos(time*1.2); +shape_2_per_frame3=y = 0.5 + 0.26*sin(time*3.1) + 0.13*sin(time*1.7); +shape_2_per_frame4=r = 0.5 + 0.5*sin(time*1.013 + 5); +shape_2_per_frame5=g = 0.5 + 0.5*sin(time*1.063 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(time*1.056+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(time*1.038 + 4); +shape_2_per_frame10=border_red = sin(time*0.574); +shape_2_per_frame11=border_green = sin(time*0.774); +shape_2_per_frame12=border_blue = sin(time*1.054); +shapecode_3_enabled=1 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.510000 +shapecode_3_y=0.490000 +shapecode_3_rad=0.099863 +shapecode_3_ang=0.062832 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=0.460001 +shapecode_3_border_g=0.280001 +shapecode_3_border_b=0.540000 +shapecode_3_border_a=1.0 +shape_3_per_frame1=x = 0.5 + 0.07*cos(q3*0.5) + 0.31*sin(time*3.5); +shape_3_per_frame2=y = 0.5 + 0.07*sin(q3*0.5) + 0.31*cos(time*3.5); +shape_3_per_frame3=r = 0.5 + 0.5*sin(time*1.013 + 2); +shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.863 + 3); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_3_per_frame6=r2 = 0.5 + 0.5*sin(time*1.185 + 3); +shape_3_per_frame7=g2 = 0.5 + 0.5*sin(time*1.356+ 2); +shape_3_per_frame8=b2 = 0.5 + 0.5*sin(time*0.738 + 4); +shape_3_per_frame9=border_red = sin(time*1.074); +shape_3_per_frame10=border_green = sin(time*0.834); +shape_3_per_frame11=border_blue = sin(time*0.934); +per_frame_1=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_2=wave_g = cos(ff/mid)/2+0.5; +per_frame_3=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_7=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_8=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_9=ob_r=wave_r; +per_frame_10=ob_g=wave_g; +per_frame_11=ob_b=wave_b; +per_frame_12=mv_x = lastingbass*30+24; +per_frame_13=mv_y= madtreb*48+8; +per_frame_14=mv_r = 0.7-bass_att; +per_frame_15=mv_b = 0.6-treb_att; +per_frame_16=mv_g = 0.5-mid_att; +per_frame_17=ff = frame/100; +per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_19=zoom=max(0.98, min(0.15+1.1*bass_att, 1.75 )); +per_pixel_1=zoom=zoom+if(q2,0,rad*sin(time*.6969)*1.2969); +per_pixel_2=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_3=dx_r = equal(thresh,2)*0.315*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_4=dy_r = equal(thresh,2)*0.315*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_5=zoom = zoom - 0.4; diff --git a/presets/presets_milkdrop_200/TEcHNO + SandStorm - Psychodelic Highway.milk b/presets/presets_milkdrop_200/TEcHNO + SandStorm - Psychodelic Highway.milk new file mode 100755 index 0000000000..738a9a4c9e --- /dev/null +++ b/presets/presets_milkdrop_200/TEcHNO + SandStorm - Psychodelic Highway.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.985 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0031 +fWaveScale=1.004873 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=1 +fModWaveAlphaEnd=1.01 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002076 +fZoomExponent=1.00183 +fShader=1 +zoom=1.077494 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.03 +ib_r=0.38 +ib_g=0.27 +ib_b=0.03 +ib_a=0.3 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.52 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0.25 +per_frame_1=wave_mystery=abs(sin(time*0.51))*-1; +per_frame_2=cx=cx+(sin(time)*if(above(sin(time),0),(-1+bass),1.3))*0.5; +per_frame_3=cy=cy+(cos(time)*if(below(sin(time),0),(-1+bass),1.3))*0.6; +per_frame_4=mv_x=mv_x+sin(time/1.8)*3; +per_frame_5=mv_y=mv_x-sin(time/2)*3.5; +per_frame_6=wave_r=bass; +per_frame_7=wave_g=wave_g+sin(time*0.74)*0.3; +per_frame_8=wave_b=wave_b+sin(time*0.83)*0.2; +per_frame_9=mv_g=mv_g*abs(sin(time)); +per_frame_10=mv_r=bass; +per_frame_11=mv_b=treb; +per_frame_12=ib_size=ib_size+bass*0.15; +per_frame_13=rot=sin(time)*0.03; +per_frame_14=ib_r=abs(sin(time*1.5))*0.4; +per_frame_15=ib_g=abs(sin(time*1.53))*0.5 ; +per_frame_16=ib_b=abs(sin(time*1.51))*0.45 ; +per_pixel_1=zoom=zoom+rad*0.1; diff --git a/presets/presets_milkdrop_200/Telek - City Helix Lattice.milk b/presets/presets_milkdrop_200/Telek - City Helix Lattice.milk new file mode 100755 index 0000000000..fcfe2cbf4e --- /dev/null +++ b/presets/presets_milkdrop_200/Telek - City Helix Lattice.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=1 +fGammaAdj=1.916999 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=1.028413 +fWaveSmoothing=0.45 +fWaveParam=-0.6 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=0.07316 +fWarpScale=0.543568 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=0.65 +wave_x=0.7499 +wave_y=0.7199 +ob_size=0.02 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.007 +ib_size=0.01 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.006 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_b = if(below(treb, 2),1,0); +per_frame_2=decay = if(equal(frame % 20,0),.99,1); +per_frame_3=dx = if(equal(frame % 100,0),.001,0); +per_frame_4= +per_frame_5=rot = .05 *cos(time*.4); +per_frame_6=wave_x = (wave_x-.45)*sin(time*.4) + wave_x; +per_frame_7=wave_y = (wave_y-.45)*sin(time*.4) + wave_y; +per_frame_8=zoom = 1- cos(time*.4)*.05; +per_frame_9=//rot = -0.005; +per_frame_10=wave_x = .5+(wave_x-.5)*cos(time*5); +per_frame_11=wave_y = .5+(wave_y-.5)*sin(time*5); +per_frame_12=ib_a = cos(time*.4)*-.5+.5; +per_frame_13=ob_a = ib_a; +per_frame_14=ob_r = cos(time)*.5+.5; +per_frame_15=ob_b = .5; +per_frame_init_1=warp = 0; +per_frame_init_2=zoom = 1; +per_frame_init_3=rot = 0.01; diff --git a/presets/presets_milkdrop_200/Telek - Directive Swagger (Spectral Inferno) with radial blur.milk b/presets/presets_milkdrop_200/Telek - Directive Swagger (Spectral Inferno) with radial blur.milk new file mode 100755 index 0000000000..b6d19f9df7 --- /dev/null +++ b/presets/presets_milkdrop_200/Telek - Directive Swagger (Spectral Inferno) with radial blur.milk @@ -0,0 +1,332 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.210000 +fDecay=1.0 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=9.088520 +fWaveScale=0.499500 +fWaveSmoothing=0.0 +fWaveParam=1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.990000 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.3 +ob_g=0.0 +ob_b=0.5 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=2.759997 +mv_dx=0.0 +mv_dy=-0.620000 +mv_l=5.0 +mv_r=0.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.4 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=ddx = 0; +per_frame_init_2=ddy = 0; +per_frame_init_3=start = time; +per_frame_init_4=rt = 0; +per_frame_init_5=beatcount = 0; +per_frame_1=// Hello, +per_frame_2= +per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress +per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good +per_frame_5= +per_frame_6=//Telek Sterling =:-) +per_frame_7=//Dilettante Extrodinaire +per_frame_8= +per_frame_9= +per_frame_10=//rt = realtime (for use with beat count) +per_frame_11=rt=time-start; +per_frame_12= +per_frame_13=//color cycling, yellow dynamic treble +per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); +per_frame_15=wave_x = cos(time*2.12)*.33+.5; +per_frame_16=wave_y = sin(time*1.5)*.13+.3; +per_frame_17= +per_frame_18=//initialisation bug patch +per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); +per_frame_20= +per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) +per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); +per_frame_23= +per_frame_24=//Testing auto-beat trigger... exciting stuff. +per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); +per_frame_26= +per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad +per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); +per_frame_29= +per_frame_30=beatcount = beatcount + beat; +per_frame_31= +per_frame_32=w_a = if(beat,1,w_a*0); +per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now +per_frame_34= +per_frame_35=//Preserve beat rate +per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); +per_frame_37=//Record new beatrate +per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); +per_frame_39= +per_frame_40=//Record most recent beat +per_frame_41=lastbeat=if(beat,rt,lastbeat); +per_frame_42=//Predict time of next beat +per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=//Actual Display code: +per_frame_49= +per_frame_50=//Current direction of travel +per_frame_51=state = beat * (state+1)%4+(1-beat)*state; +per_frame_52= +per_frame_53=//acceleration of horizon point +per_frame_54=dddy = state%2-.5; +per_frame_55=dddx = above(state,1.5)-.5; +per_frame_56= +per_frame_57=//adjustment factors to play with +per_frame_58=ddx = dddx*.5; +per_frame_59=ddy = dddy*.5; +per_frame_60= +per_frame_61= +per_frame_62=q1 = (qq1*19+ddx)*.041; +per_frame_63=//preserve q variables +per_frame_64=qq1 = q1; +per_frame_65= +per_frame_66=q2 = (qq2*19+ddy)*.035; +per_frame_67=qq2 = q2; +per_frame_68= +per_frame_69=//Decay to Blue!! +per_frame_70=ob_a = 0.1*above(frame%10,6); +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74= +per_frame_75=//Well, what do we want to monitor?? +per_frame_76= +per_frame_77=//monitor = q1; +per_frame_78=//monitor = beat; +per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; +per_frame_80=monitor = (rt-lastbeat)/beatrate; +per_frame_81=//monitor = accuracy; +per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); +per_frame_83=//monitor = wave_a; +per_frame_84=//monitor = wave_g; +per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; +per_frame_86=//monitor = qwer; +per_frame_87=//monitor = (lastbeat-rt)/beatrate; +per_pixel_1=dx = sin(.5-x)*.1+q1; +per_pixel_2=dy = sin(.5-y)*.1+q2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // Really smooth RADIAL BLUR: +warp_4=` float2 v1 = normalize(uv - 0.5); +warp_5=` //float2 v1 = float2(3,0); // or for an aggressive horiz. blur +warp_6=` //float2 v1 = normalize(uv - 0.5).yx * float2(-1,1) * 2; +warp_7=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 +warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 +warp_9=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 +warp_10=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 +warp_11=` ) - 0.009; +warp_12=`} +warp_13=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_milkdrop_200/Telek - Sine Wave.milk b/presets/presets_milkdrop_200/Telek - Sine Wave.milk new file mode 100755 index 0000000000..7eb7f171ce --- /dev/null +++ b/presets/presets_milkdrop_200/Telek - Sine Wave.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.430333 +fWaveSmoothing=0.63 +fWaveParam=1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.001 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.97 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=33.152 +nMotionVectorsY=28.799997 +mv_dx=0.006 +mv_dy=0 +mv_l=1 +mv_r=1 +mv_g=1 +mv_b=0 +mv_a=0.4 +per_frame_1=mv_g=1-bass_att*.4; +per_frame_2=beat=if(above(bass*bass_att,4.5),1-beat,beat); +per_frame_3=q1=beat*2-1; +per_frame_4= +per_frame_5=amp =amp*.8+.2*(bass_att+mid_att+treb_att)*.3; +per_frame_6=q2 = min(amp,1); +per_frame_7=trebcap=trebcap*.7+.16*treb; +per_frame_8=q3=trebcap*2; +per_frame_9=monitor = q3; +per_pixel_1=wang = (3+q3)*x+time*1.7+bass*.1; +per_pixel_2=in = 0; +per_pixel_3=in = in + below(abs(x-.25),.05)*below(abs(y-.5),.25); +per_pixel_4=in = below(abs(y-(.5+.5*sin(wang)*q2)),.1); +per_pixel_5=in=bnot(bnot(in)); +per_pixel_6=dx = .02*in; +per_pixel_7=dy = .08*cos(wang)*q2*in; +per_pixel_8= +per_pixel_9=dx = dx+bnot(in)*.005*q1; +per_pixel_10=dy = dy+bnot(in)*cos(wang)*-.01*q1; diff --git a/presets/presets_milkdrop_200/Telek - Slow Thing (Spiderman Mix).milk b/presets/presets_milkdrop_200/Telek - Slow Thing (Spiderman Mix).milk new file mode 100755 index 0000000000..22a357f6dc --- /dev/null +++ b/presets/presets_milkdrop_200/Telek - Slow Thing (Spiderman Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.280000 +fDecay=1.0 +fVideoEchoZoom=1.356739 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.209289 +fWaveScale=1.486134 +fWaveSmoothing=0.0 +fWaveParam=-0.3 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=24.831774 +fWarpScale=0.419995 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=55.044964 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.330000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.0 +mv_l=1.0 +mv_r=0.2 +mv_g=0.0 +mv_b=0.0 +mv_a=0.6 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=wave_b = if(below(treb, 1.8),1-.025*rand(10),0); +per_frame_4=wave_g = wave_g*sqr(.01*rand(100)); +per_frame_5=decay = .9999+.0001+0*if(equal(frame % 10,0),.95,1); +per_frame_6=monitor = wave_g; +per_frame_7=cx=.5+.3*cos(time*.21); +per_frame_8=cy=.5+.3*sin(time*.1); +per_frame_9=cx=cx+(bass-1.2)*.1; +per_frame_10=cy=cy+(treb_att-1)*.1; +per_frame_11=mv_r=bass_att*.4; +per_frame_12=wave_x = cx; +per_frame_13=wave_y=1-cy; +per_frame_14= +per_frame_15=q1=cx; +per_frame_16=q2=cy; +per_pixel_1=near=below(sqr(q1-x)+sqr(q2-y),.04); +per_pixel_2=notnear = 1- near; +per_pixel_3=sy=max(0.3,pow(bass_att,.2))*near + notnear; +per_pixel_4=sx=1/sy*near + notnear; +per_pixel_5=rot = .02*sin(x*5+time)*notnear-.03; +per_pixel_6=zoom = 1+ notnear*.001*(.5+sin(ang*5+time)); diff --git a/presets/presets_milkdrop_200/TobiasWolfBoi - The Pit.milk b/presets/presets_milkdrop_200/TobiasWolfBoi - The Pit.milk new file mode 100755 index 0000000000..b02440fc80 --- /dev/null +++ b/presets/presets_milkdrop_200/TobiasWolfBoi - The Pit.milk @@ -0,0 +1,52 @@ +[preset00] +fRating=1 +fGammaAdj=1.5 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1.386143 +fWaveSmoothing=0 +fWaveParam=0.9 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1.008151 +fWarpScale=3.151486 +fZoomExponent=0.1 +fShader=0 +zoom=0.801925 +rot=- +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.07*sin(rad*20+time*2.5); diff --git a/presets/presets_milkdrop_200/Tokyo corridor (shifter tumbling cubes remix).milk b/presets/presets_milkdrop_200/Tokyo corridor (shifter tumbling cubes remix).milk new file mode 100755 index 0000000000..786630fb75 --- /dev/null +++ b/presets/presets_milkdrop_200/Tokyo corridor (shifter tumbling cubes remix).milk @@ -0,0 +1,475 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.400001 +fDecay=0.650000 +fVideoEchoZoom=4.567740 +fVideoEchoAlpha=0.650000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.900000 +zoom=0.999512 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tin=vol; +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q8; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sin(time)*sz*below(ss,1) + sz*sin(time)*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*sin(time)*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*sin(time)*above(ss,1)*below(ss,2) + sz*cos(time)*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz +sin(time)*.3; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*q8*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz*cos(q8) + above(ss,4)*below(ss,5)*q8*cos(time)*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*cos(time)*(-.5+(ss-5))+q8*.5; +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*q8*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .4; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75+0.45; +wave_3_per_point62=y = oy*fov/oz + 0.40; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .4 + vol*.3; +per_frame_4=q8 = bass; +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tb = tb + tic*bass_att; +per_frame_9=q2 = tb*.9; +per_frame_10=tm = tm + tic*mid_att; +per_frame_11=q3 = tm*.9; +per_frame_12=tt = tt + tic*treb_att; +per_frame_13=q4 = tt*.9; +per_frame_14= +per_frame_15=q1 = min(q1,1); +per_frame_16=aq1 = .5; +per_frame_17=aq2 = 0; +per_frame_18=aq3 = 9.5; +per_frame_19=aq4 = 0; diff --git a/presets/presets_milkdrop_200/Tschoey - Music Flower.milk b/presets/presets_milkdrop_200/Tschoey - Music Flower.milk new file mode 100755 index 0000000000..fab1a15072 --- /dev/null +++ b/presets/presets_milkdrop_200/Tschoey - Music Flower.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.99 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000158 +fWaveScale=3.001487 +fWaveSmoothing=0 +fWaveParam=0.2 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.52 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0 +per_frame_1=wave_r = 0.5 + 0.5 *sin(time*1.13); +per_frame_2=wave_g = 0.5 + 0.5 *sin(time*1.23); +per_frame_3=wave_b = 0.5 + 0.5 *sin(time*1.33); +per_pixel_1=zoom = 1 +0.05*(rad)* if(above(rad,0.7),1,-1); diff --git a/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Blur and Glow Remix).milk b/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Blur and Glow Remix).milk new file mode 100755 index 0000000000..1d75f254fd --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Blur and Glow Remix).milk @@ -0,0 +1,308 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.987 +fVideoEchoZoom=1.006 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028 +fWaveScale=0.591 +fWaveSmoothing=0.180 +fWaveParam=0.240 +fModWaveAlphaStart=0.950 +fModWaveAlphaEnd=0.750 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.00170 +fShader=0.1 +zoom=0.97030 +rot=0.0 +cx=0.440 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(time*(3-bass_thresh)) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(time*(3-treb_thresh)) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(time*(3-mid_thresh)) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.04*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=wave_mystery+.23*mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*wave_b; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*ob_g; +per_frame_39=zoom=zoom+.08*mid_residual; +per_pixel_1=rot=if(above(q1,0),.4*sin(rad+q3+q4),.4*sin(rad+q2+q5)); +per_pixel_2=zoom=zoom-rot/10; +per_pixel_3=cx=cx+.3*sin(x*7*q4); +per_pixel_4=cy=cy+.3*cos(y*5*q5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5); +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw; +warp_7=` ret = 0.2*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv - v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv - v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv - v*9 ).xyz +warp_11=` + tex2D(sampler_main, uv - v*13 ).xyz +warp_12=` ); +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 0.98; //or try: ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`// zoom in a smidge: +comp_4=`uv = (uv-0.5)*0.86+0.5; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = ret*1.5 - 0.1; +comp_8=` +comp_9=` float4 g; +comp_10=` float3 d = float3(texsize.zw * 4, 0); +comp_11=` g.x = lum(GetBlur1(uv + d.xz)); +comp_12=` g.y = lum(GetBlur1(uv - d.xz)); +comp_13=` g.z = lum(GetBlur1(uv + d.zy)); +comp_14=` g.w = lum(GetBlur1(uv - d.zy)); +comp_15=` +comp_16=` ret *= 0.7; +comp_17=` ret.x += saturate(g.x-g.y)*5; +comp_18=` ret.z += saturate(g.y-g.x)*5; +comp_19=` //ret.xy += (g.xz-g.yw)*3; +comp_20=` +comp_21=`ret.x = GetBlur1(uv).x - 0.03; +comp_22=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_23=`ret *= 2.3; +comp_24=` +comp_25=`} +comp_26=` +comp_27=` diff --git a/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Canvas Mix).milk b/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Canvas Mix).milk new file mode 100755 index 0000000000..b4c1d15d9f --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained + Geiss - Furious Spirals (Canvas Mix).milk @@ -0,0 +1,297 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.987 +fVideoEchoZoom=1.006 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028 +fWaveScale=0.591 +fWaveSmoothing=0.180 +fWaveParam=0.240 +fModWaveAlphaStart=0.950 +fModWaveAlphaEnd=0.750 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.00170 +fShader=0.1 +zoom=0.97030 +rot=0.0 +cx=0.440 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(time*(3-bass_thresh)) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(time*(3-treb_thresh)) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(time*(3-mid_thresh)) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.04*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=wave_mystery+.23*mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*wave_b; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*ob_g; +per_frame_39=zoom=zoom+.08*mid_residual; +per_pixel_1=rot=if(above(q1,0),.4*sin(rad+q3+q4),.4*sin(rad+q2+q5)); +per_pixel_2=zoom=zoom-rot/10; +per_pixel_3=cx=cx+.3*sin(x*7*q4); +per_pixel_4=cy=cy+.3*cos(y*5*q5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5); +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw; +warp_7=` ret = 0.2*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv - v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv - v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv - v*9 ).xyz +warp_11=` + tex2D(sampler_main, uv - v*13 ).xyz +warp_12=` ); +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 0.98; //or try: ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate((b1-b2)*8)*2.00*float3(1,0.6,0.1); +comp_13=` ret += saturate((b3-b4)*8)*2.00*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.5; +comp_16=`} diff --git a/presets/presets_milkdrop_200/Unchained - Cartoon Factory.milk b/presets/presets_milkdrop_200/Unchained - Cartoon Factory.milk new file mode 100755 index 0000000000..471c056f6d --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Cartoon Factory.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=0.99 +fVideoEchoZoom=0.9996 +fVideoEchoAlpha=1 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.098608 +fWaveSmoothing=0.81 +fWaveParam=-0.4 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.5025 +rot=0.002 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.1 +wave_y=0.9 +ob_size=0.01 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*3.14+q2*3.14+q3*3.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=wave_r=.5+.5*sin(q1+abs(q4*2.14)); +per_frame_29=wave_b=.5+.5*sin(q2+abs(q5*2.14)); +per_frame_30=wave_g=.5+.5*sin(q3+abs(q6*2.14)); +per_frame_31=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_32=ob_b=ob_b+ob_b*sin(q2+q3*2.14); +per_frame_33=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_34=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_35=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_36=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_37=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_38=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_39=ob_size=.1+.1*sin(q3*3+q1); +per_frame_40=ib_size=.15+.05*sin(q1*3+q3); +per_frame_41=mv_r=mv_r+.5*sin(q4+q5*6*q1); +per_frame_42=mv_b=mv_b+.5*sin(q4+q5*6*q2); +per_frame_43=mv_g=mv_g+.5*sin(q5+q5*6*q3); +per_frame_44=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_45=mv_l=.1*q8; +per_frame_46=mv_x=q8*q7; +per_frame_47=mv_y=q8*q7; +per_frame_48=wave_mystery=wave_mystery+.25*sin(time*q4); +per_frame_49=echo_zoom=1+.2*q1+.2*q5+.3*q4; +per_frame_50=echo_orientation=q7%3; +per_pixel_1=dx=sin(pow(x,2)*3.14*q3); +per_pixel_2=dy=sin(pow(y,2)*3.14*q2); +per_pixel_3=rot=sin(rad*3.14*q1); diff --git a/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Radial Blur.milk b/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Radial Blur.milk new file mode 100755 index 0000000000..d56848b6f4 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Radial Blur.milk @@ -0,0 +1,285 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.0 +fDecay=0.987000 +fVideoEchoZoom=1.006435 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028400 +fWaveScale=0.591188 +fWaveSmoothing=0.180000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.001700 +fShader=0.1 +zoom=0.970297 +rot=0.0 +cx=0.439900 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(time*(3-bass_thresh)) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(time*(3-treb_thresh)) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(time*(3-mid_thresh)) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.04*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=wave_mystery+.23*mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*wave_b; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*ob_g; +per_frame_39=zoom=zoom+.08*mid_residual; +per_pixel_1=rot=if(above(q1,0),.4*sin(rad+q3+q4),.4*sin(rad+q2+q5)); +per_pixel_2=zoom=zoom-rot/10; +per_pixel_3=cx=cx+.3*sin(x*7*q4); +per_pixel_4=cy=cy+.3*cos(y*5*q5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5); +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw; +warp_7=` ret = 0.2*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv - v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv - v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv - v*9 ).xyz +warp_11=` + tex2D(sampler_main, uv - v*13 ).xyz +warp_12=` ); +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 0.98; //or try: ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_5=` ret *= 1.50; //old gamma effect +comp_6=` ret *= 0.90 + 0.10*hue_shader; //old hue shader effect +comp_7=` ret *= ret; //old darken effect +comp_8=`} diff --git a/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Steady.milk b/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Steady.milk new file mode 100755 index 0000000000..1d8d633e71 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Furious Spirals (Remix) Steady.milk @@ -0,0 +1,294 @@ +MILKDROP_PRESET_VERSION=200 +PSVERSION=2 +[preset00] +fRating=1.0 +fGammaAdj=2.0 +fDecay=0.987000 +fVideoEchoZoom=1.006435 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.028400 +fWaveScale=0.591188 +fWaveSmoothing=0.180000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.001700 +fShader=0.1 +zoom=0.970297 +rot=0.0 +cx=0.439900 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(time*(3-bass_thresh)) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(time*(3-treb_thresh)) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(time*(3-mid_thresh)) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.04*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=wave_mystery+.23*mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*wave_b; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*ob_g; +per_frame_39=zoom=zoom+.08*mid_residual; +per_pixel_1=rot=if(above(q1,0),.4*sin(rad+q3+q4),.4*sin(rad+q2+q5)); +per_pixel_2=zoom=zoom-rot/10; +per_pixel_3=cx=cx+.3*sin(x*7*q4); +per_pixel_4=cy=cy+.3*cos(y*5*q5); +warp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +warp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +warp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=` +warp_6=`shader_body +warp_7=` +warp_8=` +warp_9=` +warp_10=`{ +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret *= 0.99; //or try: ret -= 0.004; +warp_16=` +warp_17=` +warp_18=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=` +comp_8=` +comp_9=` +comp_10=`{ +comp_11=` ret = tex2D(sampler_main, uv).xyz; +comp_12=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_13=` ret *= 1.50; //old gamma effect +comp_14=` ret *= 0.90 + 0.10*hue_shader; //old hue shader effect +comp_15=` ret *= ret; //old darken effect +comp_16=` +comp_17=`} diff --git a/presets/presets_milkdrop_200/Unchained - Ghostlight Whisper.milk b/presets/presets_milkdrop_200/Unchained - Ghostlight Whisper.milk new file mode 100755 index 0000000000..27f984a22e --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Ghostlight Whisper.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.982 +fVideoEchoZoom=1.160967 +fVideoEchoAlpha=0.2 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.625316 +fWaveScale=0.359738 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=0.9996 +fShader=0.03 +zoom=0.9993 +rot=0.02 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0.18 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q7=entropy; +per_frame_27=q8=sin(q6*q1+q7*q2); +per_frame_28=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); +per_frame_29=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); +per_frame_30=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); +per_frame_31=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); +per_frame_32=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); +per_frame_33=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); +per_frame_34=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_35=mv_l=(q7)*2; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=wave_x=wave_x+.03*q7*q4; +per_frame_40=wave_y=wave_x+.01*q6*q5; +per_frame_41=mv_x=q6*q7; +per_frame_42=mv_y=q6*q7; +per_frame_43=zoom=zoom+.01*q1; +per_pixel_1=gridx=bnot((q7*sin(x*3.14))%2); +per_pixel_2=gridy=bnot((q7*sin(y*3.14))%2); +per_pixel_3=dx=sin((y-0.5)*q1*6.2)*.01+q5*sin((y-0.5)*q2*6.2)*.01; +per_pixel_4=dy=cos((x-0.5)*q2*6.2)*.01+q4*cos((x-0.5)*q1*6.2)*.01; +per_pixel_5=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q5))*(10+q7)); +per_pixel_6=rot=rot*sign(grid)*q4; +per_pixel_7=sx=sx+grid*.03; +per_frame_init_1=entropy=2; diff --git a/presets/presets_milkdrop_200/Unchained - Housed In A Childish Mind.milk b/presets/presets_milkdrop_200/Unchained - Housed In A Childish Mind.milk new file mode 100755 index 0000000000..b97228faf2 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Housed In A Childish Mind.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.560001 +fDecay=1 +fVideoEchoZoom=0.9997 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.5732 +fWaveScale=1.135639 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.99817 +fShader=0 +zoom=0.998137 +rot=1 +cx=2 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.6 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.995+.0025*q3+.0025*q1; +per_frame_55=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_56=mv_r=1-ob_g; +per_frame_57=mv_b=1-ob_r; +per_frame_58=mv_g=1-ob_b; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5+.5*y*q6)*above(q3,0)+below(y,.5+.5*sin(x*6.28*q1))*below(q7,4)); +per_pixel_3=grid=sin((rad*q1+x*q2+y*q3+ang*q4)*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=(1+.01*sin(rad*q7+q5)*bnot(snee)*if(snur,-1,1))*(1+.03*q1*atan(ang*q4-rot*q2)); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_9=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_10=dx=checkx*sin(x*q3*6.29)*rot; +per_pixel_11=dy=checky*sin(y*q3*6.29)*rot; +per_pixel_12=rot=if(above(y,.5+.5*x*q3),rot*.01,rot*zoom*.005); +per_pixel_13=dx=dx*atan2(pow(ang*q4,1+q7),ang*sin(rad*3.14*q2)); +per_pixel_14=dy=dy*atan2(pow(ang*q5,1+(q8%6)),ang*sin(y*3.14*q1)); diff --git a/presets/presets_milkdrop_200/Unchained - Jaded Emotion.milk b/presets/presets_milkdrop_200/Unchained - Jaded Emotion.milk new file mode 100755 index 0000000000..59a94e7158 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Jaded Emotion.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.99663 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005729 +fWaveScale=7.184967 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.25 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + bass*.5; +per_frame_3=wave_g = wave_g + treb*.5; +per_frame_4=wave_b = wave_b + mid*.5; +per_frame_5=ib_r = ib_r + .4*sin(time*.222); +per_frame_6=ib_g = ib_g + .4*sin(time*.333); +per_frame_7=ib_b = ib_b + .4*sin(time*.111); +per_frame_8=ib_a = ib_a + .05*sin(time*.555); +per_frame_9=ib_size = ib_size + .24*sin(time*.444); +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=cx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*cx_residual; +per_frame_12=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_13=cy_residual = equal(treb_thresh,2)*0.016*sin(time*7) + (1-equal(treb_thresh,2))*cy_residual; +per_frame_14=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_15=rot_residual = equal(mid_thresh,2)*0.016*sin(time*7) + (1-equal(mid_thresh,2))*rot_residual; +per_frame_16=cx=cx_residual+sin(time*.888); +per_frame_17=cy=cy_residual+sin(time*.999); +per_frame_18=rot=rot_residual*3; +per_pixel_1=zoom=zoom+cos(rad*10*sin(time*.666))*.07; diff --git a/presets/presets_milkdrop_200/Unchained - Perverted Dialect.milk b/presets/presets_milkdrop_200/Unchained - Perverted Dialect.milk new file mode 100755 index 0000000000..72cb7158d6 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Perverted Dialect.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.0 +fDecay=0.983000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=2.047093 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=3.394161 +fShader=0.0 +zoom=1.008148 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + if(above(bass_att,1.4),1,.49*sin(time*2)); +per_frame_3=wave_g = wave_g + if(above(bass_att,1.4),0,if(above(treb_att,1.4),1,.49*sin(time*3))); +per_frame_4=wave_b = wave_b + if(above(treb_att,1.4),0,.49*sin(time)); +per_frame_5=timer_base=.5; +per_frame_6=q1=sin(time*timer_base*4); +per_frame_7=q2=sin(time*timer_base*2); +per_frame_8=q3=sin(time*timer_base); +per_frame_9=rot=if(above(q1,0),if(above(q2,0),.1,-.1),0); +per_frame_10=zoom=zoom+.05*q2+.05*q1; +per_frame_11=wave_mystery=wave_mystery+.7*q1+.3*q2; +per_frame_12=wave_size=wave_size+0.5*q3; +per_frame_13=cx=cx+.2*q1; +per_frame_14=cy=cy+.2*q3; +per_pixel_1=centerx = .5; +per_pixel_2=centery = .5; +per_pixel_3=crad = abs(rad-.5)*q2; +per_pixel_4=grid=abs(x*10-5)%2 + abs(y*10-5)%2; +per_pixel_5=sx_temp = if(equal(grid,0),if(above(x,centerx),sx - crad - centerx,sx + crad - centerx),sx); +per_pixel_6=sy_temp = if(equal(grid,0),if(above(y,centery),sy - crad - centery,sy + crad - centery),sy); +per_pixel_7=sx=if(below(q1,0),sx-sx_temp*q2*.1,sx); +per_pixel_8=sy=if(below(q1,0),sy-sx_temp*q2*.1,sy); diff --git a/presets/presets_milkdrop_200/Unchained - Unified Drag 2.milk b/presets/presets_milkdrop_200/Unchained - Unified Drag 2.milk new file mode 100755 index 0000000000..d0457f45ad --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - Unified Drag 2.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.96 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.78 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.0081 +fShader=0.4 +zoom=0.820774 +rot=0 +cx=0.4999 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=rot=1; +per_frame_51=cx=cx+.05*q4; +per_frame_52=cy=cy+.05*q5; +per_frame_53=zoom=.95+.05*q6; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets/presets_milkdrop_200/Unchained - elite vectronics.milk b/presets/presets_milkdrop_200/Unchained - elite vectronics.milk new file mode 100755 index 0000000000..8b39585f00 --- /dev/null +++ b/presets/presets_milkdrop_200/Unchained - elite vectronics.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=2.0 +fGammaAdj=1 +fDecay=0.978999 +fVideoEchoZoom=2.786752 +fVideoEchoAlpha=0.7 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.008144 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.040603 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.95 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=old_bass_flop=bass_flop; +per_frame_5=old_treb_flop=treb_flop; +per_frame_6=old_mid_flop=mid_flop; +per_frame_7=chaos=.9+.1*sin(beat); +per_frame_8=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_10=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_11=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_12=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_13=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_14=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_15=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_16=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_17=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_18=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_19=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_20=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_21=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_22=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_23=q1=mid_residual; +per_frame_24=q2=bass_residual; +per_frame_25=q3=treb_residual; +per_frame_26=q4=sin(pulse); +per_frame_27=q5=sin(beat); +per_frame_28=mv_r=mv_r+.5*bass_residual; +per_frame_29=mv_g=mv_g+.5*mid_residual; +per_frame_30=mv_b=mv_b+.5*treb_residual; +per_frame_31=mv_a=1-(ob_a+ib_a)*chaos*.5; +per_frame_32=mv_x=abs(beat*10)*entropy; +per_frame_33=mv_y=abs(pulse*10)*entropy; +per_pixel_1=bend = cos( x*3.14*q2*above(q1,q2) + (rad*3.14*q2-3.14*q3)*above(q2,q3)+(y*3.14*q4)*above(q3,q1)); +per_pixel_2=zoom = zoom+bend*.05*above(q4+q5,.8); +per_pixel_3=something=if(above(q5,0),shift,q3*0.2*cos((rad+q1)*3.14+q2)); +per_pixel_4=rot=if(above(zoom-1,.03*q1),if(above(q4,0),rad*.2*q5,something),(x*2-1)*q5); +per_pixel_5=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5)); +per_pixel_6=zoom=if(grid,zoom-.17*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),zoom); +per_pixel_7=g1=sin(q2*.04*q5); +per_pixel_8=g2=sin(q2*.05*q5); +per_pixel_9=g3=sin(q2*.06*q5); +per_pixel_10=x_shift=pow(x,2)+x*g1*2+sqr(g1); +per_pixel_11=y_shift=pow(y,2)+y*g2*2+sqr(g2); +per_pixel_12=r_shift=pow(rad,2)+rad*g3*2+sqr(g3); +per_pixel_13=zoom=zoom-sin(x_shift*y_shift*r_shift*3.14)*(y*2-1); +per_pixel_14=cx=cx+.1*sin(time*.8); +per_pixel_15=cy=cy+.1*sin(time*.7); diff --git a/presets/presets_milkdrop_200/Valhala - Core.milk b/presets/presets_milkdrop_200/Valhala - Core.milk new file mode 100755 index 0000000000..e9028b2e35 --- /dev/null +++ b/presets/presets_milkdrop_200/Valhala - Core.milk @@ -0,0 +1,219 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.210000 +fDecay=0.985000 +fVideoEchoZoom=1.011842 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.504213 +fWaveSmoothing=0.450000 +fWaveParam=0.2 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=2.630066 +fShader=0.0 +zoom=1.070548 +rot=0.020000 +cx=0.5 +cy=0.5 +dx=1.0 +dy=1.0 +warp=0.022186 +sx=0.978500 +sy=0.999996 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.3 +wavecode_0_g=0.6 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.054279 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.270001 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.050001 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.027048 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets/presets_milkdrop_200/Various - Fire and Brimstone.milk b/presets/presets_milkdrop_200/Various - Fire and Brimstone.milk new file mode 100755 index 0000000000..0c3ce6b932 --- /dev/null +++ b/presets/presets_milkdrop_200/Various - Fire and Brimstone.milk @@ -0,0 +1,328 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.500000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.793986 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.599183 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.800000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(time*0.3701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(time*0.24); +per_frame_5=ob_b = 0.35 - 0.3*cos(time*0.4816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(time*0.234); +per_frame_9=ib_g = ib_g + 0.5*sin(time*0.547); +per_frame_10=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_11=cx = cx +0.3150*( 0.60*sin(0.23874*time) + 0.14*sin(0.194*time) ); +per_frame_12=cy = cy + 0.476*( 0.60*sin(0.1274*time) + 0.10*sin(0.394*time) ); +per_frame_13= +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_pixel_1=rx=x;//ang;//+sin(x*7); +per_pixel_2=ry=y;//rad;//+sin(x*5); +per_pixel_3= +per_pixel_4=dx=sin(int(1+ry*2.864+sin(time/17) )*(8446669+sin(time/71774898+treb/55559599)*667777))/2+.5; +per_pixel_5=dy=sin(int(1+rx*2.654+sin(time/13) )*(4747833+sin(time/86666825+mid/59555599)*754166))/2+.5; +per_pixel_6=//zoom=.999; +per_pixel_7=dx=sin(sqr(y)*y*88+sin(time/9.3)*2)/499; +per_pixel_8=dy=sin(sqr(x)*x*888+sin(time/11)*2 )/496-.004141*(1-rad); +per_pixel_9=dx=dx; +per_pixel_10=dy=dy; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_6=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_7=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_8=` float2 my_uv = uv - float2(dx,dy)*0.005 + float2(dxb,dyb)*0.002; +warp_9=` +warp_10=` +warp_11=` +warp_12=` float2 v = 0.01; +warp_13=` ret.x = tex2D( sampler_fc_main, my_uv).x; +warp_14=` +warp_15=` +warp_16=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_17=` ret.x += 0.006; +warp_18=` +warp_19=` ret.x = lerp( ret.x, lum(ret).x, 0); +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` +warp_31=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*120; +warp_32=` ret.z *= 0.85; +warp_33=` ret.z += 0.008; +warp_34=` +warp_35=` +warp_36=` +warp_37=`//-------------------------------- +warp_38=` +warp_39=` d = 0.01; +warp_40=` my_uv = float2(-dy,dx)*0.05; +warp_41=` +warp_42=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_43=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_44=` my_uv += uv - float2(dx,dy)*0.03; +warp_45=` +warp_46=` +warp_47=` +warp_48=` v = 0.01; +warp_49=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_50=` +warp_51=` +warp_52=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.00; //gamma +comp_5=`} diff --git a/presets/presets_milkdrop_200/Vovan + Geiss - Bass With Flover (Feedback Mix).milk b/presets/presets_milkdrop_200/Vovan + Geiss - Bass With Flover (Feedback Mix).milk new file mode 100755 index 0000000000..cdec1940c2 --- /dev/null +++ b/presets/presets_milkdrop_200/Vovan + Geiss - Bass With Flover (Feedback Mix).milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.975 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.170 +fWaveScale=0.625 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.800 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=0.010 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.700 +zoom=1.04600 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99999 +sy=1.00000 +wave_r=0.500 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.470 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.80814 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=1.38230 +shapecode_0_tex_zoom=1.10462 +shapecode_0_r=1.000 +shapecode_0_g=0.900 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.800 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.400 +shape_0_per_frame1=x = 0.5 + 0.03*cos(time*0.69 + 2); +shape_0_per_frame2=y = 0.5 + 0.02*cos(time*0.73 + 1); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r*x*bass*1000000 + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g*200000*treb/x + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b +0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=q=rot/5 + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=zoom=zoom+0.013*(0.60*sin(0.33*time)+0.40*sin(0276*time)); +per_frame_9=x=x+100; +per_pixel_1=zoom=zoom-max(0.001,(bass-1.2))*sin(time*1.4+rad*6); +per_pixel_2=zoom=zoom+0.07*sin(rad*25+time*2.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.005; +warp_8=`} +warp_9=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.333; // a little bit of overbright +comp_5=` +comp_6=`} +comp_7=` +comp_8=` diff --git a/presets/presets_milkdrop_200/Vovan - Bass With Flover - smooth kaleidoscope.milk b/presets/presets_milkdrop_200/Vovan - Bass With Flover - smooth kaleidoscope.milk new file mode 100755 index 0000000000..038cf29b37 --- /dev/null +++ b/presets/presets_milkdrop_200/Vovan - Bass With Flover - smooth kaleidoscope.milk @@ -0,0 +1,286 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=0.975000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625314 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=0.0 +fWarpAnimSpeed=0.010000 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.7 +zoom=1.046000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.999995 +sy=1.0 +wave_r=0.5 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r*x*bass*1000000 + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g*200000*treb/x + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b +0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=q=rot/5 + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=zoom=zoom+0.013*(0.60*sin(0.33*time)+0.40*sin(0276*time)); +per_frame_9=x=x+100; +per_pixel_1=zoom=zoom-max(0.001,(bass-1.2))*sin(time*1.4+rad*6); +per_pixel_2=zoom=zoom+0.07*sin(rad*25+time*2.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.005; +warp_8=`} +warp_9=` +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_hq; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 0 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=` +comp_46=`} +comp_47=` +comp_48=` diff --git a/presets/presets_milkdrop_200/Zylot + Geiss - Enlightenment.milk b/presets/presets_milkdrop_200/Zylot + Geiss - Enlightenment.milk new file mode 100755 index 0000000000..d0512258a4 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot + Geiss - Enlightenment.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.132666 +fWaveSmoothing=0.750000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=r2 = .5+.4*sin(time); +shape_0_per_frame2=g2 = .5+.4*sin(time*1.332244); +shape_0_per_frame3=b2 = .5+.4*sin(time*65544); +shape_0_per_frame4=r = bass*.7; +shape_0_per_frame5=g = treb*.7; +shape_0_per_frame6=b = mid*.7; +shape_0_per_frame7=rad = rad+bass*.05; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2; +per_pixel_1=zoom = 1+(rad-.1)*.1; +per_pixel_2=zoom = zoom+.005+.005*sin((ang*10)+time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` // darken (decay) over time +warp_7=` ret += ret - GetBlur2(uv); +warp_8=` ret = lerp(ret2,ret,.07); +warp_9=` ret = (ret - .005)*0.995; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main,uv).xyz; +comp_4=` float3 d = float3(texsize.zw, 0)*1.3; +comp_5=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_6=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_7=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_8=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_9=` +comp_10=` ret *= .75; +comp_11=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_12=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_13=` +comp_14=` ret *= 1.5; +comp_15=`} diff --git a/presets/presets_milkdrop_200/Zylot - Age of Science (seeking truth mix).milk b/presets/presets_milkdrop_200/Zylot - Age of Science (seeking truth mix).milk new file mode 100755 index 0000000000..a9e5cbba84 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Age of Science (seeking truth mix).milk @@ -0,0 +1,287 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.132666 +fWaveSmoothing=0.750000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=r = .8+.2*sin(time*1.444); +wave_0_per_frame2=g = .8+.2*sin(time*1.2233); +wave_0_per_frame3=b = .8+.2*sin(time*1.332211); +wave_0_per_point1=x = .5+.3*sin(sample*20)*(value1*10); +wave_0_per_point2=y = .5+.3*cos(sample*20)*(value2*10); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_init1=tme = 0; +wave_1_per_point1=tme = tme+bass*.5; +wave_1_per_point2= +wave_1_per_point3=x = .5+.24*sin(sample*3.1415926*2); +wave_1_per_point4=y = .5+.24*cos(sample*3.1415926*2); +wave_1_per_point5=r = sin((sample*20)+(tme*.0002)); +wave_1_per_point6=g = 0; +wave_1_per_point7=b = 0; +wave_1_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_1_per_point9=a = if(below(a,0),0,a); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_init1=tme = 0; +wave_2_per_point1=tme = tme+treb*.5; +wave_2_per_point2= +wave_2_per_point3=x = .5+.241*sin(sample*3.1415926*2); +wave_2_per_point4=y = .5+.241*cos(sample*3.1415926*2); +wave_2_per_point5=r = 0; +wave_2_per_point6=g = sin((sample*20)+(tme*.0002)); +wave_2_per_point7=b = 0; +wave_2_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_2_per_point9=a = if(below(a,0),0,a); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=tme = tme+mid*.5; +wave_3_per_point2= +wave_3_per_point3=x = .5+.242*sin(sample*3.1415926*2); +wave_3_per_point4=y = .5+.242*cos(sample*3.1415926*2); +wave_3_per_point5=r = 0; +wave_3_per_point6=g = 0; +wave_3_per_point7=b = sin((sample*20)+(tme*.0002)); +wave_3_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_3_per_point9=a = if(below(a,0),0,a); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=a = if(above(bass,2.5),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=frbassc = 0; +per_frame_init_2=frtrebc = 0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2; +per_frame_5=frbassc = frbassc+bass*.5; +per_frame_6=frtrebc = frtrebc+treb*.5; +per_frame_7=q1 = sin(frbassc*.01); +per_frame_8=q2 = sin(frtrebc*.01); +per_pixel_1=zoom = 1+(abs(rad-(.8-(bass*.2)))*.1); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` //ret = lerp(GetBlur1(uv)*1,ret,ret); +warp_6=` // darken (decay) over time +warp_7=` if (ret.x+ret.y+ret.z < (0+((mid+bass+treb)/3)*.3)){ +warp_8=` ret.x = ret.x+.6; +warp_9=` ret.y = ret.y+.6; +warp_10=` ret.z = ret.z+.6; +warp_11=` }else{ +warp_12=` ret = (ret - .005)*0.99; //or try: ret -= 0.004; +warp_13=` } +warp_14=`} +comp_1=`sampler sampler_smalltiled_electric_nebula; +comp_2=`float4 texsize_smalltiled_electric_nebula; +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main,uv).xyz; +comp_6=` float2 uv2 = float2(uv.x+.5+(q1),uv.y+.5+(q2)); +comp_7=` float3 ret2 = tex2D(sampler_smalltiled_electric_nebula,uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz; +comp_8=` ret = lerp(ret2*((bass+mid+treb)*.5),ret,ret*2.5); +comp_9=`} diff --git a/presets/presets_milkdrop_200/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_milkdrop_200/Zylot - Block Of Sound (Abstract Architecture Mix).milk new file mode 100755 index 0000000000..b291da63a9 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Block Of Sound (Abstract Architecture Mix).milk @@ -0,0 +1,218 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.124746 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.03 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0 +mv_g=0 +mv_b=0.7 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=0 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=1 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=1 +shape_0_per_frame1=ang = ang + 10*sin(time*.8); +shape_0_per_frame2=vol = 0.167*(bass+mid+att); +shape_0_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_0_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_0_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_0_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_0_per_frame7=xpos = xpos + 0.001*xspeed; +shape_0_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_0_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_0_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_0_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_0_per_frame12=ypos = ypos + 0.001*yspeed; +shape_0_per_frame13=x = centerx; +shape_0_per_frame14=y = abs(centery-1); +shape_0_per_frame15=centerx = 1.75*xpos + 0.5; +shape_0_per_frame16=centery = 1.75*ypos + 0.5; +shape_0_per_frame17=r2 = .5+.2*sin(time*.666); +shape_0_per_frame18=g2 = .5+.2*sin(time*.555); +shape_0_per_frame19=b2 = .5+.2*sin(time*.777); +shape_0_per_frame20=rad = rad + bass*.1; +shape_0_per_frame21=border_r = bass*.3; +shape_0_per_frame22=border_g = treb*.3; +shape_0_per_frame23=border_b = mis*.3; +shape_0_per_frame24=r = if(above(bass,1.3),1,0); +shape_0_per_frame25=g = if(above(bass,1.3),1,0); +shape_0_per_frame26=b = if(above(bass,1.3),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=vol = 0.167*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=wave_x = centerx; +per_frame_14=wave_y = abs(centery-1); +per_frame_15=centerx = 1.75*xpos + 0.5; +per_frame_16=centery = 1.75*ypos + 0.5; +per_frame_17=q1 = centerx; +per_frame_18=q2 = centery; +per_frame_19=q3 = .06 + bass*.04; +per_frame_20=wave_r = bass*.3; +per_frame_21=wave_g = treb*.3; +per_frame_22=wave_b = mid*.3; +per_pixel_1=zoom = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),1,.94+ze),.94+ze),.94+ze),.94+ze); +per_pixel_2=zoomerx = if(above(x,q1),.01,-.01); +per_pixel_3=zoomery = if(above(y,q2),.01,-.01); +per_pixel_4=dx = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomerx,.7+dxe),.7+dxe),.7+dxe),.7+dxe); +per_pixel_5=dy = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomery,.7+dye),.7+dye),.7+dye),.7+dye); +per_pixel_6=dxe = .2 + .2*sin(time*.444); +per_pixel_7=dye = .2+.2*cos(time*.222); +per_pixel_8=ze = .04*sin(time*.777); diff --git a/presets/presets_milkdrop_200/Zylot - Color Of Music.milk b/presets/presets_milkdrop_200/Zylot - Color Of Music.milk new file mode 100755 index 0000000000..024e778272 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Color Of Music.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=1 +fGammaAdj=1.9 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.888676 +fWaveScale=2.978922 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=1.01 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=3.209179 +fWarpScale=0.512473 +fZoomExponent=0.999997 +fShader=0 +zoom=1.104622 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=2.380965 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = bass/5; +per_frame_2=wave_g = treb/5; +per_frame_3=wave_b = time*sin(bass/treb*10); +per_frame_4=wave_x =.4+(((cos(bass)))/2); +per_frame_5=wave_y = .25+((treb/10)); +per_frame_6=warp = warp*(log(.2*time/2))/warp*tan(rand(1)); +per_frame_7=decay = decay + sy; diff --git a/presets/presets_milkdrop_200/Zylot - Crossing Over (Geiss Tweak).milk b/presets/presets_milkdrop_200/Zylot - Crossing Over (Geiss Tweak).milk new file mode 100755 index 0000000000..fbc5c94c14 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Crossing Over (Geiss Tweak).milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.0 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=0.133 +fWaveSmoothing=0.750 +fWaveParam=-0.380 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.16446 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=a = if(above(bass*0.7+mid*0.3,2.2),1,0)*0.1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2; +per_frame_5=dx = .0002*sin(time); +per_frame_6=dy = .0002*sin(time*.999); +per_pixel_1=zoom = 1+(rad*(.15+(bass*.05))); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*5; +warp_8=` // darken (decay) over time +warp_9=` ret *= 0.96; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //gamma +comp_5=` ret *= 2.00; //gamma +comp_6=` //my stuffz +comp_7=` ret += abs(ret-.2); +comp_8=` ret = ret - .2; +comp_9=` ret = pow(ret,float3(1.5+sin(time),1.5+sin(time*.988776),1.5+sin(time*55667788))); +comp_10=`} diff --git a/presets/presets_milkdrop_200/Zylot - In death there is life (Dancing Lights mix).milk b/presets/presets_milkdrop_200/Zylot - In death there is life (Dancing Lights mix).milk new file mode 100755 index 0000000000..981aeaa00a --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - In death there is life (Dancing Lights mix).milk @@ -0,0 +1,246 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=16.217468 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.667175 +shapecode_0_ang=0.565486 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.400342 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.2 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.1 +shape_0_init1=spin = 0; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.089252 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=3.209175 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.2 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang = 3+sin(time); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_3=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_4=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_frame_5=zoom = 1+bass*.01; +per_pixel_1=zoom = zoom + (rad*.01)*treb; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret = ret- (ret*.5); +warp_8=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_9=` ret = ret - .01; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 5.00; //gamma +comp_5=` ret += 1.2; +comp_6=` float gb = GetBlur1(uv); +comp_7=` ret = (ret*gb)*float3(1+.2*sin(time),1+.2*sin(time*.2233333),1+.2*sin(time*.733467)); +comp_8=` +comp_9=`} +comp_10=` diff --git a/presets/presets_milkdrop_200/Zylot - In death there is life (Geiss Layered Mix).milk b/presets/presets_milkdrop_200/Zylot - In death there is life (Geiss Layered Mix).milk new file mode 100755 index 0000000000..7dbcc2279d --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - In death there is life (Geiss Layered Mix).milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=16.217468 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.599579 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_3=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_4=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_frame_5=zoom = 1+bass*.01; +per_pixel_1=zoom = zoom + (rad*.01)*treb; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*0.96+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret = ret- (ret*.5); +warp_13=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_14=` ret = ret - .01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 5.00; //gamma +comp_5=` ret += 1.2; +comp_6=` float gb = GetBlur1(uv); +comp_7=` ret = (ret*gb)*float3(1+.2*sin(time),1+.2*sin(time*.2233333),1+.2*sin(time*.733467)); +comp_8=` float3 rets = tex2D(sampler_main, uv).xyz; +comp_9=` ret = lerp(ret*GetBlur1(uv), rets*3, rets.x); +comp_10=` ret = lerp(ret*GetBlur1(uv), rets*1.5, rets.y); +comp_11=` ret = lerp(ret*GetBlur1(uv), rets, rets.z); +comp_12=`} +comp_13=` diff --git a/presets/presets_milkdrop_200/Zylot - In death there is life (surface reflection mix).milk b/presets/presets_milkdrop_200/Zylot - In death there is life (surface reflection mix).milk new file mode 100755 index 0000000000..b095a0827b --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - In death there is life (surface reflection mix).milk @@ -0,0 +1,244 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.0 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=16.217468 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=1.0 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.667175 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.2 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_3=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_4=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_frame_5=zoom = 1+bass*.01; +per_pixel_1=zoom = zoom + (rad*.01)*treb; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret = ret- (ret*.5); +warp_8=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_9=` ret = ret - .01; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 5.00; //gamma +comp_5=` ret += 1.2; +comp_6=` float gb = GetBlur1(uv); +comp_7=` ret = (ret*gb)*float3(1+.2*sin(time),1+.2*sin(time*.2233333),1+.2*sin(time*.733467)); +comp_8=` +comp_9=`} +comp_10=` diff --git a/presets/presets_milkdrop_200/Zylot - Magma Crawl.milk b/presets/presets_milkdrop_200/Zylot - Magma Crawl.milk new file mode 100755 index 0000000000..f5c9d833b5 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Magma Crawl.milk @@ -0,0 +1,50 @@ +[preset00] +fRating=1 +fGammaAdj=2 +fDecay=0.999 +fVideoEchoZoom=4.013491 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1 +fWaveSmoothing=0 +fWaveParam=1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=3.300382 +fWarpScale=2.704811 +fZoomExponent=1 +fShader=0 +zoom=1.01 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=2.448628 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.3 +wave_b=0 +wave_x=0.08 +wave_y=0.5 +per_frame_1=decay = .999999970089; +per_frame_2=wave_g = sin(time); +per_pixel_1=dx = dx + ((x + 1)*.001) * -rand(40); + diff --git a/presets/presets_milkdrop_200/Zylot - My World (burning mix).milk b/presets/presets_milkdrop_200/Zylot - My World (burning mix).milk new file mode 100755 index 0000000000..e24add9704 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - My World (burning mix).milk @@ -0,0 +1,253 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.132666 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=1.000000 +wave_y=0.550000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a = if(above(bass,2.5),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2; +per_pixel_1=dy = dy+(y*.05); +per_pixel_2=dx = bass*((.02*sin(y*mid*(15*treb*(y+1+.5*(sin(time)))*2)))*y); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` // darken (decay) over time +warp_6=` ret = lerp(GetBlur2(uv),ret,.95); +warp_7=` if (ret.x+ret.y+ret.z < (0+((mid+bass+treb)/3)*.2)){ +warp_8=` ret.x = ret.x+.6; +warp_9=` ret.y = ret.y+.6; +warp_10=` ret.z = ret.z+.6; +warp_11=` }else{ +warp_12=` ret = (ret - .005)*0.99; //or try: ret -= 0.004; +warp_13=` } +warp_14=`} +comp_1=`sampler sampler_ruin; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main,uv).xyz; +comp_5=` float2 uv3 = float2(uv.x+((.2*mid)*sin(time)),uv.y+((.2*mid)*sin(time*.3456787))); +comp_6=` float3 ret3 = tex2D(sampler_ruin,uv).xyz; +comp_7=` float2 uv2 = float2(uv.x,abs(uv.y-1)); +comp_8=` float3 ret2 = tex2D(sampler_main,uv2).xyz; +comp_9=` ret += ret*ret*10; +comp_10=` ret2 += ret2*ret2*10; +comp_11=` ret3 += ret3*ret3*5*treb; +comp_12=` ret = lerp(ret2,ret,.5); +comp_13=` ret = lerp(ret,ret3,ret*bass); +comp_14=`} diff --git a/presets/presets_milkdrop_200/Zylot - My World (crashing down mix).milk b/presets/presets_milkdrop_200/Zylot - My World (crashing down mix).milk new file mode 100755 index 0000000000..44fa867be5 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - My World (crashing down mix).milk @@ -0,0 +1,249 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.132666 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=1.000000 +wave_y=0.550000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a = if(above(bass,2.5),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2; +per_frame_5=q1 = (bass*.3)*sin(time); +per_frame_6=q2 = (bass*.3)*sin(time*.3344556); +per_pixel_1=dy = dy+(y*.05); +per_pixel_2=dx = bass*((.02*sin(y*mid*(15*treb*(y+1+.5*(sin(time)))*2)))*y); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` // darken (decay) over time +warp_6=` ret = lerp(GetBlur2(uv),ret,.95); +warp_7=` ret = (ret - .005)*0.95; //or try: ret -= 0.004; +warp_8=`} +comp_1=`sampler sampler_ruin; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main,uv).xyz; +comp_5=` float2 uv3 = float2(uv.x+.2+(mid*.1)+(.3*q1),uv.y+.2+(mid*.1)+(.3*q2)); +comp_6=` float3 ret3 = tex2D(sampler_ruin, ((uv3)*aspect.xy)*(.7-(mid*.05))).xyz; +comp_7=` float2 uv2 = float2(uv.x,abs(uv.y-1)); +comp_8=` float3 ret2 = tex2D(sampler_main,uv2).xyz; +comp_9=` ret += ret*ret*10; +comp_10=` ret2 += ret2*ret2*10; +comp_11=` ret3 += ret3*ret3*15*treb; +comp_12=` ret = lerp(ret2,ret,.5); +comp_13=` ret = lerp(ret,ret3,ret*bass); +comp_14=`} diff --git a/presets/presets_milkdrop_200/Zylot - Rush.milk b/presets/presets_milkdrop_200/Zylot - Rush.milk new file mode 100755 index 0000000000..b96224c790 --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - Rush.milk @@ -0,0 +1,192 @@ +[preset00] +fRating=1 +fGammaAdj=1.98 +fDecay=0.94 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.987793 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.120321 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=.3+pow(value1,.2); +wave_0_per_point3=r=rand(10)*.1; +wave_0_per_point4=g=rand(10)*.1; +wave_0_per_point5=b=rand(10)*.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=.9-pow(value2,.2); +wave_1_per_point3=r=rand(10)*.1; +wave_1_per_point4=g=rand(10)*.1; +wave_1_per_point5=b=rand(10)*.1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +wave_2_init1=t1 = 0; +wave_2_per_point1=x=.5+.1*sin(sample*10)*(rand(10)*.1)*bass; +wave_2_per_point2=y=.5+.1*cos(sample*10)*(rand(10)*.1)*treb; +wave_2_per_point3=a=(abs(y-.5)*abs(x-.5))*60; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0.1 +shape_0_per_frame1=r=.5+.2*sin(time*1.3); +shape_0_per_frame2=g=.5+.2*sin(time*1.1); +shape_0_per_frame3=b=.5+.2*sin(time*.9); +shape_0_per_frame4=a=bass; +shape_0_per_frame5=r2=r; +shape_0_per_frame6=g2=g; +shape_0_per_frame7=b2=b; +shape_0_per_frame8=border_a = if(above(bass,1.5),1,0); +shape_0_per_frame9=rad = bass*.1; +shape_0_per_frame10=rad = rad*if(above(bass,1.7),5,1); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +per_frame_1=warp = 0; +per_pixel_1=zoom = if(above(abs(x-.5),.04),if(above(abs(y-.5),.04),1.2,1),1); +per_pixel_2=dx = if(above(x-.5,.025),if(below(abs(y-.5),.025),.02,0),0); +per_pixel_3=dx = if(below(x-.5,-.025),if(below(abs(y-.5),.025),-.02,dx),dx); +per_pixel_4=dy = if(above(y-.5,.025),if(below(abs(x-.5),.02),.02,0),0); +per_pixel_5=dy = if(below(y-.5,-.025),if(below(abs(x-.5),.02),-.02,dy),dy); diff --git a/presets/presets_milkdrop_200/Zylot - light of the path.milk b/presets/presets_milkdrop_200/Zylot - light of the path.milk new file mode 100755 index 0000000000..b894bd6bdc --- /dev/null +++ b/presets/presets_milkdrop_200/Zylot - light of the path.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=1 +fGammaAdj=2. +fDecay=0.98 +fVideoEchoZoom=2. +fVideoEchoAlpha=0. +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1. +fWaveSmoothing=0.75 +fWaveParam=-0.44 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1. +fWarpScale=1. +fZoomExponent=1. +fShader=0. +zoom=1. +rot=0. +cx=0.5 +cy=0.5 +dx=0. +dy=0. +warp=1. +sx=1. +sy=1. +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.07 +wave_y=0.5 +ob_size=0.01 +ob_r=0. +ob_g=0. +ob_b=0. +ob_a=0. +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0. +per_frame_1=dx = dx - .001; +per_frame_2=dy = dy - .001; +per_frame_3=warp = 0; +per_frame_4=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_5=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_6=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_pixel_1=zoomlv = .1*sin(ang*1000+time)+.05; +per_pixel_2=zoom = zoom + zoomlv; +per_pixel_3=dx = zoomlv; diff --git a/presets/presets_milkdrop_200/baked - mushroom rainbows[acid Storm].milk b/presets/presets_milkdrop_200/baked - mushroom rainbows[acid Storm].milk new file mode 100755 index 0000000000..d3bec25b86 --- /dev/null +++ b/presets/presets_milkdrop_200/baked - mushroom rainbows[acid Storm].milk @@ -0,0 +1,289 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.020000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.9 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.9 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_milkdrop_200/che - terracarbon stream.milk b/presets/presets_milkdrop_200/che - terracarbon stream.milk new file mode 100755 index 0000000000..46b95ccd0e --- /dev/null +++ b/presets/presets_milkdrop_200/che - terracarbon stream.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.03074 +fWaveScale=0.498516 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=1 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.000158 +fShader=0 +zoom=1.000223 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.1 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.06 +ib_size=0.035 +ib_r=0.25 +ib_g=0.45 +ib_b=0.25 +ib_a=0.29 +nMotionVectorsX=19.199999 +nMotionVectorsY=14.400005 +mv_dx=0 +mv_dy=0 +mv_l=2.5 +mv_r=0.06 +mv_g=1 +mv_b=1 +mv_a=0.2 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=q1=le; +per_frame_26=q2=thccl+.2*leccl; +per_frame_27=leccl=leccl+dle*le; +per_frame_28=dle=if(beat,-dle,dle); +per_frame_29=bccl=bccl+beat; +per_frame_30= +per_frame_31=wave_r=.1+.8*sqr(sin(.011*thccl))+.1*sin(leccl*.061); +per_frame_32=wave_g=.1+.8*sqr(sin(.013*thccl))+.1*cos(leccl*.067); +per_frame_33=wave_b=.1+.8*sqr(cos(.017*thccl))+.1*sin(leccl*.065); +per_frame_34= +per_frame_35=ib_r=ib_r+.1*sin(1.3*time+.012*leccl); +per_frame_36=ib_g=ib_g+.1*sin(1.7*time+.019*leccl); +per_frame_37=ib_b=ib_b+.1*sin(1.9*time+.017*leccl); +per_frame_38=mv_r=.5*(ib_r+wave_r);mv_g=.5*(ib_g+wave_g);mv_b=.5*(ib_b+wave_b); +per_frame_39=mv_a=.5*sqr(sin(.01*leccl+bccl)); +per_frame_40= +per_frame_41=echo_alpha=.5+.2*cos(.07*leccl+.02*thccl); +per_frame_42=eo=if(band(equal(bccl%3,0),beat),rand(4),eo); +per_frame_43=q3=(equal(eo,2)+equal(eo,1))*equal(bccl%2,0); +per_frame_44=q4=(equal(eo,0)+equal(eo,3))*equal(bccl%2,0); +per_frame_45=echo_orient=eo; +per_pixel_1=dqv=above(x,.5)-above(y,.5); +per_pixel_2=rot=sin(sin(rad*(13+5*sin(.01*q2))+.06*q2)*q1*.01); +per_pixel_3=zoom=1+if(q3,dqv,1)*.1*sin(7*ang+.03*q2); +per_pixel_4=zoom=if(q4,if(below(rad,.8*sqr(sin(.016*q2))),.75+.4*cos(.021*q2),zoom),zoom); +per_frame_init_1=dle=1; diff --git a/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - tile mix.milk b/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - tile mix.milk new file mode 100755 index 0000000000..7e9bf68f69 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - tile mix.milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.280 +fDecay=0.980 +fVideoEchoZoom=1.228 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.25486 +fShader=1.0 +zoom=0.97012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=branch=rand(2); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=branch=rand(2); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=branch=rand(2); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=branch=rand(2); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.46815 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.63904 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.02743 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.050 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.02508 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=0.050 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.66717 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.60804 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.010 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2 = float2(floor(uv.x*10), floor(uv.y*10)) * 0.1; +comp_6=` float4 N = tex2D(sampler_pw_noise_lq, uv2*aspect.xy); +comp_7=` uv.xy += N.xy; +comp_8=` +comp_9=` ret = tex2D(sampler_main, uv).xyz; +comp_10=` ret *= 1.21; //gamma +comp_11=` ret *= ret; //darken +comp_12=`} diff --git a/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - water mix.milk b/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - water mix.milk new file mode 100755 index 0000000000..6ec7d5b022 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN + Geiss - the adventures of prismo jenkins - water mix.milk @@ -0,0 +1,382 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.280 +fDecay=0.980 +fVideoEchoZoom=1.228 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.25486 +fShader=1.0 +zoom=0.97012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=branch=rand(2); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=branch=rand(2); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=branch=rand(2); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=branch=rand(2); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.46815 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.63904 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.02743 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.050 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.02508 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=0.050 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.66717 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.60804 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.010 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); +comp_1=`sampler sampler_fw_noise_hq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float4 N1 = tex2D(sampler_fw_noise_hq, uv*texsize.xy*2*texsize_noise_hq.zw/64 +rand_preset.xy)*1; +comp_6=` float4 N2 = tex2D(sampler_fw_noise_hq, uv*texsize.xy*2*texsize_noise_hq.zw/16+rand_preset.xy)*0.25; +comp_7=` float4 N3 = tex2D(sampler_fw_noise_hq, uv*texsize.xy*2*texsize_noise_hq.zw/32+rand_preset.xy)*0.5; +comp_8=` +comp_9=` uv = 0.05 + 0.9*uv; +comp_10=` uv.x += 0.05*cos((N1.x + N2.x + N3.x)*5 + time*4.13); +comp_11=` uv.y += 0.05*sin((N1.y + N2.y + N3.y)*5 + time*5); +comp_12=` +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv).xyz; +comp_15=` ret *= 2.00; //gamma +comp_16=`} diff --git a/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 2).milk b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 2).milk new file mode 100755 index 0000000000..2bf628cf4e --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 2).milk @@ -0,0 +1,326 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +warp_1=`shader_body +warp_2=`{ +warp_3=` float grad_rad = 0.7; +warp_4=` float str = 1; +warp_5=` +warp_6=` float3 d = float3(texsize.zw, 0) * 10 * grad_rad; +warp_7=` float4 lums = 0; +warp_8=` lums.x = lum( GetBlur1(uv + texsize.zw*d.xz) ); +warp_9=` lums.y = lum( GetBlur1(uv - texsize.zw*d.xz) ); +warp_10=` lums.z = lum( GetBlur1(uv + texsize.zw*d.zy) ); +warp_11=` lums.w = lum( GetBlur1(uv - texsize.zw*d.zy) ); +warp_12=` +warp_13=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*900/grad_rad; +warp_14=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_15=` +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.98; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x*2; +comp_19=`ret.z = GetBlur2(uv).z*3; +comp_20=` +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 3).milk b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 3).milk new file mode 100755 index 0000000000..5b768a3b15 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix 3).milk @@ -0,0 +1,326 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 3; //TWEAK +warp_7=` float str = 2.3; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x*2; +comp_19=`ret.z = GetBlur2(uv).z*3; +comp_20=` +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix).milk b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix).milk new file mode 100755 index 0000000000..83bb8c9e52 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN + geiss - witchcraft (Grow Mix).milk @@ -0,0 +1,334 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.583 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00250 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=1.000 +wave_b=0.350 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=a = q17; +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=a = q17; +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=a = q17; +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=a = q17; +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q16 = pow(rand(100)*0.01, 1.5)*0.029; +per_frame_1=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_2=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_3=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_4=decay_rate = pow(0.9990, fps); // lower # = more hasty to declare a beat +per_frame_5=beat = bass/max(min_att,bass_att); +per_frame_6=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_7=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_8=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_9=beat_level = (beat - prev_beat - 0.03)*24; +per_frame_10=is_beat = above(beat_level, 0.5); +per_frame_11=prev_beat = beat; +per_frame_12= // put your beat responses HERE: +per_frame_13= //wave_a = beat_level; +per_frame_14= //q17 = max(0, min(1, beat_level)); +per_frame_15= q17 = (max(max(bass/bass_att,treb/treb_att),mid/mid_att) - 0.82) * 3; +per_frame_16= q17 = max(0,min(1,q17)); +per_frame_17= +per_frame_18=zoom = zoom + q16; +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 4; //TWEAK +warp_7=` float str = 2.3; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` ret += GetBlur1(uv)*float3(0.5,0.32,0.1)*0.8; +comp_7=` +comp_8=`} +comp_9=` +comp_10=` diff --git a/presets/presets_milkdrop_200/fiShbRaiN - the adventures of prismo jenkins.milk b/presets/presets_milkdrop_200/fiShbRaiN - the adventures of prismo jenkins.milk new file mode 100755 index 0000000000..94c94b9138 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN - the adventures of prismo jenkins.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.280000 +fDecay=0.980000 +fVideoEchoZoom=1.228230 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.254861 +fShader=1.0 +zoom=0.970118 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=branch=rand(2); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=branch=rand(2); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=branch=rand(2); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=branch=rand(2); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.468146 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.639039 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.027430 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.050000 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.025080 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=0.050000 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.667173 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.608038 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.010000 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); diff --git a/presets/presets_milkdrop_200/fiShbRaiN - the machine that conquered the world (domination remix).milk b/presets/presets_milkdrop_200/fiShbRaiN - the machine that conquered the world (domination remix).milk new file mode 100755 index 0000000000..544c2852c8 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN - the machine that conquered the world (domination remix).milk @@ -0,0 +1,332 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.650000 +fVideoEchoZoom=0.202819 +fVideoEchoAlpha=0.3 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.650438 +fWaveScale=7.709095 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.009495 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=0.999900 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.1 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999999 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=tscale=.45+(bass*.02); +wave_0_per_point2=trot=3; +wave_0_per_point3=a=above(sample,0); +wave_0_per_point4= +wave_0_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_0_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_0_per_point7= +wave_0_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_0_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_0_per_point10= +wave_0_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_0_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//draw via random walk +wave_0_per_point16=tri_point=rand(3); +wave_0_per_point17= +wave_0_per_point18=//point 1 +wave_0_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_0_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_0_per_point21= +wave_0_per_point22=//point 2 +wave_0_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_0_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_0_per_point25= +wave_0_per_point26=//point 3 +wave_0_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_0_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_0_per_point29= +wave_0_per_point30=x=t_x; +wave_0_per_point31=y=t_y; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=tscale=.45+(bass*.02); +wave_1_per_point2=trot=3; +wave_1_per_point3=a=above(sample,0); +wave_1_per_point4= +wave_1_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_1_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_1_per_point7= +wave_1_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_1_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_1_per_point10= +wave_1_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_1_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//draw via random walk +wave_1_per_point16=tri_point=rand(3); +wave_1_per_point17= +wave_1_per_point18=//point 1 +wave_1_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_1_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_1_per_point21= +wave_1_per_point22=//point 2 +wave_1_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_1_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_1_per_point25= +wave_1_per_point26=//point 3 +wave_1_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_1_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_1_per_point29= +wave_1_per_point30=x=t_x; +wave_1_per_point31=y=t_y; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=tscale=.45+(bass*.02); +wave_2_per_point2=trot=3; +wave_2_per_point3=a=above(sample,0); +wave_2_per_point4= +wave_2_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_2_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_2_per_point7= +wave_2_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_2_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_2_per_point10= +wave_2_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_2_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_2_per_point13= +wave_2_per_point14= +wave_2_per_point15=//draw via random walk +wave_2_per_point16=tri_point=rand(3); +wave_2_per_point17= +wave_2_per_point18=//point 1 +wave_2_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_2_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_2_per_point21= +wave_2_per_point22=//point 2 +wave_2_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_2_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_2_per_point25= +wave_2_per_point26=//point 3 +wave_2_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_2_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_2_per_point29= +wave_2_per_point30=x=t_x; +wave_2_per_point31=y=t_y; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=tscale=.45+(bass*.02); +wave_3_per_point2=trot=3; +wave_3_per_point3=a=above(sample,0); +wave_3_per_point4= +wave_3_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_3_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_3_per_point7= +wave_3_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_3_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_3_per_point10= +wave_3_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_3_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_3_per_point13= +wave_3_per_point14= +wave_3_per_point15=//draw via random walk +wave_3_per_point16=tri_point=rand(3); +wave_3_per_point17= +wave_3_per_point18=//point 1 +wave_3_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_3_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_3_per_point21= +wave_3_per_point22=//point 2 +wave_3_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_3_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_3_per_point25= +wave_3_per_point26=//point 3 +wave_3_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_3_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_3_per_point29= +wave_3_per_point30=x=t_x; +wave_3_per_point31=y=t_y; +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.240000 +shapecode_0_y=0.5 +shapecode_0_rad=0.472094 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.819518 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.6 +shapecode_0_g2=0.6 +shapecode_0_b2=0.9 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=(sin(time*.5)*.5)+.5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=1.570797 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.3 +shapecode_1_g2=0.2 +shapecode_1_b2=0.8 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.808141 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.4 +shapecode_2_g=0.4 +shapecode_2_b=0.8 +shapecode_2_a=1.0 +shapecode_2_r2=0.7 +shapecode_2_g2=0.6 +shapecode_2_b2=0.5 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.364566 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.498314 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.8 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 diff --git a/presets/presets_milkdrop_200/fiShbRaiN - witchcraft (necromancer remix)_phat_edit_v3.milk b/presets/presets_milkdrop_200/fiShbRaiN - witchcraft (necromancer remix)_phat_edit_v3.milk new file mode 100755 index 0000000000..d02feb027c --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN - witchcraft (necromancer remix)_phat_edit_v3.milk @@ -0,0 +1,272 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.950000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285700 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.8 +mv_g=0.8 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=0.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=0.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.791409 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=100.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.1 +shapecode_0_a=0.9 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.130000 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=//ang=sin(time*.4); +shape_0_per_frame2=tex_zoom=.557; +shape_0_per_frame3=tex_ang=.001; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=decay=.90; +per_pixel_1=zoom=1.01; diff --git a/presets/presets_milkdrop_200/fiShbRaiN - witchcraft.milk b/presets/presets_milkdrop_200/fiShbRaiN - witchcraft.milk new file mode 100755 index 0000000000..9583885dd2 --- /dev/null +++ b/presets/presets_milkdrop_200/fiShbRaiN - witchcraft.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.955000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=1.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 diff --git a/presets/presets_milkdrop_200/flexi - Mindblob.milk b/presets/presets_milkdrop_200/flexi - Mindblob.milk new file mode 100755 index 0000000000..f2ece09518 --- /dev/null +++ b/presets/presets_milkdrop_200/flexi - Mindblob.milk @@ -0,0 +1,503 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.0 +fWaveParam=-0.440 +fModWaveAlphaStart=1.0 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=0.010 +fWarpScale=100.0 +fZoomExponent=0.92170 +fShader=0.0 +zoom=0.99010 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.040 +ob_size=0.0 +ob_r=0.0 +ob_g=1.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=0.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.0 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.0 +wavecode_2_smoothing=0.6 +wavecode_2_r=0.0 +wavecode_2_g=0.4 +wavecode_2_b=1.0 +wavecode_2_a=0.3 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.0 +wavecode_3_r=0.0 +wavecode_3_g=0.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.02015 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.1 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=1.0 +shapecode_1_y=0.5 +shapecode_1_rad=0.39872 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.12566 +shapecode_1_tex_zoom=1.51878 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=1.0 +shapecode_2_y=0.5 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.0 +shapecode_2_g=1.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=1.0 +shapecode_3_y=0.5 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + (xx1-xx2)*1.5; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 18; +per_frame_12=grav = 1; +per_frame_13=resist = 5; +per_frame_14=bounce = 0.9; +per_frame_15=dt = 0.0003; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56=warp = 0; +per_frame_57=zoom = 1.00; +per_frame_58=q6 = atan2(vx4,vy4); +per_frame_59=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1=dir = -q6*1 + asin(1)*1; +per_pixel_2= +per_pixel_3=b1 = 0.1; // distance +per_pixel_4=m1 = q5*25;//-0.6 + q5*200; // size +per_pixel_5=t1 = 0.05; // velocity +per_pixel_6= +per_pixel_7=xx = q4; +per_pixel_8=yy = 1-q8; +per_pixel_9= +per_pixel_10= +per_pixel_11=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_12=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_13= +per_pixel_14=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_15=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_16= +per_pixel_17=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_18=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_19= +per_pixel_20=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_21=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_22= +per_pixel_23=si3 = -pow(q5,3)*00; +per_pixel_24= +per_pixel_25=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2; +per_pixel_26=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_6=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_7=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_8=` float2 my_uv = uv - float2(dx,dy)*0.005 + float2(dxb,dyb)*0.002; +warp_9=` +warp_10=` +warp_11=` +warp_12=` float2 v = 0.01; +warp_13=` ret.x = tex2D( sampler_fc_main, my_uv).x; +warp_14=` +warp_15=` +warp_16=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_17=` ret.x += 0.006; +warp_18=` +warp_19=` ret.x = lerp( ret.x, lum(ret).x, 0); +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` +warp_31=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*120; +warp_32=` ret.z *= 0.85; +warp_33=` ret.z += 0.008; +warp_34=` +warp_35=` +warp_36=` +warp_37=`//-------------------------------- +warp_38=` +warp_39=` d = 0.01; +warp_40=` my_uv = float2(-dy,dx)*0.05; +warp_41=` +warp_42=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_43=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_44=` my_uv += uv - float2(dx,dy)*0.03; +warp_45=` +warp_46=` +warp_47=` +warp_48=` v = 0.01; +warp_49=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_50=` +warp_51=` +warp_52=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = lerp( float3(0,0,0.3), float3(0.4,0,1),tex2D( sampler_fw_main, uv).y); +comp_4=`ret *= 1-GetBlur1(uv).z*2; +comp_5=`ret += tex2D( sampler_main, uv).z*float3(0.9,0.2,0.8); +comp_6=`ret *= 1-GetBlur1(uv).x*1.6; +comp_7=`ret += lerp( 0, float3(1,0.7,0),tex2D( sampler_fw_main, uv).x)*0.9; +comp_8=`//ret = tex2D( sampler_main, uv); +comp_9=`} diff --git a/presets/presets_milkdrop_200/idiot - Spectrum.milk b/presets/presets_milkdrop_200/idiot - Spectrum.milk new file mode 100755 index 0000000000..d117bda177 --- /dev/null +++ b/presets/presets_milkdrop_200/idiot - Spectrum.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=1 +fGammaAdj=1 +fDecay=0.925 +fVideoEchoZoom=0.9867 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.63 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.999514 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=1.248 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=0 +mv_a=0 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_2=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_3=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_4=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_5=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_6=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_7=q1=bass_thresh; +per_frame_8=q2=treb_thresh; +per_frame_9=q3=mid_thresh; +per_frame_10=q4=vol_thresh; +per_frame_11=wave_r=.1+.5*sin(time*.54)-.2*sin(below(Q1,q2)); +per_frame_12=wave_B=if(Above(q2,q3),.5-.3*Sin(time*.23),0); +per_frame_13=wave_g=if(above(q2,q3),wave_r-.05*Sin(time*.3)+.5*sin(above(Q1,q2)),1-.5*Sin(Time) +per_frame_14=*sin(equal(wave_b,0))); +per_frame_15=ez=sin(wave_g)*cos(wave_R-wave_b)+.3*Sin(if(below(ez,.7),ez,ez+.2)); +per_frame_16=echo_zoom=ez; +per_frame_17= +per_pixel_1=zoom=zoom+.01*Sin(Rad*3.14-q1)+.03*sin(q3); +per_pixel_2=rot=rot-.01*sin(rad*3.14)+.02*sin(Above(Q1,q2)); +per_pixel_3=dx=dx+.01*Sin(rad*5)*sin(time*.54-q3); diff --git a/presets/presets_milkdrop_200/mstress - Scattered gravity (Smoked mix).milk b/presets/presets_milkdrop_200/mstress - Scattered gravity (Smoked mix).milk new file mode 100755 index 0000000000..65ea2db1f2 --- /dev/null +++ b/presets/presets_milkdrop_200/mstress - Scattered gravity (Smoked mix).milk @@ -0,0 +1,310 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.988900 +fVideoEchoZoom=1.168096 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=3.235352 +fWarpScale=0.107452 +fZoomExponent=0.999998 +fShader=0.0 +zoom=1.000509 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.796800 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.000500 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=0.090000 +ib_size=0.000500 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.350001 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.7 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.150000 +shapecode_0_rad=0.230672 +shapecode_0_ang=6.031858 +shapecode_0_tex_ang=5.780530 +shapecode_0_tex_zoom=1.040593 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.400001 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.7 +shape_0_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_0_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_0_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_0_per_frame4=bassdiff = (bass - meanbass)*15; +shape_0_per_frame5=trebdiff = (treb - meantreb)*15; +shape_0_per_frame6=middiff = (mid - meanmid)*15; +shape_0_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_0_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_0_per_frame9=middiff = above(middiff,0)*middiff; +shape_0_per_frame10=o=1;//abs(o-1); +shape_0_per_frame11=g = abs(1*o-min(1,max(0,0.2*trebdiff))); +shape_0_per_frame12=r = abs(1*o-min(1,max(0,0.2*middiff))); +shape_0_per_frame13=b = abs(1*o-min(1,max(0,0.2*bassdiff))); +shape_0_per_frame14=g2 = abs(1*o-min(1,max(0,0.2*trebdiff))); +shape_0_per_frame15=r2 = abs(1*o-min(1,max(0,0.2*middiff))); +shape_0_per_frame16=b2 = abs(1*o-min(1,max(0,0.2*bassdiff))); +shape_0_per_frame17=x=x+sin(time*.7)*.06-.1*o; +shape_0_per_frame18=y=y+sin(time*.5)*.06+.7*o; +shape_0_per_frame19= +shape_0_per_frame20=ang =sin(time); +shape_0_per_frame21=rad=rad-.4+.05*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.820000 +shapecode_1_y=0.220000 +shapecode_1_rad=0.506271 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.890000 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.310000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=flag = abs(flag-q1); +shape_1_per_frame2=y = if(flag,.8,.2); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.180000 +shapecode_2_y=0.8 +shapecode_2_rad=0.599578 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=flag = abs(flag-q1); +shape_2_per_frame2=y = if(flag,.2,.8); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.560000 +shapecode_3_y=0.150000 +shapecode_3_rad=0.230671 +shapecode_3_ang=5.403541 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.4 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +shape_3_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_3_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_3_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_3_per_frame4=bassdiff = (bass - meanbass)*15; +shape_3_per_frame5=trebdiff = (treb - meantreb)*15; +shape_3_per_frame6=middiff = (mid - meanmid)*15; +shape_3_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_3_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_3_per_frame9=middiff = above(middiff,0)*middiff; +shape_3_per_frame10=o=0;//abs(o-1); +shape_3_per_frame11=g = abs(1*o-min(1,max(0,0.2*trebdiff))); +shape_3_per_frame12=r = abs(1*o-min(1,max(0,0.2*middiff))); +shape_3_per_frame13=b = abs(1*o-min(1,max(0,0.2*bassdiff))); +shape_3_per_frame14=g2 = abs(1*o-min(1,max(0,0.2*trebdiff))); +shape_3_per_frame15=r2 = abs(1*o-min(1,max(0,0.2*middiff))); +shape_3_per_frame16=b2 = abs(1*o-min(1,max(0,0.2*bassdiff))); +shape_3_per_frame17=x=x+sin(time*.7)*.06-.1*o; +shape_3_per_frame18=y=y+sin(time*.5)*.06+.7*o; +shape_3_per_frame19= +shape_3_per_frame20=ang =sin(time); +shape_3_per_frame21=rad=rad-.4+.05*bass; +per_frame_init_1=oldy=.4; +per_frame_1=ib_g = abs(sin(0.1*time))*0.2; +per_frame_2=ib_b = abs(sin(0.3*time))*0.2; +per_frame_3=ib_r = abs(sin(0.7*time))*0.2; +per_frame_4= +per_frame_5= +per_frame_6=ob_b=abs(sin(time*100+time)); +per_frame_7=ob_r=abs(sin(time*512+time)); +per_frame_8=ob_g=abs(sin(time*10+time)); +per_frame_9=ib_b=abs(sin(time*10+time)); +per_frame_10=ib_r=abs(sin(time*512+time)); +per_frame_11=ib_g=abs(sin(time*100+time)); +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=meanbass = 0.01*(meanbass*99+bass); +per_frame_17=meantreb = 0.01*(meantreb*99+treb); +per_frame_18=meanmid = 0.01*(meanmid*99+mid); +per_frame_19=bassdiff = (bass - meanbass)*15; +per_frame_20=trebdiff = (treb - meantreb)*15; +per_frame_21=middiff = (mid - meanmid)*15; +per_frame_22=bassdiff = above(bassdiff,0)*bassdiff; +per_frame_23=trebdiff = above(trebdiff,0)*trebdiff; +per_frame_24=middiff = above(middiff,0)*middiff; +per_frame_25= +per_frame_26=ob_g = min(1,max(0,0.2*trebdiff)); +per_frame_27=ob_r = min(1,max(0,0.2*middiff)); +per_frame_28=ob_b = min(1,max(0,0.2*bassdiff)); +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32= +per_frame_33=//Thanks to krash for beat detection (modified) +per_frame_34=volume = 0.3*bass+mid; +per_frame_35=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_36=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_37=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_38=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_39=peakbass_att = max(bass_att,peakbass_att); +per_frame_40=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_42=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_43=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_44=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_45=q1 = beat; +per_pixel_1=cx =sin(x*10+time+bass); +per_pixel_2=cy =sin(y*10+time+treb); +per_pixel_3=rot=rot+.012;//*sin(bass*2)*4; diff --git a/presets/presets_milkdrop_200/nil + EMPR - Electron Flow (Copper Wire Mix).milk b/presets/presets_milkdrop_200/nil + EMPR - Electron Flow (Copper Wire Mix).milk new file mode 100755 index 0000000000..888be8ffc6 --- /dev/null +++ b/presets/presets_milkdrop_200/nil + EMPR - Electron Flow (Copper Wire Mix).milk @@ -0,0 +1,82 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.013328 +fDecay=0.974 +fVideoEchoZoom=1.014851 +fVideoEchoAlpha=0.001339 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.089408 +fWaveScale=4.061914 +fWaveSmoothing=0.893392 +fWaveParam=0.820357 +fModWaveAlphaStart=0.6907 +fModWaveAlphaEnd=1.285837 +fWarpAnimSpeed=1.003879 +fWarpScale=1.317889 +fZoomExponent=0.99395 +fShader=0.000997 +zoom=1.068231 +rot=0.008654 +cx=0.509134 +cy=0.505007 +dx=0.012951 +dy=0.019927 +warp=0.21213 +sx=0.983901 +sy=0.985109 +wave_r=0.173493 +wave_g=0.314463 +wave_b=0.994274 +wave_x=0.814175 +wave_y=0.113972 +ob_size=0 +ob_r=0.28525 +ob_g=0.096257 +ob_b=0.172696 +ob_a=0 +ib_size=0.023197 +ib_r=0.568091 +ib_g=0.199823 +ib_b=0.943238 +ib_a=0 +nMotionVectorsX=11.999315 +nMotionVectorsY=8.992329 +mv_dx=-0.380524 +mv_dy=0.620417 +mv_l=3.905494 +mv_r=0.889021 +mv_g=0.590976 +mv_b=0.14545 +mv_a=0.688509 +per_frame_1=volume = 0.3*(bass+mid+att); +per_frame_2=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_3=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_5=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_6=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); +per_frame_7=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_8=lastbeat = if(beat,time,lastbeat); +per_frame_9=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_10=q1=beat; +per_frame_11=ob_r = 49.5036006*asin(if(equal(peakbass_att * mv_l , wave_mode * ib_r) , ob_a - ob_a , wave_mode - mv_x)); +per_frame_12=ib_r = max(warp * treb , mv_r + ib_g); +per_frame_13=ib_b = 39.6116972*asin(bnot(mv_l * sy)); +per_frame_14=mv_a = 29.12615538*int(92.13204384*sqrt(ib_b + ib_size)); +per_frame_15=wave_y = bnot(treb - mv_l); +per_frame_16=cy = 21.95614576*int(-92.39946604*sign(bor(wave_mode - progress , warp - mid))); +per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time))); +per_pixel_2=cy = x * rad; +per_pixel_3=zoomexp = ang * ang; diff --git a/presets/presets_milkdrop_200/nil - Did You Speak with the Orb.milk b/presets/presets_milkdrop_200/nil - Did You Speak with the Orb.milk new file mode 100755 index 0000000000..6e16b0b028 --- /dev/null +++ b/presets/presets_milkdrop_200/nil - Did You Speak with the Orb.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1 +fDecay=0.966 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.507644 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=0.01 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.26 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=8 +nMotionVectorsY=9.600006 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1= +per_frame_2=wave_r=sin(bass); +per_frame_3=wave_g=sin(treb); +per_frame_4=wave_b=sin(mid); +per_frame_5=cx=sin(time*.475)*.005; +per_frame_6=cy=sin(time*.525)*.005; +per_pixel_1=zoom=zoom+sin((rad-sin(time)*sin(bass)+.1)*3.2)*.1; +per_pixel_2=rot=rot+(cos(rad)+sin(time*.9)*2)*.04; diff --git a/presets/presets_milkdrop_200/shifter + Aderrasi - Airhandler (Sadako).milk b/presets/presets_milkdrop_200/shifter + Aderrasi - Airhandler (Sadako).milk new file mode 100755 index 0000000000..ae70ea95c9 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter + Aderrasi - Airhandler (Sadako).milk @@ -0,0 +1,280 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.0 +fVideoEchoZoom=0.999500 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=4.778029 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=1.0 +zoom=0.999513 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010100 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.1 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=0.0 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=1.0 +wave_0_per_frame1=tic = min(time-tir,.1); +wave_0_per_frame2=tir = time; +wave_0_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_0_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_0_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_0_per_frame9=ar=vr; +wave_0_per_frame10=ag=vg; +wave_0_per_frame11=ab=vb; +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = time; +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point8= +wave_0_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_0_per_point10= +wave_0_per_point11=vol = (value1+value2)*2; +wave_0_per_point12= +wave_0_per_point13=ox = sign(ox)*pow(ox,4)*vol; +wave_0_per_point14=oy = sign(oy)*pow(oy,4)*vol; +wave_0_per_point15=oz = sign(oz)*pow(oz,4)*vol; +wave_0_per_point16= +wave_0_per_point17=a = (3.464 - dis)*.57735*.3; +wave_0_per_point18= +wave_0_per_point19=xang = time*.154; +wave_0_per_point20=yang = time*.103; +wave_0_per_point21=zang = time*.118; +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=fov = .5; +wave_0_per_point25= +wave_0_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point28=ox = mx; +wave_0_per_point29=oz = mz; +wave_0_per_point30=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point31=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point35=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point36=oy = my; +wave_0_per_point37=oz = mz; +wave_0_per_point38= +wave_0_per_point39=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point40=x = ox*fov/oz + 0.5; +wave_0_per_point41=x = (x-.5)*0.75 + 0.5; +wave_0_per_point42=y = oy*fov/oz + 0.5; +wave_0_per_point43= +wave_0_per_point44= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.364568 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.1 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.1 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=64 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.360000 +shapecode_1_y=0.5 +shapecode_1_rad=0.036971 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.2 +shapecode_1_r2=1.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11=ob_r = 0.3; +per_frame_12=ob_g = 0.3; +per_frame_13=ob_b = 0.3; +per_pixel_1=zoom = zoom - 0.04*(sin(8+6*sin(0.2*time)*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.3*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_3=sx = sx - 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy - 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom + 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_milkdrop_200/shifter + EoS + Phat - Blob.milk b/presets/presets_milkdrop_200/shifter + EoS + Phat - Blob.milk new file mode 100644 index 0000000000..5e2125fdb3 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter + EoS + Phat - Blob.milk @@ -0,0 +1,292 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=1.052900 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.040000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.5 +ib_r=1.0 +ib_g=0.0 +ib_b=1.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.2 +mv_r=1.0 +mv_g=0.0 +mv_b=0.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.1 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q7; +shape_0_per_frame2=y=.5+q8; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.164463 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.6 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x = .5 + q7; +shape_2_per_frame2=y = .5 + q8; +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = .5 - q7; +shape_3_per_frame2=y = .5 - q8; +shape_3_per_frame3= +shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); +shape_3_per_frame5= +shape_3_per_frame6=a = max(1 - d*4,0); +shape_3_per_frame7=a2 = max(1 - d*4*2,0); +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); +per_frame_23= +per_frame_24=q7=sin(mt*0.02)*0.01; +per_frame_25=q8=sin(mt*0.01)*0.115; +per_frame_26= +per_frame_27=dx=sin(mt*0.1)*0.07; +per_frame_28=dy=cos(mt*0.069)*0.07; +per_frame_29= +per_frame_30=monitor = mt; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*1) + sqr( (y-0.5+q8)*1.9 ) ); +per_pixel_2=tm=time+rad; +per_pixel_3=zoom=(rad+sin(rd-3.5))/rad; +per_pixel_4=rot=rd+(tm/3) diff --git a/presets/presets_milkdrop_200/shifter + Geiss - molten glass wrap.milk b/presets/presets_milkdrop_200/shifter + Geiss - molten glass wrap.milk new file mode 100755 index 0000000000..821a2be5de --- /dev/null +++ b/presets/presets_milkdrop_200/shifter + Geiss - molten glass wrap.milk @@ -0,0 +1,295 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.9 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=0.380217 +fWarpScale=3.300904 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.909514 +rot=-0.080000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.033469 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.033469 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.033469 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=decay = 0; +per_frame_1=warp = 7; +per_frame_2=wave_a = 0; +per_pixel_1=rot = 1.2*(0.5-abs(x-0.5))*(0.5-abs(y-0.5)); +per_pixel_2=rot = 1; +per_pixel_3=adx = (1 - 0.01*(x-0.5)); +per_pixel_4=ady = (1 - 0.01*(y-0.5)); +per_pixel_5=cy = y + 0.1*sin(x*40); +per_pixel_6=cx = x + 0.1*sin(y*40); +per_pixel_7=azoom = 0.99; +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,ang/6.28); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_milkdrop_200/shifter + geiss - neon pulse (glow mix).milk b/presets/presets_milkdrop_200/shifter + geiss - neon pulse (glow mix).milk new file mode 100755 index 0000000000..2999df12b0 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter + geiss - neon pulse (glow mix).milk @@ -0,0 +1,358 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.4 +fDecay=0.975 +fVideoEchoZoom=1.051 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.85235 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.0 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=0.030 +wave_0_per_point1=r = .6 + .4*sin(time); +wave_0_per_point2=g = .4 + .4*sin(time + 2.094); +wave_0_per_point3=b = .4 + .4*sin(time + 4.188); +wave_0_per_point4= +wave_0_per_point5=sw = 1-sw; +wave_0_per_point6= +wave_0_per_point7=mx = equal(int(q2)%2,0); +wave_0_per_point8=mx = abs(mx - (q2 - int(q2))); +wave_0_per_point9=my = .5 + (.5 - mx); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x = mx + value1*(1-2*sw); +wave_0_per_point13=y = my + value2*(1-2*sw); +wave_0_per_point14= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.0 +wavecode_1_g=0.0 +wavecode_1_b=0.0 +wavecode_1_a=0.030 +wave_1_per_point1=g = .6 + .4*sin(time); +wave_1_per_point2=b = .4 + .4*sin(time + 2.094); +wave_1_per_point3=r = .4 + .4*sin(time + 4.188); +wave_1_per_point4= +wave_1_per_point5=sw = 1-sw; +wave_1_per_point6= +wave_1_per_point7=mx = equal(int(q3)%2,0); +wave_1_per_point8=mx = abs(mx - (q3 - int(q3))); +wave_1_per_point9=my = .5 + (.5 - mx); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=x = mx + value1*(1-2*sw); +wave_1_per_point13=y = my + value2*(1-2*sw); +wave_1_per_point14= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.030 +wave_2_per_point1=b = .6 + .4*sin(time); +wave_2_per_point2=r = .4 + .4*sin(time + 2.094); +wave_2_per_point3=g = .4 + .4*sin(time + 4.188); +wave_2_per_point4= +wave_2_per_point5=sw = 1-sw; +wave_2_per_point6= +wave_2_per_point7=mx = equal(int(q4)%2,0); +wave_2_per_point8=mx = abs(mx - (q4 - int(q4))); +wave_2_per_point9=my = .5 + (.5 - mx); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=x = mx + value1*(1-2*sw); +wave_2_per_point13=y = my + value2*(1-2*sw); +wave_2_per_point14= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.0 +shapecode_0_y=0.0 +shapecode_0_rad=1.32910 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x - 0.03; +comp_19=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_20=`ret *= 2.3; +comp_21=` +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_milkdrop_200/shifter - brain coral (non-inverted).milk b/presets/presets_milkdrop_200/shifter - brain coral (non-inverted).milk new file mode 100755 index 0000000000..669430395f --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - brain coral (non-inverted).milk @@ -0,0 +1,400 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.7 +fDecay=1.0 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.000001 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.999999 +sy=1.115500 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=2.560000 +nMotionVectorsY=48.0 +mv_dx=0.360000 +mv_dy=-0.8 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.8 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=x = if(sw,osa,sample); +wave_0_per_point11=x = sample*.5; +wave_0_per_point12=y = 1 + mod*.5; +wave_0_per_point13= +wave_0_per_point14=osa = sample; +wave_0_per_point15= +wave_0_per_point16=mo = 3.7 + mod*6 + q1; +wave_0_per_point17= +wave_0_per_point18=r = .5 + sin(mo)*.5; +wave_0_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_0_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_0_per_point21= +wave_0_per_point22=a = 1 - abs(mod)*12; +wave_0_per_point23=a = 1-sw; +wave_0_per_point24=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.8 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value1; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=x = if(sw,osa,sample); +wave_1_per_point11=x = 1-sample*.5; +wave_1_per_point12=y = 0 + mod*.5; +wave_1_per_point13= +wave_1_per_point14=osa = sample; +wave_1_per_point15= +wave_1_per_point16=mo = 3.7 + mod*6 + q1; +wave_1_per_point17= +wave_1_per_point18=r = .5 + sin(mo)*.5; +wave_1_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_1_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_1_per_point21= +wave_1_per_point22=a = 1 - abs(mod)*12; +wave_1_per_point23=a = 1-sw; +wave_1_per_point24=a = max(0,min(a,1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.8 +wavecode_2_r=0.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=1.0 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=x = if(sw,osa,sample); +wave_2_per_point11=x = sample*.5; +wave_2_per_point12=y = 1 + mod*.5; +wave_2_per_point13= +wave_2_per_point14=osa = sample; +wave_2_per_point15= +wave_2_per_point16=mo = 3.7 + mod*6 + q1; +wave_2_per_point17= +wave_2_per_point18=//r = .5 + sin(mo)*.5; +wave_2_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point21= +wave_2_per_point22=//a = 1 - abs(mod)*12; +wave_2_per_point23=//a = 1-sw; +wave_2_per_point24=a = max(0,min(a,1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.8 +wavecode_3_r=0.0 +wavecode_3_g=0.0 +wavecode_3_b=0.0 +wavecode_3_a=1.0 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value1; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=x = if(sw,osa,sample); +wave_3_per_point11=x = 1 - sample*.5; +wave_3_per_point12=y = 0 + mod*.5; +wave_3_per_point13= +wave_3_per_point14=osa = sample; +wave_3_per_point15= +wave_3_per_point16=mo = 3.7 + mod*6 + q1; +wave_3_per_point17= +wave_3_per_point18=//r = .5 + sin(mo)*.5; +wave_3_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point21= +wave_3_per_point22=//a = 1 - abs(mod)*12; +wave_3_per_point23=//a = 1-sw; +wave_3_per_point24=a = max(0,min(a,1)); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=1.0 +shapecode_0_rad=0.134785 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ti = q1; +shape_0_per_frame2=rad = q2; +shape_0_per_frame3=x = (ti - int(ti))*.5; +shape_0_per_frame4= +shape_0_per_frame5= +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.0 +shapecode_1_rad=0.134785 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ti = q1; +shape_1_per_frame2=rad = q2; +shape_1_per_frame3=x = 1-(ti - int(ti))*.5; +shape_1_per_frame4= +shapecode_2_enabled=1 +shapecode_2_sides=43 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.690000 +shapecode_2_y=0.5 +shapecode_2_rad=0.548200 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=3.895574 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=rad = .4 + q3; +shape_2_per_frame2= +shape_2_per_frame3=tex_zoom = 1/rad*.8; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + q3; +shape_2_per_frame6= +shape_2_per_frame7=tex_ang = -q4; +shape_2_per_frame8= +shape_2_per_frame9=ti = q5 + sin(time*1.234); +shape_2_per_frame10= +shape_2_per_frame11=x = .5 + q3*sin(ti); +shape_2_per_frame12=y = .5 + q3*cos(ti)*.5; +shapecode_3_enabled=1 +shapecode_3_sides=43 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500001 +shapecode_3_y=0.5 +shapecode_3_rad=0.548218 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.879646 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=rad = .4 + q3; +shape_3_per_frame2= +shape_3_per_frame3=tex_zoom = 1/rad*.8; +shape_3_per_frame4= +shape_3_per_frame5=x = .5 - q3; +shape_3_per_frame6= +shape_3_per_frame7=tex_ang = q4; +shape_3_per_frame8= +shape_3_per_frame9=ti = q5 + sin(time*.948) + 3.1416; +shape_3_per_frame10= +shape_3_per_frame11=x = .5 + q3*sin(ti)*1.5; +shape_3_per_frame12=y = .5 + q3*cos(ti)*.5; +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=ra = 1/tic*.05; +per_frame_13=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_14=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_15= +per_frame_16=ra = 1/tic*.1; +per_frame_17=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_18= +per_frame_19= +per_frame_20=tt = tt + tic*treb; +per_frame_21=mt = mt + tic*mid; +per_frame_22=bt = bt + tic*bass; +per_frame_23=vt = vt + tic*vav; +per_frame_24= +per_frame_25=q1 = time; +per_frame_26= +per_frame_27=q2 = vav*.1; +per_frame_28= +per_frame_29=q3 = .02 + bass_avg*.05; +per_frame_30=q4 = .5 + (treb_avg + mid_avg)*.25; +per_frame_31=//q4 = (treb_avg - mid_avg); +per_frame_32=//q4 = bass_avg - (treb_avg + mid_avg)*.5; +per_frame_33=//q4 = -bass_avg; +per_frame_34= +per_frame_35= +per_frame_36=q5 = vt*3; +per_frame_37= +per_frame_38=monitor = q4; +per_frame_39= +per_frame_40=//rot = .025*max(.7,vav); +per_frame_41=rot = .025*(.7 + vav*.25); +per_frame_42=//rot = .025*vav; +per_frame_43= +per_pixel_1=mod = .1; +per_pixel_2= +per_pixel_3=//sw = above(x,.5); +per_pixel_4= +per_pixel_5=//dy = mod*pow(abs(y - .5)*2,1.5)*sign(y-.5); +per_pixel_6= +per_pixel_7=//dy = .2*sign(y-.5)*sw; +per_pixel_8= +per_pixel_9=//sy = 1 + (1-sw)*.116; +per_pixel_10= +per_pixel_11= +per_pixel_12=//rot = .05; +per_pixel_13= +per_pixel_14=cx = if(above(y,.5),-1,2); diff --git a/presets/presets_milkdrop_200/shifter - cellular_Phat_YAK_Infusion_v2.milk b/presets/presets_milkdrop_200/shifter - cellular_Phat_YAK_Infusion_v2.milk new file mode 100755 index 0000000000..da709030fc --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - cellular_Phat_YAK_Infusion_v2.milk @@ -0,0 +1,494 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.7 +fDecay=0.940000 +fVideoEchoZoom=1.003587 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999999 +fShader=0.0 +zoom=1.000491 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.220190 +sy=1.220190 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=t3 = q7; +wave_0_per_frame2= +wave_0_per_frame3=t1 = .5; +wave_0_per_frame4=t2 = .5; +wave_0_per_frame5= +wave_0_per_frame6=//r = .5 + .5*sin(q2); +wave_0_per_frame7=//g = .5 + .5*sin(q2 + 2.0944); +wave_0_per_frame8=//b = .5 + .5*sin(q2 + 4.1888); +wave_0_per_point1=sp = sample*6.2832; +wave_0_per_point2=ti = time*20; +wave_0_per_point3=raa = sin(ti*12.87 - sp*15.87)*2.5 - cos(ti*7.98 + sp*9.5)*6 + sin(ti*8.9 + sp*48)*7.4; +wave_0_per_point4=raa = abs(raa - int(raa)); +wave_0_per_point5=rab = sin(ti*6.74 - sp*18.52)*5.7 + cos(ti*3.94 + sp*27.55)*1.7 + sin(ti*14.8 + sp*3.5)*4; +wave_0_per_point6=rab = abs(rab - int(rab)); +wave_0_per_point7= +wave_0_per_point8=cou = 30; +wave_0_per_point9= +wave_0_per_point10=seg = seg*above(sample,0); +wave_0_per_point11=it = (it + 1)*above(sample,0); +wave_0_per_point12=seg = seg + equal(ita,0); +wave_0_per_point13=ita = (ita + 1)*above(sample,0)*below(ita,cou); +wave_0_per_point14=cop = equal(ita,cou); +wave_0_per_point15= +wave_0_per_point16=toll = toll*above(sample,0); +wave_0_per_point17=toll = toll + value1 + value2; +wave_0_per_point18=tav = toll/cou*.1; +wave_0_per_point19=mod = raa*bass*.5 - rab*(mid+treb)*.125; +wave_0_per_point20=mod = if(q1,bass*.5*(.5 + .5*sin(sp)) - (mid+treb)*.25*(.5 + .5*cos(sp)),mod); +wave_0_per_point21= +wave_0_per_point22=toll = toll*(1-cop); +wave_0_per_point23=//toll = 15; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=la = if((1-t3)*cop*equal(seg,1),tav,la); +wave_0_per_point27=lb = if((1-t3)*cop*equal(seg,2),tav,lb); +wave_0_per_point28=lc = if((1-t3)*cop*equal(seg,3),tav,lc); +wave_0_per_point29=ld = if((1-t3)*cop*equal(seg,4),tav,ld); +wave_0_per_point30=le = if((1-t3)*cop*equal(seg,5),tav,le); +wave_0_per_point31=lf = if((1-t3)*cop*equal(seg,6),tav,lf); +wave_0_per_point32=lg = if((1-t3)*cop*equal(seg,7),tav,lg); +wave_0_per_point33=li = if((1-t3)*cop*equal(seg,8),tav,li); +wave_0_per_point34=lj = if((1-t3)*cop*equal(seg,9),tav,lj); +wave_0_per_point35=lk = if((1-t3)*cop*equal(seg,10),tav,lk); +wave_0_per_point36= +wave_0_per_point37=aa = if((1-t3)*cop*equal(seg,1),mod,aa); +wave_0_per_point38=ab = if((1-t3)*cop*equal(seg,2),mod,ab); +wave_0_per_point39=ac = if((1-t3)*cop*equal(seg,3),mod,ac); +wave_0_per_point40=ad = if((1-t3)*cop*equal(seg,4),mod,ad); +wave_0_per_point41=ae = if((1-t3)*cop*equal(seg,5),mod,ae); +wave_0_per_point42=af = if((1-t3)*cop*equal(seg,6),mod,af); +wave_0_per_point43=ag = if((1-t3)*cop*equal(seg,7),mod,ag); +wave_0_per_point44=ai = if((1-t3)*cop*equal(seg,8),mod,ai); +wave_0_per_point45=aj = if((1-t3)*cop*equal(seg,9),mod,aj); +wave_0_per_point46=ak = if((1-t3)*cop*equal(seg,10),mod,ak)*0; +wave_0_per_point47= +wave_0_per_point48= +wave_0_per_point49=lev = lev*above(sample,0); ud = ud*above(sample,0); rep = rep*above(sample,0); lev = if(ud,lev-1,lev+1); rep = (rep + equal(lev,0)); ud = if(equal(lev,0),0,if(equal(lev,10),1,ud)); +wave_0_per_point50= +wave_0_per_point51=mx = above(lev,0)*la*sin(aa) + above(lev,1)*lb*sin(ab) + above(lev,2)*lc*sin(ac) + above(lev,3)*ld*sin(ad); +wave_0_per_point52=my = above(lev,0)*la*cos(aa) + above(lev,1)*lb*cos(ab) + above(lev,2)*lc*cos(ac) + above(lev,3)*ld*cos(ad); +wave_0_per_point53=mx = mx + above(lev,4)*le*sin(ae) + above(lev,5)*lf*sin(af) + above(lev,6)*lg*sin(ag); +wave_0_per_point54=my = my + above(lev,4)*le*cos(ae) + above(lev,5)*lf*cos(af) + above(lev,6)*lg*cos(ag); +wave_0_per_point55=mx = mx + above(lev,7)*li*sin(ai) + above(lev,8)*lj*sin(aj);// + above(lev,9)*lk*sin(ak); +wave_0_per_point56=my = my + above(lev,7)*li*cos(ai) + above(lev,8)*lj*cos(aj) + above(lev,9)*lk*cos(ak); +wave_0_per_point57=mx = (1-2*equal(ud,1))*mx*(1-equal(lev,10)); +wave_0_per_point58= +wave_0_per_point59=my = min(my,.25); +wave_0_per_point60= +wave_0_per_point61=// add branches via rotation +wave_0_per_point62=poi = q3; +wave_0_per_point63=modx = if(equal(lev,poi)*ud,mx,modx); +wave_0_per_point64=mody = if(equal(lev,poi)*ud,my,mody); +wave_0_per_point65=mang = (above(rep,7)*below(rep,14) - above(rep,15)*below(rep,22))*above(lev,poi); +wave_0_per_point66=modx = 0; +wave_0_per_point67=mx = mx - modx; +wave_0_per_point68=my = my - mody; +wave_0_per_point69=ox = mx*cos(mang) - my*sin(mang); +wave_0_per_point70=oy = mx*sin(mang) + my*cos(mang); +wave_0_per_point71=mx = ox + modx; +wave_0_per_point72=my = oy + mody; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75=mang = above(rep,1)*rep*1.0472; +wave_0_per_point76=ox = mx*cos(mang) - my*sin(mang); +wave_0_per_point77=oy = mx*sin(mang) + my*cos(mang); +wave_0_per_point78=mx = ox; +wave_0_per_point79=my = oy; +wave_0_per_point80= +wave_0_per_point81= +wave_0_per_point82=sz = .5; +wave_0_per_point83=x = mx*.75*sz + t1; +wave_0_per_point84=y = my*sz + t2; +wave_0_per_point85= +wave_0_per_point86= +wave_0_per_point87= +wave_0_per_point88=a = t3; // drawn every 2nd frame, gets values in other one +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=t3 = q7; +wave_1_per_frame2= +wave_1_per_frame3=t1 = .5; +wave_1_per_frame4=t2 = .5; +wave_1_per_point1=sp = sample*6.2832; +wave_1_per_point2=ti = time*20; +wave_1_per_point3=raa = sin(ti*12.87 - sp*15.87)*2.5 - cos(ti*7.98 + sp*9.5)*6 + sin(ti*8.9 + sp*48)*7.4; +wave_1_per_point4=raa = abs(raa - int(raa)); +wave_1_per_point5=rab = sin(ti*6.74 - sp*18.52)*5.7 + cos(ti*3.94 + sp*27.55)*1.7 + sin(ti*14.8 + sp*3.5)*4; +wave_1_per_point6=rab = abs(rab - int(rab)); +wave_1_per_point7= +wave_1_per_point8=cou = 30; +wave_1_per_point9= +wave_1_per_point10=seg = seg*above(sample,0); +wave_1_per_point11=it = (it + 1)*above(sample,0); +wave_1_per_point12=seg = seg + equal(ita,0); +wave_1_per_point13=ita = (ita + 1)*above(sample,0)*below(ita,cou); +wave_1_per_point14=cop = equal(ita,cou); +wave_1_per_point15= +wave_1_per_point16=toll = toll*above(sample,0); +wave_1_per_point17=toll = toll + value1 + value2; +wave_1_per_point18=tav = toll/cou*.1; +wave_1_per_point19=mod = raa*bass*.5 - rab*(mid+treb)*.125; +wave_1_per_point20=mod = if(q1,bass*.5*(.5 + .5*sin(sp)) - (mid+treb)*.25*(.5 + .5*cos(sp)),mod); +wave_1_per_point21= +wave_1_per_point22=toll = toll*(1-cop); +wave_1_per_point23=//toll = 15; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=la = if((1-t3)*cop*equal(seg,1),tav,la); +wave_1_per_point27=lb = if((1-t3)*cop*equal(seg,2),tav,lb); +wave_1_per_point28=lc = if((1-t3)*cop*equal(seg,3),tav,lc); +wave_1_per_point29=ld = if((1-t3)*cop*equal(seg,4),tav,ld); +wave_1_per_point30=le = if((1-t3)*cop*equal(seg,5),tav,le); +wave_1_per_point31=lf = if((1-t3)*cop*equal(seg,6),tav,lf); +wave_1_per_point32=lg = if((1-t3)*cop*equal(seg,7),tav,lg); +wave_1_per_point33=li = if((1-t3)*cop*equal(seg,8),tav,li); +wave_1_per_point34=lj = if((1-t3)*cop*equal(seg,9),tav,lj); +wave_1_per_point35=lk = if((1-t3)*cop*equal(seg,10),tav,lk); +wave_1_per_point36= +wave_1_per_point37=aa = if((1-t3)*cop*equal(seg,1),mod,aa); +wave_1_per_point38=ab = if((1-t3)*cop*equal(seg,2),mod,ab); +wave_1_per_point39=ac = if((1-t3)*cop*equal(seg,3),mod,ac); +wave_1_per_point40=ad = if((1-t3)*cop*equal(seg,4),mod,ad); +wave_1_per_point41=ae = if((1-t3)*cop*equal(seg,5),mod,ae); +wave_1_per_point42=af = if((1-t3)*cop*equal(seg,6),mod,af); +wave_1_per_point43=ag = if((1-t3)*cop*equal(seg,7),mod,ag); +wave_1_per_point44=ai = if((1-t3)*cop*equal(seg,8),mod,ai); +wave_1_per_point45=aj = if((1-t3)*cop*equal(seg,9),mod,aj); +wave_1_per_point46=ak = if((1-t3)*cop*equal(seg,10),mod,ak)*0; +wave_1_per_point47= +wave_1_per_point48= +wave_1_per_point49=lev = lev*above(sample,0); ud = ud*above(sample,0); rep = rep*above(sample,0); lev = if(ud,lev-1,lev+1); rep = (rep + equal(lev,0)); ud = if(equal(lev,0),0,if(equal(lev,10),1,ud)); +wave_1_per_point50= +wave_1_per_point51=mx = above(lev,0)*la*sin(aa) + above(lev,1)*lb*sin(ab) + above(lev,2)*lc*sin(ac) + above(lev,3)*ld*sin(ad); +wave_1_per_point52=my = above(lev,0)*la*cos(aa) + above(lev,1)*lb*cos(ab) + above(lev,2)*lc*cos(ac) + above(lev,3)*ld*cos(ad); +wave_1_per_point53=mx = mx + above(lev,4)*le*sin(ae) + above(lev,5)*lf*sin(af) + above(lev,6)*lg*sin(ag); +wave_1_per_point54=my = my + above(lev,4)*le*cos(ae) + above(lev,5)*lf*cos(af) + above(lev,6)*lg*cos(ag); +wave_1_per_point55=mx = mx + above(lev,7)*li*sin(ai) + above(lev,8)*lj*sin(aj);// + above(lev,9)*lk*sin(ak); +wave_1_per_point56=my = my + above(lev,7)*li*cos(ai) + above(lev,8)*lj*cos(aj) + above(lev,9)*lk*cos(ak); +wave_1_per_point57=mx = (1-2*equal(ud,1))*mx*(1-equal(lev,10)); +wave_1_per_point58= +wave_1_per_point59=my = min(my,.25); +wave_1_per_point60= +wave_1_per_point61=// add branches via rotation +wave_1_per_point62=poi = q3; +wave_1_per_point63=modx = if(equal(lev,poi)*ud,mx,modx); +wave_1_per_point64=mody = if(equal(lev,poi)*ud,my,mody); +wave_1_per_point65=mang = (above(rep,7)*below(rep,14) - above(rep,15)*below(rep,22))*above(lev,poi); +wave_1_per_point66=modx = 0; +wave_1_per_point67=mx = mx - modx; +wave_1_per_point68=my = my - mody; +wave_1_per_point69=ox = mx*cos(mang) - my*sin(mang); +wave_1_per_point70=oy = mx*sin(mang) + my*cos(mang); +wave_1_per_point71=mx = ox + modx; +wave_1_per_point72=my = oy + mody; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=mang = above(rep,1)*rep*1.0472; +wave_1_per_point76=ox = mx*cos(mang) - my*sin(mang); +wave_1_per_point77=oy = mx*sin(mang) + my*cos(mang); +wave_1_per_point78=mx = ox; +wave_1_per_point79=my = oy; +wave_1_per_point80= +wave_1_per_point81= +wave_1_per_point82= +wave_1_per_point83=sz = .5; +wave_1_per_point84=x = mx*.75*sz + t1; +wave_1_per_point85=y = my*sz + t2; +wave_1_per_point86= +wave_1_per_point87=a = t3; // drawn every 2nd frame, gets values in other one +wave_1_per_point88= +wave_1_per_point89=//r = .5 - .5*sin(q2); +wave_1_per_point90=//g = .5 - .5*sin(q2 + 2.0944); +wave_1_per_point91=//b = .5 - .5*sin(q2 + 4.1888); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.0 +wavecode_2_g=1.0 +wavecode_2_b=0.0 +wavecode_2_a=1.0 +wave_2_per_point1=sw = 1-sw; +wave_2_per_point2=sp = sample*6.2832 - time; +wave_2_per_point3= +wave_2_per_point4=sz = sp - q1 - .7854*.5; +wave_2_per_point5=sz = .5 + .5*sin(sz*4) + value1 + value2; +wave_2_per_point6= +wave_2_per_point7=cv = sz*6.2832; +wave_2_per_point8= +wave_2_per_point9=sz = pow(sz,.5)*.05*sw; +wave_2_per_point10= +wave_2_per_point11=x = .5 + sz*sin(sp)*.75; +wave_2_per_point12=y = .5 + sz*cos(sp); +wave_2_per_point13= +wave_2_per_point14=r = .5 + .5*sin(.5*(time - cv)); +wave_2_per_point15=g = .5 + .5*sin(.5*(time - cv + 2.094)); +wave_2_per_point16=b = .5 + .5*sin(.5*(time - cv + 4.188)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=0.0 +wavecode_3_g=1.0 +wavecode_3_b=0.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.662300 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.1 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.1 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1= +shape_0_per_frame2=//r = .5 + .5*sin(time*1.123); +shape_0_per_frame3=//g = .5 + .5*sin(time*1.456); +shape_0_per_frame4=//b = .5 + .5*sin(time*1.789); +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=//r = .5 - .5*sin(q2); +shape_0_per_frame8=//g = .5 - .5*sin(q2 + 2.0944); +shape_0_per_frame9=//b = .5 - .5*sin(q2 + 4.1888); +shapecode_1_enabled=0 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.662300 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=0.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.0 +shapecode_1_r2=0.4 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.2 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_zoom = 1/rad; +shapecode_2_enabled=0 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=1.0 +shapecode_2_y=1.0 +shapecode_2_rad=0.986086 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shapecode_3_enabled=0 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=1.0 +shapecode_3_y=0.0 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=treb_avg = tic*(treb_avg*(1/tic - 10) + 10*treb); +per_frame_9=mid_avg = tic*(mid_avg*(1/tic - 10) + 10*mid); +per_frame_10=bass_avg = tic*(bass_avg*(1/tic - 10) + 10*bass); +per_frame_11=vav = tic*(vav*(1/tic - 10) + 10*(bass+treb+mid)*.33333); +per_frame_12= +per_frame_13=tt = tt + tic*treb; +per_frame_14=mt = mt + tic*mid; +per_frame_15=bt = bt + tic*bass; +per_frame_16=vt = vt + tic*vav; +per_frame_17= +per_frame_18=sp = abs(vav - slide)*.1; +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.1; +per_frame_20=toc = 1; +per_frame_21= +per_frame_22=q1 = rand(2); // shapecode +per_frame_23=q2 = time; // colourcycle +per_frame_24=q3 = 3 + rand(3) + rand(3); // branching +per_frame_25= +per_frame_26=q4 = vt; +per_frame_27= +per_frame_28=sw = 1-sw; +per_frame_29= +per_frame_30=q7 = sw; +per_frame_31= +per_frame_32= +per_pixel_1=a = .5; +per_pixel_2=b = .5; +per_pixel_3=dis = pow((x-a)*(x-a) + .5625*(y-b)*(y-b),.5); +per_pixel_4=sw = below(dis,(.2+(treb*0.03))); +per_pixel_5= +per_pixel_6=mod = -.18 + .18*pow(1-dis*4,.8); +per_pixel_7=dx = if(sw,mod*(x-.5),0); +per_pixel_8=dy = if(sw,mod*(y-.5),0); +per_pixel_9= +per_pixel_10= +per_pixel_11=mod = .005 - .01*sin(rad*6.2832*2); +per_pixel_12=dx = if(sw,dx + sin(ang)*mod,0); +per_pixel_13=dy = if(sw,dy + cos(ang)*mod,0); +per_pixel_14= +per_pixel_15=sx = if(sw,sx,1); +per_pixel_16=sy = if(sw,sy,1); +per_pixel_17= +per_pixel_18= +per_pixel_19=a = above(x,.5); +per_pixel_20=b = above(y,.5); +per_pixel_21=dis = pow((x-a)*(x-a) + .5625*(y-b)*(y-b),.5); +per_pixel_22= +per_pixel_23=lim = below(dis,.25); +per_pixel_24= +per_pixel_25=dx = if(lim,.5*(1-2*below(x,.5)),dx); +per_pixel_26=dy = if(lim,.5*(1-2*below(y,.5)),dy); +per_pixel_27= +per_pixel_28= +per_pixel_29=mod = -1; +per_pixel_30= +per_pixel_31=a = sin(q4*.02347)*4; +per_pixel_32=b = cos(q4*.03348)*4; +per_pixel_33=//a = 1; +per_pixel_34=//b = -2; +per_pixel_35=dx = if(lim + sw,dx,mod*(x-a)); +per_pixel_36=dy = if(lim + sw,dy,mod*(y-b)); +per_pixel_37= +per_pixel_38=//rot = if(lim + sw,rot,1.5708); diff --git a/presets/presets_milkdrop_200/shifter - digi.milk b/presets/presets_milkdrop_200/shifter - digi.milk new file mode 100755 index 0000000000..ba50f90fce --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - digi.milk @@ -0,0 +1,801 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.998789 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.200613 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.540000 +fModWaveAlphaEnd=0.0 +fWarpAnimSpeed=0.010000 +fWarpScale=1.331000 +fZoomExponent=2.216699 +fShader=0.0 +zoom=0.999922 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=1.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.020000 +ib_size=0.5 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.020000 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.1 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .2; +wave_0_per_frame18=ra = .1; +wave_0_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_0_per_frame20=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15=a = equal(lev,8); +wave_0_per_point16= +wave_0_per_point17=ar = if(above(sample,0),ar,1); +wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point19=br = if(above(sample,0),br,1); +wave_0_per_point20=br = if(equal(lev,1),br*-1,br); +wave_0_per_point21=cr = if(above(sample,0),cr,1); +wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point23=dr = if(above(sample,0),dr,1); +wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point25=er = if(above(sample,0),er,1); +wave_0_per_point26=er = if(equal(lev,4),er*-1,er); +wave_0_per_point27=fr = if(above(sample,0),fr,1); +wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point29=gr = if(above(sample,0),gr,1); +wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point31=hr = if(above(sample,0),hr,1); +wave_0_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_0_per_point33= +wave_0_per_point34=mlev = lev*above(sample,0); +wave_0_per_point35= +wave_0_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point37= +wave_0_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point42=he = if(swi,1-2*rand(2),he); +wave_0_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_0_per_point46= +wave_0_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_0_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_0_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_0_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_0_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_0_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_0_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_0_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_0_per_point55= +wave_0_per_point56=len = len*mad; +wave_0_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_0_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_0_per_point59= +wave_0_per_point60=an = bang*(ar + br)*br; +wave_0_per_point61=len = len*mad; +wave_0_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_0_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_0_per_point64= +wave_0_per_point65=an = cang*(ar + br + cr)*cr; +wave_0_per_point66=len = len*mad; +wave_0_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_0_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_0_per_point69= +wave_0_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_0_per_point71=len = len*mad; +wave_0_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_0_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_0_per_point74= +wave_0_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_0_per_point76=len = len*mad; +wave_0_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_0_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_0_per_point79= +wave_0_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_0_per_point81=len = len*mad; +wave_0_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_0_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_0_per_point84= +wave_0_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_0_per_point86=len = len*mad; +wave_0_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_0_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_0_per_point89= +wave_0_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_0_per_point91=len = len*mad; +wave_0_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_0_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_0_per_point94= +wave_0_per_point95=x = (x-.5)*.75 + .5; +wave_0_per_point96= +wave_0_per_point97=x = int(x*200)*.005; +wave_0_per_point98=y = int(y*200)*.005; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=0.1 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .3; +wave_1_per_frame18=ra = .1; +wave_1_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_1_per_frame20=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15=a = equal(lev,8); +wave_1_per_point16= +wave_1_per_point17=ar = if(above(sample,0),ar,1); +wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point19=br = if(above(sample,0),br,1); +wave_1_per_point20=br = if(equal(lev,1),br*-1,br); +wave_1_per_point21=cr = if(above(sample,0),cr,1); +wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point23=dr = if(above(sample,0),dr,1); +wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point25=er = if(above(sample,0),er,1); +wave_1_per_point26=er = if(equal(lev,4),er*-1,er); +wave_1_per_point27=fr = if(above(sample,0),fr,1); +wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point29=gr = if(above(sample,0),gr,1); +wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point31=hr = if(above(sample,0),hr,1); +wave_1_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_1_per_point33= +wave_1_per_point34=mlev = lev*above(sample,0); +wave_1_per_point35= +wave_1_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point37= +wave_1_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point42=he = if(swi,1-2*rand(2),he); +wave_1_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_1_per_point46= +wave_1_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_1_per_point55= +wave_1_per_point56=len = len*mad; +wave_1_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_1_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_1_per_point59= +wave_1_per_point60=an = bang*(ar + br)*br; +wave_1_per_point61=len = len*mad; +wave_1_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_1_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_1_per_point64= +wave_1_per_point65=an = cang*(ar + br + cr)*cr; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_1_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_1_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_1_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_1_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_1_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_1_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95=x = (x-.5)*.75 + .5; +wave_1_per_point96= +wave_1_per_point97=x = int(x*200)*.005; +wave_1_per_point98=y = int(y*200)*.005; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=0.1 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .4; +wave_2_per_frame18=ra = .1; +wave_2_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_2_per_frame20=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15=a = equal(lev,8); +wave_2_per_point16= +wave_2_per_point17=ar = if(above(sample,0),ar,1); +wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point19=br = if(above(sample,0),br,1); +wave_2_per_point20=br = if(equal(lev,1),br*-1,br); +wave_2_per_point21=cr = if(above(sample,0),cr,1); +wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point23=dr = if(above(sample,0),dr,1); +wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point25=er = if(above(sample,0),er,1); +wave_2_per_point26=er = if(equal(lev,4),er*-1,er); +wave_2_per_point27=fr = if(above(sample,0),fr,1); +wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point29=gr = if(above(sample,0),gr,1); +wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point31=hr = if(above(sample,0),hr,1); +wave_2_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_2_per_point33= +wave_2_per_point34=mlev = lev*above(sample,0); +wave_2_per_point35= +wave_2_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point37= +wave_2_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point42=he = if(swi,1-2*rand(2),he); +wave_2_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_2_per_point46= +wave_2_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_2_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_2_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_2_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_2_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_2_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_2_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_2_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_2_per_point55= +wave_2_per_point56=len = len*mad; +wave_2_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_2_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_2_per_point59= +wave_2_per_point60=an = bang*(ar + br)*br; +wave_2_per_point61=len = len*mad; +wave_2_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_2_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_2_per_point64= +wave_2_per_point65=an = cang*(ar + br + cr)*cr; +wave_2_per_point66=len = len*mad; +wave_2_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_2_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_2_per_point69= +wave_2_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_2_per_point71=len = len*mad; +wave_2_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_2_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_2_per_point74= +wave_2_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_2_per_point76=len = len*mad; +wave_2_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_2_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_2_per_point79= +wave_2_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_2_per_point81=len = len*mad; +wave_2_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_2_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_2_per_point84= +wave_2_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_2_per_point86=len = len*mad; +wave_2_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_2_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_2_per_point89= +wave_2_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_2_per_point91=len = len*mad; +wave_2_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_2_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_2_per_point94= +wave_2_per_point95=x = (x-.5)*.75 + .5; +wave_2_per_point96= +wave_2_per_point97=x = int(x*200)*.005; +wave_2_per_point98=y = int(y*200)*.005; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=0.1 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,8); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31=hr = if(above(sample,0),hr,1); +wave_3_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_3_per_point33= +wave_3_per_point34=mlev = lev*above(sample,0); +wave_3_per_point35= +wave_3_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point37= +wave_3_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point42=he = if(swi,1-2*rand(2),he); +wave_3_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_3_per_point46= +wave_3_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_3_per_point55= +wave_3_per_point56=len = len*mad; +wave_3_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point59= +wave_3_per_point60=an = bang*(ar + br)*br; +wave_3_per_point61=len = len*mad; +wave_3_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point64= +wave_3_per_point65=an = cang*(ar + br + cr)*cr; +wave_3_per_point66=len = len*mad; +wave_3_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point69= +wave_3_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point71=len = len*mad; +wave_3_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point74= +wave_3_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point76=len = len*mad; +wave_3_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point79= +wave_3_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point81=len = len*mad; +wave_3_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point84= +wave_3_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point86=len = len*mad; +wave_3_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point89= +wave_3_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_3_per_point91=len = len*mad; +wave_3_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_3_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_3_per_point94= +wave_3_per_point95=x = (x-.5)*.75 + .5; +wave_3_per_point96= +wave_3_per_point97=x = int(x*200)*.005; +wave_3_per_point98=y = int(y*200)*.005; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.630000 +shapecode_0_y=0.5 +shapecode_0_rad=3.356410 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.138466 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=it = (it + 1)*below(it,10000); +shape_0_per_frame2=x = if(it%2,.26,.7247); +shape_0_per_frame3= +shape_0_per_frame4=tm = time*.1; +shape_0_per_frame5=x = .26 + .4647*(tm-int(tm)); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.1 +shapecode_1_y=0.8 +shapecode_1_rad=0.833456 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=5.403539 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=1.570797 +shapecode_2_tex_zoom=0.498300 +shapecode_2_r=0.9 +shapecode_2_g=0.940000 +shapecode_2_b=0.890000 +shapecode_2_a=1.0 +shapecode_2_r2=0.840000 +shapecode_2_g2=0.930000 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.1 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=r = .75 + .25*sin(time*1.187); +shape_2_per_frame2=g = .75 + .25*sin(time*1.153); +shape_2_per_frame3=b = .75 + .25*sin(time*1.105); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 1.5 - r; +shape_2_per_frame6=g2 = 1.5 - g; +shape_2_per_frame7=b2 = 1.5 - b; +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.847536 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=5.592035 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7= +per_frame_8= +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12= +per_frame_13=rb = 1; +per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_15=q1 = treb_avg; +per_frame_16=q2 = mid_avg; +per_frame_17=q3 = bass_avg; +per_frame_18= +per_frame_19=db = bass - bass_avg; +per_frame_20= +per_frame_21=it = (it + tic)*below(it,1); +per_frame_22= +per_frame_23=rb = .5*(1/tic); +per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_25=bd = bass - bvb; +per_frame_26= +per_frame_27=vm = vm - tic + swi; +per_frame_28=swi = above(bd - vm,0); +per_frame_29= +per_frame_30=q4 = 1-swi; +per_frame_31= +per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_33=iter = (iter + tic)*(1-above(iter,30)); +per_frame_34=q5 = if(equal(cm,0),3,cm); +per_frame_35= +per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_37=itar = (itar + tic)*(1-above(itar,5)); +per_frame_38= +per_frame_39=q6 = int(vav*5); +per_frame_40= +per_frame_41=monitor = q6; +per_frame_42= +per_frame_43=decay = 1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret.xyz *= 1.00; //or try: ret.xyz -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*0.500*float2(-1,1) + 0.5; +comp_4=` ret.xyz = max( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz +comp_6=` ); //old video echo effect +comp_7=` ret.xyz *= 1.00; //old gamma effect +comp_8=`} diff --git a/presets/presets_milkdrop_200/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_milkdrop_200/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..11a5a94cbf --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,462 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.120001 +fDecay=1.0 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.3 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=3.0 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=3.0 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.080000 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=0.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=0.0 +shapecode_3_border_g=0.0 +shapecode_3_border_b=0.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets/presets_milkdrop_200/shifter - feathers (angel wings)_phat_remix relief 2.milk b/presets/presets_milkdrop_200/shifter - feathers (angel wings)_phat_remix relief 2.milk new file mode 100755 index 0000000000..41ee85625e --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - feathers (angel wings)_phat_remix relief 2.milk @@ -0,0 +1,389 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 - sin(sp); +wave_0_per_point40=b = 0.5 - 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 - 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 - sin(sp); +wave_1_per_point40=r = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 - 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1-sin(sp); +wave_2_per_point40=g = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 - 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=decay=.995; +per_pixel_1=it = 0.3*sin(time*0.2); +per_pixel_2=radm = rad*0.5; +per_pixel_3=rot = 0.02*sin((radm+it)*30)*rad; +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod*mod*mod*mod; +per_pixel_6=zoom = 1 + abs(0.01*mod); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = pow(tex2D( sampler_main, uv ).xyz*1,1); +warp_5=`// ret += tex2D( sampler_main,float2(1-uv.x,uv.y) ).xyz*.5; +warp_6=` +warp_7=` // darken (decay) over time +warp_8=`ret *= 0.97; //or try: +warp_9=`ret -= 0.004; +warp_10=`} +comp_1=`sampler sampler_lichen; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main,uv).xyz + .15; +comp_5=` float3 d = float3(texsize.zw, 0)*1.3; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` ret *= .5; +comp_11=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_12=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_13=` +comp_14=`float2 uvm = float2(1-uv.x,uv.y); +comp_15=` ret += tex2D(sampler_main,uvm).xyz; +comp_16=` d = float3(texsize.zw, 0)*1.3; +comp_17=` b1 = lum(GetBlur1(uvm + d.xz)); +comp_18=` b2 = lum(GetBlur1(uvm - d.xz)); +comp_19=` b3 = lum(GetBlur1(uvm + d.zy)); +comp_20=` b4 = lum(GetBlur1(uvm - d.zy)); +comp_21=` ret *= .5; +comp_22=` ret += (b2-b1)*3*float3(1,0.7,0.3); +comp_23=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_24=` +comp_25=` +comp_26=` ret *= 1.5; +comp_27=`} diff --git a/presets/presets_milkdrop_200/shifter - glassworms flare.milk b/presets/presets_milkdrop_200/shifter - glassworms flare.milk new file mode 100755 index 0000000000..270785a210 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - glassworms flare.milk @@ -0,0 +1,582 @@ +[preset00] +fRating=1.0 +fGammaAdj=2.960001 +fDecay=0.910000 +fVideoEchoZoom=1.029896 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=2.987792 +fShader=0.0 +zoom=1.000432 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=0.7 +wavecode_0_g=0.9 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_0_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_0_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_0_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_0_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_0_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_0_per_frame7= +wave_0_per_frame8=t1 = ra*6.2832; +wave_0_per_frame9=t2 = rb*6.2832; +wave_0_per_frame10=t3 = rc*6.2832; +wave_0_per_frame11=t4 = rd*6.2832; +wave_0_per_frame12=t5 = re*6.2832; +wave_0_per_frame13=t6 = rf*6.2832; +wave_0_per_frame14= +wave_0_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_0_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_0_per_frame17= +wave_0_per_frame18=t7 = rg; +wave_0_per_frame19=t8 = rh; +wave_0_per_frame20= +wave_0_per_point1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_0_per_point2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_0_per_point3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_0_per_point4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_0_per_point5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_0_per_point6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_0_per_point7=rg = if(rg,rg,2 + 8*rand(1001)*.001); +wave_0_per_point8=rh = if(rh,rh,2 + 8*rand(1001)*.001); +wave_0_per_point9=ri = if(ri,ri,2 + 8*rand(1001)*.001); +wave_0_per_point10=rj = if(rj,rj,2 + 8*rand(1001)*.001); +wave_0_per_point11=rk = if(rk,rk,2 + 8*rand(1001)*.001); +wave_0_per_point12=rl = if(rl,rl,2 + 8*rand(1001)*.001); +wave_0_per_point13=rm = if(rm,rm,2 + 8*rand(1001)*.001); +wave_0_per_point14=rn = if(rn,rn,2 + 8*rand(1001)*.001); +wave_0_per_point15=ro = if(ro,ro,2 + 8*rand(1001)*.001); +wave_0_per_point16=rp = if(rp,rp,2 + 8*rand(1001)*.001); +wave_0_per_point17=rq = if(rq,rq,2 + 8*rand(1001)*.001); +wave_0_per_point18=rr = if(rr,rr,2 + 8*rand(1001)*.001); +wave_0_per_point19= +wave_0_per_point20=it = it*above(sample,0); +wave_0_per_point21=it = it + 1; +wave_0_per_point22=pi = 6.2813; +wave_0_per_point23= +wave_0_per_point24=sam = sample; +wave_0_per_point25=spm = .5 + .5*sin((q2 - sam)*6.24); +wave_0_per_point26=a = min((1-sam)*value2*3,1); +wave_0_per_point27=//a = pow(spm,16); +wave_0_per_point28=//a = 1; +wave_0_per_point29=r = pow(1 - sam,1); +wave_0_per_point30=g = pow(1 - sam,1); +wave_0_per_point31=b = pow(1 - sam,1); +wave_0_per_point32= +wave_0_per_point33=sp = q6*.15 - sam*.2; +wave_0_per_point34=spa = q7*.15 - sam*.2; +wave_0_per_point35=spb = q8*.15 - sam*.2; +wave_0_per_point36=ox = sam*(.5*sin(sp*ra*pi) + .5*sin(sp*rd*pi)); +wave_0_per_point37=oy = sam*(.5*sin(sp*rb*pi) + .5*sin(sp*re*pi)); +wave_0_per_point38=oz = sam*(.5*sin(sp*rc*pi) + .5*sin(sp*rf*pi)); +wave_0_per_point39= +wave_0_per_point40=cut = .2; +wave_0_per_point41=sm = sam*above(sam,cut); +wave_0_per_point42=mo = rand(2); +wave_0_per_point43=ox = ox + max(0,sm-cut)*if(mo,sin(spa*rg),sin(spa*rh)); +wave_0_per_point44=oy = oy + max(0,sm-cut)*if(mo,sin(spa*ri),sin(spa*rj)); +wave_0_per_point45=oz = oz + max(0,sm-cut)*if(mo,sin(spa*rk),sin(spa*rl)); +wave_0_per_point46= +wave_0_per_point47=cut = .4; +wave_0_per_point48=sm = sm*above(sm,cut); +wave_0_per_point49=mo = rand(2); +wave_0_per_point50=ox = ox + max(0,sm-cut)*if(mo,sin(spb*rm),sin(spb*rp)); +wave_0_per_point51=oy = oy + max(0,sm-cut)*if(mo,sin(spb*rn),sin(spb*rq)); +wave_0_per_point52=oz = oz + max(0,sm-cut)*if(mo,sin(spb*ro),sin(spb*rr)); +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55= +wave_0_per_point56=xang = q6*.1; +wave_0_per_point57=yang = q7*.1; +wave_0_per_point58=zang = q8*.1; +wave_0_per_point59= +wave_0_per_point60=fov = .5; +wave_0_per_point61= +wave_0_per_point62=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point63=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point64=ox = mx; +wave_0_per_point65=oz = mz; +wave_0_per_point66=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point67=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point68=ox = mx; +wave_0_per_point69=oy = my; +wave_0_per_point70=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point71=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point72=oy = my; +wave_0_per_point73=oz = mz; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=tme = (q6+q7+q8)*2 - sam*6.24*4; +wave_0_per_point77=mod = 1-sam; +wave_0_per_point78=wmod = 1; +wave_0_per_point79=ox = ox*(1-mod) + (sin(tme*.33)*.5 + .5*cos(tme*.542))*mod; +wave_0_per_point80=oy = oy*(1-mod) + (cos(tme*.24)*.5 + .5*sin(tme*.542))*mod; +wave_0_per_point81=oz = oz*(1-mod) + (sin(tme*.11)*.5 + .5*cos(tme*.542))*mod; +wave_0_per_point82= +wave_0_per_point83= +wave_0_per_point84=ox = ox*q3; +wave_0_per_point85=oy = oy*q3; +wave_0_per_point86=oz = oz*q3; +wave_0_per_point87= +wave_0_per_point88=oz = oz - 2; +wave_0_per_point89=x = ox*fov/oz + 0.5; +wave_0_per_point90=x = (x-.5)*0.75 + 0.5; +wave_0_per_point91=y = oy*fov/oz + 0.5; +wave_0_per_point92= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.0 +wavecode_1_r=0.7 +wavecode_1_g=0.9 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_1_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_1_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_1_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_1_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_1_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_1_per_frame7= +wave_1_per_frame8=t1 = ra*6.2832; +wave_1_per_frame9=t2 = rb*6.2832; +wave_1_per_frame10=t3 = rc*6.2832; +wave_1_per_frame11=t4 = rd*6.2832; +wave_1_per_frame12=t5 = re*6.2832; +wave_1_per_frame13=t6 = rf*6.2832; +wave_1_per_frame14= +wave_1_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); +wave_1_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); +wave_1_per_frame17= +wave_1_per_frame18=t7 = rg; +wave_1_per_frame19=t8 = rh; +wave_1_per_frame20= +wave_1_per_point1=ra = if(ra,ra,2 + 8*rand(1001)*.001); +wave_1_per_point2=rb = if(rb,rb,2 + 8*rand(1001)*.001); +wave_1_per_point3=rc = if(rc,rc,2 + 8*rand(1001)*.001); +wave_1_per_point4=rd = if(rd,rd,2 + 8*rand(1001)*.001); +wave_1_per_point5=re = if(re,re,2 + 8*rand(1001)*.001); +wave_1_per_point6=rf = if(rf,rf,2 + 8*rand(1001)*.001); +wave_1_per_point7=rg = if(rg,rg,2 + 8*rand(1001)*.001); +wave_1_per_point8=rh = if(rh,rh,2 + 8*rand(1001)*.001); +wave_1_per_point9=ri = if(ri,ri,2 + 8*rand(1001)*.001); +wave_1_per_point10=rj = if(rj,rj,2 + 8*rand(1001)*.001); +wave_1_per_point11=rk = if(rk,rk,2 + 8*rand(1001)*.001); +wave_1_per_point12=rl = if(rl,rl,2 + 8*rand(1001)*.001); +wave_1_per_point13=rm = if(rm,rm,2 + 8*rand(1001)*.001); +wave_1_per_point14=rn = if(rn,rn,2 + 8*rand(1001)*.001); +wave_1_per_point15=ro = if(ro,ro,2 + 8*rand(1001)*.001); +wave_1_per_point16=rp = if(rp,rp,2 + 8*rand(1001)*.001); +wave_1_per_point17=rq = if(rq,rq,2 + 8*rand(1001)*.001); +wave_1_per_point18=rr = if(rr,rr,2 + 8*rand(1001)*.001); +wave_1_per_point19= +wave_1_per_point20=it = it*above(sample,0); +wave_1_per_point21=it = it + 1; +wave_1_per_point22=pi = 6.2813; +wave_1_per_point23= +wave_1_per_point24=sam = sample; +wave_1_per_point25=spm = .5 + .5*sin((q2 - sam)*6.24); +wave_1_per_point26=a = min((1-sam)*value2*3,1); +wave_1_per_point27=//a = pow((1-spm),16); +wave_1_per_point28=g = 1; +wave_1_per_point29=r = pow(1 - sam,1); +wave_1_per_point30=b = pow(1 - sam,1); +wave_1_per_point31=g = pow(1 - sam,1); +wave_1_per_point32= +wave_1_per_point33=sp = q6*.15 - sam*.2; +wave_1_per_point34=spa = q7*.15 - sam*.2; +wave_1_per_point35=spb = q8*.15 - sam*.2; +wave_1_per_point36=ox = sam*(.5*sin(sp*ra*pi) + .5*sin(sp*rd*pi)); +wave_1_per_point37=oy = sam*(.5*sin(sp*rb*pi) + .5*sin(sp*re*pi)); +wave_1_per_point38=oz = sam*(.5*sin(sp*rc*pi) + .5*sin(sp*rf*pi)); +wave_1_per_point39= +wave_1_per_point40=cut = .2; +wave_1_per_point41=sm = sam*above(sam,cut); +wave_1_per_point42=mo = rand(2); +wave_1_per_point43=ox = ox + max(0,sm-cut)*if(mo,sin(spa*rg),sin(spa*rh)); +wave_1_per_point44=oy = oy + max(0,sm-cut)*if(mo,sin(spa*ri),sin(spa*rj)); +wave_1_per_point45=oz = oz + max(0,sm-cut)*if(mo,sin(spa*rk),sin(spa*rl)); +wave_1_per_point46= +wave_1_per_point47=cut = .4; +wave_1_per_point48=sm = sm*above(sm,cut); +wave_1_per_point49=mo = rand(2); +wave_1_per_point50=ox = ox + max(0,sm-cut)*if(mo,sin(spb*rm),sin(spb*rp)); +wave_1_per_point51=oy = oy + max(0,sm-cut)*if(mo,sin(spb*rn),sin(spb*rq)); +wave_1_per_point52=oz = oz + max(0,sm-cut)*if(mo,sin(spb*ro),sin(spb*rr)); +wave_1_per_point53= +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=xang = q6*.1; +wave_1_per_point57=yang = q7*.1; +wave_1_per_point58=zang = q8*.1; +wave_1_per_point59= +wave_1_per_point60=fov = .5; +wave_1_per_point61= +wave_1_per_point62=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point63=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point64=ox = mx; +wave_1_per_point65=oz = mz; +wave_1_per_point66=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point67=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point68=ox = mx; +wave_1_per_point69=oy = my; +wave_1_per_point70=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point71=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point72=oy = my; +wave_1_per_point73=oz = mz; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76=tme = (q6+q7+q8)*2 - sam*6.24*4; +wave_1_per_point77=mod = 1-sam; +wave_1_per_point78=wmod = 1; +wave_1_per_point79=ox = ox*(1-mod) + (sin(tme*.21)*.5 + .5*cos(tme*.671))*mod; +wave_1_per_point80=oy = oy*(1-mod) + (cos(tme*.14)*.5 + .5*sin(tme*.236))*mod; +wave_1_per_point81=oz = oz*(1-mod) + (sin(tme*.87)*.5 + .5*cos(tme*.247))*mod; +wave_1_per_point82= +wave_1_per_point83= +wave_1_per_point84=ox = ox*q3; +wave_1_per_point85=oy = oy*q3; +wave_1_per_point86=oz = oz*q3; +wave_1_per_point87= +wave_1_per_point88=oz = oz - 2; +wave_1_per_point89=x = ox*fov/oz + 0.5; +wave_1_per_point90=x = (x-.5)*0.75 + 0.5; +wave_1_per_point91=y = oy*fov/oz + 0.5; +wave_1_per_point92= +wavecode_2_enabled=0 +wavecode_2_samples=54 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=mod = .20333; +wave_2_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_2_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_3_enabled=0 +wavecode_3_samples=54 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=mod = .20667; +wave_3_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_3_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.998627 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.670315 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=g = .7; +shape_0_per_frame2=g2 = g; +shape_0_per_frame3= +shape_0_per_frame4=a = q1; +shape_0_per_frame5=a2 = a; +shape_0_per_frame6= +shape_0_per_frame7=ra = rand(1001)*.001; +shape_0_per_frame8=ti = q4 + .25; +shape_0_per_frame9=ra = ti - int(ti); +shape_0_per_frame10= +shape_0_per_frame11=tex_zoom = .45; +shape_0_per_frame12= +shape_0_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_0_per_frame14=s = 1; +shape_0_per_frame15=l = q5; +shape_0_per_frame16= +shape_0_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_0_per_frame18=tmpa = 2*l - tmpb; +shape_0_per_frame19=hvr = h + .333333; +shape_0_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_0_per_frame21=hvg = h; +shape_0_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_0_per_frame23=hvb = h - .333333; +shape_0_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_0_per_frame25= +shape_0_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_0_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_0_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_0_per_frame29= +shape_0_per_frame30=r2 = r; +shape_0_per_frame31=g2 = g; +shape_0_per_frame32=b2 = b; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.998627 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.670315 +shapecode_1_r=0.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shape_1_per_frame1=//tex_ang = -time; +shape_1_per_frame2=g = .7; +shape_1_per_frame3=g2 = g; +shape_1_per_frame4= +shape_1_per_frame5=a = q1; +shape_1_per_frame6=a2 = a; +shape_1_per_frame7= +shape_1_per_frame8=ra = rand(1001)*.001; +shape_1_per_frame9=ti = q4 + .25; +shape_1_per_frame10=ra = ti - int(ti); +shape_1_per_frame11= +shape_1_per_frame12=tex_zoom = .55; +shape_1_per_frame13= +shape_1_per_frame14=h = if(above(ra,.15),ra-.15,ra+.85); +shape_1_per_frame15=s = 1; +shape_1_per_frame16=l = q5; +shape_1_per_frame17= +shape_1_per_frame18=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_1_per_frame19=tmpa = 2*l - tmpb; +shape_1_per_frame20=hvr = h + .333333; +shape_1_per_frame21=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_1_per_frame22=hvg = h; +shape_1_per_frame23=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_1_per_frame24=hvb = h - .333333; +shape_1_per_frame25=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_1_per_frame26= +shape_1_per_frame27=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_1_per_frame28=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_1_per_frame29=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_1_per_frame30= +shape_1_per_frame31=r2 = r; +shape_1_per_frame32=g2 = g; +shape_1_per_frame33=b2 = b; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.998627 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.670315 +shapecode_2_r=0.0 +shapecode_2_g=1.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shape_2_per_frame1=//tex_ang = time; +shape_2_per_frame2=g = .7; +shape_2_per_frame3=g2 = g; +shape_2_per_frame4= +shape_2_per_frame5=a = q1*2; +shape_2_per_frame6=a2 = a; +shape_2_per_frame7= +shape_2_per_frame8=ra = rand(1001)*.001; +shape_2_per_frame9=ti = q4 + .25; +shape_2_per_frame10=ra = ti - int(ti); +shape_2_per_frame11= +shape_2_per_frame12=tex_zoom = .45; +shape_2_per_frame13= +shape_2_per_frame14=h = if(above(ra,.15),ra-.15,ra+.85); +shape_2_per_frame15=s = 1; +shape_2_per_frame16=l = q5; +shape_2_per_frame17= +shape_2_per_frame18=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_2_per_frame19=tmpa = 2*l - tmpb; +shape_2_per_frame20=hvr = h + .333333; +shape_2_per_frame21=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_2_per_frame22=hvg = h; +shape_2_per_frame23=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_2_per_frame24=hvb = h - .333333; +shape_2_per_frame25=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_2_per_frame26= +shape_2_per_frame27=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_2_per_frame28=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_2_per_frame29=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_2_per_frame30= +shape_2_per_frame31=r2 = r; +shape_2_per_frame32=g2 = g; +shape_2_per_frame33=b2 = b; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.901615 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.102420 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=0.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang = rand(1001)*.001*6.2832; +shape_3_per_frame2=tex_ang = ang; +per_frame_1=warp = 0; +per_frame_2=arot = 1.5708; +per_frame_3= +per_frame_4= +per_frame_5=decay = 1; +per_frame_6= +per_frame_7=// for shapes +per_frame_8=q1 = .1; // = a +per_frame_9=q5 = .6; // = luminance +per_frame_10= +per_frame_11=tic = min(time-tin,.1); +per_frame_12=tin = time; +per_frame_13= +per_frame_14=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_15= +per_frame_16=ra = 10; +per_frame_17=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_18=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_19=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_20=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_21= +per_frame_22=tt = tt + tic*treb; +per_frame_23=mt = mt + tic*mid; +per_frame_24=bt = bt + tic*bass; +per_frame_25=vt = vt + tic*vav; +per_frame_26= +per_frame_27=sp = abs(vav - slide)*.1; +per_frame_28=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_29=toc = 1; +per_frame_30= +per_frame_31=// for waves +per_frame_32=q6 = bt; +per_frame_33=q7 = mt; +per_frame_34=q8 = tt; +per_frame_35=q3 = slide; +per_frame_36= +per_frame_37=q2 = vt*.5; // speed of opacity cycle +per_frame_38= +per_frame_39=vrt = vrt + tic*min(1,max(0.1,2-vav)); +per_frame_40= +per_frame_41=q4 = vrt*6; // = timecycle of hue +per_frame_42= +per_frame_43=zoom = 1 + pow(vav,4)*.2; +per_frame_44= +per_frame_45=monitor = vav; diff --git a/presets/presets_milkdrop_200/shifter - liquid circuitry.milk b/presets/presets_milkdrop_200/shifter - liquid circuitry.milk new file mode 100755 index 0000000000..3e18b6c3f7 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - liquid circuitry.milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999797 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004538 +fWaveScale=0.167026 +fWaveSmoothing=0.000000 +fWaveParam=0.000001 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=1.000000 +fWarpScale=0.106584 +fZoomExponent=4.100456 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.950000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=41 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.010000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = 1; +wave_0_init2=t1 = q5; +wave_0_per_point1=x = rand(1001)*.001; +wave_0_per_point2=y = rand(1001)*.001; +wave_0_per_point3= +wave_0_per_point4=//r = rand(1001)*.001; +wave_0_per_point5=g=above(rand(1001)*.001,.9)*.5; +wave_0_per_point6=b = 0; +wave_0_per_point7=r = 0; +wave_0_per_point8= +wavecode_1_enabled=0 +wavecode_1_samples=61 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.012402 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_init1=t8 = 1; +wave_1_init2=t1 = q5; +wave_1_per_point1=x = (sample-.5)*.02 + .2; +wave_1_per_point2=y = .5; +wave_1_per_point3=r = 1; +wave_1_per_point4=g = 1; +wave_1_per_point5=b = 1; +wavecode_2_enabled=0 +wavecode_2_samples=31 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.013034 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t8 = 1; +wave_2_init2=t1 = q5; +wave_2_per_frame1=t1 = q5; +wave_2_per_frame2=t2 = q4; +wave_2_per_frame3=t3 = q6; +wave_2_per_point1=t8 = -t8; +wave_2_per_point2=d1 = 0.15 + t8*0.01 - value1*0.1*(t8+1); +wave_2_per_point3=dir1 = t2; +wave_2_per_point4=dir2 = t2*0.5 + t1*3/2 - t3*3; +wave_2_per_point5=dir3 = sample*asin(1)*4 + t3 - t2*5/6 + t1*3/2; +wave_2_per_point6= +wave_2_per_point7=x = 0.5 + sin(dir1)*0.1 + sin(dir2)*0.05 + sin(dir3)*d1; +wave_2_per_point8=y = 0.5 + cos(dir1)*0.1 + cos(dir2)*0.05 + cos(dir3)*d1; +wave_2_per_point9=y = (y-0.5)*1.2 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=511 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.023445 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.990000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q4*0.75; +wave_3_per_frame2=t2 = q5*0.75; +wave_3_per_frame3=t3 = q6*0.75; +wave_3_per_frame4=t4 = q4*0.75; +wave_3_per_frame5=t5 = q5*0.75; +wave_3_per_frame6=t6 = q6*0.75; +wave_3_per_frame7=t8 = 1; +wave_3_per_point1= +wave_3_per_point2=pi = asin(1); +wave_3_per_point3=n = 80; +wave_3_per_point4=t8 = -t8; +wave_3_per_point5=rd = 0.075+0.02*(t8+1)/2; +wave_3_per_point6=xx = sin(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_3_per_point7=yy = cos(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_3_per_point8=zz = sin(sample*pi*n)*rd; +wave_3_per_point9= +wave_3_per_point10=d = sqrt( xx*xx + yy*yy + zz*zz)*0.004; +wave_3_per_point11=d1 = 1; +wave_3_per_point12=xx = xx*d1; +wave_3_per_point13=yy = yy*d1; +wave_3_per_point14=zz = zz*d1; +wave_3_per_point15= +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=w1 = d*t4; +wave_3_per_point20=w2 = d*t5; +wave_3_per_point21=w3 = d*t6; +wave_3_per_point22= +wave_3_per_point23=s1 = sin(t1*1+w1); +wave_3_per_point24=s2 = sin(t2*1+w2); +wave_3_per_point25=s3 = sin(t3*1+w3); +wave_3_per_point26=c1 = cos(t1*1+w1); +wave_3_per_point27=c2 = cos(t2*1+w2); +wave_3_per_point28=c3 = cos(t3*1+w3); +wave_3_per_point29= +wave_3_per_point30=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point31=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point32=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point33= +wave_3_per_point34=a = 0.5; +wave_3_per_point35=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_3_per_point36=x = 0.5 + zoom*x1; +wave_3_per_point37=y = 0.5 + zoom*y1; +wave_3_per_point38= +wave_3_per_point39=pi3 = 3.1415*2*0.3333; +wave_3_per_point40=t = -z*2 - time*0.8;//sample*pi*4-0*time +t4*3; +wave_3_per_point41=c=2; +wave_3_per_point42=r = sin(t)*c; +wave_3_per_point43= +wave_3_per_point44=g = sin(t+pi3)*c; +wave_3_per_point45= +wave_3_per_point46=b = sin(t-pi3)*c; +wave_3_per_point47= +wave_3_per_point48=j = 0.71; +wave_3_per_point49=//r = 0.5+xx*j; +wave_3_per_point50=//g = 0.5+yy*j; +wave_3_per_point51=//b = 0.5+zz*j; +wave_3_per_point52= +wave_3_per_point53=r = if(above(r,1),1,r); +wave_3_per_point54=r = if(below(r,0),0,r); +wave_3_per_point55=g = if(above(g,1),1,g); +wave_3_per_point56=g = if(below(g,0),0,g); +wave_3_per_point57=b = if(above(b,1),1,b); +wave_3_per_point58=b = if(below(b,0),0,b); +wave_3_per_point59= +wave_3_per_point60=a = sigmoid(-z,7)+0.; +wave_3_per_point61= +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.304784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.827733 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = .3; +shape_0_per_frame2=tex_zoom = .28; +shape_0_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_0_per_frame4= +shape_0_per_frame5=x = .5 + sin(time*.957)*.1; +shapecode_1_enabled=0 +shapecode_1_sides=74 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.453782 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.503296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad = .3; +shape_1_per_frame2=tex_zoom = .3; +shape_1_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_1_per_frame4= +shape_1_per_frame5=x = .5 + sin(time)*.15; +shapecode_2_enabled=1 +shapecode_2_sides=84 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.167768 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.503296 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.200000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=vx = 0; +shape_2_init2=vy = 0; +shape_2_per_frame1=ti = time*.3; +shape_2_per_frame2=x = .5 + .34*sin(ti); +shape_2_per_frame3=y = .5 + .34*cos(ti); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad + bass; +shape_2_per_frame6= +shape_2_per_frame7=ti = time*2.3; +shape_2_per_frame8=x = x + .1*sin(ti); +shape_2_per_frame9=y = y + .1*cos(ti); +shapecode_3_enabled=0 +shapecode_3_sides=74 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.167769 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ti = -time*.3; +shape_3_per_frame2=x = .5 + .3*sin(ti); +shape_3_per_frame3=y = .5 + .3*cos(ti); +shape_3_per_frame4= +shape_3_per_frame5=ti = -time*2.3; +shape_3_per_frame6=x = x + .2*sin(ti); +shape_3_per_frame7=y = y + .2*cos(ti); +per_frame_1=//begin beat code +per_frame_2=volume = 0.3*(bass+mid); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=//end beat code +per_frame_14= +per_frame_15=zoom = 1; +per_frame_16=decay = 1; +per_frame_17=warp = 0; +per_frame_18=wave_a = 0; +per_frame_19= +per_frame_20=tic = min(time-tin,.1); +per_frame_21=tin = time; +per_frame_22= +per_frame_23=q2 = 1; +per_frame_24= +per_frame_25=q1=1; +per_frame_26=vol = vol + ((alt + bass + mid)/3-vol)*tic*1; +per_frame_27=q5 = vol*vol*vol*2; +per_frame_28= +per_frame_29= +per_frame_30=q8 = sin(time)*.5; +per_frame_31=q9 = sin(time*.75)*.5; +per_frame_32= +per_frame_33=sw = abs(sw - beat); +per_frame_34=an = an + tic*.5*(1-2*sw); +per_frame_35= +per_frame_36= +per_frame_37=q7 = 1+(pow(q8,2) + pow(q9,2))*1; +per_frame_38=q10 = sin(an); +per_frame_39=q11 = cos(an); +per_frame_40= +per_frame_41=sp = sp + tic*vol*vol*.5; +per_frame_42= +per_frame_43=q12 = sp; +per_frame_44= +per_frame_45=monitor = q12; +per_pixel_1=//zoom = pow(rad,2)+.01; +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=`ret.xyz = tex2D(sampler_main, uv_orig).xyz*float3(.97,1,.97) - float3(.03,0,.03); +warp_6=` +warp_7=`ret.z += GetBlur1(uv_orig).z*.45; +warp_8=`ret.x += GetBlur1(uv_orig).z*.05 + GetBlur3(uv_orig).z*.05; +warp_9=`ret.z -= ret.x; +warp_10=` +warp_11=`float2 pixelsize = texsize.zw; +warp_12=`ret.y = saturate(tex2D( sampler_pw_main,uv_orig).y); +warp_13=` +warp_14=`float1 conway = tex2D( sampler_pw_main, uv_orig + float2(-1,-1)*pixelsize).y; +warp_15=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,-1)*pixelsize).y; +warp_16=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,-1)*pixelsize).y; +warp_17=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,0)*pixelsize).y; +warp_18=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,0)*pixelsize).y; +warp_19=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,1)*pixelsize).y; +warp_20=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,1)*pixelsize).y; +warp_21=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,1)*pixelsize).y; +warp_22=` +warp_23=`float1 test = q5*(1-GetBlur1(uv_orig).y)*(1-GetBlur2(uv_orig).y)*(1-GetBlur3(uv_orig).y); +warp_24=` +warp_25=`conway -= tex2D( sampler_pw_main, uv_orig).x; +warp_26=` +warp_27=` +warp_28=`if (conway > 0) { +warp_29=`if (saturate(ret.y) == 0) { +warp_30=`ret.y = floor(test*1.8)*q1; +warp_31=`} +warp_32=`} +warp_33=` +warp_34=`ret.y -= ret.x; +warp_35=` +warp_36=`ret.xyz -= 1-q2; +warp_37=`} +comp_1=`sampler sampler_rose; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 uvm = (uv - .5)*q7*(1/(1-rad*.1+q9*(uv.x - .5)+q8*(uv.y - .5)))+.5; +comp_6=` +comp_7=`uvm = (uvm - .5); +comp_8=`uvm = (q10*uvm.xy + float2(1,-1)*q11*uvm.yx)*aspect.zw + .5; +comp_9=` +comp_10=` +comp_11=`uvm = abs(frac((uvm+q12)*.5) - .5)*2; +comp_12=` +comp_13=` +comp_14=`float2 uv3 = tex2D( sampler_main, uvm).zzz; +comp_15=`uv3 = (uv3.xy-0.37) * .13 + uvm; +comp_16=` +comp_17=` +comp_18=`ret.xyz = tex2D(sampler_pw_main, uvm).yyy; +comp_19=` +comp_20=`ret = lerp ( +comp_21=`GetBlur1(uv3).z + GetBlur3(uv3).z, +comp_22=`ret, +comp_23=`ret); +comp_24=` +comp_25=`ret = pow(ret,float3(.5,1,2)) - .25; +comp_26=` +comp_27=`ret *= GetBlur3(uv3).y; +comp_28=` +comp_29=`//ret = tex2D(sampler_pw_main, uv).xyz; +comp_30=` +comp_31=`} diff --git a/presets/presets_milkdrop_200/shifter - mandala.milk b/presets/presets_milkdrop_200/shifter - mandala.milk new file mode 100755 index 0000000000..777a5cffbd --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - mandala.milk @@ -0,0 +1,758 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.980001 +fDecay=0.5 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.0 +fWaveParam=0.2 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-1.0 +warp=0.010000 +sx=0.999998 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.1 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .5; +wave_0_per_frame18=len = q4; +wave_0_per_frame19=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15= +wave_0_per_point16=ar = if(above(sample,0),ar,1); +wave_0_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point18=br = if(above(sample,0),br,1); +wave_0_per_point19=br = if(equal(lev,1),br*-1,br); +wave_0_per_point20=cr = if(above(sample,0),cr,1); +wave_0_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point22=dr = if(above(sample,0),dr,1); +wave_0_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point24=er = if(above(sample,0),er,1); +wave_0_per_point25=er = if(equal(lev,4),er*-1,er); +wave_0_per_point26=fr = if(above(sample,0),fr,1); +wave_0_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point28=gr = if(above(sample,0),gr,1); +wave_0_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point30= +wave_0_per_point31=mlev = lev*above(sample,0); +wave_0_per_point32= +wave_0_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point34= +wave_0_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point39=he = if(swi,1-2*rand(2),he); +wave_0_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point42= +wave_0_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_0_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_0_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_0_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_0_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_0_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_0_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_0_per_point50= +wave_0_per_point51=aang = 1.57; +wave_0_per_point52=bang = 1.57; +wave_0_per_point53=cang = 1.57; +wave_0_per_point54=dang = 1.57; +wave_0_per_point55=eang = 1.57; +wave_0_per_point56=fang = 1.57; +wave_0_per_point57=gang = 1.57; +wave_0_per_point58= +wave_0_per_point59=oz = 0; +wave_0_per_point60= +wave_0_per_point61=len = len*mad; +wave_0_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_0_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_0_per_point64= +wave_0_per_point65=an = (ar*aang + br*bang)*br; +wave_0_per_point66=len = len*mad; +wave_0_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_0_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_0_per_point69= +wave_0_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_0_per_point71=len = len*mad; +wave_0_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_0_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_0_per_point74= +wave_0_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_0_per_point76=len = len*mad; +wave_0_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_0_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_0_per_point79= +wave_0_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_0_per_point81=len = len*mad; +wave_0_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_0_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_0_per_point84= +wave_0_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_0_per_point86=len = len*mad; +wave_0_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_0_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_0_per_point89= +wave_0_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_0_per_point91=len = len*mad; +wave_0_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_0_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_0_per_point94= +wave_0_per_point95= +wave_0_per_point96=xang = time*1.132; +wave_0_per_point97=xang = q5; +wave_0_per_point98=yang = time*1.153; +wave_0_per_point99=yang = q6; +wave_0_per_point100=zang = time*1.110; +wave_0_per_point101=zang = q7; +wave_0_per_point102=fov = .5; +wave_0_per_point103= +wave_0_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point106=ox = mx; +wave_0_per_point107=oy = my; +wave_0_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point110=ox = mx; +wave_0_per_point111=oz = mz; +wave_0_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point114=oy = my; +wave_0_per_point115=oz = mz; +wave_0_per_point116= +wave_0_per_point117=oz = oz - 2; +wave_0_per_point118=x = ox*fov/oz + 0.5; +wave_0_per_point119=x = (x-.5)*0.75 + 0.5; +wave_0_per_point120=y = oy*fov/oz + 0.5; +wave_0_per_point121= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=0.1 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point39=he = if(swi,1-2*rand(2),he); +wave_1_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=0.1 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15= +wave_2_per_point16=ar = if(above(sample,0),ar,1); +wave_2_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point18=br = if(above(sample,0),br,1); +wave_2_per_point19=br = if(equal(lev,1),br*-1,br); +wave_2_per_point20=cr = if(above(sample,0),cr,1); +wave_2_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point22=dr = if(above(sample,0),dr,1); +wave_2_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point24=er = if(above(sample,0),er,1); +wave_2_per_point25=er = if(equal(lev,4),er*-1,er); +wave_2_per_point26=fr = if(above(sample,0),fr,1); +wave_2_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point28=gr = if(above(sample,0),gr,1); +wave_2_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point30= +wave_2_per_point31=mlev = lev*above(sample,0); +wave_2_per_point32= +wave_2_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point34= +wave_2_per_point35=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point36=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point37=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point38=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point39=he = if(swi,1-2*rand(2),he); +wave_2_per_point40=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point41=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point42= +wave_2_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_2_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_2_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_2_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_2_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_2_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_2_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_2_per_point50= +wave_2_per_point51=aang = 1.57; +wave_2_per_point52=bang = 1.57; +wave_2_per_point53=cang = 1.57; +wave_2_per_point54=dang = 1.57; +wave_2_per_point55=eang = 1.57; +wave_2_per_point56=fang = 1.57; +wave_2_per_point57=gang = 1.57; +wave_2_per_point58= +wave_2_per_point59=oz = 0; +wave_2_per_point60= +wave_2_per_point61=len = len*mad; +wave_2_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_2_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_2_per_point64= +wave_2_per_point65=an = (ar*aang + br*bang)*br; +wave_2_per_point66=len = len*mad; +wave_2_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_2_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_2_per_point69= +wave_2_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_2_per_point71=len = len*mad; +wave_2_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_2_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_2_per_point74= +wave_2_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_2_per_point76=len = len*mad; +wave_2_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_2_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_2_per_point79= +wave_2_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_2_per_point81=len = len*mad; +wave_2_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_2_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_2_per_point84= +wave_2_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_2_per_point86=len = len*mad; +wave_2_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_2_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_2_per_point89= +wave_2_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_2_per_point91=len = len*mad; +wave_2_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_2_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_2_per_point94= +wave_2_per_point95= +wave_2_per_point96=xang = time*1.132; +wave_2_per_point97=xang = q5; +wave_2_per_point98=yang = time*1.153; +wave_2_per_point99=yang = q6; +wave_2_per_point100=zang = time*1.110; +wave_2_per_point101=zang = q7; +wave_2_per_point102=fov = .5; +wave_2_per_point103= +wave_2_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point106=ox = mx; +wave_2_per_point107=oy = my; +wave_2_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point110=ox = mx; +wave_2_per_point111=oz = mz; +wave_2_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point114=oy = my; +wave_2_per_point115=oz = mz; +wave_2_per_point116= +wave_2_per_point117= +wave_2_per_point118=oz = oz - 2; +wave_2_per_point119=x = ox*fov/oz + 0.5; +wave_2_per_point120=x = (x-.5)*0.75 + 0.5; +wave_2_per_point121=y = oy*fov/oz + 0.5; +wave_2_per_point122= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.854834 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.539067 +shapecode_0_r=1.0 +shapecode_0_g=0.940000 +shapecode_0_b=0.890000 +shapecode_0_a=1.0 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x = .4998; +shape_0_per_frame2=y = .5002; +shape_0_per_frame3= +shape_0_per_frame4=ti = time*.3; +shape_0_per_frame5=r = .925 + .05*sin(ti*1.721); +shape_0_per_frame6=g = .925 + .05*sin(ti*1.838); +shape_0_per_frame7=b = .925 + .05*sin(ti*1.968); +shape_0_per_frame8= +shape_0_per_frame9=r2 = 1.875 - r; +shape_0_per_frame10=g2 = 1.875 - g; +shape_0_per_frame11=b2 = 1.875 - b; +shape_0_per_frame12= +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.1 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.6 +shapecode_1_border_r=0.5 +shapecode_1_border_g=0.5 +shapecode_1_border_b=0.5 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.0 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=0.5 +shapecode_2_border_g=0.5 +shapecode_2_border_b=0.5 +shapecode_2_border_a=0.0 +shapecode_3_enabled=1 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=1.0 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=0.5 +shapecode_3_border_g=0.5 +shapecode_3_border_b=0.5 +shapecode_3_border_a=0.0 +per_frame_1=warp = 0; +per_frame_2=zoom=1.; +per_frame_3=decay=.5; +per_frame_4= +per_frame_5=tic = min(time-tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_13= +per_frame_14=tt = tt + tic*treb_avg; +per_frame_15=mt = mt + tic*mid_avg; +per_frame_16=bt = bt + tic*bass_avg; +per_frame_17=vt = vt + tic*vav; +per_frame_18= +per_frame_19=ob_size = min((pow(bass_avg+1,6)-1)*.0001,.7); +per_frame_20= +per_frame_21=sp = abs(vav - slide)*.1; +per_frame_22= +per_frame_23=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_24=toc = 1; +per_frame_25= +per_frame_26= +per_frame_27=q1 = treb_avg; +per_frame_28=q2 = mid_avg; +per_frame_29=q3 = bass_avg; +per_frame_30= +per_frame_31=q4 = min(slide*1.2,1.5); +per_frame_32= +per_frame_33=q5 = tt*.4; +per_frame_34=q6 = mt*.4; +per_frame_35=q7 = bt*.4; diff --git a/presets/presets_milkdrop_200/shifter - molten glass.milk b/presets/presets_milkdrop_200/shifter - molten glass.milk new file mode 100755 index 0000000000..ab9b83200d --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - molten glass.milk @@ -0,0 +1,274 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.9 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=0.380217 +fWarpScale=3.300904 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999514 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.033469 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.033469 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.033469 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=decay = 0; +per_frame_1=warp = 7; +per_frame_2=wave_a = 0; +per_pixel_1=rot = 1.2*(0.5-abs(x-0.5))*(0.5-abs(y-0.5)); +per_pixel_2=rot = 1; +per_pixel_3=adx = (1 - 0.01*(x-0.5)); +per_pixel_4=ady = (1 - 0.01*(y-0.5)); +per_pixel_5=cy = y + 0.1*sin(x*40); +per_pixel_6=cx = x + 0.1*sin(y*40); +per_pixel_7=azoom = 0.99; diff --git a/presets/presets_milkdrop_200/shifter - neon pulse (reactive).milk b/presets/presets_milkdrop_200/shifter - neon pulse (reactive).milk new file mode 100755 index 0000000000..467b399c7d --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - neon pulse (reactive).milk @@ -0,0 +1,319 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.4 +fDecay=0.975000 +fVideoEchoZoom=1.050590 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.852347 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.0 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=0.030000 +wave_0_per_point1=r = .6 + .4*sin(time); +wave_0_per_point2=g = .4 + .4*sin(time + 2.094); +wave_0_per_point3=b = .4 + .4*sin(time + 4.188); +wave_0_per_point4= +wave_0_per_point5=sw = 1-sw; +wave_0_per_point6= +wave_0_per_point7=mx = equal(int(q2)%2,0); +wave_0_per_point8=mx = abs(mx - (q2 - int(q2))); +wave_0_per_point9=my = .5 + (.5 - mx); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x = mx + value1*(1-2*sw); +wave_0_per_point13=y = my + value2*(1-2*sw); +wave_0_per_point14= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.0 +wavecode_1_g=0.0 +wavecode_1_b=0.0 +wavecode_1_a=0.030000 +wave_1_per_point1=g = .6 + .4*sin(time); +wave_1_per_point2=b = .4 + .4*sin(time + 2.094); +wave_1_per_point3=r = .4 + .4*sin(time + 4.188); +wave_1_per_point4= +wave_1_per_point5=sw = 1-sw; +wave_1_per_point6= +wave_1_per_point7=mx = equal(int(q3)%2,0); +wave_1_per_point8=mx = abs(mx - (q3 - int(q3))); +wave_1_per_point9=my = .5 + (.5 - mx); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=x = mx + value1*(1-2*sw); +wave_1_per_point13=y = my + value2*(1-2*sw); +wave_1_per_point14= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.030000 +wave_2_per_point1=b = .6 + .4*sin(time); +wave_2_per_point2=r = .4 + .4*sin(time + 2.094); +wave_2_per_point3=g = .4 + .4*sin(time + 4.188); +wave_2_per_point4= +wave_2_per_point5=sw = 1-sw; +wave_2_per_point6= +wave_2_per_point7=mx = equal(int(q4)%2,0); +wave_2_per_point8=mx = abs(mx - (q4 - int(q4))); +wave_2_per_point9=my = .5 + (.5 - mx); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=x = mx + value1*(1-2*sw); +wave_2_per_point13=y = my + value2*(1-2*sw); +wave_2_per_point14= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.0 +shapecode_0_y=0.0 +shapecode_0_rad=1.329095 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.570797 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; diff --git a/presets/presets_milkdrop_200/shifter - tumbling cubes (endless) radial blur.milk b/presets/presets_milkdrop_200/shifter - tumbling cubes (endless) radial blur.milk new file mode 100755 index 0000000000..6b3984e3b2 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - tumbling cubes (endless) radial blur.milk @@ -0,0 +1,449 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.0 +fGammaAdj=1.0 +fDecay=0.9 +fVideoEchoZoom=0.999607 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999836 +fShader=0.0 +zoom=0.999511 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_0_per_frame2=tin = if(ps,time,tin); +wave_0_per_frame3= +wave_0_per_frame4=sz = 3.5; +wave_0_per_frame5= +wave_0_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_0_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_0_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_0_per_frame9= +wave_0_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_0_per_frame11= +wave_0_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_0_per_frame13= +wave_0_per_frame14=t1 = xr + bob; +wave_0_per_frame15=t2 = yr + bob; +wave_0_per_frame16=t3 = sr; +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = t3; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=fov = .3; +wave_0_per_point14= +wave_0_per_point15=a = .05; +wave_0_per_point16=mod = (oz+1)*.5; +wave_0_per_point17=a = a*max(min(mod,1),0); +wave_0_per_point18=oz = oz - 2; +wave_0_per_point19= +wave_0_per_point20=ox = ox + t1; +wave_0_per_point21=oy = oy + t2; +wave_0_per_point22= +wave_0_per_point23=x = ox*fov/oz + 0.5; +wave_0_per_point24=x = (x-.5)*0.75 + 0.5; +wave_0_per_point25=y = oy*fov/oz + 0.5; +wave_0_per_point26= +wave_0_per_point27=r = 1; +wave_0_per_point28=g = .25+.25*sin(sp); +wave_0_per_point29=b = 0; +wave_0_per_point30= +wave_0_per_point31=minrgb = min(r,min(g,b)); +wave_0_per_point32=maxrgb = max(r,max(g,b)); +wave_0_per_point33=l = (maxrgb-minrgb)*.5; +wave_0_per_point34=diff = maxrgb-minrgb; +wave_0_per_point35=sum = maxrgb+minrgb; +wave_0_per_point36=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_0_per_point37=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_0_per_point38=h = h*0.1666666; +wave_0_per_point39=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_0_per_point40= +wave_0_per_point41=h = h + time*0.05*1.324; +wave_0_per_point42=h = h - int(h); +wave_0_per_point43= +wave_0_per_point44=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_0_per_point45=tmpa = 2*l - tmpb; +wave_0_per_point46=hvr = h + .333333; +wave_0_per_point47=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_0_per_point48=hvg = h; +wave_0_per_point49=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_0_per_point50=hvb = h - .333333; +wave_0_per_point51=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_0_per_point52= +wave_0_per_point53=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_0_per_point54=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_0_per_point55=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_1_per_frame2=tin = if(ps,time,tin); +wave_1_per_frame3= +wave_1_per_frame4=sz = 3.5; +wave_1_per_frame5= +wave_1_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_1_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_1_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_1_per_frame9= +wave_1_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_1_per_frame11= +wave_1_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_1_per_frame13= +wave_1_per_frame14=t1 = xr + bob; +wave_1_per_frame15=t2 = yr + bob; +wave_1_per_frame16=t3 = sr; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = t3; +wave_1_per_point5=ss = sample*6; +wave_1_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point12= +wave_1_per_point13=fov = .3; +wave_1_per_point14= +wave_1_per_point15=a = .05; +wave_1_per_point16=mod = (oz+1)*.5; +wave_1_per_point17=a = a*max(min(mod,1),0); +wave_1_per_point18=oz = oz - 2; +wave_1_per_point19= +wave_1_per_point20=ox = ox + t1; +wave_1_per_point21=oy = oy + t2; +wave_1_per_point22= +wave_1_per_point23=x = ox*fov/oz + 0.5; +wave_1_per_point24=x = (x-.5)*0.75 + 0.5; +wave_1_per_point25=y = oy*fov/oz + 0.5; +wave_1_per_point26= +wave_1_per_point27=r = 1+sin(sp); +wave_1_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_2_per_frame2=tin = if(ps,time,tin); +wave_2_per_frame3= +wave_2_per_frame4=sz = 3.5; +wave_2_per_frame5= +wave_2_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_2_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_2_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_2_per_frame9= +wave_2_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_2_per_frame11= +wave_2_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_2_per_frame13= +wave_2_per_frame14=t1 = xr + bob; +wave_2_per_frame15=t2 = yr + bob; +wave_2_per_frame16=t3 = sr; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = t3; +wave_2_per_point5=ss = sample*6; +wave_2_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point12= +wave_2_per_point13=fov = .3; +wave_2_per_point14= +wave_2_per_point15=a = .05; +wave_2_per_point16=mod = (oz+1)*.5; +wave_2_per_point17=a = a*max(min(mod,1),0); +wave_2_per_point18=oz = oz - 2; +wave_2_per_point19= +wave_2_per_point20=ox = ox + t1; +wave_2_per_point21=oy = oy + t2; +wave_2_per_point22= +wave_2_per_point23=x = ox*fov/oz + 0.5; +wave_2_per_point24=x = (x-.5)*0.75 + 0.5; +wave_2_per_point25=y = oy*fov/oz + 0.5; +wave_2_per_point26= +wave_2_per_point27=r = 1+sin(sp); +wave_2_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=ps = if(above(time-tin,tr),1,0); +wave_3_per_frame2=tin = if(ps,time,tin); +wave_3_per_frame3= +wave_3_per_frame4=sz = 3.5; +wave_3_per_frame5= +wave_3_per_frame6=xr = if(ps,rand(sz*10*2 + 1)*.1 - sz,xr); +wave_3_per_frame7=yr = if(ps,rand(sz*10*2*.75 + 1)*.1 - sz*.75,yr); +wave_3_per_frame8=tr = if(ps,rand(11)*.1*.1,tr); +wave_3_per_frame9= +wave_3_per_frame10=sr = if(ps,(rand(8)+3)*.1*.6,sr); +wave_3_per_frame11= +wave_3_per_frame12=bob = if(ps,rand(q5)*100,bob); +wave_3_per_frame13= +wave_3_per_frame14=t1 = xr + bob; +wave_3_per_frame15=t2 = yr + bob; +wave_3_per_frame16=t3 = sr; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = t3; +wave_3_per_point5=ss = sample*6; +wave_3_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point12= +wave_3_per_point13=fov = .3; +wave_3_per_point14= +wave_3_per_point15=a = .05; +wave_3_per_point16=mod = (oz+1)*.5; +wave_3_per_point17=a = a*max(min(mod,1),0); +wave_3_per_point18=oz = oz - 2; +wave_3_per_point19= +wave_3_per_point20=ox = ox + t1; +wave_3_per_point21=oy = oy + t2; +wave_3_per_point22= +wave_3_per_point23=x = ox*fov/oz + 0.5; +wave_3_per_point24=x = (x-.5)*0.75 + 0.5; +wave_3_per_point25=y = oy*fov/oz + 0.5; +wave_3_per_point26= +wave_3_per_point27=r = 1+sin(sp); +wave_3_per_point28=g = 0.5 + 0.5*sin(sample*1.57); +wave_3_per_point29=b = 0.5 + 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.2 +shapecode_0_y=0.3 +shapecode_0_rad=0.270481 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=3.999140 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=sw = above(time-fin,0.06); +per_frame_4=fin = if(sw,time,fin); +per_frame_5=zoom = if(sw,.85,1); +per_frame_6=monitor = tic; +per_frame_7= +per_frame_8=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_9=q5 = 5 - vol*3.5; +per_frame_10= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5)*aspect.xy; +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw*3; +warp_7=` ret = 0.25*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv + v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv + v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv + v*-4 ).xyz +warp_11=` ); +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.01; +warp_15=`} diff --git a/presets/presets_milkdrop_200/shifter - tumbling cubes.milk b/presets/presets_milkdrop_200/shifter - tumbling cubes.milk new file mode 100755 index 0000000000..d91e0ba1d4 --- /dev/null +++ b/presets/presets_milkdrop_200/shifter - tumbling cubes.milk @@ -0,0 +1,471 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.0 +fDecay=0.5 +fVideoEchoZoom=4.946229 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.0 +zoom=0.999512 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz + 0.5; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=tic = time - tin; +wave_3_per_frame2=tin = time; +wave_3_per_frame3=mod = .1*(mod*9 + treb_att); +wave_3_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_3_per_frame5=t1 = tt; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .3; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75 + 0.5; +wave_3_per_point62=y = oy*fov/oz + 0.5; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; diff --git a/presets/presets_milkdrop_200/yin + Geiss - 240 - Electric universe (Bkg Mix).milk b/presets/presets_milkdrop_200/yin + Geiss - 240 - Electric universe (Bkg Mix).milk new file mode 100755 index 0000000000..2e3dc3172a --- /dev/null +++ b/presets/presets_milkdrop_200/yin + Geiss - 240 - Electric universe (Bkg Mix).milk @@ -0,0 +1,352 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.0 +fDecay=0.8 +fVideoEchoZoom=13.693630 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.2 +fWaveScale=0.532384 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.0 +fWarpScale=1.430768 +fZoomExponent=0.880200 +fShader=0.330001 +zoom=1.000489 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.341546 +sx=0.999900 +sy=0.999800 +wave_r=1.0 +wave_g=1.0 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.3 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=5.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.25 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=ox=.1*cos(sample*6.2831); +wave_0_per_point2=oy=.35*sin(sample*6.2831)*1.2; +wave_0_per_point3=x=.5+ox*cos(q8+1.0467)-oy*sin(q8+1.0467); +wave_0_per_point4=y=.5+ox*sin(q8+1.0467)+oy*cos(q8+1.0467); +wave_0_per_point5=r=abs(sample-.5); +wave_0_per_point6=g=abs(sample-.5); +wave_0_per_point7=b=abs(sample-.5); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=ox=.1*cos(sample*6.2831); +wave_1_per_point2=oy=.35*sin(sample*6.2831)*1.2; +wave_1_per_point3=x=.5+ox*cos(q8)-oy*sin(q8); +wave_1_per_point4=y=.5+ox*sin(q8)+oy*cos(q8); +wave_1_per_point5=r=abs(sample-.5); +wave_1_per_point6=g=abs(sample-.5); +wave_1_per_point7=b=abs(sample-.5); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=ox=.1*cos(sample*6.2831); +wave_2_per_point2=oy=.35*sin(sample*6.2831)*1.2; +wave_2_per_point3=x=.5+ox*cos(q8+2.0933)-oy*sin(q8+2.0933); +wave_2_per_point4=y=.5+ox*sin(q8+2.0933)+oy*cos(q8+2.0933); +wave_2_per_point5=r=abs(sample-.5); +wave_2_per_point6=g=abs(sample-.5); +wave_2_per_point7=b=abs(sample-.5); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.030300 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=0.470000 +wavecode_3_a=1.0 +wave_3_per_frame1=fbx=.5+q1*cos(6.2831/3)-q2*sin(6.2831/3); +wave_3_per_frame2=fby=.5+q1*sin(6.2831/3)+q2*cos(6.2831/3); +wave_3_per_frame3=ox=(q1+.5+fbx)*.5; +wave_3_per_frame4=oy=(q2+.5+fby)*.5; +wave_3_per_frame5=nx=.5+(ox-.5)*cos(q8)-(oy-.5)*sin(q8); +wave_3_per_frame6=ny=.5+(ox-.5)*sin(q8)+(oy-.5)*cos(q8); +wave_3_per_frame7=t1=nx; +wave_3_per_frame8=t2=ny; +wave_3_per_frame9=nx=.5+(fbx-.5)*cos(q8)-(fby-.5)*sin(q8); +wave_3_per_frame10=ny=.5+(fbx-.5)*sin(q8)+(fby-.5)*cos(q8); +wave_3_per_frame11=t3=sqrt(sqr(ox-fbx)+sqr(oy-fby)); +wave_3_per_frame12=t4=sqrt(q1*q1+q2*q2)*.5; +wave_3_per_frame13=t5=atan2(t2-ny,t1-nx); +wave_3_per_frame14=b=b+.2*(1-q5) +wave_3_per_point1=v1=t3*(1+.3*(1+q7)*value1*(1-sqr(2*abs(sample-.5))))*cos(3.1415*sample); +wave_3_per_point2=v2=t4*(1+.3*(1+q7)*value2*(1-sqr(2*abs(sample-.5))))*sin(3.1415*sample); +wave_3_per_point3=v2=v2*pow((1-abs(sample-.5)),1.3); +wave_3_per_point4=a=max(q7,.15*abs(cos(time*4.32+.63+sin(time*7.3+1.07)))*( 1-sqrt(2*abs(sample-.5)))); +wave_3_per_point5=nx=v1*cos(t5)-v2*sin(t5); +wave_3_per_point6=ny=v1*sin(t5)+v2*cos(t5); +wave_3_per_point7=x=nx+t1; +wave_3_per_point8=y=ny+t2; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.999999 +shapecode_0_r=0.050000 +shapecode_0_g=0.050000 +shapecode_0_b=0.9 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.4 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.050330 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.050000 +shapecode_1_b=0.050000 +shapecode_1_a=1.0 +shapecode_1_r2=0.400001 +shapecode_1_g2=0.020000 +shapecode_1_b2=0.020000 +shapecode_1_a2=0.1 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x=q1*cos(q8+1.0467)-q2*sin(q8+1.0467)+.5; +shape_1_per_frame2=y=q1*sin(q8+1.0467)+q2*cos(q8+1.0467)+.5; +shape_1_per_frame3=rad=.03+.02*q5+q7*.07; +shape_1_per_frame4=b=b+0.2*(1-q5); +shape_1_per_frame5=b2=b2+0.2*(1-q5); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.049832 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.050000 +shapecode_2_b=0.050000 +shapecode_2_a=1.0 +shapecode_2_r2=0.400001 +shapecode_2_g2=0.020000 +shapecode_2_b2=0.020000 +shapecode_2_a2=0.1 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x=q1*cos(q8+2.0933)-q2*sin(q8+2.0933)+.5; +shape_2_per_frame2=y=q1*sin(q8+2.0933)+q2*cos(q8+2.0933)+.5; +shape_2_per_frame3= +shape_2_per_frame4=rad=.03+.02*q5+q7*.07; +shape_2_per_frame5=b=b+0.2*(1-q5); +shape_2_per_frame6=b2=b2+0.2*(1-q5); +shapecode_3_enabled=1 +shapecode_3_sides=50 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.049832 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.050000 +shapecode_3_b=0.050000 +shapecode_3_a=1.0 +shapecode_3_r2=0.400001 +shapecode_3_g2=0.020000 +shapecode_3_b2=0.020000 +shapecode_3_a2=0.1 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=q1*cos(q8)-q2*sin(q8)+.5; +shape_3_per_frame2=y=q1*sin(q8)+q2*cos(q8)+.5; +shape_3_per_frame3=rad=.03+.02*q5+q7*.07; +shape_3_per_frame4=b=b+0.2*(1-q5); +shape_3_per_frame5=b2=b2+0.2*(1-q5); +per_frame_1=// -------------------------------- beat detection code ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.75,sure); +per_frame_3=interval=if(equal(interval,0),.7*FPS,interval); +per_frame_4=avginterval=if(equal(avginterval,0),.7*FPS,avginterval); +per_frame_5=lockinterval=if(equal(lockinterval,0),.7*FPS,lockinterval ); +per_frame_6=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_7=dbass=(bass-pbass)*FPS; +per_frame_8=beat=below(dbass,0)*above(pdbass,0)*above(bass,.95*avgbass)*above(frame-lastbeat,FPS/3); +per_frame_9=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_10=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_11=sure=max(.5,sure); +per_frame_12=avgbass=.995*avgbass+.005*bass; +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=min(200,maxdbass); +per_frame_15=maxdbass=max(.02,maxdbass); +per_frame_16=interval=if(beat*below(frame-lastbeat,1.8*interval), ((frame-lastbeat)*.25+.75*interval),interval); +per_frame_17=lastbeat=if((1-force)*beat+equal(lastbeat+interval,frame),frame,lastbeat); +per_frame_18=avginterval=if(beat,.9*avginterval+.1*interval, avginterval); +per_frame_19=lockinterval=if(beat,.9*lockinterval+.1*avginterval,lockinterval); +per_frame_20=pbass=bass; +per_frame_21=pdbass=dbass; +per_frame_22=bpm=60*FPS*.3333*( ((2*(1-sure))/interval)+((2*sure)/avginterval)+(1/lockinterval) ); +per_frame_23=phase=min( (frame-lastbeat)/(.333*(2*sure*avginterval+2*(1-sure)*interval+lockinterval)), 1 ); +per_frame_24=beat=if(equal(phase,0),1,beat); +per_frame_25=interval=min(interval,.7*FPS); +per_frame_26=avginterval=min(avginterval,.7*FPS); +per_frame_27=lockinterval=min(lockinterval,.7*FPS); +per_frame_28=// ---------------------------------------------------------------------------------------------- +per_frame_29= +per_frame_30=//warp=0; +per_frame_31=//zoom=1; +per_frame_32=q1=.1*cos(time); +per_frame_33=q2=.35*sin(time)*1.2; +per_frame_34=q8=time*.1; +per_frame_35=q7=beat; +per_frame_36=q6=(time/6.2831-int(time/6.2831)); +per_frame_37=q5=abs(q6*6.2831-3.1415)/3.1415; +per_frame_38=monitor=q6; +warp_1=`sampler sampler_smalltiled_electric_nebula; +warp_2=`float4 texsize_smalltiled_electric_nebula; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_8=` +warp_9=` // this creates an endless texture zoom: +warp_10=` { // the { } block creates a local, temporary scope for any new variables +warp_11=` float t = frac(time*0.5); +warp_12=` float zoom1 = pow(0.5, t); +warp_13=` float zoom2 = zoom1*2; +warp_14=` float2 uv1 = (uv-0.5) * zoom1 + 0.5; +warp_15=` float2 uv2 = (uv-0.5) * zoom2 + 0.5; +warp_16=` float3 c = tex2D(sampler_smalltiled_electric_nebula, +warp_17=` uv1*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz; +warp_18=` float3 c2 = tex2D(sampler_smalltiled_electric_nebula, +warp_19=` uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz; +warp_20=` c = lerp(c, c2, t); +warp_21=` c *= saturate(rad*1.3)*1.1; //darken @ center +warp_22=` ret = lerp(ret, c, 0.15); +warp_23=` } +warp_24=` +warp_25=` // darken over time +warp_26=` ret *= 0.80; //or try: ret -= 0.004; +warp_27=` +warp_28=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = lerp(ret, float3(0.03,0.03,0.70), 0.3);// - 0.25*rad); +comp_5=` ret += (GetBlur1(uv) - blur1_min)*2; +comp_6=` +comp_7=` +comp_8=` //ret *= 0.67 + 0.33*hue_shader; //old hue shader effect +comp_9=`} diff --git a/presets/presets_milkdrop_200/yin - 250 - Artificial poles of the continuum.milk b/presets/presets_milkdrop_200/yin - 250 - Artificial poles of the continuum.milk new file mode 100755 index 0000000000..3acbc6c205 --- /dev/null +++ b/presets/presets_milkdrop_200/yin - 250 - Artificial poles of the continuum.milk @@ -0,0 +1,388 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.280000 +fDecay=0.8 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.321288 +fWarpScale=1.986883 +fZoomExponent=0.880200 +fShader=1.0 +zoom=0.999800 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=1.0 +ob_g=1.0 +ob_b=0.5 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.3 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=4.586357 +nMotionVectorsY=3.233833 +mv_dx=0.122040 +mv_dy=0.156041 +mv_l=0.211692 +mv_r=0.455835 +mv_g=0.481765 +mv_b=0.328534 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=ax = 10*(.5*(sin(5.234+100*sample)+1))*cos(200*6.2831*sample+ 3.14*sample+2.45); +wave_0_per_point2=ay = 10*(.5*(sin(100*sample+0.456)+1))*sin(100*6.2831*sample+ 3.14*sample+1.12); +wave_0_per_point3=az = 10*.5*(sin(3.12+100*sample)+1)*cos(300*6.2831*sample +3.14*sample+.95); +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=bx = ax; +wave_0_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_0_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_0_per_point9= +wave_0_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_0_per_point11=ay = by; +wave_0_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_0_per_point13= +wave_0_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_0_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_0_per_point16=bz = az; +wave_0_per_point17= +wave_0_per_point18=vx=bx; vy=by; vz=bz; +wave_0_per_point19= +wave_0_per_point20=x=vx/abs(vz-10)+.5; +wave_0_per_point21=y=vy/abs(vz-10)+.5; +wave_0_per_point22= +wave_0_per_point23=a=above(vz,0)*(.05*az); +wave_0_per_point24= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=ax = 10*.5*(sin(100*sample+1.865)+1)*sin(300*6.2831*sample+3.14*sample); +wave_1_per_point2=ay = 10*.5*(sin(100*sample+5.23)+1)*cos(200*6.2831*sample+ 3.14*sample+.1454); +wave_1_per_point3=az = 5*(sin(100*sample+.234)+1)*sin(400*6.2831*sample+3.14*sample+1.84); +wave_1_per_point4= +wave_1_per_point5=bx = ax; +wave_1_per_point6=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point7=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point8= +wave_1_per_point9=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point10=ay = by; +wave_1_per_point11=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point12= +wave_1_per_point13=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point14=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point15=bz = az; +wave_1_per_point16= +wave_1_per_point17=vx=bx; vy=by; vz=bz; +wave_1_per_point18= +wave_1_per_point19=x=vx/abs(vz-10)+.5; +wave_1_per_point20=y=vy/abs(vz-10)+.5; +wave_1_per_point21= +wave_1_per_point22=a=above(vz,0)*(.05*(5-abs(az))) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=0.500001 +wavecode_2_b=0.100001 +wavecode_2_a=1.0 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point3=ay = 1.3*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point4=az = 0; +wave_2_per_point5= +wave_2_per_point6=bx = ax; +wave_2_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point9= +wave_2_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point11=ay = by; +wave_2_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point13= +wave_2_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point16=bz = az; +wave_2_per_point17= +wave_2_per_point18=vx=bx; vy=by; vz=bz; +wave_2_per_point19= +wave_2_per_point20=x=vx/abs(vz-10)+.5; +wave_2_per_point21=y=vy/abs(vz-10)+.5; +wave_2_per_point22= +wave_2_per_point23=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_2_per_point24=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=0.5 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point3=ay = 0; +wave_3_per_point4=az = 1.2*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point5= +wave_3_per_point6=bx = ax; +wave_3_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point9= +wave_3_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point11=ay = by; +wave_3_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point13= +wave_3_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point16=bz = az; +wave_3_per_point17= +wave_3_per_point18=vx=bx; vy=by; vz=bz; +wave_3_per_point19= +wave_3_per_point20=x=vx/abs(vz-10)+.5; +wave_3_per_point21=y=vy/abs(vz-10)+.5; +wave_3_per_point22= +wave_3_per_point23=as=above(cos(q3-1.57)*cos(q2)*vx+sin(q3-1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_3_per_point24=a=t*(.07*(1-as)+as); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.398722 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.7 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.8 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=a=below(vz,0); +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.252282 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.691150 +shapecode_1_tex_zoom=1.500923 +shapecode_1_r=0.2 +shapecode_1_g=0.1 +shapecode_1_b=1.0 +shapecode_1_a=0.0 +shapecode_1_r2=0.040000 +shapecode_1_g2=0.050000 +shapecode_1_b2=0.4 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.543040 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=1.570700 +shapecode_2_tex_zoom=1.500990 +shapecode_2_r=0.0 +shapecode_2_g=0.5 +shapecode_2_b=0.6 +shapecode_2_a=0.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.7 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.114900 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=0.7 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=0.8 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=st=if(equal(st,0),time-131,st); +per_frame_2=mytime=time-st; +per_frame_3= +per_frame_4=phi=6.2831*(mytime+4.564)*.02; +per_frame_5=theta=6.2831*(mytime*.03+1.54); +per_frame_6=rho=6.2831*abs(sin(mytime*0)); +per_frame_7= +per_frame_8=q1=phi; +per_frame_9=q2=theta; +per_frame_10=q3=rho; +per_frame_11= +per_frame_12=ax=0; ay=0; az=-30; +per_frame_13=bx = ax; +per_frame_14=by = ay*cos(q1) - az*sin(q1); +per_frame_15=bz = ay*sin(q1) + az*cos(q1); +per_frame_16= +per_frame_17=ax = bx*cos(q2) - bz*sin(q2); +per_frame_18=ay = by; +per_frame_19=az = bx*sin(q2) + bz*cos(q2); +per_frame_20= +per_frame_21=bx = ax*cos(q3) - ay*sin(q3); +per_frame_22=by = ax*sin(q3) + ay*cos(q3); +per_frame_23=bz = az; +per_frame_24=vx=bx; vy=by; vz=bz; +per_frame_25= +per_frame_26=q7=vx/abs(vz-10)+.5; +per_frame_27=vy=-vy+1; +per_frame_28=q8=vy/abs(vz-10)+.5; +per_frame_29=q7=if(1-below(vz,0), -100,q7); +per_frame_30=q8=if(1-below(vz,0), -100,q8); +per_frame_31=ob_size=1; +per_frame_32=ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); +per_frame_33=monitor=mytime; +per_pixel_1=q=sqr(x-q7)+sqr(y-q8); +per_pixel_2=warp=below(q,.075)*(20*(.075-q)); +per_pixel_3= +per_pixel_4= diff --git a/presets/presets_milkdrop_200/yin - 253 - Artificial poles of the continuum (remix #3).milk b/presets/presets_milkdrop_200/yin - 253 - Artificial poles of the continuum (remix #3).milk new file mode 100755 index 0000000000..be35fc1989 --- /dev/null +++ b/presets/presets_milkdrop_200/yin - 253 - Artificial poles of the continuum (remix #3).milk @@ -0,0 +1,398 @@ +[preset00] +fRating=3.0 +fGammaAdj=1.630000 +fDecay=0.850000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=1.321288 +fWarpScale=1.986883 +fZoomExponent=0.880200 +fShader=1.0 +zoom=0.999800 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=1.0 +ob_g=1.0 +ob_b=0.5 +ob_a=1.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.3 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=4.586357 +nMotionVectorsY=3.233833 +mv_dx=0.122040 +mv_dy=0.156041 +mv_l=0.211692 +mv_r=0.455835 +mv_g=0.481765 +mv_b=0.328534 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=ax=cos(100*sample+43.35+sin(231.54*sample+.543)); +wave_0_per_point2=ay=sin(431*sample+2.34+cos(443.54*sample+4.23)); +wave_0_per_point3=az=sin(546*sample+74.24+sin(524.54*sample+23.987))+2*(q4+.2*time-int(q4+.2*time)); +wave_0_per_point4=az=if(above(az,1),az-2,az); +wave_0_per_point5= +wave_0_per_point6=fx = .5+.5*ax/(1-az); +wave_0_per_point7=fy = .5+.5*ay/(1-az); +wave_0_per_point8= +wave_0_per_point9=x=fx; +wave_0_per_point10=y=fy; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r=1-.5*rand(100)/100; +wave_0_per_point14=g=1-.5*rand(100)/100; +wave_0_per_point15=b=1-.5*rand(100)/100; +wave_0_per_point16= +wave_0_per_point17=a=pow((az+1)/2,3); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=sw1=below(sample,.5); +wave_1_per_point2=sample=2*(sw1*sample+(1-sw1)*(sample-.5)); +wave_1_per_point3= +wave_1_per_point4=ax = 1-3.58*sample*sw1; +wave_1_per_point5=ay = 0;//2*sin(sample*6.2831); +wave_1_per_point6=az = 0; +wave_1_per_point7= +wave_1_per_point8=bx = ax; +wave_1_per_point9=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point10=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point11= +wave_1_per_point12=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point13=ay = by; +wave_1_per_point14=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point15= +wave_1_per_point16=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point17=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point18=bz = az; +wave_1_per_point19= +wave_1_per_point20=vx=bx; vy=by; vz=bz; +wave_1_per_point21= +wave_1_per_point22=x=vx/abs(vz-10)+.5; +wave_1_per_point23=y=vy/abs(vz-10)+.5; +wave_1_per_point24= +wave_1_per_point25=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_1_per_point26=as=1; +wave_1_per_point27=a=1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=0.500001 +wavecode_2_b=0.100001 +wavecode_2_a=1.0 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=t=1; +wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point4=ay = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point5=az = 0; +wave_2_per_point6= +wave_2_per_point7=bx = ax; +wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point10= +wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point12=ay = by; +wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point14= +wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point17=bz = az; +wave_2_per_point18= +wave_2_per_point19=vx=bx; vy=by; vz=bz; +wave_2_per_point20= +wave_2_per_point21=x=vx/abs(vz-10)+.5; +wave_2_per_point22=y=vy/abs(vz-10)+.5; +wave_2_per_point23= +wave_2_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_2_per_point25=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=0.5 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=t=1; +wave_3_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point4=ay = 0; +wave_3_per_point5=az = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point6= +wave_3_per_point7=bx = ax; +wave_3_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point10= +wave_3_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point12=ay = by; +wave_3_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point14= +wave_3_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point17=bz = az; +wave_3_per_point18= +wave_3_per_point19=vx=bx; vy=by; vz=bz; +wave_3_per_point20= +wave_3_per_point21=x=vx/abs(vz-10)+.5; +wave_3_per_point22=y=vy/abs(vz-10)+.5; +wave_3_per_point23= +wave_3_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_3_per_point25=a=t*(.07*(1-as)+as); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.398722 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.7 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.8 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=//a=below(vz,0); +shape_0_per_frame21=x=.5; +shape_0_per_frame22=y=.5; +shape_0_per_frame23=rad=.1; +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.298682 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.691150 +shapecode_1_tex_zoom=1.500923 +shapecode_1_r=0.2 +shapecode_1_g=0.1 +shapecode_1_b=1.0 +shapecode_1_a=0.0 +shapecode_1_r2=0.040000 +shapecode_1_g2=0.050000 +shapecode_1_b2=0.4 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.543040 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=1.570700 +shapecode_2_tex_zoom=1.500990 +shapecode_2_r=0.0 +shapecode_2_g=0.5 +shapecode_2_b=0.6 +shapecode_2_a=0.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.7 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_2_per_frame3=b=.75*abs(sin(time*2.54+.65+sin(time*3.77+8))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.114900 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=0.7 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=0.8 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=st=if(equal(st,0),time-131,st); +per_frame_2=mytime=time-st; +per_frame_3= +per_frame_4=phi=6.2831*(mytime+4.564)*.02; +per_frame_5=theta=6.2831*(mytime*.03+1.54); +per_frame_6=rho=6.2831*abs(sin(mytime*0)); +per_frame_7= +per_frame_8=q1=phi; +per_frame_9=q2=theta; +per_frame_10=q3=rho; +per_frame_11= +per_frame_12=ax=0; ay=0; az=-30; +per_frame_13=bx = ax; +per_frame_14=by = ay*cos(q1) - az*sin(q1); +per_frame_15=bz = ay*sin(q1) + az*cos(q1); +per_frame_16= +per_frame_17=ax = bx*cos(q2) - bz*sin(q2); +per_frame_18=ay = by; +per_frame_19=az = bx*sin(q2) + bz*cos(q2); +per_frame_20= +per_frame_21=bx = ax*cos(q3) - ay*sin(q3); +per_frame_22=by = ax*sin(q3) + ay*cos(q3); +per_frame_23=bz = az; +per_frame_24=vx=bx; vy=by; vz=bz; +per_frame_25= +per_frame_26=q7=vx/abs(vz-10)+.5; +per_frame_27=vy=-vy+1; +per_frame_28=q8=vy/abs(vz-10)+.5; +per_frame_29=q7=if(1-below(vz,0), -100,q7); +per_frame_30=q8=if(1-below(vz,0), -100,q8); +per_frame_31=ob_size=1; +per_frame_32=ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); +per_frame_33=monitor=mytime; +per_frame_34=zoom=1+.015*85/FPS; diff --git a/presets/presets_milkdrop_200/yin - 280 - Coming home.milk b/presets/presets_milkdrop_200/yin - 280 - Coming home.milk new file mode 100755 index 0000000000..76bed8ba86 --- /dev/null +++ b/presets/presets_milkdrop_200/yin - 280 - Coming home.milk @@ -0,0 +1,532 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.350000 +fDecay=0.9 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002815 +fWaveScale=2.452974 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1.0 +fWarpAnimSpeed=0.010000 +fWarpScale=0.010000 +fZoomExponent=0.880200 +fShader=0.8 +zoom=0.999800 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=1.0 +wave_g=0.450000 +wave_b=0.5 +wave_x=0.630000 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.0 +ib_r=0.0 +ib_g=0.3 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=0.0 +nMotionVectorsY=0.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.050000 +mv_r=1.0 +mv_g=0.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_frame1=t5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +wave_0_per_frame2=t1=cos(-t5); +wave_0_per_frame3=t2=sin(-t5); +wave_0_per_frame4=t3=cos(t5); +wave_0_per_frame5=t4=sin(t5); +wave_0_per_frame6=t8=2*(q4+.2*time-int(q4+.2*time)); +wave_0_per_point1=ax=cos(100*sample+43.35+sin(231.54*sample+.543)); +wave_0_per_point2=ay=sin(431*sample+2.34+cos(443.54*sample+4.23)); +wave_0_per_point3=az=sin(546*sample+74.24+sin(524.54*sample+23.987))+ t8; +wave_0_per_point4=az=if(above(az,1),az-2,az); +wave_0_per_point5=c=1/(1-az); +wave_0_per_point6=fx = .5*(1+ax*c); +wave_0_per_point7=ox=-.6366*t5+fx; +wave_0_per_point8=oy = .5*(1+ay*c); +wave_0_per_point9= +wave_0_per_point10=x=.5+(ox-.5)*t1-(oy-.5)*t2; +wave_0_per_point11=y=.5+(ox-.5)*t2+(oy-.5)*t1; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r=1-.5*rand(100)/100; +wave_0_per_point15=g=1-.5*rand(100)/100; +wave_0_per_point16=b=1-.5*rand(100)/100; +wave_0_per_point17= +wave_0_per_point18=// hide occluded stars +wave_0_per_point19=fx=.5+.9*t4; +wave_0_per_point20=fy=.5-1.32*t3; +wave_0_per_point21=viz=above( sqr(x-fx)+sqr(y-fy), 1.2 ); +wave_0_per_point22=fx=(q5-.5)*.2+.5; +wave_0_per_point23=viz2=above( sqr(x-fx)+sqr(y-.5), .002 ); +wave_0_per_point24=a=viz*viz2*pow((az+1)/2,3); +wavecode_1_enabled=1 +wavecode_1_samples=256 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=1.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=// left gauge (bass) +wave_1_per_frame2=bass_vol=.93*bass_vol+.07*bass_att; +wave_1_per_frame3=t4=min(bass_vol,1.351); +wave_1_per_frame4=clip=if(above(bass_vol,1.1),1,0); +wave_1_per_frame5=phase=(clip)*(1-lastcip)*frame+clip*lastclip*phase+(1-clip)*lastclip*0; +wave_1_per_frame6=t4=if(clip,t4*(.97+rand(20)/1000),t4); +wave_1_per_frame7=t3=clip; +wave_1_per_frame8=t2=phase; +wave_1_per_frame9=lastclip=clip; +wave_1_per_frame10=t5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +wave_1_per_frame11=t6=.0068; +wave_1_per_frame12=t7=.2; +wave_1_per_frame13=t8=.05; +wave_1_per_point1=sw0=below(sample,.1429); +wave_1_per_point2=sw1=(1-sw0)*below(sample,.2858); +wave_1_per_point3=sw2=(1-sw0)*(1-sw1)*below(sample,.4286); +wave_1_per_point4=sw3=(1-sw0)*(1-sw1)*(1-sw2)*below(sample,.5718); +wave_1_per_point5=sw4=above(sample,.5717)*below(sample,.7143); +wave_1_per_point6=sw5=above(sample,.7142)*below(sample,.8571); +wave_1_per_point7=sw6=above(sample,.8570); +wave_1_per_point8= +wave_1_per_point9= +wave_1_per_point10=// set transparencies before remapping the sample +wave_1_per_point11=a=(below(sample,.14)+above(sample,.15))*(below(sample,.56)+ above(sample,.58))*( below(sample,.71)+above(sample,.72) )*(below(sample,.85)+above(sample,.87)); +wave_1_per_point12= +wave_1_per_point13=// normalize sample value to 1 +wave_1_per_point14=sample=(sw0*sample+sw1*(sample-.1429) + sw2*(sample-.2858)+sw3*(sample-.4286)+ sw4*(sample-.5717)+sw5*(sample-.7142)+sw6*(sample-.8570))*7; +wave_1_per_point15= +wave_1_per_point16=x=sw0*11*cos(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_1_per_point17=y=sw0*11*sin(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_1_per_point18= +wave_1_per_point19=x=x+sw1*(-1+10*sample); +wave_1_per_point20=y=y+sw1*(-1+sample); +wave_1_per_point21= +wave_1_per_point22=x=x+sw2*(9-10*sample); +wave_1_per_point23=y=y+sw2*(sample); +wave_1_per_point24= +wave_1_per_point25=x=x-sw3; +wave_1_per_point26=y=y+sw3*(1-2*sample); +wave_1_per_point27=t1=.5*cos(6.2831*sample); +wave_1_per_point28=t2=.5*sin(6.2831*sample); +wave_1_per_point29= +wave_1_per_point30=x=x+sw4*(-6.8+t1); +wave_1_per_point31=y=y+sw4*(-5.8+t2); +wave_1_per_point32= +wave_1_per_point33=x=x+sw5*(8.5+t1); +wave_1_per_point34=y=y+sw5*(-3.5+t2); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=// rotation (1.26 to -.3) +wave_1_per_point38=angle=(1.26-t4)*3.14; +wave_1_per_point39=t1=cos(angle); +wave_1_per_point40=t2=sin(angle); +wave_1_per_point41=ox=x; +wave_1_per_point42=oy=y; +wave_1_per_point43=x=(sw0+sw4+sw5)*x+(sw1+sw2+sw3)*(ox*t1-oy*t2); +wave_1_per_point44=y=(sw0+sw4+sw5)*y+(sw1+sw2+sw3)*(ox*t2+oy*t1); +wave_1_per_point45= +wave_1_per_point46=x=x+sw6*(10*cos(1.5*(1-sample)*3.1415)); +wave_1_per_point47=y=y+sw6*(10*sin(1.5*(1-sample)*3.1415)); +wave_1_per_point48= +wave_1_per_point49=x=x*t6 +t7; +wave_1_per_point50=y=y*t6 +t8; +wave_1_per_point51= +wave_1_per_point52=ox=x; +wave_1_per_point53=oy=y; +wave_1_per_point54=c=cos(t5); +wave_1_per_point55=s=sin(t5); +wave_1_per_point56=x=.5+(ox-.5)*c-(oy-.5)*s; +wave_1_per_point57=y=.5+(ox-.5)*s+(oy-.5)*c; +wave_1_per_point58= +wave_1_per_point59=// compensate for y-axis pixel-distortion (scale y by 1.38 after all rotations around final center of dial) +wave_1_per_point60=t2=.5+(t7-.5)*s+(t8-.5)*c; +wave_1_per_point61=y=(y-t2)*1.38+t2; +wave_1_per_point62= +wave_1_per_point63=c1=1; // dial colors +wave_1_per_point64=c2=below(sample,.6)+above(sample,.6)*((1-sample)/.4)*.5; +wave_1_per_point65=c3=above(sample,.6)*below(sample,.8)*(sample-.6)*.25/.2; +wave_1_per_point66=c4=pow(sample,4); +wave_1_per_point67= +wave_1_per_point68=c5=.15+.85*pow(1-abs(sample-.5)/.5,3); +wave_1_per_point69=c6=abs(cos(6.2831*(frame-t2)/90)); +wave_1_per_point70=r=(sw1+sw2+sw3)*.8+(sw4+sw5)*.5+sw0*c5+sw6*c1; +wave_1_per_point71=g=(sw1+sw2+sw3)*.4+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c2; +wave_1_per_point72=b=(sw1+sw2+sw3)*.2+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c3; +wave_1_per_point73=a=sw6*(c4-a)+a; +wavecode_2_enabled=1 +wavecode_2_samples=256 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=1.0 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=// center gauge (mid) size,x,y +wave_2_per_frame2=mid_vol=.93*mid_vol+.07*mid_att; +wave_2_per_frame3=t4=min(mid_vol,1.351); +wave_2_per_frame4=clip=if(above(mid_vol,1.1),1,0); +wave_2_per_frame5=phase=(clip)*(1-lastcip)*frame+clip*lastclip*phase+(1-clip)*lastclip*0; +wave_2_per_frame6=t4=if(clip,t4*(.97+rand(20)/1000),t4); +wave_2_per_frame7=t3=clip; +wave_2_per_frame8=t2=phase; +wave_2_per_frame9=lastclip=clip; +wave_2_per_frame10=t5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +wave_2_per_frame11=t6=.008; +wave_2_per_frame12=t7=.5; +wave_2_per_frame13=t8=.1; +wave_2_per_point1=sw0=below(sample,.1429); +wave_2_per_point2=sw1=(1-sw0)*below(sample,.2858); +wave_2_per_point3=sw2=(1-sw0)*(1-sw1)*below(sample,.4286); +wave_2_per_point4=sw3=(1-sw0)*(1-sw1)*(1-sw2)*below(sample,.5718); +wave_2_per_point5=sw4=above(sample,.5717)*below(sample,.7143); +wave_2_per_point6=sw5=above(sample,.7142)*below(sample,.8571); +wave_2_per_point7=sw6=above(sample,.8570); +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=// set transparencies before remapping the sample +wave_2_per_point11=a=(below(sample,.14)+above(sample,.15))*(below(sample,.56)+ above(sample,.58))*( below(sample,.71)+above(sample,.72) )*(below(sample,.85)+above(sample,.87)); +wave_2_per_point12= +wave_2_per_point13=// normalize sample value to 1 +wave_2_per_point14=sample=(sw0*sample+sw1*(sample-.1429) + sw2*(sample-.2858)+sw3*(sample-.4286)+ sw4*(sample-.5717)+sw5*(sample-.7142)+sw6*(sample-.8570))*7; +wave_2_per_point15= +wave_2_per_point16=x=sw0*11*cos(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_2_per_point17=y=sw0*11*sin(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_2_per_point18= +wave_2_per_point19=x=x+sw1*(-1+10*sample); +wave_2_per_point20=y=y+sw1*(-1+sample); +wave_2_per_point21= +wave_2_per_point22=x=x+sw2*(9-10*sample); +wave_2_per_point23=y=y+sw2*(sample); +wave_2_per_point24= +wave_2_per_point25=x=x-sw3; +wave_2_per_point26=y=y+sw3*(1-2*sample); +wave_2_per_point27=t1=.5*cos(6.2831*sample); +wave_2_per_point28=t2=.5*sin(6.2831*sample); +wave_2_per_point29= +wave_2_per_point30=x=x+sw4*(-6.8+t1); +wave_2_per_point31=y=y+sw4*(-5.8+t2); +wave_2_per_point32= +wave_2_per_point33=x=x+sw5*(8.5+t1); +wave_2_per_point34=y=y+sw5*(-3.5+t2); +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37=// rotation (1.26 to -.3) +wave_2_per_point38=angle=(1.26-t4)*3.14; +wave_2_per_point39=t1=cos(angle); +wave_2_per_point40=t2=sin(angle); +wave_2_per_point41=ox=x; +wave_2_per_point42=oy=y; +wave_2_per_point43=x=(sw0+sw4+sw5)*x+(sw1+sw2+sw3)*(ox*t1-oy*t2); +wave_2_per_point44=y=(sw0+sw4+sw5)*y+(sw1+sw2+sw3)*(ox*t2+oy*t1); +wave_2_per_point45= +wave_2_per_point46=x=x+sw6*(10*cos(1.5*(1-sample)*3.1415)); +wave_2_per_point47=y=y+sw6*(10*sin(1.5*(1-sample)*3.1415)); +wave_2_per_point48= +wave_2_per_point49=x=x*t6 +t7; +wave_2_per_point50=y=y*t6 +t8; +wave_2_per_point51= +wave_2_per_point52=ox=x; +wave_2_per_point53=oy=y; +wave_2_per_point54=c=cos(t5); +wave_2_per_point55=s=sin(t5); +wave_2_per_point56=x=.5+(ox-.5)*c-(oy-.5)*s; +wave_2_per_point57=y=.5+(ox-.5)*s+(oy-.5)*c; +wave_2_per_point58= +wave_2_per_point59=// compensate for y-axis pixel-distortion (scale y by 1.38 after all rotations around final center of dial) +wave_2_per_point60=t2=.5+(t7-.5)*s+(t8-.5)*c; +wave_2_per_point61=y=(y-t2)*1.38+t2; +wave_2_per_point62= +wave_2_per_point63=c1=1; // dial colors +wave_2_per_point64=c2=below(sample,.6)+above(sample,.6)*((1-sample)/.4)*.5; +wave_2_per_point65=c3=above(sample,.6)*below(sample,.8)*(sample-.6)*.25/.2; +wave_2_per_point66=c4=pow(sample,4); +wave_2_per_point67= +wave_2_per_point68=c5=.15+.85*pow(1-abs(sample-.5)/.5,3); +wave_2_per_point69=c6=abs(cos(6.2831*(frame-t2)/90)); +wave_2_per_point70=r=(sw1+sw2+sw3)*.8+(sw4+sw5)*.5+sw0*c5+sw6*c1; +wave_2_per_point71=g=(sw1+sw2+sw3)*.4+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c2; +wave_2_per_point72=b=(sw1+sw2+sw3)*.2+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c3; +wave_2_per_point73=a=sw6*(c4-a)+a; +wavecode_3_enabled=1 +wavecode_3_samples=256 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=1.0 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=// right gauge (treb) +wave_3_per_frame2=treb_vol=.93*treb_vol+.07*treb_att; +wave_3_per_frame3=t4=min(treb_vol,1.351); +wave_3_per_frame4=clip=if(above(treb_vol,1.1),1,0); +wave_3_per_frame5=phase=(clip)*(1-lastcip)*frame+clip*lastclip*phase+(1-clip)*lastclip*0; +wave_3_per_frame6=t4=if(clip,t4*(.97+rand(20)/1000),t4); +wave_3_per_frame7=t3=clip; +wave_3_per_frame8=t2=phase; +wave_3_per_frame9=lastclip=clip; +wave_3_per_frame10=t5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +wave_3_per_frame11=t6=.0068; +wave_3_per_frame12=t7=.8; +wave_3_per_frame13=t8=.05; +wave_3_per_point1=sw0=below(sample,.1429); +wave_3_per_point2=sw1=(1-sw0)*below(sample,.2858); +wave_3_per_point3=sw2=(1-sw0)*(1-sw1)*below(sample,.4286); +wave_3_per_point4=sw3=(1-sw0)*(1-sw1)*(1-sw2)*below(sample,.5718); +wave_3_per_point5=sw4=above(sample,.5717)*below(sample,.7143); +wave_3_per_point6=sw5=above(sample,.7142)*below(sample,.8571); +wave_3_per_point7=sw6=above(sample,.8570); +wave_3_per_point8= +wave_3_per_point9= +wave_3_per_point10=// set transparencies before remapping the sample +wave_3_per_point11=a=(below(sample,.14)+above(sample,.15))*(below(sample,.56)+ above(sample,.58))*( below(sample,.71)+above(sample,.72) )*(below(sample,.85)+above(sample,.87)); +wave_3_per_point12= +wave_3_per_point13=// normalize sample value to 1 +wave_3_per_point14=sample=(sw0*sample+sw1*(sample-.1429) + sw2*(sample-.2858)+sw3*(sample-.4286)+ sw4*(sample-.5717)+sw5*(sample-.7142)+sw6*(sample-.8570))*7; +wave_3_per_point15= +wave_3_per_point16=x=sw0*11*cos(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_3_per_point17=y=sw0*11*sin(6.2831*sample+4.7715-(q5-.5)*.86-t5); +wave_3_per_point18= +wave_3_per_point19=x=x+sw1*(-1+10*sample); +wave_3_per_point20=y=y+sw1*(-1+sample); +wave_3_per_point21= +wave_3_per_point22=x=x+sw2*(9-10*sample); +wave_3_per_point23=y=y+sw2*(sample); +wave_3_per_point24= +wave_3_per_point25=x=x-sw3; +wave_3_per_point26=y=y+sw3*(1-2*sample); +wave_3_per_point27=t1=.5*cos(6.2831*sample); +wave_3_per_point28=t2=.5*sin(6.2831*sample); +wave_3_per_point29= +wave_3_per_point30=x=x+sw4*(-6.8+t1); +wave_3_per_point31=y=y+sw4*(-5.8+t2); +wave_3_per_point32= +wave_3_per_point33=x=x+sw5*(8.5+t1); +wave_3_per_point34=y=y+sw5*(-3.5+t2); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=// rotation (1.26 to -.3) +wave_3_per_point38=angle=(1.26-t4)*3.14; +wave_3_per_point39=t1=cos(angle); +wave_3_per_point40=t2=sin(angle); +wave_3_per_point41=ox=x; +wave_3_per_point42=oy=y; +wave_3_per_point43=x=(sw0+sw4+sw5)*x+(sw1+sw2+sw3)*(ox*t1-oy*t2); +wave_3_per_point44=y=(sw0+sw4+sw5)*y+(sw1+sw2+sw3)*(ox*t2+oy*t1); +wave_3_per_point45= +wave_3_per_point46=x=x+sw6*(10*cos(1.5*(1-sample)*3.1415)); +wave_3_per_point47=y=y+sw6*(10*sin(1.5*(1-sample)*3.1415)); +wave_3_per_point48= +wave_3_per_point49=x=x*t6 +t7; +wave_3_per_point50=y=y*t6 +t8; +wave_3_per_point51= +wave_3_per_point52=ox=x; +wave_3_per_point53=oy=y; +wave_3_per_point54=c=cos(t5); +wave_3_per_point55=s=sin(t5); +wave_3_per_point56=x=.5+(ox-.5)*c-(oy-.5)*s; +wave_3_per_point57=y=.5+(ox-.5)*s+(oy-.5)*c; +wave_3_per_point58= +wave_3_per_point59=// compensate for y-axis pixel-distortion (scale y by 1.38 after all rotations around final center of dial) +wave_3_per_point60=t2=.5+(t7-.5)*s+(t8-.5)*c; +wave_3_per_point61=y=(y-t2)*1.38+t2; +wave_3_per_point62= +wave_3_per_point63=c1=1; // dial colors +wave_3_per_point64=c2=below(sample,.6)+above(sample,.6)*((1-sample)/.4)*.5; +wave_3_per_point65=c3=above(sample,.6)*below(sample,.8)*(sample-.6)*.25/.2; +wave_3_per_point66=c4=pow(sample,4); +wave_3_per_point67= +wave_3_per_point68=c5=.15+.85*pow(1-abs(sample-.5)/.5,3); +wave_3_per_point69=c6=abs(cos(6.2831*(frame-t2)/90)); +wave_3_per_point70=r=(sw1+sw2+sw3)*.8+(sw4+sw5)*.5+sw0*c5+sw6*c1; +wave_3_per_point71=g=(sw1+sw2+sw3)*.4+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c2; +wave_3_per_point72=b=(sw1+sw2+sw3)*.2+(sw4+sw5)*.5+sw0*c5*(1+t3*(c6-1))+sw6*c3; +wave_3_per_point73=a=sw6*(c4-a)+a; +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.950000 +shapecode_0_rad=0.159626 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=0.7 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=0.8 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=q5; +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.660000 +shapecode_1_rad=0.110420 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=6.622948 +shapecode_1_r=0.2 +shapecode_1_g=0.2 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.3 +shapecode_1_g2=0.3 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=x=(q5-.5)*.2+.5; +shape_1_per_frame2=y=.5; +shape_1_per_frame3= +shape_1_per_frame4= +shape_1_per_frame5= +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.510000 +shapecode_2_y=0.640000 +shapecode_2_rad=0.110420 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=6.622948 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.9 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=x=(q5-.5)*.18+.5; +shape_2_per_frame2=y=.49; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.320343 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=3.141593 +shapecode_3_tex_zoom=0.550443 +shapecode_3_r=0.230000 +shapecode_3_g=0.230000 +shapecode_3_b=0.230000 +shapecode_3_a=1.0 +shapecode_3_r2=0.050000 +shapecode_3_g2=0.050000 +shapecode_3_b2=0.050000 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=1.0 +shape_3_per_frame1=rad=2.2; +shape_3_per_frame2=c5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +shape_3_per_frame3=x=.3+.9*sin(c5)+.2; +shape_3_per_frame4=y=.44-1.32*cos(c5)+.06; +shape_3_per_frame5=ang=-c5; +per_frame_1=cont_bass=cont_bass*.93+bass_att*.07; +per_frame_2=cont_mid=cont_mid*.93+mid_att*.07; +per_frame_3=cont_treb=cont_treb*.93+treb_att*.07; +per_frame_4=cont_vol=.993*cont_vol+.0023*(bass+mid+treb); +per_frame_5= +per_frame_6=max_cont_bass=max(cont_bass,max_cont_bass*.9999); +per_frame_7=max_cont_mid=max(cont_mid,max_cont_mid); +per_frame_8=max_cont_treb=max(cont_treb,max_cont_treb); +per_frame_9= +per_frame_10= +per_frame_11=q4=cont_vol; +per_frame_12=decay=min(1,.8+.05*pow(q4,3)); +per_frame_13=q5=-.31415*sin(time*.23+.423+cos(time*.21+1.54)); +per_frame_14=c=cos(q5); +per_frame_15=s=sin(q5); +per_frame_16=q6=.5+(.2-.5)*s+(.05-.5)*c; +per_frame_17=q7=.5+(.5-.5)*s+(.1-.5)*c; +per_frame_18=q8=.5+(.8-.5)*s+(.05-.5)*c; +per_frame_19=sunx=if(equal(sunx,0),.25+rand(50)/100,sunx); +per_frame_20=sunx=sunx+.001*s*q4; +per_frame_21=sunx=if(equal(sunx,0),sign(s)*.001,sunx); +per_frame_22=q5=sunx; +per_frame_23= +per_pixel_1=warp=below(sqr(x-q5)+sqr(y-.05),.01)*.15; diff --git a/presets/presets_milkdrop_200/yin - 300 - Daydreamer.milk b/presets/presets_milkdrop_200/yin - 300 - Daydreamer.milk new file mode 100755 index 0000000000..ef6c346255 --- /dev/null +++ b/presets/presets_milkdrop_200/yin - 300 - Daydreamer.milk @@ -0,0 +1,557 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.490000 +fDecay=0.990000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.016446 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=rand(100)/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.527700 +shapecode_2_ang=3.141594 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.651899 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.099979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.344800 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=zoom=1; +per_frame_2=warp=0; +per_frame_3=ib_size=0; +per_frame_4=ib_a=0; +per_frame_5=ob_size=1; +per_frame_6=ob_a=.01+.02*(FPS/100); +per_frame_7=vol=min(.99*vol+.01*(bass+mid+treb),3); +per_frame_8=c1=.333*(vol+1)*time+3.34; +per_frame_9=c2=.87*time+2.97; +per_frame_10=ob_r=abs(cos(c1+sin(c2))); +per_frame_11=ob_g=abs(sin(c1+cos(c2))); +per_frame_12=ob_b=abs(sin(c1+sin(c2))); +per_frame_13= +per_frame_14=q1=.18*cos(.354*time+.54+cos(.521*time+1.432)); // spiral bend +per_frame_15=q2=.075; // master y-offset +per_frame_16=q3=sqrt(.995*(.5*time-int(.5*time))); // glow phase +per_pixel_1=zoom=zoom+below(rad,.45)*sqr(1-rad/.45)*5; diff --git a/presets/presets_milkdrop_200/yin - 311 - Ocean of Light (bouncing off mix).milk b/presets/presets_milkdrop_200/yin - 311 - Ocean of Light (bouncing off mix).milk new file mode 100755 index 0000000000..fb0bffccac --- /dev/null +++ b/presets/presets_milkdrop_200/yin - 311 - Ocean of Light (bouncing off mix).milk @@ -0,0 +1,411 @@ +[preset00] +fRating=1.0 +fGammaAdj=1.350000 +fDecay=0.980000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.411715 +fWaveSmoothing=0.9 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=1.0 +zoom=0.999999 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.920000 +ib_size=0.0 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.0 +wavecode_0_r=0.5 +wavecode_0_g=0.6 +wavecode_0_b=0.9 +wavecode_0_a=1.0 +wave_0_per_frame1=a=.3; +wave_0_per_frame2= +wave_0_per_frame3=t1=sin(q5); +wave_0_per_frame4=t2=cos(q5); +wave_0_per_frame5=t3=sin(q6); +wave_0_per_frame6=t4=cos(q6); +wave_0_per_frame7= +wave_0_per_point1=ax=q4*(-1+2*sample); +wave_0_per_point2=ay=q2; +wave_0_per_point3=coef=sqrt(sin(3.1415*sample)); +wave_0_per_point4=az=q3+q4*(rand(10000)*.0001)*coef; +wave_0_per_point5= +wave_0_per_point6=ay=ay+.03*q4*sin(q4*.5*ax+q4*.75*(az-q3)+2*time+sin(q4*1.25*ax+q4*.75*(az-q3)+3*time)); +wave_0_per_point7=dist=sqrt( sqr(ax)+sqr(az-q3) ); +wave_0_per_point8=ay=ay+.05*sin(q4*2.5*dist-3.1415*time); +wave_0_per_point9= +wave_0_per_point10=tcx=q4*(-1+.3333*(q7+.5)); +wave_0_per_point11=tcz=q3+q4*(-1+.3333*(q8+.5)); +wave_0_per_point12=dist=sqrt( sqr(ax-tcx)+sqr(az-tcz) ); +wave_0_per_point13=sw=below(dist,.5*q4)*pow( (1-dist/(.5*q4)),8); +wave_0_per_point14=ay=ay-q4*sw*pow(q1,3); +wave_0_per_point15=a=a+sqrt(q1*sw); +wave_0_per_point16= +wave_0_per_point17=ox = ax*t2 - (az-q3)*t1; +wave_0_per_point18=oy=ay; +wave_0_per_point19=oz = q3 + ax*t1 + (az-q3)*t2; +wave_0_per_point20= +wave_0_per_point21=az=q3+(oz-q3)*t4-(oy-q2)*t3; +wave_0_per_point22=ay=q2+(oz-q3)*t3+(oy-q2)*t4; +wave_0_per_point23=ax=ox; +wave_0_per_point24= +wave_0_per_point25=invz=1/(az+100); +wave_0_per_point26=x=.5+5*ax*invz; +wave_0_per_point27=y=.5+5*ay*invz; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.0 +wavecode_1_r=0.5 +wavecode_1_g=0.6 +wavecode_1_b=0.9 +wavecode_1_a=1.0 +wave_1_per_frame1=a=.3; +wave_1_per_frame2= +wave_1_per_frame3=t1=sin(q5); +wave_1_per_frame4=t2=cos(q5); +wave_1_per_frame5=t3=sin(q6); +wave_1_per_frame6=t4=cos(q6); +wave_1_per_frame7= +wave_1_per_point1=ax=q4*(-1+2*sample); +wave_1_per_point2=ay=q2; +wave_1_per_point3=coef=sqrt(sin(3.1415*sample)); +wave_1_per_point4=az=q3+q4*(-rand(10000)*.0001)*coef; +wave_1_per_point5= +wave_1_per_point6=ay=ay+.03*q4*sin(q4*.5*ax+q4*.75*(az-q3)+2*time+sin(q4*1.25*ax+q4*.75*(az-q3)+3*time)); +wave_1_per_point7=dist=sqrt( sqr(ax)+sqr(az-q3) ); +wave_1_per_point8=ay=ay+.05*sin(q4*2.5*dist-3.1415*time); +wave_1_per_point9= +wave_1_per_point10=tcx=q4*(-1+.3333*(q7+.5)); +wave_1_per_point11=tcz=q3+q4*(-1+.3333*(q8+.5)); +wave_1_per_point12=dist=sqrt( sqr(ax-tcx)+sqr(az-tcz) ); +wave_1_per_point13=sw=below(dist,.5*q4)*pow( (1-dist/(.5*q4)),8); +wave_1_per_point14=ay=ay-q4*sw*pow(q1,3); +wave_1_per_point15=a=a+sqrt(q1*sw); +wave_1_per_point16= +wave_1_per_point17=ox = ax*t2 - (az-q3)*t1; +wave_1_per_point18=oy=ay; +wave_1_per_point19=oz = q3 + ax*t1 + (az-q3)*t2; +wave_1_per_point20= +wave_1_per_point21=az=q3+(oz-q3)*t4-(oy-q2)*t3; +wave_1_per_point22=ay=q2+(oz-q3)*t3+(oy-q2)*t4; +wave_1_per_point23=ax=ox; +wave_1_per_point24= +wave_1_per_point25=invz=1/(az+100); +wave_1_per_point26=x=.5+5*ax*invz; +wave_1_per_point27=y=.5+5*ay*invz; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.0 +wavecode_2_r=0.4 +wavecode_2_g=0.4 +wavecode_2_b=0.650000 +wavecode_2_a=1.0 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2= +wave_2_per_frame3=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame4=t8=0; +wave_2_per_frame5= +wave_2_per_frame6= +wave_2_per_frame7=t3=-1+q7*.3333+.1667; +wave_2_per_frame8=t4=-1+q8*.3333+.1667; +wave_2_per_frame9= +wave_2_per_frame10=t6=pow( q1,3); // interpolation parameter +wave_2_per_frame11= +wave_2_per_frame12=t2=sin(q5); +wave_2_per_frame13=t7=cos(q5); +wave_2_per_point1=sample=.5*sample; +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+4*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+4*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*.02*q4*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*.02*q4*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07; +wave_2_per_point23= +wave_2_per_point24=ox = cenx+(ax-cenx)*t7+(az-cenz)*t2; +wave_2_per_point25=oy=ay; +wave_2_per_point26=oz = cenz+(ax-cenx)*-t2+(az-cenz)*t7; +wave_2_per_point27= +wave_2_per_point28=ax=ox*t7-(oz-q3)*t2; +wave_2_per_point29=ay=oy; +wave_2_per_point30=az=q3+ox*t2+(oz-q3)*t7; +wave_2_per_point31= +wave_2_per_point32=oz=q3+(az-q3)*cos(q6)-(ay-q2)*sin(q6); +wave_2_per_point33=oy=q2+(az-q3)*sin(q6)+(ay-q2)*cos(q6); +wave_2_per_point34=ox=ax; +wave_2_per_point35= +wave_2_per_point36=invz=1/(oz+100); +wave_2_per_point37=x=.5+5*ox*invz; +wave_2_per_point38=y=.5+5*oy*invz; +wave_2_per_point39= +wave_2_per_point40=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.0 +wavecode_3_r=0.4 +wavecode_3_g=0.4 +wavecode_3_b=0.650000 +wavecode_3_a=1.0 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2= +wave_3_per_frame3=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame4=t8=0; +wave_3_per_frame5= +wave_3_per_frame6= +wave_3_per_frame7=t3=-1+q7*.3333+.1667; +wave_3_per_frame8=t4=-1+q8*.3333+.1667; +wave_3_per_frame9= +wave_3_per_frame10=t6=pow( q1,3); // interpolation parameter +wave_3_per_frame11= +wave_3_per_frame12=t2=sin(q5); +wave_3_per_frame13=t7=cos(q5); +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+4*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+4*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*.02*q4*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*.02*q4*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07; +wave_3_per_point23= +wave_3_per_point24=ox = cenx+(ax-cenx)*t7+(az-cenz)*t2; +wave_3_per_point25=oy=ay; +wave_3_per_point26=oz = cenz+(ax-cenx)*-t2+(az-cenz)*t7; +wave_3_per_point27= +wave_3_per_point28=ax=ox*t7-(oz-q3)*t2; +wave_3_per_point29=ay=oy; +wave_3_per_point30=az=q3+ox*t2+(oz-q3)*t7; +wave_3_per_point31= +wave_3_per_point32=oz=q3+(az-q3)*cos(q6)-(ay-q2)*sin(q6); +wave_3_per_point33=oy=q2+(az-q3)*sin(q6)+(ay-q2)*cos(q6); +wave_3_per_point34=ox=ax; +wave_3_per_point35= +wave_3_per_point36=invz=1/(oz+100); +wave_3_per_point37=x=.5+5*ox*invz; +wave_3_per_point38=y=.5+5*oy*invz; +wave_3_per_point39= +wave_3_per_point40=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.8 +shapecode_0_g=0.1 +shapecode_0_b=0.8 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.042077 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.0 +shapecode_1_g=0.3 +shapecode_1_b=0.1 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.978841 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.344203 +shapecode_3_r=0.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +per_frame_1=warp=0; +per_frame_2=zoom=1; +per_frame_3= +per_frame_4=rnd=equal(frame%400,0); +per_frame_5=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_6=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_7=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_8=offx=0; +per_frame_9=offy=-3.1; +per_frame_10=offz=-60; +per_frame_11=sc=4; +per_frame_12= +per_frame_13=q2=offy; // y-offset +per_frame_14=q3=offz; // z-offset +per_frame_15=q4=sc; // scale +per_frame_16= +per_frame_17=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_18=q6=.25+.2*sin(time*.15+2.43+cos(time*.09+1.87)); // rot-x; +per_frame_19= +per_frame_20= +per_frame_21=stime=if(equal(stime,0),time,stime ); +per_frame_22=mytime=time-stime; +per_frame_23=phase = .1*mytime - int(.1*mytime); +per_frame_24=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_25=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_26=q7=tilex; +per_frame_27=q8=tilez; +per_frame_28=q1=abs(sin(3.1415*phase)); +per_frame_29= +per_frame_30=echo_zoom=1.007; diff --git a/presets/presets_mischa_collection/3dRaGoNs & Unchained - Dragon Science.milk b/presets/presets_mischa_collection/3dRaGoNs & Unchained - Dragon Science.milk new file mode 100644 index 0000000000..4a49e66aed --- /dev/null +++ b/presets/presets_mischa_collection/3dRaGoNs & Unchained - Dragon Science.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.203135 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008147 +fShader=0.000000 +zoom=1.001600 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+ +per_pixel_5= y*10%5)*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.3; +per_pixel_6=sx=sx-bor(snee,snur)*cos(y*q2)*.05; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*q1)*.03; +per_pixel_8=cx=cx+sin(x*3.14*q6)*snur*.45; +per_pixel_9=cy=cx+sin(y*3.14*q5)*snee*.5; +per_pixel_10=zoom=zoom+.1*snee*bnot(snur)-.1*snur*bnot(snee); diff --git a/presets/presets_mischa_collection/86.milk b/presets/presets_mischa_collection/86.milk new file mode 100755 index 0000000000..99bdfde350 --- /dev/null +++ b/presets/presets_mischa_collection/86.milk @@ -0,0 +1,659 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.110 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.300 +wavecode_0_b=0.600 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*50; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30=yq=yp; +wave_0_per_point31=zq=zp; +wave_0_per_point32= +wave_0_per_point33=ang=tm*8; +wave_0_per_point34=sa=sin(ang);ca=cos(ang); +wave_0_per_point35=xp=xq*sa + yq*ca; +wave_0_per_point36=yp=xq*ca - yq*sa; +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//forearm movement; +wave_0_per_point40=zp=zp-0.3; +wave_0_per_point41=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point42=xq=xp; +wave_0_per_point43=sa=sin(ang);ca=cos(ang); +wave_0_per_point44=yq=yp*sa + zp*ca; +wave_0_per_point45=zq=yp*ca - zp*sa; +wave_0_per_point46= +wave_0_per_point47=//upper arm twist +wave_0_per_point48=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point49=xp=xq*sa + yq*ca; +wave_0_per_point50=yp=xq*ca - yq*sa; +wave_0_per_point51=zp=zq; +wave_0_per_point52= +wave_0_per_point53=//upper arm outward; +wave_0_per_point54=zp=zp-0.35; +wave_0_per_point55=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point56=sa=sin(ang);ca=cos(ang); +wave_0_per_point57=xq=xp*sa + zp*ca; +wave_0_per_point58=yq=yp; +wave_0_per_point59=zq=xp*ca - zp*sa; +wave_0_per_point60= +wave_0_per_point61=//upper arm up down; +wave_0_per_point62=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point63=xp=xq; +wave_0_per_point64=sa=sin(ang);ca=cos(ang); +wave_0_per_point65=yp=yq*ca - zq*sa; +wave_0_per_point66=zp=yq*sa + zq*ca; +wave_0_per_point67= +wave_0_per_point68=//xp=xq;yp=yq;zp=zq; +wave_0_per_point69= +wave_0_per_point70= +wave_0_per_point71=//project into screenspace and draw on screen +wave_0_per_point72=zp=zp+2; +wave_0_per_point73=xs=xp/zp; +wave_0_per_point74=ys=yp/zp; +wave_0_per_point75= +wave_0_per_point76=x=xs+0.5; +wave_0_per_point77=y=ys*1.3+0.5; +wave_0_per_point78= +wave_0_per_point79= +wave_0_per_point80=a=(1-sample); +wave_0_per_point81= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.300 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*50; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=yp=-yp; +wave_1_per_point22=zp=zr; +wave_1_per_point23= +wave_1_per_point24=//wrist movement; +wave_1_per_point25=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point26= +wave_1_per_point27=xq=xp; +wave_1_per_point28=sa=sin(ang);ca=cos(ang); +wave_1_per_point29=yq=yp*sa + zp*ca; +wave_1_per_point30=zq=yp*ca - zp*sa; +wave_1_per_point31=yq=yp; +wave_1_per_point32=zq=zp; +wave_1_per_point33= +wave_1_per_point34=ang=tm*8; +wave_1_per_point35=sa=sin(ang);ca=cos(ang); +wave_1_per_point36=xp=xq*sa + yq*ca; +wave_1_per_point37=yp=xq*ca - yq*sa; +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//forearm movement; +wave_1_per_point41=zp=zp-0.3; +wave_1_per_point42=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point43=xq=xp; +wave_1_per_point44=sa=sin(ang);ca=cos(ang); +wave_1_per_point45=yq=yp*sa + zp*ca; +wave_1_per_point46=zq=yp*ca - zp*sa; +wave_1_per_point47= +wave_1_per_point48=//upper arm twist +wave_1_per_point49=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point50=xp=xq*sa + yq*ca; +wave_1_per_point51=yp=xq*ca - yq*sa; +wave_1_per_point52=zp=zq; +wave_1_per_point53= +wave_1_per_point54=//upper arm outward; +wave_1_per_point55=zp=zp-0.35; +wave_1_per_point56=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point57=sa=sin(ang);ca=cos(ang); +wave_1_per_point58=xq=xp*sa + zp*ca; +wave_1_per_point59=yq=yp; +wave_1_per_point60=zq=xp*ca - zp*sa; +wave_1_per_point61= +wave_1_per_point62=//upper arm up down; +wave_1_per_point63=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point64=xp=xq; +wave_1_per_point65=sa=sin(ang);ca=cos(ang); +wave_1_per_point66=yp=yq*ca - zq*sa; +wave_1_per_point67=zp=yq*sa + zq*ca; +wave_1_per_point68= +wave_1_per_point69=//xp=xq;yp=yq;zp=zq; +wave_1_per_point70= +wave_1_per_point71= +wave_1_per_point72=//project into screenspace and draw on screen +wave_1_per_point73=zp=zp+2; +wave_1_per_point74=xs=xp/zp; +wave_1_per_point75=ys=yp/zp; +wave_1_per_point76= +wave_1_per_point77=x=xs+0.5; +wave_1_per_point78=y=ys*1.3+0.5; +wave_1_per_point79= +wave_1_per_point80= +wave_1_per_point81=a=(1-sample); +wave_1_per_point82= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.720 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.05-0.025)*(1-sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*50; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.025 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*1.9)*0.5 +0.5; +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30=yq=yp; +wave_2_per_point31=zq=zp; +wave_2_per_point32= +wave_2_per_point33=ang=tm*8; +wave_2_per_point34=sa=sin(ang);ca=cos(ang); +wave_2_per_point35=xp=xq*sa + yq*ca; +wave_2_per_point36=yp=xq*ca - yq*sa; +wave_2_per_point37=zp=zq; +wave_2_per_point38= +wave_2_per_point39=//forearm movement; +wave_2_per_point40=zp=zp-0.3; +wave_2_per_point41=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_2_per_point42=xq=xp; +wave_2_per_point43=sa=sin(ang);ca=cos(ang); +wave_2_per_point44=yq=yp*sa + zp*ca; +wave_2_per_point45=zq=yp*ca - zp*sa; +wave_2_per_point46= +wave_2_per_point47=//upper arm twist +wave_2_per_point48=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point49=sa=sin(ang);ca=cos(ang); +wave_2_per_point50=xp=xq*sa + yq*ca; +wave_2_per_point51=yp=xq*ca - yq*sa; +wave_2_per_point52=zp=zq; +wave_2_per_point53= +wave_2_per_point54=//upper arm outward; +wave_2_per_point55=zp=zp-0.35; +wave_2_per_point56=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point57=sa=sin(ang);ca=cos(ang); +wave_2_per_point58=xq=xp*sa + zp*ca; +wave_2_per_point59=yq=yp; +wave_2_per_point60=zq=xp*ca - zp*sa; +wave_2_per_point61= +wave_2_per_point62=//upper arm up down; +wave_2_per_point63=ang=cos(tm*0.9)*0.5 - 0.5; +wave_2_per_point64=xp=xq; +wave_2_per_point65=sa=sin(ang);ca=cos(ang); +wave_2_per_point66=yp=yq*ca - zq*sa; +wave_2_per_point67=zp=yq*sa + zq*ca; +wave_2_per_point68= +wave_2_per_point69=//xp=xq;yp=yq;zp=zq; +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=//project into screenspace and draw on screen +wave_2_per_point73=zp=zp+2; +wave_2_per_point74=xs=-xp/zp; +wave_2_per_point75=ys=yp/zp; +wave_2_per_point76= +wave_2_per_point77=x=xs+0.5; +wave_2_per_point78=y=ys*1.3+0.5; +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81=a=(1-sample); +wave_2_per_point82= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.700 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.05-0.025)*(1-sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*50; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.025 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=yp=-yp; +wave_3_per_point22=zp=zr; +wave_3_per_point23= +wave_3_per_point24=//wrist movement; +wave_3_per_point25=ang=sin(tm*1.9)*0.5 +0.5; +wave_3_per_point26= +wave_3_per_point27=xq=xp; +wave_3_per_point28=sa=sin(ang);ca=cos(ang); +wave_3_per_point29=yq=yp*sa + zp*ca; +wave_3_per_point30=zq=yp*ca - zp*sa; +wave_3_per_point31=yq=yp; +wave_3_per_point32=zq=zp; +wave_3_per_point33= +wave_3_per_point34=ang=tm*8; +wave_3_per_point35=sa=sin(ang);ca=cos(ang); +wave_3_per_point36=xp=xq*sa + yq*ca; +wave_3_per_point37=yp=xq*ca - yq*sa; +wave_3_per_point38=zp=zq; +wave_3_per_point39= +wave_3_per_point40=//forearm movement; +wave_3_per_point41=zp=zp-0.3; +wave_3_per_point42=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_3_per_point43=xq=xp; +wave_3_per_point44=sa=sin(ang);ca=cos(ang); +wave_3_per_point45=yq=yp*sa + zp*ca; +wave_3_per_point46=zq=yp*ca - zp*sa; +wave_3_per_point47= +wave_3_per_point48=//upper arm twist +wave_3_per_point49=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point50=sa=sin(ang);ca=cos(ang); +wave_3_per_point51=xp=xq*sa + yq*ca; +wave_3_per_point52=yp=xq*ca - yq*sa; +wave_3_per_point53=zp=zq; +wave_3_per_point54= +wave_3_per_point55=//upper arm outward; +wave_3_per_point56=zp=zp-0.35; +wave_3_per_point57=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point58=sa=sin(ang);ca=cos(ang); +wave_3_per_point59=xq=xp*sa + zp*ca; +wave_3_per_point60=yq=yp; +wave_3_per_point61=zq=xp*ca - zp*sa; +wave_3_per_point62= +wave_3_per_point63=//upper arm up down; +wave_3_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_3_per_point65=xp=xq; +wave_3_per_point66=sa=sin(ang);ca=cos(ang); +wave_3_per_point67=yp=yq*ca - zq*sa; +wave_3_per_point68=zp=yq*sa + zq*ca; +wave_3_per_point69= +wave_3_per_point70=//xp=xq;yp=yq;zp=zq; +wave_3_per_point71= +wave_3_per_point72= +wave_3_per_point73=//project into screenspace and draw on screen +wave_3_per_point74=zp=zp+2; +wave_3_per_point75=xs=-xp/zp; +wave_3_per_point76=ys=yp/zp; +wave_3_per_point77= +wave_3_per_point78=x=xs+0.5; +wave_3_per_point79=y=ys*1.3+0.5; +wave_3_per_point80= +wave_3_per_point81= +wave_3_per_point82=a=(1-sample); +wave_3_per_point83= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.56151 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.700 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_ang=0.01; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.32910 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.75684 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.96, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass_att + mid_att + treb_att ; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/2; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32= +per_frame_33=vol = vol*dec_slow + q26 * (1-dec_slow) + q24*q1; +per_frame_34=q10 = q27*q28;; +per_frame_35= +per_frame_36= +per_frame_37=movex = movex + .03*30/fps; +per_frame_38=q29 = movex; +per_frame_39=movez = movez + .07*30/fps; +per_frame_40=q30 = movez; +per_frame_41= +per_frame_42=crawl = crawl + .001*(2+q22)*30/fps; +per_frame_43=q31 = crawl; +per_frame_44= +per_frame_45=q32 = 2 + sin(time/7); +per_frame_46=monitor = index2; +per_frame_47= +per_frame_48=zoom = 1.0+.01*q1; +per_frame_49=dy = .005; +per_frame_50=dx = .0; +per_frame_51=warp = 0; +per_frame_52=rot = .0; +per_frame_53= +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_mischa_collection/A New Definition for Milk - AdamFX - Laser Show in a Crystalstorm ft Orb n Martin Inside the Forge of Isengard.milk b/presets/presets_mischa_collection/A New Definition for Milk - AdamFX - Laser Show in a Crystalstorm ft Orb n Martin Inside the Forge of Isengard.milk new file mode 100755 index 0000000000..b489c1616e --- /dev/null +++ b/presets/presets_mischa_collection/A New Definition for Milk - AdamFX - Laser Show in a Crystalstorm ft Orb n Martin Inside the Forge of Isengard.milk @@ -0,0 +1,367 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.104 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.103 +fWaveSmoothing=0.540 +fWaveParam=0.380 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=0.98030 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.002 +ib_r=1.000 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = sample ; +wave_0_per_point2=y = .5; +wave_0_per_point3= +wave_0_per_point4=r = .5 + .5 * sin(time/7); +wave_0_per_point5=g = .5 + .5 * sin(time/11); +wave_0_per_point6=b = .5 + .5 * sin(time/5); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=64 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.35951 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.87512 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.500 +shape_0_per_frame1=tex_ang = time; +shape_0_per_frame2=tex_zoom = 2 + sin(time/3); +shape_0_per_frame3= +shape_0_per_frame4=vis = above(q28,2); +shape_0_per_frame5=a = vis; a2 = vis*.5; border_a = vis; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=12 +shapecode_1_x=0.600 +shapecode_1_y=0.500 +shapecode_1_rad=0.02217 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.83150 +shapecode_1_r=1.000 +shapecode_1_g=0.600 +shapecode_1_b=0.000 +shapecode_1_a=0.900 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.590 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=x = .5 + .16*cos(instance/12*6.28)*q30; +shape_1_per_frame2=y = .5 + .16*sin(instance/12*6.28); +shape_1_per_frame3=//ang = time * (instance%2-.5)*q28; +shape_1_per_frame4=vis = above(q28,2); +shape_1_per_frame5=a = vis; a2 = vis*1; border_a = vis; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.19869 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.00531 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=0.400 +shapecode_3_b=0.000 +shapecode_3_a=0.700 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_17=cy = 0.5 +0.05*sin(0.413*time); +per_frame_18=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_19=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_20=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_21=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_22=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_23=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_24=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_25=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_26=lastbeat = if(beat,time,lastbeat); +per_frame_27=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_28=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_29=beatcounter = if(above(beatcounter,8), 0, beatcounter); +per_frame_30=beateven = beatcounter%4; +per_frame_31=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_32=beateven = if(equal(beateven,3),-1,beateven); +per_frame_33=beateven = if(equal(beateven,0),0.1*(myx+myy),beateven); +per_frame_34=beateven = if(equal(beateven,2),0.1*(-myx-myy),beateven); +per_frame_35=dx = 0.1*beateven*myx; +per_frame_36=dy = 0.1*beateven*myy; +per_frame_37=monitor = beateven; +per_frame_38=wave_a = Bass_thresh; +per_frame_39=zoom = 1.5 +0.25*myy; +per_frame_40=rot = myx*beateven; +per_frame_41=wave_x = 0.5 + 0.05*myx; +per_frame_42=wave_y=0.5 + 0.05*myy; +per_frame_43=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_44=oldq8 = q8; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .004*GetBlur1(uv)*float2 (0,1);//rs/20; +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv1*18*rand_frame); +warp_16=`mus = .051/(length(uv6)); +warp_17=`mus *= float3 (1,.8,.5); +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .15*mus; +warp_24=`float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_mischa_collection/Aderrasi - Bow To Gravity.milk b/presets/presets_mischa_collection/Aderrasi - Bow To Gravity.milk new file mode 100644 index 0000000000..c749535ccb --- /dev/null +++ b/presets/presets_mischa_collection/Aderrasi - Bow To Gravity.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.930000 +fVideoEchoZoom=0.999837 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.796896 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999995 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.5*wave_r; +per_frame_6=ob_b = 0.5*wave_g; +per_frame_7=ob_g = 0.5*wave_b; +per_frame_8=ib_r = wave_g; +per_frame_9=ib_g = wave_b; +per_frame_10=ib_b = wave_r; +per_frame_11=wave_mystery = wave_mystery + 25*sin(3-1*(sin(0.001*time))); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dx = dx + above(x,0.5)*x*0.005; +per_pixel_5=dx = dx - below(x,0.5)*(1-x)*0.005; +per_pixel_6=dy = dy + above(y,0.5)*y*0.005; +per_pixel_7=dy = dy + below(y,0.5)*(1-y)*0.005; +per_pixel_8=zoom = zoom - 100*((1-rad)*((1.5*rad)*0.005 + 0.004*sin(0.5*bass_att))); +per_pixel_9= +per_pixel_10=rot = rot + (cos(bass_att*treb_att)/(1-treb)+0.5*time)*0.0005; +per_pixel_11=zoomexp = 0.8 + 1+sin(treb_att); diff --git a/presets/presets_mischa_collection/Aderrasi - Visitor.milk b/presets/presets_mischa_collection/Aderrasi - Visitor.milk new file mode 100644 index 0000000000..fc4f692aa4 --- /dev/null +++ b/presets/presets_mischa_collection/Aderrasi - Visitor.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972366 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451117 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.800000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.100000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=dy = dy + dy_r*8*(0.25*cos(12*rad)+0.5*sin((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_6=*rad)*cos(12*ang); +per_pixel_7=dx = dx + dy_r*8*(0.25*sin(12*rad)+0.5*cos((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_8=*rad)*sin(12*ang); diff --git a/presets/presets_mischa_collection/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk b/presets/presets_mischa_collection/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk new file mode 100755 index 0000000000..3379f828f5 --- /dev/null +++ b/presets/presets_mischa_collection/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk @@ -0,0 +1,567 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.22705 +fShader=1.000 +zoom=1.01000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.04575 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_1_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_1_per_frame3=vg = vol_avg*.1; +wave_1_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_1_per_point1=tm = q1; +wave_1_per_point2=sp = sample*6.28*8*6; +wave_1_per_point3= +wave_1_per_point4=vol = (value1+value2)*.5; +wave_1_per_point5=it = it*above(sample,0); +wave_1_per_point6=it = it + 1; +wave_1_per_point7=rad = .5 + vol + .02; +wave_1_per_point8=ra = rad*sin(sample*3.14); +wave_1_per_point9=ox = ra*sin(sp); +wave_1_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_1_per_point11=oz = ra*cos(sp); +wave_1_per_point12= +wave_1_per_point13=xang = tm*.132; +wave_1_per_point14=sxang = 0; +wave_1_per_point15=yang = tm*.153; +wave_1_per_point16=ayang = 0; +wave_1_per_point17=zang = tm*.110; +wave_1_per_point18=azang = 0; +wave_1_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_1_per_point20=fov = .5; +wave_1_per_point21= +wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point24=ox = mx; +wave_1_per_point25=oy = my; +wave_1_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point28=ox = mx; +wave_1_per_point29=oz = mz; +wave_1_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point32=oy = my; +wave_1_per_point33=oz = mz; +wave_1_per_point34= +wave_1_per_point35=oz = oz - 2; +wave_1_per_point36=x = ox*fov/oz + 0.5; +wave_1_per_point37=x = (x-.5)*0.75 + 0.5; +wave_1_per_point38=y = oy*fov/oz + 0.5; +wave_1_per_point39= +wave_1_per_point40=r = 1; +wave_1_per_point41=g = .25+.25*sin(sp); +wave_1_per_point42=b = 0; +wave_1_per_point43=a = .5 + (oz+2)*.5; +wave_1_per_point44=a = a*below(z,2); +wave_1_per_point45=minrgb = min(r,min(g,b)); +wave_1_per_point46=maxrgb = max(r,max(g,b)); +wave_1_per_point47=l = (maxrgb-minrgb)*.5; +wave_1_per_point48=diff = maxrgb-minrgb; +wave_1_per_point49=sum = maxrgb+minrgb; +wave_1_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_1_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_1_per_point52=h = h*0.1666666; +wave_1_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_1_per_point54= +wave_1_per_point55=h = h + time*0.05*1.324 + .1; +wave_1_per_point56=h = h - int(h); +wave_1_per_point57= +wave_1_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_1_per_point59=tmpa = 2*l - tmpb; +wave_1_per_point60=hvr = h + .333333; +wave_1_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_1_per_point62=hvg = h; +wave_1_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_1_per_point64=hvb = h - .333333; +wave_1_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_1_per_point66= +wave_1_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_1_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_1_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_point1=tm = q1; +wave_2_per_point2=sp = sample*6.28*8*6; +wave_2_per_point3= +wave_2_per_point4=vol = (value1+value2)*.5; +wave_2_per_point5=it = it*above(sample,0); +wave_2_per_point6=it = it + 1; +wave_2_per_point7=rad = .5 + vol + .01; +wave_2_per_point8=ra = rad*sin(sample*3.14); +wave_2_per_point9=ox = ra*sin(sp); +wave_2_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_2_per_point11=oz = ra*cos(sp); +wave_2_per_point12= +wave_2_per_point13=xang = tm*.132; +wave_2_per_point14=sxang = 0; +wave_2_per_point15=yang = tm*.153; +wave_2_per_point16=ayang = 0; +wave_2_per_point17=zang = tm*.110; +wave_2_per_point18=azang = 0; +wave_2_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_2_per_point20=fov = .5; +wave_2_per_point21= +wave_2_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point24=ox = mx; +wave_2_per_point25=oy = my; +wave_2_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point28=ox = mx; +wave_2_per_point29=oz = mz; +wave_2_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point32=oy = my; +wave_2_per_point33=oz = mz; +wave_2_per_point34= +wave_2_per_point35=oz = oz - 2; +wave_2_per_point36=x = ox*fov/oz + 0.5; +wave_2_per_point37=x = (x-.5)*0.75 + 0.5; +wave_2_per_point38=y = oy*fov/oz + 0.5; +wave_2_per_point39= +wave_2_per_point40=r = 1; +wave_2_per_point41=g = .25+.25*sin(sp); +wave_2_per_point42=b = 0; +wave_2_per_point43=a = .5 + (oz+2)*.5; +wave_2_per_point44=a = a*below(z,2); +wave_2_per_point45=minrgb = min(r,min(g,b)); +wave_2_per_point46=maxrgb = max(r,max(g,b)); +wave_2_per_point47=l = (maxrgb-minrgb)*.5; +wave_2_per_point48=diff = maxrgb-minrgb; +wave_2_per_point49=sum = maxrgb+minrgb; +wave_2_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_2_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_2_per_point52=h = h*0.1666666; +wave_2_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_2_per_point54= +wave_2_per_point55=h = h + time*0.05*1.324 + .05; +wave_2_per_point56=h = h - int(h); +wave_2_per_point57= +wave_2_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_2_per_point59=tmpa = 2*l - tmpb; +wave_2_per_point60=hvr = h + .333333; +wave_2_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_2_per_point62=hvg = h; +wave_2_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_2_per_point64=hvb = h - .333333; +wave_2_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_2_per_point66= +wave_2_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_2_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_2_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.44484 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99999 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=bd=above(bass+treb+mid,6)+bd*.975; +shape_0_per_frame2=sides=cos(time*.02+(bd*.1))*20+20; +shape_0_per_frame3=border_r=sin(time*.331+.3)*.5+.5; +shape_0_per_frame4=border_g=sin(time*.559+.3)*.5+.5; +shape_0_per_frame5=border_b=sin(time*.772+.4)*.5+.5; +shape_0_per_frame6= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.44484 +shapecode_1_ang=2.89026 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.22019 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=bd=above(bass+treb+mid,6)+bd*.975; +shape_1_per_frame2=sides=cos(time*.02+(bd*.1))*20+20; +shape_1_per_frame3=r=sin(time*.331)*.5+.5; +shape_1_per_frame4=g=sin(time*.559)*.5+.5; +shape_1_per_frame5=b=sin(time*.772)*.5+.5; +shape_1_per_frame6=border_r=r; +shape_1_per_frame7=border_g=g; +shape_1_per_frame8=border_b=b; +shape_1_per_frame9=rad=sin(time*.4)*.2+.5; +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.880 +shapecode_2_rad=1.97884 +shapecode_2_ang=0.62832 +shapecode_2_tex_ang=6.28319 +shapecode_2_tex_zoom=0.51341 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_ang=sin(time*.0001)*628+628; +shape_2_per_frame2=y=cos(time*.003)*.5+.5; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.89269 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.070 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=wave_r=wave_r+(0.6*sin(bass*2.500)+0.4*sin(time*0.70)); +per_frame_25=wave_b=wave_b+(0.6*sin(treb*2.500)+0.4*sin(time*0.89)); +per_frame_26=wave_g=wave_g+(0.6*sin(mid*2.500)+0.4*sin(time*0.74)); +per_frame_27=q1=rot+0.005*sin(time*0.5); +per_pixel_1=rot=q1*2*rad*pow(0&(4+2*sin(rad*20+time))*.1,6); +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float3 color, mus, neu, ret1, noise, noise2; +warp_3=`float2 uv1, rs0, rs, uv2, uv3, dz, hor, ver; +warp_4=`float dx,dy,speed; +warp_5=`shader_body { +warp_6=`speed = .3; +warp_7=`uv1 = uv-float2(0.5,q5); +warp_8=`float z = 1/(uv1.y); +warp_9=`rs0.x = (uv1.x)*z; +warp_10=`rs0.y = z; +warp_11=`rs.x = rs0.x *1; +warp_12=`rs.y = rs0.y + time*speed; +warp_13=` +warp_14=` +warp_15=`//Kacheln +warp_16=`noise = lum(tex2D(sampler_pw_noise_lq,rs/63 )); +warp_17=`noise *= lum(tex2D(sampler_pw_noise_lq,rs/12 ))+.5; +warp_18=`noise *= saturate(10*noise - 8) * saturate(2/z); +warp_19=`noise2 = saturate(8* (lum(tex2D(sampler_pw_noise_lq,uv))-.5)); +warp_20=` +warp_21=`speed *= 2; +warp_22=`float3 copy = + GetPixel(float2(uv.x,uv.y-.04*speed/z)); +warp_23=`copy +=GetPixel(float2(uv.x,uv.y-.02*speed/z)); +warp_24=`copy +=GetPixel(float2(uv.x,uv.y-.01*speed/z)); +warp_25=` +warp_26=`ret = noise*1 + copy/3*(1+slow_roam_cos)/2*.99-.005; +warp_27=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_28=` ((uv1.xyy*q27 +warp_29=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_30=` ).xyz* +warp_31=` float3(1,1,0)*0.05 + +warp_32=` time*float3(0,0,1)*q29 +warp_33=` ); +warp_34=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_35=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_36=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_37=` +warp_38=` +warp_39=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` +comp_6=`float2 uva = uv; +comp_7=`float2 uvb = float2(1-uv.x,uv.y); +comp_8=` +comp_9=`ret = tex2D(sampler_main, uva).x + tex2D(sampler_main, uvb).x; +comp_10=` +comp_11=`float3 blurs = GetBlur1(uva).x + GetBlur3(uva).x; +comp_12=`blurs += GetBlur1(uvb).x + GetBlur3(uvb).x; +comp_13=` +comp_14=` +comp_15=`float2 uv3 = (uv-.5)*(1-GetBlur1(uv).zzz)+.5; +comp_16=`ret += saturate(pow(tex2D(sampler_main, uv3).zzz,.5)*(1-ret.x*2)), +comp_17=`ret += saturate(pow(GetBlur1(uv3).zzz,.5)*(1-ret.x*2)), +comp_18=` +comp_19=` +comp_20=`ret = lerp ( +comp_21=`blurs, +comp_22=`ret, +comp_23=`pow(ret,1)); +comp_24=` +comp_25=`ret = pow(ret,float3(5,1,.5)); +comp_26=` +comp_27=`ret += pow(tex2D(sampler_main, float2(uv.x,1-uv.y)).yyy+tex2D(sampler_main, 1-uv).yyy,float3(.6,.95,5)); +comp_28=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_29=` ((uv3.xyy*q28 +comp_30=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_31=` ).xyz* +comp_32=` float3(1,1,0)*0.05 + +comp_33=` time*float3(0,0,1)*q31 +comp_34=` ); +comp_35=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_36=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_37=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_38=` +comp_39=`ret-=slow_roam_sin*roam_cos.zxy*.5; +comp_40=` +comp_41=`} diff --git a/presets/presets_mischa_collection/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk b/presets/presets_mischa_collection/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk new file mode 100644 index 0000000000..d0e483b29b --- /dev/null +++ b/presets/presets_mischa_collection/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk @@ -0,0 +1,638 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.301767 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.610000 +shapecode_1_y=0.890000 +shapecode_1_rad=0.583240 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.691361 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=x= x+ sin((q1+2))*0.1; +shape_1_per_frame3=ang = ang+ sin(q1*1.4)*0.5 +shapecode_2_enabled=0 +shapecode_2_sides=25 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.230000 +shapecode_2_y=0.830000 +shapecode_2_rad=0.217303 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = time/10; +shape_2_per_frame2=x= x+ sin(q1)*0.1 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.610000 +shapecode_3_y=0.890000 +shapecode_3_rad=0.271083 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.691361 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.560000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=x= x+ sin((q1+2))*0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0.8; +per_frame_init_7=dcsp=0.4 +per_frame_init_8= +per_frame_1=dcsp = dcsp + 0.01; +per_frame_2=decay=min(dcsp,1); +per_frame_3=monitor=decay; +per_frame_4= +per_frame_5=vol=(bass+mid+treb)*0.25; +per_frame_6=vol=vol*vol; +per_frame_7= +per_frame_8=mtime=mtime+vol*0.01*(70/fps); +per_frame_9= +per_frame_10=q1=mtime*0.75; +per_frame_11= +per_frame_12= +per_frame_13=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_14= +per_frame_15=warp=vol*0.05; +per_frame_16= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_mischa_collection/EoS + Phat - cubetrace - v2.milk b/presets/presets_mischa_collection/EoS + Phat - cubetrace - v2.milk new file mode 100644 index 0000000000..eb27894865 --- /dev/null +++ b/presets/presets_mischa_collection/EoS + Phat - cubetrace - v2.milk @@ -0,0 +1,533 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.050000 +wavecode_0_g=0.090000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=t1=q1*0.25; +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//rotate +wave_0_per_point16=ang=t1; +wave_0_per_point17=sang=sin(ang);cang=cos(ang); +wave_0_per_point18=xq=xp*sang + zp*cang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=xp*cang - zp*sang; +wave_0_per_point21=xp=xq;yp=yq;zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate +wave_0_per_point24=ang=t1*0.75; +wave_0_per_point25=sang=sin(ang);cang=cos(ang); +wave_0_per_point26=xq=xp; +wave_0_per_point27=yq=yp*sang + zp*cang; +wave_0_per_point28=zq=yp*cang - zp*sang; +wave_0_per_point29=xp=xq;yp=yq;zp=zq; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=zp= zp+2; +wave_0_per_point33=x= xp/zp + 0.5; +wave_0_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.500000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.194774 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000001 +shapecode_0_r2=0.630000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.070000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.043785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.300000 +shapecode_1_g=0.600000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=1 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.284278 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.230000 +shapecode_2_g2=0.540000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.800000 +shapecode_2_border_b=0.400000 +shapecode_2_border_a=0.450000 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.158045 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.300000 +shapecode_3_g=0.600000 +shapecode_3_b=1.000000 +shapecode_3_a=0.140001 +shapecode_3_r2=0.400000 +shapecode_3_g2=0.500000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =4; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.005; +per_frame_3= +per_frame_4= +per_frame_5=vol= (bass+mid+treb)*0.25; +per_frame_6=vol = vol*vol; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=mtime=mtime+vol*0.01*(75/fps); +per_frame_10= +per_frame_11=q7 = mtime; +per_frame_12= +per_frame_13=monitor=512/8; +per_frame_14= +per_frame_15=warp=0; +per_frame_16=q1=mtime*0.9; +per_frame_17= +per_frame_18=beat = above(vol,1); +per_frame_19=bc = max(bc,0); +per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_21= +per_frame_22=trigger = equal(bc,1); +per_frame_23= +per_frame_24=monitor=size; +per_frame_25= +per_frame_26=size = size + trigger; +per_frame_27=size = if( above(size,10) , 4 , size ); +per_frame_28= +per_frame_29= +per_frame_30=q2=int(size); //cubesize +per_frame_31= +per_frame_32= +per_frame_33= diff --git a/presets/presets_mischa_collection/EoS - Gases Beyond.milk b/presets/presets_mischa_collection/EoS - Gases Beyond.milk new file mode 100644 index 0000000000..f8243aa3b0 --- /dev/null +++ b/presets/presets_mischa_collection/EoS - Gases Beyond.milk @@ -0,0 +1,429 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.15; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.15; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5)*2; +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.5; +wave_0_per_point34=b=0.1; +wave_0_per_point35=a=a*0.7; +wave_0_per_point36= +wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); +wave_0_per_point38= +wave_0_per_point39= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36=a=a*0.5 +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.5; +wave_2_per_point34=b=0.1; +wave_2_per_point35=a=a*0.7; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); +wave_2_per_point39= +wave_2_per_point40= +wavecode_3_enabled=1 +wavecode_3_samples=402 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36=a=a*0.5 +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.208824 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.610000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.3 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.600000 +shapecode_1_b=0.900000 +shapecode_1_a=0.110000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); +shape_1_per_frame2=xsign = rand(2)*2 - 1; +shape_1_per_frame3= +shape_1_per_frame4=a=a * (1-xp); +shape_1_per_frame5= +shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; +shape_1_per_frame7= +shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); +per_frame_13=flash=if( above(flash,1) , flash-1 , flash); +per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); +per_frame_15=invert=0 diff --git a/presets/presets_mischa_collection/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets/presets_mischa_collection/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk new file mode 100644 index 0000000000..81a47fa19e --- /dev/null +++ b/presets/presets_mischa_collection/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_mischa_collection/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk b/presets/presets_mischa_collection/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk new file mode 100644 index 0000000000..e37f12ff42 --- /dev/null +++ b/presets/presets_mischa_collection/EoS and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk @@ -0,0 +1,386 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=-0.523285 +mv_dy=-0.160162 +mv_l=0.055000 +mv_r=0.934155 +mv_g=0.462715 +mv_b=0.821308 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.005; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10)+((cos(time)*x)*(0.2*bass)); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10)+((sin(time)*y)*(0.2*bass)); +wave_0_per_point3=r = 1; +wave_0_per_point4=b = 0; +wave_0_per_point5=g = .5; +wave_0_per_point6=a=pow(1-sample,2) +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36= +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.7; +wave_2_per_point34=b=0.2; +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.355809 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141594 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.950000 +shapecode_0_g=0.960000 +shapecode_0_b=0.830000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=treb*0.01; +shape_0_per_frame2= +shape_0_per_frame3=bump=sin(time*2 + mid)*0.5+0.5; +shape_0_per_frame4=bump2=- pow(bump,4);//wide negative bump +shape_0_per_frame5=bump= pow(bump,8);//sharp positive bump +shape_0_per_frame6=rad=rad+bump*0.049 + bump2*0.020 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.364567 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.050000 +shapecode_1_g=0.040000 +shapecode_1_b=0.190000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.060000 +shape_1_per_frame1=rad=bass/9; +shape_1_per_frame2=ang=bass*6.14; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.995; +per_frame_2=zoom=-1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=rot=((rad/100*x)*bass*1.5)* if( above( sin(time),0) , 1 , -1); diff --git a/presets/presets_mischa_collection/Flexi + Martin - dive.milk b/presets/presets_mischa_collection/Flexi + Martin - dive.milk new file mode 100755 index 0000000000..5c9514d9ea --- /dev/null +++ b/presets/presets_mischa_collection/Flexi + Martin - dive.milk @@ -0,0 +1,376 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+sin(time*0.618)*0.2; +shape_0_per_frame2=y = 0.5+cos(time*1.618)*0.2; +shape_0_per_frame3=rad = bass*0.05; +shape_0_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_0_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_0_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+sin(time*2.618)*0.3; +shape_1_per_frame2=y = 0.5+cos(time*3.14)*0.3; +shape_1_per_frame3=rad = bass*0.05; +shape_1_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_1_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_1_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shape_1_per_frame7= +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+sin(-time*2.618)*0.4; +shape_2_per_frame2=y = 0.5+cos(-time*1.14)*0.4; +shape_2_per_frame3=rad = bass*0.05; +shape_2_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_2_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_2_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q11 = 0.5/asin(1); +per_frame_1=//zoom = 0.99; +per_frame_2=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_3=ib_g = sin(time*4)*0.3+0.3; +per_frame_4=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_5= +per_frame_6=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_7=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_8=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_9= +per_frame_10=x1 = 0.5 + (xx1-xx2)*2; +per_frame_11=y1 = 0.4 + yy1; +per_frame_12= +per_frame_13=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_14= +per_frame_15=spring = 10; +per_frame_16=grav = .5; +per_frame_17=resist = 1; +per_frame_18=bounce = 0.75; +per_frame_19=dt = 0.0002*(60/fps); +per_frame_20= +per_frame_21=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_22=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_23=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_24=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_25=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_26=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_27= +per_frame_28=x2 = x2 + vx2; +per_frame_29=y2 = y2 + vy2; +per_frame_30=x3 = x3 + vx3; +per_frame_31=y3 = y3 + vy3; +per_frame_32=x4 = x4 + vx4; +per_frame_33=y4 = y4 + vy4; +per_frame_34= +per_frame_35=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_36=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_37=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_38=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_39=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_40=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_41=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_42=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_43=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_44=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_45=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_46=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_47=q4 = x4; +per_frame_48=q8 = y4; +per_frame_49= +per_frame_50=q1 = aspectx; +per_frame_51=q2 = aspecty; +per_frame_52= +per_frame_53=zoom = 1; +per_frame_54=warp = 0; +per_frame_55=bb = bb*0.99 + bass*0.02; +per_frame_56=mm = mm*0.99 + mid*0.02; +per_frame_57=tt = tt*0.99 + treb*0.02; +per_frame_58= +per_frame_59=mx = max(max(bb,mm),tt); +per_frame_60=mn = min(min(bb,mm),tt); +per_frame_61= +per_frame_62=ob_r = (bb-mn)/(mx-mn); +per_frame_63=ob_b = (mm-mn)/(mx-mn); +per_frame_64=ob_g = (tt-mn)/(mx-mn); +per_frame_65=q6 = atan2(vx4,vy4); +per_frame_66=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_67= +per_frame_68=a = a*0.95 + q5; +per_frame_69= +per_frame_70=s = s*0.9 + a; +per_frame_71=q3 = s*0.1; +per_frame_72=monitor = s; +per_frame_73= +per_frame_74=wave_a = 0; +per_frame_75= +per_frame_76=q9 = 0.5 + 0.5*sin(time*0.1); +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*32)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=` +comp_8=`// ***** Martin's ripples on water surface code, parameterized by Flexi ***** +comp_9=` +comp_10=`float h = q9; // height of the horizon +comp_11=`float cut_off = 0.02; // cut off lower border +comp_12=`float2 t = float2(0.1,-0.05)*time; // velocity +comp_13=`float strength = 0.025; +comp_14=` +comp_15=` +comp_16=`float2 c = uv_orig-float2(0.5,1-h); +comp_17=`float z = 3/c.y; +comp_18=`float2 uv_water = float2(c.x*z*h,z*h)*0.05+t; +comp_19=`int mask = (c.y>0); +comp_20=`uv_water = (tex2D(sampler_noise_hq,uv_water)-0.5)*mask; +comp_21=`float2 uv_mirror = 1.0-abs(frac((c+float2(0.5,1))*0.5)*2-1)+float2(0,-cut_off); +comp_22=`uv_mirror =frac(uv_mirror-uv_water.xy*strength); +comp_23=` +comp_24=`// ***** :) +comp_25=` +comp_26=`uv = uv_mirror; +comp_27=` +comp_28=` d = texsize.zw*1.5; +comp_29=` dx = GetPixel(uv_orig + float2(1,0)*d) - GetPixel(uv_orig - float2(1,0)*d); +comp_30=` dy = GetPixel(uv_orig + float2(0,1)*d) - GetPixel(uv_orig - float2(0,1)*d); +comp_31=` +comp_32=` +comp_33=`ret = GetPixel(uv).x*(1-length(float2(dx.y,dy.y)*8))*((hue_shader*6)-4)*0.8; +comp_34=`ret = lerp(ret,float3(1,1,1),length(float2(dx.z,dy.z)*4)); +comp_35=` +comp_36=` +comp_37=`} +comp_38=` diff --git a/presets/presets_mischa_collection/Flexi + fiShbRaiN - operation fatcap II.milk b/presets/presets_mischa_collection/Flexi + fiShbRaiN - operation fatcap II.milk new file mode 100755 index 0000000000..1da14dc469 --- /dev/null +++ b/presets/presets_mischa_collection/Flexi + fiShbRaiN - operation fatcap II.milk @@ -0,0 +1,518 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=1.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=48 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.05237 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=48 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.05186 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.09105 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.060 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=bb = bb + bass*bass*0.85*equal(instance,0); +shape_2_per_frame2=mm = mm + mid*mid*0.85*equal(instance,0); +shape_2_per_frame3=tt = tt + treb*treb*0.85*equal(instance,0); +shape_2_per_frame4= +shape_2_per_frame5=q3 = bb*0.012; +shape_2_per_frame6=q4 = mm*0.012; +shape_2_per_frame7=q5 = tt*0.012; +shape_2_per_frame8= +shape_2_per_frame9=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame10=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame11=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame12=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame13=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame14=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame15=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame16=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame17=t = .6; +shape_2_per_frame18=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame19=t = t + rnd2*0.1; +shape_2_per_frame20=wh = rnd4*asin(1)*4; +shape_2_per_frame21=wv = 0.25 + rnd3*0.1; +shape_2_per_frame22= +shape_2_per_frame23=d = 1.4; // makes the perspective impact +shape_2_per_frame24=zoom = 1; +shape_2_per_frame25=l = 1; +shape_2_per_frame26= +shape_2_per_frame27=// Kardan angles +shape_2_per_frame28= +shape_2_per_frame29=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame30=w2 = q4; // rotation around vertical axis +shape_2_per_frame31=w3 = q5; // rotation around horizontal axis +shape_2_per_frame32= +shape_2_per_frame33= +shape_2_per_frame34=// definition of the 3D shape +shape_2_per_frame35= +shape_2_per_frame36=i = instance; +shape_2_per_frame37= +shape_2_per_frame38=my_x = t *(cos(wh)*sin(wv)*l); +shape_2_per_frame39=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_2_per_frame40=my_z = t*(sin(wh)*sin(wv)*l); +shape_2_per_frame41= +shape_2_per_frame42= +shape_2_per_frame43=// 3D rotations +shape_2_per_frame44= +shape_2_per_frame45=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame46=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame47=z1 = my_z; +shape_2_per_frame48= +shape_2_per_frame49=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame50=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame51=y2 = y1; +shape_2_per_frame52= +shape_2_per_frame53=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame54=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame55=x3 = x2; +shape_2_per_frame56= +shape_2_per_frame57=// perspective calculation +shape_2_per_frame58= +shape_2_per_frame59=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame60=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame61= +shape_2_per_frame62=rad = rad/d; +shape_2_per_frame63=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame64=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame65= +shape_2_per_frame66=x = 0.5 + my_x; +shape_2_per_frame67=y = 0.5 + my_y; +shape_2_per_frame68= +shape_2_per_frame69=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame70=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=222 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05186 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0008*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 4; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_7=` float2 uv_bg = lerp(uv_orig,uv,1) + float2(dx.x,dy.x)*texsize.zw*4; +warp_8=` ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 +warp_9=` +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1; +warp_10=` +warp_11=`// there 2 channels unused, see? - hav fun :P +warp_12=` +warp_13=` ret.y = tex2D(sampler_fc_main, uv).y - ret.x*0.04; +warp_14=` +warp_15=`} +comp_1=`float2 uv_x, uv_y, uv_z, uv_echo; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*0.86; +comp_5=` float2 d = -texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=` +comp_10=` float2 uv_light1 = (float2(q4,q8)*float2(1,-1) + float2(0,1)); +comp_11=` float1 light1_dy = pow(length( uv + float2(dx.y,dy.y)*4 - uv_light1),2); +comp_12=` float1 light1_dx = pow(length( uv + float2(dx.x,dy.x)*4 - uv_light1),2); +comp_13=` float1 light1_dz = pow(length( uv + float2(dx.z,dy.z)*4 - uv_light1),2); +comp_14=` +comp_15=` +comp_16=` +comp_17=`ret = (1-pow(1.1-pow(float3(light1_dx,light1_dy,light1_dz)*2,0.3),2))*GetPixel(uv); +comp_18=` +comp_19=`ret.zyx = ret; +comp_20=`ret.yz -= ret.xx*0.5; +comp_21=`} diff --git a/presets/presets_mischa_collection/Flexi - infused with the spiral.milk b/presets/presets_mischa_collection/Flexi - infused with the spiral.milk new file mode 100755 index 0000000000..df0362336f --- /dev/null +++ b/presets/presets_mischa_collection/Flexi - infused with the spiral.milk @@ -0,0 +1,539 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=4.28632 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01743 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.040 +wavecode_0_b=0.000 +wavecode_0_a=0.990 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.65; +wave_0_per_point13= +wave_0_per_point14=w1 = q2; +wave_0_per_point15=w2 = q3; +wave_0_per_point16=w3 = q4; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=b = -z3 + 0.5; +wave_0_per_point44=b = min(1,max(0,b))*0.5; +wave_0_per_point45=r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78900 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = 0.65 + bass*0.1; +shape_0_per_frame2= +shape_0_per_frame3=an = an*0.99 + (bass-treb)*0.1; +shape_0_per_frame4=ang = an*0.1 + 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=q1 = 0; +per_frame_2=v = 0.4; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q2 = n*0.01; +per_frame_13=q3 = n1*0.01; +per_frame_14=q4 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q5 = k*0.00; +per_frame_18= +per_frame_19=zoom = 1.0016; +per_frame_20=warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=q9 = aspectx; +per_frame_25=q10 = aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*4; +warp_5=` float3 dx = ( GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv-float2(0,1)*d) ); +warp_7=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*60; +warp_8=` ret.z = (GetPixel(uv_dz).z + (GetPixel(uv).z - GetBlur1(uv).z)*200*length(uv_dz-uv))*0.96 - 0.02; +warp_9=` +warp_10=` +warp_11=` d = texsize.zw*4; +warp_12=` dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_13=` dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_14=` +warp_15=` float2 uv_dy = uv_orig + float2(dx.y,dy.y)*texsize.zw*6; +warp_16=` ret.y = GetPixel(uv_dy).y + (GetPixel(uv).y - GetBlur1(uv).y)*0.1 - 0.016; +warp_17=`//ret.y = 0; +warp_18=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*8; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv - float2(dx.z,dy.z)*0.2; +comp_9=` float2 uv_dy = uv - float2(dx.y,dy.y)*0.04; +comp_10=` float emboss = (-dx.y+dy.y) + 1 + (-dx.z + dy.z)*2; +comp_11=` +comp_12=`ret = GetPixel(uv).y*0.2; +comp_13=`ret = lerp(float3(0.2,0,0.1),float3(0.8,0.6,0),GetPixel(uv_dz).y); +comp_14=`ret *= emboss; +comp_15=`ret = lerp(ret,float3(0.2,0,0.4),GetBlur1(uv_dy).x*1.4); +comp_16=`ret = lerp(ret,float3(1,0.9,0.8),GetPixel(uv).z*1); +comp_17=` +comp_18=`} +comp_19=` diff --git a/presets/presets_mischa_collection/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk b/presets/presets_mischa_collection/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk new file mode 100755 index 0000000000..03265f2bcd --- /dev/null +++ b/presets/presets_mischa_collection/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk @@ -0,0 +1,470 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=39 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=126 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.06989 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=0 +shapecode_1_sides=41 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=239 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.06989 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=0 +shapecode_2_sides=43 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.06989 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=127 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05560 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0008*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.24 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *4; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *4; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *4; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.04; +warp_18=` ret -= ret.yzx*0.1 - 0.04; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1; +comp_23=` float3 what = lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader,ret)); +comp_24=` ret *=what; +comp_25=` ret *= hue_shader; +comp_26=` +comp_27=` //ret *= 1.5; //old gamma effect +comp_28=`} diff --git a/presets/presets_mischa_collection/Flexi, Geiss and Rovastar - chaos layered tokamak.milk b/presets/presets_mischa_collection/Flexi, Geiss and Rovastar - chaos layered tokamak.milk new file mode 100755 index 0000000000..cbe94b4c27 --- /dev/null +++ b/presets/presets_mischa_collection/Flexi, Geiss and Rovastar - chaos layered tokamak.milk @@ -0,0 +1,480 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04466 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.030 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.2*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`sampler sampler_seaweed; +comp_2=`shader_body +comp_3=`{ +comp_4=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_5=` float ang_lq = ang; +comp_6=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_7=` float rad_hq = length(uv_temp1); +comp_8=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_9=` +comp_10=` float2 uv2 = (uv - 0.5); +comp_11=` float rad2 = rad_lq*0.8; +comp_12=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_13=` +comp_14=` +comp_15=` // FIN TYPE +comp_16=` float fins = 6; +comp_17=` ang2 = frac(ang2*fins)/fins; +comp_18=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_19=` ang2 = abs(ang2 - 0.5/fins); +comp_20=` +comp_21=` +comp_22=` ang2 *= M_PI_2; +comp_23=`// uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_24=` +comp_25=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_26=` //uv.y = rad*rad; +comp_27=`// float srad = sqrt(rad)+ 0.05; +comp_28=` +comp_29=`// ret = tex2D(sampler_main, uv).xyz; +comp_30=`// ret = max(ret, tex2D(sampler_main, uv + 0.03*float2(cos(uv.y*27),sin(uv.x*39))).xyz); +comp_31=` +comp_32=` //ret += GetBlur1(uv) - 0.07; +comp_33=` //ret *= float3(1.3,0.8,0.5); +comp_34=` //ret *= 0.8; +comp_35=`ret = float3(0.9,0.5,0)*ret.z + float3(0.4,0,0.8)*ret.y; +comp_36=`} diff --git a/presets/presets_mischa_collection/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk b/presets/presets_mischa_collection/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk new file mode 100755 index 0000000000..c97a041780 --- /dev/null +++ b/presets/presets_mischa_collection/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk @@ -0,0 +1,338 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.300 +wavecode_0_b=0.750 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.400 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.11589 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=warp = 0; +per_frame_7=zoom = 1; +per_frame_8=bb = bb*0.99 + bass*0.02; +per_frame_9=mm = mm*0.99 + mid*0.02; +per_frame_10=tt = tt*0.99 + treb*0.02; +per_frame_11= +per_frame_12=mx = max(max(bb,mm),tt); +per_frame_13=mn = min(min(bb,mm),tt); +per_frame_14= +per_frame_15=ob_r = (bb-mn)/(mx-mn); +per_frame_16=ob_b = (mm-mn)/(mx-mn); +per_frame_17=ob_g = (tt-mn)/(mx-mn); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.05*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*64)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = dots + GetPixel(uv)*12*dots2; +comp_22=`//ret = GetPixel(uv); +comp_23=`} diff --git a/presets/presets_mischa_collection/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk b/presets/presets_mischa_collection/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk new file mode 100755 index 0000000000..8ec802c5ea --- /dev/null +++ b/presets/presets_mischa_collection/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk @@ -0,0 +1,321 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+sin(time*0.618)*0.2; +shape_0_per_frame2=y = 0.5+cos(time*1.618)*0.2; +shape_0_per_frame3=rad = bass*0.05; +shape_0_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_0_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_0_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+sin(time*2.618)*0.3; +shape_1_per_frame2=y = 0.5+cos(time*3.14)*0.3; +shape_1_per_frame3=rad = bass*0.05; +shape_1_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_1_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_1_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shape_1_per_frame7= +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+sin(-time*2.618)*0.4; +shape_2_per_frame2=y = 0.5+cos(-time*1.14)*0.4; +shape_2_per_frame3=rad = bass*0.05; +shape_2_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_2_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_2_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1= +per_frame_2=//zoom = 0.99; +per_frame_3=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_4=ib_g = sin(time*4)*0.3+0.3; +per_frame_5=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_6=wave_r = 1- ib_r; +per_frame_7=wave_g = 1- ib_g; +per_frame_8=wave_b = 1- ib_b; +per_frame_9=//wave_mystery = -1+bass/2; +per_frame_10=wave_x = 0.5+sin(time*3)*0.3; +per_frame_11=wave_y = 0.5+cos(time*2.187)*0.3; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*2 + rand_frame.xy; +warp_5=` uv+= (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw; +warp_6=` +warp_7=` // PAINTERLY EFFECT: +warp_8=` float2 t = -0.004 + 0.04*saturate(float2(bass,treb)-1); +warp_9=` float2 uv2 = uv; +warp_10=` float2 delta2 = texsize.zw*float2(1,1); +warp_11=` float3 blurry_color = tex2D( sampler_main, +warp_12=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_13=` uv2.xy += (blurry_color.xy-0.4) * t; +warp_14=` //uv2.xy -= (blurry_color.zx-0.37) * s; +warp_15=` +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_18=` +warp_19=` // darken over time +warp_20=` ret -= 0.0008 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = dots + GetPixel(uv)*12*dots2; +comp_22=`} diff --git a/presets/presets_mischa_collection/Fumbling_Foo & Flexi, Martin, Orb, Unchained - Harmony Nova v2a.milk b/presets/presets_mischa_collection/Fumbling_Foo & Flexi, Martin, Orb, Unchained - Harmony Nova v2a.milk new file mode 100755 index 0000000000..f4ab3a6365 --- /dev/null +++ b/presets/presets_mischa_collection/Fumbling_Foo & Flexi, Martin, Orb, Unchained - Harmony Nova v2a.milk @@ -0,0 +1,638 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=100.000 +fWarpScale=0.010 +fZoomExponent=1.14947 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00500 +dy=0.00000 +warp=0.00000 +sx=0.99010 +sy=0.99010 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.420 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,-9.42478),0,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 9.42478),0, zs); +wave_0_per_point5= +wave_0_per_point6=speed = .0025*floor(q3)*(1.5708*atan(bass) + 1.5708*atan(mid) + 1.5708*atan(treb)); //pattern source? +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs += speed; //resonant beat detection +wave_0_per_point10= +wave_0_per_point11=//project position and radius and pattern speed & beat detection +wave_0_per_point12=x = 0.5 + (0.06 + sin(tan(sqrt(q4*.001)*asin(1)))*.15)*cos(zs*asin(1)*100); +wave_0_per_point13=y = 0.5 + (0.06 + sin(tan(sqrt(q4*.001)*asin(1)))*.15)*sin(zs*asin(1)*100); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=// color waveform to bass / mid / treble +wave_0_per_point17=if(above(mid + treb, bass*2), r = .3 - abs(.33*sin(1 - q29*bass*bass)), r = .7 + abs(.33*sin(1 - q29*bass*bass))); +wave_0_per_point18=if(above(bass + treb, mid*2), g = .3 - abs(.33*sin(1 - q30*mid*mid)), g = .7 + abs(.33*sin(1 - q30*mid*mid))); +wave_0_per_point19=if(below(mid + bass, treb*2), b = .3 - abs(.33*sin(1 - q3*treb*treb)), b = .7 + abs(.33*sin(1 - q3*treb*treb))); +wave_0_per_point20= +wave_0_per_point21=//match opacity to nearness of central beat +wave_0_per_point22=a = .175 + q4*.0007; +wavecode_1_enabled=0 +wavecode_1_samples=64 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.420 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.890 +shapecode_0_y=0.860 +shapecode_0_rad=0.92324 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.19381 +shapecode_0_tex_zoom=0.22740 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=tex_saw = 0.4; +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.160 +shapecode_1_y=0.730 +shapecode_1_rad=0.99980 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.21006 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.22167 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=a = above(q4,1000 - 9000/fps) && above(q3, 1.5); +shape_3_per_frame2=a2 = above(q4,1000) && above(q3, 1.5); +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q4,1000 - 3/fps), rand(100)*0.01, rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q4,1000 - 3/fps), rand(100)*0.01, rand(70)*0.01 + .15); +shape_3_per_frame6=radi = if(above(q4, 1000 - 3/fps), sqrt(q3)*.333 + .15, sqrt(q3)*.4); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.45 + 0.45*sin(q1*1.307); +shape_3_per_frame16=b = 0.45 + 0.45*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.45 + 0.45*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.45 + 0.45*sin(q1*1.6559); +per_frame_init_1=index = 0; +per_frame_init_2=loop (200000, +per_frame_init_3= megabuf(index) = 0; +per_frame_init_4= gmegabuf(index) = 0; +per_frame_init_5= index = index + 1; +per_frame_init_6=); +per_frame_init_7= +per_frame_init_8=tstart = time; +per_frame_init_9= +per_frame_init_10=bd_recsz = 8; +per_frame_init_11=bd_oct = 4; //Oktaven +per_frame_init_12=bd_spo = 30;//Res. pro Oktave +per_frame_init_13=bd_finc = pow(2.0,1/bd_spo); //Freq. Incr. +per_frame_init_14=bd_nres = bd_oct * bd_spo; +per_frame_init_15=bd_minbpm = 20; +per_frame_init_16=bd_maxbpm = pow(2,bd_oct)*bd_minbpm; +per_frame_init_17= +per_frame_init_18=//mem spaces +per_frame_init_19=bd_dat0 = 100000; +per_frame_init_20=bd_tab0 = bd_dat0 + bd_nres * bd_recsz * 3; +per_frame_init_21= +per_frame_init_22= +per_frame_init_23=//Fill BPM Tab +per_frame_init_24=//n = bd_dat0; +per_frame_init_25=//BPM = bd_minbpm; +per_frame_init_26=//loop (bd_nres,gmegabuf (n) = BPM; BPM *= bd_finc; n += bd_recsz;); +per_frame_init_27= +per_frame_init_28= +per_frame_init_29=//##### nur fuer Darstellung +per_frame_init_30=reg00 = bd_minbpm; +per_frame_init_31=reg01 = bd_maxbpm; +per_frame_init_32=reg02 = bd_recsz; +per_frame_init_33=reg03 = bd_nres; +per_frame_init_34=reg05 = bd_finc; +per_frame_init_35= +per_frame_init_36=reg06 = bd_dat0; +per_frame_init_37=reg07 = bd_mp0; +per_frame_init_38= +per_frame_init_39=time_st = 0; +per_frame_init_40=timediff = 1; +per_frame_1=//############## THIS IS A CONSTRUCTION SITE ######### +per_frame_2= +per_frame_3=dt = min (1/fps,0.1) ; //Stability ! +per_frame_4=dec_m = 1-dt*4; dec_s = 1 - dt; dec_xs = 1-dt/6; +per_frame_5=t0 = time - tstart; +per_frame_6= +per_frame_7=bd_b = bass; bd_bass_ = bd_bass_*dec_m + (1-dec_m)*bd_b; bd_bass = bd_b-bd_bass_; +per_frame_8=bd_m = mid ; bd_mid_ = bd_mid_ *dec_m + (1-dec_m)*bd_m; bd_mid = bd_m -bd_mid_; +per_frame_9=bd_t = treb; bd_treb_ = bd_treb_*dec_m + (1-dec_m)*bd_t; bd_treb = bd_t-bd_treb_; +per_frame_10= +per_frame_11=n = 0; BPM = bd_minbpm; +per_frame_12=loop (bd_nres, +per_frame_13= gmegabuf(50000+n*bd_recsz) = 0; +per_frame_14= bd_arg = BPM/60*t0*6.283; +per_frame_15= gmegabuf (bd_tab0+n*bd_recsz) = BPM; +per_frame_16= BPM *= bd_finc; +per_frame_17=n+=1); +per_frame_18= +per_frame_19=bd_src=0; +per_frame_20=loop (3, bd_exc = bd_bass*(bd_src==0) + bd_mid*(bd_src==1) + bd_treb*(bd_src==2); +per_frame_21= oct = 0; +per_frame_22= loop (bd_oct, +per_frame_23= bd_slot = 0; +per_frame_24= bd_pk = 0; bd_mean = 0.0; +per_frame_25= loop (bd_spo, +per_frame_26= bd_tabptr = bd_tab0 + (oct*bd_spo+ bd_slot)*bd_recsz; +per_frame_27= n = bd_dat0 + (bd_nres*bd_src +oct*bd_spo+ bd_slot)*bd_recsz; +per_frame_28= BPM = gmegabuf(bd_tabptr); bd_omega = BPM/60*6.283; +per_frame_29= Feder = sqr(bd_omega); //Res.f = sqrt (Feder)/2pi (Hz) +per_frame_30= gmegabuf (n+4) = gmegabuf(n+2); //alte pos +per_frame_31= gmegabuf (n+1) *= 1-.5*dt * sqrt (BPM/300); //damping +per_frame_32= +per_frame_33= EC_Steps = int (1 + BPM/50)*2; +per_frame_34= loop (EC_Steps, // Euler-Cauchy steps +per_frame_35= Kraft = bd_exc - Feder*gmegabuf(n + 2) ; +per_frame_36= gmegabuf (n+1) += Kraft * dt/EC_Steps; +per_frame_37= gmegabuf (n+2) += gmegabuf(n+1) * dt/EC_Steps; +per_frame_38= ); +per_frame_39= beatcos = gmegabuf(n+1); beatsin = gmegabuf(n+2)*bd_omega; +per_frame_40= quad = sqrt (pow(beatsin,2) + pow(beatcos,2)); +per_frame_41= gmegabuf (n) = gmegabuf(n)*0.8 + 0.2*quad; +per_frame_42= bd_ampl = gmegabuf(n); +per_frame_43= bd_mean += bd_ampl; +per_frame_44= if (bd_ampl > bd_pk, bd_pk=bd_ampl, 0); +per_frame_45= bd_slot +=1;); +per_frame_46= // Komb. bass,mid,treb +per_frame_47= bd_slot = 0; +per_frame_48= bd_qual = pow(bd_pk/bd_mean*bd_spo-1,1); +per_frame_49= gmegabuf((bd_src*bd_oct+oct)*2) = bd_qual; +per_frame_50= loop (bd_spo, +per_frame_51= m = 50000 + (bd_slot + 0*oct*bd_spo)*bd_recsz; +per_frame_52= n = bd_dat0 + (bd_nres*bd_src +oct*bd_spo+ bd_slot)*bd_recsz; //#2x berechnet +per_frame_53= gmegabuf(m) += (bd_qual)*gmegabuf (n)/12; +per_frame_54= bd_slot +=1;); +per_frame_55= oct += 1;); +per_frame_56=bd_src +=1;); +per_frame_57= +per_frame_58= +per_frame_59=//Get maxind +per_frame_60=bd_slot = 0; maxind = 0; bd_pk = 0; bd_mean = 0; +per_frame_61=loop (bd_spo, +per_frame_62= m = 50000 + bd_slot*bd_recsz; +per_frame_63= gmegabuf(m) = pow(gmegabuf(m),1); +per_frame_64= bd_mean += gmegabuf(m); +per_frame_65= if (gmegabuf(m) > bd_pk, bd_pk = gmegabuf(m); maxind = bd_slot, 0); +per_frame_66=bd_slot += 1); +per_frame_67=quali = bd_pk/bd_mean*bd_spo-1; +per_frame_68= +per_frame_69=n = 0; loop (150, gmegabuf(50+n) *= 0; n+=1); +per_frame_70= +per_frame_71=//KREISE +per_frame_72=bd_src = 0; tsin = 0; tcos = 0; +per_frame_73=loop (3, +per_frame_74= oct = 0; +per_frame_75= loop (bd_oct, +per_frame_76= n = bd_dat0 + (bd_nres*bd_src +oct*bd_spo+ maxind)*bd_recsz; +per_frame_77= bd_tabptr = bd_tab0 + (oct*bd_spo+ maxind)*bd_recsz; +per_frame_78= BPM = gmegabuf(bd_tabptr); +per_frame_79= +per_frame_80= im = gmegabuf(n+1); +per_frame_81= re = gmegabuf(n+2) * BPM/60*6.283; +per_frame_82= bd_cos = cos (BPM/60*6.28*time); +per_frame_83= bd_sin = -sin (BPM/60*6.28*time); +per_frame_84= +per_frame_85=//Winkel zurueckdrehen. Das sind nun die Winkel relativ zu cos(oct*time). +per_frame_86= re0 = re*bd_cos + im*bd_sin; +per_frame_87= im0 = -re*bd_sin + im*bd_cos; +per_frame_88= bd_qual = gmegabuf((bd_src*bd_oct+oct)*2); +per_frame_89= gmegabuf (50+oct*4) += bd_qual * (im0)*1; +per_frame_90= gmegabuf (50+oct*4+1) += bd_qual * (re0)*1; +per_frame_91= gmegabuf (50+oct*4+2) += bd_qual; +per_frame_92= +per_frame_93=//Summe der besten Beitraege. Das ist der Referenzwinkel. +per_frame_94= gmegabuf (100+0) += bd_qual * im0; +per_frame_95= gmegabuf (100+1) += bd_qual * re0; +per_frame_96= +per_frame_97=//Nun sollten wir die Differenzwinkel zur Ref berechnen. Und was damit ? Dann kann ich die +per_frame_98=//Einzelwinkel auf Ref bringen - bringt doch nichts ! +per_frame_99=//Ich kann alle auf Null drehen, daraus sinusse erzeuge und addieren ->besserer Takt ? +per_frame_100= re = (bd_cos*re0 + bd_sin*im0); +per_frame_101= im = (-bd_cos*im0 + bd_sin*re0); +per_frame_102=tsin += im*5; +per_frame_103= +per_frame_104= oct += 1); +per_frame_105=bd_src +=1); +per_frame_106=q30 = tsin; +per_frame_107= +per_frame_108=vol = bass_att + mid_att + treb_att; +per_frame_109=vol_ = vol_*0.95 + 0.05*vol; +per_frame_110=q29 = vol-vol_; +per_frame_111= +per_frame_112=//Welche Oktave ??? +per_frame_113=bd_src = 0; maxo = 0; maxs = 0; maxa = 0; +per_frame_114=loop (3, +per_frame_115= oct = 1; +per_frame_116= loop (bd_oct-1, +per_frame_117= n = bd_dat0 + (bd_nres*bd_src +oct*bd_spo+ maxind)*bd_recsz; +per_frame_118= bd_qual = gmegabuf((bd_src*bd_oct+oct)*2); +per_frame_119= +per_frame_120= ampl = bd_qual / (1+oct*(maxind/bd_oct)*0); +per_frame_121= if (ampl>maxa, maxa = ampl; maxs = bd_src; maxo = oct;, 0); +per_frame_122= oct += 1); +per_frame_123=bd_src +=1); +per_frame_124= +per_frame_125=q28 = pow(4*bd_qual,1.5); +per_frame_126=q31 = q28; +per_frame_127=q32 = 4/bd_qual; +per_frame_128=if(above(q28,50),q28 = pow(5*sin(.5*bd_qual), 2), 0); +per_frame_129= +per_frame_130=monitor = q32; +per_frame_131= +per_frame_132= +per_frame_133=//Beat-Flash +per_frame_134=testi = bd_nres*maxs +bd_spo*maxo + maxind; +per_frame_135=if (bor (beat && (prog==0), abs(testi-test0)<2),test0 = testi,0); +per_frame_136=n = bd_dat0 + (test0)*bd_recsz; +per_frame_137=creep = gmegabuf(n+1); +per_frame_138=beat = (creep>0) * (creepo <0); +per_frame_139=beatct = if (change, 0, beatct+beat); +per_frame_140=prog = (prog+beat)%8; +per_frame_141=creepo = creep; +per_frame_142=show = if (beat, 1, show*0.5); +per_frame_143=q4 = (gmegabuf(n+1)/gmegabuf(n)*1000); +per_frame_144=q2 = prog; +per_frame_145= +per_frame_146= +per_frame_147=if(beat, timediff = time - time_st; time_st = time, timediff = timediff); +per_frame_148=if(below(timediff, .0625), timediff = .0625, timediff = timediff); +per_frame_149=q8 = timediff; +per_frame_150=//avgtime = avgtime*.975 + timediff*.0225; +per_frame_151=//q9 = avgtime; +per_frame_152= +per_frame_153=//monitor = q8; +per_frame_154= +per_frame_155=//Selbst bei Barbie Girl fehlt manchmal der Rhythmus in Band 2, +per_frame_156=//obwohl das der gefuehlte Takt ist - >Problem mit Phasenkorrektur ! +per_frame_157=//stehen Phasen bei doppelter Frequenz in Relation ? NEIN. +per_frame_158= +per_frame_159= +per_frame_160= +per_frame_161= +per_frame_162= +per_frame_163=//Problem: Fats Domino (1992) hat 55BPM -> Problem mit 110 +per_frame_164=//Problem: 1991 London Beat I been thinking about you - geht nicht - solved +per_frame_165=//Problem: U96 - Love religion (1995) beginnt mit BPM < 20 +per_frame_166=//Porblem: adiemus (1995) +per_frame_167=//Konflikt-Beat siehe Michale jackson b&W (1991) +per_frame_168= +per_frame_169= +per_frame_170=q24 = bd_maxbpm; +per_frame_171=//q6 = aspecty; +per_frame_172= +per_frame_173= +per_frame_174=old_bass_flop=bass_flop; +per_frame_175=old_treb_flop=treb_flop; +per_frame_176=old_mid_flop=mid_flop; +per_frame_177=chaos=.9+.1*sin(pulse); +per_frame_178=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+q4*.002,entropy); +per_frame_179=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_180=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_181=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_182=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_183=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_184=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_185=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_186=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_187=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_188=bass_residual = bass_changed*sin(pulse*1.5) + bnot(bass_changed)*bass_residual; +per_frame_189=treb_residual = treb_changed*sin(pulse*1.5) + bnot(treb_changed)*treb_residual; +per_frame_190=mid_residual = mid_changed*sin(pulse*1.5) + bnot(mid_changed)*mid_residual; +per_frame_191=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_192=q11=mid_residual; +per_frame_193=q12=bass_residual; +per_frame_194=q13=treb_residual; +per_frame_195=q14=sin(pulse); +per_frame_196=q15=cos(pulse*(.5+.1*entropy)); +per_frame_197=q16=sin(pulse*(.5+pow(.25,entropy))); +per_frame_198=ob_r=sin(time*1.0785+q16); +per_frame_199=ob_b=sin(time*0.8445+q15); +per_frame_200=ob_g=sin(time*.413+q14); +per_frame_201=ib_r=cos(time*0.6+q11*.1); +per_frame_202=ib_b=cos(time*1.4055+q12*.1); +per_frame_203=ib_g=cos(time*0.833+q13*.1); +per_frame_204=ib_size=.05+.03*q12; +per_frame_205=ob_size=.03+.02*sin(time*2.321+q12*.2); +per_frame_206=ob_a=.6+.4*q13; +per_frame_207=ib_a=.9+.1*sin(q12*.3+q14+q11*.5); +per_frame_208=rot=0; +per_frame_209= +per_frame_210=//monitor = q13; +per_frame_211= +per_frame_212= +per_frame_213=basstime += q29*.1*30/fps; +per_frame_214=q1 = basstime; +per_frame_215= +per_frame_216=//start in most active range +per_frame_217=basstime = if(below(basstime, -10000), 0, basstime); +per_frame_218=basstime = if(above(basstime, 10000), 0, basstime); +per_frame_219= +per_frame_220=basstime += bass_att*0.025 * 30/fps; +per_frame_221=vol2 = pow(bass+mid+treb,2); +per_frame_222=basssum = vol2; +per_frame_223= +per_frame_224=stickybit = time%2; +per_frame_225= +per_frame_226=//avg vol +per_frame_227=//buffer 1 +per_frame_228=volAvg = volAvg + vol2*equal(stickybit,1); +per_frame_229=//number of samples 1 or framerate +per_frame_230=sample1 = sample1 + equal(stickybit,1); +per_frame_231=//buffer 2 +per_frame_232=volAvg2 = volAvg2 + vol2*equal(stickybit,0); +per_frame_233=//number of samples 2 +per_frame_234=sample2 = sample2 + equal(stickybit,0); +per_frame_235= +per_frame_236=//transision +per_frame_237=edge = bnot(equal(bit2,stickybit)); +per_frame_238= +per_frame_239=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_240=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_241= +per_frame_242=sample1 = sample1 - sample1*edge*stickybit; +per_frame_243=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_244= +per_frame_245=//test vol against avg buffer lvl +per_frame_246=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_247=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_248= +per_frame_249=q3 = diff; +per_frame_250=pv_beat = pv_beat*0.25*sqrt(fps/30) + 0.1*(bass + mid_att + treb + q3)*(.00125*q4); +per_frame_251=q6 = pv_beat; +per_frame_252=//monitor = q6; +per_frame_253= +per_frame_254=bit2 = time%2; +per_frame_255= +per_frame_256=difftime = difftime + diff*0.03; +per_frame_257=q2 = difftime; +per_frame_258= +per_frame_259=warp = (bass*bass + mid*mid + treb*treb)*.005; +per_frame_260= +per_frame_261=foo_r = sin(q1*0.34313); +per_frame_262=foo_g = sin(q1*0.3675); +per_frame_263=foo_b = sin(q1*0.55095); +per_frame_264= +per_frame_265=if(above(foo_r, foo_g) && above(foo_r, foo_b), q23 = 1, q23 = 0); +per_frame_266=if(above(foo_g, foo_r) && above(foo_g, foo_b), q21 = 1, q21 = 0); +per_frame_267=if(above(foo_b, foo_r) && above(foo_b, foo_g), q22 = 1, q22 = 0); +per_frame_268=if(equal(q11+q12+q13,0), q22 = 1, 0); +per_frame_269= +per_frame_270=q5 = 30/fps; +per_frame_271= +per_frame_272=q19 = 50; +per_frame_273=q20 = 1; +per_frame_274= +per_frame_275=if(above(q31, 14), q19 = 100, q19 = q19); +per_frame_276= +per_frame_277=if(above(q31, 50), q19 = 500, q19 = q19); +per_frame_278= +per_frame_279=//if(above(q31, 55), +per_frame_280=// if(above(q3, 3.5), foo = 1.0 + .333/(bass_att*bass_att*bass_att); q20 = 30000, foo = foo); +per_frame_281=// if(above(bass_att + mid_att + treb_att, 2.5), q19 = foo; q20 = 30000, q19 = q19), +per_frame_282=// q19 = q19); +per_frame_283= +per_frame_284= +per_frame_285= +per_frame_286=//if(below(bass_att + mid_att + treb_att, 1), q19 = 0, q19 = q19); +per_frame_287= +per_frame_288= +per_frame_289=if(above(q3, 1.5), q19 = .5 + 10*q8, q19 = q19); +per_frame_290= +per_pixel_1=if(q6>sqrt(bass_att), +per_pixel_2= rot=if(above(q14,0),rad*.2*q15,tan(rad*(.001*q4))); +per_pixel_3= zoom=if(above(q12,1.5),zoom+(1-zoom)*rot*cos(rad*3.14*q12),if(above(q13,2)*above(x,.5+.5*q15),zoom+(1-zoom)*sin(q11*rot*3.14),zoom+(1-zoom)*cos(rad*3*q16))); +per_pixel_4= dx=above(q11,0)*sin(rad*.5*q12); +per_pixel_5= dy=above(q13,0)*sin(rad*.5*q13), +per_pixel_6= +per_pixel_7= zoom = q19; +per_pixel_8= zoomexp = q20; +per_pixel_9= rot = 0); +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = GetBlur1(tex2D(sampler_pw_main, uv_orig)); +warp_4=` +warp_5=` float retx = (1 - ret.x)*(1 - ret.y)*(1 - ret.z); +warp_6=` float2 d = texsize.zw*q5*-3*(pow(retx, .333) + .5*(retx)*GetBlur2(ret.x)*GetBlur2(ret.y)*GetBlur2(ret.z) + .2*GetBlur3(ret.x)*GetBlur3(ret.y)*GetBlur3(ret.z)); +warp_7=` float3 dx = ( GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig-float2(1,0)*d) ); +warp_8=` float3 dy = ( GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig-float2(0,1)*d) ); +warp_9=` +warp_10=` float2 uv_dy = uv_orig + (float2(dx.x, dy.x)*q21 + float2(dx.y, dy.y)*q22 + float2(dx.z, dy.z)*q23)*texsize.zw*6; +warp_11=` +warp_12=` ret = GetPixel(uv_dy) + (ret - GetPixel(uv))*0.005*q32 - (0.00015*q28*(GetPixel(uv_orig).x*GetPixel(uv_orig).y*GetPixel(uv_orig).z/(2*q8) + sqrt(treb)*GetPixel(uv_orig).x*GetPixel(uv_orig).y + sqrt(mid)*GetPixel(uv_orig).x*GetPixel(uv_orig).z + sqrt(bass)*GetPixel(uv_orig).y*GetPixel(uv_orig).z)); +warp_13=` +warp_14=` ret.x = lerp(ret.x, 1.01*tex2D(sampler_pc_main, uv_dy).x, bass_att*.05); +warp_15=` ret.y = lerp(ret.y, 1.01*tex2D(sampler_pc_main, uv_dy).y, mid_att*.05); +warp_16=` ret.z = lerp(ret.z, 1.01*tex2D(sampler_pc_main, uv_dy).z, treb_att*.05); +warp_17=` ret += .00667*(pow(q3, 1.2) - .25)*tex2D( sampler_pw_main, uv_orig ); +warp_18=` +warp_19=` ret = lerp(ret, tex2D(sampler_pc_main, uv), (q6*sqrt((1 - ret.x)*(1 - ret.y) + (1 - ret.x)*(1 - ret.z) + (1 - ret.y)*(1 - ret.z)))>1); +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float2 uv_echo = (uv - 0.5)*float2(-1,-1) + .5; +comp_5=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_6=` tex2D(sampler_main, uv_echo).xyz, +comp_7=` .5 +comp_8=` )*1; +comp_9=` +comp_10=` ret = 1 - ret*(1 - ret)*4; //invert +comp_11=` +comp_12=`} diff --git a/presets/presets_mischa_collection/Geiss - Chromatexture Paint-In 2.milk b/presets/presets_mischa_collection/Geiss - Chromatexture Paint-In 2.milk new file mode 100644 index 0000000000..2daa45b47b --- /dev/null +++ b/presets/presets_mischa_collection/Geiss - Chromatexture Paint-In 2.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.550382 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.003000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`#define sampler_pic sampler_prayerwheel +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum - frac(time*0.2)); +warp_16=` use_it = saturate(1 - use_it*33); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +warp_24=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // super-saturate color: +comp_7=` ret = lerp(lum, ret, 1.7); +comp_8=` +comp_9=` // add some stripes: +comp_10=` ret += 0.04*cos(lum*29+2.8); +comp_11=` +comp_12=` ret *= 2; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_mischa_collection/Geiss - Desert Rose 4.milk b/presets/presets_mischa_collection/Geiss - Desert Rose 4.milk new file mode 100644 index 0000000000..06545ba55e --- /dev/null +++ b/presets/presets_mischa_collection/Geiss - Desert Rose 4.milk @@ -0,0 +1,279 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.051 +fWaveScale=2.827 +fWaveSmoothing=0.090 +fWaveParam=0.0 +fModWaveAlphaStart=0.630 +fModWaveAlphaEnd=0.870 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00700 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01029 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.720 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18=warp = warp * (1 + 0.3*cos(time*0.284+4)); +per_frame_19=zoom = zoom + 0.007*cos(time*0.317+2); +warp_1=`#define sampler_pic sampler_cells +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` +warp_9=` // ERROR DIFFUSION DITHER - looks great +warp_10=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_11=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_12=` +warp_13=` // mix in img... +warp_14=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_15=` float lum = lum(pic); +warp_16=` float use_it = abs(lum*0.8+0.1 - (0.5+roam_cos.y*0.25)); +warp_17=` use_it = saturate(1 - use_it*43); +warp_18=` ret = lerp(ret, pic, use_it*0.07); +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.004; +warp_22=` //ret *= 0.99; +warp_23=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +warp_25=` +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = dot(ret, float3(0.3,0.5,0.2)); +comp_5=` +comp_6=` // enforce a certain level of color saturation on all pixels: +comp_7=` float saturation = length(ret - lum.xxx); +comp_8=` ret = lerp(lum, ret, saturation*70); +comp_9=` +comp_10=` ret *= 1.15; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_mischa_collection/Geiss - Game of Life.milk b/presets/presets_mischa_collection/Geiss - Game of Life.milk new file mode 100644 index 0000000000..b4ac75720a --- /dev/null +++ b/presets/presets_mischa_collection/Geiss - Game of Life.milk @@ -0,0 +1,259 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=3.266 +fWaveSmoothing=0.207 +fWaveParam=0.000 +fModWaveAlphaStart=1.610 +fModWaveAlphaEnd=1.790 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.01971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.580 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` float n; +warp_7=` float2 d = texsize.zw*1; +warp_8=` n = saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 1)).x*999); +warp_9=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1, 0)).x*999); +warp_10=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 1,-1)).x*999); +warp_11=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0, 1)).x*999); +warp_12=` n += saturate(tex2D(sampler_pw_main, uv+d*float2( 0,-1)).x*999); +warp_13=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 1)).x*999); +warp_14=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1, 0)).x*999); +warp_15=` n += saturate(tex2D(sampler_pw_main, uv+d*float2(-1,-1)).x*999); +warp_16=` +warp_17=` if (n < 1.5) +warp_18=` ret = 0; +warp_19=` if (n > 3.5) +warp_20=` ret = 0; +warp_21=` if (ret.x < 0.1 && abs(n-3) < 0.5) +warp_22=` ret = 1; +warp_23=` +warp_24=` // darken (decay) over time +warp_25=` ret = (ret - 0.016)*0.985; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*2.5; +comp_5=` //ret += GetBlur2( (uv-0.5)*0.333 + 0.5)*0.7; +comp_6=` ret *= 1; +comp_7=`} diff --git a/presets/presets_mischa_collection/Geiss - Myriad Mosaics.milk b/presets/presets_mischa_collection/Geiss - Myriad Mosaics.milk new file mode 100644 index 0000000000..e01d63b557 --- /dev/null +++ b/presets/presets_mischa_collection/Geiss - Myriad Mosaics.milk @@ -0,0 +1,309 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=2.620 +fWaveSmoothing=0.270 +fWaveParam=-0.080 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.0 +zoom=0.99901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.45599 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.8 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.5 +ob_b=0.450 +ob_a=0.260 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.08925 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.8 +shapecode_0_g=0.4 +shapecode_0_b=0.2 +shapecode_0_a=0.050 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=rad = rad + 0.02*cos(time*3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = wave_r + 0.05*sin(0.437*time+1); +per_frame_2=wave_g = wave_g + 0.05*sin(0.544*time+2); +per_frame_3=wave_b = wave_b + 0.05*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=// custom wave opacity modulation +per_frame_31=//beat = (bass+mid+treb) / (bass_att+mid_att+treb_att); +per_frame_32=beat = max(bass/bass_att, mid/mid_att); +per_frame_33=beat = max(beat, treb/treb_att); +per_frame_34= decay_rate = pow(0.9995, fps); +per_frame_35= beat = max( beat, prev_beat*decay_rate ); +per_frame_36= wave_a = (beat - prev_beat - 0.07)*24; +per_frame_37= is_beat = above(wave_a, 0.5); +per_frame_38= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_39= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_40= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_41= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_42= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_43= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_44=prev_beat = beat; +per_frame_45=my_rot = rot; +per_frame_46=my_zoom = zoom; +per_frame_47=my_warp = warp; +per_frame_48=my_cx = cx; +per_frame_49=my_cy = cy; +per_frame_50=my_s = s; +per_frame_51= +per_frame_52=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` float s = 0.03 + 1.5*pow(q11, 2); // should be < about 1 +warp_4=` float2 nz = tex3D( sampler_noisevol_hq, float3(uv_orig.xy*4*texsize.xy/850.0*s,time*0.055) ); +warp_5=` +warp_6=` float2 zz = uv_orig.xy * texsize.xy * 6 * 0.1 * s + nz*9; +warp_7=` uv.xy += float2(cos(zz.x),cos(zz.y))*texsize.zw * 1.7 * 0.9 / s; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` ret.xyz *= 0.99; +warp_13=` +warp_14=` // add noise: +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_16=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_17=` //* saturate(treb_att-1); +warp_18=` *0.16; +warp_19=` +warp_20=` // color rotate & desaturate over time, to keep the globs white +warp_21=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.05); +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_mischa_collection/Goody - Ego Decontructor.milk b/presets/presets_mischa_collection/Goody - Ego Decontructor.milk new file mode 100755 index 0000000000..ceb9cc7d8d --- /dev/null +++ b/presets/presets_mischa_collection/Goody - Ego Decontructor.milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.420 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.998 +fWaveScale=2.155 +fWaveSmoothing=0.900 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00950 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.015 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.500 +nMotionVectorsX=64.000 +nMotionVectorsY=1.248 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=10 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.24483 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=x=x+.2*sin(time*.411); +shape_0_per_frame2=y=y+.2*cos(time*.423); +shapecode_1_enabled=1 +shapecode_1_sides=10 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.24483 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=x=x-.2*sin(time*.411); +shape_1_per_frame2=y=y-.2*cos(time*.423); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//Unchained's Beat Code +per_frame_2= +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.9+.1*sin(pulse); +per_frame_7=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_8=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_9=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_10=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_11=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_12=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_13=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_14=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_15=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_16=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_17=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_18=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_19=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_20=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse/2+q1); +per_frame_26= +per_frame_27=q6=sin(q3*q1+q7*q2); +per_frame_28=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_29=q8=entropy; +per_frame_30= +per_frame_31=vol=(bass+mid+treb_att)*.3333; +per_frame_32= +per_frame_33=redsine=.5+.15*bass*sin(time*3); +per_frame_34=greensine=.5+.15*mid*sin(time*2); +per_frame_35=bluesine=.5+.15*treb*sin(time); +per_frame_36= +per_frame_37=redif=if(above(bass,1.2),redsine,if(above(redif,.95),.0,redif*.95)); +per_frame_38=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),.0,greenif*.95)); +per_frame_39=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),.0,blueif*.95)); +per_frame_40= +per_frame_41=r=redif; +per_frame_42=g=greenif; +per_frame_43=b=blueif; +per_frame_44= +per_frame_45=q9=r; +per_frame_46=q10=g; +per_frame_47=q11=b; +per_frame_48= +per_frame_49=wave_r=wave_r*(sin(redif*cos(b+g))); +per_frame_50=wave_g=wave_g*(sin(greenif*cos(r+b))); +per_frame_51=wave_b=wave_b*(sin(blueif*cos(r+g))); +per_frame_52= +per_frame_53=ib_r=r; +per_frame_54=ib_g=g; +per_frame_55=ib_b=b; +per_frame_56= +per_frame_57=ob_r=wave_r*redif; +per_frame_58=ob_g=wave_g*greenif; +per_frame_59=ob_b=wave_b*blueif; +per_pixel_1=//xy transform code +per_pixel_2=xv = sin(time*.333)*x -cos(time*.667)*x; +per_pixel_3=yv = cos(time*.233)*y +sin(time*.567)*y; +per_pixel_4=x = xv; y = yv; +per_pixel_5=//end x/y transform code +per_pixel_6= +per_pixel_7=sx=sx+.075*sin(x*3+q7*x); +per_pixel_8=sy=sy+.075*sin(y*3.1+q7*y); +per_pixel_9= +per_pixel_10=dx=dx+.005*cos(y*20+.1*cos(time*.11)+(q2*q6)); +per_pixel_11=dy=dy+.005*sin(x*20+.1*sin(time*.09)+(q3*q6)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uvm=0; +comp_4=`float2 uvv=0; +comp_5=`float2 uvt=0; +comp_6=` +comp_7=`uvm.x=.5*tex2D(sampler_noise_hq , uv.x)+.5*tex2D(sampler_main, uv.x); +comp_8=`uvm.y=.5*tex2D(sampler_main, uv.y)+.5*tex2D(sampler_noise_hq, uv.y); +comp_9=` +comp_10=`uvv=uv*uvm; +comp_11=` +comp_12=`ret = tex2D(sampler_main, (uv)).xyz; +comp_13=` +comp_14=`float3 bl = GetBlur1(uv)-GetBlur3(tex2D(sampler_noise_hq, (GetBlur3(uvv)))); +comp_15=`float2 texm = frac(bl+uvm); +comp_16=` +comp_17=`uvt=uvv-texm; +comp_18=` +comp_19=`ret =2*bl*tex2D(sampler_main, texm*uvt); +comp_20=`} diff --git a/presets/presets_mischa_collection/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk b/presets/presets_mischa_collection/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk new file mode 100755 index 0000000000..3694fa466d --- /dev/null +++ b/presets/presets_mischa_collection/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk @@ -0,0 +1,735 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=2.15152 +fShader=0.000 +zoom=1.10370 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=7.680 +nMotionVectorsY=1.440 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=spintime =2.2; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 12 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.0005 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_4=` +warp_5=`ret = GetPixel(uv) - 0.08; +warp_6=`float2 uv1 = uv; +warp_7=`float2 d = texsize.zw*4; +warp_8=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +warp_9=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +warp_10=`d *= float2(dx.x,dy.x)*0.4; +warp_11=`uv1+=d; +warp_12=`//uv1 = frac(uv1); +warp_13=`ret.x = tex2d(sampler_fc_main, uv1).x; +warp_14=`ret.x -=(GetBlur1(uv1).x-ret.x)*0.05 + 0.004; +warp_15=` +warp_16=`ret.z = max(length(float2(dx.x,dy.x))*1.4,GetPixel(lerp(uv_orig,uv,-1) - float2(dx.z,dy.z)*texsize.zw*4).z) - 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=`float2 uv_x = uv - float2(dx.z,dy.z)*0 + float2(dx.y,dy.y)*0.1; +comp_8=`ret = GetBlur2(uv_x).x*saturate(1-GetPixel(uv).z)*pow(hue_shader.yxz,8)*3; +comp_9=`ret = lerp(ret,pow(hue_shader.yzx,8)*1.4,GetPixel(uv_x).x*0.8 + GetBlur1(uv_x).x); +comp_10=`ret *= saturate(1 - GetBlur1(uv).y*4); +comp_11=`ret = lerp(ret,1,pow(hue_shader,8)*GetPixel(saturate(uv - float2(dx.y,dy.y)*0.04)).z*1.2); +comp_12=`ret = lerp(ret,pow(hue_shader,8).zxy*1.8,GetPixel(uv).y); +comp_13=`} diff --git a/presets/presets_mischa_collection/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk b/presets/presets_mischa_collection/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk new file mode 100644 index 0000000000..6bfa4f1ef2 --- /dev/null +++ b/presets/presets_mischa_collection/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk @@ -0,0 +1,489 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.965 +fVideoEchoZoom=1.101 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=1.470 +fZoomExponent=4.77802 +fShader=0.000 +zoom=0.99816 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00183 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.500 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=1.280 +nMotionVectorsY=48.000 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.000 +mv_b=1.000 +mv_a=0.400 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_0_per_point5=xp=xp*0.10; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.10; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.100 +wavecode_1_g=0.500 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q2; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs*4; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.700 +wavecode_2_g=0.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q3; //mytime +wave_2_per_frame2=t2=q2; +wave_2_per_frame3=t3=.3*q2; +wave_2_per_point1=t=t1+t2*(1-sample); +wave_2_per_point2= +wave_2_per_point3=ox=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point5= +wave_2_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_2_per_point7=l=tan(ang); +wave_2_per_point8=x2=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point9=y2=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_2_per_point11=dir=-1+2*above(sum,-.001); +wave_2_per_point12= +wave_2_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point15= +wave_2_per_point16=x=ox+xtrudx; +wave_2_per_point17=y=oy+xtrudy; +wave_2_per_point18= +wave_2_per_point19=px=ox; +wave_2_per_point20=py=oy; +wave_2_per_point21= +wave_2_per_point22=counter=counter+1; +wave_2_per_point23=a=sqr(sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q3; //mytime +wave_3_per_frame2=t2=q2; +wave_3_per_frame3=t3=.3*q2; +wave_3_per_point1=t=t1+t2*(1-sample); +wave_3_per_point2= +wave_3_per_point3=ox=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point5= +wave_3_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_3_per_point7=l=tan(ang); +wave_3_per_point8=x2=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_3_per_point11=dir=-1+2*above(sum,-.001); +wave_3_per_point12= +wave_3_per_point13=xtrudx=(counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point14=xtrudy=(counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point15= +wave_3_per_point16=x=ox+xtrudx; +wave_3_per_point17=y=oy+xtrudy; +wave_3_per_point18= +wave_3_per_point19=px=ox; +wave_3_per_point20=py=oy; +wave_3_per_point21= +wave_3_per_point22=counter=counter+1; +wave_3_per_point23=a=sqr(sample); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.590 +shapecode_0_rad=1.51261 +shapecode_0_ang=3.39292 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=100.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.900 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.66231 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.10258 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shape_1_per_frame2=ang=sin(time/20)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.300 +shapecode_2_rad=1.46815 +shapecode_2_ang=5.02655 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.33198 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=y=sin(time/2)*0.5+0.5; +shapecode_3_enabled=1 +shapecode_3_sides=28 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.38316 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.37657 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=//tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.55; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(48/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14= +per_frame_15=dt=1/FPS; +per_frame_16=mytime=mytime+dt; +per_frame_17=contvol=min( max(.5, (1-.5*dt)*contvol+.5*dt*(bass+mid+treb)*.133 ) ,2 ) ; +per_frame_18=q2=contvol; +per_frame_19=q3=mytime; +per_frame_20=echo_zoom=1+(vol*0.01); +per_frame_21=sx=-.99; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/100; +per_pixel_3=//sy=-1.02; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(frac(uv2)) + 2*GetPixel(frac(uv3)); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(frac(uv)); +comp_27=` +comp_28=`} diff --git a/presets/presets_mischa_collection/ORB - Acid Cycle Gas Giant.milk b/presets/presets_mischa_collection/ORB - Acid Cycle Gas Giant.milk new file mode 100755 index 0000000000..1403bfbdee --- /dev/null +++ b/presets/presets_mischa_collection/ORB - Acid Cycle Gas Giant.milk @@ -0,0 +1,380 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.266718 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.160000 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,5),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,5),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=state = state + above(diff,10); +per_frame_44=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_45=q8 = spintime; +per_frame_46= +per_frame_47=state2 = state2 + above(diff,10); +per_frame_48=state2 = if(above(state2,10),1,state2); +per_frame_49=q9 = state2; +per_frame_50= +per_frame_51=monitor = state2; +per_pixel_1=zoom = 1.05 - q3*0.05; +per_pixel_2=rot = sin(rad)*0.01; +per_pixel_3=warp = 2*zoom*rad; +per_pixel_4= +per_pixel_5= +per_pixel_6=//rules +per_pixel_7=fuzzy1 = x; +per_pixel_8=fuzzy3 = x-1; +per_pixel_9=fuzzy2 = y; +per_pixel_10=fuzzy4 = y-1; +per_pixel_11= +per_pixel_12=//activations approx sawtooth with sin curve +per_pixel_13=f1 = sin(q2 - 1.5707); +per_pixel_14=f2 = sin(q2); +per_pixel_15=f3 = sin(q2 + 1.5707); +per_pixel_16=f4 = sin(q2 + 3.14); +per_pixel_17= +per_pixel_18=//take only values above zero +per_pixel_19=f1 = f1*above(f1,0); +per_pixel_20=f2 = f2*above(f2,0); +per_pixel_21=f3 = f3*above(f3,0); +per_pixel_22=f4 = f4*above(f4,0); +per_pixel_23= +per_pixel_24=//sum rule ativations +per_pixel_25=sum_fuzzy = fuzzy1*f1 + fuzzy2*f2 - fuzzy3*f3 - fuzzy4*f4; +per_pixel_26=sum_fuzzy = cos(sum_fuzzy)*1.2; +per_pixel_27= +per_pixel_28=zoom = 1 + sum_fuzzy*0.05; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` +warp_5=` +warp_6=` float3 output1 = tex2D( sampler_main, (uv-0.5)*0.99 + 0.5).xyz; +warp_7=` float3 output2 = tex2D( sampler_main, uv).xyz; +warp_8=` +warp_9=` ret = normalize(output1*0.1 + output2*0.9); +warp_10=` // darken (decay) over time +warp_11=` ret *= 1.04; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_mischa_collection/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk b/presets/presets_mischa_collection/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk new file mode 100644 index 0000000000..27727e7658 --- /dev/null +++ b/presets/presets_mischa_collection/Rovastar + Loadus + Geiss - FractalDrop (Insanity Mix).milk @@ -0,0 +1,305 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.02; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0,0,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.08)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` //float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` float3 a = tex2D(sampler_main, (uv-0.5)*0.4+0.5); +comp_25=` float3 col1 = pow(a.xyz, a.yzx*2-1); +comp_26=` ret = col1 * saturate(dot(g,dir1)); +comp_27=` ret *= hue_shader*1.1; +comp_28=`} diff --git a/presets_milkdrop/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk b/presets/presets_mischa_collection/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk rename to presets/presets_mischa_collection/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk diff --git a/presets_projectM/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk b/presets/presets_mischa_collection/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk old mode 100755 new mode 100644 similarity index 100% rename from presets_projectM/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk rename to presets/presets_mischa_collection/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk diff --git a/presets/presets_mischa_collection/Stahlregen & AdamFX closer to god through bacon.milk b/presets/presets_mischa_collection/Stahlregen & AdamFX closer to god through bacon.milk new file mode 100755 index 0000000000..fe0604cb63 --- /dev/null +++ b/presets/presets_mischa_collection/Stahlregen & AdamFX closer to god through bacon.milk @@ -0,0 +1,261 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.327 +fWaveScale=1.605 +fWaveSmoothing=0.600 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(time*0.321)) + (y*2-1)*(0.08+0.15*cos(time*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_5=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv)*0.8 - 0.4 ; +comp_6=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_7=`c = c + b - c*b; +comp_8=`a = a + c - a*c; +comp_9=`base = 1.4*a; +comp_10=`ret = base*(1-base)*(1-base)*4*float3(0.7,1,0) + pow(base,2)*float3(-0.1,0.1,0.5); +comp_11=`ret = 0.6 - ret; +comp_12=`//ret.xy = ret.yx; +comp_13=`} diff --git a/presets/presets_mischa_collection/The NG + Geiss + Flexi - The Waterfowl In The Rain.milk b/presets/presets_mischa_collection/The NG + Geiss + Flexi - The Waterfowl In The Rain.milk new file mode 100755 index 0000000000..0628d900bc --- /dev/null +++ b/presets/presets_mischa_collection/The NG + Geiss + Flexi - The Waterfowl In The Rain.milk @@ -0,0 +1,456 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.000 +zoom=1.01901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.45599 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.500 +ob_b=0.250 +ob_a=0.160 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 + 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=r = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 + 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1+sin(sp); +wave_2_per_point40=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_29=decay_rate = pow(0.993, fps); // lower # = more hasty to declare a beat +per_frame_30=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_31=decay_to = 1.0; // lower # = more hasty to declare a beat +per_frame_32=beat = bass/max(min_att,bass_att); +per_frame_33=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_34=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_35=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_36=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_37=is_beat = above(beat_level, 0.5); +per_frame_38=prev_beat = beat; +per_frame_39= // put your beat responses HERE: +per_frame_40= wave_a = beat_level + 1.65; +per_frame_41= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_42= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_43= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_44= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_45= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_46= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_47=my_rot = rot; +per_frame_48=my_zoom = zoom; +per_frame_49=my_warp = warp; +per_frame_50=my_cx = cx; +per_frame_51=my_cy = cy; +per_frame_52=my_s = s; +per_frame_53= +per_frame_54=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv-.5) * aspect.xy; +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=`float z = q10*24*length(((uv1.x)*(uv1.y))); +warp_11=`float2 d = normalize(uv1); +warp_12=`float2 rs = clamp(tan(z)*d,-2,2); +warp_13=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_14=`uv -= rs/200; +warp_15=` +warp_16=`uv6 = .4*sin(uv*6+rand_frame*16); +warp_17=`mus = .1/(length(uv6)); +warp_18=`mus *= .5*(1+roam_cos); +warp_19=` +warp_20=`float3 blur = GetBlur2(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.02 + .1*mus; +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.025) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` uv = 0.05 + 0.9*uv; +comp_5=` ret = GetBlur1(uv); +comp_6=` uv += -.05*asin(3*ret.yx)+.05*cos(2*ret.zz)-0.025; +comp_7=` +comp_8=` ret = tex2D(sampler_main,uv); +comp_9=` ret += GetBlur1(uv); +comp_10=` +comp_11=` // palettize: +comp_12=` // ret = pow(lum(ret), float3(0.3, .76, 0.87)); +comp_13=` +comp_14=` // invert +comp_15=` ret = saturate(ret); +comp_16=` ret *= ret; +comp_17=` //ret.xyz *= 2; // a little bit of overbright +comp_18=`} +comp_19=` +comp_20=` diff --git a/presets/presets_mischa_collection/The NG + MindJourney - Dark Matt3r (Muff1ed SuperN0va).milk b/presets/presets_mischa_collection/The NG + MindJourney - Dark Matt3r (Muff1ed SuperN0va).milk new file mode 100755 index 0000000000..c3b93a50ed --- /dev/null +++ b/presets/presets_mischa_collection/The NG + MindJourney - Dark Matt3r (Muff1ed SuperN0va).milk @@ -0,0 +1,350 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.630 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99950 +fShader=0.000 +zoom=0.99980 +rot=0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=-0.00800 +warp=0.01000 +sx=1.00980 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.800 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.3*sin(vol*50); +per_frame_2=wave_b = wave_b + 0.3*sin(vol*20); +per_frame_3=wave_g = wave_g + 0.5*sin(vol*35); +per_frame_4= +per_frame_5= +per_frame_6=q8=wave_r; +per_frame_7=q7=wave_b; +per_frame_8=q6=wave_g; +per_frame_9= +per_frame_10=wr = 0.5+0.4*(0.6*sin(time*1.1) + 0.4*sin(0.8*time)); +per_frame_11=wb = 0.5+0.4*(0.6*sin(time*1.6) + 0.4*sin(0.5*time)); +per_frame_12=wg = 0.5+0.4*(0.6*sin(time*1.34) + 0.4*sin(0.4*time)); +per_frame_13= +per_frame_14=monitor=wg; +per_frame_15=q10=wr; +per_frame_16=q11=wb; +per_frame_17=q12=wg; +per_frame_18=q18 = 0.007*sin(time*0.1); +per_frame_19=q17 = -0.007*sin(time*0.254); +per_frame_20=q2=bass_thresh; +per_frame_21= +per_frame_22=vol=(bass+mid+treb)*0.25; +per_frame_23=vol=vol*vol; +per_frame_24=q3=vol; +per_frame_25= +per_frame_26=warp=0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=` float3 rc = GetPixel(uv)+GetBlur1(uv);//+GetPixel(uv); +warp_6=` uv = uv-float2(0,1); +warp_7=` float2 ruv = 0.5 + (uv-0.5)*(1+(rc.y*0.03)); +warp_8=` +warp_9=` ruv = frac(float2(ruv.x+pow(rc.x,0), ruv.y+pow(rc.x, 0.005))); +warp_10=` +warp_11=` float3 noise3 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_12=` noise3 *= frac(q15); +warp_13=` noise3 = lerp(noise3, float3(0,0,0), frac(q3*0.5)); +warp_14=` +warp_15=` ret = tex2D(sampler_main, float2(ruv.x, ruv.y)).xyz; +warp_16=` +warp_17=` float3 noise2 = lerp(noise3,float3(q10,q11,q12), ret.x); +warp_18=` +warp_19=` ret += saturate(cross((ret), (noise2))); +warp_20=` ret *= 1; +warp_21=` +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace i.milk b/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace i.milk new file mode 100755 index 0000000000..b1a372b992 --- /dev/null +++ b/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace i.milk @@ -0,0 +1,595 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.965 +fVideoEchoZoom=1.216 +fVideoEchoAlpha=0.800 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.010 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.800 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=13.66863 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2=//plot random x position via function of sample pos; +wave_0_per_point3=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point4=xp=xp*.20; +wave_0_per_point5=//plot random y position via function of sample pos; +wave_0_per_point6=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point7=yp=yp*.20; +wave_0_per_point8=//plot random z position via function of sample pos; +wave_0_per_point9=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point10=zp=zp*0.25; +wave_0_per_point11= +wave_0_per_point12=//pull stars toward screen +wave_0_per_point13=zp=zp + 1 - t1; +wave_0_per_point14= +wave_0_per_point15=//correct when below 0 +wave_0_per_point16=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point17= +wave_0_per_point18=//darken far stars +wave_0_per_point19=//a=(1 - zp*0.5); +wave_0_per_point20= +wave_0_per_point21=zp=zp*0.7; +wave_0_per_point22= +wave_0_per_point23=x=xp/zp + 0.5; +wave_0_per_point24=y=yp/zp + 0.5; +wave_0_per_point25= +wave_0_per_point26=h=sin(sample*6.28)*.5+.5; +wave_0_per_point27=//s=sin(zp)*.5+.5; +wave_0_per_point28=s=min(abs(zp*.9),1); +wave_0_per_point29=l=min(abs(bass_att*.7),1); +wave_0_per_point30=//l=1; +wave_0_per_point31=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point32=// +wave_0_per_point33=// HSL to RGB by PieturP +wave_0_per_point34=// +wave_0_per_point35=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point36=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point37=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point38=// +wave_0_per_point39=cc=(6*h); +wave_0_per_point40=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point41=zf=(6*h)-cc; +wave_0_per_point42=zm=l; +wave_0_per_point43=zp=l*(1-s); +wave_0_per_point44=zq=l*(1-s*zf); +wave_0_per_point45=zt=l*(1-s*(1-zf)); +wave_0_per_point46=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point47=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point48=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point49=rr=if(equal(s,0),l,rr); +wave_0_per_point50=gg=if(equal(s,0),l,gg); +wave_0_per_point51=bb=if(equal(s,0),l,bb); +wave_0_per_point52= +wave_0_per_point53=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point54= +wave_0_per_point55=r=rr; +wave_0_per_point56=g=gg; +wave_0_per_point57=b=bb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=15.09868 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1= +wave_1_per_point2=//y=value1-value2+.5; +wave_1_per_point3=//qz=time; +wave_1_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_1_per_point5= +wave_1_per_point6=//qz=314;//314; +wave_1_per_point7=qz=314; +wave_1_per_point8=s=sin(time)*.2+.3; +wave_1_per_point9=//x=cos(value1+sample*qz)*.4+.5; +wave_1_per_point10=x=sample; +wave_1_per_point11=//y=sin(sample*qz)*.4+.5; +wave_1_per_point12=y=.103+value1; +wave_1_per_point13=r=0; +wave_1_per_point14=g=0; +wave_1_per_point15=b=0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21= +wave_2_per_point22= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.140 +shapecode_0_y=0.170 +shapecode_0_rad=2.20764 +shapecode_0_ang=3.14159 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.25537 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.140 +shapecode_1_y=0.500 +shapecode_1_rad=0.10100 +shapecode_1_ang=3.14159 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=3.24126 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=p=p+.62; +shape_1_per_frame3=slowp=slowp+.062; +shape_1_per_frame4=p=below(p,6.283)*p; +shape_1_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_1_per_frame6=x=sin(p)*.35+.5; +shape_1_per_frame7=y=cos(p)*.35+.5; +shape_1_per_frame8=h=sin(slowp)*.5+.5; +shape_1_per_frame9=s=1; +shape_1_per_frame10=l=1; +shape_1_per_frame11=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame12=// +shape_1_per_frame13=// HSL to RGB by PieturP +shape_1_per_frame14=// +shape_1_per_frame15=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame16=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame17=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame18=// +shape_1_per_frame19=cc=(6*h); +shape_1_per_frame20=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame21=zf=(6*h)-cc; +shape_1_per_frame22=zm=l; +shape_1_per_frame23=zp=l*(1-s); +shape_1_per_frame24=zq=l*(1-s*zf); +shape_1_per_frame25=zt=l*(1-s*(1-zf)); +shape_1_per_frame26=monitor=zq; +shape_1_per_frame27=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame28=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame29=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame30=rr=if(equal(s,0),l,rr); +shape_1_per_frame31=gg=if(equal(s,0),l,gg); +shape_1_per_frame32=bb=if(equal(s,0),l,bb); +shape_1_per_frame33= +shape_1_per_frame34=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame35=r=rr; +shape_1_per_frame36=g=gg; +shape_1_per_frame37=b=bb; +shape_1_per_frame38= +shape_1_per_frame39=h=sin(slowp)*.5+.5; +shape_1_per_frame40=l=.5; +shape_1_per_frame41=s=.55; +shape_1_per_frame42=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame43=// +shape_1_per_frame44=// HSL to RGB by PieturP +shape_1_per_frame45=// +shape_1_per_frame46=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame47=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame48=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame49=// +shape_1_per_frame50=cc=(6*h); +shape_1_per_frame51=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame52=zf=(6*h)-cc; +shape_1_per_frame53=zm=l; +shape_1_per_frame54=zp=l*(1-s); +shape_1_per_frame55=zq=l*(1-s*zf); +shape_1_per_frame56=zt=l*(1-s*(1-zf)); +shape_1_per_frame57=monitor=zq; +shape_1_per_frame58=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame59=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame60=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame61=rr=if(equal(s,0),l,rr); +shape_1_per_frame62=gg=if(equal(s,0),l,gg); +shape_1_per_frame63=bb=if(equal(s,0),l,bb); +shape_1_per_frame64= +shape_1_per_frame65=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame66=r2=rr; +shape_1_per_frame67=g2=gg; +shape_1_per_frame68=b2=bb; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.62174 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.45112 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.200 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.140 +shapecode_3_y=0.500 +shapecode_3_rad=0.12324 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=3.24126 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1= +shape_3_per_frame2=p=p+.314; +shape_3_per_frame3=slowp=slowp+.00628; +shape_3_per_frame4=p=below(p,6.283)*p; +shape_3_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_3_per_frame6=my=my+(mid*mid*mid)*.02; +shape_3_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_3_per_frame8=x=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_3_per_frame9=y=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_3_per_frame10=h=sin(slowp)*.5+.5; +shape_3_per_frame11=s=min(abs(bass*.6),1); +shape_3_per_frame12=l=1; +shape_3_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame14=// +shape_3_per_frame15=// HSL to RGB by PieturP +shape_3_per_frame16=// +shape_3_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame20=// +shape_3_per_frame21=cc=(6*h); +shape_3_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame23=zf=(6*h)-cc; +shape_3_per_frame24=zm=l; +shape_3_per_frame25=zp=l*(1-s); +shape_3_per_frame26=zq=l*(1-s*zf); +shape_3_per_frame27=zt=l*(1-s*(1-zf)); +shape_3_per_frame28=monitor=zq; +shape_3_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame32=rr=if(equal(s,0),l,rr); +shape_3_per_frame33=gg=if(equal(s,0),l,gg); +shape_3_per_frame34=bb=if(equal(s,0),l,bb); +shape_3_per_frame35= +shape_3_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame37=r=rr; +shape_3_per_frame38=g=gg; +shape_3_per_frame39=b=bb; +shape_3_per_frame40= +shape_3_per_frame41=h=sin(slowp)*.5+.5; +shape_3_per_frame42=l=min(abs(bass*.6),1); +shape_3_per_frame43=s=1; +shape_3_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame45=// +shape_3_per_frame46=// HSL to RGB by PieturP +shape_3_per_frame47=// +shape_3_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame51=// +shape_3_per_frame52=cc=(6*h); +shape_3_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame54=zf=(6*h)-cc; +shape_3_per_frame55=zm=l; +shape_3_per_frame56=zp=l*(1-s); +shape_3_per_frame57=zq=l*(1-s*zf); +shape_3_per_frame58=zt=l*(1-s*(1-zf)); +shape_3_per_frame59=monitor=zq; +shape_3_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame63=rr=if(equal(s,0),l,rr); +shape_3_per_frame64=gg=if(equal(s,0),l,gg); +shape_3_per_frame65=bb=if(equal(s,0),l,bb); +shape_3_per_frame66= +shape_3_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame68=r2=rr; +shape_3_per_frame69=g2=gg; +shape_3_per_frame70=b2=bb; +shape_3_per_frame71=border_r=rr; +shape_3_per_frame72=border_g=gg; +shape_3_per_frame73=border_b=bb; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=`ret-=roam_sin.wzy*roam_cos.zxy; +warp_8=` ret = ret- (ret*.5); +warp_9=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_10=` ret = ret - .01; +warp_11=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 txr = float3(uv,q2); +comp_5=`txr-=roam_sin.zyx*roam_cos.ywx; +comp_6=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_7=` ret = lerp( tex2D(sampler_main, (uv-0.5)*0.98 + 0.5).xyz, +comp_8=` tex2D(sampler_main, (uv_echo-0.5)*0.98 + 0.5).xyz, +comp_9=` 0.50 +comp_10=` ) + GetBlur3(uv) + GetBlur3(uv_echo) +comp_11=` + GetBlur1(uv) + GetBlur1(uv_echo); //video echo; //video echo +comp_12=` ret *= tex3D(sampler_noisevol_hq, txr); +comp_13=` ret *= 2.0; //gamma +comp_14=` //ret = ret*(1 - ret)*10; //brighten +comp_15=`} diff --git a/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace is Constructed Dos.milk b/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace is Constructed Dos.milk new file mode 100755 index 0000000000..41e1b3d57a --- /dev/null +++ b/presets/presets_mischa_collection/The NG + MindJourney - Unconstructed DreamSpace is Constructed Dos.milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.965 +fVideoEchoZoom=1.216 +fVideoEchoAlpha=0.800 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300 +fWaveScale=1.694 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=`ret-=roam_sin.wzy*roam_cos.zxy; +warp_8=` ret = ret- (ret*.5); +warp_9=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_10=` ret = ret - .01; +warp_11=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 txr = float3(uv,q2); +comp_5=`txr-=roam_sin.zyx*roam_cos.ywx; +comp_6=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_7=` ret = lerp( tex2D(sampler_main, (uv-0.5)*0.98 + 0.5).xyz, +comp_8=` tex2D(sampler_main, (uv_echo-0.5)*0.98 + 0.5).xyz, +comp_9=` 0.50 +comp_10=` ) + GetBlur3(uv) + GetBlur3(uv_echo) +comp_11=` + GetBlur1(uv) + GetBlur1(uv_echo); //video echo; //video echo +comp_12=` ret *= tex3D(sampler_noisevol_hq, txr); +comp_13=` ret *= 2.0; //gamma +comp_14=` //ret = ret*(1 - ret)*10; //brighten +comp_15=`} diff --git a/presets/presets_mischa_collection/The NG + amandio c - The Eig.textClipping b/presets/presets_mischa_collection/The NG + amandio c - The Eig.textClipping new file mode 100644 index 0000000000..9fb5b0410f Binary files /dev/null and b/presets/presets_mischa_collection/The NG + amandio c - The Eig.textClipping differ diff --git a/presets/presets_mischa_collection/The NG + fiShbRaiN + Flexi + martin - Last Dying Moments (Under a Bright Sun).milk b/presets/presets_mischa_collection/The NG + fiShbRaiN + Flexi + martin - Last Dying Moments (Under a Bright Sun).milk new file mode 100755 index 0000000000..8f3694c3b1 --- /dev/null +++ b/presets/presets_mischa_collection/The NG + fiShbRaiN + Flexi + martin - Last Dying Moments (Under a Bright Sun).milk @@ -0,0 +1,446 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.200 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=126 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03030 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=128 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02970 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=16 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03030 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%5; +per_frame_10=monitor = index2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18= +per_frame_19=sb = sb*dec_med + q21*(1-dec_med); +per_frame_20=q29 = sb; +per_frame_21= +per_frame_22=k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23=p1 = (index2-2); +per_frame_24= +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_27=q5 = cos(p3*3.14/2); +per_frame_28= +per_frame_29=rott = rott + .003*30/fps*p3; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36=movx = movx + .002*30/fps; +per_frame_37=q28 = movx; +per_frame_38= +per_frame_39=q15 = (1+sin(time/23))*.15; +per_frame_40=q29 = 4*(.5+sin(time/17)); +per_frame_41=q30 = 5/(1.2+sin(time/50)); +per_frame_42=q31 = sin(time/38)/3; +per_frame_43=q32 = 2+sin(time/18); +per_frame_44= +per_frame_45=warp = .06; +per_frame_46=zoom = .998; +per_frame_47= +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .004*GetBlur1(uv)*float2 (0,1);//rs/20; +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv1*18*rand_frame); +warp_16=`mus = .051/(length(uv6)); +warp_17=`mus *= float3 (1,.8,.5); +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .15*mus; +warp_24=`float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(uv2) + 2*GetPixel(uv3); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_27=` +comp_28=`} diff --git a/presets/presets_mischa_collection/Tripgnosis - Antimatter Streams.milk b/presets/presets_mischa_collection/Tripgnosis - Antimatter Streams.milk new file mode 100755 index 0000000000..cd5a020105 --- /dev/null +++ b/presets/presets_mischa_collection/Tripgnosis - Antimatter Streams.milk @@ -0,0 +1,678 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.500000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.611 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00400 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.12532 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.650 +wave_b=0.750 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.010 +wavecode_0_g=0.900 +wavecode_0_b=0.990 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.010 +wavecode_1_g=0.550 +wavecode_1_b=0.750 +wavecode_1_a=0.990 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.800 +wavecode_2_b=0.060 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.100 +wavecode_3_g=0.150 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04556 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.350 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.150 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=q1=time*0.9; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 3.5; //TWEAK +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_mischa_collection/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk b/presets/presets_mischa_collection/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk new file mode 100755 index 0000000000..0c563d0088 --- /dev/null +++ b/presets/presets_mischa_collection/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk @@ -0,0 +1,415 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.110 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(q1*0.22); +wave_0_per_point17=g = 0.5 + 0.5*sin(q1*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=p1 = int(rand(16)); +per_frame_init_2=p2 = p1; +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.14159265359/4; +per_frame_26= +per_frame_27=q27 = 8-index; +per_frame_28=q28 = sin(time/7); +per_frame_29=q29 = index4; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36=mv_a = .5 * q1; +per_frame_37= +per_frame_38=movez = movez + .01 * 30/fps ; +per_frame_39=q29 = movez; +per_frame_40= +per_frame_41=movex = movex + .003 * 30/fps *q2; +per_frame_42=q30 = movex; +per_frame_43= +per_frame_44=q31 = sqr(sin(time/17)); +per_frame_45=q32 = sqr(cos(time/17)); +per_frame_46= +per_frame_47=zoom = 1.0; +per_frame_48=rot = .0; +per_frame_49=dx = .0; +per_frame_50=warp = .2; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float2 zz = uv1 *texsize.xy *.01; +warp_7=`zz =mul(zz,float2x2(_qa)); +warp_8=`zz = -zz.yx; +warp_9=`float2 h1 = clamp(tan(zz.yx),-8,8) * cos(4*zz); +warp_10=` +warp_11=`uv += h1*texsize.zw * 16; +warp_12=`float3 crisp = tex2D(sampler_main,uv); +warp_13=` +warp_14=`ret = crisp*.99-.01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float srad = sqrt(rad)+ 0.05; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main, uv + 0.06*float2(cos(uv.y*27*0.5),sin(uv.x*39*0.5))).xyz); +comp_6=`} diff --git a/presets/presets_mischa_collection/ech0 - purp-trip of purpose.milk b/presets/presets_mischa_collection/ech0 - purp-trip of purpose.milk new file mode 100755 index 0000000000..e53dcab229 --- /dev/null +++ b/presets/presets_mischa_collection/ech0 - purp-trip of purpose.milk @@ -0,0 +1,384 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.16000 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=20.160 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.400 +mv_r=1.000 +mv_g=0.400 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.12682 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=mx=.5; +wave_0_init2=my=.4; +wave_0_init3=md=3; +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.12682 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=mx=.5; +wave_1_init2=my=.4; +wave_1_init3=md=3; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.12682 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=mx=.5; +wave_2_init2=my=.4; +wave_2_init3=md=3; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.12682 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=cos(tan(treb + bass*.1)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.20321 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.22019 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=spintime = 0.5; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).z; // first julia fractal iteration +warp_5=`ret.y = lerp(lerp(tex2D( sampler_fc_main, uv_m ).x, ret.x,0.5), +warp_6=` GetPixel(uv_orig).y, +warp_7=` 0.75); // 75% of motion blur to the green channel +warp_8=` +warp_9=` +warp_10=`float2 d = texsize.zw*6; +warp_11=`float2 uv_z = (uv_orig-0.5)*0.998 + 0.5; // a small dose of zoom-in +warp_12=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_13=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_14=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_15=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_16=` tex2d(sampler_fc_main,uv_z).z); +warp_17=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_18=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur2(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= .65; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_mischa_collection/fiShbRaiN - white scream firefly.milk b/presets/presets_mischa_collection/fiShbRaiN - white scream firefly.milk new file mode 100755 index 0000000000..c070bcccac --- /dev/null +++ b/presets/presets_mischa_collection/fiShbRaiN - white scream firefly.milk @@ -0,0 +1,223 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.910000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285745 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=100.000000 +fWarpScale=1.951295 +fZoomExponent=0.010000 +fShader=1.000000 +zoom=0.904847 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.905227 +sx=0.999995 +sy=0.999998 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.741923 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=treb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089252 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=0.900000 +shapecode_0_g=0.400000 +shapecode_0_b=0.800000 +shapecode_0_a=0.800000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.850000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.010000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time; +shape_0_per_frame2=rad=rad+(treb*.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=x-(bass*.05); +shape_1_per_frame2=y=y-(treb*.02)+(sin(time)*.05); +shape_1_per_frame3=rad=rad+treb*.1; +shape_1_per_frame4=g=treb*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.350000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.662308 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550449 +shapecode_2_r=0.400000 +shapecode_2_g=0.800000 +shapecode_2_b=0.900000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.800000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=mid_att*.07; +per_frame_1=sx=bass; +per_frame_2=wave_r=treb*.5; +per_frame_3=wave_g=wave_r; +per_frame_4=wave_b=1; +per_frame_5=echo_zoom=echo_zoom+(above(bass,1.3)*bass*.1); +per_pixel_1=rot=(ang*sin(time)*.02); +per_pixel_2=zoom=zoom+(above(y,.4)*below(y,.6)*bass*.1)*rad; diff --git a/presets/presets_mischa_collection/martin - another kind of groove.milk b/presets/presets_mischa_collection/martin - another kind of groove.milk new file mode 100755 index 0000000000..bde62b1d43 --- /dev/null +++ b/presets/presets_mischa_collection/martin - another kind of groove.milk @@ -0,0 +1,437 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.952379 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.391579 +fWaveScale=1.575857 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.500000 +wave_g=0.790000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=31.999998 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=142 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.010000 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=t_abs = sample; +wave_0_per_point3=t_rel = sample-time/8; +wave_0_per_point4= +wave_0_per_point5=ox = sin (sample*110) ; +wave_0_per_point6=oy = cos (sample*110); +wave_0_per_point7= +wave_0_per_point8=oz = 4+1/(t_rel - int(t_rel)); +wave_0_per_point9= +wave_0_per_point10=r = .3; +wave_0_per_point11=g = 0.7; +wave_0_per_point12=b = 1; +wave_0_per_point13= +wave_0_per_point14=a = .8; +wave_0_per_point15= +wave_0_per_point16=xang = 0; +wave_0_per_point17=yang = 0; +wave_0_per_point18=zang = 0; +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21= +wave_0_per_point22=// Rotation um x,y,z +wave_0_per_point23= +wave_0_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point26= +wave_0_per_point27=ox = mx; +wave_0_per_point28=oy = my; +wave_0_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point31=ox = mx; +wave_0_per_point32=oz = mz; +wave_0_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point35=oy = my; +wave_0_per_point36=oz = mz; +wave_0_per_point37= +wave_0_per_point38=x = ox*fov/oz +0.45; +wave_0_per_point39=y = oy*fov/oz + 0.45; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.545996 +shapecode_0_ang=2.199115 +shapecode_0_tex_ang=0.502655 +shapecode_0_tex_zoom=2.023110 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.800000 +shapecode_0_a2=0.600000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.700000 +shape_0_per_frame1=tex_ang = 1 + sin(time/9); +shape_0_per_frame2=rad = q29; +shape_0_per_frame3=tex_zoom = (2 + sin(time/17)); +shape_0_per_frame4=additive = q22/6; +shape_0_per_frame5=textured = 1-bnot(q23)*q24; +shapecode_1_enabled=0 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.728634 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.500000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=0.099900 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.010000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + rand(10)/25; +shape_2_per_frame2=y = .5 + rand(10)/25; +shape_2_per_frame3=ang = rand(6); +shape_2_per_frame4=r = rand(4)/3; +shape_2_per_frame5=g = rand(4)/3; +shape_2_per_frame6=b = rand(4)/3; +shape_2_per_frame7=r2 = b; +shape_2_per_frame8=g2 = r; +shape_2_per_frame9=b2 = g; +shape_2_per_frame10=a = min(q21/2 ,.9); +shape_2_per_frame11=rad = a/9 ; +shape_2_per_frame12= +shape_2_per_frame13=a = .5;a2 = .8; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = max(peak,4); +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = max(bass + mid + treb,3); +per_frame_19= +per_frame_20=go = go*dec_slow + (1-dec_slow) * equal(index2,2); +per_frame_21= +per_frame_22=movez = movez + .1*(1+.3*q26)*30/fps * go; +per_frame_23=q30 = movez; +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_28=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_29=rott = p3*3.1416/2; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36= +per_frame_37=str = str * dec_slow + (1-dec_slow) * index3; +per_frame_38=q27 = 4 - str; +per_frame_39= +per_frame_40=grid = grid*(dec_med) + (1-dec_med)* equal(index2,2)*bnot(index); +per_frame_41=mv_a = grid * .6; +per_frame_42= +per_frame_43=rot1 = dec_med * rot1 + (1-dec_med) * bnot(index2) ; +per_frame_44=q28 = rot1 ; +per_frame_45= +per_frame_46=copy = copy * dec_slow + (1-dec_slow)*index3; +per_frame_47=q29 = .3*copy; +per_frame_48= +per_frame_49= +per_frame_50= +per_pixel_1=dx = 0.02*q28; +per_pixel_2=rot = .04*q2; +per_pixel_3=zoom = .96 + .1*sin(time/7); +per_pixel_4=//zoom = 1.04; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float2 zz = uv1 *texsize.xy *.01; +warp_7=`zz =mul(zz,float2x2(_qa)); +warp_8=`zz = -zz.yx; +warp_9=`float2 h1 = clamp(tan(zz.yx),-8,8) * cos(4*zz); +warp_10=` +warp_11=`uv += h1*texsize.zw * 16; +warp_12=`float3 crisp = tex2D(sampler_main,uv); +warp_13=` +warp_14=`ret = crisp*.99-.01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .1; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, q27*rad1); +comp_9=`uv2.y = uv2.y +.1*q30; +comp_10=`uv2.x = uv2.x +.2*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, 4*rad1); +comp_13=`uv3.y = uv3.y -.2*q30; +comp_14=`uv3.x = uv3.x +.0*time; +comp_15=`uv3 = frac(uv3); +comp_16=` +comp_17=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_18=`crisp = max(crisp,2*GetBlur2(frac(uv2)) + GetBlur2(frac(uv3))); +comp_19=` +comp_20=`float3 lay1 = uv.y*pow(1-rad,8)*roam_cos; +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=`float mask = saturate(1-4*rad); +comp_24=` +comp_25=`ret = crisp + lay1*mask + mask * 2*GetBlur1(frac(uv)); +comp_26=` +comp_27=`} diff --git a/presets/presets_mischa_collection/martin - baby one more time.milk b/presets/presets_mischa_collection/martin - baby one more time.milk new file mode 100755 index 0000000000..ea7fe6bed0 --- /dev/null +++ b/presets/presets_mischa_collection/martin - baby one more time.milk @@ -0,0 +1,369 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.229 +fWaveSmoothing=0.900 +fWaveParam=0.200 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.000 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.600 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.01348 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.000 +wavecode_2_a=0.310 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.600 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=33 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.80375 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.06283 +shapecode_0_tex_zoom=1.03922 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=39 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=41 +shapecode_1_x=0.600 +shapecode_1_y=0.500 +shapecode_1_rad=0.03300 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=6.16617 +shapecode_1_r=0.400 +shapecode_1_g=1.000 +shapecode_1_b=0.700 +shapecode_1_a=0.900 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=1.000 +shape_1_per_frame1=rad = q21*.2; +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=256 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.20303 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=k1 = instance/num_inst*6.3; +shape_2_per_frame2=//q15 = 0; q16 = 0; +shape_2_per_frame3= +shape_2_per_frame4=x = .5 +q15 *cos(k1+q17) + q11*-.2; +shape_2_per_frame5=y = .5 +q16 *q32*sin(k1+q17+time)+q12*.2; +shape_2_per_frame6= +shape_2_per_frame7= +shape_2_per_frame8=a = .5; +shape_2_per_frame9=a2 = .1; r = .5; b = 1; g = 1; +shape_2_per_frame10=rad = max(max(abs(q15),abs(q16))*.2,.04); +shape_2_per_frame11= +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01645 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.31212 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=dec_med = pow (0.85, 30/fps); +per_frame_2=dec_slow = pow (0.96, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, -.5+avg+peak) * above (time, t0+.1); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %32; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=q22 = peak; +per_frame_11=q27 = index; +per_frame_12=q28 = index2+1; +per_frame_13=q24 = is_beat; +per_frame_14= +per_frame_15=trig = is_beat*equal(index%2,0); +per_frame_16=p1 = trig*(p1+1) + (1-trig)*p1; +per_frame_17=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_18=rott = p2 * 3.1416/4; +per_frame_19=q1 = cos(rott); +per_frame_20=q2 = sin(rott); +per_frame_21= +per_frame_22= +per_frame_23=trig = is_beat*equal(index%24,0); +per_frame_24=ran1 = if(trig,(rand(100)/100-.5)*2,ran1); +per_frame_25= +per_frame_26=trig = is_beat*equal(index%16,0); +per_frame_27=ran2 = if(trig,(rand(100)/100-.5)*2,ran2); +per_frame_28= +per_frame_29=trig = is_beat*equal(index%12,0); +per_frame_30=ran3 = if(trig,(rand(100)/100-.5)*2,ran3); +per_frame_31= +per_frame_32=ran1_ = dec_med*ran1_ + (1-dec_med)*ran1; +per_frame_33=ran2_ = dec_med*ran2_ + (1-dec_med)*ran2; +per_frame_34=ran3_ = dec_med*ran3_ + (1-dec_med)*ran3; +per_frame_35=q11 = ran1_; +per_frame_36=q12 = ran2_; +per_frame_37= +per_frame_38= +per_frame_39=dx = .02*ran1_; +per_frame_40=dy = .02*ran2_; +per_frame_41=zoom = 1+.05*ran3_; +per_frame_42= +per_frame_43=peak_ = dec_med*peak_ + (1-dec_med)*peak; +per_frame_44=peak__ = dec_slow*peak__ + (1-dec_slow)*peak_; +per_frame_45=//peak__ = 1; +per_frame_46= +per_frame_47=ma = ma + (peak_-peak__)*50/fps * bnot(index%2); +per_frame_48=mx=mx*dec_slow+(1-dec_slow)*cos(ma*1.3); +per_frame_49=my=my*dec_slow+(1-dec_slow)*sin(ma); +per_frame_50= +per_frame_51=q15 = mx; +per_frame_52=q16 = my*.8; +per_frame_53=q17 = ma*.8; +per_frame_54=q32 = aspecty; +per_frame_55=monitor = q28; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float2 d = (uv1); +warp_6=`float3 mus = GetBlur1(uv); +warp_7=`float k = lum(mus)*4; +warp_8=` +warp_9=`d = mul(uv1,float2x2(cos(k),sin(k),-sin(k),cos(k))); +warp_10=`uv1 += .10*lum(GetBlur1(uv))*d; +warp_11=`uv = uv1-.5 + q5;; +warp_12=` +warp_13=`float2 zz = uv * texsize.xy *.02; +warp_14=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_15=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_16=` +warp_17=`uv -= float2(h1,h2)*texsize.zw * q28*4; +warp_18=` +warp_19=`float3 crisp = tex2D(sampler_main,uv) ; +warp_20=` +warp_21=`ret = crisp*.99 -.02; +warp_22=`} +comp_1=` +comp_2=`float2 rs, rs0, uv2, uv3,uv4,dz; +comp_3=`float3 noise, ret1, neu; +comp_4=` +comp_5=`shader_body { +comp_6=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_7=` +comp_8=`float2 hor = float2 (texsize.z,0)*4; +comp_9=`float2 ver = float2 (0, texsize.w)*4; +comp_10=` +comp_11=`// uv *= aspect.yx; +comp_12=`uv3 = uv; +comp_13=` +comp_14=`dz.x = (2*lum(GetPixel(uv3+hor))- 2*lum(GetPixel(uv3-hor))); +comp_15=`dz.y = (2*lum(GetPixel(uv3+ver))- 2*lum(GetPixel(uv3-ver))); +comp_16=`neu = GetPixel(uv3+dz.yx*0); +comp_17=`ret1 = neu; +comp_18=` +comp_19=`dz = dz*12; +comp_20=`float2 pos = 1; +comp_21=`float2 uv_rr = sin(2*uv1 + dz*.8 + pos); +comp_22=`float2 uv_gg = sin(2*uv1 + dz*1 + pos); +comp_23=`float2 uv_bb = sin(2*uv1 + dz*1.2 +pos); +comp_24=`float3 fac = .1; +comp_25=`float3 mus = float3(fac.x/length(uv_rr), +comp_26=`fac.y/length(uv_gg), +comp_27=`fac.z/length(uv_bb)); +comp_28=` +comp_29=`ret = mus - ret1 *.15 + ret1.g/2; +comp_30=`ret *= 1+ret; +comp_31=`} diff --git a/presets/presets_mischa_collection/martin - jellyfish dance.milk b/presets/presets_mischa_collection/martin - jellyfish dance.milk new file mode 100755 index 0000000000..792def8baa --- /dev/null +++ b/presets/presets_mischa_collection/martin - jellyfish dance.milk @@ -0,0 +1,429 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.749209 +fWaveScale=2.466119 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.110000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=132 +wavecode_0_sep=29 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=0.200000 +wavecode_0_b=0.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2= +wave_0_per_point3=ska = sqr(sin(sample*3.14)); +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=b = 0; g = .1; r = 0.6; +wave_0_per_point7=a = ska * (bass_att); +wave_0_per_point8=x = .5 + sample *(.1+value1); +wave_0_per_point9=y = .5 + sample*(.1+value2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=15 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.720720 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.242906 +shapecode_0_r=1.000000 +shapecode_0_g=0.400000 +shapecode_0_b=0.890000 +shapecode_0_a=0.800000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_ang = .7 + .3 * sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.810000 +shapecode_1_y=0.300000 +shapecode_1_rad=0.397104 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=2.513274 +shapecode_1_tex_zoom=0.907991 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.470000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.323000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(100)/100; +shape_2_per_frame2=y = rand(100)/100; +shape_2_per_frame3= +shape_2_per_frame4=a = 0.8; r = 0; b = 1; g = 1; +shape_2_per_frame5=a2 = 1; r2=0; b2 = 0; g2 = 0; +shape_2_per_frame6=rad = .02; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.600000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.080814 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb + 1; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2+1; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25= +per_frame_26=q1 = cos(rott); +per_frame_27=q2 = sin(rott); +per_frame_28=q3 = -q2; +per_frame_29=q4 = q1; +per_frame_30= +per_frame_31=movex = movex + .03*30/fps; +per_frame_32=q29 = movex; +per_frame_33=movez = movez + .07*30/fps; +per_frame_34=q30 = movez; +per_frame_35= +per_frame_36=crawl = crawl + .001*(2+q22)*30/fps; +per_frame_37=q31 = crawl; +per_frame_38= +per_frame_39=q32 = 2 + sin(time/7); +per_frame_40=monitor = index2; +per_pixel_1=zoom = 1.0; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, crab; +warp_3=`float sr,cr,dx,dy; +warp_4=` +warp_5=`shader_body { +warp_6=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_7=` +warp_8=`float2 uv1 = (uv-.5); +warp_9=` +warp_10=`float f1 = 2; +warp_11=` +warp_12=`float2 uv6 = uv1-.1; +warp_13=` +warp_14=`float rota = 3.14/4 * uv.x*2; +warp_15=` +warp_16=`//LIESMICH - diese Formel gibt nur eine Spinne: +warp_17=`rota = lum(tex2D (sampler_noise_hq,uv1/5 + q31))*2; +warp_18=` +warp_19=`sr = sin(rota); cr = cos(rota); +warp_20=`uv6 = mul(uv1,float2x2(cr,sr,-sr,cr)); +warp_21=` +warp_22=`float z = 4*length(uv6); +warp_23=`float2 dz = normalize(uv6*z); +warp_24=`float2 rs = 20*tan(z)*dz*dz; //#evtl. nochmal x dz +warp_25=` +warp_26=` +warp_27=`crab = saturate((1-abs(rs.y*rs.x))); +warp_28=`crab *= float3 (1,0,0); +warp_29=`//crab*= (1-crab)*4; //Loch in der Mitte +warp_30=` +warp_31=`float3 blur = GetBlur1(frac(uv)); +warp_32=` +warp_33=`ret = crab *(1-2*rad) + +warp_34=`GetPixel(uv)*(1-.1*pow(rad,3))*float3(0,1,1)-.004; +warp_35=`} +comp_1=`float dx,dy, c, s;; +comp_2=`float3 ret1, neu; +comp_3=`float2 rs,rs2,uv1,uv4,dz,uv3, uv2, tmp; +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=`float2 hor = float2 (texsize.z,0); +comp_8=`float2 ver = float2 (0,texsize.w); +comp_9=` +comp_10=`dz = 0; +comp_11=`float dist = 1; +comp_12=`float3 inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 4; +comp_16=`int n = 0; dx = 0; dy = 0; +comp_17=`tmp = (uv-.5) * aspect.xy; +comp_18=`while (n <= anz) { +comp_19=` dist = 1-frac(.25*n+q29); //evtl sqrt ! +comp_20=`uv2 = tmp; +comp_21=` +comp_22=` c = n%2; +comp_23=` s = (n+1)%2; +comp_24=` uv2.x = tmp.x*c - tmp.y*s; +comp_25=` uv2.y = tmp.x*s + tmp.y*c; +comp_26=` uv2*= aspect.yx; +comp_27=` inten.r = sqrt(dist)*(1-dist*dist)*2; +comp_28=` inten.g = 1; +comp_29=` inten.b = 1; +comp_30=` +comp_31=` uv3 = 4*(uv2)*dist + .7* n + .2*q29*c; +comp_32=` neu = GetPixel(uv3); +comp_33=` +comp_34=` dx = lum(GetPixel(uv3+hor)- GetPixel(uv3-hor)); +comp_35=` dy = lum(GetPixel(uv3+ver)- GetPixel(uv3-ver)); +comp_36=` dz += inten.r*float2 (dx,dy); +comp_37=` +comp_38=` ret1 = max(ret1,neu*inten); +comp_39=`n++; +comp_40=`} +comp_41=` +comp_42=`//****************** +comp_43=` +comp_44=`float2 uv1 = (uv-.5)*aspect.xy ; +comp_45=`float rad2 = 6*length(uv1); +comp_46=`float rad1 = 1/(rad2+.1); +comp_47=` +comp_48=`uv2 = float2 (ang/2, rad1); +comp_49=`rs2 = uv2; +comp_50=`uv2.y = uv2.y + q30; +comp_51=` +comp_52=`float3 noise = .5; +comp_53=`float3 dots = noise * rs2.y * float3(.0,.1,.9); +comp_54=`dots = saturate(dots); +comp_55=` +comp_56=`rs2 = cos(uv2*4) + (ret1)*12; +comp_57=`dots += (.5+q22)*(1-rad)*saturate(.05/length(rs2)) ; +comp_58=` +comp_59=`ret = ret1*float3(q26/2,.6,.3) - 2*ret1.r*(1-dots) +comp_60=` + .4*q32*dots * saturate(1-2*ret1.r) ; +comp_61=` +comp_62=`} diff --git a/presets/presets_mischa_collection/martin - mandelbox stepper.milk b/presets/presets_mischa_collection/martin - mandelbox stepper.milk new file mode 100755 index 0000000000..d3cefae49f --- /dev/null +++ b/presets/presets_mischa_collection/martin - mandelbox stepper.milk @@ -0,0 +1,518 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.170 +fWaveScale=0.566 +fWaveSmoothing=0.090 +fWaveParam=-0.800 +fModWaveAlphaStart=0.400 +fModWaveAlphaEnd=1.800 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.100 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wavecode_1_enabled=0 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wavecode_2_enabled=0 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.360 +wavecode_3_enabled=0 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.320 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.97235 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.41490 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=0.38021 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1= +shape_1_per_frame2=advx=advx+(bass*bass)/fps*4; +shape_1_per_frame3=advy=advy+(treb*treb)/fps*4; +shape_1_per_frame4= +shape_1_per_frame5=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame6=g=r; +shape_1_per_frame7=b=r; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10=x= .5 + .3*sin(advx); +shape_1_per_frame11=y= .5 + .3*sin(advy); +shape_1_per_frame12= +shape_1_per_frame13= +shape_1_per_frame14=rad=rand(100)*0.01*0.2+0.021; +shape_1_per_frame15=vol = bass_att + mid_att + treb_att; +shape_1_per_frame16=rad = min(.2,vol*.03); +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=a = min(1,vol/4); a2 = a; +shape_1_per_frame20=border_a = a; +shape_1_per_frame21= +shape_1_per_frame22=ang = vol*8; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.200 +shapecode_2_y=0.800 +shapecode_2_rad=0.59958 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.25664 +shapecode_2_tex_zoom=0.49831 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1= +per_frame_init_2=//******** INITIALIZATION ********* +per_frame_init_3=//---------- some global vars, do not change ------------- +per_frame_init_4=avg = 0.01; +per_frame_init_5=q7 = .4; //MyZoom +per_frame_init_6=q8 = rand(2.0)-1.0; //fractal modifier +per_frame_init_7=q16 = 1; //Tele ; rather fish eye +per_frame_init_8=q18 = rand(0.8)+.1; //brightness balance back/front +per_frame_init_9=q31 =128; +per_frame_init_10=start = 1; travel = 0; RotZ = 0; look = 0; slow = 0; t0 = time+3; lampx = .5; lampy = .5; +per_frame_init_11=cran0 = rand(1); +per_frame_init_12=n = 0; loop (10000, gmegabuf(n)=0; n=n+1; ); +per_frame_init_13=n = 0; loop (10000, megabuf(n)=0; n=n+1; ); +per_frame_init_14=trelx = 0; trely = 0; trelz = 0; +per_frame_init_15=reg20 = 1; reg21 = 0; reg22 = 0; reg23 = 0; reg24 = 1; reg25 = 0; reg26 = 0; reg27 = 0; reg28 = 1; +per_frame_init_16= +per_frame_init_17=//Find random starting point +per_frame_init_18= ran1 = rand(800)/100; ran2 = rand(800)/100; ran3 = rand(800)/100; +per_frame_init_19= PosX = rand(5)-2; PosY = rand(5)-2; PosZ = rand(5)-2; +per_frame_init_20= +per_frame_init_21= c1 = cos(ran1); c2 = cos(ran2); c3 = cos(ran3); +per_frame_init_22= s1 = sin(ran1); s2 = sin(ran2); s3 = sin(ran3); +per_frame_init_23= +per_frame_init_24= reg20 = c2*c1; reg21 = c2*s1; reg22 = -s2; +per_frame_init_25= reg23 = s3*s2*c1 - c3*s1; reg24 = s3*s2*s1 + c3*c1; reg25 = s3*c2; +per_frame_init_26= reg26 = c3*s2*c1 + s3*s1; reg27 = c3*s2*s1 - s3*c1; reg28 = c3*c2; +per_frame_init_27= +per_frame_init_28=rota = 0; +per_frame_init_29=count = 0; +per_frame_1=fps_ = .0 * fps_ + 1*if(fps<=25,fps,25+.5*(fps-25)); +per_frame_2=fps_= fps; +per_frame_3= +per_frame_4=dec_m = pow (0.7, 30/fps); +per_frame_5=dec_s = pow (0.9, 30/fps); +per_frame_6=beat = max (max (bass, mid), treb); +per_frame_7=avg = avg*dec_s + beat*(1-dec_s); +per_frame_8=is_beat = above(beat, 2*avg+2*peak) * above (time, t0+-.3); +per_frame_9=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_10=peak = is_beat * beat + (1-is_beat)*peak*dec_m; +per_frame_11=index = (index + is_beat) %4; +per_frame_12=index2 = (index2 + is_beat*bnot(index)) %8; +per_frame_13=wave_a = (index2<5); +per_frame_14=rota = rota*dec_m + (1-dec_m)*index2*3.14; +per_frame_15=q9 = 0; +per_frame_16= +per_frame_17=vol = bass+mid+treb; +per_frame_18=//vol = is_beat; +per_frame_19=vol *= vol*vol; +per_frame_20=dec_m = .3; +per_frame_21=vol_ = dec_m * vol_ + (1-dec_m)*vol; +per_frame_22= +per_frame_23=ds = (above(vol,vol_*1.35))/8*pow(vol,.25); +per_frame_24=//ds = is_beat/8*beat; +per_frame_25= +per_frame_26=//Position +per_frame_27=DirX= reg26; DirY= reg27; DirZ = reg28; +per_frame_28=PosX = PosX + ds*DirX ; PosY = PosY + ds*DirY; PosZ = PosZ + ds*DirZ; +per_frame_29=q4 = PosX; q5 = PosY; q6 = PosZ; +per_frame_30= +per_frame_31=angchg = (.3-dist_)*(dist_ < .3); +per_frame_32=travel = if (angchg > 0,0,travel+ds); +per_frame_33=v1 = v1 * dec_s + (1-dec_s)* RotZ * ds/4; +per_frame_34=v2 = v2 *dec_s + (1-dec_s)*angchg *xslope/fps_/3; +per_frame_35=v3 = v3 *dec_s + (1-dec_s)*(angchg *yslope/fps_/3); +per_frame_36=v1 = 0; v2 = 0; v3 = 0; v1 = 0; +per_frame_37=//push old RotMat +per_frame_38=reg30 =reg20; reg31 =reg21; reg32 =reg22; +per_frame_39=reg33 =reg23; reg34 =reg24; reg35 =reg25; +per_frame_40=reg36 =reg26; reg37 =reg27; reg38 =reg28; +per_frame_41= +per_frame_42=n = 4; avg = 0; +per_frame_43=loop (1, +per_frame_44= n = n+1; +per_frame_45= //new Rot. Mat for infinitesimal angles +per_frame_46= ran1 = rand(100)/100; +per_frame_47= ran2 = rand(100)/200-.25; +per_frame_48= tx = cos(n*1.57+ran2) * (n <= 4)*ran1; ty = sin(n*1.57+ran2) * (n <= 4)*ran1; +per_frame_49= c1 = cos(v1); c2 = cos(v2+ty); c3 = cos(v3+tx); +per_frame_50= s1 = sin(v1); s2 = sin(v2+ty); s3 = sin(v3+tx); +per_frame_51= reg10 = c2*c1; reg11 = c2*s1; reg12 = -s2; +per_frame_52= reg13 = s3*s2*c1 - c3*s1; reg14 = s3*s2*s1 + c3*c1; reg15 = s3*c2; +per_frame_53= reg16 = c3*s2*c1 + s3*s1; reg17 = c3*s2*s1 - s3*c1; reg18 = c3*c2; +per_frame_54= +per_frame_55= //pop old RotMat +per_frame_56= reg20 =reg30; reg21 =reg31; reg22 =reg32; +per_frame_57= reg23 =reg33; reg24 =reg34; reg25 =reg35; +per_frame_58= reg26 =reg36; reg27 =reg37; reg28 =reg38; +per_frame_59= +per_frame_60= //Multiply new RotMat by old one +per_frame_61= q20 = reg10*reg20 + reg11*reg23 + reg12*reg26; +per_frame_62= q21 = reg10*reg21 + reg11*reg24 + reg12*reg27; +per_frame_63= q22 = reg10*reg22 + reg11*reg25 + reg12*reg28; +per_frame_64= q23 = reg13*reg20 + reg14*reg23 + reg15*reg26; +per_frame_65= q24 = reg13*reg21 + reg14*reg24 + reg15*reg27; +per_frame_66= q25 = reg13*reg22 + reg14*reg25 + reg15*reg28; +per_frame_67= q26 = reg16*reg20 + reg17*reg23 + reg18*reg26; +per_frame_68= q27 = reg16*reg21 + reg17*reg24 + reg18*reg27; +per_frame_69= q28 = reg16*reg22 + reg17*reg25 + reg18*reg28; +per_frame_70= +per_frame_71= reg20 =q20; reg21 =q21; reg22 =q22; +per_frame_72= reg23 =q23; reg24 =q24; reg25 =q25; +per_frame_73= reg26 =q26; reg27 =q27; reg28 =q28; +per_frame_74= +per_frame_75= //***********BOT************* +per_frame_76= //Coord. Trans. must exactly match def in warp S. !!!! +per_frame_77= dist = 0.002; +per_frame_78= while (exec2( +per_frame_79= uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7; +per_frame_80= uvx += PosX; uvy += PosY; uvz += PosZ; +per_frame_81= uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5); +per_frame_82= uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5); +per_frame_83= uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5); +per_frame_84= uvx0 = uvx+q8; uvy0 = uvy+q8; uvz0 = uvz+q8; +per_frame_85= loop (7+1, +per_frame_86= uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx)); +per_frame_87= uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy)); +per_frame_88= uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz)); +per_frame_89= slen = uvx*uvx + uvy*uvy + uvz*uvz; +per_frame_90= uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; +per_frame_91= uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; +per_frame_92= uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; +per_frame_93= ); +per_frame_94= len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz); +per_frame_95= dist *= 1.5; +per_frame_96= ,(dist < 0.6)*(len > 30))); +per_frame_97= megabuf(n) = megabuf(n)*dec_s + (1-dec_s)*dist; //stores the 4 trial points +per_frame_98= avg = avg+abs(megabuf(n)/5); +per_frame_99=); //end loop 5 +per_frame_100= +per_frame_101=n = 0; avg = 0; loop (5, n=n+1; avg = avg+abs(megabuf(n)/5)); +per_frame_102= +per_frame_103=dist_ = dist_*dec_s + (1-dec_s)*dist; +per_frame_104= +per_frame_105=q10 = ds*q7; //compensation of lin. movement in GetDist and zoom uv +per_frame_106=q14 = 1*abs(ds) + 2*(abs(v1) + abs(v2) + abs(v3)) + 1.0/255 + start*.05; +per_frame_107=start = start * .9; +per_frame_108=vz1 = vz1 + v1; +per_frame_109=q11 = vz1; q12 = v2; q13 = v3; +per_frame_110=//forward comp. of Rotation +per_frame_111= warp = 0.0; zoom = 1; dx = -v2/q16; dy = v3/q16; rot =v1; +per_frame_112= +per_frame_113= +per_frame_114=count = count + (treb > 1.16); +per_frame_115=q31 = count*3.1416/2; +per_frame_116=ds_ = ds_*dec_s + (1-dec_s)*ds; +per_frame_117=q11 = ds_; +per_frame_118=monitor = sqrt(vol_); +warp_1=`float dist, struc, len; float2 uv0, uv1; float3 uv2; float4 box; +warp_2=`static const float3x3 RotMat = float3x3(q20,q21,q22,q23,q24,q25,q26,q27,q28); +warp_3=` +warp_4=`static const float3 CamPos = float3(q4,q5,q6); +warp_5=`static const float ds = q10, sustain = .96-ds, change = q14; +warp_6=`static const float myzoom = q7, limit = 34, tele=q16; +warp_7=` +warp_8=`float GetDist(float2 uvi) {float2 tmp; tmp = tex2D (sampler_pc_main, uvi).gb; +warp_9=` return 1-(tmp.y + 1.0/255*tmp.x);} +warp_10=` +warp_11=`float2 PutDist(float x) {float fg, fb; fg = modf((1-x)*255.0,fb); +warp_12=` return (float2(fg,fb/255.0));} +warp_13=` +warp_14=`float MinDist (float2 uvi) +warp_15=`{ +warp_16=` float tmp; float4 nb; float4 nb2; float2 pix; +warp_17=` pix = texsize.zw*(1.0+length(uvi-0.5)*2); +warp_18=` tmp = GetDist(uvi); +warp_19=` nb.x = GetDist(uvi+pix*float2(-1,-1)); +warp_20=` nb.y = GetDist(uvi+pix*float2(1,-1)); +warp_21=` nb.z = GetDist(uvi+pix*float2(1,1)); +warp_22=` nb.w = GetDist(uvi+pix*float2(-1,1)); +warp_23=` nb2.x = GetDist(uvi+pix*float2(0,-1)); +warp_24=` nb2.y = GetDist(uvi+pix*float2(1,0)); +warp_25=` nb2.z = GetDist(uvi+pix*float2(0,1)); +warp_26=` nb2.w = GetDist(uvi+pix*float2(-1,0)); +warp_27=` //Eo.S. more efficient usage of min to get min value of all 8 GetDist() calls, removes 11ALU +warp_28=` nb = min( nb, nb2 ); +warp_29=` nb.xy = min( nb.xy, nb.zw ); +warp_30=` tmp = min( nb.x, nb.y ); +warp_31=` return tmp; +warp_32=`} +warp_33=` +warp_34=`float3 Get1 (float2 uvi) {float3 tmp; float2 pix; +warp_35=` return GetPixel(uvi);} //# +warp_36=` +warp_37=`float4 mbox (float3 uvi) {float3 zz, zz0; float tmp, li; +warp_38=` zz = uvi; zz0 = zz+q8; li=0; +warp_39=` for (int n = 0; n <= 7; n++) { +warp_40=` zz = 2.0*clamp(zz,-1,1)-zz; tmp = dot(zz,zz); +warp_41=` zz *= clamp(max(.25/tmp, .25), 0.0, 1.0)*4; +warp_42=` zz = 2.8*zz + zz0;} +warp_43=` return float4(zz,li);} +warp_44=` +warp_45=`shader_body { +warp_46=`uv1 = (uv-.5)*aspect.xy*tele; +warp_47=`uv = (uv-.5)*(1-ds/(GetDist(uv))) + .5; +warp_48=` +warp_49=`float3 noise = frac(8*tex2D (sampler_noise_lq,uv+rand_frame.yz)); +warp_50=` +warp_51=`dist = noise.r; +warp_52=` if (noise.g > .2) +warp_53=` { +warp_54=` float3 noiseBiased = noise - float3( 0.5, 0.5, 0.5 ); +warp_55=`//Eo.S. combine the subtraction on noise to a single float3 to ensure compiler does the subtraction in a single ALU +warp_56=` dist = MinDist( uv) + .01 * (noiseBiased.x) * abs(noiseBiased.y); +warp_57=` } +warp_58=`dist = min(dist,GetDist(uv))- ds*1; +warp_59=` +warp_60=`uv2 = mul(float3(uv1*dist,dist-.0)/myzoom,RotMat)+CamPos; +warp_61=`uv2 = (frac(uv2/8.0+.5)-.5)*8.0; +warp_62=`box = mbox (uv2); +warp_63=`len = (length(box.xyz))*2; +warp_64=`struc = length(box.xy)/limit*2; +warp_65=` +warp_66=`if ((dist <= GetDist(uv)) && (len < limit) && (dist > 0.04/(.0+rad))){ +warp_67=` ret.r = (1-sustain)*struc+sustain*(Get1(uv).r); ret.gb= PutDist(dist); } +warp_68=` else {ret = Get1(uv)*sustain -.002;} +warp_69=` +warp_70=`} +comp_1=`float arg; +comp_2=`float2 uv1, uv2, uv3, uv4; +comp_3=`float3 ret1, neu, blur, sun; +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=`float ang2, c, s; +comp_8=`uv -= .5; +comp_9=`uv *= aspect.xy; +comp_10=` +comp_11=` +comp_12=`uv2 = float2(1/rad+time/2, ang*2/3.14); +comp_13=`float z = abs(.5/uv.y); +comp_14=`uv2 = float2(z*uv.x, z+time/2); +comp_15=`float2 noise = (tex2D (sampler_noise_hq,uv2)-.5)/z*2; +comp_16=`//uv += rad*rad * noise*.02; +comp_17=` +comp_18=`float dist = 1; +comp_19=`float bdist = 1; +comp_20=`float inten = 1; +comp_21=`ret1 = 0; +comp_22=`int anz = 1; +comp_23=`float n = 1; +comp_24=`while (n <= anz) { +comp_25=` ang2 = n/anz*3.14+q9; +comp_26=` c = cos(ang2); +comp_27=` s = sin(ang2); +comp_28=` uv2.x = uv.x*c - uv.y*s; +comp_29=` uv2.y = uv.x*s + uv.y*c; +comp_30=` uv2 *= aspect.yx; +comp_31=` uv3 = frac(1*uv2*dist + .5 );; +comp_32=` +comp_33=` uv3=abs(frac(uv3+.5)-.5) +rad*rad * noise*.02*bass_att;; +comp_34=` bdist = (1-GetBlur2(uv3).b); +comp_35=` uv4 = mul(uv3,float2x2(cos(q31),sin(q31), -sin(q31), cos(q31))), +comp_36=` sun = .04/length(sin(uv4.x*bass_att+1.5+bdist+ noise*.04*bass_att))*bdist; +comp_37=` arg = bdist + q6; +comp_38=` neu = lerp(GetPixel (uv3).r,GetBlur1(uv3).r,saturate(q11*8)*1.1) ; +comp_39=` neu = max(neu,sun)*(bdist+.2)*(2+sin(float3(arg*2, arg*3,5*arg))); +comp_40=`// neu = lerp(neu,sun/q11,saturate(q11*18))*(bdist+.2)*(2+sin(float3(arg*2, arg*3,5*arg))); +comp_41=` ret1 = max(ret1*1,neu) ; +comp_42=`n++; +comp_43=`} +comp_44=`//ret = 1-exp(-ret1/2/(bass*.1+1*rad)+.1); +comp_45=`ret = 1-exp(-ret1/(.2/bass+rad)/bass*.5+.1); +comp_46=`//ret = GetPixel(uv+.5).r; +comp_47=`//ret = sun; +comp_48=`} diff --git a/presets/presets_mischa_collection/martin - mucus cervix.milk b/presets/presets_mischa_collection/martin - mucus cervix.milk new file mode 100755 index 0000000000..436796c10b --- /dev/null +++ b/presets/presets_mischa_collection/martin - mucus cervix.milk @@ -0,0 +1,441 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.958178 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.399900 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.915805 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=cent = sqrt((x-.5)*(x-.5)+(y-.5)*(y-.5)); +shape_0_per_frame10= +shape_0_per_frame11=rad = .1*cent; +shape_0_per_frame12=a = .8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.070000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=trig = q24; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=x0 = x0*bnot(trig) + trig*(.5+ rand(100)/200); +shape_1_per_frame5=y0 = y0*bnot(trig) + trig*(.5+ rand(100)/200); +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=x0 = x0 + .1*q1*(3+q26)/fps; +shape_1_per_frame9=y0 = y0 + .1*q2*(3+q26)/fps; +shape_1_per_frame10= +shape_1_per_frame11=x0 = x0 - int(x0); +shape_1_per_frame12=y0 = y0 - int(y0); +shape_1_per_frame13= +shape_1_per_frame14=tex_ang = time; +shape_1_per_frame15=tex_zoom = q1; +shape_1_per_frame16=ang = time/100*q2; +shape_1_per_frame17=x = x0; y = y0; +shape_1_per_frame18=rad0 = rad0*bnot(trig) + trig*(.04+rand(100)/1000); +shape_1_per_frame19=rad = rad0; +shape_1_per_frame20= +shape_1_per_frame21= +shape_1_per_frame22=r0 = bnot(trig)*r0 + trig * rand(10)/10; +shape_1_per_frame23=g0 = bnot(trig)*g0 + trig * rand(10)/10; +shape_1_per_frame24=b0 = bnot(trig)*b0 + trig * rand(10)/10; +shape_1_per_frame25= +shape_1_per_frame26=r = r0; b = b0; g = g0; +shape_1_per_frame27=r2 = 0; b2 = 0; g2 = 0; +shape_1_per_frame28=a= 1; a2 = .3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5 - 0*rand(15)/200; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a = min(q21/2 ,.9); +shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.010000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad = q2+.02 +shape_3_per_frame2=; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20=q11 = min(q22,3); +per_frame_21= +per_frame_22=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23= +per_frame_24=k1 = is_beat*equal(index,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_27=rott = p2 * 3.14159265359/2; +per_frame_28= +per_frame_29=q27 = 8-index; +per_frame_30=q28 = index2; +per_frame_31= +per_frame_32=q1 = cos(rott); +per_frame_33=q2 = sin(rott); +per_frame_34=q3 = -q2; +per_frame_35=q4 = q1; +per_frame_36= +per_frame_37=zoom = 1.0 + .02*q1; +per_frame_38=rot = .01*q2; +per_frame_39=dx = .0*index; +per_frame_40= +per_frame_41=wave_a = 0; +warp_1=`float3 color; +warp_2=`float2 uv2, zz; +warp_3=`float dx, dy; +warp_4=`shader_body { +warp_5=` +warp_6=`float2 uv1 = (uv-.5)*aspect.xy; +warp_7=` +warp_8=`float2 hor = float2 (texsize.w,0); +warp_9=`float2 ver = float2 (0,texsize.z); +warp_10=` +warp_11=` +warp_12=`float2 k1 = float2((uv.x), (uv.y)); +warp_13=` +warp_14=`float3 ret1 = GetBlur1(uv) ; +warp_15=` +warp_16=`zz = uv.xy * texsize.xy *(.01); +warp_17=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_18=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_19=`uv.xy -= float2(h1,h2)*texsize.zw * (8+6*q11); +warp_20=` +warp_21=`uv2 = uv/2*q27/4; //variieren +warp_22=` +warp_23=`float2 uv3 = uv2; //Krausen nur mit uv +warp_24=` +warp_25=`dx = lum(GetPixel(uv3+hor) - GetPixel(uv3-hor)); +warp_26=`dy = lum(GetPixel(uv3+ver) - GetPixel(uv3-ver)); +warp_27=` +warp_28=`//dx = 0; dy = 0; +warp_29=` +warp_30=`dx *=1; dy *= 1;; +warp_31=`float f1 = .15+.1*q28; +warp_32=`float2 uv4 = uv2+time/100; +warp_33=` +warp_34=`dx += f1*(tex2D(sampler_noise_hq,uv4).x-.5); +warp_35=`dy += f1*(tex2D(sampler_noise_hq,uv4).y-.5); +warp_36=` +warp_37=`color = .9+.1*roam_cos; +warp_38=` +warp_39=`float2 dz = float2 (dx,dy); +warp_40=` +warp_41=`zz = dz; +warp_42=` +warp_43=`float3 crisp= tex2D(sampler_main,uv+zz*.04); +warp_44=`float3 crisp2 = tex2D(sampler_main,uv); +warp_45=`crisp += crisp2; +warp_46=`crisp *= .5; +warp_47=`crisp +=.05*color - length(zz)*.3; +warp_48=` +warp_49=`ret1 = crisp; +warp_50=`ret = ret1 * .97 - .015 ; +warp_51=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2(texsize.z,0); +comp_12=`float2 ver = float2(0,texsize.w); +comp_13=` +comp_14=`float dist = 1; +comp_15=`float inten = 1; +comp_16=`ret1 = 0; +comp_17=`float anz = 1; +comp_18=`float n = 0; +comp_19=`uv4 = (uv); +comp_20=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_21=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_22=` +comp_23=`//uv4 = 0; +comp_24=` +comp_25=`mus = .5*GetPixel(uv4+.1*dz)+0*dz.x+.01; +comp_26=` +comp_27=`uv2 = uv-.5; +comp_28=`while (n <= anz) { +comp_29=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_30=` +comp_31=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_32=` +comp_33=` uv3 = 2*uv2*dist + .5 + 0.0*time; +comp_34=` +comp_35=`// uv3 *= aspect.yx; +comp_36=` uv3 = frac(uv3); +comp_37=` +comp_38=` uv3 = .2 * cos(42*uv3+time/2) + 99*dz; +comp_39=` neu = saturate(.01/length(uv3)) ; +comp_40=` neu = dist*neu + (1-dist)*lum(neu); +comp_41=` ret1 = max(ret1,neu*inten); +comp_42=`n++; +comp_43=`} +comp_44=` +comp_45=` +comp_46=`ret = ret1 + saturate(16*mus*(.1+ret1)); +comp_47=`} diff --git a/presets/presets_mischa_collection/martin - rogue wave -ps3.milk b/presets/presets_mischa_collection/martin - rogue wave -ps3.milk new file mode 100755 index 0000000000..40adc58439 --- /dev/null +++ b/presets/presets_mischa_collection/martin - rogue wave -ps3.milk @@ -0,0 +1,423 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=1.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.232543 +fWaveSmoothing=0.810000 +fWaveParam=-0.120000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=x = .5 + sample*((100*sample)%2-.5); +wave_0_per_point3=k1 = (100*sample)%4; +wave_0_per_point4=x = sample ; +wave_0_per_point5= +wave_0_per_point6=val = value1; +wave_0_per_point7=y = val * (.25-(sample-.5)*(sample-.5)) + .45; +wave_0_per_point8= +wave_0_per_point9=k1 = (10*bass_att)%4; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=r = .8; g = .8; b = 1; +wave_0_per_point13=a = bnot(k1); a = .1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.060000 +shapecode_0_rad=0.981146 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.331050 +shapecode_0_r=0.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.790000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.690000 +shapecode_0_a2=0.030000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.476928 +shapecode_1_ang=1.130974 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.023150 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.970000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.810000 +shape_1_per_frame1=ang = time; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%5; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18= +per_frame_19=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_20= +per_frame_21=k1 = is_beat*equal(index,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_24=rott = p2 * 3.14159265359/2; +per_frame_25= +per_frame_26=q27 = 8-index; +per_frame_27=q28 = index3; +per_frame_28=q29 = index4; +per_frame_29= +per_frame_30=q1 = cos(rott); +per_frame_31=q2 = sin(rott); +per_frame_32=q3 = -q2; +per_frame_33=q4 = q1; +per_frame_34= +per_frame_35=warp = .3 * sin((index+index2)/8*6.28); +per_pixel_1=rot = -.04*q2*(1-rad); +per_pixel_2=dx = .0; +per_pixel_3=zoom = 1.002+.04*rad ; +warp_1=`float2 uv1, rs, dz; +warp_2=`float z; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 tmp = uv1; +warp_9=`tmp.x = ang; tmp.y = rad ; +warp_10=`uv1 = .001*tmp; +warp_11=` +warp_12=`float2 hor = float2 (.002,0.0); +warp_13=`float2 ver = float2 (0,.002); +warp_14=`float dx = lum(tex2D(sampler_main,uv+hor) +warp_15=` - tex2D(sampler_main,uv-hor)); +warp_16=`float dy = lum(tex2D(sampler_main,uv+ver) +warp_17=` - tex2D(sampler_main,uv-ver)); +warp_18=`float2 dz = float2 (dx,dy); +warp_19=` +warp_20=`dz = sqrt(dz)/8; +warp_21=`float3 ret1 = GetBlur1(uv); +warp_22=` +warp_23=`float3 crisp = tex2D(sampler_main, +warp_24=` -0*uv1+uv - dz*.01 + ret1*.01*q22 ); +warp_25=` +warp_26=` +warp_27=`float3 noise = lum(tex2D (sampler_noise_lq,uv))-.2; +warp_28=` +warp_29=`ret = crisp*1 - length(dz)*.5 + .02*noise*(1-rad);; +warp_30=` +warp_31=` ret *= 1; +warp_32=`} +comp_1=` +comp_2=`float2 rs, rs0, uv2, uv3,uv4,uv6, uv8; +comp_3=`float3 noise, ret1, ret2, ret3; +comp_4=` +comp_5=`shader_body { +comp_6=`uv8 = uv_orig; +comp_7=`uv.y = uv.y-.1; +comp_8=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_9=` +comp_10=`float z = .1/uv1.y/uv1.x; +comp_11=`z = .3/uv1.y; +comp_12=`rs0.x = uv1.x*z; +comp_13=`rs0.y = z; +comp_14=`rs.x = rs0.x + time/2; +comp_15=`rs.y = rs0.y + time; +comp_16=` +comp_17=`noise = lum(tex2D(sampler_noise_hq,rs/2)); +comp_18=`noise = noise-.55; +comp_19=`float mask = saturate(12*(uv1.y)); +comp_20=` +comp_21=`uv2 = uv1+.5; +comp_22=`//uv2 *= aspect.yx; +comp_23=` +comp_24=`uv3 =frac(uv2-noise*.1*mask ); +comp_25=`float2 hor = float2 (texsize.z,0); +comp_26=`float2 ver = float2 (0, texsize.w); +comp_27=`float dx = lum(GetPixel(uv3+hor) - GetPixel(uv3-hor)); +comp_28=`float dy = lum(GetPixel(uv3+ver) - GetPixel(uv3-ver)); +comp_29=`float2 dz = float2 (dx,dy); +comp_30=`//dz *= (length(dz) >= .01); +comp_31=`uv3 += dz * (1-mask); +comp_32=` +comp_33=`//Strahl +comp_34=`uv4 = float2(.5,uv1.x/uv1.y); +comp_35=`uv4 = frac(.06*bass_att*uv4); +comp_36=`float3 col = 1; +comp_37=`float3 ret3 = GetPixel(uv4*14); +comp_38=`ret3 += (.008/(length(uv1)))*col; +comp_39=`//ret2 *= q10; +comp_40=` +comp_41=`float3 mus = .02 / (length(uv1+.45+dz*16)); +comp_42=`float mus2 = saturate(.01*abs(uv3.x-.5)/abs(uv3.y-.55)-dz*4); +comp_43=` +comp_44=` +comp_45=`float stars = saturate(1/((uv.x*3234224*uv.y)%22345)); +comp_46=` +comp_47=`ret1 = GetPixel(frac(uv3)); +comp_48=`ret1 *= 1-mask/2;; +comp_49=` +comp_50=`float fmask = saturate (1-lum(ret1*4)); +comp_51=`ret2 = ret1 + mus * (1-mask) * 2 ; +comp_52=`ret = max(ret2, stars*(1-mask)*fmask) ; +comp_53=`ret += saturate (q22*mus2*fmask); +comp_54=` +comp_55=`} diff --git a/presets/presets_mischa_collection/martin - shifter - armorial bearings of robotopia.milk b/presets/presets_mischa_collection/martin - shifter - armorial bearings of robotopia.milk new file mode 100755 index 0000000000..6e983fc306 --- /dev/null +++ b/presets/presets_mischa_collection/martin - shifter - armorial bearings of robotopia.milk @@ -0,0 +1,473 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.574 +fWaveScale=1.286 +fWaveSmoothing=0.810 +fWaveParam=0.000 +fModWaveAlphaStart=0.540 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.442 +fWarpScale=0.498 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.050 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=0.200 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.89152 +wavecode_3_smoothing=0.82000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.100 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=len = len*mad; +wave_3_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point55= +wave_3_per_point56=an = bang*(ar + br)*br; +wave_3_per_point57=len = len*mad; +wave_3_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point60= +wave_3_per_point61=an = cang*(ar + br + cr)*cr; +wave_3_per_point62=len = len*mad; +wave_3_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point65= +wave_3_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point67=len = len*mad; +wave_3_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point70= +wave_3_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point72=len = len*mad; +wave_3_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point75= +wave_3_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point77=len = len*mad; +wave_3_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point80= +wave_3_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point82=len = len*mad; +wave_3_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point85= +wave_3_per_point86=x = (x-.5)*.75 + .5; +wave_3_per_point87= +wave_3_per_point88=g = t1 + lev*.1; +wave_3_per_point89=r = t2 - lev*.1; +wave_3_per_point90=b = t3; +wave_3_per_point91= +wave_3_per_point92=r = if(equal(q5,1),1,r); +wave_3_per_point93=g = if(equal(q5,2),1,g); +wave_3_per_point94=b = if(equal(q5,3),1,b); +wave_3_per_point95= +wave_3_per_point96=r = r - int(r); +wave_3_per_point97=g = g - int(g); +wave_3_per_point98=b = b - int(b); +wave_3_per_point99= +wave_3_per_point100=y = (y-.5)/q20+.5; +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.18647 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.66609 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tex_zoom = .8; +shape_0_per_frame2=a = max(0,q29); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.100 +shapecode_1_y=0.800 +shapecode_1_rad=0.83346 +shapecode_1_ang=3.14159 +shapecode_1_tex_ang=5.40354 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.200 +shapecode_2_rad=0.41532 +shapecode_2_ang=3.14159 +shapecode_2_tex_ang=5.40354 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.84754 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=5.59203 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=index = rand(32); +per_frame_init_2=index2 = rand(32); +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, -.5+avg+peak) * above (time, t0+.1); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %64; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q24 = is_beat; +per_frame_15=q29 = 2 * (index2%2-.5); +per_frame_16=q25 = min(1,q22/2); +per_frame_17= +per_frame_18=k1 = is_beat*equal(index%4,0); +per_frame_19=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_20=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_21=rott = p2 * 3.1416/4; +per_frame_22=q1 = cos(rott); +per_frame_23=q2 = sin(rott); +per_frame_24=q3 = -q2; +per_frame_25=q4 = q1; +per_frame_26= +per_frame_27=q26 = (8+index2*8); +per_frame_28=q27 = index; +per_frame_29=q28 = index2; +per_frame_30= +per_frame_31= +per_frame_32=trot = index*6.28/4; +per_frame_33=q5 = cos(trot); +per_frame_34=q6 = sin(trot); +per_frame_35=q7 = -q6; +per_frame_36=q8 = q5; +per_frame_37= +per_frame_38=q29= sin(time/4); +per_frame_39=wave_mystery = q29/2; +per_frame_40= +per_frame_41=q30 = .03*(index%32)/32; +per_frame_42= +per_frame_43=monitor = q30; +per_pixel_1=zoom = 1. +.02*rad; +warp_1=`float2 dd; +warp_2=`shader_body { +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 mus = GetBlur1(uv); +warp_6=`//float k = dot(mus,roam_sin)*8; +warp_7=`float k = mus*4; +warp_8=`dd = mul(uv1,float2x2(cos(k),sin(k),-sin(k),cos(k))); +warp_9=`uv1 += .20*lum(GetBlur1(uv))*dd; +warp_10=`uv = uv1-.5 +q5*0; +warp_11=` +warp_12=` +warp_13=`float2 zz = uv * texsize.xy *q30; +warp_14=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_15=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_16=` +warp_17=`uv -= float2(h1,h2)*texsize.zw * q26; +warp_18=` +warp_19=`float3 crisp = tex2D(sampler_main,uv) ; +warp_20=` +warp_21=`ret = crisp*.996 -.006; +warp_22=`q25 = 1; +warp_23=`ret = q25*ret + (1-q25)*GetPixel(uv_orig); +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` +comp_6=`float2 uva = uv; +comp_7=`float2 uvb = float2(1-uv.x,uv.y); +comp_8=` +comp_9=`ret = tex2D(sampler_main, uva).x + tex2D(sampler_main, uvb).x; +comp_10=` +comp_11=`float3 blurs = GetBlur1(uva).x + GetBlur3(uva).x; +comp_12=`blurs += GetBlur1(uvb).x + GetBlur3(uvb).x; +comp_13=` +comp_14=` +comp_15=`float2 uv3 = (uv-.5)*(1-GetBlur1(uv).zzz)+.5; +comp_16=`ret += saturate(pow(tex2D(sampler_main, uv3).zzz,.5)*(1-ret.x*2)), +comp_17=`ret += saturate(pow(GetBlur1(uv3).zzz,.5)*(1-ret.x*2)), +comp_18=`ret = lerp (blurs,ret,pow(ret,1)); +comp_19=`ret = pow(ret,.5+4*roam_cos); +comp_20=`ret += pow(tex2D(sampler_main, float2(uv.x,1-uv.y)).yyy+tex2D(sampler_main, 1-uv).yyy,float3(.6,.95,5)); +comp_21=` +comp_22=`ret = 1-exp(-2*ret); +comp_23=`} diff --git a/presets/presets_mischa_collection/martin - soma in pink.milk b/presets/presets_mischa_collection/martin - soma in pink.milk new file mode 100755 index 0000000000..ebbb031f14 --- /dev/null +++ b/presets/presets_mischa_collection/martin - soma in pink.milk @@ -0,0 +1,460 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.038558 +fWaveScale=0.372353 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.300000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1=k0 = int(100.0*sample); +wave_0_per_point2=k2 = int(100.0*sample+1); +wave_0_per_point3=k1 = equal(k0%2,0); +wave_0_per_point4=k2 = equal(k0%2,1); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=ix = (100*value1)%7-2.5; +wave_0_per_point8=iy = (100*value2)%7-2.5; +wave_0_per_point9= +wave_0_per_point10=sp = bass + treb; +wave_0_per_point11=sp = sp /3000; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=dx = (dx+sp*ix) * .998; +wave_0_per_point15=dy = (dy+sp*iy) * .998 ; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=ox = k1*dx + (1-k1)*ox; +wave_0_per_point19=oy = k2*dy + (1-k2)*oy; +wave_0_per_point20= +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=//ox = 0; oy = 0; +wave_0_per_point24= +wave_0_per_point25=x = ox+.5; +wave_0_per_point26=y = oy+.5; +wave_0_per_point27= +wave_0_per_point28=r = 1; +wave_0_per_point29=g = 1; +wave_0_per_point30=b = 1; +wave_0_per_point31=a = 1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample ; +wave_1_per_point3= +wave_1_per_point4=ox = sin (t_abs*68); +wave_1_per_point5=oy = cos (t_abs*63); +wave_1_per_point6=oz = sin (t_abs*125); +wave_1_per_point7= +wave_1_per_point8=r = 1; +wave_1_per_point9=g = .5 ; +wave_1_per_point10=b = 1 ; +wave_1_per_point11= +wave_1_per_point12=t_rel = sample - time/127; +wave_1_per_point13=t_rel = t_rel - int(t_rel); +wave_1_per_point14= +wave_1_per_point15=a = (512*sample-time*2)%2; +wave_1_per_point16=a = 1; +wave_1_per_point17= +wave_1_per_point18=xang = 0 ; +wave_1_per_point19=yang = t1; +wave_1_per_point20=zang = t1; +wave_1_per_point21=fov = 0.15; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=// Rotation um x,y,z +wave_1_per_point25= +wave_1_per_point26=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point27=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point28= +wave_1_per_point29=ox = mx; +wave_1_per_point30=oy = my; +wave_1_per_point31=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point32=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point33=ox = mx; +wave_1_per_point34=oz = mz; +wave_1_per_point35=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point36=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point37=oy = my; +wave_1_per_point38=oz = mz; +wave_1_per_point39= +wave_1_per_point40=//oz = oz - 6; +wave_1_per_point41=x = ox*fov/oz +0.5; +wave_1_per_point42=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point43=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_point1=k1 = (sample*512) % 8; +wave_2_per_point2= +wave_2_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_2_per_point4= + (1-equal(k1,0))*t1; +wave_2_per_point5= +wave_2_per_point6=exc = 1+rand(5); +wave_2_per_point7=ampl = sample*sqrt(t2) * (1+exc); +wave_2_per_point8= +wave_2_per_point9=f1 = q4*ampl* sin(t1*6.28/4096); +wave_2_per_point10=f2 = q4*ampl* cos(t1*6.28/4096); +wave_2_per_point11= +wave_2_per_point12=x = q2 + k1* f1 ; +wave_2_per_point13=y = q3 + k1* f2; +wave_2_per_point14= +wave_2_per_point15=a = equal(k1,6) + equal (k1,0); +wave_2_per_point16= +wave_2_per_point17=r = 1; +wave_2_per_point18=b = equal (k1,0); +wave_2_per_point19=g = .6* (1+.6*equal (k1,0)) ; +wave_2_per_point20=a = a * q5 * (1-0*t2*t2); +wave_2_per_point21=//a = 0; +wave_2_per_point22= +wave_2_per_point23= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1= +wave_3_per_point2=t_abs = sample; +wave_3_per_point3=t_rel = sample-time/8; +wave_3_per_point4= +wave_3_per_point5=ox = sin (sample*110) ; +wave_3_per_point6=oy = cos (sample*110); +wave_3_per_point7= +wave_3_per_point8=oz = 4+1/(t_rel - int(t_rel)); +wave_3_per_point9= +wave_3_per_point10=r = .3; +wave_3_per_point11=g = 0.7; +wave_3_per_point12=b = 1; +wave_3_per_point13= +wave_3_per_point14=a = .8; +wave_3_per_point15= +wave_3_per_point16=xang = 0; +wave_3_per_point17=yang = 0; +wave_3_per_point18=zang = 0; +wave_3_per_point19=fov = .5; +wave_3_per_point20= +wave_3_per_point21= +wave_3_per_point22=// Rotation um x,y,z +wave_3_per_point23= +wave_3_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point26= +wave_3_per_point27=ox = mx; +wave_3_per_point28=oy = my; +wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point31=ox = mx; +wave_3_per_point32=oz = mz; +wave_3_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point35=oy = my; +wave_3_per_point36=oz = mz; +wave_3_per_point37= +wave_3_per_point38=x = ox*fov/oz +0.45; +wave_3_per_point39=y = oy*fov/oz + 0.45; +shapecode_0_enabled=0 +shapecode_0_sides=44 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.126338 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.539067 +shapecode_0_r=0.000000 +shapecode_0_g=0.540000 +shapecode_0_b=0.890000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = .5 + .5 * sin(time); +shape_0_per_frame2=y = .5 + .5 * sin(time); +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.600000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_26=rott = p3*3.1416/2; +per_frame_27= +per_frame_28=rot1 = rot1 + q26; +per_frame_29=q25 = .01*rot1; +per_frame_30= +per_frame_31=q27 = 8-index; +per_frame_32=q28 = index3; +per_frame_33= +per_frame_34=dx1 = dec_med*dx1 + (1-dec_med)*bnot(index2); +per_frame_35=q29 = dx1; +per_frame_36=monitor = q29; +per_frame_37= +per_frame_38=q1 = cos(rott); +per_frame_39=q2 = sin(rott); +per_frame_40=q3 = -q2; +per_frame_41=q4 = q1; +per_frame_42= +per_frame_43= +per_pixel_1=rot = 0; +per_pixel_2=dx = .02*q29; +per_pixel_3=zoom = 1; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_mischa_collection/martin - starfield sectors.milk b/presets/presets_mischa_collection/martin - starfield sectors.milk new file mode 100755 index 0000000000..b63fe8d021 --- /dev/null +++ b/presets/presets_mischa_collection/martin - starfield sectors.milk @@ -0,0 +1,429 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.100000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=182 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = sin(t/7); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample ; +wave_0_per_point3= +wave_0_per_point4=ox = sin (t_abs*68); +wave_0_per_point5=oy = cos (t_abs*63); +wave_0_per_point6=oz = sin (t_abs*125); +wave_0_per_point7= +wave_0_per_point8=r = 0; +wave_0_per_point9=g = 1 ; +wave_0_per_point10=b = 1 ; +wave_0_per_point11= +wave_0_per_point12=t_rel = sample - time/127; +wave_0_per_point13=t_rel = t_rel - int(t_rel); +wave_0_per_point14= +wave_0_per_point15=a = (512*sample-time*2)%2; +wave_0_per_point16=a = 1; +wave_0_per_point17= +wave_0_per_point18=xang = 0 ; +wave_0_per_point19=yang = t1; +wave_0_per_point20=zang = t1; +wave_0_per_point21=fov = 0.15; +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=// Rotation um x,y,z +wave_0_per_point25= +wave_0_per_point26=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point27=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point28= +wave_0_per_point29=ox = mx; +wave_0_per_point30=oy = my; +wave_0_per_point31=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point32=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point33=ox = mx; +wave_0_per_point34=oz = mz; +wave_0_per_point35=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point36=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point37=oy = my; +wave_0_per_point38=oz = mz; +wave_0_per_point39= +wave_0_per_point40=//oz = oz - 6; +wave_0_per_point41=x = ox*fov/oz +0.5; +wave_0_per_point42=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point43=y = oy*fov/oz + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/2+q20; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_0_per_frame6= +shape_0_per_frame7=a = q26/4+.2; +shape_0_per_frame8=//a = 1; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/12; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(50)/50; +shape_2_per_frame5=g = rand(50)/50; +shape_2_per_frame6=b = rand(50)/50; +shape_2_per_frame7= +shape_2_per_frame8=r2 = 1; +shape_2_per_frame9=g2 = 1; +shape_2_per_frame10=b2 = 1; +shape_2_per_frame11= +shape_2_per_frame12=a = min(q21/2 ,1); +shape_2_per_frame13=a = .5; +shape_2_per_frame14=rad = a*a/16 ; +shape_2_per_frame15=a2 = .5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.845919 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.622112 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.900000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.299900 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=monitor = index2; +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass + mid + treb; +per_frame_17= +per_frame_18=k1 = is_beat*bnot(index)*bnot(index2); +per_frame_19=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_20=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_21=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_22=rott = p3 * 3.1416/4; +per_frame_23= +per_frame_24=pos = pos + q20/140; +per_frame_25=q28 = pos; +per_frame_26=q27 = index+1; +per_frame_27= +per_frame_28=q1 = cos(rott); +per_frame_29=q2 = sin(rott); +per_frame_30=q3 = -q2; +per_frame_31=q4 = q1; +per_frame_32= +per_frame_33=movez = movez + +.005*(1.5+q1)*30/fps; +per_frame_34=q30 = movez; +per_frame_35= +per_frame_36= +per_frame_37=zoom = 1.0; +per_frame_38=rot = -0.00 * index; +per_frame_39= +per_pixel_1=zoom = 1 + q1/25; +warp_1=` +warp_2=`shader_body { +warp_3=` +warp_4=`float2 uv1 = (uv-.5) * aspect.xy; +warp_5=` +warp_6=`float3 ret1 = GetPixel(uv); +warp_7=`ret = ret1 * .99 - .002 ; +warp_8=` +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(uv2) + 2*GetPixel(uv3); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_27=` +comp_28=`} diff --git a/presets/presets_mischa_collection/martin - timeless.milk b/presets/presets_mischa_collection/martin - timeless.milk new file mode 100755 index 0000000000..6c4bb1d884 --- /dev/null +++ b/presets/presets_mischa_collection/martin - timeless.milk @@ -0,0 +1,421 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.103 +fWaveSmoothing=0.540 +fWaveParam=0.380 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = sample ; +wave_0_per_point2=y = .5; +wave_0_per_point3= +wave_0_per_point4=r = .5 + .5 * sin(time/7); +wave_0_per_point5=g = .5 + .5 * sin(time/11); +wave_0_per_point6=b = .5 + .5 * sin(time/5); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=64 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.39712 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.87512 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.500 +shape_0_per_frame1=tex_ang = time/2; +shape_0_per_frame2=tex_zoom = 2 + sin(time/5); +shape_0_per_frame3=vis = q10; +shape_0_per_frame4=a = vis; a2 = vis*.5; border_a = vis; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=12 +shapecode_1_x=0.600 +shapecode_1_y=0.500 +shapecode_1_rad=0.03301 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.83150 +shapecode_1_r=1.000 +shapecode_1_g=0.600 +shapecode_1_b=0.000 +shapecode_1_a=0.900 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.590 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = .5 + .16*cos(instance/12*6.28)*q30; +shape_1_per_frame2=y = .5 + .16*sin(instance/12*6.28); +shape_1_per_frame3=//ang = time * (instance%2-.5)*q28; +shape_1_per_frame4=vis = 1; +shape_1_per_frame5=a = vis; a2 = vis*1; border_a = vis; +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=r = .5 * (1+sin(time/12.3)); +shape_1_per_frame9=g = .5 * (1+sin(time/14.3)); +shape_1_per_frame10=b = .5 * (1+sin(time/9.3)); +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.19869 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.00531 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=0.400 +shapecode_3_b=0.000 +shapecode_3_a=0.700 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%7; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16= +per_frame_17=vol = bass_att + treb_att; +per_frame_18=v2 = v2 * dec_med + vol * (1-dec_med) ; +per_frame_19=q26 = max(atan (vol - v2),0) + .2; +per_frame_20=q27 = index + 1; +per_frame_21= +per_frame_22=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_23=q28 = sw; +per_frame_24=kiss = kiss*dec_med +per_frame_25= +(1-dec_med)*bnot(index2)*below(index,4); +per_frame_26=q29 = kiss; +per_frame_27= +per_frame_28=k1 = is_beat*bnot(index); +per_frame_29=k2 = is_beat*bnot(index); +per_frame_30= +per_frame_31=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_32=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_33=rott = p2 * 3.1416/2; +per_frame_34=monitor = k1; +per_frame_35=q1 = cos(rott); +per_frame_36=q2 = sin(rott); +per_frame_37=q3 = -q2; +per_frame_38=q4 = q1; +per_frame_39= +per_frame_40=vis = vis*dec_med + (1-dec_med)*(index2%2); +per_frame_41=q10 = vis; +per_frame_42= +per_frame_43=zoom = 1; +per_frame_44=rot = -0; +per_frame_45= +per_frame_46=movez = movez + .01*30/fps; +per_frame_47=q30 = movez; +per_frame_48=q31 = cos(time/32)*cos(time/32); +per_frame_49= +per_frame_50=monitor = vis; +per_frame_51= +per_frame_52= +per_pixel_1=warp = 1.2; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float2 zz = uv.xy * texsize.xy *.03; +warp_13=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_14=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_15=` +warp_16=`uv.xy -= float2(h1,h2)*texsize.zw * 16; +warp_17=` +warp_18=` +warp_19=`float3 crisp = tex2D(sampler_main,uv) + 0*noiseVal/30; +warp_20=` +warp_21=`//crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_22=` +warp_23=` ret = crisp*.99 -.01; +warp_24=`} +comp_1=` +comp_2=`float2 rs, rs0, uv2, uv3,uv4,dz; +comp_3=`float3 noise, ret1, neu; +comp_4=` +comp_5=`shader_body { +comp_6=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_7=` +comp_8=`float z = .1/uv1.y/uv1.x; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2 (texsize.z,0); +comp_12=`float2 ver = float2 (0, texsize.w); +comp_13=` +comp_14=` +comp_15=`float dist = 1; +comp_16=`float inten = 1; +comp_17=`ret1 = 0; +comp_18=`int anz = 3; +comp_19=`int n = 0; +comp_20=`dz = 0; +comp_21=`while (n <= anz) { +comp_22=` dist = 1-frac(1.0/anz*n+.01); //evtl sqrt !; +comp_23=` +comp_24=` inten = (1-dist)*4; +comp_25=` uv = 1*uv1; +comp_26=`uv *= aspect.yx; +comp_27=` uv3 = 2*uv*dist + -.5 +noise*.0; +comp_28=` +comp_29=` dz.x += inten*(lum(GetPixel(uv3+hor))- lum(GetPixel (uv3-hor))); +comp_30=` dz.y += inten*(lum(GetPixel(uv3+ver))- lum(GetPixel (uv3-ver))); +comp_31=` neu = GetPixel(uv3+dz*.01); +comp_32=` +comp_33=` ret1 = max(ret1,neu*inten); +comp_34=`n++; +comp_35=`} +comp_36=` +comp_37=` +comp_38=`float2 uv6 = .2*sin(14*uv1+dz*2 + time/6); +comp_39=`float3 mus = (.01/length(uv6)); +comp_40=` +comp_41=`ret = sqrt(ret1)*(.2+8*mus)/1.5; +comp_42=`} diff --git a/presets/presets_mischa_collection/raron, martin + flexi - squatting.milk b/presets/presets_mischa_collection/raron, martin + flexi - squatting.milk new file mode 100755 index 0000000000..c88dedf89b --- /dev/null +++ b/presets/presets_mischa_collection/raron, martin + flexi - squatting.milk @@ -0,0 +1,755 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.413 +fWaveScale=0.375 +fWaveSmoothing=0.549 +fWaveParam=-0.660 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.539 +fWarpScale=2.449 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08927 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.240 +wave_y=0.440 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=chance = 0; +wave_0_per_frame1=t3 = 0.5 + 0.4 * cos(time * 0.4); +wave_0_per_frame2=t4 = 0.5 + 0.4 * sin(time * 0.14); +wave_0_per_frame3=t5 = 0.5 - 0.4 * sin(time * 0.21); +wave_0_per_frame4=t6 = 0.5 + 0.4 * cos(time * 0.13); +wave_0_per_frame5= +wave_0_per_frame6=t8 = 1; +wave_0_per_point1=x = t1; +wave_0_per_point2=y = t2; +wave_0_per_point3= +wave_0_per_point4=chance = rand(24); +wave_0_per_point5= +wave_0_per_point6=t1 = if(equal(chance,0),-.0955*y+0.7183,t1); +wave_0_per_point7=t2 = if(equal(chance,0),0.3135*x+0.3384,t2); +wave_0_per_point8=t1 = if(equal(chance,1),0.1260*x-0.0583*y+0.7430,t1); +wave_0_per_point9=t2 = if(equal(chance,1),0.1091*x+0.0674*y+0.4932,t2); +wave_0_per_point10=t1 = if(equal(chance,2),0.1206*x+0.0615*y+0.6997,t1); +wave_0_per_point11=t2 = if(equal(chance,2),-.1150*x+0.0645*y+0.4498,t2); +wave_0_per_point12=t1 = if(equal(chance,3),0.0592*x+0.0580*y+0.0867,t1); +wave_0_per_point13=t2 = if(equal(chance,3),-.0592*x+0.0580*y+0.6046,t2); +wave_0_per_point14=t1 = if(equal(chance,4),-.1238*y+0.1115,t1); +wave_0_per_point15=t2 = if(equal(chance,4),0.2705*x+0.3384,t2); +wave_0_per_point16=t1 = if(equal(chance,5),0.0976*x-0.0564*y+0.1796,t1); +wave_0_per_point17=t2 = if(equal(chance,5),0.0976*x+0.0564*y+0.5118,t2); +wave_0_per_point18=t1 = if(equal(chance,6),-.1238*y+0.3158,t1); +wave_0_per_point19=t2 = if(equal(chance,6),0.2705*x+0.3384,t2); +wave_0_per_point20=t1 = if(equal(chance,7),-.0955*y+0.0619,t1); +wave_0_per_point21=t2 = if(equal(chance,7),0.3131*x-0.0022,t2); +wave_0_per_point22=t1 = if(equal(chance,8),0.1057*x-0.0815*y+0.1053,t1); +wave_0_per_point23=t2 = if(equal(chance,8),0.1047*x+0.0822*y-0.0022,t2); +wave_0_per_point24=t1 = if(equal(chance,9),0.0943*x+0.0786*y+0.0619,t1); +wave_0_per_point25=t2 = if(equal(chance,9),-.1001*x+0.0738*y+0.2517,t2); +wave_0_per_point26=t1 = if(equal(chance,10),0.0859*x+0.5449,t1); +wave_0_per_point27=t2 = if(equal(chance,10),0.1057*y+0.3384,t2); +wave_0_per_point28=t1 = if(equal(chance,11),-.1241*y+0.4272,t1); +wave_0_per_point29=t2 = if(equal(chance,11),0.3131*x+0.3384,t2); +wave_0_per_point30=t1 = if(equal(chance,12),-.1241*y+0.5449,t1); +wave_0_per_point31=t2 = if(equal(chance,12),0.3131*x+0.3384,t2); +wave_0_per_point32=t1 = if(equal(chance,13),0.0995*x+0.0679*y+0.2972,t1); +wave_0_per_point33=t2 = if(equal(chance,13),-.0995*x+0.0679*y+0.0907,t2); +wave_0_per_point34=t1 = if(equal(chance,14),0.0687*x-0.0597*y+0.3839,t1); +wave_0_per_point35=t2 = if(equal(chance,14),0.0687*x+0.0597*y+0.0969,t2); +wave_0_per_point36=t1 = if(equal(chance,15),0.1065*x+0.0653*y+0.2662,t1); +wave_0_per_point37=t2 = if(equal(chance,15),-.1065*x+0.0653*y+0.2640,t2); +wave_0_per_point38=t1 = if(equal(chance,16),-.1080*y+0.2972,t1); +wave_0_per_point39=t2 = if(equal(chance,16),0.2443*x-0.0022,t2); +wave_0_per_point40=t1 = if(equal(chance,17),0.1056*x-0.0910*y+0.6625,t1); +wave_0_per_point41=t2 = if(equal(chance,17),0.1047*x+0.0918*y+0.0102,t2); +wave_0_per_point42=t1 = if(equal(chance,18),0.1035*x+0.0840*y+0.6068,t1); +wave_0_per_point43=t2 = if(equal(chance,18),-.1103*x+0.0789*y+0.2579,t2); +wave_0_per_point44=t1 = if(equal(chance,19),0.0992*x-0.0915*y+0.5263,t1); +wave_0_per_point45=t2 = if(equal(chance,19),0.0983*x+0.0822*y+0.1588,t2); +wave_0_per_point46=t1 = if(equal(chance,20),0.1003*x+0.0888*y+0.4706,t1); +wave_0_per_point47=t2 = if(equal(chance,20),-.1069*x+0.0833*y+0.1031,t2); +wave_0_per_point48=t1 = if(equal(chance,21),0.0687*x-0.0597*y+0.8978,t1); +wave_0_per_point49=t2 = if(equal(chance,21),0.0687*x+0.0597*y+0.0969,t2); +wave_0_per_point50=t1 = if(equal(chance,22),0.1065*x+0.0653*y+0.8235,t1); +wave_0_per_point51=t2 = if(equal(chance,22),-.1065*x+0.0653*y+0.3074,t2); +wave_0_per_point52=t1 = if(equal(chance,23),-.1145*y+0.8607,t1); +wave_0_per_point53=t2 = if(equal(chance,23),0.2875*x-0.0022,t2); +wave_0_per_point54= +wave_0_per_point55= +wave_0_per_point56=x = t1 + 0.02; +wave_0_per_point57=y = t2 + 0.15; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=dist1 = 25 * sqrt(sqr(x-t3)+sqr(y-t4)); +wave_0_per_point61=dist2 = 25 * sqrt(sqr(x-t5)+sqr(y-t6)); +wave_0_per_point62= +wave_0_per_point63=val1 = 0.3 * bass + 0.5 * sin(dist1-time - bass); +wave_0_per_point64=val2 = 0.3 * treb + 0.5 * sin(dist2-time - treb); +wave_0_per_point65=val = (val1 + val2) * 0.5; +wave_0_per_point66= +wave_0_per_point67=x = x*0.8+0.05; +wave_0_per_point68=y = y*0.8+0.05; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=chance = 0; +wave_1_per_frame1=t3 = 0.5 + 0.4 * cos(time * 0.4); +wave_1_per_frame2=t4 = 0.5 + 0.4 * sin(time * 0.14); +wave_1_per_frame3=t5 = 0.5 - 0.4 * sin(time * 0.21); +wave_1_per_frame4=t6 = 0.5 + 0.4 * cos(time * 0.13); +wave_1_per_frame5= +wave_1_per_frame6=t8 = 1; +wave_1_per_point1=x = t1; +wave_1_per_point2=y = t2; +wave_1_per_point3= +wave_1_per_point4=chance = rand(24); +wave_1_per_point5= +wave_1_per_point6=t1 = if(equal(chance,0),-.0955*y+0.7183,t1); +wave_1_per_point7=t2 = if(equal(chance,0),0.3135*x+0.3384,t2); +wave_1_per_point8=t1 = if(equal(chance,1),0.1260*x-0.0583*y+0.7430,t1); +wave_1_per_point9=t2 = if(equal(chance,1),0.1091*x+0.0674*y+0.4932,t2); +wave_1_per_point10=t1 = if(equal(chance,2),0.1206*x+0.0615*y+0.6997,t1); +wave_1_per_point11=t2 = if(equal(chance,2),-.1150*x+0.0645*y+0.4498,t2); +wave_1_per_point12=t1 = if(equal(chance,3),0.0592*x+0.0580*y+0.0867,t1); +wave_1_per_point13=t2 = if(equal(chance,3),-.0592*x+0.0580*y+0.6046,t2); +wave_1_per_point14=t1 = if(equal(chance,4),-.1238*y+0.1115,t1); +wave_1_per_point15=t2 = if(equal(chance,4),0.2705*x+0.3384,t2); +wave_1_per_point16=t1 = if(equal(chance,5),0.0976*x-0.0564*y+0.1796,t1); +wave_1_per_point17=t2 = if(equal(chance,5),0.0976*x+0.0564*y+0.5118,t2); +wave_1_per_point18=t1 = if(equal(chance,6),-.1238*y+0.3158,t1); +wave_1_per_point19=t2 = if(equal(chance,6),0.2705*x+0.3384,t2); +wave_1_per_point20=t1 = if(equal(chance,7),-.0955*y+0.0619,t1); +wave_1_per_point21=t2 = if(equal(chance,7),0.3131*x-0.0022,t2); +wave_1_per_point22=t1 = if(equal(chance,8),0.1057*x-0.0815*y+0.1053,t1); +wave_1_per_point23=t2 = if(equal(chance,8),0.1047*x+0.0822*y-0.0022,t2); +wave_1_per_point24=t1 = if(equal(chance,9),0.0943*x+0.0786*y+0.0619,t1); +wave_1_per_point25=t2 = if(equal(chance,9),-.1001*x+0.0738*y+0.2517,t2); +wave_1_per_point26=t1 = if(equal(chance,10),0.0859*x+0.5449,t1); +wave_1_per_point27=t2 = if(equal(chance,10),0.1057*y+0.3384,t2); +wave_1_per_point28=t1 = if(equal(chance,11),-.1241*y+0.4272,t1); +wave_1_per_point29=t2 = if(equal(chance,11),0.3131*x+0.3384,t2); +wave_1_per_point30=t1 = if(equal(chance,12),-.1241*y+0.5449,t1); +wave_1_per_point31=t2 = if(equal(chance,12),0.3131*x+0.3384,t2); +wave_1_per_point32=t1 = if(equal(chance,13),0.0995*x+0.0679*y+0.2972,t1); +wave_1_per_point33=t2 = if(equal(chance,13),-.0995*x+0.0679*y+0.0907,t2); +wave_1_per_point34=t1 = if(equal(chance,14),0.0687*x-0.0597*y+0.3839,t1); +wave_1_per_point35=t2 = if(equal(chance,14),0.0687*x+0.0597*y+0.0969,t2); +wave_1_per_point36=t1 = if(equal(chance,15),0.1065*x+0.0653*y+0.2662,t1); +wave_1_per_point37=t2 = if(equal(chance,15),-.1065*x+0.0653*y+0.2640,t2); +wave_1_per_point38=t1 = if(equal(chance,16),-.1080*y+0.2972,t1); +wave_1_per_point39=t2 = if(equal(chance,16),0.2443*x-0.0022,t2); +wave_1_per_point40=t1 = if(equal(chance,17),0.1056*x-0.0910*y+0.6625,t1); +wave_1_per_point41=t2 = if(equal(chance,17),0.1047*x+0.0918*y+0.0102,t2); +wave_1_per_point42=t1 = if(equal(chance,18),0.1035*x+0.0840*y+0.6068,t1); +wave_1_per_point43=t2 = if(equal(chance,18),-.1103*x+0.0789*y+0.2579,t2); +wave_1_per_point44=t1 = if(equal(chance,19),0.0992*x-0.0915*y+0.5263,t1); +wave_1_per_point45=t2 = if(equal(chance,19),0.0983*x+0.0822*y+0.1588,t2); +wave_1_per_point46=t1 = if(equal(chance,20),0.1003*x+0.0888*y+0.4706,t1); +wave_1_per_point47=t2 = if(equal(chance,20),-.1069*x+0.0833*y+0.1031,t2); +wave_1_per_point48=t1 = if(equal(chance,21),0.0687*x-0.0597*y+0.8978,t1); +wave_1_per_point49=t2 = if(equal(chance,21),0.0687*x+0.0597*y+0.0969,t2); +wave_1_per_point50=t1 = if(equal(chance,22),0.1065*x+0.0653*y+0.8235,t1); +wave_1_per_point51=t2 = if(equal(chance,22),-.1065*x+0.0653*y+0.3074,t2); +wave_1_per_point52=t1 = if(equal(chance,23),-.1145*y+0.8607,t1); +wave_1_per_point53=t2 = if(equal(chance,23),0.2875*x-0.0022,t2); +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=x = t1 + 0.02; +wave_1_per_point57=y = t2 + 0.15; +wave_1_per_point58= +wave_1_per_point59= +wave_1_per_point60=dist1 = 25 * sqrt(sqr(x-t3)+sqr(y-t4)); +wave_1_per_point61=dist2 = 25 * sqrt(sqr(x-t5)+sqr(y-t6)); +wave_1_per_point62= +wave_1_per_point63=val1 = 0.3 * bass + 0.5 * sin(dist1-time - bass); +wave_1_per_point64=val2 = 0.3 * treb + 0.5 * sin(dist2-time - treb); +wave_1_per_point65=val = (val1 + val2) * 0.5; +wave_1_per_point66= +wave_1_per_point67=x = x*0.8+0.05; +wave_1_per_point68=y = y*0.8+0.05; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_init1=chance = 0; +wave_2_per_frame1=t3 = 0.5 + 0.4 * cos(time * 0.4); +wave_2_per_frame2=t4 = 0.5 + 0.4 * sin(time * 0.14); +wave_2_per_frame3=t5 = 0.5 - 0.4 * sin(time * 0.21); +wave_2_per_frame4=t6 = 0.5 + 0.4 * cos(time * 0.13); +wave_2_per_frame5= +wave_2_per_frame6=t8 = 1; +wave_2_per_point1=x = t1; +wave_2_per_point2=y = t2; +wave_2_per_point3= +wave_2_per_point4=chance = rand(24); +wave_2_per_point5= +wave_2_per_point6=t1 = if(equal(chance,0),-.0955*y+0.7183,t1); +wave_2_per_point7=t2 = if(equal(chance,0),0.3135*x+0.3384,t2); +wave_2_per_point8=t1 = if(equal(chance,1),0.1260*x-0.0583*y+0.7430,t1); +wave_2_per_point9=t2 = if(equal(chance,1),0.1091*x+0.0674*y+0.4932,t2); +wave_2_per_point10=t1 = if(equal(chance,2),0.1206*x+0.0615*y+0.6997,t1); +wave_2_per_point11=t2 = if(equal(chance,2),-.1150*x+0.0645*y+0.4498,t2); +wave_2_per_point12=t1 = if(equal(chance,3),0.0592*x+0.0580*y+0.0867,t1); +wave_2_per_point13=t2 = if(equal(chance,3),-.0592*x+0.0580*y+0.6046,t2); +wave_2_per_point14=t1 = if(equal(chance,4),-.1238*y+0.1115,t1); +wave_2_per_point15=t2 = if(equal(chance,4),0.2705*x+0.3384,t2); +wave_2_per_point16=t1 = if(equal(chance,5),0.0976*x-0.0564*y+0.1796,t1); +wave_2_per_point17=t2 = if(equal(chance,5),0.0976*x+0.0564*y+0.5118,t2); +wave_2_per_point18=t1 = if(equal(chance,6),-.1238*y+0.3158,t1); +wave_2_per_point19=t2 = if(equal(chance,6),0.2705*x+0.3384,t2); +wave_2_per_point20=t1 = if(equal(chance,7),-.0955*y+0.0619,t1); +wave_2_per_point21=t2 = if(equal(chance,7),0.3131*x-0.0022,t2); +wave_2_per_point22=t1 = if(equal(chance,8),0.1057*x-0.0815*y+0.1053,t1); +wave_2_per_point23=t2 = if(equal(chance,8),0.1047*x+0.0822*y-0.0022,t2); +wave_2_per_point24=t1 = if(equal(chance,9),0.0943*x+0.0786*y+0.0619,t1); +wave_2_per_point25=t2 = if(equal(chance,9),-.1001*x+0.0738*y+0.2517,t2); +wave_2_per_point26=t1 = if(equal(chance,10),0.0859*x+0.5449,t1); +wave_2_per_point27=t2 = if(equal(chance,10),0.1057*y+0.3384,t2); +wave_2_per_point28=t1 = if(equal(chance,11),-.1241*y+0.4272,t1); +wave_2_per_point29=t2 = if(equal(chance,11),0.3131*x+0.3384,t2); +wave_2_per_point30=t1 = if(equal(chance,12),-.1241*y+0.5449,t1); +wave_2_per_point31=t2 = if(equal(chance,12),0.3131*x+0.3384,t2); +wave_2_per_point32=t1 = if(equal(chance,13),0.0995*x+0.0679*y+0.2972,t1); +wave_2_per_point33=t2 = if(equal(chance,13),-.0995*x+0.0679*y+0.0907,t2); +wave_2_per_point34=t1 = if(equal(chance,14),0.0687*x-0.0597*y+0.3839,t1); +wave_2_per_point35=t2 = if(equal(chance,14),0.0687*x+0.0597*y+0.0969,t2); +wave_2_per_point36=t1 = if(equal(chance,15),0.1065*x+0.0653*y+0.2662,t1); +wave_2_per_point37=t2 = if(equal(chance,15),-.1065*x+0.0653*y+0.2640,t2); +wave_2_per_point38=t1 = if(equal(chance,16),-.1080*y+0.2972,t1); +wave_2_per_point39=t2 = if(equal(chance,16),0.2443*x-0.0022,t2); +wave_2_per_point40=t1 = if(equal(chance,17),0.1056*x-0.0910*y+0.6625,t1); +wave_2_per_point41=t2 = if(equal(chance,17),0.1047*x+0.0918*y+0.0102,t2); +wave_2_per_point42=t1 = if(equal(chance,18),0.1035*x+0.0840*y+0.6068,t1); +wave_2_per_point43=t2 = if(equal(chance,18),-.1103*x+0.0789*y+0.2579,t2); +wave_2_per_point44=t1 = if(equal(chance,19),0.0992*x-0.0915*y+0.5263,t1); +wave_2_per_point45=t2 = if(equal(chance,19),0.0983*x+0.0822*y+0.1588,t2); +wave_2_per_point46=t1 = if(equal(chance,20),0.1003*x+0.0888*y+0.4706,t1); +wave_2_per_point47=t2 = if(equal(chance,20),-.1069*x+0.0833*y+0.1031,t2); +wave_2_per_point48=t1 = if(equal(chance,21),0.0687*x-0.0597*y+0.8978,t1); +wave_2_per_point49=t2 = if(equal(chance,21),0.0687*x+0.0597*y+0.0969,t2); +wave_2_per_point50=t1 = if(equal(chance,22),0.1065*x+0.0653*y+0.8235,t1); +wave_2_per_point51=t2 = if(equal(chance,22),-.1065*x+0.0653*y+0.3074,t2); +wave_2_per_point52=t1 = if(equal(chance,23),-.1145*y+0.8607,t1); +wave_2_per_point53=t2 = if(equal(chance,23),0.2875*x-0.0022,t2); +wave_2_per_point54= +wave_2_per_point55= +wave_2_per_point56=x = t1 + 0.02; +wave_2_per_point57=y = t2 + 0.15; +wave_2_per_point58= +wave_2_per_point59= +wave_2_per_point60=dist1 = 25 * sqrt(sqr(x-t3)+sqr(y-t4)); +wave_2_per_point61=dist2 = 25 * sqrt(sqr(x-t5)+sqr(y-t6)); +wave_2_per_point62= +wave_2_per_point63=val1 = 0.3 * bass + 0.5 * sin(dist1-time - bass); +wave_2_per_point64=val2 = 0.3 * treb + 0.5 * sin(dist2-time - treb); +wave_2_per_point65=val = (val1 + val2) * 0.5; +wave_2_per_point66= +wave_2_per_point67=x = x*0.8+0.05; +wave_2_per_point68=y = y*0.8+0.05; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_init1=chance = 0; +wave_3_per_frame1=t3 = 0.5 + 0.4 * cos(time * 0.4); +wave_3_per_frame2=t4 = 0.5 + 0.4 * sin(time * 0.14); +wave_3_per_frame3=t5 = 0.5 - 0.4 * sin(time * 0.21); +wave_3_per_frame4=t6 = 0.5 + 0.4 * cos(time * 0.13); +wave_3_per_frame5= +wave_3_per_frame6=t8 = 1; +wave_3_per_point1=x = t1; +wave_3_per_point2=y = t2; +wave_3_per_point3= +wave_3_per_point4=chance = rand(24); +wave_3_per_point5= +wave_3_per_point6=t1 = if(equal(chance,0),-.0955*y+0.7183,t1); +wave_3_per_point7=t2 = if(equal(chance,0),0.3135*x+0.3384,t2); +wave_3_per_point8=t1 = if(equal(chance,1),0.1260*x-0.0583*y+0.7430,t1); +wave_3_per_point9=t2 = if(equal(chance,1),0.1091*x+0.0674*y+0.4932,t2); +wave_3_per_point10=t1 = if(equal(chance,2),0.1206*x+0.0615*y+0.6997,t1); +wave_3_per_point11=t2 = if(equal(chance,2),-.1150*x+0.0645*y+0.4498,t2); +wave_3_per_point12=t1 = if(equal(chance,3),0.0592*x+0.0580*y+0.0867,t1); +wave_3_per_point13=t2 = if(equal(chance,3),-.0592*x+0.0580*y+0.6046,t2); +wave_3_per_point14=t1 = if(equal(chance,4),-.1238*y+0.1115,t1); +wave_3_per_point15=t2 = if(equal(chance,4),0.2705*x+0.3384,t2); +wave_3_per_point16=t1 = if(equal(chance,5),0.0976*x-0.0564*y+0.1796,t1); +wave_3_per_point17=t2 = if(equal(chance,5),0.0976*x+0.0564*y+0.5118,t2); +wave_3_per_point18=t1 = if(equal(chance,6),-.1238*y+0.3158,t1); +wave_3_per_point19=t2 = if(equal(chance,6),0.2705*x+0.3384,t2); +wave_3_per_point20=t1 = if(equal(chance,7),-.0955*y+0.0619,t1); +wave_3_per_point21=t2 = if(equal(chance,7),0.3131*x-0.0022,t2); +wave_3_per_point22=t1 = if(equal(chance,8),0.1057*x-0.0815*y+0.1053,t1); +wave_3_per_point23=t2 = if(equal(chance,8),0.1047*x+0.0822*y-0.0022,t2); +wave_3_per_point24=t1 = if(equal(chance,9),0.0943*x+0.0786*y+0.0619,t1); +wave_3_per_point25=t2 = if(equal(chance,9),-.1001*x+0.0738*y+0.2517,t2); +wave_3_per_point26=t1 = if(equal(chance,10),0.0859*x+0.5449,t1); +wave_3_per_point27=t2 = if(equal(chance,10),0.1057*y+0.3384,t2); +wave_3_per_point28=t1 = if(equal(chance,11),-.1241*y+0.4272,t1); +wave_3_per_point29=t2 = if(equal(chance,11),0.3131*x+0.3384,t2); +wave_3_per_point30=t1 = if(equal(chance,12),-.1241*y+0.5449,t1); +wave_3_per_point31=t2 = if(equal(chance,12),0.3131*x+0.3384,t2); +wave_3_per_point32=t1 = if(equal(chance,13),0.0995*x+0.0679*y+0.2972,t1); +wave_3_per_point33=t2 = if(equal(chance,13),-.0995*x+0.0679*y+0.0907,t2); +wave_3_per_point34=t1 = if(equal(chance,14),0.0687*x-0.0597*y+0.3839,t1); +wave_3_per_point35=t2 = if(equal(chance,14),0.0687*x+0.0597*y+0.0969,t2); +wave_3_per_point36=t1 = if(equal(chance,15),0.1065*x+0.0653*y+0.2662,t1); +wave_3_per_point37=t2 = if(equal(chance,15),-.1065*x+0.0653*y+0.2640,t2); +wave_3_per_point38=t1 = if(equal(chance,16),-.1080*y+0.2972,t1); +wave_3_per_point39=t2 = if(equal(chance,16),0.2443*x-0.0022,t2); +wave_3_per_point40=t1 = if(equal(chance,17),0.1056*x-0.0910*y+0.6625,t1); +wave_3_per_point41=t2 = if(equal(chance,17),0.1047*x+0.0918*y+0.0102,t2); +wave_3_per_point42=t1 = if(equal(chance,18),0.1035*x+0.0840*y+0.6068,t1); +wave_3_per_point43=t2 = if(equal(chance,18),-.1103*x+0.0789*y+0.2579,t2); +wave_3_per_point44=t1 = if(equal(chance,19),0.0992*x-0.0915*y+0.5263,t1); +wave_3_per_point45=t2 = if(equal(chance,19),0.0983*x+0.0822*y+0.1588,t2); +wave_3_per_point46=t1 = if(equal(chance,20),0.1003*x+0.0888*y+0.4706,t1); +wave_3_per_point47=t2 = if(equal(chance,20),-.1069*x+0.0833*y+0.1031,t2); +wave_3_per_point48=t1 = if(equal(chance,21),0.0687*x-0.0597*y+0.8978,t1); +wave_3_per_point49=t2 = if(equal(chance,21),0.0687*x+0.0597*y+0.0969,t2); +wave_3_per_point50=t1 = if(equal(chance,22),0.1065*x+0.0653*y+0.8235,t1); +wave_3_per_point51=t2 = if(equal(chance,22),-.1065*x+0.0653*y+0.3074,t2); +wave_3_per_point52=t1 = if(equal(chance,23),-.1145*y+0.8607,t1); +wave_3_per_point53=t2 = if(equal(chance,23),0.2875*x-0.0022,t2); +wave_3_per_point54= +wave_3_per_point55= +wave_3_per_point56=x = t1 + 0.02; +wave_3_per_point57=y = t2 + 0.15; +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=dist1 = 25 * sqrt(sqr(x-t3)+sqr(y-t4)); +wave_3_per_point61=dist2 = 25 * sqrt(sqr(x-t5)+sqr(y-t6)); +wave_3_per_point62= +wave_3_per_point63=val1 = 0.3 * bass + 0.5 * sin(dist1-time - bass); +wave_3_per_point64=val2 = 0.3 * treb + 0.5 * sin(dist2-time - treb); +wave_3_per_point65=val = (val1 + val2) * 0.5; +wave_3_per_point66= +wave_3_per_point67=x = x*0.8+0.05; +wave_3_per_point68=y = y*0.8+0.05; +shapecode_0_enabled=0 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02770 +shapecode_0_ang=6.03186 +shapecode_0_tex_ang=6.03186 +shapecode_0_tex_zoom=0.68390 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=fcx = 0.5; +shape_0_per_frame2=fcy = 0.5; +shape_0_per_frame3= +shape_0_per_frame4=fang = 3.34; +shape_0_per_frame5=pt1x = fcx + 0.5 * cos(fang+0.491); +shape_0_per_frame6=pt1y = fcy + 0.5 * sin(fang+0.491); +shape_0_per_frame7=pt2x = fcx + 0.39 * cos(fang+1.372); +shape_0_per_frame8=pt2y = fcy + 0.39 * sin(fang+1.372); +shape_0_per_frame9=pt3x = fcx + 0.255 * cos(fang); +shape_0_per_frame10=pt3y = fcy + 0.255 * sin(fang); +shape_0_per_frame11= +shape_0_per_frame12=x = pt1x; +shape_0_per_frame13=y = pt1y; +shape_0_per_frame14= +shape_0_per_frame15=//x = fcx; +shape_0_per_frame16=//y = fcy; +shapecode_1_enabled=0 +shapecode_1_sides=12 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03734 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.69074 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.300 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = q5; +shape_1_per_frame2=y = q6; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=prox = 1; +per_frame_init_2= +per_frame_init_3=x1 = 0.3; +per_frame_init_4=x2 = 0.5; +per_frame_init_5=x3 = 0.7; +per_frame_init_6=x4 = 0.3; +per_frame_init_7= +per_frame_init_8=y1 = 0.8; +per_frame_init_9=y2 = 0.5; +per_frame_init_10=y3 = 0.2; +per_frame_init_11=y4 = 0.2; +per_frame_1= +per_frame_2=zoom = 1; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=//pogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogo +per_frame_6=r = 0.15+ max(bass_att,treb_att)*0.01; +per_frame_7=bounce = below(y1,r);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.94 + (r-y1)*0.1, vy1-0.0004*60/fps); +per_frame_8=bounce = below(x1,r);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.94 + (r-x1)*0.1, vx1); +per_frame_9=bounce = above(x1,1-r);vx1 = if(bounce, - abs(vx1)*0.94 + (1-r-x1)*0.04, vx1); +per_frame_10=bounce = below(y2,r);y2 = y2 + vy2;vy2 = if(bounce,abs(vy2)*0.94+(r-y2)*.1, vy2-0.0004*60/fps); +per_frame_11=bounce = below(x2,r);x2 = x2+ vx2;vx2 = if(bounce, abs(vx2)*0.94 + (r-x2)*0.1, vx2); +per_frame_12=bounce = above(x2,1-r);vx2 = if(bounce, - abs(vx2)*0.94 + (1-r-x2)*0.1, vx2); +per_frame_13=bounce = below(y3,r);y3 = y3 + vy3;vy3 = if(bounce,abs(vy3)*0.94+(r-y3)*.1, vy3-0.0004*60/fps); +per_frame_14=bounce = below(x3,r);x3 = x3+ vx3;vx3 = if(bounce, abs(vx3)*0.94 + (r-x3)*0.1, vx3); +per_frame_15=bounce = above(x3,1-r);vx3 = if(bounce, - abs(vx3)*0.94 + (1-r-x3)*0.1, vx3); +per_frame_16=bounce = below(y4,r);y4 = y4 + vy4;vy4 = if(bounce,abs(vy4)*0.94+(r-y4)*.1, vy4-0.0004*60/fps); +per_frame_17=bounce = below(x4,r);x4 = x4+ vx4;vx4 = if(bounce, abs(vx4)*0.94 + (r-x4)*0.1, vx4); +per_frame_18=bounce = above(x4,1-r);vx4 = if(bounce, - abs(vx4)*0.94 + (1-r-x4)*0.1, vx4); +per_frame_19=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_20=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_21=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_22=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_23=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_24=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_25=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_26=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_27=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_28=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_29=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_30=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_31=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_32=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_33=bounce = below( sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)), 2*r); +per_frame_34=ref_ang = atan2(x3-x2,y3-y2)+asin(1); // common tangent +per_frame_35=v1 = sqrt(vx2*vx2+vy2*vy2);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx2,vy2);w2 = atan2(vx3,vy3); +per_frame_36=vx2 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx2); +per_frame_37=vy2 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy2); +per_frame_38=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_39=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_40=bounce = below( sqrt( sqr(x1+vx1-x4-vx4) + sqr(y1+vy1-y4-vy4)), 2*r); +per_frame_41=ref_ang = atan2(x4-x1,y4-y1)+asin(1); // common tangent +per_frame_42=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx1,vy1);w2 = atan2(vx4,vy4); +per_frame_43=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_44=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_45=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_46=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_47=bounce = below( sqrt( sqr(x2+vx2-x4-vx4) + sqr(y2+vy2-y4-vy4)), 2*r); +per_frame_48=ref_ang = atan2(x4-x2,y4-y2)+asin(1); // common tangent +per_frame_49=v1 = sqrt(vx2*vx2+vy2*vy2);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx2,vy2);w2 = atan2(vx4,vy4); +per_frame_50=vx2 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx2); +per_frame_51=vy2 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy2); +per_frame_52=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_53=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_54=bounce = below( sqrt( sqr(x3+vx3-x4-vx4) + sqr(y3+vy3-y4-vy4)), 2*r); +per_frame_55=ref_ang = atan2(x4-x3,y4-y3)+asin(1); // common tangent +per_frame_56=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx3,vy3);w2 = atan2(vx4,vy4); +per_frame_57=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_59=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_60=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_61=//pogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogo +per_frame_62=q1 = aspectx; +per_frame_63=q2 = aspecty; +per_frame_64=q3 = r; +per_frame_65=q4 = x1; +per_frame_66=q5 = y1; +per_frame_67=q6 = x2; +per_frame_68=q7 = y2; +per_frame_69=q8 = x3; +per_frame_70=q9 = y3; +per_frame_71=q10 = x4; +per_frame_72=q11 = y4; +warp_1=`shader_body +warp_2=`{ +warp_3=`ret = GetPixel(uv_orig) - 0.004; +warp_4=` +warp_5=` +warp_6=`float2 d = texsize.zw*2; +warp_7=`float3 dx = ( 2*GetBlur1(uv+float2(1,0)*d)-2*GetBlur1(uv-float2(1,0)*d) )*0.5; +warp_8=`float3 dy = ( 2*GetBlur1(uv+float2(0,1)*d)-2*GetBlur1(uv-float2(0,1)*d) )*0.5; +warp_9=` +warp_10=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_11=` +warp_12=`float2 uv_red = lerp(uv_orig,uv,-.4) - float2(dx.x,dy.x)*texsize.zw + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*2; +warp_13=`ret.x = GetPixel(uv_red).x - 0.001; +warp_14=` +warp_15=`float2 uv_green = lerp(uv_orig,uv,1) + float2(-1,2)*texsize.zw - float2(dx.y,dy.y)*texsize.zw*3 + float2(dx.x,dy.x)*texsize.zw*0; +warp_16=`ret.y = max( GetPixel(uv_orig).z - GetPixel(uv_orig).x*2, tex2d(sampler_fc_main, uv_green).y - 0.004); +warp_17=` +warp_18=`float2 uv_blue = lerp(uv_orig,uv,-0.1) + float2(dx.z,dy.z)*texsize.zw*2; +warp_19=` +warp_20=`ret.z = tex2d(sampler_fc_main,uv_blue).z; +warp_21=`ret.z += -(2*GetPixel(uv_blue).z - 2*GetBlur1(uv_blue).z)*0.02 - 0.08 + ret.x*0.2; +warp_22=`//ret = 0; +warp_23=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float2 rs, rss, rss0, tmp, uvo; +comp_4=`float3 noise; +comp_5=` +comp_6=`float2 complex_div(float2 numerator, float2 denominator){ +comp_7=` return float2( numerator.x*denominator.x + numerator.y*denominator.y, +comp_8=` numerator.y*denominator.x - numerator.x*denominator.y)/ +comp_9=` (denominator.x*denominator.x + denominator.y*denominator.y); +comp_10=`} +comp_11=` +comp_12=`float2 uv_polar(float2 domain, float2 center){ +comp_13=` float2 c = domain - center; +comp_14=` float rad_hq = length(c); +comp_15=` float ang_hq = atan2(c.x,c.y); +comp_16=` return float2(ang_hq, rad_hq); +comp_17=`} +comp_18=` +comp_19=`float2 uv_polar_logarithmic(float2 domain, float2 center, int fins, float log_factor, float2 coord){ +comp_20=` float2 polar = uv_polar(domain, center); +comp_21=` return float2(polar.x*fins+coord.x, log_factor*log(1/polar.y) + coord.y); +comp_22=`} +comp_23=` +comp_24=`float2 uv_moebius_transformation(float2 domain, float2 zeroPoint, float2 infinityPoint,float zoom){ +comp_25=` return complex_div((domain - zeroPoint)*zoom, domain - infinityPoint)+0.5; +comp_26=`} +comp_27=` +comp_28=`float2 uv_bipolar_logarithmic(float2 domain, float2 northPole, float2 southPole, int fins, float log_factor, float2 coord){ +comp_29=` float2 help_uv = uv_moebius_transformation(domain, northPole, southPole, 1); +comp_30=` return uv_polar_logarithmic(help_uv,0.5,fins,log_factor,coord)*float2(M_INV_PI_2,1); +comp_31=`} +comp_32=` +comp_33=`float2 uv_x, uv_y, uv_z, uv_echo; +comp_34=`float2 uv_aspect(float2 uvo, float2 uvm, float2 aspectr, float2 motion_scale){ +comp_35=` return 0.5 + (lerp(uvo,uvm,motion_scale)-0.5)*aspectr; +comp_36=`} +comp_37=`float2 uv_scale(float2 domain, float2 center, float2 scale){ +comp_38=` return center + (domain-center)*scale; +comp_39=`} +comp_40=`float2 uv_lens_half_sphere(float2 domain, float2 position, float radius, float refractivity){ +comp_41=` float2 polar = uv_polar(domain, position); +comp_42=` float cone = saturate(1-polar.y/radius); +comp_43=` float halfsphere = sqrt(1-pow(cone-1,2)); +comp_44=` float w = atan2(1-cone,halfsphere); +comp_45=` float refrac_w = w-asin(sin(w)/refractivity); +comp_46=` float refrac_d = 1-cone - sin(refrac_w)*halfsphere/cos(refrac_w); +comp_47=` float2 refrac_uv =position+float2(sin(polar.x),cos(polar.x))*refrac_d*radius; +comp_48=` bool mask =(length(domain-position)= 0); +comp_76=` tmp = abs(frac(rss*8)-.5); +comp_77=` float3 dots = saturate(.04/length(tmp)) *noise; +comp_78=` rss = float2 (rss0.x,rss0.y+time/4); +comp_79=` rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_80=` noise = (tex2D(sampler_pw_noise_lq,rss/32)-.5 >= 0); +comp_81=` tmp = abs(frac(rss*8)-.5); +comp_82=` dots += saturate(.02/length(tmp)) * noise; +comp_83=` dots *= saturate(.2/abs(rss0.y)); +comp_84=` dots *= dots; +comp_85=` //************************* +comp_86=` +comp_87=` +comp_88=`uv = frac(1-uv_bipolar_logarithmic(uv, float2(0.25,0.5), float2(0.75,0.5), 3, 0.4, float2(8,-1)*time*0.1).yx); +comp_89=` +comp_90=`float2 d = texsize.zw*8; +comp_91=`float3 dx = ( 2*GetBlur1(uv+float2(1,0)*d)-2*GetBlur1(uv-float2(1,0)*d) )*0.5; +comp_92=`float3 dy = ( 2*GetBlur1(uv+float2(0,1)*d)-2*GetBlur1(uv-float2(0,1)*d) )*0.5; +comp_93=` +comp_94=`float2 uv_fire = uv + float2(dx.z,dy.z)*0.02 - float2(dx.y,dy.y)*texsize.zw*16; +comp_95=`ret = GetBlur3(uv_fire).y*float3(1.7,0,0); +comp_96=`ret = lerp(ret, float3(-0.4,-0.5,0), GetBlur1(uv_fire).y*1.2); +comp_97=`ret = lerp(ret, float3(2,2,0),GetPixel(uv_fire).y*0.9); +comp_98=` +comp_99=` +comp_100=`uv += float2(dx.z, dy.z)*texsize.zw*2; +comp_101=` +comp_102=`ret = lerp(ret, 0, GetBlur1(uv).z*2); +comp_103=`ret = lerp(saturate(ret), float3(0.7,0.6,1), GetPixel(uv).z); +comp_104=` +comp_105=`ret = lerp(ret, float3(1,0.9,0.9), saturate(GetPixel(uv).x*2-1)*1.2); +comp_106=`ret = lerp(dots*2.4,1,ret); +comp_107=`} +comp_108=` +comp_109=` diff --git a/presets/presets_mischa_collection/shifter - tumbling cubes.milk b/presets/presets_mischa_collection/shifter - tumbling cubes.milk new file mode 100755 index 0000000000..519ea8b091 --- /dev/null +++ b/presets/presets_mischa_collection/shifter - tumbling cubes.milk @@ -0,0 +1,471 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=0.5 +fVideoEchoZoom=4.946229 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.0 +zoom=0.999512 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz + 0.5; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=tic = time - tin; +wave_3_per_frame2=tin = time; +wave_3_per_frame3=mod = .1*(mod*9 + treb_att); +wave_3_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_3_per_frame5=t1 = tt; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .3; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75 + 0.5; +wave_3_per_point62=y = oy*fov/oz + 0.5; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; diff --git a/presets/presets_mischa_collection/xmuzack + martin + Mig + EoS - look inside the stained glass flame.milk b/presets/presets_mischa_collection/xmuzack + martin + Mig + EoS - look inside the stained glass flame.milk new file mode 100644 index 0000000000..d576e55e03 --- /dev/null +++ b/presets/presets_mischa_collection/xmuzack + martin + Mig + EoS - look inside the stained glass flame.milk @@ -0,0 +1,307 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=2.905 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*0.96+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret = ret- (ret*.5); +warp_13=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_14=` ret = ret - .01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets_milkdrop/Aderrasi - Agitator.milk b/presets/presets_projectM/Aderrasi - Agitator.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Agitator.milk rename to presets/presets_projectM/Aderrasi - Agitator.milk diff --git a/presets_milkdrop/Aderrasi - Aimless (Gravity Directive Mix).milk b/presets/presets_projectM/Aderrasi - Aimless (Gravity Directive Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Aimless (Gravity Directive Mix).milk rename to presets/presets_projectM/Aderrasi - Aimless (Gravity Directive Mix).milk diff --git a/presets_milkdrop/Aderrasi - Aimless (Spirogravity Mix).milk b/presets/presets_projectM/Aderrasi - Aimless (Spirogravity Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Aimless (Spirogravity Mix).milk rename to presets/presets_projectM/Aderrasi - Aimless (Spirogravity Mix).milk diff --git a/presets_milkdrop/Aderrasi - Airhandler (Menagerie Mix).milk b/presets/presets_projectM/Aderrasi - Airhandler (Menagerie Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Airhandler (Menagerie Mix).milk rename to presets/presets_projectM/Aderrasi - Airhandler (Menagerie Mix).milk diff --git a/presets_milkdrop/Aderrasi - Airs (Windy Mix).milk b/presets/presets_projectM/Aderrasi - Airs (Windy Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Airs (Windy Mix).milk rename to presets/presets_projectM/Aderrasi - Airs (Windy Mix).milk diff --git a/presets_milkdrop/Aderrasi - Airs.milk b/presets/presets_projectM/Aderrasi - Airs.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Airs.milk rename to presets/presets_projectM/Aderrasi - Airs.milk diff --git a/presets_milkdrop/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk b/presets/presets_projectM/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk rename to presets/presets_projectM/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk diff --git a/presets_milkdrop/Aderrasi - Anchorpulse (Verified Mix).milk b/presets/presets_projectM/Aderrasi - Anchorpulse (Verified Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Anchorpulse (Verified Mix).milk rename to presets/presets_projectM/Aderrasi - Anchorpulse (Verified Mix).milk diff --git a/presets_milkdrop/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk b/presets/presets_projectM/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk rename to presets/presets_projectM/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk diff --git a/presets_milkdrop/Aderrasi - Antidote (Aqualung Mix).milk b/presets/presets_projectM/Aderrasi - Antidote (Aqualung Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Antidote (Aqualung Mix).milk rename to presets/presets_projectM/Aderrasi - Antidote (Aqualung Mix).milk diff --git a/presets_milkdrop/Aderrasi - Antidote (Side Effects Mix).milk b/presets/presets_projectM/Aderrasi - Antidote (Side Effects Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Antidote (Side Effects Mix).milk rename to presets/presets_projectM/Aderrasi - Antidote (Side Effects Mix).milk diff --git a/presets_milkdrop/Aderrasi - Antidote.milk b/presets/presets_projectM/Aderrasi - Antidote.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Antidote.milk rename to presets/presets_projectM/Aderrasi - Antidote.milk diff --git a/presets_milkdrop/Aderrasi - Antique Abyss.milk b/presets/presets_projectM/Aderrasi - Antique Abyss.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Antique Abyss.milk rename to presets/presets_projectM/Aderrasi - Antique Abyss.milk diff --git a/presets_milkdrop/Aderrasi - Arise! (Padded Mix).milk b/presets/presets_projectM/Aderrasi - Arise! (Padded Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Arise! (Padded Mix).milk rename to presets/presets_projectM/Aderrasi - Arise! (Padded Mix).milk diff --git a/presets_milkdrop/Aderrasi - Ashes Of Air (Remix).milk b/presets/presets_projectM/Aderrasi - Ashes Of Air (Remix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Ashes Of Air (Remix).milk rename to presets/presets_projectM/Aderrasi - Ashes Of Air (Remix).milk diff --git a/presets_milkdrop/Aderrasi - Bitterfeld (Crystal Border Mix).milk b/presets/presets_projectM/Aderrasi - Bitterfeld (Crystal Border Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Bitterfeld (Crystal Border Mix).milk rename to presets/presets_projectM/Aderrasi - Bitterfeld (Crystal Border Mix).milk diff --git a/presets_milkdrop/Aderrasi - Blender.milk b/presets/presets_projectM/Aderrasi - Blender.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Blender.milk rename to presets/presets_projectM/Aderrasi - Blender.milk diff --git a/presets_milkdrop/Aderrasi - Bow To Gravity.milk b/presets/presets_projectM/Aderrasi - Bow To Gravity.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Bow To Gravity.milk rename to presets/presets_projectM/Aderrasi - Bow To Gravity.milk diff --git a/presets_milkdrop/Aderrasi - Brakefreak.milk b/presets/presets_projectM/Aderrasi - Brakefreak.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Brakefreak.milk rename to presets/presets_projectM/Aderrasi - Brakefreak.milk diff --git a/presets_milkdrop/Aderrasi - Candy Avian.milk b/presets/presets_projectM/Aderrasi - Candy Avian.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Candy Avian.milk rename to presets/presets_projectM/Aderrasi - Candy Avian.milk diff --git a/presets_milkdrop/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk b/presets/presets_projectM/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk rename to presets/presets_projectM/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk diff --git a/presets_milkdrop/Aderrasi - Causeway Of Dreams (REMix).milk b/presets/presets_projectM/Aderrasi - Causeway Of Dreams (REMix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Causeway Of Dreams (REMix).milk rename to presets/presets_projectM/Aderrasi - Causeway Of Dreams (REMix).milk diff --git a/presets_milkdrop/Aderrasi - Causeway Of Dreams.milk b/presets/presets_projectM/Aderrasi - Causeway Of Dreams.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Causeway Of Dreams.milk rename to presets/presets_projectM/Aderrasi - Causeway Of Dreams.milk diff --git a/presets_milkdrop/Aderrasi - Chromatic Abyss (The Other Side).milk b/presets/presets_projectM/Aderrasi - Chromatic Abyss (The Other Side).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Chromatic Abyss (The Other Side).milk rename to presets/presets_projectM/Aderrasi - Chromatic Abyss (The Other Side).milk diff --git a/presets_milkdrop/Aderrasi - Circlefacade.milk b/presets/presets_projectM/Aderrasi - Circlefacade.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Circlefacade.milk rename to presets/presets_projectM/Aderrasi - Circlefacade.milk diff --git a/presets_milkdrop/Aderrasi - Contortion (Xenomorph Mix).milk b/presets/presets_projectM/Aderrasi - Contortion (Xenomorph Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Contortion (Xenomorph Mix).milk rename to presets/presets_projectM/Aderrasi - Contortion (Xenomorph Mix).milk diff --git a/presets_milkdrop/Aderrasi - Contortion.milk b/presets/presets_projectM/Aderrasi - Contortion.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Contortion.milk rename to presets/presets_projectM/Aderrasi - Contortion.milk diff --git a/presets_milkdrop/Aderrasi - Crystal Storm.milk b/presets/presets_projectM/Aderrasi - Crystal Storm.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Crystal Storm.milk rename to presets/presets_projectM/Aderrasi - Crystal Storm.milk diff --git a/presets_milkdrop/Aderrasi - Dark Matter (Converse Mix).milk b/presets/presets_projectM/Aderrasi - Dark Matter (Converse Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Dark Matter (Converse Mix).milk rename to presets/presets_projectM/Aderrasi - Dark Matter (Converse Mix).milk diff --git a/presets_milkdrop/Aderrasi - Elastoid.milk b/presets/presets_projectM/Aderrasi - Elastoid.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Elastoid.milk rename to presets/presets_projectM/Aderrasi - Elastoid.milk diff --git a/presets_milkdrop/Aderrasi - Floater Society.milk b/presets/presets_projectM/Aderrasi - Floater Society.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Floater Society.milk rename to presets/presets_projectM/Aderrasi - Floater Society.milk diff --git a/presets_milkdrop/Aderrasi - Flowing Form.milk b/presets/presets_projectM/Aderrasi - Flowing Form.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Flowing Form.milk rename to presets/presets_projectM/Aderrasi - Flowing Form.milk diff --git a/presets_milkdrop/Aderrasi - Making Time (Swamp Mix).milk b/presets/presets_projectM/Aderrasi - Making Time (Swamp Mix).milk similarity index 100% rename from presets_milkdrop/Aderrasi - Making Time (Swamp Mix).milk rename to presets/presets_projectM/Aderrasi - Making Time (Swamp Mix).milk diff --git a/presets_milkdrop/Aderrasi - Multiviola.milk b/presets/presets_projectM/Aderrasi - Multiviola.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Multiviola.milk rename to presets/presets_projectM/Aderrasi - Multiviola.milk diff --git a/presets_milkdrop/Aderrasi - Negative Sun III.milk b/presets/presets_projectM/Aderrasi - Negative Sun III.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Negative Sun III.milk rename to presets/presets_projectM/Aderrasi - Negative Sun III.milk diff --git a/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk b/presets/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk similarity index 100% rename from presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk rename to presets/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk diff --git a/presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk b/presets/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk similarity index 100% rename from presets_milkdrop/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk rename to presets/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk diff --git a/presets_milkdrop/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_projectM/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk similarity index 100% rename from presets_milkdrop/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk rename to presets/presets_projectM/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk diff --git a/presets_projectM/CatalystTheElder - Electric Rosebud_Phat_texture_edit.milk b/presets/presets_projectM/CatalystTheElder - Electric Rosebud_Phat_texture_edit.milk similarity index 100% rename from presets_projectM/CatalystTheElder - Electric Rosebud_Phat_texture_edit.milk rename to presets/presets_projectM/CatalystTheElder - Electric Rosebud_Phat_texture_edit.milk diff --git a/presets_projectM/Che - Escape.milk b/presets/presets_projectM/Che - Escape.milk similarity index 100% rename from presets_projectM/Che - Escape.milk rename to presets/presets_projectM/Che - Escape.milk diff --git a/presets_milkdrop/che - terracarbon stream.milk b/presets/presets_projectM/Che - Terracarbon Stream.milk similarity index 100% rename from presets_milkdrop/che - terracarbon stream.milk rename to presets/presets_projectM/Che - Terracarbon Stream.milk diff --git a/presets_milkdrop/CrystalHigh - mad ravetriping.milk b/presets/presets_projectM/CrystalHigh - mad ravetriping.milk similarity index 100% rename from presets_milkdrop/CrystalHigh - mad ravetriping.milk rename to presets/presets_projectM/CrystalHigh - mad ravetriping.milk diff --git a/presets_milkdrop/EMPR - Random - Changing Polyevolution.milk b/presets/presets_projectM/EMPR - Random - Changing Polyevolution.milk similarity index 100% rename from presets_milkdrop/EMPR - Random - Changing Polyevolution.milk rename to presets/presets_projectM/EMPR - Random - Changing Polyevolution.milk diff --git a/presets/presets_projectM/EoS - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk b/presets/presets_projectM/EoS - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk new file mode 100644 index 0000000000..600fc35665 --- /dev/null +++ b/presets/presets_projectM/EoS - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk @@ -0,0 +1,276 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999957 +sy=0.999997 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.600000 +ob_g=0.500000 +ob_b=0.800000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.000000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=6.283185 +shapecode_0_tex_zoom=0.429222 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=bs=q1*above(q1,0.8) + (q1*0.2 * below(q1,0.8)); +shape_0_per_frame5=advflux=(bs*fluxs) + (-bs * (1-fluxs)); +shape_0_per_frame6=adv=adv+advflux; +shape_0_per_frame7=advs=adv/256; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10=ang=advs; +shape_0_per_frame11=rad=1.471 + sin(advs*16)*0.4; +shape_0_per_frame12=a2=1-(sin(time)*0.4); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.816695 +shapecode_1_r=0.400000 +shapecode_1_g=0.400000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2; +shape_1_per_frame4= +shape_1_per_frame5=r=0.90 + (sin(time/2))*0.50; +shape_1_per_frame6=g=0.90 + (sin(time/2 + 2)) * 0.50; +shape_1_per_frame7=b=0.90 + (sin(time/2 + 4)) * 0.50; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10=r2=0.70 + (sin(time/2))*0.50; +shape_1_per_frame11=g2=0.70 + (sin(time/2 + 2)) * 0.50; +shape_1_per_frame12=b2=0.70 + (sin(time/2 + 4)) * 0.50 +shape_1_per_frame13= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.089251 +shapecode_2_ang=2.890265 +shapecode_2_tex_ang=2.890265 +shapecode_2_tex_zoom=0.483654 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=flux=q5*9; +shape_2_per_frame2=fluxs=max(flux,0); +shape_2_per_frame3=fluxs=min(fluxs,1); +shape_2_per_frame4=bs=q1*above(q1,0.8) + (q1*0.5 * below(q1,0.8)); +shape_2_per_frame5=advflux=(bs*fluxs) + (-bs * (1-fluxs)); +shape_2_per_frame6=adv=adv+advflux; +shape_2_per_frame7=advs=adv/178; +shape_2_per_frame8= +shape_2_per_frame9=//ang=sin(time/6)*6.4; +shape_2_per_frame10=ang=advs; +shape_2_per_frame11=rad=1.671 + sin(advs*16)*0.4; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=0.800000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q2*q2)/2;; +shape_3_per_frame4=ang=q2*2; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=.96; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + (treb*0.8)*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux; +per_frame_14=ib_r=sin(time/2)*0.5 + 0.5; +per_frame_15=ib_g=sin(time/2 + 2)* 0.5 + 0.5; +per_frame_16=ib_b=sin(time/2 + 4)* 0.5 + 0.5; +per_frame_17=ib_size=sin(time/3)*0.05; diff --git a/presets/presets_projectM/EoS and PieturP - Starfield.milk b/presets/presets_projectM/EoS and PieturP - Starfield.milk new file mode 100644 index 0000000000..7faaccd7c1 --- /dev/null +++ b/presets/presets_projectM/EoS and PieturP - Starfield.milk @@ -0,0 +1,597 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=3.012146 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799999 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.028414 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4=ab=ab+(abs(bass+treb+mid)*.001); +wave_0_per_frame5=ab=if(above(ab,628),0,ab); +wave_0_per_frame6=t2=ab; +wave_0_per_frame7= +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*.17; +wave_0_per_point6=//plot random y position via function of sample pos; +wave_0_per_point7=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point8=yp=yp*.17; +wave_0_per_point9=//plot random z position via function of sample pos; +wave_0_per_point10=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point11=zp=zp*0.25; +wave_0_per_point12= +wave_0_per_point13=//pull stars toward screen +wave_0_per_point14=zp=zp + 1 - t1; +wave_0_per_point15= +wave_0_per_point16=//correct when below 0 +wave_0_per_point17=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point18=zp=zp*0.7; +wave_0_per_point19= +wave_0_per_point20=x2=sin(time*.2)*.125; +wave_0_per_point21=y2=cos(time*.2)*.125; +wave_0_per_point22=x=(xp/zp + 0.5)+x2; +wave_0_per_point23=y=(yp/zp + 0.5)+y2; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=h=sin(t2)*.5+.5; +wave_0_per_point27= +wave_0_per_point28=//darken far stars +wave_0_per_point29=//a=(1 - zp*0.5); +wave_0_per_point30=l=(1-zp*.5); +wave_0_per_point31=s=(1-zp*.5); +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34= +wave_0_per_point35=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point36=// +wave_0_per_point37=// HSL to RGB by PieturP +wave_0_per_point38=// +wave_0_per_point39=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point40=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point41=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point42=// +wave_0_per_point43=cc=(6*h); +wave_0_per_point44=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point45=zf=(6*h)-cc; +wave_0_per_point46=zm=l; +wave_0_per_point47=zp=l*(1-s); +wave_0_per_point48=zq=l*(1-s*zf); +wave_0_per_point49=zt=l*(1-s*(1-zf)); +wave_0_per_point50=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point51=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point52=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point53=rr=if(equal(s,0),l,rr); +wave_0_per_point54=gg=if(equal(s,0),l,gg); +wave_0_per_point55=bb=if(equal(s,0),l,bb); +wave_0_per_point56= +wave_0_per_point57=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point58= +wave_0_per_point59=r=rr; +wave_0_per_point60=g=gg; +wave_0_per_point61=b=bb; +wave_0_per_point62= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.028414 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4=ab=ab+(abs(bass+treb+mid)*.001); +wave_1_per_frame5=ab=if(above(ab,628),0,ab); +wave_1_per_frame6=t2=ab; +wave_1_per_frame7= +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_1_per_point5=xp=xp*.20; +wave_1_per_point6=//plot random y position via function of sample pos; +wave_1_per_point7=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point8=yp=yp*.20; +wave_1_per_point9=//plot random z position via function of sample pos; +wave_1_per_point10=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point11=zp=zp*0.25; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=//a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.705; +wave_1_per_point25= +wave_1_per_point26=x=xp/zp + 0.5; +wave_1_per_point27=y=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=h=sin(t2)*.5+.5; +wave_1_per_point30= +wave_1_per_point31=s=(1-zp*.5); +wave_1_per_point32=l=(zp*.5); +wave_1_per_point33= +wave_1_per_point34= +wave_1_per_point35=////////////////////////////////////////////////////////////////////////////// +wave_1_per_point36=// +wave_1_per_point37=// HSL to RGB by PieturP +wave_1_per_point38=// +wave_1_per_point39=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_1_per_point40=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_1_per_point41=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_1_per_point42=// +wave_1_per_point43=cc=(6*h); +wave_1_per_point44=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_1_per_point45=zf=(6*h)-cc; +wave_1_per_point46=zm=l; +wave_1_per_point47=zp=l*(1-s); +wave_1_per_point48=zq=l*(1-s*zf); +wave_1_per_point49=zt=l*(1-s*(1-zf)); +wave_1_per_point50=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_1_per_point51=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_1_per_point52=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_1_per_point53=rr=if(equal(s,0),l,rr); +wave_1_per_point54=gg=if(equal(s,0),l,gg); +wave_1_per_point55=bb=if(equal(s,0),l,bb); +wave_1_per_point56= +wave_1_per_point57=////////////////////////////////////////////////////////////////////////////// +wave_1_per_point58= +wave_1_per_point59=r=rr; +wave_1_per_point60=g=gg; +wave_1_per_point61=b=bb; +wave_1_per_point62= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.999996 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21= +wave_2_per_point22= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.140000 +shapecode_0_y=0.170000 +shapecode_0_rad=2.207644 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.255374 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.140000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100996 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=3.241264 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=p=p+.62; +shape_1_per_frame3=slowp=slowp+.062; +shape_1_per_frame4=p=below(p,6.283)*p; +shape_1_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_1_per_frame6=x=sin(p)*.35+.5; +shape_1_per_frame7=y=cos(p)*.35+.5; +shape_1_per_frame8=h=sin(slowp)*.5+.5; +shape_1_per_frame9=s=1; +shape_1_per_frame10=l=1; +shape_1_per_frame11=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame12=// +shape_1_per_frame13=// HSL to RGB by PieturP +shape_1_per_frame14=// +shape_1_per_frame15=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame16=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame17=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame18=// +shape_1_per_frame19=cc=(6*h); +shape_1_per_frame20=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame21=zf=(6*h)-cc; +shape_1_per_frame22=zm=l; +shape_1_per_frame23=zp=l*(1-s); +shape_1_per_frame24=zq=l*(1-s*zf); +shape_1_per_frame25=zt=l*(1-s*(1-zf)); +shape_1_per_frame26=monitor=zq; +shape_1_per_frame27=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame28=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame29=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame30=rr=if(equal(s,0),l,rr); +shape_1_per_frame31=gg=if(equal(s,0),l,gg); +shape_1_per_frame32=bb=if(equal(s,0),l,bb); +shape_1_per_frame33= +shape_1_per_frame34=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame35=r=rr; +shape_1_per_frame36=g=gg; +shape_1_per_frame37=b=bb; +shape_1_per_frame38= +shape_1_per_frame39=h=sin(slowp)*.5+.5; +shape_1_per_frame40=l=.5; +shape_1_per_frame41=s=.55; +shape_1_per_frame42=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame43=// +shape_1_per_frame44=// HSL to RGB by PieturP +shape_1_per_frame45=// +shape_1_per_frame46=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame47=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame48=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame49=// +shape_1_per_frame50=cc=(6*h); +shape_1_per_frame51=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame52=zf=(6*h)-cc; +shape_1_per_frame53=zm=l; +shape_1_per_frame54=zp=l*(1-s); +shape_1_per_frame55=zq=l*(1-s*zf); +shape_1_per_frame56=zt=l*(1-s*(1-zf)); +shape_1_per_frame57=monitor=zq; +shape_1_per_frame58=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame59=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame60=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame61=rr=if(equal(s,0),l,rr); +shape_1_per_frame62=gg=if(equal(s,0),l,gg); +shape_1_per_frame63=bb=if(equal(s,0),l,bb); +shape_1_per_frame64= +shape_1_per_frame65=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame66=r2=rr; +shape_1_per_frame67=g2=gg; +shape_1_per_frame68=b2=bb; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.791410 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.561512 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.140000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.123235 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=3.241264 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1= +shape_3_per_frame2=p=p+.314; +shape_3_per_frame3=slowp=slowp+.00628; +shape_3_per_frame4=p=below(p,6.283)*p; +shape_3_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_3_per_frame6=my=my+(mid*mid*mid)*.02; +shape_3_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_3_per_frame8=x=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_3_per_frame9=y=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_3_per_frame10=h=sin(slowp)*.5+.5; +shape_3_per_frame11=s=min(abs(bass*.6),1); +shape_3_per_frame12=l=1; +shape_3_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame14=// +shape_3_per_frame15=// HSL to RGB by PieturP +shape_3_per_frame16=// +shape_3_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame20=// +shape_3_per_frame21=cc=(6*h); +shape_3_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame23=zf=(6*h)-cc; +shape_3_per_frame24=zm=l; +shape_3_per_frame25=zp=l*(1-s); +shape_3_per_frame26=zq=l*(1-s*zf); +shape_3_per_frame27=zt=l*(1-s*(1-zf)); +shape_3_per_frame28=monitor=zq; +shape_3_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame32=rr=if(equal(s,0),l,rr); +shape_3_per_frame33=gg=if(equal(s,0),l,gg); +shape_3_per_frame34=bb=if(equal(s,0),l,bb); +shape_3_per_frame35= +shape_3_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame37=r=rr; +shape_3_per_frame38=g=gg; +shape_3_per_frame39=b=bb; +shape_3_per_frame40= +shape_3_per_frame41=h=sin(slowp)*.5+.5; +shape_3_per_frame42=l=min(abs(bass*.6),1); +shape_3_per_frame43=s=1; +shape_3_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame45=// +shape_3_per_frame46=// HSL to RGB by PieturP +shape_3_per_frame47=// +shape_3_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame51=// +shape_3_per_frame52=cc=(6*h); +shape_3_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame54=zf=(6*h)-cc; +shape_3_per_frame55=zm=l; +shape_3_per_frame56=zp=l*(1-s); +shape_3_per_frame57=zq=l*(1-s*zf); +shape_3_per_frame58=zt=l*(1-s*(1-zf)); +shape_3_per_frame59=monitor=zq; +shape_3_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame63=rr=if(equal(s,0),l,rr); +shape_3_per_frame64=gg=if(equal(s,0),l,gg); +shape_3_per_frame65=bb=if(equal(s,0),l,bb); +shape_3_per_frame66= +shape_3_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame68=r2=rr; +shape_3_per_frame69=g2=gg; +shape_3_per_frame70=b2=bb; +shape_3_per_frame71=border_r=rr; +shape_3_per_frame72=border_g=gg; +shape_3_per_frame73=border_b=bb; +per_frame_1=decay=.8; +per_frame_2=warp=0; +per_frame_3=dx=0; +per_frame_4=dy=0; +per_frame_5=zoom=1; diff --git a/presets/presets_projectM/EoS+Phat Cool Bug_arm.milk b/presets/presets_projectM/EoS+Phat Cool Bug_arm.milk new file mode 100644 index 0000000000..5619631ace --- /dev/null +++ b/presets/presets_projectM/EoS+Phat Cool Bug_arm.milk @@ -0,0 +1,238 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; diff --git a/presets/presets_projectM/EoS+Phat Cool Bug_arm_textured.milk b/presets/presets_projectM/EoS+Phat Cool Bug_arm_textured.milk new file mode 100644 index 0000000000..20a384b15d --- /dev/null +++ b/presets/presets_projectM/EoS+Phat Cool Bug_arm_textured.milk @@ -0,0 +1,238 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999995 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=sin(musictime*0.02)*0.3; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; diff --git a/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate B.milk b/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate B.milk new file mode 100644 index 0000000000..6322f55d9c --- /dev/null +++ b/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate B.milk @@ -0,0 +1,250 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.597148 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//=sin(musictime*0.02)*0.3; +per_frame_20=//q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=pow(rd,sin(time)+2.5)*2.0; +per_pixel_6=zoom=max(zoom,0.1) +per_pixel_7= diff --git a/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate box_mix.milk b/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate box_mix.milk new file mode 100644 index 0000000000..64437e43b9 --- /dev/null +++ b/presets/presets_projectM/EoS+Phat Fractical_dancer - pulsate box_mix.milk @@ -0,0 +1,247 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.150000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.244862 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.402702 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.238868 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=tex_ang=3.14; +shape_1_per_frame2=tex_zoom=2.235; +shape_1_per_frame3=x=.5-q5; +shape_1_per_frame4=y=.5-q4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=//q4=0; +per_frame_15=q5=0; +per_frame_16=q4=sin(musictime*0.02)*0.4; +per_frame_17=q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2= +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5= +per_pixel_6=zoom=pow(rd,sin(time)+3.5)/10.5 + .5; diff --git a/presets/presets_projectM/EoS+Phat Fractical_dancer_Peacock.milk b/presets/presets_projectM/EoS+Phat Fractical_dancer_Peacock.milk new file mode 100644 index 0000000000..78b3dd7185 --- /dev/null +++ b/presets/presets_projectM/EoS+Phat Fractical_dancer_Peacock.milk @@ -0,0 +1,250 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.615167 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=r=sin(time*0.7)*3*(bass*0.2); +shape_0_per_frame3=g=sin(time*0.5)*4*(treb*2); +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.987774 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*3) + sqr( (y-0.5+q5)*2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)/2.5; diff --git a/presets_milkdrop/EvilJim - Follow the ball.milk b/presets/presets_projectM/EvilJim - Follow the ball.milk similarity index 100% rename from presets_milkdrop/EvilJim - Follow the ball.milk rename to presets/presets_projectM/EvilJim - Follow the ball.milk diff --git a/presets_milkdrop/EvilJim - Ice Drops.milk b/presets/presets_projectM/EvilJim - Ice Drops.milk similarity index 100% rename from presets_milkdrop/EvilJim - Ice Drops.milk rename to presets/presets_projectM/EvilJim - Ice Drops.milk diff --git a/presets_milkdrop/Fvese - 0 To 60.milk b/presets/presets_projectM/Fvese - 0 To 60.milk similarity index 100% rename from presets_milkdrop/Fvese - 0 To 60.milk rename to presets/presets_projectM/Fvese - 0 To 60.milk diff --git a/presets_milkdrop/Fvese - A Blur.milk b/presets/presets_projectM/Fvese - A Blur.milk similarity index 100% rename from presets_milkdrop/Fvese - A Blur.milk rename to presets/presets_projectM/Fvese - A Blur.milk diff --git a/presets_milkdrop/Fvese - Lifesavor Anyone.milk b/presets/presets_projectM/Fvese - Lifesavor Anyone.milk similarity index 100% rename from presets_milkdrop/Fvese - Lifesavor Anyone.milk rename to presets/presets_projectM/Fvese - Lifesavor Anyone.milk diff --git a/presets_milkdrop/Fvese - New meetings.milk b/presets/presets_projectM/Fvese - New meetings.milk similarity index 100% rename from presets_milkdrop/Fvese - New meetings.milk rename to presets/presets_projectM/Fvese - New meetings.milk diff --git a/presets_milkdrop/Fvese - Quicksand.milk b/presets/presets_projectM/Fvese - Quicksand.milk similarity index 100% rename from presets_milkdrop/Fvese - Quicksand.milk rename to presets/presets_projectM/Fvese - Quicksand.milk diff --git a/presets_milkdrop/Fvese - Stand Still!.milk b/presets/presets_projectM/Fvese - Stand Still!.milk similarity index 100% rename from presets_milkdrop/Fvese - Stand Still!.milk rename to presets/presets_projectM/Fvese - Stand Still!.milk diff --git a/presets_milkdrop/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_projectM/Fvese - The Tunnel (Final Stage Mix).milk similarity index 100% rename from presets_milkdrop/Fvese - The Tunnel (Final Stage Mix).milk rename to presets/presets_projectM/Fvese - The Tunnel (Final Stage Mix).milk diff --git a/presets_milkdrop/Fvese - Window Reflection 6.milk b/presets/presets_projectM/Fvese - Window Reflection 6.milk similarity index 100% rename from presets_milkdrop/Fvese - Window Reflection 6.milk rename to presets/presets_projectM/Fvese - Window Reflection 6.milk diff --git a/presets_milkdrop/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_projectM/Fvese - Zoom Effects (Remix 2).milk similarity index 100% rename from presets_milkdrop/Fvese - Zoom Effects (Remix 2).milk rename to presets/presets_projectM/Fvese - Zoom Effects (Remix 2).milk diff --git a/presets_projectM/Fvese - Zoom Effects With A Twist 2.milk b/presets/presets_projectM/Fvese - Zoom Effects With A Twist 2.milk similarity index 100% rename from presets_projectM/Fvese - Zoom Effects With A Twist 2.milk rename to presets/presets_projectM/Fvese - Zoom Effects With A Twist 2.milk diff --git a/presets_projectM/Fvese - Zoom Effects With A Twist 3.milk b/presets/presets_projectM/Fvese - Zoom Effects With A Twist 3.milk similarity index 100% rename from presets_projectM/Fvese - Zoom Effects With A Twist 3.milk rename to presets/presets_projectM/Fvese - Zoom Effects With A Twist 3.milk diff --git a/presets_milkdrop/Geiss & Rovastar - Notions Of Tonality 2.milk b/presets/presets_projectM/Geiss & Rovastar - Notions Of Tonality 2.milk similarity index 100% rename from presets_milkdrop/Geiss & Rovastar - Notions Of Tonality 2.milk rename to presets/presets_projectM/Geiss & Rovastar - Notions Of Tonality 2.milk diff --git a/presets_milkdrop/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk b/presets/presets_projectM/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk similarity index 100% rename from presets_milkdrop/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk rename to presets/presets_projectM/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk diff --git a/presets/presets_projectM/Geiss & Sperl - Cruzin' (Moody).prjm b/presets/presets_projectM/Geiss & Sperl - Cruzin' (Moody).prjm new file mode 100755 index 0000000000..abffbdb8f1 --- /dev/null +++ b/presets/presets_projectM/Geiss & Sperl - Cruzin' (Moody).prjm @@ -0,0 +1,60 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4 +fWaveScale=1.691672 +fWaveSmoothing=0.5 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=3.138 +fZoomExponent=1 +fShader=0 +zoom=1.0003 +rot=0 +cx=0.5 +cy=0.11 +dx=0 +dy=-0.001 +warp=0.0243 +sx=1.001992 +sy=1.004987 +wave_r=0 +wave_g=0.57 +wave_b=1 +wave_x=0.65 +wave_y=0.5 +per_frame_1=wave_r = mood_r; +per_frame_2=wave_g = mood_g; +per_frame_3=wave_b = mood_b; +per_frame_4=rot = rot + 0.004*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=du = (x-cx)*2; +per_pixel_2=dv = (y-cy)*2; +per_pixel_3=q = 0.01*pow(du*du+dv*dv,1.5); +per_pixel_4=dx = q*du; +per_pixel_5=dy = q*dv; +per_pixel_6= +fRating=4 diff --git a/presets_milkdrop/Geiss - Cosmic Dust 2.milk b/presets/presets_projectM/Geiss - Cosmic Dust 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Cosmic Dust 2.milk rename to presets/presets_projectM/Geiss - Cosmic Dust 2.milk diff --git a/presets_milkdrop/Geiss - Cruzin'.milk b/presets/presets_projectM/Geiss - Cruzin'.milk similarity index 100% rename from presets_milkdrop/Geiss - Cruzin'.milk rename to presets/presets_projectM/Geiss - Cruzin'.milk diff --git a/presets_milkdrop/Geiss - Downward Spiral.milk b/presets/presets_projectM/Geiss - Downward Spiral.milk similarity index 100% rename from presets_milkdrop/Geiss - Downward Spiral.milk rename to presets/presets_projectM/Geiss - Downward Spiral.milk diff --git a/presets_milkdrop/Geiss - Dynamic Swirls 1.milk b/presets/presets_projectM/Geiss - Dynamic Swirls 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Dynamic Swirls 1.milk rename to presets/presets_projectM/Geiss - Dynamic Swirls 1.milk diff --git a/presets_milkdrop/Geiss - Dynamic Swirls 2.milk b/presets/presets_projectM/Geiss - Dynamic Swirls 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Dynamic Swirls 2.milk rename to presets/presets_projectM/Geiss - Dynamic Swirls 2.milk diff --git a/presets_milkdrop/Geiss - Eddies 2.milk b/presets/presets_projectM/Geiss - Eddies 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Eddies 2.milk rename to presets/presets_projectM/Geiss - Eddies 2.milk diff --git a/presets_milkdrop/Geiss - Eggs.milk b/presets/presets_projectM/Geiss - Eggs.milk similarity index 100% rename from presets_milkdrop/Geiss - Eggs.milk rename to presets/presets_projectM/Geiss - Eggs.milk diff --git a/presets_milkdrop/Geiss - El Cubismo.milk b/presets/presets_projectM/Geiss - El Cubismo.milk similarity index 100% rename from presets_milkdrop/Geiss - El Cubismo.milk rename to presets/presets_projectM/Geiss - El Cubismo.milk diff --git a/presets_milkdrop/Geiss - Feedback 2.milk b/presets/presets_projectM/Geiss - Feedback 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Feedback 2.milk rename to presets/presets_projectM/Geiss - Feedback 2.milk diff --git a/presets_milkdrop/Geiss - High Dynamic Range.milk b/presets/presets_projectM/Geiss - High Dynamic Range.milk similarity index 100% rename from presets_milkdrop/Geiss - High Dynamic Range.milk rename to presets/presets_projectM/Geiss - High Dynamic Range.milk diff --git a/presets_milkdrop/Geiss - Nautilus.milk b/presets/presets_projectM/Geiss - Nautilus.milk similarity index 100% rename from presets_milkdrop/Geiss - Nautilus.milk rename to presets/presets_projectM/Geiss - Nautilus.milk diff --git a/presets_milkdrop/Geiss - Octopus Ever Changing.milk b/presets/presets_projectM/Geiss - Octopus Ever Changing.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus Ever Changing.milk rename to presets/presets_projectM/Geiss - Octopus Ever Changing.milk diff --git a/presets_milkdrop/Geiss - Octopus Gold.milk b/presets/presets_projectM/Geiss - Octopus Gold.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus Gold.milk rename to presets/presets_projectM/Geiss - Octopus Gold.milk diff --git a/presets_milkdrop/Geiss - Octopus.milk b/presets/presets_projectM/Geiss - Octopus.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus.milk rename to presets/presets_projectM/Geiss - Octopus.milk diff --git a/presets_milkdrop/Geiss - Oldskool Mellowstyle.milk b/presets/presets_projectM/Geiss - Oldskool Mellowstyle.milk similarity index 100% rename from presets_milkdrop/Geiss - Oldskool Mellowstyle.milk rename to presets/presets_projectM/Geiss - Oldskool Mellowstyle.milk diff --git a/presets_milkdrop/Geiss - Swirlie 1.milk b/presets/presets_projectM/Geiss - Swirlie 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirlie 1.milk rename to presets/presets_projectM/Geiss - Swirlie 1.milk diff --git a/presets_milkdrop/Geiss - Swirlie 2.milk b/presets/presets_projectM/Geiss - Swirlie 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirlie 2.milk rename to presets/presets_projectM/Geiss - Swirlie 2.milk diff --git a/presets_milkdrop/Geiss - Swirlie 3.milk b/presets/presets_projectM/Geiss - Swirlie 3.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirlie 3.milk rename to presets/presets_projectM/Geiss - Swirlie 3.milk diff --git a/presets_milkdrop/Geiss - Swirlie 4.milk b/presets/presets_projectM/Geiss - Swirlie 4.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirlie 4.milk rename to presets/presets_projectM/Geiss - Swirlie 4.milk diff --git a/presets_milkdrop/Geiss - Swirlie 5.milk b/presets/presets_projectM/Geiss - Swirlie 5.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirlie 5.milk rename to presets/presets_projectM/Geiss - Swirlie 5.milk diff --git a/presets_milkdrop/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk b/presets/presets_projectM/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk similarity index 100% rename from presets_milkdrop/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk rename to presets/presets_projectM/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk diff --git a/presets_projectM/Geiss and Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk b/presets/presets_projectM/Geiss and Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk similarity index 100% rename from presets_projectM/Geiss and Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk rename to presets/presets_projectM/Geiss and Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk diff --git a/presets/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk b/presets/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk new file mode 100644 index 0000000000..c8cf4b8b81 --- /dev/null +++ b/presets/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk @@ -0,0 +1,95 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.763002 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.230000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); +per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); +per_frame_25=echo_zoom=echo_zoom-.3*sin(Time*(q5/2/2/2/2/2/2/2)); +per_frame_26=//echo_alpha=1; +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0)*((ang/2/2/2)-rad)*Sin(q5)/2; +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y-0.5)*96)+0.005*sin((y-0.5)*128)); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0.001*cos((x-0.5)*128)+0.001*cos((x-0.5)*96)); diff --git a/presets_milkdrop/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk b/presets/presets_projectM/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk similarity index 100% rename from presets_milkdrop/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk rename to presets/presets_projectM/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk diff --git a/presets_milkdrop/Idiot - MOTIVATION!.milk b/presets/presets_projectM/Idiot - MOTIVATION!.milk similarity index 100% rename from presets_milkdrop/Idiot - MOTIVATION!.milk rename to presets/presets_projectM/Idiot - MOTIVATION!.milk diff --git a/presets_milkdrop/Idiot - Texture Boxes (Remix 2).milk b/presets/presets_projectM/Idiot - Texture Boxes (Remix 2).milk similarity index 100% rename from presets_milkdrop/Idiot - Texture Boxes (Remix 2).milk rename to presets/presets_projectM/Idiot - Texture Boxes (Remix 2).milk diff --git a/presets_milkdrop/Idiot - Texture Boxes (Remix).milk b/presets/presets_projectM/Idiot - Texture Boxes (Remix).milk similarity index 100% rename from presets_milkdrop/Idiot - Texture Boxes (Remix).milk rename to presets/presets_projectM/Idiot - Texture Boxes (Remix).milk diff --git a/presets_milkdrop/Idiot24-7 - Ascending to heaven 2.milk b/presets/presets_projectM/Idiot24-7 - Ascending to heaven 2.milk similarity index 100% rename from presets_milkdrop/Idiot24-7 - Ascending to heaven 2.milk rename to presets/presets_projectM/Idiot24-7 - Ascending to heaven 2.milk diff --git a/presets_milkdrop/Illusion & Che - Return Of The King.milk b/presets/presets_projectM/Illusion & Che - Return Of The King.milk similarity index 100% rename from presets_milkdrop/Illusion & Che - Return Of The King.milk rename to presets/presets_projectM/Illusion & Che - Return Of The King.milk diff --git a/presets_milkdrop/Illusion & Che - The Piper.milk b/presets/presets_projectM/Illusion & Che - The Piper.milk similarity index 100% rename from presets_milkdrop/Illusion & Che - The Piper.milk rename to presets/presets_projectM/Illusion & Che - The Piper.milk diff --git a/presets_milkdrop/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_projectM/Illusion & Rovastar - Clouded Bottle.milk similarity index 100% rename from presets_milkdrop/Illusion & Rovastar - Clouded Bottle.milk rename to presets/presets_projectM/Illusion & Rovastar - Clouded Bottle.milk diff --git a/presets_milkdrop/Illusion & Unchained - Frozen Eye 1.milk b/presets/presets_projectM/Illusion & Unchained - Frozen Eye 1.milk similarity index 100% rename from presets_milkdrop/Illusion & Unchained - Frozen Eye 1.milk rename to presets/presets_projectM/Illusion & Unchained - Frozen Eye 1.milk diff --git a/presets_milkdrop/Illusion & Unchained - Invade My Mind.milk b/presets/presets_projectM/Illusion & Unchained - Invade My Mind.milk similarity index 100% rename from presets_milkdrop/Illusion & Unchained - Invade My Mind.milk rename to presets/presets_projectM/Illusion & Unchained - Invade My Mind.milk diff --git a/presets_milkdrop/Illusion - Figure Eight.milk b/presets/presets_projectM/Illusion - Figure Eight.milk similarity index 100% rename from presets_milkdrop/Illusion - Figure Eight.milk rename to presets/presets_projectM/Illusion - Figure Eight.milk diff --git a/presets_milkdrop/Jess - Trying To Trap A Twister.milk b/presets/presets_projectM/Jess - Trying To Trap A Twister.milk similarity index 100% rename from presets_milkdrop/Jess - Trying To Trap A Twister.milk rename to presets/presets_projectM/Jess - Trying To Trap A Twister.milk diff --git a/presets_milkdrop/Krash & Illusion - Spiral Movement.milk b/presets/presets_projectM/Krash & Illusion - Spiral Movement.milk similarity index 100% rename from presets_milkdrop/Krash & Illusion - Spiral Movement.milk rename to presets/presets_projectM/Krash & Illusion - Spiral Movement.milk diff --git a/presets_projectM/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk b/presets/presets_projectM/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk similarity index 100% rename from presets_projectM/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk rename to presets/presets_projectM/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk diff --git a/presets/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk b/presets/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk new file mode 100644 index 0000000000..1254d02058 --- /dev/null +++ b/presets/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk @@ -0,0 +1,364 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01; +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=//sx=-1 diff --git a/presets_milkdrop/Krash & TEcHNO - Rhythmic Mantas.milk b/presets/presets_projectM/Krash & TEcHNO - Rhythmic Mantas.milk similarity index 100% rename from presets_milkdrop/Krash & TEcHNO - Rhythmic Mantas.milk rename to presets/presets_projectM/Krash & TEcHNO - Rhythmic Mantas.milk diff --git a/presets_milkdrop/Krash - 3D Shapes Demo 2.milk b/presets/presets_projectM/Krash - 3D Shapes Demo 2.milk similarity index 100% rename from presets_milkdrop/Krash - 3D Shapes Demo 2.milk rename to presets/presets_projectM/Krash - 3D Shapes Demo 2.milk diff --git a/presets_milkdrop/Krash - 3D Shapes Demo.milk b/presets/presets_projectM/Krash - 3D Shapes Demo.milk similarity index 100% rename from presets_milkdrop/Krash - 3D Shapes Demo.milk rename to presets/presets_projectM/Krash - 3D Shapes Demo.milk diff --git a/presets_milkdrop/Krash - Digital Flame.milk b/presets/presets_projectM/Krash - Digital Flame.milk similarity index 100% rename from presets_milkdrop/Krash - Digital Flame.milk rename to presets/presets_projectM/Krash - Digital Flame.milk diff --git a/presets_milkdrop/Krash - Dynamic Borders 1.milk b/presets/presets_projectM/Krash - Dynamic Borders 1.milk similarity index 100% rename from presets_milkdrop/Krash - Dynamic Borders 1.milk rename to presets/presets_projectM/Krash - Dynamic Borders 1.milk diff --git a/presets_milkdrop/Krash - Framed Geometry.milk b/presets/presets_projectM/Krash - Framed Geometry.milk similarity index 100% rename from presets_milkdrop/Krash - Framed Geometry.milk rename to presets/presets_projectM/Krash - Framed Geometry.milk diff --git a/presets_milkdrop/Krash - Interwoven (Nightmare Weft Mix).milk b/presets/presets_projectM/Krash - Interwoven (Nightmare Weft Mix).milk similarity index 100% rename from presets_milkdrop/Krash - Interwoven (Nightmare Weft Mix).milk rename to presets/presets_projectM/Krash - Interwoven (Nightmare Weft Mix).milk diff --git a/presets_milkdrop/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_projectM/Krash - War Machine (Shifting Complexity Mix).milk similarity index 100% rename from presets_milkdrop/Krash - War Machine (Shifting Complexity Mix).milk rename to presets/presets_projectM/Krash - War Machine (Shifting Complexity Mix).milk diff --git a/presets_milkdrop/Krash - Windowframe To Mega Swirl 2.milk b/presets/presets_projectM/Krash - Windowframe To Mega Swirl 2.milk similarity index 100% rename from presets_milkdrop/Krash - Windowframe To Mega Swirl 2.milk rename to presets/presets_projectM/Krash - Windowframe To Mega Swirl 2.milk diff --git a/presets_milkdrop/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk b/presets/presets_projectM/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk similarity index 100% rename from presets_milkdrop/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk rename to presets/presets_projectM/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk diff --git a/presets_milkdrop/Krash and Rovastar - Rainbow Orb.milk b/presets/presets_projectM/Krash and Rovastar - Rainbow Orb.milk similarity index 100% rename from presets_milkdrop/Krash and Rovastar - Rainbow Orb.milk rename to presets/presets_projectM/Krash and Rovastar - Rainbow Orb.milk diff --git a/presets/presets_projectM/M.tga b/presets/presets_projectM/M.tga new file mode 100644 index 0000000000..03f4546918 Binary files /dev/null and b/presets/presets_projectM/M.tga differ diff --git a/presets_milkdrop/Mstress & Darius - Pursuing The Sunset.milk b/presets/presets_projectM/Mstress & Darius - Pursuing The Sunset.milk similarity index 100% rename from presets_milkdrop/Mstress & Darius - Pursuing The Sunset.milk rename to presets/presets_projectM/Mstress & Darius - Pursuing The Sunset.milk diff --git a/presets_milkdrop/Mstress & Juppy - Dancer.milk b/presets/presets_projectM/Mstress & Juppy - Dancer.milk similarity index 100% rename from presets_milkdrop/Mstress & Juppy - Dancer.milk rename to presets/presets_projectM/Mstress & Juppy - Dancer.milk diff --git a/presets_milkdrop/Mstress & Juppy - Dancers In The Dark.milk b/presets/presets_projectM/Mstress & Juppy - Dancers In The Dark.milk similarity index 100% rename from presets_milkdrop/Mstress & Juppy - Dancers In The Dark.milk rename to presets/presets_projectM/Mstress & Juppy - Dancers In The Dark.milk diff --git a/presets/presets_projectM/Phat_EoS - our own personal demon.milk b/presets/presets_projectM/Phat_EoS - our own personal demon.milk new file mode 100644 index 0000000000..2402f52385 --- /dev/null +++ b/presets/presets_projectM/Phat_EoS - our own personal demon.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=0.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15=ib_r=tan(time*1); +per_frame_16=ib_r=min(ib_r,1); +per_frame_17=ib_r=max(ib_r,0); +per_frame_18=ib_g=tan(time*1+2.1); +per_frame_19=ib_g=min(ib_g,1); +per_frame_20=ib_g=max(ib_g,0); +per_frame_21=ib_b=tan(time*1+4.2); +per_frame_22=ib_b=min(ib_b,1); +per_frame_23=ib_b=max(ib_b,0); +per_frame_24= +per_frame_25=ob_r=ib_r-0.5; +per_frame_26=ob_g=ib_g-0.5; +per_frame_27=ob_b=ib_b-0.5; +per_frame_28=q1=ib_r; +per_frame_29=q2=ib_g; +per_frame_30=q3=ib_b; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34=decay = 0.9999; +per_frame_35= +per_frame_36= +per_frame_37=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_38=//solarize=above(0.5,bass); +per_frame_39=//darken=above(0.4,treb); +per_frame_40= +per_frame_41=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_42= +per_frame_43=xpos=sin(musictime*0.6)*0.6; +per_frame_44=ypos=sin(musictime*0.4)*0.6; +per_frame_45=q4=xpos; +per_frame_46=q5=ypos; +per_frame_47= +per_frame_48=zoom=.98 + min(bass,1)*0.04 +per_frame_49= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.98; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_projectM/Phat_EoS_Algorithm.milk b/presets/presets_projectM/Phat_EoS_Algorithm.milk new file mode 100644 index 0000000000..1f46989577 --- /dev/null +++ b/presets/presets_projectM/Phat_EoS_Algorithm.milk @@ -0,0 +1,348 @@ +[preset00] +fRating=0.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.550335 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=ib_r=tan(time*2); +per_frame_4=ib_r=min(ib_r,1); +per_frame_5=ib_r=max(ib_r,0); +per_frame_6=ib_g=tan(time*2+2.1); +per_frame_7=ib_g=min(ib_g,1); +per_frame_8=ib_g=max(ib_g,0); +per_frame_9=ib_b=tan(time*2+4.2); +per_frame_10=ib_b=min(ib_b,1); +per_frame_11=ib_b=max(ib_b,0); +per_frame_12=//ib_r=1-ib_r; +per_frame_13=//ib_g=1-ib_g; +per_frame_14=//ib_b=1-ib_b; +per_frame_15= +per_frame_16=ob_r=ib_r-0.5; +per_frame_17=ob_g=ib_g-0.5; +per_frame_18=ob_b=ib_b-0.5; +per_frame_19=q1=ib_r; +per_frame_20=q2=ib_g; +per_frame_21=q3=ib_b; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=decay = 1; +per_frame_26= +per_frame_27= +per_frame_28=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_29=//solarize=above(0.5,bass); +per_frame_30=//darken=above(0.4,treb); +per_frame_31= +per_frame_32=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_33= +per_frame_34=xpos=sin(musictime*0.4)*0.2; +per_frame_35=ypos=sin(musictime*0.4)*0.2; +per_frame_36=q4=xpos; +per_frame_37=q5=ypos +per_frame_38= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=-.96-(bass*0.03); +per_pixel_9= +per_pixel_10=//cx=0.5+q4; +per_pixel_11=//cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(rd/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*140)*(bass*0.005)*sin(ag); +per_pixel_23=dy=cos(x*140)*(bass*0.005)*cos(ag); +per_pixel_24= +per_pixel_25= +per_pixel_26= +per_pixel_27=sect_a=if ( below(x,0.333), 1, 0 ); +per_pixel_28=sect_b=if ( below(x,0.666), 1, 0 ); +per_pixel_29=sect_b=if ( above(x,0.333), sect_b, 0 ); +per_pixel_30=sect_c=if ( above(x,0.666), 1, 0 ); +per_pixel_31= +per_pixel_32=cy_a=( bass_att)*q1 + 0.5 +rd-ag; +per_pixel_33=cy_b=( bass_att)*q2 - 1.2 +ag; +per_pixel_34=cy_c=( bass_att)*q3 + 0.5 +rd-ag; +per_pixel_35= +per_pixel_36=cx=(sect_a*0.166 + sect_b*0.5 + sect_c*0.833)*rd; +per_pixel_37=cy=(sect_a/cy_a + sect_b/cy_b + sect_c/cy_c)*rd; diff --git a/presets/presets_projectM/Phat_EoS_shoot_em_up.milk b/presets/presets_projectM/Phat_EoS_shoot_em_up.milk new file mode 100644 index 0000000000..9a1087a2a4 --- /dev/null +++ b/presets/presets_projectM/Phat_EoS_shoot_em_up.milk @@ -0,0 +1,395 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.420000 +fDecay=0.960000 +fVideoEchoZoom=0.996623 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.100000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n)*.3; +wave_0_per_point4=yp=cos(n)*.3; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7=scale=tan(n*(sin(time/10)*10))*.5+.5; +wave_0_per_point8=scale=min(scale,(.5+(bass*.5))); +wave_0_per_point9=scale=max(scale,-.5); +wave_0_per_point10= +wave_0_per_point11=xp=xp*scale; +wave_0_per_point12=yp=yp*scale; +wave_0_per_point13= +wave_0_per_point14=zp=max(0.5-min(abs(scale),0.5)*2,0); +wave_0_per_point15= +wave_0_per_point16=zp=pow(1-zp,2)*0.25; +wave_0_per_point17= +wave_0_per_point18=//rotate on x axis +wave_0_per_point19=ang=time*0.5; +wave_0_per_point20=xq=xp; +wave_0_per_point21=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point22=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point23= +wave_0_per_point24=//rotate on y axis +wave_0_per_point25=ang=time; +wave_0_per_point26=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point29= +wave_0_per_point30= +wave_0_per_point31=//push forward into viewspace +wave_0_per_point32=zp=zp+1.1; +wave_0_per_point33= +wave_0_per_point34=//project into screenspace +wave_0_per_point35=xs=xp/zp; +wave_0_per_point36=ys=yp/zp; +wave_0_per_point37= +wave_0_per_point38= +wave_0_per_point39=x=xs+.5; +wave_0_per_point40=y=ys*1.3+.5; +wave_0_per_point41= +wave_0_per_point42=r=(sin(time)*.5+.5)*.5; +wave_0_per_point43=g=(cos(time/2)*.5+.5)*.8; +wave_0_per_point44=b=tan(time); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.28; +wave_1_per_point2=xp=sin(n*32+n)*.07; +wave_1_per_point3=yp=cos(n*32+n)*.07; +wave_1_per_point4=zp=0; +wave_1_per_point5= +wave_1_per_point6=//rotate on y during waveform draw +wave_1_per_point7=ang=n*0.5; +wave_1_per_point8=xr=xp*sin(ang) + zp*cos(ang); +wave_1_per_point9=yr=yp; +wave_1_per_point10=zr=xp*cos(ang) - zp*sin(ang); +wave_1_per_point11=zr=zr-0.3; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=//rotate on x axis +wave_1_per_point15=ang=time*0.5; +wave_1_per_point16=xq=xr; +wave_1_per_point17=yq=yr*sin(ang) + zr*cos(ang); +wave_1_per_point18=zq=yr*cos(ang) - zr*sin(ang); +wave_1_per_point19= +wave_1_per_point20=//rotate on y axis +wave_1_per_point21=ang=time; +wave_1_per_point22=xp=xq*sin(ang) + zq*cos(ang); +wave_1_per_point23=yp=yq; +wave_1_per_point24=zp=xq*cos(ang) - zq*sin(ang); +wave_1_per_point25= +wave_1_per_point26= +wave_1_per_point27=//push forward into viewspace +wave_1_per_point28=zp=zp+1.1; +wave_1_per_point29= +wave_1_per_point30=//project into screenspace +wave_1_per_point31=xs=xp/zp; +wave_1_per_point32=ys=yp/zp; +wave_1_per_point33= +wave_1_per_point34= +wave_1_per_point35=x=xs+.5; +wave_1_per_point36=y=ys*1.3+.5; +wave_1_per_point37= +wave_1_per_point38=g=(cos(time)*.5+.5)*.5; +wave_1_per_point39=b=(sin(time/2)*.5+.5)*.8; +wave_1_per_point40=r=tan(time); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.28; +wave_2_per_point2=xp=sin(n*32)*.03; +wave_2_per_point3=yp=cos(n*32)*.03; +wave_2_per_point4=zp=0; +wave_2_per_point5= +wave_2_per_point6=scale=sin(n*32*6)*0.5+0.5; +wave_2_per_point7=scale=scale*(sin(n*6)*0.5+0.5); +wave_2_per_point8=scale=scale*mid_att*mid_att*0.5; +wave_2_per_point9=xp=xp*(1+scale); +wave_2_per_point10=yp=yp*(1+scale); +wave_2_per_point11= +wave_2_per_point12=//rotate on y during waveform draw +wave_2_per_point13=ang=n*0.5; +wave_2_per_point14=xr=xp*sin(ang) + zp*cos(ang); +wave_2_per_point15=yr=yp; +wave_2_per_point16=zr=xp*cos(ang) - zp*sin(ang); +wave_2_per_point17=xr=xr+0.11; +wave_2_per_point18= +wave_2_per_point19=//orbit rotation +wave_2_per_point20=ang=time*4; +wave_2_per_point21=xp=xr*sin(ang) + zr*cos(ang); +wave_2_per_point22=yp=yr; +wave_2_per_point23=zp=xr*cos(ang) - zr*sin(ang); +wave_2_per_point24= +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27= +wave_2_per_point28=zp=zp-0.3; +wave_2_per_point29= +wave_2_per_point30= +wave_2_per_point31=//rotate on x axis +wave_2_per_point32=ang=time*0.5; +wave_2_per_point33=xq=xp; +wave_2_per_point34=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point35=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point36= +wave_2_per_point37=//rotate on y axis +wave_2_per_point38=ang=time; +wave_2_per_point39=xp=xq*sin(ang) + zq*cos(ang); +wave_2_per_point40=yp=yq; +wave_2_per_point41=zp=xq*cos(ang) - zq*sin(ang); +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44=//push forward into viewspace +wave_2_per_point45=zp=zp+1.1; +wave_2_per_point46= +wave_2_per_point47=//project into screenspace +wave_2_per_point48=xs=xp/zp; +wave_2_per_point49=ys=yp/zp; +wave_2_per_point50= +wave_2_per_point51= +wave_2_per_point52=x=xs+.5; +wave_2_per_point53=y=ys*1.3+.5; +wave_2_per_point54= +wave_2_per_point55=g=(cos(time)*.5+.5)*.5; +wave_2_per_point56=r=(cos(time/2)*.5+.5)*.8; +wave_2_per_point57=b=tan(time); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.300000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.28; +wave_3_per_point2=ends=sin(sample*3.1415); +wave_3_per_point3=xp=value1*4*ends; +wave_3_per_point4=yp=value2*4*ends; +wave_3_per_point5=zp=-0.23 + sample*0.3; +wave_3_per_point6= +wave_3_per_point7=//rotate on x axis +wave_3_per_point8=ang=time*0.5; +wave_3_per_point9=xq=xp; +wave_3_per_point10=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point11=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point12= +wave_3_per_point13=//rotate on y axis +wave_3_per_point14=ang=time; +wave_3_per_point15=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point16=yp=yq; +wave_3_per_point17=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point18= +wave_3_per_point19= +wave_3_per_point20=//push forward into viewspace +wave_3_per_point21=zp=zp+1.1; +wave_3_per_point22= +wave_3_per_point23=//project into screenspace +wave_3_per_point24=xs=xp/zp; +wave_3_per_point25=ys=yp/zp; +wave_3_per_point26= +wave_3_per_point27= +wave_3_per_point28=x=xs+.5; +wave_3_per_point29=y=ys*1.3+.5; +wave_3_per_point30= +wave_3_per_point31=a=max(treb-1,0)*2 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=zoom=1.000; +per_frame_3=sx=1.005; +per_frame_4=sy=1.001 +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= diff --git a/presets_projectM/Phat_Rovastar - What_does_your_soul_look_like.milk b/presets/presets_projectM/Phat_Rovastar - What_does_your_soul_look_like.milk similarity index 100% rename from presets_projectM/Phat_Rovastar - What_does_your_soul_look_like.milk rename to presets/presets_projectM/Phat_Rovastar - What_does_your_soul_look_like.milk diff --git a/presets/presets_projectM/Phat_Rovastar_EoS spiral_faces.milk b/presets/presets_projectM/Phat_Rovastar_EoS spiral_faces.milk new file mode 100644 index 0000000000..c403215db2 --- /dev/null +++ b/presets/presets_projectM/Phat_Rovastar_EoS spiral_faces.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=0.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 1; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_41=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_42=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_43=// = cx - 0.1*sin(time*0.342); +per_frame_44=// = cy + 0.1*sin(time*0.433); +per_frame_45=//warp =0; +per_frame_46=ib_size = 0.02; +per_frame_47=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_48=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_49=ib_b = ib_b - 0.5*sin(time*1.431); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_projectM/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk b/presets/presets_projectM/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk new file mode 100644 index 0000000000..c0eca646a2 --- /dev/null +++ b/presets/presets_projectM/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=0.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.200000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42=//beatdetect +per_frame_43=volume = 0.3*(bass+mid+att); +per_frame_44=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_45=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_46=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_47=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_48=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); +per_frame_49=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_50=lastbeat = if(beat,time,lastbeat); +per_frame_51=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_52= +per_frame_53=mybeat=if(beat,mybeat+1,mybeat); +per_frame_54=mybeat=if(above(mybeat,3),0,mybeat); +per_frame_55=echo_orient=mybeat; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets_projectM/Pithlit & Illusion - Symetric pattern.milk b/presets/presets_projectM/Pithlit & Illusion - Symetric pattern.milk similarity index 100% rename from presets_projectM/Pithlit & Illusion - Symetric pattern.milk rename to presets/presets_projectM/Pithlit & Illusion - Symetric pattern.milk diff --git a/presets_milkdrop/Reenen - phoenix.milk b/presets/presets_projectM/Reenen - phoenix.milk similarity index 100% rename from presets_milkdrop/Reenen - phoenix.milk rename to presets/presets_projectM/Reenen - phoenix.milk diff --git a/presets_projectM/Reenen Geiss - Triple Feedback.milk b/presets/presets_projectM/Reenen Geiss - Triple Feedback.milk similarity index 100% rename from presets_projectM/Reenen Geiss - Triple Feedback.milk rename to presets/presets_projectM/Reenen Geiss - Triple Feedback.milk diff --git a/presets_projectM/Reenen Geiss - Triple Feedback_phat+eos_edit.milk b/presets/presets_projectM/Reenen Geiss - Triple Feedback_phat+eos_edit.milk similarity index 100% rename from presets_projectM/Reenen Geiss - Triple Feedback_phat+eos_edit.milk rename to presets/presets_projectM/Reenen Geiss - Triple Feedback_phat+eos_edit.milk diff --git a/presets_projectM/Rovastar & Aderrasi - Clockwork Organism.milk b/presets/presets_projectM/Rovastar & Aderrasi - Clockwork Organism.milk similarity index 100% rename from presets_projectM/Rovastar & Aderrasi - Clockwork Organism.milk rename to presets/presets_projectM/Rovastar & Aderrasi - Clockwork Organism.milk diff --git a/presets_milkdrop/Rovastar & Fvese - Deadly Flower.milk b/presets/presets_projectM/Rovastar & Fvese - Deadly Flower.milk similarity index 100% rename from presets_milkdrop/Rovastar & Fvese - Deadly Flower.milk rename to presets/presets_projectM/Rovastar & Fvese - Deadly Flower.milk diff --git a/presets_milkdrop/Rovastar & Fvese - Stranger Minds (Astral Mix).milk b/presets/presets_projectM/Rovastar & Fvese - Stranger Minds (Astral Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Fvese - Stranger Minds (Astral Mix).milk rename to presets/presets_projectM/Rovastar & Fvese - Stranger Minds (Astral Mix).milk diff --git a/presets_milkdrop/Rovastar & Fvese - Stranger Minds.milk b/presets/presets_projectM/Rovastar & Fvese - Stranger Minds.milk similarity index 100% rename from presets_milkdrop/Rovastar & Fvese - Stranger Minds.milk rename to presets/presets_projectM/Rovastar & Fvese - Stranger Minds.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk b/presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk rename to presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk diff --git a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Souls Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Hurricane Nightmare.milk b/presets/presets_projectM/Rovastar & Geiss - Hurricane Nightmare.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Hurricane Nightmare.milk rename to presets/presets_projectM/Rovastar & Geiss - Hurricane Nightmare.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Ice Planet.milk b/presets/presets_projectM/Rovastar & Geiss - Ice Planet.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Ice Planet.milk rename to presets/presets_projectM/Rovastar & Geiss - Ice Planet.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Notions Of Tonality.milk b/presets/presets_projectM/Rovastar & Geiss - Notions Of Tonality.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Notions Of Tonality.milk rename to presets/presets_projectM/Rovastar & Geiss - Notions Of Tonality.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Octoplasm.milk b/presets/presets_projectM/Rovastar & Geiss - Octoplasm.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Octoplasm.milk rename to presets/presets_projectM/Rovastar & Geiss - Octoplasm.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Octotrip.milk b/presets/presets_projectM/Rovastar & Geiss - Octotrip.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Octotrip.milk rename to presets/presets_projectM/Rovastar & Geiss - Octotrip.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Surface (Vectrip Mix).milk b/presets/presets_projectM/Rovastar & Geiss - Surface (Vectrip Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Surface (Vectrip Mix).milk rename to presets/presets_projectM/Rovastar & Geiss - Surface (Vectrip Mix).milk diff --git a/presets_milkdrop/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_projectM/Rovastar & Idiot24-7 - Balk Acid.milk similarity index 100% rename from presets_milkdrop/Rovastar & Idiot24-7 - Balk Acid.milk rename to presets/presets_projectM/Rovastar & Idiot24-7 - Balk Acid.milk diff --git a/presets_milkdrop/Rovastar & Krash - Flowing Synergy.milk b/presets/presets_projectM/Rovastar & Krash - Flowing Synergy.milk similarity index 100% rename from presets_milkdrop/Rovastar & Krash - Flowing Synergy.milk rename to presets/presets_projectM/Rovastar & Krash - Flowing Synergy.milk diff --git a/presets_milkdrop/Rovastar & Krash - Interwoven (Contra Mix).milk b/presets/presets_projectM/Rovastar & Krash - Interwoven (Contra Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Krash - Interwoven (Contra Mix).milk rename to presets/presets_projectM/Rovastar & Krash - Interwoven (Contra Mix).milk diff --git a/presets_milkdrop/Rovastar & Rocke - Headspin.milk b/presets/presets_projectM/Rovastar & Rocke - Headspin.milk similarity index 100% rename from presets_milkdrop/Rovastar & Rocke - Headspin.milk rename to presets/presets_projectM/Rovastar & Rocke - Headspin.milk diff --git a/presets_milkdrop/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_projectM/Rovastar & Rocke - Sugar Spun Sister.milk similarity index 100% rename from presets_milkdrop/Rovastar & Rocke - Sugar Spun Sister.milk rename to presets/presets_projectM/Rovastar & Rocke - Sugar Spun Sister.milk diff --git a/presets/presets_projectM/Rovastar & Sperl - Tuxflower.prjm b/presets/presets_projectM/Rovastar & Sperl - Tuxflower.prjm new file mode 100755 index 0000000000..e8986ec018 --- /dev/null +++ b/presets/presets_projectM/Rovastar & Sperl - Tuxflower.prjm @@ -0,0 +1,269 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_imageURL=Tux.tga +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.150068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.7100000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets_milkdrop/Rovastar & StudioMusic - More Cherished Desires.milk b/presets/presets_projectM/Rovastar & StudioMusic - More Cherished Desires.milk similarity index 100% rename from presets_milkdrop/Rovastar & StudioMusic - More Cherished Desires.milk rename to presets/presets_projectM/Rovastar & StudioMusic - More Cherished Desires.milk diff --git a/presets_milkdrop/Rovastar & StudioMusic - Twisted Spider Web.milk b/presets/presets_projectM/Rovastar & StudioMusic - Twisted Spider Web.milk similarity index 100% rename from presets_milkdrop/Rovastar & StudioMusic - Twisted Spider Web.milk rename to presets/presets_projectM/Rovastar & StudioMusic - Twisted Spider Web.milk diff --git a/presets_milkdrop/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_projectM/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk rename to presets/presets_projectM/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk diff --git a/presets_milkdrop/Rovastar & Telek - Cosmic Fireworks.milk b/presets/presets_projectM/Rovastar & Telek - Cosmic Fireworks.milk similarity index 100% rename from presets_milkdrop/Rovastar & Telek - Cosmic Fireworks.milk rename to presets/presets_projectM/Rovastar & Telek - Cosmic Fireworks.milk diff --git a/presets_milkdrop/Rovastar & Unchained - Centre Of Gravity.milk b/presets/presets_projectM/Rovastar & Unchained - Centre Of Gravity.milk similarity index 100% rename from presets_milkdrop/Rovastar & Unchained - Centre Of Gravity.milk rename to presets/presets_projectM/Rovastar & Unchained - Centre Of Gravity.milk diff --git a/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk b/presets/presets_projectM/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk similarity index 100% rename from presets_milkdrop/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk rename to presets/presets_projectM/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk diff --git a/presets_milkdrop/Rovastar & Zylot - Narell's Fever.milk b/presets/presets_projectM/Rovastar & Zylot - Narell's Fever.milk similarity index 100% rename from presets_milkdrop/Rovastar & Zylot - Narell's Fever.milk rename to presets/presets_projectM/Rovastar & Zylot - Narell's Fever.milk diff --git a/presets_milkdrop/Rovastar & Zylot - Sea Of Zigrot.milk b/presets/presets_projectM/Rovastar & Zylot - Sea Of Zigrot.milk similarity index 100% rename from presets_milkdrop/Rovastar & Zylot - Sea Of Zigrot.milk rename to presets/presets_projectM/Rovastar & Zylot - Sea Of Zigrot.milk diff --git a/presets_milkdrop/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk b/presets/presets_projectM/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk rename to presets/presets_projectM/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk diff --git a/presets_milkdrop/Rovastar - A Million Miles from Earth.milk b/presets/presets_projectM/Rovastar - A Million Miles from Earth.milk similarity index 100% rename from presets_milkdrop/Rovastar - A Million Miles from Earth.milk rename to presets/presets_projectM/Rovastar - A Million Miles from Earth.milk diff --git a/presets_projectM/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk b/presets/presets_projectM/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk rename to presets/presets_projectM/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk diff --git a/presets_milkdrop/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk b/presets/presets_projectM/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk rename to presets/presets_projectM/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk diff --git a/presets_milkdrop/Rovastar - Altars Of Madness (Duel Mix).milk b/presets/presets_projectM/Rovastar - Altars Of Madness (Duel Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness (Duel Mix).milk rename to presets/presets_projectM/Rovastar - Altars Of Madness (Duel Mix).milk diff --git a/presets_milkdrop/Rovastar - Altars Of Madness (Surealist Mix).milk b/presets/presets_projectM/Rovastar - Altars Of Madness (Surealist Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness (Surealist Mix).milk rename to presets/presets_projectM/Rovastar - Altars Of Madness (Surealist Mix).milk diff --git a/presets_projectM/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk b/presets/presets_projectM/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk rename to presets/presets_projectM/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness Mix).milk diff --git a/presets_milkdrop/Rovastar - Altars Of Madness.milk b/presets/presets_projectM/Rovastar - Altars Of Madness.milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness.milk rename to presets/presets_projectM/Rovastar - Altars Of Madness.milk diff --git a/presets_milkdrop/Rovastar - Attacking Freedom.milk b/presets/presets_projectM/Rovastar - Attacking Freedom.milk similarity index 100% rename from presets_milkdrop/Rovastar - Attacking Freedom.milk rename to presets/presets_projectM/Rovastar - Attacking Freedom.milk diff --git a/presets_milkdrop/Rovastar - Bellanova (New Wave Mix).milk b/presets/presets_projectM/Rovastar - Bellanova (New Wave Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Bellanova (New Wave Mix).milk rename to presets/presets_projectM/Rovastar - Bellanova (New Wave Mix).milk diff --git a/presets_milkdrop/Rovastar - Chapel Of Ghouls.milk b/presets/presets_projectM/Rovastar - Chapel Of Ghouls.milk similarity index 100% rename from presets_milkdrop/Rovastar - Chapel Of Ghouls.milk rename to presets/presets_projectM/Rovastar - Chapel Of Ghouls.milk diff --git a/presets_projectM/Rovastar - Cosmic Echoes 1.milk b/presets/presets_projectM/Rovastar - Cosmic Echoes 1.milk similarity index 100% rename from presets_projectM/Rovastar - Cosmic Echoes 1.milk rename to presets/presets_projectM/Rovastar - Cosmic Echoes 1.milk diff --git a/presets_projectM/Rovastar - Cosmic Echoes 2.milk b/presets/presets_projectM/Rovastar - Cosmic Echoes 2.milk similarity index 100% rename from presets_projectM/Rovastar - Cosmic Echoes 2.milk rename to presets/presets_projectM/Rovastar - Cosmic Echoes 2.milk diff --git a/presets_milkdrop/Rovastar - Cosmic Mosaic (Active Mix).milk b/presets/presets_projectM/Rovastar - Cosmic Mosaic (Active Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Cosmic Mosaic (Active Mix).milk rename to presets/presets_projectM/Rovastar - Cosmic Mosaic (Active Mix).milk diff --git a/presets_milkdrop/Rovastar - Decreasing Dreams (Extended Movement Mix).milk b/presets/presets_projectM/Rovastar - Decreasing Dreams (Extended Movement Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Decreasing Dreams (Extended Movement Mix).milk rename to presets/presets_projectM/Rovastar - Decreasing Dreams (Extended Movement Mix).milk diff --git a/presets_projectM/Rovastar - Decreasing Dreams (Increasing Memory Mix) .milk b/presets/presets_projectM/Rovastar - Decreasing Dreams (Increasing Memory Mix) .milk similarity index 100% rename from presets_projectM/Rovastar - Decreasing Dreams (Increasing Memory Mix) .milk rename to presets/presets_projectM/Rovastar - Decreasing Dreams (Increasing Memory Mix) .milk diff --git a/presets_milkdrop/Rovastar - Explosive Minds.milk b/presets/presets_projectM/Rovastar - Explosive Minds.milk similarity index 100% rename from presets_milkdrop/Rovastar - Explosive Minds.milk rename to presets/presets_projectM/Rovastar - Explosive Minds.milk diff --git a/presets_projectM/Rovastar - Eye On Reality (Mega 3 Mix)_phat_edit.milk b/presets/presets_projectM/Rovastar - Eye On Reality (Mega 3 Mix)_phat_edit.milk similarity index 100% rename from presets_projectM/Rovastar - Eye On Reality (Mega 3 Mix)_phat_edit.milk rename to presets/presets_projectM/Rovastar - Eye On Reality (Mega 3 Mix)_phat_edit.milk diff --git a/presets_milkdrop/Rovastar - Forgotten Moon.milk b/presets/presets_projectM/Rovastar - Forgotten Moon.milk similarity index 100% rename from presets_milkdrop/Rovastar - Forgotten Moon.milk rename to presets/presets_projectM/Rovastar - Forgotten Moon.milk diff --git a/presets/presets_projectM/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_projectM/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk new file mode 100755 index 0000000000..9673520936 --- /dev/null +++ b/presets/presets_projectM/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.150375 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5 + 0.05*sin(q1*0.456); +shape_0_per_frame2=y = 0.5 + 0.05*sin(q1*0.56); +shape_0_per_frame3=tex_zoom = tex_zoom + 0.5*sin(q1*0.345); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=wave_a =0; +per_frame_2=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_3=movement = if(above(movement,10000), 0, movement); +per_frame_4=ob_b = q4+0.25*sin(movement*3.816); +per_frame_5=ob_g = q4+0.25*sin(movement*0.744); +per_frame_6=ob_r = q4+0.25*sin(movement*0.707); +per_frame_7=wrap = above(bass+bass_att,3); +per_frame_8=decay=1; +per_frame_9=rot=0; +per_frame_10=zoom =0.98; +per_frame_11=mv_r = 0; +per_frame_12=mv_g = 0; +per_frame_13=mv_b =0; +per_frame_14=mv_dy = 0.03*sin(movement*0.34); +per_frame_15=mv_dx = 0.035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_frame_16=warp=0; +per_frame_17=dx =0.01*sin(movement*5); +per_frame_18=dy =0.0005*(bass+bass_att); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx =dx+ 2*(2*myx*myy); +per_pixel_4=dy =dy+ 2*((myy*myy) - (myx*myx)); +per_pixel_5= diff --git a/presets_projectM/Rovastar - Fractopia (Focused Childhood Mix ).milk b/presets/presets_projectM/Rovastar - Fractopia (Focused Childhood Mix ).milk similarity index 100% rename from presets_projectM/Rovastar - Fractopia (Focused Childhood Mix ).milk rename to presets/presets_projectM/Rovastar - Fractopia (Focused Childhood Mix ).milk diff --git a/presets_projectM/Rovastar - Fractopia (Fractal Havok Mix).milk b/presets/presets_projectM/Rovastar - Fractopia (Fractal Havok Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Fractopia (Fractal Havok Mix).milk rename to presets/presets_projectM/Rovastar - Fractopia (Fractal Havok Mix).milk diff --git a/presets/presets_projectM/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_projectM/Rovastar - Fractopia (Upspoken Mix).milk new file mode 100755 index 0000000000..31ede31cd6 --- /dev/null +++ b/presets/presets_projectM/Rovastar - Fractopia (Upspoken Mix).milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.537415 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.725085 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets_milkdrop/Rovastar - Frozen Rapture .milk b/presets/presets_projectM/Rovastar - Frozen Rapture .milk similarity index 100% rename from presets_milkdrop/Rovastar - Frozen Rapture .milk rename to presets/presets_projectM/Rovastar - Frozen Rapture .milk diff --git a/presets_milkdrop/Rovastar - Future Speakers.milk b/presets/presets_projectM/Rovastar - Future Speakers.milk similarity index 100% rename from presets_milkdrop/Rovastar - Future Speakers.milk rename to presets/presets_projectM/Rovastar - Future Speakers.milk diff --git a/presets_milkdrop/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk b/presets/presets_projectM/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk rename to presets/presets_projectM/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk b/presets/presets_projectM/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk rename to presets/presets_projectM/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_projectM/Rovastar - Harlequin's Fractal Encounter.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Fractal Encounter.milk rename to presets/presets_projectM/Rovastar - Harlequin's Fractal Encounter.milk diff --git a/presets_milkdrop/Rovastar - Hyperspace (Frozen Rapture Mix).milk b/presets/presets_projectM/Rovastar - Hyperspace (Frozen Rapture Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Hyperspace (Frozen Rapture Mix).milk rename to presets/presets_projectM/Rovastar - Hyperspace (Frozen Rapture Mix).milk diff --git a/presets_milkdrop/Rovastar - Hyperspace.milk b/presets/presets_projectM/Rovastar - Hyperspace.milk similarity index 100% rename from presets_milkdrop/Rovastar - Hyperspace.milk rename to presets/presets_projectM/Rovastar - Hyperspace.milk diff --git a/presets_milkdrop/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk b/presets/presets_projectM/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk rename to presets/presets_projectM/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk diff --git a/presets_projectM/Rovastar - Inner Thoughts (Distant Memories Mix).milk b/presets/presets_projectM/Rovastar - Inner Thoughts (Distant Memories Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Inner Thoughts (Distant Memories Mix).milk rename to presets/presets_projectM/Rovastar - Inner Thoughts (Distant Memories Mix).milk diff --git a/presets_projectM/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk b/presets/presets_projectM/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk rename to presets/presets_projectM/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk diff --git a/presets_milkdrop/Rovastar - Inner Thoughts (Strange Cargo Mix).milk b/presets/presets_projectM/Rovastar - Inner Thoughts (Strange Cargo Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Inner Thoughts (Strange Cargo Mix).milk rename to presets/presets_projectM/Rovastar - Inner Thoughts (Strange Cargo Mix).milk diff --git a/presets_milkdrop/Rovastar - Kalideostars (Altars Of Madness MIx).milk b/presets/presets_projectM/Rovastar - Kalideostars (Altars Of Madness MIx).milk similarity index 100% rename from presets_milkdrop/Rovastar - Kalideostars (Altars Of Madness MIx).milk rename to presets/presets_projectM/Rovastar - Kalideostars (Altars Of Madness MIx).milk diff --git a/presets_milkdrop/Rovastar - Kalideostars (Round Round Mix).milk b/presets/presets_projectM/Rovastar - Kalideostars (Round Round Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Kalideostars (Round Round Mix).milk rename to presets/presets_projectM/Rovastar - Kalideostars (Round Round Mix).milk diff --git a/presets_milkdrop/Rovastar - Kalideostars.milk b/presets/presets_projectM/Rovastar - Kalideostars.milk similarity index 100% rename from presets_milkdrop/Rovastar - Kalideostars.milk rename to presets/presets_projectM/Rovastar - Kalideostars.milk diff --git a/presets_milkdrop/Rovastar - Magic Carpet.milk b/presets/presets_projectM/Rovastar - Magic Carpet.milk similarity index 100% rename from presets_milkdrop/Rovastar - Magic Carpet.milk rename to presets/presets_projectM/Rovastar - Magic Carpet.milk diff --git a/presets_milkdrop/Rovastar - Multiverse Starfield 1.milk b/presets/presets_projectM/Rovastar - Multiverse Starfield 1.milk similarity index 100% rename from presets_milkdrop/Rovastar - Multiverse Starfield 1.milk rename to presets/presets_projectM/Rovastar - Multiverse Starfield 1.milk diff --git a/presets_milkdrop/Rovastar - Multiverse Starfield 3.milk b/presets/presets_projectM/Rovastar - Multiverse Starfield 3.milk similarity index 100% rename from presets_milkdrop/Rovastar - Multiverse Starfield 3.milk rename to presets/presets_projectM/Rovastar - Multiverse Starfield 3.milk diff --git a/presets_milkdrop/Rovastar - Omnipresence Resurrection.milk b/presets/presets_projectM/Rovastar - Omnipresence Resurrection.milk similarity index 100% rename from presets_milkdrop/Rovastar - Omnipresence Resurrection.milk rename to presets/presets_projectM/Rovastar - Omnipresence Resurrection.milk diff --git a/presets_milkdrop/Rovastar - Pandora's Volcano.milk b/presets/presets_projectM/Rovastar - Pandora's Volcano.milk similarity index 100% rename from presets_milkdrop/Rovastar - Pandora's Volcano.milk rename to presets/presets_projectM/Rovastar - Pandora's Volcano.milk diff --git a/presets_projectM/Rovastar - Parallel Universe.milk b/presets/presets_projectM/Rovastar - Parallel Universe.milk similarity index 100% rename from presets_projectM/Rovastar - Parallel Universe.milk rename to presets/presets_projectM/Rovastar - Parallel Universe.milk diff --git a/presets_milkdrop_104/Rovastar - Sea Shells.milk b/presets/presets_projectM/Rovastar - Sea Shells.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - Sea Shells.milk rename to presets/presets_projectM/Rovastar - Sea Shells.milk diff --git a/presets_milkdrop/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_projectM/Rovastar - Solarized Space (Space DNA Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Solarized Space (Space DNA Mix).milk rename to presets/presets_projectM/Rovastar - Solarized Space (Space DNA Mix).milk diff --git a/presets_milkdrop/Rovastar - Solarized Space.milk b/presets/presets_projectM/Rovastar - Solarized Space.milk similarity index 100% rename from presets_milkdrop/Rovastar - Solarized Space.milk rename to presets/presets_projectM/Rovastar - Solarized Space.milk diff --git a/presets_milkdrop/Rovastar - Space (Twisted Dimension Mix).milk b/presets/presets_projectM/Rovastar - Space (Twisted Dimension Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Space (Twisted Dimension Mix).milk rename to presets/presets_projectM/Rovastar - Space (Twisted Dimension Mix).milk diff --git a/presets_milkdrop/Rovastar - Space.milk b/presets/presets_projectM/Rovastar - Space.milk similarity index 100% rename from presets_milkdrop/Rovastar - Space.milk rename to presets/presets_projectM/Rovastar - Space.milk diff --git a/presets/presets_projectM/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk b/presets/presets_projectM/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk new file mode 100755 index 0000000000..c4cecedcbc --- /dev/null +++ b/presets/presets_projectM/Rovastar - Sunflower Passion (Enlightment Mix)_Phat_edit.milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.980000 +fVideoEchoZoom=2.447667 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=1.951307 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.135177 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.3 + 0.05*sin(0.89*q8); +shape_0_per_frame2=y = 0.4 - 0.05*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.066232 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.3 - 0.05*sin(0.7089*q8); +shape_1_per_frame2=y = 0.4 + 0.05*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.036457 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.3 + 0.05*sin(0.679*q8); +shape_2_per_frame2=y = 0.4 - 0.05*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.012202 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.3 + 0.05*sin(0.916*q8); +shape_3_per_frame2=y = 0.4 - 0.05*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=//wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=//wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=//wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=//zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=//rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=//zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=.95; +per_frame_16=q1=0.5 +0.1*sin(q8); +per_frame_17=q2=0.5; +per_frame_18= +per_frame_19= +per_frame_20=q8 = oldq8+ 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_21=oldq8 =q8; +per_frame_22=mybass = mybass + 0.01*(bass + bass_att); +per_frame_23= +per_frame_24=//rot =1 + 0.15*sin(mybass*0.1789); +per_frame_25=//zoom = 1.6 + 0.1*sin(mybass*0.786); +per_frame_26=zoom = 1.09; +per_frame_27=//rot =0.12; +per_frame_28=//cx = 0.4; +per_frame_29=//cy = 0.4; +per_frame_30=q1=0.5 +0.00*sin(0.12*q8); +per_frame_31=q2=0.5 -0.00*cos(0.177*q8); +per_pixel_1=myx = (x-q1)*1.1; +per_pixel_2=myy= (y-q2)*1.1; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = (0.5+0.02*sin(q8))*(myy/(myrad+1)); +per_pixel_5=dy = -(0.5+0.02*sin(q8*0.897))*(myx/(myrad+1)); +per_pixel_6=rd=bass*rad; +per_pixel_7=rot=rd/10; +per_pixel_8= +per_pixel_9=sy=1.02+(rad/10); +per_pixel_10=sx=sy-myrad; diff --git a/presets/presets_projectM/Rovastar - Sunflower Passion (Simple Mix).milk b/presets/presets_projectM/Rovastar - Sunflower Passion (Simple Mix).milk new file mode 100755 index 0000000000..98209f6899 --- /dev/null +++ b/presets/presets_projectM/Rovastar - Sunflower Passion (Simple Mix).milk @@ -0,0 +1,268 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.020068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets/presets_projectM/Rovastar - Sunflower Passion.milk b/presets/presets_projectM/Rovastar - Sunflower Passion.milk new file mode 100755 index 0000000000..fa9da9bcef --- /dev/null +++ b/presets/presets_projectM/Rovastar - Sunflower Passion.milk @@ -0,0 +1,272 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.1*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.1*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.1*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.1*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.1*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.1*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.020068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.1*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.1*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_20=oldq8 =q8; +per_frame_21=mybass = mybass + 0.01*(bass + bass_att); +per_frame_22= +per_frame_23=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_24=zoom = 1.4 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets_milkdrop/Rovastar - The Awakening.milk b/presets/presets_projectM/Rovastar - The Awakening.milk similarity index 100% rename from presets_milkdrop/Rovastar - The Awakening.milk rename to presets/presets_projectM/Rovastar - The Awakening.milk diff --git a/presets_milkdrop/Rovastar - The Chaos Of Colours (Drifting Mix).milk b/presets/presets_projectM/Rovastar - The Chaos Of Colours (Drifting Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - The Chaos Of Colours (Drifting Mix).milk rename to presets/presets_projectM/Rovastar - The Chaos Of Colours (Drifting Mix).milk diff --git a/presets_milkdrop/Rovastar - The Chaos Of Colours.milk b/presets/presets_projectM/Rovastar - The Chaos Of Colours.milk similarity index 100% rename from presets_milkdrop/Rovastar - The Chaos Of Colours.milk rename to presets/presets_projectM/Rovastar - The Chaos Of Colours.milk diff --git a/presets_milkdrop_104/Rovastar - The Shroomery.milk b/presets/presets_projectM/Rovastar - The Shroomery.milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Rovastar - The Shroomery.milk rename to presets/presets_projectM/Rovastar - The Shroomery.milk diff --git a/presets_milkdrop/Rovastar - Timeless Voyage.milk b/presets/presets_projectM/Rovastar - Timeless Voyage.milk similarity index 100% rename from presets_milkdrop/Rovastar - Timeless Voyage.milk rename to presets/presets_projectM/Rovastar - Timeless Voyage.milk diff --git a/presets/presets_projectM/Rovastar - Torrid Tales.milk b/presets/presets_projectM/Rovastar - Torrid Tales.milk new file mode 100755 index 0000000000..60fcc68b14 --- /dev/null +++ b/presets/presets_projectM/Rovastar - Torrid Tales.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=8 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.990099 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=ib_r = 0.5+0.50*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_3=ib_g = 0.5+0.5*sin(time*1.476); +per_frame_4=ib_b = 0.5+0.5*sin(1.374*time); +per_frame_5=ob_r = ib_r; +per_frame_6=ob_g=ib_g; +per_frame_7=ob_b=ib_b; +per_frame_8=q8 =oldq8+ 0.001*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=oldq8 = q8; +per_frame_10=wave_a = 0; +per_frame_11=ib_a =1; +per_pixel_1=dx = sin((1000+sin(q8))/y)/200; +per_pixel_2=dy = cos((1000+sin(q8))/x)/200; +per_pixel_3=rot = dy*100*dx; +per_frame_init_1=q8=0; +per_frame_init_2=q1 = rand(2)+2; diff --git a/presets_projectM/Rovastar - Twilight Tunnel.milk b/presets/presets_projectM/Rovastar - Twilight Tunnel.milk similarity index 100% rename from presets_projectM/Rovastar - Twilight Tunnel.milk rename to presets/presets_projectM/Rovastar - Twilight Tunnel.milk diff --git a/presets_milkdrop/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk b/presets/presets_projectM/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk similarity index 100% rename from presets_milkdrop/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk rename to presets/presets_projectM/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk diff --git a/presets_milkdrop/Rovastar and Unchained - Braindance Visions.milk b/presets/presets_projectM/Rovastar and Unchained - Braindance Visions.milk similarity index 100% rename from presets_milkdrop/Rovastar and Unchained - Braindance Visions.milk rename to presets/presets_projectM/Rovastar and Unchained - Braindance Visions.milk diff --git a/presets/presets_projectM/Rozzer & Neuro - Starover (Semicolon Mix).milk b/presets/presets_projectM/Rozzer & Neuro - Starover (Semicolon Mix).milk new file mode 100755 index 0000000000..aa2a773361 --- /dev/null +++ b/presets/presets_projectM/Rozzer & Neuro - Starover (Semicolon Mix).milk @@ -0,0 +1,94 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.970000 +fVideoEchoZoom=3.503422 +fVideoEchoAlpha=0.460000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=4.583206 +fWarpScale=3.194907 +fZoomExponent=1.000000 +fShader=0.010000 +zoom=32.544483 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=24.959995 +nMotionVectorsY=15.239994 +mv_dx=-0.660000 +mv_dy=0.260000 +mv_l=1.200000 +mv_r=0.670000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.3*sin(time*1.254); +per_frame_2=wave_g = wave_g +0.3*sin(time*0.952); +per_frame_3=wave_b = wave_b + 0.3*sin(time*0.824); +per_frame_4=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_5=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_6=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_7=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_8=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_9=ib_b = 0.5+0.5*sin(2.273*time); +per_frame_10=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_11=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_12=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_13=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_14=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_15=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xpos = xpos + 0.001*xspeed; +per_frame_17=dx = xpos; +per_frame_18=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_19=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_20=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_21=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_22=yspeed = yspeed - cy +per_frame_23=yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=dy = ypos; +per_frame_26=zoom = cx; +per_pixel_1=myzoom = log(sqrt(2)-rad) -0.25; +per_pixel_2= +per_pixel_3=zoom = if(above(rad,0.4),myzoom,(0.5*sqrt(2)-rad)); +per_pixel_4=myzoom = myzoom - rot; +per_pixel_5=cx = cos(myzoom); diff --git a/presets_milkdrop/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk b/presets/presets_projectM/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk similarity index 100% rename from presets_milkdrop/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk rename to presets/presets_projectM/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk diff --git a/presets_milkdrop/Rozzor & Aderrasi - Canon.milk b/presets/presets_projectM/Rozzor & Aderrasi - Canon.milk similarity index 100% rename from presets_milkdrop/Rozzor & Aderrasi - Canon.milk rename to presets/presets_projectM/Rozzor & Aderrasi - Canon.milk diff --git a/presets_projectM/Rozzor & Che - Inside The House Of Nil.milk b/presets/presets_projectM/Rozzor & Che - Inside The House Of Nil.milk similarity index 100% rename from presets_projectM/Rozzor & Che - Inside The House Of Nil.milk rename to presets/presets_projectM/Rozzor & Che - Inside The House Of Nil.milk diff --git a/presets_milkdrop/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk b/presets/presets_projectM/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk similarity index 100% rename from presets_milkdrop/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk rename to presets/presets_projectM/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk diff --git a/presets_projectM/Rozzor & Shreyas - Deeper Aesthetics.milk b/presets/presets_projectM/Rozzor & Shreyas - Deeper Aesthetics.milk similarity index 100% rename from presets_projectM/Rozzor & Shreyas - Deeper Aesthetics.milk rename to presets/presets_projectM/Rozzor & Shreyas - Deeper Aesthetics.milk diff --git a/presets_milkdrop/Rozzor & Zylot - Rainbow River.milk b/presets/presets_projectM/Rozzor & Zylot - Rainbow River.milk similarity index 100% rename from presets_milkdrop/Rozzor & Zylot - Rainbow River.milk rename to presets/presets_projectM/Rozzor & Zylot - Rainbow River.milk diff --git a/presets_milkdrop/Studio Music and Unchained - Rapid Alteration.milk b/presets/presets_projectM/Studio Music and Unchained - Rapid Alteration.milk similarity index 100% rename from presets_milkdrop/Studio Music and Unchained - Rapid Alteration.milk rename to presets/presets_projectM/Studio Music and Unchained - Rapid Alteration.milk diff --git a/presets_milkdrop/StudioMusic & Unchained - Entity.milk b/presets/presets_projectM/StudioMusic & Unchained - Entity.milk similarity index 100% rename from presets_milkdrop/StudioMusic & Unchained - Entity.milk rename to presets/presets_projectM/StudioMusic & Unchained - Entity.milk diff --git a/presets_milkdrop/StudioMusic & Unchained - Minor Alteration.milk b/presets/presets_projectM/StudioMusic & Unchained - Minor Alteration.milk similarity index 100% rename from presets_milkdrop/StudioMusic & Unchained - Minor Alteration.milk rename to presets/presets_projectM/StudioMusic & Unchained - Minor Alteration.milk diff --git a/presets_projectM/StudioMusic & Unchained - Remembering How You Were (Perceived Mix).milk b/presets/presets_projectM/StudioMusic & Unchained - Remembering How You Were (Perceived Mix).milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - Remembering How You Were (Perceived Mix).milk rename to presets/presets_projectM/StudioMusic & Unchained - Remembering How You Were (Perceived Mix).milk diff --git a/presets_milkdrop/StudioMusic & Unchained - So Much Love.milk b/presets/presets_projectM/StudioMusic & Unchained - So Much Love.milk similarity index 100% rename from presets_milkdrop/StudioMusic & Unchained - So Much Love.milk rename to presets/presets_projectM/StudioMusic & Unchained - So Much Love.milk diff --git a/presets_milkdrop/StudioMusic & Unchained - State Of Discretion.milk b/presets/presets_projectM/StudioMusic & Unchained - State Of Discretion.milk similarity index 100% rename from presets_milkdrop/StudioMusic & Unchained - State Of Discretion.milk rename to presets/presets_projectM/StudioMusic & Unchained - State Of Discretion.milk diff --git a/presets_milkdrop/StudioMusic & Unchained - Wrenched Fate.milk b/presets/presets_projectM/StudioMusic & Unchained - Wrenched Fate.milk similarity index 100% rename from presets_milkdrop/StudioMusic & Unchained - Wrenched Fate.milk rename to presets/presets_projectM/StudioMusic & Unchained - Wrenched Fate.milk diff --git a/presets_milkdrop/StudioMusic - It's Only Make Believe.milk b/presets/presets_projectM/StudioMusic - It's Only Make Believe.milk similarity index 100% rename from presets_milkdrop/StudioMusic - It's Only Make Believe.milk rename to presets/presets_projectM/StudioMusic - It's Only Make Believe.milk diff --git a/presets_milkdrop/StudioMusic - Numerosity.milk b/presets/presets_projectM/StudioMusic - Numerosity.milk similarity index 100% rename from presets_milkdrop/StudioMusic - Numerosity.milk rename to presets/presets_projectM/StudioMusic - Numerosity.milk diff --git a/presets_milkdrop/Telek - Flicker.milk b/presets/presets_projectM/Telek - Flicker.milk similarity index 100% rename from presets_milkdrop/Telek - Flicker.milk rename to presets/presets_projectM/Telek - Flicker.milk diff --git a/presets/presets_projectM/Telek - Slow Shift Matrix (bb4-5).milk b/presets/presets_projectM/Telek - Slow Shift Matrix (bb4-5).milk new file mode 100644 index 0000000000..6839f15e11 --- /dev/null +++ b/presets/presets_projectM/Telek - Slow Shift Matrix (bb4-5).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.100000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +per_frame_1=bv = bass*.01+.99*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); +per_frame_4=wave_x =-1; +per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_7=rot = 1*sin(tt*.15); +per_frame_8=cx = sin(tt*.16)*.5+.5; +per_frame_9=cy = cos(tt*.46)*.5+.5; +per_frame_10=ib_r = sin(tt*.51)*.5+.5; +per_frame_11=ib_g = sin(tt*.71)*.5+.5; +per_frame_12=ib_b = sin(tt*.81)*.5+.5; +per_frame_13=monitor = tt; +per_frame_14= +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_frame_init_1=tt = rand(10000); +per_frame_init_2= diff --git a/presets/presets_projectM/Tux.tga b/presets/presets_projectM/Tux.tga new file mode 100644 index 0000000000..ea554a7735 Binary files /dev/null and b/presets/presets_projectM/Tux.tga differ diff --git a/presets_milkdrop/Unchained & Illusion - Logic Morph.milk b/presets/presets_projectM/Unchained & Illusion - Logic Morph.milk similarity index 100% rename from presets_milkdrop/Unchained & Illusion - Logic Morph.milk rename to presets/presets_projectM/Unchained & Illusion - Logic Morph.milk diff --git a/presets_milkdrop/Unchained & Rovastar - For The Seagull.milk b/presets/presets_projectM/Unchained & Rovastar - For The Seagull.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - For The Seagull.milk rename to presets/presets_projectM/Unchained & Rovastar - For The Seagull.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Luckless.milk b/presets/presets_projectM/Unchained & Rovastar - Luckless.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Luckless.milk rename to presets/presets_projectM/Unchained & Rovastar - Luckless.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Slow Solstice.milk b/presets/presets_projectM/Unchained & Rovastar - Slow Solstice.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Slow Solstice.milk rename to presets/presets_projectM/Unchained & Rovastar - Slow Solstice.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Triptionary.milk b/presets/presets_projectM/Unchained & Rovastar - Triptionary.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Triptionary.milk rename to presets/presets_projectM/Unchained & Rovastar - Triptionary.milk diff --git a/presets_projectM/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk b/presets/presets_projectM/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk rename to presets/presets_projectM/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Wormhole Pillars.milk b/presets/presets_projectM/Unchained & Rovastar - Wormhole Pillars.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Wormhole Pillars.milk rename to presets/presets_projectM/Unchained & Rovastar - Wormhole Pillars.milk diff --git a/presets_milkdrop/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_projectM/Unchained & Rovastar - Xen Traffic.milk similarity index 100% rename from presets_milkdrop/Unchained & Rovastar - Xen Traffic.milk rename to presets/presets_projectM/Unchained & Rovastar - Xen Traffic.milk diff --git a/presets_milkdrop/Unchained - A Matter Of Taste (Remix).milk b/presets/presets_projectM/Unchained - A Matter Of Taste (Remix).milk similarity index 100% rename from presets_milkdrop/Unchained - A Matter Of Taste (Remix).milk rename to presets/presets_projectM/Unchained - A Matter Of Taste (Remix).milk diff --git a/presets/presets_projectM/Unchained - Beat Demo 1-0.milk b/presets/presets_projectM/Unchained - Beat Demo 1-0.milk new file mode 100644 index 0000000000..7e20b9a86a --- /dev/null +++ b/presets/presets_projectM/Unchained - Beat Demo 1-0.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.981000 +fVideoEchoZoom=1.006440 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.540000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.200000 +zoom=0.999800 +rot=0.000000 +cx=0.470000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets/presets_projectM/Unchained - Beat Demo 2-0.milk b/presets/presets_projectM/Unchained - Beat Demo 2-0.milk new file mode 100644 index 0000000000..3473d1bb57 --- /dev/null +++ b/presets/presets_projectM/Unchained - Beat Demo 2-0.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=zoom=zoom+.1*q4; +per_frame_41=rot=.2*q5; +per_frame_42=wave_mystery=.5*q6; +per_frame_43=cx=cx+.5*q1; +per_frame_44=cy=cy+.5*q2; +per_frame_45=warp=bnot(q7%2); +per_frame_46=echo_zoom=1+.5*q3; +per_frame_47=echo_orientation=q8%4; +per_frame_48=wave_mode=q8%7; diff --git a/presets/presets_projectM/Unchained - Beat Demo 2-1.milk b/presets/presets_projectM/Unchained - Beat Demo 2-1.milk new file mode 100644 index 0000000000..899cd3310d --- /dev/null +++ b/presets/presets_projectM/Unchained - Beat Demo 2-1.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=cx=cx+.5*q1; +per_frame_42=cy=cy+.5*q2; +per_frame_43=warp=bnot(q7%2); +per_frame_44=echo_zoom=1+.5*q3; +per_frame_45=echo_orientation=q8%4; +per_frame_46=wave_mode=q8%7; +per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); +per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets/presets_projectM/Unchained - Beat Demo 2-2.milk b/presets/presets_projectM/Unchained - Beat Demo 2-2.milk new file mode 100644 index 0000000000..8da3a1e674 --- /dev/null +++ b/presets/presets_projectM/Unchained - Beat Demo 2-2.milk @@ -0,0 +1,109 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); diff --git a/presets/presets_projectM/Unchained - Beat Demo 2-3.milk b/presets/presets_projectM/Unchained - Beat Demo 2-3.milk new file mode 100644 index 0000000000..f70f8a768d --- /dev/null +++ b/presets/presets_projectM/Unchained - Beat Demo 2-3.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.993000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.018281 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=decay=.98+q8*.001; +per_frame_44=monitor=q8; +per_pixel_1=c1=x*q1+sin(ang)*q4; +per_pixel_2=c2=y*q2+sin(ang)*q6; +per_pixel_3=c3=rad*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_7=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.07*sin(q4*3.14*radix),1+.07*sin(radix*q8*q4*1.618))); diff --git a/presets_milkdrop/Unchained - Cartoon Factory.milk b/presets/presets_projectM/Unchained - Cartoon Factory.milk similarity index 100% rename from presets_milkdrop/Unchained - Cartoon Factory.milk rename to presets/presets_projectM/Unchained - Cartoon Factory.milk diff --git a/presets_milkdrop/Unchained - Cranked On Failure.milk b/presets/presets_projectM/Unchained - Cranked On Failure.milk similarity index 100% rename from presets_milkdrop/Unchained - Cranked On Failure.milk rename to presets/presets_projectM/Unchained - Cranked On Failure.milk diff --git a/presets_milkdrop/Unchained - Deeper Logic.milk b/presets/presets_projectM/Unchained - Deeper Logic.milk similarity index 100% rename from presets_milkdrop/Unchained - Deeper Logic.milk rename to presets/presets_projectM/Unchained - Deeper Logic.milk diff --git a/presets_milkdrop/Unchained - Goo Kung Fu.milk b/presets/presets_projectM/Unchained - Goo Kung Fu.milk similarity index 100% rename from presets_milkdrop/Unchained - Goo Kung Fu.milk rename to presets/presets_projectM/Unchained - Goo Kung Fu.milk diff --git a/presets_milkdrop/Unchained - Goofy Beat Detection.milk b/presets/presets_projectM/Unchained - Goofy Beat Detection.milk similarity index 100% rename from presets_milkdrop/Unchained - Goofy Beat Detection.milk rename to presets/presets_projectM/Unchained - Goofy Beat Detection.milk diff --git a/presets_projectM/Unchained - In Memory Of Peg.milk b/presets/presets_projectM/Unchained - In Memory Of Peg.milk similarity index 100% rename from presets_projectM/Unchained - In Memory Of Peg.milk rename to presets/presets_projectM/Unchained - In Memory Of Peg.milk diff --git a/presets_milkdrop/Unchained - Jaded Emotion.milk b/presets/presets_projectM/Unchained - Jaded Emotion.milk similarity index 100% rename from presets_milkdrop/Unchained - Jaded Emotion.milk rename to presets/presets_projectM/Unchained - Jaded Emotion.milk diff --git a/presets_milkdrop/Unchained - Morat's Final Voyage.milk b/presets/presets_projectM/Unchained - Morat's Final Voyage.milk similarity index 100% rename from presets_milkdrop/Unchained - Morat's Final Voyage.milk rename to presets/presets_projectM/Unchained - Morat's Final Voyage.milk diff --git a/presets_projectM/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk b/presets/presets_projectM/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk similarity index 100% rename from presets_projectM/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk rename to presets/presets_projectM/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Rozzor triangle tweak.milk diff --git a/presets_milkdrop/Unchained - Perverted Dialect.milk b/presets/presets_projectM/Unchained - Perverted Dialect.milk similarity index 100% rename from presets_milkdrop/Unchained - Perverted Dialect.milk rename to presets/presets_projectM/Unchained - Perverted Dialect.milk diff --git a/presets_projectM/Unchained - ReAwoke.milk b/presets/presets_projectM/Unchained - ReAwoke.milk similarity index 100% rename from presets_projectM/Unchained - ReAwoke.milk rename to presets/presets_projectM/Unchained - ReAwoke.milk diff --git a/presets_milkdrop/Unchained - Ribald Ballad.milk b/presets/presets_projectM/Unchained - Ribald Ballad.milk similarity index 100% rename from presets_milkdrop/Unchained - Ribald Ballad.milk rename to presets/presets_projectM/Unchained - Ribald Ballad.milk diff --git a/presets_milkdrop/Unchained - Shaping The Grid.milk b/presets/presets_projectM/Unchained - Shaping The Grid.milk similarity index 100% rename from presets_milkdrop/Unchained - Shaping The Grid.milk rename to presets/presets_projectM/Unchained - Shaping The Grid.milk diff --git a/presets_projectM/Unchained - Subjective Experience Of The Manifold.milk b/presets/presets_projectM/Unchained - Subjective Experience Of The Manifold.milk similarity index 100% rename from presets_projectM/Unchained - Subjective Experience Of The Manifold.milk rename to presets/presets_projectM/Unchained - Subjective Experience Of The Manifold.milk diff --git a/presets_milkdrop/Unchained - Working the Grid.milk b/presets/presets_projectM/Unchained - Working the Grid.milk similarity index 100% rename from presets_milkdrop/Unchained - Working the Grid.milk rename to presets/presets_projectM/Unchained - Working the Grid.milk diff --git a/presets_milkdrop/Zylot - Azirphaeli's Mirror.milk b/presets/presets_projectM/Zylot - Azirphaeli's Mirror.milk similarity index 100% rename from presets_milkdrop/Zylot - Azirphaeli's Mirror.milk rename to presets/presets_projectM/Zylot - Azirphaeli's Mirror.milk diff --git a/presets_milkdrop/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_projectM/Zylot - Block Of Sound (Abstract Architecture Mix).milk similarity index 100% rename from presets_milkdrop/Zylot - Block Of Sound (Abstract Architecture Mix).milk rename to presets/presets_projectM/Zylot - Block Of Sound (Abstract Architecture Mix).milk diff --git a/presets_milkdrop/Zylot - Block Of Sound (Fractal Construction Mix).milk b/presets/presets_projectM/Zylot - Block Of Sound (Fractal Construction Mix).milk similarity index 100% rename from presets_milkdrop/Zylot - Block Of Sound (Fractal Construction Mix).milk rename to presets/presets_projectM/Zylot - Block Of Sound (Fractal Construction Mix).milk diff --git a/presets_milkdrop/Zylot - Crystal Ball (Magical Reaction Mix).milk b/presets/presets_projectM/Zylot - Crystal Ball (Magical Reaction Mix).milk similarity index 100% rename from presets_milkdrop/Zylot - Crystal Ball (Magical Reaction Mix).milk rename to presets/presets_projectM/Zylot - Crystal Ball (Magical Reaction Mix).milk diff --git a/presets_projectM/Zylot - Dark Wisps.milk b/presets/presets_projectM/Zylot - Dark Wisps.milk similarity index 100% rename from presets_projectM/Zylot - Dark Wisps.milk rename to presets/presets_projectM/Zylot - Dark Wisps.milk diff --git a/presets_milkdrop/Zylot - Digiscape Advanced Processor.milk b/presets/presets_projectM/Zylot - Digiscape Advanced Processor.milk similarity index 100% rename from presets_milkdrop/Zylot - Digiscape Advanced Processor.milk rename to presets/presets_projectM/Zylot - Digiscape Advanced Processor.milk diff --git a/presets_milkdrop/Zylot - Ether Storm.milk b/presets/presets_projectM/Zylot - Ether Storm.milk similarity index 100% rename from presets_milkdrop/Zylot - Ether Storm.milk rename to presets/presets_projectM/Zylot - Ether Storm.milk diff --git a/presets_milkdrop/Zylot - Inside The Planar Portal.milk b/presets/presets_projectM/Zylot - Inside The Planar Portal.milk similarity index 100% rename from presets_milkdrop/Zylot - Inside The Planar Portal.milk rename to presets/presets_projectM/Zylot - Inside The Planar Portal.milk diff --git a/presets_projectM/Zylot - Present For Saddam.milk b/presets/presets_projectM/Zylot - Present For Saddam.milk similarity index 100% rename from presets_projectM/Zylot - Present For Saddam.milk rename to presets/presets_projectM/Zylot - Present For Saddam.milk diff --git a/presets_milkdrop/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk b/presets/presets_projectM/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk similarity index 100% rename from presets_milkdrop/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk rename to presets/presets_projectM/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk diff --git a/presets_milkdrop/Zylot - The Inner Workings of my New Computer.milk b/presets/presets_projectM/Zylot - The Inner Workings of my New Computer.milk similarity index 100% rename from presets_milkdrop/Zylot - The Inner Workings of my New Computer.milk rename to presets/presets_projectM/Zylot - The Inner Workings of my New Computer.milk diff --git a/presets_milkdrop/Zylot - Visionarie.milk b/presets/presets_projectM/Zylot - Visionarie.milk similarity index 100% rename from presets_milkdrop/Zylot - Visionarie.milk rename to presets/presets_projectM/Zylot - Visionarie.milk diff --git a/presets_milkdrop/Zylot - light of the path.milk b/presets/presets_projectM/Zylot - light of the path.milk similarity index 100% rename from presets_milkdrop/Zylot - light of the path.milk rename to presets/presets_projectM/Zylot - light of the path.milk diff --git a/presets_projectM/bmelgren - Godhead.milk b/presets/presets_projectM/bmelgren - Godhead.milk similarity index 100% rename from presets_projectM/bmelgren - Godhead.milk rename to presets/presets_projectM/bmelgren - Godhead.milk diff --git a/presets_projectM/bmelgren - Take this highway.milk b/presets/presets_projectM/bmelgren - Take this highway.milk similarity index 100% rename from presets_projectM/bmelgren - Take this highway.milk rename to presets/presets_projectM/bmelgren - Take this highway.milk diff --git a/presets_projectM/fiShbRaiN - brainstem activation.milk b/presets/presets_projectM/fiShbRaiN - brainstem activation.milk similarity index 100% rename from presets_projectM/fiShbRaiN - brainstem activation.milk rename to presets/presets_projectM/fiShbRaiN - brainstem activation.milk diff --git a/presets_projectM/fiShbRaiN - crazy diamond.milk b/presets/presets_projectM/fiShbRaiN - crazy diamond.milk similarity index 100% rename from presets_projectM/fiShbRaiN - crazy diamond.milk rename to presets/presets_projectM/fiShbRaiN - crazy diamond.milk diff --git a/presets_projectM/fiShbRaiN - cthulhus asshole (bad breakfast remix).milk b/presets/presets_projectM/fiShbRaiN - cthulhus asshole (bad breakfast remix).milk similarity index 100% rename from presets_projectM/fiShbRaiN - cthulhus asshole (bad breakfast remix).milk rename to presets/presets_projectM/fiShbRaiN - cthulhus asshole (bad breakfast remix).milk diff --git a/presets_projectM/fiShbRaiN - cthulhus asshole.milk b/presets/presets_projectM/fiShbRaiN - cthulhus asshole.milk similarity index 100% rename from presets_projectM/fiShbRaiN - cthulhus asshole.milk rename to presets/presets_projectM/fiShbRaiN - cthulhus asshole.milk diff --git a/presets_projectM/fiShbRaiN - plasma temptation.milk b/presets/presets_projectM/fiShbRaiN - plasma temptation.milk similarity index 100% rename from presets_projectM/fiShbRaiN - plasma temptation.milk rename to presets/presets_projectM/fiShbRaiN - plasma temptation.milk diff --git a/presets_projectM/fiShbRaiN - quark matrix.milk b/presets/presets_projectM/fiShbRaiN - quark matrix.milk similarity index 100% rename from presets_projectM/fiShbRaiN - quark matrix.milk rename to presets/presets_projectM/fiShbRaiN - quark matrix.milk diff --git a/presets_projectM/headphones.tga b/presets/presets_projectM/headphones.tga similarity index 100% rename from presets_projectM/headphones.tga rename to presets/presets_projectM/headphones.tga diff --git a/presets_milkdrop/nil - Can't Stop the Blithering.milk b/presets/presets_projectM/nil - Can't Stop the Blithering.milk similarity index 100% rename from presets_milkdrop/nil - Can't Stop the Blithering.milk rename to presets/presets_projectM/nil - Can't Stop the Blithering.milk diff --git a/presets_milkdrop/nil - Can't Stop the Cramming.milk b/presets/presets_projectM/nil - Can't Stop the Cramming.milk similarity index 100% rename from presets_milkdrop/nil - Can't Stop the Cramming.milk rename to presets/presets_projectM/nil - Can't Stop the Cramming.milk diff --git a/presets_milkdrop/nil - Cid and Lucy.milk b/presets/presets_projectM/nil - Cid and Lucy.milk similarity index 100% rename from presets_milkdrop/nil - Cid and Lucy.milk rename to presets/presets_projectM/nil - Cid and Lucy.milk diff --git a/presets_projectM/phat_CloseIncouneters.milk b/presets/presets_projectM/phat_CloseIncouneters.milk similarity index 100% rename from presets_projectM/phat_CloseIncouneters.milk rename to presets/presets_projectM/phat_CloseIncouneters.milk diff --git a/presets_projectM/phat_CloseIncounetersV2.milk b/presets/presets_projectM/phat_CloseIncounetersV2.milk similarity index 100% rename from presets_projectM/phat_CloseIncounetersV2.milk rename to presets/presets_projectM/phat_CloseIncounetersV2.milk diff --git a/presets/presets_projectM/project.tga b/presets/presets_projectM/project.tga new file mode 100644 index 0000000000..092d866c6f Binary files /dev/null and b/presets/presets_projectM/project.tga differ diff --git a/presets_projectM/shifter - feathers (angel wings)_phat_remix.milk b/presets/presets_projectM/shifter - feathers (angel wings)_phat_remix.milk similarity index 100% rename from presets_projectM/shifter - feathers (angel wings)_phat_remix.milk rename to presets/presets_projectM/shifter - feathers (angel wings)_phat_remix.milk diff --git a/presets_projectM/shifter - flashburn.milk b/presets/presets_projectM/shifter - flashburn.milk similarity index 100% rename from presets_projectM/shifter - flashburn.milk rename to presets/presets_projectM/shifter - flashburn.milk diff --git a/presets_projectM/shifter - pinwheel.milk b/presets/presets_projectM/shifter - pinwheel.milk similarity index 100% rename from presets_projectM/shifter - pinwheel.milk rename to presets/presets_projectM/shifter - pinwheel.milk diff --git a/presets_projectM/shifter - pulsar.milk b/presets/presets_projectM/shifter - pulsar.milk similarity index 100% rename from presets_projectM/shifter - pulsar.milk rename to presets/presets_projectM/shifter - pulsar.milk diff --git a/presets_projectM/shifter - snow.milk b/presets/presets_projectM/shifter - snow.milk similarity index 100% rename from presets_projectM/shifter - snow.milk rename to presets/presets_projectM/shifter - snow.milk diff --git a/presets_projectM/Aderrasi - Agitator.milk b/presets/presets_stock/Aderrasi - Agitator.milk similarity index 100% rename from presets_projectM/Aderrasi - Agitator.milk rename to presets/presets_stock/Aderrasi - Agitator.milk diff --git a/presets_projectM/Aderrasi - Aimless (Gravity Directive Mix).milk b/presets/presets_stock/Aderrasi - Aimless (Gravity Directive Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Aimless (Gravity Directive Mix).milk rename to presets/presets_stock/Aderrasi - Aimless (Gravity Directive Mix).milk diff --git a/presets_projectM/Aderrasi - Aimless (Spirogravity Mix).milk b/presets/presets_stock/Aderrasi - Aimless (Spirogravity Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Aimless (Spirogravity Mix).milk rename to presets/presets_stock/Aderrasi - Aimless (Spirogravity Mix).milk diff --git a/presets_projectM/Aderrasi - Airhandler (Menagerie Mix).milk b/presets/presets_stock/Aderrasi - Airhandler (Menagerie Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Airhandler (Menagerie Mix).milk rename to presets/presets_stock/Aderrasi - Airhandler (Menagerie Mix).milk diff --git a/presets_projectM/Aderrasi - Airs (Windy Mix).milk b/presets/presets_stock/Aderrasi - Airs (Windy Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Airs (Windy Mix).milk rename to presets/presets_stock/Aderrasi - Airs (Windy Mix).milk diff --git a/presets_projectM/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk b/presets/presets_stock/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk rename to presets/presets_stock/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk diff --git a/presets_projectM/Aderrasi - Anchorpulse (Verified Mix).milk b/presets/presets_stock/Aderrasi - Anchorpulse (Verified Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Anchorpulse (Verified Mix).milk rename to presets/presets_stock/Aderrasi - Anchorpulse (Verified Mix).milk diff --git a/presets_projectM/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk b/presets/presets_stock/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk rename to presets/presets_stock/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk diff --git a/presets_projectM/Aderrasi - Antidote (Aqualung Mix).milk b/presets/presets_stock/Aderrasi - Antidote (Aqualung Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Antidote (Aqualung Mix).milk rename to presets/presets_stock/Aderrasi - Antidote (Aqualung Mix).milk diff --git a/presets_projectM/Aderrasi - Antidote (Side Effects Mix).milk b/presets/presets_stock/Aderrasi - Antidote (Side Effects Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Antidote (Side Effects Mix).milk rename to presets/presets_stock/Aderrasi - Antidote (Side Effects Mix).milk diff --git a/presets_projectM/Aderrasi - Antidote.milk b/presets/presets_stock/Aderrasi - Antidote.milk similarity index 100% rename from presets_projectM/Aderrasi - Antidote.milk rename to presets/presets_stock/Aderrasi - Antidote.milk diff --git a/presets_projectM/Aderrasi - Antique Abyss.milk b/presets/presets_stock/Aderrasi - Antique Abyss.milk similarity index 100% rename from presets_projectM/Aderrasi - Antique Abyss.milk rename to presets/presets_stock/Aderrasi - Antique Abyss.milk diff --git a/presets_projectM/Aderrasi - Arise! (Padded Mix).milk b/presets/presets_stock/Aderrasi - Arise! (Padded Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Arise! (Padded Mix).milk rename to presets/presets_stock/Aderrasi - Arise! (Padded Mix).milk diff --git a/presets_projectM/Aderrasi - Ashes Of Air (Remix).milk b/presets/presets_stock/Aderrasi - Ashes Of Air (Remix).milk similarity index 100% rename from presets_projectM/Aderrasi - Ashes Of Air (Remix).milk rename to presets/presets_stock/Aderrasi - Ashes Of Air (Remix).milk diff --git a/presets_projectM/Aderrasi - Bitterfeld (Crystal Border Mix).milk b/presets/presets_stock/Aderrasi - Bitterfeld (Crystal Border Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Bitterfeld (Crystal Border Mix).milk rename to presets/presets_stock/Aderrasi - Bitterfeld (Crystal Border Mix).milk diff --git a/presets_projectM/Aderrasi - Blender.milk b/presets/presets_stock/Aderrasi - Blender.milk similarity index 100% rename from presets_projectM/Aderrasi - Blender.milk rename to presets/presets_stock/Aderrasi - Blender.milk diff --git a/presets_projectM/Aderrasi - Bow To Gravity.milk b/presets/presets_stock/Aderrasi - Bow To Gravity.milk similarity index 100% rename from presets_projectM/Aderrasi - Bow To Gravity.milk rename to presets/presets_stock/Aderrasi - Bow To Gravity.milk diff --git a/presets_projectM/Aderrasi - Brakefreak.milk b/presets/presets_stock/Aderrasi - Brakefreak.milk similarity index 100% rename from presets_projectM/Aderrasi - Brakefreak.milk rename to presets/presets_stock/Aderrasi - Brakefreak.milk diff --git a/presets_projectM/Aderrasi - Candy Avian.milk b/presets/presets_stock/Aderrasi - Candy Avian.milk similarity index 100% rename from presets_projectM/Aderrasi - Candy Avian.milk rename to presets/presets_stock/Aderrasi - Candy Avian.milk diff --git a/presets_projectM/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk b/presets/presets_stock/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk rename to presets/presets_stock/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk diff --git a/presets_projectM/Aderrasi - Causeway Of Dreams (REMix).milk b/presets/presets_stock/Aderrasi - Causeway Of Dreams (REMix).milk similarity index 100% rename from presets_projectM/Aderrasi - Causeway Of Dreams (REMix).milk rename to presets/presets_stock/Aderrasi - Causeway Of Dreams (REMix).milk diff --git a/presets_projectM/Aderrasi - Causeway Of Dreams.milk b/presets/presets_stock/Aderrasi - Causeway Of Dreams.milk similarity index 100% rename from presets_projectM/Aderrasi - Causeway Of Dreams.milk rename to presets/presets_stock/Aderrasi - Causeway Of Dreams.milk diff --git a/presets_projectM/Aderrasi - Chromatic Abyss (The Other Side).milk b/presets/presets_stock/Aderrasi - Chromatic Abyss (The Other Side).milk similarity index 100% rename from presets_projectM/Aderrasi - Chromatic Abyss (The Other Side).milk rename to presets/presets_stock/Aderrasi - Chromatic Abyss (The Other Side).milk diff --git a/presets_projectM/Aderrasi - Circlefacade.milk b/presets/presets_stock/Aderrasi - Circlefacade.milk similarity index 100% rename from presets_projectM/Aderrasi - Circlefacade.milk rename to presets/presets_stock/Aderrasi - Circlefacade.milk diff --git a/presets_projectM/Aderrasi - Contortion (Xenomorph Mix).milk b/presets/presets_stock/Aderrasi - Contortion (Xenomorph Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Contortion (Xenomorph Mix).milk rename to presets/presets_stock/Aderrasi - Contortion (Xenomorph Mix).milk diff --git a/presets_projectM/Aderrasi - Contortion.milk b/presets/presets_stock/Aderrasi - Contortion.milk similarity index 100% rename from presets_projectM/Aderrasi - Contortion.milk rename to presets/presets_stock/Aderrasi - Contortion.milk diff --git a/presets_projectM/Aderrasi - Crystal Storm.milk b/presets/presets_stock/Aderrasi - Crystal Storm.milk similarity index 100% rename from presets_projectM/Aderrasi - Crystal Storm.milk rename to presets/presets_stock/Aderrasi - Crystal Storm.milk diff --git a/presets_projectM/Aderrasi - Dark Matter (Converse Mix).milk b/presets/presets_stock/Aderrasi - Dark Matter (Converse Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Dark Matter (Converse Mix).milk rename to presets/presets_stock/Aderrasi - Dark Matter (Converse Mix).milk diff --git a/presets_projectM/Aderrasi - Elastoid.milk b/presets/presets_stock/Aderrasi - Elastoid.milk similarity index 100% rename from presets_projectM/Aderrasi - Elastoid.milk rename to presets/presets_stock/Aderrasi - Elastoid.milk diff --git a/presets_projectM/Aderrasi - Floater Society.milk b/presets/presets_stock/Aderrasi - Floater Society.milk similarity index 100% rename from presets_projectM/Aderrasi - Floater Society.milk rename to presets/presets_stock/Aderrasi - Floater Society.milk diff --git a/presets_projectM/Aderrasi - Flowing Form.milk b/presets/presets_stock/Aderrasi - Flowing Form.milk similarity index 100% rename from presets_projectM/Aderrasi - Flowing Form.milk rename to presets/presets_stock/Aderrasi - Flowing Form.milk diff --git a/presets_projectM/Aderrasi - Making Time (Swamp Mix).milk b/presets/presets_stock/Aderrasi - Making Time (Swamp Mix).milk similarity index 100% rename from presets_projectM/Aderrasi - Making Time (Swamp Mix).milk rename to presets/presets_stock/Aderrasi - Making Time (Swamp Mix).milk diff --git a/presets/presets_stock/Aderrasi - Potion of Spirits.milk b/presets/presets_stock/Aderrasi - Potion of Spirits.milk new file mode 100644 index 0000000000..d0ee419e1f --- /dev/null +++ b/presets/presets_stock/Aderrasi - Potion of Spirits.milk @@ -0,0 +1,234 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=1.000000 +fVideoEchoZoom=0.999823 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.325446 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=2.630064 +fWarpScale=3.209168 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5= +per_frame_6=ob_r = ob_r+wave_b*above(sin(0.1*time),0); +per_frame_7=ob_b = ob_b+wave_g*above(sin(0.1*time),0); +per_frame_8=ob_g = ob_g+wave_r*above(sin(0.1*time),0); +per_frame_9=ob_r = ob_r+wave_g*below(sin(0.1*time),0); +per_frame_10=ob_b = ob_b+wave_r*below(sin(0.1*time),0); +per_frame_11=ob_g = ob_g+wave_b*below(sin(0.1*time),0); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.05*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.056*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 22*above(tg1,0.75) + 12*below(tg1,0.25) + 18*above(tg1,0.25)*below(tg1,0.5)+ +per_pixel_6=12*above(tg1,0.5)*below(tg1,0.75); +per_pixel_7=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_8= +per_pixel_9=six = sin(x); +per_pixel_10= +per_pixel_11=dx = dx + dx_r*sin(abs(tg3*y))*sin(time); +per_pixel_12=dy = dy + dy_r*sin(abs(tg3*x))*cos(time); +per_pixel_13=dx = dx + dx_r*pow(rad,y*2)*sin(time); +per_pixel_14=dy = dy + dy_r*pow(rad,x*2)*sin(time); +per_pixel_15=zoom = zoom - 0.0825*pow(rad,x*6)*cos(ang*6); +per_pixel_16=rot = rot - 0.0525*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets/presets_stock/Aderrasi - Songflower (Moss Posy).milk b/presets/presets_stock/Aderrasi - Songflower (Moss Posy).milk new file mode 100644 index 0000000000..2d04026ea6 --- /dev/null +++ b/presets/presets_stock/Aderrasi - Songflower (Moss Posy).milk @@ -0,0 +1,242 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=leafset = 3; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*3+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,3)*0.015*sin(5*time)+(1-equal(pfthresh,3))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,3)*0.015*sin(6*time)+(1-equal(pfthresh,3))*pfdy_r; +per_frame_8=q1 = wave_r; +per_frame_9=q2 = wave_g; +per_frame_10=q3 = wave_b; +per_frame_11= +per_frame_12=ob_r = 1-abs(q1)*0.75; +per_frame_13=ob_g = 1-abs(q2)*0.75; +per_frame_14=ob_b = 1-abs(q3)*0.75; +per_frame_15=echo_zoom = echo_zoom + min(max(0.75,50*pfdx_r),1); +per_frame_16= +per_frame_17=echo_orient = echo_orient + 16*pfdy_r; +per_frame_18= +per_frame_19=dx = dx + 15.1*pfdx_r; +per_frame_20=dy = dy + 15.1*pfdy_r; +per_frame_21=ob_size = ob_size + 0.005*bass_att; +per_frame_22=ib_a = ib_a - min(0.5,0.5-abs(dx+dy)); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=ladder = abs(sin(1*time)); +per_pixel_6=leaf = 5*below(ladder,0.2) + 8*above(ladder,0.2)*below(ladder,0.4) + +per_pixel_7=12*above(ladder,0.4)*below(ladder,0.6) + 18*above(ladder,0.6)*below(ladder,0.8) + +per_pixel_8=24*above(ladder,0.8); +per_pixel_9=leafset = if(equal(thresh,2), leaf, leafset); +per_pixel_10= +per_pixel_11=zoom = zoom + 0.05*(0.75-cos(leafset*rad))*(1-rad); +per_pixel_12=zoom = zoom - abs(0.05*(0.75-cos(4*rad))); diff --git a/presets_milkdrop/Aderrasi - Spillswirl.milk b/presets/presets_stock/Aderrasi - Spillswirl.milk similarity index 100% rename from presets_milkdrop/Aderrasi - Spillswirl.milk rename to presets/presets_stock/Aderrasi - Spillswirl.milk diff --git a/presets_milkdrop/Aderrasi - What Cannot Be Undone.milk b/presets/presets_stock/Aderrasi - What Cannot Be Undone.milk similarity index 100% rename from presets_milkdrop/Aderrasi - What Cannot Be Undone.milk rename to presets/presets_stock/Aderrasi - What Cannot Be Undone.milk diff --git a/presets_milkdrop/Aderrasi - What cannot be.milk b/presets/presets_stock/Aderrasi - What cannot be.milk similarity index 100% rename from presets_milkdrop/Aderrasi - What cannot be.milk rename to presets/presets_stock/Aderrasi - What cannot be.milk diff --git a/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk b/presets/presets_stock/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk similarity index 100% rename from presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk rename to presets/presets_stock/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk diff --git a/presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk b/presets/presets_stock/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk similarity index 100% rename from presets_projectM/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk rename to presets/presets_stock/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk diff --git a/presets_milkdrop/Bmelgren - Godhead.milk b/presets/presets_stock/Bmelgren - Godhead.milk similarity index 100% rename from presets_milkdrop/Bmelgren - Godhead.milk rename to presets/presets_stock/Bmelgren - Godhead.milk diff --git a/presets_projectM/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_stock/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk similarity index 100% rename from presets_projectM/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk rename to presets/presets_stock/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk diff --git a/presets_milkdrop/Bmelgren - Take This Highway.milk b/presets/presets_stock/Bmelgren - Take This Highway.milk similarity index 100% rename from presets_milkdrop/Bmelgren - Take This Highway.milk rename to presets/presets_stock/Bmelgren - Take This Highway.milk diff --git a/presets_milkdrop/Che - Burning Hus.milk b/presets/presets_stock/Che - Burning Hus.milk similarity index 100% rename from presets_milkdrop/Che - Burning Hus.milk rename to presets/presets_stock/Che - Burning Hus.milk diff --git a/presets/presets_stock/Che - Escape.milk b/presets/presets_stock/Che - Escape.milk new file mode 100755 index 0000000000..27a6e7287e --- /dev/null +++ b/presets/presets_stock/Che - Escape.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000498 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.608285 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000154 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.150000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=-0.010000 +mv_l=0.350000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23= +per_frame_24=q8=30/fps; +per_frame_25=ccl=ccl+beat; +per_frame_26=minorccl=minorccl+le*q8; +per_frame_27=q7=ccl+.0002*minorccl; +per_frame_28=q6=3.7*ccl+.01*minorccl; +per_frame_29=ob_size=.3+.3*sin(16*ccl+.007*minorccl); +per_frame_30=ib_a=.5+.4*sin(.01*minorccl+ccl); +per_frame_31=wave_r=.7+.3*sin(.04*ccl+.01*minorccl); +per_frame_32=wave_g=.7+.3*sin(.02*ccl+.012*minorccl); +per_frame_33=wave_b=.3+.3*sin(36*ccl+.013*minorccl); +per_frame_34=ib_r=.25+.25*sin(72*ccl+.016*minorccl); +per_frame_35=ib_g=.25+.25*sin(48*ccl+.021*minorccl); +per_frame_36=ib_b=.5+.3*sin(86*ccl)+.2*(.028*minorccl); +per_frame_37= +per_frame_38=echo_alpha=.5+.5*cos(68*ccl+.0041*minorccl); +per_frame_39=echo_zoom=exp(sin(13.7*ccl+.017*minorccl)); +per_frame_40=echo_orient=ccl%4; +per_frame_41= +per_frame_42=mvrot=ccl%6; +per_frame_43=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039, +per_frame_44=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651, +per_frame_45=if(equal(mvrot,0),1,.773))); +per_frame_46=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267, +per_frame_47=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804, +per_frame_48=if(equal(mvrot,0),1,.38))); +per_frame_49=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694, +per_frame_50=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114, +per_frame_51=if(equal(mvrot,0),1,.145))); +per_pixel_1=zone=below(sin(sin(49*q7)*14*x-sin(36*q7)*14*y),-.2); +per_pixel_2=zoom=1+.33*q8*if(zone,-.5+.1*sin(1.08*q6),.5+.1*sin(.96*q6)); +per_pixel_3=zoomexp=exp(sin(if(zone,q6,-q6))); +per_pixel_4=rot=q8*.03*sin(q6+q7+q7*zone); diff --git a/presets_milkdrop/Che - Watch & Fly.milk b/presets/presets_stock/Che - Watch & Fly.milk similarity index 100% rename from presets_milkdrop/Che - Watch & Fly.milk rename to presets/presets_stock/Che - Watch & Fly.milk diff --git a/presets_projectM/CrystalHigh - mad ravetriping.milk b/presets/presets_stock/CrystalHigh - mad ravetriping.milk similarity index 100% rename from presets_projectM/CrystalHigh - mad ravetriping.milk rename to presets/presets_stock/CrystalHigh - mad ravetriping.milk diff --git a/presets_milkdrop/DaNOnE - Highway to Heaven (rotating).milk b/presets/presets_stock/DaNOnE - Highway to Heaven (rotating).milk similarity index 100% rename from presets_milkdrop/DaNOnE - Highway to Heaven (rotating).milk rename to presets/presets_stock/DaNOnE - Highway to Heaven (rotating).milk diff --git a/presets_projectM/EMPR - Random - Changing Polyevolution.milk b/presets/presets_stock/EMPR - Random - Changing Polyevolution.milk similarity index 100% rename from presets_projectM/EMPR - Random - Changing Polyevolution.milk rename to presets/presets_stock/EMPR - Random - Changing Polyevolution.milk diff --git a/presets_milkdrop/EMPR - Random - Look mama I'm on TV! 2.milk b/presets/presets_stock/EMPR - Random - Look mama I'm on TV! 2.milk similarity index 100% rename from presets_milkdrop/EMPR - Random - Look mama I'm on TV! 2.milk rename to presets/presets_stock/EMPR - Random - Look mama I'm on TV! 2.milk diff --git a/presets_milkdrop/EMPR - Random - They're so cute Dad can I keep one!.milk b/presets/presets_stock/EMPR - Random - They're so cute Dad can I keep one!.milk similarity index 100% rename from presets_milkdrop/EMPR - Random - They're so cute Dad can I keep one!.milk rename to presets/presets_stock/EMPR - Random - They're so cute Dad can I keep one!.milk diff --git a/presets_milkdrop/EMPR - Random - Turbulence Sandwich.milk b/presets/presets_stock/EMPR - Random - Turbulence Sandwich.milk similarity index 100% rename from presets_milkdrop/EMPR - Random - Turbulence Sandwich.milk rename to presets/presets_stock/EMPR - Random - Turbulence Sandwich.milk diff --git a/presets/presets_stock/EoS + Phat - chasers 18 hallway.milk b/presets/presets_stock/EoS + Phat - chasers 18 hallway.milk new file mode 100644 index 0000000000..54cabc29ca --- /dev/null +++ b/presets/presets_stock/EoS + Phat - chasers 18 hallway.milk @@ -0,0 +1,633 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.761306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_stock/EoS - glowsticks v2 03 music.milk b/presets/presets_stock/EoS - glowsticks v2 03 music.milk new file mode 100644 index 0000000000..469dfb3f77 --- /dev/null +++ b/presets/presets_stock/EoS - glowsticks v2 03 music.milk @@ -0,0 +1,540 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_stock/EoS - glowsticks v2 04 music minimal.milk b/presets/presets_stock/EoS - glowsticks v2 04 music minimal.milk new file mode 100644 index 0000000000..57e39cd8b9 --- /dev/null +++ b/presets/presets_stock/EoS - glowsticks v2 04 music minimal.milk @@ -0,0 +1,541 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10=warp=0 +per_frame_11= +per_frame_12= diff --git a/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk new file mode 100644 index 0000000000..d21d0fc8ef --- /dev/null +++ b/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk @@ -0,0 +1,682 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(time)*treb*treb; +per_pixel_3= +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk new file mode 100644 index 0000000000..81a47fa19e --- /dev/null +++ b/presets/presets_stock/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_stock/EoS - heater core C_Phat's_class + sparks_mix.milk b/presets/presets_stock/EoS - heater core C_Phat's_class + sparks_mix.milk new file mode 100644 index 0000000000..801e5d1172 --- /dev/null +++ b/presets/presets_stock/EoS - heater core C_Phat's_class + sparks_mix.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.150000 +wavecode_3_a=1.000000 +wave_3_per_frame1=spark=rand(40); +wave_3_per_frame2=spark= above(spark,37); +wave_3_per_frame3= +wave_3_per_frame4=t1=spark; +wave_3_per_frame5=t2=0; +wave_3_per_frame6=t3=0; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=offran=1-t1*0.1; +wave_3_per_point3=sparkcycle=above( sin(n*2) , 0); +wave_3_per_point4= +wave_3_per_point5=zran=(rand(8) - 4); +wave_3_per_point6=xran=(rand(8) - 4); +wave_3_per_point7=yran=(rand(8) - 4); +wave_3_per_point8=alp=min( 1-abs(zran*0.25), min( 1-abs(xran*0.25),1-abs(yran*0.25) )); +wave_3_per_point9=alp=alp*alp; +wave_3_per_point10=a=alp*(1-t1) + t1; +wave_3_per_point11=zran=zran*0.001*offran; +wave_3_per_point12=xran=xran*0.001*offran; +wave_3_per_point13=yran=yran*0.001*offran; +wave_3_per_point14= +wave_3_per_point15=xseed=sin(sample*3.14+time*15)+sin(sample*11)*0.4; +wave_3_per_point16=yseed=cos(sample*3.14+time*9)+sin(sample*17+time)*0.4; +wave_3_per_point17=t2=t2+xseed*sparkcycle; +wave_3_per_point18=t3=t3+yseed*sparkcycle; +wave_3_per_point19=xspark=t2*0.002; +wave_3_per_point20=yspark=t3*0.008; +wave_3_per_point21= +wave_3_per_point22=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point23=zp=sin(time)+ zran; +wave_3_per_point24=zp=zp + yspark*t1*sparkcycle; +wave_3_per_point25= +wave_3_per_point26=aflux=sin(zp*3.14 + 3.14); +wave_3_per_point27=xp=sin(n)*0.1*aflux + xran; +wave_3_per_point28=xp=xp + xspark*t1*sparkcycle; +wave_3_per_point29=yp=cos(n)*0.1*aflux + yran; +wave_3_per_point30= +wave_3_per_point31=//rotate on y +wave_3_per_point32=ang=(q7+time*0.01)*0.2; +wave_3_per_point33=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point34=yp2=yp; +wave_3_per_point35=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point36= +wave_3_per_point37=//rotate on x +wave_3_per_point38=ang=(q7+time*0.01)*0.3; +wave_3_per_point39=xp3=xp2; +wave_3_per_point40=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point41=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=xp=xp3; +wave_3_per_point45=yp=yp3; +wave_3_per_point46=zp=zp3; +wave_3_per_point47= +wave_3_per_point48=zp=zp+2.1; +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=xs=xs+0.5; +wave_3_per_point51=ys=yp/zp; +wave_3_per_point52=ys=ys*1.3 + 0.5; +wave_3_per_point53= +wave_3_per_point54=x=xs; +wave_3_per_point55=y=ys; +wave_3_per_point56= +wave_3_per_point57= +wave_3_per_point58= +wave_3_per_point59= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=mtime=mtime+vol*0.018*(70/fps); +per_frame_6=q7=mtime; +per_frame_7=q8=vol +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_stock/EoS - heater core C_Phat's_on route_mix+beam.milk b/presets/presets_stock/EoS - heater core C_Phat's_on route_mix+beam.milk new file mode 100644 index 0000000000..ea9baa3e4b --- /dev/null +++ b/presets/presets_stock/EoS - heater core C_Phat's_on route_mix+beam.milk @@ -0,0 +1,453 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.180000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen +per_frame_20= +per_frame_21= +per_frame_22=decay=1; +per_frame_23= +per_frame_24=vol=(bass+mid+treb)*0.25; +per_frame_25=vol=vol*vol; +per_frame_26=mtime=mtime+vol*0.018*(68/fps); +per_frame_27=q7=mtime; +per_frame_28=q8=vol +per_pixel_1=zoom=-1.02 + ((rad*(treb*10))*(bass*bass)); diff --git a/presets/presets_stock/EoS - repeater 05 - rave on acid.milk b/presets/presets_stock/EoS - repeater 05 - rave on acid.milk new file mode 100644 index 0000000000..744151fe2f --- /dev/null +++ b/presets/presets_stock/EoS - repeater 05 - rave on acid.milk @@ -0,0 +1,636 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(45/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31= +per_frame_32=q4 = min( vol*0.8 , 1 )*0.1 + 0.9 diff --git a/presets/presets_stock/EoS - repeater 15 - kaleidoscope b.milk b/presets/presets_stock/EoS - repeater 15 - kaleidoscope b.milk new file mode 100644 index 0000000000..643fa6c3cf --- /dev/null +++ b/presets/presets_stock/EoS - repeater 15 - kaleidoscope b.milk @@ -0,0 +1,640 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.499999 +shapecode_3_rad=0.476930 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.026830 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.4998 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=time*3; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_stock/EoS+Phat - Arm_upgrades - transformer.milk b/presets/presets_stock/EoS+Phat - Arm_upgrades - transformer.milk new file mode 100644 index 0000000000..a5780cfb33 --- /dev/null +++ b/presets/presets_stock/EoS+Phat - Arm_upgrades - transformer.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=65 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.020088 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shape_1_per_frame5= +shape_1_per_frame6=vol= (mid*mid+treb*treb); +shape_1_per_frame7=vol=vol* above(vol,1); +shape_1_per_frame8=//ang=ang+ vol*0.1; +shape_1_per_frame9=ang=(sin(time/2)*0.5+0.5)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(44/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos diff --git a/presets/presets_stock/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk b/presets/presets_stock/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk new file mode 100644 index 0000000000..74e28e2f88 --- /dev/null +++ b/presets/presets_stock/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shape_1_per_frame3=ang = time/5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=//krash's beat detection code +per_frame_31=volume = 0.3*(bass+mid+att); +per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_35=peakbass_att = max(bass_att,peakbass_att); +per_frame_36=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_37=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_38=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_39=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_40=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatcounter = beatcounter + beat; +per_frame_42=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_43=flip = 2*mode-1; +per_frame_44=flip = flip*0.5+0.5; +per_frame_45= +per_frame_46=rot = -time/4 * flip; +per_frame_47= diff --git a/presets_projectM/EvilJim - Follow the ball.milk b/presets/presets_stock/EvilJim - Follow the ball.milk similarity index 100% rename from presets_projectM/EvilJim - Follow the ball.milk rename to presets/presets_stock/EvilJim - Follow the ball.milk diff --git a/presets_projectM/EvilJim - Ice Drops.milk b/presets/presets_stock/EvilJim - Ice Drops.milk similarity index 100% rename from presets_projectM/EvilJim - Ice Drops.milk rename to presets/presets_stock/EvilJim - Ice Drops.milk diff --git a/presets_milkdrop/Fvese & Idiot24-7 - Rearview Mirror.milk b/presets/presets_stock/Fvese & Idiot24-7 - Rearview Mirror.milk similarity index 100% rename from presets_milkdrop/Fvese & Idiot24-7 - Rearview Mirror.milk rename to presets/presets_stock/Fvese & Idiot24-7 - Rearview Mirror.milk diff --git a/presets_projectM/Fvese - 0 To 60.milk b/presets/presets_stock/Fvese - 0 To 60.milk similarity index 100% rename from presets_projectM/Fvese - 0 To 60.milk rename to presets/presets_stock/Fvese - 0 To 60.milk diff --git a/presets_projectM/Fvese - A Blur.milk b/presets/presets_stock/Fvese - A Blur.milk similarity index 100% rename from presets_projectM/Fvese - A Blur.milk rename to presets/presets_stock/Fvese - A Blur.milk diff --git a/presets_projectM/Fvese - Lifesavor Anyone.milk b/presets/presets_stock/Fvese - Lifesavor Anyone.milk similarity index 100% rename from presets_projectM/Fvese - Lifesavor Anyone.milk rename to presets/presets_stock/Fvese - Lifesavor Anyone.milk diff --git a/presets_projectM/Fvese - New meetings.milk b/presets/presets_stock/Fvese - New meetings.milk similarity index 100% rename from presets_projectM/Fvese - New meetings.milk rename to presets/presets_stock/Fvese - New meetings.milk diff --git a/presets_projectM/Fvese - Quicksand.milk b/presets/presets_stock/Fvese - Quicksand.milk similarity index 100% rename from presets_projectM/Fvese - Quicksand.milk rename to presets/presets_stock/Fvese - Quicksand.milk diff --git a/presets_milkdrop/Fvese - Round and Round (geiss gamma mix).milk b/presets/presets_stock/Fvese - Round and Round (geiss gamma mix).milk similarity index 100% rename from presets_milkdrop/Fvese - Round and Round (geiss gamma mix).milk rename to presets/presets_stock/Fvese - Round and Round (geiss gamma mix).milk diff --git a/presets_projectM/Fvese - Stand Still!.milk b/presets/presets_stock/Fvese - Stand Still!.milk similarity index 100% rename from presets_projectM/Fvese - Stand Still!.milk rename to presets/presets_stock/Fvese - Stand Still!.milk diff --git a/presets/presets_stock/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_stock/Fvese - The Tunnel (Final Stage Mix).milk new file mode 100755 index 0000000000..8b4f7bb0fd --- /dev/null +++ b/presets/presets_stock/Fvese - The Tunnel (Final Stage Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.995 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.741921 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=6.4 +nMotionVectorsY=1.440001 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_6=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_7=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_8=mytime=.7; +per_frame_9=q1=sin(time*mytime*4); +per_frame_10=q2=cos(time*mytime*2); +per_frame_11=q3=abs(rad-.5)*(q2*q1); +per_frame_12=xpos=.5/vol; +per_frame_13=ypos=.5/vol; +per_frame_14=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_15=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_16=ib_r=q3+q2; +per_frame_17=ib_b=q2+q1; +per_frame_18=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.5*x,if(equal(q2,0),0.9*(1-x),if(above(q3,0),0.9*y,0.9*(1-y)))) + 0.6 - 0.13*(min(q3,0.3)); +per_pixel_2= diff --git a/presets_projectM/Fvese - Window Reflection 6.milk b/presets/presets_stock/Fvese - Window Reflection 6.milk similarity index 100% rename from presets_projectM/Fvese - Window Reflection 6.milk rename to presets/presets_stock/Fvese - Window Reflection 6.milk diff --git a/presets/presets_stock/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_stock/Fvese - Zoom Effects (Remix 2).milk new file mode 100755 index 0000000000..b9ad3146d0 --- /dev/null +++ b/presets/presets_stock/Fvese - Zoom Effects (Remix 2).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.5503 +fShader=0 +zoom=0.999899 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=3.2 +nMotionVectorsY=2.400006 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.15*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.9; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad+.5)+(q2*q5); +per_frame_18=q4=abs(.9*5)*(dx_r*dy_r)*(dx*dy); +per_frame_19=q5=cos(.2*2)*(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q1; +per_frame_21=q7=q1+q2+q3+q4+q5+q6; +per_frame_22=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_23=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_24=ib_r=q3+q2; +per_frame_25=ib_b=q2+q1; +per_frame_26=ib_g=q1+q3; +per_frame_27=monitor=q3; +per_pixel_1=zoom= if(below(q1,q6),0.5*x,if(equal(q2,q5),0.9*(1-x),if(above(q3,q4),0.5*y,0.9*(1-y)+if(below(q4,q3),0.5* xpos, if(equal(q5,q2),0.9*(1-xpos),if(above(q6,q1),0.9*ypos,0.3*(1-ypos))))))) + .8 - 0.03*(min(q7+q1,1)); diff --git a/presets_milkdrop/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk b/presets/presets_stock/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk similarity index 100% rename from presets_milkdrop/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk rename to presets/presets_stock/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk diff --git a/presets_projectM/Geiss & Rovastar - Notions Of Tonality 2.milk b/presets/presets_stock/Geiss & Rovastar - Notions Of Tonality 2.milk similarity index 100% rename from presets_projectM/Geiss & Rovastar - Notions Of Tonality 2.milk rename to presets/presets_stock/Geiss & Rovastar - Notions Of Tonality 2.milk diff --git a/presets/presets_stock/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk b/presets/presets_stock/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk new file mode 100644 index 0000000000..cfe55df351 --- /dev/null +++ b/presets/presets_stock/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=2 +fGammaAdj=1.7 +fDecay=0.94 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.01 +fWaveSmoothing=0.63 +fWaveParam=-1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=13.290894 +rot=-0.02 +cx=0.5 +cy=0.5 +dx=-0.28 +dy=-0.32 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.95 +ib_g=0.85 +ib_b=0.65 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1 +wavecode_3_smoothing=0.5 +wavecode_3_r=1 +wavecode_3_g=1 +wavecode_3_b=1 +wavecode_3_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.55 +shapecode_0_ang=0 +shapecode_0_tex_ang=0 +shapecode_0_tex_zoom=1 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0.1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0.9 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0.4 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.4 +shapecode_1_ang=0 +shapecode_1_tex_ang=0 +shapecode_1_tex_zoom=1 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0.3 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(tq8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.4 +shapecode_2_ang=0 +shapecode_2_tex_ang=0 +shapecode_2_tex_zoom=1 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0.5 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*.638 + 3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0 +shapecode_3_tex_ang=0 +shapecode_3_tex_zoom=1 +shapecode_3_r=1 +shapecode_3_g=0 +shapecode_3_b=0 +shapecode_3_a=1 +shapecode_3_r2=0 +shapecode_3_g2=1 +shapecode_3_b2=0 +shapecode_3_a2=0 +shapecode_3_border_r=1 +shapecode_3_border_g=1 +shapecode_3_border_b=1 +shapecode_3_border_a=0.1 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.05; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.05; +per_frame_22=wave_a = 0; +per_frame_23=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_24=oldq8 = q8; +per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_26=rot = 0.4 + 1.5*sin(time*0.273) + 0.4*sin(time*0.379+3); +per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1; diff --git a/presets_projectM/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk b/presets/presets_stock/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk similarity index 100% rename from presets_projectM/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk rename to presets/presets_stock/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk diff --git a/presets_milkdrop/Geiss - Aieeeeee!!!.milk b/presets/presets_stock/Geiss - Aieeeeee!!!.milk similarity index 100% rename from presets_milkdrop/Geiss - Aieeeeee!!!.milk rename to presets/presets_stock/Geiss - Aieeeeee!!!.milk diff --git a/presets_milkdrop/Geiss - Anomaly 1.milk b/presets/presets_stock/Geiss - Anomaly 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Anomaly 1.milk rename to presets/presets_stock/Geiss - Anomaly 1.milk diff --git a/presets_milkdrop/Geiss - Anomaly 2.milk b/presets/presets_stock/Geiss - Anomaly 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Anomaly 2.milk rename to presets/presets_stock/Geiss - Anomaly 2.milk diff --git a/presets_milkdrop/Geiss - Approach.milk b/presets/presets_stock/Geiss - Approach.milk similarity index 100% rename from presets_milkdrop/Geiss - Approach.milk rename to presets/presets_stock/Geiss - Approach.milk diff --git a/presets_milkdrop/Geiss - Asymptote.milk b/presets/presets_stock/Geiss - Asymptote.milk similarity index 100% rename from presets_milkdrop/Geiss - Asymptote.milk rename to presets/presets_stock/Geiss - Asymptote.milk diff --git a/presets_milkdrop/Geiss - Bass Kaleidosphere.milk b/presets/presets_stock/Geiss - Bass Kaleidosphere.milk similarity index 100% rename from presets_milkdrop/Geiss - Bass Kaleidosphere.milk rename to presets/presets_stock/Geiss - Bass Kaleidosphere.milk diff --git a/presets_milkdrop/Geiss - Bass Zoom.milk b/presets/presets_stock/Geiss - Bass Zoom.milk similarity index 100% rename from presets_milkdrop/Geiss - Bass Zoom.milk rename to presets/presets_stock/Geiss - Bass Zoom.milk diff --git a/presets_milkdrop/Geiss - Bipolar 1.milk b/presets/presets_stock/Geiss - Bipolar 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Bipolar 1.milk rename to presets/presets_stock/Geiss - Bipolar 1.milk diff --git a/presets_milkdrop/Geiss - Bipolar 2.milk b/presets/presets_stock/Geiss - Bipolar 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Bipolar 2.milk rename to presets/presets_stock/Geiss - Bipolar 2.milk diff --git a/presets_milkdrop/Geiss - Bipolar 3.milk b/presets/presets_stock/Geiss - Bipolar 3.milk similarity index 100% rename from presets_milkdrop/Geiss - Bipolar 3.milk rename to presets/presets_stock/Geiss - Bipolar 3.milk diff --git a/presets_milkdrop/Geiss - Bipolar 4.milk b/presets/presets_stock/Geiss - Bipolar 4.milk similarity index 100% rename from presets_milkdrop/Geiss - Bipolar 4.milk rename to presets/presets_stock/Geiss - Bipolar 4.milk diff --git a/presets_milkdrop/Geiss - Bipolar 5.milk b/presets/presets_stock/Geiss - Bipolar 5.milk similarity index 100% rename from presets_milkdrop/Geiss - Bipolar 5.milk rename to presets/presets_stock/Geiss - Bipolar 5.milk diff --git a/presets_milkdrop/Geiss - Bonfire.milk b/presets/presets_stock/Geiss - Bonfire.milk similarity index 100% rename from presets_milkdrop/Geiss - Bonfire.milk rename to presets/presets_stock/Geiss - Bonfire.milk diff --git a/presets_milkdrop/Geiss - Bright Fiber Matrix 1.milk b/presets/presets_stock/Geiss - Bright Fiber Matrix 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Bright Fiber Matrix 1.milk rename to presets/presets_stock/Geiss - Bright Fiber Matrix 1.milk diff --git a/presets_milkdrop/Geiss - Bright Fiber Matrix 2.milk b/presets/presets_stock/Geiss - Bright Fiber Matrix 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Bright Fiber Matrix 2.milk rename to presets/presets_stock/Geiss - Bright Fiber Matrix 2.milk diff --git a/presets_milkdrop/Geiss - Calligraphy.milk b/presets/presets_stock/Geiss - Calligraphy.milk similarity index 100% rename from presets_milkdrop/Geiss - Calligraphy.milk rename to presets/presets_stock/Geiss - Calligraphy.milk diff --git a/presets_milkdrop/Geiss - Casino.milk b/presets/presets_stock/Geiss - Casino.milk similarity index 100% rename from presets_milkdrop/Geiss - Casino.milk rename to presets/presets_stock/Geiss - Casino.milk diff --git a/presets_milkdrop/Geiss - Cepiasound.milk b/presets/presets_stock/Geiss - Cepiasound.milk similarity index 100% rename from presets_milkdrop/Geiss - Cepiasound.milk rename to presets/presets_stock/Geiss - Cepiasound.milk diff --git a/presets_milkdrop/Geiss - Churn.milk b/presets/presets_stock/Geiss - Churn.milk similarity index 100% rename from presets_milkdrop/Geiss - Churn.milk rename to presets/presets_stock/Geiss - Churn.milk diff --git a/presets_milkdrop/Geiss - Constant Velocity.milk b/presets/presets_stock/Geiss - Constant Velocity.milk similarity index 100% rename from presets_milkdrop/Geiss - Constant Velocity.milk rename to presets/presets_stock/Geiss - Constant Velocity.milk diff --git a/presets_milkdrop/Geiss - Coral.milk b/presets/presets_stock/Geiss - Coral.milk similarity index 100% rename from presets_milkdrop/Geiss - Coral.milk rename to presets/presets_stock/Geiss - Coral.milk diff --git a/presets_milkdrop/Geiss - Corpus Callosum.milk b/presets/presets_stock/Geiss - Corpus Callosum.milk similarity index 100% rename from presets_milkdrop/Geiss - Corpus Callosum.milk rename to presets/presets_stock/Geiss - Corpus Callosum.milk diff --git a/presets_milkdrop/Geiss - Cosmic Dust 1.milk b/presets/presets_stock/Geiss - Cosmic Dust 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Cosmic Dust 1.milk rename to presets/presets_stock/Geiss - Cosmic Dust 1.milk diff --git a/presets_projectM/Geiss - Cosmic Dust 2.milk b/presets/presets_stock/Geiss - Cosmic Dust 2.milk similarity index 100% rename from presets_projectM/Geiss - Cosmic Dust 2.milk rename to presets/presets_stock/Geiss - Cosmic Dust 2.milk diff --git a/presets_projectM/Geiss - Cruzin'.milk b/presets/presets_stock/Geiss - Cruzin'.milk similarity index 100% rename from presets_projectM/Geiss - Cruzin'.milk rename to presets/presets_stock/Geiss - Cruzin'.milk diff --git a/presets_milkdrop/Geiss - Cycloid 1.milk b/presets/presets_stock/Geiss - Cycloid 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Cycloid 1.milk rename to presets/presets_stock/Geiss - Cycloid 1.milk diff --git a/presets_milkdrop/Geiss - Cycloid 2.milk b/presets/presets_stock/Geiss - Cycloid 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Cycloid 2.milk rename to presets/presets_stock/Geiss - Cycloid 2.milk diff --git a/presets_milkdrop/Geiss - Davod The Pod.milk b/presets/presets_stock/Geiss - Davod The Pod.milk similarity index 100% rename from presets_milkdrop/Geiss - Davod The Pod.milk rename to presets/presets_stock/Geiss - Davod The Pod.milk diff --git a/presets_milkdrop/Geiss - De La Moutard 1.milk b/presets/presets_stock/Geiss - De La Moutard 1.milk similarity index 100% rename from presets_milkdrop/Geiss - De La Moutard 1.milk rename to presets/presets_stock/Geiss - De La Moutard 1.milk diff --git a/presets_milkdrop/Geiss - De La Moutard 2.milk b/presets/presets_stock/Geiss - De La Moutard 2.milk similarity index 100% rename from presets_milkdrop/Geiss - De La Moutard 2.milk rename to presets/presets_stock/Geiss - De La Moutard 2.milk diff --git a/presets_milkdrop/Geiss - Demonic Distortion.milk b/presets/presets_stock/Geiss - Demonic Distortion.milk similarity index 100% rename from presets_milkdrop/Geiss - Demonic Distortion.milk rename to presets/presets_stock/Geiss - Demonic Distortion.milk diff --git a/presets_milkdrop/Geiss - Descent.milk b/presets/presets_stock/Geiss - Descent.milk similarity index 100% rename from presets_milkdrop/Geiss - Descent.milk rename to presets/presets_stock/Geiss - Descent.milk diff --git a/presets_milkdrop/Geiss - Destruction.milk b/presets/presets_stock/Geiss - Destruction.milk similarity index 100% rename from presets_milkdrop/Geiss - Destruction.milk rename to presets/presets_stock/Geiss - Destruction.milk diff --git a/presets_milkdrop/Geiss - Diffraction.milk b/presets/presets_stock/Geiss - Diffraction.milk similarity index 100% rename from presets_milkdrop/Geiss - Diffraction.milk rename to presets/presets_stock/Geiss - Diffraction.milk diff --git a/presets_milkdrop/Geiss - Digital Smoke.milk b/presets/presets_stock/Geiss - Digital Smoke.milk similarity index 100% rename from presets_milkdrop/Geiss - Digital Smoke.milk rename to presets/presets_stock/Geiss - Digital Smoke.milk diff --git a/presets_projectM/Geiss - Downward Spiral.milk b/presets/presets_stock/Geiss - Downward Spiral.milk similarity index 100% rename from presets_projectM/Geiss - Downward Spiral.milk rename to presets/presets_stock/Geiss - Downward Spiral.milk diff --git a/presets_milkdrop/Geiss - Drift.milk b/presets/presets_stock/Geiss - Drift.milk similarity index 100% rename from presets_milkdrop/Geiss - Drift.milk rename to presets/presets_stock/Geiss - Drift.milk diff --git a/presets_projectM/Geiss - Dynamic Swirls 1.milk b/presets/presets_stock/Geiss - Dynamic Swirls 1.milk similarity index 100% rename from presets_projectM/Geiss - Dynamic Swirls 1.milk rename to presets/presets_stock/Geiss - Dynamic Swirls 1.milk diff --git a/presets_projectM/Geiss - Dynamic Swirls 2.milk b/presets/presets_stock/Geiss - Dynamic Swirls 2.milk similarity index 100% rename from presets_projectM/Geiss - Dynamic Swirls 2.milk rename to presets/presets_stock/Geiss - Dynamic Swirls 2.milk diff --git a/presets_milkdrop/Geiss - Eddies 1.milk b/presets/presets_stock/Geiss - Eddies 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Eddies 1.milk rename to presets/presets_stock/Geiss - Eddies 1.milk diff --git a/presets_projectM/Geiss - Eddies 2.milk b/presets/presets_stock/Geiss - Eddies 2.milk similarity index 100% rename from presets_projectM/Geiss - Eddies 2.milk rename to presets/presets_stock/Geiss - Eddies 2.milk diff --git a/presets_projectM/Geiss - Eggs.milk b/presets/presets_stock/Geiss - Eggs.milk similarity index 100% rename from presets_projectM/Geiss - Eggs.milk rename to presets/presets_stock/Geiss - Eggs.milk diff --git a/presets_projectM/Geiss - El Cubismo.milk b/presets/presets_stock/Geiss - El Cubismo.milk similarity index 100% rename from presets_projectM/Geiss - El Cubismo.milk rename to presets/presets_stock/Geiss - El Cubismo.milk diff --git a/presets_projectM/Geiss - Feedback 2.milk b/presets/presets_stock/Geiss - Feedback 2.milk similarity index 100% rename from presets_projectM/Geiss - Feedback 2.milk rename to presets/presets_stock/Geiss - Feedback 2.milk diff --git a/presets_milkdrop/Geiss - Feedback.milk b/presets/presets_stock/Geiss - Feedback.milk similarity index 100% rename from presets_milkdrop/Geiss - Feedback.milk rename to presets/presets_stock/Geiss - Feedback.milk diff --git a/presets_milkdrop/Geiss - Festive.milk b/presets/presets_stock/Geiss - Festive.milk similarity index 100% rename from presets_milkdrop/Geiss - Festive.milk rename to presets/presets_stock/Geiss - Festive.milk diff --git a/presets_milkdrop/Geiss - Fiberglass.milk b/presets/presets_stock/Geiss - Fiberglass.milk similarity index 100% rename from presets_milkdrop/Geiss - Fiberglass.milk rename to presets/presets_stock/Geiss - Fiberglass.milk diff --git a/presets_milkdrop/Geiss - Flotsam.milk b/presets/presets_stock/Geiss - Flotsam.milk similarity index 100% rename from presets_milkdrop/Geiss - Flotsam.milk rename to presets/presets_stock/Geiss - Flotsam.milk diff --git a/presets_milkdrop/Geiss - Flower Blossom.milk b/presets/presets_stock/Geiss - Flower Blossom.milk similarity index 100% rename from presets_milkdrop/Geiss - Flower Blossom.milk rename to presets/presets_stock/Geiss - Flower Blossom.milk diff --git a/presets_milkdrop/Geiss - Flower.milk b/presets/presets_stock/Geiss - Flower.milk similarity index 100% rename from presets_milkdrop/Geiss - Flower.milk rename to presets/presets_stock/Geiss - Flower.milk diff --git a/presets_milkdrop/Geiss - Four Kinds of Amphetamines.milk b/presets/presets_stock/Geiss - Four Kinds of Amphetamines.milk similarity index 100% rename from presets_milkdrop/Geiss - Four Kinds of Amphetamines.milk rename to presets/presets_stock/Geiss - Four Kinds of Amphetamines.milk diff --git a/presets_milkdrop/Geiss - Galaxy 1.milk b/presets/presets_stock/Geiss - Galaxy 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Galaxy 1.milk rename to presets/presets_stock/Geiss - Galaxy 1.milk diff --git a/presets_milkdrop/Geiss - Galaxy 2.milk b/presets/presets_stock/Geiss - Galaxy 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Galaxy 2.milk rename to presets/presets_stock/Geiss - Galaxy 2.milk diff --git a/presets_milkdrop/Geiss - Greenland.milk b/presets/presets_stock/Geiss - Greenland.milk similarity index 100% rename from presets_milkdrop/Geiss - Greenland.milk rename to presets/presets_stock/Geiss - Greenland.milk diff --git a/presets/Geiss - Heavenly 1.milk b/presets/presets_stock/Geiss - Heavenly 1.milk similarity index 100% rename from presets/Geiss - Heavenly 1.milk rename to presets/presets_stock/Geiss - Heavenly 1.milk diff --git a/presets_milkdrop/Geiss - Heavenly 2.milk b/presets/presets_stock/Geiss - Heavenly 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Heavenly 2.milk rename to presets/presets_stock/Geiss - Heavenly 2.milk diff --git a/presets_milkdrop/Geiss - Heavenly 3.milk b/presets/presets_stock/Geiss - Heavenly 3.milk similarity index 100% rename from presets_milkdrop/Geiss - Heavenly 3.milk rename to presets/presets_stock/Geiss - Heavenly 3.milk diff --git a/presets_projectM/Geiss - High Dynamic Range.milk b/presets/presets_stock/Geiss - High Dynamic Range.milk similarity index 100% rename from presets_projectM/Geiss - High Dynamic Range.milk rename to presets/presets_stock/Geiss - High Dynamic Range.milk diff --git a/presets_milkdrop/Geiss - Hyperion.milk b/presets/presets_stock/Geiss - Hyperion.milk similarity index 100% rename from presets_milkdrop/Geiss - Hyperion.milk rename to presets/presets_stock/Geiss - Hyperion.milk diff --git a/presets_milkdrop/Geiss - Inkblot.milk b/presets/presets_stock/Geiss - Inkblot.milk similarity index 100% rename from presets_milkdrop/Geiss - Inkblot.milk rename to presets/presets_stock/Geiss - Inkblot.milk diff --git a/presets_milkdrop/Geiss - Iris.milk b/presets/presets_stock/Geiss - Iris.milk similarity index 100% rename from presets_milkdrop/Geiss - Iris.milk rename to presets/presets_stock/Geiss - Iris.milk diff --git a/presets_milkdrop/Geiss - Journey.milk b/presets/presets_stock/Geiss - Journey.milk similarity index 100% rename from presets_milkdrop/Geiss - Journey.milk rename to presets/presets_stock/Geiss - Journey.milk diff --git a/presets_milkdrop/Geiss - Julia Fractal 1.milk b/presets/presets_stock/Geiss - Julia Fractal 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Julia Fractal 1.milk rename to presets/presets_stock/Geiss - Julia Fractal 1.milk diff --git a/presets/presets_stock/Geiss - Julia Fractal 2.milk b/presets/presets_stock/Geiss - Julia Fractal 2.milk new file mode 100755 index 0000000000..9624475bc9 --- /dev/null +++ b/presets/presets_stock/Geiss - Julia Fractal 2.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=3.00000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.000000 +zoom=0.980000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.070000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.025000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); +per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets_milkdrop/Geiss - Luz.milk b/presets/presets_stock/Geiss - Luz.milk similarity index 100% rename from presets_milkdrop/Geiss - Luz.milk rename to presets/presets_stock/Geiss - Luz.milk diff --git a/presets_milkdrop/Geiss - Mega Swirl 1.milk b/presets/presets_stock/Geiss - Mega Swirl 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Mega Swirl 1.milk rename to presets/presets_stock/Geiss - Mega Swirl 1.milk diff --git a/presets_milkdrop/Geiss - Mega Swirl 2.milk b/presets/presets_stock/Geiss - Mega Swirl 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Mega Swirl 2.milk rename to presets/presets_stock/Geiss - Mega Swirl 2.milk diff --git a/presets_milkdrop/Geiss - Mega Swirl 3.milk b/presets/presets_stock/Geiss - Mega Swirl 3.milk similarity index 100% rename from presets_milkdrop/Geiss - Mega Swirl 3.milk rename to presets/presets_stock/Geiss - Mega Swirl 3.milk diff --git a/presets_milkdrop/Geiss - Microcosm.milk b/presets/presets_stock/Geiss - Microcosm.milk similarity index 100% rename from presets_milkdrop/Geiss - Microcosm.milk rename to presets/presets_stock/Geiss - Microcosm.milk diff --git a/presets_milkdrop/Geiss - Monotone Ripples.milk b/presets/presets_stock/Geiss - Monotone Ripples.milk similarity index 100% rename from presets_milkdrop/Geiss - Monotone Ripples.milk rename to presets/presets_stock/Geiss - Monotone Ripples.milk diff --git a/presets_milkdrop/Geiss - Music Box.milk b/presets/presets_stock/Geiss - Music Box.milk similarity index 100% rename from presets_milkdrop/Geiss - Music Box.milk rename to presets/presets_stock/Geiss - Music Box.milk diff --git a/presets_projectM/Geiss - Nautilus.milk b/presets/presets_stock/Geiss - Nautilus.milk similarity index 100% rename from presets_projectM/Geiss - Nautilus.milk rename to presets/presets_stock/Geiss - Nautilus.milk diff --git a/presets_milkdrop/Geiss - Octopus Blue.milk b/presets/presets_stock/Geiss - Octopus Blue.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus Blue.milk rename to presets/presets_stock/Geiss - Octopus Blue.milk diff --git a/presets_projectM/Geiss - Octopus Ever Changing.milk b/presets/presets_stock/Geiss - Octopus Ever Changing.milk similarity index 100% rename from presets_projectM/Geiss - Octopus Ever Changing.milk rename to presets/presets_stock/Geiss - Octopus Ever Changing.milk diff --git a/presets_milkdrop/Geiss - Octopus Fat and Ever Changing.milk b/presets/presets_stock/Geiss - Octopus Fat and Ever Changing.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus Fat and Ever Changing.milk rename to presets/presets_stock/Geiss - Octopus Fat and Ever Changing.milk diff --git a/presets_milkdrop/Geiss - Octopus Gold with Dots.milk b/presets/presets_stock/Geiss - Octopus Gold with Dots.milk similarity index 100% rename from presets_milkdrop/Geiss - Octopus Gold with Dots.milk rename to presets/presets_stock/Geiss - Octopus Gold with Dots.milk diff --git a/presets_projectM/Geiss - Octopus Gold.milk b/presets/presets_stock/Geiss - Octopus Gold.milk similarity index 100% rename from presets_projectM/Geiss - Octopus Gold.milk rename to presets/presets_stock/Geiss - Octopus Gold.milk diff --git a/presets_projectM/Geiss - Octopus.milk b/presets/presets_stock/Geiss - Octopus.milk similarity index 100% rename from presets_projectM/Geiss - Octopus.milk rename to presets/presets_stock/Geiss - Octopus.milk diff --git a/presets_projectM/Geiss - Oldskool Mellowstyle.milk b/presets/presets_stock/Geiss - Oldskool Mellowstyle.milk similarity index 100% rename from presets_projectM/Geiss - Oldskool Mellowstyle.milk rename to presets/presets_stock/Geiss - Oldskool Mellowstyle.milk diff --git a/presets_milkdrop/Geiss - Pelota De Fuego.milk b/presets/presets_stock/Geiss - Pelota De Fuego.milk similarity index 100% rename from presets_milkdrop/Geiss - Pelota De Fuego.milk rename to presets/presets_stock/Geiss - Pelota De Fuego.milk diff --git a/presets_milkdrop/Geiss - Pinch.milk b/presets/presets_stock/Geiss - Pinch.milk similarity index 100% rename from presets_milkdrop/Geiss - Pinch.milk rename to presets/presets_stock/Geiss - Pinch.milk diff --git a/presets_milkdrop/Geiss - Pistons.milk b/presets/presets_stock/Geiss - Pistons.milk similarity index 100% rename from presets_milkdrop/Geiss - Pistons.milk rename to presets/presets_stock/Geiss - Pistons.milk diff --git a/presets_milkdrop/Geiss - Planet 1.milk b/presets/presets_stock/Geiss - Planet 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Planet 1.milk rename to presets/presets_stock/Geiss - Planet 1.milk diff --git a/presets_milkdrop/Geiss - Planet 2.milk b/presets/presets_stock/Geiss - Planet 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Planet 2.milk rename to presets/presets_stock/Geiss - Planet 2.milk diff --git a/presets_milkdrop/Geiss - Reducto Absurdum.milk b/presets/presets_stock/Geiss - Reducto Absurdum.milk similarity index 100% rename from presets_milkdrop/Geiss - Reducto Absurdum.milk rename to presets/presets_stock/Geiss - Reducto Absurdum.milk diff --git a/presets_milkdrop/Geiss - Reducto Ad Nauseum.milk b/presets/presets_stock/Geiss - Reducto Ad Nauseum.milk similarity index 100% rename from presets_milkdrop/Geiss - Reducto Ad Nauseum.milk rename to presets/presets_stock/Geiss - Reducto Ad Nauseum.milk diff --git a/presets_milkdrop/Geiss - Rocket.milk b/presets/presets_stock/Geiss - Rocket.milk similarity index 100% rename from presets_milkdrop/Geiss - Rocket.milk rename to presets/presets_stock/Geiss - Rocket.milk diff --git a/presets_milkdrop/Geiss - Runoff.milk b/presets/presets_stock/Geiss - Runoff.milk similarity index 100% rename from presets_milkdrop/Geiss - Runoff.milk rename to presets/presets_stock/Geiss - Runoff.milk diff --git a/presets_milkdrop/Geiss - Scary.milk b/presets/presets_stock/Geiss - Scary.milk similarity index 100% rename from presets_milkdrop/Geiss - Scary.milk rename to presets/presets_stock/Geiss - Scary.milk diff --git a/presets_milkdrop/Geiss - Script.milk b/presets/presets_stock/Geiss - Script.milk similarity index 100% rename from presets_milkdrop/Geiss - Script.milk rename to presets/presets_stock/Geiss - Script.milk diff --git a/presets_milkdrop/Geiss - Serpent.milk b/presets/presets_stock/Geiss - Serpent.milk similarity index 100% rename from presets_milkdrop/Geiss - Serpent.milk rename to presets/presets_stock/Geiss - Serpent.milk diff --git a/presets_milkdrop/Geiss - Shake.milk b/presets/presets_stock/Geiss - Shake.milk similarity index 100% rename from presets_milkdrop/Geiss - Shake.milk rename to presets/presets_stock/Geiss - Shake.milk diff --git a/presets_milkdrop/Geiss - Shift.milk b/presets/presets_stock/Geiss - Shift.milk similarity index 100% rename from presets_milkdrop/Geiss - Shift.milk rename to presets/presets_stock/Geiss - Shift.milk diff --git a/presets_milkdrop/Geiss - Sinews 2.milk b/presets/presets_stock/Geiss - Sinews 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Sinews 2.milk rename to presets/presets_stock/Geiss - Sinews 2.milk diff --git a/presets_milkdrop/Geiss - Smoke.milk b/presets/presets_stock/Geiss - Smoke.milk similarity index 100% rename from presets_milkdrop/Geiss - Smoke.milk rename to presets/presets_stock/Geiss - Smoke.milk diff --git a/presets_milkdrop/Geiss - Solar Flare (Blue).milk b/presets/presets_stock/Geiss - Solar Flare (Blue).milk similarity index 100% rename from presets_milkdrop/Geiss - Solar Flare (Blue).milk rename to presets/presets_stock/Geiss - Solar Flare (Blue).milk diff --git a/presets_milkdrop/Geiss - Solar Flare (Reptile).milk b/presets/presets_stock/Geiss - Solar Flare (Reptile).milk similarity index 100% rename from presets_milkdrop/Geiss - Solar Flare (Reptile).milk rename to presets/presets_stock/Geiss - Solar Flare (Reptile).milk diff --git a/presets_milkdrop/Geiss - Solar Flare.milk b/presets/presets_stock/Geiss - Solar Flare.milk similarity index 100% rename from presets_milkdrop/Geiss - Solar Flare.milk rename to presets/presets_stock/Geiss - Solar Flare.milk diff --git a/presets_milkdrop/Geiss - Sound And The Fury.milk b/presets/presets_stock/Geiss - Sound And The Fury.milk similarity index 100% rename from presets_milkdrop/Geiss - Sound And The Fury.milk rename to presets/presets_stock/Geiss - Sound And The Fury.milk diff --git a/presets_milkdrop/Geiss - Space Voyage (High-Warp).milk b/presets/presets_stock/Geiss - Space Voyage (High-Warp).milk similarity index 100% rename from presets_milkdrop/Geiss - Space Voyage (High-Warp).milk rename to presets/presets_stock/Geiss - Space Voyage (High-Warp).milk diff --git a/presets_milkdrop/Geiss - Space Voyage Bright.milk b/presets/presets_stock/Geiss - Space Voyage Bright.milk similarity index 100% rename from presets_milkdrop/Geiss - Space Voyage Bright.milk rename to presets/presets_stock/Geiss - Space Voyage Bright.milk diff --git a/presets_milkdrop/Geiss - Space Voyage.milk b/presets/presets_stock/Geiss - Space Voyage.milk similarity index 100% rename from presets_milkdrop/Geiss - Space Voyage.milk rename to presets/presets_stock/Geiss - Space Voyage.milk diff --git a/presets_milkdrop/Geiss - Spacedust.milk b/presets/presets_stock/Geiss - Spacedust.milk similarity index 100% rename from presets_milkdrop/Geiss - Spacedust.milk rename to presets/presets_stock/Geiss - Spacedust.milk diff --git a/presets_milkdrop/Geiss - Starfish 1.milk b/presets/presets_stock/Geiss - Starfish 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Starfish 1.milk rename to presets/presets_stock/Geiss - Starfish 1.milk diff --git a/presets_milkdrop/Geiss - Starfish 2.milk b/presets/presets_stock/Geiss - Starfish 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Starfish 2.milk rename to presets/presets_stock/Geiss - Starfish 2.milk diff --git a/presets_milkdrop/Geiss - Sunsets.milk b/presets/presets_stock/Geiss - Sunsets.milk similarity index 100% rename from presets_milkdrop/Geiss - Sunsets.milk rename to presets/presets_stock/Geiss - Sunsets.milk diff --git a/presets_milkdrop/Geiss - Supernova 1.milk b/presets/presets_stock/Geiss - Supernova 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Supernova 1.milk rename to presets/presets_stock/Geiss - Supernova 1.milk diff --git a/presets_milkdrop/Geiss - Supernova 2.milk b/presets/presets_stock/Geiss - Supernova 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Supernova 2.milk rename to presets/presets_stock/Geiss - Supernova 2.milk diff --git a/presets_milkdrop/Geiss - Surface.milk b/presets/presets_stock/Geiss - Surface.milk similarity index 100% rename from presets_milkdrop/Geiss - Surface.milk rename to presets/presets_stock/Geiss - Surface.milk diff --git a/presets_milkdrop/Geiss - Swirl 1.milk b/presets/presets_stock/Geiss - Swirl 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirl 1.milk rename to presets/presets_stock/Geiss - Swirl 1.milk diff --git a/presets_milkdrop/Geiss - Swirl 2.milk b/presets/presets_stock/Geiss - Swirl 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Swirl 2.milk rename to presets/presets_stock/Geiss - Swirl 2.milk diff --git a/presets_projectM/Geiss - Swirlie 1.milk b/presets/presets_stock/Geiss - Swirlie 1.milk similarity index 100% rename from presets_projectM/Geiss - Swirlie 1.milk rename to presets/presets_stock/Geiss - Swirlie 1.milk diff --git a/presets_projectM/Geiss - Swirlie 2.milk b/presets/presets_stock/Geiss - Swirlie 2.milk similarity index 100% rename from presets_projectM/Geiss - Swirlie 2.milk rename to presets/presets_stock/Geiss - Swirlie 2.milk diff --git a/presets_projectM/Geiss - Swirlie 3.milk b/presets/presets_stock/Geiss - Swirlie 3.milk similarity index 100% rename from presets_projectM/Geiss - Swirlie 3.milk rename to presets/presets_stock/Geiss - Swirlie 3.milk diff --git a/presets_projectM/Geiss - Swirlie 4.milk b/presets/presets_stock/Geiss - Swirlie 4.milk similarity index 100% rename from presets_projectM/Geiss - Swirlie 4.milk rename to presets/presets_stock/Geiss - Swirlie 4.milk diff --git a/presets_projectM/Geiss - Swirlie 5.milk b/presets/presets_stock/Geiss - Swirlie 5.milk similarity index 100% rename from presets_projectM/Geiss - Swirlie 5.milk rename to presets/presets_stock/Geiss - Swirlie 5.milk diff --git a/presets_milkdrop/Geiss - Symmetry.milk b/presets/presets_stock/Geiss - Symmetry.milk similarity index 100% rename from presets_milkdrop/Geiss - Symmetry.milk rename to presets/presets_stock/Geiss - Symmetry.milk diff --git a/presets_projectM/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk b/presets/presets_stock/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk similarity index 100% rename from presets_projectM/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk rename to presets/presets_stock/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk diff --git a/presets_milkdrop/Geiss - Three And A Half Kinds Of Amphetamines.milk b/presets/presets_stock/Geiss - Three And A Half Kinds Of Amphetamines.milk similarity index 100% rename from presets_milkdrop/Geiss - Three And A Half Kinds Of Amphetamines.milk rename to presets/presets_stock/Geiss - Three And A Half Kinds Of Amphetamines.milk diff --git a/presets_milkdrop/Geiss - Three Kinds Of Amphetamines.milk b/presets/presets_stock/Geiss - Three Kinds Of Amphetamines.milk similarity index 100% rename from presets_milkdrop/Geiss - Three Kinds Of Amphetamines.milk rename to presets/presets_stock/Geiss - Three Kinds Of Amphetamines.milk diff --git a/presets_milkdrop/Geiss - Tokamak.milk b/presets/presets_stock/Geiss - Tokamak.milk similarity index 100% rename from presets_milkdrop/Geiss - Tokamak.milk rename to presets/presets_stock/Geiss - Tokamak.milk diff --git a/presets_milkdrop/Geiss - Tornado.milk b/presets/presets_stock/Geiss - Tornado.milk similarity index 100% rename from presets_milkdrop/Geiss - Tornado.milk rename to presets/presets_stock/Geiss - Tornado.milk diff --git a/presets_milkdrop/Geiss - Toy.milk b/presets/presets_stock/Geiss - Toy.milk similarity index 100% rename from presets_milkdrop/Geiss - Toy.milk rename to presets/presets_stock/Geiss - Toy.milk diff --git a/presets_milkdrop/Geiss - Trampoline.milk b/presets/presets_stock/Geiss - Trampoline.milk similarity index 100% rename from presets_milkdrop/Geiss - Trampoline.milk rename to presets/presets_stock/Geiss - Trampoline.milk diff --git a/presets_milkdrop/Geiss - Tube.milk b/presets/presets_stock/Geiss - Tube.milk similarity index 100% rename from presets_milkdrop/Geiss - Tube.milk rename to presets/presets_stock/Geiss - Tube.milk diff --git a/presets_milkdrop/Geiss - Two-Pointed Pulsagon.milk b/presets/presets_stock/Geiss - Two-Pointed Pulsagon.milk similarity index 100% rename from presets_milkdrop/Geiss - Two-Pointed Pulsagon.milk rename to presets/presets_stock/Geiss - Two-Pointed Pulsagon.milk diff --git a/presets_milkdrop/Geiss - Ultrafast.milk b/presets/presets_stock/Geiss - Ultrafast.milk similarity index 100% rename from presets_milkdrop/Geiss - Ultrafast.milk rename to presets/presets_stock/Geiss - Ultrafast.milk diff --git a/presets_milkdrop/Geiss - Volume Zoom.milk b/presets/presets_stock/Geiss - Volume Zoom.milk similarity index 100% rename from presets_milkdrop/Geiss - Volume Zoom.milk rename to presets/presets_stock/Geiss - Volume Zoom.milk diff --git a/presets_milkdrop/Geiss - Vortex 1.milk b/presets/presets_stock/Geiss - Vortex 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Vortex 1.milk rename to presets/presets_stock/Geiss - Vortex 1.milk diff --git a/presets_milkdrop/Geiss - Vortex 2.milk b/presets/presets_stock/Geiss - Vortex 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Vortex 2.milk rename to presets/presets_stock/Geiss - Vortex 2.milk diff --git a/presets_milkdrop/Geiss - Warp Of Dali 1.milk b/presets/presets_stock/Geiss - Warp Of Dali 1.milk similarity index 100% rename from presets_milkdrop/Geiss - Warp Of Dali 1.milk rename to presets/presets_stock/Geiss - Warp Of Dali 1.milk diff --git a/presets_milkdrop/Geiss - Warp Of Dali 2.milk b/presets/presets_stock/Geiss - Warp Of Dali 2.milk similarity index 100% rename from presets_milkdrop/Geiss - Warp Of Dali 2.milk rename to presets/presets_stock/Geiss - Warp Of Dali 2.milk diff --git a/presets_milkdrop/Geiss - Warp Of Dali Bright.milk b/presets/presets_stock/Geiss - Warp Of Dali Bright.milk similarity index 100% rename from presets_milkdrop/Geiss - Warp Of Dali Bright.milk rename to presets/presets_stock/Geiss - Warp Of Dali Bright.milk diff --git a/presets_milkdrop/Geiss - Waterfall.milk b/presets/presets_stock/Geiss - Waterfall.milk similarity index 100% rename from presets_milkdrop/Geiss - Waterfall.milk rename to presets/presets_stock/Geiss - Waterfall.milk diff --git a/presets_milkdrop/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk b/presets/presets_stock/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk similarity index 100% rename from presets_milkdrop/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk rename to presets/presets_stock/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk diff --git a/presets_milkdrop/Idiot & Che - Various Abstract Effects.milk b/presets/presets_stock/Idiot & Che - Various Abstract Effects.milk similarity index 100% rename from presets_milkdrop/Idiot & Che - Various Abstract Effects.milk rename to presets/presets_stock/Idiot & Che - Various Abstract Effects.milk diff --git a/presets/presets_stock/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk b/presets/presets_stock/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk new file mode 100644 index 0000000000..c8cf4b8b81 --- /dev/null +++ b/presets/presets_stock/Idiot & Rovastar - Altars Of Madness 2 (X-42 Mix).milk @@ -0,0 +1,95 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.763002 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.230000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); +per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); +per_frame_25=echo_zoom=echo_zoom-.3*sin(Time*(q5/2/2/2/2/2/2/2)); +per_frame_26=//echo_alpha=1; +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0)*((ang/2/2/2)-rad)*Sin(q5)/2; +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y-0.5)*96)+0.005*sin((y-0.5)*128)); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0.001*cos((x-0.5)*128)+0.001*cos((x-0.5)*96)); diff --git a/presets_projectM/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk b/presets/presets_stock/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk similarity index 100% rename from presets_projectM/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk rename to presets/presets_stock/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk diff --git a/presets_milkdrop/Idiot - 9-7-02 (Remix) (sustain fixed).milk b/presets/presets_stock/Idiot - 9-7-02 (Remix) (sustain fixed).milk similarity index 100% rename from presets_milkdrop/Idiot - 9-7-02 (Remix) (sustain fixed).milk rename to presets/presets_stock/Idiot - 9-7-02 (Remix) (sustain fixed).milk diff --git a/presets_milkdrop/Idiot - Cortex (Spiritual Visions Mix).milk b/presets/presets_stock/Idiot - Cortex (Spiritual Visions Mix).milk similarity index 100% rename from presets_milkdrop/Idiot - Cortex (Spiritual Visions Mix).milk rename to presets/presets_stock/Idiot - Cortex (Spiritual Visions Mix).milk diff --git a/presets_projectM/Idiot - MOTIVATION!.milk b/presets/presets_stock/Idiot - MOTIVATION!.milk similarity index 100% rename from presets_projectM/Idiot - MOTIVATION!.milk rename to presets/presets_stock/Idiot - MOTIVATION!.milk diff --git a/presets_milkdrop/Idiot - Madness Within The Void (Remix).milk b/presets/presets_stock/Idiot - Madness Within The Void (Remix).milk similarity index 100% rename from presets_milkdrop/Idiot - Madness Within The Void (Remix).milk rename to presets/presets_stock/Idiot - Madness Within The Void (Remix).milk diff --git a/presets_milkdrop/Idiot - Tentacle Dreams (Remix).milk b/presets/presets_stock/Idiot - Tentacle Dreams (Remix).milk similarity index 100% rename from presets_milkdrop/Idiot - Tentacle Dreams (Remix).milk rename to presets/presets_stock/Idiot - Tentacle Dreams (Remix).milk diff --git a/presets_projectM/Idiot - Texture Boxes (Remix 2).milk b/presets/presets_stock/Idiot - Texture Boxes (Remix 2).milk similarity index 100% rename from presets_projectM/Idiot - Texture Boxes (Remix 2).milk rename to presets/presets_stock/Idiot - Texture Boxes (Remix 2).milk diff --git a/presets_projectM/Idiot - Texture Boxes (Remix).milk b/presets/presets_stock/Idiot - Texture Boxes (Remix).milk similarity index 100% rename from presets_projectM/Idiot - Texture Boxes (Remix).milk rename to presets/presets_stock/Idiot - Texture Boxes (Remix).milk diff --git a/presets_milkdrop/Idiot - Typomatic (Remix 2).milk b/presets/presets_stock/Idiot - Typomatic (Remix 2).milk similarity index 100% rename from presets_milkdrop/Idiot - Typomatic (Remix 2).milk rename to presets/presets_stock/Idiot - Typomatic (Remix 2).milk diff --git a/presets/presets_stock/Idiot - What Is.milk b/presets/presets_stock/Idiot - What Is.milk new file mode 100755 index 0000000000..6f26a39f9d --- /dev/null +++ b/presets/presets_stock/Idiot - What Is.milk @@ -0,0 +1,102 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.041020 +rot=0.160000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),react); +per_frame_9=bass_effect=max(max(Bass,bass_Att),react); +per_frame_10=mid_effect=max(max(mid,mid_att),react); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=normal=5; +per_frame_13=more=bass_effect; +per_frame_14=less=7; +per_frame_15=react=less; +per_frame_16=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_17=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_18=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=wave_R=.5*sin(above(q1,q2)); +per_frame_31=wave_b=1*sin(above(q3,q2)); +per_frame_32=wave_G=wave_g*Sin(q4); +per_frame_33=wave_myster=wavE_myster-.2*sin(above(Q3,q5)); +per_pixel_1=rot=if(above(no_effect,5),rot*Sin(-ang+ang-.4*q1)-rot*sin(ang+-ang*q3)*rad*Sin(q1-rad)-x*.05*sin(q4)-y*.05 +per_pixel_2=*sin(q6-x+y*rad)-rot*sin(equal(q1,q2)),.1*rad); +per_pixel_3=zoom=if(above(no_effect,5),zoom+raD*.03*sin(q2+q5)-x*.05*sin(q4+q6)+y*.10*.25*sin(q5-q3) +per_pixel_4=,1+.10*sin(rad) +per_pixel_5=); +per_pixel_6=no_effect=q1-q3*sin(above(q1,q2)); diff --git a/presets_milkdrop/Idiot - What Shall Come.milk b/presets/presets_stock/Idiot - What Shall Come.milk similarity index 100% rename from presets_milkdrop/Idiot - What Shall Come.milk rename to presets/presets_stock/Idiot - What Shall Come.milk diff --git a/presets_projectM/Idiot24-7 - Ascending to heaven 2.milk b/presets/presets_stock/Idiot24-7 - Ascending to heaven 2.milk similarity index 100% rename from presets_projectM/Idiot24-7 - Ascending to heaven 2.milk rename to presets/presets_stock/Idiot24-7 - Ascending to heaven 2.milk diff --git a/presets_milkdrop/Idiot24-7 - Meeting place.milk b/presets/presets_stock/Idiot24-7 - Meeting place.milk similarity index 100% rename from presets_milkdrop/Idiot24-7 - Meeting place.milk rename to presets/presets_stock/Idiot24-7 - Meeting place.milk diff --git a/presets_projectM/Illusion & Che - Return Of The King.milk b/presets/presets_stock/Illusion & Che - Return Of The King.milk similarity index 100% rename from presets_projectM/Illusion & Che - Return Of The King.milk rename to presets/presets_stock/Illusion & Che - Return Of The King.milk diff --git a/presets_projectM/Illusion & Che - The Piper.milk b/presets/presets_stock/Illusion & Che - The Piper.milk similarity index 100% rename from presets_projectM/Illusion & Che - The Piper.milk rename to presets/presets_stock/Illusion & Che - The Piper.milk diff --git a/presets_projectM/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_stock/Illusion & Rovastar - Clouded Bottle.milk similarity index 100% rename from presets_projectM/Illusion & Rovastar - Clouded Bottle.milk rename to presets/presets_stock/Illusion & Rovastar - Clouded Bottle.milk diff --git a/presets_milkdrop/Illusion & Rovastar - Snowflake Delight.milk b/presets/presets_stock/Illusion & Rovastar - Snowflake Delight.milk similarity index 100% rename from presets_milkdrop/Illusion & Rovastar - Snowflake Delight.milk rename to presets/presets_stock/Illusion & Rovastar - Snowflake Delight.milk diff --git a/presets_milkdrop/Illusion & Rovastar - Snowflake Return.milk b/presets/presets_stock/Illusion & Rovastar - Snowflake Return.milk similarity index 100% rename from presets_milkdrop/Illusion & Rovastar - Snowflake Return.milk rename to presets/presets_stock/Illusion & Rovastar - Snowflake Return.milk diff --git a/presets_projectM/Illusion & Unchained - Frozen Eye 1.milk b/presets/presets_stock/Illusion & Unchained - Frozen Eye 1.milk similarity index 100% rename from presets_projectM/Illusion & Unchained - Frozen Eye 1.milk rename to presets/presets_stock/Illusion & Unchained - Frozen Eye 1.milk diff --git a/presets_projectM/Illusion & Unchained - Invade My Mind.milk b/presets/presets_stock/Illusion & Unchained - Invade My Mind.milk similarity index 100% rename from presets_projectM/Illusion & Unchained - Invade My Mind.milk rename to presets/presets_stock/Illusion & Unchained - Invade My Mind.milk diff --git a/presets_milkdrop/Illusion & Unchained - Re-Enter Homeworld.milk b/presets/presets_stock/Illusion & Unchained - Re-Enter Homeworld.milk similarity index 100% rename from presets_milkdrop/Illusion & Unchained - Re-Enter Homeworld.milk rename to presets/presets_stock/Illusion & Unchained - Re-Enter Homeworld.milk diff --git a/presets_projectM/Illusion - Figure Eight.milk b/presets/presets_stock/Illusion - Figure Eight.milk similarity index 100% rename from presets_projectM/Illusion - Figure Eight.milk rename to presets/presets_stock/Illusion - Figure Eight.milk diff --git a/presets_milkdrop/Illusion - Heavenly Eye.milk b/presets/presets_stock/Illusion - Heavenly Eye.milk similarity index 100% rename from presets_milkdrop/Illusion - Heavenly Eye.milk rename to presets/presets_stock/Illusion - Heavenly Eye.milk diff --git a/presets_projectM/Jess - Trying To Trap A Twister.milk b/presets/presets_stock/Jess - Trying To Trap A Twister.milk similarity index 100% rename from presets_projectM/Jess - Trying To Trap A Twister.milk rename to presets/presets_stock/Jess - Trying To Trap A Twister.milk diff --git a/presets_milkdrop/Krash & Idiot - Memories Of The Castle.milk b/presets/presets_stock/Krash & Idiot - Memories Of The Castle.milk similarity index 100% rename from presets_milkdrop/Krash & Idiot - Memories Of The Castle.milk rename to presets/presets_stock/Krash & Idiot - Memories Of The Castle.milk diff --git a/presets_milkdrop/Krash & Illusion - Indecisive Mosaic.milk b/presets/presets_stock/Krash & Illusion - Indecisive Mosaic.milk similarity index 100% rename from presets_milkdrop/Krash & Illusion - Indecisive Mosaic.milk rename to presets/presets_stock/Krash & Illusion - Indecisive Mosaic.milk diff --git a/presets_projectM/Krash & Illusion - Spiral Movement.milk b/presets/presets_stock/Krash & Illusion - Spiral Movement.milk similarity index 100% rename from presets_projectM/Krash & Illusion - Spiral Movement.milk rename to presets/presets_stock/Krash & Illusion - Spiral Movement.milk diff --git a/presets_milkdrop/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk b/presets/presets_stock/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk similarity index 100% rename from presets_milkdrop/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk rename to presets/presets_stock/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk diff --git a/presets_milkdrop/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk b/presets/presets_stock/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk similarity index 100% rename from presets_milkdrop/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk rename to presets/presets_stock/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk diff --git a/presets_milkdrop/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk b/presets/presets_stock/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk similarity index 100% rename from presets_milkdrop/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk rename to presets/presets_stock/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk diff --git a/presets/presets_stock/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk b/presets/presets_stock/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk new file mode 100644 index 0000000000..601e71e55b --- /dev/null +++ b/presets/presets_stock/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk @@ -0,0 +1,367 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(70/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip +per_frame_57= +per_frame_58= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; diff --git a/presets_milkdrop/Krash & Rovastar - Switching Polygons.milk b/presets/presets_stock/Krash & Rovastar - Switching Polygons.milk similarity index 100% rename from presets_milkdrop/Krash & Rovastar - Switching Polygons.milk rename to presets/presets_stock/Krash & Rovastar - Switching Polygons.milk diff --git a/presets/presets_stock/Krash & Rovastar - The Devil Is In The Details.milk b/presets/presets_stock/Krash & Rovastar - The Devil Is In The Details.milk new file mode 100755 index 0000000000..e0010e380c --- /dev/null +++ b/presets/presets_stock/Krash & Rovastar - The Devil Is In The Details.milk @@ -0,0 +1,101 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.993998 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=vol = 0.167*(bass+mid); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_19=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_20=ib_r = 0.3+xpos; +per_frame_21=ib_b = 0.06*bass; +per_frame_22=ib_g = 0.25+ypos; +per_frame_23=q3 = 10+8*(0.6*sin(0.423*time) + 0.4*sin(0.253*time)); +per_frame_24=q4 = 1/q3; +per_frame_25=q5 = 0.5*sign(xpos); +per_frame_26=q6 = 0.5*sign(ypos); +per_frame_27=monitor = rot; +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); diff --git a/presets_projectM/Krash & TEcHNO - Rhythmic Mantas.milk b/presets/presets_stock/Krash & TEcHNO - Rhythmic Mantas.milk similarity index 100% rename from presets_projectM/Krash & TEcHNO - Rhythmic Mantas.milk rename to presets/presets_stock/Krash & TEcHNO - Rhythmic Mantas.milk diff --git a/presets_milkdrop/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk b/presets/presets_stock/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk similarity index 100% rename from presets_milkdrop/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk rename to presets/presets_stock/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk diff --git a/presets_projectM/Krash - 3D Shapes Demo 2.milk b/presets/presets_stock/Krash - 3D Shapes Demo 2.milk similarity index 100% rename from presets_projectM/Krash - 3D Shapes Demo 2.milk rename to presets/presets_stock/Krash - 3D Shapes Demo 2.milk diff --git a/presets_projectM/Krash - 3D Shapes Demo.milk b/presets/presets_stock/Krash - 3D Shapes Demo.milk similarity index 100% rename from presets_projectM/Krash - 3D Shapes Demo.milk rename to presets/presets_stock/Krash - 3D Shapes Demo.milk diff --git a/presets/presets_stock/Krash - Digital Flame.milk b/presets/presets_stock/Krash - Digital Flame.milk new file mode 100755 index 0000000000..02f8730477 --- /dev/null +++ b/presets/presets_stock/Krash - Digital Flame.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.9 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.3697 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=53.523884 +fWarpScale=0.408391 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.6999 +wave_g=0.6 +wave_b=0.8 +wave_x=0 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=q1 = (bass_att + mid_att + treb_att) /3; +per_frame_2=q2 = time + 1000; +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.95+1.4); +per_frame_4=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.85+1.2); +per_frame_5=bass_on = above(bass_thresh,1.9); +per_frame_6=treb_on = above(treb_thresh,1.9); +per_frame_7=swapcolour = bass_on - treb_on; +per_frame_8=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),0.9,0.7)); +per_frame_9=green_aim = if(equal(swapcolour,1),0.7,if(equal(swapcolour,0),0.3,0.6)); +per_frame_10=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.2,0.8)); +per_frame_11=red = red + (red_aim - red)*0.5; +per_frame_12=green = green + (green_aim - green)*0.5; +per_frame_13=blue = blue + (blue_aim - blue)*0.5; +per_frame_14=wave_r = red; +per_frame_15=wave_g = green; +per_frame_16=wave_b = blue; +per_pixel_1=dy = -0.1*(q1-1)*log(2-(abs(y*2 - 1.8))); +per_pixel_2=dy = below(dy,0.02)*dy - 0.02; +per_pixel_3=dy = dy + 0.01*(sin((x*q2*0.483) + (y*q2*1.238)) + sin((x*q2*1.612) + (y*q2*0.648))); diff --git a/presets_projectM/Krash - Dynamic Borders 1.milk b/presets/presets_stock/Krash - Dynamic Borders 1.milk similarity index 100% rename from presets_projectM/Krash - Dynamic Borders 1.milk rename to presets/presets_stock/Krash - Dynamic Borders 1.milk diff --git a/presets_projectM/Krash - Framed Geometry.milk b/presets/presets_stock/Krash - Framed Geometry.milk similarity index 100% rename from presets_projectM/Krash - Framed Geometry.milk rename to presets/presets_stock/Krash - Framed Geometry.milk diff --git a/presets_milkdrop/Krash - Pulse.milk b/presets/presets_stock/Krash - Pulse.milk similarity index 100% rename from presets_milkdrop/Krash - Pulse.milk rename to presets/presets_stock/Krash - Pulse.milk diff --git a/presets_milkdrop/Krash - Season's Greetings 2.milk b/presets/presets_stock/Krash - Season's Greetings 2.milk similarity index 100% rename from presets_milkdrop/Krash - Season's Greetings 2.milk rename to presets/presets_stock/Krash - Season's Greetings 2.milk diff --git a/presets_milkdrop/Krash - Twisting Indecision.milk b/presets/presets_stock/Krash - Twisting Indecision.milk similarity index 100% rename from presets_milkdrop/Krash - Twisting Indecision.milk rename to presets/presets_stock/Krash - Twisting Indecision.milk diff --git a/presets_projectM/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_stock/Krash - War Machine (Shifting Complexity Mix).milk similarity index 100% rename from presets_projectM/Krash - War Machine (Shifting Complexity Mix).milk rename to presets/presets_stock/Krash - War Machine (Shifting Complexity Mix).milk diff --git a/presets_projectM/Krash - Windowframe To Mega Swirl 2.milk b/presets/presets_stock/Krash - Windowframe To Mega Swirl 2.milk similarity index 100% rename from presets_projectM/Krash - Windowframe To Mega Swirl 2.milk rename to presets/presets_stock/Krash - Windowframe To Mega Swirl 2.milk diff --git a/presets_milkdrop/Krash and Fvese - Molten Indecision (Fvese Remix).milk b/presets/presets_stock/Krash and Fvese - Molten Indecision (Fvese Remix).milk similarity index 100% rename from presets_milkdrop/Krash and Fvese - Molten Indecision (Fvese Remix).milk rename to presets/presets_stock/Krash and Fvese - Molten Indecision (Fvese Remix).milk diff --git a/presets_projectM/Krash and Rovastar - Rainbow Orb.milk b/presets/presets_stock/Krash and Rovastar - Rainbow Orb.milk similarity index 100% rename from presets_projectM/Krash and Rovastar - Rainbow Orb.milk rename to presets/presets_stock/Krash and Rovastar - Rainbow Orb.milk diff --git a/presets/presets_stock/M.tga b/presets/presets_stock/M.tga new file mode 100644 index 0000000000..03f4546918 Binary files /dev/null and b/presets/presets_stock/M.tga differ diff --git a/presets_projectM/Mstress & Juppy - Dancer.milk b/presets/presets_stock/Mstress & Juppy - Dancer.milk similarity index 100% rename from presets_projectM/Mstress & Juppy - Dancer.milk rename to presets/presets_stock/Mstress & Juppy - Dancer.milk diff --git a/presets_projectM/Mstress & Juppy - Dancers In The Dark.milk b/presets/presets_stock/Mstress & Juppy - Dancers In The Dark.milk similarity index 100% rename from presets_projectM/Mstress & Juppy - Dancers In The Dark.milk rename to presets/presets_stock/Mstress & Juppy - Dancers In The Dark.milk diff --git a/presets_milkdrop/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk b/presets/presets_stock/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk similarity index 100% rename from presets_milkdrop/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk rename to presets/presets_stock/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk diff --git a/presets_milkdrop/Mstress - Snowing Fiber City.milk b/presets/presets_stock/Mstress - Snowing Fiber City.milk similarity index 100% rename from presets_milkdrop/Mstress - Snowing Fiber City.milk rename to presets/presets_stock/Mstress - Snowing Fiber City.milk diff --git a/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk b/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk new file mode 100644 index 0000000000..d511654efc --- /dev/null +++ b/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www-eos4life-com.milk @@ -0,0 +1,444 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs*4; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.1*0.6-0.05*0.6)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +wave_3_per_point80= +wave_3_per_point81=//fade=min((1-sample)*1.4,1); +wave_3_per_point82=//b=b*fade; +wave_3_per_point83=//g=g*fade; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=ang=ang + sin(time*0.5)*0.1 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14=ob_r = sin(mtime*0.3)*0.5 + 0.5; +per_frame_15=ob_g = sin(mtime*0.3 + 2.1)*0.5 + 0.5; +per_frame_16=ob_b = sin(mtime*0.3 + 4.2)*0.5 + 0.5 +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk b/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk new file mode 100644 index 0000000000..ba1ec9891a --- /dev/null +++ b/presets/presets_stock/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk @@ -0,0 +1,410 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_point1=sample=pow(sample,.85); +wave_3_per_point2= +wave_3_per_point3=c1=6.2831*t1/(1.1-sample); +wave_3_per_point4=c=cos(c1); +wave_3_per_point5=s=sin(c1); +wave_3_per_point6=c2=sqrt(1-sample); +wave_3_per_point7= +wave_3_per_point8=ox=t7-.5*c2*c; +wave_3_per_point9=oy=t8-.625*c2*s; +wave_3_per_point10= +wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point13= +wave_3_per_point14=inv=1/sqr(1.1-sample); +wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point18=fdx=fdx*invMag; +wave_3_per_point19=fdy=fdy*invMag; +wave_3_per_point20= +wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point23=tt=rand(100)/100; +wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_3_per_point26= +wave_3_per_point27=x=x*.55; +wave_3_per_point28=y=(y-.5)*.55+.5; +wave_3_per_point29= +wave_3_per_point30=r=sample; +wave_3_per_point31=g=1-sample; +wave_3_per_point32=b=1; +wave_3_per_point33=a=below(sample,.995); +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=time*0.5; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_stock/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk b/presets/presets_stock/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk new file mode 100644 index 0000000000..d685debc16 --- /dev/null +++ b/presets/presets_stock/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk @@ -0,0 +1,304 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.905900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.924157 +fWaveScale=0.653091 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.800000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=38 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.254862 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_frame1=r=1; +wave_0_per_frame2=g=1; +wave_0_per_frame3=b=1; +wave_0_per_frame4=a=0.1; +wave_0_per_point1= +wave_0_per_point2=y=sample; +wave_0_per_point3=x=value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shape_2_per_frame18= +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.500000 +shapecode_3_b=0.500000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=0.995; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=bass+(zoomin*10)*.001; +per_frame_20=zoomi=above(zoomin,2)+zoomi*.975; +per_frame_21=zval=cos(time*.3)*(above(zoomi,2)); +per_frame_22=zuse=(zval)*.05+1; +per_frame_23=monitor=zoomi; +per_frame_24=zoom=zuse; +per_frame_25= +per_frame_26=//echo_orient=((maat*.5)%4)+1; +per_frame_27= +per_frame_28=//monitor=val; +per_frame_29=r=above(bass,1.3)+r*.95; +per_frame_30=t=below(r,5); +per_frame_31=q1=t*val*.5; +per_frame_32=mv_dx=sin(time)*.5+.5; +per_frame_33=mv_dy=cos(time)*.5+.5; +per_frame_34=ob_r=0; +per_frame_35=ob_g=0; +per_frame_36=ob_b=0; +per_frame_37=ib_r=0; +per_frame_38=ib_g=0; +per_frame_39=ib_b=0; +per_frame_40=ib_a=0.375; +per_frame_41=ob_a=0.475; +per_frame_42=ob_size=bass*.1; +per_frame_43=ib_size=treb*.1; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=1; +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_stock/PieturP - triptrap_(ultimate-trip-mix).milk b/presets/presets_stock/PieturP - triptrap_(ultimate-trip-mix).milk new file mode 100644 index 0000000000..182e886f1c --- /dev/null +++ b/presets/presets_stock/PieturP - triptrap_(ultimate-trip-mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.955900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=48.000000 +mv_dx=0.500000 +mv_dy=0.500000 +mv_l=5.000000 +mv_r=0.013716 +mv_g=0.872347 +mv_b=0.522466 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=1; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=(sin(time)*.5+.5)%2; +per_frame_20=zval=cos(time*.3)*zoomin; +per_frame_21=zuse=(zval)*.05+1; +per_frame_22=monitor=zuse; +per_frame_23=zoom=zuse; +per_frame_24= +per_frame_25=//echo_orient=((maat*.5)%4)+1; +per_frame_26= +per_frame_27=//monitor=val; +per_frame_28=r=above(bass,1.3)+r*.95; +per_frame_29=t=below(r,5); +per_frame_30=q1=t*val*.5; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34= +per_frame_35= +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_stock/Redi Jedi - acid in your brain.milk b/presets/presets_stock/Redi Jedi - acid in your brain.milk new file mode 100644 index 0000000000..a12b95bff2 --- /dev/null +++ b/presets/presets_stock/Redi Jedi - acid in your brain.milk @@ -0,0 +1,324 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=4.480000 +nMotionVectorsY=4.320000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=value1+.5; +wave_1_per_point3=r=sin(q2*.1+sample*3.14)*.5+.5; +wave_1_per_point4=g=cos(q3*.15-sample*3.14)*.5+.5; +wave_1_per_point5=b=sin(q4*.2+(sample-.5)*3.14)*.5+.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.99+vol*.01; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.999+(1-phase)*.001; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33=zoom=1; +per_frame_34= +per_frame_35=bpm=(60/avgbeatrate)*.005; +per_frame_36=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps)*bpm; +per_frame_37=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps)*bpm; +per_frame_38=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps)*bpm; +per_frame_39=monitor=avgvol; +per_frame_40=q1=mtime; +per_frame_41=q2=t1; +per_frame_42=q3=t2; +per_frame_43=q4=t3; +per_frame_44= +per_frame_45=cx=sin(q2*.01)*.5+.5; +per_frame_46=cy=cos(q3*.01)*.5+.5; +per_frame_47=rot=sin(q2*.01-(q3*.01))*15+35; +per_frame_48=mv_a=phase; +per_pixel_1= +per_pixel_2=c=sin(q2*.06); +per_pixel_3=cc=sin(q3*.074-q1*.005); +per_pixel_4=ccc=sin(q4*.0575); +per_pixel_5=cx1=.5+ccc*.3-c*.2; +per_pixel_6=cy1=.5+c*.4-cc*.2; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+c*.4-cc*.1; +per_pixel_24=cy1=.5+cc*.25-ccc*.15; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx - sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy - sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets/presets_stock/Redi Jedi - multiple points of origin, one destination.milk b/presets/presets_stock/Redi Jedi - multiple points of origin, one destination.milk new file mode 100644 index 0000000000..4c39786b5c --- /dev/null +++ b/presets/presets_stock/Redi Jedi - multiple points of origin, one destination.milk @@ -0,0 +1,329 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.999+vol*.001; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.9; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34= +per_frame_35=// This is the version you should use... +per_frame_36=// ----------- start copying ----------- +per_frame_37=hue=(mtime*.01+phase*.5); // change this +per_frame_38=h=6*(hue-int(hue)); +per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +per_frame_44=// ----------- end ---------------- +per_frame_45= +per_frame_46= +per_frame_47=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps); +per_frame_48=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps); +per_frame_49=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps); +per_frame_50=monitor=avgvol; +per_frame_51=q1=mtime; +per_frame_52=q2=t1; +per_frame_53=q3=t2; +per_frame_54=q4=t3; +per_frame_55= +per_frame_56=cx=sin(q2*.1)*.5+.5; +per_frame_57=cy=cos(q3*.1)*.5+.5; +per_frame_58=rot=sin(q2*.01+sin(q3*.001))*10+10; +per_pixel_1= +per_pixel_2=c=sin(q2*.1); +per_pixel_3=cc=sin(q3*.1); +per_pixel_4=ccc=sin(q4*.1); +per_pixel_5=cx1=.5+ccc*.3; +per_pixel_6=cy1=.5+cc*.4; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+cc*.3; +per_pixel_24=cy1=.5+c*.25+ccc*.25; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx + sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy + sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets_projectM/Reenen - phoenix.milk b/presets/presets_stock/Reenen - phoenix.milk similarity index 100% rename from presets_projectM/Reenen - phoenix.milk rename to presets/presets_stock/Reenen - phoenix.milk diff --git a/presets_milkdrop/Rocke - Cold Love (Tei Zwaa).milk b/presets/presets_stock/Rocke - Cold Love (Tei Zwaa).milk similarity index 100% rename from presets_milkdrop/Rocke - Cold Love (Tei Zwaa).milk rename to presets/presets_stock/Rocke - Cold Love (Tei Zwaa).milk diff --git a/presets_milkdrop/Rocke - Personal Comet.milk b/presets/presets_stock/Rocke - Personal Comet.milk similarity index 100% rename from presets_milkdrop/Rocke - Personal Comet.milk rename to presets/presets_stock/Rocke - Personal Comet.milk diff --git a/presets_milkdrop/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk b/presets/presets_stock/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk rename to presets/presets_stock/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk diff --git a/presets_milkdrop/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk b/presets/presets_stock/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk similarity index 100% rename from presets_milkdrop/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk rename to presets/presets_stock/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk diff --git a/presets_milkdrop/Rovastar & Che - Asylum Animations.milk b/presets/presets_stock/Rovastar & Che - Asylum Animations.milk similarity index 100% rename from presets_milkdrop/Rovastar & Che - Asylum Animations.milk rename to presets/presets_stock/Rovastar & Che - Asylum Animations.milk diff --git a/presets/presets_stock/Rovastar & Fvese - Dark Subconscious.milk b/presets/presets_stock/Rovastar & Fvese - Dark Subconscious.milk new file mode 100755 index 0000000000..6e8402997d --- /dev/null +++ b/presets/presets_stock/Rovastar & Fvese - Dark Subconscious.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=2.5 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.5 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=1.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.23 +wave_g=0.2 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0.3 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=0 +mv_b=0 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; +per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),0.25,dx); +per_pixel_1=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); diff --git a/presets_projectM/Rovastar & Fvese - Deadly Flower.milk b/presets/presets_stock/Rovastar & Fvese - Deadly Flower.milk similarity index 100% rename from presets_projectM/Rovastar & Fvese - Deadly Flower.milk rename to presets/presets_stock/Rovastar & Fvese - Deadly Flower.milk diff --git a/presets_milkdrop/Rovastar & Fvese - Mosaic Waves.milk b/presets/presets_stock/Rovastar & Fvese - Mosaic Waves.milk similarity index 100% rename from presets_milkdrop/Rovastar & Fvese - Mosaic Waves.milk rename to presets/presets_stock/Rovastar & Fvese - Mosaic Waves.milk diff --git a/presets_milkdrop/Rovastar & Fvese - Paranormal Static.milk b/presets/presets_stock/Rovastar & Fvese - Paranormal Static.milk similarity index 100% rename from presets_milkdrop/Rovastar & Fvese - Paranormal Static.milk rename to presets/presets_stock/Rovastar & Fvese - Paranormal Static.milk diff --git a/presets_projectM/Rovastar & Fvese - Stranger Minds (Astral Mix).milk b/presets/presets_stock/Rovastar & Fvese - Stranger Minds (Astral Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Fvese - Stranger Minds (Astral Mix).milk rename to presets/presets_stock/Rovastar & Fvese - Stranger Minds (Astral Mix).milk diff --git a/presets_projectM/Rovastar & Fvese - Stranger Minds.milk b/presets/presets_stock/Rovastar & Fvese - Stranger Minds.milk similarity index 100% rename from presets_projectM/Rovastar & Fvese - Stranger Minds.milk rename to presets/presets_stock/Rovastar & Fvese - Stranger Minds.milk diff --git a/presets_milkdrop/Rovastar & Geiss - Approach (Vectrip Mix).milk b/presets/presets_stock/Rovastar & Geiss - Approach (Vectrip Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Approach (Vectrip Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Approach (Vectrip Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk b/presets/presets_stock/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk diff --git a/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk new file mode 100755 index 0000000000..c2728b686f --- /dev/null +++ b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=2 +fGammaAdj=2.994 +fDecay=0.981 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=1 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.634243 +fWaveSmoothing=0.1 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.00496 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.000156 +sx=0.999666 +sy=0.9999 +wave_r=0.55 +wave_g=0.55 +wave_b=0.55 +wave_x=0.5 +wave_y=0.36 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0 +mv_g=0 +mv_b=0.7 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.40*( 0.60*sin(1.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.40*( 0.60*sin(1.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.40*( 0.60*sin(1.714*time) + 0.40*sin(1.011*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); +per_frame_5=oldq8 = q8; +per_frame_6=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=echo_zoom = 1+ q7; +per_frame_12=zoom = 1+q7; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk rename to presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk diff --git a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk b/presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk similarity index 100% rename from presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk rename to presets/presets_stock/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk diff --git a/presets/presets_stock/Rovastar & Geiss - Ice Planet.milk b/presets/presets_stock/Rovastar & Geiss - Ice Planet.milk new file mode 100755 index 0000000000..2bea90559b --- /dev/null +++ b/presets/presets_stock/Rovastar & Geiss - Ice Planet.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=2 +fGammaAdj=1.998 +fDecay=0.96 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.334524 +fWaveScale=1.981 +fWaveSmoothing=0.6 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.064 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.001*pow((bass+bass_att-2),8),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.013*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(q8*0.321)) + (y*2-1)*(0.08+0.15*cos(q8*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; diff --git a/presets_projectM/Rovastar & Geiss - Octoplasm.milk b/presets/presets_stock/Rovastar & Geiss - Octoplasm.milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Octoplasm.milk rename to presets/presets_stock/Rovastar & Geiss - Octoplasm.milk diff --git a/presets_projectM/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk b/presets/presets_stock/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk rename to presets/presets_stock/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk diff --git a/presets_projectM/Rovastar & Geiss - Octotrip.milk b/presets/presets_stock/Rovastar & Geiss - Octotrip.milk similarity index 100% rename from presets_projectM/Rovastar & Geiss - Octotrip.milk rename to presets/presets_stock/Rovastar & Geiss - Octotrip.milk diff --git a/presets_projectM/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_stock/Rovastar & Idiot24-7 - Balk Acid.milk similarity index 100% rename from presets_projectM/Rovastar & Idiot24-7 - Balk Acid.milk rename to presets/presets_stock/Rovastar & Idiot24-7 - Balk Acid.milk diff --git a/presets_milkdrop/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk b/presets/presets_stock/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk similarity index 100% rename from presets_milkdrop/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk rename to presets/presets_stock/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk diff --git a/presets/presets_stock/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk b/presets/presets_stock/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk new file mode 100644 index 0000000000..6d72c4149b --- /dev/null +++ b/presets/presets_stock/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk @@ -0,0 +1,79 @@ +[preset00] +fRating=2 +fGammaAdj=1.28 +fDecay=0.994 +fVideoEchoZoom=1.64463 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.475355 +fWaveSmoothing=0.63 +fWaveParam=-0.14 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=63.504501 +fShader=0 +zoom=0.544958 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.4999 +wave_b=0.56 +wave_x=0.5 +wave_y=0.5 +ob_size=0.4 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.6 +ib_size=0.02 +ib_r=0.51 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r=.5-.3*sin(Time*.33); +per_frame_2=wave_b=.5+.3*sin(time*13); +per_frame_3=wave_g=wave_g+.5*Sin(time*1.14); +per_frame_4=bass_max=max(Bass,bass_att); +per_frame_5=wave_mystery=wave_mystery-.2*(1-bass_max); +per_frame_6=echo_Zoom=echo_zoom-0.1+.20*Sin(time*0.95); +per_frame_7=echo_alpha = if(above(bass,1), if(below(sin(time*0.95),0),echo_alpha-0.2,echo_alpha),echo_alpha); +per_frame_8=ob_a = if(above(bass,1), if(below(sin(time*0.95),0),ob_a-0.3,ob_a),ob_a); +per_frame_9=ib_g = ib_g + 0.49*sin(time*4.16); +per_frame_10=ib_r = ib_r + 0.49*sin(time*5.876); +per_frame_11=ib_b = ib_b + 0.49*sin(time*0.846); +per_frame_12=decay = 1.005 + 0.01*sin(0.953*time); +per_frame_13=decay = if(above(decay,1),1,decay); +per_frame_14=zoomexp=zoomexp+zoomexp*sin(treb); +per_pixel_1=zoom=zoom+0.96*sin(rad) ; +per_pixel_2=rot = rot + (rad-1.4)*1.7*max(0.1*log(sqrt(2)-rad),0.1*rad+min((bass_att-1)/1.5,2)); diff --git a/presets_milkdrop/Rovastar & Illusion - Shifting Sphere.milk b/presets/presets_stock/Rovastar & Illusion - Shifting Sphere.milk similarity index 100% rename from presets_milkdrop/Rovastar & Illusion - Shifting Sphere.milk rename to presets/presets_stock/Rovastar & Illusion - Shifting Sphere.milk diff --git a/presets_milkdrop/Rovastar & Krash - Cerebral Demons.milk b/presets/presets_stock/Rovastar & Krash - Cerebral Demons.milk similarity index 100% rename from presets_milkdrop/Rovastar & Krash - Cerebral Demons.milk rename to presets/presets_stock/Rovastar & Krash - Cerebral Demons.milk diff --git a/presets_projectM/Rovastar & Krash - Flowing Synergy.milk b/presets/presets_stock/Rovastar & Krash - Flowing Synergy.milk similarity index 100% rename from presets_projectM/Rovastar & Krash - Flowing Synergy.milk rename to presets/presets_stock/Rovastar & Krash - Flowing Synergy.milk diff --git a/presets_projectM/Rovastar & Krash - Interwoven (Contra Mix).milk b/presets/presets_stock/Rovastar & Krash - Interwoven (Contra Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Krash - Interwoven (Contra Mix).milk rename to presets/presets_stock/Rovastar & Krash - Interwoven (Contra Mix).milk diff --git a/presets/presets_stock/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk b/presets/presets_stock/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk new file mode 100644 index 0000000000..2bdee7b586 --- /dev/null +++ b/presets/presets_stock/Rovastar & Rocke - Answer-42 (Trippy S- Mix).milk @@ -0,0 +1,68 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.998000 +fDecay=0.996700 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.150351 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.961900 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=0.905287 +wave_r=0.850000 +wave_g=0.450000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.199999 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.100000 +per_frame_1=wave_r = wave_r + 0.15*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.15*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.25*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%10,0); +per_pixel_1=zoom = zoom + (0.1*(1+rad+0.5*bass)); +per_pixel_2=mymovement = sin(sin(1.211*time)+ 0.3*cos(0.887*time)- 0.4*sin(1.453*time)); +per_pixel_3=rot = rot - 0.15*sin(mymovement-ang); diff --git a/presets_projectM/Rovastar & Rocke - Headspin.milk b/presets/presets_stock/Rovastar & Rocke - Headspin.milk similarity index 100% rename from presets_projectM/Rovastar & Rocke - Headspin.milk rename to presets/presets_stock/Rovastar & Rocke - Headspin.milk diff --git a/presets_projectM/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_stock/Rovastar & Rocke - Sugar Spun Sister.milk similarity index 100% rename from presets_projectM/Rovastar & Rocke - Sugar Spun Sister.milk rename to presets/presets_stock/Rovastar & Rocke - Sugar Spun Sister.milk diff --git a/presets/presets_stock/Rovastar & Sperl - Tuxflower.prjm b/presets/presets_stock/Rovastar & Sperl - Tuxflower.prjm new file mode 100755 index 0000000000..e8986ec018 --- /dev/null +++ b/presets/presets_stock/Rovastar & Sperl - Tuxflower.prjm @@ -0,0 +1,269 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_imageURL=Tux.tga +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.150068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.7100000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets_projectM/Rovastar & StudioMusic - More Cherished Desires.milk b/presets/presets_stock/Rovastar & StudioMusic - More Cherished Desires.milk similarity index 100% rename from presets_projectM/Rovastar & StudioMusic - More Cherished Desires.milk rename to presets/presets_stock/Rovastar & StudioMusic - More Cherished Desires.milk diff --git a/presets_projectM/Rovastar & StudioMusic - Twisted Spider Web.milk b/presets/presets_stock/Rovastar & StudioMusic - Twisted Spider Web.milk similarity index 100% rename from presets_projectM/Rovastar & StudioMusic - Twisted Spider Web.milk rename to presets/presets_stock/Rovastar & StudioMusic - Twisted Spider Web.milk diff --git a/presets_projectM/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_stock/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk similarity index 100% rename from presets_projectM/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk rename to presets/presets_stock/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk diff --git a/presets_projectM/Rovastar & Telek - Cosmic Fireworks.milk b/presets/presets_stock/Rovastar & Telek - Cosmic Fireworks.milk similarity index 100% rename from presets_projectM/Rovastar & Telek - Cosmic Fireworks.milk rename to presets/presets_stock/Rovastar & Telek - Cosmic Fireworks.milk diff --git a/presets_milkdrop/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_stock/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk rename to presets/presets_stock/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk diff --git a/presets_projectM/Rovastar & Unchained - Centre Of Gravity.milk b/presets/presets_stock/Rovastar & Unchained - Centre Of Gravity.milk similarity index 100% rename from presets_projectM/Rovastar & Unchained - Centre Of Gravity.milk rename to presets/presets_stock/Rovastar & Unchained - Centre Of Gravity.milk diff --git a/presets_milkdrop/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk b/presets/presets_stock/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk rename to presets/presets_stock/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk diff --git a/presets_milkdrop/Rovastar & Unchained - Oddball World.milk b/presets/presets_stock/Rovastar & Unchained - Oddball World.milk similarity index 100% rename from presets_milkdrop/Rovastar & Unchained - Oddball World.milk rename to presets/presets_stock/Rovastar & Unchained - Oddball World.milk diff --git a/presets/presets_stock/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets/presets_stock/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk new file mode 100755 index 0000000000..120826bf01 --- /dev/null +++ b/presets/presets_stock/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk @@ -0,0 +1,110 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1.006496 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.781664 +fWaveScale=0.590116 +fWaveSmoothing=0.36 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=7.523901 +fShader=0 +zoom=1.009898 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.35 +mv_g=0.35 +mv_b=0.35 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1)); +per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time))); +per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49)); +per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0); +per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10); +per_frame_7=q1=state; +per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10; +per_frame_9=// timed sidon sensor +per_frame_10=// le = signal level; desired average value = 2 +per_frame_11=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_12=pulse=above(le,th); +per_frame_13=// pulsefreq = running average of interval between last 5 pulses +per_frame_14=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_16=lastpulse=if(pulse,time,lastpulse); +per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_19=// hccp = handcicap for th driven by bt +per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_22=beat=band(above(le,th+hccp),btblock); +per_frame_23=btblock=1-above(le,th+hccp); +per_frame_24=lastbeat=if(beat,time,lastbeat); +per_frame_25=beatfreq=if(equal(beatfreq,0),2, +per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_27=// th = threshold +per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_30=th=if(above(th,6),6,th); +per_frame_31=q3=30/fps; +per_frame_32=ccl=ccl+beat; +per_frame_33=minorccl=minorccl+.01*le; +per_frame_34=q4=beat; +per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter); +per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_37=beateven = beatcounter%2; +per_frame_38=q5 = beateven; +per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_40=oldq8 = q8; +per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2; +per_pixel_2=cx = grid; +per_pixel_3=cy = grid; +per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07); +per_pixel_5=rot = 0.01*(1-rad); +per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64)); +per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48)); diff --git a/presets_milkdrop/Rovastar & Unchained - Xen Traffic.milk b/presets/presets_stock/Rovastar & Unchained - Xen Traffic.milk similarity index 100% rename from presets_milkdrop/Rovastar & Unchained - Xen Traffic.milk rename to presets/presets_stock/Rovastar & Unchained - Xen Traffic.milk diff --git a/presets_milkdrop/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk b/presets/presets_stock/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk rename to presets/presets_stock/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk diff --git a/presets/presets_stock/Rovastar & Zylot - Narell's Fever.milk b/presets/presets_stock/Rovastar & Zylot - Narell's Fever.milk new file mode 100755 index 0000000000..539830020d --- /dev/null +++ b/presets/presets_stock/Rovastar & Zylot - Narell's Fever.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.2 +ob_g=0.4 +ob_b=0.22 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.75 +ib_b=0.55 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=3 +mv_dx=0 +mv_dy=0 +mv_l=3.95 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_frame_init_1=beatcounter =0; diff --git a/presets_milkdrop/Rovastar & Zylot - Passion Flower.milk b/presets/presets_stock/Rovastar & Zylot - Passion Flower.milk similarity index 100% rename from presets_milkdrop/Rovastar & Zylot - Passion Flower.milk rename to presets/presets_stock/Rovastar & Zylot - Passion Flower.milk diff --git a/presets_projectM/Rovastar & Zylot - Sea Of Zigrot.milk b/presets/presets_stock/Rovastar & Zylot - Sea Of Zigrot.milk similarity index 100% rename from presets_projectM/Rovastar & Zylot - Sea Of Zigrot.milk rename to presets/presets_stock/Rovastar & Zylot - Sea Of Zigrot.milk diff --git a/presets_milkdrop/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_stock/Rovastar - A Million Miles From Earth (Wormhole Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - A Million Miles From Earth (Wormhole Mix).milk rename to presets/presets_stock/Rovastar - A Million Miles From Earth (Wormhole Mix).milk diff --git a/presets_projectM/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk b/presets/presets_stock/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk similarity index 100% rename from presets_projectM/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk rename to presets/presets_stock/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk diff --git a/presets_projectM/Rovastar - A Million Miles from Earth.milk b/presets/presets_stock/Rovastar - A Million Miles from Earth.milk similarity index 100% rename from presets_projectM/Rovastar - A Million Miles from Earth.milk rename to presets/presets_stock/Rovastar - A Million Miles from Earth.milk diff --git a/presets/presets_stock/Rovastar - Altars Of Harlequin's Maddess.milk b/presets/presets_stock/Rovastar - Altars Of Harlequin's Maddess.milk new file mode 100755 index 0000000000..ebedd045a4 --- /dev/null +++ b/presets/presets_stock/Rovastar - Altars Of Harlequin's Maddess.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.800000 +mv_a=0.000000 +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=mybeat = if(beat,mybeat+1,mybeat); +per_frame_21=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_22=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_23=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_24=oldq7=q7; +per_frame_25=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_26=oldq6=q6; +per_frame_27=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_28=oldq5=q5; +per_frame_29=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_30=oldq4=q4; +per_frame_31=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_32=oldflag = flag; +per_frame_33=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_34=OldRatio = Ratio; +per_frame_35=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_36=oldq3=q3; +per_frame_37=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_38=oldq2=q2; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); +per_frame_init_1=q8=0; diff --git a/presets/presets_stock/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk b/presets/presets_stock/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk new file mode 100755 index 0000000000..7bb7476cb1 --- /dev/null +++ b/presets/presets_stock/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk @@ -0,0 +1,239 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.400000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.200000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.200000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.200000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=ib_r =0; +per_frame_12=ib_g =0; +per_frame_13=ib_b =0; +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_frame_42=solarize = beat;; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.8*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); diff --git a/presets_projectM/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk b/presets/presets_stock/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk rename to presets/presets_stock/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk diff --git a/presets_milkdrop/Rovastar - Altars Of Madness (Boxfresh Mix).milk b/presets/presets_stock/Rovastar - Altars Of Madness (Boxfresh Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness (Boxfresh Mix).milk rename to presets/presets_stock/Rovastar - Altars Of Madness (Boxfresh Mix).milk diff --git a/presets_projectM/Rovastar - Altars Of Madness (Duel Mix).milk b/presets/presets_stock/Rovastar - Altars Of Madness (Duel Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Madness (Duel Mix).milk rename to presets/presets_stock/Rovastar - Altars Of Madness (Duel Mix).milk diff --git a/presets_projectM/Rovastar - Altars Of Madness (Surealist Mix).milk b/presets/presets_stock/Rovastar - Altars Of Madness (Surealist Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Madness (Surealist Mix).milk rename to presets/presets_stock/Rovastar - Altars Of Madness (Surealist Mix).milk diff --git a/presets/presets_stock/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk b/presets/presets_stock/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk new file mode 100755 index 0000000000..16d2ec70fb --- /dev/null +++ b/presets/presets_stock/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=27.154621 +fWaveScale=0.982837 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(2.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*2.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*2.465); +per_frame_7=ib_a =1; +per_frame_8=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_9=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_10=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_11=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_12=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_13=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_14=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_15=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_16=lastbeat = if(beat,time,lastbeat); +per_frame_17=countertime = if(beat,time,countertime); +per_frame_18=counter =-1*pow(min((time-countertime-1.5),0),9); +per_frame_19=wave_a = beat; +per_frame_20=wave_x =0.2+(0.01*rand(60))*beat; +per_frame_21=ib_r=wave_g; +per_frame_22=ib_b= wave_r; +per_frame_23=ib_g = wave_b; +per_frame_24=mv_a = 1+beat; +per_frame_25=q2 = 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)); +per_frame_26=monitor = q2; +per_pixel_1=dx=dx+q2*0.01*sin((y-0.5)*96)+q2*0.01*sin((y-0.5)*128); +per_pixel_2=dy=dy+q2*0.001*cos((x-0.5)*128)+q2*0.001*cos((x-0.5)*96); +per_frame_init_1=decay=0.1; diff --git a/presets_milkdrop/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk b/presets/presets_stock/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk similarity index 100% rename from presets_milkdrop/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk rename to presets/presets_stock/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk diff --git a/presets_projectM/Rovastar - Altars Of Madness.milk b/presets/presets_stock/Rovastar - Altars Of Madness.milk similarity index 100% rename from presets_projectM/Rovastar - Altars Of Madness.milk rename to presets/presets_stock/Rovastar - Altars Of Madness.milk diff --git a/presets_projectM/Rovastar - Attacking Freedom.milk b/presets/presets_stock/Rovastar - Attacking Freedom.milk similarity index 100% rename from presets_projectM/Rovastar - Attacking Freedom.milk rename to presets/presets_stock/Rovastar - Attacking Freedom.milk diff --git a/presets_projectM/Rovastar - Bellanova (New Wave Mix).milk b/presets/presets_stock/Rovastar - Bellanova (New Wave Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Bellanova (New Wave Mix).milk rename to presets/presets_stock/Rovastar - Bellanova (New Wave Mix).milk diff --git a/presets_milkdrop/Rovastar - Biohazard Warning.milk b/presets/presets_stock/Rovastar - Biohazard Warning.milk similarity index 100% rename from presets_milkdrop/Rovastar - Biohazard Warning.milk rename to presets/presets_stock/Rovastar - Biohazard Warning.milk diff --git a/presets_projectM/Rovastar - Chapel Of Ghouls.milk b/presets/presets_stock/Rovastar - Chapel Of Ghouls.milk similarity index 100% rename from presets_projectM/Rovastar - Chapel Of Ghouls.milk rename to presets/presets_stock/Rovastar - Chapel Of Ghouls.milk diff --git a/presets_milkdrop/Rovastar - Chemical Spirituality.milk b/presets/presets_stock/Rovastar - Chemical Spirituality.milk similarity index 100% rename from presets_milkdrop/Rovastar - Chemical Spirituality.milk rename to presets/presets_stock/Rovastar - Chemical Spirituality.milk diff --git a/presets_milkdrop/Rovastar - Clouded Judgement 3.milk b/presets/presets_stock/Rovastar - Clouded Judgement 3.milk similarity index 100% rename from presets_milkdrop/Rovastar - Clouded Judgement 3.milk rename to presets/presets_stock/Rovastar - Clouded Judgement 3.milk diff --git a/presets_milkdrop/Rovastar - Cosmic Echoes 1.milk b/presets/presets_stock/Rovastar - Cosmic Echoes 1.milk similarity index 100% rename from presets_milkdrop/Rovastar - Cosmic Echoes 1.milk rename to presets/presets_stock/Rovastar - Cosmic Echoes 1.milk diff --git a/presets_milkdrop/Rovastar - Cosmic Echoes 2.milk b/presets/presets_stock/Rovastar - Cosmic Echoes 2.milk similarity index 100% rename from presets_milkdrop/Rovastar - Cosmic Echoes 2.milk rename to presets/presets_stock/Rovastar - Cosmic Echoes 2.milk diff --git a/presets_milkdrop/Rovastar - Cosmic Havoc.milk b/presets/presets_stock/Rovastar - Cosmic Havoc.milk similarity index 100% rename from presets_milkdrop/Rovastar - Cosmic Havoc.milk rename to presets/presets_stock/Rovastar - Cosmic Havoc.milk diff --git a/presets_projectM/Rovastar - Cosmic Mosaic (Active Mix).milk b/presets/presets_stock/Rovastar - Cosmic Mosaic (Active Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Cosmic Mosaic (Active Mix).milk rename to presets/presets_stock/Rovastar - Cosmic Mosaic (Active Mix).milk diff --git a/presets/presets_stock/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk b/presets/presets_stock/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk new file mode 100755 index 0000000000..a3e725c67c --- /dev/null +++ b/presets/presets_stock/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=100.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.460000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.050000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = 0.1*q7+time*4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_0_per_frame10=rad =0.2+q7*0.1; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang =1+(0.1*q7)+ time*4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_1_per_frame10=rad = 0.2+0.1*q7; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.200000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = 0.3333+ (0.1*q7)+time*4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_2_per_frame10=rad = 0.2+q7*0.1; +per_frame_init_1=oldq8 =0; +per_frame_init_2=q8=0; +per_frame_1=warp=0; +per_frame_2=mv_r = mv_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_3=mv_g = mv_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_4=mv_b = mv_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_5=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=ob_a = bnot(beat); +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=q5_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_23=q6_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=q5 = 1-abs(4*q5_residual); +per_frame_28=q6 = 1-abs(4*q5_residual); +per_frame_29=wave_a =0; +per_frame_30=zoom = 1000; +per_frame_31=monitor = q8; +per_frame_32=q7= 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_33=dx = 0.5; +per_frame_34=dy =0.5; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = q5/(dist+0.4); +per_pixel_6=dx = dx+mult*sin(ang2-1.5); +per_pixel_7=dy = dy+mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = q6/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.1*rad*q7; +per_pixel_16=zoom = 1.01 + rad*0.15*q7 diff --git a/presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Mix).milk b/presets/presets_stock/Rovastar - Dark Ritual (Star Of Destiny Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Dark Ritual (Star Of Destiny Mix).milk rename to presets/presets_stock/Rovastar - Dark Ritual (Star Of Destiny Mix).milk diff --git a/presets_projectM/Rovastar - Decreasing Dreams (Extended Movement Mix).milk b/presets/presets_stock/Rovastar - Decreasing Dreams (Extended Movement Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Decreasing Dreams (Extended Movement Mix).milk rename to presets/presets_stock/Rovastar - Decreasing Dreams (Extended Movement Mix).milk diff --git a/presets_milkdrop/Rovastar - Dreamcatcher.milk b/presets/presets_stock/Rovastar - Dreamcatcher.milk similarity index 100% rename from presets_milkdrop/Rovastar - Dreamcatcher.milk rename to presets/presets_stock/Rovastar - Dreamcatcher.milk diff --git a/presets_projectM/Rovastar - Explosive Minds.milk b/presets/presets_stock/Rovastar - Explosive Minds.milk similarity index 100% rename from presets_projectM/Rovastar - Explosive Minds.milk rename to presets/presets_stock/Rovastar - Explosive Minds.milk diff --git a/presets_projectM/Rovastar - Forgotten Moon.milk b/presets/presets_stock/Rovastar - Forgotten Moon.milk similarity index 100% rename from presets_projectM/Rovastar - Forgotten Moon.milk rename to presets/presets_stock/Rovastar - Forgotten Moon.milk diff --git a/presets/presets_stock/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_stock/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk new file mode 100644 index 0000000000..9673520936 --- /dev/null +++ b/presets/presets_stock/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.150375 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5 + 0.05*sin(q1*0.456); +shape_0_per_frame2=y = 0.5 + 0.05*sin(q1*0.56); +shape_0_per_frame3=tex_zoom = tex_zoom + 0.5*sin(q1*0.345); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=wave_a =0; +per_frame_2=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_3=movement = if(above(movement,10000), 0, movement); +per_frame_4=ob_b = q4+0.25*sin(movement*3.816); +per_frame_5=ob_g = q4+0.25*sin(movement*0.744); +per_frame_6=ob_r = q4+0.25*sin(movement*0.707); +per_frame_7=wrap = above(bass+bass_att,3); +per_frame_8=decay=1; +per_frame_9=rot=0; +per_frame_10=zoom =0.98; +per_frame_11=mv_r = 0; +per_frame_12=mv_g = 0; +per_frame_13=mv_b =0; +per_frame_14=mv_dy = 0.03*sin(movement*0.34); +per_frame_15=mv_dx = 0.035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_frame_16=warp=0; +per_frame_17=dx =0.01*sin(movement*5); +per_frame_18=dy =0.0005*(bass+bass_att); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx =dx+ 2*(2*myx*myy); +per_pixel_4=dy =dy+ 2*((myy*myy) - (myx*myx)); +per_pixel_5= diff --git a/presets/presets_stock/Rovastar - Fractopia (Galaxy Swirl Mix).milk b/presets/presets_stock/Rovastar - Fractopia (Galaxy Swirl Mix).milk new file mode 100644 index 0000000000..a6d66b41f9 --- /dev/null +++ b/presets/presets_stock/Rovastar - Fractopia (Galaxy Swirl Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.600000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=wave_x = 1-(xpos + 0.5); +per_frame_4=wave_y = ypos + 0.5; +per_frame_5=mv_r = 0.5 + 0.499*(0.60*sin(3.980*time) + 0.40*sin(1.047*time) ); +per_frame_6=mv_g = 0.5+ 0.499*(0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_7=mv_b = 0.5 + 0.499*(0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_8=q1 = (x_pos+0.5); +per_frame_9=q2 = 1- (ypos+0.5); +per_frame_10=wave_a =0; +per_frame_11=warp=0; +per_frame_12=zoom =1; +per_frame_13=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_14=movement = if(above(movement,10000), 0, movement); +per_frame_15=rot =-0.04+ 0.01*(sin(movement*0.696)+cos(movement*0.463)+sin(movement*0.365)); +per_frame_16=cx = 0 + 0.1*(sin(movement*0.247)+cos(movement*0.373)+sin(movement*0.187)); +per_frame_17=cy = 0 + 0.1*(sin(movement*0.317)+cos(movement*0.209)+sin(movement*0.109)); +per_frame_18=ob_b = q4+0.25*sin(movement*3.816); +per_frame_19=ob_g = q4+0.25*sin(movement*0.744); +per_frame_20=ob_r = q4+0.25*sin(movement*0.707); +per_frame_21=wrap = below(bass+bass_att,3); +per_frame_22=zoom = 0.99 + 0.0035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx = 2*(2*myx*myy); +per_pixel_4=dy = 2*((myy*myy) - (myx*myx)); diff --git a/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix).milk new file mode 100644 index 0000000000..31ede31cd6 --- /dev/null +++ b/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix).milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.537415 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.725085 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk b/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk new file mode 100644 index 0000000000..11009a45e4 --- /dev/null +++ b/presets/presets_stock/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk @@ -0,0 +1,420 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001273 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.075000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=//axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=//yp=yq; +wave_0_per_point28=//zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=//x=xs+0.5+q4; +wave_0_per_point49=//y=ys+0.5+q5; +wave_0_per_point50=x=xs+q4; +wave_0_per_point51=y=ys+q5; +wave_0_per_point52= +wave_0_per_point53=//r=1-q1; +wave_0_per_point54=//g=1-q2; +wave_0_per_point55=//b=1-q3; +wave_0_per_point56= +wave_0_per_point57=n2=abs((sample*6.283)-3.1415); +wave_0_per_point58= +wave_0_per_point59=r=sin(n2+time)*0.5+0.5; +wave_0_per_point60=g=sin(n2+2.1+time)*0.5+0.5; +wave_0_per_point61=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=basstime=basstime+(bass*bass); +wave_1_per_frame2=t1=basstime*0.06; +wave_1_per_point1=//plot x,y,z to point on circle +wave_1_per_point2=smp=sample*6.283; +wave_1_per_point3=xp=sin(smp )*0.1; +wave_1_per_point4=yp=cos(smp )*0.1; +wave_1_per_point5=zp=0; +wave_1_per_point6= +wave_1_per_point7= +wave_1_per_point8=//alter shape; +wave_1_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_1_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point12=xp=xq; +wave_1_per_point13=zp=zq; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=//rotate on y axis; +wave_1_per_point17=angy=t1*0.1; +wave_1_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point20=xp=xq; +wave_1_per_point21=zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate on x axis +wave_1_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_1_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=//rotate on y axis again +wave_1_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_1_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point34=xp=xq; +wave_1_per_point35=zp=zq; +wave_1_per_point36= +wave_1_per_point37=//stretch y axis to compensate for aspect ratio +wave_1_per_point38=yp=yp*1.2; +wave_1_per_point39= +wave_1_per_point40=//push forward into viewpace +wave_1_per_point41=zp=zp+2.1; +wave_1_per_point42= +wave_1_per_point43=//project x,y,z into screenspace +wave_1_per_point44=xs=xp/zp; +wave_1_per_point45=ys=yp/zp; +wave_1_per_point46= +wave_1_per_point47=//center 0,0 in middle of screen +wave_1_per_point48=//x=xs+0.5+q4; +wave_1_per_point49=//y=ys+0.5+q5; +wave_1_per_point50=x=xs+q4; +wave_1_per_point51=y=ys+q5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=xs=sin(sample*6.28); +wave_2_per_point2=ys=cos(sample*6.28); +wave_2_per_point3=xs=xs*0.7 + 0.5; +wave_2_per_point4=ys=ys*0.7 + 0.5; +wave_2_per_point5=xs=min(xs,0.958); +wave_2_per_point6=xs=max(xs,0.042); +wave_2_per_point7=ys=min(ys,0.988); +wave_2_per_point8=ys=max(ys,0.012); +wave_2_per_point9=x=xs-0.02;y=ys; +wave_2_per_point10= +wave_2_per_point11=n2=abs((sample*6.283)-3.1415); +wave_2_per_point12= +wave_2_per_point13=r=sin(n2+time)*0.5+0.5; +wave_2_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_2_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.247309 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=6.283185 +shapecode_0_tex_zoom=33.803761 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.010000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=xs+q4; +shape_0_per_frame2=y=ys+q5; +shape_0_per_frame3=tex_ang=sin(time)*6.28; +shape_0_per_frame4=//rad=.166+(treb/100); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.756120 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.567128 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_ang=0.001 +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.153398 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=xs+q4; +shape_2_per_frame2=y=ys+q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=//wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=//wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=//wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37=q4=xpos +0.5; +per_frame_38=q5=1-(ypos + 0.5); +per_frame_39= +per_frame_40=wave_a=0; +per_frame_41=//q2 = 1-(ypos + 0.5); +per_frame_42=//q1 = 0.5; +per_frame_43=//q2=0.5; +per_frame_44=ob_r = 1-wave_g; +per_frame_45=ob_b = 1-wave_r; +per_frame_46=ob_g = 1-wave_b; +per_frame_47= +per_frame_48=monitor = wave_y; +per_frame_49=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_50=movement = if(above(movement,10000), 0, movement); +per_frame_51=rot =1*sin(movement); +per_frame_52=cx = wave_x; +per_frame_53=cy = y_pos+0.5; +per_frame_54= +per_frame_55=q8 = movement; +per_frame_56=wrap=above(sin(time*200),0); +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets_projectM/Rovastar - Frozen Rapture .milk b/presets/presets_stock/Rovastar - Frozen Rapture .milk similarity index 100% rename from presets_projectM/Rovastar - Frozen Rapture .milk rename to presets/presets_stock/Rovastar - Frozen Rapture .milk diff --git a/presets_projectM/Rovastar - Future Speakers.milk b/presets/presets_stock/Rovastar - Future Speakers.milk similarity index 100% rename from presets_projectM/Rovastar - Future Speakers.milk rename to presets/presets_stock/Rovastar - Future Speakers.milk diff --git a/presets_milkdrop/Rovastar - Halcyon Dreams 3.milk b/presets/presets_stock/Rovastar - Halcyon Dreams 3.milk similarity index 100% rename from presets_milkdrop/Rovastar - Halcyon Dreams 3.milk rename to presets/presets_stock/Rovastar - Halcyon Dreams 3.milk diff --git a/presets_projectM/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk b/presets/presets_stock/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk rename to presets/presets_stock/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk diff --git a/presets/presets_stock/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk b/presets/presets_stock/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk new file mode 100755 index 0000000000..4e20dec91d --- /dev/null +++ b/presets/presets_stock/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.996546 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.1*sin(time*0.542); +per_frame_5=cy = cy + 0.1*sin(time*0.753); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.01+abs(0.01*sin(0.1*rand(1000))); +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*3.934); +per_frame_25=ib_g = ib_g + 0.5*sin(time*1.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*1.431); +per_pixel_1=box=abs(x*2-sin(q3))%2 + abs(y*2+sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.95); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0); diff --git a/presets_projectM/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk b/presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk rename to presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk b/presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk rename to presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 1.milk b/presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 1.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 1.milk rename to presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 1.milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 2.milk b/presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 2.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 2.milk rename to presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 2.milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 3.milk b/presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 3.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Dynamic Fractal 3.milk rename to presets/presets_stock/Rovastar - Harlequin's Dynamic Fractal 3.milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Fractal Encounter 2.milk b/presets/presets_stock/Rovastar - Harlequin's Fractal Encounter 2.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Fractal Encounter 2.milk rename to presets/presets_stock/Rovastar - Harlequin's Fractal Encounter 2.milk diff --git a/presets_projectM/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_stock/Rovastar - Harlequin's Fractal Encounter.milk similarity index 100% rename from presets_projectM/Rovastar - Harlequin's Fractal Encounter.milk rename to presets/presets_stock/Rovastar - Harlequin's Fractal Encounter.milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Spirit (Twisted Mix).milk b/presets/presets_stock/Rovastar - Harlequin's Spirit (Twisted Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Spirit (Twisted Mix).milk rename to presets/presets_stock/Rovastar - Harlequin's Spirit (Twisted Mix).milk diff --git a/presets_milkdrop/Rovastar - Harlequin's Spirit.milk b/presets/presets_stock/Rovastar - Harlequin's Spirit.milk similarity index 100% rename from presets_milkdrop/Rovastar - Harlequin's Spirit.milk rename to presets/presets_stock/Rovastar - Harlequin's Spirit.milk diff --git a/presets_projectM/Rovastar - Hyperspace (Frozen Rapture Mix).milk b/presets/presets_stock/Rovastar - Hyperspace (Frozen Rapture Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Hyperspace (Frozen Rapture Mix).milk rename to presets/presets_stock/Rovastar - Hyperspace (Frozen Rapture Mix).milk diff --git a/presets_milkdrop/Rovastar - Hyperspace (Hyper Speed Mix).milk b/presets/presets_stock/Rovastar - Hyperspace (Hyper Speed Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Hyperspace (Hyper Speed Mix).milk rename to presets/presets_stock/Rovastar - Hyperspace (Hyper Speed Mix).milk diff --git a/presets_projectM/Rovastar - Hyperspace.milk b/presets/presets_stock/Rovastar - Hyperspace.milk similarity index 100% rename from presets_projectM/Rovastar - Hyperspace.milk rename to presets/presets_stock/Rovastar - Hyperspace.milk diff --git a/presets_projectM/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk b/presets/presets_stock/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk rename to presets/presets_stock/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk diff --git a/presets/presets_stock/Rovastar - Inner Thoughts (Distant Memories Mix).milk b/presets/presets_stock/Rovastar - Inner Thoughts (Distant Memories Mix).milk new file mode 100755 index 0000000000..3b706ea678 --- /dev/null +++ b/presets/presets_stock/Rovastar - Inner Thoughts (Distant Memories Mix).milk @@ -0,0 +1,259 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.05*sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.1*sin(time); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.449770 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.15*sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.2*sin(time);; +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_19=//q7 =0; +per_frame_20=decay =0.1; +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets/presets_stock/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk b/presets/presets_stock/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk new file mode 100755 index 0000000000..14e251c554 --- /dev/null +++ b/presets/presets_stock/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets_projectM/Rovastar - Inner Thoughts (Strange Cargo Mix).milk b/presets/presets_stock/Rovastar - Inner Thoughts (Strange Cargo Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Inner Thoughts (Strange Cargo Mix).milk rename to presets/presets_stock/Rovastar - Inner Thoughts (Strange Cargo Mix).milk diff --git a/presets_projectM/Rovastar - Kalideostars (Altars Of Madness MIx).milk b/presets/presets_stock/Rovastar - Kalideostars (Altars Of Madness MIx).milk similarity index 100% rename from presets_projectM/Rovastar - Kalideostars (Altars Of Madness MIx).milk rename to presets/presets_stock/Rovastar - Kalideostars (Altars Of Madness MIx).milk diff --git a/presets_projectM/Rovastar - Kalideostars (Round Round Mix).milk b/presets/presets_stock/Rovastar - Kalideostars (Round Round Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Kalideostars (Round Round Mix).milk rename to presets/presets_stock/Rovastar - Kalideostars (Round Round Mix).milk diff --git a/presets_projectM/Rovastar - Kalideostars.milk b/presets/presets_stock/Rovastar - Kalideostars.milk similarity index 100% rename from presets_projectM/Rovastar - Kalideostars.milk rename to presets/presets_stock/Rovastar - Kalideostars.milk diff --git a/presets_milkdrop/Rovastar - LabFunk.milk b/presets/presets_stock/Rovastar - LabFunk.milk similarity index 100% rename from presets_milkdrop/Rovastar - LabFunk.milk rename to presets/presets_stock/Rovastar - LabFunk.milk diff --git a/presets_milkdrop/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk b/presets/presets_stock/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk similarity index 100% rename from presets_milkdrop/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk rename to presets/presets_stock/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk diff --git a/presets_projectM/Rovastar - Magic Carpet.milk b/presets/presets_stock/Rovastar - Magic Carpet.milk similarity index 100% rename from presets_projectM/Rovastar - Magic Carpet.milk rename to presets/presets_stock/Rovastar - Magic Carpet.milk diff --git a/presets/presets_stock/Rovastar - Mosaics Of Ages.milk b/presets/presets_stock/Rovastar - Mosaics Of Ages.milk new file mode 100755 index 0000000000..006b1a6f8e --- /dev/null +++ b/presets/presets_stock/Rovastar - Mosaics Of Ages.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=9.599999 +nMotionVectorsY=9.000000 +mv_dx=-0.220000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.02; +per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_7=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_8=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_9=dx = dx -0.008*sin(time*0.23); +per_frame_10=dy = dy - 0.008*sin(time*0.2); +per_frame_11= +per_frame_12=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_13=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_14=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_17=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_20=lastbeat = if(beat,time,lastbeat); +per_frame_21=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_22=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_23=beateven = beatcounter%2; +per_frame_24=//dx = dx + beateven*0.01; +per_frame_25=q2 = beateven; +per_pixel_1=qx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=qy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=box=(1-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_4=box = 3*qy+3*qx; +per_pixel_5=q1 = 8.05+(sin(x+0.137*time)-cos(y+0.213*time)); +per_pixel_6=zoom = if(above(box,1.5),q1*.1,zoom); +per_pixel_7=rot = if(above(box,1.5),1*sin(0.385*time),rot); +per_pixel_8=cx= q2*(0&(x*4-0.5))*0.25+0.05; +per_pixel_9=cy= q2*(0&(y*4-0.5))*0.25+0.05; diff --git a/presets_projectM/Rovastar - Multiverse Starfield 1.milk b/presets/presets_stock/Rovastar - Multiverse Starfield 1.milk similarity index 100% rename from presets_projectM/Rovastar - Multiverse Starfield 1.milk rename to presets/presets_stock/Rovastar - Multiverse Starfield 1.milk diff --git a/presets_projectM/Rovastar - Multiverse Starfield 3.milk b/presets/presets_stock/Rovastar - Multiverse Starfield 3.milk similarity index 100% rename from presets_projectM/Rovastar - Multiverse Starfield 3.milk rename to presets/presets_stock/Rovastar - Multiverse Starfield 3.milk diff --git a/presets_milkdrop/Rovastar - Omnipresence Resurrection (Raw Mix).milk b/presets/presets_stock/Rovastar - Omnipresence Resurrection (Raw Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Omnipresence Resurrection (Raw Mix).milk rename to presets/presets_stock/Rovastar - Omnipresence Resurrection (Raw Mix).milk diff --git a/presets_projectM/Rovastar - Omnipresence Resurrection.milk b/presets/presets_stock/Rovastar - Omnipresence Resurrection.milk similarity index 100% rename from presets_projectM/Rovastar - Omnipresence Resurrection.milk rename to presets/presets_stock/Rovastar - Omnipresence Resurrection.milk diff --git a/presets_milkdrop/Rovastar - Oozing Resistance.milk b/presets/presets_stock/Rovastar - Oozing Resistance.milk similarity index 100% rename from presets_milkdrop/Rovastar - Oozing Resistance.milk rename to presets/presets_stock/Rovastar - Oozing Resistance.milk diff --git a/presets_projectM/Rovastar - Pandora's Volcano.milk b/presets/presets_stock/Rovastar - Pandora's Volcano.milk similarity index 100% rename from presets_projectM/Rovastar - Pandora's Volcano.milk rename to presets/presets_stock/Rovastar - Pandora's Volcano.milk diff --git a/presets/presets_stock/Rovastar - Parallel Universe.milk b/presets/presets_stock/Rovastar - Parallel Universe.milk new file mode 100755 index 0000000000..a1c6dd2035 --- /dev/null +++ b/presets/presets_stock/Rovastar - Parallel Universe.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.032378 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.045000 +wave_y=0.940000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.400000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5+0.5*sin(time); +per_frame_2=wave_r = 0.5+0.5*sin(time); +per_frame_3=xwave_a = 0; +per_frame_4=ib_b = 0.5+0.3*sin(time*2.314); +per_frame_5=ib_r = 0.7+0.3*sin(time*1.867); +per_frame_6=q8 = if(above(bass,1.2),2*bass,0.5); +per_frame_7=q7 = if(above(bass_att,1.2),2*bass_att,0.5); +per_frame_8=q6 = if(above(bass+bass_att,2.3),bass+bass_att,0.5); +per_frame_9=warp =0; +per_frame_10=q5 = if(above(treb+treb_att,2.8),1,0); +per_frame_11=monitor = q5; +per_frame_12=ib_g = q5; +per_pixel_1=myx = x-0.5; +per_pixel_2=myy = y-0.5; +per_pixel_3=q1 =0.1*sqrt(x*x+y*y); +per_pixel_4=q1 = 0.05*(x+y); +per_pixel_5=dy = q1*abs(sin(50*bass)); +per_pixel_6=dx = q1*abs(sin(50*bass_att)); +per_pixel_7=dy = 0.2*q1*q6; +per_pixel_8=dx=0.2*q1*q6; diff --git a/presets_projectM/Rovastar - Sea Shells.milk b/presets/presets_stock/Rovastar - Sea Shells.milk similarity index 100% rename from presets_projectM/Rovastar - Sea Shells.milk rename to presets/presets_stock/Rovastar - Sea Shells.milk diff --git a/presets_milkdrop/Rovastar - Snapshot Of Space.milk b/presets/presets_stock/Rovastar - Snapshot Of Space.milk similarity index 100% rename from presets_milkdrop/Rovastar - Snapshot Of Space.milk rename to presets/presets_stock/Rovastar - Snapshot Of Space.milk diff --git a/presets_projectM/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_stock/Rovastar - Solarized Space (Space DNA Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Solarized Space (Space DNA Mix).milk rename to presets/presets_stock/Rovastar - Solarized Space (Space DNA Mix).milk diff --git a/presets_projectM/Rovastar - Solarized Space.milk b/presets/presets_stock/Rovastar - Solarized Space.milk similarity index 100% rename from presets_projectM/Rovastar - Solarized Space.milk rename to presets/presets_stock/Rovastar - Solarized Space.milk diff --git a/presets_projectM/Rovastar - Space (Twisted Dimension Mix).milk b/presets/presets_stock/Rovastar - Space (Twisted Dimension Mix).milk similarity index 100% rename from presets_projectM/Rovastar - Space (Twisted Dimension Mix).milk rename to presets/presets_stock/Rovastar - Space (Twisted Dimension Mix).milk diff --git a/presets_projectM/Rovastar - Space.milk b/presets/presets_stock/Rovastar - Space.milk similarity index 100% rename from presets_projectM/Rovastar - Space.milk rename to presets/presets_stock/Rovastar - Space.milk diff --git a/presets_milkdrop/Rovastar - Starquake (Sunquake Mix).milk b/presets/presets_stock/Rovastar - Starquake (Sunquake Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Starquake (Sunquake Mix).milk rename to presets/presets_stock/Rovastar - Starquake (Sunquake Mix).milk diff --git a/presets_projectM/Rovastar - The Awakening.milk b/presets/presets_stock/Rovastar - The Awakening.milk similarity index 100% rename from presets_projectM/Rovastar - The Awakening.milk rename to presets/presets_stock/Rovastar - The Awakening.milk diff --git a/presets_projectM/Rovastar - The Chaos Of Colours (Drifting Mix).milk b/presets/presets_stock/Rovastar - The Chaos Of Colours (Drifting Mix).milk similarity index 100% rename from presets_projectM/Rovastar - The Chaos Of Colours (Drifting Mix).milk rename to presets/presets_stock/Rovastar - The Chaos Of Colours (Drifting Mix).milk diff --git a/presets_projectM/Rovastar - The Chaos Of Colours.milk b/presets/presets_stock/Rovastar - The Chaos Of Colours.milk similarity index 100% rename from presets_projectM/Rovastar - The Chaos Of Colours.milk rename to presets/presets_stock/Rovastar - The Chaos Of Colours.milk diff --git a/presets_projectM/Rovastar - The Shroomery.milk b/presets/presets_stock/Rovastar - The Shroomery.milk similarity index 100% rename from presets_projectM/Rovastar - The Shroomery.milk rename to presets/presets_stock/Rovastar - The Shroomery.milk diff --git a/presets_projectM/Rovastar - Timeless Voyage.milk b/presets/presets_stock/Rovastar - Timeless Voyage.milk similarity index 100% rename from presets_projectM/Rovastar - Timeless Voyage.milk rename to presets/presets_stock/Rovastar - Timeless Voyage.milk diff --git a/presets_milkdrop/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk b/presets/presets_stock/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk similarity index 100% rename from presets_milkdrop/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk rename to presets/presets_stock/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk diff --git a/presets/presets_stock/Rovastar - Tripmaker.milk b/presets/presets_stock/Rovastar - Tripmaker.milk new file mode 100644 index 0000000000..7838000107 --- /dev/null +++ b/presets/presets_stock/Rovastar - Tripmaker.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets_projectM/Rovastar - VooV's Movement (After Dark Mix).milk b/presets/presets_stock/Rovastar - VooV's Movement (After Dark Mix).milk similarity index 100% rename from presets_projectM/Rovastar - VooV's Movement (After Dark Mix).milk rename to presets/presets_stock/Rovastar - VooV's Movement (After Dark Mix).milk diff --git a/presets_milkdrop/Rovastar - VooV's Movement.milk b/presets/presets_stock/Rovastar - VooV's Movement.milk similarity index 100% rename from presets_milkdrop/Rovastar - VooV's Movement.milk rename to presets/presets_stock/Rovastar - VooV's Movement.milk diff --git a/presets_milkdrop/Rovastar - twisted bytes.milk b/presets/presets_stock/Rovastar - twisted bytes.milk similarity index 100% rename from presets_milkdrop/Rovastar - twisted bytes.milk rename to presets/presets_stock/Rovastar - twisted bytes.milk diff --git a/presets_projectM/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk b/presets/presets_stock/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk similarity index 100% rename from presets_projectM/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk rename to presets/presets_stock/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk diff --git a/presets_projectM/Rovastar and Unchained - Braindance Visions.milk b/presets/presets_stock/Rovastar and Unchained - Braindance Visions.milk similarity index 100% rename from presets_projectM/Rovastar and Unchained - Braindance Visions.milk rename to presets/presets_stock/Rovastar and Unchained - Braindance Visions.milk diff --git a/presets_milkdrop/Rovastar and Unchained - Life After Pie (Remix).milk b/presets/presets_stock/Rovastar and Unchained - Life After Pie (Remix).milk similarity index 100% rename from presets_milkdrop/Rovastar and Unchained - Life After Pie (Remix).milk rename to presets/presets_stock/Rovastar and Unchained - Life After Pie (Remix).milk diff --git a/presets_projectM/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk b/presets/presets_stock/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk similarity index 100% rename from presets_projectM/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk rename to presets/presets_stock/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk diff --git a/presets_projectM/Rozzor & Aderrasi - Canon.milk b/presets/presets_stock/Rozzor & Aderrasi - Canon.milk similarity index 100% rename from presets_projectM/Rozzor & Aderrasi - Canon.milk rename to presets/presets_stock/Rozzor & Aderrasi - Canon.milk diff --git a/presets/presets_stock/Rozzor & Che - Inside The House Of Nil.milk b/presets/presets_stock/Rozzor & Che - Inside The House Of Nil.milk new file mode 100755 index 0000000000..1f95a6ad4f --- /dev/null +++ b/presets/presets_stock/Rozzor & Che - Inside The House Of Nil.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.175613 +fWaveSmoothing=0.306000 +fWaveParam=-0.460000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.190000 +ob_g=0.120000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=7.679999 +nMotionVectorsY=11.519997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.340000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r = - abs(cos(time)); +per_frame_6=ib_g = sin(time); +per_frame_7=ib_b= cos(time)*sign(cos(time)); +per_frame_8=mv_r = abs(sin(time)); +per_frame_9=mv_g = sin(slowtime) ; +per_frame_10=mv_b= cos(slowtime)*sign(cos(slowtime)); +per_frame_11=redneg = if(below(mv_r,0),1,0); +per_frame_12=greenneg = if(below(mv_g,0),1,0); +per_frame_13=blueneg = if(below(mv_b,0),1,0); +per_frame_14=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+mv_r),mv_r); +per_frame_15=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+mv_g),mv_g); +per_frame_16=wave_b = if(blueneg,1 + mv_b, mv_b); +per_frame_17=dx=sin(slowtime*1.234)*.0125; +per_frame_18=dy=cos(slowtime*.9666)*.0125; +per_frame_19=q1 = sin(slowtime); +per_frame_20=q2 = wave_b; +per_pixel_1=zoom=1+above(sin(1.7*q2),-.5)*.1*sin(2*q2+.027*q1+4*(1+sin(.7*time+q2))*sin(.05*q2+time)*rad); +per_pixel_2=rot=.1*sin(q2)*sin(2.3*q2+.027*q1+2*sin(.07*q1+1.2*time)*(rad+sin(time+above(sin(q2),0)*4*sin(q2)*ang))); +per_pixel_3=rot=above(sin(1.2*q2+1.3),-.5)*rot; diff --git a/presets_projectM/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk b/presets/presets_stock/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk similarity index 100% rename from presets_projectM/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk rename to presets/presets_stock/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk diff --git a/presets/presets_stock/Rozzor - Learning Curve (Invert tweak).milk b/presets/presets_stock/Rozzor - Learning Curve (Invert tweak).milk new file mode 100755 index 0000000000..f00121b1a7 --- /dev/null +++ b/presets/presets_stock/Rozzor - Learning Curve (Invert tweak).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.010000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.793875 +fWaveScale=1.074093 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000001 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.001837 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.025000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_5=sinbeat =sin(beat * (vol_now-vol_mean)); +per_frame_6=wave_b = cos(time) + abs(cos(time)); +per_frame_7=wave_g = abs(sin(time)) ; +per_frame_8=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_9=ib_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_10=ib_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_11=ib_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_12=ob_r = 1 - if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_13=ob_g = 1 - if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_14=ob_b = 1 - if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_15=q1 = sinbeat+.35 ; +per_frame_16=wave_mystery = vol_now; +per_frame_17=monitor = sinbeat; +per_pixel_1=a = pow(1.02, pow(1, rad * 2 - 1)); +per_pixel_2=dx = (x - .5) * a + .5 - x; +per_pixel_3=dy = (y - .5) * a + .5 - y; +per_pixel_4=zoom = q1 + x; diff --git a/presets_milkdrop/Rozzor and Idiot - Any Other Deep Rising.milk b/presets/presets_stock/Rozzor and Idiot - Any Other Deep Rising.milk similarity index 100% rename from presets_milkdrop/Rozzor and Idiot - Any Other Deep Rising.milk rename to presets/presets_stock/Rozzor and Idiot - Any Other Deep Rising.milk diff --git a/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk b/presets/presets_stock/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk similarity index 100% rename from presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk rename to presets/presets_stock/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk diff --git a/presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk b/presets/presets_stock/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk similarity index 100% rename from presets_milkdrop/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk rename to presets/presets_stock/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk diff --git a/presets_milkdrop/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk b/presets/presets_stock/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk similarity index 100% rename from presets_milkdrop/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk rename to presets/presets_stock/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk diff --git a/presets_milkdrop/Rozzor and Zylot - Associative Order.milk b/presets/presets_stock/Rozzor and Zylot - Associative Order.milk similarity index 100% rename from presets_milkdrop/Rozzor and Zylot - Associative Order.milk rename to presets/presets_stock/Rozzor and Zylot - Associative Order.milk diff --git a/presets_milkdrop/Rozzor and che - Inside the House of nil.milk b/presets/presets_stock/Rozzor and che - Inside the House of nil.milk similarity index 100% rename from presets_milkdrop/Rozzor and che - Inside the House of nil.milk rename to presets/presets_stock/Rozzor and che - Inside the House of nil.milk diff --git a/presets_milkdrop/Studio Music - Cherished Desires.milk b/presets/presets_stock/Studio Music - Cherished Desires.milk similarity index 100% rename from presets_milkdrop/Studio Music - Cherished Desires.milk rename to presets/presets_stock/Studio Music - Cherished Desires.milk diff --git a/presets_projectM/Studio Music and Unchained - Rapid Alteration.milk b/presets/presets_stock/Studio Music and Unchained - Rapid Alteration.milk similarity index 100% rename from presets_projectM/Studio Music and Unchained - Rapid Alteration.milk rename to presets/presets_stock/Studio Music and Unchained - Rapid Alteration.milk diff --git a/presets_projectM/StudioMusic & Unchained - Entity.milk b/presets/presets_stock/StudioMusic & Unchained - Entity.milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - Entity.milk rename to presets/presets_stock/StudioMusic & Unchained - Entity.milk diff --git a/presets_projectM/StudioMusic & Unchained - Minor Alteration.milk b/presets/presets_stock/StudioMusic & Unchained - Minor Alteration.milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - Minor Alteration.milk rename to presets/presets_stock/StudioMusic & Unchained - Minor Alteration.milk diff --git a/presets_projectM/StudioMusic & Unchained - So Much Love.milk b/presets/presets_stock/StudioMusic & Unchained - So Much Love.milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - So Much Love.milk rename to presets/presets_stock/StudioMusic & Unchained - So Much Love.milk diff --git a/presets_projectM/StudioMusic & Unchained - State Of Discretion.milk b/presets/presets_stock/StudioMusic & Unchained - State Of Discretion.milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - State Of Discretion.milk rename to presets/presets_stock/StudioMusic & Unchained - State Of Discretion.milk diff --git a/presets_projectM/StudioMusic & Unchained - Wrenched Fate.milk b/presets/presets_stock/StudioMusic & Unchained - Wrenched Fate.milk similarity index 100% rename from presets_projectM/StudioMusic & Unchained - Wrenched Fate.milk rename to presets/presets_stock/StudioMusic & Unchained - Wrenched Fate.milk diff --git a/presets_milkdrop/StudioMusic - Harmonic Bliss (elated mix).milk b/presets/presets_stock/StudioMusic - Harmonic Bliss (elated mix).milk similarity index 100% rename from presets_milkdrop/StudioMusic - Harmonic Bliss (elated mix).milk rename to presets/presets_stock/StudioMusic - Harmonic Bliss (elated mix).milk diff --git a/presets_projectM/StudioMusic - It's Only Make Believe.milk b/presets/presets_stock/StudioMusic - It's Only Make Believe.milk similarity index 100% rename from presets_projectM/StudioMusic - It's Only Make Believe.milk rename to presets/presets_stock/StudioMusic - It's Only Make Believe.milk diff --git a/presets_projectM/StudioMusic - Numerosity.milk b/presets/presets_stock/StudioMusic - Numerosity.milk similarity index 100% rename from presets_projectM/StudioMusic - Numerosity.milk rename to presets/presets_stock/StudioMusic - Numerosity.milk diff --git a/presets_milkdrop/StudioMusic - Twisted Galaxy.milk b/presets/presets_stock/StudioMusic - Twisted Galaxy.milk similarity index 100% rename from presets_milkdrop/StudioMusic - Twisted Galaxy.milk rename to presets/presets_stock/StudioMusic - Twisted Galaxy.milk diff --git a/presets_milkdrop/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk b/presets/presets_stock/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk similarity index 100% rename from presets_milkdrop/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk rename to presets/presets_stock/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk diff --git a/presets_milkdrop/TEcHNO and SandStorm - Psychodelic Highway.milk b/presets/presets_stock/TEcHNO and SandStorm - Psychodelic Highway.milk similarity index 100% rename from presets_milkdrop/TEcHNO and SandStorm - Psychodelic Highway.milk rename to presets/presets_stock/TEcHNO and SandStorm - Psychodelic Highway.milk diff --git a/presets_milkdrop/Telek - City Helix Lattice.milk b/presets/presets_stock/Telek - City Helix Lattice.milk similarity index 100% rename from presets_milkdrop/Telek - City Helix Lattice.milk rename to presets/presets_stock/Telek - City Helix Lattice.milk diff --git a/presets/presets_stock/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk b/presets/presets_stock/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk new file mode 100644 index 0000000000..84c170c69d --- /dev/null +++ b/presets/presets_stock/Telek - Directive Swagger (Spectral Inferno) (fix---) maybe.milk @@ -0,0 +1,157 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=9.088520 +fWaveScale=0.499500 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.990000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.759997 +mv_dx=0.000000 +mv_dy=-0.620000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=// Hello, +per_frame_2= +per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress. +per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good. +per_frame_5= +per_frame_6=//Telek Sterling =:-) +per_frame_7=//Dilettante Extrodinaire +per_frame_8= +per_frame_9= +per_frame_10=//rt = realtime (for use with beat count) +per_frame_11=rt=time-start; +per_frame_12= +per_frame_13=//color cycling, yellow dynamic treble +per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); +per_frame_15=wave_x = cos(time*2.12)*.33+.5; +per_frame_16=wave_y = sin(time*1.5)*.13+.3; +per_frame_17= +per_frame_18=//initialisation bug patch +per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); +per_frame_20= +per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) +per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); +per_frame_23= +per_frame_24=//Testing auto-beat trigger... exciting stuff.. +per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); +per_frame_26= +per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad. +per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); +per_frame_29= +per_frame_30=beatcount = beatcount + beat; +per_frame_31= +per_frame_32=w_a = if(beat,1,w_a*0); +per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now. +per_frame_34= +per_frame_35=//Preserve beat rate +per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); +per_frame_37=//Record new beatrate +per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); +per_frame_39= +per_frame_40=//Record most recent beat +per_frame_41=lastbeat=if(beat,rt,lastbeat); +per_frame_42=//Predict time of next beat +per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=//Actual Display code: +per_frame_49= +per_frame_50=//Current direction of travel +per_frame_51=state = beat * (state+1)%4+(1-beat)*state; +per_frame_52= +per_frame_53=//acceleration of horizon point +per_frame_54=dddy = state%2-.5; +per_frame_55=dddx = above(state,1.5)-.5; +per_frame_56= +per_frame_57=//adjustment factors to play with +per_frame_58=ddx = dddx*.5; +per_frame_59=ddy = dddy*.5; +per_frame_60= +per_frame_61= +per_frame_62=q1 = (qq1*19+ddx)*.041; +per_frame_63=//preserve q variables +per_frame_64=qq1 = q1; +per_frame_65= +per_frame_66=q2 = (qq2*19+ddy)*.035; +per_frame_67=qq2 = q2; +per_frame_68= +per_frame_69=//Decay to Blue!! +per_frame_70=ob_a = 0.1*above(frame%10,6); +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74= +per_frame_75=//Well, what do we want to monitor?? +per_frame_76= +per_frame_77=//monitor = q1; +per_frame_78=//monitor = beat; +per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; +per_frame_80=monitor = (rt-lastbeat)/beatrate; +per_frame_81=//monitor = accuracy; +per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); +per_frame_83=//monitor = wave_a; +per_frame_84=//monitor = wave_g; +per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; +per_frame_86=//monitor = qwer; +per_frame_87=//monitor = (lastbeat-rt)/beatrate; +per_pixel_1=dx = sin(.5-x)*.1+q1; +per_pixel_2=dy = sin(.5-y)*.1+q2; +per_frame_init_1=ddx = 0; +per_frame_init_2=ddy = 0; +per_frame_init_3=start = time; +per_frame_init_4=rt = 0; +per_frame_init_5=beatcount = 0; diff --git a/presets_milkdrop/Telek - Flicker (@xis).milk b/presets/presets_stock/Telek - Flicker (@xis).milk similarity index 100% rename from presets_milkdrop/Telek - Flicker (@xis).milk rename to presets/presets_stock/Telek - Flicker (@xis).milk diff --git a/presets_projectM/Telek - Flicker.milk b/presets/presets_stock/Telek - Flicker.milk similarity index 100% rename from presets_projectM/Telek - Flicker.milk rename to presets/presets_stock/Telek - Flicker.milk diff --git a/presets_milkdrop/Telek - Lost Star (Flash).milk b/presets/presets_stock/Telek - Lost Star (Flash).milk similarity index 100% rename from presets_milkdrop/Telek - Lost Star (Flash).milk rename to presets/presets_stock/Telek - Lost Star (Flash).milk diff --git a/presets_milkdrop/Telek - Recirculate (Cool).milk b/presets/presets_stock/Telek - Recirculate (Cool).milk similarity index 100% rename from presets_milkdrop/Telek - Recirculate (Cool).milk rename to presets/presets_stock/Telek - Recirculate (Cool).milk diff --git a/presets_milkdrop/Telek - Sine Wave.milk b/presets/presets_stock/Telek - Sine Wave.milk similarity index 100% rename from presets_milkdrop/Telek - Sine Wave.milk rename to presets/presets_stock/Telek - Sine Wave.milk diff --git a/presets_milkdrop/Telek - Slow Shift Matrix (Ethereal Drift).milk b/presets/presets_stock/Telek - Slow Shift Matrix (Ethereal Drift).milk similarity index 100% rename from presets_milkdrop/Telek - Slow Shift Matrix (Ethereal Drift).milk rename to presets/presets_stock/Telek - Slow Shift Matrix (Ethereal Drift).milk diff --git a/presets/presets_stock/Telek - Slow Shift Matrix (bb4-5).milk b/presets/presets_stock/Telek - Slow Shift Matrix (bb4-5).milk new file mode 100644 index 0000000000..0008cae0ba --- /dev/null +++ b/presets/presets_stock/Telek - Slow Shift Matrix (bb4-5).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.9 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.63 +fWaveParam=1 +fModWaveAlphaStart=2 +fModWaveAlphaEnd=2 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.001 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.3 +ob_a=1 +ib_size=0.1 +ib_r=1 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0 +per_frame_1=bv = bass*.01+.99*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); +per_frame_4=wave_x =-1; +per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_7=rot = 1*sin(tt*.15); +per_frame_8=cx = sin(tt*.16)*.5+.5; +per_frame_9=cy = cos(tt*.46)*.5+.5; +per_frame_10=ib_r = sin(tt*.51)*.5+.5; +per_frame_11=ib_g = sin(tt*.71)*.5+.5; +per_frame_12=ib_b = sin(tt*.81)*.5+.5; +per_frame_13=monitor = tt; +per_frame_14= +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_frame_init_1=tt = rand(10000); +per_frame_init_2= diff --git a/presets_milkdrop/Telek - Slow Shift Matrix.milk b/presets/presets_stock/Telek - Slow Shift Matrix.milk similarity index 100% rename from presets_milkdrop/Telek - Slow Shift Matrix.milk rename to presets/presets_stock/Telek - Slow Shift Matrix.milk diff --git a/presets_milkdrop/Telek - Slow Thing (Spiderman Mix).milk b/presets/presets_stock/Telek - Slow Thing (Spiderman Mix).milk similarity index 100% rename from presets_milkdrop/Telek - Slow Thing (Spiderman Mix).milk rename to presets/presets_stock/Telek - Slow Thing (Spiderman Mix).milk diff --git a/presets_milkdrop/Telek - Spiral Tabletop (New and Improved!).milk b/presets/presets_stock/Telek - Spiral Tabletop (New and Improved!).milk similarity index 100% rename from presets_milkdrop/Telek - Spiral Tabletop (New and Improved!).milk rename to presets/presets_stock/Telek - Spiral Tabletop (New and Improved!).milk diff --git a/presets_milkdrop/Telek - Spokes (More Dynamic).milk b/presets/presets_stock/Telek - Spokes (More Dynamic).milk similarity index 100% rename from presets_milkdrop/Telek - Spokes (More Dynamic).milk rename to presets/presets_stock/Telek - Spokes (More Dynamic).milk diff --git a/presets_milkdrop/Telek - Target Practice (tracking retreat slide).milk b/presets/presets_stock/Telek - Target Practice (tracking retreat slide).milk similarity index 100% rename from presets_milkdrop/Telek - Target Practice (tracking retreat slide).milk rename to presets/presets_stock/Telek - Target Practice (tracking retreat slide).milk diff --git a/presets_milkdrop/Telek EMPR - Scanner - Trust me I've got a Melways.milk b/presets/presets_stock/Telek EMPR - Scanner - Trust me I've got a Melways.milk similarity index 100% rename from presets_milkdrop/Telek EMPR - Scanner - Trust me I've got a Melways.milk rename to presets/presets_stock/Telek EMPR - Scanner - Trust me I've got a Melways.milk diff --git a/presets_milkdrop/TobiasWolfBoi - Cataract.milk b/presets/presets_stock/TobiasWolfBoi - Cataract.milk similarity index 100% rename from presets_milkdrop/TobiasWolfBoi - Cataract.milk rename to presets/presets_stock/TobiasWolfBoi - Cataract.milk diff --git a/presets_milkdrop/TobiasWolfBoi - The Pit.milk b/presets/presets_stock/TobiasWolfBoi - The Pit.milk similarity index 100% rename from presets_milkdrop/TobiasWolfBoi - The Pit.milk rename to presets/presets_stock/TobiasWolfBoi - The Pit.milk diff --git a/presets_milkdrop/Tschoey - Music Flower.milk b/presets/presets_stock/Tschoey - Music Flower.milk similarity index 100% rename from presets_milkdrop/Tschoey - Music Flower.milk rename to presets/presets_stock/Tschoey - Music Flower.milk diff --git a/presets/presets_stock/Tux.tga b/presets/presets_stock/Tux.tga new file mode 100644 index 0000000000..ea554a7735 Binary files /dev/null and b/presets/presets_stock/Tux.tga differ diff --git a/presets_milkdrop/Unchained & CTho - Bad Vibes.milk b/presets/presets_stock/Unchained & CTho - Bad Vibes.milk similarity index 100% rename from presets_milkdrop/Unchained & CTho - Bad Vibes.milk rename to presets/presets_stock/Unchained & CTho - Bad Vibes.milk diff --git a/presets_milkdrop/Unchained & Che - Oddnezz 3.milk b/presets/presets_stock/Unchained & Che - Oddnezz 3.milk similarity index 100% rename from presets_milkdrop/Unchained & Che - Oddnezz 3.milk rename to presets/presets_stock/Unchained & Che - Oddnezz 3.milk diff --git a/presets_milkdrop/Unchained & Che - Oddnezz 4 (Done it again).milk b/presets/presets_stock/Unchained & Che - Oddnezz 4 (Done it again).milk similarity index 100% rename from presets_milkdrop/Unchained & Che - Oddnezz 4 (Done it again).milk rename to presets/presets_stock/Unchained & Che - Oddnezz 4 (Done it again).milk diff --git a/presets_milkdrop/Unchained & Illusion - Dual Wave 3.milk b/presets/presets_stock/Unchained & Illusion - Dual Wave 3.milk similarity index 100% rename from presets_milkdrop/Unchained & Illusion - Dual Wave 3.milk rename to presets/presets_stock/Unchained & Illusion - Dual Wave 3.milk diff --git a/presets/presets_stock/Unchained & Illusion - Logic Morph.milk b/presets/presets_stock/Unchained & Illusion - Logic Morph.milk new file mode 100755 index 0000000000..5cedd35c66 --- /dev/null +++ b/presets/presets_stock/Unchained & Illusion - Logic Morph.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.00649 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=2 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9681 +fWaveScale=0.7063 +fWaveSmoothing=0 +fWaveParam=- +fModWaveAlphaStart=0.55 +fModWaveAlphaEnd=1.15 +fWarpAnimSpeed=1.53 +fWarpScale=1.731 +fZoomExponent=1.208145 +fShader=0 +zoom=1.000223 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.263 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.301 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_14=q1=dx_residual; +per_frame_15=q2=dy_residual; +per_frame_16=rot=rot+(dy_residual-dx_residual)*4; +per_frame_17=cy=cy+dy_residual*4; +per_frame_18=cx=cx+dx_residual*4; +per_frame_19=wave_x=wave_x+dx_residual*10; +per_frame_20=wave_y=wave_y+dy_residual*10; +per_frame_21=ob_r=wave_g; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_b=wave_r; +per_frame_24=ib_r=wave_b; +per_frame_25=ib_g=wave_r; +per_frame_26=ib_b=wave_g; +per_frame_27=ob_size=dy_residual; +per_frame_28=ib_size=dx_residual; +per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; +per_pixel_2=rot=rot-(1-zoom); diff --git a/presets_milkdrop/Unchained & Illusion - Spirit Morph.milk b/presets/presets_stock/Unchained & Illusion - Spirit Morph.milk similarity index 100% rename from presets_milkdrop/Unchained & Illusion - Spirit Morph.milk rename to presets/presets_stock/Unchained & Illusion - Spirit Morph.milk diff --git a/presets_projectM/Unchained & Rovastar - For The Seagull.milk b/presets/presets_stock/Unchained & Rovastar - For The Seagull.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - For The Seagull.milk rename to presets/presets_stock/Unchained & Rovastar - For The Seagull.milk diff --git a/presets_projectM/Unchained & Rovastar - Luckless.milk b/presets/presets_stock/Unchained & Rovastar - Luckless.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Luckless.milk rename to presets/presets_stock/Unchained & Rovastar - Luckless.milk diff --git a/presets/presets_stock/Unchained & Rovastar - Rainbow Obscura.milk b/presets/presets_stock/Unchained & Rovastar - Rainbow Obscura.milk new file mode 100755 index 0000000000..8012c1052b --- /dev/null +++ b/presets/presets_stock/Unchained & Rovastar - Rainbow Obscura.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.985 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.040271 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=-0.19 +cy=-0.1 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=wave_x = 0.01*rand(100); +per_frame_3=wave_r = 1 + sin(-wave_x*3.1415); +per_frame_4=wave_g = abs(sin(2*wave_x*3.1415)); +per_frame_5=wave_b = sin(wave_x*3.1415); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05*sin(rad*4*sin(time*.8))); +per_pixel_2=zoom=zoom+rot*sin(time*2); diff --git a/presets_projectM/Unchained & Rovastar - Slow Solstice.milk b/presets/presets_stock/Unchained & Rovastar - Slow Solstice.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Slow Solstice.milk rename to presets/presets_stock/Unchained & Rovastar - Slow Solstice.milk diff --git a/presets_projectM/Unchained & Rovastar - Triptionary.milk b/presets/presets_stock/Unchained & Rovastar - Triptionary.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Triptionary.milk rename to presets/presets_stock/Unchained & Rovastar - Triptionary.milk diff --git a/presets/presets_stock/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk b/presets/presets_stock/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk new file mode 100755 index 0000000000..d31673efb4 --- /dev/null +++ b/presets/presets_stock/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.5*sin(time*0.894); +per_frame_3=wave_g = 0.5 + 0.5*sin(time*1.14); +per_frame_4=wave_b = 0.5 + 0.5*sin(3-bass_att); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*(0.9+.1*sin(time*2.8))+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_frame_13=decay=.995+.004*sin(time*.369)+.001*sin(time*1.54); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); +per_pixel_3=sx=sx-cos(y*(6.28+3.14*sin(time)))*(.009+.003*sin(time*2.18))*sin(time*.3); +per_pixel_4=rot=sin(x*3.14)*.001*sin(time*.67); diff --git a/presets_projectM/Unchained & Rovastar - Wormhole Pillars.milk b/presets/presets_stock/Unchained & Rovastar - Wormhole Pillars.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Wormhole Pillars.milk rename to presets/presets_stock/Unchained & Rovastar - Wormhole Pillars.milk diff --git a/presets_projectM/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_stock/Unchained & Rovastar - Xen Traffic.milk similarity index 100% rename from presets_projectM/Unchained & Rovastar - Xen Traffic.milk rename to presets/presets_stock/Unchained & Rovastar - Xen Traffic.milk diff --git a/presets/presets_stock/Unchained - A Matter Of Taste (Remix).milk b/presets/presets_stock/Unchained - A Matter Of Taste (Remix).milk new file mode 100755 index 0000000000..b58ce43e1f --- /dev/null +++ b/presets/presets_stock/Unchained - A Matter Of Taste (Remix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.993 +fVideoEchoZoom=0.99662 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.264366 +fWaveScale=0.264076 +fWaveSmoothing=0.72 +fWaveParam=-0.4 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0.3 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1.06152 +sy=1.06152 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-9.42),1+rand(3),entropy)); +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_4=bass_changed=abs(bass_flop-equal(bass_thresh,2)); +per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_6=treb_changed=abs(treb_flop-equal(treb_thresh,2)); +per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_8=mid_changed=abs(mid_flop-equal(mid_thresh,2)); +per_frame_9=bass_residual = bass_changed*sin(pulse*bass_thresh*.2*entropy) + bnot(bass_changed)*bass_residual; +per_frame_10=treb_residual = treb_changed*sin(pulse*treb_thresh*.2*entropy) + bnot(treb_changed)*treb_residual; +per_frame_11=mid_residual = mid_changed*sin(pulse*mid_thresh*.2*entropy) + bnot(mid_changed)*mid_residual; +per_frame_12=pulse=if(above(abs(pulse),9.42),-9.42,pulse+.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.01); +per_frame_13=q1=mid_residual; +per_frame_14=q2=bass_residual; +per_frame_15=q3=treb_residual; +per_frame_16=q4=sin(pulse); +per_frame_17=q5=cos(pulse); +per_frame_18=wave_mystery=-.2+.2*q4; +per_frame_19=wave_r=wave_r+.5*bass_residual; +per_frame_20=wave_r=wave_g+.5*mid_residual; +per_frame_21=wave_r=wave_b+.5*treb_residual; +per_frame_22=zoom=zoom-.0035*q1; +per_frame_23=decay=decay+.003*sin(pulse); +per_pixel_1=anti_rad=(1-rad); +per_pixel_2=dx=if(below(sin(rad*10*q5),abs(q5)),.02*q1,.025*q2); +per_pixel_3=dy=dy-cos(anti_rad*10*q3-rad*10*q5+rad*10*q4)*.05; +per_pixel_4=zoom=zoom+(dy-1)*(dx-1)*q1*.07; +per_pixel_5=rot=rot+atan(anti_rad*3.14*q3)*abs(zoom-1.2)*above(q2,0); diff --git a/presets_milkdrop/Unchained - All You Can Eat.milk b/presets/presets_stock/Unchained - All You Can Eat.milk similarity index 100% rename from presets_milkdrop/Unchained - All You Can Eat.milk rename to presets/presets_stock/Unchained - All You Can Eat.milk diff --git a/presets_milkdrop/Unchained - Bad Karma Oddnezz Style.milk b/presets/presets_stock/Unchained - Bad Karma Oddnezz Style.milk similarity index 100% rename from presets_milkdrop/Unchained - Bad Karma Oddnezz Style.milk rename to presets/presets_stock/Unchained - Bad Karma Oddnezz Style.milk diff --git a/presets/presets_stock/Unchained - Beat Demo (Demonology Mix).milk b/presets/presets_stock/Unchained - Beat Demo (Demonology Mix).milk new file mode 100755 index 0000000000..6a5b20dcbb --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo (Demonology Mix).milk @@ -0,0 +1,114 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.996 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818 +fWaveScale=0.374038 +fWaveSmoothing=0.81 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.9957 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.968827 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.4241 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.5+.5*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=.5+.5*q1; +per_frame_28=wave_b=.5+.5*q2; +per_frame_29=wave_g=.5+.5*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); +per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); +per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_38=ob_size=.025+.025*sin(q3*3+q1); +per_frame_39=ib_size=.025+.025*sin(q1*3+q3); +per_frame_40=warp=0; +per_frame_41=wave_mystery=wave_mystery+.1*sin(time*2.18+q6); +per_frame_42=wave_x=wave_x+.2*sin(time*.811+q1)+.01*(frame%5)*sign(q3); +per_frame_43=wave_y=wave_y+.2*sin(time*2.3+q2)+.01*q7; +per_frame_44=decay=.996+.004*q3; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=zoom+.05*sin(rad*(q7*2+q5)+q1)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); diff --git a/presets/presets_stock/Unchained - Beat Demo 1-0.milk b/presets/presets_stock/Unchained - Beat Demo 1-0.milk new file mode 100644 index 0000000000..7e20b9a86a --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo 1-0.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.981000 +fVideoEchoZoom=1.006440 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.540000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.200000 +zoom=0.999800 +rot=0.000000 +cx=0.470000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets_milkdrop/Unchained - Beat Demo 10.milk b/presets/presets_stock/Unchained - Beat Demo 10.milk similarity index 100% rename from presets_milkdrop/Unchained - Beat Demo 10.milk rename to presets/presets_stock/Unchained - Beat Demo 10.milk diff --git a/presets/presets_stock/Unchained - Beat Demo 2-0.milk b/presets/presets_stock/Unchained - Beat Demo 2-0.milk new file mode 100644 index 0000000000..3473d1bb57 --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo 2-0.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=zoom=zoom+.1*q4; +per_frame_41=rot=.2*q5; +per_frame_42=wave_mystery=.5*q6; +per_frame_43=cx=cx+.5*q1; +per_frame_44=cy=cy+.5*q2; +per_frame_45=warp=bnot(q7%2); +per_frame_46=echo_zoom=1+.5*q3; +per_frame_47=echo_orientation=q8%4; +per_frame_48=wave_mode=q8%7; diff --git a/presets/presets_stock/Unchained - Beat Demo 2-1.milk b/presets/presets_stock/Unchained - Beat Demo 2-1.milk new file mode 100644 index 0000000000..899cd3310d --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo 2-1.milk @@ -0,0 +1,111 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=cx=cx+.5*q1; +per_frame_42=cy=cy+.5*q2; +per_frame_43=warp=bnot(q7%2); +per_frame_44=echo_zoom=1+.5*q3; +per_frame_45=echo_orientation=q8%4; +per_frame_46=wave_mode=q8%7; +per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); +per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets/presets_stock/Unchained - Beat Demo 2-2.milk b/presets/presets_stock/Unchained - Beat Demo 2-2.milk new file mode 100644 index 0000000000..8da3a1e674 --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo 2-2.milk @@ -0,0 +1,109 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); diff --git a/presets/presets_stock/Unchained - Beat Demo 2-3.milk b/presets/presets_stock/Unchained - Beat Demo 2-3.milk new file mode 100644 index 0000000000..f70f8a768d --- /dev/null +++ b/presets/presets_stock/Unchained - Beat Demo 2-3.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.993000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.018281 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=decay=.98+q8*.001; +per_frame_44=monitor=q8; +per_pixel_1=c1=x*q1+sin(ang)*q4; +per_pixel_2=c2=y*q2+sin(ang)*q6; +per_pixel_3=c3=rad*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_7=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.07*sin(q4*3.14*radix),1+.07*sin(radix*q8*q4*1.618))); diff --git a/presets_projectM/Unchained - Cartoon Factory.milk b/presets/presets_stock/Unchained - Cartoon Factory.milk similarity index 100% rename from presets_projectM/Unchained - Cartoon Factory.milk rename to presets/presets_stock/Unchained - Cartoon Factory.milk diff --git a/presets/presets_stock/Unchained - Cranked On Failure.milk b/presets/presets_stock/Unchained - Cranked On Failure.milk new file mode 100755 index 0000000000..db0ad7850a --- /dev/null +++ b/presets/presets_stock/Unchained - Cranked On Failure.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320553 +fWaveScale=1 +fWaveSmoothing=0.45 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.96 +fShader=0.19 +zoom=0.999698 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.513 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.58 +ib_size=0.015 +ib_r=0.55 +ib_g=1 +ib_b=0.4999 +ib_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(radix*3.14*(q1+q2+q3))); +per_pixel_4=zoom=if(above(q2,0),zoom-cos(radix*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets_projectM/Unchained - Deeper Logic.milk b/presets/presets_stock/Unchained - Deeper Logic.milk similarity index 100% rename from presets_projectM/Unchained - Deeper Logic.milk rename to presets/presets_stock/Unchained - Deeper Logic.milk diff --git a/presets_milkdrop/Unchained - Free to Feel (Valium Remix).milk b/presets/presets_stock/Unchained - Free to Feel (Valium Remix).milk similarity index 100% rename from presets_milkdrop/Unchained - Free to Feel (Valium Remix).milk rename to presets/presets_stock/Unchained - Free to Feel (Valium Remix).milk diff --git a/presets/presets_stock/Unchained - Games With Light & Sound.milk b/presets/presets_stock/Unchained - Games With Light & Sound.milk new file mode 100755 index 0000000000..7ad8367cbc --- /dev/null +++ b/presets/presets_stock/Unchained - Games With Light & Sound.milk @@ -0,0 +1,127 @@ +[preset00] +fRating=2 +fGammaAdj=2.12 +fDecay=1 +fVideoEchoZoom=2.986806 +fVideoEchoAlpha=0.9 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573208 +fWaveScale=0.282091 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9687 +rot=0 +cx=0.02 +cy=0.02 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.6 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=decay=.995+.0025*q3+.0025*q1; +per_frame_53=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_54=mv_r=1-ob_g; +per_frame_55=mv_b=1-ob_r; +per_frame_56=mv_g=1-ob_b; +per_frame_57=zoom=.999+.001*q1; +per_frame_58=cx=0.5; +per_frame_59=cy=0.5; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=zoom=zoom+.03*if(above(grid,0),q6*snee,q5*snur); +per_pixel_5=rot=sin((x*q4+y*q5)*3.14)*.01; diff --git a/presets_milkdrop/Unchained - Ghostlight Whisper.milk b/presets/presets_stock/Unchained - Ghostlight Whisper.milk similarity index 100% rename from presets_milkdrop/Unchained - Ghostlight Whisper.milk rename to presets/presets_stock/Unchained - Ghostlight Whisper.milk diff --git a/presets_milkdrop/Unchained - God Of The Game (Remix).milk b/presets/presets_stock/Unchained - God Of The Game (Remix).milk similarity index 100% rename from presets_milkdrop/Unchained - God Of The Game (Remix).milk rename to presets/presets_stock/Unchained - God Of The Game (Remix).milk diff --git a/presets_projectM/Unchained - Goo Kung Fu.milk b/presets/presets_stock/Unchained - Goo Kung Fu.milk similarity index 100% rename from presets_projectM/Unchained - Goo Kung Fu.milk rename to presets/presets_stock/Unchained - Goo Kung Fu.milk diff --git a/presets/presets_stock/Unchained - Goofy Beat Detection.milk b/presets/presets_stock/Unchained - Goofy Beat Detection.milk new file mode 100755 index 0000000000..3f47741e28 --- /dev/null +++ b/presets/presets_stock/Unchained - Goofy Beat Detection.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.992 +fVideoEchoZoom=0.9994 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0592 +fWaveScale=0.653093 +fWaveSmoothing=0.27 +fWaveParam=-0.38 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.008 +rot=0.0019 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); +per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); +per_frame_30=ob_g=.6+.4*sin(time*.413+q4); +per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.05+.03*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.6+.4*q3; +per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=wave_mode=q7; +per_frame_51=zoom=1+.7*sin(time*1.51); +per_pixel_1=rot=if(above(q4,0),rad*.2*q5,sin(rad*(q4+q3))); +per_pixel_2=zoom=if(above(q2,0),zoom+(1-zoom)*rot*cos(rad*3.14*q2),if(above(q3,0)*above(x,.5+.5*q5),zoom+(1-zoom)*sin(q1*rot*3.14),zoom+(1-zoom)*cos(rad*10*q6))); +per_pixel_3=dx=above(q1,0)*sin(rad*.5*q2); +per_pixel_4=dy=above(q3,0)*sin(rad*.5*q3); diff --git a/presets/presets_stock/Unchained - Housed In A Childish Mind.milk b/presets/presets_stock/Unchained - Housed In A Childish Mind.milk new file mode 100755 index 0000000000..2a8bdedd8d --- /dev/null +++ b/presets/presets_stock/Unchained - Housed In A Childish Mind.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999700 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573200 +fWaveScale=1.135639 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.998137 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.995+.0025*q3+.0025*q1; +per_frame_55=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_56=mv_r=1-ob_g; +per_frame_57=mv_b=1-ob_r; +per_frame_58=mv_g=1-ob_b; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5+.5*y*q6)*above(q3,0)+below(y,.5+.5*sin(x*6.28*q1))*below(q7,4)); +per_pixel_3=grid=sin((rad*q1+x*q2+y*q3+ang*q4)*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=(1+.01*sin(rad*q7+q5)*bnot(snee)*if(snur,-1,1))*(1+.03*q1*atan(ang*q4-rot*q2)); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_9=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_10=dx=checkx*sin(x*q3*6.29)*rot; +per_pixel_11=dy=checky*sin(y*q3*6.29)*rot; +per_pixel_12=rot=if(above(y,.5+.5*x*q3),rot*.01,rot*zoom*.005); +per_pixel_13=dx=dx*atan2(pow(ang*q4,1+q7),ang*sin(rad*3.14*q2)); +per_pixel_14=dy=dy*atan2(pow(ang*q5,1+(q8%6)),ang*sin(y*3.14*q1)); diff --git a/presets/presets_stock/Unchained - In Memory Of Peg.milk b/presets/presets_stock/Unchained - In Memory Of Peg.milk new file mode 100755 index 0000000000..f3cf36d9ff --- /dev/null +++ b/presets/presets_stock/Unchained - In Memory Of Peg.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.104060 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.3*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.5*sin(time*1.69); +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=rot=sin(rad*(xx*q4+yy*q5+1.7*q6)); diff --git a/presets_milkdrop/Unchained - Invariant Under Rigorous Motions.milk b/presets/presets_stock/Unchained - Invariant Under Rigorous Motions.milk similarity index 100% rename from presets_milkdrop/Unchained - Invariant Under Rigorous Motions.milk rename to presets/presets_stock/Unchained - Invariant Under Rigorous Motions.milk diff --git a/presets/presets_stock/Unchained - Jaded Emotion.milk b/presets/presets_stock/Unchained - Jaded Emotion.milk new file mode 100755 index 0000000000..47d53c84f2 --- /dev/null +++ b/presets/presets_stock/Unchained - Jaded Emotion.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.99663 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005729 +fWaveScale=7.184967 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.25 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + bass*.5; +per_frame_3=wave_g = wave_g + treb*.5; +per_frame_4=wave_b = wave_b + mid*.5; +per_frame_5=ib_r = ib_r + .4*sin(time*.222); +per_frame_6=ib_g = ib_g + .4*sin(time*.333); +per_frame_7=ib_b = ib_b + .4*sin(time*.111); +per_frame_8=ib_a = ib_a + .05*sin(time*.555); +per_frame_9=ib_size = ib_size + .24*sin(time*.444); +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=cx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*cx_residual; +per_frame_12=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_13=cy_residual = equal(treb_thresh,2)*0.016*sin(time*7) + (1-equal(treb_thresh,2))*cy_residual; +per_frame_14=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_15=rot_residual = equal(mid_thresh,2)*0.016*sin(time*7) + (1-equal(mid_thresh,2))*rot_residual; +per_frame_16=cx=cx_residual+sin(time*.888); +per_frame_17=cy=cy_residual+sin(time*.999); +per_frame_18=rot=rot_residual*3; +per_pixel_1=zoom=zoom+cos(rad*10*sin(time*.666))*.07; diff --git a/presets_milkdrop/Unchained - Jaundice.milk b/presets/presets_stock/Unchained - Jaundice.milk similarity index 100% rename from presets_milkdrop/Unchained - Jaundice.milk rename to presets/presets_stock/Unchained - Jaundice.milk diff --git a/presets/presets_stock/Unchained - Making a Science of It 4.milk b/presets/presets_stock/Unchained - Making a Science of It 4.milk new file mode 100755 index 0000000000..5676337b5b --- /dev/null +++ b/presets/presets_stock/Unchained - Making a Science of It 4.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2 +fGammaAdj=1.560001 +fDecay=1 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=0.972362 +fWaveSmoothing=0.09 +fWaveParam=0.02 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.468457 +fShader=0 +zoom=1.001789 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; +per_pixel_5=zoom=zoom+.01*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx-bor(bnot(snee),bnot(snur))*cos(y*3.14*q4)*.04; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*3.14*q6)*.04; +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; +per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets/presets_stock/Unchained - Morat's Final Voyage.milk b/presets/presets_stock/Unchained - Morat's Final Voyage.milk new file mode 100755 index 0000000000..a6fa4b08c8 --- /dev/null +++ b/presets/presets_stock/Unchained - Morat's Final Voyage.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.976151 +fWaveScale=0.931 +fWaveSmoothing=0.18 +fWaveParam=-0.32 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.3 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +per_frame_1=warp = 0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=pulse=if(above(abs(pulse),5000),-5000,pulse+mid_att*.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)); +per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; +per_frame_16=wave_g=if(bass_changed,.1,bass_flop); +per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); +per_frame_18=ib_b=ib_b+.5*sin(pulse); +per_frame_19=ib_g=ib_g+5*sin(pulse*.8); +per_frame_20=ib_r=ib_r+5*sin(pulse*.8); +per_frame_21=ob_b=wave_r; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_r=wave_g; +per_frame_24=wave_mystery=sin(pulse); +per_frame_25=q1=pulse; +per_pixel_1=zoom=zoom-cos(x*10*sin(time+q1*.9)-10*sin(time+q1))*.1-sin(rad*10*sin(time+q1*.5))*.1; +per_pixel_2=rot=rot+abs(1-zoom)*sin(time+q1)*2; diff --git a/presets_milkdrop/Unchained - Non-Professional Music Analyzer.milk b/presets/presets_stock/Unchained - Non-Professional Music Analyzer.milk similarity index 100% rename from presets_milkdrop/Unchained - Non-Professional Music Analyzer.milk rename to presets/presets_stock/Unchained - Non-Professional Music Analyzer.milk diff --git a/presets/presets_stock/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk b/presets/presets_stock/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk new file mode 100755 index 0000000000..d6127c783b --- /dev/null +++ b/presets/presets_stock/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.224562 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.199900 +wave_b=0.700000 +wave_x=0.600000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.030000 +ob_g=0.150000 +ob_b=0.250000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.100000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.010000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.250000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=ang = time*1.4; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=q1; +per_frame_39=mv_x=rand(30); +per_frame_40=mv_y=rand(30); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_mode=4+4*q4; +per_pixel_1=newx = x - abs(q1); +per_pixel_2=newy = y - abs(q2); +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = (newx)*newzoom - newx; +per_pixel_6=dy = (newy)*newzoom - newy; +per_pixel_7=rot = -0.1*newrad*(0.5*rad+0.1); +per_pixel_8=zoom = zoom+.07*cos(x*10*q3); +per_pixel_9=rot = rot * (zoom-1); diff --git a/presets_projectM/Unchained - Perverted Dialect.milk b/presets/presets_stock/Unchained - Perverted Dialect.milk similarity index 100% rename from presets_projectM/Unchained - Perverted Dialect.milk rename to presets/presets_stock/Unchained - Perverted Dialect.milk diff --git a/presets_milkdrop/Unchained - Picture Of Exile.milk b/presets/presets_stock/Unchained - Picture Of Exile.milk similarity index 100% rename from presets_milkdrop/Unchained - Picture Of Exile.milk rename to presets/presets_stock/Unchained - Picture Of Exile.milk diff --git a/presets_milkdrop/Unchained - Picture Of Nectar.milk b/presets/presets_stock/Unchained - Picture Of Nectar.milk similarity index 100% rename from presets_milkdrop/Unchained - Picture Of Nectar.milk rename to presets/presets_stock/Unchained - Picture Of Nectar.milk diff --git a/presets_milkdrop/Unchained - Picture Of Poison.milk b/presets/presets_stock/Unchained - Picture Of Poison.milk similarity index 100% rename from presets_milkdrop/Unchained - Picture Of Poison.milk rename to presets/presets_stock/Unchained - Picture Of Poison.milk diff --git a/presets/presets_stock/Unchained - ReAwoke.milk b/presets/presets_stock/Unchained - ReAwoke.milk new file mode 100755 index 0000000000..47efb3b35a --- /dev/null +++ b/presets/presets_stock/Unchained - ReAwoke.milk @@ -0,0 +1,269 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999489 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.337423 +rot=0.001900 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.776608 +shapecode_0_ang=0.628319 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.408391 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+.05*q4; +shape_0_per_frame2=y=.5+.05*q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.1+.05*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.03*sin(time*.8); +per_frame_51=wave_mode=q8%2; +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=radix=if(above(q3,0),min(xx,yy),max(xx,yy)); +per_pixel_6=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_7=rot=sin(rad*(xx*q4+yy*q5+radix*q6)); +per_pixel_8=cx=cx+xx; +per_pixel_9=cy=cy+yy; diff --git a/presets/presets_stock/Unchained - Resistance.milk b/presets/presets_stock/Unchained - Resistance.milk new file mode 100755 index 0000000000..f82f507acf --- /dev/null +++ b/presets/presets_stock/Unchained - Resistance.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.99 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.671653 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.95 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=wave_r=wave_r+.5*bass_residual; +per_frame_27=wave_g=wave_g+.5*mid_residual; +per_frame_28=wave_b=wave_b+.5*treb_residual; +per_frame_29=ob_r=if(bass_flop,treb_changed,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_changed,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_changed,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=.5+.5*q5; +per_frame_39=mv_x=abs(beat*10)*entropy; +per_frame_40=mv_y=mv_x; +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_x = 0.5+sin(2*time)/8; +per_frame_45=wave_y = 0.5-cos(3*time)/6; +per_frame_46=wave_mystery=q5; +per_pixel_1=shift=q3*.1*mid_att; +per_pixel_2=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_3=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_4=dx=if(checkx,shift*q4,dx); +per_pixel_5=dy=if(checky,shift*q5,dy); +per_pixel_6=rot=if(checkx*checky,0,shift); +per_pixel_7=zoom=if(above(q5,.8),zoom-shift*.1,if(below(q5,-.8),zoom+shift*.1,zoom)); diff --git a/presets_projectM/Unchained - Ribald Ballad.milk b/presets/presets_stock/Unchained - Ribald Ballad.milk similarity index 100% rename from presets_projectM/Unchained - Ribald Ballad.milk rename to presets/presets_stock/Unchained - Ribald Ballad.milk diff --git a/presets_projectM/Unchained - Shaping The Grid.milk b/presets/presets_stock/Unchained - Shaping The Grid.milk similarity index 100% rename from presets_projectM/Unchained - Shaping The Grid.milk rename to presets/presets_stock/Unchained - Shaping The Grid.milk diff --git a/presets/presets_stock/Unchained - Subjective Experience Of The Manifold.milk b/presets/presets_stock/Unchained - Subjective Experience Of The Manifold.milk new file mode 100755 index 0000000000..21ecf1f8ca --- /dev/null +++ b/presets/presets_stock/Unchained - Subjective Experience Of The Manifold.milk @@ -0,0 +1,119 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999496 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.008); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse*q1); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*1.14+q2*1.14+q3*1.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.2*sin(time*2.157); +per_frame_29=ob_b=.2+.2*sin(time*1.689); +per_frame_30=ob_g=.2+.2*sin(time*1.413); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=echo_zoom=1+.08*q1+.08*q2+.06*q3+.16*cos(time*.681); +per_frame_44=wave_r=.5+.5*sin(q1+time*2.183); +per_frame_45=wave_b=.5+.5*sin(q2+time*1.211); +per_frame_46=wave_g=.5+.5*sin(q3+time*1.541); +per_frame_47=wave_mystery=wave_mystery+.5*sin(time*3+q6); +per_frame_48=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_49=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_50=wave_mode=q8%3; +per_frame_51=wave_a=3+sin(time*1.414)+q3; +per_pixel_1=xx=x-.5+.03*q5+.1*y*q6+.1*sin(time*.322); +per_pixel_2=yy=y-.5+.03*q6+.1*x*q5+.1*sin(time*.427); +per_pixel_3=dx=sin(xx*2); +per_pixel_4=dy=sin(yy*2); +per_pixel_5=rot=sin(rad*1.4+.3*q4); diff --git a/presets/presets_stock/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets/presets_stock/Unchained - Unclaimed Wreckage 2 (Shamanic).milk new file mode 100755 index 0000000000..4153fff7c8 --- /dev/null +++ b/presets/presets_stock/Unchained - Unclaimed Wreckage 2 (Shamanic).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=2 +fGammaAdj=2.05 +fDecay=0.92 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.4999 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.45029 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.998166 +fShader=0 +zoom=0.879987 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.01*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.17*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.17*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets_milkdrop/Unchained - Unclaimed Wreckage.milk b/presets/presets_stock/Unchained - Unclaimed Wreckage.milk similarity index 100% rename from presets_milkdrop/Unchained - Unclaimed Wreckage.milk rename to presets/presets_stock/Unchained - Unclaimed Wreckage.milk diff --git a/presets/presets_stock/Unchained - Unified Drag 2.milk b/presets/presets_stock/Unchained - Unified Drag 2.milk new file mode 100755 index 0000000000..11b5ae684e --- /dev/null +++ b/presets/presets_stock/Unchained - Unified Drag 2.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.96 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.78 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.0081 +fShader=0.4 +zoom=0.820774 +rot=0 +cx=0.4999 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=rot=1; +per_frame_51=cx=cx+.05*q4; +per_frame_52=cy=cy+.05*q5; +per_frame_53=zoom=.95+.05*q6; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets_projectM/Unchained - Working the Grid.milk b/presets/presets_stock/Unchained - Working the Grid.milk similarity index 100% rename from presets_projectM/Unchained - Working the Grid.milk rename to presets/presets_stock/Unchained - Working the Grid.milk diff --git a/presets_milkdrop/Unchained - ventilation.milk b/presets/presets_stock/Unchained - ventilation.milk similarity index 100% rename from presets_milkdrop/Unchained - ventilation.milk rename to presets/presets_stock/Unchained - ventilation.milk diff --git a/presets_milkdrop/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk b/presets/presets_stock/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk similarity index 100% rename from presets_milkdrop/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk rename to presets/presets_stock/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk diff --git a/presets/presets_stock/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk b/presets/presets_stock/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk new file mode 100644 index 0000000000..ee46fe622b --- /dev/null +++ b/presets/presets_stock/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.9996 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.011566 +fWaveScale=1 +fWaveSmoothing=0.63 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.904846 +rot=0.2 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1.000002 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.05 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=10.240001 +nMotionVectorsY=7.200006 +mv_dx=0 +mv_dy=0.08 +mv_l=0.55 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0 +per_frame_1=ob_r=rand(10)*Sin(above(bass,bass_att)); +per_frame_2=ob_g=rand(10)*sin(above(mid,mid_Att)); +per_frame_3=ob_b=rand(10)*Sin(above(treb,treb_Att)); +per_frame_4=zoom = .9+bass*.05; +per_pixel_1=rot=rot*atan2(-rad,sin(ang*10)); diff --git a/presets_milkdrop/Zylot & Krash - Extremophile.milk b/presets/presets_stock/Zylot & Krash - Extremophile.milk similarity index 100% rename from presets_milkdrop/Zylot & Krash - Extremophile.milk rename to presets/presets_stock/Zylot & Krash - Extremophile.milk diff --git a/presets_milkdrop/Zylot & Mstress - Celebrate.milk b/presets/presets_stock/Zylot & Mstress - Celebrate.milk similarity index 100% rename from presets_milkdrop/Zylot & Mstress - Celebrate.milk rename to presets/presets_stock/Zylot & Mstress - Celebrate.milk diff --git a/presets_milkdrop/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk b/presets/presets_stock/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk similarity index 100% rename from presets_milkdrop/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk rename to presets/presets_stock/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk diff --git a/presets_milkdrop/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk b/presets/presets_stock/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk similarity index 100% rename from presets_milkdrop/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk rename to presets/presets_stock/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk diff --git a/presets_projectM/Zylot - Azirphaeli's Mirror.milk b/presets/presets_stock/Zylot - Azirphaeli's Mirror.milk similarity index 100% rename from presets_projectM/Zylot - Azirphaeli's Mirror.milk rename to presets/presets_stock/Zylot - Azirphaeli's Mirror.milk diff --git a/presets/presets_stock/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_stock/Zylot - Block Of Sound (Abstract Architecture Mix).milk new file mode 100755 index 0000000000..bad50b3f5a --- /dev/null +++ b/presets/presets_stock/Zylot - Block Of Sound (Abstract Architecture Mix).milk @@ -0,0 +1,218 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.124746 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.03 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0 +mv_g=0 +mv_b=0.7 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=0 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=1 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=1 +shape_0_per_frame1=ang = ang + 10*sin(time*.8); +shape_0_per_frame2=vol = 0.167*(bass+mid+att); +shape_0_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_0_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_0_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_0_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_0_per_frame7=xpos = xpos + 0.001*xspeed; +shape_0_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_0_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_0_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_0_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_0_per_frame12=ypos = ypos + 0.001*yspeed; +shape_0_per_frame13=x = centerx; +shape_0_per_frame14=y = abs(centery-1); +shape_0_per_frame15=centerx = 1.75*xpos + 0.5; +shape_0_per_frame16=centery = 1.75*ypos + 0.5; +shape_0_per_frame17=r2 = .5+.2*sin(time*.666); +shape_0_per_frame18=g2 = .5+.2*sin(time*.555); +shape_0_per_frame19=b2 = .5+.2*sin(time*.777); +shape_0_per_frame20=rad = rad + bass*.1; +shape_0_per_frame21=border_r = bass*.3; +shape_0_per_frame22=border_g = treb*.3; +shape_0_per_frame23=border_b = mis*.3; +shape_0_per_frame24=r = if(above(bass,1.3),1,0); +shape_0_per_frame25=g = if(above(bass,1.3),1,0); +shape_0_per_frame26=b = if(above(bass,1.3),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=vol = 0.167*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=wave_x = centerx; +per_frame_14=wave_y = abs(centery-1); +per_frame_15=centerx = 1.75*xpos + 0.5; +per_frame_16=centery = 1.75*ypos + 0.5; +per_frame_17=q1 = centerx; +per_frame_18=q2 = centery; +per_frame_19=q3 = .06 + bass*.04; +per_frame_20=wave_r = bass*.3; +per_frame_21=wave_g = treb*.3; +per_frame_22=wave_b = mid*.3; +per_pixel_1=zoom = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),1,.94+ze),.94+ze),.94+ze),.94+ze); +per_pixel_2=zoomerx = if(above(x,q1),.01,-.01); +per_pixel_3=zoomery = if(above(y,q2),.01,-.01); +per_pixel_4=dx = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomerx,.7+dxe),.7+dxe),.7+dxe),.7+dxe); +per_pixel_5=dy = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomery,.7+dye),.7+dye),.7+dye),.7+dye); +per_pixel_6=dxe = .2 + .2*sin(time*.444); +per_pixel_7=dye = .2+.2*cos(time*.222); +per_pixel_8=ze = .04*sin(time*.777); diff --git a/presets_projectM/Zylot - Block Of Sound (Fractal Construction Mix).milk b/presets/presets_stock/Zylot - Block Of Sound (Fractal Construction Mix).milk similarity index 100% rename from presets_projectM/Zylot - Block Of Sound (Fractal Construction Mix).milk rename to presets/presets_stock/Zylot - Block Of Sound (Fractal Construction Mix).milk diff --git a/presets_milkdrop/Zylot - Color Of Music.milk b/presets/presets_stock/Zylot - Color Of Music.milk similarity index 100% rename from presets_milkdrop/Zylot - Color Of Music.milk rename to presets/presets_stock/Zylot - Color Of Music.milk diff --git a/presets_projectM/Zylot - Crystal Ball (Magical Reaction Mix).milk b/presets/presets_stock/Zylot - Crystal Ball (Magical Reaction Mix).milk similarity index 100% rename from presets_projectM/Zylot - Crystal Ball (Magical Reaction Mix).milk rename to presets/presets_stock/Zylot - Crystal Ball (Magical Reaction Mix).milk diff --git a/presets_milkdrop/Zylot - De(-a)range(d)(ment) complex.milk b/presets/presets_stock/Zylot - De(-a)range(d)(ment) complex.milk similarity index 100% rename from presets_milkdrop/Zylot - De(-a)range(d)(ment) complex.milk rename to presets/presets_stock/Zylot - De(-a)range(d)(ment) complex.milk diff --git a/presets_milkdrop/Zylot - De(-a)range(d)(ment) strain.milk b/presets/presets_stock/Zylot - De(-a)range(d)(ment) strain.milk similarity index 100% rename from presets_milkdrop/Zylot - De(-a)range(d)(ment) strain.milk rename to presets/presets_stock/Zylot - De(-a)range(d)(ment) strain.milk diff --git a/presets_projectM/Zylot - Digiscape Advanced Processor.milk b/presets/presets_stock/Zylot - Digiscape Advanced Processor.milk similarity index 100% rename from presets_projectM/Zylot - Digiscape Advanced Processor.milk rename to presets/presets_stock/Zylot - Digiscape Advanced Processor.milk diff --git a/presets_projectM/Zylot - Ether Storm.milk b/presets/presets_stock/Zylot - Ether Storm.milk similarity index 100% rename from presets_projectM/Zylot - Ether Storm.milk rename to presets/presets_stock/Zylot - Ether Storm.milk diff --git a/presets_milkdrop/Zylot - Global Earthquake.milk b/presets/presets_stock/Zylot - Global Earthquake.milk similarity index 100% rename from presets_milkdrop/Zylot - Global Earthquake.milk rename to presets/presets_stock/Zylot - Global Earthquake.milk diff --git a/presets_projectM/Zylot - Inside The Planar Portal.milk b/presets/presets_stock/Zylot - Inside The Planar Portal.milk similarity index 100% rename from presets_projectM/Zylot - Inside The Planar Portal.milk rename to presets/presets_stock/Zylot - Inside The Planar Portal.milk diff --git a/presets_milkdrop/Zylot - Mixing Pot.milk b/presets/presets_stock/Zylot - Mixing Pot.milk similarity index 100% rename from presets_milkdrop/Zylot - Mixing Pot.milk rename to presets/presets_stock/Zylot - Mixing Pot.milk diff --git a/presets_milkdrop/Zylot - Puddle Of Music.milk b/presets/presets_stock/Zylot - Puddle Of Music.milk similarity index 100% rename from presets_milkdrop/Zylot - Puddle Of Music.milk rename to presets/presets_stock/Zylot - Puddle Of Music.milk diff --git a/presets_milkdrop/Zylot - Rainbow Planet Under Attack.milk b/presets/presets_stock/Zylot - Rainbow Planet Under Attack.milk similarity index 100% rename from presets_milkdrop/Zylot - Rainbow Planet Under Attack.milk rename to presets/presets_stock/Zylot - Rainbow Planet Under Attack.milk diff --git a/presets_milkdrop/Zylot - Rush.milk b/presets/presets_stock/Zylot - Rush.milk similarity index 100% rename from presets_milkdrop/Zylot - Rush.milk rename to presets/presets_stock/Zylot - Rush.milk diff --git a/presets_milkdrop/Zylot - S Pulse Virus.milk b/presets/presets_stock/Zylot - S Pulse Virus.milk similarity index 100% rename from presets_milkdrop/Zylot - S Pulse Virus.milk rename to presets/presets_stock/Zylot - S Pulse Virus.milk diff --git a/presets_milkdrop/Zylot - String.milk b/presets/presets_stock/Zylot - String.milk similarity index 100% rename from presets_milkdrop/Zylot - String.milk rename to presets/presets_stock/Zylot - String.milk diff --git a/presets_projectM/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk b/presets/presets_stock/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk similarity index 100% rename from presets_projectM/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk rename to presets/presets_stock/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk diff --git a/presets_milkdrop/Zylot - The Deeper.milk b/presets/presets_stock/Zylot - The Deeper.milk similarity index 100% rename from presets_milkdrop/Zylot - The Deeper.milk rename to presets/presets_stock/Zylot - The Deeper.milk diff --git a/presets_projectM/Zylot - The Inner Workings of my New Computer.milk b/presets/presets_stock/Zylot - The Inner Workings of my New Computer.milk similarity index 100% rename from presets_projectM/Zylot - The Inner Workings of my New Computer.milk rename to presets/presets_stock/Zylot - The Inner Workings of my New Computer.milk diff --git a/presets_milkdrop/Zylot - Visionarie (geiss aspect ratio fix).milk b/presets/presets_stock/Zylot - Visionarie (geiss aspect ratio fix).milk similarity index 100% rename from presets_milkdrop/Zylot - Visionarie (geiss aspect ratio fix).milk rename to presets/presets_stock/Zylot - Visionarie (geiss aspect ratio fix).milk diff --git a/presets_milkdrop/Zylot - Waves Of Blood.milk b/presets/presets_stock/Zylot - Waves Of Blood.milk similarity index 100% rename from presets_milkdrop/Zylot - Waves Of Blood.milk rename to presets/presets_stock/Zylot - Waves Of Blood.milk diff --git a/presets/presets_stock/Zylot - Wisps.milk b/presets/presets_stock/Zylot - Wisps.milk new file mode 100644 index 0000000000..ff554ca1c8 --- /dev/null +++ b/presets/presets_stock/Zylot - Wisps.milk @@ -0,0 +1,420 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.300000 +ob_g=0.300000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.920000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar/32; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*3.5; +wave_1_per_point8=x1 = (1*sin(t8*nsample)); +wave_1_per_point9=y1 = (1*cos(t8*nsample)); +wave_1_per_point10=z1 = 1.5*sin((0&sample)); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+5; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=r = g+value1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.217303 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=speedc=0; +shape_0_init2=trebc=0; +shape_0_init3=radc=0; +shape_0_per_frame1=x = .5+radc*sin(speedc); +shape_0_per_frame2=y = .5+radc*cos(speedc); +shape_0_per_frame3= +shape_0_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_0_per_frame5=radc = if(below(radc,0),0,radc); +shape_0_per_frame6= +shape_0_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_0_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_0_per_frame9= +shape_0_per_frame10=speedc = speedc + trebc; +shape_0_per_frame11= +shape_0_per_frame12=r = bass; +shape_0_per_frame13=g = treb; +shape_0_per_frame14=b = mid; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.215152 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=speedc=0; +shape_1_init2=trebc=0; +shape_1_init3=radc=0; +shape_1_per_frame1=x = .5+radc*sin(speedc+q1); +shape_1_per_frame2=y = .5+radc*cos(speedc+q1); +shape_1_per_frame3= +shape_1_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_1_per_frame5=radc = if(below(radc,0),0,radc); +shape_1_per_frame6= +shape_1_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_1_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_1_per_frame9= +shape_1_per_frame10=speedc = speedc + trebc; +shape_1_per_frame11= +shape_1_per_frame12=r = bass; +shape_1_per_frame13=g = treb; +shape_1_per_frame14=b = mid; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.215152 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=speedc=0; +shape_2_init2=trebc=0; +shape_2_init3=radc=0; +shape_2_per_frame1=x = .5+radc*sin(speedc+(q1*2)); +shape_2_per_frame2=y = .5+radc*cos(speedc+(q1*2)); +shape_2_per_frame3= +shape_2_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_2_per_frame5=radc = if(below(radc,0),0,radc); +shape_2_per_frame6= +shape_2_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_2_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_2_per_frame9= +shape_2_per_frame10=speedc = speedc + trebc; +shape_2_per_frame11= +shape_2_per_frame12=r = bass; +shape_2_per_frame13=g = treb; +shape_2_per_frame14=b = mid; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.215152 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=speedc=0; +shape_3_init2=trebc=0; +shape_3_init3=radc=0; +shape_3_per_frame1=x = .5+radc*sin(speedc+(q1*3)); +shape_3_per_frame2=y = .5+radc*cos(speedc+(q1*3)); +shape_3_per_frame3= +shape_3_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_3_per_frame5=radc = if(below(radc,0),0,radc); +shape_3_per_frame6= +shape_3_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_3_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_3_per_frame9= +shape_3_per_frame10=speedc = speedc + trebc; +shape_3_per_frame11= +shape_3_per_frame12=r = bass; +shape_3_per_frame13=g = treb; +shape_3_per_frame14=b = mid; +per_frame_init_1=space = 3+(rand(80)*.1); +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3= +per_frame_4=zoom = zoom-.1+(bass*.1); +per_frame_5= +per_frame_6=q1=space; +per_frame_7=dx = .04*sin(time); +per_frame_8=dy = .04*sin(time*.6677); diff --git a/presets_projectM/Zylot - light of the path.milk b/presets/presets_stock/Zylot - light of the path.milk similarity index 100% rename from presets_projectM/Zylot - light of the path.milk rename to presets/presets_stock/Zylot - light of the path.milk diff --git a/presets_milkdrop/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk b/presets/presets_stock/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk similarity index 100% rename from presets_milkdrop/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk rename to presets/presets_stock/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk diff --git a/presets/presets_stock/[Ishan] - Life in the drains.milk b/presets/presets_stock/[Ishan] - Life in the drains.milk new file mode 100644 index 0000000000..282f027960 --- /dev/null +++ b/presets/presets_stock/[Ishan] - Life in the drains.milk @@ -0,0 +1,235 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.074097 +fWaveSmoothing=0.630000 +fWaveParam=0.540000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.065000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.580000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_b1=wave_b1+if(above(bass_att,0),bass_att,-bass_att); +per_frame_2=wave_r=wave_r+(sin(time*1.43)*wave_b1)*.5; +per_frame_3=wave_g=wave_g+(cos(time*1.73)*wave_b1)*.5; +per_frame_4=wave_b=wave_b-(sin(time*2.03)*wave_b1)*.5; +per_frame_5=wave_mystery=sin((time+bass_att)*.5); +per_frame_6=wave_thick=1; +per_frame_7=rot=rot-wave_mystery*.1; +per_frame_8=wave_x1=wave_x1+.1; +per_frame_9=wave_y1=wave_y1-.1; +per_frame_10=decay = decay - 0.01*equal(frame%50,0); +per_frame_11=ob_r=sin(wave_r+time); +per_frame_12=ob_g=cos(wave_g+time); +per_frame_13=ob_b=sin(wave_b-time); +per_frame_14=gamma=2; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23= +per_pixel_1=zoom=sin(zoom*1.3)-.1; +per_pixel_2=rot=rot+sin(rad*(zoom+sqr(rad)))*.1; +per_pixel_3= +per_pixel_4= +per_pixel_5= diff --git a/presets/presets_stock/baked - mushroom rainbows[2].milk b/presets/presets_stock/baked - mushroom rainbows[2].milk new file mode 100644 index 0000000000..c742132877 --- /dev/null +++ b/presets/presets_stock/baked - mushroom rainbows[2].milk @@ -0,0 +1,306 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tmie= (time*0.25) * (bass*0.05); +shape_0_per_frame2= +shape_0_per_frame3=ang = tmie; +shape_0_per_frame4= +shape_0_per_frame5=dx = asx; +shape_0_per_frame6= +shape_0_per_frame7=asx= sx - abs(time-sin(ang*x-y)); +shape_0_per_frame8=asy= sy - abs(time-sin(ang*x-y)); +shape_0_per_frame9= +shape_0_per_frame10= +shape_0_per_frame11=x = sin(time/2)*0.4 + 0.5; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=r = r2 * tmie ; +shape_0_per_frame15=g = g2 * tmie ; +shape_0_per_frame16=b = b2 * tmie ; +shape_0_per_frame17=r2 = r*.9998 - tmie ; +shape_0_per_frame18=g2 = g*.9998 - tmie ; +shape_0_per_frame19=b2 = b*.9998 - tmie ; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599577 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756687 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = sin(time*0.3) + .5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x = 64; +per_frame_init_2=mv_y = 89; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets_milkdrop/che - adela the flower.milk b/presets/presets_stock/che - adela the flower.milk similarity index 100% rename from presets_milkdrop/che - adela the flower.milk rename to presets/presets_stock/che - adela the flower.milk diff --git a/presets_milkdrop/che - burning hus (oil mix).milk b/presets/presets_stock/che - burning hus (oil mix).milk similarity index 100% rename from presets_milkdrop/che - burning hus (oil mix).milk rename to presets/presets_stock/che - burning hus (oil mix).milk diff --git a/presets/presets_stock/che - terracarbon stream.milk b/presets/presets_stock/che - terracarbon stream.milk new file mode 100755 index 0000000000..8cb0215837 --- /dev/null +++ b/presets/presets_stock/che - terracarbon stream.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.030740 +fWaveScale=0.498516 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.060000 +ib_size=0.035000 +ib_r=0.250000 +ib_g=0.450000 +ib_b=0.250000 +ib_a=0.290000 +nMotionVectorsX=19.199999 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=0.060000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.200000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=q1=le; +per_frame_26=q2=thccl+.2*leccl; +per_frame_27=leccl=leccl+dle*le; +per_frame_28=dle=if(beat,-dle,dle); +per_frame_29=bccl=bccl+beat; +per_frame_30= +per_frame_31=wave_r=.1+.8*sqr(sin(.011*thccl))+.1*sin(leccl*.061); +per_frame_32=wave_g=.1+.8*sqr(sin(.013*thccl))+.1*cos(leccl*.067); +per_frame_33=wave_b=.1+.8*sqr(cos(.017*thccl))+.1*sin(leccl*.065); +per_frame_34= +per_frame_35=ib_r=ib_r+.1*sin(1.3*time+.012*leccl); +per_frame_36=ib_g=ib_g+.1*sin(1.7*time+.019*leccl); +per_frame_37=ib_b=ib_b+.1*sin(1.9*time+.017*leccl); +per_frame_38=mv_r=.5*(ib_r+wave_r);mv_g=.5*(ib_g+wave_g);mv_b=.5*(ib_b+wave_b); +per_frame_39=mv_a=.5*sqr(sin(.01*leccl+bccl)); +per_frame_40= +per_frame_41=echo_alpha=.5+.2*cos(.07*leccl+.02*thccl); +per_frame_42=eo=if(band(equal(bccl%3,0),beat),rand(4),eo); +per_frame_43=q3=(equal(eo,2)+equal(eo,1))*equal(bccl%2,0); +per_frame_44=q4=(equal(eo,0)+equal(eo,3))*equal(bccl%2,0); +per_frame_45=echo_orient=eo; +per_pixel_1=dqv=above(x,.5)-above(y,.5); +per_pixel_2=rot=sin(sin(rad*(13+5*sin(.01*q2))+.06*q2)*q1*.01); +per_pixel_3=zoom=1+if(q3,dqv,1)*.1*sin(7*ang+.03*q2); +per_pixel_4=zoom=if(q4,if(below(rad,.8*sqr(sin(.016*q2))),.75+.4*cos(.021*q2),zoom),zoom); +per_frame_init_1=dle=1; diff --git a/presets/presets_stock/fiShbRaiN - blueprint.milk b/presets/presets_stock/fiShbRaiN - blueprint.milk new file mode 100644 index 0000000000..da2161728d --- /dev/null +++ b/presets/presets_stock/fiShbRaiN - blueprint.milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=0.989618 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=0.020000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.400000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=ma1=ma1+(above(bass,1)*3.1415*.1*bass); +wave_0_per_point2=ma2=ma2-(above(treb,1)*3.1415*.1*treb); +wave_0_per_point3= +wave_0_per_point4=malpha=above(bass,.7)*above(treb,.7); +wave_0_per_point5= +wave_0_per_point6=mx=mx+(.02*cos(ma1)); +wave_0_per_point7=my=my+(.02*sin(ma2)); +wave_0_per_point8= +wave_0_per_point9=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point10=my=if(above(my,.9),(.9-my),my); +wave_0_per_point11=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point12=my=if(below(my,.1),(.9+my),my); +wave_0_per_point13= +wave_0_per_point14=x=mx; +wave_0_per_point15=y=my; +wave_0_per_point16= +wave_0_per_point17=a=malpha; +wave_0_per_point18=r=bass*.7; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_per_point1=mo=rand(4); +wave_1_per_point2= +wave_1_per_point3=mx=mx+(equal(mo,0)*.05*bass); +wave_1_per_point4=mx=mx-(equal(mo,1)*.05*bass); +wave_1_per_point5=my=my+(equal(mo,2)*.05*treb); +wave_1_per_point6=my=my-(equal(mo,3)*.05*treb); +wave_1_per_point7= +wave_1_per_point8=mx=if(equal(sample,1),.5,mx); +wave_1_per_point9=my=if(equal(sample,1),.5,my); +wave_1_per_point10= +wave_1_per_point11=x=mx; +wave_1_per_point12=y=my; +wave_1_per_point13=a=if(equal(rand(50),0),1,0); +wave_1_per_point14=g=treb*.7; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma1=ma1+(above(bass,1)*3.1415*.01*bass); +wave_2_per_point2=ma2=ma2-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=malpha=above(bass,1)*above(treb,1); +wave_2_per_point5= +wave_2_per_point6=mx=mx+(.02*cos(ma1)); +wave_2_per_point7=my=my+(.02*sin(ma2)); +wave_2_per_point8= +wave_2_per_point9=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point10=my=if(above(my,.9),(.9-my),my); +wave_2_per_point11=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point12=my=if(below(my,.1),(.9+my),my); +wave_2_per_point13= +wave_2_per_point14=x=mx; +wave_2_per_point15=y=my; +wave_2_per_point16= +wave_2_per_point17=a=malpha; +wave_2_per_point18=b=bass*.7; +wave_2_per_point19=r=treb*.8; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=eo=((time*.1)+(bass_att*4))%4; +per_frame_2= +per_frame_3=echo_orient=eo; diff --git a/presets/presets_stock/headphones.tga b/presets/presets_stock/headphones.tga new file mode 100644 index 0000000000..5d84b75cdc Binary files /dev/null and b/presets/presets_stock/headphones.tga differ diff --git a/presets_milkdrop/idiot - Nothing Yet - 03 - The worst of the pack.milk b/presets/presets_stock/idiot - Nothing Yet - 03 - The worst of the pack.milk similarity index 100% rename from presets_milkdrop/idiot - Nothing Yet - 03 - The worst of the pack.milk rename to presets/presets_stock/idiot - Nothing Yet - 03 - The worst of the pack.milk diff --git a/presets_milkdrop/idiot - Nucleus.milk b/presets/presets_stock/idiot - Nucleus.milk similarity index 100% rename from presets_milkdrop/idiot - Nucleus.milk rename to presets/presets_stock/idiot - Nucleus.milk diff --git a/presets_milkdrop/idiot - Sinful Code (unchained style).milk b/presets/presets_stock/idiot - Sinful Code (unchained style).milk similarity index 100% rename from presets_milkdrop/idiot - Sinful Code (unchained style).milk rename to presets/presets_stock/idiot - Sinful Code (unchained style).milk diff --git a/presets_milkdrop/idiot - Some big word I learned.milk b/presets/presets_stock/idiot - Some big word I learned.milk similarity index 100% rename from presets_milkdrop/idiot - Some big word I learned.milk rename to presets/presets_stock/idiot - Some big word I learned.milk diff --git a/presets_milkdrop/idiot - Spectrum.milk b/presets/presets_stock/idiot - Spectrum.milk similarity index 100% rename from presets_milkdrop/idiot - Spectrum.milk rename to presets/presets_stock/idiot - Spectrum.milk diff --git a/presets_milkdrop/illusion & studio music - charged bliss.milk b/presets/presets_stock/illusion & studio music - charged bliss.milk similarity index 100% rename from presets_milkdrop/illusion & studio music - charged bliss.milk rename to presets/presets_stock/illusion & studio music - charged bliss.milk diff --git a/presets_projectM/nil - Can't Stop the Blithering.milk b/presets/presets_stock/nil - Can't Stop the Blithering.milk similarity index 100% rename from presets_projectM/nil - Can't Stop the Blithering.milk rename to presets/presets_stock/nil - Can't Stop the Blithering.milk diff --git a/presets_projectM/nil - Can't Stop the Cramming.milk b/presets/presets_stock/nil - Can't Stop the Cramming.milk similarity index 100% rename from presets_projectM/nil - Can't Stop the Cramming.milk rename to presets/presets_stock/nil - Can't Stop the Cramming.milk diff --git a/presets_projectM/nil - Cid and Lucy.milk b/presets/presets_stock/nil - Cid and Lucy.milk similarity index 100% rename from presets_projectM/nil - Cid and Lucy.milk rename to presets/presets_stock/nil - Cid and Lucy.milk diff --git a/presets_milkdrop/nil - Disco Comet.milk b/presets/presets_stock/nil - Disco Comet.milk similarity index 100% rename from presets_milkdrop/nil - Disco Comet.milk rename to presets/presets_stock/nil - Disco Comet.milk diff --git a/presets_milkdrop/nil - Singularity in My Oscilloscope.milk b/presets/presets_stock/nil - Singularity in My Oscilloscope.milk similarity index 100% rename from presets_milkdrop/nil - Singularity in My Oscilloscope.milk rename to presets/presets_stock/nil - Singularity in My Oscilloscope.milk diff --git a/presets_milkdrop/nil - Vortex of Vortices.milk b/presets/presets_stock/nil - Vortex of Vortices.milk similarity index 100% rename from presets_milkdrop/nil - Vortex of Vortices.milk rename to presets/presets_stock/nil - Vortex of Vortices.milk diff --git a/presets/presets_stock/project.tga b/presets/presets_stock/project.tga new file mode 100644 index 0000000000..a443a5d6e3 Binary files /dev/null and b/presets/presets_stock/project.tga differ diff --git a/presets/presets_stock/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_stock/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..8dad83227f --- /dev/null +++ b/presets/presets_stock/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets/presets_stock/shifter - escape the worm - EoS + Phat 5362.milk b/presets/presets_stock/shifter - escape the worm - EoS + Phat 5362.milk new file mode 100644 index 0000000000..123b784df4 --- /dev/null +++ b/presets/presets_stock/shifter - escape the worm - EoS + Phat 5362.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006543 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.125000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.336672 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3=q3*q3*0.5 + 0.1; +per_frame_40= +per_frame_41=q4 = mt; +per_frame_42=q5 = bt; +per_frame_43= +per_frame_44=cx = q1; +per_frame_45=cy = q2; +per_frame_46= +per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_52= +per_frame_53=q6 = rmod; +per_frame_54= +per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_56= +per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_58= +per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.5;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_26= diff --git a/presets/presets_tryptonaut/!!!---flexi + amandio c - organic12-3d-2.milk b/presets/presets_tryptonaut/!!!---flexi + amandio c - organic12-3d-2.milk new file mode 100755 index 0000000000..23d259ca85 --- /dev/null +++ b/presets/presets_tryptonaut/!!!---flexi + amandio c - organic12-3d-2.milk @@ -0,0 +1,498 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.958 +fWaveSmoothing=0.450 +fWaveParam=0.000 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.320 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.000 +ob_g=0.100 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=25.600 +nMotionVectorsY=9.600 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.91581 +wavecode_0_smoothing=0.10000 +wavecode_0_r=0.200 +wavecode_0_g=0.300 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=0.000 +wavecode_2_g=0.200 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.090 +shapecode_0_y=0.900 +shapecode_0_rad=0.22437 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.76002 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.600 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.260 +shapecode_1_y=0.200 +shapecode_1_rad=0.39317 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=6.19589 +shapecode_1_r=0.000 +shapecode_1_g=0.550 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.400 +shapecode_1_b2=0.400 +shapecode_1_a2=0.070 +shapecode_1_border_r=0.300 +shapecode_1_border_g=0.700 +shapecode_1_border_b=0.800 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.503 +shapecode_2_y=0.500 +shapecode_2_rad=0.03886 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.60986 +shapecode_2_r=1.000 +shapecode_2_g=0.100 +shapecode_2_b=0.000 +shapecode_2_a=0.900 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.200 +shapecode_3_border_g=0.700 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1= +per_frame_init_2=//******** INITIALIZATION ********* +per_frame_init_3=//---------- some global vars, do not change ------------- +per_frame_init_4=avg = 0.01; +per_frame_init_5=q7 = .25; //MyZoom +per_frame_init_6=q8 = rand(2.0)-1.0; //fractal modifier +per_frame_init_7=//q8 = 1; //# +per_frame_init_8=q16 = 1 + rand(2); //Tele ; rather fish eye +per_frame_init_9=//q16 = 1; //# +per_frame_init_10=q18 = rand(0.8)+.1; //brightness balance back/front +per_frame_init_11=q30 = 1; //logarithmic Z-Dist storage; unused +per_frame_init_12=q31 =128; +per_frame_init_13=start = 1; travel = 0; RotZ = 0; look = 0; slow = 0; t0 = time+3; lampx = .5; lampy = .5; +per_frame_init_14=cran0 = rand(1); +per_frame_init_15=n = 0; loop (10000, gmegabuf(n)=0; n=n+1; ); +per_frame_init_16=n = 0; loop (10000, megabuf(n)=0; n=n+1; ); +per_frame_init_17=trelx = 0; trely = 0; trelz = 0; +per_frame_init_18=reg20 = 1; reg21 = 0; reg22 = 0; reg23 = 0; reg24 = 1; reg25 = 0; reg26 = 0; reg27 = 0; reg28 = 1; +per_frame_init_19= +per_frame_init_20=//Find random starting point +per_frame_init_21=while (exec2( +per_frame_init_22= ran1 = rand(800)/100; ran2 = rand(800)/100; ran3 = rand(800)/100; +per_frame_init_23= PosX = rand(5)-2; PosY = rand(5)-2; PosZ = rand(5)-2; +per_frame_init_24= +per_frame_init_25=// PosX = 3.3; PosY = 2; PosZ = -2; ran1 = 0; ran2 = 0; ran3 = 0; //# +per_frame_init_26= +per_frame_init_27= c1 = cos(ran1); c2 = cos(ran2); c3 = cos(ran3); +per_frame_init_28= s1 = sin(ran1); s2 = sin(ran2); s3 = sin(ran3); +per_frame_init_29= +per_frame_init_30= reg20 = c2*c1; reg21 = c2*s1; reg22 = -s2; +per_frame_init_31= reg23 = s3*s2*c1 - c3*s1; reg24 = s3*s2*s1 + c3*c1; reg25 = s3*c2; +per_frame_init_32= reg26 = c3*s2*c1 + s3*s1; reg27 = c3*s2*s1 - s3*c1; reg28 = c3*c2; +per_frame_init_33= +per_frame_init_34= //***********BOT************* +per_frame_init_35= //Coord. Trans. must exactly match def in warp S. !!!! +per_frame_init_36= dist = 0.001; +per_frame_init_37= while (exec2( +per_frame_init_38= uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7; +per_frame_init_39= uvx += PosX; uvy += PosY; uvz += PosZ; +per_frame_init_40= uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5); +per_frame_init_41= uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5); +per_frame_init_42= uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5); +per_frame_init_43= uvx0 = uvx+q8; uvy0 = uvy+q8; uvz0 = uvz+q8; +per_frame_init_44= loop (7+1, +per_frame_init_45= uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx)); +per_frame_init_46= uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy)); +per_frame_init_47= uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz)); +per_frame_init_48= slen = uvx*uvx + uvy*uvy + uvz*uvz; +per_frame_init_49= uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; +per_frame_init_50= uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; +per_frame_init_51= uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; +per_frame_init_52= ); +per_frame_init_53= len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz); +per_frame_init_54= dist *= 1.05; +per_frame_init_55= ,(dist < 0.6)*(len > 30))); +per_frame_init_56=,(dist < .06))); //end while +per_frame_init_57= +per_frame_1=fps_ = .0 * fps_ + 1*if(fps<=25,fps,25+.5*(fps-25)); +per_frame_2=dec_s = 1-.06*30/fps_; +per_frame_3=beat = (time > t0+3); t0 = if(beat, time, t0); +per_frame_4= +per_frame_5=speed = min(0.2,dist_-.02) * (1+2*avg) *(1-slow*.0)*.7/q7; //# +per_frame_6=ds = ds * dec_s + (1-dec_s)*speed*.25/fps_; +per_frame_7=RotZ = if (RotZ==0,beat*(rand(100)<20*travel)*(rand(10)/10-.3), +per_frame_8= bnot(beat*(rand(100)<30))*RotZ); +per_frame_9=slow = if (bnot(slow), beat*(rand(1000*avg)<6), bnot(beat*(rand(100)<50))); +per_frame_10=look = if (bnot(look), beat*(rand(1000*speed)<12), bnot(beat*(rand(100)<50))); +per_frame_11= +per_frame_12=//Lamp View +per_frame_13=lx = if (beat,rand(150)/200+.15,lx); +per_frame_14=ly = if (beat,rand(150)/200+.15,ly); +per_frame_15=lampx = lampx * dec_s + (1-dec_s)*if (look,lx,0.5); +per_frame_16=lampy = lampy * dec_s + (1-dec_s)*if (look,ly,0.5); +per_frame_17=q1 = lampx; q2 = lampy; +per_frame_18= +per_frame_19=//Position +per_frame_20=DirX= reg26; DirY= reg27; DirZ = reg28; +per_frame_21=PosX = PosX + ds*DirX ; PosY = PosY + ds*DirY; PosZ = PosZ + ds*DirZ; +per_frame_22=q4 = PosX; q5 = PosY; q6 = PosZ; +per_frame_23= +per_frame_24=angchg = (.2-dist_)*(dist_ < .2)*2; +per_frame_25=travel = if (angchg > 0,0,travel+ds); +per_frame_26=v1 = v1 * dec_s + (1-dec_s)* RotZ * ds; +per_frame_27=v2 = v2 *dec_s + (1-dec_s)*angchg *xslope/fps_; +per_frame_28=v3 = v3 *dec_s + (1-dec_s)*(angchg *yslope/fps_ + 2*v1*sin(time*.1)); +per_frame_29=//v2 = .008; +per_frame_30=//push old RotMat +per_frame_31=reg30 =reg20; reg31 =reg21; reg32 =reg22; +per_frame_32=reg33 =reg23; reg34 =reg24; reg35 =reg25; +per_frame_33=reg36 =reg26; reg37 =reg27; reg38 =reg28; +per_frame_34= +per_frame_35=n = 0; avg = 0; +per_frame_36=loop (5, +per_frame_37= n = n+1; +per_frame_38= //new Rot. Mat for infinitesimal angles +per_frame_39= ran1 = rand(100)/100; +per_frame_40= ran2 = rand(100)/200-.25; +per_frame_41= tx = cos(n*1.57+ran2) * (n <= 4)*ran1; ty = sin(n*1.57+ran2) * (n <= 4)*ran1; +per_frame_42= c1 = cos(v1); c2 = cos(v2+ty); c3 = cos(v3+tx); +per_frame_43= s1 = sin(v1); s2 = sin(v2+ty); s3 = sin(v3+tx); +per_frame_44= reg10 = c2*c1; reg11 = c2*s1; reg12 = -s2; +per_frame_45= reg13 = s3*s2*c1 - c3*s1; reg14 = s3*s2*s1 + c3*c1; reg15 = s3*c2; +per_frame_46= reg16 = c3*s2*c1 + s3*s1; reg17 = c3*s2*s1 - s3*c1; reg18 = c3*c2; +per_frame_47= +per_frame_48= //pop old RotMat +per_frame_49= reg20 =reg30; reg21 =reg31; reg22 =reg32; +per_frame_50= reg23 =reg33; reg24 =reg34; reg25 =reg35; +per_frame_51= reg26 =reg36; reg27 =reg37; reg28 =reg38; +per_frame_52= +per_frame_53= //Multiply new RotMat by old one +per_frame_54= q20 = reg10*reg20 + reg11*reg23 + reg12*reg26; +per_frame_55= q21 = reg10*reg21 + reg11*reg24 + reg12*reg27; +per_frame_56= q22 = reg10*reg22 + reg11*reg25 + reg12*reg28; +per_frame_57= q23 = reg13*reg20 + reg14*reg23 + reg15*reg26; +per_frame_58= q24 = reg13*reg21 + reg14*reg24 + reg15*reg27; +per_frame_59= q25 = reg13*reg22 + reg14*reg25 + reg15*reg28; +per_frame_60= q26 = reg16*reg20 + reg17*reg23 + reg18*reg26; +per_frame_61= q27 = reg16*reg21 + reg17*reg24 + reg18*reg27; +per_frame_62= q28 = reg16*reg22 + reg17*reg25 + reg18*reg28; +per_frame_63= +per_frame_64= reg20 =q20; reg21 =q21; reg22 =q22; +per_frame_65= reg23 =q23; reg24 =q24; reg25 =q25; +per_frame_66= reg26 =q26; reg27 =q27; reg28 =q28; +per_frame_67= +per_frame_68= //***********BOT************* +per_frame_69= //Coord. Trans. must exactly match def in warp S. !!!! +per_frame_70= dist = 0.002; +per_frame_71= while (exec2( +per_frame_72= uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7; +per_frame_73= uvx += PosX; uvy += PosY; uvz += PosZ; +per_frame_74= uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5); +per_frame_75= uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5); +per_frame_76= uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5); +per_frame_77= uvx0 = uvx+q8; uvy0 = uvy+q8; uvz0 = uvz+q8; +per_frame_78= loop (7+1, +per_frame_79= uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx)); +per_frame_80= uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy)); +per_frame_81= uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz)); +per_frame_82= slen = uvx*uvx + uvy*uvy + uvz*uvz; +per_frame_83= uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; +per_frame_84= uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; +per_frame_85= uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; +per_frame_86= ); +per_frame_87= len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz); +per_frame_88= dist *= 1.1; +per_frame_89= ,(dist < 0.6)*(len > 30))); +per_frame_90= megabuf(n) = megabuf(n)*dec_s + (1-dec_s)*dist; //stores the 4 trial points +per_frame_91= avg = avg+abs(megabuf(n)/5); +per_frame_92=); //end loop 5 +per_frame_93= +per_frame_94=n = 0; avg = 0; loop (5, n=n+1; avg = avg+abs(megabuf(n)/5)); +per_frame_95= +per_frame_96=xslope = min(max(2/avg*(megabuf(1)-megabuf(3)),-3),3); +per_frame_97=yslope = min(max(2/avg*(megabuf(4)-megabuf(2)),-3),3); +per_frame_98=monitor = avg; +per_frame_99=dist_ = dist_*dec_s + (1-dec_s)*dist; +per_frame_100= +per_frame_101=q10 = ds*q7; //compensation of lin. movement in GetDist and zoom uv +per_frame_102=q14 = 1*abs(ds) + 2*(abs(v1) + abs(v2) + abs(v3)) + 1.0/255 + start*.05; +per_frame_103=q19 = .6 + .4*sin(time*.02+cran0*6); //brightness backgd +per_frame_104=start = start * .9; +per_frame_105=q11 = v1; q12 = v2; q13 = v3; +per_frame_106=//forward comp. of Rotation +per_frame_107=monitor = q16; +per_frame_108= +per_frame_109= +per_frame_110=bb = bb*0.99 + bass*0.02; +per_frame_111=mm = mm*0.99 + mid*0.02; +per_frame_112=tt = tt*0.99 + treb*0.02; +per_frame_113= +per_frame_114=mx = max(max(bb,mm),tt); +per_frame_115=mn = min(min(bb,mm),tt); +per_frame_116= +per_frame_117=h1 = (bb-mn)/(mx-mn); +per_frame_118=h2 = (mm-mn)/(mx-mn); +per_frame_119=h3 = (tt-mn)/(mx-mn); +per_frame_120= +per_frame_121=v = 0.1333/fps; +per_frame_122=bm = bm + (h1-h2)*v; +per_frame_123=mt = mt + (h2-h3)*v; +per_frame_124=bt = bt + (h1-h3)*v; +per_frame_125= +per_frame_126=w = bm*2; +per_frame_127=q3 = sin(w); +per_frame_128=q9 = cos(w); +per_frame_129= +per_frame_130= +per_frame_131=q17 = bm; +per_frame_132=q18 = mt; +per_frame_133=q19 = bt; +per_pixel_1= warp = 0.0; zoom = 1; dx = -q12/q16*(1+0*pow(x-.5,2)); dy = q13/q16*(1+0*pow(y-.5,2)); rot =q11; +warp_1=`float dist, struc, len; float2 uv0, uv1; float3 uv2; float4 box; +warp_2=`static const float3x3 RotMat = float3x3(q20,q21,q22,q23,q24,q25,q26,q27,q28); +warp_3=` +warp_4=`static const float3 CamPos = float3(q4,q5,q6); +warp_5=`static const float sustain = 1.0123 - q14, change = q14, ds = q10; +warp_6=`static const float myzoom = q7, limit = 24, tele=q16; +warp_7=` +warp_8=`float GetDist(float2 uvi) {float2 tmp; tmp = tex2D (sampler_pc_main, uvi).gb; +warp_9=` return 1-(tmp.y + 1.0/255*tmp.x + ds*.7);} +warp_10=` +warp_11=`float2 PutDist(float x) {float fg, fb; fg = modf((1-x)*255.0,fb); +warp_12=` return (float2(fg,fb/255.0));} +warp_13=` +warp_14=` +warp_15=`float MinDist (float2 uvi) +warp_16=`{ +warp_17=` float tmp; float4 nb; float4 nb2; float2 pix; +warp_18=` pix = texsize.zw*(1.0+length(uvi-0.5)*8.0); +warp_19=` tmp = GetDist(uvi); +warp_20=` nb.x = GetDist(uvi+pix*float2(-1,-1)); +warp_21=` nb.y = GetDist(uvi+pix*float2(1,-1)); +warp_22=` nb.z = GetDist(uvi+pix*float2(1,1)); +warp_23=` nb.w = GetDist(uvi+pix*float2(-1,1)); +warp_24=` nb2.x = GetDist(uvi+pix*float2(0,-1)); +warp_25=` nb2.y = GetDist(uvi+pix*float2(1,0)); +warp_26=` nb2.z = GetDist(uvi+pix*float2(0,1)); +warp_27=` nb2.w = GetDist(uvi+pix*float2(-1,0)); +warp_28=` //Eo.S. more efficient usage of min to get min value of all 8 GetDist() calls, removes 11ALU +warp_29=` nb = min( nb, nb2 ); +warp_30=` nb.xy = min( nb.xy, nb.zw ); +warp_31=` tmp = min( nb.x, nb.y ); +warp_32=` return tmp; +warp_33=`} +warp_34=` +warp_35=`float3 Get1 (float2 uvi) {float3 tmp; float2 pix; +warp_36=` return lerp (GetPixel(uvi), tmp = GetBlur1(uvi),change*4);} //# +warp_37=` +warp_38=`float4 mbox (float3 uvi) {float3 zz, zz0; float tmp, li; +warp_39=` zz = uvi; zz0 = zz+q8; li=0; +warp_40=` for (int n = 0; n <= 7; n++) { +warp_41=` zz = 2.0*clamp(zz,-1,1)-zz; tmp = dot(zz,zz); +warp_42=` if (tmp <= 0.25) {zz *= 4; li=limit;} else if (tmp <= 1) {zz /= pow(tmp,1);} +warp_43=` zz = 2.6*zz + zz0;} +warp_44=` return float4(zz,li);} +warp_45=` +warp_46=`shader_body { +warp_47=`uv1 = (uv-.5)*aspect.xy*tele; +warp_48=`uv = (uv-.5)*(1-ds/(GetDist(uv))) + .5; +warp_49=` +warp_50=`float3 noise = frac(8*tex2D (sampler_noise_lq,uv+rand_frame.yz)); +warp_51=` +warp_52=`dist = noise.r; +warp_53=` if (noise.g > 0.2) +warp_54=` { +warp_55=` float3 noiseBiased = noise - float3( 0.4, 0.5, 0.5 ); +warp_56=`//Eo.S. combine the subtraction on noise to a single float3 to ensure compiler does the subtraction in a single ALU +warp_57=` dist = MinDist( (noiseBiased.zy) * 0.003 +uv ) + 0.008 * (noiseBiased.x) * abs(noiseBiased.y); +warp_58=` } +warp_59=`dist = min(dist,GetDist(uv)); +warp_60=`float tdist = dist + pow(dist,3); +warp_61=`uv2 = mul(float3(uv1*tdist,tdist-.0)/myzoom,RotMat)+CamPos; +warp_62=`uv2 = (frac(uv2/8.0+.5)-.5)*8.0; +warp_63=`box = mbox (uv2); +warp_64=`len = (length(box.xyz)); +warp_65=`struc = length(box.xyw)/limit; +warp_66=`float dec = log(1+len/limit)*.02*(1-GetDist(uv)); +warp_67=`if ((dist <= GetDist(uv)) && (len < limit) && (dist > 0.005)){ +warp_68=` ret.r = (1-sustain)*struc+sustain*(Get1(uv).r); ret.gb= PutDist(dist); } +warp_69=` else {ret = tex2D(sampler_fc_main,uv)*float3(sustain,0,1-dec)-float3(1.0/255,0,change/6);} +warp_70=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` d = texsize.zw*1.5; +comp_7=` dx = GetPixel(uv_orig + float2(1,0)*d) - GetPixel(uv_orig - float2(1,0)*d); +comp_8=` dy = GetPixel(uv_orig + float2(0,1)*d) - GetPixel(uv_orig - float2(0,1)*d); +comp_9=` +comp_10=` +comp_11=`ret = GetPixel(uv).x*(1-length(float2(dx.y,dy.y)*8))*pow(hue_shader,6)*1.4; +comp_12=`ret = lerp(ret,float3(1,1,1),length(float2(dx.z,dy.z)*4)); +comp_13=` +comp_14=` +comp_15=`} diff --git a/presets/presets_tryptonaut/11.milk b/presets/presets_tryptonaut/11.milk new file mode 100755 index 0000000000..c42cc7afc6 --- /dev/null +++ b/presets/presets_tryptonaut/11.milk @@ -0,0 +1,328 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=5.552 +fWaveSmoothing=0.504 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.50330 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.900 +shapecode_0_rad=0.15493 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.22613 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.600 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.05 + rand(900)/1000; +shape_2_per_frame2=y = 0.05 + rand(900)/1000; +shape_2_per_frame3=ang = rand(320)/100; +shape_2_per_frame4= +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.120 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_26=rott = p3*3.1416/2; +per_frame_27= +per_frame_28=rot1 = rot1 + q26; +per_frame_29=q25 = .01*rot1; +per_frame_30= +per_frame_31=q27 = 8-index; +per_frame_32=q28 = index3; +per_frame_33= +per_frame_34=dx1 = dec_med*dx1 + (1-dec_med)*bnot(index2); +per_frame_35=q29 = dx1; +per_frame_36=monitor = q29; +per_frame_37= +per_frame_38=q1 = cos(rott); +per_frame_39=q2 = sin(rott); +per_frame_40=q3 = -q2; +per_frame_41=q4 = q1; +per_frame_42= +per_frame_43= +per_pixel_1=rot = 0; +per_pixel_2=dx = .02*q29; +per_pixel_3=zoom = 1; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/124.milk b/presets/presets_tryptonaut/124.milk new file mode 100755 index 0000000000..8c8f698788 --- /dev/null +++ b/presets/presets_tryptonaut/124.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000 +fGammaAdj=1.840 +fDecay=0.500 +fVideoEchoZoom=1.105 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=0.911 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=1.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=decay=0.1; +per_frame_1=sx=1.000; +per_frame_2=sy=1.000; +per_frame_3= +per_frame_4=//dy=0.0058; +per_frame_5= +per_frame_6=vol=(bass+mid+treb_att)*.3333; +per_frame_7= +per_frame_8=redsine=.5+.15*bass*sin(time*3); +per_frame_9=greensine=.5+.15*mid*sin(time*2); +per_frame_10=bluesine=.5+.15*treb*sin(time); +per_frame_11= +per_frame_12=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +per_frame_13=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +per_frame_14=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +per_frame_15= +per_frame_16=//q1=redif; +per_frame_17=//q2=greenif; +per_frame_18=//q3=blueif; +per_frame_19= +per_frame_20=q4=.5+.05*sin(time*.52)*cos(time*.39); +per_frame_21=q5=.5+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=zoom=zoom+.015*rad+.015*treb_att*rad; +per_pixel_2= +per_pixel_3=sy=sy+.1*cos(sin(y*0.05+time)-sin(20*x+time)*.5*treb_att); +per_pixel_4=sx=sx+.1*sin(cos(x*70+time)+cos(y*20+time)*.5*treb_att); +per_pixel_5= +per_pixel_6=//q6=dxm; +per_pixel_7=//q7=dym; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv-.5) * aspect.xy; +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=`float z = q10*24*length(((uv1.x)*(uv1.y))); +warp_11=`float2 d = normalize(uv1); +warp_12=`float2 rs = clamp(tan(z)*d,-2,2); +warp_13=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_14=`uv -= rs/200; +warp_15=` +warp_16=`uv6 = .4*sin(uv*6+rand_frame*16); +warp_17=`mus = .1/(length(uv6)); +warp_18=`mus *= .5*(1+roam_cos); +warp_19=` +warp_20=`float3 blur = GetBlur2(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.02 + .1*mus; +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.025) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_tryptonaut/158.milk b/presets/presets_tryptonaut/158.milk new file mode 100755 index 0000000000..ab633c6336 --- /dev/null +++ b/presets/presets_tryptonaut/158.milk @@ -0,0 +1,541 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=-0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.390 +mv_g=0.440 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.300 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=flip=flip+1; +wave_0_per_point4=flip=flip*below(flip,2); +wave_0_per_point5= +wave_0_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_0_per_point7= +wave_0_per_point8=xp=sin(n+phase); +wave_0_per_point9=yp=cos(n+phase); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//rotate on y during draw +wave_0_per_point13=ang=n*2+phase; +wave_0_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point15=yq=yp; +wave_0_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point17= +wave_0_per_point18=r1=0.1;g1=0.3;b1=1; +wave_0_per_point19=r2=0.7;g2=0.1;b2=1.0; +wave_0_per_point20=fade=xq*0.5 + 0.5; +wave_0_per_point21=r=r1*fade + r2*(1-fade); +wave_0_per_point22=g=g1*fade + g2*(1-fade); +wave_0_per_point23=b=b1*fade + b2*(1-fade); +wave_0_per_point24= +wave_0_per_point25=//rotation; +wave_0_per_point26=ang=time*0.1; +wave_0_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point28=yp=yq; +wave_0_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point30= +wave_0_per_point31=ang=time*0.17; +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point35= +wave_0_per_point36= +wave_0_per_point37=//push into viewspace +wave_0_per_point38=zq=zq+3.1; +wave_0_per_point39= +wave_0_per_point40= +wave_0_per_point41=//project into screenspace +wave_0_per_point42=xs=xq/zq; +wave_0_per_point43=ys=yq/zq; +wave_0_per_point44= +wave_0_per_point45= +wave_0_per_point46=x=xs+0.5; +wave_0_per_point47=y=ys*1.3+0.5; +wave_0_per_point48=a=(1)*0.3 * (pow(sin(n*4+time)*0.5+0.5,2)); +wave_0_per_point49= +wave_0_per_point50=spark=sin(phase*35); +wave_0_per_point51=r=if( above(spark,0.93) , 0.6 , r); +wave_0_per_point52=g=if( above(spark,0.93) , 0.8 , g); +wave_0_per_point53=b=if( above(spark,0.93) , 1.0 , b); +wave_0_per_point54= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*0.03+time*0.01; +wave_1_per_point2= +wave_1_per_point3=flip=flip+1; +wave_1_per_point4=flip=flip*below(flip,2); +wave_1_per_point5= +wave_1_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_1_per_point7= +wave_1_per_point8=xp=sin(n+phase); +wave_1_per_point9=yp=cos(n+phase); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//rotate on y during draw +wave_1_per_point13=ang=n*2+phase; +wave_1_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point15=yq=yp; +wave_1_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point17= +wave_1_per_point18=r1=0.1;g1=0.3;b1=1; +wave_1_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_1_per_point20=fade=xq*0.5 + 0.5; +wave_1_per_point21=r=r1*fade + r2*(1-fade); +wave_1_per_point22=g=g1*fade + g2*(1-fade); +wave_1_per_point23=b=b1*fade + b2*(1-fade); +wave_1_per_point24= +wave_1_per_point25=//rotation; +wave_1_per_point26=ang=time*0.1; +wave_1_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_1_per_point28=yp=yq; +wave_1_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_1_per_point30= +wave_1_per_point31=ang=time*0.17; +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=//push into viewspace +wave_1_per_point38=zq=zq+3.1; +wave_1_per_point39= +wave_1_per_point40= +wave_1_per_point41=//project into screenspace +wave_1_per_point42=xs=xq/zq; +wave_1_per_point43=ys=yq/zq; +wave_1_per_point44= +wave_1_per_point45= +wave_1_per_point46=x=xs+0.5; +wave_1_per_point47=y=ys*1.3+0.5; +wave_1_per_point48= +wave_1_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_1_per_point50= +wave_1_per_point51=a=sample*wave*0.4; +wave_1_per_point52= +wave_1_per_point53= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*0.03+time*0.01+2.1; +wave_2_per_point2= +wave_2_per_point3=flip=flip+1; +wave_2_per_point4=flip=flip*below(flip,2); +wave_2_per_point5= +wave_2_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_2_per_point7= +wave_2_per_point8=xp=sin(n+phase); +wave_2_per_point9=yp=cos(n+phase); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//rotate on y during draw +wave_2_per_point13=ang=n*2+phase; +wave_2_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point15=yq=yp; +wave_2_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point17= +wave_2_per_point18=r1=0.1;g1=0.3;b1=1; +wave_2_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_2_per_point20=fade=xq*0.5 + 0.5; +wave_2_per_point21=r=r1*fade + r2*(1-fade); +wave_2_per_point22=g=g1*fade + g2*(1-fade); +wave_2_per_point23=b=b1*fade + b2*(1-fade); +wave_2_per_point24= +wave_2_per_point25=//rotation; +wave_2_per_point26=ang=time*0.1; +wave_2_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_2_per_point28=yp=yq; +wave_2_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_2_per_point30= +wave_2_per_point31=ang=time*0.17; +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37=//push into viewspace +wave_2_per_point38=zq=zq+3.1; +wave_2_per_point39= +wave_2_per_point40= +wave_2_per_point41=//project into screenspace +wave_2_per_point42=xs=xq/zq; +wave_2_per_point43=ys=yq/zq; +wave_2_per_point44= +wave_2_per_point45= +wave_2_per_point46=x=xs+0.5; +wave_2_per_point47=y=ys*1.3+0.5; +wave_2_per_point48= +wave_2_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_2_per_point50= +wave_2_per_point51=a=sample*wave*0.4; +wave_2_per_point52= +wave_2_per_point53= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*0.03+time*0.01+4.2; +wave_3_per_point2= +wave_3_per_point3=flip=flip+1; +wave_3_per_point4=flip=flip*below(flip,2); +wave_3_per_point5= +wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_3_per_point7= +wave_3_per_point8=xp=sin(n+phase); +wave_3_per_point9=yp=cos(n+phase); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//rotate on y during draw +wave_3_per_point13=ang=n*2+phase; +wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yq=yp; +wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=r1=0.1;g1=0.3;b1=1; +wave_3_per_point19=r2=1.0;g2=0.1;b2=0.5; +wave_3_per_point20=fade=xq*0.5 + 0.5; +wave_3_per_point21=r=r1*fade + r2*(1-fade); +wave_3_per_point22=g=g1*fade + g2*(1-fade); +wave_3_per_point23=b=b1*fade + b2*(1-fade); +wave_3_per_point24= +wave_3_per_point25=//rotation; +wave_3_per_point26=ang=time*0.1; +wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point28=yp=yq; +wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point30= +wave_3_per_point31=ang=time*0.17; +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=//push into viewspace +wave_3_per_point38=zq=zq+3.1; +wave_3_per_point39= +wave_3_per_point40= +wave_3_per_point41=//project into screenspace +wave_3_per_point42=xs=xq/zq; +wave_3_per_point43=ys=yq/zq; +wave_3_per_point44= +wave_3_per_point45= +wave_3_per_point46=x=xs+0.5; +wave_3_per_point47=y=ys*1.3+0.5; +wave_3_per_point48= +wave_3_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; +wave_3_per_point50= +wave_3_per_point51=a=sample*wave*0.4; +wave_3_per_point52= +wave_3_per_point53= +shapecode_0_enabled=1 +shapecode_0_sides=15 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.13478 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.62835 +shapecode_0_r=0.300 +shapecode_0_g=0.800 +shapecode_0_b=1.000 +shapecode_0_a=0.080 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=11 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10160 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.300 +shapecode_1_g=0.600 +shapecode_1_b=1.000 +shapecode_1_a=0.380 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=10 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.94761 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.200 +shapecode_2_b=0.800 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=a=mid_att*mid_att*mid*0.002 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.04027 +shapecode_3_r=1.000 +shapecode_3_g=0.200 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=time*0.1; +shape_3_per_frame2=a=mid*mid_att; +shape_3_per_frame3=a=min(a,1); +shape_3_per_frame4=a=1-a*0.4 * above(treb,0.9) +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_26=rott = p3*3.1416/2; +per_frame_27= +per_frame_28=rot1 = rot1 + q26; +per_frame_29=q25 = .01*rot1; +per_frame_30= +per_frame_31=q27 = 8-index; +per_frame_32=q28 = index3; +per_frame_33= +per_frame_34=dx1 = dec_med*dx1 + (1-dec_med)*bnot(index2); +per_frame_35=q29 = dx1; +per_frame_36=monitor = q29; +per_frame_37= +per_frame_38=q1 = cos(rott); +per_frame_39=q2 = sin(rott); +per_frame_40=q3 = -q2; +per_frame_41=q4 = q1; +per_frame_42= +per_frame_43= +per_pixel_1=rot = 0; +per_pixel_2=dx = .02*q29; +per_pixel_3=zoom = 1; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.5+.01*rand_frame)); +warp_6=`noiseVal = 0.01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *0.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .985*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .2; +comp_9=`float rad1 = 0.15/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.15*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.15*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3.5*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-200*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/185.milk b/presets/presets_tryptonaut/185.milk new file mode 100755 index 0000000000..a58898c638 --- /dev/null +++ b/presets/presets_tryptonaut/185.milk @@ -0,0 +1,519 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.700 +fDecay=0.960 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.060 +wavecode_0_g=0.040 +wavecode_0_b=0.110 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=time*0.5; +wave_0_per_frame2=t2=time*0.33; +wave_0_per_frame3=t3=time*0.23; +wave_0_per_frame4=t8=-1 +wave_0_per_point1=scale=1+q1; +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283*4; +wave_0_per_point4=third=6.283/3; +wave_0_per_point5=cycle=int(sample*4); +wave_0_per_point6=pos=t8; +wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_0_per_point9=t8=pos; +wave_0_per_point10=points= equal(pos,0); +wave_0_per_point11=a=equal(pos,0)*q2; +wave_0_per_point12= +wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_0_per_point14=yp=pos; +wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_0_per_point16= +wave_0_per_point17=//rot x +wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_0_per_point19= +wave_0_per_point20=sang=sin(ang);cang=cos(ang); +wave_0_per_point21=xq=xp*sang + yp*cang; +wave_0_per_point22=yq=xp*cang - yp*sang; +wave_0_per_point23=zq=zp; +wave_0_per_point24=xp=xq;yp=yq;zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rot y +wave_0_per_point27=ang=3.1415/2; +wave_0_per_point28=step1=equal(cycle,2)*third; +wave_0_per_point29=step2=equal(cycle,3)*third*2; +wave_0_per_point30=ang=ang+step1+step2; +wave_0_per_point31=ang=ang ; +wave_0_per_point32= +wave_0_per_point33=sang=sin(ang);cang=cos(ang); +wave_0_per_point34=xq=xp*sang + zp*cang; +wave_0_per_point35=yq=yp; +wave_0_per_point36=zq=xp*cang - zp*sang; +wave_0_per_point37=xp=xq;yp=yq;zp=zq; +wave_0_per_point38= +wave_0_per_point39=ang=time*0.23; +wave_0_per_point40=sang=sin(ang);cang=cos(ang); +wave_0_per_point41=xq=xp;; +wave_0_per_point42=yq=yp*sang + zp*cang; +wave_0_per_point43=zq=yp*cang - zp*sang; +wave_0_per_point44=xp=xq;yp=yq;zp=zq; +wave_0_per_point45= +wave_0_per_point46=ang=time*0.6; +wave_0_per_point47=sang=sin(ang);cang=cos(ang); +wave_0_per_point48=xq=xp*sang + zp*cang; +wave_0_per_point49=yq=yp; +wave_0_per_point50=zq=xp*cang - zp*sang; +wave_0_per_point51=xp=xq;yp=yq;zp=zq; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=zp=zp+4.1; +wave_0_per_point55=xs=xp/zp + 0.5; +wave_0_per_point56=ys=yp/zp *1.333 + 0.5; +wave_0_per_point57= +wave_0_per_point58=x=xs;y=ys; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61= +wave_0_per_point62=black=1 - equal(pos,0); +wave_0_per_point63=r=r*black; +wave_0_per_point64=g=g*black; +wave_0_per_point65=b=b*black; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.060 +wavecode_1_g=0.040 +wavecode_1_b=0.020 +wavecode_1_a=1.000 +wave_1_per_point1=scale=1+q1; +wave_1_per_point2= +wave_1_per_point3=n=sample*6.283*4; +wave_1_per_point4=third=6.283/3; +wave_1_per_point5=cycle=int(sample*4); +wave_1_per_point6=pos=t8; +wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_1_per_point9=t8=pos; +wave_1_per_point10=points= equal(pos,0); +wave_1_per_point11=a=equal(pos,0)*q2; +wave_1_per_point12= +wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_1_per_point14=yp=pos; +wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_1_per_point16= +wave_1_per_point17=//rot x +wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_1_per_point19= +wave_1_per_point20=sang=sin(ang);cang=cos(ang); +wave_1_per_point21=xq=xp*sang + yp*cang; +wave_1_per_point22=yq=xp*cang - yp*sang; +wave_1_per_point23=zq=zp; +wave_1_per_point24=xp=xq;yp=yq;zp=zq; +wave_1_per_point25= +wave_1_per_point26=//rot y +wave_1_per_point27=ang=3.1415/2; +wave_1_per_point28=step1=equal(cycle,2)*third; +wave_1_per_point29=step2=equal(cycle,3)*third*2; +wave_1_per_point30=ang=ang+step1+step2; +wave_1_per_point31=ang=ang ; +wave_1_per_point32=sang=sin(ang);cang=cos(ang); +wave_1_per_point33=xq=xp*sang + zp*cang; +wave_1_per_point34=yq=yp; +wave_1_per_point35=zq=xp*cang - zp*sang; +wave_1_per_point36=xp=xq;yp=yq;zp=zq; +wave_1_per_point37= +wave_1_per_point38=yp=-yp; +wave_1_per_point39=ang=time*0.23; +wave_1_per_point40=sang=sin(ang);cang=cos(ang); +wave_1_per_point41=xq=xp;; +wave_1_per_point42=yq=yp*sang + zp*cang; +wave_1_per_point43=zq=yp*cang - zp*sang; +wave_1_per_point44=xp=xq;yp=yq;zp=zq; +wave_1_per_point45= +wave_1_per_point46=ang=time*0.6; +wave_1_per_point47=sang=sin(ang);cang=cos(ang); +wave_1_per_point48=xq=xp*sang + zp*cang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cang - zp*sang; +wave_1_per_point51=xp=xq;yp=yq;zp=zq; +wave_1_per_point52= +wave_1_per_point53= +wave_1_per_point54=zp=zp+4.1; +wave_1_per_point55=xs=xp/zp + 0.5; +wave_1_per_point56=ys=yp/zp *1.333 + 0.5; +wave_1_per_point57= +wave_1_per_point58=x=xs;y=ys; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=a=a*(1-q8*0.5); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.210 +wavecode_2_g=0.120 +wavecode_2_b=0.050 +wavecode_2_a=1.000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1= +wave_2_per_point2=s=sample*6.28; +wave_2_per_point3= +wave_2_per_point4=//plot random x position via function of sample pos; +wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point6=xp=xp*0.20; +wave_2_per_point7= +wave_2_per_point8=//plot random y position via function of sample pos; +wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_2_per_point10=yp=yp*0.20; +wave_2_per_point11= +wave_2_per_point12=//plot random z position via function of sample pos; +wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_2_per_point14=zp=zp*0.25; +wave_2_per_point15= +wave_2_per_point16=//pull stars toward screen +wave_2_per_point17=zp=zp + 1 - t1; +wave_2_per_point18= +wave_2_per_point19=//correct when below 0 +wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point21= +wave_2_per_point22=//darken far stars +wave_2_per_point23=a=(1 - zp*0.5); +wave_2_per_point24= +wave_2_per_point25=zp=zp*0.7; +wave_2_per_point26= +wave_2_per_point27=x_screen=xp/zp + 0.5; +wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; +wave_2_per_point29= +wave_2_per_point30=x=x_screen; +wave_2_per_point31=y=y_screen; +wave_2_per_point32= +wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); +wave_2_per_point34= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.610 +wavecode_3_g=0.720 +wavecode_3_b=0.950 +wavecode_3_a=1.000 +wave_3_per_frame1=advance=advance+ 0.008; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; +wave_3_per_point2= +wave_3_per_point3=s=sample*6.28; +wave_3_per_point4= +wave_3_per_point5=//plot random x position via function of sample pos; +wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_3_per_point7=xp=xp*0.20; +wave_3_per_point8= +wave_3_per_point9=//plot random y position via function of sample pos; +wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point11=yp=yp*0.20; +wave_3_per_point12= +wave_3_per_point13=//plot random z position via function of sample pos; +wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_3_per_point15=zp=zp*0.25; +wave_3_per_point16= +wave_3_per_point17=//pull stars toward screen +wave_3_per_point18=zp=zp + 1 - t1; +wave_3_per_point19= +wave_3_per_point20=//correct when below 0 +wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point22= +wave_3_per_point23=//darken far stars +wave_3_per_point24=a=(1 - zp*0.5); +wave_3_per_point25=a=a*sparkle; +wave_3_per_point26= +wave_3_per_point27=zp=zp*0.7; +wave_3_per_point28= +wave_3_per_point29=x_screen=xp/zp + 0.5; +wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; +wave_3_per_point31= +wave_3_per_point32=x=x_screen; +wave_3_per_point33=y=y_screen; +wave_3_per_point34= +wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); +wave_3_per_point36= +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.32353 +shapecode_0_ang=0.31416 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.72208 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.800 +shapecode_0_b2=0.700 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=a=q8 +shapecode_1_enabled=1 +shapecode_1_sides=36 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.91974 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.98030 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.940 +shapecode_1_a2=0.060 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); +shape_1_per_frame2= +shape_1_per_frame3=ang=sin(time*0.5)*0.01; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.700 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.000 +shapecode_3_r2=0.500 +shapecode_3_g2=0.700 +shapecode_3_b2=0.800 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.400 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`//Geiss's Motion Blur +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` // this vector points exactly one pixel, in the direction of motion +warp_10=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_11=` +warp_12=` float3 s; +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_14=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_15=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_16=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_17=` +warp_18=` // darken over time +warp_19=` ret *= 0.95; +warp_20=` +warp_21=` // add noise +warp_22=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_23=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo2 = (uv - 0.5)*1.000*float2(-1,1) + 0.5; +comp_6=` float3 ret3 = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_7=` float3 ret4 = tex2D(sampler_main, uv_echo2).xyz*+saturate(GetBlur2(uv_echo2)*2.8 - 0.13); +comp_8=` ret3 = lerp(ret3,ret4,.5); +comp_9=` ret3 *= ret3; //darken +comp_10=` ret3 *= float3(.9,1.6,2.3); +comp_11=` ret3 *= 2; //gamma +comp_12=` //ret3 = pow(ret3,1-ret3); +comp_13=` +comp_14=` +comp_15=`uv =(6+2*sin(q1))*uv-sin(q1); +comp_16=`float2 m = floor(frac(uv*0.5)*2); +comp_17=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_18=` uv = float2(rad,uv_orig.y); +comp_19=` +comp_20=` +comp_21=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_22=`// ret = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_23=` float3 ret2 = tex2D(sampler_main, uv_echo).xyz*+saturate(GetBlur2(uv_echo)*2.8 - 0.13); +comp_24=`// ret = lerp(ret,ret2,.5); +comp_25=`// ret *= ret; //darken +comp_26=` ret *= float3(.9,1.6,2.3); +comp_27=` ret *= 3; //gamma +comp_28=` //ret -= lum(ret3); +comp_29=` //ret *= 2; +comp_30=` //ret = pow(ret,5); +comp_31=` //ret = ret; +comp_32=` ret = lerp(ret3.xyz,ret.zxy,.25); +comp_33=`} diff --git a/presets/presets_tryptonaut/27_super_goats - have you ever been knocked out before, sunshine..milk b/presets/presets_tryptonaut/27_super_goats - have you ever been knocked out before, sunshine..milk new file mode 100755 index 0000000000..2085e4acb6 --- /dev/null +++ b/presets/presets_tryptonaut/27_super_goats - have you ever been knocked out before, sunshine..milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.63000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.000 +wave_y=0.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=20 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.44484 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.500 +shapecode_0_g=0.500 +shapecode_0_b=0.040 +shapecode_0_a=0.170 +shapecode_0_r2=0.700 +shapecode_0_g2=0.300 +shapecode_0_b2=0.060 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.140 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ins = instance/num_inst; +shape_0_per_frame2=nq = if(equal(instance,0), 1, n); +shape_0_per_frame3=ac = 18; +shape_0_per_frame4=bc = 1; +shape_0_per_frame5=m = 100; +shape_0_per_frame6=rad = bass_att *0.1 + n * 0.002; +shape_0_per_frame7=n = (ac * nq + bc) % m; +shape_0_per_frame8=b = treb * 0.2; +shape_0_per_frame9= +shape_0_per_frame10=ang = n; +shape_0_per_frame11=//ang = 0.5 * time * ins + ins * 6.28; +shape_0_per_frame12=theta = if(1-equal(q1, 0), theta + 0.2, theta); +shape_0_per_frame13=x = 0.5 + 0.3 * sin(theta);// + 0.01*sin(ins*time*4.7); +shape_0_per_frame14=y = 0.5 + 0.3 * cos(theta);// + 0.01*cos(ins*time*7.9); +shape_0_per_frame15= +shape_0_per_frame16= +shape_0_per_frame17=a = mid*0.2; +shapecode_1_enabled=1 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=3 +shapecode_1_x=0.660 +shapecode_1_y=0.500 +shapecode_1_rad=0.73160 +shapecode_1_ang=1.44513 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.68515 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=y = 0.5 + 0.1 * sin(time*3); +shape_1_per_frame2=ang = time; +shape_1_per_frame3= +shape_1_per_frame4=//a2 = max((bass -0.7)* 0.1,0); +shape_1_per_frame5= +shape_1_per_frame6=g = 0.6+treb_att * 0.4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q1 = 1; +per_frame_1=q1 = q1 * - above(bass, 2.3); +per_frame_2=rot = 0.6; +per_frame_3=monitor = q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` ret = lerp(ret, 0.1-ret,0.04); +warp_7=` +warp_8=` +warp_9=` // darken (decay) over time +warp_10=` ret *= 0.98; //or try: ret -= 0.004; +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_fc_main, uv * 0.75 + 0.2).xyz * 0.6; +comp_4=` ret += tex2D(sampler_fc_main, float2(1-uv.x*0.8, uv.y*0.8)).xyz * 0.6; +comp_5=` ret += GetBlur1(uv) * 0.5; +comp_6=` ret = 1/(1+pow(2,-ret*3.5+3))*2 -0.2; +comp_7=` ret *= 2.00; //gamma +comp_8=`} diff --git a/presets/presets_tryptonaut/36.milk b/presets/presets_tryptonaut/36.milk new file mode 100755 index 0000000000..2f38dd9ad7 --- /dev/null +++ b/presets/presets_tryptonaut/36.milk @@ -0,0 +1,459 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=0.160 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99950 +rot=0.10000 +cx=2.000 +cy=2.000 +dx=0.00000 +dy=0.00000 +warp=0.01105 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.300 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=repeats=10; +wave_0_per_point2=samplerepeat=sample*repeats; +wave_0_per_point3=cycle=int(samplerepeat); +wave_0_per_point4=sampcyc=samplerepeat - cycle; +wave_0_per_point5=cycleto1=cycle/repeats; +wave_0_per_point6= +wave_0_per_point7=n=sampcyc*6.283; +wave_0_per_point8=phs=sampcyc; +wave_0_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_0_per_point10=tmm=time; +wave_0_per_point11=rsample=(1-sampcyc*0.9)*2.2*(cycleto1+1); +wave_0_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_0_per_point13=a=a*a; +wave_0_per_point14= +wave_0_per_point15=//waving +wave_0_per_point16=tmc=tm+cycle-phs*0.2; +wave_0_per_point17=variation=sin(cycleto1*6.283)*9; +wave_0_per_point18=swap=above(sample,0.5)*2-1; +wave_0_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point21= +wave_0_per_point22=xp=sin(tm)*0.4 ; +wave_0_per_point23=yp=cos(tm)*0.4 ; +wave_0_per_point24= +wave_0_per_point25=xp=xp*sin(tm*3); +wave_0_per_point26=yp=yp*cos(tm*2.6); +wave_0_per_point27= +wave_0_per_point28=xp=xp*sin(tm*0.43); +wave_0_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_0_per_point30= +wave_0_per_point31=xp=xp+wavex; +wave_0_per_point32=yp=yp+wavey; +wave_0_per_point33= +wave_0_per_point34=x=xp+0.5; +wave_0_per_point35=y=yp*1.333 + 0.5; +wave_0_per_point36= +wave_0_per_point37= +wave_0_per_point38=trailsize=0.85; +wave_0_per_point39=head=above(a,trailsize); +wave_0_per_point40=tail=1-head; +wave_0_per_point41=r=1*head + 0.5*tail; +wave_0_per_point42=g=0.8*head + 0.3*tail; +wave_0_per_point43=b=0.5*head; +wave_0_per_point44= +wave_0_per_point45=a=a*0.25 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=repeats=8; +wave_1_per_point2=samplerepeat=sample*repeats; +wave_1_per_point3=cycle=int(samplerepeat); +wave_1_per_point4=sampcyc=samplerepeat - cycle; +wave_1_per_point5=cycleto1=cycle/repeats; +wave_1_per_point6= +wave_1_per_point7=n=sampcyc*6.283; +wave_1_per_point8=phs=sampcyc+0.15; +wave_1_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_1_per_point10=tmm=time; +wave_1_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_1_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_1_per_point13=a=a*a; +wave_1_per_point14= +wave_1_per_point15=//waving +wave_1_per_point16=tmc=tm+cycle-phs*0.2; +wave_1_per_point17=variation=sin(cycleto1*6.283)*9; +wave_1_per_point18=swap=above(sample,0.5)*2-1; +wave_1_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point21= +wave_1_per_point22=xp=sin(tm)*0.4 ; +wave_1_per_point23=yp=cos(tm)*0.4 ; +wave_1_per_point24= +wave_1_per_point25=xp=xp*sin(tm*3); +wave_1_per_point26=yp=yp*cos(tm*2.6); +wave_1_per_point27= +wave_1_per_point28=xp=xp*sin(tm*0.43); +wave_1_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_1_per_point30= +wave_1_per_point31=xp=xp+wavex; +wave_1_per_point32=yp=yp+wavey; +wave_1_per_point33= +wave_1_per_point34=x=xp+0.5; +wave_1_per_point35=y=yp*1.333 + 0.5; +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=trailsize=0.85; +wave_1_per_point39=head=above(a,trailsize); +wave_1_per_point40=tail=1-head; +wave_1_per_point41=r=1*head + 0.5*tail; +wave_1_per_point42=g=0.8*head + 0.3*tail; +wave_1_per_point43=b=0.5*head; +wave_1_per_point44= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=repeats=6; +wave_2_per_point2=samplerepeat=sample*repeats; +wave_2_per_point3=cycle=int(samplerepeat); +wave_2_per_point4=sampcyc=samplerepeat - cycle; +wave_2_per_point5=cycleto1=cycle/repeats; +wave_2_per_point6= +wave_2_per_point7=n=sampcyc*6.283; +wave_2_per_point8=phs=sampcyc+0.25; +wave_2_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_2_per_point10=tmm=time; +wave_2_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_2_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_2_per_point13=a=a*a; +wave_2_per_point14= +wave_2_per_point15=//waving +wave_2_per_point16=tmc=tm+cycle-phs*0.2; +wave_2_per_point17=variation=sin(cycleto1*6.283)*9; +wave_2_per_point18=swap=above(sample,0.5)*2-1; +wave_2_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point21= +wave_2_per_point22=xp=sin(tm)*0.4 ; +wave_2_per_point23=yp=cos(tm)*0.4 ; +wave_2_per_point24= +wave_2_per_point25=xp=xp*sin(tm*3); +wave_2_per_point26=yp=yp*cos(tm*2.6); +wave_2_per_point27= +wave_2_per_point28=xp=xp*sin(tm*0.43); +wave_2_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_2_per_point30= +wave_2_per_point31=xp=xp+wavex; +wave_2_per_point32=yp=yp+wavey; +wave_2_per_point33= +wave_2_per_point34=x=xp+0.5; +wave_2_per_point35=y=yp*1.333 + 0.5; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=trailsize=0.85; +wave_2_per_point39=head=above(a,trailsize); +wave_2_per_point40=tail=1-head; +wave_2_per_point41=r=1*head + 0.5*tail; +wave_2_per_point42=g=0.8*head + 0.3*tail; +wave_2_per_point43=b=0.5*head; +wave_2_per_point44= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.680 +shapecode_0_rad=0.80814 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.19380 +shapecode_0_tex_zoom=1.04060 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.600 +shapecode_0_g2=0.700 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=time*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.210 +shapecode_1_rad=0.56483 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=1.19380 +shapecode_1_tex_zoom=1.04060 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.150 +shapecode_1_r2=0.600 +shapecode_1_g2=0.700 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=-time*0.13; +shape_1_per_frame2=x=sin(time*0.29)*0.2 + 0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.700 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.500 +shapecode_3_g2=0.700 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=//zoom = 1; +per_frame_3= +per_frame_4=tic = min(time-tin,.1); +per_frame_5=tin = time; +per_frame_6= +per_frame_7=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_8= +per_frame_9=ra = 1/tic*.25; +per_frame_10= +per_frame_11=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_12=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_13=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15= +per_frame_16=tt = tt + tic*treb; +per_frame_17=mt = mt + tic*mid; +per_frame_18=bt = bt + tic*bass; +per_frame_19=vt = vt + tic*vav; +per_frame_20= +per_frame_21=q1 = tt*1.8;// wave morph speeds +per_frame_22=q2 = mt*3; +per_frame_23=q3 = bt*3; +per_frame_24= +per_frame_25=q4 = vt; // wave colour cycle +per_frame_26= +per_frame_27=rb = if(rb,rb,.2 + rand(1001)*.001*.6); +per_frame_28=rc = if(rc,rc,.2 + rand(1001)*.001*.6); +per_frame_29=rd = if(rd,rd,.2 + rand(1001)*.001*.6); +per_frame_30=re = if(re,re,.2 + rand(1001)*.001*.6); +per_frame_31= +per_frame_32= +per_frame_33=ti = vt*2; +per_frame_34=cx = .3 + .1*sin(ti*re) + .1*cos(ti*rc); +per_frame_35=cy = .5 + .2*sin(ti*rb) + .1*cos(ti*rd); +per_frame_36= +per_frame_37= +per_frame_38=q7 = 6; +per_frame_39=q8 = 2.8; +per_pixel_1=xnum = q7; +per_pixel_2=ynum = q8; +per_pixel_3=pi = 3.141592654; +per_pixel_4= +per_pixel_5=xseg = int(x*xnum); +per_pixel_6=yseg = int(y*ynum); +per_pixel_7= +per_pixel_8=xsw = equal((xseg+equal(yseg%2,0))%2,0); +per_pixel_9=ysw = equal((yseg+1)%2,0); +per_pixel_10= +per_pixel_11= +per_pixel_12=ox = x - xseg*(1/xnum); +per_pixel_13=ox = if(xsw,1/xnum - ox,ox); +per_pixel_14= +per_pixel_15=oy = y - yseg*(1/ynum); +per_pixel_16=oy = if(ysw,1/ynum - oy,oy); +per_pixel_17= +per_pixel_18=dx = above(xseg+yseg,0)*(x-ox); +per_pixel_19=dy = above(xseg+yseg,0)*(y-oy); +per_pixel_20= +per_pixel_21=rot = rot*(1-above(xseg+yseg,0)); +per_pixel_22= +per_pixel_23=//dx = equal(seg,1)*(x - .5)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz*.85; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.002; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1*2.5); +comp_12=`uv2.y = uv2.y +0.25*time; +comp_13=`//uv2.x = uv2.x +.0*time; +comp_14=`uv2.x = uv2.x + time/32; +comp_15=` +comp_16=`float2 uv3 = float2 (ang/3.14, rad1*2.5); +comp_17=`uv3.y = uv3.y +0.08*time ; +comp_18=`//uv3.x = uv3.x + time/32; +comp_19=` +comp_20=`float3 crisp = 1*GetPixel(uv2) + GetPixel(uv3); +comp_21=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_22=` +comp_23=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_24=` +comp_25=`crisp = 3.5*crisp * pow(rad,1); +comp_26=` +comp_27=`float mask = saturate(1-200*rad); +comp_28=` +comp_29=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_30=` +comp_31=`} diff --git a/presets/presets_tryptonaut/3dRaGoNs & Unchained - Dragon Science.milk b/presets/presets_tryptonaut/3dRaGoNs & Unchained - Dragon Science.milk new file mode 100755 index 0000000000..101bb51365 --- /dev/null +++ b/presets/presets_tryptonaut/3dRaGoNs & Unchained - Dragon Science.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.203135 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008147 +fShader=0.000000 +zoom=1.001600 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+ +per_pixel_5= y*10%5)*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.3; +per_pixel_6=sx=sx-bor(snee,snur)*cos(y*q2)*.05; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*q1)*.03; +per_pixel_8=cx=cx+sin(x*3.14*q6)*snur*.45; +per_pixel_9=cy=cx+sin(y*3.14*q5)*snee*.5; +per_pixel_10=zoom=zoom+.1*snee*bnot(snur)-.1*snur*bnot(snee); diff --git a/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer common glut.milk b/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer common glut.milk new file mode 100755 index 0000000000..61622fa3fe --- /dev/null +++ b/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer common glut.milk @@ -0,0 +1,344 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=0.952 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.700 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.10000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.30900 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.000 +wave_y=0.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=200 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.01000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=t1 = sample+time*.2; +wave_0_per_point2= +wave_0_per_point3=x = .35* sin (6*t1) ; +wave_0_per_point4=my = .35* cos (3*t1)* sin (-10+20*sample) ; +wave_0_per_point5=mz = .35* cos (7*t1) * cos (-5+10*sample) ; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=/////// rotations... by flexi +wave_0_per_point9= +wave_0_per_point10=d = 1; +wave_0_per_point11=zoom = 1; +wave_0_per_point12= +wave_0_per_point13=w1 = .3*time; +wave_0_per_point14=w2 = .1*time; +wave_0_per_point15=w3 = .2*time; +wave_0_per_point16= +wave_0_per_point17=x1 = cos(w1)*mx + sin(w1)*my; +wave_0_per_point18=y1 = -sin(w1)*mx + cos(w1)*my; +wave_0_per_point19=z1 = mz; +wave_0_per_point20= +wave_0_per_point21=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point22=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point23=y2 = y1; +wave_0_per_point24= +wave_0_per_point25=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point26=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point27=x3 = x2; +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=200 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.24699 +shapecode_0_r=1.000 +shapecode_0_g=0.400 +shapecode_0_b=0.300 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.510 +shape_0_per_frame1=sample=instance/num_inst; +shape_0_per_frame2=rad=.22*sample; +shape_0_per_frame3=r=sample; +shape_0_per_frame4=ang=(1-sample)*time*15; +shape_0_per_frame5=sides=(1-sample)* 14; +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=t1 = sample+time*.2; +shape_0_per_frame9=mx = .4* (.6*sin (7*t1)+.4*sin (4.3*t1)) ; +shape_0_per_frame10=my = .4* (.6*cos (3.3*t1)+.4*cos (6.9*t1))* sin (-10+20*sample) ; +shape_0_per_frame11=mz = .4* (.6*cos (4.1*t1)+.4*cos (6.9*t1)) * cos (-5+10*sample) ; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=/////// rotations... by flexi +shape_0_per_frame15= +shape_0_per_frame16=d = 1; +shape_0_per_frame17=zoom = 1; +shape_0_per_frame18= +shape_0_per_frame19=w1 = .3*time; +shape_0_per_frame20=w2 = .1*time; +shape_0_per_frame21=w3 = .2*time; +shape_0_per_frame22= +shape_0_per_frame23=x1 = cos(w1)*mx + sin(w1)*my; +shape_0_per_frame24=y1 = -sin(w1)*mx + cos(w1)*my; +shape_0_per_frame25=z1 = mz; +shape_0_per_frame26= +shape_0_per_frame27=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame28=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame29=y2 = y1; +shape_0_per_frame30= +shape_0_per_frame31=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame32=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame33=x3 = x2; +shape_0_per_frame34= +shape_0_per_frame35= +shape_0_per_frame36=// perspective calculation +shape_0_per_frame37= +shape_0_per_frame38=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame39=w = atan2(x3,y3); +shape_0_per_frame40=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame41=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame42= +shape_0_per_frame43=my_x = zoom*sin(w)*p; +shape_0_per_frame44=my_y = zoom*cos(w)*p; +shape_0_per_frame45= +shape_0_per_frame46=x = 0.5 + my_x; +shape_0_per_frame47=y = 0.5 + my_y; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=zoom=zoom+0.04*sin(time*1.2+ang*6.28*3); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=`ret-=roam_sin.wzy*roam_cos.zxy; +warp_8=` ret = ret- (ret*.5); +warp_9=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_10=` ret = ret - .01; +warp_11=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 txr = float3(uv,q2); +comp_5=`txr-=roam_sin.zyx*roam_cos.ywx; +comp_6=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_7=` ret = lerp( tex2D(sampler_main, (uv-0.5)*0.98 + 0.5).xyz, +comp_8=` tex2D(sampler_main, (uv_echo-0.5)*0.98 + 0.5).xyz, +comp_9=` 0.50 +comp_10=` ) + GetBlur3(uv) + GetBlur3(uv_echo) +comp_11=` + GetBlur1(uv) + GetBlur1(uv_echo); //video echo; //video echo +comp_12=` ret *= tex3D(sampler_noisevol_hq, txr); +comp_13=` ret *= 2.0; //gamma +comp_14=` //ret = ret*(1 - ret)*10; //brighten +comp_15=`} diff --git a/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer.milk b/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer.milk new file mode 100755 index 0000000000..08d3d6f2e1 --- /dev/null +++ b/presets/presets_tryptonaut/414 bowel rebranding pr whore skinned to the teeth shader serial killer.milk @@ -0,0 +1,443 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=0.952 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.10000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.30900 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=181 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.05237 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=163 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.05186 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.05012 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.020 +shapecode_2_b=0.110 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=bb = bb + bass*bass*0.85*equal(instance,0); +shape_2_per_frame2=mm = mm + mid*mid*0.85*equal(instance,0); +shape_2_per_frame3=tt = tt + treb*treb*0.85*equal(instance,0); +shape_2_per_frame4= +shape_2_per_frame5=q3 = bb*0.012; +shape_2_per_frame6=q4 = mm*0.012; +shape_2_per_frame7=q5 = tt*0.012; +shape_2_per_frame8= +shape_2_per_frame9=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame10=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame11=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame12=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame13=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame14=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame15=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame16=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame17=t = .6; +shape_2_per_frame18=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame19=t = t + rnd2*0.1; +shape_2_per_frame20=wh = rnd4*asin(1)*4; +shape_2_per_frame21=wv = 0.25 + rnd3*0.1; +shape_2_per_frame22= +shape_2_per_frame23=d = 1.4; // makes the perspective impact +shape_2_per_frame24=zoom = 1; +shape_2_per_frame25=l = 1; +shape_2_per_frame26= +shape_2_per_frame27=// Kardan angles +shape_2_per_frame28= +shape_2_per_frame29=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame30=w2 = q4; // rotation around vertical axis +shape_2_per_frame31=w3 = q5; // rotation around horizontal axis +shape_2_per_frame32= +shape_2_per_frame33= +shape_2_per_frame34=// definition of the 3D shape +shape_2_per_frame35= +shape_2_per_frame36=i = instance; +shape_2_per_frame37= +shape_2_per_frame38=my_x = t *(cos(wh)*sin(wv)*l); +shape_2_per_frame39=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_2_per_frame40=my_z = t*(sin(wh)*sin(wv)*l); +shape_2_per_frame41= +shape_2_per_frame42= +shape_2_per_frame43=// 3D rotations +shape_2_per_frame44= +shape_2_per_frame45=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame46=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame47=z1 = my_z; +shape_2_per_frame48= +shape_2_per_frame49=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame50=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame51=y2 = y1; +shape_2_per_frame52= +shape_2_per_frame53=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame54=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame55=x3 = x2; +shape_2_per_frame56= +shape_2_per_frame57=// perspective calculation +shape_2_per_frame58= +shape_2_per_frame59=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame60=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame61= +shape_2_per_frame62=rad = rad/d; +shape_2_per_frame63=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame64=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame65= +shape_2_per_frame66=x = 0.5 + my_x; +shape_2_per_frame67=y = 0.5 + my_y; +shape_2_per_frame68= +shape_2_per_frame69=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame70=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=64 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05186 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=zoom=zoom+0.04*sin(time*1.2+ang*6.28*3); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=`ret-=roam_sin.wzy*roam_cos.zxy; +warp_7=` // mix in code based off of Geiss's +warp_8=` float pic = tex2D(sampler_noise_hq, uv_orig*aspect.xy*.5+.1*roam_cos+.1*time).xyz; +warp_9=` float lum = lum(pic); +warp_10=` float use_it = abs(lum+.25 - (0.5+roam_cos.xy*0.15)); +warp_11=` float LFNoise = tex2D(sampler_noise_hq, pic-(uv.yx*8 + (time*.15))); +warp_12=` use_it = (1-use_it - (20*LFNoise)); +warp_13=` float tex = lerp(ret, pic, use_it.xxx)*1; +warp_14=` +warp_15=`ret=tex; +warp_16=` // darken (decay) over time +warp_17=` ret *= 0.95; //or try: ret -= 0.004; +warp_18=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 txr = float3(uv,q2); +comp_5=`txr-=roam_sin.zyx*roam_cos.ywx; +comp_6=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_7=` ret = lerp( tex2D(sampler_main, (uv-0.5)*0.98 + 0.5).xyz, +comp_8=` tex2D(sampler_main, (uv_echo-0.5)*0.98 + 0.5).xyz, +comp_9=` 0.50 +comp_10=` ) + GetBlur3(uv) + GetBlur3(uv_echo) +comp_11=` + GetBlur1(uv) + GetBlur1(uv_echo); //video echo; //video echo +comp_12=` ret *= tex3D(sampler_noisevol_hq, txr); +comp_13=` ret *= 2.0; //gamma +comp_14=` //ret = ret*(1 - ret)*10; //brighten +comp_15=`} diff --git a/presets/presets_tryptonaut/86.milk b/presets/presets_tryptonaut/86.milk new file mode 100755 index 0000000000..99bdfde350 --- /dev/null +++ b/presets/presets_tryptonaut/86.milk @@ -0,0 +1,659 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.110 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.300 +wavecode_0_b=0.600 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*50; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30=yq=yp; +wave_0_per_point31=zq=zp; +wave_0_per_point32= +wave_0_per_point33=ang=tm*8; +wave_0_per_point34=sa=sin(ang);ca=cos(ang); +wave_0_per_point35=xp=xq*sa + yq*ca; +wave_0_per_point36=yp=xq*ca - yq*sa; +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//forearm movement; +wave_0_per_point40=zp=zp-0.3; +wave_0_per_point41=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point42=xq=xp; +wave_0_per_point43=sa=sin(ang);ca=cos(ang); +wave_0_per_point44=yq=yp*sa + zp*ca; +wave_0_per_point45=zq=yp*ca - zp*sa; +wave_0_per_point46= +wave_0_per_point47=//upper arm twist +wave_0_per_point48=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point49=xp=xq*sa + yq*ca; +wave_0_per_point50=yp=xq*ca - yq*sa; +wave_0_per_point51=zp=zq; +wave_0_per_point52= +wave_0_per_point53=//upper arm outward; +wave_0_per_point54=zp=zp-0.35; +wave_0_per_point55=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point56=sa=sin(ang);ca=cos(ang); +wave_0_per_point57=xq=xp*sa + zp*ca; +wave_0_per_point58=yq=yp; +wave_0_per_point59=zq=xp*ca - zp*sa; +wave_0_per_point60= +wave_0_per_point61=//upper arm up down; +wave_0_per_point62=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point63=xp=xq; +wave_0_per_point64=sa=sin(ang);ca=cos(ang); +wave_0_per_point65=yp=yq*ca - zq*sa; +wave_0_per_point66=zp=yq*sa + zq*ca; +wave_0_per_point67= +wave_0_per_point68=//xp=xq;yp=yq;zp=zq; +wave_0_per_point69= +wave_0_per_point70= +wave_0_per_point71=//project into screenspace and draw on screen +wave_0_per_point72=zp=zp+2; +wave_0_per_point73=xs=xp/zp; +wave_0_per_point74=ys=yp/zp; +wave_0_per_point75= +wave_0_per_point76=x=xs+0.5; +wave_0_per_point77=y=ys*1.3+0.5; +wave_0_per_point78= +wave_0_per_point79= +wave_0_per_point80=a=(1-sample); +wave_0_per_point81= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.300 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(1-sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*50; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=yp=-yp; +wave_1_per_point22=zp=zr; +wave_1_per_point23= +wave_1_per_point24=//wrist movement; +wave_1_per_point25=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point26= +wave_1_per_point27=xq=xp; +wave_1_per_point28=sa=sin(ang);ca=cos(ang); +wave_1_per_point29=yq=yp*sa + zp*ca; +wave_1_per_point30=zq=yp*ca - zp*sa; +wave_1_per_point31=yq=yp; +wave_1_per_point32=zq=zp; +wave_1_per_point33= +wave_1_per_point34=ang=tm*8; +wave_1_per_point35=sa=sin(ang);ca=cos(ang); +wave_1_per_point36=xp=xq*sa + yq*ca; +wave_1_per_point37=yp=xq*ca - yq*sa; +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//forearm movement; +wave_1_per_point41=zp=zp-0.3; +wave_1_per_point42=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point43=xq=xp; +wave_1_per_point44=sa=sin(ang);ca=cos(ang); +wave_1_per_point45=yq=yp*sa + zp*ca; +wave_1_per_point46=zq=yp*ca - zp*sa; +wave_1_per_point47= +wave_1_per_point48=//upper arm twist +wave_1_per_point49=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point50=xp=xq*sa + yq*ca; +wave_1_per_point51=yp=xq*ca - yq*sa; +wave_1_per_point52=zp=zq; +wave_1_per_point53= +wave_1_per_point54=//upper arm outward; +wave_1_per_point55=zp=zp-0.35; +wave_1_per_point56=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point57=sa=sin(ang);ca=cos(ang); +wave_1_per_point58=xq=xp*sa + zp*ca; +wave_1_per_point59=yq=yp; +wave_1_per_point60=zq=xp*ca - zp*sa; +wave_1_per_point61= +wave_1_per_point62=//upper arm up down; +wave_1_per_point63=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point64=xp=xq; +wave_1_per_point65=sa=sin(ang);ca=cos(ang); +wave_1_per_point66=yp=yq*ca - zq*sa; +wave_1_per_point67=zp=yq*sa + zq*ca; +wave_1_per_point68= +wave_1_per_point69=//xp=xq;yp=yq;zp=zq; +wave_1_per_point70= +wave_1_per_point71= +wave_1_per_point72=//project into screenspace and draw on screen +wave_1_per_point73=zp=zp+2; +wave_1_per_point74=xs=xp/zp; +wave_1_per_point75=ys=yp/zp; +wave_1_per_point76= +wave_1_per_point77=x=xs+0.5; +wave_1_per_point78=y=ys*1.3+0.5; +wave_1_per_point79= +wave_1_per_point80= +wave_1_per_point81=a=(1-sample); +wave_1_per_point82= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.720 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.05-0.025)*(1-sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*50; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.025 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*1.9)*0.5 +0.5; +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30=yq=yp; +wave_2_per_point31=zq=zp; +wave_2_per_point32= +wave_2_per_point33=ang=tm*8; +wave_2_per_point34=sa=sin(ang);ca=cos(ang); +wave_2_per_point35=xp=xq*sa + yq*ca; +wave_2_per_point36=yp=xq*ca - yq*sa; +wave_2_per_point37=zp=zq; +wave_2_per_point38= +wave_2_per_point39=//forearm movement; +wave_2_per_point40=zp=zp-0.3; +wave_2_per_point41=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_2_per_point42=xq=xp; +wave_2_per_point43=sa=sin(ang);ca=cos(ang); +wave_2_per_point44=yq=yp*sa + zp*ca; +wave_2_per_point45=zq=yp*ca - zp*sa; +wave_2_per_point46= +wave_2_per_point47=//upper arm twist +wave_2_per_point48=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point49=sa=sin(ang);ca=cos(ang); +wave_2_per_point50=xp=xq*sa + yq*ca; +wave_2_per_point51=yp=xq*ca - yq*sa; +wave_2_per_point52=zp=zq; +wave_2_per_point53= +wave_2_per_point54=//upper arm outward; +wave_2_per_point55=zp=zp-0.35; +wave_2_per_point56=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point57=sa=sin(ang);ca=cos(ang); +wave_2_per_point58=xq=xp*sa + zp*ca; +wave_2_per_point59=yq=yp; +wave_2_per_point60=zq=xp*ca - zp*sa; +wave_2_per_point61= +wave_2_per_point62=//upper arm up down; +wave_2_per_point63=ang=cos(tm*0.9)*0.5 - 0.5; +wave_2_per_point64=xp=xq; +wave_2_per_point65=sa=sin(ang);ca=cos(ang); +wave_2_per_point66=yp=yq*ca - zq*sa; +wave_2_per_point67=zp=yq*sa + zq*ca; +wave_2_per_point68= +wave_2_per_point69=//xp=xq;yp=yq;zp=zq; +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=//project into screenspace and draw on screen +wave_2_per_point73=zp=zp+2; +wave_2_per_point74=xs=-xp/zp; +wave_2_per_point75=ys=yp/zp; +wave_2_per_point76= +wave_2_per_point77=x=xs+0.5; +wave_2_per_point78=y=ys*1.3+0.5; +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81=a=(1-sample); +wave_2_per_point82= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.700 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.05-0.025)*(1-sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*50; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.025 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=yp=-yp; +wave_3_per_point22=zp=zr; +wave_3_per_point23= +wave_3_per_point24=//wrist movement; +wave_3_per_point25=ang=sin(tm*1.9)*0.5 +0.5; +wave_3_per_point26= +wave_3_per_point27=xq=xp; +wave_3_per_point28=sa=sin(ang);ca=cos(ang); +wave_3_per_point29=yq=yp*sa + zp*ca; +wave_3_per_point30=zq=yp*ca - zp*sa; +wave_3_per_point31=yq=yp; +wave_3_per_point32=zq=zp; +wave_3_per_point33= +wave_3_per_point34=ang=tm*8; +wave_3_per_point35=sa=sin(ang);ca=cos(ang); +wave_3_per_point36=xp=xq*sa + yq*ca; +wave_3_per_point37=yp=xq*ca - yq*sa; +wave_3_per_point38=zp=zq; +wave_3_per_point39= +wave_3_per_point40=//forearm movement; +wave_3_per_point41=zp=zp-0.3; +wave_3_per_point42=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_3_per_point43=xq=xp; +wave_3_per_point44=sa=sin(ang);ca=cos(ang); +wave_3_per_point45=yq=yp*sa + zp*ca; +wave_3_per_point46=zq=yp*ca - zp*sa; +wave_3_per_point47= +wave_3_per_point48=//upper arm twist +wave_3_per_point49=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point50=sa=sin(ang);ca=cos(ang); +wave_3_per_point51=xp=xq*sa + yq*ca; +wave_3_per_point52=yp=xq*ca - yq*sa; +wave_3_per_point53=zp=zq; +wave_3_per_point54= +wave_3_per_point55=//upper arm outward; +wave_3_per_point56=zp=zp-0.35; +wave_3_per_point57=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point58=sa=sin(ang);ca=cos(ang); +wave_3_per_point59=xq=xp*sa + zp*ca; +wave_3_per_point60=yq=yp; +wave_3_per_point61=zq=xp*ca - zp*sa; +wave_3_per_point62= +wave_3_per_point63=//upper arm up down; +wave_3_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_3_per_point65=xp=xq; +wave_3_per_point66=sa=sin(ang);ca=cos(ang); +wave_3_per_point67=yp=yq*ca - zq*sa; +wave_3_per_point68=zp=yq*sa + zq*ca; +wave_3_per_point69= +wave_3_per_point70=//xp=xq;yp=yq;zp=zq; +wave_3_per_point71= +wave_3_per_point72= +wave_3_per_point73=//project into screenspace and draw on screen +wave_3_per_point74=zp=zp+2; +wave_3_per_point75=xs=-xp/zp; +wave_3_per_point76=ys=yp/zp; +wave_3_per_point77= +wave_3_per_point78=x=xs+0.5; +wave_3_per_point79=y=ys*1.3+0.5; +wave_3_per_point80= +wave_3_per_point81= +wave_3_per_point82=a=(1-sample); +wave_3_per_point83= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.56151 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.700 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_ang=0.01; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.32910 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.75684 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.96, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass_att + mid_att + treb_att ; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/2; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32= +per_frame_33=vol = vol*dec_slow + q26 * (1-dec_slow) + q24*q1; +per_frame_34=q10 = q27*q28;; +per_frame_35= +per_frame_36= +per_frame_37=movex = movex + .03*30/fps; +per_frame_38=q29 = movex; +per_frame_39=movez = movez + .07*30/fps; +per_frame_40=q30 = movez; +per_frame_41= +per_frame_42=crawl = crawl + .001*(2+q22)*30/fps; +per_frame_43=q31 = crawl; +per_frame_44= +per_frame_45=q32 = 2 + sin(time/7); +per_frame_46=monitor = index2; +per_frame_47= +per_frame_48=zoom = 1.0+.01*q1; +per_frame_49=dy = .005; +per_frame_50=dx = .0; +per_frame_51=warp = 0; +per_frame_52=rot = .0; +per_frame_53= +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/93.milk b/presets/presets_tryptonaut/93.milk new file mode 100755 index 0000000000..aa1c54627e --- /dev/null +++ b/presets/presets_tryptonaut/93.milk @@ -0,0 +1,432 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.965 +fVideoEchoZoom=1.216 +fVideoEchoAlpha=0.800 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=1.470 +fZoomExponent=4.77802 +fShader=0.000 +zoom=0.99816 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.09568 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.500 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=1.280 +nMotionVectorsY=48.000 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.000 +mv_b=1.000 +mv_a=0.500 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_0_per_point5=xp=xp*0.10; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.10; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.100 +wavecode_1_g=0.500 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q2; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs*4; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.700 +wavecode_2_g=0.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q3; //mytime +wave_2_per_frame2=t2=q2; +wave_2_per_frame3=t3=.3*q2; +wave_2_per_point1=t=t1+t2*(1-sample); +wave_2_per_point2= +wave_2_per_point3=ox=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point5= +wave_2_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_2_per_point7=l=tan(ang); +wave_2_per_point8=x2=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point9=y2=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_2_per_point11=dir=-1+2*above(sum,-.001); +wave_2_per_point12= +wave_2_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point15= +wave_2_per_point16=x=ox+xtrudx; +wave_2_per_point17=y=oy+xtrudy; +wave_2_per_point18= +wave_2_per_point19=px=ox; +wave_2_per_point20=py=oy; +wave_2_per_point21= +wave_2_per_point22=counter=counter+1; +wave_2_per_point23=a=sqr(sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q3; //mytime +wave_3_per_frame2=t2=q2; +wave_3_per_frame3=t3=.3*q2; +wave_3_per_point1=t=t1+t2*(1-sample); +wave_3_per_point2= +wave_3_per_point3=ox=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point5= +wave_3_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_3_per_point7=l=tan(ang); +wave_3_per_point8=x2=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_3_per_point11=dir=-1+2*above(sum,-.001); +wave_3_per_point12= +wave_3_per_point13=xtrudx=(counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point14=xtrudy=(counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point15= +wave_3_per_point16=x=ox+xtrudx; +wave_3_per_point17=y=oy+xtrudy; +wave_3_per_point18= +wave_3_per_point19=px=ox; +wave_3_per_point20=py=oy; +wave_3_per_point21= +wave_3_per_point22=counter=counter+1; +wave_3_per_point23=a=sqr(sample); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.590 +shapecode_0_rad=1.51261 +shapecode_0_ang=3.39292 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=100.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.46815 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.99815 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shape_1_per_frame2=ang=sin(time/20)*6.28; +shapecode_2_enabled=0 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.500 +shapecode_2_rad=0.89269 +shapecode_2_ang=5.02655 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.33692 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=//y=sin(time/20)*0.5+0.5; +shapecode_3_enabled=1 +shapecode_3_sides=23 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.38316 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.23884 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=//tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=//a=var; +shape_3_per_frame5=//a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.45; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(48/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14= +per_frame_15=dt=1/FPS; +per_frame_16=mytime=mytime+dt; +per_frame_17=contvol=min( max(.5, (1-.5*dt)*contvol+.5*dt*(bass+mid+treb)*.133 ) ,2 ) ; +per_frame_18=q2=contvol; +per_frame_19=q3=mytime; +per_frame_20=echo_zoom=1+(vol*0.01); +per_frame_21=sx=-.019-sin(time)*0.1+0.5; +per_pixel_1=zoom=1.005-(rad/10); +per_pixel_2=rot=rad/100; +per_pixel_3=//sy=-1.02; diff --git a/presets/presets_tryptonaut/A Milk Art Detail 2 flexi - moebius transformation ft Martin With AdamFX B sentensual.milk b/presets/presets_tryptonaut/A Milk Art Detail 2 flexi - moebius transformation ft Martin With AdamFX B sentensual.milk new file mode 100755 index 0000000000..60a25a52f9 --- /dev/null +++ b/presets/presets_tryptonaut/A Milk Art Detail 2 flexi - moebius transformation ft Martin With AdamFX B sentensual.milk @@ -0,0 +1,457 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.950 +fVideoEchoZoom=0.498 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.485 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=13.29089 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=-0.28000 +dy=-0.32000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=32.000 +nMotionVectorsY=24.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = .5 + (bass*.12)*sin(sample*2*(time*10000)); +wave_0_per_point2=y = .5 + (bass*.1)*cos(sample*2*(time*10000)); +wave_0_per_point3=r = 1 + .5*sin(sample*2+(time*10)); +wave_0_per_point4=g = 1 + .5*sin(sample*2+(time*50)); +wave_0_per_point5=b = 1 + .5*sin(sample*2+(time*20)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=1 +wavecode_2_samples=102 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_frame1=samples = 256 + 50*sin(time*.939493949); +wave_2_per_frame2=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame3=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame4=vg = vol_avg*.1; +wave_2_per_frame5=t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_point1=tm = q1; +wave_2_per_point2=sp = sample*6.28*8*6*sin(time)*100; +wave_2_per_point3= +wave_2_per_point4=vol = (value1+value2)*.5; +wave_2_per_point5=it = it*above(sample,0); +wave_2_per_point6=it = it + 1; +wave_2_per_point7=//rad = .5 + vol + .01; +wave_2_per_point8=rad=1; +wave_2_per_point9=ra = rad*sin(sample*3.14); +wave_2_per_point10=ox = ra*sin(sp); +wave_2_per_point11=oy = sin(sample*3.14-1.57)*rad; +wave_2_per_point12=oz = ra*cos(sp); +wave_2_per_point13= +wave_2_per_point14=xang = q4; +wave_2_per_point15=yang = q5; +wave_2_per_point16=zang = q6; +wave_2_per_point17=fov = .5; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=yang = q8; +wave_2_per_point33=oz = oz + 5; +wave_2_per_point34= +wave_2_per_point35=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point36=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point37=ox = mx; +wave_2_per_point38=oz = mz; +wave_2_per_point39= +wave_2_per_point40=oz = oz - 5; +wave_2_per_point41= +wave_2_per_point42=oz = oz - 2; +wave_2_per_point43=x = ox*fov/oz + 0.5; +wave_2_per_point44=x = (x-.5)*0.75 + 0.5; +wave_2_per_point45=y = oy*fov/oz + 0.5; +wave_2_per_point46= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.89269 +shapecode_0_ang=6.09469 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.51760 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time/((sin(time/1000)*0.5+0.5)*2)) +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.20321 +shapecode_1_ang=1.25664 +shapecode_1_tex_ang=4.96372 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=0.970 +shapecode_1_g=0.990 +shapecode_1_b=0.990 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.200 +shape_1_per_frame1=ang=sin(time/20)*6.4; +shape_1_per_frame2=//additive=above(sin(time/6)*0.5+0.5,0.999); +shapecode_2_enabled=1 +shapecode_2_sides=17 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.73160 +shapecode_2_ang=5.65487 +shapecode_2_tex_ang=5.59203 +shapecode_2_tex_zoom=1.07409 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.300 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=ang=(cos(time/12)*0.5+0.5)*6.4; +shapecode_3_enabled=1 +shapecode_3_sides=32 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=33 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.500 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.500 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=trans = rand(int(q30))/15+instance-instance; +shape_3_per_frame2=trans2 = rand(int(q30))/15+instance-instance; +shape_3_per_frame3=trans3 = rand(int(q30))/15+instance-instance; +shape_3_per_frame4=a = trans; +shape_3_per_frame5= +shape_3_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; +shape_3_per_frame9=r=rand(q30)*.1+instance-instance; +shape_3_per_frame10=g=rand(q30)*.1+instance-instance; +shape_3_per_frame11=b=rand(q30)*.1+instance-instance; +shape_3_per_frame12=r2=rand(q30)*.1+instance-instance; +shape_3_per_frame13=g2=rand(q30)*.1+instance-instance; +shape_3_per_frame14=b2=rand(q30)*.1+instance-instance; +shape_3_per_frame15=border_r=rand(q30)*.1+instance-instance; +shape_3_per_frame16=border_g=rand(q30)*.1+instance-instance; +shape_3_per_frame17=border_b=rand(q30)*.1+instance-instance; +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=//before inversion +per_frame_29=scale = 1; +per_frame_30=angle = time*.2; +per_frame_31=translation_x = 0; +per_frame_32=translation_y = 0.1; +per_frame_33= +per_frame_34=//complex inverted +per_frame_35=iscale = 1; +per_frame_36=iangle = 0.2; +per_frame_37=itranslation_u = 0; +per_frame_38=itranslation_v = 0; +per_frame_39= +per_frame_40= +per_frame_41=// the m�bius transformation +per_frame_42=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_43=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_44=// so a/c and mu can be calculated outside of the shader +per_frame_45= +per_frame_46=a_r = cos(angle)*scale; +per_frame_47=a_i = sin(angle)*scale; +per_frame_48=b_r = translation_x; +per_frame_49=b_i = translation_y; +per_frame_50= +per_frame_51=c_r = -cos(iangle)*iscale; +per_frame_52=c_i = -sin(iangle)*iscale; +per_frame_53=d_r = itranslation_u; +per_frame_54=d_i = itranslation_v; +per_frame_55= +per_frame_56=// c^(-1) +per_frame_57=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_58=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_59= +per_frame_60=// a*c^(-1) +per_frame_61=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_62=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_63= +per_frame_64=// (bc-ad) +per_frame_65=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_66=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_67= +per_frame_68=// mu*c^(-1) +per_frame_69=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_70=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_71= +per_frame_72=q1 = ac_r; +per_frame_73=q2 = ac_i; +per_frame_74=q3 = mu_r; +per_frame_75=q4 = mu_i; +per_frame_76= +per_frame_77=q5 = c_r; +per_frame_78=q6 = c_i; +per_frame_79=q7 = d_r; +per_frame_80=q8 = d_i; +per_frame_81= +per_frame_82=monitor = bcad_r; +per_frame_83=q30=(bass+treb+mid)*2; +per_frame_84=q20=atime; +warp_1=`float3 mus; +warp_2=`float2 rs, uv1, uv6, uv7, uv8; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=`//BACKGROUND +warp_9=`float z = 16*length(uv1)+time; +warp_10=`float2 uvn =normalize(uv1); +warp_11=`rs = clamp(tan(z)*uvn,-5,5)/2; +warp_12=` +warp_13=`//CRYSTAL +warp_14=`float mult = q31; +warp_15=`uv7 = sin(uv1*mult); +warp_16=`uv8 = uv7; +warp_17=`float dist = length(uv8); +warp_18=`dist *= (abs(uv1.x) + abs(uv1.y))+ q32; +warp_19=` +warp_20=`float ang2 = atan2 (uv8.y,uv8.x); +warp_21=`ang2 = .1*floor (16* ang2); +warp_22=`float2 dir = .5*uv8+float2 (cos(ang2), sin(ang2)); +warp_23=` +warp_24=` +warp_25=`z = (1-cos(8*dist)); +warp_26=`z = saturate (z); +warp_27=` +warp_28=`//ADD +warp_29=`float mask = (z >= .5); //momentan beliebig +warp_30=`rs = q28*rs + (1-q28)*rs.yx; +warp_31=`uv += (1-mask)*.03*(rs.yx) + .5*mask*z*normalize(dir); +warp_32=` +warp_33=`//ZENTRALSTRAHL +warp_34=`uv6 = mul (uv1,float2x2(_qb)); +warp_35=`mus = abs(0.01/(sqrt(uv6.x)+.001))*(rad+.2); +warp_36=` +warp_37=`//DOTS +warp_38=`float2 uv2 = .7*uv1+.3*sin(uv1*16+4*float2 (q5,q6)); +warp_39=`uv2 *= .2; +warp_40=`float3 dots = q26*saturate(.001/(length(uv2))); +warp_41=`float3 blur = GetBlur1(frac(uv)); +warp_42=`float3 crisp= GetPixel(uv); +warp_43=`float3 diff = (crisp) - .5*blur; +warp_44=`float3 ret1 = crisp + mus + dots; +warp_45=` +warp_46=`float3 mod = tex2D (sampler_noise_lq,.5*uv+time*.01)-.2; +warp_47=`mod = 1 - mod*diff; +warp_48=` +warp_49=`ret = (1-mask)*ret1*mod + mask*ret1*mod; +warp_50=`ret = ret *.98- .03; +warp_51=` +warp_52=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q1,q2); +comp_5=`float2 mu = float2(q3,q4); +comp_6=`float2 c = float2(q5,q6); +comp_7=`float2 d = float2(q7,q8); +comp_8=` +comp_9=`float2 z = (uv-0.5)*aspect.wz; +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`ret = tex2D(sampler_fc_main, moebius ); +comp_19=`} diff --git a/presets/presets_tryptonaut/A New Wave Trend in Milk - Martin - DiscoMix 3 Ft Phat Yin n AdamFX A.milk b/presets/presets_tryptonaut/A New Wave Trend in Milk - Martin - DiscoMix 3 Ft Phat Yin n AdamFX A.milk new file mode 100755 index 0000000000..6152a3019d --- /dev/null +++ b/presets/presets_tryptonaut/A New Wave Trend in Milk - Martin - DiscoMix 3 Ft Phat Yin n AdamFX A.milk @@ -0,0 +1,369 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.169 +fWaveSmoothing=0.000 +fWaveParam=0.080 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.320 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.990 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.015 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.020 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=0.000 +wavecode_2_g=0.200 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=53 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02440 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.00531 +shapecode_0_tex_zoom=1.53117 +shapecode_0_r=0.200 +shapecode_0_g=0.700 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.200 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=a = min(q22/4,1); a2 = 1; +shape_0_per_frame2= +shape_0_per_frame3= +shape_0_per_frame4=r0 = bnot(q24)*r0 + q24 * int(rand(10))/10; +shape_0_per_frame5=b0 = bnot(q24)*b0 + q24 * int(rand(10))/10; +shape_0_per_frame6=g0 = bnot(q24)*g0 + q24 * int(rand(10))/10; +shape_0_per_frame7=rad = q22/40; +shape_0_per_frame8=r = r0; b = b0; g = g0; +shape_0_per_frame9=r2 = 0; b2 = 0; g2 = 0; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.500 +shapecode_1_rad=0.21730 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.63319 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.990 +shapecode_1_g2=0.990 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=textured = 1; +shape_1_per_frame2=rot0 = rot0 + 1/fps * q1; +shape_1_per_frame3= +shape_1_per_frame4=posx = (1-q24)*posx + q24*(.3+int(rand(100))/200); +shape_1_per_frame5=posy = (1-q24)*posy + q24*(.3+int(rand(100))/200);; +shape_1_per_frame6= +shape_1_per_frame7=rad0 = (1-q24)*rad0 + q24*(.05+int(rand(100))/300); +shape_1_per_frame8=rad = rad0; +shape_1_per_frame9= +shape_1_per_frame10= +shape_1_per_frame11=x = posx; +shape_1_per_frame12=y = posy; +shape_1_per_frame13=ang = rot0; +shapecode_2_enabled=1 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.503 +shapecode_2_y=0.500 +shapecode_2_rad=0.03886 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=2.22330 +shapecode_2_r=1.000 +shapecode_2_g=0.100 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=textured = 1; +shape_2_per_frame2=rot0 = rot0 + .1/fps * q2; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=posx = (1-q24)*posx + q24*(.3+int(rand(100))/200); +shape_2_per_frame6=posy = (1-q24)*posy + q24*(.3+int(rand(100))/200);; +shape_2_per_frame7= +shape_2_per_frame8=rad0 = (1-q24)*rad0 + q24*(.05+int(rand(100))/400); +shape_2_per_frame9=rad = rad0; +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=x = posx+q26; +shape_2_per_frame13=y = posy; +shape_2_per_frame14=ang = rot0; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=step = 0; +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, -2+avg+peak) * above (time, t0+.1); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass_att + mid_att + treb_att; +per_frame_17=q27 = index + 1; +per_frame_18=q28 = index2; +per_frame_19= +per_frame_20=q29 = ((index%2)-.5)*2; +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/8; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32=//ds = max ((q26-.2),0); +per_frame_33=//step = step + ds/10; +per_frame_34= +per_frame_35=step = step + q24 ; +per_frame_36= +per_frame_37=p3 = p3*dec_slow + (1-dec_slow) * step; +per_frame_38=q30 = step; +per_frame_39= +per_frame_40=p4 = dec_slow*p4 + (1-dec_slow)*q27; +per_frame_41=q31 = p4; +per_frame_42= +per_frame_43=q12 = time -t0; +per_frame_44=monitor = q12; +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=zoom = 1; +per_frame_49=rot = -0 ; +per_frame_50=dx = .00; +per_frame_51= +per_frame_52= +per_pixel_1=zoom = 1.3; +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=`shader_body { +warp_4=` +warp_5=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_6=` +warp_7=`float2 uv6 = uv1; +warp_8=`float z = 12*length((abs(uv1.x)-abs(uv1.y))); +warp_9=`float2 d = normalize(uv1); +warp_10=`float2 rs = clamp(tan(z)*d,-3,3); +warp_11=`uv1 -= rs/40; +warp_12=` +warp_13=`uv6 = .4*cos(uv1*14+time); +warp_14=`mus = .004/(length(uv6)); +warp_15=` +warp_16=`float3 crisp= tex2D(sampler_main,(uv1)*(.95-q28/16+.4*z)+.5); +warp_17=` +warp_18=`float3 ret1 = crisp + mus; +warp_19=` +warp_20=`ret = (ret1*.99-.03); +warp_21=` +warp_22=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float2 rs; +comp_4=`float3 noise, ret1; +comp_5=` +comp_6=`shader_body { +comp_7=`float corr = texsize.xy*texsize_noise_lq.zw; +comp_8=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_9=` +comp_10=`float h1 = .5; +comp_11=` +comp_12=`float z = +h1/abs(uv1.y); +comp_13=`rs.x = 1/rad + time*4; +comp_14=`rs.y = ang; +comp_15=`noise = tex2D(sampler_pw_noise_lq,rs/3/q27); +comp_16=`noise *= (noise >= .8); +comp_17=`ret1 = noise; +comp_18=` +comp_19=` +comp_20=`ret = (1+q22)*GetPixel(uv+ret1*rs) -.2*ret1; +comp_21=`} diff --git a/presets/presets_tryptonaut/A Tribute to Martin - bombyx mori - Ft Flexi - AdamFX - StahlRegen - Krash - Rovastar - Hd in Milk T.milk b/presets/presets_tryptonaut/A Tribute to Martin - bombyx mori - Ft Flexi - AdamFX - StahlRegen - Krash - Rovastar - Hd in Milk T.milk new file mode 100755 index 0000000000..cf8f0f2f49 --- /dev/null +++ b/presets/presets_tryptonaut/A Tribute to Martin - bombyx mori - Ft Flexi - AdamFX - StahlRegen - Krash - Rovastar - Hd in Milk T.milk @@ -0,0 +1,511 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.020 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=4.800 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.000 +mv_g=0.500 +mv_b=1.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(int(rand(40))*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(int(rand(40))*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_point1=sample=pow(sample,.85); +wave_3_per_point2= +wave_3_per_point3=c1=6.2831*t1/(1.1-sample); +wave_3_per_point4=c=cos(c1); +wave_3_per_point5=s=sin(c1); +wave_3_per_point6=c2=sqrt(1-sample); +wave_3_per_point7= +wave_3_per_point8=ox=t7-.5*c2*c; +wave_3_per_point9=oy=t8-.625*c2*s; +wave_3_per_point10= +wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point13= +wave_3_per_point14=inv=1/sqr(1.1-sample); +wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point18=fdx=fdx*invMag; +wave_3_per_point19=fdy=fdy*invMag; +wave_3_per_point20= +wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point23=tt=int(rand(100))/100; +wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_3_per_point26= +wave_3_per_point27=x=x*.55; +wave_3_per_point28=y=(y-.5)*.55+.5; +wave_3_per_point29= +wave_3_per_point30=r=sample; +wave_3_per_point31=g=1-sample; +wave_3_per_point32=b=1; +wave_3_per_point33=a=below(sample,.995); +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.590 +shapecode_0_rad=0.55923 +shapecode_0_ang=3.39292 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=100.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.900 +shapecode_1_y=0.840 +shapecode_1_rad=0.36457 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=4.14146 +shapecode_1_r=0.250 +shapecode_1_g=0.050 +shapecode_1_b=0.000 +shapecode_1_a=0.200 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.300 +shapecode_2_y=0.700 +shapecode_2_rad=1.08925 +shapecode_2_ang=0.81681 +shapecode_2_tex_ang=3.14159 +shapecode_2_tex_zoom=0.50422 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.28428 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.98776 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.950 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=warp=0; +per_frame_2= +per_frame_3=framethird = frame%3; +per_frame_4= +per_frame_5=x1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); +per_frame_6=x2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); +per_frame_7=x3 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); +per_frame_8=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); +per_frame_9=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); +per_frame_10=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); +per_frame_11=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); +per_frame_12=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); +per_frame_13=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); +per_frame_14=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); +per_frame_15=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); +per_frame_16=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); +per_frame_17=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); +per_frame_18=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); +per_frame_19=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); +per_frame_20=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); +per_frame_21= +per_frame_22=volume = 0.3*(bass+mid); +per_frame_23=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_24=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_25=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_26=peakbass_att = max(bass_att,peakbass_att); +per_frame_27=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_28=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_29=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_30=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_31=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_32=dx = if(beat,1-2*int(rand(2)),0); +per_frame_33=ob_a = if(beat,0,0.65); +per_frame_34=mv_a = if(beat,1,0.05); +per_pixel_1=dy = 0.004 + 0.0005*sin(10*x+0.459*time) + 0.0005*sin(14*x+0.325*time) + 0.0005*sin(1.231*time); +per_pixel_2=//dx = dx + 0.0001*sin(9*y+0.612*time) + 0.0001*sin(13*y+0.429*time) + 0.0001*sin(1.027*time); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=` +warp_11=`//##hier unten statt - auch plus +warp_12=`float z = 12*length((abs(uv1.x)-abs(uv1.y))); +warp_13=`//z = length(uv1)*22; +warp_14=` +warp_15=`float2 d = normalize(uv1); +warp_16=`float2 rs = clamp(tan(z)*d,-2,2); +warp_17=`uv1 += -.010*lum(GetBlur1(uv))*d; +warp_18=`uv1 -= rs/60; //auch minus und frac versuchen +warp_19=` +warp_20=`uv6 = .4*cos(uv1*6+rand_frame*0); +warp_21=`mus = .01/(length(uv6)-.001*q27); +warp_22=`mus *= .3*(1+roam_cos); +warp_23=`//mus = .2; +warp_24=` +warp_25=` +warp_26=`//probier auch 1*z; +warp_27=`float3 crisp= tex2D(sampler_main,(uv1)*(.8+.2*z)+.5); +warp_28=` +warp_29=`float3 ret1 = crisp + mus; +warp_30=` +warp_31=`q25 = q24+.4; //##hier auf 1 setzen +warp_32=`q25 = .5; +warp_33=`ret = q25*(ret1*.96-.025) + (1-q25)* GetPixel(uv_orig); +warp_34=` +warp_35=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/A Twistin Infusion - Martin - shiny tunnel rewiredFX Ft AdamFX InfusionFX (ElectricPoolFX).milk b/presets/presets_tryptonaut/A Twistin Infusion - Martin - shiny tunnel rewiredFX Ft AdamFX InfusionFX (ElectricPoolFX).milk new file mode 100755 index 0000000000..cbc2c5eefd --- /dev/null +++ b/presets/presets_tryptonaut/A Twistin Infusion - Martin - shiny tunnel rewiredFX Ft AdamFX InfusionFX (ElectricPoolFX).milk @@ -0,0 +1,482 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.442 +fWarpScale=0.498 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.050 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=9.94114 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.100 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=y = 0.5 + d*sample*(1-sample); +wave_1_per_point4=x = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=dec_med = pow (0.6, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16=q27 = index; +per_frame_17= +per_frame_18=movez = movez * dec_med + q24*(1-dec_med); +per_frame_19=q25 = movez; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25= +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32= +per_frame_33=pos = pos + (q20+q22*0)*q2/30; +per_frame_34=q28 = pos; +per_frame_35= +per_frame_36= +per_frame_37=zoom = .96 + .1*q2; +per_frame_38=warp = .0; +per_frame_39=rot = 0*q2/28; +per_frame_40=//********** +per_frame_41= +per_frame_42=rota = rota +q22; +per_frame_43=q10 = rota; +per_frame_44= +per_frame_45= +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,frac(uv)) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=` +comp_6=`float2 uv1 = (uv-.5)*aspect.xy; +comp_7=` +comp_8=`rs.x = ang/3.14 + q28; +comp_9=`rs.y = .1/(.05+length (uv1))+time*.5; +comp_10=` +comp_11=`uv = frac(rs); +comp_12=`uv1 = frac(rs); +comp_13=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv); +comp_14=` +comp_15=`float2 hor = float2 (texsize.z,0); +comp_16=`float2 ver = float2 (0,texsize.w); +comp_17=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_18=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_19=`float2 dz = float2 (dx,dy); +comp_20=` +comp_21=`uv1 = .3*cos(uv1*16) - 4*dz;; +comp_22=`float3 dots = saturate(.04/length(uv1)); +comp_23=` +comp_24=`ret1 = 4*(1+bass_att)*dots*(.6-ret1); +comp_25=` +comp_26=`ret = .8*ret1; +comp_27=`} diff --git a/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Aderrasi 2_1.milk b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Aderrasi 2_1.milk new file mode 100755 index 0000000000..78d81dbeee --- /dev/null +++ b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Aderrasi 2_1.milk @@ -0,0 +1,380 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.312 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_per_frame1=t1 = 1*cos(time/3); +wave_0_per_frame2=t2 = 1*sin(time/7); +wave_0_per_frame3= +wave_0_per_frame4=vol = mid_att + treb_att; +wave_0_per_frame5=vol_m = vol_m*0.999+vol*0.001; +wave_0_per_frame6=exc = above (vol, vol_m*1.1); +wave_0_per_frame7= +wave_0_per_frame8=pulse = 0.95*pulse + 0.05*exc; +wave_0_per_frame9=winkel = winkel + pulse/3; +wave_0_per_frame10=t3 = winkel; +wave_0_per_frame11= +wave_0_per_frame12= +wave_0_per_frame13= +wave_0_per_point1= //Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=t_abs = sample; +wave_0_per_point5=t_rel = sample-time/6; +wave_0_per_point6=ampl = sin(t_abs*3)-0.0; +wave_0_per_point7= +wave_0_per_point8=ox = 3*sin (time) + ampl*(sin (t_rel*267)) ; +wave_0_per_point9=oy = 3*cos (time) + ampl*(cos (t_rel*277)) ; +wave_0_per_point10=oz = 0*cos (t_rel*time/23)+t_abs*4 ; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r = sqr(sin(t_rel*3.4)); +wave_0_per_point14=g = sqr(sin(t_rel*2.3)); +wave_0_per_point15=b = sqr (cos(t_rel*.9)); +wave_0_per_point16= +wave_0_per_point17=a= 0.2*(cos(t_abs*1 )) + q26/16 ; +wave_0_per_point18= +wave_0_per_point19=xang = t2+t3/3; +wave_0_per_point20=yang = t1*t2-t3/4; +wave_0_per_point21=zang = t3; +wave_0_per_point22=fov = 0.2; +wave_0_per_point23= +wave_0_per_point24=monitor = t2; +wave_0_per_point25= +wave_0_per_point26=// Rotation um x,y,z +wave_0_per_point27= +wave_0_per_point28=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point29=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point30= +wave_0_per_point31=ox = mx; +wave_0_per_point32=oy = my; +wave_0_per_point33=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point34=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point35=ox = mx; +wave_0_per_point36=oz = mz; +wave_0_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point39=oy = my; +wave_0_per_point40=oz = mz; +wave_0_per_point41= +wave_0_per_point42=oz = oz - 6; +wave_0_per_point43=x = ox*fov/oz +0.5; +wave_0_per_point44=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point45=y = oy*fov/oz + 0.5; +wave_0_per_point46= +wavecode_1_enabled=1 +wavecode_1_samples=232 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample; +wave_1_per_point3=t_rel = sample-time/5; +wave_1_per_point4=ampl = time; +wave_1_per_point5= +wave_1_per_point6=ox = ampl*10*sin (t_abs*68); +wave_1_per_point7=oy = ampl*10*cos (t_abs*28); +wave_1_per_point8=oz = ampl*10*cos (t_abs*128); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=r = sin(t_abs*1335)+1; +wave_1_per_point12=g = sin(t_abs*1783)+1 ; +wave_1_per_point13=b = rand(5)/5 ; +wave_1_per_point14= +wave_1_per_point15=a=0.5+0.25 * sin(t_rel*15); +wave_1_per_point16=xang = t1 ; +wave_1_per_point17=yang = t1; +wave_1_per_point18=zang = t1; +wave_1_per_point19=fov = 0.12; +wave_1_per_point20= +wave_1_per_point21= +wave_1_per_point22=// Rotation um x,y,z +wave_1_per_point23= +wave_1_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point26= +wave_1_per_point27=ox = mx; +wave_1_per_point28=oy = my; +wave_1_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point31=ox = mx; +wave_1_per_point32=oz = mz; +wave_1_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point35=oy = my; +wave_1_per_point36=oz = mz; +wave_1_per_point37= +wave_1_per_point38=oz = oz - 6; +wave_1_per_point39=x = ox*fov/oz +0.5; +wave_1_per_point40=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point41=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_per_point1=ampl = time - int(time); +wave_2_per_point2=aml = ampl/2; +wave_2_per_point3=x = .5 + ampl * sin(sample*230); +wave_2_per_point4=y = .5 + ampl * cos(sample*230); +wave_2_per_point5=a = .03; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.14392 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.57482 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=0.840 +shapecode_0_g2=0.930 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.800 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.400 +shape_0_per_frame1=textured = bnot(q24); +shape_0_per_frame2=rad = .2*max(sin(time/9)-.6,0); +shape_0_per_frame3=x = .5 + .01 * sin(time/2); //slightly off-center +shape_0_per_frame4= +shape_0_per_frame5=border_r = .4 * (1.5+sin(time/18)); +shape_0_per_frame6=border_g = .4 * (1.5+sin(time/38)); +shape_0_per_frame7=border_b = .4 * (1.5+sin(time/28)); +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=trel = time/2+q20; +shape_1_per_frame3= +shape_1_per_frame4=x = .5+sin(trel); +shape_1_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_1_per_frame6=rad = .03; +shape_1_per_frame7=a = q26/4+.2; a2 = 0; +shape_1_per_frame8=a = 1; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=rot=rot+0.05+0.04*sin(ang*3+time*1.6); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Baked Ft another AdamFX Mashup 7_1.milk b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Baked Ft another AdamFX Mashup 7_1.milk new file mode 100755 index 0000000000..e777bc5a78 --- /dev/null +++ b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin - disco mix + Lodus + Geiss + Ludicrous speed + Baked Ft another AdamFX Mashup 7_1.milk @@ -0,0 +1,423 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.312 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=5.996 +fWarpScale=1.331 +fZoomExponent=1.01000 +fShader=0.000 +zoom=0.99853 +rot=0.00200 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.900 +ob_b=0.200 +ob_a=1.000 +ib_size=0.000 +ib_r=0.500 +ib_g=0.500 +ib_b=0.500 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_per_frame1=t1 = 1*cos(time/3); +wave_0_per_frame2=t2 = 1*sin(time/7); +wave_0_per_frame3= +wave_0_per_frame4=vol = mid_att + treb_att; +wave_0_per_frame5=vol_m = vol_m*0.999+vol*0.001; +wave_0_per_frame6=exc = above (vol, vol_m*1.1); +wave_0_per_frame7= +wave_0_per_frame8=pulse = 0.95*pulse + 0.05*exc; +wave_0_per_frame9=winkel = winkel + pulse/3; +wave_0_per_frame10=t3 = winkel; +wave_0_per_frame11= +wave_0_per_frame12= +wave_0_per_frame13= +wave_0_per_point1= //Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=t_abs = sample; +wave_0_per_point5=t_rel = sample-time/6; +wave_0_per_point6=ampl = sin(t_abs*3)-0.0; +wave_0_per_point7= +wave_0_per_point8=ox = 3*sin (time) + ampl*(sin (t_rel*267)) ; +wave_0_per_point9=oy = 3*cos (time) + ampl*(cos (t_rel*277)) ; +wave_0_per_point10=oz = 0*cos (t_rel*time/23)+t_abs*4 ; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r = sqr(sin(t_rel*3.4)); +wave_0_per_point14=g = sqr(sin(t_rel*2.3)); +wave_0_per_point15=b = sqr (cos(t_rel*.9)); +wave_0_per_point16= +wave_0_per_point17=a= 0.2*(cos(t_abs*1 )) + q26/16 ; +wave_0_per_point18= +wave_0_per_point19=xang = t2+t3/3; +wave_0_per_point20=yang = t1*t2-t3/4; +wave_0_per_point21=zang = t3; +wave_0_per_point22=fov = 0.2; +wave_0_per_point23= +wave_0_per_point24=monitor = t2; +wave_0_per_point25= +wave_0_per_point26=// Rotation um x,y,z +wave_0_per_point27= +wave_0_per_point28=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point29=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point30= +wave_0_per_point31=ox = mx; +wave_0_per_point32=oy = my; +wave_0_per_point33=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point34=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point35=ox = mx; +wave_0_per_point36=oz = mz; +wave_0_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point39=oy = my; +wave_0_per_point40=oz = mz; +wave_0_per_point41= +wave_0_per_point42=oz = oz - 6; +wave_0_per_point43=x = ox*fov/oz +0.5; +wave_0_per_point44=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point45=y = oy*fov/oz + 0.5; +wave_0_per_point46= +wavecode_1_enabled=1 +wavecode_1_samples=232 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample; +wave_1_per_point3=t_rel = sample-time/5; +wave_1_per_point4=ampl = time; +wave_1_per_point5= +wave_1_per_point6=ox = ampl*10*sin (t_abs*68); +wave_1_per_point7=oy = ampl*10*cos (t_abs*28); +wave_1_per_point8=oz = ampl*10*cos (t_abs*128); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=r = sin(t_abs*1335)+1; +wave_1_per_point12=g = sin(t_abs*1783)+1 ; +wave_1_per_point13=b = int(rand(5))/5 ; +wave_1_per_point14= +wave_1_per_point15=a=0.5+0.25 * sin(t_rel*15); +wave_1_per_point16=xang = t1 ; +wave_1_per_point17=yang = t1; +wave_1_per_point18=zang = t1; +wave_1_per_point19=fov = 0.12; +wave_1_per_point20= +wave_1_per_point21= +wave_1_per_point22=// Rotation um x,y,z +wave_1_per_point23= +wave_1_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point26= +wave_1_per_point27=ox = mx; +wave_1_per_point28=oy = my; +wave_1_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point31=ox = mx; +wave_1_per_point32=oz = mz; +wave_1_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point35=oy = my; +wave_1_per_point36=oz = mz; +wave_1_per_point37= +wave_1_per_point38=oz = oz - 6; +wave_1_per_point39=x = ox*fov/oz +0.5; +wave_1_per_point40=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point41=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_per_point1=ampl = time - int(time); +wave_2_per_point2=aml = ampl/2; +wave_2_per_point3=x = .5 + ampl * sin(sample*230); +wave_2_per_point4=y = .5 + ampl * cos(sample*230); +wave_2_per_point5=a = .03; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.14392 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.57482 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=0.840 +shapecode_0_g2=0.930 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.800 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.400 +shape_0_per_frame1=textured = bnot(q24); +shape_0_per_frame2=rad = .2*max(sin(time/9)-.6,0); +shape_0_per_frame3=x = .5 + .01 * sin(time/2); //slightly off-center +shape_0_per_frame4= +shape_0_per_frame5=border_r = .4 * (1.5+sin(time/18)); +shape_0_per_frame6=border_g = .4 * (1.5+sin(time/38)); +shape_0_per_frame7=border_b = .4 * (1.5+sin(time/28)); +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=trel = time/2+q20; +shape_1_per_frame3= +shape_1_per_frame4=x = .5+sin(trel); +shape_1_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_1_per_frame6=rad = .03; +shape_1_per_frame7=a = q26/4+.2; a2 = 0; +shape_1_per_frame8=a = 1; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=ib_r =0; +per_frame_12=ib_g =0; +per_frame_13=ib_b =0; +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*int(rand(40)),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*int(rand(40)),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*int(rand(40)),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*int(rand(40)),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(int(rand(2))-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+int(rand(60)),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_frame_42=solarize = beat;; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.8*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin-discomix+Lodus+Geiss+Ludicrousspeed+EosFtFlexinHexocollie+Baked+SantaFuckingClaus.milk b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin-discomix+Lodus+Geiss+Ludicrousspeed+EosFtFlexinHexocollie+Baked+SantaFuckingClaus.milk new file mode 100644 index 0000000000..21daa61e7c --- /dev/null +++ b/presets/presets_tryptonaut/Adam Eatit Mashup FX 2 martin-discomix+Lodus+Geiss+Ludicrousspeed+EosFtFlexinHexocollie+Baked+SantaFuckingClaus.milk @@ -0,0 +1,313 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=100.000 +fWarpScale=0.089 +fZoomExponent=0.59124 +fShader=0.000 +zoom=1.00951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.35949 +sx=1.00000 +sy=1.00183 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=1.248 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=tad1 = q4-q2; +wave_0_per_point2=tad2 = cos(time); +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=x = cos( (tad1-tad2)*3*ang )*0.4899 + 0.5; +wave_0_per_point7= +wave_0_per_point8=r=sin(0.6*time); +wave_0_per_point9=g=sin(0.9*time); +wave_0_per_point10=b=sin(0.8*time); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=sides = 3; +shape_0_per_frame2=sx = bass - zoom * time/ang; +shape_0_per_frame3= +shape_0_per_frame4= +shape_0_per_frame5=ang = time* 3.7; +shape_0_per_frame6=x = 0.5; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=r = 0.6*time; +shape_0_per_frame10=b = 0.6*time; +shape_0_per_frame11=g = 0.5*time; +shape_0_per_frame12=r2 = 0.98*time; +shape_0_per_frame13=b2 = 0.5*time; +shape_0_per_frame14=g2 = 0.7*time; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=y = sin(time*2)*0.4 + 0.5; +shape_1_per_frame2=x = sin(time)*0.4 + 0.5; +shape_1_per_frame3= +shape_1_per_frame4=sides = 20; +shape_1_per_frame5= +shape_1_per_frame6=r = 3; +shape_1_per_frame7=r2 = 3; +shape_1_per_frame8=b = 0; +shape_1_per_frame9=b2 = 0; +shape_1_per_frame10=g=0; +shape_1_per_frame11=g2=0; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.01000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time*2)*0.4 + 0.5; +shape_2_per_frame2=y = sin(time)*0.4 + 0.5; +shape_2_per_frame3= +shape_2_per_frame4=sides = 20; +shape_2_per_frame5= +shape_2_per_frame6=r = 0; +shape_2_per_frame7=r2 = 0; +shape_2_per_frame8=b = 3; +shape_2_per_frame9=b2 = 3; +shape_2_per_frame10=g=3; +shape_2_per_frame11=g2=3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=x = sin(bass*0.05)*0.4 + 0.5; +shape_3_per_frame2=y = sin(bass)*0.4 + 0.5; +shape_3_per_frame3= +shape_3_per_frame4=sides = 20; +shape_3_per_frame5= +shape_3_per_frame6=r = 0; +shape_3_per_frame7=r2 = 0; +shape_3_per_frame8=b = 0; +shape_3_per_frame9=b2 = 0; +shape_3_per_frame10=g=4; +shape_3_per_frame11=g2=4; +per_frame_1=wave_r=bass*.5; +per_frame_2=wave_b=bass*.5; +per_frame_3=rot=rot+((int(rand(10))-5)*.02*treb); +per_pixel_1=zoom=zoom+(above(y,.5)*sin(time)*.1); +per_pixel_2=zoom=zoom+(below(y,.5)*cos(time)*.1); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness 16 - mash0000 - gerber full heaving baby.milk b/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness 16 - mash0000 - gerber full heaving baby.milk new file mode 100755 index 0000000000..1f1d734f7d --- /dev/null +++ b/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness 16 - mash0000 - gerber full heaving baby.milk @@ -0,0 +1,348 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.133 +fWaveSmoothing=0.750 +fWaveParam=-0.380 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r = .8+.2*sin(time*1.444); +wave_0_per_frame2=g = .8+.2*sin(time*1.2233); +wave_0_per_frame3=b = .8+.2*sin(time*1.332211); +wave_0_per_point1=x = .5+.3*sin(sample*20)*(value1*10); +wave_0_per_point2=y = .5+.3*cos(sample*20)*(value2*10); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=tme = 0; +wave_1_per_point1=tme = tme+bass*.5; +wave_1_per_point2= +wave_1_per_point3=x = .5+.24*sin(sample*3.1415926*2); +wave_1_per_point4=y = .5+.24*cos(sample*3.1415926*2); +wave_1_per_point5=r = sin((sample*20)+(tme*.0002)); +wave_1_per_point6=g = 0; +wave_1_per_point7=b = 0; +wave_1_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_1_per_point9=a = if(below(a,0),0,a); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=tme = 0; +wave_2_per_point1=tme = tme+treb*.5; +wave_2_per_point2= +wave_2_per_point3=x = .5+.241*sin(sample*3.1415926*2); +wave_2_per_point4=y = .5+.241*cos(sample*3.1415926*2); +wave_2_per_point5=r = 0; +wave_2_per_point6=g = sin((sample*20)+(tme*.0002)); +wave_2_per_point7=b = 0; +wave_2_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_2_per_point9=a = if(below(a,0),0,a); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=tme = tme+mid*.5; +wave_3_per_point2= +wave_3_per_point3=x = .5+.242*sin(sample*3.1415926*2); +wave_3_per_point4=y = .5+.242*cos(sample*3.1415926*2); +wave_3_per_point5=r = 0; +wave_3_per_point6=g = 0; +wave_3_per_point7=b = sin((sample*20)+(tme*.0002)); +wave_3_per_point8=a = .5+sin((sample*20)+(tme*.0002)); +wave_3_per_point9=a = if(below(a,0),0,a); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.16446 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=a = if(above(bass,2.5),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=ib_r=tan(time*24); +per_frame_20=ib_r=min(ib_r,1); +per_frame_21=ib_r=max(ib_r,0); +per_frame_22=ib_g=tan(time*24+3.14); +per_frame_23=ib_g=min(ib_g,1); +per_frame_24=ib_g=max(ib_g,0); +per_frame_25=ib_b=tan(time*24+6.28); +per_frame_26=ib_b=min(ib_b,1); +per_frame_27=ib_b=max(ib_b,0); +per_frame_28= +per_frame_29=ob_r=ib_r-0.5; +per_frame_30=ob_g=ib_g-0.5; +per_frame_31=ob_b=ib_b-0.5; +per_frame_32=q1=ib_rr; +per_frame_33=q2=1-ib_gg; +per_frame_34=q3=ib_bb; +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38=decay = 1; +per_frame_39= +per_frame_40= +per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_42=//solarize=above(0.5,bass); +per_frame_43=//darken=above(0.4,treb); +per_frame_44= +per_frame_45=musictime=musictime+(mid*mid*mid)*0.01*(75/fps); +per_frame_46= +per_frame_47=xpos=sin(musictime*0.6)*0.5; +per_frame_48=ypos=sin(musictime*0.4)*0.5; +per_frame_49=q4=xpos; +per_frame_50=q5=ypos; +per_frame_51= +per_frame_52= +per_frame_53=//invert=above(sin(time),0.5); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.91; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1.00; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); +per_pixel_18=star=min(star,8);star=max(star,-8); +per_pixel_19=zm=zm+star/20; +per_pixel_20=sx=zm; +per_pixel_21=sy=zm; +per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; +per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; +per_pixel_25= +per_pixel_26=b1a=mid*0.13; +per_pixel_27=b1b=(bass+mid+treb)*0.12; +per_pixel_28=b1=b1b *1.1*rd*rd*rd*rd; +per_pixel_29=zoom=0.97+(b1*.1); +comp_1=`sampler sampler_smalltiled_electric_nebula; +comp_2=`float4 texsize_smalltiled_electric_nebula; +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main,uv).xyz; +comp_6=` float2 uv2 = float2(uv.x+.5+(q1),uv.y+.5+(q2)); +comp_7=` float3 ret2 = tex2D(sampler_smalltiled_electric_nebula,uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz; +comp_8=` ret = lerp(ret2*((bass+mid+treb)*.5),ret,ret*2.5); +comp_9=`} diff --git a/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness BEAST2 - mash0000 - ethics is for weiner dogs.milk b/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness BEAST2 - mash0000 - ethics is for weiner dogs.milk new file mode 100755 index 0000000000..15e7e24738 --- /dev/null +++ b/presets/presets_tryptonaut/Adam Fx 2 Zylot - Age of Science Fierceness BEAST2 - mash0000 - ethics is for weiner dogs.milk @@ -0,0 +1,452 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.400 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=44.800 +nMotionVectorsY=24.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.2; +wave_0_per_point6=v = sample*100000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_0_per_point14= +wave_0_per_point15=x = x; +wave_0_per_point16=y = y; +wave_0_per_point17=y = y; +wave_0_per_point18= +wave_0_per_point19=//r = 0.5 + 0.5*sin(time*1.22) + 0.1; +wave_0_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_0_per_point21=//b = 0.4 + 0.4*sin(time*1.959); +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=//q1 = state; +wave_1_per_point2=//q2 = basstime; +wave_1_per_point3= +wave_1_per_point4=q1 = 0; +wave_1_per_point5=speed = bass_att*0.2; +wave_1_per_point6=v = sample*100000 + value2*bass*0.1; +wave_1_per_point7= +wave_1_per_point8=//state 0 elipse +wave_1_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_1_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_1_per_point11= +wave_1_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 0.7); +wave_1_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 0.7); +wave_1_per_point14= +wave_1_per_point15=x = x; +wave_1_per_point16=y = y; +wave_1_per_point17=y = y; +wave_1_per_point18= +wave_1_per_point19=//r = 0.5 + 0.5*sin(time*1.4) + 0.1; +wave_1_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_1_per_point21=//b = 0.4 + 0.4*sin(time*1.259); +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=//q1 = state; +wave_2_per_point2=//q2 = basstime; +wave_2_per_point3= +wave_2_per_point4=q1 = 0; +wave_2_per_point5=speed = bass_att*0.2; +wave_2_per_point6=v = sample*100000 + value2*bass*0.1; +wave_2_per_point7= +wave_2_per_point8=//state 0 elipse +wave_2_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_2_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_2_per_point11= +wave_2_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 1.4); +wave_2_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 1.4); +wave_2_per_point14= +wave_2_per_point15=x = x; +wave_2_per_point16=y = y; +wave_2_per_point17=y = y; +wave_2_per_point18= +wave_2_per_point19=//r = 0.5 + 0.5*sin(time*1.4674) + 0.1; +wave_2_per_point20=g = 1;//0.4 + 0.4*sin(time*1.807) + x; +wave_2_per_point21=//b = 0.4 + 0.4*sin(time*1.359); +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=speed = bass*0.1; +wave_3_per_point2=v = sample*10000 + value2*bass*0.1; +wave_3_per_point3= +wave_3_per_point4=//state 0 elipse +wave_3_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point7= +wave_3_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point10= +wave_3_per_point11=y = y - sample*0.1; +wave_3_per_point12= +wave_3_per_point13=x = x*0.6 + 0.2; +wave_3_per_point14=y = y + bass*0.1; +wave_3_per_point15=y = y*0.8; +wave_3_per_point16= +wave_3_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_3_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_3_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_3_per_point20= +wave_3_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point22=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66710 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.27425 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.100 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_capture = q1; +shape_0_per_frame2= +shape_0_per_frame3=saw = saw - 0.001*bass; +shape_0_per_frame4=saw = if(below(saw,0.2),0.6,saw); +shape_0_per_frame5= +shape_0_per_frame6=tex_zoom = saw; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.66710 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.27425 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.400 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=tex_capture = q1; +shape_1_per_frame2= +shape_1_per_frame3=saw = saw - 0.001*bass; +shape_1_per_frame4=saw = if(below(saw,0.1),0.6,saw); +shape_1_per_frame5= +shape_1_per_frame6=tex_zoom = saw; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=2.66718 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.36964 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.100 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.400 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=2.66718 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.30294 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.100 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.400 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_6=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x; +warp_7=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x; +warp_8=` float2 my_uv = uv - float2(dx,dy)*0.005 + float2(dxb,dyb)*0.002; +warp_9=` +warp_10=` +warp_11=` +warp_12=` float2 v = 0.01; +warp_13=` ret.x = tex2D( sampler_fc_main, my_uv).x; +warp_14=` +warp_15=` +warp_16=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_17=` ret.x += 0.006; +warp_18=` +warp_19=` ret.x = lerp( ret.x, lum(ret).x, 0); +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` +warp_31=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*120; +warp_32=` ret.z *= 0.85; +warp_33=` ret.z += 0.008; +warp_34=` +warp_35=` +warp_36=` +warp_37=`//-------------------------------- +warp_38=` +warp_39=` d = 0.01; +warp_40=` my_uv = float2(-dy,dx)*0.05; +warp_41=` +warp_42=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_43=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_44=` my_uv += uv - float2(dx,dy)*0.03; +warp_45=` +warp_46=` +warp_47=` +warp_48=` v = 0.01; +warp_49=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_50=` +warp_51=` +warp_52=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03; +warp_53=`} +comp_1=`sampler sampler_smalltiled_electric_nebula; +comp_2=`float4 texsize_smalltiled_electric_nebula; +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main,uv).xyz; +comp_6=` float2 uv2 = float2(uv.x+.5+(q1),uv.y+.5+(q2)); +comp_7=` float3 ret2 = tex2D(sampler_smalltiled_electric_nebula,uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz; +comp_8=` ret = lerp(ret2*((bass+mid+treb)*.5),ret,ret*2.5); +comp_9=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6.milk new file mode 100755 index 0000000000..d359b6a083 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6.milk @@ -0,0 +1,622 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.12262 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.050 +mv_r=0.000 +mv_g=0.700 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=rand(100)/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.52770 +shapecode_2_ang=3.14159 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.65190 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.09998 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.34480 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.500 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=wave_x = rand(100)*0.01; +per_frame_8=wave_y = 0.25 + 0.5*rand(100)*0.01; +per_frame_9=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_10=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_11=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_12=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_13=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_14=decay = decay - 0.01*equal(frame%6,0); +per_frame_15=dx = dx + dx_residual; +per_frame_16=dy = dy + dy_residual; +per_frame_17=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_18=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_19=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_20=wave_x = wave_x - dx_residual*7; +per_frame_21=wave_y = wave_y - dy_residual*7; +per_frame_22=wave_mystery = time*0.03; +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6_1.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6_1.milk new file mode 100755 index 0000000000..4b1a0256bd --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Staine Glass Chapters 6_1.milk @@ -0,0 +1,622 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.12262 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.050 +mv_r=0.000 +mv_g=0.700 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=int(rand(100))/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.52770 +shapecode_2_ang=3.14159 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.65190 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.09998 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.34480 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.500 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=wave_r = sqrt(wave_r); +per_frame_5=wave_g = sqrt(wave_g); +per_frame_6=wave_b = sqrt(wave_b); +per_frame_7=wave_x = int(rand(100))*0.01; +per_frame_8=wave_y = 0.25 + 0.5*int(rand(100))*0.01; +per_frame_9=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_10=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_11=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_12=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_13=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_14=decay = decay - 0.01*equal(frame%6,0); +per_frame_15=dx = dx + dx_residual; +per_frame_16=dy = dy + dy_residual; +per_frame_17=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_18=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_19=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_20=wave_x = wave_x - dx_residual*7; +per_frame_21=wave_y = wave_y - dy_residual*7; +per_frame_22=wave_mystery = time*0.03; +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Spike Living Stained Glass Chapters.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Spike Living Stained Glass Chapters.milk new file mode 100755 index 0000000000..4b85a25187 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up - Angelic Spike Living Stained Glass Chapters.milk @@ -0,0 +1,602 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.050 +mv_r=0.000 +mv_g=0.700 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=int(rand(100))/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.52770 +shapecode_2_ang=3.14159 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.65190 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.09998 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.34480 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.500 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=decay=.90; +per_pixel_1=zoom=1.01; +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye.milk new file mode 100755 index 0000000000..a5eee57967 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye.milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur2(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye2.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye2.milk new file mode 100755 index 0000000000..4e6dc50dec --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye2.milk @@ -0,0 +1,350 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye3.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye3.milk new file mode 100755 index 0000000000..bbf5cca1fd --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye3.milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur1(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.05*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye4.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye4.milk new file mode 100755 index 0000000000..9b15153e34 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye4.milk @@ -0,0 +1,316 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.209 +fWaveScale=1.486 +fWaveSmoothing=0.000 +fWaveParam=-0.300 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.330 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=33.152 +nMotionVectorsY=28.800 +mv_dx=0.006 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.200 +mv_g=0.000 +mv_b=0.000 +mv_a=0.600 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye6.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye6.milk new file mode 100755 index 0000000000..13458e9591 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye6.milk @@ -0,0 +1,370 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.535 +fWaveSmoothing=0.000 +fWaveParam=-0.480 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.650 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=6.400 +nMotionVectorsY=48.000 +mv_dx=0.500 +mv_dy=0.500 +mv_l=5.000 +mv_r=0.014 +mv_g=0.872 +mv_b=0.522 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.74630 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.94204 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.74630 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.94204 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.36456 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.36456 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye7.milk b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye7.milk new file mode 100755 index 0000000000..20865d55a2 --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX 2 Geiss - Mash-Up Sphere Xibit Graffiti Warp me Tydye7.milk @@ -0,0 +1,624 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.03000 +dy=0.00000 +warp=0.47402 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=0.000 +wavecode_0_b=0.300 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=3.99882 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=0.25005 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.06779 +shapecode_1_ang=0.75398 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74186 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.06779 +shapecode_2_ang=0.75398 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.77977 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_1=wave_r = wave_r + 0.700*( 0.20*sin(0.933*time) + 0.30*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.700*( 0.20*sin(0.900*time) + 0.30*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.20*sin(0.910*time) + 0.30*sin(0.920*time) ); +per_frame_4= +per_frame_5=zoom = zoom + 0.02*cos(time*1.713+2); +per_frame_6=zoom = zoom + 0.02*cos(time*2.319+4); +per_frame_7=zoom = zoom + 0.02*cos(time*1.522+1); +per_pixel_1=dx= 0.002*cos(ang+1.57); +per_pixel_2=dy=-0.002*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/AdamFX Mashup 2 Martin - reflections on black tile + Raron N Flexi .milk b/presets/presets_tryptonaut/AdamFX Mashup 2 Martin - reflections on black tile + Raron N Flexi .milk new file mode 100755 index 0000000000..fcfb5e376d --- /dev/null +++ b/presets/presets_tryptonaut/AdamFX Mashup 2 Martin - reflections on black tile + Raron N Flexi .milk @@ -0,0 +1,361 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.741 +fWaveSmoothing=0.810 +fWaveParam=0.000 +fModWaveAlphaStart=0.370 +fModWaveAlphaEnd=1.320 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.800 +wave_g=0.590 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%2; +wave_0_per_point2= +wave_0_per_point3=xi = value1*k1 + xi*(1-k1); +wave_0_per_point4=yi = value2*(1-k1) + yi*k1; +wave_0_per_point5= +wave_0_per_point6=x = .5 + 5*xi; +wave_0_per_point7=y = .5 + 5*yi; +wave_0_per_point8= +wave_0_per_point9=a = bass_att + mid_att + treb_att; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=5.90461 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_per_point1= +wave_1_per_point2=x = sample ; +wave_1_per_point3= +wave_1_per_point4=val = value1; +wave_1_per_point5=y = val * (.25-(sample-.5)*(sample-.5)) + .5; +wave_1_per_point6= +wave_1_per_point7=r = .6; g = 1; b = 1; +wave_1_per_point8=a=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.09987 +wavecode_2_smoothing=0.40000 +wavecode_2_r=0.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=0.320 +wave_2_per_point1= +wave_2_per_point2=x = sample; +wave_2_per_point3=r = .0; b = .0; g = 1; a = .6; +wave_2_per_point4=y = .5 + value1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = int(rand(10001))*.0001; +wave_3_per_point15=rb = rb + int(rand(10001))*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=0 +shapecode_0_sides=94 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.26574 +shapecode_0_ang=2.32478 +shapecode_0_tex_ang=1.00531 +shapecode_0_tex_zoom=1.53117 +shapecode_0_r=0.500 +shapecode_0_g=1.000 +shapecode_0_b=0.900 +shapecode_0_a=0.030 +shapecode_0_r2=0.830 +shapecode_0_g2=0.930 +shapecode_0_b2=0.800 +shapecode_0_a2=0.060 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.26458 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=1.44510 +shapecode_1_tex_zoom=1.49331 +shapecode_1_r=0.700 +shapecode_1_g=0.400 +shapecode_1_b=0.000 +shapecode_1_a=0.010 +shapecode_1_r2=0.700 +shapecode_1_g2=0.400 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.503 +shapecode_2_y=0.500 +shapecode_2_rad=0.15648 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.60986 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.300 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=fade = .5; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16= +per_frame_17=k1 = is_beat*equal(index,0); +per_frame_18=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_19=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_20=rott = p2 * 3.14159265358/2; +per_frame_21=q27 = index + 1; +per_frame_22= +per_frame_23=q1 = cos(rott); +per_frame_24=q2 = sin(rott); +per_frame_25=q3 = -q2; +per_frame_26=q4 = q1; +per_frame_27= +per_frame_28=zoom = 1.0; +per_frame_29=rot = -0.00 * index; +per_frame_30= +per_frame_31=fade = fade*dec_med + pow(0.996, 30/fps) * (1-dec_med); +per_frame_32=q32 = fade; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`float3 Feedback = GetBlur1(uv); +warp_7=` +warp_8=`float2 zz = uv1 *texsize.xy *.015*q27; +warp_9=`zz =mul(zz,float2x2(_qa)); +warp_10=` +warp_11=`float2 h1 = clamp(tan(zz),-20,20); +warp_12=` +warp_13=`uv.xy += h1*texsize.zw * 8; +warp_14=` +warp_15=`float3 crisp = tex2D(sampler_main,uv); +warp_16=` +warp_17=`ret = q32*crisp+noiseVal*(1-Feedback*1)-.02; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 crisp = tex2D(sampler_main,uv); +comp_5=`float3 blur = GetBlur1(uv - 0.01*crisp); +comp_6=` +comp_7=`float3 ret1 = crisp + saturate(3* (blur-float3(0.1,.1,.2))); +comp_8=` +comp_9=`ret = ret1*1.3; +comp_10=`} diff --git a/presets/presets_tryptonaut/AdamFx 2 Aderrasi - Airhandler (Last Breath - Calm)Ilusional Discontent2.milk b/presets/presets_tryptonaut/AdamFx 2 Aderrasi - Airhandler (Last Breath - Calm)Ilusional Discontent2.milk new file mode 100755 index 0000000000..7d6629684f --- /dev/null +++ b/presets/presets_tryptonaut/AdamFx 2 Aderrasi - Airhandler (Last Breath - Calm)Ilusional Discontent2.milk @@ -0,0 +1,393 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000 +fGammaAdj=1.399 +fDecay=1.000 +fVideoEchoZoom=1.488 +fVideoEchoAlpha=0.300 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01010 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=branch=int(rand(2)); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=branch=int(rand(2)); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=branch=int(rand(2)); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=branch=int(rand(2)); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.46815 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.63904 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02743 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.050 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02508 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.050 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=2.66717 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.60804 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.100 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.010 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // a color-holding posterize effect: +warp_10=` float3 m = float3(7,6,8); +warp_11=` ret = lerp(ret, floor(ret*m+0.25)/m, 0.1); +warp_12=` +warp_13=` +warp_14=` // darken over time +warp_15=` float center = 1-saturate(length(uv-uv_orig)*40); +warp_16=` ret = (ret*0.99 - 0.0025 - center*0.003); +warp_17=` +warp_18=`} diff --git a/presets/presets_tryptonaut/AdamFx 2 Geiss -Somewhat Distort Me 3_1.milk b/presets/presets_tryptonaut/AdamFx 2 Geiss -Somewhat Distort Me 3_1.milk new file mode 100755 index 0000000000..a159b5997f --- /dev/null +++ b/presets/presets_tryptonaut/AdamFx 2 Geiss -Somewhat Distort Me 3_1.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200 +fWaveScale=1.013 +fWaveSmoothing=0.900 +fWaveParam=-0.280 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=3.60000 +fShader=0.000 +zoom=1.02500 +rot=-0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.30900 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.650 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.500 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.03*sin((x*2-1)*4+time*1.63)+0.03*sin((y*2-1)*3+time*1.37)-0.1*sin(rad*0.1+time*1.6); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 +warp_14=` * 122 * saturate((treb_att-1)+0.4); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`} diff --git a/presets/presets_tryptonaut/Aderrasi + Flexi - Airhandler (Last Breath - Calm) [moebius morbid vision edit].milk b/presets/presets_tryptonaut/Aderrasi + Flexi - Airhandler (Last Breath - Calm) [moebius morbid vision edit].milk new file mode 100755 index 0000000000..39ba05963a --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi + Flexi - Airhandler (Last Breath - Calm) [moebius morbid vision edit].milk @@ -0,0 +1,317 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.399 +fDecay=1.000 +fVideoEchoZoom=1.488 +fVideoEchoAlpha=0.300 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.691 +fWaveScale=4.778 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01010 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11=// the m�bius transformation +per_frame_12=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_13=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_14=// so a/c and mu can be calculated outside of the shader +per_frame_15= +per_frame_16=//before inversion +per_frame_17= +per_frame_18=scale = 1; +per_frame_19=angle = time*.2; +per_frame_20=translation_x = 0; +per_frame_21=translation_y = 0.12; +per_frame_22= +per_frame_23=a_r = cos(angle)*scale; +per_frame_24=a_i = sin(angle)*scale; +per_frame_25=b_r = translation_x; +per_frame_26=b_i = translation_y; +per_frame_27= +per_frame_28=//complex inverted +per_frame_29=scale = 1; +per_frame_30=angle = sin(time*0.1337)*0.3; +per_frame_31=translation_u = 0; +per_frame_32=translation_v = -0.2; +per_frame_33= +per_frame_34=// c +per_frame_35=q15 = cos(angle)*scale; +per_frame_36=q16 = sin(angle)*scale; +per_frame_37= +per_frame_38=// d +per_frame_39=q17 = translation_u; +per_frame_40=q18 = translation_v; +per_frame_41= +per_frame_42=// c^(-1) +per_frame_43=c_inv_r = q15/(q15*q15+q16*q16); +per_frame_44=c_inv_i = q16/(q15*q15+q16*q16); +per_frame_45= +per_frame_46=// a*c^(-1) +per_frame_47=q11 = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_48=q12 = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_49= +per_frame_50=// (bc-ad) +per_frame_51=bcad_r = (b_r*q15 - b_i*q16)-(a_r*q17-a_i*q18); +per_frame_52=bcad_i = (b_r*q16 - b_i*q15)-(a_r*q18-a_i*q17); +per_frame_53= +per_frame_54=// mu*c^(-1) +per_frame_55=q13 = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_56=q14 = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q11,q12); +comp_5=`float2 mu = float2(q13,q14); +comp_6=`float2 c = float2(q15,q16); +comp_7=`float2 d = float2(q17,q18); +comp_8=` +comp_9=`float2 z = (uv-0.5); +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x) + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`uv=moebius; +comp_19=`float3 rnd = tex2D(sampler_noise_lq, rand_frame.xy + uv*texsize.xy*texsize_noise_lq.zw)*2-1; +comp_20=` +comp_21=`ret = GetPixel(uv); +comp_22=` +comp_23=`d = texsize.zw * 8; +comp_24=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_25=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_26=` +comp_27=`uv -= float2(lum(dx),lum(dy))*texsize.zw*32; +comp_28=` +comp_29=` +comp_30=`ret = pow(abs(GetBlur3(uv+rnd.xy*texsize.zw*5)*2-GetPixel(uv))*1,1); +comp_31=`} diff --git a/presets/presets_tryptonaut/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk b/presets/presets_tryptonaut/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk new file mode 100755 index 0000000000..b074909936 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi + Geiss - Airhandler (Kali Mix) - Painterly Kaleidoscope 2.milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.001 +fDecay=0.950 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.073 +fWaveScale=1.286 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.99951 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01010 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.8 +ib_size=0.0 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.05*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = rot + 0.5*sin(0.5-rad)*cos(0.02*(0.5-rad)+time); +per_pixel_3=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_4=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_5=zoom = zoom - 0.05*(1-rad)*below(rad,0.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Aderrasi - Agitator.milk b/presets/presets_tryptonaut/Aderrasi - Agitator.milk new file mode 100755 index 0000000000..11f469e0e2 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Agitator.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.504000 +fDecay=0.900000 +fVideoEchoZoom=0.999592 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.311604 +fWaveSmoothing=0.450000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.438651 +fZoomExponent=0.999994 +fShader=0.000000 +zoom=1.000156 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.990099 +sy=0.990099 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.600000 +ob_b=0.500000 +ob_a=0.100000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.100000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.5*sin(1.2*frame) + 0.3*sin(1.9*frame); +per_frame_2=wave_g = wave_g + 0.7*sin(1.1*frame) + 0.4*cos(1.6*frame); +per_frame_3=wave_b = wave_b + 0.2*sin(1.3*frame) + 0.4*sin(2*frame); +per_pixel_1=rot=rot + (0.5 + 0.1*sin(bass)-rad)*pow(bass,3)/50; +per_pixel_2=zoom= zoom + (0.5 + 0.3*tan(3*bass_att)-rad)*(cos(pow(rad,2.4))+(0.2*mid_att)); +per_pixel_3=warp = warp + if (above(bass,1.34), 0.5*(0.5+ 0.1*sin(bass)-rad)*(cos(pow(rad,2.4))+(5*bass_att)), 0); diff --git a/presets/presets_tryptonaut/Aderrasi - Aimless (Gravity Directive Mix).milk b/presets/presets_tryptonaut/Aderrasi - Aimless (Gravity Directive Mix).milk new file mode 100755 index 0000000000..f0f74572e6 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Aimless (Gravity Directive Mix).milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.611434 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.900000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.12*sin(0.2*time) - 0.15*cos(0.1*time) + 0.1*sin(0.2*time); +per_frame_2=wave_y = wave_y + 0.1*sin(0.3*time) - 0.2*sin(0.88*time) + 0.13*cos(0.7*time); +per_frame_3=dx = dx + 0.04*sin(1.24*time); +per_frame_4=dy = dy + 0.04*sin(1.12*time); +per_frame_5=wave_r = wave_r + 0.35*sin(1.13*time) + 0.1245*sin(2.34*time); +per_frame_6=wave_g = wave_g + 0.35*sin(1.23*time) + 0.12*sin(2.134*time); +per_frame_7=wave_b = wave_b + 0.35*sin(1.33*time) + 0.12*sin(2.5*time); +per_frame_8=wave_mystery = wave_mystery + 0.00*sin(time); +per_frame_9=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.3)*0.96+1.3); +per_frame_10=turnr = equal(turn,2)*0.089*sin(time*6.6) + (1-equal(turn,2))*turnr; +per_frame_11=simp = simp * 0.35*sin(1.2*time) - 0.62*sin(0.7*time) + 1.5*sin(turn); +per_frame_12=rot = rot + 1.05*((0.25*simp)*10*turnr); diff --git a/presets/presets_tryptonaut/Aderrasi - Aimless (Spirogravity Mix).milk b/presets/presets_tryptonaut/Aderrasi - Aimless (Spirogravity Mix).milk new file mode 100755 index 0000000000..f0f74572e6 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Aimless (Spirogravity Mix).milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.611434 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.900000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.12*sin(0.2*time) - 0.15*cos(0.1*time) + 0.1*sin(0.2*time); +per_frame_2=wave_y = wave_y + 0.1*sin(0.3*time) - 0.2*sin(0.88*time) + 0.13*cos(0.7*time); +per_frame_3=dx = dx + 0.04*sin(1.24*time); +per_frame_4=dy = dy + 0.04*sin(1.12*time); +per_frame_5=wave_r = wave_r + 0.35*sin(1.13*time) + 0.1245*sin(2.34*time); +per_frame_6=wave_g = wave_g + 0.35*sin(1.23*time) + 0.12*sin(2.134*time); +per_frame_7=wave_b = wave_b + 0.35*sin(1.33*time) + 0.12*sin(2.5*time); +per_frame_8=wave_mystery = wave_mystery + 0.00*sin(time); +per_frame_9=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.3)*0.96+1.3); +per_frame_10=turnr = equal(turn,2)*0.089*sin(time*6.6) + (1-equal(turn,2))*turnr; +per_frame_11=simp = simp * 0.35*sin(1.2*time) - 0.62*sin(0.7*time) + 1.5*sin(turn); +per_frame_12=rot = rot + 1.05*((0.25*simp)*10*turnr); diff --git a/presets/presets_tryptonaut/Aderrasi - Airhandler (Last Breath - Crab).milk b/presets/presets_tryptonaut/Aderrasi - Airhandler (Last Breath - Crab).milk new file mode 100755 index 0000000000..60c49227db --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Airhandler (Last Breath - Crab).milk @@ -0,0 +1,286 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=1.000000 +fVideoEchoZoom=2.005956 +fVideoEchoAlpha=0.300000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999996 +fShader=0.000000 +zoom=0.999510 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.625314 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.498313 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2=x = x+0.2*sin(5*q4); +shape_0_per_frame3=y = y+0.2*cos(5*q4); +shape_0_per_frame4=ang = 4*time*(0.3 + 0.1*t1); +shape_0_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame6=//a = a + abs(0.4*sin(q4)); +shape_0_per_frame7=//r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame8=//g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame9=//b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame10=//r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame11=//g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame12=//b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.905287 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2=x = x + 0.05*sin(time*1.05+3); +shape_1_per_frame3=y = y + 0.03*sin(time*1.29+1); +shape_1_per_frame4=ang = time*(0.1 + 0.1*t1); +shape_1_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame9=r=q1; +shape_1_per_frame10=g=q3; +shape_1_per_frame11=b=q2; +shape_1_per_frame12=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame13=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame14=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.905287 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2=x = x + 0.05*sin(time*0.17); +shape_2_per_frame3=y = y + 0.03*sin(time*0.83); +shape_2_per_frame4=ang = time*(0.2 + 0.1*t1); +shape_2_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame6=r = q3; +shape_2_per_frame7=g = q1; +shape_2_per_frame8=b = q2; +shape_2_per_frame9= +shape_2_per_frame10=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame11=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame12=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame13=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame14=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame15=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.591230 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.256637 +shapecode_3_tex_zoom=0.850127 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.900000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.2*sin(time*0.25); +shape_3_per_frame4=y = y + 0.1*sin(time*0.5+2); +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11= +per_frame_12=q1 = ob_r; +per_frame_13=q2 = ob_g; +per_frame_14=q3 = ob_b; +per_frame_15=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_16=ocog = below(cog,30000)*cog; +per_frame_17=q4 = cog; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); +per_pixel_9= +per_pixel_10=dx = dx + dx_r; +per_pixel_11=dy = dy + dy_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Airhandler (Menagerie Mix).milk b/presets/presets_tryptonaut/Aderrasi - Airhandler (Menagerie Mix).milk new file mode 100755 index 0000000000..b918ff2a5e --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Airhandler (Menagerie Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.990000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.053726 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.900000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.05*sin(time); +per_frame_6=wave_y = wave_y + 0.05*cos(time); +per_frame_7= +per_frame_8=ib_r = ib_r + 0.25*sin(time); +per_frame_9=ib_g = ib_g + 0.25*cos(time); +per_frame_10=ib_b = ib_b + 0.25*sin(0.5*time); +per_pixel_1=zoom = zoom + 0.05*(sin(abs(50*sin(0.1*time))*rad) * sin(sin(time*2*sin(24*ang)*-rad))*3 * cos(rad)); +per_pixel_2=rot = rot + 0.1*sin(0.2+ 0.5*sin(time)-rad); +per_pixel_3=cx = cx + 1.1*(0.99*(0.5-rad))*sin(0.733*time)*below(sin(time),cos(time)); +per_pixel_4=cy = cy + 1.1*(0.99*(0.5-rad))*cos(0.953*time)*above(sin(time),cos(0.5*time)); diff --git a/presets/presets_tryptonaut/Aderrasi - Airhandler (Principle of Sharing).milk b/presets/presets_tryptonaut/Aderrasi - Airhandler (Principle of Sharing).milk new file mode 100755 index 0000000000..f302424c5a --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Airhandler (Principle of Sharing).milk @@ -0,0 +1,228 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=0.999599 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(24*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.5) +per_pixel_5=*above(sin(time),0); +per_pixel_6=zoom = zoom + 0.0095*(sin(6*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1) +per_pixel_7=*below(sin(time),0); +per_pixel_8=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_9=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_10=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_11=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_tryptonaut/Aderrasi - Airs (Windy Mix).milk b/presets/presets_tryptonaut/Aderrasi - Airs (Windy Mix).milk new file mode 100755 index 0000000000..7d9c2ee5c9 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Airs (Windy Mix).milk @@ -0,0 +1,82 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.220183 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.241455 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.004500 +ob_r=1.000000 +ob_g=0.800000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=3.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(1.4*time) + 0.15*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(1.7*time) + 0.15*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(1.84*time) + 0.15*sin(2.3*time); +per_frame_4= +per_frame_5=ib_r = wave_g; +per_frame_6=ib_g = wave_b; +per_frame_7=ib_b = wave_r; +per_frame_8=ob_r = wave_b; +per_frame_9=ob_g = wave_r; +per_frame_10=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=randomize = sin(time) - 0.75*cos(1.52*time) + 1.52*sin(5.5*time) - rand(2); +per_pixel_6=dx = dx + 0.07*pow(rad,x*2)*sin(time) + dx_r*1.75*sin(0.25-rad*randomize); +per_pixel_7=dy = dy + 0.07*pow(rad,x*2)*cos(time) + dy_r*1.75*sin(0.25-rad*randomize); +per_pixel_8=zoom = zoom - 0.1*pow(rad,x*0.6 + y*0.6)*cos(rad*randomize)*2*sin(time); +per_pixel_9=rot = rot - 0.25*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk b/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk new file mode 100755 index 0000000000..ef8257651b --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.990000 +fVideoEchoZoom=0.451116 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=-0.800000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = wave_b; +per_frame_7=ob_g = wave_r; +per_frame_8=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=orb = ((0.5 - 0.5*sin(12*(sin(rad*time+ang))*(ang*time+rad)*time+rad))-2*rad); +per_pixel_6= +per_pixel_7=zoom = zoom + 0.1*sin(0.6*cos(0.33*(0.6*sin(1.52*time)*orb + (orb*0.8*cos(2.2*time))+ ((cos(orb))*0.7*sin(time)))))*(above(zoom,0.3)*0); +per_pixel_8= +per_pixel_9=sx = sx + (orb)*0.2*abs((above(sin(1.2*time),0))*sin(0.8*time)); +per_pixel_10=sy = sy + (-orb)*0.2*abs((below(sin(1.45*time),0))*cos(0.63*time)); +per_pixel_11= +per_pixel_12=dx = dx + 2*dx_r; +per_pixel_13=dy = dy+ 2*dy_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Verified Mix).milk b/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Verified Mix).milk new file mode 100755 index 0000000000..8d60b5d461 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Anchorpulse (Verified Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.347848 +fVideoEchoAlpha=0.600000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.266718 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=orb = (0.05 + 0.25*sin(0.6*time + 0.62*cos(time))-(0.5/rad)); +per_pixel_6= +per_pixel_7=zoom = zoom + (bass_att)*abs(0.33*(0.6*sin(1.52*time)*(0.25-rad) + ((0.5-rad)*0.8*cos(2.2*time))+ ((2*orb+(2-rad))*0.7*sin(time))))*0.4; +per_pixel_8= +per_pixel_9=sx = sx + (0.5-rad)*0.2*abs((above(sin(time),0))*sin(time)); +per_pixel_10=sy = sy + (0.5-rad)*0.2*abs((below(sin(time),0))*cos(time)); +per_pixel_11= +per_pixel_12=dx = dx + dx_r; +per_pixel_13=dy = dy+ dy_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk b/presets/presets_tryptonaut/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk new file mode 100755 index 0000000000..8b97981d32 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.490000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972362 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.4*(0.25*sin(1.4*time)) + 0.25*sin(7.25*time); +per_frame_2=wave_g = wave_g + 0.34*(0.25*sin(1.7*time)) + 0.25*sin(6.11*time); +per_frame_3=wave_b = wave_b + 0.3*(0.25*sin(1.84*time)) + 0.25*sin(9.3*time); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.025*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=dx = dx + dx_r*(above(x,0.45+0.45*sin(1.5*time))*below(x,0.55+0.45*sin(1.5*time))); +per_pixel_6=dy = dy + dy_r*(above(y,0.45+0.45*cos(1.25*time))*below(y,0.55+0.45*cos(1.25*time))); +per_pixel_7=cx = cx + bass*(above(x,0.35+0.45*sin(1.05*time))*below(x,0.65+0.45*sin(1.05*time))); +per_pixel_8=cy = cy + bass*(above(y,0.35+0.45*cos(1.75*time))*below(y,0.65+0.45*cos(1.75*time))); +per_pixel_9=rot = rot + 0.15*((0.43*rad)*(5*cos(dx*dy-bass_att+(0.5-rad))*2-rad))*abs(0.5*(2*sin(0.2*time))); +per_pixel_10=zoom = zoom - 0.02*(abs(cos(12*ang))+0.4*rad); diff --git a/presets/presets_tryptonaut/Aderrasi - Antidote (Aqualung Mix).milk b/presets/presets_tryptonaut/Aderrasi - Antidote (Aqualung Mix).milk new file mode 100755 index 0000000000..7a009c0034 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Antidote (Aqualung Mix).milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999837 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.599171 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=20.009382 +fWarpScale=5.427911 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.100000 +wave_b=1.000000 +wave_x=0.400000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_4=//wave_y = wave_y + 0.24*sin(2.5*time); +per_frame_5=wave_x = 0.5 + 0.25*sin(time); +per_frame_6=wave_y = 0.5 + 0.25*cos(time); +per_frame_7=ib_r = above(sin(0.2*time),-0.333)*1*below(sin(0.2*time),0.333); +per_frame_8=ib_g = below(sin(0.2*time),-0.333)*1; +per_frame_9=ib_b = above(sin(0.2*time),0.333)*1; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dy = dy + 0.001; +per_pixel_5=//warp = warp + dy_r*50* (if (above(x*cos(1.2*time), sin(1.62*time)), if(below(x*sin(1.72*time),cos(1.8*time)), if(below(y,sin(3*time)), + 1*bass, 0), 0), 0)); +per_pixel_6=rot = rot + 0.4*(1-rad)*0.5*sin(70*dy_r+dx_r*60); +per_pixel_7=zoom = zoom + 0.01*(1-rad*2)*0.03*(0.5-rad*0.1*sin(time)); +per_pixel_8=dy = dy + (0.005*sin(cos(x*time)*1.76*sin(0.52*time*cos(max(0.075*bass_att,0.0005*time))))); +per_pixel_9=dx = dx + (0.005*cos(sin(y*time)*1.54*sin(0.79*time*sin(max(0.075*treb_att,0.0005*time))))); diff --git a/presets/presets_tryptonaut/Aderrasi - Antidote (Side Effects Mix).milk b/presets/presets_tryptonaut/Aderrasi - Antidote (Side Effects Mix).milk new file mode 100755 index 0000000000..3758912f05 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Antidote (Side Effects Mix).milk @@ -0,0 +1,79 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=5.427025 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972360 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.766487 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.400000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(1.4*time) + 0.15*sin(2.5*time+2*mid); +per_frame_2=wave_g = wave_g + 0.35*sin(1.7*time) + 0.15*sin(2.11*time+2.2*treb); +per_frame_3=wave_b = wave_b + 0.35*sin(1.84*time) + 0.15*sin(2.3*time+2*bass); +per_frame_4=//wave_y = wave_y + 0.24*sin(2.5*time); +per_frame_5=wave_x = 0.75 + 0.45*sin(sin(0.5*bass_att-0.4*treb_att)*sin(time)); +per_frame_6=//warp = warp + (0.8*bass_att - 0.8*treb_att)*0.25; +per_pixel_1=//thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=//dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=//dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=//warp = warp + dy_r*50* (if (above(x*cos(1.2*time), sin(1.62*time)), if(below(x*sin(1.72*time),cos(1.8*time)), if(below(y,sin(3*time)), + 1*bass, 0), 0), 0)); +per_pixel_6= +per_pixel_7=dy = dy + (0.004*sin(cos(x*2.25*time)*0.86*sin(0.52*time*cos(max(0.075*bass_att,0.0005*time))))); +per_pixel_8=dx = dx + (0.004*cos(sin(y*2.25*time)*0.94*sin(0.79*time*sin(max(0.075*treb_att,0.0005*time))))); +per_pixel_9=dy = dy - sin((1+x)*time*0.94)*(0.005*above(y,sin(1.14*time+0.02*treb_att))); +per_pixel_10=dx = dx + sin((0.25-y)*time*0.97)*(0.005*above(x,cos(1.2*time+0.02*bass_att))); diff --git a/presets/presets_tryptonaut/Aderrasi - Antidote.milk b/presets/presets_tryptonaut/Aderrasi - Antidote.milk new file mode 100755 index 0000000000..a7ff1eb7be --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Antidote.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999837 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972360 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=20.009382 +fWarpScale=5.427911 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.400000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_4=//wave_y = wave_y + 0.24*sin(2.5*time); +per_frame_5=wave_x = 0.5 + 0.15*sin(time); +per_pixel_1=//thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=//dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=//dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=//warp = warp + dy_r*50* (if (above(x*cos(1.2*time), sin(1.62*time)), if(below(x*sin(1.72*time),cos(1.8*time)), if(below(y,sin(3*time)), + 1*bass, 0), 0), 0)); +per_pixel_6= +per_pixel_7=dy = dy + (0.005*sin(cos(x*time)*1.76*sin(0.52*time*cos(max(0.075*bass_att,0.0005*time))))); +per_pixel_8=dx = dx + (0.005*cos(sin(y*time)*1.54*sin(0.79*time*sin(max(0.075*treb_att,0.0005*time))))); diff --git a/presets/presets_tryptonaut/Aderrasi - Antique Abyss.milk b/presets/presets_tryptonaut/Aderrasi - Antique Abyss.milk new file mode 100755 index 0000000000..e2b93bf5ac --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Antique Abyss.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=2.000454 +fWaveSmoothing=0.540000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.700000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=0.200000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.200000 +ib_b=0.300000 +ib_a=0.100000 +nMotionVectorsX=25.599995 +nMotionVectorsY=33.600002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.300000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.150000 +per_frame_1=wave_r = wave_r + (0.35*sin(1.4*time*bass) + 0.25*sin(2.5*time))*4*treb*time; +per_frame_2=wave_g = wave_g + (0.35*sin(1.7*time*mid) - 0.25*sin(1.11*time))*4*bass*time; +per_frame_3=wave_b = wave_b + (0.35*sin(1.84*time*treb) + 0.25*sin(2.3*time))*4*mid*time; +per_frame_4=warp = 0; +per_frame_5=mv_g = 0.3 + 0.25*sin(wave_r); +per_frame_6=mv_r = 0.3 + 0.25*cos(wave_b); +per_frame_7=mv_b = 0.3 + 0.15*sin(wave_g); +per_frame_8=mv_x = mv_x - 3*bass; +per_frame_9=mv_y = mv_y - 4*treb; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom - 0.26*rad*(0.7+0.1*sin(4*bass*time)-rad); +per_pixel_5=dy= dy + 1.99*dy_r*(rad*sin(5*treb_att))*(1-rad); +per_pixel_6=dx = dx + 1.5*dx_r *(rad*cos(5*bass_att))*(0.6*rad-0.7-rad); +per_pixel_7=rot = rot + abs(0.8*(0.7*sin(bass*treb)*x-0.033*cos(ang))*(1-rad)); diff --git a/presets/presets_tryptonaut/Aderrasi - Arise! (Padded Mix).milk b/presets/presets_tryptonaut/Aderrasi - Arise! (Padded Mix).milk new file mode 100755 index 0000000000..9a98e79e81 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Arise! (Padded Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=1.503739 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=2.905225 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.408391 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=//decay = 0.995 + 0.004*sin(0.5*time); +per_frame_6=wave_x = 0.01; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=dy = dy - 0.025*(1-y)*above(y,0.95); +per_pixel_6=dy = dy - 0.025*(y)*below(y,0.94); +per_pixel_7= +per_pixel_8=warp = warp + 0.25*(bass-treb)*above(y,0.9); +per_pixel_9=zoom = zoom - 0.02*(rad)*(above(y,0.9)); +per_pixel_10=sx = sx - above(x, 0.35 + 0.35*sin(time))*below(x,0.65 + 0.35*sin(time))* +per_pixel_11=above(y,0.8)*0.008*sin(time); diff --git a/presets/presets_tryptonaut/Aderrasi - Ashes Of Air (Remix).milk b/presets/presets_tryptonaut/Aderrasi - Ashes Of Air (Remix).milk new file mode 100755 index 0000000000..ed1777b79d --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Ashes Of Air (Remix).milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.001000 +fDecay=1.000000 +fVideoEchoZoom=1.469141 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.386134 +fWaveScale=1.568857 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_pixel_1=zoom = zoom + 0.25*(0.05*bass_att + sin(sin(time+rad))*0.3 - cos(rad)*0.1); +per_pixel_2=rot = 0.06*sin(rad); +per_pixel_3=dx = dx + 0.008*(0.99*1-rad)*sin(0.733*time); +per_pixel_4=dy = dy + 0.008*(0.99*1-rad)*cos(0.953*time); diff --git a/presets/presets_tryptonaut/Aderrasi - Bitterfeld (Crystal Border Mix).milk b/presets/presets_tryptonaut/Aderrasi - Bitterfeld (Crystal Border Mix).milk new file mode 100755 index 0000000000..79a2f22de9 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Bitterfeld (Crystal Border Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.448626 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.310603 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.600000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ib_r =wave_r; +per_frame_6=ib_g = wave_g; +per_frame_7=ib_b = wave_b; +per_frame_8=wave_mystery = wave_mystery + 0.3*time; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - 0.2*(1.5-rad)*sin(bass/2*treb_att)*(rad*2*(rad*abs(sin(9*ang)))); +per_pixel_6=rot = rot + dy_r*(2-zoom)*0.3*cos(bass)*20; +per_pixel_7=rot = rot - 0.4*(rad*cos(abs(12*ang)))*below(rad,0.3+ 0.4*sin(bass)); +per_pixel_8=dx = dx + 0.5*abs(rad+x-0.5*(bass/y*0.2))*dx_r; +per_pixel_9=dy = dy + 0.5*abs(rad+y-0.5*(treb/x*0.2))*dy_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Blender.milk b/presets/presets_tryptonaut/Aderrasi - Blender.milk new file mode 100755 index 0000000000..806b4c12d5 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Blender.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.915820 +fWaveSmoothing=0.500000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.15*sin(time); +per_frame_2=wave_y = wave_y + 0.15*cos(time); +per_frame_3=wave_r = wave_r + 0.9; +per_frame_4=wave_g = 0.9 - 0.5*bass; +per_frame_5=wave_b = 0.9 - 0.5*bass; +per_pixel_1=rot = rot - 0.1*min((2-rad)*bass_att,(2-rad)*treb_att); +per_pixel_2=grad = sqrt(x*x + y*y)*2; +per_pixel_3=dx = dx - 0.02*(1-rad); +per_pixel_4=dy = dy + 0.02*(1-rad); +per_pixel_5=zoom = zoom - max(grad*(bass/8 - treb/8), 0); diff --git a/presets/presets_tryptonaut/Aderrasi - Bow To Gravity.milk b/presets/presets_tryptonaut/Aderrasi - Bow To Gravity.milk new file mode 100755 index 0000000000..9eb205a561 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Bow To Gravity.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.930000 +fVideoEchoZoom=0.999837 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.796896 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999995 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.5*wave_r; +per_frame_6=ob_b = 0.5*wave_g; +per_frame_7=ob_g = 0.5*wave_b; +per_frame_8=ib_r = wave_g; +per_frame_9=ib_g = wave_b; +per_frame_10=ib_b = wave_r; +per_frame_11=wave_mystery = wave_mystery + 25*sin(3-1*(sin(0.001*time))); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=dx = dx + above(x,0.5)*x*0.005; +per_pixel_5=dx = dx - below(x,0.5)*(1-x)*0.005; +per_pixel_6=dy = dy + above(y,0.5)*y*0.005; +per_pixel_7=dy = dy + below(y,0.5)*(1-y)*0.005; +per_pixel_8=zoom = zoom - 100*((1-rad)*((1.5*rad)*0.005 + 0.004*sin(0.5*bass_att))); +per_pixel_9= +per_pixel_10=rot = rot + (cos(bass_att*treb_att)/(1-treb)+0.5*time)*0.0005; +per_pixel_11=zoomexp = 0.8 + 1+sin(treb_att); diff --git a/presets/presets_tryptonaut/Aderrasi - Brakefreak-bitcore tweak.milk b/presets/presets_tryptonaut/Aderrasi - Brakefreak-bitcore tweak.milk new file mode 100755 index 0000000000..7cf2c95069 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Brakefreak-bitcore tweak.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.05 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=ib_r = wave_r*0.5; +per_frame_5=ib_g = wave_g*0.5; +per_frame_6=ib_b = wave_b*0.5; +per_frame_7=ob_r = wave_b; +per_frame_8=ob_g = wave_r; +per_frame_9=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.06*(0.1*(time))+(0.5*(0.5-rad))+rad; +per_pixel_6=rot = rot - 0.1*sqr(0.5*cos(ang*time)*bass_att); +per_pixel_7=zoom = zoom - 0.04*(sin(rad)); +per_pixel_8=zoom = zoom - 0.1*above(y,0.5)*sqr(0.7*sin(ang*time)*bass_att); +per_pixel_9=zoom = zoom - 0.1*below(y,0.5)*sqr(0.5*cos(ang*time)*treb_att); diff --git a/presets/presets_tryptonaut/Aderrasi - Brakefreak.milk b/presets/presets_tryptonaut/Aderrasi - Brakefreak.milk new file mode 100755 index 0000000000..506a3e3a05 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Brakefreak.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.880270 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=ib_r = wave_r*0.5; +per_frame_5=ib_g = wave_g*0.5; +per_frame_6=ib_b = wave_b*0.5; +per_frame_7=ob_r = wave_b; +per_frame_8=ob_g = wave_r; +per_frame_9=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.06*(0.1*(time))+(0.5*(0.5-rad))+rad; +per_pixel_6=rot = rot - 0.1*sqr(0.5*cos(ang*time)*bass_att); +per_pixel_7=zoom = zoom - 0.04*(sin(rad)); +per_pixel_8=zoom = zoom - 0.1*above(y,0.5)*sqr(0.5*sin(ang*time)*bass_att); +per_pixel_9=zoom = zoom - 0.1*below(y,0.5)*sqr(0.5*cos(ang*time)*treb_att); diff --git a/presets/presets_tryptonaut/Aderrasi - Candy Avian.milk b/presets/presets_tryptonaut/Aderrasi - Candy Avian.milk new file mode 100755 index 0000000000..88082ba2be --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Candy Avian.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.923483 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.063785 +fWaveScale=0.724297 +fWaveSmoothing=0.500000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.500333 +fZoomExponent=1.000000 +fShader=0.100000 +zoom=0.990099 +rot=0.000000 +cx=0.500000 +cy=0.410000 +dx=-0.003990 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=55.680000 +nMotionVectorsY=47.999996 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.250000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.4*sin(1.5*time) + 0.25*sin(2.14*time); +per_frame_2=wave_b = wave_b + 0.41*sin(1.2*time) + 0.26*sin(2.11*time); +per_frame_3=wave_g = wave_g + 0.4*sin(1.34*time) + 0.25*sin(2.34*time); +per_frame_4=ib_r = 4; +per_frame_5=ib_g = 0; +per_frame_6=ib_b = 0; +per_frame_7=wave_x = wave_x + +per_frame_8=if(above(wave_y,0.75),0.40*sin(time), 0.15*sin(time)); +per_frame_9=wave_y = wave_y + 0.30*cos(0.9*time); +per_frame_10=cx = cx + +per_frame_11=if(above(wave_x,0.5), +0.0*sin(7*treb_att), -0.0*sin(7*mid_att)); +per_frame_12=cy = cy + +per_frame_13=if(above(wave_x,0.5), +0.0*cos(7*bass_att), -0.0*cos(7*mid_att)); +per_frame_14=ob_r = 0.5*sin(treb)*time; +per_frame_15=ob_b = 0.5*sin(mid)*0.9*time; +per_frame_16=ob_g = 0.5*sin(bass)*0.8*time; +per_frame_17=warp = warp + if (above(bass_att,1.5), 1.5, 0); +per_frame_18=rot = rot + 0.08*sin(3*time); diff --git a/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk new file mode 100755 index 0000000000..1b9a1944cc --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk @@ -0,0 +1,88 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.006758 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=100.000000 +fWaveScale=0.999835 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.010000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.010000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=basstrip = above(bass_att,basstrip)*2 + (1-above(bass_att,basstrip))*((basstrip-1.3)*0.96+1.3); +per_frame_2=basswack = equal(basstrip,2)*0.97*sin(time*2) + (1-equal(basstrip,2))*basswack; +per_frame_3=trebtrip = above(treb_att,trebtrip)*2 + (1-above(treb_att,trebtrip))*((trebtrip-1.3)*0.96+1.3); +per_frame_4=trebwack = equal(trebtrip,2)*0.97*sin(time*2.5) + (1-equal(trebtrip,2))*trebwack; +per_frame_5=midtrip = above(mid_att,midtrip)*2 + (1-above(mid_att,midtrip))*((midtrip-1.3)*0.96+1.3); +per_frame_6=midwack = equal(midtrip,2)*0.97*sin(time*2.75) + (1-equal(midtrip,2))*midwack; +per_frame_7=wave_r = wave_r + 0.75*basswack; +per_frame_8=wave_g = wave_g + 0.75*trebwack; +per_frame_9=wave_b = wave_b + 0.75*midwack; +per_frame_10=ob_r = 1- wave_r; +per_frame_11=ob_g = 1 - wave_g; +per_frame_12=ob_b = 1-wave_b; +per_frame_13=ib_r = 0.9*ob_r; +per_frame_14=ib_g = 0.9*ob_g; +per_frame_15=ib_b = 0.9*ob_b; +per_frame_16=volt = (bass_att+treb_att+mid_att)/3; +per_frame_17=zoom = zoom - 0.005; +per_frame_18=zoom = zoom + if (above(volt,0.75),- 0.005*(1-rad), 0); +per_frame_19=sy = sy + if (below(volt,0.83), - 0.01*(0.5-rad), 0); +per_pixel_1=//thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=//dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=//dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 0.05*sin(time*(rad*cos(time*12*ang))); +per_pixel_5=zoom = zoom + 0.025*cos(time*(0.5-rad)); +per_pixel_6=rot = rot - 0.05*((sin(time)-rad)*(0.9+abs(sin(rad*12)))); diff --git a/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (REMix).milk b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (REMix).milk new file mode 100755 index 0000000000..dbfe5efd27 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams (REMix).milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.400279 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.200000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.100000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.4*sin(0.622*time) + 0.3*sin(0.155*time); +per_frame_2=wave_g = wave_g + 0.4*sin(0.45*time) + 0.3*sin(0.674*time); +per_frame_3=wave_b = wave_b + 0.4*sin(0.256*time) + 0.3*sin(0.35*time); +per_frame_4=ob_r = 1- wave_r; +per_frame_5=ob_g = 1 - wave_g; +per_frame_6=ob_b = 1-wave_b; +per_frame_7=ib_r = 0.9*ob_r; +per_frame_8=ib_g = 0.9*ob_g; +per_frame_9=ib_b = 0.9*ob_b; +per_frame_10=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_11=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_12=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_13=dx = dx + 0.0*dx_r + if(above(gup,0), + 0.8*gup*dx_r, 0) + if(above(gslup,0), + 0.535*gslup*dx_r, 0); +per_frame_14=dy = dy + 0.0*dy_r + if(above(gup,0), + 0.8*gup*dy_r, 0) + if(above(glsup,0), + 0.535*gslup*dy_r, 0); +per_frame_15=gup = +2*sin(time) + sin(0.75*time); +per_frame_16=gslup = sin(0.655*time) - sin(0.176*time); +per_pixel_1=rot = rot + 0.04*sin(time*(rad)); +per_pixel_2=zoom = zoom + 0.025*cos(time*(rad)); diff --git a/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams.milk b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams.milk new file mode 100755 index 0000000000..9d834ee59a --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Causeway Of Dreams.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.325446 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.200000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.100000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.4*sin(0.622*time) + 0.3*sin(0.155*time); +per_frame_2=wave_g = wave_g + 0.4*sin(0.45*time) + 0.3*sin(0.674*time); +per_frame_3=wave_b = wave_b + 0.4*sin(0.256*time) + 0.3*sin(0.35*time); +per_frame_4=ob_r = 1- wave_r; +per_frame_5=ob_g = 1 - wave_g; +per_frame_6=ob_b = 1-wave_b; +per_frame_7=ib_r = 0.9*ob_r; +per_frame_8=ib_g = 0.9*ob_g; +per_frame_9=ib_b = 0.9*ob_b; +per_frame_10=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_11=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_12=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_13=dx = dx + dx_r; +per_frame_14=dy = dy + dy_r; +per_pixel_1=rot = rot + 0.04*sin(time*(rad)); +per_pixel_2=zoom = zoom + 0.025*cos(time*(rad)); diff --git a/presets/presets_tryptonaut/Aderrasi - Causeway of Dreams (Point Mix).milk b/presets/presets_tryptonaut/Aderrasi - Causeway of Dreams (Point Mix).milk new file mode 100755 index 0000000000..699f3e556e --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Causeway of Dreams (Point Mix).milk @@ -0,0 +1,88 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=2.006758 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.500220 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.150000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=basstrip = above(bass_att,basstrip)*2 + (1-above(bass_att,basstrip))*((basstrip-1.3)*0.96+1.3); +per_frame_2=basswack = equal(basstrip,2)*0.97*sin(time*2) + (1-equal(basstrip,2))*basswack; +per_frame_3=trebtrip = above(treb_att,trebtrip)*2 + (1-above(treb_att,trebtrip))*((trebtrip-1.3)*0.96+1.3); +per_frame_4=trebwack = equal(trebtrip,2)*0.97*sin(time*2.5) + (1-equal(trebtrip,2))*trebwack; +per_frame_5=midtrip = above(mid_att,midtrip)*2 + (1-above(mid_att,midtrip))*((midtrip-1.3)*0.96+1.3); +per_frame_6=midwack = equal(midtrip,2)*0.97*sin(time*2.75) + (1-equal(midtrip,2))*midwack; +per_frame_7=wave_r = wave_r + 0.75*basswack; +per_frame_8=wave_g = wave_g + 0.75*trebwack; +per_frame_9=wave_b = wave_b + 0.75*midwack; +per_frame_10=ob_r = 1- wave_r; +per_frame_11=ob_g = 1 - wave_g; +per_frame_12=ob_b = 1-wave_b; +per_frame_13=ib_r = 0.9*ob_r; +per_frame_14=ib_g = 0.9*ob_g; +per_frame_15=ib_b = 0.9*ob_b; +per_frame_16=volt = (bass_att+treb_att+mid_att)/3; +per_frame_17=zoom = zoom - 0.005; +per_frame_18=zoom = zoom + if (above(volt,0.75),- 0.005*(1-rad), 0); +per_frame_19=sy = sy + if (below(volt,0.83), - 0.01*(0.5-rad), 0); +per_pixel_1=//thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=//dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=//dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 0.04*sin(time*(rad)); +per_pixel_5=zoom = zoom + 0.025*cos(time*(0.5-rad)); +per_pixel_6=rot = rot - 0.2*(1-rad)*(0.2+abs(sin(3*bass_att))); diff --git a/presets/presets_tryptonaut/Aderrasi - Chromatic Abyss (The Other Side).milk b/presets/presets_tryptonaut/Aderrasi - Chromatic Abyss (The Other Side).milk new file mode 100755 index 0000000000..4101386731 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Chromatic Abyss (The Other Side).milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868317 +fWaveScale=0.484545 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.010000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.250000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + (0.5*sin(12*treb)*3.12*time)/5; +per_frame_2=wave_b = wave_b + (0.5*sin(12*bass)*3.17*time)/5; +per_frame_3=wave_g =wave_g + (0.5*sin(12*mid)*3.22*time)/5; +per_frame_4=zoom = zoom + 0.01; +per_pixel_1=sx = sx + if (above(rad, 0.38), +0.01, 0); +per_pixel_2=sy = sy + if (above(rad, 0.38), +0.01, 0); +per_pixel_3=warp = warp + if (above(rad,0.56 + 0.05*sin(time)), +0.5*(sin(rad)), 0); diff --git a/presets/presets_tryptonaut/Aderrasi - Circlefacade.milk b/presets/presets_tryptonaut/Aderrasi - Circlefacade.milk new file mode 100755 index 0000000000..2a84c3d162 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Circlefacade.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.220186 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.459160 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=-0.340000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.100000 +wave_y=0.900000 +ob_size=0.070000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = 0.5 + 0.3*sin(0.75*time); +per_frame_2=wave_y = 0.5 + 0.3*cos(0.75*time); +per_frame_3=ob_r = ob_r + 0.445*sin(1.52*time); +per_frame_4=ob_g = ob_g + 0.436*sin(1.062*time); +per_frame_5=ob_b = ob_b + 0.325*sin(1.22*time); +per_frame_6=ib_a = ib_a + 5*tan(0.5*time); +per_frame_7=zoom = zoom - 0.1*zoom; +per_pixel_1=dx = dx + (sin(rad)*0.05)*0.76*sin(1.2255*time); +per_pixel_2=dy = dy + (sin(rad)*0.05)*0.76*cos(1.435*time); +per_pixel_3=rot = rot + (0.1*max(above(dx,dy),above(dy,dx))*bass_att)*(0.75-rad); diff --git a/presets/presets_tryptonaut/Aderrasi - Contortion (Escher's Tunnel Mix).milk b/presets/presets_tryptonaut/Aderrasi - Contortion (Escher's Tunnel Mix).milk new file mode 100755 index 0000000000..08e9ae59c9 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Contortion (Escher's Tunnel Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.741918 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.072694 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.781671 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.3 + 0.3*sin(1.56*time); +per_frame_6=ob_g = 0.3 + 0.3*sin(2.15*time); +per_frame_7=ob_b = 0.3 + 0.3*cos(1.4*time); +per_frame_8=ing = 2*sin(0.25*time); +per_frame_9=wave_x = wave_x + 0.0257*sin(time); +per_frame_10=wave_y = wave_y + 0.0257*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + above(bass,1)*0.25*(1-rad)*(100*dx_r); +per_pixel_6=zoom = zoom + 0.2*(0.5-rad); +per_pixel_7=cx = cx + above(bass,1)*0.25*sin(time)*(100*dy_r); +per_pixel_8=cy = cy + above(mid,1)*0.25*cos(time)*(100*dy_r); +per_pixel_9=dy = dy - dy_r; +per_pixel_10=dx = dx - dx_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Contortion (Xenomorph Mix).milk b/presets/presets_tryptonaut/Aderrasi - Contortion (Xenomorph Mix).milk new file mode 100755 index 0000000000..6c1f3210ec --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Contortion (Xenomorph Mix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.301000 +fDecay=1.000000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.003415 +fWaveScale=2.630066 +fWaveSmoothing=0.900000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=100.000000 +fWarpScale=0.010000 +fZoomExponent=11.202057 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.3 + 0.3*sin(1.56*time); +per_frame_6=ob_g = 0.3 + 0.3*sin(2.15*time); +per_frame_7=ob_b = 0.3 + 0.3*cos(1.4*time); +per_frame_8=ib_r = 0.3 + 0.3*cos(1.83*time); +per_frame_9=ib_g = 0.3 + 0.3*cos(1.02*time); +per_frame_10=ib_b = 0.3 + 0.3*sin(2*time); +per_frame_11=ing = 2*sin(0.25*time); +per_frame_12=wave_x = wave_x + 0.2*sin(time); +per_frame_13=wave_y = wave_y + 0.2*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.5*(0.5-rad)*(5*sin(0.48*time*dy_r)*sin(time)); +per_pixel_6=zoom = zoom - 0.015*(0.65 - 0.25*sin((dx_r+dy_r)*20*bass)+rad); +per_pixel_7=cx = cx + .45*sin(time)*(0.75*sin(1.25*time*dy_r)*cos(0.74*sin(dx_r*2*time))); +per_pixel_8=cy = cy + .45*cos(time)*(0.75*cos(1.6*time*dx_r)*sin(0.74*cos(dy_r*2*time))); diff --git a/presets/presets_tryptonaut/Aderrasi - Contortion.milk b/presets/presets_tryptonaut/Aderrasi - Contortion.milk new file mode 100755 index 0000000000..9dc61251a2 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Contortion.milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.691364 +fWaveSmoothing=0.000000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=ob_r = 0.3 + 0.3*sin(1.56*time); +per_frame_6=ob_g = 0.3 + 0.3*sin(2.15*time); +per_frame_7=ob_b = 0.3 + 0.3*cos(1.4*time); +per_frame_8=ib_r = 0.3 + 0.3*cos(1.83*time); +per_frame_9=ib_g = 0.3 + 0.3*cos(1.02*time); +per_frame_10=ib_b = 0.3 + 0.3*sin(2*time); +per_frame_11=ing = 2*sin(0.25*time); +per_frame_12=wave_x = wave_x + 0.57*sin(time); +per_frame_13=wave_y = wave_y + 0.57*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + above(bass,1)*0.25*(1-rad)*(100*dx_r); +per_pixel_6=zoom = zoom - 0.2*(1-rad); +per_pixel_7=cx = cx + above(bass,1)*0.25*sin(time)*(100*dy_r); +per_pixel_8=cy = cy + above(bass,1)*0.25*cos(time)*(100*dy_r); diff --git a/presets/presets_tryptonaut/Aderrasi - Crystal Storm.milk b/presets/presets_tryptonaut/Aderrasi - Crystal Storm.milk new file mode 100755 index 0000000000..19f17b347a --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Crystal Storm.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.649956 +fVideoEchoAlpha=0.300000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.691363 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.931011 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.001000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.500000 +ib_size=0.001000 +ib_r=0.500000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.050000 +per_frame_1=rot = rot + 0.1*(0.4*sin(bass) - 0.4*sin(treb) / 0.4*sin(mid))*sin(5*time); +per_frame_2=wave_x = wave_x + 0.1*sin(time) - 0.157*sin(1.73*time); +per_frame_3=wave_y = wave_y - 0.126*sin(time) + 0.15*cos(1.1*time); +per_frame_5=zoom = zoom + 0.01*bass*0.005*sqrt(treb/bass); +per_pixel_1=rot = rot + 0.05*min(abs(1-rad*cos(bass))*tan(bass),-(abs(1-rad*sin(treb))*sin(time))); +per_pixel_2=dx = dx + (0.025*sin(bass))*0.8*abs(5*bass-5*treb); +per_pixel_3=dy = dy + (0.015*cos(treb))*0.8*abs(5*treb - 5*bass); +per_pixel_4=cy = cy + (0.8*rad/time)*bass; +per_pixel_5=zoom = zoom - 0.05*log(1.5-rad); \ No newline at end of file diff --git a/presets/presets_tryptonaut/Aderrasi - Dark Matter (Converse Mix).milk b/presets/presets_tryptonaut/Aderrasi - Dark Matter (Converse Mix).milk new file mode 100755 index 0000000000..d2ed71bd7e --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Dark Matter (Converse Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.074098 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451117 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5=wave_x = wave_x + 0.12*sin(time); +per_frame_6=wave_y = wave_y + 0.12*sin(1.24*time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - abs(0.6*sin(((sin(cos(time)+0.5*sin(1.6*bass)-0.44*cos(1.1*mid))+sin(-rad)))* +per_pixel_6=(sin(bass)*(0.5-rad)))); +per_pixel_7=zoom = zoom + 0.02*(2-rad); +per_pixel_8=dx = dx + dx_r; +per_pixel_9=dy = dy + dy_r; +per_pixel_10=dx = dx + abs(0.005*(1.2*cos(bass*0.73*time) + 1.2*sin((0.5-rad)*2.1*time))); +per_pixel_11=dy = dy + abs(0.005*(1.2*sin(bass*0.73*time) + 1.2*cos((0.5-rad)*1.3*time))); diff --git a/presets/presets_tryptonaut/Aderrasi - Elastoid.milk b/presets/presets_tryptonaut/Aderrasi - Elastoid.milk new file mode 100755 index 0000000000..9eaec2b8bf --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Elastoid.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.655694 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_4=ob_r = wave_r; +per_frame_5=ob_g = wave_g; +per_frame_6=ob_b=wave_b; +per_frame_7=zoom = zoom - 0.02; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=m1 = 2*sin(1.25*time); +per_pixel_6=m2 = 1.25*sin(4*time); +per_pixel_7=m3 = 5*sin(0.33*time); +per_pixel_8=sx = sx + if (above(m1,m2), if (above(m1,m3), dx_r, -dx_r), dx_r*1.75)*(.75-rad); +per_pixel_9=sy = sy + if (above(m2,m3), if (above(m3,m1), dy_r, dy_r*1.5), dy_r*0.75)*(.75-rad); +per_pixel_10=dx = dx + if (above(m2,m1), if (below(m1,m3), dx_r, dx_r*0.66), dx_r*1.8)*(.75-rad); +per_pixel_11=dy = dy + if (above(m3,m1), if(below(m2,m3), -dy_r, dy_r*1.25), dy_r*0.8)*(0.75-rad); diff --git a/presets/presets_tryptonaut/Aderrasi - Ert (Wary Mix).milk b/presets/presets_tryptonaut/Aderrasi - Ert (Wary Mix).milk new file mode 100755 index 0000000000..2521ab38dd --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Ert (Wary Mix).milk @@ -0,0 +1,98 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.334695 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.255374 +fWaveScale=100.000000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999997 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_tick = above(bass_att,bass_tick)*2 + (1-above(bass_att,bass_tick))* +per_frame_2=((bass_tick-1.3)*0.96+1.3); +per_frame_3=treb_tick = above(treb_att,treb_tick)*2 + (1-above(treb_att,treb_tick))* +per_frame_4=((treb_tick-1.3)*0.96+1.3); +per_frame_5=mid_tick = above(mid_att,mid_tick)*2 + (1-above(mid_att,mid_tick))* +per_frame_6=((mid_tick-1.3)*0.96+1.3); +per_frame_7=bass_shift = equal(bass_tick,2)*0.95*sin(time*5) + (1-equal(bass_tick,2))*bass_shift; +per_frame_8=treb_shift = equal(treb_tick,2)*0.95*sin(time*5) + (1-equal(treb_tick,2))*treb_shift; +per_frame_9=mid_shift = equal(mid_tick,2)*0.95*sin(time*5) + (1-equal(mid_tick,2))*mid_shift; +per_frame_10= +per_frame_11=//wave_x = wave_x + 0.12*sin(time); +per_frame_12=//wave_y =wave_y + 0.12*cos(time); +per_frame_13=wave_r = wave_r + bass_shift; +per_frame_14=wave_g = wave_g + mid_shift; +per_frame_15=wave_b = wave_b + treb_shift; +per_frame_16=q1 = bass_shift; +per_frame_17=q2= mid_shift; +per_frame_18=q3 = treb_shift; +per_frame_19=zoom = zoom + abs(0.05*(treb/2*cos(bass_att*treb_shift)*bass_shift)); +per_frame_20=ib_r = 1-wave_r; +per_frame_21=ib_g = 1-wave_g; +per_frame_22=ib_b = 1-wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot - 0.05*(((rad*q3)+0.55*q1)*(0.5*sin(time)-cos(0.5-2*(2.5*rad)))); +per_pixel_6=rot = rot - 0.05*if (above(time,((q1*q2*q3)/3)),(sin(2*rad))*(6.5*rad)*2*dy-r,dx_r); +per_pixel_7=zoom = zoom + 0.1*equal(zoom,0)*dy_r; +per_pixel_8=rot = rot + 0.025*(rad*6+(q1*q3)); +per_pixel_9=cx = cx - 0.25*(cos(time)-0.5*sin(time*1.2)); +per_pixel_10=cy = cy - 0.25*(sin(time)+0.5*cos(1.22*time)); +per_pixel_11=dx = dx + dx_r; +per_pixel_12=dy = dy + dy_r; +per_pixel_13=zoom = zoom - rad*0.1; diff --git a/presets/presets_tryptonaut/Aderrasi - Floater Society.milk b/presets/presets_tryptonaut/Aderrasi - Floater Society.milk new file mode 100755 index 0000000000..218f6cf1d3 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Floater Society.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.294621 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.200000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.920000 +nMotionVectorsY=23.999998 +mv_dx=-0.060000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(4*time) + 0.25*sin(2.5*time); +per_frame_2=wave_g = wave_g + 0.35*sin(3.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.35*sin(3.84*time) + 0.25*sin(2.3*time); +per_frame_4=wave_mystery = sin(time); +per_frame_5=mv_l = mv_l + 2*sin(time); +per_frame_6=mv_r = wave_r; +per_frame_7=mv_g = wave_g; +per_frame_8=mv_b = wave_b; +per_frame_9=warp = 0; +per_frame_10=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_11=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_12=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_13=bass_seek = below(bass_seek,bass) + bass_att - (above(bass_att,bass_seek) -bass); +per_frame_14=trip = 0.4*bass_seek; +per_frame_15=dy = dy + dy_r*trip*cos(time); +per_frame_16=dx = dx + dx_r*trip*sin(time); +per_frame_17=zoom = zoom - 0.025*trip*thresh; +per_frame_18=rot = rot + 0.015*trip*thresh; +per_pixel_1=dy = dy - 0.95-rad*dx; diff --git a/presets/presets_tryptonaut/Aderrasi - Flowing Form.milk b/presets/presets_tryptonaut/Aderrasi - Flowing Form.milk new file mode 100755 index 0000000000..8d1a11fbde --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Flowing Form.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.920000 +fVideoEchoZoom=1.343302 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.611957 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.999834 +fWarpScale=100.000000 +fZoomExponent=1.200114 +fShader=1.000000 +zoom=1.010011 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.020000 +dy=0.020000 +warp=0.059958 +sx=0.999998 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.100000 +ob_a=0.500000 +ib_size=0.000000 +ib_r=0.550000 +ib_g=0.250000 +ib_b=0.050000 +ib_a=0.700000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%200,0); +per_frame_7=ob_r = wave_g; +per_frame_8=ob_g = wave_b; +per_frame_9=ob_b = wave_r; +per_pixel_1=sx=sx+0.5*cos((y*2-1)*6+time*1.53+(x*2-1)*3.2); +per_pixel_2=sy=sy+0.5*cos((x*2-1)*8+time*1.71+(y*2-1)*4.3); +per_pixel_3=zoom = zoom - 0.01*ang; diff --git a/presets/presets_tryptonaut/Aderrasi - Halls Of Centrifuge.milk b/presets/presets_tryptonaut/Aderrasi - Halls Of Centrifuge.milk new file mode 100755 index 0000000000..4fb4c4a807 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Halls Of Centrifuge.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.488620 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.200000 +ob_r=0.900000 +ob_g=0.900000 +ob_b=0.900000 +ob_a=0.500000 +ib_size=0.050000 +ib_r=0.900000 +ib_g=0.900000 +ib_b=0.900000 +ib_a=0.500000 +nMotionVectorsX=1.280000 +nMotionVectorsY=9.599999 +mv_dx=0.400000 +mv_dy=-0.200000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0.00; +per_frame_5=ib_r = wave_b; +per_frame_6=ib_g = wave_r; +per_frame_7=ib_b = wave_g; +per_frame_8=ob_r = wave_r * sin(wave_b); +per_frame_9=ob_g = wave_g *sin(wave_r); +per_frame_10=ob_b = wave_b * sin(wave_g); +per_frame_11=zoom = zoom - 0.05; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + rad*(1.1*sin(time)-rad)*1.25; +per_pixel_5=rot = rot + above(rad,0.7 - 0.2*sin(bass))*0.1; +per_pixel_6=zoom = zoom - above(rad,0.5+ 0.1*sin(1-rad*cos(time)))*below((0.5*sin(time))-rad,0.5)*0.09*rad; +per_pixel_7=zoom = zoom + below(rad,0.75 + 0.5*sin(bass*time))*0.025; +per_pixel_8=zoom = zoom - 0.02*((sin(time)-rad)*1-rad); +per_pixel_9=zoom = zoom + 0.03*(0.10+(1+rad))*below(rad,0.1)*above(bass,1); diff --git a/presets/presets_tryptonaut/Aderrasi - Hard Drink (Half-Infinitea).milk b/presets/presets_tryptonaut/Aderrasi - Hard Drink (Half-Infinitea).milk new file mode 100755 index 0000000000..e537cd86dd --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Hard Drink (Half-Infinitea).milk @@ -0,0 +1,301 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.310600 +fWaveSmoothing=0.500000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=2.006759 +fWarpScale=14.681465 +fZoomExponent=0.334693 +fShader=1.000000 +zoom=0.995037 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.300000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=100.000000 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.999999 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.030000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2= +shape_0_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame5=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame6=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame7=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame11=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame12=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2=x = x + 0.05*sin(time*1.05+3); +shape_1_per_frame3=y = y + 0.03*sin(time*1.29+1); +shape_1_per_frame4=ang = time*(0.1 + 0.1*t1); +shape_1_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame9=//r = q3; +shape_1_per_frame10=//g = q2; +shape_1_per_frame11=//b = q1; +shape_1_per_frame12=//r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame13=//g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame14=//b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2=x = x + 0.05*sin(time*0.17); +shape_2_per_frame3=y = y + 0.03*sin(time*0.83); +shape_2_per_frame4=ang = time*(0.2 + 0.1*t1); +shape_2_per_frame5=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame6=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame7=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame8=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame9=r = q2; +shape_2_per_frame10=g = q1; +shape_2_per_frame11=b = q3; +shape_2_per_frame12= +shape_2_per_frame13=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame14=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame15=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.591230 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.256637 +shapecode_3_tex_zoom=1.074079 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.500000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.2*sin(time*0.25); +shape_3_per_frame4=y = y + 0.1*sin(time*0.5+2); +shape_3_per_frame5=r = q2; +shape_3_per_frame6=g = q3; +shape_3_per_frame7=b = q1; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5=wave_x = wave_x + 0.1*sin(1.2*time) + 0.1*sin(0.1*time); +per_frame_6=wave_y = wave_y + 0.2*cos(1.4*time) - 0.1*cos(0.4*time); +per_frame_7=ob_r = wave_g; +per_frame_8=ob_b = wave_r; +per_frame_9=ob_g = wave_b; +per_frame_10=ib_r = 1-abs(ob_r); +per_frame_11=ib_b = 1-abs(ob_b); +per_frame_12=ib_g = 1-abs(ob_g); +per_frame_13=q1 = wave_r; +per_frame_14=q2 = wave_b; +per_frame_15=q3 = wave_g; +per_frame_16= +per_frame_17=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_18=ocog = below(cog,30000)*cog; +per_frame_19=q4 = cog; +per_frame_20=rcog = orcog + 0.5*(rand(100)*0.01); +per_frame_21=orcog = below(rcog,20000)*rcog; +per_frame_22=q5 = rcog; +per_frame_23=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_24=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_25=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_26=rg1 = abs(sin(2.3*time)); +per_frame_27=rg2 = 0*above(rg1,0.5) + 1*below(rg1,0.25); +per_frame_28=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_29= +per_frame_30=//invert = rg3; +per_frame_31=//darken = rg3; +per_frame_32=//brighten = 1-rg3; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - abs(0.025*sin(4*q4)); +per_pixel_6=xy = above(sin(3*q4),0)*x + below(sin(3*q4),0)*y; +per_pixel_7=zoom = zoom - 3*dx_r*rad*sin(bass_att*6*(3-rad)); +per_pixel_8=rot = rot - 0.35*(above(xy,0.45 + 0.75*sin(q4*5*bass_att))*below(xy,0.55 + 0.75*sin(q4*5*bass_att))); diff --git a/presets/presets_tryptonaut/Aderrasi - Kevlar Abyss.milk b/presets/presets_tryptonaut/Aderrasi - Kevlar Abyss.milk new file mode 100755 index 0000000000..cd86f9bf5a --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Kevlar Abyss.milk @@ -0,0 +1,87 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.127257 +fWaveScale=1.599183 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.010000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r + 0.3*sin(1.2*time); +per_frame_7=ob_g = ob_g + 0.3*cos(2*time); +per_frame_8=ob_b = ob_b + 0.25*sin(1.5*time); +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_b; +per_frame_11=ib_g = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.05*(2-rad)*(0.5*cos(rad-0.22*abs(ang*12+bass/time))*0.4-treb*1.3*cos(bass_att)); +per_pixel_6=zoom = zoom - 0.02*abs(sin(bass-time/22*rad)-cos(0.3*bass-mid_att)); +per_pixel_7=//zoom = zoom - 1.86*(0.5*(sin(time)-rad)*bass)*(bass/treb_att*0.2); +per_pixel_8=zoom = zoom - 0.2*abs(0.5*sin(0.2*bass*rot-3*(0.5-sin(0.5*time)-(0.25-rad)))); +per_pixel_9=zoomexp = zoomexp + 0.25 + abs(0.5*sin(time*bass_att)); +per_pixel_10=zoom = if(below(bass,0.05),0,zoom); +per_pixel_11=rot = if(below(bass,0.05),0,sin(0.2)); +per_pixel_12=cy = cy + 0.25*sin(time)*22*dy_r; +per_pixel_13=cx = cx + 0.25*cos(2.5*time)*22*dx_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Making Time (Swamp Mix).milk b/presets/presets_tryptonaut/Aderrasi - Making Time (Swamp Mix).milk new file mode 100755 index 0000000000..25e03b429f --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Making Time (Swamp Mix).milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.599181 +fWaveSmoothing=0.900000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_tick = above(bass_att,bass_tick)*2 + (1-above(bass_att,bass_tick))* +per_frame_2=((bass_tick-1.3)*0.96+1.3); +per_frame_3=treb_tick = above(treb_att,treb_tick)*2 + (1-above(treb_att,treb_tick))* +per_frame_4=((treb_tick-1.3)*0.96+1.3); +per_frame_5=mid_tick = above(mid_att,mid_tick)*2 + (1-above(mid_att,mid_tick))* +per_frame_6=((mid_tick-1.3)*0.96+1.3); +per_frame_7=bass_shift = equal(bass_tick,2)*0.95*sin(time*5) + (1-equal(bass_tick,2))*bass_shift; +per_frame_8=treb_shift = equal(treb_tick,2)*0.95*sin(time*5) + (1-equal(treb_tick,2))*treb_shift; +per_frame_9=mid_shift = equal(mid_tick,2)*0.95*sin(time*5) + (1-equal(mid_tick,2))*mid_shift; +per_frame_10=wave_mystery = wave_mystery + 0.15*sin(time) + 0.2*sin(0.2*time); +per_frame_11=wave_r = wave_r +bass_shift+0.3; +per_frame_12=wave_g = wave_g+treb_shift; +per_frame_13=wave_b = wave_b +mid_shift; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 2*abs((0.9*dy_r)*bass)*sin(0.7*time); +per_pixel_5=zoom = zoom + 10*(0.2*rad*(3-bass/cos(rad/12)*2*tan(12)))*(0.002*sin(ang*(12*sin(8*bass)))); +per_pixel_6=cx = cx + 0.3*sin(3*dy_r); +per_pixel_7=cy = cy + 0.3*cos(3*dx_r); +per_pixel_8=dy = dy + 1.7*dy_r; +per_pixel_9=dx = dx + 1.7*dx_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Party Mutant.milk b/presets/presets_tryptonaut/Aderrasi - Party Mutant.milk new file mode 100755 index 0000000000..9e92a4ed48 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Party Mutant.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.463937 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.300000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.300000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_mystery = wave_mystery + 0.25*tan(2.9*bass); +per_frame_2=q1 = wave_mystery; +per_frame_3=ob_r = ob_r + 0.8*sin(q1); +per_frame_4=ob_g = ob_g + 0.7*sin(q1); +per_frame_5=ob_b = ob_b - 0.6*sin(q1); +per_frame_6=ib_r = ib_r - 0.5*sin(q1); +per_frame_7=ib_g = ib_g + 0.5*sin(q1); +per_frame_8=ib_b = ib_b +0.5*sin(q1); +per_frame_9=wave_r = wave_r + (ob_r + ib_r)*0.5*sin(1.3*time); +per_frame_10=wave_g = wave_g + (ib_g + ob_g)*0.5*sin(1.2*time); +per_frame_11=wave_b = wave_b + (ib_b + ob_b)*0.5*sin(1.1*time); +per_pixel_1=kick = above(bass_att,kick)*2 + (1-above(bass_att,kick))*((kick-1.3)*0.9+1.3); +per_pixel_2=dx_r = equal(kick,2)*0.018*sin(6*time) + (1-equal(kick,2))*dx_r; +per_pixel_3=dy_r = equal(kick,2)*0.015*sin(7*time) + (1-equal(kick,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.3*(0.2*sin(0.5-rad)*5 - 0.2*sin(0.25*rad)*5) * kick; +per_pixel_6=dy = dy + 2*dy_r * 0.5*sin(0.8*time); +per_pixel_7=dx = dx + 2*dx_r * 0.5*sin(time); +per_pixel_8=warp = warp + if (below(kick,0), + 0.5*treb, q1); +per_pixel_9=zoom = zoom + 0.062*(1.22*cos((2*time)-2*rad)+0.5*cos(1.55*time)); diff --git a/presets/presets_tryptonaut/Aderrasi - Potion of Spirits.milk b/presets/presets_tryptonaut/Aderrasi - Potion of Spirits.milk new file mode 100644 index 0000000000..d0ee419e1f --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Potion of Spirits.milk @@ -0,0 +1,234 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=1.000000 +fVideoEchoZoom=0.999823 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.325446 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=2.630064 +fWarpScale=3.209168 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 2; +per_frame_5= +per_frame_6=ob_r = ob_r+wave_b*above(sin(0.1*time),0); +per_frame_7=ob_b = ob_b+wave_g*above(sin(0.1*time),0); +per_frame_8=ob_g = ob_g+wave_r*above(sin(0.1*time),0); +per_frame_9=ob_r = ob_r+wave_g*below(sin(0.1*time),0); +per_frame_10=ob_b = ob_b+wave_r*below(sin(0.1*time),0); +per_frame_11=ob_g = ob_g+wave_b*below(sin(0.1*time),0); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.05*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.056*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 22*above(tg1,0.75) + 12*below(tg1,0.25) + 18*above(tg1,0.25)*below(tg1,0.5)+ +per_pixel_6=12*above(tg1,0.5)*below(tg1,0.75); +per_pixel_7=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_8= +per_pixel_9=six = sin(x); +per_pixel_10= +per_pixel_11=dx = dx + dx_r*sin(abs(tg3*y))*sin(time); +per_pixel_12=dy = dy + dy_r*sin(abs(tg3*x))*cos(time); +per_pixel_13=dx = dx + dx_r*pow(rad,y*2)*sin(time); +per_pixel_14=dy = dy + dy_r*pow(rad,x*2)*sin(time); +per_pixel_15=zoom = zoom - 0.0825*pow(rad,x*6)*cos(ang*6); +per_pixel_16=rot = rot - 0.0525*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets/presets_tryptonaut/Aderrasi - See.milk b/presets/presets_tryptonaut/Aderrasi - See.milk new file mode 100755 index 0000000000..48dc1e31fa --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - See.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.796897 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=wave_x = wave_x + 0.051*sin(1.23*time) - 0.08*sin(0.2*time); +per_frame_7=wave_y = wave_y + 0.01*cos(1.24*time) - 0.05*cos(0.1*time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.2*sin(ang*(0.5-rad)*rad); +per_pixel_5=dx = dx + dx_r*5*(rad*sin(time+cos(12*ang)*(0.5-rad))*cos(bass))*sin(time); +per_pixel_6=dy = dy + dy_r*5*(rad*cos(time+sin(12*ang)*(0.5-rad))*sin(bass)); +per_pixel_7=sy = sy + 0.7*rad*cos(2-(ang*12)*sin(time)/treb)*dx_r; +per_pixel_8=sx = sx + 0.7*rad*sin(2-(ang*12)*cos(time)/treb)*dy_r; diff --git a/presets/presets_tryptonaut/Aderrasi - Songflower (Hybrid Plant+ NEOhm's Internet Ghosts Remix).milk b/presets/presets_tryptonaut/Aderrasi - Songflower (Hybrid Plant+ NEOhm's Internet Ghosts Remix).milk new file mode 100755 index 0000000000..25def55264 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Songflower (Hybrid Plant+ NEOhm's Internet Ghosts Remix).milk @@ -0,0 +1,336 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.816690 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451114 +fShader=1.000000 +zoom=0.498311 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=-0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.999997 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.715848 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.400000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=// Loadus & Geiss custom shape design +shape_0_per_frame2= +shape_0_per_frame3=ang = q4*(0.13 + 0.1*t1); +shape_0_per_frame4=rad = rad * (0.5 + 0.2*t2); +shape_0_per_frame5=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame6=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame7=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame8=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame9=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame10=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.804100 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=1.347846 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=// Loadus & Geiss custom shape design +shape_1_per_frame2= +shape_1_per_frame3=x = x + 0.05*sin(time*1.05+33); +shape_1_per_frame4=y = y + 0.03*sin(time*1.09+24); +shape_1_per_frame5=ang = q4*(0.2 + 0.1*t1); +shape_1_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame7=r = q3; +shape_1_per_frame8=g = q1; +shape_1_per_frame9=b = q2; +shape_1_per_frame10= +shape_1_per_frame11=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame12=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame13=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame14=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame15=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame16=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.699536 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.905287 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=// Loadus & Geiss custom shape design +shape_2_per_frame2= +shape_2_per_frame3=x = x + 0.05*sin(time*0.17+24); +shape_2_per_frame4=y = y + 0.03*sin(time*0.23+28); +shape_2_per_frame5=ang = q4*(0.5 + 0.1*t1); +shape_2_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame7=r = q1; +shape_2_per_frame8=g = q3; +shape_2_per_frame9=b = q2; +shape_2_per_frame10= +shape_2_per_frame11=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame12=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame13=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame14=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame15=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame16=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=50 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.670000 +shapecode_3_y=0.430000 +shapecode_3_rad=0.370032 +shapecode_3_ang=4.209736 +shapecode_3_tex_ang=3.769911 +shapecode_3_tex_zoom=0.999998 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = int(rand(100))*0.01; +shape_3_init2=t2 = int(rand(100))*0.01; +shape_3_per_frame1=// Loadus & Geiss custom shape design +shape_3_per_frame2= +shape_3_per_frame3=x = x + 0.25*sin(time*0.17+32); +shape_3_per_frame4=y = y + 0.23*sin(time*0.13+12); +shape_3_per_frame5=ang = q4*(0.2 + 0.1*t1); +shape_3_per_frame6=rad = rad * (0.9 + 0.2*t2); +shape_3_per_frame7=//r = min(1,max(0,r + 0.1*sin(time*0.117 + 1))); +shape_3_per_frame8=//g = min(1,max(0,g + 0.1*sin(time*0.191 + 2))); +shape_3_per_frame9=//b = min(1,max(0,b + 0.1*sin(time*0.132 + 4))); +shape_3_per_frame10=//r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_3_per_frame11=//g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_3_per_frame12=//b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_3_per_frame13=r = q1; +shape_3_per_frame14=b = q3; +shape_3_per_frame15=g = q2; +shape_3_per_frame16=r2 = q2; +shape_3_per_frame17=b2 = q1; +shape_3_per_frame18=g2 = q3; +per_frame_init_1=leafset = 3; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*3+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,3)*0.015*sin(5*time)+(1-equal(pfthresh,3))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,3)*0.015*sin(6*time)+(1-equal(pfthresh,3))*pfdy_r; +per_frame_8=q1 = wave_r; +per_frame_9=q2 = wave_g; +per_frame_10=q3 = wave_b; +per_frame_11= +per_frame_12=ob_r = 1-abs(q1)*0.75; +per_frame_13=ob_g = 1-abs(q2)*0.75; +per_frame_14=ob_b = 1-abs(q3)*0.75; +per_frame_15=echo_zoom = echo_zoom - min(max(0.75,50*pfdx_r),1); +per_frame_16= +per_frame_17=echo_orient = echo_orient + 16*pfdy_r; +per_frame_18= +per_frame_19=dx = dx + 12.1*pfdx_r; +per_frame_20=dy = dy + 12.1*pfdy_r; +per_frame_21=//ib_a = ib_a + min(0.5,0.5-abs(dx+dy)); +per_frame_22= +per_frame_23=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_24=ocog = below(cog,30000)*cog; +per_frame_25=q4 = cog; +per_frame_26=ob_r = q2; +per_frame_27=ob_g = q3; +per_frame_28=ob_b = q1; +per_frame_29=rcog = orcog + 0.5*(int(rand(100))*0.01); +per_frame_30=orcog = below(rcog,20000)*rcog; +per_frame_31=q5 = rcog; +per_frame_32=//ib_size = ib_size + 0.009*treb_att*tan(q4); +per_frame_33=//ob_size = ob_size + 0.009*bass_att*cos(q4); +per_frame_34=//ob_a = ob_a + min(0.5,0.5-abs(q4-q5)); +per_frame_35=ib_r = 1-abs(q1)*sin(q4); +per_frame_36=ib_g = 0.75*cos(q4); +per_frame_37=ib_b = 1-abs(q3)*cos(q5); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 4*dy_r*above(tg1,0.5) + 4*dx_r*below(tg1,0.5); +per_pixel_6=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_7= +per_pixel_8=ladder = abs(sin(1*time)); +per_pixel_9=leaf = 5*below(ladder,0.2) + 8*above(ladder,0.2)*below(ladder,0.4) + +per_pixel_10=12*above(ladder,0.4)*below(ladder,0.6) + 18*above(ladder,0.6)*below(ladder,0.8) + +per_pixel_11=24*above(ladder,0.8); +per_pixel_12=leafset = if(equal(thresh,2), leaf, leafset); +per_pixel_13= +per_pixel_14=zoom = zoom + 0.05*(0.75-sin(leafset*5))*(1-rad); +per_pixel_15=zoom = zoom - abs(0.05*(0.75-cos(4*ang))); +per_pixel_16= +per_pixel_17=zoom = zoom + tg3*tan(4*q4)*below(zoom,0.22)*above(zoom,-0.22); +per_pixel_18= +per_pixel_19=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_20=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_21=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_22=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_23=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_tryptonaut/Aderrasi - Songflower (Moss Posy).milk b/presets/presets_tryptonaut/Aderrasi - Songflower (Moss Posy).milk new file mode 100644 index 0000000000..2d04026ea6 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Songflower (Moss Posy).milk @@ -0,0 +1,242 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.447722 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=leafset = 3; +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*3+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,3)*0.015*sin(5*time)+(1-equal(pfthresh,3))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,3)*0.015*sin(6*time)+(1-equal(pfthresh,3))*pfdy_r; +per_frame_8=q1 = wave_r; +per_frame_9=q2 = wave_g; +per_frame_10=q3 = wave_b; +per_frame_11= +per_frame_12=ob_r = 1-abs(q1)*0.75; +per_frame_13=ob_g = 1-abs(q2)*0.75; +per_frame_14=ob_b = 1-abs(q3)*0.75; +per_frame_15=echo_zoom = echo_zoom + min(max(0.75,50*pfdx_r),1); +per_frame_16= +per_frame_17=echo_orient = echo_orient + 16*pfdy_r; +per_frame_18= +per_frame_19=dx = dx + 15.1*pfdx_r; +per_frame_20=dy = dy + 15.1*pfdy_r; +per_frame_21=ob_size = ob_size + 0.005*bass_att; +per_frame_22=ib_a = ib_a - min(0.5,0.5-abs(dx+dy)); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=ladder = abs(sin(1*time)); +per_pixel_6=leaf = 5*below(ladder,0.2) + 8*above(ladder,0.2)*below(ladder,0.4) + +per_pixel_7=12*above(ladder,0.4)*below(ladder,0.6) + 18*above(ladder,0.6)*below(ladder,0.8) + +per_pixel_8=24*above(ladder,0.8); +per_pixel_9=leafset = if(equal(thresh,2), leaf, leafset); +per_pixel_10= +per_pixel_11=zoom = zoom + 0.05*(0.75-cos(leafset*rad))*(1-rad); +per_pixel_12=zoom = zoom - abs(0.05*(0.75-cos(4*rad))); diff --git a/presets/presets_tryptonaut/Aderrasi - Spillswirl.milk b/presets/presets_tryptonaut/Aderrasi - Spillswirl.milk new file mode 100755 index 0000000000..04bf1a7054 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Spillswirl.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.020100 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.499722 +fWaveSmoothing=0.900000 +fWaveParam=-0.080000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=27.429565 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.001990 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.250000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=55.680000 +nMotionVectorsY=47.999996 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + if(above(wave_y,0.75), - 0.1*tan(time), + 0.1*tan(time)); +per_frame_2=wave_y = wave_y + 0.40*sin(8*mid); +per_frame_3=wave_r = wave_r + if(above(3*bass,2), +1,-2); +per_frame_4=wave_g = wave_g + if(above(3*mid,2), +1, -2); +per_frame_5=wave_b = wave_b + if(above(3*treb,2), +1, -2); +per_frame_6=warp = 0; +per_frame_7=rot = rot - 0.05; +per_pixel_1=zoom = zoom + if (below(rad,0.3), -0.2*(1-rad), 0); +per_pixel_2=zoom = zoom + if(below(rad,0.6), -0.2*(0.5-rad), 0); +per_pixel_3=rot = rot - if(below(rad,0.2), 0.1*(1-rad), 0); diff --git a/presets/presets_tryptonaut/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk b/presets/presets_tryptonaut/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk new file mode 100755 index 0000000000..b3ade46b96 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - The Lurker (Twin Mix) - Bitcore Tweak.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.5 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.008000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.800000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time)+1.5; +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time)+1.5; +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time)+1.5; +per_frame_4=warp = 0; +per_frame_5=ib_r = wave_g; +per_frame_6=ib_g =wave_b; +per_frame_7=ib_b = wave_r; +per_frame_8=ob_r = wave_b; +per_frame_9=ob_g = wave_r; +per_frame_10=ob_b=wave_g; +per_frame_11=wave_mystery = wave_mystery + 0.1*time; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=rot = rot + 0.1*sin(time) + 0.2*rad*cos(1-rad)*thresh; +per_pixel_5=zoom = zoom - ((3.5*bass)*(dx_r-dy_r)); +per_pixel_6=zoom = zoom - (0.002*mid_att); +per_pixel_7=zoomexp = 0.85; +per_pixel_8=rot = rot + 1*((rad/bass_att)/time*sin(time)); +per_pixel_9=zoom = zoom + 1*((rad/mid_att)/time*cos(time)); +per_pixel_10=rot = rot + 0.05*(0.5*sin(time)-rad); +per_pixel_11=rot = rot + 0.075*(1*cos(time)-rad); +per_pixel_12=zoom = zoom - above(rad,0.3)*0.02; diff --git a/presets/presets_tryptonaut/Aderrasi - Visitor.milk b/presets/presets_tryptonaut/Aderrasi - Visitor.milk new file mode 100755 index 0000000000..3ee9839b31 --- /dev/null +++ b/presets/presets_tryptonaut/Aderrasi - Visitor.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.972366 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.451117 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.800000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.100000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_b = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=dy = dy + dy_r*8*(0.25*cos(12*rad)+0.5*sin((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_6=*rad)*cos(12*ang); +per_pixel_7=dx = dx + dy_r*8*(0.25*sin(12*rad)+0.5*cos((12*rad)*(rad*cos(thresh*time)-rad)) +per_pixel_8=*rad)*sin(12*ang); diff --git a/presets_projectM/Aderrasi - What Cannot Be Undone.milk b/presets/presets_tryptonaut/Aderrasi - What Cannot Be Undone.milk similarity index 100% rename from presets_projectM/Aderrasi - What Cannot Be Undone.milk rename to presets/presets_tryptonaut/Aderrasi - What Cannot Be Undone.milk diff --git a/presets_projectM/Aderrasi - What cannot be.milk b/presets/presets_tryptonaut/Aderrasi - What cannot be.milk similarity index 100% rename from presets_projectM/Aderrasi - What cannot be.milk rename to presets/presets_tryptonaut/Aderrasi - What cannot be.milk diff --git a/presets/presets_tryptonaut/An AdamFX n Martin Infusion 2 flexi - Why The Sky Looks Diffrent Today - AdamFx n Martin Infusion - Tack Tile Disfunction B.milk b/presets/presets_tryptonaut/An AdamFX n Martin Infusion 2 flexi - Why The Sky Looks Diffrent Today - AdamFx n Martin Infusion - Tack Tile Disfunction B.milk new file mode 100755 index 0000000000..b772c80e7b --- /dev/null +++ b/presets/presets_tryptonaut/An AdamFX n Martin Infusion 2 flexi - Why The Sky Looks Diffrent Today - AdamFx n Martin Infusion - Tack Tile Disfunction B.milk @@ -0,0 +1,689 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.015 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.210 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_point1=// lorenz-attractor calc +wave_0_per_point2=xx1 = if(equal(sample,0),q11,xx1); +wave_0_per_point3=yy1 = if(equal(sample,0),q12,yy1); +wave_0_per_point4=zz1 = if(equal(sample,0),q13,zz1); +wave_0_per_point5=dx1 = q14*(yy1-xx1); +wave_0_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_0_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_0_per_point8=xx1 = xx1 + q17*dx1; +wave_0_per_point9=yy1 = yy1 + q17*dy1; +wave_0_per_point10=zz1 = zz1 + q17*dz1; +wave_0_per_point11= +wave_0_per_point12=// 3D model coordinates +wave_0_per_point13=my_x = xx1*0.1; +wave_0_per_point14=my_y = yy1*0.1; +wave_0_per_point15=my_z = zz1*0.1 - 3; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=d = 5; // distance of the camera (on the z-axis) to the origin +wave_0_per_point19=zoom = 0.4; +wave_0_per_point20= +wave_0_per_point21=// solid angles +wave_0_per_point22=w1 = q2; +wave_0_per_point23=w2 = q3; +wave_0_per_point24=w3 = q4; +wave_0_per_point25= +wave_0_per_point26=// rotations +wave_0_per_point27=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point28=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point29=z1 = my_z; +wave_0_per_point30= +wave_0_per_point31=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point32=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point33=y2 = y1; +wave_0_per_point34= +wave_0_per_point35=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point36=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point37=x3 = x2; +wave_0_per_point38= +wave_0_per_point39=// perspective calculation +wave_0_per_point40= +wave_0_per_point41=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point42=w = atan2(x3,y3); +wave_0_per_point43=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point44=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point45= +wave_0_per_point46=my_x = zoom*sin(w)*p; +wave_0_per_point47=my_y = zoom*cos(w)*p; +wave_0_per_point48= +wave_0_per_point49=x = 0.5 + my_x; +wave_0_per_point50=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=xx1 = if(equal(sample,0),q11,xx1); +wave_1_per_point2=yy1 = if(equal(sample,0),q12,yy1); +wave_1_per_point3=zz1 = if(equal(sample,0),q13,zz1); +wave_1_per_point4= +wave_1_per_point5=dx1 = q14*(yy1-xx1); +wave_1_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_1_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_1_per_point8=xx1 = xx1 + q17*dx1; +wave_1_per_point9=yy1 = yy1 + q17*dy1; +wave_1_per_point10=zz1 = zz1 + q17*dz1; +wave_1_per_point11= +wave_1_per_point12=my_x = xx1*0.02; +wave_1_per_point13=my_y = yy1*0.02; +wave_1_per_point14=my_z = zz1*0.02; +wave_1_per_point15= +wave_1_per_point16=x = 0.5 + my_x; +wave_1_per_point17=y = 0.5 + my_y; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=175 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20065 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=3.14159 +shapecode_0_tex_zoom=0.99979 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.010 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=//lorenz-attractor calc +shape_0_per_frame2=xx1 = if(equal(instance,0),q11,xx1); +shape_0_per_frame3=yy1 = if(equal(instance,0),q12,yy1); +shape_0_per_frame4=zz1 = if(equal(instance,0),q13,zz1); +shape_0_per_frame5= +shape_0_per_frame6=dx1 = q14*(yy1-xx1); +shape_0_per_frame7=dy1 = xx1*(q15-zz1)-yy1; +shape_0_per_frame8=dz1 = xx1*yy1-q16*zz1; +shape_0_per_frame9=dd = sqrt(dx1*dx1+dy1*dy1+dz1*dz1); +shape_0_per_frame10=xx1 = xx1 + q17*dx1/dd; +shape_0_per_frame11=yy1 = yy1 + q17*dy1/dd; +shape_0_per_frame12=zz1 = zz1 + q17*dz1/dd; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=// 3D object model coordinates +shape_0_per_frame16=my_x = xx1*0.1; +shape_0_per_frame17=my_y = yy1*0.1; +shape_0_per_frame18=my_z = zz1*0.1 - 3; +shape_0_per_frame19= +shape_0_per_frame20= +shape_0_per_frame21=d = 4.75; // camera distance +shape_0_per_frame22=zoom = .55+0.25*sin(.5*q32); +shape_0_per_frame23= +shape_0_per_frame24=// solid angles +shape_0_per_frame25=w1 = q3; +shape_0_per_frame26=w2 = q4; +shape_0_per_frame27=w3 = q5; +shape_0_per_frame28= +shape_0_per_frame29=// 3D rotation +shape_0_per_frame30=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame31=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame32=z1 = my_z; +shape_0_per_frame33= +shape_0_per_frame34=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame35=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame36=y2 = y1; +shape_0_per_frame37= +shape_0_per_frame38=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame39=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame40=x3 = x2; +shape_0_per_frame41= +shape_0_per_frame42=// perspective calculation +shape_0_per_frame43= +shape_0_per_frame44=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame45=w = atan2(x3,y3); +shape_0_per_frame46=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame47=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame48= +shape_0_per_frame49=my_x = zoom*sin(w)*p; +shape_0_per_frame50=my_y = zoom*cos(w)*p; +shape_0_per_frame51= +shape_0_per_frame52=x = 0.5 + my_x; +shape_0_per_frame53=y = 0.5 + my_y; +shape_0_per_frame54= +shape_0_per_frame55=rad = rad/d; +shape_0_per_frame56=ang = ang-instance/num_inst*asin(1)*8; +shapecode_1_enabled=0 +shapecode_1_sides=12 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=512 +shapecode_1_x=0.500 +shapecode_1_y=0.550 +shapecode_1_rad=0.09860 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.78740 +shapecode_1_r=0.200 +shapecode_1_g=0.030 +shapecode_1_b=0.550 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=started = 0; +shape_1_init2=t1 = 0.412; //seeds for pseudo random generator +shape_1_init3=t2 = 0.4563; +shape_1_init4=t3 = 0.6452; +shape_1_init5=t4 = 0.2565; +shape_1_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_1_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_1_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_1_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_1_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_1_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_1_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_1_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_1_per_frame9=t = .6; +shape_1_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_1_per_frame11=t = t + rnd2*0.1; +shape_1_per_frame12=wh = rnd4*asin(1)*4; +shape_1_per_frame13=wv = 0.25 + rnd3*0.1; +shape_1_per_frame14= +shape_1_per_frame15=d = 6; // makes the perspective impact +shape_1_per_frame16=zoom = 1; +shape_1_per_frame17=l = 1; +shape_1_per_frame18= +shape_1_per_frame19=// Kardan angles +shape_1_per_frame20= +shape_1_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_1_per_frame22=w2 = q4; // rotation around vertical axis +shape_1_per_frame23=w3 = q5; // rotation around horizontal axis +shape_1_per_frame24= +shape_1_per_frame25= +shape_1_per_frame26=// definition of the 3D shape +shape_1_per_frame27= +shape_1_per_frame28=i = instance; +shape_1_per_frame29= +shape_1_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*2; +shape_1_per_frame31=my_z = -(-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*2; +shape_1_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*2; +shape_1_per_frame33= +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=// 3D rotations +shape_1_per_frame37= +shape_1_per_frame38=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_1_per_frame39=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_1_per_frame40=z1 = my_z; +shape_1_per_frame41= +shape_1_per_frame42=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_1_per_frame43=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_1_per_frame44=y2 = y1; +shape_1_per_frame45= +shape_1_per_frame46=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_1_per_frame47=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_1_per_frame48=x3 = x2; +shape_1_per_frame49= +shape_1_per_frame50=// perspective calculation +shape_1_per_frame51= +shape_1_per_frame52=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_1_per_frame53=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_1_per_frame54= +shape_1_per_frame55=rad = rad/d; +shape_1_per_frame56=my_x = zoom*sin(atan2(x3,y3))*p; +shape_1_per_frame57=my_y = zoom*cos(atan2(x3,y3))*p; +shape_1_per_frame58= +shape_1_per_frame59=x = 0.5 + my_x; +shape_1_per_frame60=y = 0.5 + my_y; +shape_1_per_frame61= +shape_1_per_frame62=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame63=y = 0.5 + (y-0.5)/q1; +shapecode_2_enabled=0 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.26670 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.100 +shapecode_2_b=0.550 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame9=t = .6; +shape_2_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame11=t = t + rnd2*0.1; +shape_2_per_frame12=wh = rnd4*asin(1)*4; +shape_2_per_frame13=wv = 0.25 + rnd3*0.1; +shape_2_per_frame14= +shape_2_per_frame15=d = 6; // makes the perspective impact +shape_2_per_frame16=zoom = 1; +shape_2_per_frame17=l = 1; +shape_2_per_frame18= +shape_2_per_frame19=// Kardan angles +shape_2_per_frame20= +shape_2_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame22=w2 = q4; // rotation around vertical axis +shape_2_per_frame23=w3 = q5; // rotation around horizontal axis +shape_2_per_frame24= +shape_2_per_frame25= +shape_2_per_frame26=// definition of the 3D shape +shape_2_per_frame27= +shape_2_per_frame28=i = instance; +shape_2_per_frame29= +shape_2_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*4; +shape_2_per_frame31=my_z = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*4; +shape_2_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*4; +shape_2_per_frame33= +shape_2_per_frame34= +shape_2_per_frame35=// 3D rotations +shape_2_per_frame36= +shape_2_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame39=z1 = my_z; +shape_2_per_frame40= +shape_2_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame43=y2 = y1; +shape_2_per_frame44= +shape_2_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame47=x3 = x2; +shape_2_per_frame48= +shape_2_per_frame49=// perspective calculation +shape_2_per_frame50= +shape_2_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame53= +shape_2_per_frame54=rad = rad/d; +shape_2_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame57= +shape_2_per_frame58=x = 0.5 + my_x; +shape_2_per_frame59=y = 0.5 + my_y; +shape_2_per_frame60= +shape_2_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame62=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=0 +shapecode_3_sides=12 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=512 +shapecode_3_x=0.500 +shapecode_3_y=0.550 +shapecode_3_rad=0.05012 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.78740 +shapecode_3_r=0.000 +shapecode_3_g=0.020 +shapecode_3_b=0.110 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=started = 0; +shape_3_init2=t1 = 0.412; //seeds for pseudo random generator +shape_3_init3=t2 = 0.4563; +shape_3_init4=t3 = 0.6452; +shape_3_init5=t4 = 0.2565; +shape_3_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_3_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_3_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_3_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_3_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_3_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_3_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_3_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_3_per_frame9=t = .6; +shape_3_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_3_per_frame11=t = t + rnd2*0.1; +shape_3_per_frame12=wh = rnd4*asin(1)*4; +shape_3_per_frame13=wv = 0.25 + rnd3*0.1; +shape_3_per_frame14= +shape_3_per_frame15=d = 1.4; // makes the perspective impact +shape_3_per_frame16=zoom = 1; +shape_3_per_frame17=l = 1; +shape_3_per_frame18= +shape_3_per_frame19=// Kardan angles +shape_3_per_frame20= +shape_3_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_3_per_frame22=w2 = q4; // rotation around vertical axis +shape_3_per_frame23=w3 = q5; // rotation around horizontal axis +shape_3_per_frame24= +shape_3_per_frame25= +shape_3_per_frame26=// definition of the 3D shape +shape_3_per_frame27= +shape_3_per_frame28=i = instance; +shape_3_per_frame29= +shape_3_per_frame30=my_x = t *(cos(wh)*sin(wv)*l); +shape_3_per_frame31=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_3_per_frame32=my_z = t*(sin(wh)*sin(wv)*l); +shape_3_per_frame33= +shape_3_per_frame34= +shape_3_per_frame35=// 3D rotations +shape_3_per_frame36= +shape_3_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame39=z1 = my_z; +shape_3_per_frame40= +shape_3_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame43=y2 = y1; +shape_3_per_frame44= +shape_3_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame47=x3 = x2; +shape_3_per_frame48= +shape_3_per_frame49=// perspective calculation +shape_3_per_frame50= +shape_3_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_3_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame53= +shape_3_per_frame54=rad = rad/d; +shape_3_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_3_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_3_per_frame57= +shape_3_per_frame58=x = 0.5 + my_x; +shape_3_per_frame59=y = 0.5 + my_y; +shape_3_per_frame60= +shape_3_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_3_per_frame62=y = 0.5 + (y-0.5)/q1; +per_frame_init_1=step = 0; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.96, 30/fps); +per_frame_3=dec_fast = pow (0.6, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, 0+avg+peak) * above (time, t0+.1); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) %16; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q24 = is_beat; +per_frame_16=vol = bass_att + mid_att + treb_att; +per_frame_17=vol_ = dec_med * vol_ + (1-dec_med)* vol; +per_frame_18=vol__ = dec_med * vol__ + (1-dec_med)* vol_; +per_frame_19=q27 = index + 1; +per_frame_20=q28 = index2 + 1; +per_frame_21=q23 = q22 -0.1/q22; +per_frame_22=q23 = max(q23,1); +per_frame_23= +per_frame_24=k1 = is_beat*equal(index%8,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_fast * p2+ (1-dec_fast)*p1; +per_frame_27=rott = p2 * 3.1416/4; +per_frame_28= +per_frame_29=q1 = cos(rott); +per_frame_30=q2 = sin(rott); +per_frame_31=q3 = -q2; +per_frame_32=q4 = q1; +per_frame_33= +per_frame_34=trig = q24 * bnot(index%2); +per_frame_35=vx = vx*bnot(trig) + trig* (int(rand(100))/100-.5); +per_frame_36=vy = vy*bnot(trig) + trig* (int(rand(100))/100-.5); +per_frame_37=q10 = 0.2+vy*vy*2; +per_frame_38=q11 = sin(time/9)/2+.4; +per_frame_39=movz = movz-1/fps*(.3+vx); +per_frame_40=q9 = movz; +per_frame_41= +per_frame_42=q12 = min(q22,6)*2; +per_frame_43=q13 = min(2,1+abs(8*vy*vx)); +per_frame_44=//dir_ = dec_med*dir_ + (1-dec_med)*(index2%2-.5); +per_frame_45=dir_ = bass-1; +per_frame_46= +per_frame_47=trig = bnot(index%4) * q24; +per_frame_48=dir = bnot(trig)*dir + trig*(int(rand(10))-5); +per_frame_49= +per_frame_50=trel = trel + .1/fps*dir; +per_frame_51=trel_ = dec_med*trel_ + (1-dec_med)*trel; +per_frame_52= +per_frame_53=q5 = cos(trel_); +per_frame_54=q6 = sin(trel_+0*q27*(q28%2)); +per_frame_55=q7 = -q6; +per_frame_56=q8 = q5; +per_frame_57= +per_frame_58=zoom = 1.02; +per_frame_59=rot = .5*sin(bnot(q28%2)*q28) ; +per_frame_60=rot = .0*sin(time/3); +per_frame_61=dx = .0; +per_frame_62= +per_frame_63=monitor = q11; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float3 neu, ret1; +comp_4=`float2 rs2,rs0,rss,uv1,uv2, uv3, uv0; +comp_5=`float ang2,c,s; +comp_6=`float2x2 rota = float2x2(.7,.7,-.7,.7); +comp_7=`shader_body +comp_8=`{ +comp_9=`uv0 = uv; +comp_10=`float2 uv5 = (uv-.5)*aspect.xy; +comp_11=` +comp_12=`uv -= 0.5; +comp_13=`uv *= aspect.xy; +comp_14=`uv += float2 (q5,q6)/4; +comp_15=`uv = mul(uv,float2x2(_qb)); +comp_16=`uv5 = uv; +comp_17=` +comp_18=`rs0.x = atan2(uv5.y, uv5.x)/3.1416*6*q28; +comp_19=`rs0.y = 1/(length (uv)); +comp_20=`//rs0.y = q5* rs0.y + q6 * 1/rs0.y; +comp_21=`rss = float2 (rs0.x+q9*8,rs0.y+q9*q28*4)/12; +comp_22=` +comp_23=` +comp_24=`float3 ret1 = 0; +comp_25=`int anz = 3; +comp_26=`int n = 0; +comp_27=`float2 ofs = .1*float2(q5,q6).yx; +comp_28=`while (n <= anz) { +comp_29=` float dist = frac(-q9+1.0*n/anz); +comp_30=` +comp_31=` ang2 = 6.28*n/anz; +comp_32=` c = cos(ang2); +comp_33=` s = sin(ang2); +comp_34=` uv2 = mul(uv,q13*dist*float2x2(c,s,-s,c))*aspect.yx; +comp_35=` uv3 = frac(uv2+.5+ofs) ; +comp_36=` neu = 1*GetPixel(uv3)+ GetBlur1(uv3)*1; +comp_37=` ret1 = max(ret1,neu* (1-dist*dist)*2); +comp_38=`n++; +comp_39=`} +comp_40=` +comp_41=`float2 dz = float2 (ret1.r+ret1.b, ret1.r-ret1.g)/2; +comp_42=`ret = ret1 +comp_43=`+ bass_att*.004/length(uv)*roam_sin +comp_44=`+ 2*(bass_att*GetBlur1(frac(rss+dz)).brg+.0*roam_sin*length(uv))*saturate(1-ret1*4); +comp_45=`//+ .03/length(sin(float2(-rs0.x*.0,-rs0.y*5)))*(1/treb_att)*saturate(1-ret1*4); +comp_46=`//ret = GetPixel(uv0)*2; +comp_47=`} +comp_48=` diff --git a/presets/presets_tryptonaut/BEST OF ADAMFX 2.milk b/presets/presets_tryptonaut/BEST OF ADAMFX 2.milk new file mode 100755 index 0000000000..7e90bc7485 --- /dev/null +++ b/presets/presets_tryptonaut/BEST OF ADAMFX 2.milk @@ -0,0 +1,413 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=branch=int(rand(2)); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=branch=int(rand(2)); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=branch=int(rand(2)); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=branch=int(rand(2)); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.46815 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.63904 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02743 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.050 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02508 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.050 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=2.66717 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.60804 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.100 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.010 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_6=` +warp_7=` // take the difference between the crisp and blurred images, +warp_8=` // then add it back into the image. Creates spots and stripes over time. +warp_9=` ret.xyz += (ret - GetBlur3(uv))*0.35; +warp_10=` ret.xyz -= 0.004; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*0.18; +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_tryptonaut/Bdrv EoS + Redi Jedi - frequency analysis + glowsticks - glow - o - scope male left handed complement BDRV et AL rmx2.milk b/presets/presets_tryptonaut/Bdrv EoS + Redi Jedi - frequency analysis + glowsticks - glow - o - scope male left handed complement BDRV et AL rmx2.milk new file mode 100644 index 0000000000..e088682092 --- /dev/null +++ b/presets/presets_tryptonaut/Bdrv EoS + Redi Jedi - frequency analysis + glowsticks - glow - o - scope male left handed complement BDRV et AL rmx2.milk @@ -0,0 +1,747 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.600000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=division = int(sample*4) + 1; +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=wave=(value1*170 + value2*170) * 0.5; +wave_0_per_point5= +wave_0_per_point6=//// first frequency band, full frame 60hz@60fps +wave_0_per_point7=//set to 0 at beginning of frame +wave_0_per_point8=band1max = if( equal(sample,0) , -1, band1max); +wave_0_per_point9=band1min = if( equal(sample,0) , 1 , band1min); +wave_0_per_point10= +wave_0_per_point11=//accumulate values +wave_0_per_point12=band1max = max(wave,band1max); +wave_0_per_point13=band1min = min(wave,band1min); +wave_0_per_point14= +wave_0_per_point15=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point16=band1 = if( equal(sample,1) , band1max - ((band1min+band1max)*0.5) , band1 ); +wave_0_per_point17=t1 = band1; +wave_0_per_point18= +wave_0_per_point19=//// 3rd frequency band +wave_0_per_point20=//divide wave form over frame into subsections +wave_0_per_point21=segmentlength = 8; +wave_0_per_point22=section = (sample*segmentlength) - int(sample*segmentlength - 0.0001); +wave_0_per_point23=zerotest= (1/(512/segmentlength)); +wave_0_per_point24=onetest =1 - zerotest; +wave_0_per_point25= +wave_0_per_point26=//set to 0 at beginning of frame +wave_0_per_point27=band3max = if( below(section,zerotest) , -1 , band3max); +wave_0_per_point28=band3min = if( below(section,zerotest) , 1 , band3min); +wave_0_per_point29=maxhold3 = if( below(sample ,1/512) , 0 , maxhold3 ); +wave_0_per_point30= +wave_0_per_point31=//accumulate values +wave_0_per_point32=band3max = max(wave,band3max); +wave_0_per_point33=band3min = min(wave,band3min); +wave_0_per_point34= +wave_0_per_point35=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point36=band3temp = if( above(section,onetest), band3max - ((band3min+band3max)*0.5) , band3temp ); +wave_0_per_point37= +wave_0_per_point38=maxhold3 = if( above(section,onetest) , maxhold3 + band3temp , maxhold3 ); +wave_0_per_point39=band3 = if( equal(sample,1) , maxhold3/segmentlength , band3 ); +wave_0_per_point40= +wave_0_per_point41=//t3 = (band3 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point42=t3 = band3; +wave_0_per_point43= +wave_0_per_point44=//// 5th frequency band +wave_0_per_point45=//divide wave form over frame into subsections +wave_0_per_point46=segmentlength = 32; +wave_0_per_point47=section = (sample*segmentlength) - int(sample*segmentlength - 0.00001); +wave_0_per_point48=zerotest= (1/(512/segmentlength)); +wave_0_per_point49=onetest =1 - zerotest; +wave_0_per_point50= +wave_0_per_point51=//set to 0 at beginning of frame +wave_0_per_point52=band5max = if( below(section,zerotest) , -1, band5max); +wave_0_per_point53=band5min = if( below(section,zerotest) , 1 , band5min); +wave_0_per_point54=maxhold5 = if( below(sample ,1/512) , 0 , maxhold5 ); +wave_0_per_point55= +wave_0_per_point56=//accumulate values +wave_0_per_point57=band5max = max(wave,band5max); +wave_0_per_point58=band5min = min(wave,band5min); +wave_0_per_point59= +wave_0_per_point60=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point61=band5temp = if( above(section,onetest) , band5max - ((band5min+band5max)*0.5) , band5temp ); +wave_0_per_point62= +wave_0_per_point63=maxhold5 = if( above(section,onetest) , maxhold5 + band5temp , maxhold5 ); +wave_0_per_point64=band5 = if( equal(sample,1) , maxhold5/segmentlength , band5 ); +wave_0_per_point65= +wave_0_per_point66=//t5 = (band5 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point67=t5 = band5; +wave_0_per_point68= +wave_0_per_point69=//// 7th frequency band +wave_0_per_point70=//divide wave form over frame into subsections +wave_0_per_point71=segmentlength = 128; +wave_0_per_point72=section = (sample*segmentlength) - int(sample*segmentlength - 0.00001); +wave_0_per_point73=zerotest= (1/(512/segmentlength)); +wave_0_per_point74=onetest =1 - zerotest; +wave_0_per_point75= +wave_0_per_point76=//set to 0 at beginning of frame +wave_0_per_point77=band7max = if( below(section,zerotest) , -1 , band7max); +wave_0_per_point78=band7min = if( below(section,zerotest) , 1 , band7min); +wave_0_per_point79=maxhold7 = if( below(sample ,1/512) , 0 , maxhold7 ); +wave_0_per_point80= +wave_0_per_point81=//accumulate values +wave_0_per_point82=band7max = max(wave,band7max); +wave_0_per_point83=band7min = min(wave,band7min); +wave_0_per_point84= +wave_0_per_point85=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point86=band7temp = if( above(section,onetest) , band7max - ((band7min+band7max)*0.5) , band7temp ); +wave_0_per_point87= +wave_0_per_point88=maxhold7 = if( above(section,onetest) , maxhold7 + band7temp , maxhold7 ); +wave_0_per_point89=band7 = if( equal(sample,1) , maxhold7/segmentlength , band7 ); +wave_0_per_point90= +wave_0_per_point91=//t7 = (band7 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point92=t7 = band7; +wave_0_per_point93= +wave_0_per_point94=t1=t1*1.9; +wave_0_per_point95=t2=t2*2.8; +wave_0_per_point96=t3=t3*3.5; +wave_0_per_point97=t4=t4*5; +wave_0_per_point98=t5=t5*7; +wave_0_per_point99=t6=t6*12; +wave_0_per_point100=t7=t7*16; +wave_0_per_point101=t8=t8*29; +wave_0_per_point102=t1=pow(t1,2); +wave_0_per_point103=t2=pow(t2,2); +wave_0_per_point104=t3=pow(t3,2); +wave_0_per_point105=t4=pow(t4,2); +wave_0_per_point106=t5=pow(t5,2); +wave_0_per_point107=t6=pow(t6,2); +wave_0_per_point108=t7=pow(t7,2); +wave_0_per_point109=t8=pow(t8,2); +wave_0_per_point110= +wave_0_per_point111= +wave_0_per_point112=t1=max(t1-t3 , 0); +wave_0_per_point113=t3=max(t3-t5 , 0); +wave_0_per_point114=t5=max(t5-t7 , 0); +wave_0_per_point115= +wave_0_per_point116=q1=t1;q2=t2;q3=t3;q4=t4;q5=t5;q6=t6;q7=t7;q8=t8; +wave_0_per_point117= +wave_0_per_point118=x=sample; +wave_0_per_point119=y=0.001; +wave_0_per_point120= +wave_0_per_point121= +wave_0_per_point122=q1=t1; +wave_0_per_point123=q2=t3; +wave_0_per_point124=q3=t5; +wave_0_per_point125=q4=t7; +wave_0_per_point126= +wave_0_per_point127=r1=if( equal(division,1) , t1 , r1 ); +wave_0_per_point128=r1=if( equal(division,2) , t3 , r1 ); +wave_0_per_point129=r1=if( equal(division,3) , t5 , r1 ); +wave_0_per_point130=r1=if( equal(division,4) , t7 , r1 ); +wave_0_per_point131= +wave_0_per_point132=r1=min(r1,1); +wave_0_per_point133=r1=max(r1,0); +wave_0_per_point134=r=sin(sample*3.14 + time + 0.0)*0.5+0.5; +wave_0_per_point135= +wave_0_per_point136=g=sin(sample*3.14 + time + 2.1)*0.5+0.5; +wave_0_per_point137= +wave_0_per_point138=b=sin(sample*3.14 + time + 4.2)*0.5+0.5; +wave_0_per_point139= +wave_0_per_point140=a= ( sin(sample*6.283*4 + 4.74)*0.5+0.5 ); +wave_0_per_point141=a=max(a - (1-r1) , 0) / r1; +wave_0_per_point142=a=pow( a*r1 , 1-r1*0.5); +wave_0_per_point143=a=0; +wave_0_per_point144=r=min( r * (1+r1) , 1); +wave_0_per_point145=g=min( g * (1+r1) , 1); +wave_0_per_point146=b=min( b * (1+r1) , 1); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(q5-q6)*0.5+0.5; +wave_1_per_frame2=t2=sin(q5-q7)*0.5+0.5; +wave_1_per_frame3=t3=sin(q6+q8)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(q5+q6)*0.5+0.5; +wave_1_per_frame6=t5=sin(q5-q8)*0.5+0.5; +wave_1_per_frame7=t6=sin(q6-q7)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=(q5+q6*q4*.0001) + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=(1-sample); +wave_1_per_point71= +wave_1_per_point72=b=b+pow(1-sample,2)*0.3; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.200000 +wavecode_2_g=1.000000 +wavecode_2_b=0.600000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(q6/q5)*0.5+0.5; +wave_2_per_frame2=t2=sin(q6-q7)*0.5+0.5; +wave_2_per_frame3=t3=sin(q5+q8)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(q7+q6)*0.5+0.5; +wave_2_per_frame6=t5=sin(q5-q6)*0.5+0.5; +wave_2_per_frame7=t6=sin(q8-q5)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=(q6+q5*q4*.0001) + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_2_per_point10=yp=-yp; +wave_2_per_point11=zp=0; +wave_2_per_point12= +wave_2_per_point13=//wrist movement; +wave_2_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point15= +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=xq=xp; +wave_2_per_point18=yq=yp*sinang + zp*cosang; +wave_2_per_point19=zq=yp*cosang - zp*sinang; +wave_2_per_point20=yq=yp; +wave_2_per_point21=zq=zp; +wave_2_per_point22= +wave_2_per_point23=ang=tm*8; +wave_2_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point25=xp=xq*sinang + yq*cosang; +wave_2_per_point26=yp=xq*cosang - yq*sinang; +wave_2_per_point27=zp=zq; +wave_2_per_point28= +wave_2_per_point29=//forearm movement; +wave_2_per_point30=zp=zp-0.3; +wave_2_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point33=xq=xp; +wave_2_per_point34=yq=yp*sinang + zp*cosang; +wave_2_per_point35=zq=yp*cosang - zp*sinang; +wave_2_per_point36= +wave_2_per_point37=//upper arm twist +wave_2_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point40=xp=xq*sinang + yq*cosang; +wave_2_per_point41=yp=xq*cosang - yq*sinang; +wave_2_per_point42=zp=zq; +wave_2_per_point43= +wave_2_per_point44=//upper arm outward; +wave_2_per_point45=zp=zp-0.35; +wave_2_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point48=xq=xp*sinang + zp*cosang; +wave_2_per_point49=yq=yp; +wave_2_per_point50=zq=xp*cosang - zp*sinang; +wave_2_per_point51= +wave_2_per_point52=//upper arm up down; +wave_2_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point55=xp=xq; +wave_2_per_point56=yp=yq*cosang - zq*sinang; +wave_2_per_point57=zp=yq*sinang + zq*cosang; +wave_2_per_point58= +wave_2_per_point59=//xp=xq;yp=yq;zp=zq; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=//project into screenspace and draw on screen +wave_2_per_point63=zp=zp+2; +wave_2_per_point64=xs=xp/zp; +wave_2_per_point65=ys=yp/zp; +wave_2_per_point66= +wave_2_per_point67=x=xs+0.5; +wave_2_per_point68=y=ys*1.3+0.5; +wave_2_per_point69= +wave_2_per_point70= +wave_2_per_point71=a=(1-sample); +wave_2_per_point72= +wave_2_per_point73= +wave_2_per_point74=b=b+pow(1-sample,2)*0.3; +wave_2_per_point75= +wave_2_per_point76=r1=t1; +wave_2_per_point77=g1=t2; +wave_2_per_point78=b1=t3; +wave_2_per_point79=r2=t4; +wave_2_per_point80=g2=t5; +wave_2_per_point81=b2=t6; +wave_2_per_point82= +wave_2_per_point83=r=r1*flip + r2*(1-flip); +wave_2_per_point84=g=g1*flip + g2*(1-flip); +wave_2_per_point85=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.500000 +wavecode_3_a=0.500000 +wave_3_init1=t1=0 +wave_3_per_point1= +wave_3_per_point2= +wave_3_per_point3=wave=(value1*170 + value2*170) * 0.5; +wave_3_per_point4= +wave_3_per_point5=t1 = wave; +wave_3_per_point6= +wave_3_per_point7= +wave_3_per_point8= +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=x=sample; +wave_3_per_point12=y=0.2 + t1 * 0.3; +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.750000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=sin((q8-q5)*q4*.01)*.5+.5; +shape_0_per_frame2=x=.1*rad; +shape_0_per_frame3= +shape_0_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_0_per_frame5= +shape_0_per_frame6=lrad=rad; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.750000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=sin((q7-q6)*q4*.01)*.5+.5; +shape_1_per_frame2=x=1-.1*rad; +shape_1_per_frame3= +shape_1_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_1_per_frame5= +shape_1_per_frame6=lrad=rad; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad=sin((q5-q8)*q4*.01)*.5+.5; +shape_2_per_frame2=y=.1*rad; +shape_2_per_frame3= +shape_2_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_2_per_frame5= +shape_2_per_frame6=lrad=rad; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=1 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=sin((q6-q7)*q4*.01)*.5+.5; +shape_3_per_frame2=y=1-.1*rad; +shape_3_per_frame3= +shape_3_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_3_per_frame5= +shape_3_per_frame6=lrad=rad; +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_init_1=db=.001; +per_frame_init_2=dt=.001; +per_frame_init_3=avgdb=bass-bass_att; +per_frame_init_4=avgdt=treb-treb_att; +per_frame_init_5=lbass=0; +per_frame_init_6=ltreb=0; +per_frame_init_7= +per_frame_init_8=avgbbeatrate=2; +per_frame_init_9=beatb=0; +per_frame_init_10=beatb2=0; +per_frame_init_11=beat +per_frame_init_12=rawbeatb=0; +per_frame_init_13=lbbtime=time-1; +per_frame_init_14=avgdb=.01; +per_frame_init_15=vol=0; +per_frame_init_16=avgvol=1; +per_frame_init_17=ph=0; +per_frame_init_18=phase=0; +per_frame_init_19=bool=0; +per_frame_init_20=const=.01; +per_frame_init_21=mtime=100+bass_att*1000; +per_frame_init_22=mtime2=100+treb_att*1000; +per_frame_init_23=mtime3=100+bass*1000; +per_frame_init_24=mtime4=100+mid*1000; +per_frame_1=decay=.99; +per_frame_2=zoom=1.000; +per_frame_3=warp=0; +per_frame_4=wrap=1; +per_frame_5= +per_frame_6=monitor=w1; +per_frame_7=cy=0.5; +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11=db=((w1+w2)-lbass)*fps; +per_frame_12=dt=((w4+w3)-ltreb)*fps; +per_frame_13= +per_frame_14=ltreb=w4+w3; +per_frame_15=lbass=w1+w2; +per_frame_16= +per_frame_17=avgdb=avgdb*.9+abs(db)*.1; +per_frame_18=avgdt=avgdt*.9+abs(dt)*.1; +per_frame_19= +per_frame_20=//beatdection +per_frame_21=rawbeatb=above(time-lbbtime,avgbbeatrate*.75); +per_frame_22=beatb=rawbeatb*above(abs(dt),avgdt*3); +per_frame_23=beatb2=rawbeatb*above(abs(db),avgdb*3); +per_frame_24=beat=max(beatb2,beatb); +per_frame_25= +per_frame_26=//beatrate calc +per_frame_27=//avgbbeatrate=beatb2*(avgbbeatrate*.9+(time-lbbtime2)*.1)+(1-beatb2)*(avgbbeatrate+(3-avgbbeatrate)*.001); +per_frame_28=//avgbbeatrate=beatb*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beatb)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_29=avgbbeatrate=beat*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beat)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_30=//lbbtime2=time*beatb2+(1-beatb2)*lbbtime2; +per_frame_31=lbbtime=time*beat+(1-beat)*lbbtime; +per_frame_32= +per_frame_33=ph=(time-lbbtime)*(60/avgbbeatrate)*const; +per_frame_34=phase=max(min( ph, 1 ),0); +per_frame_35=const=const*(1-beatb2)+beatb2*( const+ (.001*bool) ); +per_frame_36=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_37= +per_frame_38= +per_frame_39=bc=bc+beatb; +per_frame_40=zoom=1+below(w1,0); +per_frame_41=vol=(beatb*(w1+w4+w2+w3)*.1); +per_frame_42=avgvol=avgvol*.999+vol*.01; +per_frame_43=monitor=avgvol; +per_frame_44=mtime=mtime+(min(avgdt*.05,.5)+avgvol)*(1/fps); +per_frame_45=mtime2=mtime2+(min(avgdb*.05,.5)+avgvol)*(1/fps); +per_frame_46=mtime3=mtime3+(beatb)*db*(1/fps); +per_frame_47=mtime4=mtime4+(beatb2)*dt*(1/fps); +per_frame_48=monitor=60/avgbbeatrate; +per_frame_49= +per_frame_50=//q2=(sin(mtime)*.5+.5); +per_frame_51=//q2=phase; +per_frame_52=q1=beatb; +per_frame_53=q2=beatb2; +per_frame_54=q3=phase; +per_frame_55=q4=60/avgbbeatrate; +per_frame_56=q5=mtime; +per_frame_57=q6=mtime2; +per_frame_58=q7=mtime3; +per_frame_59=q8=mtime4; +per_frame_60=//zoom=1+sin(q7)*.1; +per_frame_61= +per_frame_62= +per_pixel_1= +per_pixel_2=rot=3.14+sin((q7-q8)+(q5-q6)*.1+rad*sin(time*q4*.0001)); +per_pixel_3=zoom=1+q4*.0001; +per_pixel_4=//thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_5=//dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_6=//dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_7=rot = rot + 0.04*sin(time*(rad)); +per_pixel_8=zoom = zoom + 0.025*cos(time*(rad)); +per_pixel_9=disk_shift = if(equal(abs(sin(ang)), if(above(q1,0),0,1)), -rot, 0.05); +per_pixel_10=timer=sin(time*1.3); +per_pixel_11=x_or_y=if(above(q1,0),y,x); +per_pixel_12=rot = rot + if(equal(x_or_y*10%2,0),if(below(timer,0),disk_shift,-rot),if(above(timer,0),disk_shift,-rot)); diff --git a/presets/presets_tryptonaut/Bdrv EoS - pulsecube BDRV et AL rmxmixx.milk b/presets/presets_tryptonaut/Bdrv EoS - pulsecube BDRV et AL rmxmixx.milk new file mode 100644 index 0000000000..b8aeda3ce3 --- /dev/null +++ b/presets/presets_tryptonaut/Bdrv EoS - pulsecube BDRV et AL rmxmixx.milk @@ -0,0 +1,485 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.299999 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.190000 +wavecode_0_b=0.710000 +wavecode_0_a=0.110001 +wave_0_per_frame1=t1 = q2; +wave_0_per_frame2=t8 = 1; +wave_0_per_frame3= +wave_0_per_frame4=t2 = q1; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2= +wave_0_per_point3=t8 = -t8; +wave_0_per_point4= +wave_0_per_point5=xp = t8; +wave_0_per_point6=yp = sample * 2 - 1; +wave_0_per_point7=zp = (1 - pow( abs(sample*2-1) , 2 )) * t2 * 0.4; +wave_0_per_point8=zp = zp + 1; +wave_0_per_point9= +wave_0_per_point10=ang = t1; +wave_0_per_point11=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point12=xq = xp; +wave_0_per_point13=yq = yp*sang + zp*cang; +wave_0_per_point14=zq = yp*cang - zp*sang; +wave_0_per_point15=xp=xq;yp=yq;zp=zq; +wave_0_per_point16= +wave_0_per_point17=ang = t1 * 2.1; +wave_0_per_point18=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point19=xq = xp*sang + zp*cang; +wave_0_per_point20=yq = yp; +wave_0_per_point21=zq = xp*cang - zp*sang; +wave_0_per_point22=xp=xq;yp=yq;zp=zq; +wave_0_per_point23= +wave_0_per_point24= +wave_0_per_point25=zp = zp + 6.1; +wave_0_per_point26=x = xp/zp + 0.5; +wave_0_per_point27=y = yp/zp * 1.333 + 0.5; +wave_0_per_point28= +wave_0_per_point29=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.190000 +wavecode_1_b=0.710000 +wavecode_1_a=0.110001 +wave_1_per_frame1=t1 = q2; +wave_1_per_frame2=t8 = 1; +wave_1_per_frame3= +wave_1_per_frame4=t2 = q1; +wave_1_per_point1=n = sample*6.283; +wave_1_per_point2= +wave_1_per_point3=t8 = -t8; +wave_1_per_point4= +wave_1_per_point5=xp = t8; +wave_1_per_point6=yp = sample * 2 - 1; +wave_1_per_point7=zp = (1 - pow( abs(sample*2-1) , 2 )) * t2 * 0.4; +wave_1_per_point8=zp = -zp - 1; +wave_1_per_point9= +wave_1_per_point10=ang = t1; +wave_1_per_point11=sang = sin(ang) ; cang = cos(ang); +wave_1_per_point12=xq = xp; +wave_1_per_point13=yq = yp*sang + zp*cang; +wave_1_per_point14=zq = yp*cang - zp*sang; +wave_1_per_point15=xp=xq;yp=yq;zp=zq; +wave_1_per_point16= +wave_1_per_point17=ang = t1 * 2.1; +wave_1_per_point18=sang = sin(ang) ; cang = cos(ang); +wave_1_per_point19=xq = xp*sang + zp*cang; +wave_1_per_point20=yq = yp; +wave_1_per_point21=zq = xp*cang - zp*sang; +wave_1_per_point22=xp=xq;yp=yq;zp=zq; +wave_1_per_point23= +wave_1_per_point24= +wave_1_per_point25=zp = zp + 6.1; +wave_1_per_point26=x = xp/zp + 0.5; +wave_1_per_point27=y = yp/zp * 1.333 + 0.5; +wave_1_per_point28= +wave_1_per_point29= +wave_1_per_point30=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.190000 +wavecode_2_b=0.710000 +wavecode_2_a=0.110001 +wave_2_per_frame1=t1 = q2; +wave_2_per_frame2=t8 = 1; +wave_2_per_frame3= +wave_2_per_frame4=t2 = q1; +wave_2_per_point1=n = sample*6.283; +wave_2_per_point2= +wave_2_per_point3=t8 = -t8; +wave_2_per_point4= +wave_2_per_point5=zp = t8; +wave_2_per_point6=yp = sample * 2 - 1; +wave_2_per_point7=xp = (1 - pow( abs(sample*2-1) , 2 )) * t2 * 0.4; +wave_2_per_point8=xp = xp + 1; +wave_2_per_point9= +wave_2_per_point10=ang = t1; +wave_2_per_point11=sang = sin(ang) ; cang = cos(ang); +wave_2_per_point12=xq = xp; +wave_2_per_point13=yq = yp*sang + zp*cang; +wave_2_per_point14=zq = yp*cang - zp*sang; +wave_2_per_point15=xp=xq;yp=yq;zp=zq; +wave_2_per_point16= +wave_2_per_point17=ang = t1 * 2.1; +wave_2_per_point18=sang = sin(ang) ; cang = cos(ang); +wave_2_per_point19=xq = xp*sang + zp*cang; +wave_2_per_point20=yq = yp; +wave_2_per_point21=zq = xp*cang - zp*sang; +wave_2_per_point22=xp=xq;yp=yq;zp=zq; +wave_2_per_point23= +wave_2_per_point24= +wave_2_per_point25=zp = zp + 6.1; +wave_2_per_point26=x = xp/zp + 0.5; +wave_2_per_point27=y = yp/zp * 1.333 + 0.5; +wave_2_per_point28= +wave_2_per_point29= +wave_2_per_point30=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.190000 +wavecode_3_b=0.710000 +wavecode_3_a=0.110001 +wave_3_per_frame1=t1 = q2; +wave_3_per_frame2=t8 = 1; +wave_3_per_frame3= +wave_3_per_frame4=t2 = q1; +wave_3_per_point1=n = sample*6.283; +wave_3_per_point2= +wave_3_per_point3=t8 = -t8; +wave_3_per_point4= +wave_3_per_point5=zp = t8; +wave_3_per_point6=yp = sample * 2 - 1; +wave_3_per_point7=xp = (1 - pow( abs(sample*2-1) , 2 )) * t2 * 0.4; +wave_3_per_point8=xp = -xp - 1; +wave_3_per_point9= +wave_3_per_point10=ang = t1; +wave_3_per_point11=sang = sin(ang) ; cang = cos(ang); +wave_3_per_point12=xq = xp; +wave_3_per_point13=yq = yp*sang + zp*cang; +wave_3_per_point14=zq = yp*cang - zp*sang; +wave_3_per_point15=xp=xq;yp=yq;zp=zq; +wave_3_per_point16= +wave_3_per_point17=ang = t1 * 2.1; +wave_3_per_point18=sang = sin(ang) ; cang = cos(ang); +wave_3_per_point19=xq = xp*sang + zp*cang; +wave_3_per_point20=yq = yp; +wave_3_per_point21=zq = xp*cang - zp*sang; +wave_3_per_point22=xp=xq;yp=yq;zp=zq; +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=zp = zp + 6.1; +wave_3_per_point26=x = xp/zp + 0.5; +wave_3_per_point27=y = yp/zp * 1.333 + 0.5; +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.500000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.700000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=0 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4= +per_frame_5=q1 = sin(time*3.3) * 0.5 + 0.5; +per_frame_6= +per_frame_7=vol = (bass+mid+treb)*0.2; +per_frame_8=vol= vol*vol; +per_frame_9= +per_frame_10=slow = min( bass*bass , 1 ); +per_frame_11=mtime = mtime+ vol*0.1*slow; +per_frame_12= +per_frame_13=q1 = min( vol, 1 ); +per_frame_14=q2 = mtime/3; +per_frame_15= +per_frame_16= +per_pixel_1= +per_pixel_2=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_3=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_4=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_5= +per_pixel_6= +per_pixel_7= +per_pixel_8=zoom = zoom - 0.02*tan(bass_att*6*(1-rad)); +per_pixel_9=rot = rot - 0.35*(above(x,0.45 + 0.75*sin(time*5*bass_att))*below(x,0.55 + 0.75*sin(time*5*bass_att))); +per_pixel_10=num = 8; +per_pixel_11=pi = 3.141592654; +per_pixel_12=radi = (y-.5)*.75; +per_pixel_13=radi = (y-.5); +per_pixel_14=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_15= +per_pixel_16=an = ang + pi + time; +per_pixel_17=an = an - pi*2*int(an/(pi*2)); +per_pixel_18= +per_pixel_19=mod = .1; +per_pixel_20= +per_pixel_21=seg = ang + pi; +per_pixel_22=seg = seg/(pi*2)*num; +per_pixel_23=seg = int(seg); +per_pixel_24=seg = seg - equal(seg,num); +per_pixel_25= +per_pixel_26=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_27=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_28=//anga = anga + pi/6; // num = 6 +per_pixel_29=anga = anga + pi/4; // num = 8 +per_pixel_30=//anga = anga + .85; // num = 10 +per_pixel_31= +per_pixel_32= +per_pixel_33=ox = .5 - radi*sin(anga); +per_pixel_34=oy = .5 + radi*cos(anga); +per_pixel_35= +per_pixel_36=//rot = if(equal(seg,0),rot,0); +per_pixel_37= +per_pixel_38=dx = equal(seg,3)*(x-ox); +per_pixel_39=dy = equal(seg,3)*(y-oy); +per_pixel_40= +per_pixel_41=dx = above(seg,0)*(x-ox); +per_pixel_42=dy = above(seg,0)*(y-oy); +per_pixel_43= +per_pixel_44=//dx = equal(seg,1)*(x - .5)*2; diff --git a/presets/presets_tryptonaut/Bdrv et AL Aderrasi - Accelerator (Orbital Migraine) bdvr xxx2_1 - mrt sth.milk b/presets/presets_tryptonaut/Bdrv et AL Aderrasi - Accelerator (Orbital Migraine) bdvr xxx2_1 - mrt sth.milk new file mode 100755 index 0000000000..3d91cdb317 --- /dev/null +++ b/presets/presets_tryptonaut/Bdrv et AL Aderrasi - Accelerator (Orbital Migraine) bdvr xxx2_1 - mrt sth.milk @@ -0,0 +1,371 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.220 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=11.202 +fWaveScale=0.976 +fWaveSmoothing=0.900 +fWaveParam=-0.500 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00034 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.160 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = .5 + (bass*.02)*sin(sample*2*(time*10)); +wave_0_per_point2=y = .5 + (bass*.02)*cos(sample*2*(time*10)); +wave_0_per_point3=r = 1 + .5*sin(sample*2+(time*10)); +wave_0_per_point4=g = 1 + .5*sin(sample*2+(time*50)); +wave_0_per_point5=b = 1 + .5*sin(sample*2+(time*20)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.54279 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = x + 0.362*cos(2.452*time); +shape_0_per_frame2=y = y + 0.352*sin(1.52*time); +shape_0_per_frame3=r = q3; +shape_0_per_frame4=b = q2; +shape_0_per_frame5=g = 1-abs(q1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.33004 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = x + 0.362*sin(2.452*time); +shape_1_per_frame2=y = y + 0.352*cos(1.52*time); +shape_1_per_frame3=x = x + 0.362*sin(0.1952*time); +shape_1_per_frame4=y = y + 0.352*cos(0.32*time); +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=r = 1-abs(q3); +shape_1_per_frame9=g = q1; +shape_1_per_frame10=b = 1-abs(q2); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.65 + 0.5*sin(time*1.13); +per_frame_2=wave_g = 0.65 + 0.5*sin(time*1.23); +per_frame_3=wave_b = 0.65 + 0.5*sin(time*1.33); +per_frame_4=q1 = wave_r; +per_frame_5=q2 = wave_g; +per_frame_6=q3 = wave_b; +per_frame_7= +per_frame_8= +per_frame_9=xy1 = x*above(sin(time),0)+y*below(sin(time),0); +per_frame_10=xy2 = x*below(sin(time),0)+y*above(sin(time),0); +per_frame_11=q1 = xy1; +per_frame_12=q2 = xy2; +per_frame_13= +per_frame_14=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_15=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_16=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_17=rg4 = abs(sin(0.4*time)); +per_frame_18=rg5 = 0*above(rg4,0.75) + 1*below(rg4,0.25) + 2*above(rg4,0.25)*below(rg4,0.5)+ +per_frame_19=3*below(rg4,0.75)*above(rg4,0.5); +per_frame_20=rg6 = if(equal(thresh,2),rg5,rg6); +per_frame_21= +per_frame_22=echo_orient = echo_orient + rg6; +per_frame_23= +per_frame_24=decay = min(0.995+abs(0.05*sin(time)),1); +per_frame_25=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_26=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_27=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_28=rg1 = abs(sin(0.76*time)); +per_frame_29=rg2 = 0*above(rg1,0.5) + 1*below(rg1,0.5); +per_frame_30=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_31=invert = 1; +per_frame_32=darken = 1-invert; +per_frame_33=echo_alpha = echo_alpha - 0.1*rg6; +per_frame_34=brighten = invert; +per_frame_35=//solarize = dx_r*50; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=zoom = zoom + abs(0.05*(3*(0.5-rad)*bass_att*4)); +per_pixel_7=zoom = zoom + if(above(bass_att,1.2),(0.06*sin(24*time)),0); +per_pixel_8= +per_pixel_9=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_10=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_11=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_12=tg1 = abs(sin(8*time)); +per_pixel_13=tg2 = 8*above(tg1,0.75) + 12*below(tg1,0.25) + 16*above(tg1,0.25)*below(tg1,0.5); +per_pixel_14=24*above(tg1,0.5)*below(tg1,0.75); +per_pixel_15=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_16= +per_pixel_17=zoom = zoom + abs(3*rad*dx_r); +per_pixel_18=dx = dx + dx_r*sin(sin(12+(tg3*y)))*(sin(3+(tg3*x))); +per_pixel_19=dy = dy + dy_r*sin(sin(12+(tg3*y)))*(sin(3+(tg3+x))); +per_pixel_20=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_21=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_22=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_23= +per_pixel_24= +per_pixel_25=tg1 = abs(sin(time)); +per_pixel_26=tg2 = 12*above(tg1,0.8) + 4*below(tg1,0.2) + +per_pixel_27=6*above(tg1,0.2)*below(tg1,0.4) + 8*above(tg1,0.4)*below(tg1,0.6) + +per_pixel_28=10*above(tg1,0.6)*below(tg1,0.8); +per_pixel_29=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_30=zoom = zoom + 0.6-(1.3*abs( 12*dx_r*cos(tg3*ang) - sin(14*dy_r*rad)*0.5-rad)); +per_pixel_31=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_32= +per_pixel_33=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_34=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_35=zoom = zoom + 0.01; +per_pixel_36=zoom = zoom + (0.05 + 0.04*sin(time))*(0.2*sin(ang*time)); +per_pixel_37=rot = rot + 0.01*(0.5*cos(ang*5*bass*time)); +per_pixel_38= +per_pixel_39=dx = dx + 0.1*above(rad,0.25)*dx_r; +per_pixel_40=dy = dy + 0.1*above(rad,0.25)*dy_r; +per_pixel_41=rot=0.1*pow(-ang,3)-1.18*sin(ang); +per_pixel_42=zoom=1.45*sin(-rad)+1.3+ sin(rad); +per_pixel_43=dx = dx + 0.09*sin(q8*0.785); +per_pixel_44=dy = dy + 0.09*sin(q8*0.675); +per_pixel_45=//zoom = zoom +q7; +per_pixel_46=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_47=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_48=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_49= +per_pixel_50=rot = rot + 0.00006*(0.1*(time))+(0.5*(0.5-rad))+rad; +per_pixel_51=rot = rot - 0.1*sqr(0.5*cos(ang*time)*bass_att); +per_pixel_52=zoom = zoom - 0.09*(sin(1-rad)*0.25*(0.25*(5-rad))); +per_pixel_53=zoom = zoom - 0.05*above(y,0.5)*sqr(0.5*sin(ang*time)*0.1*bass_att); +per_pixel_54=zoom = zoom - 0.05*below(y,0.5)*sqr(0.5*cos(ang*time)*0.1*treb_att); +per_pixel_55=du = (x*2-1) - q1; +per_pixel_56=dv = (y*2-1) - q2; +per_pixel_57=dist = sqrt(du*du+dv*dv); +per_pixel_58=ang2 = atan2(du,dv) + time*0.15; +per_pixel_59=mult = 0.65*sin(dist*0.05); +per_pixel_60=dx = mult*sin(ang2*2-1.5); +per_pixel_61=dy = mult*cos(ang2*2-1.5); +per_pixel_62=rot=0.1*pow(-ang,3)-1.18*sin(ang); +per_pixel_63=zoom=2*sin(-rad)+1.3+ sin(rad); +per_pixel_64=dx = dx + 0.09*sin(q8*0.785); +per_pixel_65=dy = dy + 0.09*sin(q8*0.675); +per_pixel_66=zoom = zoom +q7; +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`} +comp_1=`sampler sampler_rand00; +comp_2=`shader_body +comp_3=`{ +comp_4=`ret = tex2D(sampler_rand00, frac(1-GetBlur2(uv).yx*0.6 + time*float2(0.057,.036))) +comp_5=`*(1+GetPixel(uv).x + GetBlur1(uv).y)*0.4; +comp_6=` +comp_7=`} diff --git a/presets/presets_tryptonaut/Benjam & Zylot - Dust on the Lens (Light of the Ancient Ones mix).milk b/presets/presets_tryptonaut/Benjam & Zylot - Dust on the Lens (Light of the Ancient Ones mix).milk new file mode 100755 index 0000000000..f1ec7260d4 --- /dev/null +++ b/presets/presets_tryptonaut/Benjam & Zylot - Dust on the Lens (Light of the Ancient Ones mix).milk @@ -0,0 +1,286 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.722653 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.495609 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.126825 +fWarpScale=1.127003 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.545000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=bassc = 0; +wave_0_init2=bcount = 0; +wave_0_per_frame1=r=bass*.5; +wave_0_per_frame2=g=treb*.5; +wave_0_per_frame3=b=mid*.5; +wave_0_per_point1=x = .5+.2*sin(time*.7454); +wave_0_per_point2=x = x+(.0005-int(rand(10))*.001); +wave_0_per_point3=y = .5+.2*cos(time*.455); +wave_0_per_point4=y = y+(.0005-int(rand(10))*.01); +wave_0_per_point5= +wave_0_per_point6=bassc = if(above(bcount,0),1,0); +wave_0_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_0_per_point8=y = y - bcount; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=r=bass*.5; +wave_1_per_frame2=g=treb*.5; +wave_1_per_frame3=b=mid*.5; +wave_1_per_point1=x = .5+.2*sin(time*.7454); +wave_1_per_point2=x = x+(.0005-int(rand(10))*.008); +wave_1_per_point3=y = .5+.2*cos(time*.455); +wave_1_per_point4=y = y+(.0005-int(rand(10))*.001); +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=bassc = if(above(bcount,0),1,0); +wave_1_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_1_per_point9=x = x - bcount; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=r=bass*.5; +wave_2_per_frame2=g=treb*.5; +wave_2_per_frame3=b=mid*.5; +wave_2_per_point1=x = .5+.2*sin(time*.7454); +wave_2_per_point2=x = x+(.0005+int(rand(10))*.008); +wave_2_per_point3=y = .5+.2*cos(time*.455); +wave_2_per_point4=y = y+(.0005-int(rand(10))*.001); +wave_2_per_point5= +wave_2_per_point6=bassc = if(above(bcount,0),1,0); +wave_2_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_2_per_point8=x = x + bcount; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=bass*.5; +wave_3_per_frame2=g=treb*.5; +wave_3_per_frame3=b=mid*.5; +wave_3_per_point1=x = .5+.2*sin(time*.7454); +wave_3_per_point2=x = x+(.0005-int(rand(10))*.001); +wave_3_per_point3=y = .5+.2*cos(time*.455); +wave_3_per_point4=y = y-(.0005-int(rand(10))*.01); +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=bassc = if(above(bcount,0),1,0); +wave_3_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_3_per_point9=y = y + bcount; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.970999 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.291705 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.527755 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.408389 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = angc; +shape_1_per_frame2=angc = angc-treb*.01; +shape_1_per_frame3= +shape_1_per_frame4=x=.5 + .2*sin(angc); +shape_1_per_frame5=y=.5 + .2*sin(.98*angc); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=6.662000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.149491 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=ang = ang + angc; +shape_2_per_frame2=angc = angc + bass*.01; +shape_2_per_frame3=x = .5 + .045*sin(.234*time); +shape_2_per_frame4=y = .5 + .054*sin(.223*time); +shape_2_per_frame5= +shape_2_per_frame6=r2 = (rand100)*.01 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.180000 +shapecode_3_y=0.300000 +shapecode_3_rad=1.558400 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.197884 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5+.05*sin(.23*time + .2*treb_att); +shape_3_per_frame2=y = .5+.05*cos(.2*time + .2*bass); +shape_3_per_frame3= +shape_3_per_frame4=r = .5+sin(time); +shape_3_per_frame5=b = .5+sin(time*.556677); +shape_3_per_frame6=g = .5+sin(time*.353); +per_frame_init_1=bassc=0; +per_frame_init_2=midc=0; +per_frame_init_3=mcount=0; +per_frame_init_4=bcount=0; +per_frame_1=decay = .9; +per_frame_2=warp = 0; +per_frame_3= +per_frame_4=bassc = if(above(bass,bassc),bassc + bass*.07,bassc-.03); +per_frame_5=midc = if(above(mid,midc),midc + mid*.07,midc-.03); +per_frame_6= +per_frame_7=q1 = bassc; +per_frame_8=q2 = midc; +per_pixel_1=zoom = rad; +per_pixel_2=warp = sin(6.28*rad); diff --git a/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk b/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk new file mode 100755 index 0000000000..3379f828f5 --- /dev/null +++ b/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) - praise martin and flexi forever nz+ understarted.milk @@ -0,0 +1,567 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.22705 +fShader=1.000 +zoom=1.01000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.04575 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_1_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_1_per_frame3=vg = vol_avg*.1; +wave_1_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_1_per_point1=tm = q1; +wave_1_per_point2=sp = sample*6.28*8*6; +wave_1_per_point3= +wave_1_per_point4=vol = (value1+value2)*.5; +wave_1_per_point5=it = it*above(sample,0); +wave_1_per_point6=it = it + 1; +wave_1_per_point7=rad = .5 + vol + .02; +wave_1_per_point8=ra = rad*sin(sample*3.14); +wave_1_per_point9=ox = ra*sin(sp); +wave_1_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_1_per_point11=oz = ra*cos(sp); +wave_1_per_point12= +wave_1_per_point13=xang = tm*.132; +wave_1_per_point14=sxang = 0; +wave_1_per_point15=yang = tm*.153; +wave_1_per_point16=ayang = 0; +wave_1_per_point17=zang = tm*.110; +wave_1_per_point18=azang = 0; +wave_1_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_1_per_point20=fov = .5; +wave_1_per_point21= +wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point24=ox = mx; +wave_1_per_point25=oy = my; +wave_1_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point28=ox = mx; +wave_1_per_point29=oz = mz; +wave_1_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point32=oy = my; +wave_1_per_point33=oz = mz; +wave_1_per_point34= +wave_1_per_point35=oz = oz - 2; +wave_1_per_point36=x = ox*fov/oz + 0.5; +wave_1_per_point37=x = (x-.5)*0.75 + 0.5; +wave_1_per_point38=y = oy*fov/oz + 0.5; +wave_1_per_point39= +wave_1_per_point40=r = 1; +wave_1_per_point41=g = .25+.25*sin(sp); +wave_1_per_point42=b = 0; +wave_1_per_point43=a = .5 + (oz+2)*.5; +wave_1_per_point44=a = a*below(z,2); +wave_1_per_point45=minrgb = min(r,min(g,b)); +wave_1_per_point46=maxrgb = max(r,max(g,b)); +wave_1_per_point47=l = (maxrgb-minrgb)*.5; +wave_1_per_point48=diff = maxrgb-minrgb; +wave_1_per_point49=sum = maxrgb+minrgb; +wave_1_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_1_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_1_per_point52=h = h*0.1666666; +wave_1_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_1_per_point54= +wave_1_per_point55=h = h + time*0.05*1.324 + .1; +wave_1_per_point56=h = h - int(h); +wave_1_per_point57= +wave_1_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_1_per_point59=tmpa = 2*l - tmpb; +wave_1_per_point60=hvr = h + .333333; +wave_1_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_1_per_point62=hvg = h; +wave_1_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_1_per_point64=hvb = h - .333333; +wave_1_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_1_per_point66= +wave_1_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_1_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_1_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_point1=tm = q1; +wave_2_per_point2=sp = sample*6.28*8*6; +wave_2_per_point3= +wave_2_per_point4=vol = (value1+value2)*.5; +wave_2_per_point5=it = it*above(sample,0); +wave_2_per_point6=it = it + 1; +wave_2_per_point7=rad = .5 + vol + .01; +wave_2_per_point8=ra = rad*sin(sample*3.14); +wave_2_per_point9=ox = ra*sin(sp); +wave_2_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_2_per_point11=oz = ra*cos(sp); +wave_2_per_point12= +wave_2_per_point13=xang = tm*.132; +wave_2_per_point14=sxang = 0; +wave_2_per_point15=yang = tm*.153; +wave_2_per_point16=ayang = 0; +wave_2_per_point17=zang = tm*.110; +wave_2_per_point18=azang = 0; +wave_2_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_2_per_point20=fov = .5; +wave_2_per_point21= +wave_2_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point24=ox = mx; +wave_2_per_point25=oy = my; +wave_2_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point28=ox = mx; +wave_2_per_point29=oz = mz; +wave_2_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point32=oy = my; +wave_2_per_point33=oz = mz; +wave_2_per_point34= +wave_2_per_point35=oz = oz - 2; +wave_2_per_point36=x = ox*fov/oz + 0.5; +wave_2_per_point37=x = (x-.5)*0.75 + 0.5; +wave_2_per_point38=y = oy*fov/oz + 0.5; +wave_2_per_point39= +wave_2_per_point40=r = 1; +wave_2_per_point41=g = .25+.25*sin(sp); +wave_2_per_point42=b = 0; +wave_2_per_point43=a = .5 + (oz+2)*.5; +wave_2_per_point44=a = a*below(z,2); +wave_2_per_point45=minrgb = min(r,min(g,b)); +wave_2_per_point46=maxrgb = max(r,max(g,b)); +wave_2_per_point47=l = (maxrgb-minrgb)*.5; +wave_2_per_point48=diff = maxrgb-minrgb; +wave_2_per_point49=sum = maxrgb+minrgb; +wave_2_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_2_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_2_per_point52=h = h*0.1666666; +wave_2_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_2_per_point54= +wave_2_per_point55=h = h + time*0.05*1.324 + .05; +wave_2_per_point56=h = h - int(h); +wave_2_per_point57= +wave_2_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_2_per_point59=tmpa = 2*l - tmpb; +wave_2_per_point60=hvr = h + .333333; +wave_2_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_2_per_point62=hvg = h; +wave_2_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_2_per_point64=hvb = h - .333333; +wave_2_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_2_per_point66= +wave_2_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_2_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_2_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.44484 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99999 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=bd=above(bass+treb+mid,6)+bd*.975; +shape_0_per_frame2=sides=cos(time*.02+(bd*.1))*20+20; +shape_0_per_frame3=border_r=sin(time*.331+.3)*.5+.5; +shape_0_per_frame4=border_g=sin(time*.559+.3)*.5+.5; +shape_0_per_frame5=border_b=sin(time*.772+.4)*.5+.5; +shape_0_per_frame6= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.44484 +shapecode_1_ang=2.89026 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.22019 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=bd=above(bass+treb+mid,6)+bd*.975; +shape_1_per_frame2=sides=cos(time*.02+(bd*.1))*20+20; +shape_1_per_frame3=r=sin(time*.331)*.5+.5; +shape_1_per_frame4=g=sin(time*.559)*.5+.5; +shape_1_per_frame5=b=sin(time*.772)*.5+.5; +shape_1_per_frame6=border_r=r; +shape_1_per_frame7=border_g=g; +shape_1_per_frame8=border_b=b; +shape_1_per_frame9=rad=sin(time*.4)*.2+.5; +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.880 +shapecode_2_rad=1.97884 +shapecode_2_ang=0.62832 +shapecode_2_tex_ang=6.28319 +shapecode_2_tex_zoom=0.51341 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_ang=sin(time*.0001)*628+628; +shape_2_per_frame2=y=cos(time*.003)*.5+.5; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.89269 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.070 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=wave_r=wave_r+(0.6*sin(bass*2.500)+0.4*sin(time*0.70)); +per_frame_25=wave_b=wave_b+(0.6*sin(treb*2.500)+0.4*sin(time*0.89)); +per_frame_26=wave_g=wave_g+(0.6*sin(mid*2.500)+0.4*sin(time*0.74)); +per_frame_27=q1=rot+0.005*sin(time*0.5); +per_pixel_1=rot=q1*2*rad*pow(0&(4+2*sin(rad*20+time))*.1,6); +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float3 color, mus, neu, ret1, noise, noise2; +warp_3=`float2 uv1, rs0, rs, uv2, uv3, dz, hor, ver; +warp_4=`float dx,dy,speed; +warp_5=`shader_body { +warp_6=`speed = .3; +warp_7=`uv1 = uv-float2(0.5,q5); +warp_8=`float z = 1/(uv1.y); +warp_9=`rs0.x = (uv1.x)*z; +warp_10=`rs0.y = z; +warp_11=`rs.x = rs0.x *1; +warp_12=`rs.y = rs0.y + time*speed; +warp_13=` +warp_14=` +warp_15=`//Kacheln +warp_16=`noise = lum(tex2D(sampler_pw_noise_lq,rs/63 )); +warp_17=`noise *= lum(tex2D(sampler_pw_noise_lq,rs/12 ))+.5; +warp_18=`noise *= saturate(10*noise - 8) * saturate(2/z); +warp_19=`noise2 = saturate(8* (lum(tex2D(sampler_pw_noise_lq,uv))-.5)); +warp_20=` +warp_21=`speed *= 2; +warp_22=`float3 copy = + GetPixel(float2(uv.x,uv.y-.04*speed/z)); +warp_23=`copy +=GetPixel(float2(uv.x,uv.y-.02*speed/z)); +warp_24=`copy +=GetPixel(float2(uv.x,uv.y-.01*speed/z)); +warp_25=` +warp_26=`ret = noise*1 + copy/3*(1+slow_roam_cos)/2*.99-.005; +warp_27=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_28=` ((uv1.xyy*q27 +warp_29=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_30=` ).xyz* +warp_31=` float3(1,1,0)*0.05 + +warp_32=` time*float3(0,0,1)*q29 +warp_33=` ); +warp_34=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_35=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_36=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_37=` +warp_38=` +warp_39=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` +comp_6=`float2 uva = uv; +comp_7=`float2 uvb = float2(1-uv.x,uv.y); +comp_8=` +comp_9=`ret = tex2D(sampler_main, uva).x + tex2D(sampler_main, uvb).x; +comp_10=` +comp_11=`float3 blurs = GetBlur1(uva).x + GetBlur3(uva).x; +comp_12=`blurs += GetBlur1(uvb).x + GetBlur3(uvb).x; +comp_13=` +comp_14=` +comp_15=`float2 uv3 = (uv-.5)*(1-GetBlur1(uv).zzz)+.5; +comp_16=`ret += saturate(pow(tex2D(sampler_main, uv3).zzz,.5)*(1-ret.x*2)), +comp_17=`ret += saturate(pow(GetBlur1(uv3).zzz,.5)*(1-ret.x*2)), +comp_18=` +comp_19=` +comp_20=`ret = lerp ( +comp_21=`blurs, +comp_22=`ret, +comp_23=`pow(ret,1)); +comp_24=` +comp_25=`ret = pow(ret,float3(5,1,.5)); +comp_26=` +comp_27=`ret += pow(tex2D(sampler_main, float2(uv.x,1-uv.y)).yyy+tex2D(sampler_main, 1-uv).yyy,float3(.6,.95,5)); +comp_28=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_29=` ((uv3.xyy*q28 +comp_30=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_31=` ).xyz* +comp_32=` float3(1,1,0)*0.05 + +comp_33=` time*float3(0,0,1)*q31 +comp_34=` ); +comp_35=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_36=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_37=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_38=` +comp_39=`ret-=slow_roam_sin*roam_cos.zxy*.5; +comp_40=` +comp_41=`} diff --git a/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) flx mrt - maybe go to the beach - drizzle'.milk b/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) flx mrt - maybe go to the beach - drizzle'.milk new file mode 100755 index 0000000000..6c5e8ce7e5 --- /dev/null +++ b/presets/presets_tryptonaut/Benjam and Zylot - Tie-Dye Supernova (Sunspots Mix) flx mrt - maybe go to the beach - drizzle'.milk @@ -0,0 +1,360 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.088 +fWaveScale=15.000 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.900 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.015 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=23.520 +nMotionVectorsY=17.832 +mv_dx=0.006 +mv_dy=0.040 +mv_l=0.000 +mv_r=0.830 +mv_g=0.590 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03333 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x = int(rand(100))*.01; +shape_0_per_frame2=y = int(rand(100))*.01; +shape_0_per_frame3= +shape_0_per_frame4=a = if(above(frame%7,0),0,1); +shape_0_per_frame5=a2 = if(above(frame%7,0),0,1); +shape_0_per_frame6=border_a = 0; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4=rainbow_speed=0.2;//bass_att*0.15; +per_frame_5=monitor=rainbow_speed; +per_frame_6= +per_frame_7=//Thanks to Zylot for rainbow generator +per_frame_8=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+rainbow_speed),1); +per_frame_9=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+rainbow_speed),1); +per_frame_10=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_11=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_12=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_13=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_14=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_15=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_16=ib_bass=min(bass_att*1+0.2 , 1); +per_frame_17=ib_r=ib_r*ib_bass; +per_frame_18=ib_g=ib_g*ib_bass; +per_frame_19=ib_b=ib_b*ib_bass; +per_frame_20=gamma=1+min(bass,1)*0.3; +per_frame_21= +per_frame_22= +per_frame_23=ob_r=ib_r-0.5; +per_frame_24=ob_g=ib_g-0.5; +per_frame_25=ob_b=ib_b-0.5; +per_frame_26=q1=ib_r; +per_frame_27=q2=ib_g; +per_frame_28=q3=ib_b; +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32=decay = 0.99; +per_frame_33= +per_frame_34= +per_frame_35=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_36=//solarize=above(0.5,bass); +per_frame_37=//darken=above(0.4,treb); +per_frame_38= +per_frame_39=musictime=musictime+(bass*bass)*0.003; +per_frame_40=basstime=basstime+(bass*bass)*0.03; +per_frame_41= +per_frame_42= +per_frame_43=xpos=sin(musictime*0.6)*0.2; +per_frame_44=ypos=sin(musictime*0.4)*0.2; +per_frame_45=q4=xpos; +per_frame_46=q5=ypos; +per_frame_47=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13=dx=dx+0.003*sin((y*2-1)*64)+0.001*sin((y*2-1)*96); +per_pixel_14=dy=dy+0.004*cos((x*2-1)*64)+0.002*cos((x*2-1)*96); +per_pixel_15=ak=-sin(6*rad+((q1%5)*3)%5*ang+q1)*(1-rad+.2*sin(.54*q1))*above(rad,0); +per_pixel_16=block=if(below(ak,-.15),ak,0); +per_pixel_17=dx=dx+0.005*sin((y*2-1)*48)+0.001*tan((y*2-1)*64)+0.000*tan((ang-3.1415)*8); +per_pixel_18=dy =dy+0.005*sin((x*2-1)*48)+0.001*tan((x*2-1)*64)+0.000*tan((ang-3.1415)*6); +per_pixel_19=//dx=dx+0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64); +per_pixel_20=//dy=dy+0.008*cos((y-0.5)*64); +per_pixel_21=dx=if(block,dx,0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64)); +per_pixel_22=dy=if(block,dy,0.008*cos((y-0.5)*64)); +per_pixel_23= +per_pixel_24=zoom = if(block,1,0.97); +per_pixel_25=dx = sin((1000+sin(q8))/x)/200; +per_pixel_26=dy = cos((1000+sin(q8))/y)/200; +per_pixel_27= +per_pixel_28= +per_pixel_29=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_30=cx=0.5+q4; +per_pixel_31=cy=0.5-q5; +per_pixel_32= +per_pixel_33=zoom=(rd*rd)*2; +per_pixel_34= +per_pixel_35=//adjust x,y values based on musictime +per_pixel_36=nx=(x-0.5-q4)*2; +per_pixel_37=ny=(y-0.5+q5)*1.5; +per_pixel_38=//radians based on adjusted x,y +per_pixel_39=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_40= +per_pixel_41=//ang based on adjusted x,y +per_pixel_42=ag=atan( ny/nx ); +per_pixel_43= +per_pixel_44=zm=(1.1-(rd/4)); +per_pixel_45=//zm=1; +per_pixel_46= +per_pixel_47=shapechange=tan(q6*0.2)*2+2; +per_pixel_48= +per_pixel_49=star=(sin(ag*(2+shapechange)+q6)*(1-rd)*0.5 + 0.5)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.001; +per_pixel_50=star=min(star,8);star=max(star,-8); +per_pixel_51=star=star*star*3 -0.4; +per_pixel_52=zm=zm+star*0.1; +per_pixel_53=sx=zm; +per_pixel_54=sy=zm; +per_pixel_55=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*6) +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float3 txr = float3(uv,q1*0.1); +warp_5=` float2 uv2 = uv; +warp_6=` uv2 = uv + texsize.zx*(q3,q3); +warp_7=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_8=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_9=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_10=` uv += color*0.01; +warp_11=` //uv.y += abs(color*0.01) + bass_att*0.01; +warp_12=` +warp_13=` float2x2 rot = { cos(q9), sin(q9), +warp_14=` -sin(q9), cos(q9) }; +warp_15=` +warp_16=` +warp_17=` ret = tex2D( sampler_main, mul(((uv-0.5)*(0.97 + rad*0.02)),rot) + 0.5 +warp_18=` + GetBlur1((uv - 0.5)*0.9 + 0.5)*(uv.y*0.1) - 0.01).xyz; +warp_19=` ret = ret-0.001;// - 0.08; //or try: ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 crisp = tex2D(sampler_main,uv); +comp_5=`float3 blur = GetBlur1(uv - 0.01*crisp); +comp_6=` +comp_7=`float3 ret1 = crisp + saturate(3* (blur-float3(0.1,.1,.2))); +comp_8=` +comp_9=`ret = ret1*1.3; +comp_10=`} diff --git a/presets/presets_tryptonaut/Benski - Atom Smasher.milk b/presets/presets_tryptonaut/Benski - Atom Smasher.milk new file mode 100755 index 0000000000..ea56b97ea3 --- /dev/null +++ b/presets/presets_tryptonaut/Benski - Atom Smasher.milk @@ -0,0 +1,417 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.002 +fWaveSmoothing=0.261 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99984 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=4.586 +nMotionVectorsY=3.234 +mv_dx=0.122 +mv_dy=0.156 +mv_l=0.212 +mv_r=0.456 +mv_g=0.482 +mv_b=0.329 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.62500 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ax=cos(100*sample+43.35+sin(231.54*sample+.543)); +wave_0_per_point2=ay=sin(431*sample+2.34+cos(443.54*sample+4.23)); +wave_0_per_point3=az=sin(546*sample+74.24+sin(524.54*sample+23.987))+2*(q4+.2*time-int(q4+.2*time)); +wave_0_per_point4=az=if(above(az,1),az-2,az); +wave_0_per_point5= +wave_0_per_point6=fx = .5+.5*ax/(1-az); +wave_0_per_point7=fy = .5+.5*ay/(1-az); +wave_0_per_point8= +wave_0_per_point9=x=fx; +wave_0_per_point10=y=fy; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r=1-.5*rand(100)/100; +wave_0_per_point14=g=1-.5*rand(100)/100; +wave_0_per_point15=b=1-.5*rand(100)/100; +wave_0_per_point16= +wave_0_per_point17=a=pow((az+1)/2,3); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw1=below(sample,.5); +wave_1_per_point2=sample=2*(sw1*sample+(1-sw1)*(sample-.5)); +wave_1_per_point3= +wave_1_per_point4=ax = 1-3.58*sample*sw1; +wave_1_per_point5=ay = 0;//2*sin(sample*6.2831); +wave_1_per_point6=az = 0; +wave_1_per_point7= +wave_1_per_point8=bx = ax; +wave_1_per_point9=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point10=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point11= +wave_1_per_point12=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point13=ay = by; +wave_1_per_point14=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point15= +wave_1_per_point16=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point17=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point18=bz = az; +wave_1_per_point19= +wave_1_per_point20=vx=bx; vy=by; vz=bz; +wave_1_per_point21= +wave_1_per_point22=x=vx/abs(vz-10)+.5; +wave_1_per_point23=y=vy/abs(vz-10)+.5; +wave_1_per_point24= +wave_1_per_point25=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_1_per_point26=as=1; +wave_1_per_point27=a=1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=t=1; +wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point4=ay = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point5=az = 0; +wave_2_per_point6= +wave_2_per_point7=bx = ax; +wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point10= +wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point12=ay = by; +wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point14= +wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point17=bz = az; +wave_2_per_point18= +wave_2_per_point19=vx=bx; vy=by; vz=bz; +wave_2_per_point20= +wave_2_per_point21=x=vx/abs(vz-10)+.5; +wave_2_per_point22=y=vy/abs(vz-10)+.5; +wave_2_per_point23= +wave_2_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_2_per_point25=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.500 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=t=1; +wave_3_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point4=ay = 0; +wave_3_per_point5=az = 1.38*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point6= +wave_3_per_point7=bx = ax; +wave_3_per_point8=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point9=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point10= +wave_3_per_point11=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point12=ay = by; +wave_3_per_point13=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point14= +wave_3_per_point15=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point16=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point17=bz = az; +wave_3_per_point18= +wave_3_per_point19=vx=bx; vy=by; vz=bz; +wave_3_per_point20= +wave_3_per_point21=x=vx/abs(vz-10)+.5; +wave_3_per_point22=y=vy/abs(vz-10)+.5; +wave_3_per_point23= +wave_3_per_point24=as=pow(sqrt(sqr(x-.5)+sqr(y-.5))*4,4); +wave_3_per_point25=a=t*(.07*(1-as)+as); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.39872 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.800 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=//a=below(vz,0); +shape_0_per_frame21=x=.5; +shape_0_per_frame22=y=.5; +shape_0_per_frame23=rad=.1; +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.29868 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.69115 +shapecode_1_tex_zoom=1.50092 +shapecode_1_r=0.200 +shapecode_1_g=0.100 +shapecode_1_b=1.000 +shapecode_1_a=0.000 +shapecode_1_r2=0.040 +shapecode_1_g2=0.050 +shapecode_1_b2=0.400 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.54304 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.57070 +shapecode_2_tex_zoom=1.50099 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.600 +shapecode_2_a=0.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r=abs(cos(time*3.243+.434+sin(time*1.23+4.324))); +shape_2_per_frame2=g=abs(cos(time*2.03+1.546+cos(time*3.01+1.98))); +shape_2_per_frame3=b=.75*abs(sin(time*2.54+.65+sin(time*3.77+8))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.11490 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=0.700 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.800 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.9+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*1.15+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.75; //or try: ret -= 0.004; +warp_13=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=`{ +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y))); +comp_10=` ret += GetBlur1(1-uv)*2; +comp_11=`ret += GetBlur3(-uv)*0.5; +comp_12=` ret *= 1.00; //old gamma effect +comp_13=` +comp_14=`} diff --git a/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk b/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk new file mode 100755 index 0000000000..0e0016ce39 --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=5.277897 +fWaveSmoothing=0.000000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=-0.240000 +cx=0.650000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.887449 +sy=1.051010 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=warp/bass; +per_frame_2=x_wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_3=wave_r = 1 + sin(-x_wave_x*6.28); +per_frame_4=wave_g = abs(sin(2*x_wave_x*6.28)); +per_frame_5=wave_b = sin(x_wave_x*6.28); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual/1.5; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_frame_14=q1=net_effect; +per_frame_15=q2=bass_thresh; +per_pixel_1=rot = rot + if(equal(tan(ang), q1), rot, tan(q1-rad)/q2); diff --git a/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk b/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk new file mode 100755 index 0000000000..20511f507f --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.599180 +fWaveSmoothing=0.750000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.844378 +sy=1.061520 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=x_wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_3=wave_r = 1 + sin(-x_wave_x*6.28); +per_frame_4=wave_g = abs(sin(2*x_wave_x*6.28)); +per_frame_5=wave_b = sin(x_wave_x*6.28); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect*1.027; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 1), rot, sin(1-rad)/sqr(bass_att*1.5)); diff --git a/presets/presets_tryptonaut/Bmelgren & Unchained - Effort (Remix) - the city of glass that i live in, the coldness from my brother's skin nz+.milk b/presets/presets_tryptonaut/Bmelgren & Unchained - Effort (Remix) - the city of glass that i live in, the coldness from my brother's skin nz+.milk new file mode 100755 index 0000000000..cd27702b0b --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren & Unchained - Effort (Remix) - the city of glass that i live in, the coldness from my brother's skin nz+.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.999 +fVideoEchoZoom=1.028 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=1.118 +fWaveSmoothing=0.000 +fWaveParam=-1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.10892 +fShader=1.000 +zoom=0.75070 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=2.70480 +sx=0.97900 +sy=0.99990 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=5.000 +nMotionVectorsY=5.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//martin no religion / my omniversal absence for changing the background light +per_frame_2=vb = vb*0.95 + (1-vb)*pow(abs(bass-bass_att),2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(abs(mid-mid_att),2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(abs(treb-treb_att),2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=runbass=runbass+vvb; +per_frame_12=runmids=runmids+vvm ; +per_frame_13=runtreb=runtreb+vvt; +per_frame_14=pi23=4*asin(-1)*.33333333333333; +per_frame_15=atime=(runtreb+runmids+runbass)*1.85; +per_frame_16=q8= (sin(atime-0*pi23)+1)*.4; +per_frame_17=q9= (sin(atime-1*pi23)+1)*.4; +per_frame_18=q10=(sin(atime-2*pi23)+1)*.4; +per_frame_19=q1 = (vvt+vvm+vvb)*100; +per_frame_20=q2 = (vvt+vvm+vvb)*100; +per_frame_21=q3 = (vvt+vvm+vvb)*100; +per_frame_22=q4 =(vvt+vvm+vvb)*100; +per_frame_23=q5 =(vvt+vvm+vvb)*100; +per_frame_24=q6 =(vvt+vvm+vvb)*100; +per_frame_25=q4 =(vvt+vvm+vvb)*100; +per_frame_26=q5 =(vvt+vvm+vvb)*100; +per_frame_27=q6 =(vvt+vvm+vvb)*100; +per_frame_28=q7 =(vvt+vvm+vvb)*100; +per_frame_29=q11=(vvt+vvm+vvb)*100; +per_frame_30=q12=(vvt+vvm+vvb)*100; +per_frame_31=q13=(vvt+vvm+vvb)*100; +per_frame_32=q14=(vvt+vvm+vvb)*100; +per_frame_33=q15=(vvt+vvm+vvb)*100; +per_frame_34=q16=(vvt+vvm+vvb)*100; +per_frame_35=q17=(vvt+vvm+vvb)*100; +per_frame_36=q18=(vvt+vvm+vvb)*100; +per_frame_37=q19=(vvt+vvm+vvb)*100; +per_frame_38=q20=(vvt+vvm+vvb)*100; +per_frame_39=q21=(vvt+vvm+vvb)*100; +per_frame_40=q22=(vvt+vvm+vvb)*100; +per_frame_41=q23=(vvt+vvm+vvb)*100; +per_frame_42=q24=(vvt+vvm+vvb)*100; +per_frame_43=q25=(vvt+vvm+vvb)*100; +per_frame_44=q26=(vvt+vvm+vvb)*100; +per_frame_45=q27=(vvt+vvm+vvb)*100; +per_frame_46=q28=(vvt+vvm+vvb)*100; +per_frame_47=q29=(vvt+vvm+vvb)*100; +per_frame_48=q30=(vvt+vvm+vvb)*100; +per_frame_49=q31=(vvt+vvm+vvb)*100; +per_frame_50=q32=(vvt+vvm+vvb)*100; +per_frame_51= +per_frame_52=warp = 0; +per_frame_53=wave_r = wave_r - 0.6*sin(time); +per_frame_54=wave_b = 0.2 + abs(cos(time)/4); +per_frame_55=wave_r = wave_r + atan(2*time)/6; +per_frame_56=wave_mystery = -sin(time); +per_frame_57=rot = 0 +abs(sin(time)/(bass*20))-bass/50 * if(above(treb_att,1),2,-4); +per_frame_58=chng=sin(time*.5); +per_frame_59=cthr=.9999; +per_frame_60=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_61=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_62=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_63=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_64=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_65=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_66=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_67=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_68=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_69=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_70=monitor=chng; +per_frame_71=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_72=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_73= +per_frame_74=monitor=mq1; +per_frame_75=vol=bass+treb+mid; +per_frame_76=atime=atime+vol; +per_frame_77=q11=.4+sin(atime*.006 )*.4; +per_frame_78=q12=.4+cos(atime*.00613828348)*.4; +per_frame_79=q13=.4+sin(atime*.00598593455)*.4; +per_frame_80=monitor=q13; +per_frame_81= +per_pixel_1=zoom = zoom + atan(atan(rad)*3*rad/2)+if(above(bass_att,1),-.1,.3*acos(x*2-1)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_13=` ((uv2.xyy*q27 +warp_14=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_15=` ).xyz* +warp_16=` float3(1,1,0)*0.05 + +warp_17=` time*float3(0,0,1)*q29 +warp_18=` ); +warp_19=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_20=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_21=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_22=` // darken over time +warp_23=` ret -= 0.004; +warp_24=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=` +comp_8=`float dist = 1; +comp_9=`float inten = 1; +comp_10=`ret1 = 0; +comp_11=`int anz = 4; +comp_12=`int n = 1; +comp_13=`while (n <= anz) { +comp_14=` ang2 = n/anz; +comp_15=` c = (ang2); +comp_16=` s = 1-(ang2); +comp_17=` uv2.x = uv.x*c - uv.y*s; +comp_18=` uv2.y = uv.x*s + uv.y*c; +comp_19=` uv2 *= aspect.yx; +comp_20=`uv2 *=2; +comp_21=`float2 m = floor(frac(uv2*0.5)*2); +comp_22=`uv2 = frac(uv2)*(1-m) + (m)*frac(1-uv2); +comp_23=`uv*=q8*1.5; +comp_24=` dist = 1-frac(.25*n+q29); //evtl sqrt ! +comp_25=` inten = pow(dist,.5)*(1-dist*dist)*2; +comp_26=` float2 uv3 = frac(3*uv2*dist + .5 + q31);; +comp_27=`uv3 *=2; +comp_28=`m = floor(frac(uv3*0.5)*2); +comp_29=`uv3 = frac(uv3)*(1-m) + (m)*frac(1-uv3); +comp_30=`uv3*=q9*1.5; +comp_31=` +comp_32=` neu = GetPixel (uv3) + 2*GetBlur1(uv3); +comp_33=` +comp_34=` ret1 = max(ret1*.9,neu*inten); +comp_35=`n++; +comp_36=`} +comp_37=` +comp_38=`ret = .5*ret1 + 0.5*float3(0,0,.3)*(.5+uv.y) ; +comp_39=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_40=` ((uv2.xyy*q28 +comp_41=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_42=` ).xyz* +comp_43=` float3(1,1,0)*0.05 + +comp_44=` time*float3(0,0,1)*q31 +comp_45=` ); +comp_46=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_47=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_48=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_49=`} diff --git a/presets/presets_tryptonaut/Bmelgren - Godhead.milk b/presets/presets_tryptonaut/Bmelgren - Godhead.milk new file mode 100755 index 0000000000..7bae5465ae --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren - Godhead.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.975000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285749 +fWaveSmoothing=0.900000 +fWaveParam=0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.380217 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = bass-1; +per_frame_2=wave_g = mid-1.2; +per_frame_3=wave_b = treb-.5; +per_pixel_1=rot=0.1*pow(ang,3); +per_pixel_2=zoom=sin(pow(rad,mid))+.8; diff --git a/presets/presets_tryptonaut/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk b/presets/presets_tryptonaut/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk new file mode 100755 index 0000000000..6f1256145b --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk @@ -0,0 +1,63 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=3.007504 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.880224 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.074097 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; +per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; +per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; +per_frame_5=rot = .4*sin(mid_att*.05); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); diff --git a/presets/presets_tryptonaut/Bmelgren - Take This Highway.milk b/presets/presets_tryptonaut/Bmelgren - Take This Highway.milk new file mode 100755 index 0000000000..3f75694a4a --- /dev/null +++ b/presets/presets_tryptonaut/Bmelgren - Take This Highway.milk @@ -0,0 +1,66 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850142 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.380217 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ff = 0.01*frame; +per_frame_2=wave_r = 0.5*sin(5*ff/bass)+0.5; +per_frame_3=wave_g = 0.5*cos(ff/mid)+0.5; +per_frame_4=wave_b = 0.5*cos(3*ff/treb)+0.5; +per_pixel_1=rot=0.1*pow(ang,3); +per_pixel_2=zoom=sin(pow(rad,3))+(.6*mid_att); diff --git a/presets/presets_tryptonaut/BrainStain- boiling-mix2(redi jedi full carb mix).milk b/presets/presets_tryptonaut/BrainStain- boiling-mix2(redi jedi full carb mix).milk new file mode 100755 index 0000000000..e6ae735cc2 --- /dev/null +++ b/presets/presets_tryptonaut/BrainStain- boiling-mix2(redi jedi full carb mix).milk @@ -0,0 +1,304 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=2.169307 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.200000 +fWaveSmoothing=0.000000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.320000 +dy=0.280000 +warp=0.000000 +sx=0.610000 +sy=0.644000 +wave_r=0.300000 +wave_g=0.100000 +wave_b=0.300000 +wave_x=0.680000 +wave_y=0.780000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.050000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.500000 +ib_a=0.500000 +nMotionVectorsX=27.639999 +nMotionVectorsY=20.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.920000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.000000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.500010 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=0.300000 +wavecode_2_b=0.500000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.000000 +shapecode_0_ang=5.215000 +shapecode_0_tex_ang=2.011000 +shapecode_0_tex_zoom=0.360000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=ang+q1; +shape_0_per_frame2=tex_capture=1-equal((q3+8)%16,0); +shapecode_1_enabled=1 +shapecode_1_sides=99 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.401076 +shapecode_1_ang=1.759000 +shapecode_1_tex_ang=0.377000 +shapecode_1_tex_zoom=0.788000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=ang+q2; +shape_1_per_frame2=tex_capture=1-equal(q3%16,0); +shapecode_2_enabled=0 +shapecode_2_sides=99 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_tex_capture=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.000000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.190000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_tex_capture=1 +shapecode_3_x=0.150000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.000000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=db=.001; +per_frame_init_2=dt=.001; +per_frame_init_3=avgdb=bass-bass_att; +per_frame_init_4=avgdt=treb-treb_att; +per_frame_init_5=lbass=0; +per_frame_init_6=ltreb=0; +per_frame_init_7= +per_frame_init_8=avgbbeatrate=.5; +per_frame_init_9=beatb=0; +per_frame_init_10=beatb2=0; +per_frame_init_11=lbbtime2=time; +per_frame_init_12=rawbeatb=0; +per_frame_init_13=lbbtime=time; +per_frame_init_14=avgdb=.01; +per_frame_init_15=vol=0; +per_frame_init_16=avgvol=1; +per_frame_init_17=ph=0; +per_frame_init_18=phase=0; +per_frame_init_19=bool=0; +per_frame_init_20=const=.01; +per_frame_init_21=mtime=100+bass_att*1000; +per_frame_init_22=mtime2=100+treb_att*1000; +per_frame_init_23=mtime4=1000+treb*1000; +per_frame_init_24=mtime3=1000+bass*1000; +per_frame_1= +per_frame_2= +per_frame_3=db=(bass-lbass)*fps; +per_frame_4=dt=(treb-ltreb)*fps; +per_frame_5= +per_frame_6=ltreb=treb; +per_frame_7=lbass=bass; +per_frame_8= +per_frame_9=avgdb=avgdb*.9+abs(db)*.1; +per_frame_10=avgdt=avgdt*.9+abs(dt)*.1; +per_frame_11= +per_frame_12=//beatdection +per_frame_13=rawbeatb=above(abs(db),avgdt); +per_frame_14=beatb=rawbeatb*above(time-lbbtime,avgbbeatrate*.75); +per_frame_15=beatb2=beatb*above(abs(dt),avgdb); +per_frame_16=beatbhard=beatb2*(abs(db)-avgdb*3); +per_frame_17= +per_frame_18=//beatrate calc +per_frame_19=//avgbbeatrate=beatb2*(avgbbeatrate*.9+(time-lbbtime2)*.1)+(1-beatb2)*(avgbbeatrate+(3-avgbbeatrate)*.001); +per_frame_20=avgbbeatrate=beatb*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beatb)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_21= +per_frame_22=lbbtime2=time*beatb2+(1-beatb2)*lbbtime2; +per_frame_23=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_24= +per_frame_25=ph=(time-lbbtime2)*(60/avgbbeatrate)*const; +per_frame_26=phase=max(min( ph, 1 ),0); +per_frame_27=const=const*(1-beatb2)+beatb2*( const+ (.001*bool) ); +per_frame_28=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32=bc=bc+beatb+beatb2; +per_frame_33= +per_frame_34=vol=(rawbeatb*abs(db)*.001); +per_frame_35=avgvol=avgvol*.999+vol*.01; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=mtime=mtime+(min(avgdt*.01,.25)-beatbhard*.01*dt)*(1/fps); +per_frame_40=mtime2=mtime2+(min(avgdb*.01,.25)+beatbhard*.01*db)*(1/fps); +per_frame_41=mtime3=mtime3+avgvol*abs(db)*q4*.0001*(1/fps); +per_frame_42=mtime4=mtime4+avgvol*abs(dt)*q4*.0001*(1/fps); +per_frame_43= +per_frame_44=q3=bc; +per_frame_45=q4=60/avgbbeatrate; +per_frame_46= +per_frame_47=q5=mtime; +per_frame_48=q6=mtime2; +per_frame_49=q7=mtime3; +per_frame_50=q8=mtime4; +per_frame_51= +per_frame_52= +per_frame_53= +per_frame_54=//wave_x = wave_x + 1.000*( 0.1*sin(0.1*mtime4) + 0.00*sin(1.621*time) ); +per_frame_55=//wave_y = wave_y + 1.000*( 0.1*sin(.1*mtime3) + 0.00*sin(2.322*time) ); +per_frame_56=wave_r = wave_r + 0.500*( 0.50*sin(0.0500*(q7-q5)*q4) + 0.40*sin(0.916*time) ); +per_frame_57=wave_g = wave_g + 0.500*( 0.50*sin(0.0500*(q6-q8)*q4) + 0.40*sin(1.023*time) ); +per_frame_58=wave_b = wave_b + 0.500*( 0.50*sin(0.0500*(q5-q7)*q4) + 0.40*sin(0.949*time) ); +per_frame_59=//rot = rot + 0.1*sin(q8); +per_frame_60=decay = decay - 0.00*equal(frame%30,0); +per_frame_61=//zoom = zoom + 0.013*( 0.60*sin(0.339*q5) + 0.40*sin(0.276*q6) ); +per_frame_62=//zoom=zoom+avgdb*.01; +per_frame_63= +per_frame_64=q1=sin(mtime3)*10; +per_frame_65=q2=sin(mtime2)*10; diff --git a/presets/presets_tryptonaut/BrainStain-Blackwidow.milk b/presets/presets_tryptonaut/BrainStain-Blackwidow.milk new file mode 100755 index 0000000000..bfa0844041 --- /dev/null +++ b/presets/presets_tryptonaut/BrainStain-Blackwidow.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.030000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=0.550000 +fWarpScale=100.000000 +fZoomExponent=1.338000 +fShader=0.000000 +zoom=1.030000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=27.640000 +nMotionVectorsY=20.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_8 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_ +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.080000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.070000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.300010 +wavecode_1_g=0.300000 +wavecode_1_b=0.300000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.070000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.300000 +wavecode_2_b=0.300000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=99 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.700000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.970000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.970000 +shapecode_1_r=1.000000 +shapecode_1_g=0.900000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.900000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame1= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.700000 +shapecode_2_ang=0.188000 +shapecode_2_tex_ang=0.817000 +shapecode_2_tex_zoom=1.114000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.970000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.970000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.060000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.733000 +shapecode_3_ang=1.319000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=80.340000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.970000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.970000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.900000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(2.121*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(1.742*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.010*sin(time+0.010); +per_frame_7=decay = decay - 0.00*equal(frame%30,0); +per_frame_8=zoom=zoom+(bass_att-1)*0.1; +per_frame_9=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); diff --git a/presets/presets_tryptonaut/BrainStain-projection room - mash0000 - locustration.milk b/presets/presets_tryptonaut/BrainStain-projection room - mash0000 - locustration.milk new file mode 100755 index 0000000000..7b1fdd7622 --- /dev/null +++ b/presets/presets_tryptonaut/BrainStain-projection room - mash0000 - locustration.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=0.030 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.900 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.550 +fWarpScale=100.000 +fZoomExponent=1.33800 +fShader=0.000 +zoom=1.03000 +rot=0.00000 +cx=0.000 +cy=0.000 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=27.640 +nMotionVectorsY=20.800 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=1.000 +mv_g=0.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=60 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.08000 +wavecode_0_smoothing=0.40000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.970 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.07000 +wavecode_1_smoothing=0.65000 +wavecode_1_r=0.300 +wavecode_1_g=0.300 +wavecode_1_b=0.300 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.07000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.300 +wavecode_2_g=0.300 +wavecode_2_b=0.300 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=99 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.630 +shapecode_0_rad=1.30000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.76300 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.970 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.550 +shapecode_1_rad=0.22500 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.970 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.850 +shapecode_2_y=0.000 +shapecode_2_rad=1.30000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=2.06800 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.970 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.970 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.020 +shapecode_3_y=0.500 +shapecode_3_rad=0.73300 +shapecode_3_ang=1.31900 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=100.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.970 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.970 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(2.121*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(1.742*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.010*sin(time+0.010); +per_frame_7=decay = decay - 0.00*equal(frame%30,0); +per_frame_8=zoom=zoom+(bass_att-1)*0.1; +per_frame_9=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} diff --git a/presets/presets_tryptonaut/BrainStain-re entry.milk b/presets/presets_tryptonaut/BrainStain-re entry.milk new file mode 100755 index 0000000000..257286521e --- /dev/null +++ b/presets/presets_tryptonaut/BrainStain-re entry.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.420000 +fDecay=0.500000 +fVideoEchoZoom=0.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.030000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.900000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=0.900000 +fWarpScale=1.000000 +fZoomExponent=0.389000 +fShader=0.000000 +zoom=0.200000 +rot=1.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=27.640000 +nMotionVectorsY=20.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_8 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=30 +wavecode_0_ +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.080000 +wavecode_0_smoothing=0.600000 +wavecode_0_r=0.500000 +wavecode_0_g=0.100000 +wavecode_0_b=0.000010 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.070000 +wavecode_1_smoothing=0.650000 +wavecode_1_r=0.300010 +wavecode_1_g=0.300000 +wavecode_1_b=0.300000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=30 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.070000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.300000 +wavecode_2_b=0.300000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=60 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=99 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.674000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=99 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.640000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.126000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame1= +shapecode_2_enabled=1 +shapecode_2_sides=99 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.000000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.630000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.750000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.619000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.570000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.900000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +per_frame_1=wave_x = wave_x + 0.000*( 0.00*sin(2.121*time) + 0.00*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.000*( 0.00*sin(1.742*time) + 0.00*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.50*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.50*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.50*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.000*sin(time+0.000); +per_frame_7=decay = decay - 0.00*equal(frame%30,0); +per_frame_8=zoom=zoom+(bass_att-1)*0.1; +per_frame_9=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); diff --git a/presets/presets_tryptonaut/By Adam FX 2 shifter + geiss - neon pulse (glow mix) + Rovastar .milk b/presets/presets_tryptonaut/By Adam FX 2 shifter + geiss - neon pulse (glow mix) + Rovastar .milk new file mode 100755 index 0000000000..7a8f940340 --- /dev/null +++ b/presets/presets_tryptonaut/By Adam FX 2 shifter + geiss - neon pulse (glow mix) + Rovastar .milk @@ -0,0 +1,342 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=2.400 +fDecay=0.975 +fVideoEchoZoom=1.051 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.640 +fWaveSmoothing=0.270 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.85235 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.960 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.400 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.200 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.20000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.200 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.500 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.200 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x - 0.03; +comp_19=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_20=`ret *= 2.3; +comp_21=` +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_tryptonaut/Che - Burning Hus.milk b/presets/presets_tryptonaut/Che - Burning Hus.milk new file mode 100755 index 0000000000..33d850daba --- /dev/null +++ b/presets/presets_tryptonaut/Che - Burning Hus.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=1.000404 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.010225 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=2.048001 +nMotionVectorsY=47.999996 +mv_dx=-0.080000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=q8=60/fps; +per_frame_2=// timed sidon sensor +per_frame_3=// le = signal level; desired average value = 2 +per_frame_4=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_5=pulse=above(le,th); +per_frame_6=// pulsefreq = running average of interval between last 5 pulses +per_frame_7=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_8=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_9=lastpulse=if(pulse,time,lastpulse); +per_frame_10=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_11=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_12=// hccp = handcicap for th driven by bt +per_frame_13=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_14=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_15=beat=band(above(le,th+hccp),btblock); +per_frame_16=btblock=1-above(le,th+hccp); +per_frame_17=lastbeat=if(beat,time,lastbeat); +per_frame_18=beatfreq=if(equal(beatfreq,0),2, +per_frame_19=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_20=// th = threshold +per_frame_21=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_22=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_23=th=if(above(th,6),6,th); +per_frame_24=thccl=thccl+q8*(th-2.5144); +per_frame_25=leccl=leccl+q8*le; +per_frame_26=btccl=btccl+beat; +per_frame_27=q1=thccl; +per_frame_28=q2=leccl; +per_frame_29=q3=btccl; +per_frame_30=wave_r=sqr(sin(1.5*time+.0037*leccl+3*bccl)); +per_frame_31=wave_g=.5+.5*sin(1.6*time+.0042*leccl+2*bccl); +per_frame_32=wave_b=.5+.5*sin(1.7*time+.0056*leccl+4*bccl); +per_pixel_1=zoom=1.01+q8*.13*sin(.1*q1)*(sin((8+3*sin(q3))*rad)+sin(.1*q2)); +per_pixel_2=rot=.05*q8*sin(.02*q1*sin(q3))*sin((4+3*sin(q3+.03*q2))*rad); diff --git a/presets/presets_tryptonaut/Che - Escape.milk b/presets/presets_tryptonaut/Che - Escape.milk new file mode 100755 index 0000000000..27a6e7287e --- /dev/null +++ b/presets/presets_tryptonaut/Che - Escape.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000498 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.608285 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000154 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.150000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=-0.010000 +mv_l=0.350000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23= +per_frame_24=q8=30/fps; +per_frame_25=ccl=ccl+beat; +per_frame_26=minorccl=minorccl+le*q8; +per_frame_27=q7=ccl+.0002*minorccl; +per_frame_28=q6=3.7*ccl+.01*minorccl; +per_frame_29=ob_size=.3+.3*sin(16*ccl+.007*minorccl); +per_frame_30=ib_a=.5+.4*sin(.01*minorccl+ccl); +per_frame_31=wave_r=.7+.3*sin(.04*ccl+.01*minorccl); +per_frame_32=wave_g=.7+.3*sin(.02*ccl+.012*minorccl); +per_frame_33=wave_b=.3+.3*sin(36*ccl+.013*minorccl); +per_frame_34=ib_r=.25+.25*sin(72*ccl+.016*minorccl); +per_frame_35=ib_g=.25+.25*sin(48*ccl+.021*minorccl); +per_frame_36=ib_b=.5+.3*sin(86*ccl)+.2*(.028*minorccl); +per_frame_37= +per_frame_38=echo_alpha=.5+.5*cos(68*ccl+.0041*minorccl); +per_frame_39=echo_zoom=exp(sin(13.7*ccl+.017*minorccl)); +per_frame_40=echo_orient=ccl%4; +per_frame_41= +per_frame_42=mvrot=ccl%6; +per_frame_43=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039, +per_frame_44=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651, +per_frame_45=if(equal(mvrot,0),1,.773))); +per_frame_46=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267, +per_frame_47=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804, +per_frame_48=if(equal(mvrot,0),1,.38))); +per_frame_49=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694, +per_frame_50=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114, +per_frame_51=if(equal(mvrot,0),1,.145))); +per_pixel_1=zone=below(sin(sin(49*q7)*14*x-sin(36*q7)*14*y),-.2); +per_pixel_2=zoom=1+.33*q8*if(zone,-.5+.1*sin(1.08*q6),.5+.1*sin(.96*q6)); +per_pixel_3=zoomexp=exp(sin(if(zone,q6,-q6))); +per_pixel_4=rot=q8*.03*sin(q6+q7+q7*zone); diff --git a/presets/presets_tryptonaut/Che - Watch & Fly.milk b/presets/presets_tryptonaut/Che - Watch & Fly.milk new file mode 100755 index 0000000000..506dc1fbb5 --- /dev/null +++ b/presets/presets_tryptonaut/Che - Watch & Fly.milk @@ -0,0 +1,125 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.173164 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=1.105069 +fWaveSmoothing=0.900000 +fWaveParam=-0.560000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.035000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=8.959999 +nMotionVectorsY=7.200006 +mv_dx=0.080000 +mv_dy=0.060000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=// sensor - alpha +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=// th = threshold +per_frame_4=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_5=pulse=band(above(le,th),above(le-th,block)); +per_frame_6=block=le-th; +per_frame_7=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_8=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_9=th=if(above(th,6),6,th); +per_frame_10= +per_frame_11=// pulse cycler +per_frame_12=pcl=if(pulse,pcl+1,pcl); +per_frame_13=q1=pcl; +per_frame_14= +per_frame_15=ib_r=.5+.5*sin(pcl)+.3*sin(time*2.2); +per_frame_16=ib_g=.5+.5*sin(pcl*1.1)+.3*sin(time*2.1); +per_frame_17=ib_b=.5+.5*sin(pcl*1.2)+.3*sin(time*2); +per_frame_18=mv_r=ib_g; +per_frame_19=mv_g=ib_b; +per_frame_20=mv_b=ib_r; +per_frame_21=wave_r=1-ib_r; +per_frame_22=wave_g=1-ib_g; +per_frame_23=wave_b=1-ib_b; +per_frame_24= +per_frame_25=// level cycler +per_frame_26=levccl=levccl+le; +per_frame_27=q2=.1*levccl; +per_frame_28= +per_frame_29=mvx=if(pulse,rand(2)*rand(25),mvx);mv_x=mvx; +per_frame_30=mvy=if(pulse,rand(2)*rand(19),mvy);mv_y=mvy; +per_frame_31= +per_frame_32=q3=.5+.2*sin(23*pcl)+.2*sin(.023*levccl); +per_frame_33=wave_x=q3; +per_frame_34=q4=.5+.2*sin(24*pcl)+.2*sin(.02*levccl); +per_frame_35=wave_y=1-q4; +per_frame_36=thavg=.5*thavg+.5*th; +per_frame_37=q6=.2*thavg; +per_pixel_1=// coordinates transfomation +per_pixel_2=// q3,q4 = position; q6 = 1/size; +per_pixel_3=aang=atan2(y-q4,x-q3); +per_pixel_4=arad=sqrt(sqr(y-q4)+sqr(x-q3))*q6; +per_pixel_5=atx=cos(aang)*arad; +per_pixel_6=aty=sin(aang)*arad; +per_pixel_7= +per_pixel_8=boxzone=below(arad,.1); +per_pixel_9= +per_pixel_10=fxzone=band(band(above(x,.1),below(x,.9)), +per_pixel_11=band(above(y,.1),below(y,9))); +per_pixel_12= +per_pixel_13= +per_pixel_14=zoom=zoom+(1-boxzone)*if(fxzone,(-.2+.3*sin(3*q1)),-.2); +per_pixel_15=rot=(1-boxzone)*fxzone*(3.142*sin(12*q1)); +per_pixel_16= +per_pixel_17=dx=.01*bor(band(above(x,.05),below(x,.1)),above +per_pixel_18=(x,.95))-.01*bor(below(x,.05),band(above(x,.9),below(x,.95))); +per_pixel_19=dy=.01*bor(band(above(y,.05),below(y,.1)),above +per_pixel_20=(y,.95))-.01*bor(below(y,.05),band(above(y,.9),below(y,.95))); +per_pixel_21= +per_pixel_22=dx=if(boxzone,.1*atx,dx+fxzone*(.05*sin(q1+(9+4*sin(q1*2.3))*x+ +per_pixel_23=(6+3*sin(q1*2.4))*y+q2)+sin(q1*13))); +per_pixel_24=dy=if(boxzone,.1*aty,dy+fxzone*(.05*sin(q1+(8+4*sin(q1*2.2))*x+ +per_pixel_25=(5+3*sin(q1*2.1))*y+q2*1.2)+sin(q1*14))); diff --git a/presets/presets_tryptonaut/Cope - Passage (mandala mix)[Flexis kaleidoscope] - ap3 colonosc roam3.milk b/presets/presets_tryptonaut/Cope - Passage (mandala mix)[Flexis kaleidoscope] - ap3 colonosc roam3.milk new file mode 100755 index 0000000000..c1fb060a16 --- /dev/null +++ b/presets/presets_tryptonaut/Cope - Passage (mandala mix)[Flexis kaleidoscope] - ap3 colonosc roam3.milk @@ -0,0 +1,342 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.490 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.625 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.880 +fModWaveAlphaEnd=1.980 +fWarpAnimSpeed=1.000 +fWarpScale=2.669 +fZoomExponent=0.99950 +fShader=0.000 +zoom=0.99980 +rot=-0.00010 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00020 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.390 +mv_g=0.440 +mv_b=0.900 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.97235 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.41490 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=0.360 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.200 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=x=int(rand(100))*0.01*0.5 + 0.25; +shape_1_per_frame9=y=int(rand(100))*0.01*0.5 + 0.25; +shape_1_per_frame10=rad=int(rand(100))*0.01*0.4+0.1; +shape_1_per_frame11=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.200 +shapecode_2_y=0.800 +shapecode_2_rad=0.59958 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.25664 +shapecode_2_tex_zoom=0.49831 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1= +per_frame_2=wave_r = wave_r + 0.6*(0.6*sin(time*1.3) + 0.4*sin(0.98*time)); +per_frame_3=wave_b = wave_b + 0.6*(0.6*sin(time*1.1) + 0.4*sin(0.78*time)); +per_frame_4=wave_g = wave_g + 0.5*(0.6*sin(time*1.2) + 0.4*sin(0.6*time)); +per_frame_5= +per_frame_6=q8=wave_r; +per_frame_7=q7=wave_b; +per_frame_8=q6=wave_g; +per_frame_9= +per_frame_10=vol = 0.1*(vol*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_11=q1=vol; +per_frame_12=mtime=mtime+vol*0.01; +per_frame_13=q2=mtime*0.25; +per_frame_14= +per_frame_15=sy=sy+vol*0.02; +per_frame_16=sx=sy; +per_frame_17= +per_frame_18=rot = rot + 0.01*sin(time*0.05); +per_frame_19=monitor=rot; +per_frame_20=q3=aspectx; +per_frame_21=q4=aspecty; +per_frame_22=warp=0; +per_frame_23=bb = bb*0.99 + bass*0.02; +per_frame_24=mm = mm*0.99 + mid*0.02; +per_frame_25=tt = tt*0.99 + treb*0.02; +per_frame_26= +per_frame_27=mx = max(max(bb,mm),tt); +per_frame_28=mn = min(min(bb,mm),tt); +per_frame_29= +per_frame_30=t1 = (bb-mn)/(mx-mn); +per_frame_31=t2 = (mm-mn)/(mx-mn); +per_frame_32=t3 = (tt-mn)/(mx-mn); +per_frame_33= +per_frame_34=v = 0.15/fps; +per_frame_35=bm = bm + (t1-t2)*v; +per_frame_36=mt = mt + (t2-t3)*v; +per_frame_37= +per_frame_38=// coordinates spiral 1 +per_frame_39=q22 = 0; // X +per_frame_40=q21 = 1; // Y +per_frame_41= +per_frame_42=// coordinates spiral 2 +per_frame_43=q24 = 0; +per_frame_44=q23 = -1; +per_frame_45= +per_frame_46=q25 = 0.5/asin(1); // pi/4 +per_frame_47= +per_frame_48=q26 = -bm; // rotation +per_frame_49=q27 = mt; // growth +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.5; // maximum random pixel offset +warp_6=`float diffusion = 0.006; // dither strength +warp_7=`float fadeout = -0.0006; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur2(lerp(uv_orig,uv,-12))); +warp_11=`uv = lerp(uv_orig,uv, magic*12 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`} +comp_1=`float2 numerator, denominator, fraction; +comp_2=`float2 d, uv_y,c,spiral; +comp_3=`float3 dx, dy; +comp_4=`float1 ang_hq; +comp_5=`shader_body +comp_6=`{ +comp_7=`float cutoff = 0.95; +comp_8=`int n = 1; +comp_9=`float s = 0.3; +comp_10=`int depth = 2; //number of fractal iterations +comp_11=` +comp_12=`for(int i = 0; i q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_17=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_18=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_19=` ret *= 0.9; +warp_20=` +warp_21=` // add noise: +warp_22=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_23=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/956.0 * 112; +warp_24=` +warp_25=` +warp_26=` //ret = lerp(ret, lum(ret), 0.2); +warp_27=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` //ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).zzz; +comp_5=` float crisp, blur; +comp_6=` float2 uv2; +comp_7=` ret = tex2d(sampler_main, uv); +comp_8=` float shadow_offset = 0.0; +comp_9=` float shadow_str = 1.15; +comp_10=` +comp_11=` uv2 = ((uv)-0.5)*0.4+0.5; +comp_12=`uv*=1.3; +comp_13=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_14=` ((uv2.xyy*q28 +comp_15=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_16=` ).xyz* +comp_17=` float3(1,1,0)*0.05 + +comp_18=` time*float3(0,0,1)*q31 +comp_19=` ); +comp_20=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_21=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_22=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_23=` crisp = tex2D(sampler_main, uv2).y; +comp_24=` // add drop shadow: +comp_25=` blur = GetBlur1(uv2 + shadow_offset).y; +comp_26=` ret *= (1-blur*shadow_str); +comp_27=` ret = max(ret, crisp.xxx); +comp_28=` +comp_29=` uv2 = uv; +comp_30=` //crisp = tex2D(sampler_main, uv2).x; +comp_31=` // add drop shadow: +comp_32=` // blur = GetBlur1(uv2 + shadow_offset).x; +comp_33=` // ret *= (1-blur*shadow_str); +comp_34=` //ret = max(ret, crisp.xxx); +comp_35=`ret=.7-ret; +comp_36=`} diff --git a/presets/presets_tryptonaut/EMPR - Random - Changing Polyevolution.milk b/presets/presets_tryptonaut/EMPR - Random - Changing Polyevolution.milk new file mode 100755 index 0000000000..0457c67b63 --- /dev/null +++ b/presets/presets_tryptonaut/EMPR - Random - Changing Polyevolution.milk @@ -0,0 +1,95 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.220183 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.241455 +fWaveSmoothing=0.000000 +fWaveParam=-0.261032 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.526528 +wave_g=0.324083 +wave_b=0.134239 +wave_x=0.482812 +wave_y=0.467471 +ob_size=0.004500 +ob_r=0.071102 +ob_g=0.089654 +ob_b=0.514650 +ob_a=0.985207 +ib_size=0.005000 +ib_r=0.491715 +ib_g=0.022579 +ib_b=0.569085 +ib_a=0.949768 +nMotionVectorsX=3.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.505893 +mv_dy=-0.993957 +mv_l=5.000000 +mv_r=0.835033 +mv_g=0.249397 +mv_b=0.055806 +mv_a=0.175581 +per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_frame_7=volume = 0.3*(bass+mid+att); +per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = max(bass_att,peakbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_15=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_17=effect = if(beat,effect+rand(5)+1,effect); +per_frame_18=effect = if(above(effect,5),effect-6,effect); +per_frame_19=q1 = effect+2; +per_frame_20=monitor = q1; +per_frame_21=wave_mode = wave_g * wave_b; +per_frame_22=wave_r = time + treb; +per_frame_23=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_24=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_frame_25=wave_mode=if(below(wave_mode,0), 0, wave_mode); +per_frame_26=wave_mode=if(above(wave_mode,7.0), 7.0, wave_mode); +per_frame_27=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_28=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); +per_pixel_2=cy = x * b; +per_pixel_3=cy=if(below(cy,-1.0), -1.0, cy); +per_pixel_4=cy=if(above(cy,2.0), 2.0, cy); diff --git a/presets/presets_tryptonaut/EMPR - Random - Look mama I'm on TV! 2.milk b/presets/presets_tryptonaut/EMPR - Random - Look mama I'm on TV! 2.milk new file mode 100755 index 0000000000..97c3088c6f --- /dev/null +++ b/presets/presets_tryptonaut/EMPR - Random - Look mama I'm on TV! 2.milk @@ -0,0 +1,98 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=100.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=-0.250278 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=1.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.840465 +wave_g=0.977183 +wave_b=0.577708 +wave_x=0.681590 +wave_y=0.841076 +ob_size=0.010000 +ob_r=0.364951 +ob_g=0.522256 +ob_b=0.961900 +ob_a=0.345787 +ib_size=0.000000 +ib_r=0.691402 +ib_g=0.523066 +ib_b=0.706478 +ib_a=0.808526 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.479713 +mv_dy=-0.559295 +mv_l=5.000000 +mv_r=0.376825 +mv_g=0.651550 +mv_b=0.954265 +mv_a=0.602945 +per_frame_1=ob_r = 0.9 - 0.7*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.4*sin(time*0.342); +per_frame_5=cy = cy + 0.6*sin(time*0.433); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.08; +per_frame_8=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_11=dx = dx -0.008*sin(time*0.23); +per_frame_12=dy = dy - 0.008*sin(time*0.2); +per_frame_13=dy = wave_r * wave_g; +per_frame_14=wave_g = treb - wave_r; +per_frame_15=wave_b = wave_r * bass; +per_frame_16=dy=if(below(dy,-1), -1, dy); +per_frame_17=dy=if(above(dy,1.0), 1.0, dy); +per_frame_18=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_19=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_20=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_21=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_22=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_23=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_24=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_25=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_pixel_1=box=(1-rad)+0.7*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.05+(sin(x+0.137*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),1*sin(0.385*time)-time*.1,rot); +per_pixel_5=zoom = b + y*1.2; +per_pixel_6=dx = time * a; +per_pixel_7=zoom=if(below(zoom,0.01), 0.01, zoom); +per_pixel_8=zoom=if(above(zoom,100), 100, zoom); +per_pixel_9=dx=if(below(dx,-1), -1, dx); +per_pixel_10=dx=if(above(dx,1.0), 1.0, dx); diff --git a/presets/presets_tryptonaut/EMPR - Random - They're so cute Dad can I keep one!.milk b/presets/presets_tryptonaut/EMPR - Random - They're so cute Dad can I keep one!.milk new file mode 100755 index 0000000000..92df8f1b19 --- /dev/null +++ b/presets/presets_tryptonaut/EMPR - Random - They're so cute Dad can I keep one!.milk @@ -0,0 +1,106 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.940000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=2.651498 +fWaveSmoothing=0.000000 +fWaveParam=-0.180163 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999997 +sx=0.578528 +sy=1.030301 +wave_r=0.610115 +wave_g=0.337971 +wave_b=0.298628 +wave_x=0.671479 +wave_y=0.725962 +ob_size=0.030000 +ob_r=0.148379 +ob_g=0.786533 +ob_b=0.637879 +ob_a=0.973918 +ib_size=0.045000 +ib_r=0.841289 +ib_g=0.297099 +ib_b=0.775799 +ib_a=0.238807 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.598910 +mv_dy=0.978744 +mv_l=0.500000 +mv_r=0.296168 +mv_g=0.490016 +mv_b=0.461879 +mv_a=0.573571 +per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_frame_7=volume = 0.3*(bass+mid+att); +per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = max(bass_att,peakbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_15=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_17=effect = if(beat,effect+rand(5)+1,effect); +per_frame_18=effect = if(above(effect,5),effect-6,effect); +per_frame_19=q1 = effect+2; +per_frame_20=monitor = q1; +per_frame_21=wave_y = treb + wave_b; +per_frame_22=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_23=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_24=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_25=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); +per_pixel_2=cy = q1 * warp; +per_pixel_3=cy = cy * rad; +per_pixel_4=cx = a * bass_att; +per_pixel_5=dy = warp + time; +per_pixel_6=zoomexp = bass_att + a; +per_pixel_7=rot = a * bass_att; +per_pixel_8=rot = rot * y; +per_pixel_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_pixel_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_pixel_11=rot=if(below(rot,-1.0), -1.0, rot); +per_pixel_12=rot=if(above(rot,1.0), 1.0, rot); +per_pixel_13=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_14=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_15=cy=if(below(cy,-1.0), -1.0, cy); +per_pixel_16=cy=if(above(cy,2.0), 2.0, cy); +per_pixel_17=dy=if(below(dy,-1), -1, dy); +per_pixel_18=dy=if(above(dy,1.0), 1.0, dy); diff --git a/presets/presets_tryptonaut/EMPR - Random - Turbulence Sandwich.milk b/presets/presets_tryptonaut/EMPR - Random - Turbulence Sandwich.milk new file mode 100755 index 0000000000..6ca71a5ee8 --- /dev/null +++ b/presets/presets_tryptonaut/EMPR - Random - Turbulence Sandwich.milk @@ -0,0 +1,140 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=3.007504 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.880224 +fWaveSmoothing=0.000000 +fWaveParam=0.933237 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.074097 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.541826 +wave_g=0.907035 +wave_b=0.436348 +wave_x=0.911091 +wave_y=0.486312 +ob_size=0.010000 +ob_r=0.429397 +ob_g=0.567931 +ob_b=0.857834 +ob_a=0.309108 +ib_size=0.010000 +ib_r=0.331510 +ib_g=0.272420 +ib_b=0.199382 +ib_a=0.856912 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=-0.523285 +mv_dy=-0.160162 +mv_l=0.055000 +mv_r=0.934155 +mv_g=0.462715 +mv_b=0.821308 +mv_a=0.850204 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; +per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; +per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; +per_frame_5=rot = .4*sin(mid_att*.05); +per_frame_6=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_7=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_8=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_9=// Appended Code From C:\Program Files\Winamp\Plugins\MilkDrop\Self\Turbulence.milk +per_frame_10=wave_b = if(equal(bass + wave_y , bass + bass) , min(min(bass * treb , time * treb_att) , time + wave_g) , treb_att * treb); +per_frame_11=ob_g = max(if(below(frame - bass_att , wave_g * bass) , time + treb , wave_y * wave_g) , wave_y * wave_r); +per_frame_12=wave_g = if(below(wave_r + time , treb - bass_att) , treb_att * treb , bass * bass); +per_frame_13=ib_a = min(min(wave_g * wave_r , treb * mid) , wave_g - warp); +per_frame_14=wave_r = if(below(bass + bass_att , wave_b + frame) , wave_b * bass_att , wave_g * treb); +per_frame_15=mv_x = 12 + bass_att - warp; +per_frame_16=ob_a = max(bass * time , bass_att * wave_b); +per_frame_17=ib_G = treb + warp; +per_frame_18=dy = 0 + if(equal(treb + bass , mid_att * zoom) , bass_att - bass , bass_att - treb); +per_frame_19=wave_r = if(below(wave_r * treb_att , wave_b + frame) , min(zoom + wave_g , wave_g * bass) , wave_b - warp); +per_frame_20=ob_g = max(if(equal(ob_g + wave_y , wave_b + wave_b) , wave_y + wave_b , wave_g * warp) , treb * wave_g); +per_frame_21=wave_y = if(above(treb * treb , treb + treb) , wave_r * frame , mid * wave_x); +per_frame_22=dy=if(below(dy,-1), -1, dy); +per_frame_23=dy=if(above(dy,1.0), 1.0, dy); +per_frame_24=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_25=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_frame_26=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_27=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_28=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_29=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_30=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_31=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_32=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_33=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_34=ob_a=if(below(ob_a,0.0), 0.0, ob_a); +per_frame_35=ob_a=if(above(ob_a,1.0), 1.0, ob_a); +per_frame_36=ib_g=if(below(ib_g,0.0), 0.0, ib_g); +per_frame_37=ib_g=if(above(ib_g,1.0), 1.0, ib_g); +per_frame_38=ib_a=if(below(ib_a,0.0), 0.0, ib_a); +per_frame_39=ib_a=if(above(ib_a,1.0), 1.0, ib_a); +per_frame_40=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_41=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_42=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_43=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_frame_44=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_45=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_46=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_47=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_48=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_49=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_50=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_51=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_52=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_53=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_54=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_55=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_56=wave_r=if(below(wave_r,0.0), 0.0, wave_r); +per_frame_57=wave_r=if(above(wave_r,1.0), 1.0, wave_r); +per_frame_58=ob_a=if(below(ob_a,0.0), 0.0, ob_a); +per_frame_59=ob_a=if(above(ob_a,1.0), 1.0, ob_a); +per_frame_60=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_61=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_62=ib_G=if(below(ib_G,0.0), 0.0, ib_G); +per_frame_63=ib_G=if(above(ib_G,1.0), 1.0, ib_G); +per_frame_64=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_65=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_66=ib_a=if(below(ib_a,0.0), 0.0, ib_a); +per_frame_67=ib_a=if(above(ib_a,1.0), 1.0, ib_a); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); +per_pixel_3=rot=0; +per_pixel_4=dx = ((x-.5)+(y-.5)*.25*sin(time/10))*(2+.1*treb_att); +per_pixel_5=dy=(y-.5)*(2-.1*treb_att); +per_pixel_6=zoom =1; +per_pixel_7=; +per_pixel_8=warp = 1 + if(above(q1 * b , sx * y) , zoomexp * a , bass_att * warp); +per_pixel_9=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_10=warp=if(above(warp,100.0), 100.0, warp); diff --git a/presets/presets_tryptonaut/EOE125~1.MILk b/presets/presets_tryptonaut/EOE125~1.MILk new file mode 100755 index 0000000000..457f96d01d --- /dev/null +++ b/presets/presets_tryptonaut/EOE125~1.MILk @@ -0,0 +1,672 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.600000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=division = int(sample*4) + 1; +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=wave=(value1*170 + value2*170) * 0.5; +wave_0_per_point5= +wave_0_per_point6=//// first frequency band, full frame 60hz@60fps +wave_0_per_point7=//set to 0 at beginning of frame +wave_0_per_point8=band1max = if( equal(sample,0) , -1, band1max); +wave_0_per_point9=band1min = if( equal(sample,0) , 1 , band1min); +wave_0_per_point10= +wave_0_per_point11=//accumulate values +wave_0_per_point12=band1max = max(wave,band1max); +wave_0_per_point13=band1min = min(wave,band1min); +wave_0_per_point14= +wave_0_per_point15=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point16=band1 = if( equal(sample,1) , band1max - ((band1min+band1max)*0.5) , band1 ); +wave_0_per_point17=t1 = band1; +wave_0_per_point18= +wave_0_per_point19=//// 3rd frequency band +wave_0_per_point20=//divide wave form over frame into subsections +wave_0_per_point21=segmentlength = 8; +wave_0_per_point22=section = (sample*segmentlength) - int(sample*segmentlength - 0.0001); +wave_0_per_point23=zerotest= (1/(512/segmentlength)); +wave_0_per_point24=onetest =1 - zerotest; +wave_0_per_point25= +wave_0_per_point26=//set to 0 at beginning of frame +wave_0_per_point27=band3max = if( below(section,zerotest) , -1 , band3max); +wave_0_per_point28=band3min = if( below(section,zerotest) , 1 , band3min); +wave_0_per_point29=maxhold3 = if( below(sample ,1/512) , 0 , maxhold3 ); +wave_0_per_point30= +wave_0_per_point31=//accumulate values +wave_0_per_point32=band3max = max(wave,band3max); +wave_0_per_point33=band3min = min(wave,band3min); +wave_0_per_point34= +wave_0_per_point35=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point36=band3temp = if( above(section,onetest), band3max - ((band3min+band3max)*0.5) , band3temp ); +wave_0_per_point37= +wave_0_per_point38=maxhold3 = if( above(section,onetest) , maxhold3 + band3temp , maxhold3 ); +wave_0_per_point39=band3 = if( equal(sample,1) , maxhold3/segmentlength , band3 ); +wave_0_per_point40= +wave_0_per_point41=//t3 = (band3 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point42=t3 = band3; +wave_0_per_point43= +wave_0_per_point44=//// 5th frequency band +wave_0_per_point45=//divide wave form over frame into subsections +wave_0_per_point46=segmentlength = 32; +wave_0_per_point47=section = (sample*segmentlength) - int(sample*segmentlength - 0.00001); +wave_0_per_point48=zerotest= (1/(512/segmentlength)); +wave_0_per_point49=onetest =1 - zerotest; +wave_0_per_point50= +wave_0_per_point51=//set to 0 at beginning of frame +wave_0_per_point52=band5max = if( below(section,zerotest) , -1, band5max); +wave_0_per_point53=band5min = if( below(section,zerotest) , 1 , band5min); +wave_0_per_point54=maxhold5 = if( below(sample ,1/512) , 0 , maxhold5 ); +wave_0_per_point55= +wave_0_per_point56=//accumulate values +wave_0_per_point57=band5max = max(wave,band5max); +wave_0_per_point58=band5min = min(wave,band5min); +wave_0_per_point59= +wave_0_per_point60=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point61=band5temp = if( above(section,onetest) , band5max - ((band5min+band5max)*0.5) , band5temp ); +wave_0_per_point62= +wave_0_per_point63=maxhold5 = if( above(section,onetest) , maxhold5 + band5temp , maxhold5 ); +wave_0_per_point64=band5 = if( equal(sample,1) , maxhold5/segmentlength , band5 ); +wave_0_per_point65= +wave_0_per_point66=//t5 = (band5 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point67=t5 = band5; +wave_0_per_point68= +wave_0_per_point69=//// 7th frequency band +wave_0_per_point70=//divide wave form over frame into subsections +wave_0_per_point71=segmentlength = 128; +wave_0_per_point72=section = (sample*segmentlength) - int(sample*segmentlength - 0.00001); +wave_0_per_point73=zerotest= (1/(512/segmentlength)); +wave_0_per_point74=onetest =1 - zerotest; +wave_0_per_point75= +wave_0_per_point76=//set to 0 at beginning of frame +wave_0_per_point77=band7max = if( below(section,zerotest) , -1 , band7max); +wave_0_per_point78=band7min = if( below(section,zerotest) , 1 , band7min); +wave_0_per_point79=maxhold7 = if( below(sample ,1/512) , 0 , maxhold7 ); +wave_0_per_point80= +wave_0_per_point81=//accumulate values +wave_0_per_point82=band7max = max(wave,band7max); +wave_0_per_point83=band7min = min(wave,band7min); +wave_0_per_point84= +wave_0_per_point85=//center max and min around 0 and return max value [range 0-1] +wave_0_per_point86=band7temp = if( above(section,onetest) , band7max - ((band7min+band7max)*0.5) , band7temp ); +wave_0_per_point87= +wave_0_per_point88=maxhold7 = if( above(section,onetest) , maxhold7 + band7temp , maxhold7 ); +wave_0_per_point89=band7 = if( equal(sample,1) , maxhold7/segmentlength , band7 ); +wave_0_per_point90= +wave_0_per_point91=//t7 = (band7 - (1/segmentlength)) / (1 - 1/segmentlength); +wave_0_per_point92=t7 = band7; +wave_0_per_point93= +wave_0_per_point94=t1=t1*1.9; +wave_0_per_point95=t2=t2*2.8; +wave_0_per_point96=t3=t3*3.5; +wave_0_per_point97=t4=t4*5; +wave_0_per_point98=t5=t5*7; +wave_0_per_point99=t6=t6*12; +wave_0_per_point100=t7=t7*16; +wave_0_per_point101=t8=t8*29; +wave_0_per_point102=t1=pow(t1,2); +wave_0_per_point103=t2=pow(t2,2); +wave_0_per_point104=t3=pow(t3,2); +wave_0_per_point105=t4=pow(t4,2); +wave_0_per_point106=t5=pow(t5,2); +wave_0_per_point107=t6=pow(t6,2); +wave_0_per_point108=t7=pow(t7,2); +wave_0_per_point109=t8=pow(t8,2); +wave_0_per_point110= +wave_0_per_point111= +wave_0_per_point112=t1=max(t1-t3 , 0); +wave_0_per_point113=t3=max(t3-t5 , 0); +wave_0_per_point114=t5=max(t5-t7 , 0); +wave_0_per_point115= +wave_0_per_point116=q1=t1;q2=t2;q3=t3;q4=t4;q5=t5;q6=t6;q7=t7;q8=t8; +wave_0_per_point117= +wave_0_per_point118=x=sample; +wave_0_per_point119=y=0.001; +wave_0_per_point120= +wave_0_per_point121= +wave_0_per_point122=q1=t1; +wave_0_per_point123=q2=t3; +wave_0_per_point124=q3=t5; +wave_0_per_point125=q4=t7; +wave_0_per_point126= +wave_0_per_point127=r1=if( equal(division,1) , t1 , r1 ); +wave_0_per_point128=r1=if( equal(division,2) , t3 , r1 ); +wave_0_per_point129=r1=if( equal(division,3) , t5 , r1 ); +wave_0_per_point130=r1=if( equal(division,4) , t7 , r1 ); +wave_0_per_point131= +wave_0_per_point132=r1=min(r1,1); +wave_0_per_point133=r1=max(r1,0); +wave_0_per_point134=r=sin(sample*3.14 + time + 0.0)*0.5+0.5; +wave_0_per_point135= +wave_0_per_point136=g=sin(sample*3.14 + time + 2.1)*0.5+0.5; +wave_0_per_point137= +wave_0_per_point138=b=sin(sample*3.14 + time + 4.2)*0.5+0.5; +wave_0_per_point139= +wave_0_per_point140=a= ( sin(sample*6.283*4 + 4.74)*0.5+0.5 ); +wave_0_per_point141=a=max(a - (1-r1) , 0) / r1; +wave_0_per_point142=a=pow( a*r1 , 1-r1*0.5); +wave_0_per_point143=a=0; +wave_0_per_point144=r=min( r * (1+r1) , 1); +wave_0_per_point145=g=min( g * (1+r1) , 1); +wave_0_per_point146=b=min( b * (1+r1) , 1); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(q5-q6)*0.5+0.5; +wave_1_per_frame2=t2=sin(q5-q7)*0.5+0.5; +wave_1_per_frame3=t3=sin(q6+q8)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(q5+q6)*0.5+0.5; +wave_1_per_frame6=t5=sin(q5-q8)*0.5+0.5; +wave_1_per_frame7=t6=sin(q6-q7)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=(q5+q6*q4*.0001) + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=(1-sample); +wave_1_per_point71= +wave_1_per_point72=b=b+pow(1-sample,2)*0.3; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.200000 +wavecode_2_g=1.000000 +wavecode_2_b=0.600000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(q6/q5)*0.5+0.5; +wave_2_per_frame2=t2=sin(q6-q7)*0.5+0.5; +wave_2_per_frame3=t3=sin(q5+q8)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(q7+q6)*0.5+0.5; +wave_2_per_frame6=t5=sin(q5-q6)*0.5+0.5; +wave_2_per_frame7=t6=sin(q8-q5)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=(q6+q5*q4*.0001) + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_2_per_point10=yp=-yp; +wave_2_per_point11=zp=0; +wave_2_per_point12= +wave_2_per_point13=//wrist movement; +wave_2_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point15= +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=xq=xp; +wave_2_per_point18=yq=yp*sinang + zp*cosang; +wave_2_per_point19=zq=yp*cosang - zp*sinang; +wave_2_per_point20=yq=yp; +wave_2_per_point21=zq=zp; +wave_2_per_point22= +wave_2_per_point23=ang=tm*8; +wave_2_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point25=xp=xq*sinang + yq*cosang; +wave_2_per_point26=yp=xq*cosang - yq*sinang; +wave_2_per_point27=zp=zq; +wave_2_per_point28= +wave_2_per_point29=//forearm movement; +wave_2_per_point30=zp=zp-0.3; +wave_2_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point33=xq=xp; +wave_2_per_point34=yq=yp*sinang + zp*cosang; +wave_2_per_point35=zq=yp*cosang - zp*sinang; +wave_2_per_point36= +wave_2_per_point37=//upper arm twist +wave_2_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point40=xp=xq*sinang + yq*cosang; +wave_2_per_point41=yp=xq*cosang - yq*sinang; +wave_2_per_point42=zp=zq; +wave_2_per_point43= +wave_2_per_point44=//upper arm outward; +wave_2_per_point45=zp=zp-0.35; +wave_2_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point48=xq=xp*sinang + zp*cosang; +wave_2_per_point49=yq=yp; +wave_2_per_point50=zq=xp*cosang - zp*sinang; +wave_2_per_point51= +wave_2_per_point52=//upper arm up down; +wave_2_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point55=xp=xq; +wave_2_per_point56=yp=yq*cosang - zq*sinang; +wave_2_per_point57=zp=yq*sinang + zq*cosang; +wave_2_per_point58= +wave_2_per_point59=//xp=xq;yp=yq;zp=zq; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=//project into screenspace and draw on screen +wave_2_per_point63=zp=zp+2; +wave_2_per_point64=xs=xp/zp; +wave_2_per_point65=ys=yp/zp; +wave_2_per_point66= +wave_2_per_point67=x=xs+0.5; +wave_2_per_point68=y=ys*1.3+0.5; +wave_2_per_point69= +wave_2_per_point70= +wave_2_per_point71=a=(1-sample); +wave_2_per_point72= +wave_2_per_point73= +wave_2_per_point74=b=b+pow(1-sample,2)*0.3; +wave_2_per_point75= +wave_2_per_point76=r1=t1; +wave_2_per_point77=g1=t2; +wave_2_per_point78=b1=t3; +wave_2_per_point79=r2=t4; +wave_2_per_point80=g2=t5; +wave_2_per_point81=b2=t6; +wave_2_per_point82= +wave_2_per_point83=r=r1*flip + r2*(1-flip); +wave_2_per_point84=g=g1*flip + g2*(1-flip); +wave_2_per_point85=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.500000 +wavecode_3_a=0.500000 +wave_3_init1=t1=0 +wave_3_per_point1= +wave_3_per_point2= +wave_3_per_point3=wave=(value1*170 + value2*170) * 0.5; +wave_3_per_point4= +wave_3_per_point5=t1 = wave; +wave_3_per_point6= +wave_3_per_point7= +wave_3_per_point8= +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=x=sample; +wave_3_per_point12=y=0.2 + t1 * 0.3; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=rad=sin((q8-q5)*q4*.01)*.5+.5; +shape_0_per_frame2=x=.1*rad; +shape_0_per_frame3= +shape_0_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_0_per_frame5= +shape_0_per_frame6=lrad=rad; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_x=0.750000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=rad=sin((q7-q6)*q4*.01)*.5+.5; +shape_1_per_frame2=x=1-.1*rad; +shape_1_per_frame3= +shape_1_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_1_per_frame5= +shape_1_per_frame6=lrad=rad; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=rad=sin((q5-q8)*q4*.01)*.5+.5; +shape_2_per_frame2=y=.1*rad; +shape_2_per_frame3= +shape_2_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_2_per_frame5= +shape_2_per_frame6=lrad=rad; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_tex_capture=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rad=sin((q6-q7)*q4*.01)*.5+.5; +shape_3_per_frame2=y=1-.1*rad; +shape_3_per_frame3= +shape_3_per_frame4=tex_capture=if(above(rad-lrad,0),1,0); +shape_3_per_frame5= +shape_3_per_frame6=lrad=rad; +per_frame_init_1=db=.001; +per_frame_init_2=dt=.001; +per_frame_init_3=avgdb=bass-bass_att; +per_frame_init_4=avgdt=treb-treb_att; +per_frame_init_5=lbass=0; +per_frame_init_6=ltreb=0; +per_frame_init_7= +per_frame_init_8=avgbbeatrate=2; +per_frame_init_9=beatb=0; +per_frame_init_10=beatb2=0; +per_frame_init_11=beat +per_frame_init_12=rawbeatb=0; +per_frame_init_13=lbbtime=time-1; +per_frame_init_14=avgdb=.01; +per_frame_init_15=vol=0; +per_frame_init_16=avgvol=1; +per_frame_init_17=ph=0; +per_frame_init_18=phase=0; +per_frame_init_19=bool=0; +per_frame_init_20=const=.01; +per_frame_init_21=mtime=100+bass_att*1000; +per_frame_init_22=mtime2=100+treb_att*1000; +per_frame_init_23=mtime3=100+bass*1000; +per_frame_init_24=mtime4=100+mid*1000; +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=warp=0; +per_frame_4=wrap=1; +per_frame_5= +per_frame_6=monitor=w1; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11=db=((w1+w2)-lbass)*fps; +per_frame_12=dt=((w4+w3)-ltreb)*fps; +per_frame_13= +per_frame_14=ltreb=w4+w3; +per_frame_15=lbass=w1+w2; +per_frame_16= +per_frame_17=avgdb=avgdb*.9+abs(db)*.1; +per_frame_18=avgdt=avgdt*.9+abs(dt)*.1; +per_frame_19= +per_frame_20=//beatdection +per_frame_21=rawbeatb=above(time-lbbtime,avgbbeatrate*.75); +per_frame_22=beatb=rawbeatb*above(abs(dt),avgdt*3); +per_frame_23=beatb2=rawbeatb*above(abs(db),avgdb*3); +per_frame_24=beat=max(beatb2,beatb); +per_frame_25= +per_frame_26=//beatrate calc +per_frame_27=//avgbbeatrate=beatb2*(avgbbeatrate*.9+(time-lbbtime2)*.1)+(1-beatb2)*(avgbbeatrate+(3-avgbbeatrate)*.001); +per_frame_28=//avgbbeatrate=beatb*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beatb)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_29=avgbbeatrate=beat*(avgbbeatrate*.99+(time-lbbtime)*.01)+(1-beat)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_30=//lbbtime2=time*beatb2+(1-beatb2)*lbbtime2; +per_frame_31=lbbtime=time*beat+(1-beat)*lbbtime; +per_frame_32= +per_frame_33=ph=(time-lbbtime)*(60/avgbbeatrate)*const; +per_frame_34=phase=max(min( ph, 1 ),0); +per_frame_35=const=const*(1-beatb2)+beatb2*( const+ (.001*bool) ); +per_frame_36=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_37= +per_frame_38= +per_frame_39=bc=bc+beatb; +per_frame_40=zoom=1+below(w1,0); +per_frame_41=vol=(beatb*(w1+w4+w2+w3)*.1); +per_frame_42=avgvol=avgvol*.999+vol*.01; +per_frame_43=monitor=avgvol; +per_frame_44=mtime=mtime+(min(avgdt*.05,.5)+avgvol)*(1/fps); +per_frame_45=mtime2=mtime2+(min(avgdb*.05,.5)+avgvol)*(1/fps); +per_frame_46=mtime3=mtime3+(beatb)*db*(1/fps); +per_frame_47=mtime4=mtime4+(beatb2)*dt*(1/fps); +per_frame_48=monitor=60/avgbbeatrate; +per_frame_49= +per_frame_50=//q2=(sin(mtime)*.5+.5); +per_frame_51=//q2=phase; +per_frame_52=q1=beatb; +per_frame_53=q2=beatb2; +per_frame_54=q3=phase; +per_frame_55=q4=60/avgbbeatrate; +per_frame_56=q5=mtime; +per_frame_57=q6=mtime2; +per_frame_58=q7=mtime3; +per_frame_59=q8=mtime4; +per_frame_60=//zoom=1+sin(q7)*.1; +per_frame_61= +per_frame_62= +per_pixel_1=cy=.5+sin(q8)*.3; +per_pixel_2=cx=.5+sin(q7)*.3; +per_pixel_3= +per_pixel_4=mrad=asin(pow(pow(cx-x,2)+pow(cy-y,2),.5)); +per_pixel_5=rot=3.14+sin((q7-q8)*.1+(q5-q6)*1+mrad*sin(time*q4*.00001)); +per_pixel_6=zoom=1+q4*.0001; +per_pixel_7=//rot=sin(mrad+q5)*.1; +per_pixel_8=//zoom=1-mrad*.3; diff --git a/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk b/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk new file mode 100644 index 0000000000..49f77a1d12 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 02 (Relief Mix).milk @@ -0,0 +1,535 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.611 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00400 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.12532 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=b=b+pow(1-sample,2)*0.3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=b=b+pow(1-sample,2)*0.3 +wave_1_per_point69= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=q1=time*0.9; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` //ret *= 0.96; //or try: ret -= 0.004; +warp_8=` +warp_9=` +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` // the weights of the 4 height value frequencies: +comp_6=` float4 c = float4(1,0.3,0.1,0); +comp_7=` +comp_8=` uv2 = uv + float2(1,0)*texsize.zw; +comp_9=` float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_10=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_11=` float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_12=` +comp_13=` uv2 = uv + float2(0,1)*texsize.zw; +comp_14=` float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_15=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_16=` float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w; +comp_17=` +comp_18=` // compute gradient vector: +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.08)); +comp_20=` +comp_21=` // hacked default lighting from it: +comp_22=` float3 dir1 = normalize(float3(0.3,-0.13,0.05)); +comp_23=` float3 col1 = float3(1.3,0.9,0.6)*1.5; +comp_24=` ret = col1 * saturate(dot(g,dir1)); +comp_25=` +comp_26=`} diff --git a/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk b/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk new file mode 100644 index 0000000000..0c5cb39b6f --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Geiss - glowsticks v2 03 music shifter edit b (water mix).milk @@ -0,0 +1,575 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.7 +fDecay=0.960 +fVideoEchoZoom=1.0 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.03300 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.3 +ib_size=0.090 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.3 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.99882 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=0.25005 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.06779 +shapecode_1_ang=0.75398 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.74186 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.06779 +shapecode_2_ang=0.75398 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.77977 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +comp_1=`shader_body +comp_2=`{ +comp_3=` // use 3D noise +comp_4=` float3 uvw = float3(uv*3.3, 0.3); +comp_5=` //uvw = mul(uvw, rot_s2); +comp_6=` uvw.z += time*0.3; +comp_7=` +comp_8=` // sample a high-quality 3D noise volume! +comp_9=` float4 N = tex3D(sampler_noisevol_hq, uvw); +comp_10=` +comp_11=` float2 uv2 = uv; +comp_12=` uv2 += (N.xy*2-1)*texsize.zw*13; +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv2).xyz; +comp_15=` ret += GetBlur1(uv)*0.4; +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk b/presets/presets_tryptonaut/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk new file mode 100644 index 0000000000..fd98fc6265 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Geiss - sarc c_Phats Zoom Mix Reflecto.milk @@ -0,0 +1,334 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=0.280 +wavecode_0_b=1.000 +wavecode_0_a=0.200 +wave_0_init1=t2 = 0 +wave_0_per_frame1=t1 = time * 13; +wave_0_per_frame2= +wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; +wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; +wave_0_per_frame5= +wave_0_per_frame6=t2= q2 * 0.003 + 0.06; +wave_0_per_frame7= +wave_0_per_frame8=t3= q1; +wave_0_per_frame9= +wave_0_per_frame10=t4 = time/8; +wave_0_per_frame11= +wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_0_per_frame13=t5 = t5 * 17 + 2; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2=pi = 3.1415; +wave_0_per_point3=pi2 = 6.283; +wave_0_per_point4= +wave_0_per_point5=phs = t1 + sample*9; +wave_0_per_point6= +wave_0_per_point7=bias = t5; +wave_0_per_point8=bias_i = bias - 1; +wave_0_per_point9= +wave_0_per_point10=cc = phs / 3; +wave_0_per_point11=cc_int = int(cc); +wave_0_per_point12=cc_ramp = cc - cc_int; +wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_0_per_point15= +wave_0_per_point16=cc_ad_b = cc_ramp * bias; +wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_0_per_point18= +wave_0_per_point19=cc_a = cc_ad_a + cc_int; +wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_0_per_point21= +wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_0_per_point23=yp = 1; +wave_0_per_point24=zp = 0; +wave_0_per_point25= +wave_0_per_point26=ang = cc_a * 6.283 * 16; +wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point28=xq = sang*xp + cang*zp; +wave_0_per_point29=yq = yp; +wave_0_per_point30=zq = cang*xp - sang*zp; +wave_0_per_point31=xp=xq;yp=yq;zp=zq; +wave_0_per_point32= +wave_0_per_point33=ang2 = cc_b + t4; +wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point35=xq = xp; +wave_0_per_point36=yq = sang*yp + cang*zp; +wave_0_per_point37=zq = cang*yp - sang*zp; +wave_0_per_point38=xp=xq;yp=yq;zp=zq; +wave_0_per_point39= +wave_0_per_point40=ang2 = cc_b * 3.13 + t4; +wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point42=xq = sang*xp + cang*yp; +wave_0_per_point43=yq = cang*xp - sang*yp; +wave_0_per_point44=zq = zp; +wave_0_per_point45=xp=xq;yp=yq;zp=zq; +wave_0_per_point46= +wave_0_per_point47=ang2 = cc_b * 1.43 + t4; +wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point49=xq = sang*xp + cang*zp; +wave_0_per_point50=yq = yp; +wave_0_per_point51=zq = cang*xp - sang*zp; +wave_0_per_point52=xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=zp = zp+3.1; +wave_0_per_point56=xs = xp/zp + 0.5; +wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_0_per_point58= +wave_0_per_point59=x=xs; +wave_0_per_point60=y=ys; +wave_0_per_point61= +wave_0_per_point62= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=22 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.54822 +shapecode_0_ang=1.44513 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.300 +shapecode_0_g=0.910 +shapecode_0_b=1.000 +shapecode_0_a=0.220 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.24979 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.400 +shapecode_1_g=0.200 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.100 +shapecode_1_g2=0.200 +shapecode_1_b2=0.300 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.36457 +shapecode_2_ang=1.57080 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.41660 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.180 +shape_2_per_frame1=ang = time/4 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.500 +shapecode_3_g2=0.700 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=ang = - time/3 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5=q1= ib_a * 6.283; +per_frame_6= +per_frame_7=q2 = (bass+mid+treb)*0.25; +per_frame_8=q2 = q2*q2; +per_frame_9= +per_frame_10=monitor = q2; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_pixel_1=zoom=1+(rad/7); +per_pixel_2=rot=(rad/100)*sin(time); +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,uv.y); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_tryptonaut/EoS + Phat - CAT Scan (Nirvana flux).milk b/presets/presets_tryptonaut/EoS + Phat - CAT Scan (Nirvana flux).milk new file mode 100644 index 0000000000..d5f05269f3 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - CAT Scan (Nirvana flux).milk @@ -0,0 +1,445 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.005; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=xp/zp + 0.5; +wave_1_per_point27=y_screen=yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=r=1; +wave_1_per_point33=g=1; +wave_1_per_point34=b=1; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38=r=(q1+q2)*0.5; +wave_2_per_point39=g=(q2+q3)*0.5; +wave_2_per_point40=b=(q3+q1)*0.5; +wave_2_per_point41= +wave_2_per_point42=a=aflux*aflux*0.7 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; +shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=0.020000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); +shape_2_per_frame2=r=q1; +shape_2_per_frame3=g=q2; +shape_2_per_frame4=b=q3; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1= +per_frame_2=vol=(bass+mid+treb)*0.25; +per_frame_3=vol=vol*vol; +per_frame_4=mtime=mtime+vol*0.018; +per_frame_5=q7=mtime; +per_frame_6=q8=vol; +per_frame_7= +per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; +per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; +per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; +per_frame_11= +per_frame_12=q1=r; +per_frame_13=q2=g; +per_frame_14=q3=b; +per_frame_15=mv_x=sin(mtime*0.25)*6+9; +per_frame_16=mv_y=sin(mtime*0.25)*6+9; +per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; +per_frame_18= +per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; +per_pixel_1=flux=sin(time*0.3)*2; +per_pixel_2=zoom=-1.02 + rad*(9+flux); +per_pixel_3= +per_pixel_4=//rot=rad*500; diff --git a/presets/presets_tryptonaut/EoS + Phat - Emergent factors.milk b/presets/presets_tryptonaut/EoS + Phat - Emergent factors.milk new file mode 100644 index 0000000000..69ccfeb64c --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - Emergent factors.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.0 +zoom=13.290894 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=1.0 +ib_size=0.015000 +ib_r=0.010000 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=35.200005 +nMotionVectorsY=29.760006 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.5 +mv_r=1.0 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.5 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.0 +shapecode_2_y=0.0 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.0 +shapecode_3_y=1.0 +shapecode_3_rad=0.662308 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=0.5; +per_frame_17=q5=0.5; +per_frame_18= +per_frame_19=//dx=sin(musictime*0.1)*0.07; +per_frame_20=//dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd/rd); +per_pixel_6=rot=(rd/rd)+sin(time/5); diff --git a/presets/presets_tryptonaut/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk b/presets/presets_tryptonaut/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk new file mode 100644 index 0000000000..85d5f7c348 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk @@ -0,0 +1,638 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.301767 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.610000 +shapecode_1_y=0.890000 +shapecode_1_rad=0.583240 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.691361 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=x= x+ sin((q1+2))*0.1; +shape_1_per_frame3=ang = ang+ sin(q1*1.4)*0.5 +shapecode_2_enabled=0 +shapecode_2_sides=25 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.230000 +shapecode_2_y=0.830000 +shapecode_2_rad=0.217303 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = time/10; +shape_2_per_frame2=x= x+ sin(q1)*0.1 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.610000 +shapecode_3_y=0.890000 +shapecode_3_rad=0.271083 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.691361 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.560000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=x= x+ sin((q1+2))*0.1 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0.8; +per_frame_init_7=dcsp=0.4 +per_frame_init_8= +per_frame_1=dcsp = dcsp + 0.01; +per_frame_2=decay=min(dcsp,1); +per_frame_3=monitor=decay; +per_frame_4= +per_frame_5=vol=(bass+mid+treb)*0.25; +per_frame_6=vol=vol*vol; +per_frame_7= +per_frame_8=mtime=mtime+vol*0.01*(70/fps); +per_frame_9= +per_frame_10=q1=mtime*0.75; +per_frame_11= +per_frame_12= +per_frame_13=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_14= +per_frame_15=warp=vol*0.05; +per_frame_16= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_tryptonaut/EoS + Phat - chasers 12 sentinel Daemon - mash0000 - multi-band time-distortion aurora granules.milk b/presets/presets_tryptonaut/EoS + Phat - chasers 12 sentinel Daemon - mash0000 - multi-band time-distortion aurora granules.milk new file mode 100644 index 0000000000..58e29dbfa2 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - chasers 12 sentinel Daemon - mash0000 - multi-band time-distortion aurora granules.milk @@ -0,0 +1,662 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.900 +wavecode_1_b=0.800 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.720 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample)*0.4; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.700 +wavecode_3_b=0.500 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.99595 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.90528 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01; +per_frame_7= +per_frame_8=q1=mtime*0.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=2 +per_frame_12= +per_pixel_1=zm=1.004; +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, (uv-0.5)*1.00 + 0.5 ); +warp_4=` ret /= ret.x+ret.y+ret.z; +warp_5=` float zoom = dot(ret, float3(1,0.975,0.95)); +warp_6=` +warp_7=` ret.xyz = tex2D( sampler_main, (uv-0.5)*zoom + 0.5 ); +warp_8=` +warp_9=` // .x = fastest layer, .z = slowest +warp_10=` float r = 0.02; +warp_11=` float3 xfer = saturate((ret - 0.05)*99); +warp_12=` xfer.yz *= saturate((0.1-ret.xy)*99); +warp_13=` ret += xfer.xxx*float3(-1,1,0)*r*0.7; +warp_14=` ret += xfer.yyy*float3(0,-1,1)*r*4; +warp_15=` ret += xfer.zzz*float3(0,0,-1)*r; +warp_16=` +warp_17=` // ERROR DIFFUSION DITHER - looks great +warp_18=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*float3(1,3,8)*5; +warp_20=`} diff --git a/presets/presets_tryptonaut/EoS + Phat - chasers 14 sentinel 616.milk b/presets/presets_tryptonaut/EoS + Phat - chasers 14 sentinel 616.milk new file mode 100644 index 0000000000..47cd6e6071 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - chasers 14 sentinel 616.milk @@ -0,0 +1,627 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.720000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample)*0.4; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.700000 +wavecode_3_b=0.500000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995947 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.905280 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01*(50/fps); +per_frame_7= +per_frame_8=q1=mtime*1.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=2 +per_frame_12= +per_pixel_1=zm=-1.0+(bass*0.01); +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_tryptonaut/EoS + Phat - chasers 18 hallway.milk b/presets/presets_tryptonaut/EoS + Phat - chasers 18 hallway.milk new file mode 100644 index 0000000000..54cabc29ca --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - chasers 18 hallway.milk @@ -0,0 +1,633 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.761306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_tryptonaut/EoS + Phat - chasers 19 Portal.milk b/presets/presets_tryptonaut/EoS + Phat - chasers 19 Portal.milk new file mode 100644 index 0000000000..eb4c6d5835 --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - chasers 19 Portal.milk @@ -0,0 +1,643 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=6.600763 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.500000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=yp=yp*0.1 - 0.2; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample)*0.3; +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.900000 +wavecode_1_b=0.800000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.320000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm) + 1; +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.600000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm)-3.5; +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample)*0.4; +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.045563 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=0.300000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.254805 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.294082 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=(sin(time/2)*0.5+0.5)*0.6+0.1; +shape_1_per_frame2=tex_ang=cos(time); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.081954 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.089248 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_init1=start = 1; +shape_3_per_frame1=start = start - 0.02; +shape_3_per_frame2=start = max(start,0); +shape_3_per_frame3= +shape_3_per_frame4=a=start; +shape_3_per_frame5=a2=start; +shape_3_per_frame6= +shape_3_per_frame7=rad = if( equal(start,0) , 0.05 , rad ); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol2=vol2*vol2; +per_frame_8= +per_frame_9=q2=vol2; +per_frame_10= +per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); +per_frame_12= +per_frame_13=q1=mtime*1; +per_frame_14= +per_frame_15= +per_frame_16=//gamma=1 + min(vol*0.8,1)*0.7; +per_frame_17= +per_frame_18= +per_pixel_1=zm=1.002; +per_pixel_2= +per_pixel_3=sx=-zm; +per_pixel_4=sy=zm; diff --git a/presets/presets_tryptonaut/EoS + Phat - cubetrace - v2.milk b/presets/presets_tryptonaut/EoS + Phat - cubetrace - v2.milk new file mode 100644 index 0000000000..893e8f66cd --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - cubetrace - v2.milk @@ -0,0 +1,533 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.050000 +wavecode_0_g=0.090000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=t1=q1*0.25; +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//rotate +wave_0_per_point16=ang=t1; +wave_0_per_point17=sang=sin(ang);cang=cos(ang); +wave_0_per_point18=xq=xp*sang + zp*cang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=xp*cang - zp*sang; +wave_0_per_point21=xp=xq;yp=yq;zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate +wave_0_per_point24=ang=t1*0.75; +wave_0_per_point25=sang=sin(ang);cang=cos(ang); +wave_0_per_point26=xq=xp; +wave_0_per_point27=yq=yp*sang + zp*cang; +wave_0_per_point28=zq=yp*cang - zp*sang; +wave_0_per_point29=xp=xq;yp=yq;zp=zq; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=zp= zp+2; +wave_0_per_point33=x= xp/zp + 0.5; +wave_0_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.500000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.194774 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000001 +shapecode_0_r2=0.630000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.070000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.043785 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.300000 +shapecode_1_g=0.600000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=1 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.284278 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.230000 +shapecode_2_g2=0.540000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.800000 +shapecode_2_border_b=0.400000 +shapecode_2_border_a=0.450000 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.158045 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.300000 +shapecode_3_g=0.600000 +shapecode_3_b=1.000000 +shapecode_3_a=0.140001 +shapecode_3_r2=0.400000 +shapecode_3_g2=0.500000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =4; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.95; +per_frame_2=zoom=1.005; +per_frame_3= +per_frame_4= +per_frame_5=vol= (bass+mid+treb)*0.25; +per_frame_6=vol = vol*vol; +per_frame_7= +per_frame_8=q8=vol; +per_frame_9=mtime=mtime+vol*0.01*(75/fps); +per_frame_10= +per_frame_11=q7 = mtime; +per_frame_12= +per_frame_13=monitor=512/8; +per_frame_14= +per_frame_15=warp=0; +per_frame_16=q1=mtime*0.9; +per_frame_17= +per_frame_18=beat = above(vol,1); +per_frame_19=bc = max(bc,0); +per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_21= +per_frame_22=trigger = equal(bc,1); +per_frame_23= +per_frame_24=monitor=size; +per_frame_25= +per_frame_26=size = size + trigger; +per_frame_27=size = if( above(size,10) , 4 , size ); +per_frame_28= +per_frame_29= +per_frame_30=q2=int(size); //cubesize +per_frame_31= +per_frame_32= +per_frame_33= diff --git a/presets/presets_tryptonaut/EoS + Phat - vacuum deity watching you.milk b/presets/presets_tryptonaut/EoS + Phat - vacuum deity watching you.milk new file mode 100644 index 0000000000..c8ac3569eb --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - vacuum deity watching you.milk @@ -0,0 +1,277 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.221671 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=zoom=0.9; +per_frame_17= +per_frame_18=musictime=musictime+vol*0.5; +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.01; +per_frame_23=dy=cos(musictime*0.069)*0.01; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10= diff --git a/presets/presets_tryptonaut/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk b/presets/presets_tryptonaut/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk new file mode 100644 index 0000000000..5357eb762c --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Phat - zen prophetmind WTF is it_v2 - Bitcore Tweak.milk @@ -0,0 +1,302 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.800000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=flip=flip+1; +wave_0_per_point2=flip=if(above(flip,1),0,flip); +wave_0_per_point3= +wave_0_per_point4=xp=sin(sample*6.283); +wave_0_per_point5=yp=cos(sample*6.283); +wave_0_per_point6= +wave_0_per_point7=scale1=sin(sample*6.283*3); +wave_0_per_point8=scale2=sin(sample*6.283*9); +wave_0_per_point9=scale3=sin(sample*6.283*5); +wave_0_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_0_per_point11=scale=scale*0.5; +wave_0_per_point12= +wave_0_per_point13=xp=xp*scale; +wave_0_per_point14=yp=yp*scale; +wave_0_per_point15= +wave_0_per_point16=x1=xp*0.25 +0.5; +wave_0_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_0_per_point18=x2=0.5+q4; +wave_0_per_point19=y2=0.5+q5; +wave_0_per_point20=x=x1*flip + x2*(1-flip); +wave_0_per_point21=y=y1*flip + y2*(1-flip); +wave_0_per_point22= +wave_0_per_point23=a=flip*0.05; +wave_0_per_point24=r=sin(time)*0.5+0.5; +wave_0_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=flip=flip+1; +wave_1_per_point2=flip=if(above(flip,1),0,flip); +wave_1_per_point3= +wave_1_per_point4=xp=sin(sample*6.283); +wave_1_per_point5=yp=cos(sample*6.283); +wave_1_per_point6= +wave_1_per_point7=scale1=sin(sample*6.283*3+time*0.2); +wave_1_per_point8=scale2=sin(sample*6.283*9+time); +wave_1_per_point9=scale3=sin(sample*6.283*5-time); +wave_1_per_point10=scale=scale1+scale2*0.7+scale3*0.4; +wave_1_per_point11=scale=scale*0.5; +wave_1_per_point12= +wave_1_per_point13=xp=xp*scale; +wave_1_per_point14=yp=yp*scale; +wave_1_per_point15= +wave_1_per_point16=x1=xp*0.25 +0.5; +wave_1_per_point17=y1=yp*0.25*1.333 + 0.5; +wave_1_per_point18=x2=0.5+q4; +wave_1_per_point19=y2=0.5+q5; +wave_1_per_point20=x=x1*flip + x2*(1-flip); +wave_1_per_point21=y=y1*flip + y2*(1-flip); +wave_1_per_point22= +wave_1_per_point23=a=flip*0.05; +wave_1_per_point24=r=sin(time)*0.5+0.5; +wave_1_per_point25=g=sin(time+2.1)*0.5+0.5; +wave_1_per_point26=b=sin(time+4.2)*0.5+0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.221671 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.985; +per_frame_2= +per_frame_3=vol=(4*bass)*(1.3+mid*treb); +per_frame_4= +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10=q1=ypos; +per_frame_11=q2=xpos; +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14= +per_frame_15=zoom=.91; +per_frame_16= +per_frame_17=musictime=musictime+vol*0.5; +per_frame_18=q4=sin(musictime*0.02)*0.3; +per_frame_19=q5=sin(musictime*0.01)*0.3; +per_frame_20= +per_frame_21=dx=sin(musictime*0.1)*0.01; +per_frame_22=dy=cos(musictime*0.069)*0.01; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=orb=below(rd,0.4); +per_pixel_8=zm=zm*((1-orb)+rd*rd*rd*1.52) + orb*(1-rd*rd*rd*1.52); +per_pixel_9=sx=zm;sy=zm; +per_pixel_10=sx=1.06;sy=1.06 diff --git a/presets/presets_tryptonaut/EoS + Zylot - skylight (Stained Glass Majesty mix).milk b/presets/presets_tryptonaut/EoS + Zylot - skylight (Stained Glass Majesty mix).milk new file mode 100644 index 0000000000..f9506bec3a --- /dev/null +++ b/presets/presets_tryptonaut/EoS + Zylot - skylight (Stained Glass Majesty mix).milk @@ -0,0 +1,273 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.0 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.0 +fShader=1.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.110000 +ob_g=0.0 +ob_b=0.1 +ob_a=0.0 +ib_size=0.005000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=1.0 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.170000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.1 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.5 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=0.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.1 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.840000 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.980000 +shapecode_3_g=1.0 +shapecode_3_b=0.980000 +shapecode_3_a=0.3 +shapecode_3_r2=0.0 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=zoom=1.000; +per_frame_3=speed=0.80; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11=flux=sin(time/2); +per_frame_12=q4=flux * 0.5 + 0.5; +per_frame_13=q5=flux +per_frame_14= diff --git a/presets/presets_tryptonaut/EoS + flexi - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b + illumination (Stahl's Mix).milk b/presets/presets_tryptonaut/EoS + flexi - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b + illumination (Stahl's Mix).milk new file mode 100644 index 0000000000..928aab5a6e --- /dev/null +++ b/presets/presets_tryptonaut/EoS + flexi - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b + illumination (Stahl's Mix).milk @@ -0,0 +1,740 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.210 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.64463 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.035 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=43.200 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=//monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.005; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1; +per_frame_26=mtime2= mtime2+vol*0.1*flip*(55/fps); +per_frame_27= +per_frame_28=q1=mtime2*0.4; +per_frame_29=q2=mtime*.4; +per_frame_30= +per_frame_31= +per_frame_32=warp=0.0; +per_frame_33=//volume = 0.3*(bass+mid+att); +per_frame_34= +per_frame_35=q31 = .5 + .5*sin(0.05*mtime); +per_frame_36=q32 = .5 + .5*cos(0.05*mtime); +per_frame_37=q30 = .8+.4*sin(0.033245*mtime); +per_frame_38=q29 = .8+.4*sin(0.0227*mtime); +per_frame_39=q28 = .8+.4*sin(0.0435*mtime); +per_frame_40= +per_frame_41=ob_r = .33*q30; +per_frame_42=ob_g = .33*q29; +per_frame_43=ob_b = .33*q28; +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(q2)*treb_att*treb_att; +per_pixel_3=//monitor = var; +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=rot=((rad/100)*var)*sin(q2); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`//oh look, purrty mirror code by Geiss! +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,1-uv.y) ).xyz ); +warp_9=` +warp_10=` // darken over time +warp_11=` ret *= 0.98; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_6=` float2 light_pos = float2(q31,q32); +comp_7=` float3 col = float3(4*q30,4*q29,4*q28); +comp_8=` float c = 4; +comp_9=` float dd = 16; +comp_10=` float3 plastic; +comp_11=` plastic.x = col.x/(1+dd*pow(length( uv - float2(dx.x,dy.x)*c - light_pos),0.5)); +comp_12=` plastic.y = col.y/(1+dd*pow(length( uv - float2(dx.y,dy.y)*c - light_pos),0.5)); +comp_13=` plastic.z = col.z/(1+dd*pow(length( uv - float2(dx.z,dy.z)*c - light_pos),0.5)); +comp_14=` +comp_15=` ret = plastic*GetPixel(uv); +comp_16=` //ret *= 3; +comp_17=`} diff --git a/presets/presets_tryptonaut/EoS + phat - chasers 11 sentinel c (jelly v4.x).milk b/presets/presets_tryptonaut/EoS + phat - chasers 11 sentinel c (jelly v4.x).milk new file mode 100644 index 0000000000..2719ed550b --- /dev/null +++ b/presets/presets_tryptonaut/EoS + phat - chasers 11 sentinel c (jelly v4.x).milk @@ -0,0 +1,677 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.280 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.900 +wavecode_1_b=0.800 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.720 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.700 +wavecode_3_b=0.500 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04556 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.700 +shapecode_0_b=0.300 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01; +per_frame_7= +per_frame_8=q1=time*0.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=1 + min(vol*0.8,1)*0.7 +per_frame_12= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret = (ret-.001)*0.975; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_10=` +comp_11=`ret = .25*lum(saturate(2*GetBlur3(uv))); +comp_12=`ret -= .8*lum(saturate(20*(0.6*GetBlur2(uv)-.01)-2)); +comp_13=`ret = ret + lum(saturate(30*((GetPixel(uv)+GetBlur1(uv)*.15)-.01)-2))-.1; +comp_14=`ret += .55; +comp_15=`ret = lerp(ret,ret*(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_16=` +comp_17=`float3 ret2 = -.5*lum(GetBlur3(uv_y)); +comp_18=`ret2 += .8*GetBlur1(uv_y); +comp_19=`ret2 = ret-.9*GetPixel(uv_y)-.1; +comp_20=`ret2 -= .75; +comp_21=`ret2 = lerp(ret2,1.2*ret2*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_22=` +comp_23=`ret = abs(ret-1.2*ret2); +comp_24=`//ret = ret2; +comp_25=`ret *= ret; +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/EoS - Apocalypse F2.milk b/presets/presets_tryptonaut/EoS - Apocalypse F2.milk new file mode 100644 index 0000000000..e3549a1d0b --- /dev/null +++ b/presets/presets_tryptonaut/EoS - Apocalypse F2.milk @@ -0,0 +1,545 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.930000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.270000 +wave_0_per_frame1=t1=q2*3; +wave_0_per_frame2=t2=sin(q2*3); +wave_0_per_frame3=t8=1; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7=t8=-t8; +wave_0_per_point8=//scale=sin(n*64)+0.5; +wave_0_per_point9=//scale=min(scale,1); +wave_0_per_point10=//scale=max(scale,0); +wave_0_per_point11=scale=t8*0.5 + 0.5; +wave_0_per_point12=scaleB=sin(n*9); +wave_0_per_point13=scaleB=above(scaleB,0); +wave_0_per_point14=scale=1 - (scale+scaleB)*0.05; +wave_0_per_point15= +wave_0_per_point16=xp=xp*scale*q7; +wave_0_per_point17=yp=yp*scale*q7; +wave_0_per_point18= +wave_0_per_point19=//rotation +wave_0_per_point20=ang=t2; +wave_0_per_point21=sang=sin(ang);cang=cos(ang); +wave_0_per_point22=xq=xp*sang + yp*cang; +wave_0_per_point23=yq=xp*cang - yp*sang; +wave_0_per_point24=zq=zp; +wave_0_per_point25=xp=xq;yp=yq;zp=zq; +wave_0_per_point26= +wave_0_per_point27= +wave_0_per_point28=//rotation +wave_0_per_point29=ang=t1*0.07; +wave_0_per_point30=sang=sin(ang);cang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sang + zp*cang; +wave_0_per_point33=zq=yp*cang - zp*sang; +wave_0_per_point34=xp=xq;yp=yq;zp=zq; +wave_0_per_point35= +wave_0_per_point36=//rotation +wave_0_per_point37=ang=t1*0.313; +wave_0_per_point38=sang=sin(ang);cang=cos(ang); +wave_0_per_point39=xq=xp*sang + zp*cang; +wave_0_per_point40=yq=yp; +wave_0_per_point41=zq=xp*cang - zp*sang; +wave_0_per_point42=xp=xq;yp=yq;zp=zq; +wave_0_per_point43= +wave_0_per_point44=frontside=below(zp,0); +wave_0_per_point45=zp=zp+2.8; +wave_0_per_point46=x=xp/zp +0.5; +wave_0_per_point47=y=yp/zp *1.333 +0.5; +wave_0_per_point48=a=a*(frontside*0.7+0.3)*q8; +wave_0_per_point49= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.200000 +wave_1_per_frame1=t1=q2*3; +wave_1_per_frame2=t8=1; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=step=int(sample*3); +wave_1_per_point3=scale=1 - step*0.049; +wave_1_per_point4= +wave_1_per_point5=xp=sin(n*3); +wave_1_per_point6=yp=cos(n*3); +wave_1_per_point7=zp=0; +wave_1_per_point8= +wave_1_per_point9=xp=xp*scale*q7; +wave_1_per_point10=yp=yp*scale*q7; +wave_1_per_point11= +wave_1_per_point12=t8=-t8; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotation +wave_1_per_point16=ang=t1*0.7; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + yp*cang; +wave_1_per_point19=yq=xp*cang - yp*sang; +wave_1_per_point20=zq=zp; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=//rotation +wave_1_per_point25=ang=t1*0.07; +wave_1_per_point26=sang=sin(ang);cang=cos(ang); +wave_1_per_point27=xq=xp; +wave_1_per_point28=yq=yp*sang + zp*cang; +wave_1_per_point29=zq=yp*cang - zp*sang; +wave_1_per_point30=xp=xq;yp=yq;zp=zq; +wave_1_per_point31= +wave_1_per_point32=//rotation +wave_1_per_point33=ang=t1*0.313; +wave_1_per_point34=sang=sin(ang);cang=cos(ang); +wave_1_per_point35=xq=xp*sang + zp*cang; +wave_1_per_point36=yq=yp; +wave_1_per_point37=zq=xp*cang - zp*sang; +wave_1_per_point38=xp=xq;yp=yq;zp=zq; +wave_1_per_point39= +wave_1_per_point40=frontside=below(zp,0); +wave_1_per_point41=zp=zp+2.8; +wave_1_per_point42=x=xp/zp +0.5; +wave_1_per_point43=y=yp/zp *1.333 +0.5; +wave_1_per_point44=a=a*(frontside*0.7+0.3)*q8; +wave_1_per_point45= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.700000 +wavecode_2_g=0.800000 +wavecode_2_b=1.000000 +wavecode_2_a=0.220000 +wave_2_per_frame1=t1=q2*4; +wave_2_per_frame2=t2=sin(q2*3); +wave_2_per_frame3=t8=1; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=xp=sin(n*2); +wave_2_per_point4=yp=cos(n*2); +wave_2_per_point5=zp=0; +wave_2_per_point6= +wave_2_per_point7= +wave_2_per_point8=t8=-t8; +wave_2_per_point9=//scale=sin(n*64)+0.5; +wave_2_per_point10=//scale=min(scale,1); +wave_2_per_point11=//scale=max(scale,0); +wave_2_per_point12=scale=t8*0.5 + 0.5; +wave_2_per_point13=scaleB=sin(n*9); +wave_2_per_point14=scaleB=above(scaleB,0); +wave_2_per_point15=scale=1 - (scale+scaleB)*0.05; +wave_2_per_point16= +wave_2_per_point17=xp=xp*scale*q7*0.8; +wave_2_per_point18=yp=yp*scale*q7*0.8; +wave_2_per_point19= +wave_2_per_point20=zp=if(above(sample,0.5),xp,0); +wave_2_per_point21=xp=if(above(sample,0.5),0,xp); +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=//rotation +wave_2_per_point25=ang=t2; +wave_2_per_point26=sang=sin(ang);cang=cos(ang); +wave_2_per_point27=xq=xp*sang + yp*cang; +wave_2_per_point28=yq=xp*cang - yp*sang; +wave_2_per_point29=zq=zp; +wave_2_per_point30=xp=xq;yp=yq;zp=zq; +wave_2_per_point31= +wave_2_per_point32= +wave_2_per_point33=//rotation +wave_2_per_point34=ang=t1*0.07; +wave_2_per_point35=sang=sin(ang);cang=cos(ang); +wave_2_per_point36=xq=xp; +wave_2_per_point37=yq=yp*sang + zp*cang; +wave_2_per_point38=zq=yp*cang - zp*sang; +wave_2_per_point39=xp=xq;yp=yq;zp=zq; +wave_2_per_point40= +wave_2_per_point41=//rotation +wave_2_per_point42=ang=t1*0.313; +wave_2_per_point43=sang=sin(ang);cang=cos(ang); +wave_2_per_point44=xq=xp*sang + zp*cang; +wave_2_per_point45=yq=yp; +wave_2_per_point46=zq=xp*cang - zp*sang; +wave_2_per_point47=xp=xq;yp=yq;zp=zq; +wave_2_per_point48= +wave_2_per_point49=zp=zp+2.8; +wave_2_per_point50=x=xp/zp +0.5; +wave_2_per_point51=y=yp/zp *1.333 +0.5; +wave_2_per_point52=a=a; +wave_2_per_point53= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.450000 +wave_3_init1=adv=0 +wave_3_per_frame1=adv=adv + q8*0.01; +wave_3_per_frame2=t1=adv +wave_3_per_point1= +wave_3_per_point2=n=sample*6.283; +wave_3_per_point3= +wave_3_per_point4=xp=sin(n*13)*0.58; +wave_3_per_point5=yp=cos(n*13)*0.58; +wave_3_per_point6=zp=0; +wave_3_per_point7= +wave_3_per_point8=scale=sin(n*7); +wave_3_per_point9=xp=xp*scale; +wave_3_per_point10=yp=yp*scale; +wave_3_per_point11= +wave_3_per_point12=//make spherical +wave_3_per_point13=ang=sin(n*9); +wave_3_per_point14=sang=sin(ang);cang=cos(ang); +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sang + zp*cang; +wave_3_per_point17=zq=yp*cang - zp*sang; +wave_3_per_point18=xp=xq;yp=yq;zp=zq; +wave_3_per_point19= +wave_3_per_point20=//rotate +wave_3_per_point21=ang=time*0.1; +wave_3_per_point22=sang=sin(ang);cang=cos(ang); +wave_3_per_point23=xq=xp; +wave_3_per_point24=yq=yp*sang + zp*cang; +wave_3_per_point25=zq=yp*cang - zp*sang; +wave_3_per_point26=xp=xq;yp=yq;zp=zq; +wave_3_per_point27= +wave_3_per_point28=ang=time*0.05; +wave_3_per_point29=sang=sin(ang);cang=cos(ang); +wave_3_per_point30=xq=xp*sang + zp*cang; +wave_3_per_point31=yq=yp; +wave_3_per_point32=zq=xp*cang - zp*sang; +wave_3_per_point33=xp=xq;yp=yq;zp=zq; +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=zp=zp+2.1; +wave_3_per_point37=jitterx=(int(rand(10))-5)*0.0005; +wave_3_per_point38=jittery=(int(rand(10))-5)*0.0005; +wave_3_per_point39=x=xp/zp + 0.5 +jitterx; +wave_3_per_point40=y=yp/zp*1.333 + 0.5 +jittery; +wave_3_per_point41=phase=sin(n*13 + time*6)*0.5+0.5; +wave_3_per_point42=s2=sample*16 + t1 ; +wave_3_per_point43=phase=s2 - int(s2); +wave_3_per_point44=phase=1-phase; +wave_3_per_point45=a=a*phase; +wave_3_per_point46=b=b*phase; +wave_3_per_point47=g=g*phase +shapecode_0_enabled=1 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.110000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.187174 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.200000 +shapecode_0_g=0.510000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.200000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rA=r; +shape_0_per_frame2=gA=g; +shape_0_per_frame3=bA=b; +shape_0_per_frame4=r2A=r2; +shape_0_per_frame5=g2A=g2; +shape_0_per_frame6=b2A=b2; +shape_0_per_frame7=tm=time*0.3; +shape_0_per_frame8=p1=sin(tm)*0.5+0.5; +shape_0_per_frame9=p2=sin(tm+2.1)*0.5+0.5; +shape_0_per_frame10=p3=sin(tm+4.2)*0.5+0.5; +shape_0_per_frame11=r=rA*p1 +gA*p2 +bA*p3; +shape_0_per_frame12=g=gA*p2 +gA*p3 +bA*p1; +shape_0_per_frame13=b=rA*p3 +gA*p1 +bA*p2; +shape_0_per_frame14=r2=r2A*p1 +g2A*p2 +b2A*p3; +shape_0_per_frame15=g2=g2A*p2 +g2A*p3 +b2A*p1; +shape_0_per_frame16=b2=r2A*p3 +g2A*p1 +b2A*p2; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.776608 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.567129 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.120000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.400000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=37 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.947610 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.445133 +shapecode_2_tex_zoom=0.334695 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.800000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.600000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=ang+sin(time*0.1)*4; +shape_2_per_frame2=vol=(bass+mid+treb)*0.25; +shape_2_per_frame3=vol=vol*vol; +shape_2_per_frame4=tex_zoom=0.5 + vol*0.04; +shape_2_per_frame5= +shape_2_per_frame6=x=x+sin(q2*2)*0.2; +shape_2_per_frame7=y=y+sin(q1*5)*0.2; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=rA=r; +shape_2_per_frame11=gA=g; +shape_2_per_frame12=bA=b; +shape_2_per_frame13=r2A=r2; +shape_2_per_frame14=g2A=g2; +shape_2_per_frame15=b2A=b2; +shape_2_per_frame16=tm=time*0.3; +shape_2_per_frame17=p1=sin(tm)*0.5+0.5; +shape_2_per_frame18=p2=sin(tm+2.1)*0.5+0.5; +shape_2_per_frame19=p3=sin(tm+4.2)*0.5+0.5; +shape_2_per_frame20=r=rA*p1 +gA*p2 +bA*p3; +shape_2_per_frame21=g=gA*p2 +gA*p3 +bA*p1; +shape_2_per_frame22=b=rA*p3 +gA*p1 +bA*p2; +shape_2_per_frame23=r2=r2A*p1 +g2A*p2 +b2A*p3; +shape_2_per_frame24=g2=g2A*p2 +g2A*p3 +b2A*p1; +shape_2_per_frame25=b2=r2A*p3 +g2A*p1 +b2A*p2; +shapecode_3_enabled=1 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.768919 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.400000 +shapecode_3_g=0.300000 +shapecode_3_b=0.100000 +shapecode_3_a=0.400000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.400000 +shapecode_3_b2=0.200000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=rad=0.78; +shape_3_per_frame2=dark=0.5+q8*0.5; +shape_3_per_frame3=a=a*dark; +shape_3_per_frame4=a2=a2*dark; +shape_3_per_frame5= +shape_3_per_frame6=x=x+sin(tm)*0.3; +shape_3_per_frame7=y=y+cos(tm*3)*0.1; +shape_3_per_frame8= +shape_3_per_frame9=rA=r; +shape_3_per_frame10=gA=g; +shape_3_per_frame11=bA=b; +shape_3_per_frame12=r2A=r2; +shape_3_per_frame13=g2A=g2; +shape_3_per_frame14=b2A=b2; +shape_3_per_frame15=tm=time*0.3; +shape_3_per_frame16=p1=sin(tm)*0.5+0.5; +shape_3_per_frame17=p2=sin(tm+2.1)*0.5+0.5; +shape_3_per_frame18=p3=sin(tm+4.2)*0.5+0.5; +shape_3_per_frame19=r=rA*p1 +gA*p2 +bA*p3; +shape_3_per_frame20=g=gA*p2 +gA*p3 +bA*p1; +shape_3_per_frame21=b=rA*p3 +gA*p1 +bA*p2; +shape_3_per_frame22=r2=r2A*p1 +g2A*p2 +b2A*p3; +shape_3_per_frame23=g2=g2A*p2 +g2A*p3 +b2A*p1; +shape_3_per_frame24=b2=r2A*p3 +g2A*p1 +b2A*p2; +shape_3_per_frame25= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=zoom=1.00; +per_frame_3=vol1=(bass+mid+treb)*0.25; +per_frame_4=vol1=vol1*vol1; +per_frame_5=mtime1=mtime1+vol1*0.01; +per_frame_6=q1=mtime1; +per_frame_7= +per_frame_8= +per_frame_9=vol2=(mid+treb)*0.45; +per_frame_10=vol2=vol2*vol2; +per_frame_11=mtime2=mtime2+vol2*0.01; +per_frame_12=q2=mtime2; +per_frame_13= +per_frame_14=mvol=(bass_att+mid_att+treb_att)*0.33; +per_frame_15=mvolB=(mvolB-0.007) + mvol*0.007; +per_frame_16=mvolB=max(mvolB,0); +per_frame_17=mvolB=min(mvolB,1); +per_frame_18=q8=mvolB; +per_frame_19= +per_frame_20=q7=0.87; +per_frame_21=q6=vol1; +per_frame_22=monitor=mvolB; +per_frame_23= +per_frame_24=gamma=1 + min(vol1,1) +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29= +per_pixel_1=tm=time; +per_pixel_2=zma=sin(ang*5 + tm)*0.001 + 0.001; +per_pixel_3=zmb=sin(ang*5 - tm)*0.5 + 0.5; +per_pixel_4=zmb=pow(zmb,4) * 0.005; +per_pixel_5= +per_pixel_6=wpx=sin(y*6.283*5 + tm)*0.0008; +per_pixel_7=wpy=sin(x*6.283*5 + tm)*0.0008; +per_pixel_8= +per_pixel_9=wpx2=sin(y*6.283*3 + tm); +per_pixel_10=wpx2sgn=sign(wpx2); +per_pixel_11=wpx2=pow(wpx2,4)*wpx2sgn; +per_pixel_12=wpx2=wpx2*0.003; +per_pixel_13= +per_pixel_14=wpy2=sin(x*6.283*2 + tm); +per_pixel_15=wpy2sgn=sign(wpy2); +per_pixel_16=wpy2=pow(wpy2,4)*wpy2sgn; +per_pixel_17=wpy2=wpy2*0.003; +per_pixel_18= +per_pixel_19=dx=wpx+wpx2*q6; +per_pixel_20=dy=wpy+wpy2*q6; +per_pixel_21= +per_pixel_22=sy=1 + (zma + zmb)*q6; +per_pixel_23=sx=sy; +per_pixel_24= +per_pixel_25=ring=max(rad-0.7,0)*2; +per_pixel_26=rot=sin(ring*9)*0.1 * sin(time) *q6 +per_pixel_27= +per_pixel_28= +per_pixel_29= +per_pixel_30= diff --git a/presets/presets_tryptonaut/EoS - Gases Beyond.milk b/presets/presets_tryptonaut/EoS - Gases Beyond.milk new file mode 100644 index 0000000000..f8243aa3b0 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - Gases Beyond.milk @@ -0,0 +1,429 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.15; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.15; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5)*2; +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.5; +wave_0_per_point34=b=0.1; +wave_0_per_point35=a=a*0.7; +wave_0_per_point36= +wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); +wave_0_per_point38= +wave_0_per_point39= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36=a=a*0.5 +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.5; +wave_2_per_point34=b=0.1; +wave_2_per_point35=a=a*0.7; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); +wave_2_per_point39= +wave_2_per_point40= +wavecode_3_enabled=1 +wavecode_3_samples=402 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36=a=a*0.5 +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.208824 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.610000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.3 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.600000 +shapecode_1_b=0.900000 +shapecode_1_a=0.110000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); +shape_1_per_frame2=xsign = rand(2)*2 - 1; +shape_1_per_frame3= +shape_1_per_frame4=a=a * (1-xp); +shape_1_per_frame5= +shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; +shape_1_per_frame7= +shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); +per_frame_13=flash=if( above(flash,1) , flash-1 , flash); +per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); +per_frame_15=invert=0 diff --git a/presets/presets_tryptonaut/EoS - angels of decay.milk b/presets/presets_tryptonaut/EoS - angels of decay.milk new file mode 100644 index 0000000000..5cd7f95dea --- /dev/null +++ b/presets/presets_tryptonaut/EoS - angels of decay.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=smp=sample; +wave_0_per_point2=tm=time*0.24; +wave_0_per_point3= +wave_0_per_point4=xp=sin(tm+smp)*0.2 + sin(smp*16.3)*0.2; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=yp=cos(tm+smp)*0.2 + sin(tm+smp*17)*0.2 + cos(smp*54)*0.1; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10=x=xp+0.5; +wave_0_per_point11=y=yp+0.5; +wave_0_per_point12=r=0.3; +wave_0_per_point13=g=0.4; +wave_0_per_point14=b=0.5; +wave_0_per_point15=a=0.3; +wave_0_per_point16= +wave_0_per_point17=ends=sin(sample*3.1415 )*4; +wave_0_per_point18=ends=if ( above(ends,1), 1, ends); +wave_0_per_point19=a=a*ends +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.966656 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad-mid*mid*0.1; +shape_0_per_frame2=ang=treb*treb*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.281464 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.900000 +shapecode_1_b=0.700000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.900000 +shapecode_1_g2=0.700000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=bass*bass*0.25; +shape_1_per_frame2=a=bass*bass*0.12 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.99; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4= +per_frame_5= +per_frame_6= diff --git a/presets/presets_tryptonaut/EoS - dark side of the moon (plus a few more hits and a pill).milk b/presets/presets_tryptonaut/EoS - dark side of the moon (plus a few more hits and a pill).milk new file mode 100644 index 0000000000..e250d799c4 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - dark side of the moon (plus a few more hits and a pill).milk @@ -0,0 +1,260 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.000000 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.160000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=qtime=qtime+q1; +shape_0_per_frame2=x=0.5 + sin(qtime/38)/3; +shape_0_per_frame3=y=0.5 + cos(qtime/38)/3; +shape_0_per_frame4=rad=q1/2;; +shape_0_per_frame5=ang=q1*4 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=qtime=qtime+q2; +shape_1_per_frame2=x=0.5 + sin(qtime/38)/3.3; +shape_1_per_frame3=y=0.5 + cos(qtime/38)/3.3; +shape_1_per_frame4= +shape_1_per_frame5=rad=q2/2; +shape_1_per_frame6=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.590000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.970000 +shapecode_2_b=0.960000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=qtime=qtime+q3; +shape_2_per_frame2=x=0.5 + sin(qtime/38)/3.8; +shape_2_per_frame3=y=0.5 + cos(qtime/38)/3.8; +shape_2_per_frame4= +shape_2_per_frame5=rad=q3/2; +shape_2_per_frame6=ang=q3*5 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.499999 +shapecode_3_y=0.500000 +shapecode_3_rad=0.849364 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.712971 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.070000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.370000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.150000 +shape_3_per_frame1=ang=time/2; +shape_3_per_frame2=r2=sin(time)*0.5 + 0.5; +shape_3_per_frame3=g2=sin(time + 3.14*0.33)*0.5 + 0.5; +shape_3_per_frame4=b2=sin(time + 3.14*0.66)*0.5 + 0.5; +shape_3_per_frame5=fls=sin(time/1)*0.5+0.6; +shape_3_per_frame6=flip=(flip+fls) * below(flip,1.1); +shape_3_per_frame7=additive=flip; +shape_3_per_frame8= +shape_3_per_frame9=br=(sin(time/1) ) * 16; +shape_3_per_frame10=brr=-1+br; +shape_3_per_frame11=sides= min( max(brr,3), 8); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=speed=0.900; +per_frame_4=speedinv=1-speed; +per_frame_5=q1=(qa*speed + bass*speedinv); +per_frame_6=q2=(qb*speed + mid *speedinv); +per_frame_7=q3=(qc*speed + treb*speedinv); +per_frame_8=qa=q1; +per_frame_9=qb=q2; +per_frame_10=qc=q3; +per_frame_11= +per_frame_12= +per_pixel_1=rot=sin(rad*14 +time)*0.001; +per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; +per_pixel_3=dx=sin(rad*48 + time)*0.002; +per_pixel_4=dy=cos(ang*48 +time)*0.002; +per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; diff --git a/presets/presets_tryptonaut/EoS - ddg_phat_mix - Bitcore Tweak.milk b/presets/presets_tryptonaut/EoS - ddg_phat_mix - Bitcore Tweak.milk new file mode 100644 index 0000000000..84f69f8282 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - ddg_phat_mix - Bitcore Tweak.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001348 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.100000 +ob_g=0.600000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=8; +per_frame_2=zoom=1.000; +per_pixel_1=tm=sin(time*0.5)*3; +per_pixel_2=tm2=cos(time)*3; +per_pixel_3=zooma=above(sin(x*6.28*3+tm),0) * above(sin(y*6.28*2+tm2),0); +per_pixel_4=zooma=min(sin(x*6.28*3+tm)+1,1) * min(sin(y*6.28*2+tm)+1,1); +per_pixel_5=vol=((2*bass)*(2*mid*treb))/1.5; +per_pixel_6=zoom= 0.9*(zooma) + 0.99*(1-zooma); +per_pixel_7=rot=0.9*zooma*(vol*0.008)-0.03; diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Jelly V2).milk b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Jelly V2).milk new file mode 100644 index 0000000000..7ba697e997 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Jelly V2).milk @@ -0,0 +1,608 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=0.960 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.22019 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.300 +ib_size=0.090 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.500 +wavecode_0_b=0.100 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=bass_att*sin(time)*0.5+0.5; +wave_0_per_frame2=t2=bass_att*sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=treb_att*sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=treb_att*sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=mid_att*sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=mid_att*sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=mid_att*sin(time)*0.5+0.5; +wave_1_per_frame2=t2=treb_att*sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=mid_att*sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=bass_att*sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=bass_att*sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=treb_att*sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.86832 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.14605 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.100 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = .25*time; +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.75612 +shapecode_1_ang=0.75398 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74180 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.020 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.020 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=a = .025; +shape_1_per_frame2=a2 = .025; +shape_1_per_frame3= +shape_1_per_frame4=ang=sin(q1*0.15); +shape_1_per_frame5=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame6=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.06779 +shapecode_2_ang=0.75398 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.77977 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=0.98+.1*max(treb_att,bass_att); +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`//Geiss's Motion Blur +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` // this vector points exactly one pixel, in the direction of motion +warp_10=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_11=` +warp_12=` float3 s; +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_14=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_15=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_16=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_17=` +warp_18=` // darken over time +warp_19=` ret *= 0.95; +warp_20=` +warp_21=` // add noise +warp_22=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_23=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=` +comp_13=` ret = lerp(ret,1-ret,.7*GetBlur1(uv_y)+.2*GetPixel(uv)); +comp_14=` ret = lerp(ret,ret-.1*GetBlur3(uv_y)+.1*GetBlur1(uv_y2)+.42*GetPixel(uv_y),.25); +comp_15=` //ret *= .75; +comp_16=` ret *= saturate(length(ret-0.5)*5); +comp_17=` //ret = ret.xy; +comp_18=` ret = lum(ret); +comp_19=` ret += 1.25; +comp_20=` ret *= ret*.45; +comp_21=` float3 mask = GetBlur3(uv)-GetBlur1(uv)-.25*GetBlur2(uv_y); +comp_22=` ret *= lerp(.9*ret,1.2*ret*mask,pow(hue_shader.zxy,ret)); +comp_23=` ret += .02; +comp_24=` ret *= ret; +comp_25=` ret *= hue_shader.zxy; +comp_26=` ret *= 2; +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Stahl's Reactive RMX V2i2 - feat. flexi + phat).milk b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Stahl's Reactive RMX V2i2 - feat. flexi + phat).milk new file mode 100644 index 0000000000..07f09dac33 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b (Stahl's Reactive RMX V2i2 - feat. flexi + phat).milk @@ -0,0 +1,629 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.700 +fDecay=0.960 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.22019 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.090 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.500 +wavecode_0_b=0.100 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=bass_att*(sin(time)*0.5+0.5); +wave_0_per_frame2=t2=bass_att*(sin(time+2.1)*0.5+0.5); +wave_0_per_frame3=t3=treb_att*(sin(time+4.2)*0.5+0.5); +wave_0_per_frame4= +wave_0_per_frame5=t4=treb_att*(sin(-time+1.1)*0.5+0.5); +wave_0_per_frame6=t5=mid_att*(sin(-time+3.1)*0.5+0.5); +wave_0_per_frame7=t6=mid_att*(sin(-time+5.2)*0.5+0.5); +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=g = .5 + .5*sin(cang); +wave_0_per_point75=b = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=r = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=mid_att*(sin(1.57+time)*0.5+0.5); +wave_1_per_frame2=t2=treb_att*(sin(1.57+time+2.1)*0.5+0.5); +wave_1_per_frame3=t3=mid_att*(sin(1.57+time+4.2)*0.5+0.5); +wave_1_per_frame4= +wave_1_per_frame5=t4=bass_att*(sin(-time+1.1)*0.5+0.5); +wave_1_per_frame6=t5=bass_att*(sin(-time+3.1)*0.5+0.5); +wave_1_per_frame7=t6=treb_att*(sin(-time+5.2)*0.5+0.5); +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=b = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=r = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.500 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=treb_att*(sin(time+3.14)*0.5+0.5); +wave_2_per_frame2=t2=mid_att*(sin(time+2.1+3.14)*0.5+0.5); +wave_2_per_frame3=t3=bass_att*(sin(time+4.2+3.14)*0.5+0.5); +wave_2_per_frame4= +wave_2_per_frame5=t4=bass_att*(sin(-time+1.1+3.14)*0.5+0.5); +wave_2_per_frame6=t5=treb_att*(sin(-time+3.1+3.14)*0.5+0.5); +wave_2_per_frame7=t6=mid_att*(sin(-time+5.2+3.14)*0.5+0.5); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=(flip+1)*below(flip,1); +wave_2_per_point6= +wave_2_per_point7=xp=0; +wave_2_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point9=zp=0; +wave_2_per_point10= +wave_2_per_point11=//wrist movement; +wave_2_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point13= +wave_2_per_point14=xq=xp; +wave_2_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point16=yq=yp*sinang + zp*cosang; +wave_2_per_point17=zq=yp*cosang - zp*sinang; +wave_2_per_point18=yq=yp; +wave_2_per_point19=zq=zp; +wave_2_per_point20= +wave_2_per_point21=ang=tm*8; +wave_2_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point23=xp=xq*sinang + yq*cosang; +wave_2_per_point24=yp=xq*cosang - yq*sinang; +wave_2_per_point25=zp=zq; +wave_2_per_point26= +wave_2_per_point27=//forearm movement; +wave_2_per_point28=zp=zp-0.3; +wave_2_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point31=xq=xp; +wave_2_per_point32=yq=yp*sinang + zp*cosang; +wave_2_per_point33=zq=yp*cosang - zp*sinang; +wave_2_per_point34= +wave_2_per_point35=//upper arm twist +wave_2_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point38=xp=xq*sinang + yq*cosang; +wave_2_per_point39=yp=xq*cosang - yq*sinang; +wave_2_per_point40=zp=zq; +wave_2_per_point41= +wave_2_per_point42=//upper arm outward; +wave_2_per_point43=zp=zp-0.35; +wave_2_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point46=xq=xp*sinang + zp*cosang; +wave_2_per_point47=yq=yp; +wave_2_per_point48=zq=xp*cosang - zp*sinang; +wave_2_per_point49= +wave_2_per_point50=//upper arm up down; +wave_2_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point53=xp=xq; +wave_2_per_point54=yp=yq*cosang - zq*sinang; +wave_2_per_point55=zp=yq*sinang + zq*cosang; +wave_2_per_point56= +wave_2_per_point57=//xp=xq;yp=yq;zp=zq; +wave_2_per_point58= +wave_2_per_point59= +wave_2_per_point60=//project into screenspace and draw on screen +wave_2_per_point61=zp=zp+2; +wave_2_per_point62=xs=xp/zp; +wave_2_per_point63=ys=yp/zp; +wave_2_per_point64= +wave_2_per_point65=x=xs+0.5; +wave_2_per_point66=y=ys*1.3+0.5; +wave_2_per_point67= +wave_2_per_point68= +wave_2_per_point69=dx = if(flip,x,dx-x); +wave_2_per_point70=dy = if(flip,y,dy-y); +wave_2_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_2_per_point72=ang = abs(asin(dx/dz)); +wave_2_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_2_per_point74=g = .5 + .5*sin(cang); +wave_2_per_point75=b = .5 + .5*sin(cang + 1.047197); +wave_2_per_point76=r = .5 + .5*sin(cang + 2.094395); +wave_2_per_point77= +wave_2_per_point78=a=(1-sample)*above(sample,0); +wave_2_per_point79= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.38615 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.14605 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.100 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = .25*time; +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.06770 +shapecode_1_ang=0.75390 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.77970 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.010 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5+3.14) * 0.05 + 0.6; +shape_1_per_frame3=y=cos(q1*0.63+3.14)* 0.05 + 0.6 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.06770 +shapecode_2_ang=0.75390 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.77970 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.600 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.010 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.4; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.4; +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.06770 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.77977 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=0.95+.075*max(treb_att,bass_att); +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4-.05*time; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`//Geiss's Motion Blur +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv ).xyz; +warp_8=` +warp_9=` // this vector points exactly one pixel, in the direction of motion +warp_10=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_11=` +warp_12=` float3 s; +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_14=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_15=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_16=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_17=` +warp_18=` // darken over time +warp_19=` ret *= 0.95; +warp_20=` +warp_21=` // add noise +warp_22=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_23=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo2 = (uv - 0.5)*1.000*float2(-1,1) + 0.5; +comp_6=` float3 ret3 = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_7=` float3 ret4 = tex2D(sampler_main, uv_echo2).xyz*+saturate(GetBlur2(uv_echo2)*2.8 - 0.13); +comp_8=` ret3 = lerp(ret3,ret4,.5); +comp_9=` ret3 *= ret3; //darken +comp_10=` ret3 *= float3(.9,1.6,2.3); +comp_11=` ret3 *= 2; //gamma +comp_12=` //ret3 = pow(ret3,1-ret3); +comp_13=` +comp_14=` +comp_15=`uv =(6+2*sin(q1))*uv-sin(q1); +comp_16=`float2 m = floor(frac(uv*0.5)*2); +comp_17=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_18=` uv = float2(rad,uv_orig.y); +comp_19=` +comp_20=` +comp_21=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_22=` ret = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_23=` float3 ret2 = tex2D(sampler_main, uv_echo).xyz*+saturate(GetBlur2(uv_echo)*2.8 - 0.13); +comp_24=` ret = lerp(ret,ret2,.5); +comp_25=` ret *= ret; //darken +comp_26=` ret *= float3(.9,1.6,2.3); +comp_27=` ret *= 3; //gamma +comp_28=` //ret -= lum(ret3); +comp_29=` //ret *= 2; +comp_30=` //ret = pow(ret,5); +comp_31=` //ret = ret; +comp_32=` ret = lerp(ret3.xyz,ret.zxy,.25); +comp_33=`} diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b.milk new file mode 100644 index 0000000000..f565ed331e --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music shifter edit b.milk @@ -0,0 +1,537 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.7 +fDecay=0.960000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.033004 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.4 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.050000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.299900 +ib_size=0.090000 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=0.0 +nMotionVectorsX=3.0 +nMotionVectorsY=2.0 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.1 +wavecode_0_g=0.0 +wavecode_0_b=0.3 +wavecode_0_a=1.0 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.2 +wavecode_1_g=1.0 +wavecode_1_b=0.6 +wavecode_1_a=1.0 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=0.6 +wavecode_2_b=0.1 +wavecode_2_a=1.0 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=0.3 +wavecode_3_b=0.1 +wavecode_3_a=1.0 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=3.998815 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.250054 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=1.067790 +shapecode_1_ang=0.753982 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.741858 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=1.067790 +shapecode_2_ang=0.753982 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.779769 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=1.067700 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.779769 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 03 music.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music.milk new file mode 100644 index 0000000000..469dfb3f77 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 03 music.milk @@ -0,0 +1,540 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 04 music minimal.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 04 music minimal.milk new file mode 100644 index 0000000000..57e39cd8b9 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 04 music minimal.milk @@ -0,0 +1,541 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=(1-sample); +wave_0_per_point71= +wave_0_per_point72=b=b+pow(1-sample,2)*0.3; +wave_0_per_point73= +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76=r1=t1; +wave_0_per_point77=g1=t2; +wave_0_per_point78=b1=t3; +wave_0_per_point79=r2=t4; +wave_0_per_point80=g2=t5; +wave_0_per_point81=b2=t6; +wave_0_per_point82= +wave_0_per_point83=r=r1*flip + r2*(1-flip); +wave_0_per_point84=g=g1*flip + g2*(1-flip); +wave_0_per_point85=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=(1-sample); +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=b=b+pow(1-sample,2)*0.3; +wave_1_per_point75= +wave_1_per_point76=r1=t1; +wave_1_per_point77=g1=t2; +wave_1_per_point78=b1=t3; +wave_1_per_point79=r2=t4; +wave_1_per_point80=g2=t5; +wave_1_per_point81=b2=t6; +wave_1_per_point82= +wave_1_per_point83=r=r1*flip + r2*(1-flip); +wave_1_per_point84=g=g1*flip + g2*(1-flip); +wave_1_per_point85=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=mtime=mtime+vol*0.1*(75/fps); +per_frame_7= +per_frame_8=q1=mtime*0.4; +per_frame_9= +per_frame_10=warp=0 +per_frame_11= +per_frame_12= diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk new file mode 100644 index 0000000000..d21d0fc8ef --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk @@ -0,0 +1,682 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0 +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=var=tan(time)*treb*treb; +per_pixel_3= +per_pixel_4=zoom=1+(rad/40)+(var/40); +per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk new file mode 100644 index 0000000000..eb38c46aff --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk @@ -0,0 +1,694 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.105000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.055000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.200000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=1; +per_frame_21=zoom=1.002; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.4*flip*(37/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_32=cy=sin(mtime*0.33); +per_frame_33=cys=sign(cy); +per_frame_34=cy=cy*cy*cys; +per_frame_35=cy=cy*0.4+0.5; +per_frame_36= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb*treb; +per_pixel_3=var=-2*treb*treb*0.75; +per_pixel_4= +per_pixel_5=rdd=max( abs(x-0.5) , abs(y-0.5) )*4; +per_pixel_6=zm=1+(rdd/40)+(var/40); +per_pixel_7= +per_pixel_8=sx=zm; +per_pixel_9=sy=zm; +per_pixel_10=//rot=((rad/100)*var)*sin(time); diff --git a/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk new file mode 100644 index 0000000000..81a47fa19e --- /dev/null +++ b/presets/presets_tryptonaut/EoS - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk @@ -0,0 +1,719 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31 +per_frame_46= +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr diff --git a/presets/presets_tryptonaut/EoS - heater core C_Phat's_class + sparks_mix.milk b/presets/presets_tryptonaut/EoS - heater core C_Phat's_class + sparks_mix.milk new file mode 100644 index 0000000000..801e5d1172 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - heater core C_Phat's_class + sparks_mix.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.150000 +wavecode_3_a=1.000000 +wave_3_per_frame1=spark=rand(40); +wave_3_per_frame2=spark= above(spark,37); +wave_3_per_frame3= +wave_3_per_frame4=t1=spark; +wave_3_per_frame5=t2=0; +wave_3_per_frame6=t3=0; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=offran=1-t1*0.1; +wave_3_per_point3=sparkcycle=above( sin(n*2) , 0); +wave_3_per_point4= +wave_3_per_point5=zran=(rand(8) - 4); +wave_3_per_point6=xran=(rand(8) - 4); +wave_3_per_point7=yran=(rand(8) - 4); +wave_3_per_point8=alp=min( 1-abs(zran*0.25), min( 1-abs(xran*0.25),1-abs(yran*0.25) )); +wave_3_per_point9=alp=alp*alp; +wave_3_per_point10=a=alp*(1-t1) + t1; +wave_3_per_point11=zran=zran*0.001*offran; +wave_3_per_point12=xran=xran*0.001*offran; +wave_3_per_point13=yran=yran*0.001*offran; +wave_3_per_point14= +wave_3_per_point15=xseed=sin(sample*3.14+time*15)+sin(sample*11)*0.4; +wave_3_per_point16=yseed=cos(sample*3.14+time*9)+sin(sample*17+time)*0.4; +wave_3_per_point17=t2=t2+xseed*sparkcycle; +wave_3_per_point18=t3=t3+yseed*sparkcycle; +wave_3_per_point19=xspark=t2*0.002; +wave_3_per_point20=yspark=t3*0.008; +wave_3_per_point21= +wave_3_per_point22=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point23=zp=sin(time)+ zran; +wave_3_per_point24=zp=zp + yspark*t1*sparkcycle; +wave_3_per_point25= +wave_3_per_point26=aflux=sin(zp*3.14 + 3.14); +wave_3_per_point27=xp=sin(n)*0.1*aflux + xran; +wave_3_per_point28=xp=xp + xspark*t1*sparkcycle; +wave_3_per_point29=yp=cos(n)*0.1*aflux + yran; +wave_3_per_point30= +wave_3_per_point31=//rotate on y +wave_3_per_point32=ang=(q7+time*0.01)*0.2; +wave_3_per_point33=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point34=yp2=yp; +wave_3_per_point35=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point36= +wave_3_per_point37=//rotate on x +wave_3_per_point38=ang=(q7+time*0.01)*0.3; +wave_3_per_point39=xp3=xp2; +wave_3_per_point40=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point41=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point42= +wave_3_per_point43= +wave_3_per_point44=xp=xp3; +wave_3_per_point45=yp=yp3; +wave_3_per_point46=zp=zp3; +wave_3_per_point47= +wave_3_per_point48=zp=zp+2.1; +wave_3_per_point49=xs=xp/zp; +wave_3_per_point50=xs=xs+0.5; +wave_3_per_point51=ys=yp/zp; +wave_3_per_point52=ys=ys*1.3 + 0.5; +wave_3_per_point53= +wave_3_per_point54=x=xs; +wave_3_per_point55=y=ys; +wave_3_per_point56= +wave_3_per_point57= +wave_3_per_point58= +wave_3_per_point59= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=border_a=treb; +shape_0_per_frame2=rad=bass; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.216712 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=mtime=mtime+vol*0.018*(70/fps); +per_frame_6=q7=mtime; +per_frame_7=q8=vol +per_pixel_1=zoom=-1.02 + rad*10; +per_pixel_2=//rot=rad*500; diff --git a/presets/presets_tryptonaut/EoS - heater core C_Phat's_on route_mix+beam.milk b/presets/presets_tryptonaut/EoS - heater core C_Phat's_on route_mix+beam.milk new file mode 100644 index 0000000000..ea9baa3e4b --- /dev/null +++ b/presets/presets_tryptonaut/EoS - heater core C_Phat's_on route_mix+beam.milk @@ -0,0 +1,453 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.900000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-1.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.055000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.900000 +wavecode_0_b=0.800000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=freq=sin(q7*0.5)*4+4; +wave_0_per_point4= +wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_0_per_point6=xp=sin(n*1)*0.3*scale; +wave_0_per_point7=yp=cos(n*1)*0.3*scale; +wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); +wave_0_per_point9= +wave_0_per_point10=//rotate on y +wave_0_per_point11=ang=(q7+time*0.01)*0.2; +wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_0_per_point13=yp2=yp; +wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_0_per_point15= +wave_0_per_point16=//rotate on x +wave_0_per_point17=ang=(q7+time*0.01)*0.3; +wave_0_per_point18=xp3=xp2; +wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=xp=xp3; +wave_0_per_point24=yp=yp3; +wave_0_per_point25=zp=zp3; +wave_0_per_point26=zp=zp+2.1; +wave_0_per_point27=xs=xp/zp; +wave_0_per_point28=ys=yp/zp; +wave_0_per_point29= +wave_0_per_point30=x=xs+0.5; +wave_0_per_point31=y=ys*1.3+0.5; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.700000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=freq=sin(q7*0.5)*4+4; +wave_1_per_point4= +wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_1_per_point6=xp=sin(n*1)*0.3*scale; +wave_1_per_point7=yp=cos(n*1)*0.3*scale; +wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); +wave_1_per_point9= +wave_1_per_point10=//rotate on y +wave_1_per_point11=ang=(q7+time*0.01)*0.2; +wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); +wave_1_per_point13=yp2=yp; +wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); +wave_1_per_point15= +wave_1_per_point16=//rotate on x +wave_1_per_point17=ang=(q7+time*0.01)*0.3; +wave_1_per_point18=xp3=xp2; +wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=xp=xp3; +wave_1_per_point24=yp=yp3; +wave_1_per_point25=zp=zp3; +wave_1_per_point26=zp=zp+2.1; +wave_1_per_point27=xs=xp/zp; +wave_1_per_point28=ys=yp/zp; +wave_1_per_point29= +wave_1_per_point30=x=xs+0.5; +wave_1_per_point31=y=ys*1.3+0.5; +wave_1_per_point32= +wave_1_per_point33= +wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; +wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=freq=sin(q7*0.5)*4+4; +wave_2_per_point4= +wave_2_per_point5=aflux=sin(n*0.5); +wave_2_per_point6= +wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; +wave_2_per_point8=xp=rand(10)-5; +wave_2_per_point9=xp=xp*0.0008*aflux; +wave_2_per_point10=yp=rand(10)-5; +wave_2_per_point11=yp=yp*0.0008*aflux; +wave_2_per_point12=zp=sample*3-1.5; +wave_2_per_point13= +wave_2_per_point14=//rotate on y +wave_2_per_point15=ang=(q7+time*0.01)*0.2; +wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); +wave_2_per_point17=yp2=yp; +wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); +wave_2_per_point19= +wave_2_per_point20=//rotate on x +wave_2_per_point21=ang=(q7+time*0.01)*0.3; +wave_2_per_point22=xp3=xp2; +wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=xp=xp3; +wave_2_per_point28=yp=yp3; +wave_2_per_point29=zp=zp3; +wave_2_per_point30= +wave_2_per_point31=zp=zp+2.1; +wave_2_per_point32=xs=xp/zp; +wave_2_per_point33=ys=yp/zp; +wave_2_per_point34= +wave_2_per_point35=x=xs+0.5; +wave_2_per_point36=y=ys*1.3+0.5; +wave_2_per_point37= +wave_2_per_point38= +wave_2_per_point39= +wave_2_per_point40=a=aflux +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; +wave_3_per_point6=zp=sin(time); +wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); +wave_3_per_point8=xp=sin(n)*0.1*aflux; +wave_3_per_point9=yp=cos(n)*0.1*aflux; +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=//rotate on y +wave_3_per_point13=ang=(q7+time*0.01)*0.2; +wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yp2=yp; +wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=//rotate on x +wave_3_per_point19=ang=(q7+time*0.01)*0.3; +wave_3_per_point20=xp3=xp2; +wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); +wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); +wave_3_per_point23= +wave_3_per_point24= +wave_3_per_point25=xp=xp3; +wave_3_per_point26=yp=yp3; +wave_3_per_point27=zp=zp3; +wave_3_per_point28= +wave_3_per_point29=zp=zp+2.1; +wave_3_per_point30=xs=xp/zp; +wave_3_per_point31=ys=yp/zp; +wave_3_per_point32= +wave_3_per_point33=x=xs+0.5; +wave_3_per_point34=y=ys*1.3+0.5; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37= +wave_3_per_point38=a=aflux +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.650134 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.274293 +shapecode_0_r=0.500000 +shapecode_0_g=0.500000 +shapecode_0_b=1.000000 +shapecode_0_a=0.180000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=rate = fps/(fps+1/3); +shape_0_per_frame2=beat = above(bass,bassthresh); +shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); +shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); +shape_0_per_frame5=sides = poly; +shape_0_per_frame6= +shape_0_per_frame7=te = te + max(bass/fps/3,0.003); +shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); +shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); +shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); +shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); +shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); +shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); +shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); +shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); +shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.490000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 4; +shape_1_per_frame1= +shape_1_per_frame2=rate = fps/(fps+1/2); +shape_1_per_frame3=beat = above(bass,bassthresh); +shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); +shape_1_per_frame5=ran = rand(8)+4; +shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); +shape_1_per_frame7=//poly = if(above(poly,8),4,poly); +shape_1_per_frame8=sides = poly; +shape_1_per_frame9= +shape_1_per_frame10=rate2 = fps/(fps+10); +shape_1_per_frame11=out = (1-beat)*rate2*out + beat; +shape_1_per_frame12=border_a = out; +shape_1_per_frame13=te = bass/fps/2 + te; +shape_1_per_frame14=x = x + 0.056*sin(te*1.67); +shape_1_per_frame15=y = y + 0.043*sin(te*1.23); +shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); +shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; +shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); +shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); +shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); +shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); +shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); +shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.853568 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220190 +shapecode_2_r=0.980000 +shapecode_2_g=0.000000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.920000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.050000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.265151 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.100000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=rate = fps/(fps+1/2); +shape_3_per_frame2= +shape_3_per_frame3=ang = time*0.5; +shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; +shape_3_per_frame5=te = vol/fps + te; +shape_3_per_frame6=x = x + 0.2*sin(te*1.14); +shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); +shape_3_per_frame8= +shape_3_per_frame9=beat = above(vol*1.5,bassthresh); +shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); +shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); +shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); +shape_3_per_frame13=sides = poly; +shape_3_per_frame14=rad = rad-log(poly)/100; +shape_3_per_frame15= +shape_3_per_frame16=a=pow(vol*2,2); +shape_3_per_frame17=border_a=a; +shape_3_per_frame18=rad=rad*0.7+a*0.015 +per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 +per_frame_2= +per_frame_3=//Ever since Geiss made those presets I've made slight changes +per_frame_4=//to them and saved them. They were so cool, I used to watch +per_frame_5=//them for hours. This preset is then one that flowed from +per_frame_6=//changing and tweaking those. +per_frame_7= +per_frame_8=//Almost everything is changed, but the one shape, (shape 4) +per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is +per_frame_10=//obtained from the Feedback presets. +per_frame_11= +per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' +per_frame_13=//to change colours etc. It is also textured, so thats why +per_frame_14=//the 'triple' feedback is for. +per_frame_15= +per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe +per_frame_17=//like fashion on beats. They also change amount of sides. +per_frame_18= +per_frame_19=//-Reenen +per_frame_20= +per_frame_21= +per_frame_22=decay=1; +per_frame_23= +per_frame_24=vol=(bass+mid+treb)*0.25; +per_frame_25=vol=vol*vol; +per_frame_26=mtime=mtime+vol*0.018*(68/fps); +per_frame_27=q7=mtime; +per_frame_28=q8=vol +per_pixel_1=zoom=-1.02 + ((rad*(treb*10))*(bass*bass)); diff --git a/presets/presets_tryptonaut/EoS - multisphere 01 B_Phat_Ra_mix.milk b/presets/presets_tryptonaut/EoS - multisphere 01 B_Phat_Ra_mix.milk new file mode 100644 index 0000000000..0ab874a062 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - multisphere 01 B_Phat_Ra_mix.milk @@ -0,0 +1,347 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.350000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.200000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=ang=int(sample*12)/12 * 6.283; +wave_0_per_point3=ps=time*0.1; +wave_0_per_point4= +wave_0_per_point5=//circle; +wave_0_per_point6=xp=sin(n*12+ps)*0.5; +wave_0_per_point7=yp=cos(n*12+ps)*0.5; +wave_0_per_point8=zp=2 + q1*0.03; +wave_0_per_point9= +wave_0_per_point10=//positions on y axis +wave_0_per_point11=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point12=yq=yp; +wave_0_per_point13=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point14= +wave_0_per_point15=//rotate on x; +wave_0_per_point16=xp=xq; +wave_0_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_0_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_0_per_point19= +wave_0_per_point20=//rotate on z; +wave_0_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_0_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_0_per_point23=zq=zp; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=xp=xq; +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=zp=zp+8; +wave_0_per_point31=xs=xp/zp; +wave_0_per_point32=ys=yp/zp; +wave_0_per_point33= +wave_0_per_point34=x=xs+0.5; +wave_0_per_point35=y=ys*1.3+0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.500000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=ang=int(sample*12)/12 * 6.283; +wave_1_per_point3=ps=time*0.1; +wave_1_per_point4= +wave_1_per_point5=//circle; +wave_1_per_point6=xp=sin(n*12+ps)*0.5; +wave_1_per_point7=yp=cos(n*12+ps)*0.5; +wave_1_per_point8=zp=2 + q1*0.03; +wave_1_per_point9= +wave_1_per_point10=//positions on x axis +wave_1_per_point11=xq=xp; +wave_1_per_point12=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point13=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point14= +wave_1_per_point15=//rotate on x; +wave_1_per_point16=xp=xq; +wave_1_per_point17=yp=yq*sin(q2) + zq*cos(q2); +wave_1_per_point18=zp=yq*cos(q2) - zq*sin(q2); +wave_1_per_point19= +wave_1_per_point20=//rotate on z; +wave_1_per_point21=xq=xp*sin(q2) + yp*cos(q2); +wave_1_per_point22=yq=xp*cos(q2) - yp*sin(q2); +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=xp=xq; +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=zp=zp+8; +wave_1_per_point31=xs=xp/zp; +wave_1_per_point32=ys=yp/zp; +wave_1_per_point33= +wave_1_per_point34=x=xs+0.5; +wave_1_per_point35=y=ys*1.3+0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3=flip=flip+1; +wave_3_per_point4=flip=flip*below(flip,2); +wave_3_per_point5= +wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_3_per_point7= +wave_3_per_point8=xp=sin(n+phase)*flip; +wave_3_per_point9=yp=cos(n+phase)*flip; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//rotate on y during draw +wave_3_per_point13=ang=n*2+phase*0.2; +wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point15=yq=yp; +wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point17= +wave_3_per_point18=r1=0.1;g1=0.6;b1=1; +wave_3_per_point19=r2=1.0;g2=0.7;b2=0.1; +wave_3_per_point20=fade=xq*0.5 + 0.5; +wave_3_per_point21=r=r1*fade + r2*(1-fade); +wave_3_per_point22=g=g1*fade + g2*(1-fade); +wave_3_per_point23=b=b1*fade + b2*(1-fade); +wave_3_per_point24= +wave_3_per_point25=//rotation; +wave_3_per_point26=ang=time*0.1; +wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point28=yp=yq; +wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point30= +wave_3_per_point31=ang=time*0.17; +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=//push into viewspace +wave_3_per_point38=zq=zq+3.1; +wave_3_per_point39= +wave_3_per_point40= +wave_3_per_point41=//project into screenspace +wave_3_per_point42=xs=xq/zq; +wave_3_per_point43=ys=yq/zq; +wave_3_per_point44= +wave_3_per_point45= +wave_3_per_point46=x=xs+0.5; +wave_3_per_point47=y=ys*1.3+0.5; +wave_3_per_point48=a=(1-flip)*0.03*q1; +wave_3_per_point49= +wave_3_per_point50= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.986086 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.030301 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986086 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=1.030296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=-1.01; +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5=q1=vol; +per_frame_6= +per_frame_7=mtime=mtime+vol*0.01*(53/fps); +per_frame_8=q2=mtime*0.25; +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= diff --git a/presets/presets_tryptonaut/EoS - nematodes E daemon.milk b/presets/presets_tryptonaut/EoS - nematodes E daemon.milk new file mode 100644 index 0000000000..29f4eece51 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - nematodes E daemon.milk @@ -0,0 +1,362 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.980001 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=repeats=10; +wave_0_per_point2=samplerepeat=sample*repeats; +wave_0_per_point3=cycle=int(samplerepeat); +wave_0_per_point4=sampcyc=samplerepeat - cycle; +wave_0_per_point5=cycleto1=cycle/repeats; +wave_0_per_point6= +wave_0_per_point7=n=sampcyc*6.283; +wave_0_per_point8=phs=sampcyc; +wave_0_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_0_per_point10=tmm=time; +wave_0_per_point11=rsample=(1-sampcyc*0.9)*2.2*(cycleto1+1); +wave_0_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_0_per_point13=a=a*a; +wave_0_per_point14= +wave_0_per_point15=//waving +wave_0_per_point16=tmc=tm+cycle-phs*0.2; +wave_0_per_point17=variation=sin(cycleto1*6.283)*9; +wave_0_per_point18=swap=above(sample,0.5)*2-1; +wave_0_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_0_per_point21= +wave_0_per_point22=xp=sin(tm)*0.4 ; +wave_0_per_point23=yp=cos(tm)*0.4 ; +wave_0_per_point24= +wave_0_per_point25=xp=xp*sin(tm*3); +wave_0_per_point26=yp=yp*cos(tm*2.6); +wave_0_per_point27= +wave_0_per_point28=xp=xp*sin(tm*0.43); +wave_0_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_0_per_point30= +wave_0_per_point31=xp=xp+wavex; +wave_0_per_point32=yp=yp+wavey; +wave_0_per_point33= +wave_0_per_point34=x=xp+0.5; +wave_0_per_point35=y=yp*1.333 + 0.5; +wave_0_per_point36= +wave_0_per_point37= +wave_0_per_point38=trailsize=0.85; +wave_0_per_point39=head=above(a,trailsize); +wave_0_per_point40=tail=1-head; +wave_0_per_point41=r=1*head + 0.5*tail; +wave_0_per_point42=g=0.8*head + 0.3*tail; +wave_0_per_point43=b=0.5*head; +wave_0_per_point44= +wave_0_per_point45=a=a*0.25 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=repeats=8; +wave_1_per_point2=samplerepeat=sample*repeats; +wave_1_per_point3=cycle=int(samplerepeat); +wave_1_per_point4=sampcyc=samplerepeat - cycle; +wave_1_per_point5=cycleto1=cycle/repeats; +wave_1_per_point6= +wave_1_per_point7=n=sampcyc*6.283; +wave_1_per_point8=phs=sampcyc+0.15; +wave_1_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_1_per_point10=tmm=time; +wave_1_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_1_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_1_per_point13=a=a*a; +wave_1_per_point14= +wave_1_per_point15=//waving +wave_1_per_point16=tmc=tm+cycle-phs*0.2; +wave_1_per_point17=variation=sin(cycleto1*6.283)*9; +wave_1_per_point18=swap=above(sample,0.5)*2-1; +wave_1_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_1_per_point21= +wave_1_per_point22=xp=sin(tm)*0.4 ; +wave_1_per_point23=yp=cos(tm)*0.4 ; +wave_1_per_point24= +wave_1_per_point25=xp=xp*sin(tm*3); +wave_1_per_point26=yp=yp*cos(tm*2.6); +wave_1_per_point27= +wave_1_per_point28=xp=xp*sin(tm*0.43); +wave_1_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_1_per_point30= +wave_1_per_point31=xp=xp+wavex; +wave_1_per_point32=yp=yp+wavey; +wave_1_per_point33= +wave_1_per_point34=x=xp+0.5; +wave_1_per_point35=y=yp*1.333 + 0.5; +wave_1_per_point36= +wave_1_per_point37= +wave_1_per_point38=trailsize=0.85; +wave_1_per_point39=head=above(a,trailsize); +wave_1_per_point40=tail=1-head; +wave_1_per_point41=r=1*head + 0.5*tail; +wave_1_per_point42=g=0.8*head + 0.3*tail; +wave_1_per_point43=b=0.5*head; +wave_1_per_point44= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=repeats=6; +wave_2_per_point2=samplerepeat=sample*repeats; +wave_2_per_point3=cycle=int(samplerepeat); +wave_2_per_point4=sampcyc=samplerepeat - cycle; +wave_2_per_point5=cycleto1=cycle/repeats; +wave_2_per_point6= +wave_2_per_point7=n=sampcyc*6.283; +wave_2_per_point8=phs=sampcyc+0.25; +wave_2_per_point9=tm=q1+phs+(cycleto1)*0.1; +wave_2_per_point10=tmm=time; +wave_2_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); +wave_2_per_point12=a=sampcyc * below(sampcyc,0.95); +wave_2_per_point13=a=a*a; +wave_2_per_point14= +wave_2_per_point15=//waving +wave_2_per_point16=tmc=tm+cycle-phs*0.2; +wave_2_per_point17=variation=sin(cycleto1*6.283)*9; +wave_2_per_point18=swap=above(sample,0.5)*2-1; +wave_2_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; +wave_2_per_point21= +wave_2_per_point22=xp=sin(tm)*0.4 ; +wave_2_per_point23=yp=cos(tm)*0.4 ; +wave_2_per_point24= +wave_2_per_point25=xp=xp*sin(tm*3); +wave_2_per_point26=yp=yp*cos(tm*2.6); +wave_2_per_point27= +wave_2_per_point28=xp=xp*sin(tm*0.43); +wave_2_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); +wave_2_per_point30= +wave_2_per_point31=xp=xp+wavex; +wave_2_per_point32=yp=yp+wavey; +wave_2_per_point33= +wave_2_per_point34=x=xp+0.5; +wave_2_per_point35=y=yp*1.333 + 0.5; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=trailsize=0.85; +wave_2_per_point39=head=above(a,trailsize); +wave_2_per_point40=tail=1-head; +wave_2_per_point41=r=1*head + 0.5*tail; +wave_2_per_point42=g=0.8*head + 0.3*tail; +wave_2_per_point43=b=0.5*head; +wave_2_per_point44= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.680000 +shapecode_0_rad=0.808142 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.193805 +shapecode_0_tex_zoom=1.040604 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.700000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.210000 +shapecode_1_rad=0.564831 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.193805 +shapecode_1_tex_zoom=1.040604 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.150000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.700000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=-time*0.13; +shape_1_per_frame2=x=sin(time*0.29)*0.2 + 0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time*0.4; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +per_pixel_1=dx=sin(y*14)*sin(y*34+time)*0.002; +per_pixel_2=dy=cos(x*19+time)*cos(x*34)*0.002; +per_pixel_3=dy=dy diff --git a/presets/presets_tryptonaut/EoS - pointfield 04 arcs demon_phat edit_v3.milk b/presets/presets_tryptonaut/EoS - pointfield 04 arcs demon_phat edit_v3.milk new file mode 100644 index 0000000000..6583dd6956 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - pointfield 04 arcs demon_phat edit_v3.milk @@ -0,0 +1,382 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.004; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.7; +wave_0_per_point34=b=0.2; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.020000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+mid_att*mid_att*0.003; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3=t1=advance +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*5.3)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.20; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*7.4)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.20; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*14.4)+cos(s*1.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5); +wave_1_per_point23= +wave_1_per_point24=zp=zp*0.7; +wave_1_per_point25= +wave_1_per_point26=x_screen=-xp/zp + 0.5; +wave_1_per_point27=y_screen=-yp/zp + 0.5; +wave_1_per_point28= +wave_1_per_point29=x=x_screen; +wave_1_per_point30=y=y_screen; +wave_1_per_point31= +wave_1_per_point32=//r=0.6; +wave_1_per_point33=//g=1.0; +wave_1_per_point34=//b=0.2; +wave_1_per_point35= +wave_1_per_point36= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.20; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.14)+cos(s*13.4)+sin(s*37.7); +wave_2_per_point9=yp=yp*0.20; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*2.24)+cos(s*37.4)+cos(s*15.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5); +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=1; +wave_2_per_point34=b=1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=advance=advance+ 0.005; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*14.3)+sin(s*19.8); +wave_3_per_point5=xp=xp*0.20; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.34)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point9=yp=yp*0.20; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*27.4)+cos(s*14.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5); +wave_3_per_point23= +wave_3_per_point24=zp=zp*0.7; +wave_3_per_point25= +wave_3_per_point26=x_screen=xp/zp + 0.5; +wave_3_per_point27=y_screen=yp/zp + 0.5; +wave_3_per_point28= +wave_3_per_point29=x=x_screen; +wave_3_per_point30=y=y_screen; +wave_3_per_point31= +wave_3_per_point32=r=1; +wave_3_per_point33=g=1; +wave_3_per_point34=b=1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.611630 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=1.000000 +shapecode_0_g=0.900000 +shapecode_0_b=0.840000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time*0.5)*0.004 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.99; +per_frame_2=zoom=1.000; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=rot=((ang/200)*ang)*(bass*0.5); +per_pixel_2=warp=(rad/6)+treb; +per_pixel_3=cx=bass*rad; +per_pixel_4=cy=treb*rad; diff --git a/presets/presets_tryptonaut/EoS - pointfield 09 the gases beyond 85c.milk b/presets/presets_tryptonaut/EoS - pointfield 09 the gases beyond 85c.milk new file mode 100644 index 0000000000..f8243aa3b0 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - pointfield 09 the gases beyond 85c.milk @@ -0,0 +1,429 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=advance=0; +wave_0_init2=advance2=0; +wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_0_per_frame7=t2=advance2 +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.15; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_0_per_point9=yp=yp*0.15; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5)*2; +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=0.5; +wave_0_per_point34=b=0.1; +wave_0_per_point35=a=a*0.7; +wave_0_per_point36= +wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); +wave_0_per_point38= +wave_0_per_point39= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=advance=0; +wave_1_init2=advance2=0 +wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_1_per_frame3=t1=advance; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; +wave_1_per_frame7=t2=advance2 +wave_1_per_point1=s=sample*6.28; +wave_1_per_point2= +wave_1_per_point3=//plot random x position via function of sample pos; +wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_1_per_point5=xp=xp*0.15; +wave_1_per_point6= +wave_1_per_point7=//plot random y position via function of sample pos; +wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_1_per_point9=yp=yp*0.15; +wave_1_per_point10= +wave_1_per_point11=//plot random z position via function of sample pos; +wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_1_per_point13=zp=zp*0.25; +wave_1_per_point14= +wave_1_per_point15=//pull stars toward screen +wave_1_per_point16=zp=zp + 1 - t1; +wave_1_per_point17= +wave_1_per_point18=//correct when below 0 +wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point20= +wave_1_per_point21=//darken far stars +wave_1_per_point22=a=(1 - zp*0.5) * 0.3; +wave_1_per_point23=a=if( below(a,0), 0 , a); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=0.2; +wave_1_per_point34=g=0.7; +wave_1_per_point35=b=1.0; +wave_1_per_point36=a=a*0.5 +wave_1_per_point37= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=advance=0; +wave_2_init2=advance2=0 +wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_2_per_frame3=t1=advance; +wave_2_per_frame4= +wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_2_per_frame6=t2=advance2; +wave_2_per_point1=s=sample*6.28; +wave_2_per_point2= +wave_2_per_point3=//plot random x position via function of sample pos; +wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_2_per_point5=xp=xp*0.15; +wave_2_per_point6= +wave_2_per_point7=//plot random y position via function of sample pos; +wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_2_per_point9=yp=yp*0.15; +wave_2_per_point10= +wave_2_per_point11=//plot random z position via function of sample pos; +wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_2_per_point13=zp=zp*0.25; +wave_2_per_point14= +wave_2_per_point15=//pull stars toward screen +wave_2_per_point16=zp=zp + 1 - t1; +wave_2_per_point17= +wave_2_per_point18=//correct when below 0 +wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point20= +wave_2_per_point21=//darken far stars +wave_2_per_point22=a=(1 - zp*0.5)*2; +wave_2_per_point23= +wave_2_per_point24=zp=zp*0.7; +wave_2_per_point25= +wave_2_per_point26=x_screen=-xp/zp + 0.5; +wave_2_per_point27=y_screen=yp/zp + 0.5; +wave_2_per_point28= +wave_2_per_point29=x=x_screen; +wave_2_per_point30=y=y_screen; +wave_2_per_point31= +wave_2_per_point32=r=1; +wave_2_per_point33=g=0.5; +wave_2_per_point34=b=0.1; +wave_2_per_point35=a=a*0.7; +wave_2_per_point36= +wave_2_per_point37= +wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); +wave_2_per_point39= +wave_2_per_point40= +wavecode_3_enabled=1 +wavecode_3_samples=402 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=advance=0; +wave_3_init2=advance2=0 +wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; +wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); +wave_3_per_frame3=t1=advance; +wave_3_per_frame4= +wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; +wave_3_per_frame6=t2=advance2; +wave_3_per_point1=s=sample*6.28; +wave_3_per_point2= +wave_3_per_point3=//plot random x position via function of sample pos; +wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); +wave_3_per_point5=xp=xp*0.15; +wave_3_per_point6= +wave_3_per_point7=//plot random y position via function of sample pos; +wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); +wave_3_per_point9=yp=yp*0.15; +wave_3_per_point10= +wave_3_per_point11=//plot random z position via function of sample pos; +wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); +wave_3_per_point13=zp=zp*0.25; +wave_3_per_point14= +wave_3_per_point15=//pull stars toward screen +wave_3_per_point16=zp=zp + 1 - t1; +wave_3_per_point17= +wave_3_per_point18=//correct when below 0 +wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point20= +wave_3_per_point21=//darken far stars +wave_3_per_point22=a=(1 - zp*0.5) * 0.3; +wave_3_per_point23=a=if( below(a,0), 0 , a); +wave_3_per_point24= +wave_3_per_point25=zp=zp*0.7; +wave_3_per_point26= +wave_3_per_point27=x_screen=-xp/zp + 0.5; +wave_3_per_point28=y_screen=yp/zp + 0.5; +wave_3_per_point29= +wave_3_per_point30=x=x_screen; +wave_3_per_point31=y=y_screen; +wave_3_per_point32= +wave_3_per_point33=r=0.2; +wave_3_per_point34=g=0.7; +wave_3_per_point35=b=1.0; +wave_3_per_point36=a=a*0.5 +wave_3_per_point37= +wave_3_per_point38= +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.208824 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.734577 +shapecode_0_r=0.610000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*0.3 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.600000 +shapecode_1_b=0.900000 +shapecode_1_a=0.110000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); +shape_1_per_frame2=xsign = rand(2)*2 - 1; +shape_1_per_frame3= +shape_1_per_frame4=a=a * (1-xp); +shape_1_per_frame5= +shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; +shape_1_per_frame7= +shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.01; +per_frame_3= +per_frame_4=q1=time; +per_frame_5=q2=time; +per_frame_6=q3=time; +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); +per_frame_13=flash=if( above(flash,1) , flash-1 , flash); +per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); +per_frame_15=invert=0 diff --git a/presets/presets_tryptonaut/EoS - repeater 05 - rave on acid.milk b/presets/presets_tryptonaut/EoS - repeater 05 - rave on acid.milk new file mode 100644 index 0000000000..744151fe2f --- /dev/null +++ b/presets/presets_tryptonaut/EoS - repeater 05 - rave on acid.milk @@ -0,0 +1,636 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.740000 +shapecode_3_y=0.809999 +shapecode_3_rad=0.892690 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.082857 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.1*flip*(45/fps); +per_frame_26= +per_frame_27=q1=mtime*0.4; +per_frame_28= +per_frame_29=warp=0.0; +per_frame_30= +per_frame_31= +per_frame_32=q4 = min( vol*0.8 , 1 )*0.1 + 0.9 diff --git a/presets/presets_tryptonaut/EoS - repeater 15 - kaleidoscope b.milk b/presets/presets_tryptonaut/EoS - repeater 15 - kaleidoscope b.milk new file mode 100644 index 0000000000..643fa6c3cf --- /dev/null +++ b/presets/presets_tryptonaut/EoS - repeater 15 - kaleidoscope b.milk @@ -0,0 +1,640 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.100000 +wavecode_1_g=1.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.600000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60= +wave_3_per_point61=//project into screenspace and draw on screen +wave_3_per_point62=zp=zp+2; +wave_3_per_point63=xs=-xp/zp; +wave_3_per_point64=ys=yp/zp; +wave_3_per_point65= +wave_3_per_point66=x=xs+0.5; +wave_3_per_point67=y=ys*1.3+0.5; +wave_3_per_point68= +wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point70= +wave_3_per_point71= +wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=r=t4; +wave_3_per_point76=g=t5; +wave_3_per_point77=b=t6; +wave_3_per_point78= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.260000 +shapecode_0_y=0.809999 +shapecode_0_rad=0.892690 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.082857 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.740000 +shapecode_1_y=0.809999 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.082857 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.260000 +shapecode_2_y=0.179999 +shapecode_2_rad=0.892690 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.082857 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2/2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.499999 +shapecode_3_rad=0.476930 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.026830 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=0.4998 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1= +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19= +per_frame_20=decay=0.98; +per_frame_21=zoom=1.01; +per_frame_22= +per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_24=vol=vol*vol; +per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); +per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); +per_frame_27= +per_frame_28=q1=time*3; +per_frame_29= +per_frame_30=warp=0.0; +per_frame_31= +per_frame_32= +per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; +per_frame_34=q2 = mtimeb/30; +per_frame_35=sx=-1 diff --git a/presets/presets_tryptonaut/EoS - spark C_Phat_Jester_Mix_v2.milk b/presets/presets_tryptonaut/EoS - spark C_Phat_Jester_Mix_v2.milk new file mode 100644 index 0000000000..ff81df12c1 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - spark C_Phat_Jester_Mix_v2.milk @@ -0,0 +1,444 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.060000 +wavecode_0_g=0.040000 +wavecode_0_b=0.110000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=time*0.5; +wave_0_per_frame2=t2=time*0.33; +wave_0_per_frame3=t3=time*0.23; +wave_0_per_frame4=t8=-1 +wave_0_per_point1=scale=1+q1; +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283*4; +wave_0_per_point4=third=6.283/3; +wave_0_per_point5=cycle=int(sample*4); +wave_0_per_point6=pos=t8; +wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_0_per_point9=t8=pos; +wave_0_per_point10=points= equal(pos,0); +wave_0_per_point11=a=equal(pos,0)*q2; +wave_0_per_point12= +wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_0_per_point14=yp=pos; +wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_0_per_point16= +wave_0_per_point17=//rot x +wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_0_per_point19= +wave_0_per_point20=sang=sin(ang);cang=cos(ang); +wave_0_per_point21=xq=xp*sang + yp*cang; +wave_0_per_point22=yq=xp*cang - yp*sang; +wave_0_per_point23=zq=zp; +wave_0_per_point24=xp=xq;yp=yq;zp=zq; +wave_0_per_point25= +wave_0_per_point26=//rot y +wave_0_per_point27=ang=3.1415/2; +wave_0_per_point28=step1=equal(cycle,2)*third; +wave_0_per_point29=step2=equal(cycle,3)*third*2; +wave_0_per_point30=ang=ang+step1+step2; +wave_0_per_point31=ang=ang ; +wave_0_per_point32= +wave_0_per_point33=sang=sin(ang);cang=cos(ang); +wave_0_per_point34=xq=xp*sang + zp*cang; +wave_0_per_point35=yq=yp; +wave_0_per_point36=zq=xp*cang - zp*sang; +wave_0_per_point37=xp=xq;yp=yq;zp=zq; +wave_0_per_point38= +wave_0_per_point39=ang=time*0.23; +wave_0_per_point40=sang=sin(ang);cang=cos(ang); +wave_0_per_point41=xq=xp;; +wave_0_per_point42=yq=yp*sang + zp*cang; +wave_0_per_point43=zq=yp*cang - zp*sang; +wave_0_per_point44=xp=xq;yp=yq;zp=zq; +wave_0_per_point45= +wave_0_per_point46=ang=time*0.6; +wave_0_per_point47=sang=sin(ang);cang=cos(ang); +wave_0_per_point48=xq=xp*sang + zp*cang; +wave_0_per_point49=yq=yp; +wave_0_per_point50=zq=xp*cang - zp*sang; +wave_0_per_point51=xp=xq;yp=yq;zp=zq; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=zp=zp+4.1; +wave_0_per_point55=xs=xp/zp + 0.5; +wave_0_per_point56=ys=yp/zp *1.333 + 0.5; +wave_0_per_point57= +wave_0_per_point58=x=xs;y=ys; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61= +wave_0_per_point62=black=1 - equal(pos,0); +wave_0_per_point63=r=r*black; +wave_0_per_point64=g=g*black; +wave_0_per_point65=b=b*black; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.060000 +wavecode_1_g=0.040000 +wavecode_1_b=0.020000 +wavecode_1_a=1.000000 +wave_1_per_point1=scale=1+q1; +wave_1_per_point2= +wave_1_per_point3=n=sample*6.283*4; +wave_1_per_point4=third=6.283/3; +wave_1_per_point5=cycle=int(sample*4); +wave_1_per_point6=pos=t8; +wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); +wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); +wave_1_per_point9=t8=pos; +wave_1_per_point10=points= equal(pos,0); +wave_1_per_point11=a=equal(pos,0)*q2; +wave_1_per_point12= +wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; +wave_1_per_point14=yp=pos; +wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; +wave_1_per_point16= +wave_1_per_point17=//rot x +wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; +wave_1_per_point19= +wave_1_per_point20=sang=sin(ang);cang=cos(ang); +wave_1_per_point21=xq=xp*sang + yp*cang; +wave_1_per_point22=yq=xp*cang - yp*sang; +wave_1_per_point23=zq=zp; +wave_1_per_point24=xp=xq;yp=yq;zp=zq; +wave_1_per_point25= +wave_1_per_point26=//rot y +wave_1_per_point27=ang=3.1415/2; +wave_1_per_point28=step1=equal(cycle,2)*third; +wave_1_per_point29=step2=equal(cycle,3)*third*2; +wave_1_per_point30=ang=ang+step1+step2; +wave_1_per_point31=ang=ang ; +wave_1_per_point32=sang=sin(ang);cang=cos(ang); +wave_1_per_point33=xq=xp*sang + zp*cang; +wave_1_per_point34=yq=yp; +wave_1_per_point35=zq=xp*cang - zp*sang; +wave_1_per_point36=xp=xq;yp=yq;zp=zq; +wave_1_per_point37= +wave_1_per_point38=yp=-yp; +wave_1_per_point39=ang=time*0.23; +wave_1_per_point40=sang=sin(ang);cang=cos(ang); +wave_1_per_point41=xq=xp;; +wave_1_per_point42=yq=yp*sang + zp*cang; +wave_1_per_point43=zq=yp*cang - zp*sang; +wave_1_per_point44=xp=xq;yp=yq;zp=zq; +wave_1_per_point45= +wave_1_per_point46=ang=time*0.6; +wave_1_per_point47=sang=sin(ang);cang=cos(ang); +wave_1_per_point48=xq=xp*sang + zp*cang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cang - zp*sang; +wave_1_per_point51=xp=xq;yp=yq;zp=zq; +wave_1_per_point52= +wave_1_per_point53= +wave_1_per_point54=zp=zp+4.1; +wave_1_per_point55=xs=xp/zp + 0.5; +wave_1_per_point56=ys=yp/zp *1.333 + 0.5; +wave_1_per_point57= +wave_1_per_point58=x=xs;y=ys; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=a=a*(1-q8*0.5); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.210000 +wavecode_2_g=0.120000 +wavecode_2_b=0.050000 +wavecode_2_a=1.000000 +wave_2_per_frame1=advance=advance+ 0.005; +wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_2_per_frame3=t1=advance +wave_2_per_point1= +wave_2_per_point2=s=sample*6.28; +wave_2_per_point3= +wave_2_per_point4=//plot random x position via function of sample pos; +wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_2_per_point6=xp=xp*0.20; +wave_2_per_point7= +wave_2_per_point8=//plot random y position via function of sample pos; +wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_2_per_point10=yp=yp*0.20; +wave_2_per_point11= +wave_2_per_point12=//plot random z position via function of sample pos; +wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_2_per_point14=zp=zp*0.25; +wave_2_per_point15= +wave_2_per_point16=//pull stars toward screen +wave_2_per_point17=zp=zp + 1 - t1; +wave_2_per_point18= +wave_2_per_point19=//correct when below 0 +wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_2_per_point21= +wave_2_per_point22=//darken far stars +wave_2_per_point23=a=(1 - zp*0.5); +wave_2_per_point24= +wave_2_per_point25=zp=zp*0.7; +wave_2_per_point26= +wave_2_per_point27=x_screen=xp/zp + 0.5; +wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; +wave_2_per_point29= +wave_2_per_point30=x=x_screen; +wave_2_per_point31=y=y_screen; +wave_2_per_point32= +wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); +wave_2_per_point34= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.610000 +wavecode_3_g=0.720000 +wavecode_3_b=0.950000 +wavecode_3_a=1.000000 +wave_3_per_frame1=advance=advance+ 0.008; +wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_3_per_frame3=t1=advance +wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; +wave_3_per_point2= +wave_3_per_point3=s=sample*6.28; +wave_3_per_point4= +wave_3_per_point5=//plot random x position via function of sample pos; +wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_3_per_point7=xp=xp*0.20; +wave_3_per_point8= +wave_3_per_point9=//plot random y position via function of sample pos; +wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_3_per_point11=yp=yp*0.20; +wave_3_per_point12= +wave_3_per_point13=//plot random z position via function of sample pos; +wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_3_per_point15=zp=zp*0.25; +wave_3_per_point16= +wave_3_per_point17=//pull stars toward screen +wave_3_per_point18=zp=zp + 1 - t1; +wave_3_per_point19= +wave_3_per_point20=//correct when below 0 +wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); +wave_3_per_point22= +wave_3_per_point23=//darken far stars +wave_3_per_point24=a=(1 - zp*0.5); +wave_3_per_point25=a=a*sparkle; +wave_3_per_point26= +wave_3_per_point27=zp=zp*0.7; +wave_3_per_point28= +wave_3_per_point29=x_screen=xp/zp + 0.5; +wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; +wave_3_per_point31= +wave_3_per_point32=x=x_screen; +wave_3_per_point33=y=y_screen; +wave_3_per_point34= +wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); +wave_3_per_point36= +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.323535 +shapecode_0_ang=0.314159 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=4.722082 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a=q8 +shapecode_1_enabled=1 +shapecode_1_sides=36 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.919742 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.980296 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.940000 +shapecode_1_a2=0.060000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); +shape_1_per_frame2= +shape_1_per_frame3=ang=sin(time*0.5)*0.01; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.700000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=0.800000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.400000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.000; +per_frame_3=warp=0; +per_frame_4= +per_frame_5= +per_frame_6=q1=(mid_att+treb_att)*0.25; +per_frame_7= +per_frame_8=q2=1 - min(q1,2)*0.6; +per_frame_9= +per_frame_10= +per_frame_11=mvol=(bass_att+mid_att+treb_att)*0.33; +per_frame_12=mvolB=(mvolB-0.007) + mvol*0.007; +per_frame_13=mvolB=max(mvolB,0); +per_frame_14=mvolB=min(mvolB,1); +per_frame_15=q8=mvolB; +per_frame_16=monitor=q8 +per_frame_17= +per_pixel_1=zoom=.99 + (sin(ang*(2+(treb/3)) + time*3)*0.5 + 0.5)*0.04; +per_pixel_2=sx=-1; diff --git a/presets/presets_tryptonaut/EoS - tumbler demon mix high fps Phat_edit.milk b/presets/presets_tryptonaut/EoS - tumbler demon mix high fps Phat_edit.milk new file mode 100644 index 0000000000..a24c141b58 --- /dev/null +++ b/presets/presets_tryptonaut/EoS - tumbler demon mix high fps Phat_edit.milk @@ -0,0 +1,481 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=30.080032 +nMotionVectorsY=35.040012 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.399997 +mv_r=0.080001 +mv_g=0.710000 +mv_b=0.050000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.600000 +wavecode_0_b=0.200000 +wavecode_0_a=1.000000 +wave_0_init1=mtime=0 +wave_0_per_frame1=t1=q6 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=//cycle initial shape +wave_0_per_point4=sc=sample*32; +wave_0_per_point5=s=sc - int(sc); +wave_0_per_point6= +wave_0_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_0_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_0_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_0_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_0_per_point11=zp=0; +wave_0_per_point12= +wave_0_per_point13=yp=yp-0.475; +wave_0_per_point14= +wave_0_per_point15=//rotate on y axis during fram +wave_0_per_point16=ang=n*2; +wave_0_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point20= +wave_0_per_point21=//rotate on x axis +wave_0_per_point22=ang=t1*0.9; +wave_0_per_point23=xp=xq; +wave_0_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point26= +wave_0_per_point27=xq=xp; +wave_0_per_point28=yq=yp; +wave_0_per_point29=zq=zp; +wave_0_per_point30=ang=t1*0.2; +wave_0_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_0_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_0_per_point33=zq=zp; +wave_0_per_point34= +wave_0_per_point35=mirror=if(above(sample,0.5) , -1 , 1); +wave_0_per_point36= +wave_0_per_point37=xp=xq + sin(t1)*0.6; +wave_0_per_point38=xp=xp*mirror; +wave_0_per_point39=yp=yq + sin(t1*0.9)*0.6; +wave_0_per_point40=zp=zq + sin(t1*0.7)*0.6; +wave_0_per_point41= +wave_0_per_point42=zp=zp+1.1; +wave_0_per_point43= +wave_0_per_point44= +wave_0_per_point45=x=(xp/zp)*0.3 + 0.5; +wave_0_per_point46=y=(yp/zp)*1.3*0.3 + 0.5; +wave_0_per_point47= +wave_0_per_point48=zero= above(sample,0.49) * below(sample,0.51); +wave_0_per_point49=a=min(bass*bass,1)*0.6 * (1-zero); +wavecode_1_enabled=1 +wavecode_1_samples=252 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.500000 +wavecode_1_g=0.000000 +wavecode_1_b=0.700000 +wavecode_1_a=1.000000 +wave_1_init1=mtime=0 +wave_1_per_frame1=t1=q7 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2= +wave_1_per_point3=//cycle initial shape +wave_1_per_point4=sc=sample*32; +wave_1_per_point5=s=sc - int(sc); +wave_1_per_point6= +wave_1_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_1_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_1_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_1_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=yp=yp-0.475; +wave_1_per_point14= +wave_1_per_point15=//rotate on y axis during fram +wave_1_per_point16=ang=n*2; +wave_1_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point18=yq=yp; +wave_1_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point20= +wave_1_per_point21=//rotate on x axis +wave_1_per_point22=ang=t1; +wave_1_per_point23=xp=xq; +wave_1_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point26= +wave_1_per_point27=xq=xp; +wave_1_per_point28=yq=yp; +wave_1_per_point29=zq=zp; +wave_1_per_point30=ang=t1; +wave_1_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_1_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_1_per_point33=zq=zp; +wave_1_per_point34= +wave_1_per_point35= +wave_1_per_point36=mirror=if(above(sample,0.5) , -1 , 1); +wave_1_per_point37= +wave_1_per_point38=xp=xq + sin(t1)*0.6; +wave_1_per_point39=xp=xp*mirror; +wave_1_per_point40=yp=yq + sin(t1*0.9)*0.6; +wave_1_per_point41=zp=zq + sin(t1*0.7)*0.6; +wave_1_per_point42= +wave_1_per_point43=zp=zp+1.1; +wave_1_per_point44= +wave_1_per_point45= +wave_1_per_point46=x=(xp/zp)*0.3 + 0.5; +wave_1_per_point47=y=(yp/zp)*1.3*0.3 + 0.5; +wave_1_per_point48= +wave_1_per_point49=zero= above(sample,0.49) * below(sample,0.51); +wave_1_per_point50=a=min(mid*mid,1)*0.6 * (1-zero); +wavecode_2_enabled=1 +wavecode_2_samples=252 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.300000 +wavecode_2_g=0.600000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mtime=0 +wave_2_per_frame1=t1=q8 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2= +wave_2_per_point3=//cycle initial shape +wave_2_per_point4=sc=sample*32; +wave_2_per_point5=s=sc - int(sc); +wave_2_per_point6= +wave_2_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_2_per_point8=xp= if( above(s,0.75) , 1-s, xp ); +wave_2_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_2_per_point10=yp= if( above(s,0.75) , 0.75, yp); +wave_2_per_point11=zp=0; +wave_2_per_point12= +wave_2_per_point13=yp=yp-0.475; +wave_2_per_point14= +wave_2_per_point15=//rotate on y axis during fram +wave_2_per_point16=ang=n*2; +wave_2_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point18=yq=yp; +wave_2_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point20= +wave_2_per_point21=//rotate on x axis +wave_2_per_point22=ang=t1*0.9; +wave_2_per_point23=xp=xq; +wave_2_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point26= +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp; +wave_2_per_point29=zq=zp; +wave_2_per_point30=ang=t1*0.2; +wave_2_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_2_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_2_per_point33=zq=zp; +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=mirror=if(above(sample,0.5) , -1 , 1); +wave_2_per_point37= +wave_2_per_point38=xp=xq + sin(t1)*0.6; +wave_2_per_point39=xp=xp*mirror; +wave_2_per_point40=yp=yq + sin(t1*0.9)*0.6; +wave_2_per_point41=zp=zq + sin(t1*0.7)*0.6; +wave_2_per_point42= +wave_2_per_point43=zp=zp+1.1; +wave_2_per_point44= +wave_2_per_point45= +wave_2_per_point46=x=(xp/zp)*0.3 + 0.5; +wave_2_per_point47=y=(yp/zp)*1.3*0.3 + 0.5; +wave_2_per_point48= +wave_2_per_point49=zero= above(sample,0.49) * below(sample,0.51); +wave_2_per_point50=a=min(treb*treb,1)*0.6 * (1-zero); +wavecode_3_enabled=1 +wavecode_3_samples=252 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=//average location of cylinders +wave_3_per_frame2=x1=sin(q6)*0.6; +wave_3_per_frame3=y1=sin(q6*0.9)*0.6; +wave_3_per_frame4=z1=sin(q6*0.7)*0.6; +wave_3_per_frame5= +wave_3_per_frame6=x2=sin(q7)*0.6; +wave_3_per_frame7=y2=sin(q7*0.9)*0.6; +wave_3_per_frame8=z2=sin(q7*0.7)*0.6; +wave_3_per_frame9= +wave_3_per_frame10=x3=sin(q8)*0.6; +wave_3_per_frame11=y3=sin(q8*0.9)*0.6; +wave_3_per_frame12=z3=sin(q8*0.7)*0.6; +wave_3_per_frame13= +wave_3_per_frame14=xa=(x1+x2+x3)/3; +wave_3_per_frame15=ya=(y1+y2+y3)/3; +wave_3_per_frame16=za=(z1+z2+z3)/3; +wave_3_per_frame17= +wave_3_per_frame18=t1=xa; +wave_3_per_frame19=t2=ya; +wave_3_per_frame20=t3=za; +wave_3_per_frame21= +wave_3_per_frame22=mtime=(q6+q7+q8)/3; +wave_3_per_frame23=t8=mtime +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2= +wave_3_per_point3=//cycle initial shape +wave_3_per_point4=sc=sample*32; +wave_3_per_point5=s=sc - int(sc); +wave_3_per_point6= +wave_3_per_point7=xp= if( below(s,0.25) , s , 0.25); +wave_3_per_point8=xp= if( above(s,0.75) , 1-s, xp )*0.3; +wave_3_per_point9=yp= if( below(s,0.25) , 0.25, s ); +wave_3_per_point10=yp= if( above(s,0.75) , 0.75, yp)*0.3; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=yp=yp-0.475; +wave_3_per_point14= +wave_3_per_point15=//rotate on y axis during fram +wave_3_per_point16=ang=n*2; +wave_3_per_point17=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point18=yq=yp; +wave_3_per_point19=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point20= +wave_3_per_point21=//rotate on x axis +wave_3_per_point22=ang=t8*0.9; +wave_3_per_point23=xp=xq; +wave_3_per_point24=yp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point25=zp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point26= +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp; +wave_3_per_point29=zq=zp; +wave_3_per_point30=ang=t8*0.2; +wave_3_per_point31=xq=xp*sin(ang) + yp*cos(ang); +wave_3_per_point32=yq=xp*cos(ang) - yp*sin(ang); +wave_3_per_point33=zq=zp; +wave_3_per_point34= +wave_3_per_point35=mirror=if(above(sample,0.5) , -1 , 1); +wave_3_per_point36= +wave_3_per_point37=xp=xq +t1; +wave_3_per_point38=xp=xp*mirror; +wave_3_per_point39=yp=yq +t2; +wave_3_per_point40=zp=zq +t3; +wave_3_per_point41= +wave_3_per_point42=zp=zp+1.1; +wave_3_per_point43= +wave_3_per_point44= +wave_3_per_point45=x=(xp/zp)*0.3 + 0.5; +wave_3_per_point46=y=(yp/zp)*1.3*0.3 + 0.5; +wave_3_per_point47= +wave_3_per_point48=zero= above(sample,0.49) * below(sample,0.51); +wave_3_per_point49=a=min(pow((bass+mid+treb)*0.15,2) , 1)*0.3*(1-zero) +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995947 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.980295 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=0.498; +shape_0_per_frame2=x=0.4997 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791419 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=100.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.040000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=b2=sin(time); +shape_1_per_frame2=bdom=above(bass_att,mid_att ) * above(bass_att,treb_att); +shape_1_per_frame3=mdom=above(mid_att ,bass_att) * above(mid_att, treb_att); +shape_1_per_frame4=tdom=above(treb_att ,mid_att ) * above(treb_att,bass_att); +shape_1_per_frame5= +shape_1_per_frame6=r=bdom; +shape_1_per_frame7=r2=r; +shape_1_per_frame8=g=mdom; +shape_1_per_frame9=g2=g; +shape_1_per_frame10=b=tdom; +shape_1_per_frame11=b2=b +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=btime=0;mtime=0;ttime=0 +per_frame_init_9= +per_frame_1=decay=0.95; +per_frame_2=zoom=-1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=btime=btime + (bass*bass*bass)*0.005; +per_frame_6=mtime=mtime + (mid*mid*mid)*0.005; +per_frame_7=ttime=ttime + (treb*treb*treb)*0.005; +per_frame_8=q6=btime; +per_frame_9=q7=mtime; +per_frame_10=q8=ttime; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=dy=0.001; +per_frame_17= +per_frame_18=//fuck vidio echo! +per_pixel_1=zm=sin(ang*3 )*0.01; +per_pixel_2=zm=0; +per_pixel_3=// + sin(rad*rad*9+time)*0.1; +per_pixel_4= +per_pixel_5= +per_pixel_6=sx=1+zm; +per_pixel_7=sy=1-zm diff --git a/presets/presets_tryptonaut/EoS and PieturP - AlienSpaceshipInvasion 2.milk b/presets/presets_tryptonaut/EoS and PieturP - AlienSpaceshipInvasion 2.milk new file mode 100644 index 0000000000..57a7a971c8 --- /dev/null +++ b/presets/presets_tryptonaut/EoS and PieturP - AlienSpaceshipInvasion 2.milk @@ -0,0 +1,554 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=3.012146 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799999 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=13.668633 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance; +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2=//plot random x position via function of sample pos; +wave_0_per_point3=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point4=xp=xp*.20; +wave_0_per_point5=//plot random y position via function of sample pos; +wave_0_per_point6=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point7=yp=yp*.20; +wave_0_per_point8=//plot random z position via function of sample pos; +wave_0_per_point9=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point10=zp=zp*0.25; +wave_0_per_point11= +wave_0_per_point12=//pull stars toward screen +wave_0_per_point13=zp=zp + 1 - t1; +wave_0_per_point14= +wave_0_per_point15=//correct when below 0 +wave_0_per_point16=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point17= +wave_0_per_point18=//darken far stars +wave_0_per_point19=//a=(1 - zp*0.5); +wave_0_per_point20= +wave_0_per_point21=zp=zp*0.7; +wave_0_per_point22= +wave_0_per_point23=x=xp/zp + 0.5; +wave_0_per_point24=y=yp/zp + 0.5; +wave_0_per_point25= +wave_0_per_point26=h=sin(sample*6.28)*.5+.5; +wave_0_per_point27=//s=sin(zp)*.5+.5; +wave_0_per_point28=s=min(abs(zp*.9),1); +wave_0_per_point29=l=min(abs(bass_att*.7),1); +wave_0_per_point30=//l=1; +wave_0_per_point31=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point32=// +wave_0_per_point33=// HSL to RGB by PieturP +wave_0_per_point34=// +wave_0_per_point35=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point36=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point37=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point38=// +wave_0_per_point39=cc=(6*h); +wave_0_per_point40=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point41=zf=(6*h)-cc; +wave_0_per_point42=zm=l; +wave_0_per_point43=zp=l*(1-s); +wave_0_per_point44=zq=l*(1-s*zf); +wave_0_per_point45=zt=l*(1-s*(1-zf)); +wave_0_per_point46=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point47=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point48=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point49=rr=if(equal(s,0),l,rr); +wave_0_per_point50=gg=if(equal(s,0),l,gg); +wave_0_per_point51=bb=if(equal(s,0),l,bb); +wave_0_per_point52= +wave_0_per_point53=////////////////////////////////////////////////////////////////////////////// +wave_0_per_point54= +wave_0_per_point55=r=rr; +wave_0_per_point56=g=gg; +wave_0_per_point57=b=bb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=15.098679 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1= +wave_1_per_point2=//y=value1-value2+.5; +wave_1_per_point3=//qz=time; +wave_1_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_1_per_point5= +wave_1_per_point6=//qz=314;//314; +wave_1_per_point7=qz=314; +wave_1_per_point8=s=sin(time)*.2+.3; +wave_1_per_point9=//x=cos(value1+sample*qz)*.4+.5; +wave_1_per_point10=x=sample; +wave_1_per_point11=//y=sin(sample*qz)*.4+.5; +wave_1_per_point12=y=.103+value1; +wave_1_per_point13=r=0; +wave_1_per_point14=g=0; +wave_1_per_point15=b=0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.999996 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21= +wave_2_per_point22= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_3_per_frame3=vg = vol_avg*.1; +wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); +wave_3_per_point1=tm = q1; +wave_3_per_point2=sp = sample*6.28*8*6; +wave_3_per_point3= +wave_3_per_point4=vol = (value1+value2)*.5; +wave_3_per_point5=it = it*above(sample,0); +wave_3_per_point6=it = it + 1; +wave_3_per_point7=rad = .5 + vol; +wave_3_per_point8=ra = rad*sin(sample*3.14); +wave_3_per_point9=ox = ra*sin(sp); +wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; +wave_3_per_point11=oz = ra*cos(sp); +wave_3_per_point12= +wave_3_per_point13=xang = tm*.132; +wave_3_per_point14=sxang = 0; +wave_3_per_point15=yang = tm*.153; +wave_3_per_point16=ayang = 0; +wave_3_per_point17=zang = tm*.110; +wave_3_per_point18=azang = 0; +wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); +wave_3_per_point20=fov = .5; +wave_3_per_point21= +wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point24=ox = mx; +wave_3_per_point25=oy = my; +wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point28=ox = mx; +wave_3_per_point29=oz = mz; +wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point32=oy = my; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=oz = oz - 2; +wave_3_per_point36=x = ox*fov/oz + 0.5; +wave_3_per_point37=x = (x-.5)*0.75 + 0.5; +wave_3_per_point38=y = oy*fov/oz + 0.5; +wave_3_per_point39= +wave_3_per_point40=r = 1; +wave_3_per_point41=g = .25+.25*sin(sp); +wave_3_per_point42=b = 0; +wave_3_per_point43=a = .5 + (oz+2)*.5; +wave_3_per_point44=a = a*below(z,2); +wave_3_per_point45=minrgb = min(r,min(g,b)); +wave_3_per_point46=maxrgb = max(r,max(g,b)); +wave_3_per_point47=l = (maxrgb-minrgb)*.5; +wave_3_per_point48=diff = maxrgb-minrgb; +wave_3_per_point49=sum = maxrgb+minrgb; +wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); +wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); +wave_3_per_point52=h = h*0.1666666; +wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); +wave_3_per_point54= +wave_3_per_point55=h = h + time*0.05*1.324; +wave_3_per_point56=h = h - int(h); +wave_3_per_point57= +wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point59=tmpa = 2*l - tmpb; +wave_3_per_point60=hvr = h + .333333; +wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point62=hvg = h; +wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point64=hvb = h - .333333; +wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point66= +wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.140000 +shapecode_0_y=0.170000 +shapecode_0_rad=2.207644 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.255374 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.140000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100996 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=3.241264 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=p=p+.62; +shape_1_per_frame3=slowp=slowp+.062; +shape_1_per_frame4=p=below(p,6.283)*p; +shape_1_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_1_per_frame6=x=sin(p)*.35+.5; +shape_1_per_frame7=y=cos(p)*.35+.5; +shape_1_per_frame8=h=sin(slowp)*.5+.5; +shape_1_per_frame9=s=1; +shape_1_per_frame10=l=1; +shape_1_per_frame11=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame12=// +shape_1_per_frame13=// HSL to RGB by PieturP +shape_1_per_frame14=// +shape_1_per_frame15=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame16=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame17=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame18=// +shape_1_per_frame19=cc=(6*h); +shape_1_per_frame20=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame21=zf=(6*h)-cc; +shape_1_per_frame22=zm=l; +shape_1_per_frame23=zp=l*(1-s); +shape_1_per_frame24=zq=l*(1-s*zf); +shape_1_per_frame25=zt=l*(1-s*(1-zf)); +shape_1_per_frame26=monitor=zq; +shape_1_per_frame27=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame28=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame29=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame30=rr=if(equal(s,0),l,rr); +shape_1_per_frame31=gg=if(equal(s,0),l,gg); +shape_1_per_frame32=bb=if(equal(s,0),l,bb); +shape_1_per_frame33= +shape_1_per_frame34=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame35=r=rr; +shape_1_per_frame36=g=gg; +shape_1_per_frame37=b=bb; +shape_1_per_frame38= +shape_1_per_frame39=h=sin(slowp)*.5+.5; +shape_1_per_frame40=l=.5; +shape_1_per_frame41=s=.55; +shape_1_per_frame42=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame43=// +shape_1_per_frame44=// HSL to RGB by PieturP +shape_1_per_frame45=// +shape_1_per_frame46=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_1_per_frame47=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_1_per_frame48=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_1_per_frame49=// +shape_1_per_frame50=cc=(6*h); +shape_1_per_frame51=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_1_per_frame52=zf=(6*h)-cc; +shape_1_per_frame53=zm=l; +shape_1_per_frame54=zp=l*(1-s); +shape_1_per_frame55=zq=l*(1-s*zf); +shape_1_per_frame56=zt=l*(1-s*(1-zf)); +shape_1_per_frame57=monitor=zq; +shape_1_per_frame58=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_1_per_frame59=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_1_per_frame60=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_1_per_frame61=rr=if(equal(s,0),l,rr); +shape_1_per_frame62=gg=if(equal(s,0),l,gg); +shape_1_per_frame63=bb=if(equal(s,0),l,bb); +shape_1_per_frame64= +shape_1_per_frame65=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_1_per_frame66=r2=rr; +shape_1_per_frame67=g2=gg; +shape_1_per_frame68=b2=bb; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621745 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.451118 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.140000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.123235 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=3.241264 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1= +shape_3_per_frame2=p=p+.314; +shape_3_per_frame3=slowp=slowp+.00628; +shape_3_per_frame4=p=below(p,6.283)*p; +shape_3_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_3_per_frame6=my=my+(mid*mid*mid)*.02; +shape_3_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_3_per_frame8=x=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_3_per_frame9=y=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_3_per_frame10=h=sin(slowp)*.5+.5; +shape_3_per_frame11=s=min(abs(bass*.6),1); +shape_3_per_frame12=l=1; +shape_3_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame14=// +shape_3_per_frame15=// HSL to RGB by PieturP +shape_3_per_frame16=// +shape_3_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame20=// +shape_3_per_frame21=cc=(6*h); +shape_3_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame23=zf=(6*h)-cc; +shape_3_per_frame24=zm=l; +shape_3_per_frame25=zp=l*(1-s); +shape_3_per_frame26=zq=l*(1-s*zf); +shape_3_per_frame27=zt=l*(1-s*(1-zf)); +shape_3_per_frame28=monitor=zq; +shape_3_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame32=rr=if(equal(s,0),l,rr); +shape_3_per_frame33=gg=if(equal(s,0),l,gg); +shape_3_per_frame34=bb=if(equal(s,0),l,bb); +shape_3_per_frame35= +shape_3_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame37=r=rr; +shape_3_per_frame38=g=gg; +shape_3_per_frame39=b=bb; +shape_3_per_frame40= +shape_3_per_frame41=h=sin(slowp)*.5+.5; +shape_3_per_frame42=l=min(abs(bass*.6),1); +shape_3_per_frame43=s=1; +shape_3_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame45=// +shape_3_per_frame46=// HSL to RGB by PieturP +shape_3_per_frame47=// +shape_3_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_3_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_3_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_3_per_frame51=// +shape_3_per_frame52=cc=(6*h); +shape_3_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_3_per_frame54=zf=(6*h)-cc; +shape_3_per_frame55=zm=l; +shape_3_per_frame56=zp=l*(1-s); +shape_3_per_frame57=zq=l*(1-s*zf); +shape_3_per_frame58=zt=l*(1-s*(1-zf)); +shape_3_per_frame59=monitor=zq; +shape_3_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_3_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_3_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_3_per_frame63=rr=if(equal(s,0),l,rr); +shape_3_per_frame64=gg=if(equal(s,0),l,gg); +shape_3_per_frame65=bb=if(equal(s,0),l,bb); +shape_3_per_frame66= +shape_3_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_3_per_frame68=r2=rr; +shape_3_per_frame69=g2=gg; +shape_3_per_frame70=b2=bb; +shape_3_per_frame71=border_r=rr; +shape_3_per_frame72=border_g=gg; +shape_3_per_frame73=border_b=bb; +per_frame_1=wave_a=0; +per_frame_2=decay=1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=dx=0; +per_frame_6=dy=0; +per_frame_7=sx=1; +per_frame_8=sy=1; +per_frame_9= +per_frame_10=when=0; +per_frame_11= +per_frame_12=mm=mm+(mid*mid*mid)*.02; +per_frame_13=mm=below(mm,628)*mm; +per_frame_14=mt=mt+(bass*bass*bass)*.02; +per_frame_15=mt=below(mt,628)*mt; +per_frame_16= +per_frame_17=rot=if(equal(when,0),sin(mt*.1)*2+2,0)-2; +per_frame_18= +per_frame_19=//q1=.5;sin(time)*2+2; +per_frame_20=//q2=cos(time+(bs*.8))*12.56+12.56; +per_frame_21= +per_frame_22=zoom=if(equal(when,0),1-(sin(mm)*.2+.2),1); +per_frame_23=monitor=mt; +per_frame_24=cx=sin(time)*.035+.5; +per_frame_25=cy=cos(time)*.035+.5; diff --git a/presets/presets_tryptonaut/EoS+Phat - Arm_upgrades - transformer.milk b/presets/presets_tryptonaut/EoS+Phat - Arm_upgrades - transformer.milk new file mode 100644 index 0000000000..a5780cfb33 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat - Arm_upgrades - transformer.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.001822 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542785 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=65 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.020088 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shape_1_per_frame5= +shape_1_per_frame6=vol= (mid*mid+treb*treb); +shape_1_per_frame7=vol=vol* above(vol,1); +shape_1_per_frame8=//ang=ang+ vol*0.1; +shape_1_per_frame9=ang=(sin(time/2)*0.5+0.5)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550441 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(44/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos diff --git a/presets/presets_tryptonaut/EoS+Phat - Flare_dig_mix.milk b/presets/presets_tryptonaut/EoS+Phat - Flare_dig_mix.milk new file mode 100644 index 0000000000..998ba9ad36 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat - Flare_dig_mix.milk @@ -0,0 +1,279 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.630000 +fDecay=0.940000 +fVideoEchoZoom=1.001819 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.155000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=sin(n)*size + 0.5; +wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=r=sin(n)*0.5 + 0.5; +wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_0_per_point11=r=r*flux; +wave_0_per_point12=g=g*flux; +wave_0_per_point13=b=b*flux +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=sin(n)*size + 0.5; +wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; +wave_1_per_point6= +wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_1_per_point8=r=sin(n)*0.5 + 0.5; +wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; +wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; +wave_1_per_point11=r=r*flux; +wave_1_per_point12=g=g*flux; +wave_1_per_point13=b=b*flux +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662300 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=68 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724343 +shapecode_1_ang=6.283185 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.374926 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444840 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.166780 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364567 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(26/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.8; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+mid*0.1; +per_frame_31= +per_frame_32=xpos=sin(musictime*0.1)*0.2; +per_frame_33=ypos=cos(musictime*0.1)*0.2; +per_frame_34=q4=xpos; +per_frame_35=q5=ypos +per_pixel_1=rot=rad/(ang+0.1); diff --git a/presets/presets_tryptonaut/EoS+Phat - detached centerpoint.milk b/presets/presets_tryptonaut/EoS+Phat - detached centerpoint.milk new file mode 100644 index 0000000000..a17fdfed2a --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat - detached centerpoint.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=0.9; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_12=ib_b = 1-ob_b; +per_frame_13= +per_frame_14=monitor=yspeed; +per_frame_15= +per_frame_16=zoom=1; +per_frame_17= +per_frame_18=musictime=musictime+vol*(45/fps); +per_frame_19=q4=sin(musictime*0.02)*0.3; +per_frame_20=q5=sin(musictime*0.01)*0.3; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.1; +per_frame_23=dy=cos(musictime*0.069)*0.1; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5= +per_pixel_6=zm = log(sqrt(2)-rd) -0.24; +per_pixel_7=zm = max(abs(zm),0.25) * sign(zm); +per_pixel_8=sx=zm;sy=zm diff --git a/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors WF2 chaos theory.milk b/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors WF2 chaos theory.milk new file mode 100644 index 0000000000..9f2fb3dffa --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors WF2 chaos theory.milk @@ -0,0 +1,479 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_frame1=t1= sin(time*0.5)*1 +wave_0_per_point1= +wave_0_per_point2=n=sample*6.283; +wave_0_per_point3=size=0.165; +wave_0_per_point4= +wave_0_per_point5=x=sin(n)*size + 0.5; +wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point7= +wave_0_per_point8=f=t1; +wave_0_per_point9=//r=sin(n*3+f)*0.5 + 0.5; +wave_0_per_point10=//g=sin(n*3+f*1.5)*0.5+0.5; +wave_0_per_point11=//b=sin(n*3+f*2.0)*0.5 + 0.5; +wave_0_per_point12=r=0;g=0;b=0 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t1=1 +wave_1_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=t1=-t1; +wave_1_per_point3= +wave_1_per_point4= +wave_1_per_point5=phs=-sample*0.5; +wave_1_per_point6= +wave_1_per_point7= +wave_1_per_point8=xp=t1*sample*0.05; +wave_1_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_1_per_point10=yp=0; +wave_1_per_point11=zp=1; +wave_1_per_point12= +wave_1_per_point13=tm=q8*0.65; +wave_1_per_point14= +wave_1_per_point15=ang=(tm+phs*0.8)*8; +wave_1_per_point16=sang=sin(ang);cang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sang + zp*cang; +wave_1_per_point19=zq=yp*cang - zp*sang; +wave_1_per_point20=xp=xq;yp=yq;zp=zq; +wave_1_per_point21= +wave_1_per_point22=ang=(tm+phs)*0.2; +wave_1_per_point23=sang=sin(ang);cang=cos(ang); +wave_1_per_point24=xq=xp*sang + yp*cang; +wave_1_per_point25=yq=xp*cang - yp*sang; +wave_1_per_point26=zq=zp; +wave_1_per_point27=xp=xq;yp=yq;zp=zq; +wave_1_per_point28= +wave_1_per_point29=ang=(tm+phs)*0.37; +wave_1_per_point30=sang=sin(ang);cang=cos(ang); +wave_1_per_point31=xq=xp*sang + zp*cang; +wave_1_per_point32=yq=yp; +wave_1_per_point33=zq=xp*cang - zp*sang; +wave_1_per_point34=xp=xq;yp=yq;zp=zq; +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=backside = above(zp,0); +wave_1_per_point38= +wave_1_per_point39=zp=zp+2.5; +wave_1_per_point40=x=xp/zp+0.5; +wave_1_per_point41=y=yp/zp*1.33+0.5; +wave_1_per_point42= +wave_1_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_1_per_point44= +wave_1_per_point45=backside=backside*below(rd,0.645); +wave_1_per_point46=kill=1-backside; +wave_1_per_point47= +wave_1_per_point48=rs=sample; +wave_1_per_point49=rr=(rs-int(rs))*2; +wave_1_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_1_per_point51=r=min(rr,1)*above(rr,0); +wave_1_per_point52= +wave_1_per_point53=gs=sample*1.1; +wave_1_per_point54=gg=(gs-int(gs))*2; +wave_1_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_1_per_point56=g=min(gg,1)*above(gg,0); +wave_1_per_point57= +wave_1_per_point58=bs=sample*1.2; +wave_1_per_point59=bb=(bs-int(bs))*2; +wave_1_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_1_per_point61=b=min(bb,1)*above(bb,0); +wave_1_per_point62= +wave_1_per_point63=r=1-sample; +wave_1_per_point64=g=r*r; +wave_1_per_point65=b=sample*0.5; +wave_1_per_point66=a=min( (1-sample)*8 , 1)*kill +wave_1_per_point67= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1=1 +wave_2_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=t1=-t1; +wave_2_per_point3= +wave_2_per_point4= +wave_2_per_point5=phs=-sample*0.5+0.0006; +wave_2_per_point6= +wave_2_per_point7= +wave_2_per_point8=xp=t1*sample*0.05; +wave_2_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_2_per_point10=yp=0; +wave_2_per_point11=zp=1; +wave_2_per_point12= +wave_2_per_point13=tm=q8*0.65; +wave_2_per_point14= +wave_2_per_point15=ang=(tm+phs*0.8)*7; +wave_2_per_point16=sang=sin(ang);cang=cos(ang); +wave_2_per_point17=xq=xp; +wave_2_per_point18=yq=yp*sang + zp*cang; +wave_2_per_point19=zq=yp*cang - zp*sang; +wave_2_per_point20=xp=xq;yp=yq;zp=zq; +wave_2_per_point21= +wave_2_per_point22=ang=(tm+phs)*0.24; +wave_2_per_point23=sang=sin(ang);cang=cos(ang); +wave_2_per_point24=xq=xp*sang + yp*cang; +wave_2_per_point25=yq=xp*cang - yp*sang; +wave_2_per_point26=zq=zp; +wave_2_per_point27=xp=xq;yp=yq;zp=zq; +wave_2_per_point28= +wave_2_per_point29=ang=(tm+phs)*0.31; +wave_2_per_point30=sang=sin(ang);cang=cos(ang); +wave_2_per_point31=xq=xp*sang + zp*cang; +wave_2_per_point32=yq=yp; +wave_2_per_point33=zq=xp*cang - zp*sang; +wave_2_per_point34=xp=xq;yp=yq;zp=zq; +wave_2_per_point35= +wave_2_per_point36= +wave_2_per_point37=backside = above(zp,0); +wave_2_per_point38= +wave_2_per_point39=zp=zp+2.5; +wave_2_per_point40=x=xp/zp+0.5; +wave_2_per_point41=y=yp/zp*1.33+0.5; +wave_2_per_point42= +wave_2_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_2_per_point44= +wave_2_per_point45=backside=backside*below(rd,0.645); +wave_2_per_point46=kill=1-backside; +wave_2_per_point47= +wave_2_per_point48=rs=sample; +wave_2_per_point49=rr=(rs-int(rs))*2; +wave_2_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_2_per_point51=r=min(rr,1)*above(rr,0); +wave_2_per_point52= +wave_2_per_point53=gs=sample*1.1; +wave_2_per_point54=gg=(gs-int(gs))*2; +wave_2_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_2_per_point56=g=min(gg,1)*above(gg,0); +wave_2_per_point57= +wave_2_per_point58=bs=sample*1.2; +wave_2_per_point59=bb=(bs-int(bs))*2; +wave_2_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_2_per_point61=b=min(bb,1)*above(bb,0); +wave_2_per_point62= +wave_2_per_point63=r=1-sample; +wave_2_per_point64=g=r*r; +wave_2_per_point65=b=sample*0.5; +wave_2_per_point66= +wave_2_per_point67=a=min( (1-sample)*8 , 1)*kill +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=t1=-1 +wave_3_per_frame1=t2=sin(time*0.5)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=t1=-t1; +wave_3_per_point3= +wave_3_per_point4= +wave_3_per_point5=phs=-sample*0.5; +wave_3_per_point6= +wave_3_per_point7= +wave_3_per_point8=xp=t1*sample*0.05; +wave_3_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; +wave_3_per_point10=yp=0; +wave_3_per_point11=zp=1; +wave_3_per_point12= +wave_3_per_point13=tm=q8*0.65; +wave_3_per_point14= +wave_3_per_point15=ang=(tm+phs*0.8)*9; +wave_3_per_point16=sang=sin(ang);cang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sang + zp*cang; +wave_3_per_point19=zq=yp*cang - zp*sang; +wave_3_per_point20=xp=xq;yp=yq;zp=zq; +wave_3_per_point21= +wave_3_per_point22=ang=(tm+phs)*0.34; +wave_3_per_point23=sang=sin(ang);cang=cos(ang); +wave_3_per_point24=xq=xp*sang + yp*cang; +wave_3_per_point25=yq=xp*cang - yp*sang; +wave_3_per_point26=zq=zp; +wave_3_per_point27=xp=xq;yp=yq;zp=zq; +wave_3_per_point28= +wave_3_per_point29=ang=(tm+phs)*0.27; +wave_3_per_point30=sang=sin(ang);cang=cos(ang); +wave_3_per_point31=xq=xp*sang + zp*cang; +wave_3_per_point32=yq=yp; +wave_3_per_point33=zq=xp*cang - zp*sang; +wave_3_per_point34=xp=xq;yp=yq;zp=zq; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=backside = above(zp,0); +wave_3_per_point38= +wave_3_per_point39=zp=zp+2.5; +wave_3_per_point40=x=xp/zp+0.5; +wave_3_per_point41=y=yp/zp*1.33+0.5; +wave_3_per_point42= +wave_3_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +wave_3_per_point44= +wave_3_per_point45=backside=backside*below(rd,0.645); +wave_3_per_point46=kill=1-backside; +wave_3_per_point47= +wave_3_per_point48=rs=sample; +wave_3_per_point49=rr=(rs-int(rs))*2; +wave_3_per_point50=rr=if( above(rr,1) , 1-rr , rr ); +wave_3_per_point51=r=min(rr,1)*above(rr,0); +wave_3_per_point52= +wave_3_per_point53=gs=sample*1.1; +wave_3_per_point54=gg=(gs-int(gs))*2; +wave_3_per_point55=gg=if( above(gg,1) , 1-gg , gg ); +wave_3_per_point56=g=min(gg,1)*above(gg,0); +wave_3_per_point57= +wave_3_per_point58=bs=sample*1.2; +wave_3_per_point59=bb=(bs-int(bs))*2; +wave_3_per_point60=bb=if( above(bb,1) , 1-bb , bb ); +wave_3_per_point61=b=min(bb,1)*above(bb,0); +wave_3_per_point62= +wave_3_per_point63=r=1-sample; +wave_3_per_point64=g=r*r; +wave_3_per_point65=b=sample*0.5; +wave_3_per_point66=a=min( (1-sample)*8 , 1)*kill +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.049831 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866421 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.160960 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=8 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444841 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999996 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=time; +shape_2_per_frame2=thick=above(.9,bass); +shape_2_per_frame3=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=0.96; +per_frame_2= +per_frame_3=vol= (mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.03; +per_frame_20=dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24= +per_frame_25=q8=musictime*0.1; +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=warp=rad; +per_pixel_2= +per_pixel_3=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); +per_pixel_4= +per_pixel_5=backside=(rd-0.645)*3; +per_pixel_6=backside=min(backside,1); +per_pixel_7=//backside=backside*backside; +per_pixel_8=dx=dx*backside; +per_pixel_9=dy=dy*backside; +per_pixel_10=warp=warp*backside; +per_pixel_11=zoom=1 + 13.291 * pow(min(backside*0.2,1) , 2 ) +per_pixel_12= +per_pixel_13= diff --git a/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors_v2.milk b/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors_v2.milk new file mode 100644 index 0000000000..e0d27c3127 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat - spectrum bubble new colors_v2.milk @@ -0,0 +1,276 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1= sin(time*0.5)*1 +wave_0_per_point1= +wave_0_per_point2=n=sample*6.283; +wave_0_per_point3=size=0.165; +wave_0_per_point4= +wave_0_per_point5=x=sin(n)*size + 0.5; +wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; +wave_0_per_point7= +wave_0_per_point8=f=t1; +wave_0_per_point9=r=sin(n*3+f)*0.5 + 0.5; +wave_0_per_point10=g=sin(n*3+f*1.5)*0.5+0.5; +wave_0_per_point11=b=sin(n*3+f*2.0)*0.5 + 0.5; +wave_0_per_point12=//r=r*flux; +wave_0_per_point13=//g=g*flux; +wave_0_per_point14=//b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=flip=-flip; +wave_1_per_point3= +wave_1_per_point4=xp=0; +wave_1_per_point5=yp=0; +wave_1_per_point6=zp=0; +wave_1_per_point7= +wave_1_per_point8= +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=zp=zp+2.1; +wave_1_per_point12=x=xp/zp+0.5; +wave_1_per_point13=y=yp/zp*1.33+0.5; +wave_1_per_point14=r=1;g=1;b=1; +wave_1_per_point15=a=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.049831 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.866400 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.160960 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=8 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444841 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999996 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=time; +shape_2_per_frame2=thick=above(.9,bass); +shape_2_per_frame3=//sides=treb*20; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol*(75/fps); +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.03; +per_frame_20=dy=cos(musictime*0.069)*0.03; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; diff --git a/presets/presets_tryptonaut/EoS+Phat -Eater_v2.milk b/presets/presets_tryptonaut/EoS+Phat -Eater_v2.milk new file mode 100644 index 0000000000..3a085c550a --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat -Eater_v2.milk @@ -0,0 +1,288 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.700000 +fDecay=0.500000 +fVideoEchoZoom=1.001830 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=30.080032 +nMotionVectorsY=35.040012 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.399997 +mv_r=0.080001 +mv_g=0.710000 +mv_b=0.050000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=0; +wave_0_per_point5=y=sample; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=flux=flux* min( (1-abs(y-0.5)*2)*10 , 1); +wave_0_per_point9= +wave_0_per_point10=tm=time*0.3; +wave_0_per_point11=r=sin(n+tm)*0.5 + 0.5; +wave_0_per_point12=g=sin(n+2.1+tm)*0.5+0.5; +wave_0_per_point13=b=sin(n+4.2+tm)*0.5 + 0.5; +wave_0_per_point14=r=r*flux; +wave_0_per_point15=g=g*flux; +wave_0_per_point16=b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=0.999; +wave_1_per_point5=y=sample; +wave_1_per_point6= +wave_1_per_point7=r=0;g=0;b=0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.800000 +shapecode_0_y=0.190000 +shapecode_0_rad=0.808134 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=2.513274 +shapecode_0_tex_zoom=0.498313 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=52 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.486507 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.419991 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=//tex_zoom=2.235; +shape_1_per_frame3=x=.5-q4; +shape_1_per_frame4=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=23 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.808138 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.513274 +shapecode_2_tex_zoom=0.671638 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.300000 +shapecode_3_y=0.200000 +shapecode_3_rad=1.791414 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884955 +shapecode_3_tex_zoom=0.550443 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.6; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+(mid*mid)*0.003; +per_frame_31=basstime=basstime+(bass*bass)*0.03; +per_frame_32= +per_frame_33= +per_frame_34=xpos=sin(musictime*0.6)*0.01; +per_frame_35=ypos=sin(musictime*0.4)*0.01; +per_frame_36=q4=xpos; +per_frame_37=q5=ypos; +per_frame_38=q6=basstime +per_pixel_1=cx=0.5+q4; +per_pixel_2=cy=0.5-q5; +per_pixel_3=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_4=//zm=(1.1-(rd/4)); +per_pixel_5=zm=1; +per_pixel_6= +per_pixel_7=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_8=star=sin(ag*6+time)*(2-rd); +per_pixel_9= +per_pixel_10=sy=(-1/rd/ag/(rd/bass)); +per_pixel_11=sx=1; +per_pixel_12=rot=ag; diff --git a/presets/presets_tryptonaut/EoS+Phat -Shipwreaked_v3.milk b/presets/presets_tryptonaut/EoS+Phat -Shipwreaked_v3.milk new file mode 100644 index 0000000000..5fdb81d7be --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat -Shipwreaked_v3.milk @@ -0,0 +1,273 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.001809 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=30.080032 +nMotionVectorsY=35.040012 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.399997 +mv_r=0.080001 +mv_g=0.710000 +mv_b=0.050000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=0; +wave_0_per_point5=y=sample; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=flux=flux* min( (1-abs(y-0.5)*2)*10 , 1); +wave_0_per_point9= +wave_0_per_point10=tm=time*0.3; +wave_0_per_point11=r=sin(n+tm)*0.5 + 0.5; +wave_0_per_point12=g=sin(n+2.1+tm)*0.5+0.5; +wave_0_per_point13=b=sin(n+4.2+tm)*0.5 + 0.5; +wave_0_per_point14=r=r*flux; +wave_0_per_point15=g=g*flux; +wave_0_per_point16=b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=0.999; +wave_1_per_point5=y=sample; +wave_1_per_point6= +wave_1_per_point7=r=0;g=0;b=0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.900000 +shapecode_0_y=0.800000 +shapecode_0_rad=1.329072 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570797 +shapecode_0_tex_zoom=0.162171 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.700000 +shapecode_1_y=0.800000 +shapecode_1_rad=1.186456 +shapecode_1_ang=3.769911 +shapecode_1_tex_ang=1.256636 +shapecode_1_tex_zoom=0.463897 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=23 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.800000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.542784 +shapecode_2_ang=2.890266 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.690733 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.900000 +shapecode_3_y=0.900000 +shapecode_3_rad=0.599573 +shapecode_3_ang=5.654867 +shapecode_3_tex_ang=5.654867 +shapecode_3_tex_zoom=4.777722 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.6; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+(mid*mid)*0.003; +per_frame_31=basstime=basstime+(bass*bass)*0.03; +per_frame_32= +per_frame_33= +per_frame_34=xpos=sin(musictime*0.6)*0.01; +per_frame_35=ypos=sin(musictime*0.4)*0.01; +per_frame_36=q4=xpos; +per_frame_37=q5=ypos; +per_frame_38=q6=basstime +per_pixel_1=rot=rad+(ang/10); diff --git a/presets/presets_tryptonaut/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk b/presets/presets_tryptonaut/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk new file mode 100644 index 0000000000..74e28e2f88 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat Cool Bug v2 + (Krash's beat detection).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shape_1_per_frame3=ang = time/5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol*(75/fps); +per_frame_16= +per_frame_17=q4=sin(musictime*0.02)*0.3; +per_frame_18=q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.01; +per_frame_21=dy=cos(musictime*0.069)*0.01; +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=monitor=rot; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=//krash's beat detection code +per_frame_31=volume = 0.3*(bass+mid+att); +per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_35=peakbass_att = max(bass_att,peakbass_att); +per_frame_36=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_37=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_38=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_39=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_40=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatcounter = beatcounter + beat; +per_frame_42=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_43=flip = 2*mode-1; +per_frame_44=flip = flip*0.5+0.5; +per_frame_45= +per_frame_46=rot = -time/4 * flip; +per_frame_47= diff --git a/presets/presets_tryptonaut/EoS+Phat Emergent factors - Bitcore Tweak.milk b/presets/presets_tryptonaut/EoS+Phat Emergent factors - Bitcore Tweak.milk new file mode 100644 index 0000000000..3bf6e59b72 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat Emergent factors - Bitcore Tweak.milk @@ -0,0 +1,246 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.010000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=35.200005 +nMotionVectorsY=29.760006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.500000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.000000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.000000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.662308 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=.7; +per_frame_14= +per_frame_15=musictime=(musictime+vol*1.5)-1; +per_frame_16=q4=0.5; +per_frame_17=q5=0.5; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.05; +per_frame_20=dy=cos(musictime*0.069)*0.04; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd/rd)-.05; +per_pixel_6=rot=(rd/rd)+sin(time/5); diff --git a/presets/presets_tryptonaut/EoS+Phat Fractical_dancer_v2d.milk b/presets/presets_tryptonaut/EoS+Phat Fractical_dancer_v2d.milk new file mode 100644 index 0000000000..ac59c5c6bd --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat Fractical_dancer_v2d.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.615172 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=1 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.018423 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11=//ib_r=bass; +per_frame_12=//ib_g=treb; +per_frame_13=zoom=.9; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=q4=0; +per_frame_18=q5=0; +per_frame_19=//q4=sin(musictime*0.02)*0.1; +per_frame_20=//q5=sin(musictime*0.01)*0.1; +per_frame_21= +per_frame_22=dx=sin(musictime*0.1)*0.07; +per_frame_23=dy=cos(musictime*0.069)*0.07; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*3) + sqr( (y-0.5+q5)*2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)*1.4; diff --git a/presets/presets_tryptonaut/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk b/presets/presets_tryptonaut/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk new file mode 100644 index 0000000000..49bc0bbe13 --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat Speak with the orb_rotation_mix_time_mod.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.498313 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.030000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=above(treb_att,0.5); +shape_0_per_frame3=r2=sin(time*1.23); +shape_0_per_frame4=g2=cos(time*2.34); +shape_0_per_frame5=b2=sin(time*2.34); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5+q4;y=.5+q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.45; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*3.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9=mv_b = 0.5+0.4*sin(2.332*time); +per_frame_10=mv_a = vol*0.2; +per_frame_11=//ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_12=//ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_13=//ib_b = 1-ob_b; +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=zoom=.9; +per_frame_18= +per_frame_19=musictime=musictime+vol; +per_frame_20=q4=sin(musictime*0.02)*0.3; +per_frame_21=q5=sin(musictime*0.01)*0.3; +per_frame_22= +per_frame_23=dx=sin(musictime*0.1)*0.01; +per_frame_24=dy=cos(musictime*0.069)*0.01; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1= +per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; +per_pixel_6=zm = max(abs(zm),.99) * sign(zm); +per_pixel_7=sx=zm;sy=zm; +per_pixel_8=rd=((rd)/time); +per_pixel_9=rot=(rd/2)*bass_att; diff --git a/presets/presets_tryptonaut/EoS+Phat trail_of_darkness.milk b/presets/presets_tryptonaut/EoS+Phat trail_of_darkness.milk new file mode 100644 index 0000000000..606a42b53b --- /dev/null +++ b/presets/presets_tryptonaut/EoS+Phat trail_of_darkness.milk @@ -0,0 +1,247 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542790 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.024831 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.220184 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.027430 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=tex_ang=0.01; +shape_2_per_frame2=x=.4-q4; +shape_2_per_frame3=y=.5-q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=zoom=1; +per_frame_init_2=xpos=0; +per_frame_init_3=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16=q4=cos(musictime*0.02)*0.45; +per_frame_17=q5=cos(musictime*0.01)*0.45; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.01; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zoom=rd*(((rad*rd)*0.5)+(0.2))*1.01; diff --git a/presets/presets_tryptonaut/EoS_Phat technicolor F breather E god cock gaia pussy.milk b/presets/presets_tryptonaut/EoS_Phat technicolor F breather E god cock gaia pussy.milk new file mode 100644 index 0000000000..46044a0fae --- /dev/null +++ b/presets/presets_tryptonaut/EoS_Phat technicolor F breather E god cock gaia pussy.milk @@ -0,0 +1,493 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=st=1; +wave_0_per_frame1=t1=0; +wave_0_per_frame2=t2=sin(time*0.17)*0.5+0.5; +wave_0_per_frame3=t3=0; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time*0.3)*0.5+0.5; +wave_0_per_frame6=t4=t4*128; +wave_0_per_frame7= +wave_0_per_frame8= +wave_0_per_point1=n=sample*6.283 ; +wave_0_per_point2= +wave_0_per_point3=xp= 0; +wave_0_per_point4=yp= 0; +wave_0_per_point5=zp= 1; +wave_0_per_point6= +wave_0_per_point7=phs=sample*4; +wave_0_per_point8= +wave_0_per_point9=offset = sin(n*3)*(1-sample)*0.3; +wave_0_per_point10= +wave_0_per_point11=ang=(q2+phs)*1.78+offset; +wave_0_per_point12= +wave_0_per_point13=sang=sin(ang);cang=cos(ang); +wave_0_per_point14=xq=xp*sang + zp*cang; +wave_0_per_point15=yq=yp; +wave_0_per_point16=zq=xp*cang - zp*sang; +wave_0_per_point17=xp=xq;yp=yq;zp=zq; +wave_0_per_point18= +wave_0_per_point19= +wave_0_per_point20=ang=(q2+phs)*0.1+offset; +wave_0_per_point21=sang=sin(ang);cang=cos(ang); +wave_0_per_point22=xq=xp*sang + yp*cang; +wave_0_per_point23=yq=xp*cang - yp*sang; +wave_0_per_point24=zq=zp; +wave_0_per_point25=xp=xq;yp=yq;zp=zq; +wave_0_per_point26= +wave_0_per_point27= +wave_0_per_point28=ang=(q2+phs)*1.2+offset; +wave_0_per_point29=sang=sin(ang);cang=cos(ang); +wave_0_per_point30=xq=xp*sang + zp*cang; +wave_0_per_point31=yq=yp; +wave_0_per_point32=zq=xp*cang - zp*sang; +wave_0_per_point33=xp=xq;yp=yq;zp=zq; +wave_0_per_point34= +wave_0_per_point35= +wave_0_per_point36=zp=zp + 3; +wave_0_per_point37=x=xp/zp +0.5; +wave_0_per_point38=y=yp/zp*1.333 + 0.5 ; +wave_0_per_point39= +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=tm=time*3; +wave_0_per_point43=rr=tan(n + tm)*0.25; +wave_0_per_point44=gg=tan(n + tm + 2.1)*0.25; +wave_0_per_point45=bb=tan(n + tm + 4.2)*0.25; +wave_0_per_point46=r=min(rr,1)*above(rr,0); +wave_0_per_point47=g=min(gg,1)*above(gg,0); +wave_0_per_point48=b=min(bb,1)*above(bb,0); +wave_0_per_point49= +wave_0_per_point50=r=1- pow( 1-r,3); +wave_0_per_point51=g=1- pow( 1-g,3); +wave_0_per_point52=b=1- pow( 1-b,3); +wave_0_per_point53= +wave_0_per_point54=aa= sin(n*t4)*0.5+0.5; +wave_0_per_point55=aa=aa; +wave_0_per_point56=r=r*aa*q1; +wave_0_per_point57=g=g*aa*q1; +wave_0_per_point58=b=b*aa*q1; +wave_0_per_point59= +wave_0_per_point60=r=if(q3 , 1-r , r); +wave_0_per_point61=g=if(q3 , 1-g , g); +wave_0_per_point62=b=if(q3 , 1-b , b); +wave_0_per_point63= +wave_0_per_point64=a=1-pow( 1-sample , 2); +wave_0_per_point65= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=st=1; +wave_1_per_frame1=t1=0; +wave_1_per_frame2=t2=sin(time*0.17)*0.5+0.5; +wave_1_per_frame3=t3=0; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time*0.3)*0.5+0.5; +wave_1_per_frame6=t4=t4*128; +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_point1=n=sample*6.283 ; +wave_1_per_point2= +wave_1_per_point3=xp= 0; +wave_1_per_point4=yp= 0; +wave_1_per_point5=zp= 1; +wave_1_per_point6= +wave_1_per_point7=phs=sample*4; +wave_1_per_point8= +wave_1_per_point9=offset = -sin(n*3)*(1-sample)*0.3; +wave_1_per_point10= +wave_1_per_point11=ang=(q2+phs)*1.78+offset; +wave_1_per_point12= +wave_1_per_point13=sang=sin(ang);cang=cos(ang); +wave_1_per_point14=xq=xp*sang + zp*cang; +wave_1_per_point15=yq=yp; +wave_1_per_point16=zq=xp*cang - zp*sang; +wave_1_per_point17=xp=xq;yp=yq;zp=zq; +wave_1_per_point18= +wave_1_per_point19= +wave_1_per_point20=ang=(q2+phs)*0.1+offset; +wave_1_per_point21=sang=sin(ang);cang=cos(ang); +wave_1_per_point22=xq=xp*sang + yp*cang; +wave_1_per_point23=yq=xp*cang - yp*sang; +wave_1_per_point24=zq=zp; +wave_1_per_point25=xp=xq;yp=yq;zp=zq; +wave_1_per_point26= +wave_1_per_point27= +wave_1_per_point28=ang=(q2+phs)*1.2+offset; +wave_1_per_point29=sang=sin(ang);cang=cos(ang); +wave_1_per_point30=xq=xp*sang + zp*cang; +wave_1_per_point31=yq=yp; +wave_1_per_point32=zq=xp*cang - zp*sang; +wave_1_per_point33=xp=xq;yp=yq;zp=zq; +wave_1_per_point34= +wave_1_per_point35= +wave_1_per_point36=zp=zp + 3; +wave_1_per_point37=x=xp/zp +0.5; +wave_1_per_point38=y=yp/zp*1.333 + 0.5 ; +wave_1_per_point39= +wave_1_per_point40= +wave_1_per_point41= +wave_1_per_point42=tm=time*3; +wave_1_per_point43=rr=tan(n + tm)*0.25; +wave_1_per_point44=gg=tan(n + tm + 2.1)*0.25; +wave_1_per_point45=bb=tan(n + tm + 4.2)*0.25; +wave_1_per_point46=r=min(rr,1)*above(rr,0); +wave_1_per_point47=g=min(gg,1)*above(gg,0); +wave_1_per_point48=b=min(bb,1)*above(bb,0); +wave_1_per_point49= +wave_1_per_point50=r=1- pow( 1-r,3); +wave_1_per_point51=g=1- pow( 1-g,3); +wave_1_per_point52=b=1- pow( 1-b,3); +wave_1_per_point53= +wave_1_per_point54=aa= sin(n*t4)*0.5+0.5; +wave_1_per_point55=aa=aa; +wave_1_per_point56=r=r*aa*q1; +wave_1_per_point57=g=g*aa*q1; +wave_1_per_point58=b=b*aa*q1; +wave_1_per_point59= +wave_1_per_point60=r=if(q3 , 1-r , r); +wave_1_per_point61=g=if(q3 , 1-g , g); +wave_1_per_point62=b=if(q3 , 1-b , b); +wave_1_per_point63= +wave_1_per_point64=a=1-pow( 1-sample , 2); +wave_1_per_point65= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=5.91237 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.46815 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=100.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.000 +shapecode_1_r2=0.600 +shapecode_1_g2=0.700 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.700 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=rad=bass/5; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=flash=0; +per_frame_init_9= +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=decay=0.98; +per_frame_29=zoom=1.003; +per_frame_30= +per_frame_31=q1=(mid+treb)*0.5; +per_frame_32=q1=min(q1,1); +per_frame_33=q1=q1*q1; +per_frame_34=q1=1; +per_frame_35= +per_frame_36= +per_frame_37=vol=pow( (bass+mid+treb)*0.25 , 3); +per_frame_38=vol=min(vol,1); +per_frame_39= +per_frame_40=mtime=mtime+vol*0.1; +per_frame_41= +per_frame_42=q2=mtime; +per_frame_43= +per_frame_44= +per_frame_45= +per_frame_46=flash=if( below(flash,1) , flash + vol*0.25 , 0 ); +per_frame_47= +per_frame_48= +per_frame_49=//invert=above(sin(time*50),.5); +per_frame_50=invert=above(flash,0.5); +per_frame_51= +per_frame_52=invert=0; +per_frame_53= +per_frame_54=//q3=invert; +per_frame_55= +per_pixel_1=sy =1.0; +per_pixel_2=sx=sy; +per_pixel_3=//rot=-.5*rad/6; +per_pixel_4= +per_pixel_5=zm=(rad-0.5)*2; +per_pixel_6=zm= if( above(zm,1) , zm*treb , zm*bass ); +per_pixel_7= +per_pixel_8=zoom=0.999 + zm*0.005 +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 4; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *8; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *8; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *8; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` +warp_16=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_17=` ((uv_x.xyy*q27 +warp_18=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_19=` ).xyz* +warp_20=` float3(1,1,0)*0.05 + +warp_21=` time*float3(0,0,1)*q29 +warp_22=` ); +warp_23=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_24=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_25=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_26=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_27=` +warp_28=`// ret += - 0.004 +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0; +warp_29=`ret -= ret.yzx*0.2 - 0.06; +warp_30=` +warp_31=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret=tex2D(sampler_main,uv); +comp_4=`//ret=lum(ret)>0+(lum(ret)<=0.75)*ret; +comp_5=`ret=pow(GetBlur1(uv).xyz/treb_att,1-lum(saturate(ret.xyz))); +comp_6=`ret=pow(GetBlur2(uv).xyz/bass_att,1-lum(saturate(ret.xyz))); +comp_7=` +comp_8=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_9=` ((uv.xyy*q28 +comp_10=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_11=` ).xyz* +comp_12=` float3(1,1,0)*0.05 + +comp_13=` time*float3(0,0,1)*q31 +comp_14=` ); +comp_15=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_16=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_17=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_18=`ret=1-ret; +comp_19=`} diff --git a/presets/presets_tryptonaut/Eosphat-shipwreakedv5b.milk b/presets/presets_tryptonaut/Eosphat-shipwreakedv5b.milk new file mode 100755 index 0000000000..ac916ec725 --- /dev/null +++ b/presets/presets_tryptonaut/Eosphat-shipwreakedv5b.milk @@ -0,0 +1,275 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.001807 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=1.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.200027 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=0; +wave_0_per_point5=y=sample; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=flux=flux* min( (1-abs(y-0.5)*2)*10 , 1); +wave_0_per_point9= +wave_0_per_point10=tm=time*0.3; +wave_0_per_point11=r=sin(n+tm)*0.5 + 0.5; +wave_0_per_point12=g=sin(n+2.1+tm)*0.5+0.5; +wave_0_per_point13=b=sin(n+4.2+tm)*0.5 + 0.5; +wave_0_per_point14=r=r*flux; +wave_0_per_point15=g=g*flux; +wave_0_per_point16=b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=0.999; +wave_1_per_point5=y=sample; +wave_1_per_point6= +wave_1_per_point7=r=0;g=0;b=0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.700000 +shapecode_0_y=0.100000 +shapecode_0_rad=1.468120 +shapecode_0_ang=6.220354 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.796877 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.800000 +shapecode_1_y=0.200000 +shapecode_1_rad=1.198315 +shapecode_1_ang=4.712389 +shapecode_1_tex_ang=4.712389 +shapecode_1_tex_zoom=0.842757 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=sin(time/10)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=23 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.980000 +shapecode_2_rad=1.089239 +shapecode_2_ang=2.890266 +shapecode_2_tex_ang=5.654867 +shapecode_2_tex_zoom=0.809917 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.600000 +shapecode_3_y=0.800000 +shapecode_3_rad=0.599573 +shapecode_3_ang=5.654867 +shapecode_3_tex_ang=5.654867 +shapecode_3_tex_zoom=0.591190 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tex_ang=sin(time/5)*6.28; +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.01; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25=zoom=.4; +per_frame_26= +per_frame_27=monitor=rot; +per_frame_28= +per_frame_29= +per_frame_30=musictime=musictime+(mid*mid)*0.003; +per_frame_31=basstime=basstime+(bass*bass)*0.03; +per_frame_32= +per_frame_33= +per_frame_34=xpos=sin(musictime*0.6)*0.01; +per_frame_35=ypos=sin(musictime*0.4)*0.01; +per_frame_36=q4=xpos; +per_frame_37=q5=ypos; +per_frame_38=q6=basstime +per_pixel_1=rot=rad+(ang/100); diff --git a/presets/presets_tryptonaut/Esotic & Rozzer - Hippie Hypnotizer.milk b/presets/presets_tryptonaut/Esotic & Rozzer - Hippie Hypnotizer.milk new file mode 100755 index 0000000000..191718ad69 --- /dev/null +++ b/presets/presets_tryptonaut/Esotic & Rozzer - Hippie Hypnotizer.milk @@ -0,0 +1,274 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.716463 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724356 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 - (.1 * sin(time + (bass * 0.01))); +shape_1_per_frame2=y = 0.5 + (.1 * cos(time + (bass * 0.01))); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_tryptonaut/Esotic & Rozzer - Now And Later.milk b/presets/presets_tryptonaut/Esotic & Rozzer - Now And Later.milk new file mode 100755 index 0000000000..0530288b7a --- /dev/null +++ b/presets/presets_tryptonaut/Esotic & Rozzer - Now And Later.milk @@ -0,0 +1,283 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.547667 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time * 0.2)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time * 0.2)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 - (.1 * sin(time + (bass * 0.1))); +shape_1_per_frame2=y = 0.5 + (.1 * cos(time + (bass * 0.1))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.249785 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a = bass; +shape_2_per_frame2=r = mid; +shape_2_per_frame3=b = treb; +shape_2_per_frame4=r2 = 1.0 - r; +shape_2_per_frame5=b2 = 1.0 - b; +shape_2_per_frame6=rad = (bass * 0.5); +shapecode_3_enabled=1 +shapecode_3_sides=31 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.761306 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=//x = 0.5 + (.4 * sin(time * 0.2)); +shape_3_per_frame2=x = 0.15; +shape_3_per_frame3=y = 0.5 + (.4 * cos(time * 0.2)); +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_tryptonaut/Esotic & Rozzer - The Dark Side Of My Moon.milk b/presets/presets_tryptonaut/Esotic & Rozzer - The Dark Side Of My Moon.milk new file mode 100755 index 0000000000..69d1899ab9 --- /dev/null +++ b/presets/presets_tryptonaut/Esotic & Rozzer - The Dark Side Of My Moon.milk @@ -0,0 +1,285 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.940001 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.002906 +fWaveScale=0.262110 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.939900 +rot=-6.139995 +cx=0.500000 +cy=0.500000 +dx=0.001000 +dy=0.005000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=0.600000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.149900 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=192 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t3 = acos(-1)*128; +wave_0_init2=t4 = 4/3; +wave_0_per_frame1=spin = spin + .01; +wave_0_per_frame2=t2 = spin; +wave_0_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_0_per_frame4=green = abs(sin(time)) ; +wave_0_per_frame5=blue = cos(time) + abs(cos(time)); +wave_0_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_0_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_0_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_0_per_point1=rad = sample*t3+t2; +wave_0_per_point2=x = .5 + cos(rad/64)*0.65 + sin(rad)*0.35; +wave_0_per_point3=y = .5 + sin(rad/64)*t4*0.65 + cos(rad)*t4*0.35; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.547667 +shapecode_0_ang=6.283100 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999995 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 1+sin(q1); +shape_0_per_frame5=x = 0.5 + (.4 * sin(time * 0.2)); +shape_0_per_frame6=y = 0.5 - (.4 * cos(time * 0.2)); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.724300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=q9 = 4.5; +shape_1_per_frame2=x = 0.5 - (.1 * sin(q9)); +shape_1_per_frame3=y = 0.5 + (.1 * cos(q9)); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.249785 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a = bass; +shape_2_per_frame2=r = mid; +shape_2_per_frame3=b = treb; +shape_2_per_frame4=r2 = 1.0 - r; +shape_2_per_frame5=b2 = 1.0 - b; +shape_2_per_frame6=rad = (bass * 0.5); +shapecode_3_enabled=1 +shapecode_3_sides=31 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.976322 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//x = 0.5 + (.4 * sin(time * 0.2)); +shape_3_per_frame2=x = 0.15; +shape_3_per_frame3=//y = 0.5 + (.4 * cos(time * 0.2)); +shape_3_per_frame4=y = 0.49+ (bass * 0.02); +per_frame_init_1=my_rot = 0.01; +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1*abs(2.4*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=crest = .47+.5*abs(sin(slowtime)); +per_frame_6=dy = if(below(sy * crest, mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_g = max(0,abs(sin(slowtime))-.3) + .7; +per_frame_12=ob_b = max(-1.81535745*log10(ob_b * ib_a) , crest * wave_b) + 0.6; +per_frame_13=ob_r = .3*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_r * warp) , wave_x * sy)) + 0.6; +per_frame_14=ib_r = 1.0 - ob_r; +per_frame_15=ib_g = 1.0 - ob_g; +per_frame_16=ib_b = 1.0 - ob_b; +per_frame_17=zoomexp=if(below(zoomexp,0.5), 0.5, zoomexp); +per_frame_18=zoomexp=if(above(zoomexp,500.0), 500.0, zoomexp); +per_frame_19=dy=if(below(dy,-1), -6, dy); +per_frame_20=dy=if(above(dy,1.0), 6.0, dy); +per_frame_21=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_22=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_23=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_24=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_25=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_26=slowtime = slowtime + beat*time; +per_frame_27=q2=sin(slowtime); +per_frame_28=q3=slowtime; +per_frame_29=my_beat = my_beat + (1.0 * beat); +per_frame_30=my_beat = if(above(my_beat, 4), 1, my_beat); +per_frame_31=my_rot = if(above(my_rot, 0),my_rot + (0.005 * vol_mean),my_rot - (0.02 * vol_mean)); +per_frame_32=my_rot = if(above(my_rot, 0.230), .1, my_rot); +per_frame_33=my_rot = if(below(my_rot, -.6), 0.01, my_rot); +per_frame_34=rot = my_rot; +per_frame_35=zoom_target = (0.8 + (q2 * 0.1)); +per_frame_36=//move slowly towards zoom target? +per_frame_37=zoom = zoom + ((zoom_target - zoom) * .2); +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 500.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_8=rot = ang * 0.5; diff --git a/presets/presets_tryptonaut/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk b/presets/presets_tryptonaut/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk new file mode 100755 index 0000000000..4cd8d036f1 --- /dev/null +++ b/presets/presets_tryptonaut/Esotic & Rozzor - Pixie Party Light ((No Wave Invasion) Mandala Chill Red Yellow Mix).milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_frame_35=ob_g = bass; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_tryptonaut/EvilJim - Follow the ball.milk b/presets/presets_tryptonaut/EvilJim - Follow the ball.milk new file mode 100755 index 0000000000..acc49b76b7 --- /dev/null +++ b/presets/presets_tryptonaut/EvilJim - Follow the ball.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.250302 +fWaveSmoothing=0.000000 +fWaveParam=-0.250000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.990097 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r=bass*2; +per_frame_2=wave_g=mid*4; +per_frame_3=wave_b=treb*0.6; +per_pixel_1=dx=if(above(x,bass*0.6),0.02,-0.02); +per_pixel_2=dy=if(above(y,treb_att*0.5),0.02,-0.02); diff --git a/presets/presets_tryptonaut/EvilJim - Ice Drops.milk b/presets/presets_tryptonaut/EvilJim - Ice Drops.milk new file mode 100755 index 0000000000..e92096aecc --- /dev/null +++ b/presets/presets_tryptonaut/EvilJim - Ice Drops.milk @@ -0,0 +1,61 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999601 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.199862 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000353 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=0.999511 +rot=0.000000 +cx=0.500001 +cy=0.050000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000158 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.999000 +wave_y=0.000000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r=treb; +per_frame_3=wave_g=mid; +per_frame_4=wave_b=bass; +per_frame_5=dy=bass/50; diff --git a/presets/presets_tryptonaut/Flexi + Geiss + Demon Lord - unholy tokamak clot-plot.milk b/presets/presets_tryptonaut/Flexi + Geiss + Demon Lord - unholy tokamak clot-plot.milk new file mode 100755 index 0000000000..e696ca6b0a --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss + Demon Lord - unholy tokamak clot-plot.milk @@ -0,0 +1,483 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.03442 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.53189 +shapecode_1_ang=0.25133 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.33450 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = -0.2*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`float2 d, uv_y; +comp_2=`float3 dx, dy; +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=` float zoom =1.81; +comp_7=` float2 c = float2(0.448+q9,0.701+q10); +comp_8=` float2 my_uv2 = (uv-0.5)*zoom; +comp_9=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; +comp_10=` my_uv2 = 1.0 - abs( frac( my_uv2 * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_11=` +comp_12=` float julia = GetPixel(my_uv2).z; +comp_13=` +comp_14=` d = texsize.zw*3; +comp_15=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_16=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_17=` +comp_18=`float3 base = GetPixel(uv); +comp_19=`float3 emboss = (-dx + dy + 1)*1.4; +comp_20=`float grad_x = length(float2(dx.x,dy.x)); +comp_21=`float grad_y = length(float2(dx.y,dy.y)); +comp_22=` +comp_23=` +comp_24=`ret = lerp( float3(0.6,0.5,0.4)*base.x*emboss.x, +comp_25=` float3(4,2,1)*grad_x, +comp_26=` grad_x*2 +comp_27=` ); +comp_28=` +comp_29=` +comp_30=`ret = lerp(ret, float3(0.3,0,0), julia*4); +comp_31=`ret = lerp(ret, float3(0,0,1.4), grad_y*1.4); +comp_32=`ret = lerp(ret, 0.5, base.y*2); +comp_33=`} +comp_34=` diff --git a/presets/presets_tryptonaut/Flexi + Geiss - Bipolar vs. Reaction Diffusion mix.milk b/presets/presets_tryptonaut/Flexi + Geiss - Bipolar vs. Reaction Diffusion mix.milk new file mode 100755 index 0000000000..7e5d6a1a6d --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss - Bipolar vs. Reaction Diffusion mix.milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.113); +per_frame_5=rot = rot + 0.01*sin(time*0.533); +per_frame_6=rot = rot + 0.02*sin(time*-0.323); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2)*0.0072*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2)*0.0054*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=0.9615+rad*0.1; +per_pixel_2=rot = rot * 3*(1-pow(rad*2-1,2)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_6=` +warp_7=` // take the difference between the crisp and blurred images, +warp_8=` // then add it back into the image. Creates spots and stripes over time. +warp_9=` ret.xyz += (ret - GetBlur3(uv))*0.35; +warp_10=` ret.xyz -= 0.004; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*0.18; +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv)*0.8 - 0.4 ; +comp_5=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_6=`c = c + b - c*b; +comp_7=`a = a + c - a*c; +comp_8=`base = 1.4*a; +comp_9=`ret = base*(1-base)*(1-base)*4*float3(1,0.45,-0.4) + pow(base,2)*float3(0.1,0.2,0.3); +comp_10=`//ret.xy = ret.yx; +comp_11=`} diff --git a/presets/presets_tryptonaut/Flexi + Geiss - Tokamak mindblob 2.0.milk b/presets/presets_tryptonaut/Flexi + Geiss - Tokamak mindblob 2.0.milk new file mode 100755 index 0000000000..ad09d2e8c4 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss - Tokamak mindblob 2.0.milk @@ -0,0 +1,469 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = -0.2*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`//uv = uv + 0.02*float2(cos(uv.y*27),sin(uv.x*39)); +comp_4=`float2 m = float2(1-q4,q8); +comp_5=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop +comp_6=`float2 mid_uv = m + (uv-m)*0.996; +comp_7=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y); +comp_8=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect? +comp_9=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow +comp_10=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x); +comp_11=`//ret = tex2D(sampler_main, uv); +comp_12=`} diff --git a/presets/presets_tryptonaut/Flexi + Geiss - antagonizing beat detection codes.milk b/presets/presets_tryptonaut/Flexi + Geiss - antagonizing beat detection codes.milk new file mode 100755 index 0000000000..6c9c47a870 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss - antagonizing beat detection codes.milk @@ -0,0 +1,307 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.320 +fDecay=1.000 +fVideoEchoZoom=1.220 +fVideoEchoAlpha=0.150 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.691 +fWaveScale=4.778 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01010 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.015 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=1.800 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11= +per_frame_12= +per_frame_13=//lines below belong to the composite shader (flexis kaleidoscope) +per_frame_14= +per_frame_15=//flexi's beat detection (made for breakbeats) +per_frame_16=vol = bass*8 + mid*5 + treb*3; +per_frame_17=m = m*0.97 + vol*0.08; +per_frame_18=monitor = vol; +per_frame_19=beat = above(vol,res)*above(vol,m)*above(vol,16); +per_frame_20=diff = (1-beat)*diff + beat*(vol-res); +per_frame_21=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +per_frame_22=res = max(0,res); +per_frame_23= +per_frame_24=w = if(beat, rand(4096)/1024*asin(1),w); // on beat: randomize pos and angle of the kaleidoscope +per_frame_25=xx = if(beat, 0.1 + rand(800)/1000, xx); +per_frame_26=yy = if(beat, 0.1 + rand(800)/1000, yy); +per_frame_27= +per_frame_28=//geiss' custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_29=decay_rate = pow(0.995, fps); // lower # = more hasty to declare a beat +per_frame_30=min_att = 2.2; // lower # = quieter songs can declare beats +per_frame_31=decay_to = 1; // lower # = more hasty to declare a beat +per_frame_32=beat = bass/max(min_att,bass_att); +per_frame_33=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_34=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_35=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_36=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_37=is_beat = above(beat_level, 0.5); +per_frame_38=prev_beat = beat; +per_frame_39= +per_frame_40=w = if(is_beat, w + (rand(256)-128)/1024, w); // on beat: random increment of pos and angle +per_frame_41=xx = if(is_beat, xx + (rand(256)-128)/4096, xx); +per_frame_42=yy = if(is_beat, yy + (rand(256)-128)/4096, yy); +per_frame_43= +per_frame_44= +per_frame_45=q11 = sin(w); // w - angle of kaleidoscope +per_frame_46=q12 = cos(w); +per_frame_47=q13 = xx; // center of kaleidoscope window +per_frame_48=q14 = yy; +per_frame_49=q17 = sin(-w); +per_frame_50=q18 = cos(-w); +per_pixel_1=rx=ang;//+sin(x*7); +per_pixel_2=ry=rad;//+sin(x*5); +per_pixel_3= +per_pixel_4=rot=sin(int(1+ry*2.864)*(8446669+sin(time/21774898+treb/55559599)*667777))/2+.5; +per_pixel_5=zoom=sin(int(1+rx*2.654)*(4747833+sin(time/26666825+mid/59555599)*754166))/2+.5; +per_pixel_6=//zoom=.999; +per_pixel_7=rot=sin(rot*rot*rad*88)/399; +per_pixel_8=zoom=1-sin(sqr(zoom)*ang*88)/356-.004141*(1-rad); +per_pixel_9=dx=dx; +per_pixel_10=dy=dy; +comp_1=`shader_body +comp_2=`{ +comp_3=`// Flexis Kaleidoscope +comp_4=` +comp_5=`float2 cntr = float2(q13,q14); +comp_6=`float sin = q11; +comp_7=`float cos = q12; +comp_8=` +comp_9=`float2 uv_r = (uv-cntr)*aspect.xy; +comp_10=` uv_r = 4*float2( cos*uv_r.x - sin*uv_r.y, sin*uv_r.x + cos*uv_r.y); // rotation +comp_11=` uv_r = cntr + uv_r*aspect.zw; +comp_12=` uv_r = 1.0 - abs( frac( uv_r * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_13=` +comp_14=` sin = q17; +comp_15=` cos = q18; +comp_16=` +comp_17=`float2 uv_rr = (uv_r-cntr)*aspect.xy; +comp_18=` uv_rr = 4*float2( cos*uv_rr.x - sin*uv_rr.y, sin*uv_rr.x + cos*uv_rr.y); // counter-rotation +comp_19=` uv_rr = cntr + (uv_rr-cntr)*aspect.zw*0.06; +comp_20=` uv_rr = 1.0 - abs( frac( uv_rr * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_21=` +comp_22=`// now use uv_rr for tone-mapping +comp_23=`//uv_rr = uv; +comp_24=`ret = pow(abs(GetBlur3(uv_rr)-GetPixel(uv_rr))*3+0.1,1.5); +comp_25=`} diff --git a/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter (Jelly 5.55).milk b/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter (Jelly 5.55).milk new file mode 100755 index 0000000000..2520cc7d38 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter (Jelly 5.55).milk @@ -0,0 +1,474 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.413 +fWaveScale=0.418 +fWaveSmoothing=0.000 +fWaveParam=-0.660 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.240 +wave_y=0.440 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=vol = bass*8 + mid*5 + treb*3; +wave_0_per_frame2=m = m*0.97 + vol*0.08; +wave_0_per_frame3=monitor = vol; +wave_0_per_frame4=beat = above(vol,res)*above(vol,m)*above(vol,16); +wave_0_per_frame5=diff = (1-beat)*diff + beat*(vol-res); +wave_0_per_frame6=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +wave_0_per_frame7=res = max(0,res); +wave_0_per_frame8= +wave_0_per_frame9=a = beat; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*2; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=chance = 0; +wave_1_per_point1=// the velocity vector +wave_1_per_point2= +wave_1_per_point3=x = q3 + sample*sin(q14)*q13*40; +wave_1_per_point4=y = q4 + sample*cos(q14)*q13*40; +wave_1_per_point5= +wave_1_per_point6=// tangential velocity of rotation +wave_1_per_point7=//x = q3 + sample*q16*40; +wave_1_per_point8=//y = q4 - q5/2; +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=x = 0.5 + (x-0.5)/q1; +wave_1_per_point12=y = 0.5 + (y-0.5)/q2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=chance = 0; +wave_2_per_point1=// tangential property of velocity vector +wave_2_per_point2= +wave_2_per_point3=x = q3 + sample*sin(q10)*cos(q14-q10)*q13*40; +wave_2_per_point4=y = q4 + sample*cos(q10)*cos(q14-q10)*q13*40; +wave_2_per_point5= +wave_2_per_point6=// vx +wave_2_per_point7=//x = q3 + sample*q11*40; +wave_2_per_point8=//y = q4; +wave_2_per_point9= +wave_2_per_point10=x = 0.5 + (x-0.5)/q1; +wave_2_per_point11=y = 0.5 + (y-0.5)/q2; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=chance = 0; +wave_3_per_point1=// orthogonal property of velocity vector +wave_3_per_point2= +wave_3_per_point3=x = q3 + sample*sin(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point4=y = q4 + sample*cos(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point5= +wave_3_per_point6=// vy +wave_3_per_point7=//x = q3; +wave_3_per_point8=//y = q4 + sample*q12*40; +wave_3_per_point9= +wave_3_per_point10=x = 0.5 + (x-0.5)/q1; +wave_3_per_point11=y = 0.5 + (y-0.5)/q2; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02770 +shapecode_0_ang=6.03186 +shapecode_0_tex_ang=6.03186 +shapecode_0_tex_zoom=0.68390 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=an = an + q6; +shape_0_per_frame2=ang = an*0.5; +shape_0_per_frame3=x = q4; +shape_0_per_frame4=y = q5; +shape_0_per_frame5=rad = q3*sqrt(2); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame9=y = 0.5 + (y-0.5)/q1; +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02770 +shapecode_1_ang=6.03186 +shapecode_1_tex_ang=6.03186 +shapecode_1_tex_zoom=0.68390 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=an = an + q9; +shape_1_per_frame2=ang = an*0.5; +shape_1_per_frame3=x = q7; +shape_1_per_frame4=y = q8; +shape_1_per_frame5=rad = q3*sqrt(2); +shape_1_per_frame6= +shape_1_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02770 +shapecode_2_ang=6.03186 +shapecode_2_tex_ang=6.03186 +shapecode_2_tex_zoom=0.68390 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=an = an + q12; +shape_2_per_frame2=ang = an*0.5; +shape_2_per_frame3=x = q10; +shape_2_per_frame4=y = q11; +shape_2_per_frame5=rad = q3*sqrt(2); +shape_2_per_frame6= +shape_2_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_2_per_frame9= +shapecode_3_enabled=0 +shapecode_3_sides=48 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=4 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.02770 +shapecode_3_ang=6.03186 +shapecode_3_tex_ang=6.03186 +shapecode_3_tex_zoom=0.68390 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=an = an + 0.5*q16/num_inst; +shape_3_per_frame2=w = asin(1)*4*instance/num_inst + an; +shape_3_per_frame3=x = q6 + sin(w)*q5*0.5; +shape_3_per_frame4=y = q7 + cos(w)*q5*0.5; +shape_3_per_frame5=rad = q5*0.25; +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=//x = 0.5 + (x-0.5)/q2; +shape_3_per_frame9=//y = 0.5 + (y-0.5)/q1; +shape_3_per_frame10= +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; +per_frame_init_5=y2 = 0.4; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.0001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0; +per_frame_init_16=vx3 = 0; +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=r = 0.03+ (bass_att+treb_att)*0.004; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +per_pixel_1=du = (x*2-1) - (q4+q7+q10-1.5)*2/3; +per_pixel_2=dv = (y*2-1) + (q5+q8+q11-1.5)*2/3; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = sin(dist*0.05)*0.4*q14; +per_pixel_6=dx = mult*sin(ang2*2+q13)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2+q13)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig-float2(0,1)*d) ); +warp_6=` +warp_7=`ret.y = tex2d(sampler_fc_main, frac(uv + float2(dx.y,dy.y)*texsize.zw*4)).y; +warp_8=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_9=`ret.y += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.0 - 0.004; +warp_10=`ret = 0; +warp_11=`ret.y = tex2d(sampler_fc_main, frac(uv)).y; +warp_12=`ret.y += (ret.y - GetBlur3(frac(uv)).y -0.03)*.6 - 0.06; +warp_13=`ret.y += GetBlur3(uv_orig).x*0.3; +warp_14=` +warp_15=`ret.z = tex2d(sampler_fc_main,lerp(uv_orig,uv,0.3) + float2(dx.z,dy.z)*texsize.zw*8).z - 0.03; +warp_16=`ret.z += saturate(0.2-GetBlur2(uv).y)*0.1 + GetBlur2(uv_orig).x*0.2; +warp_17=` +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-.25*(float2(lum(dx),lum(dy))); +comp_10=`float2 uv_y2 = uv+.25*(float2(lum(dx),lum(dy))); +comp_11=` +comp_12=` +comp_13=`ret = .8*GetBlur3(uv_y)-GetBlur1(uv_y); +comp_14=`ret += .6*GetBlur1(uv); +comp_15=`ret -= (GetBlur2(uv_y2)-GetBlur1(uv_y2)); +comp_16=`ret += 1.2*GetPixel(uv_y2)+.15*GetBlur1(uv_y2); +comp_17=`ret += .9; +comp_18=`ret = lum(ret); +comp_19=`ret -= .15*lum(tex2d(sampler_noise_hq,(uv+.01*time))); +comp_20=`ret = lerp(ret,.75*ret*lum(.6*GetBlur3(uv_y)-.7*GetPixel(uv)-.3*GetBlur1(uv_y2)),pow(hue_shader,ret)); +comp_21=`ret *= .8; +comp_22=`ret *= ret; +comp_23=`ret = sqrt(ret); +comp_24=` +comp_25=`} diff --git a/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter [mind over matter remix].milk b/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter [mind over matter remix].milk new file mode 100755 index 0000000000..ea880dae65 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Geiss - pogo-cubes on tokamak matter [mind over matter remix].milk @@ -0,0 +1,486 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.413 +fWaveScale=0.418 +fWaveSmoothing=0.000 +fWaveParam=-0.660 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.240 +wave_y=0.440 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=vol = bass*8 + mid*5 + treb*3; +wave_0_per_frame2=m = m*0.97 + vol*0.08; +wave_0_per_frame3=monitor = vol; +wave_0_per_frame4=beat = above(vol,res)*above(vol,m)*above(vol,16); +wave_0_per_frame5=diff = (1-beat)*diff + beat*(vol-res); +wave_0_per_frame6=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +wave_0_per_frame7=res = max(0,res); +wave_0_per_frame8= +wave_0_per_frame9=a = beat; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*2; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=chance = 0; +wave_1_per_point1=// the velocity vector +wave_1_per_point2= +wave_1_per_point3=x = q3 + sample*sin(q14)*q13*40; +wave_1_per_point4=y = q4 + sample*cos(q14)*q13*40; +wave_1_per_point5= +wave_1_per_point6=// tangential velocity of rotation +wave_1_per_point7=//x = q3 + sample*q16*40; +wave_1_per_point8=//y = q4 - q5/2; +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=x = 0.5 + (x-0.5)/q1; +wave_1_per_point12=y = 0.5 + (y-0.5)/q2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=chance = 0; +wave_2_per_point1=// tangential property of velocity vector +wave_2_per_point2= +wave_2_per_point3=x = q3 + sample*sin(q10)*cos(q14-q10)*q13*40; +wave_2_per_point4=y = q4 + sample*cos(q10)*cos(q14-q10)*q13*40; +wave_2_per_point5= +wave_2_per_point6=// vx +wave_2_per_point7=//x = q3 + sample*q11*40; +wave_2_per_point8=//y = q4; +wave_2_per_point9= +wave_2_per_point10=x = 0.5 + (x-0.5)/q1; +wave_2_per_point11=y = 0.5 + (y-0.5)/q2; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=chance = 0; +wave_3_per_point1=// orthogonal property of velocity vector +wave_3_per_point2= +wave_3_per_point3=x = q3 + sample*sin(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point4=y = q4 + sample*cos(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point5= +wave_3_per_point6=// vy +wave_3_per_point7=//x = q3; +wave_3_per_point8=//y = q4 + sample*q12*40; +wave_3_per_point9= +wave_3_per_point10=x = 0.5 + (x-0.5)/q1; +wave_3_per_point11=y = 0.5 + (y-0.5)/q2; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02770 +shapecode_0_ang=6.03186 +shapecode_0_tex_ang=6.03186 +shapecode_0_tex_zoom=0.68390 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=an = an + q6; +shape_0_per_frame2=ang = an*0.5; +shape_0_per_frame3=x = q4; +shape_0_per_frame4=y = q5; +shape_0_per_frame5=rad = q3*sqrt(2); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame9=y = 0.5 + (y-0.5)/q1; +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02770 +shapecode_1_ang=6.03186 +shapecode_1_tex_ang=6.03186 +shapecode_1_tex_zoom=0.68390 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=an = an + q9; +shape_1_per_frame2=ang = an*0.5; +shape_1_per_frame3=x = q7; +shape_1_per_frame4=y = q8; +shape_1_per_frame5=rad = q3*sqrt(2); +shape_1_per_frame6= +shape_1_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02770 +shapecode_2_ang=6.03186 +shapecode_2_tex_ang=6.03186 +shapecode_2_tex_zoom=0.68390 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=an = an + q12; +shape_2_per_frame2=ang = an*0.5; +shape_2_per_frame3=x = q10; +shape_2_per_frame4=y = q11; +shape_2_per_frame5=rad = q3*sqrt(2); +shape_2_per_frame6= +shape_2_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_2_per_frame9= +shapecode_3_enabled=0 +shapecode_3_sides=48 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=4 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.02770 +shapecode_3_ang=6.03186 +shapecode_3_tex_ang=6.03186 +shapecode_3_tex_zoom=0.68390 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=an = an + 0.5*q16/num_inst; +shape_3_per_frame2=w = asin(1)*4*instance/num_inst + an; +shape_3_per_frame3=x = q6 + sin(w)*q5*0.5; +shape_3_per_frame4=y = q7 + cos(w)*q5*0.5; +shape_3_per_frame5=rad = q5*0.25; +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=//x = 0.5 + (x-0.5)/q2; +shape_3_per_frame9=//y = 0.5 + (y-0.5)/q1; +shape_3_per_frame10= +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; +per_frame_init_5=y2 = 0.4; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.0001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0; +per_frame_init_16=vx3 = 0; +per_frame_init_17= +per_frame_init_18=q21 = 0.5/asin(1); +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=r = 0.05+ (bass_att+treb_att)*0.006; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +per_frame_92= +per_frame_93=t = t + 0.25/fps; +per_frame_94=t = if(above(t,2),t-2,t); +per_frame_95=q22 = -t; +per_pixel_1=du = (x*2-1) - (q4+q7+q10-1.5)*2/3; +per_pixel_2=dv = (y*2-1) + (q5+q8+q11-1.5)*2/3; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = sin(dist*0.05)*0.4*q14; +per_pixel_6=dx = mult*sin(ang2*2+q13)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2+q13)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig-float2(0,1)*d) ); +warp_6=` +warp_7=`ret.y = tex2d(sampler_fc_main, frac(uv + float2(dx.y,dy.y)*texsize.zw*4)).y; +warp_8=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_9=`ret.y += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.0 - 0.004; +warp_10=`ret = 0; +warp_11=`ret.y = tex2d(sampler_fc_main, frac(uv)).y; +warp_12=`ret.y += (ret.y - GetBlur3(frac(uv)).y -0.03)*.6 - 0.06; +warp_13=`ret.y += GetBlur3(uv_orig).x*0.3; +warp_14=` +warp_15=`//ret.z = tex2d(sampler_fc_main,lerp(uv_orig,uv,0.3) + float2(dx.z,dy.z)*texsize.zw*8).z - 0.03; +warp_16=`//ret.z += saturate(0.2-GetBlur2(uv).y)*0.1 + GetBlur2(uv_orig).x*0.2; +warp_17=` +warp_18=`float t = q22; +warp_19=`float2 c = ((uv-0.5)*aspect.wz).yx; +warp_20=`float1 ang_hq = atan2(c.x,c.y); +warp_21=`float1 rad_hq = length(c); +warp_22=`float2 spiral = frac(float2(ang_hq*q21-t,0.666*log(rad_hq)+ang_hq*q21+t)); +warp_23=`spiral = 0.5 + (1.0 - abs( frac( spiral ) * 2 - 1.0 )-0.5)*0.99; +warp_24=` +warp_25=`ret.z = GetPixel(spiral).y; +warp_26=` +warp_27=` +warp_28=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*2; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=` +comp_8=`float2 my_uv = uv-float2(dx.z,dy.z)*texsize.zw*12; +comp_9=`ret = GetBlur2(my_uv).z*(GetBlur2(my_uv).y)*float3(0.3,0,0.5); +comp_10=` +comp_11=`ret = lerp(ret,3,GetBlur3(uv+float2(dx.z,dy.z)*0.4-float2(dx.y,dy.y)).x*0.5); +comp_12=` +comp_13=`my_uv = uv + float2(dy.y,dx.y)*texsize.zw*64 - float2(dx.y,dy.y)*texsize.zw*64; +comp_14=`ret = lerp(ret,float3(1,0.5,0.2),(GetPixel(my_uv)-GetBlur1(my_uv)+GetBlur2(my_uv)).z*(1-GetBlur1(uv).y)*1.1); +comp_15=` +comp_16=`my_uv = uv+float2(dx.x,dy.x)*texsize.zw*6; +comp_17=`ret = lerp(ret,1,(GetPixel(my_uv)-GetBlur1(my_uv)+GetBlur2(my_uv)*0.95).x); +comp_18=` +comp_19=` +comp_20=`//ret = GetPixel(uv); +comp_21=`} diff --git a/presets/presets_tryptonaut/Flexi + Martin - astral projection.milk b/presets/presets_tryptonaut/Flexi + Martin - astral projection.milk new file mode 100755 index 0000000000..4369facf36 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Martin - astral projection.milk @@ -0,0 +1,423 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=5.715 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.162 +fWarpScale=5.582 +fZoomExponent=0.32104 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.11563 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 - 0.0005 - bass*0.003; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 +0.0001 + mid*0.001 - bass*0.0005 -treb*0.0005; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.0001+ treb*0.001 - bass*0.0005 - mid*0.0005; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = -z+0.7; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.050 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample*0.48; +wave_1_per_point3=x = 0.5 + t8*0.04 - t8*sample*0.02 + (sqr(sample*2-1)-1)*q1*0.5; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = -(q4-q6)*10+sample*asin(1)*4.01; +wave_1_per_point7=c=9; +wave_1_per_point8=r = sin(t)*c; +wave_1_per_point9= +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=1 +wavecode_2_samples=49 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=2.44415 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=cl = 0; +wave_2_per_frame1=t8 = 1; +wave_2_per_point1=t8 = -1; +wave_2_per_point2=y = sample*0.48; +wave_2_per_point3=x = 0.5 + t8*0.04 - t8*sample*0.02 + (sqr(sample*2-1)-1)*q1*0.5; +wavecode_3_enabled=1 +wavecode_3_samples=49 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = 1; +wave_3_per_point2=y = sample*0.48; +wave_3_per_point3=x = 0.5 + t8*0.04 - t8*sample*0.02 + (sqr(sample*2-1)-1)*q1*0.5; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.05343 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=12.77228 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.750 +shapecode_1_rad=0.46753 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=w = -atan2(0.5,q1)*4+asin(1)*4; +shape_1_per_frame2=ang = w; +shape_1_per_frame3=x = 0.5 +sin(w)*0.19; +shape_1_per_frame4=y = 0.5 +cos(w)*0.26; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.750 +shapecode_2_rad=0.46753 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=w = -atan2(0.5,q1)*4+asin(1)*4 + asin(1)*2/3; +shape_2_per_frame2=ang = w; +shape_2_per_frame3=x = 0.5 +sin(w)*0.19; +shape_2_per_frame4=y = 0.5 +cos(w)*0.26; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.46753 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=w = -atan2(0.5,q1)*4+asin(1)*4 - asin(1)*2/3; +shape_3_per_frame2=ang = w; +shape_3_per_frame3=x = 0.5 +sin(w)*0.19; +shape_3_per_frame4=y = 0.5 +cos(w)*0.26; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=zoom = 1.0; +per_frame_2= +per_frame_3=q1 = .1*(bass-treb); +per_frame_4= +per_frame_5=vvb = if(below(vvb,0),0,vvb); +per_frame_6=vvm = if(below(vvm,0),0,vvm); +per_frame_7=vvt = if(below(vvt,0),0,vvt); +per_frame_8=vb = vb*0.85 + (1-vb)*pow(bass,2)*0.001; +per_frame_9=vvb = vvb*0.95 + (1-vvb)*vb*0.2; +per_frame_10=vm = vm*0.85 + (1-vm)*pow(mid,2)*0.01; +per_frame_11=vvm = vvm*0.95 + (1-vvm)*vm*0.2; +per_frame_12=vt = vt*0.85 + (1-vt)*pow(treb,2)*0.001; +per_frame_13=vvt = vvt*0.95 + (1-vvt)*vt*0.2; +per_frame_14= +per_frame_15=q1 = (vvb-vvt)*vvm;//0.5 + vb - vvb; +per_frame_16=q2 = vvm;//0.5 + vm - vvm; +per_frame_17=q3 = vvt;//0.5 + vt - vvt; +per_frame_18= +per_frame_19=v=0.2; +per_frame_20=d = 0;//v*0.2; +per_frame_21=bb = bb + vvb*v - d; +per_frame_22=mm = mm + vvm*v - d; +per_frame_23=tt = tt + vvt*v - d; +per_frame_24=q4 = bb; +per_frame_25=q5 = mm; +per_frame_26=q6 = tt; +per_frame_27= +per_frame_28= +per_frame_29=q4 = if(above(abs(q1),0.02),0.99,1); +per_frame_30=q9 = 0.5 + 0.5*sin(time*0.14); +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_fc_main, uv )*q4; +warp_4=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=`// ***** Martin's ripples on water surface code, parameterized by Flexi ***** +comp_6=` +comp_7=`float h = q9; // height of the horizon +comp_8=`float cut_off = 0.0; // cut off lower border +comp_9=`float2 t = float2(0.1,-0.05)*time; // velocity +comp_10=`float strength = 0.025; +comp_11=` +comp_12=` +comp_13=`float2 c = uv_orig-float2(0.5,1-h); +comp_14=`float z = 3/c.y; +comp_15=`float2 uv_water = float2(c.x*z*h,z*h)*0.05+t; +comp_16=`int mask = (c.y>0); +comp_17=`uv_water = (tex2D(sampler_noise_hq,uv_water)-0.5)*mask; +comp_18=`float2 uv_mirror = 1.0-abs(frac((c+float2(0.5,1))*0.5)*2-1)+float2(0,-cut_off); +comp_19=`uv_mirror =frac(uv_mirror-uv_water.xy*strength); +comp_20=` +comp_21=`// ***** :) +comp_22=` +comp_23=`uv = uv_mirror; +comp_24=` +comp_25=`ret = tex2D(sampler_main, uv); +comp_26=`ret = pow(ret,2)*1.4 - 0.04; +comp_27=` +comp_28=` +comp_29=`} +comp_30=` diff --git a/presets/presets_tryptonaut/Flexi + Martin - dive.milk b/presets/presets_tryptonaut/Flexi + Martin - dive.milk new file mode 100755 index 0000000000..69f3428ebc --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Martin - dive.milk @@ -0,0 +1,376 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+sin(time*0.618)*0.2; +shape_0_per_frame2=y = 0.5+cos(time*1.618)*0.2; +shape_0_per_frame3=rad = bass*0.05; +shape_0_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_0_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_0_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+sin(time*2.618)*0.3; +shape_1_per_frame2=y = 0.5+cos(time*3.14)*0.3; +shape_1_per_frame3=rad = bass*0.05; +shape_1_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_1_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_1_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shape_1_per_frame7= +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+sin(-time*2.618)*0.4; +shape_2_per_frame2=y = 0.5+cos(-time*1.14)*0.4; +shape_2_per_frame3=rad = bass*0.05; +shape_2_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_2_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_2_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q11 = 0.5/asin(1); +per_frame_1=//zoom = 0.99; +per_frame_2=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_3=ib_g = sin(time*4)*0.3+0.3; +per_frame_4=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_5= +per_frame_6=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_7=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_8=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_9= +per_frame_10=x1 = 0.5 + (xx1-xx2)*2; +per_frame_11=y1 = 0.4 + yy1; +per_frame_12= +per_frame_13=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_14= +per_frame_15=spring = 10; +per_frame_16=grav = .5; +per_frame_17=resist = 1; +per_frame_18=bounce = 0.75; +per_frame_19=dt = 0.0002*(60/fps); +per_frame_20= +per_frame_21=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_22=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_23=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_24=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_25=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_26=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_27= +per_frame_28=x2 = x2 + vx2; +per_frame_29=y2 = y2 + vy2; +per_frame_30=x3 = x3 + vx3; +per_frame_31=y3 = y3 + vy3; +per_frame_32=x4 = x4 + vx4; +per_frame_33=y4 = y4 + vy4; +per_frame_34= +per_frame_35=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_36=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_37=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_38=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_39=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_40=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_41=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_42=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_43=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_44=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_45=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_46=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_47=q4 = x4; +per_frame_48=q8 = y4; +per_frame_49= +per_frame_50=q1 = aspectx; +per_frame_51=q2 = aspecty; +per_frame_52= +per_frame_53=zoom = 1; +per_frame_54=warp = 0; +per_frame_55=bb = bb*0.99 + bass*0.02; +per_frame_56=mm = mm*0.99 + mid*0.02; +per_frame_57=tt = tt*0.99 + treb*0.02; +per_frame_58= +per_frame_59=mx = max(max(bb,mm),tt); +per_frame_60=mn = min(min(bb,mm),tt); +per_frame_61= +per_frame_62=ob_r = (bb-mn)/(mx-mn); +per_frame_63=ob_b = (mm-mn)/(mx-mn); +per_frame_64=ob_g = (tt-mn)/(mx-mn); +per_frame_65=q6 = atan2(vx4,vy4); +per_frame_66=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_67= +per_frame_68=a = a*0.95 + q5; +per_frame_69= +per_frame_70=s = s*0.9 + a; +per_frame_71=q3 = s*0.1; +per_frame_72=monitor = s; +per_frame_73= +per_frame_74=wave_a = 0; +per_frame_75= +per_frame_76=q9 = 0.5 + 0.5*sin(time*0.1); +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*32)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=` +comp_8=`// ***** Martin's ripples on water surface code, parameterized by Flexi ***** +comp_9=` +comp_10=`float h = q9; // height of the horizon +comp_11=`float cut_off = 0.02; // cut off lower border +comp_12=`float2 t = float2(0.1,-0.05)*time; // velocity +comp_13=`float strength = 0.025; +comp_14=` +comp_15=` +comp_16=`float2 c = uv_orig-float2(0.5,1-h); +comp_17=`float z = 3/c.y; +comp_18=`float2 uv_water = float2(c.x*z*h,z*h)*0.05+t; +comp_19=`int mask = (c.y>0); +comp_20=`uv_water = (tex2D(sampler_noise_hq,uv_water)-0.5)*mask; +comp_21=`float2 uv_mirror = 1.0-abs(frac((c+float2(0.5,1))*0.5)*2-1)+float2(0,-cut_off); +comp_22=`uv_mirror =frac(uv_mirror-uv_water.xy*strength); +comp_23=` +comp_24=`// ***** :) +comp_25=` +comp_26=`uv = uv_mirror; +comp_27=` +comp_28=` d = texsize.zw*1.5; +comp_29=` dx = GetPixel(uv_orig + float2(1,0)*d) - GetPixel(uv_orig - float2(1,0)*d); +comp_30=` dy = GetPixel(uv_orig + float2(0,1)*d) - GetPixel(uv_orig - float2(0,1)*d); +comp_31=` +comp_32=` +comp_33=`ret = GetPixel(uv).x*(1-length(float2(dx.y,dy.y)*8))*((hue_shader*6)-4)*0.8; +comp_34=`ret = lerp(ret,float3(1,1,1),length(float2(dx.z,dy.z)*4)); +comp_35=` +comp_36=` +comp_37=`} +comp_38=` diff --git a/presets/presets_tryptonaut/Flexi + Martin - tunnel of supraschismatika.milk b/presets/presets_tryptonaut/Flexi + Martin - tunnel of supraschismatika.milk new file mode 100755 index 0000000000..491cc16341 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Martin - tunnel of supraschismatika.milk @@ -0,0 +1,506 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.210 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=1.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.250 +mv_r=1.000 +mv_g=0.500 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample*0.05; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = (q4-q6)*10; +wave_1_per_point7=c=2; +wave_1_per_point8=r = sin(t)*c; +wave_1_per_point9=g = sin(t+pi3)*c; +wave_1_per_point10= +wave_1_per_point11=b = sin(t-pi3)*c; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=r = if(above(r,1),1,r); +wave_1_per_point15=r = if(below(r,0),0,r); +wave_1_per_point16=g = if(above(g,1),1,g); +wave_1_per_point17=g = if(below(g,0),0,g); +wave_1_per_point18=b = if(above(b,1),1,b); +wave_1_per_point19=b = if(below(b,0),0,b); +wave_1_per_point20= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.770 +shapecode_0_y=0.790 +shapecode_0_rad=0.31091 +shapecode_0_ang=4.27256 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.960 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.750 +shapecode_1_rad=0.04208 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shape_1_per_frame1=x = q3; +shape_1_per_frame2=y = q7; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.750 +shapecode_2_rad=0.04208 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shape_2_per_frame1=x = q2; +shape_2_per_frame2=y = q6; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + xx1-xx2; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 28; +per_frame_12=grav = 2; +per_frame_13=resist = 0.2; +per_frame_14=bounce = 0.94; +per_frame_15=dt = 0.0001; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44=q1 = aspectx; +per_frame_45=q2 = aspecty; +per_frame_46=q4 = x4; +per_frame_47= +per_frame_48=q8 = y4; +per_frame_49= +per_frame_50= +per_frame_51=zoom = 1; +per_frame_52=warp = 0; +per_frame_53=bb = bb*0.99 + bass*0.02; +per_frame_54=mm = mm*0.99 + mid*0.02; +per_frame_55=tt = tt*0.99 + treb*0.02; +per_frame_56= +per_frame_57=ob_r = (bb-min(min(bb,mm),tt))/(max(max(bb,mm),tt)-min(min(bb,mm),tt)); +per_frame_58=ob_b = (mm-min(min(bb,mm),tt))/(max(max(bb,mm),tt)-min(min(bb,mm),tt)); +per_frame_59=ob_g = (tt-min(min(bb,mm),tt))/(max(max(bb,mm),tt)-min(min(bb,mm),tt)); +per_frame_60=q6 = atan2(vx4,vy4); +per_frame_61=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_62= +per_frame_63=wave_a = 0; +per_frame_64=// these lines belong to the composite shader +per_frame_65=a = a*0.98 - (bass-treb)*0.01; +per_frame_66=q15 = a; +per_frame_67=v = v*0.96 + a*0.12; +per_frame_68=q16 = v; +per_frame_69=w = w - v*0.01; +per_frame_70=q18 = w; +per_frame_71=q19 = 0.5-(bass_att-treb_att)*0.15; +per_frame_72=d = d + (bass_att-0.5)*0.01*60/fps; +per_frame_73=d2 = d2 + (treb_att-0.5)*0.006*60/fps; +per_frame_74=q20 = d; +per_frame_75=q21 = d2; +per_frame_76=monitor = d2; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3= +per_pixel_4=dir = -q6*1 + asin(1)*1; +per_pixel_5= +per_pixel_6=b1 = 0.1; // distance +per_pixel_7=m1 = q5*25;//-0.6 + q5*200; // size +per_pixel_8=t1 = 0.05; // velocity +per_pixel_9= +per_pixel_10=xx = q4; +per_pixel_11=yy = 1-q8; +per_pixel_12= +per_pixel_13= +per_pixel_14=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_15=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_16= +per_pixel_17=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_18=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_19= +per_pixel_20=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_21=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_22= +per_pixel_23=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_24=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_25= +per_pixel_26=si3 = -pow(q5,3)*00; +per_pixel_27= +per_pixel_28=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2; +per_pixel_29=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*aspect.xy; +comp_5=`rs.x = ang/3.14 + rad*(q15-q16) - q18; +comp_6=`rs.y = .1/(.05+length (uv-0.5)*1.4)+q21; +comp_7=` +comp_8=`uv = frac(rs); +comp_9=` +comp_10=`float2 hor = float2 (texsize.z,0)*4; +comp_11=`float2 ver = float2 (0,texsize.w)*4; +comp_12=`float dx = lum(GetBlur1 (uv-hor) - GetBlur1 (uv+hor)); +comp_13=`float dy = lum(GetBlur1 (uv-ver) - GetBlur1 (uv+ver)); +comp_14=`float2 dz = float2 (dx,dy); +comp_15=` +comp_16=`float3 ret1 = tex2D(sampler_main, uv)*4; +comp_17=` +comp_18=`uv = .4*cos(uv*3.14*4 - float2(0,10)*(q21+q20)) - 4*dz;; +comp_19=`float3 dots = saturate(.02/length(uv))*hue_shader; +comp_20=` +comp_21=`ret = pow(2*dots*(ret1+1)-0.04,0.8); +comp_22=`ret = lerp(ret,ret.zxy,q19).zxy; +comp_23=`//ret = dots; +comp_24=`} diff --git a/presets/presets_tryptonaut/Flexi + Rovastar + suksma - Fractopia [sth].milk b/presets/presets_tryptonaut/Flexi + Rovastar + suksma - Fractopia [sth].milk new file mode 100755 index 0000000000..629810c890 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Rovastar + suksma - Fractopia [sth].milk @@ -0,0 +1,347 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.136 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.600 +fModWaveAlphaEnd=1.600 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.040 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample); +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.99596 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=//wave_x = xpos + 0.5; +per_frame_23=//wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_frame_53= +per_frame_54=bb = bb*0.99 + bass*0.02; +per_frame_55=mm = mm*0.99 + mid*0.02; +per_frame_56=tt = tt*0.99 + treb*0.02; +per_frame_57= +per_frame_58=mx = max(max(bb,mm),tt); +per_frame_59=mn = min(min(bb,mm),tt); +per_frame_60= +per_frame_61=t1 = (bb-mn)/(mx-mn); +per_frame_62=t2 = (mm-mn)/(mx-mn); +per_frame_63=t3 = (tt-mn)/(mx-mn); +per_frame_64= +per_frame_65=v = 1.5/fps; +per_frame_66=bm = bm + (t1-t2)*v; +per_frame_67=mt = mt + (t2-t3)*v; +per_frame_68= +per_frame_69=q26 = -bm; +per_frame_70=q27 = mt; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).z; // first julia fractal iteration +warp_5=`ret.y = lerp(lerp(tex2D( sampler_fc_main, uv_m ).x, ret.x,0.5), +warp_6=` GetPixel(uv_orig).y, +warp_7=` 0.75); // 75% of motion blur to the green channel +warp_8=` +warp_9=` +warp_10=`float2 d = texsize.zw*6; +warp_11=`float2 uv_z = (uv_orig-0.5)*0.998 + 0.5; // a small dose of zoom-in +warp_12=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_13=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_14=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_15=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_16=` tex2d(sampler_fc_main,uv_z).z); +warp_17=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_18=`} +comp_1=`sampler sampler_rand00; +comp_2=`sampler sampler_rand01; +comp_3=`shader_body +comp_4=`{ +comp_5=`q30=(abs(bass-bass_att)+abs(treb-treb_att)+abs(mid-mid_att))*.01; +comp_6=`float2 uv2 = uv; +comp_7=`uv2.x=1-uv2.x; +comp_8=`ret = tex2D(sampler_rand00, frac(1-GetBlur2(uv).yx*0.6 + time*float2(0.0053*roam_cos.x*q30,.0038*roam_sin.x*q30))) +comp_9=`*(1+GetPixel(uv).x + GetBlur1(uv).y)*0.4; +comp_10=`float3 ret2 = tex2D(sampler_rand01, frac(1-GetBlur2(uv2).yx*0.6 + time*float2(0.0057*roam_sin.x*q30,.0036*roam_cos.x*q30))) +comp_11=`*(1+GetPixel(uv2).x + GetBlur1(uv2).y)*0.4; +comp_12=`ret+=ret2; +comp_13=`} diff --git a/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [blame hexcollie].milk b/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [blame hexcollie].milk new file mode 100755 index 0000000000..9edd75e664 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [blame hexcollie].milk @@ -0,0 +1,342 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.136 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.600 +fModWaveAlphaEnd=1.600 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.040 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample); +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.99596 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=//wave_x = xpos + 0.5; +per_frame_23=//wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).z; // first julia fractal iteration +warp_5=`ret.y = lerp(lerp(tex2D( sampler_fc_main, uv_m ).x, ret.x,0.5), +warp_6=` GetPixel(uv_orig).y, +warp_7=` 0.75); // 75% of motion blur to the green channel +warp_8=` +warp_9=` +warp_10=`float2 d = texsize.zw*6; +warp_11=`float2 uv_z = (uv_orig-0.5)*0.998 + 0.5; // a small dose of zoom-in +warp_12=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_13=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_14=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_15=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_16=` tex2d(sampler_fc_main,uv_z).z); +warp_17=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_18=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`d = texsize.zw*4; +comp_7=`dx = GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig - float2(1,0)*d); +comp_8=`dy = GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig - float2(0,1)*d); +comp_9=` +comp_10=`float z = GetPixel(uv).x*(1-GetPixel(uv).z); +comp_11=`float y = (1-GetPixel(uv).y)*(1-GetPixel(uv).x); +comp_12=`q7 = time*200; +comp_13=` float2 bg = (uv-0.5+float2(dx.x,dy.x)*0.15)*texsize.xy; +comp_14=` float bg1 = saturate((abs(bg.x)+abs(bg.y)+q7)%64-32); +comp_15=` float bg2 = saturate((-abs(bg.x)-abs(bg.y)+q7)%64-32); +comp_16=` float fnord; +comp_17=` if(length(bg)> 0.25*texsize.y){ +comp_18=` fnord = bg2; +comp_19=` }else{ +comp_20=` fnord = bg1; +comp_21=` } +comp_22=` +comp_23=` +comp_24=`ret = lerp(fnord,float3(1,0,0),z); +comp_25=`ret = lerp(ret,0,y); +comp_26=`} diff --git a/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [lovecraft].milk b/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [lovecraft].milk new file mode 100755 index 0000000000..8d8e3b3528 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + Rovastar - Fractopia [lovecraft].milk @@ -0,0 +1,346 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.136 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.600 +fModWaveAlphaEnd=1.600 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.040 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample); +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.99596 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=//wave_x = xpos + 0.5; +per_frame_23=//wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).z; // first julia fractal iteration +warp_5=`ret.y = lerp(lerp(tex2D( sampler_fc_main, uv_m ).x, ret.x,0.5), +warp_6=` GetPixel(uv_orig).y, +warp_7=` 0.75); // 75% of motion blur to the green channel +warp_8=` +warp_9=` +warp_10=`float2 d = texsize.zw*6; +warp_11=`float2 uv_z = (uv_orig-0.5)*0.998 + 0.5; // a small dose of zoom-in +warp_12=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_13=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_14=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_15=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_16=` tex2d(sampler_fc_main,uv_z).z); +warp_17=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = GetBlur1(uv); +comp_4=` +comp_5=` float2 d = texsize.zw*8; +comp_6=` float3 dx = ( GetBlur1(uv+float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d)); +comp_7=` float3 dy = ( GetBlur1(uv+float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d)); +comp_8=` +comp_9=` float grad_x = length(float2(dx.x,dy.x))*1; +comp_10=` float grad_z = length(float2(dx.z,dy.z))*1; +comp_11=` float grad_y = length(float2(dx.y,dy.y))*1; +comp_12=` +comp_13=` float2 uv_x = uv - float2(dx.x,dy.x)*0.4; +comp_14=` float2 uv_z = uv - float2(dx.z,dy.z)*1.4; +comp_15=` float2 uv_y = uv - float2(dx.y,dy.y)*0.1; +comp_16=` +comp_17=` +comp_18=` +comp_19=`ret = GetPixel(uv).x*float3(0.7,0.6,0.5); +comp_20=`ret = lerp(ret,float3(1,0.8,0.4),grad_z*2); +comp_21=`ret = lerp(ret,float3(0.8,0.4,0),grad_x); +comp_22=`ret = lerp(ret,float3(1,1,0),GetBlur2(uv_x).z*GetBlur1(uv).x*1.4); +comp_23=`ret = lerp(ret,float3(0.2,0,0.6),GetPixel(uv).z*2); +comp_24=`ret = lerp(ret,float3(0.8,0.7,0.6),GetBlur1(uv_z).x*GetBlur1(uv).z); +comp_25=`ret = lerp(ret,float3(1,1,0),GetBlur2(uv_z).y*GetPixel(uv).z*2); +comp_26=`ret = lerp(ret,float3(1,1,1),grad_y); +comp_27=`ret = lerp(ret,float3(1,0,0),GetPixel(uv).y); +comp_28=`//ret = saturate(ret); +comp_29=`ret = lerp(ret,(1-GetPixel(uv_y).z)*float3(1,1,0),GetBlur1(uv_y).y*GetBlur1(uv).y); +comp_30=`} diff --git a/presets/presets_tryptonaut/Flexi + amandio c - piercing 05 - Kopie (2) - Kopie.milk b/presets/presets_tryptonaut/Flexi + amandio c - piercing 05 - Kopie (2) - Kopie.milk new file mode 100755 index 0000000000..1c1b49d7e3 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + amandio c - piercing 05 - Kopie (2) - Kopie.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78903 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.02009 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.700 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=c_x = 0.5; +per_frame_init_3=c_y = 0.5; +per_frame_1= +per_frame_2=sx=1+.01*(8*bass%8)*equal(time%(int(24-2*bass)),0); +per_frame_3=sy=1+.01*(8*mid%8) *equal(time%(12+int(24-2*bass)),0); +per_frame_4= +per_frame_5=q1 = aspectx; +per_frame_6=q2 = aspecty; +per_frame_7=rot = 0; +per_frame_8=zoom = 1; +per_frame_9=warp = 0; +per_frame_10= +per_frame_11= +per_frame_12=vol = bass*8 + mid*4 + treb*2; +per_frame_13=vol = vol*above(vol,17); +per_frame_14=monitor = vol; +per_frame_15=beat = above(vol,res); +per_frame_16=diff = (1-beat)*diff + beat*(vol-res); +per_frame_17=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_18=res = max(0,res); +per_frame_19=monitor = res; +per_frame_20= +per_frame_21=r = if(beat, 0.01*(rand(200)-100)*0.01,r); +per_frame_22=rot = r; +per_frame_23= +per_frame_24=c_x = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_x); +per_frame_25=c_y = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_y); +per_frame_26= +per_frame_27= +per_frame_28=q23 = c_x; +per_frame_29=q24 = c_y; +per_frame_30= +per_frame_31=// elastic thread code by Flexi +per_frame_32= +per_frame_33=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_34=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_35=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_36=x1 = 0.5 + (xx1-xx2)*2; +per_frame_37=y1 = 0.4 + yy1*1.5; +per_frame_38=dt = 0.03/fps; +per_frame_39=vx2 = vx2*(1-2*dt) + dt*((x1+x3-2*x2)*10); +per_frame_40=vy2 = vy2*(1-2*dt) + dt*((y1+y3-2*y2)*10-0.5); +per_frame_41=vx3 = vx3*(1-2*dt) + dt*((x2+x4-2*x3)*10); +per_frame_42=vy3 = vy3*(1-2*dt) + dt*((y2+y4-2*y3)*10-0.5); +per_frame_43=vx4 = vx4*(1-2*dt) + dt*((x3-x4)*10); +per_frame_44=vy4 = vy4*(1-2*dt) + dt*((y3-y4)*10-0.5); +per_frame_45=x2 = x2 + vx2; y2 = y2 + vy2; +per_frame_46=x3 = x3 + vx3; y3 = y3 + vy3; +per_frame_47=x4 = x4 + vx4; y4 = y4 + vy4; +per_frame_48=vx2 = if(above(x2,0),vx2,abs(vx2)*0.5); +per_frame_49=vx2 = if(below(x2,1),vx2,-abs(vx2)*0.5); +per_frame_50=vx3 = if(above(x3,0),vx3,abs(vx3)*0.5); +per_frame_51=vx3 = if(below(x3,1),vx3,-abs(vx3)*0.5); +per_frame_52=vx4 = if(above(x4,0),vx4,abs(vx4)*0.5); +per_frame_53=vx4 = if(below(x4,1),vx4,-abs(vx4)*0.5); +per_frame_54=vy2 = if(above(y2,0),vy2,abs(vy2)*0.5); +per_frame_55=vy2 = if(below(y2,1),vy2,-abs(vy2)*0.5); +per_frame_56=vy3 = if(above(y3,0),vy3,abs(vy3)*0.5); +per_frame_57=vy3 = if(below(y3,1),vy3,-abs(vy3)*0.5); +per_frame_58=vy4 = if(above(y4,0),vy4,abs(vy4)*0.5); +per_frame_59=vy4 = if(below(y4,1),vy4,-abs(vy4)*0.5); +per_frame_60=q1 = x1;q2 = x2;q3 = x3;q4 = x4; +per_frame_61=q5 = y1;q6 = y2;q7 = y3;q8 = y4; +per_frame_62=q9 = 1/aspectx; +per_frame_63=q10 = 1/aspecty; +per_frame_64=q11 = aspectx; +per_frame_65=q12 = aspecty; +per_frame_66=q13 = sqrt(vx4*vx4 + vy4*vy4)*0.8; +per_frame_67=q14 = atan2(vx4,vy4); +per_pixel_1=d = (pow(sqrt(sqr(x-q3)+sqr(y-q4)),2)-0.); +per_pixel_2=v = 0.03; +per_pixel_3=dx = v*(x-q23)*d; +per_pixel_4=dy = v*(y-q24)*d; +per_pixel_5= +per_pixel_6= +per_pixel_7=x = 0.5 + (x-0.5)*q11; +per_pixel_8=y = 0.5 + (y-0.5)*q12; +per_pixel_9=dir = -q14*1 + asin(1)*1; +per_pixel_10= +per_pixel_11=velocity = q13; +per_pixel_12=strength = 100; +per_pixel_13=size = 0.07; +per_pixel_14= +per_pixel_15=xx = q4; +per_pixel_16=yy = 1-q8; +per_pixel_17= +per_pixel_18= +per_pixel_19=x1 = xx +cos(dir+1.5708)*size; +per_pixel_20=y1 = yy -sin(dir+1.5708)*size; +per_pixel_21= +per_pixel_22=x2 = xx -cos(dir+1.5708)*size; +per_pixel_23=y2 = yy +sin(dir+1.5708)*size; +per_pixel_24= +per_pixel_25=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-size*2; +per_pixel_26=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_27= +per_pixel_28=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-size*2; +per_pixel_29=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_30= +per_pixel_31=dx += (si1*sin(y1-y)*d1 - si2*sin(y2-y)*d2)*strength*velocity; +per_pixel_32=dy += (-si1*sin(x1-x)*d1 + si2*sin(x2-x)*d2)*strength*velocity; +warp_1=`float2 d, uv_y, uv_z; +warp_2=`float3 dx, dy; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_8=` float3 rand = tex2D(sampler_noise_lq, dither_uv).xyz-0.5; +warp_9=` +warp_10=` d = texsize.zw*4; +warp_11=` dx = GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig - float2(1,0)*d); +warp_12=` dy = GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig - float2(0,1)*d); +warp_13=` +warp_14=` d = lerp(uv_orig,uv,1); +warp_15=` uv_y = d - float2(dx.y,dy.y)*texsize.zw*6; +warp_16=` uv_z = d - float2(dx.z,dy.z)*texsize.zw*6; +warp_17=` +warp_18=` +warp_19=` ret.y = GetPixel(uv_y).y - 0.008 + (1-GetPixel(uv_orig).x)*0.018; +warp_20=` ret.z = GetPixel(uv_z).z - 0.008 + (0+GetPixel(uv_orig).x)*0.018; +warp_21=` +warp_22=` ret.x = tex2D( sampler_fc_main, uv+rand*texsize.zw*.5 ).x; +warp_23=` ret.x += (ret.x - GetBlur3(uv).x)*0.15 + rand*0.0042; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 pos1 = float2(q3,q4); +comp_4=`float2 pos2 = float2(q6,q7); +comp_5=`float2 pos3 = float2(q9,q10); +comp_6=`float2 pos4 = float2(q12,q13); +comp_7=` +comp_8=`float3 col1 = float3(2,1,-1); +comp_9=`float3 col2 = float3(2,-1,1); +comp_10=`float3 col3 = float3(-1,1,2); +comp_11=`float3 col4 = float3(1,-1,2); +comp_12=` +comp_13=` float2 d = texsize.zw*1.25; +comp_14=` float3 dx = ( GetPixel(uv + float2(1,0)*d) - GetPixel(uv-float2(1,0)*d) ); +comp_15=` float3 dy = ( GetPixel(uv + float2(0,1)*d) - GetPixel(uv-float2(0,1)*d) ); +comp_16=` +comp_17=` float c = 8; +comp_18=` float dd = 1; +comp_19=` +comp_20=`float3 light1 = dd - pow(length(uv-float2(lum(dx),lum(dy))*c-pos1),.2); +comp_21=`float3 light2 = dd - pow(length(uv-float2(lum(dx),lum(dy))*c-pos2),.2); +comp_22=`float3 light3 = dd - pow(length(uv-float2(lum(dx),lum(dy))*c-pos3),.2); +comp_23=`float3 light4 = dd - pow(length(uv-float2(lum(dx),lum(dy))*c-pos4),.2); +comp_24=` +comp_25=`ret = lerp(GetPixel(uv),max(max(light1*col1,light2*col2),max(light3*col3,light4*col4)),0.5); +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/Flexi + bdrv - what to do [Phat edit].milk b/presets/presets_tryptonaut/Flexi + bdrv - what to do [Phat edit].milk new file mode 100755 index 0000000000..dc3fe0c6f4 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + bdrv - what to do [Phat edit].milk @@ -0,0 +1,326 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.900 +fDecay=0.850 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=13.29089 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=-0.28000 +dy=-0.32000 +warp=0.00826 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.055 +ib_r=0.000 +ib_g=1.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.000 +mv_g=0.700 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.24486 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01842 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.81954 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25=monitor=rot; +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); +per_pixel_2=sy = sy * rad; +per_pixel_3=dy = a * x; +per_pixel_4=dy=if(below(dy,-1), -1, dy); +per_pixel_5=dy=if(above(dy,1.0), 1.0, dy); +per_pixel_6=sy=if(below(sy,0.01), 0.01, sy); +per_pixel_7=sy=if(above(sy,100.0), 100.0, sy); +per_pixel_8=//cx=cx+0.003*sin((y*2-1)*64)+0.001*sin((y*2-1)*96); +per_pixel_9=//dy=dy+0.004*cos((x*2-1)*64)+0.002*cos((x*2-1)*96); +per_pixel_10=ak=-sin(6*x+((q1%5)*3)%5*y+q1)*(1-x+.2*sin(.54*q1))*above(x,0); +per_pixel_11=block=if(below(ak,-.15),ak,0); +per_pixel_12=//cx=cx+0.005*sin((y*2-1)*48)+0.001*tan((y*2-1)*64)+0.000*tan((y-3.1415)*8); +per_pixel_13=//dy =dy+0.005*sin((x*2-1)*48)+0.001*tan((x*2-1)*64)+0.000*tan((y-3.1415)*6); +per_pixel_14=//cx=cx+0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64); +per_pixel_15=//dy=dy+0.008*cos((y-0.5)*64); +per_pixel_16=//cx=if(block,cx,0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64)); +per_pixel_17=//dy=if(block,dy,0.008*cos((y-0.5)*64)); +per_pixel_18= +per_pixel_19=zoom = if(block,1,0.97); +per_pixel_20=//cx = sin((1000+sin(q8))/x)/200; +per_pixel_21=//dy = cos((1000+sin(q8))/y)/200; +per_pixel_22= +per_pixel_23= +per_pixel_24=rd=sqrt( sqr( 0) + sqr( sin(y*3+(time/8))*0.2+0.6) ); +per_pixel_25=//cx=0.5+q4*55555; +per_pixel_26=//cy=0.5-q5; +per_pixel_27= +per_pixel_28=zoom=(rd*rd)*2; +per_pixel_29=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_30=//cx=0.5+q4; +per_pixel_31=cy=0.5-q5; +per_pixel_32= +per_pixel_33=zoom=-1*pow(rd,sin(time)+3.5)*3.5 + .5; +per_pixel_34=zoom=zoom*0.5+1; +warp_1=`sampler sampler_cells; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=`float2 uv_y = 0.5 + (lerp(uv_orig,uv,0.02)-0.5)*0.99; +warp_7=` float2 d = texsize.zw*12; +warp_8=` float1 dx = ( GetBlur3(uv_y + float2(1,0)*d) - GetBlur3(uv_y-float2(1,0)*d) ).y; +warp_9=` float1 dy = ( GetBlur3(uv_y + float2(0,1)*d) - GetBlur3(uv_y-float2(0,1)*d) ).y; +warp_10=` float2 my_uv = uv_y + float2(dx,dy)*texsize.zw*48; +warp_11=` +warp_12=` +warp_13=` +warp_14=` ret.y = tex2D( sampler_fw_main, frac(my_uv)).y; +warp_15=` +warp_16=` +warp_17=` ret.y += (ret - GetBlur3(uv_y-floor(uv_y))).y*0.01 - 0.004; +warp_18=` +warp_19=` // add noise: +warp_20=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.25 + rand_frame.xy; +warp_21=` ret.y += (tex2D(sampler_noise_lq, dither_uv).y-0.5)*0.06; +warp_22=` +warp_23=`ret.x = GetPixel(uv).x; +warp_24=` +warp_25=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.6 + (uv-0.5)*(float2(0.1,-0.9)*cos(time)*0.1+0.5) - float2((bass*0.01),0.05); +comp_5=` float3 base = GetBlur3(uv) + GetBlur2(uv) * GetBlur1(uv) + sin(time+(tex2D(sampler_main, uv))) + 0.04; +comp_6=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_7=`c = c + b - c*b; +comp_8=`a = a + c - a*c; +comp_9=`base = 1.4*a; +comp_10=`ret = base*(1-base)*(1-base)*2*float3(2,1.4,0) + pow(base,2)*float3(-0.3,0.2,0.6); +comp_11=`//ret.xy = ret.yx; +comp_12=`} diff --git a/presets/presets_tryptonaut/Flexi + fiShbRaiN - operation fatcap II.milk b/presets/presets_tryptonaut/Flexi + fiShbRaiN - operation fatcap II.milk new file mode 100755 index 0000000000..1da14dc469 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + fiShbRaiN - operation fatcap II.milk @@ -0,0 +1,518 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=1.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=48 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.05237 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=48 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.05186 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.09105 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.060 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=bb = bb + bass*bass*0.85*equal(instance,0); +shape_2_per_frame2=mm = mm + mid*mid*0.85*equal(instance,0); +shape_2_per_frame3=tt = tt + treb*treb*0.85*equal(instance,0); +shape_2_per_frame4= +shape_2_per_frame5=q3 = bb*0.012; +shape_2_per_frame6=q4 = mm*0.012; +shape_2_per_frame7=q5 = tt*0.012; +shape_2_per_frame8= +shape_2_per_frame9=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame10=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame11=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame12=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame13=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame14=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame15=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame16=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame17=t = .6; +shape_2_per_frame18=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame19=t = t + rnd2*0.1; +shape_2_per_frame20=wh = rnd4*asin(1)*4; +shape_2_per_frame21=wv = 0.25 + rnd3*0.1; +shape_2_per_frame22= +shape_2_per_frame23=d = 1.4; // makes the perspective impact +shape_2_per_frame24=zoom = 1; +shape_2_per_frame25=l = 1; +shape_2_per_frame26= +shape_2_per_frame27=// Kardan angles +shape_2_per_frame28= +shape_2_per_frame29=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame30=w2 = q4; // rotation around vertical axis +shape_2_per_frame31=w3 = q5; // rotation around horizontal axis +shape_2_per_frame32= +shape_2_per_frame33= +shape_2_per_frame34=// definition of the 3D shape +shape_2_per_frame35= +shape_2_per_frame36=i = instance; +shape_2_per_frame37= +shape_2_per_frame38=my_x = t *(cos(wh)*sin(wv)*l); +shape_2_per_frame39=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_2_per_frame40=my_z = t*(sin(wh)*sin(wv)*l); +shape_2_per_frame41= +shape_2_per_frame42= +shape_2_per_frame43=// 3D rotations +shape_2_per_frame44= +shape_2_per_frame45=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame46=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame47=z1 = my_z; +shape_2_per_frame48= +shape_2_per_frame49=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame50=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame51=y2 = y1; +shape_2_per_frame52= +shape_2_per_frame53=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame54=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame55=x3 = x2; +shape_2_per_frame56= +shape_2_per_frame57=// perspective calculation +shape_2_per_frame58= +shape_2_per_frame59=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame60=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame61= +shape_2_per_frame62=rad = rad/d; +shape_2_per_frame63=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame64=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame65= +shape_2_per_frame66=x = 0.5 + my_x; +shape_2_per_frame67=y = 0.5 + my_y; +shape_2_per_frame68= +shape_2_per_frame69=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame70=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=222 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05186 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0008*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 4; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_7=` float2 uv_bg = lerp(uv_orig,uv,1) + float2(dx.x,dy.x)*texsize.zw*4; +warp_8=` ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 +warp_9=` +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1; +warp_10=` +warp_11=`// there 2 channels unused, see? - hav fun :P +warp_12=` +warp_13=` ret.y = tex2D(sampler_fc_main, uv).y - ret.x*0.04; +warp_14=` +warp_15=`} +comp_1=`float2 uv_x, uv_y, uv_z, uv_echo; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*0.86; +comp_5=` float2 d = -texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=` +comp_10=` float2 uv_light1 = (float2(q4,q8)*float2(1,-1) + float2(0,1)); +comp_11=` float1 light1_dy = pow(length( uv + float2(dx.y,dy.y)*4 - uv_light1),2); +comp_12=` float1 light1_dx = pow(length( uv + float2(dx.x,dy.x)*4 - uv_light1),2); +comp_13=` float1 light1_dz = pow(length( uv + float2(dx.z,dy.z)*4 - uv_light1),2); +comp_14=` +comp_15=` +comp_16=` +comp_17=`ret = (1-pow(1.1-pow(float3(light1_dx,light1_dy,light1_dz)*2,0.3),2))*GetPixel(uv); +comp_18=` +comp_19=`ret.zyx = ret; +comp_20=`ret.yz -= ret.xx*0.5; +comp_21=`} diff --git a/presets/presets_tryptonaut/Flexi + geiss - the deep diver's manifesto [metaphorfree].milk b/presets/presets_tryptonaut/Flexi + geiss - the deep diver's manifesto [metaphorfree].milk new file mode 100755 index 0000000000..a49628df6c --- /dev/null +++ b/presets/presets_tryptonaut/Flexi + geiss - the deep diver's manifesto [metaphorfree].milk @@ -0,0 +1,423 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.803 +fWarpScale=1.220 +fZoomExponent=0.99999 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.31218 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=10 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01525 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_0_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0008*cos(ma)); +shape_0_per_frame5=my=my+(.0008*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.2)); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=zoom = 1; +per_frame_3=wave_a = 0; +per_frame_4=w = w1; // forward vector angle +per_frame_5=ww = -(y1-y2)*(1+(70/fps-1)*2) - y1*0.8; // bending indication +per_frame_6=w = w - ww*5; +per_frame_7=q1 = cos(ww); +per_frame_8=q2 = sin(ww); +per_frame_9=q3 = 1.12; +per_frame_10=q4 = sin(w)*0.042; +per_frame_11=q5 = cos(w)*0.042; +per_frame_12=a = asin(1)*0.5; +per_frame_13=d = 0.08; +per_frame_14=q6 = cos(a+0*ww); +per_frame_15=q7 = sin(a+0*ww); +per_frame_16=q8 = 3.3; +per_frame_17=q9 = cos(-w + asin(1))*d*aspectx; +per_frame_18=q10 = sin(-w+asin(1))*d*aspecty; +per_frame_19=q11 = cos(-a+0*ww); +per_frame_20=q12 = sin(-a+0*ww); +per_frame_21=q13 = q8; +per_frame_22=q14 = cos(-w + asin(1))*d*aspectx; +per_frame_23=q15 = sin(-w+asin(1))*d*aspecty; +per_frame_24=bb = bb*0.97 + bass*0.04; +per_frame_25=mm = mm*0.97 + mid*0.04; +per_frame_26=tt = tt*0.97 + treb*0.04; +per_frame_27=w1 = w1 + ww1*sqrt(vx*vx+vy*vy)*a*2; +per_frame_28=ww1 = ww1*0.94 + y1*0.1; +per_frame_29=q16 = (bb-tt)*0.2; +per_frame_30=y1 = y1 + v1*0.1; +per_frame_31=y2 = y2 + v2*0.2; +per_frame_32=v1 = v1*0.95 - (y1-q16)*0.1; +per_frame_33=v2 = v2*0.99 - (y2-y1)*0.2; +per_frame_34=a = abs(y2-y1)*2.2/fps; +per_frame_35=q17 = sin(w)*a; +per_frame_36=q18 = -cos(w)*a; +per_frame_37=v = 0.25; +per_frame_38=x = x + vx*v; x=min(1,max(-1,x)); +per_frame_39=y = y + vy*v; y=min(1,max(-1,y)); +per_frame_40=vx = vx*0.97 +sin(w)*a + (equal(x,-1)- equal(x,1))*0.2; +per_frame_41=vy = vy*0.97 -cos(w)*a + (equal(y,-1)- equal(y,1))*0.2; +per_frame_42=q19 = x*0.5; +per_frame_43=q20 = y*0.5; +per_frame_44= +per_frame_45=q21 = -w1 - ww*4*0; +per_frame_46= +per_frame_47=mx = max(max(bb,mm),tt); +per_frame_48=mn = min(min(bb,mm),tt); +per_frame_49=ob_r = (bb-mn)/(mx-mn); +per_frame_50=ob_g = (mm-mn)/(mx-mn); +per_frame_51=ob_b = (tt-mn)/(mx-mn); +per_frame_52=v = 1/fps; +per_frame_53=xx = xx + v*(ob_r-ob_g); +per_frame_54=yy = yy + v*(ob_g-ob_b); +per_frame_55=q32 = xx; +per_frame_56=q31 = yy; +per_pixel_1=xo = x; +per_pixel_2=yo = y; +per_pixel_3= +per_pixel_4=x = 0.5 +(x-0.5)*aspectx; +per_pixel_5=y = 0.5 +(y-0.5)*aspecty; +per_pixel_6= +per_pixel_7=// geiss' tokamak code +per_pixel_8=du = (x*2-1) - q19*2; +per_pixel_9=dv = (y*2-1) + q20*2; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = (atan2(du,dv))*3 + q21*2;// + q22; +per_pixel_12=mult = -pow(dist,2)*0.02; +per_pixel_13=dx2 = mult*sin(ang2)*aspectx; +per_pixel_14=dy2 = mult*cos(ang2)*aspecty; +per_pixel_15= +per_pixel_16= +per_pixel_17=x = xo; +per_pixel_18=y = yo; +per_pixel_19= +per_pixel_20= +per_pixel_21=// have a nice warp effect? - rotate it like a shape! +per_pixel_22= +per_pixel_23= angle = q21 + 1.579; +per_pixel_24= +per_pixel_25=///////////////////////////////////////////////////////// +per_pixel_26=X1 = (x-0.5)*aspectx; // center +per_pixel_27=Y1 = (y-0.5)*aspecty; +per_pixel_28=x = cos(-angle)*X1 -sin(-angle)*Y1; // rotate the x/y pane +per_pixel_29=y = sin(-angle)*X1 +cos(-angle)*Y1; +per_pixel_30=///////////////////////////////////////////////////////// +per_pixel_31= +per_pixel_32= // place your original code here +per_pixel_33= +per_pixel_34= t = time*2; +per_pixel_35= v = 0.003; +per_pixel_36= n = 25; +per_pixel_37= +per_pixel_38= dx = v*(cos((-x+y)*n+t) + sin((x+y)*n+t)); +per_pixel_39= dy = v*(cos((x-y)*n-t) + sin((-x-y)*n-t)); +per_pixel_40= +per_pixel_41= +per_pixel_42=///////////////////////////////////////////////////////// +per_pixel_43=dx1 = cos(angle)*dx - sin(angle)*dy; // rotate the dx/dy value to match the x/y pane +per_pixel_44=dy1 = sin(angle)*dx + cos(angle)*dy; +per_pixel_45=dx = dx1*aspectx; +per_pixel_46=dy = dy1*aspecty; +per_pixel_47=///////////////////////////////////////////////////////// +per_pixel_48= +per_pixel_49=dx = dx + dx2; +per_pixel_50=dy = dy + dy2; +warp_1=`shader_body +warp_2=`{ +warp_3=`uv = saturate(uv); +warp_4=`ret = GetPixel(uv) - float3(0.08,0.00,0.08); +warp_5=`float2 uv1 = uv; +warp_6=`float2 d = texsize.zw*4; +warp_7=`float3 dx = (2*GetBlur1(uv1 + float2(1,0)*d) - 2*GetBlur1(uv1 - float2(1,0)*d)); +warp_8=`float3 dy = (2*GetBlur1(uv1 + float2(0,1)*d) - 2*GetBlur1(uv1 - float2(0,1)*d)); +warp_9=`d *= float2(dx.x,dy.x)*0.4; +warp_10=`uv1+=d; +warp_11=`//uv1 = frac(uv1); +warp_12=`ret.x = tex2d(sampler_fc_main, uv1).x; +warp_13=`ret.x -=(GetBlur1(uv1).x-ret.x)*0.05 + 0.004; +warp_14=` +warp_15=`ret.z = max(length(float2(dx.x,dy.x))*1.4,GetPixel(saturate(lerp(uv_orig,uv,-1)) - float2(dx.z,dy.z)*texsize.zw*4).z) - 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = GetPixel(uv); +comp_4=`} diff --git a/presets/presets_tryptonaut/Flexi - 100% shader fractal [origami edit].milk b/presets/presets_tryptonaut/Flexi - 100% shader fractal [origami edit].milk new file mode 100755 index 0000000000..9e4826b676 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - 100% shader fractal [origami edit].milk @@ -0,0 +1,672 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.549 +fWarpScale=2.940 +fZoomExponent=0.02049 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.45984 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.010 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.85; +wave_0_per_point13= +wave_0_per_point14=w1 = q12; +wave_0_per_point15=w2 = q13; +wave_0_per_point16=w3 = q14; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=g = -z3*0.8 + 0.55; +wave_0_per_point44=//b = min(1,max(0,b))*0.5; +wave_0_per_point45=//r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.140 +shapecode_0_y=0.130 +shapecode_0_rad=0.20388 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=//q1 = 0; +per_frame_2=v = 0.8; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q12 = n*0.01; +per_frame_13=q13 = n1*0.01; +per_frame_14=q14 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q25 = k*0.00; +per_frame_18= +per_frame_19=zoom = 0.995; +per_frame_20=warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=w = -0.46; +per_frame_25=q21 = sin(w); +per_frame_26=q22 = cos(w); +per_frame_27= +per_frame_28=w = -n*0.001; +per_frame_29=q23 = sin(w); +per_frame_30=q24 = cos(w); +per_frame_31=q29 = n1*0.004; +per_frame_32=q30 = n2*0.004; +per_frame_33= +per_frame_34=//before inversion +per_frame_35=scale = 3; +per_frame_36=angle = (n1-n2)*0.0004; +per_frame_37=translation_x = 0; +per_frame_38=translation_y = 0.02; +per_frame_39= +per_frame_40=//complex inverted +per_frame_41=iscale = 0.2; +per_frame_42=iangle = sin(time*0.1337)*0.04; +per_frame_43=itranslation_u = 0; +per_frame_44=itranslation_v = 0; +per_frame_45= +per_frame_46= +per_frame_47=// the m�bius transformation +per_frame_48=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_49=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_50=// so a/c and mu can be calculated outside of the shader +per_frame_51= +per_frame_52=a_r = cos(angle)*scale; +per_frame_53=a_i = sin(angle)*scale; +per_frame_54=b_r = translation_x; +per_frame_55=b_i = translation_y; +per_frame_56= +per_frame_57=c_r = -cos(iangle)*iscale; +per_frame_58=c_i = -sin(iangle)*iscale; +per_frame_59=d_r = itranslation_u; +per_frame_60=d_i = itranslation_v; +per_frame_61= +per_frame_62=// c^(-1) +per_frame_63=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_64=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_65= +per_frame_66=// a*c^(-1) +per_frame_67=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_68=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_69= +per_frame_70=// (bc-ad) +per_frame_71=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_72=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_73= +per_frame_74=// mu*c^(-1) +per_frame_75=q3 = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_76=q4 = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_77= +per_frame_78=q1 = ac_r; +per_frame_79=q2 = ac_i; +per_frame_80= +per_frame_81=q5 = c_r; +per_frame_82=q6 = c_i; +per_frame_83=q7 = d_r; +per_frame_84=q8 = d_i; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24=v = 0.4; +per_pixel_25=dx = (x1+x2+x3)*v; +per_pixel_26=dy = (y1+y2+y3)*v; +warp_1=`float1 s,c; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=`ret = 0; +warp_6=` +warp_7=`// fern fractal on the red channel +warp_8=` +warp_9=`float2 uv0 = uv.yx*4 -float2(3,0); +warp_10=`float c0 = tex2D(sampler_fc_main, uv0).z; // feeded by the spiral +warp_11=` +warp_12=`float2 uv1 = 0.5 + (uv-0.5)*1.15 + float2(-1,1)*0.05; // main arm +warp_13=`float1 c1 = tex2D(sampler_fc_main, uv1).x; +warp_14=` +warp_15=`float2 uv2 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; // upper limb +warp_16=`float1 c2 = tex2D(sampler_fc_main, uv2).x; +warp_17=` +warp_18=`float2 uv3 = float2(1,2) + (float2(1,-1)*uv + float2(0,1) - 0.5)*4; // lower limb +warp_19=`float1 c3 = tex2D(sampler_fc_main, uv3).x; +warp_20=` +warp_21=`ret.x = (c0 + c1 + c2 + c3)*1.075; // composition of the red fractal +warp_22=` +warp_23=`// spiral in the blue channel +warp_24=` +warp_25=`float2 uv4 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; +warp_26=`float1 c4 = tex2D(sampler_fc_main, uv4).x; // feeded by the fern +warp_27=` +warp_28=`s = q21; // sin(w) +warp_29=`c = q22; // cos(w) +warp_30=`float2 scale = 1.05; +warp_31=`float2 uv5 = (uv-0.5)*aspect.xy; +warp_32=` uv5 = scale*float2( c*uv5.x - s*uv5.y, s*uv5.x + c*uv5.y); // rotation +warp_33=` uv5 = 0.5 + uv5*aspect.zw + float2(-0.03,0.03); +warp_34=` +warp_35=`float1 c5 = tex2D(sampler_fc_main, uv5).z; +warp_36=` +warp_37=`ret.z = (c4 + c5)*1.075 - 0.00; +warp_38=` +warp_39=`// mirrored rotated checker in the green channel +warp_40=` +warp_41=`s = q23; // sin(w) +warp_42=`c = q24; // cos(w) +warp_43=` +warp_44=`float2 uv6 = (uv-0.5)*aspect.xy*2.4; +warp_45=` uv6 = scale*float2( c*uv6.x - s*uv6.y, s*uv6.x + c*uv6.y); // rotation +warp_46=` uv6 = 0.5 + uv6*aspect.zw + float2(q29,q30); +warp_47=` +warp_48=` uv6 = 1.0 - abs( frac( uv6 * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_49=` +warp_50=`float c6 = tex2D(sampler_fc_main,uv6).z; // feeded by the spiral +warp_51=`float c7 = tex2D(sampler_fc_main,uv6).y; +warp_52=` +warp_53=`ret.y = lerp(max(c6,c7-0.15),tex2D(sampler_fc_main,uv_orig).y-0.004,0.3); // motion blur +warp_54=` +warp_55=`} +comp_1=`sampler sampler_paper; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 ac = float2(q1,q2); +comp_6=`float2 mu = float2(q3,q4); +comp_7=`float2 c = float2(q5,q6); +comp_8=`float2 d = float2(q7,q8); +comp_9=` +comp_10=`float2 z = (uv-0.5)*aspect.wz; +comp_11=` +comp_12=`// (c*z + d) +comp_13=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d; +comp_14=`// mu/(cz+d) +comp_15=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_16=` +comp_17=` d = texsize.zw*4; +comp_18=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).x; +comp_19=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).x; +comp_20=` +comp_21=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 + float2(dx,dy)*.01) * 2 - 1.0 )-0.5)*0.99; +comp_22=` +comp_23=`ret.x = GetPixel(moebius).y; +comp_24=`ret.z = GetPixel(uv).x; +comp_25=`ret.y = GetBlur1(moebius).z; +comp_26=` +comp_27=`ret = tex2d(sampler_paper, moebius); +comp_28=`ret = lerp(ret,float3(-1,-2,1),GetBlur2(uv-float2(dx,dy)*0.02).x*0.4); +comp_29=`ret = lerp(ret,float3(0,-0.1,-0.2),GetBlur2(moebius).z*1.4); +comp_30=`ret = lerp(ret,ret*0.6-0.2,GetPixel(moebius).y*1); +comp_31=`ret = lerp(ret,float3(1.6,0,0.6),GetPixel(moebius).z*0.38); +comp_32=`ret = lerp(ret,float3(2,4,3),GetPixel(uv-float2(dx,dy)*0.012).x*0.2); +comp_33=`//ret = GetPixel(uv); +comp_34=`} diff --git a/presets/presets_tryptonaut/Flexi - Julia fractal.milk b/presets/presets_tryptonaut/Flexi - Julia fractal.milk new file mode 100755 index 0000000000..9741080683 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - Julia fractal.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.508 +fWaveSmoothing=0.000 +fWaveParam=0.340 +fModWaveAlphaStart=1.130 +fModWaveAlphaEnd=1.360 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.50330 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.900 +shapecode_0_rad=0.15493 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=t = time*12.3; +per_frame_2=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_3=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_4=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +per_frame_5=//rot = 0; +per_frame_6=//wave_a = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.1 - 0.015; +warp_9=`// ret *= 0.94; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.1;// + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*0.0; +warp_14=` +warp_15=` +warp_16=` float2 zoom =1.81; +warp_17=` float2 c = float2(0.448,0.701); +warp_18=` float2 my_uv = (uv_orig+(uv-uv_orig)*.4-0.5)*zoom; +warp_19=` my_uv = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y) + c; +warp_20=` +warp_21=` ret.z =tex2D(sampler_fc_main, my_uv).z + 0.004; +warp_22=` +warp_23=`float2 uv_x = 0.5 + (lerp(uv_orig,uv,-1)-0.5)*1.00; +warp_24=`ret.x = GetPixel(uv_x).x - 0.004; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*6; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` float2 uv_y = uv-float2(dx.y,dy.y)*0.6; +comp_7=` float2 uv_x = uv+float2(dx.x,dy.x)*0.2; +comp_8=` +comp_9=`ret = lerp(float3(0.4,0.5,1)*max(0,1-length((uv_y-0.5)*aspect.xy)*2 -0.2+GetPixel(uv).z*0.2) +comp_10=` + GetPixel(uv).x, +comp_11=` lerp(float3(2,2,1),float3(2,-1,-2),GetPixel(uv).z), GetBlur1(uv_x).y*0.35); +comp_12=`//ret = GetPixel(uv); +comp_13=`} +comp_14=` diff --git a/presets/presets_tryptonaut/Flexi - dawn has broken.milk b/presets/presets_tryptonaut/Flexi - dawn has broken.milk new file mode 100755 index 0000000000..f82ac6294e --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - dawn has broken.milk @@ -0,0 +1,415 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=1.224 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.570 +shapecode_0_y=0.410 +shapecode_0_rad=0.09234 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=t = time*12.3; +per_frame_2=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_3=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_4=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +per_frame_5= +per_frame_6= +per_frame_7=w = time*0.1; // ang +per_frame_8=q13 = sin(w); +per_frame_9=q14 = cos(w); +per_frame_10=q15 = 0.5; // x +per_frame_11=q16 = 0.5; // y +per_frame_12=q17 = 1.1; // 1/texzoom +per_frame_13=q18 = 0.5; // rotation centre x +per_frame_14=q19 = 0.5; // rotcy +per_frame_15= +per_frame_16= +per_frame_17=//before inversion +per_frame_18=scale = 1; +per_frame_19=angle = time*0.5; +per_frame_20=translation_x = 0; +per_frame_21=translation_y = 0.1; +per_frame_22= +per_frame_23=//complex inverted +per_frame_24=iscale = 1; +per_frame_25=iangle = 0.2; +per_frame_26=itranslation_u = 0; +per_frame_27=itranslation_v = 0; +per_frame_28= +per_frame_29= +per_frame_30=// the m�bius transformation +per_frame_31=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_32=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_33=// so a/c and mu can be calculated outside of the shader +per_frame_34= +per_frame_35=a_r = cos(angle)*scale; +per_frame_36=a_i = sin(angle)*scale; +per_frame_37=b_r = translation_x; +per_frame_38=b_i = translation_y; +per_frame_39= +per_frame_40=c_r = -cos(iangle)*iscale; +per_frame_41=c_i = -sin(iangle)*iscale; +per_frame_42=d_r = itranslation_u; +per_frame_43=d_i = itranslation_v; +per_frame_44= +per_frame_45=// c^(-1) +per_frame_46=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_47=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_48= +per_frame_49=// a*c^(-1) +per_frame_50=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_51=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_52= +per_frame_53=// (bc-ad) +per_frame_54=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_55=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_56= +per_frame_57=// mu*c^(-1) +per_frame_58=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_59=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_60= +per_frame_61=q1 = ac_r; +per_frame_62=q2 = ac_i; +per_frame_63=q3 = mu_r; +per_frame_64=q4 = mu_i; +per_frame_65= +per_frame_66=q5 = c_r; +per_frame_67=q6 = c_i; +per_frame_68=q7 = d_r; +per_frame_69=q8 = d_i; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_main, uv ).y; +warp_14=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_15=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_16=` +warp_17=`uv_bg = uv_orig +(uv_orig-uv)*0.8 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_18=`ret.z = GetPixel(uv_bg).z*0.94 - 0.004; +warp_19=` +warp_20=`float2 zoom = 1.75; +warp_21=`float2 c = float2(0.4,0.74); +warp_22=` +warp_23=` float2 my_uv2 = (uv_orig-0.5)*zoom; +warp_24=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_25=` +warp_26=` +warp_27=` d = texsize.zw*8; +warp_28=` float2 uv_d = my_uv2; +warp_29=` dx = ( GetBlur1(uv_d+float2(1,0)*d)-GetBlur1(uv_d-float2(1,0)*d) ); +warp_30=` dy = ( GetBlur1(uv_d+float2(0,1)*d)-GetBlur1(uv_d-float2(0,1)*d) ); +warp_31=` uv_y = uv_d+float2(dx.x,dy.x)*texsize.zw*4; +warp_32=` +warp_33=`ret.x = tex2D( sampler_fc_main, uv_y).x; +warp_34=` +warp_35=`} +comp_1=`sampler sampler_sunrise; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 ac = float2(q1,q2); +comp_6=`float2 mu = float2(q3,q4); +comp_7=`float2 c = float2(q5,q6); +comp_8=`float2 d = float2(q7,q8); +comp_9=` +comp_10=`float2 z = (uv-0.5)*aspect.wz; +comp_11=` +comp_12=`// (c*z + d) +comp_13=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d; +comp_14=`// mu/(cz+d) +comp_15=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_16=` +comp_17=` d = texsize.zw*4; +comp_18=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_19=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_20=` +comp_21=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 - float2(dx.y,dy.y)*0.2 + float2(dx.x,dy.x)*0.1) * 2 - 1.0 )-0.5)*0.99; +comp_22=` +comp_23=`ret = tex2d(sampler_sunrise, frac(moebius)); +comp_24=`ret = lerp(ret,-2,GetPixel(uv + float2(dx.y,dy.y)*0.1).x*0.1); +comp_25=`ret = lerp(ret,-1,GetPixel(uv - float2(dx.z,dy.z)*0.024).z*0.4); +comp_26=`ret = lerp(ret,1,saturate(GetPixel(uv).y-GetBlur3(uv).y*2)); +comp_27=`//ret = GetPixel(uv).x; +comp_28=`} diff --git a/presets/presets_tryptonaut/Flexi - fractal jellyfish [moebius mix].milk b/presets/presets_tryptonaut/Flexi - fractal jellyfish [moebius mix].milk new file mode 100755 index 0000000000..7d15155feb --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - fractal jellyfish [moebius mix].milk @@ -0,0 +1,413 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=0.983 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.19913 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01359 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.040 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.500 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.86644 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=//before inversion +per_frame_2=scale = 1; +per_frame_3=angle = time*.2; +per_frame_4=translation_x = 0; +per_frame_5=translation_y = 0.12; +per_frame_6= +per_frame_7=//complex inverted +per_frame_8=iscale = 1; +per_frame_9=iangle = sin(time*0.1337)*0.3; +per_frame_10=itranslation_u = 0; +per_frame_11=itranslation_v = 0.2; +per_frame_12= +per_frame_13= +per_frame_14=// the m�bius transformation +per_frame_15=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_16=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_17=// so a/c and mu can be calculated outside of the shader +per_frame_18= +per_frame_19=a_r = cos(angle)*scale; +per_frame_20=a_i = sin(angle)*scale; +per_frame_21=b_r = translation_x; +per_frame_22=b_i = translation_y; +per_frame_23= +per_frame_24=c_r = -cos(iangle)*iscale; +per_frame_25=c_i = -sin(iangle)*iscale; +per_frame_26=d_r = itranslation_u; +per_frame_27=d_i = itranslation_v; +per_frame_28= +per_frame_29=// c^(-1) +per_frame_30=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_31=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_32= +per_frame_33=// a*c^(-1) +per_frame_34=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_35=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_36= +per_frame_37=// (bc-ad) +per_frame_38=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_39=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_40= +per_frame_41=// mu*c^(-1) +per_frame_42=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_43=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_44= +per_frame_45=q1 = ac_r; +per_frame_46=q2 = ac_i; +per_frame_47=q3 = mu_r; +per_frame_48=q4 = mu_i; +per_frame_49= +per_frame_50=q5 = c_r; +per_frame_51=q6 = c_i; +per_frame_52=q7 = d_r; +per_frame_53=q8 = d_i; +per_pixel_1=vx = 0.5+cos(time*0.1)*0.5; +per_pixel_2=vy = 0.5+sin(time*0.1)*0.5; +per_pixel_3=vz = 0; +per_pixel_4=z = 0 - vz; +per_pixel_5=x = x - vx; +per_pixel_6=y = y - vy; +per_pixel_7= +per_pixel_8=d = time*0.1-treb*treb*treb*0.00; +per_pixel_9=xx = sin(d)*x + cos(d)*y; +per_pixel_10=yy = cos(d)*x - sin(d)*y; +per_pixel_11= +per_pixel_12=x = xx; +per_pixel_13=y = yy; +per_pixel_14= +per_pixel_15= +per_pixel_16=x = x + mx; +per_pixel_17=y = y + my; +per_pixel_18=z = z + vz; +per_pixel_19=cx = 0; +per_pixel_20=cy = 0; +per_pixel_21=cz = 0.5+treb*0.0; +per_pixel_22=vx = 0; +per_pixel_23=vy = 0; +per_pixel_24=vz = 0; +per_pixel_25=zoom = 0.33; +per_pixel_26=w = 1/zoom*(1+sqrt(sqr(z-cz) + sqr(x-cx)+sqr(y-cy))); +per_pixel_27=dx = -(x-mx)*w;// + w*(y-my); +per_pixel_28=dy = -(y-my)*w ;// - w*(x-mx); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).x*0.5; +warp_5=` +warp_6=` float2 d = texsize.zw*4; +warp_7=` float2 uv_z = (uv_orig-0.5)*0.996 + 0.5 +float2(0,0)*texsize.zw; +warp_8=` float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_9=` float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_10=` uv_z -=float2(dx.z,dy.z)*texsize.zw*2; +warp_11=` +warp_12=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*4), tex2d(sampler_fc_main,uv_z).z); +warp_13=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; +warp_14=` +warp_15=`float2 uv_y = lerp(uv,uv_orig,1.0004);//(uv_orig-0.5)*1.004 + 0.5; +warp_16=`ret.y =max(tex2d(sampler_fc_main,uv_y).y ,tex2d(sampler_fc_main,uv_y).z)-0.008; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q1,q2); +comp_5=`float2 mu = float2(q3,q4); +comp_6=`float2 c = float2(q5,q6); +comp_7=`float2 d = float2(q7,q8); +comp_8=` +comp_9=`float2 z = (uv-0.5)*aspect.wz; +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`uv = moebius; +comp_19=` d = texsize.zw*4; +comp_20=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_21=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_22=` float2 uv_y = uv-float2(dx,dy)*0.5; +comp_23=` +comp_24=`ret = lerp(tex2D(sampler_fc_main, uv_y).x*pow(hue_shader.zxy,4), +comp_25=` lerp(pow(hue_shader,6)*1.2,pow(hue_shader,8).yzx,GetPixel(uv).z)*1.5, +comp_26=` GetBlur1(uv).y*0.5); +comp_27=` +comp_28=`//ret = tex2D(sampler_fc_main, moebius ); +comp_29=`} diff --git a/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos [mirrorized].milk b/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos [mirrorized].milk new file mode 100755 index 0000000000..c1cdd94b48 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos [mirrorized].milk @@ -0,0 +1,364 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.120 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=t = time*12.3; +per_frame_2=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_3=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_4=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +per_frame_5=//wave_a = 0; +per_frame_6= +per_frame_7=db = db*0.98 + bass*0.1; +per_frame_8=bb = bb + db*0.1; +per_frame_9= +per_frame_10=dt = dt*0.98 + treb*0.1; +per_frame_11=tt = tt + dt*0.1; +per_frame_12= +per_frame_13=dm = dm*0.98 + mid*0.1; +per_frame_14=mm = mm + dm*0.1; +per_frame_15= +per_frame_16= +per_frame_17=w = (bb-tt)*0.1; +per_frame_18=q11 = sin(w); +per_frame_19=q12 = cos(w); +per_frame_20=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // cx +per_frame_21=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // cy +per_frame_22=q15 = 4; +per_frame_23=q16 = 0.06; +per_frame_24=q17 = sin(-w); +per_frame_25=q18 = cos(-w); +per_frame_26= +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig +(uv_orig-uv)*0.8 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_21=`ret.z = GetPixel(uv_bg).z*0.94 - 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 cntr = float2(q13,q14); +comp_4=`float sin = q11; +comp_5=`float cos = q12; +comp_6=`float scale = q15; +comp_7=` +comp_8=`float2 uv_r = (uv-cntr)*aspect.xy; +comp_9=` uv_r = scale*float2( cos*uv_r.x - sin*uv_r.y, sin*uv_r.x + cos*uv_r.y); // rotation +comp_10=` uv_r = cntr + uv_r*aspect.zw; +comp_11=` uv_r = 1.0 - abs( frac( uv_r * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_12=` +comp_13=` sin = q17; +comp_14=` cos = q18; +comp_15=` +comp_16=`float2 uv_rr = (uv_r-cntr)*aspect.xy; +comp_17=` uv_rr = scale*float2( cos*uv_rr.x - sin*uv_rr.y, sin*uv_rr.x + cos*uv_rr.y); // counter-rotation +comp_18=` uv_rr = cntr + (uv_rr-cntr)*aspect.zw*q16; +comp_19=` uv_rr = 1.0 - abs( frac( uv_rr * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_20=` +comp_21=`uv = uv_rr; +comp_22=` +comp_23=` float2 d = texsize.zw*4; +comp_24=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_25=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_26=` float2 uv_y = uv+float2(dx,dy)*0.4; +comp_27=` +comp_28=`ret = lerp(float3(0.8,0.6,0.5)*tex2D(sampler_fc_main, uv_y).x, +comp_29=` lerp(float3(2,1.2,0),float3(-1,0.8,-1),GetPixel(uv).z), +comp_30=` GetBlur1(uv).y*0.35); +comp_31=`} diff --git a/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos.milk b/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos.milk new file mode 100755 index 0000000000..954412d127 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - gold plated maelstrom of chaos.milk @@ -0,0 +1,323 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.120 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=t = time*12.3; +per_frame_2=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_3=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_4=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig +(uv_orig-uv)*0.8 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_21=`ret.z = GetPixel(uv_bg).z*0.94 - 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv+float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(float3(0.8,0.6,0.5)*tex2D(sampler_fc_main, uv_y).x, +comp_9=` lerp(float3(2,1.2,0),float3(-1,0.8,-1),GetPixel(uv).z), +comp_10=` GetBlur1(uv).y*0.35); +comp_11=`} +comp_12=` diff --git a/presets/presets_tryptonaut/Flexi - hue burst.milk b/presets/presets_tryptonaut/Flexi - hue burst.milk new file mode 100755 index 0000000000..49073921cf --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - hue burst.milk @@ -0,0 +1,348 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=vol = bass*8 + mid*5 + treb*3; +per_frame_2=m = m*0.97 + vol*0.08; +per_frame_3=monitor = vol; +per_frame_4=beat = above(vol,res)*above(vol,m)*above(vol,16); +per_frame_5=diff = (1-beat)*diff + beat*(vol-res); +per_frame_6=res = beat*(vol + m*0.1) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +per_frame_7=res = max(0,res); +per_frame_8= +per_frame_9= +per_frame_10=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_11=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_12=q1 = x; +per_frame_13=q2 = y; +per_frame_14= +per_frame_15=wave_x = q1; +per_frame_16=wave_y = 1-q2; +per_pixel_1=cx = q1; +per_pixel_2=cy = q2; +per_pixel_3= +per_pixel_4=d = pow(sqrt(sqr(x-cx)+sqr(y-cy)),0.8); +per_pixel_5=r = 0.2; +per_pixel_6=v = 0.2; +per_pixel_7= +per_pixel_8=dx = (x - cx)*v*(d-r); +per_pixel_9=dy = (y - cy)*v*(d-r); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = lerp(uv_orig,uv,0.2) + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = tex2D(sampler_fc_main,uv_bg).x - (tex2D(sampler_fc_main,uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig +(uv_orig-uv) + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_21=`ret.z = tex2D(sampler_fc_main,uv_bg).z*0.96 - 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(tex2D(sampler_fc_main, uv_y).x*pow(hue_shader.zxy,2), +comp_9=` lerp(pow(hue_shader,4)*1.2,3,GetPixel(uv).z), +comp_10=` GetBlur1(uv).y*0.7); +comp_11=`} +comp_12=` diff --git a/presets/presets_tryptonaut/Flexi - infused with the spiral.milk b/presets/presets_tryptonaut/Flexi - infused with the spiral.milk new file mode 100755 index 0000000000..df0362336f --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - infused with the spiral.milk @@ -0,0 +1,539 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=4.28632 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01743 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.040 +wavecode_0_b=0.000 +wavecode_0_a=0.990 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.65; +wave_0_per_point13= +wave_0_per_point14=w1 = q2; +wave_0_per_point15=w2 = q3; +wave_0_per_point16=w3 = q4; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=b = -z3 + 0.5; +wave_0_per_point44=b = min(1,max(0,b))*0.5; +wave_0_per_point45=r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78900 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = 0.65 + bass*0.1; +shape_0_per_frame2= +shape_0_per_frame3=an = an*0.99 + (bass-treb)*0.1; +shape_0_per_frame4=ang = an*0.1 + 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=q1 = 0; +per_frame_2=v = 0.4; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q2 = n*0.01; +per_frame_13=q3 = n1*0.01; +per_frame_14=q4 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q5 = k*0.00; +per_frame_18= +per_frame_19=zoom = 1.0016; +per_frame_20=warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=q9 = aspectx; +per_frame_25=q10 = aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*4; +warp_5=` float3 dx = ( GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv-float2(0,1)*d) ); +warp_7=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*60; +warp_8=` ret.z = (GetPixel(uv_dz).z + (GetPixel(uv).z - GetBlur1(uv).z)*200*length(uv_dz-uv))*0.96 - 0.02; +warp_9=` +warp_10=` +warp_11=` d = texsize.zw*4; +warp_12=` dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_13=` dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_14=` +warp_15=` float2 uv_dy = uv_orig + float2(dx.y,dy.y)*texsize.zw*6; +warp_16=` ret.y = GetPixel(uv_dy).y + (GetPixel(uv).y - GetBlur1(uv).y)*0.1 - 0.016; +warp_17=`//ret.y = 0; +warp_18=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*8; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv - float2(dx.z,dy.z)*0.2; +comp_9=` float2 uv_dy = uv - float2(dx.y,dy.y)*0.04; +comp_10=` float emboss = (-dx.y+dy.y) + 1 + (-dx.z + dy.z)*2; +comp_11=` +comp_12=`ret = GetPixel(uv).y*0.2; +comp_13=`ret = lerp(float3(0.2,0,0.1),float3(0.8,0.6,0),GetPixel(uv_dz).y); +comp_14=`ret *= emboss; +comp_15=`ret = lerp(ret,float3(0.2,0,0.4),GetBlur1(uv_dy).x*1.4); +comp_16=`ret = lerp(ret,float3(1,0.9,0.8),GetPixel(uv).z*1); +comp_17=` +comp_18=`} +comp_19=` diff --git a/presets/presets_tryptonaut/Flexi - intensive shader fractal [suksma comp shader mix].milk b/presets/presets_tryptonaut/Flexi - intensive shader fractal [suksma comp shader mix].milk new file mode 100755 index 0000000000..0639f359b2 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - intensive shader fractal [suksma comp shader mix].milk @@ -0,0 +1,615 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.549 +fWarpScale=2.940 +fZoomExponent=0.02049 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.45984 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.010 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.85; +wave_0_per_point13= +wave_0_per_point14=w1 = q12; +wave_0_per_point15=w2 = q13; +wave_0_per_point16=w3 = q14; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=g = -z3*0.8 + 0.55; +wave_0_per_point44=//b = min(1,max(0,b))*0.5; +wave_0_per_point45=//r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.140 +shapecode_0_y=0.130 +shapecode_0_rad=0.20388 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=//q1 = 0; +per_frame_2=v = 0.8; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q12 = n*0.01; +per_frame_13=q13 = n1*0.01; +per_frame_14=q14 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q5 = k*0.00; +per_frame_18= +per_frame_19=zoom = 0.995; +per_frame_20=warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=w = -0.46; +per_frame_25=q1 = sin(w); +per_frame_26=q2 = cos(w); +per_frame_27= +per_frame_28=w = -n*0.001; +per_frame_29=q3 = sin(w); +per_frame_30=q4 = cos(w); +per_frame_31=q9 = n1*0.004; +per_frame_32=q10 = n2*0.004; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24=v = 1; +per_pixel_25=dx = (x1+x2+x3)*v; +per_pixel_26=dy = (y1+y2+y3)*v; +warp_1=`float1 s,c; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=`ret = 0; +warp_6=` +warp_7=`// fern fractal on the red channel +warp_8=` +warp_9=`float2 uv0 = uv.yx*4 -float2(3,0); +warp_10=`float c0 = tex2D(sampler_fc_main, uv0).z; // feeded by the spiral +warp_11=` +warp_12=`float2 uv1 = 0.5 + (uv-0.5)*1.15 + float2(-1,1)*0.05; // main arm +warp_13=`float1 c1 = tex2D(sampler_fc_main, uv1).x; +warp_14=` +warp_15=`float2 uv2 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; // upper limb +warp_16=`float1 c2 = tex2D(sampler_fc_main, uv2).x; +warp_17=` +warp_18=`float2 uv3 = float2(1,2) + (float2(1,-1)*uv + float2(0,1) - 0.5)*4; // lower limb +warp_19=`float1 c3 = tex2D(sampler_fc_main, uv3).x; +warp_20=` +warp_21=`ret.x = (c0 + c1 + c2 + c3)*1.075; // composition of the red fractal +warp_22=` +warp_23=`// spiral in the blue channel +warp_24=` +warp_25=`float2 uv4 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; +warp_26=`float1 c4 = tex2D(sampler_fc_main, uv4).x; // feeded by the fern +warp_27=` +warp_28=`s = q1; // sin(w) +warp_29=`c = q2; // cos(w) +warp_30=`float2 scale = 1.05; +warp_31=`float2 uv5 = (uv-0.5)*aspect.xy; +warp_32=` uv5 = scale*float2( c*uv5.x - s*uv5.y, s*uv5.x + c*uv5.y); // rotation +warp_33=` uv5 = 0.5 + uv5*aspect.zw + float2(-0.03,0.03); +warp_34=` +warp_35=`float1 c5 = tex2D(sampler_fc_main, uv5).z; +warp_36=` +warp_37=`ret.z = (c4 + c5)*1.075 - 0.00; +warp_38=` +warp_39=`// mirrored rotated checker in the green channel +warp_40=` +warp_41=`s = q3; // sin(w) +warp_42=`c = q4; // cos(w) +warp_43=` +warp_44=`float2 uv6 = (uv-0.5)*aspect.xy*2.4; +warp_45=` uv6 = scale*float2( c*uv6.x - s*uv6.y, s*uv6.x + c*uv6.y); // rotation +warp_46=` uv6 = 0.5 + uv6*aspect.zw + float2(q9,q10); +warp_47=` +warp_48=` uv6 = 1.0 - abs( frac( uv6 * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_49=` +warp_50=`float c6 = tex2D(sampler_fc_main,uv6).z; // feeded by the spiral +warp_51=`float c7 = tex2D(sampler_fc_main,uv6).y; +warp_52=` +warp_53=`ret.y = lerp(max(c6,c7-0.15),tex2D(sampler_fc_main,uv_orig).y-0.004,0.6); // motion blur +warp_54=` +warp_55=`} +comp_1=`// tribute to suksma! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2; +comp_6=` +comp_7=` float4 c = float4(1,0.4,0.15,0.1); +comp_8=` +comp_9=` uv2 = uv + float2(1,0)*texsize.zw; +comp_10=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_12=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_13=` +comp_14=` uv2 = uv + float2(0,1)*texsize.zw; +comp_15=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_17=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_18=` +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_20=` +comp_21=` ret = 0.5 + 0.5*g; +comp_22=` ret *= saturate(length(ret.xy-0.5)*5); +comp_23=` ret = ret.xxy; +comp_24=` ret += 1.15; +comp_25=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)*treb_att),pow(hue_shader.xzy,bass_att)); +comp_26=` ret *= ret; +comp_27=` +comp_28=` //ret *= 1.5; //old gamma effect +comp_29=`} diff --git a/presets/presets_tryptonaut/Flexi - intensive shader fractal.milk b/presets/presets_tryptonaut/Flexi - intensive shader fractal.milk new file mode 100755 index 0000000000..df3b8084b3 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - intensive shader fractal.milk @@ -0,0 +1,612 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.549 +fWarpScale=2.940 +fZoomExponent=1.03315 +fShader=1.000 +zoom=1.56481 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.45984 +sx=0.93272 +sy=0.89632 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.150 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.85; +wave_0_per_point13= +wave_0_per_point14=w1 = q12; +wave_0_per_point15=w2 = q13; +wave_0_per_point16=w3 = q14; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=g = -z3*0.8 + 0.55; +wave_0_per_point44=//b = min(1,max(0,b))*0.5; +wave_0_per_point45=//r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.140 +shapecode_0_y=0.130 +shapecode_0_rad=0.20388 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=//q1 = 0; +per_frame_2=v = 0.8; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q12 = n*0.01; +per_frame_13=q13 = n1*0.01; +per_frame_14=q14 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q5 = k*0.00; +per_frame_18= +per_frame_19=zoom = 0.99; +per_frame_20=//warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=w = -0.46; +per_frame_25=q1 = sin(w); +per_frame_26=q2 = cos(w); +per_frame_27= +per_frame_28=w = n*0.001; +per_frame_29=q3 = sin(w); +per_frame_30=q4 = cos(w); +per_frame_31=q9 = n1*0.004; +per_frame_32=q10 = n2*0.004; +per_frame_33= +per_frame_34= +per_frame_35=vol = bass*8 + mid*4 + treb*2; +per_frame_36=vol = vol*above(vol,17); +per_frame_37=monitor = vol; +per_frame_38=beat = above(vol,res); +per_frame_39=diff = (1-beat)*diff + beat*(vol-res); +per_frame_40=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_41=res = max(0,res); +per_frame_42=monitor = res; +per_frame_43= +per_frame_44=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_45=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_46=q21 = x; +per_frame_47=q22 = y; +per_frame_48= +per_frame_49=wave_x = q1; +per_frame_50=wave_y = 1-q2; +per_pixel_1=cx = q21; +per_pixel_2=cy = q22; +per_pixel_3= +per_pixel_4=d = pow(sqrt(sqr(x-cx)+sqr(y-cy)),0.8); +per_pixel_5=r = 0.2; +per_pixel_6=v = 0.2; +per_pixel_7= +per_pixel_8=dx = (x - cx)*v*(d-r); +per_pixel_9=dy = (y - cy)*v*(d-r); +warp_1=`float1 s,c; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=`ret = 0; +warp_6=` +warp_7=`// fern fractal on the red channel +warp_8=` +warp_9=`float2 uv0 = uv.yx*4 -float2(3,0); +warp_10=`float c0 = tex2D(sampler_fc_main, uv0).z; // feeded by the spiral +warp_11=` +warp_12=`float2 uv1 = 0.5 + (uv-0.5)*1.15 + float2(-1,1)*0.05; // main arm +warp_13=`float1 c1 = tex2D(sampler_fc_main, uv1).x; +warp_14=` +warp_15=`float2 uv2 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; // upper limb +warp_16=`float1 c2 = tex2D(sampler_fc_main, uv2).x; +warp_17=` +warp_18=`float2 uv3 = float2(1,2) + (float2(1,-1)*uv + float2(0,1) - 0.5)*4; // lower limb +warp_19=`float1 c3 = tex2D(sampler_fc_main, uv3).x; +warp_20=` +warp_21=` +warp_22=`ret.x = (c0 + c1 + c2 + c3)*1.075; // composition of the red fractal +warp_23=` +warp_24=`// spiral in the blue channel +warp_25=` +warp_26=`float2 uv4 = float2(-1,0) + (float2(-1,1)*uv + float2(1,0) - 0.5)*4; +warp_27=`float1 c4 = tex2D(sampler_fc_main, uv4).x; // feeded by the fern +warp_28=` +warp_29=`s = q1; // sin(w) +warp_30=`c = q2; // cos(w) +warp_31=`float2 scale = 1.05; +warp_32=`float2 uv5 = (uv-0.5)*aspect.xy; +warp_33=` uv5 = scale*float2( c*uv5.x - s*uv5.y, s*uv5.x + c*uv5.y); // rotation +warp_34=` uv5 = 0.5 + uv5*aspect.zw + float2(-0.03,0.03); +warp_35=` +warp_36=`float1 c5 = tex2D(sampler_fc_main, uv5).z; +warp_37=` +warp_38=` +warp_39=` +warp_40=`ret.z = (c4 + c5)*1.075 - 0.00; +warp_41=` +warp_42=`// mirrored checker in the green channel +warp_43=` +warp_44=`s = q3; // sin(w) +warp_45=`c = q4; // cos(w) +warp_46=` +warp_47=`float2 uv6 = (uv-0.5)*aspect.xy*2; +warp_48=` uv6 = scale*float2( c*uv6.x - s*uv6.y, s*uv6.x + c*uv6.y); // rotation +warp_49=` uv6 = 0.5 + uv6*aspect.zw + float2(q9,q10); +warp_50=` +warp_51=` uv6 = 1.0 - abs( frac( uv6 * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_52=` +warp_53=`float c6 = tex2D(sampler_fc_main,uv6).z; +warp_54=`float c7 = tex2D(sampler_fc_main,uv6).y; +warp_55=`ret.y = max(c6,c7*0.5); +warp_56=` +warp_57=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*2; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*64; +comp_9=` float2 uv_dy = uv - float2(dy.z,-dx.z)*texsize.zw*32; +comp_10=` +comp_11=`ret = GetPixel(uv).y*0.2; +comp_12=`ret = lerp(float3(0.2,0.2,0),float3(0.6,0.6,0),GetBlur3(uv_dz).y*8); +comp_13=`ret = lerp(ret,float3(1,1,1),GetBlur1(uv_dz).y*6); +comp_14=`ret = lerp(ret,float3(0,0,0),GetPixel(uv_dz).y*2); +comp_15=` +comp_16=`ret = lerp(ret,float3(0,1,0),GetBlur2(uv).z*1.2); +comp_17=`//ret = lerp(ret,float3(-.02,-4,2),GetPixel(uv).z); +comp_18=` +comp_19=`ret = lerp(ret,float3(1.4,0,0),GetBlur1(uv_dy).x*2); +comp_20=`ret = lerp(ret,0,GetPixel(uv_dy).x*2); +comp_21=` +comp_22=`} +comp_23=` diff --git a/presets/presets_tryptonaut/Flexi - intention focus.milk b/presets/presets_tryptonaut/Flexi - intention focus.milk new file mode 100755 index 0000000000..581c981b7f --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - intention focus.milk @@ -0,0 +1,318 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.243 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=2.00672 +fShader=0.000 +zoom=1.00901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*6; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.750 +shapecode_0_y=0.750 +shapecode_0_rad=0.74180 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.22746 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,2); +shape_0_per_frame4=tex_zoom = 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.250 +shapecode_1_y=0.750 +shapecode_1_rad=0.74180 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.22746 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.22167 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_1=zoom = 1.01; +per_frame_2= +per_frame_3=q1 = time*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=`uv = 0.5 + (uv-0.5)*1.01; +warp_4=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_5=`float3 rand = (tex2D(sampler_noise_lq, dither_uv)-0.5); +warp_6=` +warp_7=`float3 uv3d = float3(uv_orig,q1); +warp_8=`float3 d3d = float3(0.03,0.03,0); +warp_9=`float3 dx = tex3d(sampler_noisevol_hq, uv3d + float3(1,0,0)*d3d) - tex3d(sampler_noisevol_hq, uv3d - float3(1,0,0)*d3d); +warp_10=`float3 dy = tex3d(sampler_noisevol_hq, uv3d + float3(0,1,0)*d3d) - tex3d(sampler_noisevol_hq, uv3d - float3(0,1,0)*d3d); +warp_11=`float x =tex3d(sampler_noisevol_hq, uv3d); +warp_12=`float2 my_uv = uv + (-8*float2(dx.x,dy.x)*(1-x) - 8*float2(dy.x,-dx.x))*texsize.zw; +warp_13=` +warp_14=`ret.x = tex2D( sampler_main, my_uv ).x; +warp_15=`ret.x += (ret.x - GetBlur3(my_uv))*0.1; +warp_16=`ret.x *= 0.95; +warp_17=`ret.x += rand*0.4*(1-x*2); +warp_18=` +warp_19=`ret.y = GetPixel(uv_orig+rand*texsize.zw*0).y*0.96-0.004; +warp_20=` +warp_21=`float2 d = texsize.zw*4; +warp_22=`dx = GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv - float2(1,0)*d); +warp_23=`dy = GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv - float2(0,1)*d); +warp_24=` +warp_25=`float2 uv_blue =lerp(uv_orig,0.5+(my_uv-0.5)*1.02,-1); +warp_26=`uv_blue += float2(dx.z,dy.z)*texsize.zw*0 + rand*texsize.zw*4; +warp_27=`ret.z = GetPixel(uv_blue).z + ret.x*0.2; +warp_28=`ret.z += -(ret.z-GetBlur1(uv_blue).z)*0.1 - 0.03; +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uvo = uv; +comp_4=`float2 d = texsize.zw*3; +comp_5=`float3 dx = GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv - float2(1,0)*d); +comp_6=`float3 dy = GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv - float2(0,1)*d); +comp_7=`uv+=float2(dx.y,dy.y)*rad*0.3; +comp_8=` +comp_9=`d = texsize.zw*16; +comp_10=`dx = GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv - float2(1,0)*d); +comp_11=`dy = GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv - float2(0,1)*d); +comp_12=` +comp_13=`ret = lerp(ret, (1-GetPixel(uv).x)*float3(1.5,2.5,3),saturate(GetBlur1(uv).x*2)*0.5); +comp_14=` +comp_15=`ret = lerp(ret*rad,float3(1,0.75,0),(((dy+dx).z*0.43+0.5)*GetBlur2(uv+float2(dx.z,dy.z)*texsize.zw*32).z)); +comp_16=` +comp_17=`ret = lerp(ret,float3(1.5,2,3),GetPixel(uvo).y*(0.4-rad*0.7)); +comp_18=` +comp_19=`} diff --git a/presets/presets_tryptonaut/Flexi - jellyfish jam.milk b/presets/presets_tryptonaut/Flexi - jellyfish jam.milk new file mode 100755 index 0000000000..90d07db4ad --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - jellyfish jam.milk @@ -0,0 +1,338 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=1.554 +fWaveSmoothing=0.756 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.26311 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01359 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=1.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.500 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.86644 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.850 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=wave_a = 0.01; +per_pixel_1=vx = 0.5+cos(time*0.2)*0.5; +per_pixel_2=vy = 0.5+sin(time*0.2)*0.5; +per_pixel_3=x = x - vx; +per_pixel_4=y = y - vy; +per_pixel_5= +per_pixel_6=d = time*0.04; +per_pixel_7=xx = sin(d)*x + cos(d)*y; +per_pixel_8=yy = cos(d)*x - sin(d)*y; +per_pixel_9= +per_pixel_10=x = xx; +per_pixel_11=y = yy; +per_pixel_12= +per_pixel_13=cz = 0.5; +per_pixel_14=zoom = 0.33; +per_pixel_15=w = 1/zoom*(1+sqrt(sqr(cz) + sqr(x-cx)+sqr(y-cy))); +per_pixel_16=dx = (x-mx)*w; +per_pixel_17=dy = (y-my)*w; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).y*0.65; +warp_5=` +warp_6=` +warp_7=`float2 d = texsize.zw*6; +warp_8=`float2 uv_z = (uv_orig-0.5)*0.996 + 0.5; // a small dose of zoom-in +warp_9=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_11=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_12=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_13=` tex2d(sampler_fc_main,uv_z).z); +warp_14=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_15=` +warp_16=` +warp_17=`float2 uv_y = lerp(uv,uv_orig,1.0001); // pushing the glassy stuff a little bit +warp_18=`ret.y =max(tex2d(sampler_fc_main,uv_y).y ,tex2d(sampler_fc_main,uv_orig).z)-0.008; // feeded by the green channel and fade-out +warp_19=` +warp_20=`ret.z *=1+ret.y*0.024; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(tex2D(sampler_fc_main, uv_y).x*pow(hue_shader.zxy,4), +comp_9=` lerp(pow(hue_shader,6)*1.2,pow(hue_shader,8).yzx,GetPixel(uv).y)*2, +comp_10=` GetBlur1(uv).z*0.7); +comp_11=`//ret = GetPixel(uv).y; +comp_12=`} +comp_13=` diff --git a/presets/presets_tryptonaut/Flexi - julian affairs [remix].milk b/presets/presets_tryptonaut/Flexi - julian affairs [remix].milk new file mode 100755 index 0000000000..903d2e9652 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - julian affairs [remix].milk @@ -0,0 +1,421 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.762 +fWaveSmoothing=0.900 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.408 +fWarpScale=0.905 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.63735 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=2.02310 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=//d3 = if(equal(t8,1),t4,d3); +wave_1_per_point2=//d2 = if(equal(t8,1),t3,d2); +wave_1_per_point3=//d1 = if(equal(t8,1),t2,d1); +wave_1_per_point4=//d = if(equal(t8,1),t1,d); +wave_1_per_point5=t3 = t3*0.6 + (value1)*1; +wave_1_per_point6=t2 = t2*0.7 + t3*0.2; +wave_1_per_point7=t1 = t1*0.8 + t2*0.1; +wave_1_per_point8=d = d*0.9 + t1*0.2; +wave_1_per_point9= +wave_1_per_point10=y = 0.5 + d*sample*(1-sample)*0.6; +wave_1_per_point11=x = -0.05 + sample*1.1; +wave_1_per_point12=t8 = 0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=zoom = 1.0; +per_frame_2=wave_a = 0; +per_frame_3=//warp = 0; +per_frame_4= +per_frame_5=r = r*0.96 + (bass-treb)*0.1; +per_frame_6=rot = r*0.1; +per_frame_7= +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 zoom = 1.84+(bass-treb)*0.0; +warp_4=`float2 cntr = float2(0,0); +warp_5=`float2 c = float2(0.2806,0.4508); +warp_6=`float2 my_uv = (uv-0.5-cntr)*zoom; +warp_7=`my_uv = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y) + c; +warp_8=` +warp_9=` ret.xz = tex2D( sampler_fc_main, my_uv ).xz*float2(0.99,1) + float2(0.06,-0.004); +warp_10=` ret.y = tex2D( sampler_fc_main, 0.5 + (uv_orig-0.5)*0.98).y - 0.008; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv+float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(float3(0.8,0.6,0.5)*tex2D(sampler_fc_main, uv_y).x, +comp_9=` lerp(float3(2,1.2,0),float3(-1,0.8,-1),GetPixel(uv).z), +comp_10=` GetBlur1(uv).y*0.35); +comp_11=`ret = lerp(ret,float3(0.4,0,0),GetPixel(uv).z*(1-GetPixel(uv).y)*2); +comp_12=`//ret = GetPixel(uv).x; +comp_13=`} +comp_14=` diff --git a/presets/presets_tryptonaut/Flexi - kaleidoscope template [commented composite shader].milk b/presets/presets_tryptonaut/Flexi - kaleidoscope template [commented composite shader].milk new file mode 100755 index 0000000000..1b5460db79 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - kaleidoscope template [commented composite shader].milk @@ -0,0 +1,297 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99952 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=-0.00500 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=// Flexis dampened sound response functions +per_frame_2= +per_frame_3=db = db*0.98 + bass*0.2; // dampener +per_frame_4=bb = bb + db*0.1; // accumulation, replace time expressions with this ;) +per_frame_5= +per_frame_6=dt = dt*0.98 + treb*0.2; +per_frame_7=tt = tt + dt*0.1; +per_frame_8= +per_frame_9=dm = dm*0.98 + mid*0.2; +per_frame_10=mm = mm + dm*0.1; +per_frame_11= +per_frame_12= +per_frame_13=//***** [q11-q18] variables for Flexis caleidoscope shader code ***** +per_frame_14= +per_frame_15=// change +per_frame_16=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // center x +per_frame_17=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // center y +per_frame_18=w = (bb-tt)*0.1; // angle +per_frame_19=q16 = 0.25 - (db-dt)*0.025; // size +per_frame_20= +per_frame_21=//don't change +per_frame_22=q11 = sin(w); +per_frame_23=q12 = cos(w); +per_frame_24=q17 = sin(-w); +per_frame_25=q18 = cos(-w); +per_frame_26=q15 = 1/q16; +warp_1=`float2 factorA, factorB, product, julia; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=`// ***** Flexis Julia fractal code ***** +warp_7=` +warp_8=`julia = lerp(uv_orig,uv,0); // this is scaling the input motion from the per-vertex-calc, fractals are sensitive you know ;) +warp_9=`julia = (julia-0.5)*1.59; // apply some zoom +warp_10=` +warp_11=`//complex multiplication +warp_12=`factorA = julia; +warp_13=`factorB = julia; +warp_14=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, // the products real part +warp_15=` factorA.x*factorB.y + factorA.y*factorB.x); // the products imaginary part +warp_16=` +warp_17=`julia = product + float2(.61,.69); // adding 'c' +warp_18=` +warp_19=`ret = tex2D( sampler_fc_main, julia ) - 0.004; // give a gradient +warp_20=` +warp_21=`// ***** +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`// ***** Flexis rotating caleidoscope code ***** +comp_5=` +comp_6=`float2 cntr = float2(q13,q14); float sin = q11; float cos = q12; float scale = q15; +comp_7=`float2 uv_r = (uv-cntr)*aspect.xy; +comp_8=` uv_r = scale*float2( cos*uv_r.x - sin*uv_r.y, sin*uv_r.x + cos*uv_r.y); // rotation +comp_9=` uv_r = cntr + uv_r*aspect.zw; +comp_10=` uv_r = 1.0 - abs( frac( uv_r * 0.5 ) * 2.0 - 1.0 ); // mirror +comp_11=` +comp_12=`sin = q17; cos = q18; scale = q16; +comp_13=`float2 uv_rr = (uv_r-cntr)*aspect.xy; +comp_14=` uv_rr = scale*float2( cos*uv_rr.x - sin*uv_rr.y, sin*uv_rr.x + cos*uv_rr.y); // counter-rotation +comp_15=` uv_rr = cntr + (uv_rr)*aspect.zw; +comp_16=` +comp_17=`float2 caleidoscope_uv = uv_rr; +comp_18=` +comp_19=`// ***** +comp_20=` +comp_21=` +comp_22=`ret = GetBlur3(uv_rr) + (GetPixel(uv_rr)-GetBlur2(uv_rr))*2.4 - 0.1; // nice edge enhancing, also makes an aura +comp_23=` +comp_24=`ret = lerp(ret,GetPixel(uv),0.333); // blend +comp_25=` +comp_26=`} diff --git a/presets/presets_tryptonaut/Flexi - lorenz attractor.milk b/presets/presets_tryptonaut/Flexi - lorenz attractor.milk new file mode 100755 index 0000000000..f11a8e9ee5 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - lorenz attractor.milk @@ -0,0 +1,602 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.210 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_point1=// lorenz-attractor calc +wave_0_per_point2=xx1 = if(equal(sample,0),q11,xx1); +wave_0_per_point3=yy1 = if(equal(sample,0),q12,yy1); +wave_0_per_point4=zz1 = if(equal(sample,0),q13,zz1); +wave_0_per_point5=dx1 = q14*(yy1-xx1); +wave_0_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_0_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_0_per_point8=xx1 = xx1 + q17*dx1; +wave_0_per_point9=yy1 = yy1 + q17*dy1; +wave_0_per_point10=zz1 = zz1 + q17*dz1; +wave_0_per_point11= +wave_0_per_point12=// 3D model coordinates +wave_0_per_point13=my_x = xx1*0.1; +wave_0_per_point14=my_y = yy1*0.1; +wave_0_per_point15=my_z = zz1*0.1 - 3; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=d = 5; // distance of the camera (on the z-axis) to the origin +wave_0_per_point19=zoom = 0.4; +wave_0_per_point20= +wave_0_per_point21=// solid angles +wave_0_per_point22=w1 = q2; +wave_0_per_point23=w2 = q3; +wave_0_per_point24=w3 = q4; +wave_0_per_point25= +wave_0_per_point26=// rotations +wave_0_per_point27=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point28=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point29=z1 = my_z; +wave_0_per_point30= +wave_0_per_point31=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point32=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point33=y2 = y1; +wave_0_per_point34= +wave_0_per_point35=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point36=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point37=x3 = x2; +wave_0_per_point38= +wave_0_per_point39=// perspective calculation +wave_0_per_point40= +wave_0_per_point41=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point42=w = atan2(x3,y3); +wave_0_per_point43=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point44=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point45= +wave_0_per_point46=my_x = zoom*sin(w)*p; +wave_0_per_point47=my_y = zoom*cos(w)*p; +wave_0_per_point48= +wave_0_per_point49=x = 0.5 + my_x; +wave_0_per_point50=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=xx1 = if(equal(sample,0),q11,xx1); +wave_1_per_point2=yy1 = if(equal(sample,0),q12,yy1); +wave_1_per_point3=zz1 = if(equal(sample,0),q13,zz1); +wave_1_per_point4= +wave_1_per_point5=dx1 = q14*(yy1-xx1); +wave_1_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_1_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_1_per_point8=xx1 = xx1 + q17*dx1; +wave_1_per_point9=yy1 = yy1 + q17*dy1; +wave_1_per_point10=zz1 = zz1 + q17*dz1; +wave_1_per_point11= +wave_1_per_point12=my_x = xx1*0.02; +wave_1_per_point13=my_y = yy1*0.02; +wave_1_per_point14=my_z = zz1*0.02; +wave_1_per_point15= +wave_1_per_point16=x = 0.5 + my_x; +wave_1_per_point17=y = 0.5 + my_y; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=179 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20065 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=3.14159 +shapecode_0_tex_zoom=0.99979 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.500 +shapecode_0_border_b=0.150 +shapecode_0_border_a=1.000 +shape_0_per_frame1=//lorenz-attractor calc +shape_0_per_frame2=xx1 = if(equal(instance,0),q11,xx1); +shape_0_per_frame3=yy1 = if(equal(instance,0),q12,yy1); +shape_0_per_frame4=zz1 = if(equal(instance,0),q13,zz1); +shape_0_per_frame5= +shape_0_per_frame6=dx1 = q14*(yy1-xx1); +shape_0_per_frame7=dy1 = xx1*(q15-zz1)-yy1; +shape_0_per_frame8=dz1 = xx1*yy1-q16*zz1; +shape_0_per_frame9=dd = sqrt(dx1*dx1+dy1*dy1+dz1*dz1); +shape_0_per_frame10=xx1 = xx1 + q17*dx1/dd; +shape_0_per_frame11=yy1 = yy1 + q17*dy1/dd; +shape_0_per_frame12=zz1 = zz1 + q17*dz1/dd; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=// 3D object model coordinates +shape_0_per_frame16=my_x = xx1*0.1; +shape_0_per_frame17=my_y = yy1*0.1; +shape_0_per_frame18=my_z = zz1*0.1 - 3; +shape_0_per_frame19= +shape_0_per_frame20= +shape_0_per_frame21=d = 5; // camera distance +shape_0_per_frame22=zoom = 0.66; +shape_0_per_frame23= +shape_0_per_frame24=// solid angles +shape_0_per_frame25=w1 = q3; +shape_0_per_frame26=w2 = q4; +shape_0_per_frame27=w3 = q5; +shape_0_per_frame28= +shape_0_per_frame29=// 3D rotation +shape_0_per_frame30=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame31=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame32=z1 = my_z; +shape_0_per_frame33= +shape_0_per_frame34=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame35=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame36=y2 = y1; +shape_0_per_frame37= +shape_0_per_frame38=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame39=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame40=x3 = x2; +shape_0_per_frame41= +shape_0_per_frame42=// perspective calculation +shape_0_per_frame43= +shape_0_per_frame44=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame45=w = atan2(x3,y3); +shape_0_per_frame46=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame47=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame48= +shape_0_per_frame49=my_x = zoom*sin(w)*p; +shape_0_per_frame50=my_y = zoom*cos(w)*p; +shape_0_per_frame51= +shape_0_per_frame52=x = 0.5 + my_x; +shape_0_per_frame53=y = 0.5 + my_y; +shape_0_per_frame54= +shape_0_per_frame55=rad = rad/d; +shape_0_per_frame56=ang = ang-instance/num_inst*asin(1)*8; +shapecode_1_enabled=0 +shapecode_1_sides=12 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=512 +shapecode_1_x=0.500 +shapecode_1_y=0.550 +shapecode_1_rad=0.09860 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.78740 +shapecode_1_r=0.200 +shapecode_1_g=0.030 +shapecode_1_b=0.550 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=started = 0; +shape_1_init2=t1 = 0.412; //seeds for pseudo random generator +shape_1_init3=t2 = 0.4563; +shape_1_init4=t3 = 0.6452; +shape_1_init5=t4 = 0.2565; +shape_1_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_1_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_1_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_1_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_1_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_1_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_1_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_1_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_1_per_frame9=t = .6; +shape_1_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_1_per_frame11=t = t + rnd2*0.1; +shape_1_per_frame12=wh = rnd4*asin(1)*4; +shape_1_per_frame13=wv = 0.25 + rnd3*0.1; +shape_1_per_frame14= +shape_1_per_frame15=d = 6; // makes the perspective impact +shape_1_per_frame16=zoom = 1; +shape_1_per_frame17=l = 1; +shape_1_per_frame18= +shape_1_per_frame19=// Kardan angles +shape_1_per_frame20= +shape_1_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_1_per_frame22=w2 = q4; // rotation around vertical axis +shape_1_per_frame23=w3 = q5; // rotation around horizontal axis +shape_1_per_frame24= +shape_1_per_frame25= +shape_1_per_frame26=// definition of the 3D shape +shape_1_per_frame27= +shape_1_per_frame28=i = instance; +shape_1_per_frame29= +shape_1_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*2; +shape_1_per_frame31=my_z = -(-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*2; +shape_1_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*2; +shape_1_per_frame33= +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=// 3D rotations +shape_1_per_frame37= +shape_1_per_frame38=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_1_per_frame39=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_1_per_frame40=z1 = my_z; +shape_1_per_frame41= +shape_1_per_frame42=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_1_per_frame43=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_1_per_frame44=y2 = y1; +shape_1_per_frame45= +shape_1_per_frame46=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_1_per_frame47=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_1_per_frame48=x3 = x2; +shape_1_per_frame49= +shape_1_per_frame50=// perspective calculation +shape_1_per_frame51= +shape_1_per_frame52=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_1_per_frame53=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_1_per_frame54= +shape_1_per_frame55=rad = rad/d; +shape_1_per_frame56=my_x = zoom*sin(atan2(x3,y3))*p; +shape_1_per_frame57=my_y = zoom*cos(atan2(x3,y3))*p; +shape_1_per_frame58= +shape_1_per_frame59=x = 0.5 + my_x; +shape_1_per_frame60=y = 0.5 + my_y; +shape_1_per_frame61= +shape_1_per_frame62=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame63=y = 0.5 + (y-0.5)/q1; +shapecode_2_enabled=0 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.26670 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.100 +shapecode_2_b=0.550 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame9=t = .6; +shape_2_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame11=t = t + rnd2*0.1; +shape_2_per_frame12=wh = rnd4*asin(1)*4; +shape_2_per_frame13=wv = 0.25 + rnd3*0.1; +shape_2_per_frame14= +shape_2_per_frame15=d = 6; // makes the perspective impact +shape_2_per_frame16=zoom = 1; +shape_2_per_frame17=l = 1; +shape_2_per_frame18= +shape_2_per_frame19=// Kardan angles +shape_2_per_frame20= +shape_2_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame22=w2 = q4; // rotation around vertical axis +shape_2_per_frame23=w3 = q5; // rotation around horizontal axis +shape_2_per_frame24= +shape_2_per_frame25= +shape_2_per_frame26=// definition of the 3D shape +shape_2_per_frame27= +shape_2_per_frame28=i = instance; +shape_2_per_frame29= +shape_2_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*4; +shape_2_per_frame31=my_z = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*4; +shape_2_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*4; +shape_2_per_frame33= +shape_2_per_frame34= +shape_2_per_frame35=// 3D rotations +shape_2_per_frame36= +shape_2_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame39=z1 = my_z; +shape_2_per_frame40= +shape_2_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame43=y2 = y1; +shape_2_per_frame44= +shape_2_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame47=x3 = x2; +shape_2_per_frame48= +shape_2_per_frame49=// perspective calculation +shape_2_per_frame50= +shape_2_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame53= +shape_2_per_frame54=rad = rad/d; +shape_2_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame57= +shape_2_per_frame58=x = 0.5 + my_x; +shape_2_per_frame59=y = 0.5 + my_y; +shape_2_per_frame60= +shape_2_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame62=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=0 +shapecode_3_sides=12 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=512 +shapecode_3_x=0.500 +shapecode_3_y=0.550 +shapecode_3_rad=0.05012 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.78740 +shapecode_3_r=0.000 +shapecode_3_g=0.020 +shapecode_3_b=0.110 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=started = 0; +shape_3_init2=t1 = 0.412; //seeds for pseudo random generator +shape_3_init3=t2 = 0.4563; +shape_3_init4=t3 = 0.6452; +shape_3_init5=t4 = 0.2565; +shape_3_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_3_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_3_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_3_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_3_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_3_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_3_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_3_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_3_per_frame9=t = .6; +shape_3_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_3_per_frame11=t = t + rnd2*0.1; +shape_3_per_frame12=wh = rnd4*asin(1)*4; +shape_3_per_frame13=wv = 0.25 + rnd3*0.1; +shape_3_per_frame14= +shape_3_per_frame15=d = 1.4; // makes the perspective impact +shape_3_per_frame16=zoom = 1; +shape_3_per_frame17=l = 1; +shape_3_per_frame18= +shape_3_per_frame19=// Kardan angles +shape_3_per_frame20= +shape_3_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_3_per_frame22=w2 = q4; // rotation around vertical axis +shape_3_per_frame23=w3 = q5; // rotation around horizontal axis +shape_3_per_frame24= +shape_3_per_frame25= +shape_3_per_frame26=// definition of the 3D shape +shape_3_per_frame27= +shape_3_per_frame28=i = instance; +shape_3_per_frame29= +shape_3_per_frame30=my_x = t *(cos(wh)*sin(wv)*l); +shape_3_per_frame31=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_3_per_frame32=my_z = t*(sin(wh)*sin(wv)*l); +shape_3_per_frame33= +shape_3_per_frame34= +shape_3_per_frame35=// 3D rotations +shape_3_per_frame36= +shape_3_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame39=z1 = my_z; +shape_3_per_frame40= +shape_3_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame43=y2 = y1; +shape_3_per_frame44= +shape_3_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame47=x3 = x2; +shape_3_per_frame48= +shape_3_per_frame49=// perspective calculation +shape_3_per_frame50= +shape_3_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_3_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame53= +shape_3_per_frame54=rad = rad/d; +shape_3_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_3_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_3_per_frame57= +shape_3_per_frame58=x = 0.5 + my_x; +shape_3_per_frame59=y = 0.5 + my_y; +shape_3_per_frame60= +shape_3_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_3_per_frame62=y = 0.5 + (y-0.5)/q1; +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=wave_a = 0; +per_frame_4=v = 0.5; +per_frame_5=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_6=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_7=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_8= +per_frame_9=n = n + j1*0.0052; +per_frame_10=n1 = n1 + j2*0.0052; +per_frame_11=n2 = n2 + j3*0.0052; +per_frame_12= +per_frame_13= +per_frame_14=q3 = n*0.01; // passing the 3 solid angles +per_frame_15=q4 = n1*0.01; +per_frame_16=q5 = n2*0.01; +per_frame_17= +per_frame_18= +per_frame_19=// lorenz-attractor calc +per_frame_20=a = 10; +per_frame_21=b = 28; +per_frame_22=c = 8/3; +per_frame_23=dx1 = a*(y1-x1); +per_frame_24=dy1 = x1*(b-z1)-y1; +per_frame_25=dz1 = x1*y1-c*z1; +per_frame_26=d = 1; +per_frame_27=dd = sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); +per_frame_28=x1 = x1 + d*dx1/dd; +per_frame_29=y1 = y1 + d*dy1/dd; +per_frame_30=z1 = z1 + d*dz1/dd; +per_frame_31= +per_frame_32=q11 = x1; +per_frame_33=q12 = y1; +per_frame_34=q13 = z1; +per_frame_35=q14 = a; +per_frame_36=q15 = b; +per_frame_37=q16 = c; +per_frame_38=q17 = d; +warp_1=`shader_body +warp_2=`{ +warp_3=`ret = GetPixel(uv)*0.7; +warp_4=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = GetPixel(uv)*0.5 + GetBlur3(uv)*0.8; +comp_4=`} +comp_5=` +comp_6=` diff --git a/presets/presets_tryptonaut/Flexi - meta4free 3 - my time is not your time.milk b/presets/presets_tryptonaut/Flexi - meta4free 3 - my time is not your time.milk new file mode 100755 index 0000000000..9a6d33e2d2 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - meta4free 3 - my time is not your time.milk @@ -0,0 +1,384 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.827 +fWaveScale=3.878 +fWaveSmoothing=0.090 +fWaveParam=0.980 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.270 +fWarpAnimSpeed=0.228 +fWarpScale=4.141 +fZoomExponent=0.43865 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.18090 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.720 +ob_size=0.005 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample); +wave_0_per_point11=y = sample; +wave_0_per_point12=x = .5 - mod*.5; +wave_0_per_point13= +wave_0_per_point14=osa = sample; +wave_0_per_point15= +wave_0_per_point16=mo = 3.7 + mod*6 + q10; +wave_0_per_point17= +wave_0_per_point18=r = q12;//.5 + sin(mo)*.5; +wave_0_per_point19=g = q13;//.5 + sin(mo + 1.0472)*.5; +wave_0_per_point20=b = q11;//.5 + sin(mo + 2.0944)*.5; +wave_0_per_point21= +wave_0_per_point22=a = 1 - abs(mod)*12; +wave_0_per_point23=a = 1-sw; +wave_0_per_point24=a = max(0,min(a,1)); +wave_0_per_point25= +wave_0_per_point26=x = (x-0.5)*(q31/q32) + 0.5; +wave_0_per_point27=y = (y-0.5)*(q32/q31) + 0.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample); +wave_1_per_point11=y = sample; +wave_1_per_point12=x = .5 + mod*.5; +wave_1_per_point13= +wave_1_per_point14=osa = sample; +wave_1_per_point15= +wave_1_per_point16=mo = 3.7 + mod*6 + q10; +wave_1_per_point17= +wave_1_per_point18=r = q13;//.5 + sin(mo)*.5; +wave_1_per_point19=g = q11;//.5 + sin(mo + 1.0472)*.5; +wave_1_per_point20=b = q12;//.5 + sin(mo + 2.0944)*.5; +wave_1_per_point21= +wave_1_per_point22=a = 1 - abs(mod)*12; +wave_1_per_point23=a = 1-sw; +wave_1_per_point24=a = max(0,min(a,1)); +wave_1_per_point25= +wave_1_per_point26=x = (x-0.5)*(q31/q32) + 0.5; +wave_1_per_point27=y = (y-0.5)*(q32/q31) + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.03469 +shapecode_0_ang=1.57070 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07260 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5=vol=bass+mid+treb; +shape_0_per_frame6=ampl = 2*t_abs/2*vol*.5; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=11 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03333 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = int(rand(100))*.01; +shape_1_per_frame2=y = int(rand(100))*.01; +shape_1_per_frame3= +shape_1_per_frame4=a = if(above(frame%3,0),0,1); +shape_1_per_frame5=vol=bass+mid+treb; +shape_1_per_frame6=rad = vol*.1; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03333 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=x = int(rand(100))*.01; +shape_2_per_frame2=y = int(rand(100))*.01; +shape_2_per_frame3= +shape_2_per_frame4=a = if(above(frame%7,0),0,1); +shape_2_per_frame5=a2 = if(above(frame%7,0),0,1); +shape_2_per_frame6=border_a = 0; +shape_2_per_frame7=vol=bass+mid+treb; +shape_2_per_frame8=rad = vol*.1; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=wave_a = 0; +per_frame_2=zoom = 0.996; +per_frame_3=warp = 0.18 - (bass-treb)*0.15; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.5; // maximum random pixel offset +warp_6=`float diffusion = 0.006; // dither strength +warp_7=`float fadeout = -0.0006; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur2(lerp(uv_orig,uv,-12))); +warp_11=`uv = lerp(uv_orig,uv, magic*12 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float3 base = GetPixel(uv); +comp_5=` float2 d = texsize.zw*2; +comp_6=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_8=` float2 my_uv = uv + float2(dx.y,dy.y)*0.05; +comp_9=` float grad = length(my_uv-uv)*32; +comp_10=` float emboss = (dx.y+dy.y)*4 + 0.5; +comp_11=` +comp_12=` float2 uv_echo = 0.5 + (uv-0.5) * float2(-1,1) + float2(dx.y,dy.y)*0.05; +comp_13=` float3 bird = max( tex2D(sampler_main, my_uv).x, tex2D(sampler_main, uv_echo).x); +comp_14=` bird = pow(bird,1.4)*pow(hue_shader,2); +comp_15=` +comp_16=` float3 bg = emboss*float3(0,0,1) + float3(2,3,0)*grad + float3(1,0,0)*base.y - float3(0,0,0.3); +comp_17=` bg = bg*0.6*saturate(1 - bird.x*4); +comp_18=` +comp_19=` float3 wave = GetBlur1(uv+float2(dx.y,dy.y)*0.1)*saturate(1-bird.x*0); +comp_20=` +comp_21=`ret = bg + bird; +comp_22=`ret = lerp(ret, 1, wave.z*6*(1-bird*3)); +comp_23=` +comp_24=`} diff --git a/presets/presets_tryptonaut/Flexi - meta4free.milk b/presets/presets_tryptonaut/Flexi - meta4free.milk new file mode 100755 index 0000000000..71e32598cf --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - meta4free.milk @@ -0,0 +1,327 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.004 +fWaveScale=0.295 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.228 +fWarpScale=4.141 +fZoomExponent=0.43865 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.18090 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.250 +mv_r=1.000 +mv_g=0.500 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=vol = bass*8 + mid*5 + treb*3; +wave_0_per_frame2=m = m*0.97 + vol*0.08; +wave_0_per_frame3=monitor = vol; +wave_0_per_frame4=beat = above(vol,res)*above(vol,m)*above(vol,16); +wave_0_per_frame5=diff = (1-beat)*diff + beat*(vol-res); +wave_0_per_frame6=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +wave_0_per_frame7=res = max(0,res); +wave_0_per_frame8=b = beat; +wave_0_per_frame9=g = 1-beat; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*4; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_point1=w = sample*asin(1)*4; +wave_1_per_point2=d = 0.04; +wave_1_per_point3=x = 0.5 + sin(w)*d; +wave_1_per_point4=y = 0.5 + cos(w)*d; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.330 +shapecode_0_y=0.500 +shapecode_0_rad=0.34340 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=0.70591 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.490 +shapecode_1_y=0.500 +shapecode_1_rad=0.04557 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=0.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.750 +shapecode_2_rad=0.04208 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shape_2_per_frame1=x = q2; +shape_2_per_frame2=y = q6; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=wave_a = 0; +per_frame_2=zoom = 0.996; +per_frame_3=warp = 0.18 - (bass-treb)*0.15; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_4=` +warp_5=`ret = GetPixel(uv) - 0.08; +warp_6=`float2 uv1 = uv; +warp_7=`float2 d = texsize.zw*4; +warp_8=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +warp_9=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +warp_10=`d *= float2(dx.x,dy.x)*0.4; +warp_11=`uv1+=d; +warp_12=`//uv1 = frac(uv1); +warp_13=`ret.x = tex2d(sampler_fc_main, uv1).x; +warp_14=`ret.x -=(GetBlur1(uv1).x-ret.x)*0.05 + 0.004; +warp_15=` +warp_16=`ret.z = max(length(float2(dx.x,dy.x))*1.4,GetPixel(lerp(uv_orig,uv,-1) - float2(dx.z,dy.z)*texsize.zw*4).z) - 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = uv; +comp_4=`float2 d = texsize.zw*3; +comp_5=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +comp_6=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +comp_7=`uv1 = uv+float2(dx.x,dy.x)*texsize.zw*32; +comp_8=` ret = GetPixel(uv1).x*float3(1,0,0)*0.5; +comp_9=` +comp_10=`ret.x += (+dx.x - dy.x)*0.4; +comp_11=`ret = pow(ret.x,0.8)*float3(1.2,0.15,0); +comp_12=`ret = lerp(ret,float3(1,1,1),GetBlur2(uv - float2(dx.x,dy.x)*texsize.zw*128).z*0.6); +comp_13=` +comp_14=`ret = lerp(ret,float3(1,1.1,1.2),GetPixel(uv1).z); +comp_15=` +comp_16=`ret = lerp(ret,float3(0.2,0,0.1),GetBlur1(uv - float2(dx.y,dy.y)*texsize.zw*16 - float2(dx.x,dy.x)*texsize.zw*32 ).y*6); +comp_17=`//ret = GetPixel(uv); +comp_18=`} diff --git a/presets/presets_tryptonaut/Flexi - mind oddity [shifting triangle].milk b/presets/presets_tryptonaut/Flexi - mind oddity [shifting triangle].milk new file mode 100755 index 0000000000..8b33c6b717 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - mind oddity [shifting triangle].milk @@ -0,0 +1,576 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.012 +fWarpScale=100.000 +fZoomExponent=0.15840 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=9.94114 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.100 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=y = 0.5 + d*sample*(1-sample); +wave_1_per_point4=x = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04043 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=frame3 = frame%3; +per_frame_2=//wave_x = if(equal(frame3,0),0.25,if(equal(frame3,1),0.5,.75)); +per_frame_3=//wave_y = if(equal(frame3,0),0.5,if(equal(frame3,1),0.5,0.5)); +per_frame_4= +per_frame_5=w = -time*1; +per_frame_6=w = sin(time*0.1)*4+sin(time*0.21618)*4; +per_frame_7=c = 0.2;//bass*0.1; +per_frame_8=px1 = 0.5+ c*sin(w); +per_frame_9=py1 = 0.5+ c*cos(w); +per_frame_10= +per_frame_11=px2 = 0.5+ c*sin(w+1.0472*4); +per_frame_12=py2 = 0.5+ c*cos(w+1.0472*4); +per_frame_13= +per_frame_14=px3 = 0.5+ c*sin(w+2.0944); +per_frame_15=py3 = 0.5+ c*cos(w+2.0944); +per_frame_16= +per_frame_17= +per_frame_18=wave_x = if(equal(frame3,0),px1,if(equal(frame3,1),px2,px3)); +per_frame_19=wave_y = if(equal(frame3,0),py1,if(equal(frame3,1),py2,py3)); +per_frame_20=//wave_y = -wave_y; +per_frame_21= +per_frame_22=wave_r = 1;//if(equal(frame3,0),1,if(equal(frame3,1),0,0)); +per_frame_23=wave_g = 1;//if(equal(frame3,0),0,if(equal(frame3,1),1,0)); +per_frame_24=wave_b = 0;//if(equal(frame3,0),0,if(equal(frame3,1),0,1)); +per_frame_25= +per_frame_26= +per_frame_27=//wave_mystery = if(equal(frame3,0),(b7 - bass)*0.1 -0.5,if(equal(frame3,1),(m7 - mid)*0.1 -0.5,(t7 - treb)*0.1 -0.5)); +per_frame_28= +per_frame_29=b7 = b6; +per_frame_30=b6 = b5; +per_frame_31=b5 = b4; +per_frame_32=b4 = b3; +per_frame_33=b3 = b2; +per_frame_34=b2 = b1; +per_frame_35=b1 = bass; +per_frame_36= +per_frame_37=m7 = m6; +per_frame_38=m6 = m5; +per_frame_39=m5 = m4; +per_frame_40=m4 = m3; +per_frame_41=m3 = m2; +per_frame_42=m2 = m1; +per_frame_43=m1 = mid; +per_frame_44= +per_frame_45=t7 = t6; +per_frame_46=t6 = t5; +per_frame_47=t5 = t4; +per_frame_48=t4 = t3; +per_frame_49=t3 = t2; +per_frame_50=t2 = t1; +per_frame_51=t1 = treb; +per_frame_52= +per_frame_53=q1 = (b1+b2+b3+b4+b5+b6+b7)/7; +per_frame_54=q2 = (m1+m2+m3+m4+m5+m6+m7)/7; +per_frame_55=q3 = (t1+t2+t3+t4+t5+t6+t7)/7; +per_pixel_1=w = sin(time*0.1)*4+sin(time*0.21618)*4; +per_pixel_2=y = 0.5 + (y-0.5)*0.75; +per_pixel_3= +per_pixel_4=d = 0.3 - (q1-bass)*0.05; +per_pixel_5=px1 = 0.5+ d*sin(w); +per_pixel_6=py1 = 0.5- d*cos(w); +per_pixel_7= +per_pixel_8=d = 0.3 - (q2-mid)*0.05; +per_pixel_9=px3 = 0.5+ d*sin(w+1.0472*4); +per_pixel_10=py3 = 0.5- d*cos(w+1.0472*4); +per_pixel_11= +per_pixel_12=d = 0.3 - (q3-treb)*0.05; +per_pixel_13=px2 = 0.5+ d*sin(w+2.0944); +per_pixel_14=py2 = 0.5- d*cos(w+2.0944); +per_pixel_15= +per_pixel_16=mx = (px1+px2+px3)/3; +per_pixel_17=my = (py1+py2+py3)/3; +per_pixel_18= +per_pixel_19=vx1 = px2 - px1; +per_pixel_20=vy1 = py2 - py1; +per_pixel_21=vx2 = x - px1; +per_pixel_22=vy2 = y - py1; +per_pixel_23= +per_pixel_24=c = 150-50*bass; +per_pixel_25=sigmoide = 1; +per_pixel_26= +per_pixel_27= +per_pixel_28=dir = acos((vx1*vx2+vy1*vy2)/(sqrt(vx1*vx1+vy1*vy1)*sqrt(vx2*vx2+vy2*vy2)))-1; +per_pixel_29=sigmoide = sigmoide/(1+pow(2,c*dir)); +per_pixel_30= +per_pixel_31=vx1 = px3 - px2; +per_pixel_32=vy1 = py3 - py2; +per_pixel_33=vx2 = x - px2; +per_pixel_34=vy2 = y - py2; +per_pixel_35= +per_pixel_36=dir = acos((vx1*vx2+vy1*vy2)/(sqrt(vx1*vx1+vy1*vy1)*sqrt(vx2*vx2+vy2*vy2)))-1; +per_pixel_37=sigmoide = sigmoide*1/(1+pow(2,c*dir)); +per_pixel_38= +per_pixel_39=vx1 = px1 - px3; +per_pixel_40=vy1 = py1 - py3; +per_pixel_41=vx2 = x - px3; +per_pixel_42=vy2 = y - py3; +per_pixel_43= +per_pixel_44=dir = acos((vx1*vx2+vy1*vy2)/(sqrt(vx1*vx1+vy1*vy1)*sqrt(vx2*vx2+vy2*vy2)))-1.2; +per_pixel_45=sigmoide = sigmoide/(1+pow(2,c*dir)); +per_pixel_46= +per_pixel_47= +per_pixel_48= +per_pixel_49=cz = 0.05+bass*0.01; +per_pixel_50=cr = 0.02+treb*0.1; +per_pixel_51= +per_pixel_52=s1 = sigmoide+0.1*(q1-bass); +per_pixel_53=s2 = cr*(sigmoide+0.1*(q3-treb)); +per_pixel_54= +per_pixel_55=dx = (sin(w))*0.05*(1-treb*0.5)*(sigmoide-0.5);//s2*sin(my-y) +(x-mx)*cz*s1; +per_pixel_56=dy = -(cos(w))*0.05*(1-treb*0.5)*(sigmoide-0.5);//-s2*sin(mx-x) +(y-my)*cz*s1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`sampler sampler_rand00; +comp_2=`sampler sampler_rand01; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=` +comp_8=` float2 d = texsize.zw*12; +comp_9=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_10=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_11=` float2 my_uv = uv + float2(dx.y,dy.y)*0.1; +comp_12=` +comp_13=`float3 re; +comp_14=` +comp_15=`//uv = uv + 0.02*float2(cos(uv.y*27),sin(uv.x*39)); +comp_16=`float2 m = float2(1-q4,q8); +comp_17=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop +comp_18=`float2 mid_uv = m + (uv-m)*0.996; +comp_19=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y); +comp_20=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect? +comp_21=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow +comp_22=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x); +comp_23=`//ret = tex2D(sampler_main, uv); +comp_24=`re = tex2D( sampler_rand00, my_uv); +comp_25=`re = lerp( tex2D(sampler_rand01,my_uv), re, ret.x); +comp_26=`ret = lerp( re, 1-re, ret.y); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/Flexi - mindblob 2.0.milk b/presets/presets_tryptonaut/Flexi - mindblob 2.0.milk new file mode 100755 index 0000000000..0aca566b0d --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - mindblob 2.0.milk @@ -0,0 +1,507 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92170 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02015 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=1.000 +shapecode_1_y=0.500 +shapecode_1_rad=0.39872 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.12566 +shapecode_1_tex_zoom=1.51878 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=1.000 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + (xx1-xx2)*1.5; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 18; +per_frame_12=grav = 1; +per_frame_13=resist = 5; +per_frame_14=bounce = 0.9; +per_frame_15=dt = 0.0003; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56=warp = 0; +per_frame_57=zoom = 1.00; +per_frame_58=q6 = atan2(vx4,vy4); +per_frame_59=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1=dir = -q6*1 + asin(1)*1; +per_pixel_2= +per_pixel_3=b1 = 0.1; // distance +per_pixel_4=m1 = q5*25;//-0.6 + q5*200; // size +per_pixel_5=t1 = 0.05; // velocity +per_pixel_6= +per_pixel_7=xx = q4; +per_pixel_8=yy = 1-q8; +per_pixel_9= +per_pixel_10= +per_pixel_11=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_12=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_13= +per_pixel_14=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_15=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_16= +per_pixel_17=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_18=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_19= +per_pixel_20=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_21=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_22= +per_pixel_23=si3 = -pow(q5,3)*00; +per_pixel_24= +per_pixel_25=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2; +per_pixel_26=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.006 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.85; +warp_32=` ret.z += 0.008; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03; +warp_52=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 m = float2(1-q4,q8); +comp_4=`float2 bg_uv = m + (uv-m)*0.992; // subtle 3D shadow drop +comp_5=`float2 mid_uv = m + (uv-m)*0.996; +comp_6=`ret = lerp( float3(0,0,0.2), float3(0.3,0,1),tex2D( sampler_fw_main, bg_uv).y); +comp_7=`ret = lerp(ret, float3(1,1,0), max(GetBlur1(bg_uv).z*1.5,tex2D( sampler_main, mid_uv).z)); // if that isn't a cool glow effect? +comp_8=`ret *= 1-GetBlur1(bg_uv).x*2; // drop shadow +comp_9=`ret = lerp( ret, float3(1,0.1,0.4),tex2D( sampler_fw_main, uv).x); +comp_10=`} diff --git a/presets/presets_tryptonaut/Flexi - mindblob [shiny mix].milk b/presets/presets_tryptonaut/Flexi - mindblob [shiny mix].milk new file mode 100755 index 0000000000..d7953ba201 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - mindblob [shiny mix].milk @@ -0,0 +1,478 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.789 +fWaveScale=0.292 +fWaveSmoothing=0.000 +fWaveParam=0.120 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.200 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.71426 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.100 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.430 +shapecode_1_y=0.420 +shapecode_1_rad=0.15799 +shapecode_1_ang=0.18850 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.87865 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = q4; +shape_1_per_frame2=y = q8; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=1.000 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + xx1-xx2; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 18; +per_frame_12=grav = 1; +per_frame_13=resist = 0.2; +per_frame_14=bounce = 0.9; +per_frame_15=dt = 0.0003; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56= +per_frame_57=zoom = 1.004; +per_frame_58= +per_frame_59=q6 = atan2(vx4,vy4); +per_frame_60=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1= +per_pixel_2=dir = -q6*1 + asin(1)*1; +per_pixel_3= +per_pixel_4=b1 = 0.08; // distance +per_pixel_5=m1 = q5*45;//-0.6 + q5*200; // size +per_pixel_6=t1 = 0.5; // velocity +per_pixel_7= +per_pixel_8=xx = 0.5 + (q4-0.5)/aspectx; +per_pixel_9=yy = 1-(0.5 + (q8-0.5)/aspecty); +per_pixel_10= +per_pixel_11= +per_pixel_12=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_13=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_14= +per_pixel_15=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_16=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_17= +per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_20= +per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_23= +per_pixel_24=si3 = -pow(q5,3)*00; +per_pixel_25= +per_pixel_26=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2/aspectx; +per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2/aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*8; +warp_4=` float1 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ).x; +warp_5=` float1 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ).x; +warp_6=` float2 my_uv = uv - float2(dx,dy)*texsize.zw*0.5; +warp_7=` +warp_8=` ret.x = tex2D( sampler_fw_main, my_uv); +warp_9=` ret.x += (ret.x - GetBlur3(my_uv).x)*0.2 - 0.004 ; +warp_10=` +warp_11=` ret.y = tex2D( sampler_fw_main, uv_orig).y*0.98 - 0.004; +warp_12=` +warp_13=` +warp_14=` +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float2 d = texsize.zw*4; +comp_5=` float1 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ).x; +comp_6=` float1 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ).x; +comp_7=` float2 my_uv = uv - float2(dx,dy); +comp_8=` +comp_9=` +comp_10=`ret = lerp( float3(0,0,1)*GetPixel(uv).x, +comp_11=` float3(1,0,0), +comp_12=` GetPixel(my_uv).y +comp_13=` ); +comp_14=`} diff --git a/presets/presets_tryptonaut/Flexi - mindblob [where it's at now] gno sth air fetch.milk b/presets/presets_tryptonaut/Flexi - mindblob [where it's at now] gno sth air fetch.milk new file mode 100755 index 0000000000..60276a9fe6 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - mindblob [where it's at now] gno sth air fetch.milk @@ -0,0 +1,609 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.009 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=0.200 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02548 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.180 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=33 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.500 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.500 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = rand(int(q30))/15+instance-instance; +shape_1_per_frame2=trans2 = rand(int(q30))/15+instance-instance; +shape_1_per_frame3=trans3 = rand(int(q30))/15+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; +shape_1_per_frame9=r=rand(q30)*.1+instance-instance; +shape_1_per_frame10=g=rand(q30)*.1+instance-instance; +shape_1_per_frame11=b=rand(q30)*.1+instance-instance; +shape_1_per_frame12=r2=rand(q30)*.1+instance-instance; +shape_1_per_frame13=g2=rand(q30)*.1+instance-instance; +shape_1_per_frame14=b2=rand(q30)*.1+instance-instance; +shape_1_per_frame15=border_r=rand(q30)*.1+instance-instance; +shape_1_per_frame16=border_g=rand(q30)*.1+instance-instance; +shape_1_per_frame17=border_b=rand(q30)*.1+instance-instance; +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=92 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.02705 +shapecode_2_ang=1.57080 +shapecode_2_tex_ang=1.25664 +shapecode_2_tex_zoom=3.07268 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=t1 = time - int (time); +shape_2_per_frame2=sample = instance/num_inst; +shape_2_per_frame3=t_abs = sample*3; +shape_2_per_frame4=t_rel = sample-time/5; +shape_2_per_frame5= +shape_2_per_frame6=ampl = 2*t_abs/2 ; +shape_2_per_frame7= +shape_2_per_frame8=k1=sin(time/13); +shape_2_per_frame9=k2=sin(time/12); +shape_2_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_2_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_2_per_frame12=oz = -1 ; +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_2_per_frame16=g = sqr(sin(t_rel)); +shape_2_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_2_per_frame18= +shape_2_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_2_per_frame20= +shape_2_per_frame21=xang = time/9.5; +shape_2_per_frame22=yang = 0*time/7; +shape_2_per_frame23=zang = -time/22; +shape_2_per_frame24=fov = 0.5; +shape_2_per_frame25= +shape_2_per_frame26= +shape_2_per_frame27=// Rotation um x,y,z +shape_2_per_frame28= +shape_2_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_2_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_2_per_frame31= +shape_2_per_frame32=ox = mx; +shape_2_per_frame33=oy = my; +shape_2_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_2_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_2_per_frame36=ox = mx; +shape_2_per_frame37=oz = mz; +shape_2_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_2_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_2_per_frame40=oy = my; +shape_2_per_frame41=oz = mz; +shape_2_per_frame42= +shape_2_per_frame43=oz = oz - 6; +shape_2_per_frame44=x = ox*fov/oz +0.5; +shape_2_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_2_per_frame46=y = oy*fov/oz + 0.5; +shape_2_per_frame47= +shape_2_per_frame48=a=1/mz*.5; +shape_2_per_frame49=//a2=1/mz*.5; +shape_2_per_frame50=//border_a=1/mz*.5; +shape_2_per_frame51=rad=1/mz*.005; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=decay = 1; +per_frame_26=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_27=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_28=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_29= +per_frame_30=x1 = 0.5 + xx1-xx2; +per_frame_31=y1 = 0.5 + yy1; +per_frame_32= +per_frame_33=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_34= +per_frame_35=spring = 18; +per_frame_36=grav = 1; +per_frame_37=resist = 0.2; +per_frame_38=bounce = 0.9; +per_frame_39=dt = 0.0003; +per_frame_40= +per_frame_41=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_42=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_43=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_44=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_45=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_46=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_47= +per_frame_48=x2 = x2 + vx2; +per_frame_49=y2 = y2 + vy2; +per_frame_50=x3 = x3 + vx3; +per_frame_51=y3 = y3 + vy3; +per_frame_52=x4 = x4 + vx4; +per_frame_53=y4 = y4 + vy4; +per_frame_54= +per_frame_55=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_56=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_57=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_58=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_59=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_60=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_61= +per_frame_62=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_63=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_64=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_65=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_66=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_67=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_68= +per_frame_69= +per_frame_70=q1 = x1; +per_frame_71=q2 = x2; +per_frame_72=q3 = x3; +per_frame_73=q4 = x4; +per_frame_74= +per_frame_75=q5 = y1; +per_frame_76=q6 = y2; +per_frame_77=q7 = y3; +per_frame_78=q8 = y4; +per_frame_79= +per_frame_80= +per_frame_81=zoom = 1.00; +per_frame_82= +per_frame_83= +per_frame_84= +per_frame_85=bb = bb*0.99 + bass*0.02; +per_frame_86=mm = mm*0.99 + mid*0.02; +per_frame_87=tt = tt*0.99 + treb*0.02; +per_frame_88= +per_frame_89=q6 = atan2(vx4,vy4); +per_frame_90=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_91=q30=(bass+treb+mid)*2; +per_pixel_1= +per_pixel_2=dir = -q6*1 + asin(1)*1; +per_pixel_3= +per_pixel_4=b1 = 0.08; // distance +per_pixel_5=m1 = q5*45;//-0.6 + q5*200; // size +per_pixel_6=t1 = 0.5; // velocity +per_pixel_7= +per_pixel_8=xx = 0.5 + (q4-0.5)/aspectx; +per_pixel_9=yy = 1-(0.5 + (q8-0.5)/aspecty); +per_pixel_10= +per_pixel_11= +per_pixel_12=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_13=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_14= +per_pixel_15=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_16=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_17= +per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_20= +per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_23= +per_pixel_24=si3 = -pow(q5,3)*00; +per_pixel_25= +per_pixel_26=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2/aspectx; +per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2/aspecty; +warp_1=`#define sampler_pic sampler_rand00 +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_12=` ((uv.xyy*q27 +warp_13=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_14=` ).xyz* +warp_15=` float3(1,1,0)*0.05 + +warp_16=` time*float3(0,0,1)*q29 +warp_17=` ); +warp_18=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_19=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_20=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_21=` // mix in img... +warp_22=` float3 pic = tex2D(sampler_pic, uv_orig).xyz; +warp_23=` float lum = lum(pic); +warp_24=` float use_it = abs(lum - frac((bass+mid+treb)*0.2)); +warp_25=` use_it = saturate(1 - use_it*33); +warp_26=` ret = lerp(ret, pic, use_it.xxx); +warp_27=` +warp_28=` // darken over time +warp_29=` //ret -= 0.004; +warp_30=` //ret *= 0.99; +warp_31=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_32=`} +warp_33=` +comp_1=`sampler sampler_rand00_smalltiled; +comp_2=`sampler sampler_rand01; +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2 = uv; +comp_6=`uv2.x=1-uv2.x; +comp_7=`ret = tex2D(sampler_rand00_smalltiled, frac(1-GetBlur2(uv).yx*0.6 + time*float2(0.057,.036))) +comp_8=`*(1+GetPixel(uv).x + GetBlur1(uv).y)*0.4; +comp_9=`float3 ret2 = tex2D(sampler_rand01, frac(1-GetBlur2(uv2).yx*0.6 + time*float2(0.057,.036))) +comp_10=`*(1+GetPixel(uv2).x + GetBlur1(uv2).y)*0.4; +comp_11=`ret+=ret2; +comp_12=`} diff --git a/presets/presets_tryptonaut/Flexi - molten neon fire spirit.milk b/presets/presets_tryptonaut/Flexi - molten neon fire spirit.milk new file mode 100755 index 0000000000..99a78334d7 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - molten neon fire spirit.milk @@ -0,0 +1,451 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.096 +fWarpScale=1.442 +fZoomExponent=0.05354 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.500 +wavecode_0_g=0.700 +wavecode_0_b=0.100 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t8 = 1; +wave_0_per_point1=t8 = -t8; +wave_0_per_point2=x1 = q1; +wave_0_per_point3=x2 = (xx-0.5 + sin(q2)*0.3)*2.2*0.355 + ox + 0.5; +wave_0_per_point4=y2 = 0.787; +wave_0_per_point5= +wave_0_per_point6=d= t8*(sample*0.01+0.03); +wave_0_per_point7=y = (1-sample)*y2 + sample + d*(x1-x2); +wave_0_per_point8=x = sample*x1 + (1-sample)*x2 + d*(1-y2); +wave_0_per_point9= +wave_0_per_point10=pi3 = 3.1415*2*0.3333; +wave_0_per_point11=t = -q3*300+sample*asin(1)*4.01; +wave_0_per_point12=c=1; +wave_0_per_point13=//r = sin(t)*c; +wave_0_per_point14=//g = sin(t+pi3)*c; +wave_0_per_point15= +wave_0_per_point16=//b = sin(t-pi3)*c; +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=r = if(above(r,1),1,r); +wave_0_per_point20=r = if(below(r,0),0,r); +wave_0_per_point21=g = if(above(g,1),1,g); +wave_0_per_point22=g = if(below(g,0),0,g); +wave_0_per_point23=b = if(above(b,1),1,b); +wave_0_per_point24=b = if(below(b,0),0,b); +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=xx = q1; +wave_0_per_point28=ox = (q4-0.5)*0.2; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.500 +wavecode_1_g=0.400 +wavecode_1_b=0.140 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=x1 = 0.5; +wave_1_per_point3=x2 = 0.5 + ox + sin(q2)*0.3;//(xx-0.5 + sin(q2)*0.3)*2.2*0.355 + ox + 0.5; +wave_1_per_point4=y2 = .78; +wave_1_per_point5= +wave_1_per_point6=d= t8*(sample*0.01+0.03); +wave_1_per_point7=y = (1-sample)*y2 + sample + d*(x2-x1); +wave_1_per_point8=x = sample*x1 + (1-sample)*x2 + d*(1-y2); +wave_1_per_point9= +wave_1_per_point10=xx = q1; +wave_1_per_point11=ox = (q4-0.5)*0.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = 0;//dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.690 +shapecode_0_rad=0.23298 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.91434 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shape_0_per_frame1=x1 = 0.5 + (q1-0.5)*1.7; +shape_0_per_frame2=x2 = 0.5 + ox + sin(q2)*0.3; +shape_0_per_frame3=y2 = .78; +shape_0_per_frame4=s = 0.5; +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=y = (1-s)*y2 + s; +shape_0_per_frame8=x = s*x1 + (1-s)*x2; +shape_0_per_frame9= +shape_0_per_frame10=xx = q1; +shape_0_per_frame11=ox = (q4-0.5)*0.2; +shape_0_per_frame12= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.400 +shapecode_1_rad=0.47690 +shapecode_1_ang=5.15221 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.75680 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shape_1_per_frame1=x1 = 0.5 + (q1-0.5)*0.5; +shape_1_per_frame2=x2 = 0.5 + ox + sin(q2)*0.3;//(xx-0.5 + sin(q2)*0.3)*2.2*0.355 + ox; +shape_1_per_frame3=y2 = .78; +shape_1_per_frame4=s = 0.5; +shape_1_per_frame5=w = asin(1)*1/3; +shape_1_per_frame6=ang = w; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=y = (1-s)*y2 + s - 0.17 - sin(w)*(0.5-q1)*0.4; +shape_1_per_frame10=x = s*x1 + (1-s)*x2 - 0.08 - cos(w)*(0.5-q1)*0.4; +shape_1_per_frame11= +shape_1_per_frame12=xx = q1; +shape_1_per_frame13=ox = (q4-0.5)*0.2; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.400 +shapecode_2_rad=0.47693 +shapecode_2_ang=5.15221 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.75683 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shape_2_per_frame1=x1 = 0.5 + (q1-0.5)*0.5; +shape_2_per_frame2=x2 = 0.5 + ox + sin(q2)*0.3;//(xx-0.5 + sin(q2)*0.3)*2.2*0.355 + ox; +shape_2_per_frame3=y2 = .78; +shape_2_per_frame4=s = 0.5; +shape_2_per_frame5=w = -asin(1)*1/3; +shape_2_per_frame6=ang = w; +shape_2_per_frame7= +shape_2_per_frame8= +shape_2_per_frame9=y = (1-s)*y2 + s - 0.17 - sin(w)*(0.5-q1)*0.4; +shape_2_per_frame10=x = s*x1 + (1-s)*x2 + 0.08 - cos(w)*(0.5-q1)*0.4; +shape_2_per_frame11= +shape_2_per_frame12=xx = q1; +shape_2_per_frame13=ox = (q4-0.5)*0.2; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.400 +shapecode_3_rad=1.46816 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.53425 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = 0.5 + (q4-0.5)*0.2; +shape_3_per_frame2=ang = q2; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 0.05; +per_frame_2=xx1 = xx1*0.96 + (bass)*0.005; +per_frame_3=xx2 = xx2*0.96 + (treb)*0.005; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 - (xx1-xx2)*5; +per_frame_7=y1 = 1 - yy1*0.75; +per_frame_8= +per_frame_9=x1 = max(0.2,min(0.8,x1)); +per_frame_10= +per_frame_11=spring = 15; +per_frame_12=grav = .65;//-0.25*yy1; +per_frame_13=resist = 0.005; +per_frame_14=dt = 0.0005; +per_frame_15= +per_frame_16=spx2 = (x1+x3-2*x2)*spring; +per_frame_17=spy2 = (y1+y3-2*y2)*spring; +per_frame_18=spx3 = (x2+x4-2*x3)*spring; +per_frame_19=spy3 = (y2+y4-2*y3)*spring; +per_frame_20=spx4 = (x3-x4)*spring; +per_frame_21=spy4 = (y3-y4)*spring; +per_frame_22= +per_frame_23=vx2 = vx2*(1-resist) + dt*(spx2); +per_frame_24=vy2 = vy2*(1-resist) + dt*(spy2-grav); +per_frame_25=vx3 = vx3*(1-resist) + dt*(spx3); +per_frame_26=vy3 = vy3*(1-resist) + dt*(spy3-grav*1.5); +per_frame_27=vx4 = vx4*(1-resist) + dt*(spx4); +per_frame_28=vy4 = vy4*(1-resist) + dt*(spy4-grav*4); +per_frame_29= +per_frame_30=x2 = x2 + vx2; +per_frame_31=y2 = y2 + vy2; +per_frame_32=x3 = x3 + vx3; +per_frame_33=y3 = y3 + vy3; +per_frame_34=x4 = x4 + vx4; +per_frame_35=y4 = y4 + vy4; +per_frame_36= +per_frame_37=vx2 = if(above(x2,0),vx2,abs(vx2)*0.8); +per_frame_38=vx2 = if(below(x2,1),vx2,-abs(vx2)*0.8); +per_frame_39=vx3 = if(above(x3,0),vx3,abs(vx3)*0.8); +per_frame_40=vx3 = if(below(x3,1),vx3,-abs(vx3)*0.8); +per_frame_41=vx4 = if(above(x4,0),vx4,abs(vx4)*0.8); +per_frame_42=vx4 = if(below(x4,1),vx4,-abs(vx4)*0.8); +per_frame_43= +per_frame_44=vy2 = if(above(y2,0),vy2,abs(vy2)*0.8); +per_frame_45=vy2 = if(below(y2,1),vy2,-abs(vy2)*0.8); +per_frame_46=vy3 = if(above(y3,0),vy3,abs(vy3)*0.8); +per_frame_47=vy3 = if(below(y3,1),vy3,-abs(vy3)*0.8); +per_frame_48=vy4 = if(above(y4,0),vy4,abs(vy4)*0.8); +per_frame_49=vy4 = if(below(y4,1),vy4,-abs(vy4)*0.8); +per_frame_50= +per_frame_51= +per_frame_52=q1 = x1; +per_frame_53=q2 = x2; +per_frame_54=q3 = x3; +per_frame_55=q4 = x4; +per_frame_56= +per_frame_57=q5 = y1; +per_frame_58=q6 = y2; +per_frame_59=q7 = y3; +per_frame_60=q8 = y4; +per_frame_61=q2 = sin(+atan2(x4-x3,y4-y3) - asin(1)*2)*0.175; +per_frame_62= +per_frame_63=q13 = 0; +per_frame_64=q11 = (1-x4)*4; +per_frame_65=monitor = xx4*0.01; +per_frame_66=zoom = 0.998; +per_frame_67=rot = 0.00; +per_frame_68=warp = 0.02; +per_frame_69=wave_a = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*2; +warp_5=` float3 dx = ( GetBlur1(uv_orig+float2(1,0)*d)-GetBlur1(uv_orig-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_orig+float2(0,1)*d)-GetBlur1(uv_orig-float2(0,1)*d) ); +warp_7=` +warp_8=`float2 uv_red = 0.5 + (uv-0.5)*0.996 - float2(0,1)*texsize.zw - float2(dx.x,dy.y)*texsize.zw*4; +warp_9=` +warp_10=`uv_red = frac(uv_red); // fix for the old Radeons +warp_11=` ret.x = tex2D( sampler_main, uv_red ).x; +warp_12=` ret.x += (ret.x - GetBlur2(uv_red)).x*0.4 + 0.004; +warp_13=` +warp_14=`float2 uv_green = lerp(uv_orig,uv,1) + float2(0,2)*texsize.zw - float2(dx.y,dy.y)*texsize.zw*2 + float2(dy.z,-dx.z)*texsize.zw*16; +warp_15=` +warp_16=`ret.y = max(saturate(GetBlur1(uv_orig).x-0.4)*1.2*ret.x, tex2d(sampler_fc_main,uv_green).y - 0.004); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=`float2 uv_x = uv - float2(dx.y,dy.y)*0.1 + float2(dx.z,dy.z)*0.06; +comp_8=`ret = GetBlur2(uv_x).x*saturate(1-GetPixel(uv).y)*pow(hue_shader.yxz,8)*3; +comp_9=`ret = lerp(ret,pow(hue_shader.yzx,8)*1.4,GetPixel(uv_x).x*0.8 + GetBlur1(uv_x).x); +comp_10=`ret *= saturate(1 - GetBlur1(uv).z*4); +comp_11=`ret = lerp(ret,1,pow(hue_shader,8)*GetPixel(saturate(uv - float2(dx.z,dy.z)*2)).y*1.2); +comp_12=`ret = lerp(ret,pow(hue_shader,8).zxy*1.8,GetPixel(uv).z); +comp_13=`} diff --git a/presets/presets_tryptonaut/Flexi - never expected to play the game on this level.milk b/presets/presets_tryptonaut/Flexi - never expected to play the game on this level.milk new file mode 100755 index 0000000000..8f7a323de4 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - never expected to play the game on this level.milk @@ -0,0 +1,470 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.037 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.020 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.025 +ib_r=1.000 +ib_g=0.750 +ib_b=0.750 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wave_2_per_point16= +wave_2_per_point17= +wave_2_per_point18=x = 0.5 + (x-0.5)*q9; +wave_2_per_point19=y = 0.5 + (y-0.5)*q10; +wave_2_per_point20= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=0.340 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*120)*d*0.1; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +wave_3_per_point16= +wave_3_per_point17=x = 0.5 + (x-0.5)*q9; +wave_3_per_point18=y = 0.5 + (y-0.5)*q10; +wave_3_per_point19= +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.750 +shapecode_0_rad=0.07201 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shape_0_per_frame1=x = q4; +shape_0_per_frame2=y = q8; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.750 +shapecode_1_rad=0.04208 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shape_1_per_frame1=x = q3; +shape_1_per_frame2=y = q7; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.750 +shapecode_2_rad=0.04208 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shape_2_per_frame1=x = q2; +shape_2_per_frame2=y = q6; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=q1 = wave_x; +per_frame_23=q2 = 1-wave_y; +per_frame_24=q2 = ypos+0.5; +per_frame_25= +per_frame_26=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_27=movement = if(above(movement,10000), 0, movement); +per_frame_28=rot =1*sin(movement); +per_frame_29=cx = wave_x; +per_frame_30=cy = y_pos+0.5; +per_frame_31= +per_frame_32=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 zoom = 2.9; +warp_5=`float2 cntr = float2(-0,-0); +warp_6=`float2 c = float2(0,2); // complex constant +warp_7=` +warp_8=` float2 my_uv = (uv-0.5-cntr)*zoom; // center and scale dx/dy pane +warp_9=` float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); //complex squaring of u +warp_10=` float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); // complex multiplication by c +warp_11=` float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_12=` my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; // complex division u^2/(1+c*u^2) +warp_13=` +warp_14=`zoom = 1.84+(bass-treb)*0.0; +warp_15=`cntr = float2(0,0); +warp_16=`c = float2(0.2806,0.4508); +warp_17=` +warp_18=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_19=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_20=` +warp_21=`ret.z = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).z*0.9- 0.04; +warp_22=`ret.x = tex2D( sampler_fc_main, my_uv2).x - 0.008; +warp_23=` +warp_24=` my_uv = lerp(my_uv,my_uv2,0.8); // linear interpolation between the two solutions +warp_25=` +warp_26=`ret.y = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).y*0.9- 0.004; +warp_27=` +warp_28=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*4; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` float2 uv_y = uv-float2(dx.y,dy.y)*0.4; +comp_8=` +comp_9=` float2 uv_dx = uv - float2(dx.x,dy.x)*1; +comp_10=` float2 uv_dz = uv - float2(dx.z,dy.z)*1; +comp_11=` +comp_12=`ret = 0; +comp_13=`ret = lerp(ret, float3(0,1,0), length(float2(dx.z,dy.z))); +comp_14=`ret = lerp(ret,float3(1,0,0),GetPixel(uv).z*saturate(1-GetBlur3(uv).y*8)); +comp_15=`ret = lerp(ret,1,GetBlur1(uv_dz).x*GetBlur1(uv).z*2*(1-GetBlur1(uv).y*4)); +comp_16=` +comp_17=`ret = lerp(ret, float3(0.8,0,1.5), length(float2(dx.x,dy.x))); +comp_18=`ret = lerp(ret,float3(1,1,0),GetPixel(uv).x*saturate(1-GetBlur3(uv).y*8)); +comp_19=`ret = lerp(ret,1,GetBlur1(uv_dx).z*GetBlur1(uv).x*2*(1-GetBlur1(uv).y*4)); +comp_20=` +comp_21=`ret = lerp(saturate(ret),1,GetPixel(uv).y); +comp_22=` +comp_23=` +comp_24=`} +comp_25=` diff --git a/presets/presets_tryptonaut/Flexi - predator-prey-spirals [geiss' laplacian finish].milk b/presets/presets_tryptonaut/Flexi - predator-prey-spirals [geiss' laplacian finish].milk new file mode 100755 index 0000000000..27f6baf547 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - predator-prey-spirals [geiss' laplacian finish].milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=39 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=126 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.06989 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=0 +shapecode_1_sides=41 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=239 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.06989 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=0 +shapecode_2_sides=43 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.06989 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=127 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05560 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0008*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * .3 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *4; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *4; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *4; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1*(bass-treb); +warp_18=` ret -= ret.yzx*0.1 - 0.04; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk b/presets/presets_tryptonaut/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk new file mode 100755 index 0000000000..03265f2bcd --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - predator-prey-spirals [stahlregens gelatine finish].milk @@ -0,0 +1,470 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=39 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=126 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.06989 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=0 +shapecode_1_sides=41 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=239 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.06989 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=0 +shapecode_2_sides=43 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.06989 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=127 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05560 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0008*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,100)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.24 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *4; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *4; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *4; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.04; +warp_18=` ret -= ret.yzx*0.1 - 0.04; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1; +comp_23=` float3 what = lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader,ret)); +comp_24=` ret *=what; +comp_25=` ret *= hue_shader; +comp_26=` +comp_27=` //ret *= 1.5; //old gamma effect +comp_28=`} diff --git a/presets/presets_tryptonaut/Flexi - predator-prey-spirals.milk b/presets/presets_tryptonaut/Flexi - predator-prey-spirals.milk new file mode 100755 index 0000000000..06d78d3397 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - predator-prey-spirals.milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=39 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=126 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.06989 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=0 +shapecode_1_sides=41 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=239 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.06989 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=0 +shapecode_2_sides=43 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.06989 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=127 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.05560 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0001*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42=q4 = x4; +per_frame_43=q8 = y4; +per_frame_44= +per_frame_45=q1 = aspectx; +per_frame_46=q2 = aspecty; +per_frame_47=q10 = x1; +per_frame_48=q11 = y1; +per_frame_49=zoom = 1; +per_frame_50=warp = 0; +per_frame_51=q6 = atan2(vx4,vy4); +per_frame_52=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_53= +per_frame_54=a = a*0.95 + q5; +per_frame_55= +per_frame_56=s = s*0.9 + a; +per_frame_57=q3 = s*0.1; +per_frame_58=monitor = s; +per_frame_59= +per_frame_60=wave_a = 0; +per_pixel_1=x = 0.5 + (x-0.5)*q1; +per_pixel_2=y = 0.5 + (y-0.5)*q2; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.1; +per_pixel_11=v = 20; +per_pixel_12=v2 = q5; +per_pixel_13=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)) + cos(dir)*v2)*(1.00-sigmoid(d-r,120)); +per_pixel_14=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)) -sin(dir)*v2)*(1.00-sigmoid(d-r,120)); +warp_1=`shader_body +warp_2=`{ +warp_3=` uv = lerp(uv_orig,uv,2) ; +warp_4=` float2 d = texsize.zw * 2; +warp_5=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_7=` +warp_8=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_9=` +warp_10=` float2 uv_x= uv + float2(dx.x,dy.x)*texsize.zw *8; +warp_11=` float2 uv_y= uv + float2(dx.y,dy.y)*texsize.zw *8; +warp_12=` float2 uv_z= uv + float2(dx.z,dy.z)*texsize.zw *8; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=` ret +=(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.04; +warp_18=`ret -= ret.yzx*0.1 - 0.02; +warp_19=` +warp_20=`} +comp_1=`float2 uv_x, uv_y, uv_z, uv_echo; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*8; +comp_5=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` +comp_9=` float3 emboss = (dx - dy)*0.5 + 1; +comp_10=` +comp_11=` float2 uv_light1 = float2(q4,1-q8); +comp_12=` float c = 2; +comp_13=` float dd = 1.1; +comp_14=` float1 light1_dy = dd-pow(length( uv - float2(dx.y,dy.y)*c - uv_light1),.2); +comp_15=` float1 light1_dx = dd-pow(length( uv - float2(dx.x,dy.x)*c - uv_light1),.2); +comp_16=` float1 light1_dz = dd-pow(length( uv - float2(dx.z,dy.z)*c - uv_light1),.2); +comp_17=` +comp_18=` +comp_19=` +comp_20=`ret = pow(float3(light1_dx,light1_dy,light1_dz),1)*GetPixel(uv)*2.4; +comp_21=` +comp_22=` +comp_23=`} diff --git a/presets/presets_tryptonaut/Flexi - psychenapping.milk b/presets/presets_tryptonaut/Flexi - psychenapping.milk new file mode 100755 index 0000000000..ffe22bbd18 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - psychenapping.milk @@ -0,0 +1,295 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+sin(time*0.618)*0.2; +shape_0_per_frame2=y = 0.5+cos(time*1.618)*0.2; +shape_0_per_frame3=rad = bass*0.05; +shape_0_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_0_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_0_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+sin(time*2.618)*0.3; +shape_1_per_frame2=y = 0.5+cos(time*3.14)*0.3; +shape_1_per_frame3=rad = bass*0.05; +shape_1_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_1_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_1_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shape_1_per_frame7= +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+sin(-time*2.618)*0.4; +shape_2_per_frame2=y = 0.5+cos(-time*1.14)*0.4; +shape_2_per_frame3=rad = bass*0.05; +shape_2_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_2_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_2_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q11 = 0.5/asin(1); +per_frame_1= +per_frame_2=//zoom = 0.99; +per_frame_3=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_4=ib_g = sin(time*4)*0.3+0.3; +per_frame_5=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_6=wave_r = 1- ib_r; +per_frame_7=wave_g = 1- ib_g; +per_frame_8=wave_b = 1- ib_b; +per_frame_9=//wave_mystery = -1+bass/2; +per_frame_10=wave_x = 0.5+sin(time*3)*0.3; +per_frame_11=wave_y = 0.5+cos(time*2.187)*0.3; +per_frame_12=t = t + 2.5/fps; +per_frame_13=t = if(above(t,2),t-2,t); +per_frame_14=q12 = -t; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`shader_body +warp_2=`{ +warp_3=`ret = GetPixel(frac(uv)); +warp_4=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float t = q12; +comp_4=`float2 c = ((uv-0.5)*aspect.wz); +comp_5=`float1 ang_hq = atan2(c.x,c.y); +comp_6=`float2 spiral = float2(ang_hq*q11*1.5,0.666*log(length(c))-ang_hq*q11+t); +comp_7=`spiral = 0.5 + (0.5 - abs( frac( spiral * 0.5 ) * 2.0 - 1.0 ))*float2(0.96,1.02); // mirror +comp_8=`ret = GetPixel(saturate(spiral)); +comp_9=`} diff --git a/presets/presets_tryptonaut/Flexi - psycho . wondermilk [$0$].milk b/presets/presets_tryptonaut/Flexi - psycho . wondermilk [$0$].milk new file mode 100755 index 0000000000..2e251b5787 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - psycho . wondermilk [$0$].milk @@ -0,0 +1,491 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.312112 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=1.000000 +fWarpScale=0.106584 +fZoomExponent=6.227751 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.017426 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=4 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.093480 +wavecode_0_smoothing=1.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_point1=s8 = sample*383; +wave_0_per_point2=dir = s8*0.125*3.1415*0.5; +wave_0_per_point3=v = 0.0005; +wave_0_per_point4=t1 = 0;//value1*0.01;//t1*0.97 + value1*v; +wave_0_per_point5=d = 1; +wave_0_per_point6=xx = sin(dir+10*time)*(sample*d+t1); +wave_0_per_point7=yy = cos(dir+10*time)*(sample*d+t1); +wave_0_per_point8=zz = cos(sample*1000+time*5)*0.0;//value2*0.05*sample; +wave_0_per_point9=v = 0.001; +wave_0_per_point10= +wave_0_per_point11=w = 1-(sample-0.5)*t6;//(sample*sin(time*0.3)*0.02-1); +wave_0_per_point12=s1 = sin(t2*w); +wave_0_per_point13=s2 = sin(t3*w); +wave_0_per_point14=s3 = sin(t4*w); +wave_0_per_point15=c1 = cos(t2*w); +wave_0_per_point16=c2 = cos(t3*w); +wave_0_per_point17=c3 = cos(t4*w); +wave_0_per_point18= +wave_0_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point22= +wave_0_per_point23=a = 2; +wave_0_per_point24=zoom = 0.5*atan2(a-z,a);//0.5*(1/(z+a)); +wave_0_per_point25=x = 0.5 + zoom*x1; +wave_0_per_point26=y = 0.5 + zoom*y1; +wave_0_per_point27= +wave_0_per_point28=pi3 = 3.1415*2*0.3333; +wave_0_per_point29=t = -z*1.2+t5*20; +wave_0_per_point30=c = 10; +wave_0_per_point31=r = sin(t)*c; +wave_0_per_point32= +wave_0_per_point33=g = sin(t+pi3)*c; +wave_0_per_point34= +wave_0_per_point35=b = sin(t-pi3)*c; +wave_0_per_point36= +wave_0_per_point37=j = 0.71; +wave_0_per_point38=//r = 0.5+xx*j; +wave_0_per_point39=//g = 0.5+yy*j; +wave_0_per_point40=//b = 0.5+zz*j; +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49= +wave_0_per_point50=a = sigmoid(-z,2)*1.0+0.0; +wavecode_1_enabled=0 +wavecode_1_samples=484 +wavecode_1_sep=4 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=9.941252 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_point1=s8 = sample*383; +wave_1_per_point2= +wave_1_per_point3=s = 0.25; +wave_1_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_1_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_1_per_point6=zz = value1+sin(time+yy*0.3)*1; +wave_1_per_point7= +wave_1_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point9=w = 1+d*0.0003*t6;//(sample*sin(time*0.3)*0.02-1); +wave_1_per_point10=s1 = sin(t2*w); +wave_1_per_point11=s2 = sin(t3*w); +wave_1_per_point12=s3 = sin(t4*w); +wave_1_per_point13=c1 = cos(t2*w); +wave_1_per_point14=c2 = cos(t3*w); +wave_1_per_point15=c3 = cos(t4*w); +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point19=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point20=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point21= +wave_1_per_point22=a = 500; +wave_1_per_point23=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_1_per_point24=x = 0.5 + zoom*x1; +wave_1_per_point25=y = 0.5 + zoom*y1; +wave_1_per_point26= +wave_1_per_point27=pi3 = 3.1415*2*0.3333; +wave_1_per_point28=t = -z*0.5+t5; +wave_1_per_point29=c = 10; +wave_1_per_point30=r = sin(t)*c; +wave_1_per_point31= +wave_1_per_point32=g = sin(t+pi3)*c; +wave_1_per_point33= +wave_1_per_point34=b = sin(t-pi3)*c; +wave_1_per_point35= +wave_1_per_point36=j = 0.71; +wave_1_per_point37=//r = 0.5+xx*j; +wave_1_per_point38=//g = 0.5+yy*j; +wave_1_per_point39=//b = 0.5+zz*j; +wave_1_per_point40= +wave_1_per_point41=r = if(above(r,1),1,r); +wave_1_per_point42=r = if(below(r,0),0,r); +wave_1_per_point43=g = if(above(g,1),1,g); +wave_1_per_point44=g = if(below(g,0),0,g); +wave_1_per_point45=b = if(above(b,1),1,b); +wave_1_per_point46=b = if(below(b,0),0,b); +wave_1_per_point47= +wave_1_per_point48= +wave_1_per_point49=a = sigmoid(-z,0.25)*1.0+0.0; +wavecode_2_enabled=0 +wavecode_2_samples=484 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=9.941252 +wavecode_2_smoothing=1.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 0.25; +wave_2_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_2_per_point5=zz = ((sample*31)%31 - 16)*s; +wave_2_per_point6=yy = value1+sin(time +xx*0.3)*1; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=w = 1+d*0.0003*t6;//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point10=s1 = sin(t2*w); +wave_2_per_point11=s2 = sin(t3*w); +wave_2_per_point12=s3 = sin(t4*w); +wave_2_per_point13=c1 = cos(t2*w); +wave_2_per_point14=c2 = cos(t3*w); +wave_2_per_point15=c3 = cos(t4*w); +wave_2_per_point16= +wave_2_per_point17= +wave_2_per_point18=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point19=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point20=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point21= +wave_2_per_point22=a = 500; +wave_2_per_point23=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point24=x = 0.5 + zoom*x1; +wave_2_per_point25=y = 0.5 + zoom*y1; +wave_2_per_point26= +wave_2_per_point27=pi3 = 3.1415*2*0.3333; +wave_2_per_point28=t = -z*0.5+t5; +wave_2_per_point29=c = 10; +wave_2_per_point30=r = sin(t)*c; +wave_2_per_point31= +wave_2_per_point32=g = sin(t+pi3)*c; +wave_2_per_point33= +wave_2_per_point34=b = sin(t-pi3)*c; +wave_2_per_point35= +wave_2_per_point36=j = 0.71; +wave_2_per_point37=//r = 0.5+xx*j; +wave_2_per_point38=//g = 0.5+yy*j; +wave_2_per_point39=//b = 0.5+zz*j; +wave_2_per_point40= +wave_2_per_point41=r = if(above(r,1),1,r); +wave_2_per_point42=r = if(below(r,0),0,r); +wave_2_per_point43=g = if(above(g,1),1,g); +wave_2_per_point44=g = if(below(g,0),0,g); +wave_2_per_point45=b = if(above(b,1),1,b); +wave_2_per_point46=b = if(below(b,0),0,b); +wave_2_per_point47= +wave_2_per_point48= +wave_2_per_point49=a = sigmoid(-z,0.25)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.941252 +wavecode_3_smoothing=1.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=yy = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=zz = ((sample*31)%31 - 16)*s; +wave_3_per_point6=xx = value1+ sin(time+yy*0.3)*1; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1+d*0.0003*t6;//(sample*sin(time*0.3)*0.02-1); +wave_3_per_point10=s1 = sin(t2*w); +wave_3_per_point11=s2 = sin(t3*w); +wave_3_per_point12=s3 = sin(t4*w); +wave_3_per_point13=c1 = cos(t2*w); +wave_3_per_point14=c2 = cos(t3*w); +wave_3_per_point15=c3 = cos(t4*w); +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point19=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point20=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point21= +wave_3_per_point22=a = 500; +wave_3_per_point23=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point24=x = 0.5 + zoom*x1; +wave_3_per_point25=y = 0.5 + zoom*y1; +wave_3_per_point26= +wave_3_per_point27=pi3 = 3.1415*2*0.3333; +wave_3_per_point28=t = -z*0.5+t5; +wave_3_per_point29=c = 10; +wave_3_per_point30=r = sin(t)*c; +wave_3_per_point31= +wave_3_per_point32=g = sin(t+pi3)*c; +wave_3_per_point33= +wave_3_per_point34=b = sin(t-pi3)*c; +wave_3_per_point35= +wave_3_per_point36=j = 0.71; +wave_3_per_point37=//r = 0.5+xx*j; +wave_3_per_point38=//g = 0.5+yy*j; +wave_3_per_point39=//b = 0.5+zz*j; +wave_3_per_point40= +wave_3_per_point41=r = if(above(r,1),1,r); +wave_3_per_point42=r = if(below(r,0),0,r); +wave_3_per_point43=g = if(above(g,1),1,g); +wave_3_per_point44=g = if(below(g,0),0,g); +wave_3_per_point45=b = if(above(b,1),1,b); +wave_3_per_point46=b = if(below(b,0),0,b); +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49=a = sigmoid(-z,0.25)*1.0+0.0; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.166108 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=21.858635 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998628 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.498314 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.080001 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.215245 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.576107 +shapecode_2_tex_zoom=0.555954 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=pi3 = 3.1415*2/3; +per_frame_2=c=0.5; +per_frame_3=monitor =5*sin(time); +per_frame_4=ib_r = 0.5+sin(c*time+pi3)*0.5; +per_frame_5=ib_g = 0.5+sin(c*time-pi3)*0.5; +per_frame_6=ib_b = 0.5+sin(c*time)*0.5; +per_frame_7= +per_frame_8=ab = ab*0.9 + sqr(mid_att*2); +per_frame_9=q6 = + ab*0.0005; +per_frame_10= +per_frame_11=q1 = 0; +per_frame_12=v = 0.01; +per_frame_13=j1 = j1*0.98 + sqr(bass_att*2); +per_frame_14=j2 = j2*0.98 + sqr(mid_att*2); +per_frame_15=j3 = j3*0.98 + sqr(treb_att*2); +per_frame_16= +per_frame_17=n = n + j1*0.00052; +per_frame_18=n1 = n1 + j2*0.00052; +per_frame_19=n2 = n2 + j3*0.00052; +per_frame_20=q2 = n*0.1; +per_frame_21=q3 = -n1*0.1; +per_frame_22=q4 = n2*0.15; +per_frame_23=//t5 = 0; +per_frame_24=k = k*0.995 + sqr(mid_att*2); +per_frame_25=q5 = -k*0.001; +per_pixel_1=d = sqrt((x-0.5)*(x-0.5)+(y-0.5)*(y-0.5))*rad; +per_pixel_2=n=15;//*(0.8-d*0.5*mid);//+5*sin(time); +per_pixel_3=t = sin(time)*q5*5; +per_pixel_4=w= q5*0.7*cos(time); +per_pixel_5=//w=0; +per_pixel_6=v = 10;//2*(1+d*5+1-bass*2);// +bass*0.5; +per_pixel_7=X2 = x-0.5; +per_pixel_8=Y2 = y-0.5; +per_pixel_9=X1 = sin(w)*X2 -cos(w)*Y2; +per_pixel_10=Y1 = cos(w)*X2 +sin(w)*Y2; +per_pixel_11=x = X1; +per_pixel_12=y = Y1; +per_pixel_13=dx1 = 0.01*(cos((-x+y)*n+t) + sin((x+y)*n+t));//*bass; +per_pixel_14=dy1 = 0.01*(cos((x-y)*n-t) + sin((-x-y)*n-t));//*bass; +per_pixel_15=dx2 = sin(-w)*dx1 - cos(-w)*dy1; +per_pixel_16=dy2 = cos(-w)*dx1 + sin(-w)*dy1; +per_pixel_17=dx = v*dx2; +per_pixel_18=dy = v*dy2; diff --git a/presets/presets_tryptonaut/Flexi - reality tunnel.milk b/presets/presets_tryptonaut/Flexi - reality tunnel.milk new file mode 100755 index 0000000000..415ebe6818 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - reality tunnel.milk @@ -0,0 +1,335 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=1.554 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.19913 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01359 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=1.000 +wave_b=0.040 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.500 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.86644 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.030 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_pixel_1=vx = 0.5+cos(time*0.2)*.5; +per_pixel_2=vy = 0.5+sin(time*0.2)*.5; +per_pixel_3=x = x - vx; +per_pixel_4=y = y - vy; +per_pixel_5= +per_pixel_6=d = time*0.1; +per_pixel_7=xx = sin(d)*x + cos(d)*y; +per_pixel_8=yy = cos(d)*x - sin(d)*y; +per_pixel_9= +per_pixel_10=x = xx; +per_pixel_11=y = yy; +per_pixel_12= +per_pixel_13=cz = 0.5; +per_pixel_14=zoom = 0.33; +per_pixel_15=w = 1/zoom*(1+sqrt(sqr(cz) + sqr(x-cx)+sqr(y-cy))); +per_pixel_16=dx = (x-mx)*w; +per_pixel_17=dy = (y-my)*w; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).x*0.5; +warp_5=` +warp_6=` +warp_7=`float2 d = texsize.zw*4; +warp_8=`float2 uv_z = (uv_orig-0.5)*0.996 + 0.5; // a small dose of zoom-in +warp_9=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_11=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_12=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_13=` tex2d(sampler_fc_main,uv_z).z); +warp_14=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_15=` +warp_16=` +warp_17=`float2 uv_y = lerp(uv,uv_orig,0.9996); // pushing the glassy stuff a little bit +warp_18=`ret.y =max(tex2d(sampler_fc_main,uv_y).y ,tex2d(sampler_fc_main,uv_orig).z)-0.008; // feeded by the green channel and fade-out +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(tex2D(sampler_fc_main, uv_y).x*pow(hue_shader.zxy,4), +comp_9=` lerp(pow(hue_shader,6)*1.2,pow(hue_shader,8).yzx,GetPixel(uv).y)*2, +comp_10=` GetBlur1(uv).z*0.7); +comp_11=`//ret = GetPixel(uv).y; +comp_12=`} +comp_13=` diff --git a/presets/presets_tryptonaut/Flexi - smashing fractals [acid etching mix].milk b/presets/presets_tryptonaut/Flexi - smashing fractals [acid etching mix].milk new file mode 100755 index 0000000000..455dc6b98d --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - smashing fractals [acid etching mix].milk @@ -0,0 +1,508 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.311 +fWarpScale=8.311 +fZoomExponent=5.20652 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.13291 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.750 +shapecode_0_rad=0.07493 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shape_0_per_frame1=x = q4; +shape_0_per_frame2=y = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+rand(200)/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+rand(400)/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),rand(1000)/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=decay = 0.25; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + (xx1-xx2)*2; +per_frame_7=y1 = 0.4 + yy1; +per_frame_8= +per_frame_9=x1 = max(0,min(1,x1)); +per_frame_10=y1 = max(0,min(1,y1)); +per_frame_11=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_12= +per_frame_13=spring = 50; +per_frame_14=grav = 2; +per_frame_15=resist = 5; +per_frame_16=bounce = 0.75; +per_frame_17=dt = 0.00015*60/fps; +per_frame_18= +per_frame_19=spx2 = (x1+x3-2*x2)*spring; +per_frame_20=spy2 = (y1+y3-2*y2)*spring; +per_frame_21=spx3 = (x2+x4-2*x3)*spring; +per_frame_22=spy3 = (y2+y4-2*y3)*spring; +per_frame_23=spx4 = (x3-x4)*spring; +per_frame_24=spy4 = (y3-y4)*spring; +per_frame_25= +per_frame_26=vx2 = vx2*(1-resist*dt) + dt*(spx2); +per_frame_27=vy2 = vy2*(1-resist*dt) + dt*(spy2-grav); +per_frame_28=vx3 = vx3*(1-resist*dt) + dt*(spx3); +per_frame_29=vy3 = vy3*(1-resist*dt) + dt*(spy3-grav); +per_frame_30=vx4 = vx4*(1-resist*dt) + dt*(spx4); +per_frame_31=vy4 = vy4*(1-resist*dt) + dt*(spy4-grav); +per_frame_32= +per_frame_33=x2 = x2 + vx2; +per_frame_34=y2 = y2 + vy2; +per_frame_35=x3 = x3 + vx3; +per_frame_36=y3 = y3 + vy3; +per_frame_37=x4 = x4 + vx4; +per_frame_38=y4 = y4 + vy4; +per_frame_39= +per_frame_40=vx2 = if(above(x2,0.1),vx2,abs(vx2)*bounce); +per_frame_41=vx2 = if(below(x2,0.9),vx2,-abs(vx2)*bounce); +per_frame_42=vx3 = if(above(x3,0.1),vx3,abs(vx3)*bounce); +per_frame_43=vx3 = if(below(x3,0.9),vx3,-abs(vx3)*bounce); +per_frame_44=vx4 = if(above(x4,0.1),vx4,abs(vx4)*bounce); +per_frame_45=vx4 = if(below(x4,0.9),vx4,-abs(vx4)*bounce); +per_frame_46= +per_frame_47=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_48=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_49=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_50=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_51=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_52=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_53= +per_frame_54= +per_frame_55=q1 = x1; +per_frame_56=q2 = x2; +per_frame_57=q3 = x3; +per_frame_58=q4 = x4; +per_frame_59= +per_frame_60=q5 = y1; +per_frame_61=q6 = y2; +per_frame_62=q7 = y3; +per_frame_63=q8 = y4; +per_frame_64= +per_frame_65=monitor = ry4; +per_frame_66= +per_frame_67=zoom = 1.0004; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=`float2 uv_x = uv - float2(dx.z,dy.z)*0 + float2(dx.y,dy.y)*0.1; +comp_8=`ret = GetBlur2(uv_x).x*saturate(1-GetPixel(uv).z)*pow(hue_shader.yxz,8)*3; +comp_9=`ret = lerp(ret,pow(hue_shader.yzx,8)*1.4,GetPixel(uv_x).x*0.8 + GetBlur1(uv_x).x); +comp_10=`ret *= saturate(1 - GetBlur1(uv).y*4); +comp_11=`ret = lerp(ret,1,pow(hue_shader,8)*GetPixel(saturate(uv - float2(dx.y,dy.y)*0.04)).z*1.2); +comp_12=`ret = lerp(ret,pow(hue_shader,8).zxy*1.8,GetPixel(uv).y); +comp_13=`} diff --git a/presets/presets_tryptonaut/Flexi - strangely dynamic world.milk b/presets/presets_tryptonaut/Flexi - strangely dynamic world.milk new file mode 100755 index 0000000000..3660f46b7d --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - strangely dynamic world.milk @@ -0,0 +1,497 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.037 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=1.83149 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.020 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.030 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wave_2_per_point16= +wave_2_per_point17= +wave_2_per_point18=x = 0.5 + (x-0.5)*q9; +wave_2_per_point19=y = 0.5 + (y-0.5)*q10; +wave_2_per_point20= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=0.340 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*120)*d*0.1; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +wave_3_per_point16= +wave_3_per_point17=x = 0.5 + (x-0.5)*q9; +wave_3_per_point18=y = 0.5 + (y-0.5)*q10; +wave_3_per_point19= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.750 +shapecode_0_rad=0.07201 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shape_0_per_frame1=x = q4; +shape_0_per_frame2=y = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.750 +shapecode_1_rad=0.04208 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shape_1_per_frame1=x = q3; +shape_1_per_frame2=y = q7; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.750 +shapecode_2_rad=0.04208 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shape_2_per_frame1=x = q2; +shape_2_per_frame2=y = q6; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.001*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42= +per_frame_43= +per_frame_44=q1 = x1; q2 = x2; q3 = x3; q4 = x4; +per_frame_45=q5 = y1; q6 = y2; q7 = y3; q8 = y4; +per_frame_46=q9 =1/ aspectX; +per_frame_47=q10 = 1/aspectY; +per_frame_48= +per_frame_49=zoom = 1; +per_frame_50=r = r*0.96 +(x1-0.5); +per_frame_51=rot = (r*0.1); +per_frame_52= +per_frame_53=q12 = atan2(vx4,vy4); +per_frame_54=q11 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1=dir = -q12*1 + asin(1)*1; +per_pixel_2= +per_pixel_3=b1 = 0.05; // distance +per_pixel_4=m1 = q11*25;//-0.6 + q5*200; // size +per_pixel_5=t1 = 0.05; // velocity +per_pixel_6= +per_pixel_7=xx = q4; +per_pixel_8=yy = 1-q8; +per_pixel_9= +per_pixel_10= +per_pixel_11=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_12=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_13= +per_pixel_14=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_15=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_16= +per_pixel_17=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_18=si1 = 1- 1/(1+pow(2,-d1*1000)); +per_pixel_19= +per_pixel_20=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_21=si2 = 1- 1/(1+pow(2,-d2*1000)); +per_pixel_22= +per_pixel_23=si3 = -pow(q5,3)*00; +per_pixel_24= +per_pixel_25=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*12; +per_pixel_26=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*12; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 zoom = 3; +warp_4=`float2 cntr = float2(-0,-0); +warp_5=`float2 c = float2(0,2); +warp_6=`float2 my_uv = (uv-0.5-cntr)*zoom; +warp_7=`float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); +warp_8=`float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); +warp_9=`float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_10=`my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; +warp_11=` +warp_12=` +warp_13=`ret.z = tex2D( sampler_fc_main, my_uv - floor(my_uv) ).z - 0.004; +warp_14=`ret.y = GetPixel(0.5 + (uv_orig-0.5)*0.992).y*0.98 - 0.004; +warp_15=`ret.x = GetPixel(0.5 + (uv_orig-0.5)*1.004).x*0.9 - 0.008; +warp_16=` +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_6=` float2 my_uv = uv + float2(dx.y,dy.y)*0.04; +comp_7=` +comp_8=`float3 base = GetPixel(my_uv) + GetBlur3(my_uv) - GetBlur1(my_uv)*0.8; +comp_9=`ret = lerp(float3(0.2,0,0.2),float3(1,1,0),base.z); +comp_10=`ret *= 1 - GetPixel(uv).y*0.5; +comp_11=`ret += GetPixel(uv).y*float3(0,0.5,1); +comp_12=`ret = lerp(ret, float3(1,1,1), (GetPixel(uv).x + GetBlur1(uv - (my_uv-uv)*6).x )*1 - GetBlur1(uv).y*0.5); +comp_13=`} diff --git a/presets/presets_tryptonaut/Flexi - supersonic.milk b/presets/presets_tryptonaut/Flexi - supersonic.milk new file mode 100755 index 0000000000..bde08577df --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - supersonic.milk @@ -0,0 +1,611 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.005 +fWaveScale=0.167 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=1.00183 +fShader=1.000 +zoom=0.96098 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.950 +wave_y=1.000 +ob_size=0.040 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=-0.002 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=457 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=3.80064 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t8 = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7= +wave_0_per_frame8=pi3 = 3.1415*2*0.3333; +wave_0_per_frame9= +wave_0_per_frame10=t = (q4+q5+q6)*0.005; +wave_0_per_frame11=c=5; +wave_0_per_frame12=r = 1-sin(t)*c; +wave_0_per_frame13= +wave_0_per_frame14=g = 1-sin(t+pi3)*c; +wave_0_per_frame15= +wave_0_per_frame16=b = 1-sin(t-pi3)*c; +wave_0_per_frame17= +wave_0_per_frame18= +wave_0_per_frame19=r = if(above(r,1),1,r); +wave_0_per_frame20=r = if(below(r,0),0,r); +wave_0_per_frame21=g = if(above(g,1),1,g); +wave_0_per_frame22=g = if(below(g,0),0,g); +wave_0_per_frame23=b = if(above(b,1),1,b); +wave_0_per_frame24=b = if(below(b,0),0,b); +wave_0_per_point1=t8 = -t8; +wave_0_per_point2=d = sqrt(1-sqr((sample-0.5)*2)); +wave_0_per_point3=z = sample*0.4 - 0.2; +wave_0_per_point4=x = sin(sample*100)*d*0.2; +wave_0_per_point5=y = cos(sample*100)*d*0.2; +wave_0_per_point6= +wave_0_per_point7=p = 0.1; +wave_0_per_point8=x = x*(1+t8*p); +wave_0_per_point9=y = y*(1+t8*p); +wave_0_per_point10=z = z*(1+t8*p); +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=dir = (t4-t6)*0.4 + (t1-t3)*(t8+1)*0.2; +wave_0_per_point14=d = 2 + pow(t2,3); +wave_0_per_point15=w = t5*0.4 + (t8+1)*t2*0.2; +wave_0_per_point16= +wave_0_per_point17=zz = z; +wave_0_per_point18=yy = y; +wave_0_per_point19=y = cos(w)*yy - sin(w)*zz; +wave_0_per_point20=z = sin(w)*yy + cos(w)*zz; +wave_0_per_point21= +wave_0_per_point22=xx = cos(dir)*x - sin(dir)*y; +wave_0_per_point23=yy = sin(dir)*x + cos(dir)*y; +wave_0_per_point24= +wave_0_per_point25=d = 0.5; +wave_0_per_point26=zoom = 2 - sqrt(t2)*1.1; +wave_0_per_point27=zm = sqrt(x*x+y*y+sqr(z+d))/d; +wave_0_per_point28= +wave_0_per_point29=x = 0.5 + zoom*xx*0.55/zm; +wave_0_per_point30=y = 0.5 + zoom*yy*0.55/zm; +wave_0_per_point31= +wave_0_per_point32=a = sigmoid(-z+0.1,25); +wavecode_1_enabled=1 +wavecode_1_samples=457 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=3.80064 +wavecode_1_smoothing=1.00000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t8 = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7= +wave_1_per_frame8=pi3 = 3.1415*2*0.3333; +wave_1_per_frame9= +wave_1_per_frame10=t = (q4+q5+q6)*0.005 + 2; +wave_1_per_frame11=c=5; +wave_1_per_frame12=r = 1-sin(t)*c; +wave_1_per_frame13= +wave_1_per_frame14=g = 1-sin(t+pi3)*c; +wave_1_per_frame15= +wave_1_per_frame16=b = 1-sin(t-pi3)*c; +wave_1_per_frame17= +wave_1_per_frame18= +wave_1_per_frame19=r = if(above(r,1),1,r); +wave_1_per_frame20=r = if(below(r,0),0,r); +wave_1_per_frame21=g = if(above(g,1),1,g); +wave_1_per_frame22=g = if(below(g,0),0,g); +wave_1_per_frame23=b = if(above(b,1),1,b); +wave_1_per_frame24=b = if(below(b,0),0,b); +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=d = sqrt(1-sqr((sample-0.5)*2)); +wave_1_per_point3=z = sample*0.4 - 0.2; +wave_1_per_point4=x = sin(sample*100)*d*0.2; +wave_1_per_point5=y = cos(sample*100)*d*0.2; +wave_1_per_point6= +wave_1_per_point7=p = 0.1; +wave_1_per_point8=x = x*(1+t8*p); +wave_1_per_point9=y = y*(1+t8*p); +wave_1_per_point10=z = z*(1+t8*p); +wave_1_per_point11= +wave_1_per_point12= +wave_1_per_point13=dir = (t4-t6)*0.4 + (t1-t3)*(t8+1)*0.2; +wave_1_per_point14=d = 2 + pow(t2,3); +wave_1_per_point15=w = t5*0.4 + (t8+1)*t2*0.2; +wave_1_per_point16= +wave_1_per_point17=zz = z; +wave_1_per_point18=yy = y; +wave_1_per_point19=y = cos(w)*yy - sin(w)*zz; +wave_1_per_point20=z = sin(w)*yy + cos(w)*zz; +wave_1_per_point21= +wave_1_per_point22=xx = cos(dir)*x - sin(dir)*y; +wave_1_per_point23=yy = sin(dir)*x + cos(dir)*y; +wave_1_per_point24= +wave_1_per_point25=d = 0.5; +wave_1_per_point26=zoom = 2 - sqrt(t2)*1.1; +wave_1_per_point27=zm = sqrt(x*x+y*y+sqr(z+d))/d; +wave_1_per_point28= +wave_1_per_point29=x = 0.5 + zoom*xx*0.55/zm; +wave_1_per_point30=y = 0.5 + zoom*yy*0.55/zm; +wave_1_per_point31= +wave_1_per_point32=a = sigmoid(-z+0.1,25); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.37242 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1*0.5; +wave_2_per_frame2=t2 = q2*0.5; +wave_2_per_frame3=t3 = q3*0.5; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 0.3; +wave_2_per_point4=xx = ((sample*343)%7 - 3.5)*s + value1; +wave_2_per_point5=yy = ((sample*49)%7 - 3.5)*s*0.5; +wave_2_per_point6=zz = ((sample*7)%7 - 3.5)*s*0.5; +wave_2_per_point7= +wave_2_per_point8=n = 300; +wave_2_per_point9=xx = (-0.5+sample)*2; +wave_2_per_point10=zz = cos(sample*n)*0.02; +wave_2_per_point11=yy = sin(sample*n)*0.02; +wave_2_per_point12= +wave_2_per_point13=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point14=d1 = 1; +wave_2_per_point15=xx = xx*d1*(1+value1); +wave_2_per_point16=yy = yy*d1*(1+value2); +wave_2_per_point17=zz = zz*d1; +wave_2_per_point18= +wave_2_per_point19=w = .3;//+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point20=m = d*d*2; +wave_2_per_point21=s1 = sin(t4*w + m*t1); +wave_2_per_point22=s2 = sin(t5*w + m*t2); +wave_2_per_point23=s3 = sin(t6*w + m*t3); +wave_2_per_point24=c1 = cos(t4*w + m*t1); +wave_2_per_point25=c2 = cos(t5*w + m*t2); +wave_2_per_point26=c3 = cos(t6*w + m*t3); +wave_2_per_point27= +wave_2_per_point28=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point29=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point30=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point31= +wave_2_per_point32=a = 2; +wave_2_per_point33=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point34=x = 0.5 + zoom*x1; +wave_2_per_point35=y = 0.5 + zoom*y1; +wave_2_per_point36= +wave_2_per_point37=pi3 = 3.1415*2*0.3333; +wave_2_per_point38=t = -xx+t5*.2; +wave_2_per_point39=c = 10; +wave_2_per_point40=r = sin(t)*c; +wave_2_per_point41= +wave_2_per_point42=g = sin(t+pi3)*c; +wave_2_per_point43= +wave_2_per_point44=b = sin(t-pi3)*c; +wave_2_per_point45= +wave_2_per_point46=j = 0.81; +wave_2_per_point47=//r = 0.25+xx*j; +wave_2_per_point48=//g = 0.25+yy*j; +wave_2_per_point49=//b = 0.25+zz*j; +wave_2_per_point50= +wave_2_per_point51=r = if(above(r,1),1,r); +wave_2_per_point52=r = if(below(r,0),0,r); +wave_2_per_point53=g = if(above(g,1),1,g); +wave_2_per_point54=g = if(below(g,0),0,g); +wave_2_per_point55=b = if(above(b,1),1,b); +wave_2_per_point56=b = if(below(b,0),0,b); +wave_2_per_point57= +wave_2_per_point58= +wave_2_per_point59=a = 2;//sigmoid(-z,1)*5.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.37242 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1*0.5; +wave_3_per_frame2=t2 = q2*0.5; +wave_3_per_frame3=t3 = q3*0.5; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.3; +wave_3_per_point4=xx = ((sample*343)%7 - 3.5)*s + value1; +wave_3_per_point5=yy = ((sample*49)%7 - 3.5)*s*0.5; +wave_3_per_point6=zz = ((sample*7)%7 - 3.5)*s*0.5; +wave_3_per_point7= +wave_3_per_point8=n = 300; +wave_3_per_point9=zz = (-0.5+sample)*2; +wave_3_per_point10=xx = cos(sample*n)*0.02; +wave_3_per_point11=yy = sin(sample*n)*0.02; +wave_3_per_point12= +wave_3_per_point13=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point14=d1 = 1; +wave_3_per_point15=xx = xx*d1*(1+value1); +wave_3_per_point16=yy = yy*d1*(1+value2); +wave_3_per_point17=zz = zz*d1; +wave_3_per_point18= +wave_3_per_point19=w = .3;//+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_3_per_point20=m = d*d*2; +wave_3_per_point21=s1 = sin(t4*w + m*t1); +wave_3_per_point22=s2 = sin(t5*w + m*t2); +wave_3_per_point23=s3 = sin(t6*w + m*t3); +wave_3_per_point24=c1 = cos(t4*w + m*t1); +wave_3_per_point25=c2 = cos(t5*w + m*t2); +wave_3_per_point26=c3 = cos(t6*w + m*t3); +wave_3_per_point27= +wave_3_per_point28=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point29=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point30=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point31= +wave_3_per_point32=a = 2; +wave_3_per_point33=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point34=x = 0.5 + zoom*x1; +wave_3_per_point35=y = 0.5 + zoom*y1; +wave_3_per_point36= +wave_3_per_point37=pi3 = 3.1415*2*0.3333; +wave_3_per_point38=t = -zz+t6*.2; +wave_3_per_point39=c = 10; +wave_3_per_point40=r = sin(t)*c; +wave_3_per_point41= +wave_3_per_point42=g = sin(t+pi3)*c; +wave_3_per_point43= +wave_3_per_point44=b = sin(t-pi3)*c; +wave_3_per_point45= +wave_3_per_point46=j = 0.81; +wave_3_per_point47=//r = 0.25+xx*j; +wave_3_per_point48=//g = 0.25+yy*j; +wave_3_per_point49=//b = 0.25+zz*j; +wave_3_per_point50= +wave_3_per_point51=r = if(above(r,1),1,r); +wave_3_per_point52=r = if(below(r,0),0,r); +wave_3_per_point53=g = if(above(g,1),1,g); +wave_3_per_point54=g = if(below(g,0),0,g); +wave_3_per_point55=b = if(above(b,1),1,b); +wave_3_per_point56=b = if(below(b,0),0,b); +wave_3_per_point57= +wave_3_per_point58= +wave_3_per_point59=a = 2;//sigmoid(-z,1)*5.0+0.0; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.42324 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.50330 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=t = -(q4+q5)*0.2; +shape_0_per_frame2=x = 0.5 + sin(t)*0.2; +shape_0_per_frame3=y = 0.5 + cos(t)*0.1; +shape_0_per_frame4=rad = 0.4 - cos(t)*0.3; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.42324 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.50330 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0; +shape_1_init2=vy = 0; +shape_1_per_frame1=t = -(q4+q5)*0.2; +shape_1_per_frame2=pi = asin(1)*2; +shape_1_per_frame3=x = 0.5 + sin(t+pi)*0.2; +shape_1_per_frame4=y = 0.5 + cos(t+pi)*0.1; +shape_1_per_frame5=rad = 0.4 - cos(t+pi)*0.3; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=1.00591 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.50330 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0; +shape_2_init2=vy = 0; +shape_2_per_frame1=x = 1.2; +shape_2_per_frame2=y = q3- 0.4; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.99595 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.100 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad = 0.5 + (q1-q2+q3)*1; +shape_3_per_frame2=ang = -(q4-q5)*0.2; +shape_3_per_frame3= +shape_3_per_frame4=pi3 = 3.1415*2*0.3333; +shape_3_per_frame5= +shape_3_per_frame6=t = (q4-2*q5+q6)*0.2; +shape_3_per_frame7=c=3; +shape_3_per_frame8=r = sin(t)*c; +shape_3_per_frame9= +shape_3_per_frame10=g = sin(t+pi3)*c; +shape_3_per_frame11= +shape_3_per_frame12=b = sin(t-pi3)*c; +shape_3_per_frame13= +shape_3_per_frame14= +shape_3_per_frame15=r = if(above(r,1),1,r); +shape_3_per_frame16=r = if(below(r,0),0,r); +shape_3_per_frame17=g = if(above(g,1),1,g); +shape_3_per_frame18=g = if(below(g,0),0,g); +shape_3_per_frame19=b = if(above(b,1),1,b); +shape_3_per_frame20=b = if(below(b,0),0,b); +shape_3_per_frame21= +shape_3_per_frame22=r2 = 1-r; +shape_3_per_frame23=g2 = 1-g; +shape_3_per_frame24=b2 = 1-b; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=vb = vb*0.95 + (1-vb)*pow(bass,2)*0.02; +per_frame_2=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_3=vm = vm*0.95 + (1-vm)*pow(mid,2)*0.02; +per_frame_4=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_5=vt = vt*0.95 + (1-vt)*pow(treb,2)*0.02; +per_frame_6=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_7=vvb = min(1,max(0,vvb)); +per_frame_8=vvm = min(1,max(0,vvm)); +per_frame_9=vvt = min(1,max(0,vvt)); +per_frame_10= +per_frame_11=q1 = vvb*2;//0.5 + vb - vvb; +per_frame_12=q2 = vvm*2;//0.5 + vm - vvm; +per_frame_13=q3 = vvt*2;//0.5 + vt - vvt; +per_frame_14= +per_frame_15=v=2; +per_frame_16= +per_frame_17=bb = bb - vvb*v; +per_frame_18=mm = mm - vvm*v; +per_frame_19=tt = tt - vvt*v; +per_frame_20= +per_frame_21=q4 = bb; +per_frame_22=q5 = mm; +per_frame_23=q6 = tt; +per_frame_24= +per_frame_25=pi3 = 3.1415*2*0.3333; +per_frame_26= +per_frame_27=t = (q4+q5+q6)*0.005; +per_frame_28=c=3; +per_frame_29=r = sin(t)*c; +per_frame_30= +per_frame_31=g = sin(t+pi3)*c; +per_frame_32= +per_frame_33=b = sin(t-pi3)*c; +per_frame_34= +per_frame_35=ob_r = min(1,max(0,r)); +per_frame_36=ob_g = min(1,max(0,g)); +per_frame_37=ob_b = min(1,max(0,b)); +per_pixel_1=pi = asin(1); +per_pixel_2= +per_pixel_3=x = x-0.5; +per_pixel_4=y = y- 0.5; +per_pixel_5= +per_pixel_6=d = (q4-q6)*0.4 + (rad-0.3)*(q1-q3)*2 + pi; +per_pixel_7=xx = sin(d)*x - cos(d)*y; +per_pixel_8=yy = cos(d)*x + sin(d)*y; +per_pixel_9= +per_pixel_10= +per_pixel_11=x = xx; +per_pixel_12=y = yy; +per_pixel_13= +per_pixel_14= +per_pixel_15=t = time*.2; +per_pixel_16=xh = x; +per_pixel_17=yh = y; +per_pixel_18= +per_pixel_19=w = (q4-q6)*0.8; +per_pixel_20=m = -1 + q2*2; +per_pixel_21=wv = pi-sin(w)*m; +per_pixel_22=wh = pi-cos(w)*m; +per_pixel_23=d = 8*sqrt(q2); +per_pixel_24=ww = 1.2; +per_pixel_25=ddx = sin(2*pi - wv -(x)*ww); +per_pixel_26=ddy = sin(2*pi - wh -(y)*ww); +per_pixel_27=rx = if(above(ddx*ddy,0),sin(wv)/ddx,0); +per_pixel_28=ry = if(above(ddy*ddy,0),sin(wh)/ddy,0); +per_pixel_29= +per_pixel_30=v = -(q2)*.1*(d/ww); +per_pixel_31= +per_pixel_32=ax = ax + sin(w)*v; +per_pixel_33=ay = ay + cos(w)*v; +per_pixel_34= +per_pixel_35=vx = if(equal(rx*ry,0),0,ax); +per_pixel_36=vy = if(equal(rx*ry,0),0,ay); +per_pixel_37= +per_pixel_38=dx = (-xh*rx*ry*d + vx*.001); +per_pixel_39=dy = (-yh*rx*ry*d + vy*.001); +per_pixel_40= +per_pixel_41=//zoom = 0.93; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` float3 pre = tex2D( sampler_main, uv_orig); +warp_5=` float3 warped = tex2D( sampler_main, uv -floor(uv)); +warp_6=` +warp_7=` ret = lerp( pre, warped, 0.5); +warp_8=` // darken (decay) over time +warp_9=` ret *= 0.90; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.00; //gamma +comp_5=` ret *= hue_shader; //old hue shader effect +comp_6=`} diff --git a/presets/presets_tryptonaut/Flexi - the distant point between.milk b/presets/presets_tryptonaut/Flexi - the distant point between.milk new file mode 100755 index 0000000000..a30773e383 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - the distant point between.milk @@ -0,0 +1,295 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=c_x = 0.5; +per_frame_init_3=c_y = 0.5; +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=rot = 0; +per_frame_4=zoom = 1; +per_frame_5=warp = 0; +per_frame_6= +per_frame_7=vol = bass*8 + mid*5 + treb*3; +per_frame_8=m = m*0.96 + vol*0.06; +per_frame_9=monitor = vol-m; +per_frame_10=beat = above(vol,res)*above(vol,m)*above(vol,10); +per_frame_11=diff = (1-beat)*diff + beat*(vol-res); +per_frame_12=res = beat*(vol + m*0.15) + (1-beat)*(res - (0.15+diff*0.03)*60/fps); +per_frame_13=res = max(0,res); +per_frame_14= +per_frame_15=r = if(beat, 0.02*(rand(200)-100)*0.01,r); +per_frame_16=rot = r; +per_frame_17= +per_frame_18=c_x = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_x); +per_frame_19=c_y = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_y); +per_frame_20=v = if(beat,0.035 + 0.025*(rand(200)-100)*0.01, v); +per_frame_21= +per_frame_22= +per_frame_23=q3 = c_x; +per_frame_24=q4 = c_y; +per_frame_25=q5 = v; +per_frame_26=q6 = beat; +per_pixel_1=d = (pow(sqrt(sqr(x-q3)+sqr(y-q4)),0.5)-0.); +per_pixel_2=v = q5; +per_pixel_3=dx = v*(x-q3)*d; +per_pixel_4=dy = v*(y-q4)*d; +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_6=`float3 rand = tex2D(sampler_noise_lq, dither_uv).xyz-0.5; +warp_7=` +warp_8=`float2 d = texsize.zw * 4; +warp_9=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_11=`d = lerp(uv_orig,uv,0.35); +warp_12=`float2 uv_y =d - float2(dx.y,dy.y)*texsize.zw*4; +warp_13=`float2 uv_z =d - float2(dx.z,dy.z)*texsize.zw*4; +warp_14=` +warp_15=`ret.y = GetPixel(uv_y).y - (GetBlur1(uv).y-GetPixel(uv_y).y)*0.024 - 0.009 + (1-GetPixel(uv_orig).x)*0.014 + rand*0.02; +warp_16=`ret.z = GetPixel(uv_z).z - (GetBlur1(uv).z-GetPixel(uv_z).z)*0.024 - 0.009 + (0+GetPixel(uv_orig).x)*0.014 + rand*0.02; +warp_17=` +warp_18=`ret.x = tex2D( sampler_fc_main, uv+rand*texsize.zw*.5 ).x; +warp_19=`ret.x += (ret.x - GetBlur3(uv).x)*0.4 + rand*0.0052; +warp_20=` +warp_21=`//ret = 0; +warp_22=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`d = texsize.zw*3; +comp_7=`dx = GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig - float2(1,0)*d); +comp_8=`dy = GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig - float2(0,1)*d); +comp_9=` +comp_10=`float z = GetPixel(uv-float2(dx.x,dy.x)*0.03).x*(1-GetPixel(uv+float2(dx.x,dy.x)*0.5).z); +comp_11=`float y = (1-GetPixel(uv-float2(dx.x,dy.x)*0.4).y)*(1-GetPixel(uv+float2(dx.x,dy.x)*0.03).x); +comp_12=` +comp_13=`ret = lerp(ret, float3(1,0.5,0), length(float2(dx.x,dy.x))*2.4); +comp_14=`ret = lerp(ret,float3(1,0,0),z)*(0.9-2*(dx+dy).z); +comp_15=`ret = lerp(ret,float3(1,1,1),y)*(0.9-2*(dx+dy).y); +comp_16=` +comp_17=`ret *= 1 - (dx+dy).x; +comp_18=`} diff --git a/presets/presets_tryptonaut/Flexi - working with infinity.milk b/presets/presets_tryptonaut/Flexi - working with infinity.milk new file mode 100755 index 0000000000..eb01839cd1 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi - working with infinity.milk @@ -0,0 +1,395 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=2.007 +fWarpScale=1.341 +fZoomExponent=4.40100 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),10 + 20*bass); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sb = equal(ita,0)*19 + equal(ita,1)*5 + equal(ita,2)*5 + equal(ita,3)*11; +wave_0_per_point15=sa = equal(ita,0)*7 + equal(ita,1)*15 + equal(ita,3)*2 + equal(ita,4)*1 + equal(ita,5)*3 + equal(ita,6)*11; +wave_0_per_point16=si = equal(ita,0)*6 + equal(ita,1)*9 + equal(ita,2)*14 + equal(ita,3)*5; +wave_0_per_point17=sc = equal(ita,0)*5 + equal(ita,1)*1 + equal(ita,2)*19 + equal(ita,3)*25; +wave_0_per_point18=sd = equal(ita,0)*9 + equal(ita,1)*14 + equal(ita,3)*20 + equal(ita,4)*9 + equal(ita,5)*13 + equal(ita,6)*5; +wave_0_per_point19=sf = equal(ita,0)*19 + equal(ita,1)*5 + equal(ita,2)*5; +wave_0_per_point20=sg = equal(ita,0)*20 + equal(ita,1)*18 + equal(ita,2)*21 + equal(ita,3)*20 + equal(ita,4)*8; +wave_0_per_point21=sh = equal(ita,0)*20 + equal(ita,1)*15 + equal(ita,3)*6 + equal(ita,4)*5 + equal(ita,5)*5 + equal(ita,6)*12; +wave_0_per_point22=se = equal(ita,0)*10 + equal(ita,1)*21 + equal(ita,2)*19 + equal(ita,3)*20; +wave_0_per_point23=sj = equal(ita,0)*15 + equal(ita,1)*14 + equal(ita,2)*3 + equal(ita,3)*5; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.570 +shapecode_0_y=0.410 +shapecode_0_rad=0.09234 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=10 +shapecode_1_x=0.570 +shapecode_1_y=0.410 +shapecode_1_rad=0.02293 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shape_1_per_frame1=x = rand(1000)/1000; +shape_1_per_frame2=y = rand(1000)/1000; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=zoom = 1; +per_frame_2=warp = 0.04; +per_frame_3=rot = 0; +per_frame_4=//before inversion +per_frame_5=scale = 3; +per_frame_6=angle = time*.01; +per_frame_7=translation_x = 0; +per_frame_8=translation_y = 0.02; +per_frame_9= +per_frame_10=//complex inverted +per_frame_11=iscale = 0.2; +per_frame_12=iangle = sin(time*0.1337)*0.3; +per_frame_13=itranslation_u = 0; +per_frame_14=itranslation_v = 0; +per_frame_15= +per_frame_16= +per_frame_17=// the m�bius transformation +per_frame_18=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_19=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_20=// so a/c and mu can be calculated outside of the shader +per_frame_21= +per_frame_22=a_r = cos(angle)*scale; +per_frame_23=a_i = sin(angle)*scale; +per_frame_24=b_r = translation_x; +per_frame_25=b_i = translation_y; +per_frame_26= +per_frame_27=c_r = -cos(iangle)*iscale; +per_frame_28=c_i = -sin(iangle)*iscale; +per_frame_29=d_r = itranslation_u; +per_frame_30=d_i = itranslation_v; +per_frame_31= +per_frame_32=// c^(-1) +per_frame_33=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_34=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_35= +per_frame_36=// a*c^(-1) +per_frame_37=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_38=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_39= +per_frame_40=// (bc-ad) +per_frame_41=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_42=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_43= +per_frame_44=// mu*c^(-1) +per_frame_45=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_46=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_47= +per_frame_48=q1 = ac_r; +per_frame_49=q2 = ac_i; +per_frame_50=q3 = mu_r; +per_frame_51=q4 = mu_i; +per_frame_52= +per_frame_53=q5 = c_r; +per_frame_54=q6 = c_i; +per_frame_55=q7 = d_r; +per_frame_56=q8 = d_i; +warp_1=`sampler sampler_cells; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float2 d = texsize.zw*12; +warp_7=` float3 dx = ( GetBlur3(uv + float2(1,0)*d) - GetBlur3(uv-float2(1,0)*d) ); +warp_8=` float3 dy = ( GetBlur3(uv + float2(0,1)*d) - GetBlur3(uv-float2(0,1)*d) ); +warp_9=` float2 my_uv = uv + float2(dx.x,dy.x)*texsize.zw*48; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.x = tex2D( sampler_fc_main, my_uv).x; +warp_14=` +warp_15=` +warp_16=` ret.x += (ret - GetBlur3(uv-floor(uv))).x*0.01 - 0.004; +warp_17=`float2 zoom = 1.75; +warp_18=`float2 c = float2(0.4,0.74); +warp_19=` +warp_20=` float2 my_uv2 = (uv_orig-0.5)*zoom; +warp_21=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_22=` +warp_23=` +warp_24=` d = texsize.zw*8; +warp_25=` float2 uv_d = my_uv2; +warp_26=` dx = ( GetBlur1(uv_d+float2(1,0)*d)-GetBlur1(uv_d-float2(1,0)*d) ); +warp_27=` dy = ( GetBlur1(uv_d+float2(0,1)*d)-GetBlur1(uv_d-float2(0,1)*d) ); +warp_28=` float2 uv_y = uv_d+float2(dx.y,dy.y)*texsize.zw*4; +warp_29=` +warp_30=`ret.y = tex2D( sampler_fc_main, uv_y).y; +warp_31=` +warp_32=`ret.z = max( GetPixel(uv).y, GetPixel(uv + float2(1,1)*texsize.zw*3).z-0.004); +warp_33=` +warp_34=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`//uv = 0.5 + (uv-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_6=`float2 ac = float2(q1,q2); +comp_7=`float2 mu = float2(q3,q4); +comp_8=`float2 c = float2(q5,q6); +comp_9=`float2 d = float2(q7,q8); +comp_10=` +comp_11=`float2 z = (uv-0.5); +comp_12=` +comp_13=`// (c*z + d) +comp_14=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d; +comp_15=`// mu/(cz+d) +comp_16=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_17=` +comp_18=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.9; +comp_19=` +comp_20=`uv = moebius; +comp_21=` +comp_22=`ret = pow(lerp(GetBlur3(uv),GetPixel(uv),0.6)*1.2-0.1,4).yxz*float3(2,0.5,1.4); +comp_23=`ret.yz -= ret.zx; +comp_24=`} diff --git a/presets/presets_tryptonaut/Flexi, BDRV, Aderrasi et al - Potion of Resurrection [rosswell].milk b/presets/presets_tryptonaut/Flexi, BDRV, Aderrasi et al - Potion of Resurrection [rosswell].milk new file mode 100755 index 0000000000..2e6ab5567b --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, BDRV, Aderrasi et al - Potion of Resurrection [rosswell].milk @@ -0,0 +1,404 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=1.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=1.766 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.600 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.100 +nMotionVectorsX=6.400 +nMotionVectorsY=4.800 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_0_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0008*cos(ma)); +wave_0_per_point5=my=my+(.0008*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.2)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.15774 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = 1.571; +shape_0_per_frame2=x = int(rand(11))*.1; +shape_0_per_frame3=y = int(rand(11))*.13; +shape_0_per_frame4= +shape_0_per_frame5=r = int(rand(100))*.01; +shape_0_per_frame6=g = int(rand(100))*.01; +shape_0_per_frame7=b = int(rand(100))*.01; +shape_0_per_frame8=r2 = int(rand(100))*.01; +shape_0_per_frame9=g2 = int(rand(100))*.01; +shape_0_per_frame10=b2 = int(rand(100))*.01; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=1.800 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q11 = 0.5/asin(1); +per_frame_1=wave_r = wave_r + 0.35*sin(1.14*time) + 0.16*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.36*sin(1.27*time) + 0.15*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.37*sin(1.284*time) + 0.15*sin(1.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = wave_g; +per_frame_7=ob_b = wave_r; +per_frame_8=ob_g = wave_b; +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_g; +per_frame_11=ib_g = wave_r; +per_frame_12= +per_frame_13=bb = bb*0.98 + bass*0.5; +per_frame_14=mm = mm*0.98 + mid*0.5; +per_frame_15=tt = tt*0.98 + treb*0.5; +per_frame_16= +per_frame_17=mx = max(max(bb,mm),tt); +per_frame_18=mn = min(min(bb,mm),tt); +per_frame_19= +per_frame_20=h1 = (bb-mn)/(mx-mn); +per_frame_21=h2 = (mm-mn)/(mx-mn); +per_frame_22=h3 = (tt-mn)/(mx-mn); +per_frame_23= +per_frame_24=v = 0.2/fps; +per_frame_25=bm = bm + (h1-h2)*v; +per_frame_26=mt = mt + (h2-h3)*v; +per_frame_27=bt = bt + (h1-h3)*v; +per_frame_28= +per_frame_29=w = bm; +per_frame_30=q3 = sin(w); +per_frame_31=q4 = cos(w); +per_frame_32= +per_frame_33= +per_frame_34=q10 = bm; +per_frame_35=q11 = mt; +per_frame_36=q12 = bt; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.15*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.165*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=six = sin(x); +per_pixel_6= +per_pixel_7=dx = dx + 0.01*sin(abs(12*y))*sin(time); +per_pixel_8=dy = dy + 0.01*sin(abs(12*x))*cos(time); +per_pixel_9=zoom = zoom + 0.0095*(sin(8+4*sin(0.2*time)*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_10=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_11=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_12=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_13=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); +per_pixel_14=dx = if(above(y,.93),.01,if(below(y,.01),if(below(x,.3),if(below(y,.5),0,-.01),-.01),0)); +per_pixel_15=dy = if(below(x,.05),.01,if(above(x,(0.94 - q7)),-.01,0)); +per_pixel_16=zoom = if(above(x,.09),if(below(x,.85),if(above(y,.09),if(below(y,.85),.95,1),1),1),1); +per_pixel_17=dy = if(below(y,.5),if(below(x,.3),.01,dy),dy); +per_pixel_18=rot = if(above(x,.09),if(below(x,.85),if(above(y,.09),if(below(y,.85),0.1*sin(sin(ang*0.1*ang)+rad*6+q8*.444),0),0),0),0); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*4; +warp_4=` float3 dx = ( 2*GetBlur1(uv+float2(1,0)*d)-2*GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( 2*GetBlur1(uv+float2(0,1)*d)-2*GetBlur1(uv-float2(0,1)*d) ); +warp_6=`float2 dz = float2(dx.x,dy.x)*texsize.zw; +warp_7=` +warp_8=`//ret = GetPixel(uv); +warp_9=`ret = 0; +warp_10=`ret.x = tex2d(sampler_fw_main,uv - dz).x - 0.0 - (GetBlur3(uv).x-GetBlur1(uv+dz).x) ; +warp_11=` +warp_12=`dz = -float2(dx.y,dy.y)*texsize.zw; +warp_13=`ret.y = tex2d(sampler_fw_main,uv - dz).y - 0.06 - (GetBlur2(uv).y-GetBlur1(uv+dz).y)*1.3 ; +warp_14=` +warp_15=`float zoom = 1.8-(bass_att-treb_att)*0.015; +warp_16=`float2 cntr = float2(0,0); +warp_17=`float2 c = float2(0.28,0.4); +warp_18=` +warp_19=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_20=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_21=`uv = my_uv2; +warp_22=`d = texsize.zw*4; +warp_23=`dx = ( 2*GetBlur1(uv+float2(1,0)*d)-2*GetBlur1(uv-float2(1,0)*d) ); +warp_24=`dy = ( 2*GetBlur1(uv+float2(0,1)*d)-2*GetBlur1(uv-float2(0,1)*d) ); +warp_25=`dz = float2(dx.z,dy.z)*texsize.zw*1; +warp_26=` +warp_27=`ret.z = GetPixel(saturate(my_uv2+dz)).z - 0.014; +warp_28=` +warp_29=`} +comp_1=`float2 complex_div(float2 numerator, float2 denominator){ +comp_2=` return float2( numerator.x*denominator.x + numerator.y*denominator.y, +comp_3=` numerator.y*denominator.x - numerator.x*denominator.y)/ +comp_4=` (denominator.x*denominator.x + denominator.y*denominator.y); +comp_5=`} +comp_6=` +comp_7=`float2 uv_polar(float2 domain, float2 center){ +comp_8=` float2 c = domain - center; +comp_9=` float rad_hq = length(c); +comp_10=` float ang_hq = atan2(c.x,c.y); +comp_11=` return float2(ang_hq*M_INV_PI_2, rad_hq); +comp_12=`} +comp_13=` +comp_14=`float2 uv_polar_logarithmic(float2 domain, float2 center, int fins, float log_factor, float2 coord){ +comp_15=` float2 polar = uv_polar(domain, center); +comp_16=` return float2(polar.x*fins+coord.x, log_factor*log(polar.y) + coord.y); +comp_17=`} +comp_18=` +comp_19=`float2 uv_moebius_transformation(float2 domain, float2 zeroPoint, float2 infinityPoint,float zoom){ +comp_20=` return complex_div((domain - zeroPoint)*zoom, domain - infinityPoint)+0.5; +comp_21=`} +comp_22=` +comp_23=`float2 uv_bipolar(float2 domain, float2 northPole, float2 southPole, int fins, float log_factor, float2 coord){ +comp_24=` float2 help_uv = uv_moebius_transformation(domain, northPole, southPole, 1); +comp_25=` return uv_polar_logarithmic(help_uv,0.5,fins,log_factor,coord); +comp_26=`} +comp_27=` +comp_28=` +comp_29=`float2 uv_rotate( float2 domain, float2 center, float sinw, float cosw, float scale){ +comp_30=` float2 uv_r = (domain-center); +comp_31=` return center + float2( cosw*uv_r.x - sinw*uv_r.y, sinw*uv_r.x + cosw*uv_r.y)*scale; +comp_32=`} +comp_33=` +comp_34=` +comp_35=`shader_body +comp_36=`{ +comp_37=`float2 uvo = uv; +comp_38=` +comp_39=`float2 rotate_uv = 0.5+uv_rotate(0 + (uv-0.5)*aspect.xy, 0, q3, q4, 2); +comp_40=`float2 bipolar_uv = uv_bipolar(rotate_uv,float2(0,0.5),float2(1,0.5), 2, 0.3, float2(q11,q12)); +comp_41=`float2 mirror_uv = 0.5 + (0.5 - abs( frac( bipolar_uv * 0.5 ) * 2.0 - 1.0 )); +comp_42=` +comp_43=`float2 d = texsize.zw*3; +comp_44=`float3 dx = ( 2*GetBlur1(mirror_uv+float2(1,0)*d)-2*GetBlur1(mirror_uv-float2(1,0)*d) ); +comp_45=`float3 dy = ( 2*GetBlur1(mirror_uv+float2(0,1)*d)-2*GetBlur1(mirror_uv-float2(0,1)*d) ); +comp_46=` +comp_47=`mirror_uv += float2(dx.x,dy.x)*texsize.zw*4; +comp_48=` +comp_49=`float3 aura = pow(hue_shader,4)*1.4; +comp_50=`float3 glow = 3; +comp_51=`float3 blob = float3(1,0.75,0)*0; +comp_52=` +comp_53=`float2 uv_red = mirror_uv; +comp_54=`ret = lerp(ret,1,(GetBlur1(uv_red).x)*(1-GetBlur2(uv_red).x)*aura); +comp_55=`ret = lerp(blob, ret, GetPixel(uv_red).x); +comp_56=`ret += (1-GetPixel(uv_red).x)*GetBlur1(uv_red).x*glow; +comp_57=` +comp_58=`mirror_uv-= float2(dx.x,dy.x)*texsize.zw*24; +comp_59=`dx = ( 2*GetBlur1(mirror_uv+float2(1,0)*d)-2*GetBlur1(mirror_uv-float2(1,0)*d) ); +comp_60=`dy = ( 2*GetBlur1(mirror_uv+float2(0,1)*d)-2*GetBlur1(mirror_uv-float2(0,1)*d) ); +comp_61=`float2 dz = +float2(-dx.y,dy.y)*0.25; +comp_62=`float3 bg = lerp(float3(1,0.7,0.2),float3(0.15,0,0.5),mirror_uv.x*0.8 - mirror_uv.y + 0.75+dz.x+dz.y-0.1)*(GetPixel(mirror_uv).y); +comp_63=`ret = lerp(ret,1,bg); +comp_64=` +comp_65=`mirror_uv = uv_rotate(0.5 + (uvo-0.5)*aspect.wz, 0.5, q3, q4, 1).yx; +comp_66=` +comp_67=`d = texsize.zw; +comp_68=`dx = ( 2*GetPixel(mirror_uv+float2(1,0)*d)-2*GetPixel(mirror_uv-float2(1,0)*d) ); +comp_69=`dy = ( 2*GetPixel(mirror_uv+float2(0,1)*d)-2*GetPixel(mirror_uv-float2(0,1)*d) ); +comp_70=`dz = -float2(dx.z,dy.z); +comp_71=` +comp_72=`ret = 1-lerp(ret,float3(0.9,0.9,1),1-GetPixel(mirror_uv+dz).z) ; +comp_73=`} diff --git a/presets/presets_tryptonaut/Flexi, Geiss and Rovastar - chaos layered tokamak.milk b/presets/presets_tryptonaut/Flexi, Geiss and Rovastar - chaos layered tokamak.milk new file mode 100755 index 0000000000..cbe94b4c27 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, Geiss and Rovastar - chaos layered tokamak.milk @@ -0,0 +1,480 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=7.75180 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=x = 0.5 + d*sample*(1-sample); +wave_1_per_point4=y = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04466 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.73458 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.030 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.66230 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2= +shape_1_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_1_per_frame6=ang =aang*4*asin(1); +shape_1_per_frame7=x = xx; +shape_1_per_frame8=y = yy; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.2*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv).x - 0.3; +warp_39=` +warp_40=`} +comp_1=`sampler sampler_seaweed; +comp_2=`shader_body +comp_3=`{ +comp_4=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_5=` float ang_lq = ang; +comp_6=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_7=` float rad_hq = length(uv_temp1); +comp_8=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_9=` +comp_10=` float2 uv2 = (uv - 0.5); +comp_11=` float rad2 = rad_lq*0.8; +comp_12=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_13=` +comp_14=` +comp_15=` // FIN TYPE +comp_16=` float fins = 6; +comp_17=` ang2 = frac(ang2*fins)/fins; +comp_18=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_19=` ang2 = abs(ang2 - 0.5/fins); +comp_20=` +comp_21=` +comp_22=` ang2 *= M_PI_2; +comp_23=`// uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_24=` +comp_25=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_26=` //uv.y = rad*rad; +comp_27=`// float srad = sqrt(rad)+ 0.05; +comp_28=` +comp_29=`// ret = tex2D(sampler_main, uv).xyz; +comp_30=`// ret = max(ret, tex2D(sampler_main, uv + 0.03*float2(cos(uv.y*27),sin(uv.x*39))).xyz); +comp_31=` +comp_32=` //ret += GetBlur1(uv) - 0.07; +comp_33=` //ret *= float3(1.3,0.8,0.5); +comp_34=` //ret *= 0.8; +comp_35=`ret = float3(0.9,0.5,0)*ret.z + float3(0.4,0,0.8)*ret.y; +comp_36=`} diff --git a/presets/presets_tryptonaut/Flexi, Martin, Phat, Zylot + EoS - one way trip trap proof of concept [epileptic zoom tunnel edit].milk b/presets/presets_tryptonaut/Flexi, Martin, Phat, Zylot + EoS - one way trip trap proof of concept [epileptic zoom tunnel edit].milk new file mode 100644 index 0000000000..4b8e016b9b --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, Martin, Phat, Zylot + EoS - one way trip trap proof of concept [epileptic zoom tunnel edit].milk @@ -0,0 +1,502 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.250 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.44415 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=v = 0.01; +wave_0_per_frame3=j = j + (bass)*0.01; +wave_0_per_frame4=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame5=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame6=t2 = j; +wave_0_per_frame7=t3 = j2; +wave_0_per_frame8=t4 = j3; +wave_0_per_frame9=//t5 = 0; +wave_0_per_frame10=k = k*0.99 + 10*mid/fps; +wave_0_per_frame11=t5 = -k; +wave_0_per_frame12= +wave_0_per_frame13=cl1 = cl1 + 0.002; +wave_0_per_frame14=cl1 = if(above(cl1,1),0,cl1); +wave_0_per_frame15=cl1 = if(below(cl1,0),1,cl1); +wave_0_per_frame16=t8 = cl1; +wave_0_per_frame17= +wave_0_per_frame18=cl2 = cl2 -1*q1; +wave_0_per_frame19=cl2 = if(above(cl2,1),0,cl2); +wave_0_per_frame20=cl2 = if(below(cl2,0),1,cl2); +wave_0_per_frame21=t7 = cl2; +wave_0_per_frame22= +wave_0_per_frame23=cl3 = cl3 +0.001; +wave_0_per_frame24=cl3 = if(above(cl3,1),0,cl3); +wave_0_per_frame25=cl3 = if(below(cl3,0),1,cl3); +wave_0_per_frame26=t6 = cl3; +wave_0_per_point1=xx = ((sample*0983624912364)%10000000+100)/10000000; +wave_0_per_point2=yy = ((xx*1896575575)%10000000+100)/10000000; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000; +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=d = sqrt(sqr(xx)+sqr(yy)+sqr(zz)); +wave_0_per_point7= +wave_0_per_point8=zz = zz + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point9=xx = xx + t7 - if(above(xx+t7,1),1,0) - 0.5; +wave_0_per_point10=yy = yy + t6 - if(above(yy+t6,1),1,0) - 0.5; +wave_0_per_point11= +wave_0_per_point12=v = 0.001; +wave_0_per_point13= +wave_0_per_point14=w = 1;// (sample*sin(time*0.3)*0.01-1); +wave_0_per_point15=bb = d*d*0.5; +wave_0_per_point16=n= 0.3; +wave_0_per_point17=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point18=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point19=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point20=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point21=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point22=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point23= +wave_0_per_point24=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point25=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point26=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_0_per_point27= +wave_0_per_point28=zoom = .5*(1/(z+0.5)); +wave_0_per_point29=x = 0.5 + zoom*x1 + sin(time*0.1)*0.;; +wave_0_per_point30=y = 0.5 + zoom*y1 + cos(time*0.16801)*0.; +wave_0_per_point31= +wave_0_per_point32=pi3 = 3.1415*2*0.3333; +wave_0_per_point33=t = z*2+t2*1; +wave_0_per_point34=c=3; +wave_0_per_point35=//r = sin(t)*c; +wave_0_per_point36= +wave_0_per_point37=//g = sin(t+pi3)*c; +wave_0_per_point38= +wave_0_per_point39=//b = sin(t-pi3)*c; +wave_0_per_point40= +wave_0_per_point41= +wave_0_per_point42=r = if(above(r,1),1,r); +wave_0_per_point43=r = if(below(r,0),0,r); +wave_0_per_point44=g = if(above(g,1),1,g); +wave_0_per_point45=g = if(below(g,0),0,g); +wave_0_per_point46=b = if(above(b,1),1,b); +wave_0_per_point47=b = if(below(b,0),0,b); +wave_0_per_point48= +wave_0_per_point49=a = 0.4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=9.94114 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.100 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2= +wave_1_per_frame3=t1 = 0.5; +wave_1_per_frame4=t2 = 0.9; +wave_1_per_point1=d = d*0.85 + (value1)*1; +wave_1_per_point2= +wave_1_per_point3=y = 0.5 + d*sample*(1-sample); +wave_1_per_point4=x = 0.9 - sample*0.8; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=5.92556 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.660 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9= +wave_2_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point11=dd = dd*0.95 + (value1); +wave_2_per_point12=ddd = dd*sample*(1-sample)*d; +wave_2_per_point13= +wave_2_per_point14=x = xx + (yy-yyy)*ddd; +wave_2_per_point15=y = yy - (xx-xxx)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=5.92556 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.650 +wavecode_3_g=0.450 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=xxx = xx; +wave_3_per_point3=yyy = yy; +wave_3_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point6= +wave_3_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_3_per_point9= +wave_3_per_point10=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point11=dd = dd*0.95 + (value1); +wave_3_per_point12=ddd = dd*sample*(1-sample)*d; +wave_3_per_point13=ddd = sample*(1-sample)*sin(sample*200)*d*0.05; +wave_3_per_point14=x = xx + (yy-yyy)*ddd; +wave_3_per_point15=y = yy - (xx-xxx)*ddd; +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = int(rand(1000))/1000; +shape_0_per_frame2=y = int(rand(1000))/1000; +shape_0_per_frame3=ang = int(rand(150))/100; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.300 +shapecode_1_rad=0.18348 +shapecode_1_ang=2.45044 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74934 +shapecode_1_r=1.000 +shapecode_1_g=0.100 +shapecode_1_b=0.100 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.100 +shapecode_1_b2=0.100 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=xx = 0.5; +shape_1_init2=yy = 0.4; +shape_1_per_frame1=x = q4 + 0.5; +shape_1_per_frame2=y = q5 + 0.5; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.430 +shapecode_2_y=0.600 +shapecode_2_rad=1.16781 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67165 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=xx = 0.5; +shape_2_init2=yy = 0.4; +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2= +shape_2_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame6=ang =aang*4*asin(1); +shape_2_per_frame7=x = xx; +shape_2_per_frame8=y = yy; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.500 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay =1; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); +per_frame_26= +per_frame_27=xpos=cos(musictime*0.6)*0.6; +per_frame_28=ypos=sin(musictime*0.4)*0.6; +per_frame_29=q4=xpos; +per_frame_30=q5=ypos; +per_frame_31= +per_frame_32=// these lines belong to the composite shader +per_frame_33=a = a*0.98 - (bass-treb)*0.01; +per_frame_34=q15 = a; +per_frame_35=v = v*0.96 + a*0.12; +per_frame_36=q16 = v; +per_frame_37=w = w - v*0.01; +per_frame_38=q18 = w; +per_frame_39=q19 = 0.5-(bass_att-treb_att)*0.15; +per_frame_40=d = d + (bass_att-0.5)*0.01*60/fps; +per_frame_41=d2 = d2 + (treb_att-0.5)*0.006*60/fps; +per_frame_42=q20 = d; +per_frame_43=q21 = d2; +per_frame_44=monitor = d2; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=1; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm*rd; +per_pixel_22=sy=zm*rd; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) +warp_1=`shader_body +warp_2=`{ +warp_3=`ret.x = GetPixel(uv).x; +warp_4=`ret.x -= (GetBlur1(uv).x - GetPixel(uv).x + 0.004)*0.04; +warp_5=` +warp_6=`float2 zoom = 1.8; +warp_7=`float2 c = float2(0.25,0.551); +warp_8=` +warp_9=` float2 my_uv2 = (uv_orig-0.5)*zoom; +warp_10=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_11=` +warp_12=`ret.y = tex2D(sampler_fc_main,my_uv2).y + 0.0038; +warp_13=` +warp_14=` float2 d = texsize.zw*12; +warp_15=` float2 uv_z = lerp(uv_orig,uv,0); +warp_16=` float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_17=` float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_18=` +warp_19=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_20=` +warp_21=` float2 uv_bg = lerp(uv_orig,uv,0.02) +warp_22=` + float2(dx.z,dy.z)*texsize.zw*4 +warp_23=` + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_24=` +warp_25=`ret.z = tex2D(sampler_fc_main,uv_bg).z +warp_26=` - (tex2D(sampler_fc_main,uv_bg).z +warp_27=` - GetBlur3(uv_bg).z)*0.02 +warp_28=` - 0.008 +warp_29=` + (tex2D(sampler_noise_lq, dither_uv).z-0.5)*0.1; +warp_30=` +warp_31=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*aspect.xy; +comp_5=`rs.x = ang/3.14 + rad*(q15-q16) - q18; +comp_6=`rs.y = .1/(.05+length (uv-0.5)*1.4)+q21; +comp_7=` +comp_8=`uv = frac(rs); +comp_9=` +comp_10=`float2 hor = float2 (texsize.z,0)*4; +comp_11=`float2 ver = float2 (0,texsize.w)*4; +comp_12=`float dx = lum(GetBlur1 (uv-hor) - GetBlur1 (uv+hor)); +comp_13=`float dy = lum(GetBlur1 (uv-ver) - GetBlur1 (uv+ver)); +comp_14=`float2 dz = float2 (dx,dy); +comp_15=` +comp_16=`float3 ret1 = tex2D(sampler_main, uv)*4; +comp_17=` +comp_18=`uv = .4*cos(uv*3.14*4 - float2(0,10)*(q21+q20)) - 4*dz;; +comp_19=`float3 dots = saturate(.02/length(uv))*hue_shader; +comp_20=` +comp_21=`ret = pow(2*dots*(ret1+1)-0.04,0.8); +comp_22=`ret = lerp(ret,ret.zxy,q19).zxy; +comp_23=`//ret = dots; +comp_24=`} diff --git a/presets/presets_tryptonaut/Flexi, Rovastar + Geiss - Fractopia vs bas relief.milk b/presets/presets_tryptonaut/Flexi, Rovastar + Geiss - Fractopia vs bas relief.milk new file mode 100755 index 0000000000..9fd6141f93 --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, Rovastar + Geiss - Fractopia vs bas relief.milk @@ -0,0 +1,340 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.136 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.600 +fModWaveAlphaEnd=1.600 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.040 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample); +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.99596 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=//wave_x = xpos + 0.5; +per_frame_23=//wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).z; // first julia fractal iteration +warp_5=`ret.y = lerp(lerp(tex2D( sampler_fc_main, uv_m ).x, ret.x,0.5), +warp_6=` GetPixel(uv_orig).y, +warp_7=` 0.75); // 75% of motion blur to the green channel +warp_8=` +warp_9=` +warp_10=`float2 d = texsize.zw*6; +warp_11=`float2 uv_z = (uv_orig-0.5)*0.998 + 0.5; // a small dose of zoom-in +warp_12=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_13=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_14=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_15=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_16=` tex2d(sampler_fc_main,uv_z).z); +warp_17=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` +comp_23=` //ret *= 1.5; //old gamma effect +comp_24=`} diff --git a/presets/presets_tryptonaut/Flexi, Stahlregen, Nitorami + Shifter - shader authoring motivation set.milk b/presets/presets_tryptonaut/Flexi, Stahlregen, Nitorami + Shifter - shader authoring motivation set.milk new file mode 100755 index 0000000000..f3e476e97d --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, Stahlregen, Nitorami + Shifter - shader authoring motivation set.milk @@ -0,0 +1,425 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.545 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.100 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=3.04777 +fShader=0.000 +zoom=1.01730 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=se = equal(ita,0)*3 + equal(ita,1)*8 + equal(ita,2)*1 + equal(ita,3)*15 + equal(ita,4)*19; +wave_0_per_point15=sf = equal(ita,0)*16 + equal(ita,1)*12 + equal(ita,2)*1 + equal(ita,3)*25; +wave_0_per_point16=sc = equal(ita,0)*13 + equal(ita,1)*1 + equal(ita,2)*7 + equal(ita,3)*9 + equal(ita,4)*3; +wave_0_per_point17=sd = equal(ita,0)*18 + equal(ita,1)*5 + equal(ita,2)*13 + equal(ita,3)*9 + equal(ita,4)*24; +wave_0_per_point18=sb = equal(ita,0)*19 + equal(ita,1)*8 + equal(ita,2)*1 + equal(ita,3)*4 + equal(ita,4)*5; +wave_0_per_point19=sj = equal(ita,0)*6 + equal(ita,1)*21 + equal(ita,2)*14; +wave_0_per_point20=sg = equal(ita,0)*5 + equal(ita,1)*20 + equal(ita,2)*8 + equal(ita,3)*5 + equal(ita,4)*18 + equal(ita,5)*5 +wave_0_per_point21= + equal(ita,6)*1 + equal(ita,7)*12; +wave_0_per_point22=sh = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*14 + equal(ita,3)*4 + equal(ita,4)*6 + equal(ita,5)*21 +wave_0_per_point23= + equal(ita,6)*3 + equal(ita,7)*11; +wave_0_per_point24=si = equal(ita,0)*6 + equal(ita,1)*14 + equal(ita,2)*15 + equal(ita,3)*18 + equal(ita,4)*4; +wave_0_per_point25=sa = equal(ita,0)*2 + equal(ita,1)*12 + equal(ita,2)*5 + equal(ita,3)*14 + equal(ita,4)*4 +wave_0_per_point26= + equal(ita,5)*5 + equal(ita,6)*4; +wave_0_per_point27= +wave_0_per_point28=lr = if(sw,lr,rand(10)); +wave_0_per_point29=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point30= +wave_0_per_point31=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point32=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point33=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point34=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point35=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point36=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point37=vg = equal(let,1); +wave_0_per_point38=vh = equal(let,9) + equal(let,20); +wave_0_per_point39=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point40=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point41=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point42=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point43=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point44=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point45=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point46=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point47=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point48=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point49=vs = equal(let,22); +wave_0_per_point50=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point51= +wave_0_per_point52=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point53= +wave_0_per_point54=a = a*below(ita,8)*q1; +wave_0_per_point55= +wave_0_per_point56=x = mx + vx*sz*.75; +wave_0_per_point57=y = my + vy*sz*1.5; +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.000 +wavecode_1_b=0.400 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wave_1_per_point1=x=rand(1000)*0.001; +wave_1_per_point2=y=rand(1000)*0.001; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12772 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.660 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.25230 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.990 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=//adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5= +shape_1_per_frame6=x= q28; +shape_1_per_frame7=y= q29; +shape_1_per_frame8=rad=q32; +shape_1_per_frame9=ang= if(equal(instance,0),q30,q31); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.25237 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.25133 +shapecode_2_tex_zoom=1.13600 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.990 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=//adv=adv+(bass*bass)/15; +shape_2_per_frame3= +shape_2_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_2_per_frame5= +shape_2_per_frame6=x= q23; +shape_2_per_frame7=y= q24; +shape_2_per_frame8=rad=q27; +shape_2_per_frame9=ang= if(equal(instance,0),q25,q26); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %2; +per_frame_9= +per_frame_10= +per_frame_11=d_x = if(is_beat, (rand(2000)-1000)*0.001 , d_x); +per_frame_12=d_y = if(is_beat, (rand(2000)-1000)*0.001 , d_y); +per_frame_13=r = if(is_beat, (rand(2000)-1000)*0.001 , r); +per_frame_14=z = if(is_beat, rand(1000)*0.001 , z); +per_frame_15=zoom = 1.03 + z*0.06; +per_frame_16=rot = r*0.06; +per_frame_17=dx = d_x*0.01; +per_frame_18=dy = d_y*0.01; +per_frame_19=q1 = 1; +per_frame_20= +per_frame_21=q23 = rand(1000)/1000; +per_frame_22=q24 = rand(1000)/1000; +per_frame_23=q25 = (rand(1000)/1000)*6.28; +per_frame_24=q26 = q25 - 3.14; +per_frame_25=q27 = (rand(1000)/12000)+0.04; +per_frame_26= +per_frame_27=q28 = rand(1000)/1000; +per_frame_28=q29 = rand(1000)/1000; +per_frame_29=q30 = (rand(1000)/1000)*6.28; +per_frame_30=q31 = q30 - 3.14; +per_frame_31=q32 = (rand(1000)/14000)+0.04; +per_frame_32= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`// red channel - the soft background with a spreading factor +warp_5=` +warp_6=` float2 d = texsize.zw * 8; // the distance in pixels where the gradient is calculated from +warp_7=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_8=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_9=` // working with gradients in the pic as motion vectors +warp_10=` +warp_11=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 // makes the graininess of the fur +warp_12=` // 0.5 (very raw) - 3 (fine leather) +warp_13=` + rand_frame.xy; // needs to be set to keep an overall randomness +warp_14=` +warp_15=` float2 uv_bg = lerp(uv_orig,uv,0.4) // scaling the input motion vector down, useful for a lower layer +warp_16=` + float2(dx.x,dy.x)*texsize.zw *2; // important: this is the spreading factor. +warp_17=` // 1 to 8 are good values +warp_18=` // (dependent on the distance the gradient is taken from) +warp_19=` +warp_20=` ret.x = GetPixel(uv_bg).x +warp_21=` - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x) * 0.02 // this part darkens the most contrasty parts only +warp_22=` // try differnet blur levels too +warp_23=` - 0.004 // overall fade to black +warp_24=` // the play of the upper two factors makes the 3D impact +warp_25=` +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.12; // intensity of the hairs (0.04 - 0.4) +warp_26=` +warp_27=` +warp_28=`// green: nice fading clouds - diffusion dissolution +warp_29=` +warp_30=`float2 uv_mid = lerp(uv_orig,uv,0.3) +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*3; +warp_31=` ret.y = GetPixel(uv_mid).y - 0.004; +warp_32=` +warp_33=` +warp_34=`// blue channel +warp_35=` +warp_36=`float2 uv_fg = uv; +warp_37=` ret.z = GetPixel(uv_fg).z; +warp_38=` ret.z += (ret.z - GetBlur1(uv_fg).z)*0.1 - 0.015; // assuring there will not be any solid areas - breaking up effect +warp_39=` +warp_40=`} +comp_1=`float2 d, uv_y; +comp_2=`float3 dx, dy; +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=` d = texsize.zw*8; +comp_7=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=` +comp_10=`float3 base = GetPixel(uv); +comp_11=`float3 emboss = (-dx + dy + 1)*1.2; +comp_12=` +comp_13=` d = texsize.zw*2; +comp_14=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_15=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_16=` +comp_17=`float grad = length(float2(dx.x,dy.x)); +comp_18=` +comp_19=`ret = lerp( float3(0.5,0.4,0.6)*base.x*emboss.x, +comp_20=` float3(8,5,2)*grad, +comp_21=` grad*4.2 +comp_22=` ); +comp_23=`ret = lerp(ret,4*ret,GetPixel(uv).y*0.5-GetBlur1(uv).z*0.3*float3(0.3,1,1)); +comp_24=` +comp_25=`grad = length(float2(dx.z,dy.z)); +comp_26=`ret = lerp(ret, float3(2,2,0), grad*0.7); +comp_27=`} +comp_28=` diff --git a/presets/presets_tryptonaut/Flexi, fishbrain + Martin - witchery.milk b/presets/presets_tryptonaut/Flexi, fishbrain + Martin - witchery.milk new file mode 100755 index 0000000000..40995fd79c --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, fishbrain + Martin - witchery.milk @@ -0,0 +1,347 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.300 +wavecode_0_b=0.750 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.400 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.11589 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=c_x = 0.5; +per_frame_init_3=c_y = 0.5; +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=rot = 0; +per_frame_4=zoom = 1; +per_frame_5=warp = 0; +per_frame_6= +per_frame_7=vol = bass*8 + mid*5 + treb*3; +per_frame_8=m = m*0.96 + vol*0.06; +per_frame_9=monitor = vol-m; +per_frame_10=beat = above(vol,res)*above(vol,m)*above(vol,10); +per_frame_11=diff = (1-beat)*diff + beat*(vol-res); +per_frame_12=res = beat*(vol + m*0.15) + (1-beat)*(res - (0.15+diff*0.03)*60/fps); +per_frame_13=res = max(0,res); +per_frame_14= +per_frame_15=r = if(beat, 0.02*(rand(200)-100)*0.01,r); +per_frame_16=rot = r; +per_frame_17= +per_frame_18=c_x = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_x); +per_frame_19=c_y = if(beat,0.5 + 0.5*(rand(200)-100)*0.01, c_y); +per_frame_20=v = if(beat,0.035 + 0.025*(rand(200)-100)*0.01, v); +per_frame_21= +per_frame_22= +per_frame_23=q3 = c_x; +per_frame_24=q4 = c_y; +per_frame_25=q5 = v; +per_frame_26=q6 = beat; +per_pixel_1=d = (pow(sqrt(sqr(x-q3)+sqr(y-q4)),0.5)-0.); +per_pixel_2=v = q5; +per_pixel_3=dx = v*(x-q3)*d; +per_pixel_4=dy = v*(y-q4)*d; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*64)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = dots + GetPixel(uv)*12*dots2; +comp_22=`//ret = GetPixel(uv); +comp_23=`} diff --git a/presets/presets_tryptonaut/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk b/presets/presets_tryptonaut/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk new file mode 100755 index 0000000000..b6f93cea4e --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, fishbrain, Geiss + Martin - tokamak witchery.milk @@ -0,0 +1,338 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=1.000 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.300 +wavecode_0_b=0.750 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.500 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.400 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.11589 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=warp = 0; +per_frame_7=zoom = 1; +per_frame_8=bb = bb*0.99 + bass*0.02; +per_frame_9=mm = mm*0.99 + mid*0.02; +per_frame_10=tt = tt*0.99 + treb*0.02; +per_frame_11= +per_frame_12=mx = max(max(bb,mm),tt); +per_frame_13=mn = min(min(bb,mm),tt); +per_frame_14= +per_frame_15=ob_r = (bb-mn)/(mx-mn); +per_frame_16=ob_b = (mm-mn)/(mx-mn); +per_frame_17=ob_g = (tt-mn)/(mx-mn); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.05*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*64)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = dots + GetPixel(uv)*12*dots2; +comp_22=`//ret = GetPixel(uv); +comp_23=`} diff --git a/presets/presets_tryptonaut/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk b/presets/presets_tryptonaut/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk new file mode 100755 index 0000000000..8ec802c5ea --- /dev/null +++ b/presets/presets_tryptonaut/Flexi, martin + geiss - dedicated to the sherwin maxawow.milk @@ -0,0 +1,321 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.510 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50126 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99996 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+sin(time*0.618)*0.2; +shape_0_per_frame2=y = 0.5+cos(time*1.618)*0.2; +shape_0_per_frame3=rad = bass*0.05; +shape_0_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_0_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_0_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50126 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+sin(time*2.618)*0.3; +shape_1_per_frame2=y = 0.5+cos(time*3.14)*0.3; +shape_1_per_frame3=rad = bass*0.05; +shape_1_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_1_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_1_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shape_1_per_frame7= +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.50126 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99980 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+sin(-time*2.618)*0.4; +shape_2_per_frame2=y = 0.5+cos(-time*1.14)*0.4; +shape_2_per_frame3=rad = bass*0.05; +shape_2_per_frame4=border_r = 1-(sin(time*1.25)*0.3+0.7); +shape_2_per_frame5=border_g = 1-(sin(time)*0.3+0.3); +shape_2_per_frame6=border_b = 1-(sin(time/3)*0.5+0.5); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1= +per_frame_2=//zoom = 0.99; +per_frame_3=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_4=ib_g = sin(time*4)*0.3+0.3; +per_frame_5=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_6=wave_r = 1- ib_r; +per_frame_7=wave_g = 1- ib_g; +per_frame_8=wave_b = 1- ib_b; +per_frame_9=//wave_mystery = -1+bass/2; +per_frame_10=wave_x = 0.5+sin(time*3)*0.3; +per_frame_11=wave_y = 0.5+cos(time*2.187)*0.3; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*2 + rand_frame.xy; +warp_5=` uv+= (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw; +warp_6=` +warp_7=` // PAINTERLY EFFECT: +warp_8=` float2 t = -0.004 + 0.04*saturate(float2(bass,treb)-1); +warp_9=` float2 uv2 = uv; +warp_10=` float2 delta2 = texsize.zw*float2(1,1); +warp_11=` float3 blurry_color = tex2D( sampler_main, +warp_12=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_13=` uv2.xy += (blurry_color.xy-0.4) * t; +warp_14=` //uv2.xy -= (blurry_color.zx-0.37) * s; +warp_15=` +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_18=` +warp_19=` // darken over time +warp_20=` ret -= 0.0008 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = dots + GetPixel(uv)*12*dots2; +comp_22=`} diff --git a/presets/presets_tryptonaut/Forum collaboration thread - second try #4 [Goody(2), Stahlregen (2)].milk b/presets/presets_tryptonaut/Forum collaboration thread - second try #4 [Goody(2), Stahlregen (2)].milk new file mode 100755 index 0000000000..41fb391b3d --- /dev/null +++ b/presets/presets_tryptonaut/Forum collaboration thread - second try #4 [Goody(2), Stahlregen (2)].milk @@ -0,0 +1,266 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818 +fWaveScale=2.365 +fWaveSmoothing=0.648 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=75.68355 +fShader=0.000 +zoom=1.02978 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.700 +mv_g=0.700 +mv_b=0.700 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1 = 0.5+0.4*sin(0.43*time+0.12*bass_att); +per_frame_2=q2 = 0.5+0.4*sin(0.63*time+0.14*bass_att); +per_frame_3=q3 = 0.5+0.4*sin(0.83*time+0.16*bass_att); +per_frame_4= +per_frame_5=wave_mystery = rand(150)*0.01 - rand(150)*0.01; +per_pixel_1= +per_pixel_2=//Have fun with the shaders kids! +per_pixel_3= +per_pixel_4=//xy transform code (Yes, it is based off of Flexi's from the previous collaboration) +per_pixel_5=xv = sin(time*.333)*x -cos(time*.667)*x; +per_pixel_6=yv = cos(time*.333)*y +sin(time*.667)*y; +per_pixel_7=x = xv; +per_pixel_8=y = yv; +per_pixel_9=//end x/y transform code +per_pixel_10= +per_pixel_11=sx=sx+.075*sin(x*3); +per_pixel_12=sy=sy+.075*sin(y*3.1); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur by Geiss +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken (decay) over time +warp_16=` ret = (ret-0.005)*0.98; //or try: ret -= 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.25; +comp_5=` ret = lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),(0.5*rand_preset+0.5*_qa.xyz)*ret); +comp_6=` ret *= ret; //darken +comp_7=` //ret *= sqrt(ret); //brighten +comp_8=` //ret = 1-ret; //invert +comp_9=` +comp_10=`} diff --git a/presets/presets_tryptonaut/Forum collaboration thread - second try #6 [Goody(2), Stahlregen (3), fed (1)].milk b/presets/presets_tryptonaut/Forum collaboration thread - second try #6 [Goody(2), Stahlregen (3), fed (1)].milk new file mode 100755 index 0000000000..897b059701 --- /dev/null +++ b/presets/presets_tryptonaut/Forum collaboration thread - second try #6 [Goody(2), Stahlregen (3), fed (1)].milk @@ -0,0 +1,282 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818 +fWaveScale=1.107 +fWaveSmoothing=0.648 +fWaveParam=-0.900 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=75.68355 +fShader=0.000 +zoom=1.02978 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.700 +mv_g=0.700 +mv_b=0.700 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1 = 0.5+0.4*sin(0.43*time+0.12*bass_att); +per_frame_2=q2 = 0.5+0.4*sin(0.63*time+0.14*bass_att); +per_frame_3=q3 = 0.5+0.4*sin(0.83*time+0.16*bass_att); +per_frame_4= +per_frame_5=wave_mystery = rand(150)*0.01 - rand(150)*0.01; +per_pixel_1= +per_pixel_2=//Have fun with the shaders kids! +per_pixel_3= +per_pixel_4=//xy transform code (Yes, it is based off of Flexi's from the previous collaboration) +per_pixel_5=xv = sin(time*.333)*x -cos(time*.667)*x; +per_pixel_6=yv = cos(time*.333)*y +sin(time*.667)*y; +per_pixel_7=x = xv; +per_pixel_8=y = yv; +per_pixel_9=//end x/y transform code +per_pixel_10= +per_pixel_11=sx=sx+.075*sin(x*3); +per_pixel_12=sy=sy+.075*sin(y*3.1); +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` // motion blur by Geiss +warp_6=` // 'v' points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` float3 s; +warp_9=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_10=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_12=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_13=` +warp_14=` +warp_15=`ret -= .5*GetBlur1(uv); +warp_16=`ret += tex2D(sampler_fw_clouds,uv)*0.25; +warp_17=` +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret-0.005)*0.98; //or try: ret -= 0.004; +warp_21=` +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 orig=tex2D(sampler_main,uv); +comp_5=`float3 nex=tex2D(sampler_main,float2(uv.x+0.001,uv.y)); +comp_6=` +comp_7=`if(abs(orig.x+orig.y+orig.z-nex.x-nex.y-nex.z)>0.1) +comp_8=`{ret=GetBlur2(uv);} +comp_9=`else{ret=GetBlur3(uv);}; +comp_10=` +comp_11=`ret += .66*GetBlur2(uv); +comp_12=` +comp_13=`ret *= 1.75; +comp_14=`ret = lum(ret); +comp_15=`ret = lerp(.75*ret,ret*(GetBlur3(uv)-GetBlur1(uv)),(0.5*rand_preset+0.5*_qa.xyz)*ret); +comp_16=`ret *= ret; //darken +comp_17=`//ret *= ret; +comp_18=`//ret *= sqrt(ret); //brighten +comp_19=`//ret = 1-ret; //invert +comp_20=`} diff --git a/presets/presets_tryptonaut/Forum collaboration thread - second try #6c1.5 [Goody(2), Stahlregen (3.5), fed (1)].milk b/presets/presets_tryptonaut/Forum collaboration thread - second try #6c1.5 [Goody(2), Stahlregen (3.5), fed (1)].milk new file mode 100755 index 0000000000..2763089ff6 --- /dev/null +++ b/presets/presets_tryptonaut/Forum collaboration thread - second try #6c1.5 [Goody(2), Stahlregen (3.5), fed (1)].milk @@ -0,0 +1,283 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818 +fWaveScale=1.002 +fWaveSmoothing=0.648 +fWaveParam=-0.900 +fModWaveAlphaStart=0.410 +fModWaveAlphaEnd=0.900 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.04909 +fShader=0.000 +zoom=1.02970 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.700 +mv_g=0.700 +mv_b=0.700 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1 = 0.5+0.4*sin(0.43*time+0.12*bass_att); +per_frame_2=q2 = 0.5+0.4*sin(0.63*time+0.14*bass_att); +per_frame_3=q3 = 0.5+0.4*sin(0.83*time+0.16*bass_att); +per_frame_4= +per_frame_5=wave_mystery = rand(150)*0.01 - rand(150)*0.01; +per_pixel_1= +per_pixel_2=//Have fun with the shaders kids! +per_pixel_3= +per_pixel_4=//xy transform code (Yes, it is based off of Flexi's from the previous collaboration) +per_pixel_5=xv = sin(time*.333)*x -cos(time*.667)*x; +per_pixel_6=yv = cos(time*.333)*y +sin(time*.667)*y; +per_pixel_7=x = xv; +per_pixel_8=y = yv; +per_pixel_9=//end x/y transform code +per_pixel_10= +per_pixel_11=sx=sx+.075*sin(x*3); +per_pixel_12=sy=sy+.075*sin(y*3.1); +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` // motion blur by Geiss +warp_6=` // 'v' points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` float3 s; +warp_9=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_10=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_12=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_13=` +warp_14=` +warp_15=`ret -= .5*GetBlur1(uv); +warp_16=`ret += tex2D(sampler_fw_clouds,uv)*0.15; +warp_17=` +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret-0.005)*0.98; //or try: ret -= 0.004; +warp_21=` +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 orig=tex2D(sampler_main,uv); +comp_5=`float3 nex=tex2D(sampler_main,float2(uv.x+0.001,uv.y)); +comp_6=` +comp_7=`if(abs(orig.x+orig.y+orig.z-nex.x-nex.y-nex.z)>0.1) +comp_8=`{ret=GetBlur2(uv);} +comp_9=`else{ret=GetBlur3(uv);}; +comp_10=` +comp_11=`ret += 1.5*GetBlur3(uv)-GetBlur1(uv); +comp_12=` +comp_13=`ret *= 2.25; +comp_14=`ret = lum(ret); +comp_15=`float3 hue_shader_x = (hue_shader*(1+treb_att))-(treb_att-1.75); +comp_16=`ret = lerp(.75*ret,ret*(GetBlur3(uv)-GetBlur1(uv)),(0.1*rand_preset+0.5*hue_shader_x+0.5*_qa.xyz)*ret); +comp_17=`ret *= ret; //darken +comp_18=`//ret *= ret; +comp_19=`//ret *= sqrt(ret); //brighten +comp_20=`//ret = 1-ret; //invert +comp_21=`} diff --git a/presets/presets_tryptonaut/Future Ligh Show AdamFX 2 martin.milk b/presets/presets_tryptonaut/Future Ligh Show AdamFX 2 martin.milk new file mode 100755 index 0000000000..06b4f32ceb --- /dev/null +++ b/presets/presets_tryptonaut/Future Ligh Show AdamFX 2 martin.milk @@ -0,0 +1,312 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_g = wave_g + 0.5*cos(time*2.23); +per_frame_2=wave_b = wave_b + 0.5*tan(time*2.33); +per_pixel_1=rot = (0.01*time-rad); +per_pixel_2=zoom = 1 + 0.1*sin(0.1*bass) - 0.1*tan(0.1*treb) +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} diff --git a/presets/presets_tryptonaut/Fvese & Idiot24-7 - Rearview Mirror.milk b/presets/presets_tryptonaut/Fvese & Idiot24-7 - Rearview Mirror.milk new file mode 100755 index 0000000000..4810294df9 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese & Idiot24-7 - Rearview Mirror.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.280000 +fDecay=0.970000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.660119 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.607700 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=0.999900 +wave_r=0.600000 +wave_g=0.400000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r=wave_r*sin(bass+mid); +per_frame_2=wave_b=wave_b-.4*sin(time*bass); +per_frame_3=wave_g=wave_g+.6*cos(time*mid-bass); +per_frame_4=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=decay = decay - 0.05*equal(frame%16,0); +per_frame_7=rot = rot + bass_eff/bass_thresh-0.05; +per_frame_8=monitor = rot; +per_pixel_1=zoom=pow(.8+x&.8+y,1+x&1+y)+.1; diff --git a/presets/presets_tryptonaut/Fvese - A Blur.milk b/presets/presets_tryptonaut/Fvese - A Blur.milk new file mode 100755 index 0000000000..befc1b086b --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - A Blur.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.500000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=0.998100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.597149 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000005 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=43.200001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.500000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = wave_x + 0.4*sin(1.85*time); +per_frame_5=wave_y = wave_y + 0.2*sin(1.85*time); +per_frame_6=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_7=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=decay = decay - 0.05*equal(frame%16,0); +per_frame_11=zoom = zoom + 0.05 * cos(ang-ang); +per_frame_12=rot = bass_eff/bass_thresh-0.05; +per_frame_13=monitor=zoom; +per_pixel_1=sx=sx+0.07*sin(rad*18 + time*9); +per_pixel_2=sy=sy+0.07*sin(rad*18 + time*9); +per_pixel_3= +per_pixel_4= diff --git a/presets/presets_tryptonaut/Fvese - Lifesavor Anyone.milk b/presets/presets_tryptonaut/Fvese - Lifesavor Anyone.milk new file mode 100755 index 0000000000..958bb3edc0 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Lifesavor Anyone.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=2.500000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.008081 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997766 +fWaveScale=0.653090 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000005 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.350000 +wave_g=0.550000 +wave_b=0.450000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.200000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=43.200001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = rand(100)/100; +per_frame_2=wave_g = rand(100)/100; +per_frame_3=wave_b = rand(100)/100; +per_pixel_1=zoom = pow(rad,0.05)+.05/bass; diff --git a/presets/presets_tryptonaut/Fvese - New meetings.milk b/presets/presets_tryptonaut/Fvese - New meetings.milk new file mode 100755 index 0000000000..c31a6f0035 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - New meetings.milk @@ -0,0 +1,88 @@ +[preset00] +fRating=2.500000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=0.998100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=4.050169 +fWaveScale=0.597149 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000005 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=43.200001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.500001 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_y = wave_y + 0.2*sin(1.85*time); +per_frame_5=time = time/100; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.05 + 0.009*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.0005 + 0.009*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=xwave_x = wave_x + 0.250*( 0.60*sin(2.112*time) + 0.40*sin(1.589*time) ); +per_frame_11=xwave_y = wave_y + 0.250*( 0.60*sin(1.752*time) + 0.40*sin(2.298*time) ); +per_frame_12=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_13=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_14=decay = decay - 0.05*equal(frame%16,0); +per_frame_15=zoom = decay; +per_frame_16=rot = bass_eff/bass_thresh; +per_frame_17=ob_size = rot-bass; +per_frame_18=ib_a = 1-bass_eff; +per_frame_19=ib_r = 1-wave_r; +per_frame_20=ib_b = 1-wave_g; +per_frame_21=ib_g = 1-wave_b; +per_pixel_1=sx=sx+0.07*sin(rad*18 + time*9); +per_pixel_2=sy=sy+0.07*sin(rad*18 + time*9); +per_pixel_3=zoom=zoom + 0.005*tan(ang-ang); +per_pixel_4=ray = pow(rad,1.85)+.037; diff --git a/presets/presets_tryptonaut/Fvese - Quicksand.milk b/presets/presets_tryptonaut/Fvese - Quicksand.milk new file mode 100755 index 0000000000..0254b824e2 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Quicksand.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=4.500000 +fGammaAdj=1.000000 +fDecay=0.992000 +fVideoEchoZoom=1.008000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.499226 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000005 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.760000 +wave_g=0.480000 +wave_b=0.390000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.200000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.669900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.200000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=vol = (5*bass + 3*mid + 2*treb)/10; +per_frame_4=wave_x = wave_x + 0.03*vol*sin(0.727*time); +per_frame_5=wave_y = wave_y + 0.04*vol*sin(0.777*time); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=monitor = time; +per_pixel_1=cx = (0.25&(x*5-0.5))*0.1+0.025; +per_pixel_2=cy = (0.25&(y*5-0.5))*0.1+0.025; +per_pixel_3=sx = sx -.005-abs(x-1)*.01; +per_pixel_4=sy = sy -.005-abs(x-1)*.01; +per_pixel_5=zoom = pow(rad,0.05)+.050; +per_pixel_6=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); diff --git a/presets/presets_tryptonaut/Fvese - Rebirth (Progression Rot Mix).milk b/presets/presets_tryptonaut/Fvese - Rebirth (Progression Rot Mix).milk new file mode 100755 index 0000000000..e98f885654 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Rebirth (Progression Rot Mix).milk @@ -0,0 +1,87 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.744429 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.001800 +fWarpScale=1.001800 +fZoomExponent=0.399610 +fShader=0.000000 +zoom=0.998169 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=2.400001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx=if(below(q1,0),dx-dx_r*q3*.3,dx); +per_frame_6=dy=if(below(q1,0),dy-dx_r*q3*.3,dy); +per_frame_7=dx_r=if(equal(q3,0),if(above(x,xpos),dx-q1-xpos,dx+q2-xpos),dx); +per_frame_8=dy_r=if(equal(q3,0),if(above(y,ypos),dy-q1-ypos,dy+q2-ypos),dy); +per_frame_9=rot = rot+0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_10=mytime=.7; +per_frame_11=q1=sin(time*mytime*4); +per_frame_12=q2=sin(time*mytime*2); +per_frame_13=q3=abs(rad-.5)*(q2*q1); +per_frame_14=xpos=.5/vol; +per_frame_15=ypos=.5/vol; +per_frame_16=wave_x=.5; +per_frame_17=wave_y=.5; +per_frame_18=monitor=q3; +per_frame_19=ib_r=q3; +per_frame_20=ib_b=q2; +per_frame_21=ib_g=q1; +per_pixel_1=zoom=zoom+.05*q3+.05*q1-vol; +per_pixel_2=rot=rot+(zoom-1.0)*0.16; +per_pixel_3=zoom = zoom+(ypos*q2-q1)*(0.06+0.12*sin(time*0.351))+(xpos*q2-q1)*(0.06+0.12*cos(time*0.351)); diff --git a/presets/presets_tryptonaut/Fvese - Round and Round (geiss gamma mix).milk b/presets/presets_tryptonaut/Fvese - Round and Round (geiss gamma mix).milk new file mode 100755 index 0000000000..c042d98de7 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Round and Round (geiss gamma mix).milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.944900 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.987793 +fWaveScale=1.008109 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.001800 +fWarpScale=1.001800 +fZoomExponent=1.008149 +fShader=0.000000 +zoom=1.008148 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999900 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=2.400001 +mv_dx=0.000000 +mv_dy=0.340000 +mv_l=0.999999 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=rot = rot+0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_6=myeff=(q3+ if(above(q2,0.75), + q1*tan(time), + q2*tan(time))+.4+((cos(vol))/2) +q3 + 0.40*sin(8*mid)+.25+(vol/10)); +per_frame_7=mytime=.7; +per_frame_8=q1=sin(mytime*4); +per_frame_9=q2=sin(mytime*2); +per_frame_10=q3=abs(rad-.1)*(mytime*myeff); +per_frame_11=xpos=.5; +per_frame_12=ypos=.5; +per_frame_13=wave_x = wave_x + if(above(wave_y,.75), - 0.1*tan(time), + 0.1*tan(time))-.4+((cos(vol))/2)*myeff; +per_frame_14=wave_y = wave_y + if(below(wave_x,.75), -0.1*tan(time), +0.1*tan(time))-.4+((cos(vol))/2)*myeff; +per_pixel_1=dx=q3*atan((rad)/q2*sin((dx_r*dy_r)*q3+time*5)); +per_pixel_2=dy=q3*atan((rad)/q2*cos((dx*dy)*q3+time*5)); +per_pixel_3= diff --git a/presets/presets_tryptonaut/Fvese - Snowflake Like 2.milk b/presets/presets_tryptonaut/Fvese - Snowflake Like 2.milk new file mode 100755 index 0000000000..47e62fb3a8 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Snowflake Like 2.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=1.000495 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.779700 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.950000 +mv_g=0.800000 +mv_b=0.700000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=mv_r= wave_r + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_5=mv_g= wave_g + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_6=mv_b= wave_b + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_7=ib_r=bass*2; +per_frame_8=ib_b=treb*2; +per_frame_9=ib_g=mid*2; +per_frame_10=ob_r=mid_att+time; +per_frame_11=ob_b=bass_att+time; +per_frame_12=ob_g=treb_att+time; +per_frame_13=zoom = zoom-(0.10-bass_att)*0.15; +per_pixel_1=rot = antirot-ang; diff --git a/presets/presets_tryptonaut/Fvese - Stand Still!.milk b/presets/presets_tryptonaut/Fvese - Stand Still!.milk new file mode 100755 index 0000000000..921b53d8ca --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Stand Still!.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=2.500000 +fGammaAdj=2.200000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.610095 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=8.319999 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = rand(100)/100; +per_frame_2=wave_g = rand(100)/100; +per_frame_3=wave_b = rand(100)/100; +per_frame_4=wave_x = wave_x + if(above(wave_y,.75), - 0.1*tan(time), + 0.1*tan(time))-.4+((cos(vol))/2)*myeff; +per_frame_5=wave_y = wave_y + if(below(wave_x,.75), -0.1*tan(time), +0.1*tan(time))-.4+((cos(vol))/2)*myeff; +per_frame_6=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time)+vol ); +per_frame_7=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time)+vol ); +per_frame_8=zoom = zoom + 0.020*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time)*vol ); +per_frame_9=rot = rot + 0.005*( 0.60*sin(0.281*time) + 0.40*sin(0.839*time)*vol ); +per_frame_10=vol = (bass_att+bass+mid+mid_att+treb+treb_att); +per_frame_11=myeff=(wave_x + if(above(wave_y,0.75), + 0.1*tan(time), + 0.1*tan(time))+.4+((cos(vol))/2) & wave_y + 0.40*sin(8*mid)+.25+(vol/10)); +per_frame_12=dx = dx + 0.085*pow(rad,y*2)*sin(time)/vol; +per_frame_13=dy = dy + 0.085*pow(rad,y*2)*cos(time)/vol; +per_frame_14=sx = sx + 0.0555*pow(rad,x*2)*sin(time)/vol; +per_frame_15=sy = sy + 0.0777*pow(rad,y*2)*sin(time); +per_frame_16=monitor = vol; +per_frame_17= diff --git a/presets/presets_tryptonaut/Fvese - The Tunnel (Final Stage Mix).milk b/presets/presets_tryptonaut/Fvese - The Tunnel (Final Stage Mix).milk new file mode 100755 index 0000000000..8b4f7bb0fd --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - The Tunnel (Final Stage Mix).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.995 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.741921 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=6.4 +nMotionVectorsY=1.440001 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_6=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_7=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_8=mytime=.7; +per_frame_9=q1=sin(time*mytime*4); +per_frame_10=q2=cos(time*mytime*2); +per_frame_11=q3=abs(rad-.5)*(q2*q1); +per_frame_12=xpos=.5/vol; +per_frame_13=ypos=.5/vol; +per_frame_14=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_15=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_16=ib_r=q3+q2; +per_frame_17=ib_b=q2+q1; +per_frame_18=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.5*x,if(equal(q2,0),0.9*(1-x),if(above(q3,0),0.9*y,0.9*(1-y)))) + 0.6 - 0.13*(min(q3,0.3)); +per_pixel_2= diff --git a/presets/presets_tryptonaut/Fvese - Window Reflection 6.milk b/presets/presets_tryptonaut/Fvese - Window Reflection 6.milk new file mode 100755 index 0000000000..e88b133f83 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Window Reflection 6.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=0.199862 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.149765 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.010000 +fShader=0.000000 +zoom=0.999800 +rot=0.800000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=q1=bass_eff+sin(time*mytime*4); +per_frame_8=q2=bas_eff+cos(time*mytime*2); +per_frame_9=q3=bass_eff+abs(rad+.5)+(q2*q5); +per_frame_10=q4=bass_thresh+abs(.9*5)*(dx_r*dy_r)*(dx*dy); +per_frame_11=q5=bass_tresh+cos(.2*2)*(dx_r*dy_r); +per_frame_12=q6=bass_thresh+0.1*(atan(abs(-rad+.5)))*q1; +per_frame_13=q7=if(above(bass+bass_att,2),-1.5+bass+bass_att,0); +per_frame_14=q8=below(rad- 0.1*x,0.18); +per_frame_15=q9=if(above(rad,.5),.9+rad,.5+bass*3%1000*.1); +per_frame_16=dx=q8; +per_frame_17=zoom=q9+0.4; +per_frame_18=monitor=zoom; +per_pixel_1=rot=zoom; +per_frame_init_1=myzoom=if(below(q1,q6),0.3*dx,if(equal(q2,q5),0.2*(1-dx),if(above(q3,q4),0.3*dy,0.2*(1-dy)+if(equal(q4,q3),0.3* dx, if(above(q5,q2),0.25*(1-dx),if(below(q6,q1),0.3*dy,0.25*(1-dy)+if(equal(q7,q9),0.3*dx, if(below(q8,q7),0.2*(1-dx),if(equal(q9,q6),0.3*dy,0.2*(1-dy)))))))))) + .8 - 0.02*(min(q6+q1,.5))*bass_eff; diff --git a/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 2).milk b/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 2).milk new file mode 100755 index 0000000000..b9ad3146d0 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 2).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.98 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.241456 +fWaveSmoothing=0.09 +fWaveParam=0 +fModWaveAlphaStart=0.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.5503 +fShader=0 +zoom=0.999899 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.9999 +sy=0.9999 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0.4 +ob_a=0 +ib_size=0.005 +ib_r=0 +ib_g=0.3 +ib_b=0 +ib_a=1 +nMotionVectorsX=3.2 +nMotionVectorsY=2.400006 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=0.7599 +mv_g=0.48 +mv_b=0.39 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.15*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.9; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad+.5)+(q2*q5); +per_frame_18=q4=abs(.9*5)*(dx_r*dy_r)*(dx*dy); +per_frame_19=q5=cos(.2*2)*(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q1; +per_frame_21=q7=q1+q2+q3+q4+q5+q6; +per_frame_22=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_23=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_24=ib_r=q3+q2; +per_frame_25=ib_b=q2+q1; +per_frame_26=ib_g=q1+q3; +per_frame_27=monitor=q3; +per_pixel_1=zoom= if(below(q1,q6),0.5*x,if(equal(q2,q5),0.9*(1-x),if(above(q3,q4),0.5*y,0.9*(1-y)+if(below(q4,q3),0.5* xpos, if(equal(q5,q2),0.9*(1-xpos),if(above(q6,q1),0.9*ypos,0.3*(1-ypos))))))) + .8 - 0.03*(min(q7+q1,1)); diff --git a/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 3).milk b/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 3).milk new file mode 100755 index 0000000000..87c3bfc634 --- /dev/null +++ b/presets/presets_tryptonaut/Fvese - Zoom Effects (Remix 3).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.241456 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.550448 +fShader=0.000000 +zoom=0.550449 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999900 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=1.440001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.759900 +mv_g=0.480000 +mv_b=0.390000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); +per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); +per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); +per_frame_11=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_12=mytime=.7; +per_frame_13=xpos=.5/vol; +per_frame_14=ypos=.5/vol; +per_frame_15=q1=sin(time*mytime*4); +per_frame_16=q2=cos(time*mytime*2); +per_frame_17=q3=abs(rad-.5)*(q2*q1); +per_frame_18=q4=sin(time*.7*.5)+(dx_r*dy_r)+(dx*dy); +per_frame_19=q5=sin(time*.7*.2)+(dx_r*dy_r); +per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q2; +per_frame_21=wave_x=.5+0.1*sin(time+rand(100)/100); +per_frame_22=wave_y=.5+0.1*cos(time+rand(100)/100); +per_frame_23=ib_r=q3+q2; +per_frame_24=ib_b=q2+q1; +per_frame_25=ib_g=q1+q3; +per_pixel_1=zoom = if(below(q1,0),0.3*x,if(equal(q2,0),0.3*(1-x),if(above(q3,0),0.3*y,0.9*(1-y))))+if(below(q4,0),0.3 * xpos, if(equal(q5,0),0.3*(1-xpos),if(above(q6,0),0.3*ypos,0.3*(1-ypos)))) + 0.7 - 0.03*(min(q6+q3,0.3)); +per_pixel_2=dx = .01*atan((rad)/.1*sin((dx_r*dy_r)*20+time*5)); diff --git a/presets/presets_tryptonaut/Fvese-butterfly.milk b/presets/presets_tryptonaut/Fvese-butterfly.milk new file mode 100755 index 0000000000..a5496f7cda --- /dev/null +++ b/presets/presets_tryptonaut/Fvese-butterfly.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.500000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.000700 +fWaveSmoothing=0.900000 +fWaveParam=0.010100 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.970105 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.200000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.200000 +ib_a=1.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=23.039986 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.950000 +mv_g=0.800000 +mv_b=0.700000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=mv_r= wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_7=mv_g= wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_8=mv_b= wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_9=mv_l=0.500; +per_frame_10=mv_x =3.4; +per_frame_11=mv_y = 23.26; +per_frame_12=zoom=-zoom-(bass_att+0.5)*0.01; +per_pixel_1=sy=sy+0.07*sin(rad*18 + time*9); diff --git a/presets/presets_tryptonaut/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk b/presets/presets_tryptonaut/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk new file mode 100755 index 0000000000..34b821549e --- /dev/null +++ b/presets/presets_tryptonaut/Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk @@ -0,0 +1,99 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.000000 +zoom=0.980000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=0.600000 +mv_g=0.700000 +mv_b=0.640000 +mv_a=0.700000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=vol = (bass+mid+att)/6; +per_frame_15=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_16=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_17=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_18=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_19=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_20=xpos = xpos + 0.001*xspeed; +per_frame_21=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_22=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_23=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_24=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_25=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_26=ypos = ypos + 0.001*yspeed; +per_frame_27=mv_x_speed = 16; +per_frame_28=mv_y_speed = 12; +per_frame_29=mv_x_range = 0.099; +per_frame_30=mv_y_range = 0.499; +per_frame_31=mv_x_amount = 1; +per_frame_32=mv_y_amount = 4; +per_frame_33=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_34=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_35=mv_b = mv_b - 0.3*sin(time*3.511); +per_frame_36=mv_r = mv_r + 0.25*cos(time*0.433); +per_frame_37=mv_g = mv_g + 0.25*cos(time*0.568); +per_frame_38=mv_l = 24*sin(10*ypos)+ 32*cos(10*xpos); +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets/presets_tryptonaut/Geiss & Rovastar - Notions Of Tonality 2.milk b/presets/presets_tryptonaut/Geiss & Rovastar - Notions Of Tonality 2.milk new file mode 100755 index 0000000000..2dffed2f8c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss & Rovastar - Notions Of Tonality 2.milk @@ -0,0 +1,90 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.693000 +fDecay=0.970000 +fVideoEchoZoom=1.628259 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.200000 +fWaveScale=1.093260 +fWaveSmoothing=0.100000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.259127 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.180378 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.380000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.010000 +ib_r=0.550000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.100000 +nMotionVectorsX=57.599998 +nMotionVectorsY=44.160000 +mv_dx=0.002000 +mv_dy=0.002000 +mv_l=5.000000 +mv_r=0.700000 +mv_g=0.400000 +mv_b=0.500000 +mv_a=0.100000 +per_frame_1=mv_r = wave_r + 0.35*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = wave_g + 0.35*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = wave_b + 0.35*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time)); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.474*time) + 0.40*sin(0.394*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.413*time) + 0.40*sin(0.323*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.274*-time) + 0.40*sin(0.464*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.334*time) + 0.40*sin(0.371*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_frame_9=cy = cy + 0.1*sin(time*0.245); +per_frame_10=cx = cx + 0.1*cos(time*0341); +per_frame_11=wave_mystery = 2; +per_frame_12=//mv_l = 2*max(max(bass,bass_att)-1.2,0); +per_frame_13=warp = warp * pow(2, 0.6*sin(time*0.194)); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.7); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets/presets_tryptonaut/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk b/presets/presets_tryptonaut/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk new file mode 100644 index 0000000000..cfe55df351 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss & Rovastar - The Chaos Of Colours (sprouting dimentia mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=2 +fGammaAdj=1.7 +fDecay=0.94 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.01 +fWaveSmoothing=0.63 +fWaveParam=-1 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=13.290894 +rot=-0.02 +cx=0.5 +cy=0.5 +dx=-0.28 +dy=-0.32 +warp=0.01 +sx=1 +sy=1 +wave_r=0.65 +wave_g=0.65 +wave_b=0.65 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.01 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.95 +ib_g=0.85 +ib_b=0.65 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1 +wavecode_3_smoothing=0.5 +wavecode_3_r=1 +wavecode_3_g=1 +wavecode_3_b=1 +wavecode_3_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.55 +shapecode_0_ang=0 +shapecode_0_tex_ang=0 +shapecode_0_tex_zoom=1 +shapecode_0_r=1 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0.1 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=0.9 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=0.4 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.4 +shapecode_1_ang=0 +shapecode_1_tex_ang=0 +shapecode_1_tex_zoom=1 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0.3 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(tq8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.4 +shapecode_2_ang=0 +shapecode_2_tex_ang=0 +shapecode_2_tex_zoom=1 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0.5 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*.638 + 3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0 +shapecode_3_tex_ang=0 +shapecode_3_tex_zoom=1 +shapecode_3_r=1 +shapecode_3_g=0 +shapecode_3_b=0 +shapecode_3_a=1 +shapecode_3_r2=0 +shapecode_3_g2=1 +shapecode_3_b2=0 +shapecode_3_a2=0 +shapecode_3_border_r=1 +shapecode_3_border_g=1 +shapecode_3_border_b=1 +shapecode_3_border_a=0.1 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.05; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.05; +per_frame_22=wave_a = 0; +per_frame_23=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_24=oldq8 = q8; +per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_26=rot = 0.4 + 1.5*sin(time*0.273) + 0.4*sin(time*0.379+3); +per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1; diff --git a/presets/presets_tryptonaut/Geiss + Flexi + Martin - disconnected.milk b/presets/presets_tryptonaut/Geiss + Flexi + Martin - disconnected.milk new file mode 100755 index 0000000000..0028d18f40 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss + Flexi + Martin - disconnected.milk @@ -0,0 +1,572 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.015 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.040 +wavecode_0_b=0.000 +wavecode_0_a=0.990 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.65; +wave_0_per_point13= +wave_0_per_point14=w1 = q2; +wave_0_per_point15=w2 = q3; +wave_0_per_point16=w3 = q4; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=b = -z3 + 0.5; +wave_0_per_point44=b = min(1,max(0,b))*0.5; +wave_0_per_point45=r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78900 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = 0.65 + bass*0.1; +shape_0_per_frame2= +shape_0_per_frame3=an = an*0.99 + (bass-treb)*0.1; +shape_0_per_frame4=ang = an*0.1 + 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=step = 0; +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, -2+avg+peak) * above (time, t0+.1); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass_att + mid_att + treb_att; +per_frame_17=q27 = index + 1; +per_frame_18=q28 = index2; +per_frame_19= +per_frame_20=q29 = ((index%2)-.5)*2; +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/8; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32=//ds = max ((q26-.2),0); +per_frame_33=//step = step + ds/10; +per_frame_34= +per_frame_35=step = step + q24 ; +per_frame_36= +per_frame_37=p3 = p3*dec_slow + (1-dec_slow) * step; +per_frame_38=q30 = step; +per_frame_39= +per_frame_40=p4 = dec_slow*p4 + (1-dec_slow)*q27; +per_frame_41=q31 = p4; +per_frame_42= +per_frame_43=q12 = time -t0; +per_frame_44=monitor = q12; +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=zoom = 1; +per_frame_49=rot = -0 ; +per_frame_50=dx = .00; +per_frame_51= +per_frame_52= +per_pixel_1=zoom = 1.3; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float clp = 2; +warp_12=`float2 rs = clamp(tan(z)*d,-clp,clp); +warp_13=`uv += rs/20; +warp_14=` +warp_15=` +warp_16=`uv6 = .4*sin(uv1*22); +warp_17=`mus = .1/(length(uv6)); +warp_18=`mus *= roam_cos; +warp_19=` +warp_20=`float3 blur = GetBlur1(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.04 + .15*mus; +warp_25=`q25 = q24; +warp_26=`ret = q25*(ret1-.02)*.98 + (1-q25)* GetPixel(uv_orig); +warp_27=`} +comp_1=`sampler sampler_rand00; // this will choose a random texture from disk! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + 0.6*ret.xy; +comp_10=` ret = tex2D(sampler_rand00, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} +comp_15=` +comp_16=` diff --git a/presets/presets_tryptonaut/Geiss + Stahlregen - Reaction Diffusion 3 [Rippling Islands].milk b/presets/presets_tryptonaut/Geiss + Stahlregen - Reaction Diffusion 3 [Rippling Islands].milk new file mode 100755 index 0000000000..2d2d985ad0 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss + Stahlregen - Reaction Diffusion 3 [Rippling Islands].milk @@ -0,0 +1,287 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.000 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`ret = GetBlur3(uv); +comp_5=` +comp_6=`float2 uv2 = uv*(1-.2*GetBlur3(saturate(ret.xy))-.05*GetBlur1(saturate(ret.xy))); +comp_7=`uv2 += .1*GetBlur3(saturate(ret.xy))+.025*GetBlur1(saturate(ret.xy)); +comp_8=` +comp_9=`uv = lerp(uv,uv2,.75); +comp_10=` +comp_11=`ret = lerp(float3(1,1,.65),float3(1,.25,1),GetPixel(uv)-.5*GetBlur1(uv)); +comp_12=`ret = lerp(ret,float3(.4,.4,.9),1.5*GetBlur2(uv)-1.2*GetPixel(uv)); +comp_13=`ret = lerp(ret,float3(.4,.4,0),1.25*GetBlur3(uv)-1.2*GetBlur2(uv)); +comp_14=` +comp_15=`ret = 1-saturate(ret); +comp_16=` +comp_17=`//ret *= pow(hue_shader,3); +comp_18=`// ret = pow(ret,float3(.3,.55,1.8)); //gamma +comp_19=`// ret *= ret; //darken +comp_20=`} diff --git a/presets/presets_tryptonaut/Geiss - Aieeeeee!!!.milk b/presets/presets_tryptonaut/Geiss - Aieeeeee!!!.milk new file mode 100755 index 0000000000..2ad8be01f9 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Aieeeeee!!!.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.421896 +fWaveSmoothing=0.900000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.990548 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.550000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8= +per_pixel_1=zoom=(zoom-1.0)*rad+1.0; diff --git a/presets/presets_tryptonaut/Geiss - All-Spark Polar.milk b/presets/presets_tryptonaut/Geiss - All-Spark Polar.milk new file mode 100755 index 0000000000..2da28883ae --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - All-Spark Polar.milk @@ -0,0 +1,262 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.7 +fDecay=0.980000 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=5.685865 +fWaveSmoothing=0.0 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=2.853000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.000012 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.489000 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=1.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1= +per_frame_2=// in this example, q1 and q2 act as the center of zooming +per_frame_3=// AND as the position of custom shape #1.. +per_frame_4=q1 = 0.5 + 0.32*cos(time*0.4); +per_frame_5=q2 = 0.5 + 0.22*sin(time*0.4); +per_frame_6= +per_frame_7=//wave_x = q1; +per_frame_8=wave_y = q2; +per_pixel_1=dx = (x-q1)*0.02; +per_pixel_2=dy = (y-q2)*0.02; +per_pixel_3= +warp_1=`// to access a texture on disk: make a sampler. This example loads "noise_lq.{tga/jpg/etc}". +warp_2=` +warp_3=` // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +warp_4=` +warp_5=`shader_body +warp_6=`{ +warp_7=` uv.x += 0.02 * (tex2D( sampler_noise_lq, +warp_8=` uv*0.050*texsize_noise_lq.zw*texsize.xy*2 +warp_9=` + float2(roam_cos.x,roam_sin.x)*0.1 ).y*2-1)*aspect.x; +warp_10=` uv.x += 0.04 * (tex2D( sampler_noise_lq, +warp_11=` uv*0.025*texsize_noise_lq.zw*texsize.xy*0.5 +warp_12=` + float2(roam_sin.y,-roam_cos.y)*0.03 ).z*2-1)*aspect.x; +warp_13=` +warp_14=` ret = tex2D( sampler_main, uv ).xyz; +warp_15=` +warp_16=` // darken over time +warp_17=` // cool idea: different falloff rates for the 3 colors- +warp_18=` ret *= float3(0.99,0.98,0.97); +warp_19=` +warp_20=` // ERROR DIFFUSION DITHER - looks great +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).x-0.5)/256.0*2; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,ang/6.28); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_tryptonaut/Geiss - Anomaly 1.milk b/presets/presets_tryptonaut/Geiss - Anomaly 1.milk new file mode 100755 index 0000000000..46a3730bc3 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Anomaly 1.milk @@ -0,0 +1,54 @@ +[preset00] +fGammaAdj=1.994000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.240000 +fWaveScale=157.167007 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.971000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_7=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_8=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +fRating=1.000000 diff --git a/presets/presets_tryptonaut/Geiss - Anomaly 2.milk b/presets/presets_tryptonaut/Geiss - Anomaly 2.milk new file mode 100755 index 0000000000..7777e2d44f --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Anomaly 2.milk @@ -0,0 +1,54 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=6.140000 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=0.060000 +fShader=0.000000 +zoom=0.971000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_7=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_pixel_1=rot=rot+rad*0.18*sin(time*0.3986); +fRating=4.000000 diff --git a/presets/presets_tryptonaut/Geiss - Approach.milk b/presets/presets_tryptonaut/Geiss - Approach.milk new file mode 100755 index 0000000000..e90692953f --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Approach.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=1.372000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.000000 +zoom=1.007000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.300000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.150*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.150*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.002*sin(time+0.073); +per_frame_7=decay = decay - 0.03*equal(frame%30,0); diff --git a/presets/presets_tryptonaut/Geiss - Asymptote.milk b/presets/presets_tryptonaut/Geiss - Asymptote.milk new file mode 100755 index 0000000000..d79b24f889 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Asymptote.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=6.140000 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=0.090000 +fShader=0.000000 +zoom=0.971000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_7=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_8=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_12=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_13=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; diff --git a/presets/presets_tryptonaut/Geiss - Bass Kaleidosphere.milk b/presets/presets_tryptonaut/Geiss - Bass Kaleidosphere.milk new file mode 100755 index 0000000000..363eb53571 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bass Kaleidosphere.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.970000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=3.500000 +fWaveScale=2.720000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.882000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=zoom=zoom-max(0,(bass-1.2))*sin(time*1.4+rad*6); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Bass Zoom.milk b/presets/presets_tryptonaut/Geiss - Bass Zoom.milk new file mode 100755 index 0000000000..3233a081de --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bass Zoom.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.1; diff --git a/presets/presets_tryptonaut/Geiss - Bipolar 1.milk b/presets/presets_tryptonaut/Geiss - Bipolar 1.milk new file mode 100755 index 0000000000..e21c2803ac --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bipolar 1.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.400000 +fWaveScale=1.170370 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.006000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.113); +per_frame_5=rot = rot + 0.01*sin(time*0.533); +per_frame_6=rot = rot + 0.02*sin(time*-0.323); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2)*0.0072*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2)*0.0054*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=0.9615+rad*0.1; +per_pixel_2=rot = rot * 3*(1-pow(rad*2-1,2)); diff --git a/presets/presets_tryptonaut/Geiss - Bipolar 2.milk b/presets/presets_tryptonaut/Geiss - Bipolar 2.milk new file mode 100755 index 0000000000..35e3fa7d93 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bipolar 2.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.900000 +fWaveScale=0.408000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%50,0); +per_pixel_1=zoom=0.9615+rad*0.1; diff --git a/presets/presets_tryptonaut/Geiss - Bipolar 3.milk b/presets/presets_tryptonaut/Geiss - Bipolar 3.milk new file mode 100755 index 0000000000..6763e11c77 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bipolar 3.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.400000 +fWaveScale=0.948000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.007440 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_pixel_1=zoom=0.9615+rad*0.1; diff --git a/presets/presets_tryptonaut/Geiss - Bipolar 4.milk b/presets/presets_tryptonaut/Geiss - Bipolar 4.milk new file mode 100755 index 0000000000..267acad6dd --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bipolar 4.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.400000 +fWaveScale=0.559785 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.001440 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.800000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.1); +per_pixel_1=zoom=0.8215+rad*0.5; diff --git a/presets/presets_tryptonaut/Geiss - Bipolar 5.milk b/presets/presets_tryptonaut/Geiss - Bipolar 5.milk new file mode 100755 index 0000000000..b42638bc98 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bipolar 5.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.904763 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=0.559785 +fWaveSmoothing=0.900000 +fWaveParam=0.200000 +fModWaveAlphaStart=1.150000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.001440 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.800000 +wave_b=0.950000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.049*( 0.60*sin(0.816*time) + 0.40*sin(1.036*time) ); +per_frame_4=decay = decay - 0.01*equal(frame%40,0); +per_frame_5=rot = rot + 0.01*sin(time*0.1); +per_pixel_1=zoom=0.745+rad*0.5; diff --git a/presets/presets_tryptonaut/Geiss - Blur Mix 3.milk b/presets/presets_tryptonaut/Geiss - Blur Mix 3.milk new file mode 100755 index 0000000000..36e5d302d3 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Blur Mix 3.milk @@ -0,0 +1,246 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.0 +fWaveScale=3.266313 +fWaveSmoothing=0.207000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.999710 +rot=0.0 +cx=0.5 +cy=0.5 +dx=-0.005000 +dy=0.0 +warp=0.000001 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret += tex2D(sampler_blur2, uv).xyz*0.1; +warp_6=` ret /= 1.1; +warp_7=` +warp_8=` // darken over time +warp_9=` ret -= 0.02;//*= 0.95; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3 + +comp_5=` GetBlur2(uv)*0 + +comp_6=` GetBlur3(uv)*0 + +comp_7=` 0; +comp_8=` ret += GetBlur2( (uv-0.5)*0.333 + 0.5); +comp_9=` ret *= 1; +comp_10=`} diff --git a/presets/presets_tryptonaut/Geiss - Bonfire.milk b/presets/presets_tryptonaut/Geiss - Bonfire.milk new file mode 100755 index 0000000000..c3c5617290 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bonfire.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.728000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.200000 +fWaveScale=1.170000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.611000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.018000 +warp=0.313000 +sx=0.952000 +sy=1.000000 +wave_r=0.675000 +wave_g=0.550000 +wave_b=0.350000 +wave_x=0.500000 +wave_y=0.140000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.20*( 0.60*sin(0.849*time) + 0.40*sin(1.090*time) ); +per_frame_2=wave_g = wave_g + 0.20*( 0.60*sin(0.711*time) + 0.40*sin(0.982*time) ); +per_frame_3=wave_b = wave_b + 0.20*( 0.60*sin(0.737*time) + 0.40*sin(1.012*time) ); +per_frame_4=cy = cy + 0.030*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_5=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_6=sy = sy + 0.010*( 0.60*sin(0.367*time) + 0.40*sin(0.272*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 1.milk b/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 1.milk new file mode 100755 index 0000000000..8c9051e008 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 1.milk @@ -0,0 +1,48 @@ +[preset00] +fGammaAdj=1.500000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.990000 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=3.320000 +fWaveScale=2.718000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=25.548000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.099000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=4.044000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.344*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.313*time) + 0.40*sin(0.223*time) ); +fRating=4.000000 diff --git a/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 2.milk b/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 2.milk new file mode 100755 index 0000000000..8a13f9e31e --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Bright Fiber Matrix 2.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.500000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.320000 +fWaveScale=2.718000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=25.548000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.099000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=4.044000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.344*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.313*time) + 0.40*sin(0.223*time) ); +per_frame_8=dx = dx + dx_residual; +per_frame_9=dy = dy + dy_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2.4 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.5)*0.99+1.5); +per_frame_11=dx_residual = equal(bass_thresh,2.4)*0.020*sin(time*7) + (1-equal(bass_thresh,2.4))*dx_residual; +per_frame_12=dy_residual = equal(bass_thresh,2.4)*0.015*sin(time*9) + (1-equal(bass_thresh,2.4))*dy_residual; diff --git a/presets/presets_tryptonaut/Geiss - Calligraphy.milk b/presets/presets_tryptonaut/Geiss - Calligraphy.milk new file mode 100755 index 0000000000..97610096d6 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Calligraphy.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.478300 +fWaveSmoothing=0.900000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.036087 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000715 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_init_1=billy = 100; +per_frame_1=//zoom = 1;// + billy*0.01; +per_frame_2=wave_r = wave_r + 0.3*sin(time*0.345); +per_frame_3=wave_g = wave_g + 0.3*sin(time*0.425); +per_frame_4=wave_b = wave_b + 0.3*sin(time*0.515); +per_frame_5=decay = decay - 0.03*equal(int(frame)%2,0); +per_frame_6=rot = rot + 0.02*sin(time*0.05); diff --git a/presets/presets_tryptonaut/Geiss - Casino.milk b/presets/presets_tryptonaut/Geiss - Casino.milk new file mode 100755 index 0000000000..e315a14a5a --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Casino.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300000 +fWaveScale=0.672168 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.500000 +fShader=0.000000 +zoom=1.150549 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.012485 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.850000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.370000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.150*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=dx = dx + 0.03*( 0.60*sin(0.334*time) + 0.40*sin(0.264*time) ); +per_frame_5=decay = decay - 0.01*(frame%2); +per_pixel_1=zoom=(zoom-1)*rad+1; diff --git a/presets/presets_tryptonaut/Geiss - Cauldron - painterly 5.milk b/presets/presets_tryptonaut/Geiss - Cauldron - painterly 5.milk new file mode 100755 index 0000000000..6bac2f4892 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cauldron - painterly 5.milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.7 +fDecay=0.980 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.714 +fWaveScale=1.139 +fWaveSmoothing=0.1 +fWaveParam=0.0 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00400 +rot=-0.01400 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.02944 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(3.980*time) + 0.40*sin(11.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.005*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); +per_frame_8=wave_x = 0.5 + 0.25*cos(time*2)/aspecty; +per_frame_9=wave_y = 0.5 + 0.25*sin(time*2)/aspectx; +per_frame_10= +per_frame_11=ang = time*2; +per_frame_12=q1 = cos(ang); +per_frame_13=q2 = sin(ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 t = 0.005 + 0.045*saturate(float2(bass,treb)-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` float2 v = (blurry_color.xy-0.37) * t; +warp_10=` //uv2 += v; +warp_11=` // instead, add a rotated version: +warp_12=` uv2.x += v.x*q1 + v.y*q2; +warp_13=` uv2.y += v.x*q2 - v.y*q1; +warp_14=` +warp_15=` // sample previous frame +warp_16=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_17=` +warp_18=` // darken over time +warp_19=` ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret = (ret-0.1)*1.90; //old gamma effect +comp_5=`} diff --git a/presets/presets_tryptonaut/Geiss - Cepiasound.milk b/presets/presets_tryptonaut/Geiss - Cepiasound.milk new file mode 100755 index 0000000000..fa535955f6 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cepiasound.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.994000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.900000 +fWaveScale=0.436037 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.050000 +fModWaveAlphaEnd=1.390000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.065000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.280000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.600000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=-1.400000 +mv_dy=2.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_pixel_1=zoom=zoom+max(bass-1,0)*0.25*sin(rad*15); diff --git a/presets/presets_tryptonaut/Geiss - Churn.milk b/presets/presets_tryptonaut/Geiss - Churn.milk new file mode 100755 index 0000000000..e7275c956d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Churn.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.999000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300000 +fWaveScale=1.053000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.488000 +fShader=1.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.239000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=zoom = zoom + 0.033*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Color Pox (Acid Impression Mix).milk b/presets/presets_tryptonaut/Geiss - Color Pox (Acid Impression Mix).milk new file mode 100755 index 0000000000..629a224312 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Color Pox (Acid Impression Mix).milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.0 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.0 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.0 +zoom=1.01100 +rot=0.00300 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.0 +sx=1.0 +sy=1.0 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=t = time*12.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time+4) ); +per_frame_8=zoom = zoom + 0.015*( 0.60*sin(0.29*time+1) + 0.40*sin(0.43*time+2) ); +per_frame_9=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_10=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2d(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*3; +warp_9=` ret = tex2d(sampler_main, uv2).xyz; +warp_10=` +warp_11=` // add noise +warp_12=` float t = 0.013; +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_14=` +warp_15=` // darken +warp_16=` ret -= 0.00014; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.25; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= 0.5; +comp_12=` ret += saturate(b1-b2)*5.40*float3(1,0.7,0.3); +comp_13=` ret += saturate(b3-b4)*5.40*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret *= 1.6; +comp_16=`} diff --git a/presets/presets_tryptonaut/Geiss - Confetti (Kaleidoscope Mix).milk b/presets/presets_tryptonaut/Geiss - Confetti (Kaleidoscope Mix).milk new file mode 100755 index 0000000000..35c88fa73d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Confetti (Kaleidoscope Mix).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.347 +fWaveScale=1.910 +fWaveSmoothing=0.9 +fWaveParam=-0.1 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02225 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.3 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(31.437*time) + 0.40*sin(20.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(31.344*time) + 0.40*sin(20.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(31.251*time) + 0.40*sin(21.055*time) ); +per_frame_4=lum = wave_r*0.3 + wave_g*0.5 + wave_b*0.2; +per_frame_5=wave_r = wave_r*0.2+0.8*lum; +per_frame_6=wave_g = wave_g*0.2+0.8*lum; +per_frame_7=wave_b = wave_b*0.2+0.8*lum; +per_frame_8=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_12=dy = dy + 0.001*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%6,0); +per_frame_14=dx = dx + dx_residual*0.01; +per_frame_15=dy = dy + dy_residual*0.01; +per_frame_16=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_17=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_18=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_19=wave_x = wave_x - dx_residual*7; +per_frame_20=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.02; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Geiss - Constant Velocity.milk b/presets/presets_tryptonaut/Geiss - Constant Velocity.milk new file mode 100755 index 0000000000..f9ed1a5085 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Constant Velocity.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.981000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_pixel_1=dx=0.01*cos(ang+1.57); +per_pixel_2=dy=-0.01*sin(ang+1.57); diff --git a/presets/presets_tryptonaut/Geiss - Coral.milk b/presets/presets_tryptonaut/Geiss - Coral.milk new file mode 100755 index 0000000000..f9706e7803 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Coral.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.502464 +fWaveScale=1.111000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.200*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.200*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.400*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_7=sy = sy + 0.010*( 0.60*sin(0.367*time) + 0.40*sin(0.272*time) ); +per_pixel_1=rot=rot+rad*0.18*sin(0.4*time); diff --git a/presets/presets_tryptonaut/Geiss - Corpus Callosum.milk b/presets/presets_tryptonaut/Geiss - Corpus Callosum.milk new file mode 100755 index 0000000000..8d3c8bbc45 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Corpus Callosum.milk @@ -0,0 +1,47 @@ +[preset00] +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=4.400000 +fWaveScale=1.605447 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.006000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=sx = sx + max(0,max(bass_att,bass)-1)*0.5; +per_pixel_1=zoom=0.9615+rad*0.1; +fRating=1.000000 diff --git a/presets/presets_tryptonaut/Geiss - Cosmic Dust 1.milk b/presets/presets_tryptonaut/Geiss - Cosmic Dust 1.milk new file mode 100755 index 0000000000..fb58faf153 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cosmic Dust 1.milk @@ -0,0 +1,55 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.977723 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.996240 +fWaveScale=1.497458 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.162176 +fZoomExponent=1.001000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.796896 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_x = wave_x + 0.150*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.150*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_7=sy = sy + 0.010*( 0.60*sin(0.367*time) + 0.40*sin(0.272*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%20,0); +per_pixel_1=rot=rot+rad*0.18*sin(0.4*time); diff --git a/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 (Reverse Jelly V3).milk b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 (Reverse Jelly V3).milk new file mode 100755 index 0000000000..09baa87e16 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 (Reverse Jelly V3).milk @@ -0,0 +1,278 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=6.086 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.110 +fModWaveAlphaEnd=1.230 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = .7; //wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = .7; //wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = 0; //wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.95; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,0.33) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` ret = (ret*0.996 - 0.0015); +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=` +comp_13=` ret = lerp(ret,1-ret,.7*GetBlur1(uv_y)+.2*GetPixel(uv)); +comp_14=` ret = lerp(ret,ret-.1*GetBlur3(uv_y)+.1*GetBlur1(uv_y2)+.42*GetPixel(uv_y),.25); +comp_15=` //ret *= .75; +comp_16=` ret *= saturate(length(ret-0.5)*5); +comp_17=` //ret = ret.xy; +comp_18=` ret = lum(ret); +comp_19=` ret += 1.25; +comp_20=` ret *= ret*.45; +comp_21=` float3 mask = GetBlur3(uv)-GetBlur1(uv)-.25*GetBlur2(uv_y); +comp_22=` ret *= lerp(ret,1.3*ret*mask,pow(hue_shader.zxy,1-ret)); +comp_23=` ret += .05; +comp_24=` ret *= 1.1*ret; +comp_25=` ret *= (hue_shader*4)-2.75; +comp_26=` ret *= 3.5-.5*saturate(ret); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk new file mode 100755 index 0000000000..22aab3bde0 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Tiny Reaction Diffusion Mix.milk @@ -0,0 +1,291 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.4 +fWaveScale=3.235 +fWaveSmoothing=0.729 +fWaveParam=0.0 +fModWaveAlphaStart=1.330 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.67769 +fShader=0.0 +zoom=1.24300 +rot=-0.06000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.46911 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.620 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=rot = rot + 0.09*( 0.60*sin(0.851*time) + 0.40*sin(1.055*time) ); +per_frame_19=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_20=q1 = 0.12*cos(time*0.479+1); +per_frame_21=q2 = 0.12*cos(time*0.359+2); +per_frame_22=q3 = 0.12*cos(time*0.270+6); +per_frame_23=q4 = 0.12*cos(time*0.394+1); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.25; +comp_5=` ret = ret.yyy; +comp_6=` ret = pow(ret, float3(0.8,0.4,1.7))*1.9; +comp_7=`} diff --git a/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Trails 5b.milk b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Trails 5b.milk new file mode 100755 index 0000000000..c5221e15eb --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2 - Trails 5b.milk @@ -0,0 +1,263 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003 +fWaveScale=2.911 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=1.210 +fModWaveAlphaEnd=1.590 +fWarpAnimSpeed=1.0 +fWarpScale=3.138 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.06300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=-0.00500 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.830 +wave_g=0.8 +wave_b=0.8 +wave_x=0.5 +wave_y=0.350 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17= +per_frame_18=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_19=q1 = 0.12*cos(time*0.479+1); +per_frame_20=q2 = 0.12*cos(time*0.359+2); +warp_1=`shader_body +warp_2=`{ +warp_3=` uv -= 0.5; +warp_4=` uv *= (1 + q1*uv.y + q2*uv.x); +warp_5=` uv += 0.5; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv ).xyz; +warp_9=` +warp_10=` +warp_11=` ret = max(ret, tex2D(sampler_main, uv + (ret.xy-0.5)*texsize.zw*13*float2(0,1)).xyz ); +warp_12=` +warp_13=` // darken (decay) over time +warp_14=` ret = (ret - 0.003)*0.98; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` //ret = tex2D(sampler_fw_wrenches, ret.xy*(1-ret.zz)).xyz; +comp_6=` +comp_7=` ret = abs(ret - GetBlur1(uv))*6; +comp_8=` +comp_9=` ret *= 1.333; // a little bit of overbright +comp_10=`} diff --git a/presets/presets_tryptonaut/Geiss - Cosmic Dust 2.milk b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2.milk new file mode 100755 index 0000000000..3b8f0112b2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cosmic Dust 2.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.299999 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; diff --git a/presets/presets_tryptonaut/Geiss - Cruzin'.milk b/presets/presets_tryptonaut/Geiss - Cruzin'.milk new file mode 100755 index 0000000000..d9ee7c0327 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cruzin'.milk @@ -0,0 +1,59 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.000000 +fWaveScale=1.691672 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000300 +rot=0.000000 +cx=0.500000 +cy=0.110000 +dx=0.000000 +dy=-0.001000 +warp=0.024300 +sx=1.001992 +sy=1.004987 +wave_r=0.000000 +wave_g=0.570000 +wave_b=1.000000 +wave_x=0.650000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(10.937*time) + 0.40*sin(1.470*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(11.344*time) + 0.40*sin(1.041*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(21.251*time) + 0.40*sin(1.355*time) ); +per_frame_4=rot = rot + 0.004*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=du = (x-cx)*2; +per_pixel_2=dv = (y-cy)*2; +per_pixel_3=q = 0.01*pow(du*du+dv*dv,1.5); +per_pixel_4=dx = q*du; +per_pixel_5=dy = q*dv; +per_pixel_6= +fRating=4.000000 diff --git a/presets/presets_tryptonaut/Geiss - Cycloid 1.milk b/presets/presets_tryptonaut/Geiss - Cycloid 1.milk new file mode 100755 index 0000000000..00e1ed2fa9 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cycloid 1.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.706706 +fWaveScale=0.234487 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.014000 +rot=-0.060000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.029439 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_tryptonaut/Geiss - Cycloid 2.milk b/presets/presets_tryptonaut/Geiss - Cycloid 2.milk new file mode 100755 index 0000000000..a023bbf0ca --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Cycloid 2.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.706706 +fWaveScale=0.490254 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.024000 +rot=-0.080000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.029439 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.10*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.10*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_tryptonaut/Geiss - Davod The Pod.milk b/presets/presets_tryptonaut/Geiss - Davod The Pod.milk new file mode 100755 index 0000000000..7e08777233 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Davod The Pod.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=1.990000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.762000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8= diff --git a/presets/presets_tryptonaut/Geiss - De La Moutard 1.milk b/presets/presets_tryptonaut/Geiss - De La Moutard 1.milk new file mode 100755 index 0000000000..03ebb3b1c3 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - De La Moutard 1.milk @@ -0,0 +1,62 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=2.578376 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=4.401000 +fShader=0.000000 +zoom=1.031000 +rot=0.003000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.190000 +wave_g=0.190000 +wave_b=0.190000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = min(1,max(0,(bass_att-1)*1.3)); +per_frame_2=wave_g = wave_r*0.7; +per_frame_3=wave_b = wave_r*0.1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_5=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); diff --git a/presets/presets_tryptonaut/Geiss - De La Moutard 2.milk b/presets/presets_tryptonaut/Geiss - De La Moutard 2.milk new file mode 100755 index 0000000000..08331934ff --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - De La Moutard 2.milk @@ -0,0 +1,62 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=2.578376 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=4.401000 +fShader=0.000000 +zoom=1.031000 +rot=0.003000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.158989 +sx=1.000000 +sy=1.000000 +wave_r=0.190000 +wave_g=0.190000 +wave_b=0.190000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = min(1,max(0,(bass_att-1)*1.2)); +per_frame_2=wave_g = wave_r*0.7; +per_frame_3=wave_b = wave_r*0.1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_5=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Demonic Distortion.milk b/presets/presets_tryptonaut/Geiss - Demonic Distortion.milk new file mode 100755 index 0000000000..b423186064 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Demonic Distortion.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.499900 +fWaveScale=1.981000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.003*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.0040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%2,0); +per_pixel_1=zoom=zoom+(y*2-1)*(0.06+0.12*sin(time*0.351))-(x*2-1)*(0.06+0.12*cos(time*0.351)); +per_pixel_2=rot=rot+(zoom-1.0)*0.16; diff --git a/presets/presets_tryptonaut/Geiss - Descent.milk b/presets/presets_tryptonaut/Geiss - Descent.milk new file mode 100755 index 0000000000..ae349b549a --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Descent.milk @@ -0,0 +1,48 @@ +[preset00] +fGammaAdj=1.999000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.900000 +fWaveScale=1.372000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.164000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.637*time) + 0.40*sin(0.570*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.744*time) + 0.40*sin(0.641*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.751*time) + 0.40*sin(0.555*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dy = dy + 0.002*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%50,0); diff --git a/presets/presets_tryptonaut/Geiss - Destruction.milk b/presets/presets_tryptonaut/Geiss - Destruction.milk new file mode 100755 index 0000000000..44f2ea1e97 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Destruction.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.581546 +fWaveScale=1.235000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=2.301000 +fShader=0.000000 +zoom=1.042000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.594000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.250*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.250*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_7=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.019*( 0.60*sin(100.334*time) + 0.40*sin(250.277*time) ); +per_frame_11=dy = dy + 0.019*( 0.60*sin(200.384*time) + 0.40*sin(150.247*time) ); +per_frame_12=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_pixel_1=rot=rot+rad*0.18*sin(0.6*time*0.439+0.4*time*0.338); diff --git a/presets/presets_tryptonaut/Geiss - Diffraction.milk b/presets/presets_tryptonaut/Geiss - Diffraction.milk new file mode 100755 index 0000000000..1dbd0ae361 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Diffraction.milk @@ -0,0 +1,55 @@ +[preset00] +fGammaAdj=1.490000 +fDecay=0.980000 +fVideoEchoZoom=1.091009 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.000000 +fWaveScale=1.694000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.210000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.319000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.150*( 0.60*sin(1.037*time) + 0.40*sin(0.370*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(0.944*time) + 0.40*sin(0.441*time) ); +per_frame_3=wave_b = wave_b + 0.150*( 0.60*sin(0.851*time) + 0.40*sin(0.55*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%30,0); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Digital Smoke.milk b/presets/presets_tryptonaut/Geiss - Digital Smoke.milk new file mode 100755 index 0000000000..10107bfbfe --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Digital Smoke.milk @@ -0,0 +1,54 @@ +[preset00] +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.728000 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.800000 +fWaveScale=1.694000 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=2.000000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.239000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.10*( 0.60*sin(1.037*time) + 0.40*sin(0.370*time) ); +per_frame_2=wave_g = wave_g + 0.10*( 0.60*sin(0.944*time) + 0.40*sin(0.441*time) ); +per_frame_3=wave_b = wave_b + 0.10*( 0.60*sin(0.851*time) + 0.40*sin(0.55*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Downward Spiral.milk b/presets/presets_tryptonaut/Geiss - Downward Spiral.milk new file mode 100755 index 0000000000..503ad03cad --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Downward Spiral.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=2.717574 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.990000 +rot=0.060000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=0.999900 +wave_r=1.000000 +wave_g=0.400000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.600000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.120*( 0.60*sin(0.733*time) + 0.40*sin(0.345*time) ); +per_frame_2=wave_g = wave_g + 0.120*( 0.60*sin(0.600*time) + 0.40*sin(0.456*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.550*time) ); +per_pixel_1=rot=rot*(-0.2+pow(cos(rad*8+ang-time*0.8),2)); diff --git a/presets/presets_tryptonaut/Geiss - Drift.milk b/presets/presets_tryptonaut/Geiss - Drift.milk new file mode 100755 index 0000000000..0392ee5f5c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Drift.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.993000 +fDecay=0.990000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.165135 +fWaveScale=1.421896 +fWaveSmoothing=0.900000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.110549 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.550000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.02*pow(0.5+0.5*sin(time*1.5),3.8); +per_pixel_1=zoom=(zoom-1)*rad+1; diff --git a/presets/presets_tryptonaut/Geiss - Dynamic Swirls 1.milk b/presets/presets_tryptonaut/Geiss - Dynamic Swirls 1.milk new file mode 100755 index 0000000000..db5ae5bfdc --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Dynamic Swirls 1.milk @@ -0,0 +1,68 @@ +[preset00] +fGammaAdj=2.700000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.380000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Dynamic Swirls 2.milk b/presets/presets_tryptonaut/Geiss - Dynamic Swirls 2.milk new file mode 100755 index 0000000000..1b893b92dc --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Dynamic Swirls 2.milk @@ -0,0 +1,68 @@ +[preset00] +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.100000 +fWaveScale=4.695139 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.670000 +fModWaveAlphaEnd=0.970000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.007964 +rot=0.020000 +cx=0.499999 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999667 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.700000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.32*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.52*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.32*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.52*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Eddies 1.milk b/presets/presets_tryptonaut/Geiss - Eddies 1.milk new file mode 100755 index 0000000000..18df9e4634 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Eddies 1.milk @@ -0,0 +1,68 @@ +[preset00] +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.870018 +fWaveSmoothing=0.100000 +fWaveParam=0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.593743 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.278033 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +fRating=4.000000 diff --git a/presets/presets_tryptonaut/Geiss - Eddies 2.milk b/presets/presets_tryptonaut/Geiss - Eddies 2.milk new file mode 100755 index 0000000000..da69cfd1f8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Eddies 2.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=1.645405 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.605989 +fWaveScale=0.870018 +fWaveSmoothing=0.100000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.593743 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.010000 +warp=0.278033 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.140000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_8=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = dx + mult*sin(ang2-1.5); +per_pixel_7=dy = dy + mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets/presets_tryptonaut/Geiss - Eggs.milk b/presets/presets_tryptonaut/Geiss - Eggs.milk new file mode 100755 index 0000000000..efda8e433f --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Eggs.milk @@ -0,0 +1,54 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.500000 +fWaveScale=2.720000 +fWaveSmoothing=0.770000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.420000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=zoom=zoom+0.27*sin(time*1.55+rad*5); diff --git a/presets/presets_tryptonaut/Geiss - El Cubismo.milk b/presets/presets_tryptonaut/Geiss - El Cubismo.milk new file mode 100755 index 0000000000..822f71e45c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - El Cubismo.milk @@ -0,0 +1,55 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.500000 +fWaveScale=2.720000 +fWaveSmoothing=0.770000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.420000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=dx=dx-0.05*sin(time*1.35+(x*2-1)*18); +per_pixel_2=dy=dy-0.05*sin(time*1.79+(y*2-1)*9); diff --git a/presets/presets_tryptonaut/Geiss - Explosion 2.milk b/presets/presets_tryptonaut/Geiss - Explosion 2.milk new file mode 100755 index 0000000000..ab77a13bb3 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Explosion 2.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.5 +fWaveScale=2.122 +fWaveSmoothing=0.783 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.410 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.02300 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.75 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_tryptonaut/Geiss - Explosion 3.milk b/presets/presets_tryptonaut/Geiss - Explosion 3.milk new file mode 100755 index 0000000000..6c8c7288c2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Explosion 3.milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.3 +fWaveScale=2.122 +fWaveSmoothing=0.333 +fWaveParam=0.0 +fModWaveAlphaStart=0.990 +fModWaveAlphaEnd=1.470 +fWarpAnimSpeed=1.0 +fWarpScale=1.503 +fZoomExponent=0.13267 +fShader=0.0 +zoom=1.01489 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.04750 +sx=1.0 +sy=1.0 +wave_r=0.710 +wave_g=0.690 +wave_b=0.680 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4); +per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5); +per_frame_3=wave_b = 0.95 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6); +per_frame_4=//wave_r = sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = sqrt(wave_b); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_12=decay = decay - 0.01*equal(frame%6,0); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_18=wave_x = wave_x - dx_residual*7; +per_frame_19=wave_y = wave_y - dy_residual*7; +per_frame_20=wave_mystery = time*0.03; +per_frame_21= +per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5)); +per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1; +per_frame_24= +per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 ); +per_frame_26= +per_frame_27=q6 = dx*50; +per_frame_28=q7 = dy*50; +warp_1=`sampler sampler_lichen; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` // PAINTERLY EFFECT: +warp_6=` float2 uv2 = uv; +warp_7=` float2 delta2 = texsize.zw*float2(1,1); +warp_8=` float3 blurry_color = tex2D( sampler_main, +warp_9=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_10=` uv2.xy += (blurry_color.xy-0.5) * q1; +warp_11=` +warp_12=` // sample previous frame +warp_13=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_14=` +warp_15=` // push all colors toward 0.5: +warp_16=` ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001; +warp_17=` +warp_18=` float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2; +warp_19=` ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7); +warp_20=` +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = (ret-0.5)*3 + 0.5; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_tryptonaut/Geiss - Feedback 2.milk b/presets/presets_tryptonaut/Geiss - Feedback 2.milk new file mode 100755 index 0000000000..386b9ec18d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Feedback 2.milk @@ -0,0 +1,231 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.710682 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311604 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.207965 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.999997 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3); +shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1); +shape_1_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.800000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(time*2.17); +shape_2_per_frame2=y = y + 0.03*sin(time*1.83); +shape_2_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=60 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.161222 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = x + 0.2*sin(time*1.14); +shape_3_per_frame2=y = y + 0.1*sin(time*0.93+2); +per_frame_1=wave_mystery = time*0.2; diff --git a/presets/presets_tryptonaut/Geiss - Feedback.milk b/presets/presets_tryptonaut/Geiss - Feedback.milk new file mode 100755 index 0000000000..33555bb43d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Feedback.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311604 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459526 +fWarpScale=2.006761 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.460478 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.999997 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.749999 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_1_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame3=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame4=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame5=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame6=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame7=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame8=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.749999 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.800000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_2_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame3=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame4=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame5=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame6=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame7=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame8=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=60 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.700000 +shapecode_3_y=0.580000 +shapecode_3_rad=0.161222 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 diff --git a/presets/presets_tryptonaut/Geiss - Festive.milk b/presets/presets_tryptonaut/Geiss - Festive.milk new file mode 100755 index 0000000000..98d2666bd7 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Festive.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=4.077960 +fWaveSmoothing=0.900000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.070549 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = min(1,max(0,0.4*bass)); +per_frame_2=wave_g = min(1,max(0,0.4*mid)); +per_frame_3=wave_b = min(1,max(0,0.4*treb)); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.03*pow(0.5+0.5*sin(time*1.5),3.8); +per_pixel_1=zoom=(zoom-1.0)*rad+1.0; diff --git a/presets/presets_tryptonaut/Geiss - Fiberglass.milk b/presets/presets_tryptonaut/Geiss - Fiberglass.milk new file mode 100755 index 0000000000..696619ebfe --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Fiberglass.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.800000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100000 +fWaveScale=15.477304 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.163000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.358000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.737*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.844*time) + 0.40*sin(0.941*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.851*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dy = dy + 0.002*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%16,0); diff --git a/presets/presets_tryptonaut/Geiss - Flotsam.milk b/presets/presets_tryptonaut/Geiss - Flotsam.milk new file mode 100755 index 0000000000..e2af1cfbc1 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Flotsam.milk @@ -0,0 +1,63 @@ +[preset00] +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=4.099998 +fWaveScale=2.245670 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.012991 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.250000 +wave_x=0.500000 +wave_y=0.380000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.250*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.92*( 0.60*sin(0.374*time) + 0.40*sin(0.494*time) ); +per_frame_5=q2 = (cy*2-1) + 0.92*( 0.60*sin(0.393*time) + 0.40*sin(0.423*time) ); +per_frame_6=q3 = (cx*2-1) + 0.92*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_7=q4 = (cy*2-1) + 0.92*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.012/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = (x*2-1) - q3; +per_pixel_9=dv = (y*2-1) - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.012/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Flower Blossom.milk b/presets/presets_tryptonaut/Geiss - Flower Blossom.milk new file mode 100755 index 0000000000..aac6a30124 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Flower Blossom.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.499900 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.100000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.07*sin(rad*20+time*2.5); diff --git a/presets/presets_tryptonaut/Geiss - Four Kinds of Amphetamines.milk b/presets/presets_tryptonaut/Geiss - Four Kinds of Amphetamines.milk new file mode 100755 index 0000000000..21c5ed6586 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Four Kinds of Amphetamines.milk @@ -0,0 +1,47 @@ +[preset00] +fGammaAdj=0.800000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.970000 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.800000 +fWaveScale=1.053000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.488000 +fShader=1.000000 +zoom=1.316000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=zoom = zoom + 0.033*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Galaxy 1.milk b/presets/presets_tryptonaut/Geiss - Galaxy 1.milk new file mode 100755 index 0000000000..9978db080f --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Galaxy 1.milk @@ -0,0 +1,60 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.000000 +fWaveScale=1.053000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=-0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=0.990000 +wave_r=0.250000 +wave_g=0.250000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.120*( 0.60*sin(0.733*time) + 0.40*sin(0.345*time) ); +per_frame_2=wave_g = wave_g + 0.120*( 0.60*sin(0.600*time) + 0.40*sin(0.456*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.550*time) ); +per_pixel_1=rot=rot-0.082*(1-pow(abs(rad-0.3)*2.0, 0.3)); diff --git a/presets/presets_tryptonaut/Geiss - Galaxy 2.milk b/presets/presets_tryptonaut/Geiss - Galaxy 2.milk new file mode 100755 index 0000000000..5954e0e590 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Galaxy 2.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=1.970000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.000000 +fWaveScale=1.053000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.020000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.869267 +sx=1.000000 +sy=0.990000 +wave_r=0.250000 +wave_g=0.250000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.120*( 0.60*sin(0.733*time) + 0.40*sin(0.345*time) ); +per_frame_2=wave_g = wave_g + 0.120*( 0.60*sin(0.600*time) + 0.40*sin(0.456*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.550*time) ); +per_frame_4=dx=dx+0.004*sin(time*0.974); +per_frame_5=dy=dy+0.004*cos(time*0.705); +per_frame_6= +per_pixel_1=rot=rot+0.082*(1-pow(abs(rad-0.3)*2.0, 0.3)); +fRating=1.000000 diff --git a/presets/presets_tryptonaut/Geiss - Greenland.milk b/presets/presets_tryptonaut/Geiss - Greenland.milk new file mode 100755 index 0000000000..9f3e296575 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Greenland.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.989900 +fVideoEchoZoom=1.061000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.395453 +fWaveScale=0.135085 +fWaveSmoothing=0.500000 +fWaveParam=0.280000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=2.700000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.001000 +warp=0.319549 +sx=1.000000 +sy=1.000000 +wave_r=0.100000 +wave_g=1.000000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.540000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=rot = rot + 0.01*( 0.60*sin(0.337*time) + 0.40*sin(0.270*time) ); +per_frame_5=decay = decay - 0.03*equal(frame%4,0); +per_frame_6=wave_mystery = wave_mystery + 0.07*sin(time*0.09); +per_pixel_1=warp = warp*(x*2-1)*(y*2-1); diff --git a/presets/presets_tryptonaut/Geiss - Heavenly 1.milk b/presets/presets_tryptonaut/Geiss - Heavenly 1.milk new file mode 100755 index 0000000000..099da72ea3 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Heavenly 1.milk @@ -0,0 +1,50 @@ +[preset00] +fGammaAdj=1.993000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.300000 +fWaveScale=1.151736 +fWaveSmoothing=0.100000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.280549 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.012485 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay = decay - 0.01*(frame%2); +per_pixel_1=zoom=(zoom-1)*rad+1; +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Heavenly 2.milk b/presets/presets_tryptonaut/Geiss - Heavenly 2.milk new file mode 100755 index 0000000000..23b7e0606e --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Heavenly 2.milk @@ -0,0 +1,50 @@ +[preset00] +fGammaAdj=1.994000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.800000 +fWaveScale=1.151736 +fWaveSmoothing=0.100000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.280549 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.012485 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_pixel_1=zoom=(zoom-1)*rad+1; +fRating=4.000000 diff --git a/presets/presets_tryptonaut/Geiss - Heavenly 3.milk b/presets/presets_tryptonaut/Geiss - Heavenly 3.milk new file mode 100755 index 0000000000..a33f521ffc --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Heavenly 3.milk @@ -0,0 +1,55 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.994000 +fDecay=0.980000 +fVideoEchoZoom=2.205000 +fVideoEchoAlpha=0.300000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.151736 +fWaveSmoothing=0.100000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.280549 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.012485 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_pixel_1=zoom=(zoom-1)*rad+1; diff --git a/presets/presets_tryptonaut/Geiss - High Dynamic Range.milk b/presets/presets_tryptonaut/Geiss - High Dynamic Range.milk new file mode 100755 index 0000000000..09381943a5 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - High Dynamic Range.milk @@ -0,0 +1,227 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=32.544682 +fWaveScale=0.503666 +fWaveSmoothing=0.558000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000012 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.879999 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.060000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*1.4; +shape_0_per_frame2=x = q1; +shape_0_per_frame3=y = q2; +shape_0_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1= +per_frame_2=// in this example, q1 and q2 act as the center of zooming +per_frame_3=// AND as the position of custom shape #1... +per_frame_4=q1 = 0.5 + 0.32*cos(time*0.4); +per_frame_5=q2 = 0.5 + 0.22*sin(time*0.4); +per_frame_6= +per_frame_7=//wave_x = q1; +per_frame_8=wave_y = q2; +per_pixel_1=dx = (x-q1)*0.02; +per_pixel_2=dy = (y-q2)*0.02; +per_pixel_3= diff --git a/presets/presets_tryptonaut/Geiss - Hyperion.milk b/presets/presets_tryptonaut/Geiss - Hyperion.milk new file mode 100755 index 0000000000..9115d8a2fe --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Hyperion.milk @@ -0,0 +1,51 @@ +[preset00] +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=8.200001 +fWaveScale=3.227871 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.050000 +fModWaveAlphaEnd=1.650000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.205000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.016046 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.600000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); diff --git a/presets/presets_tryptonaut/Geiss - Inkblot.milk b/presets/presets_tryptonaut/Geiss - Inkblot.milk new file mode 100755 index 0000000000..1621bf51fd --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Inkblot.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=1.010137 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=2.500000 +fWaveScale=2.202000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.196462 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=0.600000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.300*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%2,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.3); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Iris.milk b/presets/presets_tryptonaut/Geiss - Iris.milk new file mode 100755 index 0000000000..9c8503ce2c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Iris.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.972750 +fWaveScale=0.656000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=10.400000 +fShader=0.000000 +zoom=1.124000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.200*( 0.60*sin(1.321*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.200*( 0.60*sin(1.742*time) + 0.40*sin(1.422*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.070*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_7=cx = cx + 0.090*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_8=cy = cy + 0.097*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%70,0); +per_frame_10= +per_frame_11=dx = dx + dx_residual; +per_frame_12=dy = dy + dy_residual; +per_frame_13=bass_thresh = above(bass_att,bass_thresh)*2.5 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.98+1.4); +per_frame_14=dx_residual = equal(bass_thresh,2.5)*0.016*sin(time*7) + (1-equal(bass_thresh,2.5))*dx_residual; +per_frame_15=dy_residual = equal(bass_thresh,2.5)*0.012*sin(time*9) + (1-equal(bass_thresh,2.5))*dy_residual; +per_pixel_1=rot=rot+rad*0.14*sin(0.6186*time); diff --git a/presets/presets_tryptonaut/Geiss - Julia Fractal 1.milk b/presets/presets_tryptonaut/Geiss - Julia Fractal 1.milk new file mode 100755 index 0000000000..9ed19ea2ef --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Julia Fractal 1.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.000000 +zoom=0.980000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets/presets_tryptonaut/Geiss - Julia Fractal 2.milk b/presets/presets_tryptonaut/Geiss - Julia Fractal 2.milk new file mode 100755 index 0000000000..9624475bc9 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Julia Fractal 2.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=3.00000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.000000 +zoom=0.980000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.070000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.025000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); +per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); +per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); +per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_frame_13=decay = decay - 0.01*equal(frame%50,0); +per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); +per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); +per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets/presets_tryptonaut/Geiss - Liquid Beats (janky ripple warp reflecto).milk b/presets/presets_tryptonaut/Geiss - Liquid Beats (janky ripple warp reflecto).milk new file mode 100755 index 0000000000..36fc0aa52a --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Liquid Beats (janky ripple warp reflecto).milk @@ -0,0 +1,284 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.200 +fWaveScale=3.587 +fWaveSmoothing=0.900 +fWaveParam=-0.280 +fModWaveAlphaStart=0.970 +fModWaveAlphaEnd=1.670 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01459 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.650 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`ret = 1.25*GetBlur3(uv)-.25*GetBlur1(uv); +warp_5=` +warp_6=`uv *= (1+.15*tan(1.33*GetBlur1(saturate(ret.xy)))); +warp_7=`uv -= .075*tan(1.33*GetBlur1(saturate(ret.xy))); +warp_8=` +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv ).xyz; +warp_12=` +warp_13=` // feather pen +warp_14=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_15=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_16=` +warp_17=` // darken over time +warp_18=` ret -= 0.024; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo2 = (uv - 0.5)*1.000*float2(-1,1) + 0.5; +comp_6=` float3 ret3 = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_7=` float3 ret4 = tex2D(sampler_main, uv_echo2).xyz*+saturate(GetBlur2(uv_echo2)*2.8 - 0.13); +comp_8=` ret3 = abs(ret3-ret4); +comp_9=` ret3 *= sqrt(ret3); //darken +comp_10=` ret3 *= float3(.9,1.6,2.3); +comp_11=` ret3 *= 3; //gamma +comp_12=` ret3 = pow(ret3,1-ret3); +comp_13=` +comp_14=` +comp_15=`uv *=2 ; +comp_16=`float2 m = floor(frac(uv*0.5)*2); +comp_17=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_18=` uv = float2(rad,uv.y); +comp_19=` +comp_20=` +comp_21=` float2 uv_echo = (uv.yx - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_22=` ret = tex2D(sampler_main, uv.yx).xyz*+saturate(GetBlur2(uv.yx)*2.8 - 0.13); +comp_23=` float3 ret2 = tex2D(sampler_main, uv_echo).xyz*+saturate(GetBlur2(uv_echo)*2.8 - 0.13); +comp_24=` ret = lerp(ret,ret2,.5); +comp_25=` ret *= ret; //darken +comp_26=` ret *= float3(.9,1.6,2.3); +comp_27=` ret *= 3; //gamma +comp_28=` //ret *= 2; +comp_29=` //ret = pow(ret,5); +comp_30=` ret = .5*lum(ret); +comp_31=` ret = max(ret3,.8*ret.zxy); +comp_32=`} diff --git a/presets/presets_tryptonaut/Geiss - Luz.milk b/presets/presets_tryptonaut/Geiss - Luz.milk new file mode 100755 index 0000000000..04b52e169d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Luz.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.200000 +fWaveScale=71.269997 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.014000 +rot=-0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%30,0); +per_pixel_1=rot=rot+0.04*rad*cos(ang*4+time*1.9); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Mash-Up 1.milk b/presets/presets_tryptonaut/Geiss - Mash-Up 1.milk new file mode 100755 index 0000000000..7c6b5ccfe2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Mash-Up 1.milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.168430 +fWaveScale=2.827000 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.630000 +fModWaveAlphaEnd=0.870000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.050012 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.015077 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.720000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=r = 0. +wave_0_per_point1=x = sa +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_pixel_1=dx = (x-0.5)*0.02; +per_pixel_2=dy = (y-0.5)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur1(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/Geiss - Mega Swirl 1.milk b/presets/presets_tryptonaut/Geiss - Mega Swirl 1.milk new file mode 100755 index 0000000000..e5bfb1d6f8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Mega Swirl 1.milk @@ -0,0 +1,48 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=3.300000 +fWaveScale=1.170000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Mega Swirl 2.milk b/presets/presets_tryptonaut/Geiss - Mega Swirl 2.milk new file mode 100755 index 0000000000..5035b22399 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Mega Swirl 2.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=1.170000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Mega Swirl 3.milk b/presets/presets_tryptonaut/Geiss - Mega Swirl 3.milk new file mode 100755 index 0000000000..4d81c71d6f --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Mega Swirl 3.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.500000 +fWaveScale=0.621787 +fWaveSmoothing=0.500000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=zoom=zoom+0.04*sin(time*1.2+ang*6.28*3); diff --git a/presets/presets_tryptonaut/Geiss - Microcosm.milk b/presets/presets_tryptonaut/Geiss - Microcosm.milk new file mode 100755 index 0000000000..867a3a1ba2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Microcosm.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.200000 +fWaveScale=1.981000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); diff --git a/presets/presets_tryptonaut/Geiss - Mosaic Octopus.milk b/presets/presets_tryptonaut/Geiss - Mosaic Octopus.milk new file mode 100755 index 0000000000..d9fe6b5cd1 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Mosaic Octopus.milk @@ -0,0 +1,251 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.426125 +fWaveScale=1.234584 +fWaveSmoothing=0.360000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.529999 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.740000 +wave_b=0.670000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v1 = normalize(uv_orig-0.5); +warp_4=` float2 v2 = v1.yx * float2(1,-1); +warp_5=` +warp_6=` float z = length(texsize.zw)*450; +warp_7=` +warp_8=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_9=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.002)*0.99; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //gamma +comp_5=`} diff --git a/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Jelly V3).milk b/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Jelly V3).milk new file mode 100755 index 0000000000..b69d8bc41c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Jelly V3).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200 +fWaveScale=3.228 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.04500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*2.3)); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v*2.3)); +warp_12=` +warp_13=` // darken over time +warp_14=` ret *= 0.97; +warp_15=` +warp_16=` // add noise +warp_17=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_18=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=` +comp_13=` ret = lerp(ret,1-ret,.7*GetBlur1(uv_y)+.2*GetPixel(uv)); +comp_14=` ret = lerp(ret,ret-.1*GetBlur3(uv_y)+.1*GetBlur1(uv_y2)+.42*GetPixel(uv_y),.25); +comp_15=` //ret *= .75; +comp_16=` ret *= saturate(length(ret-0.5)*5); +comp_17=` //ret = ret.xy; +comp_18=` ret = lum(ret); +comp_19=` ret += 1.25; +comp_20=` ret *= ret*.45; +comp_21=` float3 mask = GetBlur3(uv)-GetBlur1(uv)-.25*GetBlur2(uv_y); +comp_22=` ret *= lerp(ret,1.3*ret*mask,pow(hue_shader.zxy,ret)); +comp_23=` ret += .04; +comp_24=` ret *= .9*ret; +comp_25=` ret *= (hue_shader.zxy*4)-2.75; +comp_26=` ret *= 2.5-ret; +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Stahl's Neon Jelly 2 RMX).milk b/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Stahl's Neon Jelly 2 RMX).milk new file mode 100755 index 0000000000..25b90b31bd --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Motion Blur 2 (Stahl's Neon Jelly 2 RMX).milk @@ -0,0 +1,281 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200 +fWaveScale=3.228 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.20500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)*0.3-GetBlur1(uv)),pow(hue_shader.xzy,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Geiss - Music Box.milk b/presets/presets_tryptonaut/Geiss - Music Box.milk new file mode 100755 index 0000000000..f70c3579eb --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Music Box.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=4.000000 +fWaveScale=0.022504 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.041000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.001000 +warp=0.350933 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.570000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.480000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.01*equal(frame%6,0); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Myriad Spirals.milk b/presets/presets_tryptonaut/Geiss - Myriad Spirals.milk new file mode 100755 index 0000000000..dc83b2f256 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Myriad Spirals.milk @@ -0,0 +1,311 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.433 +fWaveScale=1.910 +fWaveSmoothing=0.000 +fWaveParam=-0.080 +fModWaveAlphaStart=1.030 +fModWaveAlphaEnd=1.610 +fWarpAnimSpeed=1.729 +fWarpScale=2.108 +fZoomExponent=1.64463 +fShader=0.000 +zoom=1.01901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.45599 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.500 +ob_b=0.250 +ob_a=0.160 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.700 +shapecode_0_g=0.700 +shapecode_0_b=1.000 +shapecode_0_a=0.170 +shapecode_0_r2=0.000 +shapecode_0_g2=0.200 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=rad = rad + 0.02*cos(time*3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q10 = 0; +per_frame_init_2=my_rot = 0; +per_frame_init_3=my_zoom = 1; +per_frame_init_4=s = 0.5; +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_5=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_12=wave_x = wave_x - dx_residual*7; +per_frame_13=wave_y = wave_y - dy_residual*7; +per_frame_14=wave_mystery = time*37.03; +per_frame_15= +per_frame_16=new_rot = rot + 0.013*( 0.60*sin(17.381*time) + 0.40*sin(11.579*time) ); +per_frame_17=new_zoom = zoom + 0.01*( 0.60*sin(20.1934*time+3) + 0.40*sin(16.307*time+9) ); +per_frame_18=new_warp = warp + 0.34*( 0.60*sin(13.5442*time) + 0.40*sin(22.543*time) ); +per_frame_19=new_cx = cx + 0.310*( 0.60*sin(16.374*time) + 0.40*sin(26.294*time) ); +per_frame_20=new_cy = cy + 0.310*( 0.60*sin(18.393*time) + 0.40*sin(37.223*time) ); +per_frame_21=new_s = rand(100)*0.01; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_29=decay_rate = pow(0.993, fps); // lower # = more hasty to declare a beat +per_frame_30=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_31=decay_to = 1.0; // lower # = more hasty to declare a beat +per_frame_32=beat = bass/max(min_att,bass_att); +per_frame_33=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_34=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_35=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_36=beat_level = (beat - prev_beat - 0.07)*24; +per_frame_37=is_beat = above(beat_level, 0.5); +per_frame_38=prev_beat = beat; +per_frame_39= // put your beat responses HERE: +per_frame_40= wave_a = beat_level + 1.65; +per_frame_41= rot = (1-is_beat)*my_rot + (is_beat)*new_rot; +per_frame_42= zoom = (1-is_beat)*my_zoom + (is_beat)*new_zoom; +per_frame_43= warp = (1-is_beat)*my_warp + (is_beat)*new_warp; +per_frame_44= cx = (1-is_beat)*my_cx + (is_beat)*new_cx; +per_frame_45= cy = (1-is_beat)*my_cy + (is_beat)*new_cy; +per_frame_46= s = (1-is_beat)*my_s + (is_beat)*new_s; +per_frame_47=my_rot = rot; +per_frame_48=my_zoom = zoom; +per_frame_49=my_warp = warp; +per_frame_50=my_cx = cx; +per_frame_51=my_cy = cy; +per_frame_52=my_s = s; +per_frame_53= +per_frame_54=q11 = s; +per_pixel_1=zoom = zoom + cos(ang*7)*0.02; +warp_1=`shader_body +warp_2=`{ +warp_3=` float s = 0.01 + pow(q11, 2); // should be < about 1 +warp_4=` float2 nz = tex3D( sampler_noisevol_hq, float3(uv_orig.xy*4*texsize.xy/850.0*s,time*0.1) ); +warp_5=` +warp_6=` float2 zz = uv_orig.xy * texsize.xy * 6 * 0.1 * s + nz*9; +warp_7=` uv.xy += float2(cos(zz.y),cos(zz.x))*texsize.zw * 1.7 / s; +warp_8=` +warp_9=` // sample previous frame +warp_10=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_11=` +warp_12=` ret.xyz *= 0.99; +warp_13=` +warp_14=` // add noise: +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_16=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_17=` //* saturate(treb_att-1); +warp_18=` *0.16; +warp_19=` +warp_20=` // color rotate & desaturate over time, to keep the globs white +warp_21=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.2); +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=`} +comp_6=` +comp_7=` diff --git a/presets/presets_tryptonaut/Geiss - Nautilus.milk b/presets/presets_tryptonaut/Geiss - Nautilus.milk new file mode 100755 index 0000000000..3cff073357 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Nautilus.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.058150 +fWaveSmoothing=0.750000 +fWaveParam=0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=-0.820000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=rot = rot + 0.73*sin(time*0.065); +per_frame_2=zoom=zoom+rot*0.2; +per_frame_3=warp=warp+max(0,(bass_att-1.2)*4.5); +per_frame_4=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_tryptonaut/Geiss - Octopus Blue.milk b/presets/presets_tryptonaut/Geiss - Octopus Blue.milk new file mode 100755 index 0000000000..7d805a9737 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Octopus Blue.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.179452 +fWaveScale=3.540751 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.030000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.450000 +wave_g=0.450000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=decay = decay - 0.02*equal(frame%5,0); +per_frame_8=q1=cos(1.41*time); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + time*-1.3 + q1*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*8.0 + rad*7.5 + time*-1.63 + q1); diff --git a/presets/presets_tryptonaut/Geiss - Octopus Ever Changing.milk b/presets/presets_tryptonaut/Geiss - Octopus Ever Changing.milk new file mode 100755 index 0000000000..132a43d41c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Octopus Ever Changing.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.868656 +fWaveScale=1.420825 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.950000 +wave_g=0.350000 +wave_b=0.450000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_frame_9=cx=cx+0.2*sin(q1*0.5); +per_frame_10=cy=cy+0.2*sin(q2*0.4); +per_pixel_1=rot=rot+0.05*sin(rad*(13.5 + 5.5*sin(time*0.1623)) + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*(7.5 + 1.5*sin(time*0.13)) + q2*1.63 + q); +per_pixel_3=zoom=zoom+0.05-0.05*rad; diff --git a/presets/presets_tryptonaut/Geiss - Octopus Fat and Ever Changing.milk b/presets/presets_tryptonaut/Geiss - Octopus Fat and Ever Changing.milk new file mode 100755 index 0000000000..8e4060afff --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Octopus Fat and Ever Changing.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=6.562210 +fWaveScale=0.838983 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.030000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.150000 +wave_b=0.350000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_frame_9=cx=cx+0.2*sin(q1*0.5); +per_frame_10=cy=cy+0.2*sin(q2*0.4); +per_pixel_1=rot=rot+0.05*sin(rad*(9.5 + 5.5*sin(time*0.1623)) + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*6 + rad*(5.5 + 1.5*sin(time*0.13)) + q2*1.63 + q); +per_pixel_3=zoom=zoom+0.05-0.05*rad; +per_pixel_4=rot=rot*rad; diff --git a/presets/presets_tryptonaut/Geiss - Octopus Gold with Dots.milk b/presets/presets_tryptonaut/Geiss - Octopus Gold with Dots.milk new file mode 100755 index 0000000000..1ab8626c7e --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Octopus Gold with Dots.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=6.562210 +fWaveScale=0.838983 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=2.143588 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.004791 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.600000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=8.000000 +nMotionVectorsY=6.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(3.422*time) + 0.40*sin(2.494*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.181*time) + 0.40*sin(0.279*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.174*time) + 0.40*sin(0.204*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.193*time) + 0.40*sin(0.237*time) ); +per_frame_7=zoom=zoom+0.01+0.037*sin(time*0.93) + 0.03*sin(time*0.01); +per_frame_8=q1=cos(0.23*time); +per_frame_9=q2=time + 0.3*sin(time*0.21); +per_frame_10=cx=cx+0.2*sin(q1*0.5); +per_frame_11=cy=cy+0.2*sin(q2*0.4); +per_pixel_1=rot=rot+0.05*sin(rad*(9.5 + 5.5*sin(time*0.0823)) + q2*1.3); +per_pixel_2=zoom=zoom+0.05*sin(ang*6 + rad*(5.5 + 1.5*sin(time*0.04)) + q2*1.63 + q); +per_pixel_3=zoom=zoom+0.05-0.05*rad; diff --git a/presets/presets_tryptonaut/Geiss - Octopus.milk b/presets/presets_tryptonaut/Geiss - Octopus.milk new file mode 100755 index 0000000000..11d2ea88e6 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Octopus.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.426125 +fWaveScale=1.881700 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.020000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.150000 +wave_b=0.350000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 1.000*( 0.60*sin(1.517*time) + 0.40*sin(1.580*time) ); +per_frame_2=wave_g = wave_g + 1.000*( 0.60*sin(1.088*time) + 0.40*sin(1.076*time) ); +per_frame_3=wave_b = wave_b + 1.000*( 0.60*sin(1.037*time) + 0.40*sin(0.922*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=q1=cos(1.41*time); +per_frame_8=q2=time + 0.3*sin(time*1.47); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); diff --git a/presets/presets_tryptonaut/Geiss - Oldskool Mellowstyle.milk b/presets/presets_tryptonaut/Geiss - Oldskool Mellowstyle.milk new file mode 100755 index 0000000000..2770cdb428 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Oldskool Mellowstyle.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.605000 +fWaveSmoothing=0.558000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.3*( 0.60*sin(0.633*time) + 0.40*sin(0.845*time) ); +per_frame_2=wave_g = wave_g + 0.3*( 0.60*sin(0.370*time) + 0.40*sin(0.656*time) ); +per_frame_3=wave_b = wave_b + 0.3*( 0.60*sin(0.740*time) + 0.40*sin(0.520*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.001; diff --git a/presets/presets_tryptonaut/Geiss - Pelota De Fuego.milk b/presets/presets_tryptonaut/Geiss - Pelota De Fuego.milk new file mode 100755 index 0000000000..f0bc3f8531 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Pelota De Fuego.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.500000 +fWaveScale=3.187000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.350000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.450*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_tryptonaut/Geiss - Pinch.milk b/presets/presets_tryptonaut/Geiss - Pinch.milk new file mode 100755 index 0000000000..b0f24c5650 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Pinch.milk @@ -0,0 +1,52 @@ +[preset00] +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=rot=rot+0.05+0.04*sin(ang*3+time*1.6); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Pistons.milk b/presets/presets_tryptonaut/Geiss - Pistons.milk new file mode 100755 index 0000000000..d4b194e494 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Pistons.milk @@ -0,0 +1,50 @@ +[preset00] +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.981000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.995000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.975000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_pixel_1=sx=sx+0.07*sin(rad*18 + time*9); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Geiss - Planet 1.milk b/presets/presets_tryptonaut/Geiss - Planet 1.milk new file mode 100755 index 0000000000..70f454ee2c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Planet 1.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300000 +fWaveScale=1.981000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(time*0.321)) + (y*2-1)*(0.08+0.15*cos(time*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; diff --git a/presets/presets_tryptonaut/Geiss - Planet 2.milk b/presets/presets_tryptonaut/Geiss - Planet 2.milk new file mode 100755 index 0000000000..d897fd2cd7 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Planet 2.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300000 +fWaveScale=1.981000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.050*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.300*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay=decay-0.01*equal(frame%3,0); +per_pixel_1=zoom=zoom-0.02*acos(x*2-1); diff --git a/presets/presets_tryptonaut/Geiss - Reaction Diffusion 2.milk b/presets/presets_tryptonaut/Geiss - Reaction Diffusion 2.milk new file mode 100755 index 0000000000..f51f364abf --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Reaction Diffusion 2.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015009 +fWaveSmoothing=0.522000 +fWaveParam=0.0 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.0 +fWarpScale=3.138000 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.009006 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000536 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=zoom = zoom + max(0,bass_att-1.1)*0.4; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` +comp_9=` //ret.xyz *= 2; // a little bit of overbright +comp_10=`} +comp_11=` +comp_12=` diff --git a/presets/presets_tryptonaut/Geiss - Reaction Diffusion 3 (Lichen Mix).milk b/presets/presets_tryptonaut/Geiss - Reaction Diffusion 3 (Lichen Mix).milk new file mode 100755 index 0000000000..52f1eb33b8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Reaction Diffusion 3 (Lichen Mix).milk @@ -0,0 +1,296 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.1; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 4; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x))*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z += 0; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (GetBlur2(uv2) - GetPixel(uv2))*0.1*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` +warp_36=` // add noise: +warp_37=` ret += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_38=` +warp_39=` // darken (decay) over time +warp_40=` //ret = (ret - 0.002)*0.99; +warp_41=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret.xzy; +comp_5=`} diff --git a/presets/presets_tryptonaut/Geiss - Reducto Absurdum.milk b/presets/presets_tryptonaut/Geiss - Reducto Absurdum.milk new file mode 100755 index 0000000000..3e29f0bd06 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Reducto Absurdum.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.042000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.213*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx=cx+(zoom-1)*7; +per_frame_7=cy=cy+rot*2; +per_frame_8=sx=sx-max(0,(bass_att-1.2)); +per_frame_9=sy=sy-max(0,(treb_att-1.2)); diff --git a/presets/presets_tryptonaut/Geiss - Reducto Ad Nauseum.milk b/presets/presets_tryptonaut/Geiss - Reducto Ad Nauseum.milk new file mode 100755 index 0000000000..a6b46e369d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Reducto Ad Nauseum.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.042000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.213*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx=cx+(zoom-1)*7; +per_frame_7=cy=cy+rot*2; +per_frame_8=sx=sx+max(0,(bass_att-1.2)); +per_frame_9=sy=sy+max(0,(treb_att-1.2)); diff --git a/presets/presets_tryptonaut/Geiss - Rocket.milk b/presets/presets_tryptonaut/Geiss - Rocket.milk new file mode 100755 index 0000000000..682924924b --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Rocket.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=0.559607 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.300000 +fShader=0.000000 +zoom=1.046000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.025000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.620000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%80,0); +per_pixel_1=sy=sy-0.1*log10(y*2+0.2); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Rose 4 (bccn Jelly V4).milk b/presets/presets_tryptonaut/Geiss - Rose 4 (bccn Jelly V4).milk new file mode 100755 index 0000000000..70c34fd375 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Rose 4 (bccn Jelly V4).milk @@ -0,0 +1,280 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200 +fWaveScale=1.013 +fWaveSmoothing=0.900 +fWaveParam=-0.280 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.02349 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.650 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.01; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=`//Shader composition by Stahlregen +comp_6=` +comp_7=` float2 d = texsize.zw*6; +comp_8=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_9=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_10=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_11=` +comp_12=`ret = .3*GetBlur3(uv); +comp_13=`ret -= (GetBlur2(uv)-.01); +comp_14=`ret += GetPixel(uv)+GetBlur1(uv)*.15-.01; +comp_15=`ret += .75; +comp_16=`ret = lum(ret); +comp_17=`ret = lerp(ret,ret*lum(.785*GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_18=` +comp_19=`float3 ret2 = -.3*GetBlur3(uv_y); +comp_20=`ret2 += GetBlur1(uv_y); +comp_21=`ret2 -= GetPixel(uv_y); +comp_22=`ret2 -= .75; +comp_23=`ret2 = lum(ret2); +comp_24=`ret2 = lerp(ret2,ret2*lum(.785*GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_25=` +comp_26=`ret = abs(ret-2*ret2); +comp_27=`//ret = ret2; +comp_28=` +comp_29=`ret -= .15*sqrt(ret); +comp_30=`ret *= ret; +comp_31=`} diff --git a/presets/presets_tryptonaut/Geiss - Runoff.milk b/presets/presets_tryptonaut/Geiss - Runoff.milk new file mode 100755 index 0000000000..27af19e4e8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Runoff.milk @@ -0,0 +1,52 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=1.605000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%60,0); +per_pixel_1=warp=warp+pow(rad,1.3)*2.0; diff --git a/presets/presets_tryptonaut/Geiss - Scary.milk b/presets/presets_tryptonaut/Geiss - Scary.milk new file mode 100755 index 0000000000..2ed64f4353 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Scary.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.004851 +fWaveScale=2.868000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=6.322000 +fWarpScale=3.138000 +fZoomExponent=2.600000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.005000 +warp=5.560000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.570000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.530000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Script.milk b/presets/presets_tryptonaut/Geiss - Script.milk new file mode 100755 index 0000000000..cfebc9d77b --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Script.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.000000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.200000 +fWaveScale=3.541000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.110000 +fModWaveAlphaEnd=1.410000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=3.200000 +fShader=0.000000 +zoom=1.042000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.210000 +sx=1.000000 +sy=1.000000 +wave_r=0.550000 +wave_g=0.550000 +wave_b=0.550000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.737*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.844*time) + 0.40*sin(0.941*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.851*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dy = dy + 0.002*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Serpent.milk b/presets/presets_tryptonaut/Geiss - Serpent.milk new file mode 100755 index 0000000000..58504ea47d --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Serpent.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.369668 +fWaveScale=1.300000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.004000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%200,0); +per_pixel_1=sx=sx+0.05*sin((y*2-1)*6+time*1.53+(x*2-1)*3.2); +per_pixel_2=sy=sy+0.05*cos((x*2-1)*8+time*1.71+(y*2-1)*4.3); diff --git a/presets/presets_tryptonaut/Geiss - Shake.milk b/presets/presets_tryptonaut/Geiss - Shake.milk new file mode 100755 index 0000000000..4f20c24359 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Shake.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.500000 +fWaveScale=1.981000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=-0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q1=max(0,bass-1)*0.04; +per_frame_5=dx=dx+q1*sin(time*71.2); +per_frame_6=dy=dy+q1*cos(time*97.2); diff --git a/presets/presets_tryptonaut/Geiss - Shift.milk b/presets/presets_tryptonaut/Geiss - Shift.milk new file mode 100755 index 0000000000..2b11be8737 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Shift.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.994000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.151736 +fWaveSmoothing=0.100000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.280549 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.012485 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=(zoom-1)*rad+1; diff --git a/presets/presets_tryptonaut/Geiss - Sinews 2.milk b/presets/presets_tryptonaut/Geiss - Sinews 2.milk new file mode 100755 index 0000000000..f7ace2bede --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Sinews 2.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.997000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.800000 +fWaveScale=1.170000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000415 +fShader=0.000000 +zoom=0.986000 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.002710 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=ib_r = ib_r + 0.1*sin(time*0.5413); +per_frame_8=ib_g = ib_g + 0.1*sin(time*0.6459); +per_frame_9=ib_b = ib_b + 0.1*sin(time*0.4354); +per_frame_10=blah = 0.6/(ib_r+ib_g+ib_b); +per_frame_11=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_pixel_1=cx=0.5 + 0.4*cos(ang+time*0.397-rad); +per_pixel_2=cy=0.5 + 0.4*sin(ang+time*0.78+rad); diff --git a/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3 - pig fuck - jembe acid wretch dildonic.milk b/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3 - pig fuck - jembe acid wretch dildonic.milk new file mode 100755 index 0000000000..c037642597 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3 - pig fuck - jembe acid wretch dildonic.milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207 +fWaveScale=0.397 +fWaveSmoothing=0.000 +fWaveParam=0.240 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=1.170 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.003*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.0040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%2,0); +per_pixel_1=zoom=zoom+(y*2-1)*(0.06+0.12*sin(time*0.351))-(x*2-1)*(0.06+0.12*cos(time*0.351)); +per_pixel_2=rot=rot+(zoom-1.0)*0.16; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret=tex2D(sampler_main,uv); +comp_4=`//ret=lum(ret)>0+(lum(ret)<=0.75)*ret; +comp_5=`ret=pow(GetBlur1(uv).xyz/treb_att,1-lum(saturate(ret.xyz))); +comp_6=`ret=pow(GetBlur2(uv).xyz/bass_att,1-lum(saturate(ret.xyz))); +comp_7=`ret=1-ret; +comp_8=`} diff --git a/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3.milk b/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3.milk new file mode 100755 index 0000000000..4448b01fb2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Skin Dots Multi-layer 3.milk @@ -0,0 +1,274 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=2.0 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.207218 +fWaveScale=0.397108 +fWaveSmoothing=0.0 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.170000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.039840 +fZoomExponent=2.194764 +fShader=0.0 +zoom=1.029709 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.098617 +sx=1.0 +sy=1.0 +wave_r=1.0 +wave_g=0.999999 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%20,0); +per_frame_7=//zoom = 1; +per_frame_8=//warp = 0; +per_frame_9=zoom = zoom + 0.7*(0.01*cos(time*0.317+1) + 0.01*cos(time*0.1132+4)); +per_frame_10=rot = rot + 0.5*(0.01*cos(time*0.214+3) + 0.01*cos(time*0.2732+2)); +per_frame_11=wave_mystery = time*0.05; +per_frame_12=//zoom = zoom + (max(1, bass_att)-1)*0.01; +per_frame_13= +per_frame_14=rot = rot + min(0.3,pow(max(0,bass_att-1),2)*0.2); +per_pixel_1=zoom = zoom + 0.005*cos(ang*5 + time*1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 112; +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` //ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).zzz; +comp_4=` +comp_5=` float crisp, blur; +comp_6=` float2 uv2; +comp_7=` +comp_8=` float shadow_offset = 0.0; +comp_9=` float shadow_str = 1.15; +comp_10=` +comp_11=` uv2 = (uv-0.5)*0.8+0.5; +comp_12=` crisp = tex2D(sampler_main, uv2).y; +comp_13=` // add drop shadow: +comp_14=` blur = GetBlur1(uv2 + shadow_offset).y; +comp_15=` ret *= (1-blur*shadow_str); +comp_16=` ret = max(ret, crisp.xxx); +comp_17=` +comp_18=` uv2 = uv; +comp_19=` crisp = tex2D(sampler_main, uv2).x; +comp_20=` // add drop shadow: +comp_21=` blur = GetBlur1(uv2 + shadow_offset).x; +comp_22=` ret *= (1-blur*shadow_str); +comp_23=` ret = max(ret, crisp.xxx); +comp_24=`} diff --git a/presets/presets_tryptonaut/Geiss - Smoke.milk b/presets/presets_tryptonaut/Geiss - Smoke.milk new file mode 100755 index 0000000000..74836a87cb --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Smoke.milk @@ -0,0 +1,52 @@ +[preset00] +fGammaAdj=1.994000 +fDecay=1.000000 +fVideoEchoZoom=1.728000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.783000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.611000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.015000 +warp=0.423967 +sx=0.985185 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.140000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.849*time) + 0.40*sin(1.090*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.711*time) + 0.40*sin(0.982*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.737*time) + 0.40*sin(1.012*time) ); +per_frame_4=cx = cx + 0.03*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.03*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_7=decay=decay-0.02*pow(0.5+0.5*sin(time*1.5),3.8); diff --git a/presets/presets_tryptonaut/Geiss - Solar Flare (Blue).milk b/presets/presets_tryptonaut/Geiss - Solar Flare (Blue).milk new file mode 100755 index 0000000000..0a4da2b4fd --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Solar Flare (Blue).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.000000 +fWaveScale=0.387000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=2.600000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.005000 +warp=0.123000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.570000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(2.137*time) + 0.40*sin(1.770*time) ); +per_frame_2=wave_g = wave_g + 0.300*( 0.60*sin(1.944*time) + 0.40*sin(1.541*time) ); +per_frame_3=wave_b = wave_b + 0.250*( 0.60*sin(1.251*time) + 0.40*sin(1.655*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.03*equal(frame%2,0); diff --git a/presets/presets_tryptonaut/Geiss - Sound And The Fury.milk b/presets/presets_tryptonaut/Geiss - Sound And The Fury.milk new file mode 100755 index 0000000000..246986c026 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Sound And The Fury.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.900000 +fWaveScale=0.769339 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.135000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.280000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_b = wave_b + min(1,max(0,(bass_att-1)*1.5)); +per_frame_2=wave_r = wave_b*0.4; +per_frame_3=wave_g = wave_b*0.4; +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.005*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.005*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.009*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9= +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2.5 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.98+1.4); +per_frame_13=dx_residual = equal(bass_thresh,2.5)*0.016*sin(time*7) + (1-equal(bass_thresh,2.5))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.5)*0.012*sin(time*9) + (1-equal(bass_thresh,2.5))*dy_residual; +per_pixel_1=zoom = zoom + 0.1*rad; diff --git a/presets/presets_tryptonaut/Geiss - Space Voyage (High-Warp).milk b/presets/presets_tryptonaut/Geiss - Space Voyage (High-Warp).milk new file mode 100755 index 0000000000..6e1a0b8822 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Space Voyage (High-Warp).milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=1.900000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=1.200000 +fWaveScale=1.694000 +fWaveSmoothing=0.400000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.300000 +fShader=0.000000 +zoom=1.042000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.683000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); diff --git a/presets/presets_tryptonaut/Geiss - Space Voyage Bright.milk b/presets/presets_tryptonaut/Geiss - Space Voyage Bright.milk new file mode 100755 index 0000000000..6641f860f0 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Space Voyage Bright.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=1.900000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=1.100000 +fWaveScale=1.694000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); diff --git a/presets/presets_tryptonaut/Geiss - Space Voyage.milk b/presets/presets_tryptonaut/Geiss - Space Voyage.milk new file mode 100755 index 0000000000..487ba11a3b --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Space Voyage.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=1.642000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.100000 +fWaveScale=1.694000 +fWaveSmoothing=0.400000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.053000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Spacedust.milk b/presets/presets_tryptonaut/Geiss - Spacedust.milk new file mode 100755 index 0000000000..90b3250231 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Spacedust.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.600000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.900000 +fWaveScale=1.372000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.099000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.564000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.637*time) + 0.40*sin(0.570*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.744*time) + 0.40*sin(0.641*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.751*time) + 0.40*sin(0.555*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dy = dy + 0.002*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Spiral Artifact.milk b/presets/presets_tryptonaut/Geiss - Spiral Artifact.milk new file mode 100755 index 0000000000..f12add9a10 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Spiral Artifact.milk @@ -0,0 +1,286 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=3.630 +fWaveSmoothing=0.900 +fWaveParam=-0.300 +fModWaveAlphaStart=1.150 +fModWaveAlphaEnd=1.550 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=rot_sum = 0; +per_frame_init_2=q2 = 0.07 + 0.04*rand(1000)*0.001 + 0.03*rand(1000)*0.001; +per_frame_init_3=q3 = 1.035 + 0.06*(rand(1000)+rand(1000)+rand(1000))*0.000333; +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(1.980*time) + 0.40*sin(3.047*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(2.835*time) + 0.40*sin(2.081*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(3.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = 0.5;//cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = 0.5;//cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6= +per_frame_7=rot = q2;//0.13;//6.28*(rand(737)/737.0 - 0.5) * 0.03; +per_frame_8=zoom = zoom-1 + q3; +per_frame_9=rot_sum = rot_sum + rot; +per_frame_10=q1 = -rot_sum; +per_frame_11=q5 = cos(rot_sum); +per_frame_12=q6 = sin(rot_sim); +per_frame_13=monitor = q2; +per_frame_14= +per_frame_15=// custom beat detection code: (fps-independent; quiet songs don't freak out) +per_frame_16=min_att = 2.5; // lower # = quieter songs can declare beats +per_frame_17=decay_to = 0.8; // lower # = more hasty to declare a beat +per_frame_18=decay_rate = pow(0.9990, fps); // lower # = more hasty to declare a beat +per_frame_19=beat = bass/max(min_att,bass_att); +per_frame_20=beat = max(beat, mid /max(min_att,mid_att )); +per_frame_21=beat = max(beat, treb/max(min_att,treb_att)); +per_frame_22=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to ); +per_frame_23=beat_level = (beat - prev_beat - 0.02)*24; +per_frame_24=is_beat = above(beat_level, 0.5); +per_frame_25=prev_beat = beat; +per_frame_26= // put your beat responses HERE: +per_frame_27= wave_a = beat_level; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004;//*= 0.95; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 orig = uv; +comp_4=` +comp_5=` float inv_zoom = min(aspect.x,aspect.y)*0.8; +comp_6=` //float t = saturate(time*0.33); +comp_7=` //t = t*t*(3 - 2*t); +comp_8=` //inv_zoom = lerp(1, inv_zoom, t); +comp_9=` +comp_10=` uv -= 0.5; +comp_11=` uv *= inv_zoom; +comp_12=` uv *= aspect.xy; +comp_13=` +comp_14=` float2 uv2; +comp_15=` uv2.x = uv.x*cos(q1) - uv.y*sin(q1); +comp_16=` uv2.y = uv.x*sin(q1) + uv.y*cos(q1); +comp_17=` uv2 *= aspect.zw; +comp_18=` uv2 += 0.5; +comp_19=` +comp_20=` ret = abs( tex2D(sampler_main, uv2).xyz*2.65 +comp_21=` + GetBlur1(uv2)*-2 ); +comp_22=` +comp_23=` ret.xyz *= 1.5; +comp_24=`} +comp_25=` +comp_26=` diff --git a/presets/presets_tryptonaut/Geiss - Starfish 1.milk b/presets/presets_tryptonaut/Geiss - Starfish 1.milk new file mode 100755 index 0000000000..5c7d0e4127 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Starfish 1.milk @@ -0,0 +1,52 @@ +[preset00] +fGammaAdj=1.850000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.6); diff --git a/presets/presets_tryptonaut/Geiss - Starfish 2.milk b/presets/presets_tryptonaut/Geiss - Starfish 2.milk new file mode 100755 index 0000000000..4f797e86c5 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Starfish 2.milk @@ -0,0 +1,47 @@ +[preset00] +fGammaAdj=1.500000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.990000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=1.700000 +fWaveScale=2.202000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%2,1); +per_pixel_1=zoom=zoom+0.04*sin(ang*5+time*2.6); diff --git a/presets/presets_tryptonaut/Geiss - Sunsets.milk b/presets/presets_tryptonaut/Geiss - Sunsets.milk new file mode 100755 index 0000000000..a08d1a5129 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Sunsets.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.990000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.700000 +fWaveScale=0.453000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=25.548000 +fZoomExponent=0.400000 +fShader=0.000000 +zoom=1.099000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.417000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.550000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=decay = decay - 0.01*equal(frame%20,0); diff --git a/presets/presets_tryptonaut/Geiss - Supernova 1.milk b/presets/presets_tryptonaut/Geiss - Supernova 1.milk new file mode 100755 index 0000000000..c5717049d2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Supernova 1.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.990000 +fVideoEchoZoom=1.089924 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.200000 +fWaveScale=0.810235 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.371990 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.041800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.238010 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.150*( 0.60*sin(1.037*time) + 0.40*sin(0.370*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(0.944*time) + 0.40*sin(0.441*time) ); +per_frame_3=wave_b = wave_b + 0.150*( 0.60*sin(0.851*time) + 0.40*sin(0.55*time) ); +per_frame_4=rot = rot + 0.007*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.005*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.005*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=my_rad = sqrt(my_x*my_x + my_y*my_y); +per_frame_10=my_mod = 16 - 14*below(my_rad,0.2); +per_frame_11=decay = decay - 0.01*equal(frame%my_mod,0); +per_frame_12=my_x = 0.2*sin(time*0.392) + 0.2*sin(time*0.551+2); +per_frame_13=my_y = 0.2*sin(time*0.322+1) + 0.2*sin(time*0.611+3); +per_frame_14=dx = dx + 0.03*my_x; +per_frame_15=dy = dy + 0.03*my_y; +per_frame_16=wave_x = wave_x - 0.89*my_x; +per_frame_17=wave_y = wave_y + 0.89*my_y; +per_frame_18= +per_frame_19= diff --git a/presets/presets_tryptonaut/Geiss - Supernova 2.milk b/presets/presets_tryptonaut/Geiss - Supernova 2.milk new file mode 100755 index 0000000000..66bc9a0c1c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Supernova 2.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.990000 +fVideoEchoZoom=1.089924 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.200000 +fWaveScale=0.810235 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.264809 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.051800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.000000 +warp=0.238010 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.150*( 0.60*sin(1.037*time) + 0.40*sin(0.370*time) ); +per_frame_2=wave_g = wave_g + 0.150*( 0.60*sin(0.944*time) + 0.40*sin(0.441*time) ); +per_frame_3=wave_b = wave_b + 0.150*( 0.60*sin(0.851*time) + 0.40*sin(0.55*time) ); +per_frame_4=rot = rot + 0.005*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.005*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.005*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay + 0.01*equal(frame%8,0); +per_frame_10=my_x = 0.2*sin(time*0.392) + 0.2*sin(time*0.551+2); +per_frame_11=my_y = 0.2*sin(time*0.322+1) + 0.2*sin(time*0.611+3); +per_frame_12=dx = dx + 0.03*my_x; +per_frame_13=dy = dy + 0.03*my_y; +per_frame_14=wave_x = wave_x - 0.89*my_x; +per_frame_15=wave_y = wave_y + 0.89*my_y; diff --git a/presets/presets_tryptonaut/Geiss - Surface.milk b/presets/presets_tryptonaut/Geiss - Surface.milk new file mode 100755 index 0000000000..d0adab128a --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Surface.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.706706 +fWaveScale=0.234487 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.014000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.029439 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Swirl 1.milk b/presets/presets_tryptonaut/Geiss - Swirl 1.milk new file mode 100755 index 0000000000..6570b350a2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirl 1.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=1.170000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2.5 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.98+1.4); +per_frame_10=dx_residual = equal(bass_thresh,2.5)*0.006*sin(time*7) + (1-equal(bass_thresh,2.5))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2.5)*0.0045*sin(time*9) + (1-equal(bass_thresh,2.5))*dy_residual; +per_pixel_1=rot=rot+0.04*sin(time*-2.7+rad*13)*(1.3-rad); diff --git a/presets/presets_tryptonaut/Geiss - Swirl 2.milk b/presets/presets_tryptonaut/Geiss - Swirl 2.milk new file mode 100755 index 0000000000..183e4c42b8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirl 2.milk @@ -0,0 +1,52 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=1.170000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.286678 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=rot=rot+0.04*sin(time*-2.7+rad*13)*(1.3-rad); diff --git a/presets/presets_tryptonaut/Geiss - Swirlie 1.milk b/presets/presets_tryptonaut/Geiss - Swirlie 1.milk new file mode 100755 index 0000000000..1baddce871 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirlie 1.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.961000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.771011 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.500000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_7=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_8=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_12= diff --git a/presets/presets_tryptonaut/Geiss - Swirlie 2.milk b/presets/presets_tryptonaut/Geiss - Swirlie 2.milk new file mode 100755 index 0000000000..4783c9abb0 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirlie 2.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.994000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.961000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.771011 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.030000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.100000 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_7=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_8=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_12= diff --git a/presets/presets_tryptonaut/Geiss - Swirlie 3.milk b/presets/presets_tryptonaut/Geiss - Swirlie 3.milk new file mode 100755 index 0000000000..9068bb333c --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirlie 3.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.994000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.961000 +rot=0.220000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.771011 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.028500 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.100000 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=blah = 0.5/(wave_r+wave_g+wave_b); +per_frame_7=wave_r = wave_r*blah; wave_g = wave_g*blah; wave_b = wave_b*blah; +per_frame_8=rot = rot + 0.12*( 0.60*sin(0.21*time) + 0.40*sin(0.339*time) ); +per_frame_9=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_10=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_11=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_12=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_13=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_14=blah = 0.4/(ib_r+ib_g+ib_b)*3; +per_frame_15=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_frame_16= diff --git a/presets/presets_tryptonaut/Geiss - Swirlie 4.milk b/presets/presets_tryptonaut/Geiss - Swirlie 4.milk new file mode 100755 index 0000000000..f7679989c6 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirlie 4.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.994000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.499998 +fWaveScale=1.524161 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.334695 +fWarpScale=3.928016 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.961000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.771011 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.028500 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.100000 +per_frame_1=wave_x = wave_x + 0.2900*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.2900*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=blah = 0.5/(wave_r+wave_g+wave_b); +per_frame_7=wave_r = wave_r*blah; wave_g = wave_g*blah; wave_b = wave_b*blah; +per_frame_8=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_9=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_10=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_11=dx = dx + 0.01*( 0.60*sin(0.324*time) + 0.40*sin(0.234*time) ); +per_frame_12=dy = dy + 0.01*( 0.60*sin(0.244*time) + 0.40*sin(0.264*time) ); +per_frame_13=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_14=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_15=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_16=blah = 12.4/(ib_r+ib_g+ib_b)*3; +per_frame_17=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; +per_frame_18= diff --git a/presets/presets_tryptonaut/Geiss - Swirlie 5.milk b/presets/presets_tryptonaut/Geiss - Swirlie 5.milk new file mode 100755 index 0000000000..5bb17e7012 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Swirlie 5.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.994000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000000 +fWaveScale=1.693514 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.451118 +fWarpScale=3.928016 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=0.961000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=7.397955 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.950000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.500000 +per_frame_1=wave_x = wave_x + 0.0200*( 0.60*sin(0.821*time) + 0.40*sin(0.621*time) ); +per_frame_2=wave_y = wave_y + 0.0200*( 0.60*sin(0.942*time) + 0.40*sin(0.722*time) ); +per_frame_3=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.35*( 0.60*sin(0.21*time) + 0.30*sin(0.339*time) ); +per_frame_7=cx = cx + 0.30*( 0.60*sin(0.374*time) + 0.14*sin(0.194*time) ); +per_frame_8=cy = cy + 0.37*( 0.60*sin(0.274*time) + 0.10*sin(0.394*time) ); +per_frame_9=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_10=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_11=ib_b = ib_b + 0.2*sin(time*0.7354); +per_frame_12= diff --git a/presets/presets_tryptonaut/Geiss - Symmetry.milk b/presets/presets_tryptonaut/Geiss - Symmetry.milk new file mode 100755 index 0000000000..ee54a21741 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Symmetry.milk @@ -0,0 +1,53 @@ +[preset00] +fGammaAdj=1.990000 +fDecay=0.980000 +fVideoEchoZoom=1.010000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.700000 +fWaveScale=0.948000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.948717 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.651000 +sx=1.000000 +sy=1.000000 +wave_r=0.350000 +wave_g=0.300000 +wave_b=0.250000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.050*( 0.60*sin(0.994*time) + 0.40*sin(0.941*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.990*time) + 0.40*sin(1.002*time) ); +per_frame_3=wave_b = wave_b + 0.050*( 0.60*sin(0.775*time) + 0.40*sin(1.071*time) ); +per_frame_4=zoom = zoom + 0.015*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk b/presets/presets_tryptonaut/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk new file mode 100755 index 0000000000..d5c13f91c2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=10.140000 +fWaveScale=1.235000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=2.301000 +fShader=0.000000 +zoom=1.099000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.290000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.250*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.250*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_7=rot = rot + 0.035*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); +per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); +per_frame_10=q = time; +per_frame_11=dx = dx + 0.019*( 0.60*sin(100.334*q)+ 0.40*sin(250.277*q)); +per_frame_12=dy = dy + 0.019*( 0.60*sin(200.384*q) + 0.40*sin(150.247*q)); +per_frame_13=sx = sx + 0.010*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); +per_pixel_1=rot=rot+rad*0.18*sin(0.6*time*0.439+0.4*time*0.338); diff --git a/presets/presets_tryptonaut/Geiss - Three And A Half Kinds Of Amphetamines.milk b/presets/presets_tryptonaut/Geiss - Three And A Half Kinds Of Amphetamines.milk new file mode 100755 index 0000000000..c75987febf --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Three And A Half Kinds Of Amphetamines.milk @@ -0,0 +1,55 @@ +[preset00] +fGammaAdj=1.980000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.620000 +fWaveScale=0.691358 +fWaveSmoothing=0.400000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.888000 +fShader=1.000000 +zoom=1.085000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=zoom = zoom + 0.033*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=zoom = zoom + 0.5*max(0,bass_att-1.05); +per_frame_6=zoom = zoom + rad*0.1; +per_frame_7=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_9=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=zoom=zoom+0.13*rad; diff --git a/presets/presets_tryptonaut/Geiss - Three Kinds Of Amphetamines.milk b/presets/presets_tryptonaut/Geiss - Three Kinds Of Amphetamines.milk new file mode 100755 index 0000000000..55d7610e96 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Three Kinds Of Amphetamines.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.420000 +fWaveScale=0.691358 +fWaveSmoothing=0.400000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.888000 +fShader=1.000000 +zoom=1.045000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); +per_frame_4=zoom = zoom + 0.033*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=zoom = zoom + rad*0.2; +per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_7=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_8=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.008*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.006*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=zoom+0.13*rad; diff --git a/presets/presets_tryptonaut/Geiss - Tokamak.milk b/presets/presets_tryptonaut/Geiss - Tokamak.milk new file mode 100755 index 0000000000..8936a9c7fb --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Tokamak.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.200000 +fWaveScale=4.225629 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.197884 +sx=0.999667 +sy=0.999900 +wave_r=0.750000 +wave_g=0.750000 +wave_b=0.750000 +wave_x=0.500000 +wave_y=0.680000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); diff --git a/presets/presets_tryptonaut/Geiss - Tornado.milk b/presets/presets_tryptonaut/Geiss - Tornado.milk new file mode 100755 index 0000000000..d5b6353333 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Tornado.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=1.000000 +fWaveScale=3.020000 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=rot = rot + (rad-0.4)*1.7*max(0,min((bass_att-1.1)*1.5,5)); +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Geiss - Toy.milk b/presets/presets_tryptonaut/Geiss - Toy.milk new file mode 100755 index 0000000000..e3edeac48e --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Toy.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=0.387000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=4.401000 +fShader=0.000000 +zoom=1.031000 +rot=0.003000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.190000 +wave_g=0.190000 +wave_b=0.190000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time) + 0.30*sin(1.821*time) ); +per_frame_2=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time) + 0.70*sin(2.522*time) ); +per_frame_3=wave_r = wave_r + 0.890*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.890*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.890*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_7=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); diff --git a/presets/presets_tryptonaut/Geiss - Trampoline.milk b/presets/presets_tryptonaut/Geiss - Trampoline.milk new file mode 100755 index 0000000000..32d7eb3f85 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Trampoline.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.700000 +fWaveScale=1.605447 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.025000 +rot=-0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.03*sin((x*2-1)*4+time*1.63)+0.03*sin((y*2-1)*3+time*1.37)-0.1*sin(rad*0.1+time*1.6); diff --git a/presets/presets_tryptonaut/Geiss - Tube.milk b/presets/presets_tryptonaut/Geiss - Tube.milk new file mode 100755 index 0000000000..7e31a3f9d1 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Tube.milk @@ -0,0 +1,46 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.200000 +fWaveScale=1.694000 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.600000 +fShader=0.000000 +zoom=1.020000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.135000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=rot = rot + 0.025*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cy = cy + 0.007*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); diff --git a/presets/presets_tryptonaut/Geiss - Two-Pointed Pulsagon.milk b/presets/presets_tryptonaut/Geiss - Two-Pointed Pulsagon.milk new file mode 100755 index 0000000000..f8b14948fc --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Two-Pointed Pulsagon.milk @@ -0,0 +1,47 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.014000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.600000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_pixel_1=zoom=zoom+0.06-0.06*sin(ang*2+time*3); diff --git a/presets/presets_tryptonaut/Geiss - Ultrafast.milk b/presets/presets_tryptonaut/Geiss - Ultrafast.milk new file mode 100755 index 0000000000..c019129b66 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Ultrafast.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=1.421369 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.456111 +fWaveScale=1.694000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.153000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.098615 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.07*( 0.60*sin(0.381*time) + 0.09*sin(-0.579*time) ); +per_frame_5=cx = cx + 0.10*( 0.60*sin(0.374*time) + 0.10*sin(0.294*time) ); +per_frame_6=cy = cy + 0.10*( 0.60*sin(0.393*time) + 0.10*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); diff --git a/presets/presets_tryptonaut/Geiss - Volume Zoom.milk b/presets/presets_tryptonaut/Geiss - Volume Zoom.milk new file mode 100755 index 0000000000..5af16bf960 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Volume Zoom.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.990000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.600000 +fWaveScale=1.605000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=zoom = zoom + max(0,(bass_att+treb_att+mid_att-3)*0.0333); +per_frame_7=decay = decay - 0.01*equal(frame%10,0); diff --git a/presets/presets_tryptonaut/Geiss - Vortex 1.milk b/presets/presets_tryptonaut/Geiss - Vortex 1.milk new file mode 100755 index 0000000000..97f99fdf08 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Vortex 1.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.061817 +fWaveScale=0.948000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.025000 +rot=-0.240000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.420000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay=decay - 0.01*equal(frame%16,0); +per_pixel_1=rot=rot+0.1/(rad+0.1); diff --git a/presets/presets_tryptonaut/Geiss - Vortex 2.milk b/presets/presets_tryptonaut/Geiss - Vortex 2.milk new file mode 100755 index 0000000000..83719afc10 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Vortex 2.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.600000 +fWaveScale=0.948000 +fWaveSmoothing=0.500000 +fWaveParam=0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.025000 +rot=-0.180000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.420000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay=decay - 0.01*equal(frame%16,0); +per_frame_7=wave_mystery = 0.5 + 0.4*sin(time*0.207); +per_frame_8=wave_x = 0.5 + 0.3*sin(time*0.177); +per_pixel_1=rot=rot+0.1/(rad+0.1); diff --git a/presets/presets_tryptonaut/Geiss - Warp Of Dali 1.milk b/presets/presets_tryptonaut/Geiss - Warp Of Dali 1.milk new file mode 100755 index 0000000000..e390ee8b39 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Warp Of Dali 1.milk @@ -0,0 +1,49 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=2.700000 +fWaveScale=1.053000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.969000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.030*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=sx=sx-0.04*sin((y*2-1)*6+(x*2-1)*7+time*1.59); +per_pixel_2=sy=sy-0.04*sin((x*2-1)*8-(y*2-1)*5+time*1.43); diff --git a/presets/presets_tryptonaut/Geiss - Warp Of Dali 2.milk b/presets/presets_tryptonaut/Geiss - Warp Of Dali 2.milk new file mode 100755 index 0000000000..b0fde90e21 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Warp Of Dali 2.milk @@ -0,0 +1,50 @@ +[preset00] +fGammaAdj=2.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +fDecay=0.980000 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +fWaveAlpha=2.700000 +fWaveScale=1.053000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.007318 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.969000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.030*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=sx=sx-0.04*sin((y*2-1)*6+(x*2-1)*7+time*1.59); +per_pixel_2=sy=sy-0.04*sin((x*2-1)*8-(y*2-1)*5+time*1.43); +per_pixel_3=zoom=zoom+rad*0.02; diff --git a/presets/presets_tryptonaut/Geiss - Warp Of Dali Bright.milk b/presets/presets_tryptonaut/Geiss - Warp Of Dali Bright.milk new file mode 100755 index 0000000000..c2f16c21d6 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Warp Of Dali Bright.milk @@ -0,0 +1,55 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.700000 +fWaveScale=1.053000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.046000 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.969000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.470000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.010*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.050*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_7=cy = cy + 0.030*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_8=decay=decay-0.02*pow(0.5+0.5*sin(time*0.9),3.2); +per_pixel_1=sx=sx-0.04*sin((y*2-1)*6+(x*2-1)*7+time*1.59); +per_pixel_2=sy=sy-0.04*sin((x*2-1)*8-(y*2-1)*5+time*1.43); diff --git a/presets/presets_tryptonaut/Geiss - Waterfall.milk b/presets/presets_tryptonaut/Geiss - Waterfall.milk new file mode 100755 index 0000000000..a4a8915353 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss - Waterfall.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.390620 +fWaveScale=2.201000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.000000 +cy=0.000000 +dx=0.000000 +dy=0.005000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.150000 +wave_g=0.150000 +wave_b=0.750000 +wave_x=0.950000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.533*time) + 0.40*sin(0.945*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.600*time) + 0.40*sin(0.856*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.510*time) + 0.40*sin(0.920*time) ); +per_pixel_1=sy=1.1-0.065*(1-cos((x*2-1)*1.57)); diff --git a/presets/presets_tryptonaut/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk b/presets/presets_tryptonaut/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk new file mode 100755 index 0000000000..3364d0facd --- /dev/null +++ b/presets/presets_tryptonaut/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk @@ -0,0 +1,261 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=-0.020000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.550000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.400000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(tq8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.400000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*.638 + 3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.05; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.05; +per_frame_22=wave_a = 0; +per_frame_23=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_24=oldq8 = q8; +per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_26=rot = 0.4 + 1.5*sin(time*0.273) + 0.4*sin(time*0.379+3); +per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1; diff --git a/presets/presets_tryptonaut/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk b/presets/presets_tryptonaut/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk new file mode 100755 index 0000000000..f4d369b2a2 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2).milk @@ -0,0 +1,281 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.9 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=1.015 +fWaveSmoothing=0.522 +fWaveParam=0.0 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.310 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.00901 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.00054 +sx=1.0 +sy=1.0 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` ret = pow(ret, float3(1.7-(bass*.5), 1.7-(treb*.5), 1.7-(mid*.5))); +comp_9=` +comp_10=` //ret.xyz *= 2; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_tryptonaut/Geiss, Flexi + Stahlregen - Thumbdrum Tokamak [crossfiring aftermath jelly mashup].milk b/presets/presets_tryptonaut/Geiss, Flexi + Stahlregen - Thumbdrum Tokamak [crossfiring aftermath jelly mashup].milk new file mode 100755 index 0000000000..b4b1b4e5a8 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss, Flexi + Stahlregen - Thumbdrum Tokamak [crossfiring aftermath jelly mashup].milk @@ -0,0 +1,278 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.3; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.yxz,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Geiss, Nitorami + MackTuesday - Twitchy Paint fact fuct nz+.milk b/presets/presets_tryptonaut/Geiss, Nitorami + MackTuesday - Twitchy Paint fact fuct nz+.milk new file mode 100755 index 0000000000..76652e2902 --- /dev/null +++ b/presets/presets_tryptonaut/Geiss, Nitorami + MackTuesday - Twitchy Paint fact fuct nz+.milk @@ -0,0 +1,434 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.700 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.000 +wave_y=0.000 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=200 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.01000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=t1 = sample+time*.2; +wave_0_per_point2= +wave_0_per_point3=x = .35* sin (6*t1) ; +wave_0_per_point4=my = .35* cos (3*t1)* sin (-10+20*sample) ; +wave_0_per_point5=mz = .35* cos (7*t1) * cos (-5+10*sample) ; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=/////// rotations... by flexi +wave_0_per_point9= +wave_0_per_point10=d = 1; +wave_0_per_point11=zoom = 1; +wave_0_per_point12= +wave_0_per_point13=w1 = .3*time; +wave_0_per_point14=w2 = .1*time; +wave_0_per_point15=w3 = .2*time; +wave_0_per_point16= +wave_0_per_point17=x1 = cos(w1)*mx + sin(w1)*my; +wave_0_per_point18=y1 = -sin(w1)*mx + cos(w1)*my; +wave_0_per_point19=z1 = mz; +wave_0_per_point20= +wave_0_per_point21=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point22=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point23=y2 = y1; +wave_0_per_point24= +wave_0_per_point25=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point26=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point27=x3 = x2; +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=200 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.24699 +shapecode_0_r=1.000 +shapecode_0_g=0.400 +shapecode_0_b=0.300 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.510 +shape_0_per_frame1=sample=instance/num_inst; +shape_0_per_frame2=rad=.22*sample; +shape_0_per_frame3=r=sample; +shape_0_per_frame4=ang=(1-sample)*time*15; +shape_0_per_frame5=sides=(1-sample)* 14; +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=t1 = sample+time*.2; +shape_0_per_frame9=mx = .4* (.6*sin (7*t1)+.4*sin (4.3*t1)) ; +shape_0_per_frame10=my = .4* (.6*cos (3.3*t1)+.4*cos (6.9*t1))* sin (-10+20*sample) ; +shape_0_per_frame11=mz = .4* (.6*cos (4.1*t1)+.4*cos (6.9*t1)) * cos (-5+10*sample) ; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=/////// rotations... by flexi +shape_0_per_frame15= +shape_0_per_frame16=d = 1; +shape_0_per_frame17=zoom = 1; +shape_0_per_frame18= +shape_0_per_frame19=w1 = .3*time; +shape_0_per_frame20=w2 = .1*time; +shape_0_per_frame21=w3 = .2*time; +shape_0_per_frame22= +shape_0_per_frame23=x1 = cos(w1)*mx + sin(w1)*my; +shape_0_per_frame24=y1 = -sin(w1)*mx + cos(w1)*my; +shape_0_per_frame25=z1 = mz; +shape_0_per_frame26= +shape_0_per_frame27=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame28=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame29=y2 = y1; +shape_0_per_frame30= +shape_0_per_frame31=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame32=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame33=x3 = x2; +shape_0_per_frame34= +shape_0_per_frame35= +shape_0_per_frame36=// perspective calculation +shape_0_per_frame37= +shape_0_per_frame38=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame39=w = atan2(x3,y3); +shape_0_per_frame40=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame41=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame42= +shape_0_per_frame43=my_x = zoom*sin(w)*p; +shape_0_per_frame44=my_y = zoom*cos(w)*p; +shape_0_per_frame45= +shape_0_per_frame46=x = 0.5 + my_x; +shape_0_per_frame47=y = 0.5 + my_y; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.99; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(4),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(4),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1),mq29); +per_frame_12=mq30=if(above(chng,cthr),rand(1),mq30); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=warp = 0; +per_frame_19=volume = 0.3*(bass+mid+att); +per_frame_20=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_21=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_22=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_23=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_24=xpos = xpos + 0.001*xspeed; +per_frame_25=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_26=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_27=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_28=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_29=ypos = ypos + 0.001*yspeed; +per_frame_30=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_31=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_32=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_33=peakbass_att = max(bass_att,peakbass_att); +per_frame_34=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_35=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_36=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_37=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_38=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_39=wave_x = xpos + 0.5; +per_frame_40=wave_y = 1-(ypos + 0.5); +per_frame_41=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_42=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_43=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_44=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_45=mv_r = if(beat, 1, ib_r); +per_frame_46=mv_b = if(beat, wave_b, ib_b); +per_frame_47=//mv_a = if(beat, 0.1, ib_a); +per_frame_48=//ib_a = 0.015; +per_frame_49=q3 = wave_mystery; +per_frame_50=q1 = wave_x; +per_frame_51=q2 = 1-wave_y; +per_frame_52=q2 = ypos+0.5; +per_frame_53=warp=0; +per_frame_54= +per_frame_55=//q2 = 1-(ypos + 0.5); +per_frame_56=//q1 = 0.5; +per_frame_57=//q2=0.5; +per_frame_58=ob_r = 1-wave_g; +per_frame_59=ob_b = 1-wave_r; +per_frame_60=ob_g = 1-wave_b; +per_frame_61= +per_frame_62=monitor = wave_y; +per_frame_63=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_64=movement = if(above(movement,10000), 0, movement); +per_frame_65=rot =1*sin(movement); +per_frame_66=cx = wave_x; +per_frame_67=cy = y_pos+0.5; +per_frame_68= +per_frame_69=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 texpix = texsize.xy * texsize_noise_mq.zw; +warp_4=`float2 dither_uv_big = uv_orig*texpix*0.08; +warp_5=`dither_uv_big += float2(q1, q2) * 0.05; +warp_6=`float2 dither_uv = uv_orig*texpix*1 + rand_frame.xy; +warp_7=`float3 me = GetPixel(uv); +warp_8=`uv.x += (me.y - me.z) * 0.002 * q3; +warp_9=`uv.y += (me.x - 0.5) * 0.004 * q3; +warp_10=`ret = GetPixel(uv) * 0.7 + 0.15; +warp_11=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_12=` ((uv.xyy*q27 +warp_13=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_14=` ).xyz* +warp_15=` float3(1,1,0)*0.05 + +warp_16=` time*float3(0,0,1)*q29 +warp_17=` ); +warp_18=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.x += (noise9).x*1.5; +warp_19=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.y -= (noise9).y*.5; +warp_20=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.z *= (noise9).z*1.5; +warp_21=` +warp_22=`ret += (tex2D(sampler_noise_mq, dither_uv_big)-0.5) * 0.15; +warp_23=`ret += (tex2D(sampler_noise_lq, dither_uv)-0.5) * 0.035 * q3; +warp_24=`float minchan = min(min(ret.x, ret.y), ret.z); +warp_25=`ret -= minchan; +warp_26=`float maxchan = max(max(ret.x, ret.y), ret.z); +warp_27=`ret /= maxchan + 0.01; +warp_28=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 hor = float2 (texsize.z,0); +comp_4=`float2 ver = float2 (0,texsize.w); +comp_5=`float3 dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_6=`float3 dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_7=`float3 dz = (dx + dy) * 0.05; +comp_8=` +comp_9=`float shadow_layer = saturate(45.0*(0.294*length(1.0 - dz) - 0.5) + 0.02); +comp_10=` +comp_11=`ret = shadow_layer * (1.1 + 0.9 * GetPixel(uv)); +comp_12=`ret*=.4; +comp_13=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_14=` ((uv.xyy*q28 +comp_15=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_16=` ).xyz* +comp_17=` float3(1,1,0)*0.05 + +comp_18=` time*float3(0,0,1)*q30 +comp_19=` ); +comp_20=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.x *= (noise9).x*1.5; +comp_21=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.y += (noise9).y*1.5; +comp_22=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.z -= (noise9).z*.5; +comp_23=`} diff --git a/presets/presets_tryptonaut/Goody + martin - crystal palace - Aqua Lumens.milk b/presets/presets_tryptonaut/Goody + martin - crystal palace - Aqua Lumens.milk new file mode 100755 index 0000000000..b031837986 --- /dev/null +++ b/presets/presets_tryptonaut/Goody + martin - crystal palace - Aqua Lumens.milk @@ -0,0 +1,403 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=5.552 +fWaveSmoothing=0.504 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.50330 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.600 +wavecode_0_b=0.400 +wavecode_0_a=1.000 +wave_0_per_point1= +wave_0_per_point2=x0 = .5 + .4 * sin(time/2); +wave_0_per_point3= +wave_0_per_point4=angle = rand(1000)/1000*6.28; +wave_0_per_point5=rad = rand(1000)/1000; +wave_0_per_point6=rad = rad * rad; +wave_0_per_point7= +wave_0_per_point8=x = x0 + .1*rad*sin(angle); +wave_0_per_point9=y = .5 + .1*rad*cos(angle); +wave_0_per_point10= a = 1-rad; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=trel = q11-.0; +wave_1_per_frame2=t1 = int(trel); +wave_1_per_frame3=t2 = trel - int(trel); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=trel = q11-.33; +wave_2_per_frame2=t1 = int(trel); +wave_2_per_frame3=t2 = trel - int(trel); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=trel = q11-.66; +wave_3_per_frame2=t1 = int(trel); +wave_3_per_frame3=t2 = trel - int(trel); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.24243 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.88496 +shapecode_0_tex_zoom=1.72851 +shapecode_0_r=0.800 +shapecode_0_g=1.000 +shapecode_0_b=0.500 +shapecode_0_a=0.600 +shapecode_0_r2=0.900 +shapecode_0_g2=0.900 +shapecode_0_b2=1.000 +shapecode_0_a2=0.300 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.130 +shapecode_1_y=0.190 +shapecode_1_rad=0.11045 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=1.71105 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.22613 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.200 +shapecode_2_b=0.200 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.18717 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.020 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.98, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17= +per_frame_18=vol = bass_att + treb_att; +per_frame_19=v2 = v2 * dec_slow + vol * (1-dec_slow) ; +per_frame_20=q26 = max(atan (vol - v2*.8),.3); +per_frame_21= +per_frame_22=q27 = index + 1; +per_frame_23= +per_frame_24=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_25=q28 = sw; +per_frame_26= +per_frame_27=k1 = is_beat*bnot(index); +per_frame_28=k2 = is_beat*bnot(index); +per_frame_29= +per_frame_30=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_31=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_32=rott = p2 * 3.1416/2; +per_frame_33=monitor = k1; +per_frame_34=q1 = cos(rott); +per_frame_35=q2 = sin(rott); +per_frame_36=q3 = -q2; +per_frame_37=q4 = q1; +per_frame_38= +per_frame_39= +per_frame_40=q5 = cos(time/6); +per_frame_41=q6 = -sin(time/6); +per_frame_42=q7 = -q6; +per_frame_43=q8 = q5; +per_frame_44= +per_frame_45=zoom = 1; +per_frame_46=rot = -0; +per_frame_47= +per_frame_48=movez = movez + .0035*(q1+1.1)*30/fps; +per_frame_49=q29 = movez; +per_frame_50=rota = rota + .001*(2-q1)*30/fps; +per_frame_51=q30 = rota; +per_frame_52=q31 = 1 + 16*abs(cos(time*.1)); +per_frame_53=q32 = .5*cos(time*.08)/4; +per_frame_54= +per_frame_55= +per_frame_56= +warp_1=`float3 mus; +warp_2=`float2 rs, uv1, uv6, uv7, uv8; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=`//BACKGROUND +warp_9=`float z = 16*length(uv1*5)+time; +warp_10=`float2 uvn =normalize(uv1); +warp_11=`rs = clamp(tan(z)*uvn,-5,5)/2; +warp_12=` +warp_13=`//CRYSTAL +warp_14=`float mult = q31*4; +warp_15=`uv7 = sin(uv1*mult); +warp_16=`uv8 = uv7; +warp_17=`float dist = length(uv8); +warp_18=`dist *= (abs(uv1.x) + abs(uv1.y))+ q32; +warp_19=` +warp_20=`float ang2 = atan2 (uv8.y,uv8.x); +warp_21=`ang2 = 1*floor (1* ang2); +warp_22=`float2 dir = .095*uv8+float2 (cos(ang2), sin(ang2)); +warp_23=` +warp_24=`z = (1-cos(8*dist)); +warp_25=`z *= .200*saturate (lum(z)); +warp_26=` +warp_27=`//ADD +warp_28=`float mask = (z <= 1); //momentan beliebig +warp_29=`rs = q28*rs + (1-q28)*rs.yx; +warp_30=`uv += (1-mask)*3*(rs.yx) + .5*mask*z*normalize(z.x); +warp_31=` +warp_32=`//ZENTRALSTRAHL +warp_33=`uv6 = mul (uv1,float2x2(_qb*.50)); +warp_34=`mus = .25*abs(0.0225/(sqrt(uv6.x)+.0))*(.3); +warp_35=` +warp_36=`//DOTS +warp_37=`float2 uv2 = 8*uv1+.3*sin(uv1*16+4*float2 (q5,q6)); +warp_38=`uv2 *= 2.6; +warp_39=`float3 dots = q26*saturate(.00065/(length(uv2))); +warp_40=`float3 blur = GetBlur1(frac(uv)); +warp_41=`float3 crisp= GetPixel(uv); +warp_42=`float3 diff = (crisp) - .5*blur; +warp_43=`float3 ret1 = crisp + mus + dots; +warp_44=` +warp_45=`float3 mod = tex2D (sampler_noise_lq,50*uv+time*.1)-.25; +warp_46=`mod = .98 - mod*diff; +warp_47=` +warp_48=`ret = (1-mask)*ret1*mod + mask*ret1*mod; +warp_49=`ret *= float3(.89,.96,.965)+.05*tex2D(sampler_noise_lq,uv); +warp_50=`ret += .015*float3(1,.5,.9)*lum(uv_orig); +warp_51=` +warp_52=` +warp_53=`ret *= .96- .1; +warp_54=` +warp_55=`} +comp_1=`float3 ret1, neu, crisp, blur; +comp_2=`float2 uv2, uv3; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`ret=tex2D(sampler_fc_main, uv); +comp_7=` +comp_8=`float ang2, c, s; +comp_9=`uv -= .5; +comp_10=`uv *= aspect.xy; +comp_11=` +comp_12=`float2 tmp = uv_orig.xyy*ret.x; +comp_13=`float dist = 0; +comp_14=`float inten = 0; +comp_15=`float mask = 0; +comp_16=`ret1 = .0; +comp_17=`int anz = 14; +comp_18=`float n = 0; +comp_19=`float t_rel = q29; +comp_20=`while (n <= anz) { +comp_21=` ang2 = 6.28*n/anz+q30; +comp_22=` c = cos(ang2); +comp_23=` s = sin(ang2); +comp_24=` uv2.x = uv.x*c - uv.y*s; +comp_25=` uv2.y = uv.x*s + uv.y*c; +comp_26=` uv2*= aspect.yx; +comp_27=` +comp_28=` dist = 1-frac(n/anz+t_rel); //evtl sqrt ! +comp_29=` +comp_30=` inten = 16*dist*(1-dist*dist); +comp_31=` uv3 = 3*uv2*dist*1.25; +comp_32=` crisp = GetPixel(uv3*1.2); +comp_33=` blur = GetBlur1(frac(uv3)) * float3 (.5,.9,1); +comp_34=` ret1 = max(ret1,(crisp*2+blur)*inten); +comp_35=`n++; +comp_36=`} +comp_37=` +comp_38=`float3 ret1 = ret1 ; +comp_39=`ret *= GetPixel(.5+uv_orig*aspect.yx*10); +comp_40=`ret+=GetPixel(.5-uv_orig*aspect.xy*10); +comp_41=` +comp_42=`ret*=.5-dist*(ret1.y); +comp_43=`ret += ret1*2+8*GetBlur2(.5*uv2.xy*aspect.xy*10); +comp_44=`ret*=1*GetBlur1(.5+uv*aspect.xy); +comp_45=`ret-=10*(lum(uv2*aspect.xy)*lum(uv2*aspect.xy)); +comp_46=`ret*=2; +comp_47=`} diff --git a/presets/presets_tryptonaut/Goody + martin - crystal palace - Ocular Anima.milk b/presets/presets_tryptonaut/Goody + martin - crystal palace - Ocular Anima.milk new file mode 100755 index 0000000000..37159987fe --- /dev/null +++ b/presets/presets_tryptonaut/Goody + martin - crystal palace - Ocular Anima.milk @@ -0,0 +1,400 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=5.552 +fWaveSmoothing=0.504 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.50330 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.600 +wavecode_0_b=0.400 +wavecode_0_a=1.000 +wave_0_per_point1= +wave_0_per_point2=x0 = .5 + .4 * sin(time/2); +wave_0_per_point3= +wave_0_per_point4=angle = rand(1000)/1000*6.28; +wave_0_per_point5=rad = rand(1000)/1000; +wave_0_per_point6=rad = rad * rad; +wave_0_per_point7= +wave_0_per_point8=x = x0 + .1*rad*sin(angle); +wave_0_per_point9=y = .5 + .1*rad*cos(angle); +wave_0_per_point10= a = 1-rad; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=trel = q11-.0; +wave_1_per_frame2=t1 = int(trel); +wave_1_per_frame3=t2 = trel - int(trel); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=trel = q11-.33; +wave_2_per_frame2=t1 = int(trel); +wave_2_per_frame3=t2 = trel - int(trel); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=trel = q11-.66; +wave_3_per_frame2=t1 = int(trel); +wave_3_per_frame3=t2 = trel - int(trel); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.24243 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.88496 +shapecode_0_tex_zoom=1.72851 +shapecode_0_r=0.800 +shapecode_0_g=1.000 +shapecode_0_b=0.500 +shapecode_0_a=0.600 +shapecode_0_r2=0.900 +shapecode_0_g2=0.900 +shapecode_0_b2=1.000 +shapecode_0_a2=0.300 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.130 +shapecode_1_y=0.190 +shapecode_1_rad=0.11045 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=1.71105 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.22613 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.200 +shapecode_2_b=0.200 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.18717 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.020 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.98, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17= +per_frame_18=vol = bass_att + treb_att; +per_frame_19=v2 = v2 * dec_slow + vol * (1-dec_slow) ; +per_frame_20=q26 = max(atan (vol - v2*.8),.3); +per_frame_21= +per_frame_22=q27 = index + 1; +per_frame_23= +per_frame_24=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_25=q28 = sw; +per_frame_26= +per_frame_27=k1 = is_beat*bnot(index); +per_frame_28=k2 = is_beat*bnot(index); +per_frame_29= +per_frame_30=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_31=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_32=rott = p2 * 3.1416/2; +per_frame_33=monitor = k1; +per_frame_34=q1 = cos(rott); +per_frame_35=q2 = sin(rott); +per_frame_36=q3 = -q2; +per_frame_37=q4 = q1; +per_frame_38= +per_frame_39= +per_frame_40=q5 = cos(time/6); +per_frame_41=q6 = -sin(time/6); +per_frame_42=q7 = -q6; +per_frame_43=q8 = q5; +per_frame_44= +per_frame_45=zoom = 1; +per_frame_46=rot = -0; +per_frame_47= +per_frame_48=movez = movez + .006*(q1+1.1)*30/fps; +per_frame_49=q29 = movez; +per_frame_50=rota = rota + .003*(2-q1)*30/fps; +per_frame_51=q30 = rota; +per_frame_52=q31 = 4 + 6*abs(cos(time/18)); +per_frame_53=q32 = cos(time/23)/4; +per_frame_54= +per_frame_55= +per_frame_56= +warp_1=`float3 mus; +warp_2=`float2 rs, uv1, uv6, uv7, uv8; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=`//BACKGROUND +warp_9=`float z = uv_orig*length(uv1*5)+time*1; +warp_10=`float2 uvn =normalize(uv1); +warp_11=`rs = clamp(tan(rad*z)*uvn,5,0)*5; +warp_12=` +warp_13=`//CRYSTAL +warp_14=`float mult = q31*4; +warp_15=`uv7 = sin(uv1*mult); +warp_16=`uv8 = uv7; +warp_17=`float dist = length(uv8); +warp_18=`dist *= (abs(uv1.x) + abs(uv1.y))+ q32; +warp_19=` +warp_20=`float ang2 = atan2 (uv8.y,uv8.x); +warp_21=`ang2 = 1*floor (1* ang2); +warp_22=`float2 dir = .095*uv8+float2 (cos(ang2), sin(ang2)); +warp_23=` +warp_24=`z = (1-cos(8*dist)); +warp_25=`z *= .200*saturate (lum(z)); +warp_26=` +warp_27=`//ADD +warp_28=`float mask = (z <= 1); //momentan beliebig +warp_29=`rs = q28*rs + (1-q28)*rs.yx; +warp_30=`uv += (1-mask)*.03*(rs.yx) + .5*mask*z*normalize(z.x); +warp_31=` +warp_32=`//ZENTRALSTRAHL +warp_33=`uv6 = mul (uv1,float2x2(_qb*.50)); +warp_34=`mus = .59*abs(0.0225/(sqrt(uv6.x)+.0))*(.3); +warp_35=` +warp_36=`//DOTS +warp_37=`float2 uv2 = .7*uv1+.3*sin(uv1*16+4*float2 (q5,q6)); +warp_38=`//uv2 *= 2.6; +warp_39=`float3 dots = q26*saturate(.00065/(length(uv2))); +warp_40=`float3 blur = GetBlur1(frac(uv)); +warp_41=`float3 crisp= GetPixel(uv); +warp_42=`float3 diff = (crisp) - .5*blur; +warp_43=`float3 ret1 = crisp + mus + dots; +warp_44=` +warp_45=`float3 mod = tex2D (sampler_noise_lq,50*uv+time*.1)-.25; +warp_46=`mod = .98 - mod*diff; +warp_47=` +warp_48=`ret = (1-mask)*ret1*mod + mask*ret1*mod; +warp_49=`ret *= float3(.9,.897,.894)-ret.x*uv_orig.x; +warp_50=`ret = ret.xyz *.99- .01; +warp_51=` +warp_52=`} +comp_1=`float3 ret1, neu, crisp, blur; +comp_2=`float2 uv2, uv3; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`ret=tex2D(sampler_fc_main, uv); +comp_7=` +comp_8=`float ang2, c, s; +comp_9=`uv -= 0.5; +comp_10=`uv *= aspect.xy; +comp_11=` +comp_12=`float2 tmp = uv_orig.xyy*ret.x; +comp_13=`float dist = 0; +comp_14=`float inten = 1; +comp_15=`float mask = 0; +comp_16=`ret1 = .0; +comp_17=`int anz = 15; +comp_18=`float n = 0; +comp_19=`float t_rel = q29; +comp_20=`while (n <= anz) { +comp_21=` ang2 = 6.28*n.x/anz+q30; +comp_22=` c = cos(ang2); +comp_23=` s = sin(ang2); +comp_24=` uv2.x = uv.x*c - uv.y*s; +comp_25=` uv2.y = uv.x*s + uv.y*c; +comp_26=` uv2*= aspect.y; +comp_27=` +comp_28=` dist = 1-frac(n/anz+t_rel); //evtl sqrt ! +comp_29=` +comp_30=` inten = 4*dist*(1-dist*dist); +comp_31=` uv3 = 2*uv2*dist * 1.5; +comp_32=` crisp = GetPixel(uv3*1.5); +comp_33=` blur = GetBlur1(frac(uv3)) * float3 (.8,.9,1); +comp_34=` ret1 = max(ret1,(crisp*2+blur)*inten); +comp_35=`n++; +comp_36=`} +comp_37=` +comp_38=`float3 ret1 = ret1 ; +comp_39=`ret *= GetPixel(.5+uv_orig*aspect.yx*10); +comp_40=`ret+=GetPixel(.5-uv_orig*aspect.xy*10); +comp_41=` +comp_42=`ret*=.5-dist*(ret1.y); +comp_43=`ret += ret1*2+8*GetBlur2(.5*uv2.xy*aspect.xy*10); +comp_44=`ret*=1*GetBlur1(.5+uv*aspect.xy); +comp_45=`ret*=8+lum(ret1*uv2); +comp_46=` +comp_47=`} diff --git a/presets/presets_tryptonaut/Goody - Aurora Totalis.milk b/presets/presets_tryptonaut/Goody - Aurora Totalis.milk new file mode 100755 index 0000000000..a78cf52ff3 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Aurora Totalis.milk @@ -0,0 +1,357 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320 +fWaveScale=1.521 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99010 +sy=1.00170 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.820 +mv_l=5.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=0 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.90164 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99307 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=border_r=q1; +shape_0_per_frame2=border_g=q2; +shape_0_per_frame3=border_b=q3; +shape_0_per_frame4= +shape_0_per_frame5=ang=1*sin(time*.44)*cos(time*.17);; +shape_0_per_frame6= +shape_0_per_frame7=x=q4; +shape_0_per_frame8=y=q5; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.39869 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.64463 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=border_r=q1; +shape_1_per_frame2=border_g=q2; +shape_1_per_frame3=border_b=q3; +shape_1_per_frame4= +shape_1_per_frame5=x=q4+.085*sin(time*.121)*cos(time*.19); +shape_1_per_frame6=x=q5+.085*sin(time*.17)*cos(time*.137); +shape_1_per_frame7= +shape_1_per_frame8=ang=3.14*sin(time*.77); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=sx=0.9; +per_frame_2= +per_frame_3=vol=(bass+mid+treb_att)*.3333; +per_frame_4= +per_frame_5=redsine=.5+.15*bass*sin(time*3); +per_frame_6=greensine=.5+.15*mid*sin(time*2); +per_frame_7=bluesine=.5+.15*treb*sin(time); +per_frame_8= +per_frame_9=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +per_frame_10=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +per_frame_11=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +per_frame_12= +per_frame_13=//q1=redif; +per_frame_14=//q2=greenif; +per_frame_15=//q3=blueif; +per_frame_16= +per_frame_17=q4=.95+.05*sin(time*.52)*cos(time*.39); +per_frame_18=q5=.95+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=zoom=zoom+.05*rad*treb_att; +per_pixel_2= +per_pixel_3=//q6=dxm; +per_pixel_4=//q7=dym; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv); +warp_5=` +warp_6=`// darken the color channels at different rates +warp_7=`ret *= float3(q4,q5,.5); +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=`//initial textures: +comp_6=`//1. Main image +comp_7=` float3 base=tex2D(sampler_main, uv); +comp_8=`//2. High quality noise sampler +comp_9=` float3 hinoise=tex2D(sampler_noise_hq, uv); +comp_10=` +comp_11=`//declaring modifying vars: +comp_12=`//1. Perspective UV value +comp_13=` float2 uvp=uv; +comp_14=` uvp.y*=.2; +comp_15=`//2. Blur values +comp_16=` float3 blpi=GetBlur1(uvp); +comp_17=` float3 blpii=GetBlur2(uvp); +comp_18=` float3 blpiii=GetBlur3(uvp); +comp_19=` float3 bl= GetBlur3(base); +comp_20=` float3 bli=GetBlur1(uv); +comp_21=` float3 blii=GetBlur2(uv); +comp_22=` float3 bliii=GetBlur3(uv); +comp_23=`//3. Perspective Image +comp_24=` float3 pret=tex2D(sampler_main, uvp); +comp_25=` +comp_26=` +comp_27=`ret=tex2D(sampler_noise_hq, blpi*blpii).xyz; +comp_28=` +comp_29=`ret=(ret+GetBlur2(float2(uv.y+rad*.12,uv.x*rad*.12))); +comp_30=` +comp_31=`} diff --git a/presets/presets_tryptonaut/Goody - Ego Decontructor.milk b/presets/presets_tryptonaut/Goody - Ego Decontructor.milk new file mode 100755 index 0000000000..ceb9cc7d8d --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Ego Decontructor.milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.420 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.998 +fWaveScale=2.155 +fWaveSmoothing=0.900 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00950 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.015 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.500 +nMotionVectorsX=64.000 +nMotionVectorsY=1.248 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=10 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.24483 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=x=x+.2*sin(time*.411); +shape_0_per_frame2=y=y+.2*cos(time*.423); +shapecode_1_enabled=1 +shapecode_1_sides=10 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.24483 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=x=x-.2*sin(time*.411); +shape_1_per_frame2=y=y-.2*cos(time*.423); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//Unchained's Beat Code +per_frame_2= +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.9+.1*sin(pulse); +per_frame_7=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_8=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_9=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_10=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_11=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_12=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_13=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_14=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_15=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_16=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_17=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_18=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_19=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_20=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse/2+q1); +per_frame_26= +per_frame_27=q6=sin(q3*q1+q7*q2); +per_frame_28=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_29=q8=entropy; +per_frame_30= +per_frame_31=vol=(bass+mid+treb_att)*.3333; +per_frame_32= +per_frame_33=redsine=.5+.15*bass*sin(time*3); +per_frame_34=greensine=.5+.15*mid*sin(time*2); +per_frame_35=bluesine=.5+.15*treb*sin(time); +per_frame_36= +per_frame_37=redif=if(above(bass,1.2),redsine,if(above(redif,.95),.0,redif*.95)); +per_frame_38=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),.0,greenif*.95)); +per_frame_39=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),.0,blueif*.95)); +per_frame_40= +per_frame_41=r=redif; +per_frame_42=g=greenif; +per_frame_43=b=blueif; +per_frame_44= +per_frame_45=q9=r; +per_frame_46=q10=g; +per_frame_47=q11=b; +per_frame_48= +per_frame_49=wave_r=wave_r*(sin(redif*cos(b+g))); +per_frame_50=wave_g=wave_g*(sin(greenif*cos(r+b))); +per_frame_51=wave_b=wave_b*(sin(blueif*cos(r+g))); +per_frame_52= +per_frame_53=ib_r=r; +per_frame_54=ib_g=g; +per_frame_55=ib_b=b; +per_frame_56= +per_frame_57=ob_r=wave_r*redif; +per_frame_58=ob_g=wave_g*greenif; +per_frame_59=ob_b=wave_b*blueif; +per_pixel_1=//xy transform code +per_pixel_2=xv = sin(time*.333)*x -cos(time*.667)*x; +per_pixel_3=yv = cos(time*.233)*y +sin(time*.567)*y; +per_pixel_4=x = xv; y = yv; +per_pixel_5=//end x/y transform code +per_pixel_6= +per_pixel_7=sx=sx+.075*sin(x*3+q7*x); +per_pixel_8=sy=sy+.075*sin(y*3.1+q7*y); +per_pixel_9= +per_pixel_10=dx=dx+.005*cos(y*20+.1*cos(time*.11)+(q2*q6)); +per_pixel_11=dy=dy+.005*sin(x*20+.1*sin(time*.09)+(q3*q6)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uvm=0; +comp_4=`float2 uvv=0; +comp_5=`float2 uvt=0; +comp_6=` +comp_7=`uvm.x=.5*tex2D(sampler_noise_hq , uv.x)+.5*tex2D(sampler_main, uv.x); +comp_8=`uvm.y=.5*tex2D(sampler_main, uv.y)+.5*tex2D(sampler_noise_hq, uv.y); +comp_9=` +comp_10=`uvv=uv*uvm; +comp_11=` +comp_12=`ret = tex2D(sampler_main, (uv)).xyz; +comp_13=` +comp_14=`float3 bl = GetBlur1(uv)-GetBlur3(tex2D(sampler_noise_hq, (GetBlur3(uvv)))); +comp_15=`float2 texm = frac(bl+uvm); +comp_16=` +comp_17=`uvt=uvv-texm; +comp_18=` +comp_19=`ret =2*bl*tex2D(sampler_main, texm*uvt); +comp_20=`} diff --git a/presets/presets_tryptonaut/Goody - LSD Zoomtunnel.milk b/presets/presets_tryptonaut/Goody - LSD Zoomtunnel.milk new file mode 100755 index 0000000000..aa9a9e477f --- /dev/null +++ b/presets/presets_tryptonaut/Goody - LSD Zoomtunnel.milk @@ -0,0 +1,310 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.750 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.280 +fWaveSmoothing=0.900 +fWaveParam=0.060 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99980 +fShader=0.000 +zoom=1.00960 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.32545 +sx=1.00000 +sy=1.00170 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.97883 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.49981 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.300 +shapecode_0_g2=0.300 +shapecode_0_b2=0.300 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=14 +shapecode_1_x=0.510 +shapecode_1_y=0.500 +shapecode_1_rad=0.44040 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.34784 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.400 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.330 +shape_1_per_frame1=tex_ang=if(above(treb,1.2),tex_ang+abs(6.28*sin(time)),ptex_ang); +shape_1_per_frame2=ptex_ang=tex_ang; +shape_1_per_frame3= +shape_1_per_frame4=y=if(above(treb,1.2),y+abs(.02*sin(time)),py); +shape_1_per_frame5=py=y; +shape_1_per_frame6= +shape_1_per_frame7=x=if(above(treb,1.2),x+abs(.008*sin(time*.8)),py); +shape_1_per_frame8=px=x; +shape_1_per_frame9= +shape_1_per_frame10=vol=(bass+mid+treb_att)*.3333; +shape_1_per_frame11= +shape_1_per_frame12=redsine=.5+.15*bass*sin(time*3); +shape_1_per_frame13=greensine=.5+.15*mid*sin(time*2); +shape_1_per_frame14=bluesine=.5+.15*treb*sin(time); +shape_1_per_frame15= +shape_1_per_frame16=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +shape_1_per_frame17=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +shape_1_per_frame18=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +shape_1_per_frame19= +shape_1_per_frame20=border_r=redif; +shape_1_per_frame21=border_g=greenif; +shape_1_per_frame22=border_b=blueif; +shape_1_per_frame23= +shape_1_per_frame24=border_a=above(bass,1); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=sx=1; +per_frame_2=sy=1; +per_frame_3= +per_frame_4=//rot=-.03-above(bass,1)*.03*sin(time); +per_pixel_1=pi=3.14159; +per_pixel_2=volsine=(bass+mid+treb)*.05*sin(time*(.1*bass+.1*mid+.1*treb)); +per_pixel_3= +per_pixel_4=zoom=zoom+above(rad,.38)*atan(rad*rad); +per_pixel_5= +per_pixel_6=rot=atan(rot*4*ang*(.1*sin(16*ang)*above(rad,.5))); diff --git a/presets/presets_tryptonaut/Goody - Lights in the Sky.milk b/presets/presets_tryptonaut/Goody - Lights in the Sky.milk new file mode 100755 index 0000000000..3f18ca2842 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Lights in the Sky.milk @@ -0,0 +1,348 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.188 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.01959 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=128 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=4.44797 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=stx=.5+.05*sin(time*.22+.05*treb_att); +wave_0_per_point2=sty=.5+.05*cos(time*.15+.05*treb_att); +wave_0_per_point3= +wave_0_per_point4=mvx=stx+.05*cos(time)+.05*sin(bass); +wave_0_per_point5=mvy=sty+.05*sin(time)+.05*cos(treb); +wave_0_per_point6= +wave_0_per_point7=x=mvx+abs(sin(y*bass)*x+pow(cos(x*y*treb),bass_att))*.1*sin(y+time); +wave_0_per_point8=y=mvy+abs(cos(x*treb)*y+pow(cos(y*x*bass),treb_att))*.1*cos(x+time); +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=// x/y border limits +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=128 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=4.44796 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=stx=.5+.05*sin(time*.12+treb_att); +wave_1_per_point2=sty=.5-.05*cos(time*.25+treb_att); +wave_1_per_point3= +wave_1_per_point4=mvx=stx-.05*sin(time)+.05*cos(bass); +wave_1_per_point5=mvy=sty+.05*cos(time)+.05*sin(treb); +wave_1_per_point6= +wave_1_per_point7=x=mvx+abs(sin(y*bass)*x+pow(cos(x*y*treb),bass_att))*.1*sin(y+time); +wave_1_per_point8=y=mvy+abs(cos(x*treb)*y+pow(cos(y*x*bass),treb_att))*.1*cos(x+time); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=// x/y border limits +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=4.44841 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=stx=.5-.01*cos(time*.32+mid_att); +wave_2_per_point2=sty=.5-.01*sin(time*.45+mid_att); +wave_2_per_point3= +wave_2_per_point4=mvx=stx-.01*cos(time*1.33)+.001*sin(bass); +wave_2_per_point5=mvy=sty+.01*sin(time*.87)+.001*sin(treb); +wave_2_per_point6= +wave_2_per_point7=x=mvx+abs(sin(y*bass)*x+pow(cos(x*y*treb),bass_att))*.05*sin(y+time*1.43); +wave_2_per_point8=y=mvy+abs(cos(x*treb)*y+pow(cos(y*x*bass),treb_att))*.05*cos(x+time*1.54); +wave_2_per_point9= +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=// x/y border limits +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=4.44841 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t1 = 1 +wave_3_per_point1=stx=.5+.01*sin(time*.022+mid_att); +wave_3_per_point2=sty=.5+.01*cos(time*.615+mid_att); +wave_3_per_point3= +wave_3_per_point4=mvx=stx+.01*cos(time*.94)+.05*sin(bass); +wave_3_per_point5=mvy=sty+.01*sin(time*1.4)+.05*cos(treb); +wave_3_per_point6= +wave_3_per_point7=x=mvx+.5*abs(sin(y*bass)*x+pow(cos(x*y*treb),bass_att))*.2*sin(y+time*.72); +wave_3_per_point8=y=mvy+.5*abs(cos(x*treb)*y+pow(cos(y*x*bass),treb_att))*.2*cos(x+time*.47); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11= +wave_3_per_point12=// x/y border limits +shapecode_0_enabled=0 +shapecode_0_sides=8 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.50127 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00300 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.100 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=border_r=q1; +shape_0_per_frame2=border_g=q2; +shape_0_per_frame3=border_b=q3; +shape_0_per_frame4= +shape_0_per_frame5=ang=3.14*sin(time*.44)*cos(time*.17);; +shape_0_per_frame6= +shape_0_per_frame7=x=q4; +shape_0_per_frame8=y=q5; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.50122 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=border_r=q1; +shape_1_per_frame2=border_g=q2; +shape_1_per_frame3=border_b=q3; +shape_1_per_frame4= +shape_1_per_frame5=x=q4+.25*sin(time*.121)*cos(time*.19); +shape_1_per_frame6=x=q5+.25*cos(time*.17)*cos(time*.137); +shape_1_per_frame7= +shape_1_per_frame8=ang=3.14*cos(time*.77); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=sx=1.000; +per_frame_2=sy=1.000; +per_frame_3= +per_frame_4=//dy=0.0058; +per_frame_5= +per_frame_6=q4=.5+.05*cos(time*.52)*cos(time*.39); +per_frame_7=q5=.5+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=zoom=zoom+.01+.75*rad*treb_att; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv); +warp_5=` +warp_6=` //Layer code - Thanks to flexi. +warp_7=` float2 uv1 = lerp(uv_orig,uv,1); //equals uv +warp_8=` float2 uv2 = lerp(uv_orig,uv,0.2); // 20% of uv +warp_9=` float2 uv3 = lerp(uv_orig,uv,0.4); //20% of uv but in the opposite direction +warp_10=` +warp_11=` ret.x = GetPixel(uv1).x*0.97; +warp_12=` ret.y = GetPixel(uv2).y*0.98; +warp_13=` ret.z = GetPixel(uv3).z*0.96+ret.xy*.25; +warp_14=` +warp_15=` // darken (decay) over time +warp_16=` ret -= .0085+.005*ret ; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main,uv); +comp_4=` +comp_5=` float3 bl = GetBlur3(uv).xyz; +comp_6=` float3 base = GetPixel(uv).xyz; +comp_7=` +comp_8=` float3 blum = ret+lum(base+bl)+GetPixel(uv.xy); +comp_9=` +comp_10=` ret += bl+lerp(ret.x,bl.x*float3(0.24,0.9,0.138),base.y); +comp_11=` ret += bl+lerp(ret.y,bl.y*float3(0.9,0.25,0.1),base.x); +comp_12=` ret += bl+lerp(ret.z,bl.z*float3(0.31,0.12,0.18),base.z); +comp_13=` +comp_14=` ret += bl*(frac(base)+frac(bl))+blum; +comp_15=` ret += frac(ret+bl); +comp_16=` +comp_17=` ret*=ret; +comp_18=`} diff --git a/presets/presets_tryptonaut/Goody - Need - Desire remix.milk b/presets/presets_tryptonaut/Goody - Need - Desire remix.milk new file mode 100755 index 0000000000..8aee090eef --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Need - Desire remix.milk @@ -0,0 +1,357 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320 +fWaveScale=1.521 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=0 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.90164 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99307 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=border_r=q1; +shape_0_per_frame2=border_g=q2; +shape_0_per_frame3=border_b=q3; +shape_0_per_frame4= +shape_0_per_frame5=ang=1*sin(time*.44)*cos(time*.17);; +shape_0_per_frame6= +shape_0_per_frame7=x=q4; +shape_0_per_frame8=y=q5; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.39869 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.64463 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=border_r=q1; +shape_1_per_frame2=border_g=q2; +shape_1_per_frame3=border_b=q3; +shape_1_per_frame4= +shape_1_per_frame5=x=q4+.085*sin(time*.121)*cos(time*.19); +shape_1_per_frame6=x=q5+.085*sin(time*.17)*cos(time*.137); +shape_1_per_frame7= +shape_1_per_frame8=ang=3.14*sin(time*.77); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=vol=(bass+mid+treb_att)*.3333; +per_frame_2= +per_frame_3=redsine=.5+.15*bass*sin(time*3); +per_frame_4=greensine=.5+.15*mid*sin(time*2); +per_frame_5=bluesine=.5+.15*treb*sin(time); +per_frame_6= +per_frame_7=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +per_frame_8=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +per_frame_9=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +per_frame_10= +per_frame_11=//q1=redif; +per_frame_12=//q2=greenif; +per_frame_13=//q3=blueif; +per_frame_14= +per_frame_15=q4=.5+.05*sin(time*.52)*cos(time*.39); +per_frame_16=q5=.5+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=zoom=zoom+.05*rad; +per_pixel_2= +per_pixel_3=sy=sy+.1*cos(sin(y*60+time)-sin(20*x+time)*.5*treb_att); +per_pixel_4=sx=sx+.01*sin(cos(x*10+time)+cos(y*20+time)*.5*treb_att); +per_pixel_5= +per_pixel_6=//q6=dxm; +per_pixel_7=//q7=dym; +warp_1=`shader_body +warp_2=`{ +warp_3=`// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv); +warp_5=` +warp_6=`// darken the color channels at different rates +warp_7=`ret *= float3(.989,.986,.984); +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`//initial textures: +comp_4=`//1. Main image +comp_5=` float3 base=tex2D(sampler_main, uv); +comp_6=`//2. High quality noise sampler +comp_7=` float3 hinoise=tex2D(sampler_noise_hq, uv); +comp_8=` +comp_9=`//declaring modifying vars: +comp_10=`//1. Perspective UV value +comp_11=` float2 uvp=uv; +comp_12=` uvp.y*=.38; +comp_13=`//2. Blur values +comp_14=` float3 blpi=GetBlur1(uvp); +comp_15=` float3 blpii=GetBlur2(uvp); +comp_16=` float3 blpiii= GetBlur3(uvp); +comp_17=` float3 blmi=GetBlur1(uv); +comp_18=` float3 blmii=GetBlur2(uv); +comp_19=` float3 blmiii=GetBlur3(uv); +comp_20=` +comp_21=`//Perspective modified samplers +comp_22=`//1. Perspective Main +comp_23=` float3 pret=tex2D(sampler_main, uvp); +comp_24=` +comp_25=`//final return value +comp_26=`float3 fret=(1/blpii-(pret*blpi)).xyz; +comp_27=`fret-=blmii*1.35; +comp_28=` +comp_29=`ret=1-fret*fret; +comp_30=`} diff --git a/presets/presets_tryptonaut/Goody - Need - Transcendance remix.milk b/presets/presets_tryptonaut/Goody - Need - Transcendance remix.milk new file mode 100755 index 0000000000..ec2a086f8c --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Need - Transcendance remix.milk @@ -0,0 +1,357 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320 +fWaveScale=1.521 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=0 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.90164 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99307 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=border_r=q1; +shape_0_per_frame2=border_g=q2; +shape_0_per_frame3=border_b=q3; +shape_0_per_frame4= +shape_0_per_frame5=ang=1*sin(time*.44)*cos(time*.17);; +shape_0_per_frame6= +shape_0_per_frame7=x=q4; +shape_0_per_frame8=y=q5; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.39869 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.64463 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=border_r=q1; +shape_1_per_frame2=border_g=q2; +shape_1_per_frame3=border_b=q3; +shape_1_per_frame4= +shape_1_per_frame5=x=q4+.085*sin(time*.121)*cos(time*.19); +shape_1_per_frame6=x=q5+.085*sin(time*.17)*cos(time*.137); +shape_1_per_frame7= +shape_1_per_frame8=ang=3.14*sin(time*.77); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=vol=(bass+mid+treb_att)*.3333; +per_frame_2= +per_frame_3=redsine=.5+.15*bass*sin(time*3); +per_frame_4=greensine=.5+.15*mid*sin(time*2); +per_frame_5=bluesine=.5+.15*treb*sin(time); +per_frame_6= +per_frame_7=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +per_frame_8=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +per_frame_9=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +per_frame_10= +per_frame_11=//q1=redif; +per_frame_12=//q2=greenif; +per_frame_13=//q3=blueif; +per_frame_14= +per_frame_15=q4=.5+.05*sin(time*.52)*cos(time*.39); +per_frame_16=q5=.5+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=zoom=zoom+.015*rad+.025*treb_att*rad; +per_pixel_2= +per_pixel_3=sy=sy+.1*cos(sin(y*40+time)-sin(20*x+time)*.5*treb_att); +per_pixel_4=sx=sx+.025*sin(cos(x*40+time)+cos(y*20+time)*.5*treb_att); +per_pixel_5= +per_pixel_6=//q6=dxm; +per_pixel_7=//q7=dym; +warp_1=`shader_body +warp_2=`{ +warp_3=`// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv); +warp_5=` +warp_6=`// darken the color channels at different rates +warp_7=`ret *= float3(.97,.9846,1.0); +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`//initial textures: +comp_4=`//1. Main image +comp_5=` float3 base=tex2D(sampler_main, uv); +comp_6=`//2. High quality noise sampler +comp_7=` float3 hinoise=tex2D(sampler_noise_hq, uv); +comp_8=` +comp_9=`//declaring modifying vars: +comp_10=`//1. Perspective UV value +comp_11=` float2 uvp=uv; +comp_12=` uvp.y*=.38; +comp_13=`//2. Blur values +comp_14=` float3 blpi=GetBlur1(uvp); +comp_15=` float3 blpii=GetBlur2(uvp); +comp_16=` float3 blpiii= GetBlur3(uvp); +comp_17=` float3 blmi=GetBlur1(uv); +comp_18=` float3 blmii=GetBlur2(uv); +comp_19=` float3 blmiii=GetBlur3(uv); +comp_20=` +comp_21=`//Perspective modified samplers +comp_22=`//1. Perspective Main +comp_23=` float3 pret=tex2D(sampler_main, uvp); +comp_24=` +comp_25=`//final return value +comp_26=`float3 fret=(.17*blpiii/(pret*blpiii)).x; +comp_27=`fret-=blmii*1.35; +comp_28=` +comp_29=`ret=1-fret*fret; +comp_30=`} diff --git a/presets/presets_tryptonaut/Goody - Need.milk b/presets/presets_tryptonaut/Goody - Need.milk new file mode 100755 index 0000000000..f563fdc4e6 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Need.milk @@ -0,0 +1,358 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320 +fWaveScale=1.521 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=2.599 +fWarpScale=0.010 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00170 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=y=rand(10000)*(.0001)+.5; +wave_0_per_point2=x=.5+.85*sin(time)*(.48-y); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)*.333; +wave_0_per_point5= +wave_0_per_point6=a=above((.35*bass),x); +wave_0_per_point7= +wave_0_per_point8=r=bass*.75; +wave_0_per_point9=g=mid*.3; +wave_0_per_point10=b=treb*.25; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t1 = 1 +wave_1_per_point1=y=rand(10000)*(.0001)+.5; +wave_1_per_point2=x=.5+.5*sin(time)*(.48-y); +wave_1_per_point3= +wave_1_per_point4=vol=(bass+mid+treb)*.333; +wave_1_per_point5= +wave_1_per_point6=a=above((.35*mid),x); +wave_1_per_point7= +wave_1_per_point8=r=bass*.3; +wave_1_per_point9=g=mid*.75; +wave_1_per_point10=b=treb*.2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 1 +wave_2_per_point1=y=rand(10000)*(.0001)+.5; +wave_2_per_point2=x=.5+.25*sin(time)*(.48-y); +wave_2_per_point3= +wave_2_per_point4=vol=(bass+mid+treb)*.333; +wave_2_per_point5= +wave_2_per_point6=a=above((.35*treb),x); +wave_2_per_point7= +wave_2_per_point8=r=bass*.2; +wave_2_per_point9=g=mid*.3; +wave_2_per_point10=b=treb*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.050 +wave_3_init1=t1 = 1 +wave_3_per_point1=y=rand(10000)*(.0001)+.5; +wave_3_per_point2=x=.5-(pow(sin(time),y)+(.55-y)); +wave_3_per_point3=x=if(above(x,y),y+sin(time)+(1-y),x); +wave_3_per_point4= +wave_3_per_point5=vol=(bass+mid+treb)*.333; +wave_3_per_point6= +wave_3_per_point7=r=bass*.5; +wave_3_per_point8=g=mid*.5; +wave_3_per_point9=b=treb*.5; +shapecode_0_enabled=0 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.90164 +shapecode_0_ang=0.62832 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99307 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=border_r=q1; +shape_0_per_frame2=border_g=q2; +shape_0_per_frame3=border_b=q3; +shape_0_per_frame4= +shape_0_per_frame5=ang=1*sin(time*.44)*cos(time*.17);; +shape_0_per_frame6= +shape_0_per_frame7=x=q4; +shape_0_per_frame8=y=q5; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.39869 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.64463 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=border_r=q1; +shape_1_per_frame2=border_g=q2; +shape_1_per_frame3=border_b=q3; +shape_1_per_frame4= +shape_1_per_frame5=x=q4+.085*sin(time*.121)*cos(time*.19); +shape_1_per_frame6=x=q5+.085*sin(time*.17)*cos(time*.137); +shape_1_per_frame7= +shape_1_per_frame8=ang=3.14*sin(time*.77); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.44044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99991 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.88496 +shapecode_3_tex_zoom=1.00182 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.200 +shape_3_per_frame1=bass_mod=max(x+abs(bass_att),x+sin(time)); +shape_3_per_frame2= +shape_3_per_frame3=y=.5+.5*sin(time); +shape_3_per_frame4=x=bass_mod*pow(y,2); +shape_3_per_frame5= +shape_3_per_frame6=a=if(above(x,y),0,a); +shape_3_per_frame7=a2=a; +shape_3_per_frame8=border_a=.1*a; +shape_3_per_frame9= +shape_3_per_frame10=tex_zoom=bass+mid; +shape_3_per_frame11= +shape_3_per_frame12=r=bass*.5; +shape_3_per_frame13=g=mid*.6; +shape_3_per_frame14=b=treb*.7; +per_frame_init_1=decay=0.1; +per_frame_1=sx=1.000; +per_frame_2=sy=1.000; +per_frame_3= +per_frame_4=//dy=0.0058; +per_frame_5= +per_frame_6=vol=(bass+mid+treb_att)*.3333; +per_frame_7= +per_frame_8=redsine=.5+.15*bass*sin(time*3); +per_frame_9=greensine=.5+.15*mid*sin(time*2); +per_frame_10=bluesine=.5+.15*treb*sin(time); +per_frame_11= +per_frame_12=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +per_frame_13=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +per_frame_14=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +per_frame_15= +per_frame_16=//q1=redif; +per_frame_17=//q2=greenif; +per_frame_18=//q3=blueif; +per_frame_19= +per_frame_20=q4=.5+.05*sin(time*.52)*cos(time*.39); +per_frame_21=q5=.5+.05*sin(time*.44)*cos(time*.71); +per_pixel_1=///zoom=zoom+.015*rad+.025*treb_att*rad; +per_pixel_2= +per_pixel_3=sy=sy+.1*cos(sin(y*40+time)-sin(20*x+time)*.5*treb_att); +per_pixel_4=sx=sx+.1*sin(cos(x*40+time)+cos(y*20+time)*.5*treb_att); +per_pixel_5= +per_pixel_6=//q6=dxm; +per_pixel_7=//q7=dym; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv); +warp_5=` +warp_6=`// darken the color channels at different rates +warp_7=`ret *= float3(.98,.9846,1.0); +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`//initial textures: +comp_4=`//1. Main image +comp_5=` float3 base=tex2D(sampler_main, uv); +comp_6=`//2. High quality noise sampler +comp_7=` float3 hinoise=tex2D(sampler_noise_hq, uv); +comp_8=` +comp_9=`//declaring modifying vars: +comp_10=`//1. Perspective UV value +comp_11=` float2 uvp=uv; +comp_12=` uvp.y*=.38; +comp_13=`//2. Blur values +comp_14=` float3 blpi=GetBlur1(uvp); +comp_15=` float3 blpii=GetBlur2(uvp); +comp_16=` float3 blpiii= GetBlur3(uvp); +comp_17=` float3 blmi=GetBlur1(uv); +comp_18=` float3 blmii=GetBlur2(uv); +comp_19=` +comp_20=`//Perspective modified samplers +comp_21=`//1. Perspective Main +comp_22=` float3 pret=tex2D(sampler_main, uvp); +comp_23=` +comp_24=`ret=(.15*blpiii/(pret*blpi))-blmii*.65; +comp_25=` +comp_26=`} diff --git a/presets/presets_tryptonaut/Goody - The Thing That Lives Between.milk b/presets/presets_tryptonaut/Goody - The Thing That Lives Between.milk new file mode 100755 index 0000000000..c88b7d2d89 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - The Thing That Lives Between.milk @@ -0,0 +1,310 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=8.000 +fDecay=0.950 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=6.820 +fWaveScale=0.826 +fWaveSmoothing=0.900 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=49.922 +fWarpScale=11.001 +fZoomExponent=1.38615 +fShader=0.000 +zoom=1.25486 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.050 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=10.880 +nMotionVectorsY=11.520 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=92 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=x=rand(10000)*(.0001); +wave_0_per_point2=y=rand(10000)*(.0001); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)/3; +wave_0_per_point5=a=vol; +wave_0_per_point6= +wave_0_per_point7=r=bass*.62; +wave_0_per_point8=g=mid*.58; +wave_0_per_point9=b=treb*.6; +wavecode_1_enabled=0 +wavecode_1_samples=3 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.020 +wave_1_init1=t1 = 1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.48454 +wavecode_2_smoothing=1.00000 +wavecode_2_r=0.300 +wavecode_2_g=0.500 +wavecode_2_b=0.250 +wavecode_2_a=0.300 +wave_2_per_point1=r=bass*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.200 +shapecode_0_enabled=0 +shapecode_0_sides=45 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.29462 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=3.16787 +shapecode_0_r=1.000 +shapecode_0_g=0.940 +shapecode_0_b=0.890 +shapecode_0_a=0.000 +shapecode_0_r2=0.840 +shapecode_0_g2=0.930 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.550 +shapecode_0_border_g=0.700 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=redsine=.55+.1*bass*sin(time*3); +shape_0_per_frame2=greensine=.7+.1*mid*sin(time*2); +shape_0_per_frame3=bluesine=.7+.1*treb*sin(time); +shape_0_per_frame4= +shape_0_per_frame5=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.95)); +shape_0_per_frame6=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.95)); +shape_0_per_frame7=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.95)); +shape_0_per_frame8= +shape_0_per_frame9=border_r=redif; +shape_0_per_frame10=border_g=greenif; +shape_0_per_frame11=border_b=blueif; +shape_0_per_frame12= +shape_0_per_frame13=border_a=1-(.45*(bass+mid)); +shape_0_per_frame14=a=(.0155*(bass+mid)); +shapecode_1_enabled=0 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.81621 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=1.88496 +shapecode_1_tex_zoom=3.30640 +shapecode_1_r=0.300 +shapecode_1_g=0.300 +shapecode_1_b=0.300 +shapecode_1_a=0.050 +shapecode_1_r2=0.500 +shapecode_1_g2=0.500 +shapecode_1_b2=0.500 +shapecode_1_a2=0.550 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.200 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_7=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_8=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_9=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_10=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_11=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_12=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_13=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_14=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_15=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_16=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_17=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_18=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_19= +per_frame_20=rot=.02*cos((pulse*.05+time*.05)+entropy*chaos); +per_frame_21= +per_frame_22=q1=mid_residual; +per_frame_23=q2=bass_residual; +per_frame_24=q3=treb_residual; +per_frame_25=q4=sin(pulse); +per_frame_26=q5=cos(pulse/2+q1); +per_frame_27= +per_frame_28=q6=sin(q3*q1+q7*q2); +per_frame_29=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_30=q8=entropy; +per_frame_31= +per_frame_32=redsine=.5+.15*bass*sin(time*3); +per_frame_33=greensine=.5+.15*mid*sin(time*2); +per_frame_34=bluesine=.5+.15*treb*sin(time); +per_frame_35= +per_frame_36=redif=if(above(bass,1.2),redsine,if(above(redif,.95),.0,redif*.95)); +per_frame_37=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),.0,greenif*.95)); +per_frame_38=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),.0,blueif*.95)); +per_frame_39= +per_frame_40=wave_r=redif; +per_frame_41=wave_g=greenif; +per_frame_42=wave_b=blueif; +per_pixel_1=zoom =1.0+.05*above(rad,.15)+1*abs(q4*.2*rad+rad*sin(q1)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= .98; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` ret = tex2D(sampler_main,uv).xyz; +comp_5=` +comp_6=` float bl = GetBlur2(uv); +comp_7=` float2 tex = bl*ret.xyz; +comp_8=` +comp_9=` ret *= 2.4; +comp_10=` ret *= tex2D(sampler_main, bl+tex); +comp_11=`} diff --git a/presets/presets_tryptonaut/Goody - Unstable Sonic Reactor - Final.milk b/presets/presets_tryptonaut/Goody - Unstable Sonic Reactor - Final.milk new file mode 100755 index 0000000000..36b57b37e4 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Unstable Sonic Reactor - Final.milk @@ -0,0 +1,270 @@ +[preset00] +fRating=2.000000 +fGammaAdj=6.600 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.125 +fWaveScale=0.600 +fWaveSmoothing=0.000 +fWaveParam=0.160 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=4.57482 +fShader=0.000 +zoom=1.00778 +rot=0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40271 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=vol=(bass+mid+treb_att)*.3333; +shape_0_per_frame3= +shape_0_per_frame4=redsine=.5+.15*bass*sin(time*3); +shape_0_per_frame5=greensine=.5+.15*mid*sin(time*2); +shape_0_per_frame6=bluesine=.5+.15*treb*sin(time); +shape_0_per_frame7= +shape_0_per_frame8=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +shape_0_per_frame9=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +shape_0_per_frame10=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +shape_0_per_frame11= +shape_0_per_frame12=r=redif; +shape_0_per_frame13=g=greenif; +shape_0_per_frame14=b=blueif; +shape_0_per_frame15= +shape_0_per_frame16=r2=sin(time*.47); +shape_0_per_frame17=g2=sin(time*.72); +shape_0_per_frame18=b2=sin(time*.33); +shape_0_per_frame19= +shape_0_per_frame20=tex_ang=3.14+3.14*sin(time*.42); +shape_0_per_frame21=ang=3.14+3.14*sin(time*.55); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.100 +shapecode_1_a=0.700 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=rand(10)*.1; +shape_1_per_frame2=y=rand(10)*.1; +shape_1_per_frame3= +shape_1_per_frame4=vol=(bass+mid+treb)*.3333; +shape_1_per_frame5= +shape_1_per_frame6=textured=above(vol,1.4); +shape_1_per_frame7=r=if(above(bass*2,mid+treb),.4,0); +shape_1_per_frame8=g=if(above(mid*2,treb+bass),.6,0); +shape_1_per_frame9=b=if(above(treb*2,bass+mid),.9,0); +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.79140 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55044 +shapecode_2_r=0.100 +shapecode_2_g=0.100 +shapecode_2_b=0.100 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.100 +shapecode_2_b2=0.100 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=additive=above(bass,.55); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=decay=.85; +per_frame_2=echo_alpha=.5+.1*sin(time*.922); +per_frame_3= +per_frame_4= +per_frame_5=zoom=1.0+(above(bass_att,1)*.01*sin(time)); +per_frame_6= +per_frame_7=wave_r=.75+.25*sin(time); +per_frame_8=wave_g=.75+.25*sin(time*.882); +per_frame_9=wave_b=.5+.25*sin(time*1.347); +per_frame_10= +per_frame_11=wave_mystery=wave_mystery*asepctx*asepcty; +per_pixel_1= +per_pixel_2=volsine=(bass+mid+treb)*.05*sin(time*(.1*bass+.1*mid+.1*treb)); +per_pixel_3= +per_pixel_4=zoom=zoom-below(rad,.3)*1*volsine; +per_pixel_5= +per_pixel_6=zoom=zoom+.25*sin(rad*.38)*above(rad,.48); +per_pixel_7=rot=rot+.08*sin(rad*12+time)*cos(time*.11+time*.233); +per_pixel_8= +per_pixel_9=sy=sy+below(rad,.4)*.019*sin(time*.5); +per_pixel_10=sx=sx+below(rad,.4)*.019*sin(time*.46); diff --git a/presets/presets_tryptonaut/Goody - Vertigo - revisited.milk b/presets/presets_tryptonaut/Goody - Vertigo - revisited.milk new file mode 100755 index 0000000000..c6b35a3a5e --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Vertigo - revisited.milk @@ -0,0 +1,250 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.001 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.029 +fWaveScale=4.687 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.200 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.274 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99941 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.800 +nMotionVectorsY=14.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.200 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.460 +shapecode_0_y=0.500 +shapecode_0_rad=1.99863 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.48364 +shapecode_0_r=0.900 +shapecode_0_g=0.300 +shapecode_0_b=0.600 +shapecode_0_a=0.070 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.400 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1=.02*sin(time*.3); +per_frame_2=q2=.12*cos(time*.4); +per_pixel_1=xd = sin(time)*x-cos(time)*y; +per_pixel_2=yd = cos(time)*x+sin(time)*y; +per_pixel_3= +per_pixel_4=dx=dx+.0015*sin(xd*20); +per_pixel_5=dy=dy+.0015*sin(yd*20); +per_pixel_6= +per_pixel_7=rot=rot+.015*sin(time*.35+treb_att*.1); +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=`ret = tex2D( sampler_fw_main, uv ).xyz; +warp_5=` +warp_6=`float2 bl = .034*GetPixel(GetBlur1(uv)+(.75*sin(uv.x*5+.1*time))); +warp_7=` +warp_8=`ret=tex2D(sampler_main, uv-bl); +warp_9=`ret=lerp(ret, 1.1*bl.x, 1.1*bl.y); +warp_10=` +warp_11=`ret=ret*float3(.87+q2,.98,.985+q1)-.002; +warp_12=` +warp_13=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=`ret = tex2D(sampler_fw_main, uv); +comp_5=` +comp_6=`} diff --git a/presets/presets_tryptonaut/Goody - Vertigo.milk b/presets/presets_tryptonaut/Goody - Vertigo.milk new file mode 100755 index 0000000000..b7b1b413d2 --- /dev/null +++ b/presets/presets_tryptonaut/Goody - Vertigo.milk @@ -0,0 +1,248 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.001 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.029 +fWaveScale=4.687 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.200 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.274 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99941 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.800 +nMotionVectorsY=14.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.200 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.460 +shapecode_0_y=0.500 +shapecode_0_rad=1.99863 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.48364 +shapecode_0_r=0.900 +shapecode_0_g=0.300 +shapecode_0_b=0.600 +shapecode_0_a=0.070 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.400 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_pixel_1=xd = sin(time)*x-cos(time)*y; +per_pixel_2=yd = cos(time)*x+sin(time)*y; +per_pixel_3= +per_pixel_4=dx=dx+.0015*sin(xd*20); +per_pixel_5=dy=dy+.0015*sin(yd*20); +per_pixel_6= +per_pixel_7=rot=rot+.015*sin(time*.35+treb_att*.1); +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` ret = tex2D( sampler_fw_main, uv ).xyz; +warp_5=` +warp_6=` float2 bl = .034*GetPixel(GetBlur1(uv)+sin(ang*20+.1*time)); +warp_7=` +warp_8=`ret=tex2D(sampler_main, uv-bl); +warp_9=`//ret=lerp(ret, bl.x, bl.y); +warp_10=` +warp_11=`ret=ret*float3(.87,.986,.98)-.002; +warp_12=` +warp_13=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=`ret = tex2D(sampler_fw_main, uv); +comp_5=` +comp_6=`} diff --git a/presets/presets_tryptonaut/Hexcollie - Beautiful.milk b/presets/presets_tryptonaut/Hexcollie - Beautiful.milk new file mode 100755 index 0000000000..3b9ed22717 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - Beautiful.milk @@ -0,0 +1,365 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.001829 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999005 +sy=0.999005 +wave_r=0.000000 +wave_g=0.400000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.250001 +ib_size=0.155000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.270000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.667177 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.389281 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.400000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=tex_capture = above(bass,1); +shape_0_per_frame2=ang = basstime; +shape_0_per_frame3= +shape_0_per_frame4= +shape_0_per_frame5=ob_r = 0.5 * sin(basstime*1.12); +shape_0_per_frame6=ob_g = 0.5 * sin(basstime*1.5); +shape_0_per_frame7=ob_b = 0.5 * sin(basstime*2.12); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.667177 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.369700 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_capture = above(bass,1); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.550000 +shapecode_2_rad=0.036971 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=r = 0.5 + 0.5*sin(q3); +shape_2_per_frame2=g = 0.5 + 0.5*sin(q3*1.258); +shape_2_per_frame3=b = 0.5 + 0.5*sin(q3*1.478); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 0.5 + 0.5*sin(q3*789); +shape_2_per_frame6=g2 = 0.5 + 0.5*sin(q3*1.597); +shape_2_per_frame7=b2 = 0.5 + 0.5*sin(q3*1.729); +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=x = 0.5 + 0.2*sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1= +shape_3_per_frame2= +shape_3_per_frame3=r = 0.5 + 0.5*sin(time); +shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.9); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*0.56); +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=r2 = 0.5 + 0.5*sin(time); +shape_3_per_frame9=g2 = 0.5 + 0.5*sin(time*0.9); +shape_3_per_frame10=b2 = 0.5 + 0.5*sin(time*0.56); +per_frame_init_1=oldx=.5; +per_frame_init_2=oldy=.5; +per_frame_1=warp = 0; +per_frame_2=wave_r = min(1,max(0,0.3*bass)); +per_frame_3=wave_g = min(1,max(0,0.3*mid)); +per_frame_4=wave_b = min(1,max(0,0.3*treb)); +per_frame_5= +per_frame_6=//Thanks to Zylot for rainbow generator +per_frame_7=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_8=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_9=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_10=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_11=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_12=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_13=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_14=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_15= +per_frame_16=mbass=max(bass_att,3); +per_frame_17=xmovn = 0.1*int(rand(10))*mbass*0.015*(1-2*above(int(rand(10)),5)); +per_frame_18=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(int(rand(10)),5)); +per_frame_19=//ymovn=.05; +per_frame_20=xmov = if(beat,xmovn,xmov*.9); +per_frame_21=ymov = if(beat,ymovn,ymov*.9); +per_frame_22=q1=oldx; +per_frame_23=q2=oldy; +per_frame_24=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); +per_frame_25=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); +per_frame_26=xmov = xmov + (-2*xmov*out_x); +per_frame_27=ymov = ymov + (-2*ymov*out_y); +per_frame_28=wave_x = q1+xmov ; +per_frame_29=wave_y = q2+ymov; +per_frame_30=q1=wave_x; +per_frame_31=q2=wave_y; +per_frame_32=oldx = q1; +per_frame_33=oldy = q2; +per_frame_34= +per_frame_35=decay = decay - 0.91*(treble); +per_frame_36= +per_frame_37=//Thanks to krash for beat detection (modified) +per_frame_38=volume = 0.3*bass+mid; +per_frame_39=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_40=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_41=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_42=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_43=peakbass_att = max(bass_att,peakbass_att); +per_frame_44=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_49=q3=volume+treb; +per_frame_50=monitor =meanbass_att; +per_pixel_1=mx= x-q1; +per_pixel_2=my = y-(1-q2); +per_pixel_3=mrad = pow(pow(mx,2)+pow(my,2),0.5)*pow(2,0.5); +per_pixel_4=cx = q1; +per_pixel_5=cy = 1-q2; +per_pixel_6=rot= rot + below(mrad-0.18,0)*0.5*sin(mrad*40)*(mrad-0.1)*40- above(mrad-0.18,0)*0.3*sin(mrad*2)*(mrad-0.1)*sin((cx-0.5)*(cy-0.5)*6.28)*q3; +per_pixel_7=zoom= zoom - above(mrad-0.18,0)*0.05*mrad*q3; +per_pixel_8=dx = dx +below(mrad-0.18,0)*0.015*(mx/mrad); +per_pixel_9=dy = dy +below(mrad-0.18,0)*0.015*(my/mrad); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 zoom = 2; +warp_5=`float2 cntr = float2(-0,-0); +warp_6=`float2 c = float2(0.6,0.6); // complex constant +warp_7=` +warp_8=` float2 my_uv = (uv-0.5-cntr)*zoom; +warp_9=` my_uv = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y) + c; // u -> u^2 + c +warp_10=` +warp_11=`zoom =1.81; +warp_12=`cntr = float2(0,0); +warp_13=`c = float2(0.448,0.701); +warp_14=` +warp_15=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_16=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_17=` +warp_18=`//ret.x = tex2D( sampler_fc_main, my_uv).x - 0.1; +warp_19=`ret = tex2D( sampler_fc_main, my_uv2) - 0.004; +warp_20=` +warp_21=` my_uv = lerp(my_uv, my_uv2, 0.5); +warp_22=`//ret.z = tex2D( sampler_fc_main, my_uv2).z - 0.1; +warp_23=` +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=`float3 ret1 = 0; +comp_10=`int anz = 6; +comp_11=`int n = 0; +comp_12=`while (n <= anz) { +comp_13=` ang2 = 6.28*n/anz; +comp_14=` c = cos(ang2); +comp_15=` s = sin(ang2); +comp_16=` uv2.x = uv.x*c - uv.y*s; +comp_17=` uv2.y = uv.x*s + uv.y*c; +comp_18=` +comp_19=` ret1 = max(ret1,tex2D(sampler_main, uv2 + 0.5+.1*q1)); +comp_20=`n++; +comp_21=`} +comp_22=` +comp_23=`ret1 = (ret1 - rad/2) * (1+slow_roam_cos.xyz/2); +comp_24=` +comp_25=`float3 noise = tex2D (sampler_noise_hq,uv*8+lum(ret1)/8)+.15; +comp_26=` +comp_27=`ret1 = max(ret1,lum(noise)/6); +comp_28=` +comp_29=`//ret = lerp(ret, lum(ret), -5); +comp_30=` +comp_31=` ret = ret1*1.6-.1; +comp_32=`} +comp_33=` +comp_34=` diff --git a/presets/presets_tryptonaut/Hexcollie - Cell division.milk b/presets/presets_tryptonaut/Hexcollie - Cell division.milk new file mode 100755 index 0000000000..3902a3c091 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - Cell division.milk @@ -0,0 +1,361 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.200000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=it = it + 1; +wave_0_per_frame2= +wave_0_per_frame3=a = equal(it%20,0); +wave_0_per_frame4=a = 1; +wave_0_per_point1=x = int(rand(101))*.01; +wave_0_per_point2=y = int(rand(101))*.01; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tm = int(rand(101))*.01*6.24; +wave_1_per_frame2=dt = int(rand(101))*.01; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t1 = .5 + .5*sin(tm)*dt; +wave_1_per_frame6=t2 = .5 + .5*cos(tm)*dt; +wave_1_per_frame7= +wave_1_per_frame8=r = .5 + .5*sin(time*1.132); +wave_1_per_frame9=g = .5 + .5*sin(time*1.121); +wave_1_per_frame10=b = .5 + .5*sin(time*1.187); +wave_1_per_point1=sp = int(sample*4); +wave_1_per_point2=sw = equal(it%2,0); +wave_1_per_point3=it = if(equal(sample,0),0,it + 1); +wave_1_per_point4= +wave_1_per_point5=mod = bass; +wave_1_per_point6= +wave_1_per_point7=ax = t1 + sin(sample*6.28)*mod*.1; +wave_1_per_point8=ay = t2 + cos(sample*6.28)*mod*.1; +wave_1_per_point9=bx = t1 + sin(sample*6.28)*mod*.005; +wave_1_per_point10=by = t2 + cos(sample*6.28)*mod*.005; +wave_1_per_point11= +wave_1_per_point12=x = if(sw,bx,ax); +wave_1_per_point13=y = if(sw,by,ay); +wave_1_per_point14= +wave_1_per_point15=a = if(sw,equal(int(rand(7)),0)*.1,0); +wave_1_per_point16= +wave_1_per_point17=a = sw*.2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = int(rand(101))*.01*6.24; +wave_2_per_frame2=dt = int(rand(101))*.01; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t1 = .5 + .5*sin(tm)*dt; +wave_2_per_frame6=t2 = .5 + .5*cos(tm)*dt; +wave_2_per_frame7= +wave_2_per_frame8=r = .5 + .5*sin(time*1.132); +wave_2_per_frame9=g = .5 + .5*sin(time*1.121); +wave_2_per_frame10=b = .5 + .5*sin(time*1.187); +wave_2_per_point1=sp = int(sample*4); +wave_2_per_point2=sw = equal(it%2,0); +wave_2_per_point3=it = if(equal(sample,0),0,it + 1); +wave_2_per_point4= +wave_2_per_point5=mod = treb; +wave_2_per_point6= +wave_2_per_point7=ax = t1 + sin(sample*6.28)*mod*.1; +wave_2_per_point8=ay = t2 + cos(sample*6.28)*mod*.1; +wave_2_per_point9=bx = t1 + sin(sample*6.28)*mod*.005; +wave_2_per_point10=by = t2 + cos(sample*6.28)*mod*.005; +wave_2_per_point11= +wave_2_per_point12=x = if(sw,bx,ax); +wave_2_per_point13=y = if(sw,by,ay); +wave_2_per_point14= +wave_2_per_point15=a = if(sw,equal(int(rand(7)),0)*.1,0); +wave_2_per_point16= +wave_2_per_point17=a = sw*.2; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=51 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.327350 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=3.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tm = int(rand(101))*.01*6.24; +wave_3_per_frame2=dt = int(rand(101))*.01; +wave_3_per_frame3= +wave_3_per_frame4=t1 = .5 + .5*sin(tm)*dt; +wave_3_per_frame5=t2 = .5 + .5*cos(tm)*dt; +wave_3_per_frame6= +wave_3_per_frame7=r = .5 + .5*sin(time*1.132); +wave_3_per_frame8=g = .5 + .5*sin(time*1.121); +wave_3_per_frame9=b = .5 + .5*sin(time*1.187); +wave_3_per_point1=sp = int(sample*4); +wave_3_per_point2=sw = equal(it%2,0); +wave_3_per_point3=it = if(equal(sample,0),0,it + 1); +wave_3_per_point4= +wave_3_per_point5=ax = t1 + sin(sample*6.28)*mid*.1; +wave_3_per_point6=ay = t2 + cos(sample*6.28)*mid*.1; +wave_3_per_point7=bx = t1 + sin(sample*6.28)*mid*.005; +wave_3_per_point8=by = t2 + cos(sample*6.28)*mid*.005; +wave_3_per_point9= +wave_3_per_point10=x = if(sw,bx,ax); +wave_3_per_point11=y = if(sw,by,ay); +wave_3_per_point12= +wave_3_per_point13=a = if(sw,equal(int(rand(7)),0)*.1,0); +wave_3_per_point14= +wave_3_per_point15=a = sw*.2 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=colorcounter = 1; +per_frame_init_2=counter1 = 0; +per_frame_init_3=counter2 = 1; +per_frame_init_4=cdelay1 = 0; +per_frame_init_5=cdelay2 = 0; +per_frame_init_6=rx = .5; +per_frame_init_7=ry = .5; +per_frame_init_8=xm = 0; +per_frame_init_9=ym =0; +per_frame_init_10=orx = .5; +per_frame_init_11=ory = .5; +per_frame_init_12=wave_x = .5; +per_frame_init_13=wave_y = .5; +per_frame_init_14=oldx = int(rand(100))*.01; +per_frame_init_15=oldy = int(rand(100))*.01; +per_frame_1=warp = 0; +per_frame_2=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.05),1); +per_frame_3=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.05),1); +per_frame_4=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_5=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_6=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_7=oldx = if(equal(colorcounter%2,1),if(equal(counter1,.95),rx,oldx),if(equal(counter2,.95),rx,oldx)); +per_frame_8=oldy = if(equal(colorcounter%2,1),if(equal(counter1,.95),ry,oldy),if(equal(counter2,.95),ry,oldy)); +per_frame_9=rx = if(equal(cdelay1,1),int(rand(100))*.01,rx); +per_frame_10=ry = if(equal(cdelay1,1),int(rand(100))*.01,ry); +per_frame_11=xm = if(equal(cdelay1,1),(rx - oldx)*.05,xm); +per_frame_12=ym = if(equal(cdelay1,1),(ry - oldy)*.05,ym); +per_frame_13=monitor = colorcounter; +per_frame_14=wave_r = bass*.4; +per_frame_15=wave_g = treb*.4; +per_frame_16=wave_b = mid*.4; +per_frame_17=wave_a = bass; +per_frame_18=wave_mystery = -.5+bass*.1; +per_frame_19=wave_x = rx - (if(equal(colorcounter%2,1),abs(counter1-1)*(xm*20),abs(counter2-1)*(xm*20))); +per_frame_20=wave_y = ry - (if(equal(colorcounter%2,1),abs(counter1-1)*(ym*20),abs(counter2-1)*(ym*20))); +per_frame_21=zoom = .995; +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,2)*3.5; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*9 + time*0.05); +comp_8=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_9=` +comp_10=` uv = uv2; +comp_11=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_12=` +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv).xyz; +comp_15=` +comp_16=` float3 orig = ret; +comp_17=` ret = lum(ret); +comp_18=` ret.x = orig.x; +comp_19=` +comp_20=` ret = -0.3 + 1.6*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Hexcollie - Jacked on way too much caffeine.milk b/presets/presets_tryptonaut/Hexcollie - Jacked on way too much caffeine.milk new file mode 100755 index 0000000000..afbb9c4381 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - Jacked on way too much caffeine.milk @@ -0,0 +1,322 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.970816 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.647020 +fWaveSmoothing=0.000000 +fWaveParam=-0.060000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.850000 +wave_g=0.000000 +wave_b=1.000000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.599570 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = int(rand(20)); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12=musictime=musictime+vol; +per_frame_13= +per_frame_14=q4=0; +per_frame_15=q5=0; +per_frame_16=//q4=sin(musictime*0.02)*0.3; +per_frame_17=//q5=sin(musictime*0.01)*0.3; +per_frame_18= +per_frame_19=dx=sin(musictime*0.1)*0.07; +per_frame_20=dy=cos(musictime*0.069)*0.07; +per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_23= +per_frame_24=q8=musictime; +per_frame_25= +per_frame_26= +per_frame_27=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2= +per_pixel_3=cx=0.5+q4; +per_pixel_4=cy=0.5-q5; +per_pixel_5= +per_pixel_6=cx=sin((ang-0.5)*6.28*18*q1+q8time)*0.07 + 0.5; +per_pixel_7=cy=cos((rad-0.5)*6.28*18*q2+q8time)*0.07 + 0.5; +per_pixel_8= +per_pixel_9=zoom=1; +per_pixel_10=zm=pow(rd,sin(q8)+3.5)/10.5 + .5; +per_pixel_11=zm=zm*5; +per_pixel_12=sx=zm; +per_pixel_13=sy=zm +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.9+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*1.15+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.75; //or try: ret -= 0.004; +warp_13=`} diff --git a/presets/presets_tryptonaut/Hexcollie - Meatball.milk b/presets/presets_tryptonaut/Hexcollie - Meatball.milk new file mode 100755 index 0000000000..5f48e425f7 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - Meatball.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-0.400 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.300 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.200 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r + wave_b; +per_frame_7=ob_g = ob_g +wave_r; +per_frame_8=ob_b = ob_B +wave_g; +per_frame_9=ib_r = ib_r +wave_r; +per_frame_10=ib_b = ib_b +wave_b; +per_frame_11=ib_g = ib_g+wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=rot = rot + 0.2*(0.36*sin(rad-0.22/abs(rad*2+bass/time))*0.4-treb/1.3*cos(bass_att)); +per_pixel_6=zoom = zoom - 0.03*abs(sin(bass*time+52*rad)-cos(0.3*bass-mid_att)); +per_pixel_7=zoom = zoom - 0.052*(0.5*abs(-0.2*bass*rot-3*(0.5-cos(0.5*rot)-rad)/2)); +per_pixel_8=dx = dx + 1.5*cos(zoom)*dx_r; +per_pixel_9=dy = dy + 1.5*sin(zoom)*dy_r; +per_pixel_10= +per_pixel_11=rot = if (equal(bass,0),0,rot); +per_pixel_12=zoom = if (equal(bass,0),0,zoom); diff --git a/presets/presets_tryptonaut/Hexcollie - Personal Mashup3 [Flexi's portal mix].milk b/presets/presets_tryptonaut/Hexcollie - Personal Mashup3 [Flexi's portal mix].milk new file mode 100755 index 0000000000..0389bf5ffc --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - Personal Mashup3 [Flexi's portal mix].milk @@ -0,0 +1,339 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.989 +fVideoEchoZoom=1.168 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00022 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.100 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.060 +ib_size=0.035 +ib_r=0.250 +ib_g=0.450 +ib_b=0.250 +ib_a=0.290 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_init_1=dle=1; +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=q1=le; +per_frame_26=q2=thccl+.2*leccl; +per_frame_27=leccl=leccl+dle*le; +per_frame_28=dle=if(beat,-dle,dle); +per_frame_29=bccl=bccl+beat; +per_frame_30= +per_frame_31=wave_r=.1+.8*sqr(sin(.011*thccl))+.1*sin(leccl*.061); +per_frame_32=wave_g=.1+.8*sqr(sin(.013*thccl))+.1*cos(leccl*.067); +per_frame_33=wave_b=.1+.8*sqr(cos(.017*thccl))+.1*sin(leccl*.065); +per_frame_34= +per_frame_35=ib_r=ib_r+.1*sin(1.3*time+.012*leccl); +per_frame_36=ib_g=ib_g+.1*sin(1.7*time+.019*leccl); +per_frame_37=ib_b=ib_b+.1*sin(1.9*time+.017*leccl); +per_frame_38=mv_r=.5*(ib_r+wave_r);mv_g=.5*(ib_g+wave_g);mv_b=.5*(ib_b+wave_b); +per_frame_39=mv_a=.5*sqr(sin(.01*leccl+bccl)); +per_frame_40= +per_frame_41=echo_alpha=.5+.2*cos(.07*leccl+.02*thccl); +per_frame_42=eo=if(band(equal(bccl%3,0),beat),rand(4),eo); +per_frame_43=q3=(equal(eo,2)+equal(eo,1))*equal(bccl%2,0); +per_frame_44=q4=(equal(eo,0)+equal(eo,3))*equal(bccl%2,0); +per_frame_45=echo_orient=eo; +per_pixel_1=dqv=above(x,.5)-above(y,.5); +per_pixel_2=rot=sin(sin(rad*(13+5*sin(.01*q2))+.06*q2)*q1*.01); +per_pixel_3=zoom=1+if(q3,dqv,1)*.1*sin(7*ang+.03*q2); +per_pixel_4=zoom=if(q4,if(below(rad,.8*sqr(sin(.016*q2))),.75+.4*cos(.021*q2),zoom),zoom); +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` +comp_6=` float2 uv2 = (uv - 0.5); +comp_7=` float rad2 = rad_lq*0.8; +comp_8=` float ang2 = ang_lq * M_INV_PI_2; +comp_9=` +comp_10=` ang2 += time*0.015 - rad_lq*0.0002; +comp_11=` float fins = 7; +comp_12=` ang2 = frac(ang2*fins)/fins; +comp_13=` ang2 = abs(ang2 - 0.5/fins); +comp_14=` +comp_15=` ang2 *= M_PI_2; +comp_16=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_17=` +comp_18=` ret = tex2D(sampler_main, uv2).xyz; +comp_19=` ret *= 1.333; // a little bit of overbright +comp_20=`} diff --git a/presets/presets_tryptonaut/Hexcollie - wings.milk b/presets/presets_tryptonaut/Hexcollie - wings.milk new file mode 100755 index 0000000000..0104274c6c --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie - wings.milk @@ -0,0 +1,262 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.766487 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=64.000000 +nMotionVectorsY=19.200027 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=size=0.165; +wave_0_per_point3= +wave_0_per_point4=x=0; +wave_0_per_point5=y=sample; +wave_0_per_point6= +wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; +wave_0_per_point8=flux=flux* min( (1-abs(y-0.5)*2)*10 , 1); +wave_0_per_point9= +wave_0_per_point10=tm=time*0.3; +wave_0_per_point11=r=sin(n+tm)*0.5 + 0.5; +wave_0_per_point12=g=sin(n+2.1+tm)*0.5+0.5; +wave_0_per_point13=b=sin(n+4.2+tm)*0.5 + 0.5; +wave_0_per_point14=r=r*flux; +wave_0_per_point15=g=g*flux; +wave_0_per_point16=b=b*flux +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=size=0.165; +wave_1_per_point3= +wave_1_per_point4=x=0.999; +wave_1_per_point5=y=sample; +wave_1_per_point6= +wave_1_per_point7=r=0;g=0;b=0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.700000 +shapecode_0_y=0.100000 +shapecode_0_rad=1.468120 +shapecode_0_ang=6.220354 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.796877 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.800000 +shapecode_1_y=0.200000 +shapecode_1_rad=1.198315 +shapecode_1_ang=4.712389 +shapecode_1_tex_ang=4.712389 +shapecode_1_tex_zoom=0.842757 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=sin(time/10)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=23 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.980000 +shapecode_2_rad=1.089239 +shapecode_2_ang=2.890266 +shapecode_2_tex_ang=5.654867 +shapecode_2_tex_zoom=0.809917 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.600000 +shapecode_3_y=0.800000 +shapecode_3_rad=0.599573 +shapecode_3_ang=5.654867 +shapecode_3_tex_ang=5.654867 +shapecode_3_tex_zoom=0.591190 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tex_ang=sin(time/5)*6.28; +per_frame_1=wave_r = wave_r + 0.35*sin(1.14*time) + 0.16*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.36*sin(1.27*time) + 0.15*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.37*sin(1.284*time) + 0.15*sin(1.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = ob_r+wave_b*above(sin(0.1*time),0); +per_frame_7=ob_b = ob_b+wave_g*above(sin(0.1*time),0); +per_frame_8=ob_g = ob_g+wave_r*above(sin(0.1*time),0); +per_frame_9=ob_r = ob_r+wave_g*below(sin(0.1*time),0); +per_frame_10=ob_b = ob_b+wave_r*below(sin(0.1*time),0); +per_frame_11=ob_g = ob_g+wave_b*below(sin(0.1*time),0); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.15*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.165*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=six = sin(x); +per_pixel_6= +per_pixel_7=dx = dx + 0.014*sin(abs(18*y))*sin(time); +per_pixel_8=dy = dy + 0.014*sin(abs(18*x))*cos(time); +per_pixel_9=dx = dx + 0.02975*pow(rad,x*2)*sin(time); +per_pixel_10=dy = dy + 0.02975*pow(rad,y*2)*cos(time); +per_pixel_11=zoom = zoom - 0.0825*pow(rad,x*6)*cos(ang*12); +per_pixel_12=rot = rot - 0.525*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets/presets_tryptonaut/Hexcollie, Aderassi, BDRV, AdamFX n Flexi - It's a start.milk b/presets/presets_tryptonaut/Hexcollie, Aderassi, BDRV, AdamFX n Flexi - It's a start.milk new file mode 100755 index 0000000000..51c3a5344d --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie, Aderassi, BDRV, AdamFX n Flexi - It's a start.milk @@ -0,0 +1,364 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.940 +fVideoEchoZoom=0.498 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=0.880 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=1.766 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.100 +nMotionVectorsX=19.200 +nMotionVectorsY=14.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.050 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.35*sin(1.14*time) + 0.16*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.36*sin(1.27*time) + 0.15*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.37*sin(1.284*time) + 0.15*sin(1.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = wave_g; +per_frame_7=ob_b = wave_r; +per_frame_8=ob_g = wave_b; +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_g; +per_frame_11=ib_g = wave_r; +per_frame_12= +per_frame_13=//before inversion +per_frame_14=scale = 4; +per_frame_15=angle = time*.2; +per_frame_16=translation_x = 0; +per_frame_17=translation_y = 0.2; +per_frame_18= +per_frame_19=//complex inverted +per_frame_20=iscale = 6; +per_frame_21=iangle = sin(time*0.1337)*0.3; +per_frame_22=itranslation_u = 0; +per_frame_23=itranslation_v = 0.2; +per_frame_24= +per_frame_25= +per_frame_26=// the m�bius transformation +per_frame_27=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_28=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_29=// so a/c and mu can be calculated outside of the shader +per_frame_30= +per_frame_31=a_r = cos(angle)*scale; +per_frame_32=a_i = sin(angle)*scale; +per_frame_33=b_r = translation_x; +per_frame_34=b_i = translation_y; +per_frame_35= +per_frame_36=c_r = -cos(iangle)*iscale; +per_frame_37=c_i = -sin(iangle)*iscale; +per_frame_38=d_r = itranslation_u; +per_frame_39=d_i = itranslation_v; +per_frame_40= +per_frame_41=// c^(-1) +per_frame_42=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_43=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_44= +per_frame_45=// a*c^(-1) +per_frame_46=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_47=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_48= +per_frame_49=// (bc-ad) +per_frame_50=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_51=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_52= +per_frame_53=// mu*c^(-1) +per_frame_54=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_55=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_56= +per_frame_57=q1 = ac_r; +per_frame_58=q2 = ac_i; +per_frame_59=q3 = mu_r; +per_frame_60=q4 = mu_i; +per_frame_61= +per_frame_62=q5 = c_r; +per_frame_63=q6 = c_i; +per_frame_64=q7 = d_r; +per_frame_65=q8 = d_i; +per_pixel_1=dy = dy + if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001); +per_pixel_2=cx = 8.13988973*sqr(warp - x); +per_pixel_3=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_4=cx=if(above(cx,2.0), 2.0, cx); +per_pixel_5=dy=if(below(dy,-1), -1, dy); +per_pixel_6=dy=if(above(dy,1.0), 1.0, dy); +per_pixel_7=num = 8; +per_pixel_8=pi = 3.141592654; +per_pixel_9=radi = (y-.5)*.75; +per_pixel_10=radi = (y-.5); +per_pixel_11=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_12= +per_pixel_13=an = ang + pi + time; +per_pixel_14=an = an - pi*2*int(an/(pi*2)); +per_pixel_15= +per_pixel_16=mod = .1; +per_pixel_17= +per_pixel_18=seg = ang + pi; +per_pixel_19=seg = seg/(pi*2)*num; +per_pixel_20=seg = int(seg); +per_pixel_21=seg = seg - equal(seg,num); +per_pixel_22= +per_pixel_23=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_24=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_25=//anga = anga + pi/6; // num = 6 +per_pixel_26=anga = anga + pi/4; // num = 8 +per_pixel_27=//anga = anga + .85; // num = 10 +per_pixel_28= +per_pixel_29= +per_pixel_30=ox = .5 - radi*sin(anga); +per_pixel_31=oy = .5 + radi*cos(anga); +per_pixel_32= +per_pixel_33=//rot = if(equal(seg,0),rot,0); +per_pixel_34= +per_pixel_35=dx = equal(seg,3)*(x-ox); +per_pixel_36=dy = equal(seg,3)*(y-oy); +per_pixel_37= +per_pixel_38=dx = above(seg,0)*(x-ox); +per_pixel_39=dy = above(seg,0)*(y-oy); +per_pixel_40= +per_pixel_41=//dx = equal(seg,1)*(x - .5)*2; +per_pixel_42=dx=dx+0.003*sin((y*2-1)*64)+0.001*sin((y*2-1)*96); +per_pixel_43=dy=dy+0.004*cos((x*2-1)*64)+0.002*cos((x*2-1)*96); +per_pixel_44= +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q1,q2); +comp_5=`float2 mu = float2(q3,q4); +comp_6=`float2 c = float2(q5,q6); +comp_7=`float2 d = float2(q7,q8); +comp_8=` +comp_9=`float2 z = (uv-0.5)*aspect.xy; +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x) + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`uv = moebius; +comp_19=` ret = 0; +comp_20=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_21=` ret -= GetBlur1(uv)*3; +comp_22=` +comp_23=` // little bit of noise: +comp_24=` ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_25=` + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_26=` +comp_27=` // palettize: +comp_28=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_29=` +comp_30=` ret = (ret-0.1)*1.1; +comp_31=` +comp_32=` +comp_33=`} diff --git a/presets/presets_tryptonaut/Hexcollie, Fishbrain, Flexi n EoS - Synthetic peacock visions.milk b/presets/presets_tryptonaut/Hexcollie, Fishbrain, Flexi n EoS - Synthetic peacock visions.milk new file mode 100644 index 0000000000..cfeae70e5d --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie, Fishbrain, Flexi n EoS - Synthetic peacock visions.milk @@ -0,0 +1,364 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.700 +fDecay=0.925 +fVideoEchoZoom=0.224 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.005 +fWaveScale=0.167 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=0.120 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08081 +sx=1.02010 +sy=1.02010 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.950 +wave_y=1.000 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=41 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.01000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t8 = 1; +wave_0_init2=t1 = q5; +wave_0_per_frame1=t1 = q5; +wave_0_per_frame2=t2 = q4; +wave_0_per_point1=t8 = -t8; +wave_0_per_point2=d1 = 0.2 + t8*0.01 - value1*0.1*(t8+1); +wave_0_per_point3=dir1 = t2; +wave_0_per_point4=dir2 = sample*asin(1)*4 - t2*0.5 + t1*3/2; +wave_0_per_point5= +wave_0_per_point6=x = 0.5 + sin(dir1)*0.1 + sin(dir2)*d1; +wave_0_per_point7=y = 0.5 + cos(dir1)*0.1 + cos(dir2)*d1; +wave_0_per_point8=y = (y-0.5)*1.2 + 0.5; +wavecode_1_enabled=1 +wavecode_1_samples=61 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.01240 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t8 = 1; +wave_1_init2=t1 = q5; +wave_1_per_frame1=t1 = q5; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=d = 0.3 + t8*0.01 - value1*0.1*(t8+1); +wave_1_per_point3=dir = t1 + sample*asin(1)*4; +wave_1_per_point4=x = 0.5 + sin(dir)*d; +wave_1_per_point5=y = 0.5 + cos(dir)*d; +wave_1_per_point6=y = (y-0.5)*1.2 + 0.5; +wavecode_2_enabled=1 +wavecode_2_samples=31 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.01303 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t8 = 1; +wave_2_init2=t1 = q5; +wave_2_per_frame1=t1 = q5; +wave_2_per_frame2=t2 = q4; +wave_2_per_frame3=t3 = q6; +wave_2_per_point1=t8 = -t8; +wave_2_per_point2=d1 = 0.15 + t8*0.01 - value1*0.1*(t8+1); +wave_2_per_point3=dir1 = t2; +wave_2_per_point4=dir2 = t2*0.5 + t1*3/2 - t3*3; +wave_2_per_point5=dir3 = sample*asin(1)*4 + t3 - t2*5/6 + t1*3/2; +wave_2_per_point6= +wave_2_per_point7=x = 0.5 + sin(dir1)*0.1 + sin(dir2)*0.05 + sin(dir3)*d1; +wave_2_per_point8=y = 0.5 + cos(dir1)*0.1 + cos(dir2)*0.05 + cos(dir3)*d1; +wave_2_per_point9=y = (y-0.5)*1.2 + 0.5; +wavecode_3_enabled=1 +wavecode_3_samples=511 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.02345 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.990 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q4*0.75; +wave_3_per_frame2=t2 = q5*0.75; +wave_3_per_frame3=t3 = q6*0.75; +wave_3_per_frame4=t4 = q4*0.75; +wave_3_per_frame5=t5 = q5*0.75; +wave_3_per_frame6=t6 = q6*0.75; +wave_3_per_frame7=t8 = 1; +wave_3_per_point1= +wave_3_per_point2=pi = asin(1); +wave_3_per_point3=n = 80; +wave_3_per_point4=t8 = -t8; +wave_3_per_point5=rd = 0.075+0.02*(t8+1)/2; +wave_3_per_point6=xx = sin(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_3_per_point7=yy = cos(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_3_per_point8=zz = sin(sample*pi*n)*rd; +wave_3_per_point9= +wave_3_per_point10=d = sqrt( xx*xx + yy*yy + zz*zz)*0.004; +wave_3_per_point11=d1 = 1; +wave_3_per_point12=xx = xx*d1; +wave_3_per_point13=yy = yy*d1; +wave_3_per_point14=zz = zz*d1; +wave_3_per_point15= +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=w1 = d*t4; +wave_3_per_point20=w2 = d*t5; +wave_3_per_point21=w3 = d*t6; +wave_3_per_point22= +wave_3_per_point23=s1 = sin(t1*1+w1); +wave_3_per_point24=s2 = sin(t2*1+w2); +wave_3_per_point25=s3 = sin(t3*1+w3); +wave_3_per_point26=c1 = cos(t1*1+w1); +wave_3_per_point27=c2 = cos(t2*1+w2); +wave_3_per_point28=c3 = cos(t3*1+w3); +wave_3_per_point29= +wave_3_per_point30=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point31=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point32=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point33= +wave_3_per_point34=a = 0.5; +wave_3_per_point35=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_3_per_point36=x = 0.5 + zoom*x1; +wave_3_per_point37=y = 0.5 + zoom*y1; +wave_3_per_point38= +wave_3_per_point39=pi3 = 3.1415*2*0.3333; +wave_3_per_point40=t = -z*2 - time*0.8;//sample*pi*4-0*time +t4*3; +wave_3_per_point41=c=2; +wave_3_per_point42=r = sin(t)*c; +wave_3_per_point43= +wave_3_per_point44=g = sin(t+pi3)*c; +wave_3_per_point45= +wave_3_per_point46=b = sin(t-pi3)*c; +wave_3_per_point47= +wave_3_per_point48=j = 0.71; +wave_3_per_point49=//r = 0.5+xx*j; +wave_3_per_point50=//g = 0.5+yy*j; +wave_3_per_point51=//b = 0.5+zz*j; +wave_3_per_point52= +wave_3_per_point53=r = if(above(r,1),1,r); +wave_3_per_point54=r = if(below(r,0),0,r); +wave_3_per_point55=g = if(above(g,1),1,g); +wave_3_per_point56=g = if(below(g,0),0,g); +wave_3_per_point57=b = if(above(b,1),1,b); +wave_3_per_point58=b = if(below(b,0),0,b); +wave_3_per_point59= +wave_3_per_point60=a = sigmoid(-z,7)+0.; +wave_3_per_point61= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.500 +shapecode_0_rad=1.00591 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.50330 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=x = 1.15; +shape_0_per_frame2=y = q1- 0.4; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=1.000 +shapecode_1_y=0.500 +shapecode_1_rad=1.00591 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.50330 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0; +shape_1_init2=vy = 0; +shape_1_per_frame1=x = 1.175; +shape_1_per_frame2=y = q2- 0.4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=1.00591 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.50330 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0; +shape_2_init2=vy = 0; +shape_2_per_frame1=x = 1.2; +shape_2_per_frame2=y = q3- 0.4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.97; +per_frame_2=//zoom=1.008; +per_frame_3=ms=sin(time*0.6)*0.15; +per_frame_4=mss=mss+ms*0.001; +per_frame_5=q1=ms; +per_frame_6= +per_frame_7= +per_frame_8=//rot=sin(time)*0.01; +per_frame_9= +per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; +per_frame_11=dx=0;dy=0 +per_frame_12= +per_frame_13= +per_pixel_1=var = 0.3*sin(time*0.2); +per_pixel_2=radm = (rad+ang)*10; +per_pixel_3=rot = 0.02*atan((radm+var)*30)/((ang+0.5)*((cos(time)*0.4+0.5)*10)); +per_pixel_4=bb = sin(ang*(atan(time*2)*10)); +per_pixel_5=bb = bb*bb; +per_pixel_6=zoom = -1 + abs(0.01*bb); diff --git a/presets/presets_tryptonaut/Hexcollie, Flexi, ORB, EoS n DaNOnE - Pineal Massage [5 minute composite quickshot].milk b/presets/presets_tryptonaut/Hexcollie, Flexi, ORB, EoS n DaNOnE - Pineal Massage [5 minute composite quickshot].milk new file mode 100644 index 0000000000..bc033c3028 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie, Flexi, ORB, EoS n DaNOnE - Pineal Massage [5 minute composite quickshot].milk @@ -0,0 +1,361 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.300 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.22019 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.300 +ib_size=0.090 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 =0; +wave_0_per_point5=speed = 1*cos(q2) + bass*0.1; +wave_0_per_point6=v = sample*1000 + bass*value1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + time)*speed; +wave_0_per_point10=ys = ys + cos(v*1.2 + q2)*speed; +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*cos(xs*0.04 +0.2*time)*sin(time*2 + xs); +wave_0_per_point13=y = 0.5 + 0.5*cos(ys*0.04 + 0.4*time)*cos(q2 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = r + 0.5*sin(time*4.22); +wave_0_per_point17=g = g + 0.5*sin(time*4.307 + (-0.5-x)*(0.5-y)); +wave_0_per_point18=b = g + 0.5*sin(time*4.959); +wave_0_per_point19= +wave_0_per_point20=x = x*0.75 + 0.125; +wave_0_per_point21=y = y*0.75 + 0.125; +wave_0_per_point22= +wave_0_per_point23=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point24=ys = if(above(ys,800),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=//q1 = state; +wave_1_per_point2=//q2 = basstime; +wave_1_per_point3= +wave_1_per_point4=q1 =0; +wave_1_per_point5=speed = 0.01*bass_att; +wave_1_per_point6=v = sample*100 + (value1*bass); +wave_1_per_point7= +wave_1_per_point8=//state 0 elipse +wave_1_per_point9=xs = xs + (equal(0,q1))*sin(v*0.1 + time)*speed; +wave_1_per_point10=ys = ys + (equal(0,q1))*cos(v*1.2 + time)*speed; +wave_1_per_point11= +wave_1_per_point12=x = 0.5 + 0.5*cos(xs*0.02 +0.1*time)*sin(time*2 + xs); +wave_1_per_point13=y = 0.5 + 0.5*cos(ys*0.02 + 0.2*time)*cos(time + xs); +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=r = r + 0.5*sin(time*5.52); +wave_1_per_point17=g = g + 0.5*sin(time*5.107); +wave_1_per_point18=b = g + 0.5*sin(time*5.359 + (-0.5-x)*(0.5-y)); +wave_1_per_point19= +wave_1_per_point20=x = x*0.7 + 0.15; +wave_1_per_point21=y = y*0.7 + 0.15; +wave_1_per_point22= +wave_1_per_point23=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point24=ys = if(above(ys,800),0 ,ys); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=//q1 = state; +wave_2_per_point2=//q2 = basstime; +wave_2_per_point3= +wave_2_per_point4=q1 =0; +wave_2_per_point5=speed = 0.01*bass_att; +wave_2_per_point6=v = sample*100 + (value1*bass); +wave_2_per_point7= +wave_2_per_point8=//state 0 elipse +wave_2_per_point9=xs = xs + (equal(0,q1))*sin(v*0.1 + time)*speed; +wave_2_per_point10=ys = ys + (equal(0,q1))*cos(v*1.2 + time)*speed; +wave_2_per_point11= +wave_2_per_point12=x = 0.5 + 0.5*cos(xs*0.02 +0.1*time)*sin(time*2 + xs); +wave_2_per_point13=y = 0.5 + 0.5*cos(ys*0.02 + 0.2*time)*cos(time + xs); +wave_2_per_point14= +wave_2_per_point15= +wave_2_per_point16=r = r + 0.5*sin(time*5.62 + (-0.5-x)*(0.5-y)); +wave_2_per_point17=g = g + 0.5*sin(time*5.907); +wave_2_per_point18=b = g + 0.5*sin(time*5.359); +wave_2_per_point19= +wave_2_per_point20=x = x*0.4 + 0.3; +wave_2_per_point21=y = y*0.4 + 0.3; +wave_2_per_point22= +wave_2_per_point23=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point24=ys = if(above(ys,800),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=0.98+.1*max(treb_att,bass_att); +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_x = 0.5 + (uv_orig-0.5)*1.01; +warp_4=`ret.x = GetPixel(uv_x).x; +warp_5=`ret.x -= (GetBlur1(uv_x).x - GetPixel(uv_x).x + 0.004)*0.1; +warp_6=` +warp_7=`float2 zoom = 1.8; +warp_8=`float2 c = float2(0.25,0.551); +warp_9=` +warp_10=` float2 my_uv2 = (uv_orig-0.5)*zoom; +warp_11=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_12=` +warp_13=`ret.y = tex2D(sampler_fc_main,my_uv2).y + 0.0038; +warp_14=` +warp_15=` float2 d = texsize.zw*12; +warp_16=` float2 uv_z = lerp(uv_orig,uv,0); +warp_17=` float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_18=` float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_19=` +warp_20=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_21=` +warp_22=` float2 uv_bg = lerp(uv_orig,uv,0.02) +warp_23=` + float2(dx.z,dy.z)*texsize.zw*4 +warp_24=` + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_25=` +warp_26=`ret.z = tex2D(sampler_fc_main,uv_bg).z +warp_27=` - (tex2D(sampler_fc_main,uv_bg).z +warp_28=` - GetBlur3(uv_bg).z)*0.02 +warp_29=` - 0.008 +warp_30=` + (tex2D(sampler_noise_lq, dither_uv).z-0.5)*0.1; +warp_31=` +warp_32=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=` +comp_8=`float2 uv_y = uv - float2(dx.y,dy.y); +comp_9=`ret = GetBlur3(uv_y).x*float3(2,2,0); +comp_10=`ret = lerp(ret,float3(0.3,0.1,0.4), GetPixel(uv_y).x); +comp_11=`ret = lerp(ret,float3(4,0,0),GetPixel(uv).z*0.1); +comp_12=`ret = lerp(ret,lerp(4,float3(2,0,0),GetPixel(uv).z),GetPixel(uv+float2(dx.z,dy.z)*0.1).y*0.23); +comp_13=`} diff --git a/presets/presets_tryptonaut/Hexcollie, bdrv n unchained - The hive.milk b/presets/presets_tryptonaut/Hexcollie, bdrv n unchained - The hive.milk new file mode 100755 index 0000000000..0f1fe555e4 --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie, bdrv n unchained - The hive.milk @@ -0,0 +1,352 @@ +[preset00] +fRating=3.000 +fGammaAdj=3.100 +fDecay=0.900 +fVideoEchoZoom=1.104 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.020 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.010 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.015 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=32.000 +nMotionVectorsY=24.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=1.000 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.67089 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.94248 +shapecode_0_tex_zoom=0.53426 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.170 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.100 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.590 +shapecode_2_y=0.500 +shapecode_2_rad=0.44484 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.050 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.840 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.980 +shapecode_3_g=1.000 +shapecode_3_b=0.980 +shapecode_3_a=0.300 +shapecode_3_r2=0.000 +shapecode_3_g2=0.090 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.5 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14=ib_bass=min(bass_att*1+0.2 , 1); +per_frame_15=ib_r=ib_r*ib_bass; +per_frame_16=ib_g=ib_g*ib_bass; +per_frame_17=ib_b=ib_b*ib_bass; +per_frame_18=gamma=1+min(bass,1)*0.3; +per_frame_19= +per_frame_20= +per_frame_21=ob_r=ib_r-0.5; +per_frame_22=ob_g=ib_g-0.5; +per_frame_23=ob_b=ib_b-0.5; +per_frame_24=q1=ib_r; +per_frame_25=q2=ib_g; +per_frame_26=q3=ib_b; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=decay = 0.99; +per_frame_31= +per_frame_32= +per_frame_33=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_34=solarize=above(0.5,bass); +per_frame_35=//darken=above(0.4,treb); +per_frame_36= +per_frame_37=musictime=musictime+(bass*bass)*0.003; +per_frame_38=basstime=basstime+(bass*bass)*0.03; +per_frame_39= +per_frame_40= +per_frame_41=xpos=sin(musictime*0.6)*0.4; +per_frame_42=ypos=sin(musictime*0.4)*0.2; +per_frame_43=q4=xpos; +per_frame_44=q5=ypos; +per_frame_45=q6=basstime +per_pixel_1=ti = time*-.6; +per_pixel_2=rot = sin((rad+ti)*6.2832)*.01; +per_pixel_3= +per_pixel_4= +per_pixel_5= +per_pixel_6=sz = .4; +per_pixel_7=xsec = above(x,sz)*below(x,1-sz); +per_pixel_8=ysec = above(y,sz)*below(y,1-sz); +per_pixel_9= +per_pixel_10=zoom = if(xsec + ysec,zoom,.98); +per_pixel_11= +per_pixel_12=dx = if(xsec + ysec,dx,.5); +per_pixel_13=dy = if(xsec + ysec,dy,.5); +per_pixel_14= +per_pixel_15=sx = if(xsec + ysec,.9 + q3,1); +per_pixel_16= +per_pixel_17=rot = if(xsec + ysec,rot,q4*(1-2*above(x,.8))); +per_pixel_18=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_19=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_20= +per_pixel_21=moy = max(coy,moy); +per_pixel_22=mox = max(cox,mox); +per_pixel_23= +per_pixel_24=nu = 4; +per_pixel_25=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_26=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_27= +per_pixel_28= +per_pixel_29=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_30= +per_pixel_31=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_32=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_33= +per_pixel_34=dis = (x + (1-y)); +per_pixel_35= +per_pixel_36=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_37=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_38= +per_pixel_39=zm = q5; +per_pixel_40=modx = if(above(dis,1),zm,-zm); +per_pixel_41=mody = if(above(dis,1),-zm,zm); +per_pixel_42= +per_pixel_43= +per_pixel_44=dx = dx*mod + (1-mod)*modx; +per_pixel_45=dy = dy*mod + (1-mod)*mody; +per_pixel_46= +per_pixel_47=rot = (sin(time/8)*0.45+0.04201)*mod; +per_pixel_48= +per_pixel_49= +per_pixel_50=oy = y; +per_pixel_51=ocoy = coy; +per_pixel_52=q1 = q1 + 1; diff --git a/presets/presets_tryptonaut/Hexcollie, geiss, Flexi, yin n Phat - Pinwheel.milk b/presets/presets_tryptonaut/Hexcollie, geiss, Flexi, yin n Phat - Pinwheel.milk new file mode 100755 index 0000000000..710abe363a --- /dev/null +++ b/presets/presets_tryptonaut/Hexcollie, geiss, Flexi, yin n Phat - Pinwheel.milk @@ -0,0 +1,505 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.140000 +fDecay=0.899000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.012000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.880200 +fShader=1.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.800000 +ob_g=0.800000 +ob_b=0.800000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.100000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.28; +wave_0_per_point2=xp=sin(n*32)*.03; +wave_0_per_point3=yp=cos(n*32)*.03; +wave_0_per_point4=zp=0; +wave_0_per_point5= +wave_0_per_point6=scale=sin(n*32*3)*0.5+0.5; +wave_0_per_point7=scale=scale*(sin(n*3)*0.5+0.5); +wave_0_per_point8=scale=scale*bass_att*bass_att*0.5; +wave_0_per_point9=xp=xp*(1+scale); +wave_0_per_point10=yp=yp*(1+scale); +wave_0_per_point11= +wave_0_per_point12=//rotate on y during waveform draw +wave_0_per_point13=ang=n; +wave_0_per_point14=xr=xp*sin(ang) + zp*cos(ang); +wave_0_per_point15=yr=yp; +wave_0_per_point16=zr=xp*cos(ang) - zp*sin(ang); +wave_0_per_point17=xr=xr+0.11; +wave_0_per_point18= +wave_0_per_point19=//orbit rotation +wave_0_per_point20=ang=q1*4; +wave_0_per_point21=xp=xr*sin(ang) + zr*cos(ang); +wave_0_per_point22=yp=yr; +wave_0_per_point23=zp=xr*cos(ang) - zr*sin(ang); +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27= +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29= +wave_0_per_point30= +wave_0_per_point31=//rotate on x axis +wave_0_per_point32=ang=q1*0.4; +wave_0_per_point33=xq=xp; +wave_0_per_point34=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point35=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point36= +wave_0_per_point37=//rotate on y axis +wave_0_per_point38=ang=q1*1.1; +wave_0_per_point39=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point40=yp=yq; +wave_0_per_point41=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point42= +wave_0_per_point43= +wave_0_per_point44=//push forward into viewspace +wave_0_per_point45=zp=zp+1.1; +wave_0_per_point46= +wave_0_per_point47=//project into screenspace +wave_0_per_point48=xs=xp/zp; +wave_0_per_point49=ys=yp/zp; +wave_0_per_point50= +wave_0_per_point51=flip=if(above(sample,0.5) , -1 , 1 ); +wave_0_per_point52= +wave_0_per_point53=x=xs*flip+.5; +wave_0_per_point54=y=ys*1.3+.5; +wave_0_per_point55= +wave_0_per_point56=r=sin(time)*0.5+0.5; +wave_0_per_point57=g=sin(time+2.1)*0.5+0.5; +wave_0_per_point58=b=sin(time+4.2)*0.5+0.5 +wave_0_per_point59= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.28; +wave_1_per_point2=xp=sin(n*32)*.03; +wave_1_per_point3=yp=cos(n*32)*.03; +wave_1_per_point4=zp=0; +wave_1_per_point5= +wave_1_per_point6=scale=sin(n*32*4)*0.5+0.5; +wave_1_per_point7=scale=scale*(sin(n*4)*0.5+0.5); +wave_1_per_point8=scale=scale*mid_att*mid_att*0.5; +wave_1_per_point9=xp=xp*(1+scale); +wave_1_per_point10=yp=yp*(1+scale); +wave_1_per_point11= +wave_1_per_point12=//rotate on y during waveform draw +wave_1_per_point13=ang=n; +wave_1_per_point14=xr=xp*sin(ang) + zp*cos(ang); +wave_1_per_point15=yr=yp; +wave_1_per_point16=zr=xp*cos(ang) - zp*sin(ang); +wave_1_per_point17=xr=xr+0.11; +wave_1_per_point18= +wave_1_per_point19=//orbit rotation +wave_1_per_point20=ang=q2*4; +wave_1_per_point21=xp=xr*sin(ang) + zr*cos(ang); +wave_1_per_point22=yp=yr; +wave_1_per_point23=zp=xr*cos(ang) - zr*sin(ang); +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26= +wave_1_per_point27= +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29= +wave_1_per_point30= +wave_1_per_point31=//rotate on x axis +wave_1_per_point32=ang=q2*0.5; +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point35=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point36= +wave_1_per_point37=//rotate on y axis +wave_1_per_point38=ang=q2*1.0; +wave_1_per_point39=xp=xq*sin(ang) + zq*cos(ang); +wave_1_per_point40=yp=yq; +wave_1_per_point41=zp=xq*cos(ang) - zq*sin(ang); +wave_1_per_point42= +wave_1_per_point43= +wave_1_per_point44=//push forward into viewspace +wave_1_per_point45=zp=zp+1.1; +wave_1_per_point46= +wave_1_per_point47=//project into screenspace +wave_1_per_point48=xs=xp/zp; +wave_1_per_point49=ys=yp/zp; +wave_1_per_point50= +wave_1_per_point51= +wave_1_per_point52=flip=if(above(sample,0.5) , -1 , 1 ); +wave_1_per_point53= +wave_1_per_point54=x=xs*flip+.5; +wave_1_per_point55=y=ys*1.3+.5; +wave_1_per_point56= +wave_1_per_point57=b=sin(time)*0.5+0.5; +wave_1_per_point58=r=sin(time+2.1)*0.5+0.5; +wave_1_per_point59=g=sin(time+4.2)*0.5+0.5 +wave_1_per_point60= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.28; +wave_2_per_point2=xp=sin(n*32)*.03; +wave_2_per_point3=yp=cos(n*32)*.03; +wave_2_per_point4=zp=0; +wave_2_per_point5= +wave_2_per_point6=scale=sin(n*32*6)*0.5+0.5; +wave_2_per_point7=scale=scale*(sin(n*6)*0.5+0.5); +wave_2_per_point8=scale=scale*treb_att*treb_att*0.5; +wave_2_per_point9=xp=xp*(1+scale); +wave_2_per_point10=yp=yp*(1+scale); +wave_2_per_point11= +wave_2_per_point12=//rotate on y during waveform draw +wave_2_per_point13=ang=n; +wave_2_per_point14=xr=xp*sin(ang) + zp*cos(ang); +wave_2_per_point15=yr=yp; +wave_2_per_point16=zr=xp*cos(ang) - zp*sin(ang); +wave_2_per_point17=xr=xr+0.11; +wave_2_per_point18= +wave_2_per_point19=//orbit rotation +wave_2_per_point20=ang=q3*4; +wave_2_per_point21=xp=xr*sin(ang) + zr*cos(ang); +wave_2_per_point22=yp=yr; +wave_2_per_point23=zp=xr*cos(ang) - zr*sin(ang); +wave_2_per_point24= +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27= +wave_2_per_point28=zp=zp-0.3; +wave_2_per_point29= +wave_2_per_point30= +wave_2_per_point31=//rotate on x axis +wave_2_per_point32=ang=q3*0.6; +wave_2_per_point33=xq=xp; +wave_2_per_point34=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point35=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point36= +wave_2_per_point37=//rotate on y axis +wave_2_per_point38=ang=q3*0.92+1; +wave_2_per_point39=xp=xq*sin(ang) + zq*cos(ang); +wave_2_per_point40=yp=yq; +wave_2_per_point41=zp=xq*cos(ang) - zq*sin(ang); +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44=//push forward into viewspace +wave_2_per_point45=zp=zp+1.1; +wave_2_per_point46= +wave_2_per_point47=//project into screenspace +wave_2_per_point48=xs=xp/zp; +wave_2_per_point49=ys=yp/zp; +wave_2_per_point50= +wave_2_per_point51=flip=if(above(sample,0.5) , -1 , 1 ); +wave_2_per_point52= +wave_2_per_point53=x=xs*flip+.5; +wave_2_per_point54=y=ys*1.3+.5; +wave_2_per_point55= +wave_2_per_point56=g=sin(time)*0.5+0.5; +wave_2_per_point57=b=sin(time+2.1)*0.5+0.5; +wave_2_per_point58=r=sin(time+4.2)*0.5+0.5 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.300000 +wavecode_3_g=0.700000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.28; +wave_3_per_point2=ends=sin(sample*3.1415); +wave_3_per_point3=xp=value1*4*ends; +wave_3_per_point4=yp=value2*4*ends; +wave_3_per_point5=zp=-0.23 + sample*0.3; +wave_3_per_point6= +wave_3_per_point7=//rotate on x axis +wave_3_per_point8=ang=time*0.5; +wave_3_per_point9=xq=xp; +wave_3_per_point10=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point11=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point12= +wave_3_per_point13=//rotate on y axis +wave_3_per_point14=ang=time; +wave_3_per_point15=xp=xq*sin(ang) + zq*cos(ang); +wave_3_per_point16=yp=yq; +wave_3_per_point17=zp=xq*cos(ang) - zq*sin(ang); +wave_3_per_point18= +wave_3_per_point19= +wave_3_per_point20=//push forward into viewspace +wave_3_per_point21=zp=zp+1.1; +wave_3_per_point22= +wave_3_per_point23=//project into screenspace +wave_3_per_point24=xs=xp/zp; +wave_3_per_point25=ys=yp/zp; +wave_3_per_point26= +wave_3_per_point27= +wave_3_per_point28=x=xs+.5; +wave_3_per_point29=y=ys*1.3+.5; +wave_3_per_point30= +wave_3_per_point31=a=max(treb-1,0)*2 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.329100 +shapecode_0_ang=0.942480 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.727300 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//ang=sin(time)*0.01 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.500000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=sides=bass_att*4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21=warp=0; +per_frame_22=zoom=1-(FPS/85)*.002; +per_frame_23=q8=beat; +per_frame_24=q7=1-2*sqrt((frame-lastbeat)/interval); // normalized phase between beats +per_frame_25=q7=if(below(q7,-1),1,q7); +per_frame_26=q6=60*FPS/interval; // bpm +per_frame_27=decay=.955+.007*75/FPS; +per_frame_28= +per_frame_29=wx=(1-beat)*wx+beat*(-5+10*int(rand(1000))/1000); +per_frame_30=wx=(1-beat)*wx+beat*(wx+3*sign(wx)); +per_frame_31=wy=(1-beat)*wy+beat*(-5+10*int(rand(1000))/1000); +per_frame_32=fx=(1-beat)*fx+beat*(-1+int(rand(5))); +per_frame_33=am=(1-beat)*am+beat*(1.5*int(rand(100))/100); +per_frame_34=am=(1-beat)*am+beat*(equal(fx,-1)*(.5+am)*sign(-wx)+above(fx,-1)*am); +per_frame_35=rotval=(1-beat)*rotval+beat*(.02*q6/140)*(-1+2*int(rand(100))/100); +per_frame_36=myrot=(1-beat)*(myrot+rotval)+beat*0; +per_frame_37=q1=wx; +per_frame_38=q2=wy; +per_frame_39=q3=fx; +per_frame_40=q4=am; +per_frame_41=q5=myrot; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-3*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+3*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.02; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` +comp_6=` float2 uv2 = (uv - 0.5); +comp_7=` float rad2 = rad_lq*0.8; +comp_8=` float ang2 = ang_lq * M_INV_PI_2; +comp_9=` +comp_10=` ang2 += time*0.015 - rad_lq*0.0002; +comp_11=` float fins = 7; +comp_12=` ang2 = frac(ang2*fins)/fins; +comp_13=` ang2 = abs(ang2 - 0.5/fins); +comp_14=` +comp_15=` ang2 *= M_PI_2; +comp_16=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_17=` +comp_18=` ret = tex2D(sampler_main, uv2).xyz; +comp_19=` ret *= 1.333; // a little bit of overbright +comp_20=`} diff --git a/presets/presets_tryptonaut/Idiot & Che - Various Abstract Effects.milk b/presets/presets_tryptonaut/Idiot & Che - Various Abstract Effects.milk new file mode 100755 index 0000000000..a5742c7b08 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot & Che - Various Abstract Effects.milk @@ -0,0 +1,134 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=1.000404 +fWaveSmoothing=0.000000 +fWaveParam=-0.720000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.010000 +fShader=0.000000 +zoom=1.000198 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.600000 +wave_y=0.700000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=20.223999 +nMotionVectorsY=10.656000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.200000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23= +per_frame_24=wave_r=.5*sqr(sin(time*3.7))+.5*sin(37*ccl+.01*leccl); +per_frame_25=wave_g=.5*sqr(sin(time*2.8))+.5*sin(38*ccl+.01*leccl); +per_frame_26=wave_b=.5*sqr(sin(time*3.2))+.5*sin(36*ccl+.01*leccl); +per_frame_27=wave_x=.5+.1*sin(leccl+frame); +per_frame_28=wave_y=.5+.1*sin(1.2*leccl+frame+1.17); +per_frame_29= +per_frame_30=ccl=ccl+beat; +per_frame_31=q1=ccl; +per_frame_32=leccl=leccl+bass+treb; +per_frame_33=q2=.001*leccl; +per_frame_34=q3=th; +per_frame_35= +per_frame_36=ob_r=wave_R; +per_frame_37=ob_b=wave_b; +per_frame_38=ob_g=wave_G; +per_pixel_1=sector=(ang+rot+x+y)*5000+q1+10*sin(q2); +per_pixel_2=orient=sector%4; +per_pixel_3=spd=.005*q3; +per_pixel_4=quadrant=above(x,.5)*2+above(y,.5-x); +per_pixel_5= +per_pixel_6=// variant movement +per_pixel_7=dx=dx+equal(quadrant,q1%4)*if(below(orient,2),-spd,spd); +per_pixel_8=dy=dx+equal(quadrant,q1%4)*if(orient%2,-spd,spd); +per_pixel_9= +per_pixel_10=// pulsed zoom +per_pixel_11=zoom = 1+equal(quadrant,(q1+1)%4-x*5*sin(100*q2+10*sign(sin(20*q1))*rad)); +per_pixel_12= +per_pixel_13=// weird warp +per_pixel_14=dx=dx+equal(quadrant,(q1+3)%4)*spd*sin((20+14*sin(18*q2))*x +per_pixel_15=+(15+10*sin(19*q2))*y+sin(1.8*q2)*q1)*Rad*sin(q1); +per_pixel_16=dy=dy+equal(quadrant,(q1+3)%4)*spd*sin((20+14*sin(18.5*q2))*x +per_pixel_17=+(15+10*sin(19.5*q2))*y+sin(1.7*q2)*q1)*Rad*sin(q1); +per_pixel_18= +per_pixel_19=// ccl driven stretch fx +per_pixel_20=sx=1+equal(quadrant,(q1+2)%4)*.1*sin(53*q1+10*q2+4*ang); +per_pixel_21=sy=1+equal(quadrant,(q1+2)%4)*.1*sin(32*q1+10*q2+4*ang); +per_pixel_22=rot=equal(quadrant,(q1+2)%4)*.05*sin(27*q1+10*q2); +per_pixel_23= +per_pixel_24=// structures +per_pixel_25=structure=equal(quadrant,(21.7*q1)%4)*above(sector%6,2)-q1*rad; +per_pixel_26= +per_pixel_27=dx=if(structure,5*-dx,dx); +per_pixel_28=dy=if(structure,5*-dy,dy);; +per_pixel_29=rot=if(structure,5*-rot-rad*rad,rad*rad); +per_pixel_30=zoom=if(structure,5*-zoom+6,zoom); +per_pixel_31= +per_pixel_32=sx=sx+.3*Sin(x)*sin(q3); +per_pixel_33=sy=sy-.3*sin(y)*sin(q1); diff --git a/presets/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk b/presets/presets_tryptonaut/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk similarity index 100% rename from presets/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk rename to presets/presets_tryptonaut/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk diff --git a/presets/presets_tryptonaut/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk b/presets/presets_tryptonaut/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk new file mode 100755 index 0000000000..4f7d6f9705 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk @@ -0,0 +1,112 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999607 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=5.830096 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.020484 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.400000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.400000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.640000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.700000 +mv_g=0.350000 +mv_b=0.500000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_9=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_10=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=react=vol; +per_frame_13=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_14=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_15=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_16=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_17=change=bnot(1); +per_frame_18=q1=new_bass; +per_frame_19=q2=new_treb; +per_frame_20=q3=new_mid; +per_frame_21=q4=new_vol; +per_frame_22=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_23=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_24=q7=if(above(q5,q6),q5,-q6);; +per_frame_25=q8=if(above(q6,q7),q6,-q7);; +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=red=1*sin(time*1*q1); +per_frame_31=blue=1*sin(time*2*q2); +per_frame_32=green=1*sin(time*3*q3); +per_frame_33=wave_R=red-.2*sin(above(q1,q2)); +per_frame_34=wave_b=blue-.9*sin(Above(q1,q3)); +per_frame_35=wave_g=green-.5*sin(above(q3,q2));; +per_frame_36=ob_r=blue; +per_frame_37=ob_b=green; +per_frame_38=ob_g=red; +per_pixel_1=change=if(above(q1*q2,q3*q1),effect,effect0+.2+Rad*siN(q6-x+(.2*sin(q3)+x*sin(q7)))); +per_pixel_2=effect0=if(above(q1,q3),zoom,zoom-.1); +per_pixel_3=effect=if(above(q2,q3),zoom,zoom-.1); +per_pixel_4=change2=if(above(q1*q3,q4*q1),effect-.1,effect0-.1+rad*sin(q2-x+(.2*sin(q2)))); +per_pixel_5=change3=change-change2; +per_pixel_6=change4=change0-change+change2; +per_pixel_7=effect2=if(above(change,q1),if(above(change,q4),zoom+.3-rad,change), +per_pixel_8=if(above(change,q3),-zoom+.3-rad,change2))+.2; +per_pixel_9=zoom=if(above(change3,change4),if(above(chang2,change3),if(above(change,change2) +per_pixel_10=,effect,effect2),effect0),zoom); +per_pixel_11=rot = -ang*.05*zoom; diff --git a/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix 2).milk b/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix 2).milk new file mode 100755 index 0000000000..ae80decb6d --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix 2).milk @@ -0,0 +1,112 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=0.961206 +rot=0.000000 +cx=0.530000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.049900 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=new_bass_thresh=bass_thresh+bass_effect-.2*sin(bass_thresh-new_bass_thresh+1); +per_frame_9=new_treb_thresh=treb_thresh+treb_Effect-.2*sin(treb_thresh-new_treb_thresh+1); +per_frame_10=new_mid_thresh=mid_thresh+mid_effect-.2*sin(mid_thresh-new_mid_thresh+1); +per_frame_11=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_12=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_13=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_14=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_15=react=if(equal(new_vol,change),1,0); +per_frame_16=new_bass=if(above(react,bass_effect),bass_thresh,new_bass_thresh); +per_frame_17=new_treb=if(above(react,treb_effect),treb_thresh,new_treb_thresh); +per_frame_18=new_mid=if(above(react,mid_effect),mid_thresh,new_mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=r=.2*sin(time); +per_frame_31=b=0+.3*sin(q1-time); +per_frame_32=g=0+.6*sin(time*.64-.2); +per_frame_33=wave_b=g; +per_frame_34=wave_r=r; +per_frame_35=wave_g=b; +per_frame_36=ob_r=r+.3*sin(time*.31); +per_frame_37=ob_b=b+.3-.1*sin(time*.12); +per_frame_38=ob_g=g-.3-.5*sin(time+.1);; +per_pixel_1=rot=if(above(zoom,box),if(equal(myzoom,1),rot+.2*sin(q1-q2*rad*.25),0) +per_pixel_2=*if(above(rad,x),rad-x*.25,pow(rad,1000)),0-.02*rad*x*-.2*sin(q1)); +per_pixel_3=be2=rad&rad-.4-.5*sin(q6); +per_pixel_4=box=if(above(q1,q3),rad&rad+.2-x-y*.25*sin(Q3),be2+.01*sin(q3)-1*sin(q5)); +per_pixel_5=myzoomexp=cos(sin(if(Above(q1,q2),pow(box,2)*rad*5,box))); +per_pixel_6=myzoom=if(Above(q1,q2),if(above(Q2,q3),1-y+.3*sin(q1)+.3,1.1-.2),1)+.1; +per_pixel_7=a=if(above(q3,q2),pow(myzoom-x,pow(myzoomexp,rad*2-.22-box-x+.2*sin(q1-q3)))+.2*.25,1); +per_pixel_8=dx=(x-.5)*a+.5-x+box; +per_pixel_9=dy=(y-.5)*a+.5-y+box; +per_pixel_10=cx=cx+.2*sin(Above(rad,x)); +per_pixel_11=cy=cy+.2*sin(above(rad,y)); diff --git a/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix) (sustain fixed).milk b/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix) (sustain fixed).milk new file mode 100755 index 0000000000..025f220806 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - 9-7-02 (Remix) (sustain fixed).milk @@ -0,0 +1,256 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.000235 +rot=0.000000 +cx=0.530000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.049900 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=new_bass_thresh=bass_thresh+bass_effect-.2*sin(bass_thresh-new_bass_thresh+1); +per_frame_9=new_treb_thresh=treb_thresh+treb_Effect-.2*sin(treb_thresh-new_treb_thresh+1); +per_frame_10=new_mid_thresh=mid_thresh+mid_effect-.2*sin(mid_thresh-new_mid_thresh+1); +per_frame_11=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_12=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_13=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_14=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_15=react=if(equal(new_vol,change),1,0); +per_frame_16=new_bass=if(above(react,bass_effect),bass_thresh,new_bass_thresh); +per_frame_17=new_treb=if(above(react,treb_effect),treb_thresh,new_treb_thresh); +per_frame_18=new_mid=if(above(react,mid_effect),mid_thresh,new_mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=r=.2*sin(time); +per_frame_31=b=0+.3*sin(q1-time); +per_frame_32=g=0+.6*sin(time*.64-.2); +per_frame_33=wave_b=g; +per_frame_34=wave_r=r; +per_frame_35=wave_g=b; +per_frame_36=ob_r=r+.3*sin(time*.31); +per_frame_37=ob_b=b+.3-.1*sin(time*.12); +per_frame_38=ob_g=g-.3-.5*sin(time+.1);; +per_pixel_1=rot=if(above(zoom,box),if(equal(myzoom,1),rot+.2*sin(q1-q2*rad*.25),0) +per_pixel_2=*if(above(rad,x),rad-x*.25,pow(rad,1000)),0-.02*rad*x*-.2*sin(q1)); +per_pixel_3=be2=rad&rad-.4-.5*sin(q6); +per_pixel_4=box=sin(if(above(q1,q3),rad&rad+.2-x-y*.25*sin(Q3),be2)); +per_pixel_5=myzoomexp=cos(sin(if(Above(q1,q2),pow(box,2)*rad*5,box)));; +per_pixel_6=myzoom=if(Above(q1,q2),if(above(Q2,q3),1-y+.3*sin(q1)+.3,zoom-.2),1)+.1; +per_pixel_7=a=if(above(q3,q2),pow(myzoom-x,pow(myzoomexp,rad*2-.22-box-x+.2*sin(q1-q3)))+.2*.25,1); +per_pixel_8=dx=(x-.5)*a+.5-x+box; +per_pixel_9=dy=(y-.5)*a+.5-y+box; +per_pixel_10=cx=cx+.2*sin(Above(rad,x)); +per_pixel_11=cy=cy+.2*sin(above(rad,y)); diff --git a/presets/presets_tryptonaut/Idiot - 9-7-02.milk b/presets/presets_tryptonaut/Idiot - 9-7-02.milk new file mode 100755 index 0000000000..11461eb230 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - 9-7-02.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=0.905500 +rot=0.000000 +cx=0.530000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.049900 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.100000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=new_bass_thresh=bass_thresh+bass_effect-.2*sin(bass_thresh-new_bass_thresh+1); +per_frame_9=new_treb_thresh=treb_thresh+treb_Effect-.2*sin(treb_thresh-new_treb_thresh+1); +per_frame_10=new_mid_thresh=mid_thresh+mid_effect-.2*sin(mid_thresh-new_mid_thresh+1); +per_frame_11=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_12=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_13=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_14=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_15=react=if(equal(new_vol,change),1,0); +per_frame_16=new_bass=if(above(react,bass_effect),bass_thresh,new_bass_thresh); +per_frame_17=new_treb=if(above(react,treb_effect),treb_thresh,new_treb_thresh); +per_frame_18=new_mid=if(above(react,mid_effect),mid_thresh,new_mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=r=.2*sin(time*.13); +per_frame_31=b=0+.3*sin(q1-time*.12); +per_frame_32=g=0+.6*sin(time*.64-.2); +per_frame_33=wave_b=g; +per_frame_34=wave_r=r; +per_frame_35=wave_g=b; +per_frame_36=ob_r=r+.3; +per_frame_37=ob_b=b+.3; +per_frame_38=ob_g=g-.3; +per_pixel_1=rot=if(Above(q1,q2),rot+.2*sin(q1-q2*rad*.25),0)*if(above(rad,x),rad-x*.25,rad); +per_pixel_2=box=if(above(q1,q3),rad&rad+.2-x-y*.25*sin(Q3),rad&rad-.4); +per_pixel_3=myzoomexp=if(Above(q1,q2),box*box*rad*5,box); +per_pixel_4=myzoom=if(Above(q1,q2),if(above(Q2,q3),1-y+.3*sin(q1)+.3,zoom-.2),1); +per_pixel_5=a=if(above(q3,q2),pow(myzoom-x,pow(myzoomexp,rad*2-.22-box-x+.2*sin(q1-q3)))+.2*.25,1); +per_pixel_6=dx=(x-.5)*a+.5-x+box; +per_pixel_7=dy=(y-.5)*a+.5-y+box; diff --git a/presets/presets_tryptonaut/Idiot - Cortex (Spiritual Visions Mix).milk b/presets/presets_tryptonaut/Idiot - Cortex (Spiritual Visions Mix).milk new file mode 100755 index 0000000000..236a302738 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Cortex (Spiritual Visions Mix).milk @@ -0,0 +1,94 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.984600 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.073089 +fWaveSmoothing=0.630000 +fWaveParam=-0.800000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.347980 +fShader=0.000000 +zoom=1.020502 +rot=0.260000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.008264 +sx=0.999945 +sy=0.999904 +wave_r=0.300000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_3=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_4=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_5=(1-above(mid_att,mid_thresh))*((mid_thresh-1.5)*0.75+1.5); +per_frame_6=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_7=treb_effect=max(max(treb,treb_Att),react); +per_frame_8=bass_effect=max(max(Bass,bass_Att),react); +per_frame_9=mid_effect=max(max(mid,mid_att),react); +per_frame_10=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_11=normal=5; +per_frame_12=more=bass_effect; +per_frame_13=less=7; +per_frame_14=react=less; +per_frame_15=new_bass=if(above(Bass,bass_effect),bass+bass_att,bass_effect+bass_thresh); +per_frame_16=new_treb=if(above(treb,treb_effect),treb+treb_att,treb_Effect+treb_thresh); +per_frame_17=new_mid=if(above(mid,mid_effect),mid+mid_Att,mid_effect+mid_thresh); +per_frame_18=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_19=change=bnot(1); +per_frame_20=q1=new_bass; +per_frame_21=q2=new_treb; +per_frame_22=q3=new_mid; +per_frame_23=q4=new_vol; +per_frame_24=q5=q4*.4*sin(q4)*.04; +per_frame_25=q6=-q1+q2+Q3+q4+q5+q6;; +per_frame_26=wave_r=wave_r*sin(q3); +per_frame_27=wave_B=wave_B-.2*cos(q4); +per_frame_28=wave_g=wave_b+wave_g*sin(q2+q5); +per_frame_29=wave_mystery=wave_myster-.1*sin(q1)+.4*sin(q5); +per_pixel_1=rot=rot*Sin(-ang+ang-.4*q1)-rot*sin(ang+-ang*q3)*rad*Sin(q1-rad)-x*.05*sin(q4)-y*.05*sin(q6); +per_pixel_2=zoom=zoom+rad+.3*sin(Q4-q1)*pow(x+.2*sin(Q4),y-.2*sin(Q1)) diff --git a/presets/presets_tryptonaut/Idiot - MOTIVATION!.milk b/presets/presets_tryptonaut/Idiot - MOTIVATION!.milk new file mode 100755 index 0000000000..21d1c43660 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - MOTIVATION!.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.236877 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_2=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_3=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_4=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_5=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_6=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_7=q1=bass_thresh; +per_frame_8=q2=treb_thresh; +per_frame_9=q3=mid_thresh; +per_frame_10=q4=vol_thresh; +per_frame_11=wave_g=1-(abs(q1/2/2)); +per_frame_12=wave_r=1-(abs(Q2/2/2)); +per_frame_13=wave_g=1-(abs(q3/2/2)); +per_frame_14= +per_pixel_1=zoom=zoom+.1*Sin(Abs(rad/3.14)+.6*sin(above(Q1,1.594)+.1*sin(Q1))); +per_pixel_2=rot=rot+.1*sin(rad*3.14)*sin(if(above(q2,1.6),.5,-.5))+(.01*Rad)*sin(above(q1,1.7)); +per_pixel_3=dx=dx+.01*Sin(rad*5)*Sin(if(above(q3,1.2),.5,-.5))*sin(rad*50-q1)+.005*Sin(Q2*rad*50); +per_pixel_4=dy=dy-.01*sin(rad*5)*sin(if(above(q2,1.5),.5,-.5))*sin(rad*500-q2)-.005*sin(q1*rad*50); diff --git a/presets/presets_tryptonaut/Idiot - Madness Within The Void (Remix).milk b/presets/presets_tryptonaut/Idiot - Madness Within The Void (Remix).milk new file mode 100755 index 0000000000..5944e0f931 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Madness Within The Void (Remix).milk @@ -0,0 +1,105 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=9.454960 +fWaveScale=0.863577 +fWaveSmoothing=0.630000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.200000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.500000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_counter = equal(bass_thresh,2)*1+bass_counter; +per_frame_2=treb_counter=equal(treb_thresh,2)*1+treb_counter; +per_frame_3=mid_counter=equal(mid_thresh,2)*1+mid_counter; +per_frame_4=vol_counter=equal(vol_thresh,2)*1+vol_counter; +per_frame_5=bass_cycler = bass_counter%8; +per_frame_6=treb_cycler=treb_counter%8; +per_frame_7=mid_cycler=mid_counter%8; +per_frame_8=q1=sin(Bass&timE*.43); +per_frame_9=q2=sin(bass_att&time*.23); +per_frame_10=q3=sin(treb&time*.43); +per_frame_11=q4=sin(mid&time*.23); +per_frame_12=q5=sin(mid_att&time*.54); +per_frame_13=q6=frame%40-bass*sin(time*.53-q3); +per_frame_14=q7=frame%20-treb*sin(time*.65-q2); +per_frame_15=q8=frame%30-mid*sin(time*.43-q1); +per_frame_16=ob_r=.3+.4*sin(above(q6,wave_b)); +per_frame_17=ob_b=.2+.7*sin(Above(q7,wave_g)); +per_frame_18=ob_G=.4+.5*sin(above(q8,wave_r)); +per_frame_19=//wave_A=100; +per_frame_20=wave_a=0; +per_frame_21=//wave_r=wave_b; +per_frame_22=//wave_g=wave_g; +per_frame_23=//wave_b=wave_R; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6); +per_pixel_2=d=.03*(sin(rad*3.14*sin(q3)))+1; +per_pixel_3=r=d-.03*(sin(ang*3.14*sin(q2))); +per_pixel_4=radx=below(0.3-rad+x,0.3+rad-x); +per_pixel_5=rady=below(0.3-rad+y,0.3+rad-y); +per_pixel_6=snare=below(0,x-rad-.3*sin(q4)-x-y*d*r)*sin(q1-d+r-q3); +per_pixel_7=x2=above(x,rad); +per_pixel_8=y2=above(y,rad); +per_pixel_9=zoome=zoom+.2*sin(above(q6,q7)/q8)*(radx*rady-d*sin(q2)-r*sin(q3)+.1*sin(rad*3.14*sin(Q1)) +per_pixel_10=+rad-x*radx-y*rady)*x2*y2-.03*sin(q4); +per_pixel_11=sx=sx-.09*sin(Q4)*sin(x2-rad+radx*sin(q2-q7))*radx-x2/2/2/2/2*rad; +per_pixel_12=sx=sx-.09*sin(q2)*sin(y2-rad+rady*sin(q3-q6))*rady-y2/2/2/2/2*rad; +per_pixel_13=rote=.1*sin(radx*rady-x2*sin(q3-x1+rad*300))-.03*d*r-.02*sin(q3-q1)-sin(ang*d/2/2/2/2/2 +per_pixel_14=*sin(q3)); +per_pixel_15=rote2=rot+.1--rad/2/2/2/2/2; +per_pixel_16=rot=if(above(q1,q2),rote,rote2*rad-ang/2*sin(above(bass,3.5))); +per_pixel_17=zoom=if(above(q2,q1),zoome,zoom+.05*sin(rad))+.01/2; +per_pixel_18= +per_pixel_19= diff --git a/presets/presets_tryptonaut/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk b/presets/presets_tryptonaut/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk new file mode 100755 index 0000000000..a06334762d --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Marphets Surreal Dream (Hypnotic Spiral Mix).milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.029878 +fWaveSmoothing=0.630000 +fWaveParam=-0.620000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.008151 +fShader=0.000000 +zoom=1.000300 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999903 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),react); +per_frame_9=bass_effect=max(max(Bass,bass_Att),react); +per_frame_10=mid_effect=max(max(mid,mid_att),react); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=normal=5; +per_frame_13=more=1; +per_frame_14=less=7; +per_frame_15=react=less; +per_frame_16=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_17=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_18=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32=b_red=if(Above(q1,q2),.2*sin(q3),1*sin(q4)); +per_frame_33=b_blue=if(above(b_red,b_green),.4*sin(q2),.7*sin(q1)); +per_frame_34=b_green=if(above(q1,q3),.2*sin(q1),1*sin(q5)); +per_frame_35=i_red=if(above(q1,q2),.6*sin(q1),1*sin(q6)); +per_frame_36=i_blue=b_red-.2; +per_frame_37=i_green=if(above(b_blue,i_blue),.2,.6); +per_frame_38=ob_r=b_red; +per_frame_39=ob_b=b_blue; +per_frame_40=ob_g=b_green; +per_frame_41=ib_r=i_red; +per_frame_42=ib_b=i_blue; +per_frame_43=ib_g=i_green; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=i_red; +per_frame_47=wave_b=b_blue; +per_frame_48=wave_g=i_green; +per_pixel_1= +per_pixel_2=swirl=rot*Sin(.4*q1)-rot*sin(rad*q3)*rad*Sin(q1-x*y+rad)-x*.05*sin(q4)-y*.05*sin(q6) +per_pixel_3=- +per_pixel_4=rot*sin(above(q2-(rad*2),q3+(rad*2)))+rot*.25*sin(above(q1+rad,q2-(q5*rad*2))); +per_pixel_5=; +per_pixel_6=zoom=if(above(q1,q2),swirl+1.1-.02,zoom-.1); +per_pixel_7=rot=if(above(q1,q2),swirl,-swirl); diff --git a/presets/presets_tryptonaut/Idiot - Subnormal Trance (Remix).milk b/presets/presets_tryptonaut/Idiot - Subnormal Trance (Remix).milk new file mode 100755 index 0000000000..48b8448f54 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Subnormal Trance (Remix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.781784 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000494 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.600000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.025000 +ob_r=0.010000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=q1=bass&time*.43; +per_frame_2=q2=bass_att&time*.63; +per_frame_3=q3=treb&time*.76; +per_frame_4=q4=treb_att&time*.61; +per_frame_5=q5=mid&time*.27; +per_frame_6=q6=mid_Att&time*.23; +per_frame_7=q7=if(Above(below(q1,q3),below(q3,q1)),q3-q2*sin(Q1),q2-q1*sin(q3)); +per_frame_8=q8=if(Above(below(q2,q3),below(q2,q1)),q2-q1*sin(Q5),q5-q6*sin(q7)); +per_frame_9=wave_r=wave_r+.6*sin(q1); +per_frame_10=wave_b=wave_b+.3*sin(q2); +per_frame_11=wave_g=wave_g*sin(Q7); +per_frame_12=ob_r=wave_r; +per_frame_13=ob_b=wave_B; +per_frame_14=ob_g=wave_g; +per_frame_15=ib_r=wave_r; +per_frame_16=ib_g=wave_b; +per_frame_17=ib_b=wave_g; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6)+1; +per_pixel_2=d=.03*(sin(rad*3.14*sin(q3)))+1; +per_pixel_3=r=d-.03*(sin(ang*3.14*sin(q2))); +per_pixel_4=radx=below(0.3-rad+x,0.3+rad-x); +per_pixel_5=rady=below(0.3-rad+y,0.3+rad-y); +per_pixel_6=snare=below(1*rad-x-y,x-rad-.3-x-y*d*r)*sin(q1-d+r)*d*r+.01; +per_pixel_7=x2=above(x,rad)+.01; +per_pixel_8=y2=above(y,rad)+.01; +per_pixel_9=smear=if(equal(rad-.03,ang*rad),smear*sin(Q1),rot-.1*ang/2/2/2/2*Rad*sin(Rad)*sin(q3) +per_pixel_10=*sin(rad_cycle+.3*sin(q1)+.1)+.03*sin(Q2))+.01*sin(rad_cycle); +per_pixel_11=zoom=zoom-.05*sin(ang*rad*3.14*sin(q1))-.05*sin(rad*3.14*sin(Q2))+.05*sin(ang*3.14*sin(q3)); +per_pixel_12=rot=rot+.03*sin(ang*3.14)*rad+.02*sin(q1-rad*x*3.14)*sin(q1); diff --git a/presets/presets_tryptonaut/Idiot - Tentacle Dreams (Remix).milk b/presets/presets_tryptonaut/Idiot - Tentacle Dreams (Remix).milk new file mode 100755 index 0000000000..80f72c2c35 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Tentacle Dreams (Remix).milk @@ -0,0 +1,103 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=3.544918 +fWaveSmoothing=0.630000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.000376 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_9=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_10=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=react=vol; +per_frame_13=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_14=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_15=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_16=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_17=change=bnot(1); +per_frame_18=q1=new_bass; +per_frame_19=q2=new_treb; +per_frame_20=q3=new_mid; +per_frame_21=q4=new_vol; +per_frame_22=q5=bass_thresh; +per_frame_23=q6=treb_thresh; +per_frame_24=q7=mid_thresh; +per_frame_25=q8=vol_thresh; +per_frame_26=wave_r=.4+.3*Sin(time+Q1); +per_frame_27=wave_b=.3+.6*sin(time+q2); +per_frame_28=wave_g=.5+.5*sin(time-q1); +per_frame_29= +per_frame_30= +per_pixel_1=rot_effect=.3*Sin(rad-+ang*x+yQ3)*rad*sin(if(Above(Q1,q2),q5,-q5))*rad-.1*sin(Q3*rad+ang-x*y*rad*q1); +per_pixel_2=rot_effect2=if(Above(q5,q6),rot_effect,-rot_effect)-rad*.25*sin(Q6)+.2*Sin(Q6)-x*.25-.01*sin(Q7)- +per_pixel_3=above(rad,x)*sin(Q8)*.25*sin(time*.65); +per_pixel_4=rot=if(above(q5,q7),rot_effect,rot_effect2); +per_pixel_5=cx_x=if(Above(Q2,q3),cx+.5*Sin(x-.3*Rad*cos(q1-.3)-.2-rad*sin(q6)),.5); +per_pixel_6=cy_x=if(Above(Q2,q3),cy+.5*sin(y-.3*rad*cos(q2-.3)-.2-rad*sin(q5)),.5); +per_pixel_7=cx=if(above(q5,q6),cx_x,cx_x-.2); +per_pixel_8=cy=if(Above(Q5,q7),cy_x,cy_x-.2); +per_pixel_9=zoom=zoom-.10*rad*sin(Q1)*Rad-.02*sin(q6-x+y*sin(q6+rad)+rad); +per_pixel_10=//388-0250; diff --git a/presets/presets_tryptonaut/Idiot - Tentacle Dreams.milk b/presets/presets_tryptonaut/Idiot - Tentacle Dreams.milk new file mode 100755 index 0000000000..4705d46e26 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Tentacle Dreams.milk @@ -0,0 +1,100 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.653093 +fWaveSmoothing=0.630000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.000376 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=0.020000 +dy=-0.020000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),treb_thresh); +per_frame_9=bass_effect=max(max(Bass,bass_Att),bass_thresh); +per_frame_10=mid_effect=max(max(mid,mid_att),mid_thresh); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=react=vol; +per_frame_13=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_14=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_15=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_16=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_17=change=bnot(1); +per_frame_18=q1=new_bass; +per_frame_19=q2=new_treb; +per_frame_20=q3=new_mid; +per_frame_21=q4=new_vol; +per_frame_22=q5=bass_thresh; +per_frame_23=q6=treb_thresh; +per_frame_24=q7=mid_thresh; +per_frame_25=q8=vol_thresh; +per_frame_26=wave_r=.4+.3*Sin(time+Q1); +per_frame_27=wave_b=.3+.6*sin(time+q2); +per_frame_28=wave_g=.5+.5*sin(time-q1); +per_frame_29= +per_frame_30= +per_frame_31=wave_mystery=wave_mystery+.2*sin(time*.53-q3); +per_pixel_1=rot=.3*Sin(rad-+ang*x+yQ3)*rad*sin(if(Above(Q1,q2),q5,-q5))*rad-.2*sin(Q3); +per_pixel_2=cx=if(Above(Q2,q3),cx+.5*Sin(x-.3*Rad*cos(q1-.3)-.2-rad*sin(q6)),.5); +per_pixel_3=cy=if(Above(Q2,q3),cy+.5*sin(y-.3*rad*cos(q2-.3)-.2-rad*sin(q5)),.5); +per_pixel_4=zoom=zoom-.10*rad*sin(Q1)*Rad-.02*sin(q6-x+y*sin(q2)); +per_pixel_5=dx=dx-dx*Sin(q3-rad*sin(q2))*sin(q5)*x; +per_pixel_6=dy=dy-dy*sin(q2+rad*sin(Q1))*sin(q6)*y; diff --git a/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix 2).milk b/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix 2).milk new file mode 100755 index 0000000000..13ae4078e1 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix 2).milk @@ -0,0 +1,250 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001715 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999999 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.006000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.400000 +ib_g=0.400000 +ib_b=0.400000 +ib_a=0.000000 +nMotionVectorsX=38.399994 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.870000 +shapecode_0_rad=0.310900 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141500 +shapecode_0_tex_zoom=2.216710 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=textured=1; +shape_0_per_frame2=tex_ang=tex_ang+1*sin(time*.65*q2); +shape_0_per_frame3=ang=ang+1*sin(time*.62); +shape_0_per_frame4=x=.5-.3*sin(time*.34); +shape_0_per_frame5=y=.5+.3*sin(time*.53); +shape_0_per_frame6=rad=rad-.5*sin(time*.53); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.000000 +shapecode_1_y=0.620000 +shapecode_1_rad=0.307832 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.448630 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=textured=1; +shape_1_per_frame2=tex_ang=tex_ang+1*sin(time*.23*q4); +shape_1_per_frame3=ang=ang+1*sin(time*.75); +shape_1_per_frame4=x=.5-.3*sin(time*.12); +shape_1_per_frame5=y=.5+.3*sin(time*.65); +shape_1_per_frame6=rad=rad+.5*sin(time*.75); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.370000 +shapecode_2_rad=0.317160 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.448629 +shapecode_2_r=1.000000 +shapecode_2_g=0.400000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.400000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.400000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=textured=1; +shape_2_per_frame2=tex_ang=tex_ang+1*sin(time*.34*q3); +shape_2_per_frame3=ang=ang+1*sin(time*.12); +shape_2_per_frame4=x=.5-.3*sin(time*.23); +shape_2_per_frame5=y=.5+.3*sin(time*.56); +shape_2_per_frame6=rad=rad+.5*sin(time*.12); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.000000 +shapecode_3_y=0.110000 +shapecode_3_rad=0.314020 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.216713 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=textured=1; +shape_3_per_frame2=tex_ang=tex_ang+1*sin(time*.12*q6); +shape_3_per_frame3=ang=ang+1*sin(time*.65); +shape_3_per_frame4=x=.5-.3*sin(time*.54); +shape_3_per_frame5=y=.5+.3*sin(time*.23); +shape_3_per_frame6=rad=rad+.4*sin(time*.43); +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_stt&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(bass-new_bass&time*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18= +per_frame_19= diff --git a/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix).milk b/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix).milk new file mode 100755 index 0000000000..b096d71ede --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Texture Boxes (Remix).milk @@ -0,0 +1,251 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001715 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999999 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.194000 +dy=0.400000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.400000 +ib_g=0.400000 +ib_b=0.400000 +ib_a=0.000000 +nMotionVectorsX=38.399994 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.870000 +shapecode_0_rad=0.310900 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141500 +shapecode_0_tex_zoom=2.216710 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=tx=0+1*sin(q1); +shape_0_per_frame2=textured=if(below(.5,tx),0,1); +shape_0_per_frame3=tex_ang=tex_ang+1*sin(time*.65*q2); +shape_0_per_frame4=ang=ang+1*sin(time*.62); +shape_0_per_frame5=x=.5-.3*sin(time*.34); +shape_0_per_frame6=y=.5+.3*sin(time*.53); +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.000000 +shapecode_1_y=0.620000 +shapecode_1_rad=0.307832 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.448630 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=tx=0+1*sin(q2); +shape_1_per_frame2=textured=if(below(.5,tx),0,1); +shape_1_per_frame3=tex_ang=tex_ang+1*sin(time*.23*q4); +shape_1_per_frame4=ang=ang+1*sin(time*.75); +shape_1_per_frame5=x=.5-.3*sin(time*.12); +shape_1_per_frame6=y=.5+.3*sin(time*.65); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.370000 +shapecode_2_rad=0.317160 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.448629 +shapecode_2_r=1.000000 +shapecode_2_g=0.400000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.400000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.400000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=tx=0+1*sin(q3); +shape_2_per_frame2=textured=if(below(.5,tx),0,1); +shape_2_per_frame3=tex_ang=tex_ang+1*sin(time*.34*q3); +shape_2_per_frame4=ang=ang+1*sin(time*.12); +shape_2_per_frame5=x=.5-.3*sin(time*.23); +shape_2_per_frame6=y=.5+.3*sin(time*.56); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.000000 +shapecode_3_y=0.110000 +shapecode_3_rad=0.314020 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=2.216713 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=tx=0+1*sin(q4); +shape_3_per_frame2=textured=if(below(.5,tx),0,1); +shape_3_per_frame3=tex_ang=tex_ang+1*sin(time*.12*q6); +shape_3_per_frame4=ang=ang+1*sin(time*.65); +shape_3_per_frame5=x=.5-.3*sin(time*.54); +shape_3_per_frame6=y=.5+.3*sin(time*.23); +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(bass-new_bass&time*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18= +per_frame_19= diff --git a/presets/presets_tryptonaut/Idiot - Typomatic (Remix 2).milk b/presets/presets_tryptonaut/Idiot - Typomatic (Remix 2).milk new file mode 100755 index 0000000000..eb322a61ab --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - Typomatic (Remix 2).milk @@ -0,0 +1,104 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.438652 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.010404 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_3=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_4=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_5=(1-above(mid_att,mid_thresh))*((mid_thresh-1.5)*0.75+1.5); +per_frame_6=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_7=treb_effect=max(max(treb,treb_Att),react); +per_frame_8=bass_effect=max(max(Bass,bass_Att),react); +per_frame_9=mid_effect=max(max(mid,mid_att),react); +per_frame_10=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_11=normal=5; +per_frame_12=more=bass_effect; +per_frame_13=less=7; +per_frame_14=react=less; +per_frame_15=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_16=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_17=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_18=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_19=change=bnot(1); +per_frame_20=q1=new_bass; +per_frame_21=q2=new_treb; +per_frame_22=q3=new_mid; +per_frame_23=q4=new_vol; +per_frame_24=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_25=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_26=q7=if(above(q5,q6),q5,-q6);; +per_frame_27=q8=if(above(q6,q7),q6,-q7);; +per_frame_28=ib_r=q3-.2*sin(q2); +per_frame_29=ib_b=q3+.2*sin(q1); +per_frame_30=ib_g=q3-1*sin(q2); +per_frame_31=wave_r=.2*sin(Q3); +per_frame_32=wave_b=.6*sin(Q1); +per_frame_33=wave_g=.7*sin(Q2); +per_pixel_1=zoom=if(above(q1-q3,q6-q7),if(above(q2,q1),if(above(pow(x,q1-q5),pow(y,q1-q6)),zoom*sin(rad+1*sin(q1)*sin(q4)),zoom +per_pixel_2=*sin(Rad-.2)+1)-rad*sin(q6+rad-x-q6)+x*sin(above(q7,q6)*sin(Q7))+.2*sin(x*sin(q8)),1.20 +per_pixel_3=*sin(pow(x,y)*sin(Q4))),1+rad-.2*sin(q4-x))-(rad&rad*sin(q4)); +per_pixel_4= +per_pixel_5=rot=if(above(q3,q5),if(above(q5,.5),if(above(q7,q6),if(Above(q1,q2),rot*sin(Rad-.2*ang+x),-rot*Sin(rad+x-tan(ang)-cos(x*q3))+.2 +per_pixel_6=-x)*band(rad-zoom,rad+zoom),-.2*Sin(rad-ang-x)),0*sin(rad-.2)*zoom)*sin(q1-q2),rot&rad-1*x); +per_pixel_7= +per_pixel_8= diff --git a/presets/presets_tryptonaut/Idiot - What Is.milk b/presets/presets_tryptonaut/Idiot - What Is.milk new file mode 100755 index 0000000000..6f26a39f9d --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - What Is.milk @@ -0,0 +1,102 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.041020 +rot=0.160000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),react); +per_frame_9=bass_effect=max(max(Bass,bass_Att),react); +per_frame_10=mid_effect=max(max(mid,mid_att),react); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=normal=5; +per_frame_13=more=bass_effect; +per_frame_14=less=7; +per_frame_15=react=less; +per_frame_16=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_17=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_18=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=wave_R=.5*sin(above(q1,q2)); +per_frame_31=wave_b=1*sin(above(q3,q2)); +per_frame_32=wave_G=wave_g*Sin(q4); +per_frame_33=wave_myster=wavE_myster-.2*sin(above(Q3,q5)); +per_pixel_1=rot=if(above(no_effect,5),rot*Sin(-ang+ang-.4*q1)-rot*sin(ang+-ang*q3)*rad*Sin(q1-rad)-x*.05*sin(q4)-y*.05 +per_pixel_2=*sin(q6-x+y*rad)-rot*sin(equal(q1,q2)),.1*rad); +per_pixel_3=zoom=if(above(no_effect,5),zoom+raD*.03*sin(q2+q5)-x*.05*sin(q4+q6)+y*.10*.25*sin(q5-q3) +per_pixel_4=,1+.10*sin(rad) +per_pixel_5=); +per_pixel_6=no_effect=q1-q3*sin(above(q1,q2)); diff --git a/presets/presets_tryptonaut/Idiot - What Shall Come.milk b/presets/presets_tryptonaut/Idiot - What Shall Come.milk new file mode 100755 index 0000000000..8be2fa16f8 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot - What Shall Come.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.020068 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.041020 +rot=0.240000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999944 +sy=0.999904 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.025000 +ob_r=0.110000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.040000 +ib_size=0.055000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=48.000000 +mv_dx=0.500000 +mv_dy=0.500000 +mv_l=3.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=treb_effect=max(max(treb,treb_Att),react); +per_frame_9=bass_effect=max(max(Bass,bass_Att),react); +per_frame_10=mid_effect=max(max(mid,mid_att),react); +per_frame_11=vol_effect=bass_effect+treb_effect+mid_effect; +per_frame_12=normal=5; +per_frame_13=more=bass_effect; +per_frame_14=less=7; +per_frame_15=react=less; +per_frame_16=new_bass=if(above(Bass,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_17=new_treb=if(above(treb,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_18=new_mid=if(above(mid,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_19=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_20=change=bnot(1); +per_frame_21=q1=new_bass; +per_frame_22=q2=new_treb; +per_frame_23=q3=new_mid; +per_frame_24=q4=new_vol; +per_frame_25=q5=if(above(q2,q3),above(q1,q3),-above(q1,q3)); +per_frame_26=q6=if(above(q1,q3),above(q2,q4),-above(q2,q3)); +per_frame_27=q7=if(above(q5,q6),q5,-q6);; +per_frame_28=q8=if(above(q6,q7),q6,-q7);; +per_frame_29= +per_frame_30=wave_R=.5*sin(above(q1,q2)); +per_frame_31=wave_b=1*sin(above(q3,q2)); +per_frame_32=wave_G=wave_g*Sin(q4); +per_frame_33=wave_myster=wavE_myster-.2*sin(above(Q3,q5)); +per_frame_34= +per_frame_35=ob_r=wave_r; +per_frame_36=ob_b=wave_b; +per_frame_37=ob_g=wave_g; +per_frame_38=mv_r=wave_r; +per_frame_39=mv_b=wave_B; +per_frame_40=mv_g=wave_g; +per_frame_41=ob_a=mv_a; +per_frame_42=mv_A=.6*sin(above(q2,q3)); +per_pixel_1=rot=if(above(q1,bass),if(above(no_effect,0),rot*Sin(-ang+ang-.4*q1)-rot*sin(ang+-ang*q3)*rad*Sin(q1-rad)-x*.05*sin(q4)-y*.05 +per_pixel_2=*sin(q6-x+y*rad)-rot*sin(above(q1,q2)),.1*rad*ang*x*y),0*rad*Ang+.1*sin(q5)*ang-.3*rad*Sin(q5)); +per_pixel_3=zoom=if(above(no_effect,2),zoom+raD*.03*sin(q2+q5)-x*.05*sin(q4+q6)+y*.10*.25*sin(q5-q3) +per_pixel_4=,1+.10*sin(ang+Rad-x*ang+rad*sin(q4)) +per_pixel_5=)&y+.5-rad+x+y*sin(equal(q2,q2)&rad*sin(q6));; +per_pixel_6=no_effect=q4*sin(above(q4,1)); +per_pixel_7= +per_pixel_8=sx=sx+.07*sin(above(Q1,q3))*rad*.25; +per_pixel_9=sy=sy+.07*sin(above(Q1,q2))*rad*.25; diff --git a/presets/presets_tryptonaut/Idiot24-7 - Ascending to heaven 2.milk b/presets/presets_tryptonaut/Idiot24-7 - Ascending to heaven 2.milk new file mode 100755 index 0000000000..dad85ca541 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot24-7 - Ascending to heaven 2.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=33.469135 +fWaveScale=0.931008 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=5.725291 +fZoomExponent=4.778017 +fShader=0.000000 +zoom=1.093507 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.066200 +sx=0.905286 +sy=1.010000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.470000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=19.199995 +nMotionVectorsY=14.400000 +mv_l=3.000000 +mv_r=0.600000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.100000 +per_frame_1=wave_r = wave_r + 1*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_b = wave_b + 1*( 1.60*sin(1.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_g = wave_g +1*(1.50*sin(1.900*time)+.40*sin(1*time) ); +per_frame_4=rot=.140*sin(time); diff --git a/presets/presets_tryptonaut/Idiot24-7 - Meeting place.milk b/presets/presets_tryptonaut/Idiot24-7 - Meeting place.milk new file mode 100755 index 0000000000..3e7bfe6e19 --- /dev/null +++ b/presets/presets_tryptonaut/Idiot24-7 - Meeting place.milk @@ -0,0 +1,66 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=0.880200 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254862 +fWaveScale=1.691355 +fWaveSmoothing=0.600000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.010000 +fShader=0.000000 +zoom=0.906940 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.535239 +sy=1.000000 +wave_r=0.600000 +wave_g=1.000000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.499900 +ob_b=0.399900 +ob_a=0.089900 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.200000 +ib_a=0.100000 +nMotionVectorsX=6.400000 +nMotionVectorsY=48.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_g=1*sin(time); +per_frame_2=wave_r=.5*tan(bass_att); +per_frame_3=wave_b=.3*cos(treb); +per_frame_4= +per_pixel_1= +per_pixel_2=zoom=zoom-time+time+.10 diff --git a/presets/presets_tryptonaut/Illusion & Che - Return Of The King.milk b/presets/presets_tryptonaut/Illusion & Che - Return Of The King.milk new file mode 100755 index 0000000000..f4c6d2e3ca --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Che - Return Of The King.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=1.000498 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=1.000000 +zoom=1.000200 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.030301 +sy=1.020100 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.150000 +ob_r=0.000000 +ob_g=0.200000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.150000 +ib_b=0.550000 +ib_a=1.000000 +nMotionVectorsX=19.199995 +nMotionVectorsY=14.400000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.150*( 0.30*sin(0.875*time) + 0.20*sin(0.315*time) ); +per_frame_2=wave_g = 0.850*( 0.10*sin(0.200*time) + 0.10*sin(1.025*time) ); +per_frame_3=wave_b = 0.250*( 0.90*sin(0.410*time) + 0.60*sin(0.150*time) ); +per_pixel_1=dx=.01*sin((20+10*sin(q1*1.5))*(y+.2*sin(q1*.7)))*bass; +per_pixel_2=dy=.01*sin((20+10*sin(q1))*(x+.2*sin(q1*.77)))*bass; diff --git a/presets/presets_tryptonaut/Illusion & Che - The Piper.milk b/presets/presets_tryptonaut/Illusion & Che - The Piper.milk new file mode 100755 index 0000000000..0b2e148ff1 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Che - The Piper.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000498 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.998162 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000100 +fShader=1.000000 +zoom=0.970700 +rot=0.020000 +cx=0.350000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.072134 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.150000 +ob_r=0.000000 +ob_g=0.200000 +ob_b=0.400000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.150000 +ib_b=0.550000 +ib_a=1.000000 +nMotionVectorsX=19.199995 +nMotionVectorsY=14.400000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.150*(0.30*sin(0.875*time) + 0.20*sin(0.315*time) ); +per_frame_2=wave_g = 0.150*(0.10*sin(0.200*time) + 0.10*sin(1.025*time) ); +per_frame_3=wave_b = 0.150*(0.50*sin(0.410*time) + 0.60*sin(0.150*time) ); +per_pixel_1=dx=.01*sin((20+10*sin(q1*1.5))*(y+.2*sin(q1*.7)))*bass*3; +per_pixel_2=dy=.01*sin((20+10*sin(q1))*(x+.2*sin(q1*.77)))*bass*2; +per_pixel_3=sy = sy + 0.01 * bass_att; diff --git a/presets/presets_tryptonaut/Illusion & Rovastar - Clouded Bottle.milk b/presets/presets_tryptonaut/Illusion & Rovastar - Clouded Bottle.milk new file mode 100755 index 0000000000..902410f79f --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Rovastar - Clouded Bottle.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000001 +fDecay=0.999000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.254857 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=2.448629 +fWarpScale=67.165291 +fZoomExponent=0.132909 +fShader=1.000000 +zoom=0.970590 +rot=0.000000 +cx=2.000000 +cy=0.500000 +dx=0.020000 +dy=0.000000 +warp=0.029800 +sx=1.000000 +sy=1.010000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.300000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=8.000000 +nMotionVectorsY=1.920000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.500000 +per_frame_1=dx =dx -0.0005; +per_frame_2=dy = dy-0.0035; +per_frame_3=mv_l = 3000; +per_frame_4=mv_r = 0.5 + 0.499*sin(time*1.12); +per_frame_4=mv_g = 0.5 + 0.123*cos(time*1.83); +per_frame_5=mv_b = 0.4 + 0.79*cos(time*0.45); +per_frame_6=bass_effect = max(max(bass,bass_att)-1.3,0); +per_frame_7=decay = if(above(bass_effect,0),0.96,0.996); +per_frame_8=wave_x = 0.6+0.3*sin(time*0.724); +per_frame_9=warp = warp + (2*sin(0.75*time)); +per_frame_10=wrap_s = wrap_s +0.5*sin(0.1*time); +per_frame_9=wave_r = 0.5 + (sin(time/2) - cos(time*0.22))/2; +per_frame_10=wave_g = 0.5 - sin(time*0.877)/2; +per_frame_11=wave_b = 0.5 - cos(time)/2; +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; diff --git a/presets/presets_tryptonaut/Illusion & Rovastar - Dotty Mad Space (Jelly).milk b/presets/presets_tryptonaut/Illusion & Rovastar - Dotty Mad Space (Jelly).milk new file mode 100755 index 0000000000..0b82b97dcb --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Rovastar - Dotty Mad Space (Jelly).milk @@ -0,0 +1,260 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=7.524 +fVideoEchoAlpha=0.600 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.518 +fWaveScale=3.166 +fWaveSmoothing=0.180 +fWaveParam=0.000 +fModWaveAlphaStart=0.550 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.530 +fWarpScale=1.731 +fZoomExponent=0.99817 +fShader=0.000 +zoom=1.00022 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.14010 +sx=1.00600 +sy=0.99990 +wave_r=1.000 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=0.500 +mv_g=0.600 +mv_b=0.600 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp=0; +per_frame_2=bass_effect = max(max(bass,bass_effect)-1.3,0); +per_frame_3=mv_a = bass_effect*10; +per_frame_4=mv_r =if(above(mid,treb),0,1); +per_frame_5=mv_x = sin(time*3)*4 + 60; +per_frame_6=mv_y = sin(time*5)*5 + 43; +per_frame_7=wave_r = sin(time*5)*0.5+0.5; +per_frame_8=wave_b = cos(time*12)*0.5+0.5; +per_frame_9=wave_g = cos(time*14)*0.5+0.5; +per_pixel_1=sx = sx + rad*0.01; +per_pixel_2=sy = sy +if(above(3.14-ang,0),0.1,-0.1); +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.yzx,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Delight.milk b/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Delight.milk new file mode 100755 index 0000000000..ea68735626 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Delight.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000001 +fDecay=0.999000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.254857 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=2.448629 +fWarpScale=67.165291 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.030301 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.020000 +dy=0.000000 +warp=0.029800 +sx=1.000000 +sy=1.010000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.300000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=8.000000 +nMotionVectorsY=1.920000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +per_frame_1=dx =dx -0.0005; +per_frame_2=dy = dy-0.0035; +per_frame_3=mv_l = 3000; +per_frame_4=mv_r = 0.5+0.499*sin(time*1.12); +per_frame_5=mv_g = 0.199+0.8*sin(time); +per_frame_6=mv_g = 0.499+0.5*sin(time); +per_frame_7=bass_effect = max(max(bass,bass_att)-1.3,0); +per_frame_8=decay = if(above(bass_effect,0),0.96,0.996); +per_frame_9=wave_x = 0.6+0.3*sin(time*0.724); +per_frame_10=warp = warp + (2*sin(0.75*time)); +per_frame_11=wrap_s = wrap_s +0.5*sin(0.1*time); +per_frame_12=wave_r = wave_r + 0.150*( 0.60*sin(0.994*time) + 0.40*sin(0.941*time) ); +per_frame_13=wave_g = wave_g + 0.150*( 0.60*sin(0.990*time) + 0.40*sin(1.002*time) ); +per_frame_14=wave_b = wave_b + 0.150*( 0.60*sin(0.775*time) + 0.40*sin(1.071*time) ); diff --git a/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Return.milk b/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Return.milk new file mode 100755 index 0000000000..d849e50574 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Rovastar - Snowflake Return.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000001 +fDecay=0.999000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.254857 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=2.448629 +fWarpScale=67.165291 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.030301 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.020000 +dy=0.000000 +warp=0.029800 +sx=1.000000 +sy=1.010000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.300000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=8.000000 +nMotionVectorsY=1.920000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +per_frame_1=dx =dx -0.0005; +per_frame_2=dy = dy-0.0035; +per_frame_3=mv_l = 3000; +per_frame_4=mv_r = 0.5+0.499*sin(time*1.12); +per_frame_5=mv_b = 0.2 + 0.19*cos(time*0.45); +per_frame_6=bass_effect = max(max(bass,bass_att)-1.3,0); +per_frame_7=decay = if(above(bass_effect,0),0.96,0.996); +per_frame_8=wave_x = 0.6+0.3*sin(time*0.724); +per_frame_9=warp = warp + (2*sin(0.75*time)); +per_frame_10=wrap_s = wrap_s +0.5*sin(0.1*time); +per_frame_11=wave_b = wave_b + 0.5*sin(time); +per_frame_12=wave_r = wave_r + (bass - 0.5); +per_frame_13=dx = dx + dx_residual; +per_frame_14=dy = dy + dy_residual; +per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_16=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_17=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; diff --git a/presets/presets_tryptonaut/Illusion & Unchained - Frozen Eye 1.milk b/presets/presets_tryptonaut/Illusion & Unchained - Frozen Eye 1.milk new file mode 100755 index 0000000000..05c1de83a7 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Unchained - Frozen Eye 1.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.599179 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=3.072695 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.410000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=bass_on=if(above(bass_att,1.3),1,0); +per_frame_3=treb_on=if(above(treb_att,1.3),1,0); +per_frame_4=state = 1 + bass; +per_frame_5=wave_r = wave_r + 0.25*(0.6*sin(0.784*time) + 0.4*sin(0.986*time))*state; +per_frame_6=wave_g = wave_g + 0.25*(0.6*sin(0.671*time) + 0.4*sin(1.164*time))*(4-state); +per_frame_7=wave_b = wave_b + 0.25*(0.6*sin(1.423*time) + 0.4*sin(0.687*time))*(4/state); +per_frame_8=wave_y=if(equal(state,1),wave_y+rand(10)*.1*sin(time*3),wave_y); +per_frame_9=bass_effect = if(above(bass_att,1.4),pow(1.1,bass_att),1); +per_frame_10=treb_effect = if(above(treb_att,1.4),pow(0.97,treb_att),1); +per_frame_11=net_effect = if(above(bass_att,0.8*treb_att),bass_effect,treb_effect); +per_frame_12=zoom = 0.99 * net_effect; +per_frame_13=rot = 0.03 * net_effect * sin(time); +per_frame_14=wave_size=6*state + 3; diff --git a/presets/presets_tryptonaut/Illusion & Unchained - Invade My Mind.milk b/presets/presets_tryptonaut/Illusion & Unchained - Invade My Mind.milk new file mode 100755 index 0000000000..b0eb46225a --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Unchained - Invade My Mind.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.976000 +fVideoEchoZoom=1.028414 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=1.028415 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000206 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.200000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.060000 +ob_r=0.800000 +ob_g=0.300000 +ob_b=0.800000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.200000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*sin(q4+q5); +per_frame_28=wave_b=wave_b+wave_b*q2*sin(q3); +per_frame_29=wave_g=wave_g+wave_g*q2; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=wave_mystery=.5*q6; +per_frame_37=warp=0; +per_frame_38=ob_size = 0.070 + (bass+mid)/24 + bass_att/30; +per_frame_39=ib_size = ob_size / 4; +per_pixel_1=zoom=zoom+.10*sin(q4+time+ang+rad); +per_pixel_2=rot=if(above(bnot(1*q4),bnot(1*q3*.24)),rot*sin(rad*sin(q4*.54)),-rot*sin(rad*cos(q4*. +per_pixel_3=34)))*Sin(Bass*.43)*sin(time*.13)*sin(q4*.54); +per_pixel_4=sx=sx+.2*sqrt(sin(x))*sin(q3)*sin(q4*.42)*sin(q1*.65); +per_pixel_5=sy=sy-.2*sqrt(sin(y))*cos(q3*q1)*Sin(above(q3,q3+.4)*.54)*sin(q4*above(q3,q2)*.54); +per_pixel_6=dx=rot*sin(q4+q3)*Y*sin(above(q2,q4*.12))*x*sin(q3*.53)*sin(q5*.43); +per_pixel_7=dy=-rot*sin(q3)*x*Sin(above(q3,q5)*.53)*y*sin(above(q4,q1)*-.12)*sin(above(q1,q3)*.23);; +per_pixel_8=cx = cx + 4 * sin(0.128 * q3); diff --git a/presets/presets_tryptonaut/Illusion & Unchained - New Strategy.milk b/presets/presets_tryptonaut/Illusion & Unchained - New Strategy.milk new file mode 100755 index 0000000000..4025ea8466 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Unchained - New Strategy.milk @@ -0,0 +1,117 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.643970 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.010000 +fWaveSmoothing=0.810000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.051010 +sy=0.999998 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0.55; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*3.14+q2*3.14+q3*3.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=wave_r=.5+.5*sin(q1+abs(q4*2.14)); +per_frame_29=wave_b=.5+.5*sin(q2+abs(q5*2.14)); +per_frame_30=wave_g=.5+.5*sin(q3+abs(q6*2.14)); +per_frame_31=ob_r=.2+.2*sin(time*.857+q1*.4); +per_frame_32=ob_b=.3+.3*sin(time*.689+q3*.2); +per_frame_33=ob_g=.1+.1*sin(time*.413+q3*.3); +per_frame_34=ib_r=.5+.5*cos(time*1.2+q1*.2); +per_frame_35=ib_b=.5+.5*cos(time+q2*.3); +per_frame_36=ib_g=.5+.5*cos(time*.666+q3*.4); +per_frame_37=ob_size=.05+.05*sin(q3*3+q1); +per_frame_38=ib_size=.05+.05*sin(q1*3+q3); +per_frame_39=mv_r=mv_r+.5*sin(q4+q5*6*q1); +per_frame_40=mv_b=mv_b+.5*sin(q4+q5*6*q2); +per_frame_41=mv_g=mv_g+.5*sin(q5+q5*6*q3); +per_frame_42=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_43=mv_l=.1*q8; +per_frame_44=mv_x=q8*q7; +per_frame_45=mv_y=q8*q7; +per_frame_46=wave_mystery=wave_mystery+.25*sin(time*q4); +per_pixel_1=newrad=rad+ang-.5; +per_pixel_2=zoom=if(Above(q2,q5),zoom+.10*sin(rad-.10+.2-newrad*q4),zoom-.10*cos(rad+.10 +per_pixel_3=+.2+newrad*q5));; +per_pixel_4=rot=if(above(q2,q5),1*rad*sin(q5+q2*time),0); +per_pixel_5=cx=if(above(q5,q6),.2+.5*sin(q4),.5); +per_pixel_6=cy=if(above(q3,q7),.2+.5*sin(q4),.5); +per_pixel_7=sx=if(above(q2,q5),sx+.2*sin(q4)-.2*cos(Q6),1); +per_pixel_8=sy=if(above(q1,q3),sy+.2*sin(q3)-.2*cos(Q2),1) diff --git a/presets/presets_tryptonaut/Illusion & Unchained - Re-Enter Homeworld.milk b/presets/presets_tryptonaut/Illusion & Unchained - Re-Enter Homeworld.milk new file mode 100755 index 0000000000..040f8efd41 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion & Unchained - Re-Enter Homeworld.milk @@ -0,0 +1,102 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.993000 +fVideoEchoZoom=3.047823 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.217956 +fWaveScale=0.568168 +fWaveSmoothing=0.072000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.600000 +dy=0.600000 +warp=1.000000 +sx=1.020100 +sy=1.020100 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.500000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.500000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.97+.03*sin(beat); +per_frame_6=entropy=if(bnot(entropy),1,if(equal(pulse,-3.14),entropy+sin(beat),entropy)); +per_frame_7=bass_thresh = above(bass,bass_thresh)*2 + (1-above(bass,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb,treb_thresh)*2 + (1-above(treb,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid,mid_thresh)*2 + (1-above(mid,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.016); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01*entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=wave_r=wave_r+cos(time*q3)*.5; +per_frame_27=wave_b=wave_b+cos(time*q1)*.5; +per_frame_28=wave_g=wave_g+cos(time*q2)*.5; +per_frame_29=ob_r=.5+.5*q2; +per_frame_30=ob_b=.5+.5*-q2; +per_frame_31=ob_g=.5+.5*q3; +per_frame_32=ib_r=.5+.3*q2; +per_frame_33=ib_g=.6+.1*q3; +per_frame_34=dx=.01*q4; +per_frame_35=dy=.01*q5; +per_frame_36=zoom=zoom+.03*q1; +per_frame_37=ib_size=.25+.25*q2; +per_frame_38=ob_size=.25+.25*q3; +per_frame_39=ib_a=.04+.03*sin(time+q5); +per_frame_40=ob_a=.04+.03*cos(time+q5); +per_pixel_1=grid=bor(above(x,.5)*above(y,.5),below(x,.5)*below(y,.5)); +per_pixel_2=zoom=if(bor(grid*above(q1,0),bnot(grid)*below(q1,0)),zoom-.1*cos((x-.5)*6.2+q3),zoom+.1*sin(rad*3.14+q2)); diff --git a/presets/presets_tryptonaut/Illusion - Figure Eight.milk b/presets/presets_tryptonaut/Illusion - Figure Eight.milk new file mode 100755 index 0000000000..e6172120f6 --- /dev/null +++ b/presets/presets_tryptonaut/Illusion - Figure Eight.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.640223 +fWaveSmoothing=0.270000 +fWaveParam=0.600000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040100 +rot=0.400000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.499900 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=3.000001 +mv_l=3.950000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.700000 +per_frame_1=dx = dx - .001; +per_frame_2=dy = dy - .001; +per_frame_3=warp = 0; +per_frame_4=wave_r = wave_r + .5*sin(time*.666); +per_frame_5=wave_g = wave_g + .5*sin(time*.777); +per_frame_6=wave_b = wave_b + .5*sin(time*.888); +per_frame_7=wave_r = wave_r + 0.5*sin(1.047*time); +per_frame_8=wave_g = wave_g - 0.5*cos(0.835*time); +per_frame_9=wave_b = wave_b + 0.5*cos(1.011*time); +per_frame_10=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_11=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_12=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_13=mv_a=mid_residual; +per_frame_14=mv_x=rand(30); +per_frame_15=mv_y=rand(30); +per_frame_16=mv_r=wave_b; +per_frame_17=mv_b=wave_g; +per_frame_18=mv_g=wave_r; +per_pixel_1=dx = .01*atan((rad)/.1*sin((x*y)*20+time*5)); +per_pixel_2=zoom = zoom + rad*.05; diff --git a/presets/presets_tryptonaut/Image415.jpg b/presets/presets_tryptonaut/Image415.jpg new file mode 100755 index 0000000000..41e3e89c91 Binary files /dev/null and b/presets/presets_tryptonaut/Image415.jpg differ diff --git a/presets/presets_tryptonaut/Infused by Flexi with AdamFX 2 Stahlregen-Aderrasi+EoS+Geiss+Unchained+Zylot-SlowflowersFtMartin(AdamFXRemix)7.milk b/presets/presets_tryptonaut/Infused by Flexi with AdamFX 2 Stahlregen-Aderrasi+EoS+Geiss+Unchained+Zylot-SlowflowersFtMartin(AdamFXRemix)7.milk new file mode 100644 index 0000000000..3ec7c90c57 --- /dev/null +++ b/presets/presets_tryptonaut/Infused by Flexi with AdamFX 2 Stahlregen-Aderrasi+EoS+Geiss+Unchained+Zylot-SlowflowersFtMartin(AdamFXRemix)7.milk @@ -0,0 +1,433 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.500000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.545 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.100 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=5.996 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99840 +rot=0.00200 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.500 +ib_g=0.900 +ib_b=0.500 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,int(rand(1001))*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,int(rand(1001))*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=se = equal(ita,0)*3 + equal(ita,1)*8 + equal(ita,2)*1 + equal(ita,3)*15 + equal(ita,4)*19; +wave_0_per_point15=sf = equal(ita,0)*16 + equal(ita,1)*12 + equal(ita,2)*1 + equal(ita,3)*25; +wave_0_per_point16=sc = equal(ita,0)*13 + equal(ita,1)*1 + equal(ita,2)*7 + equal(ita,3)*9 + equal(ita,4)*3; +wave_0_per_point17=sd = equal(ita,0)*18 + equal(ita,1)*5 + equal(ita,2)*13 + equal(ita,3)*9 + equal(ita,4)*24; +wave_0_per_point18=sb = equal(ita,0)*19 + equal(ita,1)*8 + equal(ita,2)*1 + equal(ita,3)*4 + equal(ita,4)*5; +wave_0_per_point19=sj = equal(ita,0)*6 + equal(ita,1)*21 + equal(ita,2)*14; +wave_0_per_point20=sg = equal(ita,0)*5 + equal(ita,1)*20 + equal(ita,2)*8 + equal(ita,3)*5 + equal(ita,4)*18 + equal(ita,5)*5 +wave_0_per_point21= + equal(ita,6)*1 + equal(ita,7)*12; +wave_0_per_point22=sh = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*14 + equal(ita,3)*4 + equal(ita,4)*6 + equal(ita,5)*21 +wave_0_per_point23= + equal(ita,6)*3 + equal(ita,7)*11; +wave_0_per_point24=si = equal(ita,0)*6 + equal(ita,1)*14 + equal(ita,2)*15 + equal(ita,3)*18 + equal(ita,4)*4; +wave_0_per_point25=sa = equal(ita,0)*2 + equal(ita,1)*12 + equal(ita,2)*5 + equal(ita,3)*14 + equal(ita,4)*4 +wave_0_per_point26= + equal(ita,5)*5 + equal(ita,6)*4; +wave_0_per_point27= +wave_0_per_point28=lr = if(sw,lr,int(rand(10))); +wave_0_per_point29=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point30= +wave_0_per_point31=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point32=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point33=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point34=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point35=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point36=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point37=vg = equal(let,1); +wave_0_per_point38=vh = equal(let,9) + equal(let,20); +wave_0_per_point39=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point40=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point41=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point42=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point43=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point44=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point45=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point46=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point47=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point48=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point49=vs = equal(let,22); +wave_0_per_point50=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point51= +wave_0_per_point52=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point53= +wave_0_per_point54=a = a*below(ita,8)*q1; +wave_0_per_point55= +wave_0_per_point56=x = mx + vx*sz*.75; +wave_0_per_point57=y = my + vy*sz*1.5; +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.000 +wavecode_1_b=0.400 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wave_1_per_point1=x=int(rand(1000))*0.001; +wave_1_per_point2=y=int(rand(1000))*0.001; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12772 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.660 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.25230 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.990 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=//adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_1_per_frame5= +shape_1_per_frame6=x= q28; +shape_1_per_frame7=y= q29; +shape_1_per_frame8=rad=q32; +shape_1_per_frame9=ang= if(equal(instance,0),q30,q31); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.25237 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.25133 +shapecode_2_tex_zoom=1.13600 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.990 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=//adv=adv+(bass*bass)/15; +shape_2_per_frame3= +shape_2_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_2_per_frame5= +shape_2_per_frame6=x= q23; +shape_2_per_frame7=y= q24; +shape_2_per_frame8=rad=q27; +shape_2_per_frame9=ang= if(equal(instance,0),q25,q26); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=//This has Rovastar Tripmaker code in it +per_frame_2=warp=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.9+.1*sin(pulse); +per_frame_7=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+int(rand(2)),entropy); +per_frame_8=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_9=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_10=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_11=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_12=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_13=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_14=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_15=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_16=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_17=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_18=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_19=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_20=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_21=q2=abs(bass_residual); +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=max(mv_g+.5*sin(q5+time*.456),.5); +per_frame_41=mv_a=.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.3*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.05*sin(time*1.69); +per_frame_51=q1 = .05*above((bass_thresh+mid_thresh+treb_thresh),5.5); +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=rot=sin(rad*(xx*q4+yy*q5+1.7*q6)); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 22.milk b/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 22.milk new file mode 100755 index 0000000000..64bdfd0672 --- /dev/null +++ b/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 22.milk @@ -0,0 +1,449 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=0.952 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.800 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(q1*0.22); +wave_0_per_point17=g = 0.5 + 0.5*sin(q1*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = max(peak,4); +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = max(bass + mid + treb,3); +per_frame_19= +per_frame_20=movez = movez + .1*(1+.3*q26)*30/fps; +per_frame_21=q30 = movez; +per_frame_22= +per_frame_23=k1 = is_beat*equal(index,0); +per_frame_24=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_27=rott = p3*3.1416/2; +per_frame_28= +per_frame_29=q1 = cos(rott); +per_frame_30=q2 = sin(rott); +per_frame_31=q3 = -q2; +per_frame_32=q4 = q1; +per_frame_33= +per_frame_34= +per_frame_35=str = str * dec_slow + (1-dec_slow) * index3; +per_frame_36=q27 = 4 - str; +per_frame_37= +per_frame_38=mv_a = equal(index2,2)*bnot(index)*.5; +per_frame_39= +per_frame_40=rot1 = dec_med * rot1 + (1-dec_med) * bnot(index2) ; +per_frame_41=q28 = rot1; +per_frame_42= +per_frame_43=copy = copy * dec_slow + (1-dec_slow)*index3; +per_frame_44=q29 = .3*copy; +per_frame_45= +per_frame_46= +per_pixel_1=dx = 0.04*q28; +per_pixel_2=rot = .06*q2; +per_pixel_3=zoom = .96 + .1*sin(time/7); +per_pixel_4=//zoom = 1.04; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float2 zz = uv1 *texsize.xy *.01; +warp_7=`zz =mul(zz,float2x2(_qa)); +warp_8=`zz = -zz.yx; +warp_9=`float2 h1 = clamp(tan(zz.yx),-8,8) * cos(4*zz); +warp_10=` +warp_11=`uv += h1*texsize.zw * 16; +warp_12=`float3 crisp = tex2D(sampler_main,uv); +warp_13=` +warp_14=`ret = crisp*.99-.01; +warp_15=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=`float2 hor = float2(texsize.z,0); +comp_11=`float2 ver = float2(0,texsize.w); +comp_12=` +comp_13=`float dist = 1; +comp_14=`float inten = 1; +comp_15=`ret1 = 0; +comp_16=`float anz = 1; +comp_17=`float n = 0; +comp_18=`uv4 = (uv); +comp_19=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_20=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_21=` +comp_22=` +comp_23=`mus = .5*GetPixel(uv4-0*dz)-0*dz.x; +comp_24=` +comp_25=`uv2 = uv-.5; +comp_26=`while (n <= anz) { +comp_27=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_28=` +comp_29=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_30=` +comp_31=` uv3 = q27*2*uv2*dist + float2 (time/8,0); +comp_32=` uv3 = frac(uv3); +comp_33=` uv3 *= aspect.yx; +comp_34=` uv3 = .1 * cos(22*uv3) + 18 *dz ; +comp_35=` neu = saturate(.02/length(uv3)); +comp_36=` neu = dist*neu + (1-dist)*lum(neu)* .5*(1+roam_cos); +comp_37=` ret1 = max(ret1,neu*inten); +comp_38=`n++; +comp_39=`} +comp_40=` +comp_41=`ret = ret1 + saturate(8*mus*(.2+ret1)) ; +comp_42=`} diff --git a/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 6.milk b/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 6.milk new file mode 100644 index 0000000000..15a1e9a658 --- /dev/null +++ b/presets/presets_tryptonaut/Inside A Black Whole AdamFX 2 martin - another kind of groove (Ati Fix)Ft Raron Flexi and Rovastar (AdamFX Remix)Uh huh 6.milk @@ -0,0 +1,479 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=1.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=0.952 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.633 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=13.29089 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=1.00000 +dy=-0.32000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=1.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(q1*0.22); +wave_0_per_point17=g = 0.5 + 0.5*sin(q1*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=decay=0.998; +per_frame_29= +per_frame_30=vol= (bass+mid+treb)*0.25; +per_frame_31=vol=vol*vol; +per_frame_32= +per_frame_33= +per_frame_34=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_35=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=musictime=musictime+vol; +per_frame_40= +per_frame_41=q4=0; +per_frame_42=q5=0; +per_frame_43=//q4=sin(musictime*0.02)*0.3; +per_frame_44=//q5=sin(musictime*0.01)*0.3; +per_frame_45= +per_frame_46=//dx=sin(musictime*0.1)*0.07; +per_frame_47=//dy=cos(musictime*0.069)*0.01; +per_frame_48=q1=sin(musictime*0.001)*0.4+0.5; +per_frame_49=q2=cos(musictime*0.001)*0.5+0.5; +per_frame_50= +per_frame_51=dx=0;dy=0; +per_frame_52=cx=0.5; +per_frame_53=sx=-1.020; +per_frame_54=q8=musictime; +per_frame_55=zoom=1; +per_frame_56=warp=0.3; +per_frame_57= +per_frame_58=monitor=rot; +per_frame_59= +per_frame_60= +per_frame_61=musictime=musictime+(mid*mid)*0.003; +per_frame_62=basstime=basstime+(bass*bass)*0.03; +per_frame_63= +per_frame_64= +per_frame_65=xpos=sin(musictime*0.6)*0.01; +per_frame_66=ypos=sin(musictime*0.4)*0.01; +per_frame_67=q4=xpos; +per_frame_68=q5=ypos; +per_frame_69=q6=basstime +per_pixel_1=rot=0; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_4=`uv -= (float2(0,1)*(lum(GetPixel(uv)-0.35))*texsize.zw*32)*(lum(GetPixel(uv))-0.4); +warp_5=`ret = GetPixel(saturate(uv)) - 0.0011 + (tex2D(sampler_noise_lq, dither_uv)-0.5)*0.0038; +warp_6=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_7=` ((uv.xyy*q27 +warp_8=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_9=` ).xyz* +warp_10=` float3(1,1,0)*0.05 + +warp_11=` time*float3(0,0,1)*q29 +warp_12=` ); +warp_13=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_14=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_15=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv2 = uv; +comp_4=`uv2.x=1-uv2.x; +comp_5=` +comp_6=` float2 d = texsize.zw*4; +comp_7=` float2 d2 = texsize.zw*4; +comp_8=` +comp_9=` float3 dx = ( GetBlur1(uv +float2(1,0)*d )-GetBlur1(uv2-float2(1,0)*d2) ); +comp_10=` float3 dx2 = ( GetBlur1(uv2+float2(1,0)*d2)-GetBlur1(uv -float2(0,1)*d ) ); +comp_11=` +comp_12=` float3 dy = ( GetBlur1(uv2+float2(0,1)*d2)-GetBlur1(uv -float2(1,0)*d ) ); +comp_13=` float3 dy2 = ( GetBlur1(uv +float2(0,1)*d )-GetBlur1(uv2-float2(0,1)*d2) ); +comp_14=` +comp_15=` +comp_16=`float2 uv_bg = uv2 - float2(dx2.y,dy2.y)*texsize.zw*16; +comp_17=`float2 uv_bg2 = uv - float2(dx.y ,dy.y )*texsize.zw*16; +comp_18=` +comp_19=` ret = (GetBlur2(uv_bg )-GetBlur1(uv_bg2)*1+GetPixel(uv_bg )*0.9 + (-dx.y + dy.y )*0.4).y*0.8*float3(1.0,1.1,1.2); +comp_20=`float3 ret2 = (GetBlur2(uv_bg2)-GetBlur1(uv_bg )*1+GetPixel(uv_bg2)*0.9 + (-dx2.y + dy2.y)*0.4).y*0.8*float3(1.2,1.0,1.1); +comp_21=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_22=` ((uv2.xyy*q28 +comp_23=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_24=` ).xyz* +comp_25=` float3(1,1,0)*0.05 + +comp_26=` time*float3(0,0,1)*q31 +comp_27=` ); +comp_28=`if(ret.x> q26*q13 && ret2.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_29=`if(ret2.y> q25*q11 && ret.y<= q22*q12 )ret2.x -= (noise9).y*.5; +comp_30=`if(ret.z> q24*q12 && ret2.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_31=` +comp_32=`float2 uv_m = uv2 - float2(dx2.x,dy.x )*texsize.zw*8; +comp_33=`float2 uv_m2 = uv - float2(dx.x ,dy2.x)*texsize.zw*8; +comp_34=` +comp_35=`ret = lerp(ret , 2*float3(0.0,0.5,1.0), GetBlur3(uv_m2 - float2(dx2.y,dy.y )*0.4).x*0.4); +comp_36=`ret2 = lerp(ret2, 2*float3(0.5,1.0,0.0), GetBlur3(uv_m - float2(dx.y ,dy2.y)*0.4).x*0.4); +comp_37=` +comp_38=`ret = lerp(ret , 2*float3(0.5,1.0,1.0), GetBlur2(uv_m - float2(dx.y ,dy2.y)*0.2).x*0.4); +comp_39=`ret2 = lerp(ret2, 2*float3(1.0,0.5,1.0), GetBlur2(uv_m2 - float2(dx2.y,dy.y )*0.2).x*0.4); +comp_40=` +comp_41=`ret = lerp(ret, 2*float3(1,1,0.8), GetBlur1(uv_m - float2(dx.y,dy.y)*0.1).x*0.2); +comp_42=`//ret = lerp(ret, float3(0.5,0,1), GetPixel(uv_m).x*0.4); +comp_43=` +comp_44=`//ret = .7-ret2; +comp_45=`//ret2=.7-ret; +comp_46=`ret-=ret2; +comp_47=`} diff --git a/presets/presets_tryptonaut/Jc - Circular Logic 3.milk b/presets/presets_tryptonaut/Jc - Circular Logic 3.milk new file mode 100755 index 0000000000..25c3bc1651 --- /dev/null +++ b/presets/presets_tryptonaut/Jc - Circular Logic 3.milk @@ -0,0 +1,322 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000000 +fGammaAdj=1.140 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.504 +fWaveParam=-0.200 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.500 +wave_b=0.440 +wave_x=1.000 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = int(rand(20)); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %12; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25=q1 = cos(rott); +per_frame_26=q2 = sin(rott); +per_frame_27=q3 = -q2; +per_frame_28=q4 = q1; +per_frame_29= +per_frame_30=drot = (index%4-2) * 30/fps; +per_frame_31=p3 = p3*dec_slow + (1-dec_slow)*30/fps * drot; +per_frame_32=q30 = p3 ; +per_frame_33= +per_frame_34=stag = (q27+index2*1); +per_frame_35=stag = max(stag,1); +per_frame_36=p4 = dec_med*p4 + (1-dec_med)*stag; +per_frame_37=q31 = p4; +per_frame_38= +per_frame_39=zoom = 1 + .05*q1; +per_frame_40=rot = -0.007 * index; +per_frame_41= +per_frame_42=q32 = pow(0.996, 30/fps); //fade +per_frame_43= +per_frame_44=monitor = index2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,uv.y) ).zyx ); +warp_6=` +warp_7=` // darken over time +warp_8=` ret *= 0.97; //or try: ret -= 0.004; +warp_9=`} diff --git a/presets/presets_tryptonaut/Jc - Neon Star Formation.milk b/presets/presets_tryptonaut/Jc - Neon Star Formation.milk new file mode 100755 index 0000000000..2b54a086ea --- /dev/null +++ b/presets/presets_tryptonaut/Jc - Neon Star Formation.milk @@ -0,0 +1,372 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.120 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(int(rand(100)),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,int(rand(1001))*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,int(rand(1001))*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,int(rand(10))); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=4.10803 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = int(rand(1000))/1000; +shape_0_per_frame2=y = int(rand(1000))/1000; +shape_0_per_frame3=ang = int(rand(150))/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=t = time*12.3; +per_frame_2=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_3=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_4=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +per_frame_5=//wave_a = 0; +per_frame_6= +per_frame_7=db = db*0.98 + bass*0.1; +per_frame_8=bb = bb + db*0.1; +per_frame_9= +per_frame_10=dt = dt*0.98 + treb*0.1; +per_frame_11=tt = tt + dt*0.1; +per_frame_12= +per_frame_13=dm = dm*0.98 + mid*0.1; +per_frame_14=mm = mm + dm*0.1; +per_frame_15= +per_frame_16= +per_frame_17=w = (bb-tt)*0.1; +per_frame_18=q11 = sin(w); +per_frame_19=q12 = cos(w); +per_frame_20=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // cx +per_frame_21=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // cy +per_frame_22=q15 = 4; +per_frame_23=q16 = 0.06; +per_frame_24=q17 = sin(-w); +per_frame_25=q18 = cos(-w); +per_frame_26= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` uv = uv - float2(0,1)*texsize.zw*0; +warp_5=` +warp_6=` float2 d2 = texsize.zw*12; +warp_7=` float1 dx = ( 2*GetBlur2(uv + float2(1,0)*d2) - 2*GetBlur2(uv-float2(1,0)*d2) ).y*0.5; +warp_8=` float1 dy = ( 2*GetBlur2(uv + float2(0,1)*d2) - 2*GetBlur2(uv-float2(0,1)*d2) ).y*0.5; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.08; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_fc_main, my_uv - floor(my_uv)).y; +warp_14=` ret.y += (2*ret.y - 2*GetBlur1(my_uv - floor(my_uv)).y)*.05125 + 0.02; +warp_15=` +warp_16=` float1 d = 0.01; +warp_17=` dx = ( 2*GetBlur2(uv + float2(d,0)) - 2*GetBlur2(uv-float2(d,0)) ).x*1280*texsize.z*0.5; +warp_18=` dy = ( 2*GetBlur2(uv + float2(0,d)) - 2*GetBlur2(uv-float2(0,d)) ).x*1024*texsize.w*0.5; +warp_19=` my_uv = uv + float2(dx,dy)*0.01; +warp_20=` +warp_21=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_22=` +warp_23=` +warp_24=` ret.x += (2*ret.x - 2*GetBlur3(uv).x - 0.04)*.1; +warp_25=` my_uv = uv - float2(dy,-dx)*0.04; +warp_26=` +warp_27=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_28=` +warp_29=` ret.z += (2*ret.z - 2*GetBlur1(uv).z)*0.5; +warp_30=` ret.z *= 0.9*(ret.x + ret.y*0.64 - 1); +warp_31=` ret.z += 0.02; +warp_32=` +warp_33=` +warp_34=`//ret = 0; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_25=`} diff --git a/presets/presets_tryptonaut/Jess - Trying To Trap A Twister.milk b/presets/presets_tryptonaut/Jess - Trying To Trap A Twister.milk new file mode 100755 index 0000000000..a1c278482a --- /dev/null +++ b/presets/presets_tryptonaut/Jess - Trying To Trap A Twister.milk @@ -0,0 +1,89 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.993000 +fVideoEchoZoom=0.996620 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.264366 +fWaveScale=0.264076 +fWaveSmoothing=0.720000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.061520 +sy=1.061520 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-9.42),1+rand(3),entropy)); +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_4=bass_changed=abs(bass_flop-equal(bass_thresh,2)); +per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_6=treb_changed=abs(treb_flop-equal(treb_thresh,2)); +per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_8=mid_changed=abs(mid_flop-equal(mid_thresh,2)); +per_frame_9=bass_residual = bass_changed*sin(pulse*bass_thresh*.2*entropy) + bnot(bass_changed)*bass_residual; +per_frame_10=treb_residual = treb_changed*sin(pulse*treb_thresh*.2*entropy) + bnot(treb_changed)*treb_residual; +per_frame_11=mid_residual = mid_changed*sin(pulse*mid_thresh*.2*entropy) + bnot(mid_changed)*mid_residual; +per_frame_12=pulse=if(above(abs(pulse),9.42),-9.42,pulse+.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.01); +per_frame_13=q1=mid_residual; +per_frame_14=q2=bass_residual; +per_frame_15=q3=treb_residual; +per_frame_16=q4=sin(pulse); +per_frame_17=q5=cos(pulse); +per_frame_18=wave_mystery=-.2+.2*q4; +per_frame_19=wave_r=wave_r+.5*bass_residual; +per_frame_20=zoom=zoom-.0035*q1; +per_frame_21=decay=decay+.003*sin(pulse); +per_pixel_1=anti_rad=(1-rad); +per_pixel_2=dx=if(below(sin(rad*10*q5),abs(q5)),.02*q1,.025*q2); +per_pixel_3=dy=dy-cos(anti_rad*10*q3-rad*10*q5+rad*10*q4)*.05; +per_pixel_4=zoom=zoom+(dy-1)*(dx-1)*q1*.07; +per_pixel_5=rot=rot+atan(anti_rad*3.14*q3)*abs(zoom-1.2)*above(q2,0); diff --git a/presets/presets_tryptonaut/Krash & Idiot - Memories Of The Castle.milk b/presets/presets_tryptonaut/Krash & Idiot - Memories Of The Castle.milk new file mode 100755 index 0000000000..e02abf391b --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Idiot - Memories Of The Castle.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.357394 +fWaveSmoothing=0.630000 +fWaveParam=-0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000100 +fShader=0.000000 +zoom=1.000376 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999904 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.490000 +ob_size=0.049900 +ob_r=0.110000 +ob_g=0.500000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.055000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=vol_att=bass_att+treb_Att+mid_att; +per_frame_2=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_3=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_4=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_5=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_6=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_7=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_8=react=vol; +per_frame_9=new_bass=if(above(react,bass_effect),bass&bass_att,bass_effect+bass_thresh); +per_frame_10=new_treb=if(above(react,treb_effect),treb&treb_att,treb_Effect+treb_thresh); +per_frame_11=new_mid=if(above(react,mid_effect),mid&mid_Att,mid_effect+mid_thresh); +per_frame_12=new_vol=new_bass+new_treb+new_mid+.04; +per_frame_13=rotadd = rotadd+sign(0.6*sin(time*0.456) + 0.4*sin(time*0.965)); +per_frame_14=q1=new_bass; +per_frame_15=q2=new_treb; +per_frame_16=q3=0.03*rotadd; +per_frame_17=q4=new_vol; +per_frame_18=q5=bass_thresh; +per_frame_19=q6=treb_thresh; +per_frame_20=q7=mid_thresh; +per_frame_21=q8=vol_thresh; +per_frame_22=mode = frame%2; +per_frame_23=wave_r=.3+.5*sin(new_mid-time)+mode; +per_frame_24=wave_g=.5-.2*sin(q2-time)-mode; +per_frame_25=wave_b=.2+.6*sin(q1-time)-mode; +per_frame_26=wave_mode = if(mode,0,wave_mode); +per_pixel_1=shine=band(rad,2)-rad%8*rad%2+.2*sin(q1)+.1*sin(above(Q1,q2)); +per_pixel_2=zoom=shine+.2*sin(above(q2,q1)-rad*sin(q5&time*.75*sin(above(Q5,q6)))); +per_pixel_3=zoom = zoom - below(rad,0.5)*0.8*(zoom-1); +per_pixel_4=rot=if(above(q1,q2),.2*sin(q1),-.2*sin(q2))+above(rad,0.5)*q3; diff --git a/presets/presets_tryptonaut/Krash & Illusion - Indecisive Mosaic.milk b/presets/presets_tryptonaut/Krash & Illusion - Indecisive Mosaic.milk new file mode 100755 index 0000000000..99e0870531 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Illusion - Indecisive Mosaic.milk @@ -0,0 +1,89 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.999996 +fWaveSmoothing=0.750000 +fWaveParam=-0.499900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_5=decay = decay - equal(frame%100,0)*0.1; +per_frame_6=vol = 0.167*(bass+mid+att); +per_frame_7=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_8=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_9=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_10=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_11=xpos = xpos + 0.001*xspeed; +per_frame_12=wave_x = 1.5*xpos + 0.5; +per_frame_13=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_14=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_15=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_16=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_17=ypos = ypos + 0.001*yspeed; +per_frame_18=wave_y = 1.5*ypos + 0.5; +per_frame_19=dx = dx + dx_residual; +per_frame_20=dy = dy + dy_residual; +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_23=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_24=rot = 0.1; +per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; diff --git a/presets/presets_tryptonaut/Krash & Illusion - Spiral Movement.milk b/presets/presets_tryptonaut/Krash & Illusion - Spiral Movement.milk new file mode 100755 index 0000000000..4ec497593c --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Illusion - Spiral Movement.milk @@ -0,0 +1,88 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.504218 +fWaveSmoothing=0.750000 +fWaveParam=0.240000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.020100 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.819544 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.060000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=dx=-0.0005; +per_frame_2=dy=-0.0005; +per_frame_3=vol = (bass+mid+att)/6; +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xpos = xpos + 0.001*xspeed; +per_frame_10=wave_x = xpos + 0.5; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = ypos + 0.5; +per_frame_18=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_19=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_20=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_21=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_22=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_23=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_24=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) ); +per_frame_25=warp = warp*vol; +per_frame_26=zoom = zoom - 0.02*zoom*bass_att; +per_frame_27=zoom_exp = 1.5*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_28=ob_a = 1 - 2*vol; +per_frame_29=monitor = zoom_exp; diff --git a/presets/presets_tryptonaut/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk b/presets/presets_tryptonaut/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk new file mode 100755 index 0000000000..1d2b1d800b --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.535234 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.000000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=0.200000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.4 + 0.1*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=test = equal(thresh,2); +per_frame_7=dx_r = test*0.002*sin(5*time)+(1-test)*dx_r; +per_frame_8=dy_r = test*0.002*sin(6*time)+(1-test)*dy_r; +per_frame_9=zoom = zoom -0.01*thresh; +per_frame_10=dx = 1.1* dx_r; +per_frame_11=dy = 1.1* dy_r; +per_frame_12=dx = dx + if (above(bass,1.3), 21*dx_r, 0); +per_frame_13=mv_x = if(test,2,64); +per_frame_14=mv_y = if(test,64,2); +per_frame_15=mv_dx = if(test,-0.1,0); +per_frame_16=mv_dy = if(test,0,-0.1); +per_frame_17=mv_a = if(test,1,0.5); +per_frame_18=xpos = xpos + 0.05*(80*dx_r - xpos); +per_frame_19=ypos = ypos + 0.05*(80*dy_r - ypos); +per_frame_20=wave_x = 0.5 - xpos + 0.1*sin(2*time); +per_frame_21=wave_y = 0.5 - ypos + 0.1*cos(2*time); +per_frame_22=q1 = wave_x; +per_frame_23=q2 = 1 - wave_y; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q2; +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = min(5*newrad,1)*dx + max(-newrad*5+1,0)*((newx)*newzoom - newx); +per_pixel_6=dy = min(5*newrad,1)*dy + max(-newrad*5+1,0)*((newy)*newzoom - newy); diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk b/presets/presets_tryptonaut/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk new file mode 100755 index 0000000000..323829a5d3 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.660126 +fWaveSmoothing=0.000000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.150000 +mv_g=0.450000 +mv_b=0.650000 +mv_a=0.200000 +per_frame_1=warp=0; +per_frame_2=ib_a =0.2*bass; +per_frame_3=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_4=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_5=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_6=decay = decay - equal(frame%100,0)*0.1; +per_frame_7=vol = 0.167*(bass+mid); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xpos = xpos + 0.001*xspeed; +per_frame_13=wave_x = 1.5*xpos + 0.5; +per_frame_14=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_15=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_16=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_17=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_18=ypos = ypos + 0.001*yspeed; +per_frame_19=wave_y = 1.5*ypos + 0.5; +per_frame_20=zoom = .995; +per_frame_21=wave_x = if(frame%2,1-wave_x,wave_x); +per_frame_22=wave_y = if(frame%2,1-wave_y,wave_y); +per_frame_23=wave_r = if(frame%2,wave_r,wave_g); +per_frame_24=wave_g = if(frame%2,wave_g,wave_b); +per_frame_25=wave_b = if(frame%2,wave_b,wave_r); +per_frame_26=monitor = green; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*(48+12*sin(0.412*time)))+0.008*sin(((y+sin(time*0.163))*2-1)*(3+sin(0.241*time))); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*(64+18*sin(0.376*time)))+0.008*cos(((x+sin(time*0.282))*2-1)*(3+sin(0.349*time))); +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk new file mode 100755 index 0000000000..54a719cdf8 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk @@ -0,0 +1,108 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.993998 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_28=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_29=ib_r = 0.3+xpos; +per_frame_30=ib_b = 0.06*bass; +per_frame_31=ib_g = 0.25+ypos; +per_frame_32=ib_r = 0.2125*ib_r + 0.7154*ib_g + 0.0721*ib_b; +per_frame_33=ib_g = ib_r; +per_frame_34=ib_b = ib_r; +per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk new file mode 100644 index 0000000000..bde091d79f --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Killer Death Bunny Remix.milk @@ -0,0 +1,364 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=//sx=-1 diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk new file mode 100644 index 0000000000..065c6bd5f6 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Moire Remix.milk @@ -0,0 +1,359 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=r=0;g=0;b=0 +wave_1_per_point23= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=r=0;g=0;b=0 +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(75/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk new file mode 100644 index 0000000000..d74a4c7e90 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS Stars Remix.milk @@ -0,0 +1,369 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491381 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.791419 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.555953 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=.5+(above(sin(time),0)*0.2); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.700000 +shapecode_3_y=0.700000 +shapecode_3_rad=0.986086 +shapecode_3_ang=0.628319 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.999996 +shapecode_3_r=0.970000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(37/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip; +per_frame_57= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=sy=1.2/newx; +per_pixel_14=zoom=1.1 diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk new file mode 100644 index 0000000000..601e71e55b --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Cerebral Demons - Phat + EoS hall of ghouls Remix.milk @@ -0,0 +1,367 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.300000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.800000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=xp=sin(n); +wave_0_per_point4=yp=cos(n); +wave_0_per_point5= +wave_0_per_point6=tm=q3 - sample; +wave_0_per_point7= +wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; +wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x= xof; +wave_0_per_point13=y= (1-yof); +wave_0_per_point14= +wave_0_per_point15=a=1-sample; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.700000 +wavecode_1_b=0.200000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_1_per_point3= +wave_1_per_point4=xp=sin(n); +wave_1_per_point5=yp=cos(n); +wave_1_per_point6= +wave_1_per_point7=tm=q8 - sample; +wave_1_per_point8= +wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_1_per_point11= +wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_1_per_point14= +wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_1_per_point17= +wave_1_per_point18=x= xof + xran; +wave_1_per_point19=y= (1-yof) + yran; +wave_1_per_point20= +wave_1_per_point21=a=(1-sample); +wave_1_per_point22=g=g*(1-sample); +wave_1_per_point23=b=b*(1-sample) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.780000 +wavecode_2_b=0.200000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; +wave_2_per_point3= +wave_2_per_point4=xp=sin(n); +wave_2_per_point5=yp=cos(n); +wave_2_per_point6= +wave_2_per_point7=tm=q8 - sample; +wave_2_per_point8= +wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; +wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; +wave_2_per_point11= +wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; +wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; +wave_2_per_point14= +wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; +wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; +wave_2_per_point17= +wave_2_per_point18=x= xof + xran; +wave_2_per_point19=y= (1-yof) + yran; +wave_2_per_point20= +wave_2_per_point21=a=(1-sample); +wave_2_per_point22=g=g*(1-sample); +wave_2_per_point23=b=b*(1-sample) +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.110462 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=x=q1; +shape_0_per_frame2=y=1-q2; +shape_0_per_frame3=ang=time +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.030000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=x=q1; +shape_1_per_frame2=y=1-q2; +shape_1_per_frame3=ang=time +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=flip=1 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01*(70/fps); +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4; +per_frame_54= +per_frame_55=flip=-flip; +per_frame_56=sx=flip +per_frame_57= +per_frame_58= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; diff --git a/presets/presets_tryptonaut/Krash & Rovastar - Switching Polygons.milk b/presets/presets_tryptonaut/Krash & Rovastar - Switching Polygons.milk new file mode 100755 index 0000000000..f9c4babc29 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - Switching Polygons.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.850000 +fDecay=0.973000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.396647 +fWaveScale=0.883471 +fWaveSmoothing=0.520000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_frame_7=volume = 0.3*(bass+mid+att); +per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = max(bass_att,peakbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_15=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_17=effect = if(beat,effect+rand(5)+1,effect); +per_frame_18=effect = if(above(effect,5),effect-6,effect); +per_frame_19=q1 = effect+2; +per_frame_20=monitor = q1; +per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6); diff --git a/presets/presets_tryptonaut/Krash & Rovastar - The Devil Is In The Details.milk b/presets/presets_tryptonaut/Krash & Rovastar - The Devil Is In The Details.milk new file mode 100755 index 0000000000..e0010e380c --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Rovastar - The Devil Is In The Details.milk @@ -0,0 +1,101 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.993998 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=vol = 0.167*(bass+mid); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_19=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_20=ib_r = 0.3+xpos; +per_frame_21=ib_b = 0.06*bass; +per_frame_22=ib_g = 0.25+ypos; +per_frame_23=q3 = 10+8*(0.6*sin(0.423*time) + 0.4*sin(0.253*time)); +per_frame_24=q4 = 1/q3; +per_frame_25=q5 = 0.5*sign(xpos); +per_frame_26=q6 = 0.5*sign(ypos); +per_frame_27=monitor = rot; +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); diff --git a/presets/presets_tryptonaut/Krash & TEcHNO - Rhythmic Mantas.milk b/presets/presets_tryptonaut/Krash & TEcHNO - Rhythmic Mantas.milk new file mode 100755 index 0000000000..9b775d4b58 --- /dev/null +++ b/presets/presets_tryptonaut/Krash & TEcHNO - Rhythmic Mantas.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.995000 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003100 +fWaveScale=1.004873 +fWaveSmoothing=0.000000 +fWaveParam=-1.000000 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=1.010000 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002083 +fZoomExponent=1.001830 +fShader=1.000000 +zoom=0.995048 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.010000 +dy=0.010000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.050000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.000000 +nMotionVectorsY=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=volume = 0.3*(bass+mid+att); +per_frame_2=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_3=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_5=peakbass_att = max(bass_att,peakbass_att); +per_frame_6=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=mode = if(beat,rand(4),mode); +per_frame_12=q1 = ((time*20)%50)*0.08; +per_frame_13=q2 = 1 - below(mode,2)*2; +per_frame_14=q3 = 1 - 2*(mode%2); +per_frame_15=wave_x = 1-below(mode,2); +per_frame_16=wave_mystery = (frame%2)*(2*(1-equal(mode%3,0))-1); +per_frame_17=wave_r=if(below(frame%6,3),bass*0.5,0); +per_frame_18=wave_b=0.9+sin(time)*0.1; +per_frame_19=wave_g=if(above(frame%6,2),bass*0.5,0); +per_pixel_1=dx = dx*pow(-1,0&(13+q1 - 5*(q2*y)))*min(bass,1.2); +per_pixel_2=dy = dy*pow(-1,0&(13+q1 - 5*(q3*x)))*min(bass,1.2); diff --git a/presets/presets_tryptonaut/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk b/presets/presets_tryptonaut/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk new file mode 100755 index 0000000000..35ec7507cf --- /dev/null +++ b/presets/presets_tryptonaut/Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.224799 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = wave_mystery + bass*.06; +per_frame_3=wave_r = bass*.4; +per_frame_4=wave_g = treb*.4; +per_frame_5=wave_b = mid*.4; +per_frame_6=q1 = bass*0.03; +per_frame_7=q2 = treb*0.03; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 0.5+xpos; +per_frame_15=q3 = wave_x; +per_frame_16=q4 = 1-wave_y; +per_frame_17=q5 = 0.5+0.3*xpos; +per_pixel_1=newx = x - q3; +per_pixel_2=newy = y - q4; +per_pixel_3=inbox = above(x,q3-0.1-q2)*below(x,q3+0.1+q2)*above(y,q4-0.1-q1)*below(y,q4+0.1+q1); +per_pixel_4=newzoom = if(inbox,1.04,q5); +per_pixel_5=dx = (newx)*newzoom - newx + (1-inbox)*q5; +per_pixel_6=dy = (newy)*newzoom - newy + (1-inbox); diff --git a/presets/presets_tryptonaut/Krash - 3D Shapes Demo 2.milk b/presets/presets_tryptonaut/Krash - 3D Shapes Demo 2.milk new file mode 100755 index 0000000000..2ee5935841 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - 3D Shapes Demo 2.milk @@ -0,0 +1,291 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx =0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz =0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Torus +wave_0_per_point4=x0 = (1+value1)*sin(2*t8*sample); +wave_0_per_point5=y0 = (1+value1)*cos(2*t8*sample); +wave_0_per_point6=x1 = 0.5*sin(32*t8*sample)*y0+y0; +wave_0_per_point7=y1 = 0.5*sin(32*t8*sample)*x0+x0; +wave_0_per_point8=z1= 0.5*cos(32*t8*sample); +wave_0_per_point9= +wave_0_per_point10=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point11=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point12=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point13=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point14=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point15=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point16=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point17=//move resulting shape in 3d space +wave_0_per_point18=x4 = x3; +wave_0_per_point19=y4 = y3; +wave_0_per_point20=z4 = z3+2; +wave_0_per_point21=//draw 3d shape in 2d +wave_0_per_point22=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point23=y=0.5+0.5*(y4/(1+z4*0.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); +wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); +wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); +wave_1_per_point7= +wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point15=//move resulting shape in 3d space +wave_1_per_point16=x4 = x3+t4; +wave_1_per_point17=y4 = y3; +wave_1_per_point18=z4 = z3+t5; +wave_1_per_point19=//draw 3d shape in 2d +wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point22= +wave_1_per_point23=r = g+value1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; diff --git a/presets/presets_tryptonaut/Krash - 3D Shapes Demo.milk b/presets/presets_tryptonaut/Krash - 3D Shapes Demo.milk new file mode 100755 index 0000000000..37ac81c090 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - 3D Shapes Demo.milk @@ -0,0 +1,296 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 =x3 + t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22=//x=(0.5)*sin(8*sample*t8); +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); +wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); +wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); +wave_1_per_point7= +wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point15=//move resulting shape in 3d space +wave_1_per_point16=x4 = x3+t4; +wave_1_per_point17=y4 = y3; +wave_1_per_point18=z4 = z3+t5; +wave_1_per_point19=//draw 3d shape in 2d +wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point22= +wave_1_per_point23=r = g+value1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; diff --git a/presets/presets_tryptonaut/Krash - Aenema tweak 4.milk b/presets/presets_tryptonaut/Krash - Aenema tweak 4.milk new file mode 100755 index 0000000000..e2bec8bc01 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Aenema tweak 4.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=0.996600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=1 +bRedBlueStereo=0 +nMotionVectorsX=1 +nMotionVectorsY=48 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.028395 +fWaveSmoothing=0.750000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.980296 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.999907 +sy=0.932718 +wave_r=0.100000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.010000 +ib_r=0.600000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.200000 +per_frame_1=warp = 0; +per_frame_2=wave_r = abs(wave_r + 0.1*(sin(time*0.346) + sin(time*1.334))); +per_frame_3=wave_g = wave_g + 0.15*(sin(time*0.763) + sin(time*1.231)); +per_frame_4=wave_b = wave_b + 0.2*(sin(time*0.695) + sin(time*0.367)); +per_frame_5=ob_r = wave_r; +per_frame_6=ob_g = wave_b - 0.1; +per_frame_7=ob_b = wave_g - 0.1; +per_frame_8=ib_a = 0.7 - bass; +per_pixel_1=du = x*2-1 - 0.7; +per_pixel_2=dv = y*2-1 + 0.5; +per_pixel_3=dist = tan(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-bass); +per_pixel_7=dy = mult*cos(ang2-bass); +per_pixel_8=du = x*2-1 - 0.7; +per_pixel_9=dv = y*2-1 - 0.5; +per_pixel_10=dist = tan(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+bass); +per_pixel_14=dy = dy + mult*cos(ang2+bass); +per_pixel_15=dy = dy - if(below(y, 0.65), if(above(y, 0.35), 0.1*(y-0.5) + 0.01*sin(x*30+time*4), 0), 0); +per_pixel_16=dx = dx - if(above(dx,-0.01), if(below(dx,0), 0.006, 0), 0); diff --git a/presets/presets_tryptonaut/Krash - Dynamic Borders 1.milk b/presets/presets_tryptonaut/Krash - Dynamic Borders 1.milk new file mode 100755 index 0000000000..987445b769 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Dynamic Borders 1.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.700000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999990 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.380000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.050000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.100000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=ib_r = ib_r + 0.10*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_4=ib_g = ib_g + 0.10*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_5=ib_b = ib_b + 0.10*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_6=temp = 0.12*tan(0.3*(mid+bass)); +per_frame_7=ib_a = if(below(temp,0.4),temp,0.4); +per_frame_8=ob_size = ob_size - 0.01; +per_frame_9=ob_size = ob_size + 0.15*sin(0.5*bass_att); +per_frame_10=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_11=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_12=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); +per_frame_13=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); +per_frame_14=decay = decay - 0.01*equal(frame%5,0); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=dx = dx*1.5; +per_pixel_16=dy = dy*1.5; diff --git a/presets/presets_tryptonaut/Krash - Framed Geometry.milk b/presets/presets_tryptonaut/Krash - Framed Geometry.milk new file mode 100755 index 0000000000..2d9c612fb9 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Framed Geometry.milk @@ -0,0 +1,360 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.369711 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.800000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.010000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.010000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.122860 +mv_dy=0.400769 +mv_l=0.055000 +mv_r=0.068206 +mv_g=0.020766 +mv_b=0.516542 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 4*sin(q1); +wave_0_per_frame14=t5 = 10+8*cos(q1); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.3*cos(time); +wave_0_per_frame17=r = 0.5-0.3*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+5*value1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 4*sin(q1+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(q1+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.3*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.3*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=x0 = sin(2*t8*sample); +wave_1_per_point5=y0 = cos(2*t8*sample); +wave_1_per_point6=x1 = (1+value1)*sin(12*t8*sample)*y0; +wave_1_per_point7=y1 = (1+value1)*sin(12*t8*sample)*x0; +wave_1_per_point8=z1= (1+value1)*cos(12*t8*sample); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point18=//move resulting shape in 3d space +wave_1_per_point19=x4 = x3+t4; +wave_1_per_point20=y4 = y3; +wave_1_per_point21=z4 = z3+t5; +wave_1_per_point22=//draw 3d shape in 2d +wave_1_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point25= +wave_1_per_point26=r = g+5*value1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 4*sin(q1+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(q1+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.3*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.3*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+5*value1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=volume = 0.3*(bass+mid); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=dir = if(equal(abs(dir),1),dir,1); +per_frame_13=dir = if(equal(beatcount,beat),0-dir,dir); +per_frame_14=beatcount = if(above(beatcount,rand(10)+2),1,beatcount+beat); +per_frame_15=movement = movement+(dir/fps)*0.5*3.1415/beatrate; +per_frame_16=q1 = movement; +per_frame_17=monitor = beat; +per_pixel_1=zoom = zoom-0.001+0.06*max(abs(y-0.5)-0.3,0); diff --git a/presets/presets_tryptonaut/Krash - Pulse.milk b/presets/presets_tryptonaut/Krash - Pulse.milk new file mode 100755 index 0000000000..c7241c1a22 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Pulse.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.199999 +fDecay=0.980000 +fVideoEchoZoom=1.216077 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.888676 +fWaveScale=0.911592 +fWaveSmoothing=0.900000 +fWaveParam=-0.600000 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.001828 +fWarpScale=0.998166 +fZoomExponent=0.224776 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.749001 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=27.000000 +nMotionVectorsY=19.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=warp = 0; +per_pixel_1=angval = 0.3/sqrt((3.14*tan(ang*0.001-time*3))+4); +per_pixel_2=zoom = if( above( rad,0.05 ), if( above( rad/7.8, angval ), if( below( (rad-0.05)/7.8, angval), 0.95, 1.1 ), if( above( rad/2.8, angval ), if( below( (rad-0.05)/2.8, angval), 0.95, 1.1 ), if( above( rad/1, angval ), if( below( (rad-0.05)/1, angval), 0.95, 1.1 ), 1.1 ) ) ), 1.1 ); +per_pixel_3=rot = 0.02*zoom-0.05*rad; diff --git a/presets/presets_tryptonaut/Krash - Season's Greetings 2.milk b/presets/presets_tryptonaut/Krash - Season's Greetings 2.milk new file mode 100755 index 0000000000..2a0e57a8fc --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Season's Greetings 2.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.042592 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=-0.500000 +mv_dy=-0.500000 +mv_l=2.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=q1 = (bass_att + mid_att + treb_att) /3; +per_frame_3=q2 = time + 5*(bass + mid + treb); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.95+1.4); +per_frame_5=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.85+1.2); +per_frame_6=bass_on = above(bass_thresh,1.9); +per_frame_7=treb_on = above(treb_thresh,1.9); +per_frame_8=swapcolour = bass_on - treb_on; +per_frame_9=red_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,0)); +per_frame_10=green_aim = if(equal(swapcolour,1),0.4,if(equal(swapcolour,0),0.3,0.2)); +per_frame_11=blue_aim = if(equal(swapcolour,1),0.3,if(equal(swapcolour,0),0.2,0)); +per_frame_12=red = red + (red_aim - red)*0.5; +per_frame_13=green = green + (green_aim - green)*0.5; +per_frame_14=blue = blue + (blue_aim - blue)*0.5; +per_frame_15=vol = 0.167*(bass+mid); +per_frame_16=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_17=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_18=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_19=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_20=xpos = xpos + 0.001*xspeed; +per_frame_21=mv_dx = 0.2*xpos - 0.5; +per_frame_22=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_23=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_24=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_25=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_26=ypos = ypos + 0.001*yspeed; +per_frame_27=mv_dy = 1.5*ypos - 0.5; +per_frame_28=mv_r = 0.75 + 0.25*(0.6*sin(1.346*time) + 0.4*sin(0.832*time)); +per_frame_29=mv_g = 0.25 + 0.25*(0.6*sin(0.912*time) + 0.4*sin(0.327*time)); +per_frame_30=mv_b = 0.5 + 0.25*(0.6*sin(1.247*time) + 0.4*sin(0.721*time)); +per_frame_31=mv_l = -(1.5*ypos + 0.5)*15; +per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(2*vol,0.01) + (1-below(2*vol,0.01))*beatrate); +per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_35=peakbass_att = max(bass_att,peakbass_att); +per_frame_36=beat = above(2*vol,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_37=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_38=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_39=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_40=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_41=wasbeat = if(beat,time+0.2,wasbeat); +per_frame_42=decoration = above(wasbeat,time)*equal(frame%2,0); +per_frame_43=wave_r = if(decoration,1,red); +per_frame_44=wave_g = if(decoration,0.5,green); +per_frame_45=wave_b = if(decoration,0.1,blue); +per_frame_46=wave_y = if(decoration,0.2 + 0.01*rand(50),wave_y); +per_frame_47=wave_x = if(decoration,0.5 + 0.1*(1-wave_y)*sin(50*time),wave_x); +per_frame_48=wave_mode = if(decoration,0,6); +per_frame_49=wave_mystery = if(decoration,-0.48,-1); +per_frame_50=monitor = beat; +per_pixel_1=dx = if(above(x,0.5),if(below(y,0.9),above(rand(20),1)*0.02*pow(y+0.15,2),0.005),dx); +per_pixel_2=dx = if(below(x,0.5),if(below(y,0.9),above(rand(20),1)*-0.02*pow(y+0.15,2),-0.005),dx); +per_pixel_3=dy = -0.02*(abs(x-0.5)); diff --git a/presets/presets_tryptonaut/Krash - Snowflake Halo.milk b/presets/presets_tryptonaut/Krash - Snowflake Halo.milk new file mode 100755 index 0000000000..93cdf292ea --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Snowflake Halo.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=2.500000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.709800 +fModWaveAlphaEnd=1.700000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.959487 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_frame_5=zoom = zoom - if(below(zoom,0.96),0,0.008); +per_frame_6=zoom = zoom + 0.15*bass_att; +per_pixel_1=angval = ang + abs(3.14*sin(time*0.345) + 3.14*sin(time*.234)); +per_pixel_2=rot=(2*abs((sin(time)-0.5))-angval)/1; diff --git a/presets/presets_tryptonaut/Krash - Twisting Indecision.milk b/presets/presets_tryptonaut/Krash - Twisting Indecision.milk new file mode 100755 index 0000000000..7564c1a114 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Twisting Indecision.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.999996 +fWaveSmoothing=0.750000 +fWaveParam=-0.499900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_5=decay = decay - equal(frame%100,0)*0.1; +per_frame_6=vol = 0.167*(bass+mid); +per_frame_7=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_8=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_9=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_10=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_11=xpos = xpos + 0.001*xspeed; +per_frame_12=wave_x = 1.5*xpos + 0.5; +per_frame_13=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_14=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_15=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_16=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_17=ypos = ypos + 0.001*yspeed; +per_frame_18=wave_y = 1.5*ypos + 0.5; +per_frame_19=q1 = xpos; +per_frame_20=q2 = -ypos; +per_pixel_1=cx = (0&(x+q1))-q1; +per_pixel_2=cy = (0&(y+q2))-q2; diff --git a/presets/presets_tryptonaut/Krash - War Machine (Shifting Complexity Mix).milk b/presets/presets_tryptonaut/Krash - War Machine (Shifting Complexity Mix).milk new file mode 100755 index 0000000000..512a54fb6e --- /dev/null +++ b/presets/presets_tryptonaut/Krash - War Machine (Shifting Complexity Mix).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.999996 +fWaveSmoothing=0.750000 +fWaveParam=-0.499900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_5=ob_r = above(bass_att,bass)*(bass_att-bass)*4; +per_frame_6=volume = 0.3*(bass+mid+att); +per_frame_7=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_8=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = max(bass_att,peakbass_att); +per_frame_11=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_16=beatcounter = beatcounter + beat; +per_frame_17=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_18=mode2 = if(beat,(mode2 + rand(7) + 1)%8,mode2); +per_frame_19=mode3 = if(beat,(mode3 + rand(7) + 1)%8,mode3); +per_frame_20=q1 = 2*mode-1; +per_frame_21=q2 = mode2 + 2; +per_frame_22=q3 = 1/q2; +per_frame_23=q4 = mode3 + 2; +per_frame_24=q5 = 1/q4; +per_frame_25=wave_x = (rand(q2)+0.5)*q3; +per_frame_26=wave_y = (rand(q4)+0.5)*q5; +per_frame_27=decay = decay - 0.1*equal(frame%50,0); +per_pixel_1=cx = ((0&(x*q2-0.5))+0.5)*q3; +per_pixel_2=cy = ((0&(y*q4-0.5))+0.5)*q5; +per_pixel_3=rot = rot*pow(-1,(0&(x*q2-0.5)) + (0&(y*q4-0.5)))*q1; diff --git a/presets/presets_tryptonaut/Krash - Windowframe To Mega Swirl 2.milk b/presets/presets_tryptonaut/Krash - Windowframe To Mega Swirl 2.milk new file mode 100755 index 0000000000..1788d46274 --- /dev/null +++ b/presets/presets_tryptonaut/Krash - Windowframe To Mega Swirl 2.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=1.170000 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%6,0); +per_frame_7=left = 0.5 + 0.25*(sin(0.555*time) + sin(1.111*time)); +per_frame_8=right = 0.5 + 0.25*(sin(0.333*time) + sin(1.222*time)); +per_frame_9=centrex = (left+right)/2; +per_frame_10=distx = 0.1 + (abs(centrex-left)+abs(centrex-right))/2; +per_frame_11=q1 = centrex + distx; +per_frame_12=q2 = centrex - distx; +per_frame_13=wave_x = centrex; +per_frame_14=top = 0.5 + 0.25*(sin(0.888*time) + sin(0.999*time)); +per_frame_15=bottom = 0.5 + 0.25*(sin(0.444*time) + sin(1.333*time)); +per_frame_16=centrey = (top+bottom)/2; +per_frame_17=disty = 0.1 + (abs(centrey-top)+abs(centrey-bottom))/2; +per_frame_18=q3 = centrey + disty; +per_frame_19=q4 = centrey - disty; +per_frame_20=wave_y = 1-centrey; +per_pixel_1=rot=rot+0.16*sin(time*-3.3+rad*11)*(1.3-rad); +per_pixel_2=dx = if(above(x,q1), 1,dx); +per_pixel_3=dx = if(below(x,q2), -1,dx); +per_pixel_4=dy = if(above(y,q3), 1,dy); +per_pixel_5=dy = if(below(y,q4), -1,dy); diff --git a/presets/presets_tryptonaut/Krash and Fvese - Molten Indecision (Fvese Remix).milk b/presets/presets_tryptonaut/Krash and Fvese - Molten Indecision (Fvese Remix).milk new file mode 100755 index 0000000000..85c4214cac --- /dev/null +++ b/presets/presets_tryptonaut/Krash and Fvese - Molten Indecision (Fvese Remix).milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=6.000000 +fWaveSmoothing=0.000000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.950000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.800000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.060000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=drip1grav = if(above(drip1y,1.2),0.001*(1+rand(10)),drip1grav) + equal(drip1grav,0)*0.05; +per_frame_5=drip1x = if(above(drip1y,1.2),0.01*rand(100),drip1x); +per_frame_6=drip1y = if(above(drip1y,1.2),0,drip1y); +per_frame_7=drip2grav = if(above(drip2y,1.2),0.001*(1+rand(10)),drip2grav) + equal(drip2grav,0)*0.06; +per_frame_8=drip2x = if(above(drip2y,1.2),0.01*rand(100),drip2x); +per_frame_9=drip2y = if(above(drip2y,1.2),0,drip2y); +per_frame_10=drip3grav = if(above(drip3y,1.2),0.001*(1+rand(10)),drip3grav) + equal(drip3grav,0)*0.07; +per_frame_11=drip3x = if(above(drip3y,1.2),0.01*rand(100),drip3x); +per_frame_12=drip3y = if(above(drip3y,1.2),0,drip3y); +per_frame_13=drip4grav = if(above(drip4y,1.2),0.001*(1+rand(10)),drip4grav) + equal(drip4grav,0)*0.08; +per_frame_14=drip4x = if(above(drip4y,1.2),0.01*rand(100),drip4x); +per_frame_15=drip4y = if(above(drip4y,1.2),0,drip4y); +per_frame_16=drip1y = 0.001 + drip1y + drip1grav; +per_frame_17=drip2y = 0.001 + drip2y + drip2grav; +per_frame_18=drip3y = 0.001 + drip3y + drip3grav; +per_frame_19=drip4y = 0.001 + drip4y + drip4grav; +per_frame_20=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x))); +per_frame_21=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y))); +per_frame_22=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_23=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_24=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_25=vol = (bass+mid+att)/6; +per_frame_26=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_27=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_28=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_29=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_30=xpos = xpos + 0.001*xspeed; +per_frame_31=wave_x = xpos + 0.5; +per_frame_32=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_33=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_34=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_35=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_36=ypos = ypos + 0.001*yspeed; +per_frame_37=wave_y = ypos + 0.5; +per_frame_38=rot = rot + 0.01*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_39=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_40=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_41=dy = dy + 0.002*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_42=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) ); +per_frame_43=warp = warp*vol+treb_att; +per_frame_44=dy = dy + above(bass_att,1.2)*bass_att*0.003; +per_frame_45=ob_a = ob_a - 2*vol; +per_pixel_1=dy = dy + if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001); +per_pixel_2=zoom=zoom+0.07*sin(rad*9*time*2.5); +per_pixel_3=rot=if(below(rad,bass_factor),sin(time*.3+ang*8+rad*7.5)*.063,rot); diff --git a/presets/presets_tryptonaut/Krash and Rovastar - Rainbow Orb.milk b/presets/presets_tryptonaut/Krash and Rovastar - Rainbow Orb.milk new file mode 100755 index 0000000000..7032dc64be --- /dev/null +++ b/presets/presets_tryptonaut/Krash and Rovastar - Rainbow Orb.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.975000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.108925 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=wave_x = 0.5+0.3*sin(bass+treb+mid); +per_frame_5=wave_r = 1 + sin(-wave_x*6.28); +per_frame_6=wave_g = abs(sin(2*wave_x*6.28)); +per_frame_7=wave_b = sin(wave_x*6.28); +per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect*1.065; +per_frame_11=rot = rot + rot_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=shift = (tan(time*7)) -0.05; +per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), rot, sin(1-rad)/2); diff --git a/presets/presets_tryptonaut/LuX - Life's Game 1.milk b/presets/presets_tryptonaut/LuX - Life's Game 1.milk new file mode 100755 index 0000000000..3b9b87d8ca --- /dev/null +++ b/presets/presets_tryptonaut/LuX - Life's Game 1.milk @@ -0,0 +1,714 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=2.723 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.16000 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.100 +wavecode_1_g=1.000 +wavecode_1_b=0.700 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=yq=yp*sinang + zp*cosang; +wave_1_per_point18=zq=yp*cosang - zp*sinang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point24=xp=xq*sinang + yq*cosang; +wave_1_per_point25=yp=xq*cosang - yq*sinang; +wave_1_per_point26=zp=zq; +wave_1_per_point27= +wave_1_per_point28=//forearm movement; +wave_1_per_point29=zp=zp-0.3; +wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point32=xq=xp; +wave_1_per_point33=yq=yp*sinang + zp*cosang; +wave_1_per_point34=zq=yp*cosang - zp*sinang; +wave_1_per_point35= +wave_1_per_point36=//upper arm twist +wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point39=xp=xq*sinang + yq*cosang; +wave_1_per_point40=yp=xq*cosang - yq*sinang; +wave_1_per_point41=zp=zq; +wave_1_per_point42= +wave_1_per_point43=//upper arm outward; +wave_1_per_point44=zp=zp-0.35; +wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point47=xq=xp*sinang + zp*cosang; +wave_1_per_point48=yq=yp; +wave_1_per_point49=zq=xp*cosang - zp*sinang; +wave_1_per_point50= +wave_1_per_point51=//upper arm up down; +wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point54=xp=xq; +wave_1_per_point55=yp=yq*cosang - zq*sinang; +wave_1_per_point56=zp=yq*sinang + zq*cosang; +wave_1_per_point57= +wave_1_per_point58=//xp=xq;yp=yq;zp=zq; +wave_1_per_point59= +wave_1_per_point60= +wave_1_per_point61=//project into screenspace and draw on screen +wave_1_per_point62=zp=zp+2; +wave_1_per_point63=xs=-xp/zp; +wave_1_per_point64=ys=yp/zp; +wave_1_per_point65= +wave_1_per_point66=x=xs+0.5; +wave_1_per_point67=y=ys*1.3+0.5; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point71=a=a*a; +wave_1_per_point72= +wave_1_per_point73=b=b+pow(1-sample,2)*0.3; +wave_1_per_point74= +wave_1_per_point75= +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wave_2_per_point79= +wave_2_per_point80= +wave_2_per_point81= +wave_2_per_point82= +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85= +wave_2_per_point86= +wave_2_per_point87= +wave_2_per_point88= +wave_2_per_point89= +wave_2_per_point90= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.600 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=yq=yp*sinang + zp*cosang; +wave_3_per_point18=zq=yp*cosang - zp*sinang; +wave_3_per_point19=yq=yp; +wave_3_per_point20=zq=zp; +wave_3_per_point21= +wave_3_per_point22=ang=tm*8 + 1; +wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point24=xp=xq*sinang + yq*cosang; +wave_3_per_point25=yp=xq*cosang - yq*sinang; +wave_3_per_point26=zp=zq; +wave_3_per_point27= +wave_3_per_point28=//forearm movement; +wave_3_per_point29=zp=zp-0.3; +wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point32=xq=xp; +wave_3_per_point33=yq=yp*sinang + zp*cosang; +wave_3_per_point34=zq=yp*cosang - zp*sinang; +wave_3_per_point35= +wave_3_per_point36=//upper arm twist +wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point39=xp=xq*sinang + yq*cosang; +wave_3_per_point40=yp=xq*cosang - yq*sinang; +wave_3_per_point41=zp=zq; +wave_3_per_point42= +wave_3_per_point43=//upper arm outward; +wave_3_per_point44=zp=zp-0.35; +wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point47=xq=xp*sinang + zp*cosang; +wave_3_per_point48=yq=yp; +wave_3_per_point49=zq=xp*cosang - zp*sinang; +wave_3_per_point50= +wave_3_per_point51=//upper arm up down; +wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point54=xp=xq; +wave_3_per_point55=yp=yq*cosang - zq*sinang; +wave_3_per_point56=zp=yq*sinang + zq*cosang; +wave_3_per_point57= +wave_3_per_point58=//xp=xq;yp=yq;zp=zq; +wave_3_per_point59= +wave_3_per_point60=//project into screenspace and draw on screen +wave_3_per_point61=zp=zp+2; +wave_3_per_point62=xs=-xp/zp; +wave_3_per_point63=ys=yp/zp; +wave_3_per_point64= +wave_3_per_point65=x=xs+0.5; +wave_3_per_point66=y=ys*1.3+0.5; +wave_3_per_point67= +wave_3_per_point68=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point69= +wave_3_per_point70=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point71= +wave_3_per_point72=r=t4; +wave_3_per_point73=g=t5; +wave_3_per_point74=b=t6; +wave_3_per_point75=//end +wave_3_per_point76= +wave_3_per_point77=//A pox upon he who is Tag. +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.260 +shapecode_0_y=0.810 +shapecode_0_rad=0.89269 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.08286 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.264; +shape_0_per_frame2= +shape_0_per_frame3=r2=r2*q4; +shape_0_per_frame4=g2=g2*q4; +shape_0_per_frame5=b2=b2*q4; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang= q2 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.740 +shapecode_1_y=0.810 +shapecode_1_rad=0.89269 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.08286 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=0.737; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=r2=r2*q4; +shape_1_per_frame5=g2=g2*q4; +shape_1_per_frame6=b2=b2*q4; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=tex_ang= -q2 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.260 +shapecode_2_y=0.180 +shapecode_2_rad=0.89269 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.08286 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.264; +shape_2_per_frame2=y = 0.178; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=r2=r2*q4; +shape_2_per_frame6=g2=g2*q4; +shape_2_per_frame7=b2=b2*q4; +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=tex_ang= -q2 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.740 +shapecode_3_y=0.810 +shapecode_3_rad=0.89269 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.08286 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x=0.737; +shape_3_per_frame2=y = 0.178; +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r2=r2*q4; +shape_3_per_frame6=g2=g2*q4; +shape_3_per_frame7=b2=b2*q4; +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10=tex_ang= q2 +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.96; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x - 0.03; +comp_19=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_20=`ret *= 2.3; +comp_21=` +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_tryptonaut/LuxXx - Ain't Life a Motherfucker iv.milk b/presets/presets_tryptonaut/LuxXx - Ain't Life a Motherfucker iv.milk new file mode 100755 index 0000000000..5cf863482f --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Ain't Life a Motherfucker iv.milk @@ -0,0 +1,458 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=20.160 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.400 +mv_r=1.000 +mv_g=0.400 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.20321 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.22019 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.9; +per_frame_init_5=y2 = 0.14; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.50001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0.4; +per_frame_init_16=vx3 = 0.9; +per_frame_1=zoom = 1; +per_frame_2=warp = .01; +per_frame_3=wave_a = 1; +per_frame_4= +per_frame_5=r = 0.04+ (bass_att+treb_att)*0.01; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur by Geiss +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken (decay) over time +warp_16=` ret = (ret-0.005)*0.98; //or try: ret -= 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(uv2) + 2*GetPixel(uv3); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_27=` +comp_28=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - ChillFlower BlurFace Ib.milk b/presets/presets_tryptonaut/LuxXx - ChillFlower BlurFace Ib.milk new file mode 100755 index 0000000000..cbd0fa51fc --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - ChillFlower BlurFace Ib.milk @@ -0,0 +1,387 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=2.750 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.10000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.030 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.400 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; +per_frame_6=wave_g = wave_r; +per_frame_7=wave_b = wave_r; +per_frame_8=vol = 0.167*(bass+mid); +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=wave_x = 1.25*xpos + 0.5; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=ypos = ypos + 0.001*yspeed; +per_frame_20=wave_y = 1.25*ypos + 0.5; +per_frame_21=dx = dx + dx_residual; +per_frame_22=dy = dy + dy_residual; +per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_26=rot = 0.1; +per_frame_27= +per_frame_28=vol=(bass+mid+treb)*0.25; +per_frame_29=vol=vol*vol; +per_frame_30=mtime=mtime + vol*0.01; +per_frame_31=q8=mtime; +per_frame_32= +per_frame_33= +per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; +per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=ib_r = tan(time); +per_frame_40=ib_r = min(1, max(ib_r,0)); +per_frame_41= +per_frame_42=ib_g = tan(time+2.1); +per_frame_43=ib_g = min(1, max(ib_g,0)); +per_frame_44= +per_frame_45=ib_b = tan(time+4.2); +per_frame_46=ib_b = min(1, max(ib_b,0)); +per_frame_47= +per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); +per_frame_49=q4 = 1/q3; +per_frame_50=q5 = 0.5*sign(xpos); +per_frame_51=q6 = 0.5*sign(ypos); +per_frame_52= +per_frame_53=monitor=q4 +per_frame_54= +per_frame_55= +per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_12=rot=rot*sin(time)*0.2; +per_pixel_13=sx=-1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame 3 times, creating radial blur +warp_4=` float2 v = normalize(uv - 0.5); +warp_5=` //v = v.yx * float2(1,-1); +warp_6=` v *= texsize.zw; +warp_7=` ret = 0.2*( tex2D( sampler_main, uv ).xyz +warp_8=` + tex2D(sampler_main, uv - v*2.5 ).xyz +warp_9=` + tex2D(sampler_main, uv - v*5.5 ).xyz +warp_10=` + tex2D(sampler_main, uv - v*9 ).xyz +warp_11=` + tex2D(sampler_main, uv - v*13 ).xyz +warp_12=` ); +warp_13=` +warp_14=` // darken over time +warp_15=` ret = (ret-0.01)*0.975; //or try: ret -= 0.004; +warp_16=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`ret1 = 0; +comp_12=`int anz = 5; +comp_13=`int n = 0; +comp_14=`while (n <= anz) { +comp_15=` ang2 = 6.28*n/anz; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv2.x = uv.x*c - uv.y*s; +comp_19=` uv2.y = uv.x*s + uv.y*c; +comp_20=` neu = GetPixel (uv2 + 0.4 + .02*q27 ); +comp_21=` blur= GetBlur1 (uv2 + 0.4 + .02*q27 ); +comp_22=` ret1 = max(ret1, neu+blur*2); +comp_23=`n++; +comp_24=`} +comp_25=` +comp_26=` +comp_27=`// I think this bit's from ORB +comp_28=`ret = (ret1-0.0125)*0.7; +comp_29=` float3 retish = 1 - ret*(1-ret)*4; //solarize +comp_30=` ret = float3(retish[0]*0.5,retish[1]*0.5,retish[2]); +comp_31=` ret *= 0.5; +comp_32=` +comp_33=` +comp_34=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - Circling the Drain 1a.milk b/presets/presets_tryptonaut/LuxXx - Circling the Drain 1a.milk new file mode 100755 index 0000000000..7cc612f7da --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Circling the Drain 1a.milk @@ -0,0 +1,323 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.929 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=0.325 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=-0.22000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=//5 frame texture buffer +per_frame_2= +per_frame_3=dx = 0.0; +per_frame_4= +per_frame_5=basstime = basstime + bass*0.13; +per_frame_6=q5 = basstime; +per_frame_7= +per_frame_8=decay_r = 0; +per_frame_9=decay_g = 0; +per_frame_10=decay_b = 0; +per_frame_11= +per_frame_12= +per_frame_13=ob_r = 0.5 + 0.5*sin(basstime*0.22); +per_frame_14=ob_g = 0.5 + 0.5*sin(time*0.307); +per_frame_15=ob_b = 0.5 + 0.5*sin(time*0.112); +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=monitor = q1; +per_pixel_1=zoom = 1.05; +per_pixel_2=rot = 0; +per_pixel_3= +per_pixel_4=dx = 0; +per_pixel_5=dy = 0; +per_pixel_6= +per_pixel_7=warp = 0; +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_tryptonaut/LuxXx - Circling the Drain 1b.milk b/presets/presets_tryptonaut/LuxXx - Circling the Drain 1b.milk new file mode 100755 index 0000000000..7cc612f7da --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Circling the Drain 1b.milk @@ -0,0 +1,323 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.929 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=0.325 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=-0.22000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=//5 frame texture buffer +per_frame_2= +per_frame_3=dx = 0.0; +per_frame_4= +per_frame_5=basstime = basstime + bass*0.13; +per_frame_6=q5 = basstime; +per_frame_7= +per_frame_8=decay_r = 0; +per_frame_9=decay_g = 0; +per_frame_10=decay_b = 0; +per_frame_11= +per_frame_12= +per_frame_13=ob_r = 0.5 + 0.5*sin(basstime*0.22); +per_frame_14=ob_g = 0.5 + 0.5*sin(time*0.307); +per_frame_15=ob_b = 0.5 + 0.5*sin(time*0.112); +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=monitor = q1; +per_pixel_1=zoom = 1.05; +per_pixel_2=rot = 0; +per_pixel_3= +per_pixel_4=dx = 0; +per_pixel_5=dy = 0; +per_pixel_6= +per_pixel_7=warp = 0; +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_tryptonaut/LuxXx - Do Drive and Drug - Copy.milk b/presets/presets_tryptonaut/LuxXx - Do Drive and Drug - Copy.milk new file mode 100755 index 0000000000..25e4867483 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Do Drive and Drug - Copy.milk @@ -0,0 +1,321 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=4 +PSVERSION_WARP=4 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.700 +fDecay=0.500 +fVideoEchoZoom=0.594 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.125 +fWaveScale=0.600 +fWaveSmoothing=0.000 +fWaveParam=0.160 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.03300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40271 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=vol=(bass+mid+treb_att)*.3333; +shape_0_per_frame3= +shape_0_per_frame4=redsine=.5+.15*bass*sin(time*3); +shape_0_per_frame5=greensine=.5+.15*mid*sin(time*2); +shape_0_per_frame6=bluesine=.5+.15*treb*sin(time); +shape_0_per_frame7= +shape_0_per_frame8=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +shape_0_per_frame9=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +shape_0_per_frame10=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +shape_0_per_frame11= +shape_0_per_frame12=r=redif; +shape_0_per_frame13=g=greenif; +shape_0_per_frame14=b=blueif; +shape_0_per_frame15= +shape_0_per_frame16=r2=sin(time*.47); +shape_0_per_frame17=g2=sin(time*.72); +shape_0_per_frame18=b2=sin(time*.33); +shape_0_per_frame19= +shape_0_per_frame20=tex_ang=3.14+3.14*sin(time*.42); +shape_0_per_frame21=ang=3.14+3.14*sin(time*.55); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.100 +shapecode_1_a=0.700 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=rand(10)*.1; +shape_1_per_frame2=y=rand(10)*.1; +shape_1_per_frame3= +shape_1_per_frame4=vol=(bass+mid+treb)*.3333; +shape_1_per_frame5= +shape_1_per_frame6=textured=above(vol,1.4); +shape_1_per_frame7=r=if(above(bass*2,mid+treb),.4,0); +shape_1_per_frame8=g=if(above(mid*2,treb+bass),.6,0); +shape_1_per_frame9=b=if(above(treb*2,bass+mid),.9,0); +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.79140 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55044 +shapecode_2_r=0.100 +shapecode_2_g=0.100 +shapecode_2_b=0.100 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.100 +shapecode_2_b2=0.100 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=additive=above(bass,.55); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_14=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=dx = dx*0.6; +per_frame_18=dy = dy*0.4; +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`} +comp_1=`// tribute to suksma! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2; +comp_6=` +comp_7=` float4 c = float4(1,0.4,0.15,0.1); +comp_8=` +comp_9=` uv2 = uv + float2(1,0)*texsize.zw; +comp_10=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_12=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_13=` +comp_14=` uv2 = uv + float2(0,1)*texsize.zw; +comp_15=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_17=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_18=` +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_20=` +comp_21=` ret = 0.5 + 0.5*g; +comp_22=` ret *= saturate(length(ret.xy-0.5)*5); +comp_23=` ret = ret.xxy; +comp_24=` ret += 1.15; +comp_25=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)*treb_att),pow(hue_shader.xzy,bass_att)); +comp_26=` ret *= ret; +comp_27=` +comp_28=` //ret *= 1.5; //old gamma effect +comp_29=`} diff --git a/presets/presets_tryptonaut/LuxXx - Done For the Night ii.milk b/presets/presets_tryptonaut/LuxXx - Done For the Night ii.milk new file mode 100755 index 0000000000..b62cc37c4e --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Done For the Night ii.milk @@ -0,0 +1,348 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.630 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.503 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.01300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.06322 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 1; +per_frame_3=wave_b = 1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`sampler sampler_shub1; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`//uv = float2(uv.x,uv.y)*aspect.xy; +warp_8=` +warp_9=`int2 k1 = (texsize.xy*uv)%2; +warp_10=` +warp_11=`double3 ist = GetBlur1(uv); +warp_12=` +warp_13=`double3 crisp = tex2D(sampler_main,uv); +warp_14=`crisp = crisp + (.003) -.00*pow(rad,2); +warp_15=` +warp_16=`float3 ret1 = crisp; +warp_17=` +warp_18=`float3 dec = float3(.98,0.98,0.975); +warp_19=` +warp_20=`ret1 = ret1 * (1-.0*ist)*(1-.08*abs(tan(4*ist*1.58))); +warp_21=`ret = ret1; +warp_22=`ret = ret -.01; +warp_23=`} +comp_1=`// tribute to suksma! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2; +comp_6=` +comp_7=` float4 c = float4(1,0.02,0.15,0.001); +comp_8=` +comp_9=` uv2 = uv + float2(1,0)*texsize.zw*cos(texsize.zw+(sin(texsize.zw))); +comp_10=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_12=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_13=` +comp_14=` uv2 = uv + float2(0,1)*texsize.zw; +comp_15=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` uv2 = uv + float2(0,-1)*texsize.zw/float2(0,-1) + float2(0,-.45); +comp_17=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_18=` +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_20=` +comp_21=` ret = 0.5 + 0.5*g; +comp_22=` ret *= saturate(length(ret.xy-0.5)*5); +comp_23=` ret = ret.xxy; +comp_24=` ret += 1.15; +comp_25=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)*treb_att),pow(hue_shader.xzy,bass_att)); +comp_26=` ret *= ret; +comp_27=` +comp_28=` //ret *= 1.5; //old gamma effect +comp_29=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - Done For the Night.milk b/presets/presets_tryptonaut/LuxXx - Done For the Night.milk new file mode 100755 index 0000000000..0899f8d8da --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Done For the Night.milk @@ -0,0 +1,331 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.140 +fDecay=1.000 +fVideoEchoZoom=1.002 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.630 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.503 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.01300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.06322 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 1; +per_frame_2=wave_g = 1; +per_frame_3=wave_b = 1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`sampler sampler_shub1; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`//uv = float2(uv.x,uv.y)*aspect.xy; +warp_8=` +warp_9=`int2 k1 = (texsize.xy*uv)%2; +warp_10=` +warp_11=`double3 ist = GetBlur1(uv); +warp_12=` +warp_13=`double3 crisp = tex2D(sampler_main,uv); +warp_14=`crisp = crisp + (.003) -.00*pow(rad,2); +warp_15=` +warp_16=`float3 ret1 = crisp; +warp_17=` +warp_18=`float3 dec = float3(.98,0.98,0.975); +warp_19=` +warp_20=`ret1 = ret1 * (1-.0*ist)*(1-.08*abs(tan(4*ist*1.58))); +warp_21=`ret = ret1; +warp_22=`ret = ret -.01; +warp_23=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_5=` ret = lerp( tex2D(sampler_main, (uv-0.5)*0.98 + 0.5).xyz, +comp_6=` tex2D(sampler_main, (uv_echo-0.5)*0.98 + 0.5).xyz, +comp_7=` 0.50 +comp_8=` ) + GetBlur3(uv) + GetBlur3(uv_echo) +comp_9=` + GetBlur1(uv) + GetBlur1(uv_echo); //video echo; //video echo +comp_10=` ret *= 10.00; //gamma +comp_11=` //ret = ret*(1 - ret)*10; //brighten +comp_12=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - Fractal Overlord Overclock ii.milk b/presets/presets_tryptonaut/LuxXx - Fractal Overlord Overclock ii.milk new file mode 100755 index 0000000000..b476b36d6d --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Fractal Overlord Overclock ii.milk @@ -0,0 +1,349 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=2.911 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.110 +fModWaveAlphaEnd=1.230 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=8 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.0009; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006;//-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=`ret.x = ret.y; +warp_19=`ret.z = ret.y; +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` d = 0.01; +warp_24=` my_uv = float2(-dy,dx)*0.05; +warp_25=` +warp_26=`// dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_27=`// dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_28=` // my_uv += uv - float2(dx,dy)*0.005; +warp_29=` +warp_30=` +warp_31=` +warp_32=` v = 0.01; +warp_33=`// ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_34=` +warp_35=` +warp_36=` // ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_37=` //ret.z *= 0.95; +warp_38=`// ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_39=` +warp_40=`// ret.x = tex2D( sampler_main, uv).x * 0.003; +warp_41=` +warp_42=`} +comp_1=`// tribute to suksma! +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2; +comp_6=` +comp_7=` float4 c = float4(1,0.4,0.15,0.1); +comp_8=` +comp_9=` uv2 = uv + float2(1,0)*texsize.zw; +comp_10=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_12=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_13=` +comp_14=` uv2 = uv + float2(0,1)*texsize.zw; +comp_15=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_17=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_18=` +comp_19=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_20=` +comp_21=` ret = 0.5 + 0.5*g; +comp_22=` ret *= saturate(length(ret.xy-0.5)*5); +comp_23=` ret = ret.xxy; +comp_24=` ret += 1.15; +comp_25=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)*treb_att),pow(hue_shader.xzy,bass_att)); +comp_26=` ret *= ret; +comp_27=` +comp_28=` //ret *= 1.5; //old gamma effect +comp_29=`} diff --git a/presets/presets_tryptonaut/LuxXx - God is in the Radio v..6.milk b/presets/presets_tryptonaut/LuxXx - God is in the Radio v..6.milk new file mode 100755 index 0000000000..a694a1ee7c --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - God is in the Radio v..6.milk @@ -0,0 +1,298 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=1.484 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.303 +fWaveScale=2.911 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=1.110 +fModWaveAlphaEnd=1.230 +fWarpAnimSpeed=5.278 +fWarpScale=0.010 +fZoomExponent=2.00673 +fShader=0.000 +zoom=1.12682 +rot=-0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.800 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=count = if(below(count,9),count+1,0); +per_frame_2= +per_frame_3=q1 = .5; +per_frame_4=q2 = .5; +per_frame_5=q3 = count; +per_frame_6=q4 = aspectx; +per_frame_7=q5 = aspecty; +per_frame_8=//zoom = .99 + 0.1*bass_att+0.05*bass; +per_pixel_1=timer_a=10*sin(time); +per_pixel_2=timer_b=10*sin(time*.5); +per_pixel_3=ripple_x=cos(x*timer_a-timer_b)*bass_att; +per_pixel_4=ripple_y=cos(y*timer_a-timer_b)*treb_att; +per_pixel_5=ripple_r=cos(rad*timer_b-timer_a)*mid_att; +per_pixel_6=ripple=ripple_x+ripple_y+ripple_r; +per_pixel_7=zoom=zoom+ripple*.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = uv; +comp_4=`float2 d = texsize.zw*3; +comp_5=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +comp_6=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +comp_7=`uv1 = uv+float2(dx.x,dy.x)*texsize.zw*32; +comp_8=` ret = GetPixel(uv1).x*float3(1,2,0)*0.5; +comp_9=` +comp_10=`ret.x += (+dx.x - dy.x)*0.4; +comp_11=`ret = pow(ret.x,0.8)*float3(.2,0.15,0); +comp_12=`ret = lerp(ret,float3(1,1,1),GetBlur2(uv - float2(dx.x,dy.x)*texsize.zw*128).z*0.6); +comp_13=` +comp_14=`ret = lerp(ret,float3(5,1.1,1.2),GetPixel(uv1).z); +comp_15=` +comp_16=`ret = lerp(ret,float3(0.2,0,0.1),GetBlur1(uv - float2(dx.y,dy.y)*texsize.zw*16 - float2(dx.x,dy.x)*texsize.zw*32 ).y*6); +comp_17=`//ret = GetPixel(uv); +comp_18=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - GrindFace 225 mg dose .milk b/presets/presets_tryptonaut/LuxXx - GrindFace 225 mg dose .milk new file mode 100755 index 0000000000..81115f5206 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - GrindFace 225 mg dose .milk @@ -0,0 +1,385 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.691 +fWarpScale=2.280 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=67.16532 +sx=1.10462 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=//krash's beat detection code +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_12=beatcounter = beatcounter + beat; +per_frame_13=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_14=flip = 2*mode-1; +per_frame_15=monitor=flip; +per_frame_16=q8=flip; +per_frame_17= +per_frame_18= +per_frame_19=decay=1; +per_frame_20=//zoom=1.002; +per_frame_21= +per_frame_22=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_23=vol=vol*vol; +per_frame_24=mtime=mtime+vol*0.05*flip; +per_frame_25= +per_frame_26=q1=mtime*0.4; +per_frame_27= +per_frame_28= +per_frame_29=musictime=musictime+(mid*mid*mid*mid)*0.01*flip; +per_frame_30= +per_frame_31=xpos=sin(musictime*0.6)*0.3; +per_frame_32=ypos=sin(musictime*0.4)*0.3; +per_frame_33=q4=xpos; +per_frame_34=q5=ypos; +per_frame_35= +per_frame_36=warp=0.0 +per_pixel_1=cx=0.5+q4; +per_pixel_2=cy=0.5-q5; +per_pixel_3=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_4=zm=(1-(rd/5)); +per_pixel_5=sx=zm; +per_pixel_6=sy=zm; +per_pixel_7=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3); +per_pixel_8= +per_pixel_9= +per_pixel_10= +per_pixel_11=tm=time+(sin(time)*rad); +per_pixel_12=var=tan(tm+time)*treb; +per_pixel_13= +per_pixel_14=zoom=.91+(rd/100)+0.1; +per_pixel_15=//rot=((rad/100)+(var/400))*sin(time); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur2(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= .65; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/LuxXx - Growing Alien Organs i.milk b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs i.milk new file mode 100755 index 0000000000..2abd2ac5e9 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs i.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100 +fWaveScale=2.781 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.16000 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_25=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - Growing Alien Organs ii.milk b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs ii.milk new file mode 100755 index 0000000000..68e1e01f5e --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs ii.milk @@ -0,0 +1,344 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.07410 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = rand(20); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; +per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; +per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; +per_frame_5=rot = .4*sin(mid_att*.05); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_25=`} diff --git a/presets/presets_tryptonaut/LuxXx - Growing Alien Organs iii (pizen).milk b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs iii (pizen).milk new file mode 100755 index 0000000000..48c3d17063 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Growing Alien Organs iii (pizen).milk @@ -0,0 +1,431 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=2.000 +fGammaAdj=1.210 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.100 +fWaveScale=2.781 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; +per_frame_init_5=y2 = 0.4; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.0001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0; +per_frame_init_16=vx3 = 0; +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=r = 0.04+ (bass_att+treb_att)*0.01; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*2; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*64; +comp_9=` float2 uv_dy = uv - float2(dy.z,-dx.z)*texsize.zw*32; +comp_10=` +comp_11=`ret = GetPixel(uv).y*0.2; +comp_12=`ret = lerp(float3(0.2,0.2,0),float3(0.6,0.6,0),GetBlur3(uv_dz).y*8); +comp_13=`ret = lerp(ret,float3(1,1,1),GetBlur1(uv_dz).y*6); +comp_14=`ret = lerp(ret,float3(0,0,0),GetPixel(uv_dz).y*2); +comp_15=` +comp_16=`ret = lerp(ret,float3(0,1,0),GetBlur2(uv).z*1.2); +comp_17=`//ret = lerp(ret,float3(-.02,-4,2),GetPixel(uv).z); +comp_18=` +comp_19=`ret = lerp(ret,float3(1.4,0,0),GetBlur1(uv_dy).x*2); +comp_20=`ret = lerp(ret,0,GetPixel(uv_dy).x*2); +comp_21=` +comp_22=`} +comp_23=` \ No newline at end of file diff --git a/presets/presets_tryptonaut/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk b/presets/presets_tryptonaut/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk new file mode 100755 index 0000000000..3694fa466d --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Makes Me Cry (five) (Makes Me Cry, So Lick My Tears, And Get Real High).milk @@ -0,0 +1,735 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=2.15152 +fShader=0.000 +zoom=1.10370 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=7.680 +nMotionVectorsY=1.440 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=spintime =2.2; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 12 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.0005 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_4=` +warp_5=`ret = GetPixel(uv) - 0.08; +warp_6=`float2 uv1 = uv; +warp_7=`float2 d = texsize.zw*4; +warp_8=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +warp_9=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +warp_10=`d *= float2(dx.x,dy.x)*0.4; +warp_11=`uv1+=d; +warp_12=`//uv1 = frac(uv1); +warp_13=`ret.x = tex2d(sampler_fc_main, uv1).x; +warp_14=`ret.x -=(GetBlur1(uv1).x-ret.x)*0.05 + 0.004; +warp_15=` +warp_16=`ret.z = max(length(float2(dx.x,dy.x))*1.4,GetPixel(lerp(uv_orig,uv,-1) - float2(dx.z,dy.z)*texsize.zw*4).z) - 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=` +comp_7=`float2 uv_x = uv - float2(dx.z,dy.z)*0 + float2(dx.y,dy.y)*0.1; +comp_8=`ret = GetBlur2(uv_x).x*saturate(1-GetPixel(uv).z)*pow(hue_shader.yxz,8)*3; +comp_9=`ret = lerp(ret,pow(hue_shader.yzx,8)*1.4,GetPixel(uv_x).x*0.8 + GetBlur1(uv_x).x); +comp_10=`ret *= saturate(1 - GetBlur1(uv).y*4); +comp_11=`ret = lerp(ret,1,pow(hue_shader,8)*GetPixel(saturate(uv - float2(dx.y,dy.y)*0.04)).z*1.2); +comp_12=`ret = lerp(ret,pow(hue_shader,8).zxy*1.8,GetPixel(uv).y); +comp_13=`} diff --git a/presets/presets_tryptonaut/LuxXx - Melt Ur Face i b.milk b/presets/presets_tryptonaut/LuxXx - Melt Ur Face i b.milk new file mode 100755 index 0000000000..e3a29079e1 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Melt Ur Face i b.milk @@ -0,0 +1,316 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.125 +fWaveScale=0.600 +fWaveSmoothing=0.000 +fWaveParam=0.160 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40271 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=vol=(bass+mid+treb_att)*.3333; +shape_0_per_frame3= +shape_0_per_frame4=redsine=.5+.15*bass*sin(time*3); +shape_0_per_frame5=greensine=.5+.15*mid*sin(time*2); +shape_0_per_frame6=bluesine=.5+.15*treb*sin(time); +shape_0_per_frame7= +shape_0_per_frame8=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +shape_0_per_frame9=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +shape_0_per_frame10=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +shape_0_per_frame11= +shape_0_per_frame12=r=redif; +shape_0_per_frame13=g=greenif; +shape_0_per_frame14=b=blueif; +shape_0_per_frame15= +shape_0_per_frame16=r2=sin(time*.47); +shape_0_per_frame17=g2=sin(time*.72); +shape_0_per_frame18=b2=sin(time*.33); +shape_0_per_frame19= +shape_0_per_frame20=tex_ang=3.14+3.14*sin(time*.42); +shape_0_per_frame21=ang=3.14+3.14*sin(time*.55); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.100 +shapecode_1_a=0.700 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=rand(10)*.1; +shape_1_per_frame2=y=rand(10)*.1; +shape_1_per_frame3= +shape_1_per_frame4=vol=(bass+mid+treb)*.3333; +shape_1_per_frame5= +shape_1_per_frame6=textured=above(vol,1.4); +shape_1_per_frame7=r=if(above(bass*2,mid+treb),.4,0); +shape_1_per_frame8=g=if(above(mid*2,treb+bass),.6,0); +shape_1_per_frame9=b=if(above(treb*2,bass+mid),.9,0); +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.79140 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55044 +shapecode_2_r=0.100 +shapecode_2_g=0.100 +shapecode_2_b=0.100 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.100 +shapecode_2_b2=0.100 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=additive=above(bass,.55); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1= +per_frame_2=//zoom = 0.99; +per_frame_3=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_4=ib_g = sin(time*4)*0.3+0.3; +per_frame_5=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_6=wave_r = 1- ib_r; +per_frame_7=wave_g = 1- ib_g; +per_frame_8=wave_b = 1- ib_b; +per_frame_9=//wave_mystery = -1+bass/2; +per_frame_10=wave_x = 0.5+sin(time*3)*0.3; +per_frame_11=wave_y = 0.5+cos(time*2.187)*0.3; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=` +warp_13=` +warp_14=` ret = tex2D( sampler_main, ((uv-0.5)*(0.97 + rad*0.02)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_15=` ret = ret-0.001;// - 0.08; //or try: ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3 + +comp_5=` GetBlur2(uv)*0 + +comp_6=` GetBlur3(uv)*0 + +comp_7=` 0; +comp_8=` ret += GetBlur2( (uv-0.5)*0.333 + 0.5); +comp_9=` ret *= 1; +comp_10=`} diff --git a/presets/presets_tryptonaut/LuxXx - Melt Ur Face i.milk b/presets/presets_tryptonaut/LuxXx - Melt Ur Face i.milk new file mode 100755 index 0000000000..e3a29079e1 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Melt Ur Face i.milk @@ -0,0 +1,316 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.125 +fWaveScale=0.600 +fWaveSmoothing=0.000 +fWaveParam=0.160 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=0.15840 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.800 +wave_g=0.800 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40271 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=vol=(bass+mid+treb_att)*.3333; +shape_0_per_frame3= +shape_0_per_frame4=redsine=.5+.15*bass*sin(time*3); +shape_0_per_frame5=greensine=.5+.15*mid*sin(time*2); +shape_0_per_frame6=bluesine=.5+.15*treb*sin(time); +shape_0_per_frame7= +shape_0_per_frame8=redif=if(above(bass,1.2),redsine,if(above(redif,.95),0,redif*.85)); +shape_0_per_frame9=greenif=if(above(mid,1.2),greensine,if(above(greenif,.95),0,greenif*.85)); +shape_0_per_frame10=blueif=if(above(treb,1.2),bluesine,if(above(blueif,.95),0,blueif*.85)); +shape_0_per_frame11= +shape_0_per_frame12=r=redif; +shape_0_per_frame13=g=greenif; +shape_0_per_frame14=b=blueif; +shape_0_per_frame15= +shape_0_per_frame16=r2=sin(time*.47); +shape_0_per_frame17=g2=sin(time*.72); +shape_0_per_frame18=b2=sin(time*.33); +shape_0_per_frame19= +shape_0_per_frame20=tex_ang=3.14+3.14*sin(time*.42); +shape_0_per_frame21=ang=3.14+3.14*sin(time*.55); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.100 +shapecode_1_a=0.700 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=rand(10)*.1; +shape_1_per_frame2=y=rand(10)*.1; +shape_1_per_frame3= +shape_1_per_frame4=vol=(bass+mid+treb)*.3333; +shape_1_per_frame5= +shape_1_per_frame6=textured=above(vol,1.4); +shape_1_per_frame7=r=if(above(bass*2,mid+treb),.4,0); +shape_1_per_frame8=g=if(above(mid*2,treb+bass),.6,0); +shape_1_per_frame9=b=if(above(treb*2,bass+mid),.9,0); +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.79140 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55044 +shapecode_2_r=0.100 +shapecode_2_g=0.100 +shapecode_2_b=0.100 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.100 +shapecode_2_b2=0.100 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=additive=above(bass,.55); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1= +per_frame_2=//zoom = 0.99; +per_frame_3=ib_r = sin(time*1.25*4)*0.3+0.7; +per_frame_4=ib_g = sin(time*4)*0.3+0.3; +per_frame_5=ib_b = sin(time/3*4)*0.5+0.5; +per_frame_6=wave_r = 1- ib_r; +per_frame_7=wave_g = 1- ib_g; +per_frame_8=wave_b = 1- ib_b; +per_frame_9=//wave_mystery = -1+bass/2; +per_frame_10=wave_x = 0.5+sin(time*3)*0.3; +per_frame_11=wave_y = 0.5+cos(time*2.187)*0.3; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24= +per_pixel_25=dx = x1+x2+x3; +per_pixel_26=dy = y1+y2+y3; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=` +warp_13=` +warp_14=` ret = tex2D( sampler_main, ((uv-0.5)*(0.97 + rad*0.02)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_15=` ret = ret-0.001;// - 0.08; //or try: ret -= 0.004; +warp_16=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*1 + +comp_4=` GetBlur1(uv)*3 + +comp_5=` GetBlur2(uv)*0 + +comp_6=` GetBlur3(uv)*0 + +comp_7=` 0; +comp_8=` ret += GetBlur2( (uv-0.5)*0.333 + 0.5); +comp_9=` ret *= 1; +comp_10=`} diff --git a/presets/presets_tryptonaut/LuxXx - Melt Ur Maker I.milk b/presets/presets_tryptonaut/LuxXx - Melt Ur Maker I.milk new file mode 100755 index 0000000000..81d9eca152 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Melt Ur Maker I.milk @@ -0,0 +1,355 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=0.362 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.222 +fWaveScale=0.685 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=2.21668 +fShader=1.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.500 +ob_g=0.500 +ob_b=0.500 +ob_a=0.000 +ib_size=0.025 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.06283 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.080 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.080 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.79142 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.06283 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=0.080 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.080 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.91974 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.03030 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.13887 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.050 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.050 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_1=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=wave_r = .8*abs(cos( .07*time+.532 + sin( .125*time+.789) )); +per_frame_23=wave_g = .8*abs(cos( .092*time+2.1 + sin( .045*time+1.52) )); +per_frame_24=wave_b = .8*abs(cos( .1*time+1.452 + sin( .112*time+2.98) )); +per_frame_25=q1=beat; +per_frame_26=ib_a=beat; +per_frame_27=ib_r=1-wave_r;ib_g=1-wave_g;ib_b=1-wave_b; +per_frame_28=wave_mystery = 1-1.5*min(((frame-lastBeat)/interval),1); +per_frame_29=wave_a=if(above((frame-lastBeat)/interval,1),0,1); +per_frame_30=phase=if(equal(frame%interval,0),phase+1,phase); +per_frame_31=phase=if(equal(phase%18,17),0,phase); +per_frame_32=midphase=min((frame-lastBeat)/interval,1); +per_frame_33=sx=if(equal(phase,15)*equal(frame%interval,0),-1,sx); +per_frame_34=sy=if(equal(phase,26)*equal(frame%interval,0),-1,sy); +per_frame_35=phase = if(equal(frame%interval,0)*below(cos(time/6), -.5), (phase+rand(13))%14+1,phase); +per_frame_36=q2=phase; +per_frame_37=q3=midphase; +per_frame_38= +per_pixel_1=zoom =1+.01*sin(13.28*rad); +per_pixel_2=//zoom right +per_pixel_3=zoom=zoom+equal(q2,1)*q3*.1*(x-.5); +per_pixel_4=// zoom left +per_pixel_5=zoom=zoom+equal(q2,2)*q3*.1*(.5-x); +per_pixel_6=// zoom top +per_pixel_7=zoom=zoom+equal(q2,5)*q3*.1*(.5-y); +per_pixel_8=// zoom bottom +per_pixel_9=zoom=zoom+equal(q2,4)*q3*.1*(y-.5); +per_pixel_10=// rotate left +per_pixel_11=rot=rot+equal(q2,3)*q3*.3; +per_pixel_12=// rotate right +per_pixel_13=rot=rot-equal(q2,6)*q3*.3; +per_pixel_14=// scale x +per_pixel_15=sx=sx+equal(q2,7)*q3*.2; +per_pixel_16=// squash y +per_pixel_17=sy=sy-equal(q2,8)*q3*.2; +per_pixel_18=// squash x +per_pixel_19=sx=sx-equal(q2,9)*q3*.2; +per_pixel_20=// scale y; +per_pixel_21=sy=sy+equal(q2,10)*q3*.2; +per_pixel_22=// transpose+ vertical +per_pixel_23=dy=dy+equal(q2,11)*abs(.5-x)*sign(.5-x)*q3*.2; +per_pixel_24=// transpose+ horiz +per_pixel_25=dx=dx+equal(q2,12)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_26=// transpose- horiz +per_pixel_27=dx=dx-equal(q2,14)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_28=// transpose- vertical +per_pixel_29=dy=dy-equal(q2,13)*abs(.5-x)*sign(.5-x)*q3*.2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`float2 d, uv_y; +comp_2=`float3 dx, dy; +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=` d = texsize.zw*8; +comp_7=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=` +comp_10=`float3 base = GetPixel(uv); +comp_11=`float3 emboss = (-dx + dy + 1)*1.2; +comp_12=` +comp_13=` d = texsize.zw*2; +comp_14=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_15=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_16=` +comp_17=`float grad = length(float2(dx.x,dy.x)); +comp_18=` +comp_19=`ret = lerp( float3(0.5,0.4,0.6)*base.x*emboss.x, +comp_20=` float3(8,5,2)*grad, +comp_21=` grad*4.2 +comp_22=` ); +comp_23=`ret = lerp(ret,4*ret,GetPixel(uv).y*0.5-GetBlur1(uv).z*0.3*float3(0.3,1,1)); +comp_24=` +comp_25=`grad = length(float2(dx.z,dy.z)); +comp_26=`ret = lerp(ret, float3(2,2,0), grad*0.7); +comp_27=`} +comp_28=` diff --git a/presets/presets_tryptonaut/LuxXx - RapePlay v3 (the war within all of us).milk b/presets/presets_tryptonaut/LuxXx - RapePlay v3 (the war within all of us).milk new file mode 100755 index 0000000000..050b19d40a --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - RapePlay v3 (the war within all of us).milk @@ -0,0 +1,373 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=28.599 +fWaveSmoothing=0.500 +fWaveParam=-1.000 +fModWaveAlphaStart=0.400 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.200 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=20.35074 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r=r+0.5*sin(treb*1.13); +wave_0_per_frame2=g=g+0.5*sin(bass*1.33); +wave_0_per_frame3=b=b+0.5*sin(mid*1.23); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40031 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.500 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.500 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.500 +shapecode_0_border_a=0.000 +shape_0_per_frame1=sounds=(bass+treb+mid)/3; +shape_0_per_frame2= +shape_0_per_frame3=rad=rad*sounds*0.6; +shape_0_per_frame4= +shape_0_per_frame5=r=r+sin(bass)*g; +shape_0_per_frame6=g=g+sin(mid)*g; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=x=x+0.207*cos(time*bass*0.1); +shape_0_per_frame10=y=y+0.207*sin(time*bass*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.13465 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.300 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=g2=g2+0.09*sin((treb+mid)*1.23); +shape_1_per_frame3=g=g+0.09*cos((bass+mid)*1.37); +shape_1_per_frame4= +shape_1_per_frame5=sounds=(bass+mid+treb)/3; +shape_1_per_frame6= +shape_1_per_frame7=rad=rad*(treb+mid)/3; +shape_1_per_frame8= +shape_1_per_frame9=x=x+0.300*sin(time*bass); +shape_1_per_frame10=y=y+0.317*cos(time*bass); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20047 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.500 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shape_2_per_frame1=sounds=(bass+treb+mid)/3; +shape_2_per_frame2=att=(bass_att+treb_att+mid_att)/3; +shape_2_per_frame3=att=(bass_att+treb_att+mid_att)/3; +shape_2_per_frame4=r2=r2+(0.25*sin(time*6.28))-bass; +shape_2_per_frame5=g2=g2+(0.25*sin(time*6.28))-bass; +shape_2_per_frame6= +shape_2_per_frame7=rad=rad; +shape_2_per_frame8=x=x+0.217*cos(time*2.3)+sounds*0.1; +shape_2_per_frame9=y=y+0.217*sin((time*3.5)+(sounds*0.3)); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%5; +per_frame_10=monitor = index2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18= +per_frame_19=sb = sb*dec_med + q21*(1-dec_med); +per_frame_20=q29 = sb; +per_frame_21= +per_frame_22=k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23=p1 = (index2-2); +per_frame_24= +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_27=q5 = cos(p3*3.14/2); +per_frame_28= +per_frame_29=rott = rott + .003*30/fps*p3; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36=movx = movx + .002*30/fps; +per_frame_37=q28 = movx; +per_frame_38= +per_frame_39=q15 = (1+sin(time/23))*.15; +per_frame_40=q29 = 4*(.5+sin(time/17)); +per_frame_41=q30 = 5/(1.2+sin(time/50)); +per_frame_42=q31 = sin(time/38)/3; +per_frame_43=q32 = 2+sin(time/18); +per_frame_44= +per_frame_45=warp = .06; +per_frame_46=zoom = .998; +per_frame_47= +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`float3 ret1, neu, crisp, blur; +comp_2=`float2 uv2, uv3; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 3; +comp_16=`float n = 0; +comp_17=`float t_rel = q29; +comp_18=`while (n <= anz) { +comp_19=` ang2 = 6.28*n/anz+q30; +comp_20=` c = cos(ang2); +comp_21=` s = sin(ang2); +comp_22=` uv2.x = uv.x*c - uv.y*s; +comp_23=` uv2.y = uv.x*s + uv.y*c; +comp_24=` uv2*= aspect.yx; +comp_25=` +comp_26=` dist = 1-frac(n/anz+t_rel); //evtl sqrt ! +comp_27=` +comp_28=` inten = 4*dist*(1-dist*dist); +comp_29=` uv3 = 3*uv2*dist + 0.5+.0*float2(q5,q6); +comp_30=` crisp = GetPixel(uv3); +comp_31=` blur = GetBlur1(frac(uv3)) * float3 (.8,.9,1); +comp_32=` ret1 = max(ret1,(crisp+blur)*inten); +comp_33=`n++; +comp_34=`} +comp_35=` +comp_36=` +comp_37=`float3 ret1 = ret1 ; +comp_38=`//ret1 = GetPixel(.5+uv_orig*aspect.yx*1.2); +comp_39=` +comp_40=` +comp_41=`ret = ret1-.1; +comp_42=` +comp_43=`} diff --git a/presets/presets_tryptonaut/LuxXx - StickVerse II.milk b/presets/presets_tryptonaut/LuxXx - StickVerse II.milk new file mode 100755 index 0000000000..36350f4e5e --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - StickVerse II.milk @@ -0,0 +1,752 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.691 +fWarpScale=2.280 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=67.16532 +sx=1.10462 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=43.200 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=//krash's beat detection code +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_12=beatcounter = beatcounter + beat; +per_frame_13=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_14=flip = 2*mode-1; +per_frame_15=monitor=flip; +per_frame_16=q8=flip; +per_frame_17= +per_frame_18= +per_frame_19=decay=1; +per_frame_20=//zoom=1.002; +per_frame_21= +per_frame_22=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_23=vol=vol*vol; +per_frame_24=mtime=mtime+vol*0.05*flip; +per_frame_25= +per_frame_26=q1=mtime*0.4; +per_frame_27= +per_frame_28= +per_frame_29=musictime=musictime+(mid*mid*mid*mid)*0.01*flip; +per_frame_30= +per_frame_31=xpos=sin(musictime*0.6)*0.3; +per_frame_32=ypos=sin(musictime*0.4)*0.3; +per_frame_33=q4=xpos; +per_frame_34=q5=ypos; +per_frame_35= +per_frame_36=warp=0.0 +per_pixel_1=cx=0.5+q4; +per_pixel_2=cy=0.5-q5; +per_pixel_3=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_4=zm=(1-(rd/5)); +per_pixel_5=sx=zm; +per_pixel_6=sy=zm; +per_pixel_7=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3); +per_pixel_8= +per_pixel_9= +per_pixel_10= +per_pixel_11=tm=time+(sin(time)*rad); +per_pixel_12=var=tan(tm+time)*treb; +per_pixel_13= +per_pixel_14=zoom=.91+(rd/100)+0.1; +per_pixel_15=//rot=((rad/100)+(var/400))*sin(time); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/LuxXx - Stickflower II.milk b/presets/presets_tryptonaut/LuxXx - Stickflower II.milk new file mode 100755 index 0000000000..3e6592f3d2 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Stickflower II.milk @@ -0,0 +1,738 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=0.500 +fVideoEchoZoom=0.594 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.23219 +fShader=0.000 +zoom=1.08017 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01678 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=43.200 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_frame_10=q2 = oldq2 + 0.05*(pow(1+1.2*treb+0.4*treb_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11= +per_frame_12=//q2 = oldq2 +q1; +per_frame_13=oldq2 = q2 ; +per_frame_14=monitor = q2; +per_pixel_1=zoom = zoom + rad*0.1*q1; +per_pixel_2= +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = lerp(uv_orig, uv, 0.2); +warp_4=` +warp_5=` // diffused version: +warp_6=` float ss = 0.3; +warp_7=` float3 blur = 0.25*( +warp_8=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz + +warp_9=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz + +warp_10=` tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz + +warp_11=` tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz +warp_12=` ); +warp_13=` +warp_14=` // diffusion: +warp_15=` ret = tex2D(sampler_main,uv2);//blur; +warp_16=` +warp_17=` float F2 = 0.035; +warp_18=` float k2 = 0.060; +warp_19=` float s = 0.025; +warp_20=` float scale = 9; +warp_21=` +warp_22=` // reaction: +warp_23=` float3 z = ret; +warp_24=` float uvv = ret.x*ret.y*ret.y; +warp_25=` z.x += (-uvv + F2*(1-ret.x) + 0.0007)*scale; +warp_26=` z.y += (uvv - (F2+k2)*ret.y)*scale; +warp_27=` //z.x += s*(16-ret.x*ret.y); +warp_28=` //z.y += s*(ret.x*ret.y - ret.y - ret.z); +warp_29=` z.z -= 0.02; +warp_30=` +warp_31=` // apply laplacian: +warp_32=` z.x += (blur - GetPixel(uv2))*0.2*scale; +warp_33=` +warp_34=` ret = z; +warp_35=` //ret *= 0.98 + 0.02*saturate( (0.75 - rad )*10 ); +warp_36=` //ret *= 0.99; +warp_37=` +warp_38=` // add noise: +warp_39=` ret.x += 0.09*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1); +warp_40=` +warp_41=` // darken (decay) over time +warp_42=` //ret = (ret - 0.002)*0.99; +warp_43=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_25=`} diff --git a/presets/presets_tryptonaut/LuxXx - Subtle HipHopFlake.milk b/presets/presets_tryptonaut/LuxXx - Subtle HipHopFlake.milk new file mode 100755 index 0000000000..a3d91ccc15 --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - Subtle HipHopFlake.milk @@ -0,0 +1,367 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=20.160 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.400 +mv_r=1.000 +mv_g=0.400 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.20321 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.22019 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=//zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=//zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=//warp = warp + max(0,treb_att-1.1)*1.0; +per_frame_22= +per_frame_23=// this is a great way to respond to beats: +per_frame_24=// once you get one, let it decay at a constant rate!! +per_frame_25=rg = max(rg*0.77, 0.02 + 0.5*min(2,max(0,mid_att-1)*1.3)); +per_frame_26=q9 = rg; +per_frame_27= +per_frame_28=zoom = zoom + q9*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_5=` +warp_6=` // darken over time +warp_7=` ret -= 0.004;//*= 0.95; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=` +comp_24=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_25=`} diff --git a/presets/presets_tryptonaut/LuxXx - iWhat Happened Right After I Ate That Toxic Waste beta ii.milk b/presets/presets_tryptonaut/LuxXx - iWhat Happened Right After I Ate That Toxic Waste beta ii.milk new file mode 100755 index 0000000000..09c4a1873d --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - iWhat Happened Right After I Ate That Toxic Waste beta ii.milk @@ -0,0 +1,424 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.940 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=20.160 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.400 +mv_r=1.000 +mv_g=0.400 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.12682 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=mx=.5; +wave_0_init2=my=.4; +wave_0_init3=md=3; +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.12682 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=mx=.5; +wave_1_init2=my=.4; +wave_1_init3=md=3; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.12682 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=mx=.5; +wave_2_init2=my=.4; +wave_2_init3=md=3; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=cos(tan(treb + bass*.1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.12682 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=cos(tan(treb + bass*.1)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.20321 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.22019 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %12; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25=q1 = cos(rott); +per_frame_26=q2 = sin(rott); +per_frame_27=q3 = -q2; +per_frame_28=q4 = q1; +per_frame_29= +per_frame_30=drot = (index%4-2) * 30/fps; +per_frame_31=p3 = p3*dec_slow + (1-dec_slow)*30/fps * drot; +per_frame_32=q30 = p3 ; +per_frame_33= +per_frame_34=stag = (q27+index2*1); +per_frame_35=stag = max(stag,1); +per_frame_36=p4 = dec_med*p4 + (1-dec_med)*stag; +per_frame_37=q31 = p4; +per_frame_38= +per_frame_39=zoom = 1 + .05*q1; +per_frame_40=rot = -0.007 * index; +per_frame_41= +per_frame_42=q32 = pow(0.996, 30/fps); //fade +per_frame_43= +per_frame_44=monitor = index2; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.2 + 0.0; +warp_52=` ret = lerp(ret, tex2D(sampler_main,uv_orig), 0.2); //motionblur +warp_53=` +warp_54=`//ret = 0; +warp_55=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*2; +comp_5=` float3 dx = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*64; +comp_9=` float2 uv_dy = uv - float2(dy.z,-dx.z)*texsize.zw*32; +comp_10=` +comp_11=`ret = GetPixel(uv).y*.92; +comp_12=`ret = lerp(float3(0.2,0.02,0.6),float3(0.6,0.6,0),GetBlur3(uv_dz).y*8); +comp_13=`ret = lerp(ret,float3(1,1,2),GetBlur1(uv_dz).y*6); +comp_14=`ret = lerp(ret,float3(0,0,0),GetPixel(uv_dz).y*2); +comp_15=` +comp_16=`ret = lerp(ret,float3(0,1,0),GetBlur2(uv).z*1.2); +comp_17=`//ret = lerp(ret,float3(-.02,-4,2),GetPixel(uv).z); +comp_18=` +comp_19=`ret = lerp(ret,float3(1.4,0,0),GetBlur1(uv_dy).x*2); +comp_20=`ret = lerp(ret,0,GetPixel(uv_dy).x*2); +comp_21=` +comp_22=`} +comp_23=` diff --git a/presets/presets_tryptonaut/LuxXx - liquid amma-amma bee.milk b/presets/presets_tryptonaut/LuxXx - liquid amma-amma bee.milk new file mode 100755 index 0000000000..38812e859f --- /dev/null +++ b/presets/presets_tryptonaut/LuxXx - liquid amma-amma bee.milk @@ -0,0 +1,344 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96190 +rot=-0.01000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.500 +ib_g=0.570 +ib_b=0.400 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=20.160 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.400 +mv_r=1.000 +mv_g=0.400 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.20321 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.22019 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_4=` +warp_5=`ret = GetPixel(uv) - 0.08; +warp_6=`float2 uv1 = uv; +warp_7=`float2 d = texsize.zw*4; +warp_8=`float3 dx = GetBlur1(uv1 + float2(1,0)*d) - GetBlur1(uv1 - float2(1,0)*d); +warp_9=`float3 dy = GetBlur1(uv1 + float2(0,1)*d) - GetBlur1(uv1 - float2(0,1)*d); +warp_10=`d *= float2(dx.x,dy.x)*0.4; +warp_11=`uv1+=d; +warp_12=`//uv1 = frac(uv1); +warp_13=`ret.x = tex2d(sampler_fc_main, uv1).x; +warp_14=`ret.x -=(GetBlur1(uv1).x-ret.x)*0.05 + 0.004; +warp_15=` +warp_16=`ret.z = max(length(float2(dx.x,dy.x))*1.4,GetPixel(lerp(uv_orig,uv,-1) - float2(dx.z,dy.z)*texsize.zw*4).z) - 0.004; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.003*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` ret *= 2.75; //gamma +comp_9=` ret *= ret; //darken +comp_10=`} \ No newline at end of file diff --git a/presets/presets_tryptonaut/M.tga b/presets/presets_tryptonaut/M.tga new file mode 100644 index 0000000000..03f4546918 Binary files /dev/null and b/presets/presets_tryptonaut/M.tga differ diff --git a/presets/presets_tryptonaut/Martin - liquid arrows.milk b/presets/presets_tryptonaut/Martin - liquid arrows.milk new file mode 100755 index 0000000000..845d8c5af8 --- /dev/null +++ b/presets/presets_tryptonaut/Martin - liquid arrows.milk @@ -0,0 +1,326 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.780001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=5.552000 +fWaveSmoothing=0.504000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.060000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.503300 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779770 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141590 +shapecode_1_tex_zoom=0.999790 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.226130 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.600000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.05 + rand(900)/1000; +shape_2_per_frame2=y = 0.05 + rand(900)/1000; +shape_2_per_frame3=ang = rand(320)/100; +shape_2_per_frame4= +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.187170 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.120000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=index4 = rand(2); +per_frame_init_2=index3 = rand(4); +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%4; +per_frame_11=index4 = (index4 + is_beat*bnot(index)*bnot(index2)*bnot(index3))%2; +per_frame_12= +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=ready = is_beat * bnot(ready) + bnot(is_beat2)*ready; +per_frame_22=is_beat2 = ready * above (time, t0+.2); +per_frame_23=q19 = is_beat2; +per_frame_24= +per_frame_25=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_26= +per_frame_27=k1 = is_beat*equal(index,0); +per_frame_28=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_29=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_30=rott = p2 * 3.14159265359/2; +per_frame_31= +per_frame_32=q27 = index+1; +per_frame_33=q28 = index2+1; +per_frame_34=q29 = index3*4+1; +per_frame_35=q30 = index4; +per_frame_36= +per_frame_37=q1 = cos(rott); +per_frame_38=q2 = sin(rott); +per_frame_39=q3 = -q2; +per_frame_40=q4 = q1; +per_frame_41= +per_frame_42=sp0 = dec_slow*sp0 + (q24+.05)*(1-dec_slow); +per_frame_43=go = go * dec_med + (1-dec_med)*(1-bnot(index2+index3)); +per_frame_44=movez = movez + .015*30/fps * go ; +per_frame_45=q31 = movez; +per_frame_46=q32 = .5 + .02*sin(time/5); +per_frame_47= +per_frame_48=q5 = index4%2; +per_frame_49= +per_frame_50=zoom = 1.0; rot = 0; +per_frame_51= +per_frame_52=dx = .05*max(sin(time/9.7)-.95,0); +per_frame_53=dy = .002*(1-go); +per_frame_54=rot = 50*(dx-dy); +per_frame_55= +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float2 zz = uv.xy * texsize.xy *.03; +warp_13=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_14=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_15=` +warp_16=`uv.xy -= float2(h1,h2)*texsize.zw * 18; +warp_17=` +warp_18=` +warp_19=`float3 crisp = tex2D(sampler_main,uv) + 0*noiseVal/30; +warp_20=` +warp_21=`//crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_22=` +warp_23=` ret = crisp*.99 -.01; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (.001,0); +comp_10=`float2 ver = float2 (0,.001); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*1+1.8) - 2*dz;; +comp_16=`float dots = saturate(.01/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = 0.3*lum(ret1) + 22*dots*(ret1+.1); +comp_20=` +comp_21=`ret = .8*ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/Martin - wire dance.milk b/presets/presets_tryptonaut/Martin - wire dance.milk new file mode 100755 index 0000000000..57b0b9babd --- /dev/null +++ b/presets/presets_tryptonaut/Martin - wire dance.milk @@ -0,0 +1,499 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.232543 +fWaveSmoothing=0.810000 +fWaveParam=0.280000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=0.442000 +fWarpScale=0.498000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.900000 +wave_g=1.000000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.900000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=//Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3=k1 = cos(time/3); +wave_0_per_point4=k2 = sin(time/2); +wave_0_per_point5= +wave_0_per_point6=t_abs = sample; +wave_0_per_point7=t_rel = sample-time/2.12; +wave_0_per_point8=ampl = cos(t_rel)*5; +wave_0_per_point9=//ampl = 3; +wave_0_per_point10= +wave_0_per_point11=ox = sin (t_rel*8) + ampl*sin (t_rel*12) ; +wave_0_per_point12=oy = cos (t_rel*13) + ampl*cos (t_rel*11); +wave_0_per_point13=oz = ampl/3; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=//r = sqr(sin(t_rel*3.4)); +wave_0_per_point19=//g = sqr(sin(t_rel*2.3)); +wave_0_per_point20=//b = sqr (cos(t_rel*1.9)); +wave_0_per_point21= +wave_0_per_point22=r = 1; +wave_0_per_point23=g = 0.5; +wave_0_per_point24=b = 0; +wave_0_per_point25= +wave_0_per_point26=a=0.25*(cos(t_abs*3.14/2)) + 0.2 *below (abs(1-t_abs- t1),0.0); +wave_0_per_point27=//a=0.25*(sin(t_abs*3.14)) + 0.4 *below (abs(1-t_abs-t1), bass_att/1); +wave_0_per_point28=a=0.25*(cos(t_abs*1.5)) + 0.7 *below (abs(t_abs),0.0); +wave_0_per_point29= +wave_0_per_point30=xang = k1*3; +wave_0_per_point31=yang = 1; +wave_0_per_point32=zang = 3*k1; +wave_0_per_point33=fov = 0.22; +wave_0_per_point34= +wave_0_per_point35=monitor = t2; +wave_0_per_point36= +wave_0_per_point37=// Rotation um x,y,z +wave_0_per_point38= +wave_0_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point41= +wave_0_per_point42=ox = mx; +wave_0_per_point43=oy = my; +wave_0_per_point44=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point45=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point46=ox = mx; +wave_0_per_point47=oz = mz; +wave_0_per_point48=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point49=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point50=oy = my; +wave_0_per_point51=oz = mz; +wave_0_per_point52= +wave_0_per_point53=oz = oz - 6; +wave_0_per_point54=x = ox*fov/oz +0.5; +wave_0_per_point55=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point56=y = oy*fov/oz + 0.5; +wave_0_per_point57= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.900000 +shapecode_0_rad=0.269125 +shapecode_0_ang=1.570797 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=9.753458 +shapecode_0_r=0.600000 +shapecode_0_g=0.600000 +shapecode_0_b=0.600000 +shapecode_0_a=0.400000 +shapecode_0_r2=0.290000 +shapecode_0_g2=0.300000 +shapecode_0_b2=0.300000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=textured = 1; +shape_0_per_frame2=rot0 = rot0 + 1/fps * q1; +shape_0_per_frame3= +shape_0_per_frame4=posx = (1-q24)*posx + q24*(.3+rand(100)/200); +shape_0_per_frame5=posy = (1-q24)*posy + q24*(.3+rand(100)/200);; +shape_0_per_frame6= +shape_0_per_frame7=rad0 = (1-q24)*rad0 + q24*(.05+rand(100)/300); +shape_0_per_frame8=rad = rad0; +shape_0_per_frame9= +shape_0_per_frame10= +shape_0_per_frame11=x = posx; +shape_0_per_frame12=y = posy; +shape_0_per_frame13=ang = rot0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.144507 +shapecode_1_ang=1.130974 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.023150 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.970000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a = q24*1; a2 = 0; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_init_1=dirx = 1; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %2; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.14159265359/2; +per_frame_26=q1 = cos(rott); +per_frame_27= +per_frame_28=q27 = index; +per_frame_29=q28 = index2 -.5; +per_frame_30=//************************** +per_frame_31= +per_frame_32= +per_frame_33=rot = .0*q27;; +per_frame_34=dy = .01 * sin(time/7);; +per_frame_35=dx = .01 * sin(time/4);; +per_frame_36=zoom = 1.2; +per_frame_37= +per_frame_38= +warp_1=`shader_body { +warp_2=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_3=` +warp_4=` +warp_5=`float3 noiseVal =lum (tex2D(sampler_noise_lq,uv+ rand_frame))-.5; +warp_6=` +warp_7=`float2 k1 = float2((uv.x), (uv.y)); +warp_8=` +warp_9=`float3 ret1 = GetBlur1(uv) ; +warp_10=` +warp_11=`float2 zz = uv.xy * texsize.xy *.02 ; +warp_12=`float h1 = (cos(zz.y) * sin(-zz.y)); +warp_13=`float h2 = (sin(zz.x) * cos(zz.y)); +warp_14=` +warp_15=`uv.xy += q28*float2(h1,h2)*texsize.zw * 64; +warp_16=` +warp_17=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/20; +warp_18=` +warp_19=` +warp_20=`float2 uv6 = .3*sin(42*uv); +warp_21=`float dots = .001/length(uv6.x); +warp_22=` +warp_23=`crisp += dots*roam_cos*0; +warp_24=`crisp = lerp (crisp.zxy, crisp, 0.1*lum(crisp)); +warp_25=` +warp_26=`ret = (q24)*(crisp*.99 -.01) + (1-q24)*GetPixel(uv)*.99; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.2*cos(uv1*2+1.8) - dz;; +comp_16=`float3 dots = saturate(.03/length(uv1))*float3(1,1,1); +comp_17=` +comp_18=` +comp_19=`ret1 = q1*(-ret1/2) + dots*0 + .0 + 7*dots*(-0.1+ret1); +comp_20=` +comp_21=`ret = .8*ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk b/presets/presets_tryptonaut/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk new file mode 100644 index 0000000000..6bfa4f1ef2 --- /dev/null +++ b/presets/presets_tryptonaut/Martin N AdamFX Infusion = Phat+Yin+EoS_Mandala Chaser Ft AdamFX n Martin - The Beast Mandala Chaser FX H.milk @@ -0,0 +1,489 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.965 +fVideoEchoZoom=1.101 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=1.470 +fZoomExponent=4.77802 +fShader=0.000 +zoom=0.99816 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00183 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.500 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=1.280 +nMotionVectorsY=48.000 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.000 +mv_b=1.000 +mv_a=0.400 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); +wave_0_per_point5=xp=xp*0.10; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.10; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wave_0_per_point36= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.100 +wavecode_1_g=0.500 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q2; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs*4; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.700 +wavecode_2_g=0.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q3; //mytime +wave_2_per_frame2=t2=q2; +wave_2_per_frame3=t3=.3*q2; +wave_2_per_point1=t=t1+t2*(1-sample); +wave_2_per_point2= +wave_2_per_point3=ox=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point5= +wave_2_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_2_per_point7=l=tan(ang); +wave_2_per_point8=x2=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point9=y2=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_2_per_point11=dir=-1+2*above(sum,-.001); +wave_2_per_point12= +wave_2_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point15= +wave_2_per_point16=x=ox+xtrudx; +wave_2_per_point17=y=oy+xtrudy; +wave_2_per_point18= +wave_2_per_point19=px=ox; +wave_2_per_point20=py=oy; +wave_2_per_point21= +wave_2_per_point22=counter=counter+1; +wave_2_per_point23=a=sqr(sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=0.600 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=q3; //mytime +wave_3_per_frame2=t2=q2; +wave_3_per_frame3=t3=.3*q2; +wave_3_per_point1=t=t1+t2*(1-sample); +wave_3_per_point2= +wave_3_per_point3=ox=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point5= +wave_3_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_3_per_point7=l=tan(ang); +wave_3_per_point8=x2=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_3_per_point11=dir=-1+2*above(sum,-.001); +wave_3_per_point12= +wave_3_per_point13=xtrudx=(counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point14=xtrudy=(counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point15= +wave_3_per_point16=x=ox+xtrudx; +wave_3_per_point17=y=oy+xtrudy; +wave_3_per_point18= +wave_3_per_point19=px=ox; +wave_3_per_point20=py=oy; +wave_3_per_point21= +wave_3_per_point22=counter=counter+1; +wave_3_per_point23=a=sqr(sample); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=1.000 +shapecode_0_y=0.590 +shapecode_0_rad=1.51261 +shapecode_0_ang=3.39292 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=100.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.900 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.66231 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.10258 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shape_1_per_frame2=ang=sin(time/20)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.300 +shapecode_2_rad=1.46815 +shapecode_2_ang=5.02655 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.33198 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=y=sin(time/2)*0.5+0.5; +shapecode_3_enabled=1 +shapecode_3_sides=28 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.38316 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.37657 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=//tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.55; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(48/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14= +per_frame_15=dt=1/FPS; +per_frame_16=mytime=mytime+dt; +per_frame_17=contvol=min( max(.5, (1-.5*dt)*contvol+.5*dt*(bass+mid+treb)*.133 ) ,2 ) ; +per_frame_18=q2=contvol; +per_frame_19=q3=mytime; +per_frame_20=echo_zoom=1+(vol*0.01); +per_frame_21=sx=-.99; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/100; +per_pixel_3=//sy=-1.02; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(frac(uv2)) + 2*GetPixel(frac(uv3)); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(frac(uv)); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/MegalomaGreg - Ambitions [Flexi's mix 33 highest grade pixel fucker] [remix 02 and call back your hexcollie].milk b/presets/presets_tryptonaut/MegalomaGreg - Ambitions [Flexi's mix 33 highest grade pixel fucker] [remix 02 and call back your hexcollie].milk new file mode 100755 index 0000000000..6a5985ca06 --- /dev/null +++ b/presets/presets_tryptonaut/MegalomaGreg - Ambitions [Flexi's mix 33 highest grade pixel fucker] [remix 02 and call back your hexcollie].milk @@ -0,0 +1,313 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.770 +fDecay=0.970 +fVideoEchoZoom=1.474 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=2.685 +fWaveSmoothing=0.702 +fWaveParam=0.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=8.728 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03469 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.015 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.01058 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=pulse = 0; +wave_0_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_0_per_frame2=pulse = pulse*above(pulse,0); +wave_0_per_frame3=t1 = pulse; +wave_0_per_point1=x = sqrt(sample*mid*.05); +wave_0_per_point2=y = .5 + (.1+t1)*cos(sample*20); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=160 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.31559 +shapecode_0_ang=0.78540 +shapecode_0_tex_ang=0.77911 +shapecode_0_tex_zoom=1.85321 +shapecode_0_r=1.000 +shapecode_0_g=0.650 +shapecode_0_b=0.550 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=53 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.54279 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.86220 +shapecode_1_r=1.000 +shapecode_1_g=0.510 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=ob_size = 0.05 + 0.3*sin(bass); +per_frame_2= +per_frame_3=wave_b = if (treb>1.1&mid<=1&bass<=1, abs(0.5+0.1*sin(treb)),0); +per_frame_4=wave_r = if (bass>1.1&mid<=1&treb<=1, abs(0.5+0.1*sin(bass)),0); +per_frame_5=wave_g = if (mid>1.1&bass<=1&trev<=1, abs(0.5+0.1*sin(mid)),0); +per_frame_6= +per_frame_7= +per_frame_8= +per_frame_9=ob_a = 0.5 + 0.1*sin(my_volume); +per_frame_10= +per_frame_11= +per_frame_12=ib_r = (wave_g+wave_b)/2; +per_frame_13=ib_g = (wave_r_wave_b)/2; +per_frame_14=ib_b = (wave_r+wave_g)/2; +per_frame_15= +per_frame_16=cx = 0.5; +per_frame_17=cy = 0.5; +per_frame_18= +per_frame_19=cond_bass = bass>(1+0.1*sin(sqr(bass))); +per_frame_20=cond_treb = treb>(1+0.1*sin(sqr(treb))); +per_frame_21= +per_frame_22=rot1 = 0.1*sin(sqr(bass)+sqr(treb)); +per_frame_23= +per_frame_24= +per_frame_25=rot = if (cond_treb, rot1,0); +per_frame_26=rot = if (cond_bass,- rot1, rot); +per_pixel_1=zoom_out = 1 - abs(0.1*sin(ang)); +per_pixel_2=zoom_in = 1 + abs(0.1*sin(ang)); +per_pixel_3=above_part = ( (ang>0) & (treb>1 + abs(0.1*sin(ang))) ); +per_pixel_4=below_part = ( (ang<0) & (bass>1 + abs(0.1*sin(ang))) ); +per_pixel_5= +per_pixel_6=zoom = if ( above_part | below_part, zoom_in, zoom_out); +per_pixel_7= +per_pixel_8=sx= if (rad>7.07, 1 + abs(0.1*sin(rad)),1); +per_pixel_9= +per_pixel_10= +per_pixel_11= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float1 d = 0.02; +warp_5=` float1 dx = ( 2*GetBlur2(uv + float2(d,0)) - 2*GetBlur2(uv-float2(d,0)) ).y*1280*texsize.z*0.5; +warp_6=` float1 dy = ( 2*GetBlur2(uv + float2(0,d)) - 2*GetBlur2(uv-float2(0,d)) ).y*1024*texsize.w*0.5; +warp_7=` float2 my_uv = uv - float2(dx,dy)*0.004; +warp_8=` +warp_9=` +warp_10=` +warp_11=` ret.y = tex2D( sampler_pc_main, my_uv).y; +warp_12=` ret.y += (2*ret.y - 2*GetBlur1(uv).y - 0.1)*.05 +0.02; +warp_13=` +warp_14=`float t = q12; +warp_15=`float2 c = ((uv-0.5)*aspect.wz).yx; +warp_16=`float1 ang_hq = atan2(c.x,c.y); +warp_17=`float1 rad_hq = length(c); +warp_18=`float2 spiral = float2(ang_hq*q11,0.618*log(rad_hq)+ang_hq*q11-t); +warp_19=`spiral = 0.5 + (0.5 - abs( frac( spiral * 0.5 ) * 2.0 - 1.0 )); // mirror +warp_20=` +warp_21=`} +comp_1=`float2 d; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`d = texsize.zw*4; +comp_7=`dx = GetBlur1(uv_orig + float2(1,0)*d) - GetBlur1(uv_orig - float2(1,0)*d); +comp_8=`dy = GetBlur1(uv_orig + float2(0,1)*d) - GetBlur1(uv_orig - float2(0,1)*d); +comp_9=` +comp_10=`float z = GetPixel(uv).x*(1-GetPixel(uv).z); +comp_11=`float y = (1-GetPixel(uv).y)*(1-GetPixel(uv).x); +comp_12=` +comp_13=`q7 = time*200; +comp_14=` float2 bg = (uv-0.5+float2(dx.x,dy.x)*0.15)*texsize.xy; +comp_15=` float bg1 = saturate((abs(bg.x)+abs(bg.y)+q7)%64-32); +comp_16=` float bg2 = saturate((-abs(bg.x)-abs(bg.y)+q7)%64-32); +comp_17=` float fnord; +comp_18=` if(length(bg)> 0.25*texsize.y){ +comp_19=` fnord = bg2; +comp_20=` }else{ +comp_21=` fnord = bg1; +comp_22=` } +comp_23=` +comp_24=` +comp_25=`ret = lerp(fnord,float3(1,0,0),z); +comp_26=`ret = lerp(ret,0,y); +comp_27=`} diff --git a/presets/presets_tryptonaut/Milk Artist At our Best - FED - SlowFast Ft AdamFX n Martin - HD CosmoFX.milk b/presets/presets_tryptonaut/Milk Artist At our Best - FED - SlowFast Ft AdamFX n Martin - HD CosmoFX.milk new file mode 100755 index 0000000000..cd40d5191c --- /dev/null +++ b/presets/presets_tryptonaut/Milk Artist At our Best - FED - SlowFast Ft AdamFX n Martin - HD CosmoFX.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.331 +fWaveScale=0.898 +fWaveSmoothing=0.108 +fWaveParam=0.100 +fModWaveAlphaStart=0.720 +fModWaveAlphaEnd=1.280 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.33450 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.540 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=24.800 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.160 +mv_l=1.500 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=352 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.03856 +wavecode_0_smoothing=0.20000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1=bass_att; +wave_0_per_point1=r = abs (sin (frame /38)); +wave_0_per_point2=g = 0.5*abs (cos (frame /45)); +wave_0_per_point3=b = 0.5*abs (sin (frame / 133)); +wave_0_per_point4=a = 0.3; +wave_0_per_point5=t02 = t02 + q1/10; +wave_0_per_point6=ratio = sin (frame/49); +wave_0_per_point7= +wave_0_per_point8=ampl = 0.01+0.4*sqr(sin ((frame ) / 18)* cos (frame / 123)); +wave_0_per_point9= +wave_0_per_point10=x1 = (r-0.5)/15 +0.5 + ampl* sin (sample*6.28); +wave_0_per_point11=y1 = (b-0.5)/15+0.5 + ampl* cos (sample*6.28); +wave_0_per_point12= +wave_0_per_point13=x = x1+1*0.2*(ampl+ratio )*sin ( sample*6.28 * ratio*7.3); +wave_0_per_point14=y = y1+1*0.2*(ampl+ratio )*cos ( sample*6.28*6); +wave_0_per_point15= +wavecode_1_enabled=0 +wavecode_1_samples=15 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.06378 +wavecode_1_smoothing=0.80000 +wavecode_1_r=0.800 +wavecode_1_g=0.000 +wavecode_1_b=0.600 +wavecode_1_a=0.900 +wavecode_2_enabled=0 +wavecode_2_samples=112 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.31275 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.17914 +shapecode_0_r=0.820 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=xy=0.5+rand_frame; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dx=0; +per_frame_2=oldshift=shift; +per_frame_3=normalframez=normalframez+1; +per_frame_4=shift=above(bass_att,1)*above(treb_att,0.9); +per_frame_5=crash=abs(oldshift-shift); +per_frame_6=nex=equal(rshift,0)*1+equal(rshift,1)*2; +per_frame_7=rshift=if(crash,nex,rshift); +per_frame_8=monitor=rshift; +per_frame_9=wave_r=int(rand(200))/200; +per_frame_10=wave_g=int(rand(200))/200; +per_frame_11=wave_b=int(rand(200))/200; +per_frame_12=warp=0; +per_frame_13=q1=above(bass_att,1.3); +per_frame_14=zoom1=zoom+0.15-0.3*(normalframez%2); +per_frame_15=zoom=if(shift,zoom1,1); +per_frame_16=rot=rot-0.1+rshift*0.1; +per_pixel_1=dy=-below(y,0.4)*0.007+above(y,0.6)*0.007; +warp_1=`shader_body +warp_2=`{ret=GetPixel(uv); +warp_3=`float2 mo=uv-uv_orig; +warp_4=`ret=GetPixel(uv_orig+mo*lum(ret)); +warp_5=`ret=ret*0.99-0.002; +warp_6=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret=GetPixel(uv); +comp_4=`ret*=2; +comp_5=`ret*=1-ret; +comp_6=`ret=saturate(ret); +comp_7=`ret=pow(ret,0.5); +comp_8=`ret=(1-ret)*1.5-0.75; +comp_9=`} diff --git a/presets/presets_tryptonaut/Milk King to the ExtreemFX flexi - divine struggle - Ft AdamFX n Martin - Picasso In Milk Molten Meltdown E.milk b/presets/presets_tryptonaut/Milk King to the ExtreemFX flexi - divine struggle - Ft AdamFX n Martin - Picasso In Milk Molten Meltdown E.milk new file mode 100755 index 0000000000..ce6dc78787 --- /dev/null +++ b/presets/presets_tryptonaut/Milk King to the ExtreemFX flexi - divine struggle - Ft AdamFX n Martin - Picasso In Milk Molten Meltdown E.milk @@ -0,0 +1,487 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.210 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.070 +fWaveScale=1.229 +fWaveSmoothing=0.900 +fWaveParam=0.200 +fModWaveAlphaStart=0.000 +fModWaveAlphaEnd=0.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.92178 +fShader=1.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.600 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_frame1=trel = q1-.0; +wave_1_per_frame2=t1 = int(trel)/2; +wave_1_per_frame3=t2 = trel - int(trel); +wave_1_per_point1=k1 = (sample*512) % 8; +wave_1_per_point2= +wave_1_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_1_per_point4= + (1-equal(k1,0))*t1; +wave_1_per_point5= +wave_1_per_point6=exc = 1+int(rand(5)); +wave_1_per_point7=ampl = sample*sqrt(t2) * (1+exc); +wave_1_per_point8= +wave_1_per_point9=f1 = q4*ampl* sin(t1*6.28/4096); +wave_1_per_point10=f2 = q4*ampl* cos(t1*6.28/4096); +wave_1_per_point11= +wave_1_per_point12=x = q2 + k1* f1 ; +wave_1_per_point13=y = q3 + k1* f2; +wave_1_per_point14= +wave_1_per_point15=a = equal(k1,6) + equal (k1,0); +wave_1_per_point16= +wave_1_per_point17=r = 1; +wave_1_per_point18=b = equal (k1,0); +wave_1_per_point19=g = .6* (1+.6*equal (k1,0)) ; +wave_1_per_point20=a = a * q5 * (1-0*t2*t2); +wave_1_per_point21=//a = 0; +wave_1_per_point22= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.01348 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.000 +wavecode_2_a=0.310 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wave_2_per_frame1=trel = q1-.33; +wave_2_per_frame2=t1 = int(trel)/3; +wave_2_per_frame3=t2 = trel - int(trel); +wave_2_per_frame4= +wave_2_per_frame5= +wave_2_per_frame6= +wave_2_per_point1=k1 = (sample*512) % 8; +wave_2_per_point2= +wave_2_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_2_per_point4= + (1-equal(k1,0))*t1; +wave_2_per_point5= +wave_2_per_point6=ampl = sample*sqrt(t2); +wave_2_per_point7= +wave_2_per_point8=f1 = q4*ampl* sin(t1*6.28/4096); +wave_2_per_point9=f2 = q4*ampl* cos(t1*6.28/4096); +wave_2_per_point10= +wave_2_per_point11=x = q2 + k1* f1 ; +wave_2_per_point12=y = q3 + k1* f2; +wave_2_per_point13= +wave_2_per_point14=a = equal(k1,6) + equal (k1,0); +wave_2_per_point15= +wave_2_per_point16=r = 1; +wave_2_per_point17=b = equal (k1,0); +wave_2_per_point18=g = .6* (1+.6*equal (k1,0)); +wave_2_per_point19=a = a * q5 * (1-0*t2*t2); +wave_2_per_point20=//a = 0; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.600 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_frame1=trel = q1-.66; +wave_3_per_frame2=t1 = int(trel); +wave_3_per_frame3=t2 = trel - int(trel); +wave_3_per_point1=k1 = (sample*512) % 8; +wave_3_per_point2= +wave_3_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_3_per_point4= + (1-equal(k1,0))*t1; +wave_3_per_point5= +wave_3_per_point6=ampl = sample*sqrt(t2); +wave_3_per_point7= +wave_3_per_point8=f1 = q4*ampl* sin(t1*6.28/4096); +wave_3_per_point9=f2 = q4*ampl* cos(t1*6.28/4096); +wave_3_per_point10= +wave_3_per_point11=x = q2 + k1* f1 ; +wave_3_per_point12=y = q3 + k1* f2; +wave_3_per_point13= +wave_3_per_point14=a = equal(k1,6) + equal (k1,0); +wave_3_per_point15= +wave_3_per_point16=r = 1; +wave_3_per_point17=b = equal (k1,0); +wave_3_per_point18=g = .6* (1+.6*equal (k1,0)); +wave_3_per_point19=a = a * q5 * (1-0*t2*t2); +wave_3_per_point20=//a = 0; +shapecode_0_enabled=0 +shapecode_0_sides=33 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.520 +shapecode_0_rad=0.66530 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.00530 +shapecode_0_tex_zoom=1.14795 +shapecode_0_r=0.990 +shapecode_0_g=0.900 +shapecode_0_b=0.990 +shapecode_0_a=0.970 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.890 +shapecode_0_a2=0.600 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.290 +shapecode_1_y=0.500 +shapecode_1_rad=0.01000 +shapecode_1_ang=3.76991 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=6.16617 +shapecode_1_r=0.850 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=0.900 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.860 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=t0 = time/3; +shape_1_per_frame2=x = t0 - int(t0); +shape_1_per_frame3=y = 0.3+mid/50; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.01100 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shape_2_per_frame1=t0 = time/3; +shape_2_per_frame2=x = t0 - int(t0); +shape_2_per_frame3=y = 0.5+treb /50; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01645 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.31212 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +shape_3_per_frame1=t0 = time/3; +shape_3_per_frame2=x = t0 - int(t0); +shape_3_per_frame3= +shape_3_per_frame4=//y = q2/30+0.8; +shape_3_per_frame5= +shape_3_per_frame6=y1 = .8 + bass+treb+mid; +shape_3_per_frame7=y = (y1-y0)/200 + .8; +shape_3_per_frame8=y0 = y1; +shape_3_per_frame9= +shape_3_per_frame10= +shape_3_per_frame11=b_ = b_*.9 +bass; +shape_3_per_frame12=m_ = m_*.9 +mid; +shape_3_per_frame13=t_ = t_*.9 +treb; +shape_3_per_frame14= +shape_3_per_frame15=y = .8 + (bass+mid+treb)/150; +shape_3_per_frame16=y = 0.8 + (q2+q1)/30; +shape_3_per_frame17=//f.0 = 3; +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=// elastic thread code +per_frame_6= +per_frame_7=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_8=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_9=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_10=x1 = 0.5 + (xx1-xx2)*2; +per_frame_11=y1 = 0.4 + yy1*1.5; +per_frame_12=dt = 0.03/fps; +per_frame_13=vx2 = vx2*(1-2*dt) + dt*((x1+x3-2*x2)*10); +per_frame_14=vy2 = vy2*(1-2*dt) + dt*((y1+y3-2*y2)*10-0.5); +per_frame_15=vx3 = vx3*(1-2*dt) + dt*((x2+x4-2*x3)*10); +per_frame_16=vy3 = vy3*(1-2*dt) + dt*((y2+y4-2*y3)*10-0.5); +per_frame_17=vx4 = vx4*(1-2*dt) + dt*((x3-x4)*10); +per_frame_18=vy4 = vy4*(1-2*dt) + dt*((y3-y4)*10-0.5); +per_frame_19=x2 = x2 + vx2; y2 = y2 + vy2; +per_frame_20=x3 = x3 + vx3; y3 = y3 + vy3; +per_frame_21=x4 = x4 + vx4; y4 = y4 + vy4; +per_frame_22=vx2 = if(above(x2,0),vx2,abs(vx2)*0.5); +per_frame_23=vx2 = if(below(x2,1),vx2,-abs(vx2)*0.5); +per_frame_24=vx3 = if(above(x3,0),vx3,abs(vx3)*0.5); +per_frame_25=vx3 = if(below(x3,1),vx3,-abs(vx3)*0.5); +per_frame_26=vx4 = if(above(x4,0),vx4,abs(vx4)*0.5); +per_frame_27=vx4 = if(below(x4,1),vx4,-abs(vx4)*0.5); +per_frame_28=vy2 = if(above(y2,0),vy2,abs(vy2)*0.5); +per_frame_29=vy2 = if(below(y2,1),vy2,-abs(vy2)*0.5); +per_frame_30=vy3 = if(above(y3,0),vy3,abs(vy3)*0.5); +per_frame_31=vy3 = if(below(y3,1),vy3,-abs(vy3)*0.5); +per_frame_32=vy4 = if(above(y4,0),vy4,abs(vy4)*0.5); +per_frame_33=vy4 = if(below(y4,1),vy4,-abs(vy4)*0.5); +per_frame_34=q1 = x1;q2 = x2;q3 = x3;q4 = x4; +per_frame_35=q5 = y1;q6 = y2;q7 = y3;q8 = y4; +per_frame_36=q9 = 1/aspectx; +per_frame_37=q10 = 1/aspecty; +per_frame_38=q11 = aspectx; +per_frame_39=q12 = aspecty; +per_frame_40= +per_frame_41=// coloring borders +per_frame_42=bb = bb*0.99 + bass*0.02; +per_frame_43=mm = mm*0.99 + mid*0.02; +per_frame_44=tt = tt*0.99 + treb*0.02; +per_frame_45= +per_frame_46=mx = max(max(bb,mm),tt); +per_frame_47=mn = min(min(bb,mm),tt); +per_frame_48= +per_frame_49=ob_r = (bb-mn)/(mx-mn); +per_frame_50=ob_b = (mm-mn)/(mx-mn); +per_frame_51=ob_g = (tt-mn)/(mx-mn); +per_frame_52= +per_frame_53=v = 0.4/fps; +per_frame_54=bm = bm + (ob_r-ob_b)*v; +per_frame_55=mt = mt + (ob_b-ob_g)*v; +per_frame_56= +per_frame_57=// coordinates spiral 1 +per_frame_58=q21 = 0.5; // X +per_frame_59=q22 = 0; // Y +per_frame_60= +per_frame_61=// coordinates spiral 2 +per_frame_62=q23 = -0.5; +per_frame_63=q24 = 0; +per_frame_64= +per_frame_65=q25 = 0.5/asin(1); // pi/4 +per_frame_66= +per_frame_67=q26 = -bm; // rotation +per_frame_68=q27 = mt; // growth +per_pixel_1=x = 0.5 + (x-0.5)*q11; +per_pixel_2=y = 0.5 + (y-0.5)*q12; +per_pixel_3=xx = q4; +per_pixel_4=yy = 1-q8; +per_pixel_5= +per_pixel_6=dx = 0; dy = 0; +per_pixel_7= +per_pixel_8=d = sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy)); +per_pixel_9= +per_pixel_10=r = 0.11; +per_pixel_11=v = 20; +per_pixel_12=dx = (v*(sin(y-yy)*(d-r)-(x-xx)*(d-r/2)))*(1.00-sigmoid(d-r,100)); +per_pixel_13=dy = (-v*(sin(x-xx)*(d-r)+(y-yy)*(d-r/2)))*(1.00-sigmoid(d-r,100)); +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`} +comp_1=`float2 d, uv_y; +comp_2=`float3 dx, dy; +comp_3=`float2 numerator, denominator, fraction; +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` +comp_8=`/*** Flexis cleaned up Moebius spiral code ***/ +comp_9=` +comp_10=`float cutoff = 0.95; +comp_11=`int n = -1; +comp_12=`float s = 0.4; +comp_13=` +comp_14=` float2 c = (uv-0.5)*2*aspect.wz; +comp_15=` numerator = (c + float2(q21,q22))*64; +comp_16=` denominator = c + float2(q23,q24); +comp_17=` fraction = float2( numerator.x*denominator.x + numerator.y*denominator.y, +comp_18=` numerator.y*denominator.x - numerator.x*denominator.y)/ +comp_19=` (denominator.x*denominator.x + denominator.y*denominator.y); +comp_20=` c = fraction-0.5; +comp_21=` float1 ang_hq = n*atan2(c.x,c.y); +comp_22=` float2 spiral = float2(ang_hq*q25+q26,s*aspect.w*log(length(c))+ang_hq*q25+q27); +comp_23=` spiral = 0.5 + (0.5 - abs( frac( spiral * 0.5 ) * 2.0 - 1.0 ))*cutoff; // mirror +comp_24=` +comp_25=`/**********************************************/ +comp_26=`float2 uvo = uv; +comp_27=`uv = spiral; +comp_28=` +comp_29=` d = texsize.zw*8; +comp_30=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_31=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_32=` +comp_33=`float3 base = GetPixel(uv); +comp_34=`float3 emboss = (-dx + dy + 1)*1.2; +comp_35=` +comp_36=` d = texsize.zw*2; +comp_37=` dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_38=` dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_39=` +comp_40=`float grad = length(float2(dx.x,dy.x)); +comp_41=` +comp_42=`ret = lerp( float3(0.5,0.4,0.6)*base.x*emboss.x, +comp_43=` float3(8,5,2)*grad, +comp_44=` grad*4.2 +comp_45=` ); +comp_46=`ret = lerp(ret,4*ret,GetPixel(uv).y*0.5-GetBlur1(uv).z*0.3*float3(0.3,1,1)); +comp_47=` +comp_48=`grad = length(float2(dx.z,dy.z)); +comp_49=`ret = lerp(ret, float3(2,2,0), grad*0.7); +comp_50=`} +comp_51=` diff --git a/presets/presets_tryptonaut/Mstress & Juppy - Dancer.milk b/presets/presets_tryptonaut/Mstress & Juppy - Dancer.milk new file mode 100755 index 0000000000..2b0df35f58 --- /dev/null +++ b/presets/presets_tryptonaut/Mstress & Juppy - Dancer.milk @@ -0,0 +1,403 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.300000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=16 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=dim =1; //Dancer dimensions +wave_0_per_point2=xpos=0;//Dancer x position variation +wave_0_per_point3=ypos=0;//Dancer y position variation +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=//Position Stabilization +wave_0_per_point8=xpos=xpos+(1-dim)/2; +wave_0_per_point9=ypos=ypos+(1-dim)/2; +wave_0_per_point10= +wave_0_per_point11=meanbass = 0.01*(meanbass*99+bass); +wave_0_per_point12=meantreb = 0.01*(meantreb*99+treb); +wave_0_per_point13=meanmid = 0.01*(meanmid*99+mid); +wave_0_per_point14=bassdiff = (bass - meanbass)*15; +wave_0_per_point15=trebdiff = (treb - meantreb)*15; +wave_0_per_point16=middiff = (mid - meanmid)*15; +wave_0_per_point17=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_0_per_point18=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_0_per_point19=mi = min(above(middiff,0)*middiff*.005,.11); +wave_0_per_point20= +wave_0_per_point21=mi2_prg = mi2_prg+mi; +wave_0_per_point22=gam = abs(gam-above(mi2_prg,5)); +wave_0_per_point23=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_0_per_point24= +wave_0_per_point25=s = sample *15; +wave_0_per_point26=//Gambe +wave_0_per_point27=x= if(equal(int(s),1),.4,.4); +wave_0_per_point28=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_0_per_point29= +wave_0_per_point30=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_0_per_point31=y= if(equal(int(s),2),.4,y); +wave_0_per_point32= +wave_0_per_point33=x= if(equal(int(s),3),.6,x); +wave_0_per_point34=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_0_per_point35= +wave_0_per_point36=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_0_per_point37=y= if(equal(int(s),4),.4,y); +wave_0_per_point38= +wave_0_per_point39=//Corpo +wave_0_per_point40=x= if(equal(int(s),5),.5,x); +wave_0_per_point41=y= if(equal(int(s),5),.6,y); +wave_0_per_point42= +wave_0_per_point43=//Braccia +wave_0_per_point44=x= if(equal(int(s),6),.4-mi*.23,x); +wave_0_per_point45=y= if(equal(int(s),6),.5+mi,y); +wave_0_per_point46= +wave_0_per_point47=x= if(equal(int(s),7),.5,x); +wave_0_per_point48=y= if(equal(int(s),7),.6,y); +wave_0_per_point49= +wave_0_per_point50=x= if(equal(int(s),8),.6+tr*.23,x); +wave_0_per_point51=y= if(equal(int(s),8),.5+tr,y); +wave_0_per_point52= +wave_0_per_point53=x= if(equal(int(s),9),.5,x); +wave_0_per_point54=y= if(equal(int(s),9),.6,y); +wave_0_per_point55= +wave_0_per_point56=//Testa +wave_0_per_point57=x= if(equal(int(s),10),.5,x); +wave_0_per_point58=y= if(equal(int(s),10),.62,y); +wave_0_per_point59= +wave_0_per_point60=x= if(equal(int(s),11),.47-ba*.23,x); +wave_0_per_point61=y= if(equal(int(s),11),.62,y); +wave_0_per_point62=x= if(equal(int(s),12),.47-ba*.23,x); +wave_0_per_point63=y= if(equal(int(s),12),.67+ba*.23,y); +wave_0_per_point64= +wave_0_per_point65=x= if(equal(int(s),13),.53+ba*.23,x); +wave_0_per_point66=y= if(equal(int(s),13),.67+ba*.23,y); +wave_0_per_point67= +wave_0_per_point68=x= if(equal(int(s),14),.53+ba*.23,x); +wave_0_per_point69=y= if(equal(int(s),14),.62,y); +wave_0_per_point70= +wave_0_per_point71=x= if(equal(int(s),15),.50,x); +wave_0_per_point72=y= if(equal(int(s),15),.62,y); +wave_0_per_point73= +wave_0_per_point74=x=x*dim+xpos; +wave_0_per_point75=y=y*dim+ypos; +wave_0_per_point76= +wave_0_per_point77=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_0_per_point78=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_0_per_point79=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_0_per_point80= +wave_0_per_point81=hm=sample+mi2_prg; +wave_0_per_point82=ht=sample+tr_prg; +wave_0_per_point83=hb=sample+ba_prg; +wave_0_per_point84= +wave_0_per_point85=r=hm; +wave_0_per_point86=g=ht; +wave_0_per_point87=b=hb; +wave_0_per_point88=a=.8; +wavecode_1_enabled=0 +wavecode_1_samples=16 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1= +wave_2_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_2_per_frame3=ry=atan2(q2,q4); +wave_2_per_frame4=rz=0; +wave_2_per_frame5= +wave_2_per_frame6=t1=sin(rx);t2=cos(rx); +wave_2_per_frame7=t3=sin(ry);t4=cos(ry); +wave_2_per_frame8=t5=sin(rz);t6=cos(rz); +wave_2_per_point1=sample=sample*q1*134; +wave_2_per_point2=x1=sin(sample*543)*2+q2; +wave_2_per_point3=y1=cos(sample*4232)*2+q3; +wave_2_per_point4=z1=sin(sample*90)*2+q4; +wave_2_per_point5= +wave_2_per_point6=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_2_per_point7=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_2_per_point8=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_2_per_point9=z3=if(above(z3,.1),.5/z3,0); +wave_2_per_point10=x=if(z3,x3*z3,x)+.5; +wave_2_per_point11=y=if(z3,-y3*z3,y)+.5; +wave_2_per_point12=a=z3*.8; +wavecode_3_enabled=0 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_3_per_frame3=ry=atan2(q2,q4); +wave_3_per_frame4=rz=0; +wave_3_per_frame5=ry1=ry1+bass_att*.2; +wave_3_per_frame6=t1=sin(rx);t2=cos(rx); +wave_3_per_frame7=t3=sin(ry);t4=cos(ry); +wave_3_per_frame8=t5=sin(rz);t6=cos(rz); +wave_3_per_frame9=t7=sin(ry1);t8=cos(ry1); +wave_3_per_frame10= +wave_3_per_point1=cp=bnot(cp); +wave_3_per_point2=r=sample*q1*10; +wave_3_per_point3=i1=(sample*6)%2; +wave_3_per_point4=rt=if(cp,.7,.2); +wave_3_per_point5=sample=sample*q1*.5; +wave_3_per_point6= +wave_3_per_point7=x1=sin(r)*rt; +wave_3_per_point8=z1=cos(r)*rt; +wave_3_per_point9=y1=-.5; +wave_3_per_point10=x2=x1*t8-z1*t7;z2=x1*t7+z1*t8; +wave_3_per_point11=x1=x2+q2; +wave_3_per_point12=y1=y1+q3; +wave_3_per_point13=z1=z2+q4; +wave_3_per_point14=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_3_per_point15=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_3_per_point16=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_3_per_point17=z3=if(above(z3,.1),.5/z3,0); +wave_3_per_point18=x=if(z3,x3*z3,x)+.5; +wave_3_per_point19=y=if(z3,-y3*z3,y)+.5; +wave_3_per_point20=hu=sample+cos(time/q1)*q1; +wave_3_per_point21=r=sin(hu)*.5+.5; +wave_3_per_point22=g=sin(hu+q1*.33)*.5+.5; +wave_3_per_point23=b=sin(hu+q1*.66)*.5+.5; +wave_3_per_point24=a=z3*.8; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.840000 +shapecode_0_y=0.740000 +shapecode_0_rad=0.289992 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.361327 +shapecode_0_r=0.100000 +shapecode_0_g=0.500000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.100000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.400000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.040000 +shape_0_per_frame1=temp1 = 0.01*(temp1*99+bass); +shape_0_per_frame2=temp2 = (bass - temp1)*15; +shape_0_per_frame3=temp3 = min(above(temp2,0)*temp2*.005,.11); +shape_0_per_frame4= +shape_0_per_frame5=temp4= temp4+temp3; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang =-temp4; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.150000 +shapecode_1_y=0.730000 +shapecode_1_rad=0.511334 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.388689 +shapecode_1_r=0.600000 +shapecode_1_g=0.600000 +shapecode_1_b=0.200000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.210000 +shapecode_1_a2=0.899999 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.070000 +shape_1_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_1_per_frame2=bassdiff = (bass - meanbass)*15; +shape_1_per_frame3=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +shape_1_per_frame4= +shape_1_per_frame5= +shape_1_per_frame6=ba_prg= ba_prg+ba; +shape_1_per_frame7= +shape_1_per_frame8=tex_ang =-ba_prg; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.559238 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_2_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_2_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_2_per_frame4=bassdiff = (bass - meanbass)*15; +shape_2_per_frame5=trebdiff = (treb - meantreb)*15; +shape_2_per_frame6=middiff = (mid - meanmid)*15; +shape_2_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_2_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_2_per_frame9=middiff = above(middiff,0)*middiff; +shape_2_per_frame10= +shape_2_per_frame11=g = min(1,max(0,0.2*trebdiff)); +shape_2_per_frame12=r = min(1,max(0,0.2*middiff)); +shape_2_per_frame13=b = min(1,max(0,0.2*bassdiff)); +shape_2_per_frame14=g2 = min(1,max(0,0.2*trebdiff)); +shape_2_per_frame15=r2 = min(1,max(0,0.2*middiff)); +shape_2_per_frame16=b2 = min(1,max(0,0.2*bassdiff)); +shape_2_per_frame17=border_g = .4+min(.6,max(0,0.1*trebdiff)); +shape_2_per_frame18=border_r = .4+min(.6,max(0,0.1*middiff)); +shape_2_per_frame19=border_b = .4+min(.6,max(0,0.1*bassdiff)); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q1=acos(-1)*2; +per_frame_1=decay=.30; +per_frame_2= +per_frame_3=meanmid = 0.01*(meanmid*99+mid); +per_frame_4=middiff = (mid - meanmid)*15; +per_frame_5=mi = min(above(middiff,0)*middiff*.005,.11); +per_frame_6= +per_frame_7=mi_prg = mi_prg+mi; +per_frame_8=gam = abs(gam-above(mi_prg,.5)); +per_frame_9=mi_prg= if(above(mi_prg,.5),0,mi_prg); +per_frame_10=q1=gam; +per_frame_11=monitor =mi_prg; +per_pixel_1= +per_pixel_2=ylim=.8; +per_pixel_3= +per_pixel_4=sx = sy-below(y,ylim)*.001; +per_pixel_5=dx=dx+.01*bass*(1-q1*2)*below(y,ylim); +per_pixel_6=rot=rot+.051*below(y,ylim); +per_pixel_7=cx=int(x*16)/16; +per_pixel_8=cy=int(y*16)/16; diff --git a/presets/presets_tryptonaut/Mstress & Juppy - Dancers In The Dark.milk b/presets/presets_tryptonaut/Mstress & Juppy - Dancers In The Dark.milk new file mode 100755 index 0000000000..ded178a07e --- /dev/null +++ b/presets/presets_tryptonaut/Mstress & Juppy - Dancers In The Dark.milk @@ -0,0 +1,673 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=16 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=meanbass = 0.01*(meanbass*99+bass_att); +wave_0_per_point2=meantreb = 0.01*(meantreb*99+treb_att); +wave_0_per_point3=meanmid = 0.01*(meanmid*99+mid_att); +wave_0_per_point4=bassdiff = (bass_att - meanbass)*15; +wave_0_per_point5=trebdiff = (treb_att - meantreb)*15; +wave_0_per_point6=middiff = (mid_att - meanmid)*15; +wave_0_per_point7=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_0_per_point8=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_0_per_point9=mi = min(above(middiff,0)*middiff*.005,.11); +wave_0_per_point10=baprg=baprg+ba*.3; +wave_0_per_point11=trprg=trprg+tr*.2; +wave_0_per_point12=miprg=miprg+tr*.2; +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=dim =.5+.4*sin(miprg); //Dancer dimensions +wave_0_per_point16=xpos=0+.3*sin(baprg);//Dancer x position variation +wave_0_per_point17=ypos=0+.2*sin(trprg);//Dancer y position variation +wave_0_per_point18= +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=//Position Stabilization +wave_0_per_point22=xpos=xpos+(1-dim)/2; +wave_0_per_point23=ypos=ypos+(1-dim)/2; +wave_0_per_point24= +wave_0_per_point25=meanbass = 0.01*(meanbass*99+bass); +wave_0_per_point26=meantreb = 0.01*(meantreb*99+treb); +wave_0_per_point27=meanmid = 0.01*(meanmid*99+mid); +wave_0_per_point28=bassdiff = (bass - meanbass)*15; +wave_0_per_point29=trebdiff = (treb - meantreb)*15; +wave_0_per_point30=middiff = (mid - meanmid)*15; +wave_0_per_point31=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_0_per_point32=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_0_per_point33=mi = min(above(middiff,0)*middiff*.005,.11); +wave_0_per_point34= +wave_0_per_point35=mi2_prg = mi2_prg+mi; +wave_0_per_point36=gam = abs(gam-above(mi2_prg,5)); +wave_0_per_point37=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_0_per_point38= +wave_0_per_point39=s = sample *15; +wave_0_per_point40=//Gambe +wave_0_per_point41=x= if(equal(int(s),1),.4,.4); +wave_0_per_point42=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_0_per_point43= +wave_0_per_point44=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_0_per_point45=y= if(equal(int(s),2),.4,y); +wave_0_per_point46= +wave_0_per_point47=x= if(equal(int(s),3),.6,x); +wave_0_per_point48=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_0_per_point49= +wave_0_per_point50=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_0_per_point51=y= if(equal(int(s),4),.4,y); +wave_0_per_point52= +wave_0_per_point53=//Corpo +wave_0_per_point54=x= if(equal(int(s),5),.5,x); +wave_0_per_point55=y= if(equal(int(s),5),.6,y); +wave_0_per_point56= +wave_0_per_point57=//Braccia +wave_0_per_point58=x= if(equal(int(s),6),.4-mi*.23,x); +wave_0_per_point59=y= if(equal(int(s),6),.5+mi,y); +wave_0_per_point60= +wave_0_per_point61=x= if(equal(int(s),7),.5,x); +wave_0_per_point62=y= if(equal(int(s),7),.6,y); +wave_0_per_point63= +wave_0_per_point64=x= if(equal(int(s),8),.6+tr*.23,x); +wave_0_per_point65=y= if(equal(int(s),8),.5+tr,y); +wave_0_per_point66= +wave_0_per_point67=x= if(equal(int(s),9),.5,x); +wave_0_per_point68=y= if(equal(int(s),9),.6,y); +wave_0_per_point69= +wave_0_per_point70=//Testa +wave_0_per_point71=x= if(equal(int(s),10),.5,x); +wave_0_per_point72=y= if(equal(int(s),10),.62,y); +wave_0_per_point73= +wave_0_per_point74=x= if(equal(int(s),11),.47-ba*.23,x); +wave_0_per_point75=y= if(equal(int(s),11),.62,y); +wave_0_per_point76=x= if(equal(int(s),12),.47-ba*.23,x); +wave_0_per_point77=y= if(equal(int(s),12),.67+ba*.23,y); +wave_0_per_point78= +wave_0_per_point79=x= if(equal(int(s),13),.53+ba*.23,x); +wave_0_per_point80=y= if(equal(int(s),13),.67+ba*.23,y); +wave_0_per_point81= +wave_0_per_point82=x= if(equal(int(s),14),.53+ba*.23,x); +wave_0_per_point83=y= if(equal(int(s),14),.62,y); +wave_0_per_point84= +wave_0_per_point85=x= if(equal(int(s),15),.50,x); +wave_0_per_point86=y= if(equal(int(s),15),.62,y); +wave_0_per_point87= +wave_0_per_point88=x=x*dim+xpos; +wave_0_per_point89=y=y*dim+ypos; +wave_0_per_point90= +wave_0_per_point91=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_0_per_point92=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_0_per_point93=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_0_per_point94= +wave_0_per_point95=hm=sample+mi2_prg; +wave_0_per_point96=ht=sample+tr_prg; +wave_0_per_point97=hb=sample+ba_prg; +wave_0_per_point98= +wave_0_per_point99=r=hm; +wave_0_per_point100=g=ht; +wave_0_per_point101=b=hb; +wave_0_per_point102=a=.8; +wavecode_1_enabled=1 +wavecode_1_samples=16 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=meanbass = 0.01*(meanbass*99+bass_att); +wave_1_per_point2=meantreb = 0.01*(meantreb*99+treb_att); +wave_1_per_point3=meanmid = 0.01*(meanmid*99+mid_att); +wave_1_per_point4=bassdiff = (bass_att - meanbass)*15; +wave_1_per_point5=trebdiff = (treb_att - meantreb)*15; +wave_1_per_point6=middiff = (mid_att - meanmid)*15; +wave_1_per_point7=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_1_per_point8=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_1_per_point9=mi = min(above(middiff,0)*middiff*.005,.11); +wave_1_per_point10=baprg=baprg+ba*.4; +wave_1_per_point11=trprg=trprg+tr*.1; +wave_1_per_point12=miprg=miprg+tr*.3; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=dim =.5+.3*sin(baprg); //Dancer dimensions +wave_1_per_point16=xpos=0+.3*sin(trprg);//Dancer x position variation +wave_1_per_point17=ypos=0+.2*sin(miprg);//Dancer y position variation +wave_1_per_point18= +wave_1_per_point19= +wave_1_per_point20= +wave_1_per_point21=//Position Stabilization +wave_1_per_point22=xpos=xpos+(1-dim)/2; +wave_1_per_point23=ypos=ypos+(1-dim)/2; +wave_1_per_point24= +wave_1_per_point25=meanbass = 0.01*(meanbass*99+bass); +wave_1_per_point26=meantreb = 0.01*(meantreb*99+treb); +wave_1_per_point27=meanmid = 0.01*(meanmid*99+mid); +wave_1_per_point28=bassdiff = (bass - meanbass)*15; +wave_1_per_point29=trebdiff = (treb - meantreb)*15; +wave_1_per_point30=middiff = (mid - meanmid)*15; +wave_1_per_point31=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_1_per_point32=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_1_per_point33=mi = min(above(middiff,0)*middiff*.005,.11); +wave_1_per_point34= +wave_1_per_point35=mi2_prg = mi2_prg+mi; +wave_1_per_point36=gam = abs(gam-above(mi2_prg,5)); +wave_1_per_point37=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_1_per_point38= +wave_1_per_point39=s = sample *15; +wave_1_per_point40=//Gambe +wave_1_per_point41=x= if(equal(int(s),1),.4,.4); +wave_1_per_point42=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_1_per_point43= +wave_1_per_point44=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_1_per_point45=y= if(equal(int(s),2),.4,y); +wave_1_per_point46= +wave_1_per_point47=x= if(equal(int(s),3),.6,x); +wave_1_per_point48=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_1_per_point49= +wave_1_per_point50=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_1_per_point51=y= if(equal(int(s),4),.4,y); +wave_1_per_point52= +wave_1_per_point53=//Corpo +wave_1_per_point54=x= if(equal(int(s),5),.5,x); +wave_1_per_point55=y= if(equal(int(s),5),.6,y); +wave_1_per_point56= +wave_1_per_point57=//Braccia +wave_1_per_point58=x= if(equal(int(s),6),.4-mi*.23,x); +wave_1_per_point59=y= if(equal(int(s),6),.5+mi,y); +wave_1_per_point60= +wave_1_per_point61=x= if(equal(int(s),7),.5,x); +wave_1_per_point62=y= if(equal(int(s),7),.6,y); +wave_1_per_point63= +wave_1_per_point64=x= if(equal(int(s),8),.6+tr*.23,x); +wave_1_per_point65=y= if(equal(int(s),8),.5+tr,y); +wave_1_per_point66= +wave_1_per_point67=x= if(equal(int(s),9),.5,x); +wave_1_per_point68=y= if(equal(int(s),9),.6,y); +wave_1_per_point69= +wave_1_per_point70=//Testa +wave_1_per_point71=x= if(equal(int(s),10),.5,x); +wave_1_per_point72=y= if(equal(int(s),10),.62,y); +wave_1_per_point73= +wave_1_per_point74=x= if(equal(int(s),11),.47-ba*.23,x); +wave_1_per_point75=y= if(equal(int(s),11),.62,y); +wave_1_per_point76=x= if(equal(int(s),12),.47-ba*.23,x); +wave_1_per_point77=y= if(equal(int(s),12),.67+ba*.23,y); +wave_1_per_point78= +wave_1_per_point79=x= if(equal(int(s),13),.53+ba*.23,x); +wave_1_per_point80=y= if(equal(int(s),13),.67+ba*.23,y); +wave_1_per_point81= +wave_1_per_point82=x= if(equal(int(s),14),.53+ba*.23,x); +wave_1_per_point83=y= if(equal(int(s),14),.62,y); +wave_1_per_point84= +wave_1_per_point85=x= if(equal(int(s),15),.50,x); +wave_1_per_point86=y= if(equal(int(s),15),.62,y); +wave_1_per_point87= +wave_1_per_point88=x=x*dim+xpos; +wave_1_per_point89=y=y*dim+ypos; +wave_1_per_point90= +wave_1_per_point91=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_1_per_point92=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_1_per_point93=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_1_per_point94= +wave_1_per_point95=hm=sample+mi2_prg; +wave_1_per_point96=ht=sample+tr_prg; +wave_1_per_point97=hb=sample+ba_prg; +wave_1_per_point98= +wave_1_per_point99=r=hm; +wave_1_per_point100=g=ht; +wave_1_per_point101=b=hb; +wave_1_per_point102=a=.8; +wavecode_2_enabled=1 +wavecode_2_samples=16 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=meanbass = 0.01*(meanbass*99+bass); +wave_2_per_point2=meantreb = 0.01*(meantreb*99+treb); +wave_2_per_point3=meanmid = 0.01*(meanmid*99+mid); +wave_2_per_point4=bassdiff = (bass - meanbass)*15; +wave_2_per_point5=trebdiff = (treb - meantreb)*15; +wave_2_per_point6=middiff = (mid - meanmid)*15; +wave_2_per_point7=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_2_per_point8=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_2_per_point9=mi = min(above(middiff,0)*middiff*.005,.11); +wave_2_per_point10=baprg=baprg+ba*.1; +wave_2_per_point11=trprg=trprg+tr*.24; +wave_2_per_point12=miprg=miprg+tr*.3; +wave_2_per_point13= +wave_2_per_point14= +wave_2_per_point15=dim =.5+.3*sin(miprg); //Dancer dimensions +wave_2_per_point16=xpos=0+.3*sin(trprg);//Dancer x position variation +wave_2_per_point17=ypos=0+.2*sin(baprg);//Dancer y position variation +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21=//Position Stabilization +wave_2_per_point22=xpos=xpos+(1-dim)/2; +wave_2_per_point23=ypos=ypos+(1-dim)/2; +wave_2_per_point24= +wave_2_per_point25=meanbass = 0.01*(meanbass*99+bass); +wave_2_per_point26=meantreb = 0.01*(meantreb*99+treb); +wave_2_per_point27=meanmid = 0.01*(meanmid*99+mid); +wave_2_per_point28=bassdiff = (bass - meanbass)*15; +wave_2_per_point29=trebdiff = (treb - meantreb)*15; +wave_2_per_point30=middiff = (mid - meanmid)*15; +wave_2_per_point31=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_2_per_point32=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_2_per_point33=mi = min(above(middiff,0)*middiff*.005,.11); +wave_2_per_point34= +wave_2_per_point35=mi2_prg = mi2_prg+mi; +wave_2_per_point36=gam = abs(gam-above(mi2_prg,5)); +wave_2_per_point37=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_2_per_point38= +wave_2_per_point39=s = sample *15; +wave_2_per_point40=//Gambe +wave_2_per_point41=x= if(equal(int(s),1),.4,.4); +wave_2_per_point42=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_2_per_point43= +wave_2_per_point44=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_2_per_point45=y= if(equal(int(s),2),.4,y); +wave_2_per_point46= +wave_2_per_point47=x= if(equal(int(s),3),.6,x); +wave_2_per_point48=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_2_per_point49= +wave_2_per_point50=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_2_per_point51=y= if(equal(int(s),4),.4,y); +wave_2_per_point52= +wave_2_per_point53=//Corpo +wave_2_per_point54=x= if(equal(int(s),5),.5,x); +wave_2_per_point55=y= if(equal(int(s),5),.6,y); +wave_2_per_point56= +wave_2_per_point57=//Braccia +wave_2_per_point58=x= if(equal(int(s),6),.4-mi*.23,x); +wave_2_per_point59=y= if(equal(int(s),6),.5+mi,y); +wave_2_per_point60= +wave_2_per_point61=x= if(equal(int(s),7),.5,x); +wave_2_per_point62=y= if(equal(int(s),7),.6,y); +wave_2_per_point63= +wave_2_per_point64=x= if(equal(int(s),8),.6+tr*.23,x); +wave_2_per_point65=y= if(equal(int(s),8),.5+tr,y); +wave_2_per_point66= +wave_2_per_point67=x= if(equal(int(s),9),.5,x); +wave_2_per_point68=y= if(equal(int(s),9),.6,y); +wave_2_per_point69= +wave_2_per_point70=//Testa +wave_2_per_point71=x= if(equal(int(s),10),.5,x); +wave_2_per_point72=y= if(equal(int(s),10),.62,y); +wave_2_per_point73= +wave_2_per_point74=x= if(equal(int(s),11),.47-ba*.23,x); +wave_2_per_point75=y= if(equal(int(s),11),.62,y); +wave_2_per_point76=x= if(equal(int(s),12),.47-ba*.23,x); +wave_2_per_point77=y= if(equal(int(s),12),.67+ba*.23,y); +wave_2_per_point78= +wave_2_per_point79=x= if(equal(int(s),13),.53+ba*.23,x); +wave_2_per_point80=y= if(equal(int(s),13),.67+ba*.23,y); +wave_2_per_point81= +wave_2_per_point82=x= if(equal(int(s),14),.53+ba*.23,x); +wave_2_per_point83=y= if(equal(int(s),14),.62,y); +wave_2_per_point84= +wave_2_per_point85=x= if(equal(int(s),15),.50,x); +wave_2_per_point86=y= if(equal(int(s),15),.62,y); +wave_2_per_point87= +wave_2_per_point88=x=x*dim+xpos; +wave_2_per_point89=y=y*dim+ypos; +wave_2_per_point90= +wave_2_per_point91=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_2_per_point92=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_2_per_point93=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_2_per_point94= +wave_2_per_point95=hm=sample+mi2_prg; +wave_2_per_point96=ht=sample+tr_prg; +wave_2_per_point97=hb=sample+ba_prg; +wave_2_per_point98= +wave_2_per_point99=r=hm; +wave_2_per_point100=g=ht; +wave_2_per_point101=b=hb; +wave_2_per_point102=a=.8; +wavecode_3_enabled=1 +wavecode_3_samples=16 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=rx=at +wave_3_per_point1=meanbass = 0.01*(meanbass*99+bass); +wave_3_per_point2=meantreb = 0.01*(meantreb*99+treb); +wave_3_per_point3=meanmid = 0.01*(meanmid*99+mid); +wave_3_per_point4=bassdiff = (bass - meanbass)*15; +wave_3_per_point5=trebdiff = (treb - meantreb)*15; +wave_3_per_point6=middiff = (mid - meanmid)*15; +wave_3_per_point7=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_3_per_point8=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_3_per_point9=mi = min(above(middiff,0)*middiff*.005,.11); +wave_3_per_point10=baprg=baprg+ba*.26; +wave_3_per_point11=trprg=trprg+tr*.34; +wave_3_per_point12=miprg=miprg+tr*.125; +wave_3_per_point13= +wave_3_per_point14= +wave_3_per_point15=dim =.5+.4*sin(trprg); //Dancer dimensions +wave_3_per_point16=xpos=0+.3*sin(baprg);//Dancer x position variation +wave_3_per_point17=ypos=0+.2*sin(miprg);//Dancer y position variation +wave_3_per_point18= +wave_3_per_point19= +wave_3_per_point20= +wave_3_per_point21=//Position Stabilization +wave_3_per_point22=xpos=xpos+(1-dim)/2; +wave_3_per_point23=ypos=ypos+(1-dim)/2; +wave_3_per_point24= +wave_3_per_point25=meanbass = 0.01*(meanbass*99+bass); +wave_3_per_point26=meantreb = 0.01*(meantreb*99+treb); +wave_3_per_point27=meanmid = 0.01*(meanmid*99+mid); +wave_3_per_point28=bassdiff = (bass - meanbass)*15; +wave_3_per_point29=trebdiff = (treb - meantreb)*15; +wave_3_per_point30=middiff = (mid - meanmid)*15; +wave_3_per_point31=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +wave_3_per_point32=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +wave_3_per_point33=mi = min(above(middiff,0)*middiff*.005,.11); +wave_3_per_point34= +wave_3_per_point35=mi2_prg = mi2_prg+mi; +wave_3_per_point36=gam = abs(gam-above(mi2_prg,5)); +wave_3_per_point37=mi2_prg= if(above(mi2_prg,5),0,mi2_prg); +wave_3_per_point38= +wave_3_per_point39=s = sample *15; +wave_3_per_point40=//Gambe +wave_3_per_point41=x= if(equal(int(s),1),.4,.4); +wave_3_per_point42=y= if(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); +wave_3_per_point43= +wave_3_per_point44=x= if(equal(int(s),2),.5+sin(ba*100)*.03,x); +wave_3_per_point45=y= if(equal(int(s),2),.4,y); +wave_3_per_point46= +wave_3_per_point47=x= if(equal(int(s),3),.6,x); +wave_3_per_point48=y= if(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),y); +wave_3_per_point49= +wave_3_per_point50=x= if(equal(int(s),4),.5+sin(ba*100)*.03,x); +wave_3_per_point51=y= if(equal(int(s),4),.4,y); +wave_3_per_point52= +wave_3_per_point53=//Corpo +wave_3_per_point54=x= if(equal(int(s),5),.5,x); +wave_3_per_point55=y= if(equal(int(s),5),.6,y); +wave_3_per_point56= +wave_3_per_point57=//Braccia +wave_3_per_point58=x= if(equal(int(s),6),.4-mi*.23,x); +wave_3_per_point59=y= if(equal(int(s),6),.5+mi,y); +wave_3_per_point60= +wave_3_per_point61=x= if(equal(int(s),7),.5,x); +wave_3_per_point62=y= if(equal(int(s),7),.6,y); +wave_3_per_point63= +wave_3_per_point64=x= if(equal(int(s),8),.6+tr*.23,x); +wave_3_per_point65=y= if(equal(int(s),8),.5+tr,y); +wave_3_per_point66= +wave_3_per_point67=x= if(equal(int(s),9),.5,x); +wave_3_per_point68=y= if(equal(int(s),9),.6,y); +wave_3_per_point69= +wave_3_per_point70=//Testa +wave_3_per_point71=x= if(equal(int(s),10),.5,x); +wave_3_per_point72=y= if(equal(int(s),10),.62,y); +wave_3_per_point73= +wave_3_per_point74=x= if(equal(int(s),11),.47-ba*.23,x); +wave_3_per_point75=y= if(equal(int(s),11),.62,y); +wave_3_per_point76=x= if(equal(int(s),12),.47-ba*.23,x); +wave_3_per_point77=y= if(equal(int(s),12),.67+ba*.23,y); +wave_3_per_point78= +wave_3_per_point79=x= if(equal(int(s),13),.53+ba*.23,x); +wave_3_per_point80=y= if(equal(int(s),13),.67+ba*.23,y); +wave_3_per_point81= +wave_3_per_point82=x= if(equal(int(s),14),.53+ba*.23,x); +wave_3_per_point83=y= if(equal(int(s),14),.62,y); +wave_3_per_point84= +wave_3_per_point85=x= if(equal(int(s),15),.50,x); +wave_3_per_point86=y= if(equal(int(s),15),.62,y); +wave_3_per_point87= +wave_3_per_point88=x=x*dim+xpos; +wave_3_per_point89=y=y*dim+ypos; +wave_3_per_point90= +wave_3_per_point91=mi_prg= if(above(mi_prg,5),0,mi_prg+mi*.1); +wave_3_per_point92=ba_prg= if(above(ba_prg,5),0,ba_prg+ba*.1); +wave_3_per_point93=tr_prg= if(above(tr_prg,5),0,tr_prg+tr*.1); +wave_3_per_point94= +wave_3_per_point95=hm=sample+mi2_prg; +wave_3_per_point96=ht=sample+tr_prg; +wave_3_per_point97=hb=sample+ba_prg; +wave_3_per_point98= +wave_3_per_point99=r=hm; +wave_3_per_point100=g=ht; +wave_3_per_point101=b=hb; +wave_3_per_point102=a=.8; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.840000 +shapecode_0_y=0.740000 +shapecode_0_rad=0.289992 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.321291 +shapecode_0_r=0.100000 +shapecode_0_g=0.500000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.100000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.400000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=meantreb = 0.01*(meantreb*99+treb); +shape_0_per_frame2=trebdiff = (treb - meantreb)*15; +shape_0_per_frame3=tr = min(above(trebdiff,0)*trebdiff*.005,.11); +shape_0_per_frame4= +shape_0_per_frame5=tr_prg= tr_prg+tr; +shape_0_per_frame6= +shape_0_per_frame7=tex_ang =-tr_prg; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.150000 +shapecode_1_y=0.730000 +shapecode_1_rad=0.511334 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.361326 +shapecode_1_r=0.600000 +shapecode_1_g=0.600000 +shapecode_1_b=0.200000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.600000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.210000 +shapecode_1_a2=0.899999 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_1_per_frame2=bassdiff = (bass - meanbass)*15; +shape_1_per_frame3=ba = min(above(bassdiff,0)*bassdiff*.005,.11); +shape_1_per_frame4= +shape_1_per_frame5= +shape_1_per_frame6=ba_prg= ba_prg+ba; +shape_1_per_frame7= +shape_1_per_frame8=tex_ang =-ba_prg; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q1=acos(-1)*2; +per_frame_1=decay=.30; +per_frame_2= +per_frame_3=meanmid = 0.01*(meanmid*99+mid); +per_frame_4=middiff = (mid - meanmid)*15; +per_frame_5=mi = min(above(middiff,0)*middiff*.005,.11); +per_frame_6= +per_frame_7=mi_prg = mi_prg+mi; +per_frame_8=gam = abs(gam-above(mi_prg,.5)); +per_frame_9=mi_prg= if(above(mi_prg,.5),0,mi_prg); +per_frame_10=miprg=miprg+mi; +per_frame_11=q1=gam; +per_frame_12=monitor =mi_prg; +per_frame_13= +per_frame_14= +per_frame_15=//Thanks to krash for beat detection (modified) +per_frame_16=volume = 0.3*bass+mid; +per_frame_17=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_18=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_19=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_20=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_21=peakbass_att = max(bass_att,peakbass_att); +per_frame_22=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_23=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_24=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_25=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_26=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_27= +per_frame_28=echo_zoom =pow(1/(1.8+1.5*sin(miprg)),.5); +per_frame_29=monitor=echo_zoom; +per_frame_30=//oldecho = echo_zoom; +per_pixel_1= +per_pixel_2= +per_pixel_3= +per_pixel_4=DY =dy-.004*below(y,1)*(rad+.1)*bass;//*(1-below(y,.50)*above(y,.479)); +per_pixel_5=//zoom=zoom+above(y,.49)*.1; +per_pixel_6=sx = sy-below(y,1)*.001; +per_pixel_7=dx=dx+.01*bass*(1-q1*2);//sin(bass*.2); +per_pixel_8=rot=rot+.051*below(y,1);//*(1-below(y,.49)*above(y,.47)); +per_pixel_9=cx=int(x*16)/16; +per_pixel_10=cy=int(y*16)/16; diff --git a/presets/presets_tryptonaut/Mstress & Zylot - Acid UFO.milk b/presets/presets_tryptonaut/Mstress & Zylot - Acid UFO.milk new file mode 100755 index 0000000000..f3d95437c6 --- /dev/null +++ b/presets/presets_tryptonaut/Mstress & Zylot - Acid UFO.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.99 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.179297 +fWaveScale=0.491915 +fWaveSmoothing=0.216 +fWaveParam=-0.42 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.001829 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999005 +sy=0.999005 +wave_r=0.77 +wave_g=0.6 +wave_b=0.6 +wave_x=0.42 +wave_y=0.5 +ob_size=0.02 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.250001 +ib_size=0.155 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.27 +nMotionVectorsX=30.079998 +nMotionVectorsY=0 +mv_dx=0.32 +mv_dy=0.42 +mv_l=3.199998 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = min(1,max(0,0.3*bass)); +per_frame_3=wave_g = min(1,max(0,0.3*mid)); +per_frame_4=wave_b = min(1,max(0,0.3*treb)); +per_frame_5= +per_frame_6=//Thanks to Zylot for rainbow generator +per_frame_7=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_8=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_9=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_10=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_11=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_12=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_13=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_14=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_15= +per_frame_16=mbass=max(bass_att,3); +per_frame_17=xmovn = 0.1*rand(10)*mbass*0.015*(1-2*above(rand(10),5)); +per_frame_18=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(rand(10),5)); +per_frame_19=//ymovn=.05; +per_frame_20=xmov = if(beat,xmovn,xmov*.9); +per_frame_21=ymov = if(beat,ymovn,ymov*.9); +per_frame_22=q1=oldx; +per_frame_23=q2=oldy; +per_frame_24=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); +per_frame_25=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); +per_frame_26=xmov = xmov + (-2*xmov*out_x); +per_frame_27=ymov = ymov + (-2*ymov*out_y); +per_frame_28=wave_x = q1+xmov ; +per_frame_29=wave_y = q2+ymov; +per_frame_30=q1=wave_x; +per_frame_31=q2=wave_y; +per_frame_32=oldx = q1; +per_frame_33=oldy = q2; +per_frame_34= +per_frame_35=decay = decay - 0.91*(treble); +per_frame_36= +per_frame_37=//Thanks to krash for beat detection (modified) +per_frame_38=volume = 0.3*bass+mid; +per_frame_39=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_40=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_41=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_42=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_43=peakbass_att = max(bass_att,peakbass_att); +per_frame_44=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_49=q3=volume+treb; +per_frame_50=monitor =meanbass_att; +per_pixel_1=mx= x-q1; +per_pixel_2=my = y-(1-q2); +per_pixel_3=mrad = pow(pow(mx,2)+pow(my,2),0.5)*pow(2,0.5); +per_pixel_4=cx = q1; +per_pixel_5=cy = 1-q2; +per_pixel_6=rot= rot + below(mrad-0.18,0)*0.5*sin(mrad*40)*(mrad-0.1)*40- above(mrad-0.18,0)*0.3*sin(mrad*2)*(mrad-0.1)*sin((cx-0.5)*(cy-0.5)*6.28)*q3; +per_pixel_7=zoom= zoom - above(mrad-0.18,0)*0.05*mrad*q3; +per_pixel_8=dx = dx +below(mrad-0.18,0)*0.015*(mx/mrad); +per_pixel_9=dy = dy +below(mrad-0.18,0)*0.015*(my/mrad); +per_frame_init_1=oldx=.5; +per_frame_init_2=oldy=.5; diff --git a/presets_projectM/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk b/presets/presets_tryptonaut/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk similarity index 100% rename from presets_projectM/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk rename to presets/presets_tryptonaut/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk diff --git a/presets/presets_tryptonaut/Mstress - Acoustic Nerve Impulses.milk b/presets/presets_tryptonaut/Mstress - Acoustic Nerve Impulses.milk new file mode 100755 index 0000000000..a15f7810fa --- /dev/null +++ b/presets/presets_tryptonaut/Mstress - Acoustic Nerve Impulses.milk @@ -0,0 +1,294 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.988999 +fVideoEchoZoom=1.168096 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=1.000509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000022 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.700000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=73 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.832629 +shapecode_0_ang=6.031858 +shapecode_0_tex_ang=5.780530 +shapecode_0_tex_zoom=0.999998 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=flag1=int(abs(flag1-q1)); +shape_0_per_frame2=flag=int(abs(flag-q1*flag1)); +shape_0_per_frame3=ang =ang +if(flag,0,-.4)+abs(sin(bass))*.4*if(flag,1,-1); +shape_0_per_frame4= +shape_0_per_frame5=x=x+sin(time*.7)*.06; +shape_0_per_frame6=y=y+sin(time*.5)*.06; +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.810000 +shapecode_1_y=0.220000 +shapecode_1_rad=0.506271 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.890000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.310000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=flag = abs(flag-q1); +shape_1_per_frame2=y = if(flag,.8,.2); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.181000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599578 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=flag = abs(flag-q1); +shape_2_per_frame2=y = if(flag,.2,.8); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.560000 +shapecode_3_y=0.150000 +shapecode_3_rad=0.230671 +shapecode_3_ang=5.403541 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.400000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=meanbass = 0.01*(meanbass*99+bass); +shape_3_per_frame2=meantreb = 0.01*(meantreb*99+treb); +shape_3_per_frame3=meanmid = 0.01*(meanmid*99+mid); +shape_3_per_frame4=bassdiff = (bass - meanbass)*15; +shape_3_per_frame5=trebdiff = (treb - meantreb)*15; +shape_3_per_frame6=middiff = (mid - meanmid)*15; +shape_3_per_frame7=bassdiff = above(bassdiff,0)*bassdiff; +shape_3_per_frame8=trebdiff = above(trebdiff,0)*trebdiff; +shape_3_per_frame9=middiff = above(middiff,0)*middiff; +shape_3_per_frame10= +shape_3_per_frame11=g = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame12=r = min(1,max(0,0.2*middiff)); +shape_3_per_frame13=b = min(1,max(0,0.2*bassdiff)); +shape_3_per_frame14=g2 = min(1,max(0,0.2*trebdiff)); +shape_3_per_frame15=r2 = min(1,max(0,0.2*middiff)); +shape_3_per_frame16=b2 = min(1,max(0,0.2*bassdiff)); +per_frame_init_1=oldy=.4; +per_frame_1=ib_g = abs(sin(0.1*time))*0.2; +per_frame_2=ib_b = abs(sin(0.3*time))*0.2; +per_frame_3=ib_r = abs(sin(0.7*time))*0.2; +per_frame_4= +per_frame_5= +per_frame_6=ob_b=abs(sin(time*100+time)); +per_frame_7=ob_r=abs(sin(time*512+time)); +per_frame_8=ob_g=abs(sin(time*10+time)); +per_frame_9=ib_b=abs(sin(time*10+time)); +per_frame_10=ib_r=abs(sin(time*512+time)); +per_frame_11=ib_g=abs(sin(time*100+time)); +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=meanbass = 0.01*(meanbass*99+bass); +per_frame_17=meantreb = 0.01*(meantreb*99+treb); +per_frame_18=meanmid = 0.01*(meanmid*99+mid); +per_frame_19=bassdiff = (bass - meanbass)*15; +per_frame_20=trebdiff = (treb - meantreb)*15; +per_frame_21=middiff = (mid - meanmid)*15; +per_frame_22=bassdiff = above(bassdiff,0)*bassdiff; +per_frame_23=trebdiff = above(trebdiff,0)*trebdiff; +per_frame_24=middiff = above(middiff,0)*middiff; +per_frame_25= +per_frame_26=ob_g = min(1,max(0,0.2*trebdiff)); +per_frame_27=ob_r = min(1,max(0,0.2*middiff)); +per_frame_28=ob_b = min(1,max(0,0.2*bassdiff)); +per_frame_29= +per_frame_30= +per_frame_31= +per_frame_32= +per_frame_33=//Thanks to krash for beat detection (modified) +per_frame_34=volume = 0.3*bass+mid; +per_frame_35=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_36=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_37=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_38=runmeanbass =(runmeanbass*2 + bass_att)/3; +per_frame_39=peakbass_att = max(bass_att,peakbass_att); +per_frame_40=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_41=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_42=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_43=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_44=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_45=q1 = beat; +per_frame_46= +per_frame_47=temp = y; +per_frame_48=y = if(beat,oldy,y); +per_frame_49=oldy=if(beat,temp,oldy); +per_frame_50= +per_frame_51=monitor =y; diff --git a/presets/presets_tryptonaut/Mstress - Snowing Fiber City.milk b/presets/presets_tryptonaut/Mstress - Snowing Fiber City.milk new file mode 100755 index 0000000000..12a4b597f9 --- /dev/null +++ b/presets/presets_tryptonaut/Mstress - Snowing Fiber City.milk @@ -0,0 +1,210 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.168096 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999998 +fShader=0.000000 +zoom=0.463900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000022 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.035000 +ob_r=0.340000 +ob_g=0.340000 +ob_b=0.340000 +ob_a=0.380000 +ib_size=0.020000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.210000 +nMotionVectorsX=28.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279600 +wavecode_0_smoothing=0.700000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.520000 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*103.41 + time*0.1); +wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); +wave_0_per_point3=b=abs(sin(sample*100+time)); +wave_0_per_point4=r=abs(sin(sample*512+time)); +wave_0_per_point5=g=abs(sin(sample*10+time)); +wave_0_per_point6= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.150000 +shapecode_0_ang=0.000000 +shapecode_0_r=0.790000 +shapecode_0_g=0.460000 +shapecode_0_b=0.420000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.360000 +shapecode_0_g2=0.460001 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_init1=oldx=.5; +shape_0_init2=oldy=.5; +shape_0_per_frame1=rad=rad+.1*sin(time); +shape_0_per_frame2=mbass=max(bass_att,3); +shape_0_per_frame3=xmovn = 0.1*rand(10)*mbass*0.015*(1-2*above(rand(10),5)); +shape_0_per_frame4=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(rand(10),5)); +shape_0_per_frame5=//ymovn=.05; +shape_0_per_frame6=xmov = if(beat,xmovn,xmov*.9); +shape_0_per_frame7=ymov = if(beat,ymovn,ymov*.9); +shape_0_per_frame8=q1=oldx; +shape_0_per_frame9=q2=oldy; +shape_0_per_frame10=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); +shape_0_per_frame11=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); +shape_0_per_frame12=xmov = xmov + (-2*xmov*out_x); +shape_0_per_frame13=ymov = ymov + (-2*ymov*out_y); +shape_0_per_frame14=x = q1+xmov ; +shape_0_per_frame15=y = q2+ymov; +shape_0_per_frame16=q1=x; +shape_0_per_frame17=q2=y; +shape_0_per_frame18=oldx = q1; +shape_0_per_frame19=oldy = q2; +shape_0_per_frame20= +shape_0_per_frame21=decay = decay - 0.91*(treble); +shape_0_per_frame22= +shape_0_per_frame23=//Thanks to krash for beat detection (modified) +shape_0_per_frame24=volume = 0.3*bass+mid; +shape_0_per_frame25=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +shape_0_per_frame26=lastbeat = lastbeat + equal(lastbeat,0)*time; +shape_0_per_frame27=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +shape_0_per_frame28=runmeanbass =(runmeanbass*2 + bass_att)/3; +shape_0_per_frame29=peakbass_att = max(bass_att,peakbass_att); +shape_0_per_frame30=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +shape_0_per_frame31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +shape_0_per_frame32=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +shape_0_per_frame33=lastbeat = beat*time + (1-beat)*lastbeat; +shape_0_per_frame34=peakbass_att = max(peakbass_att,1.1*meanbass_att); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=rot=tot+.1*sin(time); +per_frame_2=dx=dx+.1*sin(time*.5); +per_frame_3=dy=dy+.1*sin(time*.3); diff --git a/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2) AMAZING MASUP .milk b/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2) AMAZING MASUP .milk new file mode 100755 index 0000000000..e510b29cd2 --- /dev/null +++ b/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2) AMAZING MASUP .milk @@ -0,0 +1,318 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.63006 +fShader=0.000 +zoom=1.03100 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = int(rand(20)); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv)*0.4; +comp_5=` +comp_6=` // palettize: +comp_7=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_8=` ret = pow(ret, float3(1.7-(bass*.5), 1.7-(treb*.5), 1.7-(mid*.5))); +comp_9=` +comp_10=` //ret.xyz *= 2; // a little bit of overbright +comp_11=`} +comp_12=` +comp_13=` diff --git a/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Zylot - In death there is life (Dancing Lights mix)+ Tumbling Cubes 3d.milk b/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Zylot - In death there is life (Dancing Lights mix)+ Tumbling Cubes 3d.milk new file mode 100755 index 0000000000..8be2097e52 --- /dev/null +++ b/presets/presets_tryptonaut/NeW Adam Master Mashup FX 2 Zylot - In death there is life (Dancing Lights mix)+ Tumbling Cubes 3d.milk @@ -0,0 +1,314 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.535 +fWaveSmoothing=0.000 +fWaveParam=-0.480 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.63006 +fShader=0.000 +zoom=1.03100 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.650 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=6.400 +nMotionVectorsY=48.000 +mv_dx=0.500 +mv_dy=0.500 +mv_l=5.000 +mv_r=0.014 +mv_g=0.872 +mv_b=0.522 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.74630 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.94204 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.74630 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.94204 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.36456 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.36456 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret = ret- (ret*.5); +warp_8=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_9=` ret = ret - .01; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 5.00; //gamma +comp_5=` ret += 1.2; +comp_6=` float gb = GetBlur1(uv); +comp_7=` ret = (ret*gb)*float3(1+.2*sin(time),1+.2*sin(time*.2233333),1+.2*sin(time*.733467)); +comp_8=` +comp_9=`} +comp_10=` diff --git a/presets/presets_tryptonaut/New Creation Sensation - AdamFx,Flexi,Amandio c n Martin - Star to Another World ft Hexocollie n Shadow Harlequin n Geiss B.milk b/presets/presets_tryptonaut/New Creation Sensation - AdamFx,Flexi,Amandio c n Martin - Star to Another World ft Hexocollie n Shadow Harlequin n Geiss B.milk new file mode 100755 index 0000000000..c5433750f1 --- /dev/null +++ b/presets/presets_tryptonaut/New Creation Sensation - AdamFx,Flexi,Amandio c n Martin - Star to Another World ft Hexocollie n Shadow Harlequin n Geiss B.milk @@ -0,0 +1,494 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 + 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=r = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 + 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1+sin(sp); +wave_2_per_point40=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=1.800 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 0.5; +per_frame_init_2=x2 = 0.51; +per_frame_init_3= +per_frame_init_4=y2 = 0.9; +per_frame_init_5=y1 = 0.7; +per_frame_init_6= +per_frame_init_7=x3 = 0.8; +per_frame_init_8=y3 = 0.5; +per_frame_init_9= +per_frame_init_10=x4 = 0.2; +per_frame_init_11=y4 = 0.5; +per_frame_init_12= +per_frame_init_13= +per_frame_init_14=ax1 = 0; +per_frame_init_15=ay1 = 0; +per_frame_init_16=ax2 = 0; +per_frame_init_17=ay2 = 0; +per_frame_init_18=ax3 = 0; +per_frame_init_19=ay3 = 0; +per_frame_init_20= +per_frame_init_21=vx1 = 0.000; +per_frame_init_22=vx2 = 0.000; +per_frame_1= +per_frame_2=sx=1+.01*(8*bass%8)*equal(time%(int(24-2*bass)),0); +per_frame_3=sy=1+.01*(8*mid%8) *equal(time%(12+int(24-2*bass)),0); +per_frame_4= +per_frame_5=zoom = 1; +per_frame_6=warp = 0; +per_frame_7=wave_a = 0; +per_frame_8=//pogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogo +per_frame_9=r = 0.12+ max(bass_att,treb_att)*0.002; +per_frame_10=bounce = below(y1,r); +per_frame_11=y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.94 + (r-y1)*0.1, vy1-0.0003*60/fps); +per_frame_12=bounce = below(x1,r);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.94 + (r-x1)*0.1, vx1); +per_frame_13=bounce = above(x1,1-r);vx1 = if(bounce, - abs(vx1)*0.94 + (1-r-x1)*0.04, vx1); +per_frame_14=bounce = below(y2,r);y2 = y2 + vy2;vy2 = if(bounce,abs(vy2)*0.94+(r-y2)*.1, vy2-0.0003*60/fps); +per_frame_15=bounce = below(x2,r);x2 = x2+ vx2;vx2 = if(bounce, abs(vx2)*0.94 + (r-x2)*0.1, vx2); +per_frame_16=bounce = above(x2,1-r);vx2 = if(bounce, - abs(vx2)*0.94 + (1-r-x2)*0.1, vx2); +per_frame_17=bounce = below(y3,r);y3 = y3 + vy3;vy3 = if(bounce,abs(vy3)*0.94+(r-y3)*.1, vy3-0.0003*60/fps); +per_frame_18=bounce = below(x3,r);x3 = x3+ vx3;vx3 = if(bounce, abs(vx3)*0.94 + (r-x3)*0.1, vx3); +per_frame_19=bounce = above(x3,1-r);vx3 = if(bounce, - abs(vx3)*0.94 + (1-r-x3)*0.1, vx3); +per_frame_20=bounce = below(y4,r);y4 = y4 + vy4;vy4 = if(bounce,abs(vy4)*0.94+(r-y4)*.1, vy4-0.0003*60/fps); +per_frame_21=bounce = below(x4,r);x4 = x4+ vx4;vx4 = if(bounce, abs(vx4)*0.94 + (r-x4)*0.1, vx4); +per_frame_22=bounce = above(x4,1-r);vx4 = if(bounce, - abs(vx4)*0.94 + (1-r-x4)*0.1, vx4); +per_frame_23=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_24=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_25=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_26=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_27=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_28=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_29=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_30=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_31=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_32=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_33=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_34=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_35=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_36=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_37=bounce = below( sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)), 2*r); +per_frame_38=ref_ang = atan2(x3-x2,y3-y2)+asin(1); // common tangent +per_frame_39=v1 = sqrt(vx2*vx2+vy2*vy2);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx2,vy2);w2 = atan2(vx3,vy3); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx2); +per_frame_41=vy2 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy2); +per_frame_42=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_43=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_44=bounce = below( sqrt( sqr(x1+vx1-x4-vx4) + sqr(y1+vy1-y4-vy4)), 2*r); +per_frame_45=ref_ang = atan2(x4-x1,y4-y1)+asin(1); // common tangent +per_frame_46=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx1,vy1);w2 = atan2(vx4,vy4); +per_frame_47=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_48=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_49=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_50=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_51=bounce = below( sqrt( sqr(x2+vx2-x4-vx4) + sqr(y2+vy2-y4-vy4)), 2*r); +per_frame_52=ref_ang = atan2(x4-x2,y4-y2)+asin(1); // common tangent +per_frame_53=v1 = sqrt(vx2*vx2+vy2*vy2);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx2,vy2);w2 = atan2(vx4,vy4); +per_frame_54=vx2 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx2); +per_frame_55=vy2 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy2); +per_frame_56=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_57=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_58=bounce = below( sqrt( sqr(x3+vx3-x4-vx4) + sqr(y3+vy3-y4-vy4)), 2*r); +per_frame_59=ref_ang = atan2(x4-x3,y4-y3)+asin(1); // common tangent +per_frame_60=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx4*vx4+vy4*vy4);w1 = atan2(vx3,vy3);w2 = atan2(vx4,vy4); +per_frame_61=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_62=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_63=vx4 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx4); +per_frame_64=vy4 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy4); +per_frame_65=//pogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogopogo +per_frame_66=q1 = aspectx; +per_frame_67=q2 = aspecty; +per_frame_68=q3 = x1; +per_frame_69=q4 = y1; +per_frame_70=q5 = r; +per_frame_71=q6 = x2; +per_frame_72=q7 = y2; +per_frame_73=q8 = r; +per_frame_74=q9 = x3; +per_frame_75=q10 = y3; +per_frame_76=q11 = r; +per_frame_77=q12 = x4; +per_frame_78=q13 = y4; +per_frame_79=q14 = r; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.0*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`float3 Feedback = GetBlur1(1-uv); +warp_7=` +warp_8=`float2 zz = uv1 *texsize.xy *.01; +warp_9=`zz =mul(zz,float2x2(_qa)); +warp_10=`zz = zz.yx; +warp_11=`float2 h1 = cos(zz); +warp_12=` +warp_13=`uv += h1*texsize.zw * 12; +warp_14=` +warp_15=`float3 crisp = tex2D(sampler_main,uv); +warp_16=` +warp_17=`ret = crisp+noiseVal-.01; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .1; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, q27*rad1); +comp_9=`uv2.y = uv2.y +.1*q30; +comp_10=`uv2.x = uv2.x +.2*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, 4*rad1); +comp_13=`uv3.y = uv3.y -.2*q30; +comp_14=`uv3.x = uv3.x +.0*time; +comp_15=`uv3 = frac(uv3); +comp_16=` +comp_17=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_18=`crisp = max(crisp,2*GetBlur2(frac(uv2)) + GetBlur2(frac(uv3))); +comp_19=` +comp_20=`float3 lay1 = uv.y*pow(1-rad,8)*roam_cos; +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=`float mask = saturate(1-4*rad); +comp_24=` +comp_25=`ret = crisp + lay1*mask + mask * 2*GetBlur1(frac(uv)); +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/New MilkTrend Trend Setters - Amandio c + flexi - Ft AdamFX n Stahlregen Martin - Ufoz Identified .milk b/presets/presets_tryptonaut/New MilkTrend Trend Setters - Amandio c + flexi - Ft AdamFX n Stahlregen Martin - Ufoz Identified .milk new file mode 100755 index 0000000000..cdb9ac60c0 --- /dev/null +++ b/presets/presets_tryptonaut/New MilkTrend Trend Setters - Amandio c + flexi - Ft AdamFX n Stahlregen Martin - Ufoz Identified .milk @@ -0,0 +1,351 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=100.000 +fWaveScale=0.466 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.010 +fZoomExponent=1.00100 +fShader=0.600 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.710 +ob_size=0.005 +ob_r=1.000 +ob_g=0.370 +ob_b=0.490 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16217 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=.5+.05*tan(2*3.14*x)+.1*tan(2*3.14*q2*x); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.01000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=.17+.02*sin(7*3.14*x); +wave_1_per_point3=x=x+3.14*.022*sin(7*time) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.01000 +wavecode_2_smoothing=1.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.010 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=x=.5+.05*sample; +wave_2_per_point2=y=.19+.03*cos(23.5*x); +wave_2_per_point3=x=x+.003*(sin(time)); +wave_2_per_point4=y=y+.11*sin(time)*sin(2*3.14*x); +wave_2_per_point5=y=y+.02*sin(.4*time); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_point1=x=.52+.01*sample; +wave_3_per_point2=y=.2+.04*sample; +wave_3_per_point3= +wave_3_per_point4=x=x+.001*q7*sin(15*q7); +wave_3_per_point5=y=y+.001*q7*cos(15*q7); +wave_3_per_point6= +wave_3_per_point7=//x=x+.2*(sin(time)+cos(time)); +wave_3_per_point8=//y=y+.2*(sin(time)-cos(time)); +wave_3_per_point9= +wave_3_per_point10=b=sample; +wave_3_per_point11=g=sample; +wave_3_per_point12=r=sample; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.040 +shapecode_0_rad=0.01000 +shapecode_0_ang=1.31947 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.67165 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=rad=.25+.03*(.2*q5+.8*q6+2*bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.420 +shapecode_1_y=0.000 +shapecode_1_rad=0.10721 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1=sin(time); +per_frame_2=q2=sin(.3*time); +per_frame_3=q3=sin(.2*time); +per_frame_4=q4=sin(.1*time); +per_frame_5=q5=sin(20*time); +per_frame_6=q6=sin(25*time); +per_frame_7= +per_frame_8=ib_g=.9+.1*q4; +per_frame_9=ib_r=.7+.15*q2; +per_frame_10=ib_b=.8+.2*q3; +per_frame_11=ob_g=.6+.1*q4; +per_frame_12=ob_r=.4+.15*q2; +per_frame_13=ob_b=.5+.2*q3; +per_frame_14= +per_frame_15=t1=.008+t1; +per_frame_16=t1=above(15,t1)*t1; +per_frame_17=t2=.004+t2; +per_frame_18=t2=above(20,t2)*t2; +per_frame_19=t3=.006+t3; +per_frame_20=t3=above(15,t3)*t3; +per_frame_21= +per_frame_22=q7=t1; +per_frame_23=q8=t2; +per_frame_24=q9=t3; +per_frame_25= +per_frame_26=monitor=q7; +per_frame_27= +per_frame_28=// lines below belong to the bipolar composite shader +per_frame_29= +per_frame_30=bb = bb*0.99 + bass*0.02; +per_frame_31=mm = mm*0.99 + mid*0.02; +per_frame_32=tt = tt*0.99 + treb*0.02; +per_frame_33= +per_frame_34=mx = max(max(bb,mm),tt); +per_frame_35=mn = min(min(bb,mm),tt); +per_frame_36= +per_frame_37=t1 = (bb-mn)/(mx-mn); +per_frame_38=t2 = (mm-mn)/(mx-mn); +per_frame_39=t3 = (tt-mn)/(mx-mn); +per_frame_40= +per_frame_41=v = 0.3/fps; +per_frame_42=bm = bm + (t1-t2)*v; +per_frame_43=mt = mt + (t2-t3)*v; +per_frame_44= +per_frame_45=// coordinates pole 1 +per_frame_46=q21 = 0; // X +per_frame_47=q22 = 0.5; // Y +per_frame_48= +per_frame_49=// coordinates pole 2 +per_frame_50=q23 = 0; +per_frame_51=q24 = -0.5; +per_frame_52= +per_frame_53=q25 = 0.5/asin(1); // pi/4 +per_frame_54= +per_frame_55=q26 = bm; // longitude +per_frame_56=q27 = mt; // latitude +per_pixel_1=dx= 0.006*sin(y) + 0.003*tan(10+20*y); +per_pixel_2=dy= 0.005*sin(x) + 0.02*tan(30*x); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).y*0.65; +warp_5=` +warp_6=` +warp_7=`float2 d = texsize.zw*6; +warp_8=`float2 uv_z = (uv_orig-0.5)*0.996 + 0.5; // a small dose of zoom-in +warp_9=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_11=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_12=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_13=` tex2d(sampler_fc_main,uv_z).z); +warp_14=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_15=` +warp_16=` +warp_17=`float2 uv_y = lerp(uv,uv_orig,1.0004); // pushing the glassy stuff a little bit +warp_18=`ret.y =max(tex2d(sampler_fc_main,uv_y).y ,tex2d(sampler_fc_main,uv_orig).z)-0.008; // feeded by the green channel and fade-out +warp_19=` +warp_20=`ret.z *=1+ret.y*0.024; +warp_21=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=` +comp_6=`float2 uv1 = (uv-.5)*aspect.xy; +comp_7=` +comp_8=`rs.x = ang/3.14 + q28; +comp_9=`rs.y = .1/(.05+length (uv1))+time*.5; +comp_10=` +comp_11=`uv = frac(rs); +comp_12=`uv1 = frac(rs); +comp_13=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv); +comp_14=` +comp_15=`float2 hor = float2 (texsize.z,0); +comp_16=`float2 ver = float2 (0,texsize.w); +comp_17=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_18=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_19=`float2 dz = float2 (dx,dy); +comp_20=` +comp_21=`uv1 = .3*cos(uv1*16) - 4*dz;; +comp_22=`float3 dots = saturate(.04/length(uv1)); +comp_23=` +comp_24=`ret1 = 4*(1+bass_att)*dots*(.6-ret1); +comp_25=` +comp_26=`ret = .8*ret1; +comp_27=`} diff --git a/presets/presets_tryptonaut/NiGHtHawK - Eye of Gawd_Phat_Spiral_edit_v2.milk b/presets/presets_tryptonaut/NiGHtHawK - Eye of Gawd_Phat_Spiral_edit_v2.milk new file mode 100755 index 0000000000..cbd6c79a09 --- /dev/null +++ b/presets/presets_tryptonaut/NiGHtHawK - Eye of Gawd_Phat_Spiral_edit_v2.milk @@ -0,0 +1,236 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.996176 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003300 +fWaveScale=0.572643 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.240000 +fModWaveAlphaEnd=1.300001 +fWarpAnimSpeed=1.000000 +fWarpScale=0.987499 +fZoomExponent=0.012180 +fShader=0.000000 +zoom=0.995530 +rot=-0.700000 +cx=0.500000 +cy=0.500000 +dx=0.080000 +dy=-0.015000 +warp=0.013213 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.150000 +ib_size=0.000000 +ib_r=0.340000 +ib_g=0.340000 +ib_b=0.340000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=16 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.279692 +wavecode_0_smoothing=0.700000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.610000 +wave_0_init1=t8 = time; +wave_0_per_frame1=t7 = t8; +wave_0_per_frame2=t8 = time; +wave_0_per_point1=x = 0.5 + sin(sample*13 + time*0.1); +wave_0_per_point2=y = 0.2 + sin(sample*90) + 0.02*sin(time*4.5); +wave_0_per_point3=//x = .5 + (bass*.2)*sin(sample*2*(time*10*treb)); +wave_0_per_point4=//y = .5 + (bass*.2)*cos(sample*2*(time*10*treb)); +wave_0_per_point5=b=abs(sin(sample*100+time)); +wave_0_per_point6=r=abs(sin(sample*510+time)); +wave_0_per_point7=g=abs(sin(sample*200+time)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.298779 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.230000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.120000 +shape_0_per_frame1=x = 0.5+0.0*bass_att*sin(time); +shape_0_per_frame2=//y = 0.5+0.0*bass_att*cos(time); +shape_0_per_frame3= +shape_0_per_frame4=b=abs(sin(treb*100+time)); +shape_0_per_frame5=r=abs(sin(bass*510+time)); +shape_0_per_frame6=g=abs(sin(mid*200+time)); +shape_0_per_frame7=ang = time*0.8;; +shape_0_per_frame8=rad = rad+.01*bass; +shape_0_per_frame9= +shape_0_per_frame10=b2=abs(sin(treb*10+time)); +shape_0_per_frame11=r2=abs(sin(bass*50+time)); +shape_0_per_frame12=g2=abs(sin(mid*20+time)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=2.130193 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_ang=(sin(time)*0.5+0.5); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.491381 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=1.220187 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.221671 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451117 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tex_ang=sin(time/4)*6.28; +per_frame_1=warp =0; +per_frame_2=dx=0.050+((sin(time)*0.5+0.5)*0.1); +per_frame_3= +per_frame_4= +per_frame_5=zoom=.99 diff --git a/presets/presets_tryptonaut/ORB - Acid Cycle Gas Giant.milk b/presets/presets_tryptonaut/ORB - Acid Cycle Gas Giant.milk new file mode 100755 index 0000000000..dd51369260 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Acid Cycle Gas Giant.milk @@ -0,0 +1,380 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.266718 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.160000 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.500000 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,5),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,5),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=state = state + above(diff,10); +per_frame_44=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_45=q8 = spintime; +per_frame_46= +per_frame_47=state2 = state2 + above(diff,10); +per_frame_48=state2 = if(above(state2,10),1,state2); +per_frame_49=q9 = state2; +per_frame_50= +per_frame_51=monitor = state2; +per_pixel_1=zoom = 1.05 - q3*0.05; +per_pixel_2=rot = sin(rad)*0.01; +per_pixel_3=warp = 2*zoom*rad; +per_pixel_4= +per_pixel_5= +per_pixel_6=//rules +per_pixel_7=fuzzy1 = x; +per_pixel_8=fuzzy3 = x-1; +per_pixel_9=fuzzy2 = y; +per_pixel_10=fuzzy4 = y-1; +per_pixel_11= +per_pixel_12=//activations approx sawtooth with sin curve +per_pixel_13=f1 = sin(q2 - 1.5707); +per_pixel_14=f2 = sin(q2); +per_pixel_15=f3 = sin(q2 + 1.5707); +per_pixel_16=f4 = sin(q2 + 3.14); +per_pixel_17= +per_pixel_18=//take only values above zero +per_pixel_19=f1 = f1*above(f1,0); +per_pixel_20=f2 = f2*above(f2,0); +per_pixel_21=f3 = f3*above(f3,0); +per_pixel_22=f4 = f4*above(f4,0); +per_pixel_23= +per_pixel_24=//sum rule ativations +per_pixel_25=sum_fuzzy = fuzzy1*f1 + fuzzy2*f2 - fuzzy3*f3 - fuzzy4*f4; +per_pixel_26=sum_fuzzy = cos(sum_fuzzy)*1.2; +per_pixel_27= +per_pixel_28=zoom = 1 + sum_fuzzy*0.05; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` +warp_5=` +warp_6=` float3 output1 = tex2D( sampler_main, (uv-0.5)*0.99 + 0.5).xyz; +warp_7=` float3 output2 = tex2D( sampler_main, uv).xyz; +warp_8=` +warp_9=` ret = normalize(output1*0.1 + output2*0.9); +warp_10=` // darken (decay) over time +warp_11=` ret *= 1.04; //or try: ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_tryptonaut/ORB - Acid Cycle [flexi composite].milk b/presets/presets_tryptonaut/ORB - Acid Cycle [flexi composite].milk new file mode 100755 index 0000000000..2959ff3822 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Acid Cycle [flexi composite].milk @@ -0,0 +1,356 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.267 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.16000 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.500 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.750 +shapecode_0_y=0.750 +shapecode_0_rad=0.74180 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.22746 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,2); +shape_0_per_frame4=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.250 +shapecode_1_y=0.750 +shapecode_1_rad=0.74180 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.22746 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.22167 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` float2 delta2 = texsize.zw*float2(-q3,q3); +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.004; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*2; +comp_4=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_6=`ret = lerp(ret,float3(0.4,0.8,0.9),GetBlur1(uv - float2(dx.y,dy.y)*0).z); +comp_7=` +comp_8=`float2 uv_bg = uv - float2(dx.y,dy.y)*texsize.zw*16 + float2(dx.x,dy.x)*0.2; +comp_9=`ret = lerp(ret,1,(GetBlur2(uv_bg)-GetBlur1(uv_bg)*1+GetPixel(uv_bg)*0.9 + (-dx.y + dy.y)*0.4).y*0.8*float3(1.3,1.04,0.4)); +comp_10=` +comp_11=`float2 uv_m = uv - float2(dx.x,dy.x)*texsize.zw*8; +comp_12=`ret = lerp(ret, 2*float3(0,0.5,1), GetBlur3(uv_m - float2(dx.y,dy.y)*0.4).x*0.4); +comp_13=`ret = lerp(ret, 2*float3(0.5,1,1), GetBlur2(uv_m - float2(dx.y,dy.y)*0.2).x*0.4); +comp_14=`ret = lerp(ret, 2*float3(1,1,0.8), GetBlur1(uv_m - float2(dx.y,dy.y)*0.1).x*0.2); +comp_15=`ret = lerp(saturate(ret), float3(0,0,0), GetBlur1(uv_m + float2(1,-1)*0.02).x*0.4); +comp_16=`ret = lerp(saturate(ret), float3(1,-0.2,-0.2), GetPixel(uv).x*0.6); +comp_17=`} diff --git a/presets/presets_tryptonaut/ORB - Acid Cycle.milk b/presets/presets_tryptonaut/ORB - Acid Cycle.milk new file mode 100755 index 0000000000..69a5835fb8 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Acid Cycle.milk @@ -0,0 +1,355 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.266718 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.160000 +rot=-0.040000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1100),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=//sum +wave_0_per_point9=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point10= +wave_0_per_point11=zd = zd + 2; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//project +wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs); +wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs); +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.750000 +shapecode_0_rad=0.741799 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.227462 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,2); +shape_0_per_frame4=tex_zoom = 0.6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.25 +shapecode_1_y=0.750000 +shapecode_1_rad=0.741799 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.227462 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=1.0 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=1.0 +shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=1.0 +shapecode_3_g2=1.0 +shapecode_3_b2=1.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=a = above(q3,2); +shape_3_per_frame2=a2 = above(q3,2)*0.8; +shape_3_per_frame3= +shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01); +shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01); +shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01); +shape_3_per_frame7= +shape_3_per_frame8=rad = radi; +shape_3_per_frame9= +shape_3_per_frame10=x = xx; +shape_3_per_frame11=y = yy; +shape_3_per_frame12= +shape_3_per_frame13= +shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1; +shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307); +shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959); +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1; +shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507); +shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559); +per_frame_init_1=spintime = 0; +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=q1 = basstime; +per_frame_3=vol = pow(bass+mid+treb,2); +per_frame_4=basssum = vol; +per_frame_5= +per_frame_6=basstime = if(below(basstime,465),465,basstime); +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); +per_frame_44=q8 = spintime; +per_frame_45= +per_frame_46=state = state + above(diff,10); +per_frame_47= +per_frame_48=monitor = spintime; +per_pixel_1=zoom = 1.05 - sin(q3)*0.04; +per_pixel_2=rot =0;// 4.72; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = uv; +warp_4=` float2 delta2 = texsize.zw*float2(-q3,q3); +warp_5=` +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.004; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.6; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2).xyz*0.4; +comp_18=` ret *= 2.00; //gamma +comp_19=` ret = (1 - ret*(1-ret)*4)*0.6; //invert +comp_20=`} diff --git a/presets/presets_tryptonaut/ORB - Acid Sunrise.milk b/presets/presets_tryptonaut/ORB - Acid Sunrise.milk new file mode 100755 index 0000000000..0b3cace12b --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Acid Sunrise.milk @@ -0,0 +1,294 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.400 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.37742 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_ang = -0.01; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.66718 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00628 +shapecode_1_tex_zoom=0.37747 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=0.800 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.700 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=r = 0.6 * 0.4*sin(q3*0.111); +shape_1_per_frame2=g = 0.6 * 0.4*sin(q3*0.171); +shape_1_per_frame3=b = 0.6 * 0.4*sin(q3*0.197); +shape_1_per_frame4= +shape_1_per_frame5=tex_ang = 0.01; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.800 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.600 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=r2 = 0.6 * 0.4*sin(q3*0.178); +shape_2_per_frame2=g2 = 0.6 * 0.4*sin(q3*0.138); +shape_2_per_frame3=b2 = 0.6 * 0.4*sin(q3*0.118); +shape_2_per_frame4= +shape_2_per_frame5=r = 0.6 * 0.4*sin(q3*0.158); +shape_2_per_frame6=g = 0.6 * 0.4*sin(q3*0.258); +shape_2_per_frame7=b = 0.6 * 0.4*sin(q3*0.41); +shape_2_per_frame8= +shape_2_per_frame9= +shape_2_per_frame10=x = 0.5 + 0.01 * sin(q3); +shape_2_per_frame11=y = 0.5 + 0.01 * cos(q3)*q5; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.800 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.600 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=r2 = 0.6 * 0.4*sin(q3*0.258); +shape_3_per_frame2=g2 = 0.6 * 0.4*sin(q3*0.158); +shape_3_per_frame3=b2 = 0.6 * 0.4*sin(q3*0.108); +shape_3_per_frame4= +shape_3_per_frame5=r = 0.6 * 0.4*sin(q3*0.158); +shape_3_per_frame6=g = 0.6 * 0.4*sin(q3*0.258); +shape_3_per_frame7=b = 0.6 * 0.4*sin(q3*0.11); +shape_3_per_frame8= +shape_3_per_frame9= +shape_3_per_frame10= +per_frame_init_1=basstime = rand(1000)*0.1; +per_frame_init_2=othertime = rand(1000)*0.1; +per_frame_1=basstime = basstime + bass*0.0003; +per_frame_2=q2 = basstime; +per_frame_3=q1 = basstime*0.00001; +per_frame_4= +per_frame_5=othertime = othertime + bass*0.03; +per_frame_6=q3 = othertime; +per_pixel_1= +per_pixel_2=zoom = 1; +per_pixel_3=rot = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float3 txr = float3(uv,q2*10); +warp_5=` +warp_6=` float final_noise = 0; +warp_7=` +warp_8=` //perlin noise +warp_9=` final_noise += ((1.0/pow(2,0))*((tex3D(sampler_noisevol_lq, txr*pow(2,0))*2)-1)); +warp_10=` final_noise += ((1.0/pow(2,1))*((tex3D(sampler_noisevol_lq, txr*pow(2,1))*2)-1)); +warp_11=` final_noise += ((1.0/pow(2,2))*((tex3D(sampler_noisevol_lq, txr*pow(2,2))*2)-1)); +warp_12=` final_noise += ((1.0/pow(2,3))*((tex3D(sampler_noisevol_lq, txr*pow(2,3))*2)-1)); +warp_13=` +warp_14=` +warp_15=` final_noise = (final_noise+1)*0.5; +warp_16=` +warp_17=` +warp_18=` ret = tex2D( sampler_main, (uv-0.5)*1.5*final_noise + 0.5 ).xyz; +warp_19=` +warp_20=` // darken (decay) over time +warp_21=` ret = ret; //or try: ret -= 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_5=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_6=` tex2D(sampler_main, uv_echo).xyz, +comp_7=` 0.50 +comp_8=` ); //video echo +comp_9=` ret *= 2.00; //gamma +comp_10=` float3 retish = 1 - ret*(1-ret)*4; //solarize +comp_11=` ret = 1 - retish; +comp_12=`} diff --git a/presets/presets_tryptonaut/ORB - Blue Emotion.milk b/presets/presets_tryptonaut/ORB - Blue Emotion.milk new file mode 100755 index 0000000000..bce6762a45 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Blue Emotion.milk @@ -0,0 +1,379 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.950 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.200 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=4.800 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.500 +wave_1_per_point1=//init +wave_1_per_point2=zs = if(below(zs,1),9,zs); +wave_1_per_point3= +wave_1_per_point4=zs = if(above(zs, 1300),1, zs); +wave_1_per_point5= +wave_1_per_point6=speed = bass*0.002; +wave_1_per_point7= +wave_1_per_point8=xcoef = equal(q4,0)*2 + equal(q4,1)*2.1 + equal(q4,2)*2.2 + equal(q4,3)*2.3 + equal(q4,4)*2.4 + equal(q4,5)*2.5; +wave_1_per_point9= +wave_1_per_point10=//sum +wave_1_per_point11=zs = zs + tan(q1*0.015)*speed; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=count = count + 0.0001; +wave_1_per_point15=count = if(above(count,6.24),0,count); +wave_1_per_point16= +wave_1_per_point17=//project +wave_1_per_point18=x = 0.1*cos(q1*zs*2 + 0.1); +wave_1_per_point19=y = 0.1*sin(q1*zs*1 + 0.1); +wave_1_per_point20= +wave_1_per_point21=//rotate +wave_1_per_point22=x = x*cos(-q1*3)*0.8 - y*sin(-q1*3)*0.8; +wave_1_per_point23=y = x*sin(-q1*3) + y*cos(-q1*3); +wave_1_per_point24= +wave_1_per_point25=//move +wave_1_per_point26=x = x + q6 + 0.5; +wave_1_per_point27=y = y + q7 + 0.5; +wave_1_per_point28= +wave_1_per_point29=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point30=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point31=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.250 +shapecode_0_y=0.250 +shapecode_0_rad=1.10444 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.22746 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_0_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_0_per_frame4= +shape_0_per_frame5=tex_capture = 1;//above(q3,2); +shape_0_per_frame6=tex_zoom = q8; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.750 +shapecode_1_y=0.750 +shapecode_1_rad=0.99983 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.22746 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.400 +shapecode_2_y=0.750 +shapecode_2_rad=0.74180 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.22746 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=tex_saw = 0.4; +shape_2_per_frame1=ang = q1*0.2; +shape_2_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_2_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_2_per_frame4= +shape_2_per_frame5=tex_capture = above(q3,1); +shape_2_per_frame6=tex_zoom = 0.4; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.98608 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.200 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.4*sin(q1*0.45); +shape_3_per_frame2=y = 0.5 + 0.4*sin(q1*0.5); +shape_3_per_frame3= +shape_3_per_frame4=r2 = 0.5 + 0.5*sin(q1 *0.458); +shape_3_per_frame5=g2 = 0.5 + 0.5*sin(q1 *0.858); +shape_3_per_frame6=b2 = 0.5 + 0.5*sin(q1 *0.658); +per_frame_init_1=zoomy = 1; +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=//start in most active range +per_frame_5=basstime = if(below(basstime,450),450,basstime); +per_frame_6=basstime = if(above(basstime,495),450,basstime); +per_frame_7= +per_frame_8=basstime = basstime + bass_att*0.03; +per_frame_9=vol = pow(bass+mid+treb,2); +per_frame_10=basssum = vol; +per_frame_11= +per_frame_12=stickybit = time%2; +per_frame_13= +per_frame_14=//avg vol +per_frame_15=//buffer 1 +per_frame_16=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_17=//number of samples 1 or framerate +per_frame_18=sample1 = sample1 + equal(stickybit,1); +per_frame_19=//buffer 2 +per_frame_20=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_21=//number of samples 2 +per_frame_22=sample2 = sample2 + equal(stickybit,0); +per_frame_23= +per_frame_24=//transision +per_frame_25=edge = bnot(equal(bit2,stickybit)); +per_frame_26= +per_frame_27=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_28=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_29= +per_frame_30=sample1 = sample1 - sample1*edge*stickybit; +per_frame_31=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_32= +per_frame_33=//test vol against avg buffer lvl +per_frame_34=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_35=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_36= +per_frame_37=q3 = diff; +per_frame_38= +per_frame_39=bit2 = time%2; +per_frame_40= +per_frame_41=state = if(above(state,5),0,state); +per_frame_42=state = state + above(diff,3); +per_frame_43=q4 = state; +per_frame_44= +per_frame_45=difftime = difftime + diff*0.03; +per_frame_46=q2 = difftime; +per_frame_47= +per_frame_48=//fix a strange error +per_frame_49=difftime = if(above(difftime,2000),0, difftime); +per_frame_50= +per_frame_51=//toggle zoom in and out +per_frame_52=zoom_in = zoom_in + above(diff,4); +per_frame_53=zoom_in = if(above(zoom_in,2),0,zoom_in); +per_frame_54=q5 = zoom_in; +per_frame_55= +per_frame_56= +per_frame_57=tex_saw = tex_saw - 0.002*diff; +per_frame_58=flag = below(tex_saw,0.1); +per_frame_59=tex_saw = if(below(tex_saw,0.1),0.6,tex_saw); +per_frame_60=state_echo = state_echo + flag; +per_frame_61= +per_frame_62=q8 = tex_saw; +per_frame_63=monitor = tex_saw; +per_frame_64= +per_frame_65= +per_frame_66=//obtain lock while zooming out +per_frame_67=lock = if(equal(lock,0),bnot(equal(flag, prev_edge)),1); +per_frame_68= +per_frame_69=//gradient zoom out +per_frame_70=lock = if(equal(state_echo,0),0,lock); +per_frame_71=lock = if(equal(state_echo,1),0,lock); +per_frame_72=lock = if(equal(state_echo,2)*(below(zoomy,0.3505)),0,lock); +per_frame_73=lock = if(equal(state_echo,3)*(below(zoomy,0.205)),0,lock); +per_frame_74= +per_frame_75=zoomy = zoomy - zoomy*0.02*lock; +per_frame_76= +per_frame_77=zoomy = equal(state_echo,4)*1.05 + bnot(equal(state_echo,4))*zoomy; +per_frame_78=echo_zoom = zoomy; +per_frame_79= +per_frame_80=monitor = tex_saw; +per_frame_81= +per_frame_82=state_echo = if(above(state_echo,3),0,state_echo); +per_frame_83=//for edge detection +per_frame_84=prev_edge = flag; +per_pixel_1=zoom = 1 - equal(q5,0)*0.1*q3 + equal(q5,1)*0.1*q3; +per_pixel_2= +per_pixel_3=saw_r = saw_r + 0.0001*bass; +per_pixel_4=saw_r = if(above(saw_r,1),0,saw_r); +per_pixel_5= +per_pixel_6=saw_g = saw_g + 0.00012*bass; +per_pixel_7=saw_g = if(above(saw_g,1),0,saw_g); +per_pixel_8= +per_pixel_9=saw_b = saw_b + 0.00011*bass; +per_pixel_10=saw_b = if(above(saw_b,1),0,saw_b); +per_pixel_11= +per_pixel_12= +per_pixel_13=decay_r = 5 - x*y*saw_r; +per_pixel_14=decay_g = 5 - y*x*saw_g; +per_pixel_15=decay_b = 5 - x*y*saw_b; +per_pixel_16= +per_pixel_17=rot = 0; +per_pixel_18=zoom = 1; diff --git a/presets/presets_tryptonaut/ORB - Crysal Storm .milk b/presets/presets_tryptonaut/ORB - Crysal Storm .milk new file mode 100755 index 0000000000..af7670e15c --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Crysal Storm .milk @@ -0,0 +1,433 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=-18.84024 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.400 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.100 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=1.000 +mv_g=0.300 +mv_b=0.200 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),rand(100)*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),rand(10),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),rand(20),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.0897); +shape_1_per_frame4= +shape_1_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_1_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame2=g = 0.1 + 0.5*sin(q1*0.03878); +shape_2_per_frame3=b = 0.1 + 0.5*sin(q1*0.0497); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_2_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_2_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0597); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=//x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=//y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=monitor = q1; +per_frame_49= +per_frame_50=mv_a = q3 - 2; +per_frame_51= +per_frame_52= +per_frame_53= +per_frame_54=mv_r = 0.5 + 0.5*sin(difftime*0.22); +per_frame_55=mv_g =0;// 0.5 + 0.5*sin(difftime*0.307); +per_frame_56=mv_b = 0.5 + 0.5*sin(difftime*0.959); +per_frame_57= +per_pixel_1=zoom = 0.98; +per_pixel_2=rot = 0; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` uv += color*0.01; +warp_11=` +warp_12=` float2x2 rot = { cos(q9), sin(q9), +warp_13=` -sin(q9), cos(q9) }; +warp_14=` +warp_15=` +warp_16=` ret = tex2D( sampler_main, ((uv-0.5)*(0.97 + rad*0.02)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_17=` ret = ret-0.001;// - 0.08; //or try: ret -= 0.004; +warp_18=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main, uv.yx).xyz; +comp_5=` ret *= 2.00; //gamma +comp_6=` ret = ret; //brighten +comp_7=`} diff --git a/presets/presets_tryptonaut/ORB - Depth Charge 2.milk b/presets/presets_tryptonaut/ORB - Depth Charge 2.milk new file mode 100755 index 0000000000..406a58a4de --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Depth Charge 2.milk @@ -0,0 +1,663 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.960000 +rot=-6.279995 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.950000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.3*sin(s)*cos(ss); +wave_0_per_point8=ys = 0.3*sin(s)*sin(ss); +wave_0_per_point9=zs = 0.3*cos(s); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=//rotate x axis +wave_0_per_point13=angle = sin(q1*0.027)*6.28; +wave_0_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point16=xx = xs; +wave_0_per_point17= +wave_0_per_point18=//rotate y axis +wave_0_per_point19=angle2 = sin(q1*0.03)*6.28; +wave_0_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point22=yd = yx; +wave_0_per_point23= +wave_0_per_point24=//rotaye z axis +wave_0_per_point25=angle3 = sin(q1*0.028)*6.28; +wave_0_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point28= +wave_0_per_point29=zd = zd + 2; +wave_0_per_point30= +wave_0_per_point31=x = xn*zd*0.3 + 0.5; +wave_0_per_point32=y = yn*zd*0.3*1.2 + 0.5; +wave_0_per_point33= +wave_0_per_point34= +wave_0_per_point35=r = 0.5 + 0.5*sin(q1*0.2 + x + x) + xn; +wave_0_per_point36=g = 0.5 + 0.5*sin(q1*0.5 + x + y) + yn; +wave_0_per_point37=b = 0.5 + 0.5*sin(q1*0.36 + y + y) + zn; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=//apply zoom burst on beat +wave_1_per_point2=flag = above(q3,2); +wave_1_per_point3=//state zero is ready state +wave_1_per_point4=state = state + flag*equal(state,0); +wave_1_per_point5= +wave_1_per_point6=//upwards flight +wave_1_per_point7=yval = if(equal(state,0),0, yval); +wave_1_per_point8=yval = yval + 0.00004*equal(state,1); +wave_1_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_1_per_point10= +wave_1_per_point11=//hit apogee +wave_1_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_1_per_point13= +wave_1_per_point14=//reset variable +wave_1_per_point15=yval = if(equal(state,0),0, yval); +wave_1_per_point16=burst = if(equal(state,0),0.001,burst); +wave_1_per_point17=alphax = if(equal(state,0),1,alphax); +wave_1_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_1_per_point19= +wave_1_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_1_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_1_per_point22=//to get the numbers small enough have to use constants +wave_1_per_point23=xdriftinc = xdriftinc +wave_1_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_1_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_1_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_1_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_1_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_1_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_1_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_1_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_1_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_1_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_1_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_1_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_1_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_1_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_1_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_1_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_1_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_1_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_1_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_1_per_point43= +wave_1_per_point44=burst = burst +wave_1_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_1_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_1_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_1_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_1_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_1_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_1_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_1_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_1_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_1_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_1_per_point55= +wave_1_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_1_per_point57=state = if(below(alphax,0),0,state); +wave_1_per_point58= +wave_1_per_point59= +wave_1_per_point60=s = sample*3.14*100; +wave_1_per_point61=ss = sample*6.28*1000; +wave_1_per_point62= +wave_1_per_point63=//draw torus +wave_1_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_1_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_1_per_point66=zs = 0.1*burst*sin(s); +wave_1_per_point67= +wave_1_per_point68= +wave_1_per_point69=//rotate x axis +wave_1_per_point70=angle = sin(-q1*0.035)*6.28; +wave_1_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point73=xx = xs; +wave_1_per_point74= +wave_1_per_point75=//rotate y axis +wave_1_per_point76=angle2 = sin(q1*0.03)*6.28; +wave_1_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point79=yd = yx; +wave_1_per_point80= +wave_1_per_point81=//rotaye z axis +wave_1_per_point82=angle3 = sin(-q1*0.032)*6.28; +wave_1_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point85= +wave_1_per_point86=zd = zd + 2; +wave_1_per_point87= +wave_1_per_point88=x = xn*zd*0.3 + 0.5; +wave_1_per_point89=y = yn*zd*0.3*1.2; +wave_1_per_point90= +wave_1_per_point91= +wave_1_per_point92=x = x + xdriftinc; +wave_1_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=r = 0.5 + 0.5*sin(q1*1.7 + x + x); +wave_1_per_point97=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point98=b = 0.5 + 0.5*sin(q1*1.16 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=//apply zoom burst on beat +wave_2_per_point2=flag = above(q3,2); +wave_2_per_point3=//state zero is ready state +wave_2_per_point4=state = state + flag*equal(state,0); +wave_2_per_point5= +wave_2_per_point6=//upwards flight +wave_2_per_point7=yval = if(equal(state,0),0, yval); +wave_2_per_point8=yval = yval + 0.00004*equal(state,1); +wave_2_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_2_per_point10= +wave_2_per_point11=//hit apogee +wave_2_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_2_per_point13= +wave_2_per_point14=//reset variable +wave_2_per_point15=yval = if(equal(state,0),0, yval); +wave_2_per_point16=burst = if(equal(state,0),0.001,burst); +wave_2_per_point17=alphax = if(equal(state,0),1,alphax); +wave_2_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_2_per_point19= +wave_2_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_2_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_2_per_point22=//to get the numbers small enough have to use constants +wave_2_per_point23=xdriftinc = xdriftinc +wave_2_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_2_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_2_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_2_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_2_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_2_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_2_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_2_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_2_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_2_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_2_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_2_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_2_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_2_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_2_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_2_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_2_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_2_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_2_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_2_per_point43= +wave_2_per_point44=burst = burst +wave_2_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_2_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_2_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_2_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_2_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_2_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_2_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_2_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_2_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_2_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_2_per_point55= +wave_2_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_2_per_point57=state = if(below(alphax,0),0,state); +wave_2_per_point58= +wave_2_per_point59= +wave_2_per_point60=s = sample*3.14*100; +wave_2_per_point61=ss = sample*6.28*1000; +wave_2_per_point62= +wave_2_per_point63=//draw torus +wave_2_per_point64=xs = (burst*0.8 + 0.4*burst*cos(s))*cos(ss); +wave_2_per_point65=ys = (burst*0.8 + 0.4*burst*cos(s))*sin(ss); +wave_2_per_point66=zs = 0.4*burst*sin(s); +wave_2_per_point67= +wave_2_per_point68= +wave_2_per_point69=//rotate x axis +wave_2_per_point70=angle = sin(-q1*0.015)*6.28; +wave_2_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point73=xx = xs; +wave_2_per_point74= +wave_2_per_point75=//rotate y axis +wave_2_per_point76=angle2 = sin(q1*0.01579)*6.28; +wave_2_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point79=yd = yx; +wave_2_per_point80= +wave_2_per_point81=//rotaye z axis +wave_2_per_point82=angle3 = sin(q1*0.022)*6.28; +wave_2_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point85= +wave_2_per_point86=zd = zd + 2; +wave_2_per_point87= +wave_2_per_point88=x = xn*zd*0.3 + 0.5; +wave_2_per_point89=y = yn*zd*0.3*1.2; +wave_2_per_point90= +wave_2_per_point91= +wave_2_per_point92=x = x + xdriftinc; +wave_2_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_2_per_point94= +wave_2_per_point95= +wave_2_per_point96=r = 0.5 + 0.5*sin(q1*1.27 + x + x); +wave_2_per_point97=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point98=b = 0.5 + 0.5*sin(q1*1.346 + y + y); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.1*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.1*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.667177 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.150000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.380961 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.900000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=1.000000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.102009 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = 0.5 + 0.02*sin(time); +shape_2_per_frame2=y = 0.5 + 0.02*cos(time); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame5=g = 0.1 + 0.5*sin(q1*0.09878); +shape_2_per_frame6=b = 0.1 + 0.5*sin(q1*0.0897); +shape_2_per_frame7= +shape_2_per_frame8=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_2_per_frame9=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_2_per_frame10=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=monitor = q1; +per_pixel_1=zoom = 1; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float3 txr = float3(uv,q1*0.1); +warp_5=` +warp_6=` float final_noise = 0; +warp_7=` +warp_8=` final_noise += (1.0/pow(2,0))*(tex3D(sampler_noisevol_lq, txr*pow(2,0))*2-1); +warp_9=` final_noise += (1.0/pow(2,1))*(tex3D(sampler_noisevol_hq, txr*pow(2,1))*2-1); +warp_10=` final_noise += (1.0/pow(2,2))*(tex3D(sampler_noisevol_lq, txr*pow(2,2))*2-1); +warp_11=` final_noise += (1.0/pow(2,3))*(tex3D(sampler_noisevol_hq, txr*pow(2,3))*2-1); +warp_12=` +warp_13=` +warp_14=` final_noise = 1 + final_noise*0.02;// (final_noise+1)*0.1; +warp_15=` +warp_16=` float2x2 rot = { cos(q9), sin(q9), +warp_17=` -sin(q9), cos(q9) }; +warp_18=` +warp_19=` rot = rot * (final_noise); +warp_20=` +warp_21=` +warp_22=` ret = tex2D( sampler_main, mul((uv-0.5),rot)*(1-rad*0.05*(0.9 + bass*0.1))*final_noise + 0.5 ).xyz; +warp_23=` +warp_24=` // darken (decay) over time +warp_25=` ret = ret;// - 0.08; //or try: ret -= 0.004; +warp_26=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,1) + 0.5; +comp_5=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_6=` tex2D(sampler_main, uv_echo).xyz, +comp_7=` 0.50 +comp_8=` ); //video echo +comp_9=` ret *= 2.00; //gamma +comp_10=` ret = ret; //brighten +comp_11=`} diff --git a/presets/presets_tryptonaut/ORB - Inferno.milk b/presets/presets_tryptonaut/ORB - Inferno.milk new file mode 100755 index 0000000000..a037216018 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Inferno.milk @@ -0,0 +1,455 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=-18.84024 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=0.900 +ob_a=0.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.600 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=1.000 +mv_g=0.100 +mv_b=0.100 +mv_a=0.000 +b1n=0.050 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(time*0.22) + 0.1; +wave_0_per_point17=g = 0.1 + 0.4*sin(time*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),rand(100)*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),rand(10),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),rand(20),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.0897); +shape_1_per_frame4= +shape_1_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_1_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame2=g = 0.1 + 0.5*sin(q1*0.03878); +shape_2_per_frame3=b = 0.1 + 0.5*sin(q1*0.0497); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_2_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_2_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0597); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=//x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=//y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=monitor = q1; +per_frame_49= +per_frame_50=mv_a = q3 - 2; +per_frame_51= +per_frame_52=ob_a = above(q3,4)*0.1; +per_frame_53=mv_g = 0.4 - above(q3,3.2)*0.3; +per_frame_54=//mv_b = above(q3,5)*0.1 + 0.1; +per_pixel_1=zoom = 0.98; +per_pixel_2=rot = 0; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=` uv += color*0.01; +warp_13=` //uv.y += abs(color*0.01) + bass_att*0.01; +warp_14=` +warp_15=` float2x2 rot = { cos(q9), sin(q9), +warp_16=` -sin(q9), cos(q9) }; +warp_17=` +warp_18=` +warp_19=` ret = tex2D( sampler_main, ((uv-0.5)*(0.97 + rad*0.02)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_20=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main, uv.yx).xyz; +comp_5=` ret *= 4.00; //gamma +comp_6=` ret -= 0.1; +comp_7=`} +comp_8=` diff --git a/presets/presets_tryptonaut/ORB - Kalidescope.milk b/presets/presets_tryptonaut/ORB - Kalidescope.milk new file mode 100755 index 0000000000..cf3c767f0f --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Kalidescope.milk @@ -0,0 +1,413 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000 +fDecay=0.950 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=4.800 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.500 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,1),9,zs); +wave_0_per_point3= +wave_0_per_point4=zs = if(above(zs, 1300),1, zs); +wave_0_per_point5= +wave_0_per_point6=speed = bass*0.002; +wave_0_per_point7= +wave_0_per_point8=xcoef = equal(q4,0)*2 + equal(q4,1)*2.1 + equal(q4,2)*2.2 + equal(q4,3)*2.3 + equal(q4,4)*2.4 + equal(q4,5)*2.5; +wave_0_per_point9= +wave_0_per_point10=//sum +wave_0_per_point11=zs = zs + tan(q1*0.015)*speed; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=count = count + 0.0001; +wave_0_per_point15=count = if(above(count,6.24),0,count); +wave_0_per_point16= +wave_0_per_point17=//project +wave_0_per_point18=x = 0.1*cos(q1*zs*2 + 0.1); +wave_0_per_point19=y = 0.1*sin(q1*zs*1 + 0.1); +wave_0_per_point20= +wave_0_per_point21=//rotate +wave_0_per_point22=x = x*cos(q1*3)*0.8 - y*sin(q1*3)*0.8; +wave_0_per_point23=y = x*sin(q1*3) + y*cos(q1*3); +wave_0_per_point24= +wave_0_per_point25=//move +wave_0_per_point26=x = x + q6 + 0.5; +wave_0_per_point27=y = y - q7 + 0.5; +wave_0_per_point28= +wave_0_per_point29=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point30=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point31=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.500 +wave_1_per_point1=//init +wave_1_per_point2=zs = if(below(zs,1),9,zs); +wave_1_per_point3= +wave_1_per_point4=zs = if(above(zs, 1300),1, zs); +wave_1_per_point5= +wave_1_per_point6=speed = bass*0.002; +wave_1_per_point7= +wave_1_per_point8=xcoef = equal(q4,0)*2 + equal(q4,1)*2.1 + equal(q4,2)*2.2 + equal(q4,3)*2.3 + equal(q4,4)*2.4 + equal(q4,5)*2.5; +wave_1_per_point9= +wave_1_per_point10=//sum +wave_1_per_point11=zs = zs + tan(q1*0.015)*speed; +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=count = count + 0.0001; +wave_1_per_point15=count = if(above(count,6.24),0,count); +wave_1_per_point16= +wave_1_per_point17=//project +wave_1_per_point18=x = 0.1*cos(q1*zs*2 + 0.1); +wave_1_per_point19=y = 0.1*sin(q1*zs*1 + 0.1); +wave_1_per_point20= +wave_1_per_point21=//rotate +wave_1_per_point22=x = x*cos(-q1*3)*0.8 - y*sin(-q1*3)*0.8; +wave_1_per_point23=y = x*sin(-q1*3) + y*cos(-q1*3); +wave_1_per_point24= +wave_1_per_point25=//move +wave_1_per_point26=x = x + q6 + 0.5; +wave_1_per_point27=y = y + q7 + 0.5; +wave_1_per_point28= +wave_1_per_point29=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point30=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point31=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.250 +shapecode_0_y=0.250 +shapecode_0_rad=0.74180 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.22746 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = q1*0.2; +shape_0_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_0_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_0_per_frame4= +shape_0_per_frame5=tex_capture = above(q3,2); +shape_0_per_frame6=tex_zoom = q8; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.74180 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.22746 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = q8; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=basstime2 = basstime + bass*0.03; +per_frame_3=q1 = basstime2; +per_frame_4= +per_frame_5=//start in most active range +per_frame_6=basstime = if(below(basstime,450),450,basstime); +per_frame_7=basstime = if(above(basstime,495),450,basstime); +per_frame_8= +per_frame_9=basstime = basstime + bass_att*0.03; +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = diff; +per_frame_39= +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=state = if(above(state,5),0,state); +per_frame_43=state = state + above(diff,3); +per_frame_44=q4 = state; +per_frame_45= +per_frame_46=difftime = difftime + diff*0.03; +per_frame_47=q2 = difftime; +per_frame_48= +per_frame_49=//fix a strange error +per_frame_50=difftime = if(above(difftime,2000),0, difftime); +per_frame_51= +per_frame_52=//another state machine for shape tracking +per_frame_53=state = state + equal(diff,3); +per_frame_54=state = if(above(state,5), 0, state); +per_frame_55= +per_frame_56=xs = 0; +per_frame_57=ys = 0; +per_frame_58= +per_frame_59=//state 0 elipse +per_frame_60=xs = xs + (equal(0,state))*atan(bass_time*4)*0.1; +per_frame_61=ys = ys + (equal(0,state))*cos(bass_time*4)*0.1; +per_frame_62= +per_frame_63=//state 1 diag +per_frame_64=xs = xs + (equal(1,state))*cos(bass_time*4)*0.1; +per_frame_65=ys = ys + (equal(1,state))*cos(bass_time*4)*0.1; +per_frame_66= +per_frame_67=//state 2 -circle +per_frame_68=xs = xs + (equal(2,state))*cos(bass_time*4)*0.1; +per_frame_69=ys = ys + (equal(2,state))*sin(bass_time*4)*0.1; +per_frame_70= +per_frame_71=//state 3 parametric arc +per_frame_72=xs = xs + (equal(3,state))*cos(bass_time*5)*0.1; +per_frame_73=ys = ys + (equal(3,state))*cos(bass_time*9)*0.1; +per_frame_74= +per_frame_75=//state 4 arc +per_frame_76=xs = xs + (equal(4,state))*atan(bass_time*6)*0.1; +per_frame_77=ys = ys + (equal(4,state))*cos(bass_time*2)*0.1; +per_frame_78= +per_frame_79=//state 5 infinity +per_frame_80=xs = xs + (equal(5,state))*cos(bass_time*2)*0.1; +per_frame_81=ys = ys + (equal(5,state))*sin(bass_time*1)*0.1; +per_frame_82= +per_frame_83=//count +per_frame_84=xpass = xs + xpass; +per_frame_85=ypass = ys + ypass; +per_frame_86= +per_frame_87=//project and publish +per_frame_88=q6 = 0.3*sin(xpass*0.5); +per_frame_89=q7 = 0.3*sin(ypass*0.5); +per_frame_90= +per_frame_91= +per_frame_92=//toggle zoom in and out +per_frame_93=zoom_in = zoom_in + above(diff,4); +per_frame_94=zoom_in = if(above(zoom_in,2),0,zoom_in); +per_frame_95=q5 = zoom_in; +per_frame_96= +per_frame_97= +per_frame_98=tex_saw = tex_saw - 0.002*diff; +per_frame_99=tex_saw = if(below(tex_saw,0.1),1,tex_saw); +per_frame_100=q8 = tex_saw; +per_frame_101=monitor = tex_saw; +per_pixel_1=zoom = 1 - equal(q5,0)*0.1*q3 + equal(q5,1)*0.1*q3; +per_pixel_2= +per_pixel_3=saw_r = saw_r + 0.0001*bass; +per_pixel_4=saw_r = if(above(saw_r,1),0,saw_r); +per_pixel_5= +per_pixel_6=saw_g = saw_g + 0.00012*bass; +per_pixel_7=saw_g = if(above(saw_g,1),0,saw_g); +per_pixel_8= +per_pixel_9=saw_b = saw_b + 0.00011*bass; +per_pixel_10=saw_b = if(above(saw_b,1),0,saw_b); +per_pixel_11= +per_pixel_12= +per_pixel_13=decay_r = 5 - x*y*saw_r; +per_pixel_14=decay_g = 5 - y*x*saw_g; +per_pixel_15=decay_b = 5 - x*y*saw_b; +per_pixel_16= +per_pixel_17=rot = 4.19; +per_pixel_18=zoom = 1; diff --git a/presets/presets_tryptonaut/ORB - Lava Lamp.milk b/presets/presets_tryptonaut/ORB - Lava Lamp.milk new file mode 100755 index 0000000000..76ab2f8783 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Lava Lamp.milk @@ -0,0 +1,272 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.000000 +fDecay=0.500000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.400000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.667177 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.374092 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.800000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.400000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=ang = basstime; +shape_0_per_frame2=tex_ang = sin(basstime); +shape_0_per_frame3= +shape_0_per_frame4=ob_r = 0.5 * sin(basstime*1.12); +shape_0_per_frame5=ob_g = 0.5 * sin(basstime*1.5); +shape_0_per_frame6=ob_b = 0.5 * sin(basstime*2.12); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.667177 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.377131 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.800000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_capture = above(bass,1); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.860000 +shapecode_2_a2=0.300000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.540000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=basstime = basstime + bass*0.0003; +per_frame_2=q2 = basstime; +per_frame_3=q1 = basstime*0.00001; +per_frame_4= +per_frame_5= +per_frame_6=q4 = cos(basstime); +per_frame_7=q5 = sin(basstime); +per_pixel_1=zoom = 1; +per_pixel_2=rot = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2x2 rot = { q4, q5, +warp_5=` -q5, q4 }; +warp_6=` +warp_7=` float3 txr = float3(uv,q2*10); +warp_8=` +warp_9=` float final_noise = 0; +warp_10=` final_noise += (1.0/pow(2,0))*(tex3D(sampler_noisevol_lq, txr*pow(2,0))*2-1); +warp_11=` final_noise += (1.0/pow(2,1))*(tex3D(sampler_noisevol_lq, txr*pow(2,1))*2-1); +warp_12=` final_noise += (1.0/pow(2,2))*(tex3D(sampler_noisevol_lq, txr*pow(2,2))*2-1); +warp_13=` final_noise += (1.0/pow(2,3))*(tex3D(sampler_noisevol_lq, txr*pow(2,3))*2-1); +warp_14=` +warp_15=` final_noise = (final_noise+1)*0.5; +warp_16=` +warp_17=` +warp_18=` ret = tex2D( sampler_main, mul(uv-0.5,rot)*(1-rad*0.5)*final_noise + 0.5 ).xyz; +warp_19=` +warp_20=` // darken (decay) over time +warp_21=` ret = ret; //or try: ret -= 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_5=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_6=` tex2D(sampler_main, uv_echo).xyz, +comp_7=` 0.50 +comp_8=` ); //video echo +comp_9=` ret *= 2.00; //gamma +comp_10=` float3 retish = 1 - ret*(1-ret)*2; //solarize +comp_11=` float3 retp = float3(retish[0],retish[1]*1.2,retish[2]*1.2)*0.5; +comp_12=` //ret *= 0.5; +comp_13=` retp = 1 - retp; +comp_14=` retp = 1 - retp*(1-retp); //solarize +comp_15=` ret = (1 - float3(retp[2],retp[1],ret[0]))*1.2; +comp_16=`} diff --git a/presets/presets_tryptonaut/ORB - Liquid Fire.milk b/presets/presets_tryptonaut/ORB - Liquid Fire.milk new file mode 100755 index 0000000000..596611259a --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Liquid Fire.milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.388415 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=0.325446 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.0 +rot=-0.220000 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.4 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=1.0 +ob_a=1.0 +ib_size=0.0 +ib_r=1.0 +ib_g=1.0 +ib_b=1.0 +ib_a=1.0 +nMotionVectorsX=44.799995 +nMotionVectorsY=24.000004 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.0 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.2; +wave_0_per_point6=v = sample*100000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_0_per_point14= +wave_0_per_point15=x = x; +wave_0_per_point16=y = y; +wave_0_per_point17=y = y; +wave_0_per_point18= +wave_0_per_point19=//r = 0.5 + 0.5*sin(time*1.22) + 0.1; +wave_0_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_0_per_point21=//b = 0.4 + 0.4*sin(time*1.959); +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.0 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=//q1 = state; +wave_1_per_point2=//q2 = basstime; +wave_1_per_point3= +wave_1_per_point4=q1 = 0; +wave_1_per_point5=speed = bass_att*0.2; +wave_1_per_point6=v = sample*100000 + value2*bass*0.1; +wave_1_per_point7= +wave_1_per_point8=//state 0 elipse +wave_1_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_1_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_1_per_point11= +wave_1_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 0.7); +wave_1_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 0.7); +wave_1_per_point14= +wave_1_per_point15=x = x; +wave_1_per_point16=y = y; +wave_1_per_point17=y = y; +wave_1_per_point18= +wave_1_per_point19=//r = 0.5 + 0.5*sin(time*1.4) + 0.1; +wave_1_per_point20=g = 1;//0.4 + 0.4*sin(time*1.307) + x; +wave_1_per_point21=//b = 0.4 + 0.4*sin(time*1.259); +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.0 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=//q1 = state; +wave_2_per_point2=//q2 = basstime; +wave_2_per_point3= +wave_2_per_point4=q1 = 0; +wave_2_per_point5=speed = bass_att*0.2; +wave_2_per_point6=v = sample*100000 + value2*bass*0.1; +wave_2_per_point7= +wave_2_per_point8=//state 0 elipse +wave_2_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_2_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_2_per_point11= +wave_2_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + ys + 1.4); +wave_2_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs + 1.4); +wave_2_per_point14= +wave_2_per_point15=x = x; +wave_2_per_point16=y = y; +wave_2_per_point17=y = y; +wave_2_per_point18= +wave_2_per_point19=//r = 0.5 + 0.5*sin(time*1.4674) + 0.1; +wave_2_per_point20=g = 1;//0.4 + 0.4*sin(time*1.807) + x; +wave_2_per_point21=//b = 0.4 + 0.4*sin(time*1.359); +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.0 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=speed = bass*0.1; +wave_3_per_point2=v = sample*10000 + value2*bass*0.1; +wave_3_per_point3= +wave_3_per_point4=//state 0 elipse +wave_3_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point7= +wave_3_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point10= +wave_3_per_point11=y = y - sample*0.1; +wave_3_per_point12= +wave_3_per_point13=x = x*0.6 + 0.2; +wave_3_per_point14=y = y + bass*0.1; +wave_3_per_point15=y = y*0.8; +wave_3_per_point16= +wave_3_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_3_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_3_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_3_per_point20= +wave_3_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point22=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.667100 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.274246 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.1 +shapecode_0_r2=1.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.4 +shapecode_0_border_r=0.0 +shapecode_0_border_g=0.0 +shapecode_0_border_b=0.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=tex_capture = q1; +shape_0_per_frame2= +shape_0_per_frame3=saw = saw - 0.001*bass; +shape_0_per_frame4=saw = if(below(saw,0.2),0.6,saw); +shape_0_per_frame5= +shape_0_per_frame6=tex_zoom = saw; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=2.667100 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=0.274246 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.1 +shapecode_1_r2=1.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.4 +shapecode_1_border_r=0.0 +shapecode_1_border_g=0.0 +shapecode_1_border_b=0.0 +shapecode_1_border_a=0.1 +shape_1_per_frame1=tex_capture = q1; +shape_1_per_frame2= +shape_1_per_frame3=saw = saw - 0.001*bass; +shape_1_per_frame4=saw = if(below(saw,0.1),0.6,saw); +shape_1_per_frame5= +shape_1_per_frame6=tex_zoom = saw; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=2.667177 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=0.369642 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=0.1 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.4 +shapecode_2_border_r=1.0 +shapecode_2_border_g=0.0 +shapecode_2_border_b=0.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.667177 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.302938 +shapecode_3_r=1.0 +shapecode_3_g=1.0 +shapecode_3_b=1.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.4 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=//5 frame texture buffer +per_frame_2= +per_frame_3=dx = 0.0; +per_frame_4= +per_frame_5=basstime = basstime + bass*0.13; +per_frame_6=q5 = basstime; +per_frame_7= +per_frame_8=decay_r = 0; +per_frame_9=decay_g = 0; +per_frame_10=decay_b = 0; +per_frame_11= +per_frame_12= +per_frame_13=ob_r = 0.5 + 0.5*sin(basstime*0.22); +per_frame_14=ob_g = 0.5 + 0.5*sin(time*0.307); +per_frame_15=ob_b = 0.5 + 0.5*sin(time*0.112); +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=monitor = q1; +per_pixel_1=zoom = 1.05; +per_pixel_2=rot = 0; +per_pixel_3= +per_pixel_4=dx = 0; +per_pixel_5=dy = 0; +per_pixel_6= +per_pixel_7=warp = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += tex2D(sampler_fc_main, GetBlur3(uv)*2).xyz; +comp_5=` //ret += tex2D(sampler_fw_main, uv).xyz; +comp_6=` +comp_7=` +comp_8=` ret *= 2.00; //gamma +comp_9=` ret *= ret - ret*0.2; //darken +comp_10=`} diff --git a/presets/presets_tryptonaut/ORB - Magma Pool.milk b/presets/presets_tryptonaut/ORB - Magma Pool.milk new file mode 100755 index 0000000000..8e1dde7221 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Magma Pool.milk @@ -0,0 +1,308 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=2.007 +fWarpScale=3.749 +fZoomExponent=1.07410 +fShader=0.000 +zoom=1.00040 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=38.61310 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.400 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.37409 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=ang = basstime; +shape_0_per_frame2=tex_ang = sin(basstime); +shape_0_per_frame3= +shape_0_per_frame4=ob_r = 0.5 * sin(basstime*1.12); +shape_0_per_frame5=ob_g = 0.5 * sin(basstime*1.5); +shape_0_per_frame6=ob_b = 0.5 * sin(basstime*2.12); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.66718 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.37713 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.700 +shapecode_1_r2=0.800 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=tex_capture = above(bass,1); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.800 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=b2 = sin(q5*0.4); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.540 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=basstime = basstime + bass*0.006; +per_frame_2=q2 = basstime; +per_frame_3=q1 = basstime*0.001; +per_frame_4= +per_frame_5= +per_frame_6=q4 = cos(basstime); +per_frame_7=q5 = sin(basstime); +per_frame_8= +per_frame_9=//Transision detection +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = 0;//(diff-0.5)*5; +per_frame_39=q6 = diff; +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=monitor = (diff-1)*5; +per_pixel_1=zoom = 0.2; +per_pixel_2=rot = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2x2 rot = { q5, q4, +warp_5=` -q4, q5 }; +warp_6=` +warp_7=` float3 txr = float3(uv,q2); +warp_8=` +warp_9=` float final_noise = 0; +warp_10=` final_noise += (1.0/pow(2,0))*(tex3D(sampler_noisevol_hq, txr*pow(q3,0))*2-1); +warp_11=` final_noise += (1.0/pow(2,1))*(tex3D(sampler_noisevol_hq, txr*pow(q3,1))*2-1); +warp_12=` final_noise += (1.0/pow(2,2))*(tex3D(sampler_noisevol_hq, txr*pow(q3,2))*2-1); +warp_13=` final_noise += (1.0/pow(2,3))*(tex3D(sampler_noisevol_hq, txr*pow(q3,3))*2-1); +warp_14=` +warp_15=` final_noise = pow(final_noise,1); +warp_16=` +warp_17=` ret = tex2D(sampler_main, mul(uv-0.5,rot)*(1-rad*3.7*(1 - bass_att*0.3))*final_noise + 0.5).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = ret - 0.08; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2x2 rot = { q4, q5, +comp_4=` -q5, q4 }; +comp_5=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_6=` ret = lerp( tex2D(sampler_main, frac(mul(uv-0.5, rot)*0.9 + 0.5)).xyz, +comp_7=` tex2D(sampler_main, frac(mul(uv_echo-0.5, -rot)*0.9 + 0.5)).xyz, +comp_8=` 0.50 +comp_9=` ); //video echo +comp_10=` ret *= 2.00; //gamma +comp_11=` float3 retp = ret;//1 - ret*(1-ret)*2; //solarize +comp_12=` ret = (float3(retp[0]*10,retp[1],-retp[2])); +comp_13=`} diff --git a/presets/presets_tryptonaut/ORB - Mega Spectrum.milk b/presets/presets_tryptonaut/ORB - Mega Spectrum.milk new file mode 100755 index 0000000000..b446247c31 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Mega Spectrum.milk @@ -0,0 +1,542 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.88026 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.200 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.5*sin(s)*cos(ss)*equal(q5,0) + +wave_0_per_point8=(0.6 + 0.1*cos(s))*cos(ss)*equal(q5,1) + +wave_0_per_point9=0.5*sin(s)*cos(ss)*equal(q5,2); +wave_0_per_point10=ys = 0.5*sin(s)*sin(ss)*equal(q5,0) + +wave_0_per_point11=(0.6 + 0.1*cos(s))*sin(ss)*equal(q5,1) + +wave_0_per_point12=0.5*sin(s)*sin(ss)*equal(q5,2); +wave_0_per_point13=zs = 0.5*cos(s)*equal(q5,0) + +wave_0_per_point14=0.1*sin(s)*equal(q5,1) + +wave_0_per_point15=0.5*sin(s)*equal(q5,2); +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18= +wave_0_per_point19=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_0_per_point20=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_0_per_point21=ztor = 0.1*sin(s); +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=//rotate x axis +wave_0_per_point25=angle = q1*0.3; +wave_0_per_point26=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point27=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point28=xx = xs; +wave_0_per_point29= +wave_0_per_point30=//rotate y axis +wave_0_per_point31=angle2 = q1*0.5; +wave_0_per_point32=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point33=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point34=yd = yx; +wave_0_per_point35= +wave_0_per_point36=//rotaye z axis +wave_0_per_point37=angle3 = q1*0.41; +wave_0_per_point38=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point39=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point40= +wave_0_per_point41=zd = zd + 2; +wave_0_per_point42= +wave_0_per_point43=//do that falloff effect +wave_0_per_point44=peek1 = (value1 + value2)*10; +wave_0_per_point45= +wave_0_per_point46=//if sample louder set that to level else decrement level +wave_0_per_point47=level = if(above(peek1,level),peek1,level - 0.00025); +wave_0_per_point48=level = if(below(level,0),0,level); +wave_0_per_point49= +wave_0_per_point50=//add to z +wave_0_per_point51=zd = zd + 2 + level; +wave_0_per_point52= +wave_0_per_point53= +wave_0_per_point54=x = xn*zd*0.05 + 0.5; +wave_0_per_point55=y = yn*zd*0.05*1.2 + 0.5; +wave_0_per_point56= +wave_0_per_point57= +wave_0_per_point58=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point59=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point60=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.88026 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.200 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = 0.5*sin(s)*cos(ss)*equal(q5,2) + +wave_1_per_point8=(0.6 + 0.1*cos(s))*cos(ss)*equal(q5,0) + +wave_1_per_point9=0.5*sin(s)*cos(ss)*equal(q5,1); +wave_1_per_point10=ys = 0.5*sin(s)*sin(ss)*equal(q5,2) + +wave_1_per_point11=(0.6 + 0.1*cos(s))*sin(ss)*equal(q5,0) + +wave_1_per_point12=0.5*sin(s)*sin(ss)*equal(q5,1); +wave_1_per_point13=zs = 0.5*cos(s)*equal(q5,2) + +wave_1_per_point14=0.1*sin(s)*equal(q5,0) + +wave_1_per_point15=0.5*sin(s)*equal(q5,1); +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_1_per_point19=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_1_per_point20=ztor = 0.1*sin(s); +wave_1_per_point21= +wave_1_per_point22= +wave_1_per_point23=//rotate x axis +wave_1_per_point24=angle = q1*0.3; +wave_1_per_point25=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point26=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point27=xx = xs; +wave_1_per_point28= +wave_1_per_point29=//rotate y axis +wave_1_per_point30=angle2 = q1*0.5; +wave_1_per_point31=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point32=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point33=yd = yx; +wave_1_per_point34= +wave_1_per_point35=//rotaye z axis +wave_1_per_point36=angle3 = q1*0.41; +wave_1_per_point37=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point38=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point39= +wave_1_per_point40=zd = zd + 2; +wave_1_per_point41= +wave_1_per_point42=//do that falloff effect +wave_1_per_point43=peek1 = (value1 + value2)*10; +wave_1_per_point44= +wave_1_per_point45=//if sample louder set that to level else decrement level +wave_1_per_point46=level = if(above(peek1,level),peek1,level - 0.00025); +wave_1_per_point47=level = if(below(level,0),0,level); +wave_1_per_point48= +wave_1_per_point49=//add to z +wave_1_per_point50=zd = zd + 2 + level; +wave_1_per_point51= +wave_1_per_point52= +wave_1_per_point53=x = xn*zd*0.05 + 0.5; +wave_1_per_point54=y = yn*zd*0.05*1.2 + 0.5; +wave_1_per_point55= +wave_1_per_point56= +wave_1_per_point57=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point58=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point59=b = 0.5 + 0.5*sin(q1*1.16 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.500 +wave_2_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_2_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14; +wave_2_per_point4=ss = sample*6.28*100; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_2_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_2_per_point9=zs = 0.5*sin(s); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=//plot x,y,z to point on circle +wave_2_per_point13=//smp=sample*6.283; +wave_2_per_point14=//xp=sin(smp )*0.30; +wave_2_per_point15=//yp=cos(smp )*0.30; +wave_2_per_point16=//zp=0; +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=//alter shape; +wave_2_per_point20=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_2_per_point21=//xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point22=//zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point23=//xp=xq; +wave_2_per_point24=//zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27= +wave_2_per_point28=//rotate on y axis; +wave_2_per_point29=//angy=t1*0.1; +wave_2_per_point30=//xq=xp*cos(angy) - zp*sin(angy); +wave_2_per_point31=//zq=xp*sin(angy) + zp*cos(angy); +wave_2_per_point32=//xp=xq; +wave_2_per_point33=//zp=zq; +wave_2_per_point34= +wave_2_per_point35=//rotate on x axis +wave_2_per_point36=//axs1 = sin(t1*0.15) + 1.6; +wave_2_per_point37=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_2_per_point38=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_2_per_point39=//yp=yq; +wave_2_per_point40=//zp=zq; +wave_2_per_point41= +wave_2_per_point42=//rotate on y axis again +wave_2_per_point43=//axs2 = sin(t1*0.1)*3.3; +wave_2_per_point44=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_2_per_point45=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_2_per_point46=//xp=xq; +wave_2_per_point47=//zp=zq; +wave_2_per_point48= +wave_2_per_point49= +wave_2_per_point50= +wave_2_per_point51= +wave_2_per_point52=//rotate x axis +wave_2_per_point53=angle = sin(q1*0.15 + 3.14); +wave_2_per_point54=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point55=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point56=xx = xs; +wave_2_per_point57= +wave_2_per_point58=//rotate y axis +wave_2_per_point59=angle2 = sin(q1*0.2 + 3.14); +wave_2_per_point60=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point61=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point62=yd = yx; +wave_2_per_point63= +wave_2_per_point64=zd = zd + 2; +wave_2_per_point65= +wave_2_per_point66=x = xd*zd*0.3*1.2 + 0.5; +wave_2_per_point67=y = yd*zd*0.3*1.2 + 0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point71=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point72=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.500 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*20; +wave_3_per_point4= +wave_3_per_point5=//draw +wave_3_per_point6=xs = 0.5*sin(s)*cos(s*v); +wave_3_per_point7=ys = 0.5*sin(s)*sin(s*v); +wave_3_per_point8=zs = 0.5*sin(u); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=//plot x,y,z to point on circle +wave_3_per_point12=//smp=sample*6.283; +wave_3_per_point13=//xp=sin(smp )*0.30; +wave_3_per_point14=//yp=cos(smp )*0.30; +wave_3_per_point15=//zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=//alter shape; +wave_3_per_point19=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_3_per_point20=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point21=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point22=//xp=xq; +wave_3_per_point23=//zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=//rotate on y axis; +wave_3_per_point28=//angy=t1*0.1; +wave_3_per_point29=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point30=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point31=//xp=xq; +wave_3_per_point32=//zp=zq; +wave_3_per_point33= +wave_3_per_point34=//rotate on x axis +wave_3_per_point35=//axs1 = sin(t1*0.15) + 1.6; +wave_3_per_point36=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point37=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point38=//yp=yq; +wave_3_per_point39=//zp=zq; +wave_3_per_point40= +wave_3_per_point41=//rotate on y axis again +wave_3_per_point42=//axs2 = sin(t1*0.1)*3.3; +wave_3_per_point43=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point44=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point45=//xp=xq; +wave_3_per_point46=//zp=zq; +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50= +wave_3_per_point51=//rotate x axis +wave_3_per_point52=angle = sin(q1*0.15 - 1.57); +wave_3_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point55=xx = xs; +wave_3_per_point56= +wave_3_per_point57=//rotate y axis +wave_3_per_point58=//angle2 = sin(q1*0.2 - 1.57); +wave_3_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point61=yd = yx; +wave_3_per_point62= +wave_3_per_point63= +wave_3_per_point64=x = xd*zd + 0.5; +wave_3_per_point65=y = yd*zd + 0.5; +wave_3_per_point66= +wave_3_per_point67= +wave_3_per_point68=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point69=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point70=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66717 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.400 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=r = sin(q1); +shape_0_per_frame2=g = sin(q1*1.1); +shape_0_per_frame3=b = sin(q1*1.4); +shape_0_per_frame4=r2 = sin(q1*1.25); +shape_0_per_frame5=g2 = sin(q1*1.45); +shape_0_per_frame6=b2 = sin(q1*1.12); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=basstime = basstime + bass_att*0.03; +per_frame_5=vol = pow(bass+mid+treb,2); +per_frame_6=basssum = vol; +per_frame_7= +per_frame_8=stickybit = time%2; +per_frame_9= +per_frame_10=//avg vol +per_frame_11=//buffer 1 +per_frame_12=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_13=//number of samples 1 or framerate +per_frame_14=sample1 = sample1 + equal(stickybit,1); +per_frame_15=//buffer 2 +per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_17=//number of samples 2 +per_frame_18=sample2 = sample2 + equal(stickybit,0); +per_frame_19= +per_frame_20=//transision +per_frame_21=edge = bnot(equal(bit2,stickybit)); +per_frame_22= +per_frame_23=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=sample1 = sample1 - sample1*edge*stickybit; +per_frame_27=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=//test vol against avg buffer lvl +per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_32= +per_frame_33=q3 = diff; +per_frame_34= +per_frame_35=bit2 = time%2; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=state = state + above(diff,5); +per_frame_41=state = if(above(state,2),0,state); +per_frame_42=monitor = state; +per_frame_43= +per_frame_44=q5 = state; +per_frame_45= +per_frame_46=//fix a strange error +per_frame_47=difftime = if(above(difftime,2000),0, difftime); +per_frame_48= +per_frame_49=rarr = rand(100)*0.01; +per_frame_50= +per_frame_51=decay_r = 0.6 + 0.2*(abs(sin(diff+rarr))); +per_frame_52=decay_g = 0.6 + 0.25*(abs(cos(diff+rarr))); +per_frame_53=decay_b = 0.6 + 0.30*(abs(atan(diff+rarr))); +per_frame_54= +per_frame_55=//shape fill +per_pixel_1=zoom = 1 + 0.05*q3; +per_pixel_2=zoom = 1; diff --git a/presets/presets_tryptonaut/ORB - Nova Sunrise.milk b/presets/presets_tryptonaut/ORB - Nova Sunrise.milk new file mode 100755 index 0000000000..12dca96e7a --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Nova Sunrise.milk @@ -0,0 +1,511 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=-6.27999 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.100 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.3*sin(s)*cos(ss); +wave_0_per_point8=ys = 0.3*sin(s)*sin(ss); +wave_0_per_point9=zs = 0.3*cos(s); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=//rotate x axis +wave_0_per_point13=angle = sin(q1*0.027)*6.28; +wave_0_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point16=xx = xs; +wave_0_per_point17= +wave_0_per_point18=//rotate y axis +wave_0_per_point19=angle2 = sin(q1*0.03)*6.28; +wave_0_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point22=yd = yx; +wave_0_per_point23= +wave_0_per_point24=//rotaye z axis +wave_0_per_point25=angle3 = sin(q1*0.028)*6.28; +wave_0_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point28= +wave_0_per_point29=zd = zd + 2; +wave_0_per_point30= +wave_0_per_point31=x = xn*zd*0.3 + 0.5; +wave_0_per_point32=y = yn*zd*0.3*1.2 + 0.5; +wave_0_per_point33= +wave_0_per_point34= +wave_0_per_point35=r = 0.5 + 0.5*sin(q1*0.2 + x + x) + xn; +wave_0_per_point36=g = 0.5 + 0.5*sin(q1*0.5 + x + y) + yn; +wave_0_per_point37=b = 0.5 + 0.5*sin(q1*0.36 + y + y) + zn; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=//init +wave_1_per_point2=zs = if(below(zs,100),100,zs); +wave_1_per_point3=zs = if(above(zs, 10100),100, zs); +wave_1_per_point4= +wave_1_per_point5=zs = if(above(zs, 1100),1, zs); +wave_1_per_point6= +wave_1_per_point7=pi = 3.141592; +wave_1_per_point8= +wave_1_per_point9=samp = sample; +wave_1_per_point10= +wave_1_per_point11=xx = cos(q1*samp+ q1)*1; +wave_1_per_point12=yy = sin(q1*samp+ q1*0.9)*1; +wave_1_per_point13= +wave_1_per_point14=zz = 2.5*samp*0.1; +wave_1_per_point15= +wave_1_per_point16=x = xx*zz*4; +wave_1_per_point17=y = yy*zz*4; +wave_1_per_point18= +wave_1_per_point19=x = x*0.5 + 0.5; +wave_1_per_point20=y = y*0.5 + 0.5; +wave_1_per_point21= +wave_1_per_point22=r = 1;;//0.5 + 0.5*cos(q1*2*0.1)*sin(q1*0.1); +wave_1_per_point23=g = 1;//0.5 + 0.5*sin(q1*2*0.1)*sin(q1*0.1); +wave_1_per_point24=b = 1;//0.5 + 0.5*cos(q1); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.010 +wave_2_per_point1=//init +wave_2_per_point2=zs = if(below(zs,100),100,zs); +wave_2_per_point3=zs = if(above(zs, 10100),100, zs); +wave_2_per_point4= +wave_2_per_point5=zs = if(above(zs, 1100),1, zs); +wave_2_per_point6= +wave_2_per_point7=pi = 3.141592; +wave_2_per_point8= +wave_2_per_point9=samp = sample; +wave_2_per_point10= +wave_2_per_point11=xx = cos(q1*samp+ q1)*1; +wave_2_per_point12=yy = sin(q1*samp+ q1*0.9)*1; +wave_2_per_point13= +wave_2_per_point14=zz = 2.5*samp*0.1; +wave_2_per_point15= +wave_2_per_point16=x = xx*zz*4; +wave_2_per_point17=y = yy*zz*4; +wave_2_per_point18= +wave_2_per_point19=x = x*0.5 + 0.5; +wave_2_per_point20=y = y*0.5 + 0.5; +wave_2_per_point21= +wave_2_per_point22=r = 0.5 + 0.5*cos(q1*2*0.1)*sin(q1*0.1); +wave_2_per_point23=g = 0.5 + 0.5*sin(q1*2*0.1)*sin(q1*0.1); +wave_2_per_point24=b = 0.5 + 0.5*cos(q1); +wave_2_per_point25= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),rand(100)*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),rand(10),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),rand(20),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.38096 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=0.400 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.900 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = 0.5 + 0.02*sin(time); +shape_2_per_frame2=y = 0.5 + 0.02*cos(time); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame5=g = 0.1 + 0.5*sin(q1*0.09878); +shape_2_per_frame6=b = 0.1 + 0.5*sin(q1*0.0897); +shape_2_per_frame7= +shape_2_per_frame8=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_2_per_frame9=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_2_per_frame10=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=monitor = q1; +per_pixel_1=zoom = 1; +warp_1=`sampler sampler_cells; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` +warp_7=` //float3 txr = float3(uv,q2*0.1); +warp_8=` float2 txr = float2(uv); +warp_9=` +warp_10=` +warp_11=` float3 final_noise = 0; +warp_12=` final_noise += tex2D(sampler_cells, (txr-0.5)*(1 - bass_att*0.1) + 0.5);; +warp_13=` +warp_14=` final_noise = 1 - final_noise*0.25; +warp_15=` +warp_16=` ret = tex2D(sampler_main, (uv-0.5)*(1 - bass_att*0.01)*final_noise + 0.5).xyz; +warp_17=` +warp_18=` // darken (decay) over time +warp_19=` ret = ret-0.0; //or try: ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,1) + 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret *= 2.00; //gamma +comp_6=` ret = sqrt(ret); //brighten +comp_7=` ret = 1-ret*(1-ret)*4; +comp_8=`} diff --git a/presets/presets_tryptonaut/ORB - Planetary Alignment Acid Burn.milk b/presets/presets_tryptonaut/ORB - Planetary Alignment Acid Burn.milk new file mode 100755 index 0000000000..1ffc0dd887 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Planetary Alignment Acid Burn.milk @@ -0,0 +1,404 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=-18.84024 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.900 +ob_g=0.500 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.100 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=1.000 +mv_g=0.300 +mv_b=0.200 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=time_delta = 2; +wave_0_per_point1=fire = above(q3, 3); +wave_0_per_point2= +wave_0_per_point3=explode_time = 1.5; +wave_0_per_point4= +wave_0_per_point5=state = if(below((timestart+explode_time) -(time*fire), 0), 0, 1); +wave_0_per_point6=timestart = if(below((timestart+explode_time) -(time*fire), 0), time, timestart); +wave_0_per_point7= +wave_0_per_point8=xpos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), xpos); +wave_0_per_point9=ypos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), ypos); +wave_0_per_point10=explode = if(equal(state, 0), rand(100)*0.0000001, explode); +wave_0_per_point11= +wave_0_per_point12=size = if(equal(state,1),size + 0.00001 + explode, 0); +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=x = xpos + size*cos(sample*10); +wave_0_per_point16=y = ypos + size*sin(sample*10); +wave_0_per_point17= +wave_0_per_point18=r = 0.5 + 0.5*sin(q2*1.2 + x + x); +wave_0_per_point19=g = 0.5 + 0.5*sin(q2*1.5 + x + y); +wave_0_per_point20=b = 0.5 + 0.5*sin(q2*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=fire = above(q3, 2.9); +wave_1_per_point2= +wave_1_per_point3=explode_time = 1; +wave_1_per_point4= +wave_1_per_point5=state = if(below((timestart+explode_time) -(time*fire), 0), 0, 1); +wave_1_per_point6=timestart = if(below((timestart+explode_time) -(time*fire), 0), time, timestart); +wave_1_per_point7= +wave_1_per_point8=xpos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), xpos); +wave_1_per_point9=ypos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), ypos); +wave_1_per_point10=explode = if(equal(state, 0), rand(100)*0.0000001, explode); +wave_1_per_point11= +wave_1_per_point12=size = if(equal(state,1),size + 0.00001 + explode, 0); +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=x = xpos + size*cos(sample*10); +wave_1_per_point16=y = ypos + size*sin(sample*10); +wave_1_per_point17= +wave_1_per_point18=r = 0.5 + 0.5*sin(q2*1.24 + x + x); +wave_1_per_point19=g = 0.5 + 0.5*sin(q2*1.35 + x + y); +wave_1_per_point20=b = 0.5 + 0.5*sin(q2*1.4666 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=fire = above(q3, 1.5); +wave_2_per_point2= +wave_2_per_point3=explode_time = 1; +wave_2_per_point4= +wave_2_per_point5=state = if(below((timestart+explode_time) -(time*fire), 0), 0, 1); +wave_2_per_point6=timestart = if(below((timestart+explode_time) -(time*fire), 0), time, timestart); +wave_2_per_point7= +wave_2_per_point8=xpos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), xpos); +wave_2_per_point9=ypos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), ypos); +wave_2_per_point10=explode = if(equal(state, 0), rand(100)*0.0000001, explode); +wave_2_per_point11= +wave_2_per_point12=size = if(equal(state,1),size + 0.00001 + explode, 0); +wave_2_per_point13= +wave_2_per_point14= +wave_2_per_point15=x = xpos + size*cos(sample*10); +wave_2_per_point16=y = ypos + size*sin(sample*10); +wave_2_per_point17= +wave_2_per_point18=r = 0.5 + 0.5*sin(q2*1.14 + x + x); +wave_2_per_point19=g = 0.5 + 0.5*sin(q2*1.55 + x + y); +wave_2_per_point20=b = 0.5 + 0.5*sin(q2*1.7666 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=fire = above(q3, 1); +wave_3_per_point2= +wave_3_per_point3=explode_time = 1; +wave_3_per_point4= +wave_3_per_point5=state = if(below((timestart+explode_time) -(time*fire), 0), 0, 1); +wave_3_per_point6=timestart = if(below((timestart+explode_time) -(time*fire), 0), time, timestart); +wave_3_per_point7= +wave_3_per_point8=xpos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), xpos); +wave_3_per_point9=ypos = if(equal(state, 0), 0.5 + 0.3*sin(rand(1000)), ypos); +wave_3_per_point10=explode = if(equal(state, 0), rand(100)*0.0000001, explode); +wave_3_per_point11= +wave_3_per_point12=size = if(equal(state,1),size + 0.00001 + explode, 0); +wave_3_per_point13= +wave_3_per_point14= +wave_3_per_point15=x = xpos + size*cos(sample*10); +wave_3_per_point16=y = ypos + size*sin(sample*10); +wave_3_per_point17= +wave_3_per_point18=r = 0.5 + 0.5*sin(q2*1.24 + x + x); +wave_3_per_point19=g = 0.5 + 0.5*sin(q2*1.35 + x + y); +wave_3_per_point20=b = 0.5 + 0.5*sin(q2*1.4666 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.0897); +shape_1_per_frame4= +shape_1_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_1_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame2=g = 0.1 + 0.5*sin(q1*0.03878); +shape_2_per_frame3=b = 0.1 + 0.5*sin(q1*0.0497); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_2_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_2_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0597); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=//x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=//y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46=//circle 1 +per_frame_47= +per_pixel_1=zoom = 0.98; +per_pixel_2=rot = 0; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float2x2 rot = { cos(q9), sin(q9), +warp_7=` -sin(q9), cos(q9) }; +warp_8=` +warp_9=` +warp_10=` ret = tex2D( sampler_main, ( ( +warp_11=` (uv-0.5)*(0.97 + rad*0.02)) + 0.5 +warp_12=` + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.5 +warp_13=` )*0.98 + 0.5).xyz; +warp_14=` ret = ret-0.002;// - 0.08; //or try: ret -= 0.004; +warp_15=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,1) + 0.5; +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` ret *= 2.00; //gamma +comp_7=` ret = ret; //brighten +comp_8=`} diff --git a/presets/presets_tryptonaut/ORB - Quicksand.milk b/presets/presets_tryptonaut/ORB - Quicksand.milk new file mode 100755 index 0000000000..bfc654515c --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Quicksand.milk @@ -0,0 +1,446 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.960000 +rot=-18.840240 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000521 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.900000 +ob_g=0.500000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.300000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.950000 +mv_r=0.500000 +mv_g=0.400000 +mv_b=0.300000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(time*0.22) + 0.1; +wave_0_per_point17=g = 0.1 + 0.4*sin(time*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),rand(100)*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),rand(10),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),rand(20),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=2.667177 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.451117 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.150000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=r = 0.1 + 0.5*sin(q1); +shape_0_per_frame2=g = 0.1 + 0.5*sin(q1*0.9878); +shape_0_per_frame3=b = 0.1 + 0.5*sin(q1*0.897); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.350000 +shapecode_1_y=0.000000 +shapecode_1_rad=0.099594 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_1_per_frame2=g = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame3=b = 0.1 + 0.5*sin(q1*0.0897); +shape_1_per_frame4= +shape_1_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.035); +shape_1_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.09878); +shape_1_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0897); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.102009 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = 0.1 + 0.5*sin(q1*0.01); +shape_2_per_frame2=g = 0.1 + 0.5*sin(q1*0.03878); +shape_2_per_frame3=b = 0.1 + 0.5*sin(q1*0.0497); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_2_per_frame6=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_2_per_frame7=b2 = 0.1 + 0.5*sin(q1*0.0597); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.650000 +shapecode_3_y=0.000000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=//x = 0.5 + 0.02*sin(time*0.5 + 1.68); +shape_3_per_frame2=//y = 0.5 + 0.02*cos(time*0.5 + 1.68); +shape_3_per_frame3= +shape_3_per_frame4= +shape_3_per_frame5=r = 0.1 + 0.5*sin(q1*0.0144); +shape_3_per_frame6=g = 0.1 + 0.5*sin(q1*0.05878); +shape_3_per_frame7=b = 0.1 + 0.5*sin(q1*0.0797); +shape_3_per_frame8= +shape_3_per_frame9=r2 = 0.1 + 0.5*sin(q1*0.065); +shape_3_per_frame10=g2 = 0.1 + 0.5*sin(q1*0.07878); +shape_3_per_frame11=b2 = 0.1 + 0.5*sin(q1*0.0897); +per_frame_init_1=state = 0; +per_frame_1=basstime = basstime + bass*0.06; +per_frame_2=q1 = basstime; +per_frame_3= +per_frame_4=q9 = basstime * 0.000005; +per_frame_5= +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7= +per_frame_8=vol = pow(bass+mid+treb,2); +per_frame_9=basssum = vol; +per_frame_10= +per_frame_11=stickybit = time%2; +per_frame_12= +per_frame_13=//avg vol +per_frame_14=//buffer 1 +per_frame_15=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_16=//number of samples 1 or framerate +per_frame_17=sample1 = sample1 + equal(stickybit,1); +per_frame_18=//buffer 2 +per_frame_19=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_20=//number of samples 2 +per_frame_21=sample2 = sample2 + equal(stickybit,0); +per_frame_22= +per_frame_23=//transision +per_frame_24=edge = bnot(equal(bit2,stickybit)); +per_frame_25= +per_frame_26=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_27=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_28= +per_frame_29=sample1 = sample1 - sample1*edge*stickybit; +per_frame_30=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_31= +per_frame_32=//test vol against avg buffer lvl +per_frame_33=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_34=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_35= +per_frame_36=q3 = diff; +per_frame_37= +per_frame_38=bit2 = time%2; +per_frame_39= +per_frame_40=difftime = difftime + diff*0.03; +per_frame_41=q2 = difftime; +per_frame_42= +per_frame_43=//fix a strange error +per_frame_44=difftime = if(above(difftime,2000),0, difftime); +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=monitor = q1; +per_frame_49= +per_frame_50=mv_a = q3 - 2; +per_frame_51= +per_frame_52=mv_r = 0.5 + 0.5*sin(basstime*0.389); +per_frame_53=mv_g = 0.5 + 0.5*sin(basstime*0.478); +per_frame_54=mv_b = 0.5 + 0.5*sin(basstime*0.535); +per_pixel_1=zoom = 0.98; +per_pixel_2=rot = 0; +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=` +warp_13=` +warp_14=` ret = tex2D( sampler_main, ((uv-0.5)*(0.97 + rad*0.02)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_15=` ret = ret-0.001;// - 0.08; //or try: ret -= 0.004; +warp_16=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret *= 2.00; //gamma +comp_6=` ret = ret; //brighten +comp_7=`} diff --git a/presets/presets_tryptonaut/ORB - Saturns Rings.milk b/presets/presets_tryptonaut/ORB - Saturns Rings.milk new file mode 100755 index 0000000000..3e4e5dd21d --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Saturns Rings.milk @@ -0,0 +1,419 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=//init +wave_0_per_point2=zs = if(below(zs,100),100,zs); +wave_0_per_point3=zs = if(above(zs, 10100),100, zs); +wave_0_per_point4= +wave_0_per_point5=zs = if(above(zs, 1100),1, zs); +wave_0_per_point6= +wave_0_per_point7=//sum +wave_0_per_point8=zs = 1*sample*0.1; +wave_0_per_point9= +wave_0_per_point10=//draw +wave_0_per_point11=//ring +wave_0_per_point12=ring1x = 0.1*cos(q1*zs*1); +wave_0_per_point13=ring1y = 0.1*sin(q1*zs*1); +wave_0_per_point14= +wave_0_per_point15=ring2x = 0.1*cos(q1*zs*1.1); +wave_0_per_point16=ring2y = 0.1*sin(q1*zs*1.1); +wave_0_per_point17= +wave_0_per_point18=ring3x = 0.1*cos(q1*zs*1.2); +wave_0_per_point19=ring3y = 0.1*sin(q1*zs*1.2); +wave_0_per_point20= +wave_0_per_point21=ring4x = 0.1*cos(q1*zs*1.3); +wave_0_per_point22=ring4y = 0.1*sin(q1*zs*1.3); +wave_0_per_point23= +wave_0_per_point24=ring5x = 0.1*cos(q1*zs*1.4); +wave_0_per_point25=ring5y = 0.1*sin(q1*zs*1.4); +wave_0_per_point26= +wave_0_per_point27=//rotate +wave_0_per_point28=ring1x = ring1x*cos(q1*0.1) - ring1y*sin(q1*0.1); +wave_0_per_point29=ring1y = ring1x*sin(q1*0.1) + ring1y*cos(q1*0.1); +wave_0_per_point30= +wave_0_per_point31=ring2x = ring2x*cos(q1*0.2) - ring2y*sin(q1*0.2); +wave_0_per_point32=ring2y = ring2x*sin(q1*0.2) + ring2y*cos(q1*0.2); +wave_0_per_point33= +wave_0_per_point34=ring3x = ring3x*cos(q1*0.3) - ring3y*sin(q1*0.3); +wave_0_per_point35=ring3y = ring3x*sin(q1*0.3) + ring3y*cos(q1*0.3); +wave_0_per_point36= +wave_0_per_point37=ring4x = ring4x*cos(q1*0.4) - ring4y*sin(q1*0.4); +wave_0_per_point38=ring4y = ring4x*sin(q1*0.4) + ring4y*cos(q1*0.4); +wave_0_per_point39= +wave_0_per_point40=ring5x = ring5x*cos(q1*0.5) - ring5y*sin(q1*0.5); +wave_0_per_point41=ring5y = ring5x*sin(q1*0.5) + ring5y*cos(q1*0.5); +wave_0_per_point42= +wave_0_per_point43=//rotate +wave_0_per_point44=//x = x*cos(q1*0.6) - y*sin(q1*0.6); +wave_0_per_point45=//y = x*sin(q1*0.6) + y*cos(q1*0.6); +wave_0_per_point46= +wave_0_per_point47=//place +wave_0_per_point48=x = ring1x + ring2x + ring3x + ring4x + ring5x + 0.5; +wave_0_per_point49=y = ring1y + ring2y + ring3y + ring4y + ring5y + 0.5; +wave_0_per_point50= +wave_0_per_point51=r =1; +wave_0_per_point52=g =1; +wave_0_per_point53=b =1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_per_point1=//init +wave_1_per_point2=zs = if(below(zs,100),100,zs); +wave_1_per_point3=zs = if(above(zs, 10100),100, zs); +wave_1_per_point4= +wave_1_per_point5=zs = if(above(zs, 1100),1, zs); +wave_1_per_point6= +wave_1_per_point7=zs = 1*sample*0.1; +wave_1_per_point8= +wave_1_per_point9=//draw +wave_1_per_point10=//ring +wave_1_per_point11=ring1x = 0.1*cos(q1*zs*1); +wave_1_per_point12=ring1y = 0.1*sin(q1*zs*1); +wave_1_per_point13= +wave_1_per_point14=ring2x = 0.1*cos(q1*zs*1.1); +wave_1_per_point15=ring2y = 0.1*sin(q1*zs*1.1); +wave_1_per_point16= +wave_1_per_point17=ring3x = 0.1*cos(q1*zs*1.2); +wave_1_per_point18=ring3y = 0.1*sin(q1*zs*1.2); +wave_1_per_point19= +wave_1_per_point20=ring4x = 0.1*cos(q1*zs*1.3); +wave_1_per_point21=ring4y = 0.1*sin(q1*zs*1.3); +wave_1_per_point22= +wave_1_per_point23=ring5x = 0.1*cos(q1*zs*1.4); +wave_1_per_point24=ring5y = 0.1*sin(q1*zs*1.4); +wave_1_per_point25= +wave_1_per_point26=//rotate +wave_1_per_point27=ring1x = ring1x*cos(q1*0.1) - ring1y*sin(q1*0.1); +wave_1_per_point28=ring1y = ring1x*sin(q1*0.1) + ring1y*cos(q1*0.1); +wave_1_per_point29= +wave_1_per_point30=ring2x = ring2x*cos(q1*0.2) - ring2y*sin(q1*0.2); +wave_1_per_point31=ring2y = ring2x*sin(q1*0.2) + ring2y*cos(q1*0.2); +wave_1_per_point32= +wave_1_per_point33=ring3x = ring3x*cos(q1*0.3) - ring3y*sin(q1*0.3); +wave_1_per_point34=ring3y = ring3x*sin(q1*0.3) + ring3y*cos(q1*0.3); +wave_1_per_point35= +wave_1_per_point36=ring4x = ring4x*cos(q1*0.4) - ring4y*sin(q1*0.4); +wave_1_per_point37=ring4y = ring4x*sin(q1*0.4) + ring4y*cos(q1*0.4); +wave_1_per_point38= +wave_1_per_point39=ring5x = ring5x*cos(q1*0.5) - ring5y*sin(q1*0.5); +wave_1_per_point40=ring5y = ring5x*sin(q1*0.5) + ring5y*cos(q1*0.5); +wave_1_per_point41= +wave_1_per_point42=//place +wave_1_per_point43=x = ring1x + ring2x + ring3x + ring4x + ring5x + 0.5; +wave_1_per_point44=y = ring1y + ring2y + ring3y + ring4y + ring5y + 0.5; +wave_1_per_point45= +wave_1_per_point46=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point47=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point48=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.400 +wave_2_per_point1=//init +wave_2_per_point2=zs = if(below(zs,100),100,zs); +wave_2_per_point3=zs = if(above(zs, 10100),100, zs); +wave_2_per_point4= +wave_2_per_point5=//sum +wave_2_per_point6=zs = zs + q8; +wave_2_per_point7= +wave_2_per_point8=//project +wave_2_per_point9=x = 0.1*cos(q1*zs*1);// /(1 + 0.1*abs(cos(zs))); +wave_2_per_point10=y = 0.1*sin(q1*zs*1);// /(1 + 0.1*abs(cos(zs))); +wave_2_per_point11= +wave_2_per_point12=//rotate +wave_2_per_point13=x = x*cos(q1*0.8) - y*sin(q1*0.8); +wave_2_per_point14=y = x*sin(q1*0.8) + y*cos(q1*0.8); +wave_2_per_point15= +wave_2_per_point16=x = x + 0.5; +wave_2_per_point17=y = y + 0.5; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20=r = 0.5 + 0.5*sin(q1*2.2 + x + x); +wave_2_per_point21=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point22=b = 0.5 + 0.5*sin(q1*2.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.100 +wave_3_per_point1=//init +wave_3_per_point2=zs = if(below(zs,100),100,zs); +wave_3_per_point3=zs = if(above(zs, 10100),100, zs); +wave_3_per_point4= +wave_3_per_point5=//sum +wave_3_per_point6=zs = zs + q8; +wave_3_per_point7= +wave_3_per_point8=//project +wave_3_per_point9=x = 0.5*cos(q1*zs*1); +wave_3_per_point10=y = 0.5*sin(q1*zs*1); +wave_3_per_point11= +wave_3_per_point12=//rotate +wave_3_per_point13=x = x*cos(q1*0.5) - y*sin(q1*0.5); +wave_3_per_point14=y = x*sin(q1*0.5) + y*cos(q1*0.5); +wave_3_per_point15= +wave_3_per_point16=x = x + 0.5; +wave_3_per_point17=y = y + 0.5; +wave_3_per_point18= +wave_3_per_point19= +wave_3_per_point20=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point21=g = 0.5 + 0.5*sin(q1*2.5 + x + y); +wave_3_per_point22=b = 0.5 + 0.5*sin(q1*3.36 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=basstime2 = basstime + bass*0.03; +per_frame_3=q1 = basstime2; +per_frame_4= +per_frame_5=//start in most active range +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7=//basstime = if(above(basstime,495),450,basstime); +per_frame_8= +per_frame_9=basstime = basstime + bass_att*0.03; +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = diff; +per_frame_39= +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=difftime = difftime + diff*0.03; +per_frame_43=q2 = difftime; +per_frame_44= +per_frame_45=//fix a strange error +per_frame_46=difftime = if(above(difftime,2000),0, difftime); +per_frame_47= +per_frame_48=monitor = q1; +per_frame_49= +per_frame_50=rarr = rand(100)*0.01; +per_frame_51= +per_frame_52=decay = 0.7 + 0.2*(abs(cos(difftime*1.56+rarr))); +per_frame_53= +per_frame_54=//shape fill +per_frame_55=q8 = (diff+1)*0.0001; +per_pixel_1=zoom = 1; diff --git a/presets/presets_tryptonaut/ORB - Slippery Snakes.milk b/presets/presets_tryptonaut/ORB - Slippery Snakes.milk new file mode 100755 index 0000000000..18cddde546 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Slippery Snakes.milk @@ -0,0 +1,389 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.880000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.999900 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=//complex movement +shape_0_per_frame2=//must init vars +shape_0_per_frame3= +shape_0_per_frame4=speed = (q1*0.1 + bass + 0.5)*0.05; +shape_0_per_frame5= +shape_0_per_frame6=xs = if(below(xs,1),1.1 , xs); +shape_0_per_frame7=ys = if(below(ys,1),1.1 , ys); +shape_0_per_frame8= +shape_0_per_frame9=xs = if(above(xs,1200),1.1 , xs); +shape_0_per_frame10=ys = if(above(ys,1000),1.1 , ys); +shape_0_per_frame11= +shape_0_per_frame12=xs = xs + sin(q2*1.2)*speed; +shape_0_per_frame13=ys = ys + cos(q2)*speed; +shape_0_per_frame14= +shape_0_per_frame15=x = 0.5 + 0.5*sin(xs); +shape_0_per_frame16=y = 0.5 + 0.5*sin(ys); +shape_0_per_frame17= +shape_0_per_frame18=r = 0.5 + 0.5*sin(q2*3 + x); +shape_0_per_frame19=g = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_0_per_frame20=b = 0.5 + 0.5*sin(q2*3.5 + y); +shape_0_per_frame21= +shape_0_per_frame22=r2 = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_0_per_frame23=g2 = 0.5 + 0.5*sin(q2*3.7 + x); +shape_0_per_frame24=b2 = 0.5 + 0.5*sin(q2*3 + y); +shape_0_per_frame25= +shape_0_per_frame26=border_r = 0.5 + 0.5*sin(q2*3 + x); +shape_0_per_frame27=border_g = 0.5 + 0.5*sin(q2*3.3 + y); +shape_0_per_frame28=border_b = 0.5 + 0.5*sin(q2*3.6 + x*y); +shape_0_per_frame29= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=//complex movement +shape_1_per_frame2=//must init vars +shape_1_per_frame3= +shape_1_per_frame4=speed = (q1*0.1 + bass + 0.5)*0.05; +shape_1_per_frame5= +shape_1_per_frame6=xs = if(below(xs,1),1.1 , xs); +shape_1_per_frame7=ys = if(below(ys,1),1.1 , ys); +shape_1_per_frame8= +shape_1_per_frame9=xs = if(above(xs,1200),1.1 , xs); +shape_1_per_frame10=ys = if(above(ys,1000),1.1 , ys); +shape_1_per_frame11= +shape_1_per_frame12=xs = xs + sin(q2*1.2)*speed; +shape_1_per_frame13=ys = ys + cos(q2)*speed; +shape_1_per_frame14= +shape_1_per_frame15=x = 0.5 + 0.5*sin(xs); +shape_1_per_frame16=y = 0.5 + 0.5*sin(ys); +shape_1_per_frame17= +shape_1_per_frame18=x = 1 - x; +shape_1_per_frame19= +shape_1_per_frame20=r = 0.5 + 0.5*sin(q2*3 + x); +shape_1_per_frame21=g = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_1_per_frame22=b = 0.5 + 0.5*sin(q2*3.5 + y); +shape_1_per_frame23= +shape_1_per_frame24=r2 = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_1_per_frame25=g2 = 0.5 + 0.5*sin(q2*3.7 + x); +shape_1_per_frame26=b2 = 0.5 + 0.5*sin(q2*3 + y); +shape_1_per_frame27= +shape_1_per_frame28=border_r = 0.5 + 0.5*sin(q2*3 + x); +shape_1_per_frame29=border_g = 0.5 + 0.5*sin(q2*3.3 + y); +shape_1_per_frame30=border_b = 0.5 + 0.5*sin(q2*3.6 + x*y); +shape_1_per_frame31= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.400000 +shape_2_per_frame1=//complex movement +shape_2_per_frame2=//must init vars +shape_2_per_frame3= +shape_2_per_frame4=speed = (q1*0.1 + bass + 0.5)*0.1; +shape_2_per_frame5= +shape_2_per_frame6=xs = if(below(xs,1),1.1 , xs); +shape_2_per_frame7=ys = if(below(ys,1),1.1 , ys); +shape_2_per_frame8= +shape_2_per_frame9=xs = if(above(xs,1200),1.1 , xs); +shape_2_per_frame10=ys = if(above(ys,1000),1.1 , ys); +shape_2_per_frame11= +shape_2_per_frame12=xs = xs + sin(q2*1.2)*speed; +shape_2_per_frame13=ys = ys + cos(q2)*speed; +shape_2_per_frame14= +shape_2_per_frame15=x = 0.5 + 0.5*sin(xs); +shape_2_per_frame16=y = 0.5 + 0.5*sin(ys); +shape_2_per_frame17= +shape_2_per_frame18=r = 0.5 + 0.5*sin(q2*3 + x); +shape_2_per_frame19=g = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_2_per_frame20=b = 0.5 + 0.5*sin(q2*3.5 + y); +shape_2_per_frame21= +shape_2_per_frame22=r2 = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_2_per_frame23=g2 = 0.5 + 0.5*sin(q2*3.7 + x); +shape_2_per_frame24=b2 = 0.5 + 0.5*sin(q2*3 + y); +shape_2_per_frame25= +shape_2_per_frame26=border_r = 0.5 + 0.5*sin(q2*3 + x); +shape_2_per_frame27=border_g = 0.5 + 0.5*sin(q2*3.3 + y); +shape_2_per_frame28=border_b = 0.5 + 0.5*sin(q2*3.6 + x*y); +shape_2_per_frame29= +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.400000 +shape_3_per_frame1=//complex movement +shape_3_per_frame2=//must init vars +shape_3_per_frame3= +shape_3_per_frame4=speed = (q1*0.1 + bass + 0.5)*0.1; +shape_3_per_frame5= +shape_3_per_frame6=xs = if(below(xs,1),1.1 , xs); +shape_3_per_frame7=ys = if(below(ys,1),1.1 , ys); +shape_3_per_frame8= +shape_3_per_frame9=xs = if(above(xs,1200),1.1 , xs); +shape_3_per_frame10=ys = if(above(ys,1000),1.1 , ys); +shape_3_per_frame11= +shape_3_per_frame12=xs = xs + sin(q2*1.2)*speed; +shape_3_per_frame13=ys = ys + cos(q2)*speed; +shape_3_per_frame14= +shape_3_per_frame15=x = 0.5 + 0.5*sin(xs); +shape_3_per_frame16=y = 0.5 + 0.5*sin(ys); +shape_3_per_frame17= +shape_3_per_frame18=x = 1 - x; +shape_3_per_frame19= +shape_3_per_frame20=r = 0.5 + 0.5*sin(q2*3 + x); +shape_3_per_frame21=g = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_3_per_frame22=b = 0.5 + 0.5*sin(q2*3.5 + y); +shape_3_per_frame23= +shape_3_per_frame24=r2 = 0.5 + 0.5*sin(q2*3.3 + x*y); +shape_3_per_frame25=g2 = 0.5 + 0.5*sin(q2*3.7 + x); +shape_3_per_frame26=b2 = 0.5 + 0.5*sin(q2*3 + y); +shape_3_per_frame27= +shape_3_per_frame28=border_r = 0.5 + 0.5*sin(q2*3 + x); +shape_3_per_frame29=border_g = 0.5 + 0.5*sin(q2*3.3 + y); +shape_3_per_frame30=border_b = 0.5 + 0.5*sin(q2*3.6 + x*y); +shape_3_per_frame31= +per_frame_1=basstime = basstime + bass_att*0.03; +per_frame_2=vol = pow(bass+mid+treb,2); +per_frame_3=basssum = vol; +per_frame_4= +per_frame_5=stickybit = time%2; +per_frame_6= +per_frame_7=//avg vol +per_frame_8=//buffer 1 +per_frame_9=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_10=//number of samples 1 or framerate +per_frame_11=sample1 = sample1 + equal(stickybit,1); +per_frame_12=//buffer 2 +per_frame_13=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_14=//number of samples 2 +per_frame_15=sample2 = sample2 + equal(stickybit,0); +per_frame_16= +per_frame_17=//transision +per_frame_18=edge = bnot(equal(bit2,stickybit)); +per_frame_19= +per_frame_20=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_21=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_22= +per_frame_23=sample1 = sample1 - sample1*edge*stickybit; +per_frame_24=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_25= +per_frame_26=//test vol against avg buffer lvl +per_frame_27=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_28=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_29= +per_frame_30=diff = diff; +per_frame_31= +per_frame_32=bit2 = time%2; +per_frame_33= +per_frame_34=q1 = diff; +per_frame_35=//q2 = basstime; +per_frame_36= +per_frame_37=difftime = difftime + diff*0.03; +per_frame_38=q2 = difftime; +per_frame_39= +per_frame_40=//fix a strange error +per_frame_41=difftime = if(above(difftime,2000),0, difftime); +per_frame_42= +per_frame_43=monitor = q2; +per_frame_44= +per_frame_45=//translation +per_frame_46=gx = if(below(gx, 1), 1 , gx); +per_frame_47=gy = if(below(gy, 1), 1 , gy); +per_frame_48= +per_frame_49=gx = if(above(gx, 1300), 1 , gx); +per_frame_50=gy = if(above(gy, 1200), 1 , gy); +per_frame_51= +per_frame_52=speed = (diff*0.1 + bass + 0.5)*0.05; +per_frame_53= +per_frame_54=gx = gx + 1.2*sin(difftime)*speed; +per_frame_55=gy = gy + sin(diff)*speed; +per_frame_56= +per_frame_57=q5 = 0.5 + 0.5*sin(gx); +per_frame_58=q6 = 0.5 + 0.5*sin(gy); +per_pixel_1=zoom = 1 - q1*0.1; +per_pixel_2=rot = (rad-q1)*q1*0.1; +per_pixel_3=sx = 1 + (q5*0.1*q1); +per_pixel_4=sy = 1 + (q5*0.1*q1); diff --git a/presets/presets_tryptonaut/ORB - Solar Radiation.milk b/presets/presets_tryptonaut/ORB - Solar Radiation.milk new file mode 100755 index 0000000000..4ec838e6cf --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Solar Radiation.milk @@ -0,0 +1,402 @@ +[preset00] +fRating=1.000 +fGammaAdj=2.000 +fDecay=0.950 +fVideoEchoZoom=1.071 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=100.000 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.800 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.6; +wave_0_per_point6=v = sample*1000000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v)*speed*atan((v)); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_0_per_point14= +wave_0_per_point15=x = x*0.6 + 0.3; +wave_0_per_point16=y = y; +wave_0_per_point17=y = y*0.8; +wave_0_per_point18= +wave_0_per_point19=r = 0.5 + 0.5*sin(time*1.22 + x*2) + 0.1; +wave_0_per_point20=g = 0.4 + 0.4*sin(time*1.307 + y*2); +wave_0_per_point21=b = 0.4 + 0.4*sin(time*1.959 + x*y); +wave_0_per_point22= +wave_0_per_point23=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point24=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=//q1 = state; +wave_1_per_point2=//q2 = basstime; +wave_1_per_point3= +wave_1_per_point4=q1 = 0; +wave_1_per_point5=speed = bass_att*0.6; +wave_1_per_point6=v = sample*1000000 + value2*bass*0.1; +wave_1_per_point7= +wave_1_per_point8=//state 0 elipse +wave_1_per_point9=xs = xs + sin(v)*speed*atan(v*1.51); +wave_1_per_point10=ys = ys + sin(v)*speed*atan((v)); +wave_1_per_point11= +wave_1_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_1_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_1_per_point14= +wave_1_per_point15=x = x*0.6 + 0.3; +wave_1_per_point16=x = -x + 1; +wave_1_per_point17=y = y; +wave_1_per_point18=y = y*0.8; +wave_1_per_point19= +wave_1_per_point20=r = 0.5 + 0.5*sin(time*1.22 + x*x) + 0.1; +wave_1_per_point21=g = 0.4 + 0.4*sin(time*1.107 + y*2); +wave_1_per_point22=b = 0.4 + 0.4*sin(time*1.959 + x*y); +wave_1_per_point23= +wave_1_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=//q1 = state; +wave_2_per_point2=//q2 = basstime; +wave_2_per_point3= +wave_2_per_point4=q1 = 0; +wave_2_per_point5=speed = bass_att*0.8; +wave_2_per_point6=v = sample*10000 + value2*bass*0.1; +wave_2_per_point7= +wave_2_per_point8=//state 0 elipse +wave_2_per_point9=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_2_per_point10=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_2_per_point11= +wave_2_per_point12= +wave_2_per_point13=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_2_per_point14=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_2_per_point15= +wave_2_per_point16=x = x*0.6; +wave_2_per_point17=y = y*0.9 + 0.05 + bass*0.08; +wave_2_per_point18=y = y*0.8; +wave_2_per_point19= +wave_2_per_point20=r = 0.5 + 0.5*sin(time*1.789) + 0.1; +wave_2_per_point21=g = 0.4 + 0.4*sin(time*1.478); +wave_2_per_point22=b = 0.4 + 0.4*sin(time*1.125); +wave_2_per_point23= +wave_2_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point25=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//q1 = state; +wave_3_per_point2=//q2 = basstime; +wave_3_per_point3= +wave_3_per_point4=q1 = 0; +wave_3_per_point5=speed = bass_att*0.8; +wave_3_per_point6=v = sample*10000 + value2*bass*0.1; +wave_3_per_point7= +wave_3_per_point8=//state 0 elipse +wave_3_per_point9=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point10=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point11= +wave_3_per_point12= +wave_3_per_point13=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point14=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point15= +wave_3_per_point16=x = -x*0.6 + 1; +wave_3_per_point17=y = y*0.9 + 0.05 + bass*0.08; +wave_3_per_point18=y = y*0.8; +wave_3_per_point19= +wave_3_per_point20=r = 0.5 + 0.5*sin(time*1.789) + 0.1; +wave_3_per_point21=g = 0.4 + 0.4*sin(time*1.478); +wave_3_per_point22=b = 0.4 + 0.4*sin(time*1.125); +wave_3_per_point23= +wave_3_per_point24=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point25=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.36960 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.22746 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.500 +shape_0_init1=tex_saw = 0.4; +shape_0_per_frame1=ang = -q1*0.2; +shape_0_per_frame2= +shape_0_per_frame3=tex_capture = above(q3,1); +shape_0_per_frame4=tex_zoom = 1.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.250 +shapecode_1_y=0.750 +shapecode_1_rad=0.74180 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.22746 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=tex_saw = 0.4; +shape_1_per_frame1=ang = q1*0.2; +shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2); +shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2)); +shape_1_per_frame4= +shape_1_per_frame5=tex_capture = above(q3,2); +shape_1_per_frame6=tex_zoom = 0.6; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.81639 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.22746 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=tex_saw = 0.4; +shape_2_per_frame1=ang = q1*0.2; +shape_2_per_frame2=tex_capture = 1;//above(q3,1); +shape_2_per_frame3=tex_zoom = 0.6; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.08922 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=x = 0.5 + 0.5*sin(q1*1.5); +shape_3_per_frame2=y = 0.5 + 0.5*sin(q1*1.7); +per_frame_init_1=state = 0; +per_frame_1=//warp = bass*3; +per_frame_2=decay_r = 0.65 + 0.2*(abs(cos(difftime*1.56+rarr))); +per_frame_3=decay_g = 0.5 + 0.2*(abs(cos(difftime*1.36+rarr))); +per_frame_4=decay_b = 0.5 + 0.2*(abs(cos(difftime*1.2+rarr))); +per_frame_5=//dy = 0.98; +per_frame_6= +per_frame_7=basstime = basstime + bass*0.03; +per_frame_8=basstime2 = basstime + bass*0.03; +per_frame_9=q1 = basstime2; +per_frame_10= +per_frame_11=//start in most active range +per_frame_12=basstime = if(below(basstime,1000),1000,basstime); +per_frame_13=//basstime = if(above(basstime,495),450,basstime); +per_frame_14= +per_frame_15=basstime = basstime + bass_att*0.03; +per_frame_16=vol = pow(bass+mid+treb,2); +per_frame_17=basssum = vol; +per_frame_18= +per_frame_19=stickybit = time%2; +per_frame_20= +per_frame_21=//avg vol +per_frame_22=//buffer 1 +per_frame_23=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_24=//number of samples 1 or framerate +per_frame_25=sample1 = sample1 + equal(stickybit,1); +per_frame_26=//buffer 2 +per_frame_27=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_28=//number of samples 2 +per_frame_29=sample2 = sample2 + equal(stickybit,0); +per_frame_30= +per_frame_31=//transision +per_frame_32=edge = bnot(equal(bit2,stickybit)); +per_frame_33= +per_frame_34=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_35=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_36= +per_frame_37=sample1 = sample1 - sample1*edge*stickybit; +per_frame_38=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_39= +per_frame_40=//test vol against avg buffer lvl +per_frame_41=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_42=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_43= +per_frame_44=q3 = diff; +per_frame_45= +per_frame_46=bit2 = time%2; +per_frame_47= +per_frame_48=difftime = difftime + diff*0.03; +per_frame_49=q2 = difftime; +per_pixel_1=saw_r = saw_r + 0.0001*bass; +per_pixel_2=saw_r = if(above(saw_r,1),0,saw_r); +per_pixel_3= +per_pixel_4=saw_g = saw_g + 0.00012*bass; +per_pixel_5=saw_g = if(above(saw_g,1),0,saw_g); +per_pixel_6= +per_pixel_7=saw_b = saw_b + 0.00011*bass; +per_pixel_8=saw_b = if(above(saw_b,1),0,saw_b); +per_pixel_9= +per_pixel_10= +per_pixel_11=decay_r = 2 - y*saw_r; +per_pixel_12=decay_g = 2 - y*saw_g; +per_pixel_13=decay_b = 2 - y*saw_b; +per_pixel_14= +per_pixel_15= +per_pixel_16=rot =0; +per_pixel_17=zoom = 1.02; diff --git a/presets/presets_tryptonaut/ORB - Solar Sail.milk b/presets/presets_tryptonaut/ORB - Solar Sail.milk new file mode 100755 index 0000000000..e05908f314 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Solar Sail.milk @@ -0,0 +1,501 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.325 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=-0.18000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.400 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.200 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=44.800 +nMotionVectorsY=24.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=12 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.100 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=zg = sample*0.1; +wave_0_per_point7= +wave_0_per_point8=angfast = sin(sample*6.28 + q1*0.2)*30.28; +wave_0_per_point9= +wave_0_per_point10=//draw 1 torus +wave_0_per_point11=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_0_per_point12=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_0_per_point13=ztor = 0.1*sin(s); +wave_0_per_point14= +wave_0_per_point15=//draw 2 sphere +wave_0_per_point16=xsph = 0.6*sin(s)*cos(ss); +wave_0_per_point17=ysph = 0.6*sin(s)*sin(ss); +wave_0_per_point18=zsph = 0.6*cos(s)*zg*cos(angfast); +wave_0_per_point19= +wave_0_per_point20=//draw 3 double cone +wave_0_per_point21=xcon = 0.6*sin(s)*cos(ss); +wave_0_per_point22=ycon = 0.6*sin(s)*sin(ss); +wave_0_per_point23=zcon = 0.6*sin(s)*zg*cos(angfast); +wave_0_per_point24= +wave_0_per_point25=//draw 4 cylinder (kinda) +wave_0_per_point26=xcyl = 0.6*sin(s); +wave_0_per_point27=ycyl = 0.6*cos(s); +wave_0_per_point28=zcyl = 0.6*cos(ss)*1.2; +wave_0_per_point29= +wave_0_per_point30= +wave_0_per_point31=//warp +wave_0_per_point32=//use simple fuzzy logic to model zooming +wave_0_per_point33=//activations approx sawtooth with sin curve +wave_0_per_point34=f1 = sin(q5*0.1 - 1.5707); +wave_0_per_point35=f2 = sin(q5*0.1); +wave_0_per_point36=f3 = sin(q5*0.1 + 1.5707); +wave_0_per_point37=f4 = sin(q5*0.1 + 3.14); +wave_0_per_point38= +wave_0_per_point39=//take only values above zero +wave_0_per_point40=f1 = f1*above(f1,0); +wave_0_per_point41=f2 = f2*above(f2,0); +wave_0_per_point42=f3 = f3*above(f3,0); +wave_0_per_point43=f4 = f4*above(f4,0); +wave_0_per_point44= +wave_0_per_point45= +wave_0_per_point46=xs = f1*xsph + f2*xtor - f3*xcon + f4*xcyl; +wave_0_per_point47=ys = f1*ysph + f2*ytor - f3*ycon + f4*ycyl; +wave_0_per_point48=zs = f1*zsph + f2*ztor - f3*zcon + f4*zcyl; +wave_0_per_point49= +wave_0_per_point50= +wave_0_per_point51=//rotate x axis +wave_0_per_point52=angle = sin(q5*0.055)*6.28; +wave_0_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point55=xx = xs; +wave_0_per_point56= +wave_0_per_point57=//rotate y axis +wave_0_per_point58=angle2 = sin(q5*0.03)*6.28; +wave_0_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point61=yd = yx; +wave_0_per_point62= +wave_0_per_point63=//rotaye z axis +wave_0_per_point64=angle3 = sin(q5*0.042)*6.28; +wave_0_per_point65=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point66=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point67= +wave_0_per_point68=zd = zd; +wave_0_per_point69= +wave_0_per_point70=x = xn*zd*0.9 + 0.5; +wave_0_per_point71=y = yn*zd*1.2*0.9 + 0.5; +wave_0_per_point72= +wave_0_per_point73=r = 0.5 + 0.5*sin(q5*1.2 + x + x); +wave_0_per_point74=g = 0.5 + 0.5*sin(q5*1.5 + x + y); +wave_0_per_point75=b = 0.5 + 0.5*sin(q5*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=12 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=zg = sample*0.1; +wave_1_per_point7= +wave_1_per_point8=angfast = sin(sample*6.28 + q1*0.2)*30.28; +wave_1_per_point9= +wave_1_per_point10=//draw 1 torus +wave_1_per_point11=xtor = (0.6 + 0.1*cos(s))*cos(ss); +wave_1_per_point12=ytor = (0.6 + 0.1*cos(s))*sin(ss); +wave_1_per_point13=ztor = 0.1*sin(s); +wave_1_per_point14= +wave_1_per_point15=//draw 2 sphere +wave_1_per_point16=xsph = 0.6*sin(s)*cos(ss); +wave_1_per_point17=ysph = 0.6*sin(s)*sin(ss); +wave_1_per_point18=zsph = 0.6*cos(s)*zg*cos(angfast); +wave_1_per_point19= +wave_1_per_point20=//draw 3 double cone +wave_1_per_point21=xcon = 0.6*sin(s)*cos(ss); +wave_1_per_point22=ycon = 0.6*sin(s)*sin(ss); +wave_1_per_point23=zcon = 0.6*sin(s)*zg*cos(angfast); +wave_1_per_point24= +wave_1_per_point25=//draw 4 cylinder (kinda) +wave_1_per_point26=xcyl = 0.6*sin(s); +wave_1_per_point27=ycyl = 0.6*cos(s); +wave_1_per_point28=zcyl = 0.6*cos(ss)*1.2; +wave_1_per_point29= +wave_1_per_point30= +wave_1_per_point31=//warp +wave_1_per_point32=//use simple fuzzy logic to model zooming +wave_1_per_point33=//activations approx sawtooth with sin curve +wave_1_per_point34=f1 = sin(q5*0.1 - 1.5707); +wave_1_per_point35=f2 = sin(q5*0.1); +wave_1_per_point36=f3 = sin(q5*0.1 + 1.5707); +wave_1_per_point37=f4 = sin(q5*0.1 + 3.14); +wave_1_per_point38= +wave_1_per_point39=//take only values above zero +wave_1_per_point40=f1 = f1*above(f1,0); +wave_1_per_point41=f2 = f2*above(f2,0); +wave_1_per_point42=f3 = f3*above(f3,0); +wave_1_per_point43=f4 = f4*above(f4,0); +wave_1_per_point44= +wave_1_per_point45= +wave_1_per_point46=xs = f1*xsph + f2*xtor - f3*xcon + f4*xcyl; +wave_1_per_point47=ys = f1*ysph + f2*ytor - f3*ycon + f4*ycyl; +wave_1_per_point48=zs = f1*zsph + f2*ztor - f3*zcon + f4*zcyl; +wave_1_per_point49= +wave_1_per_point50= +wave_1_per_point51=//rotate x axis +wave_1_per_point52=angle = sin(q5*0.055)*6.28; +wave_1_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point55=xx = xs; +wave_1_per_point56= +wave_1_per_point57=//rotate y axis +wave_1_per_point58=angle2 = sin(q5*0.03)*6.28; +wave_1_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point61=yd = yx; +wave_1_per_point62= +wave_1_per_point63=//rotaye z axis +wave_1_per_point64=angle3 = sin(q5*0.042)*6.28; +wave_1_per_point65=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point66=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point67= +wave_1_per_point68=zd = zd; +wave_1_per_point69= +wave_1_per_point70=x = xn*zd*0.9 + 0.5; +wave_1_per_point71=y = yn*zd*1.2*0.9 + 0.5; +wave_1_per_point72= +wave_1_per_point73= +wave_1_per_point74=r = 1;//0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point75=g = 1;//0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point76=b = 1;//0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=speed = bass*0.3; +wave_2_per_point2=v = sample*10000 + value2*bass*0.1; +wave_2_per_point3= +wave_2_per_point4=//state 0 elipse +wave_2_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_2_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_2_per_point7= +wave_2_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_2_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_2_per_point10= +wave_2_per_point11=x = x + sample*0.1; +wave_2_per_point12= +wave_2_per_point13=x = x*0.6 + 0.2; +wave_2_per_point14=y = y + bass*0.1; +wave_2_per_point15=y = y*0.8; +wave_2_per_point16= +wave_2_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_2_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_2_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_2_per_point20= +wave_2_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=speed = bass*0.1; +wave_3_per_point2=v = sample*10000 + value2*bass*0.1; +wave_3_per_point3= +wave_3_per_point4=//state 0 elipse +wave_3_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point7= +wave_3_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point10= +wave_3_per_point11=y = y - sample*0.1; +wave_3_per_point12= +wave_3_per_point13=x = x*0.6 + 0.2; +wave_3_per_point14=y = y + bass*0.1; +wave_3_per_point15=y = y*0.8; +wave_3_per_point16= +wave_3_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_3_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_3_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_3_per_point20= +wave_3_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point22=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66710 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.27425 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.200 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_capture = q1; +shape_0_per_frame2= +shape_0_per_frame3=r = 0.5 +0.5*sin(q5*1.02); +shape_0_per_frame4=g = 0.5 +0.5*sin(q5*1.52); +shape_0_per_frame5=b = 0.5 +0.5*sin(q5*1.982); +shape_0_per_frame6= +shape_0_per_frame7=r2 = 0.5 +0.5*sin(q5*0.32); +shape_0_per_frame8=g2 = 0.5 +0.5*sin(q5*0.32); +shape_0_per_frame9=b2 = 0.5 +0.5*sin(q5*0.2382); +shape_0_per_frame10= +shape_0_per_frame11=saw = saw - 0.001*bass; +shape_0_per_frame12=saw = if(below(saw,0.1),0.6,saw); +shape_0_per_frame13= +shape_0_per_frame14=tex_zoom = saw; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.66718 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.30293 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.200 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.400 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=tex_capture = q2; +shape_1_per_frame2= +shape_1_per_frame3=r = 0.5 +0.5*sin(q5*1.12); +shape_1_per_frame4=g = 0.5 +0.5*sin(q5*1.468); +shape_1_per_frame5=b = 0.5 +0.5*sin(q5*1.378); +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=r2 = 0.5 +0.5*sin(q5*0.62); +shape_1_per_frame9=g2 = 0.5 +0.5*sin(q5*0.72); +shape_1_per_frame10=b2 = 0.5 +0.5*sin(q5*0.872); +shape_1_per_frame11= +shape_1_per_frame12= +shape_1_per_frame13=saw = saw - 0.0011*mid; +shape_1_per_frame14=saw = if(below(saw,0.1),0.6,saw); +shape_1_per_frame15= +shape_1_per_frame16=tex_zoom = saw; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=2.66718 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.36964 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.200 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.400 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=tex_capture = q3; +shape_2_per_frame2= +shape_2_per_frame3=r = 0.5 +0.5*sin(q5*1.12); +shape_2_per_frame4=g = 0.5 +0.5*sin(q5*1.92); +shape_2_per_frame5=b = 0.5 +0.5*sin(q5*1.782); +shape_2_per_frame6= +shape_2_per_frame7= +shape_2_per_frame8=r = 0.5 +0.5*sin(q5*0.65); +shape_2_per_frame9=g = 0.5 +0.5*sin(q5*0.2); +shape_2_per_frame10=b = 0.5 +0.5*sin(q5*0.182); +shape_2_per_frame11= +shape_2_per_frame12= +shape_2_per_frame13=saw = saw + 0.00143*treb; +shape_2_per_frame14=saw = if(above(saw,0.6),0.1,saw); +shape_2_per_frame15= +shape_2_per_frame16=tex_zoom = saw; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=2.66718 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.30294 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.200 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.400 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tex_capture = q4; +shape_3_per_frame2= +shape_3_per_frame3= +shape_3_per_frame4=r = 0.5 + 0.5*sin(q5*1.32); +shape_3_per_frame5=g = 0.5 + 0.5*sin(q5*1.52); +shape_3_per_frame6=b = 0.5 + 0.5*sin(q5*1.882); +shape_3_per_frame7= +shape_3_per_frame8=r = 0.5 +0.5*sin(q5*0.72); +shape_3_per_frame9=g = 0.5 +0.5*sin(q5*0.62); +shape_3_per_frame10=b = 0.5 +0.5*sin(q5*0.5482); +shape_3_per_frame11= +shape_3_per_frame12= +shape_3_per_frame13=saw = saw + 0.00178*bass; +shape_3_per_frame14=saw = if(above(saw,0.6),0.1,saw); +shape_3_per_frame15= +shape_3_per_frame16=tex_zoom = saw; +per_frame_1=//5 frame texture buffer +per_frame_2= +per_frame_3=basstime = basstime + bass*0.13; +per_frame_4=q5 = basstime; +per_frame_5= +per_frame_6=state = state + 2.5; +per_frame_7=state = if(above(state,20),0,state); +per_frame_8= +per_frame_9=q1 = (equal(state,5)); +per_frame_10=q2 = (equal(state,10)); +per_frame_11=q3 = (equal(state,15)); +per_frame_12=q4 = (equal(state,20)); +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=monitor = q1; +per_pixel_1=rot = cos(time)*0.1*sin(rad+time*0.9); +per_pixel_2=//decay = 1; +per_pixel_3=decay_g = x*sin(q5*1.1)*5; +per_pixel_4=decay_r = y*sin(q5*145)*6; +per_pixel_5=decay_b = rad*sin(q5)*7; +per_pixel_6= +per_pixel_7=zoom = 1.0; +per_pixel_8=rot = 0.00; +per_pixel_9= +per_pixel_10=warp = rad; diff --git a/presets/presets_tryptonaut/ORB - Starfish.milk b/presets/presets_tryptonaut/ORB - Starfish.milk new file mode 100755 index 0000000000..4e5bd2f086 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Starfish.milk @@ -0,0 +1,399 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=-0.28000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.400 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=speed = sqrt(bass_att*0.0005); +wave_0_per_point2=v = sample*10000 + value2*bass*0.1; +wave_0_per_point3= +wave_0_per_point4=//state 0 elipse +wave_0_per_point5=xs = xs + sin(v*1)*speed*atan(v*1.51); +wave_0_per_point6=ys = ys + sin(v*1)*speed; +wave_0_per_point7=zs = zs + cos(v*1.1)*speed; +wave_0_per_point8= +wave_0_per_point9=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs)*atan(basstime + zs*0.1); +wave_0_per_point10=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs)*sin(basstime*0.4 + zs*0.12); +wave_0_per_point11=z = 0.5 + 0.5*sin(zs*0.1)*cos(time*2.1 + zs); +wave_0_per_point12= +wave_0_per_point13=x = x + sample*0.5*sin(basstime)*bass; +wave_0_per_point14=y = y + sample*0.5*sin(basstime*1.2)*bass; +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17=z = cos(z*sample)*value1*sample*10 + 2; +wave_0_per_point18= +wave_0_per_point19=x_int = x*0.6 + 0.2; +wave_0_per_point20=y_int = y; +wave_0_per_point21= +wave_0_per_point22=x = x_int*z*0.5; +wave_0_per_point23=y = y_int*z*0.5; +wave_0_per_point24= +wave_0_per_point25= +wave_0_per_point26=r = 0.5 + 0.5*sin(time*6.22)*x_int + 0.1; +wave_0_per_point27=g = 0.4 + 0.4*sin(time*5.307)*x_int; +wave_0_per_point28=b = 0.4 + 0.4*sin(time*4.959)*y_int; +wave_0_per_point29= +wave_0_per_point30=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point31=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=speed = sqrt(bass_att*0.00051); +wave_1_per_point2=v = sample*10000 + value2*bass*0.1; +wave_1_per_point3= +wave_1_per_point4=//state 0 elipse +wave_1_per_point5=xs = xs + sin(v*1)*speed*atan(v*1.51); +wave_1_per_point6=ys = ys + sin(v*1)*speed; +wave_1_per_point7=zs = zs + cos(v*1.1)*speed; +wave_1_per_point8= +wave_1_per_point9=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs)*atan(basstime + zs*0.1); +wave_1_per_point10=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs)*sin(basstime*0.4 + zs*0.12); +wave_1_per_point11=z = 0.5 + 0.5*sin(zs*0.1)*cos(time*2.1 + zs); +wave_1_per_point12= +wave_1_per_point13=x = x + sample*0.5*sin(basstime)*bass; +wave_1_per_point14=y = y + sample*0.5*sin(basstime*1.2)*bass; +wave_1_per_point15= +wave_1_per_point16= +wave_1_per_point17=z = cos(z*sample)*value1*sample*10 + 2; +wave_1_per_point18= +wave_1_per_point19=x_int = x*0.6 + 0.2; +wave_1_per_point20=y_int = y; +wave_1_per_point21= +wave_1_per_point22=x = x_int*z*0.5; +wave_1_per_point23=y = -y_int*z*0.5 + 1; +wave_1_per_point24= +wave_1_per_point25= +wave_1_per_point26=r = 0.5 + 0.5*sin(time*6.22)*x_int + 0.1; +wave_1_per_point27=g = 0.4 + 0.4*sin(time*5.307)*x_int; +wave_1_per_point28=b = 0.4 + 0.4*sin(time*4.959)*y_int; +wave_1_per_point29= +wave_1_per_point30=xs = if(above(xs,1000),0 ,xs); +wave_1_per_point31=ys = if(above(ys,1000),0 ,ys); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=speed = bass_att*0.8; +wave_2_per_point2=v = sample*10000 + value2*bass*0.1; +wave_2_per_point3= +wave_2_per_point4=//state 0 elipse +wave_2_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_2_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_2_per_point7= +wave_2_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_2_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_2_per_point10= +wave_2_per_point11=x = x - sample*0.01; +wave_2_per_point12= +wave_2_per_point13=x = x*0.6 + 0.2; +wave_2_per_point14=y = y + bass*0.1; +wave_2_per_point15=y = y*0.8; +wave_2_per_point16= +wave_2_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_2_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_2_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_2_per_point20= +wave_2_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_2_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=speed = bass_att*0.8; +wave_3_per_point2=v = sample*10000 + value2*bass*0.1; +wave_3_per_point3= +wave_3_per_point4=//state 0 elipse +wave_3_per_point5=xs = xs + (equal(0,q1))*sin(v*1)*speed*atan(v*1.51); +wave_3_per_point6=ys = ys + (equal(0,q1))*sin(v*1)*speed; +wave_3_per_point7= +wave_3_per_point8=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*2 + xs); +wave_3_per_point9=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*2.1 + xs); +wave_3_per_point10= +wave_3_per_point11=y = y - sample*0.01; +wave_3_per_point12= +wave_3_per_point13=x = x*0.6 + 0.2; +wave_3_per_point14=y = y + bass*0.1; +wave_3_per_point15=y = y*0.8; +wave_3_per_point16= +wave_3_per_point17=r = 0.5 + 0.5*sin(time*6.22) + 0.1; +wave_3_per_point18=g = 0.4 + 0.4*sin(time*5.307); +wave_3_per_point19=b = 0.4 + 0.4*sin(time*4.959)*x; +wave_3_per_point20= +wave_3_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_3_per_point22=ys = if(above(ys,1000),0 ,ys); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.38928 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.600 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.400 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=tex_capture = above(bass,1); +shape_0_per_frame2=ang = basstime; +shape_0_per_frame3= +shape_0_per_frame4= +shape_0_per_frame5=ob_r = 0.5 * sin(basstime*1.12); +shape_0_per_frame6=ob_g = 0.5 * sin(basstime*1.5); +shape_0_per_frame7=ob_b = 0.5 * sin(basstime*2.12); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=2.66718 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.36970 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=tex_capture = above(bass,1); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1= +shape_2_per_frame2= +shape_2_per_frame3=r = 0.5 + 0.5*sin(time); +shape_2_per_frame4=g = 0.5 + 0.5*sin(time*0.9); +shape_2_per_frame5=b = 0.5 + 0.5*sin(time*0.8); +shape_2_per_frame6= +shape_2_per_frame7= +shape_2_per_frame8=r2 = 0.5 + 0.5*sin(time); +shape_2_per_frame9=g2 = 0.5 + 0.5*sin(time*0.9); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1= +shape_3_per_frame2= +shape_3_per_frame3=r = 0.5 + 0.5*sin(time); +shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.9); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*0.56); +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=r2 = 0.5 + 0.5*sin(time); +shape_3_per_frame9=g2 = 0.5 + 0.5*sin(time*0.9); +shape_3_per_frame10=b2 = 0.5 + 0.5*sin(time*0.56); +per_frame_1=wave_r = 0.5 + 0.5*sin(time*2); +per_frame_2=wave_b = 0.5 + 0.5*sin(time*5); +per_frame_3= +per_frame_4=//sx = 1.05; +per_frame_5= +per_frame_6=basstime = basstime + bass*0.0003; +per_frame_7=q2 = basstime; +per_frame_8=q1 = basstime*0.1; +per_pixel_1=warp = 1; +per_pixel_2=zoom = 1; +per_pixel_3=rot = 1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float3 txr = float3(uv,q2*10); +warp_4=` +warp_5=` float final_noise = 0; +warp_6=` for(int i = 0 ; i < 1 ; i++){ +warp_7=` final_noise += (1.0/pow(2,i))*(tex3D(sampler_noisevol_lq, txr*pow(2,i))*2-1); +warp_8=` } +warp_9=` +warp_10=` final_noise = (final_noise+1)*0.5; +warp_11=` +warp_12=` // sample previous frame +warp_13=` float2x2 rot = { cos(q1), sin(q1), +warp_14=` -sin(q1), cos(q1) }; +warp_15=` +warp_16=` +warp_17=` ret = tex2D( sampler_main, mul(uv-0.5,rot)*(1-rad*0.05) + 0.5 + final_noise*0.01*rad ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret -= 0.0; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_6=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_7=` tex2D(sampler_main, uv_echo ).xyz, +comp_8=` 0.50 +comp_9=` ); //video echo +comp_10=` ret *= 2; +comp_11=` ret = ret*(1-ret)*4; //solarize +comp_12=`} diff --git a/presets/presets_tryptonaut/ORB - Supernova Meltdown.milk b/presets/presets_tryptonaut/ORB - Supernova Meltdown.milk new file mode 100755 index 0000000000..5c32bb8165 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Supernova Meltdown.milk @@ -0,0 +1,534 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.0 +fDecay=1.0 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.0 +fWaveSmoothing=0.750000 +fWaveParam=0.0 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.960000 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.000521 +sx=1.0 +sy=1.0 +wave_r=0.0 +wave_g=0.0 +wave_b=0.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.010000 +ob_r=1.0 +ob_g=1.0 +ob_b=1.0 +ob_a=0.0 +ib_size=0.010000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=0.5 +wave_0_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_0_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_0_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_0_per_point9=zs = 0.5*cos(s); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=//rotate x axis +wave_0_per_point13=angle = sin(q1*0.015)*6.28; +wave_0_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point16=xx = xs; +wave_0_per_point17= +wave_0_per_point18=//rotate y axis +wave_0_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_0_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point22=yd = yx; +wave_0_per_point23= +wave_0_per_point24=//rotaye z axis +wave_0_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_0_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point28= +wave_0_per_point29=//scale +wave_0_per_point30=k = 5; +wave_0_per_point31= +wave_0_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_0_per_point33=xnorm = norm*xn; +wave_0_per_point34=ynorm = norm*yn; +wave_0_per_point35=znrom = norm*zd; +wave_0_per_point36= +wave_0_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_0_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_0_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_0_per_point40= +wave_0_per_point41=zd = zd + 2; +wave_0_per_point42= +wave_0_per_point43=x = xs*zd*0.1 + 0.5; +wave_0_per_point44=y = ys*zd*0.1*1.2 + 0.5; +wave_0_per_point45= +wave_0_per_point46= +wave_0_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point48=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=0.5 +wave_1_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_1_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_1_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_1_per_point9=zs = 0.5*cos(s); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=//rotate x axis +wave_1_per_point13=angle = sin(q1*0.015)*6.28; +wave_1_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point16=xx = xs; +wave_1_per_point17= +wave_1_per_point18=//rotate y axis +wave_1_per_point19=angle2 = sin(q1*0.05)*6.28; +wave_1_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point22=yd = yx; +wave_1_per_point23= +wave_1_per_point24=//rotaye z axis +wave_1_per_point25=angle3 = sin(q1*0.022)*6.28; +wave_1_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point28= +wave_1_per_point29=//scale +wave_1_per_point30=k = 1; +wave_1_per_point31= +wave_1_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_1_per_point33=xnorm = norm*xn; +wave_1_per_point34=ynorm = norm*yn; +wave_1_per_point35=znrom = norm*zd; +wave_1_per_point36= +wave_1_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_1_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_1_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_1_per_point40= +wave_1_per_point41=zd = zd + 2; +wave_1_per_point42= +wave_1_per_point43=x = xs*zd*0.10 + 0.5; +wave_1_per_point44=y = ys*zd*0.10*1.2 + 0.5; +wave_1_per_point45= +wave_1_per_point46= +wave_1_per_point47=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point48=g = 0.5 + 0.5*sin(q1*1.25 + x + y); +wave_1_per_point49=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=0.5 +wave_2_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_2_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14*100; +wave_2_per_point4=ss = sample*6.28*1000; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = 0.5*sin(s)*cos(ss); +wave_2_per_point8=ys = 0.5*sin(s)*sin(ss); +wave_2_per_point9=zs = 0.5*cos(s); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=//rotate x axis +wave_2_per_point13=angle = sin(q1*0.015)*6.28; +wave_2_per_point14=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point15=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point16=xx = xs; +wave_2_per_point17= +wave_2_per_point18=//rotate y axis +wave_2_per_point19=angle2 = sin(q1*0.02)*6.28; +wave_2_per_point20=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point21=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point22=yd = yx; +wave_2_per_point23= +wave_2_per_point24=//rotaye z axis +wave_2_per_point25=angle3 = sin(q1*0.012)*6.28; +wave_2_per_point26=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point27=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point28= +wave_2_per_point29=//scale +wave_2_per_point30=k = 5; +wave_2_per_point31= +wave_2_per_point32=norm = 1/sqrt(xn*xn + yn*yn + ((zd+2)*(zd+2))); +wave_2_per_point33=xnorm = norm*xn; +wave_2_per_point34=ynorm = norm*yn; +wave_2_per_point35=znrom = norm*zd; +wave_2_per_point36= +wave_2_per_point37=xs = xnorm*(1 + (k-1)*q5*q5) + ynorm*((k-1)*q5*q6) + znorm*((k-1)*q5*q7); +wave_2_per_point38=ys = xnorm*((k-1)*q5*q6) + ynorm*(1+(k-1)*q6*q6) + znorm*((k-1)*q6*q7); +wave_2_per_point39=zd = xnorm*((k-1)*q5*q7) + ynorm*((k-1)*q6*q7) + znorm*(1+(k-1)*q7*q7); +wave_2_per_point40= +wave_2_per_point41=zd = zd + 2; +wave_2_per_point42= +wave_2_per_point43= +wave_2_per_point44= +wave_2_per_point45=x = -xs*zd*0.1 + 0.5; +wave_2_per_point46=y = ys*zd*0.1*1.2 + 0.5; +wave_2_per_point47= +wave_2_per_point48= +wave_2_per_point49=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point50=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point51=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=0.5 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*20; +wave_3_per_point4= +wave_3_per_point5=//draw +wave_3_per_point6=xs = 0.5*sin(s)*cos(s*v); +wave_3_per_point7=ys = 0.5*sin(s)*sin(s*v); +wave_3_per_point8=zs = 0.5*sin(u); +wave_3_per_point9= +wave_3_per_point10= +wave_3_per_point11=//plot x,y,z to point on circle +wave_3_per_point12=//smp=sample*6.283; +wave_3_per_point13=//xp=sin(smp )*0.30; +wave_3_per_point14=//yp=cos(smp )*0.30; +wave_3_per_point15=//zp=0; +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18=//alter shape; +wave_3_per_point19=///angy=sin(sample*6.28*4 +t1 )*6.28; +wave_3_per_point20=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point21=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point22=//xp=xq; +wave_3_per_point23=//zp=zq; +wave_3_per_point24= +wave_3_per_point25= +wave_3_per_point26= +wave_3_per_point27=//rotate on y axis; +wave_3_per_point28=//angy=t1*0.1; +wave_3_per_point29=//xq=xp*cos(angy) - zp*sin(angy); +wave_3_per_point30=//zq=xp*sin(angy) + zp*cos(angy); +wave_3_per_point31=//xp=xq; +wave_3_per_point32=//zp=zq; +wave_3_per_point33= +wave_3_per_point34=//rotate on x axis +wave_3_per_point35=//axs1 = sin(t1*0.15) + 1.6; +wave_3_per_point36=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_3_per_point37=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_3_per_point38=//yp=yq; +wave_3_per_point39=//zp=zq; +wave_3_per_point40= +wave_3_per_point41=//rotate on y axis again +wave_3_per_point42=//axs2 = sin(t1*0.1)*3.3; +wave_3_per_point43=//xq=xp*cos(axs2) - zp*sin(axs2); +wave_3_per_point44=//zq=xp*sin(axs2) + zp*cos(axs2); +wave_3_per_point45=//xp=xq; +wave_3_per_point46=//zp=zq; +wave_3_per_point47= +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50= +wave_3_per_point51=//rotate x axis +wave_3_per_point52=angle = sin(q1*0.15 - 1.57); +wave_3_per_point53=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point54=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point55=xx = xs; +wave_3_per_point56= +wave_3_per_point57=//rotate y axis +wave_3_per_point58=//angle2 = sin(q1*0.2 - 1.57); +wave_3_per_point59=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point60=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point61=yd = yx; +wave_3_per_point62= +wave_3_per_point63= +wave_3_per_point64=x = xd*zd + 0.5; +wave_3_per_point65=y = yd*zd + 0.5; +wave_3_per_point66= +wave_3_per_point67= +wave_3_per_point68=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point69=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point70=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=2.185871 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.4 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shape_0_per_frame1=tex_capture = above(q3,1); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=2.185871 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.4 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=1.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=basstime2 = basstime + bass*0.03; +per_frame_3=q1 = basstime2; +per_frame_4= +per_frame_5=//start in most active range +per_frame_6=basstime = if(below(basstime,1000),1000,basstime); +per_frame_7=//basstime = if(above(basstime,495),450,basstime); +per_frame_8= +per_frame_9=basstime = basstime + bass_att*0.03; +per_frame_10=vol = pow(bass+mid+treb,2); +per_frame_11=basssum = vol; +per_frame_12= +per_frame_13=stickybit = time%2; +per_frame_14= +per_frame_15=//avg vol +per_frame_16=//buffer 1 +per_frame_17=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_18=//number of samples 1 or framerate +per_frame_19=sample1 = sample1 + equal(stickybit,1); +per_frame_20=//buffer 2 +per_frame_21=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_22=//number of samples 2 +per_frame_23=sample2 = sample2 + equal(stickybit,0); +per_frame_24= +per_frame_25=//transision +per_frame_26=edge = bnot(equal(bit2,stickybit)); +per_frame_27= +per_frame_28=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_29=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_30= +per_frame_31=sample1 = sample1 - sample1*edge*stickybit; +per_frame_32=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_33= +per_frame_34=//test vol against avg buffer lvl +per_frame_35=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_36=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_37= +per_frame_38=q3 = diff; +per_frame_39= +per_frame_40=bit2 = time%2; +per_frame_41= +per_frame_42=difftime = difftime + diff*0.03; +per_frame_43=q2 = difftime; +per_frame_44= +per_frame_45=//fix a strange error +per_frame_46=difftime = if(above(difftime,2000),0, difftime); +per_frame_47= +per_frame_48=monitor = abs(cos(time))*3.14; +per_frame_49= +per_frame_50=rarr = rand(100)*0.01; +per_frame_51= +per_frame_52=decay_r = 0.5 + 0.2*(abs(sin(diff+rarr))); +per_frame_53=decay_g = 0.5 + 0.25*(abs(cos(diff+rarr))); +per_frame_54=decay_b = 0.5 + 0.30*(abs(atan(diff+rarr))); +per_frame_55= +per_frame_56= +per_frame_57=//compute unit vec to scale on +per_frame_58=xxx = sin(difftime*0.89); +per_frame_59=yyy = sin(difftime*0.99); +per_frame_60=zzz = sin(difftime*0.74); +per_frame_61= +per_frame_62=//normalise +per_frame_63=norm = 1/sqrt(xxx*xxx + yyy*yyy + zzz*zzz); +per_frame_64=xxx = xxx*norm; +per_frame_65=yyy = yyy*norm; +per_frame_66=zzz = zzz*norm; +per_frame_67= +per_frame_68=monitor = ZZZ; +per_frame_69= +per_frame_70=q5 = xxx; +per_frame_71=q6 = yyy; +per_frame_72=q7 = zzz; +per_pixel_1=zoom = 1 + 0.05*q3; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.8; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.000*float2(1,-1) + 0.5; +comp_4=` float3 value = lerp( tex2D(sampler_main, (uv)).xyz, +comp_5=` tex2D(sampler_main, (uv_echo)).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` float3 value2 = lerp( tex2D(sampler_main, GetBlur1(uv)).xyz, +comp_9=` tex2D(sampler_main, GetBlur1(uv_echo)).xyz, +comp_10=` 0.50 +comp_11=` )*0.5; //video echo +comp_12=` ret = (value + value2); +comp_13=` +comp_14=` ret = ret*2.00*ret; //gamma +comp_15=`} diff --git a/presets/presets_tryptonaut/ORB - Waaa.milk b/presets/presets_tryptonaut/ORB - Waaa.milk new file mode 100755 index 0000000000..e7c42b0558 --- /dev/null +++ b/presets/presets_tryptonaut/ORB - Waaa.milk @@ -0,0 +1,459 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.97000 +rot=-6.27999 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00052 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=1 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=u = (cos(q1*0.1))*3.14159; +wave_0_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_0_per_point3=s = sample*3.14*100; +wave_0_per_point4=ss = sample*6.28*1000; +wave_0_per_point5= +wave_0_per_point6=//draw +wave_0_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_0_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_0_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_0_per_point10= +wave_0_per_point11=//rotate x axis +wave_0_per_point12=angle = q1*0.1; +wave_0_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_0_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_0_per_point15=xx = xs; +wave_0_per_point16= +wave_0_per_point17=//rotate y axis +wave_0_per_point18=angle2 = q1*0.11; +wave_0_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_0_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_0_per_point21=yd = yx; +wave_0_per_point22= +wave_0_per_point23=//rotaye z axis +wave_0_per_point24=angle3 = q1*0.15; +wave_0_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_0_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_0_per_point27= +wave_0_per_point28=zd = zd; +wave_0_per_point29= +wave_0_per_point30=x = xn*zd*0.3 + 0.5; +wave_0_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_0_per_point32= +wave_0_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_0_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_0_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=1 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=u = (cos(q1*0.1))*3.14159; +wave_1_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_1_per_point3=s = sample*3.14*100; +wave_1_per_point4=ss = sample*6.28*1000; +wave_1_per_point5= +wave_1_per_point6=//draw +wave_1_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_1_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_1_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_1_per_point10= +wave_1_per_point11=//rotate x axis +wave_1_per_point12=angle = q1*0.1; +wave_1_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_1_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_1_per_point15=xx = xs; +wave_1_per_point16= +wave_1_per_point17=//rotate y axis +wave_1_per_point18=angle2 = q1*0.13; +wave_1_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_1_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_1_per_point21=yd = yx; +wave_1_per_point22= +wave_1_per_point23=//rotaye z axis +wave_1_per_point24=angle3 = q1*0.16; +wave_1_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_1_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_1_per_point27= +wave_1_per_point28=zd = zd; +wave_1_per_point29= +wave_1_per_point30=x = xn*zd*0.3 + 0.5; +wave_1_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_1_per_point32= +wave_1_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_1_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_1_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=1 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=u = (cos(q1*0.1))*3.14159; +wave_2_per_point2=v = (cos(q1*0.015))*3.14159*2; +wave_2_per_point3=s = sample*3.14*100; +wave_2_per_point4=ss = sample*6.28*1000; +wave_2_per_point5= +wave_2_per_point6=//draw +wave_2_per_point7=xs = (0.3 + 0.1*cos(s))*cos(ss)*0.2*cos(v); +wave_2_per_point8=ys = (0.3 + 0.1*cos(s))*sin(ss)*6*u; +wave_2_per_point9=zs = 0.5*sin(s)*0.2*sin(v); +wave_2_per_point10= +wave_2_per_point11=//rotate x axis +wave_2_per_point12=angle = q1*0.1; +wave_2_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_2_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_2_per_point15=xx = xs; +wave_2_per_point16= +wave_2_per_point17=//rotate y axis +wave_2_per_point18=angle2 = q1*0.16; +wave_2_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_2_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_2_per_point21=yd = yx; +wave_2_per_point22= +wave_2_per_point23=//rotaye z axis +wave_2_per_point24=angle3 = q1*0.16; +wave_2_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_2_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_2_per_point27= +wave_2_per_point28=zd = zd; +wave_2_per_point29= +wave_2_per_point30=x = xn*zd*0.3 + 0.5; +wave_2_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_2_per_point32= +wave_2_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_2_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_2_per_point35=b = 0.5 + 0.5*sin(q1*1.36 + y + y); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=1 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=u = abs(cos(q1*0.1))*3.14159; +wave_3_per_point2=v = abs(cos(q1*0.015))*3.14159*2; +wave_3_per_point3=s = sample*3.14*100; +wave_3_per_point4=ss = sample*6.28*1000; +wave_3_per_point5= +wave_3_per_point6=//draw +wave_3_per_point7=xs = (0.5 + 0.0000001*cos(s))*cos(ss); +wave_3_per_point8=ys = (0.5 + 0.0000001*cos(s))*sin(ss); +wave_3_per_point9=zs = 0.5*sin(s); +wave_3_per_point10= +wave_3_per_point11=//rotate x axis +wave_3_per_point12=angle = q1*0.1; +wave_3_per_point13=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point14=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point15=xx = xs; +wave_3_per_point16= +wave_3_per_point17=//rotate y axis +wave_3_per_point18=angle2 = q1*0.14; +wave_3_per_point19=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point20=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point21=yd = yx; +wave_3_per_point22= +wave_3_per_point23=//rotaye z axis +wave_3_per_point24=angle3 = q1*0.15; +wave_3_per_point25=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point26=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point27= +wave_3_per_point28=zd = zd + 2; +wave_3_per_point29= +wave_3_per_point30=x = xn*zd*0.3 + 0.5; +wave_3_per_point31=y = yn*zd*0.3*1.2 + 0.5; +wave_3_per_point32= +wave_3_per_point33=r = 0.5 + 0.5*sin(q1*1.2 + x + x); +wave_3_per_point34=g = 0.5 + 0.5*sin(q1*1.5 + x + y); +wave_3_per_point35=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.49849 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.700 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.700 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.35); +shape_0_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.578); +shape_0_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.689); +shape_0_per_frame4= +shape_0_per_frame5=ang = q2; +shape_0_per_frame6=tex_capture = above(q3,2); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.74218 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.45); +shape_1_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.678); +shape_1_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.689); +shape_1_per_frame4= +shape_1_per_frame5=ang = -q2*1.05; +shape_1_per_frame6=tex_capture = above(q3,2); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.00035 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.500 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.500 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r2 = 0.5 + 0.5*sin(q2*0.45); +shape_2_per_frame2=g2 = 0.5 + 0.5*sin(q2*0.578); +shape_2_per_frame3=b2 = 0.5 + 0.5*sin(q2*0.789); +shape_2_per_frame4= +shape_2_per_frame5=ang = q2*0.899; +shape_2_per_frame6=tex_capture = above(q3,2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=3.25446 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.300 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.400 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=r = 0.5 + 0.5*sin(q2*0.45); +shape_3_per_frame2=g = 0.5 + 0.5*sin(q2*0.578); +shape_3_per_frame3=b = 0.5 + 0.5*sin(q2*0.689); +shape_3_per_frame4= +shape_3_per_frame5=r2 = 0.5 + 0.5*sin(q2*0.45); +shape_3_per_frame6=g2 = 0.5 + 0.5*sin(q2*0.578); +shape_3_per_frame7=b2 = 0.5 + 0.5*sin(q2*0.689); +shape_3_per_frame8= +shape_3_per_frame9=tex_capture = above(q3,2); +per_frame_1=basstime = basstime + bass*0.03; +per_frame_2=q1 = basstime*4; +per_frame_3= +per_frame_4=//start in most active range +per_frame_5=basstime = if(below(basstime,1000),1000,basstime); +per_frame_6=//basstime = if(above(basstime,495),450,basstime); +per_frame_7= +per_frame_8=basstime = basstime + bass_att*0.03; +per_frame_9=vol = pow(bass+mid+treb,2); +per_frame_10=basssum = vol; +per_frame_11= +per_frame_12=stickybit = time%2; +per_frame_13= +per_frame_14=//avg vol +per_frame_15=//buffer 1 +per_frame_16=volAvg = volAvg + vol*equal(stickybit,1); +per_frame_17=//number of samples 1 or framerate +per_frame_18=sample1 = sample1 + equal(stickybit,1); +per_frame_19=//buffer 2 +per_frame_20=volAvg2 = volAvg2 + vol*equal(stickybit,0); +per_frame_21=//number of samples 2 +per_frame_22=sample2 = sample2 + equal(stickybit,0); +per_frame_23= +per_frame_24=//transision +per_frame_25=edge = bnot(equal(bit2,stickybit)); +per_frame_26= +per_frame_27=volAvg = volAvg - volAvg*edge*stickybit; +per_frame_28=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0); +per_frame_29= +per_frame_30=sample1 = sample1 - sample1*edge*stickybit; +per_frame_31=sample2 = sample2 - sample2*edge*equal(stickybit,0); +per_frame_32= +per_frame_33=//test vol against avg buffer lvl +per_frame_34=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0); +per_frame_35=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff); +per_frame_36= +per_frame_37=q3 = diff; +per_frame_38= +per_frame_39=bit2 = time%2; +per_frame_40= +per_frame_41=difftime = difftime + diff*0.03; +per_frame_42=q2 = difftime; +per_frame_43= +per_frame_44=//fix a strange error +per_frame_45=difftime = if(above(difftime,2000),0, difftime); +per_frame_46= +per_frame_47=monitor = abs(cos(time))*3.14; +per_frame_48= +per_frame_49= +per_frame_50=mv_a = above(diff,10); +per_pixel_1=zoom = 1 + 0.05*q3*rad; +per_pixel_2= +per_pixel_3=decay_r = 0.2*rad*sin(q2*0.35) + 0.85 + 0.1*sin(q2); +per_pixel_4=decay_g = 0.2*rad*sin(q2*0.5) + 0.85 + 0.1*sin(0.7*q2); +per_pixel_5=decay_b = 0.2*rad*sin(q2*0.4) + 0.85 + 0.1*sin(0.8*q2); +per_pixel_6= +per_pixel_7=rot = 0; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz*(0.8 + q3*0.1); +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 2.00; //gamma +comp_5=`} diff --git a/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www.eos4life.com.milk b/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www.eos4life.com.milk new file mode 100644 index 0000000000..d511654efc --- /dev/null +++ b/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix - www.eos4life.com.milk @@ -0,0 +1,444 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs*4; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.1*0.6-0.05*0.6)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +wave_3_per_point80= +wave_3_per_point81=//fade=min((1-sample)*1.4,1); +wave_3_per_point82=//b=b*fade; +wave_3_per_point83=//g=g*fade; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=ang=ang + sin(time*0.5)*0.1 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14=ob_r = sin(mtime*0.3)*0.5 + 0.5; +per_frame_15=ob_g = sin(mtime*0.3 + 2.1)*0.5 + 0.5; +per_frame_16=ob_b = sin(mtime*0.3 + 4.2)*0.5 + 0.5 +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk b/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk new file mode 100644 index 0000000000..ba1ec9891a --- /dev/null +++ b/presets/presets_tryptonaut/Phat+fiShbRaiN+EoS_Mandala_Chasers_remix.milk @@ -0,0 +1,410 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=1.483827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=0.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=4.800001 +mv_dx=0.400000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); +wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); +wave_1_per_point3= +wave_1_per_point4=//xspout=.5; +wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); +wave_1_per_point6=//yspout=.5; +wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); +wave_1_per_point8= +wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); +wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); +wave_1_per_point11= +wave_1_per_point12=x=px; +wave_1_per_point13=y=py; +wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); +wave_1_per_point15= +wave_1_per_point16=r=treb*2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_point1=sample=pow(sample,.85); +wave_3_per_point2= +wave_3_per_point3=c1=6.2831*t1/(1.1-sample); +wave_3_per_point4=c=cos(c1); +wave_3_per_point5=s=sin(c1); +wave_3_per_point6=c2=sqrt(1-sample); +wave_3_per_point7= +wave_3_per_point8=ox=t7-.5*c2*c; +wave_3_per_point9=oy=t8-.625*c2*s; +wave_3_per_point10= +wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point13= +wave_3_per_point14=inv=1/sqr(1.1-sample); +wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point18=fdx=fdx*invMag; +wave_3_per_point19=fdy=fdy*invMag; +wave_3_per_point20= +wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point23=tt=rand(100)/100; +wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_3_per_point26= +wave_3_per_point27=x=x*.55; +wave_3_per_point28=y=(y-.5)*.55+.5; +wave_3_per_point29= +wave_3_per_point30=r=sample; +wave_3_per_point31=g=1-sample; +wave_3_per_point32=b=1; +wave_3_per_point33=a=below(sample,.995); +wave_3_per_point34= +wave_3_per_point35= +wave_3_per_point36=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=0 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.900000 +shapecode_1_y=0.840000 +shapecode_1_rad=0.364567 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=4.141463 +shapecode_1_r=0.250000 +shapecode_1_g=0.050000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141592 +shapecode_2_tex_zoom=0.504215 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.25; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(55/fps); +per_frame_11= +per_frame_12=q1=time*0.5; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/600; +per_pixel_3=sy=-1; diff --git a/presets/presets_tryptonaut/Phat_BlueLight_Condition (Yin and EoS waveforms) More Flash Mix.milk b/presets/presets_tryptonaut/Phat_BlueLight_Condition (Yin and EoS waveforms) More Flash Mix.milk new file mode 100644 index 0000000000..5b4fe1e798 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_BlueLight_Condition (Yin and EoS waveforms) More Flash Mix.milk @@ -0,0 +1,407 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=0.739413 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.157176 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.470245 +fZoomExponent=4.778023 +fShader=1.000000 +zoom=0.998162 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001828 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.025000 +ob_r=0.600000 +ob_g=0.000000 +ob_b=0.800000 +ob_a=0.300000 +ib_size=0.015000 +ib_r=0.000000 +ib_g=0.700000 +ib_b=1.000000 +ib_a=0.100000 +nMotionVectorsX=2.560000 +nMotionVectorsY=33.600002 +mv_dx=-1.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=0.000000 +mv_g=0.500000 +mv_b=1.000000 +mv_a=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.060000 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q2; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs*4; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q3; //mytime +wave_2_per_frame2=t2=q2; +wave_2_per_frame3=t3=.3*q2; +wave_2_per_point1=t=t1+t2*(1-sample); +wave_2_per_point2= +wave_2_per_point3=ox=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point5= +wave_2_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_2_per_point7=l=tan(ang); +wave_2_per_point8=x2=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_2_per_point9=y2=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_2_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_2_per_point11=dir=-1+2*above(sum,-.001); +wave_2_per_point12= +wave_2_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point15= +wave_2_per_point16=x=ox+xtrudx; +wave_2_per_point17=y=oy+xtrudy; +wave_2_per_point18= +wave_2_per_point19=px=ox; +wave_2_per_point20=py=oy; +wave_2_per_point21= +wave_2_per_point22=counter=counter+1; +wave_2_per_point23=a=sqr(sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.700000 +wavecode_3_g=0.200000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q3; //mytime +wave_3_per_frame2=t2=q2; +wave_3_per_frame3=t3=.3*q2; +wave_3_per_point1=t=t1+t2*(1-sample); +wave_3_per_point2= +wave_3_per_point3=ox=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point5= +wave_3_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_3_per_point7=l=tan(ang); +wave_3_per_point8=x2=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_3_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_3_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_3_per_point11=dir=-1+2*above(sum,-.001); +wave_3_per_point12= +wave_3_per_point13=xtrudx=(counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point14=xtrudy=(counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point15= +wave_3_per_point16=x=ox+xtrudx; +wave_3_per_point17=y=oy+xtrudy; +wave_3_per_point18= +wave_3_per_point19=px=ox; +wave_3_per_point20=py=oy; +wave_3_per_point21= +wave_3_per_point22=counter=counter+1; +wave_3_per_point23=a=sqr(sample); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=1.000000 +shapecode_0_y=0.590000 +shapecode_0_rad=0.559231 +shapecode_0_ang=3.392920 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662307 +shapecode_1_ang=3.078761 +shapecode_1_tex_ang=2.513274 +shapecode_1_tex_zoom=0.650691 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shape_1_per_frame2=ang=sin(time/20)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.210000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.089252 +shapecode_2_ang=0.816814 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.743267 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.600000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=(sin(time/4)*0.5+0.5)*6.28; +shape_2_per_frame2=a=bass/6; +shape_2_per_frame3=a2=bass/5; +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.284278 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=4.900885 +shapecode_3_tex_zoom=2.987755 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.950000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=//ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.55; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(48/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14= +per_frame_15=dt=1/FPS; +per_frame_16=mytime=mytime+dt; +per_frame_17=contvol=min( max(.5, (1-.5*dt)*contvol+.5*dt*(bass+mid+treb)*.133 ) ,2 ) ; +per_frame_18=q2=contvol; +per_frame_19=q3=mytime; +per_frame_20=echo_zoom=1+(vol*0.01); +per_frame_21=sx=-.98; +per_frame_22=sy=-.99; +per_frame_23=solarize = above(sin(time*200),0); +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/100; +per_pixel_3=//sy=-1.02; diff --git a/presets/presets_tryptonaut/Phat_EoS - Just more trash.milk b/presets/presets_tryptonaut/Phat_EoS - Just more trash.milk new file mode 100644 index 0000000000..5ecafe2ff5 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_EoS - Just more trash.milk @@ -0,0 +1,379 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.008151 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.400000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=xs=sin(sample*6.28); +wave_1_per_point2=ys=cos(sample*6.28); +wave_1_per_point3=xs=xs*0.7 + 0.5; +wave_1_per_point4=ys=ys*0.7 + 0.5; +wave_1_per_point5=xs=min(xs,0.962); +wave_1_per_point6=xs=max(xs,0.038); +wave_1_per_point7=ys=min(ys,0.992); +wave_1_per_point8=ys=max(ys,0.008); +wave_1_per_point9=x=xs;y=ys; +wave_1_per_point10= +wave_1_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_1_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_1_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=xs=sin(sample*6.28); +wave_2_per_point2=ys=cos(sample*6.28); +wave_2_per_point3=xs=xs*0.7 + 0.5; +wave_2_per_point4=ys=ys*0.7 + 0.5; +wave_2_per_point5=xs=min(xs,0.958); +wave_2_per_point6=xs=max(xs,0.042); +wave_2_per_point7=ys=min(ys,0.988); +wave_2_per_point8=ys=max(ys,0.012); +wave_2_per_point9=x=xs;y=ys; +wave_2_per_point10= +wave_2_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_2_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_2_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.96); +wave_3_per_point6=xs=max(xs,0.04); +wave_3_per_point7=ys=min(ys,0.99); +wave_3_per_point8=ys=max(ys,0.01); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=r=sin(sample*6.28+time)*0.5+0.5; +wave_3_per_point12=g=sin(sample*6.28+2.1+time)*0.5+0.5; +wave_3_per_point13=b=sin(sample*6.28+4.2+time)*0.5+0.5; +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=ib_r=tan(time*1); +per_frame_4=ib_r=min(ib_r,1); +per_frame_5=ib_r=max(ib_r,0); +per_frame_6=ib_g=tan(time*1+2.1); +per_frame_7=ib_g=min(ib_g,1); +per_frame_8=ib_g=max(ib_g,0); +per_frame_9=ib_b=tan(time*1+4.2); +per_frame_10=ib_b=min(ib_b,1); +per_frame_11=ib_b=max(ib_b,0); +per_frame_12= +per_frame_13=ob_r=ib_r-0.5; +per_frame_14=ob_g=ib_g-0.5; +per_frame_15=ob_b=ib_b-0.5; +per_frame_16=q1=ib_r; +per_frame_17=q2=ib_g; +per_frame_18=q3=ib_b; +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22=decay = .999; +per_frame_23= +per_frame_24= +per_frame_25=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_26=//solarize=above(0.5,bass); +per_frame_27=//darken=above(0.4,treb); +per_frame_28= +per_frame_29=musictime=musictime+((mid+bass)/2)*0.02; +per_frame_30= +per_frame_31=xpos=sin(musictime*0.4)*0.3; +per_frame_32=ypos=sin(musictime*0.4)*0.3; +per_frame_33=q4=xpos; +per_frame_34=q5=ypos; +per_frame_35= +per_frame_36=//zoom=.98 + min(bass,1)*0.04 +per_frame_37= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8= +per_pixel_9=sx=-.95+(bass*0.5)*rd; +per_pixel_10=sy=-.95-(treb*0.5)*ag; +per_pixel_11=//dx=sx*0.01; +per_pixel_12=//sy=sy*0.01; +per_pixel_13= +per_pixel_14= +per_pixel_15=cx=0.5+q4; +per_pixel_16=cy=0.5-q5; +per_pixel_17=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_18=//zm=(1.1-(rd/4)); +per_pixel_19=zm=.95; +per_pixel_20= +per_pixel_21=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_22=star=atan(ag*6)*((4-rd)-ag)/5; +per_pixel_23=zm=zm+star*ag/20*ag; +per_pixel_24=sx=zm; +per_pixel_25=sy=zm; +per_pixel_26=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) +per_pixel_27=//rot=above(sin(time),0.96)*sin(ag*11)*0.03; +per_pixel_28=//zoom=below(sin(time),-0.96)*sin(ag*19)*0.13 + 1 +per_pixel_29=dx=sin(y*140)*(bass*0.01); +per_pixel_30=dy=cos(x*140)*(bass*0.01); diff --git a/presets/presets_tryptonaut/Phat_EoS - bright_addi colours_spiral_7 - mash0000 - denegrating our elders through wholesome hard work.milk b/presets/presets_tryptonaut/Phat_EoS - bright_addi colours_spiral_7 - mash0000 - denegrating our elders through wholesome hard work.milk new file mode 100644 index 0000000000..891daea4ff --- /dev/null +++ b/presets/presets_tryptonaut/Phat_EoS - bright_addi colours_spiral_7 - mash0000 - denegrating our elders through wholesome hard work.milk @@ -0,0 +1,284 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.004 +fWaveScale=0.653 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=1.766 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=0.88745 +sy=0.88745 +wave_r=1.000 +wave_g=1.000 +wave_b=0.100 +wave_x=0.500 +wave_y=0.500 +ob_size=0.015 +ob_r=0.000 +ob_g=0.150 +ob_b=0.150 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=25.600 +nMotionVectorsY=14.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.48170 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.50266 +shapecode_0_tex_zoom=1.58043 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//r = r + 0.5*(sin(time)*.3); +shape_0_per_frame2=//g = g + 0.5*(cos(0.8*time)*.6); +shape_0_per_frame3=//b = b + 0.5*(sin(0.5*time)*.3); +shape_0_per_frame4=//b2=g; +shape_0_per_frame5=//g2=b; +shape_0_per_frame6=//r2=r+3; +shape_0_per_frame7=//ang=sin(time/3) +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.20321 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.69892 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//g=sin(time)*1.3; +shape_1_per_frame2=//b=sin(time)*1.4; +shape_1_per_frame3=//r=cos(time)*1.5; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.98609 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.12622 +shapecode_2_r=0.700 +shapecode_2_g=0.300 +shapecode_2_b=0.500 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.400 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tm=tm+ pow( (bass*0.15),2 ); +shape_2_per_frame2=tm2=tm2+ pow( (treb*0.15),2 ); +shape_2_per_frame3=tm3=tm3+ pow( (mid*0.15),2 ); +shape_2_per_frame4= +shape_2_per_frame5=ang=sin(tm2/3)*1.4; +shape_2_per_frame6=//a2=sin(time)*0.5 + 0.5; +shape_2_per_frame7=x=sin(tm/1.3) * 0.2 + 0.5; +shape_2_per_frame8=y=sin(tm3/1.3) * 0.1 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=13 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.84438 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x=sin(time)* 0.3 + 0.5; +shape_3_per_frame2=y=cos(time)* 0.4 + 0.5; +per_frame_1=wave_r = wave_r + 9.35*sin(0.4*time) + 0.16*sin(0.5*time); +per_frame_2=wave_g = wave_g + 5.36*sin(0.7*time) + 0.15*sin(0.11*time); +per_frame_3=wave_b = wave_b + 3.37*sin(0.84*time) + 0.15*sin(0.3*time); +per_frame_4=warp =sin(time); +per_frame_5=//wave_mystery=sin(time); +per_frame_6=ob_r = wave_r; +per_frame_7=ob_g = wave_g; +per_frame_8=ob_b = wave_b; +per_frame_9=ib_r = wave_g; +per_frame_10=ib_b = wave_r; +per_frame_11=ib_g = wave_b; +per_frame_12=sy=.982; +per_frame_13=sx=sy; +per_pixel_1=inv_rad=(2.2-rad); +per_pixel_2=tm=time + (inv_rad*4 * bass_att ); +per_pixel_3=rays=sin(rad*2 + tm)*0.5 + 0.5; +per_pixel_4=rads=cos(ang*4 + tm)*0.5+0.5; +per_pixel_5=zoom = 1 + pow(rays,64)*0.037; +per_pixel_6=zoom= zoom + pow(rads,32)*(treb_att*0.04); +per_pixel_7=sx=sx + pow(rays,10) * (mid_att*0.1); +per_pixel_8=q5=rays +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`} diff --git a/presets/presets_tryptonaut/Phat_EoS - our own personal demon.milk b/presets/presets_tryptonaut/Phat_EoS - our own personal demon.milk new file mode 100644 index 0000000000..c6db503d51 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_EoS - our own personal demon.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15=ib_r=tan(time*1); +per_frame_16=ib_r=min(ib_r,1); +per_frame_17=ib_r=max(ib_r,0); +per_frame_18=ib_g=tan(time*1+2.1); +per_frame_19=ib_g=min(ib_g,1); +per_frame_20=ib_g=max(ib_g,0); +per_frame_21=ib_b=tan(time*1+4.2); +per_frame_22=ib_b=min(ib_b,1); +per_frame_23=ib_b=max(ib_b,0); +per_frame_24= +per_frame_25=ob_r=ib_r-0.5; +per_frame_26=ob_g=ib_g-0.5; +per_frame_27=ob_b=ib_b-0.5; +per_frame_28=q1=ib_r; +per_frame_29=q2=ib_g; +per_frame_30=q3=ib_b; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34=decay = 0.9999; +per_frame_35= +per_frame_36= +per_frame_37=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_38=//solarize=above(0.5,bass); +per_frame_39=//darken=above(0.4,treb); +per_frame_40= +per_frame_41=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_42= +per_frame_43=xpos=sin(musictime*0.6)*0.6; +per_frame_44=ypos=sin(musictime*0.4)*0.6; +per_frame_45=q4=xpos; +per_frame_46=q5=ypos; +per_frame_47= +per_frame_48=zoom=.98 + min(bass,1)*0.04 +per_frame_49= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.98; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_tryptonaut/Phat_EoS Eyes_spiral_mix.milk b/presets/presets_tryptonaut/Phat_EoS Eyes_spiral_mix.milk new file mode 100644 index 0000000000..7f1661ca23 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_EoS Eyes_spiral_mix.milk @@ -0,0 +1,344 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850100 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = .98; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.1; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1.02; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4); +per_pixel_36= +per_pixel_37=dx=sin(y*40)*(q4*0.05); +per_pixel_38=dy=cos(x*40)*(q4*0.05); diff --git a/presets/presets_tryptonaut/Phat_EoS rainbow bubble_mid3-fuck me dood.milk b/presets/presets_tryptonaut/Phat_EoS rainbow bubble_mid3-fuck me dood.milk new file mode 100644 index 0000000000..33e7f8b23e --- /dev/null +++ b/presets/presets_tryptonaut/Phat_EoS rainbow bubble_mid3-fuck me dood.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=ib_r=sin(time)*0.5+0.5; +per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; +per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; +per_frame_8= +per_frame_9=ob_r=ib_r-0.5; +per_frame_10=ob_g=ib_g-0.5; +per_frame_11=ob_b=ib_b-0.5; +per_frame_12=q1=ib_r; +per_frame_13=q2=ib_g; +per_frame_14=q3=ib_b; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18=decay = 0.99; +per_frame_19= +per_frame_20= +per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_22=//solarize=above(0.5,bass); +per_frame_23=//darken=above(0.4,treb); +per_frame_24= +per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); +per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_27= +per_frame_28= +per_frame_29=xpos=sin(musictime*0.6)*0.3; +per_frame_30=ypos=sin(musictime*0.4)*0.3; +per_frame_31=q4=xpos; +per_frame_32=q5=ypos; +per_frame_33=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*5+5; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=star=star*treb*treb*0.5; +per_pixel_32=zm=zm+star*0.1; +per_pixel_33=sx=zm; +per_pixel_34=sy=zm; +per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4) diff --git a/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9.milk b/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9.milk new file mode 100755 index 0000000000..0053865c99 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.990099 +sy=0.990099 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=13 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.503256 +shapecode_0_ang=1.696460 +shapecode_0_tex_ang=1.633629 +shapecode_0_tex_zoom=0.932715 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_0_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_0_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_0_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_0_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_0_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_0_per_frame7=//ang = q1; +shape_0_per_frame8=//x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_0_per_frame9=//y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shape_0_per_frame10=//a=cos(time)*0.5+0.5; +shape_0_per_frame11=a2=(cos(time)*0.5+0.5)*0.1 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.232284 +shapecode_1_ang=2.324779 +shapecode_1_tex_ang=4.712390 +shapecode_1_tex_zoom=0.344833 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_1_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_1_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_1_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_1_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_1_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_1_per_frame7=ang = q1 + 3.1415; +shape_1_per_frame8=//x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_1_per_frame9=//y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394) +shape_1_per_frame10= +shape_1_per_frame11=//a=sin(time/2)*0.5+0.5; +shape_1_per_frame12=a2=(sin(time/4)*0.5+0.5) +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.503257 +shapecode_2_ang=1.696460 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.741923 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_2_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_2_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_2_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_2_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_2_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_2_per_frame7=ang = q1+ 3.1415*0.5; +shape_2_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_2_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.503257 +shapecode_3_ang=1.696460 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.671653 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_3_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_3_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_3_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_3_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_3_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_3_per_frame7=ang = q1 - 3.1415*0.5; +shape_3_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_3_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +per_frame_1=ib_r = 0.5 + (5.499*( 0.60*sin(0.933*time/3) + 0.40*sin(1.045*time/3) )); +per_frame_2=ib_g = 0.5 + (5*( 0.60*sin(0.900*time/3) + 0.40*sin(0.956*time/3) )); +per_frame_3=ib_b = 0.5 + (5.499*( 0.60*sin(0.910*time/3) + 0.40*sin(0.920*time/3) )); +per_frame_4=wave_a=0; +per_frame_5=decay =1; +per_frame_6=zoom =-1; +per_frame_7=rot=0; +per_frame_8=warp=0; +per_frame_9=q1 = oldq1+0.005*(bass+bass_att+(bass*bass_att)-1); +per_frame_10=oldq1 = below(q1,30000)*q1; +per_frame_11=monitor =q1; +per_pixel_1=dx=0.001*(bass*bass+bass_att)*sin((sin(sqrt(4)-rad))*5+(rad*5*sin(q1)))*y*ang; +per_pixel_2=dy=0.001*(bass*bass+bass_att)*cos((sin(sqrt(4)-rad))*5+(-rad*5*sin(q1)))*x*rad*ang; +per_pixel_3= +per_pixel_4=rot=(sin(time/(rad*0.5))*x)/(atan(time/rad)/(ang/3)/x/((sin(time/6)*0.5+0.5)*y)); +per_pixel_5=warp=(tan(time/10)*y)/(atan(time/6)/rad/y)*3 diff --git a/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9m.milk b/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9m.milk new file mode 100755 index 0000000000..eae79794cc --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Rovastar - What_does_your_soul_look_like9m.milk @@ -0,0 +1,266 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.990099 +sy=0.990099 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.025000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.400000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=13 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.373376 +shapecode_0_ang=0.628318 +shapecode_0_tex_ang=1.633629 +shapecode_0_tex_zoom=0.932715 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_0_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_0_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_0_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_0_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_0_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_0_per_frame7=//ang = q1; +shape_0_per_frame8=//x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_0_per_frame9=//y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shape_0_per_frame10=//a=cos(time)*0.5+0.5; +shape_0_per_frame11=//a2=(cos(time)*0.5+0.5)*0.1; +shape_0_per_frame12=rad=.200+(((bass_att+mid_att+treb_att)/3)*.100) +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.227011 +shapecode_1_ang=2.324779 +shapecode_1_tex_ang=4.712390 +shapecode_1_tex_zoom=3.078292 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_1_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_1_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_1_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_1_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_1_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_1_per_frame7=ang = q1 + 3.1415; +shape_1_per_frame8=//x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_1_per_frame9=//y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394) +shape_1_per_frame10= +shape_1_per_frame11=//a=(sin(time/4)*0.5+0.5); +shape_1_per_frame12=//a2=(sin(time/4)*0.5+0.5); +shape_1_per_frame13=//rad=1.177+((bass_att+treb_att+mid_att)*.122) +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.503257 +shapecode_2_ang=1.696460 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.741923 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_2_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_2_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_2_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_2_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_2_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_2_per_frame7=ang = q1+ 3.1415*0.5; +shape_2_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_2_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.503257 +shapecode_3_ang=1.696460 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.671653 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=//r = 0.5+0.25*sin(time*0.567)+0.25*sin(time*0.673); +shape_3_per_frame2=//b = 0.5+0.25*sin(time*0.617)+0.25*sin(time*0.493); +shape_3_per_frame3=//= 0.5+0.25*sin(time*0.771)+0.25*sin(time*0.317); +shape_3_per_frame4=//2 = 0.5+0.25*sin(time*0.417)+0.25*sin(time*0.773); +shape_3_per_frame5=//b2 = 0.5+0.25*sin(time*0.663)+0.25*sin(time*0.893); +shape_3_per_frame6=//g2 = 0.5+0.25*sin(time*0.317)+0.25*sin(time*0.327); +shape_3_per_frame7=ang = q1 - 3.1415*0.5; +shape_3_per_frame8=x = 0.5 + 0.1*sin(q1*1.432)+0.1*sin(q1*0.342); +shape_3_per_frame9=y= 0.5 + 0.1*sin(q1*1.311)+0.1*sin(q1*0.394); +per_frame_1=ib_r = 0.5 + (5.499*( 0.60*sin(0.933*time/3) + 0.40*sin(1.045*time/3) )); +per_frame_2=ib_g = 0.5 + (5*( 0.60*sin(0.900*time/3) + 0.40*sin(0.956*time/3) )); +per_frame_3=ib_b = 0.5 + (5.499*( 0.60*sin(0.910*time/3) + 0.40*sin(0.920*time/3) )); +per_frame_4=wave_a=0; +per_frame_5=decay =1; +per_frame_6=zoom =-1; +per_frame_7=rot=0; +per_frame_8=warp=0; +per_frame_9=q1 = oldq1+0.005*(bass+bass_att+(bass*bass_att)-1); +per_frame_10=oldq1 = below(q1,30000)*q1; +per_frame_11=monitor =q1; +per_pixel_1=dx=0.001*(bass*bass+bass_att)*sin((sin(sqrt(4)-rad))*5+(rad*5*sin(q1)))*y*ang; +per_pixel_2=dy=0.001*(bass*bass+bass_att)*cos((sin(sqrt(4)-rad))*5+(-rad*5*sin(q1)))*x*rad*ang; +per_pixel_3= +per_pixel_4=rot=(sin(time/(rad*0.5))*x)/(cos(time/rad)/(ang/3)/x/((sin(time/6)*0.5+0.5)*y)); +per_pixel_5=warp=(cos(time/10)*y)/(sin(time/6)/(rad*(sin(time/3)*0.5+0.5))*y*x)*3 diff --git a/presets/presets_tryptonaut/Phat_Rovastar_EoS square_faces_v2.milk b/presets/presets_tryptonaut/Phat_Rovastar_EoS square_faces_v2.milk new file mode 100644 index 0000000000..00e9607bdf --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Rovastar_EoS square_faces_v2.milk @@ -0,0 +1,346 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_42=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_43=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_44=//cx = cx - 0.1*sin(time*0.342); +per_frame_45=//cy = cy + 0.1*sin(time*0.433); +per_frame_46=//warp =0; +per_frame_47=ib_size = 0.02; +per_frame_48=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_49=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_50=ib_b = ib_b - 0.5*sin(time*1.431); +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(x*50)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(y*50)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk new file mode 100644 index 0000000000..3f71e77161 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_v2_sector_mix_alt_colours.milk @@ -0,0 +1,392 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15=tm=time*1; +per_frame_16= +per_frame_17=r=tan(tm+0.00); +per_frame_18=r=min(r,1); +per_frame_19=r=max(r,0); +per_frame_20=o=tan(tm+1.05); +per_frame_21=o=min(o,1); +per_frame_22=o=max(o,0); +per_frame_23=g=tan(tm+2.1); +per_frame_24=g=min(g,1); +per_frame_25=g=max(g,0); +per_frame_26=c=tan(tm+3.15); +per_frame_27=c=min(c,1); +per_frame_28=c=max(c,0); +per_frame_29=b=tan(tm+4.2); +per_frame_30=b=min(c,1); +per_frame_31=b=max(c,0); +per_frame_32=v=tan(tm+5.25); +per_frame_33=v=min(c,1); +per_frame_34=v=max(c,0); +per_frame_35= +per_frame_36=r=r+o+v; +per_frame_37=g=g+o+c; +per_frame_38=b=b+c+v; +per_frame_39= +per_frame_40= +per_frame_41=ib_r=r/3; +per_frame_42=//ib_g=g/3; +per_frame_43=//ib_b=b/3; +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48= +per_frame_49=ob_r=ib_r-0.5; +per_frame_50=ob_g=ib_g-0.5; +per_frame_51=ob_b=ib_b-0.5; +per_frame_52=//q1=ib_r; +per_frame_53=//q2=ib_g; +per_frame_54=//q3=ib_b; +per_frame_55= +per_frame_56= +per_frame_57= +per_frame_58=decay = 1; +per_frame_59= +per_frame_60= +per_frame_61=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_62=//solarize=above(0.5,bass); +per_frame_63=//darken=above(0.4,treb); +per_frame_64= +per_frame_65=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_66= +per_frame_67=xpos=sin(musictime*0.6)*0.3; +per_frame_68=ypos=sin(musictime*0.4)*0.3; +per_frame_69=q4=xpos; +per_frame_70=q5=ypos; +per_frame_71= +per_frame_72= +per_frame_73= +per_frame_74=tb=tb+bass/65; +per_frame_75=rot_a=sin(tb)*0.01; +per_frame_76=tm=tm+mid/65; +per_frame_77=rot_b=sin(tm)*0.01; +per_frame_78=tt=tt+treb/65; +per_frame_79=rot_c=sin(tt)*0.01; +per_frame_80= +per_frame_81=q1=rot_a; +per_frame_82=q2=rot_b; +per_frame_83=q3=rot_c; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22= +per_pixel_23= +per_pixel_24= +per_pixel_25=sect_a=if ( below(x,0.333), 1, 0 ); +per_pixel_26=sect_b=if ( below(x,0.666), 1, 0 ); +per_pixel_27=sect_b=if ( above(x,0.333), sect_b, 0 ); +per_pixel_28=sect_c=if ( above(x,0.666), 1, 0 ); +per_pixel_29= +per_pixel_30=dx_a=sin(y*6.28*12)*0.003; +per_pixel_31=dy_a=sin(x*6.28*14)*0.003; +per_pixel_32= +per_pixel_33=dy_b=sin(time+sin(time)*2)*0.01; +per_pixel_34= +per_pixel_35=dx=dx_a*sect_a; +per_pixel_36=dy=dy_a*sect_a + dy_b*sect_b; diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk new file mode 100644 index 0000000000..3be65c20de --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS Trippy_rotation_weird_boxs mix.milk @@ -0,0 +1,333 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid)*0.005; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=-.97; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+2)*(bass_att*0.1)/rd; diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk new file mode 100644 index 0000000000..3576891d69 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-fuck me dood-flash.milk @@ -0,0 +1,352 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.799999 +mv_r=0.300000 +mv_g=0.210000 +mv_b=0.110000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14=ib_bass=min(bass_att*1+0.2 , 1); +per_frame_15=ib_r=ib_r*ib_bass; +per_frame_16=ib_g=ib_g*ib_bass; +per_frame_17=ib_b=ib_b*ib_bass; +per_frame_18=gamma=1+min(bass,1)*0.3; +per_frame_19= +per_frame_20= +per_frame_21=ob_r=ib_r-0.5; +per_frame_22=ob_g=ib_g-0.5; +per_frame_23=ob_b=ib_b-0.5; +per_frame_24=q1=ib_r; +per_frame_25=q2=ib_g; +per_frame_26=q3=ib_b; +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30=decay = 0.99; +per_frame_31= +per_frame_32= +per_frame_33=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_34=//solarize=above(0.5,bass); +per_frame_35=//darken=above(0.4,treb); +per_frame_36= +per_frame_37=musictime=musictime+(bass*bass)*0.003*(75/fps); +per_frame_38=basstime=basstime+(bass*bass)*0.03*(75/fps); +per_frame_39= +per_frame_40= +per_frame_41=xpos=sin(musictime*0.6)*0.2; +per_frame_42=ypos=sin(musictime*0.4)*0.2; +per_frame_43=q4=xpos; +per_frame_44=q5=ypos; +per_frame_45=q6=basstime +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=//move center based on musictime +per_pixel_11=cx=0.5+q4; +per_pixel_12=cy=0.5-q5; +per_pixel_13= +per_pixel_14=//adjust x,y values based on musictime +per_pixel_15=nx=(x-0.5-q4)*2; +per_pixel_16=ny=(y-0.5+q5)*1.5; +per_pixel_17= +per_pixel_18=//radians based on adjusted x,y +per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); +per_pixel_20= +per_pixel_21=//ang based on adjusted x,y +per_pixel_22=ag=atan( ny/nx ); +per_pixel_23= +per_pixel_24=zm=(1.1-(rd/4)); +per_pixel_25=//zm=1; +per_pixel_26= +per_pixel_27=shapechange=sin(q6*0.2)*2+2; +per_pixel_28= +per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rd)*0.5 + 0.5; +per_pixel_30=star=star*star*3 -0.4; +per_pixel_31=zm=zm+star*0.1; +per_pixel_32=sx=zm; +per_pixel_33=sy=zm; +per_pixel_34=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*6) diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk new file mode 100644 index 0000000000..ddc776f3ca --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS rainbow bubble_mid3-starpoints_spirals_VE - Bitcore Tweak.milk @@ -0,0 +1,333 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=//ob_r=ib_r-0.5; +per_frame_18=//ob_g=ib_g-0.5; +per_frame_19=//ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23=ob_r = ob_r + 0.5*sin(time*1.13)+80; +per_frame_24=ob_g = ob_g + 0.5*sin(time*1.23)+80; +per_frame_25=ob_b = ob_b + 0.5*sin(time*1.33)+80; +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.5; +per_frame_36=ypos=sin(musictime*0.4)*0.5; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag*6+time)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+2)*(bass_att*0.1)/(rd/ag); diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_Movements_Beatle.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_Movements_Beatle.milk new file mode 100644 index 0000000000..f4f4109c3e --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_Movements_Beatle.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.4)*0.2; +per_frame_36=ypos=sin(musictime*0.4)*0.2; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd-ag); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*140)*(bass*0.005); +per_pixel_23=dy=cos(x*140)*(bass*0.005); diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_faces_v2.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_faces_v2.milk new file mode 100644 index 0000000000..8c97125945 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS spiral_faces_v2.milk @@ -0,0 +1,335 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.15; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.99; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.03; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.15; +per_frame_36=ypos=sin(musictime*0.4)*0.15; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.985; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(y*100)*(bass*0.005); +per_pixel_23=dy=cos(x*100)*(bass*0.005); diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS square_faces_v2_alt_colours.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS square_faces_v2_alt_colours.milk new file mode 100644 index 0000000000..cf0e2ae3f3 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS square_faces_v2_alt_colours.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.800001 +mv_r=0.440000 +mv_g=0.650000 +mv_b=0.810000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=//ib_r=1-ob_r; +per_frame_21=//ib_g=1-ob_g; +per_frame_22=//ib_b=1-ob_b; +per_frame_23=q1=ib_r; +per_frame_24=q2=ib_g; +per_frame_25=q3=ib_b; +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=decay = 0.9999; +per_frame_30= +per_frame_31= +per_frame_32=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_33=//solarize=above(0.5,bass); +per_frame_34=//darken=above(0.4,treb); +per_frame_35= +per_frame_36=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_37= +per_frame_38=xpos=sin(musictime*0.6)*0.3; +per_frame_39=ypos=sin(musictime*0.4)*0.3; +per_frame_40=q4=xpos; +per_frame_41=q5=ypos +per_frame_42= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=.99; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=.99; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag/5)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; +per_pixel_22=dx=sin(x*50)*(bass*0.005)*ag/(rd*5); +per_pixel_23=dy=cos(y*50)*(bass*0.005)*ag/(rd*5); diff --git a/presets/presets_tryptonaut/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk b/presets/presets_tryptonaut/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk new file mode 100644 index 0000000000..cae397be90 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_Zylot_EoS_Krash I_hope_someone_will_see_this_triping_v2b.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.001829 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.200000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.05; +wave_0_per_point4=yp=cos(smp )*0.05; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5+q4; +wave_0_per_point49=y=ys+0.5+q5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.700000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.801999 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.572684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=//rad=1.781+(bass*0.025); +shape_1_per_frame3=ang=above(0.5,treb_att)*.063; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.033004 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.010000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.6; +per_frame_36=ypos=sin(musictime*0.4)*0.6; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos; +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42=//beatdetect +per_frame_43=volume = 0.3*(bass+mid+att); +per_frame_44=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_45=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_46=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_47=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_48=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); +per_frame_49=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_50=lastbeat = if(beat,time,lastbeat); +per_frame_51=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_52= +per_frame_53=mybeat=if(beat,mybeat+1,mybeat); +per_frame_54=mybeat=if(above(mybeat,3),0,mybeat); +per_frame_55=echo_orient=mybeat; +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=//zoom=-1; +per_pixel_9=sx=-1+(bass*0.2); +per_pixel_10=sy=-1-(treb*0.2); +per_pixel_11= +per_pixel_12=cx=0.5+q4; +per_pixel_13=cy=0.5-q5; +per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_15=//zm=(1.1-(rd/4)); +per_pixel_16=zm=.994; +per_pixel_17= +per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; +per_pixel_20=zm=zm+star/20; +per_pixel_21=sx=zm; +per_pixel_22=sy=zm; +per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets/presets_tryptonaut/Phat_remix_EoS - zion square_mix.milk b/presets/presets_tryptonaut/Phat_remix_EoS - zion square_mix.milk new file mode 100644 index 0000000000..58a0450c34 --- /dev/null +++ b/presets/presets_tryptonaut/Phat_remix_EoS - zion square_mix.milk @@ -0,0 +1,241 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.001827 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=-0.250000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=0.999998 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.590000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=1.000000 +mv_g=0.800000 +mv_b=0.599900 +mv_a=0.120000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=26 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.808141 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=5.654867 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.070000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.060000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time/2); +shape_0_per_frame2=r2=0+((sin(time)*0.5+0.5)*0.2); +shapecode_1_enabled=1 +shapecode_1_sides=26 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.892690 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=6.283185 +shapecode_1_tex_zoom=0.819544 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=(bass*0.4)*above(bass,0.9); +shape_1_per_frame2=angvar=above(bass,0.9); +shape_1_per_frame3=x=if((angvar-0.3)+((sin(time)*0.5+0.5)*0.1),0.5+((sin(time)*0.5+0.5)*0.03),0.5); +shape_1_per_frame4=y=if((angvar-0.3)+((sin(time)*0.5+0.5)*0.1),0.5+((sin(time)*0.5+0.5)*0.03),0.5); +shape_1_per_frame5=var=sin(time/2)*0.01; +shape_1_per_frame6=var=((var+above(bass,0.9))*0.1); +shape_1_per_frame7=alpha=bass*0.8-(below(bass,0.4)*0.4); +shape_1_per_frame8=r=1-var*3; +shape_1_per_frame9=g=1-var; +shape_1_per_frame10=b=1-var*3.5; +shape_1_per_frame11=r2=1-var*2; +shape_1_per_frame12=g2=g; +shape_1_per_frame13=b2=b; +shape_1_per_frame14=a=alpha*0.9; +shape_1_per_frame15=a2=alpha*0.9; +shape_1_per_frame16=border_a=0; +shapecode_2_enabled=1 +shapecode_2_sides=34 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.000000 +shapecode_2_y=1.000000 +shapecode_2_rad=0.298779 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=r=1-(sin(time)*0.3); +shape_2_per_frame2=g2=1-(cos(time)*0.3); +shape_2_per_frame3=x=(sin(time)*0.5+0.5)+0.01; +shape_2_per_frame4=y=(cos(time)*0.5+0.5)+0.01 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=1; +per_frame_2=ib_r=1-((sin(time)*0.5+0.5)*0.435); +per_frame_3=ib_g=1-((cos(time)*0.5+0.5)*0.435); +per_frame_4=rot=0.01 +per_pixel_1=dmt=20+((((bass*bass*bass)/3)*8)*above(bass,1.1)); +per_pixel_2= +per_pixel_3=zoom=1+(( (sin( (x*dmt)+sin(time) )/28) + (cos( (y*dmt)+cos(time) )/28) ) *0.4 ); +per_pixel_4= +per_pixel_5=dx=rad*0.01; +per_pixel_6=dy=rad*0.01; +per_pixel_7=dx=dx+(above(bass,0.9)*0.002); +per_pixel_8=dy=dy+(above(bass,0.9)*0.002) diff --git a/presets/presets_tryptonaut/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk b/presets/presets_tryptonaut/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk new file mode 100755 index 0000000000..aa1738efd2 --- /dev/null +++ b/presets/presets_tryptonaut/PieturP - IT_MIGHT_BE_EVIL_phat_remix.milk @@ -0,0 +1,435 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.510000 +fVideoEchoZoom=1.008150 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.050000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=15.098679 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1= +wave_0_per_point2=//y=value1-value2+.5; +wave_0_per_point3=//qz=time; +wave_0_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_0_per_point5= +wave_0_per_point6=//qz=314;//314; +wave_0_per_point7=qz=314; +wave_0_per_point8=s=sin(time)*.2+.3; +wave_0_per_point9=x=cos(sample*qz)*.24+.5; +wave_0_per_point10=//x=sample; +wave_0_per_point11=y=sin(sample*qz)*.14+.3; +wave_0_per_point12= +wave_0_per_point13=h=(sin(sample)*.5+.5); +wave_0_per_point14=//s=if(above(treb,1.5),1,if(above(treb,1),.7,if(above(treb,.5),.5,.3))); +wave_0_per_point15=//l=if(above(bass,1.5),1,if(above(bass,1),.7,if(above(bass,.5),.5,.3))); +wave_0_per_point16=s=1; +wave_0_per_point17=l=1; +wave_0_per_point18=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_point19=// +wave_0_per_point20=// HSL to RGB by PieturP +wave_0_per_point21=// +wave_0_per_point22=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +wave_0_per_point23=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_0_per_point24=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_0_per_point25=// +wave_0_per_point26=cc=(6*h); +wave_0_per_point27=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_0_per_point28=zf=(6*h)-cc; +wave_0_per_point29=zm=l; +wave_0_per_point30=zp=l*(1-s); +wave_0_per_point31=zq=l*(1-s*zf); +wave_0_per_point32=zt=l*(1-s*(1-zf)); +wave_0_per_point33=monitor=zq; +wave_0_per_point34=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_0_per_point35=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_0_per_point36=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_0_per_point37=rr=if(equal(s,0),l,rr); +wave_0_per_point38=gg=if(equal(s,0),l,gg); +wave_0_per_point39=bb=if(equal(s,0),l,bb); +wave_0_per_point40= +wave_0_per_point41=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_0_per_point42=r=rr; +wave_0_per_point43=g=gg; +wave_0_per_point44=b=bb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=15.098679 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1= +wave_1_per_point2=//y=value1-value2+.5; +wave_1_per_point3=//qz=time; +wave_1_per_point4=//vol=max(bass,1.5)+max(mid,1.5); +wave_1_per_point5= +wave_1_per_point6=//qz=314;//314; +wave_1_per_point7=qz=314; +wave_1_per_point8=s=sin(time)*.2+.3; +wave_1_per_point9=//x=cos(value1+sample*qz)*.4+.5; +wave_1_per_point10=x=sample; +wave_1_per_point11=//y=sin(sample*qz)*.4+.5; +wave_1_per_point12=y=.103+value1; +wave_1_per_point13=r=0; +wave_1_per_point14=g=0; +wave_1_per_point15=b=0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.999996 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame3=vg = vol_avg*.1; +wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_frame5=t1=time*.3; +wave_2_per_frame6=//t2=sin(time)*1.5+2; +wave_2_per_frame7=//t3=.25; +wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; +wave_2_per_frame9=t2=2; +wave_2_per_frame10=t3=0; +wave_2_per_frame11=t4=0; +wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); +wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); +wave_2_per_point3=//ex=2; +wave_2_per_point4=sp=.01; +wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); +wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); +wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); +wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; +wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; +wave_2_per_point10= +wave_2_per_point11=//g=sin(xp*yp*1.506+tm); +wave_2_per_point12=//b=sin(xp*yp*3.142+tm); +wave_2_per_point13=//r=cos(xp*yp*1.506+tm); +wave_2_per_point14= +wave_2_per_point15=//r=sin(xp*3.14+tm)*sin(yp*3.14+tm); +wave_2_per_point16=//g=sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point17=//b=.4; +wave_2_per_point18= +wave_2_per_point19= +wave_2_per_point20= +wave_2_per_point21=h=sin(sin(xp*6+tm)*sin(yp*6+tm))*.5+.5; +wave_2_per_point22=s=1;//sin(xp*6.28+tm)*sin(yp*6.28+tm); +wave_2_per_point23=l=1; +wave_2_per_point24=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_point25=// +wave_2_per_point26=// HSL to RGB by PieturP +wave_2_per_point27=// +wave_2_per_point28=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +wave_2_per_point29=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +wave_2_per_point30=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +wave_2_per_point31=// +wave_2_per_point32=cc=(6*h); +wave_2_per_point33=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_2_per_point34=zf=(6*h)-cc; +wave_2_per_point35=zm=l; +wave_2_per_point36=zp=l*(1-s); +wave_2_per_point37=zq=l*(1-s*zf); +wave_2_per_point38=zt=l*(1-s*(1-zf)); +wave_2_per_point39=monitor=zq; +wave_2_per_point40=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_2_per_point41=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_2_per_point42=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_2_per_point43=rr=if(equal(s,0),l,rr); +wave_2_per_point44=gg=if(equal(s,0),l,gg); +wave_2_per_point45=bb=if(equal(s,0),l,bb); +wave_2_per_point46= +wave_2_per_point47=/////////////////////////////////////////////////////////////////////////////////////////////// +wave_2_per_point48= +wave_2_per_point49=r=rr; +wave_2_per_point50=g=gg; +wave_2_per_point51=b=bb; +wave_2_per_point52= +wave_2_per_point53= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.140000 +shapecode_0_y=0.170000 +shapecode_0_rad=2.207644 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.255374 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=3.386595 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.451118 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=v=pow(mid_att,3)+v; +shape_1_per_frame2=vol=bass+treb+mid; +shape_1_per_frame3=rad=3.387+sin(vol)*.15; +shape_1_per_frame4=//a=sin(time*.1)*.5+.5; +shape_1_per_frame5=a=sin(v*.003)*.5+.5; +shape_1_per_frame6=tex_ang=sin(v*.0005)*6.28; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.140000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.123235 +shapecode_2_ang=3.141593 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=3.241264 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1= +shape_2_per_frame2=p=p+.314; +shape_2_per_frame3=slowp=slowp+.000628; +shape_2_per_frame4=p=below(p,6.283)*p; +shape_2_per_frame5=slowp=below(slowp,6.283)*slowp; +shape_2_per_frame6=my=my+(mid*mid*mid)*.02; +shape_2_per_frame7=turn=below(sin(my)*.5+.5,.5); +shape_2_per_frame8=y=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); +shape_2_per_frame9=x=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); +shape_2_per_frame10=h=sin(slowp)*.5+.5; +shape_2_per_frame11=s=min(abs(bass*.6),1); +shape_2_per_frame12=l=1; +shape_2_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame14=// +shape_2_per_frame15=// HSL to RGB by PieturP +shape_2_per_frame16=// +shape_2_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_2_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_2_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_2_per_frame20=// +shape_2_per_frame21=cc=(6*h); +shape_2_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_2_per_frame23=zf=(6*h)-cc; +shape_2_per_frame24=zm=l; +shape_2_per_frame25=zp=l*(1-s); +shape_2_per_frame26=zq=l*(1-s*zf); +shape_2_per_frame27=zt=l*(1-s*(1-zf)); +shape_2_per_frame28=monitor=zq; +shape_2_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_2_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_2_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_2_per_frame32=rr=if(equal(s,0),l,rr); +shape_2_per_frame33=gg=if(equal(s,0),l,gg); +shape_2_per_frame34=bb=if(equal(s,0),l,bb); +shape_2_per_frame35= +shape_2_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame37=r=rr; +shape_2_per_frame38=g=gg; +shape_2_per_frame39=b=bb; +shape_2_per_frame40= +shape_2_per_frame41=h=sin(slowp)*.5+.5; +shape_2_per_frame42=l=min(abs(bass*.6),1); +shape_2_per_frame43=s=1; +shape_2_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame45=// +shape_2_per_frame46=// HSL to RGB by PieturP +shape_2_per_frame47=// +shape_2_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) +shape_2_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +shape_2_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +shape_2_per_frame51=// +shape_2_per_frame52=cc=(6*h); +shape_2_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +shape_2_per_frame54=zf=(6*h)-cc; +shape_2_per_frame55=zm=l; +shape_2_per_frame56=zp=l*(1-s); +shape_2_per_frame57=zq=l*(1-s*zf); +shape_2_per_frame58=zt=l*(1-s*(1-zf)); +shape_2_per_frame59=monitor=zq; +shape_2_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +shape_2_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +shape_2_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +shape_2_per_frame63=rr=if(equal(s,0),l,rr); +shape_2_per_frame64=gg=if(equal(s,0),l,gg); +shape_2_per_frame65=bb=if(equal(s,0),l,bb); +shape_2_per_frame66= +shape_2_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// +shape_2_per_frame68=r2=rr; +shape_2_per_frame69=g2=gg; +shape_2_per_frame70=b2=bb; +shape_2_per_frame71=border_r=rr; +shape_2_per_frame72=border_g=gg; +shape_2_per_frame73=border_b=bb; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.368200 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.889069 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a=0; +per_frame_2=decay=1; +per_frame_3=warp=0; +per_frame_4= +per_frame_5=dx=0; +per_frame_6=dy=0; +per_frame_7=sx=1; +per_frame_8=sy=1; +per_frame_9=//mm=mm+pow(mid,3); +per_frame_10=mm=5/mid; +per_frame_11=mt=mt+pow(treb,3); +per_frame_12=//q1=sin(mm*.1)*.002+1; +per_frame_13=q1=mm; +per_frame_14=q2=mm*.0001; +per_frame_15=q3=mt*.03; +per_pixel_1=//rot=sin(x)*sin(y); +per_pixel_2=v=v+1; +per_pixel_3=v=v%2; +per_pixel_4=d=equal(v,0); +per_pixel_5= +per_pixel_6=rot=(sin(q3))*0.05; +per_pixel_7=cx=sin(x*255*q2)*.5+.5; +per_pixel_8=cy=cos(y*255*q2)*.5+.5; +per_pixel_9= +per_pixel_10= +per_pixel_11= diff --git a/presets/presets_tryptonaut/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk b/presets/presets_tryptonaut/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk new file mode 100644 index 0000000000..d685debc16 --- /dev/null +++ b/presets/presets_tryptonaut/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk @@ -0,0 +1,304 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.905900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.924157 +fWaveScale=0.653091 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.800000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=38 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.254862 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_frame1=r=1; +wave_0_per_frame2=g=1; +wave_0_per_frame3=b=1; +wave_0_per_frame4=a=0.1; +wave_0_per_point1= +wave_0_per_point2=y=sample; +wave_0_per_point3=x=value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shape_2_per_frame18= +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.500000 +shapecode_3_b=0.500000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=0.995; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=bass+(zoomin*10)*.001; +per_frame_20=zoomi=above(zoomin,2)+zoomi*.975; +per_frame_21=zval=cos(time*.3)*(above(zoomi,2)); +per_frame_22=zuse=(zval)*.05+1; +per_frame_23=monitor=zoomi; +per_frame_24=zoom=zuse; +per_frame_25= +per_frame_26=//echo_orient=((maat*.5)%4)+1; +per_frame_27= +per_frame_28=//monitor=val; +per_frame_29=r=above(bass,1.3)+r*.95; +per_frame_30=t=below(r,5); +per_frame_31=q1=t*val*.5; +per_frame_32=mv_dx=sin(time)*.5+.5; +per_frame_33=mv_dy=cos(time)*.5+.5; +per_frame_34=ob_r=0; +per_frame_35=ob_g=0; +per_frame_36=ob_b=0; +per_frame_37=ib_r=0; +per_frame_38=ib_g=0; +per_frame_39=ib_b=0; +per_frame_40=ib_a=0.375; +per_frame_41=ob_a=0.475; +per_frame_42=ob_size=bass*.1; +per_frame_43=ib_size=treb*.1; +per_frame_44= +per_frame_45= +per_frame_46=wave_r=1; +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_tryptonaut/PieturP - triptrap_(ultimate-trip-mix).milk b/presets/presets_tryptonaut/PieturP - triptrap_(ultimate-trip-mix).milk new file mode 100644 index 0000000000..182e886f1c --- /dev/null +++ b/presets/presets_tryptonaut/PieturP - triptrap_(ultimate-trip-mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.955900 +fVideoEchoZoom=2.003071 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.008148 +fShader=0.000000 +zoom=1.001800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.008151 +wave_r=1.000000 +wave_g=0.650000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=48.000000 +mv_dx=0.500000 +mv_dy=0.500000 +mv_l=5.000000 +mv_r=0.013716 +mv_g=0.872347 +mv_b=0.522466 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.746302 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.942039 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.746302 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.942039 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364564 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.364564 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_init_1=decay=1; +per_frame_init_2=beatvol=1.04; +per_frame_1=zoom=1; +per_frame_2=decay=1; +per_frame_3= +per_frame_4=maat=maat+(above(bass_att,1.5)); +per_frame_5=maat=below(maat,16)*maat; +per_frame_6= +per_frame_7=val=if(above(maat,8),1,val); +per_frame_8=val=if(above(val,0.6),val*.99,0.3); +per_frame_9=echo_zoom=val+0.7; +per_frame_10= +per_frame_11=zoom=1; +per_frame_12= +per_frame_13=ob_size=0; +per_frame_14=ob_g=0; +per_frame_15=ob_r=0; +per_frame_16=ob_b=0; +per_frame_17=ob_a=1; +per_frame_18= +per_frame_19=zoomin=(sin(time)*.5+.5)%2; +per_frame_20=zval=cos(time*.3)*zoomin; +per_frame_21=zuse=(zval)*.05+1; +per_frame_22=monitor=zuse; +per_frame_23=zoom=zuse; +per_frame_24= +per_frame_25=//echo_orient=((maat*.5)%4)+1; +per_frame_26= +per_frame_27=//monitor=val; +per_frame_28=r=above(bass,1.3)+r*.95; +per_frame_29=t=below(r,5); +per_frame_30=q1=t*val*.5; +per_frame_31= +per_frame_32= +per_frame_33= +per_frame_34= +per_frame_35= +per_pixel_1= +per_pixel_2=dx=(dx-0.05*sin(x*32))*(cos(time*8)*q1); +per_pixel_3=dy=(dy-0.05*sin(y*18))*(sin(time*8)*q1); +per_pixel_4= diff --git a/presets/presets_tryptonaut/Redi Jedi + Studio Music - Shimmering Love.milk b/presets/presets_tryptonaut/Redi Jedi + Studio Music - Shimmering Love.milk new file mode 100755 index 0000000000..2a668abfe3 --- /dev/null +++ b/presets/presets_tryptonaut/Redi Jedi + Studio Music - Shimmering Love.milk @@ -0,0 +1,579 @@ +[preset00] +fRating=2.500000 +fGammaAdj=1.980001 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.803382 +fWarpScale=2.155458 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.220765 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.450000 +wave_b=0.380000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.180000 +ob_b=0.130000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.310000 +ib_g=0.300000 +ib_b=0.370000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=st=1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=tw=1; //twists in sprial +wave_1_init2=s=1; //size +wave_1_init3=sr=0; //speed of rotation +wave_1_init4=sm=0; //speed of movment +wave_1_init5=pi=3.14; +wave_1_init6=p2=6.28; +wave_1_init7=pr=360/p2; //one degree in radians +wave_1_init8= +wave_1_init9=dmt=.05*mid; +wave_1_init10=dbt=.05*bass; +wave_1_init11=dtt=.05*treb; +wave_1_per_frame1=//FRAME +wave_1_per_frame2=mx=0; //movement in x +wave_1_per_frame3=my=0; //movement in y +wave_1_per_frame4=mz=0; //movement in z +wave_1_per_frame5=rx=0; //rotation around x axis +wave_1_per_frame6=ry=0; //rotation around y axis +wave_1_per_frame7=rz=0; //rotation around z axis +wave_1_per_frame8=f=6; //smallest from height and with for aspect ratio +wave_1_per_frame9=fx=8; //aspect ratio for x +wave_1_per_frame10=fy=6; //aspect ratio for y +wave_1_per_frame11= +wave_1_per_frame12= +wave_1_per_frame13=//BEAT +wave_1_per_frame14=bx=0; //speed for rx, changed on beat +wave_1_per_frame15=by=0; //speed for ry, changed on beat +wave_1_per_frame16=bz=0; //speed for rz, changed on beat +wave_1_per_frame17= +wave_1_per_frame18= +wave_1_per_frame19=q=q5; +wave_1_per_frame20= +wave_1_per_frame21=dbt=dbt*(1-q)+q*(bass-lmid)*.05; +wave_1_per_frame22=btime=btime+dbt+q1*.01+q5*.01; +wave_1_per_frame23=t1=btime; +wave_1_per_frame24= +wave_1_per_frame25= +wave_1_per_frame26=dtt=dtt*(1-q)+q*(treb-lbass)*.05; +wave_1_per_frame27=ttime=ttime+dtt+q1*.01+q5*.01; +wave_1_per_frame28=t2=ttime; +wave_1_per_frame29= +wave_1_per_frame30= +wave_1_per_frame31=dmt=dmt*(1-q)+q*(mid-ltreb)*.05; +wave_1_per_frame32=mtime=mtime+dmt+q1*.01+q5*.01; +wave_1_per_frame33=t3=mtime; +wave_1_per_frame34= +wave_1_per_frame35=ltreb=treb; +wave_1_per_frame36=lmid=mid; +wave_1_per_frame37=lbass=bass; +wave_1_per_frame38= +wave_1_per_point1=h=8; +wave_1_per_point2=w=6; +wave_1_per_point3=pi=3.14; +wave_1_per_point4=p2=6.28; +wave_1_per_point5=pr=360/p2; +wave_1_per_point6=rx=sin(t3*1.2); +wave_1_per_point7=ry=sin(t1*1.5); +wave_1_per_point8=rz=sin(t2*1.7); +wave_1_per_point9=speedx=sin(rx); +wave_1_per_point10=speedy=sin(ry); +wave_1_per_point11=speedz=sin(rz); +wave_1_per_point12=centerx=1; +wave_1_per_point13=centery=1; +wave_1_per_point14=centerz=1; +wave_1_per_point15=f=min(h,w); +wave_1_per_point16=fx=f/w; +wave_1_per_point17=fy=f/h; +wave_1_per_point18=bx=0; +wave_1_per_point19=by=0; +wave_1_per_point20=bz=0; +wave_1_per_point21=tw=25; +wave_1_per_point22=n=512; +wave_1_per_point23=s=.5; +wave_1_per_point24=sr=.02; +wave_1_per_point25=sm=.25; +wave_1_per_point26=mx=sin(t1); +wave_1_per_point27=my=sin(t2); +wave_1_per_point28=mz=sin(t3)+2; +wave_1_per_point29=i=sample; +wave_1_per_point30=btime=t1; +wave_1_per_point31=ii=sin(sample*3.14)*.5+.5; +wave_1_per_point32=x1=sin(sample*p2*20)*ii; //main render for x +wave_1_per_point33=z1=cos(sample*p2*20)*ii+2; //main render for y +wave_1_per_point34=y1=sample; //main render for z +wave_1_per_point35=//3d rotation +wave_1_per_point36=y2=y1*centerx-z1*speedx; +wave_1_per_point37=z2=y1*speedx+z1*centerx;//x-axisx2=z2*speedy+x1*centery; +wave_1_per_point38=z3=z2*centery-x1*speedy;//y-axis +wave_1_per_point39=x3=x2*centerz-y2*speedz; +wave_1_per_point40=y3=y2*centerz+x2*speedz;//z-axis +wave_1_per_point41=x4=mx+x3; +wave_1_per_point42=y4=my+y3; +wave_1_per_point43=z4=mz+z3;// movement;shift +wave_1_per_point44=scale=.5; +wave_1_per_point45=x=(x4*scale)/(1+z4)+.5; +wave_1_per_point46=y=(y4*scale)/(1+z4)+.5; //aspect ratio +wave_1_per_point47=tm=time*3; +wave_1_per_point48=rr=tan(n + tm)*0.25; +wave_1_per_point49=gg=tan(n + tm + 2.1)*0.25; +wave_1_per_point50=bb=tan(n + tm + 4.2)*0.25; +wave_1_per_point51=r=min(rr,1)*above(rr,0); +wave_1_per_point52=g=min(gg,1)*above(gg,0); +wave_1_per_point53=b=min(bb,1)*above(bb,0); +wave_1_per_point54=r=1- pow( 1-r,3); +wave_1_per_point55=g=1- pow( 1-g,3); +wave_1_per_point56=b=1- pow( 1-b,3); +wave_1_per_point57=aa= sin(n*t4)*0.5+0.5; +wave_1_per_point58=aa=aa; +wave_1_per_point59=r=r*aa*q1; +wave_1_per_point60=g=g*aa*q1; +wave_1_per_point61=b=b*aa*q1; +wave_1_per_point62=r=if(q3 , 1-r , g); +wave_1_per_point63=g=if(q3 , 1-g , b); +wave_1_per_point64=b=if(q3 , 1-b , r); +wave_1_per_point65=a=1-pow( 1-sample , 2); +wave_1_per_point66= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=tw=1; //twists in sprial +wave_2_init2=s=1; //size +wave_2_init3=sr=0; //speed of rotation +wave_2_init4=sm=0; //speed of movment +wave_2_init5=pi=3.14; +wave_2_init6=p2=6.28; +wave_2_init7=pr=360/p2; //one degree in radians +wave_2_init8= +wave_2_init9=dbt=.05*bass; +wave_2_init10=dtt=.05*treb; +wave_2_init11=dmt=.05*mid; +wave_2_per_frame1=//FRAME +wave_2_per_frame2=mx=0; //movement in x +wave_2_per_frame3=my=0; //movement in y +wave_2_per_frame4=mz=0; //movement in z +wave_2_per_frame5=rx=0; //rotation around x axis +wave_2_per_frame6=ry=0; //rotation around y axis +wave_2_per_frame7=rz=0; //rotation around z axis +wave_2_per_frame8=f=6; //smallest from height and with for aspect ratio +wave_2_per_frame9=fx=8; //aspect ratio for x +wave_2_per_frame10=fy=6; //aspect ratio for y +wave_2_per_frame11= +wave_2_per_frame12= +wave_2_per_frame13=//BEAT +wave_2_per_frame14=bx=0; //speed for rx, changed on beat +wave_2_per_frame15=by=0; //speed for ry, changed on beat +wave_2_per_frame16=bz=0; //speed for rz, changed on beat +wave_2_per_frame17= +wave_2_per_frame18= +wave_2_per_frame19=q=q5; +wave_2_per_frame20= +wave_2_per_frame21=dbt=dbt*(1-q)+q*(bass-lbass)*.05; +wave_2_per_frame22=btime=btime+dbt+q1*.01+q5*.01; +wave_2_per_frame23=t1=btime; +wave_2_per_frame24=lbass=bass; +wave_2_per_frame25= +wave_2_per_frame26=dtt=dtt*(1-q)+q*(treb-ltreb)*.05; +wave_2_per_frame27=ttime=ttime+dtt+q1*.01+q5*.01; +wave_2_per_frame28=t2=ttime; +wave_2_per_frame29=ltreb=treb; +wave_2_per_frame30= +wave_2_per_frame31=dmt=dmt*(1-q)+q*(mid-lmid)*.05; +wave_2_per_frame32=mtime=mtime+dmt+q1*.01+q5*.01; +wave_2_per_frame33=t3=mtime; +wave_2_per_frame34=lmid=mid; +wave_2_per_frame35= +wave_2_per_point1=h=8; +wave_2_per_point2=w=6; +wave_2_per_point3=pi=3.14; +wave_2_per_point4=p2=6.28; +wave_2_per_point5=pr=360/p2; +wave_2_per_point6=rx=sin(t3*1.2); +wave_2_per_point7=ry=sin(t1*1.5); +wave_2_per_point8=rz=sin(t2*1.7); +wave_2_per_point9=speedx=sin(rx); +wave_2_per_point10=speedy=sin(ry); +wave_2_per_point11=speedz=sin(rz); +wave_2_per_point12=centerx=1; +wave_2_per_point13=centery=1; +wave_2_per_point14=centerz=1; +wave_2_per_point15=f=min(h,w); +wave_2_per_point16=fx=f/w; +wave_2_per_point17=fy=f/h; +wave_2_per_point18=bx=0; +wave_2_per_point19=by=0; +wave_2_per_point20=bz=0; +wave_2_per_point21=tw=25; +wave_2_per_point22=n=512; +wave_2_per_point23=s=.5; +wave_2_per_point24=sr=.02; +wave_2_per_point25=sm=.25; +wave_2_per_point26=mx=sin(t1); +wave_2_per_point27=my=sin(t2); +wave_2_per_point28=mz=sin(t3)+2; +wave_2_per_point29=i=sample; +wave_2_per_point30=btime=t1; +wave_2_per_point31=ii=sin(sample*3.14)*.5+.5; +wave_2_per_point32=x1=sin(sample*p2*20)*ii; //main render for x +wave_2_per_point33=z1=cos(sample*p2*20)*ii+2; //main render for y +wave_2_per_point34=y1=sample; //main render for z +wave_2_per_point35=//3d rotation +wave_2_per_point36=y2=y1*centerx-z1*speedx; +wave_2_per_point37=z2=y1*speedx+z1*centerx;//x-axis +wave_2_per_point38=x2=z2*speedy+x1*centery; +wave_2_per_point39=z3=z2*centery-x1*speedy;//y-axis +wave_2_per_point40=x3=x2*centerz-y2*speedz; +wave_2_per_point41=y3=y2*centerz+x2*speedz;//z-axis +wave_2_per_point42=x4=mx+x3; +wave_2_per_point43=y4=my+y3; +wave_2_per_point44=z4=mz+z3;// movement;shift +wave_2_per_point45=scale=.5; +wave_2_per_point46=x=(x4*scale)/(1+z4)+.5; +wave_2_per_point47=y=(y4*scale)/(1+z4)+.5; //aspect ratio +wave_2_per_point48=tm=time*3; +wave_2_per_point49=rr=tan(n + tm)*0.25; +wave_2_per_point50=gg=tan(n + tm + 2.1)*0.25; +wave_2_per_point51=bb=tan(n + tm + 4.2)*0.25; +wave_2_per_point52=r=min(rr,1)*above(rr,0); +wave_2_per_point53=g=min(gg,1)*above(gg,0); +wave_2_per_point54=b=min(bb,1)*above(bb,0); +wave_2_per_point55=r=1- pow( 1-r,3); +wave_2_per_point56=g=1- pow( 1-g,3); +wave_2_per_point57=b=1- pow( 1-b,3); +wave_2_per_point58=aa= sin(n*t4)*0.5+0.5; +wave_2_per_point59=aa=aa; +wave_2_per_point60=r=r*aa*q1; +wave_2_per_point61=g=g*aa*q1; +wave_2_per_point62=b=b*aa*q1; +wave_2_per_point63=r=if(q3 , 1-r , g); +wave_2_per_point64=g=if(q3 , 1-g , r); +wave_2_per_point65=b=if(q3 , 1-b , b); +wave_2_per_point66=a=1-pow( 1-sample , 2); +wave_2_per_point67= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.997729 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.300000 +wavecode_3_g=0.650000 +wavecode_3_b=0.300000 +wavecode_3_a=1.000000 +wave_3_init1=//pi +wave_3_init2=//t8=3.14159265*0.15; +wave_3_init3=//t5 = 1; +wave_3_init4= +wave_3_init5=//n =300; +wave_3_init6=t1 = 300; +wave_3_init7=//rx = 0; +wave_3_init8=t2 = 10; +wave_3_init9=//ry = 0; +wave_3_init10=t3 = 0; +wave_3_init11=//tpi =3.1415; +wave_3_init12=t4 = 2.14159265; +wave_3_init13=//c=1; +wave_3_init14=t5 = 1; +wave_3_init15=//hu=10; +wave_3_init16=t6 = 10; +wave_3_init17=//hut=-10; +wave_3_init18=t7 = -10; +wave_3_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_3_per_frame2=t6 = (t7+t6*5)/6; +wave_3_per_frame3=t2 = pow(2*bass+bass_att,5)*0.01115111 +oldt2; +wave_3_per_frame4=oldt2 = t2; +wave_3_per_frame5=//t2 = 3*sin(time*1.1965); +wave_3_per_frame6=t3 = pow(2*bass+bass_att,4)*0.01126213 + oldt3; +wave_3_per_frame7=oldt3 = t3; +wave_3_per_frame8=//t3 = 3*sin(time*0.0872); +wave_3_per_frame9= +wave_3_per_frame10=q1 = -cos(cos(t2)); +wave_3_per_frame11=q2 = cos(-t3); +wave_3_per_frame12=q3 = sin(cos(-t2)); +wave_3_per_frame13=q4 = sin(t3); +wave_3_per_point1=u = sample*1-1; +wave_3_per_point2=rf = 512; +wave_3_per_point3=shc = 1-u*u; +wave_3_per_point4=cf = below(sample,1.05); +wave_3_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.05), (sample-0.05)*15+0.1, pow(shc,0.7)*1.5)); +wave_3_per_point6=u = u + v/2; +wave_3_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_3_per_point8=py = sample*2-1; +wave_3_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_3_per_point10=y1 = py*q1 + pz*q3; +wave_3_per_point11=z1 = pz*q1 - py*q3; +wave_3_per_point12=x2 = px*q2 + z1*q4; +wave_3_per_point13=z2 = z1*q2 - px*q4+5; +wave_3_per_point14=x = x2/z2; +wave_3_per_point15=y = y1/z2; +wave_3_per_point16=x = x*0.5 + 0.5; +wave_3_per_point17=y = 0.5*y + 0.5; +wave_3_per_point18=r = 0.5+sin(sample*295)*0.5; +wave_3_per_point19=g = 0.5*sin(time*0.0245)+0.999*(0.5+sin(x*195)*0.5); +wave_3_per_point20=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100310 +shapecode_0_ang=0.010000 +shapecode_0_tex_ang=0.251327 +shapecode_0_tex_zoom=0.150987 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.460001 +shapecode_0_border_g=0.370001 +shapecode_0_border_b=0.600000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.07*cos(q3*0.5) + 0.31*cos(time*3.7); +shape_0_per_frame2=y = 0.5 + 0.07*sin(q3*0.5) + 0.31*sin(time*3.7); +shape_0_per_frame3=r = 0.5 + 0.5*sin(time*0.713 + 2); +shape_0_per_frame4=g = 0.5 + 0.5*cos(time*0.863 + 3); +shape_0_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_0_per_frame6=r2 = 0.5 + 0.5*cos(time*1.185 + 3); +shape_0_per_frame7=g2 = 0.5 + 0.5*sin(time*0.956+ 2); +shape_0_per_frame8=b2 = 0.5 + 0.5*sin(time*0.838 + 4); +shape_0_per_frame9=border_red = sin(time*0.874); +shape_0_per_frame10=border_green = sin(time*0.834); +shape_0_per_frame11=border_blue = sin(time*0.734); +shape_0_per_frame12=ang = time*1.3; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.069197 +shapecode_1_ang=0.030000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.210001 +shapecode_1_g=0.440000 +shapecode_1_b=0.230000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.180000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.110000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.150001 +shapecode_1_border_g=0.400001 +shapecode_1_border_b=0.480000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang = time*-2.4; +shape_1_per_frame2=x = 0.5 + 0.26*cos(time*3.1) + 0.13*cos(time*1.7); +shape_1_per_frame3=y = 0.5 + 0.22*sin(time*3.3) + 0.14*sin(time*1.2); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*cos(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*cos(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shape_1_per_frame10=border_red = sin(time*0.644); +shape_1_per_frame11=border_green = cos(time*0.874); +shape_1_per_frame12=border_blue = sin(time*0.954); +shapecode_2_enabled=0 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.069197 +shapecode_2_ang=0.030000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.210001 +shapecode_2_g=0.440000 +shapecode_2_b=0.230000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.180000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.110000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.150001 +shapecode_2_border_g=0.400001 +shapecode_2_border_b=0.480000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=ang = time*2.4; +shape_2_per_frame2=x = 0.5 + 0.22*cos(time*3.3) + 0.14*cos(time*1.2); +shape_2_per_frame3=y = 0.5 + 0.26*sin(time*3.1) + 0.13*sin(time*1.7); +shape_2_per_frame4=r = 0.5 + 0.5*sin(time*1.013 + 5); +shape_2_per_frame5=g = 0.5 + 0.5*cos(time*1.063 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_2_per_frame8=g2 = 0.5 + 0.5*cos(time*1.056+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(time*1.038 + 4); +shape_2_per_frame10=border_red = sin(time*0.574); +shape_2_per_frame11=border_green = sin(time*0.774); +shape_2_per_frame12=border_blue = cos(time*1.054); +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.510000 +shapecode_3_y=0.490000 +shapecode_3_rad=0.099863 +shapecode_3_ang=0.062832 +shapecode_3_tex_ang=0.251327 +shapecode_3_tex_zoom=0.150986 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.460001 +shapecode_3_border_g=0.280001 +shapecode_3_border_b=0.540000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.07*cos(q3*0.5) + 0.31*sin(time*3.7); +shape_3_per_frame2=y = 0.5 + 0.07*sin(q3*0.5) + 0.31*cos(time*3.7); +shape_3_per_frame3=r = 0.5 + 0.5*sin(time*1.013 + 2); +shape_3_per_frame4=g = 0.5 + 0.5*cos(time*0.863 + 3); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_3_per_frame6=r2 = 0.5 + 0.5*cos(time*1.185 + 3); +shape_3_per_frame7=g2 = 0.5 + 0.5*sin(time*1.356+ 2); +shape_3_per_frame8=b2 = 0.5 + 0.5*sin(time*0.738 + 4); +shape_3_per_frame9=border_red = sin(time*1.074); +shape_3_per_frame10=border_green = sin(time*0.834); +shape_3_per_frame11=border_blue = sin(time*0.934); +shape_3_per_frame12=ang = time*-1.3; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=flash=0; +per_frame_init_9= +per_frame_1=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_2=wave_g = cos(ff/mid)/2+0.5; +per_frame_3=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_7=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_8=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_9=ob_r=wave_r; +per_frame_10=ob_g=wave_g; +per_frame_11=ob_b=wave_b; +per_frame_12=mv_x = lastingbass*30+24; +per_frame_13=mv_y= madtreb*48+8; +per_frame_14=mv_r = 0.7-bass_att; +per_frame_15=mv_b = 0.6-treb_att; +per_frame_16=mv_g = 0.5-mid_att; +per_frame_17=ff = frame/100; +per_frame_18=zoom=1.02; +per_frame_19=q1=(mid+treb)*0.5; +per_frame_20=q1=min(q1,1); +per_frame_21=q1=q1*q1; +per_frame_22=q1=1; +per_frame_23=vol=pow( (bass+mid+treb)*0.25 , 3); +per_frame_24=vol=min(vol,1); +per_frame_25=mtime=mtime+vol*0.1; +per_frame_26=q2=mtime; +per_frame_27=flash=if( below(flash,4) , flash + vol*0.25 , 0 ); +per_frame_28=//invert=above(sin(time*50),.5); +per_frame_29=invert=above(flash,0.5); +per_frame_30=invert=0; +per_frame_31=//q3=invert; +per_frame_32= +per_pixel_1=q2=below(rad,.-53); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.5); diff --git a/presets/presets_tryptonaut/Redi Jedi - Shifter - Phat - Geiss - Flexi - Rovastar - 120287116022(874) roam3.milk b/presets/presets_tryptonaut/Redi Jedi - Shifter - Phat - Geiss - Flexi - Rovastar - 120287116022(874) roam3.milk new file mode 100755 index 0000000000..f809fd5b8d --- /dev/null +++ b/presets/presets_tryptonaut/Redi Jedi - Shifter - Phat - Geiss - Flexi - Rovastar - 120287116022(874) roam3.milk @@ -0,0 +1,477 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.363 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003 +fWaveScale=0.328 +fWaveSmoothing=0.275 +fWaveParam=-0.119 +fModWaveAlphaStart=0.876 +fModWaveAlphaEnd=1.157 +fWarpAnimSpeed=1.000 +fWarpScale=0.733 +fZoomExponent=2.81576 +fShader=0.000 +zoom=1.01265 +rot=0.00154 +cx=0.500 +cy=0.500 +dx=0.00184 +dy=0.00000 +warp=0.06073 +sx=0.99997 +sy=0.99992 +wave_r=0.885 +wave_g=0.952 +wave_b=0.929 +wave_x=0.843 +wave_y=0.604 +ob_size=0.020 +ob_r=0.466 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.741 +ib_g=0.300 +ib_b=0.323 +ib_a=0.000 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.518 +mv_r=1.000 +mv_g=0.961 +mv_b=0.412 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.014 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=20 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.73104 +wavecode_0_smoothing=0.02345 +wavecode_0_r=0.260 +wavecode_0_g=0.190 +wavecode_0_b=0.857 +wavecode_0_a=0.814 +wave_0_per_frame1=t1 = 0; +wave_0_per_frame2=j = j + (bass)*0.01; +wave_0_per_frame3=j2 = j2 + (mid_att)*0.01; +wave_0_per_frame4=j3 = j3 + (treb_att)*0.01; +wave_0_per_frame5=t2 = j; +wave_0_per_frame6=t3 = j2; +wave_0_per_frame7=t4 = j3; +wave_0_per_frame8=k = k*0.99 + 10*mid/fps; +wave_0_per_frame9=t5 = -k; +wave_0_per_frame10=cl1 = if(below(if(above(cl1 + 0.002,1),0,cl1),0),1,cl1); +wave_0_per_frame11=t8 = cl1; +wave_0_per_frame12=cl2 = if(below(if(above(cl2 -1*q1,1),0,cl2),0),1,cl2); +wave_0_per_frame13=t7 = cl2; +wave_0_per_frame14=cl3 = if(below(if(above(cl3 +0.001,1),0,cl3),0),1,cl3); +wave_0_per_frame15=t6 = cl3; +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=y = int(rand(1001))*.001; +wave_0_per_point3=zz = ((yy*58652340875)%10000000+100)/10000000 + t8 - if(above(zz+t8,1),1,0) - 0.5; +wave_0_per_point4=sw = 1-equal(it,0); +wave_0_per_point5=xv = if(sw,xv,int(rand(39))/39); +wave_0_per_point6=w = 1; +wave_0_per_point7=bb = d*d*0.5; +wave_0_per_point8=n = 0.3; +wave_0_per_point9=s1 = sin(sin(t2*w+bb)*n); +wave_0_per_point10=s2 = sin(sin(t3*w+bb)*n); +wave_0_per_point11=s3 = sin(sin(t4*w+bb)*n); +wave_0_per_point12=c1 = cos(sin(t2*w+bb)*n); +wave_0_per_point13=c2 = cos(sin(t3*w+bb)*n); +wave_0_per_point14=c3 = cos(sin(t4*w+bb)*n); +wave_0_per_point15=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_0_per_point16=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_0_per_point17=zoom = .5*(1/(z+0.5)); +wave_0_per_point18=x = 0.5 + zoom*x1 + sin(time*0.1)*0.; +wave_0_per_point19=b = if(below(if(above(b,1),1,b),0),0,b); +wave_0_per_point20=a = 0.4; +wave_0_per_point21=hue = sin((q7-q8)*q3+xv*50)+2; +wave_0_per_point22=h = 6*(hue-int(hue)); +wave_0_per_point23=sw1 = below(h,1); +wave_0_per_point24=g = sw1*h+sw2+sw3+sw4*(4-h); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=20 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=3.02305 +wavecode_1_smoothing=0.01530 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=0.899 +wavecode_1_a=1.000 +wave_1_per_frame1=t8 = 1; +wave_1_per_frame2=t1 = 0.5; +wave_1_per_frame3=t2 = 0.9; +wave_1_per_point1=x = int(rand(1001))*.001; +wave_1_per_point2=y = 0.9 - sample*0.8; +wave_1_per_point3=b = 0; +wave_1_per_point4=a = max(0,1-pow((x-.5)*(x-.5)+(y-.5)*(y-.5),.5)*8); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=20 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=2.38775 +wavecode_2_smoothing=0.12040 +wavecode_2_r=1.000 +wavecode_2_g=0.265 +wavecode_2_b=0.192 +wavecode_2_a=0.839 +wave_2_per_frame1=t1 = q5; +wave_2_per_frame2=t2 = q4; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=t8 = -t8; +wave_2_per_point2=r = 0; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=sp = sample*.16 + .028; +wave_2_per_point5=y = .5 - q6*sp; +wave_2_per_point6=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point7=dd = dd*0.95 + (value1); +wave_2_per_point8=ddd = dd*sample*(1-sample)*d; +wave_2_per_point9=x = xx + (yy-yyy)*ddd; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=20 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=4.13607 +wavecode_3_smoothing=0.02450 +wavecode_3_r=0.970 +wavecode_3_g=0.982 +wavecode_3_b=0.612 +wavecode_3_a=0.998 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q5*0.75; +wave_3_per_frame3=t3 = q6*0.75; +wave_3_per_frame4=t4 = q4*0.75; +wave_3_per_frame5=t5 = q5*0.75; +wave_3_per_frame6=t6 = q6*0.75; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=sample = 1-sample; +wave_3_per_point2=pi = asin(1); +wave_3_per_point3=n = 80; +wave_3_per_point4=t8 = -t8; +wave_3_per_point5=rd = 0.075+0.02*(t8+1)/2; +wave_3_per_point6=xx = sin(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4)*d1; +wave_3_per_point7=yy = cos(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4)*d1; +wave_3_per_point8=zz = sin(sample*pi*n)*rd*d1; +wave_3_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_3_per_point10=w1 = d*t4; +wave_3_per_point11=w2 = d*t5; +wave_3_per_point12=w3 = d*t6; +wave_3_per_point13=s1 = sin(t1*1+w1); +wave_3_per_point14=s2 = sin(t2*1+w2); +wave_3_per_point15=s3 = sin(t3*1+w3); +wave_3_per_point16=c1 = cos(t1*1+w1); +wave_3_per_point17=c2 = cos(t2*1+w2); +wave_3_per_point18=c3 = cos(t3*1+w3); +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point21=na = 0.5; +wave_3_per_point22=zoom = 0.5*atan2(na,na+z); +wave_3_per_point23=y = 0.5 + zoom*y1; +wave_3_per_point24=a = sigmoid(-z,7)+0.; +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.08053 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.50479 +shapecode_0_r=0.532 +shapecode_0_g=0.992 +shapecode_0_b=0.655 +shapecode_0_a=0.942 +shapecode_0_r2=0.284 +shapecode_0_g2=0.951 +shapecode_0_b2=0.701 +shapecode_0_a2=0.820 +shapecode_0_border_r=0.888 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.350 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = .4996+sin(q8)*.2; +shape_0_per_frame2=y = .5003+sin(q7)*.2; +shape_0_per_frame3=ang = (int(rand(1001))*.001 - int(rand(1001))*.001)*q2*.5; +shape_0_per_frame4=rad = rad - (int(rand(1001))*.001 + int(rand(1001))*.001)*1.5*q1; +shape_0_per_frame5=a = above(treb_att,.8); +shape_0_per_frame6=a2 = above(bass_att,1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.700 +shapecode_1_y=0.470 +shapecode_1_rad=0.16095 +shapecode_1_ang=0.31145 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.80553 +shapecode_1_r=0.810 +shapecode_1_g=0.525 +shapecode_1_b=0.001 +shapecode_1_a=1.000 +shapecode_1_r2=0.117 +shapecode_1_g2=0.702 +shapecode_1_b2=0.003 +shapecode_1_a2=0.957 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.018 +shape_1_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_1_per_frame2=y = q2- 0.4; +shape_1_per_frame3=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_1_per_frame4=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_1_per_frame5=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_1_per_frame6=ang = aang*4*asin(1); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.889 +shapecode_2_y=0.545 +shapecode_2_rad=0.64685 +shapecode_2_ang=0.11699 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.63474 +shapecode_2_r=0.665 +shapecode_2_g=0.000 +shapecode_2_b=0.954 +shapecode_2_a=1.000 +shapecode_2_r2=0.120 +shapecode_2_g2=0.010 +shapecode_2_b2=0.890 +shapecode_2_a2=0.585 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.080 +shape_2_per_frame1=d = sqrt( sqr(xx-q4)+sqr(yy-q8)); +shape_2_per_frame2=xx = if(below(d,0.15),0.4+int(rand(200))/1000,xx); +shape_2_per_frame3=yy = if(below(d,0.15),0.3+int(rand(400))/1000,yy); +shape_2_per_frame4=aang = if(below(d,0.12),int(rand(1000))/1000,aang); +shape_2_per_frame5=ang = aang*4*asin(1); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.440 +shapecode_3_rad=0.54644 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.90525 +shapecode_3_r=0.990 +shapecode_3_g=0.101 +shapecode_3_b=0.347 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.825 +shapecode_3_b2=0.000 +shapecode_3_a2=0.419 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.070 +shape_3_per_frame1=x = q1; +per_frame_init_1=db = .001; +per_frame_init_2=tdy = 0; +per_frame_init_3=avgbbeatrate = .5; +per_frame_init_4=lbass = bass; +per_frame_init_5=rawbeatb = 0; +per_frame_init_6=lbbtime = time; +per_frame_init_7=avgdb = .01; +per_frame_init_8=ph = 0; +per_frame_init_9=phase = 0; +per_frame_init_10=bool = 0; +per_frame_init_11=const = .02; +per_frame_init_12=mtime = 100+bass_att*1000; +per_frame_init_13=mtime2 = 100+treb_att*1000; +per_frame_init_14=lbbtime2 = time; +per_frame_1=db = (bass-lbass)*fps; +per_frame_2=lbass = bass; +per_frame_3=avgdb = avgdb*.99+abs(db)*.01; +per_frame_4=wave_a = 0; +per_frame_5=rawbeatb = above(abs(db),avgdb); +per_frame_6=beatb = rawbeatb*above(time-lbbtime,avgbbeatrate*.5); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=beatbhard = beatb*(abs(db)-avgdb); +per_frame_9=avgbbeatrate = beatb*(avgbbeatrate*.9+(time-lbbtime)*.1)+(1-beatb)*(avgbbeatrate+(3-avgbbeatrate)*.00001); +per_frame_10=q3 = sin(an2); +per_frame_11=lbbtime = time*beatb+(1-beatb)*lbbtime; +per_frame_12=ph = (time-lbbtime2)*(60/avgbbeatrate)*const; +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_frame_14=zoom = 1.001; +per_frame_15=bool = below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_16=q5 = sin(an2); +per_frame_17=mtime2 = mtime2+(min(avgdb*.01,.25)+beatbhard*.01)*(1/fps); +per_frame_18=gamma = 1+abs(db*.01)+beatbhard; +per_frame_19=invert = above(db,avgdb*4)*beatb; +per_frame_20=q1 = rawbeatb; +per_frame_21=q2 = beatbhard; +per_frame_22=wrap = 1; +per_frame_23=decay = 1; +per_frame_24=q7 = mtime; +per_frame_25=q8 = mtime2; +per_frame_26=monitor = bool; +per_frame_27=dy = .00003*q3; +per_frame_28=tdy = if(1-q6,0,tdy+dy*(50/fps)); +per_frame_29=q6 = 1-above(tdy,.06); +per_frame_30=warp = above(db,avgdb*4)*beatb*bass_att; +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.15*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.006 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.85; +warp_32=` ret.z += 0.008; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.03; +warp_52=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 noise_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +comp_5=`float4 noiseVal = tex2D(sampler_noise_lq, noise_uv); +comp_6=` +comp_7=` +comp_8=`float2 uvm = uv; +comp_9=`ret = tex2D(sampler_main, uvm).x, +comp_10=` +comp_11=`ret = lerp ( +comp_12=`GetBlur1(uvm).x + GetBlur3(uvm).x, +comp_13=`ret, +comp_14=`pow(ret,.5)); +comp_15=` +comp_16=`ret *= 2.7; +comp_17=` +comp_18=`float2 uv3 = (.5-uv)*(1-GetBlur1(uvm).zz)+.5; +comp_19=`uv3 = (.5-uv)*(1-noiseVal.xy*.01)+.5; +comp_20=` +comp_21=`ret += saturate(pow(tex2D(sampler_main, uv3).zzz,.5)*(1-GetBlur1(uvm).x -ret.x)), +comp_22=`ret += saturate(pow(GetBlur1(uv3).zzz,.5)*(1-GetBlur1(uvm).x -ret.x)), +comp_23=`uv3 = 1-uv3; +comp_24=`ret += saturate(pow(tex2D(sampler_main, uv3).zzz,.5)*(1-GetBlur1(uvm).x -ret.x)), +comp_25=`ret += saturate(pow(GetBlur1(uv3).zzz,.5)*(1-GetBlur1(uvm).x -ret.x)), +comp_26=` +comp_27=`ret = pow(ret,float3(3,.95,.6))*1.25 -.25; +comp_28=`ret -= pow(tex2D(sampler_main, uvm).yyy,2)*3; +comp_29=`ret.xy += (ret.yy-ret.xy)*.5; +comp_30=`ret *= ret; +comp_31=` +comp_32=`ret-= .05; +comp_33=`ret += length(ret)*.08; +comp_34=`//ret = pow(ret,float3(.5,1,2)); +comp_35=`//ret *= ret; +comp_36=`//ret += tex2D(sampler_main, uvm).yyy*2, +comp_37=`ret-=roam_sin.wzy*roam_cos.zxy; +comp_38=` +comp_39=`} diff --git a/presets/presets_tryptonaut/Redi Jedi - acid in your brain.milk b/presets/presets_tryptonaut/Redi Jedi - acid in your brain.milk new file mode 100644 index 0000000000..a12b95bff2 --- /dev/null +++ b/presets/presets_tryptonaut/Redi Jedi - acid in your brain.milk @@ -0,0 +1,324 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=4.480000 +nMotionVectorsY=4.320000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=value1+.5; +wave_1_per_point3=r=sin(q2*.1+sample*3.14)*.5+.5; +wave_1_per_point4=g=cos(q3*.15-sample*3.14)*.5+.5; +wave_1_per_point5=b=sin(q4*.2+(sample-.5)*3.14)*.5+.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.99+vol*.01; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.999+(1-phase)*.001; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33=zoom=1; +per_frame_34= +per_frame_35=bpm=(60/avgbeatrate)*.005; +per_frame_36=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps)*bpm; +per_frame_37=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps)*bpm; +per_frame_38=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps)*bpm; +per_frame_39=monitor=avgvol; +per_frame_40=q1=mtime; +per_frame_41=q2=t1; +per_frame_42=q3=t2; +per_frame_43=q4=t3; +per_frame_44= +per_frame_45=cx=sin(q2*.01)*.5+.5; +per_frame_46=cy=cos(q3*.01)*.5+.5; +per_frame_47=rot=sin(q2*.01-(q3*.01))*15+35; +per_frame_48=mv_a=phase; +per_pixel_1= +per_pixel_2=c=sin(q2*.06); +per_pixel_3=cc=sin(q3*.074-q1*.005); +per_pixel_4=ccc=sin(q4*.0575); +per_pixel_5=cx1=.5+ccc*.3-c*.2; +per_pixel_6=cy1=.5+c*.4-cc*.2; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+c*.4-cc*.1; +per_pixel_24=cy1=.5+cc*.25-ccc*.15; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx - sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy - sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets/presets_tryptonaut/Redi Jedi - multiple points of origin, one destination.milk b/presets/presets_tryptonaut/Redi Jedi - multiple points of origin, one destination.milk new file mode 100644 index 0000000000..4c39786b5c --- /dev/null +++ b/presets/presets_tryptonaut/Redi Jedi - multiple points of origin, one destination.milk @@ -0,0 +1,329 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; +wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; +wave_0_per_point3= +wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; +wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; +wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.542791 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=db=.01; +per_frame_init_2=beatrate=1; +per_frame_init_3=avgbeatrate=2; +per_frame_init_4=lbbtime=time; +per_frame_init_5=avgdb=.01; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=phase=0; +per_frame_init_9=bool=0; +per_frame_init_10=const=.02; +per_frame_init_11= +per_frame_init_12=mtime=1000+bass_att*1000; +per_frame_init_13=t1=500+bass*500; +per_frame_init_14=t2=500+treb*500; +per_frame_init_15=t3=500+mid*500; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; +per_frame_5= +per_frame_6=//beatdection +per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); +per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); +per_frame_9=beathard=beatb*(abs(db)-avgdb*4); +per_frame_10=//beatrate calc +per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; +per_frame_16=phase=max(min( ph, 1 ),0); +per_frame_17= +per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; +per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); +per_frame_20= +per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); +per_frame_22= +per_frame_23=bc=bc+beatb; +per_frame_24= +per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); +per_frame_26=avgvol=avgvol*.999+vol*.001; +per_frame_27= +per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); +per_frame_29= +per_frame_30=decay=.9; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34= +per_frame_35=// This is the version you should use... +per_frame_36=// ----------- start copying ----------- +per_frame_37=hue=(mtime*.01+phase*.5); // change this +per_frame_38=h=6*(hue-int(hue)); +per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 +per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 +per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 +per_frame_44=// ----------- end ---------------- +per_frame_45= +per_frame_46= +per_frame_47=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps); +per_frame_48=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps); +per_frame_49=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps); +per_frame_50=monitor=avgvol; +per_frame_51=q1=mtime; +per_frame_52=q2=t1; +per_frame_53=q3=t2; +per_frame_54=q4=t3; +per_frame_55= +per_frame_56=cx=sin(q2*.1)*.5+.5; +per_frame_57=cy=cos(q3*.1)*.5+.5; +per_frame_58=rot=sin(q2*.01+sin(q3*.001))*10+10; +per_pixel_1= +per_pixel_2=c=sin(q2*.1); +per_pixel_3=cc=sin(q3*.1); +per_pixel_4=ccc=sin(q4*.1); +per_pixel_5=cx1=.5+ccc*.3; +per_pixel_6=cy1=.5+cc*.4; +per_pixel_7= +per_pixel_8=myx=(cx1-x); +per_pixel_9=myy=(cy1-(1-y)); +per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_11=mang=asin( abs(myy)/(mrad) ); +per_pixel_12= +per_pixel_13=ax=mang; +per_pixel_14=ay=mang; +per_pixel_15= +per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); +per_pixel_17= +per_pixel_18=dx= sign(myy)*sin(ax)*mrot; +per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); +per_pixel_20= +per_pixel_21= +per_pixel_22= +per_pixel_23=cx1=.5+cc*.3; +per_pixel_24=cy1=.5+c*.25+ccc*.25; +per_pixel_25= +per_pixel_26=myx=(cx1-x); +per_pixel_27=myy=(cy1-(1-y)); +per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); +per_pixel_29=mang=asin( abs(myy)/(mrad) ); +per_pixel_30= +per_pixel_31=ax=mang; +per_pixel_32=ay=mang; +per_pixel_33= +per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); +per_pixel_35= +per_pixel_36=dx= dx + sign(myy)*sin(ax)*mrot; +per_pixel_37=dy= dy + sign(myx)*(cos(ay)*mrot); +per_pixel_38= +per_pixel_39= +per_pixel_40= diff --git a/presets/presets_tryptonaut/Redi Jedi - off the fadar.milk b/presets/presets_tryptonaut/Redi Jedi - off the fadar.milk new file mode 100755 index 0000000000..57c619898d --- /dev/null +++ b/presets/presets_tryptonaut/Redi Jedi - off the fadar.milk @@ -0,0 +1,309 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=c1=abs(c1-q1); +wave_0_per_frame2=t1=c1; +wave_0_per_frame3=t2=sin(q2*.0001*q4); +wave_0_per_frame4=t3=(sin(q2*.001*treb_att+q4*10*bass)*.3+.4); +wave_0_per_point1=i=cos(q2*.1); +wave_0_per_point2=ii=sin(q2*.1); +wave_0_per_point3=y=sample*i+.5; +wave_0_per_point4=x=sample*(ii)+.5; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=c4=sin(q2*q4*.01)*.1+.11; +wave_0_per_point8=c2=.1+c4*1.5; +wave_0_per_point9=c3=.2+c4*1.5; +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=c1=1-above(sample,c2)*below(sample,c3); +wave_0_per_point13=r=t1*(1-c1); +wave_0_per_point14=g=t2*(1-c1); +wave_0_per_point15=b=t3*(1-c1); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.500000 +wave_1_per_point1=i=cos(q2*.1+.01); +wave_1_per_point2=ii=sin(q2*.1+.01); +wave_1_per_point3=y=sample*i*.7+.5; +wave_1_per_point4=x=sample*(ii)*.7+.5; +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=r=0; +wave_1_per_point8=g=0; +wave_1_per_point9=b=0; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=i=cos(q2*.01*q4); +wave_2_per_point2=ii=sin(q2*.01*q4); +wave_2_per_point3=y=sample*i+.5; +wave_2_per_point4=x=sample*(ii)+.5; +wave_2_per_point5= +wave_2_per_point6=ul=.003*bass_att*q4; +wave_2_per_point7=ll=.002*treb_att*q4; +wave_2_per_point8=r=(treb_att*.052+value1)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point9=g=(mid_att*.02+value2)*(above(sample,ll)*below(sample,ul)); +wave_2_per_point10=b=(bass_att*.057+value2)*(above(sample,ll)*below(sample,ul)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.500000 +wave_3_per_point1=i=cos(q2*.01*q4+.01); +wave_3_per_point2=ii=sin(q2*.01*q4+.01); +wave_3_per_point3=y=sample*i+.5; +wave_3_per_point4=x=sample*(ii)+.5; +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=r=0; +wave_3_per_point8=g=0; +wave_3_per_point9=b=0; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=rad=q1*.33; +shape_0_per_frame2=y=.5; +shape_0_per_frame3=x=.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=rad=q2*.3; +shape_1_per_frame2=x=.2; +shape_1_per_frame3=y=.2; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.436055 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=rad=q5*.33; +shape_2_per_frame2=y=.75; +shape_2_per_frame3=x=.2; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=beatrate=5; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=.5; +per_frame_init_5=avgdb=.5; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8= +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4= +per_frame_5=//beatdection +per_frame_6=rawbeatb=above(db,avgdb*2); +per_frame_7=beatb=rawbeatb*above(time-lbbtime,.75*avgbeatrate)*above(bass_att,.3); +per_frame_8= +per_frame_9=//beatrate calc +per_frame_10=bbtime=time*beatb; +per_frame_11=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=bc=bc+beatb; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=vol=(rawbeatb*(db-(avgdb))*.01); +per_frame_20=avgvol=avgvol*.99+vol*.05; +per_frame_21= +per_frame_22=mtime=mtime+min(avgvol*.5,.25); +per_frame_23=q2=mtime; +per_frame_24=q1=beatb; +per_frame_25=q3=db; +per_frame_26=q4=60/avgbeatrate; +per_frame_27=q5=equal(bc%4,0)*beatb; +per_frame_28= +per_frame_29=zoom=1; +per_frame_30=decay=.99; +per_frame_31=warp=0; +per_frame_32=wrap=1; +per_frame_33= +per_frame_34=ob_r=sin(q2*.01+bass*.01)*.5+.5; +per_frame_35=ob_g=cos(q2*.001*q4+treb*.01)*.5+.5; +per_frame_36=ob_b=sin(time*.001*q4)*.5+.5; +per_pixel_1=zoom=1+sin(q2+treb_att*6*rad)*.1; +per_pixel_2=rot=sin(q2*.05*q4+bass_att*3*rad)*.1; diff --git a/presets/presets_tryptonaut/Reenen & Telek - Slow Shift Matrix (bb4.5 (Dynamic Beat) Mix).milk b/presets/presets_tryptonaut/Reenen & Telek - Slow Shift Matrix (bb4.5 (Dynamic Beat) Mix).milk new file mode 100755 index 0000000000..285855d160 --- /dev/null +++ b/presets/presets_tryptonaut/Reenen & Telek - Slow Shift Matrix (bb4.5 (Dynamic Beat) Mix).milk @@ -0,0 +1,264 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.387300 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=43.865211 +fWarpScale=3.645675 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.662305 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=ox = 0.5; +shape_0_init2=oy = 0.5; +shape_0_per_frame1=btime = btime + min(bass*0.1,0.05); +shape_0_per_frame2=ang = btime*.1; +shape_0_per_frame3=r = abs(sin(time*1.4+5)); +shape_0_per_frame4=g = abs(sin(time*1.6+3)); +shape_0_per_frame5=b = abs(sin(time*1.8+1)); +shape_0_per_frame6=bt = btime*sign(sin(time/fps)); +shape_0_per_frame7=x = ox + 0.01*sin(bt) + 0.005*sin(bt+bass); +shape_0_per_frame8=x = if(above(x,1),1+(1-x),x); +shape_0_per_frame9=y = oy + 0.01*cos(bt) + 0.005*cos(bt+bass); +shape_0_per_frame10=y = if(above(y,1),1+(1-y),y); +shape_0_per_frame11=x = if(below(x,0),-x,x); +shape_0_per_frame12=y = if(below(y,0),-y,y); +shape_0_per_frame13=ox = x; +shape_0_per_frame14=oy = y; +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.542790 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.500000 +shapecode_1_g=0.500000 +shapecode_1_b=0.500000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.499900 +shapecode_1_g2=0.500000 +shapecode_1_b2=0.500000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=bv = treb*.1+.7*bv; +shape_1_per_frame2=tt=tt+bv*0.05; +shape_1_per_frame3=r = r+0.2*sin(tt*1.4+5); +shape_1_per_frame4=g = g+0.2*sin(tt*1.6+3); +shape_1_per_frame5=b = b+0.2*sin(tt*1.8+1); +shape_1_per_frame6=r2 = r; +shape_1_per_frame7=b2 = b; +shape_1_per_frame8=g2 = g; +shape_1_per_frame9=x = 0.5 + 0.3*sin(tt) + 0.1*sin(time); +shape_1_per_frame10=y = 0.5 + 0.3*cos(tt) + 0.1*cos(time); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=tt = rand(10000); +per_frame_init_2= +per_frame_1=warp = 0; +per_frame_2=rate = fps/(fps+2); +per_frame_3=bv = bass*.1+.7*bv; +per_frame_4=tt=tt+bv*0.05; +per_frame_5= +per_frame_6=beat = above(bass*bass_att,bthresh); +per_frame_7=bthresh = beat*15 + (1-beat)*((bthresh - 4.5)*rate + 4.5); +per_frame_8= +per_frame_9=beat2 = above(mid,bthresh2); +per_frame_10=bthresh2 = beat2*15 + (1-beat2)*((bthresh2 - 1.5)*rate + 1.5); +per_frame_11= +per_frame_12=warp = beat2*3 + (1-beat2)*ow; +per_frame_13=ow = warp*rate*rate; +per_frame_14= +per_frame_15=tt = if(beat,rand(32768),tt); +per_frame_16=wave_x =-1; +per_frame_17=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_18=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_19=rot = 1*sin(tt*.15); +per_frame_20=cx = sin(tt*.16)*.5+.5; +per_frame_21=cy = cos(tt*.46)*.5+.5; +per_frame_22=ib_r = sin(tt*.51)*.5+.5; +per_frame_23=ib_g = sin(tt*.71)*.5+.5; +per_frame_24=ib_b = sin(tt*.81)*.5+.5; +per_frame_25=ib_a = 1-pow(.5,(mid_att + bass_att + treb_att)/3); +per_frame_26=monitor = 1-pow(.5,mid_att + bass_att + treb_att); +per_pixel_1=zoom = .8-.2*pow(1-rad,1); +per_pixel_2=//cx = q8*(0&(x*10-0.5))*0.1+0.05; +per_pixel_3=//cy = q8*(0&(y*10-0.5))*0.1+0.05; diff --git a/presets/presets_tryptonaut/Reenen - phoenix.milk b/presets/presets_tryptonaut/Reenen - phoenix.milk new file mode 100755 index 0000000000..df28a56ed5 --- /dev/null +++ b/presets/presets_tryptonaut/Reenen - phoenix.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999607 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.053452 +fWaveScale=0.811409 +fWaveSmoothing=0.720000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.608037 +fWarpScale=1.220618 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009520 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.591235 +sx=0.970590 +sy=1.000000 +wave_r=0.700000 +wave_g=0.100000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.240000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=vol = (bass*5 + mid * 3 + treb*2)/20; +per_frame_2=wave_g = wave_g + vol/10 + 0.1*sin(3.21*time); +per_frame_3=wave_r = wave_r + vol/10; +per_frame_4=wave_b = vol/10; +per_frame_5=dy = dy - vol/30 + 0.0015*sin(0.56*time); +per_frame_6=sx = sx - vol/50; +per_frame_7=wave_x = wave_x + vol/50; +per_pixel_1=q1 = above(0.5,y); +per_pixel_2=q2 = bor(above(x,0.55),above(0.45,x)); +per_pixel_3=q3 = (pow(rad+0.95,4)-1)*0.1*(y+0.1); +per_pixel_4=rot = if(bor(q1,q2),q3,rot); diff --git a/presets/presets_tryptonaut/Rocke - Cold Love (Tei Zwaa).milk b/presets/presets_tryptonaut/Rocke - Cold Love (Tei Zwaa).milk new file mode 100755 index 0000000000..17a4654904 --- /dev/null +++ b/presets/presets_tryptonaut/Rocke - Cold Love (Tei Zwaa).milk @@ -0,0 +1,59 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.982000 +fVideoEchoZoom=1.000110 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=2 +nMotionVectorsY=2 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.220000 +fWaveScale=1.170400 +fWaveSmoothing=0.683900 +fWaveParam=-0.040000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.999900 +fWarpScale=3.137900 +fZoomExponent=1.609200 +fShader=0.200000 +zoom=0.907000 +rot=0.139900 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.238000 +sx=1.009900 +sy=1.257100 +wave_r=0.000000 +wave_g=0.100000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.370000 +ob_g=0.460000 +ob_b=0.350000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.100000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +per_frame_1=wave_r = wave_r + 0.4*sin(time*3.14) + (0.2*mid); +per_frame_2=wave_b = wave_b + 0.2*sin(time*1.5); +per_frame_3=wave_g = wave_g + 0.2*mid; diff --git a/presets/presets_tryptonaut/Rocke - LoZ Tribute.milk b/presets/presets_tryptonaut/Rocke - LoZ Tribute.milk new file mode 100755 index 0000000000..1d1e5c72df --- /dev/null +++ b/presets/presets_tryptonaut/Rocke - LoZ Tribute.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.200000 +fDecay=0.989000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.605000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.5*(0.6*sin(0.725*time) + 0.4*sin(0.825*time) ); +per_frame_2=wave_g = wave_g + 0.5*(0.6*sin(0.765*time) + 0.4*sin(0.765*time) ); +per_frame_3=wave_b = wave_b + 0.5*(0.6*sin(0.825*time) + 0.4*sin(0.725*time) ); +per_frame_4=zoom = zoom + 0.013*(0.6*sin(0.339*time) + 0.4*sin(0.276*time) ); +per_frame_5=rot = rot + 0.09*(0.6*sin(0.381*time) + 0.4*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*below(frame%5,1); +per_pixel_1=zoom = zoom + 0.3*sin(ang*20 + time*2.35); diff --git a/presets/presets_tryptonaut/Rovastar & Aderrasi - Airs Of Change.milk b/presets/presets_tryptonaut/Rovastar & Aderrasi - Airs Of Change.milk new file mode 100755 index 0000000000..03533ee823 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Aderrasi - Airs Of Change.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999994 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=10.444094 +fWaveScale=0.591233 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.100000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_2=oldq8 = q8; +per_frame_3=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_4=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_5=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_6=ib_r = wave_r; +per_frame_7=ib_g = wave_g; +per_frame_8=ib_b = wave_b; +per_pixel_1=dx = dx + 0.03975*pow(rad*rad,4/(x*2))*sin(q8); +per_pixel_2=dy = dy + 0.03975*pow(rad*rad,4/(x*2))*cos(q8); +per_pixel_3=zoom = zoom - 0.125*pow(rad,x*6)*cos(ang*6); +per_pixel_4=rot = rot - 0.25*(0.75*sin(1.25*q8)*pow(rad,1/x)*sin(1.45*q8))*sin(q8); diff --git a/presets/presets_tryptonaut/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk b/presets/presets_tryptonaut/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk new file mode 100755 index 0000000000..507057b81a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.504000 +fDecay=1.000000 +fVideoEchoZoom=2.987781 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.049629 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.000154 +fZoomExponent=1.028415 +fShader=0.800000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=1.000000 +wave_r=0.500000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.015000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=0.200000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.040000 +per_frame_1=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_2=oldq8 = q8; +per_frame_3=wave_x = wave_x +(0.48*sin(4*bass*treb*mid))*sin(q8/bass); +per_frame_4=wave_r = if(above((time*20)%2,0),0,wave_r + 0.5*sin(time)); +per_frame_5=wave_b=if(above((time*20)%2,0),1,0); +per_frame_6=rot = rot + 0.0*sin(time); +per_frame_7=dy = dy - 0.01- 0.01*sin(0.1*q8); +per_frame_8=ob_r = .1 + if(above(.2*sin(time*.444),0),.3*sin(time*.444),0); +per_frame_9=ob_g =.1 + if(above(.2*sin(time*.777),0),.3*sin(time*.777),0); +per_pixel_1=warp = warp + if (below(y, 0.5), if(below(rad,0.9), +0.5 + 0.5*sin(0.613*q8), 0), +0.1); diff --git a/presets/presets_tryptonaut/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk b/presets/presets_tryptonaut/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk new file mode 100755 index 0000000000..548f1fd1d2 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.671923 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.200000 +fModWaveAlphaEnd=0.600000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.999999 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.600000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=20.223999 +nMotionVectorsY=20.255999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.200000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=cc=cc+beat; +per_frame_26=q1=cc; +per_frame_27=ib_a=if(equal((3*sin(cc))%2,0),.3+.3*sin(.01*thccl),0); +per_frame_28=//zoom=.98+.02*sin(12*cc); +per_frame_29=//zoomexp=1+.3*sin(26*cc); +per_frame_30=//sx=1+.01*sin(11*cc); +per_frame_31=//sy=1+.01*sin(14*cc); +per_frame_32=wave_x=.5+.4*sin((.02+.005*sin(.003*time))*thccl)+.05*sin(8*time); +per_frame_33=wave_y=.5+.4*sin((.017+.005*sin(.0027*time))*thccl)+.05*sin(6.7*time); +per_frame_34= +per_frame_35=wave_r=sqr(sin(cc+.07*time)); +per_frame_36=wave_g=sqr(sin(cc+.06*time)); +per_frame_37=wave_b=sqr(sin(cc+.05*time)); +per_frame_38=ob_r=.5+.5*sin(1.23*time+4*cc+.011*thccl); +per_frame_39=ob_g=.5+.5*sin(1.32*time+7*cc+.012*thccl); +per_frame_40=ob_b=.5+.5*sin(1.17*time+9*cc+.013*thccl); +per_pixel_1=ak=-sin(6*rad+((q1%5)*3)%5*ang+q1)*(1-rad+.2*sin(.54*q1))*above(rad,0); +per_pixel_2=block=if(below(ak,-.15),ak,0); +per_pixel_3=dx=dx+0.005*sin((y*2-1)*48)+0.001*tan((y*2-1)*64)+0.000*tan((ang-3.1415)*8); +per_pixel_4=dy =dy+0.005*sin((x*2-1)*48)+0.001*tan((x*2-1)*64)+0.000*tan((ang-3.1415)*6); +per_pixel_5=//dx=dx+0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64); +per_pixel_6=//dy=dy+0.008*cos((y-0.5)*64); +per_pixel_7=dx=if(block,dx,0.008*sin((x-0.5)*48)+0.008*sin((x-0.5)*64)); +per_pixel_8=dy=if(block,dy,0.008*cos((y-0.5)*64)); +per_pixel_9= +per_pixel_10=zoom = if(block,1,0.97); diff --git a/presets/presets_tryptonaut/Rovastar & Che - Asylum Animations.milk b/presets/presets_tryptonaut/Rovastar & Che - Asylum Animations.milk new file mode 100755 index 0000000000..dd37041f2f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Che - Asylum Animations.milk @@ -0,0 +1,127 @@ +[preset00] +fRating=3.500000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.500000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.230000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.400000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.330000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.300000 +mv_b=0.100000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; +per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),6*dx,dx); +per_frame_13=// timed sidon sensor +per_frame_14=// le = signal level; desired average value = 2 +per_frame_15=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_16=pulse=above(le,th); +per_frame_17=// pulsefreq = running average of interval between last 5 pulses +per_frame_18=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_19=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_20=lastpulse=if(pulse,time,lastpulse); +per_frame_21=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_22=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_23=// hccp = handcicap for th driven by bt +per_frame_24=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_25=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_26=beat=band(above(le,th+hccp),btblock); +per_frame_27=btblock=1-above(le,th+hccp); +per_frame_28=lastbeat=if(beat,time,lastbeat); +per_frame_29=beatfreq=if(equal(beatfreq,0),2, +per_frame_30=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_31=// th = threshold +per_frame_32=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_33=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_34=th=if(above(th,6),6,th); +per_frame_35=q3=30/fps; +per_frame_36=ccl=ccl+beat; +per_frame_37=minorccl=minorccl+.01*le; +per_frame_38=q4=beat; +per_frame_39=wave_r=.5+.15*sin(12*ccl)+.35*sin(3.62*minorccl); +per_frame_40=wave_g=.5+.15*sin(14*ccl)+.35*sin(7.38*minorccl); +per_frame_41=wave_b=.5+.15*sin(16*ccl)+.35*sin(5.21*minorccl); +per_frame_42=q1=.5+.25*sin(17*ccl+minorccl); +per_frame_43=cx=if(beat,.5+.5*sin(38*ccl),q1); +per_frame_44=q2=.5+.25*sin(17*ccl+minorccl); +per_frame_45=cy=if(beat,.5+.5*sin(46*ccl),q2); +per_frame_46=mv_x = 1.25; +per_frame_47=mv_y = 1.25; +per_frame_48=mv_dx =q1-0.5; +per_frame_49=mv_dy = -1*(q2-0.5); +per_pixel_1=myrot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); +per_pixel_2=rot = myrot; +per_pixel_3=// coordinates transfomation +per_pixel_4=// q1,q2 = position; q3 = 1/zoom; q4 = rotation +per_pixel_5=aang=atan2(y-q2,x-q1)-1.57; +per_pixel_6=arad=sqrt(sqr(y-q2)+sqr(x-q1)); +per_pixel_7=atx=cos(aang)*arad; +per_pixel_8=aty=sin(aang)*arad; +per_pixel_9= +per_pixel_10=sound=if(below(x,.5),2*x*mid+(1-(2*x))*bass, +per_pixel_11=(x-.5)*2*treb+(1-(x-.5)*2)*mid); +per_pixel_12=sound=sound*q3; +per_pixel_13=zone=below(abs(x-q1),.15)*below(abs(y-q2),.15); +per_pixel_14=rot=if(zone,bass*bass_att*0.2*pow(arad,arad),myrot); +per_pixel_15=dx = if(zone,0,dx+0.01*rad*sound); diff --git a/presets/presets_tryptonaut/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk b/presets/presets_tryptonaut/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk new file mode 100755 index 0000000000..6949d3a8b6 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Che - Definitly Not For The Epileptic (Inner Perspective Of Life Mix).milk @@ -0,0 +1,89 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000400 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.282090 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.690737 +fShader=1.000000 +zoom=2.380962 +rot=0.000000 +cx=0.499900 +cy=0.499900 +dx=0.200000 +dy=0.200000 +warp=0.010000 +sx=0.463935 +sy=0.535239 +wave_r=0.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=// che's sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7= +per_frame_8=cycle=if(pulse,cycle+1,cycle); +per_frame_9=q1=cycle; +per_frame_10= +per_frame_11=wave_r = 0.5 + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_12=wave_g = 0.5+ 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_13=wave_b = 0.5 + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_14=mv_r= 0.5 + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_15=mv_g= 0.5+ 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_16=mv_b= 0.5 + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_17=ib_r=mv_b; +per_frame_18=ib_b=1-mv_g; +per_frame_19=ib_g=wave_r; +per_frame_20=ob_b=mv_r; +per_frame_21=ob_r=0.5*(wave_b + wave_g); +per_frame_22=ob_g=0.5*(wave_r+mv_b); +per_frame_23=zoom = zoom-(0.10-(.5*th+.2*le+pulse))*0.1; +per_frame_24=warp = 0; +per_pixel_1=rot = -ang+sin(q1); +per_pixel_2=zoom = zoom - rot*.08; diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Dark Subconscious.milk b/presets/presets_tryptonaut/Rovastar & Fvese - Dark Subconscious.milk new file mode 100755 index 0000000000..6e8402997d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Dark Subconscious.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=2.5 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.5 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=1.5 +fModWaveAlphaEnd=1 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.23 +wave_g=0.2 +wave_b=0.2 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0.3 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=5 +mv_r=1 +mv_g=0 +mv_b=0 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; +per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),0.25,dx); +per_pixel_1=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Deadly Flower.milk b/presets/presets_tryptonaut/Rovastar & Fvese - Deadly Flower.milk new file mode 100755 index 0000000000..95ba4ef7df --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Deadly Flower.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000158 +fWaveScale=0.669541 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.000000 +wave_y=0.000000 +ob_size=0.015000 +ob_r=0.230000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.650000 +ib_a=0.400000 +nMotionVectorsX=12.256001 +nMotionVectorsY=9.288002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp =0; +per_frame_2=wave_x=0.4+0.1*mid; +per_frame_3=wave_y=0.4+0.1*bass; +per_frame_4=wave_r=bass; +per_frame_5=wave_g=mid; +per_frame_6=wave_b=treb; +per_frame_7=madbass=max(max(bass,bass_att)-1.3,0); +per_frame_8=madtreb=max(max(treb,treb_att)-1.3,0); +per_frame_9=zoom = zoom -1.1* madbass+0.00; +per_frame_10=ib_a = if(above(bass,1.2),0.7,0); +per_frame_11=ob_r = if(above(treb,1.2),0.3,0.1); +per_frame_12=mv_x =48; +per_frame_13=mv_y= 3.25; +per_frame_14=mv_r = 1-bass_att; +per_frame_15=mv_b = 1-treb_att; +per_frame_16=mv_g = 1-mid_att; +per_frame_17=bass_effect=max(max(bass,bass_att)-0.8,0); +per_frame_18=q1 = if(above(bass_effect,0),0.45+bass_effect,0); +per_pixel_1=rot=if(below(rad,q1),0.05*bass_factor+sin(time*.3+ang*8+(sqrt(2)-rad*7.5))*.063,rot); +per_pixel_2=zoom=if(below(rad,q1),-0.05*bass_factor+1-.23*(1-rad)*sin(time*.3+ang*8+rad*7.5),zoom); diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Mosaic Waves.milk b/presets/presets_tryptonaut/Rovastar & Fvese - Mosaic Waves.milk new file mode 100755 index 0000000000..c8248a831e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Mosaic Waves.milk @@ -0,0 +1,76 @@ +[preset00] +fRating=2.500000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.500000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.230000 +wave_g=0.200000 +wave_b=0.200000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; +per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; +per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_10=dx_residual=max(bass, bass_att)-1; +per_frame_11=dy_residual=min(bass, bass_att)-1; +per_frame_12=dx = if(above(bass_att+bass,2.8),5*dx,dx); +per_pixel_1=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Paranormal Static.milk b/presets/presets_tryptonaut/Rovastar & Fvese - Paranormal Static.milk new file mode 100755 index 0000000000..8462e5b14a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Paranormal Static.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.490000 +fDecay=0.965000 +fVideoEchoZoom=0.996600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.002776 +fWaveScale=1.089980 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.997374 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.001829 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.400000 +ib_b=0.400000 +ib_a=1.000000 +nMotionVectorsX=9.599999 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_x = 0.5 + 0.2*(sin(time*0.678) + sin(time*0.987)); +per_frame_2=wave_y = 0.5 - 0.2*(sin(time*0.876) + sin(time*0.789)); +per_frame_3=decay = decay - 0.05*equal(frame%16,1); +per_frame_4=wave_r = 0.8+ 0.2*sin(time*1.24); +per_frame_5=wave_g = 0.3+0.1*sin(time*0.54); +per_frame_6=wave_b = 0.25+0.1*sin(time*0.677); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_8=cx = cx + bass_thresh; +per_frame_9=sx = sx - bass_thresh*0.2; +per_frame_10=cy = cy + wave_y; +per_frame_11=ib_r= wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_12=ib_g= wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_13=ib_b= wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_14=warp =0; +per_frame_15=dx = 0.02*bass; +per_pixel_1=zoom=zoom + 0.005*tan(ang-ang); +per_pixel_2=cx = (0&(x*20-0.5))*0.05+0.05; +per_pixel_3=cy = (0&(y*20-0.5))*0.05+0.05; diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds (Astral Mix).milk b/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds (Astral Mix).milk new file mode 100755 index 0000000000..c533b91dea --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds (Astral Mix).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.500000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.023445 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.510000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.500000 +ib_g=0.400000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_l=0.055000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=mv_r= wave_r + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_5=mv_g= wave_g + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_6=mv_b= wave_b + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_7=ib_r=1-min(bass*0.5,1); +per_frame_8=ib_b=1-min(treb*0.5,1); +per_frame_9=ib_g=1-min(mid*0.5,1); +per_frame_10=ob_r=1-min(mid_att*0.5,1); +per_frame_11=ob_b=1-min(bass_att*0.5,1); +per_frame_12=ob_g=1-min(treb_att*0.5,1); +per_frame_13=bass_effect = min(max(max(bass,bass_effect)-1.3,0),0.5); +per_frame_14=ib_size = ib_size+ bass_effect; +per_frame_15=wave_mystery = wave_mystery + 0.4*bass_effect; +per_frame_16=mv_l = mv_l + 0.5*bass_effect; +per_frame_17=q1 = bass_effect; +per_pixel_1=zoom =0.9- sin(time + ang*2)*0.02; +per_pixel_2=zoom=zoom+(q1)*0.1; +per_pixel_3=rot = rot + 0.1*q1*(3.14-ang); diff --git a/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds.milk b/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds.milk new file mode 100755 index 0000000000..3ec921504c --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Fvese - Stranger Minds.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.500000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005730 +fWaveScale=0.535239 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.489999 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=1.440000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=mv_r= wave_r + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); +per_frame_5=mv_g= wave_g + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); +per_frame_6=mv_b= wave_b + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); +per_frame_7=ib_r=min(bass*0.5,1); +per_frame_8=ib_b=min(treb*0.5,1); +per_frame_9=ib_g=min(mid*0.5,1); +per_frame_10=ob_r=1-min(mid_att*0.5,1); +per_frame_11=ob_b=1-min(bass_att*0.5,1); +per_frame_12=ob_g=1-min(treb_att*0.5,1); +per_pixel_1=zoom =0.9- sin(time + ang*2)*0.02; +per_pixel_2=zoom=zoom+(bass_att-1.0)*0.115; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Approach (Vectrip Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Approach (Vectrip Mix).milk new file mode 100755 index 0000000000..8f0206059a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Approach (Vectrip Mix).milk @@ -0,0 +1,95 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=1.372000 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.000000 +zoom=1.007000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.300000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=0.600000 +mv_g=0.500000 +mv_b=0.450000 +mv_a=1.000000 +per_frame_1=wave_x = wave_x + 0.150*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); +per_frame_2=wave_y = wave_y + 0.150*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); +per_frame_3=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_6=rot = rot + 0.002*sin(time+0.073); +per_frame_7=decay = decay - 0.03*equal(frame%30,0); +per_frame_8=vol = (bass+mid+att)/6; +per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_12=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_14=xpos = xpos + 0.001*xspeed; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=mv_x_speed = 16; +per_frame_22=mv_y_speed = 12; +per_frame_23=mv_x_range = 0.499; +per_frame_24=mv_y_range = 0.499; +per_frame_25=mv_x_amount = 2; +per_frame_26=mv_y_amount = 3+1.5*sin(sin(time*0.245)+cos(time*0.45)); +per_frame_27=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_28=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_29=mv_b = mv_b - 0.3*sin(time*5.211); +per_frame_30=mv_r = mv_r + 0.25*cos(time*1.91); +per_frame_31=mv_g = mv_g + 0.25*cos(time*1.861); +per_frame_32=mv_l = 30*sin(10*ypos)+ 40*cos(10*xpos); +per_frame_33=wave_r = wave_r + 0.5*sin(3.758); +per_frame_34=wave_b = wave_b + 0.4*cos(time*2.023); +per_frame_35=wave_g = wave_g + 0.4*sin(time*2.01); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk new file mode 100755 index 0000000000..a9496b49cd --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.900000 +fWaveScale=0.408000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=0.400000 +mv_g=0.700000 +mv_b=0.700000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%50,0); +per_frame_4=vol = (bass+mid+att)/6; +per_frame_5=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_6=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_7=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_8=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=mv_x_speed = 16; +per_frame_18=mv_y_speed = 12; +per_frame_19=mv_x_range = 0.01; +per_frame_20=mv_y_range = 0.01; +per_frame_21=mv_x_amount = 1.25; +per_frame_22=mv_y_amount = 1.25; +per_frame_23=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); +per_frame_24=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); +per_frame_25=mv_b = mv_b - 0.3*sin(time*5.211); +per_frame_26=mv_r = mv_r + 0.25*cos(time*1.91); +per_frame_27=mv_g = mv_g + 0.25*cos(time*1.861); +per_frame_28=mv_l = 100 + 100*min(bass*0.5 + bass_att*0.5,2); +per_pixel_1=zoom=0.9615+rad*0.1; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk new file mode 100755 index 0000000000..c2728b686f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk @@ -0,0 +1,90 @@ +[preset00] +fRating=2 +fGammaAdj=2.994 +fDecay=0.981 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=1 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.634243 +fWaveSmoothing=0.1 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.00496 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.000156 +sx=0.999666 +sy=0.9999 +wave_r=0.55 +wave_g=0.55 +wave_b=0.55 +wave_x=0.5 +wave_y=0.36 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0 +mv_g=0 +mv_b=0.7 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.40*( 0.60*sin(1.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.40*( 0.60*sin(1.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.40*( 0.60*sin(1.714*time) + 0.40*sin(1.011*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); +per_frame_5=oldq8 = q8; +per_frame_6=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=echo_zoom = 1+ q7; +per_frame_12=zoom = 1+q7; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk new file mode 100755 index 0000000000..76464fe3ac --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.000154 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.100000 +fWaveParam=-0.472000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.972366 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.510000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q8 = oldq8+min(if(above(bass+bass_att,2.8),q8+0.025*pow((bass+bass_att-1.5),5),0),1); +per_frame_5=oldq8 = q8; +per_frame_6=q8 = q8 + 0.1*time; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=mv_x = 1.25; +per_frame_12=mv_y = 1.25; +per_frame_13=mv_a =1; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk new file mode 100755 index 0000000000..096b432a99 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk @@ -0,0 +1,107 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.994000 +fDecay=0.900000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.000000 +fWaveScale=1.553027 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.150000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); +per_frame_5=oldq8 = q8; +per_frame_6=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_7=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_8=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_9=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_10=zoom = 1+ 0.06*abs(sin(q8*1.123)); +per_frame_11=decay = 0.8+0.2*sin(q8*0.334); +per_frame_12= +per_frame_13=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_14=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_15=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_16=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_17=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_18=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_19=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_20=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_21=lastbeat = if(beat,time,lastbeat); +per_frame_22=countertime = if(beat,time,countertime); +per_frame_23=counter =-pow(min((time-countertime-1.5),0),9); +per_frame_24=q7 = min(time-countertime,1); +per_frame_25=q5=oldq5+0.04*counter; +per_frame_26=oldq5=q5; +per_frame_27=q6 = beat; +per_frame_28=echo_zoom = beat*abs(100*sin(3.13*q8)); +per_frame_29=echo_alpha = beat*0.5; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot =0.01*rad*sin(q8*0.781); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk new file mode 100755 index 0000000000..d9d0e6a7be --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk @@ -0,0 +1,107 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.980000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=1.169958 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999972 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.350000 +wave_g=0.350000 +wave_b=0.350000 +wave_x=0.500000 +wave_y=0.380000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.100000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_5=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_6=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_7=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_8=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_9=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_10=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_11=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_12=lastbeat = if(beat,time,lastbeat); +per_frame_13=countertime = if(beat,time,countertime); +per_frame_14=counter =-pow(min((time-countertime-1.5),0),9); +per_frame_15=q7 = min(time-countertime,1); +per_frame_16=q5=oldq5+0.04*counter; +per_frame_17=oldq5=q5; +per_frame_18=q6 = beat; +per_frame_19=//mv_a = q6; +per_frame_20=q1 = 0.62*( 0.60*sin(0.374*q5) + 0.40*sin(0.294*q5) ); +per_frame_21=q2 = 0.62*( 0.60*sin(0.393*q5) + 0.40*sin(0.223*q5) ); +per_frame_22=q3 = 0.62*( 0.60*sin(0.174*-q5) + 0.40*sin(0.364*q5) ); +per_frame_23=q4 = 0.62*( 0.60*sin(0.234*q5) + 0.40*sin(0.271*-q5) ); +per_frame_24=ob_r = 0.4 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_25=ob_g = 0.5- 0.48*sin(time*3.324); +per_frame_26=ob_b = 0.5 - 0.48*cos(time*2.316); +per_frame_27=ib_r = 0.4 - 0.3*(0.5*sin(time*0.801)+ 0.3*cos(time*0.338)); +per_frame_28=ib_g = 0.5- 0.48*sin(time*4.8124); +per_frame_29=ib_b = 0.5 - 0.48*cos(time*3.316); +per_frame_30=wave_a = 0; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.015/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk new file mode 100755 index 0000000000..42e94aa729 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.700000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.380000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.016000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.700000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=tq8 = oldtq8+min(if(above(bass+bass_att,2.5),tq8+0.025*pow((bass+bass_att-2),5),0),1); +per_frame_5=oldtq8 = tq8; +per_frame_6=tq8 = tq8 + time*0.1; +per_frame_7=monitor = tq8; +per_frame_8=q1 = 0.62*( 0.60*sin(0.374*tq8) + 0.40*sin(0.294*tq8) ); +per_frame_9=q2 = 0.62*( 0.60*sin(0.393*tq8) + 0.40*sin(0.223*tq8) ); +per_frame_10=q3 = 0.62*( 0.60*sin(0.174*-tq8) + 0.40*sin(0.364*tq8) ); +per_frame_11=q4 = 0.62*( 0.60*sin(0.234*tq8) + 0.40*sin(0.271*-tq8) ); +per_frame_12=q5 = 0.62*( 0.60*sin(0.414*tq8) + 0.40*sin(0.264*tq8) ); +per_frame_13=q6 = 0.62*( 0.60*sin(0.234*tq8) + 0.40*sin(0.191*tq8) ); +per_frame_14=q7 = 0.62*( 0.60*sin(0.401*tq8) + 0.40*sin(0.307*tq8) ); +per_frame_15=q8 = 0.62*( 0.60*sin(0.162*tq8) + 0.40*sin(0.167*-tq8) ); +per_frame_16=decay = decay - 0.01*equal(q8%5,0); +per_frame_17=wave_a =0; +per_frame_18=ob_r = wave_r-.2; +per_frame_19=ob_b = wave_b-.2; +per_frame_20=ob_g = wave_g-2; +per_frame_21=ob_r = 0.4 - 0.49*(0.5*sin(time*2.701)+ 0.3*cos(time*0.438)); +per_frame_22=ob_g = 0.5- 0.48*sin(time*3.324); +per_frame_23=ob_b = 0.5 - 0.48*cos(time*2.316); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1); +per_pixel_7=dy = mult*cos(ang2-1); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1); +per_pixel_14=dy = dy + mult*cos(ang2+1); +per_pixel_15=du = x*2-1 - q5; +per_pixel_16=dv = y*2-1 - q6; +per_pixel_17=dist = sqrt(du*du+dv*dv); +per_pixel_18=ang2 = atan2(du,dv); +per_pixel_19=mult = 0.008/(dist+0.2); +per_pixel_20=dx = dx + mult*sin(ang2+2); +per_pixel_21=dy = dy + mult*cos(ang2+2); +per_pixel_22=du = x*2-1 - q7; +per_pixel_23=dv = y*2-1 - q8; +per_pixel_24=dist = sqrt(du*du+dv*dv); +per_pixel_25=ang2 = atan2(du,dv); +per_pixel_26=mult = 0.008/(dist+0.2); +per_pixel_27=dx = dx + mult*sin(ang2-2); +per_pixel_28=dy = dy + mult*cos(ang2-2); +per_pixel_29=zoom = 3*dx - 3*dy+1; +per_pixel_30=//rot = 3*dx - 3*dy; +per_pixel_31=//dx = 0; +per_pixel_32=//dy =0; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk new file mode 100755 index 0000000000..fa1f85f9bd --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk @@ -0,0 +1,98 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.993000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.608039 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004960 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.360000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.150000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.48*sin(time*1.324); +per_frame_3=ob_b = 0.5 - 0.48*cos(time*1.316); +per_frame_4=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_5=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_6=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_7=mv_r = wave_r; +per_frame_8=mv_b = wave_b; +per_frame_9=mv_g = wave_g; +per_frame_10=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); +per_frame_11=oldq8 = q8; +per_frame_12=monitor = sin(q8); +per_frame_13=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_14=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_15=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_16=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_17=//zoom = zoom+ 0.06*abs(sin(q8)); +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=//rot = -0.01*rad*sin(q8); +per_pixel_16=rot =0+abs(3* dx) - abs(3*dy); +per_pixel_17=zoom =1+abs(3* dx) - abs(3*dy); +per_pixel_18=zoomexp = 1 + abs((300* dx) - (300*dy)); diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Ice Planet.milk b/presets/presets_tryptonaut/Rovastar & Geiss - Ice Planet.milk new file mode 100755 index 0000000000..2bea90559b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Ice Planet.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=2 +fGammaAdj=1.998 +fDecay=0.96 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.334524 +fWaveScale=1.981 +fWaveSmoothing=0.6 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=2.853 +fZoomExponent=1 +fShader=0 +zoom=1.064 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.001*pow((bass+bass_att-2),8),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.013*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(q8*0.321)) + (y*2-1)*(0.08+0.15*cos(q8*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Octoplasm.milk b/presets/presets_tryptonaut/Rovastar & Geiss - Octoplasm.milk new file mode 100755 index 0000000000..cbcfc49750 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Octoplasm.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.964000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.695686 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.020000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.100000 +ob_g=0.200000 +ob_b=0.400000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=3.008000 +nMotionVectorsY=48.000000 +mv_l=2.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=bass_effect = min(max(max(bass,bass_att)-1.3,0),1); +per_frame_3=treb_effect = min(max(max(treb,treb_att)-1.3,0),1); +per_frame_4=mid_effect = min(max(max(mid,mid_att)-1.3,0),1); +per_frame_5=wave_r = wave_r + 0.4*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_6=wave_b = wave_b + 0.4*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_7=wave_g = wave_g + 0.4*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=ob_r = 1-wave_b; +per_frame_12=ob_g = wave_r; +per_frame_13=ob_b = 1-wave_g; +per_frame_14=q1=cos((0.91*time) + sin(time*0.324)); +per_frame_15=q2=time + 0.3*sin((time*0.47) - cos(time*0.216)); +per_pixel_1=rot=rot+0.08*sin(rad*23.5 + q2*1.3 + q1*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*4 + pow((sqrt(2)-rad),13*rad) + q2*1.63 + q1) - 0.05; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk b/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk new file mode 100755 index 0000000000..392f82ff1f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk @@ -0,0 +1,240 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.695686 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.020000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.100000 +ob_g=0.200000 +ob_b=0.400000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=3.008000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp =0; +per_frame_2=bass_effect = min(max(max(bass,bass_att)-1.3,0),1); +per_frame_3=treb_effect = min(max(max(treb,treb_att)-1.3,0),1); +per_frame_4=mid_effect = min(max(max(mid,mid_att)-1.3,0),1); +per_frame_5=wave_r = wave_r + 0.4*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_6=wave_b = wave_b + 0.4*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_7=wave_g = wave_g + 0.4*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=ib_r = wave_g; +per_frame_12=ib_g = 1-wave_r; +per_frame_13=ib_b = wave_b; +per_frame_14=ob_r = 1-wave_b; +per_frame_15=ob_g = wave_r; +per_frame_16=ob_b = 1-wave_g; +per_frame_17=ib_size = 0.02*bass_effect; +per_frame_18=q1=cos((0.91*time) + sin(time*0.324)); +per_frame_19=q2=time + 0.3*sin((time*0.47) - cos(time*0.216)); +per_frame_20=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_21=movement = if(above(movement,10000), 0, movement); +per_frame_22= +per_frame_23=q3 = 0.5+0.15*sin(movement); +per_frame_24=q4 = 0.5-0.15*cos(0.781*movement); +per_frame_25= +per_frame_26=wave_x = q3; +per_frame_27=wave_y = 1-q4; +per_pixel_1=newx =x- q3; +per_pixel_2=newy =y- q4; +per_pixel_3=newang = atan2(newx,newy); +per_pixel_4=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_5=rot=0+0.05*sin(newrad*13.5 + q2*1.3 + q1*1.31); +per_pixel_6=zoom=zoom+0.05*sin(newang*10.0 + newrad*7.5 + q2*1.63 + q1)-0.05; diff --git a/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip.milk b/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip.milk new file mode 100755 index 0000000000..fe2debe0e4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Geiss - Octotrip.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.695686 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.020000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.076000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.100000 +ob_g=0.200000 +ob_b=0.400000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=3.008000 +nMotionVectorsY=48.000000 +mv_l=2.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp =0; +per_frame_2=bass_effect = min(max(max(bass,bass_att)-1.3,0),1); +per_frame_3=treb_effect = min(max(max(treb,treb_att)-1.3,0),1); +per_frame_4=mid_effect = min(max(max(mid,mid_att)-1.3,0),1); +per_frame_5=wave_r = wave_r + 0.4*( 0.6*sin(1.517*time) + 0.4*mid_effect ); +per_frame_6=wave_b = wave_b + 0.4*( 0.6*sin(1.088*time) + 0.4*bass_effect ); +per_frame_7=wave_g = wave_g + 0.4*( 0.6*sin(1.037*time) + 0.4*treb_effect ); +per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_9=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_10=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_11=ib_r = wave_g; +per_frame_12=ib_g = 1-wave_r; +per_frame_13=ib_b = wave_b; +per_frame_14=ob_r = 1-wave_b; +per_frame_15=ob_g = wave_r; +per_frame_16=ob_b = 1-wave_g; +per_frame_17=ib_size = 0.02*bass_effect; +per_frame_18=q1=cos((0.91*time) + sin(time*0.324)); +per_frame_19=q2=time + 0.3*sin((time*0.47) - cos(time*0.216)); +per_pixel_1=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q1*1.31); +per_pixel_2=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q1) - 0.05; diff --git a/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Balk Acid.milk b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Balk Acid.milk new file mode 100755 index 0000000000..5637231c6f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Balk Acid.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.010000 +fShader=0.000000 +zoom=1.000300 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=1.000000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.410000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.879900 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=zoom=zoom+0.028*(bass+bass_att) -0.05; +per_frame_2=rot=rot+0.10*sin(time); +per_frame_3=mv_r=0.5 +0.5*sin(time*1.23); +per_frame_4=mv_b=0.5 + 0.5*sin(time*1.26); +per_frame_5=mv_g=0.5+ 0.5*sin(time*1.19); +per_frame_6=wave_g=wave_g*+.20*sin(time*.13); +per_frame_7=wave_r=wave_r+.13*sin(time); +per_frame_8=wave_b=wave_b*sin(time); +per_frame_9=wave_x=wave_x-.5*sin(time*.13); +per_frame_10=ob_a = if(above(mid+treb,2.6),1,0); +per_frame_11=ob_r = 0.5 + 0.4*sin(time*2.87); +per_frame_12=ob_b = 0.5 + 0.4*sin(time*2.914); +per_frame_13=ob_g = 0.5 + 0.4*sin(time*2.768); +per_frame_14=mv_y = 3.25; diff --git a/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Marphet's Shrine.milk b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Marphet's Shrine.milk new file mode 100755 index 0000000000..6bf11f0628 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Marphet's Shrine.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.998000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.054200 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.965683 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.220100 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r=wave_r*sin(Time*0.961); +per_frame_2=wave_B=wave_b*sin(Time*.131); +per_frame_3=wave_g=wave_G*sin(time*.312); +per_frame_4=ib_r = wave_r; +per_frame_5=ib_b = wave_b; +per_frame_6=ib_g = wave_g; +per_frame_7=mv_r = 1-ib_r; +per_frame_8=mv_g = 1-ib_g; +per_frame_9=mv_b = 1-ib_b; +per_frame_10=mv_x = 1.25; +per_frame_11=mv_y = 48; +per_frame_12=warp = 0; +per_frame_13=q1 = if(above(bass_att+bass,2.8),(bass_att+bass)*0.5,0.1); +per_pixel_1=rot = rot + if(equal(tan(ang*2),0),-rot,rad)*q1; +per_pixel_2=zoom=zoom+.10*sin(rad+.4*time+5); diff --git a/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk new file mode 100755 index 0000000000..ac57ffc211 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.994000 +fVideoEchoZoom=1.644630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.475355 +fWaveSmoothing=0.630000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=63.504501 +fShader=0.000000 +zoom=0.544958 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.499900 +wave_b=0.560000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.400000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.600000 +ib_size=0.020000 +ib_r=0.510000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r=.5-.3*sin(Time*.33); +per_frame_2=wave_b=.5+.3*sin(time*13); +per_frame_3=wave_g=wave_g+.5*Sin(time*1.14); +per_frame_4=bass_max=max(Bass,bass_att); +per_frame_5=wave_mystery=wave_mystery-.2*(1-bass_max); +per_frame_6=echo_Zoom=echo_zoom-0.1+.20*Sin(time*0.95); +per_frame_7=echo_alpha = if(above(bass,1), if(below(sin(time*0.95),0),echo_alpha-0.2,echo_alpha),echo_alpha); +per_frame_8=ob_a = if(above(bass,1), if(below(sin(time*0.95),0),ob_a-0.3,ob_a),ob_a); +per_frame_9=ib_g = ib_g + 0.49*sin(time*4.16); +per_frame_10=ib_r = ib_r + 0.49*sin(time*5.876); +per_frame_11=ib_b = ib_b + 0.49*sin(time*0.846); +per_frame_12=decay = 1.005 + 0.01*sin(0.953*time); +per_frame_13=decay = if(above(decay,1),1,decay); +per_frame_14=zoomexp=zoomexp+zoomexp*sin(treb); +per_pixel_1=zoom=zoom+0.96*sin(rad) ; +per_pixel_2=rot = rot + (rad-1.4)*1.7*max(0.1*log(sqrt(2)-rad),0.1*rad+min((bass_att-1)/1.5,2)); diff --git a/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk new file mode 100644 index 0000000000..6d72c4149b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mix).milk @@ -0,0 +1,79 @@ +[preset00] +fRating=2 +fGammaAdj=1.28 +fDecay=0.994 +fVideoEchoZoom=1.64463 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.475355 +fWaveSmoothing=0.63 +fWaveParam=-0.14 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=63.504501 +fShader=0 +zoom=0.544958 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.6 +wave_g=0.4999 +wave_b=0.56 +wave_x=0.5 +wave_y=0.5 +ob_size=0.4 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.6 +ib_size=0.02 +ib_r=0.51 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=wave_r=.5-.3*sin(Time*.33); +per_frame_2=wave_b=.5+.3*sin(time*13); +per_frame_3=wave_g=wave_g+.5*Sin(time*1.14); +per_frame_4=bass_max=max(Bass,bass_att); +per_frame_5=wave_mystery=wave_mystery-.2*(1-bass_max); +per_frame_6=echo_Zoom=echo_zoom-0.1+.20*Sin(time*0.95); +per_frame_7=echo_alpha = if(above(bass,1), if(below(sin(time*0.95),0),echo_alpha-0.2,echo_alpha),echo_alpha); +per_frame_8=ob_a = if(above(bass,1), if(below(sin(time*0.95),0),ob_a-0.3,ob_a),ob_a); +per_frame_9=ib_g = ib_g + 0.49*sin(time*4.16); +per_frame_10=ib_r = ib_r + 0.49*sin(time*5.876); +per_frame_11=ib_b = ib_b + 0.49*sin(time*0.846); +per_frame_12=decay = 1.005 + 0.01*sin(0.953*time); +per_frame_13=decay = if(above(decay,1),1,decay); +per_frame_14=zoomexp=zoomexp+zoomexp*sin(treb); +per_pixel_1=zoom=zoom+0.96*sin(rad) ; +per_pixel_2=rot = rot + (rad-1.4)*1.7*max(0.1*log(sqrt(2)-rad),0.1*rad+min((bass_att-1)/1.5,2)); diff --git a/presets/presets_tryptonaut/Rovastar & Illusion - Shifting Sphere.milk b/presets/presets_tryptonaut/Rovastar & Illusion - Shifting Sphere.milk new file mode 100755 index 0000000000..239d67e0f3 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Illusion - Shifting Sphere.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.998000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.875688 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.009091 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=dx = dx + dx_residual; +per_frame_5=dy = dy + dy_residual; +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_7=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_8=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom = if(above(rad,0.4),1.01+0.1*sin(rad), 0.95+0.1*sin(rad)-0.1*sin(1-rad)); +per_pixel_2=rot = 0.4 * (if(above(rad,0.4),cos(rad*2*rad)/25+sin(pow(rad,5))/25,cos(1-rad)/25+sin(rad)/25)); diff --git a/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk b/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk new file mode 100755 index 0000000000..378d030c77 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons (Beat Pulse Mix).milk @@ -0,0 +1,119 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.993998 +fDecay=0.998000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=vol = 0.167*(bass+mid+att); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=rot = 0.1; +per_frame_19=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_20=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_21=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_22=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_23=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_24=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_25=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_26=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_27=lastbeat = if(beat,time,lastbeat); +per_frame_28=countertime = if(beat,time,countertime); +per_frame_29=counter =-1*pow(min((time-countertime-2.3),0),5); +per_frame_30=q3=oldq3+0.002*counter; +per_frame_31=oldq3 =q3; +per_frame_32=monitor=q3; +per_frame_33=wave_x = wave_x + 0.25*cos(q3); +per_frame_34=wave_y = wave_y + 0.25*cos(q3); +per_frame_35=q2=1.1*xpos +0.25*sin(q3) +0.5; +per_frame_36=q1=1.1*ypos +0.25*sin(q3)+ 0.5; +per_frame_37=wave_x = 0.5+ 0.3*cos(1.763*q3) + 0.1*xpos; +per_frame_38=wave_y = 0.5+0.3*cos(1.132*q3) +0.1*ypos; +per_frame_39=q2 = 0.5+0.3*sin(1.763*q3) + 0.1*xpos; +per_frame_40=q1=0.5+0.3*sin(1.132*q3) + 0.1*ypos; +per_frame_41=ib_r = 0.5+0.5*sin(q3*2.87); +per_frame_42=ib_b = 0.5+30*pow(xpos,3); +per_frame_43=ib_g = 0.5+30*pow(ypos,3); +per_frame_44=monitor =ib_b; +per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_frame_init_1=decay = 10000001; diff --git a/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons.milk b/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons.milk new file mode 100755 index 0000000000..45a9e3f5bd --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Krash - Cerebral Demons.milk @@ -0,0 +1,104 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.993998 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.219900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); +per_frame_5=vol = 0.167*(bass+mid+att); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=dx = dx + dx_residual; +per_frame_19=dy = dy + dy_residual; +per_frame_20=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_21=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_22=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_23=rot = 0.1; +per_frame_24=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_25=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_26=ib_r = 0.3+xpos; +per_frame_27=ib_b = 0.06*bass; +per_frame_28=ib_g = 0.25+ypos; +per_frame_29=monitor =ib_g; +per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.1; +per_pixel_10=dy=dy*0.1; +per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_frame_init_1=decay = 10000001; diff --git a/presets/presets_tryptonaut/Rovastar & Krash - Flowing Synergy.milk b/presets/presets_tryptonaut/Rovastar & Krash - Flowing Synergy.milk new file mode 100755 index 0000000000..a162c85158 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Krash - Flowing Synergy.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=0.455629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.993020 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=53.523743 +fWarpScale=0.274296 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999900 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.450000 +ob_r=1.000000 +ob_g=0.900000 +ob_b=0.000000 +ob_a=0.014000 +ib_size=0.250000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.940000 +ib_a=0.050000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.200000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.120000 +per_frame_1=q1 = min((2*bass_att + mid_att + treb_att) *0.33,2); +per_frame_2=q2 = time*10 + 5*(bass + mid + treb); +per_frame_3=wave_g = 0.2 + 0.2*sin(time*1.672); +per_frame_4=wave_r = 0.5 + 0.2*cos((time+frame)*1.34); +per_frame_5=wave_b = 0.6 + 0.2*sin(time*0.934); +per_pixel_1=inside = if (below(abs(x-0.5),0.5),if (below(abs(y-0.5),0.25),1,0),0); +per_pixel_2=outsidex = if(below(abs(16*x%2),0.25),0,1); +per_pixel_3=outsidey = if(below(abs(12*y%2),0.25),0,1); +per_pixel_4=warp = 0.6*warp*abs(1-inside); +per_pixel_5=dy = if(outsidex,0,0.03*(q1-1)*log(2-(abs(y*2 - 1.8))) + 0.01*(sin((x*q2*0.483) + (y*q2*1.238)) + sin((x*q2*1.612) + (y*q2*0.648)))); +per_pixel_6=dx = if(outsidey,0,0.04*(q1-1)*log(2-(abs(x*2 - 1.8))) + 0.01*(cos((y*q2*0.483) + (x*q2*1.238)) + cos((y*q2*1.612) + (x*q2*0.648)))); diff --git a/presets/presets_tryptonaut/Rovastar & Krash - Interwoven (Contra Mix).milk b/presets/presets_tryptonaut/Rovastar & Krash - Interwoven (Contra Mix).milk new file mode 100755 index 0000000000..0e7cce252d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Krash - Interwoven (Contra Mix).milk @@ -0,0 +1,109 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.816695 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.091806 +fWaveSmoothing=0.750000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.950000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.800000 +mv_a=0.100000 +per_frame_1=warp=0; +per_frame_2= +per_frame_3=framethird = frame%3; +per_frame_4= +per_frame_5=q8 =oldq8+ min(0.007*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps),0.1); +per_frame_6=oldq8 = q8; +per_frame_7=q7= 0.007*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps); +per_frame_8=q6 =oldq6+ 0.0001*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=oldq6 = q6; +per_frame_10= +per_frame_11=x1 = 0.5 + 0.15*sin(0.416*q8) + 0.15*sin(0.832*q8) + 0.1*sin(1.324*q8); +per_frame_12=x2 = 0.5 + 0.15*sin(0.341*q8) + 0.15*sin(0.768*q8) + 0.1*sin(1.523*q8); +per_frame_13=x3 = 0.5 + 0.15*sin(0.287*q8) + 0.15*sin(0.913*q8) + 0.1*sin(1.142*q8); +per_frame_14=y1 = 0.8 + 0.05*sin(0.516*q8) + 0.05*sin(0.232*q8) + 0.05*sin(1.024*q8); +per_frame_15=y2 = 0.8 + 0.05*sin(0.341*q8) + 0.05*sin(0.768*q8) + 0.05*sin(1.093*q8); +per_frame_16=y3 = 0.8 + 0.05*sin(0.301*q8) + 0.05*sin(0.873*q8) + 0.05*sin(1.251*q8); +per_frame_17=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); +per_frame_18=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); +per_frame_19=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); +per_frame_20=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); +per_frame_21=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); +per_frame_22=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); +per_frame_23=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); +per_frame_24=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); +per_frame_25=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); +per_frame_26=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); +per_frame_27=wave_y = if(equal(framethird,0),y1,if(equal(framethird,1),y2,y3)); +per_frame_28=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); +per_frame_29=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); +per_frame_30=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); +per_frame_31= +per_frame_32=volume = 0.3*(bass+mid); +per_frame_33=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_34=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_35=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_36=peakbass_att = max(bass_att,peakbass_att); +per_frame_37=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_38=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_39=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_40=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_41=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_42=dx = beat; +per_frame_43=mv_a = beat; +per_pixel_1=dy = 0.001+0.008*q7 + 0.001*sin(12*x+3.059*q6) + 0.001*sin(24*x+2.025*q6) + 0.001*sin(1.231*q8); +per_pixel_2=dx = dx + 0.0001*sin(9*y+0.612*q6) + 0.0001*sin(13*y+0.429*q6) + 0.0001*sin(1.027*q8); +per_frame_init_1=oldq8 = time*0.1; diff --git a/presets/presets_tryptonaut/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2.0).milk b/presets/presets_tryptonaut/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2.0).milk new file mode 100755 index 0000000000..30d5bb5247 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Loadus + Zylot - FractalDrop (Spark Machine v2.0).milk @@ -0,0 +1,247 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080487 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=57.599998 +nMotionVectorsY=44.160000 +mv_dx=0.002000 +mv_dy=0.002000 +mv_l=5.000000 +mv_r=0.700000 +mv_g=0.400000 +mv_b=0.500000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =.65+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.03*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.600000 +shapecode_3_g=0.800000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.2*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +per_pixel_1=zoom = 1; +per_pixel_2=zoom = zoom + 0&pow(rad*6+(bass)*sin(ang*4+time*10),x*y); diff --git a/presets/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk b/presets/presets_tryptonaut/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk similarity index 100% rename from presets/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk rename to presets/presets_tryptonaut/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk diff --git a/presets/presets_tryptonaut/Rovastar & Rocke - Headspin.milk b/presets/presets_tryptonaut/Rovastar & Rocke - Headspin.milk new file mode 100755 index 0000000000..b3dc98319f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Rocke - Headspin.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.060957 +fWaveSmoothing=0.900000 +fWaveParam=-0.280000 +fModWaveAlphaStart=0.030000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.396381 +fWarpScale=0.720100 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.959069 +rot=0.500000 +cx=0.500000 +cy=0.500000 +dx=-0.002000 +dy=-0.002000 +warp=0.010000 +sx=1.000000 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.010000 +ib_r=0.230000 +ib_g=0.230000 +ib_b=0.230000 +ib_a=0.499900 +nMotionVectorsX=1.384000 +nMotionVectorsY=4.320006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.225*mid_att; +per_frame_3=wave_g = 0.213*treb_att; +per_frame_4=wave_b = 0.235*bass_att; +per_frame_5=wave_mystery = wave_mystery + 0.15*sin(0.5*time); +per_frame_6=cx = cx + 0.1*sin(0.2*time); +per_frame_7=cy = cy + 0.1*sin(0.4*time); +per_frame_8=decay = decay + 0.01*sin(time); +per_frame_9=mv_x = 1.5; +per_frame_10=mv_y = 3 + 0.1*sin(time); +per_frame_11=mv_b = 0.5+0.4*sin(time*0.863); +per_frame_12=mv_g = 0.5+0.45*sin(time*0.523); +per_frame_13=mv_r = 0.5+0.45*sin(time*0.98); +per_frame_14=mv_l = 0.1+ 0.45*mv_y ; +per_frame_15=mv_dx = 0.5*(1-bass)+0.5*sin(time*1.1); +per_frame_16=mv_dy = 0.5*(1-bass)+0.5*sin(time*0.985); +per_frame_17=ob_r =max(bass+bass_att+treb+treb_att-5.5,0); +per_frame_18=ib_b = 0.5*max(bass-1,0); +per_frame_19=monitor = ob_r; +per_frame_20=ob_b = 0.12+0.1*sin(time*12); +per_frame_21=ob_g = 0.12+ 0.1*sin(5*time); +per_frame_22=warp =0; diff --git a/presets/presets_tryptonaut/Rovastar & Rocke - Sugar Spun Sister.milk b/presets/presets_tryptonaut/Rovastar & Rocke - Sugar Spun Sister.milk new file mode 100755 index 0000000000..a8ed898d73 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Rocke - Sugar Spun Sister.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.994000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.900000 +fWaveScale=1.116811 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.961900 +rot=-0.010000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.450000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.570000 +ib_b=0.400000 +ib_a=0.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=0.100000 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); diff --git a/presets/presets_tryptonaut/Rovastar & Sperl - Tuxflower.prjm b/presets/presets_tryptonaut/Rovastar & Sperl - Tuxflower.prjm new file mode 100755 index 0000000000..e8986ec018 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Sperl - Tuxflower.prjm @@ -0,0 +1,269 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_imageURL=Tux.tga +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.150068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.7100000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets/presets_tryptonaut/Rovastar & StudioMusic - More Cherished Desires.milk b/presets/presets_tryptonaut/Rovastar & StudioMusic - More Cherished Desires.milk new file mode 100755 index 0000000000..787987910e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & StudioMusic - More Cherished Desires.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.947994 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.396500 +fWaveScale=0.969133 +fWaveSmoothing=0.666000 +fWaveParam=0.000100 +fModWaveAlphaStart=1.379900 +fModWaveAlphaEnd=1.020000 +fWarpAnimSpeed=2.000000 +fWarpScale=1.000000 +fZoomExponent=0.056700 +fShader=0.700000 +zoom=0.539300 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.819500 +sy=0.819545 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.010000 +ob_b=0.010000 +ob_a=0.950000 +ib_size=0.010000 +ib_r=0.010000 +ib_g=0.010000 +ib_b=0.500000 +ib_a=0.950000 +nMotionVectorsX=9.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass*.5; +per_frame_3=wave_g = treb*.5; +per_frame_4=wave_b = mid*.5; +per_frame_5=decay = .99; +per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_7=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=zoom = zoom+rad*.1+0.05; +per_pixel_2=zoomexp =1 - 1*sin(rad*time*100); diff --git a/presets/presets_tryptonaut/Rovastar & StudioMusic - Twisted Spider Web.milk b/presets/presets_tryptonaut/Rovastar & StudioMusic - Twisted Spider Web.milk new file mode 100755 index 0000000000..d13342ce42 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & StudioMusic - Twisted Spider Web.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=1.001799 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.995648 +fWaveScale=0.995868 +fWaveSmoothing=0.837000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=10.784599 +fZoomExponent=1.001700 +fShader=0.000000 +zoom=1.009989 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.500000 +dy=0.500000 +warp=1.000000 +sx=0.999900 +sy=1.000000 +wave_r=0.500000 +wave_g=0.499900 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.950000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.950000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_2=treb_effect = max(max(treb,treb_att)-1.2,0); +per_frame_3=warp = 0.25 + bass_att*1.25; +per_frame_4=ib_r= ib_r-+ 0.5*( sin(time*0.391)); +per_frame_5=ib_g= ib_g + 0.5*( sin(time*1.527) ); +per_frame_6=ib_b= ib_b - 0.5*( sin(time*1.843) ); +per_frame_7=ob_r = 1 - ib_r; +per_frame_8=ob_g = 1 - ib_g; +per_frame_9=ob_b = 1 - ib_b; +per_frame_10=ob_size = if(above(bass_effect,0), 0.001+0.0065*bass_effect,0.001); +per_frame_11=ib_size = if(above(treb_effect,0), 0.001+0.0065*treb_effect,0.001); +per_frame_12=zoom=1.35+0.2*sin(time); +per_pixel_1=rot = rot + 1 + log(sqrt(2)-rad); +per_pixel_2=zoom=zoom-0.5*rad +0.1*sin(rad); diff --git a/presets/presets_tryptonaut/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk b/presets/presets_tryptonaut/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk new file mode 100755 index 0000000000..6cad5d07e5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.660126 +fWaveSmoothing=0.000000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.150000 +mv_g=0.450000 +mv_b=0.650000 +mv_a=0.200000 +per_frame_1=warp=0; +per_frame_2=ib_a =0.2*bass; +per_frame_3=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_4=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); +per_frame_5=wave_g = wave_g + 0.4*sin(time*1.731); +per_frame_6=decay = decay - equal(frame%100,0)*0.1; +per_frame_7=vol = 0.167*(bass+mid); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xpos = xpos + 0.001*xspeed; +per_frame_13=wave_x = 1.5*xpos + 0.5; +per_frame_14=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_15=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_16=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_17=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_18=ypos = ypos + 0.001*yspeed; +per_frame_19=wave_y = 1.5*ypos + 0.5; +per_frame_20=zoom = .995; +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=frametest = frame%2; +per_frame_29=wave_x = if(frametest,1-wave_x,wave_x); +per_frame_30=wave_y = if(frametest,1-wave_y,wave_y); +per_frame_31=wave_r = if(frametest,wave_r,wave_g); +per_frame_32=wave_g = if(frametest,wave_g,wave_b); +per_frame_33=wave_b = if(frametest,wave_b,wave_r); +per_frame_34=monitor = green; +per_frame_35=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_36=oldq8 = q8; +per_frame_37= +per_frame_38=mv_g=0.5+bass_att*.1; +per_frame_39=beat=if(above(bass*bass_att,4.5),1-beat,beat); +per_frame_40=q1=beat*2-1; +per_frame_41= +per_frame_42=amp =amp*.8+.2*(bass_att+mid_att+treb_att)*.3; +per_frame_43=q2 = min(amp,1); +per_frame_44=trebcap=trebcap*.7+.16*treb; +per_frame_45=q3=trebcap*2; +per_frame_46=monitor = q3; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*(48+12*sin(0.412*q8)))+0.008*sin(((y+sin(time*0.163))*2-1)* (3+sin(0.241*q8))); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*(64+18*sin(0.376*q8)))+0.008*sin(((x+sin(q8*0.282))*2-1) *(3+sin(0.349*q8))); +per_pixel_3=wang = (3+q3)*x+time*1.7+bass*.1; +per_pixel_4=in = 0; +per_pixel_5=in = in + below(abs(x-.25),.05)*below(abs(y-.5),.25); +per_pixel_6=in = below(abs(y-(.5+.5*sin(wang)*q2)),.1); +per_pixel_7=in=bnot(bnot(in)); +per_pixel_8=dx = dx+.02*in; +per_pixel_9=dy = dy+.08*cos(wang)*q2*in; +per_pixel_10= +per_pixel_11=dx = dx+bnot(in)*.005*q1; +per_pixel_12=dy = dy+bnot(in)*cos(wang)*-.01*q1; +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Rovastar & Telek - Cosmic Fireworks.milk b/presets/presets_tryptonaut/Rovastar & Telek - Cosmic Fireworks.milk new file mode 100755 index 0000000000..99cc446bda --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Telek - Cosmic Fireworks.milk @@ -0,0 +1,214 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.002000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.300000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5 + 0.2*sin(time*0.5624); +shape_0_per_frame2=y = 0.5+0.2*sin(time*0.8934); +shape_0_per_frame3=r =0.5+0.5*sin(time*0.9431); +shape_0_per_frame4=b2 = 0.5+0.5*sin(time*3.175); +shape_0_per_frame5=g = 1 - 0.1*bass; +shape_0_per_frame6=r2 = 0.5*0.5*sin(1.7823); +shape_0_per_frame7=g2 = 0.5 + 0.5*sin(time*2.32); +shape_0_per_frame8=rad=0.02 + 0.00004*pow(bass+bass,5); +shape_0_per_frame9=ang = 0.1*sin(time) + (rad-0.1)*10;; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 + 0.2*sin(time*0.6824); +shape_1_per_frame2=y = 0.5+0.2*sin(time*0.934); +shape_1_per_frame3=r =0.5+0.5*sin(time*0.9431); +shape_1_per_frame4=b2 = 0.5+0.5*sin(time*3.675); +shape_1_per_frame5=g = 1 - 0.1*bass; +shape_1_per_frame6=r2 = 0.5*0.5*sin(2.23); +shape_1_per_frame7=g2 = 0.5 + 0.5*sin(time*1.32); +shape_1_per_frame8=rad=0.08 + 0.00001*pow(bass+bass,7); +shape_1_per_frame9=ang = 0.1*sin(time) + (rad-0.1)*10;; +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.5 + 0.2*sin(time*0.9824); +shape_2_per_frame2=y = 0.5+0.2*sin(time*0.34); +shape_2_per_frame3=v =0.5+0.5*sin(time*0.9431); +shape_2_per_frame4=r2 = 0.5+0.5*sin(time*1.675); +shape_2_per_frame5=g = 1 - 0.1*bass; +shape_2_per_frame6=g2 = 0.5*0.5*sin(1.23); +shape_2_per_frame7=b2 = 0.5 + 0.5*sin(time*1.32); +shape_2_per_frame8=rad=0.02 + 0.00001*pow(bass+bass,5); +shape_2_per_frame9=ang = 0.2*sin(time) + (rad-0.1)*10;; +per_frame_1=xx = sin(time*.13)*.5+.5; +per_frame_2= +per_frame_3=beat = above(bass*bass_att,4.5)+bnot(xx); +per_frame_4=//xx = if(beat,0,xx); +per_frame_5=//x = if(beat,rand(10)*.1,x); +per_frame_6=//y = if(beat,rand(10)*.1,y); +per_frame_7=x = if(beat, max(min(rand( 2 )*.2 -.1+x, 1), 0), x); +per_frame_8=y = if(beat, max(min(rand( 2 )*.2 -.1+y, 1), 0), y); +per_frame_9=zoom = 1-beat*.1; +per_frame_10=wave_x = x; +per_frame_11=wave_y = y; +per_frame_12=wave_mystery = xx*1.7-.5; +per_frame_13=ob_a = beat; +per_frame_14=wave_r= sin(time*.197)*.5+.5; +per_frame_15=wave_g=cos(time*.201)*.5+.5; +per_frame_16=wave_b=sin(time*.215)*.5+.5; +per_frame_17= +per_frame_18=xx=sin(xx*62.82)*.5+.5; +per_frame_19=wave_r = xx+(1-xx)*wave_r; +per_frame_20=wave_g = xx+(1-xx)*wave_g; +per_frame_21=wave_b = xx+(1-xx)*wave_b; +per_frame_22=//wave_b= wave_g; +per_frame_23=//rot = .015; +per_frame_24=monitor = xx; +per_pixel_1=//rot = 0.001*rad; diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk b/presets/presets_tryptonaut/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk new file mode 100755 index 0000000000..74739b3e9f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.942000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.799900 +fWaveScale=1.549220 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.040604 +rot=0.000000 +cx=0.470000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5 + 0.5*sin(time*1.143); +per_frame_2=wave_g = 0.5+0.5*sin(time*0.896); +per_frame_3=q8 = (bass+bass_att)*0.5; +per_pixel_1=state_scalar=if(equal(q8,3),-.1,if(equal(q8,2),2,1)); +per_pixel_2=location = sin(ang*10+time+abs(pow(1+rad,q8)+x*10%5)); +per_pixel_3=zoom = zoom+.08*state_scalar*location; +per_pixel_4=rot = rot+.02*state_scalar*location; +per_pixel_5=zoomexp = 1/(pow(q8,q8*10)); +per_pixel_6=zoomexp = if(above(rad,0.8),1,zoomexp); diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Centre Of Gravity.milk b/presets/presets_tryptonaut/Rovastar & Unchained - Centre Of Gravity.milk new file mode 100755 index 0000000000..e66c93d232 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Centre Of Gravity.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=0.999994 +fShader=0.000000 +zoom=1.008200 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.010000 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_b=ob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=mv_x = 1.25; +per_frame_44=mv_y = 1.25; +per_frame_45=mv_dx = 0.1*sin(time); +per_frame_46=mv_dy = -0.1*cos(time); +per_pixel_1=c1=x*q1+sin(ang)*q4; +per_pixel_2=c2=y*q2+sin(ang)*q6; +per_pixel_3=radix=if(above(q3,0),min(x-c2,y-c2),max(x*c1,y*c1)); +per_pixel_4=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_5=rot=if(above(q6,0),((sqrt(2)*0.5)-rad)*.18*q5,.2*q5*sin(rad*2.133*q7)); +per_pixel_6=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); +per_pixel_7=zoomexp=if(above(q2,0),zoomexp, if(above(q3,0),1-.07*sin(q4*.2*radix), 1+.07*cos(radix*10*q4)))*rad; diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk b/presets/presets_tryptonaut/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk new file mode 100755 index 0000000000..922e01a61f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Demonology (Vampire Soul Mix).milk @@ -0,0 +1,126 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.282091 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001700 +fShader=0.000000 +zoom=0.988100 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.550000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+0.2*sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+0.1*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+0.1*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51=wave_mode=3 - 0.3*q7; +per_frame_52=mv_a = bass+ bass_att -2.5; +per_pixel_1=snee=bnot(above(x,.5)*above(q2,0)+above(y,.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=pow(sin(rad*6*sin(q8)+(atan(ang*(1-y)-1.57))*6*q1)*2,1+q8%3)*(1+q7); +per_pixel_4=test = below(rad,0.5+ 0.25*q1); +per_pixel_5=cx =if(test,(0&(x*15-0.5*rad))*(1/(15-0.5*rad))+0,0.5); +per_pixel_6=cy =if(test, (0&(y*15-0.5*rad))*(1/(15-0.5*rad))+0,0.5); +per_pixel_7=rot=if(test, 0.1*q1-0.5*rad,snee*bnot(below(y,.5)*below(q7,3))*if(bnot(grid%q8),1,.1*sin(rad*3.14*q3))); +per_pixel_8=zoom=zoom-.031*snur*sin(rad*q7*q5)+snee*bnot(snur)*sin(rad*6*q5)*.1; +per_pixel_9=sx=if(test,1,sx+.0361*bnot(snee)*cos(y*3.14*q4)); +per_pixel_10=sy=if(test,1,sy+.00361*bnot(snur)*cos(x*3.14*q6)); +per_pixel_11=zoomexp = if(test,1 + rad,zoom+rot); diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Oddball World.milk b/presets/presets_tryptonaut/Rovastar & Unchained - Oddball World.milk new file mode 100755 index 0000000000..c45e02a7fa --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Oddball World.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=25.080072 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.300000 +zoom=0.122270 +rot=0.240000 +cx=2.000000 +cy=-1.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.003000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.600000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=// sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7=th=if(above(th,5.2),4,th); +per_frame_8= +per_frame_9=q1=.12*th; +per_frame_10=ccl=if(pulse,ccl+1,ccl); +per_frame_11=q2=ccl; +per_frame_12= +per_frame_13=ob_r=ob_r + time*sin(bass); +per_frame_14=ob_b=ob_b + time*sin(treb+1); +per_frame_15=ob_g=ob_g + time*sin(mid/1.5); +per_frame_16=zoomexp = q1; +per_frame_17=myb = cos(time) + abs(cos(time)); +per_frame_18=myg = abs(sin(time)) ; +per_frame_19=myr = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_20=avg = .9*avg+.1*le; +per_frame_21=wave_r = if(below(avg,1.8),myr,0); +per_frame_22=wave_b = if(below(avg,1.8),myb,0); +per_frame_23=wave_g = if(below(avg,1.8),myg,0); +per_frame_24=monitor = avg; +per_pixel_1=grid=sign(pow(sin(ang*(q2)+x*y*q1)*2,1+q2%4)) -.5; +per_pixel_2=snee=.5*sin(q2*q1); +per_pixel_3=rot=bnot(grid%((q2%10)+2))*above(x,.5+snee)*above(y,.5-snee); +per_pixel_4=sx=sx-sin((q2+.5)*x)*band(rot,snee)*.003; +per_pixel_5=sy=sy-cos((q2+3.4)*y)*band(rot,snee)*.003; +per_pixel_6=zoom=1+.1*sin((q1-q2)*3)+.2*cos(1.6*sin(time)+rad*6.28*q1)*below(x,.5+snee)*below(y,.5-snee); diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk b/presets/presets_tryptonaut/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk new file mode 100755 index 0000000000..d92f06b58a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Unified Drag 2 (Ghostly Vision Mix).milk @@ -0,0 +1,276 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.780000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.400000 +zoom=0.820774 +rot=0.000000 +cx=0.499900 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.400000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.298779 +shapecode_0_ang=1.256637 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.600000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.298779 +shapecode_1_ang=1.256637 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.400000 +shapecode_2_rad=0.298779 +shapecode_2_ang=1.256637 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.600000 +shapecode_3_rad=0.298779 +shapecode_3_ang=1.256637 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.89+0.1*sin(time*0.665+bass); +shape_3_per_frame2=g = 0.89+0.1*sin(time*0.3185+treb); +shape_3_per_frame3=b = 0.89+0.1*sin(time*0.375+mid); +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=q9 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_49=//oldq9 = q9; +per_frame_50=ob_a=q9; +per_frame_51=ib_a = q9; +per_frame_52=rot=1; +per_frame_53=cx=cx+.05*q4; +per_frame_54=cy=cy+.05*q5; +per_frame_55=zoom=.95+.05*q6; +per_frame_56= +per_frame_57=mv_r = wave_r; +per_frame_58=mv_g = wave_g; +per_frame_59=mv_b=wave_b; +per_frame_60=monitor = q9; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets/presets_tryptonaut/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk new file mode 100755 index 0000000000..120826bf01 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk @@ -0,0 +1,110 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=1 +fVideoEchoZoom=1.006496 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.781664 +fWaveScale=0.590116 +fWaveSmoothing=0.36 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=7.523901 +fShader=0 +zoom=1.009898 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=48 +mv_dx=0 +mv_dy=0 +mv_l=0 +mv_r=0.35 +mv_g=0.35 +mv_b=0.35 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1)); +per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time))); +per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49)); +per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0); +per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10); +per_frame_7=q1=state; +per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10; +per_frame_9=// timed sidon sensor +per_frame_10=// le = signal level; desired average value = 2 +per_frame_11=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_12=pulse=above(le,th); +per_frame_13=// pulsefreq = running average of interval between last 5 pulses +per_frame_14=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_16=lastpulse=if(pulse,time,lastpulse); +per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_19=// hccp = handcicap for th driven by bt +per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_22=beat=band(above(le,th+hccp),btblock); +per_frame_23=btblock=1-above(le,th+hccp); +per_frame_24=lastbeat=if(beat,time,lastbeat); +per_frame_25=beatfreq=if(equal(beatfreq,0),2, +per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_27=// th = threshold +per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_30=th=if(above(th,6),6,th); +per_frame_31=q3=30/fps; +per_frame_32=ccl=ccl+beat; +per_frame_33=minorccl=minorccl+.01*le; +per_frame_34=q4=beat; +per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter); +per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_37=beateven = beatcounter%2; +per_frame_38=q5 = beateven; +per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_40=oldq8 = q8; +per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2; +per_pixel_2=cx = grid; +per_pixel_3=cy = grid; +per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07); +per_pixel_5=rot = 0.01*(1-rad); +per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64)); +per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48)); diff --git a/presets/presets_tryptonaut/Rovastar & Unchained - Xen Traffic.milk b/presets/presets_tryptonaut/Rovastar & Unchained - Xen Traffic.milk new file mode 100755 index 0000000000..6aad9ed6b5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Unchained - Xen Traffic.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.975000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=0.502368 +fWaveSmoothing=0.360000 +fWaveParam=-0.280000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.942044 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.004000 +ib_r=0.400000 +ib_g=0.400000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=47.952000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=0.400000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=mv_r=mv_r+.5*bass_residual; +per_frame_27=mv_g=mv_g+.5*mid_residual; +per_frame_28=mv_b=mv_b+.5*treb_residual; +per_frame_29=mv_a=1.1-(ob_a+ib_a)*chaos*.5; +per_frame_30=mv_x=abs(beat*10)*entropy; +per_frame_31=mv_y=abs(pulse*10)*entropy; +per_frame_32=mv_l=entropy*(q4-q5); +per_frame_33=wave_r=0.8+0.2*bass_flop*mv_g; +per_frame_34=wave_g=0.3+0.3*mid_flop*mv_b; +per_frame_35=wave_b=0.4+0.3*0.1*treb_flop*mv_r; +per_frame_36=ob_r=0.1 + 0.1*sin(time*1.143)+0.2*mv_g; +per_frame_37=ob_g=0.3 + 0.3*sin(time*0.897)+0.3*mv_b; +per_frame_38=ob_b=0.2+0.5*mv_r; +per_frame_39=treb_effect = max(max(treb, treb_att)-1.2,0); +per_frame_40=mid_effect = max(max(mid,mid_att)-1.2,0); +per_frame_41=ib_r = 1 - ob_b; +per_frame_42=ib_g = 1- mv_g; +per_frame_43=ib_b = 0.5*mv_b + 0.5*ob_b; +per_frame_44=ib_a = if(above(treb_effect,0), if(above(mid_effect,0),1,0),0); +per_frame_45=q6 = max(max(bass,bass_att)-1.18,0); +per_pixel_1=grid=rad*10%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + (sqrt(2)-rad)*10%(above(q1,q5)+above(q2,q4)+above(q3,q5))*q1; +per_pixel_2=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_3=zoom=zoom-bnot(grid)*atan2(x*q3*3.14,y*q5*3.14)*.14*(x*2-1)+0.12*q6; +per_pixel_4=sx=sx+.2*q1*sin(x*1.6)*-grid; +per_pixel_5=sy=sy+.2*q2*sin(y*1.6)*(1-grid); diff --git a/presets/presets_tryptonaut/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk b/presets/presets_tryptonaut/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk new file mode 100755 index 0000000000..9ce11e12df --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk @@ -0,0 +1,96 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.792077 +fWaveScale=0.999999 +fWaveSmoothing=0.000000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = if(equal(wavecolor,1),.5 + .3*sin(time),if(equal(wavecolor,3),if( above(bass,1),1,0 ),if(equal(wavecolor,4),if(above(bass,1),0,1),bass_att*.1))); +per_frame_3=wave_g = if(equal(wavecolor,1),.5 + .3*sin(time*.333),if(equal(wavecolor,2),if(above(bass,1),1,0),if(equal(wavecolor,3),if( above(bass,1),0,1 ), +per_frame_4=treb_att*.1))); +per_frame_5=wave_b = if(equal(wavecolor,1),.5 + .3*sin(time*.666),if(equal(wavecolor,2),if(above(bass,1),0,1),if(equal(wavecolor,4),if( above(bass,1),1,0 ),mid_att*.1))); +per_frame_6=q1 = zoomeffect; +per_frame_7=wave_mystery=if( equal(othereffects,1),-.6+.4*sin(time),if( equal(wavesize,1),-.2,if( equal(wavesize,2),-.5,0))); +per_frame_8=ob_a = if( equal(zoomeffect,2),if( equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,7),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,8),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,9),if(equal(othereffects,2),bass*.1,0),0)))); +per_frame_9=ob_r = wave_g; +per_frame_10=ob_g = wave_b; +per_frame_11=ob_b = wave_r; +per_frame_12=q2 = othereffects; +per_frame_13=wave_mode = if(equal(wavetype,3),5,wavetype); +per_frame_14=decay = if(equal(othereffects,3),.95+.05*sin(time),decay); +per_frame_15=volume = 0.3*(bass+mid+att); +per_frame_16=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_17=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_18=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_19=peakbass_att = max(bass_att,peakbass_att); +per_frame_20=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_21=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_22=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_23=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_24=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_25=mode = if(beat,rand(4),mode); +per_frame_26=wavecolor = if(beat,rand(5),wavecolor); +per_frame_27=zoomeffect = if(beat,rand(10),zoomeffect); +per_frame_28=wavesize = if(beat,rand(3),wavesize); +per_frame_29=othereffects = if(beat,rand(4),othereffects); +per_frame_30=wavetype = if(beat,rand(4),wavetype); +per_pixel_1=zoom = if( equal(q1,1),1+rad*.08,if( equal(q1,2),.93+bass_att*.07,if( equal(q1,3),1.06+.05*sin(rad*30+time*5),if( equal(q1,4),1.05+.05*sin((rad+ang*8+time*5)),if( equal(q1,5),1.05+.05*sin((rad*8+time*5)+(ang*8+time*5)),if( equal(q1,6),1 + .2*abs(rad-.5),if( equal(q1,7),1+.2*(-rad+.5),if( equal(q1,8),(3*y)+2*(pow(x,2))*.01,if( equal(q1,9),1 + .1*sin(y*10),1))))))))); +per_pixel_2=dx = if(equal(q1,10),(rand(11)*.01)-.05,0); +per_pixel_3=dy = if(equal(q1,10),(rand(11)*.01)-.05,0); diff --git a/presets/presets_tryptonaut/Rovastar & Zylot - Narell's Fever.milk b/presets/presets_tryptonaut/Rovastar & Zylot - Narell's Fever.milk new file mode 100755 index 0000000000..539830020d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Zylot - Narell's Fever.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.2 +ob_g=0.4 +ob_b=0.22 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.75 +ib_b=0.55 +ib_a=1 +nMotionVectorsX=64 +nMotionVectorsY=3 +mv_dx=0 +mv_dy=0 +mv_l=3.95 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_frame_init_1=beatcounter =0; diff --git a/presets/presets_tryptonaut/Rovastar & Zylot - Passion Flower.milk b/presets/presets_tryptonaut/Rovastar & Zylot - Passion Flower.milk new file mode 100755 index 0000000000..11d898128f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Zylot - Passion Flower.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.315701 +fWaveScale=2.063784 +fWaveSmoothing=0.720000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = -1&(bass); +per_frame_3=wave_g = -1&(treb); +per_frame_4=wave_b = if(below(wave_r,1),if(below(wave_g,1),1,0),0); +per_frame_5=dx = -0.0003; +per_frame_6=dy = 0.0003; +per_pixel_1=zoom = if(above(rad,.13),rad*.1+0.98,1.01); +per_pixel_2=cx = (10&(x*15-0.5))*(1/15)+0.05; +per_pixel_3=cy = (10&(y*15-0.5))*(1/15)+0.05; +per_pixel_4=rot = 0-if(above(rad,.3),rad*.1+0.05,0); diff --git a/presets/presets_tryptonaut/Rovastar & Zylot - Sea Of Zigrot.milk b/presets/presets_tryptonaut/Rovastar & Zylot - Sea Of Zigrot.milk new file mode 100755 index 0000000000..9f97832a43 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar & Zylot - Sea Of Zigrot.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.179142 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.199900 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.400000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_b = .25 + mid_att*.3; +per_frame_3=zoom = zoom + bass_att*.05; +per_pixel_1=dx = rad*sin(x*y)*.05; +per_pixel_2=warp = -rad; diff --git a/presets/presets_tryptonaut/Rovastar + Flexi - Hurricane Nightmare (Moebius Mix).milk b/presets/presets_tryptonaut/Rovastar + Flexi - Hurricane Nightmare (Moebius Mix).milk new file mode 100755 index 0000000000..a0bee1eb52 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Flexi - Hurricane Nightmare (Moebius Mix).milk @@ -0,0 +1,317 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.300 +fWaveScale=0.881 +fWaveSmoothing=0.500 +fWaveParam=-1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=3.60000 +fShader=0.000 +zoom=1.02109 +rot=-0.16000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.30900 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.470 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.750 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0); +per_frame_5=oldq8 = q8; +per_frame_6=monitor = q8; +per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); +per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); +per_frame_9=//decay = decay - 0.02*equal(frame%40,0); +per_frame_10=mv_r = wave_r; +per_frame_11=mv_b = wave_b; +per_frame_12=mv_g = wave_g; +per_frame_13=mv_x = 1.25; +per_frame_14=mv_y = 1.25; +per_frame_15=mv_dx = 0.1*sin(1.1*time); +per_frame_16=mv_dy = 0.1*cos(1.112*time); +per_frame_17= +per_frame_18=// the m�bius transformation +per_frame_19=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_20=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_21=// so a/c and mu can be calculated outside of the shader +per_frame_22= +per_frame_23=//before inversion +per_frame_24= +per_frame_25=scale = 1; +per_frame_26=angle = time*.2; +per_frame_27=translation_x = 0; +per_frame_28=translation_y = 0.12; +per_frame_29= +per_frame_30=a_r = cos(angle)*scale; +per_frame_31=a_i = sin(angle)*scale; +per_frame_32=b_r = translation_x; +per_frame_33=b_i = translation_y; +per_frame_34= +per_frame_35=//complex inverted +per_frame_36=scale = 1; +per_frame_37=angle = sin(time*0.1337)*0.3; +per_frame_38=translation_u = 0; +per_frame_39=translation_v = -0.2; +per_frame_40= +per_frame_41=// c +per_frame_42=q15 = cos(angle)*scale; +per_frame_43=q16 = sin(angle)*scale; +per_frame_44= +per_frame_45=// d +per_frame_46=q17 = translation_u; +per_frame_47=q18 = translation_v; +per_frame_48= +per_frame_49=// c^(-1) +per_frame_50=c_inv_r = q15/(q15*q15+q16*q16); +per_frame_51=c_inv_i = q16/(q15*q15+q16*q16); +per_frame_52= +per_frame_53=// a*c^(-1) +per_frame_54=q11 = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_55=q12 = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_56= +per_frame_57=// (bc-ad) +per_frame_58=bcad_r = (b_r*q15 - b_i*q16)-(a_r*q17-a_i*q18); +per_frame_59=bcad_i = (b_r*q16 - b_i*q15)-(a_r*q18-a_i*q17); +per_frame_60= +per_frame_61=// mu*c^(-1) +per_frame_62=q13 = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_63=q14 = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8))); +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q11,q12); +comp_5=`float2 mu = float2(q13,q14); +comp_6=`float2 c = float2(q15,q16); +comp_7=`float2 d = float2(q17,q18); +comp_8=` +comp_9=`float2 z = (uv-0.5); +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x) + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`uv=moebius; +comp_19=`float3 rnd = tex2D(sampler_noise_lq, rand_frame.xy + uv*texsize.xy*texsize_noise_lq.zw)*2-1; +comp_20=` +comp_21=`ret = GetPixel(uv); +comp_22=` +comp_23=`d = texsize.zw * 8; +comp_24=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_25=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_26=` +comp_27=`uv -= float2(lum(dx),lum(dy))*texsize.zw*32; +comp_28=` +comp_29=` +comp_30=`ret = pow(abs(GetBlur3(uv+rnd.xy*texsize.zw*5)*2-GetPixel(uv))*1,1); +comp_31=`} diff --git a/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur (Jelly).milk b/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur (Jelly).milk new file mode 100755 index 0000000000..b1e6c8373b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur (Jelly).milk @@ -0,0 +1,286 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.000 +fDecay=0.973 +fVideoEchoZoom=1.047 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=2.905 +fWaveSmoothing=0.627 +fWaveParam=-0.300 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.23219 +fShader=0.000 +zoom=1.08017 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01678 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=1.000 +b1n=0.670 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_frame_10=q2 = oldq2 + 0.05*(pow(1+1.2*treb+0.4*treb_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11= +per_frame_12=//q2 = oldq2 +q1; +per_frame_13=oldq2 = q2 ; +per_frame_14=monitor = q2; +per_pixel_1=zoom = zoom + rad*0.1*q1; +per_pixel_2= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zyx,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk b/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk new file mode 100755 index 0000000000..c83d0c12ff --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Geiss - Hyperkaleidoscope Glow 2 motion blur.milk @@ -0,0 +1,270 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.0 +fGammaAdj=2.0 +fDecay=0.973 +fVideoEchoZoom=1.047 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9 +fWaveScale=2.905 +fWaveSmoothing=0.627 +fWaveParam=-0.3 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.0 +fWarpScale=2.853 +fZoomExponent=1.23219 +fShader=0.0 +zoom=1.08017 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01678 +sx=1.0 +sy=1.0 +wave_r=0.6 +wave_g=0.6 +wave_b=0.6 +wave_x=0.5 +wave_y=0.5 +ob_size=0.0 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=1.0 +b1n=0.670 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_frame_10=q2 = oldq2 + 0.05*(pow(1+1.2*treb+0.4*treb_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11= +per_frame_12=//q2 = oldq2 +q1; +per_frame_13=oldq2 = q2 ; +per_frame_14=monitor = q2; +per_pixel_1=zoom = zoom + rad*0.1*q1; +per_pixel_2= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_13=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.95; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz*0.8; +comp_4=` +comp_5=` float3 blur = saturate(GetBlur1(uv) - blur1_min)*14 +comp_6=` + saturate(GetBlur2(uv) - blur2_min)*14; +comp_7=` ret += blur; +comp_8=` ret *= 0.7; +comp_9=` ret = lerp(lum(ret), ret, 0.2); +comp_10=` ret *= hue_shader*2.4-1; +comp_11=`} diff --git a/presets/presets_tryptonaut/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk b/presets/presets_tryptonaut/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk new file mode 100755 index 0000000000..e59fba59a4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Geiss - Snapshot Of Space (LSB mix).milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.981 +fVideoEchoZoom=1.047 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=2.905 +fWaveSmoothing=0.600 +fWaveParam=-0.300 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.63006 +fShader=0.000 +zoom=1.03100 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=24.986 +nMotionVectorsY=20.031 +mv_dx=0.065 +mv_dy=0.109 +mv_l=0.036 +mv_r=0.816 +mv_g=0.099 +mv_b=0.816 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.0; +comp_6=` float b1 = lum(GetPixel(uv + d.xz)); +comp_7=` float b2 = lum(GetPixel(uv - d.xz)); +comp_8=` float b3 = lum(GetPixel(uv + d.zy)); +comp_9=` float b4 = lum(GetPixel(uv - d.zy)); +comp_10=` +comp_11=` //ret = 0; +comp_12=` ret *= -1; +comp_13=` ret += saturate((b1-b2)*64)*1.00*float3(1,0.6,0.1); +comp_14=` ret += saturate((b3-b4)*64)*1.00*float3(0.2,0.5,0.7); +comp_15=` ret -= saturate( GetBlur1(uv)*4 - 1 ); +comp_16=` +comp_17=` ret *= 1.5; +comp_18=`} diff --git a/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk b/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk new file mode 100755 index 0000000000..28b1ce9538 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - FractalDrop (Spinning Mix).milk @@ -0,0 +1,290 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.0 +fWaveScale=3.815 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.97990 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.007 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850 +mv_r=0.5 +mv_g=0.5 +mv_b=0.5 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=6.81129 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.410 +shapecode_1_y=0.5 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.630 +shapecode_2_y=0.450 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.540 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig*4 + rand_frame.xy)*2-1)*0.02; +warp_14=` +warp_15=` float ang2 = atan2(uv_orig.y-0.5,uv_orig.x-0.5); +warp_16=` ret += ( cos(ang2*17 + time*12 + lum(ret)*0) )*0.15; +warp_17=` +warp_18=` // darken over time +warp_19=` //ret -= 0.004; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, (uv-0.5)*0.6+0.5).xyz; +comp_4=` float L = lum(ret); +comp_5=` float bw = saturate(cos(L*27 + 3)*30 - 26); +comp_6=` bw = saturate( cos(ang*17 + time*12 + L*48) )*0.5*(L+0.4); +comp_7=` ret = ret*ret + bw*0.3*(GetPixel(0.5))*0.5; +comp_8=` +comp_9=`} diff --git a/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk b/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk new file mode 100755 index 0000000000..a138b3fa05 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar + Loadus + Geiss - Tone-mapped FractalDrop 7c.milk @@ -0,0 +1,303 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.0 +fDecay=1.0 +fVideoEchoZoom=1.006752 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.1 +fWaveScale=3.815202 +fWaveSmoothing=0.9 +fWaveParam=0.0 +fModWaveAlphaStart=0.0 +fModWaveAlphaEnd=1.1 +fWarpAnimSpeed=1.0 +fWarpScale=1.0 +fZoomExponent=1.0 +fShader=0.0 +zoom=1.029902 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=1.0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.006500 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.25 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.370000 +shapecode_0_y=0.5 +shapecode_0_rad=6.811289 +shapecode_0_ang=3.644249 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=0.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=0.5 +shapecode_0_r2=0.0 +shapecode_0_g2=0.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.5 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=1.0 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = q1*(0.303 + 0.01*t1); +shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); +shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); +shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); +shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3))); +shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5))); +shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6))); +shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.5 +shapecode_1_rad=0.897961 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=1.0 +shapecode_1_b=1.0 +shapecode_1_a=0.5 +shapecode_1_r2=0.0 +shapecode_1_g2=0.0 +shapecode_1_b2=0.0 +shapecode_1_a2=1.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.07*sin(q1*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1); +shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1); +shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1))); +shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5))); +shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.513861 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=1.0 +shapecode_2_b=1.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=0.0 +shapecode_2_b2=0.0 +shapecode_2_a2=1.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(q1*0.017); +shape_2_per_frame2=y = y + 0.09*sin(q1*0.013); +shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.222979 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=0.6 +shapecode_3_g=0.8 +shapecode_3_b=1.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=0.0 +shapecode_3_b2=0.0 +shapecode_3_a2=1.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.0 +shape_3_per_frame1=x = x + 0.08*sin(q1*0.25); +shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2); +shape_3_per_frame3=ang = time; +per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005; +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time, +warp_8=` // basically by breaking up big blocks of white color. +warp_9=` ret += (ret - GetBlur1(uv))*0.5; +warp_10=` ret *= 0.9; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret = lerp(ret, lum(ret), 0.08); +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` //ret *= 1.3; // a little bit of overbright +comp_26=`} +comp_27=` +comp_28=` diff --git a/presets/presets_tryptonaut/Rovastar - 3am Somewhere.milk b/presets/presets_tryptonaut/Rovastar - 3am Somewhere.milk new file mode 100755 index 0000000000..f0966b5b60 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - 3am Somewhere.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.994000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.334693 +fWaveSmoothing=0.750000 +fWaveParam=-0.019900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999900 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.002000 +ib_r=0.400000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.799900 +mv_g=0.161000 +mv_b=0.060000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.4*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); +per_frame_4=wave_g = wave_g + 0.5*sin(time*0.631); +per_frame_5=vol = 0.167*(bass+mid+att); +per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=wave_x = 1.25*xpos + 0.5; +per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17=wave_y = 1.25*ypos + 0.5; +per_frame_18=dx = dx + dx_residual; +per_frame_19=dy = dy + dy_residual; +per_frame_20=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_21=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_22=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_23=rot = 0.1; +per_frame_24=q2=1.1*xpos +0.25*ypos + 0.5; +per_frame_25=q1=1.1*ypos +0.25*xpos + 0.5; +per_frame_26=ib_r = 0.3+xpos; +per_frame_27=ib_b = 0.06*bass; +per_frame_28=ib_g = 0.25+ypos; +per_frame_29=sy = if(above(bass+bass_att,3.2),1+0.1*(1-treb),1); +per_frame_30=sx = if(above(bass+bass_att,3.2),1 + 0.1*mid,1); +per_frame_31=myframes = frame%4; +per_frame_32=frametest = above(myframes,1); +per_frame_33=q3 = 15 + if(frametest,myframes,0); +per_frame_34=q4 = if(frametest,1/(15 + myframes),1/14); +per_frame_35=ib_a = if(above(bass+bass_att,2.2),1,0); +per_pixel_1=cx = (0&(x*q3-0.5))*q4+0.05; +per_pixel_2=cy = (0&(y*q3-0.5))*q4+0.05; +per_pixel_3=newx = q1-x; +per_pixel_4=newy = q2-y; +per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_6=newzoom = pow(0.95 + 0.07*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (newx)*newzoom - newx; +per_pixel_8=dy = (newy)*newzoom - newy; +per_pixel_9=dx =dx*0.4*(0.1+0.6*(bass+bass_att)); +per_pixel_10=dy=dy*0.2*(0.1+0.6*(treb+treb_att)); +per_pixel_11=rot = 2.3*newrad*(0.5*(0.5-rad)+0.1); +per_frame_init_1=decay = 10000001; diff --git a/presets/presets_tryptonaut/Rovastar - A Million Miles From Earth (Wormhole Mix).milk b/presets/presets_tryptonaut/Rovastar - A Million Miles From Earth (Wormhole Mix).milk new file mode 100755 index 0000000000..f7852f52a2 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - A Million Miles From Earth (Wormhole Mix).milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.2*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); diff --git a/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk b/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk new file mode 100755 index 0000000000..a9eea02a35 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.963000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.1*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.002*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.002*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=zoom = zoom -0.01*thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.3), 21*dx_r, 0); diff --git a/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth.milk b/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth.milk new file mode 100755 index 0000000000..b1f57b07aa --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - A Million Miles from Earth.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.1*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=zoom = zoom -0.01*thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if (above(bass,1.3), 0, dy); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Maddess.milk b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Maddess.milk new file mode 100755 index 0000000000..ebedd045a4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Maddess.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=31.199999 +nMotionVectorsY=2.280001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.800000 +mv_a=0.000000 +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=mybeat = if(beat,mybeat+1,mybeat); +per_frame_21=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_22=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_23=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_24=oldq7=q7; +per_frame_25=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_26=oldq6=q6; +per_frame_27=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_28=oldq5=q5; +per_frame_29=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_30=oldq4=q4; +per_frame_31=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_32=oldflag = flag; +per_frame_33=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_34=OldRatio = Ratio; +per_frame_35=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_36=oldq3=q3; +per_frame_37=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_38=oldq2=q2; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk new file mode 100755 index 0000000000..962e92fb53 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix).milk @@ -0,0 +1,239 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.400000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.200000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.200000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.200000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=ib_r =0; +per_frame_12=ib_g =0; +per_frame_13=ib_b =0; +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_frame_42=solarize = beat;; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.8*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk new file mode 100755 index 0000000000..7bb7476cb1 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk @@ -0,0 +1,239 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.400000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.200000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.200000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.200000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_init_1=q8=0; +per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps; +per_frame_2=oldq8 = q8; +per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438)); +per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924); +per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431); +per_frame_11=ib_r =0; +per_frame_12=ib_g =0; +per_frame_13=ib_b =0; +per_frame_14=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_15=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_16=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_17=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_18=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_19=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_20=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_21=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_22=lastbeat = if(beat,time,lastbeat); +per_frame_23=mybeat = if(beat,mybeat+1,mybeat); +per_frame_24=mybeat = if(above(mybeat,7),0,mybeat); +per_frame_25=mybeat2 = if(equal(mybeat,1),1,0); +per_frame_26=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7); +per_frame_27=oldq7=q7; +per_frame_28=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6); +per_frame_29=oldq6=q6; +per_frame_30=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5); +per_frame_31=oldq5=q5; +per_frame_32=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4); +per_frame_33=oldq4=q4; +per_frame_34=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag); +per_frame_35=oldflag = flag; +per_frame_36=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio); +per_frame_37=OldRatio = Ratio; +per_frame_38=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3); +per_frame_39=oldq3=q3; +per_frame_40=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2); +per_frame_41=oldq2=q2; +per_frame_42=solarize = beat;; +per_pixel_1=box=(0.7*sqrt(2)-rad)+0.8*abs(x*3-0.4*sin(q1))%2 + 0.8*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot); +per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2)); +per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3)); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk new file mode 100755 index 0000000000..c0a375adde --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.299910 +fWaveSmoothing=0.630000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.203212 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.787566 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +shape_0_per_frame2=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +shape_0_per_frame3=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +shape_0_per_frame4=//tex_zoom = 0.8 -0.01*thresh; +shape_0_per_frame5=fdx = 1.1* dx_r; +shape_0_per_frame6=fdy = 1.1* dy_r; +shape_0_per_frame7=x = x+0.1*(fdx + if (above(bass,1.35), 31*dx_r, 0)); +shape_0_per_frame8=y = y+0.01*(if (above(bass,1.3), 0, y)); +shape_0_per_frame9= +shape_0_per_frame10= +shape_0_per_frame11= +shape_0_per_frame12=tex_zoom = 0.8-0.0001*pow((bass+bass_att),5)-0.01*(bass+bass_att); +shape_0_per_frame13=//tex_ang = bass; +shape_0_per_frame14=//x = x +0.01*sin(time); +shape_0_per_frame15=//tex_ang = 0.1*bass; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.730000 +shapecode_1_rad=0.221671 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=2.448624 +shapecode_1_r=1.000000 +shapecode_1_g=0.500000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.500000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang = 2*3.1415*sin(0.541*time); +shape_1_per_frame2=tex_ang = ang; +shape_1_per_frame3=x = 0.5 + 0.3*cos(time*0.74); +shape_1_per_frame4=y = 0.5 - 0.34*sin(time*0.894); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.230000 +shapecode_2_rad=0.221671 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.220186 +shapecode_2_r=0.500000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.500000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=ang = 3.1415*2*sin(time*0.274); +shape_2_per_frame2=tex_ang = ang; +shape_2_per_frame3=x = 0.5+0.3*sin(time*0.5317); +shape_2_per_frame4=y = 0.5+0.35*sin(time*0.6121); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.300000 +shapecode_3_y=0.730000 +shapecode_3_rad=0.221671 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.970586 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=ang = 3.1415*2*cos(time*0.314); +shape_3_per_frame2=tex_ang = ang; +shape_3_per_frame3=x = 0.5-0.3*sin(time*0.7117); +shape_3_per_frame4=y = 0.5-0.36*cos(time*0.5621); +per_frame_init_1=q8=0; +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=ib_a =0.2*bass; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx)+0.008*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*1.3333)+0.008*cos((x*2-1)*meshx); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Boxfresh Mix).milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Boxfresh Mix).milk new file mode 100755 index 0000000000..ea16b23a7f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Boxfresh Mix).milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.199252 +fWaveSmoothing=0.630000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=ib_a =0.2*bass; +per_frame_8=y_pos = (sin(q8)/2 + 0.5 - (sin(q8)/2 + 0.5)* q1); +per_frame_9=x_pos = (sin(q8/3)/2 + 0.5 - (sin(q8/3)/2 +0.5)*q2); +per_frame_10=q3 = y_pos; +per_frame_11=q4 = x_pos; +per_pixel_1=effect1 = dx+0.001*sin((y*2-1)*96)+0.01*sin((y*2-1)*128); +per_pixel_2=effect2 = dx+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +per_pixel_3=box_effect = if(above(y,q3),if(below(y,(q3+q1)), if(above(x,q4),if(below(x,(q4+q2)),effect1,effect2),effect2),effect2),effect2); +per_pixel_4=dx= box_effect; +per_pixel_5=effect3 = dy+0.001*cos((x*2-1)*128)+0.01*cos((x*2-1)*96); +per_pixel_6=effect4 = dy+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); +per_pixel_7=box_effect2= if(above(y,q3),if(below(y,(q3+q1)), if(above(x,q4),if(below(x,(q4+q2)),effect3,effect4),effect4),effect4),effect4); +per_pixel_8=dy= box_effect2; +per_frame_init_1=q8=0; +per_frame_init_2=q1 = 0.005*rand(60)+0.2; +per_frame_init_3=q2 = 0.005*rand(60)+0.2; diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Duel Mix).milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Duel Mix).milk new file mode 100755 index 0000000000..0151860dbd --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Duel Mix).milk @@ -0,0 +1,225 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.235590 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q8=0; +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=ib_r = wave_b; +per_frame_8=ib_b=wave_g; +per_frame_9=ib_g=wave_r; +per_frame_10=ib_a =1; +per_frame_11=wave_x = 0.5 + 0.32*sin(q8*0.3); +per_frame_12=wave_y = 0.5 - 0.24*cos(q8*0.2); +per_frame_13=ob_size = 0.005 - above(bass,2)*0.005; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*1.333); +per_pixel_3=dx=dx+0.008*sin((y*2-1)*meshx*1.333); +per_pixel_4=dy=dy+0.008*cos((x*2-1)*meshx); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Surealist Mix).milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Surealist Mix).milk new file mode 100755 index 0000000000..696514cf41 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness (Surealist Mix).milk @@ -0,0 +1,221 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.199252 +fWaveSmoothing=0.630000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q8=0; +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=ib_a =0.2*bass; +per_frame_8=q2 = q8; +per_frame_9=q1 = 0.1*q8; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx)+0.008*sin((y*2-1)*meshx*1.333); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*2.6667)-0.008*cos((x*2-1)*meshx); +per_pixel_3=rot=rot+0.01*sin(rad*(9.5 + 5.5*sin(q8*0.1623)) + q2*1.3 + q1*1.31); +per_pixel_4=zoom=zoom+0.01*sin(ang*6 + rad*(5.5 + 1.5*sin(q8*0.13)) + q2*1.63 + q1); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk new file mode 100755 index 0000000000..16d2ec70fb --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=27.154621 +fWaveScale=0.982837 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(2.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*2.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*2.465); +per_frame_7=ib_a =1; +per_frame_8=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_9=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_10=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_11=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_12=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_13=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_14=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_15=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_16=lastbeat = if(beat,time,lastbeat); +per_frame_17=countertime = if(beat,time,countertime); +per_frame_18=counter =-1*pow(min((time-countertime-1.5),0),9); +per_frame_19=wave_a = beat; +per_frame_20=wave_x =0.2+(0.01*rand(60))*beat; +per_frame_21=ib_r=wave_g; +per_frame_22=ib_b= wave_r; +per_frame_23=ib_g = wave_b; +per_frame_24=mv_a = 1+beat; +per_frame_25=q2 = 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)); +per_frame_26=monitor = q2; +per_pixel_1=dx=dx+q2*0.01*sin((y-0.5)*96)+q2*0.01*sin((y-0.5)*128); +per_pixel_2=dy=dy+q2*0.001*cos((x-0.5)*128)+q2*0.001*cos((x-0.5)*96); +per_frame_init_1=decay=0.1; diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk new file mode 100755 index 0000000000..8fe314c541 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk @@ -0,0 +1,94 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.230000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.250000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.08*(bass_att+3*bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_24=oldq8 = q8; +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*q8),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y*2-1)*48)+0.001*tan((y*2-1)*64)); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),((1+abs(sin(q8)))*0.001)*cos((x*2-1)*48)+0.001*tan((x*2-1)*48)); +per_pixel_7=zoomexp = if(above(box,1),3,1); diff --git a/presets/presets_tryptonaut/Rovastar - Altars Of Madness.milk b/presets/presets_tryptonaut/Rovastar - Altars Of Madness.milk new file mode 100755 index 0000000000..19a59ee9b3 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Altars Of Madness.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.199252 +fWaveSmoothing=0.630000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q8=0; +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=ib_a =0.2*bass; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx)+0.008*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*1.3333)+0.008*cos((x*2-1)*meshx); diff --git a/presets/presets_tryptonaut/Rovastar - Attacking Freedom.milk b/presets/presets_tryptonaut/Rovastar - Attacking Freedom.milk new file mode 100755 index 0000000000..2dda1bd425 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Attacking Freedom.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.000000 +fWaveScale=0.224562 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.199900 +wave_b=0.700000 +wave_x=0.600000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.030000 +ob_g=0.150000 +ob_b=0.250000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.100000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.010000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.500000 +per_frame_1=warp=0; +per_frame_2=mv_g = mv_g + 0.1*(0.6*sin(time*0.763) + 0.4*sin(time*1.231)); +per_frame_3=mv_b = mv_b + 0.2*(0.6*sin(time*0.695) + 0.4*sin(time*0.367)); +per_frame_4=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_5=oldq8 = q8; +per_frame_6=wave_x = 0.1*sin(q8*1.0677) + 0.5; +per_frame_7=wave_y = 0.1*sin(q8*1.1931) + 0.5; +per_frame_8=q1 = wave_x; +per_frame_9=q2 = 1-wave_y; +per_frame_10=cx = wave_x; +per_frame_11=cy = 1-wave_y; +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q2; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newzoom = pow(0.996, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = (newx)*newzoom - newx; +per_pixel_6=dy = (newy)*newzoom - newy; +per_pixel_7=rot = -0.1*newrad*(0.5*rad+0.1); +per_pixel_8=zoom = 1+newzoom*0.3; diff --git a/presets/presets_tryptonaut/Rovastar - Bellanova (New Wave Mix).milk b/presets/presets_tryptonaut/Rovastar - Bellanova (New Wave Mix).milk new file mode 100755 index 0000000000..4d8556c1b0 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Bellanova (New Wave Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=8.311065 +fWaveSmoothing=0.606000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.000000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.134784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.599182 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.200000 +shapecode_0_g2=0.200000 +shapecode_0_b2=0.200000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q3; +shape_0_per_frame2=y = 1- q4; +shape_0_per_frame3=r = 0.5 + 0.49*sin(time*0.467); +shape_0_per_frame4=b = 0.5 + 0.49*sin(time*0.568); +shape_0_per_frame5=g = 0.5 + 0.49*sin(time*0.669); +shape_0_per_frame6=r2 = 0.1*(bass+bass_att); +shape_0_per_frame7=b2 = r2; +shape_0_per_frame8=g2 = r2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=wave_g = 0.5 + 0.5*sin(time*2.13); +per_frame_4=wave_b = 0.5 + 0.5*sin(0.89*time); +per_frame_5=wave_r = 0.2 + 0.2*sin(time*1.113); +per_frame_6=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_7=movement = if(above(movement,10000), 0, movement); +per_frame_8= +per_frame_9=q3 = 0.5+0.1*sin(movement); +per_frame_10=q4 = 0.5-0.1*cos(0.781*movement); +per_frame_11= +per_frame_12=wave_x = q3; +per_frame_13=wave_y = 1-q4; +per_frame_14=decay = 0.995; +per_frame_15=//decay = 1.0; +per_pixel_1=newx =x- q3; +per_pixel_2=newy =y- q4; +per_pixel_3=newang = atan2(newx,newy); +per_pixel_4=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_5=rot = rot + 0.1*sin(newang*20); +per_pixel_6=zoom = 1.0+0.1*abs(sin(newang*4)); diff --git a/presets_projectM/Rovastar - Biohazard Warning.milk b/presets/presets_tryptonaut/Rovastar - Biohazard Warning.milk similarity index 100% rename from presets_projectM/Rovastar - Biohazard Warning.milk rename to presets/presets_tryptonaut/Rovastar - Biohazard Warning.milk diff --git a/presets/presets_tryptonaut/Rovastar - Cerebral Parasites (Attack Mix).milk b/presets/presets_tryptonaut/Rovastar - Cerebral Parasites (Attack Mix).milk new file mode 100755 index 0000000000..39f334cebd --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Cerebral Parasites (Attack Mix).milk @@ -0,0 +1,199 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*1.24; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.21) + 0.03*cos(time*0.64); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.41) + 0.03*sin(time*0.8); +shape_0_per_frame4=r = q7 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = q7 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=wave_a = 0; +per_frame_8=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=oldq8 = q8; +per_frame_10=q7 = 0.002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11=dx = q7*1.0542; +per_frame_12=dy = q7*1.187; +per_frame_13=monitor =q7; +per_frame_14=dx = 0.5; +per_frame_15=dy=0.5; +per_frame_16=warp=0; +per_frame_17=zoom= 0.1*sin(q8); +per_pixel_1=zoom =zoom+0.05*q7+( log(sqrt(2)-rad) -0.2); +per_pixel_2=rot = sin(1.156*q8);;; diff --git a/presets/presets_tryptonaut/Rovastar - Chapel Of Ghouls.milk b/presets/presets_tryptonaut/Rovastar - Chapel Of Ghouls.milk new file mode 100755 index 0000000000..f00a26e876 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Chapel Of Ghouls.milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.931011 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=11.360000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.750000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.444842 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.200000 +shapecode_0_r2=0.200000 +shapecode_0_g2=0.300000 +shapecode_0_b2=0.200000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5 + 0.3*sin(time*0.9521); +shape_0_per_frame2=y = 0.5+0.3*sin(time*0.782); +shape_0_per_frame3=b = 0.2 + 0.199*sin(time*0.462); +shape_0_per_frame4=g = 0.2 + 0.199*sin(time*0.3462); +shape_0_per_frame5=r = 0.9 + 0.099*sin(time*0.2786); +shape_0_per_frame6=r2 = 0.2 + 0.199*sin(time*0.3162); +shape_0_per_frame7=g2 = 0.2 + 0.199*sin(time*0.29462); +shape_0_per_frame8=b2 = 0.2 + 0.199*sin(time*0.4042); +shape_0_per_frame9=//a1=q2; +shape_0_per_frame10=//a2 = q2; +shape_0_per_frame11=additive = if(q4,(q4-1)*equal(q3,0),bnot(equal(q3,0))); +shape_0_per_frame12=textured = bnot(equal(q3,0)); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444842 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.200000 +shapecode_1_g2=0.300000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5 + 0.3*sin(time*0.8521); +shape_1_per_frame2=y = 0.5+0.3*sin(time*0.67682); +shape_1_per_frame3=b = 0.2 + 0.199*sin(time*0.3462); +shape_1_per_frame4=g = 0.2 + 0.199*sin(time*0.462); +shape_1_per_frame5=r = 0.9 + 0.099*sin(time*0.3786); +shape_1_per_frame6=r2 = 0.2 + 0.199*sin(time*0.4162); +shape_1_per_frame7=g2 = 0.2 + 0.199*sin(time*0.39462); +shape_1_per_frame8=b2 = 0.2 + 0.199*sin(time*0.3042); +shape_1_per_frame9=additive = if(q4,(q4-1)*equal(q3,1),bnot(equal(q3,1))); +shape_1_per_frame10=textured = bnot(equal(q3,1)); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=0.200000 +shapecode_2_g2=0.300000 +shapecode_2_b2=0.200000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.5 + 0.3*sin(time*0.7721); +shape_2_per_frame2=y = 0.5+0.3*sin(time*0.823); +shape_2_per_frame3=b = 0.2 + 0.199*sin(time*0.652); +shape_2_per_frame4=g = 0.2 + 0.199*sin(time*0.4162); +shape_2_per_frame5=r = 0.9 + 0.099*sin(time*0.1786); +shape_2_per_frame6=r2 = 0.2 + 0.199*sin(time*0.1862); +shape_2_per_frame7=g2 = 0.2 + 0.199*sin(time*0.442); +shape_2_per_frame8=b2 = 0.2 + 0.199*sin(time*0.382); +shape_2_per_frame9=//a = q2; +shape_2_per_frame10=//a2 = q2; +shape_2_per_frame11=additive = if(q4,(q4-1)*equal(q3,2),bnot(equal(q3,2))); +shape_2_per_frame12=textured = bnot(equal(q3,2)); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.444842 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.200000 +shapecode_3_r2=0.200000 +shapecode_3_g2=0.300000 +shapecode_3_b2=0.200000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5 + 0.3*sin(time*0.621); +shape_3_per_frame2=y = 0.5+0.3*sin(time*0.693); +shape_3_per_frame3=b = 0.2 + 0.199*sin(time*0.3862); +shape_3_per_frame4=g = 0.2 + 0.199*sin(time*0.449); +shape_3_per_frame5=r = 0.9 + 0.099*sin(time*0.3521); +shape_3_per_frame6=r2 = 0.2 + 0.199*sin(time*0.5252); +shape_3_per_frame7=g2 = 0.2 + 0.199*sin(time*0.3085); +shape_3_per_frame8=b2 = 0.2 + 0.199*sin(time*0.4111); +shape_3_per_frame9=//a = q2; +shape_3_per_frame10=//a2 = q2; +shape_3_per_frame11=additive = if(q4,(q4-1)*equal(q3,3),bnot(equal(q3,3))); +shape_3_per_frame12=textured = bnot(equal(q3,3)); +per_frame_init_1=q4 = int(rand(3)); +per_frame_init_2=q5 = 2+int(rand(3))*(1/3); +per_frame_init_3=q6 = 2+int(rand(3))*(1/3); +per_frame_init_4=q7 = 2+int(rand(3))*(1/3); +per_frame_init_5=q8 = 2+int(rand(3))*(1/3); +per_frame_1=warp=0; +per_frame_2=ib_a =0.2*bass; +per_frame_3=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_4=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_5=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_8=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_9=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_10=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_11=lastbeat = if(beat,time,lastbeat); +per_frame_12=countertime = if(beat,time,countertime); +per_frame_13=counter =-1*pow(min((time-countertime-1.5),0),9); +per_frame_14=beatcounter = if(beat, Beatcounter+1, beatcounter); +per_frame_15=wave_a = 0; +per_frame_16=ib_r=0.1+0.0999*sin(time*0.4251); +per_frame_17=ib_b=0.1+0.0999*sin(time*0.351); +per_frame_18=ib_g=0.1+0.0999*sin(time*0.543); +per_frame_19=ob_a =bnot(beat); +per_frame_20=q2 = beat; +per_frame_21=q3 = beatcounter%4; +per_frame_22=monitor = q4; +per_frame_23=decay =if(q4,1,0.98); +per_frame_24=q1 =20/fps; +per_pixel_1=dx= dx+q1*0.005*sin((y-0.5)*meshx*q7) +q1*0.005*sin((y-0.5)*meshx*q4); +per_pixel_2=dy=dy+q1*0.0025*cos((x-0.5)*meshx*q6)+ q1*0.0025*cos((x-0.5)*meshx*q5); diff --git a/presets/presets_tryptonaut/Rovastar - Chemical Spirituality.milk b/presets/presets_tryptonaut/Rovastar - Chemical Spirituality.milk new file mode 100755 index 0000000000..de79fab33b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Chemical Spirituality.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.711551 +fWaveScale=0.083110 +fWaveSmoothing=0.540000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.503000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.400000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.210000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=dcounter = if( equal(dcounter,0),if(above(bass,1.5),bass,dcounter), if(below(dcounter,0),0,if(above(bass_att,1.35),dcounter+.14,dcounter-.14))); +per_frame_3=tcounter = if( equal(dcounter,0),if(above(treb,1.5),treb*.5,tcounter), if(below(tcounter,0),0,if(above(treb_att,1.35),tcounter+.2,tcounter-.2))); +per_frame_4=q1 = min(dcounter,2); +per_frame_5=q2 = min(tcounter,1.7); +per_frame_6=frametest = frame%2; +per_frame_7=wave_r = .2 + .2*sin(time)+.4*bass*frametest; +per_frame_8=wave_g = .2 + .2*sin(time*.222)+.4*treb*frametest; +per_frame_9=wave_b = .2 + .2*sin(time*.555)+.4*mid*frametest; +per_frame_10=q3 = min(max(q2,2),0.5); +per_frame_11=monitor =q1; +per_frame_12=wave_mystery = if(frametest,0,1); +per_frame_13=wave_x = if(frametest,0.5,0.5); +per_frame_14=wave_y = if(frametest,0.999,0.999); +per_frame_15=monitor = wave_g; +per_frame_16=ib_a = 0.03*(treb_att +treb); +per_frame_17=ib_b = 0.08*(bass_att+bass); +per_frame_18=ib_g = 0.08*(mid+mid_att); +per_pixel_1=cx = (0&(x*15-0.5))*(1/15)+0.05; +per_pixel_2=cy = (0&(y*15-0.5))*(1/15)+0.05; +per_pixel_3=rot = (0.1)*(q3*((5*(q2-(0.8+0.1*q1)+cx))*rad-q1)); +per_frame_init_1=dcounter = 0; +per_frame_init_2=tcounter = 0; diff --git a/presets/presets_tryptonaut/Rovastar - Clouded Judgement 3.milk b/presets/presets_tryptonaut/Rovastar - Clouded Judgement 3.milk new file mode 100755 index 0000000000..a896ba4d2a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Clouded Judgement 3.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=0.902236 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=1.599182 +fWaveSmoothing=0.700000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.000000 +zoom=1.007000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.300000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=0.700000 +ib_size=0.005000 +ib_r=0.650000 +ib_g=0.050000 +ib_b=0.450000 +ib_a=0.300000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); +per_frame_4=decay = decay - 0.03*equal(frame%30,0); +per_frame_5=treb_effect = max(max(treb,treb_att)-1.25,0); +per_frame_6=mid_effect= max(max(mid,mid_att)-1.25,0); +per_frame_7=bass_effect = max(max(bass,bass_att)-1.34,0); +per_frame_8=ob_size = ob_size + 0.005*treb_effect; +per_frame_9=ib_size = ib_size + 0.005*mid_effect; +per_frame_10=ob_r = ob_r -0.2* treb_effect +0.2* mid_effect; +per_frame_11=ib_g = ib_g + 0.2*mid_effect- 0.2*treb_effect; +per_frame_12=dx = -0.01*treb_effect; +per_frame_13=rot = 0.1-2*bass_effect; +per_frame_14=zoom =0.99 - 0.2*(min(bass_effect,0.3)); diff --git a/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 1.milk b/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 1.milk new file mode 100755 index 0000000000..9932326d21 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 1.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.840000 +fDecay=0.900000 +fVideoEchoZoom=2.215847 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.130388 +fWaveSmoothing=0.540000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=1.000000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_2=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_3=bass_on = above(bass_thresh,1.8); +per_frame_4=treb_on = above(treb_thresh,1.9); +per_frame_5=swapcolour = bass_on - treb_on; +per_frame_6=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),1,0)); +per_frame_7=green_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.5,0.25)); +per_frame_8=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,1)); +per_frame_9=red = red + (red_aim - red)*if(equal(swapcolour,1),0.65,0.45); +per_frame_10=green = green + (green_aim - green)*0.5; +per_frame_11=blue = blue + (blue_aim - blue)*if(equal(swapcolour,1),0.45,0.65); +per_frame_12=wave_r = red; +per_frame_13=wave_g = green; +per_frame_14=wave_b = blue; +per_pixel_1=dx = if(above(x,0.5),sin(0.5-x)/15, log10(1/x)/45); +per_pixel_2=xrot = if(above(rad,0.4),cos(rad*2*x)/25+sin(pow(ang,5))/25,cos(1-rad)/25+2*sin(-rad)/25); diff --git a/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 2.milk b/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 2.milk new file mode 100755 index 0000000000..e52e602e9d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Cosmic Echoes 2.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.840000 +fDecay=0.900000 +fVideoEchoZoom=2.215847 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.130388 +fWaveSmoothing=0.540000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_2=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_3=bass_on = above(bass_thresh,1.8); +per_frame_4=treb_on = above(treb_thresh,1.9); +per_frame_5=swapcolour = bass_on - treb_on; +per_frame_6=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),1,0)); +per_frame_7=green_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.5,0.25)); +per_frame_8=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,1)); +per_frame_9=red = red + (red_aim - red)*if(equal(swapcolour,1),0.65,0.45); +per_frame_10=green = green + (green_aim - green)*0.5; +per_frame_11=blue = blue + (blue_aim - blue)*if(equal(swapcolour,1),0.45,0.65); +per_frame_12=wave_r = red; +per_frame_13=wave_g = green; +per_frame_14=wave_b = blue; +per_pixel_1=dy = if(above(y,0.5),sin(0.5-y)/10, log10(1/y)/35); diff --git a/presets/presets_tryptonaut/Rovastar - Cosmic Havoc.milk b/presets/presets_tryptonaut/Rovastar - Cosmic Havoc.milk new file mode 100755 index 0000000000..ae1885bbcb --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Cosmic Havoc.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.902000 +fVideoEchoZoom=0.999606 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.099694 +fWaveSmoothing=0.630000 +fWaveParam=0.899900 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999995 +fShader=1.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999997 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.85+1.4); +per_frame_2=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.75+1.5); +per_frame_3=bass_on = above(bass_thresh,1.8); +per_frame_4=treb_on = above(treb_thresh,1.9); +per_frame_5=swapcolour = bass_on - treb_on; +per_frame_6=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),1,0)); +per_frame_7=green_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.5,0.25)); +per_frame_8=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0,1)); +per_frame_9=red = red + (red_aim - red)*if(equal(swapcolour,1),0.55+abs(sin(time/2)/10),0.45); +per_frame_10=green = green + (green_aim - green)*0.5; +per_frame_11=blue = blue + (blue_aim - blue)*if(equal(swapcolour,1),0.35,0.7); +per_frame_12=wave_r= red-green; +per_frame_13=wave_b = blue; +per_frame_14=wave_g= green; +per_frame_15=mybass= if(above((bass+bass_att),2.1),bass+bass_att,0); +per_frame_16=mytreb = if(below(treb,1),(1-treb)*3+2,0); +per_frame_17=q1 = if(above(mytreb+mybass,4),1, 0); +per_frame_18=wave_mystery= if(equal(q1,0),1,0); +per_pixel_1=effect1 = 0.32+(bass + bass_att*2)/20; +per_pixel_2=effect2 = 0.32+(mid + mid_att*2)/20; +per_pixel_3=dx =if(equal(q1,0), if(above(x,effect1),sin(effect1-x)/5, log10(1/x)/15),0); +per_pixel_4=dy = if(equal(q1,1),if(above(y,effect2),sin(effect2-y)/4, log10(1/y)/12),0); diff --git a/presets/presets_tryptonaut/Rovastar - Cosmic Mosaic (Active Mix).milk b/presets/presets_tryptonaut/Rovastar - Cosmic Mosaic (Active Mix).milk new file mode 100755 index 0000000000..6f5b1a60b4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Cosmic Mosaic (Active Mix).milk @@ -0,0 +1,225 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.369668 +fWaveScale=2.608790 +fWaveSmoothing=0.500000 +fWaveParam=0.350000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=3.600000 +fShader=0.000000 +zoom=1.004000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.309000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=8.000000 +nMotionVectorsY=4.320000 +mv_dx=-0.136000 +mv_dy=-0.012000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.691150 +shapecode_0_tex_zoom=2.283879 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_zoom = tex_zoom - 0.025 + 0.05*(bass+bass_att); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=//zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=//rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%200,0); +per_frame_7=warp=0; +per_frame_8=decay = 0.970; +per_frame_9=zoom =1; +per_frame_10=rot=0; +per_pixel_1=//dy=dy+0.05*sin((y*2-1)*48+(y*2-1)*64); +per_pixel_2=//dy=dy-0.05*cos((x*2-1)*64+(x*2-1)*48); +per_pixel_3=//dx=dx+0.005*sin((y*2-1)*48+(y*2-1)*64); +per_pixel_4=//dx=dx-0.005*cos((x*2-1)*64+(x*2-1)*48); +per_pixel_5= +per_pixel_6=dx = 0.005*sin((tan(1-rad))*(90+bass+bass_att)+((ang)*18)); +per_pixel_7=dy = -0.005*sin((tan(1-rad))*(90+bass+bass_att)+((-ang)*18)); diff --git a/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk b/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk new file mode 100755 index 0000000000..a3e725c67c --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk @@ -0,0 +1,244 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=100.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.460000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.050000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.200000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = 0.1*q7+time*4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_0_per_frame10=rad =0.2+q7*0.1; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.200000 +shapecode_1_ang=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang =1+(0.1*q7)+ time*4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_1_per_frame10=rad = 0.2+0.1*q7; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.200000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = 0.3333+ (0.1*q7)+time*4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_2_per_frame10=rad = 0.2+q7*0.1; +per_frame_init_1=oldq8 =0; +per_frame_init_2=q8=0; +per_frame_1=warp=0; +per_frame_2=mv_r = mv_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_3=mv_g = mv_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_4=mv_b = mv_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_5=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=ob_a = bnot(beat); +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=q5_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_23=q6_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=q5 = 1-abs(4*q5_residual); +per_frame_28=q6 = 1-abs(4*q5_residual); +per_frame_29=wave_a =0; +per_frame_30=zoom = 1000; +per_frame_31=monitor = q8; +per_frame_32=q7= 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_33=dx = 0.5; +per_frame_34=dy =0.5; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = q5/(dist+0.4); +per_pixel_6=dx = dx+mult*sin(ang2-1.5); +per_pixel_7=dy = dy+mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = q6/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.1*rad*q7; +per_pixel_16=zoom = 1.01 + rad*0.15*q7 diff --git a/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Mix).milk b/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Mix).milk new file mode 100755 index 0000000000..2d9fb23771 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Dark Ritual (Star Of Destiny Mix).milk @@ -0,0 +1,237 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.634243 +fWaveSmoothing=0.100000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=100.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000156 +sx=0.999666 +sy=0.999900 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.460000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.050000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.400000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.400000 +shapecode_1_ang=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang =1- time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.300000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = 0.5+time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +per_frame_init_1=oldq8 =0; +per_frame_init_2=q8=0; +per_frame_1=warp=0; +per_frame_2=mv_r = mv_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_3=mv_g = mv_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_4=mv_b = mv_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_5=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_16=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_19=lastbeat = if(beat,time,lastbeat); +per_frame_20=ob_a = bnot(beat); +per_frame_21=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_22=q5_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_23=q6_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27=q5 = 1-abs(4*q5_residual); +per_frame_28=q6 = 1-abs(4*q5_residual); +per_frame_29=wave_a =0; +per_frame_30=zoom = 1000; +per_frame_31=monitor = q8; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = q5/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = q6/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets/presets_tryptonaut/Rovastar - Decreasing Dreams (Extended Movement Mix).milk b/presets/presets_tryptonaut/Rovastar - Decreasing Dreams (Extended Movement Mix).milk new file mode 100755 index 0000000000..120ac932e7 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Decreasing Dreams (Extended Movement Mix).milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.893664 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.995000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1- q2; +shape_0_per_frame3=r = 0.5 + 0.49*sin(time*0.467); +shape_0_per_frame4=b = 0.5 + 0.49*sin(time*0.568); +shape_0_per_frame5=g = 0.5 + 0.49*sin(time*0.669); +shape_0_per_frame6=r2 = 0.1*(bass+bass_att); +shape_0_per_frame7=b2 = r2; +shape_0_per_frame8=g2 = r2; +shape_0_per_frame9=rad = r2 + 0.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.200*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.200*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.200*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=warp=0; +per_frame_5=zoom =1; +per_frame_6=rot=0; +per_frame_7=decay =0.985; +per_frame_8=//decay =1; +per_frame_9= +per_frame_10=ib_r = 0.666 - 0.333*sin(time*1.234); +per_frame_11=ib_g = 0.666+0.333*sin(time*2.123); +per_frame_12=ib_b = 0.01+0.1*treb; +per_frame_13= +per_frame_14=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_15=movement = if(above(movement,10000), 0, movement); +per_frame_16= +per_frame_17=q1 = 0.5+0.1*sin(movement); +per_frame_18=q2 = 0.5-0.1*cos(0.781*movement); +per_frame_19=q3 = (35+15*sin(time*0.3426)+0.8*bass); +per_frame_20=wave_x = q1; +per_frame_21=wave_y = 1- q2; +per_pixel_1=newx =x- q1; +per_pixel_2=newy =y- q2; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=dy=0.007*sin((1.3-newrad)*(1.3-newrad)*(q3)); +per_pixel_5=dx=-0.007*cos((1.3-newrad)*(1.3-newrad)*(q3)); diff --git a/presets/presets_tryptonaut/Rovastar - Destiny Star (Starbrust Mix).milk b/presets/presets_tryptonaut/Rovastar - Destiny Star (Starbrust Mix).milk new file mode 100755 index 0000000000..ab240bda83 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Destiny Star (Starbrust Mix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999514 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.591236 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.218587 +fShader=0.000000 +zoom=0.961268 +rot=0.000000 +cx=0.500000 +cy=2.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=1.000000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.410000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.879900 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.400000 +per_frame_1=mv_r=0.5 +0.5*sin(time*1.23); +per_frame_2=mv_b=0.5 + 0.5*sin(time*1.26); +per_frame_3=mv_g=0.5+ 0.5*sin(time*1.19); +per_frame_4=wave_g=wave_g*+.20*sin(time*.13); +per_frame_5=wave_r=wave_r+.13*sin(time); +per_frame_6=wave_b=wave_b*sin(time); +per_frame_7=wave_x=wave_x-.5*sin(time*.13); +per_frame_8=ob_a = if(above(mid+treb,2.6),1,0); +per_frame_9=ob_r = 0.5 + 0.4*sin(time*2.87); +per_frame_10=ob_b = 0.5 + 0.4*sin(time*2.914); +per_frame_11=ob_g = 0.5 + 0.4*sin(time*2.768); +per_frame_12=mv_y = 3.25; +per_frame_13=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_14=oldq8 = q8; +per_frame_15=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_16=zoom=zoom+0.028*(q7) -0.05; +per_frame_17=//rot=rot+0.10*sin(time); +per_pixel_1=rot=0.05*sin(q8)*rad; +per_pixel_2=q1 = sin((1000+sin(q8))/y)/200; +per_pixel_3=q2 = cos((1000+sin(q8))/x)/200; +per_pixel_4=rot = rot+q1*100*q2; diff --git a/presets/presets_tryptonaut/Rovastar - Dreamcatcher.milk b/presets/presets_tryptonaut/Rovastar - Dreamcatcher.milk new file mode 100755 index 0000000000..4876a972a6 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Dreamcatcher.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.711551 +fWaveScale=0.083110 +fWaveSmoothing=0.540000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.990000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.998000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.700000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.210000 +nMotionVectorsX=1.280000 +nMotionVectorsY=5.280000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=dcounter = if( equal(dcounter,0),if(above(bass,1.5),bass,dcounter), if(below(dcounter,0),0,if(above(bass_att,1.35),dcounter+.14,dcounter-.14))); +per_frame_3=tcounter = if( equal(dcounter,0),if(above(treb,1.5),treb*.5,tcounter), if(below(tcounter,0),0,if(above(treb_att,1.35),tcounter+.2,tcounter-.2))); +per_frame_4=q1 = min(dcounter,2); +per_frame_5=q2 = min(tcounter,1.7); +per_frame_6=frametest = (frame)%2; +per_frame_7=wave_r = red + red*sin(time*1.067)+.2*bass*frametest; +per_frame_8=wave_g = green + green*sin(time*.722)+.2*treb*frametest; +per_frame_9=wave_b = blue + blue*sin(time*0.451)+.2*mid*frametest; +per_frame_10=wave_mystery = if(frametest,1,0); +per_frame_11=ib_a = 0.03*(treb_att +treb); +per_frame_12=ib_r = 0.08*(bass_att+bass); +per_frame_13=ib_g = 0.08*(mid+mid_att); +per_frame_14=ib_g =0.3*(mid*bass); +per_pixel_1=q4 = below(x,0.3)+ above(x,0.7); +per_pixel_2=q7 = 15 + int(3*rad); +per_pixel_3=cx = if(q4,(0&(x*q7-0.5))*(1/q7)+0.05,0.5); +per_pixel_4=cy = if(q4,(0&(y*15-0.5))*(1/15)+0.05,0.5); +per_pixel_5=zoom = 1+if(q4,0,0.05*log(rad)); +per_pixel_6=q5 = if(above(x,0.7),1,-1); +per_pixel_7=rot = if(q4,q5*0.05*(sy+bass+bass_att),0); +per_pixel_8=q6 = above(rad,0.2); +per_pixel_9=rot = if(q6,rot,0.125*(q1-q2)); +per_frame_init_1=dcounter = 0; +per_frame_init_2=tcounter = 0; +per_frame_init_3=blue = (rand(30)/30) + 0.1; +per_frame_init_4=green = (rand(30)/30) + 0.1; +per_frame_init_5=red = (rand(30)/30) + 0.1; diff --git a/presets/presets_tryptonaut/Rovastar - Explosive Minds.milk b/presets/presets_tryptonaut/Rovastar - Explosive Minds.milk new file mode 100755 index 0000000000..a0a9493120 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Explosive Minds.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.011046 +fWaveSmoothing=0.750000 +fWaveParam=-0.420000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.900000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.248000 +mv_dx=-0.060000 +mv_dy=-0.026000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass_att*.3; +per_frame_3=wave_g = treb_att*.3; +per_frame_4=wave_b = mid_att*.3; +per_frame_5=ob_r = 0.5+0.5*sin(time*5.12); +per_frame_6=ob_b = 0.5+0.5*sin(time*6.112); +per_frame_7=ob_g = 0.5+0.5*sin(time*7.212); +per_frame_8=q1 = zoom + pow((bass+bass_att),3)*.005-.02; +per_pixel_1=zoom =q1+ rad*sin(ang*25)*.05; diff --git a/presets/presets_tryptonaut/Rovastar - Forgotten Moon.milk b/presets/presets_tryptonaut/Rovastar - Forgotten Moon.milk new file mode 100755 index 0000000000..cdeea8631e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Forgotten Moon.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=8 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.015199 +fWaveSmoothing=0.630000 +fWaveParam=-0.340000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.100000 +wave_y=0.860000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=ib_r = 0.5+0.5*sin(time); +per_frame_3=ib_g = 0.5+0.5*sin(time*1.576); +per_frame_4=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_5=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_6=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_7=q8 =oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_pixel_1=dx = 0.01*sin(100*y+q8/y); +per_pixel_2=dy = 0.01*sin(100*x+q8/x); +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk b/presets/presets_tryptonaut/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk new file mode 100644 index 0000000000..9673520936 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.150375 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5 + 0.05*sin(q1*0.456); +shape_0_per_frame2=y = 0.5 + 0.05*sin(q1*0.56); +shape_0_per_frame3=tex_zoom = tex_zoom + 0.5*sin(q1*0.345); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=wave_a =0; +per_frame_2=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_3=movement = if(above(movement,10000), 0, movement); +per_frame_4=ob_b = q4+0.25*sin(movement*3.816); +per_frame_5=ob_g = q4+0.25*sin(movement*0.744); +per_frame_6=ob_r = q4+0.25*sin(movement*0.707); +per_frame_7=wrap = above(bass+bass_att,3); +per_frame_8=decay=1; +per_frame_9=rot=0; +per_frame_10=zoom =0.98; +per_frame_11=mv_r = 0; +per_frame_12=mv_g = 0; +per_frame_13=mv_b =0; +per_frame_14=mv_dy = 0.03*sin(movement*0.34); +per_frame_15=mv_dx = 0.035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_frame_16=warp=0; +per_frame_17=dx =0.01*sin(movement*5); +per_frame_18=dy =0.0005*(bass+bass_att); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx =dx+ 2*(2*myx*myy); +per_pixel_4=dy =dy+ 2*((myy*myy) - (myx*myx)); +per_pixel_5= diff --git a/presets/presets_tryptonaut/Rovastar - Fractopia (Galaxy Swirl Mix).milk b/presets/presets_tryptonaut/Rovastar - Fractopia (Galaxy Swirl Mix).milk new file mode 100644 index 0000000000..a6d66b41f9 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Fractopia (Galaxy Swirl Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=4.574798 +fWaveSmoothing=0.750000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.040000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.600000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q4 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_2=q5 = 0.249+0.5*(rand(100)*0.01); +per_frame_init_3=q6 = 0.249+0.5*(rand(100)*0.01); +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=wave_x = 1-(xpos + 0.5); +per_frame_4=wave_y = ypos + 0.5; +per_frame_5=mv_r = 0.5 + 0.499*(0.60*sin(3.980*time) + 0.40*sin(1.047*time) ); +per_frame_6=mv_g = 0.5+ 0.499*(0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_7=mv_b = 0.5 + 0.499*(0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_8=q1 = (x_pos+0.5); +per_frame_9=q2 = 1- (ypos+0.5); +per_frame_10=wave_a =0; +per_frame_11=warp=0; +per_frame_12=zoom =1; +per_frame_13=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_14=movement = if(above(movement,10000), 0, movement); +per_frame_15=rot =-0.04+ 0.01*(sin(movement*0.696)+cos(movement*0.463)+sin(movement*0.365)); +per_frame_16=cx = 0 + 0.1*(sin(movement*0.247)+cos(movement*0.373)+sin(movement*0.187)); +per_frame_17=cy = 0 + 0.1*(sin(movement*0.317)+cos(movement*0.209)+sin(movement*0.109)); +per_frame_18=ob_b = q4+0.25*sin(movement*3.816); +per_frame_19=ob_g = q4+0.25*sin(movement*0.744); +per_frame_20=ob_r = q4+0.25*sin(movement*0.707); +per_frame_21=wrap = below(bass+bass_att,3); +per_frame_22=zoom = 0.99 + 0.0035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); +per_pixel_1=myy = y-(0.250025); +per_pixel_2=myx = x-0.5; +per_pixel_3=dx = 2*(2*myx*myy); +per_pixel_4=dy = 2*((myy*myy) - (myx*myx)); diff --git a/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix).milk b/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix).milk new file mode 100644 index 0000000000..31ede31cd6 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix).milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.537415 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.725085 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk b/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk new file mode 100644 index 0000000000..11009a45e4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk @@ -0,0 +1,420 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001273 +fWaveScale=0.180933 +fWaveSmoothing=0.750000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=9.860800 +fWarpScale=16.217400 +fZoomExponent=1.503744 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.999999 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.200000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.100000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.075000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.03; +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.10; +wave_0_per_point4=yp=cos(smp )*0.10; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=//axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=//yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=//zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=//yp=yq; +wave_0_per_point28=//zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=//x=xs+0.5+q4; +wave_0_per_point49=//y=ys+0.5+q5; +wave_0_per_point50=x=xs+q4; +wave_0_per_point51=y=ys+q5; +wave_0_per_point52= +wave_0_per_point53=//r=1-q1; +wave_0_per_point54=//g=1-q2; +wave_0_per_point55=//b=1-q3; +wave_0_per_point56= +wave_0_per_point57=n2=abs((sample*6.283)-3.1415); +wave_0_per_point58= +wave_0_per_point59=r=sin(n2+time)*0.5+0.5; +wave_0_per_point60=g=sin(n2+2.1+time)*0.5+0.5; +wave_0_per_point61=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=basstime=basstime+(bass*bass); +wave_1_per_frame2=t1=basstime*0.06; +wave_1_per_point1=//plot x,y,z to point on circle +wave_1_per_point2=smp=sample*6.283; +wave_1_per_point3=xp=sin(smp )*0.1; +wave_1_per_point4=yp=cos(smp )*0.1; +wave_1_per_point5=zp=0; +wave_1_per_point6= +wave_1_per_point7= +wave_1_per_point8=//alter shape; +wave_1_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_1_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point12=xp=xq; +wave_1_per_point13=zp=zq; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16=//rotate on y axis; +wave_1_per_point17=angy=t1*0.1; +wave_1_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_1_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_1_per_point20=xp=xq; +wave_1_per_point21=zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate on x axis +wave_1_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_1_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_1_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_1_per_point27=yp=yq; +wave_1_per_point28=zp=zq; +wave_1_per_point29= +wave_1_per_point30=//rotate on y axis again +wave_1_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_1_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_1_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_1_per_point34=xp=xq; +wave_1_per_point35=zp=zq; +wave_1_per_point36= +wave_1_per_point37=//stretch y axis to compensate for aspect ratio +wave_1_per_point38=yp=yp*1.2; +wave_1_per_point39= +wave_1_per_point40=//push forward into viewpace +wave_1_per_point41=zp=zp+2.1; +wave_1_per_point42= +wave_1_per_point43=//project x,y,z into screenspace +wave_1_per_point44=xs=xp/zp; +wave_1_per_point45=ys=yp/zp; +wave_1_per_point46= +wave_1_per_point47=//center 0,0 in middle of screen +wave_1_per_point48=//x=xs+0.5+q4; +wave_1_per_point49=//y=ys+0.5+q5; +wave_1_per_point50=x=xs+q4; +wave_1_per_point51=y=ys+q5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=xs=sin(sample*6.28); +wave_2_per_point2=ys=cos(sample*6.28); +wave_2_per_point3=xs=xs*0.7 + 0.5; +wave_2_per_point4=ys=ys*0.7 + 0.5; +wave_2_per_point5=xs=min(xs,0.958); +wave_2_per_point6=xs=max(xs,0.042); +wave_2_per_point7=ys=min(ys,0.988); +wave_2_per_point8=ys=max(ys,0.012); +wave_2_per_point9=x=xs-0.02;y=ys; +wave_2_per_point10= +wave_2_per_point11=n2=abs((sample*6.283)-3.1415); +wave_2_per_point12= +wave_2_per_point13=r=sin(n2+time)*0.5+0.5; +wave_2_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_2_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=xs=sin(sample*6.28); +wave_3_per_point2=ys=cos(sample*6.28); +wave_3_per_point3=xs=xs*0.7 + 0.5; +wave_3_per_point4=ys=ys*0.7 + 0.5; +wave_3_per_point5=xs=min(xs,0.958); +wave_3_per_point6=xs=max(xs,0.042); +wave_3_per_point7=ys=min(ys,0.988); +wave_3_per_point8=ys=max(ys,0.012); +wave_3_per_point9=x=xs;y=ys; +wave_3_per_point10= +wave_3_per_point11=n2=abs((sample*6.283)-3.1415); +wave_3_per_point12= +wave_3_per_point13=r=sin(n2+time)*0.5+0.5; +wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; +wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.247309 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=6.283185 +shapecode_0_tex_zoom=33.803761 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.010000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.500000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=xs+q4; +shape_0_per_frame2=y=ys+q5; +shape_0_per_frame3=tex_ang=sin(time)*6.28; +shape_0_per_frame4=//rad=.166+(treb/100); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.756120 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.567128 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=tex_ang=0.001 +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.153398 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x=xs+q4; +shape_2_per_frame2=y=ys+q5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=//wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=//wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=//wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37=q4=xpos +0.5; +per_frame_38=q5=1-(ypos + 0.5); +per_frame_39= +per_frame_40=wave_a=0; +per_frame_41=//q2 = 1-(ypos + 0.5); +per_frame_42=//q1 = 0.5; +per_frame_43=//q2=0.5; +per_frame_44=ob_r = 1-wave_g; +per_frame_45=ob_b = 1-wave_r; +per_frame_46=ob_g = 1-wave_b; +per_frame_47= +per_frame_48=monitor = wave_y; +per_frame_49=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_50=movement = if(above(movement,10000), 0, movement); +per_frame_51=rot =1*sin(movement); +per_frame_52=cx = wave_x; +per_frame_53=cy = y_pos+0.5; +per_frame_54= +per_frame_55=q8 = movement; +per_frame_56=wrap=above(sin(time*200),0); +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); diff --git a/presets/presets_tryptonaut/Rovastar - Frozen Rapture .milk b/presets/presets_tryptonaut/Rovastar - Frozen Rapture .milk new file mode 100755 index 0000000000..09a5911d0d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Frozen Rapture .milk @@ -0,0 +1,276 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.447717 +fWaveSmoothing=0.600000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.995000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.400000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1- q2; +shape_0_per_frame3=r = 0.5 + 0.49*sin(time*1.467); +shape_0_per_frame4=b = 0.5 + 0.49*sin(time*0.768); +shape_0_per_frame5=g = 0.5 + 0.49*sin(time*0.559); +shape_0_per_frame6=r2 = 0.1*(bass+bass_att); +shape_0_per_frame7=b2 = r2; +shape_0_per_frame8=g2 = r2; +shape_0_per_frame9=rad = r2 + 0.2; +shape_0_per_frame10=ang = time*0.35; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330038 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r = 0.5 + 0.49*sin(time*0.467); +shape_1_per_frame2=b = 0.5 + 0.49*sin(time*0.568); +shape_1_per_frame3=g = 0.5 + 0.49*sin(time*0.669); +shape_1_per_frame4=r2 = 0.1*(bass+bass_att); +shape_1_per_frame5=b2 = r2; +shape_1_per_frame6=g2 = r2; +shape_1_per_frame7=rad = r2; +shape_1_per_frame8=x = q1+0.15*sin(time*0.85); +shape_1_per_frame9=y = 1-q2-0.2*cos(time*0.85); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.330038 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = 0.5 + 0.49*sin(time*0.467); +shape_2_per_frame2=b = 0.5 + 0.49*sin(time*0.568); +shape_2_per_frame3=g = 0.5 + 0.49*sin(time*0.669); +shape_2_per_frame4=r2 = 0.1*(bass+bass_att); +shape_2_per_frame5=b2 = r2; +shape_2_per_frame6=g2 = r2; +shape_2_per_frame7=rad = r2; +shape_2_per_frame8=x = q1+0.15*sin(time*0.85+2.07); +shape_2_per_frame9=y = 1-q2-0.2*cos(time*0.85+2.07); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.330038 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1- q2; +shape_3_per_frame3=r = 0.5 + 0.49*sin(time*0.467); +shape_3_per_frame4=b = 0.5 + 0.49*sin(time*0.568); +shape_3_per_frame5=g = 0.5 + 0.49*sin(time*0.669); +shape_3_per_frame6=r2 = 0.1*(bass+bass_att); +shape_3_per_frame7=b2 = r2; +shape_3_per_frame8=g2 = r2; +shape_3_per_frame9=rad = r2; +shape_3_per_frame10=x = q1+0.15*sin(time*0.85+4.14); +shape_3_per_frame11=y = 1-q2-0.2*cos(time*0.85+4.14); +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.480*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.370*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=warp=0; +per_frame_5=zoom =1; +per_frame_6=rot=0; +per_frame_7=decay =1; +per_frame_8=ib_r = 0.16 + 0.15*sin(time*0.783); +per_frame_9=ib_g = 0.16 + 0.15*sin(time*0.895); +per_frame_10=ib_b = 0.75 +0.24*sin(time*1.134); +per_frame_11=ib_size = 0.005*above(bass+bass_att,2.8); +per_frame_12=ib_size =0; +per_frame_13=mv_r = ib_r; +per_frame_14=mv_b = ib_b; +per_frame_15=mv_g = ib_g; +per_frame_16= +per_frame_17=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_18=movement = if(above(movement,10000), 0, movement); +per_frame_19= +per_frame_20=q1 = 0.5+0.2*sin(movement); +per_frame_21=q2 = 0.5-0.2*cos(0.781*movement); +per_frame_22=q3 = movement; +per_frame_23=wave_x = q1; +per_frame_24=wave_y = 1-q2; +per_frame_25= +per_pixel_1=newx =x- q1; +per_pixel_2=newy =y- q2; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=effect = sqrt(2)-newrad; +per_pixel_5=dy=0.01*cos(pow((effect),3)*8); diff --git a/presets/presets_tryptonaut/Rovastar - Future Speakers.milk b/presets/presets_tryptonaut/Rovastar - Future Speakers.milk new file mode 100755 index 0000000000..12dd0bdd77 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Future Speakers.milk @@ -0,0 +1,280 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.447717 +fWaveSmoothing=0.600000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.995000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.400000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1- q2; +shape_0_per_frame3=r = 0.5 + 0.49*sin(time*1.467); +shape_0_per_frame4=b = 0.5 + 0.49*sin(time*0.768); +shape_0_per_frame5=g = 0.5 + 0.49*sin(time*0.559); +shape_0_per_frame6=r2 = 0.1*(bass+bass_att); +shape_0_per_frame7=b2 = r2; +shape_0_per_frame8=g2 = r2; +shape_0_per_frame9=rad = r2 + 0.2; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330038 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r = 0.5 + 0.49*sin(time*0.467); +shape_1_per_frame2=b = 0.5 + 0.49*sin(time*0.568); +shape_1_per_frame3=g = 0.5 + 0.49*sin(time*0.669); +shape_1_per_frame4=r2 = 0.1*(bass+bass_att); +shape_1_per_frame5=b2 = r2; +shape_1_per_frame6=g2 = r2; +shape_1_per_frame7=rad = r2 + 0.2; +shape_1_per_frame8=x = q1+0.3*sin(time*0.85); +shape_1_per_frame9=y = 1-q2-0.4*cos(time*0.85); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.330038 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = 0.5 + 0.49*sin(time*0.467); +shape_2_per_frame2=b = 0.5 + 0.49*sin(time*0.568); +shape_2_per_frame3=g = 0.5 + 0.49*sin(time*0.669); +shape_2_per_frame4=r2 = 0.1*(bass+bass_att); +shape_2_per_frame5=b2 = r2; +shape_2_per_frame6=g2 = r2; +shape_2_per_frame7=rad = r2 + 0.2; +shape_2_per_frame8=x = q1+0.3*sin(time*0.85+2.07); +shape_2_per_frame9=y = 1-q2-0.4*cos(time*0.85+2.07); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.330038 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1- q2; +shape_3_per_frame3=r = 0.5 + 0.49*sin(time*0.467); +shape_3_per_frame4=b = 0.5 + 0.49*sin(time*0.568); +shape_3_per_frame5=g = 0.5 + 0.49*sin(time*0.669); +shape_3_per_frame6=r2 = 0.1*(bass+bass_att); +shape_3_per_frame7=b2 = r2; +shape_3_per_frame8=g2 = r2; +shape_3_per_frame9=rad = r2 + 0.2; +shape_3_per_frame10=x = q1+0.3*sin(time*0.85+4.14); +shape_3_per_frame11=y = 1-q2-0.4*cos(time*0.85+4.14); +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.480*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.370*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=warp=0; +per_frame_5=zoom =1; +per_frame_6=rot=0; +per_frame_7=decay =1; +per_frame_8=ib_r = 0.16 + 0.15*sin(time*0.783); +per_frame_9=ib_g = 0.16 + 0.15*sin(time*0.895); +per_frame_10=ib_b = 0.75 +0.24*sin(time*1.134); +per_frame_11=ib_size = 0.005*above(bass+bass_att,2.8); +per_frame_12=ib_size =0; +per_frame_13=mv_r = ib_r; +per_frame_14=mv_b = ib_b; +per_frame_15=mv_g = ib_g; +per_frame_16= +per_frame_17=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_18=movement = if(above(movement,10000), 0, movement); +per_frame_19= +per_frame_20=q1 = 0.5+0.2*sin(movement); +per_frame_21=q2 = 0.5-0.2*cos(0.781*movement); +per_frame_22=q3 = movement; +per_frame_23=wave_x = q1; +per_frame_24=wave_y = 1-q2; +per_frame_25= +per_pixel_1=newx =x- q1; +per_pixel_2=newy =y- q2; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=//effect = ((1-newrad)*(1-newrad))*(0.0*((0.9+0.2*sin(q3*0.23))*y)*((0.9+0.2*sin(q3*0.197))*x)); +per_pixel_6=effect = sqrt(2)-newrad; +per_pixel_7=effect2 = newang; +per_pixel_8=//effect = sqrt(2)-rad; +per_pixel_9=zoom=0.9-(0.1*bass)*cos(pow((effect),3)*8*(bass_att+1)); +per_pixel_10= diff --git a/presets/presets_tryptonaut/Rovastar - Halcyon Dreams 3.milk b/presets/presets_tryptonaut/Rovastar - Halcyon Dreams 3.milk new file mode 100755 index 0000000000..f482accd5b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Halcyon Dreams 3.milk @@ -0,0 +1,64 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.979000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.824241 +fWaveScale=0.970586 +fWaveSmoothing=0.570000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.072135 +rot=0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .33*sin(time*1.2); +per_frame_3=wave_g = wave_g + .33*sin(time*.888); +per_frame_4=wave_b = wave_g + .33*sin(time*.999); +per_pixel_1=fleem=if(above(bass_att,1),-4,8)+if(above(treb_att,1),8,-4); +per_pixel_2=zoom = zoom + 0.07*cos(((rad)*-fleem)-rad); +per_pixel_3=sx = 1+sin(rad)/9; +per_pixel_4=sy = 1+sin(rad)/8; diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk b/presets/presets_tryptonaut/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk new file mode 100755 index 0000000000..4e00512893 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's & Jester's Dual Delight (Chaotic Nightmare Mix).milk @@ -0,0 +1,111 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.996546 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=-0.100000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.48*sin(time*3.324); +per_frame_3=ob_b = 0.5 - 0.48*cos(time*2.316); +per_frame_4=cx = cx - 0.1*sin(time*0.542); +per_frame_5=cy = cy + 0.1*sin(time*0.753); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.015+abs(0.03*sin(0.1*rand(1000))); +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*2.934); +per_frame_25=ib_g = ib_g + 0.5*sin(time*1.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*3.431); +per_frame_27=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_28=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_29=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_30=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_31=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_32=xpos = xpos + 0.001*xspeed; +per_frame_33=dx = 0.016*xpos; +per_frame_34=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_35=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_36=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_37=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_38=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_39=ypos = ypos + 0.001*yspeed; +per_frame_40=dy =0.016*ypos; +per_frame_41=q2= 0.6*(ypos+xpos); +per_pixel_1=box=abs(x*2-0.3*sin(q3)+1)%2 + abs(y*2+0.3*sin(q5)+1)%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.95); +per_pixel_4=rot = if(above(box,1),sin(rad*0.885*time),0.4*q1+q2*(1-rad)); +per_pixel_5=dx = if(above(box,1),sin(1.442*time),dx); +per_pixel_6=dy= if(above(box,1),sin(1.581*time),dy); +per_pixel_7=zoomexp = if(above(box,1),1,1-abs(q2)); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk new file mode 100755 index 0000000000..4e20dec91d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.6401 +fWaveSmoothing=0.27 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1.01 +fShader=0 +zoom=0.996546 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0.9 +ob_b=0.2 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=48 +mv_l=5 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.1*sin(time*0.542); +per_frame_5=cy = cy + 0.1*sin(time*0.753); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.01+abs(0.01*sin(0.1*rand(1000))); +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*3.934); +per_frame_25=ib_g = ib_g + 0.5*sin(time*1.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*1.431); +per_pixel_1=box=abs(x*2-sin(q3))%2 + abs(y*2+sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.95); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),0); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),0); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk new file mode 100755 index 0000000000..759450570b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk @@ -0,0 +1,76 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.1*sin(time*0.342); +per_frame_5=cy = cy + 0.1*sin(time*0.433); +per_frame_6=warp =0; +per_frame_7=ib_size = 0.02; +per_frame_8=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_9=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_10=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_11=dx = dx -0.008*sin(time*0.23); +per_frame_12=dy = dy - 0.008*sin(time*0.2); +per_pixel_1=box=(1-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_2=q1 = 8.05+(sin(x+0.137*time)-cos(y+0.213*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),1*sin(0.385*time),rot); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk new file mode 100755 index 0000000000..9b7702c506 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*1.724); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.02; +per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_7=ib_g = ib_g + 0.5*sin(time*3.147); +per_frame_8=ib_b = ib_b - 0.5*sin(time*3.431); +per_frame_9=dx = dx -0.003*sin(time*0.23); +per_frame_10=dy = dy - 0.003*sin(time*0.2); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_pixel_1=box =0.5+0.8*(2*x%4+2*y%2); +per_pixel_2=q1 = 8.05+0.3*(sin(pow(x,3)+0.137*time)-cos(pow(y,3)+0.213*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),0.5*sin(0.5*rad+0.385*time),rot); +per_pixel_5=cx = cx - 0.21*sin(rad+2*q4); +per_pixel_6=cy = cy + 0.11*sin((1-rad)-2*q2); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 1.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 1.milk new file mode 100755 index 0000000000..827177f4d6 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 1.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.204482 +fWaveScale=1.284528 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.100000 +wave_y=0.860000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.4- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.1*sin(time*0.342); +per_frame_5=cy = cy + 0.1*sin(time*0.453); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.02; +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_25=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_27=xdx = dx -0.008*sin(time*0.23); +per_frame_28=xdy = dy - 0.008*sin(time*0.2); +per_frame_29=wave_r = wave_r + 0.5*sin(time*0.734); +per_frame_30=wave_b = wave_b + 0.5*sin(time*0.615); +per_frame_31=wave_b = wave_b + 0.5*sin(time*0.714); +per_frame_32=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_33=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_34=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_35=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_36=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_37=xpos = xpos + 0.001*xspeed; +per_frame_38=dx = 0.1*xpos; +per_frame_39=q2 = xpos; +per_frame_40=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_41=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_42=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_43=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_44=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_45=ypos = ypos + 0.001*yspeed; +per_frame_46=dy =0.1*ypos; +per_frame_47=q4 = ypos; +per_pixel_1=box=0.8*(1-rad)+0.5*abs(x*3-0.2*sin(q3))%2 + 0.5*abs(y*3+0.2*sin(q5))%2; +per_pixel_2=q1 = 8.05+1.2*(sin(x)-cos(y)); +per_pixel_3=zoom = if(above(box,1),q1*0.1,zoom); +per_pixel_4=rot = if(above(box,1),3.5+ abs(sin(3*(q2+q4)))*(0.3*sin(0.385*time)+0.4*sin(time*0.254)+0.3*cos(time*0.311)),rot); +per_pixel_5=dx = if(above(box,1),q4,dx); +per_pixel_6=dy= if(above(box,1),q2,dy); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 2.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 2.milk new file mode 100755 index 0000000000..13734f832b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 2.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.204482 +fWaveScale=0.535238 +fWaveSmoothing=0.270000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.100000 +wave_y=0.860000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.901)+ 0.3*cos(time*1.438)); +per_frame_2=ob_g = 0.4- 0.4*sin(time*3.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*2.816); +per_frame_4=cx = cx - 0.1*sin(time*0.342); +per_frame_5=cy = cy + 0.1*sin(time*0.453); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=ib_size = 0.005 + 0.02*sin(time*0.963); +per_frame_22=ob_size = 0.005+ 0.02*abs(sin(time*0.7834)); +per_frame_23=ib_r = 0.8*(1- ob_r)+0.2; +per_frame_24=ib_g = 0.7*(1- ob_g)+0.3; +per_frame_25=ib_b = ib_b - 0.5*sin(time*1.731); +per_frame_26=wave_r = wave_r + 0.5*sin(time*0.734); +per_frame_27=wave_b = wave_b + 0.5*sin(time*0.615); +per_frame_28=wave_b = wave_b + 0.5*sin(time*0.714); +per_frame_29=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_30=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_31=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_32=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_33=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_34=xpos = xpos + 0.001*xspeed; +per_frame_35=dx = 0.1*xpos; +per_frame_36=q2 = xpos; +per_frame_37=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_38=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_39=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_40=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_41=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_42=ypos = ypos + 0.001*yspeed; +per_frame_43=dy =0.1*ypos; +per_frame_44=q4 = ypos; +per_pixel_1=box =0.12+2*x%2+2*y%2; +per_pixel_2=q1 = 6.4+1.2*(sin(x+(0.6*time))-cos(y+(0.432*time))); +per_pixel_3=zoom = if(above(box,1),q1*0.1,zoom); +per_pixel_4=rot = if(above(box,1),3.5+ abs(sin(3*(q2+q4)))*(0.3*sin(0.385*time)+0.4*sin(time*0.254)+0.3*cos(time*0.311)),rot); +per_pixel_5=dx = if(above(box,1),q4*3,dx); +per_pixel_6=dy= if(above(box,1),q2*3,dy); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 3.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 3.milk new file mode 100755 index 0000000000..1c3837fb4b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Dynamic Fractal 3.milk @@ -0,0 +1,115 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.204482 +fWaveScale=0.535238 +fWaveSmoothing=0.270000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.100000 +wave_y=0.860000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=48.000000 +mv_l=3.500000 +mv_r=0.700000 +mv_g=0.700000 +mv_b=0.300000 +mv_a=1.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.901)+ 0.3*cos(time*1.438)); +per_frame_2=ob_g = 0.4- 0.4*sin(time*3.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*2.816); +per_frame_4=cx = cx - 0.1*sin(time*0.342); +per_frame_5=cy = cy + 0.1*sin(time*0.453); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=ib_size = 0.005 + 0.02*sin(time*0.963); +per_frame_22=ob_size = 0.02*abs(sin(time*0.7834)); +per_frame_23=mv_r = mv_r + 0.3*sin(time*3.034); +per_frame_24=mv_g = mv_g + 0.3*sin(time*2.547); +per_frame_25=mv_b = mv_b - 0.3*sin(time*1.731); +per_frame_26=wave_r = wave_r + 0.5*sin(time*0.734); +per_frame_27=wave_b = wave_b + 0.5*sin(time*0.615); +per_frame_28=wave_b = wave_b + 0.5*sin(time*0.714); +per_frame_29=ib_r = ib_r + 0.5*sin(time*0.734); +per_frame_30=ib_g = ib_g + 0.5*sin(time*1.215); +per_frame_31=ib_b = ib_b + 0.5*sin(time*1.414); +per_frame_32=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_33=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_34=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_35=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_36=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_37=xpos = xpos + 0.001*xspeed; +per_frame_38=dx = 0.1*xpos; +per_frame_39=q2 = xpos; +per_frame_40=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_41=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_42=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_43=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_44=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_45=ypos = ypos + 0.001*yspeed; +per_frame_46=dy =0.1*ypos; +per_frame_47=q4 = ypos; +per_frame_48=ib_a = if(beat,1,0); +per_frame_49=ob_a = if(beat,1,0); +per_pixel_1=box =0.05+2*x%2+2*y%2; +per_pixel_2=q1 = 6.4+1.4*(sin(x+(0.6*time))-cos(y+(0.432*time))); +per_pixel_3=zoom = if(above(box,1),q1*0.1,zoom); +per_pixel_4=rot = if(above(box,1),3.5+ abs(sin(3*(q2+q4)))*(0.3*sin(0.385*time)+0.4*sin(time*0.254)+0.3*cos(time*0.311)),rot); +per_pixel_5=dx = if(above(box,1),q4*4,dx); +per_pixel_6=dy= if(above(box,1),q2*4,dy); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter - cancer of saints.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter - cancer of saints.milk new file mode 100755 index 0000000000..2426fca14f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter - cancer of saints.milk @@ -0,0 +1,320 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.015 +fWaveScale=0.010 +fWaveSmoothing=0.270 +fWaveParam=-0.400 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=5.996 +fWarpScale=1.331 +fZoomExponent=1.01000 +fShader=0.000 +zoom=0.99853 +rot=0.00200 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.100 +wave_y=0.900 +ob_size=0.010 +ob_r=0.000 +ob_g=0.900 +ob_b=0.200 +ob_a=1.000 +ib_size=0.000 +ib_r=0.201 +ib_g=0.500 +ib_b=0.500 +ib_a=1.000 +nMotionVectorsX=63.936 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.630 +mv_g=0.200 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=beatcounter =0; +per_frame_1=ob_r = 0.21 - 0.2*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724); +per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.025; +per_frame_6=ib_r = ib_r + 0.2*(0.6*sin(time*3.034)+0.4*cos(time*2.14)); +per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015)); +per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842)); +per_frame_9=dx = dx +0.001+abs(0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437))); +per_frame_10=dy = dy + abs(0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315))); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal((frame+.5)%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal((frame+.5)%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect; +per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_36=lastbeat = if(beat,time,lastbeat); +per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_38=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_39=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_40=beateven = (beatcounter+.5)%2; +per_frame_41=mode = if(beat,(mode+(int(rand(3))+1)+.5)%4,mode); +per_frame_42=echo_orient = mode; +per_frame_43=wave_a = if(beat,1,0); +per_frame_44=wave_r = wave_r + 0.2*sin(time*0.7854) - 0.2*beateven; +per_frame_45=wave_b = wave_b + 0.1*sin(time*0.8254) + 0.2*beateven; +per_frame_46=wave_g = wave_g + 0.1*sin(time*0.854) + 0.2*beateven; +per_frame_47=q6 = beat; +per_frame_48=wave_mode = if(beateven,7,0); +per_frame_49=mv_a = if(beat,if(equal(beatcounter,6),1,0),0); +per_frame_50=mv_r = if(mv_a,int(rand(2)),0); +per_frame_51=mv_b = if(mv_a,int(rand(2)),0); +per_frame_52=mv_g= if(mv_a,int(rand(2)),0); +per_pixel_1=box =0.5+0.8*((2*x+.5)%4+(2*y+.5)%2); +per_pixel_2=q1 = 8.45+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time)); +per_pixel_3=q7 = above(box,1); +per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom); +per_pixel_5=rot = if(q7,0.63*sin(0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot); +per_pixel_6=cx = cx - 0.15*sin(2*q4); +per_pixel_7=cy = cy + 0.14*sin(2*q2); +per_pixel_8=sx = if(q7,sx+q6*18,sx); +per_pixel_9=sy = if(q7,sy+q6*18,sy); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 4; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *8; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *8; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *8; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=`// ret += - 0.004 +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0; +warp_18=`ret -= ret.yzx*0.2 - 0.06; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`uv = 0.5 + (uv-0.5)*0.98; +comp_5=` float2 d = texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=`float4 noise = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(dx),lum(dy),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_10=` + time*float3(0,0,1)*0.2 ); +comp_11=`uv -= float2(lum(dx),lum(dy))*0.04; +comp_12=`ret = abs(GetPixel(uv)+GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv)); +comp_13=`ret *= lum(noise)*3; +comp_14=`ret = pow(ret,0.5); +comp_15=`ret=1-ret; +comp_16=`} diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter 2.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter 2.milk new file mode 100755 index 0000000000..77456b927b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter 2.milk @@ -0,0 +1,125 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=100.000000 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.100000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.201000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=5.760000 +nMotionVectorsY=4.680001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.600000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.21 - 0.2*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724); +per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.025; +per_frame_6=ib_r = ib_r + 0.2*(0.6*sin(time*3.034)+0.4*cos(time*2.14)); +per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015)); +per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842)); +per_frame_9=dx = dx +0.001+abs(0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437))); +per_frame_10=dy = dy + abs(0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315))); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect; +per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_36=lastbeat = if(beat,time,lastbeat); +per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_38=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_39=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_40=beateven = beatcounter%2; +per_frame_41=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_42=echo_orient = mode; +per_frame_43=wave_a = if(beat,1,0); +per_frame_44=wave_r = wave_r + 0.2*sin(time*0.7854) - 0.2*beateven; +per_frame_45=wave_b = wave_b + 0.1*sin(time*0.8254) + 0.2*beateven; +per_frame_46=wave_g = wave_g + 0.1*sin(time*0.854) + 0.2*beateven; +per_frame_47=q6 = beat; +per_frame_48=wave_mode = if(beateven,7,0); +per_frame_49=mv_a = if(beat,if(equal(beatcounter,6),1,0),0); +per_frame_50=mv_r = if(mv_a,rand(2),0); +per_frame_51=mv_b = if(mv_a,rand(2),0); +per_frame_52=mv_g= if(mv_a,rand(2),0); +per_pixel_1=box =0.5+0.8*(2*x%4+2*y%2); +per_pixel_2=q1 = 8.45+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time)); +per_pixel_3=q7 = above(box,1); +per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom); +per_pixel_5=rot = if(q7,0.63*sin(0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot); +per_pixel_6=cx = cx - 0.15*sin(2*q4); +per_pixel_7=cy = cy + 0.14*sin(2*q2); +per_pixel_8=sx = if(q7,sx+q6*18,sx); +per_pixel_9=sy = if(q7,sy+q6*18,sy); +per_frame_init_1=beatcounter =0; diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter.milk new file mode 100755 index 0000000000..ec0d29490c --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Fractal Encounter.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.100000 +wave_y=0.900000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=63.936001 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.630000 +mv_g=0.200000 +mv_b=0.300000 +mv_a=0.000000 +per_frame_1=ob_r = 0.4 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724); +per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.025; +per_frame_6=ib_r = ib_r + 0.5*(0.6*sin(time*3.034)+0.4*cos(time*2.14)); +per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015)); +per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842)); +per_frame_9=dx = dx -0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437)); +per_frame_10=dy = dy - 0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315)); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect; +per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_36=lastbeat = if(beat,time,lastbeat); +per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_38=mode = (mode+beat*(rand(3)+1))%4; +per_frame_39=echo_orient = mode; +per_frame_40=wave_a = 0; +per_frame_41=q6 = beat; +per_pixel_1=box =0.5+0.8*(2*x%4+2*y%2); +per_pixel_2=q1 = 8.05+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time)); +per_pixel_3=q7 = above(box,1); +per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom); +per_pixel_5=rot = if(q7,0.63*sin(0.5*rad+0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot); +per_pixel_6=cx = cx - 0.05*sin(rad+2*q4); +per_pixel_7=cy = cy + 0.04*sin(((0.5*sqrt(2))-rad)-2*q2); +per_pixel_8=sx = if(q7,sx+q6*18,sx); +per_pixel_9=sy = if(q7,sy+q6*18,sy); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit (Twisted Mix).milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit (Twisted Mix).milk new file mode 100755 index 0000000000..006f14f630 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit (Twisted Mix).milk @@ -0,0 +1,94 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=cx = cx - 0.1*sin(time*0.542); +per_frame_5=cy = cy + 0.1*sin(time*0.753); +per_frame_6=warp =0; +per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_15=lastbeat = if(beat,time,lastbeat); +per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_18=oldq5 = q5; +per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_20=oldq3 = q3; +per_frame_21=my_ib_size = 0.02; +per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); +per_frame_23=old_ib_size = ib_size; +per_frame_24=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_25=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_26=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_27=dx = dx -0.008*sin(time*0.23); +per_frame_28=dy = dy - 0.008*sin(time*0.2); +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=dx = if(above(box,1),sin(0.542*time),dx); +per_pixel_5=dy= if(above(box,1),sin(0.581*time),dy); +per_pixel_6=zoomexp = if(above(box,1),3,1); diff --git a/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit.milk b/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit.milk new file mode 100755 index 0000000000..ad3bb12477 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Harlequin's Spirit.milk @@ -0,0 +1,90 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); +per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); +per_frame_16=oldq5 = q5; +per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); +per_frame_18=oldq3 = q3; +per_frame_19=ib_size = 0.02; +per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); +per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); +per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); +per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); +per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); +per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; +per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); +per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); +per_pixel_4=rot = if(above(box,1),sin(0.885*time),0); +per_pixel_5=dx = if(above(box,1),sin(0.542*time),dx); +per_pixel_6=dy= if(above(box,1),sin(0.581*time),dy); diff --git a/presets/presets_tryptonaut/Rovastar - Hyperspace (Frozen Rapture Mix).milk b/presets/presets_tryptonaut/Rovastar - Hyperspace (Frozen Rapture Mix).milk new file mode 100755 index 0000000000..5e647ecde0 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Hyperspace (Frozen Rapture Mix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.973000 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=1 +fWaveAlpha=0.900000 +fWaveScale=2.905229 +fWaveSmoothing=0.600000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.999835 +fShader=0.000000 +zoom=0.999682 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_frame_10=echo_zoom = 1+q1; +per_pixel_1=zoom = 1.01 + rad*0.15*q1; diff --git a/presets/presets_tryptonaut/Rovastar - Hyperspace (Hyper Speed Mix).milk b/presets/presets_tryptonaut/Rovastar - Hyperspace (Hyper Speed Mix).milk new file mode 100755 index 0000000000..01818dc7a7 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Hyperspace (Hyper Speed Mix).milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.973000 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=2.905229 +fWaveSmoothing=0.600000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.999835 +fShader=0.000000 +zoom=0.999682 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.5*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_pixel_1=zoom = 1.01 + rad*0.15*q1; diff --git a/presets/presets_tryptonaut/Rovastar - Hyperspace.milk b/presets/presets_tryptonaut/Rovastar - Hyperspace.milk new file mode 100755 index 0000000000..f691879f80 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Hyperspace.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.973000 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=2.905229 +fWaveSmoothing=0.600000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=0.999835 +fShader=0.000000 +zoom=0.999682 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=1.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q1 = 0.05*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=//q1 = 0.6*(bass+bass_att); +per_frame_9=mv_a = if(above(bass-1.2,1),1,bass-1.2); +per_pixel_1=zoom = 1.01 + rad*0.15*q1; diff --git a/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk new file mode 100755 index 0000000000..a749f5ed65 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk @@ -0,0 +1,253 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.521); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.900000 +shapecode_3_y=0.900000 +shapecode_3_rad=0.181670 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 +0.4*sin(0.1*q8); +shape_3_per_frame2=y = 0.5+0.4*sin(q7*0.19653); +shape_3_per_frame3=textured =1; +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Distant Memories Mix).milk b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Distant Memories Mix).milk new file mode 100755 index 0000000000..3b706ea678 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Distant Memories Mix).milk @@ -0,0 +1,259 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.05*sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.1*sin(time); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.449770 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.15*sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.2*sin(time);; +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_19=//q7 =0; +per_frame_20=decay =0.1; +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk new file mode 100755 index 0000000000..14e251c554 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.700000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986); +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846); +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521); +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Strange Cargo Mix).milk b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Strange Cargo Mix).milk new file mode 100755 index 0000000000..cfe206fef4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Inner Thoughts (Strange Cargo Mix).milk @@ -0,0 +1,260 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.018000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621747 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=0.424973 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.600000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//tex_zoom = 0.05*q6; +shape_0_per_frame2=a =1; +shape_0_per_frame3=a1=1; +shape_0_per_frame4=//tex_zoom =0.1; +shape_0_per_frame5=x = 0.5 + 0.1*sin(q7*0.986)+0.01; +shape_0_per_frame6=y = 0.5 + 0.1*sin(q7*0.846)+0.01;; +shape_0_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.05*sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.621747 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.884956 +shapecode_1_tex_zoom=0.424973 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.600000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//tex_zoom = 0.05*q6; +shape_1_per_frame2=a =1; +shape_1_per_frame3=a1=1; +shape_1_per_frame4=//tex_zoom =0.1; +shape_1_per_frame5=x = 0.5 + 0.1*sin(q7*0.986)+0.02; +shape_1_per_frame6=y = 0.5 + 0.1*sin(q7*0.846)+ 0.02; +shape_1_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.1*sin(time); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.621747 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.424973 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.600000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//tex_zoom = 0.05*q6; +shape_2_per_frame2=a =1; +shape_2_per_frame3=a1=1; +shape_2_per_frame4=//tex_zoom =0.1; +shape_2_per_frame5=x = 0.5 + 0.1*sin(q7*0.986)+0.03; +shape_2_per_frame6=y = 0.5 + 0.1*sin(q7*0.846)+0.03; +shape_2_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.15*sin(time); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.621747 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.884956 +shapecode_3_tex_zoom=0.424973 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=//tex_zoom = 0.05*q6; +shape_3_per_frame2=a =1; +shape_3_per_frame3=a1=1; +shape_3_per_frame4=//tex_zoom =0.1; +shape_3_per_frame5=x = 0.5 + 0.1*sin(q7*0.986) +0.04; +shape_3_per_frame6=y = 0.5 + 0.1*sin(q7*0.846) +0.04; +shape_3_per_frame7=tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.2*sin(time);; +per_frame_init_1=q8 =0; +per_frame_init_2=q7=0; +per_frame_1=wave_r = 0.5+ 0.2*(bass-1); +per_frame_2=wave_g = 0.5+ 0.2*(mid-1.2); +per_frame_3=wave_b = 0.5+ 0.2*(treb-.5); +per_frame_4=warp =0; +per_frame_5=ob_r = 1-wave_r; +per_frame_6=ob_g = 1-wave_g; +per_frame_7=ob_b = 1-wave_b; +per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4123); +per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_12=oldq8 = q8; +per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); +per_frame_14=oldq7 = q7; +per_frame_15=wave_a =0; +per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); +per_frame_17=dx = 0.1*sin(1.143*q8); +per_frame_18=q6 = 15+0.1*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); +per_frame_19=//q7 =0; +per_frame_20=decay =0.2; +per_frame_21=decay =0.1*(bass_att+bass); +per_pixel_1=//dx=dx+0.5*sin((y-0.5)*128); +per_pixel_2=dy=dy+0.008*cos((x-0.5 - 0.1*sin(q7))*(q6)); diff --git a/presets/presets_tryptonaut/Rovastar - Jester's Surreal Tornado.milk b/presets/presets_tryptonaut/Rovastar - Jester's Surreal Tornado.milk new file mode 100755 index 0000000000..9b4f4627ba --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Jester's Surreal Tornado.milk @@ -0,0 +1,87 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.980000 +ob_size=0.014500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.6 + 0.4*sin(time*0.894); +per_frame_3=ib_g = 0.43 + 0.13*sin(time*7.143); +per_frame_4=ib_b = 0.5+ 0.33*sin(time*0.465); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=dx = 1.1* dx_r; +per_frame_9=dy = 1.1* dy_r; +per_frame_10=q2 = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); +per_frame_11=q2 =q2*15 + if(above(dx_r,0),0.04 + 0.01*sin(time*0.573),-0.04+ 0.01*sin(time*0.573)); +per_frame_12=mv_l =10000; +per_frame_13=mv_y =2.0; +per_frame_14=mv_dy = -0.1; +per_frame_15=mv_r =0.7+0.148*(ib_r+ib_b); +per_frame_16=mv_b =1-0.2*(ib_r+ib_b); +per_frame_17=mv_g =0.6+ 0.19*(ib_g+ib_r); +per_frame_18=zoom = zoom -0.02*thresh + 0.01; +per_frame_19=wave_r = ib_r; +per_frame_20=wave_b = ib_b; +per_frame_21=wave_g = ib_g; +per_frame_22=ob_r = 1-ib_g; +per_frame_23=ob_b = 0.5*(ib_r+ib_g); +per_pixel_1=rot = q2*(1-rad); diff --git a/presets/presets_tryptonaut/Rovastar - Kalideostars (Altars Of Madness MIx).milk b/presets/presets_tryptonaut/Rovastar - Kalideostars (Altars Of Madness MIx).milk new file mode 100755 index 0000000000..fedfbdfc8e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Kalideostars (Altars Of Madness MIx).milk @@ -0,0 +1,209 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.621810 +fWaveSmoothing=0.558000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.799995 +nMotionVectorsY=2.879900 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x=x+0.5+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +wave_2_per_point2=y=y+0.5+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.193000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=sides = 40*q7; +shape_0_per_frame2=sides = 9; +shape_0_per_frame3=ang = q8*3.4; +shape_0_per_frame4=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_0_per_frame5=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_0_per_frame6=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame7=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame8=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame9=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame10=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame11=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.340000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.040000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.900000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=sides = 3; +shape_1_per_frame2=ang = q8*2.15; +shape_1_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_1_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_1_per_frame5=r = 0.5 - 0.5*sin(time*1.43 + 1); +shape_1_per_frame6=g = 0.5 - 0.5*sin(time*0.583 + 2); +shape_1_per_frame7=b = 0.5 - 0.5*sin(time*0.751 + 5); +shape_1_per_frame8=r2 = 0.5 + 0.5*sin(time*2.845 + 4); +shape_1_per_frame9=g2 = 0.5 + 0.5*sin(time*0.756+ 1); +shape_1_per_frame10=b2 = 0.5 + 0.5*sin(time*0.688 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.350000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.040000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.300000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.400000 +shape_2_per_frame1=sides = 360; +shape_2_per_frame2=ang = q8*1.4; +shape_2_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_2_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_2_per_frame5=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame6=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame7=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame8=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame9=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame10=b2 = 0.5 + 0.5*sin(q8*0.638 + 3); +per_frame_1=wave_r = wave_r + 0.3*( 0.60*sin(0.633*time) + 0.40*sin(0.845*time) ); +per_frame_2=wave_g = wave_g + 0.3*( 0.60*sin(0.370*time) + 0.40*sin(0.656*time) ); +per_frame_3=wave_b = wave_b + 0.3*( 0.60*sin(0.740*time) + 0.40*sin(0.520*time) ); +per_frame_4=//zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=//rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=zoom=zoom+(q7)*0.01; +per_frame_11=q1 = 0.5 + 0.2*cos(q8*0.87); +per_frame_12=q2 = 0.5 + 0.2*sin(q8*0.87); +per_pixel_1=dx=dx+0.003*sin((y*2-1)*64)+0.001*sin((y*2-1)*96); +per_pixel_2=dy=dy+0.004*cos((x*2-1)*64)+0.002*cos((x*2-1)*96); diff --git a/presets/presets_tryptonaut/Rovastar - Kalideostars (Round Round Mix).milk b/presets/presets_tryptonaut/Rovastar - Kalideostars (Round Round Mix).milk new file mode 100755 index 0000000000..57f5f34715 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Kalideostars (Round Round Mix).milk @@ -0,0 +1,210 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.621810 +fWaveSmoothing=0.558000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000012 +rot=0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=28.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x=x+0.5+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +wave_2_per_point2=y=y+0.5+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.193000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=sides = 40*q7; +shape_0_per_frame2=sides = 9; +shape_0_per_frame3=ang = q8*3.4; +shape_0_per_frame4=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_0_per_frame5=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_0_per_frame6=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame7=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame8=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame9=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame10=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame11=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.340000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.040000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.900000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=sides = 3; +shape_1_per_frame2=ang = q8*2.15; +shape_1_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_1_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_1_per_frame5=r = 0.5 - 0.5*sin(time*1.43 + 1); +shape_1_per_frame6=g = 0.5 - 0.5*sin(time*0.583 + 2); +shape_1_per_frame7=b = 0.5 - 0.5*sin(time*0.751 + 5); +shape_1_per_frame8=r2 = 0.5 + 0.5*sin(time*2.845 + 4); +shape_1_per_frame9=g2 = 0.5 + 0.5*sin(time*0.756+ 1); +shape_1_per_frame10=b2 = 0.5 + 0.5*sin(time*0.688 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.350000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.040000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.300000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.400000 +shape_2_per_frame1=sides = 360; +shape_2_per_frame2=ang = q8*1.4; +shape_2_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_2_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_2_per_frame5=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame6=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame7=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame8=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame9=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame10=b2 = 0.5 + 0.5*sin(q8*0.638 + 3); +per_frame_1=wave_r = wave_r + 0.3*( 0.60*sin(0.633*time) + 0.40*sin(0.845*time) ); +per_frame_2=wave_g = wave_g + 0.3*( 0.60*sin(0.370*time) + 0.40*sin(0.656*time) ); +per_frame_3=wave_b = wave_b + 0.3*( 0.60*sin(0.740*time) + 0.40*sin(0.520*time) ); +per_frame_4=//zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=//rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=zoom=1+(q7)*0.01; +per_frame_11=q1 = 0.5 + 0.2*cos(q8*0.87); +per_frame_12=q2 = 0.5 + 0.2*sin(q8*0.87); +per_frame_13=wave_a =0; +per_pixel_1=//dx=dx+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +per_pixel_2=//dy=dy+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); diff --git a/presets/presets_tryptonaut/Rovastar - Kalideostars.milk b/presets/presets_tryptonaut/Rovastar - Kalideostars.milk new file mode 100755 index 0000000000..f4677a5b2f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Kalideostars.milk @@ -0,0 +1,210 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=1.000000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.621810 +fWaveSmoothing=0.558000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.870000 +fModWaveAlphaEnd=1.289900 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.700000 +wave_g=0.700000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=28.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x=x+0.5+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +wave_2_per_point2=y=y+0.5+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.193000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=sides = 40*q7; +shape_0_per_frame2=sides = 9; +shape_0_per_frame3=ang = q8*3.4; +shape_0_per_frame4=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_0_per_frame5=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_0_per_frame6=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame7=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame8=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame9=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame10=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame11=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.340000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.040000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.900000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=sides = 3; +shape_1_per_frame2=ang = q8*2.15; +shape_1_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_1_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_1_per_frame5=r = 0.5 - 0.5*sin(time*1.43 + 1); +shape_1_per_frame6=g = 0.5 - 0.5*sin(time*0.583 + 2); +shape_1_per_frame7=b = 0.5 - 0.5*sin(time*0.751 + 5); +shape_1_per_frame8=r2 = 0.5 + 0.5*sin(time*2.845 + 4); +shape_1_per_frame9=g2 = 0.5 + 0.5*sin(time*0.756+ 1); +shape_1_per_frame10=b2 = 0.5 + 0.5*sin(time*0.688 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.350000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.040000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.300000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.400000 +shape_2_per_frame1=sides = 360; +shape_2_per_frame2=ang = q8*1.4; +shape_2_per_frame3=x = 0.5 + 0.18*cos(q8*0.5) + 0.03*cos(time*0.7); +shape_2_per_frame4=y = 0.5 + 0.18*sin(q8*0.5) + 0.03*sin(time*0.7); +shape_2_per_frame5=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame6=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame7=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame8=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame9=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame10=b2 = 0.5 + 0.5*sin(q8*0.638 + 3); +per_frame_1=wave_r = wave_r + 0.3*( 0.60*sin(0.633*time) + 0.40*sin(0.845*time) ); +per_frame_2=wave_g = wave_g + 0.3*( 0.60*sin(0.370*time) + 0.40*sin(0.656*time) ); +per_frame_3=wave_b = wave_b + 0.3*( 0.60*sin(0.740*time) + 0.40*sin(0.520*time) ); +per_frame_4=//zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=//rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=zoom=1+(q7)*0.01; +per_frame_11=q1 = 0.5 + 0.2*cos(q8*0.87); +per_frame_12=q2 = 0.5 + 0.2*sin(q8*0.87); +per_frame_13=wave_a =0; +per_pixel_1=//dx=dx+0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64); +per_pixel_2=//dy=dy+0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48); diff --git a/presets/presets_tryptonaut/Rovastar - LabFunk.milk b/presets/presets_tryptonaut/Rovastar - LabFunk.milk new file mode 100755 index 0000000000..bcf1bbef7b --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - LabFunk.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.940000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=10.039368 +fWaveScale=0.461371 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999922 +fShader=0.000000 +zoom=0.773208 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.310000 +ob_g=0.200000 +ob_b=0.100000 +ob_a=0.200000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.050000 +ib_b=0.000000 +ib_a=0.300000 +per_frame_1=tt = time/100; +per_frame_2=ob_size = abs(cos(time))/5 - 0.3 + bass/8; +per_frame_3=ib_size = abs(sin(time))/5 - 0.3 + treble/7; +per_frame_4=ob_r = sin(3*tt)/4+0.75; +per_frame_5=ib_b = sin(tt)/2 +0.5; +per_frame_6=ob_a = 2*bass_att-0.5 ; +per_frame_7=ib_a = 2*treble_att-0.5; +per_frame_8=wave_r = sin(4*tt)/3 +0.3; +per_frame_9=wave_b = atan(3*tt)/2 +1; +per_frame_10=wave_g = cos(tt)/2 + 1; +per_pixel_1=rot = if(above(bass_att,1.1),-sin(rad)/2, sin(rad)/2); +per_pixel_2=cx = abs(sin(rad)); diff --git a/presets/presets_tryptonaut/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk b/presets/presets_tryptonaut/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk new file mode 100755 index 0000000000..7582a5f420 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk @@ -0,0 +1,99 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.999000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=0.316113 +fWaveSmoothing=0.594000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000995 +sy=1.000000 +wave_r=0.050000 +wave_g=0.100000 +wave_b=0.100000 +wave_x=0.920000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.030000 +ob_b=0.070000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.040000 +nMotionVectorsX=63.936001 +nMotionVectorsY=1.056000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.7+0.3*sin(time*1.125) + 0.1*sin(time*0.145) + 0.1*tan(frame); +per_frame_2=wave_y = wave_y + 0.1*sin(20*time); +per_frame_3=sx = 1.0006; +per_frame_4=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_5=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_6=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_7=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_8=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_9=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_10=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_11=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_12=lastbeat = if(beat,time,lastbeat); +per_frame_13=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_14=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_15=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_16=beateven = beatcounter%2; +per_frame_17=monitor = beatcounter; +per_frame_18=wave_b = if(LifeSign,1-0.05*beatcounter+0.2*sin(time*0.142),wave_b); +per_frame_19=wave_g = if(LifeSign,1-0.05*beatcounter+0.2*sin(time*0.265),wave_g); +per_frame_20=Darkness = if(above(beatcounter,0),if(below(beatcounter,5),1,0),0); +per_frame_21=ib_b = 0.3+0.13*(sin(0.87*time)-1.15*sin(time*0.365)); +per_frame_22=ib_r = 0.3+0.13*(sin(0.97*time)-0.8*sin(time*0.365)); +per_frame_23=ib_g = 0.3+0.13*(sin(0.831*time)-1.1*sin(time*0.665)); +per_frame_24=ib_r = if(Darkness,0.6,ib_r); +per_frame_25=ib_b = if(Darkness,0.6,ib_b); +per_frame_26=ib_g = if(Darkness,0.6,ib_g); +per_frame_27=ib_a = if(Darkness,0.3-0.05*beatcounter,ib_a); +per_frame_28=LifeSign = Beat; +per_frame_29=wave_mode = if(LifeSign,0,wave_mode); +per_frame_30=wave_mystery = if(LifeSign,-0.5,wave_mystery); +per_frame_31=wave_y = if(LifeSIgn,0.9,wave_y); +per_frame_32=wave_x = if(LifeSIgn,0.5-0.45*sin(bass*treb*50),wave_x); +per_frame_33=wave_r = if(LifeSign,0.6,wave_r); +per_pixel_1=dy = 0.0003+0.009*(y+0.05*(bass+bass_att)); +per_pixel_2=dx = 0.0003*sin(rad-time+(0.5*ang)); +per_frame_init_1=beatcounter = 0; diff --git a/presets/presets_tryptonaut/Rovastar - Magic Carpet.milk b/presets/presets_tryptonaut/Rovastar - Magic Carpet.milk new file mode 100755 index 0000000000..4f97847579 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Magic Carpet.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.994000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=8 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.013223 +fWaveSmoothing=0.630000 +fWaveParam=-0.340000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.100000 +wave_y=0.860000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=ib_r = 0.5+0.5*sin(1.123*q8); +per_frame_5=ib_g = 0.5+0.5*sin(q8*1.576); +per_frame_6=ib_b = 0.5+0.5*cos(q8*1.465); +per_frame_7=wave_a=0; +per_frame_8=decay = 0.990 + abs(0.01*sin(0.321*q8)); +per_pixel_1=dx = 0.008*sin(100*y+(q8*y)); +per_pixel_2=dy = 0.008*sin(100*x+(q8*x)); +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Rovastar - Mosaics Of Ages.milk b/presets/presets_tryptonaut/Rovastar - Mosaics Of Ages.milk new file mode 100755 index 0000000000..006b1a6f8e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Mosaics Of Ages.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.640100 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.010000 +fShader=0.000000 +zoom=0.998531 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.900000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=9.599999 +nMotionVectorsY=9.000000 +mv_dx=-0.220000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.6- 0.4*sin(time*2.924); +per_frame_3=ob_b = 0.35 - 0.3*cos(time*0.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.02; +per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); +per_frame_7=ib_g = ib_g + 0.5*sin(time*2.547); +per_frame_8=ib_b = ib_b - 0.5*sin(time*1.431); +per_frame_9=dx = dx -0.008*sin(time*0.23); +per_frame_10=dy = dy - 0.008*sin(time*0.2); +per_frame_11= +per_frame_12=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_13=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_14=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_17=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_20=lastbeat = if(beat,time,lastbeat); +per_frame_21=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_22=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_23=beateven = beatcounter%2; +per_frame_24=//dx = dx + beateven*0.01; +per_frame_25=q2 = beateven; +per_pixel_1=qx = (0&(x*10-0.5))*0.1+0.05; +per_pixel_2=qy = (0&(y*10-0.5))*0.1+0.05; +per_pixel_3=box=(1-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2; +per_pixel_4=box = 3*qy+3*qx; +per_pixel_5=q1 = 8.05+(sin(x+0.137*time)-cos(y+0.213*time)); +per_pixel_6=zoom = if(above(box,1.5),q1*.1,zoom); +per_pixel_7=rot = if(above(box,1.5),1*sin(0.385*time),rot); +per_pixel_8=cx= q2*(0&(x*4-0.5))*0.25+0.05; +per_pixel_9=cy= q2*(0&(y*4-0.5))*0.25+0.05; diff --git a/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 1.milk b/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 1.milk new file mode 100755 index 0000000000..eb0efd6a7f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 1.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.704175 +fWaveScale=0.031716 +fWaveSmoothing=0.630000 +fWaveParam=-0.800000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = 2; +per_frame_3=zoom = 1.4 +0.15*cos(time*0.42); +per_frame_4=rot = 0.01*sin(1.34*time); +per_frame_5=dx = 0.005*sin(time*0.646); +per_frame_6=dy=0.005*sin(time*0.314); +per_frame_7=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_8=cy = 0.5 +0.05*sin(0.413*time); diff --git a/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 3.milk b/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 3.milk new file mode 100755 index 0000000000..3875df4463 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Multiverse Starfield 3.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.300000 +fDecay=0.960000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.704175 +fWaveScale=0.031716 +fWaveSmoothing=0.630000 +fWaveParam=-0.800000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = 2; +per_pixel_1=zoom = 1.8 +0.04*cos(time*0.857) + atan(atan(0.5*sqrt(2)-rad)*1.5*rad); +per_pixel_2=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); +per_pixel_3=dx = 0.02*sin(time*0.46)*(0.5*sqrt(2)-rad)+0.015*sin(time*0.511); +per_pixel_4=dy=0.02*sin(time*0.54)*(0.5*sqrt(2)-rad)+0.013*cos(time*0.633); +per_pixel_5=cx = 0.5 + 0.1*sin(0.97*time)*(rad*rad); +per_pixel_6=cy = 0.5 +0.1*sin(0.613*time)*(rad*rad); +per_pixel_7=zoomexp = 0.8-0.2*(1-rad)+0.2*sin(-rad*rad)+0.1*sin(time*0.669); diff --git a/presets/presets_tryptonaut/Rovastar - Omnipresence Resurrection (Raw Mix).milk b/presets/presets_tryptonaut/Rovastar - Omnipresence Resurrection (Raw Mix).milk new file mode 100755 index 0000000000..14ff6a3e2a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Omnipresence Resurrection (Raw Mix).milk @@ -0,0 +1,86 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos; +per_frame_22=wave_a = 0; +per_pixel_1=zoom = log(sqrt(2)-rad) -0.24; diff --git a/presets/presets_tryptonaut/Rovastar - Oozing Resistance.milk b/presets/presets_tryptonaut/Rovastar - Oozing Resistance.milk new file mode 100755 index 0000000000..9a4db6d00f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Oozing Resistance.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=ob_r = 0.5+0.5*sin(2*time); +per_frame_2=ob_g = 0.5+0.5*sin(1.23*time); +per_frame_3=ob_b = 0.5+0.5*sin(time*1.321); +per_frame_4=wave_a =0; +per_frame_5=q8 =oldq8+ 0.003*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=warp=0; +per_pixel_1=rot = 0.1*(rad+cos((5+5*sin(q8*1.211)*x)-0.5) -sin(((5+5*sin(q8*0.973))*y)-0.5)); +per_pixel_2=dx = 0.005*(cos((5+5*sin(q8*1.311)*x)-0.5) -sin(((5+5*sin(q8*0.9431))*y)-0.5)); +per_pixel_3=dy = 0.005*(cos((5+5*sin(q8*1.021)*x)-0.5) -sin(((5+5*sin(q8*0.987))*y)-0.5)); +per_pixel_4=zoom =1- 0.005*(rad+cos((5+5*sin(q8*0.943)*x)-0.5) -sin(((5+5*sin(q8*1.0961))*y)-0.5)); diff --git a/presets/presets_tryptonaut/Rovastar - Pandora's Volcano.milk b/presets/presets_tryptonaut/Rovastar - Pandora's Volcano.milk new file mode 100755 index 0000000000..83ac6f6d62 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Pandora's Volcano.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.627609 +fWaveSmoothing=0.108000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.070500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.040000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.059900 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=tt = time/2; +per_frame_2=wave_r = 1; +per_frame_3=wave_b = 0.4 + sin(tt)/3; +per_frame_4=wave_g = 0.5 - cos(2*tt)/4; +per_frame_5=sy = 1.1 + progress/10; +per_pixel_1=sx = tan(pow(y,2))-log(y); +per_pixel_2=zoom = 1.0 + sin(rad)/5 + progress/10; diff --git a/presets/presets_tryptonaut/Rovastar - Parallel Universe.milk b/presets/presets_tryptonaut/Rovastar - Parallel Universe.milk new file mode 100755 index 0000000000..a1c6dd2035 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Parallel Universe.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.032378 +fWaveSmoothing=0.630000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.045000 +wave_y=0.940000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.400000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5+0.5*sin(time); +per_frame_2=wave_r = 0.5+0.5*sin(time); +per_frame_3=xwave_a = 0; +per_frame_4=ib_b = 0.5+0.3*sin(time*2.314); +per_frame_5=ib_r = 0.7+0.3*sin(time*1.867); +per_frame_6=q8 = if(above(bass,1.2),2*bass,0.5); +per_frame_7=q7 = if(above(bass_att,1.2),2*bass_att,0.5); +per_frame_8=q6 = if(above(bass+bass_att,2.3),bass+bass_att,0.5); +per_frame_9=warp =0; +per_frame_10=q5 = if(above(treb+treb_att,2.8),1,0); +per_frame_11=monitor = q5; +per_frame_12=ib_g = q5; +per_pixel_1=myx = x-0.5; +per_pixel_2=myy = y-0.5; +per_pixel_3=q1 =0.1*sqrt(x*x+y*y); +per_pixel_4=q1 = 0.05*(x+y); +per_pixel_5=dy = q1*abs(sin(50*bass)); +per_pixel_6=dx = q1*abs(sin(50*bass_att)); +per_pixel_7=dy = 0.2*q1*q6; +per_pixel_8=dx=0.2*q1*q6; diff --git a/presets/presets_tryptonaut/Rovastar - Ritual Halostar.milk b/presets/presets_tryptonaut/Rovastar - Ritual Halostar.milk new file mode 100755 index 0000000000..f7adc7447a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Ritual Halostar.milk @@ -0,0 +1,342 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.720 +fDecay=1.000 +fVideoEchoZoom=1.006 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.782 +fWaveScale=0.590 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=7.52390 +fShader=0.000 +zoom=1.00990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp=0; +per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1)); +per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time))); +per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49)); +per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0); +per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10); +per_frame_7=q1=state; +per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10; +per_frame_9=// timed sidon sensor +per_frame_10=// le = signal level; desired average value = 2 +per_frame_11=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_12=pulse=above(le,th); +per_frame_13=// pulsefreq = running average of interval between last 5 pulses +per_frame_14=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_16=lastpulse=if(pulse,time,lastpulse); +per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_19=// hccp = handcicap for th driven by bt +per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_22=beat=band(above(le,th+hccp),btblock); +per_frame_23=btblock=1-above(le,th+hccp); +per_frame_24=lastbeat=if(beat,time,lastbeat); +per_frame_25=beatfreq=if(equal(beatfreq,0),2, +per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_27=// th = threshold +per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_30=th=if(above(th,6),6,th); +per_frame_31=q3=30/fps; +per_frame_32=ccl=ccl+beat; +per_frame_33=minorccl=minorccl+.01*le; +per_frame_34=q4=beat; +per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter); +per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_37=beateven = beatcounter%2; +per_frame_38=q5 = beateven; +per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_40=oldq8 = q8; +per_frame_41=q9 = 0.0125*(q8 + time); +per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2; +per_pixel_2=cx = grid; +per_pixel_3=cy = grid; +per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07); +per_pixel_5=rot = 0.01*(1-rad); +per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64)); +per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48)); +warp_1=`#define sampler_pic sampler_cells +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum*0.8+0.1 - (0.5+roam_cos.y*0.25)); +warp_16=` float LFNoise = tex2D(sampler_noise_lq, uv*0.1 + time*0.01).x*6-2; +warp_17=` use_it = saturate(1 - use_it*(3+9*rand_preset.x) - LFNoise); +warp_18=` ret = lerp(ret, pic, use_it.xxx); +warp_19=` +warp_20=` // darken over time +warp_21=` //ret -= 0.004; +warp_22=` //ret *= 0.99; +warp_23=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_24=`} +warp_25=` +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += q9; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` //float fins = 1 + floor(rand_preset.z*5.95); +comp_20=` float fins = 3 + floor(rand_preset.z*2.95); +comp_21=` +comp_22=` #if 1 // SHARP FINS +comp_23=` ang2 = frac(ang2*fins)/fins; +comp_24=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_25=` ang2 = abs(ang2 - 0.5/fins); +comp_26=` #else // COSINE FINS - a bit slow +comp_27=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_28=` #endif +comp_29=` +comp_30=` // RADIAL KALEIDOSCOPING? +comp_31=` #if 0 +comp_32=` rad2 *= g_fTexSize.z; +comp_33=` // choose one: +comp_34=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_35=` rad2 = cos(rad2*5); +comp_36=` //rad2 = sqrt(rad2)*0.5; +comp_37=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_38=` //rad2 += cos(rad2*61)*0.02; +comp_39=` rad2 *= g_fTexSize.x; +comp_40=` #endif +comp_41=` +comp_42=` ang2 *= M_PI_2; +comp_43=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_44=` +comp_45=` ret = tex2D(sampler_main, uv2).xyz; +comp_46=` ret *= 1.2; // a little bit of overbright +comp_47=`} diff --git a/presets/presets_tryptonaut/Rovastar - Sea Shells.milk b/presets/presets_tryptonaut/Rovastar - Sea Shells.milk new file mode 100755 index 0000000000..82be1335b5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Sea Shells.milk @@ -0,0 +1,243 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.893664 +fWaveSmoothing=0.600000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.995000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.002000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.400000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1- q2; +shape_0_per_frame3=r = 0.5 + 0.49*sin(time*0.467); +shape_0_per_frame4=b = 0.5 + 0.49*sin(time*0.568); +shape_0_per_frame5=g = 0.5 + 0.49*sin(time*0.669); +shape_0_per_frame6=r2 = 0.1*(bass+bass_att); +shape_0_per_frame7=b2 = r2; +shape_0_per_frame8=g2 = r2; +shape_0_per_frame9=rad = 0.5*r2 + 0.1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.250*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.480*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.370*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=warp=0; +per_frame_5=zoom =1; +per_frame_6=rot=0; +per_frame_7=decay =0.99; +per_frame_8=decay =1; +per_frame_9=ib_r = 0.16 + 0.15*sin(time*0.783); +per_frame_10=ib_g = 0.16 + 0.15*sin(time*0.895); +per_frame_11=ib_b = 0.75 +0.24*sin(time*1.134); +per_frame_12=ib_size = 0.005*above(bass+bass_att,2.8); +per_frame_13= +per_frame_14=movement =movement + 0.5*(((bass+bass_att + 0.075*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_15=movement = if(above(movement,10000), 0, movement); +per_frame_16= +per_frame_17=q1 = 0.5+0.1*sin(movement); +per_frame_18=q2 = 0.5-0.1*cos(0.781*movement); +per_frame_19=q3 = movement; +per_frame_20=wave_x = q1; +per_frame_21=wave_y = 1-q2; +per_pixel_1=newx =x- q1; +per_pixel_2=newy =y- q2; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=effect = newrad*((0.9+0.2*sin(q3*0.23))*y)*((0.9+0.2*sin(q3*0.197))*x); +per_pixel_5=dy=-0.007*cos(pow((sqrt(2)-effect),5)*10); +per_pixel_6=dx=-0.007*sin(pow((sqrt(2)-effect),5)*10); diff --git a/presets/presets_tryptonaut/Rovastar - Snapshot Of Space.milk b/presets/presets_tryptonaut/Rovastar - Snapshot Of Space.milk new file mode 100755 index 0000000000..97de147804 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Snapshot Of Space.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.981000 +fVideoEchoZoom=1.047463 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900000 +fWaveScale=2.905229 +fWaveSmoothing=0.600000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.630064 +fShader=0.000000 +zoom=1.031000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=24.986328 +nMotionVectorsY=20.030640 +mv_dx=0.064545 +mv_dy=0.109009 +mv_l=0.035858 +mv_r=0.816156 +mv_g=0.098993 +mv_b=0.816156 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=mv_r = wave_r; +per_frame_5=mv_b = wave_b; +per_frame_6=mv_g = wave_g; +per_frame_7=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_8=oldq8 = q8; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=q5_residual = equal(bass_thresh,2)*0.0064*sin(q8*5) + (1-equal(bass_thresh,2))*q5_residual; +per_frame_11=q6_residual = equal(bass_thresh,2)*0.0048*sin(q8*6) + (1-equal(bass_thresh,2))*q6_residual; +per_frame_12=dx=q5_residual ; +per_frame_13=dy=q6_residual ; +per_frame_14=q1 = 0.03*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_15=monitor = q1; +per_frame_16=mv_a = bass-1.2; +per_pixel_1=zoom = 0.9 + 0.1*q1 + rad*0.1; +per_pixel_2=zoomexp = 2*zoom; diff --git a/presets/presets_tryptonaut/Rovastar - Solarized Space (Space DNA Mix).milk b/presets/presets_tryptonaut/Rovastar - Solarized Space (Space DNA Mix).milk new file mode 100755 index 0000000000..8dff433539 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Solarized Space (Space DNA Mix).milk @@ -0,0 +1,236 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.882469 +fWaveScale=0.000000 +fWaveSmoothing=0.630000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.001500 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shape_0_per_frame10=sides = 360; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.5); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.5); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.4413 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*1.23 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.721 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.775 + 4); +shape_1_per_frame8=g2 = 0.5 - 0.5*sin(q8*0.676+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.738 + 3); +shape_1_per_frame10=sides = 360; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_17=cy = 0.5 +0.05*sin(0.413*time); +per_frame_18=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_19=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_20=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_21=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_22=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_23=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_24=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_25=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_26=lastbeat = if(beat,time,lastbeat); +per_frame_27=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_28=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_29=beatcounter = if(above(beatcounter,8), 0, beatcounter); +per_frame_30=beateven = beatcounter%4; +per_frame_31=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_32=beateven = if(equal(beateven,3),-1,beateven); +per_frame_33=beateven = if(equal(beateven,0),0.1*(myx+myy),beateven); +per_frame_34=beateven = if(equal(beateven,2),0.1*(-myx-myy),beateven); +per_frame_35=dx = 0.1*beateven*myx; +per_frame_36=dy = 0.1*beateven*myy; +per_frame_37=monitor = beateven; +per_frame_38=wave_a = Bass_thresh; +per_frame_39=zoom = 1.5 +0.25*myy; +per_frame_40=rot = myx*beateven; +per_frame_41=wave_x = 0.5 + 0.05*myx; +per_frame_42=wave_y=0.5 + 0.05*myy; +per_frame_43=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_44=oldq8 = q8; diff --git a/presets/presets_tryptonaut/Rovastar - Solarized Space.milk b/presets/presets_tryptonaut/Rovastar - Solarized Space.milk new file mode 100755 index 0000000000..662efaf244 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Solarized Space.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.994000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=1 +fWaveAlpha=1.882469 +fWaveScale=0.000000 +fWaveSmoothing=0.630000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.001500 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16= +per_frame_17=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_18=cy = 0.5 +0.05*sin(0.413*time); +per_frame_19=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_20=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_21=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_22=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_23=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_24=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_25=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_26=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_27=lastbeat = if(beat,time,lastbeat); +per_frame_28=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_29=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_30=beatcounter = if(above(beatcounter,8), 0, beatcounter); +per_frame_31=beateven = beatcounter%4; +per_frame_32=mode = if(beat,(mode+rand(3)+1)%4,mode); +per_frame_33=beateven = if(equal(beateven,3),-1,beateven); +per_frame_34=beateven = if(equal(beateven,0),0.1*(myx+myy),beateven); +per_frame_35=beateven = if(equal(beateven,2),0.1*(-myx-myy),beateven); +per_frame_36=dx = 0.1*beateven*myx; +per_frame_37=dy = 0.1*beateven*myy; +per_frame_38=monitor = beateven; +per_frame_39=wave_a = Bass_thresh; +per_frame_40=zoom = 1.5 +0.25*myy; +per_frame_41=rot = myx*beateven; +per_frame_42=wave_x = 0.5 + 0.05*myx; +per_frame_43=wave_y=0.5 + 0.05*myy; +per_frame_44= diff --git a/presets/presets_tryptonaut/Rovastar - Space (Twisted Dimension Mix).milk b/presets/presets_tryptonaut/Rovastar - Space (Twisted Dimension Mix).milk new file mode 100755 index 0000000000..88f973e847 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Space (Twisted Dimension Mix).milk @@ -0,0 +1,108 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.980000 +fDecay=0.940000 +fVideoEchoZoom=1.019701 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.882469 +fWaveScale=0.000000 +fWaveSmoothing=0.630000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16= +per_frame_17=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_18=cy = 0.5 +0.05*sin(0.413*time); +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22=dx = dx + dx_residual; +per_frame_23=dy = dy + dy_residual; +per_frame_24= +per_frame_25= +per_frame_26=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_27=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_28=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_29= +per_frame_30=wave_a = Bass_thresh; +per_frame_31=monitor = rot; +per_frame_32=zoom = 1.5 +0.25*myy*dy; +per_frame_33=rot = 215*myx*dx; +per_frame_34=wave_x = 0.5 + 0.05*myx + 0.08*bass_thresh -0.1; +per_frame_35=wave_y=0.5 + 0.05*myy; +per_frame_36=monitor = rot; +per_frame_37=mv_dx = dx; +per_frame_38=mv_dy =dy; +per_frame_39=echo_zoom =1+ 0.1*(myx-myy); +per_frame_40=monitor=echo_zoom; +per_pixel_1=zoom = zoom + 0.1*(1-rad); +per_pixel_2=sy = 1+ 0.2*(1-rad); +per_pixel_3=rot = rot + 0.2*rad; +per_pixel_4=dx = dx*rad; +per_pixel_5=dy = dy*(1-rad); diff --git a/presets/presets_tryptonaut/Rovastar - Space.milk b/presets/presets_tryptonaut/Rovastar - Space.milk new file mode 100755 index 0000000000..001298edd5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Space.milk @@ -0,0 +1,106 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.882469 +fWaveScale=0.000000 +fWaveSmoothing=0.630000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.001500 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_mystery = -0.5; +per_frame_3=vol = 0.167*(bass+mid); +per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_8=xpos = xpos + 0.001*xspeed; +per_frame_9=myx = 1.25*xpos + 0.5; +per_frame_10=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_11=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_12=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_13=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_14=ypos = ypos + 0.001*yspeed; +per_frame_15=myy = 1.25*ypos + 0.5; +per_frame_16= +per_frame_17=cx = 0.5 + 0.05*sin(0.497*time); +per_frame_18=cy = 0.5 +0.05*sin(0.413*time); +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29= +per_frame_30= +per_frame_31=dx = dx + dx_residual; +per_frame_32=dy = dy + dy_residual; +per_frame_33= +per_frame_34= +per_frame_35=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_36=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_37=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_38= +per_frame_39=wave_a = Bass_thresh; +per_frame_40=zoom = 1.5 +0.25*myy; +per_frame_41=rot = 215*myx*dx; +per_frame_42=wave_x = 0.5 + 0.05*myx; +per_frame_43=wave_y=0.5 + 0.05*myy; diff --git a/presets/presets_tryptonaut/Rovastar - Starquake (Sunquake Mix).milk b/presets/presets_tryptonaut/Rovastar - Starquake (Sunquake Mix).milk new file mode 100755 index 0000000000..4401fa6335 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Starquake (Sunquake Mix).milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.704175 +fWaveScale=0.044484 +fWaveSmoothing=0.000000 +fWaveParam=-0.480000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.980296 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.900000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.650000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=mv_r = 0.7 + 0.3*sin(time*0.5683); +per_frame_3=mv_b = 0.8 + 0.2*sin(time*0.7832); +per_frame_4=mv_g = 0.82 + 0.15*sin(time*1.103); +per_frame_5=q1 = max(max(bass,bass_att)-1.15,0); +per_frame_6=q2 = max(max(treb,treb_att)-1.15,0); +per_frame_7=rot = abs(0.05*sin(time))-1.3*q1; +per_pixel_1=zoom = 0.4 + atan(atan(rad)*1.5*rad)+2.5*q1; +per_pixel_2=zoomexp= max(10*(1+q1-q2),0.2); diff --git a/presets/presets_tryptonaut/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk b/presets/presets_tryptonaut/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk new file mode 100644 index 0000000000..3aef89568f --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Sunflower Passion (Simple Mix)_phat+EoS werid_angle_mix.milk @@ -0,0 +1,282 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=3.289248 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.01*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.01*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.01*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.01*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.01*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.01*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.020068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.01*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.01*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 =q8; +per_frame_18=mybass = mybass + 0.01*(bass + bass_att); +per_frame_19=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_20=zoom = 1.6 + 0.1*sin(mybass*0.786); +per_frame_21= +per_frame_22= +per_frame_23=musictime=musictime+(mid*mid*mid)*0.01; +per_frame_24= +per_frame_25=xpos=sin(musictime*0.6)*0.1; +per_frame_26=ypos=sin(musictime*0.4)*0.1; +per_frame_27=q4=xpos; +per_frame_28=q5=ypos +per_pixel_1= +per_pixel_2= +per_pixel_3=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_4= +per_pixel_5=myx = (x-q1)*2; +per_pixel_6=myy= (y-q2)*2; +per_pixel_7=myrad =( (myx*myx)/(ag*6)) + ((myy*myy)/(ag*6)); +per_pixel_8=dx = 0.1*(myy/(myrad+1)); +per_pixel_9=dy = -0.1*(myx/(myrad+1)); +per_pixel_10= +per_pixel_11=//sx=tan(rad*0.3)*0.3-0.6*(ag*60);//sy=tan(rad*0.3)*0.3-0.6*(ag*60) diff --git a/presets/presets_tryptonaut/Rovastar - Sunflower Passion.milk b/presets/presets_tryptonaut/Rovastar - Sunflower Passion.milk new file mode 100755 index 0000000000..fa7eb6a2bc --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Sunflower Passion.milk @@ -0,0 +1,272 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645252 +fWaveScale=0.010000 +fWaveSmoothing=0.500000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=2.100000 +fShader=0.000000 +zoom=1.025000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.290770 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.020410 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = 0.5 + 0.1*sin(0.89*q8); +shape_0_per_frame2=y = 0.5 - 0.1*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.020068 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x = 0.5 - 0.1*sin(0.7089*q8); +shape_1_per_frame2=y = 0.5 + 0.1*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.020068 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = 0.5 + 0.1*sin(0.679*q8); +shape_2_per_frame2=y = 0.5 - 0.1*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.020068 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x = 0.5 + 0.1*sin(0.916*q8); +shape_3_per_frame2=y = 0.5 - 0.1*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=//decay = decay - 0.01*equal(frame%6,0); +per_frame_7=warp=0; +per_frame_8=zoom =1; +per_frame_9=rot =0; +per_frame_10=cx=0.5; +per_frame_11=cy=0.5; +per_frame_12=q1 = 0.5 + 0.1*sin(time); +per_frame_13=q2 = 0.5 - 0.1*cos(time); +per_frame_14=wave_a =0; +per_frame_15=decay=1; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_20=oldq8 =q8; +per_frame_21=mybass = mybass + 0.01*(bass + bass_att); +per_frame_22= +per_frame_23=rot =1 + 0.15*sin(mybass*0.1789); +per_frame_24=zoom = 1.4 + 0.1*sin(mybass*0.786); +per_pixel_1=myx = (x-q1)*2; +per_pixel_2=myy= (y-q2)*2; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = 0.1*(myy/(myrad+1)); +per_pixel_5=dy = -0.1*(myx/(myrad+1)); diff --git a/presets/presets_tryptonaut/Rovastar - The Awakening.milk b/presets/presets_tryptonaut/Rovastar - The Awakening.milk new file mode 100755 index 0000000000..4aa3e8dfde --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - The Awakening.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.989000 +fVideoEchoZoom=1.483841 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.089269 +fWaveSmoothing=0.720000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009963 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.999999 +sy=0.999830 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.060000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.678); +per_frame_3=wave_g = wave_g + .4*sin(time*.977); +per_frame_4=wave_b = wave_b + .4*sin(time*.766); +per_frame_5=decay = 1 - mid /20; +per_frame_6=q1 = wave_r; +per_frame_7=wave_mystery = -time/6; +per_pixel_1=zoom = 0.974 + rad/10 + abs(sin(ang-rad)/10) +q1/10; +per_pixel_2=rot = -0.4 + treb*.001 + sin(treb+rad)/33 -q1/8; diff --git a/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours (Drifting Mix).milk b/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours (Drifting Mix).milk new file mode 100755 index 0000000000..765fd87b24 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours (Drifting Mix).milk @@ -0,0 +1,217 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.550000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.200000 +shape_0_per_frame1=ang = time*1.4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r = 0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.400000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.400000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.200000 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*cos(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*cos(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*cos(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.638 + 3); +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.005; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.005; +per_frame_22=rot = 10*(dx-dy); +per_frame_23=wave_a = 0; +per_frame_24=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_25=oldq8 = q8; +per_frame_26=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_27=monitor = rot; +per_pixel_1=zoom = 1+0.05*rad; diff --git a/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours.milk b/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours.milk new file mode 100755 index 0000000000..240700f1d5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - The Chaos Of Colours.milk @@ -0,0 +1,215 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.940000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.550000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.900000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.3) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.08*sin(time*1.4) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.400000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=ang = time*1.7; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(tq8*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.400000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=ang = time*1.24; +shape_2_per_frame2=x = 0.5 - 0.08*cos(time*1.07) + 0.03*cos(time*0.7); +shape_2_per_frame3=y = 0.5 - 0.08*sin(time*1.33) + 0.03*sin(time*0.7); +shape_2_per_frame4=g = 0.5 + 0.5*sin(q8*0.713 + 1); +shape_2_per_frame5=b = 0.5 + 0.5*sin(q8*0.563 + 2); +shape_2_per_frame6=r = 0.5 + 0.5*sin(q8*0.654 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.885 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.556+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*.638 + 3); +per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_3=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_6=ib_b = 1-ob_b; +per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_13=xpos = xpos + 0.001*xspeed; +per_frame_14=dx = xpos*0.05; +per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_20=ypos = ypos + 0.001*yspeed; +per_frame_21=dy = ypos*0.05; +per_frame_22=wave_a = 0; +per_frame_23=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_24=oldq8 = q8; +per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1; diff --git a/presets/presets_tryptonaut/Rovastar - The Shroomery.milk b/presets/presets_tryptonaut/Rovastar - The Shroomery.milk new file mode 100755 index 0000000000..53ae0d3719 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - The Shroomery.milk @@ -0,0 +1,454 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.332702 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=7.058490 +nMotionVectorsY=31.639950 +mv_dx=-0.385207 +mv_dy=-0.168757 +mv_l=0.598467 +mv_r=0.358736 +mv_g=0.275337 +mv_b=0.561849 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.027964 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.300000 +wavecode_0_g=1.000000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=//t8=3.14159265*0.15; +wave_0_init3=//t5 = 1; +wave_0_init4= +wave_0_init5=//n =300; +wave_0_init6=t1 = 300; +wave_0_init7=//rx = 0; +wave_0_init8=t2 = 0; +wave_0_init9=//ry = 0; +wave_0_init10=t3 = 0; +wave_0_init11=//tpi =3.1415; +wave_0_init12=t4 = 3.14159265; +wave_0_init13=//c=1; +wave_0_init14=t5 = 1; +wave_0_init15=//hu=10; +wave_0_init16=t6 = 10; +wave_0_init17=//hut=-10; +wave_0_init18=t7 = -10; +wave_0_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_0_per_frame2=t6 = (t7+t6*5)/6; +wave_0_per_frame3=t2 = pow(2*bass+bass_att,5)*0.00015111 +oldt2; +wave_0_per_frame4=oldt2 = t2; +wave_0_per_frame5=//t2 = 3*sin(time*0.0965); +wave_0_per_frame6=t3 = pow(2*bass+bass_att,4)*0.00026213 + oldt3; +wave_0_per_frame7=oldt3 = t3; +wave_0_per_frame8=//t3 = 3*sin(time*0.0872); +wave_0_per_frame9= +wave_0_per_frame10=q1 = -cos(cos(t2)); +wave_0_per_frame11=q2 = cos(-t3); +wave_0_per_frame12=q3 = sin(cos(-t2)); +wave_0_per_frame13=q4 = sin(t3); +wave_0_per_point1=u = sample*2-1; +wave_0_per_point2=rf = 512; +wave_0_per_point3=shc = 1-u*u; +wave_0_per_point4=cf = below(sample,0.45); +wave_0_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_0_per_point6=u = u + v/8; +wave_0_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_0_per_point8=py = sample*2-1; +wave_0_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_0_per_point10=y1 = py*q1 + pz*q3; +wave_0_per_point11=z1 = pz*q1 - py*q3; +wave_0_per_point12=x2 = px*q2 + z1*q4; +wave_0_per_point13=z2 = z1*q2 - px*q4+5; +wave_0_per_point14=x = x2/z2; +wave_0_per_point15=y = y1/z2; +wave_0_per_point16=x = x*0.5 + 0.5; +wave_0_per_point17=y = 0.5*y + 0.5; +wave_0_per_point18=r = 0.5+sin(sample*195)*0.5; +wave_0_per_point19=g = 0.5*sin(time*0.145)+0.499*(0.5+sin(x*95)*0.5); +wave_0_per_point20=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.027964 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.400000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=//t8=3.14159265*0.15; +wave_1_init3=//t5 = 1; +wave_1_init4= +wave_1_init5=//n =300; +wave_1_init6=t1 = 300; +wave_1_init7=//rx = 0; +wave_1_init8=t2 = 0; +wave_1_init9=//ry = 0; +wave_1_init10=t3 = 0; +wave_1_init11=//tpi =3.1415; +wave_1_init12=t4 = 3.14159265; +wave_1_init13=//c=1; +wave_1_init14=t5 = 1; +wave_1_init15=//hu=10; +wave_1_init16=t6 = 10; +wave_1_init17=//hut=-10; +wave_1_init18=t7 = -10; +wave_1_per_frame1=t7 = 0.5+0.5*sin(time*0.135)*t4; +wave_1_per_frame2=t6 = (t7+t6*5)/6; +wave_1_per_frame3=t2 = pow(bass+bass_att,6)*0.00005 + 0.022+ oldt2; +wave_1_per_frame4=oldt2 = if(above(t2,10000),0,t2); +wave_1_per_frame5=//t2 = t2 -cos(time*0.451); +wave_1_per_frame6=t3 = pow(bass+bass_att,7)*0.00005 + 0.0278 +oldt3; +wave_1_per_frame7=oldt3 = t3; +wave_1_per_frame8=//t3 = t3-cos(time*0.321); +wave_1_per_frame9=q1 = -cos(cos(t2)); +wave_1_per_frame10=q2 = -cos(t3); +wave_1_per_frame11=q3 = sin(cos(t2)); +wave_1_per_frame12=q4 = sin(t3); +wave_1_per_point1=u = sample*2-1; +wave_1_per_point2=rf = 1000; +wave_1_per_point3=shc = 1-u*u; +wave_1_per_point4=cf = below(sample,0.45); +wave_1_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_1_per_point6=u = u + v/8; +wave_1_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_1_per_point8=py = sample*2-1; +wave_1_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_1_per_point10=y1 = py*q1 + pz*q3; +wave_1_per_point11=z1 = pz*q1 - py*q3; +wave_1_per_point12=x2 = px*q2 + z1*q4; +wave_1_per_point13=z2 = z1*q2 - px*q4+5; +wave_1_per_point14=x = x2/z2; +wave_1_per_point15=y = y1/z2; +wave_1_per_point16=x = x*0.5 + 0.5; +wave_1_per_point17=y = 0.5*y + 0.5; +wave_1_per_point18=r = abs(sample-(sample*progress)); +wave_1_per_point19=g = sample/y; +wave_1_per_point20=b = x2*sample; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.027964 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.800000 +wavecode_2_g=0.400000 +wavecode_2_b=0.400000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=//t8=3.14159265*0.15; +wave_2_init3=//t5 = 1; +wave_2_init4= +wave_2_init5=//n =300; +wave_2_init6=t1 = 300; +wave_2_init7=//rx = 0; +wave_2_init8=t2 = 0; +wave_2_init9=//ry = 0; +wave_2_init10=t3 = 0; +wave_2_init11=//tpi =3.1415; +wave_2_init12=t4 = 3.14159265; +wave_2_init13=//c=1; +wave_2_init14=t5 = 1; +wave_2_init15=//hu=10; +wave_2_init16=t6 = 10; +wave_2_init17=//hut=-10; +wave_2_init18=t7 = -10; +wave_2_per_frame1=t7 = 0.5+0.5*sin(time*0.896)*t4; +wave_2_per_frame2=t6 = (t7+t6*5)/6; +wave_2_per_frame3=t2 = pow(1.13*bass+bass_att,5)*0.0001 +0.0017+oldt2; +wave_2_per_frame4=oldt2 = t2; +wave_2_per_frame5=t2 = t2 + sin(time*0.01963); +wave_2_per_frame6=t3 = pow(bass+1.14*bass_att,5)*0.0001 + 0.00121 +oldt3; +wave_2_per_frame7=oldt3 = t3; +wave_2_per_frame8=t3 = t3 + sin(time*0.06527); +wave_2_per_frame9=q1 = -cos(cos(t2)); +wave_2_per_frame10=q2 = cos(t3); +wave_2_per_frame11=q3 = sin(cos(t2)); +wave_2_per_frame12=q4 = sin(t3); +wave_2_per_point1=u = sample*2-1; +wave_2_per_point2=rf = 1000; +wave_2_per_point3=shc = 1-u*u; +wave_2_per_point4=cf = below(sample,0.45); +wave_2_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_2_per_point6=u = u + v/8; +wave_2_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_2_per_point8=py = sample*2-1; +wave_2_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_2_per_point10=y1 = py*q1 + pz*q3; +wave_2_per_point11=z1 = pz*q1 - py*q3; +wave_2_per_point12=x2 = px*q2 + z1*q4; +wave_2_per_point13=z2 = z1*q2 - px*q4+5; +wave_2_per_point14=x = x2/z2; +wave_2_per_point15=y = y1/z2; +wave_2_per_point16=x = x*0.5 + 0.5; +wave_2_per_point17=y = 0.5*y + 0.5; +wave_2_per_point18=r = sample; +wave_2_per_point19=g = x*sample; +wave_2_per_point20=b = y*x/sample; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.027964 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.000000 +wavecode_3_g=0.500000 +wavecode_3_b=0.700000 +wavecode_3_a=1.000000 +wave_3_init1=//pi +wave_3_init2=//t8=3.14159265*0.15; +wave_3_init3=//t5 = 1; +wave_3_init4= +wave_3_init5=//n =300; +wave_3_init6=t1 = 300; +wave_3_init7=//rx = 0; +wave_3_init8=t2 = 0; +wave_3_init9=//ry = 0; +wave_3_init10=t3 = 0; +wave_3_init11=//tpi =3.1415; +wave_3_init12=t4 = 3.14159265; +wave_3_init13=//c=1; +wave_3_init14=t5 = 1; +wave_3_init15=//hu=10; +wave_3_init16=t6 = 10; +wave_3_init17=//hut=-10; +wave_3_init18=t7 = -10; +wave_3_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_3_per_frame2=t6 = (t7+t6*5)/6; +wave_3_per_frame3=t2 = q8*0.7825; +wave_3_per_frame4=t3 = q8*0.6242; +wave_3_per_frame5=q1 = -cos(cos(t2)); +wave_3_per_frame6=q2 = cos(t3); +wave_3_per_frame7=q3 = sin(cos(t2)); +wave_3_per_frame8=q4 = sin(t3); +wave_3_per_point1=u = sample*2-1; +wave_3_per_point2=rf = 1000; +wave_3_per_point3=shc = 1-u*u; +wave_3_per_point4=cf = below(sample,0.45); +wave_3_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_3_per_point6=u = u + v/8; +wave_3_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_3_per_point8=py = sample*2-1; +wave_3_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_3_per_point10=y1 = py*q1 + pz*q3; +wave_3_per_point11=z1 = pz*q1 - py*q3; +wave_3_per_point12=x2 = px*q2 + z1*q4; +wave_3_per_point13=z2 = z1*q2 - px*q4+5; +wave_3_per_point14=x = x2/z2; +wave_3_per_point15=y = y1/z2; +wave_3_per_point16=x = x*0.5 + 0.5; +wave_3_per_point17=y = 0.5*y + 0.5; +wave_3_per_point18=r = 0.5*(y/x) + 0.499*sin(time*0.564); +wave_3_per_point19=b = 0.5*(x*y) + 0.499*sin(time*0.457); +wave_3_per_point20=g = 0.5*(x*x) + 0.499*sin(time*0.134); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.496295 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=5.617169 +shapecode_0_tex_zoom=1.699528 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_0_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_0_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_0_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_0_per_frame5=tex_Ang = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.496295 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=5.617169 +shapecode_1_tex_zoom=1.719942 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_1_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_1_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_1_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_1_per_frame5=tex_Ang = q8-0.02; +shape_1_per_frame6=//x = x +0.01; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.496295 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.740601 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.100000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_2_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_2_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_2_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_2_per_frame5=tex_Ang = q8-0.04; +shape_2_per_frame6=//x = x +0.01; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.120000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.330038 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5+ 0.4*sin(0.105*time+0.3*q4); +shape_3_per_frame2=y = 0.5+ 0.4*sin(0.1267*time+0.323*q4); +shape_3_per_frame3=ang = 3.1415+3.1415*sin(time*0.2654); +shape_3_per_frame4=rad = 0.5+0.5*sin(q4*0.785); +per_frame_init_1=//With thanks to UnConeD for his mushy SSC code. :) +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=decay = 0.97; +per_frame_4=q7 = 0.00004*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_5= +per_frame_6=q6 = oldq6+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+1.2*treb+0.4*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_7=oldq6 = q6; +per_frame_8= +per_frame_9=q4 = oldq4+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+0.1*treb+0.1*treb_att+1.2*mid+0.4*mid_att,6)/fps); +per_frame_10=oldq4 = q4; +per_frame_11= +per_frame_12=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_13=oldq8 = q8; +per_frame_14= +per_frame_15=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_16=oldq8 = if(above(q8,10000),0,q8); +per_frame_17=ob_b = max(0,sin(q8*0.2542)*0.2 +0.1); +per_frame_18=ob_r = max(0,sin(q8*0.985)*0.4 + 0.2); +per_frame_19=ob_g = max(0,sin(q8*0.8711)*0.3 + 0.1); +per_frame_20=ob_a =max(0,0.3*(q7-0.2))+0.1; +per_frame_21=ib_r = 1-if(ob_size-0.005,0,1); +per_frame_22=ib_g = ib_r*(0.21*0.2*sin(time*0.643)); +per_frame_23=ib_b = ib_r*(0.21*0.2*sin(time*0.853)); +per_frame_24=ib_a =0.2*q7; +per_frame_25=echo_alpha = above(q7,0.2); +per_frame_26=echo_zoom = 1 + 0.01*q7; +per_pixel_1=dx=dx+0.007*sin((y*2-1)*meshx)+ 0.006*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+sin(q8*0.1745)*0.007*cos((x*2-1)*meshx*1.3333)+ sin(q8*0.1875)*0.006*cos((x*2-1)*meshx*1.666); diff --git a/presets/presets_tryptonaut/Rovastar - Timeless Voyage.milk b/presets/presets_tryptonaut/Rovastar - Timeless Voyage.milk new file mode 100755 index 0000000000..8de2472891 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Timeless Voyage.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285749 +fWaveSmoothing=0.900000 +fWaveParam=0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.380217 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.550000 +ib_a=0.000000 +nMotionVectorsX=52.090683 +nMotionVectorsY=37.504894 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=4.534792 +mv_r=0.000000 +mv_g=0.162823 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = bass-1; +per_frame_2=wave_g = mid-1.2; +per_frame_3=wave_b = treb-.5; +per_frame_4=warp =0; +per_pixel_1=rot=0.2*pow(ang,3); +per_pixel_2=zoom=sin(pow(rad,3))+1; diff --git a/presets/presets_tryptonaut/Rovastar - Torrid Tales.milk b/presets/presets_tryptonaut/Rovastar - Torrid Tales.milk new file mode 100755 index 0000000000..60fcc68b14 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Torrid Tales.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=8 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.990099 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=ib_r = 0.5+0.50*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_3=ib_g = 0.5+0.5*sin(time*1.476); +per_frame_4=ib_b = 0.5+0.5*sin(1.374*time); +per_frame_5=ob_r = ib_r; +per_frame_6=ob_g=ib_g; +per_frame_7=ob_b=ib_b; +per_frame_8=q8 =oldq8+ 0.001*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=oldq8 = q8; +per_frame_10=wave_a = 0; +per_frame_11=ib_a =1; +per_pixel_1=dx = sin((1000+sin(q8))/y)/200; +per_pixel_2=dy = cos((1000+sin(q8))/x)/200; +per_pixel_3=rot = dy*100*dx; +per_frame_init_1=q8=0; +per_frame_init_2=q1 = rand(2)+2; diff --git a/presets/presets_tryptonaut/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk b/presets/presets_tryptonaut/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk new file mode 100755 index 0000000000..817d8c90ac --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.999000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.381900 +fWaveSmoothing=0.810000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000995 +sy=1.000000 +wave_r=0.050000 +wave_g=0.100000 +wave_b=0.100000 +wave_x=0.920000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.7+0.3*sin(time); +per_frame_2=wave_y = wave_y + 0.1*sin(20*time); +per_frame_3=sx = 1.0006; +per_pixel_1=dy = 0.0003+0.006*(y+0.05*(bass+bass_att)); diff --git a/presets/presets_tryptonaut/Rovastar - Tripmaker (Space Trip Mix).milk b/presets/presets_tryptonaut/Rovastar - Tripmaker (Space Trip Mix).milk new file mode 100755 index 0000000000..2a42ef59f4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Tripmaker (Space Trip Mix).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.696460 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom - 0.01*q2; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=tex_ang = 0.2*q2 + sin(0.4*time); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=//ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=//ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=//ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_tryptonaut/Rovastar - Tripmaker.milk b/presets/presets_tryptonaut/Rovastar - Tripmaker.milk new file mode 100644 index 0000000000..7838000107 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Tripmaker.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time); +per_pixel_3=zoomexp = 100*(sqrt(2)-rad); diff --git a/presets/presets_tryptonaut/Rovastar - Trippy Sperm (Jelly).milk b/presets/presets_tryptonaut/Rovastar - Trippy Sperm (Jelly).milk new file mode 100755 index 0000000000..aa1037c376 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Trippy Sperm (Jelly).milk @@ -0,0 +1,254 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=2.000 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.525 +fWaveSmoothing=0.360 +fWaveParam=-0.500 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.07055 +rot=0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19805 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/2)/2+0.5; +per_frame_3=wave_g = cos(ff/3)/2+0.5; +per_frame_4=wave_b = cos(3*ff/2)/2+0.5; +per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Rovastar - VooV's Light Pattern.milk b/presets/presets_tryptonaut/Rovastar - VooV's Light Pattern.milk new file mode 100755 index 0000000000..1d9c716bb2 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - VooV's Light Pattern.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.053731 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.903947 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.198054 +sx=1.072135 +sy=1.232392 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400007 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5+0.5*sin(1.123*time); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.576); +per_frame_3=wave_b = 0.5+0.5*cos(time*1.465); +per_frame_4=q8 = oldq8+ 0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_5=oldq8 = q8; +per_frame_6=ib_r = 0.5+0.5*sin(1.123*q8); +per_frame_7=ib_g = 0.5+0.5*sin(q8*1.576); +per_frame_8=ib_b = 0.5+0.5*cos(q8*1.465); +per_frame_9=q7 = 0.0004*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_10=ob_size = 0.95; +per_frame_11=monitor = q8; +per_pixel_1=rot=0.1*pow(-ang,3)-1.19*sin(ang); +per_pixel_2=zoom=2*sin(-rad)+1.2+ rad; +per_pixel_3=rot = rot + 5*sin(q8); +per_pixel_4=zoom = zoom +q7; diff --git a/presets/presets_tryptonaut/Rovastar - VooV's Movement (After Dark Mix).milk b/presets/presets_tryptonaut/Rovastar - VooV's Movement (After Dark Mix).milk new file mode 100755 index 0000000000..959b555f05 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - VooV's Movement (After Dark Mix).milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.186471 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.351767 +fShader=0.000000 +zoom=0.980296 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.700000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=framehalf = frame%2; +per_frame_3=volume = 0.3*(bass+mid); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_9=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=mode = if(beat,abs(mode-1),mode); +per_frame_14=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)) + 1/(fps*5); +per_frame_15=oldq8 = q8; +per_frame_16=q1 = 0.5 + 0.15*sin(0.416*q8) + 0.15*sin(0.832*q8) + 0.1*sin(1.324*q8); +per_frame_17=q2 = 0.5 + 0.15*sin(0.341*q8) + 0.15*sin(0.768*q8) + 0.1*sin(1.523*q8); +per_frame_18=q6 = 0.5 + 0.15*sin(0.287*q8) + 0.15*sin(0.913*q8) + 0.1*sin(1.142*q8); +per_frame_19=q7 = 0.5 + 0.15*sin(0.531*q8) + 0.15*sin(0.671*q8) + 0.1*sin(1.442*q8); +per_frame_20=ob_size = beat*0.05; +per_frame_21=ob_r = sin(20*(q1+q2)); +per_frame_22=ob_g = sin(25*(q6+q7)); +per_frame_23=q4 = (8 + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_24=q5 = (12 + 0.2*sin(q8*0.385) + 0.2*sin(q8*0.641) + 0.2*sin(q8*0.846)); +per_frame_25=q3 = mode; +per_frame_26=wave_a =0.4; +per_frame_27=wave_r = if(framehalf,0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time),0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time)); +per_frame_28=wave_g = if(framehalf,0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time),0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time)); +per_frame_29=wave_b = if(framehalf,0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time),0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time)); +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q6; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=newzoom = pow(0.995 + 0.05*sin((q4)*(newang+q3)), pow(sin(newrad*newrad), newrad)); +per_pixel_6=dx = (newx)*newzoom - newx; +per_pixel_7=dy = (newy)*newzoom - newy; +per_pixel_8=newx = x - q2; +per_pixel_9=newy = y - q7; +per_pixel_10=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_11=newang = atan2(newx,newy); +per_pixel_12=newzoom = pow(0.995 + 0.05*sin((q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_13=dx = dx + (newx)*newzoom - newx; +per_pixel_14=dy = dy + (newy)*newzoom - newy; +per_pixel_15=newx = x - (0.33*(q1+q2+q6)); +per_pixel_16=newy = y - (0.33*(3-q2-q6-q7)); +per_pixel_17=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_18=newang = atan2(newx,newy); +per_pixel_19=newzoom = pow(1.04 + 0.05*sin(0.5*(q4+q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_20=dx = dx + (newx)*newzoom - newx; +per_pixel_21=dy = dy + (newy)*newzoom - newy; diff --git a/presets/presets_tryptonaut/Rovastar - VooV's Movement.milk b/presets/presets_tryptonaut/Rovastar - VooV's Movement.milk new file mode 100755 index 0000000000..19230dab1d --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - VooV's Movement.milk @@ -0,0 +1,125 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.186471 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.351767 +fShader=0.000000 +zoom=0.980296 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.700000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=1.280000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=framehalf = frame%2; +per_frame_3=volume = 0.3*(bass+mid); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_9=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=mode = if(beat,abs(mode-1),mode); +per_frame_14=q1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); +per_frame_15=q2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); +per_frame_16=q6 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); +per_frame_17=q7 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); +per_frame_18=//ob_size = beat*0.05; +per_frame_19=ob_r = sin(20*(q1+q2)); +per_frame_20=ob_g = sin(25*(q6+q7)); +per_frame_21=//mv_x = 1.25; +per_frame_22=//mv_y = 1.25; +per_frame_23=//mv_dx = (0.33*(q1+q2+q6))-0.5; +per_frame_24=//mv_dy = (1-0.33*(3-q2-q6-q7))-0.5; +per_frame_25=//mv_a = 1; +per_frame_26=//mv_l = 10*bass; +per_frame_27=change = if(beat,rand(10)+3,oldchange); +per_frame_28=oldchange = change; +per_frame_29=q4 = (change + 0.2*sin(time*0.385) + 0.2*sin(time*0.641) + 0.2*sin(time*0.846)); +per_frame_30=//ch = if(beat,rand(10)+3,oldch); +per_frame_31=zz = if(beat,rand(13)+3,oldzz); +per_frame_32=oldzz =zz; +per_frame_33=q5 = (zz + 0.2*sin(time*0.385) + 0.2*sin(time*0.641) + 0.2*sin(time*0.846)); +per_frame_34=q3 = mode; +per_frame_35=monitor = mode; +per_frame_36=//wave_x = if(framehalf,q1,q2); +per_frame_37=//wave_y =1- if(framehalf,q6,q7); +per_frame_38=//wave_a =0; +per_frame_39=wave_r = if(framehalf,0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time),0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time)); +per_frame_40=wave_g = if(framehalf,0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time),0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time)); +per_frame_41=wave_b = if(framehalf,0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time),0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time)); +per_pixel_1=newx = x - q1; +per_pixel_2=newy = y - q6; +per_pixel_3=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_4=newang = atan2(newx,newy); +per_pixel_5=newzoom = pow(0.995 + 0.05*sin((q4)*(newang+q3)), pow(sin(newrad*newrad), newrad)); +per_pixel_6=dx = (newx)*newzoom - newx; +per_pixel_7=dy = (newy)*newzoom - newy; +per_pixel_8=newx = x - q2; +per_pixel_9=newy = y - q7; +per_pixel_10=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_11=newang = atan2(newx,newy); +per_pixel_12=newzoom = pow(0.995 + 0.05*sin((q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_13=dx = dx + (newx)*newzoom - newx; +per_pixel_14=dy = dy + (newy)*newzoom - newy; +per_pixel_15=newx = x - (0.33*(q1+q2+q6)); +per_pixel_16=newy = y - (0.33*(3-q2-q6-q7)); +per_pixel_17=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,sqrt(2)); +per_pixel_18=newang = atan2(newx,newy); +per_pixel_19=newzoom = pow(1.04 + 0.05*sin(0.5*(q4+q5)*(newang)), pow(sin(newrad*newrad), newrad)); +per_pixel_20=dx = dx + (newx)*newzoom - newx; +per_pixel_21=dy = dy + (newy)*newzoom - newy; diff --git a/presets_milkdrop/Rovastar - VooV's Organic Light.milk b/presets/presets_tryptonaut/Rovastar - VooV's Organic Light.milk similarity index 100% rename from presets_milkdrop/Rovastar - VooV's Organic Light.milk rename to presets/presets_tryptonaut/Rovastar - VooV's Organic Light.milk diff --git a/presets/presets_tryptonaut/Rovastar - Xtal.milk b/presets/presets_tryptonaut/Rovastar - Xtal.milk new file mode 100755 index 0000000000..5221eaddc4 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - Xtal.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.968000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=0.046000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5 + sin(time/3)/2; +per_frame_2=wave_b = 0.5+ 0.5*sin(time*47); +per_frame_3=wave_g = 0.65 + sin(time*0.23)/10; +per_frame_4=bass_effect = max(0,max(bass_att,bass)-1.3); +per_frame_5=treb_effect = max(0,max(treb_att,treb)-1.3); +per_frame_6=ob_r = 1-wave_r; +per_frame_7=ob_g = 1-wave_g; +per_frame_8=ob_b = 1-wave_b; +per_frame_9=ib_r = 0.75 + 0.25*sin(time*0.4); +per_frame_10=ib_g = 0.25 + 0.25*cos(time*0.87); +per_frame_11=ib_b = 0.5+0.5*sin(1.23*time); +per_frame_12=sx =sx + 0.05*bass + 0.5*bass_effect; +per_frame_13=sy = sy + 0.05*bass + 0.5*treb_effect; +per_pixel_1=myrot = log(sqrt(2)-rad)/3- 0.01*cos(time+rad*0.123) - 0.018*sin(time-(1-rad)) -0.08; +per_pixel_2=zoom = if(above(rad,0.4),myrot,0.5+1.1*rad); diff --git a/presets/presets_tryptonaut/Rovastar - twisted bytes.milk b/presets/presets_tryptonaut/Rovastar - twisted bytes.milk new file mode 100755 index 0000000000..fedca81263 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar - twisted bytes.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.931000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.394148 +fWaveScale=0.627609 +fWaveSmoothing=0.108000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.070500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.198054 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.700000 +wave_b=0.500000 +wave_x=0.000000 +wave_y=0.030000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.059900 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r - 0.5*sin(1.7*time); +per_frame_2=wave_b = wave_b + 0.4*sin(time*1.123); +per_frame_3=wave_g = wave_g - 0.3*cos(0.8*time); +per_frame_4=dx =dx -00.005; +per_frame_5=dy=dy-0.0005; +per_frame_6=warp=0; +per_pixel_1=bass_effect = max(max(bass,bass_att)-1.2,0); +per_pixel_2=dx = if(above(y,0.1),0.02+0*log(x/y)+0.25*bass_effect,0.25*bass_effect-0*log(ang)); +per_pixel_3=zoom = 0.4*rad*x +1; +per_pixel_4=sy= 1+0.5*x; diff --git a/presets/presets_tryptonaut/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk b/presets/presets_tryptonaut/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk new file mode 100755 index 0000000000..a6fb42dce5 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=1.599182 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.001000 +fShader=0.000000 +zoom=1.007000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.650000 +wave_x=0.010000 +wave_y=0.000000 +ob_size=0.005000 +ob_r=0.300000 +ob_g=0.500000 +ob_b=0.300000 +ob_a=0.700000 +ib_size=0.005000 +ib_r=0.450000 +ib_g=0.350000 +ib_b=0.350000 +ib_a=0.300000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_b = wave_b - 0.200*( 0.60*sin(1.823*time) + 0.40*sin(0.916*time) ); +per_frame_2=wave_r = wave_r + 0.500*( 0.60*sin(1.900*time) + 0.40*sin(1.023*time) ); +per_frame_3=wave_g = wave_g + 0.500*( 0.60*sin(1.1*time) + 0.40*sin(0.949*time) ); +per_frame_4=decay = decay - 0.03*equal(frame%30,0); +per_frame_5=treb_effect = max(max(treb,treb_att)-1.25,0); +per_frame_6=mid_effect= max(max(mid,mid_att)-1.25,0); +per_frame_7=ob_size = ob_size + 0.005*treb_effect; +per_frame_8=ib_size = ib_size + 0.005*mid_effect; +per_frame_9=ob_g = ob_g -0.2* treb_effect +0.2* mid_effect; +per_frame_10=ib_g = ib_g + 0.2*mid_effect+ 0.2*treb_effect; +per_frame_11=ib_b = ib_b - 0.2*mid_effect+ 0.2*treb_effect; +per_frame_12=ok_to_change = if(above(time,beat_time+5),1,0); +per_frame_13=bass_effect = max(bass, bass_att)-1; +per_frame_14=beat_time = if(above(bass_effect,0.5), if(ok_to_change,time,beat_time),beat_time); +per_frame_15=effect = if(equal(time,beat_time),effect+rand(3)+1,effect); +per_frame_16=effect = if(above(effect,3),effect-4,effect); +per_frame_17=bass_effect = max(max(bass,bass_att)-1.34,0); +per_frame_18=q1 = effect; +per_frame_19=q2 = bass_effect; +per_frame_20=wave_x = if(equal(q1,0),0.01,if(equal(q1,1),0.99,if(equal(q1,2),0.01,0.99))); +per_frame_21=wave_mystery = if(equal(q1,0),1,if(equal(q1,1),1,if(equal(q1,2),0,0))); +per_frame_22=monitor = q1; +per_frame_23=zoom = if(equal(q1,0),0.4*x,if(equal(q1,1),0.4*(1-x),if(equal(q1,2),0.4*y,0.4*(1-y)))) + 0.6 - 0.13*(min(q2,0.3)); +per_pixel_1=zoom = if(equal(q1,0),0.4*x,if(equal(q1,1),0.4*(1-x),if(equal(q1,2),0.4*y,0.4*(1-y)))) + 0.6 - 0.13*(min(q2,0.3)); diff --git a/presets/presets_tryptonaut/Rovastar and Unchained - Braindance Visions.milk b/presets/presets_tryptonaut/Rovastar and Unchained - Braindance Visions.milk new file mode 100755 index 0000000000..d19e48ba2e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar and Unchained - Braindance Visions.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.935000 +fVideoEchoZoom=1.006595 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=100.000000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.489000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_2=bass_residual = equal(bass_thresh,2)*sin(time*bass_thresh*.1) + (1-equal(bass_thresh,2))*bass_residual; +per_frame_3=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_4=mid_residual = equal(mid_thresh,2)*sin(time*bass_thresh*.1) + (1-equal(mid_thresh,2))*mid_residual; +per_frame_5=q1=.75+.2*bass_residual; +per_frame_6=q2=.25+.2*mid_residual; +per_frame_7=wave_g = wave_g*bass_residual; +per_frame_8=wave_b =wave_b*mid_residual; +per_frame_9=wave_r = wave_r + .5*sin(time*bass_residual*mid_residual*.4); +per_frame_10=rot=rot+.3*sin(time*mid_residual); +per_pixel_1=sy= if(below(y,q1),if(above(y,q2),pow(log(abs(ang)*time),3)/4,q1+.25),q2+.75); +per_pixel_2=zoom = 1 + sin(rad)/10*cos((y-.5+rad)*10*sin(time)); +per_pixel_3=rot=rot+if(bnot(below(y,q1)*above(y,q2)),0,sin(time/2)*.1); diff --git a/presets/presets_tryptonaut/Rovastar and Unchained - Life After Pie (Remix).milk b/presets/presets_tryptonaut/Rovastar and Unchained - Life After Pie (Remix).milk new file mode 100755 index 0000000000..c6d68d839a --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar and Unchained - Life After Pie (Remix).milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.977000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=3.192474 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.009091 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.35)*0.96+1.3); +per_frame_2=bass_factor = equal(bass_thresh,2)*sin(time*bass_thresh*.4) + (1-equal(bass_thresh,2))*bass_factor; +per_frame_3=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.35)*0.96+1.3); +per_frame_4=mid_factor = equal(mid_thresh,2)*sin(time*mid_thresh*.4) + (1-equal(mid_thresh,2))*mid_factor; +per_frame_5=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.35)*0.96+1.3); +per_frame_6=treb_factor = equal(treb_thresh,2)*sin(time*treb_thresh*.4) + (1-equal(treb_thresh,2))*treb_factor; +per_frame_7=wave_r = 0.5+0.5*bass_factor; +per_frame_8=wave_b = 0.5+0.5*mid_factor; +per_frame_9=wave_g = 0.5+0.5*treb_factor; +per_frame_10=wave_mystery = sin(time*.7)/10; +per_frame_11=q1=bass_factor; +per_frame_12=q2=mid_factor; +per_frame_13=q3=treb_factor; +per_pixel_1=pi=22/7+.2-.2*q1; +per_pixel_2=rpi=pi*rad; +per_pixel_3=api=(1-rad)*pi; +per_pixel_4=zoom = if(above(rad,abs(q2)),1.07+sin(rpi)*.04*q2, 0.97+(sin(rpi)/10-sin(api)/10)*.04*q2)+cos(rpi*3*q3)*.07; +per_pixel_5=rot = if(above(rad,abs(q2)),cos((rad*2*rpi)+sin(pi*pow(rad,5)))*.1*q1,(cos(api)/25+sin(rpi))*.1*q1)+cos(api*3*q3)*.1; diff --git a/presets/presets_tryptonaut/Rovastar&StudioMusic-MoreCherish.milk b/presets/presets_tryptonaut/Rovastar&StudioMusic-MoreCherish.milk new file mode 100755 index 0000000000..787987910e --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar&StudioMusic-MoreCherish.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.947994 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.396500 +fWaveScale=0.969133 +fWaveSmoothing=0.666000 +fWaveParam=0.000100 +fModWaveAlphaStart=1.379900 +fModWaveAlphaEnd=1.020000 +fWarpAnimSpeed=2.000000 +fWarpScale=1.000000 +fZoomExponent=0.056700 +fShader=0.700000 +zoom=0.539300 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.819500 +sy=0.819545 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.010000 +ob_b=0.010000 +ob_a=0.950000 +ib_size=0.010000 +ib_r=0.010000 +ib_g=0.010000 +ib_b=0.500000 +ib_a=0.950000 +nMotionVectorsX=9.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass*.5; +per_frame_3=wave_g = treb*.5; +per_frame_4=wave_b = mid*.5; +per_frame_5=decay = .99; +per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_7=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=zoom = zoom+rad*.1+0.05; +per_pixel_2=zoomexp =1 - 1*sin(rad*time*100); diff --git a/presets/presets_tryptonaut/Rovastar-altarsofmadness(forgottenrea.milk b/presets/presets_tryptonaut/Rovastar-altarsofmadness(forgottenrea.milk new file mode 100755 index 0000000000..1631d58876 --- /dev/null +++ b/presets/presets_tryptonaut/Rovastar-altarsofmadness(forgottenrea.milk @@ -0,0 +1,457 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265/2; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = sin(bass+0.86*t8); +wave_0_per_frame14=t5 = 10+8*cos(time+0.56*t8); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Sphere +wave_0_per_point4=fvar = sample*512; +wave_0_per_point5=svar = fvar*128; +wave_0_per_point6=tvar = 0&svar; +wave_0_per_point7=nsample = tvar*4.5; +wave_0_per_point8=x1 = -2.5+(1.5)*sin(sample); +wave_0_per_point9=y1 = (-1)*cos(t8*nsample); +wave_0_per_point10=z1 = (-1)*sin(t8*nsample); +wave_0_per_point11= +wave_0_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point19=//move resulting shape in 3d space +wave_0_per_point20=x4 = x3; +wave_0_per_point21=y4 = y3; +wave_0_per_point22=z4 = z3+5; +wave_0_per_point23=//draw 3d shape in 2d +wave_0_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point26= +wave_0_per_point27=a = -.9+sin(nsample+time); +wave_0_per_point28=a = if(below(a,0),0,a); +wave_0_per_point29=a=1; +wave_0_per_point30=r =sin(abs(x2*sin(time)))*0.5 + 0.5; +wave_0_per_point31=b = sin(abs(y3+sin(0.8765*time)))*0.5 + 0.5; +wave_0_per_point32=g = x2*z2; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.776*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.56*t8); +wave_1_per_frame15= +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar*128; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*4.5; +wave_1_per_point8=x1 = -.75+(1.5)*sin(sample); +wave_1_per_point9=y1 = (1)*cos(t8*nsample); +wave_1_per_point10=z1 = (1)*sin(t8*nsample); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+5; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.75*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.75*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=a = -.9+sin(nsample+time); +wave_1_per_point28=a = if(below(a,0),0,a); +wave_1_per_point29=a=1; +wave_1_per_point30=r = y2*z2; +wave_1_per_point31=b = z3+y3; +wave_1_per_point32=g = z3/x2; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265*1.56; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 12+13*sin(time+2.46*t8); +wave_2_per_frame14=t5 = 2+8*cos(time+1.66*t8); +wave_2_per_frame15=r = 1; +wave_2_per_frame16=b = 0; +wave_2_per_frame17=g=0; +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Sphere +wave_2_per_point4=fvar = sample*512; +wave_2_per_point5=svar = fvar*128; +wave_2_per_point6=tvar = 0&svar; +wave_2_per_point7=nsample = tvar*4.5; +wave_2_per_point8=x1 = -.5+(2.5)*sin(sample); +wave_2_per_point9=y1 = (1)*cos(t8*nsample); +wave_2_per_point10=z1 = (1)*sin(t8*nsample); +wave_2_per_point11= +wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point19=//move resulting shape in 3d space +wave_2_per_point20=x4 = x3; +wave_2_per_point21=y4 = y3; +wave_2_per_point22=z4 = z3+5; +wave_2_per_point23=//draw 3d shape in 2d +wave_2_per_point24=x=0.5-1*(x4/(1+z4*0.5)); +wave_2_per_point25=y=0.5-1*(y4/(1+z4*0.5)); +wave_2_per_point26= +wave_2_per_point27=a = -.9+sin(nsample+time); +wave_2_per_point28=a = if(below(a,0),0,a); +wave_2_per_point29=a=1; +wave_2_per_point30=g=y2; +wave_2_per_point31=b=x2; +wave_2_per_point32=r= z2+z3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.463735 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=//pi +wave_3_init2=t8=3.14159265*0.15; +wave_3_init3=t5 = 1; +wave_3_per_frame1=rotx = rotx+bass; +wave_3_per_frame2=roty = roty+mid; +wave_3_per_frame3=rotz = rotz+treb; +wave_3_per_frame4=//rotx = 0; +wave_3_per_frame5=//roty =0; +wave_3_per_frame6=//rotz = 0; +wave_3_per_frame7= +wave_3_per_frame8=//convert rotation values from degrees to radians +wave_3_per_frame9=t1= t8*rotx/180; +wave_3_per_frame10=t2 = t8*roty/180; +wave_3_per_frame11=t3 = t8*rotz/180; +wave_3_per_frame12= +wave_3_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_3_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_3_per_frame15= +wave_3_per_point1=//Define 3D Shape +wave_3_per_point2= +wave_3_per_point3=//Sphere +wave_3_per_point4=fvar = sample*512; +wave_3_per_point5=svar = fvar*128; +wave_3_per_point6=tvar = 0&svar; +wave_3_per_point7=nsample = tvar*4.5; +wave_3_per_point8=x1 = -.75+(1.5)*sin(sample); +wave_3_per_point9=y1 = (1)*cos(t8*nsample); +wave_3_per_point10=z1 = (1)*sin(t8*nsample); +wave_3_per_point11= +wave_3_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_3_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_3_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_3_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_3_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_3_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_3_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_3_per_point19=//move resulting shape in 3d space +wave_3_per_point20=x4 = x3; +wave_3_per_point21=y4 = y3; +wave_3_per_point22=z4 = z3+5; +wave_3_per_point23=//draw 3d shape in 2d +wave_3_per_point24=x=0.5+0.8*(x4/(1+z4*0.5)); +wave_3_per_point25=y=0.5+0.8*(y4/(1+z4*0.5)); +wave_3_per_point26= +wave_3_per_point27=a = -.9+sin(nsample+time); +wave_3_per_point28=a = if(below(a,0),0,a); +wave_3_per_point29=a=1; +wave_3_per_point30= +wave_3_per_point31=b = z4; +wave_3_per_point32=r=z2-x1; +wave_3_per_point33=g=y2+z2; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.880000 +shapecode_0_y=0.800000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_0_per_frame2=y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_0_per_frame3=ang = 3.1415-3.1415*cos(time*0.1389); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.880000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.330038 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = 0.5+ 0.4*sin(0.212*time+0.1*q8); +shape_1_per_frame2=y = 0.5+ 0.4*sin(0.2891*time+0.121*q8); +shape_1_per_frame3=ang = 3.1415+3.1415*sin(time*0.181); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.120000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.330038 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.5+ 0.4*sin(0.0932*time+0.421*q6); +shape_2_per_frame2=y = 0.5+ 0.4*sin(0.1178*time+0.2135*q6); +shape_2_per_frame3=ang = 3.1415-3.1415*cos(time*0.1154); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.120000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.330038 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5+ 0.4*sin(0.105*time+0.3*q4); +shape_3_per_frame2=y = 0.5+ 0.4*sin(0.1267*time+0.323*q4); +shape_3_per_frame3=ang = 3.1415+3.1415*sin(time*0.2654); +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=decay = 0.976; +per_frame_4=decay=0.99; +per_frame_5=//q8 - bass tracking +per_frame_6=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_7=oldq8 = q8; +per_frame_8=q7 = 0.00004*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_9=//q6 = treble tracking +per_frame_10=q6 = oldq6+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+1.2*treb+0.4*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_11=oldq6 = q6; +per_frame_12=//q4 = midrage tracking +per_frame_13=q4 = oldq4+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+0.1*treb+0.1*treb_att+1.2*mid+0.4*mid_att,6)/fps); +per_frame_14=oldq4 = q4; +per_frame_15= +per_frame_16=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_17=oldq8 = q8; +per_frame_18= +per_frame_19=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_20=oldq8 = q8; +per_frame_21= +per_frame_22=ob_size = min(max(0,q7-0.3)+0.005,0.9); +per_frame_23=ob_b = max(0,sin(q8*0.2542)*0.2 +0.1); +per_frame_24=ob_r = max(0,sin(q8*0.985)*0.4 + 0.2); +per_frame_25=ob_g = max(0,sin(q8*0.8711)*0.3 + 0.1); +per_frame_26=ob_a =max(0,0.3*(q7-0.2))+0.1; +per_frame_27=ib_r = 1-if(ob_size-0.005,0,1); +per_frame_28=ib_g = ib_r*(0.21*0.2*sin(time*0.643)); +per_frame_29=ib_b = ib_r*(0.21*0.2*sin(time*0.853)); +per_frame_30=ib_a =1; +per_frame_31=monitor = ob_a; +per_frame_32=//q6 = max(0.0005*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps),1)-1; +per_frame_33=//oldq6 = q6; +per_frame_34=monitor =q6; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx)+0.008*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*1.3333)+0.008*cos((x*2-1)*meshx); diff --git a/presets/presets_tryptonaut/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk b/presets/presets_tryptonaut/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk new file mode 100755 index 0000000000..f88798dde8 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.050000 +fDecay=0.950000 +fVideoEchoZoom=0.333500 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.108925 +fWaveSmoothing=0.900000 +fWaveParam=-0.399900 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=slowtime = slowtime+beat; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=beatcount = beatcount + beat; +per_frame_6=wave_b = 1- (cos(time) + abs(cos(time))); +per_frame_7=wave_g = 1-abs(sin(time)) ; +per_frame_8=wave_r = 1-(-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_9=q1 = abs(sin(slowtime)/3)-.2; +per_frame_10= +per_frame_11=warp = 0; +per_frame_12=wave_mode = 6; +per_frame_13=wave_mystery = if(below(frame%2,1),0,1)+slowtime*q1; +per_frame_14=monitor = q1; +per_pixel_1=zoom = zoom - q1*rad; +per_pixel_2=dx = .5; +per_pixel_3=dy = .5; diff --git a/presets/presets_tryptonaut/Rozzor & Aderrasi - Canon.milk b/presets/presets_tryptonaut/Rozzor & Aderrasi - Canon.milk new file mode 100755 index 0000000000..b48a214b6f --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Aderrasi - Canon.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.463937 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.100000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.015000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_mystery = wave_mystery + 0.25*tan(3*bass); +per_frame_2=q1 = wave_mystery; +per_frame_3=wave_b = cos(time) + abs(cos(time)); +per_frame_4=wave_g = abs(sin(time)) ; +per_frame_5=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_6=ob_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_7=ob_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_8=ob_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_9=ib_g = wave_g; +per_frame_10=ib_r = sin(time); +per_frame_11=kick = above(bass_att,kick)*2 + (1-above(bass_att,kick))*((kick-1.3)*0.96+1.3); +per_frame_12=dx_r = equal(kick,2)*0.018*sin(6*time) + (1-equal(kick,2))*dx_r; +per_frame_13=dy_r = equal(kick,2)*0.015*sin(7*time) + (1-equal(kick,2))*dy_r; +per_frame_14=dy = dy + 2*dy_r * 0.5*sin(0.8*time); +per_frame_15=dx = dx + 2*dx_r * 0.5*sin(time); +per_frame_16=warp = warp + if (below(kick,0), + 0.5*treb, 0); +per_frame_17=q2 = kick; +per_pixel_1=rot = rot + 0.3*(0.2*sin(1-rad)*5 - 0.2*sin(0.05*rad)*5) * q2; +per_pixel_2=cx = if(above(dy,-.5),1-rot * 2,rot*q2); +per_pixel_3= diff --git a/presets/presets_tryptonaut/Rozzor & Che - Inside The House Of Nil.milk b/presets/presets_tryptonaut/Rozzor & Che - Inside The House Of Nil.milk new file mode 100755 index 0000000000..1f95a6ad4f --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Che - Inside The House Of Nil.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.175613 +fWaveSmoothing=0.306000 +fWaveParam=-0.460000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.190000 +ob_g=0.120000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=7.679999 +nMotionVectorsY=11.519997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.340000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r = - abs(cos(time)); +per_frame_6=ib_g = sin(time); +per_frame_7=ib_b= cos(time)*sign(cos(time)); +per_frame_8=mv_r = abs(sin(time)); +per_frame_9=mv_g = sin(slowtime) ; +per_frame_10=mv_b= cos(slowtime)*sign(cos(slowtime)); +per_frame_11=redneg = if(below(mv_r,0),1,0); +per_frame_12=greenneg = if(below(mv_g,0),1,0); +per_frame_13=blueneg = if(below(mv_b,0),1,0); +per_frame_14=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+mv_r),mv_r); +per_frame_15=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+mv_g),mv_g); +per_frame_16=wave_b = if(blueneg,1 + mv_b, mv_b); +per_frame_17=dx=sin(slowtime*1.234)*.0125; +per_frame_18=dy=cos(slowtime*.9666)*.0125; +per_frame_19=q1 = sin(slowtime); +per_frame_20=q2 = wave_b; +per_pixel_1=zoom=1+above(sin(1.7*q2),-.5)*.1*sin(2*q2+.027*q1+4*(1+sin(.7*time+q2))*sin(.05*q2+time)*rad); +per_pixel_2=rot=.1*sin(q2)*sin(2.3*q2+.027*q1+2*sin(.07*q1+1.2*time)*(rad+sin(time+above(sin(q2),0)*4*sin(q2)*ang))); +per_pixel_3=rot=above(sin(1.2*q2+1.3),-.5)*rot; diff --git a/presets/presets_tryptonaut/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk b/presets/presets_tryptonaut/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk new file mode 100755 index 0000000000..eea601c4b9 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Esotic - PPL (NWI) Mandala Chill Color Reactive Texture Tweaked.milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.039900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.327749 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.579585 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.674911 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.707201 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_1_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_1_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_1_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_1_per_frame5=my_ang = my_ang + (0.005 + (0.001 * bass)); +shape_1_per_frame6=ang = my_ang; +shape_1_per_frame7=//textured = max(int(q3)%2,int(bass+1)%2); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_6=mv_l = mv_l * warp; +per_frame_7=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_8=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_11=dy=if(below(dy,-1), -1, dy); +per_frame_12=dy=if(above(dy,1.0), 1.0, dy); +per_frame_13=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_14=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_15=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_16=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_17=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_18=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_19=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_20=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_21=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_22=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_23=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_24=slowtime = slowtime + beat*time; +per_frame_25=q2=sin(slowtime); +per_frame_26=ob_a = q2*.2; +per_frame_27=temp_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_28=temp_g = abs(sin(slowtime)) ; +per_frame_29=temp_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_30=ob_r = if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_31=ob_g = if(above(temp_g,.5),.5,if(above(temp_g,0), abs(temp_g),0)); +per_frame_32=ob_b = if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_33=ib_r = 1- if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_34=ib_g = 1- if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_35=ib_b = 1- if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_36=wave_b = temp_b; +per_frame_37=wave_g = 1-temp_g; +per_frame_38=wave_r = 1-equal(ob_b,1)*temp_r; +per_frame_39=beatcount = beatcount + beat; +per_frame_40=q3 = beatcount; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_tryptonaut/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk b/presets/presets_tryptonaut/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk new file mode 100755 index 0000000000..430741a3a5 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Esotic - Pixie Party Light (With Liquid Refreshment Mix).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=1.000000 +fGammaAdj=3.679999 +fDecay=0.900000 +fVideoEchoZoom=1.000747 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.999974 +fWaveScale=0.000009 +fWaveSmoothing=0.900000 +fWaveParam=0.173490 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.350000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.089900 +rot=0.180000 +cx=0.500000 +cy=0.500000 +dx=-0.059000 +dy=0.000000 +warp=1.508800 +sx=0.999900 +sy=0.999900 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.448434 +wave_y=0.121660 +ob_size=0.008955 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.045734 +ib_size=0.003418 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.000000 +ib_a=0.732955 +nMotionVectorsX=1.000000 +nMotionVectorsY=1.000000 +mv_dx=0.086780 +mv_dy=0.343261 +mv_l=1.663280 +mv_r=0.889621 +mv_g=0.029971 +mv_b=0.881077 +mv_a=0.198792 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=11 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.856990 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.010000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.060000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=border_r = border_r + 1.5*sin(q2*1.13); +shape_0_per_frame2=border_b = border_b + 0.5*sin(q2*1.23); +shape_0_per_frame3=border_g = border_g + 0.5*sin(q2*1.33); +shape_0_per_frame4=//ang = 0.503 + (bass_att * 0.04); +shape_0_per_frame5=my_ang = my_ang - ((treb * 0.03) + 0.03); +shape_0_per_frame6=ang = my_ang; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.700000 +shapecode_1_ang=1.228318 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.149766 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r2 = q1; +shape_1_per_frame2=g2 = q2; +shape_1_per_frame3=b2 = q3; +shape_1_per_frame4=x = .2+sin(q3); +shape_1_per_frame5=y = q1; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_l = 1.21894646*rand(int(ob_size * zoom)); +per_frame_2=wave_y = bnot(wave_y + mv_b); +per_frame_3=zoomexp = -1.9620862*abs(1.40700197*log10(wave_b * wave_mode)); +per_frame_4=mv_b = zoom * cx; +per_frame_5=ob_g = 1.96492791*sign(if(equal(wave_mystery * wave_y , mv_x * ob_a) , 0.71052909*log(ob_g * warp) , wave_x * sy)); +per_frame_6=dy = if(below(sy * ob_r , mv_b * mv_x) , sigmoid(mv_l * dy , ib_size * mv_y) , ob_a * mv_x); +per_frame_7=mv_l = mv_l * warp; +per_frame_8=ib_b = if(below(decay + ib_g , cy * ob_size) , wave_mystery * warp , wave_mystery * mv_g); +per_frame_9=mv_x = 0.68256116*abs(mv_a - mv_r); +per_frame_10=wave_y = sigmoid(sigmoid(wave_y * zoomexp , ib_a * ib_g) , ib_b + mv_l); +per_frame_11=ob_b = max(-1.81535745*log10(ob_b * ib_a) , ob_r * wave_b); +per_frame_12=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); +per_frame_13=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); +per_frame_14=dy=if(below(dy,-1), -1, dy); +per_frame_15=dy=if(above(dy,1.0), 1.0, dy); +per_frame_16=wave_y=if(below(wave_y,0.0), 0.0, wave_y); +per_frame_17=wave_y=if(above(wave_y,1.0), 1.0, wave_y); +per_frame_18=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_19=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_20=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_21=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_22=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_23=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_24=mv_b=if(below(mv_b,0.0), 0.0, mv_b); +per_frame_25=mv_b=if(above(mv_b,1.0), 1.0, mv_b); +per_frame_26=mv_x=if(below(mv_x,0.0), 0.0, mv_x); +per_frame_27=mv_x=if(above(mv_x,64.0), 64.0, mv_x); +per_frame_28=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_29=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_30=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_31=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_32=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_33=slowtime = slowtime + beat*time; +per_frame_34=q2=sin(slowtime); +per_frame_35=q1 = sin(time-slowtime); +per_frame_36=q3 = vol_mean; +per_pixel_1=warp = 0.36676717*pow(q2 - y , q2 * q1); +per_pixel_2=warp = 1.82335234*pow(-0.69122636*log10(warp * q2) , q1 * x); +per_pixel_3=cx = -0.51261795*sqrt(q3 * q1); +per_pixel_4=warp=if(below(warp,0.01), 0.01, warp); +per_pixel_5=warp=if(above(warp,100.0), 100.0, warp); +per_pixel_6=cx=if(below(cx,-1.0), -1.0, cx); +per_pixel_7=cx=if(above(cx,2.0), 2.0, cx); diff --git a/presets/presets_tryptonaut/Rozzor & Neuro - Starover (Semicolon Mix).milk b/presets/presets_tryptonaut/Rozzor & Neuro - Starover (Semicolon Mix).milk new file mode 100755 index 0000000000..7f6036bf3f --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Neuro - Starover (Semicolon Mix).milk @@ -0,0 +1,94 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.970000 +fVideoEchoZoom=3.503422 +fVideoEchoAlpha=0.460000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=4.583206 +fWarpScale=3.194907 +fZoomExponent=1.000000 +fShader=0.010000 +zoom=32.544483 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.950000 +ib_g=0.850000 +ib_b=0.650000 +ib_a=1.000000 +nMotionVectorsX=24.959995 +nMotionVectorsY=15.239994 +mv_dx=-0.660000 +mv_dy=0.260000 +mv_l=1.200000 +mv_r=0.670000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.3*sin(time*1.254); +per_frame_2=wave_g = wave_g +0.3*sin(time*0.952); +per_frame_3=wave_b = wave_b + 0.3*sin(time*0.824); +per_frame_4=ob_r = 0.5 + 0.4*sin(time*1.324); +per_frame_5=ob_g = 0.5 + 0.4*cos(time*1.371); +per_frame_6=ob_b = 0.5+0.4*sin(2.332*time); +per_frame_7=ib_r = 0.5 + 0.25*sin(time*1.424); +per_frame_8=ib_g = 0.25 + 0.25*cos(time*1.871); +per_frame_9=ib_b = 0.5+0.5*sin(2.273*time); +per_frame_10=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_11=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_12=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_13=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_14=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_15=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xpos = xpos + 0.001*xspeed; +per_frame_17=dx = xpos; +per_frame_18=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_19=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_20=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_21=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_22=yspeed = yspeed - cy +per_frame_23=yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=dy = ypos; +per_frame_26=zoom = cx; +per_pixel_1=myzoom = log(sqrt(2)-rad) -0.25; +per_pixel_2= +per_pixel_3=zoom = if(above(rad,0.4),myzoom,(0.5*sqrt(2)-rad)); +per_pixel_4=myzoom = myzoom - rot; +per_pixel_5=cx = cos(myzoom); diff --git a/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ mindful selfless temperance.milk b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ mindful selfless temperance.milk new file mode 100755 index 0000000000..160286c0c4 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ mindful selfless temperance.milk @@ -0,0 +1,417 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.700 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.97237 +fShader=0.000 +zoom=1.00496 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00016 +sx=0.99967 +sy=0.99990 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.000 +wave_y=0.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=200 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.01000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=t1 = sample+time*.2; +wave_0_per_point2= +wave_0_per_point3=x = .35* sin (6*t1) ; +wave_0_per_point4=my = .35* cos (3*t1)* sin (-10+20*sample) ; +wave_0_per_point5=mz = .35* cos (7*t1) * cos (-5+10*sample) ; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=/////// rotations... by flexi +wave_0_per_point9= +wave_0_per_point10=d = 1; +wave_0_per_point11=zoom = 1; +wave_0_per_point12= +wave_0_per_point13=w1 = .3*time; +wave_0_per_point14=w2 = .1*time; +wave_0_per_point15=w3 = .2*time; +wave_0_per_point16= +wave_0_per_point17=x1 = cos(w1)*mx + sin(w1)*my; +wave_0_per_point18=y1 = -sin(w1)*mx + cos(w1)*my; +wave_0_per_point19=z1 = mz; +wave_0_per_point20= +wave_0_per_point21=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point22=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point23=y2 = y1; +wave_0_per_point24= +wave_0_per_point25=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point26=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point27=x3 = x2; +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=200 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.24699 +shapecode_0_r=1.000 +shapecode_0_g=0.400 +shapecode_0_b=0.300 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.510 +shape_0_per_frame1=sample=instance/num_inst; +shape_0_per_frame2=rad=.22*sample; +shape_0_per_frame3=r=sample; +shape_0_per_frame4=ang=(1-sample)*time*15; +shape_0_per_frame5=sides=(1-sample)* 14; +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=t1 = sample+time*.2; +shape_0_per_frame9=mx = .4* (.6*sin (7*t1)+.4*sin (4.3*t1)) ; +shape_0_per_frame10=my = .4* (.6*cos (3.3*t1)+.4*cos (6.9*t1))* sin (-10+20*sample) ; +shape_0_per_frame11=mz = .4* (.6*cos (4.1*t1)+.4*cos (6.9*t1)) * cos (-5+10*sample) ; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=/////// rotations... by flexi +shape_0_per_frame15= +shape_0_per_frame16=d = 1; +shape_0_per_frame17=zoom = 1; +shape_0_per_frame18= +shape_0_per_frame19=w1 = .3*time; +shape_0_per_frame20=w2 = .1*time; +shape_0_per_frame21=w3 = .2*time; +shape_0_per_frame22= +shape_0_per_frame23=x1 = cos(w1)*mx + sin(w1)*my; +shape_0_per_frame24=y1 = -sin(w1)*mx + cos(w1)*my; +shape_0_per_frame25=z1 = mz; +shape_0_per_frame26= +shape_0_per_frame27=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame28=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame29=y2 = y1; +shape_0_per_frame30= +shape_0_per_frame31=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame32=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame33=x3 = x2; +shape_0_per_frame34= +shape_0_per_frame35= +shape_0_per_frame36=// perspective calculation +shape_0_per_frame37= +shape_0_per_frame38=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame39=w = atan2(x3,y3); +shape_0_per_frame40=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame41=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame42= +shape_0_per_frame43=my_x = zoom*sin(w)*p; +shape_0_per_frame44=my_y = zoom*cos(w)*p; +shape_0_per_frame45= +shape_0_per_frame46=x = 0.5 + my_x; +shape_0_per_frame47=y = 0.5 + my_y; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_26=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_27=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_28=q8 = oldq8+min(if(above(bass+bass_att,1.8),q8+0.25*pow((bass+bass_att-1),5),0),1); +per_frame_29=oldq8 = q8; +per_frame_30=q8 = q8 + 0.1*time; +per_frame_31=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_32=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_33=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_34=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_35=mv_x = 1.25; +per_frame_36=mv_y = 1.25; +per_frame_37=mv_a =1; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); +warp_1=`sampler sampler_fw_noisevol_hq; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` float3 pos = float3(uv.x, uv.y, q1); +warp_6=` float3 rc = tex3D(sampler_fw_noisevol_hq, pos); +warp_7=` rc += tex3D(sampler_fw_noisevol_hq, 2*pos)*0.5; +warp_8=` rc += tex3D(sampler_fw_noisevol_hq, 4*pos)*0.25; +warp_9=` rc += tex3D(sampler_fw_noisevol_hq, 8*pos)*0.125; +warp_10=` rc += tex3D(sampler_fw_noisevol_hq, 16*pos)*0.0625; +warp_11=` //rc = rc*0.556; +warp_12=` rc = (rc*rc*rc); +warp_13=` rc -= GetBlur1(uv); +warp_14=` rc *= q3; +warp_15=` +warp_16=` float2 ruv = uv = 0.5 + (uv-0.5)*(1-(rc.x*.05)); +warp_17=` ret = tex2D(sampler_fc_main, float2(ruv.x, ruv.y)).xyz; +warp_18=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_19=` ((ruv.xyy*q27 +warp_20=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_21=` ).xyz* +warp_22=` float3(1,1,0)*0.05 + +warp_23=` time*float3(0,0,1)*q29 +warp_24=` ); +warp_25=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_26=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_27=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_28=` +warp_29=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_30=` noise2 += lerp(rc*2, 2, rad); +warp_31=` +warp_32=` ret = ret+0.5*lum(cross((1-ret),(noise2))); +warp_33=` +warp_34=` ret *= 0.98; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_5=` ((uv.xyy*q28 +comp_6=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_7=` ).xyz* +comp_8=` float3(1,1,0)*0.05 + +comp_9=` time*float3(0,0,1)*q31 +comp_10=` ); +comp_11=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_12=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_13=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_14=`// ret = 1-ret; +comp_15=`ret-=slow_roam_sin.wzy*slow_roam_cos*.4; +comp_16=` +comp_17=` ret *= 1.14; //gamma +comp_18=` ret *= ret; //darken +comp_19=`} diff --git a/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qohere graft.milk b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qohere graft.milk new file mode 100755 index 0000000000..c051ede862 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qohere graft.milk @@ -0,0 +1,500 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.041 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.97237 +fShader=0.000 +zoom=1.00496 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00016 +sx=0.99967 +sy=0.99990 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10260 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14=rad=(bass+treb)/100; +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shape_0_per_frame16=r=int(rand(100))/100; +shape_0_per_frame17=g=int(rand(100))/100; +shape_0_per_frame18=b=int(rand(100))/100; +shape_0_per_frame19=r2=int(rand(100))/100; +shape_0_per_frame20=g2=int(rand(100))/100; +shape_0_per_frame21=b2=int(rand(100))/100; +shape_0_per_frame22=r_border=int(rand(100))/100; +shape_0_per_frame23=g_border=int(rand(100))/100; +shape_0_per_frame24=b_border=int(rand(100))/100; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=33 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.500 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.500 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = rand(int(q30))/15+instance-instance; +shape_1_per_frame2=trans2 = rand(int(q30))/15+instance-instance; +shape_1_per_frame3=trans3 = rand(int(q30))/15+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; +shape_1_per_frame9=r=rand(q30)*.1+instance-instance; +shape_1_per_frame10=g=rand(q30)*.1+instance-instance; +shape_1_per_frame11=b=rand(q30)*.1+instance-instance; +shape_1_per_frame12=r2=rand(q30)*.1+instance-instance; +shape_1_per_frame13=g2=rand(q30)*.1+instance-instance; +shape_1_per_frame14=b2=rand(q30)*.1+instance-instance; +shape_1_per_frame15=border_r=rand(q30)*.1+instance-instance; +shape_1_per_frame16=border_g=rand(q30)*.1+instance-instance; +shape_1_per_frame17=border_b=rand(q30)*.1+instance-instance; +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=92 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.02705 +shapecode_2_ang=1.57080 +shapecode_2_tex_ang=1.25664 +shapecode_2_tex_zoom=3.07268 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=t1 = time - int (time); +shape_2_per_frame2=sample = instance/num_inst; +shape_2_per_frame3=t_abs = sample*3; +shape_2_per_frame4=t_rel = sample-time/5; +shape_2_per_frame5= +shape_2_per_frame6=ampl = 2*t_abs/2 ; +shape_2_per_frame7= +shape_2_per_frame8=k1=sin(time/13); +shape_2_per_frame9=k2=sin(time/12); +shape_2_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_2_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_2_per_frame12=oz = -1 ; +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_2_per_frame16=g = sqr(sin(t_rel)); +shape_2_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_2_per_frame18= +shape_2_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_2_per_frame20= +shape_2_per_frame21=xang = time/9.5; +shape_2_per_frame22=yang = 0*time/7; +shape_2_per_frame23=zang = -time/22; +shape_2_per_frame24=fov = 0.5; +shape_2_per_frame25= +shape_2_per_frame26= +shape_2_per_frame27=// Rotation um x,y,z +shape_2_per_frame28= +shape_2_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_2_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_2_per_frame31= +shape_2_per_frame32=ox = mx; +shape_2_per_frame33=oy = my; +shape_2_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_2_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_2_per_frame36=ox = mx; +shape_2_per_frame37=oz = mz; +shape_2_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_2_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_2_per_frame40=oy = my; +shape_2_per_frame41=oz = mz; +shape_2_per_frame42= +shape_2_per_frame43=oz = oz - 6; +shape_2_per_frame44=x = ox*fov/oz +0.5; +shape_2_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_2_per_frame46=y = oy*fov/oz + 0.5; +shape_2_per_frame47= +shape_2_per_frame48=a=1/mz*.5; +shape_2_per_frame49=//a2=1/mz*.5; +shape_2_per_frame50=//border_a=1/mz*.5; +shape_2_per_frame51=rad=1/mz*.005; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_26=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_27=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_28=q8 = oldq8+min(if(above(bass+bass_att,1.8),q8+0.25*pow((bass+bass_att-1),5),0),1); +per_frame_29=oldq8 = q8; +per_frame_30=q8 = q8 + 0.1*time; +per_frame_31=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_32=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_33=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_34=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_35=mv_x = 1.25; +per_frame_36=mv_y = 1.25; +per_frame_37=mv_a =1; +per_frame_38=q30=(bass+treb+mid)*2; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); +warp_1=`sampler sampler_fw_noisevol_hq; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` float3 pos = float3(uv.x, uv.y, q1); +warp_6=` float3 rc = tex3D(sampler_fw_noisevol_hq, pos); +warp_7=` rc += tex3D(sampler_fw_noisevol_hq, 2*pos)*0.5; +warp_8=` rc += tex3D(sampler_fw_noisevol_hq, 4*pos)*0.25; +warp_9=` rc += tex3D(sampler_fw_noisevol_hq, 8*pos)*0.125; +warp_10=` rc += tex3D(sampler_fw_noisevol_hq, 16*pos)*0.0625; +warp_11=` //rc = rc*0.556; +warp_12=` rc = (rc*rc*rc); +warp_13=` rc -= GetBlur1(uv); +warp_14=` rc *= q3; +warp_15=` +warp_16=` float2 ruv = uv = 0.5 + (uv-0.5)*(1-(rc.x*.05)); +warp_17=` ret = tex2D(sampler_fc_main, float2(ruv.x, ruv.y)).xyz; +warp_18=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_19=` ((ruv.xyy*q27 +warp_20=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_21=` ).xyz* +warp_22=` float3(1,1,0)*0.05 + +warp_23=` time*float3(0,0,1)*q29 +warp_24=` ); +warp_25=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_26=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_27=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_28=` +warp_29=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_30=` noise2 += lerp(rc*2, 2, rad); +warp_31=` +warp_32=` ret = ret+0.5*lum(cross((1-ret),(noise2))); +warp_33=` +warp_34=` ret *= 0.98; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_5=` ((uv.xyy*q28 +comp_6=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_7=` ).xyz* +comp_8=` float3(1,1,0)*0.05 + +comp_9=` time*float3(0,0,1)*q31 +comp_10=` ); +comp_11=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_12=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_13=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_14=`// ret = 1-ret; +comp_15=`ret-=slow_roam_sin.wzy*slow_roam_cos*.4; +comp_16=` +comp_17=` ret *= 1.14; //gamma +comp_18=` ret *= ret; //darken +comp_19=`} diff --git a/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qrags.milk b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qrags.milk new file mode 100755 index 0000000000..8950ffdd0b --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Rovastar - Dynamic Swirls 3 (Mysticial Awakening Mix Tweak) - cpe rst roams nz+ qrags.milk @@ -0,0 +1,595 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.97237 +fShader=0.000 +zoom=1.00496 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00016 +sx=0.99967 +sy=0.99990 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = time - int (time); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample*3; +wave_0_per_point3=t_rel = sample-time/5; +wave_0_per_point4= +wave_0_per_point5=ampl = 2*t_abs/2 ; +wave_0_per_point6= +wave_0_per_point7=k1=sin(time/13); +wave_0_per_point8=k2=sin(time/12); +wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); +wave_0_per_point11=oz = -1 ; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r = sqr(sin(t_rel*3.4)); +wave_0_per_point15=g = sqr(sin(t_rel)); +wave_0_per_point16=b = sqr (cos(t_rel*1.8)); +wave_0_per_point17= +wave_0_per_point18=a=0.1*(sin(t_abs*3)) +wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); +wave_0_per_point20= +wave_0_per_point21=xang = time/9.5; +wave_0_per_point22=yang = 0*time/7; +wave_0_per_point23=zang = -time/22; +wave_0_per_point24=fov = 0.5; +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=// Rotation um x,y,z +wave_0_per_point28= +wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point31= +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point36=ox = mx; +wave_0_per_point37=oz = mz; +wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point40=oy = my; +wave_0_per_point41=oz = mz; +wave_0_per_point42= +wave_0_per_point43=oz = oz - 6; +wave_0_per_point44=x = ox*fov/oz +0.5; +wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point46=y = oy*fov/oz + 0.5; +wave_0_per_point47= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); +wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); +wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); +wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); +wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); +wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); +wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_26=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_27=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_28=q8 = oldq8+min(if(above(bass+bass_att,1.8),q8+0.25*pow((bass+bass_att-1),5),0),1); +per_frame_29=oldq8 = q8; +per_frame_30=q8 = q8 + 0.1*time; +per_frame_31=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); +per_frame_32=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); +per_frame_33=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); +per_frame_34=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); +per_frame_35=mv_x = 1.25; +per_frame_36=mv_y = 1.25; +per_frame_37=mv_a =1; +per_pixel_1=du = x*2-1 - q1; +per_pixel_2=dv = y*2-1 - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv); +per_pixel_5=mult = 0.008/(dist+0.4); +per_pixel_6=dx = mult*sin(ang2-1.5); +per_pixel_7=dy = mult*cos(ang2-1.5); +per_pixel_8=du = x*2-1 - q3; +per_pixel_9=dv = y*2-1 - q4; +per_pixel_10=dist = sqrt(du*du+dv*dv); +per_pixel_11=ang2 = atan2(du,dv); +per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); +per_pixel_13=dx = dx + mult*sin(ang2+1.5); +per_pixel_14=dy = dy + mult*cos(ang2+1.5); +per_pixel_15=rot = -0.01*rad*sin(q8); +warp_1=`sampler sampler_fw_noisevol_hq; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` float3 pos = float3(uv.x, uv.y, q1); +warp_6=` float3 rc = tex3D(sampler_fw_noisevol_hq, pos); +warp_7=` rc += tex3D(sampler_fw_noisevol_hq, 2*pos)*0.5; +warp_8=` rc += tex3D(sampler_fw_noisevol_hq, 4*pos)*0.25; +warp_9=` rc += tex3D(sampler_fw_noisevol_hq, 8*pos)*0.125; +warp_10=` rc += tex3D(sampler_fw_noisevol_hq, 16*pos)*0.0625; +warp_11=` //rc = rc*0.556; +warp_12=` rc = (rc*rc*rc); +warp_13=` rc -= GetBlur1(uv); +warp_14=` rc *= q3; +warp_15=` +warp_16=` float2 ruv = uv = 0.5 + (uv-0.5)*(1-(rc.x*.05)); +warp_17=` ret = tex2D(sampler_fc_main, float2(ruv.x, ruv.y)).xyz; +warp_18=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_19=` ((ruv.xyy*q27 +warp_20=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_21=` ).xyz* +warp_22=` float3(1,1,0)*0.05 + +warp_23=` time*float3(0,0,1)*q29 +warp_24=` ); +warp_25=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_26=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_27=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_28=` +warp_29=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_30=` noise2 += lerp(rc*2, 2, rad); +warp_31=` +warp_32=` ret = ret+0.5*lum(cross((1-ret),(noise2))); +warp_33=` +warp_34=` ret *= 0.98; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_5=` ((uv.xyy*q28 +comp_6=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_7=` ).xyz* +comp_8=` float3(1,1,0)*0.05 + +comp_9=` time*float3(0,0,1)*q31 +comp_10=` ); +comp_11=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_12=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_13=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_14=`// ret = 1-ret; +comp_15=`ret-=slow_roam_sin.wzy*slow_roam_cos*.4; +comp_16=` +comp_17=` ret *= 1.14; //gamma +comp_18=` ret *= ret; //darken +comp_19=`} diff --git a/presets/presets_tryptonaut/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk b/presets/presets_tryptonaut/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk new file mode 100755 index 0000000000..efb1d66007 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=5.002776 +fWaveScale=1.186400 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=ob_r = 0.5+0.5*sin(2*time); +per_frame_2=ob_g = 0.5+0.5*sin(1.23*time); +per_frame_3=ob_b = 0.5+0.5*sin(time*1.321); +per_frame_4=wave_a =0; +per_frame_5=q8 =oldq8+ 0.003*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=oldq8 = q8; +per_frame_7=warp=0; +per_frame_8=sx = 1- 0.1*sin(q8)+0.05*sin(time); +per_frame_9=wave_b = cos(time) + abs(cos(time)); +per_frame_10=wave_g = abs(sin(time)) ; +per_frame_11=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_12=wave_r = 1 - if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_13=wave_g = 1 - if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_14=wave_b = 1 - if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_15= +per_pixel_1=rot = 0.1*(rad+cos((5+5*sin(q8*1.211)*x)-0.5) -sin(((5+5*sin(q8*0.973))*y)-0.5)); +per_pixel_2=dx = 0.005*(cos((5+5*sin(q8*1.311)*x)-0.5) -sin(((5+5*sin(q8*0.9431))*y)-0.5)); +per_pixel_3=dy = 0.005*(cos((5+5*sin(q8*1.021)*x)-0.5) -sin(((5+5*sin(q8*0.987))*y)-0.5)); +per_pixel_4=zoom =1- 0.005*(rad+cos((5+5*sin(q8*0.943)*x)-0.5) -sin(((5+5*sin(q8*1.0961))*y)-0.5)); +per_pixel_5=cx = 1-rot * 2; diff --git a/presets/presets_tryptonaut/Rozzor & Shreyas - Deeper Aesthetics.milk b/presets/presets_tryptonaut/Rozzor & Shreyas - Deeper Aesthetics.milk new file mode 100755 index 0000000000..6b9b362fa4 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Shreyas - Deeper Aesthetics.milk @@ -0,0 +1,373 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.190000 +zoom=0.999698 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.580000 +ib_size=0.015000 +ib_r=0.550000 +ib_g=1.000000 +ib_b=0.499900 +ib_a=0.230000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=302 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=ti=if(above(bass,1.3),.3,ti*.9); +wave_0_per_frame2=tt1=tt1+.01+ti*.1; +wave_0_per_frame3=t8=tt1; +wave_0_per_frame4=t7=cos(time*.1+1)*sin(time*.1-6); +wave_0_per_frame5=rx=atan2(sin(time*.1)*cos(t8),sqr(sin(t8)+1)+sqr(t7))/4+(sin(t8)+1)/2; +wave_0_per_frame6=ry=atan2(sin(time*.1)*cos(t8),t7); +wave_0_per_frame7=rz=0; +wave_0_per_frame8= +wave_0_per_frame9=t1=sin(rx);t2=cos(rx); +wave_0_per_frame10=t3=sin(ry);t4=cos(ry); +wave_0_per_frame11=t5=sin(rz);t6=cos(rz); +wave_0_per_point1=sample=sample*6.283185*.5;value1=(value1+1)*.3; +wave_0_per_point2=x1=sin(sample)*sin(sample*40)*value1; +wave_0_per_point3=y1=cos(sample)*value1; +wave_0_per_point4=z1=sin(sample)*cos(sample*40)*value1; +wave_0_per_point5=x1=x1+(sin(time*.1)*cos(t8)); +wave_0_per_point6=y1=y1+(sin(t8)+1); +wave_0_per_point7=z1=z1+t7; +wave_0_per_point8=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_0_per_point9=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_0_per_point10=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_0_per_point11=z3=if(above(z3,.1),.5/z3,0); +wave_0_per_point12=x=if(z3,x3*z3,x)+.5; +wave_0_per_point13=y=if(z3,-y3*z3,y)+.5; +wave_0_per_point14=hu=sample+sin(time); +wave_0_per_point15=r=sin(hu)*.5+.5; +wave_0_per_point16=g=sin(hu+6.283185*.33)*.5+.5; +wave_0_per_point17=b=sin(hu+6.283185*.66)*.5+.5; +wave_0_per_point18=a=z3*.8; +wavecode_1_enabled=1 +wavecode_1_samples=302 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=ti=if(above(bass,1.3),.3,ti*.9); +wave_1_per_frame2=tt1=tt1+.01+ti*.1; +wave_1_per_frame3=t8=tt1; +wave_1_per_frame4=t7=cos(time*.1+1)*sin(time*.1-6); +wave_1_per_frame5=rx=atan2(sin(time*.1)*cos(t8),sqr(sin(t8)+1)+sqr(t7))/4+(sin(t8)+1)/2; +wave_1_per_frame6=ry=atan2(sin(time*.1)*cos(t8),t7); +wave_1_per_frame7=rz=0; +wave_1_per_frame8= +wave_1_per_frame9=t1=sin(rx);t2=cos(rx); +wave_1_per_frame10=t3=sin(ry);t4=cos(ry); +wave_1_per_frame11=t5=sin(rz);t6=cos(rz); +wave_1_per_frame12= +wave_1_per_point1=cp=bnot(cp); +wave_1_per_point2=r=sample*6.283185*10; +wave_1_per_point3=i1=(sample*6)%2; +wave_1_per_point4=rt=if(cp,1,.5); +wave_1_per_point5=sample=sample*6.283185*.5; +wave_1_per_point6= +wave_1_per_point7=x1=sin(r)*rt; +wave_1_per_point8=z1=cos(r)*rt; +wave_1_per_point9=y1=-sin(i1)+.5; +wave_1_per_point10=x1=x1+(sin(time*.1)*cos(t8)); +wave_1_per_point11=y1=y1+(sin(t8)+1); +wave_1_per_point12=z1=z1+t7; +wave_1_per_point13=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_1_per_point14=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_1_per_point15=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_1_per_point16=z3=if(above(z3,.1),.5/z3,0); +wave_1_per_point17=x=if(z3,x3*z3,x)+.5; +wave_1_per_point18=y=if(z3,-y3*z3,y)+.5; +wave_1_per_point19=hu=sample+sin(time/6.283185)*6.283185; +wave_1_per_point20=r=sin(hu)*.5+.5; +wave_1_per_point21=g=sin(hu+6.283185*.33)*.5+.5; +wave_1_per_point22=b=sin(hu+6.283185*.66)*.5+.5; +wave_1_per_point23=a=z3*.8; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=ti=if(above(bass,1.3),.3,ti*.9); +wave_2_per_frame2=tt1=tt1+.01+ti*.1; +wave_2_per_frame3=t8=tt1; +wave_2_per_frame4=t7=cos(time*.1+1)*sin(time*.1-6); +wave_2_per_frame5=rx=atan2(sin(time*.1)*cos(t8),sqr(sin(t8)+1)+sqr(t7))/4+(sin(t8)+1)/2; +wave_2_per_frame6=ry=atan2(sin(time*.1)*cos(t8),t7); +wave_2_per_frame7=rz=0; +wave_2_per_frame8= +wave_2_per_frame9=t1=sin(rx);t2=cos(rx); +wave_2_per_frame10=t3=sin(ry);t4=cos(ry); +wave_2_per_frame11=t5=sin(rz);t6=cos(rz); +wave_2_per_point1=sample=sample*6.283185*134; +wave_2_per_point2=x1=sin(sample*543)*2+(sin(time*.1)*cos(t8)); +wave_2_per_point3=y1=cos(sample*4232)*2+(sin(t8)+1); +wave_2_per_point4=z1=sin(sample*90)*2+t7; +wave_2_per_point5= +wave_2_per_point6=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_2_per_point7=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_2_per_point8=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_2_per_point9=z3=if(above(z3,.1),.5/z3,0); +wave_2_per_point10=x=if(z3,x3*z3,x)+.5; +wave_2_per_point11=y=if(z3,-y3*z3,y)+.5; +wave_2_per_point12=a=z3*.8; +wavecode_3_enabled=1 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=ti=if(above(bass,1.3),.3,ti*.9); +wave_3_per_frame2=tt1=tt1+.01+ti*.1; +wave_3_per_frame3=t8=tt1; +wave_3_per_frame4=t7=cos(time*.1+1)*sin(time*.1-6); +wave_3_per_frame5=rx=atan2(sin(time*.1)*cos(t8),sqr(sin(t8)+1)+sqr(t7))/4+(sin(t8)+1)/2; +wave_3_per_frame6=ry=atan2(sin(time*.1)*cos(t8),t7); +wave_3_per_frame7=ry1=ry1+bass_att*.2; +wave_3_per_frame8=t1=sin(rx);t2=cos(rx); +wave_3_per_frame9=t3=sin(ry);t4=cos(ry); +wave_3_per_frame10=t5=ry1; +wave_3_per_frame11= +wave_3_per_point1=cp=bnot(cp); +wave_3_per_point2=r=sample*62.83185; +wave_3_per_point3=i1=(sample*6)%2; +wave_3_per_point4=rt=if(cp,.7,.2); +wave_3_per_point5=sample=sample*3.14159; +wave_3_per_point6= +wave_3_per_point7=x1=sin(r)*rt; +wave_3_per_point8=z1=cos(r)*rt; +wave_3_per_point9=y1=-.5; +wave_3_per_point10=x2=x1*cos(t5)-z1*sin(t5);z2=x1*sin(t5)+z1*cos(t5); +wave_3_per_point11=x1=x2+(sin(time*.1)*cos(t8)); +wave_3_per_point12=y1=y1+(sin(t8)+1); +wave_3_per_point13=z1=z2+t7; +wave_3_per_point14=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_3_per_point15=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_3_per_point16=x3=x2;y3=y2; +wave_3_per_point17=z3=if(above(z3,.1),.5/z3,0); +wave_3_per_point18=x=if(z3,x3*z3,x)+.5; +wave_3_per_point19=y=if(z3,-y3*z3,y)+.5; +wave_3_per_point20=hu=sample+cos(time/6.283185)*6.283185; +wave_3_per_point21=r=sin(hu)*.5+.5; +wave_3_per_point22=g=sin(hu+6.283185*.33)*.5+.5; +wave_3_per_point23=b=sin(hu+6.283185*.66)*.5+.5; +wave_3_per_point24=a=z3*.8; +wave_3_per_point25= +wave_3_per_point26= +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+int(rand(3)),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk b/presets/presets_tryptonaut/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk new file mode 100755 index 0000000000..8e11743735 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & StudioMusic - Vertigyny (Geiss Shape Mod).milk @@ -0,0 +1,204 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=98.029610 +fWaveScale=0.935100 +fWaveSmoothing=0.306000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000001 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.090000 +wave_g=0.090000 +wave_b=0.090000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.020000 +ob_g=0.020000 +ob_b=0.020000 +ob_a=0.970000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.970000 +nMotionVectorsX=5.120042 +nMotionVectorsY=5.088000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.899999 +mv_r=0.800000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.250000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=ang = time*1.4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7)*.5; +shape_0_per_frame3=y = q1 + 0.02*sin(time*1.3) + 0.04*sin(time*0.2)*.5; +shape_0_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1)*.5; +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2)*.5; +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5)*.5; +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4)*.5; +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1)*.5; +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3)*.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r=sin(cos(slowtime*0.235)); +per_frame_6=ib_g=sin(cos(slowtime*0.335)); +per_frame_7=ib_b=sin(cos(slowtime*0.435)); +per_frame_8=redneg = if(below(ib_r,0),1,0); +per_frame_9=greenneg = if(below(ib_g,0),1,0); +per_frame_10=blueneg = if(below(ib_b,0),1,0); +per_frame_11=ib_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r)); +per_frame_12=ib_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g)); +per_frame_13=ib_b =1 - (if(blueneg,1 + ib_b, ib_b)); +per_frame_14=ff = slowtime/100; +per_frame_15=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_16=wave_g = cos(ff/mid)/2+0.5; +per_frame_17=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*slowtime) + 0.40*sin(0.579*slowtime) ); +per_frame_19=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_frame_20=ob_r=sin(beat*cos(slowtime*0.735)); +per_frame_21=ob_g=sin(bass*cos(slowtime*0.635)); +per_frame_22=ob_b=sin(bass*cos(slowtime*0.535)); +per_frame_23=redneg = if(below(ob_r,0),1,0); +per_frame_24=greenneg = if(below(ob_g,0),1,0); +per_frame_25=blueneg = if(below(ob_b,0),1,0); +per_frame_26=ob_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ob_r),ob_r)); +per_frame_27=ob_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ob_g),ob_g)); +per_frame_28=ob_b =1 - (if(blueneg,1 + ob_b, ob_b)); +per_frame_29=q1 = sin(slowtime); +per_pixel_1=q2=above(rad,.603); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); diff --git a/presets/presets_tryptonaut/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk b/presets/presets_tryptonaut/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk new file mode 100755 index 0000000000..f3473b5f68 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Unchained - Crescat Scientia, Vita Excolatur.milk @@ -0,0 +1,141 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001830 +fShader=0.000000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=4.480000 +nMotionVectorsY=3.720000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40= +per_frame_41=beat = if(equal(bres,prev_bass),0,1); +per_frame_42=prev_bass = bres; +per_frame_43=ying = if(below(ying,1),1,ying); +per_frame_44=ying = if (beat,ying + bnot(time*10%3),ying); +per_frame_45=yin = ying%2; +per_frame_46=mytime = pulse*ying; +per_frame_47=ib_size = 0.02; +per_frame_48=ib_g = if(bnot(ying%11),ib_r,ib_b); +per_frame_49=//ib_g = if(bnot(ying%11),1,0); +per_frame_50=ib_r = if(bnot(ying%11),ying%3,ob_g); +per_frame_51=ib_b = if(bnot(ying%11),ying%4,1); +per_frame_52=mv_a = yin; +per_frame_53=mv_b = sin(mytime) + abs(sin(mytime)); +per_frame_54=mv_r = cos(mytime); +per_frame_55=mv_g = -.8*sign(sin(mytime))*abs(sin(mytime)); +per_frame_56=ob_b = cos(ying) + abs(cos(ying)); +per_frame_57=ob_g = abs(sin(ying)) ; +per_frame_58=ob_r = (-1 * cos(ying)) + abs(-1 * cos(ying)) + 0.2 * (cos(sin(ying))+(abs(cos(sin(ying)))+cos(sin(ying)))); +per_frame_59=q3 = if(beat,(10*abs(sin(mytime)))%3-1,0); +per_frame_60=ib_size=.025+.02*q2; +per_frame_61=ob_size=.03+.02*q3-.002*q7; +per_frame_62=wave_r=.5+.5*sin(q1*q7+mytime*2.183); +per_frame_63=wave_g=.5+.5*sin(q2*3+mytime*1.211); +per_frame_64=wave_b=.5+.5*sin(q3+mytime*1.541); +per_frame_65=dx = if(yin,dx -0.005*sin(mytime*0.23),if(equal(yin,yang),0,if(below(abs(dx),.05),dx-(q3*0.001),dx))); +per_frame_66=dy = if(yin,dy - 0.005*sin(mytime*0.2),if(equal(yin,yang),0,if(below(abs(dy),.05),dy-(q3*0.001),dy))); +per_frame_67=yang = bnot(yin); +per_frame_68=ob_a=.8+.2*q2; +per_frame_69=zoom=zoom+.04*q4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.3)*above(q2,0)+above(y-cos(ang),.7)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.3)*above(q3,0)+below(y,.7)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.7)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_tryptonaut/Rozzor & Unchained - Painful Plasma (Multi-Wave Mirrored Rage (Triangle Tweak)).milk b/presets/presets_tryptonaut/Rozzor & Unchained - Painful Plasma (Multi-Wave Mirrored Rage (Triangle Tweak)).milk new file mode 100755 index 0000000000..d6127c783b --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Unchained - Painful Plasma (Multi-Wave Mirrored Rage (Triangle Tweak)).milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.224562 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.199900 +wave_b=0.700000 +wave_x=0.600000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.030000 +ob_g=0.150000 +ob_b=0.250000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.100000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.010000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.250000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=ang = time*1.4; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=q1; +per_frame_39=mv_x=rand(30); +per_frame_40=mv_y=rand(30); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_mode=4+4*q4; +per_pixel_1=newx = x - abs(q1); +per_pixel_2=newy = y - abs(q2); +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = (newx)*newzoom - newx; +per_pixel_6=dy = (newy)*newzoom - newy; +per_pixel_7=rot = -0.1*newrad*(0.5*rad+0.1); +per_pixel_8=zoom = zoom+.07*cos(x*10*q3); +per_pixel_9=rot = rot * (zoom-1); diff --git a/presets/presets_tryptonaut/Rozzor & Unchained - Scientifically Shapely.milk b/presets/presets_tryptonaut/Rozzor & Unchained - Scientifically Shapely.milk new file mode 100755 index 0000000000..a8134347c9 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor & Unchained - Scientifically Shapely.milk @@ -0,0 +1,312 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.424194 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.809868 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x=x+.3*q3; +shape_0_per_frame2=y=y+.3*q4; +shape_0_per_frame3=rad=.3+.3*q5; +shape_0_per_frame4=sides=3+(q8%3); +shape_0_per_frame5=textured=bnot(sides%2); +shape_0_per_frame6=r2=q1; +shape_0_per_frame7=g2=q2; +shape_0_per_frame8=b2=q3; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.500000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=x=x+.3*q3; +shape_1_per_frame2=y=y+.3*q4; +shape_1_per_frame3=rad=.3+.3*q5; +shape_1_per_frame4=sides=3+(q8%3); +shape_1_per_frame5=textured=bnot(sides%2); +shape_1_per_frame6=r2=q1; +shape_1_per_frame7=g2=q2; +shape_1_per_frame8=b2=q3; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.500000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x=x+.3*q4; +shape_2_per_frame2=y=y+.3*q3; +shape_2_per_frame3=rad=.3+.3*q5; +shape_2_per_frame4=sides=3+(q8%3); +shape_2_per_frame5=textured=bnot(sides%2); +shape_2_per_frame6=r2=q1; +shape_2_per_frame7=g2=q2; +shape_2_per_frame8=b2=q3; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=x=x+.3*q3; +shape_3_per_frame2=y=y+.3*q4; +shape_3_per_frame3=rad=.3+.3*q5; +shape_3_per_frame4=sides=3+(q8%3); +shape_3_per_frame5=textured=bnot(sides%2); +shape_3_per_frame6=r2=q1; +shape_3_per_frame7=g2=q2; +shape_3_per_frame8=b2=q3; +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_27=q1=bres; +per_frame_28=q2=tres; +per_frame_29=q3=mres; +per_frame_30=q4=sin(pulse); +per_frame_31= +per_frame_32=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_33=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_34=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_35=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_36=q7=mod_state; +per_frame_37=q8=ccl; +per_frame_38=ib_size=.025+.02*q2; +per_frame_39=ob_size=.03+.02*q3-.002*q7; +per_frame_40=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_41=wave_x=wave_x+.15*sin(time*.811+q1)+.02*(frame%12+q7)*sign(q5); +per_frame_42=wave_y=wave_y+.15*sin(time*.788+q2)+.02*(frame%11+q7)*sign(q3); +per_frame_43= +per_frame_44=cy=.5+.5*q4+sin(time*.086); +per_frame_45= +per_frame_46=decay=.997+.0015*q3+.0015*q1; +per_frame_47= +per_frame_48=slowtime = slowtime + mpulse*time; +per_frame_49= +per_frame_50=temp_b = cos(slowtime) + abs(cos(slowtime)); +per_frame_51=temp_g = abs(sin(slowtime)) ; +per_frame_52=temp_r = (-1 * cos(slowtime)) + abs(-1 * cos(slowtime)) + 0.2 * (cos(sin(slowtime))+(abs(cos(sin(slowtime)))+cos(sin(slowtime)))); +per_frame_53=ob_r = if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_54=ob_g = if(above(temp_g,.5),.5,if(above(temp_g,0), abs(temp_g),0)); +per_frame_55=ob_b = if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_56=ib_r = 1- if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_57=ib_g = 1- if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_58=ib_b = 1- if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_59=wave_b = temp_b; +per_frame_60=wave_g = 1-temp_g; +per_frame_61=wave_r = 1-equal(ob_b,1)*temp_r; +per_frame_62=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.1*sin(rad*.0314*meshx*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.001*meshx*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.001*meshy*q3,.5); +per_pixel_10=sx=sx+.01*sin(time*2.13*meshx*x); +per_pixel_11=sy=sy+.01*sin(time*2.33*meshy*x); diff --git a/presets/presets_tryptonaut/Rozzor - Learning Curve (Invert tweak).milk b/presets/presets_tryptonaut/Rozzor - Learning Curve (Invert tweak).milk new file mode 100755 index 0000000000..f00121b1a7 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor - Learning Curve (Invert tweak).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.960000 +fVideoEchoZoom=0.010000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.793875 +fWaveScale=1.074093 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000001 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.001837 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.025000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att + treb + mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean - 0.5 * (vol_mean-vol_now),0.1 * (vol_mean * 9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.15 * vol_mean),1,0); +per_frame_5=sinbeat =sin(beat * (vol_now-vol_mean)); +per_frame_6=wave_b = cos(time) + abs(cos(time)); +per_frame_7=wave_g = abs(sin(time)) ; +per_frame_8=wave_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_9=ib_r = if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_10=ib_g = if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_11=ib_b = if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_12=ob_r = 1 - if(above(wave_r,1),1,if(above(wave_r,0), abs(wave_r),0)); +per_frame_13=ob_g = 1 - if(above(wave_g,1),1,if(above(wave_g,0), abs(wave_g),0)); +per_frame_14=ob_b = 1 - if(above(wave_b,1),1,if(above(wave_b,0), abs(wave_b),0)); +per_frame_15=q1 = sinbeat+.35 ; +per_frame_16=wave_mystery = vol_now; +per_frame_17=monitor = sinbeat; +per_pixel_1=a = pow(1.02, pow(1, rad * 2 - 1)); +per_pixel_2=dx = (x - .5) * a + .5 - x; +per_pixel_3=dy = (y - .5) * a + .5 - y; +per_pixel_4=zoom = q1 + x; diff --git a/presets/presets_tryptonaut/Rozzor and Idiot - Any Other Deep Rising.milk b/presets/presets_tryptonaut/Rozzor and Idiot - Any Other Deep Rising.milk new file mode 100755 index 0000000000..df79e175b4 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and Idiot - Any Other Deep Rising.milk @@ -0,0 +1,101 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.140000 +fDecay=0.910000 +fVideoEchoZoom=0.591237 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.008018 +fWaveScale=1.001829 +fWaveSmoothing=0.000000 +fWaveParam=0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.001827 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.905286 +sy=0.932718 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.100000 +ob_g=0.100000 +ob_b=0.100000 +ob_a=0.010000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=11.520000 +nMotionVectorsY=10.559999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=ying = if(below(ying,1),1,ying); +per_frame_3=ying = if (beat,ying + bnot(time*10%3),ying); +per_frame_4=yin = ying%2; +per_frame_5=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_6=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_7=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_8=beatcount = if(bnot(time%5000),0,beatcount); +per_frame_9=beatcount = beatcount +.05*beat; +per_frame_10=yang = bnot(beatcount%2); +per_frame_11=ib_r = 0; +per_frame_12=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime); +per_frame_13=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2); +per_frame_14=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime))); +per_frame_15=mv_b = -1*abs(cos(slowtime))+1; +per_frame_16=mv_r = .8; +per_frame_17=redneg = if(below(ib_r,0),1,0); +per_frame_18=greenneg = if(below(ib_g,0),1,0); +per_frame_19=blueneg = if(below(ib_b,0),1,0); +per_frame_20=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r); +per_frame_21=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g); +per_frame_22=wave_b = if(blueneg,1 + ib_b, ib_b); +per_frame_23=q1 = if(yin,sin(slowtime),q1); +per_frame_24=q2 = if(yin,cos(slowtime),0); +per_frame_25=q3 = sin(beatcount); +per_frame_26=dx = if(yin,.01*sin(slowtime),if(equal(yin,yang),0,dx)); +per_frame_27=dy = if(yin,.01*cos(slowtime),0); +per_frame_28=q5 = if(bnot(yin),abs(cos(time)),dx); +per_frame_29=wave_mystery=wave_mystery-1*sin(time*.65*sin(q3)); +per_frame_30=wave_mode=rand(slowtime%12); +per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y)); +per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5; +per_pixel_3=sy = if(equal(q3,0),sy,1-solipsist); +per_pixel_4=new_x=rad*.05-x; +per_pixel_5=new_y=rad*.05-y; +per_pixel_6=zoom=zoom+.01*sin(ang-rad*3.14*sin(if(Above(q2,q1),.5,-.5)*sin(new_X*new_y)))*sin(if(Above(q3,q1),.5,-.5))-.03*sin(Ang*5-rad*sin(if(Above(q3,q2),.5,-.5))); +per_frame_init_1=warp = 0; +per_frame_init_2=beatcount = 0; diff --git a/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk b/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk new file mode 100755 index 0000000000..1e4c358b0d --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk @@ -0,0 +1,212 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-1.000000 +dy=-1.000000 +warp=0.010000 +sx=1.000000 +sy=0.972365 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=384 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=22.479836 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=x = 100*sin(time) * q2+.2; +wave_0_per_frame2=t1 = cos(time)*q3; +wave_0_per_point1=x = sample+(value1*t1); +wave_0_per_point2=y = value2 +q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_init_1=decay=0.1; +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=ib_a =bass; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=countertime = if(beat,time,countertime); +per_frame_15=counter =-1*pow(min((time-countertime-1.5),0),9); +per_frame_16=q7 = if(beat,0.001+0.0001*rand(40),oldq7); +per_frame_17=oldq7=q7; +per_frame_18=q6 = if(beat,0.001+0.0001*rand(40),oldq6); +per_frame_19=oldq6=q6; +per_frame_20=q5= if(beat,0.001+0.0001*rand(40),oldq5); +per_frame_21=oldq5=q5; +per_frame_22=q4 = if(beat,0.001+0.0001*rand(40),oldq4); +per_frame_23=oldq4=q4; +per_frame_24=Flag = If(beat,if(Rand(2)-1,1,0),oldFlag); +per_frame_25=oldflag = flag; +per_frame_26=Ratio = If(Beat,50+rand(100),oldRatio); +per_frame_27=OldRatio = Ratio; +per_frame_28=q1 = if(beat,if(flag,ratio,0.75*ratio),oldq1); +per_frame_29=oldq1=q1; +per_frame_30=q2 = if(beat,if(flag,0.75*ratio,ratio),oldq2); +per_frame_31=//q2 = if(beat, rand(2)+1,oldq2); +per_frame_32=oldq2=q2; +per_frame_33=//monitor = if(rand(2)-1,-1,1); +per_frame_34=temp_b = cos(time) + abs(cos(time)); +per_frame_35=temp_g = abs(sin(time)) ; +per_frame_36=temp_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_37=ob_r = 1 - if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_38=ob_g = 1 - if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_39=ob_b = 1 - if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_frame_40=q3 = .5+.5*sin(q8); +per_frame_41=monitor = q3; +per_pixel_1=dx=q4*sin((y-0.5)*q1)+q5*sin((y-0.5)*q2); +per_pixel_2=dy=q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q1); +per_pixel_3=rot = 0.1*(rad+cos((5+5*sin(q8*1.211)*x)-0.5) -sin(((5+5*sin(q8*0.973))*y)-dx)); +per_pixel_4=cx = if(above(dy,-.5),1-rot * 2,rot*q8); diff --git a/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk b/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk new file mode 100755 index 0000000000..23337f0565 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk @@ -0,0 +1,107 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-1.000000 +dy=-1.000000 +warp=0.010000 +sx=1.000000 +sy=0.972365 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_3=oldq8 = q8; +per_frame_4=ib_a =bass; +per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_13=lastbeat = if(beat,time,lastbeat); +per_frame_14=countertime = if(beat,time,countertime); +per_frame_15=counter =-1*pow(min((time-countertime-1.5),0),9); +per_frame_16=q7 = if(beat,0.001+0.0001*rand(40),oldq7); +per_frame_17=oldq7=q7; +per_frame_18=q6 = if(beat,0.001+0.0001*rand(40),oldq6); +per_frame_19=oldq6=q6; +per_frame_20=q5= if(beat,0.001+0.0001*rand(40),oldq5); +per_frame_21=oldq5=q5; +per_frame_22=q4 = if(beat,0.001+0.0001*rand(40),oldq4); +per_frame_23=oldq4=q4; +per_frame_24=Flag = If(beat,if(Rand(2)-1,1,0),oldFlag); +per_frame_25=oldflag = flag; +per_frame_26=Ratio = If(Beat,50+rand(100),oldRatio); +per_frame_27=OldRatio = Ratio; +per_frame_28=q1 = if(beat,if(flag,ratio,0.75*ratio),oldq1); +per_frame_29=oldq1=q1; +per_frame_30=q2 = if(beat,if(flag,0.75*ratio,ratio),oldq2); +per_frame_31=//q2 = if(beat, rand(2)+1,oldq2); +per_frame_32=oldq2=q2; +per_frame_33=//monitor = if(rand(2)-1,-1,1); +per_frame_34=temp_b = cos(time) + abs(cos(time)); +per_frame_35=temp_g = abs(sin(time)) ; +per_frame_36=temp_r = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +per_frame_37=ob_r = 1 - if(above(temp_r,1),1,if(above(temp_r,0), abs(temp_r),0)); +per_frame_38=ob_g = 1 - if(above(temp_g,1),1,if(above(temp_g,0), abs(temp_g),0)); +per_frame_39=ob_b = 1 - if(above(temp_b,1),1,if(above(temp_b,0), abs(temp_b),0)); +per_pixel_1=dx=q4*sin((y-0.5)*q1)+q5*sin((y-0.5)*q2); +per_pixel_2=dy=q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q1); +per_pixel_3=rot = 0.1*(rad+cos((5+5*sin(q8*1.211)*x)-0.5) -sin(((5+5*sin(q8*0.973))*y)-dx)); +per_pixel_4=cx = if(above(dy,-.5),1-rot * 2,rot*q8); +per_frame_init_1=decay=0.1; diff --git a/presets/presets_tryptonaut/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk b/presets/presets_tryptonaut/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk new file mode 100755 index 0000000000..10bb9f114e --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk @@ -0,0 +1,204 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=98.029610 +fWaveScale=0.935100 +fWaveSmoothing=0.306000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000001 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.090000 +wave_g=0.090000 +wave_b=0.090000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.020000 +ob_g=0.020000 +ob_b=0.020000 +ob_a=0.970000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.970000 +nMotionVectorsX=5.120042 +nMotionVectorsY=5.088000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.899999 +mv_r=0.800000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_x=0.000000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.250000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=ang = time*1.4; +shape_0_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = q1 + 0.02*sin(time*1.3) + 0.04*sin(time*0.2); +shape_0_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r=sin(cos(slowtime*0.235)); +per_frame_6=ib_g=sin(cos(slowtime*0.335)); +per_frame_7=ib_b=sin(cos(slowtime*0.435)); +per_frame_8=redneg = if(below(ib_r,0),1,0); +per_frame_9=greenneg = if(below(ib_g,0),1,0); +per_frame_10=blueneg = if(below(ib_b,0),1,0); +per_frame_11=ib_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r)); +per_frame_12=ib_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g)); +per_frame_13=ib_b =1 - (if(blueneg,1 + ib_b, ib_b)); +per_frame_14=ff = slowtime/100; +per_frame_15=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_16=wave_g = cos(ff/mid)/2+0.5; +per_frame_17=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*slowtime) + 0.40*sin(0.579*slowtime) ); +per_frame_19=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_frame_20=ob_r=sin(beat*cos(slowtime*0.735)); +per_frame_21=ob_g=sin(bass*cos(slowtime*0.635)); +per_frame_22=ob_b=sin(bass*cos(slowtime*0.535)); +per_frame_23=redneg = if(below(ob_r,0),1,0); +per_frame_24=greenneg = if(below(ob_g,0),1,0); +per_frame_25=blueneg = if(below(ob_b,0),1,0); +per_frame_26=ob_r = 1 - (if(redneg,if(bor(greenneg , blueneg),1,1+ob_r),ob_r)); +per_frame_27=ob_g = 1 - (if(greenneg,if(equal(greenneg + blueneg,2),1,1+ob_g),ob_g)); +per_frame_28=ob_b =1 - (if(blueneg,1 + ob_b, ob_b)); +per_frame_29=q1 = sin(slowtime); +per_pixel_1=q2=above(rad,.603); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); diff --git a/presets/presets_tryptonaut/Rozzor and Zylot - Associative Order.milk b/presets/presets_tryptonaut/Rozzor and Zylot - Associative Order.milk new file mode 100755 index 0000000000..b93011a5a9 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and Zylot - Associative Order.milk @@ -0,0 +1,145 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.200015 +fWaveSmoothing=0.630000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=11.520000 +nMotionVectorsY=10.559999 +mv_dx=-0.698261 +mv_dy=-0.023053 +mv_l=0.900000 +mv_r=0.123289 +mv_g=0.943345 +mv_b=0.422813 +mv_a=0.000000 +per_frame_1=ib_a =0.2*bass; +per_frame_2=warp = 0; +per_frame_3=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.05),1); +per_frame_4=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.05),1); +per_frame_5=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_6=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_7=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_8=oldx = if(equal(colorcounter%2,1),if(equal(counter1,.95),rx,oldx),if(equal(counter2,.95),rx,oldx)); +per_frame_9=oldy = if(equal(colorcounter%2,1),if(equal(counter1,.95),ry,oldy),if(equal(counter2,.95),ry,oldy)); +per_frame_10=oldxs = if(equal(colorcounter%2,1),if(equal(counter1,.95),rxs,oldxs),if(equal(counter2,.95),rxs,oldxs)); +per_frame_11=oldys = if(equal(colorcounter%2,1),if(equal(counter1,.95),rys,oldys),if(equal(counter2,.95),rys,oldys)); +per_frame_12=rx = if(equal(cdelay1,1),(rand(100)*.01),rx); +per_frame_13=ry = if(equal(cdelay1,1),(rand(100)*.01),ry); +per_frame_14=rxs = if(equal(cdelay1,1),(rand(100)*.01),rxs); +per_frame_15=rys = if(equal(cdelay1,1),(rand(100)*.01),rys); +per_frame_16=xm = if(equal(cdelay1,1),(rx - oldx)*.05,xm); +per_frame_17=ym = if(equal(cdelay1,1),(ry - oldy)*.05,ym); +per_frame_18=xms = if(equal(cdelay1,1),(rxs - oldxs)*.05,xms); +per_frame_19=yms = if(equal(cdelay1,1),(rys - oldys)*.05,yms); +per_frame_20=monitor = colorcounter; +per_frame_21=wave_r = bass*.4; +per_frame_22=wave_g = treb*.4; +per_frame_23= +per_frame_24=wave_b = mid*.4; +per_frame_25=wave_a = bass; +per_frame_26=wave_mystery = -.5+bass*.1; +per_frame_27=wave_x = if(above(frame%2,0), if(equal(colorcounter%2,1),rx-(abs(counter1-1)*(xm*20)),rx-(abs(counter2-1)*(xm*20))), if(equal(colorcounter%2,1),rxs-(abs(counter1-1)*(xms*20)),rxs-(abs(counter2-1)*(xms*20)))); +per_frame_28=wave_y = if(above(frame%2,0), if(equal(colorcounter%2,1),ry-(abs(counter1-1)*(ym*20)),ry-(abs(counter2-1)*(ym*20))), if(equal(colorcounter%2,1),rys-(abs(counter1-1)*(yms*20)),rys-(abs(counter2-1)*(yms*20)))); +per_frame_29=zoom = .995; +per_frame_30=slowtime = slowtime+beat*time; +per_frame_31=ying = if(below(ying,1),1,ying); +per_frame_32=ying = if (beat,ying + bnot(time*10%3),ying); +per_frame_33=yin = ying%2; +per_frame_34=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_35=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_36=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_37=beatcount = if(bnot(time%5000),0,beatcount); +per_frame_38=beatcount = beatcount +.05*beat; +per_frame_39=yang = bnot(beatcount%2); +per_frame_40=ib_r = 0; +per_frame_41=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime); +per_frame_42=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2); +per_frame_43=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime))); +per_frame_44=mv_b = -1*abs(cos(slowtime))+1; +per_frame_45=mv_r = .8; +per_frame_46=wave_b = if(above(ib_b,0),ib_b,mv_b); +per_frame_47=wave_g = if(above(ib_g,0),ib_g,mv_g); +per_frame_48=q1 = if(yin,sin(slowtime),q1); +per_frame_49=wave_r = .8*q1; +per_frame_50=q2 = if(yin,.01*cos(slowtime),0); +per_frame_51=q3 = sin(slowtime); +per_frame_52=dx = if(yang,q1,dx); +per_frame_53=dy = if(yang,q2,dy); +per_frame_54=q3 = if(yang,0,q1); +per_frame_55=q5 = if(bnot(yin),abs(cos(time)),dx); +per_frame_56=sy = bnot(q3 * sin(time)); +per_frame_57=dx=if(below(dx,-1), -1, dx); +per_frame_58=dx=if(above(dx,1.0), 1.0, dx); +per_frame_59=dy=if(below(dy,-1), -1, dy); +per_frame_60=dy=if(above(dy,1.0), 1.0, dy); +per_frame_61=sy=if(below(sy,0.01), 0.01, sy); +per_frame_62=sy=if(above(sy,100.0), 100.0, sy); +per_frame_63=ib_a = sin(time); +per_frame_64=ob_a = cos(time); +per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y)); +per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5; +per_pixel_3=zoom = .3+sin( rad)-5*solipsist; +per_pixel_4=dx = if(equal(q3,0),.08*x,.8*x*q1); +per_pixel_5=dy = if(equal(q3,0),.08*y,.8*y*q2); +per_pixel_6=sy = if(equal(q3,0),sy,1-solipsist); +per_pixel_7=dx = if(above(dx * rot , x - q1) , q2 * x , q2 + y); +per_pixel_8=zoom=if(below(zoom,0.01), 0.01, zoom); +per_pixel_9=zoom=if(above(zoom,100), 100, zoom); +per_pixel_10=rot=if(below(rot,-1.0), -1.0, rot); +per_pixel_11=rot=if(above(rot,1.0), 1.0, rot); +per_pixel_12=dx=if(below(dx,-1), -1, dx); +per_pixel_13=dx=if(above(dx,1.0), 1.0, dx); +per_pixel_14=dy=if(below(dy,-1), -1, dy); +per_pixel_15=dy=if(above(dy,1.0), 1.0, dy); +per_pixel_16=sy=if(below(sy,0.01), 0.01, sy); +per_pixel_17=sy=if(above(sy,100.0), 100.0, sy); +per_frame_init_1=q8=0; diff --git a/presets/presets_tryptonaut/Rozzor and che - Inside the House of nil.milk b/presets/presets_tryptonaut/Rozzor and che - Inside the House of nil.milk new file mode 100755 index 0000000000..71445aaff5 --- /dev/null +++ b/presets/presets_tryptonaut/Rozzor and che - Inside the House of nil.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.175613 +fWaveSmoothing=0.306000 +fWaveParam=-0.460000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.854653 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.190000 +ob_g=0.120000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.015000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=7.679999 +nMotionVectorsY=11.519997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.340000 +per_frame_1=slowtime = slowtime+beat*time; +per_frame_2=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); +per_frame_3=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); +per_frame_4=beat = if(above(vol_now,1.5*vol_mean),1,0); +per_frame_5=ib_r = - abs(cos(time)); +per_frame_6=ib_g = sin(time); +per_frame_7=ib_b= cos(time)*sign(cos(time)); +per_frame_8=mv_r = abs(sin(time)); +per_frame_9=mv_g = sin(slowtime) ; +per_frame_10=mv_b= cos(slowtime)*sign(cos(slowtime)); +per_frame_11=redneg = if(below(mv_r,0),1,0); +per_frame_12=greenneg = if(below(mv_g,0),1,0); +per_frame_13=blueneg = if(below(mv_b,0),1,0); +per_frame_14=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+mv_r),mv_r); +per_frame_15=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+mv_g),mv_g); +per_frame_16=wave_b = if(blueneg,1 + mv_b, mv_b); +per_frame_17=dx=sin(slowtime*1.234)*.0125; +per_frame_18=dy=cos(slowtime*.9666)*.0125; +per_frame_19=q1 = sin(slowtime); +per_frame_20=q2 = wave_b; +per_pixel_1=zoom=1+above(sin(1.7*q2),-.5)*.1*sin(2*q2+.027*q1+4*(1+sin(.7*time+q2))*sin(.05*q2+time)*rad); +per_pixel_2=rot=.1*sin(q2)*sin(2.3*q2+.027*q1+2*sin(.07*q1+1.2*time)*(rad+sin(time+above(sin(q2),0)*4*sin(q2)*ang))); +per_pixel_3=rot=above(sin(1.2*q2+1.3),-.5)*rot; diff --git a/presets/presets_tryptonaut/ShadowHarlequin - Fitting Butterfly - v4 - [Loadus & Geiss - FractalDrop 22] v2v2v2v2newcolorsv2v2-22v2-NEWv222v2 bennett.milk b/presets/presets_tryptonaut/ShadowHarlequin - Fitting Butterfly - v4 - [Loadus & Geiss - FractalDrop 22] v2v2v2v2newcolorsv2v2-22v2-NEWv222v2 bennett.milk new file mode 100755 index 0000000000..0e71919bd5 --- /dev/null +++ b/presets/presets_tryptonaut/ShadowHarlequin - Fitting Butterfly - v4 - [Loadus & Geiss - FractalDrop 22] v2v2v2v2newcolorsv2v2-22v2-NEWv222v2 bennett.milk @@ -0,0 +1,477 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=2.400 +fDecay=0.500 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059 +fWaveScale=0.276 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.451 +fWarpScale=3.040 +fZoomExponent=2.19476 +fShader=0.000 +zoom=1.04796 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.09961 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.450 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=13.66864 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +wave_0_per_frame2=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +wave_0_per_frame3=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +wave_0_per_frame4=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +wave_0_per_frame5=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +wave_0_per_frame6=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +wave_0_per_frame7=size = treb_att + mid_att + bass_att; +wave_0_per_point1=ma=ma+(above(treb_att,1)*3.1415*.05*treb_att); +wave_0_per_point2=ma=ma-(above(mid_att,1)*3.1415*.05*mid_att); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0001*cos(ma)); +wave_0_per_point5=my=my+(.0001*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +wave_1_per_frame2=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +wave_1_per_frame3=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +wave_1_per_frame4=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +wave_1_per_frame5=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +wave_1_per_frame6=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +wave_1_per_frame7=size = treb_att + mid_att + bass_att; +wave_1_per_frame8=num_inst = sin(treb_att * .56); +wave_1_per_point1=ma=ma+(above(bass_att,1)*3.1415*.05*bass_att); +wave_1_per_point2=ma=ma-(above(mid_att,1)*3.1415*.05*mid_att); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wave_1_per_point16= +wave_1_per_point17= +wave_1_per_point18=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +wave_1_per_point19=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +wave_1_per_point20=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +wave_1_per_point21=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +wave_1_per_point22=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +wave_1_per_point23=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=r = min(1,max(0,r + 0.1*(bass_att*0.417 + 1))); +wave_2_per_frame2=g = min(1,max(0,g + 0.1*(mid_att*0.391 + 2))); +wave_2_per_frame3=b = min(1,max(0,b + 0.1*(treb_att*0.432 + 4))); +wave_2_per_frame4=r2 = min(1,max(0,r2 + 0.1*(bass_att*0.457 + 3))); +wave_2_per_frame5=g2 = min(1,max(0,g2 + 0.1*(mid_att*0.437 + 5))); +wave_2_per_frame6=b2 = min(1,max(0,b2 + 0.1*(treb_att*0.484 + 6))); +wave_2_per_frame7=size = treb_att + mid_att + bass_att; +wave_2_per_frame8=num_inst = sin(treb_att * .25); +wave_2_per_point1=ma=ma+(above(mid_att,1)*3.1415*.01*mid_att); +wave_2_per_point2=ma=ma-(above(treb_att,1)*3.1415*.01*treb_att); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wave_2_per_point16= +wave_2_per_point17= +wave_2_per_point18= +wave_2_per_point19=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +wave_2_per_point20=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +wave_2_per_point21=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +wave_2_per_point22=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +wave_2_per_point23=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +wave_2_per_point24=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=size = treb_att + mid_att + bass_att; +wave_3_per_frame2=num_inst = sin(treb_att * .35); +wave_3_per_point1=ma=ma+(above(bass_att,.5)*3.1415*.02*bass_att); +wave_3_per_point2=ma=ma-(above(treb_att,.5)*3.1415*.02*treb_att); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +wave_3_per_point16= +wave_3_per_point17=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +wave_3_per_point18=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +wave_3_per_point19=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +wave_3_per_point20=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +wave_3_per_point21=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +wave_3_per_point22=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +wave_3_per_point23=size = treb_att + mid_att + bass_att; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=100.00000 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.300 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=tex_ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shape_0_per_frame9=a = 0 + (treb_att * .1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=x = x + 0.05*sin(treb_att*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(bass_att*0.19+1); +shape_1_per_frame3=tex_ang = bass_att*(0.1 + 0.1*treb_att); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*treb_att); +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(treb_att*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(mid_att*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(treb_att*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(mid_att*0.484 + 6))); +shape_1_per_frame11= +shape_1_per_frame12= +shape_1_per_frame13= +shape_1_per_frame14=rot = treb_att*.45; +shape_1_per_frame15=num_inst = sin(mid_att); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=x = x + 0.05*sin(treb_att*0.17); +shape_2_per_frame2=y = y + 0.03*sin(treb_att*0.13); +shape_2_per_frame3=tex_ang = mid_att*(0.2 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(bass_att*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(mid_att*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(treb_att*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +shape_2_per_frame11= +shape_2_per_frame12= +shape_2_per_frame13=rot=mid_att*.37; +shape_2_per_frame14= +shape_2_per_frame15= +shape_2_per_frame16=x = 0.3 + 0.2 * (sin(treb_att * .05)); +shape_2_per_frame17=y = 0.3 + 0.2 * (sin(treb_att * .02)); +shape_2_per_frame18= +shape_2_per_frame19=num_inst = sin(treb_att); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22298 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.2*(mid_att*0.25); +shape_3_per_frame2=y = y + 0.1*(treb_att*0.5+2); +shape_3_per_frame3=rot=treb_att*.56; +shape_3_per_frame4=num_inst = sin(bass_att); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=wave_r = 0.650*( 0.60*sin(0.980*mid_att) + 0.40*sin(1.747*treb_att) ); +per_frame_26=wave_g = 0.650*( 0.30*sin(0.935*mid_att) + 0.40*sin(1.481*mid_att) ); +per_frame_27=wave_b = 0.650*( 0.70*sin(0.914*treb_att) + 0.40*sin(1.211*treb_att) ); +per_frame_28=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_29=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_30=//decay = decay - 0.01*equal(frame%20,0); +per_frame_31= +per_frame_32=decay = sin(((treb_att + mid_att) * .21)); +per_frame_33= +per_frame_34=//zoom = 1; +per_frame_35=//warp = 0; +per_frame_36=zoom = zoom + 5.2*(0.01*(treb_att*0.217+1) + 0.01*sin(mid_att*0.0132+4)); +per_frame_37=rot = rot + 0.5*(0.01*(treb_att*0.214+3) + 0.01*(mid_att*0.2732+2)); +per_frame_38=wave_mystery = time*0.05; +per_frame_39=zoom = zoom + (max(1, bass_att)-1)*0.01; +per_frame_40=//gamma = gamma + ((treb_att * .005)); +per_frame_41=ret = 0; +per_frame_42=mv_a = bass_att * .5; +per_frame_43=wave_a = 0 + (treb_att * .05); +per_frame_44=ob_size = sin(treb_att); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-3*length(texsize.zw)) + 0.5 ).xyz); +warp_8=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_9=` ((uv.xyy*q27 +warp_10=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_11=` ).xyz* +warp_12=` float3(1,1,0)*0.05 + +warp_13=` time*float3(0,0,1)*q29 +warp_14=` ); +warp_15=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_16=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_17=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_18=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+3*length(texsize.zw)) + 0.5 ).xyz); +warp_19=` +warp_20=` // darken over time +warp_21=` ret -= 0.02; +warp_22=` +warp_23=` // add noise +warp_24=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_25=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv *= 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz); +comp_6=` ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz); +comp_7=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_8=` ((uv.xyy*q28 +comp_9=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_10=` ).xyz* +comp_11=` float3(1,1,0)*0.05 + +comp_12=` time*float3(0,0,1)*q31 +comp_13=` ); +comp_14=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_15=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_16=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_17=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz); +comp_18=` ret *= 1.3; // a little bit of overbright +comp_19=`ret=1.3-ret; +comp_20=`} +comp_21=` +comp_22=` diff --git a/presets/presets_tryptonaut/ShadowHarlequin - Tunneling (glitch mix) - [Geiss - 3 layers].milk b/presets/presets_tryptonaut/ShadowHarlequin - Tunneling (glitch mix) - [Geiss - 3 layers].milk new file mode 100755 index 0000000000..4e96915e71 --- /dev/null +++ b/presets/presets_tryptonaut/ShadowHarlequin - Tunneling (glitch mix) - [Geiss - 3 layers].milk @@ -0,0 +1,276 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.220342 +fWaveScale=1.141157 +fWaveSmoothing=0.522000 +fWaveParam=0.400000 +fModWaveAlphaStart=0.830000 +fModWaveAlphaEnd=1.310000 +fWarpAnimSpeed=1.000000 +fWarpScale=3.138000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.023000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000536 +sx=1.000000 +sy=1.000000 +wave_r=0.100000 +wave_g=0.100000 +wave_b=0.100000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.360955 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=//wave_r = 0.85 + 0.35*sin(0.437*time+1) + 0.55*sin(0.197*time+4); +per_frame_2=//wave_g = 0.85 + 0.35*sin(0.544*time+2) + 0.55*sin(0.143*time+5); +per_frame_3=//wave_b = 0.85 + 0.35*sin(0.751*time+3) + 0.55*sin(0.117*time+6); +per_frame_4=//wave_r = wave_r + sqrt(wave_r); +per_frame_5=//wave_g = sqrt(wave_g); +per_frame_6=//wave_b = wave_b + sqrt(wave_b); +per_frame_7= +per_frame_8=wave_r = wave_r + sin(bass_att)*1.5; +per_frame_9=wave_b = wave_r + sin(mid_att)*1.5; +per_frame_10=wave_g = wave_r + sin(treb_att)*1.5; +per_frame_11=wave_a = wave_a + (mid_att+bass_att); +per_frame_12= +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_17=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_18=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_19=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_20=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_21=decay = decay - 0.01*equal(frame%6,0); +per_frame_22=dx = dx + dx_residual; +per_frame_23=dy = dy + dy_residual; +per_frame_24=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_25=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_26=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_27=wave_x = wave_x - dx_residual*7; +per_frame_28=wave_y = wave_y - dy_residual*7; +per_frame_29=wave_mystery = time*0.03; +warp_1=`shader_body +warp_2=`{ +warp_3=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_4=` ret.y = tex2D( sampler_main, (uv-0.5)*0.97+0.5 ).y; +warp_5=` ret.z = tex2D( sampler_main, (uv-0.5)*0.93+0.5 ).z; +warp_6=` +warp_7=` // ERROR DIFFUSION DITHER - looks great +warp_8=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_9=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_10=` +warp_11=` // darken over time +warp_12=` ret -= 0.004; +warp_13=` //ret *= 0.99; +warp_14=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_15=`} +warp_16=` +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk b/presets/presets_tryptonaut/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk new file mode 100644 index 0000000000..3db566153e --- /dev/null +++ b/presets/presets_tryptonaut/Shifter & EoS+Phat - Fractical dancer (inside the neural net).milk @@ -0,0 +1,288 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=1.104430 +fVideoEchoAlpha=0.850000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.796895 +fWarpScale=1.331000 +fZoomExponent=0.741798 +fShader=0.000000 +zoom=13.290894 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=-0.280000 +dy=-0.320000 +warp=0.094414 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = time - tir; +wave_0_per_frame2=tir = time; +wave_0_per_frame3= +wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); +wave_0_per_frame5=t1 = mixa - int(mixa); +wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); +wave_0_per_frame7=t2 = mixb - int(mixb); +wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); +wave_0_per_frame9=t3 = mixc - int(mixc); +wave_0_per_point1=it = (it+1)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); +wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; +wave_0_per_point7= +wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; +wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); +wave_0_per_point10= +wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); +wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); +wave_0_per_point13= +wave_0_per_point14=b = 1; +wave_0_per_point15=r = equal(mx,0)*.8; +wave_0_per_point16=g = equal(mx,0)*1; +wave_0_per_point17=a = equal(mx,0)*below(dc,4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491380 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.300000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.500000 +shapecode_0_a2=0.050000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad = rad*q6; +shape_0_per_frame2= +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.030001 +shapecode_1_y=0.160001 +shapecode_1_rad=0.049138 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819541 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tic = time - tir; +shape_1_per_frame2=tir = time; +shape_1_per_frame3= +shape_1_per_frame4=mix = (mix + q3*tic)*below(mix,10000); +shape_1_per_frame5=x = mix - int(mix); +shape_1_per_frame6=y = .0; +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.221600 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.136686 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = rad*q6; +shape_2_per_frame2= +shapecode_3_enabled=0 +shapecode_3_sides=24 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.030001 +shapecode_3_y=0.160001 +shapecode_3_rad=0.049138 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819541 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=tic = time - tir; +shape_3_per_frame2=tir = time; +shape_3_per_frame3= +shape_3_per_frame4=mix = (mix + (q1+q2)*tic*.5)*below(mix,10000); +shape_3_per_frame5=y = mix - int(mix); +shape_3_per_frame6=x = 1; +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=tic = min(time - tin,.1); +per_frame_6=tin = time; +per_frame_7= +per_frame_8=ra = 10; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13= +per_frame_14=rb = 1; +per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_16= +per_frame_17=q1 = treb_avg; +per_frame_18=q2 = mid_avg; +per_frame_19=q3 = bass_avg; +per_frame_20=q4 = vav; +per_frame_21= +per_frame_22= +per_frame_23=tm = if(above(vav,tm),tm + tic,tm - tic*.3); +per_frame_24=td = (td + tic*tm*4)*below(td,10000); +per_frame_25= +per_frame_26=q6 = .75 + sin(td)*.25; +per_frame_27=q7 = tm; +per_frame_28= +per_pixel_1=rd=sqrt( sqr((x-.5)*(1.5 + sin(time*.11)*.2)) + sqr((y-.5)*(3.5 + sin(time*.15)*.2))); +per_pixel_2= +per_pixel_3=sz = .01*q7; +per_pixel_4= +per_pixel_5=zoom=(rd*rd)/2.5 + sz - q6*sz; +per_pixel_6= +per_pixel_7=warp = 2*q4 + max(1-rad*2,0)*8*3*q4; diff --git a/presets/presets_tryptonaut/Shreyas - Carnival.milk b/presets/presets_tryptonaut/Shreyas - Carnival.milk new file mode 100755 index 0000000000..90b305f769 --- /dev/null +++ b/presets/presets_tryptonaut/Shreyas - Carnival.milk @@ -0,0 +1,332 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=302 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1= +wave_0_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_0_per_frame3=ry=atan2(q2,q4); +wave_0_per_frame4=rz=0; +wave_0_per_frame5= +wave_0_per_frame6=t1=sin(rx);t2=cos(rx); +wave_0_per_frame7=t3=sin(ry);t4=cos(ry); +wave_0_per_frame8=t5=sin(rz);t6=cos(rz); +wave_0_per_point1=sample=sample*q1*.5;value1=(value1+1)*.3; +wave_0_per_point2=x1=sin(sample)*sin(sample*40)*value1; +wave_0_per_point3=y1=cos(sample)*value1; +wave_0_per_point4=z1=sin(sample)*cos(sample*40)*value1; +wave_0_per_point5=x1=x1+q2; +wave_0_per_point6=y1=y1+q3; +wave_0_per_point7=z1=z1+q4; +wave_0_per_point8=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_0_per_point9=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_0_per_point10=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_0_per_point11=z3=if(above(z3,.1),.5/z3,0); +wave_0_per_point12=x=if(z3,x3*z3,x)+.5; +wave_0_per_point13=y=if(z3,-y3*z3,y)+.5; +wave_0_per_point14=hu=sample+sin(time); +wave_0_per_point15=r=sin(hu)*.5+.5; +wave_0_per_point16=g=sin(hu+q1*.33)*.5+.5; +wave_0_per_point17=b=sin(hu+q1*.66)*.5+.5; +wave_0_per_point18=a=z3*.8; +wavecode_1_enabled=1 +wavecode_1_samples=302 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1= +wave_1_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_1_per_frame3=ry=atan2(q2,q4); +wave_1_per_frame4=rz=0; +wave_1_per_frame5= +wave_1_per_frame6=t1=sin(rx);t2=cos(rx); +wave_1_per_frame7=t3=sin(ry);t4=cos(ry); +wave_1_per_frame8=t5=sin(rz);t6=cos(rz); +wave_1_per_frame9= +wave_1_per_point1=cp=bnot(cp); +wave_1_per_point2=r=sample*q1*10; +wave_1_per_point3=i1=(sample*6)%2; +wave_1_per_point4=rt=if(cp,1,.5); +wave_1_per_point5=sample=sample*q1*.5; +wave_1_per_point6= +wave_1_per_point7=x1=sin(r)*rt; +wave_1_per_point8=z1=cos(r)*rt; +wave_1_per_point9=y1=-sin(i1)+.5; +wave_1_per_point10=x1=x1+q2; +wave_1_per_point11=y1=y1+q3; +wave_1_per_point12=z1=z1+q4; +wave_1_per_point13=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_1_per_point14=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_1_per_point15=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_1_per_point16=z3=if(above(z3,.1),.5/z3,0); +wave_1_per_point17=x=if(z3,x3*z3,x)+.5; +wave_1_per_point18=y=if(z3,-y3*z3,y)+.5; +wave_1_per_point19=hu=sample+sin(time/q1)*q1; +wave_1_per_point20=r=sin(hu)*.5+.5; +wave_1_per_point21=g=sin(hu+q1*.33)*.5+.5; +wave_1_per_point22=b=sin(hu+q1*.66)*.5+.5; +wave_1_per_point23=a=z3*.8; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1= +wave_2_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_2_per_frame3=ry=atan2(q2,q4); +wave_2_per_frame4=rz=0; +wave_2_per_frame5= +wave_2_per_frame6=t1=sin(rx);t2=cos(rx); +wave_2_per_frame7=t3=sin(ry);t4=cos(ry); +wave_2_per_frame8=t5=sin(rz);t6=cos(rz); +wave_2_per_point1=sample=sample*q1*134; +wave_2_per_point2=x1=sin(sample*543)*2+q2; +wave_2_per_point3=y1=cos(sample*4232)*2+q3; +wave_2_per_point4=z1=sin(sample*90)*2+q4; +wave_2_per_point5= +wave_2_per_point6=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_2_per_point7=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1; +wave_2_per_point8=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_2_per_point9=z3=if(above(z3,.1),.5/z3,0); +wave_2_per_point10=x=if(z3,x3*z3,x)+.5; +wave_2_per_point11=y=if(z3,-y3*z3,y)+.5; +wave_2_per_point12=a=z3*.8; +wavecode_3_enabled=1 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1= +wave_3_per_frame2=rx=atan2(q2,sqr(q3)+sqr(q4))/4+q3/2; +wave_3_per_frame3=ry=atan2(q2,q4); +wave_3_per_frame4=rz=0; +wave_3_per_frame5=ry1=ry1+bass_att*.2; +wave_3_per_frame6=t1=sin(rx);t2=cos(rx); +wave_3_per_frame7=t3=sin(ry);t4=cos(ry); +wave_3_per_frame8=t5=sin(rz);t6=cos(rz); +wave_3_per_frame9=t7=sin(ry1);t8=cos(ry1); +wave_3_per_frame10= +wave_3_per_point1=cp=bnot(cp); +wave_3_per_point2=r=sample*q1*10; +wave_3_per_point3=i1=(sample*6)%2; +wave_3_per_point4=rt=if(cp,.7,.2); +wave_3_per_point5=sample=sample*q1*.5; +wave_3_per_point6= +wave_3_per_point7=x1=sin(r)*rt; +wave_3_per_point8=z1=cos(r)*rt; +wave_3_per_point9=y1=-.5; +wave_3_per_point10=x2=x1*t8-z1*t7;z2=x1*t7+z1*t8; +wave_3_per_point11=x1=x2+q2; +wave_3_per_point12=y1=y1+q3; +wave_3_per_point13=z1=z2+q4; +wave_3_per_point14=x2=x1*t4-z1*t3;z2=x1*t3+z1*t4; +wave_3_per_point15=y2=y1*t2-z2*t1;z3=y1*t1+z2*t2+1.4; +wave_3_per_point16=x3=x2*t6-y2*t5;y3=x2*t5+y2*t6; +wave_3_per_point17=z3=if(above(z3,.1),.5/z3,0); +wave_3_per_point18=x=if(z3,x3*z3,x)+.5; +wave_3_per_point19=y=if(z3,-y3*z3,y)+.5; +wave_3_per_point20=hu=sample+cos(time/q1)*q1; +wave_3_per_point21=r=sin(hu)*.5+.5; +wave_3_per_point22=g=sin(hu+q1*.33)*.5+.5; +wave_3_per_point23=b=sin(hu+q1*.66)*.5+.5; +wave_3_per_point24=a=z3*.8; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=q1=acos(-1)*2; +per_frame_1=decay=.67; +per_frame_2=time=time*.1; +per_frame_3=ti=if(above(bass,1.3),.3,ti*.9); +per_frame_4=t1=t1+.01+ti*.1; +per_frame_5=q2=sin(time)*cos(t1); +per_frame_6=q3=sin(t1)*cos(t)+1; +per_frame_7=q4=cos(time+1)*sin(time-6); +per_frame_8=monitor=ti; +per_pixel_1=zoom=zoom+cos(zoom)*.1; +per_pixel_2=rot=rot+sin(zoom+time)*.1; +per_pixel_3=sx=sx+treb*.01; +per_pixel_4=sy=sy+mid*.01; diff --git a/presets/presets_tryptonaut/Stahlregen & AdamFX closer to god through bacon.milk b/presets/presets_tryptonaut/Stahlregen & AdamFX closer to god through bacon.milk new file mode 100755 index 0000000000..fe0604cb63 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & AdamFX closer to god through bacon.milk @@ -0,0 +1,261 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.327 +fWaveScale=1.605 +fWaveSmoothing=0.600 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(time*0.321)) + (y*2-1)*(0.08+0.15*cos(time*0.321)); +per_pixel_2=sx=sx-(zoom-1)*0.1; +per_pixel_3=sy=sy-(zoom-1)*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b = lerp(GetBlur2(uv),GetBlur1(uv),uv_orig.x);//GetBlur2(uv); +warp_9=` ret.xyz += (ret.xyz - b)*0.3 - (((bass+treb+mid-0.5)*.333)*.02); +warp_10=` ret.xyz *= 0.95; +warp_11=` +warp_12=` // add noise: +warp_13=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_14=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_15=` +warp_16=` // desaturate over time, to keep the globs white +warp_17=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_18=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_5=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv)*0.8 - 0.4 ; +comp_6=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_7=`c = c + b - c*b; +comp_8=`a = a + c - a*c; +comp_9=`base = 1.4*a; +comp_10=`ret = base*(1-base)*(1-base)*4*float3(0.7,1,0) + pow(base,2)*float3(-0.1,0.1,0.5); +comp_11=`ret = 0.6 - ret; +comp_12=`//ret.xy = ret.yx; +comp_13=`} diff --git a/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope (MashUp 32 RMX).milk b/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope (MashUp 32 RMX).milk new file mode 100644 index 0000000000..0a6e7a2562 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope (MashUp 32 RMX).milk @@ -0,0 +1,361 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=16.217 +fWaveSmoothing=0.750 +fWaveParam=-0.440 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59958 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main,uv2).y*float3(0.6,0.2,1.5) + tex2D(sampler_fw_main,uv2).x*float3(1,0.66,0) - tex2D(sampler_main,uv2).z*float3(-0.6,1,2); +comp_44=`} diff --git a/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope.milk b/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope.milk new file mode 100644 index 0000000000..0f4e64c0c1 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & AdamFx + EoS + Flexi + Geiss + Phat + Rovastar + Zylot - Fractopia Kaleidoscope.milk @@ -0,0 +1,361 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=16.217 +fWaveSmoothing=0.750 +fWaveParam=-0.440 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59958 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main,uv2).y*float3(0.6,0.2,1.5) + tex2D(sampler_fw_main,uv2).x*float3(1,0.66,0) - tex2D(sampler_main,uv2).z*float3(-0.6,1,2); +comp_44=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Aderrasi + EoS + Geiss + fiShbRaiN - Prickly Abyss.milk b/presets/presets_tryptonaut/Stahlregen & Aderrasi + EoS + Geiss + fiShbRaiN - Prickly Abyss.milk new file mode 100644 index 0000000000..2d50ed10ee --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Aderrasi + EoS + Geiss + fiShbRaiN - Prickly Abyss.milk @@ -0,0 +1,410 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.210 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.000 +zoom=1.03100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=branch=int(rand(2)); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=branch=int(rand(2)); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=branch=int(rand(2)); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=branch=int(rand(2)); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.46815 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.63904 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02743 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.050 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02508 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.050 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=2.66717 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.60804 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.100 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.010 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = min(1,max(0,(bass_att-1)*1.3)); +per_frame_2=wave_g = wave_r*0.7; +per_frame_3=wave_b = wave_r*0.1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_5=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`#define sampler_pic sampler_prayerwheel +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum - frac(time*0.2)); +warp_16=` use_it = saturate(1 - use_it*33); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +warp_24=` +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (A feat. hexcollie).milk b/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (A feat. hexcollie).milk new file mode 100755 index 0000000000..c3046229b6 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (A feat. hexcollie).milk @@ -0,0 +1,375 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.500000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.640 +fWaveSmoothing=0.270 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.960 +ob_size=0.020 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.750 +ib_b=0.750 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.44665 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.200 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=2.02310 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=//d3 = if(equal(t8,1),t4,d3); +wave_1_per_point2=//d2 = if(equal(t8,1),t3,d2); +wave_1_per_point3=//d1 = if(equal(t8,1),t2,d1); +wave_1_per_point4=//d = if(equal(t8,1),t1,d); +wave_1_per_point5=t3 = t3*0.6 + (value1)*1; +wave_1_per_point6=t2 = t2*0.7 + t3*0.2; +wave_1_per_point7=t1 = t1*0.8 + t2*0.1; +wave_1_per_point8=d = d*0.9 + t1*0.2; +wave_1_per_point9= +wave_1_per_point10=y = 0.5 + d*sample*(1-sample); +wave_1_per_point11=x = .2 + sample*0.6; +wave_1_per_point12=t8 = 0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.400 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.200 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.20000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.200 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.500 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.200 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=q1 = wave_x; +per_frame_23=q2 = 1-wave_y; +per_frame_24=q2 = ypos+0.5; +per_frame_25= +per_frame_26=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_27=movement = if(above(movement,10000), 0, movement); +per_frame_28=rot =1*sin(movement); +per_frame_29=cx = wave_x; +per_frame_30=cy = y_pos+0.5; +per_frame_31= +per_frame_32=q8 = movement; +per_frame_33= +per_frame_34= +per_frame_35=db = db*0.8 + bass*0.2; //dampening the bass value +per_frame_36=dt = dt*0.8 + treb*0.2; +per_frame_37=dm = dm*0.8 + mid*0.2; +per_frame_38=vol = (db+dt+dm)*.2; +per_frame_39=vol = vol*vol; +per_frame_40=vtime = vtime + .03*vol; +per_frame_41=monitor = vtime; +per_frame_42= +per_frame_43=wave_r = 0.5 + 0.5*sin(1.6*vtime); +per_frame_44=wave_g = 0.5 + 0.5*sin(4.1*vtime); +per_frame_45=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_46=warp = 2; +per_frame_47= +per_frame_48=ob_r = ob_r+wave_b*above(sin(0.1*vtime),0); +per_frame_49=ob_b = ob_b+wave_g*above(sin(0.1*vtime),0); +per_frame_50=ob_g = ob_g+wave_r*above(sin(0.1*vtime),0); +per_frame_51=ob_r = ob_r+wave_g*below(sin(0.1*vtime),0); +per_frame_52=ob_b = ob_b+wave_r*below(sin(0.1*vtime),0); +per_frame_53=ob_g = ob_g+wave_b*below(sin(0.1*vtime),0); +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 zoom = 2.9; +warp_5=`float2 cntr = float2(-0,-0); +warp_6=`float2 c = float2(0,2); // complex constant +warp_7=` +warp_8=` float2 my_uv = (uv-0.5-cntr)*zoom; // center and scale dx/dy pane +warp_9=` float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); //complex squaring of u +warp_10=` float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); // complex multiplication by c +warp_11=` float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_12=` my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; // complex division u^2/(1+c*u^2) +warp_13=` +warp_14=`zoom = 1.84+(bass-treb)*0.0; +warp_15=`cntr = float2(0,0); +warp_16=`c = float2(0.2806,0.4508); +warp_17=` +warp_18=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_19=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_20=` +warp_21=`ret.z = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).z*0.9- 0.04; +warp_22=`ret.x = tex2D( sampler_fc_main, my_uv2).x - 0.008; +warp_23=` +warp_24=` my_uv = lerp(my_uv,my_uv2,0.8); // linear interpolation between the two solutions +warp_25=` +warp_26=`ret.y = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).y*0.9- 0.004; +warp_27=` +warp_28=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*2; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*64; +comp_9=` float2 uv_dy = uv - float2(dy.z,-dx.z)*texsize.zw*32; +comp_10=` +comp_11=`ret = GetPixel(uv).y*0.2; +comp_12=`ret = lerp(float3(0.2,0.2,0),float3(0.6,0.6,0),GetBlur3(uv_dz).y*8); +comp_13=`ret = lerp(ret,float3(1,1,1),GetBlur1(uv_dz).y*6); +comp_14=`ret = lerp(ret,float3(0,0,0),GetPixel(uv_dz).y*2); +comp_15=` +comp_16=`ret = lerp(ret,float3(0,1,0),GetBlur2(uv).z*1.2); +comp_17=`ret = lerp(ret,float3(0,0,-3),GetPixel(uv).z); +comp_18=` +comp_19=`ret = lerp(ret,float3(1.4,0,0),GetBlur1(uv_dy).x*2); +comp_20=`ret = lerp(ret,0,GetPixel(uv_dy).x*2); +comp_21=` +comp_22=`} +comp_23=` diff --git a/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (G).milk b/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (G).milk new file mode 100755 index 0000000000..a4940ac4b7 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Aderrasi + Flexi + Rovastar - Fractal Twist (G).milk @@ -0,0 +1,364 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.640 +fWaveSmoothing=0.270 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.960 +ob_size=0.020 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.025 +ib_r=1.000 +ib_g=0.750 +ib_b=0.750 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.44665 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.200 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=2.02310 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=//d3 = if(equal(t8,1),t4,d3); +wave_1_per_point2=//d2 = if(equal(t8,1),t3,d2); +wave_1_per_point3=//d1 = if(equal(t8,1),t2,d1); +wave_1_per_point4=//d = if(equal(t8,1),t1,d); +wave_1_per_point5=t3 = t3*0.6 + (value1)*1; +wave_1_per_point6=t2 = t2*0.7 + t3*0.2; +wave_1_per_point7=t1 = t1*0.8 + t2*0.1; +wave_1_per_point8=d = d*0.9 + t1*0.2; +wave_1_per_point9= +wave_1_per_point10=y = 0.5 + d*sample*(1-sample); +wave_1_per_point11=x = .2 + sample*0.6; +wave_1_per_point12=t8 = 0; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.400 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.200 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = time*0.4;; +shape_0_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.7); +shape_0_per_frame3=y = 0.5 + 0.3*sin(time*1.43) + 0.03*sin(time*0.7); +shape_0_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_0_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_0_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_0_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_0_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_0_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.20000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.200 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=ang = time*0.4;; +shape_1_per_frame2=x = 0.5 + 0.3*cos(time*1.104) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.3*sin(time*1.27) + 0.03*sin(time*0.7); +shape_1_per_frame4=r =0.5 + 0.5*sin(q8*0.613 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(q8*0.763 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(q8*0.771 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.635 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.616+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.538 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.500 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.200 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=ang = time*0.4;; +shape_2_per_frame2=x = 0.5 + 0.3*cos(time*1.23) + 0.03*cos(time*0.9); +shape_2_per_frame3=y = 0.5 + 0.3*sin(time*1.18) + 0.03*sin(time*0.9); +shape_2_per_frame4=r =0.5 + 0.5*sin(q8*0.413 + 1); +shape_2_per_frame5=g = 0.5 + 0.5*sin(q8*0.363 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(q8*0.871 + 5); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(q8*0.835 + 4); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(q8*0.686+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(q8*0.938 + 3); +shape_2_per_frame10=sides = 360; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=q1 = wave_x; +per_frame_23=q2 = 1-wave_y; +per_frame_24=q2 = ypos+0.5; +per_frame_25= +per_frame_26=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_27=movement = if(above(movement,10000), 0, movement); +per_frame_28=rot =1*sin(movement); +per_frame_29=cx = wave_x; +per_frame_30=cy = y_pos+0.5; +per_frame_31= +per_frame_32=q8 = movement; +per_frame_33= +per_frame_34= +per_frame_35=db = db*0.8 + bass*0.2; //dampening the bass value +per_frame_36=dt = dt*0.8 + treb*0.2; +per_frame_37=dm = dm*0.8 + mid*0.2; +per_frame_38=vol = (db+dt+dm)*.2; +per_frame_39=vol = vol*vol; +per_frame_40=vtime = vtime + .03*vol; +per_frame_41=monitor = vtime; +per_frame_42= +per_frame_43=wave_r = 0.5 + 0.5*sin(1.6*vtime); +per_frame_44=wave_g = 0.5 + 0.5*sin(4.1*vtime); +per_frame_45=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_46=warp = 2; +per_frame_47= +per_frame_48=ob_r = ob_r+wave_b*above(sin(0.1*vtime),0); +per_frame_49=ob_b = ob_b+wave_g*above(sin(0.1*vtime),0); +per_frame_50=ob_g = ob_g+wave_r*above(sin(0.1*vtime),0); +per_frame_51=ob_r = ob_r+wave_g*below(sin(0.1*vtime),0); +per_frame_52=ob_b = ob_b+wave_r*below(sin(0.1*vtime),0); +per_frame_53=ob_g = ob_g+wave_b*below(sin(0.1*vtime),0); +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 zoom = 2.9; +warp_5=`float2 cntr = float2(-0,-0); +warp_6=`float2 c = float2(0,2); // complex constant +warp_7=` +warp_8=` float2 my_uv = (uv-0.5-cntr)*zoom; // center and scale dx/dy pane +warp_9=` float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); //complex squaring of u +warp_10=` float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); // complex multiplication by c +warp_11=` float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_12=` my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; // complex division u^2/(1+c*u^2) +warp_13=` +warp_14=`zoom = 1.84+(bass-treb)*0.0; +warp_15=`cntr = float2(0,0); +warp_16=`c = float2(0.2806,0.4508); +warp_17=` +warp_18=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_19=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_20=` +warp_21=`ret.z = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).z*0.9- 0.04; +warp_22=`ret.x = tex2D( sampler_fc_main, my_uv2).x - 0.008; +warp_23=` +warp_24=` my_uv = lerp(my_uv,my_uv2,0.8); // linear interpolation between the two solutions +warp_25=` +warp_26=`ret.y = tex2D( sampler_fw_main, my_uv - floor(my_uv) ).y*0.9- 0.004; +warp_27=` +warp_28=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = 0.5 + (uv-0.5)*0.8 - float2(0,0.05); +comp_5=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv) + 0.04; +comp_6=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_7=`c = c + b - c*b; +comp_8=`a = a + c - a*c; +comp_9=`base = 1.5*a; +comp_10=`ret = base*(1-base)*(1-base)*2*float3(-0.1,1,-0.2) + pow(base,2)*float3(0.4,0.1,0); +comp_11=`//ret.xy = ret.yx; +comp_12=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Benski + Fvese + Geiss + Rovastar - Voyager Spark (Call Jester's Smashing Atoms RMX)_1.milk b/presets/presets_tryptonaut/Stahlregen & Benski + Fvese + Geiss + Rovastar - Voyager Spark (Call Jester's Smashing Atoms RMX)_1.milk new file mode 100755 index 0000000000..1f5ae77c51 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Benski + Fvese + Geiss + Rovastar - Voyager Spark (Call Jester's Smashing Atoms RMX)_1.milk @@ -0,0 +1,314 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=2.700 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=8.200 +fWaveScale=0.759 +fWaveSmoothing=0.540 +fWaveParam=0.080 +fModWaveAlphaStart=1.050 +fModWaveAlphaEnd=1.650 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.10000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.650 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.005 +ib_r=0.500 +ib_g=0.500 +ib_b=0.500 +ib_a=0.300 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=Eff_test =1; +per_frame_init_2=Eff_size = 400; +per_frame_1=warp=0; +per_frame_2=vol = 0.167*(bass+mid); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=ib_r = ib_r + 2*sin(time*4.132)*xpos; +per_frame_14=ib_b = ib_b + 2*sin(time*4.042)*ypos; +per_frame_15=ib_g = ib_g + 0.3*sin(time*0.631);; +per_frame_16=ob_g = beat*treb*0.5; +per_frame_17=ob_a = 0.5 + 0.5*beat; +per_frame_18=ob_size = ob_size + 0.01*beat; +per_frame_19=mv_dx =0.15* xpos; +per_frame_20=mv_dy = 0.15*ypos; +per_frame_21=mv_l = 0.15; +per_frame_22=mv_r = 1 - ib_r; +per_frame_23=mv_b = 1-ib_g; +per_frame_24=mv_g = 1-ib_b; +per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_30=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_33=lastbeat = if(beat,time,lastbeat); +per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0); +per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*int(rand(500)),Old_Eff_size); +per_frame_37=Old_Eff_size =Eff_size; +per_frame_38=q5 = Eff_size; +per_frame_39=mv_l = if(Eff_test,q5*3,mv_l); +per_frame_40=q6 = 3*xpos; +per_frame_41=q4 = 3*ypos; +per_frame_42=decay = decay + if(Eff_test,0,0.04); +per_frame_43=wave_r = 1-ib_g; +per_frame_44=wave_g = 1-ib_b; +per_frame_45=wave_b = 1-ib_b; +per_pixel_1=q1 = 0.4*rad; +per_pixel_2=q2= (0.3*rad); +per_pixel_3=q3 = below(rad,0.1*q5+ 0.3); +per_pixel_4=q7 =if(q3,0,10 + int(1*(rad))); +per_pixel_5=q8 =if(q3,0,10 + int(1*(rad))); +per_pixel_6=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); +per_pixel_7=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2); +per_pixel_8=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy); +per_pixel_9=zoom = if(q3,0.3+0.1*q5+ 0.5*q4,zoom); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.9+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*1.15+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.75; //or try: ret -= 0.004; +warp_13=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Stahlregen & Bmelgren + Geiss + Krash + PieturP + TEcHno + Zylot - MashUp 4.milk b/presets/presets_tryptonaut/Stahlregen & Bmelgren + Geiss + Krash + PieturP + TEcHno + Zylot - MashUp 4.milk new file mode 100755 index 0000000000..7195d5d96c --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Bmelgren + Geiss + Krash + PieturP + TEcHno + Zylot - MashUp 4.milk @@ -0,0 +1,304 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.535 +fWaveSmoothing=0.000 +fWaveParam=-0.480 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.650 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=6.400 +nMotionVectorsY=48.000 +mv_dx=0.500 +mv_dy=0.500 +mv_l=5.000 +mv_r=0.014 +mv_g=0.872 +mv_b=0.522 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.74630 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.94204 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time)*.5+.5; +shape_0_per_frame2=val=3; +shape_0_per_frame3=a2=val*.33; +shape_0_per_frame4=a=val*.33; +shape_0_per_frame5=rad=cos(time*.3)*.4+0.65; +shape_0_per_frame6=x=sin(time*.25)*.25+.5; +shape_0_per_frame7=y=cos(time*.45)*.25+.5; +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.74630 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.94204 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=cos(time*.3)*.5+.5; +shape_1_per_frame2=val=3; +shape_1_per_frame3=a2=val*.33; +shape_1_per_frame4=a=val*.33; +shape_1_per_frame5=rad=sin(time*.3)*.4+0.65; +shape_1_per_frame6=x=cos(time*.25)*.25+.5; +shape_1_per_frame7=y=sin(time*.45)*.25+.5; +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10= +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.36456 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_2_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_2_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_2_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_2_per_frame6= +shape_2_per_frame7=g=vg; +shape_2_per_frame8=r=vr; +shape_2_per_frame9=b=vb; +shape_2_per_frame10=g2=g; +shape_2_per_frame11=r2=r; +shape_2_per_frame12=b2=b; +shape_2_per_frame13=dist=(frame%100)*.01; +shape_2_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_2_per_frame15=maat=below(maat,16)*maat; +shape_2_per_frame16=x=if(below(maat,8),if(below(maat,4),dist,1-dist),x); +shape_2_per_frame17=y=if(above(maat,8),if(above(maat,4),dist,1-dist),y); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.36456 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1= +shape_3_per_frame2=h2=h2+(above(treb,1.32)*0.8)*.9; +shape_3_per_frame3=vr=sin(h2*.8)*.5+.5; +shape_3_per_frame4=vg=sin(h2*.5)*.5+.5; +shape_3_per_frame5=vb=sin(h2*.1)*.5+.5; +shape_3_per_frame6= +shape_3_per_frame7=g=vg; +shape_3_per_frame8=r=vr; +shape_3_per_frame9=b=vb; +shape_3_per_frame10=g2=g; +shape_3_per_frame11=r2=r; +shape_3_per_frame12=b2=b; +shape_3_per_frame13=dist=(frame%100)*.01; +shape_3_per_frame14=maat=maat+(above(bass_att,1.5)); +shape_3_per_frame15=maat=below(maat,16)*maat; +shape_3_per_frame16=y=if(below(maat,8),if(below(maat,4),dist,1-dist),y); +shape_3_per_frame17=x=if(above(maat,8),if(above(maat,4),dist,1-dist),x); +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .4*sin(time*.333); +per_frame_3=wave_g = wave_g + .4*sin(time*.444); +per_frame_4=wave_b = wave_b + .4*sin(time*1.522); +per_frame_5=zoom = 0.994 - sin((time))/300; +per_frame_6=dx = -.0001; +per_frame_7=dy = -.0001; +per_frame_8=wave_mystey = -time/9; +per_pixel_1=zoom = 0.01+if(below(rad,sin(time*1.456)/25+0.18),1.2+sin(time*1.44)/5,zoom + (.07+.03*sin(time*.55))*sin(ang*10+time*8)); +per_pixel_2=zoomexp = zoom/2; +per_pixel_3=rot = .1*sin(((if(above(sin(time/11),0),-rad,rad))*5)+time*.05); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame, with some trails... +warp_4=` float trail_decay = 0.97; +warp_5=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` float3 s2 = tex2D( sampler_fc_main, lerp(uv,uv_orig,1.5) ).xyz*trail_decay; +warp_7=` ret = max(ret, s2); +warp_8=` +warp_9=` // darken over time +warp_10=` ret -= 0.02; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.70; //old gamma effect +comp_5=` ret *= hue_shader; //old hue shader effect +comp_6=`} diff --git a/presets/presets_tryptonaut/Stahlregen & DemonLD + Geiss + martin + Rovastar - Checker Nova.milk b/presets/presets_tryptonaut/Stahlregen & DemonLD + Geiss + martin + Rovastar - Checker Nova.milk new file mode 100755 index 0000000000..f188fd7b1d --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & DemonLD + Geiss + martin + Rovastar - Checker Nova.milk @@ -0,0 +1,282 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.998 +fDecay=0.980 +fVideoEchoZoom=1.421 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=2.905 +fWaveSmoothing=0.627 +fWaveParam=-0.300 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.28055 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01249 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_pixel_1=zoom=(zoom-1)*rad+1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 v1 = normalize(uv_orig-0.5); +warp_4=` float2 v2 = v1.yx * float2(1,-1); +warp_5=` +warp_6=` float z = length(texsize.zw)*450; +warp_7=` +warp_8=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_9=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv ).xyz; +warp_13=` +warp_14=` +warp_15=` +warp_16=` // darken (decay) over time +warp_17=` ret = (ret - 0.01)*0.97; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=`float3 ret1 = 0; +comp_10=`int anz = 6; +comp_11=`int n = 0; +comp_12=`while (n <= anz) { +comp_13=` ang2 = 6.28*n/anz; +comp_14=` c = cos(ang2); +comp_15=` s = sin(ang2); +comp_16=` uv2.x = uv.x*c - uv.y*s; +comp_17=` uv2.y = uv.x*s + uv.y*c; +comp_18=` +comp_19=` ret1 = max(ret1,tex2D(sampler_main, uv2 + 0.5+.1*q1)); +comp_20=`n++; +comp_21=`} +comp_22=` +comp_23=`ret1 = (ret1 - rad/2) * (1+slow_roam_cos.xyz/2); +comp_24=` +comp_25=`float3 noise = tex2D (sampler_noise_hq,uv*8+lum(ret1)/8)+.15; +comp_26=` +comp_27=`ret1 = max(ret1,lum(noise)/6); +comp_28=` +comp_29=`//ret = lerp(ret, lum(ret), -5); +comp_30=` +comp_31=` ret = ret1*1.6-.1; +comp_32=`} +comp_33=` +comp_34=` diff --git a/presets/presets_tryptonaut/Stahlregen & EoS + Flexi + Phat + Rovastar + Zylot - Screenspace (Fractopia RMX).milk b/presets/presets_tryptonaut/Stahlregen & EoS + Flexi + Phat + Rovastar + Zylot - Screenspace (Fractopia RMX).milk new file mode 100644 index 0000000000..329140766d --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & EoS + Flexi + Phat + Rovastar + Zylot - Screenspace (Fractopia RMX).milk @@ -0,0 +1,333 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940 +fWaveScale=1.599 +fWaveSmoothing=0.700 +fWaveParam=1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.300 +wave_b=0.300 +wave_x=0.000 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.005; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=` +warp_19=`//-------------------------------- +warp_20=` +warp_21=` d = 0.01; +warp_22=` my_uv = float2(-dy,dx)*0.05; +warp_23=` +warp_24=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_25=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_26=` my_uv += uv - float2(dx,dy)*0.005; +warp_27=` +warp_28=` +warp_29=` +warp_30=` v = 0.01; +warp_31=` ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_32=` +warp_33=` +warp_34=` ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_35=` ret.z *= 0.95; +warp_36=` ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_37=` +warp_38=` ret.x = tex2D( sampler_main, uv_orig).x - 0.3; +warp_39=`} +comp_1=`sampler sampler_seaweed; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` ret = tex2D(sampler_main, uv).xyz; +comp_6=` //float lum = ret.x; +comp_7=` //ret = lum; +comp_8=` +comp_9=` float2 texc = 0.4 + 0.6*ret.xy; +comp_10=` ret = tex2D(sampler_seaweed, texc) * ret.z * 3; +comp_11=` +comp_12=` // add some stripes: +comp_13=` //ret += 0.04*cos(lum*29+2.8); +comp_14=`} +comp_15=` +comp_16=` diff --git a/presets/presets_tryptonaut/Stahlregen & EoS + Geiss + ORB + Phat - Fruitsticks (Flexi-Tex Shader).milk b/presets/presets_tryptonaut/Stahlregen & EoS + Geiss + ORB + Phat - Fruitsticks (Flexi-Tex Shader).milk new file mode 100644 index 0000000000..fd18b24700 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & EoS + Geiss + ORB + Phat - Fruitsticks (Flexi-Tex Shader).milk @@ -0,0 +1,704 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05101 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=43.200 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q32 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q32 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.600 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_frame8= +wave_2_per_frame9= +wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q32 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8 + 1; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point70= +wave_2_per_point71= +wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); +wave_2_per_point73= +wave_2_per_point74= +wave_2_per_point75=r=t4; +wave_2_per_point76=g=t5; +wave_2_per_point77=b=t6; +wave_2_per_point78= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.300 +wavecode_3_b=0.100 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_frame8= +wave_3_per_frame9= +wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q32 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8+1; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); +wave_3_per_point75= +wave_3_per_point76= +wave_3_per_point77=r=t4; +wave_3_per_point78=g=t5; +wave_3_per_point79=b=t6; +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.06779 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03809 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.600 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4= +per_frame_5= +per_frame_6=volz = (bass+treb+mid)*.25; +per_frame_7=volz = volz*volz; +per_frame_8=mtime = .05+mtime + .1*volz; +per_frame_9=q32 = .3*mtime; +per_pixel_1=dx=0.01*cos(ang+1.57); +per_pixel_2=dy=-0.01*sin(ang+1.57); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.03; +warp_12=`} +comp_1=` +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` //ret = max( ret, tex2D(sampler_main, 1-uv).zyx ); +comp_6=` +comp_7=` float L = lum(ret); +comp_8=` float use_tex = 1 - saturate(L*10-1); +comp_9=` +comp_10=`//mirror code by flexi +comp_11=`float2 uv2 =(6+2*roam_sin)*float2(1-uv.x,uv.y)-roam_sin; +comp_12=`float2 m = floor(frac(uv2*0.5)*2); +comp_13=`uv2 = frac(uv2)*(1-m) + (m)*frac(1-uv2); +comp_14=` +comp_15=`//texture/drop shadow code by Geiss +comp_16=` float3 tex = .2+GetBlur1(uv2).yzx; +comp_17=` tex = (tex-.25*GetBlur3(uv))*tex; +comp_18=` // shadow: +comp_19=` float L2 = lum(GetBlur2(uv - 0.01)); +comp_20=` tex *= 1-saturate(L2*5); +comp_21=` ret = lerp(ret, tex, use_tex); +comp_22=` +comp_23=` ret *= 1.70; //old gamma effect +comp_24=` +comp_25=` +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Flexi + Geiss - Tiger No 5 (Random texture flow).milk b/presets/presets_tryptonaut/Stahlregen & Flexi + Geiss - Tiger No 5 (Random texture flow).milk new file mode 100644 index 0000000000..1c8a29ac9a --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Flexi + Geiss - Tiger No 5 (Random texture flow).milk @@ -0,0 +1,277 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.26300 +sx=1.00000 +sy=1.00000 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b0 = ret.xyz; +warp_9=` float3 b1 = GetBlur1(uv).xyz; +warp_10=` float3 b2 = GetBlur2(uv).xyz; +warp_11=` //float b3 = GetBlur3(uv).xyz; +warp_12=` float3 dc = b0-b1; +warp_13=` dc = lerp(dc, (b2-b1)*2, rad); +warp_14=` +warp_15=` ret.xyz += dc*0.3; +warp_16=` ret.xyz *= 0.9; +warp_17=` ret = lerp(ret, 0.5, 0.03); +warp_18=` +warp_19=` +warp_20=` // add noise: +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_23=` //* saturate(treb_att-1); +warp_24=` *0.16; +warp_25=` +warp_26=` // desaturate over time, to keep the globs white +warp_27=` //ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_28=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.02); +warp_29=`} +comp_1=`sampler sampler_rand00;; +comp_2=`shader_body +comp_3=` +comp_4=`{ +comp_5=` float2 d = texsize.zw*4; +comp_6=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_7=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_8=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_9=` +comp_10=`ret = lerp(tex2D(sampler_rand00, uv_y), rand_preset, GetPixel(uv).y*0.7); +comp_11=`} +comp_12=` diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss + EoS + Martin + Rovastar - Halcyon Jelly Skin.milk b/presets/presets_tryptonaut/Stahlregen & Geiss + EoS + Martin + Rovastar - Halcyon Jelly Skin.milk new file mode 100644 index 0000000000..24aa0766e2 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss + EoS + Martin + Rovastar - Halcyon Jelly Skin.milk @@ -0,0 +1,285 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=1.010 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.824 +fWaveScale=0.971 +fWaveSmoothing=0.570 +fWaveParam=0.000 +fModWaveAlphaStart=0.550 +fModWaveAlphaEnd=1.350 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.300 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.05; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret.xyz += (ret.xyz - GetBlur2(uv))*0.3; +warp_9=` ret.xyz *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-.25*(float2(lum(dx),lum(dy))); +comp_10=`float2 uv_y2 = uv+.25*(float2(lum(dx),lum(dy))); +comp_11=` +comp_12=` +comp_13=`ret = .8*GetBlur3(uv_y)-GetBlur1(uv_y); +comp_14=`ret += .6*GetBlur1(uv); +comp_15=`ret -= (GetBlur2(uv_y2)-GetBlur1(uv_y2)); +comp_16=`ret += 1.2*GetPixel(uv_y2)+.15*GetBlur1(uv_y2); +comp_17=`ret += 1; +comp_18=`ret = lum(ret); +comp_19=`ret = lerp(ret,.75*ret*lum(.6*GetBlur3(uv_y)-.7*GetPixel(uv)-.3*GetBlur1(uv_y2)),pow(hue_shader,ret)); +comp_20=`ret *= .7; +comp_21=`ret *= ret; +comp_22=`ret = sqrt(ret); +comp_23=` +comp_24=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar + Illusion + Krash + Rozzor - Cyclopean Shift (Eyeless Mix).milk b/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar + Illusion + Krash + Rozzor - Cyclopean Shift (Eyeless Mix).milk new file mode 100755 index 0000000000..05bfba5dff --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar + Illusion + Krash + Rozzor - Cyclopean Shift (Eyeless Mix).milk @@ -0,0 +1,270 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000 +fWaveScale=0.797 +fWaveSmoothing=0.000 +fWaveParam=-0.500 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99950 +rot=0.04000 +cx=0.560 +cy=0.800 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.97237 +sy=1.00000 +wave_r=1.000 +wave_g=0.700 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.200 +ib_size=0.005 +ib_r=0.000 +ib_g=1.000 +ib_b=0.000 +ib_a=0.310 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); +per_frame_4=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_5=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); +per_frame_6=xdecay=zoom; +per_frame_7=wave_y = wave_y+ 0.2*sin(1.85*time); +per_frame_8=dx = dx + dx_residual; +per_frame_9=dy = dy + dy_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_12=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_13=ib_r = max(min(0.5+wave_r,0.99),0); +per_frame_14=ib_b = max(min(0.5+wave_b,0.99),0); +per_frame_15=ib_g = max(min(0.5+wave_g,0.99),0); +per_frame_16=monitor = 5*dx_residual; +per_frame_17=mv_l = 200; +per_frame_18=mv_x = 1.7-10*dx_residual*bass_thresh; +per_frame_19=mv_y = 60-100*dy_residual; +per_frame_20=mv_g = 0.5 + 30*dx_residual; +per_frame_21=mv_b = 0.5+30*dy_residual; +per_frame_22=mv_r = min(0.5 + 0.25*sin(time*0.415) + 0.25*(bass-1),0.999); +per_frame_23=mv_a = 0.41; +per_frame_24= +per_frame_25=wave_mystery= 2*bass_thresh + time*0.3; +per_frame_26=monitor = wave_mystery; +per_frame_27= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.034; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` ret *= 1.50; //gamma +comp_9=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar - Fields of Flowers (distorted).milk b/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar - Fields of Flowers (distorted).milk new file mode 100755 index 0000000000..05225df9a0 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss + Rovastar - Fields of Flowers (distorted).milk @@ -0,0 +1,265 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.443 +fWaveSmoothing=0.630 +fWaveParam=-0.400 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.07618 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.500 +mv_r=0.350 +mv_g=0.350 +mv_b=0.350 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.09*( 0.60*sin(0.181*time) + 0.09*sin(-0.279*time) ); +per_frame_5=decay = decay - 0.01*equal(frame%6,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` // add noise to UV's: +warp_4=` float2 uv2 = uv; +warp_5=` uv2.xy += tex2D(sampler_noise_hq, rand_frame.xy + uv*3.3*texsize.xy*texsize_noise_hq.zw)*texsize.zw*2; +warp_6=` +warp_7=` // sample previous frame +warp_8=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.004; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=`ret = GetPixel(uv); +comp_6=` uv += -.05*tan(3*(ret.zz+ret.yx)); +comp_7=` +comp_8=` +comp_9=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_10=` ret = 0; +comp_11=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_12=` ret -= GetBlur1(uv)*3; +comp_13=` +comp_14=` // little bit of noise: +comp_15=` ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_16=` + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_17=` +comp_18=` // palettize: +comp_19=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_20=` +comp_21=` ret = (ret-0.1)*1.1; +comp_22=` +comp_23=` //ret.xyz *= 2; // a little bit of overbright +comp_24=`} +comp_25=` +comp_26=` diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss + TobiasWolfBoi - Space Gelatin (Color Xplosion).milk b/presets/presets_tryptonaut/Stahlregen & Geiss + TobiasWolfBoi - Space Gelatin (Color Xplosion).milk new file mode 100755 index 0000000000..39038f8d34 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss + TobiasWolfBoi - Space Gelatin (Color Xplosion).milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.500 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.707 +fWaveScale=1.862 +fWaveSmoothing=0.000 +fWaveParam=-0.200 +fModWaveAlphaStart=0.770 +fModWaveAlphaEnd=1.010 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.000 +zoom=1.03100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = min(1,max(0,(bass_att-1)*1.3)); +per_frame_2=wave_g = wave_r*0.7; +per_frame_3=wave_b = wave_r*0.1; +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_5=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_6=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.03; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader,ret)); +comp_24=` ret *= hue_shader; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss + Zylot - Wall of Glass (Death by Color Pox Filaments RMX).milk b/presets/presets_tryptonaut/Stahlregen & Geiss + Zylot - Wall of Glass (Death by Color Pox Filaments RMX).milk new file mode 100755 index 0000000000..41b35c41fc --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss + Zylot - Wall of Glass (Death by Color Pox Filaments RMX).milk @@ -0,0 +1,264 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=16.217 +fWaveSmoothing=0.750 +fWaveParam=-0.440 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.000 +zoom=1.01100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59958 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=t = time*12.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 4; //TWEAK - should be a least 4 for max. compatibility! +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.95; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = max(ret, tex2D(sampler_main, uv + 0.045*float2(cos(uv.x*37),sin(uv.y*29))).xyz); +comp_8=` +comp_9=` //ret += GetBlur1(uv) - 0.07; +comp_10=` //ret *= float3(1.3,0.8,0.5); +comp_11=` //ret *= 0.8; +comp_12=`} diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss - MashUp 16 (Seizure-Inducing Confetti Kaleidoscope RMX).milk b/presets/presets_tryptonaut/Stahlregen & Geiss - MashUp 16 (Seizure-Inducing Confetti Kaleidoscope RMX).milk new file mode 100755 index 0000000000..f1d9d32002 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss - MashUp 16 (Seizure-Inducing Confetti Kaleidoscope RMX).milk @@ -0,0 +1,288 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.26300 +sx=1.00000 +sy=1.00000 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b0 = ret.xyz; +warp_9=` float3 b1 = GetBlur1(uv).xyz; +warp_10=` float3 b2 = GetBlur2(uv).xyz; +warp_11=` //float b3 = GetBlur3(uv).xyz; +warp_12=` float3 dc = b0-b1; +warp_13=` dc = lerp(dc, (b2-b1)*2, rad); +warp_14=` +warp_15=` ret.xyz += dc*0.3; +warp_16=` ret.xyz *= 0.9; +warp_17=` ret = lerp(ret, 0.5, 0.03); +warp_18=` +warp_19=` +warp_20=` // add noise: +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_23=` //* saturate(treb_att-1); +warp_24=` *0.16; +warp_25=` +warp_26=` // desaturate over time, to keep the globs white +warp_27=` //ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_28=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.02); +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Stahlregen & Geiss - Tiger No 5 (Seizure-Inducing Confetti Kaleidoscope RMX)_2.milk b/presets/presets_tryptonaut/Stahlregen & Geiss - Tiger No 5 (Seizure-Inducing Confetti Kaleidoscope RMX)_2.milk new file mode 100644 index 0000000000..b15a9d4741 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & Geiss - Tiger No 5 (Seizure-Inducing Confetti Kaleidoscope RMX)_2.milk @@ -0,0 +1,288 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.26300 +sx=1.00000 +sy=1.00000 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret.xyz = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` float3 b0 = ret.xyz; +warp_9=` float3 b1 = GetBlur1(uv).xyz; +warp_10=` float3 b2 = GetBlur2(uv).xyz; +warp_11=` //float b3 = GetBlur3(uv).xyz; +warp_12=` float3 dc = b0-b1; +warp_13=` dc = lerp(dc, (b2-b1)*2, rad); +warp_14=` +warp_15=` ret.xyz += dc*0.3; +warp_16=` ret.xyz *= 0.9; +warp_17=` ret = lerp(ret, 0.5, 0.03); +warp_18=` +warp_19=` +warp_20=` // add noise: +warp_21=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_22=` ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 122 +warp_23=` //* saturate(treb_att-1); +warp_24=` *0.16; +warp_25=` +warp_26=` // desaturate over time, to keep the globs white +warp_27=` //ret.xyz = lerp(ret.xyz, lum(ret.xyz), 0.2); +warp_28=` ret.xyz = lerp(ret.xyz, ret.zxy, 0.02); +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //rad = frac(rad*2); +comp_4=` rad = pow(rad,0.5)*1; +comp_5=` +comp_6=` +comp_7=` float ang2 = frac(ang/6.28*7 + time*0.05); +comp_8=` ang2 = abs(ang2*2-1); +comp_9=` float2 uv2 = 0.5 + rad*0.5*float2(cos(ang2),sin(ang2)); +comp_10=` +comp_11=` uv = uv2; +comp_12=` //uv = lerp(uv, uv2, 0.5 + 0.5*cos(ang + time*3)); +comp_13=` +comp_14=` +comp_15=` ret = tex2D(sampler_main, uv).xyz; +comp_16=` +comp_17=` //ret = lum(ret); +comp_18=` //ret = pow(ret,float3(0.7,1.3,1.6)); +comp_19=` +comp_20=` ret = -0.3 + 1.7*ret; +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Stahlregen & aderrasi + martin + rocke + rovastar - Charmed Spun Sugar.milk b/presets/presets_tryptonaut/Stahlregen & aderrasi + martin + rocke + rovastar - Charmed Spun Sugar.milk new file mode 100755 index 0000000000..135a6dd1b9 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & aderrasi + martin + rocke + rovastar - Charmed Spun Sugar.milk @@ -0,0 +1,300 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.985 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.331 +fWaveScale=0.898 +fWaveSmoothing=0.108 +fWaveParam=0.100 +fModWaveAlphaStart=0.720 +fModWaveAlphaEnd=1.280 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96190 +rot=-0.01000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.540 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.500 +ib_g=0.570 +ib_b=0.400 +ib_a=0.000 +nMotionVectorsX=24.800 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.160 +mv_l=1.500 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=352 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.03856 +wavecode_0_smoothing=0.20000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1=bass_att; +wave_0_per_point1=r = abs (sin (frame /38)); +wave_0_per_point2=g = 0.5*abs (cos (frame /45)); +wave_0_per_point3=b = 0.5*abs (sin (frame / 133)); +wave_0_per_point4=a = 0.3; +wave_0_per_point5=t02 = t02 + q1/10; +wave_0_per_point6=ratio = sin (frame/49); +wave_0_per_point7= +wave_0_per_point8=ampl = 0.01+0.4*sqr(sin ((frame ) / 18)* cos (frame / 123)); +wave_0_per_point9= +wave_0_per_point10=x1 = (r-0.5)/15 +0.5 + ampl* sin (sample*6.28); +wave_0_per_point11=y1 = (b-0.5)/15+0.5 + ampl* cos (sample*6.28); +wave_0_per_point12= +wave_0_per_point13=x = x1+1*0.2*(ampl+ratio )*sin ( sample*6.28 * ratio*7.3); +wave_0_per_point14=y = y1+1*0.2*(ampl+ratio )*cos ( sample*6.28*6); +wave_0_per_point15= +wavecode_1_enabled=0 +wavecode_1_samples=15 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.06378 +wavecode_1_smoothing=0.80000 +wavecode_1_r=0.800 +wavecode_1_g=0.000 +wavecode_1_b=0.600 +wavecode_1_a=0.900 +wavecode_2_enabled=0 +wavecode_2_samples=112 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.31275 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.17914 +shapecode_0_r=0.820 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=xy=0.5+rand_frame; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_2=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_4=wave_mystery = 0.5*sin(0.35*bass); +per_frame_5=decay = decay - 0.01*equal(frame%50,0); +per_frame_6=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_7=cx = cx + 0.08*sin(time*1.315); +per_frame_8=cy = cy + 0.08*sin(time*1.127); +per_frame_9=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float t = 0.005 + 0.025*saturate(treb-1); +warp_5=` float2 uv2 = uv; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, +warp_8=` lerp(uv,uv_orig,-1) + delta2 ).xyz; +warp_9=` uv2.xy += (blurry_color.xy-0.37) * t; +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=` +warp_14=` // darken over time +warp_15=` ret -= 0.004; +warp_16=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`ret1 = 0; +comp_12=`int anz = 5; +comp_13=`int n = 0; +comp_14=`while (n <= anz) { +comp_15=` ang2 = 6.28*n/anz; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv2.x = uv.x*c - uv.y*s; +comp_19=` uv2.y = uv.x*s + uv.y*c; +comp_20=` neu = GetPixel (uv2 + 0.4 + .02*q27 ); +comp_21=` blur= GetBlur1 (uv2 + 0.4 + .02*q27 ); +comp_22=` ret1 = max(ret1, neu+blur*2); +comp_23=`n++; +comp_24=`} +comp_25=` +comp_26=` +comp_27=`// I think this bit's from ORB +comp_28=`ret = (ret1-0.0125)*0.7; +comp_29=` float3 retish = 1 - ret*(1-ret)*4; //solarize +comp_30=` ret = float3(retish[0]*0.5,retish[1]*0.5,retish[2]); +comp_31=` ret *= 0.5; +comp_32=` +comp_33=` +comp_34=`} diff --git a/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Distorted).milk b/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Distorted).milk new file mode 100755 index 0000000000..f4cdc050f0 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Distorted).milk @@ -0,0 +1,312 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.325 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.880 +fModWaveAlphaEnd=1.980 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.13500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=332 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=int(rand(100))*0.01; +wave_0_per_point2=y=int(rand(100))*0.01; +wave_0_per_point3=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.400 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wave_1_per_point1=x=int(rand(1000))*0.001; +wave_1_per_point2=y=int(rand(1000))*0.001; +wave_1_per_point3=r=0.9;g=1;b=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.32544 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.25237 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=0.360 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.200 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.990 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=//adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=x= q28; +shape_1_per_frame9=y= q29; +shape_1_per_frame10=rad=q32; +shape_1_per_frame11=ang= if(equal(instance,0),q30,q31); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.25237 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.25133 +shapecode_2_tex_zoom=1.13600 +shapecode_2_r=0.360 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.200 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.990 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=//adv=adv+(bass*bass)/15; +shape_2_per_frame3= +shape_2_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_2_per_frame5=g=r; +shape_2_per_frame6=b=r; +shape_2_per_frame7= +shape_2_per_frame8=x= q23; +shape_2_per_frame9=y= q24; +shape_2_per_frame10=rad=q27; +shape_2_per_frame11=ang= if(equal(instance,0),q25,q26); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03690 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.18423 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=0.100 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad = 0.04+0.005*bass_att; +per_frame_1=//wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=//wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = 0.935*zoom + 0.04*( 0.60*sin(0.339*bass_att) + 0.10*sin(0.276*bass_att) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*treb_att) + 0.40*sin(0.297*treb_att) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*mid_att) + 0.40*sin(0.351*mid_att) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +per_frame_11= +per_frame_12=q23 = int(rand(1000))/1000; +per_frame_13=q24 = int(rand(1000))/1000; +per_frame_14=q25 = (int(rand(1000))/1000)*6.28; +per_frame_15=q26 = q25 - 3.14; +per_frame_16=q27 = (int(rand(1000))/12000)+0.1; +per_frame_17= +per_frame_18=q28 = int(rand(1000))/1000; +per_frame_19=q29 = int(rand(1000))/1000; +per_frame_20=q30 = (int(rand(1000))/1000)*6.28; +per_frame_21=q31 = q30 - 3.14; +per_frame_22=q32 = (int(rand(1000))/14000)+0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.98; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` uv = 0.05 + 0.9*uv; +comp_5=` ret = GetBlur1(uv); +comp_6=` uv += -.05*asin(3*ret.yx)+.05*cos(2*ret.zz)-0.025; +comp_7=` +comp_8=` ret = tex2D(sampler_main,uv); +comp_9=` ret += GetBlur1(uv); +comp_10=` +comp_11=` // palettize: +comp_12=` // ret = pow(lum(ret), float3(0.3, .76, 0.87)); +comp_13=` +comp_14=` // invert +comp_15=` ret = saturate(ret); +comp_16=` ret *= ret; +comp_17=` //ret.xyz *= 2; // a little bit of overbright +comp_18=`} +comp_19=` +comp_20=` diff --git a/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Hyperion RMX V3).milk b/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Hyperion RMX V3).milk new file mode 100755 index 0000000000..b084a99c14 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & bdrv + fiSHbRAiN + flexi + Geiss + shifter - Starcraft (Hyperion RMX V3).milk @@ -0,0 +1,322 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.325 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.880 +fModWaveAlphaEnd=1.980 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.13500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=332 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=rand(100)*0.01; +wave_0_per_point2=y=rand(100)*0.01; +wave_0_per_point3=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wave_1_per_point1=x=rand(1000)*0.001; +wave_1_per_point2=y=rand(1000)*0.001; +wave_1_per_point3=//r=0.9; +wave_1_per_point4=//g=1; +wave_1_per_point5=//b=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.25237 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.200 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.990 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=//adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=//r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=//g=r; +shape_1_per_frame6=//b=r; +shape_1_per_frame7= +shape_1_per_frame8=x= q28; +shape_1_per_frame9=y= q29; +shape_1_per_frame10=rad=q32; +shape_1_per_frame11=ang= if(equal(instance,0),q30,q31); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.25237 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.25133 +shapecode_2_tex_zoom=1.13600 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.200 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.990 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=//adv=adv+(bass*bass)/15; +shape_2_per_frame3= +shape_2_per_frame4=//r=rand(10)*0.1*0.5+0.5; +shape_2_per_frame5=//g=r; +shape_2_per_frame6=//b=r; +shape_2_per_frame7= +shape_2_per_frame8=x= q23; +shape_2_per_frame9=y= q24; +shape_2_per_frame10=rad=q27; +shape_2_per_frame11=ang= if(equal(instance,0),q25,q26); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=//wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=//wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = 0.935*zoom + 0.04*( 0.60*sin(0.339*bass_att) + 0.10*sin(0.276*bass_att) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*treb_att) + 0.40*sin(0.297*treb_att) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*mid_att) + 0.40*sin(0.351*mid_att) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +per_frame_11= +per_frame_12=q23 = rand(1000)/1000; +per_frame_13=q24 = rand(1000)/1000; +per_frame_14=q25 = (rand(1000)/1000)*6.28; +per_frame_15=q26 = q25 - 3.14; +per_frame_16=q27 = (rand(1000)/12000)+0.1; +per_frame_17= +per_frame_18=q28 = rand(1000)/1000; +per_frame_19=q29 = rand(1000)/1000; +per_frame_20=q30 = (rand(1000)/1000)*6.28; +per_frame_21=q31 = q30 - 3.14; +per_frame_22=q32 = (rand(1000)/14000)+0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` +warp_5=`float2 uv2 = (uv*0.925)+.0375; +warp_6=`float2 uv3 = (uv*1.075)-.0375; +warp_7=`ret = lerp(0,float3(1,0,0),GetPixel(uv).x); +warp_8=`ret = lerp(ret,float3(0,1,0),GetPixel(uv2).y); +warp_9=`ret = lerp(ret,float3(0,0,1),GetPixel(uv3).z*0.3); +warp_10=`//ret = lum(ret); +warp_11=` +warp_12=` // darken (decay) over time +warp_13=`ret *= 0.98; //or try: ret -= 0.004; +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=` float3 d = float3(texsize.zw, 0)*1.0; +comp_6=` float b1 = lum(GetPixel(uv + d.xz)); +comp_7=` float b2 = lum(GetPixel(uv - d.xz)); +comp_8=` float b3 = lum(GetPixel(uv + d.zy)); +comp_9=` float b4 = lum(GetPixel(uv - d.zy)); +comp_10=` +comp_11=` //ret = 0; +comp_12=` ret *= -1; +comp_13=` ret += saturate((b1-b2)*64)*1.00*float3(.2,.6,.9); +comp_14=` ret += saturate((b3-b4)*64)*1.00*float3(.3,.9,.5); +comp_15=` ret -= saturate( GetBlur1(uv)*4 - 1 ); +comp_16=` //ret = lum(ret)*float3(0.8,.9,1); +comp_17=` +comp_18=` +comp_19=` ret *= 1.5; +comp_20=` +comp_21=`//ret = GetPixel(uv); +comp_22=` +comp_23=`} diff --git a/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix) (Reverse Jelly 2c).milk b/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix) (Reverse Jelly 2c).milk new file mode 100755 index 0000000000..8e10e8879e --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix) (Reverse Jelly 2c).milk @@ -0,0 +1,327 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.25486 +fShader=0.000 +zoom=0.97012 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),int(rand(3)),eo); +per_frame_3=ez=if(below(ea,.1),.5+(int(rand(10))*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,uv.y) ).zyx ); +warp_6=` +warp_7=` // darken over time +warp_8=` ret *= 0.97; //or try: ret -= 0.004; +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` //ret = ret.xxy; +comp_22=` ret -= 1.55; +comp_23=` ret += lerp(ret,ret*(GetBlur1(uv)-GetBlur3(uv)*2.25),pow(hue_shader.zxy,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix).milk b/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix).milk new file mode 100755 index 0000000000..0a95eac2fb --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & fiSHbRaiN + flexi + Geiss + shifter - Stonecraft (Beetle Relief mix).milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.25486 +fShader=0.000 +zoom=0.97012 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,uv.y) ).zyx ); +warp_6=` +warp_7=` // darken over time +warp_8=` ret *= 0.97; //or try: ret -= 0.004; +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` +comp_23=` //ret *= 1.5; //old gamma effect +comp_24=`} diff --git a/presets/presets_tryptonaut/Stahlregen & fishbrain + flexi + geiss - The Machine that conquered the Aether.milk b/presets/presets_tryptonaut/Stahlregen & fishbrain + flexi + geiss - The Machine that conquered the Aether.milk new file mode 100755 index 0000000000..6b95bfd177 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & fishbrain + flexi + geiss - The Machine that conquered the Aether.milk @@ -0,0 +1,398 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.069 +fWaveScale=2.115 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=5.00873 +fShader=0.000 +zoom=1.04163 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.300 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=tscale=.45+(bass*.02); +wave_0_per_point2=trot=3; +wave_0_per_point3=a=above(sample,0); +wave_0_per_point4= +wave_0_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_0_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_0_per_point7= +wave_0_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_0_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_0_per_point10= +wave_0_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_0_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_0_per_point13= +wave_0_per_point14= +wave_0_per_point15=//draw via random walk +wave_0_per_point16=tri_point=rand(3); +wave_0_per_point17= +wave_0_per_point18=//point 1 +wave_0_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_0_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_0_per_point21= +wave_0_per_point22=//point 2 +wave_0_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_0_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_0_per_point25= +wave_0_per_point26=//point 3 +wave_0_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_0_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_0_per_point29= +wave_0_per_point30=x=t_x; +wave_0_per_point31=y=t_y; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=tscale=.45+(bass*.02); +wave_1_per_point2=trot=3; +wave_1_per_point3=a=above(sample,0); +wave_1_per_point4= +wave_1_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_1_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_1_per_point7= +wave_1_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_1_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_1_per_point10= +wave_1_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_1_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//draw via random walk +wave_1_per_point16=tri_point=rand(3); +wave_1_per_point17= +wave_1_per_point18=//point 1 +wave_1_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_1_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_1_per_point21= +wave_1_per_point22=//point 2 +wave_1_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_1_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_1_per_point25= +wave_1_per_point26=//point 3 +wave_1_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_1_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_1_per_point29= +wave_1_per_point30=x=t_x; +wave_1_per_point31=y=t_y; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=tscale=.45+(bass*.02); +wave_2_per_point2=trot=3; +wave_2_per_point3=a=above(sample,0); +wave_2_per_point4= +wave_2_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_2_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_2_per_point7= +wave_2_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_2_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_2_per_point10= +wave_2_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_2_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_2_per_point13= +wave_2_per_point14= +wave_2_per_point15=//draw via random walk +wave_2_per_point16=tri_point=rand(3); +wave_2_per_point17= +wave_2_per_point18=//point 1 +wave_2_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_2_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_2_per_point21= +wave_2_per_point22=//point 2 +wave_2_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_2_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_2_per_point25= +wave_2_per_point26=//point 3 +wave_2_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_2_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_2_per_point29= +wave_2_per_point30=x=t_x; +wave_2_per_point31=y=t_y; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=tscale=.45+(bass*.02); +wave_3_per_point2=trot=3; +wave_3_per_point3=a=above(sample,0); +wave_3_per_point4= +wave_3_per_point5=tp1x=.5+(cos(3.1415*0+(time*trot))*tscale*.75); +wave_3_per_point6=tp1y=.5+(sin(3.1415*0+(time*trot))*tscale); +wave_3_per_point7= +wave_3_per_point8=tp2x=.5+(cos(3.1415*.6667+(time*trot))*tscale*.75); +wave_3_per_point9=tp2y=.5+(sin(3.1415*.6667+(time*trot))*tscale*sin(time)); //spin +wave_3_per_point10= +wave_3_per_point11=tp3x=.5+(cos(3.1415*1.3333+(time*trot))*tscale*.75); +wave_3_per_point12=tp3y=.5+(sin(3.1415*1.3333+(time*trot))*tscale*sin(time)); //spin +wave_3_per_point13= +wave_3_per_point14= +wave_3_per_point15=//draw via random walk +wave_3_per_point16=tri_point=rand(3); +wave_3_per_point17= +wave_3_per_point18=//point 1 +wave_3_per_point19=t_x=t_x+(equal(tri_point,0)*(tp1x-t_x)*.5); +wave_3_per_point20=t_y=t_y+(equal(tri_point,0)*(tp1y-t_y)*.5); +wave_3_per_point21= +wave_3_per_point22=//point 2 +wave_3_per_point23=t_x=t_x+(equal(tri_point,1)*(tp2x-t_x)*.5); +wave_3_per_point24=t_y=t_y+(equal(tri_point,1)*(tp2y-t_y)*.5); +wave_3_per_point25= +wave_3_per_point26=//point 3 +wave_3_per_point27=t_x=t_x+(equal(tri_point,2)*(tp3x-t_x)*.5); +wave_3_per_point28=t_y=t_y+(equal(tri_point,2)*(tp3y-t_y)*.5); +wave_3_per_point29= +wave_3_per_point30=x=t_x; +wave_3_per_point31=y=t_y; +shapecode_0_enabled=1 +shapecode_0_sides=30 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.240 +shapecode_0_y=0.500 +shapecode_0_rad=0.47209 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.81952 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.600 +shapecode_0_g2=0.600 +shapecode_0_b2=0.900 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=(sin(time*.5)*.5)+.5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.79142 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=1.57080 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.300 +shapecode_1_g2=0.200 +shapecode_1_b2=0.800 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.80814 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.400 +shapecode_2_g=0.400 +shapecode_2_b=0.800 +shapecode_2_a=1.000 +shapecode_2_r2=0.700 +shapecode_2_g2=0.600 +shapecode_2_b2=0.500 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.36457 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49831 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.800 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=t = time*12.3; +per_frame_2=//wave_x = wave_x + 0.350*( 0.70*sin(2.221*time*5) + 0.30*sin(1.821*time*15) ); +per_frame_3=//wave_y = wave_y + 0.350*( 0.30*sin(1.942*time*5) + 0.70*sin(2.522*time*15) ); +per_frame_4=//wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=//wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=//wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.030*( 0.60*sin(0.38*time) + 0.40*sin(0.54*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +per_frame_10=//rot = 0; +per_frame_11=//wave_a = 0; +warp_1=`sampler sampler_smalltiled_ensign_meat; +warp_2=`float4 texsize_smalltiled_ensign_meat; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` // sample previous frame +warp_7=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_8=` +warp_9=` // this creates an endless texture zoom: +warp_10=` { // the { } block creates a local, temporary scope for any new variables +warp_11=` float t = frac(time*0.5); +warp_12=` float zoom1 = pow(0.5, t); +warp_13=` float zoom2 = zoom1*2; +warp_14=` float2 uv1 = (uv-0.5) * zoom1 + 0.5; +warp_15=` float2 uv2 = (uv-0.5) * zoom2 + 0.5; +warp_16=` float3 c = tex2D(sampler_smalltiled_ensign_meat, +warp_17=` uv1*texsize.xy*texsize_smalltiled_ensign_meat.zw).xyz; +warp_18=` float3 c2 = tex2D(sampler_smalltiled_ensign_meat, +warp_19=` uv2*texsize.xy*texsize_smalltiled_ensign_meat.zw).xyz; +warp_20=` c = lerp(c, c2, t); +warp_21=` c *= saturate(rad*1.3)*1.1; //darken @ center +warp_22=` ret = lerp(ret, c, 0.15); +warp_23=` } +warp_24=` +warp_25=` // darken over time +warp_26=` ret *= 0.80; //or try: ret -= 0.004; +warp_27=` +warp_28=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(tex2D(sampler_fc_main, uv_y).x*pow(hue_shader.zxy,2), +comp_9=` lerp(pow(hue_shader,4)*1.2,3,GetPixel(uv).z), +comp_10=` GetBlur1(uv).y); +comp_11=`} +comp_12=` diff --git a/presets/presets_tryptonaut/Stahlregen & fishbrain + geiss + martin - Flowercraft.milk b/presets/presets_tryptonaut/Stahlregen & fishbrain + geiss + martin - Flowercraft.milk new file mode 100755 index 0000000000..edee0cc663 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & fishbrain + geiss + martin - Flowercraft.milk @@ -0,0 +1,344 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.31060 +fShader=0.000 +zoom=0.98030 +rot=0.00000 +cx=0.650 +cy=0.350 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99999 +sy=0.99999 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.075 +ib_r=0.200 +ib_g=0.200 +ib_b=0.200 +ib_a=0.050 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=treb_mem = 0.25*treb_mem+.25*treb_att; +per_frame_2= +per_frame_3=wave_r = 0.7 + 0.4*sin((time+treb_mem)*0.133); +per_frame_4=wave_g = 0.7 + 0.4*sin((time+treb_mem)*0.2333); +per_frame_5=wave_b = 0.7 + 0.4*cos((time+treb_mem)*0.3533); +per_frame_6= +per_frame_7=ib_r = wave_r; +per_frame_8=ib_g = wave_g; +per_frame_9=ib_b = wave_b; +per_frame_10= +per_frame_11=q32 = wave_r; +per_frame_12=q31 = wave_g; +per_frame_13=q30 = wave_b; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.024; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=`float3 ret1 = 0; +comp_10=`int anz = 5; +comp_11=`int n = 0; +comp_12=`while (n <= anz) { +comp_13=` ang2 = 6.28*n/anz; +comp_14=` c = cos(ang2); +comp_15=` s = sin(ang2); +comp_16=` uv2.x = uv.x*c - uv.y*s; +comp_17=` uv2.y = uv.x*s + uv.y*c; +comp_18=` +comp_19=` ret1 = max(ret1,tex2D(sampler_main, uv2 + 0.5+.1*q1)); +comp_20=`n++; +comp_21=`} +comp_22=` +comp_23=`ret1 = (ret1 - rad/2) * (1+slow_roam_cos.xyz/2); +comp_24=` +comp_25=`float3 noise = tex2D (sampler_noise_hq,uv*8+lum(ret1)/8)+.15; +comp_26=` +comp_27=`hue_shader = (hue_shader*4)-2.8; +comp_28=`ret1 = max(ret1*float3(q32,q31,q30),hue_shader*lum(noise)/6); +comp_29=` +comp_30=`//ret = lerp(ret, lum(ret), -5); +comp_31=` +comp_32=`ret = ret1*2.25-.05; +comp_33=` +comp_34=`//ret *=; +comp_35=`} +comp_36=` +comp_37=` diff --git a/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Even More Fractals for Hexcollie (Reflecto Fcukup).milk b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Even More Fractals for Hexcollie (Reflecto Fcukup).milk new file mode 100755 index 0000000000..6070551260 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Even More Fractals for Hexcollie (Reflecto Fcukup).milk @@ -0,0 +1,374 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.630 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 zoom = 1+q1; +warp_4=`float2 cntr = float2(0,0); +warp_5=`float2 c = float2(-0.12,0.74); +warp_6=`float2 my_uv = (uv-0.5-cntr)*zoom; +warp_7=`float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); +warp_8=`float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); +warp_9=`float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_10=`my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; +warp_11=` +warp_12=` +warp_13=`ret = tex2D( sampler_fc_main, my_uv - floor(my_uv) )*0.94; +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv0 = uv; +comp_5=`uv *=2 ; +comp_6=`float2 m = floor(frac(uv*0.5)*2); +comp_7=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_8=` uv = float2(rad,uv.y); +comp_9=` +comp_10=` +comp_11=` float2 uv_echo = (uv.xx- 0.5)*1.000*float2(-1,1) + 0.5; +comp_12=` ret = tex2D(sampler_main, uv.xy).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_13=` float3 ret2 = tex2D(sampler_main, uv_echo).xyz*+saturate(GetBlur2(uv_echo)*2.8 - 0.13); +comp_14=` ret = abs((.1+ret)-(.1+ret2)); +comp_15=` ret *= ret; //darken +comp_16=` ret *= float3(.9,1.6,2.3); +comp_17=` ret *= 4+bass_att; //gamma +comp_18=` //ret *= 2; +comp_19=`// ret = pow(ret,1-ret); +comp_20=` // ret -= .8*lum(1-GetPixel(uv0)); +comp_21=`// ret = .5*lum(ret); +comp_22=`// ret = max(ret3,.8*lerp(ret3,ret.zxy,.75)); +comp_23=` ret *= 1.5; +comp_24=` +comp_25=`} diff --git a/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Fractal Feedback (for Hexcollie).milk b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Fractal Feedback (for Hexcollie).milk new file mode 100755 index 0000000000..d6f9faa511 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + Rovastar + Shifter - Fractal Feedback (for Hexcollie).milk @@ -0,0 +1,355 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=2.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.224 +fWaveScale=3.672 +fWaveSmoothing=0.666 +fWaveParam=0.100 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.100 +wave_g=0.100 +wave_b=0.100 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=1.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=3.00000 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.300 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.70653 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.800 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3); +shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1); +shape_1_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.70653 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.800 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_per_frame1=x = x + 0.05*sin(time*2.17); +shape_2_per_frame2=y = y + 0.03*sin(time*1.83); +shape_2_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.16122 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.560 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=x = x + 0.2*sin(time*1.14); +shape_3_per_frame2=y = y + 0.1*sin(time*0.93+2); +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=warp=0 +per_frame_init_9= +per_frame_1=zoom=1; +per_frame_2=//krash's beat detection code +per_frame_3=volume = 0.3*(bass+mid+att); +per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_7=peakbass_att = max(bass_att,peakbass_att); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_13=beatcounter = beatcounter + beat; +per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); +per_frame_15=flip = 2*mode-1; +per_frame_16=monitor=flip; +per_frame_17=q8=flip; +per_frame_18= +per_frame_19=angadv=angadv+beat; +per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); +per_frame_21=q7=angadv; +per_frame_22= +per_frame_23= +per_frame_24=decay=0.95; +per_frame_25=zoom=1.002; +per_frame_26= +per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_28=vol=vol*vol; +per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); +per_frame_30= +per_frame_31=q1=mtime*0.4; +per_frame_32= +per_frame_33=warp=0.0; +per_frame_34= +per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; +per_frame_36=cy=sin(mtime*0.33); +per_frame_37=cys=sign(cy); +per_frame_38=cy=cy*cy*cys; +per_frame_39=cy=cy*0.4+0.5; +per_frame_40= +per_frame_41=//cx=sin(time)*0.5+0.5; +per_frame_42=//cy=cos(time)*0.5+0.5; +per_frame_43=//cx=0.5; +per_frame_44=//cy=0.5; +per_frame_45=rot=sin(time*0.25)*0.31; +per_frame_46= +per_frame_47= +per_frame_48=q23 = rand(1000)/1000; +per_frame_49=q24 = rand(1000)/1000; +per_frame_50=q25 = (rand(1000)/1000)*6.28; +per_frame_51=q26 = q25 - 3.14; +per_frame_52=q27 = (rand(1000)/8000)+0.1; +per_frame_53= +per_frame_54=q28 = rand(1000)/1000; +per_frame_55=q29 = rand(1000)/1000; +per_frame_56=q30 = (rand(1000)/1000)*6.28; +per_frame_57=q31 = q30 - 3.14; +per_frame_58=q32 = (rand(1000)/8000)+0.1; +per_pixel_1=//tm=time+(sin(time)*rad); +per_pixel_2=//var=tan(time)*treb; +per_pixel_3=tbr=0.7+treb*0.3; +per_pixel_4=var=-2*tbr*0.75; +per_pixel_5= +per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; +per_pixel_7=star=sin(ang*q7)*tbr; +per_pixel_8= +per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; +per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; +per_pixel_11= +per_pixel_12=//sx=zm; +per_pixel_13=//sy=zm; +per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; +per_pixel_15=sx=0.8;sy=sx; +per_pixel_16=//rot=star*0.01*tbr +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 zoom = 1+q1; +warp_4=`float2 cntr = float2(0,0); +warp_5=`float2 c = float2(-0.12,0.74); +warp_6=`float2 my_uv = (uv-0.5-cntr)*zoom; +warp_7=`float2 u2 = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y); +warp_8=`float2 cu2 = float2(u2.x*c.x - u2.y*c.y, u2.x*c.y + c.x*u2.y); +warp_9=`float denom = 1/((cu2.x+1)*(cu2.x+1)+cu2.y*cu2.y); +warp_10=`my_uv = float2(u2.x*(cu2.x+1)+u2.y*cu2.y,u2.y*(cu2.x+1)-u2.x*cu2.y)*denom; +warp_11=` +warp_12=` +warp_13=`ret = tex2D( sampler_fc_main, my_uv - floor(my_uv) )*0.94; +warp_14=`} diff --git a/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + martin + Rovastar - Tides (martin's metallics).milk b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + martin + Rovastar - Tides (martin's metallics).milk new file mode 100755 index 0000000000..467dba78b6 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & flexi + Geiss + martin + Rovastar - Tides (martin's metallics).milk @@ -0,0 +1,268 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000 +fWaveScale=0.010 +fWaveSmoothing=0.750 +fWaveParam=-0.200 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=3.434 +fWarpScale=1.295 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06662 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.11284 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.53742 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.72509 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=zoom = 1.005; +per_frame_2=wave_a = 0; +per_frame_3=mv_g = 0.45 + 0.3*sin(time*1.33)+0.25*sin(treb); +per_frame_4=mv_r = 0.45 + 0.3*sin(time*1.13)+0.25*(0.33*(bass+treb+mid)); +per_frame_5=mv_b = 0.45 + 0.3*sin(time*1.23)+0.25*sin(bass); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // this vector points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*2.3)); +warp_11=` ret = max(ret, tex2D(sampler_main, uv-v*2.3)); +warp_12=` +warp_13=` // darken over time +warp_14=` ret *= 0.97; +warp_15=` +warp_16=` // add noise +warp_17=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_18=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/Stahlregen & flexi - mash0000 - engage the mind in dissolving crusts.milk b/presets/presets_tryptonaut/Stahlregen & flexi - mash0000 - engage the mind in dissolving crusts.milk new file mode 100755 index 0000000000..c0ff30805b --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen & flexi - mash0000 - engage the mind in dissolving crusts.milk @@ -0,0 +1,357 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=2.630 +fWaveSmoothing=0.360 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.050 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=44 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03347 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=fran = 1; +shape_0_init2=xs = 1; +shape_0_init3=ys = 1; +shape_0_init4=xm = 0.5; +shape_0_init5=ym = 0.5; +shape_0_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_0_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_0_per_frame3= +shape_0_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.4 + 0.6*cos(time*0.62)); +shape_0_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.5 + 0.5*cos(time*0.78)); +shape_0_per_frame6= +shape_0_per_frame7=x = xm; +shape_0_per_frame8=y = ym; +shape_0_per_frame9= +shape_0_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_0_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_0_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_0_per_frame13=r2 = r; g2 = g; b2 = b; +shape_0_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03347 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=fran = 1; +shape_1_init2=xs = 1; +shape_1_init3=ys = 1; +shape_1_init4=xm = 0.5; +shape_1_init5=ym = 0.5; +shape_1_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_1_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_1_per_frame3= +shape_1_per_frame4=xm = xm + 0.03*xs*(sin(time*0.53)*0.6 + 0.4*cos(time*0.62)); +shape_1_per_frame5=ym = ym + 0.03*ys*(sin(time*0.29)*0.7 + 0.3*cos(time*0.78)); +shape_1_per_frame6= +shape_1_per_frame7=x = xm; +shape_1_per_frame8=y = ym; +shape_1_per_frame9= +shape_1_per_frame10=r = 0.5 + 0.25*sin(x*12) + 0.25*sin(y*3); +shape_1_per_frame11=g = 0.5 + 0.25*sin(x*7) + 0.25*sin(y*32); +shape_1_per_frame12=b = 0.5 + 0.25*sin(x*21) + 0.25*sin(y*16); +shape_1_per_frame13=r2 = r; g2 = g; b2 = b; +shape_1_per_frame14=rad = 0.2*(bass_att + mid_att + treb_att)/3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03347 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=fran = 1; +shape_2_init2=xs = 1; +shape_2_init3=ys = 1; +shape_2_init4=xm = 0.5; +shape_2_init5=ym = 0.5; +shape_2_per_frame1=xs = xs*(1 - 2*above(xm,0.99) - 2*below(xm,0.01)); +shape_2_per_frame2=ys = ys*(1 - 2*above(ym,0.99) - 2*below(ym,0.01)); +shape_2_per_frame3= +shape_2_per_frame4=xm = xm + 0.03*xs*(sin(time*0.35)*0.5 + 0.5*cos(time*0.87)); +shape_2_per_frame5=ym = ym + 0.03*ys*(sin(time*0.92)*0.3 + 0.7*cos(time*0.26)); +shape_2_per_frame6= +shape_2_per_frame7=x = xm; +shape_2_per_frame8=y = ym; +shape_2_per_frame9= +shape_2_per_frame10=r = 0.5 + 0.5*sin(time*0.25); +shape_2_per_frame11=g = 0.5 + abs(r)*sin(time*0.5); +shape_2_per_frame12=b = 0.5 + abs(g)*sin(time); +shape_2_per_frame13=r2 = r; g2 = g; b2 = b; +shape_2_per_frame14=rad = 1.6*(bass_att + mid_att + treb_att)/3; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*12; +warp_5=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_6=` float1 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ).y; +warp_7=` float1 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ).y; +warp_8=` uv_y = uv_y + float2(dx,dy)*texsize.zw*2; +warp_9=` +warp_10=` // add noise: +warp_11=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_12=` uv_y += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_13=` +warp_14=` +warp_15=` ret.y = tex2D( sampler_fc_main, uv_y).y; +warp_16=` ret.y += (ret.y - GetBlur1(uv_y).y - 0.1)*.01 -0.004; +warp_17=` +warp_18=` float2 uv_bg = uv + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*2; +warp_19=` +warp_20=`ret.x = GetPixel(uv_bg).x - 0.004; +warp_21=` +warp_22=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Flexi - dots (layered).milk b/presets/presets_tryptonaut/Stahlregen + Flexi - dots (layered).milk new file mode 100755 index 0000000000..c28001f1fc --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Flexi - dots (layered).milk @@ -0,0 +1,273 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=5.278 +fWarpScale=0.010 +fZoomExponent=1.47412 +fShader=0.000 +zoom=1.03030 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=13 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = if(equal(q3,3),1,0); +shape_0_per_frame2=a = trans; +shape_0_per_frame3=a2 = trans; +shape_0_per_frame4=border_a = trans; +shape_0_per_frame5= +shape_0_per_frame6=x = q1 + rand(15)*0.01*bass_att*if(equal(rand(2),1),1,-1); +shape_0_per_frame7=y = q2 + rand(15)*0.01*bass_att*if(equal(rand(2),1),1,-1); +shape_0_per_frame8=rad = .09 + .002*rand(10); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=13 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = if(equal(q3,6),1,0); +shape_1_per_frame2=a = trans; +shape_1_per_frame3=a2 = trans; +shape_1_per_frame4=border_a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = q1 + rand(15)*0.01*mid_att*if(equal(rand(2),1),1,-1); +shape_1_per_frame7=y = q2 + rand(15)*0.01*mid_att*if(equal(rand(2),1),1,-1); +shape_1_per_frame8=rad = .09 + .002*rand(10); +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=13 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = if(equal(q3,9),1,0); +shape_2_per_frame2=a = trans; +shape_2_per_frame3=a2 = trans; +shape_2_per_frame4=border_a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = q1 + rand(15)*0.01*treb_att*if(equal(rand(2),1),1,-1); +shape_2_per_frame7=y = q2 + rand(15)*0.01*treb_att*if(equal(rand(2),1),1,-1); +shape_2_per_frame8=rad = .09 + .002*rand(10); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=count = if(below(count,9),count+1,0); +per_frame_2= +per_frame_3=q1 = 0.5; +per_frame_4=q2 = 0.5; +per_frame_5=q3 = count; +per_frame_6= +per_frame_7=zoom = 1 + 0.065*bass_att+0.05*bass; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv1 = lerp(uv_orig,uv,1); //equals uv +warp_4=`float2 uv2 = lerp(uv_orig,uv,0.1); // 20% of uv +warp_5=`float2 uv3 = lerp(uv_orig,uv,0.2); //20% of uv but in the opposite direction +warp_6=` +warp_7=`ret.x = GetPixel(uv1).x; +warp_8=`ret.y = GetPixel(uv2).y; +warp_9=`ret.z = GetPixel(uv3).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret *= 0.9; //or try: ret -= 0.004; +warp_13=`} +comp_1=`sampler sampler_rand00_smalltiled; +comp_2=`shader_body +comp_3=`{ +comp_4=`ret = tex2D(sampler_rand00_smalltiled, frac(1-GetBlur2(uv).yx*0.6 + time*float2(0.057,.036))) +comp_5=`*(1+GetPixel(uv).x + GetBlur1(uv).y)*0.4; +comp_6=` +comp_7=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Flexi - gimme color (Bubble Spinner Mix).milk b/presets/presets_tryptonaut/Stahlregen + Flexi - gimme color (Bubble Spinner Mix).milk new file mode 100755 index 0000000000..3589afe4e3 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Flexi - gimme color (Bubble Spinner Mix).milk @@ -0,0 +1,328 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.311 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.19913 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01359 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.700 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=0.030 +ib_size=0.500 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.16188 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=25.12601 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.19120 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//ang = q1; +shape_0_per_frame2=//rad = 1.6-.2*treb_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.420 +shapecode_1_y=0.300 +shapecode_1_rad=0.39310 +shapecode_1_ang=0.94248 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.82770 +shapecode_1_r=0.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=0.920 +shapecode_1_r2=0.600 +shapecode_1_g2=0.300 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang = -0.5*q1; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.420 +shapecode_2_y=0.300 +shapecode_2_rad=0.10783 +shapecode_2_ang=0.94248 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.82770 +shapecode_2_r=0.300 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=0.920 +shapecode_2_r2=0.600 +shapecode_2_g2=0.300 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1= +per_frame_2=// buffering bass, mid and treb +per_frame_3= +per_frame_4=db = 0.6*db+.25*bass_att; +per_frame_5=dm = 0.6*dm+.25*mid_att; +per_frame_6=dt = 0.6*dt+.25*treb_att; +per_frame_7= +per_frame_8=//buffering them again +per_frame_9=dbmt = 0.5*dbmt+.33*(db+dm+dt); +per_frame_10= +per_frame_11=//integrations over time +per_frame_12=vv = vv + .1 * dbmt; +per_frame_13=bb = bb +.1*db; +per_frame_14=mm = mm +.1*dm; +per_frame_15=tt = tt +.1*tt; +per_frame_16= +per_frame_17=q1 = 0.5*vv; +per_frame_18= +per_frame_19=//so I heard these things were slow as hell in the shaders... +per_frame_20=q2 = sin(q1); +per_frame_21=q3 = cos(q1); +per_frame_22= +per_frame_23=q4 = tt-bb+.15*vv; +per_frame_24=q5 = bb-tt+.15*vv; +per_frame_25= +per_frame_26=//mhhm, color cycling... +per_frame_27= +per_frame_28=q6 = .5+.5*sin(0.15*q1); +per_frame_29=q7 = .5+.5*cos(0.21*q1); +per_frame_30=q8 = .5+.3*sin(0.05*q1)+.2*cos(0.3*q1); +per_frame_31=q9 = .3+.7*sin(0.27*q1); +per_pixel_1=vx = 0.25+cos(q4*0.2)*1; +per_pixel_2=vy = 0.25+sin(q5*0.2)*1; +per_pixel_3=z = 0; +per_pixel_4=x = x - vx; +per_pixel_5=y = y - vy; +per_pixel_6= +per_pixel_7=d = q1*0.1; +per_pixel_8=xx = sin(d)*x + cos(d)*y; +per_pixel_9=yy = cos(d)*x - sin(d)*y; +per_pixel_10= +per_pixel_11=x = xx; +per_pixel_12=y = yy; +per_pixel_13= +per_pixel_14=cx = .2+.4*sin(0.2*q3); +per_pixel_15=cy = .5+.1*tan(q2); +per_pixel_16=cz = 0.5+.2*sin(0.1*q1); +per_pixel_17= +per_pixel_18=zoom = 0.32; +per_pixel_19=w = 1/zoom*(1+sqrt(sqr(z-cz) + sqr(x-cx)+sqr(y-cy))); +per_pixel_20=dx = -x*w;// + w*y; +per_pixel_21=dy = -y*w ;// - w*x; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_5=`ret.x = tex2D( sampler_fc_main, uv_m ).x*0.5; +warp_6=` +warp_7=` +warp_8=`// Fractal calculation in the green color channel +warp_9=`float2 zoom =1.7; +warp_10=`float2 c = float2(0.3875,0.73); +warp_11=` +warp_12=`float2 my_uv2 = (uv_orig-0.5)*zoom; +warp_13=`my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_14=` +warp_15=`ret.y = tex2D( sampler_fc_main, my_uv2).y; +warp_16=` +warp_17=`//Fade-out on all channels... +warp_18=`ret = (ret -.02)*.98; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//I'm too lazy to use a custom float here... +comp_5=`rand_preset = float4(q6,q7,q8,q9); +comp_6=` +comp_7=`// coloration of the red color channel +comp_8=`ret = float3(1,1,1)*GetBlur3(uv).x; +comp_9=`ret = lerp( ret, rand_preset.yzx, GetBlur2(uv).x*2); +comp_10=`ret = lerp( ret, max(rand_preset.yxz*2,1), GetBlur1(uv).x*0.5); +comp_11=`ret = lerp( ret, -0.1*rand_preset.zwy, GetPixel(uv).x); +comp_12=` +comp_13=`//spinning uv coordinates! (q2/3 are sin/cos calculations) +comp_14=`float2 uv2 = uv-.5; +comp_15=`uv2 = float2((uv2.x)*q3 - (uv2.y) * q2,(uv2.x)* q2 + (uv2.y) * q3)+.5; +comp_16=` +comp_17=`//adding some plasticity +comp_18=`float2 d = texsize.zw*4; +comp_19=`float1 dx = ( GetBlur1(uv2+float2(1,0)*d)-GetBlur1(uv2-float2(1,0)*d) ).y; +comp_20=`float1 dy = ( GetBlur1(uv2+float2(0,1)*d)-GetBlur1(uv2-float2(0,1)*d) ).y; +comp_21=`float2 uv_y = uv2+float2(dx,dy)*0.4; +comp_22=` +comp_23=`//coloration of the green color channel +comp_24=`ret = lerp(ret,float3(.8,.8,.8),tex2D(sampler_main,uv_y).y); +comp_25=`ret = lerp( ret, rand_preset, GetBlur2(uv2).y*2); +comp_26=`ret = lerp( ret, max(rand_preset*2,1.2), GetBlur1(uv_y).y*0.5); +comp_27=`ret = lerp( ret, -.01*rand_preset.xyw, GetPixel(uv2).y); +comp_28=` +comp_29=`//enable to check the warp shader +comp_30=`//ret = GetPixel(uv); +comp_31=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Flexi - psychotic flower gelatine burst.milk b/presets/presets_tryptonaut/Stahlregen + Flexi - psychotic flower gelatine burst.milk new file mode 100755 index 0000000000..058b232956 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Flexi - psychotic flower gelatine burst.milk @@ -0,0 +1,365 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=1 +shapecode_1_sides=20 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=16 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.09999 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=0.200 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=0.030 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.100 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.600 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.500 +shape_1_per_frame1=instance_counter = 6.28*instance/num_instance; +shape_1_per_frame2=x = q1 + 0.1 * (1/q5) * bass_att * sin(instance_counter); +shape_1_per_frame3=y = 1-q2 + 0.1 * (1/q4) * bass_att * cos(instance_counter); +shapecode_2_enabled=1 +shapecode_2_sides=20 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=16 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.09999 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=3.14159 +shapecode_2_tex_zoom=0.99979 +shapecode_2_r=0.000 +shapecode_2_g=0.050 +shapecode_2_b=0.000 +shapecode_2_a=0.500 +shapecode_2_r2=0.000 +shapecode_2_g2=0.010 +shapecode_2_b2=0.000 +shapecode_2_a2=0.100 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.600 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.500 +shape_2_per_frame1=instance_counter = 6.28*instance/num_instance; +shape_2_per_frame2=x = q1 + 0.1 * (1/q5) * mid_att * sin(instance_counter); +shape_2_per_frame3=y = 1-q2 + 0.1 * (1/q4) * mid_att * cos(instance_counter); +shapecode_3_enabled=0 +shapecode_3_sides=20 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=16 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.09999 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=3.14159 +shapecode_3_tex_zoom=0.99979 +shapecode_3_r=0.200 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=0.030 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.300 +shape_3_per_frame1=instance_counter = 6.28*instance/num_instance; +shape_3_per_frame2=x = q1 + 0.1 * (1/q5) * treb_att * sin(instance_counter); +shape_3_per_frame3=y = 1-q2 + 0.1 * (1/q4) * treb_att * cos(instance_counter); +per_frame_1=vol = bass*8 + mid*5 + treb*3; +per_frame_2=m = m*0.97 + vol*0.08; +per_frame_3=monitor = vol; +per_frame_4=beat = above(vol,res)*above(vol,m)*above(vol,16); +per_frame_5=diff = (1-beat)*diff + beat*(vol-res); +per_frame_6=res = beat*(vol + m*0.1) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +per_frame_7=res = max(0,res); +per_frame_8= +per_frame_9= +per_frame_10=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_11=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_12=q1 = x; +per_frame_13=q2 = y; +per_frame_14= +per_frame_15=q4 = aspectx; +per_frame_16=q5 = aspecty; +per_frame_17=wave_x = q1; +per_frame_18=wave_y = 1-q2; +per_pixel_1=cx = q1; +per_pixel_2=cy = q2; +per_pixel_3= +per_pixel_4=d = pow(sqrt(sqr(x-cx)+sqr(y-cy)),0.8); +per_pixel_5=r = 0.2; +per_pixel_6=v = 0.2; +per_pixel_7= +per_pixel_8=dx = (x - cx)*v*(d-r); +per_pixel_9=dy = (y - cy)*v*(d-r); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = tex2D(sampler_fc_main,uv_bg).x - (tex2D(sampler_fc_main,uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig +(uv_orig-uv) + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_21=`ret.z = tex2D(sampler_fc_main,uv_bg).z*0.94 - 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader,ret)); +comp_24=` ret *= hue_shader; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Geiss + Martin - Ouboros (Metal Finish 2).milk b/presets/presets_tryptonaut/Stahlregen + Geiss + Martin - Ouboros (Metal Finish 2).milk new file mode 100755 index 0000000000..73492f20d1 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Geiss + Martin - Ouboros (Metal Finish 2).milk @@ -0,0 +1,302 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.880 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=0.590 +fWaveSmoothing=0.000 +fWaveParam=0.700 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.42000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=//Spiral custom wave code by stahlregen ;) +wave_0_per_point2=amplitude = .1+.05*bass_att; +wave_0_per_point3=turns = 7.5; +wave_0_per_point4=centerx = .25; +wave_0_per_point5=centery = .35; +wave_0_per_point6=size = .5; +wave_0_per_point7=speed = -1; +wave_0_per_point8=x = centerx+(size-size*sample)*sin(speed*3.14*time+sample*6.28*turns)*(1+amplitude*(value1+value2)); +wave_0_per_point9=y = centery+(size-size*sample)*cos(speed*3.14*time+sample*6.28*turns)*(1+amplitude*(value1+value2)); +wavecode_1_enabled=1 +wavecode_1_samples=462 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.800 +wave_1_per_frame1=r = .5 + .4*sin(0.5*(time*1.13+bass)); +wave_1_per_frame2=g = .5 + .4*cos(0.5*(time*1.23+treb)); +wave_1_per_frame3=b = .5 + .4*sin(0.5*(time*1.33+mid)); +wave_1_per_point1=//Spiral custom wave code by stahlregen ;) +wave_1_per_point2=amplitude = .075+.025*bass_att; +wave_1_per_point3=turns = 7; +wave_1_per_point4=centerx = .5+.015*sin(time)+.015*cos(3.28+time*0.01); +wave_1_per_point5=centery = .5+.015*cos(time)+.015*sin(3.14+time*0.01); +wave_1_per_point6=size = .28; +wave_1_per_point7=speed = 1.25; +wave_1_per_point8=x = centerx+(size-size*sample)*sin(speed*3.14*time+sample*6.28*turns)*(1+amplitude*(value1+value2)); +wave_1_per_point9=y = centery+(size-size*sample)*cos(speed*3.14*time+sample*6.28*turns)*(1+amplitude*(value1+value2)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=71.13834 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.500 +shapecode_0_g=0.500 +shapecode_0_b=0.500 +shapecode_0_a=0.020 +shapecode_0_r2=0.500 +shapecode_0_g2=0.500 +shapecode_0_b2=0.500 +shapecode_0_a2=0.020 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03030 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.800 +shapecode_2_g=0.800 +shapecode_2_b=0.800 +shapecode_2_a=0.600 +shapecode_2_r2=0.700 +shapecode_2_g2=0.700 +shapecode_2_b2=0.700 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=zoom = 1.0+0.025*max(bass_att,treb_att); +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 8; //TWEAK +warp_7=` float str = 4; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` +warp_17=` // sample previous frame +warp_18=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_19=` +warp_20=`float2 uv_echo = (uv - 0.5)*float2(-1,-1) + 0.5; +warp_21=` +warp_22=` float4 lums2 = 0; +warp_23=` lums2.x = lum( MyGet(uv_echo + texsize.zw*d.xz) ); +warp_24=` lums2.y = lum( MyGet(uv_echo - texsize.zw*d.xz) ); +warp_25=` lums2.z = lum( MyGet(uv_echo + texsize.zw*d.zy) ); +warp_26=` lums2.w = lum( MyGet(uv_echo - texsize.zw*d.zy) ); +warp_27=` float2 grad2 = float2(lums2.x-lums2.y, lums2.z-lums2.w)*str*1000/grad_rad; +warp_28=` grad2 = (saturate(grad2*0.5+0.5)*2-1)*1.4; +warp_29=` +warp_30=`float3 ret2 = tex2D(sampler_fc_main, uv_echo + grad2*texsize.zw).xyz; +warp_31=` +warp_32=`ret = lerp(ret,ret2,0.50); +warp_33=` +warp_34=` // darken (decay) over time +warp_35=` ret *= 0.93; //or try: ret -= 0.004; +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1 - lack-of-torture torture mess.milk b/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1 - lack-of-torture torture mess.milk new file mode 100755 index 0000000000..e1da721048 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1 - lack-of-torture torture mess.milk @@ -0,0 +1,281 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.920 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.931 +fWaveScale=1.566 +fWaveSmoothing=0.000 +fWaveParam=0.540 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.905 +fWarpScale=1.817 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.98030 +rot=0.08000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19986 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.100 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78430 +shapecode_0_ang=0.25133 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99990 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = 3.14 + 1.57*sin(time)*sin(time); +shape_0_per_frame2=rad = 0.5 + 0.15*bass_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.17987 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=1.000 +shapecode_2_rad=0.19285 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7=rot = 0.1*(sin(treb)*sin(treb)); +per_frame_8=vol=bass+treb+mid; +per_frame_9=q11=-2+sin(time)*.5+vol; +per_frame_10=q12=-2+sin(time)*.5+vol; +per_frame_11=q29=(vol)*1; +per_frame_12=q30=vol*1.5; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 pixelsize = texsize.zw; +warp_4=`float2 uvm = uv; +warp_5=` +warp_6=`float2 noise_uv = uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=`float4 noiseVal = tex2D(sampler_noise_lq, noise_uv); +warp_8=` +warp_9=`ret.xyz = saturate(tex2D( sampler_pw_main,uvm).xyz*float3(1,1,1) - float3(.0,.0,.0)); +warp_10=`ret.xyz = tex2D( sampler_pw_main,uvm).xyz; +warp_11=` +warp_12=` +warp_13=`float3 rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.xy-.5)*12*pixelsize).xyz; +warp_14=`if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_15=`ret.xy = rsamp.xy; +warp_16=`} +warp_17=` +warp_18=`rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.zw-.5)*48*pixelsize).xyz; +warp_19=`if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_20=`ret.xy = rsamp.xy; +warp_21=`} +warp_22=` +warp_23=`ret.z = tex2D(sampler_fw_main,ret.xy).z; +warp_24=` +warp_25=`ret.z += q29*.005; +warp_26=`if(ret.z+ret.y+ret.x<.9)ret*=.1; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_6=` float2 light_pos = float2(q11,q12); +comp_7=` float3 col = float3(4,4,4); +comp_8=` float c = 4; +comp_9=` float dd = 16; +comp_10=` float3 plastic; +comp_11=` plastic.x = col.x/(1+dd*pow(length( uv - float2(dx.x,dy.x)*c - light_pos),0.5)); +comp_12=` plastic.y = col.y/(1+dd*pow(length( uv - float2(dx.y,dy.y)*c - light_pos),0.5)); +comp_13=` plastic.z = col.z/(1+dd*pow(length( uv - float2(dx.z,dy.z)*c - light_pos),0.5)); +comp_14=` +comp_15=` ret = plastic*GetPixel(uv)*1.5; +comp_16=` +comp_17=` +comp_18=`} diff --git a/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1.milk b/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1.milk new file mode 100755 index 0000000000..c358ecf806 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Geiss - Old school, baby! (Flower V2)_1.milk @@ -0,0 +1,261 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.920 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.931 +fWaveScale=1.566 +fWaveSmoothing=0.000 +fWaveParam=0.540 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.905 +fWarpScale=1.817 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.98030 +rot=0.08000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19986 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.500 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.100 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78430 +shapecode_0_ang=0.25133 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.99990 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = 3.14 + 1.57*sin(time)*sin(time); +shape_0_per_frame2=rad = 0.5 + 0.15*bass_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.17987 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=1.000 +shapecode_2_rad=0.19285 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7=rot = 0.1*(sin(treb)*sin(treb)); +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` ret *= 1.3; +comp_26=` ret *= hue_shader*4-2; +comp_27=` +comp_28=`} +comp_29=` +comp_30=` diff --git a/presets/presets_tryptonaut/Stahlregen + Unchained - Psychedelic Flower Kung Fu (Corrupt).milk b/presets/presets_tryptonaut/Stahlregen + Unchained - Psychedelic Flower Kung Fu (Corrupt).milk new file mode 100755 index 0000000000..f678610d3c --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + Unchained - Psychedelic Flower Kung Fu (Corrupt).milk @@ -0,0 +1,257 @@ +[preset00] +fRating=3.000000 +fGammaAdj=3.520 +fDecay=0.955 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=1.059 +fWaveScale=0.706 +fWaveSmoothing=0.126 +fWaveParam=-0.280 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.350 +fWarpAnimSpeed=5.278 +fWarpScale=0.010 +fZoomExponent=2.00673 +fShader=1.000 +zoom=1.12682 +rot=-0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=22 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12953 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = if(equal(q3,3),.15,0); +shape_0_per_frame2=a = trans; +shape_0_per_frame3=a2 = trans; +shape_0_per_frame4=border_a = 0; +shape_0_per_frame5= +shape_0_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_0_per_frame7=x = q1 + (.1+0.1*treb_att) * (1/q5) * sin(instance_counter); +shape_0_per_frame8=y = q2 + (.1+0.1*treb_att) * (1/q4) * cos(instance_counter); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=22 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12953 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = if(equal(q3,6),.15,0); +shape_1_per_frame2=a = trans; +shape_1_per_frame3=a2 = trans; +shape_1_per_frame4=border_a = 0; +shape_1_per_frame5= +shape_1_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_1_per_frame7=x = q1 + (.1+0.1*mid_att) * (1/q5) * sin(instance_counter); +shape_1_per_frame8=y = q2 + (.1+0.1*mid_att) * (1/q4) * cos(instance_counter); +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=22 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.12953 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = if(equal(q3,9),.15,0); +shape_2_per_frame2=a = trans; +shape_2_per_frame3=a2 = trans; +shape_2_per_frame4=border_a = 0; +shape_2_per_frame5= +shape_2_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_2_per_frame7=x = q1 + (.1+0.1*bass_att) * (1/q5) * sin(instance_counter); +shape_2_per_frame8=y = q2 + (.1+0.1*bass_att) * (1/q4) * cos(instance_counter); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.25481 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=count = if(below(count,9),count+1,0); +per_frame_2= +per_frame_3=q1 = .5; +per_frame_4=q2 = .5; +per_frame_5=q3 = count; +per_frame_6=q4 = aspectx; +per_frame_7=q5 = aspecty; +per_frame_8=//zoom = .99 + 0.1*bass_att+0.05*bass; +per_pixel_1=timer_a=10*sin(time); +per_pixel_2=timer_b=10*sin(time*.5); +per_pixel_3=ripple_x=cos(x*timer_a-timer_b)*bass_att; +per_pixel_4=ripple_y=cos(y*timer_a-timer_b)*treb_att; +per_pixel_5=ripple_r=cos(rad*timer_b-timer_a)*mid_att; +per_pixel_6=ripple=ripple_x+ripple_y+ripple_r; +per_pixel_7=zoom=zoom+ripple*.1; diff --git a/presets/presets_tryptonaut/Stahlregen + martin + others - Psychedelic Metal Flower.milk b/presets/presets_tryptonaut/Stahlregen + martin + others - Psychedelic Metal Flower.milk new file mode 100755 index 0000000000..0285bd3586 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen + martin + others - Psychedelic Metal Flower.milk @@ -0,0 +1,318 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.700 +fDecay=0.955 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=1.059 +fWaveScale=0.706 +fWaveSmoothing=0.126 +fWaveParam=-0.280 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.350 +fWarpAnimSpeed=5.278 +fWarpScale=0.010 +fZoomExponent=0.29999 +fShader=0.000 +zoom=1.05101 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=22 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12953 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = if(equal(q3,3),.15,0); +shape_0_per_frame2=a = trans; +shape_0_per_frame3=a2 = trans; +shape_0_per_frame4=border_a = 0; +shape_0_per_frame5= +shape_0_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_0_per_frame7=x = q1 + (.1+0.1*treb_att) * (1/q5) * sin(instance_counter); +shape_0_per_frame8=y = q2 + (.1+0.1*treb_att) * (1/q4) * cos(instance_counter); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=22 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12953 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = if(equal(q3,6),.15,0); +shape_1_per_frame2=a = trans; +shape_1_per_frame3=a2 = trans; +shape_1_per_frame4=border_a = 0; +shape_1_per_frame5= +shape_1_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_1_per_frame7=x = q1 + (.1+0.1*mid_att) * (1/q5) * sin(instance_counter); +shape_1_per_frame8=y = q2 + (.1+0.1*mid_att) * (1/q4) * cos(instance_counter); +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=22 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.12953 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = if(equal(q3,9),.15,0); +shape_2_per_frame2=a = trans; +shape_2_per_frame3=a2 = trans; +shape_2_per_frame4=border_a = 0; +shape_2_per_frame5= +shape_2_per_frame6=instance_counter = 3.14*instance*(2/(num_instance)); +shape_2_per_frame7=x = q1 + (.1+0.1*bass_att) * (1/q5) * sin(instance_counter); +shape_2_per_frame8=y = q2 + (.1+0.1*bass_att) * (1/q4) * cos(instance_counter); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.25481 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=count = if(below(count,9),count+1,0); +per_frame_2= +per_frame_3=q1 = .5; +per_frame_4=q2 = .5; +per_frame_5=q3 = count; +per_frame_6=q4 = aspectx; +per_frame_7=q5 = aspecty; +per_frame_8=//zoom = .99 + 0.1*bass_att+0.05*bass; +warp_1=`shader_body +warp_2=`{ +warp_3=` float1 d = 0.0009; +warp_4=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y; +warp_5=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y; +warp_6=` float2 my_uv = uv - float2(dx,dy)*0.01; +warp_7=` +warp_8=` +warp_9=` +warp_10=` float2 v = 0.01; +warp_11=` ret.y = tex2D( sampler_fc_main, my_uv-floor(my_uv)).y; +warp_12=` +warp_13=` +warp_14=` ret.y += (ret.y - GetBlur3(my_uv-floor(my_uv)).y)*.1; +warp_15=` ret.y += 0.006;//-GetBlur3(uv-floor(uv)).x*5; +warp_16=` +warp_17=` ret.y = lerp( ret.y, lum(ret).x, 0); +warp_18=`ret.x = ret.y; +warp_19=`ret.z = ret.y; +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` d = 0.01; +warp_24=` my_uv = float2(-dy,dx)*0.05; +warp_25=` +warp_26=`// dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).z; +warp_27=`// dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).z; +warp_28=` // my_uv += uv - float2(dx,dy)*0.005; +warp_29=` +warp_30=` +warp_31=` +warp_32=` v = 0.01; +warp_33=`// ret.z =tex2D( sampler_fw_main, my_uv - floor(my_uv)).z; +warp_34=` +warp_35=` +warp_36=` // ret.z += (ret.z - GetBlur3(my_uv-floor(my_uv)).z)*0.13; +warp_37=` //ret.z *= 0.95; +warp_38=`// ret.z += 0.03-GetBlur3(uv-floor(uv)).x - tex2D( sampler_main, my_uv - floor(my_uv)).y*0.05; +warp_39=` +warp_40=`// ret.x = tex2D( sampler_main, uv).x * 0.003; +warp_41=` +warp_42=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = lum(ret1)*rand_preset; +comp_22=`} diff --git a/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_1.milk b/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_1.milk new file mode 100755 index 0000000000..3bf0a204f5 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_1.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560 +fDecay=0.985 +fVideoEchoZoom=1.193 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.006 +fWaveScale=0.081 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.905 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05101 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=1.000 +ob_size=0.025 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.250 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.030 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=3.95841 +shapecode_0_tex_ang=2.38751 +shapecode_0_tex_zoom=0.74185 +shapecode_0_r=0.950 +shapecode_0_g=0.980 +shapecode_0_b=0.980 +shapecode_0_a=0.980 +shapecode_0_r2=0.980 +shapecode_0_g2=0.980 +shapecode_0_b2=0.980 +shapecode_0_a2=0.980 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = ang + 0.5*time; +shape_0_per_frame2=rad = 0.8 + 0.1*bass_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12824 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.300 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=1.000 +shapecode_2_rad=0.19285 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7=//rot = 0.1*(sin(treb)*sin(treb)); +per_frame_8= +per_frame_9=// Thanks a bunch to flexi (once again) for beat detection! +per_frame_10= +per_frame_11=vol = bass*8 + mid*4 + treb*2; +per_frame_12=vol = vol*above(vol,17); +per_frame_13=monitor = vol; +per_frame_14=beat = above(vol,res); +per_frame_15=diff = (1-beat)*diff + beat*(vol-res); +per_frame_16=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_17=res = max(0,res); +per_frame_18=monitor = res; +per_frame_19= +per_frame_20=x = if(beat,int(rand(60))*0.01 + 0.2,x); +per_frame_21=y = if(beat,int(rand(60))*0.01 + 0.2,y); +per_frame_22=wave_mystery = if(above(x,y),0,-1); diff --git a/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_2.milk b/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_2.milk new file mode 100755 index 0000000000..8c8546b751 --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen - Old school, baby! (Spiral Ornament)_2.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.560 +fDecay=0.985 +fVideoEchoZoom=1.193 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.006 +fWaveScale=0.081 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.905 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05101 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=1.000 +ob_size=0.025 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.250 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.030 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=3.95841 +shapecode_0_tex_ang=2.38751 +shapecode_0_tex_zoom=0.74185 +shapecode_0_r=0.950 +shapecode_0_g=0.980 +shapecode_0_b=0.980 +shapecode_0_a=0.980 +shapecode_0_r2=0.980 +shapecode_0_g2=0.980 +shapecode_0_b2=0.980 +shapecode_0_a2=0.980 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = ang + 0.5*time; +shape_0_per_frame2=rad = 0.8 + 0.1*bass_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12824 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.300 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=1.000 +shapecode_2_rad=0.19285 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7=//rot = 0.1*(sin(treb)*sin(treb)); +per_frame_8= +per_frame_9=// Thanks a bunch to flexi (once again) for beat detection! +per_frame_10= +per_frame_11=vol = bass*8 + mid*4 + treb*2; +per_frame_12=vol = vol*above(vol,17); +per_frame_13=monitor = vol; +per_frame_14=beat = above(vol,res); +per_frame_15=diff = (1-beat)*diff + beat*(vol-res); +per_frame_16=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_17=res = max(0,res); +per_frame_18=monitor = res; +per_frame_19= +per_frame_20=x = if(beat,int(rand(60))*0.01 + 0.2,x); +per_frame_21=y = if(beat,int(rand(60))*0.01 + 0.2,y); +per_frame_22=wave_mystery = if(above(x,y),0,-1); diff --git a/presets/presets_tryptonaut/Stahlregen - Spiral Beats (Fluctuating Flowers).milk b/presets/presets_tryptonaut/Stahlregen - Spiral Beats (Fluctuating Flowers).milk new file mode 100755 index 0000000000..02d195194b --- /dev/null +++ b/presets/presets_tryptonaut/Stahlregen - Spiral Beats (Fluctuating Flowers).milk @@ -0,0 +1,258 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.803 +fWaveScale=0.060 +fWaveSmoothing=0.750 +fWaveParam=1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.14947 +fShader=1.000 +zoom=0.94204 +rot=0.00000 +cx=0.650 +cy=0.350 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99999 +sy=0.99999 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=1.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.21525 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.69327 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.900 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = 3.14*q1 + 3.14*q2*if(equal(q3,1),-1,1); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.45 + 0.45*sin((time+bass)*1.133); +per_frame_2=wave_g = 0.45 + 0.45*sin((time+bass)*1.333); +per_frame_3=wave_b = 0.45 + 0.45*sin((time+bass)*1.533); +per_frame_4= +per_frame_5=// Beat detection by martin! +per_frame_6= +per_frame_7=dec_med = pow (0.9, 30/fps); +per_frame_8=dec_slow = pow (0.99, 30/fps); +per_frame_9=beat = max (max (bass, mid), treb); +per_frame_10=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_11=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_12=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_13=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_14= +per_frame_15=x = if(is_beat,rand(60)*0.01 + 0.2,x); +per_frame_16=y = if(is_beat,rand(60)*0.01 + 0.2,y); +per_frame_17=z = if(is_beat,rand(2)-1,z); +per_frame_18=wave_mystery = if(above(x,y),0,-1); +per_frame_19=q1 = x; +per_frame_20=q2 = y; +per_frame_21=q3 = z; +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.003*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` ret += min(.1,(_qa.xyz*.25)); //gamma +comp_9=` ret -= .1; +comp_10=` ret *= 1.5; +comp_11=` //ret -= hue_shader; //old hue shader effect +comp_12=` ret *= ret; //darken +comp_13=` //ret = saturate(ret); +comp_14=`} diff --git a/presets/presets_tryptonaut/Studio Music - Cherished Desires.milk b/presets/presets_tryptonaut/Studio Music - Cherished Desires.milk new file mode 100755 index 0000000000..be4f7b8bc2 --- /dev/null +++ b/presets/presets_tryptonaut/Studio Music - Cherished Desires.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.947994 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.396500 +fWaveScale=0.969133 +fWaveSmoothing=0.666000 +fWaveParam=0.000100 +fModWaveAlphaStart=1.379900 +fModWaveAlphaEnd=1.020000 +fWarpAnimSpeed=2.000000 +fWarpScale=1.000000 +fZoomExponent=0.056700 +fShader=0.700000 +zoom=0.539300 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.819500 +sy=0.819545 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.010000 +ob_b=0.010000 +ob_a=0.950000 +ib_size=0.010000 +ib_r=0.010000 +ib_g=0.010000 +ib_b=0.500000 +ib_a=0.950000 +nMotionVectorsX=9.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = bass*.5; +per_frame_3=wave_g = treb*.5; +per_frame_4=wave_b = mid*.5; +per_frame_5=decay = .99; +per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_7=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=zoom = 1.2+rad*.1; +per_pixel_2=zoomexp =1 - 1*sin(rad*time*100); diff --git a/presets/presets_tryptonaut/Studio Music and Unchained - Rapid Alteration.milk b/presets/presets_tryptonaut/Studio Music and Unchained - Rapid Alteration.milk new file mode 100755 index 0000000000..4b532f7142 --- /dev/null +++ b/presets/presets_tryptonaut/Studio Music and Unchained - Rapid Alteration.milk @@ -0,0 +1,103 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.983000 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.372036 +fWaveSmoothing=0.387000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.334503 +fWarpScale=1.327831 +fZoomExponent=1.026514 +fShader=1.000000 +zoom=1.374512 +rot=0.020000 +cx=0.170000 +cy=0.830001 +dx=0.000000 +dy=0.000000 +warp=1.779457 +sx=0.990099 +sy=1.000000 +wave_r=0.270000 +wave_g=0.270000 +wave_b=0.270000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.360000 +ob_g=0.360000 +ob_b=0.360000 +ob_a=0.580000 +ib_size=0.010000 +ib_r=0.450000 +ib_g=0.450001 +ib_b=0.449900 +ib_a=0.530000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_frame_39=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_40=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_41=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_42=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_43=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/StudioMusic & Unchained - Entity.milk b/presets/presets_tryptonaut/StudioMusic & Unchained - Entity.milk new file mode 100755 index 0000000000..0d1835e95e --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic & Unchained - Entity.milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=0.998099 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=7.740000 +fWaveScale=0.988200 +fWaveSmoothing=0.450000 +fWaveParam=0.300000 +fModWaveAlphaStart=1.359900 +fModWaveAlphaEnd=0.380000 +fWarpAnimSpeed=0.787543 +fWarpScale=1.327700 +fZoomExponent=1.332000 +fShader=0.500000 +zoom=1.195700 +rot=0.000000 +cx=0.050000 +cy=0.950000 +dx=0.000000 +dy=0.000000 +warp=3.753000 +sx=0.990000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.340001 +ib_size=0.005000 +ib_r=0.970000 +ib_g=0.500000 +ib_b=0.499900 +ib_a=0.500000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_frame_39=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_40=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_41=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_42=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_43=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/StudioMusic & Unchained - Minor Alteration.milk b/presets/presets_tryptonaut/StudioMusic & Unchained - Minor Alteration.milk new file mode 100755 index 0000000000..72f8dfd9a1 --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic & Unchained - Minor Alteration.milk @@ -0,0 +1,99 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.372036 +fWaveSmoothing=0.387000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.334503 +fWarpScale=1.327831 +fZoomExponent=1.026514 +fShader=0.400000 +zoom=1.374512 +rot=0.020000 +cx=0.170000 +cy=0.830001 +dx=0.000000 +dy=0.000000 +warp=1.779457 +sx=0.990099 +sy=1.000000 +wave_r=0.270000 +wave_g=0.270000 +wave_b=0.270000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.360000 +ob_g=0.360000 +ob_b=0.360000 +ob_a=0.580000 +ib_size=0.010000 +ib_r=0.450000 +ib_g=0.450001 +ib_b=0.449900 +ib_a=0.900000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.1*bor(bor(bass_changed,treb_changed),mid_changed)+(mid_thresh+bass_thresh+treb_thresh)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.25+.25*treb_residual; +per_frame_34=ib_size=.05+.04*bass_residual; +per_frame_35=ib_r = if(bass_flop,ob_b,.5+ 0.2*sin(time*0.5413)); +per_frame_36=ib_g = if(treb_flop,ob_g,.5 + 0.2*sin(time*0.6459)); +per_frame_37=ib_b = if(mid_flop,ob_r,.5 + 0.2*sin(time*0.4354)); +per_frame_38=rot = rot + 0.04*q1; +per_frame_39=zoom=max(0.98, 0.2+0.35*bass_thresh); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),zoom+q1*.05,zoom+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/StudioMusic & Unchained - So Much Love.milk b/presets/presets_tryptonaut/StudioMusic & Unchained - So Much Love.milk new file mode 100755 index 0000000000..056781bcfb --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic & Unchained - So Much Love.milk @@ -0,0 +1,287 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.350000 +fDecay=0.999000 +fVideoEchoZoom=1.006465 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.001574 +fWaveScale=0.728900 +fWaveSmoothing=0.783000 +fWaveParam=-0.140000 +fModWaveAlphaStart=0.760000 +fModWaveAlphaEnd=0.900001 +fWarpAnimSpeed=5.921029 +fWarpScale=1.095251 +fZoomExponent=1.570168 +fShader=0.650000 +zoom=0.970805 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.107093 +sx=1.078500 +sy=0.990000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.970000 +wavecode_0_enabled=0 +wavecode_0_samples=128 +wavecode_0_sep=2 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.749339 +wavecode_0_smoothing=0.250000 +wavecode_0_r=0.520000 +wavecode_0_g=0.410001 +wavecode_0_b=0.340001 +wavecode_0_a=0.970000 +wave_0_per_frame1=x=100*sin(time)*q2+.3; +wave_0_per_frame2=t1=cos(time)*q3; +wave_0_per_frame3=r = 0.5 + 0.5*sin(time*1.353 +3); +wave_0_per_frame4=b = 0.5 + 0.5*sin(time*1.561 + 2); +wave_0_per_frame5=g = 0.5 + 0.5*sin(time*1.213 + 4); +wave_0_per_point1=x = t8 + value1*0.7; +wave_0_per_point2=y = 0.5 + value2*0.7; +wave_0_per_point3=t1 = t1 + 0.01; +wave_0_per_point4=b = x; +wave_0_per_point5=a = 0.5 + 0.5*sin(time + t1*50); +wave_0_per_point6=a = a*a; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.370001 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.075209 +shapecode_0_ang=0.010000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.640000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.610000 +shapecode_0_border_r=0.460001 +shapecode_0_border_g=0.370001 +shapecode_0_border_b=0.600000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=x = 0.5 + 0.50*cos(q3*0.5) + 0.25*cos(time*6.5); +shape_0_per_frame2=y = 0.5 + 0.50*sin(q3*0.5) + 0.25*sin(time*6.5); +shape_0_per_frame3=r = 0.5 + 0.5*sin(time*1.713 + 2); +shape_0_per_frame4=g = 0.5 + 0.5*sin(time*1.063 + 3); +shape_0_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_0_per_frame6=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_0_per_frame7=g2 = 0.5 + 0.5*sin(time*1.056+ 1); +shape_0_per_frame8=b2 = 0.5 + 0.5*sin(time*1.038 + 3); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.089633 +shapecode_1_ang=0.030000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.210001 +shapecode_1_g=0.440000 +shapecode_1_b=0.230000 +shapecode_1_a=0.540000 +shapecode_1_r2=0.180000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.110000 +shapecode_1_a2=0.510000 +shapecode_1_border_r=0.150001 +shapecode_1_border_g=0.400001 +shapecode_1_border_b=0.480000 +shapecode_1_border_a=0.290000 +shape_1_per_frame1=ang = time*1.4; +shape_1_per_frame2=x = 0.5 + 0.16*cos(time*2.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.12*sin(time*2.3) + 0.04*sin(time*0.2); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.090001 +shapecode_2_ang=0.030000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.590000 +shapecode_2_g=0.430000 +shapecode_2_b=0.290000 +shapecode_2_a=0.560000 +shapecode_2_r2=0.160000 +shapecode_2_g2=0.400001 +shapecode_2_b2=0.540000 +shapecode_2_a2=0.530000 +shapecode_2_border_r=0.390001 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.350001 +shapecode_2_border_a=0.390000 +shape_2_per_frame1=x = 0.5 + 0.15*cos(q3*0.5) + 0.21*cos(time*7.5); +shape_2_per_frame2=y = 0.5 + 0.15*sin(q3*0.5) + 0.21*sin(time*7.5); +shape_2_per_frame3=r = 0.5 + 0.5*sin(time*1.713 + 1); +shape_2_per_frame4=g = 0.5 + 0.5*sin(time*1.563 + 3); +shape_2_per_frame5=b = 0.5 + 0.5*sin(time*1.654 + 2); +shape_2_per_frame6=r2 = 0.5 + 0.5*sin(time*1.885 + 3); +shape_2_per_frame7=g2 = 0.5 + 0.5*sin(time*1.556+ 2); +shape_2_per_frame8=b2 = 0.5 + 0.5*sin(time*1.638 + 4); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=sx=1; +per_frame_2=sy=1; +per_frame_3=warp=0; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_7=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_8=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_9=treb_changed=abs(bass_changed-equal(treb_thresh,2)); +per_frame_10=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_11=mid_changed=abs(bass_changed-equal(mid_thresh,2)); +per_frame_12=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_13=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_14=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_15=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_16=q1=mid_residual; +per_frame_17=q2=bass_residual; +per_frame_18=q3=treb_residual; +per_frame_19=q5=sin(pulse); +per_frame_20=q4=(1+1*above(q1,0))*(1+2*above(q2,0))*(1+4*above(q3,0))*(1+6*mid_changed*below(q5,0))*(1+10*below(q1,0))*(1+12*mid_changed*above(q5,0)); +per_frame_21=wave_r=if(equal(treb_changed,1),0+.2*q1,if(equal(bass_changed,1),.8+.2*q2,.6+.08*q5)); +per_frame_22=wave_g=if(equal(treb_changed,1),0,if(equal(mid_changed,1),0,.5+.5*q2)); +per_frame_23=wave_b=if(equal(treb_changed,1),.8+.2*q3,0); +per_frame_24=ob_r=if(bass_changed,treb_changed,wave_r); +per_frame_25=ob_b=if(treb_changed,mid_changedp,wave_b); +per_frame_26=ob_g=if(mid_changed,bass_changed,wave_g); +per_frame_27=ob_a=.03+.02*wave_r; +per_frame_28=ob_size=.05+.04*treb_residual; +per_frame_29=ob_size=bnot(q1%102)*.1; +per_frame_30=ib_r=if(bass_changed,ob_b,ob_g); +per_frame_31=ib_b=if(treb_changed,ob_g,ob_r); +per_frame_32=ib_g=if(mid_changed,ob_r,ob_b); +per_frame_33=ib_a=.03+.02*wave_g; +per_frame_34=ib_size=.05+.04*bass_residual; +per_frame_35=wave_mystery=bnot(q1%2)*.3-bnot(q1%11)*.3+.5*sin(pulse*q2); +per_frame_36=cx=cx+.5*q1; +per_frame_37=cy=cy+.5*q2; +per_frame_38=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_39=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_pixel_1=state=q4; +per_pixel_2=bend = cos(x*10*q1*bnot(state%7)-rad*10*q2*bnot(state%3)); +per_pixel_3=zoom = zoom+bend*.05*q3*bnot(state%5); +per_pixel_4=grid=abs(x*10-5)%2 + abs(y*10-5)%2; +per_pixel_5=sx=sx-equal(grid,bnot(state%2))*above(q1*q2*q3*q5,.8)*.9; +per_pixel_6=rot=if(above(zoom-1,.03+.03*q5)*bnot(below(q1*q2*q3,0)),q1,rot); +per_pixel_7=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_8=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_9=warp=warp+if(above(rad,.2166),sin(ang*rad),0); +per_pixel_10=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_11=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_12=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r; +per_pixel_13=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time); +per_pixel_14=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time); +per_pixel_15=crackdown = ((crack*2)*dx_r)*sin(33.75*time); +per_pixel_16=ripdown = ((rip*2)*dy_r)*sin(5.75*time); +per_pixel_17=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25; +per_pixel_18=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25; diff --git a/presets/presets_tryptonaut/StudioMusic & Unchained - State Of Discretion.milk b/presets/presets_tryptonaut/StudioMusic & Unchained - State Of Discretion.milk new file mode 100755 index 0000000000..b90eaf5b2c --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic & Unchained - State Of Discretion.milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.983000 +fVideoEchoZoom=0.998168 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.973828 +fWaveScale=1.329466 +fWaveSmoothing=0.450000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=0.999998 +fWarpScale=0.994977 +fZoomExponent=0.057600 +fShader=0.950000 +zoom=0.773282 +rot=0.000000 +cx=0.440000 +cy=0.440001 +dx=0.020000 +dy=0.000000 +warp=0.999100 +sx=0.990096 +sy=1.009997 +wave_r=0.350000 +wave_g=0.360000 +wave_b=0.400000 +wave_x=0.510000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.360000 +ob_g=0.500000 +ob_b=0.360001 +ob_a=0.959999 +ib_size=0.010000 +ib_r=0.450000 +ib_g=0.450001 +ib_b=0.500000 +ib_a=0.900000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_frame_39=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_40=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_41=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_42=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_43=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/StudioMusic & Unchained - Wrenched Fate.milk b/presets/presets_tryptonaut/StudioMusic & Unchained - Wrenched Fate.milk new file mode 100755 index 0000000000..20042ec7ed --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic & Unchained - Wrenched Fate.milk @@ -0,0 +1,100 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.999001 +fDecay=0.980000 +fVideoEchoZoom=0.998100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=64 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=13.378749 +fWaveScale=0.717349 +fWaveSmoothing=0.531000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.208100 +fWarpScale=1.263386 +fZoomExponent=0.111607 +fShader=0.509900 +zoom=0.054279 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.333300 +sx=0.999901 +sy=0.999901 +wave_r=0.250000 +wave_g=0.350000 +wave_b=0.700000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.250000 +ob_b=0.150000 +ob_a=0.970000 +ib_size=0.010000 +ib_r=0.100000 +ib_g=0.300000 +ib_b=0.500000 +ib_a=0.970000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.1*bor(bor(bass_changed,treb_changed),mid_changed)+(mid_thresh+bass_thresh+treb_thresh)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.25+.25*treb_residual; +per_frame_34=ib_size=.05+.04*bass_residual; +per_frame_35=ib_r = if(bass_flop,ob_b,.5+ 0.2*sin(time*0.5413)); +per_frame_36=ib_g = if(treb_flop,ob_g,.5 + 0.2*sin(time*0.6459)); +per_frame_37=ib_b = if(mid_flop,ob_r,.5 + 0.2*sin(time*0.4354)); +per_frame_38=rot = rot + 0.04*q1; +per_frame_39=zoom=max(0.98, 0.2+0.35*bass_thresh); +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),zoom+q1*.05,zoom+.07*cos(radix*10*q1))); +per_pixel_5=rot=if(equal(q1,1),rad*(sin(mid+treb)/7),rad*(sin(-mid-treb)/7)); diff --git a/presets/presets_tryptonaut/StudioMusic - Harmonic Bliss (elated mix).milk b/presets/presets_tryptonaut/StudioMusic - Harmonic Bliss (elated mix).milk new file mode 100755 index 0000000000..2b5a9a7961 --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic - Harmonic Bliss (elated mix).milk @@ -0,0 +1,98 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.008000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.916200 +fWaveScale=0.999400 +fWaveSmoothing=0.666000 +fWaveParam=-0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.079900 +fWarpAnimSpeed=0.941900 +fWarpScale=2.814595 +fZoomExponent=0.999600 +fShader=0.830000 +zoom=1.006500 +rot=0.000000 +cx=0.500001 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=3.947234 +sx=0.999600 +sy=0.999899 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.250000 +ob_g=0.650000 +ob_b=0.250000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.650000 +ib_g=0.250001 +ib_b=0.250001 +ib_a=1.000000 +nMotionVectorsX=11.999902 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_2=wave_g = cos(ff/mid)/2+0.5; +per_frame_3=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_7=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_8=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_9=ob_r=wave_r; +per_frame_10=ob_g=wave_g; +per_frame_11=ob_b=wave_b; +per_frame_12=mv_x = lastingbass*30+24; +per_frame_13=mv_y= madtreb*48+8; +per_frame_14=mv_r = 0.7-bass_att; +per_frame_15=mv_b = 0.6-treb_att; +per_frame_16=mv_g = 0.5-mid_att; +per_frame_17=ff = frame/100; +per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_19=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_pixel_1=q2=above(rad,.303); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); +per_pixel_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_6=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_7=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r; +per_pixel_8=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time); +per_pixel_9=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time); +per_pixel_10=crackdown = ((crack*2)*dx_r)*sin(3.75*time); +per_pixel_11=ripdown = ((rip*2)*dy_r)*sin(5.75*time); +per_pixel_12=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25; +per_pixel_13=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25; +per_pixel_14=pre_zoom=zoom-.07*acos(y*2-1)*sin(time*1.2*q1)*zoom-.07*acos(x*2-1)*sin(time*1.1*q1); +per_pixel_15=zoom=if(above(abs(zoom-1),.04),pre_zoom,.99); +per_pixel_16=rot=if(above(abs(zoom-1),2),-.4+.2*q1,0); diff --git a/presets/presets_tryptonaut/StudioMusic - It's Only Make Believe.milk b/presets/presets_tryptonaut/StudioMusic - It's Only Make Believe.milk new file mode 100755 index 0000000000..da60130d8f --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic - It's Only Make Believe.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.865441 +fWaveScale=69.200165 +fWaveSmoothing=0.792000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.980000 +fModWaveAlphaEnd=0.999999 +fWarpAnimSpeed=0.960959 +fWarpScale=6.948194 +fZoomExponent=2.699864 +fShader=0.700000 +zoom=0.012572 +rot=0.000000 +cx=0.500000 +cy=0.500001 +dx=0.000000 +dy=0.000000 +warp=10.040655 +sx=0.999989 +sy=0.999999 +wave_r=0.250000 +wave_g=0.250000 +wave_b=0.250000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.150000 +ob_g=0.350000 +ob_b=0.250000 +ob_a=0.970000 +ib_size=0.010000 +ib_r=0.350000 +ib_g=0.250000 +ib_b=0.150000 +ib_a=0.970000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.950000 +per_frame_1=ff = frame/100; +per_frame_2=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_3=wave_g = cos(ff/mid)/2+0.5; +per_frame_4=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_5=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_6=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_7=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_8=ob_r=wave_r; +per_frame_9=ob_g=wave_g; +per_frame_10=ob_b=wave_b; +per_frame_11=rot = rot + 0.180*( 0.60*sin(0.981*time) + 0.80*sin(0.279*time) ); +per_frame_12=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); diff --git a/presets/presets_tryptonaut/StudioMusic - Numerosity.milk b/presets/presets_tryptonaut/StudioMusic - Numerosity.milk new file mode 100755 index 0000000000..6ce7a4668c --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic - Numerosity.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.330231 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.501800 +fWaveScale=1.297700 +fWaveSmoothing=0.450000 +fWaveParam=0.020000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=0.517589 +fWarpScale=0.704400 +fZoomExponent=0.347586 +fShader=0.610000 +zoom=0.793914 +rot=0.000000 +cx=0.499900 +cy=0.499900 +dx=0.000000 +dy=0.000000 +warp=0.290273 +sx=0.929000 +sy=0.932617 +wave_r=0.030000 +wave_g=0.030000 +wave_b=0.030000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_5=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_6=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_7=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_8=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_pixel_1=gridx=bnot((x*q7)%2); +per_pixel_2=gridy=bnot((y*q7)%2); +per_pixel_3=zoom=zoom+.07*cos(sin(rad*2.14*q3+abs(rad*3.14*gridy))*2.14+rad*sin(q4*2.14+q1))*gridx; diff --git a/presets/presets_tryptonaut/StudioMusic - Twisted Galaxy.milk b/presets/presets_tryptonaut/StudioMusic - Twisted Galaxy.milk new file mode 100755 index 0000000000..ae656a784f --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic - Twisted Galaxy.milk @@ -0,0 +1,61 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.200000 +fWaveScale=1.981000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=2.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.600000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); diff --git a/presets/presets_tryptonaut/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk b/presets/presets_tryptonaut/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk new file mode 100755 index 0000000000..8b5fb31433 --- /dev/null +++ b/presets/presets_tryptonaut/StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk @@ -0,0 +1,94 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.999997 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=98.029610 +fWaveScale=0.935100 +fWaveSmoothing=0.306000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.963044 +fShader=0.000001 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.090000 +wave_g=0.090000 +wave_b=0.090000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.020000 +ob_g=0.020000 +ob_b=0.020000 +ob_a=0.990000 +ib_size=0.005000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.990000 +nMotionVectorsX=42.111980 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=0.640000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=ib_r=sin(bass*cos(frame*0.535)); +per_frame_2=ib_g=sin(bass*cos(frame*0.635)); +per_frame_3=ib_b=sin(bass*cos(frame*0.735)); +per_frame_4=dx=sin(time*1.234)*.0125; +per_frame_5=dy=cos(time*.9666)*.0125; +per_frame_6=q1=frame%2; +per_frame_7=wave_r=q1; +per_frame_8=wave_g=q1; +per_frame_9=wave_b=q1; +per_frame_10=ff = frame/100; +per_frame_11=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_12=wave_g = cos(ff/mid)/2+0.5; +per_frame_13=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_14=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_15=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); +per_frame_16=ob_r=wave_r; +per_frame_17=ob_g=wave_g; +per_frame_18=ob_b=wave_b; +per_pixel_1=q2=above(rad,.603); +per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); +per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); +per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); +per_pixel_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_6=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_7=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r; +per_pixel_8=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time); +per_pixel_9=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time); +per_pixel_10=crackdown = ((crack*2)*dx_r)*sin(3.75*time); +per_pixel_11=ripdown = ((rip*2)*dy_r)*sin(5.75*time); +per_pixel_12=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25; +per_pixel_13=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25; diff --git a/presets/presets_tryptonaut/Stuttler - LSD Bloom.milk b/presets/presets_tryptonaut/Stuttler - LSD Bloom.milk new file mode 100755 index 0000000000..9e6d46333c --- /dev/null +++ b/presets/presets_tryptonaut/Stuttler - LSD Bloom.milk @@ -0,0 +1,62 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.500000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=1 +bRedBlueStereo=0 +nMotionVectorsX=6 +nMotionVectorsY=6 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.398652 +fWaveScale=1.511983 +fWaveSmoothing=0.340000 +fWaveParam=0.400000 +fModWaveAlphaStart=1.750000 +fModWaveAlphaEnd=1.550000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.734735 +fZoomExponent=0.100000 +fShader=0.000000 +zoom=1.064000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.022167 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.07*sin(rad*20+time*2.5); diff --git a/presets/presets_tryptonaut/TEcHNO & SandStorm - Psychodelic Highway.milk b/presets/presets_tryptonaut/TEcHNO & SandStorm - Psychodelic Highway.milk new file mode 100755 index 0000000000..2fbea4bd75 --- /dev/null +++ b/presets/presets_tryptonaut/TEcHNO & SandStorm - Psychodelic Highway.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1 +fDecay=0.985 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0031 +fWaveScale=1.004873 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=1 +fModWaveAlphaEnd=1.01 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002076 +fZoomExponent=1.00183 +fShader=1 +zoom=1.077494 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0 +wave_g=0.5 +wave_b=0.8 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.03 +ib_r=0.38 +ib_g=0.27 +ib_b=0.03 +ib_a=0.3 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.52 +mv_l=5 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0.25 +per_frame_1=wave_mystery=abs(sin(time*0.51))*-1; +per_frame_2=cx=cx+(sin(time)*if(above(sin(time),0),(-1+bass),1.3))*0.5; +per_frame_3=cy=cy+(cos(time)*if(below(sin(time),0),(-1+bass),1.3))*0.6; +per_frame_4=mv_x=mv_x+sin(time/1.8)*3; +per_frame_5=mv_y=mv_x-sin(time/2)*3.5; +per_frame_6=wave_r=bass; +per_frame_7=wave_g=wave_g+sin(time*0.74)*0.3; +per_frame_8=wave_b=wave_b+sin(time*0.83)*0.2; +per_frame_9=mv_g=mv_g*abs(sin(time)); +per_frame_10=mv_r=bass; +per_frame_11=mv_b=treb; +per_frame_12=ib_size=ib_size+bass*0.15; +per_frame_13=rot=sin(time)*0.03; +per_frame_14=ib_r=abs(sin(time*1.5))*0.4; +per_frame_15=ib_g=abs(sin(time*1.53))*0.5 ; +per_frame_16=ib_b=abs(sin(time*1.51))*0.45 ; +per_pixel_1=zoom=zoom+rad*0.1; diff --git a/presets/presets_tryptonaut/TEcHNO and SandStorm - Psychodelic Highway.milk b/presets/presets_tryptonaut/TEcHNO and SandStorm - Psychodelic Highway.milk new file mode 100755 index 0000000000..7528927a75 --- /dev/null +++ b/presets/presets_tryptonaut/TEcHNO and SandStorm - Psychodelic Highway.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.003100 +fWaveScale=1.004873 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.010000 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002076 +fZoomExponent=1.001830 +fShader=1.000000 +zoom=1.077494 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.800000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.030000 +ib_r=0.380000 +ib_g=0.270000 +ib_b=0.030000 +ib_a=0.300000 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.520000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.250000 +per_frame_1=wave_mystery=abs(sin(time*0.51))*-1; +per_frame_2=cx=cx+(sin(time)*if(above(sin(time),0),(-1+bass),1.3))*0.5; +per_frame_3=cy=cy+(cos(time)*if(below(sin(time),0),(-1+bass),1.3))*0.6; +per_frame_4=mv_x=mv_x+sin(time/1.8)*3; +per_frame_5=mv_y=mv_x-sin(time/2)*3.5; +per_frame_6=wave_r=bass; +per_frame_7=wave_g=wave_g+sin(time*0.74)*0.3; +per_frame_8=wave_b=wave_b+sin(time*0.83)*0.2; +per_frame_9=mv_g=mv_g*abs(sin(time)); +per_frame_10=mv_r=bass; +per_frame_11=mv_b=treb; +per_frame_12=ib_size=ib_size+bass*0.15; +per_frame_13=rot=sin(time)*0.03; +per_frame_14=ib_r=abs(sin(time*1.5))*0.4; +per_frame_15=ib_g=abs(sin(time*1.53))*0.5 ; +per_frame_16=ib_b=abs(sin(time*1.51))*0.45 ; +per_pixel_1=zoom=zoom+rad*0.1; diff --git a/presets/presets_tryptonaut/Telek - City Helix Lattice.milk b/presets/presets_tryptonaut/Telek - City Helix Lattice.milk new file mode 100755 index 0000000000..7034a49cfa --- /dev/null +++ b/presets/presets_tryptonaut/Telek - City Helix Lattice.milk @@ -0,0 +1,81 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.916999 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.028413 +fWaveSmoothing=0.450000 +fWaveParam=-0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.073160 +fWarpScale=0.543568 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.650000 +wave_x=0.749900 +wave_y=0.719900 +ob_size=0.020000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.007000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.006000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_b = if(below(treb, 2),1,0); +per_frame_2=decay = if(equal(frame % 20,0),.99,1); +per_frame_3=dx = if(equal(frame % 100,0),.001,0); +per_frame_4= +per_frame_5=rot = .05 *cos(time*.4); +per_frame_6=wave_x = (wave_x-.45)*sin(time*.4) + wave_x; +per_frame_7=wave_y = (wave_y-.45)*sin(time*.4) + wave_y; +per_frame_8=zoom = 1- cos(time*.4)*.05; +per_frame_9=//rot = -0.005; +per_frame_10=wave_x = .5+(wave_x-.5)*cos(time*5); +per_frame_11=wave_y = .5+(wave_y-.5)*sin(time*5); +per_frame_12=ib_a = cos(time*.4)*-.5+.5; +per_frame_13=ob_a = ib_a; +per_frame_14=ob_r = cos(time)*.5+.5; +per_frame_15=ob_b = .5; +per_frame_init_1=warp = 0; +per_frame_init_2=zoom = 1; +per_frame_init_3=rot = 0.01; diff --git a/presets/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk b/presets/presets_tryptonaut/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk similarity index 100% rename from presets/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk rename to presets/presets_tryptonaut/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk diff --git a/presets/presets_tryptonaut/Telek - Flicker (@xis).milk b/presets/presets_tryptonaut/Telek - Flicker (@xis).milk new file mode 100755 index 0000000000..2399476291 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Flicker (@xis).milk @@ -0,0 +1,128 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000001 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.387300 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.460000 +wave_y=0.005000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.060000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=38.399994 +nMotionVectorsY=15.647999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=//virtual +per_frame_2=vnum_increment = 2/fps; +per_frame_3=vtarget = vtarget + if(above(bass*bass_att,4.5), if(below(vtarget,vnum+1),1,0),0); +per_frame_4=vnum = vnum + if(below(vnum,vtarget-vnum_increment*.5), vnum_increment,0); +per_frame_5=monitor = vnum; +per_frame_6= +per_frame_7=vang = vnum*3.14159265358979323*.25; +per_frame_8=q1=vang; +per_frame_9=q2 = vnum_increment; +per_frame_10=q3 = vnum; +per_frame_11=q4=vtarget; +per_frame_12=//vx = (x-.5)*cos(vang) - (y-.5)*sin(vang)+.5; +per_frame_13=//vy = (x-.5)*sin(vang) +(y-.5)*cos(vang)+.5; +per_frame_14= +per_frame_15=bass_x = max(bass_x*.7+max(bass_att-.9,0)*.3,0); //decaying bass max +per_frame_16=wave_vx = ((frame%3-1)*bass_x* above(vnum,vtarget-vnum_increment*.5) +1)*wave_x; //spreads flame +per_frame_17=wave_vy=wave_y; +per_frame_18= +per_frame_19=wave_x = -(wave_vx-.5)*cos(vang) + (wave_vy-.5)*sin(vang)+.5; +per_frame_20=wave_y = -(wave_vx-.5)*sin(vang) - (wave_vy-.5)*cos(vang)+.5; +per_frame_21=//end virtual +per_frame_22=wave_r = above(vnum,vtarget-vnum_increment*.5); +per_frame_23=//wave_g = below(bass*bass_att,3.5); +per_frame_24=decay = 3000000+57.75; // Magic 'flame' decay +per_frame_25=//wave_mystery = sin(time*.2)*.05+1; +per_frame_26= +per_frame_27=ob_a = max(sqr(sqr(sin(time*1)*.25+.25)),if(below(vnum,vtarget-.1),.2,0)); // 'ad-lib decay' to black - no ugly artefacts +per_frame_28=// ^4 to get it up there quick -> min time with decay on. +per_frame_29= +per_frame_30=ob_a = ob_a*(1-bass_x); // just so we don't get rid of the wide impressive +per_frame_31=// flames so quickly +per_frame_32= +per_frame_33=//ob_a=0; +per_frame_34=//monitor = ob_a; +per_frame_35= +per_frame_36=//Other decays to try: +per_frame_37=//300000 + 42.53, 90.63, 43.00 These are all fairly similar, but all are stable (equiv to decay 0.990 -> 1 in terms of speed of fade) +per_frame_38=//3000000 + 57.75 <<< =:-) +per_frame_39= +per_pixel_1=rot = below(q3, q4-q2*.5)*q2*.8*(1-0*(rad)); +per_pixel_2= +per_pixel_3=//virtual axes +per_pixel_4=vang=q1; +per_pixel_5=vx = (x-.5)*cos(vang) - (y-.5)*sin(vang)+.5; +per_pixel_6=vy = (x-.5)*sin(vang) +(y-.5)*cos(vang)+.5; +per_pixel_7=vy=1-vy; +per_pixel_8= +per_pixel_9=dvy = (vx+.08*sin(rand(100)))*2%2*-.01-.005; +per_pixel_10=dvy = -.0025*((1-vy)*10+rand(5)); //wobble, and faster at top - accelerating like real flames +per_pixel_11= +per_pixel_12=dvx = rand(20)*.0001*sin(rand(2)-.5); //flicker +per_pixel_13=dvx = dvx*sqr(vy); //dampens top +per_pixel_14=//dvx = dvx*(1-x/2); //slows sides +per_pixel_15=dvx = dvx*-.2*(rand(10)-5); //random damper +per_pixel_16=dvx = dvx -(vx-.5)*.04*(.8-sqr(vy)); //drift towards centre +per_pixel_17=dvx = dvx + cos(sqr(vy-.5)*10-time*1.1)*sqr(1-(vy))*.01; //add flutter at top +per_pixel_18= +per_pixel_19=//de-virtualise +per_pixel_20=dx = dvx*cos(vang) - dvy*sin(vang); +per_pixel_21=dy = -dvx*sin(vang) - dvy*cos(vang); +per_pixel_22= +per_pixel_23=// Telek - 09/11/2002 +per_frame_init_1=bass_x = 1; +per_frame_init_2=vtarget=4.000000; +per_frame_init_3=vnum = 4.000000; diff --git a/presets/presets_tryptonaut/Telek - Flicker.milk b/presets/presets_tryptonaut/Telek - Flicker.milk new file mode 100755 index 0000000000..92c2741fd9 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Flicker.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.460000 +wave_y=0.005000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.060000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=58.752007 +nMotionVectorsY=14.400000 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.100000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=bass_x = max(bass_x*.7+max(bass_att-.9,0)*.3,0); //decaying bass max +per_frame_2= +per_frame_3=wave_x = ((frame%3-1)*.5*bass_x+1)*wave_x; //spreads flame +per_frame_4= +per_frame_5=decay = 3000000+57.75; // Magic 'flame' decay +per_frame_6=//wave_mystery = sin(time*.2)*.05+1; +per_frame_7= +per_frame_8=ob_a = sqr(sqr(sin(time*1)*.25+.25)); // 'ad-lib decay' to black - no ugly artefacts +per_frame_9=// ^4 to get it up there quick -> min time with decay on. +per_frame_10= +per_frame_11=ob_a = ob_a*(1-bass_x); // just so we don't get rid of the wide impressive +per_frame_12=// flames so quickly +per_frame_13= +per_frame_14=monitor = ob_a; +per_frame_15= +per_frame_16=//Other decays to try: +per_frame_17=//300000 + 42.53, 90.63, 43.00 These are all fairly similar, but all are stable (equiv to decay 0.990 -> 1 in terms of speed of fade) +per_frame_18=//3000000 + 57.75 <<< =:-) +per_pixel_1=dy = (x+.08*sin(rand(100)))*2%2*-.01-.005; +per_pixel_2=dy = -.0025*((1-y)*10+rand(5)); //wobble, and faster at top - accelerating like real flames +per_pixel_3= +per_pixel_4=dx = rand(20)*.0001*sin(rand(2)-.5); //flicker +per_pixel_5=dx = dx*sqr(y); //dampens top +per_pixel_6=//dx = dx*(1-x/2); //slows sides +per_pixel_7=dx = dx*-.2*(rand(10)-5); //random damper +per_pixel_8=dx = dx -(x-.5)*.04*(.8-sqr(y)); //drift towards centre +per_pixel_9=dx = dx + cos(sqr(y-.5)*10-time*1.1)*sqr(1-(y))*.01; //add flutter at top +per_pixel_10= +per_pixel_11=// Telek - 26/09/2002 +per_frame_init_1=bass_x = 1; diff --git a/presets/presets_tryptonaut/Telek - Lost Star (Flash).milk b/presets/presets_tryptonaut/Telek - Lost Star (Flash).milk new file mode 100755 index 0000000000..181489978a --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Lost Star (Flash).milk @@ -0,0 +1,98 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.959000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.886994 +fWaveSmoothing=0.630000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.003500 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=38.399994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000002 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.700000 +mv_a=0.000000 +per_frame_1=high_bass = above(bass_att,1.5); +per_frame_2=high_treb = above(treb, 2); +per_frame_3= +per_frame_4=wave_b = if(high_treb,0,1); +per_frame_5= +per_frame_6=mv_rr = if(high_bass,.5 ,mv_rr*.9); +per_frame_7=mv_r = mv_rr; +per_frame_8=mv_b = if(high_treb*high_bass,0,1); +per_frame_9= +per_frame_10=mv_g = if(high_treb*high_bass,0,.1*sin(time*.302)+.1); +per_frame_11=mv_a = if(above(bass_att,1.5),.6,mv_a); +per_frame_12=mv_x = bits *3; +per_frame_13=mv_y = mv_x *.8; +per_frame_14= +per_frame_15= +per_frame_16=w_dx = (above((w_y*bits)%2,0)*.01-.005)*sin(time); +per_frame_17=w_dy = (above((w_x*bits)%2,0)*.01-.005)*cos(time); +per_frame_18= +per_frame_19=w_x = w_x+w_dx; +per_frame_20=w_y = w_y +w_dy; +per_frame_21=monitor = bits; +per_frame_22=q1 = bits; +per_frame_23=w_x = if(above(abs(w_x-.5),.5),rand(10)/10,w_x); +per_frame_24=w_y = if(above(abs(w_y-.5),.5),rand(10)/10,w_y); +per_frame_25= +per_frame_26=wave_x = w_x; +per_frame_27=wave_y = w_y; +per_frame_28= +per_frame_29= +per_pixel_1=dx = above(y,0.9)*0.01; +per_pixel_2=dy = dx*.15*sin(x*10+time); +per_pixel_3=// q1 is number of bits +per_pixel_4=dx = (above((y*q1)%2,0)*.01-.005)*sin(time); +per_pixel_5=dy = (above((x*q1)%2,0)*.01-.005)*cos(time); +per_frame_init_1=bits = rand(7)+7; diff --git a/presets/presets_tryptonaut/Telek - Recirculate (Cool).milk b/presets/presets_tryptonaut/Telek - Recirculate (Cool).milk new file mode 100755 index 0000000000..cbe5fa6b5d --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Recirculate (Cool).milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.002000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.002500 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=1.537793 +nMotionVectorsY=2.090259 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.070441 +mv_r=0.024048 +mv_g=0.024048 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=//wave_r = (bass)-1.5; +per_frame_2=//wave_b = wave_r*treb*.5; +per_frame_3=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); +per_frame_4=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); +per_frame_5=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); +per_frame_6= +per_frame_7=ob_r = wave_r; +per_frame_8=ob_g = wave_g; +per_frame_9=ob_b = wave_b; +per_frame_10= +per_frame_11= +per_frame_12=monitor = wave_r; +per_pixel_1=cx = .25+.5*above(x,.5); +per_pixel_2=cy = .5+sin(time)*(above(x,.5)-.5)*1.5; +per_pixel_3=rot =(.16*(above(x,.5)-.5)-sqr(y-.5)*.16)*sin(time*1.22+bass_att*.5); diff --git a/presets/presets_tryptonaut/Telek - Sine Wave.milk b/presets/presets_tryptonaut/Telek - Sine Wave.milk new file mode 100755 index 0000000000..83b26d683d --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Sine Wave.milk @@ -0,0 +1,82 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.970000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.400000 +per_frame_1=mv_g=1-bass_att*.4; +per_frame_2=beat=if(above(bass*bass_att,4.5),1-beat,beat); +per_frame_3=q1=beat*2-1; +per_frame_4= +per_frame_5=amp =amp*.8+.2*(bass_att+mid_att+treb_att)*.3; +per_frame_6=q2 = min(amp,1); +per_frame_7=trebcap=trebcap*.7+.16*treb; +per_frame_8=q3=trebcap*2; +per_frame_9=monitor = q3; +per_pixel_1=wang = (3+q3)*x+time*1.7+bass*.1; +per_pixel_2=in = 0; +per_pixel_3=in = in + below(abs(x-.25),.05)*below(abs(y-.5),.25); +per_pixel_4=in = below(abs(y-(.5+.5*sin(wang)*q2)),.1); +per_pixel_5=in=bnot(bnot(in)); +per_pixel_6=dx = .02*in; +per_pixel_7=dy = .08*cos(wang)*q2*in; +per_pixel_8= +per_pixel_9=dx = dx+bnot(in)*.005*q1; +per_pixel_10=dy = dy+bnot(in)*cos(wang)*-.01*q1; diff --git a/presets/presets_tryptonaut/Telek - Slow Shift Matrix (Ethereal Drift).milk b/presets/presets_tryptonaut/Telek - Slow Shift Matrix (Ethereal Drift).milk new file mode 100755 index 0000000000..fb2e6c75ba --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Slow Shift Matrix (Ethereal Drift).milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.488853 +fVideoEchoAlpha=0.300000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.100000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.040000 +nMotionVectorsX=38.399994 +nMotionVectorsY=24.000004 +mv_dx=-0.281976 +mv_dy=0.406558 +mv_l=5.000000 +mv_r=0.787740 +mv_g=0.415692 +mv_b=0.483679 +mv_a=0.000000 +per_frame_1=bv = bass*.3+.7*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=c_inc = min(2*(pow(max(1,bv),3)-1),3); +per_frame_4=wave_x =-1; +per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_7=rot = 1*sin(tt*.151); +per_frame_8=cx = sin(tt*.16)*.5+.5; +per_frame_9=cy = cos(tt*.46)*.5+.5; +per_frame_10=ib_r = sin(tt*.51+c_inc)*.5+.5; +per_frame_11=ib_g = sin(tt*.71+c_inc)*.5+.5; +per_frame_12=ib_b = sin(tt*.81+c_inc)*.5+.5; +per_frame_13=monitor = c_inc; +per_pixel_1=zoom = .8-.1*pow(1-rad,2); +per_frame_init_1=tt = rand(10000); diff --git a/presets_milkdrop_104/Telek - Slow Shift Matrix (bb4.5).milk b/presets/presets_tryptonaut/Telek - Slow Shift Matrix (bb4.5).milk old mode 100644 new mode 100755 similarity index 100% rename from presets_milkdrop_104/Telek - Slow Shift Matrix (bb4.5).milk rename to presets/presets_tryptonaut/Telek - Slow Shift Matrix (bb4.5).milk diff --git a/presets/presets_tryptonaut/Telek - Slow Shift Matrix.milk b/presets/presets_tryptonaut/Telek - Slow Shift Matrix.milk new file mode 100755 index 0000000000..dbfe08c487 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Slow Shift Matrix.milk @@ -0,0 +1,77 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001645 +fWaveScale=0.430333 +fWaveSmoothing=0.630000 +fWaveParam=1.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.100000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=48.000000 +mv_dx=-0.941273 +mv_dy=0.426319 +mv_l=5.000000 +mv_r=0.315997 +mv_g=0.078173 +mv_b=0.941976 +mv_a=0.000000 +per_frame_1=bv = bass*.01+.99*bv; +per_frame_2=tt=tt+bass*.01; +per_frame_3=wave_x =-1; +per_frame_4=dx = .3*sin(tt*.12)+10*sin(tt*.015); +per_frame_5=dy = .39*sin(tt*.21)+20*sin(tt*.041); +per_frame_6=rot = 1*sin(tt*.15); +per_frame_7=cx = sin(tt*.16)*.5+.5; +per_frame_8=cy = cos(tt*.46)*.5+.5; +per_frame_9=ib_r = sin(tt*.51)*.5+.5; +per_frame_10=ib_g = sin(tt*.71)*.5+.5; +per_frame_11=ib_b = sin(tt*.81)*.5+.5; +per_frame_12=monitor = bv; +per_pixel_1=zoom = .8-.1*pow(1-rad,2); +per_frame_init_1=tt = rand(10000); diff --git a/presets/presets_tryptonaut/Telek - Slow Thing (Spiderman Mix).milk b/presets/presets_tryptonaut/Telek - Slow Thing (Spiderman Mix).milk new file mode 100755 index 0000000000..f7a4350393 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Slow Thing (Spiderman Mix).milk @@ -0,0 +1,85 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.356739 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.209289 +fWaveScale=1.486134 +fWaveSmoothing=0.000000 +fWaveParam=-0.300000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=24.831774 +fWarpScale=0.419995 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=55.044964 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.330000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.200000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.600000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=wave_b = if(below(treb, 1.8),1-.025*rand(10),0); +per_frame_4=wave_g = wave_g*sqr(.01*rand(100)); +per_frame_5=decay = .9999+.0001+0*if(equal(frame % 10,0),.95,1); +per_frame_6=monitor = wave_g; +per_frame_7=cx=.5+.3*cos(time*.21); +per_frame_8=cy=.5+.3*sin(time*.1); +per_frame_9=cx=cx+(bass-1.2)*.1; +per_frame_10=cy=cy+(treb_att-1)*.1; +per_frame_11=mv_r=bass_att*.4; +per_frame_12=wave_x = cx; +per_frame_13=wave_y=1-cy; +per_frame_14= +per_frame_15=q1=cx; +per_frame_16=q2=cy; +per_pixel_1=near=below(sqr(q1-x)+sqr(q2-y),.04); +per_pixel_2=notnear = 1- near; +per_pixel_3=sy=max(0.3,pow(bass_att,.2))*near + notnear; +per_pixel_4=sx=1/sy*near + notnear; +per_pixel_5=rot = .02*sin(x*5+time)*notnear-.03; +per_pixel_6=zoom = 1+ notnear*.001*(.5+sin(ang*5+time)); diff --git a/presets/presets_tryptonaut/Telek - Spiral Tabletop (New and Improved!).milk b/presets/presets_tryptonaut/Telek - Spiral Tabletop (New and Improved!).milk new file mode 100755 index 0000000000..2dd514cc0b --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Spiral Tabletop (New and Improved!).milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.684871 +fWaveSmoothing=0.900000 +fWaveParam=-0.280000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.016000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_x = pow(sin(time*.3011101),5)*.4+.5; +per_frame_2=wave_y = pow(cos(time*.3),3)*.4+.5; +per_frame_3=wave_r = sin(time*.874)*.5+.5; +per_frame_4=wave_g = sin(time*1.54)*.5+.5; +per_frame_5=wave_b = sin(time*1.1)*.5+.5; +per_frame_6= +per_frame_7=vol= (bass+treb+mid)*.3; +per_frame_8=vol_cap = (max(min(vol,1),.5)-.5)*2; +per_frame_9=wave_r = wave_r*vol_cap; +per_frame_10=wave_g = wave_g*vol_cap; +per_frame_11=wave_b = wave_b*vol_cap; +per_frame_12=ob_size =1; +per_frame_13=ob_r=wave_r*.0; +per_frame_14=ob_g=wave_g*.0; +per_frame_15=ob_b=wave_b*.0; +per_frame_16= +per_frame_17=q1=wave_x; +per_frame_18=q2=1-wave_y; +per_frame_19= +per_frame_20= +per_frame_21=beat=if(above(bass*bass_att,2.7),1,0); +per_frame_22=dm=dm-sign(dm)*bass*beat; +per_frame_23=vang=vang+.3*dm/fps; +per_frame_24=q3 = vang; +per_frame_25= +per_frame_26=monitor = vang; +per_frame_27=//mv_a = 1; decay = 0.81; +per_pixel_1=//cen_x = cos(time)*.2+.3; +per_pixel_2=//cen_y = sin(time)*.5+.5; +per_pixel_3=cen_x = q1; +per_pixel_4=cen_y = q2; +per_pixel_5=radxy = sin(time*.1)*.15+.3; +per_pixel_6= +per_pixel_7=dist_x = (x-cen_x)/(radxy*(sin(time*.2*0)*.3+cos((cen_x-x+ (cen_y-y))*10+time*2)*.3+1)); +per_pixel_8=dist_y = (y-cen_y)/(radxy*(sin(time*.2*0)*.3+sin((cen_x-x+ (cen_y-y))*10+time*2)*.3+1)); +per_pixel_9=in = below(abs(dist_x),1)*below(abs(dist_y),1); +per_pixel_10=//in = bnot(in); +per_pixel_11=out = bnot(in); +per_pixel_12=inx =(cen_x-q1)+.08*sign(dist_x)*sqr(1-abs(dist_x)); +per_pixel_13=iny =(cen_y-q2)+.08*sign(dist_y)*sqr(1-abs(dist_y)); +per_pixel_14= +per_pixel_15=//**********outside +per_pixel_16=vang=q3; //time*.1; +per_pixel_17=vx = (x-.5)*cos(vang) - (y-.5)*sin(vang)+.5; +per_pixel_18=vy = (x-.5)*sin(vang) +(y-.5)*cos(vang)+.5; +per_pixel_19= +per_pixel_20=dvx=.01*sin(time+vy*60*radxy); +per_pixel_21=dvy=.01*cos(time+vx*60*radxy); +per_pixel_22= +per_pixel_23=outx = dvx*cos(vang) - dvy*sin(vang); +per_pixel_24=outy = -dvx*sin(vang) - dvy*cos(vang); +per_pixel_25= +per_pixel_26=dx=in*inx+out*outx; +per_pixel_27=dy=in*iny+out*outy; +per_frame_init_1=dm = 1; diff --git a/presets/presets_tryptonaut/Telek - Spokes (More Dynamic).milk b/presets/presets_tryptonaut/Telek - Spokes (More Dynamic).milk new file mode 100755 index 0000000000..f300d58216 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Spokes (More Dynamic).milk @@ -0,0 +1,87 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=1.228237 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.120321 +fWaveSmoothing=0.630000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=-0.100000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.300000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.100000 +ib_g=0.100000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=7.552002 +nMotionVectorsY=14.400000 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.100000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=ab15 = above(bass_att,1.5); +per_frame_2=ab10 = above(bass_att, 1.0) - ab15; +per_frame_3=ab05 = above(bass_att, 0.5) - ab15 - ab10; +per_frame_4=ab00 = 1 - ab15 - ab10 - ab05; +per_frame_5=wave_r = ab15*1 + ab10*(6*sin(time*.31)+ .5) + +per_frame_6= ab05*(.4*sin(time*.15)+.2) + ab00*.1; +per_frame_7=wave_g = ab15*.5 + ab10*(.2*sin(time*.316)+.1) + +per_frame_8= ab05*(.2*sin(time*.101)+.1) + ab00*1; +per_frame_9=wave_b = ab15*0 + ab10*(.4*sin(time*.407)+.7) + +per_frame_10= ab05*(.3*sin(time*.112)+.4) + ab00*.1; +per_frame_11=exb =exb*.92 + bass*.05; +per_frame_12=ext =ext *.92 + treb*.05; +per_frame_13=ob_t=.5; +per_frame_14=monitor = ext; +per_frame_15=w_y = w_y*.6+.2*max(min(1,bass_att*exb),.2); +per_frame_16=wave_y=w_y; +per_frame_17=wave_y = wave_y *(1- pow(progress,4)); +per_frame_18= +per_frame_19=wave_m = wave_m - fps*pow(1-wave_y, 3)*.01; +per_frame_20=wave_mystery = wave_m; +per_frame_21=//ob_a=above(bass_att,4); +per_frame_22= +per_pixel_1=rot = rot + (2-ang+time*1)*1.9+1.0*time; +per_frame_init_1=wave_m = 0; diff --git a/presets/presets_tryptonaut/Telek - Target Practice (tracking retreat slide).milk b/presets/presets_tryptonaut/Telek - Target Practice (tracking retreat slide).milk new file mode 100755 index 0000000000..b59504c139 --- /dev/null +++ b/presets/presets_tryptonaut/Telek - Target Practice (tracking retreat slide).milk @@ -0,0 +1,89 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.001000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=33.152000 +nMotionVectorsY=28.799997 +mv_dx=0.006000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=xx = sin(time*.13)*.5+.5; +per_frame_2= +per_frame_3=beat = above(bass*bass_att,3.8)+bnot(xx); +per_frame_4=//xx = if(beat,0,xx); +per_frame_5=//x = if(beat,rand(10)*.1,x); +per_frame_6=//y = if(beat,rand(10)*.1,y); +per_frame_7=x = if(beat, max(min(rand( 2 )*.2 -.1+x, 1), 0), x); +per_frame_8=y = if(beat, max(min(rand( 2 )*.2 -.1+y, 1), 0), y); +per_frame_9=z = (z-beat*.15)*.8+.2; +per_frame_10=zoom = z; +per_frame_11= +per_frame_12=wave_x = x; +per_frame_13=wave_y = y; +per_frame_14=wave_mystery = xx*1.7-.5; +per_frame_15=ob_a = beat; +per_frame_16=wave_r= sin(time*.197)*.5+.5; +per_frame_17=wave_g=cos(time*.201)*.5+.5; +per_frame_18=wave_b=sin(time*.215)*.5+.5; +per_frame_19= +per_frame_20=xx=sin(xx*62.82)*.5+.5; +per_frame_21=wave_r = xx+(1-xx)*wave_r; +per_frame_22=wave_g = xx+(1-xx)*wave_g; +per_frame_23=wave_b = xx+(1-xx)*wave_b; +per_frame_24=//wave_b= wave_g; +per_frame_25=//rot = .015; +per_frame_26=monitor = zoom; diff --git a/presets/presets_tryptonaut/Telek EMPR - Scanner - Trust me I've got a Melways.milk b/presets/presets_tryptonaut/Telek EMPR - Scanner - Trust me I've got a Melways.milk new file mode 100755 index 0000000000..636c87fa4a --- /dev/null +++ b/presets/presets_tryptonaut/Telek EMPR - Scanner - Trust me I've got a Melways.milk @@ -0,0 +1,165 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.886994 +fWaveSmoothing=0.630000 +fWaveParam=-0.512022 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.989618 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.080049 +wave_g=0.672309 +wave_b=0.063195 +wave_x=0.075045 +wave_y=0.423466 +ob_size=0.055000 +ob_r=0.773572 +ob_g=0.389471 +ob_b=0.393519 +ob_a=0.013639 +ib_size=0.003500 +ib_r=0.718305 +ib_g=0.386754 +ib_b=0.344725 +ib_a=0.018358 +nMotionVectorsX=38.399994 +nMotionVectorsY=24.000004 +mv_dx=-0.281976 +mv_dy=0.406558 +mv_l=5.000000 +mv_r=0.787740 +mv_g=0.415692 +mv_b=0.483679 +mv_a=0.111690 +per_frame_1=high_bass = above(bass_att,2); +per_frame_2=high_treb = above(treb, 2); +per_frame_3= +per_frame_4=wave_b = if(high_treb,0,1); +per_frame_5= +per_frame_6=ob_r = sin(time*.3)/2+.5; +per_frame_7=ob_g= sin(time*.34)/2+.5; +per_frame_8=ob_b = sin(time*.3714)/2+.5; +per_frame_9= +per_frame_10=boomnow = if(high_bass,time,boomnow); +per_frame_11=brightness = min(sqr(time-boomnow-.866)+.25,1); +per_frame_12=av_bass=if(high_bass,av_bass*.8+.2*bass,av_bass); +per_frame_13=count=count+above(bass,av_bass*1.2); +per_frame_14= +per_frame_15=ob_r = ob_r*brightness; +per_frame_16=ob_g = ob_g*brightness; +per_frame_17=ob_b = ob_b*brightness; +per_frame_18= +per_frame_19=w_dx = (above((w_y*bits)%2,0)*.01-.005)*sin(time); +per_frame_20=w_dy = (above((w_x*bits)%2,0)*.01-.005)*cos(time); +per_frame_21= +per_frame_22=w_x = w_x+w_dx; +per_frame_23=w_y = w_y +w_dy; +per_frame_24=q1 = bits; +per_frame_25= +per_frame_26= +per_frame_27=w_dx = if(above(abs(w_x-.5),.5),-w_dx,w_dx); +per_frame_28=w_dy = if(above(abs(w_y-.5),.5),-w_dy,w_dy); +per_frame_29=w_x = if(above(abs(w_x-.5),.5),(w_x-.5)*.95+.5,w_x); +per_frame_30=w_y = if(above(abs(w_y-.5),.5),(w_y-.5)*.95+.5,w_y); +per_frame_31= +per_frame_32=wave_x = w_x; +per_frame_33=wave_y = w_y; +per_frame_34= +per_frame_35=monitor = count; +per_frame_36= +per_frame_37= +per_frame_38=ob_a = max(wave_b - bass , wave_b * time); +per_frame_39=ib_r = max(treb * bass_att , wave_x * wave_b); +per_frame_40=//ob_g = max(time * wave_r , warp * wave_x); +per_frame_41=wave_g = min(wave_r + wave_x , time * wave_g); +per_frame_42=wave_b = if(equal(bass * wave_r , bass * treb_att) , treb * zoom , treb - time); +per_frame_43=//ob_b = max(max(bass_att + treb_att , mid_att * wave_g) , wave_r - wave_b); +per_frame_44=mv_l = 5 + min(bass + wave_g , zoom - frame); +per_frame_45=wave_b = max(if(equal(wave_b * wave_y , mid_att - wave_r) , time - frame , zoom * wave_r) , treb * frame); +per_frame_46=mv_r = if(equal(treb + mid , bass - mid_att) , wave_y + wave_y , wave_r * treb); +per_frame_47=mv_g = if(above(wave_r * treb_att , time - frame) , mid + warp , warp - treb); +per_frame_48=ib_G = wave_x + zoom; +per_frame_49=//ob_r = if(below(time * time , frame * bass) , bass_att * wave_g , bass * wave_g); +per_frame_50=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_51=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_52=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_53=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_54=//ob_r=if(below(ob_r,0.0), 0.0, ob_r); +per_frame_55=//ob_r=if(above(ob_r,1.0), 1.0, ob_r); +per_frame_56=//ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_57=//ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_58=//ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_59=//ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_60=//ob_a=if(below(ob_a,0.0), 0.0, ob_a); +per_frame_61=//ob_a=if(above(ob_a,1.0), 1.0, ob_a); +per_frame_62=mv_r=if(below(mv_r,0.0), 0.0, mv_r); +per_frame_63=mv_r=if(above(mv_r,1.0), 1.0, mv_r); +per_frame_64=mv_g=if(below(mv_g,0.0), 0.0, mv_g); +per_frame_65=mv_g=if(above(mv_g,1.0), 1.0, mv_g); +per_frame_66=mv_l=if(below(mv_l,0.0), 0.0, mv_l); +per_frame_67=mv_l=if(above(mv_l,5.0), 5.0, mv_l); +per_frame_68=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_69=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_70=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_71=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_72=ob_r=if(below(ob_r,0.0), 0.0, ob_r); +per_frame_73=ob_r=if(above(ob_r,1.0), 1.0, ob_r); +per_frame_74=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_75=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_76=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_77=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_78=wave_b=if(below(wave_b,0.0), 0.0, wave_b); +per_frame_79=wave_b=if(above(wave_b,1.0), 1.0, wave_b); +per_frame_80=wave_g=if(below(wave_g,0.0), 0.0, wave_g); +per_frame_81=wave_g=if(above(wave_g,1.0), 1.0, wave_g); +per_frame_82=ob_a=if(below(ob_a,0.0), 0.0, ob_a); +per_frame_83=ob_a=if(above(ob_a,1.0), 1.0, ob_a); +per_frame_84=ob_g=if(below(ob_g,0.0), 0.0, ob_g); +per_frame_85=ob_g=if(above(ob_g,1.0), 1.0, ob_g); +per_frame_86=ob_r=if(below(ob_r,0.0), 0.0, ob_r); +per_frame_87=ob_r=if(above(ob_r,1.0), 1.0, ob_r); +per_frame_88=ob_b=if(below(ob_b,0.0), 0.0, ob_b); +per_frame_89=ob_b=if(above(ob_b,1.0), 1.0, ob_b); +per_frame_90=ib_r=if(below(ib_r,0.0), 0.0, ib_r); +per_frame_91=ib_r=if(above(ib_r,1.0), 1.0, ib_r); +per_frame_92=ib_b=if(below(ib_b,0.0), 0.0, ib_b); +per_frame_93=ib_b=if(above(ib_b,1.0), 1.0, ib_b); +per_frame_94=ib_G=if(below(ib_G,0.0), 0.0, ib_G); +per_frame_95=ib_G=if(above(ib_G,1.0), 1.0, ib_G); +per_frame_96=mv_r=if(below(mv_r,0.0), 0.0, mv_r); +per_frame_97=mv_r=if(above(mv_r,1.0), 1.0, mv_r); +per_frame_98=mv_g=if(below(mv_g,0.0), 0.0, mv_g); +per_frame_99=mv_g=if(above(mv_g,1.0), 1.0, mv_g); +per_pixel_1=zoom = 1-.03*(1-rad); +per_pixel_2=rot = sin(time*.07845+sin(time*.1))*.04*(1+sin(time*.09784)*.5-rad); +per_frame_init_1=bits = 5; diff --git a/presets/presets_tryptonaut/TobiasWolfBoi - Cataract.milk b/presets/presets_tryptonaut/TobiasWolfBoi - Cataract.milk new file mode 100755 index 0000000000..88d6d05909 --- /dev/null +++ b/presets/presets_tryptonaut/TobiasWolfBoi - Cataract.milk @@ -0,0 +1,53 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=2.100000 +fWaveScale=71.663254 +fWaveSmoothing=0.000000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=1.567768 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.990000 +wave_g=0.990000 +wave_b=0.990000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.010*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.010*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.010*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=q2=0.05+0.01*sin(time*0.71); +per_pixel_2=zoom=zoom+q2*sin(rad*20+time*2.5); diff --git a/presets/presets_tryptonaut/TobiasWolfBoi - The Pit.milk b/presets/presets_tryptonaut/TobiasWolfBoi - The Pit.milk new file mode 100755 index 0000000000..839d55b14f --- /dev/null +++ b/presets/presets_tryptonaut/TobiasWolfBoi - The Pit.milk @@ -0,0 +1,52 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.386143 +fWaveSmoothing=0.000000 +fWaveParam=0.900000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.008151 +fWarpScale=3.151486 +fZoomExponent=0.100000 +fShader=0.000000 +zoom=0.801925 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_pixel_1=zoom=zoom+0.07*sin(rad*20+time*2.5); diff --git a/presets/presets_tryptonaut/Tripgnosis - Antimatter Streams.milk b/presets/presets_tryptonaut/Tripgnosis - Antimatter Streams.milk new file mode 100755 index 0000000000..cd5a020105 --- /dev/null +++ b/presets/presets_tryptonaut/Tripgnosis - Antimatter Streams.milk @@ -0,0 +1,678 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.500000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.003 +fWaveScale=0.010 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.611 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00400 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.12532 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.650 +wave_b=0.750 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.010 +wavecode_0_g=0.900 +wavecode_0_b=0.990 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.010 +wavecode_1_g=0.550 +wavecode_1_b=0.750 +wavecode_1_a=0.990 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.800 +wavecode_2_b=0.060 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.100 +wavecode_3_g=0.150 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04556 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.350 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.150 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.002; +per_frame_3= +per_frame_4=q1=time*0.9; +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8= +warp_1=`#define MyGet GetPixel //GetBlur1 +warp_2=`shader_body +warp_3=`{ +warp_4=` // GROW EFFECT - bright pixels spread radially outward. +warp_5=` // BE CAREFUL - this can really thrash the texture cache! (SLOW) +warp_6=` float grad_rad = 3.5; //TWEAK +warp_7=` float str = 2.8; //TWEAK +warp_8=` float3 d = float3(texsize.zw, 0) * grad_rad; +warp_9=` float4 lums = 0; +warp_10=` lums.x = lum( MyGet(uv + texsize.zw*d.xz) ); +warp_11=` lums.y = lum( MyGet(uv - texsize.zw*d.xz) ); +warp_12=` lums.z = lum( MyGet(uv + texsize.zw*d.zy) ); +warp_13=` lums.w = lum( MyGet(uv - texsize.zw*d.zy) ); +warp_14=` float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad; +warp_15=` grad = (saturate(grad*0.5+0.5)*2-1)*1.4; +warp_16=` // sample previous frame +warp_17=` ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz; +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret *= 0.965; //or try: ret -= 0.004; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=` +comp_18=` ret = (ret-0.1)*1.1; +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/Tripgnosis - Negative Photon Burn.milk b/presets/presets_tryptonaut/Tripgnosis - Negative Photon Burn.milk new file mode 100755 index 0000000000..5aa88c0500 --- /dev/null +++ b/presets/presets_tryptonaut/Tripgnosis - Negative Photon Burn.milk @@ -0,0 +1,668 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.906 +fVideoEchoZoom=2.003 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.100 +fWaveScale=1.511 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.037 +fWarpScale=0.015 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.100 +b3n=0.150 +b1x=0.900 +b2x=0.850 +b3x=0.750 +b1ed=0.200 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs*4; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//spin; +wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_0_per_point14=sa=sin(ang);ca=cos(ang); +wave_0_per_point15=xr=xp*sa + yp*ca; +wave_0_per_point16=yr=xp*ca - yp*sa; +wave_0_per_point17=zr=zp; +wave_0_per_point18= +wave_0_per_point19=xp=xr; +wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point21=zp=zr; +wave_0_per_point22= +wave_0_per_point23=//wrist movement; +wave_0_per_point24=ang=sin(tm*2); +wave_0_per_point25= +wave_0_per_point26=xq=xp; +wave_0_per_point27=sa=sin(ang);ca=cos(ang); +wave_0_per_point28=yq=yp*sa + zp*ca; +wave_0_per_point29=zq=yp*ca - zp*sa; +wave_0_per_point30= +wave_0_per_point31= +wave_0_per_point32=ang=tm*8; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=xp=xq*sa + yq*ca; +wave_0_per_point35=yp=xq*ca - yq*sa; +wave_0_per_point36=zp=zq; +wave_0_per_point37= +wave_0_per_point38=//forearm movement; +wave_0_per_point39=zp=zp-0.3; +wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_0_per_point41=xq=xp; +wave_0_per_point42=sa=sin(ang);ca=cos(ang); +wave_0_per_point43=yq=yp*sa + zp*ca; +wave_0_per_point44=zq=yp*ca - zp*sa; +wave_0_per_point45= +wave_0_per_point46=//upper arm twist +wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point48=xp=xq*sa + yq*ca; +wave_0_per_point49=yp=xq*ca - yq*sa; +wave_0_per_point50=zp=zq; +wave_0_per_point51= +wave_0_per_point52=//upper arm outward; +wave_0_per_point53=zp=zp-0.35; +wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_0_per_point55=sa=sin(ang);ca=cos(ang); +wave_0_per_point56=xq=xp*sa + zp*ca; +wave_0_per_point57=yq=yp; +wave_0_per_point58=zq=xp*ca - zp*sa; +wave_0_per_point59= +wave_0_per_point60=//upper arm up down; +wave_0_per_point61=ang=cos(tm); +wave_0_per_point62=xp=xq; +wave_0_per_point63=sa=sin(ang);ca=cos(ang); +wave_0_per_point64=yp=yq*ca - zq*sa; +wave_0_per_point65=zp=yq*sa + zq*ca; +wave_0_per_point66= +wave_0_per_point67=//xp=xq;yp=yq;zp=zq; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=//project into screenspace and draw on screen +wave_0_per_point71=zp=zp+1.5; +wave_0_per_point72=xs=xp/zp; +wave_0_per_point73=ys=yp/zp; +wave_0_per_point74= +wave_0_per_point75=x=xs+0.5; +wave_0_per_point76=y=ys*1.3+0.5; +wave_0_per_point77= +wave_0_per_point78= +wave_0_per_point79=a=(1-sample); +wave_0_per_point80= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.900 +wavecode_1_b=0.800 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q1 + phs*2 - 0.01; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=sin(tm*2); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=cos(tm); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wave_1_per_point80= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.720 +wavecode_2_b=0.100 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.4 ; +wave_2_per_point3=tm=q1 + phs*2 - 0.02; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.700 +wavecode_3_b=0.500 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.4 ; +wave_3_per_point3=tm=q1 + phs*2 - 0.03; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//spin; +wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; +wave_3_per_point14=sa=sin(ang);ca=cos(ang); +wave_3_per_point15=xr=xp*sa + yp*ca; +wave_3_per_point16=yr=xp*ca - yp*sa; +wave_3_per_point17=zr=zp; +wave_3_per_point18= +wave_3_per_point19=xp=xr; +wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point21=zp=zr; +wave_3_per_point22= +wave_3_per_point23=//wrist movement; +wave_3_per_point24=ang=sin(tm*2); +wave_3_per_point25= +wave_3_per_point26=xq=xp; +wave_3_per_point27=sa=sin(ang);ca=cos(ang); +wave_3_per_point28=yq=yp*sa + zp*ca; +wave_3_per_point29=zq=yp*ca - zp*sa; +wave_3_per_point30= +wave_3_per_point31= +wave_3_per_point32=ang=tm*8; +wave_3_per_point33=sa=sin(ang);ca=cos(ang); +wave_3_per_point34=xp=xq*sa + yq*ca; +wave_3_per_point35=yp=xq*ca - yq*sa; +wave_3_per_point36=zp=zq; +wave_3_per_point37= +wave_3_per_point38=//forearm movement; +wave_3_per_point39=zp=zp-0.3; +wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_3_per_point41=xq=xp; +wave_3_per_point42=sa=sin(ang);ca=cos(ang); +wave_3_per_point43=yq=yp*sa + zp*ca; +wave_3_per_point44=zq=yp*ca - zp*sa; +wave_3_per_point45= +wave_3_per_point46=//upper arm twist +wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=xq=xp*sa + zp*ca; +wave_3_per_point57=yq=yp; +wave_3_per_point58=zq=xp*ca - zp*sa; +wave_3_per_point59= +wave_3_per_point60=//upper arm up down; +wave_3_per_point61=ang=cos(tm); +wave_3_per_point62=xp=xq; +wave_3_per_point63=sa=sin(ang);ca=cos(ang); +wave_3_per_point64=yp=yq*ca - zq*sa; +wave_3_per_point65=zp=yq*sa + zq*ca; +wave_3_per_point66= +wave_3_per_point67=//xp=xq;yp=yq;zp=zq; +wave_3_per_point68= +wave_3_per_point69= +wave_3_per_point70=//project into screenspace and draw on screen +wave_3_per_point71=zp=zp+1.5; +wave_3_per_point72=xs=xp/zp; +wave_3_per_point73=ys=yp/zp; +wave_3_per_point74= +wave_3_per_point75=x=xs+0.5; +wave_3_per_point76=y=ys*1.3+0.5; +wave_3_per_point77= +wave_3_per_point78= +wave_3_per_point79=a=(1-sample); +shapecode_0_enabled=0 +shapecode_0_sides=6 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.04556 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.700 +shapecode_0_b=0.300 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q1; +shape_0_per_frame2= +shape_0_per_frame3=flip=flip+1; +shape_0_per_frame4=flip=flip*below(flip,2); +shape_0_per_frame5= +shape_0_per_frame6=xp=0; +shape_0_per_frame7=yp=0; +shape_0_per_frame8=zp=0; +shape_0_per_frame9= +shape_0_per_frame10=//spin; +shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; +shape_0_per_frame12=sa=sin(ang);ca=cos(ang); +shape_0_per_frame13=xr=xp*sa + yp*ca; +shape_0_per_frame14=yr=xp*ca - yp*sa; +shape_0_per_frame15=zr=zp; +shape_0_per_frame16= +shape_0_per_frame17=xp=xr; +shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +shape_0_per_frame19=zp=zr; +shape_0_per_frame20= +shape_0_per_frame21=//wrist movement; +shape_0_per_frame22=ang=sin(tm*2); +shape_0_per_frame23= +shape_0_per_frame24=xq=xp; +shape_0_per_frame25=sa=sin(ang);ca=cos(ang); +shape_0_per_frame26=yq=yp*sa + zp*ca; +shape_0_per_frame27=zq=yp*ca - zp*sa; +shape_0_per_frame28= +shape_0_per_frame29= +shape_0_per_frame30=ang=tm*8; +shape_0_per_frame31=sa=sin(ang);ca=cos(ang); +shape_0_per_frame32=xp=xq*sa + yq*ca; +shape_0_per_frame33=yp=xq*ca - yq*sa; +shape_0_per_frame34=zp=zq; +shape_0_per_frame35= +shape_0_per_frame36=//forearm movement; +shape_0_per_frame37=zp=zp-0.3; +shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; +shape_0_per_frame39=xq=xp; +shape_0_per_frame40=sa=sin(ang);ca=cos(ang); +shape_0_per_frame41=yq=yp*sa + zp*ca; +shape_0_per_frame42=zq=yp*ca - zp*sa; +shape_0_per_frame43= +shape_0_per_frame44=//upper arm twist +shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); +shape_0_per_frame46=xp=xq*sa + yq*ca; +shape_0_per_frame47=yp=xq*ca - yq*sa; +shape_0_per_frame48=zp=zq; +shape_0_per_frame49= +shape_0_per_frame50=//upper arm outward; +shape_0_per_frame51=zp=zp-0.35; +shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; +shape_0_per_frame53=sa=sin(ang);ca=cos(ang); +shape_0_per_frame54=xq=xp*sa + zp*ca; +shape_0_per_frame55=yq=yp; +shape_0_per_frame56=zq=xp*ca - zp*sa; +shape_0_per_frame57= +shape_0_per_frame58=//upper arm up down; +shape_0_per_frame59=ang=cos(tm); +shape_0_per_frame60=xp=xq; +shape_0_per_frame61=sa=sin(ang);ca=cos(ang); +shape_0_per_frame62=yp=yq*ca - zq*sa; +shape_0_per_frame63=zp=yq*sa + zq*ca; +shape_0_per_frame64= +shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; +shape_0_per_frame66= +shape_0_per_frame67= +shape_0_per_frame68=//project into screenspace and draw on screen +shape_0_per_frame69=zp=zp+1.5; +shape_0_per_frame70=xs=xp/zp; +shape_0_per_frame71=ys=yp/zp; +shape_0_per_frame72= +shape_0_per_frame73=x=xs+0.5; +shape_0_per_frame74=y=ys*1.3+0.5; +shape_0_per_frame75= +shape_0_per_frame76= +shape_0_per_frame77=a=0.7; +shape_0_per_frame78= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.975; +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6=mtime=mtime+vol*0.01; +per_frame_7= +per_frame_8=q1=time*0.5; +per_frame_9= +per_frame_10= +per_frame_11=gamma=1 + min(vol*0.8,1)*0.7 +per_frame_12= +per_pixel_1=zm=1.00; +per_pixel_2= +per_pixel_3=sx=zm; +per_pixel_4=sy=zm; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.034; +warp_12=`} +comp_1=`sampler sampler_ruin; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main,uv).xyz; +comp_5=` float2 uv3 = float2(uv.x+((.2*mid)*sin(time)),uv.y+((.2*mid)*sin(time*.3456787))); +comp_6=` float3 ret3 = tex2D(sampler_main,uv).xyz; +comp_7=` float2 uv2 = float2(uv.y,abs(uv.x-1)); +comp_8=` float3 ret2 = tex2D(sampler_main,uv2).xyz; +comp_9=` ret += ret*ret*10; +comp_10=` ret2 += ret2*ret2*10; +comp_11=` ret3 += ret3*ret3*5*treb; +comp_12=` ret = lerp(ret2,ret,.5); +comp_13=` ret = lerp(ret,ret3,ret*bass); +comp_14=`} diff --git a/presets/presets_tryptonaut/Tripgnosis - spunn.milk b/presets/presets_tryptonaut/Tripgnosis - spunn.milk new file mode 100755 index 0000000000..b4a60c875d --- /dev/null +++ b/presets/presets_tryptonaut/Tripgnosis - spunn.milk @@ -0,0 +1,267 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=3.500 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=5.900 +fWaveScale=0.408 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=7.532 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00284 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.05541 +sx=1.00000 +sy=1.00000 +wave_r=0.900 +wave_g=0.450 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=0.400 +mv_g=0.700 +mv_b=0.700 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.02*( 0.20*sin(0.081*time) + 0.045*sin(-0.079*time) ); +per_frame_5=cx = cx + 0.08*( 0.60*sin(0.274*time) + 0.10*sin(0.194*time) ); +per_frame_6=cy = cy + 0.08*( 0.60*sin(0.293*time) + 0.10*sin(0.123*time) ); +per_frame_7=dx = dx + 0.0020*( 0.60*sin(0.134*time) + 0.40*sin(0.177*time) ); +per_frame_8=dy = dy + 0.0020*( 0.60*sin(0.184*time) + 0.40*sin(0.147*time) ); +per_frame_9=decay = decay - 0.001*equal(frame%6,0); +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, (uv-0.5)*1.00 + 0.5 ); +warp_4=` ret /= ret.x+ret.y+ret.z; +warp_5=` float zoom = dot(ret, float3(1,0.985,0.95)); +warp_6=` +warp_7=` ret.xyz = tex2D( sampler_main, (uv-0.5)*zoom + 0.5 ); +warp_8=` +warp_9=` // shift mass from red to green and on to blue (corresponds to AGE of pixel) +warp_10=` // .x = fastest layer, .z = slowest +warp_11=` float r = 0.02; +warp_12=` float3 xfer = saturate((ret - 0.05)*99); +warp_13=` xfer.yz *= saturate((0.1-ret.xy)*99); +warp_14=` ret += xfer.xxx*float3(-1,1,0)*r*0.7; +warp_15=` ret += xfer.yyy*float3(0,-1,1)*r*4; +warp_16=` ret += xfer.zzz*float3(0,0,-1)*r; +warp_17=` +warp_18=` // ERROR DIFFUSION DITHER - looks great +warp_19=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_20=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*float3(1,3,8)*5; +warp_21=`} +comp_1=`// to access a texture on disk: make a sampler. This example loads "lichen.{tga/jpg/etc}". +comp_2=`sampler2D sampler_fw_lichen; // _FW = filtering + wrap; _PC = point sampling + edge clamp; etc. +comp_3=`float4 texsize_lichen; // auto-binds; .xy = (w,h); .zw = (1/w,1/h) +comp_4=` +comp_5=` +comp_6=`shader_body +comp_7=` +comp_8=` +comp_9=` +comp_10=`{ +comp_11=` ret = tex2D(sampler_main, uv).xyz; +comp_12=` ret = max(ret, tex2D(sampler_main, 1-uv)); +comp_13=` ret = ret*1.50-0.2; //old gamma effect +comp_14=` +comp_15=`} diff --git a/presets/presets_tryptonaut/Tschoey - Music Flower.milk b/presets/presets_tryptonaut/Tschoey - Music Flower.milk new file mode 100755 index 0000000000..31303aecb7 --- /dev/null +++ b/presets/presets_tryptonaut/Tschoey - Music Flower.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000158 +fWaveScale=3.001487 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.520000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=wave_r = 0.5 + 0.5 *sin(time*1.13); +per_frame_2=wave_g = 0.5 + 0.5 *sin(time*1.23); +per_frame_3=wave_b = 0.5 + 0.5 *sin(time*1.33); +per_pixel_1=zoom = 1 +0.05*(rad)* if(above(rad,0.7),1,-1); diff --git a/presets/presets_tryptonaut/Tux.tga b/presets/presets_tryptonaut/Tux.tga new file mode 100644 index 0000000000..ea554a7735 Binary files /dev/null and b/presets/presets_tryptonaut/Tux.tga differ diff --git a/presets/presets_tryptonaut/Unchained & CTho - Bad Vibes.milk b/presets/presets_tryptonaut/Unchained & CTho - Bad Vibes.milk new file mode 100755 index 0000000000..16d7b4b1a2 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & CTho - Bad Vibes.milk @@ -0,0 +1,93 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.400000 +fWaveScale=1.605447 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.006000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.450000 +wave_g=0.650000 +wave_b=0.450000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=chaos=.9+.1*sin(pulse-beat); +per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_4=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_6=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_8=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_9=pulse=if(above(abs(pulse),20),-20,pulse+(mid_thresh+bass_thresh+treb_thresh)*.025); +per_frame_10=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_11=q3=sin(pulse); +per_frame_12=q2=sin(pulse+beat); +per_frame_13=q4=sin(beat); +per_frame_14=q5=entropy; +per_frame_15=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_16=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_17=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_19=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_20=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_21=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_22=ob_a=.07+.05*q3; +per_frame_23=ob_size=.01*entropy*bnot(q1%6); +per_frame_24=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_25=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_26=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_27=ib_a=.07+.05*q3*q4; +per_frame_28=ib_size=.005+.005*q3; +per_frame_29=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_30=zoom=zoom_fade; +per_frame_31=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_32=rot=rot_fade; +per_frame_33=sy=sy+.07*bnot(q1%22)-.09*bnot(q1%17)+.07*q3*bnot(q1%65); +per_frame_34=sx = sx + max(0,max(bass_att,bass)-1)*0.5; +per_pixel_1=zoom=0.9615+rad*0.1*(zoom-1); +per_pixel_2=dx=dx+q1*.005; +per_pixel_3=dy=dy+q3*.005; diff --git a/presets/presets_tryptonaut/Unchained & Che - Oddnezz 3.milk b/presets/presets_tryptonaut/Unchained & Che - Oddnezz 3.milk new file mode 100755 index 0000000000..4ff27194bb --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Che - Oddnezz 3.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001043 +fWaveScale=0.010000 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.300000 +zoom=1.008080 +rot=1.000000 +cx=2.000000 +cy=-1.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.003000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.600000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7=th=if(above(th,5.2),4,th); +per_frame_8= +per_frame_9=q1=.12*th; +per_frame_10=ccl=if(pulse,ccl+1,ccl); +per_frame_11=q2=ccl; +per_frame_12= +per_frame_13=mvrot=if(pulse, +per_frame_14=if(above(mvrot,4),0,mvrot+1),mvrot); +per_frame_15=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039, +per_frame_16=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651, +per_frame_17=if(equal(mvrot,0),1,.773))); +per_frame_18=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267, +per_frame_19=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804, +per_frame_20=if(equal(mvrot,0),1,.38))); +per_frame_21=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694, +per_frame_22=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114, +per_frame_23=if(equal(mvrot,0),1,.145))); +per_frame_24= +per_frame_25=thccl = thccl + th; +per_frame_26=mv_r=min(1,max(0,mv_r+.5*sin(.015*thccl))); +per_frame_27=mv_g=min(1,max(0,mv_g+.5*sin(.016*thccl))); +per_frame_28=mv_b=min(1,max(0,mv_b+.5*sin(.017*thccl))); +per_frame_29=wave_r=1-mv_b; +per_frame_30=wave_g=1-mv_r; +per_frame_31=wave_b=1-mv_g; +per_frame_32= +per_frame_33=mv_x=mv_x+ccl%31-9; +per_frame_34=mv_y=mv_y+ccl%21-7; +per_frame_35= +per_frame_36=ob_r=ob_r + time*sin(bass); +per_frame_37=ob_b=ob_b + time*sin(treb+1); +per_frame_38=ob_g=ob_g + time*sin(mid/1.5); +per_frame_39=CX=2*sin(time); +per_pixel_1=zone=below(rad,q1); +per_pixel_2=zoom=1+.01*sin(if(zone,q2%4-1,(q2+1)%3)*q2+rad*8); +per_pixel_3=sx=sx+sin(if(zone,(q2+.5)%8-5,(q2+3)%6-3)*q2)*.008; +per_pixel_4=sy=sy+sin(if(zone,q2%7-5,(q2+3.4)%7-3)*q2)*.008; +per_pixel_5=grid=pow(x*(4+sin(q1*18)),1+q2%5)%2 + pow(y*(4+sin(q1*20)),1+q2%6)%2; +per_pixel_6=rot=bnot(grid)*above(x,y)*above(y,(1-x))*below(rad,.5+.25*sin(zoom*317)); diff --git a/presets/presets_tryptonaut/Unchained & Che - Oddnezz 4 (Done it again).milk b/presets/presets_tryptonaut/Unchained & Che - Oddnezz 4 (Done it again).milk new file mode 100755 index 0000000000..23d63d8624 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Che - Oddnezz 4 (Done it again).milk @@ -0,0 +1,106 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001043 +fWaveScale=0.010000 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.300000 +zoom=1.008076 +rot=1.000000 +cx=2.000000 +cy=-1.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.003000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=0.600000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// sensor - alpha +per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_3=pulse=band(above(le,th),above(le-th,block)); +per_frame_4=block=le-th; +per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_7=th=if(above(th,5.2),4,th); +per_frame_8= +per_frame_9=q1=.12*th; +per_frame_10=ccl=if(pulse,ccl+1,ccl); +per_frame_11=q2=ccl; +per_frame_12= +per_frame_13=mvrot=if(pulse, +per_frame_14=if(above(mvrot,4),0,mvrot+1),mvrot); +per_frame_15=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039, +per_frame_16=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651, +per_frame_17=if(equal(mvrot,0),1,.773))); +per_frame_18=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267, +per_frame_19=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804, +per_frame_20=if(equal(mvrot,0),1,.38))); +per_frame_21=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694, +per_frame_22=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114, +per_frame_23=if(equal(mvrot,0),1,.145))); +per_frame_24= +per_frame_25=thccl = thccl + th; +per_frame_26=mv_r=min(1,max(0,mv_r+.5*sin(.015*thccl))); +per_frame_27=mv_g=min(1,max(0,mv_g+.5*sin(.016*thccl))); +per_frame_28=mv_b=min(1,max(0,mv_b+.5*sin(.017*thccl))); +per_frame_29=wave_r=1-mv_b; +per_frame_30=wave_g=1-mv_r; +per_frame_31=wave_b=1-mv_g; +per_frame_32= +per_frame_33=mv_x=mv_x+ccl%31-9; +per_frame_34=mv_y=mv_y+ccl%21-7; +per_frame_35= +per_frame_36=ob_r=ob_r + time*sin(bass); +per_frame_37=ob_b=ob_b + time*sin(treb+1); +per_frame_38=ob_g=ob_g + time*sin(mid/1.5); +per_pixel_1=grid=pow(sin(rad*6*sin(q2)+x*y*16*q1)*2,1+q2%5)%2; +per_pixel_2=snee=.5*sin(q2*q1); +per_pixel_3=rot=bnot(grid)*above(x,.5+snee)*above(y,.5-snee); +per_pixel_4=sx=sx+sin((q2+.5)*x)*bnot(rot)*.003; +per_pixel_5=sy=sy+sin((q2+3.4)*y)*bnot(rot)*.003; diff --git a/presets/presets_tryptonaut/Unchained & Illusion - Dual Wave 3.milk b/presets/presets_tryptonaut/Unchained & Illusion - Dual Wave 3.milk new file mode 100755 index 0000000000..04d8d7eff6 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Illusion - Dual Wave 3.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=1 +nMotionVectorsY=3 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.000000 +fWaveScale=1.402300 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.640000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.3*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_y = wave_y + 0.1*sin(time); +per_frame_3=wave_x = wave_x + 0.1*sin(time); +per_pixel_1=crazy_bass_effect=sin (time + abs(ang * bass * 2)); +per_pixel_2=dx= 0.03 * crazy_bass_effect; +per_pixel_3=rot=0.02 * bass * sin (time * .8); +per_pixel_4=warp=if(below(crazy_bass_effect,0),0,warp); diff --git a/presets/presets_tryptonaut/Unchained & Illusion - Logic Morph.milk b/presets/presets_tryptonaut/Unchained & Illusion - Logic Morph.milk new file mode 100755 index 0000000000..5cedd35c66 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Illusion - Logic Morph.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.00649 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=2 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.9681 +fWaveScale=0.7063 +fWaveSmoothing=0 +fWaveParam=- +fModWaveAlphaStart=0.55 +fModWaveAlphaEnd=1.15 +fWarpAnimSpeed=1.53 +fWarpScale=1.731 +fZoomExponent=1.208145 +fShader=0 +zoom=1.000223 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.263 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.301 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_14=q1=dx_residual; +per_frame_15=q2=dy_residual; +per_frame_16=rot=rot+(dy_residual-dx_residual)*4; +per_frame_17=cy=cy+dy_residual*4; +per_frame_18=cx=cx+dx_residual*4; +per_frame_19=wave_x=wave_x+dx_residual*10; +per_frame_20=wave_y=wave_y+dy_residual*10; +per_frame_21=ob_r=wave_g; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_b=wave_r; +per_frame_24=ib_r=wave_b; +per_frame_25=ib_g=wave_r; +per_frame_26=ib_b=wave_g; +per_frame_27=ob_size=dy_residual; +per_frame_28=ib_size=dx_residual; +per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; +per_pixel_2=rot=rot-(1-zoom); diff --git a/presets/presets_tryptonaut/Unchained & Illusion - Spirit Morph.milk b/presets/presets_tryptonaut/Unchained & Illusion - Spirit Morph.milk new file mode 100755 index 0000000000..63024a6f26 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Illusion - Spirit Morph.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=1.006490 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=2 +nMotionVectorsY=1 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.968100 +fWaveScale=0.780267 +fWaveSmoothing=0.126000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.550000 +fModWaveAlphaEnd=1.150000 +fWarpAnimSpeed=1.530000 +fWarpScale=1.731000 +fZoomExponent=1.208145 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.263000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.301000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_frame_14=q1=dx_residual; +per_frame_15=q2=dy_residual; +per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - For The Seagull.milk b/presets/presets_tryptonaut/Unchained & Rovastar - For The Seagull.milk new file mode 100755 index 0000000000..eda6f7a5de --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - For The Seagull.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.980000 +fVideoEchoZoom=0.999838 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=35.318443 +fWaveScale=0.010000 +fWaveSmoothing=0.792000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.970000 +fWarpAnimSpeed=1.444800 +fWarpScale=86.134796 +fZoomExponent=1.030300 +fShader=0.500000 +zoom=0.992400 +rot=0.000000 +cx=1.069900 +cy=1.069999 +dx=0.000000 +dy=0.000000 +warp=1.307431 +sx=1.000000 +sy=1.000000 +wave_r=0.250000 +wave_g=0.260000 +wave_b=0.270000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=pulse=if(above(abs(pulse),20),-20,pulse+.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed))+(bass+mid+treb)*.025; +per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; +per_frame_16=wave_g=if(bass_changed,.1,bass_flop); +per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); +per_frame_18=ib_b=ib_b+.5*sin(pulse); +per_frame_19=ib_g=ib_g+5*sin(pulse*.8); +per_frame_20=ib_r=ib_r+5*sin(pulse*.8); +per_frame_21=ob_b=wave_r; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_r=wave_g; +per_frame_24=wave_mystery=sin(pulse); +per_frame_25=q1=pulse; +per_frame_26=mv_y = 1.25; +per_pixel_1=rot = rot + 0.04*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) )+ if(above(q1,0),sin(rad)/30,sin(1-rad)/30); +per_pixel_2=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ) + if(above(sin(1.123*time/4),0),sin(1-rad)/40,-sin(rad*q1)/40); diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Luckless.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Luckless.milk new file mode 100755 index 0000000000..08657c1dfd --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Luckless.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999400 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.619082 +rot=0.001900 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); +per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); +per_frame_30=ob_g=.6+.4*sin(time*.413+q4); +per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.1+.05*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.6+.4*q3; +per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=wave_mode=q7; +per_frame_51=zoom=zoom+.1*sin(time*.8); +per_pixel_1=rot = rot + if(below(sin(ang+sin(rad+.5*q4)*5), q6), -rot, 0.5*sin((rad+.5*q1)*4*q5)); +per_pixel_2=zoom=zoom+rot*q3; diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Rainbow Obscura.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Rainbow Obscura.milk new file mode 100755 index 0000000000..8012c1052b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Rainbow Obscura.milk @@ -0,0 +1,78 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.985 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.040271 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.85 +fModWaveAlphaEnd=1.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=-0.19 +cy=-0.1 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.4 +wave_g=0.4 +wave_b=0.4 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=wave_x = 0.01*rand(100); +per_frame_3=wave_r = 1 + sin(-wave_x*3.1415); +per_frame_4=wave_g = abs(sin(2*wave_x*3.1415)); +per_frame_5=wave_b = sin(wave_x*3.1415); +per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); +per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_8=zoom = net_effect; +per_frame_9=rot = rot + rot_residual; +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=shift = (tan(time*7)) -0.05; +per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05*sin(rad*4*sin(time*.8))); +per_pixel_2=zoom=zoom+rot*sin(time*2); diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Slow Solstice.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Slow Solstice.milk new file mode 100755 index 0000000000..bfd4a26469 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Slow Solstice.milk @@ -0,0 +1,100 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.989000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.089269 +fWaveSmoothing=0.720000 +fWaveParam=-0.360000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.009963 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.999999 +sy=0.999830 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.060000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=chaos=.9+.1*sin(pulse-beat); +per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_4=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_6=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_8=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_9=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_10=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_11=q3=sin(pulse); +per_frame_12=q2=sin(pulse+beat); +per_frame_13=q4=sin(beat); +per_frame_14=q5=entropy; +per_frame_15=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_16=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_17=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_19=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_20=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_21=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_22=ob_a=.07+.05*q3; +per_frame_23=ob_size=.01*entropy*bnot(q1%6); +per_frame_24=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_25=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_26=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_27=ib_a=.07+.05*q3*q4; +per_frame_28=ib_size=.005+.005*q3; +per_frame_29=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.92)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_30=zoom=zoom_fade; +per_frame_31=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_32=rot=rot_fade; +per_frame_33=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_34=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); +per_frame_35=wave_mystery=wave_x-.5; +per_pixel_1=zoom = zoom + rad/10 + abs(sin(ang-rad)/10) +q4/10; +per_pixel_2=rot = rot + treb*.001 + sin(treb+rad)/33 -q3/8; diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Triptionary.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Triptionary.milk new file mode 100755 index 0000000000..ecfc0e71db --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Triptionary.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.849581 +fWaveScale=7.858094 +fWaveSmoothing=0.360000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.400000 +ob_size=0.001500 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.017500 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.052); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=wave_r=wave_r+.5*bass_residual; +per_frame_27=wave_g=wave_g+.5*mid_residual; +per_frame_28=wave_b=wave_b+.5*treb_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=.5+.5*q5; +per_frame_39=mv_x=abs(beat*10)*entropy; +per_frame_40=mv_y=mv_x; +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_x = 0.5+sin(2*time)/8; +per_frame_45=wave_y = 0.5-cos(3*time)/6; +per_frame_46=wave_mystery=q5; +per_pixel_1=zoom = 1- log(sqrt(2)-rad)/20 - 0.1*sin(rad)- 0.09*cos(1-rad); +per_pixel_2=rot = log(sqrt(2)-rad)/3- 0.1*cos(time+rad*0.123) - 0.08*sin(time-(1-rad)); diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk new file mode 100755 index 0000000000..d31673efb4 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.5*sin(time*0.894); +per_frame_3=wave_g = 0.5 + 0.5*sin(time*1.14); +per_frame_4=wave_b = 0.5 + 0.5*sin(3-bass_att); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*(0.9+.1*sin(time*2.8))+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_frame_13=decay=.995+.004*sin(time*.369)+.001*sin(time*1.54); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); +per_pixel_3=sx=sx-cos(y*(6.28+3.14*sin(time)))*(.009+.003*sin(time*2.18))*sin(time*.3); +per_pixel_4=rot=sin(x*3.14)*.001*sin(time*.67); diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars.milk new file mode 100755 index 0000000000..701da9033b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Wormhole Pillars.milk @@ -0,0 +1,80 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.438649 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.005000 +ob_r=0.400000 +ob_g=0.300000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = 0.5 + 0.3*sin(time*0.894); +per_frame_3=wave_g = 0.53 + 0.33*sin(time*1.14); +per_frame_4=wave_b = 0.2 + 0.2*(1-bass); +per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*(0.9+.1*sin(time*2.8))+1.3); +per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_8=q1 = thresh; +per_frame_9=dx = 1.1* dx_r; +per_frame_10=dy = 1.1* dy_r; +per_frame_11=dx = dx + if (above(bass,1.35), 31*dx_r, 0); +per_frame_12=dy = if(above(bass,1.3), 0, dy); +per_frame_13=decay=.997+.003*sin(time*.369); +per_pixel_1=zoom = zoom -0.01*q1*rad; +per_pixel_2=zoomexp = 1+0.2*(rad-0.2*q1); +per_pixel_3=sx=sx-cos(y*(6.28+3.14*sin(time)))*.005; +per_pixel_4=rot=sin(x*3.14)*.01*q1; diff --git a/presets/presets_tryptonaut/Unchained & Rovastar - Xen Traffic.milk b/presets/presets_tryptonaut/Unchained & Rovastar - Xen Traffic.milk new file mode 100755 index 0000000000..6cb997c4bc --- /dev/null +++ b/presets/presets_tryptonaut/Unchained & Rovastar - Xen Traffic.milk @@ -0,0 +1,110 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.975000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=0.502368 +fWaveSmoothing=0.360000 +fWaveParam=-0.280000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.942044 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.004000 +ib_r=0.400000 +ib_g=0.400000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=mv_r=mv_r+.5*bass_residual; +per_frame_27=mv_g=mv_g+.5*mid_residual; +per_frame_28=mv_b=mv_b+.5*treb_residual; +per_frame_29=mv_a=1.1-(ob_a+ib_a)*chaos*.5; +per_frame_30=mv_x=abs(beat*10)*entropy; +per_frame_31=mv_y=abs(pulse*10)*entropy; +per_frame_32=mv_l=entropy*(q4-q5); +per_frame_33=wave_r=0.8+0.2*bass_flop*mv_g; +per_frame_34=wave_g=0.3+0.3*mid_flop*mv_b; +per_frame_35=wave_b=0.4+0.3*0.1*treb_flop*mv_r; +per_frame_36=ob_r=0.1 + 0.1*sin(time*1.143)+0.2*mv_g; +per_frame_37=ob_g=0.3 + 0.3*sin(time*0.897)+0.3*mv_b; +per_frame_38=ob_b=0.2+0.5*mv_r; +per_frame_39=treb_effect = max(max(treb, treb_att)-1.2,0); +per_frame_40=mid_effect = max(max(mid,mid_att)-1.2,0); +per_frame_41=ib_r = 1 - ob_b; +per_frame_42=ib_g = 1- mv_g; +per_frame_43=ib_b = 0.5*mv_b + 0.5*ob_b; +per_frame_44=ib_a = if(above(treb_effect,0), if(above(mid_effect,0),1,0),0); +per_pixel_1=bass_effect = max(max(bass,bass_att)-1.18,0); +per_pixel_2=grid=rad*10%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + (sqrt(2)-rad)*10%(above(q1,q5)+above(q2,q4)+above(q3,q5))*q1; +per_pixel_3=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_4=zoom=zoom-bnot(grid)*atan2(x*q3*3.14,y*q5*3.14)*.14*(x*2-1)+0.12*bass_effect; +per_pixel_5=sx=sx+.2*q1*sin(x*1.6)*-grid; +per_pixel_6=sy=sy+.2*q2*sin(y*1.6)*(1-grid); diff --git a/presets/presets_tryptonaut/Unchained - A Matter Of Taste (Remix).milk b/presets/presets_tryptonaut/Unchained - A Matter Of Taste (Remix).milk new file mode 100755 index 0000000000..b58ce43e1f --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - A Matter Of Taste (Remix).milk @@ -0,0 +1,84 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.993 +fVideoEchoZoom=0.99662 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.264366 +fWaveScale=0.264076 +fWaveSmoothing=0.72 +fWaveParam=-0.4 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0.3 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1.06152 +sy=1.06152 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-9.42),1+rand(3),entropy)); +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_4=bass_changed=abs(bass_flop-equal(bass_thresh,2)); +per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_6=treb_changed=abs(treb_flop-equal(treb_thresh,2)); +per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_8=mid_changed=abs(mid_flop-equal(mid_thresh,2)); +per_frame_9=bass_residual = bass_changed*sin(pulse*bass_thresh*.2*entropy) + bnot(bass_changed)*bass_residual; +per_frame_10=treb_residual = treb_changed*sin(pulse*treb_thresh*.2*entropy) + bnot(treb_changed)*treb_residual; +per_frame_11=mid_residual = mid_changed*sin(pulse*mid_thresh*.2*entropy) + bnot(mid_changed)*mid_residual; +per_frame_12=pulse=if(above(abs(pulse),9.42),-9.42,pulse+.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.01); +per_frame_13=q1=mid_residual; +per_frame_14=q2=bass_residual; +per_frame_15=q3=treb_residual; +per_frame_16=q4=sin(pulse); +per_frame_17=q5=cos(pulse); +per_frame_18=wave_mystery=-.2+.2*q4; +per_frame_19=wave_r=wave_r+.5*bass_residual; +per_frame_20=wave_r=wave_g+.5*mid_residual; +per_frame_21=wave_r=wave_b+.5*treb_residual; +per_frame_22=zoom=zoom-.0035*q1; +per_frame_23=decay=decay+.003*sin(pulse); +per_pixel_1=anti_rad=(1-rad); +per_pixel_2=dx=if(below(sin(rad*10*q5),abs(q5)),.02*q1,.025*q2); +per_pixel_3=dy=dy-cos(anti_rad*10*q3-rad*10*q5+rad*10*q4)*.05; +per_pixel_4=zoom=zoom+(dy-1)*(dx-1)*q1*.07; +per_pixel_5=rot=rot+atan(anti_rad*3.14*q3)*abs(zoom-1.2)*above(q2,0); diff --git a/presets/presets_tryptonaut/Unchained - All You Can Eat.milk b/presets/presets_tryptonaut/Unchained - All You Can Eat.milk new file mode 100755 index 0000000000..0321699140 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - All You Can Eat.milk @@ -0,0 +1,96 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.981000 +fVideoEchoZoom=1.006440 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=1.136001 +fWaveSmoothing=0.540000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.950000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.200000 +zoom=0.999800 +rot=0.000000 +cx=0.470000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_11=q3=sin(pulse); +per_frame_12=q2=(pulse/entropy)*.5*chaos; +per_frame_13=q4=sin(q2); +per_frame_14=q5=entropy; +per_frame_15=q1=(1+1*above(q4,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(pulse,0)); +per_frame_16=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_17=wave_g=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.2*bnot(q1%5)-.2*bnot(q1%7); +per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,bass_changed*mid_changed); +per_frame_19=ob_r=ob_r+.2*q4+.3*bnot(q1%7)*q3; +per_frame_20=ob_b=ob_b-.1*bnot(q1%105)-.4*sin(q2*.8); +per_frame_21=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_22=ob_a=.07+.05*q3; +per_frame_23=ob_size=.01*entropy*bnot(q1%6); +per_frame_24=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_25=ib_b=ib_b-.1*bnot(q1%42)-.4*sin(q2*.7); +per_frame_26=ib_g=ib_g+.5*sin(pulse*.5*entropy); +per_frame_27=ib_a=.07+.05*q3*q4; +per_frame_28=ib_size=.005+.005*q3; +per_frame_29=zoom_fade=if(above(q3,0),if(above(q4,0),zoom_fade-.0013,zoom_fade+.002),1+.04*q4); +per_frame_30=zoom=zoom_fade; +per_pixel_1=g1=sin(q2*.04*q5); +per_pixel_2=g2=sin(q2*.05*q5); +per_pixel_3=g3=sin(q2*.06*q5); +per_pixel_4=x_shift=pow(x,2)+x*g1*2+sqr(g1); +per_pixel_5=y_shift=pow(y,2)+y*g2*2+sqr(g2); +per_pixel_6=r_shift=pow(rad,2)+rad*g3*2+sqr(g3); +per_pixel_7=zoom=zoom -sin(x_shift*bnot(q1%10)+y_shift*bnot(q1%14)+r_shift*bnot(q1%21))*q3*(.1+.1*bnot(q1%30)+.1*bnot(q1%7)); +per_pixel_8=dx=dx+bnot(q1%35)*(rad-.5*g3)*g2-cos(y*1.68)*.1*bnot(q1%21); +per_pixel_9=dy=dy-cos(x*1.68)*bnot(q1%10); +per_pixel_10=rot=if(above(sin(q2*4.3),0),.3*above(abs(zoom-1),.05),.3*g3); diff --git a/presets/presets_tryptonaut/Unchained - Bad Karma Oddnezz Style.milk b/presets/presets_tryptonaut/Unchained - Bad Karma Oddnezz Style.milk new file mode 100755 index 0000000000..00821811b2 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Bad Karma Oddnezz Style.milk @@ -0,0 +1,101 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.993000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.750000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=0.300000 +zoom=1.486000 +rot=1.000000 +cx=2.000000 +cy=-1.000000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.1+.1*sin(pulse); +per_frame_6=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_7=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_8=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_9=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_10=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_11=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_12=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_13=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_14=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_15=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_16=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_17=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_18=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0071); +per_frame_19=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_29=ib_b=.5+.5*cos(time*2.811+q2*.1); +per_frame_30=ib_g=.5+.5*cos(time*1.666+q3*.1); +per_frame_31=rot=0; +per_pixel_1=grid=pow((sin(ang*10*q1)+x*y*q4)*2,1+q8*q7%11)%2; +per_pixel_2=snee=(.3+.2*q6)*q3; +per_pixel_3=rot=bnot(grid)*above(x,.5+snee)*above(y,.5-snee) - +per_pixel_4=ang*cos(5+(3.14*q6))*below(x,.5+snee)*below(y,.5-snee)*.05; +per_pixel_5=sx=sx+sin((q8%4+q7%5)*x*3.14)*bnot(rot)*.004; +per_pixel_6=sy=sy+sin((q8%5+q7%4)*y*3.14)*bnot(rot)*.004; +per_pixel_7=zoom=zoom+.1*cos(rad*q8*q7); diff --git a/presets/presets_tryptonaut/Unchained - Beat Demo (Demonology Mix).milk b/presets/presets_tryptonaut/Unchained - Beat Demo (Demonology Mix).milk new file mode 100755 index 0000000000..6a5b20dcbb --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Beat Demo (Demonology Mix).milk @@ -0,0 +1,114 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.996 +fVideoEchoZoom=1 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818 +fWaveScale=0.374038 +fWaveSmoothing=0.81 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.9957 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.968827 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.4241 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.5+.5*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=.5+.5*q1; +per_frame_28=wave_b=.5+.5*q2; +per_frame_29=wave_g=.5+.5*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); +per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); +per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_38=ob_size=.025+.025*sin(q3*3+q1); +per_frame_39=ib_size=.025+.025*sin(q1*3+q3); +per_frame_40=warp=0; +per_frame_41=wave_mystery=wave_mystery+.1*sin(time*2.18+q6); +per_frame_42=wave_x=wave_x+.2*sin(time*.811+q1)+.01*(frame%5)*sign(q3); +per_frame_43=wave_y=wave_y+.2*sin(time*2.3+q2)+.01*q7; +per_frame_44=decay=.996+.004*q3; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=zoom+.05*sin(rad*(q7*2+q5)+q1)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); diff --git a/presets/Unchained - Beat Demo 1.0.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 1.0.milk similarity index 100% rename from presets/Unchained - Beat Demo 1.0.milk rename to presets/presets_tryptonaut/Unchained - Beat Demo 1.0.milk diff --git a/presets/presets_tryptonaut/Unchained - Beat Demo 10.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 10.milk new file mode 100755 index 0000000000..e027d35dc4 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Beat Demo 10.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=3 +fGammaAdj=2 +fDecay=0.981 +fVideoEchoZoom=1.00644 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.868299 +fWaveScale=2.781641 +fWaveSmoothing=0.54 +fWaveParam=0.2 +fModWaveAlphaStart=0.95 +fModWaveAlphaEnd=0.75 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.008151 +fShader=0.2 +zoom=0.9998 +rot=0 +cx=0.47 +cy=0.5 +dx=0.005 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=0 +ib_size=0 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse-beat); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); +per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); +per_frame_12=q3=sin(pulse); +per_frame_13=q2=sin(pulse+beat); +per_frame_14=q4=sin(beat); +per_frame_15=q5=entropy; +per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); +per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); +per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); +per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); +per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; +per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; +per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); +per_frame_23=ob_a=.07+.05*q3; +per_frame_24=ob_size=.01*entropy*bnot(q1%6); +per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; +per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); +per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); +per_frame_28=ib_a=.07+.05*q3*q4; +per_frame_29=ib_size=.005+.005*q3; +per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); +per_frame_31=zoom=zoom_fade; +per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); +per_frame_33=rot=rot_fade; +per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; +per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets/Unchained - Beat Demo 2.0.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.0.milk similarity index 100% rename from presets/Unchained - Beat Demo 2.0.milk rename to presets/presets_tryptonaut/Unchained - Beat Demo 2.0.milk diff --git a/presets/Unchained - Beat Demo 2.1.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.1.milk similarity index 100% rename from presets/Unchained - Beat Demo 2.1.milk rename to presets/presets_tryptonaut/Unchained - Beat Demo 2.1.milk diff --git a/presets/Unchained - Beat Demo 2.2.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.2.milk similarity index 100% rename from presets/Unchained - Beat Demo 2.2.milk rename to presets/presets_tryptonaut/Unchained - Beat Demo 2.2.milk diff --git a/presets/Unchained - Beat Demo 2.3.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.3.milk similarity index 100% rename from presets/Unchained - Beat Demo 2.3.milk rename to presets/presets_tryptonaut/Unchained - Beat Demo 2.3.milk diff --git a/presets/presets_tryptonaut/Unchained - Beat Demo 2.4.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.4.milk new file mode 100755 index 0000000000..5b6f050e87 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Beat Demo 2.4.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.994000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818016 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998217 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.007); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=wave_r+wave_r*q1; +per_frame_28=wave_b=wave_b+wave_b*q2; +per_frame_29=wave_g=wave_g+wave_g*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_mode=q8%7; +per_frame_43=bdecay=.99+q8*.0005; +per_pixel_1=c1=x*q1; +per_pixel_2=c2=y*q2; +per_pixel_3=c3=rad*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=radix=if(above(q4,0),min(radix*q1,radix*q2),max(radix*q1,radix*q3)); +per_pixel_7=rot=cos(radix*q7*1.386+rad*q8*above(q7,4))*(.75+.25*q4); +per_pixel_8=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.1*sin(3.14*radix),1+.1*sin(radix*q8*1.618))); +per_pixel_9=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_10=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_11=sx=sx-if(bnot(q7%2),if(bnot(checky),q3*.3,.3*q2*sin(radix)),.1*q4*above(q7,3)); +per_pixel_12=sy=sy-if(bnot(q7%2),if(bnot(checkx),q2*.3,.3*q3*sin(radix)),.1*q1*above(q7,3)); diff --git a/presets/presets_tryptonaut/Unchained - Beat Demo 2.5.milk b/presets/presets_tryptonaut/Unchained - Beat Demo 2.5.milk new file mode 100755 index 0000000000..11092ecec1 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Beat Demo 2.5.milk @@ -0,0 +1,123 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.818000 +fWaveScale=0.653000 +fWaveSmoothing=0.810000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998217 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.424100 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.5+.5*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); +per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); +per_frame_19=q1=mid_residual; +per_frame_20=q2=bass_residual; +per_frame_21=q3=treb_residual; +per_frame_22=q4=sin(pulse); +per_frame_23=q5=cos(pulse*(.5+.1*entropy)); +per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q8=entropy; +per_frame_27=wave_r=.5+.5*q1; +per_frame_28=wave_b=.5+.5*q2; +per_frame_29=wave_g=.5+.5*q3; +per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); +per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); +per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); +per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); +per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); +per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); +per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_38=ob_size=.1+.1*sin(q3*3+q1); +per_frame_39=ib_size=.1+.1*sin(q1*3+q3); +per_frame_40=wave_mystery=.5*q6; +per_frame_41=warp=0; +per_frame_42=wave_x=wave_x+.04*sin(time*2.8); +per_frame_43=wave_y=wave_y+.04*sin(time*2.3); +per_frame_44=wave_mode=q8%8; +per_pixel_1=c1=x*q1; +per_pixel_2=c2=y*q2; +per_pixel_3=c3=abs(x-y)*q3; +per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); +per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); +per_pixel_6=radix=if(above(q4,0),min(radix*q1,radix*q2),max(radix*q1,radix*q3)); +per_pixel_7=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_8=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_9=sx=sx-if(bnot(q7%2),if(bnot(checky),q3*.3,.3*q2*sin(radix)),.1*q4*below(q7,3)); +per_pixel_10=sy=sy-if(above(q7,3),if(bnot(checkx),q2*.3,.3*q3*sin(radix)),.1*q1*(q7%2)); +per_pixel_11=gridx=bnot((x*q8)%q7); +per_pixel_12=gridy=bnot((y*q8)%q7); +per_pixel_13=rot=gridy*.5*cos(radix*3.14*q5)+rot*gridx*.5*cos(radix*3.14*q6); +per_pixel_14=fleem=sin(.005*(q7-3)*bnot(bor(above(x,.8)*above(y,.8),below(x,.2)*below(y,.2)))*sin(radix)*q8); +per_pixel_15=dx=dx+fleem; +per_pixel_16=dy=dy+if(q8%2,fleem,-fleem); diff --git a/presets/presets_tryptonaut/Unchained - Beyond The Strife Nexus.milk b/presets/presets_tryptonaut/Unchained - Beyond The Strife Nexus.milk new file mode 100755 index 0000000000..9895945598 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Beyond The Strife Nexus.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999700 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573208 +fWaveScale=0.282091 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.998137 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=19.199999 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.995+.0025*q3+.0025*q1; +per_frame_55=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_56=mv_r=1-ob_g; +per_frame_57=mv_b=1-ob_r; +per_frame_58=mv_g=1-ob_b; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=(1+.01*sin(rad*q7+q5)*bnot(snee)*if(snur,-1,1))*(1+.03*q1*atan(ang*q4-rot*q2)); +per_pixel_6=sx=sx+.001*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.001*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_9=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_10=dx=checkx*sin(x*q3*6.29)*rot; +per_pixel_11=dy=checky*sin(y*q3*6.29)*rot; +per_pixel_12=rot=if(above(y,.5),rot*.01,rot*zoom*.005); +per_pixel_13=dx=dx*atan2(pow(ang*q4,1+q7),ang*sin(rad*3.14*q2)); +per_pixel_14=dy=dy*atan2(pow(ang*q5,1+(q8%6)),ang*sin(y*3.14*q1)); diff --git a/presets/presets_tryptonaut/Unchained - Cartoon Factory.milk b/presets/presets_tryptonaut/Unchained - Cartoon Factory.milk new file mode 100755 index 0000000000..5fa131d422 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Cartoon Factory.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.014853 +fWaveScale=0.098608 +fWaveSmoothing=0.810000 +fWaveParam=-0.400000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.502500 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.100000 +wave_y=0.900000 +ob_size=0.010000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*3.14+q2*3.14+q3*3.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=wave_r=.5+.5*sin(q1+abs(q4*2.14)); +per_frame_29=wave_b=.5+.5*sin(q2+abs(q5*2.14)); +per_frame_30=wave_g=.5+.5*sin(q3+abs(q6*2.14)); +per_frame_31=ob_r=ob_r+ob_r*sin(q1+q2*2.14); +per_frame_32=ob_b=ob_b+ob_b*sin(q2+q3*2.14); +per_frame_33=ob_g=ob_g+ob_g*sin(q3+q1*2.14); +per_frame_34=ib_r=ib_r+ib_r*cos(q5+q1*2.14); +per_frame_35=ib_b=ib_b+ib_*cos(q5+q2*2.14); +per_frame_36=ib_g=ib_g+ib_g*cos(q5+q3*2.14); +per_frame_37=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_38=ib_a=.25+.25*sin(q2*2.14+q3); +per_frame_39=ob_size=.1+.1*sin(q3*3+q1); +per_frame_40=ib_size=.15+.05*sin(q1*3+q3); +per_frame_41=mv_r=mv_r+.5*sin(q4+q5*6*q1); +per_frame_42=mv_b=mv_b+.5*sin(q4+q5*6*q2); +per_frame_43=mv_g=mv_g+.5*sin(q5+q5*6*q3); +per_frame_44=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_45=mv_l=.1*q8; +per_frame_46=mv_x=q8*q7; +per_frame_47=mv_y=q8*q7; +per_frame_48=wave_mystery=wave_mystery+.25*sin(time*q4); +per_frame_49=echo_zoom=1+.2*q1+.2*q5+.3*q4; +per_frame_50=echo_orientation=q7%3; +per_pixel_1=dx=sin(pow(x,2)*3.14*q3); +per_pixel_2=dy=sin(pow(y,2)*3.14*q2); +per_pixel_3=rot=sin(rad*3.14*q1); diff --git a/presets/presets_tryptonaut/Unchained - Cranked On Failure.milk b/presets/presets_tryptonaut/Unchained - Cranked On Failure.milk new file mode 100755 index 0000000000..db0ad7850a --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Cranked On Failure.milk @@ -0,0 +1,97 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.320553 +fWaveScale=1 +fWaveSmoothing=0.45 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1.772 +fZoomExponent=1.96 +fShader=0.19 +zoom=0.999698 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.513 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0.58 +ib_size=0.015 +ib_r=0.55 +ib_g=1 +ib_b=0.4999 +ib_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(radix*3.14*(q1+q2+q3))); +per_pixel_4=zoom=if(above(q2,0),zoom-cos(radix*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/Unchained - Deeper Logic.milk b/presets/presets_tryptonaut/Unchained - Deeper Logic.milk new file mode 100755 index 0000000000..d5f0f2bbcf --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Deeper Logic.milk @@ -0,0 +1,98 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=0.998169 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.740000 +fWaveScale=0.656000 +fWaveSmoothing=0.800000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.190000 +zoom=0.999698 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.580000 +ib_size=0.015000 +ib_r=0.550000 +ib_g=1.000000 +ib_b=0.499900 +ib_a=0.230000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.03+.02*wave_r; +per_frame_33=ob_size=.05+.04*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_a=.03+.02*wave_g; +per_frame_38=ib_size=.05+.04*bass_residual; +per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); +per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_3=rot=if(above(q4,0),rad*.2*q5,0); +per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets/presets_tryptonaut/Unchained - Demonology.milk b/presets/presets_tryptonaut/Unchained - Demonology.milk new file mode 100755 index 0000000000..39f5e80b7a --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Demonology.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999900 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.868000 +fWaveScale=0.282091 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001700 +fShader=0.000000 +zoom=0.988100 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51=wave_mode=q7; +per_frame_52=xcy=cy+.5*q4; +per_pixel_1=snee=bnot(above(x,.5)*above(q2,0)+above(y,.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=pow(sin(rad*6*sin(q8)+x*y*16*q1)*2,1+q8%3)*(1+q7); +per_pixel_4=rot=snee*bnot(below(y,.5)*below(q7,3))*if(bnot(grid%q8),1,.1*sin(rad*3.14*q3)); +per_pixel_5=zoom=zoom-.031*snur*sin(rad*q7*q5)+snee*bnot(snur)*sin(rad*6*q5)*.1; +per_pixel_6=sx=sx+.0361*bnot(snee)*cos(y*3.14*q4); +per_pixel_7=sy=sy+.00361*bnot(snur)*cos(x*3.14*q6); diff --git a/presets/presets_tryptonaut/Unchained - Free to Feel (Valium Remix).milk b/presets/presets_tryptonaut/Unchained - Free to Feel (Valium Remix).milk new file mode 100755 index 0000000000..8b5b9689c9 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Free to Feel (Valium Remix).milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.986000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.741913 +fWaveScale=2.468550 +fWaveSmoothing=0.360000 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=old_bass_flop=bass_flop; +per_frame_5=old_treb_flop=treb_flop; +per_frame_6=old_mid_flop=mid_flop; +per_frame_7=chaos=.9+.1*sin(beat); +per_frame_8=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_10=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_11=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_12=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_13=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_14=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_15=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_16=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_17=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_18=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_19=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_20=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_21=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_22=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_23=q1=mid_residual; +per_frame_24=q2=bass_residual; +per_frame_25=q3=treb_residual; +per_frame_26=q4=sin(pulse); +per_frame_27=q5=sin(beat); +per_frame_28=mv_r=mv_r+.5*bass_residual; +per_frame_29=mv_g=mv_g+.5*mid_residual; +per_frame_30=mv_b=mv_b+.5*treb_residual; +per_frame_31=mv_a=1-(ob_a+ib_a)*chaos*.5; +per_frame_32=mv_x=abs(beat*10)*entropy; +per_frame_33=mv_y=abs(pulse*10)*entropy; +per_frame_34=mv_l=entropy*(q4-q5); +per_frame_35=wave_r=bass_flop*mv_g; +per_frame_36=wave_g=mid_flop*mv_b; +per_frame_37=wave_b=treb_flop*mv_r; +per_frame_38=ob_r=wave_r; +per_frame_39=ob_g=wave_g; +per_frame_40=ob_b=wave_b; +per_pixel_1=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5))*rand(10); +per_pixel_2=rot=if(grid,.12*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_3=zoom=zoom-bnot(grid)*sin(x*q3*3.14+y*q5*3.14)*.1; diff --git a/presets/presets_tryptonaut/Unchained - Fuzzy Sciences.milk b/presets/presets_tryptonaut/Unchained - Fuzzy Sciences.milk new file mode 100755 index 0000000000..cee2fb3b01 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Fuzzy Sciences.milk @@ -0,0 +1,126 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999786 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.842588 +fWaveScale=0.445820 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.759877 +fShader=0.000000 +zoom=0.991498 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.700000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.800000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_34=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_35=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_36=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_37=q7=mod_state; +per_frame_38=q8=ccl; +per_frame_39=ob_r=.5+.5*cos(q1+q7); +per_frame_40=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_41=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_42=ib_size=.025+.02*q2; +per_frame_43=ob_size=.03+.02*q3-.002*q7; +per_frame_44=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_45=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_46=wave_b=.5+.5*cos(q3+time*1.541); +per_frame_47= +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.02*q4; +per_frame_51=decay=.997+.003*q3; +per_frame_52=wave_mode=q7%4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*20*q2)%q7)) +per_pixel_5=*cos(rad*q2+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4*.1; +per_pixel_6=zoom=zoom-.5*cos(ang*3*q6+q2)*sign(if(q8%4,bnot(snee),snee))*q5; +per_pixel_7=rot=if(rot,rot*sign(if(above(q3,0),snur,bnot(snur))),q6); +per_pixel_8=cx=if(below(x,.5+.5*q4)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5+.5*q5),.5+.2*q3,.5); +per_pixel_10=rot=rot*(1-.2*above(.5+q3+q5*2,0)-.2*grid*above(.5+q2+q6,0))*bnot(q8%q7); +per_pixel_11=zoom=if(above(.5+q1+q2+q4*2,0),zoom-.02*snur,zoom-.05*cos(rad*6*q2+q4*3+q5*x+q6*y)); diff --git a/presets/presets_tryptonaut/Unchained - Games With Light & Sound.milk b/presets/presets_tryptonaut/Unchained - Games With Light & Sound.milk new file mode 100755 index 0000000000..7ad8367cbc --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Games With Light & Sound.milk @@ -0,0 +1,127 @@ +[preset00] +fRating=2 +fGammaAdj=2.12 +fDecay=1 +fVideoEchoZoom=2.986806 +fVideoEchoAlpha=0.9 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573208 +fWaveScale=0.282091 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=0.9687 +rot=0 +cx=0.02 +cy=0.02 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=0.2 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.6 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=decay=.995+.0025*q3+.0025*q1; +per_frame_53=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_54=mv_r=1-ob_g; +per_frame_55=mv_b=1-ob_r; +per_frame_56=mv_g=1-ob_b; +per_frame_57=zoom=.999+.001*q1; +per_frame_58=cx=0.5; +per_frame_59=cy=0.5; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); +per_pixel_4=zoom=zoom+.03*if(above(grid,0),q6*snee,q5*snur); +per_pixel_5=rot=sin((x*q4+y*q5)*3.14)*.01; diff --git a/presets/presets_tryptonaut/Unchained - Ghostlight Whisper.milk b/presets/presets_tryptonaut/Unchained - Ghostlight Whisper.milk new file mode 100755 index 0000000000..a45440c3c2 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Ghostlight Whisper.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.982000 +fVideoEchoZoom=1.160967 +fVideoEchoAlpha=0.200000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.625316 +fWaveScale=0.359738 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999600 +fShader=0.030000 +zoom=0.999300 +rot=0.020000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.180000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q7=entropy; +per_frame_27=q8=sin(q6*q1+q7*q2); +per_frame_28=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); +per_frame_29=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); +per_frame_30=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); +per_frame_31=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); +per_frame_32=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); +per_frame_33=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); +per_frame_34=mv_a=mv_a+mv_a*sin(q2+q3+q5*1.14); +per_frame_35=mv_l=(q7)*2; +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39=wave_x=wave_x+.03*q7*q4; +per_frame_40=wave_y=wave_x+.01*q6*q5; +per_frame_41=mv_x=q6*q7; +per_frame_42=mv_y=q6*q7; +per_frame_43=zoom=zoom+.01*q1; +per_pixel_1=gridx=bnot((q7*sin(x*3.14))%2); +per_pixel_2=gridy=bnot((q7*sin(y*3.14))%2); +per_pixel_3=dx=sin((y-0.5)*q1*6.2)*.01+q5*sin((y-0.5)*q2*6.2)*.01; +per_pixel_4=dy=cos((x-0.5)*q2*6.2)*.01+q4*cos((x-0.5)*q1*6.2)*.01; +per_pixel_5=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q5))*(10+q7)); +per_pixel_6=rot=rot*sign(grid)*q4; +per_pixel_7=sx=sx+grid*.03; +per_frame_init_1=entropy=2; diff --git a/presets/presets_tryptonaut/Unchained - God Of The Game (Remix).milk b/presets/presets_tryptonaut/Unchained - God Of The Game (Remix).milk new file mode 100755 index 0000000000..a44dc56d6f --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - God Of The Game (Remix).milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.976000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=15 +nMotionVectorsY=6 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.876469 +fWaveScale=0.944293 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.150000 +fModWaveAlphaEnd=0.750000 +fWarpAnimSpeed=1.530000 +fWarpScale=1.731000 +fZoomExponent=1.003424 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.140100 +sx=1.006000 +sy=0.999900 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=chaos=.9+.1*sin(pulse); +per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); +per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); +per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); +per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_11=q3=sin(pulse); +per_frame_12=q2=(pulse/entropy)*.5*chaos; +per_frame_13=q4=sin(q2); +per_frame_14=q5=entropy; +per_frame_15=q1=(1+1*above(q4,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(pulse,0))*(1+10*bass_changed*above(pulse,0))*(1+12*treb_changed*above(q4,0)); +per_frame_16=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_17=wave_g=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.2*bnot(q1%5)-.2*bnot(q1%7); +per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,bass_changed*mid_changed); +per_frame_19=ob_r=if(bass_changed,wave_r,wave_g); +per_frame_20=ob_b=if(bnot(q1%14),.5+.5*q3,wave_b); +per_frame_21=ob_g=if(mid_changed,wave_g,wave_b); +per_frame_22=ob_a=.07+.05*q3; +per_frame_23=ob_size=.01*entropy*bnot(q1%6); +per_frame_24=ib_r=if(bnot(q1%13),wave_r,wave_b); +per_frame_25=ib_b=if(bnot(q1%11),bnot(q1%21),wave_g); +per_frame_26=ib_g=ib_g+.5*sin(time*.02*entropy); +per_frame_27=ib_a=.07+.05*q3*q4; +per_frame_28=ib_size=.01+.009*q3; +per_pixel_1=bend = cos(abs(x*10-5)*q2*bnot(q1%11)+(rad*10*q2-10*q3)*bnot(q1%7)+abs(y*10*q4-10*q3)*bnot(q1%13)); +per_pixel_2=zoom = zoom+bend*.05*bnot(q1%22); +per_pixel_3=dx=if(bnot(q1%5),dx,0); +per_pixel_4=dy=if(bnot(q1%3),dx,0); +per_pixel_5=grid=x*100%q5 + y*100%q5; +per_pixel_6=sx=sx-if(bnot(q1%10),if(bnot(grid),q3/2,.03),.1*q2*bnot(q1%77)); +per_pixel_7=sy=sy-if(bnot(q1%21),if(bnot(grid),q2/2,.03),.1*q3*bnot(q1%26)); diff --git a/presets/presets_tryptonaut/Unchained - Goo Kung Fu.milk b/presets/presets_tryptonaut/Unchained - Goo Kung Fu.milk new file mode 100755 index 0000000000..5d50a13870 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Goo Kung Fu.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.974000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.074092 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.010000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_r = wave_r + 0.25*(0.6*sin(0.784*time) + 0.4*sin(0.986*time)); +per_frame_3=wave_g = wave_g + 0.25*(0.6*sin(0.671*time) + 0.4*sin(1.164*time)); +per_frame_4=wave_b = wave_b + 0.25*(0.6*sin(1.423*time) + 0.4*sin(0.687*time)); +per_frame_5=zoom=zoom+mid_att*.1; +per_pixel_1=timer_a=10*sin(time); +per_pixel_2=timer_b=10*sin(time*.5); +per_pixel_3=ripple_x=cos(x*timer_a-timer_b)*bass_att; +per_pixel_4=ripple_y=cos(y*timer_a-timer_b)*treb_att; +per_pixel_5=ripple_r=cos(rad*timer_b-timer_a)*mid_att; +per_pixel_6=ripple=ripple_x+ripple_y+ripple_r; +per_pixel_7=zoom=zoom+ripple*.1; diff --git a/presets/presets_tryptonaut/Unchained - Goofy Beat Detection.milk b/presets/presets_tryptonaut/Unchained - Goofy Beat Detection.milk new file mode 100755 index 0000000000..3f47741e28 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Goofy Beat Detection.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.992 +fVideoEchoZoom=0.9994 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.0592 +fWaveScale=0.653093 +fWaveSmoothing=0.27 +fWaveParam=-0.38 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=5.99579 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=1.008 +rot=0.0019 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.9 +ib_b=0.5 +ib_a=1 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=1 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); +per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); +per_frame_30=ob_g=.6+.4*sin(time*.413+q4); +per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.05+.03*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.6+.4*q3; +per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=wave_mode=q7; +per_frame_51=zoom=1+.7*sin(time*1.51); +per_pixel_1=rot=if(above(q4,0),rad*.2*q5,sin(rad*(q4+q3))); +per_pixel_2=zoom=if(above(q2,0),zoom+(1-zoom)*rot*cos(rad*3.14*q2),if(above(q3,0)*above(x,.5+.5*q5),zoom+(1-zoom)*sin(q1*rot*3.14),zoom+(1-zoom)*cos(rad*10*q6))); +per_pixel_3=dx=above(q1,0)*sin(rad*.5*q2); +per_pixel_4=dy=above(q3,0)*sin(rad*.5*q3); diff --git a/presets/presets_tryptonaut/Unchained - Hard Science.milk b/presets/presets_tryptonaut/Unchained - Hard Science.milk new file mode 100755 index 0000000000..4069eb7954 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Hard Science.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998169 +fShader=0.000000 +zoom=1.001500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.02*q1+.02*q2+.02*q3; +per_frame_51=sx=sx+q1*q5*.1; +per_frame_52=sy=sy+q2*q6*.1; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=sign(if(q7%2,above(x,.5+.5*q3),below(x,.5+.5*q1))+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.04*sin(rad*3.14*q2+q5)*sign(above(sin(ang*(q7+q3)),0))*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_tryptonaut/Unchained - Housed In A Childish Mind.milk b/presets/presets_tryptonaut/Unchained - Housed In A Childish Mind.milk new file mode 100755 index 0000000000..2a8bdedd8d --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Housed In A Childish Mind.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999700 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=25.573200 +fWaveScale=1.135639 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.998170 +fShader=0.000000 +zoom=0.998137 +rot=1.000000 +cx=2.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.600000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); +per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); +per_frame_51= +per_frame_52=cy=.5+.5*q4+sin(time*.086); +per_frame_53= +per_frame_54=decay=.995+.0025*q3+.0025*q1; +per_frame_55=mv_a=above(q2,0)*(.1+.1*q5); +per_frame_56=mv_r=1-ob_g; +per_frame_57=mv_b=1-ob_r; +per_frame_58=mv_g=1-ob_b; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5+.5*y*q6)*above(q3,0)+below(y,.5+.5*sin(x*6.28*q1))*below(q7,4)); +per_pixel_3=grid=sin((rad*q1+x*q2+y*q3+ang*q4)*(10+q7)); +per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); +per_pixel_5=zoom=(1+.01*sin(rad*q7+q5)*bnot(snee)*if(snur,-1,1))*(1+.03*q1*atan(ang*q4-rot*q2)); +per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_9=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_10=dx=checkx*sin(x*q3*6.29)*rot; +per_pixel_11=dy=checky*sin(y*q3*6.29)*rot; +per_pixel_12=rot=if(above(y,.5+.5*x*q3),rot*.01,rot*zoom*.005); +per_pixel_13=dx=dx*atan2(pow(ang*q4,1+q7),ang*sin(rad*3.14*q2)); +per_pixel_14=dy=dy*atan2(pow(ang*q5,1+(q8%6)),ang*sin(y*3.14*q1)); diff --git a/presets/presets_tryptonaut/Unchained - In Memory Of Peg.milk b/presets/presets_tryptonaut/Unchained - In Memory Of Peg.milk new file mode 100755 index 0000000000..f3cf36d9ff --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - In Memory Of Peg.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.104060 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.3*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.5*sin(time*1.69); +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=rot=sin(rad*(xx*q4+yy*q5+1.7*q6)); diff --git a/presets/presets_tryptonaut/Unchained - Invariant Under Rigorous Motions.milk b/presets/presets_tryptonaut/Unchained - Invariant Under Rigorous Motions.milk new file mode 100755 index 0000000000..2e876d9d28 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Invariant Under Rigorous Motions.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.992000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=100.000000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008150 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.990099 +sy=0.990099 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.2*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.025); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=zoom=zoom-.0035*q1; +per_frame_29=rot=.05*q3; +per_frame_30=wave_mystery=below(q1,0); +per_pixel_1=disk_shift = if(equal(abs(sin(ang)), if(above(q1,0),0,1)), -rot, sign(q3)*.1); +per_pixel_2=timer=q4; +per_pixel_3=x_or_y=if(above(q1,0),y,x); +per_pixel_4=rot = 0 + if(equal(x_or_y*10%2,0),if(below(timer,0),disk_shift,rot),if(above(timer,0),-disk_shift,0)); +per_pixel_5=zoom=zoom+rot; diff --git a/presets/presets_tryptonaut/Unchained - Jaded Emotion.milk b/presets/presets_tryptonaut/Unchained - Jaded Emotion.milk new file mode 100755 index 0000000000..47d53c84f2 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Jaded Emotion.milk @@ -0,0 +1,75 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=0.99663 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.005729 +fWaveScale=7.184967 +fWaveSmoothing=0.9 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.25 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=0.1 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + bass*.5; +per_frame_3=wave_g = wave_g + treb*.5; +per_frame_4=wave_b = wave_b + mid*.5; +per_frame_5=ib_r = ib_r + .4*sin(time*.222); +per_frame_6=ib_g = ib_g + .4*sin(time*.333); +per_frame_7=ib_b = ib_b + .4*sin(time*.111); +per_frame_8=ib_a = ib_a + .05*sin(time*.555); +per_frame_9=ib_size = ib_size + .24*sin(time*.444); +per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_11=cx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*cx_residual; +per_frame_12=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_13=cy_residual = equal(treb_thresh,2)*0.016*sin(time*7) + (1-equal(treb_thresh,2))*cy_residual; +per_frame_14=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_15=rot_residual = equal(mid_thresh,2)*0.016*sin(time*7) + (1-equal(mid_thresh,2))*rot_residual; +per_frame_16=cx=cx_residual+sin(time*.888); +per_frame_17=cy=cy_residual+sin(time*.999); +per_frame_18=rot=rot_residual*3; +per_pixel_1=zoom=zoom+cos(rad*10*sin(time*.666))*.07; diff --git a/presets/presets_tryptonaut/Unchained - Jaundice.milk b/presets/presets_tryptonaut/Unchained - Jaundice.milk new file mode 100755 index 0000000000..cd189135d7 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Jaundice.milk @@ -0,0 +1,103 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.983999 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.583010 +fWaveScale=0.411715 +fWaveSmoothing=0.900000 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.030300 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=mv_r=mv_r+.5*bass_residual; +per_frame_27=mv_g=mv_g+.5*mid_residual; +per_frame_28=mv_b=mv_b+.5*treb_residual; +per_frame_29=mv_a=1-(ob_a+ib_a)*chaos*.5; +per_frame_30=mv_x=abs(beat*10)*entropy; +per_frame_31=mv_y=abs(pulse*10)*entropy; +per_frame_32=wave_r=bass_flop*mv_g; +per_frame_33=wave_g=mid_flop*mv_b; +per_frame_34=wave_b=treb_flop*mv_r; +per_frame_35=ob_r=wave_r; +per_frame_36=ob_g=wave_g; +per_frame_37=ob_b=wave_b; +per_pixel_1=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5)); +per_pixel_2=rot=if(grid,.07*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),0); +per_pixel_3=zoom=zoom-bnot(grid)*sin(x*q3*3.14+y*q5*3.14)*.07; diff --git a/presets/presets_tryptonaut/Unchained - Making a Science of It 3.milk b/presets/presets_tryptonaut/Unchained - Making a Science of It 3.milk new file mode 100755 index 0000000000..4b016369ce --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Making a Science of It 3.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.560001 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=0.266717 +fWaveSmoothing=0.090000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.468457 +fShader=0.000000 +zoom=0.962731 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; +per_pixel_5=zoom=zoom+.04*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx+.3*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); +per_pixel_7=sy=sy+.3*bor(bnot(snee),snur)*cos(x*3.14*q6); +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; +per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets/presets_tryptonaut/Unchained - Making a Science of It 4.milk b/presets/presets_tryptonaut/Unchained - Making a Science of It 4.milk new file mode 100755 index 0000000000..5676337b5b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Making a Science of It 4.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2 +fGammaAdj=1.560001 +fDecay=1 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.419996 +fWaveScale=0.972362 +fWaveSmoothing=0.09 +fWaveParam=0.02 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.468457 +fShader=0 +zoom=1.001789 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=1 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=decay=.997+.0015*q3+.0015*q1; +per_frame_50=ob_a=.5+.5*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; +per_pixel_5=zoom=zoom+.01*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); +per_pixel_6=sx=sx-bor(bnot(snee),bnot(snur))*cos(y*3.14*q4)*.04; +per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*3.14*q6)*.04; +per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; +per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets/presets_tryptonaut/Unchained - Making a Science of It 7.milk b/presets/presets_tryptonaut/Unchained - Making a Science of It 7.milk new file mode 100755 index 0000000000..e930e2897b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Making a Science of It 7.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.001830 +fShader=0.000000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.04*q4; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5= *cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*3.14*q2+q5)*sign(snee); +per_pixel_7=rot=if(rot,rot*sign(snur),q6); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_tryptonaut/Unchained - Morat's Final Voyage.milk b/presets/presets_tryptonaut/Unchained - Morat's Final Voyage.milk new file mode 100755 index 0000000000..a6fa4b08c8 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Morat's Final Voyage.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.976151 +fWaveScale=0.931 +fWaveSmoothing=0.18 +fWaveParam=-0.32 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=2.3 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0.5 +ob_g=0.5 +ob_b=0.5 +ob_a=1 +ib_size=0.01 +ib_r=0.5 +ib_g=0.5 +ib_b=0.5 +ib_a=1 +per_frame_1=warp = 0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=pulse=if(above(abs(pulse),5000),-5000,pulse+mid_att*.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)); +per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; +per_frame_16=wave_g=if(bass_changed,.1,bass_flop); +per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); +per_frame_18=ib_b=ib_b+.5*sin(pulse); +per_frame_19=ib_g=ib_g+5*sin(pulse*.8); +per_frame_20=ib_r=ib_r+5*sin(pulse*.8); +per_frame_21=ob_b=wave_r; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_r=wave_g; +per_frame_24=wave_mystery=sin(pulse); +per_frame_25=q1=pulse; +per_pixel_1=zoom=zoom-cos(x*10*sin(time+q1*.9)-10*sin(time+q1))*.1-sin(rad*10*sin(time+q1*.5))*.1; +per_pixel_2=rot=rot+abs(1-zoom)*sin(time+q1)*2; diff --git a/presets/presets_tryptonaut/Unchained - Non-Professional Music Analyzer.milk b/presets/presets_tryptonaut/Unchained - Non-Professional Music Analyzer.milk new file mode 100755 index 0000000000..408eb187c2 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Non-Professional Music Analyzer.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.958904 +fWaveScale=0.010000 +fWaveSmoothing=0.540000 +fWaveParam=-0.460000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=monitor=warp/100; +per_frame_18=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_19=entropy=if(bass_changed*mid_changed*treb_changed,bass_flop+treb_flop+mid_flop+rand(5),entropy); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=mv_r=.5+.5*sin(q4*.3+time*1.678); +per_frame_29=mv_b=.5+.5*sin(q4*.3+time*.789); +per_frame_30=mv_g=.5+.5*sin(q5*.3+time*.456); +per_frame_31=mv_a=.3+.3*sin(time*1.178+q5*1.14); +per_frame_32=wave_r=1-if(above(q7,3),ib_g,ob_g); +per_frame_33=wave_b=1-if(below(q7,3),ib_r,ob_r); +per_frame_34=wave_g=1-if(q7%3,ib_b,ob_b); +per_frame_35=wave_y=.25+.25*q2+.5*bnot(frame%3); +per_frame_36=wave_mystery=wave_mystery+.05*q3; +per_frame_37=wave_x=wave_x+.01*q4;; +per_frame_38=warp=0; +per_frame_39=rot=0; +per_frame_40=decay=.905+.005*q3; +per_frame_41=wave_mode=4*bnot(frame%3); +per_pixel_1=zoom = zoom + (q1*.005); +per_pixel_2=dy = if(below(y,.5+.5*q1),-.01*rand(10),0); +per_pixel_3=rot=.01*sin((y-.5)*3.14*q2); diff --git a/presets/presets_tryptonaut/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk b/presets/presets_tryptonaut/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk new file mode 100755 index 0000000000..d6127c783b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.224562 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.199900 +wave_b=0.700000 +wave_x=0.600000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.030000 +ob_g=0.150000 +ob_b=0.250000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.100000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.010000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.250000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=ang = time*1.4; +shape_1_per_frame2=x = 0.5 + 0.08*cos(time*1.1) + 0.03*cos(time*0.7); +shape_1_per_frame3=y = 0.5 + 0.08*sin(time*1.1) + 0.03*sin(time*0.7); +shape_1_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); +shape_1_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); +shape_1_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); +shape_1_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); +shape_1_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); +shape_1_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=q1; +per_frame_39=mv_x=rand(30); +per_frame_40=mv_y=rand(30); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_mode=4+4*q4; +per_pixel_1=newx = x - abs(q1); +per_pixel_2=newy = y - abs(q2); +per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_4=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_5=dx = (newx)*newzoom - newx; +per_pixel_6=dy = (newy)*newzoom - newy; +per_pixel_7=rot = -0.1*newrad*(0.5*rad+0.1); +per_pixel_8=zoom = zoom+.07*cos(x*10*q3); +per_pixel_9=rot = rot * (zoom-1); diff --git a/presets/presets_tryptonaut/Unchained - Perverted Dialect.milk b/presets/presets_tryptonaut/Unchained - Perverted Dialect.milk new file mode 100755 index 0000000000..139c324e90 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Perverted Dialect.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.983000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=2.047093 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=3.394161 +fShader=0.000000 +zoom=1.008148 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + if(above(bass_att,1.4),1,.49*sin(time*2)); +per_frame_3=wave_g = wave_g + if(above(bass_att,1.4),0,if(above(treb_att,1.4),1,.49*sin(time*3))); +per_frame_4=wave_b = wave_b + if(above(treb_att,1.4),0,.49*sin(time)); +per_frame_5=timer_base=.5; +per_frame_6=q1=sin(time*timer_base*4); +per_frame_7=q2=sin(time*timer_base*2); +per_frame_8=q3=sin(time*timer_base); +per_frame_9=rot=if(above(q1,0),if(above(q2,0),.1,-.1),0); +per_frame_10=zoom=zoom+.05*q2+.05*q1; +per_frame_11=wave_mystery=wave_mystery+.7*q1+.3*q2; +per_frame_12=wave_size=wave_size+0.5*q3; +per_frame_13=cx=cx+.2*q1; +per_frame_14=cy=cy+.2*q3; +per_pixel_1=centerx = .5; +per_pixel_2=centery = .5; +per_pixel_3=crad = abs(rad-.5)*q2; +per_pixel_4=grid=abs(x*10-5)%2 + abs(y*10-5)%2; +per_pixel_5=sx_temp = if(equal(grid,0),if(above(x,centerx),sx - crad - centerx,sx + crad - centerx),sx); +per_pixel_6=sy_temp = if(equal(grid,0),if(above(y,centery),sy - crad - centery,sy + crad - centery),sy); +per_pixel_7=sx=if(below(q1,0),sx-sx_temp*q2*.1,sx); +per_pixel_8=sy=if(below(q1,0),sy-sx_temp*q2*.1,sy); diff --git a/presets/presets_tryptonaut/Unchained - Picture Of Exile.milk b/presets/presets_tryptonaut/Unchained - Picture Of Exile.milk new file mode 100755 index 0000000000..2929889577 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Picture Of Exile.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.996000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.817900 +fWaveScale=0.397105 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.998108 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350495 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_31=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_32=ob_g=.2+.1*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_45=wave_g=.5+.2*bnot(q8%2)-.2*bnot(q8%3)+.2*bnot(q8%4)-.2*bnot(q8%5); +per_frame_46=wave_b=if(bnot(q8%6),.8+.2*q1,bass_changed*mid_changed); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_pixel_1=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_2=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_3=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_4=zoom = zoom+bend*below(y,.5)*below(x,.5)*.1; +per_pixel_5=sx=sx-if(above(q7,3),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_6=sy=sy-if(below(q7,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_7=rot=if(equal(grid,3),q3,bnot(grid%q7)*above(x,.5)*above(y,.5)*sin(zoom)); diff --git a/presets/presets_tryptonaut/Unchained - Picture Of Nectar.milk b/presets/presets_tryptonaut/Unchained - Picture Of Nectar.milk new file mode 100755 index 0000000000..3d6a156c4c --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Picture Of Nectar.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.817900 +fWaveScale=0.397105 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=2.002966 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350495 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_31=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_32=ob_g=.2+.1*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_45=wave_g=.5+.2*bnot(q8%2)-.2*bnot(q8%3)+.2*bnot(q8%4)-.2*bnot(q8%5); +per_frame_46=wave_b=if(bnot(q8%6),.8+.2*q1,bass_changed*mid_changed); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_pixel_1=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_2=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_3=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_4=zoom = zoom+bend; +per_pixel_5=sx=sx-if(above(q1,2),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_6=sy=sy-if(above(q1,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_7=rot=equal(grid,3)*q3+bnot(grid%q7)*cos(zoom*grid*q1*.01); diff --git a/presets/presets_tryptonaut/Unchained - Picture Of Poison.milk b/presets/presets_tryptonaut/Unchained - Picture Of Poison.milk new file mode 100755 index 0000000000..0c6521d655 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Picture Of Poison.milk @@ -0,0 +1,118 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.817900 +fWaveScale=0.397105 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.740601 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350495 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_31=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_32=ob_g=.2+.1*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1)); +per_frame_45=wave_g=.5+.2*bnot(q8%2)-.2*bnot(q8%3)+.2*bnot(q8%4)-.2*bnot(q8%5); +per_frame_46=wave_b=if(bnot(q8%6),.8+.2*q1,bass_changed*mid_changed); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_pixel_1=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_2=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_3=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_4=zoom = zoom+bend*.1; +per_pixel_5=sx=sx-if(above(q1,2),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_6=sy=sy-if(above(q1,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_7=rot=equal(grid,3)*q3+bnot(grid%q7)*cos(zoom*grid*q1*.01); diff --git a/presets/presets_tryptonaut/Unchained - Quine.milk b/presets/presets_tryptonaut/Unchained - Quine.milk new file mode 100755 index 0000000000..8d8100f87a --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Quine.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999496 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059200 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.008384 +rot=0.500000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.008145 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=old_bass_flop=bass_flop; +per_frame_2=old_treb_flop=treb_flop; +per_frame_3=old_mid_flop=mid_flop; +per_frame_4=chaos=.9+.1*sin(pulse); +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_17=monitor=warp/100; +per_frame_18=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*(warp/100)); +per_frame_19=entropy=if(bass_changed*mid_changed*treb_changed,bass_flop+treb_flop+mid_flop+rand(rot*10),entropy); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ib_r=.5+.5*cos(time*1.2+q1*.1); +per_frame_29=ib_b=.5+.5*cos(time*2.811+q2*.1); +per_frame_30=ib_g=.5+.5*cos(time*1.666+q3*.1); +per_frame_31=ob_r=1-if(q8%2,ib_b,ib_g); +per_frame_32=ob_b=1-if(above(q8,3),ib_g,ib_r); +per_frame_33=ob_g=1-if(q8%3,ib_r,ib_b); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); +per_frame_37=mv_r=.5+.5*sin(q4+time*.678); +per_frame_38=mv_b=.5+.5*sin(q4+time*.789); +per_frame_39=mv_g=.5+.5*sin(q5+time*.456); +per_frame_40=mv_a=.1+.1*sin(time*1.178+q5*1.14); +per_frame_41=wave_r=.5+.5*sin(q1+time*2.183); +per_frame_42=wave_b=.5+.5*sin(q2+time*1.211); +per_frame_43=wave_g=.5+.5*sin(q3+time*1.541); +per_frame_44=wave_mystery=wave_mystery+sin(time*2.18+q6); +per_frame_45=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_46=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_47=wave_mode=q8%2; +per_frame_48=echo_orientation=q8%4; +per_frame_49=warp=0; +per_frame_50=rot=0; +per_pixel_1=xx=above(y,.5+.5*q2)*x*q1-.5+.03*q5+.1*y*q6+.1*sin(time*.322); +per_pixel_2=yy=above(x,.5+.5*q3)*y*q1-.5+.03*q6+.1*x*q5+.1*sin(time*.427); +per_pixel_3=rot=sin(rad*(1.4+.7*q4+.7*q5+.7*q6)); +per_pixel_4=grid=bnot(sin(xx*yy)%q8); +per_pixel_5=grid_shift=grid*sin((yy-.5)*6.3*q4); +per_pixel_6=dx=if(above(q4,0)*above(abs(x-.5),.25+.25*q1),below(q7,4)*grid_shift,sin(xx*3.14*above(q3,0))); +per_pixel_7=dy=if(equal(q7,3),above(q5,0)*above(q7,3)*grid_shift,sin(yy*3.14*above(q2,0))); +per_pixel_8=zoom=zoom+cos(rad*q5+q7*xx+q8*yy)*q6*.5; +per_pixel_9= diff --git a/presets/presets_tryptonaut/Unchained - ReAwoke.milk b/presets/presets_tryptonaut/Unchained - ReAwoke.milk new file mode 100755 index 0000000000..47efb3b35a --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - ReAwoke.milk @@ -0,0 +1,269 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999489 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.337423 +rot=0.001900 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.776608 +shapecode_0_ang=0.628319 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.408391 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.5+.05*q4; +shape_0_per_frame2=y=.5+.05*q5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse*(.5+.1*entropy)); +per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.1*sin(time*2.157+q6); +per_frame_29=ob_b=.2+.1*sin(time*1.689+q5); +per_frame_30=ob_g=.2+.1*sin(time*.413+q4); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.1+.05*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); +per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); +per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); +per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); +per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_49=wave_a=3+sin(time*1.414)+q3; +per_frame_50=zoom=zoom+.03*sin(time*.8); +per_frame_51=wave_mode=q8%2; +per_pixel_1=xx=(x-.5+.03*q5+.1*y*q6+.1*sin(time*.322))*2; +per_pixel_2=yy=(y-.5+.03*q6+.1*x*q5+.1*sin(time*.427))*2; +per_pixel_3=dx=sin(xx); +per_pixel_4=dy=sin(yy); +per_pixel_5=radix=if(above(q3,0),min(xx,yy),max(xx,yy)); +per_pixel_6=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); +per_pixel_7=rot=sin(rad*(xx*q4+yy*q5+radix*q6)); +per_pixel_8=cx=cx+xx; +per_pixel_9=cy=cy+yy; diff --git a/presets/presets_tryptonaut/Unchained - Resistance.milk b/presets/presets_tryptonaut/Unchained - Resistance.milk new file mode 100755 index 0000000000..f82f507acf --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Resistance.milk @@ -0,0 +1,116 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.99 +fVideoEchoZoom=1 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1 +fWaveScale=0.671653 +fWaveSmoothing=0.75 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=1 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.95 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(beat); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=sin(beat); +per_frame_26=wave_r=wave_r+.5*bass_residual; +per_frame_27=wave_g=wave_g+.5*mid_residual; +per_frame_28=wave_b=wave_b+.5*treb_residual; +per_frame_29=ob_r=if(bass_flop,treb_changed,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_changed,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_changed,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=.5+.5*q5; +per_frame_39=mv_x=abs(beat*10)*entropy; +per_frame_40=mv_y=mv_x; +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=wave_x = 0.5+sin(2*time)/8; +per_frame_45=wave_y = 0.5-cos(3*time)/6; +per_frame_46=wave_mystery=q5; +per_pixel_1=shift=q3*.1*mid_att; +per_pixel_2=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); +per_pixel_3=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); +per_pixel_4=dx=if(checkx,shift*q4,dx); +per_pixel_5=dy=if(checky,shift*q5,dy); +per_pixel_6=rot=if(checkx*checky,0,shift); +per_pixel_7=zoom=if(above(q5,.8),zoom-shift*.1,if(below(q5,-.8),zoom+shift*.1,zoom)); diff --git a/presets/presets_tryptonaut/Unchained - Rewop.milk b/presets/presets_tryptonaut/Unchained - Rewop.milk new file mode 100755 index 0000000000..314a0049e1 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Rewop.milk @@ -0,0 +1,262 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.940000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008151 +fShader=0.000000 +zoom=0.659411 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=zoom+.01*q4; +per_pixel_1=grid=pow(sin(rad*q6*q2+x*y*q6*q3)*2,1+q7%5)%2; +per_pixel_2=rot=bnot(grid)+grid*q4; +per_pixel_3=sx=sx+sin((q2+.5)*x)*.003; +per_pixel_4=sy=sy+sin((q1+3.4)*y)*.003; +per_pixel_5=zoom=zoom+.11*cos(rad*3.14)*q4; diff --git a/presets/presets_tryptonaut/Unchained - Ribald Ballad.milk b/presets/presets_tryptonaut/Unchained - Ribald Ballad.milk new file mode 100755 index 0000000000..f60c1e6ca0 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Ribald Ballad.milk @@ -0,0 +1,106 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.991000 +fVideoEchoZoom=1.008149 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.160929 +fWaveScale=3.394157 +fWaveSmoothing=0.540000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=1.960000 +fShader=0.070000 +zoom=0.999698 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.513000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.580000 +ib_size=0.015000 +ib_r=0.550000 +ib_g=1.000000 +ib_b=0.499900 +ib_a=1.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.035-(bass+treb+mid)*.01); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=sin(pulse/2); +per_frame_25=wave_r=wave_r+.5*bass_residual; +per_frame_26=wave_r=wave_g+.5*mid_residual; +per_frame_27=wave_r=wave_b+.5*treb_residual; +per_frame_28=wave_mystery=mid_residual; +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); +per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); +per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); +per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); +per_frame_33=ob_size=.2+.2*treb_residual; +per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); +per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); +per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); +per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; +per_frame_38=mv_a=.5+.5*q4; +per_frame_39=mv_x=bass_flop*(15+q2*15); +per_frame_40=mv_y=bass_flop*(15+q3*15); +per_frame_41=mv_r=wave_b; +per_frame_42=mv_b=wave_g; +per_frame_43=mv_g=wave_r; +per_frame_44=cx=cx+sin(pulse*q3)*.1; +per_frame_45=cy=cy+sin(pulse*q2)*.1; +per_pixel_1=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(ang*3.14*(q1+q2+q3))); +per_pixel_2=zoom=if(above(q2,0),zoom-cos(rad*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(ang*10*q1))); diff --git a/presets/presets_tryptonaut/Unchained - Shaping The Grid.milk b/presets/presets_tryptonaut/Unchained - Shaping The Grid.milk new file mode 100755 index 0000000000..dc4496935b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Shaping The Grid.milk @@ -0,0 +1,273 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.625316 +fWaveScale=1.187274 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999700 +fShader=0.030000 +zoom=0.960496 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.500000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.650000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.605500 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.816695 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=3.14+3.14*q1; +shape_0_per_frame2=x=.5+.1*q2; +shape_0_per_frame3=y=.5+.1*q3; +shape_0_per_frame4=sides=3+q6; +shape_0_per_frame5=rad=.5+.5*q4; +shape_0_per_frame6=textured=above(q6,3); +shape_0_per_frame7=border_r=1-rad; +shape_0_per_frame8=border_b=rad-.01*sides; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=entropy=2; +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.1+.1*sin(pulse); +per_frame_6=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_7=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_8=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_9=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_10=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_11=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_12=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_13=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_14=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_15=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_16=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_17=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_18=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_19=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q7=entropy; +per_frame_27=q8=sin(q6*q1+q7*q2); +per_frame_28=zoom=zoom+.02*q8; +per_frame_29=wave_mystery=sin(q1+q5); +per_frame_30=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); +per_frame_31=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); +per_frame_32=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); +per_frame_33=ob_r=if(bass_flop,ob_r+.5*sin(q1+q3*1.14+q2),wave_b); +per_frame_34=ob_b=if(treb_flop,ob_b+.5*sin(q2+q1*1.14+q3),wave_g); +per_frame_35=ob_g=if(mid_flop,ob_g+.5*sin(q3+q2*1.14+q1),wave_r); +per_frame_36=ib_r=if(bass_flop,ob_b,ib_r+.5*cos(q5+q1*2.14)); +per_frame_37=ib_b=if(treb_flop,ob_g,ib_b+.5*cos(q5+q2*2.14)); +per_frame_38=ib_g=if(mid_flop,ob_r,ib_g+.5*cos(q5+q3*2.14)); +per_frame_39=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); +per_frame_40=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); +per_frame_41=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); +per_frame_42=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_43=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_44=mv_a=mv_a+mv_a*sin(q3*2.14+q2); +per_frame_45=ob_size=.1+.1*sin(q3*3+q1); +per_frame_46=ib_size=ib_size*.5+ib_size*.25*sin(q1*3+q3); +per_frame_47=wave_mode=q6+above(q4,0)+above(q5,0); +per_frame_48=wave_mystery=sin(q3*1.14+q1*1.14+q2); +per_frame_49=mv_l=(q6*q7)*q2; +per_frame_50=wave_x=wave_x+.1*q7*q4; +per_frame_51=wave_y=wave_y+.1*q6*q5; +per_frame_52=mv_x=q6*q7; +per_frame_53=mv_y=q6*q7; +per_frame_54=monitor=q1; +per_pixel_1=grid=(x*q7*3)%2+above(y,.5+.25)*above(q6,4); +per_pixel_2=zoom=zoom+.07*cos(sin(rad*2.14*q3+abs(rad-.1*grid))*2.14+rad*sin(q4*2.14+q1))*bnot(grid); +per_pixel_3=rot=.05*equal(grid,0)*cos(rad*2.14*q2+q3)*(q2+q3); diff --git a/presets/presets_tryptonaut/Unchained - Spinal Mixdown 2.milk b/presets/presets_tryptonaut/Unchained - Spinal Mixdown 2.milk new file mode 100755 index 0000000000..c4c66b1dfb --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Spinal Mixdown 2.milk @@ -0,0 +1,135 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.008100 +fShader=0.000000 +zoom=0.988218 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.5*sin(ang*q1),.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.5*sin(ang*q3),.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); +per_pixel_12=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_13=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_14=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_15=zoom = zoom+bend*below(y,.5)*below(x,.5)*.1; +per_pixel_16=sx=sx-if(above(q7,3),bnot(grid)*q3*.2,.1*q2*bnot(q8%5)); +per_pixel_17=sy=sy-if(below(q7,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2)); +per_pixel_18=rot=if(equal(grid,3),rot,bnot(grid%q7)*above(x,.5)*above(y,.5)*sin(zoom*rad*3.14)); +per_pixel_19=band1 = below(x,0.1)*above(y,abs(q1-q3))*below(y,abs(q1+q3)*.5); +per_pixel_20=band2 = below(x,0.1)*above(y,abs(q2-q4))*below(y,abs(q2+q4)*.5); +per_pixel_21=bases = below(x,0.04)*if(above(q1,q2),above(y,abs(q2))*below(y,abs(q1)),above(y,abs(q1))*below(y,abs(q2))); +per_pixel_22=bandmove = 0.009*(abs(q5)*band1 + (1-abs(q5))*band2); +per_pixel_23=basemove = 0.02*bases; +per_pixel_24=dx = 0.0015*max(bass_att*2,1) + if(above(q7%3,0),basemove,bandmove); diff --git a/presets/presets_tryptonaut/Unchained - Subjective Experience Of The Manifold.milk b/presets/presets_tryptonaut/Unchained - Subjective Experience Of The Manifold.milk new file mode 100755 index 0000000000..21ecf1f8ca --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Subjective Experience Of The Manifold.milk @@ -0,0 +1,119 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999496 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059269 +fWaveScale=0.653093 +fWaveSmoothing=0.090000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.998400 +rot=0.002000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.008); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse*q1); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=sin(q1*1.14+q2*1.14+q3*1.14); +per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_27=q8=entropy; +per_frame_28=ob_r=.2+.2*sin(time*2.157); +per_frame_29=ob_b=.2+.2*sin(time*1.689); +per_frame_30=ob_g=.2+.2*sin(time*1.413); +per_frame_31=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_32=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_33=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_34=ib_size=.03+.02*q2; +per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_36=ob_a=.75+.25*q3; +per_frame_37=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_42=rot=0; +per_frame_43=echo_zoom=1+.08*q1+.08*q2+.06*q3+.16*cos(time*.681); +per_frame_44=wave_r=.5+.5*sin(q1+time*2.183); +per_frame_45=wave_b=.5+.5*sin(q2+time*1.211); +per_frame_46=wave_g=.5+.5*sin(q3+time*1.541); +per_frame_47=wave_mystery=wave_mystery+.5*sin(time*3+q6); +per_frame_48=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); +per_frame_49=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); +per_frame_50=wave_mode=q8%3; +per_frame_51=wave_a=3+sin(time*1.414)+q3; +per_pixel_1=xx=x-.5+.03*q5+.1*y*q6+.1*sin(time*.322); +per_pixel_2=yy=y-.5+.03*q6+.1*x*q5+.1*sin(time*.427); +per_pixel_3=dx=sin(xx*2); +per_pixel_4=dy=sin(yy*2); +per_pixel_5=rot=sin(rad*1.4+.3*q4); diff --git a/presets/presets_tryptonaut/Unchained - Those Who Doubted.milk b/presets/presets_tryptonaut/Unchained - Those Who Doubted.milk new file mode 100755 index 0000000000..e906e70fc5 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Those Who Doubted.milk @@ -0,0 +1,126 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.270000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.817900 +fWaveScale=4.141529 +fWaveSmoothing=0.180000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=5.995700 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.007985 +rot=-0.760000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.350495 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.500000 +ib_g=0.900000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=28.799999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=1.000000 +per_frame_1=warp=0; +per_frame_2=rot=0; +per_frame_3=old_bass_flop=bass_flop; +per_frame_4=old_treb_flop=treb_flop; +per_frame_5=old_mid_flop=mid_flop; +per_frame_6=chaos=.1+.1*sin(pulse); +per_frame_7=bass_thresh =if(above(bass_att,bass_thresh),3,bass_thresh-chaos); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,3)); +per_frame_9=treb_thresh=if(above(treb_att,treb_thresh),3,treb_thresh-chaos); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,3)); +per_frame_11=mid_thresh=if(above(mid_att,mid_thresh),3,mid_thresh-chaos); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,3)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=entropy=if(equal(pulse,-3.14),bass_flop+mid_flop+treb_flop+rand(5),entropy); +per_frame_21=q1=mid_residual; +per_frame_22=q2=bass_residual; +per_frame_23=q3=treb_residual; +per_frame_24=q4=sin(pulse); +per_frame_25=q5=cos(pulse*(.5+.1*entropy)); +per_frame_26=q6=sin(pulse*(.5+pow(.25,entropy))); +per_frame_27=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_28=q8=entropy; +per_frame_29= +per_frame_30=ob_r=.5+.5*sin(time*2.157+q6); +per_frame_31=ob_b=.5+.5*sin(time*1.689+q5); +per_frame_32=ob_g=.5+.5*sin(time*.413+q4); +per_frame_33=ib_r=.8+.2*cos(time*1.2+q1*.1); +per_frame_34=ib_b=.2+.2*cos(time*2.811+q2*.1); +per_frame_35=ib_g=.7+.3*cos(time*1.666+q3*.1); +per_frame_36=ib_size=.03+.02*q2; +per_frame_37=ob_size=.03+.02*sin(time*2.321+q2*.2); +per_frame_38=ob_a=.75+.25*q3; +per_frame_39=ib_a=.8+.2*sin(q2*.3+q4+q1*.5); +per_frame_40=mv_r=mv_r+.5*sin(q4+time*.678); +per_frame_41=mv_b=mv_b+.5*sin(q4+time*.789); +per_frame_42=mv_g=mv_g+.5*sin(q5+time*.456); +per_frame_43=mv_a=.2+.2*sin(time*1.178+q5*1.14); +per_frame_44=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,.5+.5*q1)); +per_frame_45=wave_g=.5+if(bnot(q8%2),q1,if(bnot(q8%3),q2,q3))*.5; +per_frame_46=wave_b=if(bnot(q8%6),.5+.5*q5,if(mid_changed,bass_changed,.5+.5*q1)); +per_frame_47=wave_mode=q8-bass_changed+mid_changed+treb_changed; +per_frame_48=wave_mystery=frame%2; +per_frame_49=wave_x=wave_x+.02*q1; +per_frame_50=wave_y=wave_y+.02*q2; +per_pixel_1=yep=if(above(q5,0),above(x,.5),below(x,.5)); +per_pixel_2=nope=if(above(q4,0),above(y,.5),below(y,.5)); +per_pixel_3=maybe=if(above(q6,0),yep,nope); +per_pixel_4=sometimes=if(above(q6,0),bnot(yep),bnot(nope)); +per_pixel_5=grid=pow(x*3,3-q1)%q8 + pow(y*3,3-q3)%q8; +per_pixel_6=bend = sin(x*(9.42-6.28*q2)*bnot(q8%3) +per_pixel_7=+(rad*9.42-6.28*sin(time*(1.3+.3*q1)))*bnot(q8%4)+y*(9.42*q4-6.28*q3)*bnot(q8%5)); +per_pixel_8=zoom = zoom+bend*.08*nope; +per_pixel_9=sx=sx-if(above(q1,2),bnot(grid)*q3*.2,.1*q2*bnot(q8%5))*yep; +per_pixel_10=sy=sy-if(above(q1,3),bnot(grid)*q2*.2,.1*q3*bnot(q8%2))*yep; +per_pixel_11=rot=above(rad,.02)*sometimes; +per_pixel_12=dx=dx+.01*q1*maybe; +per_pixel_13=dy=dy+.01*q1*maybe; diff --git a/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk new file mode 100755 index 0000000000..8a730e6047 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Hemi-Sync).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=2 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.998169 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Shamanic).milk new file mode 100755 index 0000000000..4153fff7c8 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Shamanic).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=2 +fGammaAdj=2.05 +fDecay=0.92 +fVideoEchoZoom=0.9998 +fVideoEchoAlpha=0.4999 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.45029 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=0.998166 +fShader=0 +zoom=0.879987 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.01*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.17*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.17*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk new file mode 100755 index 0000000000..febb82717a --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage 2 (Sub-Spinal Daemon).milk @@ -0,0 +1,123 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.050000 +fDecay=0.970000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=0.000000 +zoom=0.998169 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=24.959999 +nMotionVectorsY=19.199999 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.003*cos(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.5*sin(ang*q1),.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.5*sin(ang*q3),.5); +per_pixel_10=sx=sx+.37*sin(rad)*q1*grid*(1-abs(rot)); +per_pixel_11=sy=sy+.37*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage.milk b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage.milk new file mode 100755 index 0000000000..2a05ebbaa6 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unclaimed Wreckage.milk @@ -0,0 +1,124 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.999000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.183895 +fShader=0.400000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=.9985; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*2+rad*q2)*sign(snee)-.06*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); +per_pixel_10=sx=sx+.17*sin(rad)*q1*grid; +per_pixel_11=sy=sy+.17*sin(rad)*q2*grid; diff --git a/presets/presets_tryptonaut/Unchained - Unified Drag 2.milk b/presets/presets_tryptonaut/Unchained - Unified Drag 2.milk new file mode 100755 index 0000000000..11b5ae684e --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unified Drag 2.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2 +fGammaAdj=1 +fDecay=0.96 +fVideoEchoZoom=2.216266 +fVideoEchoAlpha=0.78 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.931011 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1.0081 +fShader=0.4 +zoom=0.820774 +rot=0 +cx=0.4999 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=0.999998 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.005 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.005 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0.9 +nMotionVectorsX=0 +nMotionVectorsY=0 +mv_dx=0 +mv_dy=0 +mv_l=0.85 +mv_r=0.4999 +mv_g=0.4999 +mv_b=0.4999 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=rot=1; +per_frame_51=cx=cx+.05*q4; +per_frame_52=cy=cy+.05*q5; +per_frame_53=zoom=.95+.05*q6; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); +per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); +per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets/presets_tryptonaut/Unchained - Unified Drag.milk b/presets/presets_tryptonaut/Unchained - Unified Drag.milk new file mode 100755 index 0000000000..8bbc4754a3 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Unified Drag.milk @@ -0,0 +1,122 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999800 +fVideoEchoAlpha=0.499900 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.254574 +fWaveScale=0.450290 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.141529 +fShader=0.400000 +zoom=1.001507 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.900000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=warp=0; +per_frame_2=le=1+.5+2*sin(bass_att); +per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); +per_frame_4=bblock=le-bth; +per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, +per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); +per_frame_7=bth=if(above(bth,6),6,bth); +per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; +per_frame_9= +per_frame_10=le=1+.5+2*sin(treb_att); +per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); +per_frame_12=tblock=le-tth; +per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, +per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); +per_frame_15=tth=if(above(tth,6),6,tth); +per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; +per_frame_17= +per_frame_18=le=1+.5+2*sin(mid_att); +per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); +per_frame_20=mblock=le-mth; +per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, +per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); +per_frame_23=mth=if(above(mth,6),6,mth); +per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); +per_frame_29=q1=bres; +per_frame_30=q2=tres; +per_frame_31=q3=mres; +per_frame_32=q4=sin(pulse); +per_frame_33= +per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); +per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; +per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); +per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); +per_frame_38=q7=mod_state; +per_frame_39=q8=ccl; +per_frame_40=ob_r=.5+.5*cos(q1+q7); +per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); +per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); +per_frame_43=ib_size=.025+.02*q2; +per_frame_44=ob_size=.03+.02*q3-.002*q7; +per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); +per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); +per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); +per_frame_48= +per_frame_49=ob_a=.8+.2*q2; +per_frame_50=zoom=.9985; +per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); +per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); +per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); +per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) +per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; +per_pixel_6=zoom=zoom+.03*sin(rad*2+rad*q2)*sign(snee)-.06*sin(rad*2*q3); +per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); +per_pixel_8=cx=if(below(x,.5)*below(y,.5),.5+.2*q1,.5); +per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); diff --git a/presets/presets_tryptonaut/Unchained - Working the Grid.milk b/presets/presets_tryptonaut/Unchained - Working the Grid.milk new file mode 100755 index 0000000000..f18d7d7d3b --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - Working the Grid.milk @@ -0,0 +1,120 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.625316 +fWaveScale=1.187274 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999700 +fShader=0.030000 +zoom=0.960496 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.500000 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.032); +per_frame_20=q1=mid_residual; +per_frame_21=q2=bass_residual; +per_frame_22=q3=treb_residual; +per_frame_23=q4=sin(pulse); +per_frame_24=q5=cos(pulse/2+q1); +per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; +per_frame_26=q7=entropy; +per_frame_27=q8=sin(q6*q1+q7*q2); +per_frame_28=zoom=zoom+.02*q8; +per_frame_29=wave_mystery=sin(q1+q5); +per_frame_30=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); +per_frame_31=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); +per_frame_32=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); +per_frame_33=ob_r=if(bass_flop,ob_r+.5*sin(q1+q3*1.14+q2),wave_b); +per_frame_34=ob_b=if(treb_flop,ob_b+.5*sin(q2+q1*1.14+q3),wave_g); +per_frame_35=ob_g=if(mid_flop,ob_g+.5*sin(q3+q2*1.14+q1),wave_r); +per_frame_36=ib_r=if(bass_flop,ob_b,ib_r+.5*cos(q5+q1*2.14)); +per_frame_37=ib_b=if(treb_flop,ob_g,ib_b+.5*cos(q5+q2*2.14)); +per_frame_38=ib_g=if(mid_flop,ob_r,ib_g+.5*cos(q5+q3*2.14)); +per_frame_39=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); +per_frame_40=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); +per_frame_41=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); +per_frame_42=ob_a=.25+.25*sin(q2+q3*2.14); +per_frame_43=ib_a=.5+.5*sin(q2*2.14+q3); +per_frame_44=mv_a=mv_a+mv_a*sin(q3*2.14+q2); +per_frame_45=ob_size=.1+.1*sin(q3*3+q1); +per_frame_46=ib_size=ib_size*.5+ib_size*.25*sin(q1*3+q3); +per_frame_47=wave_mode=q6+above(q4,0)+above(q5,0); +per_frame_48=wave_mystery=sin(q3*1.14+q1*1.14+q2); +per_frame_49=mv_l=(q6*q7)*q2; +per_frame_50=wave_x=wave_x+.1*q7*q4; +per_frame_51=wave_y=wave_y+.1*q6*q5; +per_frame_52=mv_x=q6*q7; +per_frame_53=mv_y=q6*q7; +per_pixel_1=grid=(x*q7*3)%2+above(y,.5+.25)*above(q6,4); +per_pixel_2=zoom=zoom+.07*cos(sin(rad*2.14*q3+abs(rad-.1*grid))*2.14+rad*sin(q4*2.14+q1))*bnot(grid); +per_pixel_3=rot=.05*equal(grid,0)*cos(rad*2.14*q2+q3)*(q2+q3); +per_frame_init_1=entropy=2; diff --git a/presets/presets_tryptonaut/Unchained - elite vectronics.milk b/presets/presets_tryptonaut/Unchained - elite vectronics.milk new file mode 100755 index 0000000000..a364f3bf8d --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - elite vectronics.milk @@ -0,0 +1,108 @@ +[preset00] +fRating=1.0 +fGammaAdj=1 +fDecay=0.978999 +fVideoEchoZoom=2.786752 +fVideoEchoAlpha=0.7 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.008144 +fWaveSmoothing=0 +fWaveParam=0 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1.040603 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0 +wave_g=0 +wave_b=0 +wave_x=0.95 +wave_y=0.5 +ob_size=0 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0 +ib_r=0 +ib_g=0 +ib_b=0 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=old_bass_flop=bass_flop; +per_frame_5=old_treb_flop=treb_flop; +per_frame_6=old_mid_flop=mid_flop; +per_frame_7=chaos=.9+.1*sin(beat); +per_frame_8=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_10=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_11=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_12=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_13=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_14=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_15=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_16=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_17=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_18=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; +per_frame_19=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; +per_frame_20=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; +per_frame_21=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); +per_frame_22=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); +per_frame_23=q1=mid_residual; +per_frame_24=q2=bass_residual; +per_frame_25=q3=treb_residual; +per_frame_26=q4=sin(pulse); +per_frame_27=q5=sin(beat); +per_frame_28=mv_r=mv_r+.5*bass_residual; +per_frame_29=mv_g=mv_g+.5*mid_residual; +per_frame_30=mv_b=mv_b+.5*treb_residual; +per_frame_31=mv_a=1-(ob_a+ib_a)*chaos*.5; +per_frame_32=mv_x=abs(beat*10)*entropy; +per_frame_33=mv_y=abs(pulse*10)*entropy; +per_pixel_1=bend = cos( x*3.14*q2*above(q1,q2) + (rad*3.14*q2-3.14*q3)*above(q2,q3)+(y*3.14*q4)*above(q3,q1)); +per_pixel_2=zoom = zoom+bend*.05*above(q4+q5,.8); +per_pixel_3=something=if(above(q5,0),shift,q3*0.2*cos((rad+q1)*3.14+q2)); +per_pixel_4=rot=if(above(zoom-1,.03*q1),if(above(q4,0),rad*.2*q5,something),(x*2-1)*q5); +per_pixel_5=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5)); +per_pixel_6=zoom=if(grid,zoom-.17*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),zoom); +per_pixel_7=g1=sin(q2*.04*q5); +per_pixel_8=g2=sin(q2*.05*q5); +per_pixel_9=g3=sin(q2*.06*q5); +per_pixel_10=x_shift=pow(x,2)+x*g1*2+sqr(g1); +per_pixel_11=y_shift=pow(y,2)+y*g2*2+sqr(g2); +per_pixel_12=r_shift=pow(rad,2)+rad*g3*2+sqr(g3); +per_pixel_13=zoom=zoom-sin(x_shift*y_shift*r_shift*3.14)*(y*2-1); +per_pixel_14=cx=cx+.1*sin(time*.8); +per_pixel_15=cy=cy+.1*sin(time*.7); diff --git a/presets/presets_tryptonaut/Unchained - ventilation.milk b/presets/presets_tryptonaut/Unchained - ventilation.milk new file mode 100755 index 0000000000..a6a3d7c0fe --- /dev/null +++ b/presets/presets_tryptonaut/Unchained - ventilation.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.997000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=0.264000 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.850000 +fModWaveAlphaEnd=1.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=18.423244 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=0.990099 +sy=0.990099 +wave_r=0.400000 +wave_g=0.400000 +wave_b=0.400000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +per_frame_1=warp=0; +per_frame_2=dx=-0.0005; +per_frame_3=dy=-0.0005; +per_frame_4=wave_random = rand(100)/100; +per_frame_5=wave_r = 1 + sin(-wave_random*3.1415); +per_frame_6=wave_g = abs(sin(2*wave_random*3.1415)); +per_frame_7=wave_b = sin(wave_random*3.1415); +per_frame_8=treb_effect = if(above((treb_att*3+mid_att+bass_att)/5,1.4),pow(.99,treb_att),1.03); +per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); +per_frame_10=zoom = net_effect; +per_frame_11=rot = rot + rot_residual; +per_frame_12=bass_thresh = 1.3; +per_frame_13=bass_thresh = above((bass_att*3+mid_att+treb_att)/5,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_14=shift = (tan(time*7)) -0.05; +per_frame_15=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); +per_frame_16=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); +per_frame_17=timer=sin(time*.888); +per_frame_18=wave_mystery=if(above(timer,0),0,1); +per_frame_19=q1=timer; +per_pixel_1=disk_shift = if(equal(abs(sin(ang)), if(above(q1,0),0,1)), -rot, 0.05); +per_pixel_2=timer=sin(time*1.3); +per_pixel_3=x_or_y=if(above(q1,0),y,x); +per_pixel_4=rot = rot + if(equal(x_or_y*10%2,0),if(below(timer,0),disk_shift,-rot),if(above(timer,0),disk_shift,-rot)); diff --git a/presets/presets_tryptonaut/Unchained vs Rovastar - Tripmaker (Floral Overload 2).milk b/presets/presets_tryptonaut/Unchained vs Rovastar - Tripmaker (Floral Overload 2).milk new file mode 100755 index 0000000000..cad79cb571 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained vs Rovastar - Tripmaker (Floral Overload 2).milk @@ -0,0 +1,265 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.200000 +ob_g=0.400000 +ob_b=0.220000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.500000 +ib_g=0.500000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=zoom = zoom + .1*sin((ang)*(2+q2+2*sin(time*1.89))-time); +per_pixel_2=zoomexp = 100*(sqrt(2)-sin(rad*3.14*q2)); +per_pixel_3=cx=cx*zoom; +per_pixel_4=cy=cy*zoom; diff --git a/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk b/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk new file mode 100755 index 0000000000..9b91c49a27 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip Machine v3).milk @@ -0,0 +1,267 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.500000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.100000 +ob_g=0.300000 +ob_b=0.120000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.200000 +ib_g=0.200000 +ib_b=0.200000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=zoom = zoom + .1*sin((ang)*(q2+2)-time); +per_pixel_2=zoomexp = 100*(sqrt(2)-sin(rad*3.14*q2)); +per_pixel_3=cx=cx*zoom; +per_pixel_4=cy=cy*zoom; +per_pixel_5=rot = rot + 0&sin(0&(ang*20)+0&(time*10)); +per_pixel_6=zoom = zoom + abs(rot-rad); diff --git a/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk b/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk new file mode 100755 index 0000000000..873d9b2d27 --- /dev/null +++ b/presets/presets_tryptonaut/Unchained vs Rovastar vs Zylot - Tripmaker (Trip machine).milk @@ -0,0 +1,267 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=0.685151 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=100.000000 +fShader=1.000000 +zoom=0.999998 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.100000 +ob_g=0.300000 +ob_b=0.120000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.200000 +ib_g=0.200000 +ib_b=0.200000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.062832 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.080000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.791418 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.080000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.080000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.919739 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.628319 +shapecode_2_tex_zoom=1.030299 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=border_a = q1; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.138869 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.050000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.050000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=r = 0.5 + 0.49*sin(time*0.2754); +shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254); +shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514); +shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475); +shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107); +shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714); +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_frame_28=wave_a =0; +per_frame_29=ob_size =0.05*beat; +per_frame_30=q1 = beat; +per_frame_31=monitor = q2; +per_frame_32=mv_a = q1*0.02; +per_pixel_1=zoom = zoom + .1*sin((ang)*(q2+2)-time); +per_pixel_2=zoomexp = 100*(sqrt(2)-sin(rad*3.14*q2)); +per_pixel_3=cx=cx*zoom; +per_pixel_4=cy=cy*zoom; +per_pixel_5=rot = rot + sin(ang*10+time*10); +per_pixel_6=zoom = zoom + abs(rot-rad); diff --git a/presets/presets_tryptonaut/Various artists - Goo.milk b/presets/presets_tryptonaut/Various artists - Goo.milk new file mode 100755 index 0000000000..b7b8e7ccb5 --- /dev/null +++ b/presets/presets_tryptonaut/Various artists - Goo.milk @@ -0,0 +1,271 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=3.520 +fDecay=0.955 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.800 +fWaveScale=16.217 +fWaveSmoothing=0.750 +fWaveParam=-0.440 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59958 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.1; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv.y = rad*rad; +comp_4=` float srad = sqrt(rad)+ 0.05; +comp_5=` +comp_6=` ret = tex2D(sampler_main, uv).xyz; +comp_7=` ret = tex2D(sampler_main, uv + (cos(ret.xz*17.3))*0.02).xyz; +comp_8=` +comp_9=` +comp_10=` //ret += GetBlur1(uv) - 0.07; +comp_11=` //ret *= float3(1.3,0.8,0.5); +comp_12=` //ret *= 0.8; +comp_13=`} diff --git a/presets/presets_tryptonaut/Wulfson - Crumple (Nth Power Mix).milk b/presets/presets_tryptonaut/Wulfson - Crumple (Nth Power Mix).milk new file mode 100755 index 0000000000..72d8aa5a04 --- /dev/null +++ b/presets/presets_tryptonaut/Wulfson - Crumple (Nth Power Mix).milk @@ -0,0 +1,92 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.975000 +fVideoEchoZoom=0.746813 +fVideoEchoAlpha=1.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.084882 +fWaveSmoothing=0.000000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.330999 +fZoomExponent=1.001791 +fShader=1.000000 +zoom=0.951003 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.953142 +sx=1.000000 +sy=1.000000 +wave_r=0.450000 +wave_g=0.450000 +wave_b=0.450000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.450000 +ob_g=0.450000 +ob_b=0.450000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.450000 +ib_g=0.450000 +ib_b=0.450000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.700000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=//Rova's stuff +per_frame_2=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_3=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_4=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_6=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_7=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_10=lastbeat = if(beat,time,lastbeat); +per_frame_11=countertime = if(beat,time,countertime); +per_frame_12=counter =-1*pow(min((time-countertime-3),0),3); +per_frame_13=q1=oldq1+0.003*counter; +per_frame_14=oldq1 = q1; +per_frame_15=monitor=q1; +per_frame_16= +per_frame_17=//Wulf's stuff +per_frame_18=q2 = beatrate; +per_frame_19=wave_r = wave_r + 0.5*sin(q1*time*1.33); +per_frame_20=wave_g = wave_g + 0.5*sin(q1*1.13); +per_frame_21=wave_b = wave_b + 0.5*sin(q1*time*1.23); +per_frame_22=wave_x = 0.5 + 0.09*sin(q1*1.2); +per_frame_23=wave_y = 0.5 + 0.09*sin(q1*1.1); +per_frame_24=ob_r = above(beat, 0)*ob_r + below(beat, 1)*0.2*cos(lastbeat*1.1) + 0.4*sin(q1*1.13); +per_frame_25=ob_g = above(beat, 0)*ob_g + below(beat, 1)*0.2*cos(lastbeat*1.2) + 0.4*sin(q1*1.23); +per_frame_26=ob_b = above(beat, 0)*ob_b + below(beat, 1)*0.2*cos(lastbeat*1.3) + 0.4*sin(q1*1.33); +per_pixel_1=myRot = (sin(q1) + sin(q1)); +per_pixel_2=rot = if(above(x, 0.85), if(above(y, 0.85), if(below(x, 0.15), if(below(y, 0.15), myRot, rot), rot), rot), rot); +per_frame_init_1=q1=1; diff --git a/presets/presets_tryptonaut/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk b/presets/presets_tryptonaut/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk new file mode 100755 index 0000000000..c2f3df90c3 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.504000 +fDecay=1.000000 +fVideoEchoZoom=2.987781 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.049629 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.000154 +fZoomExponent=1.028415 +fShader=0.800000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=1.000000 +wave_r=0.500000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.015000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=0.250000 +ib_a=0.200000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.500000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.040000 +per_frame_1=wave_x = wave_x +(0.48*sin(4*bass*treb*mid))*sin(time/bass); +per_frame_2=wave_r = if(above((time*20)%2,0),0,wave_r + 0.5*sin(time)); +per_frame_3=wave_b=if(above((time*20)%2,0),1,0); +per_frame_4=rot = rot + 0.0*sin(time); +per_frame_5=decay = + if (above(progress, 0.99), 0.9, 1); +per_frame_6=dy = dy - 0.01 + 0.002*sin(0.01*time); +per_frame_7=ob_r = .1 + if(above(.2*sin(time*.444),0),.3*sin(time*.444),0); +per_frame_8=ob_g =.1 + if(above(.2*sin(time*.777),0),.3*sin(time*.777),0); +per_pixel_1=warp = warp + if (below(y, 0.5), if(below(rad,0.9), +0.4 + 0.2*sin(0.6*time), 0), +0.1); diff --git a/presets/presets_tryptonaut/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk b/presets/presets_tryptonaut/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk new file mode 100644 index 0000000000..ee46fe622b --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Idiot - ATan2 Demo (Spiraling Mad Mix).milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1 +fDecay=1 +fVideoEchoZoom=0.9996 +fVideoEchoAlpha=0 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.011566 +fWaveScale=1 +fWaveSmoothing=0.63 +fWaveParam=0 +fModWaveAlphaStart=0.71 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1 +fWarpScale=1.331 +fZoomExponent=1 +fShader=0 +zoom=0.904846 +rot=0.2 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=0.01 +sx=1 +sy=1.000002 +wave_r=1 +wave_g=1 +wave_b=1 +wave_x=0.5 +wave_y=0.5 +ob_size=0.05 +ob_r=1 +ob_g=0 +ob_b=0 +ob_a=1 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=1 +nMotionVectorsX=10.240001 +nMotionVectorsY=7.200006 +mv_dx=0 +mv_dy=0.08 +mv_l=0.55 +mv_r=0 +mv_g=1 +mv_b=0 +mv_a=0 +per_frame_1=ob_r=rand(10)*Sin(above(bass,bass_att)); +per_frame_2=ob_g=rand(10)*sin(above(mid,mid_Att)); +per_frame_3=ob_b=rand(10)*Sin(above(treb,treb_Att)); +per_frame_4=zoom = .9+bass*.05; +per_pixel_1=rot=rot*atan2(-rad,sin(ang*10)); diff --git a/presets/presets_tryptonaut/Zylot & Idiot - Face BDRV et AL rmx ketama mix.milk b/presets/presets_tryptonaut/Zylot & Idiot - Face BDRV et AL rmx ketama mix.milk new file mode 100755 index 0000000000..be73f91356 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Idiot - Face BDRV et AL rmx ketama mix.milk @@ -0,0 +1,252 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.980 +fDecay=0.940 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.988 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.12032 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=y=.3+pow(value1*.01,.2); +wave_0_per_point2=r=rand(10)*.1; +wave_0_per_point3=g=rand(10)*.1; +wave_0_per_point4=b=rand(10)*.1; +wave_0_per_point5=x = if(equal(frame%2,0),.6 + -sample*.45,.4+sample*.45); +wave_0_per_point6=x = if(above(sample,.2),x,-1); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=x = if(equal(frame%2,0),.6 + -sample*.45,.4+sample*.45); +wave_1_per_point2=y=.5-pow(value2*.01,.2); +wave_1_per_point3=r=rand(10)*.1; +wave_1_per_point4=g=rand(10)*.1; +wave_1_per_point5=b=rand(10)*.1; +wave_1_per_point6=x = if(above(sample,.2),x,-1); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t1 = 0; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.18000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.600 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=.2+.02*sin(time*3); +shape_0_per_frame2=y=.7+.02*sin(time*4);; +shape_0_per_frame3=rad=rad+.03*sin(bass); +shape_0_per_frame4= +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.18000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=.8+.02*sin(time*3); +shape_1_per_frame2=y=.7+.02*sin(time*4);; +shape_1_per_frame3=rad=rad+.03*sin(Bass); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.17000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.700 +shapecode_2_b=0.400 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.600 +shapecode_2_b2=0.400 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang = 1.57+.2*sin(time*6); +shape_2_per_frame2=rad=rad+.08*sin(time*3); +shape_2_per_frame3=y = .63 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2= +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=zoom = zoom + 1.2*abs(2*dy_r*(1.5*(sin(2*bass_att)*(0.5-rad)*sin(8*ang))*bass_att*4)); +per_pixel_7=zoom = zoom - 1.2*abs(2*dx_r*(1.5*(sin(4*bass_att)*(1-rad)*sin(8*ang))*bass_att*4)); +per_pixel_8= +per_pixel_9=rot = rot + 2*(dy_r*(2.5*(cos(3*bass_att)*0.5-rad*sin(12*rad))*bass_att)); diff --git a/presets/presets_tryptonaut/Zylot & Idiot24-7 - Unknown Power Source.milk b/presets/presets_tryptonaut/Zylot & Idiot24-7 - Unknown Power Source.milk new file mode 100755 index 0000000000..b4e8757a92 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Idiot24-7 - Unknown Power Source.milk @@ -0,0 +1,69 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999600 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.011566 +fWaveScale=100.000000 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.904846 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000002 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=10.240001 +nMotionVectorsY=7.200006 +mv_dx=0.000000 +mv_dy=0.080000 +mv_l=0.550000 +mv_r=0.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=ob_r=rand(10)*Sin(above(bass,bass_att)); +per_frame_2=ob_g=rand(10)*sin(above(mid,mid_Att)); +per_frame_3=ob_b=rand(10)*Sin(above(treb,treb_Att)); +per_frame_4=zoom = .9+bass*.05; +per_pixel_1=rot=rot*atan2(-rad,sin(ang*20-ang*20*ang*10*atan2(above(bass,bass_Att),above(Treb,t +per_pixel_2=reb_Att))))*sin(Rad*ang*above(Bass,bass_Att))*rad-ang; diff --git a/presets/presets_tryptonaut/Zylot & Krash - Extremophile.milk b/presets/presets_tryptonaut/Zylot & Krash - Extremophile.milk new file mode 100755 index 0000000000..d99306798f --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Krash - Extremophile.milk @@ -0,0 +1,115 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.997000 +fVideoEchoZoom=1.000224 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=1.003100 +fWaveScale=1.004873 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=1.010000 +fWarpAnimSpeed=0.999994 +fWarpScale=1.002083 +fZoomExponent=0.627608 +fShader=1.000000 +zoom=0.994800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.010000 +dy=0.010000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.000000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.029900 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +per_frame_1=volume = 0.3*(bass+mid+att); +per_frame_2=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_3=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_5=peakbass_att = max(bass_att,peakbass_att); +per_frame_6=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_12=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_13=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_14=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_15=xpos = xpos + 0.001*xspeed; +per_frame_16=wave_x = 1.5*xpos + 0.5; +per_frame_17=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_18=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_19=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_20=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_21=ypos = ypos + 0.001*yspeed; +per_frame_22=mode = if(beat,rand(2),mode); +per_frame_23=q1 = (25+15*sin(time*1.56) + 10*sin(time*0.643))*0.08; +per_frame_24=q2 = 1 - mode*2; +per_frame_25=red=if(below(frame%6,3),bass*0.5,0); +per_frame_26=blue=if(above(frame%6,2),bass*0.5,0); +per_frame_27=green=0.9+sin(time)*0.1; +per_frame_28=q3 = 3 + sin(time*0.496) + sin(time*0.591); +per_frame_29=mode2 = frame%2; +per_frame_30=wave_r = if(mode2,red,green); +per_frame_31=wave_g = if(mode2,green,0.5*blue); +per_frame_32=wave_b = if(mode2,blue,red); +per_frame_33=wave_mode = if(mode2,6,0); +per_frame_34=wave_x = if(mode2,0,0.5 + xpos + 0.1*sin(time)); +per_frame_35=wave_y = if(mode2,0.5,0.5+ ypos + 0.1*cos(time)); +per_frame_36=q4 = 0.5 + xpos + 0.18*sin(time); +per_frame_37=q5 = 0.5 - ypos - 0.18*cos(time); +per_frame_38=wave_mystery = if(mode2,0,-0.4); +per_frame_39=wave_r=abs(wave_r-my_rand); +per_frame_40=wave_b=abs(wave_b-my_rand); +per_frame_41=wave_g=abs(wave_g-my_rand); +per_pixel_1=dx = dx*pow(-1,0&(13+q1 - 2*(q2*y)))*min(0.5*bass,1.2); +per_pixel_2=dy = dy*pow(-1,0&(13+q1 - 5*(x*q3)))*min(0.5*bass,1.2)-0.01; +per_pixel_3=newx = x - q4; +per_pixel_4=newy = y - q5; +per_pixel_5=newrad = min(sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2,1); +per_pixel_6=newzoom = pow(1.03, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_7=dx = (min(5*newrad,1)*dx + max(1 - newrad*5,0)*((newx)*newzoom - newx*bass)); +per_pixel_8=dy = (min(5*newrad,1)*dy + max(1 - newrad*5,0)*((newy)*newzoom - newy*treb)); +per_pixel_9=sy=sy+above(x,.5)*sin(rad*q5*1.68*mid)*.8; +per_pixel_10=zoom=zoom-.04*sin((x-.5)*8+q4)*sin(y*31.4+q3*sin(bass+ang*treb+time)); +per_frame_init_1=my_rand=abs(sin(rand(500))); diff --git a/presets/presets_tryptonaut/Zylot & Mstress - Celebrate.milk b/presets/presets_tryptonaut/Zylot & Mstress - Celebrate.milk new file mode 100755 index 0000000000..eda4311dff --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Mstress - Celebrate.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.998000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.179297 +fWaveScale=0.472722 +fWaveSmoothing=0.027000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.019934 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.770000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.420000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = min(1,max(0,0.2*bass)); +per_frame_2=wave_g = min(1,max(0,0.2*mid)); +per_frame_3=wave_b = min(1,max(0,0.2*treb)); +per_frame_4=xpos = 0.01*rand(80); +per_frame_5=yspos = 0.01*rand(80); +per_frame_6=ypos = max(0,bass_att-0.3)/2; +per_frame_7=wave_x = wave_x + xpos - 0.4; +per_frame_8=wave_y = wave_y + (min(yspos-0.4,0.9)); +per_frame_9=decay = min(decay+ 0.016*((treb + mid + bass)/3),1); +per_frame_10=bass_trig = max(bass_att-1.2,0); +per_frame_11=zoom = zoom + 0.04 * (0.3+sin(time*0.3+(bass_trig*6))) ; +per_frame_12=dy = dy +(sin(time*0.2))*0.9*(.015+((abs(zoom)-1)*10)*.02); +per_frame_13=dx = dx +(sin(time*0.5))*0.9*(.015+((abs(zoom)-1)*10)*.02); +per_frame_14=rot = rot +(if(above(bass_trig,0),rand(10)-5,0)*0.1)*bass*.5; +per_frame_15=monitor = rot; +per_pixel_1=mrad = sqr(pow(x-(0.5-(sin(time*0.5)*0.5)),2)+pow(y-(0.5-(sin(time*0.2)*0.5)),2))*sqr(2); +per_pixel_2=//dy = dy +(sin(time*0.2))*0.5*(.015+(y+sin(time*0.2)*0.5*((zoom-1)*10))*.01); +per_pixel_3=//dx = dx +(sin(time*0.5))*0.5*(.015+(x+sin(time*0.5)*0.5*((zoom-1)*10))*.01); +per_pixel_4=zoom = zoom +(.01 + (mrad *0.05*prova)); +per_pixel_5=prova = 0.13 * max(bass_att-1.3,0); diff --git a/presets/presets_tryptonaut/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk b/presets/presets_tryptonaut/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk new file mode 100755 index 0000000000..b3474d96b0 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk @@ -0,0 +1,88 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.998000 +fDecay=0.990000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.051300 +fWaveScale=2.778365 +fWaveSmoothing=0.900000 +fWaveParam=-0.799999 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.001829 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.770000 +wave_g=0.600000 +wave_b=0.600000 +wave_x=0.420000 +wave_y=0.500000 +ob_size=0.005500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.520000 +ob_a=0.180000 +ib_size=0.000500 +ib_r=0.291000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = min(1,max(0,0.2*bass)); +per_frame_2=wave_g = min(1,max(0,0.2*mid)); +per_frame_3=wave_b = min(1,max(0,0.2*treb)); +per_frame_4=xpos = 0.01*rand(100); +per_frame_5=wave_x = xpos; +per_frame_6=decay = .99; +per_frame_7= +per_frame_8=//Thanks to Zylot for rainbow generator +per_frame_9=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_10=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_11=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_12=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_13=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_14=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_15=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_16=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_17= +per_frame_18=q3=10+bass+mid+treb; +per_pixel_1=empty = 1-(above(x,.97)*below(y,.46)); +per_pixel_2=sea=q3; +per_pixel_3=mang=atan((-0.5+0.1*sin(time)+y)/(-1+x*3))-.65+.20*sin(time); +per_pixel_4=cx = int(x*sea)/sea; +per_pixel_5=cy = int(y*sea)/sea; +per_pixel_6=rot = rot+.2*(bass_att)*empty-.3*(1-2*below(2*sin(mang)+2*cos(mang),.2*bass))*empty; +per_pixel_7=dy = dy +sin(time*.3)*.01*cos(rad/x); diff --git a/presets/presets_tryptonaut/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk b/presets/presets_tryptonaut/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk new file mode 100755 index 0000000000..c3079f6af0 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Rovastar - A Million Miles From Earth (Fog Of Time Mix (Vessel reMix) ).milk @@ -0,0 +1,81 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.098609 +fWaveSmoothing=0.500000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.976000 +ob_size=0.004500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.021500 +ib_r=1.000000 +ib_g=0.600000 +ib_b=0.500000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=2.400000 +mv_dx=0.000000 +mv_dy=-0.100000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ib_r = 0.9 + 0.1*sin(time*0.894); +per_frame_3=ib_g = 0.43 + 0.13*sin(time*0.14); +per_frame_4=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_frame_5=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_frame_6=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_frame_7=dx = 1.1* dx_r; +per_frame_8=dy = 1.1* dy_r; +per_frame_9=dx = dx + if(above(bass+bass_att,2.6), 21*dx_r, 0); +per_frame_10=dy = if(above(bass,1.3), 0, dy); +per_frame_11=mv_l =10000; +per_frame_12=mv_y =2.0; +per_frame_13=mv_dy = -0.1; +per_frame_14=zoom = zoom -0.02*thresh; +per_frame_15=wave_r = ib_r; +per_frame_16=wave_b = ib_b; +per_frame_17=wave_g = ib_g; +per_pixel_1=zoom = if(below(rad,.3+.1*sin(time)),zoom + -.6,zoom); diff --git a/presets/presets_tryptonaut/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk b/presets/presets_tryptonaut/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk new file mode 100755 index 0000000000..e6c7b2df22 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk @@ -0,0 +1,381 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999838 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar/32; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*3.5; +wave_1_per_point8=x1 = (1)*sin(nsample+value1*5); +wave_1_per_point9=y1 = (4)*cos(sample*t8*2); +wave_1_per_point10=z1= (4)*sin(sample*(t8*2)); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+10; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=r = sin(nsample); +wave_1_per_point28=g = -.1+cos(sample*5+(time*5)); +wave_1_per_point29=b = -.1-sin(sample*5+(time*5)); +wave_1_per_point30=g = if(below(g,0),0,g); +wave_1_per_point31=b = if(below(b,0),0,b); +wavecode_2_enabled=1 +wavecode_2_samples=48 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Zylot's dumb 3d wave +wave_2_per_point4=fvar = sample*512; +wave_2_per_point5=svar = fvar/16; +wave_2_per_point6=tvar = 0&svar; +wave_2_per_point7=newsample = tvar/3.2; +wave_2_per_point8=x1 = sin(newsample*3.1415926*2); +wave_2_per_point9=y1 = cos(newsample*3.1415926*2); +wave_2_per_point10=z1 = 0; +wave_2_per_point11= +wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point19=//move resulting shape in 3d space +wave_2_per_point20=x4 = x3; +wave_2_per_point21=y4 = y3; +wave_2_per_point22=z4 = z3+5; +wave_2_per_point23=//draw 3d shape in 2d +wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point26= +wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); +wave_2_per_point28=r = if(below(r,0),0,r); +wave_2_per_point29=g = -.5 + sin(sample*5+time*5); +wave_2_per_point30=g = if(below(g,0),0,g); +wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); +wave_2_per_point32=b = if(below(b,0),0,b); +wave_2_per_point33=r = if(above(bass,1.5),1,r); +wave_2_per_point34=g = if(above(bass,1.5),1,g); +wave_2_per_point35=b = if(above(bass,1.5),1,b); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.530878 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=rad = rad + sin(q8); +shape_0_per_frame2=r2 = bass; +shape_0_per_frame3=g2 = treb; +shape_0_per_frame4=b2 = mid; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.022480 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad = .55; +shape_1_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_1_per_frame8=ang = ang-cos(time*.02); +shape_1_per_frame9=x = .5 + .1*sin(q8*.11); +shape_1_per_frame10=y = .5 + .1*sin(q8*.51); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.650000 +shapecode_2_y=0.620000 +shapecode_2_rad=0.108925 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.540000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.400000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = .750 + .1*sin(q8*.02); +shape_2_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_2_per_frame8=ang = ang+4*sin(q8*.2); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_4=oldq8 = q8; +per_frame_5=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_6=zoom = 1+.005*q7; diff --git a/presets/presets_tryptonaut/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk b/presets/presets_tryptonaut/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk new file mode 100755 index 0000000000..748fd0c8ec --- /dev/null +++ b/presets/presets_tryptonaut/Zylot & Rovastar - Sully's Trip (The Worstest Mix).milk @@ -0,0 +1,117 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.011683 +fWaveSmoothing=0.801000 +fWaveParam=-0.600000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.906938 +fShader=0.000000 +zoom=0.977870 +rot=-0.380000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.450000 +ob_g=0.450000 +ob_b=0.450000 +ob_a=0.200000 +ib_size=0.003000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.200000 +mv_dx=0.000000 +mv_dy=-0.060000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_2=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_3=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_4=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_5=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_6=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_7=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_8=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_11=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_12=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_13=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_14=vol_thresh=bass_thresh+mid_thresh+treb_thresh; +per_frame_15=wave_r = .5+.3*sin(time)+.1*sin(time*10); +per_frame_16=wave_g = .5+.3*sin(time/1.5)+.1*sin(time*12); +per_frame_17=wave_b = .5+.3*sin(time/1.75)+.1*sin(time*14); +per_frame_18= +per_frame_19=bass_counter = equal(bass_thresh,2)*1+bass_counter; +per_frame_20=treb_counter=equal(treb_thresh,2)*1+treb_counter; +per_frame_21=mid_counter=equal(mid_thresh,2)*1+mid_counter; +per_frame_22=vol_counter=equal(vol_thresh,2)*1+vol_counter; +per_frame_23=bass_cycler = bass_counter%8; +per_frame_24=treb_cycler=treb_counter%8; +per_frame_25=mid_cycler=mid_counter%8; +per_frame_26=vol_cycler=vol_cycler%8; +per_frame_27=q1=bass_cycler; +per_frame_28=q2=treb_cycler; +per_frame_29=q3=mid_cycler; +per_frame_30=q4=bass_thresh; +per_frame_31=q5=mid_thresh; +per_frame_32=q6=treb_thresh; +per_frame_33=q7=vol_cycler; +per_frame_34=q8=vol_thresh; +per_frame_35=wave_mystery = wave_mystery+.1*sin(q8) - 0.1; +per_frame_36=mv_b = bass+bass_att-2; +per_frame_37=residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*residual; +per_frame_38=ib_size = bass*.01; +per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q1); +per_pixel_2=rot=if(above(q2,q8),.06*sin(rad_cycle-3*Sin(Q3)-x*ang*q3)*equal(Rad,x+y)*sin(Q6)-.3*sin(Q7 +per_pixel_3=),.02*sin(Q3)); +per_pixel_4=zoom =if(above(q2,q8), 2*rot*rad + 1 - 0.01*q1*rad-(X-.3*sin(Q4))+(x*.25*sin(Q2)),1.10);; +per_pixel_5=zoomexp = 1 - 0.1*rad; +per_pixel_6=dx=if(above(q2,q8),equal(x,raD)*sin(Q3)/y*sin(Q1),.009*sin(q5)*x*rad+d*sin(q2)); +per_pixel_7=dy=if(above(q2,q8),equal(y,rad)*sin(q2)/x*sin(q5),.009*sin(Q3)*y*rad+r*sin(q1)); +per_pixel_8=//there was a semicolon here, it's gone now +per_pixel_9=d=above(y,sin(ang*3+time)); +per_pixel_10=r=above(y,sin(ang*3+time)); +per_frame_init_1=colorcounter = 1; +per_frame_init_2=counter1 = 0; +per_frame_init_3=counter2 = 1; +per_frame_init_4=cdelay1 = 0; +per_frame_init_5=cdelay2 = 0; +per_frame_init_6= diff --git a/presets/presets_tryptonaut/Zylot - Azirphaeli's Mirror.milk b/presets/presets_tryptonaut/Zylot - Azirphaeli's Mirror.milk new file mode 100755 index 0000000000..956f07d2b6 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Azirphaeli's Mirror.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.163847 +fWaveScale=0.591235 +fWaveSmoothing=0.000000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=ob_a = 1; +per_frame_3=ob_r = (bass*.3); +per_pixel_1=zoom = pow(rad+(0&bass*.5),2); +per_pixel_2=zoom = if(below(zoom,.5),.5,zoom); +per_pixel_3=rot = sin(time)*rad; +per_pixel_4=dx = .01*sin(time*.77); +per_pixel_5=dy = .01*cos(time*.33); diff --git a/presets/presets_tryptonaut/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets/presets_tryptonaut/Zylot - Block Of Sound (Abstract Architecture Mix).milk new file mode 100755 index 0000000000..bad50b3f5a --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Block Of Sound (Abstract Architecture Mix).milk @@ -0,0 +1,218 @@ +[preset00] +fRating=2 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.124746 +fWaveSmoothing=0 +fWaveParam=-0.5 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=1 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.03 +wave_y=0.96 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=64 +nMotionVectorsY=2.016 +mv_dx=0 +mv_dy=-0.1 +mv_l=5 +mv_r=0 +mv_g=0 +mv_b=0.7 +mv_a=0 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1 +wavecode_0_smoothing=0.5 +wavecode_0_r=1 +wavecode_0_g=1 +wavecode_0_b=1 +wavecode_0_a=1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1 +wavecode_1_smoothing=0.5 +wavecode_1_r=1 +wavecode_1_g=1 +wavecode_1_b=1 +wavecode_1_a=1 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1 +wavecode_2_smoothing=0.5 +wavecode_2_r=1 +wavecode_2_g=1 +wavecode_2_b=1 +wavecode_2_a=1 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0 +shapecode_0_r=0 +shapecode_0_g=0 +shapecode_0_b=0 +shapecode_0_a=0 +shapecode_0_r2=0 +shapecode_0_g2=1 +shapecode_0_b2=0 +shapecode_0_a2=1 +shapecode_0_border_r=1 +shapecode_0_border_g=1 +shapecode_0_border_b=1 +shapecode_0_border_a=1 +shape_0_per_frame1=ang = ang + 10*sin(time*.8); +shape_0_per_frame2=vol = 0.167*(bass+mid+att); +shape_0_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_0_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_0_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_0_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_0_per_frame7=xpos = xpos + 0.001*xspeed; +shape_0_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_0_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_0_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_0_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_0_per_frame12=ypos = ypos + 0.001*yspeed; +shape_0_per_frame13=x = centerx; +shape_0_per_frame14=y = abs(centery-1); +shape_0_per_frame15=centerx = 1.75*xpos + 0.5; +shape_0_per_frame16=centery = 1.75*ypos + 0.5; +shape_0_per_frame17=r2 = .5+.2*sin(time*.666); +shape_0_per_frame18=g2 = .5+.2*sin(time*.555); +shape_0_per_frame19=b2 = .5+.2*sin(time*.777); +shape_0_per_frame20=rad = rad + bass*.1; +shape_0_per_frame21=border_r = bass*.3; +shape_0_per_frame22=border_g = treb*.3; +shape_0_per_frame23=border_b = mis*.3; +shape_0_per_frame24=r = if(above(bass,1.3),1,0); +shape_0_per_frame25=g = if(above(bass,1.3),1,0); +shape_0_per_frame26=b = if(above(bass,1.3),1,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0 +shapecode_1_r=1 +shapecode_1_g=0 +shapecode_1_b=0 +shapecode_1_a=1 +shapecode_1_r2=0 +shapecode_1_g2=1 +shapecode_1_b2=0 +shapecode_1_a2=0 +shapecode_1_border_r=1 +shapecode_1_border_g=1 +shapecode_1_border_b=1 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0 +shapecode_2_r=1 +shapecode_2_g=0 +shapecode_2_b=0 +shapecode_2_a=1 +shapecode_2_r2=0 +shapecode_2_g2=1 +shapecode_2_b2=0 +shapecode_2_a2=0 +shapecode_2_border_r=1 +shapecode_2_border_g=1 +shapecode_2_border_b=1 +shapecode_2_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2=vol = 0.167*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=wave_x = centerx; +per_frame_14=wave_y = abs(centery-1); +per_frame_15=centerx = 1.75*xpos + 0.5; +per_frame_16=centery = 1.75*ypos + 0.5; +per_frame_17=q1 = centerx; +per_frame_18=q2 = centery; +per_frame_19=q3 = .06 + bass*.04; +per_frame_20=wave_r = bass*.3; +per_frame_21=wave_g = treb*.3; +per_frame_22=wave_b = mid*.3; +per_pixel_1=zoom = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),1,.94+ze),.94+ze),.94+ze),.94+ze); +per_pixel_2=zoomerx = if(above(x,q1),.01,-.01); +per_pixel_3=zoomery = if(above(y,q2),.01,-.01); +per_pixel_4=dx = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomerx,.7+dxe),.7+dxe),.7+dxe),.7+dxe); +per_pixel_5=dy = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomery,.7+dye),.7+dye),.7+dye),.7+dye); +per_pixel_6=dxe = .2 + .2*sin(time*.444); +per_pixel_7=dye = .2+.2*cos(time*.222); +per_pixel_8=ze = .04*sin(time*.777); diff --git a/presets/presets_tryptonaut/Zylot - Block Of Sound (Fractal Construction Mix).milk b/presets/presets_tryptonaut/Zylot - Block Of Sound (Fractal Construction Mix).milk new file mode 100755 index 0000000000..b9a458e04a --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Block Of Sound (Fractal Construction Mix).milk @@ -0,0 +1,93 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.558724 +fWaveScale=0.124746 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.030000 +wave_y=0.960000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=vol = 0.167*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=wave_x = centerx; +per_frame_14=wave_y = abs(centery-1); +per_frame_15=centerx = 1.75*xpos + 0.5; +per_frame_16=centery = 1.75*ypos + 0.5; +per_frame_17=q1 = centerx; +per_frame_18=q2 = centery; +per_frame_19=q3 = .06 + bass*.04; +per_frame_20=wave_r = bass*.3; +per_frame_21=wave_g = treb*.3; +per_frame_22=wave_b = mid*.3; +per_pixel_1=zoom = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),1,.94+ze),.94+ze),.94+ze),.94+ze); +per_pixel_2=zoomerx = if(above(x,q1),.01,-.01); +per_pixel_3=zoomery = if(above(y,q2),.01,-.01); +per_pixel_4=dx = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomerx,.7+dxe),.7+dxe),.7+dxe),.7+dxe); +per_pixel_5=dy = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomery,.7+dye),.7+dye),.7+dye),.7+dye); +per_pixel_6=dxe = .2 + .2*sin(time*.444); +per_pixel_7=dye = .2+.2*cos(time*.222); +per_pixel_8=ze = .04*sin(time*.777); diff --git a/presets/presets_tryptonaut/Zylot - Building Block of color - Bitcore Tweak.milk b/presets/presets_tryptonaut/Zylot - Building Block of color - Bitcore Tweak.milk new file mode 100755 index 0000000000..09b3f91bc9 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Building Block of color - Bitcore Tweak.milk @@ -0,0 +1,363 @@ +[preset00] +fRating=1.000000 +fGammaAdj=2.000000 +fDecay=0.820000 +fVideoEchoZoom=1.0500000 +fVideoEchoAlpha=1.100000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=7.680042 +nMotionVectorsY=6.240038 +mv_dx=0.320000 +mv_dy=-0.220000 +mv_l=0.050000 +mv_r=0.760000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar/32; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*3.5; +wave_1_per_point8=x1 = (1)*sin(nsample+value1*5); +wave_1_per_point9=y1 = (4)*cos(sample*t8*2); +wave_1_per_point10=z1= (4)*sin(sample*(t8*2)); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+10; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=r = sin(nsample); +wave_1_per_point28=g = -.3+cos(sample*20+(time*5)); +wave_1_per_point29=b = -.3-cos(-sample*20+(time*5)); +wave_1_per_point30=g = if(below(g,0),0,g); +wave_1_per_point31=b = if(below(b,0),0,b); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = .5 + (.12 + .02*sin(time*.8))*cos(sample*(100*sin(time*.1))+time*.8); +wave_3_per_point2=y = .5 + (.12 + .02*sin(time))*sin(sample*(100*sin(time*.5))+time*.5); +wave_3_per_point3=a = -.7+sin(sample*1000+time*2); +wave_3_per_point4=a = above(a,0); +wave_3_per_point5= +wave_3_per_point6=r = -.7+sin(sample*100+time*2); +wave_3_per_point7=g = -.7+sin((sample+.40)*100+time*2); +wave_3_per_point8=b = -.7+sin((sample+.77)*100+time*2); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_pixel_1=zoom = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),zoom+.01,.5),.5),.5),.5); +per_pixel_2=dx = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),0,.5),.5),.5),.5); +per_pixel_3=dy = if(above(x,.3),if(below(x,.7),if(below(y,.7),if(above(y,.3),0,.5),.5),.5),.5); +per_pixel_4=zoom = if(below(zoom,1),zoom + ((x)*-.4)+.02*sin(time+(bass*2)),zoom); +per_pixel_5=zoom = zoom + if(below(zoom,1),zoom + (y-.5+.5*sin(time*.66))*.2*sin(time*.5),0); +per_pixel_6=dx = if(above(dx,0),((rand(50)-25)*bass*.0045),dx); +per_pixel_7= +per_pixel_8=zoom = zoom + (.1+.1*sin(time*.3))*below(zoom,1)+0.025; +per_pixel_9=zoom = zoom*above(zoom,0); diff --git a/presets/presets_tryptonaut/Zylot - Color Of Music.milk b/presets/presets_tryptonaut/Zylot - Color Of Music.milk new file mode 100755 index 0000000000..b730e33543 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Color Of Music.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=7.888676 +fWaveScale=2.978922 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.010000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=3.209179 +fWarpScale=0.512473 +fZoomExponent=0.999997 +fShader=0.000000 +zoom=1.104622 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.380965 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = bass/5; +per_frame_2=wave_g = treb/5; +per_frame_3=wave_b = time*sin(bass/treb*10); +per_frame_4=wave_x =.4+(((cos(bass)))/2); +per_frame_5=wave_y = .25+((treb/10)); +per_frame_6=warp = warp*(log(.2*time/2))/warp*tan(rand(1)); +per_frame_7=decay = decay + sy; diff --git a/presets/presets_tryptonaut/Zylot - Crosshair Dimension (Light of Ages).milk b/presets/presets_tryptonaut/Zylot - Crosshair Dimension (Light of Ages).milk new file mode 100755 index 0000000000..c32796e389 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Crosshair Dimension (Light of Ages).milk @@ -0,0 +1,282 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.741900 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=bassc = 0; +wave_0_init2=bcount = 0; +wave_0_per_frame1=r=bass*.5; +wave_0_per_frame2=g=treb*.5; +wave_0_per_frame3=b=mid*.5; +wave_0_per_point1=x = .5+.2*sin(time*.7454); +wave_0_per_point2=x = x+(.0005-rand(10)*.001); +wave_0_per_point3=y = .5+.2*cos(time*.455); +wave_0_per_point4=y = y+(.0005-rand(10)*.01); +wave_0_per_point5= +wave_0_per_point6=bassc = if(above(bcount,0),1,0); +wave_0_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_0_per_point8=y = y - bcount; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=r=bass*.5; +wave_1_per_frame2=g=treb*.5; +wave_1_per_frame3=b=mid*.5; +wave_1_per_point1=x = .5+.2*sin(time*.7454); +wave_1_per_point2=x = x+(.0005-rand(10)*.008); +wave_1_per_point3=y = .5+.2*cos(time*.455); +wave_1_per_point4=y = y+(.0005-rand(10)*.001); +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=bassc = if(above(bcount,0),1,0); +wave_1_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_1_per_point9=x = x - bcount; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=r=bass*.5; +wave_2_per_frame2=g=treb*.5; +wave_2_per_frame3=b=mid*.5; +wave_2_per_point1=x = .5+.2*sin(time*.7454); +wave_2_per_point2=x = x+(.0005+rand(10)*.008); +wave_2_per_point3=y = .5+.2*cos(time*.455); +wave_2_per_point4=y = y+(.0005-rand(10)*.001); +wave_2_per_point5= +wave_2_per_point6=bassc = if(above(bcount,0),1,0); +wave_2_per_point7=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.2,0),0)); +wave_2_per_point8=x = x + bcount; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=r=bass*.5; +wave_3_per_frame2=g=treb*.5; +wave_3_per_frame3=b=mid*.5; +wave_3_per_point1=x = .5+.2*sin(time*.7454); +wave_3_per_point2=x = x+(.0005-rand(10)*.001); +wave_3_per_point3=y = .5+.2*cos(time*.455); +wave_3_per_point4=y = y-(.0005-rand(10)*.01); +wave_3_per_point5= +wave_3_per_point6= +wave_3_per_point7=bassc = if(above(bcount,0),1,0); +wave_3_per_point8=bcount = if(above(bcount,0),bcount - .00005,if(below(bassc,1),if(above(bass,1.5),.3,0),0)); +wave_3_per_point9=y = y + bcount; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.971051 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.291705 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.300000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.527755 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.408389 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = angc; +shape_1_per_frame2=angc = angc+treb*.01; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=3.319852 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.149491 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + angc; +shape_2_per_frame2=angc = angc + bass*.01; +shape_2_per_frame3=x = .45; +shape_2_per_frame4=y = .55; +shape_2_per_frame5= +shape_2_per_frame6=r2 = (rand100)*.01 +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.180000 +shapecode_3_y=0.300000 +shapecode_3_rad=1.558463 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.197884 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5+.1*sin(angc); +shape_3_per_frame2=y = .5+.1*cos(angc); +shape_3_per_frame3= +shape_3_per_frame4=r = .5+sin(time); +shape_3_per_frame5=b = .5+sin(time*.556677); +shape_3_per_frame6=g = .5+sin(time*.353); +per_frame_init_1=bassc=0; +per_frame_init_2=midc=0; +per_frame_init_3=mcount=0; +per_frame_init_4=bcount=0; +per_frame_1=decay = .9; +per_frame_2=warp = 0; +per_frame_3= +per_frame_4=bassc = if(above(bass,bassc),bassc + bass*.07,bassc-.03); +per_frame_5=midc = if(above(mid,midc),midc + mid*.07,midc-.03); +per_frame_6= +per_frame_7=q1 = bassc; +per_frame_8=q2 = midc; +per_pixel_1=zoom = pow(rad,2); diff --git a/presets/presets_tryptonaut/Zylot - Crystal Ball (Magical Reaction Mix).milk b/presets/presets_tryptonaut/Zylot - Crystal Ball (Magical Reaction Mix).milk new file mode 100755 index 0000000000..7dfb3a8c01 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Crystal Ball (Magical Reaction Mix).milk @@ -0,0 +1,364 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); +wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); +wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); +wave_1_per_point7= +wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point15=//move resulting shape in 3d space +wave_1_per_point16=x4 = x3+t4; +wave_1_per_point17=y4 = y3; +wave_1_per_point18=z4 = z3+t5; +wave_1_per_point19=//draw 3d shape in 2d +wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point22= +wave_1_per_point23=r = g+value1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Zylot's dumb 3d wave +wave_2_per_point4=fvar = sample*512; +wave_2_per_point5=svar = fvar/16; +wave_2_per_point6=tvar = 0&svar; +wave_2_per_point7=newsample = tvar/3.2; +wave_2_per_point8=x1 = sin(newsample*3.1415926*2); +wave_2_per_point9=y1 = cos(newsample*3.1415926*2); +wave_2_per_point10=z1 = 0; +wave_2_per_point11= +wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point19=//move resulting shape in 3d space +wave_2_per_point20=x4 = x3; +wave_2_per_point21=y4 = y3; +wave_2_per_point22=z4 = z3+5; +wave_2_per_point23=//draw 3d shape in 2d +wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point26= +wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); +wave_2_per_point28=r = if(below(r,0),0,r); +wave_2_per_point29=g = -.5 + sin(sample*5+time*5); +wave_2_per_point30=g = if(below(g,0),0,g); +wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); +wave_2_per_point32=b = if(below(b,0),0,b); +wave_2_per_point33=r = if(above(bass,1.5),1,r); +wave_2_per_point34=g = if(above(bass,1.5),1,g); +wave_2_per_point35=b = if(above(bass,1.5),1,b); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=6.530878 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.500000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=rad = rad + sin(time); +shape_0_per_frame2=r2 = bass; +shape_0_per_frame3=g2 = treb; +shape_0_per_frame4=b2 = mid; +shape_0_per_frame5=r = if(above(bass+mid+treb/3,6),1,0); +shape_0_per_frame6=g = if(above(bass+mid+treb/3,6),1,0); +shape_0_per_frame7=b = if(above(bass+mid+treb/3,6),1,0); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.022480 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.800000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad = .55; +shape_1_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_1_per_frame8=ang = ang-cos(time*.02); +shape_1_per_frame9=x = .5 + .1*sin(time*.11); +shape_1_per_frame10=y = .5 + .1*sin(time*.51); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.108925 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.800000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.800000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad = .750 + .1*sin(time*.02); +shape_2_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shape_2_per_frame8=ang = ang+4*sin(time*.2); +shape_2_per_frame9=x = .5 + .1*cos(time*.11); +shape_2_per_frame10=y = .5 + .1*cos(time*.51); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp=0; +per_frame_2=wave_a=0; diff --git a/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) complex.milk b/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) complex.milk new file mode 100755 index 0000000000..24141756fc --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) complex.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.691361 +fWaveScale=3.300357 +fWaveSmoothing=0.819000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.310000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.488000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = .6+(.3*sin(time)); +per_frame_3=wave_g = .6+(.3*sin(time*.999)); +per_frame_4=wave_b = .6+(.3*sin(time*.777)); +per_pixel_1=dx = if(above(treb,1.4),.01*atan((rad)/.1*sin((x*y)*100000*(.1*sin(time)))),dy); +per_pixel_2=dy = if(above(bass,1.4),.01*atan((rad)/.1*sin((x*y)*100000*(.1*sin(time)))),-dy); +per_pixel_3=zoom = zoom + (dx+dy)*2; diff --git a/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) strain.milk b/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) strain.milk new file mode 100755 index 0000000000..73cecdc388 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - De(-a)range(d)(ment) strain.milk @@ -0,0 +1,73 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.691361 +fWaveScale=3.300357 +fWaveSmoothing=0.819000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.310000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.488000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = .6+(.3*sin(time)); +per_frame_3=wave_g = .6+(.3*sin(time*.999)); +per_frame_4=wave_b = .6+(.3*sin(time*.777)); +per_pixel_1=dx = if(above(treb,1.4),.01*atan((rad)/.1*sin((x*y)*100000*(.1*sin(time)))),dy); +per_pixel_2=dy = if(above(bass,1.4),.01*atan((rad)/.1*sin((x*y)*100000*(.1*sin(time)))),-dy); +per_pixel_3=zoom = zoom + (dx+dy)*2; +per_pixel_4=rot = if(above(bass,1.5),zoom - 1,-zoom + 1); +per_pixel_5=cx = dy; +per_pixel_6=cy = dx; diff --git a/presets/presets_tryptonaut/Zylot - Ether Storm.milk b/presets/presets_tryptonaut/Zylot - Ether Storm.milk new file mode 100755 index 0000000000..989b735745 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Ether Storm.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.958904 +fWaveScale=0.550447 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.310000 +ob_r=0.300000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=dx = dx - .001; +per_frame_2=dy = dy - .001; +per_frame_3=wave_r = wave_r + .5*sin(time*.666); +per_frame_4=wave_g = wave_g + .5*sin(time*.777); +per_frame_5=wave_b = wave_b + .5*sin(time*.888); +per_pixel_1=dx = if(above(y,.7),001.*asin((x-.5)*(y-.7)),dx); +per_pixel_2=dx = if(below(y,.3),001.*-asin((x-.5)*(y-.3)),dx); +per_pixel_3=dy = (y-.5)*.05; +per_pixel_4=warp = dx*50; \ No newline at end of file diff --git a/presets/presets_tryptonaut/Zylot - Funnels.milk b/presets/presets_tryptonaut/Zylot - Funnels.milk new file mode 100755 index 0000000000..afd2201f0e --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Funnels.milk @@ -0,0 +1,240 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.987785 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .5+.25*(sample*2)/sin(sample*100+time*10); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10); +wave_0_per_point3=r = .01+.5*sin(sample*250+time*1); +wave_0_per_point4=b = .01+.5*sin(sample*220-time*2); +wave_0_per_point5=g = .01+.5*sin(sample*130+time*4); +wave_0_per_point6= +wave_0_per_point7=b = if(above(b,0),b,0); +wave_0_per_point8=r = if(above(r,0),r,0); +wave_0_per_point9=g = if(above(g,0),g,0); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10); +wave_1_per_point2=y = .5+.25*(sample*2)/cos(sample*100+time*10); +wave_1_per_point3=r = .01+.5*sin(sample*250+time*1); +wave_1_per_point4=b = .01+.5*sin(sample*220-time*2); +wave_1_per_point5=g = .01+.5*sin(sample*130+time*4); +wave_1_per_point6= +wave_1_per_point7=b = if(above(b,0),b,0); +wave_1_per_point8=r = if(above(r,0),r,0); +wave_1_per_point9=g = if(above(g,0),g,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.218586 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=r = 1; +shape_0_per_frame2=b = 1; +shape_0_per_frame3=g = 1; +shape_0_per_frame4= +shape_0_per_frame5=mang = mang + .5+bass; +shape_0_per_frame6=rad = rad + treb*.05; +shape_0_per_frame7=ang = mang; +shapecode_1_enabled=0 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.003939 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang = ang - time*.333; +shape_1_per_frame2=border_r = .5+.4*sin(time*1.4)+bass*.1; +shape_1_per_frame3=border_g = .5+.4*sin(time*1.2)+treb*.1; +shape_1_per_frame4=border_b = .5+.4*sin(time*1)+mid*.1; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.840000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.580000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=decay = .95; +per_pixel_1=zoom = zoom + (rad*.6); diff --git a/presets/presets_tryptonaut/Zylot - Global Earthquake.milk b/presets/presets_tryptonaut/Zylot - Global Earthquake.milk new file mode 100755 index 0000000000..15cfac4636 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Global Earthquake.milk @@ -0,0 +1,63 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.692005 +fWaveSmoothing=0.750000 +fWaveParam=-0.640000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.490000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=dx = dx - .001; +per_frame_2=dy = dy - .001; +per_frame_3=warp = 0; +per_frame_4=wave_r = wave_r + .25*sin(time*.555); +per_frame_5=wave_g = wave_g + .25*cos(time*.888); +per_frame_6=wave_b = wave_b + .25*sin(time); +per_pixel_1=zoom = bass_att*.2 + (3*y)+2*(pow(x,2))*.01; diff --git a/presets/presets_tryptonaut/Zylot - Heaven Bloom nz+.milk b/presets/presets_tryptonaut/Zylot - Heaven Bloom nz+.milk new file mode 100755 index 0000000000..f2e3ed8cf9 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Heaven Bloom nz+.milk @@ -0,0 +1,527 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.997 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.270 +fWaveParam=-0.380 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = .5 + (bass*.06)*sin(sample*2*(time*10*treb)); +wave_0_per_point2=y = .5 + (bass*.06)*cos(sample*2*(time*10*treb)); +wave_0_per_point3=r = 1 + .5*sin(sample*.10+(time*10*bass)); +wave_0_per_point4=g = 1 + .5*sin(sample*2+(time*50*treb)); +wave_0_per_point5=b = 1 + .5*sin(sample*5+(time*20*mid)); +wave_0_per_point6=a = r; +wavecode_1_enabled=1 +wavecode_1_samples=102 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.500 +wavecode_1_g=0.100 +wavecode_1_b=0.240 +wavecode_1_a=1.000 +wave_1_per_frame1=samples = 256 + 50*sin(time*.939493949); +wave_1_per_frame2=vol = (bass_att + mid_att + treb_att)*.333333; +wave_1_per_frame3=vol_avg = .1*(vol_avg*9 + vol); +wave_1_per_frame4=vg = vol_avg*.1; +wave_1_per_frame5=t1 = if(above(vg,1.8),1.8,vg); +wave_1_per_point1=tm = q1; +wave_1_per_point2=sp = sample*6.28*8*6*sin(time)*100; +wave_1_per_point3= +wave_1_per_point4=vol = (value1+value2)*.5; +wave_1_per_point5=it = it*above(sample,0); +wave_1_per_point6=it = it + 1; +wave_1_per_point7=//rad = .5 + vol + .01; +wave_1_per_point8=rad=1; +wave_1_per_point9=ra = rad*sin(sample*3.14); +wave_1_per_point10=ox = ra*sin(sp); +wave_1_per_point11=oy = sin(sample*3.14-1.57)*rad; +wave_1_per_point12=oz = ra*cos(sp); +wave_1_per_point13= +wave_1_per_point14=xang = q4; +wave_1_per_point15=yang = q5; +wave_1_per_point16=zang = q6; +wave_1_per_point17=fov = .5; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=yang = 0;//q8; +wave_1_per_point33=oz = oz + 5; +wave_1_per_point34= +wave_1_per_point35=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point36=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point37=ox = mx; +wave_1_per_point38=oz = mz; +wave_1_per_point39= +wave_1_per_point40=oz = oz - 5; +wave_1_per_point41= +wave_1_per_point42=oz = oz - 2; +wave_1_per_point43=x = ox*fov/oz + 0.5; +wave_1_per_point44=x = (x-.5)*0.75 + 0.5; +wave_1_per_point45=y = oy*fov/oz + 0.5; +wave_1_per_point46= +wave_1_per_point47=r = 1 + .5*sin(sample*.10+(time*10*bass)); +wave_1_per_point48=g = 1 + .5*sin(sample*2+(time*50*treb)); +wave_1_per_point49=b = 1 + .5*sin(sample*5+(time*20*mid)); +wavecode_2_enabled=1 +wavecode_2_samples=102 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_frame1=samples = 256 + 50*sin(time*.939493949); +wave_2_per_frame2=vol = (bass_att + mid_att + treb_att)*.333333; +wave_2_per_frame3=vol_avg = .1*(vol_avg*9 + vol); +wave_2_per_frame4=vg = vol_avg*.1; +wave_2_per_frame5=t1 = if(above(vg,1.8),1.8,vg); +wave_2_per_point1=tm = q1; +wave_2_per_point2=sp = sample*6.28*8*6*sin(time)*100; +wave_2_per_point3= +wave_2_per_point4=vol = (value1+value2)*.5; +wave_2_per_point5=it = it*above(sample,0); +wave_2_per_point6=it = it + 1; +wave_2_per_point7=//rad = .5 + vol + .01; +wave_2_per_point8=rad=1; +wave_2_per_point9=ra = rad*sin(sample*3.14); +wave_2_per_point10=ox = ra*sin(sp); +wave_2_per_point11=oy = sin(sample*3.14-1.57)*rad; +wave_2_per_point12=oz = ra*cos(sp); +wave_2_per_point13= +wave_2_per_point14=xang = q4; +wave_2_per_point15=yang = q5; +wave_2_per_point16=zang = q6; +wave_2_per_point17=fov = .5; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=yang = 0;//q8; +wave_2_per_point33=oz = oz + 5; +wave_2_per_point34= +wave_2_per_point35=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point36=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point37=ox = mx; +wave_2_per_point38=oz = mz; +wave_2_per_point39= +wave_2_per_point40=oz = oz - 5; +wave_2_per_point41= +wave_2_per_point42=oz = oz - 2; +wave_2_per_point43=x = ox*fov/oz + 0.5; +wave_2_per_point44=x = (x-.5)*0.75 + 0.5; +wave_2_per_point45=y = oy*fov/oz + 0.5; +wave_2_per_point46= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1024 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.26465 +shapecode_0_r=0.200 +shapecode_0_g=0.000 +shapecode_0_b=0.700 +shapecode_0_a=0.240 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=0.500 +shapecode_0_border_g=0.500 +shapecode_0_border_b=0.500 +shapecode_0_border_a=0.000 +shape_0_init1=//samples = 256 + 50*sin(time*.939493949); +shape_0_init2=//num_inst = 256 + 50*sin(time*.939493949); +shape_0_init3=//samples = .5 + sin(time*.939493949); +shape_0_init4=num_inst = .5 + sin(time*.939493949); +shape_0_per_frame1= +shape_0_per_frame2=sample = instance/1024; +shape_0_per_frame3=//num_inst = .5 + sin(time*.939493949); +shape_0_per_frame4=tm = q1; +shape_0_per_frame5=sp = sample*6.28*8*6*sin(time)*100; +shape_0_per_frame6= +shape_0_per_frame7=vol = (value1+value2)*.5; +shape_0_per_frame8=it = it*above(sample,0); +shape_0_per_frame9=it = it + 1; +shape_0_per_frame10=//rad = .5 + vol + .01; +shape_0_per_frame11=rad2=1.3; +shape_0_per_frame12=ra = rad2*sin(sample*3.14); +shape_0_per_frame13=ox = ra*sin(sp); +shape_0_per_frame14=oy = sin(sample*3.14-1.57)*rad2; +shape_0_per_frame15=oz = ra*cos(sp); +shape_0_per_frame16= +shape_0_per_frame17=xang = q4; +shape_0_per_frame18=yang = q5; +shape_0_per_frame19=zang = q6; +shape_0_per_frame20=fov = .5; +shape_0_per_frame21= +shape_0_per_frame22=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame23=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame24=ox = mx; +shape_0_per_frame25=oy = my; +shape_0_per_frame26=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame27=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame28=ox = mx; +shape_0_per_frame29=oz = mz; +shape_0_per_frame30=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame31=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame32=oy = my; +shape_0_per_frame33=oz = mz; +shape_0_per_frame34= +shape_0_per_frame35=yang = 0;//q8; +shape_0_per_frame36=oz = oz + 5; +shape_0_per_frame37=rad=rad*instance*.0041;//3d +shape_0_per_frame38= +shape_0_per_frame39=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame40=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame41=ox = mx; +shape_0_per_frame42=oz = mz; +shape_0_per_frame43= +shape_0_per_frame44=oz = oz - 5; +shape_0_per_frame45= +shape_0_per_frame46=oz = oz - 2; +shape_0_per_frame47=x = ox*fov/oz + 0.5; +shape_0_per_frame48=x = (x-.5)*0.75 + 0.5; +shape_0_per_frame49=y = oy*fov/oz + 0.5; +shape_0_per_frame50= +shape_0_per_frame51=r = 1 + .5*sin(sample*.10+(time*10*bass)); +shape_0_per_frame52=g = 1 + .5*sin(sample*2+(time*50*treb)); +shape_0_per_frame53=b = 1 + .5*sin(sample*5+(time*20*mid)); +shape_0_per_frame54=g2= 1 + .5*sin(sample*.10+(time*10*bass)); +shape_0_per_frame55=b2= 1 + .5*sin(sample*2+(time*50*treb)); +shape_0_per_frame56=r2= 1 + .5*sin(sample*5+(time*20*mid)); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=33 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.500 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.500 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = rand(int(q30))/15+instance-instance; +shape_1_per_frame2=trans2 = rand(int(q30))/15+instance-instance; +shape_1_per_frame3=trans3 = rand(int(q30))/15+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; +shape_1_per_frame9=r=rand(q30)*.1+instance-instance; +shape_1_per_frame10=g=rand(q30)*.1+instance-instance; +shape_1_per_frame11=b=rand(q30)*.1+instance-instance; +shape_1_per_frame12=r2=rand(q30)*.1+instance-instance; +shape_1_per_frame13=g2=rand(q30)*.1+instance-instance; +shape_1_per_frame14=b2=rand(q30)*.1+instance-instance; +shape_1_per_frame15=border_r=rand(q30)*.1+instance-instance; +shape_1_per_frame16=border_g=rand(q30)*.1+instance-instance; +shape_1_per_frame17=border_b=rand(q30)*.1+instance-instance; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.21000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.840 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.580 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=tst = 10; +per_frame_init_2=tr1 = -5+rand(10); +per_frame_init_3=tr2 = -2+rand(4); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=warp = 0; +per_frame_29=bassspin = if(above(bass*.09,bassspin),bassspin+.002,bassspin-.002); +per_frame_30=bassspin = bassspin*above(bassspin,0); +per_frame_31=bassc = bassc+bassspin; +per_frame_32=q1 = bassc; +per_frame_33=q2 = frame%int(36+12*sin(time*.1)); +per_frame_34=tst = if(equal(q2,1),10+int(rand(45)),tst); +per_frame_35=q3 = tst; +per_frame_36=decay = .92; +per_frame_37=q4 = tr1*.1; +per_frame_38=q5 = tr2*.1; +per_frame_39= +per_frame_40=q30=(bass+treb+mid)*1; +per_pixel_1=zoom = zoom + (.01*(bass_att*bass_att))*rad; +per_pixel_2=rot = rot + rad*(-2.5&(cos(time)*5))*.01; +per_pixel_3=zoom = zoom+((treb_att*.005)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` int nang; +warp_5=` nang = int(q3); +warp_6=` +warp_7=` float2 uv2 = uv; +warp_8=` uv2.x = uv.x + (.003*sin((ang*nang)+(q1*5))); +warp_9=` uv2.y = uv.y + (.003*cos((ang*nang)+(q1*5))); +warp_10=` ret = tex2D( sampler_fw_main, uv2 ).xyz; +warp_11=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_12=` ((uv2.xyy*q27 +warp_13=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_14=` ).xyz* +warp_15=` float3(1,1,0)*0.05 + +warp_16=` time*float3(0,0,1)*q29 +warp_17=` ); +warp_18=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_19=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_20=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_21=` // darken (decay) over time +warp_22=` if((ret.x +ret.y + ret.z)*.3333 <= .33){ +warp_23=` ret = ret - .1; +warp_24=` } +warp_25=` ret = ret*.9999; +warp_26=`} +comp_1=`sampler sampler_rand00; +comp_2=`float4 texsize_rand00; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` float2 uv1 = uv-.5; +comp_7=` float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv)*0; +comp_8=` float2 uv_noise = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +comp_9=` half4 noiseVal = tex2D(sampler_noise_lq, uv_noise); +comp_10=` +comp_11=` float2 hor = float2 (.001,0); +comp_12=` float2 ver = float2 (0,.001); +comp_13=` float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_14=` float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_15=` float2 dz = float2 (dx,dy); +comp_16=` +comp_17=` uv1 = uv1*0+.5*cos(uv1*1.5+1.6) - 3*dz; +comp_18=` float dots = saturate(.001*q3/length(uv1)); +comp_19=` +comp_20=` ret1 = .2*lum(ret1)+dots*ret1*10*(.1*(bass+mid)); +comp_21=` //ret1 = lerp(noiseVal,ret1,abs(ret1-1)); +comp_22=` ret = .8*ret1; +comp_23=` +comp_24=` float2 uv2 = float2(uv.x+.5-time*q4,uv.y+.5+time*q5); +comp_25=` float3 ret2 = tex2D(sampler_rand00,uv2*texsize.xy*texsize_rand00.zw).xyz; +comp_26=` +comp_27=` ret2 = .2*lum(ret2)+dots*ret2*10*(.3*(bass+mid)); +comp_28=` +comp_29=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_30=` ((uv2.xyy*q28 +comp_31=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_32=` ).xyz* +comp_33=` float3(1,1,0)*0.05 + +comp_34=` time*float3(0,0,1)*q31 +comp_35=` ); +comp_36=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_37=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_38=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_39=` if(ret.x == 0 && ret.y == 0 && ret.z == 0){ +comp_40=` ret = lerp(ret2*.5+((bass+mid+treb)*.01),ret,ret*5); +comp_41=` } +comp_42=`} +comp_43=`//Props to satan who taught me how to love +comp_44=`//Props to martin for code I used to create the glossy effect. Learning this pixel shader stuff! diff --git a/presets/presets_tryptonaut/Zylot - In death there is life (Geiss Layered Mix) (Jelly).milk b/presets/presets_tryptonaut/Zylot - In death there is life (Geiss Layered Mix) (Jelly).milk new file mode 100755 index 0000000000..a5ed20ee5c --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - In death there is life (Geiss Layered Mix) (Jelly).milk @@ -0,0 +1,270 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=16.217 +fWaveSmoothing=0.750 +fWaveParam=-0.440 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59958 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_3=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_4=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_frame_5=zoom = 1+bass*.01; +per_pixel_1=zoom = zoom + (rad*.01)*treb; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*0.96+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret = ret- (ret*.5); +warp_13=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_14=` ret = ret - .01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1.15; +comp_23=` ret *= lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.yxz,ret)); +comp_24=` ret *= ret; +comp_25=` +comp_26=` //ret *= 1.5; //old gamma effect +comp_27=`} diff --git a/presets/presets_tryptonaut/Zylot - Inside The Planar Portal.milk b/presets/presets_tryptonaut/Zylot - Inside The Planar Portal.milk new file mode 100755 index 0000000000..f5a1bae807 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Inside The Planar Portal.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.224799 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=mv_l = 5; +per_frame_3=wave_mystery = wave_mystery + bass*.06; +per_frame_4=wave_r = bass*.4; +per_frame_5=wave_g = treb*.4; +per_frame_6=wave_b = mid*.4; +per_pixel_1=basseffect = bass*.03; +per_pixel_2=trebeffect = treb*.03; +per_pixel_3=zoom = if(above(x,.4-trebeffect), if(below(x,.6+trebeffect), if(above(y,.4-basseffect), if(below(y,.6+basseffect),1.04,.6),.6),.6),.6); +per_pixel_4=dx = if(above(x,.4-trebeffect), if(below(x,.6+trebeffect), if(above(y,.4-basseffect), if(below(y,.6+basseffect),0,.5),.5),.5),.5); +per_pixel_5=dy = if(above(x,.4-trebeffect), if(below(x,.6+trebeffect), if(above(y,.4-basseffect), if(below(y,.6+basseffect),0,1),1),1),1); diff --git a/presets/presets_tryptonaut/Zylot - Mixing Pot.milk b/presets/presets_tryptonaut/Zylot - Mixing Pot.milk new file mode 100755 index 0000000000..3846b2f619 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Mixing Pot.milk @@ -0,0 +1,60 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.000000 +fWaveSmoothing=0.720000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999963 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=0.999831 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .255*sin(time*.366); +per_frame_3=wave_g = wave_g + .255*sin(time*.222); +per_frame_4=wave_b = wave_b + .255*sin(time*.288); +per_frame_5=wave_r = wave_r + bass*.3; +per_frame_6=wave_g = wave_g + treb*.3; +per_frame_7=wave_b = wave_b + mid*.3; +per_frame_8=zoom = zoom + .01 + .1*sin(time); +per_frame_9=zoom = zoom - bass*.1; +per_frame_10=cx = cx + .1*sin(time*.111); +per_frame_11=cy = cy + .1*sin(time*.222); +per_pixel_1=zoom = zoom + abs(x-.5); +per_pixel_2=zoom = zoom + abs(x-.5); +per_pixel_3=rot = .2*sin(rad*(2 - 10*sin(time))-time*4); +fRating=3.000000 diff --git a/presets/presets_tryptonaut/Zylot - Puddle Of Music.milk b/presets/presets_tryptonaut/Zylot - Puddle Of Music.milk new file mode 100755 index 0000000000..69d8c9cc8e --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Puddle Of Music.milk @@ -0,0 +1,86 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.958904 +fWaveScale=0.010000 +fWaveSmoothing=0.360000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.200000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.02),1); +per_frame_3=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.02),1); +per_frame_4=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_5=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_6=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_7=q1 = counter1; +per_frame_8=q2 = counter2; +per_frame_9=q3 = colorcounter; +per_frame_10=monitor = colorcounter; +per_frame_11=wave_r = bass*.4; +per_frame_12=wave_g = treb*.4; +per_frame_13=wave_b = mid*.4; +per_frame_14=wave_a = bass; +per_frame_15=wave_mystery = -.5+bass*.1; +per_pixel_1=zoom = if(equal(q3,0),1+.4*sin(q2)*rad,if(below(q3,6),1+rad*.4,if(equal(q3,6),1+.4*sin(q2+2)*rad,1))); +per_pixel_2=rot = if(below(q3,4),0,if(equal(q3,4),(.2*sin(q2)*zoom),if(below(q3,7),.2*zoom,(.2*sin(q1+2))*zoom))); +per_pixel_3=zoom = zoom + sin((0&bass)*(rad*10*treb))*.1; +per_frame_init_1=colorcounter = 1; +per_frame_init_2=counter1 = 0; +per_frame_init_3=counter2 = 1; +per_frame_init_4=cdelay1 = 0; +per_frame_init_5=cdelay2 = 0; diff --git a/presets/presets_tryptonaut/Zylot - Rainbow Planet Under Attack.milk b/presets/presets_tryptonaut/Zylot - Rainbow Planet Under Attack.milk new file mode 100755 index 0000000000..2121338972 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Rainbow Planet Under Attack.milk @@ -0,0 +1,74 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.692005 +fWaveSmoothing=0.750000 +fWaveParam=-0.640000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.490000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .25*sin(time*.555); +per_frame_3=wave_g = if(above(frame%2,0),wave_b + .25*cos(time*.888),0); +per_frame_4=wave_b = if(above(frame%2,0),wave_b + .25*sin(time),0); +per_frame_5=wave_mode = 2*above(frame%2,0); +per_frame_6=wave_x = if(above(frame%2,0),wave_x,rand(100)*.01); +per_frame_7=wave_y = if(above(frame%2,0),wave_y,(rand(30)+70)*.01); +per_pixel_1=zoom = bass_att*.2 + (3*y)+2*(pow(x,2))*.01; +per_pixel_2=zoom = if(below(zoom,1),.995,zoom); +per_pixel_3=dx = if(below(zoom,1),(rand(100)-50)*.0003,0); +per_pixel_4=dy = if(below(zoom,1),(rand(100)-50)*.0003,0); diff --git a/presets/presets_tryptonaut/Zylot - Rush.milk b/presets/presets_tryptonaut/Zylot - Rush.milk new file mode 100755 index 0000000000..bde9555303 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Rush.milk @@ -0,0 +1,192 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.980000 +fDecay=0.940000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.987793 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.120321 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=.3+pow(value1,.2); +wave_0_per_point3=r=rand(10)*.1; +wave_0_per_point4=g=rand(10)*.1; +wave_0_per_point5=b=rand(10)*.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x=sample; +wave_1_per_point2=y=.9-pow(value2,.2); +wave_1_per_point3=r=rand(10)*.1; +wave_1_per_point4=g=rand(10)*.1; +wave_1_per_point5=b=rand(10)*.1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 0; +wave_2_per_point1=x=.5+.1*sin(sample*10)*(rand(10)*.1)*bass; +wave_2_per_point2=y=.5+.1*cos(sample*10)*(rand(10)*.1)*treb; +wave_2_per_point3=a=(abs(y-.5)*abs(x-.5))*60; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=r=.5+.2*sin(time*1.3); +shape_0_per_frame2=g=.5+.2*sin(time*1.1); +shape_0_per_frame3=b=.5+.2*sin(time*.9); +shape_0_per_frame4=a=bass; +shape_0_per_frame5=r2=r; +shape_0_per_frame6=g2=g; +shape_0_per_frame7=b2=b; +shape_0_per_frame8=border_a = if(above(bass,1.5),1,0); +shape_0_per_frame9=rad = bass*.1; +shape_0_per_frame10=rad = rad*if(above(bass,1.7),5,1); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +per_frame_1=warp = 0; +per_pixel_1=zoom = if(above(abs(x-.5),.04),if(above(abs(y-.5),.04),1.2,1),1); +per_pixel_2=dx = if(above(x-.5,.025),if(below(abs(y-.5),.025),.02,0),0); +per_pixel_3=dx = if(below(x-.5,-.025),if(below(abs(y-.5),.025),-.02,dx),dx); +per_pixel_4=dy = if(above(y-.5,.025),if(below(abs(x-.5),.02),.02,0),0); +per_pixel_5=dy = if(below(y-.5,-.025),if(below(abs(x-.5),.02),-.02,dy),dy); diff --git a/presets/presets_tryptonaut/Zylot - S Pulse Virus.milk b/presets/presets_tryptonaut/Zylot - S Pulse Virus.milk new file mode 100755 index 0000000000..35af2a06ad --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - S Pulse Virus.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=4 +fGammaAdj=2 +fDecay=0.98 +fVideoEchoZoom=2 +fVideoEchoAlpha=0 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.8 +fWaveScale=1 +fWaveSmoothing=0.75 +fWaveParam=-1 +fModWaveAlphaStart=0.75 +fModWaveAlphaEnd=0.95 +fWarpAnimSpeed=1 +fWarpScale=0.999994 +fZoomExponent=1 +fShader=0 +zoom=1 +rot=0 +cx=0.5 +cy=0.5 +dx=0 +dy=0 +warp=1 +sx=1 +sy=1 +wave_r=0.5 +wave_g=0.5 +wave_b=0.5 +wave_x=0.5 +wave_y=0.5 +ob_size=0.01 +ob_r=0 +ob_g=0 +ob_b=0 +ob_a=0 +ib_size=0.01 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +mv_dx=0 +mv_dy=0 +mv_l=0.9 +mv_r=1 +mv_g=1 +mv_b=1 +mv_a=0 +per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); +per_frame_2=wave_mystery = wave_mystery + push; +per_frame_3=wave_r = wave_r + .5*sin(time*.222); +per_frame_4=wave_g = wave_g + .5*sin(time*.333); +per_frame_5=wave_b = wave_b + .5*sin(time*.444); +per_frame_6=warp = 0; +per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets/presets_tryptonaut/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk b/presets/presets_tryptonaut/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk new file mode 100755 index 0000000000..95c3bedabe --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Spiral (Hypnotic)_Phat_Double_Spiral_Mix.milk @@ -0,0 +1,230 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.987785 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10); +wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10); +wave_0_per_point3= +wave_0_per_point4=n2=abs((sample*6.283)-3.1415); +wave_0_per_point5=t=time*5; +wave_0_per_point6=r=sin(n2+t)*0.5+0.5; +wave_0_per_point7=g=sin(n2+2.1+t)*0.5+0.5; +wave_0_per_point8=b=sin(n2+4.2+t)*0.5+0.5; +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=//r = .5+.5*sin(sample*50); +wave_0_per_point12=//b = .5+.5*sin(sample*10); +wave_0_per_point13=//g = .5+.5*sin(sample*30); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.340000 +shapecode_0_ang=1.570797 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.500000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = 1.55; +shape_0_per_frame2=rad = rad+.3*bass; +shape_0_per_frame3=r = if(above(bass,1.5),1,0); +shape_0_per_frame4=g = if(above(bass,1.5),1,0); +shape_0_per_frame5=b = if(above(bass,1.5),1,0); +shapecode_1_enabled=1 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.003939 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=4.360755 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.400000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=sin(time/10)*6.28; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.840000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.580000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=decay = .92; +per_pixel_1=zoom = zoom + rad*.01; diff --git a/presets/presets_tryptonaut/Zylot - Star Ornament.milk b/presets/presets_tryptonaut/Zylot - Star Ornament.milk new file mode 100755 index 0000000000..d62dc3d2cb --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Star Ornament.milk @@ -0,0 +1,298 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001185 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.010576 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=pulse = 0; +wave_0_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_0_per_frame2=pulse = pulse*above(pulse,0); +wave_0_per_frame3=t1 = pulse; +wave_0_per_point1=x = sqrt(sample*mid*.05); +wave_0_per_point2=y = .5 + (.1+t1)*cos(sample*20); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=pulse = 0; +wave_1_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_1_per_frame2=pulse = pulse*above(pulse,0); +wave_1_per_frame3=t1 = pulse; +wave_1_per_point1=x = sqrt(sample*mid*.05); +wave_1_per_point2=y = .5 + -(.1+t1)*cos(sample*20); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=pulse = 0; +wave_2_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_2_per_frame2=pulse = pulse*above(pulse,0); +wave_2_per_frame3=t1 = pulse; +wave_2_per_point1=x = 1 - sqrt(sample*mid*.05); +wave_2_per_point2=y = .5 + (.1+t1)*cos(sample*20); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=pulse = 0; +wave_3_per_frame1=pulse = if(above(bass*.05,pulse),pulse+.001,pulse-.001); +wave_3_per_frame2=pulse = pulse*above(pulse,0); +wave_3_per_frame3=t1 = pulse; +wave_3_per_point1=x = 1 - sqrt(sample*mid*.05); +wave_3_per_point2=y = .5 + -(.1+t1)*cos(sample*20); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.340000 +shapecode_0_ang=0.530000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.560000 +shapecode_0_g=0.360000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.900000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=bassspin = 0; +shape_0_init2=angle = 0; +shape_0_per_frame1=ang = angle; +shape_0_per_frame2=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_0_per_frame3=bassspin = bassspin*above(bassspin,0); +shape_0_per_frame4=angle = angle + bassspin; +shape_0_per_frame5= +shape_0_per_frame6=r = bass*.3; +shape_0_per_frame7=g = treb*.3; +shape_0_per_frame8=b = mid*.3; +shape_0_per_frame9=r2 = .8+.2*sin(time*1.2); +shape_0_per_frame10=g2 = .8+.2*sin(time*.9777); +shape_0_per_frame11=b2 = .8+.2*sin(time*.7005); +shape_0_per_frame12= +shape_0_per_frame13=border_a = 1*above(bass+treb+mid,5); +shape_0_per_frame14= +shape_0_per_frame15=x = .5 + q1; +shape_0_per_frame16=y = .5 + q2; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.108073 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=bassspin = 0; +shape_1_init2=xpos = .25; +shape_1_init3=ypos = .25; +shape_1_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_1_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_1_per_frame3=xpos = xpos + bassspin; +shape_1_per_frame4=ypos = ypos + bassspin; +shape_1_per_frame5=x = .5 + q1 + .13*sin(xpos); +shape_1_per_frame6=y = .5 + q2 + .18*cos(ypos); +shapecode_2_enabled=1 +shapecode_2_sides=29 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.105693 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=bassspin = 0; +shape_2_init2=xpos = 2.3; +shape_2_init3=ypos = 2.3; +shape_2_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_2_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_2_per_frame3=xpos = xpos + bassspin; +shape_2_per_frame4=ypos = ypos + bassspin; +shape_2_per_frame5=x = .5 + q1 +.13*sin(xpos); +shape_2_per_frame6=y = .5 + q2 + .18*cos(ypos); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.091434 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=bassspin = 0; +shape_3_init2=xpos = 4.5; +shape_3_init3=ypos = 4.5; +shape_3_per_frame1=bassspin = if(above(bass*.05,bassspin),bassspin+.001,bassspin-.001); +shape_3_per_frame2=bassspin = bassspin*above(bassspin,0); +shape_3_per_frame3=xpos = xpos + bassspin; +shape_3_per_frame4=ypos = ypos + bassspin; +shape_3_per_frame5=x = .5 + q1 + .13*sin(xpos); +shape_3_per_frame6=y = .5 + q2 + .18*cos(ypos); +per_frame_1=warp = 0; +per_frame_2=decay = .92; +per_frame_3= +per_frame_4=vol = (bass+mid+att)/6; +per_frame_5=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +per_frame_6=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_7=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_8=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_10=xpos = xpos + 0.001*xspeed; +per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_16=ypos = ypos + 0.001*yspeed; +per_frame_17= +per_frame_18=q1 = ypos; +per_frame_19=q2 = xpos; +per_frame_20= +per_pixel_1=zoom = zoom + (q1*q2)*2; +per_pixel_2=rot = 10+(rad*treb*.1); diff --git a/presets_projectM/Zylot - String.milk b/presets/presets_tryptonaut/Zylot - String.milk similarity index 100% rename from presets_projectM/Zylot - String.milk rename to presets/presets_tryptonaut/Zylot - String.milk diff --git a/presets/presets_tryptonaut/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk b/presets/presets_tryptonaut/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk new file mode 100755 index 0000000000..3340fb3861 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.221673 +fWaveScale=1.104617 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + if(above(bass,1),.5*cos(.33*time),.5*sin(.33*time)); +per_frame_3=wave_g = wave_g + if(above(bass,1),.5*cos(.55*time),.5*sin(.55*time)); +per_frame_4=wave_b = wave_b + if(above(bass,1),.5*cos(.44*time),.5*sin(.44*time)); +per_frame_5=wave_mystery = if(above(10*time%2,0),.5*sin(time)-.5,0); +per_pixel_1=zoom =-zoom + .1*sin(rad+tan(ang*5+(time*3)))*.1; +per_pixel_2=dx = rand(2)*.01; +per_pixel_3=dy = rand(2)*.01; diff --git a/presets/presets_tryptonaut/Zylot - The Deeper.milk b/presets/presets_tryptonaut/Zylot - The Deeper.milk new file mode 100755 index 0000000000..48d4ec2814 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - The Deeper.milk @@ -0,0 +1,59 @@ +[preset00] +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.302995 +fWaveSmoothing=0.750000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.499900 +wave_x=0.980000 +wave_y=0.500000 +per_frame_1=warp = 0; +per_frame_2=sy = .9; +per_frame_3=sx = 1.02; +per_frame_4=wave_r = wave_r + .25*sin(time*.444); +per_frame_5=wave_g = wave_g + .25*sin(time*.333); +per_frame_6=wave_b = wave_b + .25*sin(time*.222); +per_frame_7=wave_r = wave_r + bass*.3; +per_frame_8=wave_g = wave_g + treb*.3; +per_frame_9=wave_b = wave_b + mid*.3; +per_pixel_1=sy = .9; +per_pixel_2=zoom = zoom - rad*.1; +per_pixel_3=rot = rot + .6 + .39*sin((rot + rad*.2)+time); + +fRating=2.000000 diff --git a/presets/presets_tryptonaut/Zylot - The Inner Workings of my New Computer.milk b/presets/presets_tryptonaut/Zylot - The Inner Workings of my New Computer.milk new file mode 100755 index 0000000000..3b58ebc5d2 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - The Inner Workings of my New Computer.milk @@ -0,0 +1,72 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.939999 +fVideoEchoZoom=2.006761 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.576900 +fWaveScale=1.074092 +fWaveSmoothing=0.540000 +fWaveParam=-0.240000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=9.180534 +fWarpScale=3.544900 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.972365 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=0.930000 +ob_b=0.600000 +ob_a=1.000000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=16.000004 +nMotionVectorsY=16.800003 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.150000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=zoom = .6+.2*sin(time*.433); +per_frame_3=dx = .6 +.1*sin(time); +per_frame_4=dy = .6 +.1*cos(time*.888); +per_frame_5=rot = .3*sin(time*.333); +per_frame_6=wave_r = bass*.3; +per_frame_7=wave_g = treb*.3; +per_frame_8=wave_b = mid*.3; +per_frame_9=wave_a = if(equal(frame%2,0),if(above(bass,1.3),10,0),10.57); diff --git a/presets/presets_tryptonaut/Zylot - Visionarie (geiss aspect ratio fix).milk b/presets/presets_tryptonaut/Zylot - Visionarie (geiss aspect ratio fix).milk new file mode 100755 index 0000000000..659de4090f --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Visionarie (geiss aspect ratio fix).milk @@ -0,0 +1,220 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.997000 +fVideoEchoZoom=0.996629 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.270000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .5 + (bass*.2)*sin(sample*2*(time*10)); +wave_0_per_point2=y = .5 + (bass*.2)*cos(sample*2*(time*10)); +wave_0_per_point3=r = sample; +wave_0_per_point4=g = x; +wave_0_per_point5=b = y; +wave_0_per_point6=x = (x-0.5)*0.75 + 0.5; // aspect ratio fix by geiss +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.340000 +shapecode_0_ang=0.530000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.560000 +shapecode_0_g=0.360000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.900000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang = ang + time; +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.410000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.800000 +shapecode_1_b=0.700000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang - time*.333; +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.840000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.580000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang = ang + time*4; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=decay = .92; +per_pixel_1=zoom = zoom + .1; +per_pixel_2=rot = rot + rad*.1; diff --git a/presets/presets_tryptonaut/Zylot - Waves Of Blood.milk b/presets/presets_tryptonaut/Zylot - Waves Of Blood.milk new file mode 100755 index 0000000000..92432c1083 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Waves Of Blood.milk @@ -0,0 +1,71 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.970000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.958904 +fWaveScale=0.369707 +fWaveSmoothing=0.360000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.200000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(time*.666); +per_frame_3=wave_g = wave_g + .5*sin(time*.777); +per_frame_4=wave_b = wave_b + .5*sin(time*.888); +per_frame_5=ob_r = ob_r + .1*sin(time); +per_pixel_1=cx = (0&(x*17-0.5))*(1/17)+0.05; +per_pixel_2=cy = (0&(y*17-0.5))*(1/17)+0.05; +per_pixel_3=rot = (bass*.6)*sin(ang*(5+bass)+(time*3)); diff --git a/presets/presets_tryptonaut/Zylot - Wisps.milk b/presets/presets_tryptonaut/Zylot - Wisps.milk new file mode 100644 index 0000000000..ff554ca1c8 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - Wisps.milk @@ -0,0 +1,420 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.900000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.300000 +ob_g=0.300000 +ob_b=0.300000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.920000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.463735 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 3*sin(time); +wave_0_per_frame14=t5 = 10+8*cos(time); +wave_0_per_frame15= +wave_0_per_frame16=g = 0.5-0.4*cos(time); +wave_0_per_frame17=r = 0.5-0.4*sin(time); +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Spiral +wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); +wave_0_per_point5=y1 = 2*(sample-0.5)-value1; +wave_0_per_point6=z1= 0.5*cos(8*t8*sample); +wave_0_per_point7= +wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point15=//move resulting shape in 3d space +wave_0_per_point16=x4 = x3+t4; +wave_0_per_point17=y4 = y3; +wave_0_per_point18=z4 = z3+t5; +wave_0_per_point19=//draw 3d shape in 2d +wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_0_per_point22= +wave_0_per_point23=b= r+value1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.463735 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=t8=3.14159265; +wave_1_init3=t5 = 1; +wave_1_per_frame1=rotx = rotx+bass; +wave_1_per_frame2=roty = roty+mid; +wave_1_per_frame3=rotz = rotz+treb; +wave_1_per_frame4=//rotx = 0; +wave_1_per_frame5=//roty =0; +wave_1_per_frame6=//rotz = 0; +wave_1_per_frame7= +wave_1_per_frame8=//convert rotation values from degrees to radians +wave_1_per_frame9=t1= t8*rotx/180; +wave_1_per_frame10=t2 = t8*roty/180; +wave_1_per_frame11=t3 = t8*rotz/180; +wave_1_per_frame12= +wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); +wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); +wave_1_per_frame15= +wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); +wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); +wave_1_per_point1=//Define 3D Shape +wave_1_per_point2= +wave_1_per_point3=//Sphere +wave_1_per_point4=fvar = sample*512; +wave_1_per_point5=svar = fvar/32; +wave_1_per_point6=tvar = 0&svar; +wave_1_per_point7=nsample = tvar*3.5; +wave_1_per_point8=x1 = (1*sin(t8*nsample)); +wave_1_per_point9=y1 = (1*cos(t8*nsample)); +wave_1_per_point10=z1 = 1.5*sin((0&sample)); +wave_1_per_point11= +wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_1_per_point19=//move resulting shape in 3d space +wave_1_per_point20=x4 = x3; +wave_1_per_point21=y4 = y3; +wave_1_per_point22=z4 = z3+5; +wave_1_per_point23=//draw 3d shape in 2d +wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_1_per_point26= +wave_1_per_point27=r = g+value1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.463735 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); +wave_2_per_frame15= +wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); +wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Cube +wave_2_per_point4=x0 = if(below(sample*12,1),sample*12, if(below(sample*12,2),1, if(below(sample*12,3),abs(sample*12-3), if(below(sample*12,6),0, if(below(sample*12,8),1, if(below(sample*12,9),abs(sample*12-9), if(below(sample*12,10),0, if(below(sample*12,11),sample*12-10,1)))))))); +wave_2_per_point5=y0 = if(below(sample*12,1),0, if(below(sample*12,2),sample*12-1, if(below(sample*12,3),1, if(below(sample*12,4),abs(sample*12-4), if(below(sample*12,5),0, if(below(sample*12,7),1, if(below(sample*12,9),0, if(below(sample*12,10),sample*12-9, if(below(sample*12,11),1,abs(sample*12-12)))))))))); +wave_2_per_point6=z0 = if(below(sample*12,4),0, if(below(sample*12,5),sample*12-4, if(below(sample*12,6),abs(sample*12-6), if(below(sample*12,7),sample*12-6, if(below(sample*12,8),abs(sample*12-8),1))))); +wave_2_per_point7=x1 = 0.5-x0+if(below(sin(sample*12*3.1415),0),value1,0); +wave_2_per_point8=y1 = 0.5-y0+if(below(cos((sample*12-1.5)*3.1415),0),value1,0); +wave_2_per_point9=z1 = 0.5-z0+if(below(sample*12,4),0,if(below(sample*12,8),value1,0)); +wave_2_per_point10= +wave_2_per_point11=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point12=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point13=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point14=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point15=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point16=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point17=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point18=//move resulting shape in 3d space +wave_2_per_point19=x4 = x3+t4; +wave_2_per_point20=y4 = y3; +wave_2_per_point21=z4 = z3+t5; +wave_2_per_point22=//draw 3d shape in 2d +wave_2_per_point23=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point24=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point25= +wave_2_per_point26=g = b+value1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.217303 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=speedc=0; +shape_0_init2=trebc=0; +shape_0_init3=radc=0; +shape_0_per_frame1=x = .5+radc*sin(speedc); +shape_0_per_frame2=y = .5+radc*cos(speedc); +shape_0_per_frame3= +shape_0_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_0_per_frame5=radc = if(below(radc,0),0,radc); +shape_0_per_frame6= +shape_0_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_0_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_0_per_frame9= +shape_0_per_frame10=speedc = speedc + trebc; +shape_0_per_frame11= +shape_0_per_frame12=r = bass; +shape_0_per_frame13=g = treb; +shape_0_per_frame14=b = mid; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.215152 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=speedc=0; +shape_1_init2=trebc=0; +shape_1_init3=radc=0; +shape_1_per_frame1=x = .5+radc*sin(speedc+q1); +shape_1_per_frame2=y = .5+radc*cos(speedc+q1); +shape_1_per_frame3= +shape_1_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_1_per_frame5=radc = if(below(radc,0),0,radc); +shape_1_per_frame6= +shape_1_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_1_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_1_per_frame9= +shape_1_per_frame10=speedc = speedc + trebc; +shape_1_per_frame11= +shape_1_per_frame12=r = bass; +shape_1_per_frame13=g = treb; +shape_1_per_frame14=b = mid; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.215152 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=speedc=0; +shape_2_init2=trebc=0; +shape_2_init3=radc=0; +shape_2_per_frame1=x = .5+radc*sin(speedc+(q1*2)); +shape_2_per_frame2=y = .5+radc*cos(speedc+(q1*2)); +shape_2_per_frame3= +shape_2_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_2_per_frame5=radc = if(below(radc,0),0,radc); +shape_2_per_frame6= +shape_2_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_2_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_2_per_frame9= +shape_2_per_frame10=speedc = speedc + trebc; +shape_2_per_frame11= +shape_2_per_frame12=r = bass; +shape_2_per_frame13=g = treb; +shape_2_per_frame14=b = mid; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.215152 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=speedc=0; +shape_3_init2=trebc=0; +shape_3_init3=radc=0; +shape_3_per_frame1=x = .5+radc*sin(speedc+(q1*3)); +shape_3_per_frame2=y = .5+radc*cos(speedc+(q1*3)); +shape_3_per_frame3= +shape_3_per_frame4=radc = if(above(bass*.3,radc),radc+.01,radc-.01); +shape_3_per_frame5=radc = if(below(radc,0),0,radc); +shape_3_per_frame6= +shape_3_per_frame7=trebc = if(above(treb*.05,trebc),trebc+.0005,trebc-.0005); +shape_3_per_frame8=trebc = if(below(trebc,0),0,trebc); +shape_3_per_frame9= +shape_3_per_frame10=speedc = speedc + trebc; +shape_3_per_frame11= +shape_3_per_frame12=r = bass; +shape_3_per_frame13=g = treb; +shape_3_per_frame14=b = mid; +per_frame_init_1=space = 3+(rand(80)*.1); +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3= +per_frame_4=zoom = zoom-.1+(bass*.1); +per_frame_5= +per_frame_6=q1=space; +per_frame_7=dx = .04*sin(time); +per_frame_8=dy = .04*sin(time*.6677); diff --git a/presets/presets_tryptonaut/Zylot - light of the path.milk b/presets/presets_tryptonaut/Zylot - light of the path.milk new file mode 100755 index 0000000000..79850f6dd2 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot - light of the path.milk @@ -0,0 +1,65 @@ +[preset00] +fRating=5.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bMotionVectorsOn=0 +bRedBlueStereo=0 +nMotionVectorsX=12 +nMotionVectorsY=9 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=-0.440000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.070000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +per_frame_1=dx = dx - .001; +per_frame_2=dy = dy - .001; +per_frame_3=warp = 0; +per_frame_4=wave_r = wave_r + .2*sin(time*1.33)+bass*.3; +per_frame_5=wave_g = wave_g + .2*sin(time)+treb*.3; +per_frame_6=wave_b = wave_b + .2*sin(time*.988)+mid*.3; +per_pixel_1=zoomlv = .1*sin(ang*1000+time)+.05; +per_pixel_2=zoom = zoom + zoomlv; +per_pixel_3=dx = zoomlv; diff --git a/presets/presets_tryptonaut/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk b/presets/presets_tryptonaut/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk new file mode 100755 index 0000000000..6da0172062 --- /dev/null +++ b/presets/presets_tryptonaut/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk @@ -0,0 +1,79 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.980000 +fVideoEchoZoom=2.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800000 +fWaveScale=0.132666 +fWaveSmoothing=0.750000 +fWaveParam=-0.380000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .2*sin(time*.333)+bass_att*.2; +per_frame_3=wave_g = wave_g + .2*sin(time*.555)+treb_att*.2; +per_frame_4=wave_b = wave_b + .2*sin(time*.444)+mid_att*.2; +per_frame_5=bass_effect = max(max(bass,bass_att)-1.3,0); +per_frame_6=rot = min(if(above(bass_effect,0),bass_effect + 0.2,0),1.8); +per_frame_7=mv_x= 1; +per_frame_8=mv_y =1; +per_frame_9=dx = -0.0005; +per_frame_10=dy = -0.0005; +per_frame_11=mv_l = -25 + rot *500; +per_frame_12=mv_r = 1; +per_frame_13=mv_b = 1-wave_g; +per_frame_14=mv_g = 1-wave_r; +per_frame_15=monitor = rot; +per_pixel_1=dx = dx + (.1*treb_att)*abs(sin(time))*atan(x-.5); +per_pixel_2=dy = dy + (.1*bass_att)*abs(cos(time))*atan(y-.5); +per_pixel_3=zoom = zoom + .05*pow(zoom,2) -0.04; +per_pixel_4=rot = (dx*dy)*100 diff --git a/presets/presets_tryptonaut/[Ishan] - Drug Addict (Jelly V3).milk b/presets/presets_tryptonaut/[Ishan] - Drug Addict (Jelly V3).milk new file mode 100755 index 0000000000..07a62f110e --- /dev/null +++ b/presets/presets_tryptonaut/[Ishan] - Drug Addict (Jelly V3).milk @@ -0,0 +1,279 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.990 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059 +fWaveScale=1.351 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.100 +ob_r=0.010 +ob_g=0.400 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.200 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=62 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=(t1+bass_att)*.9; +wave_0_per_frame2=t2=(t2+mid_att)*.9; +wave_0_per_point1=y=y-sin(time*t1); +wave_0_per_point2=r =r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +wave_0_per_point3=g =g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +wave_0_per_point4=b =b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +wavecode_1_enabled=0 +wavecode_1_samples=72 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=(t1+bass_att)*.9; +wave_1_per_frame2=r=rand(20)*.2; +wave_1_per_frame3=g=rand(20)*.2; +wave_1_per_frame4=b=rand(20)*.2; +wave_1_per_frame5= +wave_1_per_point1=y=y; +wave_1_per_point2=x=x+sin(time*t1); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1= +per_frame_2=wave_r = 1; +per_frame_3=wave_g = 1; +per_frame_4=wave_b = 0; +per_frame_5=decay = decay - 0.01*equal(frame%6,0); +per_frame_6=dx=dx*.6+max(midd_att-1,bass_att-1)*.04; +per_pixel_1=zoom=zoom+sin(sqr(rad))*2; +per_pixel_2= +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.99; //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=` +comp_13=` ret = lerp(ret,1-ret,.7*GetBlur1(uv_y)+.2*GetPixel(uv)); +comp_14=` ret = lerp(ret,ret-.1*GetBlur3(uv_y)+.1*GetBlur1(uv_y2)+.42*GetPixel(uv_y),.25); +comp_15=` //ret *= .75; +comp_16=` ret *= saturate(length(ret-0.5)*5); +comp_17=` //ret = ret.xy; +comp_18=` ret = lum(ret); +comp_19=` ret += 1.25; +comp_20=` ret *= ret*.45; +comp_21=` float3 mask = GetBlur3(uv)-GetBlur1(uv)-.25*GetBlur2(uv_y); +comp_22=` ret *= lerp(ret,1.3*ret*mask,pow(hue_shader.zxy,ret)); +comp_23=` ret += .03; +comp_24=` ret *= .75*ret; +comp_25=` ret *= (hue_shader.zxy*3.5)-2.25; +comp_26=` ret *= 2.25-ret; +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/[Ishan] - Life in the drains.milk b/presets/presets_tryptonaut/[Ishan] - Life in the drains.milk new file mode 100644 index 0000000000..282f027960 --- /dev/null +++ b/presets/presets_tryptonaut/[Ishan] - Life in the drains.milk @@ -0,0 +1,235 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.965000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.074097 +fWaveSmoothing=0.630000 +fWaveParam=0.540000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.065000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.580000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_b1=wave_b1+if(above(bass_att,0),bass_att,-bass_att); +per_frame_2=wave_r=wave_r+(sin(time*1.43)*wave_b1)*.5; +per_frame_3=wave_g=wave_g+(cos(time*1.73)*wave_b1)*.5; +per_frame_4=wave_b=wave_b-(sin(time*2.03)*wave_b1)*.5; +per_frame_5=wave_mystery=sin((time+bass_att)*.5); +per_frame_6=wave_thick=1; +per_frame_7=rot=rot-wave_mystery*.1; +per_frame_8=wave_x1=wave_x1+.1; +per_frame_9=wave_y1=wave_y1-.1; +per_frame_10=decay = decay - 0.01*equal(frame%50,0); +per_frame_11=ob_r=sin(wave_r+time); +per_frame_12=ob_g=cos(wave_g+time); +per_frame_13=ob_b=sin(wave_b-time); +per_frame_14=gamma=2; +per_frame_15= +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23= +per_pixel_1=zoom=sin(zoom*1.3)-.1; +per_pixel_2=rot=rot+sin(rad*(zoom+sqr(rad)))*.1; +per_pixel_3= +per_pixel_4= +per_pixel_5= diff --git a/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ finally some serious stfu (loavthe).milk b/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ finally some serious stfu (loavthe).milk new file mode 100755 index 0000000000..5b1f0ac6b6 --- /dev/null +++ b/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ finally some serious stfu (loavthe).milk @@ -0,0 +1,595 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=4 +PSVERSION_WARP=4 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.900 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00010 +fShader=0.000 +zoom=0.99971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99980 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=202 +wavecode_0_sep=120 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.21240 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1=0; +wave_0_init2=t2=0; +wave_0_init3=t3=0; +wave_0_init4=t4=0; +wave_0_per_frame1=t1=0; +wave_0_per_frame2=k=0; +wave_0_per_frame3=r=0; +wave_0_per_frame4=g=0; +wave_0_per_frame5=b=0; +wave_0_per_frame6=t2=0.004; +wave_0_per_frame7=q31=1; +wave_0_per_frame8=yscl=1/(q22-q21); +wave_0_per_frame9=t4=0; +wave_0_per_point1=x=value1; +wave_0_per_point2=y=q21+q22*t1*0.00507; +wave_0_per_point3= +wave_0_per_point4=r=sin(x*3.1416*0.45); +wave_0_per_point5=t2=max(t2,r); +wave_0_per_point6= +wave_0_per_point7=t4=t4+r; +wave_0_per_point8= +wave_0_per_point9=t3=if(above(t2,1),1/t2,1); +wave_0_per_point10= +wave_0_per_point11=b=t2;//0.5+0.5*cos(sample*M_PI_2); +wave_0_per_point12= +wave_0_per_point13=x=q23; +wave_0_per_point14=t1=t1+1; +wave_0_per_point15=g=t4/t1; +wave_0_per_point16= +wave_0_per_point17=a=1; +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=0 +wavecode_1_samples=201 +wavecode_1_sep=140 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.81962 +wavecode_1_smoothing=0.29990 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t2=0; +wave_1_per_point1=x=value1; +wave_1_per_point2=y=q21+q22*t2*0.005; +wave_1_per_point3= +wave_1_per_point4=t2=t2+1; +wave_1_per_point5=r=1; +wave_1_per_point6=g=1; +wave_1_per_point7=b=1; +wave_1_per_point8= +wave_1_per_point9=a=1; +wave_1_per_point10= +wave_1_per_point11= +wavecode_2_enabled=0 +wavecode_2_samples=201 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.06811 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t3=0; +wave_2_per_point1=x=0.0003+q23; +wave_2_per_point2=y=q21+q22*t3*0.005; +wave_2_per_point3=t3=t3+1; +wave_2_per_point4=r=1; +wave_2_per_point5=g=1; +wave_2_per_point6=b=1; +wave_2_per_point7=a=1; +wavecode_3_enabled=0 +wavecode_3_samples=2 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=q3=sin(theta*M_PI*2); +wave_3_per_frame2=q4=cos(theta*M_PI*2); +wave_3_per_frame3=q5=sin(phi*M_PI*2); +wave_3_per_frame4=q6=cos(phi*M_PI*2); +wave_3_per_frame5= +wave_3_per_frame6=mvx=0; +wave_3_per_frame7=mvy=0; +wave_3_per_frame8=mvz=1; +wave_3_per_frame9= +wave_3_per_frame10=t1=-mvx*q3+mvy*p4; +wave_3_per_frame11=t2=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +wave_3_per_frame12=t3=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +wave_3_per_point1=x=0; +wave_3_per_point2=y=0; +shapecode_0_enabled=0 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.900 +shapecode_1_y=0.800 +shapecode_1_rad=0.49138 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=4.66674 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.95920 +shapecode_2_ang=0.62832 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=0.51545 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.700 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=q3=0; +per_frame_init_2= +per_frame_init_3=v1=0.2; +per_frame_init_4=v2=0.3; +per_frame_init_5=v3=0.4; +per_frame_init_6=v4=0.5; +per_frame_init_7=v5=0.6; +per_frame_init_8=v6=0.7; +per_frame_init_9=v7=0.8; +per_frame_init_10=v8=0.9; +per_frame_init_11= +per_frame_init_12=theta=0; +per_frame_init_13=phi=0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28= +per_frame_29=//float4 _qa; // q1-q4 The values of the q1-q32 variables, +per_frame_30=//float4 _qb; // q5-q8 grouped into float4's +per_frame_31=//float4 _qc; // q9-q12 for more convenient access. +per_frame_32=//float4 _qd; // q13-q16 +per_frame_33=//float4 _qe; // q17-q20 +per_frame_34=//f/loat4 _qf; // q21-q24 +per_frame_35=//float4 _qg; // q25-q28 +per_frame_36=//float4 _qh; // q29-q32 +per_frame_37= +per_frame_38=warp=0; +per_frame_39= +per_frame_40=q1=aspectx; +per_frame_41=q2=aspecty; +per_frame_42= +per_frame_43=q21=0.5-(0.5/q2); //ofs screen y +per_frame_44=q22=1/q2; //scaler screen y +per_frame_45= +per_frame_46=q23=(0.5-0.5/q1); +per_frame_47=q20=0; +per_frame_48= +per_frame_49=q24=1-q21; +per_frame_50= +per_frame_51=//q20=1-0.02;//-((1/q2)-1)*0.5; +per_frame_52=//q20=1-0.002;//-(((1/q2)-1)*0.5); +per_frame_53= +per_frame_54= +per_frame_55=theta=theta+0.002; +per_frame_56=theta=if(above(theta,1),theta-1,theta); +per_frame_57= +per_frame_58=phi=phi+0.0003; +per_frame_59=phi=if(above(phi,1),phi-1,phi); +per_frame_60=M_PI=3.14159265359; +per_frame_61= +per_frame_62=q3=sin(theta*M_PI*2); +per_frame_63=q4=cos(theta*M_PI*2); +per_frame_64=q5=sin((phi+q3*0.1)*M_PI*2); +per_frame_65=q6=cos((phi+q4*0.1)*M_PI*2); +per_frame_66= +per_frame_67=//mvx=0; +per_frame_68=//mvy=0; +per_frame_69=//mvz=1; +per_frame_70= +per_frame_71=//q7=mvx*q3 +mvy*p4; +per_frame_72=//q8=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_73=//q9=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_74= +per_frame_75= +per_frame_76=//mvx=1; +per_frame_77=//mvy=0; +per_frame_78=//mvz=0; +per_frame_79= +per_frame_80=//q10=mvx*q3+mvy*p4; +per_frame_81=//q11=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_82=//q12=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_83= +per_frame_84=//mvx=0; +per_frame_85=//mvy=1; +per_frame_86=//mvz=0; +per_frame_87= +per_frame_88=//q13=mvx*q3+mvy*p4; +per_frame_89=//q14=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_90=//q15=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_91= +per_frame_92=//zoom=1.05; +per_pixel_1= +per_pixel_2=//float4 _qa; // q1-q4 The values of the q1-q32 variables, +per_pixel_3=//float4 _qb; // q5-q8 grouped into float4's +per_pixel_4=//float4 _qc; // q9-q12 for more convenient access. +per_pixel_5=//float4 _qd; // q13-q16 +per_pixel_6=//float4 _qe; // q17-q20 +per_pixel_7=//float4 _qf; // q21-q24 +per_pixel_8=//float4 _qg; // q25-q28 +per_pixel_9=//float4 _qh; // q29-q32 +per_pixel_10= +warp_1=`#define base01 main +warp_2=`#define base02 sampler_fw_rand01 +warp_3=`sampler base01; +warp_4=`sampler base02; +warp_5=`shader_body +warp_6=`{ +warp_7=`float2 huv=texsize.zw*0.5; +warp_8=`float2 aspc=float2(q2,q1); +warp_9=`float4 tuv; +warp_10=`float3 pq; +warp_11=`float3 my_scale,cnt; +warp_12=`float3 st,op,prj,prjN,surfp,sref,b2,bpr,b3; +warp_13=`float4 pln; +warp_14=`float mscale,i,cp,sp,pdist; +warp_15=`my_scale=tex2D(sampler_pw_main,float2(q20,0.007)); +warp_16=`mscale=1/(my_scale.z); +warp_17=`st.xy=(uv_orig.xy-0.5)*(2.5+(q3+1)*4)*aspc+float3(q4,q5,q6)*0.8; //front plane +warp_18=`st.z=1+q3; +warp_19=`op.xy=st.xy*(2.2+my_scale.y*mscale*0.1)+float3(q4,q5,q6)*0.8; //back plane +warp_20=`op.z=-1+q3; +warp_21=`op=mul(op,rot_f1); +warp_22=`sref=op; +warp_23=`st=mul(st,rot_f1); +warp_24=`op+=float3(q3,q4,q5)*0.4; +warp_25=`st+=float3(q3,q4,q5)*0.4; +warp_26=`pdist=-10; +warp_27=`prj=op-st; +warp_28=`prjN=normalize(prj); +warp_29=`tuv=-150; +warp_30=`pln.z=prjN.z; //dot on z +warp_31=`pln.w=op.z; +warp_32=`surfp=prjN*(1/pln.zzz); +warp_33=`pln.xy=op.xy-surfp.xy*(pln.w+0.5).xx; +warp_34=`bpr.z=prjN.z; +warp_35=`bpr.xy=op.xy-surfp.xy*(pln.w-5).xx; +warp_36=`cnt.xyz=pln.z>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:-50):-50; +warp_37=`tuv.xyzw=pln.z>0?((abs(pln.x)<=0.5)&&(abs(pln.y)<=0.5)?pln.xyzw:tuv):tuv; +warp_38=`pln.zw=-pln.zw; +warp_39=`pln.xy=op.xy+surfp.xy*(pln.w+0.5).xx; +warp_40=`bpr.xy=op.xy+surfp.xy*(pln.w-5).xx; +warp_41=`cnt.xyz=pln.z>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_42=`tuv.xyzw=pln.z>0?( (abs(pln.x)<=0.5)&&(abs(pln.y)<=0.5)?pln.xyzw:tuv):tuv; +warp_43=`pln.y=prjN.y; +warp_44=`pln.w=op.y; +warp_45=`surfp=prjN*(1/pln.yyy); +warp_46=`pln.xz=op.xz-surfp.xz*(pln.w+0.5).xx; +warp_47=`bpr.z=prjN.y; +warp_48=`bpr.xy=op.xz-surfp.xz*(pln.w-5).xx; +warp_49=`cnt.xyz=pln.y>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_50=`tuv.xyzw=pln.y>0?((abs(pln.x)<=0.5)&&(abs(pln.z)<=0.5)?pln.xzyw:tuv):tuv; +warp_51=`pln.yw=-pln.yw; +warp_52=`pln.xz=op.xz+surfp.xz*(pln.w+0.5).xx; +warp_53=`bpr.xy=op.xz+surfp.xz*(pln.w-5).xx; +warp_54=`cnt.xyz=pln.y>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_55=`tuv.xyzw=pln.y>0?( (abs(pln.x)<=0.5)&&(abs(pln.z)<=0.5)?pln.xzyw:tuv):tuv; +warp_56=`pln.x=prjN.x; +warp_57=`pln.w=op.x; +warp_58=`surfp=prjN*(1/pln.xxx); +warp_59=`pln.yz=op.yz-surfp.yz*(pln.w+0.5).xx; +warp_60=`bpr.z=prjN.x; +warp_61=`bpr.xy=op.yz-surfp.yz*(pln.w-5).xx; +warp_62=`cnt.xyz=pln.x>0?((abs(bpr.x)<5)&&(abs(bpr.y)<5)?bpr.xyz:cnt):cnt; +warp_63=`tuv.xyzw=pln.x>0?( (abs(pln.y)<0.5)&&(abs(pln.z)<0.5)?pln.yzxw:tuv):tuv; +warp_64=`pln.xw=-pln.xw; +warp_65=`pln.yz=op.yz+surfp.yz*(pln.w+0.5).xx; +warp_66=`bpr.xy=op.yz+surfp.yz*(pln.w-5).xx; +warp_67=`cnt.xyz=pln.x>0?((abs(bpr.x)<5)&&(abs(bpr.y)<5)?bpr.xyz:cnt):cnt; +warp_68=`tuv.xyzw=pln.x>0?( (abs(pln.y)<0.5)&&(abs(pln.z)<0.5)?pln.yzxw:tuv):tuv; +warp_69=`sp=tuv.x; +warp_70=`float3 t1,t2,a1,a2; +warp_71=`b2=tex2D(base02,cnt.xy*0.1+0.5); +warp_72=`b3=tex2D(base01,uv_orig); +warp_73=`pdist=0.33333*(b2.x+b2.y+b2.z); +warp_74=`i=tex2D(sampler_pw_main,float2(q20+uv_orig.x,pdist+uv_orig.y)).x; +warp_75=`i=i>my_scale.y*0.5?i*mscale:i+my_scale.y*0.5*mscale; +warp_76=`i=min(i,1); +warp_77=`cp=i; +warp_78=`pln=tuv.z>0?tex2D(base02,0.5+tuv):0; +warp_79=`ret=b2;// *((1-i)*0.6); +warp_80=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_81=` ((uv_orig.xyy*q27 +warp_82=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_83=` ).xyz* +warp_84=` float3(1,1,0)*0.05 + +warp_85=` time*float3(0,0,1)*q29 +warp_86=` ); +warp_87=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_88=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_89=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_90=` +warp_91=`ret=tuv.z>0?pln.xyz*(0.9+(i*0.1)):ret; +warp_92=` +warp_93=`} +comp_1=`float2 gradBlur1( float2 domain, float2 d, float3 filter){ +comp_2=` float3 dx = ( 2*GetBlur1(domain + float2(1,0)*d) - 2*GetBlur1(domain-float2(1,0)*d) ); +comp_3=` float3 dy = ( 2*GetBlur1(domain + float2(0,1)*d) - 2*GetBlur1(domain-float2(0,1)*d) ); +comp_4=` +comp_5=` return 0.5*float2(dx.x*filter.x + dx.y*filter.y + dx.z*filter.z, +comp_6=` dy.x*filter.x + dy.y*filter.y + dy.z*filter.z)/(filter.x+filter.y+filter.z); +comp_7=`} +comp_8=` +comp_9=`shader_body +comp_10=`{ +comp_11=`float2 d = texsize.zw*4; +comp_12=`float2 grady = gradBlur1(uv, d, float3(0,1,0)); +comp_13=`float2 gradx = gradBlur1(uv + grady*d, d, float3(1,0,0)); +comp_14=`float2 uv_green = uv-gradx*d*8; +comp_15=`ret = (0.7 + (grady.x+grady.y))*GetPixel(uv_green-grady*texsize.zw*8).y; +comp_16=`float3 c1 = lerp(0,float3(1,1,1),GetPixel(uv - gradx*d*0).x)*saturate(1-GetPixel(uv).y*2); +comp_17=`ret = lerp(ret,float3(1,1.4,2.4), (GetBlur3(saturate(uv_green + grady*texsize.zw*8)).y-1.3*GetPixel(uv_green-grady*texsize.zw*8).y)); +comp_18=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_19=` ((uv_green.xyy*q28 +comp_20=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_21=` ).xyz* +comp_22=` float3(1,1,0)*0.05 + +comp_23=` time*float3(0,0,1)*q31 +comp_24=` ); +comp_25=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_26=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_27=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_28=`ret = lerp(c1,1,ret); +comp_29=`ret = lerp(ret,float3(0,0,0),saturate(1*GetPixel(uv+grady*d*4 - gradx*d*16).z)); +comp_30=`} diff --git a/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ shit-ass tape.milk b/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ shit-ass tape.milk new file mode 100755 index 0000000000..c849199122 --- /dev/null +++ b/presets/presets_tryptonaut/[dylan] cube in a room -no effects - code is very messy nz+ shit-ass tape.milk @@ -0,0 +1,581 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=4 +PSVERSION_WARP=4 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.900 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00010 +fShader=0.000 +zoom=0.99971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99980 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=202 +wavecode_0_sep=120 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.21240 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wave_0_init1=t1=0; +wave_0_init2=t2=0; +wave_0_init3=t3=0; +wave_0_init4=t4=0; +wave_0_per_frame1=t1=0; +wave_0_per_frame2=k=0; +wave_0_per_frame3=r=0; +wave_0_per_frame4=g=0; +wave_0_per_frame5=b=0; +wave_0_per_frame6=t2=0.004; +wave_0_per_frame7=q31=1; +wave_0_per_frame8=yscl=1/(q22-q21); +wave_0_per_frame9=t4=0; +wave_0_per_point1=x=value1; +wave_0_per_point2=y=q21+q22*t1*0.00507; +wave_0_per_point3= +wave_0_per_point4=r=sin(x*3.1416*0.45); +wave_0_per_point5=t2=max(t2,r); +wave_0_per_point6= +wave_0_per_point7=t4=t4+r; +wave_0_per_point8= +wave_0_per_point9=t3=if(above(t2,1),1/t2,1); +wave_0_per_point10= +wave_0_per_point11=b=t2;//0.5+0.5*cos(sample*M_PI_2); +wave_0_per_point12= +wave_0_per_point13=x=q23; +wave_0_per_point14=t1=t1+1; +wave_0_per_point15=g=t4/t1; +wave_0_per_point16= +wave_0_per_point17=a=1; +wave_0_per_point18= +wave_0_per_point19= +wavecode_1_enabled=0 +wavecode_1_samples=201 +wavecode_1_sep=140 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.81962 +wavecode_1_smoothing=0.29990 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t2=0; +wave_1_per_point1=x=value1; +wave_1_per_point2=y=q21+q22*t2*0.005; +wave_1_per_point3= +wave_1_per_point4=t2=t2+1; +wave_1_per_point5=r=1; +wave_1_per_point6=g=1; +wave_1_per_point7=b=1; +wave_1_per_point8= +wave_1_per_point9=a=1; +wave_1_per_point10= +wave_1_per_point11= +wavecode_2_enabled=0 +wavecode_2_samples=201 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.06811 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t3=0; +wave_2_per_point1=x=0.0003+q23; +wave_2_per_point2=y=q21+q22*t3*0.005; +wave_2_per_point3=t3=t3+1; +wave_2_per_point4=r=1; +wave_2_per_point5=g=1; +wave_2_per_point6=b=1; +wave_2_per_point7=a=1; +wavecode_3_enabled=0 +wavecode_3_samples=2 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=q3=sin(theta*M_PI*2); +wave_3_per_frame2=q4=cos(theta*M_PI*2); +wave_3_per_frame3=q5=sin(phi*M_PI*2); +wave_3_per_frame4=q6=cos(phi*M_PI*2); +wave_3_per_frame5= +wave_3_per_frame6=mvx=0; +wave_3_per_frame7=mvy=0; +wave_3_per_frame8=mvz=1; +wave_3_per_frame9= +wave_3_per_frame10=t1=-mvx*q3+mvy*p4; +wave_3_per_frame11=t2=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +wave_3_per_frame12=t3=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +wave_3_per_point1=x=0; +wave_3_per_point2=y=0; +shapecode_0_enabled=0 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.900 +shapecode_1_y=0.800 +shapecode_1_rad=0.49138 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=4.66674 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.95920 +shapecode_2_ang=0.62832 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=0.51545 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.700 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=q3=0; +per_frame_init_2= +per_frame_init_3=v1=0.2; +per_frame_init_4=v2=0.3; +per_frame_init_5=v3=0.4; +per_frame_init_6=v4=0.5; +per_frame_init_7=v5=0.6; +per_frame_init_8=v6=0.7; +per_frame_init_9=v7=0.8; +per_frame_init_10=v8=0.9; +per_frame_init_11= +per_frame_init_12=theta=0; +per_frame_init_13=phi=0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28= +per_frame_29=//float4 _qa; // q1-q4 The values of the q1-q32 variables, +per_frame_30=//float4 _qb; // q5-q8 grouped into float4's +per_frame_31=//float4 _qc; // q9-q12 for more convenient access. +per_frame_32=//float4 _qd; // q13-q16 +per_frame_33=//float4 _qe; // q17-q20 +per_frame_34=//f/loat4 _qf; // q21-q24 +per_frame_35=//float4 _qg; // q25-q28 +per_frame_36=//float4 _qh; // q29-q32 +per_frame_37= +per_frame_38=warp=0; +per_frame_39= +per_frame_40=q1=aspectx; +per_frame_41=q2=aspecty; +per_frame_42= +per_frame_43=q21=0.5-(0.5/q2); //ofs screen y +per_frame_44=q22=1/q2; //scaler screen y +per_frame_45= +per_frame_46=q23=(0.5-0.5/q1); +per_frame_47=q20=0; +per_frame_48= +per_frame_49=q24=1-q21; +per_frame_50= +per_frame_51=//q20=1-0.02;//-((1/q2)-1)*0.5; +per_frame_52=//q20=1-0.002;//-(((1/q2)-1)*0.5); +per_frame_53= +per_frame_54= +per_frame_55=theta=theta+0.002; +per_frame_56=theta=if(above(theta,1),theta-1,theta); +per_frame_57= +per_frame_58=phi=phi+0.0003; +per_frame_59=phi=if(above(phi,1),phi-1,phi); +per_frame_60=M_PI=3.14159265359; +per_frame_61= +per_frame_62=q3=sin(theta*M_PI*2); +per_frame_63=q4=cos(theta*M_PI*2); +per_frame_64=q5=sin((phi+q3*0.1)*M_PI*2); +per_frame_65=q6=cos((phi+q4*0.1)*M_PI*2); +per_frame_66= +per_frame_67=//mvx=0; +per_frame_68=//mvy=0; +per_frame_69=//mvz=1; +per_frame_70= +per_frame_71=//q7=mvx*q3 +mvy*p4; +per_frame_72=//q8=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_73=//q9=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_74= +per_frame_75= +per_frame_76=//mvx=1; +per_frame_77=//mvy=0; +per_frame_78=//mvz=0; +per_frame_79= +per_frame_80=//q10=mvx*q3+mvy*p4; +per_frame_81=//q11=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_82=//q12=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_83= +per_frame_84=//mvx=0; +per_frame_85=//mvy=1; +per_frame_86=//mvz=0; +per_frame_87= +per_frame_88=//q13=mvx*q3+mvy*p4; +per_frame_89=//q14=-mvx*q4*q6-mvy*q3*q6+mvz*q5; +per_frame_90=//q15=-mvx*q4*q5-mvy*q3*q5-mvz*q6; +per_frame_91= +per_frame_92=//zoom=1.05; +per_pixel_1= +per_pixel_2=//float4 _qa; // q1-q4 The values of the q1-q32 variables, +per_pixel_3=//float4 _qb; // q5-q8 grouped into float4's +per_pixel_4=//float4 _qc; // q9-q12 for more convenient access. +per_pixel_5=//float4 _qd; // q13-q16 +per_pixel_6=//float4 _qe; // q17-q20 +per_pixel_7=//float4 _qf; // q21-q24 +per_pixel_8=//float4 _qg; // q25-q28 +per_pixel_9=//float4 _qh; // q29-q32 +per_pixel_10= +warp_1=`#define base01 main +warp_2=`#define base02 sampler_fw_rand01 +warp_3=`sampler base01; +warp_4=`sampler base02; +warp_5=`shader_body +warp_6=`{ +warp_7=`float2 huv=texsize.zw*0.5; +warp_8=`float2 aspc=float2(q2,q1); +warp_9=`float4 tuv; +warp_10=`float3 pq; +warp_11=`float3 my_scale,cnt; +warp_12=`float3 st,op,prj,prjN,surfp,sref,b2,bpr,b3; +warp_13=`float4 pln; +warp_14=`float mscale,i,cp,sp,pdist; +warp_15=`my_scale=tex2D(sampler_pw_main,float2(q20,0.007)); +warp_16=`mscale=1/(my_scale.z); +warp_17=`st.xy=(uv_orig.xy-0.5)*(2.5+(q3+1)*4)*aspc+float3(q4,q5,q6)*0.8; //front plane +warp_18=`st.z=1+q3; +warp_19=`op.xy=st.xy*(2.2+my_scale.y*mscale*0.1)+float3(q4,q5,q6)*0.8; //back plane +warp_20=`op.z=-1+q3; +warp_21=`op=mul(op,rot_f1); +warp_22=`sref=op; +warp_23=`st=mul(st,rot_f1); +warp_24=`op+=float3(q3,q4,q5)*0.4; +warp_25=`st+=float3(q3,q4,q5)*0.4; +warp_26=`pdist=-10; +warp_27=`prj=op-st; +warp_28=`prjN=normalize(prj); +warp_29=`tuv=-150; +warp_30=`pln.z=prjN.z; //dot on z +warp_31=`pln.w=op.z; +warp_32=`surfp=prjN*(1/pln.zzz); +warp_33=`pln.xy=op.xy-surfp.xy*(pln.w+0.5).xx; +warp_34=`bpr.z=prjN.z; +warp_35=`bpr.xy=op.xy-surfp.xy*(pln.w-5).xx; +warp_36=`cnt.xyz=pln.z>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:-50):-50; +warp_37=`tuv.xyzw=pln.z>0?((abs(pln.x)<=0.5)&&(abs(pln.y)<=0.5)?pln.xyzw:tuv):tuv; +warp_38=`pln.zw=-pln.zw; +warp_39=`pln.xy=op.xy+surfp.xy*(pln.w+0.5).xx; +warp_40=`bpr.xy=op.xy+surfp.xy*(pln.w-5).xx; +warp_41=`cnt.xyz=pln.z>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_42=`tuv.xyzw=pln.z>0?( (abs(pln.x)<=0.5)&&(abs(pln.y)<=0.5)?pln.xyzw:tuv):tuv; +warp_43=`pln.y=prjN.y; +warp_44=`pln.w=op.y; +warp_45=`surfp=prjN*(1/pln.yyy); +warp_46=`pln.xz=op.xz-surfp.xz*(pln.w+0.5).xx; +warp_47=`bpr.z=prjN.y; +warp_48=`bpr.xy=op.xz-surfp.xz*(pln.w-5).xx; +warp_49=`cnt.xyz=pln.y>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_50=`tuv.xyzw=pln.y>0?((abs(pln.x)<=0.5)&&(abs(pln.z)<=0.5)?pln.xzyw:tuv):tuv; +warp_51=`pln.yw=-pln.yw; +warp_52=`pln.xz=op.xz+surfp.xz*(pln.w+0.5).xx; +warp_53=`bpr.xy=op.xz+surfp.xz*(pln.w-5).xx; +warp_54=`cnt.xyz=pln.y>0?((abs(bpr.x)<=5)&&(abs(bpr.y)<=5)?bpr.xyz:cnt):cnt; +warp_55=`tuv.xyzw=pln.y>0?( (abs(pln.x)<=0.5)&&(abs(pln.z)<=0.5)?pln.xzyw:tuv):tuv; +warp_56=`pln.x=prjN.x; +warp_57=`pln.w=op.x; +warp_58=`surfp=prjN*(1/pln.xxx); +warp_59=`pln.yz=op.yz-surfp.yz*(pln.w+0.5).xx; +warp_60=`bpr.z=prjN.x; +warp_61=`bpr.xy=op.yz-surfp.yz*(pln.w-5).xx; +warp_62=`cnt.xyz=pln.x>0?((abs(bpr.x)<5)&&(abs(bpr.y)<5)?bpr.xyz:cnt):cnt; +warp_63=`tuv.xyzw=pln.x>0?( (abs(pln.y)<0.5)&&(abs(pln.z)<0.5)?pln.yzxw:tuv):tuv; +warp_64=`pln.xw=-pln.xw; +warp_65=`pln.yz=op.yz+surfp.yz*(pln.w+0.5).xx; +warp_66=`bpr.xy=op.yz+surfp.yz*(pln.w-5).xx; +warp_67=`cnt.xyz=pln.x>0?((abs(bpr.x)<5)&&(abs(bpr.y)<5)?bpr.xyz:cnt):cnt; +warp_68=`tuv.xyzw=pln.x>0?( (abs(pln.y)<0.5)&&(abs(pln.z)<0.5)?pln.yzxw:tuv):tuv; +warp_69=`sp=tuv.x; +warp_70=`float3 t1,t2,a1,a2; +warp_71=`b2=tex2D(base02,cnt.xy*0.1+0.5); +warp_72=`b3=tex2D(base01,uv_orig); +warp_73=`pdist=0.33333*(b2.x+b2.y+b2.z); +warp_74=`i=tex2D(sampler_pw_main,float2(q20+uv_orig.x,pdist+uv_orig.y)).x; +warp_75=`i=i>my_scale.y*0.5?i*mscale:i+my_scale.y*0.5*mscale; +warp_76=`i=min(i,1); +warp_77=`cp=i; +warp_78=`pln=tuv.z>0?tex2D(base02,0.5+tuv):0; +warp_79=`ret=b2;// *((1-i)*0.6); +warp_80=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_81=` ((uv_orig.xyy*q27 +warp_82=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_83=` ).xyz* +warp_84=` float3(1,1,0)*0.05 + +warp_85=` time*float3(0,0,1)*q29 +warp_86=` ); +warp_87=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_88=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_89=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_90=` +warp_91=`ret=tuv.z>0?pln.xyz*(0.9+(i*0.1)):ret; +warp_92=` +warp_93=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`uv = 0.5 + (uv-0.5)*0.98; +comp_5=` float2 d = texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=`float4 noise = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(dx),lum(dy),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_10=` + time*float3(0,0,1)*0.2 ); +comp_11=`uv -= float2(lum(dx),lum(dy))*0.04; +comp_12=`ret = abs(GetPixel(uv)+GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv)); +comp_13=`ret *= lum(noise)*3; +comp_14=`ret = pow(ret,0.5); +comp_15=`ret=1-ret; +comp_16=`} diff --git a/presets/presets_tryptonaut/_Aderrasi - Wanderer in Curved Space - mash0000 - faclempt kibitzing meshuggana schmaltz (Geiss color mix).milk b/presets/presets_tryptonaut/_Aderrasi - Wanderer in Curved Space - mash0000 - faclempt kibitzing meshuggana schmaltz (Geiss color mix).milk new file mode 100755 index 0000000000..e4bb54f50e --- /dev/null +++ b/presets/presets_tryptonaut/_Aderrasi - Wanderer in Curved Space - mash0000 - faclempt kibitzing meshuggana schmaltz (Geiss color mix).milk @@ -0,0 +1,298 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=0.721 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5 + 0.5*sin(6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=xs = above(sin(12*dx_r*bass),0)*(dy_r*sin(2*rad)) + +per_pixel_7=below(sin(12*dx_r*bass),0)*(cos(time)*dx_r*sin(0.6*rad)); +per_pixel_8= +per_pixel_9=zoom = zoom + abs(12*xs); +per_pixel_10=rot = rot + 5*xs*cos(1-xs*rad*12*dx_r); +per_pixel_11=dx = dx + dx_r; +per_pixel_12=dy = dy + dy_r; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret *= 1.00; //gamma +comp_5=` ret *= hue_shader; //old hue shader effect +comp_6=` ret = lerp(ret, lum(ret), float3(0.5,1.0,0.1)); +comp_7=`} diff --git a/presets/presets_tryptonaut/_Geiss - untitled.milk b/presets/presets_tryptonaut/_Geiss - untitled.milk new file mode 100755 index 0000000000..0c556a5559 --- /dev/null +++ b/presets/presets_tryptonaut/_Geiss - untitled.milk @@ -0,0 +1,304 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=30.965 +fWarpScale=2.572 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00901 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00054 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.800 +nMotionVectorsY=9.600 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01842 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.81954 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.85 + 0.25*sin(0.437*time+1); +per_frame_2=wave_g = 0.85 + 0.25*sin(0.544*time+2); +per_frame_3=wave_b = 0.85 + 0.25*sin(0.751*time+3); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual; +per_frame_15=wave_x = wave_x - dx_residual*7; +per_frame_16=wave_y = wave_y - dy_residual*7; +per_frame_17=wave_mystery = time*0.03; +per_frame_18= +per_frame_19=zoom = zoom + 0.005*( 0.60*sin(0.1934*time+3) + 0.40*sin(0.307*time+9) ); +per_frame_20=zoom = zoom + max(0,bass_att-1.1)*0.2; +per_frame_21=warp = warp + max(0,treb-1.1)*0.5; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.6; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.04); +warp_17=`} +comp_1=`float2 uv_x, uv_y, uv_z, uv_echo; +comp_2=`shader_body +comp_3=`{ +comp_4=` float rad_hq = length(uv-0.5); +comp_5=` float2 d = texsize.zw*1; +comp_6=` float f = 0.8; +comp_7=` float3 N; +comp_8=` float2 uv2 = uv_orig; +comp_9=` N.x = ( GetPixel(uv2 + float2(1,0)*d) - GetPixel(uv2-float2(1,0)*d) ).x*f; +comp_10=` N.y = ( GetPixel(uv2 + float2(0,1)*d) - GetPixel(uv2-float2(0,1)*d) ).x*f; +comp_11=` N.x += ( GetBlur1(uv2 + float2(1,0)*d) - GetBlur1(uv2-float2(1,0)*d) ).x*(1-f); +comp_12=` N.y += ( GetBlur1(uv2 + float2(0,1)*d) - GetBlur1(uv2-float2(0,1)*d) ).x*(1-f); +comp_13=` N.z = -0.077; +comp_14=` N = normalize(N); +comp_15=` +comp_16=` ret = N; +comp_17=` +comp_18=` float3 light_pos = float3(q9,q10,-0.8); +comp_19=` +comp_20=` +comp_21=` float3 P = float3(uv_orig.xy*2-1, 0); +comp_22=` float3 L = normalize(light_pos - P); +comp_23=` float3 E = float3(0,0,1); +comp_24=` float3 V = normalize(P-E); +comp_25=` float3 R = normalize( V + 2*N*dot(V,N) ); +comp_26=` +comp_27=` // diffuse lighting: +comp_28=` ret = saturate(dot(N,L)); +comp_29=` ret *= float3(1.2,0.9,0.7); +comp_30=` ret *= normalize( GetBlur3(uv_orig).yzx ); +comp_31=` //ret = 0; +comp_32=` +comp_33=` // spec lighting: +comp_34=` ret += pow(saturate(dot(R,L)),32)*0.5; +comp_35=` +comp_36=` //ret *= 0.7; +comp_37=`} diff --git a/presets/presets_tryptonaut/_Mig_014_version2.milk b/presets/presets_tryptonaut/_Mig_014_version2.milk new file mode 100755 index 0000000000..ed0af05c3b --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_014_version2.milk @@ -0,0 +1,573 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.900000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.299900 +ib_size=0.090000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=0.000000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=(flip+1)*below(flip,1); +wave_0_per_point6= +wave_0_per_point7=xp=0; +wave_0_per_point8=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point9=zp=0; +wave_0_per_point10= +wave_0_per_point11=//wrist movement; +wave_0_per_point12=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point13= +wave_0_per_point14=xq=xp; +wave_0_per_point15=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point16=yq=yp*sinang + zp*cosang; +wave_0_per_point17=zq=yp*cosang - zp*sinang; +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point23=xp=xq*sinang + yq*cosang; +wave_0_per_point24=yp=xq*cosang - yq*sinang; +wave_0_per_point25=zp=zq; +wave_0_per_point26= +wave_0_per_point27=//forearm movement; +wave_0_per_point28=zp=zp-0.3; +wave_0_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point30=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point31=xq=xp; +wave_0_per_point32=yq=yp*sinang + zp*cosang; +wave_0_per_point33=zq=yp*cosang - zp*sinang; +wave_0_per_point34= +wave_0_per_point35=//upper arm twist +wave_0_per_point36=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point37=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point38=xp=xq*sinang + yq*cosang; +wave_0_per_point39=yp=xq*cosang - yq*sinang; +wave_0_per_point40=zp=zq; +wave_0_per_point41= +wave_0_per_point42=//upper arm outward; +wave_0_per_point43=zp=zp-0.35; +wave_0_per_point44=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point45=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point46=xq=xp*sinang + zp*cosang; +wave_0_per_point47=yq=yp; +wave_0_per_point48=zq=xp*cosang - zp*sinang; +wave_0_per_point49= +wave_0_per_point50=//upper arm up down; +wave_0_per_point51=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point52=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point53=xp=xq; +wave_0_per_point54=yp=yq*cosang - zq*sinang; +wave_0_per_point55=zp=yq*sinang + zq*cosang; +wave_0_per_point56= +wave_0_per_point57=//xp=xq;yp=yq;zp=zq; +wave_0_per_point58= +wave_0_per_point59= +wave_0_per_point60=//project into screenspace and draw on screen +wave_0_per_point61=zp=zp+2; +wave_0_per_point62=xs=xp/zp; +wave_0_per_point63=ys=yp/zp; +wave_0_per_point64= +wave_0_per_point65=x=xs+0.5; +wave_0_per_point66=y=ys*1.3+0.5; +wave_0_per_point67= +wave_0_per_point68= +wave_0_per_point69=dx = if(flip,x,dx-x); +wave_0_per_point70=dy = if(flip,y,dy-y); +wave_0_per_point71=dz = pow(dx*dx+dy*dy,.5); +wave_0_per_point72=ang = abs(asin(dx/dz)); +wave_0_per_point73=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_0_per_point74=r = .5 + .5*sin(cang); +wave_0_per_point75=g = .5 + .5*sin(cang + 1.047197); +wave_0_per_point76=b = .5 + .5*sin(cang + 2.094395); +wave_0_per_point77= +wave_0_per_point78=a=(1-sample)*above(sample,0); +wave_0_per_point79= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=dx = if(flip,x,dx-x); +wave_1_per_point72=dy = if(flip,y,dy-y); +wave_1_per_point73=dz = pow(dx*dx+dy*dy,.5); +wave_1_per_point74=ang = abs(asin(dx/dz)); +wave_1_per_point75=cang = if(flip,cang,if(below(dx,0),if(below(dy,0),-ang,3.141592654 + ang),if(below(dy,0),ang,3.141592654 - ang))); +wave_1_per_point76=r = .5 + .5*sin(cang); +wave_1_per_point77=g = .5 + .5*sin(cang + 1.047197); +wave_1_per_point78=b = .5 + .5*sin(cang + 2.094395); +wave_1_per_point79= +wave_1_per_point80=a=(1-sample)*above(sample,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.600000 +wavecode_2_b=0.100000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=tm=q1; +wave_2_per_point3=phs=-sample*0.5; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point18= +wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; +wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point22=zp=zq; +wave_2_per_point23= +wave_2_per_point24=//forearm movement; +wave_2_per_point25=zp=zp-0.3; +wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; +wave_2_per_point27=xq=xp; +wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_2_per_point30= +wave_2_per_point31=//upper arm twist +wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); +wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_2_per_point35=zp=zq; +wave_2_per_point36= +wave_2_per_point37=//upper arm outward; +wave_2_per_point38=zp=zp-0.35; +wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_2_per_point41=yq=yp; +wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_2_per_point43= +wave_2_per_point44=//upper arm up down; +wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_2_per_point46=xp=xq; +wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_2_per_point49= +wave_2_per_point50=//xp=xq;yp=yq;zp=zq; +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=//project into screenspace and draw on screen +wave_2_per_point54=zp=zp+2; +wave_2_per_point55=xs=xp/zp; +wave_2_per_point56=ys=yp/zp; +wave_2_per_point57= +wave_2_per_point58=x=xs+0.5; +wave_2_per_point59=y=ys*1.3+0.5; +wave_2_per_point60= +wave_2_per_point61= +wave_2_per_point62=a=(1-sample)*0.05 +wave_2_per_point63= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=0.300000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=tm=q1 ; +wave_3_per_point3=phs=-sample*0.5; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point18= +wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; +wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point22=zp=zq; +wave_3_per_point23= +wave_3_per_point24=//forearm movement; +wave_3_per_point25=zp=zp-0.3; +wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; +wave_3_per_point27=xq=xp; +wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); +wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); +wave_3_per_point30= +wave_3_per_point31=//upper arm twist +wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); +wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); +wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); +wave_3_per_point35=zp=zq; +wave_3_per_point36= +wave_3_per_point37=//upper arm outward; +wave_3_per_point38=zp=zp-0.35; +wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; +wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); +wave_3_per_point41=yq=yp; +wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); +wave_3_per_point43= +wave_3_per_point44=//upper arm up down; +wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; +wave_3_per_point46=xp=xq; +wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); +wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); +wave_3_per_point49= +wave_3_per_point50=//xp=xq;yp=yq;zp=zq; +wave_3_per_point51= +wave_3_per_point52= +wave_3_per_point53=//project into screenspace and draw on screen +wave_3_per_point54=zp=zp+2; +wave_3_per_point55=xs=xp/zp; +wave_3_per_point56=ys=yp/zp; +wave_3_per_point57= +wave_3_per_point58=x=-xs+0.5; +wave_3_per_point59=y=ys*1.3+0.5; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=a=(1-sample)*0.05; +wave_3_per_point63= +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.998815 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.250054 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.067790 +shapecode_1_ang=0.753982 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.741858 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=sin(q1*0.15); +shape_1_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_1_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.067790 +shapecode_2_ang=0.753982 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.779769 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=sin(q1*0.15); +shape_2_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_2_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.067700 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.779769 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=sin(q1*0.15); +shape_3_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_3_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.1; +per_frame_3= +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.1; +per_frame_9= +per_frame_10=q1=mtime*0.4; +per_frame_11= +per_frame_12= +per_frame_13= +per_frame_14= +warp_1=`shader_body +warp_2=`{ +warp_3=` float4 N = tex2D(sampler_noise_lq, rand_frame.xy + uv* +warp_4=` texsize_noise_lq.zw*texsize.xy )*2-1; +warp_5=` // sample previous frame +warp_6=` ret = tex2D( sampler_pw_main, uv + N.zw*texsize.zw*0.5 ).xyz; +warp_7=` ret += (0.59-0.2*rad)*N.xyz; +warp_8=` +warp_9=` +warp_10=` ret = saturate((ret-0.5)*3 + 0.25); +warp_11=` ret.yz = ret.x; +warp_12=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/_Mig_085.milk b/presets/presets_tryptonaut/_Mig_085.milk new file mode 100755 index 0000000000..864e1b49b9 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_085.milk @@ -0,0 +1,696 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=1.169360 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.006500 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=43.199997 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=sin(time)*0.5+0.5; +wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=q1 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point17=yq=yp*sinang + zp*cosang; +wave_0_per_point18=zq=yp*cosang - zp*sinang; +wave_0_per_point19=yq=yp; +wave_0_per_point20=zq=zp; +wave_0_per_point21= +wave_0_per_point22=ang=tm*8; +wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point24=xp=xq*sinang + yq*cosang; +wave_0_per_point25=yp=xq*cosang - yq*sinang; +wave_0_per_point26=zp=zq; +wave_0_per_point27= +wave_0_per_point28=//forearm movement; +wave_0_per_point29=zp=zp-0.3; +wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point32=xq=xp; +wave_0_per_point33=yq=yp*sinang + zp*cosang; +wave_0_per_point34=zq=yp*cosang - zp*sinang; +wave_0_per_point35= +wave_0_per_point36=//upper arm twist +wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point39=xp=xq*sinang + yq*cosang; +wave_0_per_point40=yp=xq*cosang - yq*sinang; +wave_0_per_point41=zp=zq; +wave_0_per_point42= +wave_0_per_point43=//upper arm outward; +wave_0_per_point44=zp=zp-0.35; +wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point47=xq=xp*sinang + zp*cosang; +wave_0_per_point48=yq=yp; +wave_0_per_point49=zq=xp*cosang - zp*sinang; +wave_0_per_point50= +wave_0_per_point51=//upper arm up down; +wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_0_per_point54=xp=xq; +wave_0_per_point55=yp=yq*cosang - zq*sinang; +wave_0_per_point56=zp=yq*sinang + zq*cosang; +wave_0_per_point57= +wave_0_per_point58=//xp=xq;yp=yq;zp=zq; +wave_0_per_point59= +wave_0_per_point60= +wave_0_per_point61=//project into screenspace and draw on screen +wave_0_per_point62=zp=zp+2; +wave_0_per_point63=xs=xp/zp; +wave_0_per_point64=ys=yp/zp; +wave_0_per_point65= +wave_0_per_point66=x=xs+0.5; +wave_0_per_point67=y=ys*1.3+0.5; +wave_0_per_point68= +wave_0_per_point69= +wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_0_per_point71=a=a*a; +wave_0_per_point72= +wave_0_per_point73=b=b+pow(1-sample,2)*0.3; +wave_0_per_point74= +wave_0_per_point75= +wave_0_per_point76= +wave_0_per_point77=r1=t1; +wave_0_per_point78=g1=t2; +wave_0_per_point79=b1=t3; +wave_0_per_point80=r2=t4; +wave_0_per_point81=g2=t5; +wave_0_per_point82=b2=t6; +wave_0_per_point83= +wave_0_per_point84=r=r1*flip + r2*(1-flip); +wave_0_per_point85=g=g1*flip + g2*(1-flip); +wave_0_per_point86=b=b1*flip + b2*(1-flip); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time)*0.5+0.5; +wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point17=xq=xp; +wave_1_per_point18=yq=yp*sinang + zp*cosang; +wave_1_per_point19=zq=yp*cosang - zp*sinang; +wave_1_per_point20=yq=yp; +wave_1_per_point21=zq=zp; +wave_1_per_point22= +wave_1_per_point23=ang=tm*8; +wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point25=xp=xq*sinang + yq*cosang; +wave_1_per_point26=yp=xq*cosang - yq*sinang; +wave_1_per_point27=zp=zq; +wave_1_per_point28= +wave_1_per_point29=//forearm movement; +wave_1_per_point30=zp=zp-0.3; +wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point33=xq=xp; +wave_1_per_point34=yq=yp*sinang + zp*cosang; +wave_1_per_point35=zq=yp*cosang - zp*sinang; +wave_1_per_point36= +wave_1_per_point37=//upper arm twist +wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point40=xp=xq*sinang + yq*cosang; +wave_1_per_point41=yp=xq*cosang - yq*sinang; +wave_1_per_point42=zp=zq; +wave_1_per_point43= +wave_1_per_point44=//upper arm outward; +wave_1_per_point45=zp=zp-0.35; +wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point48=xq=xp*sinang + zp*cosang; +wave_1_per_point49=yq=yp; +wave_1_per_point50=zq=xp*cosang - zp*sinang; +wave_1_per_point51= +wave_1_per_point52=//upper arm up down; +wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_1_per_point55=xp=xq; +wave_1_per_point56=yp=yq*cosang - zq*sinang; +wave_1_per_point57=zp=yq*sinang + zq*cosang; +wave_1_per_point58= +wave_1_per_point59=//xp=xq;yp=yq;zp=zq; +wave_1_per_point60= +wave_1_per_point61= +wave_1_per_point62=//project into screenspace and draw on screen +wave_1_per_point63=zp=zp+2; +wave_1_per_point64=xs=xp/zp; +wave_1_per_point65=ys=yp/zp; +wave_1_per_point66= +wave_1_per_point67=x=xs+0.5; +wave_1_per_point68=y=ys*1.3+0.5; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_1_per_point72=a=a*a; +wave_1_per_point73= +wave_1_per_point74= +wave_1_per_point75=b=b+pow(1-sample,2)*0.3; +wave_1_per_point76= +wave_1_per_point77=r1=t1; +wave_1_per_point78=g1=t2; +wave_1_per_point79=b1=t3; +wave_1_per_point80=r2=t4; +wave_1_per_point81=g2=t5; +wave_1_per_point82=b2=t6; +wave_1_per_point83= +wave_1_per_point84=r=r1*flip + r2*(1-flip); +wave_1_per_point85=g=g1*flip + g2*(1-flip); +wave_1_per_point86=b=b1*flip + b2*(1-flip); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.100000 +wavecode_2_g=1.000000 +wavecode_2_b=0.700000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time)*0.5+0.5; +wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_2_per_frame4= +wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point17=yq=yp*sinang + zp*cosang; +wave_2_per_point18=zq=yp*cosang - zp*sinang; +wave_2_per_point19=yq=yp; +wave_2_per_point20=zq=zp; +wave_2_per_point21= +wave_2_per_point22=ang=tm*8; +wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point24=xp=xq*sinang + yq*cosang; +wave_2_per_point25=yp=xq*cosang - yq*sinang; +wave_2_per_point26=zp=zq; +wave_2_per_point27= +wave_2_per_point28=//forearm movement; +wave_2_per_point29=zp=zp-0.3; +wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point32=xq=xp; +wave_2_per_point33=yq=yp*sinang + zp*cosang; +wave_2_per_point34=zq=yp*cosang - zp*sinang; +wave_2_per_point35= +wave_2_per_point36=//upper arm twist +wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point39=xp=xq*sinang + yq*cosang; +wave_2_per_point40=yp=xq*cosang - yq*sinang; +wave_2_per_point41=zp=zq; +wave_2_per_point42= +wave_2_per_point43=//upper arm outward; +wave_2_per_point44=zp=zp-0.35; +wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; +wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point47=xq=xp*sinang + zp*cosang; +wave_2_per_point48=yq=yp; +wave_2_per_point49=zq=xp*cosang - zp*sinang; +wave_2_per_point50= +wave_2_per_point51=//upper arm up down; +wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; +wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); +wave_2_per_point54=xp=xq; +wave_2_per_point55=yp=yq*cosang - zq*sinang; +wave_2_per_point56=zp=yq*sinang + zq*cosang; +wave_2_per_point57= +wave_2_per_point58=//xp=xq;yp=yq;zp=zq; +wave_2_per_point59= +wave_2_per_point60= +wave_2_per_point61=//project into screenspace and draw on screen +wave_2_per_point62=zp=zp+2; +wave_2_per_point63=xs=-xp/zp; +wave_2_per_point64=ys=yp/zp; +wave_2_per_point65= +wave_2_per_point66=x=xs+0.5; +wave_2_per_point67=y=ys*1.3+0.5; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); +wave_2_per_point71=a=a*a; +wave_2_per_point72= +wave_2_per_point73=b=b+pow(1-sample,2)*0.3; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76= +wave_2_per_point77=r1=t1; +wave_2_per_point78=g1=t2; +wave_2_per_point79=b1=t3; +wave_2_per_point80=r2=t4; +wave_2_per_point81=g2=t5; +wave_2_per_point82=b2=t6; +wave_2_per_point83= +wave_2_per_point84=r=r1*flip + r2*(1-flip); +wave_2_per_point85=g=g1*flip + g2*(1-flip); +wave_2_per_point86=b=b1*flip + b2*(1-flip); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.200000 +wavecode_3_g=1.000000 +wavecode_3_b=0.600000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=sin(time)*0.5+0.5; +wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; +wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; +wave_3_per_frame4= +wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; +wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; +wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; +wave_3_per_point10=yp=-yp; +wave_3_per_point11=zp=0; +wave_3_per_point12= +wave_3_per_point13=//wrist movement; +wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_3_per_point15= +wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point17=xq=xp; +wave_3_per_point18=yq=yp*sinang + zp*cosang; +wave_3_per_point19=zq=yp*cosang - zp*sinang; +wave_3_per_point20=yq=yp; +wave_3_per_point21=zq=zp; +wave_3_per_point22= +wave_3_per_point23=ang=tm*8; +wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point25=xp=xq*sinang + yq*cosang; +wave_3_per_point26=yp=xq*cosang - yq*sinang; +wave_3_per_point27=zp=zq; +wave_3_per_point28= +wave_3_per_point29=//forearm movement; +wave_3_per_point30=zp=zp-0.3; +wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point33=xq=xp; +wave_3_per_point34=yq=yp*sinang + zp*cosang; +wave_3_per_point35=zq=yp*cosang - zp*sinang; +wave_3_per_point36= +wave_3_per_point37=//upper arm twist +wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); +wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point40=xp=xq*sinang + yq*cosang; +wave_3_per_point41=yp=xq*cosang - yq*sinang; +wave_3_per_point42=zp=zq; +wave_3_per_point43= +wave_3_per_point44=//upper arm outward; +wave_3_per_point45=zp=zp-0.35; +wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; +wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point48=xq=xp*sinang + zp*cosang; +wave_3_per_point49=yq=yp; +wave_3_per_point50=zq=xp*cosang - zp*sinang; +wave_3_per_point51= +wave_3_per_point52=//upper arm up down; +wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; +wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); +wave_3_per_point55=xp=xq; +wave_3_per_point56=yp=yq*cosang - zq*sinang; +wave_3_per_point57=zp=yq*sinang + zq*cosang; +wave_3_per_point58= +wave_3_per_point59=//xp=xq;yp=yq;zp=zq; +wave_3_per_point60= +wave_3_per_point61= +wave_3_per_point62=//project into screenspace and draw on screen +wave_3_per_point63=zp=zp+2; +wave_3_per_point64=xs=-xp/zp; +wave_3_per_point65=ys=yp/zp; +wave_3_per_point66= +wave_3_per_point67=x=xs+0.5; +wave_3_per_point68=y=ys*1.3+0.5; +wave_3_per_point69= +wave_3_per_point70= +wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); +wave_3_per_point72=a=a*a; +wave_3_per_point73= +wave_3_per_point74= +wave_3_per_point75=b=b+pow(1-sample,2)*0.3; +wave_3_per_point76= +wave_3_per_point77=r1=t1; +wave_3_per_point78=g1=t2; +wave_3_per_point79=b1=t3; +wave_3_per_point80=r2=t4; +wave_3_per_point81=g2=t5; +wave_3_per_point82=b2=t6; +wave_3_per_point83= +wave_3_per_point84=r=r1*flip + r2*(1-flip); +wave_3_per_point85=g=g1*flip + g2*(1-flip); +wave_3_per_point86=b=b1*flip + b2*(1-flip); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.067790 +shapecode_0_ang=0.753982 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779769 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(q1*0.15); +shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; +shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=5 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.038091 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=tm=q1; +shape_3_per_frame2= +shape_3_per_frame3=xp=0; +shape_3_per_frame4=yp=0.1; +shape_3_per_frame5=zp=0; +shape_3_per_frame6= +shape_3_per_frame7=//wrist movement; +shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; +shape_3_per_frame9= +shape_3_per_frame10=xq=xp; +shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame12=yq=yp*sinang + zp*cosang; +shape_3_per_frame13=zq=yp*cosang - zp*sinang; +shape_3_per_frame14=yq=yp; +shape_3_per_frame15=zq=zp; +shape_3_per_frame16= +shape_3_per_frame17=ang=tm*8; +shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame19=xp=xq*sinang + yq*cosang; +shape_3_per_frame20=yp=xq*cosang - yq*sinang; +shape_3_per_frame21=zp=zq; +shape_3_per_frame22= +shape_3_per_frame23=//forearm movement; +shape_3_per_frame24=zp=zp-0.3; +shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; +shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame27=xq=xp; +shape_3_per_frame28=yq=yp*sinang + zp*cosang; +shape_3_per_frame29=zq=yp*cosang - zp*sinang; +shape_3_per_frame30= +shape_3_per_frame31=//upper arm twist +shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); +shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame34=xp=xq*sinang + yq*cosang; +shape_3_per_frame35=yp=xq*cosang - yq*sinang; +shape_3_per_frame36=zp=zq; +shape_3_per_frame37= +shape_3_per_frame38=//upper arm outward; +shape_3_per_frame39=zp=zp-0.35; +shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; +shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame42=xq=xp*sinang + zp*cosang; +shape_3_per_frame43=yq=yp; +shape_3_per_frame44=zq=xp*cosang - zp*sinang; +shape_3_per_frame45= +shape_3_per_frame46=//upper arm up down; +shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; +shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); +shape_3_per_frame49=xp=xq; +shape_3_per_frame50=yp=yq*cosang - zq*sinang; +shape_3_per_frame51=zp=yq*sinang + zq*cosang; +shape_3_per_frame52= +shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; +shape_3_per_frame54= +shape_3_per_frame55= +shape_3_per_frame56=//project into screenspace and draw on screen +shape_3_per_frame57=zp=zp+2; +shape_3_per_frame58=xs=xp/zp; +shape_3_per_frame59=ys=yp/zp; +shape_3_per_frame60= +shape_3_per_frame61=x=xs+0.5; +shape_3_per_frame62=y=ys*1.3+0.5; +shape_3_per_frame63= +shape_3_per_frame64= +shape_3_per_frame65= +shape_3_per_frame66= +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/_Mig_177.milk b/presets/presets_tryptonaut/_Mig_177.milk new file mode 100755 index 0000000000..b874c99713 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_177.milk @@ -0,0 +1,291 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000 +fWaveScale=1.152 +fWaveSmoothing=0.100 +fWaveParam=-0.500 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.6; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.08); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/_Mig_197.milk b/presets/presets_tryptonaut/_Mig_197.milk new file mode 100755 index 0000000000..cbeb3ed59c --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_197.milk @@ -0,0 +1,291 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.700 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.524 +fWaveScale=2.718 +fWaveSmoothing=0.900 +fWaveParam=1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.130 +wave_g=0.500 +wave_b=1.000 +wave_x=0.500 +wave_y=0.600 +ob_size=0.007 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/_Mig_304 - geiss remix 3.milk b/presets/presets_tryptonaut/_Mig_304 - geiss remix 3.milk new file mode 100755 index 0000000000..95d5ad9d60 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_304 - geiss remix 3.milk @@ -0,0 +1,255 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.111 +fWaveScale=0.805 +fWaveSmoothing=0.750 +fWaveParam=-0.200 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=1.550 +fWarpAnimSpeed=0.742 +fWarpScale=2.988 +fZoomExponent=2.98779 +fShader=0.000 +zoom=1.05090 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.32545 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.300 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.007 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.200 +mv_g=0.300 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=152 +wavecode_0_sep=8 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.10000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.300 +wave_0_per_frame1=opacity = opacity * max(bass_att-1.3, 0); +wave_0_per_point1=x = value1+0.5; +wave_0_per_point2=y = value2+0.5; +wave_0_per_point3=len = sqrt(value1*value1 + value2*value2)*4; +wave_0_per_point4=r = len; +wave_0_per_point5=g = len*len; +wave_0_per_point6=b = 1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.53742 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.72509 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = cos(time*0.47+3)*0.3; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +per_frame_4=rot = cos(time*0.27)*0.04*1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} diff --git a/presets/presets_tryptonaut/_Mig_304 - geiss remix 3b.milk b/presets/presets_tryptonaut/_Mig_304 - geiss remix 3b.milk new file mode 100755 index 0000000000..a00b8d4f63 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_304 - geiss remix 3b.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.111 +fWaveScale=0.805 +fWaveSmoothing=0.750 +fWaveParam=-0.200 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=1.550 +fWarpAnimSpeed=0.742 +fWarpScale=2.988 +fZoomExponent=2.98779 +fShader=0.000 +zoom=1.05090 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.32545 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.300 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.007 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=0.200 +mv_g=0.300 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=152 +wavecode_0_sep=8 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.10000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.300 +wave_0_per_frame1=opacity = opacity * max(bass_att-1.3, 0); +wave_0_per_point1=x = value1+0.5; +wave_0_per_point2=y = value2+0.5; +wave_0_per_point3=len = sqrt(value1*value1 + value2*value2)*4; +wave_0_per_point4=r = len; +wave_0_per_point5=g = len*len; +wave_0_per_point6=b = 1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.53742 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.72509 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=rad = 0.5 + 0.07*cos(time*1.51+1); +shape_0_per_frame2=ang = cos(time*0.47+3)*0.3; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3); +per_frame_2=q1 = movement; +per_frame_3=monitor =q1; +per_frame_4=rot = cos(time*0.27)*0.04*1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // motion blur: +warp_7=` // 'v' points exactly one pixel, in the direction of motion +warp_8=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_9=` float3 s; +warp_10=` ret = max(ret, tex2D(sampler_main, uv+v*-1)*0.90); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v* 1)*0.97); +warp_12=` ret = max(ret, tex2D(sampler_main, uv+v* 2)*0.97); +warp_13=` ret = max(ret, tex2D(sampler_main, uv+v* 3)*0.90); +warp_14=` +warp_15=` // darken over time +warp_16=` ret *= 0.92; +warp_17=` +warp_18=` // add noise +warp_19=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_20=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_21=`} diff --git a/presets/presets_tryptonaut/_Mig_COLORFUL1.milk b/presets/presets_tryptonaut/_Mig_COLORFUL1.milk new file mode 100755 index 0000000000..f741fee253 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_COLORFUL1.milk @@ -0,0 +1,307 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.300000 +fWaveScale=25.574953 +fWaveSmoothing=0.000000 +fWaveParam=-0.660000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.002336 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.350000 +mv_g=0.350000 +mv_b=0.350000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.330038 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q7; +shape_0_per_frame2=y = 1-q8; +shape_0_per_frame3= +shape_0_per_frame4= +shape_0_per_frame5=r = 0.5+ 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +shape_0_per_frame6=g = 0.5 + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +shape_0_per_frame7=b = 0.5 + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +shape_0_per_frame8=r2 = 0.5+ 0.400*( 0.60*sin(0.873*time) + 0.40*sin(1.124*time) ); +shape_0_per_frame9=g2 = 0.5 + 0.400*( 0.60*sin(0.947*time) + 0.40*sin(0.978*time) ); +shape_0_per_frame10=b2 = 0.5 + 0.400*( 0.60*sin(0.889*time) + 0.40*sin(0.868*time) ); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.081954 +shapecode_1_ang=5.026548 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.463937 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q7; +shape_1_per_frame2=y = 1-q8; +shape_1_per_frame3= +shape_1_per_frame4= +shape_1_per_frame5=r = 0.5+ 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +shape_1_per_frame6=g = 0.5 + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +shape_1_per_frame7=b = 0.5 + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +shape_1_per_frame8=r2 = 0.5+ 0.400*( 0.60*sin(0.873*time) + 0.40*sin(1.124*time) ); +shape_1_per_frame9=g2 = 0.5 + 0.400*( 0.60*sin(0.947*time) + 0.40*sin(0.978*time) ); +shape_1_per_frame10=b2 = 0.5 + 0.400*( 0.60*sin(0.889*time) + 0.40*sin(0.868*time) ); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = wave_r + 0.500*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=wave_b = wave_b + 0.500*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=decay = decay - 0.01*equal(frame%50,0); +per_frame_7=zoom=zoom+(bass_att-1)*0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // take the difference between the crisp and blurred images, +warp_7=` // then add it back into the image. Creates spots and stripes over time. +warp_8=` ret += (ret - GetBlur2(uv))*0.6; +warp_9=` ret *= 0.9; +warp_10=` +warp_11=` // add noise: +warp_12=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy; +warp_13=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1); +warp_14=` +warp_15=` // desaturate over time, to keep the globs white +warp_16=` ret = lerp(ret, lum(ret), 0.08); +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2; +comp_12=` +comp_13=` // ROTATION OVER TIME +comp_14=` #if 1 +comp_15=` ang2 += time*0.025; //rotate over time +comp_16=` #endif +comp_17=` +comp_18=` // FIN TYPE +comp_19=` float fins = 3 + floor(rand_preset.z*5.95); +comp_20=` #if 1 // SHARP FINS +comp_21=` ang2 = frac(ang2*fins)/fins; +comp_22=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_23=` ang2 = abs(ang2 - 0.5/fins); +comp_24=` #else // COSINE FINS - a bit slow +comp_25=` ang2 = cos(ang2*M_PI_2*fins) * 0.023; +comp_26=` #endif +comp_27=` +comp_28=` // RADIAL KALEIDOSCOPING? +comp_29=` #if 0 +comp_30=` rad2 *= g_fTexSize.z; +comp_31=` // choose one: +comp_32=` //rad2 = lerp(rad2, frac(rad2*3)/3.0, 0.5); +comp_33=` rad2 = cos(rad2*5); +comp_34=` //rad2 = sqrt(rad2)*0.5; +comp_35=` //rad2 += abs(frac(rad2*7)-0.5)/7.0 * 1.15; // stepifier +comp_36=` //rad2 += cos(rad2*61)*0.02; +comp_37=` rad2 *= g_fTexSize.x; +comp_38=` #endif +comp_39=` +comp_40=` ang2 *= M_PI_2; +comp_41=` uv2 = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_42=` +comp_43=` ret = tex2D(sampler_main, uv2).xyz; +comp_44=` ret *= 1.333; // a little bit of overbright +comp_45=`} diff --git a/presets/presets_tryptonaut/_Mig_Oscilloscope008.milk b/presets/presets_tryptonaut/_Mig_Oscilloscope008.milk new file mode 100755 index 0000000000..ca27448759 --- /dev/null +++ b/presets/presets_tryptonaut/_Mig_Oscilloscope008.milk @@ -0,0 +1,256 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.940000 +fWaveScale=7.394711 +fWaveSmoothing=0.700000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.772000 +fZoomExponent=4.401000 +fShader=0.000000 +zoom=1.000678 +rot=0.003000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.490000 +wave_g=0.490000 +wave_b=0.490000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=t = time*2.3; +per_frame_2=wave_x = wave_x + 0.350*( 0.70*sin(2.221*time) + 0.30*sin(1.821*time) ); +per_frame_3=wave_y = wave_y + 0.350*( 0.30*sin(1.942*time) + 0.70*sin(2.522*time) ); +per_frame_4=wave_r = wave_r + 0.790*( 0.60*sin(0.823*t) + 0.40*sin(0.916*t) ); +per_frame_5=wave_g = wave_g + 0.790*( 0.60*sin(0.900*t) + 0.40*sin(1.023*t) ); +per_frame_6=wave_b = wave_b + 0.790*( 0.60*sin(0.808*t) + 0.40*sin(0.949*t) ); +per_frame_7=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_9=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, uv + float2(1,0)*texsize.zw ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, uv - float2(1,0)*texsize.zw ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.035; +warp_12=` +warp_13=` // add noise +warp_14=` //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy; +warp_15=` //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02; +warp_16=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk b/presets/presets_tryptonaut/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk new file mode 100755 index 0000000000..0c563d0088 --- /dev/null +++ b/presets/presets_tryptonaut/adam eatit fx 2 martin - disco mix, lodus, geiss, ludicrous speed,flexi, aderrasi n hexcollie.milk @@ -0,0 +1,415 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.780 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.110 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=4.950 +mv_r=0.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.700 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.100 +wave_0_per_point1=//q1 = state; +wave_0_per_point2=//q2 = basstime; +wave_0_per_point3= +wave_0_per_point4=q1 = 0; +wave_0_per_point5=speed = bass_att*0.3; +wave_0_per_point6=v = sample*10000 + value2*bass*0.1; +wave_0_per_point7= +wave_0_per_point8=//state 0 elipse +wave_0_per_point9=xs = xs + sin(v*0.1 + sin(v)*0.1)*speed*atan(v*1.51); +wave_0_per_point10=ys = ys + sin(v*0.1 + cos(v)*0.1)*speed*atan(v); +wave_0_per_point11= +wave_0_per_point12=x = 0.5 + 0.5*sin(xs*0.1)*cos(time*1 + ys); +wave_0_per_point13=y = 0.5 + 0.5*sin(ys*0.1)*cos(time*1.1 + xs); +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=r = 0.5 + 0.5*sin(q1*0.22); +wave_0_per_point17=g = 0.5 + 0.5*sin(q1*0.307) + x; +wave_0_per_point18=//b = 0.4 + 0.4*sin(time*0.959); +wave_0_per_point19= +wave_0_per_point20= +wave_0_per_point21=xs = if(above(xs,1000),0 ,xs); +wave_0_per_point22=ys = if(above(ys,1000),0 ,ys); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=//apply zoom burst on beat +wave_3_per_point2=flag = above(q3,2); +wave_3_per_point3=//state zero is ready state +wave_3_per_point4=state = state + flag*equal(state,0); +wave_3_per_point5= +wave_3_per_point6=//upwards flight +wave_3_per_point7=yval = if(equal(state,0),0, yval); +wave_3_per_point8=yval = yval + 0.00004*equal(state,1); +wave_3_per_point9=ymax = if(equal(state,0),int(rand(100))*0.004,ymax); +wave_3_per_point10= +wave_3_per_point11=//hit apogee +wave_3_per_point12=state = if(above(yval,0.5+ymax),2,state); +wave_3_per_point13= +wave_3_per_point14=//reset variable +wave_3_per_point15=yval = if(equal(state,0),0, yval); +wave_3_per_point16=burst = if(equal(state,0),0.001,burst); +wave_3_per_point17=alphax = if(equal(state,0),1,alphax); +wave_3_per_point18=xdriftinc = if(equal(state,0),0,xdriftinc); +wave_3_per_point19= +wave_3_per_point20=burstspeed = if(equal(state,0),int(rand(10)),burstspeed); +wave_3_per_point21=xdrift = if(equal(state,0),int(rand(20)),xdrift); +wave_3_per_point22=//to get the numbers small enough have to use constants +wave_3_per_point23=xdriftinc = xdriftinc +wave_3_per_point24=+ equal(xdrift,0)*equal(state,1)*0.00002 +wave_3_per_point25=+ equal(xdrift,1)*equal(state,1)*0.000018 +wave_3_per_point26=+ equal(xdrift,2)*equal(state,1)*0.000016 +wave_3_per_point27=+ equal(xdrift,3)*equal(state,1)*0.000014 +wave_3_per_point28=+ equal(xdrift,4)*equal(state,1)*0.000012 +wave_3_per_point29=+ equal(xdrift,5)*equal(state,1)*0.00001 +wave_3_per_point30=+ equal(xdrift,6)*equal(state,1)*0.000008 +wave_3_per_point31=+ equal(xdrift,7)*equal(state,1)*0.000006 +wave_3_per_point32=+ equal(xdrift,8)*equal(state,1)*0.000004 +wave_3_per_point33=+ equal(xdrift,9)*equal(state,1)*0.000002 +wave_3_per_point34=+ equal(xdrift,11)*equal(state,1)*-0.000002 +wave_3_per_point35=+ equal(xdrift,12)*equal(state,1)*-0.000004 +wave_3_per_point36=+ equal(xdrift,13)*equal(state,1)*-0.000006 +wave_3_per_point37=+ equal(xdrift,14)*equal(state,1)*-0.000008 +wave_3_per_point38=+ equal(xdrift,15)*equal(state,1)*-0.00001 +wave_3_per_point39=+ equal(xdrift,16)*equal(state,1)*-0.000012 +wave_3_per_point40=+ equal(xdrift,17)*equal(state,1)*-0.000014 +wave_3_per_point41=+ equal(xdrift,18)*equal(state,1)*-0.000016 +wave_3_per_point42=+ equal(xdrift,19)*equal(state,1)*-0.000018; +wave_3_per_point43= +wave_3_per_point44=burst = burst +wave_3_per_point45=+ equal(burstspeed,0)*equal(state,2)*0.000024 +wave_3_per_point46=+ equal(burstspeed,1)*equal(state,2)*0.000022 +wave_3_per_point47=+ equal(burstspeed,2)*equal(state,2)*0.00002 +wave_3_per_point48=+ equal(burstspeed,3)*equal(state,2)*0.000018 +wave_3_per_point49=+ equal(burstspeed,4)*equal(state,2)*0.000016 +wave_3_per_point50=+ equal(burstspeed,5)*equal(state,2)*0.000014 +wave_3_per_point51=+ equal(burstspeed,6)*equal(state,2)*0.000012 +wave_3_per_point52=+ equal(burstspeed,7)*equal(state,2)*0.00001 +wave_3_per_point53=+ equal(burstspeed,8)*equal(state,2)*0.000008 +wave_3_per_point54=+ equal(burstspeed,9)*equal(state,2)*0.000008; +wave_3_per_point55= +wave_3_per_point56=alphax = alphax - 0.00004*equal(state,2); +wave_3_per_point57=state = if(below(alphax,0),0,state); +wave_3_per_point58= +wave_3_per_point59= +wave_3_per_point60=s = sample*3.14*100; +wave_3_per_point61=ss = sample*6.28*1000; +wave_3_per_point62= +wave_3_per_point63=//draw torus +wave_3_per_point64=xs = (burst + 0.0001*cos(s))*cos(ss); +wave_3_per_point65=ys = (burst + 0.0001*cos(s))*sin(ss); +wave_3_per_point66=zs = 0.1*burst*sin(s); +wave_3_per_point67= +wave_3_per_point68= +wave_3_per_point69=//rotate x axis +wave_3_per_point70=angle = sin(-q1*0.035)*6.28; +wave_3_per_point71=yx = ys*cos(angle) - zs*sin(angle); +wave_3_per_point72=zx = ys*sin(angle) + zs*cos(angle); +wave_3_per_point73=xx = xs; +wave_3_per_point74= +wave_3_per_point75=//rotate y axis +wave_3_per_point76=angle2 = sin(-q1*0.03)*6.28; +wave_3_per_point77=xd = xx*cos(angle2) - zx*sin(angle2); +wave_3_per_point78=zd = xx*sin(angle2) + zx*cos(angle2); +wave_3_per_point79=yd = yx; +wave_3_per_point80= +wave_3_per_point81=//rotaye z axis +wave_3_per_point82=angle3 = sin(-q1*0.022)*6.28; +wave_3_per_point83=xn = xd*cos(angle3) - yd*sin(angle3); +wave_3_per_point84=yn = xd*sin(angle3) + yd*cos(angle3); +wave_3_per_point85= +wave_3_per_point86=zd = zd + 2; +wave_3_per_point87= +wave_3_per_point88=x = xn*zd*0.3 + 0.5; +wave_3_per_point89=y = yn*zd*0.3*1.2; +wave_3_per_point90= +wave_3_per_point91= +wave_3_per_point92=x = x + xdriftinc; +wave_3_per_point93=y = y + sin(yval*1.5) - 0.18; +wave_3_per_point94= +wave_3_per_point95= +wave_3_per_point96=r = 0.5 + 0.5*sin(q1*1.3 + x + x); +wave_3_per_point97=g = 0.5 + 0.5*sin(q1*1.1 + x + y); +wave_3_per_point98=b = 0.5 + 0.5*sin(q1*1.66 + y + y); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=2.66718 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.45112 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.150 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.050 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.000 +shapecode_1_rad=0.09959 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.42497 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.000 +shapecode_2_rad=0.10201 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.650 +shapecode_3_y=0.000 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=p1 = int(rand(16)); +per_frame_init_2=p2 = p1; +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.14159265359/4; +per_frame_26= +per_frame_27=q27 = 8-index; +per_frame_28=q28 = sin(time/7); +per_frame_29=q29 = index4; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36=mv_a = .5 * q1; +per_frame_37= +per_frame_38=movez = movez + .01 * 30/fps ; +per_frame_39=q29 = movez; +per_frame_40= +per_frame_41=movex = movex + .003 * 30/fps *q2; +per_frame_42=q30 = movex; +per_frame_43= +per_frame_44=q31 = sqr(sin(time/17)); +per_frame_45=q32 = sqr(cos(time/17)); +per_frame_46= +per_frame_47=zoom = 1.0; +per_frame_48=rot = .0; +per_frame_49=dx = .0; +per_frame_50=warp = .2; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float2 zz = uv1 *texsize.xy *.01; +warp_7=`zz =mul(zz,float2x2(_qa)); +warp_8=`zz = -zz.yx; +warp_9=`float2 h1 = clamp(tan(zz.yx),-8,8) * cos(4*zz); +warp_10=` +warp_11=`uv += h1*texsize.zw * 16; +warp_12=`float3 crisp = tex2D(sampler_main,uv); +warp_13=` +warp_14=`ret = crisp*.99-.01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float srad = sqrt(rad)+ 0.05; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main, uv + 0.06*float2(cos(uv.y*27*0.5),sin(uv.x*39*0.5))).xyz); +comp_6=`} diff --git a/presets/presets_tryptonaut/amandio c - feeling well 3.milk b/presets/presets_tryptonaut/amandio c - feeling well 3.milk new file mode 100755 index 0000000000..bafb9d8508 --- /dev/null +++ b/presets/presets_tryptonaut/amandio c - feeling well 3.milk @@ -0,0 +1,337 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.750 +fDecay=1.000 +fVideoEchoZoom=1.010 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.007 +fWaveSmoothing=0.500 +fWaveParam=-0.400 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.860 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.040 +ob_g=0.040 +ob_b=0.040 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.70000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.040 +wave_0_per_point1=//// stars +wave_0_per_point2= +wave_0_per_point3=q10=123*sample; +wave_0_per_point4= +wave_0_per_point5=x = -.5+sample; +wave_0_per_point6=y = -.5+abs(sin(q10)); +wave_0_per_point7= +wave_0_per_point8=t=.02*time; +wave_0_per_point9=mx = x*cos(t)+y*sin(t); +wave_0_per_point10=my = y*cos(t)-x*sin(t); +wave_0_per_point11= +wave_0_per_point12=///random factor +wave_0_per_point13=p1=.1*sin(630*sample); +wave_0_per_point14=p2=.1*sin(530*sample); +wave_0_per_point15= +wave_0_per_point16=x= .5+p1+mx; +wave_0_per_point17=y= .5+p2+my; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=67.16520 +wavecode_1_smoothing=0.70000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.700 +wavecode_3_g=0.700 +wavecode_3_b=1.000 +wavecode_3_a=0.600 +shapecode_0_enabled=1 +shapecode_0_sides=10 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=300 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.29701 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=i=instance; sa=i/num_inst; +shape_0_per_frame2= +shape_0_per_frame3=c=below(sa,.5); +shape_0_per_frame4= +shape_0_per_frame5=x3=if(i%2,-.05,.05)+.12*sin(533*sa+.2*time); +shape_0_per_frame6=y3=if(c,-.05,.05)+.05*sin(876*sa+.14*time); +shape_0_per_frame7= +shape_0_per_frame8=z3a=(100*sa)-q10; z3a += 50* (z3a<0); +shape_0_per_frame9=z3b =(-50+100*sa)+q10; z3b -= 50* (z3b>50); +shape_0_per_frame10=z3=if(c,z3a,z3b); +shape_0_per_frame11= +shape_0_per_frame12= +shape_0_per_frame13=d=0; zoom=20; +shape_0_per_frame14= +shape_0_per_frame15= +shape_0_per_frame16=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame17=w = atan2(x3,y3); +shape_0_per_frame18=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame19=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame20= +shape_0_per_frame21=x1 = zoom*sin(w)*p; +shape_0_per_frame22=y1 = zoom*cos(w)*p; +shape_0_per_frame23= +shape_0_per_frame24=x = 0.5 + x1/q6; +shape_0_per_frame25=y = 0.5 + y1; +shape_0_per_frame26= +shape_0_per_frame27=rad *= .1*zoom/d; +shape_0_per_frame28= +shapecode_1_enabled=1 +shapecode_1_sides=10 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=100 +shapecode_1_x=0.200 +shapecode_1_y=0.500 +shapecode_1_rad=0.12521 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.85290 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=sample=instance/num_inst; +shape_1_per_frame2= +shape_1_per_frame3=p=0; +shape_1_per_frame4= +shape_1_per_frame5=z=(.15+.05*sin(.16*time))*(1+4*p)*(1+.4*sin(time+10*p)); +shape_1_per_frame6= +shape_1_per_frame7=x1= z* (.3*sin(.5*q1)/(.2+p) + .3*sin(6*p+time)); +shape_1_per_frame8=y1= z* ( .3*sin(.5*q2)/(.2+p) + .3*sin(6*p-time)); +shape_1_per_frame9= +shape_1_per_frame10= +shape_1_per_frame11=///// star +shape_1_per_frame12= +shape_1_per_frame13=p0=3; p1=p0*sample; p2=p1%p0; p3=2*3.14/p0; +shape_1_per_frame14= +shape_1_per_frame15=x=p2-p1; y=0; +shape_1_per_frame16= +shape_1_per_frame17=t = 20*sin(.02*time+.1*q1+.1*q2); +shape_1_per_frame18= +shape_1_per_frame19=mx=x*sin(p2*p3+t)+y*cos(p2*p3+t); +shape_1_per_frame20=my=y*sin(p2*p3+t)-x*cos(p2*p3+t); +shape_1_per_frame21= +shape_1_per_frame22=d=sqrt(mx*mx+my*my); +shape_1_per_frame23=rad=rad*(1-.6*d); +shape_1_per_frame24= +shape_1_per_frame25=zoom=.8*z; +shape_1_per_frame26=x=.5+(x1+zoom*mx)/q6; y=.5+y1 + zoom*my; +shape_1_per_frame27= +shape_1_per_frame28=rad=rad*zoom*sin(3*3.14*sample); +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=2.03064 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.87170 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.700 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=p=0; +shape_2_per_frame2= +shape_2_per_frame3=z=(.15+.05*sin(.16*time))*(1+4*p)*(1+.4*sin(time+10*p)); +shape_2_per_frame4= +shape_2_per_frame5=x1= z* (.3*sin(.5*q1)/(.2+p) + .3*sin(6*p+time)); +shape_2_per_frame6=y1= z* ( .3*sin(.5*q2)/(.2+p) + .3*sin(6*p-time)); +shape_2_per_frame7= +shape_2_per_frame8=x =.5 + x1/q6; y =.5 + y1; +shape_2_per_frame9= +shape_2_per_frame10=rad*=z; +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1020 +shapecode_3_x=0.380 +shapecode_3_y=0.280 +shapecode_3_rad=0.49923 +shapecode_3_ang=1.57079 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.46942 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=i=instance; sa=i/num_inst; +shape_3_per_frame2= +shape_3_per_frame3=n1=34; n2=30; p=((i/n2)%n1)/n1; +shape_3_per_frame4= +shape_3_per_frame5=c = i == (510+510*sin(.12*time))%1020; +shape_3_per_frame6=t = n1*6.28*sa + 20*sin(.02*time+.1*q1+.1*q2); +shape_3_per_frame7= +shape_3_per_frame8=z=(.15+.05*sin(.16*time))*(1+5*p)*(1+.4*sin(time+10*p)); +shape_3_per_frame9= +shape_3_per_frame10=x1= z* (cos(t)*(1-.3*c) + .3*sin(.5*q1)/(.2+p) + .3*sin(7*p+time)); +shape_3_per_frame11=y1= z* (sin(t)*(1-.3*c) + .3*sin(.5*q2)/(.2+p) + .3*sin(7*p-time)); +shape_3_per_frame12= +shape_3_per_frame13=x =.5 + x1/q6; y =.5 + y1; +shape_3_per_frame14= +shape_3_per_frame15=rad *= z*(1-.92*c); ang=3.14/4-t; +shape_3_per_frame16= +shape_3_per_frame17=r=.3*p*(1+.2*sin(i+i*i))+5*c; g=5*c; b=5*c; +shape_3_per_frame18=r2=.5*r; g2=.5*g; b2=.5*b; +per_frame_1=decay=.6; +per_frame_2=q6=aspecty; +per_frame_3= +per_frame_4=//// flexi's beat counter +per_frame_5=bt1 = bt1*0.95 + sqr(bass*4)*20/fps; +per_frame_6=bt2 = bt2 + bt1*0.005; +per_frame_7=bt = bt2 *0.01; +per_frame_8=tt1 = tt1*0.95 + sqr(treb*4)*20/fps; +per_frame_9=tt2 = tt2 + tt1*0.005; +per_frame_10=tt = tt2 *0.01; +per_frame_11= +per_frame_12=q1=bt; q2=tt; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=t10=t10+2/fps; +per_frame_17=t10=t10*above(50,t10); +per_frame_18=q10=t10; diff --git a/presets/presets_tryptonaut/amandio c - flashy thing.milk b/presets/presets_tryptonaut/amandio c - flashy thing.milk new file mode 100755 index 0000000000..bea68be498 --- /dev/null +++ b/presets/presets_tryptonaut/amandio c - flashy thing.milk @@ -0,0 +1,273 @@ +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.940 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.800 +wavecode_0_g=0.800 +wavecode_0_b=1.000 +wavecode_0_a=0.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.20929 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.800 +wavecode_1_g=0.800 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.800 +wavecode_3_g=0.700 +wavecode_3_b=1.000 +wavecode_3_a=0.000 +shapecode_0_enabled=1 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=480 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.52373 +shapecode_0_r=0.700 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=0.440 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.040 +shape_0_per_frame1=sample=instance/num_inst; +shape_0_per_frame2=b=sin(33*sample+time); +shape_0_per_frame3= +shape_0_per_frame4=rad=.1*rad*sample/(p*p*.39); +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=q11=20*sample; +shape_0_per_frame8= +shape_0_per_frame9=my_x= cos(q11); +shape_0_per_frame10=my_y= sin(q11); +shape_0_per_frame11=my_z= -1+2*sample; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=/////// rotations +shape_0_per_frame15= +shape_0_per_frame16=d = 5; +shape_0_per_frame17=zoom = 1; +shape_0_per_frame18= +shape_0_per_frame19=w3 = q1; +shape_0_per_frame20=w2 = q2; +shape_0_per_frame21=w1 = q3; +shape_0_per_frame22= +shape_0_per_frame23=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame24=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame25=z1 = my_z; +shape_0_per_frame26= +shape_0_per_frame27=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame28=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame29=y2 = y1; +shape_0_per_frame30= +shape_0_per_frame31=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame32=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame33=x3 = x2; +shape_0_per_frame34= +shape_0_per_frame35=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame36=w = atan2(x3,y3); +shape_0_per_frame37=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame38=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame39= +shape_0_per_frame40=my_x = zoom*sin(w)*p; +shape_0_per_frame41=my_y = zoom*cos(w)*p; +shape_0_per_frame42= +shape_0_per_frame43=x = 0.5 + my_x; +shape_0_per_frame44=y = 0.5 + my_y; +shape_0_per_frame45= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=zoom=1; +per_frame_4= +per_frame_5=bt=bt+bass/fps; +per_frame_6=q1=.5*bt; +per_frame_7=tt=tt+treb/fps; +per_frame_8=q2=tt; +per_frame_9=mt=mt+mid/fps; +per_frame_10=q3=mt; diff --git a/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ made to believe i don't matter.milk b/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ made to believe i don't matter.milk new file mode 100755 index 0000000000..f3bff78577 --- /dev/null +++ b/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ made to believe i don't matter.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.400 +wavecode_0_g=0.400 +wavecode_0_b=0.400 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=5.38980 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.19381 +shapecode_0_tex_zoom=0.18923 +shapecode_0_r=1.000 +shapecode_0_g=0.970 +shapecode_0_b=1.000 +shapecode_0_a=0.940 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=3.99882 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.25005 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=18 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=10 +shapecode_2_x=0.463 +shapecode_2_y=0.500 +shapecode_2_rad=1.60089 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67634 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.700 +shapecode_2_g2=0.800 +shapecode_2_b2=0.800 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=16 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=353 +shapecode_3_x=0.503 +shapecode_3_y=0.500 +shapecode_3_rad=0.03760 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.11234 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.060 +shape_3_per_frame1=sample=instance/num_inst; +shape_3_per_frame2=rad=.05+.04*sin(sample); +shape_3_per_frame3= +shape_3_per_frame4=///// Knot +shape_3_per_frame5= +shape_3_per_frame6=q10=250*sample; +shape_3_per_frame7=my_x = -.22*cos(q10)-1.28*sin(q10)-.44*cos(3*q10)-.78*sin(3*q10); +shape_3_per_frame8=my_y= -.1*cos(2*q10)-.27*sin(2*q10)+.38*cos(4*q10)+.46*sin(4*q10); +shape_3_per_frame9=my_z=.7*cos(3*q10)-.4*sin(3*q10); +shape_3_per_frame10= +shape_3_per_frame11= +shape_3_per_frame12=/////// rotations... by flexi +shape_3_per_frame13= +shape_3_per_frame14=d = .2; +shape_3_per_frame15=zoom = 1; +shape_3_per_frame16= +shape_3_per_frame17=w3 = q1; +shape_3_per_frame18=w2 = q2; +shape_3_per_frame19=w1 = q3; +shape_3_per_frame20= +shape_3_per_frame21=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame22=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame23=z1 = my_z; +shape_3_per_frame24= +shape_3_per_frame25=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame26=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame27=y2 = y1; +shape_3_per_frame28= +shape_3_per_frame29=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame30=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame31=x3 = x2; +shape_3_per_frame32= +shape_3_per_frame33=// perspective calculation +shape_3_per_frame34= +shape_3_per_frame35=l = sqrt(x3*x3 + y3*y3); +shape_3_per_frame36=w = atan2(x3,y3); +shape_3_per_frame37=p = tan(asin(1) + atan2(d+z3,l)); +shape_3_per_frame38=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame39= +shape_3_per_frame40=my_x = zoom*sin(w)*p; +shape_3_per_frame41=my_y = zoom*cos(w)*p; +shape_3_per_frame42= +shape_3_per_frame43=p1 = .2*sin(sample*50); +shape_3_per_frame44=p2 = .2*sin(sample*80); +shape_3_per_frame45= +shape_3_per_frame46=x = .5+my_x*p1; +shape_3_per_frame47=y = .5+my_y*p2; +shape_3_per_frame48= +shape_3_per_frame49=r = .4*sin(sample*80); +shape_3_per_frame50=b = .8*sin(sample*66); +shape_3_per_frame51=g = .6*sin(sample*120); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq30=if(above(chng,cthr),rand(1)*.3,mq30); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q1=.4+sin(atime*.006 )*.4; +per_frame_21=q2=.4+cos(atime*.00613828348)*.4; +per_frame_22=q3=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q3; +per_frame_24= +per_frame_25=zoom=1; +per_frame_26=wave_a=0; +per_frame_27=warp = 0; +per_frame_28=decay=.9; +per_frame_29= +per_frame_30=q1=.4*time; +per_frame_31=q2=.2*time; +per_frame_32=q3=.3*time; +per_frame_33=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_34=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_35=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_36=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_37=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_38=ob_r = 1- 0.4*abs(q1); +per_frame_39=ob_g = 0.3*abs(q2); +per_frame_40=ob_b = 0.4*abs(q1); +per_frame_41=wave_x = 1-abs(q2)-0.05; +per_frame_42=wave_y = 1-abs(q1)-0.06; +per_frame_43=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_44=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_45=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05)*0.4; +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.3; // maximum random pixel offset +warp_6=`float diffusion = 0.004; // dither strength +warp_7=`float fadeout = -0.001; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur1(lerp(uv_orig,uv,-8))); +warp_11=`uv = lerp(uv_orig,uv, magic*8 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_15=` ((uv.xyy*q27 +warp_16=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_17=` ).xyz* +warp_18=` float3(1,1,0)*0.05 + +warp_19=` time*float3(0,0,1)*q29 +warp_20=` ); +warp_21=`if(ret.x> q21*q3 && ret.x<= q24*q1 )ret.y -= (noise9).x*.5; +warp_22=`if(ret.y> q22*q1 && ret.y<= q25*q2 )ret.z -= (noise9).y*.5; +warp_23=`if(ret.z> q23*q2 && ret.z<= q26*q3 )ret.x -= (noise9).z*.5; +warp_24=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`//ret = tex2D(sampler_main,uv); +comp_5=`float2 uv2 = uv + 32*texsize.zw*float2(cos(uv.y*texsize.y*0.1),sin(uv.x*texsize.x*0.1)); +comp_6=` float3 base = GetBlur3(uv).x + GetBlur2(uv).x + GetBlur1(uv2).x + tex2D(sampler_main, uv2).x + 0.04; +comp_7=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_8=`c = c + b - c*b; +comp_9=`a = a + c - a*c; +comp_10=`base = 1.4*a; +comp_11=`ret = base*(1-base)*(1-base)*2*float3(2,1.4,0) + pow(base,2)*float3(-0.3,0.2,0.5); +comp_12=`//ret.xy = ret.yx; +comp_13=`ret-=roam_sin.wzy*roam_cos.zxy; +comp_14=`//ret-=roam_sin.zyx*roam_cos.ywx; +comp_15=`ret = lerp(ret,1,GetBlur1(uv).z*6); +comp_16=`ret = 1-lerp(ret,float3(0.9,0,0),GetPixel(uv).z).zyx; +comp_17=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_18=` ((uv2.xyy*q28 +comp_19=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_20=` ).xyz* +comp_21=` float3(1,1,0)*0.05 + +comp_22=` time*float3(0,0,1)*q30 +comp_23=` ); +comp_24=`if(ret.x> q26*q3 && ret.x<= q23*q1 )ret.z -= (noise9).x*.5; +comp_25=`if(ret.y> q25*q1 && ret.y<= q22*q2 )ret.x -= (noise9).y*.5; +comp_26=`if(ret.z> q24*q2 && ret.z<= q21*q3 )ret.y -= (noise9).z*.5; +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ selectro-electronic afield asquid.milk b/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ selectro-electronic afield asquid.milk new file mode 100755 index 0000000000..b7f6f01648 --- /dev/null +++ b/presets/presets_tryptonaut/amandio c - pole - shf fab candiria pull ap5+ selectro-electronic afield asquid.milk @@ -0,0 +1,402 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.400 +wavecode_0_g=0.400 +wavecode_0_b=0.400 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=7 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03333 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = int(rand(100))*.01+instance-instance; +shape_0_per_frame2=y = int(rand(100))*.01+instance-instance; +shape_0_per_frame3= +shape_0_per_frame4=a =1; +shape_0_per_frame5=vol=bass+mid+treb; +shape_0_per_frame6=rad = int(rand(int(vol)))/7+instance-instance; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=7 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03333 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = int(rand(100))*.01+instance-instance; +shape_1_per_frame2=y = int(rand(100))*.01+instance-instance; +shape_1_per_frame3= +shape_1_per_frame4=a =1; +shape_1_per_frame5=vol=bass+mid+treb; +shape_1_per_frame6=rad = int(rand(int(vol)))/7+instance-instance; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=311 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.01000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0002*cos(ma)); +shape_2_per_frame5=my=my+(.0002*tan(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=1-mx; +shape_2_per_frame13=y=1-my; +shape_2_per_frame14= +shape_2_per_frame15=ang=(sin(time*.35)+1)*3; +shape_2_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_2_per_frame17=pi23=4*asin(1)*.333333333; +shape_2_per_frame18=t1=bass+mid+treb; +shapecode_3_enabled=1 +shapecode_3_sides=16 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=353 +shapecode_3_x=0.503 +shapecode_3_y=0.500 +shapecode_3_rad=0.03760 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.11234 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.060 +shape_3_per_frame1=sample=instance/num_inst; +shape_3_per_frame2=rad=.05+.04*sin(sample); +shape_3_per_frame3= +shape_3_per_frame4=///// Knot +shape_3_per_frame5= +shape_3_per_frame6=q10=250*sample; +shape_3_per_frame7=my_x = -.22*cos(q10)-1.28*sin(q10)-.44*cos(3*q10)-.78*sin(3*q10); +shape_3_per_frame8=my_y= -.1*cos(2*q10)-.27*sin(2*q10)+.38*cos(4*q10)+.46*sin(4*q10); +shape_3_per_frame9=my_z=.7*cos(3*q10)-.4*sin(3*q10); +shape_3_per_frame10= +shape_3_per_frame11= +shape_3_per_frame12=/////// rotations... by flexi +shape_3_per_frame13= +shape_3_per_frame14=d = .2; +shape_3_per_frame15=zoom = 1; +shape_3_per_frame16= +shape_3_per_frame17=w3 = q1; +shape_3_per_frame18=w2 = q2; +shape_3_per_frame19=w1 = q3; +shape_3_per_frame20= +shape_3_per_frame21=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame22=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame23=z1 = my_z; +shape_3_per_frame24= +shape_3_per_frame25=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame26=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame27=y2 = y1; +shape_3_per_frame28= +shape_3_per_frame29=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame30=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame31=x3 = x2; +shape_3_per_frame32= +shape_3_per_frame33=// perspective calculation +shape_3_per_frame34= +shape_3_per_frame35=l = sqrt(x3*x3 + y3*y3); +shape_3_per_frame36=w = atan2(x3,y3); +shape_3_per_frame37=p = tan(asin(1) + atan2(d+z3,l)); +shape_3_per_frame38=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame39= +shape_3_per_frame40=my_x = zoom*sin(w)*p; +shape_3_per_frame41=my_y = zoom*cos(w)*p; +shape_3_per_frame42= +shape_3_per_frame43=p1 = .2*sin(sample*50); +shape_3_per_frame44=p2 = .2*sin(sample*80); +shape_3_per_frame45= +shape_3_per_frame46=x = .5+my_x*p1; +shape_3_per_frame47=y = .5+my_y*p2; +shape_3_per_frame48= +shape_3_per_frame49=r = .4*sin(sample*80); +shape_3_per_frame50=b = .8*sin(sample*66); +shape_3_per_frame51=g = .6*sin(sample*120); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25= +per_frame_26=zoom=1; +per_frame_27=wave_a=0; +per_frame_28=warp = 0; +per_frame_29=decay=.9; +per_frame_30= +per_frame_31=q1=.4*time; +per_frame_32=q2=.2*time; +per_frame_33=q3=.3*time; +per_frame_34=mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_35=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_36=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_37=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_38=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_39=ob_r = 1- 0.4*abs(q1); +per_frame_40=ob_g = 0.3*abs(q2); +per_frame_41=ob_b = 0.4*abs(q1); +per_frame_42=wave_x = 1-abs(q2)-0.05; +per_frame_43=wave_y = 1-abs(q1)-0.06; +per_frame_44=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_45=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_46=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_frame_47=q30=bass+treb+mid; +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05)*0.4; +per_pixel_6=dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.3; // maximum random pixel offset +warp_6=`float diffusion = 0.004; // dither strength +warp_7=`float fadeout = -0.001; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur1(lerp(uv_orig,uv,-8))); +warp_11=`uv = lerp(uv_orig,uv, magic*8 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_15=` ((uv.xyy*q27 +warp_16=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_17=` ).xyz* +warp_18=` float3(1,1,0)*0.05 + +warp_19=` time*float3(0,0,1)*q29 +warp_20=` ); +warp_21=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_22=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_23=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` +comp_5=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_6=` ((uv.xyy*q28 +comp_7=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_8=` ).xyz* +comp_9=` float3(1,1,0)*0.05 + +comp_10=` time*float3(0,0,1)*q31 +comp_11=` ); +comp_12=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_13=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_14=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_15=` +comp_16=` ret = abs(ret - GetBlur1(uv))*6; +comp_17=` +comp_18=` ret *= 1.333; // a little bit of overbright +comp_19=`ret=.6-ret; +comp_20=`ret-=slow_roam_sin.wyx*roam_cos.zwx*.4; +comp_21=`} diff --git a/presets/presets_tryptonaut/amandio c - ring system gonskin.milk b/presets/presets_tryptonaut/amandio c - ring system gonskin.milk new file mode 100755 index 0000000000..1a4c351502 --- /dev/null +++ b/presets/presets_tryptonaut/amandio c - ring system gonskin.milk @@ -0,0 +1,364 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=0.010 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.01000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.300 +wavecode_0_g=0.300 +wavecode_0_b=1.000 +wavecode_0_a=0.190 +wave_0_per_point1=//// stars +wave_0_per_point2= +wave_0_per_point3=q10=123*sample; +wave_0_per_point4= +wave_0_per_point5=x = -.5+sample; +wave_0_per_point6=y = -.5+abs(sin(q10)); +wave_0_per_point7= +wave_0_per_point8=t=.01*time; +wave_0_per_point9=mx = x*cos(t)+y*sin(t); +wave_0_per_point10=my = y*cos(t)-x*sin(t); +wave_0_per_point11= +wave_0_per_point12=///random factor +wave_0_per_point13=p1=.1*sin(630*sample); +wave_0_per_point14=p2=.1*sin(530*sample); +wave_0_per_point15= +wave_0_per_point16=x= .5+p1+mx; +wave_0_per_point17=y= .5+p2+my; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.20929 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.300 +wavecode_1_g=0.200 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.800 +wavecode_2_g=0.800 +wavecode_2_b=1.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.40000 +wavecode_3_r=1.000 +wavecode_3_g=0.600 +wavecode_3_b=1.000 +wavecode_3_a=0.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=15 +shapecode_0_x=0.500 +shapecode_0_y=0.970 +shapecode_0_rad=1.00025 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=4.52389 +shapecode_0_tex_zoom=0.40034 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.400 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.400 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.020 +shape_0_per_frame1=sample=instance/num_inst; +shape_0_per_frame2= +shape_0_per_frame3=x=sample+.3*sin(43*sample+.06*time); +shape_0_per_frame4=y=.5+.6*sin(53*sample-.04*time); +shapecode_1_enabled=1 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=15 +shapecode_1_x=0.680 +shapecode_1_y=0.500 +shapecode_1_rad=0.01416 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.300 +shapecode_1_b=0.600 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.200 +shapecode_1_border_r=0.300 +shapecode_1_border_g=0.400 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.060 +shape_1_per_frame1=sample=instance/num_inst; +shape_1_per_frame2= +shape_1_per_frame3=x1=sample+.3*sin(43*sample+.06*time); +shape_1_per_frame4=y1=.5+.6*sin(53*sample-.04*time); +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=t=.3*time*(1+.3*sin(33*sample)); +shape_1_per_frame8=x=x1 +.5*sin(t)/q6; +shape_1_per_frame9=y=y1 +.5*cos(t); +shape_1_per_frame10= +shape_1_per_frame11= +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=800 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.09475 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.300 +shapecode_2_border_g=0.400 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.400 +shape_2_per_frame1=sample=instance/num_inst; +shape_2_per_frame2= +shape_2_per_frame3=//// rings +shape_2_per_frame4= +shape_2_per_frame5=n=20; s1=n*sample; s2=s1%n; t1=6.28*s1; t2=-1*time; c=instance%2; border_a=-.01+.4*sample; +shape_2_per_frame6= +shape_2_per_frame7=x=(.03/n)*sin(1+t1+t2)*s2; y=(.03/n)*cos(1+t1+t2)*s2; +shape_2_per_frame8=x=x+.005*s2*t2*(1-1.4*sin(s2)); y=y+.005*s2*t2*(1+2*sin(s2)); +shape_2_per_frame9=x=x+.04*sin(s2+time)*c; y=y+.04*cos(s2+time)*c; +shape_2_per_frame10=x= int(x+1)-x; y= int(y+1)-y; +shape_2_per_frame11= +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.790 +shapecode_3_y=0.500 +shapecode_3_rad=0.59126 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.85319 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.500 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.400 +shapecode_3_border_r=1.000 +shapecode_3_border_g=0.600 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=warp=0; +per_frame_26=wave_a=0; +per_frame_27=zoom=1; +per_frame_28=decay=.7; +per_frame_29= +per_frame_30=q6=aspecty; +per_frame_31= +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv ).xyz; +warp_5=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_6=` ((uv.xyy*q27 +warp_7=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_8=` ).xyz* +warp_9=` float3(1,1,0)*0.05 + +warp_10=` time*float3(0,0,1)*q29 +warp_11=` ); +warp_12=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_13=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_14=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_15=`float blur =sin(bass*90)*rad; +warp_16=`ret=0.125*( +warp_17=`GetPixel(float2(uv.x-0.01*blur,uv.y-0.01*blur)) + +warp_18=`GetPixel(float2(uv.x+0.01*blur,uv.y+0.01*blur)) + +warp_19=`GetPixel(float2(uv.x-0.01*blur,uv.y+0.01*blur)) + +warp_20=`GetPixel(float2(uv.x+0.01*blur,uv.y-0.01*blur)) + +warp_21=`GetPixel(float2(uv.x,uv.y-0.01*blur)) + +warp_22=`GetPixel(float2(uv.x,uv.y+0.01*blur)) + +warp_23=`GetPixel(float2(uv.x-0.01*blur,uv.y)) + +warp_24=`GetPixel(float2(uv.x+0.01*blur,uv.y))); +warp_25=`//add a 'bass overbright' effect: +warp_26=`ret-=-(lum(ret)sin(-time*90))*ret*blur; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv2 = uv; +comp_4=`uv2.x=1-uv2.x; +comp_5=`uv2 = .5+(uv2-.5)*.98; +comp_6=`uv = 0.5 + (uv-0.5)*0.98; +comp_7=` float2 d = texsize.zw*4; +comp_8=` float2 d2= texsize.zw*4; +comp_9=` +comp_10=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_11=` float3 dx2= ( GetBlur1(uv2+float2(1,0)*d2)-GetBlur1(uv2-float2(1,0)*d2) ); +comp_12=` +comp_13=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_14=` float3 dy2 = ( GetBlur1(uv2+float2(0,1)*d2)-GetBlur1(uv2-float2(0,1)*d2) ); +comp_15=` +comp_16=`float4 noise = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(dx),lum(dy),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_17=` + time*float3(0,0,1)*0.2 ); +comp_18=`float4 noise2= tex3D(sampler_noisevol_hq, ((uv2.xyy+float3(lum(dx2),lum(dy2),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_19=` + time*float3(0,0,1)*0.2 ); +comp_20=`uv -= float2(lum(dx),lum(dy))*0.04; +comp_21=`uv2-= float2(lum(dx2),lum(dy2))*0.04; +comp_22=` +comp_23=`ret = abs(GetPixel(uv)+GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv)); +comp_24=`float3 ret2 = abs(GetPixel(uv2)+GetBlur1(uv2)-GetBlur2(uv2)-GetBlur3(uv2)); +comp_25=`ret *= lum(noise)*3; +comp_26=`ret2*= lum(noise)*3; +comp_27=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_28=` ((uv2.xyy*q28 +comp_29=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_30=` ).xyz* +comp_31=` float3(1,1,0)*0.05 + +comp_32=` time*float3(0,0,1)*q31 +comp_33=` ); +comp_34=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_35=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_36=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_37=`ret = pow(ret,0.5); +comp_38=`ret2= pow(ret2,0.5); +comp_39=`ret2=.5-ret2; +comp_40=`ret-=.3-ret2; +comp_41=`} diff --git a/presets/presets_tryptonaut/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk b/presets/presets_tryptonaut/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk new file mode 100755 index 0000000000..46f979e3d7 --- /dev/null +++ b/presets/presets_tryptonaut/baked - Chinese Fingerbang (cao ni ma =]) - PieturP colors - Bitcore speed tweak.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=1.000000 +ib_g=0.250000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.389280 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=2.306716 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.500000 +shapecode_0_border_g=0.500000 +shapecode_0_border_b=0.500000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=bos = bass; +per_frame_3=tos = treb; +per_frame_4=cy = cx + (.0045*((cx/cx)/(bos/tos)) ); +per_frame_5=cx = cy + (.005*((cy/cy)/(bos/tos)) ); +per_frame_6=rot = (time*.18); +per_frame_7=dx = sin(time*.2); +per_frame_8=dy = (bass*.0009)+sin(time*.18) * 2; +per_frame_9=decay = 1; +per_frame_10= +per_frame_11=s=1; +per_frame_12=mt=mt+pow(bass+mid,2); +per_frame_13=h=sin(mt*.008)*.5+.5; +per_frame_14=l=1; +per_frame_15=s=1; +per_frame_16=////////////////////////////////////////////////////////////////////////////// +per_frame_17=// +per_frame_18=// HSL to RGB by PieturP +per_frame_19=// +per_frame_20=// hue h ( 0 - 1 ) rr ( 0 - 1 ) +per_frame_21=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) +per_frame_22=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) +per_frame_23=// +per_frame_24=cc=(6*h); +per_frame_25=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +per_frame_26=zf=(6*h)-cc; +per_frame_27=zm=l; +per_frame_28=zp=l*(1-s); +per_frame_29=zq=l*(1-s*zf); +per_frame_30=zt=l*(1-s*(1-zf)); +per_frame_31=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +per_frame_32=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +per_frame_33=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +per_frame_34=rr=if(equal(s,0),l,rr); +per_frame_35=gg=if(equal(s,0),l,gg); +per_frame_36=bb=if(equal(s,0),l,bb); +per_frame_37= +per_frame_38=////////////////////////////////////////////////////////////////////////////// +per_frame_39=ob_r=rr; +per_frame_40=ob_g=gg; +per_frame_41=ob_b=bb; +per_frame_42=ib_r=abs(rr-.25); +per_frame_43=ib_g=abs(gg-.25); +per_frame_44=ib_b=abs(bb-.25); +per_frame_45= +per_frame_46= +per_frame_47=zoom = .905; +per_frame_48=warp = .905 * (1-(bass*.01)); diff --git a/presets/presets_tryptonaut/baked - River of Illusion (InfecteD acid mix).milk b/presets/presets_tryptonaut/baked - River of Illusion (InfecteD acid mix).milk new file mode 100755 index 0000000000..d4d123115c --- /dev/null +++ b/presets/presets_tryptonaut/baked - River of Illusion (InfecteD acid mix).milk @@ -0,0 +1,296 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=tos = treb; +per_pixel_4=bos = bass; +per_pixel_5=warp = (bos + bass + bass) * .1; +per_pixel_6=cx = (cx + treb) * .5; +per_pixel_7= +per_pixel_8=q2 = q4 * (bass+0.25) ; +per_pixel_9=warp = q4-q2; +per_pixel_10= +per_pixel_11=cx = ( bos - (bass/bos) ) * 1.5; +per_pixel_12=cy = tos - (treb/tos)*((cx/cx)/(bos/tos)); +per_pixel_13= +per_pixel_14=dx = dy+.01 ; +per_pixel_15=dy = dx-.01 ; +per_pixel_16= +per_pixel_17=basstemp= bass + bass_att + bass_thresh; +per_pixel_18=trebtemp= treb + treb_att + treb_thresh; +per_pixel_19=trasstemp= (max(basstemp, trebtemp)); +per_pixel_20=trassave= (trasstemp/3); +per_pixel_21= +per_pixel_22=basst= max(bass + bass_att, treb + treb_att); +per_pixel_23=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_24=midbeat= trebb/3; +per_pixel_25=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_26=mtb= midtb/2.25; +per_pixel_27= +per_pixel_28=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_29=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_30=beetAB= (beetA+beetB)/2; +per_pixel_31=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_32=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_33=beetCD= (beetC+beetD)/2; +per_pixel_34=beet= (beetAB+beetCD) /2; +per_pixel_35= +per_pixel_36=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_tryptonaut/baked - River of Illusion Dillusion [Bubble].milk b/presets/presets_tryptonaut/baked - River of Illusion Dillusion [Bubble].milk new file mode 100755 index 0000000000..d6468fb4ad --- /dev/null +++ b/presets/presets_tryptonaut/baked - River of Illusion Dillusion [Bubble].milk @@ -0,0 +1,295 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2= +shape_1_per_frame3=x = (sin(time)*0.090+0.5); +shape_1_per_frame4=y = (sin(time/5)*0.090+0.5); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.218587 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=4.492867 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=q2 = q4 * (bass+0.25) ; +per_pixel_8=warp = q4-q2; +per_pixel_9= +per_pixel_10=dx = dy+.01 ; +per_pixel_11=dy = dx-.01 ; +per_pixel_12= +per_pixel_13=basstemp= bass + bass_att + bass_thresh; +per_pixel_14=trebtemp= treb + treb_att + treb_thresh; +per_pixel_15=trasstemp= (max(basstemp, trebtemp)); +per_pixel_16=trassave= (trasstemp/3); +per_pixel_17= +per_pixel_18=basst= max(bass + bass_att, treb + treb_att); +per_pixel_19=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_20=midbeat= trebb/3; +per_pixel_21=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_22=mtb= midtb/2.25; +per_pixel_23= +per_pixel_24=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_25=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_26=beetAB= (beetA+beetB)/2; +per_pixel_27=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_28=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_29=beetCD= (beetC+beetD)/2; +per_pixel_30=beet= (beetAB+beetCD) /2; +per_pixel_31= +per_pixel_32=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_tryptonaut/baked - mushroom rainbows[2].milk b/presets/presets_tryptonaut/baked - mushroom rainbows[2].milk new file mode 100644 index 0000000000..c742132877 --- /dev/null +++ b/presets/presets_tryptonaut/baked - mushroom rainbows[2].milk @@ -0,0 +1,306 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.164463 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tmie= (time*0.25) * (bass*0.05); +shape_0_per_frame2= +shape_0_per_frame3=ang = tmie; +shape_0_per_frame4= +shape_0_per_frame5=dx = asx; +shape_0_per_frame6= +shape_0_per_frame7=asx= sx - abs(time-sin(ang*x-y)); +shape_0_per_frame8=asy= sy - abs(time-sin(ang*x-y)); +shape_0_per_frame9= +shape_0_per_frame10= +shape_0_per_frame11=x = sin(time/2)*0.4 + 0.5; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=r = r2 * tmie ; +shape_0_per_frame15=g = g2 * tmie ; +shape_0_per_frame16=b = b2 * tmie ; +shape_0_per_frame17=r2 = r*.9998 - tmie ; +shape_0_per_frame18=g2 = g*.9998 - tmie ; +shape_0_per_frame19=b2 = b*.9998 - tmie ; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599577 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756687 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = sin(time*0.3) + .5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x = 64; +per_frame_init_2=mv_y = 89; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_tryptonaut/baked - mushroom rainbows[acid Storm].milk b/presets/presets_tryptonaut/baked - mushroom rainbows[acid Storm].milk new file mode 100755 index 0000000000..cf677ab633 --- /dev/null +++ b/presets/presets_tryptonaut/baked - mushroom rainbows[acid Storm].milk @@ -0,0 +1,289 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=dx = dy+.01 ; +per_pixel_8=dy = dx-.01 ; +per_pixel_9= +per_pixel_10=basstemp= bass + bass_att + bass_thresh; +per_pixel_11=trebtemp= treb + treb_att + treb_thresh; +per_pixel_12=trasstemp= (max(basstemp, trebtemp)); +per_pixel_13=trassave= (trasstemp/3); +per_pixel_14= +per_pixel_15=basst= max(bass + bass_att, treb + treb_att); +per_pixel_16=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_17=midbeat= trebb/3; +per_pixel_18=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_19=mtb= midtb/2.25; +per_pixel_20= +per_pixel_21=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_22=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_23=beetAB= (beetA+beetB)/2; +per_pixel_24=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_25=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_26=beetCD= (beetC+beetD)/2; +per_pixel_27=beet= (beetAB+beetCD) /2; +per_pixel_28= +per_pixel_29=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_tryptonaut/bdrv + al EoS - Sarc Gbdrv2 mx_Phat_RedEye_FractalView_v2.milk b/presets/presets_tryptonaut/bdrv + al EoS - Sarc Gbdrv2 mx_Phat_RedEye_FractalView_v2.milk new file mode 100644 index 0000000000..cd90288864 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv + al EoS - Sarc Gbdrv2 mx_Phat_RedEye_FractalView_v2.milk @@ -0,0 +1,500 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006593 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nEchoWrap_x=2 +nEchoWrap_y=2 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +nWrapMode_x=2 +nWrapMode_y=2 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=1.000000 +ob_g=0.460000 +ob_b=0.000000 +ob_a=0.600000 +ib_size=0.010000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=0.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.500000 +wavecode_0_b=0.000000 +wavecode_0_a=0.799999 +wave_0_init1=t2 = 0 +wave_0_per_frame1=t1 = q3/3 * 13; +wave_0_per_frame2= +wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; +wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; +wave_0_per_frame5= +wave_0_per_frame6=t2= q2 * 0.003 + 0.06; +wave_0_per_frame7= +wave_0_per_frame8=t3= q1; +wave_0_per_frame9= +wave_0_per_frame10=t4 = time/8; +wave_0_per_frame11= +wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_0_per_frame13=t5 = t5 * 17 + 2; +wave_0_per_point1=n = sample*6.283; +wave_0_per_point2=pi = 3.1415; +wave_0_per_point3=pi2 = 6.283; +wave_0_per_point4= +wave_0_per_point5=phs = t1 + sample*9*bias; +wave_0_per_point6= +wave_0_per_point7=bias = t5; +wave_0_per_point8=bias_i = bias - 1; +wave_0_per_point9= +wave_0_per_point10=cc = phs / 3; +wave_0_per_point11=cc_int = int(cc); +wave_0_per_point12=cc_ramp = cc - cc_int; +wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_0_per_point15= +wave_0_per_point16=cc_ad_b = cc_ramp * bias; +wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_0_per_point18= +wave_0_per_point19=cc_a = cc_ad_a + cc_int; +wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_0_per_point21= +wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_0_per_point23=yp = 1; +wave_0_per_point24=zp = 0; +wave_0_per_point25= +wave_0_per_point26=ang = cc_a * 6.283 * 16; +wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_0_per_point28=xq = sang*xp + cang*zp; +wave_0_per_point29=yq = yp; +wave_0_per_point30=zq = cang*xp - sang*zp; +wave_0_per_point31=xp=xq;yp=yq;zp=zq; +wave_0_per_point32= +wave_0_per_point33=ang2 = cc_b + t4; +wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point35=xq = xp; +wave_0_per_point36=yq = sang*yp + cang*zp; +wave_0_per_point37=zq = cang*yp - sang*zp; +wave_0_per_point38=xp=xq;yp=yq;zp=zq; +wave_0_per_point39= +wave_0_per_point40=ang2 = cc_b * 3.13 + t4; +wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point42=xq = sang*xp + cang*yp; +wave_0_per_point43=yq = cang*xp - sang*yp; +wave_0_per_point44=zq = zp; +wave_0_per_point45=xp=xq;yp=yq;zp=zq; +wave_0_per_point46= +wave_0_per_point47=ang2 = cc_b * 1.43 + t4; +wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_0_per_point49=xq = sang*xp + cang*zp; +wave_0_per_point50=yq = yp; +wave_0_per_point51=zq = cang*xp - sang*zp; +wave_0_per_point52=xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=zp = zp+3.1; +wave_0_per_point56=xs = xp/zp + 0.5; +wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_0_per_point58= +wave_0_per_point59=x=xs; +wave_0_per_point60=y=ys; +wave_0_per_point61= +wave_0_per_point62= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=0.580000 +wavecode_1_b=0.300000 +wavecode_1_a=0.799999 +wave_1_init1=t2 = 0 +wave_1_per_frame1=t1 = q3/3 * 13 + 5.3; +wave_1_per_frame2= +wave_1_per_frame3= +wave_1_per_frame4=t2= q2 * 0.004 + 0.08; +wave_1_per_frame5= +wave_1_per_frame6=t3= q1; +wave_1_per_frame7= +wave_1_per_frame8=t4 = time/8; +wave_1_per_frame9= +wave_1_per_frame10=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value +wave_1_per_frame11=t5 = t5 * 17 + 2; +wave_1_per_point1=n = sample*6.283; +wave_1_per_point2=pi = 3.1415; +wave_1_per_point3=pi2 = 6.283; +wave_1_per_point4= +wave_1_per_point5=phs = t1 + sample*9; +wave_1_per_point6= +wave_1_per_point7=bias = t5; +wave_1_per_point8=bias_i = bias - 1; +wave_1_per_point9= +wave_1_per_point10=cc = phs / 3; +wave_1_per_point11=cc_int = int(cc); +wave_1_per_point12=cc_ramp = cc - cc_int; +wave_1_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; +wave_1_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); +wave_1_per_point15= +wave_1_per_point16=cc_ad_b = cc_ramp * bias; +wave_1_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); +wave_1_per_point18= +wave_1_per_point19=cc_a = cc_ad_a + cc_int; +wave_1_per_point20=cc_b = (cc_ad_b + cc_int) ; +wave_1_per_point21= +wave_1_per_point22=xp = t2 * above(cc_ad_a , 0); +wave_1_per_point23=yp = 1; +wave_1_per_point24=zp = 0; +wave_1_per_point25= +wave_1_per_point26=ang = cc_a * 6.283 * 16; +wave_1_per_point27=sang = sin(ang) ; cang = cos(ang); +wave_1_per_point28=xq = sang*xp + cang*zp; +wave_1_per_point29=yq = yp; +wave_1_per_point30=zq = cang*xp - sang*zp; +wave_1_per_point31=xp=xq;yp=yq;zp=zq; +wave_1_per_point32= +wave_1_per_point33=ang2 = cc_b + t4; +wave_1_per_point34=sang = sin(ang2) ; cang = cos(ang2); +wave_1_per_point35=xq = xp; +wave_1_per_point36=yq = sang*yp + cang*zp; +wave_1_per_point37=zq = cang*yp - sang*zp; +wave_1_per_point38=xp=xq;yp=yq;zp=zq; +wave_1_per_point39= +wave_1_per_point40=ang2 = cc_b * 3.13 + t4; +wave_1_per_point41=sang = sin(ang2) ; cang = cos(ang2); +wave_1_per_point42=xq = sang*xp + cang*yp; +wave_1_per_point43=yq = cang*xp - sang*yp; +wave_1_per_point44=zq = zp; +wave_1_per_point45=xp=xq;yp=yq;zp=zq; +wave_1_per_point46= +wave_1_per_point47=ang2 = cc_b * 1.43 + t4; +wave_1_per_point48=sang = sin(ang2) ; cang = cos(ang2); +wave_1_per_point49=xq = sang*xp + cang*zp; +wave_1_per_point50=yq = yp; +wave_1_per_point51=zq = cang*xp - sang*zp; +wave_1_per_point52=xp=xq;yp=yq;zp=zq; +wave_1_per_point53= +wave_1_per_point54= +wave_1_per_point55=zp = zp+3.1; +wave_1_per_point56=xs = xp/zp + 0.5; +wave_1_per_point57=ys = yp/zp * 1.333 + 0.5; +wave_1_per_point58= +wave_1_per_point59=x=xs; +wave_1_per_point60=y=ys; +wave_1_per_point61= +wave_1_per_point62= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=22 +shapecode_0_additive=1 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.548219 +shapecode_0_ang=1.445133 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.300000 +shapecode_0_g=0.910000 +shapecode_0_b=1.000000 +shapecode_0_a=0.220000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=33 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=2 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.226126 +shapecode_1_ang=4.398230 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.819540 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364568 +shapecode_2_ang=1.570797 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.416601 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.180000 +shape_2_per_frame1=ang = time/4 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=1 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.500000 +shapecode_3_g2=0.700000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ang = - time/3 +shapecode_4_enabled=1 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.402709 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=1.000000 +shapecode_4_b=1.000000 +shapecode_4_a=0.100000 +shapecode_4_r2=1.000000 +shapecode_4_g2=0.700000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.020000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.95; +per_frame_2= +per_frame_3=q1= ib_a * 6.283; +per_frame_4= +per_frame_5=q2 = (bass+mid+treb)*0.25; +per_frame_6=q2 = q2*q2; +per_frame_7= +per_frame_8=zq = if( below(q2,0.3) , pow(q2/0.3 , 2.3)*0.3 , q2 ); +per_frame_9=zoom=1.00 + zq*0.03; +per_frame_10= +per_frame_11= +per_frame_12=monitor = q2; +per_frame_13= +per_frame_14=mtime = mtime + q2 * 0.1; +per_frame_15=q3 = mtime; +per_frame_16=ob_size = ob_size + 0.025*(3*tan(0.6*sin(2*bass_att))*bass_att*4); +per_frame_17= +per_frame_18= +per_pixel_1=it = 0.3*sin(time*0.2); +per_pixel_2=radm = rad*0.5; +per_pixel_3=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod; +per_pixel_6=zoom = .99 - abs(0.01*mod); +per_pixel_7=mx = (x-.5)*1.33; +per_pixel_8=my = y - .5; +per_pixel_9= +per_pixel_10=sw = above(rad,.4) + below(rad,.04) + above(rad,.3)*below(rad,.4)*(rad-.3)*5; +per_pixel_11=sw = above(rad,.3)*(rad-.3)*5; +per_pixel_12= +per_pixel_13=zoom = 1 - .1*sw; +per_pixel_14= +per_pixel_15=rot = 0 + .2*sw; +per_pixel_16= +per_pixel_17=dx = (1-sw)*sin(ang)*.001*.75; +per_pixel_18=dy = (1-sw)*cos(ang)*.001; +per_pixel_19=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_20= +per_pixel_21=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_22=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_23=zoom = zoom + 0.01; +per_pixel_24=zoom = zoom + (0.05 + 0.04*sin(time))*(0.2*sin(ang*time)); +per_pixel_25=rot = rot + 0.01*(0.5*cos(ang*5*bass*time)); +per_pixel_26= +per_pixel_27=dx = dx + 0.1*above(rad,0.25)*dx_r; +per_pixel_28=dy = dy + 0.1*above(rad,0.25)*dy_r; +per_pixel_29=rot=0.1*pow(-ang,3)-1.18*sin(ang); +per_pixel_30=zoom=(1.9+sin(time/2)*0.45)*sin(-rad)+1.3+ sin(rad); +per_pixel_31=dx = dx + 0.09*sin(q8*0.785); +per_pixel_32=dy = dy + 0.09*sin(q8*0.675); +per_pixel_33=//zoom = zoom +q7; +per_pixel_34=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_35=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_36=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_37= +per_pixel_38= +per_pixel_39=zoom = zoom + 0.025*(3*tan(0.6*sin(2*bass_att)-rad)*bass_att*4); +per_pixel_40= diff --git a/presets/presets_tryptonaut/bdrv + al Phat and EoS _ shapes are cool_slow_colour_melting_edit BDRV et AL rmxmix32.milk b/presets/presets_tryptonaut/bdrv + al Phat and EoS _ shapes are cool_slow_colour_melting_edit BDRV et AL rmxmix32.milk new file mode 100644 index 0000000000..eda1662174 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv + al Phat and EoS _ shapes are cool_slow_colour_melting_edit BDRV et AL rmxmix32.milk @@ -0,0 +1,502 @@ +[preset00] +fRating=5.000000 +fGammaAdj=8.000000 +fDecay=0.960000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.019788 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=5.000000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=1.670888 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.942478 +shapecode_0_tex_zoom=0.534261 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.200000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.300000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25; +shape_0_per_frame11=a=above(1,bass-0.1); +shape_0_per_frame12=a2=above(1,bass-0.1); +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.350000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2; +shape_1_per_frame4=r=treb; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.590000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.444842 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.100000 +shapecode_2_g2=0.050000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=0 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.840000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.980000 +shapecode_3_g=1.000000 +shapecode_3_b=0.980000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.090000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=q1=0;q2=0;q3=0 +per_frame_1=decay=1; +per_frame_2=speed=0.80; +per_frame_3=speedinv=1-speed; +per_frame_4=q1=(qa*speed + bass*speedinv); +per_frame_5=q2=(qb*speed + mid *speedinv); +per_frame_6=q3=(qc*speed + treb*speedinv); +per_frame_7=qa=q1; +per_frame_8=qb=q2; +per_frame_9=qc=q3; +per_frame_10=flux=sin(time/2); +per_frame_11=q4=flux * 0.5 + 0.5; +per_frame_12=q5=flux; +per_frame_13= +per_frame_14=zoom=.9995; +per_pixel_1=nn = (time*.2)%7+1; +per_pixel_2=nn = 7; +per_pixel_3= +per_pixel_4=cx = (int(x*nn)+.5)/nn; +per_pixel_5=cy = (int(y*nn)+.5)/nn; +per_pixel_6= +per_pixel_7=dx = (q1+int(x*nn-2))*.0001; +per_pixel_8=dx = (q2+int(y*nn-2))*.0001; +per_pixel_9=dx = tan(q1+int(x*nn)*(q2+1))*.01; +per_pixel_10=dx = tan(q2+int(y*nn)*(q1+1))*.01; +per_pixel_11=//rot = tan(q3+int((x)*nn)*(q1+1))*.1; +per_pixel_12=//rot = rot +tan(q3+int((y)*nn)*(q2+1))*-.1 +per_pixel_13=rot = int(tan(q3+(cx+cy)*10)*2)*.06; +per_pixel_14= +per_pixel_15=//cx = int(x*nn); +per_pixel_16=//cy = int(y*nn); +per_pixel_17= +per_pixel_18=//rot = .01*tan(time+y); +per_pixel_19= +per_pixel_20=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_21=//var=(bass+mid+treb)/3; +per_pixel_22=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_23=//sx=.99-(var*0.01); +per_pixel_24=//cx=var*0.1*(ang/12); +per_pixel_25=//sy=sx; +per_pixel_26= +per_pixel_27= +per_pixel_28=sx=-.95+(bass*0.5)*rd; +per_pixel_29=sy=-.95-(treb*0.5)*ag; +per_pixel_30=//dx=sx*0.01; +per_pixel_31=//sy=sy*0.01; +per_pixel_32= +per_pixel_33= +per_pixel_34=cx=0.5+q4; +per_pixel_35=cy=0.5-q5; +per_pixel_36=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_37=//zm=(1.1-(rd/4)); +per_pixel_38=zm=.95; +per_pixel_39= +per_pixel_40=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_41=star=atan(ag*6)*((4-rd)-ag)/5; +per_pixel_42=zm=zm+star*ag/20*ag; +per_pixel_43=sx=zm; +per_pixel_44=sy=zm; +per_pixel_45=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) +per_pixel_46=//rot=above(sin(time),0.96)*sin(ag*11)*0.03; +per_pixel_47=//zoom=below(sin(time),-0.96)*sin(ag*19)*0.13 + 1 +per_pixel_48=dx=sin(y*140)*(bass*0.01); +per_pixel_49=dy=cos(x*140)*(bass*0.01); +per_pixel_50= +per_pixel_51= +per_pixel_52=//o suck my dick rovastar... +per_pixel_53=q1 = 0.4*rad; +per_pixel_54=q2= (0.3*rad); +per_pixel_55=q3 = below(rad,0.1*q5+ 0.3); +per_pixel_56=q7 =if(q3,0,10 + int(1*(rad))); +per_pixel_57=q8 =if(q3,0,10 + int(1*(rad))); +per_pixel_58=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); +per_pixel_59=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2); +per_pixel_60=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy); +per_pixel_61=//zoom = if(q3,0.3+0.3*q5+ 0.5*q4,zoom); +per_pixel_62=num = 8; +per_pixel_63=pi = 3.141592654; +per_pixel_64=radi = (y-.5)*.75; +per_pixel_65=radi = (y-.5); +per_pixel_66=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_67= +per_pixel_68=an = ang + pi + time; +per_pixel_69=an = an - pi*2*int(an/(pi*2)); +per_pixel_70= +per_pixel_71=mod = .1; +per_pixel_72= +per_pixel_73=seg = ang + pi; +per_pixel_74=seg = seg/(pi*2)*num; +per_pixel_75=seg = int(seg); +per_pixel_76=seg = seg - equal(seg,num); +per_pixel_77= +per_pixel_78=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_79=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_80=//anga = anga + pi/6; // num = 6 +per_pixel_81=anga = anga + pi/4; // num = 8 +per_pixel_82=//anga = anga + .85; // num = 10 +per_pixel_83= +per_pixel_84= +per_pixel_85=ox = .5 - radi*sin(anga); +per_pixel_86=oy = .5 + radi*cos(anga); +per_pixel_87= +per_pixel_88=//rot = if(equal(seg,0),rot,0); +per_pixel_89= +per_pixel_90=dx = equal(seg,3)*(x-ox); +per_pixel_91=dy = equal(seg,3)*(y-oy); +per_pixel_92= +per_pixel_93=dx = above(seg,0)*(x-ox); +per_pixel_94=dy = above(seg,0)*(y-oy); +per_pixel_95= +per_pixel_96=//dx = equal(seg,1)*(x - .5)*2; +per_pixel_97=nn = (time*.2)%7+1; +per_pixel_98=nn = 7; +per_pixel_99= +per_pixel_100=cx = (int(x*nn)+.5)/nn; +per_pixel_101=cy = (int(y*nn)+.5)/nn; +per_pixel_102= +per_pixel_103=dx = (q1+int(x*nn-2))*.0001; +per_pixel_104=dx = (q2+int(y*nn-2))*.0001; +per_pixel_105=dx = tan(q1+int(x*nn)*(q2+1))*.01; +per_pixel_106=dx = tan(q2+int(y*nn)*(q1+1))*.01; +per_pixel_107=//rot = tan(q3+int((x)*nn)*(q1+1))*.1; +per_pixel_108=//rot = rot +tan(q3+int((y)*nn)*(q2+1))*-.1 +per_pixel_109=rot = int(tan(q3+(cx+cy)*10)*2)*.06; +per_pixel_110= +per_pixel_111=//cx = int(x*nn); +per_pixel_112=//cy = int(y*nn); +per_pixel_113= +per_pixel_114=//rot = .01*tan(time+y); +per_pixel_115= +per_pixel_116=cx = ((0&(x*q3-q5))+q5)*q4; +per_pixel_117=cy = ((0&(y*q3-q6))+q6)*q4; +per_pixel_118=newx = q1-x; +per_pixel_119=newy = q2-y; +per_pixel_120=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; +per_pixel_121=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); +per_pixel_122=dx = (newx)*newzoom - newx; +per_pixel_123=dy = (newy)*newzoom - newy; +per_pixel_124=dx =dx*0.1; +per_pixel_125=dy=dy*0.1; +per_pixel_126=rot = 2*newrad*(0.5*(0.5-rad)+0.1); +per_pixel_127=rot=rot*sin(time*0.01)*0.2; +per_pixel_128=//sx=-1 +per_pixel_129=zoom =1+.01*sin(13.28*rad); +per_pixel_130=//zoom right +per_pixel_131=zoom=zoom+equal(q2,1)*q3*.1*(x-.5); +per_pixel_132=// zoom left +per_pixel_133=zoom=zoom+equal(q2,2)*q3*.1*(.5-x); +per_pixel_134=// zoom top +per_pixel_135=zoom=zoom+equal(q2,5)*q3*.1*(.5-y); +per_pixel_136=// zoom bottom +per_pixel_137=zoom=zoom+equal(q2,4)*q3*.1*(y-.5); +per_pixel_138=// rotate left +per_pixel_139=rot=rot+equal(q2,3)*q3*.3; +per_pixel_140=// rotate right +per_pixel_141=rot=rot-equal(q2,6)*q3*.3; +per_pixel_142=// scale x +per_pixel_143=sx=sx+equal(q2,7)*q3*.2; +per_pixel_144=// squash y +per_pixel_145=sy=sy-equal(q2,8)*q3*.2; +per_pixel_146=// squash x +per_pixel_147=sx=sx-equal(q2,9)*q3*.2; +per_pixel_148=// scale y; +per_pixel_149=sy=sy+equal(q2,10)*q3*.2; +per_pixel_150=// transpose+ vertical +per_pixel_151=dy=dy+equal(q2,11)*abs(.5-x)*sign(.5-x)*q3*.2; +per_pixel_152=// transpose+ horiz +per_pixel_153=dx=dx+equal(q2,12)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_154=// transpose- horiz +per_pixel_155=dx=dx-equal(q2,14)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_156=// transpose- vertical +per_pixel_157=dy=dy-equal(q2,13)*abs(.5-x)*sign(.5-x)*q3*.2; +per_pixel_158=cx=0.5; diff --git a/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 BDRV et AL rmx ii.milk b/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 BDRV et AL rmx ii.milk new file mode 100755 index 0000000000..6561ff2ff5 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 BDRV et AL rmx ii.milk @@ -0,0 +1,417 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 + 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=r = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 + 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1+sin(sp); +wave_2_per_point40=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.500000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=0 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=decay=.995; +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.65*sin(dist*0.05); +per_pixel_6=dx = mult*sin(ang2*2-1.5); +per_pixel_7=dy = mult*cos(ang2*2-1.5); diff --git a/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 bdrv et AL rmxmix bdrv et.AL5.milk b/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 bdrv et AL rmxmix bdrv et.AL5.milk new file mode 100755 index 0000000000..a2422a2268 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv + al shifter - feathers (angel wings)_phat_remix4 bdrv et AL rmxmix bdrv et.AL5.milk @@ -0,0 +1,438 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=0.950000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_0_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_0_per_point4=vol = .2; +wave_0_per_point5= +wave_0_per_point6=mod = if(below(mid_att,1.8),mid_att+.2,2); +wave_0_per_point7= +wave_0_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_0_per_point9=oy = (sample - 0)*mod; +wave_0_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_0_per_point11= +wave_0_per_point12=xang = time*0.672; +wave_0_per_point13=axang = 0; +wave_0_per_point14=yang = time*-1.351; +wave_0_per_point15=ayang = 0; +wave_0_per_point16=zang = time*-0.401; +wave_0_per_point17=azang = 0; +wave_0_per_point18=fov = 0.6 + 0.2*sin(time); +wave_0_per_point19=fov = .5; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=oz = abs(oz) - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=r = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=g = 0.5 + 0.5*cos(sample*1.57); +wave_0_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_1_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_1_per_point4=vol = .2; +wave_1_per_point5= +wave_1_per_point6=mod = if(below(bass_att,1.8),bass_att+.2,2); +wave_1_per_point7= +wave_1_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_1_per_point9=oy = (sample - 0)*mod; +wave_1_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_1_per_point11= +wave_1_per_point12=xang = time*-0.321; +wave_1_per_point13=axang = 0; +wave_1_per_point14=yang = time*1.531; +wave_1_per_point15=ayang = 0; +wave_1_per_point16=zang = time*-0.101; +wave_1_per_point17=azang = 0; +wave_1_per_point18=fov = 0.6 + 0.2*sin(time); +wave_1_per_point19=fov = .5; +wave_1_per_point20= +wave_1_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point23=ox = mx; +wave_1_per_point24=oy = my; +wave_1_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point27=ox = mx; +wave_1_per_point28=oz = mz; +wave_1_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point31=oy = my; +wave_1_per_point32=oz = mz; +wave_1_per_point33= +wave_1_per_point34=oz = abs(oz) - 2; +wave_1_per_point35=x = ox*fov/oz + 0.5; +wave_1_per_point36=x = (x-.5)*0.75 + 0.5; +wave_1_per_point37=y = oy*fov/oz + 0.5; +wave_1_per_point38= +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=r = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=b = 0.5 + 0.5*cos(sample*1.57); +wave_1_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=vol = (bass_att + mid_att + treb_att)*0.33; +wave_2_per_point3=vol = 0.2 + 0.5*(value1 + value2); +wave_2_per_point4=vol = .2; +wave_2_per_point5= +wave_2_per_point6=mod = if(below(treb_att,1.8),treb_att+.2,2); +wave_2_per_point7= +wave_2_per_point8=ox = 0.5*sin(sp)*sin(sample*3.14)*vol; +wave_2_per_point9=oy = (sample - 0)*mod; +wave_2_per_point10=oz = 0.5*cos(sp)*sin(sample*3.14)*vol; +wave_2_per_point11= +wave_2_per_point12=xang = time*0.221; +wave_2_per_point13=axang = 0; +wave_2_per_point14=yang = time*-0.411; +wave_2_per_point15=ayang = 0; +wave_2_per_point16=zang = time*1.201; +wave_2_per_point17=azang = 0; +wave_2_per_point18=fov = 0.6 + 0.2*sin(time); +wave_2_per_point19=fov = .5; +wave_2_per_point20= +wave_2_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point23=ox = mx; +wave_2_per_point24=oy = my; +wave_2_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point27=ox = mx; +wave_2_per_point28=oz = mz; +wave_2_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point31=oy = my; +wave_2_per_point32=oz = mz; +wave_2_per_point33= +wave_2_per_point34=oz = abs(oz) - 2; +wave_2_per_point35=x = ox*fov/oz + 0.5; +wave_2_per_point36=x = (x-.5)*0.75 + 0.5; +wave_2_per_point37=y = oy*fov/oz + 0.5; +wave_2_per_point38= +wave_2_per_point39=b = 1+sin(sp); +wave_2_per_point40=g = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wave_2_per_point42=a = 0.5 + (oz + 2)*0.25; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.500000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=0 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=decay=.995; +per_pixel_1=it = 0.3*sin(time*0.2); +per_pixel_2=radm = (rad*ang)*x; +per_pixel_3=rot = 0.02*sin((radm+it)*30)*radm; +per_pixel_4=mod = sin(ang*5); +per_pixel_5=mod = mod*mod*mod*mod*mod; +per_pixel_6=zoom = 1 + abs(0.01*mod); +per_pixel_7=rad_cycle=rad*rad*x*60*rad*sin(q1); +per_pixel_8=rot=if(above(q2,q8),.06*sin(rad_cycle-3*Sin(Q3)-x*ang*q3)*equal(Rad,x+y)*sin(Q6)-.3*sin(Q7 +per_pixel_9=),.02*sin(Q3)); +per_pixel_10=zoom =if(above(q2,q8), 2*rot*rad + 1 - 0.01*q1*rad-(X-.3*sin(Q4))+(x*.25*sin(Q2)),1.10);; +per_pixel_11=zoomexp = 1 - 0.1*rad; +per_pixel_12=dx=if(above(q2,q8),equal(x,raD)*sin(Q3)/y*sin(Q1),.009*sin(q5)*x*rad+d*sin(q2)); +per_pixel_13=dy=if(above(q2,q8),equal(y,rad)*sin(q2)/x*sin(q5),.009*sin(Q3)*y*rad+r*sin(q1)); +per_pixel_14=//there was a semicolon here, it's gone now +per_pixel_15=d=above(y,sin(ang*3+time)); +per_pixel_16=r=above(y,sin(ang*3+time)); +per_pixel_17=tm=sin(time*0.5)*3; +per_pixel_18=tm2=cos(time)*3; +per_pixel_19=zooma=above(cos(x*6.28*3+tm),0) * above(cos(y*6.28*2+tm2),0); +per_pixel_20=zooma=min(sin(x*6.28*3+tm)+1,1) * min(cos(y*6.28*2+tm)+1,1); +per_pixel_21= +per_pixel_22=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); +per_pixel_23=cx=0.5+q4; +per_pixel_24=cy=0.5-q5; +per_pixel_25= +per_pixel_26= +per_pixel_27=zoom= 0.041+0.99*(zooma) + 0.99*(1-zooma); +per_pixel_28=rot=.3*zooma*rd; diff --git a/presets/presets_tryptonaut/bdrv - ultramix2 #43.milk b/presets/presets_tryptonaut/bdrv - ultramix2 #43.milk new file mode 100755 index 0000000000..4f24499410 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv - ultramix2 #43.milk @@ -0,0 +1,294 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.312 +fWaveScale=0.972 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=1.800 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5 + 0.5*sin(6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = 1-abs(wave_r); +per_frame_7=ob_g = 1-abs(wave_g); +per_frame_8=ob_b = 1-abs(wave_b); +per_frame_9=ib_r = abs(wave_r); +per_frame_10=ib_b = abs(wave_b); +per_frame_11=ib_g = abs(wave_g); +per_frame_12=; +per_pixel_1=mekdx=dx;////////////////////////////////////////// +per_pixel_2=kdy=dy; +per_pixel_3=ksx=sx; +per_pixel_4=ksy=sy; +per_pixel_5=krt=rot; +per_pixel_6=kzm=zoom; +per_pixel_7=kcx=cx; +per_pixel_8=kcy=cy; +per_pixel_9=kwp=warp; +per_pixel_10= +per_pixel_11=dx=0; +per_pixel_12=dy=0; +per_pixel_13=sx=1; +per_pixel_14=sy=1; +per_pixel_15=rot=0; +per_pixel_16=zoom=1; +per_pixel_17=cx=.5; +per_pixel_18=cy=.5; +per_pixel_19=warp=0;///////////////////////////////////////////////////// +per_pixel_20= +per_pixel_21=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_22=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_23=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_24= +per_pixel_25=xy = above(sin(time),0)*x + below(sin(1.34*time),0)*y + above((bass_att),1.1)*-1; +per_pixel_26= +per_pixel_27=dx = dx + dx_r; +per_pixel_28=dy = dy + dy_r; +per_pixel_29=sx = sx - abs(12*dx_r*(xy*sin(xy*bass_att*1.25))); +per_pixel_30=sy = sy - abs(12*dy_r*(xy*sin(xy*bass_att*1.25))); +per_pixel_31=rot = rot + 22*dx_r*(xy*cos(4*xy*treb_att)); +per_pixel_32=cx = cx + 8*dx_r*(xy*sin(xy*mid_att*1.1)); +per_pixel_33=cy = cy + 8*dy_r*(xy*sin(xy*mid_att*1.1)); +per_pixel_34=/////////////////////////////////////// +per_pixel_35=cr1=1*.01; +per_pixel_36=cr2=99*.01;; ; ; ; +per_pixel_37=crx=cr2-cr1; +per_pixel_38=ci=(1-(1-abs(-2*(x+y)/2+1)+(1-abs(-2*(1-(x+(1-y))/2)+1)))/2)*4-1; +per_pixel_39=cb=.25 ; +per_pixel_40=crs=2; +per_pixel_41=cr=pow(sin(ci*6.3-(cb*6.3))/2+.5,crs)*crx+cr1; +per_pixel_42=cqr=if( above (ci,.25+cb),cr,crx+cr1);crr=if( below(ci,1.5),cqr,crx+cr1); +per_pixel_43=jx1=crr; +per_pixel_44=kx1=1-crr; +per_pixel_45= +per_pixel_46=jdx=dx; +per_pixel_47=jdy=dy; +per_pixel_48=jsx=sx; +per_pixel_49=jsy=sy; +per_pixel_50=jrt=rot; +per_pixel_51=jzm=zoom; +per_pixel_52=jcx=cx; +per_pixel_53=jcy=cy; +per_pixel_54=jwp=warp; +per_pixel_55= +per_pixel_56=dx=(jx1*jdx+kx1*kdx); +per_pixel_57=dy=(jx1*jdy+kx1*kdy); +per_pixel_58=sx=(jx1*jsx+kx1*ksx); +per_pixel_59=sy=(jx1*jsy+kx1*ksy); +per_pixel_60=rot=(jx1*jrt+kx1*krt); +per_pixel_61=zoom=(jx1*jzm+kx1*kzm); +per_pixel_62=cx=(jx1*jcx+kx1*kcx); +per_pixel_63=cy=(jx1*jcy+kx1*kcy); +per_pixel_64=warp=(jx1*jwp+kx1*kwp);//////////////////////////////////////////////////// diff --git a/presets/presets_tryptonaut/bdrv et.AL EoS + Phat - Sentinel Linearitybdrv et.AL bdrv plagiarising SHIFTER3.milk b/presets/presets_tryptonaut/bdrv et.AL EoS + Phat - Sentinel Linearitybdrv et.AL bdrv plagiarising SHIFTER3.milk new file mode 100644 index 0000000000..6fc0df4ba5 --- /dev/null +++ b/presets/presets_tryptonaut/bdrv et.AL EoS + Phat - Sentinel Linearitybdrv et.AL bdrv plagiarising SHIFTER3.milk @@ -0,0 +1,764 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.280000 +fDecay=0.960000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nEchoWrap_x=0 +nEchoWrap_y=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +nWrapMode_x=1 +nWrapMode_y=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.011726 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=0.037492 +fWarpScale=0.014889 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.033004 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.400000 +wave_b=0.300000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.110000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=3.000000 +nMotionVectorsY=2.000000 +mv_dx=0.020000 +mv_dy=-0.020000 +mv_l=0.150000 +mv_r=0.490000 +mv_g=0.480000 +mv_b=0.300001 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bDrawBack=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.100000 +wavecode_0_g=1.000000 +wavecode_0_b=0.700000 +wavecode_0_a=1.000000 +wave_0_per_point1= +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283; +wave_0_per_point4=phs=-sample * 0.2; +wave_0_per_point5=tm=q1 + phs; +wave_0_per_point6= +wave_0_per_point7=flip=flip+1; +wave_0_per_point8=flip=flip*below(flip,2); +wave_0_per_point9= +wave_0_per_point10=xp=0; +wave_0_per_point11=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point12=zp=0; +wave_0_per_point13= +wave_0_per_point14=//wrist movement; +wave_0_per_point15=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point16= +wave_0_per_point17=xq=xp; +wave_0_per_point18=sa=sin(ang);ca=cos(ang); +wave_0_per_point19=sas=sign(sa);cas=sign(ca); +wave_0_per_point20=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point21=sa=sa*sas;ca=ca*cas; +wave_0_per_point22=xp=sin(time*3); +wave_0_per_point23=xsign=sign(xp); +wave_0_per_point24=xp=abs(xp); +wave_0_per_point25=xp=pow(xp,pw); +wave_0_per_point26= +wave_0_per_point27=yq=yp*sa + zp*ca; +wave_0_per_point28=zq=yp*ca - zp*sa; +wave_0_per_point29=yq=yp; +wave_0_per_point30=zq=zp; +wave_0_per_point31= +wave_0_per_point32=ang=tm*8.3; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=sas=sign(sa);cas=sign(ca); +wave_0_per_point35=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point36=sa=sa*sas;ca=ca*cas; +wave_0_per_point37=xp=xq*sa + yq*ca; +wave_0_per_point38=yp=xq*ca - yq*sa; +wave_0_per_point39=zp=zq; +wave_0_per_point40= +wave_0_per_point41=//forearm movement; +wave_0_per_point42=zp=zp-0.3; +wave_0_per_point43=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point44=xq=xp; +wave_0_per_point45=sa=sin(ang);ca=cos(ang); +wave_0_per_point46=sas=sign(sa);cas=sign(ca); +wave_0_per_point47=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point48=sa=sa*sas;ca=ca*cas; +wave_0_per_point49=yq=yp*sa + zp*ca; +wave_0_per_point50=zq=yp*ca - zp*sa; +wave_0_per_point51= +wave_0_per_point52=//upper arm twist +wave_0_per_point53=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point54=sa=sin(ang);ca=cos(ang); +wave_0_per_point55=sas=sign(sa);cas=sign(ca); +wave_0_per_point56=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point57=sa=sa*sas;ca=ca*cas; +wave_0_per_point58=xp=xq*sa + yq*ca; +wave_0_per_point59=yp=xq*ca - yq*sa; +wave_0_per_point60=zp=zq; +wave_0_per_point61= +wave_0_per_point62=//upper arm outward; +wave_0_per_point63=zp=zp-0.35; +wave_0_per_point64=ang=cos(tm*2.1)*0.75 - 1.05; +wave_0_per_point65=sa=sin(ang);ca=cos(ang); +wave_0_per_point66=sas=sign(sa);cas=sign(ca); +wave_0_per_point67=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point68=sa=sa*sas;ca=ca*cas; +wave_0_per_point69=xq=xp*sa + zp*ca; +wave_0_per_point70=yq=yp; +wave_0_per_point71=zq=xp*ca - zp*sa; +wave_0_per_point72= +wave_0_per_point73=//upper arm up down; +wave_0_per_point74=ang=cos(tm*1.1)*0.5 - 0.5; +wave_0_per_point75=xp=xq; +wave_0_per_point76=sa=sin(ang);ca=cos(ang); +wave_0_per_point77=sas=sign(sa);cas=sign(ca); +wave_0_per_point78=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point79=sa=sa*sas;ca=ca*cas; +wave_0_per_point80=yp=yq*ca - zq*sa; +wave_0_per_point81=zp=yq*sa + zq*ca; +wave_0_per_point82= +wave_0_per_point83=//xp=xq;yp=yq;zp=zq; +wave_0_per_point84= +wave_0_per_point85= +wave_0_per_point86=//project into screenspace and draw on screen +wave_0_per_point87=zp=zp+2; +wave_0_per_point88=xs=xp/zp; +wave_0_per_point89=ys=yp/zp; +wave_0_per_point90= +wave_0_per_point91=x=xs+0.5; +wave_0_per_point92=y=ys*1.3+0.5; +wave_0_per_point93= +wave_0_per_point94= +wave_0_per_point95=a=(1-sample); +wave_0_per_point96= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bDrawBack=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.200000 +wavecode_1_g=1.000000 +wavecode_1_b=0.600000 +wavecode_1_a=1.000000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sa=sin(ang);ca=cos(ang); +wave_1_per_point17=sas=sign(sa);cas=sign(ca); +wave_1_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point19=sa=sa*sas;ca=ca*cas; +wave_1_per_point20=yq=yp*sa + zp*ca; +wave_1_per_point21=zq=yp*ca - zp*sa; +wave_1_per_point22=yq=-yp; +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25=ang=tm*8.3; +wave_1_per_point26=sa=sin(ang);ca=cos(ang); +wave_1_per_point27=sas=sign(sa);cas=sign(ca); +wave_1_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point29=sa=sa*sas;ca=ca*cas; +wave_1_per_point30=xp=xq*sa + yq*ca; +wave_1_per_point31=yp=xq*ca - yq*sa; +wave_1_per_point32=zp=zq; +wave_1_per_point33= +wave_1_per_point34=//forearm movement; +wave_1_per_point35=zp=zp-0.3; +wave_1_per_point36=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point37=xq=xp; +wave_1_per_point38=sa=sin(ang);ca=cos(ang); +wave_1_per_point39=sas=sign(sa);cas=sign(ca); +wave_1_per_point40=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point41=sa=sa*sas;ca=ca*cas; +wave_1_per_point42=yq=yp*sa + zp*ca; +wave_1_per_point43=zq=yp*ca - zp*sa; +wave_1_per_point44= +wave_1_per_point45=//upper arm twist +wave_1_per_point46=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point47=sa=sin(ang);ca=cos(ang); +wave_1_per_point48=sas=sign(sa);cas=sign(ca); +wave_1_per_point49=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point50=sa=sa*sas;ca=ca*cas; +wave_1_per_point51=xp=xq*sa + yq*ca; +wave_1_per_point52=yp=xq*ca - yq*sa; +wave_1_per_point53=zp=zq; +wave_1_per_point54= +wave_1_per_point55=//upper arm outward; +wave_1_per_point56=zp=zp-0.35; +wave_1_per_point57=ang=cos(tm*2.1)*0.75 - 1.05; +wave_1_per_point58=sa=sin(ang);ca=cos(ang); +wave_1_per_point59=sas=sign(sa);cas=sign(ca); +wave_1_per_point60=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point61=sa=sa*sas;ca=ca*cas; +wave_1_per_point62=xq=xp*sa + zp*ca; +wave_1_per_point63=yq=yp; +wave_1_per_point64=zq=xp*ca - zp*sa; +wave_1_per_point65= +wave_1_per_point66=//upper arm up down; +wave_1_per_point67=ang=cos(tm*1.1)*0.5 - 0.5; +wave_1_per_point68=xp=xq; +wave_1_per_point69=sa=sin(ang);ca=cos(ang); +wave_1_per_point70=sas=sign(sa);cas=sign(ca); +wave_1_per_point71=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point72=sa=sa*sas;ca=ca*cas; +wave_1_per_point73=yp=yq*ca - zq*sa; +wave_1_per_point74=zp=yq*sa + zq*ca; +wave_1_per_point75= +wave_1_per_point76=//xp=xq;yp=yq;zp=zq; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=//project into screenspace and draw on screen +wave_1_per_point80=zp=zp+2; +wave_1_per_point81=xs=xp/zp; +wave_1_per_point82=ys=yp/zp; +wave_1_per_point83= +wave_1_per_point84=x=xs+0.5; +wave_1_per_point85=y=ys*1.3+0.5; +wave_1_per_point86= +wave_1_per_point87= +wave_1_per_point88=a=(1-sample); +wave_1_per_point89= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bDrawBack=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sa=sin(ang);ca=cos(ang); +wave_2_per_point17=sas=sign(sa);cas=sign(ca); +wave_2_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point19=sa=sa*sas;ca=ca*cas; +wave_2_per_point20=yq=yp*sa + zp*ca; +wave_2_per_point21=zq=yp*ca - zp*sa; +wave_2_per_point22=yq=yp; +wave_2_per_point23=zq=zp; +wave_2_per_point24= +wave_2_per_point25=ang=tm*8; +wave_2_per_point26=sa=sin(ang);ca=cos(ang); +wave_2_per_point27=sas=sign(sa);cas=sign(ca); +wave_2_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point29=sa=sa*sas;ca=ca*cas; +wave_2_per_point30=xp=xq*sa + yq*ca; +wave_2_per_point31=yp=xq*ca - yq*sa; +wave_2_per_point32=zp=zq; +wave_2_per_point33= +wave_2_per_point34=//forearm movement; +wave_2_per_point35=zp=zp-0.3; +wave_2_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_2_per_point37=xq=xp; +wave_2_per_point38=sa=sin(ang);ca=cos(ang); +wave_2_per_point39=yq=yp*sa + zp*ca; +wave_2_per_point40=zq=yp*ca - zp*sa; +wave_2_per_point41= +wave_2_per_point42=//upper arm twist +wave_2_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point44=sa=sin(ang);ca=cos(ang); +wave_2_per_point45=sas=sign(sa);cas=sign(ca); +wave_2_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point47=sa=sa*sas;ca=ca*cas; +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=sas=sign(sa);cas=sign(ca); +wave_2_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point58=sa=sa*sas;ca=ca*cas; +wave_2_per_point59=xq=xp*sa + zp*ca; +wave_2_per_point60=yq=yp; +wave_2_per_point61=zq=xp*ca - zp*sa; +wave_2_per_point62= +wave_2_per_point63=//upper arm up down; +wave_2_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_2_per_point65=xp=xq; +wave_2_per_point66=sa=sin(ang);ca=cos(ang); +wave_2_per_point67=sas=sign(sa);cas=sign(ca); +wave_2_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point69=sa=sa*sas;ca=ca*cas; +wave_2_per_point70=yp=yq*ca - zq*sa; +wave_2_per_point71=zp=yq*sa + zq*ca; +wave_2_per_point72= +wave_2_per_point73=//xp=xq;yp=yq;zp=zq; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76=//project into screenspace and draw on screen +wave_2_per_point77=zp=zp+2; +wave_2_per_point78=xs=-xp/zp; +wave_2_per_point79=ys=yp/zp; +wave_2_per_point80= +wave_2_per_point81=x=xs+0.5; +wave_2_per_point82=y=ys*1.3+0.5; +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85=a=(1-sample); +wave_2_per_point86= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bDrawBack=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sa=sin(ang);ca=cos(ang); +wave_3_per_point17=sas=sign(sa);cas=sign(ca); +wave_3_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point19=sa=sa*sas;ca=ca*cas; +wave_3_per_point20=yq=yp*sa + zp*ca; +wave_3_per_point21=zq=yp*ca - zp*sa; +wave_3_per_point22=yq=-yp; +wave_3_per_point23=zq=zp; +wave_3_per_point24= +wave_3_per_point25=ang=tm*8; +wave_3_per_point26=sa=sin(ang);ca=cos(ang); +wave_3_per_point27=sas=sign(sa);cas=sign(ca); +wave_3_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point29=sa=sa*sas;ca=ca*cas; +wave_3_per_point30=xp=xq*sa + yq*ca; +wave_3_per_point31=yp=xq*ca - yq*sa; +wave_3_per_point32=zp=zq; +wave_3_per_point33= +wave_3_per_point34=//forearm movement; +wave_3_per_point35=zp=zp-0.3; +wave_3_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_3_per_point37=xq=xp; +wave_3_per_point38=sa=sin(ang);ca=cos(ang); +wave_3_per_point39=yq=yp*sa + zp*ca; +wave_3_per_point40=zq=yp*ca - zp*sa; +wave_3_per_point41= +wave_3_per_point42=//upper arm twist +wave_3_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point44=sa=sin(ang);ca=cos(ang); +wave_3_per_point45=sas=sign(sa);cas=sign(ca); +wave_3_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point47=sa=sa*sas;ca=ca*cas; +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=sas=sign(sa);cas=sign(ca); +wave_3_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point58=sa=sa*sas;ca=ca*cas; +wave_3_per_point59=xq=xp*sa + zp*ca; +wave_3_per_point60=yq=yp; +wave_3_per_point61=zq=xp*ca - zp*sa; +wave_3_per_point62= +wave_3_per_point63=//upper arm up down; +wave_3_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_3_per_point65=xp=xq; +wave_3_per_point66=sa=sin(ang);ca=cos(ang); +wave_3_per_point67=sas=sign(sa);cas=sign(ca); +wave_3_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point69=sa=sa*sas;ca=ca*cas; +wave_3_per_point70=yp=yq*ca - zq*sa; +wave_3_per_point71=zp=yq*sa + zq*ca; +wave_3_per_point72= +wave_3_per_point73=//xp=xq;yp=yq;zp=zq; +wave_3_per_point74= +wave_3_per_point75= +wave_3_per_point76=//project into screenspace and draw on screen +wave_3_per_point77=zp=zp+2; +wave_3_per_point78=xs=-xp/zp; +wave_3_per_point79=ys=yp/zp; +wave_3_per_point80= +wave_3_per_point81=x=xs+0.5; +wave_3_per_point82=y=ys*1.3+0.5; +wave_3_per_point83= +wave_3_per_point84= +wave_3_per_point85=a=(1-sample); +wave_3_per_point86= +wavecode_4_enabled=0 +wavecode_4_samples=512 +wavecode_4_sep=0 +wavecode_4_bSpectrum=0 +wavecode_4_bUseDots=0 +wavecode_4_bDrawThick=0 +wavecode_4_bDrawBack=0 +wavecode_4_bAdditive=0 +wavecode_4_scaling=1.000000 +wavecode_4_smoothing=0.500000 +wavecode_4_r=1.000000 +wavecode_4_g=1.000000 +wavecode_4_b=1.000000 +wavecode_4_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_bDrawBack=0 +shapecode_0_thickOutline=0 +shapecode_0_x_wrap_mode=0 +shapecode_0_y_wrap_mode=0 +shapecode_0_textured=1 +shapecode_0_tex_capture=1 +shapecode_0_tex_cx=0.500000 +shapecode_0_tex_cy=0.500000 +shapecode_0_x=0.500000 +shapecode_0_y=1.800000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=pw=2; +shape_0_per_frame2=xp=sin(time*3); +shape_0_per_frame3=xsign=sign(xp); +shape_0_per_frame4=xp=abs(xp); +shape_0_per_frame5=xp=pow(xp,pw); +shape_0_per_frame6= +shape_0_per_frame7=yp=cos(time*3); +shape_0_per_frame8=ysign=sign(yp); +shape_0_per_frame9=yp=abs(yp); +shape_0_per_frame10=yp=pow(yp,pw); +shape_0_per_frame11= +shape_0_per_frame12=x=0.5 + xp*xsign*0.3; +shape_0_per_frame13=y=0.5 + yp*ysign*0.3*1.3 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_bDrawBack=0 +shapecode_1_thickOutline=0 +shapecode_1_x_wrap_mode=0 +shapecode_1_y_wrap_mode=0 +shapecode_1_textured=1 +shapecode_1_tex_capture=1 +shapecode_1_tex_cx=0.500000 +shapecode_1_tex_cy=0.500000 +shapecode_1_x=0.500000 +shapecode_1_y=1.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_bDrawBack=0 +shapecode_2_thickOutline=0 +shapecode_2_x_wrap_mode=0 +shapecode_2_y_wrap_mode=0 +shapecode_2_textured=1 +shapecode_2_tex_capture=1 +shapecode_2_tex_cx=0.500000 +shapecode_2_tex_cy=0.500000 +shapecode_2_x=0.500000 +shapecode_2_y=1.800000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_bDrawBack=0 +shapecode_3_thickOutline=0 +shapecode_3_x_wrap_mode=0 +shapecode_3_y_wrap_mode=0 +shapecode_3_textured=0 +shapecode_3_tex_capture=1 +shapecode_3_tex_cx=0.500000 +shapecode_3_tex_cy=0.500000 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shapecode_4_enabled=0 +shapecode_4_sides=4 +shapecode_4_additive=0 +shapecode_4_bDrawBack=0 +shapecode_4_thickOutline=0 +shapecode_4_x_wrap_mode=0 +shapecode_4_y_wrap_mode=0 +shapecode_4_textured=0 +shapecode_4_tex_capture=1 +shapecode_4_tex_cx=0.500000 +shapecode_4_tex_cy=0.500000 +shapecode_4_x=0.500000 +shapecode_4_y=0.500000 +shapecode_4_rad=0.100000 +shapecode_4_ang=0.000000 +shapecode_4_tex_ang=0.000000 +shapecode_4_tex_zoom=1.000000 +shapecode_4_r=1.000000 +shapecode_4_g=0.000000 +shapecode_4_b=0.000000 +shapecode_4_a=1.000000 +shapecode_4_r2=0.000000 +shapecode_4_g2=1.000000 +shapecode_4_b2=0.000000 +shapecode_4_a2=0.000000 +shapecode_4_border_r=1.000000 +shapecode_4_border_g=1.000000 +shapecode_4_border_b=1.000000 +shapecode_4_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zm=1.0008; +per_frame_3=sx=-zm; +per_frame_4=sy=zm; +per_frame_5= +per_frame_6=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_7=vol=vol*vol; +per_frame_8=mtime=mtime+vol*0.01; +per_frame_9= +per_frame_10=q1=mtime*2.3; +per_frame_11=warp=0 +per_frame_12= +per_frame_13= +per_frame_14= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag*6+time)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=rot=above(rd,0.7)/(rd+2)*(bass_att*0.1)/rd; +per_pixel_22=rot=rot+0.05*sin(rad*13.5 + q2*1.3 + q*1.31); +per_pixel_23=zoom=zoom+0.05*sin(ang*10.0 + rad*7.5 + q2*1.63 + q); +per_pixel_24=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_25=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_26=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_27= +per_pixel_28=a1 = 4.1*sin(mid_att); +per_pixel_29=a2 = 4.7*sin(treb_att); +per_pixel_30=a3 = 4.9*sin(bass_att); +per_pixel_31=//ax = 8*sin(sin(1-rad*2-cos((a1/a2)*rad*dx_r))); +per_pixel_32=//ad = 8*dy_r*cos((a3*a1)*rad*cos(sin((a3-a1)*rad))); +per_pixel_33= +per_pixel_34=zoom = zoom + abs(0.1*(1.2-rad)); +per_pixel_35=//zoom = zoom - 24*dy_r*(ad*ax); +per_pixel_36=rot = rot + 6*dx_r*(ad); +per_pixel_37=dx = dx + dx_r*ad*5; +per_pixel_38=dy = dy + dy_r*ad*5; +per_pixel_39=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_40=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_41=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_42=tg1 = abs(sin(time)); +per_pixel_43=tg2 = 12*dx_r*above(tg1,0.5) + 12*dy_r*below(tg1,0.5); +per_pixel_44=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_45= +per_pixel_46= +per_pixel_47=zoom = zoom - 0.01; +per_pixel_48=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_49=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_50=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_51=zoom = zoom + 0.0095*(sin(3*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_52=//rot = rot + 0.05*abs(1-rad)*sin(2.2*(0.5-rad)+1.7*time); +per_pixel_53=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_54=//sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_55=//zoom = zoom + 0.05*(0.25-rad)*below(rad,0.5); +per_pixel_56=num = 8; +per_pixel_57=pi = 3.141592654; +per_pixel_58=radi = (y-.5)*.75; +per_pixel_59=radi = (y-.5); +per_pixel_60=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_61= +per_pixel_62=an = ang + pi + time; +per_pixel_63=an = an - pi*2*int(an/(pi*2)); +per_pixel_64= +per_pixel_65=mod = .1; +per_pixel_66= +per_pixel_67=seg = ang + pi; +per_pixel_68=seg = seg/(pi*2)*num; +per_pixel_69=seg = int(seg); +per_pixel_70=seg = seg - equal(seg,num); +per_pixel_71= +per_pixel_72=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_73=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_74=//anga = anga + pi/6; // num = 6 +per_pixel_75=anga = anga + pi/4; // num = 8 +per_pixel_76=//anga = anga + .85; // num = 10 +per_pixel_77= +per_pixel_78= +per_pixel_79=ox = .5 - radi*sin(anga); +per_pixel_80=oy = .5 + radi*cos(anga); +per_pixel_81= +per_pixel_82=//rot = if(equal(seg,0),rot,0); +per_pixel_83= +per_pixel_84=dx = equal(seg,3)*(x-ox); +per_pixel_85=dy = equal(seg,3)*(y-oy); +per_pixel_86= +per_pixel_87=dx = above(seg,0)*(x-ox); +per_pixel_88=dy = above(seg,0)*(y-oy); +per_pixel_89= +per_pixel_90=//dx = equal(seg,1)*(x - .5)*2; diff --git a/presets/presets_tryptonaut/beta106 River of Illusion Dillusion [Bubble].milk b/presets/presets_tryptonaut/beta106 River of Illusion Dillusion [Bubble].milk new file mode 100755 index 0000000000..ce1d32a61a --- /dev/null +++ b/presets/presets_tryptonaut/beta106 River of Illusion Dillusion [Bubble].milk @@ -0,0 +1,295 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006500 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=2.850136 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.020000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.900000 +shapecode_0_rad=0.154930 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.779765 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.986082 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756684 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2= +shape_1_per_frame3=x = (sin(time)*0.090+0.5); +shape_1_per_frame4=y = (sin(time/5)*0.090+0.5); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.218587 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=4.492867 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ob_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ob_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ib_r = ob_r*1.001; +per_frame_18=ib_g = ob_g*1.001; +per_frame_19=ib_b = ob_b*1.001; +per_frame_20= +per_frame_21= +per_frame_22= +per_frame_23=decay = 0.9999; +per_frame_24= +per_frame_25= +per_frame_26= +per_frame_27= +per_frame_28= +per_frame_29=basstemp= bass + bass_att + bass_thresh; +per_frame_30=trebtemp= treb + treb_att + treb_thresh; +per_frame_31=trasstemp= (max(basstemp, trebtemp)); +per_frame_32=trassave= (trasstemp/3); +per_frame_33= +per_frame_34=basst= max(bass + bass_att, treb + treb_att); +per_frame_35=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_frame_36=midbeat= trebb/3; +per_frame_37=midtb= max(midbeat + mid, midbeat + mid_att); +per_frame_38=mtb= midtb/2.25; +per_frame_39= +per_frame_40=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_frame_41=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_frame_42=beetAB= (beetA+beetB)/2; +per_frame_43=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_frame_44=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_frame_45=beetCD= (beetC+beetD)/2; +per_frame_46=beet= (beetAB+beetCD) /2; +per_frame_47= +per_frame_48=madbeat= (trassave+mtb+beet) /3; +per_pixel_1=rot = rot +.05 * sin(rad-(time*.1+bas)) ; +per_pixel_2=bas = (bass*2.5); +per_pixel_3=bos = bass; +per_pixel_4=warp = (bos + bass + bass) * .1; +per_pixel_5=cx = (cx + treb) * .5; +per_pixel_6= +per_pixel_7=q2 = q4 * (bass+0.25) ; +per_pixel_8=warp = q4-q2; +per_pixel_9= +per_pixel_10=dx = dy+.01 ; +per_pixel_11=dy = dx-.01 ; +per_pixel_12= +per_pixel_13=basstemp= bass + bass_att + bass_thresh; +per_pixel_14=trebtemp= treb + treb_att + treb_thresh; +per_pixel_15=trasstemp= (max(basstemp, trebtemp)); +per_pixel_16=trassave= (trasstemp/3); +per_pixel_17= +per_pixel_18=basst= max(bass + bass_att, treb + treb_att); +per_pixel_19=trebb= min(basst + bass_thresh, basst + treb_thresh); +per_pixel_20=midbeat= trebb/3; +per_pixel_21=midtb= max(midbeat + mid, midbeat + mid_att); +per_pixel_22=mtb= midtb/2.25; +per_pixel_23= +per_pixel_24=beetA= (max(treb, bass) + min(treb_att, bass_att)) /2; +per_pixel_25=beetB= (max(mid, beetA) + min(mid_att, beetA*0.5)) /2; +per_pixel_26=beetAB= (beetA+beetB)/2; +per_pixel_27=beetC= (max(mid, treb) + min(mid_att, treb_att)) /2; +per_pixel_28=beetD= (max(bass, beetC) + min(bass_att, beetC*0.5)) /2; +per_pixel_29=beetCD= (beetC+beetD)/2; +per_pixel_30=beet= (beetAB+beetCD) /2; +per_pixel_31= +per_pixel_32=madbeat= (trassave+mtb+beet) /3; diff --git a/presets/presets_tryptonaut/beta106S + Phat - sentinel linearity b nz+ mbinistre ov mbajiq.milk b/presets/presets_tryptonaut/beta106S + Phat - sentinel linearity b nz+ mbinistre ov mbajiq.milk new file mode 100644 index 0000000000..aefdeea2ad --- /dev/null +++ b/presets/presets_tryptonaut/beta106S + Phat - sentinel linearity b nz+ mbinistre ov mbajiq.milk @@ -0,0 +1,707 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.560 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.020 +fWarpScale=0.120 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.03300 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=sin(q1)*0.5+0.5; +wave_0_per_frame2=t2=sin(q1+2.1)*0.5+0.5; +wave_0_per_frame3=t3=sin(q1+4.2)*0.5+0.5; +wave_0_per_frame4= +wave_0_per_frame5=t4=sin(q1+2.0)*0.5+0.5; +wave_0_per_frame6=t5=sin(q1+4.1)*0.5+0.5; +wave_0_per_frame7=t6=sin(q1+6.2)*0.5+0.5; +wave_0_per_point1= +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283; +wave_0_per_point4=phs=-sample * 0.2; +wave_0_per_point5=tm=q1 + phs; +wave_0_per_point6= +wave_0_per_point7=flip=flip+1; +wave_0_per_point8=flip=flip*below(flip,2); +wave_0_per_point9= +wave_0_per_point10=xp=0; +wave_0_per_point11=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point12=zp=0; +wave_0_per_point13= +wave_0_per_point14=//wrist movement; +wave_0_per_point15=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point16= +wave_0_per_point17=xq=xp; +wave_0_per_point18=sa=sin(ang);ca=cos(ang); +wave_0_per_point19=sas=sign(sa);cas=sign(ca); +wave_0_per_point20=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point21=sa=sa*sas;ca=ca*cas; +wave_0_per_point22=xp=sin(time*3); +wave_0_per_point23=xsign=sign(xp); +wave_0_per_point24=xp=abs(xp); +wave_0_per_point25=xp=pow(xp,pw); +wave_0_per_point26= +wave_0_per_point27=yq=yp*sa + zp*ca; +wave_0_per_point28=zq=yp*ca - zp*sa; +wave_0_per_point29=yq=yp; +wave_0_per_point30=zq=zp; +wave_0_per_point31= +wave_0_per_point32=ang=tm*8.3; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=sas=sign(sa);cas=sign(ca); +wave_0_per_point35=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point36=sa=sa*sas;ca=ca*cas; +wave_0_per_point37=xp=xq*sa + yq*ca; +wave_0_per_point38=yp=xq*ca - yq*sa; +wave_0_per_point39=zp=zq; +wave_0_per_point40= +wave_0_per_point41=//forearm movement; +wave_0_per_point42=zp=zp-0.3; +wave_0_per_point43=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point44=xq=xp; +wave_0_per_point45=sa=sin(ang);ca=cos(ang); +wave_0_per_point46=sas=sign(sa);cas=sign(ca); +wave_0_per_point47=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point48=sa=sa*sas;ca=ca*cas; +wave_0_per_point49=yq=yp*sa + zp*ca; +wave_0_per_point50=zq=yp*ca - zp*sa; +wave_0_per_point51= +wave_0_per_point52=//upper arm twist +wave_0_per_point53=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point54=sa=sin(ang);ca=cos(ang); +wave_0_per_point55=sas=sign(sa);cas=sign(ca); +wave_0_per_point56=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point57=sa=sa*sas;ca=ca*cas; +wave_0_per_point58=xp=xq*sa + yq*ca; +wave_0_per_point59=yp=xq*ca - yq*sa; +wave_0_per_point60=zp=zq; +wave_0_per_point61= +wave_0_per_point62=//upper arm outward; +wave_0_per_point63=zp=zp-0.35; +wave_0_per_point64=ang=cos(tm*2.1)*0.75 - 1.05; +wave_0_per_point65=sa=sin(ang);ca=cos(ang); +wave_0_per_point66=sas=sign(sa);cas=sign(ca); +wave_0_per_point67=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point68=sa=sa*sas;ca=ca*cas; +wave_0_per_point69=xq=xp*sa + zp*ca; +wave_0_per_point70=yq=yp; +wave_0_per_point71=zq=xp*ca - zp*sa; +wave_0_per_point72= +wave_0_per_point73=//upper arm up down; +wave_0_per_point74=ang=cos(tm*1.1)*0.5 - 0.5; +wave_0_per_point75=xp=xq; +wave_0_per_point76=sa=sin(ang);ca=cos(ang); +wave_0_per_point77=sas=sign(sa);cas=sign(ca); +wave_0_per_point78=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point79=sa=sa*sas;ca=ca*cas; +wave_0_per_point80=yp=yq*ca - zq*sa; +wave_0_per_point81=zp=yq*sa + zq*ca; +wave_0_per_point82= +wave_0_per_point83=//xp=xq;yp=yq;zp=zq; +wave_0_per_point84= +wave_0_per_point85= +wave_0_per_point86=//project into screenspace and draw on screen +wave_0_per_point87=zp=zp+2; +wave_0_per_point88=xs=xp/zp; +wave_0_per_point89=ys=yp/zp; +wave_0_per_point90= +wave_0_per_point91=x=xs+0.5; +wave_0_per_point92=y=ys*1.3+0.5; +wave_0_per_point93= +wave_0_per_point94= +wave_0_per_point95=a=(1-sample); +wave_0_per_point96= +wave_0_per_point97=r=t1*sample + t4*(1-sample); +wave_0_per_point98=g=t2*sample + t5*(1-sample); +wave_0_per_point99=b=t3*sample + t6*(1-sample); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=sin(q1)*0.5+0.5; +wave_1_per_frame2=t2=sin(q1+2.1)*0.5+0.5; +wave_1_per_frame3=t3=sin(q1+4.2)*0.5+0.5; +wave_1_per_frame4= +wave_1_per_frame5=t4=sin(q1+2.0)*0.5+0.5; +wave_1_per_frame6=t5=sin(q1+4.1)*0.5+0.5; +wave_1_per_frame7=t6=sin(q1+6.2)*0.5+0.5; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sa=sin(ang);ca=cos(ang); +wave_1_per_point17=sas=sign(sa);cas=sign(ca); +wave_1_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point19=sa=sa*sas;ca=ca*cas; +wave_1_per_point20=yq=yp*sa + zp*ca; +wave_1_per_point21=zq=yp*ca - zp*sa; +wave_1_per_point22=yq=-yp; +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25=ang=tm*8.3; +wave_1_per_point26=sa=sin(ang);ca=cos(ang); +wave_1_per_point27=sas=sign(sa);cas=sign(ca); +wave_1_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point29=sa=sa*sas;ca=ca*cas; +wave_1_per_point30=xp=xq*sa + yq*ca; +wave_1_per_point31=yp=xq*ca - yq*sa; +wave_1_per_point32=zp=zq; +wave_1_per_point33= +wave_1_per_point34=//forearm movement; +wave_1_per_point35=zp=zp-0.3; +wave_1_per_point36=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point37=xq=xp; +wave_1_per_point38=sa=sin(ang);ca=cos(ang); +wave_1_per_point39=sas=sign(sa);cas=sign(ca); +wave_1_per_point40=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point41=sa=sa*sas;ca=ca*cas; +wave_1_per_point42=yq=yp*sa + zp*ca; +wave_1_per_point43=zq=yp*ca - zp*sa; +wave_1_per_point44= +wave_1_per_point45=//upper arm twist +wave_1_per_point46=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point47=sa=sin(ang);ca=cos(ang); +wave_1_per_point48=sas=sign(sa);cas=sign(ca); +wave_1_per_point49=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point50=sa=sa*sas;ca=ca*cas; +wave_1_per_point51=xp=xq*sa + yq*ca; +wave_1_per_point52=yp=xq*ca - yq*sa; +wave_1_per_point53=zp=zq; +wave_1_per_point54= +wave_1_per_point55=//upper arm outward; +wave_1_per_point56=zp=zp-0.35; +wave_1_per_point57=ang=cos(tm*2.1)*0.75 - 1.05; +wave_1_per_point58=sa=sin(ang);ca=cos(ang); +wave_1_per_point59=sas=sign(sa);cas=sign(ca); +wave_1_per_point60=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point61=sa=sa*sas;ca=ca*cas; +wave_1_per_point62=xq=xp*sa + zp*ca; +wave_1_per_point63=yq=yp; +wave_1_per_point64=zq=xp*ca - zp*sa; +wave_1_per_point65= +wave_1_per_point66=//upper arm up down; +wave_1_per_point67=ang=cos(tm*1.1)*0.5 - 0.5; +wave_1_per_point68=xp=xq; +wave_1_per_point69=sa=sin(ang);ca=cos(ang); +wave_1_per_point70=sas=sign(sa);cas=sign(ca); +wave_1_per_point71=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point72=sa=sa*sas;ca=ca*cas; +wave_1_per_point73=yp=yq*ca - zq*sa; +wave_1_per_point74=zp=yq*sa + zq*ca; +wave_1_per_point75= +wave_1_per_point76=//xp=xq;yp=yq;zp=zq; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=//project into screenspace and draw on screen +wave_1_per_point80=zp=zp+2; +wave_1_per_point81=xs=xp/zp; +wave_1_per_point82=ys=yp/zp; +wave_1_per_point83= +wave_1_per_point84=x=xs+0.5; +wave_1_per_point85=y=ys*1.3+0.5; +wave_1_per_point86= +wave_1_per_point87= +wave_1_per_point88=a=(1-sample); +wave_1_per_point89= +wave_1_per_point90=r=t1*sample + t4*(1-sample); +wave_1_per_point91=g=t2*sample + t5*(1-sample); +wave_1_per_point92=b=t3*sample + t6*(1-sample); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.500 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sa=sin(ang);ca=cos(ang); +wave_2_per_point17=sas=sign(sa);cas=sign(ca); +wave_2_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point19=sa=sa*sas;ca=ca*cas; +wave_2_per_point20=yq=yp*sa + zp*ca; +wave_2_per_point21=zq=yp*ca - zp*sa; +wave_2_per_point22=yq=yp; +wave_2_per_point23=zq=zp; +wave_2_per_point24= +wave_2_per_point25=ang=tm*8; +wave_2_per_point26=sa=sin(ang);ca=cos(ang); +wave_2_per_point27=sas=sign(sa);cas=sign(ca); +wave_2_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point29=sa=sa*sas;ca=ca*cas; +wave_2_per_point30=xp=xq*sa + yq*ca; +wave_2_per_point31=yp=xq*ca - yq*sa; +wave_2_per_point32=zp=zq; +wave_2_per_point33= +wave_2_per_point34=//forearm movement; +wave_2_per_point35=zp=zp-0.3; +wave_2_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_2_per_point37=xq=xp; +wave_2_per_point38=sa=sin(ang);ca=cos(ang); +wave_2_per_point39=yq=yp*sa + zp*ca; +wave_2_per_point40=zq=yp*ca - zp*sa; +wave_2_per_point41= +wave_2_per_point42=//upper arm twist +wave_2_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point44=sa=sin(ang);ca=cos(ang); +wave_2_per_point45=sas=sign(sa);cas=sign(ca); +wave_2_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point47=sa=sa*sas;ca=ca*cas; +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=sas=sign(sa);cas=sign(ca); +wave_2_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point58=sa=sa*sas;ca=ca*cas; +wave_2_per_point59=xq=xp*sa + zp*ca; +wave_2_per_point60=yq=yp; +wave_2_per_point61=zq=xp*ca - zp*sa; +wave_2_per_point62= +wave_2_per_point63=//upper arm up down; +wave_2_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_2_per_point65=xp=xq; +wave_2_per_point66=sa=sin(ang);ca=cos(ang); +wave_2_per_point67=sas=sign(sa);cas=sign(ca); +wave_2_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point69=sa=sa*sas;ca=ca*cas; +wave_2_per_point70=yp=yq*ca - zq*sa; +wave_2_per_point71=zp=yq*sa + zq*ca; +wave_2_per_point72= +wave_2_per_point73=//xp=xq;yp=yq;zp=zq; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76=//project into screenspace and draw on screen +wave_2_per_point77=zp=zp+2; +wave_2_per_point78=xs=-xp/zp; +wave_2_per_point79=ys=yp/zp; +wave_2_per_point80= +wave_2_per_point81=x=xs+0.5; +wave_2_per_point82=y=ys*1.3+0.5; +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85=a=(1-sample); +wave_2_per_point86= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.400 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sa=sin(ang);ca=cos(ang); +wave_3_per_point17=sas=sign(sa);cas=sign(ca); +wave_3_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point19=sa=sa*sas;ca=ca*cas; +wave_3_per_point20=yq=yp*sa + zp*ca; +wave_3_per_point21=zq=yp*ca - zp*sa; +wave_3_per_point22=yq=-yp; +wave_3_per_point23=zq=zp; +wave_3_per_point24= +wave_3_per_point25=ang=tm*8; +wave_3_per_point26=sa=sin(ang);ca=cos(ang); +wave_3_per_point27=sas=sign(sa);cas=sign(ca); +wave_3_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point29=sa=sa*sas;ca=ca*cas; +wave_3_per_point30=xp=xq*sa + yq*ca; +wave_3_per_point31=yp=xq*ca - yq*sa; +wave_3_per_point32=zp=zq; +wave_3_per_point33= +wave_3_per_point34=//forearm movement; +wave_3_per_point35=zp=zp-0.3; +wave_3_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_3_per_point37=xq=xp; +wave_3_per_point38=sa=sin(ang);ca=cos(ang); +wave_3_per_point39=yq=yp*sa + zp*ca; +wave_3_per_point40=zq=yp*ca - zp*sa; +wave_3_per_point41= +wave_3_per_point42=//upper arm twist +wave_3_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point44=sa=sin(ang);ca=cos(ang); +wave_3_per_point45=sas=sign(sa);cas=sign(ca); +wave_3_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point47=sa=sa*sas;ca=ca*cas; +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=sas=sign(sa);cas=sign(ca); +wave_3_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point58=sa=sa*sas;ca=ca*cas; +wave_3_per_point59=xq=xp*sa + zp*ca; +wave_3_per_point60=yq=yp; +wave_3_per_point61=zq=xp*ca - zp*sa; +wave_3_per_point62= +wave_3_per_point63=//upper arm up down; +wave_3_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_3_per_point65=xp=xq; +wave_3_per_point66=sa=sin(ang);ca=cos(ang); +wave_3_per_point67=sas=sign(sa);cas=sign(ca); +wave_3_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point69=sa=sa*sas;ca=ca*cas; +wave_3_per_point70=yp=yq*ca - zq*sa; +wave_3_per_point71=zp=yq*sa + zq*ca; +wave_3_per_point72= +wave_3_per_point73=//xp=xq;yp=yq;zp=zq; +wave_3_per_point74= +wave_3_per_point75= +wave_3_per_point76=//project into screenspace and draw on screen +wave_3_per_point77=zp=zp+2; +wave_3_per_point78=xs=-xp/zp; +wave_3_per_point79=ys=yp/zp; +wave_3_per_point80= +wave_3_per_point81=x=xs+0.5; +wave_3_per_point82=y=ys*1.3+0.5; +wave_3_per_point83= +wave_3_per_point84= +wave_3_per_point85=a=(1-sample); +wave_3_per_point86= +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.66231 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.50375 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.100 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time*0.1)*1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=decay=1; +per_frame_25=zm=1.0008; +per_frame_26=sx=-zm; +per_frame_27=sy=zm; +per_frame_28= +per_frame_29=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_30=vol=vol*vol; +per_frame_31=mtime=mtime+vol*0.01; +per_frame_32= +per_frame_33=q1=mtime*2.3; +per_frame_34=warp=0 +per_frame_35= +per_frame_36= +per_frame_37= +per_pixel_1=warp= max(rad-0.5,0); +per_pixel_2= +per_pixel_3=zoom = zoom + max(rad-0.6,0) +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 pixelsize = texsize.zw; +warp_4=`float2 uvm = uv_orig; +warp_5=` +warp_6=`float2 noise_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=`float4 noiseVal = tex2D(sampler_noise_hq, frac(noise_uv*8)); +warp_8=` +warp_9=`ret.xyz = saturate(tex2D( sampler_pw_main,uvm).xyz*float3(1,1,.97) - float3(.0,.0,.001)); +warp_10=` +warp_11=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_12=` ((noise_uv.xyy*q27 +warp_13=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_14=` ).xyz* +warp_15=` float3(1,1,0)*0.05 + +warp_16=` time*float3(0,0,1)*q29 +warp_17=` ); +warp_18=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_19=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_20=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_21=` +warp_22=`float3 rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.xy-.5)*6*pixelsize).xyz; +warp_23=`if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_24=`ret.xy = rsamp.xy;ret.z = rsamp.z;} +warp_25=` +warp_26=`//rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.zw-.5)*2*pixelsize).xyz; +warp_27=`//if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_28=`//ret.xy = rsamp.xy;ret.z = rsamp.z;} +warp_29=` +warp_30=` +warp_31=`ret.xy *= pow(ret.z,.01); +warp_32=` +warp_33=` +warp_34=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`//ret = tex2D(sampler_main,uv); +comp_5=`float2 uv2 = uv + 32*texsize.zw*float2(cos(uv.y*texsize.y*0.1),sin(uv.x*texsize.x*0.1)); +comp_6=` float3 base = GetBlur3(uv).x + GetBlur2(uv).x + GetBlur1(uv2).x + tex2D(sampler_main, uv2).x + 0.04; +comp_7=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_8=`c = c + b - c*b; +comp_9=`a = a + c - a*c; +comp_10=`base = 1.4*a; +comp_11=`ret = base*(1-base)*(1-base)*2*float3(2,1.4,0) + pow(base,2)*float3(-0.3,0.2,0.5); +comp_12=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_13=` ((uv2.xyy*q28 +comp_14=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_15=` ).xyz* +comp_16=` float3(1,1,0)*0.05 + +comp_17=` time*float3(0,0,1)*q31 +comp_18=` ); +comp_19=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_20=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_21=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_22=`ret = lerp(ret,1,GetBlur1(uv).z*6); +comp_23=`ret = 1-lerp(ret,float3(0.9,0,0),GetPixel(uv).z).zyx; +comp_24=` +comp_25=`} diff --git a/presets/presets_tryptonaut/beta106i - Airhandler (Last Breath - Crab Handler).milk b/presets/presets_tryptonaut/beta106i - Airhandler (Last Breath - Crab Handler).milk new file mode 100755 index 0000000000..40be247b76 --- /dev/null +++ b/presets/presets_tryptonaut/beta106i - Airhandler (Last Breath - Crab Handler).milk @@ -0,0 +1,277 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.399000 +fDecay=1.000000 +fVideoEchoZoom=0.999599 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.690724 +fWaveScale=4.778029 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010100 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.931009 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.498313 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.410000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=x = x+0.2*sin(5*q4); +shape_0_per_frame2=y = y+0.2*cos(5*q4); +shape_0_per_frame3=ang = 4*time*(0.3 + 0.1*t1); +shape_0_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame5=//r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame6=//g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame7=//b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame8=//r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame9=//g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame10=//b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.370000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.706533 +shapecode_1_ang=3.644249 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=x = x + 0.05*sin(time*1.05+3); +shape_1_per_frame2=y = y + 0.03*sin(time*1.29+1); +shape_1_per_frame3=ang = time*(0.1 + 0.1*t1); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame5=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r=q1; +shape_1_per_frame9=g=q3; +shape_1_per_frame10=b=q2; +shape_1_per_frame11=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame12=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame13=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=50 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.670000 +shapecode_2_y=0.430000 +shapecode_2_rad=0.706533 +shapecode_2_ang=4.209736 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.500000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=x = x + 0.05*sin(time*0.17); +shape_2_per_frame2=y = y + 0.03*sin(time*0.83); +shape_2_per_frame3=ang = time*(0.2 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = q3; +shape_2_per_frame6=g = q1; +shape_2_per_frame7=b = q2; +shape_2_per_frame8= +shape_2_per_frame9=//r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame10=//g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame11=//b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame12=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame13=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame14=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.591230 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.256637 +shapecode_3_tex_zoom=1.074079 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = x + 0.2*sin(time*0.25); +shape_3_per_frame2=y = y + 0.1*sin(time*0.5+2); +per_frame_1=wave_r = wave_r + 0.5*sin(time*1.13); +per_frame_2=wave_g = wave_g + 0.5*sin(time*1.23); +per_frame_3=wave_b = wave_b + 0.5*sin(time*1.33); +per_frame_4= +per_frame_5=wave_x = wave_x + 0.2*sin(0.32*time); +per_frame_6=wave_y = wave_y + 0.2*cos(0.32*time); +per_frame_7= +per_frame_8=ob_r = wave_r; +per_frame_9=ob_g = wave_g; +per_frame_10=ob_b = wave_b; +per_frame_11= +per_frame_12=q1 = ob_r; +per_frame_13=q2 = ob_g; +per_frame_14=q3 = ob_b; +per_frame_15=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_16=ocog = below(cog,30000)*cog; +per_frame_17=q4 = cog; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=zoom = zoom + 0.0095*(sin(10*ang) + sin(sin(time*2*sin(time)*rad))*0.3 - cos(rad)*0.1); +per_pixel_5=rot = rot + 0.08*abs(0.746-rad)*sin(2.2*(0.5-rad)+5.7*sin(0.1*time)); +per_pixel_6=sx = sx + 0.01*(0.99*1-rad)*sin(0.733*time)*below(sin(time),0); +per_pixel_7=sy = sy + 0.01*(0.99*1-rad)*cos(0.953*time)*above(sin(time),0); +per_pixel_8=zoom = zoom - 0.015*(0.5*abs(3)-rad)*below(rad,1.5); diff --git a/presets/presets_tryptonaut/beta106i - Potion of Ink - mrt cope n777.milk b/presets/presets_tryptonaut/beta106i - Potion of Ink - mrt cope n777.milk new file mode 100755 index 0000000000..8f38e89056 --- /dev/null +++ b/presets/presets_tryptonaut/beta106i - Potion of Ink - mrt cope n777.milk @@ -0,0 +1,478 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.900 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.581 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=1.766 +fZoomExponent=1.00016 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=2.560 +nMotionVectorsY=48.000 +mv_dx=0.360 +mv_dy=-0.800 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.80000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample*.5+.25); +wave_0_per_point11=y = sample*.5+.25; +wave_0_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_0_per_point13=x = .5 - mod*.5; +wave_0_per_point14= +wave_0_per_point15=osa = sample; +wave_0_per_point16= +wave_0_per_point17=mo = 3.7 + mod*6 + q1; +wave_0_per_point18= +wave_0_per_point19=r = .5 + sin(q8*.9 +mo)*.5; +wave_0_per_point20=g = .5 + sin(q8*.89+mo + 1.5472)*.5; +wave_0_per_point21=b = .5 + sin(q8*.88+mo + 2.8944)*.5; +wave_0_per_point22= +wave_0_per_point23=a = 3 - abs(mod)*12; +wave_0_per_point24=a = 3-sw; +wave_0_per_point25=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.80000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample*.5+.25); +wave_1_per_point11=y = sample*.5+.25; +wave_1_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_1_per_point13=x = .5 + mod*.5; +wave_1_per_point14= +wave_1_per_point15=osa = sample; +wave_1_per_point16= +wave_1_per_point17=mo = 3.7 + mod*6 + q1; +wave_1_per_point18= +wave_1_per_point19=r = .5 + sin(q8*.95+mo)*.5; +wave_1_per_point20=g = .5 + sin(q8*.96+mo + 1.5472)*.5; +wave_1_per_point21=b = .5 + sin(q8*.97+mo + 2.8944)*.5; +wave_1_per_point22= +wave_1_per_point23=a = 3 - abs(mod)*12; +wave_1_per_point24=a = 3-sw; +wave_1_per_point25=a = max(0,min(a,1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.80000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.300 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=y = if(sw,osa,sample*.5+.25); +wave_2_per_point11=y = sample*.5+.25; +wave_2_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_2_per_point13=x = .5 - mod*.5; +wave_2_per_point14= +wave_2_per_point15=osa = sample; +wave_2_per_point16= +wave_2_per_point17=mo = 3.7 + mod*6 + q1; +wave_2_per_point18= +wave_2_per_point19=//r = .5 + sin(mo)*.5; +wave_2_per_point20=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point21=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point22= +wave_2_per_point23=//a = 1 - abs(mod)*12; +wave_2_per_point24=//a = 1-sw; +wave_2_per_point25=a = max(0,min(a,1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=256 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.80000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=0.300 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value2; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=y = if(sw,osa,sample*.5+.25); +wave_3_per_point11=y = sample*.5+.25; +wave_3_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_3_per_point13=x = .5 + mod*.5; +wave_3_per_point14= +wave_3_per_point15=osa = sample; +wave_3_per_point16= +wave_3_per_point17=mo = 3.7 + mod*6 + q1; +wave_3_per_point18= +wave_3_per_point19=//r = .5 + sin(mo)*.5; +wave_3_per_point20=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point21=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point22= +wave_3_per_point23=//a = 1 - abs(mod)*12; +wave_3_per_point24=//a = 1-sw; +wave_3_per_point25=a = max(0,min(a,1)); +shapecode_0_enabled=0 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=33 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame2=trans2 = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame3=trans3 = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame4=a = trans; +shape_0_per_frame5= +shape_0_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame9=r=int(rand(q30))*.1+instance-instance; +shape_0_per_frame10=g=int(rand(q30))*.1+instance-instance; +shape_0_per_frame11=b=int(rand(q30))*.1+instance-instance; +shape_0_per_frame12=r2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame13=g2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame14=b2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame15=border_r=int(rand(q30))*.1+instance-instance; +shape_0_per_frame16=border_g=int(rand(q30))*.1+instance-instance; +shape_0_per_frame17=border_b=int(rand(q30))*.1+instance-instance; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=7 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame2=trans2 = int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame3=trans3 = int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = .5 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame7=y = .5 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame9=r=int(rand(q30))*.1+instance-instance; +shape_1_per_frame10=g=int(rand(q30))*.1+instance-instance; +shape_1_per_frame11=b=int(rand(q30))*.1+instance-instance; +shape_1_per_frame12=r2=int(rand(q30))*.1+instance-instance; +shape_1_per_frame13=g2=int(rand(q30))*.1+instance-instance; +shape_1_per_frame14=b2=int(rand(q30))*.1+instance-instance; +shape_1_per_frame15=border_r=int(rand(q30))*.1+instance-instance; +shape_1_per_frame16=border_g=int(rand(q30))*.1+instance-instance; +shape_1_per_frame17=border_b=int(rand(q30))*.1+instance-instance; +shape_1_per_frame18= +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.500 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_2_per_frame9=r=int(rand(q30))*.1+instance-instance; +shape_2_per_frame10=g=int(rand(q30))*.1+instance-instance; +shape_2_per_frame11=b=int(rand(q30))*.1+instance-instance; +shape_2_per_frame12=r2=int(rand(q30))*.1+instance-instance; +shape_2_per_frame13=g2=int(rand(q30))*.1+instance-instance; +shape_2_per_frame14=b2=int(rand(q30))*.1+instance-instance; +shape_2_per_frame15=border_r=int(rand(q30))*.1+instance-instance; +shape_2_per_frame16=border_g=int(rand(q30))*.1+instance-instance; +shape_2_per_frame17=border_b=int(rand(q30))*.1+instance-instance; +shapecode_3_enabled=0 +shapecode_3_sides=43 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.87965 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad = .4 + q3; +shape_3_per_frame2= +shape_3_per_frame3=tex_zoom = 1/rad*.8; +shape_3_per_frame4= +shape_3_per_frame5=x = .5 - q3; +shape_3_per_frame6= +shape_3_per_frame7=tex_ang = q4; +shape_3_per_frame8= +shape_3_per_frame9=ti = q5 + sin(time*.948) + 3.1416; +shape_3_per_frame10= +shape_3_per_frame11=x = .5 + q3*sin(ti)*1.5; +shape_3_per_frame12=y = .5 + q3*cos(ti)*.5; +per_frame_1=wave_r = wave_r + 0.35*sin(1.14*time) + 0.16*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.36*sin(1.27*time) + 0.15*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.37*sin(1.284*time) + 0.15*sin(1.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = wave_g; +per_frame_7=ob_b = wave_r; +per_frame_8=ob_g = wave_b; +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_g; +per_frame_11=ib_g = wave_r; +per_frame_12= +per_frame_13=ib_size = ib_size + 0.01*bass_att; +per_frame_14=q32=aspecty; +per_frame_15=atime=atime+(bass+treb+mid)*.03; +per_frame_16=q8=atime; +per_frame_17=q30=(bass+treb+mid)*2; +per_frame_18=q3=q30*2; +per_frame_19=q11=q30*.07; +per_frame_20=q12=1-q11; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.15*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.165*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - 0.06; +per_pixel_6=dx = dx + 0.025*sin(abs(24*y))*sin(time); +per_pixel_7=dy = dy + 0.025*sin(abs(24*x))*cos(time); +per_pixel_8=sx = sx - 0.025*sin(cos(24*rad))*cos(time); +per_pixel_9=sy = sy - 0.025*sin(cos(24*rad))*sin(time); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float2 uv1, uv6; +warp_4=`float dx,dy; +warp_5=` +warp_6=`shader_body { +warp_7=` +warp_8=`uv1 = (uv-.5); +warp_9=` +warp_10=`float2 ang2= tex2D (sampler_noise_hq,uv1/3+.006*time).xy; +warp_11=`uv6 = mul(uv1,float2x2(ang2.y,-ang2.x,ang2.x,ang2.y)); +warp_12=` +warp_13=`mus = abs(.5*cos(uv6.y*14)-(cos(uv6.x*71))); +warp_14=`mus *= float3 (1,.96,.9)/25; +warp_15=` +warp_16=`uv6 = .2*sin(12*uv+rand_frame); +warp_17=`float3 dots = .001/length(uv6)* float3 (0.2,1,1); +warp_18=` +warp_19=`//dots = lum(tex2D (sampler_noise_hq,uv +rand_frame)); +warp_20=`//dots = (dots-.7) * (dots >= .7) * float3 (0.2,1,1); +warp_21=` +warp_22=`mus -= dots; +warp_23=` +warp_24=` +warp_25=`float3 blur = GetBlur1(frac(uv)); +warp_26=` +warp_27=`float2 hor = float2 (texsize.z,0); +warp_28=`float2 ver = float2 (0,texsize.w); +warp_29=`hor = float2 (.004,0); +warp_30=`ver = float2 (0,.004); +warp_31=` +warp_32=` +warp_33=` +warp_34=`float dx = lum(GetPixel(uv+hor)-GetPixel(uv-hor)); +warp_35=`float dy = lum(GetPixel(uv+ver)-GetPixel(uv-ver)); +warp_36=` +warp_37=`float2 zz = float2 (dx,dy); +warp_38=` +warp_39=` +warp_40=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_41=`crisp +=.015 - length(zz)*blur/1.5; +warp_42=` +warp_43=`float3 ret1 = crisp - lum(blur)*.012 + mus; +warp_44=`//ret1 = abs(mus)/2; +warp_45=`ret = ret1 * .99 - .04 ; +warp_46=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*8; +comp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_6=` float2 light_pos = float2(q11,q12); +comp_7=` float3 col = float3(4,4,4); +comp_8=` float c = 4; +comp_9=` float dd = 16; +comp_10=` float3 plastic; +comp_11=` plastic.x = col.x/(1+dd*pow(length( uv - float2(dx.x,dy.x)*c - light_pos),0.5)); +comp_12=` plastic.y = col.y/(1+dd*pow(length( uv - float2(dx.y,dy.y)*c - light_pos),0.5)); +comp_13=` plastic.z = col.z/(1+dd*pow(length( uv - float2(dx.z,dy.z)*c - light_pos),0.5)); +comp_14=` +comp_15=` ret = plastic*GetPixel(uv); +comp_16=` +comp_17=`} diff --git a/presets/presets_tryptonaut/beta106i - Potion of Ink.milk b/presets/presets_tryptonaut/beta106i - Potion of Ink.milk new file mode 100755 index 0000000000..914c38a61b --- /dev/null +++ b/presets/presets_tryptonaut/beta106i - Potion of Ink.milk @@ -0,0 +1,85 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=0.999823 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.766487 +fZoomExponent=1.000158 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.600000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=6.400000 +nMotionVectorsY=4.800000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r = wave_r + 0.35*sin(1.14*time) + 0.16*sin(1.5*time); +per_frame_2=wave_g = wave_g + 0.36*sin(1.27*time) + 0.15*sin(1.11*time); +per_frame_3=wave_b = wave_b + 0.37*sin(1.284*time) + 0.15*sin(1.3*time); +per_frame_4=warp = 0; +per_frame_5= +per_frame_6=ob_r = wave_g; +per_frame_7=ob_b = wave_r; +per_frame_8=ob_g = wave_b; +per_frame_9=ib_r = wave_r; +per_frame_10=ib_b = wave_g; +per_frame_11=ib_g = wave_r; +per_frame_12= +per_frame_13=ib_size = ib_size + 0.01*bass_att; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.15*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.165*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=zoom = zoom - 0.06; +per_pixel_6=dx = dx + 0.025*sin(abs(24*y))*sin(time); +per_pixel_7=dy = dy + 0.025*sin(abs(24*x))*cos(time); +per_pixel_8=sx = sx - 0.025*sin(cos(24*rad))*cos(time); +per_pixel_9=sy = sy - 0.025*sin(cos(24*rad))*sin(time); diff --git a/presets/presets_tryptonaut/beta106i - Straight Tropical Coal (Hypnotricks Stable Mix).milk b/presets/presets_tryptonaut/beta106i - Straight Tropical Coal (Hypnotricks Stable Mix).milk new file mode 100755 index 0000000000..ac46e22709 --- /dev/null +++ b/presets/presets_tryptonaut/beta106i - Straight Tropical Coal (Hypnotricks Stable Mix).milk @@ -0,0 +1,276 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=0.999999 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.397106 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=3.915798 +fWarpScale=2.063784 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=14.681458 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=r = q2; +wave_0_per_frame2=g = 1-abs(q1); +wave_0_per_frame3=b = 1-(0.5*q3 + 0.5*q2); +wave_0_per_point1=y = 0.3 + 0.3*bass_att; +wave_0_per_point2=x = x + 0.1*tan(3*time); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.122019 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = x - 0.1*tan(3*bass)*0.2*sin(time); +shape_0_per_frame2=y = y + 0.2*cos(time); +shape_0_per_frame3=border_r = q1; +shape_0_per_frame4=border_g = 1-abs(q3); +shape_0_per_frame5=border_b = q2; +shape_0_per_frame6=sides = 14*cos(q4); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.491381 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.890459 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang = 3*q4; +shape_1_per_frame2=border_r = q2; +shape_1_per_frame3=border_g = q1; +shape_1_per_frame4=border_b = q3; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.364567 +shapecode_2_ang=2.324779 +shapecode_2_tex_ang=0.251326 +shapecode_2_tex_zoom=2.448622 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.100000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=0.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +shape_2_per_frame2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +shape_2_per_frame3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +shape_2_per_frame4=tg1 = abs(sin(time)); +shape_2_per_frame5=tg2 = 0.25*above(tg1,0.80) -0.25*below(tg1,0.20) + 0.33*above(tg1,0.2)*below(tg1,0.4) +shape_2_per_frame6=-0.33*above(tg1,0.4)*below(tg1,0.6) + 0*below(tg1,0.8)*above(tg1,0.6); +shape_2_per_frame7=tg3 = if(equal(thresh,2),tg2,tg3); +shape_2_per_frame8= +shape_2_per_frame9=x = x + 42*dy_r*tg3; +shape_2_per_frame10=y = y + 42*dx_r*tg3; +shape_2_per_frame11=//ang =0.6*q4+0.4; +shape_2_per_frame12=//x = x + 0.1*sin(time); +shape_2_per_frame13=//y = y + 0.1*cos(time); +shape_2_per_frame14=r = q2; +shape_2_per_frame15=g = q1; +shape_2_per_frame16=b = q3; +shape_2_per_frame17=r2 = q2; +shape_2_per_frame18=b2 = q3; +shape_2_per_frame19=g2 = q1; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_3=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_8=rg1 = abs(sin(time)); +per_frame_9=rg2 = 0*above(rg1,0.25) + 1*below(rg1,0.25); +per_frame_10=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_11= +per_frame_12=q1 = wave_r; +per_frame_13=q2 = wave_g; +per_frame_14=q3 = wave_b; +per_frame_15= +per_frame_16=invert = 0; +per_frame_17=echo_alpha = min(1,max(0.5,12*pfdy_r)); +per_frame_18= +per_frame_19= +per_frame_20=echo_zoom = min(2,max(1,1+abs(24*pfdx_r))); +per_frame_21= +per_frame_22= +per_frame_23=monitor = invert; +per_frame_24=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_25=ocog = below(cog,30000)*cog; +per_frame_26=q4 = cog; +per_frame_27=warp = 0.2; +per_frame_28=zoom = zoom + 0.08; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 12*dx_r*above(tg1,0.5) + 12*dy_r*below(tg1,0.5); +per_pixel_6=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_7= diff --git a/presets/presets_tryptonaut/beta106i - Transfrontation (Crocodile Star).milk b/presets/presets_tryptonaut/beta106i - Transfrontation (Crocodile Star).milk new file mode 100755 index 0000000000..bc99bef248 --- /dev/null +++ b/presets/presets_tryptonaut/beta106i - Transfrontation (Crocodile Star).milk @@ -0,0 +1,247 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.995000 +fVideoEchoZoom=0.999996 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=0.721422 +fWaveSmoothing=0.500000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.892691 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.905277 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=shpt = above(bass_att,shpt)*2+(1-above(bass_att,shpt))*((shpt-1.3)*0.96+1.3); +shape_0_per_frame2=sdx_r = equal(shpt,2)*0.015*sin(5*time)+(1-equal(shpt,2))*sdx_r; +shape_0_per_frame3=sdy_r = equal(shpt,2)*0.015*sin(6*time)+(1-equal(shpt,2))*sdy_r; +shape_0_per_frame4=sg1 = abs(sin(time)); +shape_0_per_frame5=sg2 = 12*sdx_r*above(sg1,0.5) + 12*sdy_r*below(sg1,0.5); +shape_0_per_frame6=sg3 = if(equal(shpt,2),sg2,sg3); +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang = ang + q4+2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r = 0.5 + 0.5*sin(4.326*time); +per_frame_2=wave_g = 0.5 + 0.5*sin(7.121*time); +per_frame_3=wave_b = -1 + ((1-wave_r) + (1-wave_g)); +per_frame_4=warp = 0; +per_frame_5=pfthresh = above(bass_att,pfthresh)*2+(1-above(bass_att,pfthresh))*((pfthresh-1.3)*0.96+1.3); +per_frame_6=pfdx_r = equal(pfthresh,2)*0.015*sin(5*time)+(1-equal(pfthresh,2))*pfdx_r; +per_frame_7=pfdy_r = equal(pfthresh,2)*0.015*sin(6*time)+(1-equal(pfthresh,2))*pfdy_r; +per_frame_8=rg1 = abs(sin(time)); +per_frame_9=rg2 = 0*above(rg1,0.75) + 3*below(rg1,0.25) + 1*above(rg1,0.25)*below(rg1,0.5)+ +per_frame_10=2*above(rg1,0.5)*below(rg1,0.75); +per_frame_11=rg3 = if(equal(pfthresh,2),rg2,rg3); +per_frame_12= +per_frame_13= +per_frame_14=wave_a = 0; +per_frame_15=cog = ocog+0.005*(bass+bass_att+(bass*bass_att)-2); +per_frame_16=ocog = below(cog,30000)*cog; +per_frame_17=q4 = cog; +per_frame_18=ob_r = wave_g; +per_frame_19=ob_b = wave_r; +per_frame_20=ob_g = wave_b; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4=tg1 = abs(sin(time)); +per_pixel_5=tg2 = 6*dx_r*above(tg1,0.5) + 6*dy_r*below(tg1,0.5); +per_pixel_6=tg3 = if(equal(thresh,2),tg2,tg3); +per_pixel_7= +per_pixel_8= +per_pixel_9=zoom = zoom + abs(6*tg3*(2/q4-2*cos(5*ang*rad))); +per_pixel_10=zoom = zoom - abs(6*tg3*(2/q4-2*abs(5*ang*rad))); +per_pixel_11=warp = warp + 2*sin(q4); diff --git a/presets/presets_tryptonaut/cells.jpg b/presets/presets_tryptonaut/cells.jpg new file mode 100755 index 0000000000..4a95dfb1be Binary files /dev/null and b/presets/presets_tryptonaut/cells.jpg differ diff --git a/presets/presets_tryptonaut/che - adela the flower.milk b/presets/presets_tryptonaut/che - adela the flower.milk new file mode 100755 index 0000000000..ba7d2522dd --- /dev/null +++ b/presets/presets_tryptonaut/che - adela the flower.milk @@ -0,0 +1,107 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.988000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=0.671923 +fWaveSmoothing=0.450000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.200000 +fModWaveAlphaEnd=0.600000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=0.980515 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=0.999999 +sy=0.999999 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.200000 +ob_r=0.000000 +ob_g=0.600000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=20.223999 +nMotionVectorsY=20.255999 +mv_dx=0.000000 +mv_dy=-0.000000 +mv_l=2.200000 +mv_r=0.900000 +mv_g=0.500000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=cc=cc+beat; +per_frame_26=q1=cc; +per_frame_27=mv_a=if(equal((3*sin(cc))%2,0),.3+.3*sin(.01*thccl),0); +per_frame_28=zoom=.98+.02*sin(12*cc); +per_frame_29=zoomexp=1+.3*sin(26*cc); +per_frame_30=sx=1+.01*sin(11*cc); +per_frame_31=sy=1+.01*sin(14*cc); +per_frame_32=wave_x=.5+.4*sin((.02+.005*sin(.003*time))*thccl)+.05*sin(8*time); +per_frame_33=wave_y=.5+.4*sin((.017+.005*sin(.0027*time))*thccl)+.05*sin(6.7*time); +per_frame_34= +per_frame_35=wave_r=sqr(sin(cc+.07*time)); +per_frame_36=wave_g=sqr(sin(cc+.06*time)); +per_frame_37=wave_b=sqr(sin(cc+.05*time)); +per_frame_38=mv_r=.5+.5*sin(1.23*time+4*cc+.011*thccl); +per_frame_39=mv_g=.5+.5*sin(1.32*time+7*cc+.012*thccl); +per_frame_40=mv_b=.5+.5*sin(1.17*time+9*cc+.013*thccl); +per_pixel_1=ak=-sin(6*rad+((q1%5)*3)%5*ang+q1)*(1-rad+.2*sin(.54*q1))*above(rad,0); +per_pixel_2=block=if(below(ak,-.15),ak,0); +per_pixel_3=dx=if(block,x-1.5,.01*sin(24*x+13*y)*sin(3*rad*(q1%5))); +per_pixel_4=dy=if(block,y-1.5,.01*sin(25*x+12*y)*sin(3*rad*(q1%5))); diff --git a/presets/presets_tryptonaut/che - burning hus (oil mix).milk b/presets/presets_tryptonaut/che - burning hus (oil mix).milk new file mode 100755 index 0000000000..8c8bee3fd9 --- /dev/null +++ b/presets/presets_tryptonaut/che - burning hus (oil mix).milk @@ -0,0 +1,101 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000416 +fWaveScale=1.000404 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000157 +fShader=0.000000 +zoom=1.010225 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.800000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=2.048001 +nMotionVectorsY=47.999996 +mv_dx=-0.080000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=q8=60/fps; +per_frame_2=// timed sidon sensor +per_frame_3=// le = signal level; desired average value = 2 +per_frame_4=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_5=pulse=above(le,th); +per_frame_6=// pulsefreq = running average of interval between last 5 pulses +per_frame_7=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_8=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_9=lastpulse=if(pulse,time,lastpulse); +per_frame_10=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_11=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_12=// hccp = handcicap for th driven by bt +per_frame_13=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_14=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_15=beat=band(above(le,th+hccp),btblock); +per_frame_16=btblock=1-above(le,th+hccp); +per_frame_17=lastbeat=if(beat,time,lastbeat); +per_frame_18=beatfreq=if(equal(beatfreq,0),2, +per_frame_19=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_20=// th = threshold +per_frame_21=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_22=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_23=th=if(above(th,6),6,th); +per_frame_24=thccl=thccl+q8*(th-2.5144); +per_frame_25=leccl=leccl+q8*le; +per_frame_26=btccl=btccl+beat; +per_frame_27=q1=thccl; +per_frame_28=q2=leccl; +per_frame_29=q3=btccl; +per_frame_30=q4=sqr(sin(.0023*leccl)); +per_frame_31=q5=6.28*sqr(sin(.0023*leccl)); +per_frame_32=wave_r=sqr(sin(1.5*time+.0037*leccl+3*bccl)); +per_frame_33=wave_g=.5+.5*sin(1.6*time+.0042*leccl+2*bccl); +per_frame_34=wave_b=.5+.5*sin(1.7*time+.0056*leccl+4*bccl); +per_pixel_1=zoom=1.01+q8*.13*sin(.1*q1)*(sin((8+3*sin(q3))*rad)+sin(.1*q2)); +per_pixel_2=rot=.05*q8*sin(.02*q1*sin(q3))*sin((4+3*sin(q3+.03*q2))*rad); +per_pixel_3=zoom=if(below(abs(rot),.0025),exp(rad-q4),zoom); +per_pixel_4=rot=if(below(abs(rot),.002),ang-q5,rot); diff --git a/presets/presets_tryptonaut/che - terracarbon stream.milk b/presets/presets_tryptonaut/che - terracarbon stream.milk new file mode 100755 index 0000000000..8cb0215837 --- /dev/null +++ b/presets/presets_tryptonaut/che - terracarbon stream.milk @@ -0,0 +1,113 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000499 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.030740 +fWaveScale=0.498516 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000158 +fShader=0.000000 +zoom=1.000223 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.060000 +ib_size=0.035000 +ib_r=0.250000 +ib_g=0.450000 +ib_b=0.250000 +ib_a=0.290000 +nMotionVectorsX=19.199999 +nMotionVectorsY=14.400005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.500000 +mv_r=0.060000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.200000 +per_frame_1=// timed sidon sensor +per_frame_2=// le = signal level; desired average value = 2 +per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; +per_frame_4=pulse=above(le,th); +per_frame_5=// pulsefreq = running average of interval between last 5 pulses +per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, +per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); +per_frame_8=lastpulse=if(pulse,time,lastpulse); +per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat +per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); +per_frame_11=// hccp = handcicap for th driven by bt +per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), +per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); +per_frame_14=beat=band(above(le,th+hccp),btblock); +per_frame_15=btblock=1-above(le,th+hccp); +per_frame_16=lastbeat=if(beat,time,lastbeat); +per_frame_17=beatfreq=if(equal(beatfreq,0),2, +per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); +per_frame_19=// th = threshold +per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, +per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); +per_frame_22=th=if(above(th,6),6,th); +per_frame_23=thccl=thccl+(th-2.5144); +per_frame_24= +per_frame_25=q1=le; +per_frame_26=q2=thccl+.2*leccl; +per_frame_27=leccl=leccl+dle*le; +per_frame_28=dle=if(beat,-dle,dle); +per_frame_29=bccl=bccl+beat; +per_frame_30= +per_frame_31=wave_r=.1+.8*sqr(sin(.011*thccl))+.1*sin(leccl*.061); +per_frame_32=wave_g=.1+.8*sqr(sin(.013*thccl))+.1*cos(leccl*.067); +per_frame_33=wave_b=.1+.8*sqr(cos(.017*thccl))+.1*sin(leccl*.065); +per_frame_34= +per_frame_35=ib_r=ib_r+.1*sin(1.3*time+.012*leccl); +per_frame_36=ib_g=ib_g+.1*sin(1.7*time+.019*leccl); +per_frame_37=ib_b=ib_b+.1*sin(1.9*time+.017*leccl); +per_frame_38=mv_r=.5*(ib_r+wave_r);mv_g=.5*(ib_g+wave_g);mv_b=.5*(ib_b+wave_b); +per_frame_39=mv_a=.5*sqr(sin(.01*leccl+bccl)); +per_frame_40= +per_frame_41=echo_alpha=.5+.2*cos(.07*leccl+.02*thccl); +per_frame_42=eo=if(band(equal(bccl%3,0),beat),rand(4),eo); +per_frame_43=q3=(equal(eo,2)+equal(eo,1))*equal(bccl%2,0); +per_frame_44=q4=(equal(eo,0)+equal(eo,3))*equal(bccl%2,0); +per_frame_45=echo_orient=eo; +per_pixel_1=dqv=above(x,.5)-above(y,.5); +per_pixel_2=rot=sin(sin(rad*(13+5*sin(.01*q2))+.06*q2)*q1*.01); +per_pixel_3=zoom=1+if(q3,dqv,1)*.1*sin(7*ang+.03*q2); +per_pixel_4=zoom=if(q4,if(below(rad,.8*sqr(sin(.016*q2))),.75+.4*cos(.021*q2),zoom),zoom); +per_frame_init_1=dle=1; diff --git a/presets/presets_tryptonaut/clouds.jpg b/presets/presets_tryptonaut/clouds.jpg new file mode 100755 index 0000000000..137d41a043 Binary files /dev/null and b/presets/presets_tryptonaut/clouds.jpg differ diff --git a/presets/presets_tryptonaut/clouds2.jpg b/presets/presets_tryptonaut/clouds2.jpg new file mode 100755 index 0000000000..343afda94d Binary files /dev/null and b/presets/presets_tryptonaut/clouds2.jpg differ diff --git a/presets/presets_tryptonaut/cope + 27_super_goats - orbus maximus (breach the egg mix).milk b/presets/presets_tryptonaut/cope + 27_super_goats - orbus maximus (breach the egg mix).milk new file mode 100755 index 0000000000..531e7dd7f0 --- /dev/null +++ b/presets/presets_tryptonaut/cope + 27_super_goats - orbus maximus (breach the egg mix).milk @@ -0,0 +1,274 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.700 +fDecay=0.715 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=1.170 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=0.248 +fZoomExponent=1.10460 +fShader=0.000 +zoom=0.56470 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.81670 +sy=1.79870 +wave_r=0.200 +wave_g=0.000 +wave_b=0.000 +wave_x=0.000 +wave_y=0.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=410 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.006 +shape_0_per_frame1=q1 = time/5; +shape_0_per_frame2=q2 = time/6; +shape_0_per_frame3=rad = 0.005+bass/90; +shape_0_per_frame4=m5 = bass_att/70; +shape_0_per_frame5=b2 = treb*0.7-bass/2; +shape_0_per_frame6=r = instance/num_inst; +shape_0_per_frame7=g = abs(treb_att/5-bass); +shape_0_per_frame8=//b = abs(treb_att/5-bass); +shape_0_per_frame9=size = 0.3+bass_att/300-(1-q5)*0.1; +shape_0_per_frame10= +shape_0_per_frame11=nc = sqrt(num_inst); +shape_0_per_frame12=xs=sin(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame13=ys=cos(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame14=zs=cos(3.14*int(instance/nc)/nc); +shape_0_per_frame15= +shape_0_per_frame16=//modulate to allow rotation +shape_0_per_frame17=y1 = ys*cos(q1)-zs*sin(q1); +shape_0_per_frame18=z1 = ys*sin(q1)+zs*cos(q1); +shape_0_per_frame19=x1 = z1*sin(q2)+xs*cos(q2); +shape_0_per_frame20=z2 = z1*cos(q2)-xs*sin(q2); +shape_0_per_frame21=x2 = x1*cos(q3)-y1*sin(q3); +shape_0_per_frame22=y2 = y1*cos(q3)+x1*sin(q3); +shape_0_per_frame23= +shape_0_per_frame24=//translate shape +shape_0_per_frame25=x3 = x2+q4; +shape_0_per_frame26=y3 = y2; +shape_0_per_frame27=z3 = z2+m5; +shape_0_per_frame28= +shape_0_per_frame29=x = 0.5 + size*(x3/(1+z3*size)); +shape_0_per_frame30=y = 0.5 + size*(y3/(1+z3*size)); +shape_0_per_frame31=a=below(z3,0); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.91+1.3); +per_frame_2=vol = 0.1*(vol*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_3=q5 = vol; +per_frame_4=zoom = zoom - vol*0.01; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 uv2 = (1-uv); +warp_4=` float3 argebe = tex2D(sampler_fc_main, frac(uv2)).xyz; +warp_5=` uv2 *= 1-(argebe.zy*0.24); +warp_6=` +warp_7=` ret = tex2D(sampler_main, uv).xyz; +warp_8=` ret += tex2D(sampler_main, uv2).xyz*0.9; +warp_9=` +warp_10=` ret *= 0.5; +warp_11=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret += GetBlur1(uv); +comp_5=` ret *= 1.49; //gamma +comp_6=` } diff --git a/presets/presets_tryptonaut/cope + flexi - colorful marble (ghost mix) - rand wave 4 nz+.milk b/presets/presets_tryptonaut/cope + flexi - colorful marble (ghost mix) - rand wave 4 nz+.milk new file mode 100755 index 0000000000..a666dc21c0 --- /dev/null +++ b/presets/presets_tryptonaut/cope + flexi - colorful marble (ghost mix) - rand wave 4 nz+.milk @@ -0,0 +1,442 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99950 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00900 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=33 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = int(rand(int(q3)))/5+instance-instance; +shape_0_per_frame2=trans2 = int(rand(int(q3)))/5+instance-instance; +shape_0_per_frame3=trans3 = int(rand(int(q3)))/5+instance-instance; +shape_0_per_frame4=a = trans; +shape_0_per_frame5= +shape_0_per_frame6=x = .5 + int(rand(25))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame7=y = .5 + int(rand(25))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame9=r=int(rand(q3))*.1+instance-instance; +shape_0_per_frame10=g=int(rand(q3))*.1+instance-instance; +shape_0_per_frame11=b=int(rand(q3))*.1+instance-instance; +shape_0_per_frame12=r2=int(rand(q3))*.1+instance-instance; +shape_0_per_frame13=g2=int(rand(q3))*.1+instance-instance; +shape_0_per_frame14=b2=int(rand(q3))*.1+instance-instance; +shape_0_per_frame15=border_r=int(rand(q3))*.1+instance-instance; +shape_0_per_frame16=border_g=int(rand(q3))*.1+instance-instance; +shape_0_per_frame17=border_b=int(rand(q3))*.1+instance-instance; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=7 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = int(rand(int(q3)))/5+instance-instance; +shape_1_per_frame2=trans2 = int(rand(int(q3)))/5+instance-instance; +shape_1_per_frame3=trans3 = int(rand(int(q3)))/5+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5= +shape_1_per_frame6=x = .5 + int(rand(25))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame7=y = .5 + int(rand(25))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame9=r=int(rand(q3))*.1+instance-instance; +shape_1_per_frame10=g=int(rand(q3))*.1+instance-instance; +shape_1_per_frame11=b=int(rand(q3))*.1+instance-instance; +shape_1_per_frame12=r2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame13=g2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame14=b2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame15=border_r=int(rand(q3))*.1+instance-instance; +shape_1_per_frame16=border_g=int(rand(q3))*.1+instance-instance; +shape_1_per_frame17=border_b=int(rand(q3))*.1+instance-instance; +shape_1_per_frame18= +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q3)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q3)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q3)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = .5 + int(rand(25))*0.01*treb_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame7=y = .5 + int(rand(25))*0.01*treb_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_2_per_frame9=r=int(rand(q3))*.1+instance-instance; +shape_2_per_frame10=g=int(rand(q3))*.1+instance-instance; +shape_2_per_frame11=b=int(rand(q3))*.1+instance-instance; +shape_2_per_frame12=r2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame13=g2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame14=b2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame15=border_r=int(rand(q3))*.1+instance-instance; +shape_2_per_frame16=border_g=int(rand(q3))*.1+instance-instance; +shape_2_per_frame17=border_b=int(rand(q3))*.1+instance-instance; +shape_2_per_frame18= +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=// raytraced sphere code +per_frame_19= +per_frame_20=d = 20; // distance of the sphere, the farther you're away the more you'll see on the horizon +per_frame_21=z = 4; // distance of the pane where the scene is projected on, wider distance = smaller apex angle of the camera, very small distances = fish eyes view +per_frame_22= +per_frame_23=zz = 1 + bass_att*0; // linear zoom +per_frame_24= +per_frame_25=pi = asin(1)*2; +per_frame_26=pi2inv = 0.5/pi; +per_frame_27=maskangle = asin( 1/d); +per_frame_28=q32 = maskangle; // hit = (cameras angle < mask_angle) +per_frame_29=q31 = d; +per_frame_30=q30 = z; +per_frame_31=q29 = pi2inv; +per_frame_32=q28 = pi; +per_frame_33=q27 = 1/zz; +per_frame_34= +per_frame_35=v = 0.4; +per_frame_36=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_37=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_38=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_39= +per_frame_40=n = n + j1*0.0152; +per_frame_41=n1 = n1 + j2*0.0152; +per_frame_42=n2 = n2 + j3*0.0152; +per_frame_43= +per_frame_44=vol=(bass+mid+treb)*0.25; +per_frame_45=vol=vol; +per_frame_46=q3=vol*8; +per_frame_47=mtime = mtime+vol*0.01; +per_frame_48=q1=mtime; +per_frame_49= +per_frame_50=zoom = zoom + 0.015*vol; +per_frame_51= +per_frame_52=w1 = n*0.01; // solid angles to rotate the sphere in its origin +per_frame_53=w2 = n1*0.01; +per_frame_54=w3 = n2*0.01; +per_frame_55= +per_frame_56=q20 = cos(w1); +per_frame_57=q21 = sin(w1); +per_frame_58=q22 = cos(w2); +per_frame_59=q23 = sin(w2); +per_frame_60=q24 = cos(w3); +per_frame_61=q25 = sin(w3); +per_frame_62=q8=vol; +per_frame_63=q9=vol; +per_frame_64=q10=vol; +per_frame_65=q11=vol; +warp_1=`float2 polar, factorA, factorB, product; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=`float z = q30; +warp_7=`float d = q31; +warp_8=`float pi = q28; +warp_9=`float pi2inv = q29; +warp_10=`float mask_apex = q32; +warp_11=`float zoom = q27; +warp_12=` +warp_13=`float2 c = zoom*(uv-0.5)*aspect.xy; +warp_14=` +warp_15=`float camera_apex = atan2( length(c),z); +warp_16=` +warp_17=`bool mask = mask_apex >= camera_apex; +warp_18=` +warp_19=`float longitude = atan2(c.x,c.y); +warp_20=`float latitude = (pi - camera_apex + asin(d*sin(camera_apex))); +warp_21=` +warp_22=`float2 polar = float2(longitude,latitude); +warp_23=` +warp_24=`float3 p = float3( sin(polar.x)*sin(polar.y),cos(polar.x)*sin(polar.y),cos(polar.y)); +warp_25=` +warp_26=`factorA = p.zy; +warp_27=`factorB = float2(q20,q21); +warp_28=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +warp_29=`p.zy = product.xy; +warp_30=` +warp_31=`factorA = p.zx; +warp_32=`factorB = float2(q22,q23); +warp_33=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +warp_34=`p.zx = product.xy; +warp_35=` +warp_36=`factorA = p.yx; +warp_37=`factorB = float2(q24,q25); +warp_38=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +warp_39=`p.yx = product.xy; +warp_40=`polar = float2(atan2(p.z,p.x),atan2(p.y,length(p.xz)))*pi2inv*float2(1,2)+float2(0,0.5); +warp_41=` +warp_42=`polar = polar; +warp_43=` +warp_44=` float3 pos = float3(polar,time*0.15); +warp_45=` float3 rc = tex3D(sampler_noisevol_hq, pos); +warp_46=` rc += tex3D(sampler_noisevol_hq, 2*pos)*0.5; +warp_47=` rc += tex3D(sampler_noisevol_hq, 4*pos)*0.25; +warp_48=` rc += tex3D(sampler_noisevol_hq, 8*pos)*0.125; +warp_49=` rc += tex3D(sampler_noisevol_hq, 16*pos)*0.0625; +warp_50=` //rc = rc*0.556; +warp_51=` rc = (rc*rc*rc)*2; +warp_52=` //rc -= GetBlur1(uv); +warp_53=` rc *= q3*0.5; +warp_54=` +warp_55=` float2 ruv = uv = 0.5 + (uv-0.5)*(1+(rc.x*.0)); +warp_56=` ret = tex2D(sampler_fc_main, float2(ruv.x, ruv.y)).xyz; +warp_57=` +warp_58=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_59=` noise2 += lerp(rc*2, 2, rad); +warp_60=` +warp_61=` ret = ret+0.5*lum(cross((1-ret),(noise2)))*float3(0.6,0.5,0.4); +warp_62=` ret -= lerp(0.0,0.1,rad); +warp_63=` +warp_64=` ret +=0.1*tex3d(sampler_noisevol_hq, (p+time*0.1)*0.7)*mask; +warp_65=` +warp_66=` +warp_67=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_68=` ((polar.xyy*q27 +warp_69=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_70=` ).xyz* +warp_71=` float3(1,1,0)*0.05 + +warp_72=` time*float3(0,0,1)*q29 +warp_73=` ); +warp_74=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y -= (noise9).x*.5; +warp_75=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z -= (noise9).y*.5; +warp_76=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x -= (noise9).z*.5; +warp_77=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 reta = tex2D(sampler_main, uv); +comp_5=`ret = reta; +comp_6=`//ret = sqrt(ret)*1; +comp_7=`//ret += GetBlur2(uv); +comp_8=`ret -= GetBlur1(uv)*0.5; +comp_9=` +comp_10=`ret *= 2; +comp_11=` +comp_12=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_13=` ((uv.xyy*q28 +comp_14=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_15=` ).xyz* +comp_16=` float3(1,1,0)*0.05 + +comp_17=` time*float3(0,0,1)*q31 +comp_18=` ); +comp_19=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.z -= (noise9).x*.5; +comp_20=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.x -= (noise9).y*.5; +comp_21=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.y -= (noise9).z*.5; +comp_22=`} diff --git a/presets/presets_tryptonaut/cope + flexi - mother-of-whirl [composition from fractopia] roam3 nz+.milk b/presets/presets_tryptonaut/cope + flexi - mother-of-whirl [composition from fractopia] roam3 nz+.milk new file mode 100755 index 0000000000..78c7f4d66f --- /dev/null +++ b/presets/presets_tryptonaut/cope + flexi - mother-of-whirl [composition from fractopia] roam3 nz+.milk @@ -0,0 +1,352 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.140 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.170 +fWaveScale=0.797 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99950 +fShader=0.000 +zoom=0.99980 +rot=0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=-0.00800 +warp=0.01000 +sx=1.00980 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.900 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.800 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=44.800 +nMotionVectorsY=38.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=33 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.000 +shapecode_0_rad=0.11039 +shapecode_0_ang=3.40540 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//ang = ang + time*2; +shape_0_per_frame2= +shape_0_per_frame3=//x = x + 0.4*sin(time); +shape_0_per_frame4=//y = y + 0.4*sin(-time*1.4); +shapecode_1_enabled=0 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.450 +shapecode_1_rad=1.62175 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.050 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=54 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.600 +shapecode_2_rad=0.13478 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.700 +shapecode_2_g=0.600 +shapecode_2_b=0.700 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.600 +shapecode_2_b2=0.600 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=//r = r + 0.3*(0.6*sin(time*1.87) + 0.4*sin(1.98*time)); +shape_2_per_frame2=//b = b + 0.3*(0.6*sin(time*1.3434) + 0.4*sin(1.78*time)); +shape_2_per_frame3=//g = g + 0.3*(0.6*sin(time*1.9887) + 0.4*sin(1.6*time)); +shape_2_per_frame4=r=0; +shape_2_per_frame5=b=0; +shape_2_per_frame6=g=0; +shape_2_per_frame7=r2=r; +shape_2_per_frame8=b2=b; +shape_2_per_frame9=g2=g; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.000 +shapecode_3_y=0.200 +shapecode_3_rad=0.20068 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=q1 = 1/asin(1); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq30=if(above(chng,cthr),rand(1)*.3,mq30); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=wave_r = wave_r + 0.3*sin(vol*50); +per_frame_19=wave_b = wave_b + 0.3*sin(vol*20); +per_frame_20=wave_g = wave_g + 0.5*sin(vol*35); +per_frame_21= +per_frame_22= +per_frame_23=q8=wave_r; +per_frame_24=q7=wave_b; +per_frame_25=q6=wave_g; +per_frame_26= +per_frame_27=wr = 0.5+0.4*(0.6*sin(time*1.1) + 0.4*sin(0.8*time)); +per_frame_28=wb = 0.5+0.4*(0.6*sin(time*1.6) + 0.4*sin(0.5*time)); +per_frame_29=wg = 0.5+0.4*(0.6*sin(time*1.34) + 0.4*sin(0.4*time)); +per_frame_30= +per_frame_31=monitor=wg; +per_frame_32=q10=wr; +per_frame_33=q11=wb; +per_frame_34=q12=wg; +per_frame_35=q18 = 0.007*sin(time*0.1); +per_frame_36=q17 = -0.007*sin(time*0.254); +per_frame_37=q2=bass_thresh; +per_frame_38= +per_frame_39=vol=(bass+mid+treb)*0.25; +per_frame_40=vol=vol*vol; +per_frame_41=q3=vol; +per_frame_42= +per_frame_43=warp=0; +per_frame_44=t = t - 1/fps; +per_frame_45=t = if(above(t,2),t-2,t); +per_frame_46=q2 = t; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=` float3 rc = GetPixel(uv)+GetBlur1(uv);//+GetPixel(uv); +warp_6=` uv = uv-float2(0,1); +warp_7=` float2 ruv = 0.5 + (uv-0.5)*(1+(rc.y*0.03)); +warp_8=` +warp_9=` ruv = frac(float2(ruv.x+pow(rc.x,0), ruv.y+pow(rc.x, 0.005))); +warp_10=` +warp_11=` float3 noise3 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_12=` noise3 *= frac(q15); +warp_13=` noise3 = lerp(noise3, float3(0,0,0), frac(q3*0.5)); +warp_14=` +warp_15=` ret = tex2D(sampler_main, float2(ruv.x, ruv.y)).xyz; +warp_16=` +warp_17=` float3 noise2 = lerp(noise3,float3(q10,q11,q12), ret.x); +warp_18=` +warp_19=` ret += saturate(cross((ret), (noise2))); +warp_20=` ret *= 1; +warp_21=` +warp_22=` +warp_23=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_24=` ((uv.xyy*q27 +warp_25=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_26=` ).xyz* +warp_27=` float3(1,1,0)*0.05 + +warp_28=` time*float3(0,0,1)*q29 +warp_29=` ); +warp_30=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y -= (noise9).x*.5; +warp_31=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z -= (noise9).y*.5; +warp_32=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x -= (noise9).z*.5; +warp_33=` +warp_34=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*2; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` float2 uv_y = uv-float2(dx.y,dy.y)*0.4; +comp_8=` +comp_9=` float2 uv_dx = uv - float2(dx.x,dy.x)*1; +comp_10=` float2 uv_dz = uv - float2(dx.z,dy.z)*1; +comp_11=` +comp_12=`ret = 0; +comp_13=`ret = lerp(ret, float3(0,1,0), length(float2(dx.z,dy.z))); +comp_14=`ret = lerp(ret,float3(1,0,0),GetPixel(uv).z*saturate(1-GetBlur3(uv).y*8)); +comp_15=`ret = lerp(ret,1,GetBlur1(uv_dz).x*GetBlur1(uv).z*2*(1-GetBlur1(uv).y*4)); +comp_16=` +comp_17=`ret = lerp(ret, float3(0.8,0,1.5), length(float2(dx.x,dy.x))); +comp_18=`ret = lerp(ret,float3(1,1,0),GetPixel(uv).x*saturate(1-GetBlur3(uv).y*8)); +comp_19=`ret = lerp(ret,1,GetBlur1(uv_dx).z*GetBlur1(uv).x*2*(1-GetBlur1(uv).y*4)); +comp_20=` +comp_21=`ret = lerp(saturate(ret),1,GetPixel(uv).y); +comp_22=` +comp_23=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_24=` ((float3(uv_dx.x,uv_dz.y,uv.x)*q28 +comp_25=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_26=` ).xyz* +comp_27=` float3(1,1,0)*0.05 + +comp_28=` time*float3(0,0,1)*q30 +comp_29=` ); +comp_30=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.z -= (noise9).x*.5; +comp_31=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.x -= (noise9).y*.5; +comp_32=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.y -= (noise9).z*.5; +comp_33=` +comp_34=`ret-=roam_sin.wzy*roam_cos.zxy*.2; +comp_35=`} +comp_36=` diff --git a/presets/presets_tryptonaut/cope - digital sea.milk b/presets/presets_tryptonaut/cope - digital sea.milk new file mode 100755 index 0000000000..3ddee7e3ce --- /dev/null +++ b/presets/presets_tryptonaut/cope - digital sea.milk @@ -0,0 +1,294 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.985 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.080 +fWaveScale=0.588 +fWaveSmoothing=0.000 +fWaveParam=-0.400 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.645 +fWarpScale=1.500 +fZoomExponent=0.99990 +fShader=0.000 +zoom=1.00020 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08927 +sx=1.00000 +sy=1.00000 +wave_r=0.450 +wave_g=0.450 +wave_b=0.450 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.300 +ob_g=0.300 +ob_b=0.500 +ob_a=1.000 +ib_size=0.260 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.800 +nMotionVectorsY=11.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.400 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.500 +wavecode_0_g=0.500 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.22019 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.80781 +shapecode_0_ang=2.51327 +shapecode_0_tex_ang=3.76980 +shapecode_0_tex_zoom=2.78490 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//r = r + 0.400*(0.60*sin(2.22*time) + 0.4*sin(1.888*time)); +shape_0_per_frame2=//g = g + 0.300*(0.60*sin(1.90*time) + 0.4*sin(2.100*time)); +shape_0_per_frame3=//b = b + 0.400*(0.60*sin(2.12*time) + 0.4*sin(1.98*time)); +shapecode_1_enabled=0 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40254 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=2.51312 +shapecode_1_tex_zoom=2.06615 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.100 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//r2 = r2 + 0.500*(0.60*sin(1.52*time) + 0.4*sin(1.988*time)); +shape_1_per_frame2=//g2 = g2 + 0.500*(0.60*sin(0.70*time) + 0.4*sin(1.300*time)); +shape_1_per_frame3=//b2 = b2 + 0.500*(0.60*sin(1.32*time) + 0.4*sin(0.91*time)); +shapecode_2_enabled=1 +shapecode_2_sides=44 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.79044 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=3.76991 +shapecode_2_tex_zoom=0.89576 +shapecode_2_r=0.500 +shapecode_2_g=0.500 +shapecode_2_b=0.500 +shapecode_2_a=0.100 +shapecode_2_r2=0.500 +shapecode_2_g2=0.500 +shapecode_2_b2=0.500 +shapecode_2_a2=0.500 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r = r + 0.500*(0.60*sin(2.22*time) + 0.4*sin(1.888*time)); +shape_2_per_frame2=g = g + 0.500*(0.60*sin(1.90*time) + 0.4*sin(2.100*time)); +shape_2_per_frame3=b = b + 0.500*(0.60*sin(2.12*time) + 0.4*sin(1.98*time)); +shape_2_per_frame4=r2=r; +shape_2_per_frame5=b2=b; +shape_2_per_frame6=g2=g; +shape_2_per_frame7= +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.200 +shapecode_3_y=0.501 +shapecode_3_rad=0.54270 +shapecode_3_ang=3.14150 +shapecode_3_tex_ang=1.50790 +shapecode_3_tex_zoom=1.76257 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.800 +shapecode_3_g2=0.800 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.500 +shape_3_per_frame1=ta2 = equal(q2,2)*abs(6*(sin(time))) + (1-equal(q2,2))*ta2; +shape_3_per_frame2=ta3 = equal(q2,2)*ta2 + (1-equal(q2,2))*ta3; +shape_3_per_frame3=ta = ta + above(ta3,0)*0.05; +shape_3_per_frame4=ta3 = ta3-0.5; +shape_3_per_frame5=tex_ang = tex_ang + ta; +shape_3_per_frame6=tex_zoom=tex_zoom+0.05*q1; +per_frame_1=//Yndi Halda - We Flood Empty Lakes +per_frame_2= +per_frame_3=vol=(bass+mid+treb)*0.25; +per_frame_4=vol=vol*vol; +per_frame_5= +per_frame_6= +per_frame_7=mtime=mtime+vol*0.01; +per_frame_8=q3=mtime*0.25; +per_frame_9= +per_frame_10=vola = 0.1*(vola*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_11=q1 = vola; +per_frame_12= +per_frame_13=q6 = 0.5 + 0.3*sin(-time*2); +per_frame_14=q7 = 0.5 + 0.3*cos(-time); +per_frame_15= +per_frame_16=monitor = bass_thresh; +per_frame_17= +per_frame_18=zoom = zoom + 0.05*vol; +per_frame_19=wave_x = wave_x + 0.5*sin(mtime*2); +per_frame_20=wave_y = wave_y + 0.5*sin(-mtime*1.34); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` ret = tex2D(sampler_fw_main, (uv)).xyz; +warp_5=` +warp_6=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_7=` +warp_8=` float1 sand = dot(noise2, abs(GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv))); +warp_9=` sand += GetBlur1(uv); +warp_10=` ret += 0.1+frac(pow(ret, sand+sand))*2; +warp_11=` ret *= 0.41; +warp_12=` +warp_13=` +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //flexi's bump map effect +comp_4=` +comp_5=` float2 d = texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_8=` float2 light_pos = float2(0.5,0); +comp_9=` float3 col = float3(4,4,4); +comp_10=` float c = 4; +comp_11=` float dd = 16; +comp_12=` float3 plastic; +comp_13=` plastic.x = col.x/(1+dd*pow(length( uv - float2(dx.x,dy.x)*c - light_pos),0.5)); +comp_14=` plastic.y = col.y/(1+dd*pow(length( uv - float2(dx.y,dy.y)*c - light_pos),0.5)); +comp_15=` plastic.z = col.z/(1+dd*pow(length( uv - float2(dx.z,dy.z)*c - light_pos),0.5)); +comp_16=` +comp_17=` ret = plastic*GetPixel(uv); +comp_18=` ret *= 3; +comp_19=`} diff --git a/presets/presets_tryptonaut/cope - soar (v2.0).milk b/presets/presets_tryptonaut/cope - soar (v2.0).milk new file mode 100755 index 0000000000..657773832c --- /dev/null +++ b/presets/presets_tryptonaut/cope - soar (v2.0).milk @@ -0,0 +1,303 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000 +fGammaAdj=1.420 +fDecay=0.950 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.711 +fWaveScale=0.024 +fWaveSmoothing=0.540 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.07880 +fShader=0.000 +zoom=0.94150 +rot=-0.04000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.290 +wave_g=0.460 +wave_b=0.730 +wave_x=0.500 +wave_y=1.000 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.100 +ib_size=0.050 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=32.000 +nMotionVectorsY=28.800 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.100 +mv_r=0.400 +mv_g=0.400 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=256 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=y = 0.2 + 0.01*int(value1*50+10); +wave_0_per_point2=x = sample; +wavecode_1_enabled=0 +wavecode_1_samples=82 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=4.02709 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.300 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=2 +shapecode_0_x=0.400 +shapecode_0_y=0.500 +shapecode_0_rad=0.80790 +shapecode_0_ang=6.28319 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=0.33460 +shapecode_0_r=0.600 +shapecode_0_g=0.600 +shapecode_0_b=0.600 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=r = r + 0.300*(0.60*sin(1.22*time) + 0.4*sin(0.888*time)); +shape_0_per_frame2=g = g + 0.300*(0.60*sin(0.90*time) + 0.4*sin(1.100*time)); +shape_0_per_frame3=b = b + 0.300*(0.60*sin(1.12*time) + 0.4*sin(0.98*time)); +shape_0_per_frame4= +shape_0_per_frame5=rad = rad + equal(q2,2)*0.5; +shape_0_per_frame6= +shape_0_per_frame7=y = y - 0.1*q6; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.33003 +shapecode_1_ang=5.65480 +shapecode_1_tex_ang=1.25650 +shapecode_1_tex_zoom=0.40830 +shapecode_1_r=0.600 +shapecode_1_g=0.600 +shapecode_1_b=0.600 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r = r + 0.300*(0.60*sin(2.52*time) + 0.4*sin(2.588*time)); +shape_1_per_frame2=g = g + 0.300*(0.60*sin(2.70*time) + 0.4*sin(2.700*time)); +shape_1_per_frame3=b = b + 0.300*(0.60*sin(2.32*time) + 0.4*sin(2.180*time)); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad + equal(q2,2)*0.5; +shape_1_per_frame6= +shape_1_per_frame7=y = y - 0.15*q6; +shape_1_per_frame8= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=2 +shapecode_2_x=0.400 +shapecode_2_y=0.400 +shapecode_2_rad=0.33000 +shapecode_2_ang=4.39820 +shapecode_2_tex_ang=1.25650 +shapecode_2_tex_zoom=0.40836 +shapecode_2_r=0.600 +shapecode_2_g=0.600 +shapecode_2_b=0.600 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=r = r + 0.300*(0.60*sin(3.22*time) + 0.4*sin(3.888*time)); +shape_2_per_frame2=g = g + 0.300*(0.60*sin(3.90*time) + 0.4*sin(3.100*time)); +shape_2_per_frame3=b = b + 0.300*(0.60*sin(3.12*time) + 0.4*sin(3.980*time)); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad + equal(q2,2)*0.5; +shape_2_per_frame6= +shape_2_per_frame7=y = y - 0.1*q6; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.400 +shapecode_3_rad=0.33000 +shapecode_3_ang=3.76990 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.40836 +shapecode_3_r=0.600 +shapecode_3_g=0.600 +shapecode_3_b=0.600 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=r = r + 0.300*(0.60*sin(4.22*time) + 0.4*sin(4.888*time)); +shape_3_per_frame2=g = g + 0.300*(0.60*sin(4.90*time) + 0.4*sin(4.100*time)); +shape_3_per_frame3=b = b + 0.300*(0.60*sin(4.12*time) + 0.4*sin(4.980*time)); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad + equal(q2,2)*1; +shape_3_per_frame6= +shape_3_per_frame7=y = y - 0.1*q6; +shape_3_per_frame8= +per_frame_init_1=q8 = 1; +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.91+1.3); +per_frame_2= +per_frame_3=//ob_r = 0.1 + 0.1*(0.6*sin(vol*time*8) + 0.4*sin(1.2*time)); +per_frame_4=//ob_b = 0.1 + 0.1*(0.6*sin(vol*time*8) + 0.4*sin(0.8*time)); +per_frame_5=//ob_g = 0.1 + 0.1*(0.6*sin(vol*time*8) + 0.4*sin(1.1*time)); +per_frame_6= +per_frame_7= +per_frame_8=vol = 0.1*(vol*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_9= +per_frame_10=q1 = vol; +per_frame_11=q2 = bass_thresh; +per_frame_12= +per_frame_13=temp = temp + (above(vol,1.1)*1.5 + (below(vol,1.1)*1)); +per_frame_14=q8 = temp; +per_frame_15= +per_frame_16=//cx = cx + 0.4*sin(temp*0.15); +per_frame_17= +per_frame_18= +per_frame_19=q3 = q3 + below(vol,1.1)*(-0.5) + above(vol,1.1)*2; +per_frame_20= +per_frame_21=q3=1; //comment out to get some jerky movement that goes with the beat better +per_frame_22= //maybe someone can rig up a solution that's not so jerky... =2 is interesting too +per_frame_23= +per_frame_24=cx = cx + 0.4*sin(q3*(sin(q8/(8*q3)))); +per_frame_25=q6 = cx; +per_frame_26= +per_frame_27=//30 fps max to avoid crack bird! +per_pixel_1=cy = cy - cos(rad*q1*(sin(time*0.6))); +per_pixel_2= +per_pixel_3=cx = cx + 1.5*sin(rad*q3*(sin(q8/(8*q3)))); +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_4=` +warp_5=` ret *= 0.95; +warp_6=`} +comp_1=`sampler sampler_sky; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main, float2(1-uv.x, uv.y)).xyz; +comp_5=` ret += tex2D(sampler_main, uv).xyz; +comp_6=` //ret += tex2D(sampler_sky, float2(uv.x, uv.y-q6*0.5))*(1-uv.y); +comp_7=` //ret *= (GetBlur3(uv)+GetBlur3(float2(1-uv.x, uv.y)))*1; +comp_8=` ret *= 1.42; //gamma +comp_9=` +comp_10=` //ret = sqrt(ret); //brighten +comp_11=` ret *= ret; //darken +comp_12=`} diff --git a/presets/presets_tryptonaut/cope - the drain to heaven.milk b/presets/presets_tryptonaut/cope - the drain to heaven.milk new file mode 100755 index 0000000000..4376f74344 --- /dev/null +++ b/presets/presets_tryptonaut/cope - the drain to heaven.milk @@ -0,0 +1,293 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.140 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.170 +fWaveScale=0.797 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99950 +fShader=0.000 +zoom=0.99980 +rot=0.02000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=-0.00800 +warp=0.01000 +sx=1.00980 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.900 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.800 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=44.800 +nMotionVectorsY=38.400 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=33 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.000 +shapecode_0_rad=0.11039 +shapecode_0_ang=3.40540 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//ang = ang + time*2; +shape_0_per_frame2= +shape_0_per_frame3=//x = x + 0.4*sin(time); +shape_0_per_frame4=//y = y + 0.4*sin(-time*1.4); +shapecode_1_enabled=0 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.450 +shapecode_1_rad=1.62175 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.050 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=54 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.600 +shapecode_2_rad=0.13478 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.700 +shapecode_2_g=0.600 +shapecode_2_b=0.700 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.600 +shapecode_2_b2=0.600 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=//r = r + 0.3*(0.6*sin(time*1.87) + 0.4*sin(1.98*time)); +shape_2_per_frame2=//b = b + 0.3*(0.6*sin(time*1.3434) + 0.4*sin(1.78*time)); +shape_2_per_frame3=//g = g + 0.3*(0.6*sin(time*1.9887) + 0.4*sin(1.6*time)); +shape_2_per_frame4=r=0; +shape_2_per_frame5=b=0; +shape_2_per_frame6=g=0; +shape_2_per_frame7=r2=r; +shape_2_per_frame8=b2=b; +shape_2_per_frame9=g2=g; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.000 +shapecode_3_y=0.200 +shapecode_3_rad=0.20068 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=wave_r = wave_r + 0.3*sin(vol*50); +per_frame_2=wave_b = wave_b + 0.3*sin(vol*20); +per_frame_3=wave_g = wave_g + 0.5*sin(vol*35); +per_frame_4= +per_frame_5= +per_frame_6=q8=wave_r; +per_frame_7=q7=wave_b; +per_frame_8=q6=wave_g; +per_frame_9= +per_frame_10=wr = 0.5+0.4*(0.6*sin(time*1.1) + 0.4*sin(0.8*time)); +per_frame_11=wb = 0.5+0.4*(0.6*sin(time*1.6) + 0.4*sin(0.5*time)); +per_frame_12=wg = 0.5+0.4*(0.6*sin(time*1.34) + 0.4*sin(0.4*time)); +per_frame_13= +per_frame_14=monitor=wg; +per_frame_15=q10=wr; +per_frame_16=q11=wb; +per_frame_17=q12=wg; +per_frame_18=q18 = 0.007*sin(time*0.1); +per_frame_19=q17 = -0.007*sin(time*0.254); +per_frame_20=q2=bass_thresh; +per_frame_21= +per_frame_22=vol=(bass+mid+treb)*0.25; +per_frame_23=vol=vol*vol; +per_frame_24=q3=vol; +per_frame_25= +per_frame_26=warp=0; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=` float3 rc = GetPixel(uv)+GetBlur1(uv);//+GetPixel(uv); +warp_6=` uv = uv-float2(0,1); +warp_7=` float2 ruv = 0.5 + (uv-0.5)*(1+(rc.y*0.03)); +warp_8=` +warp_9=` ruv = frac(float2(ruv.x+pow(rc.x,0), ruv.y+pow(rc.x, 0.005))); +warp_10=` +warp_11=` float3 noise3 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_12=` noise3 *= frac(q15); +warp_13=` noise3 = lerp(noise3, float3(0,0,0), frac(q3*0.5)); +warp_14=` +warp_15=` ret = tex2D(sampler_main, float2(ruv.x, ruv.y)).xyz; +warp_16=` +warp_17=` float3 noise2 = lerp(noise3,float3(q10,q11,q12), ret.x); +warp_18=` +warp_19=` ret += saturate(cross((ret), (noise2))); +warp_20=` ret *= 1; +warp_21=` +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` //ret += GetBlur1(uv); +comp_5=` ret += GetBlur2(uv); +comp_6=` ret = ret; +comp_7=` +comp_8=` ret *= 1.00; //gamma +comp_9=`} diff --git a/presets/presets_tryptonaut/cope, flexi + martin - cartune [reinventing the scene].milk b/presets/presets_tryptonaut/cope, flexi + martin - cartune [reinventing the scene].milk new file mode 100755 index 0000000000..340be085e4 --- /dev/null +++ b/presets/presets_tryptonaut/cope, flexi + martin - cartune [reinventing the scene].milk @@ -0,0 +1,354 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.140 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.599 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00030 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.200 +wave_y=0.880 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.800 +ib_size=0.010 +ib_r=0.550 +ib_g=0.550 +ib_b=0.550 +ib_a=0.600 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=63 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.000 +shapecode_0_y=0.350 +shapecode_0_rad=0.09994 +shapecode_0_ang=3.40549 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.700 +shapecode_0_g=0.600 +shapecode_0_b=0.700 +shapecode_0_a=1.000 +shapecode_0_r2=0.600 +shapecode_0_g2=0.600 +shapecode_0_b2=0.600 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=r = r + 0.3*(0.6*sin(time*1.4) + 0.4*sin(0.98*time)); +shape_0_per_frame2=b = b + 0.3*(0.6*sin(time*1.134) + 0.4*sin(0.78*time)); +shape_0_per_frame3=g = g + 0.3*(0.6*sin(time*1.287) + 0.4*sin(0.6*time)); +shape_0_per_frame4= +shape_0_per_frame5=r=0; +shape_0_per_frame6=b=0; +shape_0_per_frame7=g=0; +shape_0_per_frame8=r2=r; +shape_0_per_frame9=b2=b; +shape_0_per_frame10=g2=g; +shape_0_per_frame11= +shape_0_per_frame12=//r=0.7; +shape_0_per_frame13=//g=0.1; +shape_0_per_frame14=//b=0; +shape_0_per_frame15= +shape_0_per_frame16=//r2=0.7; +shape_0_per_frame17=//g2=0.7; +shape_0_per_frame18=//b2=0; +shapecode_1_enabled=1 +shapecode_1_sides=34 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.000 +shapecode_1_y=0.450 +shapecode_1_rad=0.11046 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.700 +shapecode_1_g=0.600 +shapecode_1_b=0.700 +shapecode_1_a=1.000 +shapecode_1_r2=0.600 +shapecode_1_g2=0.600 +shapecode_1_b2=0.600 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=r = r + 0.3*(0.6*sin(time*2.4) + 0.4*sin(0.34*time)); +shape_1_per_frame2=b = b + 0.3*(0.6*sin(time*1.65) + 0.4*sin(0.976*time)); +shape_1_per_frame3=g = g + 0.3*(0.6*sin(time*2.05) + 0.4*sin(0.577*time)); +shape_1_per_frame4= +shape_1_per_frame5=//r=0; +shape_1_per_frame6=//b=0; +shape_1_per_frame7=//g=0; +shape_1_per_frame8=r2=r; +shape_1_per_frame9=b2=b; +shape_1_per_frame10=g2=g; +shapecode_2_enabled=1 +shapecode_2_sides=54 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.000 +shapecode_2_y=0.550 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.700 +shapecode_2_g=0.600 +shapecode_2_b=0.700 +shapecode_2_a=1.000 +shapecode_2_r2=0.600 +shapecode_2_g2=0.600 +shapecode_2_b2=0.600 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=//r = r + 0.3*(0.6*sin(time*1.87) + 0.4*sin(1.98*time)); +shape_2_per_frame2=//b = b + 0.3*(0.6*sin(time*1.3434) + 0.4*sin(1.78*time)); +shape_2_per_frame3=//g = g + 0.3*(0.6*sin(time*1.9887) + 0.4*sin(1.6*time)); +shape_2_per_frame4=r=0; +shape_2_per_frame5=b=0; +shape_2_per_frame6=g=0; +shape_2_per_frame7=r2=r; +shape_2_per_frame8=b2=b; +shape_2_per_frame9=g2=g; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.000 +shapecode_3_y=0.200 +shapecode_3_rad=0.20068 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=// The Flaming Lips - Yoshimi Battles the Pink Robots pt.1 +per_frame_2= +per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.91+1.3); +per_frame_4= +per_frame_5=ib_r = ib_r + 0.35*(0.6*sin(time*1.1) + 0.4*sin(1.4*time)); +per_frame_6=ib_b = ib_b + 0.2*(0.6*sin(time*1.2) + 0.4*sin(1.1*time)); +per_frame_7=ib_g = ib_g + 0.2*(0.6*sin(time*1.3) + 0.4*sin(1.0*time)); +per_frame_8= +per_frame_9=q2=bass_thresh; +per_frame_10=warp=0; +per_frame_11=zoom=1; +per_frame_12=vol=(bass+mid+treb)*0.25; +per_frame_13=vol=vol*vol; +per_frame_14=q3=vol; +per_frame_15= +per_frame_16=bb = bb*0.99 + bass*0.02; +per_frame_17=mm = mm*0.99 + mid*0.02; +per_frame_18=tt = tt*0.99 + treb*0.02; +per_frame_19= +per_frame_20=mx = max(max(bb,mm),tt); +per_frame_21=mn = min(min(bb,mm),tt); +per_frame_22= +per_frame_23=t1 = (bb-mn)/(mx-mn); +per_frame_24=t2 = (mm-mn)/(mx-mn); +per_frame_25=t3 = (tt-mn)/(mx-mn); +per_frame_26= +per_frame_27=v = 0.1/fps; +per_frame_28=bm = bm + (t1-t2)*v; +per_frame_29=mt = mt + (t2-t3)*v; +per_frame_30= +per_frame_31=// coordinates spiral 1 +per_frame_32=q22 = 0; // X +per_frame_33=q21 = 1; // Y +per_frame_34= +per_frame_35=// coordinates spiral 2 +per_frame_36=q24 = 0; +per_frame_37=q23 = -1; +per_frame_38= +per_frame_39=q25 = 0.5/asin(1); // pi/4 +per_frame_40= +per_frame_41=q26 = -bm; // rotation +per_frame_42=q27 = mt; // growth +per_pixel_1=dy1=(cos(x*q3*30)*1.2)*0.11; +per_pixel_2= +per_pixel_3=dy=if(below(x,0.14),if(above(y,0.1),if(below(y,0.93),(dy1*(1-rad))*1.5,0),0),0); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` float3 reta = tex2D( sampler_pc_main, float2(uv.x-0.005, uv.y) ).xyz; +warp_5=` float3 retb = tex2D(sampler_fc_main, float2(uv.x-0.005, uv.y)).xyz; +warp_6=` ret = lerp(retb, reta, saturate(uv.x+0.5)); +warp_7=` +warp_8=` // darken (decay) over time +warp_9=` ret *= 1.00; //or try: ret -= 0.004; +warp_10=`} +comp_1=`float2 numerator, denominator, fraction; +comp_2=`float2 d, uv_y,c,spiral; +comp_3=`float3 dx, dy; +comp_4=`float1 ang_hq; +comp_5=`shader_body +comp_6=`{ +comp_7=`float cutoff = 0.95; +comp_8=`int n = 1; +comp_9=`float s = 0.3; +comp_10=`int depth = 3; //number of fractal iterations +comp_11=` +comp_12=`for(int i = 0; i= camera_apex; +warp_18=` +warp_19=`float longitude = atan2(c.x,c.y); +warp_20=`float latitude = (pi - camera_apex + asin(d*sin(camera_apex))); +warp_21=` +warp_22=`float2 polar = float2(longitude,latitude); +warp_23=` +warp_24=`float3 p = float3( sin(polar.x)*sin(polar.y),cos(polar.x)*sin(polar.y),cos(polar.y)); +warp_25=` +warp_26=`factorA = p.zy; +warp_27=`factorB = float2(q20,q21); +warp_28=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +warp_29=`p.zy = product.xy; +warp_30=` +warp_31=`factorA = p.zx; +warp_32=`factorB = float2(q22,q23); +warp_33=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +warp_34=`p.zx = product.xy; +warp_35=` +warp_36=`factorA = p.yx; +warp_37=`factorB = float2(q24,q25); +warp_38=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +warp_39=`p.yx = product.xy; +warp_40=`polar = float2(atan2(p.z,p.x),atan2(p.y,length(p.xz)))*pi2inv*float2(1,2)+float2(0,0.5); +warp_41=` +warp_42=`polar = polar; +warp_43=` +warp_44=` float3 pos = float3(polar,time*0.15); +warp_45=` float3 rc = tex3D(sampler_noisevol_hq, pos); +warp_46=` rc += tex3D(sampler_noisevol_hq, 2*pos)*0.5; +warp_47=` rc += tex3D(sampler_noisevol_hq, 4*pos)*0.25; +warp_48=` rc += tex3D(sampler_noisevol_hq, 8*pos)*0.125; +warp_49=` rc += tex3D(sampler_noisevol_hq, 16*pos)*0.0625; +warp_50=` //rc = rc*0.556; +warp_51=` rc = (rc*rc*rc)*2; +warp_52=` //rc -= GetBlur1(uv); +warp_53=` rc *= q3*0.5; +warp_54=` +warp_55=` float2 ruv = uv = 0.5 + (uv-0.5)*(1+(rc.x*.0)); +warp_56=` ret = tex2D(sampler_fc_main, float2(ruv.x, ruv.y)).xyz; +warp_57=` +warp_58=` float3 noise2 = tex2D(sampler_noise_lq, uv_orig*texsize.xy*texsize_noise_lq.zw+rand_frame.xy); +warp_59=` noise2 += lerp(rc*2, 2, rad); +warp_60=` +warp_61=` ret = ret+0.5*lum(cross((1-ret),(noise2)))*float3(0.6,0.5,0.4); +warp_62=` ret -= lerp(0.0,0.1,rad); +warp_63=` +warp_64=` ret +=0.1*tex3d(sampler_noisevol_hq, (p+time*0.1)*0.7)*mask; +warp_65=` +warp_66=` +warp_67=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_68=` ((polar.xyy*q27 +warp_69=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_70=` ).xyz* +warp_71=` float3(1,1,0)*0.05 + +warp_72=` time*float3(0,0,1)*q29 +warp_73=` ); +warp_74=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y -= (noise9).x*.5; +warp_75=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z -= (noise9).y*.5; +warp_76=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x -= (noise9).z*.5; +warp_77=`} diff --git a/presets/presets_tryptonaut/fiShbRaiN + Flexi - stitchcraft.milk b/presets/presets_tryptonaut/fiShbRaiN + Flexi - stitchcraft.milk new file mode 100755 index 0000000000..c91bd9ab6b --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN + Flexi - stitchcraft.milk @@ -0,0 +1,382 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=198 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.06081 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=197 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.05396 +shapecode_1_ang=0.43982 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=32 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.01525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=32 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01525 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=warp = 0; +per_frame_2=zoom = 1.001; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y + float2(dx.y,dy.y)*texsize.zw*2; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.1 - 0.015; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig +(uv_orig-uv)*0.8 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*0; +warp_21=`ret.z = GetPixel(uv_bg).z*0.94 - 0.004; +warp_22=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv *=2 ; +comp_5=`float2 m = floor(frac(uv*0.5)*2); +comp_6=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_7=` +comp_8=`uv = 0.5 + (uv-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_9=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv) + 0.04; +comp_10=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_11=`c = c + b - c*b; +comp_12=`a = a + c - a*c; +comp_13=`base = 1.4*a; +comp_14=`ret = base*(1-base)*(1-base)*2*float3(2,1.4,0) + pow(base,2)*float3(-0.3,0.2,0.6); +comp_15=`//ret.xy = ret.yx; +comp_16=`} diff --git a/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft 2.0.milk b/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft 2.0.milk new file mode 100755 index 0000000000..68ff935e49 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft 2.0.milk @@ -0,0 +1,373 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.280 +fDecay=0.800 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=3.04777 +fShader=0.000 +zoom=1.01730 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=5 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.11589 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %2; +per_frame_9= +per_frame_10= +per_frame_11=d_x = if(is_beat, (rand(2000)-1000)*0.001 , d_x); +per_frame_12=d_y = if(is_beat, (rand(2000)-1000)*0.001 , d_y); +per_frame_13=r = if(is_beat, (rand(2000)-1000)*0.001 , r); +per_frame_14=z = if(is_beat, rand(1000)*0.001 , z); +per_frame_15=zoom = 1.03 + z*0.06; +per_frame_16=rot = r*0.06; +per_frame_17=dx = d_x*0.01; +per_frame_18=dy = d_y*0.01; +per_frame_19=q1 = 1; +per_frame_20= +per_frame_21=q23 = rand(1000)/1000; +per_frame_22=q24 = rand(1000)/1000; +per_frame_23=q25 = (rand(1000)/1000)*6.28; +per_frame_24=q26 = q25 - 3.14; +per_frame_25=q27 = (rand(1000)/12000)+0.04; +per_frame_26= +per_frame_27=q28 = rand(1000)/1000; +per_frame_28=q29 = rand(1000)/1000; +per_frame_29=q30 = (rand(1000)/1000)*6.28; +per_frame_30=q31 = q30 - 3.14; +per_frame_31=q32 = (rand(1000)/14000)+0.04; +per_frame_32= +per_frame_33=db = db*0.98 + bass*0.2; +per_frame_34=bb = bb + db*0.1; +per_frame_35= +per_frame_36=dt = dt*0.98 + treb*0.2; +per_frame_37=tt = tt + dt*0.1; +per_frame_38= +per_frame_39=dm = dm*0.98 + mid*0.2; +per_frame_40=mm = mm + dm*0.1; +per_frame_41= +per_frame_42= +per_frame_43=w = (bb-tt)*0.1; +per_frame_44=q11 = sin(w); +per_frame_45=q12 = cos(w); +per_frame_46=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // cx +per_frame_47=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // cy +per_frame_48=q15 = 4; +per_frame_49=q16 = 0.06; +per_frame_50=q17 = sin(-w); +per_frame_51=q18 = cos(-w); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_8=` +warp_9=` float2 uv_x= lerp(uv_orig,uv,0.1) + float2(dx.x,dy.x)*texsize.zw *2; +warp_10=` float2 uv_y= lerp(uv_orig,uv,0.3) + float2(dx.y,dy.y)*texsize.zw *2; +warp_11=` float2 uv_z= lerp(uv_orig,uv,0.1) + float2(dx.z,dy.z)*texsize.zw *2; +warp_12=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.01; +warp_13=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.01; +warp_14=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.01; +warp_15=` +warp_16=` ret += - 0.004 +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1; +warp_17=` +warp_18=`} +comp_1=`sampler sampler_manyfish; +comp_2=`shader_body +comp_3=`{ +comp_4=` float2 d = texsize.zw*8; +comp_5=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_6=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_7=` +comp_8=` float2 uv_dz = uv - float2(dx.z,dy.z)*0.2; +comp_9=` float2 uv_dy = uv - float2(dx.y,dy.y)*0.04; +comp_10=` float emboss = (-dx.y+dy.y) + 1 + (-dx.z + dy.z)*2; +comp_11=` +comp_12=`ret = GetPixel(uv).y*0.2; +comp_13=`ret = lerp(float3(0.2,0,0.1),float3(0.8,0.6,0),GetPixel(uv_dz).y); +comp_14=`ret *= emboss; +comp_15=`ret = lerp(ret,float3(0.3,0,0.8),GetBlur1(uv_dy).x*1.4); +comp_16=`ret = lerp(ret,float3(1,0.9,0.4),GetPixel(uv).z*1); +comp_17=` +comp_18=`} +comp_19=` diff --git a/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft unleashed.milk b/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft unleashed.milk new file mode 100755 index 0000000000..46866fb690 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN + Flexi - witchcraft unleashed.milk @@ -0,0 +1,433 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.955 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01220 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14= +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shapecode_1_enabled=1 +shapecode_1_sides=23 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1024 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01489 +shapecode_1_ang=0.43982 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14= +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shapecode_2_enabled=1 +shapecode_2_sides=14 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=256 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.01525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=1 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=256 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01525 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=warp = 0; +per_frame_2=zoom = 1.001; +per_frame_3= +per_frame_4= +per_frame_5=// Flexis dampened sound response functions +per_frame_6= +per_frame_7=db = db*0.98 + bass*0.2; // dampener +per_frame_8=bb = bb + db*0.1; // accumulation, replace time expressions with this ;) +per_frame_9= +per_frame_10=dt = dt*0.98 + treb*0.2; +per_frame_11=tt = tt + dt*0.1; +per_frame_12= +per_frame_13=dm = dm*0.98 + mid*0.2; +per_frame_14=mm = mm + dm*0.1; +per_frame_15= +per_frame_16= +per_frame_17=//***** [q11-q18] variables for Flexis caleidoscope shader code ***** +per_frame_18= +per_frame_19=// change +per_frame_20=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // center x +per_frame_21=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // center y +per_frame_22=w = (bb-tt)*0.1; // angle +per_frame_23=q16 = 0.5 - (db-dt)*0.04; // size +per_frame_24= +per_frame_25=//don't change +per_frame_26=q11 = sin(w); +per_frame_27=q12 = cos(w); +per_frame_28=q17 = sin(-w); +per_frame_29=q18 = cos(-w); +per_frame_30=q15 = 1/q16; +per_frame_31= +warp_1=`shader_body +warp_2=`{ +warp_3=`ret.x = GetPixel(uv_orig).x*0.8-0.004; +warp_4=` +warp_5=` +warp_6=`float2 uv_y = saturate(0.5 + (uv-0.5)*2); +warp_7=` +warp_8=`float2 uv_x =2*uv ; +warp_9=`uv_x = 1.0 - abs( frac( uv_x * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_10=`uv_x = 0.5 + (uv_x-0.5)*float2(0.75,-0.9) - float2(0,0.05); +warp_11=` +warp_12=`ret.y = GetPixel(uv_y).y + GetPixel(uv_x.yx).x; +warp_13=` +warp_14=`float2 d = texsize.zw*4; +warp_15=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_16=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_17=` +warp_18=`float2 uv_dz = uv_orig + float2(dx.z,dy.z)*texsize.zw*6; +warp_19=`ret.z = GetPixel(uv_dz).z + (GetPixel(uv_dz).z - GetBlur1(uv).z)*0.06 - 0.008; +warp_20=` +warp_21=` +warp_22=`ret.z += GetPixel(uv_x).x*0.012; +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv_x = 1.0 - abs( frac( uv ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_4=` +comp_5=`uv_x = 0.5 + (uv_x-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_6=` +comp_7=`ret.x = GetPixel(uv_x).x; +comp_8=` +comp_9=`// ***** Flexis rotating caleidoscope code ***** +comp_10=` +comp_11=`float2 cntr = float2(q13,q14); float sin = q11; float cos = q12; float scale = q15; +comp_12=`float2 uv_r = (uv-cntr)*aspect.xy; +comp_13=` uv_r = scale*float2( cos*uv_r.x - sin*uv_r.y, sin*uv_r.x + cos*uv_r.y); // rotation +comp_14=` uv_r = cntr + uv_r*aspect.zw; +comp_15=` uv_r = 1.0 - abs( frac( uv_r * 0.5 ) * 2.0 - 1.0 ); // mirror +comp_16=` +comp_17=`sin = q17; cos = q18; scale = q16; +comp_18=`float2 uv_rr = (uv_r-cntr)*aspect.xy; +comp_19=` uv_rr = scale*float2( cos*uv_rr.x - sin*uv_rr.y, sin*uv_rr.x + cos*uv_rr.y); // counter-rotation +comp_20=` uv_rr = cntr + (uv_rr)*aspect.zw; +comp_21=` +comp_22=`float2 uv_y = uv_rr; +comp_23=` +comp_24=`// ***** :) ***** +comp_25=` +comp_26=` +comp_27=` +comp_28=` float2 d = texsize.zw*4; +comp_29=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_30=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_31=` +comp_32=` +comp_33=`ret = (0.5 +(dx+dy).z*0.5)*GetBlur1(uv+float2(dx.z,dy.z)*0.04).z*float3(0.75,0.4,0); +comp_34=`ret = lerp(ret,float3(0.3,0.5,1),GetPixel(uv_y).y); +comp_35=` +comp_36=`ret = lerp(ret,2,GetBlur3(uv_x).x + (GetPixel(uv_x).x-GetBlur2(uv_x).x)); +comp_37=`} diff --git a/presets/presets_tryptonaut/fiShbRaiN - a quiet death.milk b/presets/presets_tryptonaut/fiShbRaiN - a quiet death.milk new file mode 100755 index 0000000000..86c5193eba --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - a quiet death.milk @@ -0,0 +1,225 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=0.996624 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.711381 +fWaveScale=1.163966 +fWaveSmoothing=0.810000 +fWaveParam=-0.600000 +fModWaveAlphaStart=1.110000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.184233 +fWarpScale=1.204928 +fZoomExponent=5.582155 +fShader=0.000000 +zoom=1.019604 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.104292 +sx=0.998168 +sy=1.051003 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=19.199999 +nMotionVectorsY=24.000004 +mv_dx=0.020000 +mv_dy=0.000000 +mv_l=1.699999 +mv_r=1.000000 +mv_g=0.000000 +mv_b=0.800000 +mv_a=0.100000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.816691 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=a=bass*.5; +wave_0_per_point1=x=(sin((sample*100%10)*3.1415*bass*.02)*.5)+(sin(treb)*.5); +wave_0_per_point2=r=.25-y; +wave_0_per_point3=g=treb*.5; +wave_0_per_point4=b=y-.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.819543 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=x=(cos(sample*100%20)*.5)+.5; +wave_1_per_point2= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.599579 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=2.216689 +shapecode_0_r=1.000000 +shapecode_0_g=0.700000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.400000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=(sin(time)*3.1415)+bass-treb; +shape_0_per_frame2=rad=treb; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.241456 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.344205 +shapecode_1_r=0.700000 +shapecode_1_g=0.500000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=(.5*sin(time*.2))+.5; +shape_1_per_frame2=y=sin(time); +shape_1_per_frame3=rad=sin(time*.23); +shape_1_per_frame4=ang=sin(time*.5); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542790 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.999992 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.900000 +shapecode_2_g2=0.600000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.200000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=(above(bass,1)*sin(time))+cos(time); +shape_2_per_frame2=x=rand(10)*.1; +shape_2_per_frame3=y=rand(10)*.1; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=dx=dx+(sin(time)*.002); +per_pixel_1=zoom=zoom+(abs(sin(time))*rad*.04); diff --git a/presets/presets_tryptonaut/fiShbRaiN - blueprint.milk b/presets/presets_tryptonaut/fiShbRaiN - blueprint.milk new file mode 100644 index 0000000000..da2161728d --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - blueprint.milk @@ -0,0 +1,263 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999996 +fShader=1.000000 +zoom=0.989618 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=0.020000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.400000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=ma1=ma1+(above(bass,1)*3.1415*.1*bass); +wave_0_per_point2=ma2=ma2-(above(treb,1)*3.1415*.1*treb); +wave_0_per_point3= +wave_0_per_point4=malpha=above(bass,.7)*above(treb,.7); +wave_0_per_point5= +wave_0_per_point6=mx=mx+(.02*cos(ma1)); +wave_0_per_point7=my=my+(.02*sin(ma2)); +wave_0_per_point8= +wave_0_per_point9=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point10=my=if(above(my,.9),(.9-my),my); +wave_0_per_point11=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point12=my=if(below(my,.1),(.9+my),my); +wave_0_per_point13= +wave_0_per_point14=x=mx; +wave_0_per_point15=y=my; +wave_0_per_point16= +wave_0_per_point17=a=malpha; +wave_0_per_point18=r=bass*.7; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_per_point1=mo=rand(4); +wave_1_per_point2= +wave_1_per_point3=mx=mx+(equal(mo,0)*.05*bass); +wave_1_per_point4=mx=mx-(equal(mo,1)*.05*bass); +wave_1_per_point5=my=my+(equal(mo,2)*.05*treb); +wave_1_per_point6=my=my-(equal(mo,3)*.05*treb); +wave_1_per_point7= +wave_1_per_point8=mx=if(equal(sample,1),.5,mx); +wave_1_per_point9=my=if(equal(sample,1),.5,my); +wave_1_per_point10= +wave_1_per_point11=x=mx; +wave_1_per_point12=y=my; +wave_1_per_point13=a=if(equal(rand(50),0),1,0); +wave_1_per_point14=g=treb*.7; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma1=ma1+(above(bass,1)*3.1415*.01*bass); +wave_2_per_point2=ma2=ma2-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=malpha=above(bass,1)*above(treb,1); +wave_2_per_point5= +wave_2_per_point6=mx=mx+(.02*cos(ma1)); +wave_2_per_point7=my=my+(.02*sin(ma2)); +wave_2_per_point8= +wave_2_per_point9=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point10=my=if(above(my,.9),(.9-my),my); +wave_2_per_point11=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point12=my=if(below(my,.1),(.9+my),my); +wave_2_per_point13= +wave_2_per_point14=x=mx; +wave_2_per_point15=y=my; +wave_2_per_point16= +wave_2_per_point17=a=malpha; +wave_2_per_point18=b=bass*.7; +wave_2_per_point19=r=treb*.8; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=eo=((time*.1)+(bass_att*4))%4; +per_frame_2= +per_frame_3=echo_orient=eo; diff --git a/presets/presets_tryptonaut/fiShbRaiN - crystal glasses.milk b/presets/presets_tryptonaut/fiShbRaiN - crystal glasses.milk new file mode 100755 index 0000000000..ddf3fb3b23 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - crystal glasses.milk @@ -0,0 +1,213 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=0.276106 +fVideoEchoAlpha=0.400000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.415783 +fWaveScale=1.053717 +fWaveSmoothing=0.000000 +fWaveParam=-0.000000 +fModWaveAlphaStart=0.310000 +fModWaveAlphaEnd=1.100000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.408386 +fShader=0.500000 +zoom=0.989618 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=-0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.100000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.100000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.800000 +mv_g=0.800000 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.104618 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.300000 +wavecode_0_g=0.900000 +wavecode_0_b=0.600000 +wavecode_0_a=0.500000 +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=60 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.644631 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.250000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=8 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.449289 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.600000 +shapecode_0_g=0.200000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=rad=rad+(above(bass,.5)*.4*bass); +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.150000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.010000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad=rad+(treb*.3); +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.850000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.010000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad=rad+(treb*.3); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=dy=dy+(above(treb,1)*treb*sin(time)*.3); +per_pixel_1=dx=dx+rad*.01*sin(time*.01); +per_pixel_2=rot=rot+(rad*treb*.05*above(treb,1)); diff --git a/presets/presets_tryptonaut/fiShbRaiN - jade nicotine.milk b/presets/presets_tryptonaut/fiShbRaiN - jade nicotine.milk new file mode 100755 index 0000000000..edd07734ea --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - jade nicotine.milk @@ -0,0 +1,230 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.140000 +fDecay=0.925000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=9.737579 +fZoomExponent=0.999995 +fShader=0.000000 +zoom=0.999513 +rot=0.020000 +cx=0.470000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.438652 +sx=0.999996 +sy=0.978433 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.350000 +mv_r=0.800000 +mv_g=0.887329 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.231186 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.200000 +wave_0_per_point1=x=sin(y)+sin(time); +wave_0_per_point2=y=sample; +wave_0_per_point3=r=bass*.75; +wave_0_per_point4=g=mid*.75; +wave_0_per_point5=b=treb*.75; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.248318 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.200000 +wave_1_per_point1=x=sin(y)+cos(time); +wave_1_per_point2=y=sample; +wave_1_per_point3=r=bass*.75; +wave_1_per_point4=g=mid*.75; +wave_1_per_point5=b=treb*.75; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=0.500000 +wavecode_2_g=0.200000 +wavecode_2_b=1.000000 +wavecode_2_a=0.040000 +wave_2_per_point1=x=sample+(rand(10)*.01); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.768913 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.644628 +shapecode_0_r=0.800000 +shapecode_0_g=1.000000 +shapecode_0_b=0.800000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.700000 +shapecode_0_b2=0.700000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.600000 +shapecode_0_border_g=0.600000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=rad=sin(time); +shape_0_per_frame2=x=bass; +shape_0_per_frame3=ang=time; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.990000 +shapecode_1_g=0.800000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.800000 +shapecode_1_g2=0.400000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=0.800000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=rad=cos(time*.5); +shape_1_per_frame2=x=treb; +shape_1_per_frame3=ang=time*.5; +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244863 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.800000 +shapecode_2_g=0.800000 +shapecode_2_b=1.000000 +shapecode_2_a=0.300000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.800000 +shapecode_2_b2=0.400000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.490000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=a2=time; +shape_2_per_frame2=rad=treb_att*.3; +shape_2_per_frame3=x=(sin(time)*.5)+.1; +shape_2_per_frame4=y=(cos(time)*.5)+(treb*.1); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=sin(time); +shape_3_per_frame2=a=(cos(time)*.1); diff --git a/presets/presets_tryptonaut/fiShbRaiN - lost in the bottle.milk b/presets/presets_tryptonaut/fiShbRaiN - lost in the bottle.milk new file mode 100755 index 0000000000..4ccbd66376 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - lost in the bottle.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=0.925000 +fVideoEchoZoom=1.356732 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.732989 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.910000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.905287 +fWarpScale=2.188998 +fZoomExponent=0.094414 +fShader=1.000000 +zoom=1.093153 +rot=0.200000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=100.000000 +sx=0.999996 +sy=0.819498 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.200000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.400000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.216707 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=r=rand(100)*.01; +wave_0_per_point2=g=r; +wave_0_per_point3=b=r; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.347849 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.400000 +wave_1_per_point1=r=bass*.5; +wave_1_per_point2=g=r; +wave_1_per_point3=b=r; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=26.671766 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.200000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089260 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.800000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=rad=rad+(bass_att+treb_att)*.15; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599575 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.800000 +shapecode_1_g=0.800000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=time; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.653093 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=4.448415 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=mv_x=(sin(time)*.5)+.5; +per_frame_2=echo_zoom=bass_att; diff --git a/presets/presets_tryptonaut/fiShbRaiN - one step beyond (jelly remix).milk b/presets/presets_tryptonaut/fiShbRaiN - one step beyond (jelly remix).milk new file mode 100755 index 0000000000..c64367ba7b --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - one step beyond (jelly remix).milk @@ -0,0 +1,286 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.140000 +fDecay=0.895000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=0.101411 +fWarpScale=1.981669 +fZoomExponent=5.830084 +fShader=1.000000 +zoom=1.019604 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.880267 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.100000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.050000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_per_point1=ma=rand(100); +wave_0_per_point2= +wave_0_per_point3=mx=mx+(.002*cos(ma)); +wave_0_per_point4=my=my+(.02*sin(ma)); +wave_0_per_point5= +wave_0_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point7=my=if(above(my,.9),(.9-my),my); +wave_0_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point9=my=if(below(my,.1),(.9+my),my); +wave_0_per_point10= +wave_0_per_point11=x=mx; +wave_0_per_point12=y=my; +wave_0_per_point13= +wave_0_per_point14=a=(above(bass+mid+treb,.8)); +wave_0_per_point15=g=treb*.6; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ma=rand(100); +wave_1_per_point2= +wave_1_per_point3=mx=mx+(.004*cos(ma)); +wave_1_per_point4=my=my+(.004*sin(ma)); +wave_1_per_point5= +wave_1_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point7=my=if(above(my,.9),(.9-my),my); +wave_1_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point9=my=if(below(my,.1),(.9+my),my); +wave_1_per_point10= +wave_1_per_point11=x=mx; +wave_1_per_point12=y=my; +wave_1_per_point13= +wave_1_per_point14=r=bass*.6; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=ma=rand(100); +wave_2_per_point2= +wave_2_per_point3=mx=mx+(.002*cos(ma)); +wave_2_per_point4=my=my+(.02*sin(ma)); +wave_2_per_point5= +wave_2_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point7=my=if(above(my,.9),(.9-my),my); +wave_2_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point9=my=if(below(my,.1),(.9+my),my); +wave_2_per_point10= +wave_2_per_point11=x=mx; +wave_2_per_point12=y=my; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.400000 +wave_3_per_point1=ma=rand(100); +wave_3_per_point2= +wave_3_per_point3=mx=mx+(.02*cos(ma)); +wave_3_per_point4=my=my+(.02*sin(ma)); +wave_3_per_point5= +wave_3_per_point6=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point7=my=if(above(my,.9),(.9-my),my); +wave_3_per_point8=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point9=my=if(below(my,.1),(.9+my),my); +wave_3_per_point10= +wave_3_per_point11=x=mx; +wave_3_per_point12=y=my; +wave_3_per_point13= +wave_3_per_point14=g=above(bass_att,1)*bass; +wave_3_per_point15=r=treb*.7; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.621742 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.347847 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.300000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.662306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.500000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=cx=(treb+bass)*.6; +per_pixel_1=//rot=rad*.1*(treb_att-.7); +per_pixel_2=//zoom=zoom+(rad*.1*(bass_att-.7)); +per_pixel_3= +per_pixel_4=//dy=dy+(above(bass,1)*(bass_att-1.15)*.02); +per_pixel_5= +per_pixel_6=//rot=rot+(pow(bass_att,bass)*mid*sin(ang)*rad*.1); +per_pixel_7=//dy=dy+(above(treb_att,1.2)*pow(treb_att,treb)*rad); +per_pixel_8= +per_pixel_9=rot1=(above(treb,1)*rad*treb_att*.01); +per_pixel_10=rot2=(above(treb,1.1)*rad*bass*.01); +per_pixel_11=rot3=(above(treb,1.2)*rad*bass*sin(time)*.01); +per_pixel_12=rot4=(above(treb,1.3)*rad*treb*.1); +per_pixel_13=rot5=(above(treb,1.4)*rad*bass_att*treb_att*.1); +per_pixel_14= +per_pixel_15=rot=max(rot1,max(rot2,max(rot3,max(rot4,rot5)))); +per_pixel_16= +per_pixel_17=zoom1=(above(bass,1)*rad*.1); +per_pixel_18=zoom2=(above(bass,1.1)*rad*bass_att*-.1); +per_pixel_19=zoom3=(above(bass,1.2)*rad*bass_att*sin(time)*.1); +per_pixel_20=zoom4=(above(bass,1.4)*ang*bass_att*-.1); +per_pixel_21= +per_pixel_22=dy=max(zoom1,max(zoom2,max(zoom3,zoom4))); diff --git a/presets/presets_tryptonaut/fiShbRaiN - psychotic meltdown.milk b/presets/presets_tryptonaut/fiShbRaiN - psychotic meltdown.milk new file mode 100755 index 0000000000..d12affab96 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - psychotic meltdown.milk @@ -0,0 +1,305 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.770001 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.059151 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=3.749272 +fWarpScale=0.721417 +fZoomExponent=0.255373 +fShader=0.500000 +zoom=0.989617 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.030301 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.100000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +wave_3_per_point18= +wave_3_per_point19=r=treb_att*.7; +wave_3_per_point20=g=bass_att*.6; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.700000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.134784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.220188 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x=.3+(rand(10)*.3); +shape_0_per_frame2=rad=bass*.4; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.700000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.100000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=y=treb*.5; +shape_1_per_frame2=rad=treb_att*.4; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=cx=if(above(bass,1.4),rand(10)*.1,cx); +per_frame_2=cy=if(above(treb,1.4),rand(10)*.1,cy); +per_pixel_1=rot=rot+(pow(bass,rad)*.2*rad); +per_pixel_2=zoom=zoom+(pow(treb,ang)*.04*rad*sin(time)*above(treb,1)); +per_pixel_3= +per_pixel_4=dy=dy+(above(bass,1.3)*sin(time)*.03); +per_pixel_5=dx=dx+(above(treb,1.3)*sin(time*.23)*.03); diff --git a/presets/presets_tryptonaut/fiShbRaiN - the adventures of prismo jenkins.milk b/presets/presets_tryptonaut/fiShbRaiN - the adventures of prismo jenkins.milk new file mode 100755 index 0000000000..c24b127153 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - the adventures of prismo jenkins.milk @@ -0,0 +1,351 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.280000 +fDecay=0.980000 +fVideoEchoZoom=1.228230 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=1.254861 +fShader=1.0 +zoom=0.970118 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=0.999999 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=64.0 +nMotionVectorsY=48.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.0 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=branch=rand(2); +wave_0_per_point2= +wave_0_per_point3=//base +wave_0_per_point4=wx=if(equal(sc,0),.5,wx); +wave_0_per_point5=wy=if(equal(sc,0),0,wy); +wave_0_per_point6= +wave_0_per_point7=wx=if(equal(sc,1),.5,wx); +wave_0_per_point8=wy=if(equal(sc,1),.1,wy); +wave_0_per_point9= +wave_0_per_point10=//calculate previous branch length +wave_0_per_point11=d=if(below(sc,2),.3,.7*d); +wave_0_per_point12= +wave_0_per_point13=//angle +wave_0_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_0_per_point15= +wave_0_per_point16=wa=if(below(sc,2),3.1415927*.5,wa+wainc); +wave_0_per_point17= +wave_0_per_point18=//branches +wave_0_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_0_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_0_per_point21= +wave_0_per_point22=//sample count +wave_0_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_0_per_point24= +wave_0_per_point25=a=if(below(sc,2),0,.1); +wave_0_per_point26= +wave_0_per_point27=x=wx; +wave_0_per_point28=y=wy; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_point1=branch=rand(2); +wave_1_per_point2= +wave_1_per_point3=//base +wave_1_per_point4=wx=if(equal(sc,0),.5,wx); +wave_1_per_point5=wy=if(equal(sc,0),1,wy); +wave_1_per_point6= +wave_1_per_point7=wx=if(equal(sc,1),.5,wx); +wave_1_per_point8=wy=if(equal(sc,1),.9,wy); +wave_1_per_point9= +wave_1_per_point10=//calculate previous branch length +wave_1_per_point11=d=if(below(sc,2),.3,.7*d); +wave_1_per_point12= +wave_1_per_point13=//angle +wave_1_per_point14=wainc=if(equal(branch,1),.2+sin(time),-.2); +wave_1_per_point15= +wave_1_per_point16=wa=if(below(sc,2),3.1415927*1.5,wa+wainc); +wave_1_per_point17= +wave_1_per_point18=//branches +wave_1_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_1_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_1_per_point21= +wave_1_per_point22=//sample count +wave_1_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_1_per_point24= +wave_1_per_point25=a=if(below(sc,2),0,.1); +wave_1_per_point26= +wave_1_per_point27=x=wx; +wave_1_per_point28=y=wy; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_point1=branch=rand(2); +wave_2_per_point2= +wave_2_per_point3=//base +wave_2_per_point4=wx=if(equal(sc,0),0,wx); +wave_2_per_point5=wy=if(equal(sc,0),.5,wy); +wave_2_per_point6= +wave_2_per_point7=wx=if(equal(sc,1),.1,wx); +wave_2_per_point8=wy=if(equal(sc,1),.5,wy); +wave_2_per_point9= +wave_2_per_point10=//calculate previous branch length +wave_2_per_point11=d=if(below(sc,2),.3,.7*d); +wave_2_per_point12= +wave_2_per_point13=//angle +wave_2_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_2_per_point15= +wave_2_per_point16=wa=if(below(sc,2),3.1415927*2,wa+wainc); +wave_2_per_point17= +wave_2_per_point18=//branches +wave_2_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_2_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_2_per_point21= +wave_2_per_point22=//sample count +wave_2_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_2_per_point24= +wave_2_per_point25=a=if(below(sc,2),0,.1); +wave_2_per_point26= +wave_2_per_point27=x=wx; +wave_2_per_point28=y=wy; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=branch=rand(2); +wave_3_per_point2= +wave_3_per_point3=//base +wave_3_per_point4=wx=if(equal(sc,0),1,wx); +wave_3_per_point5=wy=if(equal(sc,0),.5,wy); +wave_3_per_point6= +wave_3_per_point7=wx=if(equal(sc,1),.9,wx); +wave_3_per_point8=wy=if(equal(sc,1),.5,wy); +wave_3_per_point9= +wave_3_per_point10=//calculate previous branch length +wave_3_per_point11=d=if(below(sc,2),.3,.7*d); +wave_3_per_point12= +wave_3_per_point13=//angle +wave_3_per_point14=wainc=if(equal(branch,1),.25+cos(time),-.25); +wave_3_per_point15= +wave_3_per_point16=wa=if(below(sc,2),3.1415927*1,wa+wainc); +wave_3_per_point17= +wave_3_per_point18=//branches +wave_3_per_point19=wx=if(above(sc,2),wx+cos(wa)*d,wx); +wave_3_per_point20=wy=if(above(sc,2),wy+sin(wa)*d,wy); +wave_3_per_point21= +wave_3_per_point22=//sample count +wave_3_per_point23=sc=if(equal(sc,11),0,sc+1); +wave_3_per_point24= +wave_3_per_point25=a=if(below(sc,2),0,.1); +wave_3_per_point26= +wave_3_per_point27=x=wx; +wave_3_per_point28=y=wy; +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=1.468146 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=0.639039 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=0.5 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=1.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shape_0_per_frame1=ang=time*.1; +shape_0_per_frame2= +shape_0_per_frame3=sides=int(abs(sin(time*.5)*7)); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.027430 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=0.050000 +shapecode_1_r2=1.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.0 +shape_1_per_frame1=ang=time*.1; +shape_1_per_frame2= +shape_1_per_frame3=r=.7+(sin(time)*.3); +shape_1_per_frame4=g=.7+(cos(time)*.3); +shape_1_per_frame5=b=.7+(sin(time+.12)*.3); +shape_1_per_frame6= +shape_1_per_frame7=rad=rad+(treb_att*bass_att*.5); +shape_1_per_frame8=x=.5+(sin(time)*.5); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.025080 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=0.050000 +shapecode_2_r2=1.0 +shapecode_2_g2=1.0 +shapecode_2_b2=1.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.0 +shape_2_per_frame1=ang=time*.25; +shape_2_per_frame2= +shape_2_per_frame3=g=.7+(sin(time)*.3); +shape_2_per_frame4=b=.7+(cos(time)*.3); +shape_2_per_frame5=r=.7+(sin(time+.12)*.3); +shape_2_per_frame6= +shape_2_per_frame7=r2=.7+(sin(time)*.3); +shape_2_per_frame8=g2=.7+(cos(time)*.3); +shape_2_per_frame9=b2=.7+(sin(time+.12)*.3); +shape_2_per_frame10= +shape_2_per_frame11=rad=rad+(treb_att*bass_att*.5); +shape_2_per_frame12=y=.5+(sin(time)*.25); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=2.667173 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=0.608038 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=0.1 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.010000 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); diff --git a/presets/presets_tryptonaut/fiShbRaiN - the dark side of the moon.milk b/presets/presets_tryptonaut/fiShbRaiN - the dark side of the moon.milk new file mode 100755 index 0000000000..25e437e1d0 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - the dark side of the moon.milk @@ -0,0 +1,224 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.070000 +fDecay=0.925000 +fVideoEchoZoom=1.828659 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.711382 +fWaveScale=0.389574 +fWaveSmoothing=0.270000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=5.995790 +fWarpScale=1.624064 +fZoomExponent=2.518210 +fShader=0.700000 +zoom=1.009509 +rot=-0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.599179 +sx=0.999998 +sy=0.999999 +wave_r=0.750000 +wave_g=0.750000 +wave_b=0.750000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.100000 +ib_size=0.260000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.100000 +nMotionVectorsX=31.999994 +nMotionVectorsY=38.400002 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.800000 +mv_g=0.887329 +mv_b=1.000000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.644627 +wavecode_0_smoothing=0.900000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=((int(sample*10))%10*.1)+.05; +wave_0_per_point2=y=y-.4; +wave_0_per_point3=b=.8-y; +wave_0_per_point4=g=.8-y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=3.300373 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.530000 +shapecode_0_rad=1.637956 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570797 +shapecode_0_tex_zoom=0.493378 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time*.5; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.800000 +shapecode_1_g=0.700000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=.5+(sin(time+bass_att*.5)*.5); +shape_1_per_frame2=y=.5+(cos(time+treb_att*.2)*.5); +shape_1_per_frame3=rad=rad+(treb)*.18; +shape_1_per_frame4=r=treb_att*.5; +shape_1_per_frame5=g=bass_att*.5; +shape_1_per_frame6=b=rand(100)*.01; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x=rand(100)*.01; +shape_2_per_frame2=y=rand(100)*.01; +shape_2_per_frame3=rad=rad+(bass)*.18; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.440437 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.334692 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.600000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.200000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.030000 +shape_3_per_frame1=ang=time; +shape_3_per_frame2=rad=rad+(treb*.1); +per_frame_1=mv_a=sin(time*.3); diff --git a/presets/presets_tryptonaut/fiShbRaiN - toffee cream and icing sugar.milk b/presets/presets_tryptonaut/fiShbRaiN - toffee cream and icing sugar.milk new file mode 100755 index 0000000000..c8d96256fe --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - toffee cream and icing sugar.milk @@ -0,0 +1,291 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.400000 +fDecay=0.980000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.951307 +fZoomExponent=0.255373 +fShader=0.500000 +zoom=0.960513 +rot=-0.040000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.972365 +sx=1.030301 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=20.160004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.400000 +mv_r=1.000000 +mv_g=0.400000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=ma=.5; +wave_0_init2=my=.5; +wave_0_init3=md=0; //direction 0 1 2 3 +wave_0_per_point1=oldmd=md; +wave_0_per_point2=md=(md+rand(4))%4; +wave_0_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_0_per_point4= +wave_0_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_0_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_0_per_point7=my=my+(equal(md,2)*.002*treb); +wave_0_per_point8=my=my-(equal(md,3)*.002*treb); +wave_0_per_point9= +wave_0_per_point10=mx=if(above(mx,.9),.5,mx); +wave_0_per_point11=mx=if(below(mx,.1),.5,mx); +wave_0_per_point12=my=if(above(my,.9),.5,my); +wave_0_per_point13=my=if(below(my,.1),.5,my); +wave_0_per_point14= +wave_0_per_point15=x=mx; +wave_0_per_point16=y=my; +wave_0_per_point17=a=bass*.1; +wave_0_per_point18= +wave_0_per_point19=r=bass*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=mx=.5; +wave_1_init2=my=.5; +wave_1_init3=md=1; +wave_1_per_point1=oldmd=md; +wave_1_per_point2=md=(md+rand(4))%4; +wave_1_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_1_per_point4= +wave_1_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_1_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_1_per_point7=my=my+(equal(md,2)*.002*treb); +wave_1_per_point8=my=my-(equal(md,3)*.002*treb); +wave_1_per_point9= +wave_1_per_point10=mx=if(above(mx,.9),.5,mx); +wave_1_per_point11=mx=if(below(mx,.1),.5,mx); +wave_1_per_point12=my=if(above(my,.9),.5,my); +wave_1_per_point13=my=if(below(my,.1),.5,my); +wave_1_per_point14= +wave_1_per_point15=x=mx; +wave_1_per_point16=y=my; +wave_1_per_point17=a=bass*.1; +wave_1_per_point18= +wave_1_per_point19=g=treb*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=mx=.5; +wave_2_init2=my=.5; +wave_2_init3=md=2; +wave_2_per_point1=oldmd=md; +wave_2_per_point2=md=(md+rand(4))%4; +wave_2_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_2_per_point4= +wave_2_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_2_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_2_per_point7=my=my+(equal(md,2)*.002*treb); +wave_2_per_point8=my=my-(equal(md,3)*.002*treb); +wave_2_per_point9= +wave_2_per_point10=mx=if(above(mx,.9),.5,mx); +wave_2_per_point11=mx=if(below(mx,.1),.5,mx); +wave_2_per_point12=my=if(above(my,.9),.5,my); +wave_2_per_point13=my=if(below(my,.1),.5,my); +wave_2_per_point14= +wave_2_per_point15=x=mx; +wave_2_per_point16=y=my; +wave_2_per_point17=a=bass*.1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=mx=.5; +wave_3_init2=my=.4; +wave_3_init3=md=3; +wave_3_per_point1=oldmd=md; +wave_3_per_point2=md=(md+rand(4))%4; +wave_3_per_point3=md=if(equal(md,oldmd),(md+1)%4,md); +wave_3_per_point4= +wave_3_per_point5=mx=mx+(equal(md,0)*.002*bass); +wave_3_per_point6=mx=mx-(equal(md,1)*.002*bass); +wave_3_per_point7=my=my+(equal(md,2)*.002*treb); +wave_3_per_point8=my=my-(equal(md,3)*.002*treb); +wave_3_per_point9= +wave_3_per_point10=mx=if(above(mx,.9),.5,mx); +wave_3_per_point11=mx=if(below(mx,.1),.5,mx); +wave_3_per_point12=my=if(above(my,.9),.5,my); +wave_3_per_point13=my=if(below(my,.1),.5,my); +wave_3_per_point14= +wave_3_per_point15=x=mx; +wave_3_per_point16=y=my; +wave_3_per_point17=a=bass*.1; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.203212 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.220188 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 diff --git a/presets/presets_tryptonaut/fiShbRaiN - when robots take over the world.milk b/presets/presets_tryptonaut/fiShbRaiN - when robots take over the world.milk new file mode 100755 index 0000000000..c712813a92 --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - when robots take over the world.milk @@ -0,0 +1,217 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.985000 +fVideoEchoZoom=2.722646 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.640708 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=8.311067 +fShader=1.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.500000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.216703 +wavecode_0_smoothing=1.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.130000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.300000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.300000 +shape_0_per_frame1=rad=rad+(.3*bass); +shape_0_per_frame2=y=treb*.5; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.330037 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=rad=rad+(treb*.5); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.200000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=rad=rad+mid*.5; +shape_2_per_frame2=x=x+(sin(time*.3)*.2); +shape_2_per_frame3=y=y+(sin(time+.33)*.2); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_r=rand(100)*.01; +per_frame_2=wave_g=bass*.5; +per_pixel_1=rot=rot+((rand(10)-5)*.001); +per_pixel_2=rot=rot+(rad*.01); diff --git a/presets/presets_tryptonaut/fiShbRaiN - white scream firefly.milk b/presets/presets_tryptonaut/fiShbRaiN - white scream firefly.milk new file mode 100755 index 0000000000..c070bcccac --- /dev/null +++ b/presets/presets_tryptonaut/fiShbRaiN - white scream firefly.milk @@ -0,0 +1,223 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.910000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285745 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=100.000000 +fWarpScale=1.951295 +fZoomExponent=0.010000 +fShader=1.000000 +zoom=0.904847 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=2.905227 +sx=0.999995 +sy=0.999998 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.741923 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=treb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.089252 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.999996 +shapecode_0_r=0.900000 +shapecode_0_g=0.400000 +shapecode_0_b=0.800000 +shapecode_0_a=0.800000 +shapecode_0_r2=0.800000 +shapecode_0_g2=0.850000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.010000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=time; +shape_0_per_frame2=rad=rad+(treb*.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=x-(bass*.05); +shape_1_per_frame2=y=y-(treb*.02)+(sin(time)*.05); +shape_1_per_frame3=rad=rad+treb*.1; +shape_1_per_frame4=g=treb*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.350000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.662308 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.550449 +shapecode_2_r=0.400000 +shapecode_2_g=0.800000 +shapecode_2_b=0.900000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.800000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad=mid_att*.07; +per_frame_1=sx=bass; +per_frame_2=wave_r=treb*.5; +per_frame_3=wave_g=wave_r; +per_frame_4=wave_b=1; +per_frame_5=echo_zoom=echo_zoom+(above(bass,1.3)*bass*.1); +per_pixel_1=rot=(ang*sin(time)*.02); +per_pixel_2=zoom=zoom+(above(y,.4)*below(y,.6)*bass*.1)*rad; diff --git a/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+ wrepwrimindloss w8.milk b/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+ wrepwrimindloss w8.milk new file mode 100755 index 0000000000..929f9307a0 --- /dev/null +++ b/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+ wrepwrimindloss w8.milk @@ -0,0 +1,651 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.800 +fWaveScale=0.010 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=5.921 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00030 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.59124 +sx=1.00000 +sy=0.99998 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.050 +ob_b=0.100 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.500 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.500 +wavecode_0_g=0.500 +wavecode_0_b=1.000 +wavecode_0_a=0.400 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.20929 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.300 +wavecode_1_g=0.200 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.800 +wavecode_2_g=0.800 +wavecode_2_b=1.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.40000 +wavecode_3_r=1.000 +wavecode_3_g=0.600 +wavecode_3_b=1.000 +wavecode_3_a=0.000 +shapecode_0_enabled=1 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=200 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.87965 +shapecode_0_tex_zoom=0.19950 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=sample=instance/num_inst; +shape_0_per_frame3= +shape_0_per_frame4=rad= (16+14*sin(.1*time))*rad/(.3+abs(z3)*d); +shape_0_per_frame5= +shape_0_per_frame6=/////shifter's cube +shape_0_per_frame7= +shape_0_per_frame8=it = it+1; +shape_0_per_frame9=sz = 1; +shape_0_per_frame10=ss = sample*6; +shape_0_per_frame11=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +shape_0_per_frame12=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +shape_0_per_frame13=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +shape_0_per_frame14=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +shape_0_per_frame15=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +shape_0_per_frame16=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +shape_0_per_frame17= +shape_0_per_frame18=my_x =ox+.1*sin(q2); +shape_0_per_frame19=my_y =oy+.1*sin(q3); +shape_0_per_frame20=my_z =oz+.1*sin(q1); +shape_0_per_frame21= +shape_0_per_frame22= +shape_0_per_frame23=/////// rotations +shape_0_per_frame24= +shape_0_per_frame25=d = 3; +shape_0_per_frame26=zoom = .9; +shape_0_per_frame27= +shape_0_per_frame28=w3 = q3; +shape_0_per_frame29=w2 = q1; +shape_0_per_frame30=w1 = q2; +shape_0_per_frame31= +shape_0_per_frame32=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame33=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame34=z1 = my_z; +shape_0_per_frame35= +shape_0_per_frame36=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame37=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame38=y2 = y1; +shape_0_per_frame39= +shape_0_per_frame40=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame41=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame42=x3 = x2; +shape_0_per_frame43= +shape_0_per_frame44=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame45=w = atan2(x3,y3); +shape_0_per_frame46=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame47=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame48= +shape_0_per_frame49=my_x = zoom*sin(w)*p; +shape_0_per_frame50=my_y = zoom*cos(w)*p; +shape_0_per_frame51= +shape_0_per_frame52=x = 0.5 + my_x/q6; +shape_0_per_frame53=y = 0.5 + my_y/q5; +shape_0_per_frame54= +shape_0_per_frame55=r=.5+.5*sin(22*sample+q2); +shape_0_per_frame56=g=.5+.5*sin(26*sample+q1); +shape_0_per_frame57=b=.5+.5*sin(14*sample+q3); +shape_0_per_frame58= +shape_0_per_frame59=r2=.1*r; +shape_0_per_frame60=g2=.1*g; +shape_0_per_frame61=b2=.1*b; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=30 +shapecode_1_x=0.100 +shapecode_1_y=0.120 +shapecode_1_rad=0.29767 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.050 +shape_1_per_frame1=sample=instance/num_inst; +shape_1_per_frame2= +shape_1_per_frame3=y=y+3*y*sample*sample; +shape_1_per_frame4= +shape_1_per_frame5=tex_zoom=1.5+1.*sin(144*sample+time); +shape_1_per_frame6=tex_ang=5*q1*sin(388*sample); +shape_1_per_frame7=r=.5+.5*sin(sample+time); +shape_1_per_frame8=r2=r; +shape_1_per_frame9=g=.5+.5*sin(2*sample+1.2*time); +shape_1_per_frame10=g2=g; +shape_1_per_frame11=b=.5+.5*sin(3*sample+1.3*time); +shape_1_per_frame12=b2=b; +shapecode_2_enabled=1 +shapecode_2_sides=12 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=92 +shapecode_2_x=0.800 +shapecode_2_y=0.500 +shapecode_2_rad=0.02705 +shapecode_2_ang=1.57080 +shapecode_2_tex_ang=1.25664 +shapecode_2_tex_zoom=3.07268 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=t1 = time - int (time); +shape_2_per_frame2=sample = instance/num_inst; +shape_2_per_frame3=t_abs = sample*3; +shape_2_per_frame4=t_rel = sample-time/5; +shape_2_per_frame5= +shape_2_per_frame6=ampl = 2*t_abs/2 ; +shape_2_per_frame7= +shape_2_per_frame8=k1=sin(time/13); +shape_2_per_frame9=k2=sin(time/12); +shape_2_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_2_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_2_per_frame12=oz = -1 ; +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_2_per_frame16=g = sqr(sin(t_rel)); +shape_2_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_2_per_frame18= +shape_2_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_2_per_frame20= +shape_2_per_frame21=xang = time/9.5; +shape_2_per_frame22=yang = 0*time/7; +shape_2_per_frame23=zang = -time/22; +shape_2_per_frame24=fov = 0.5; +shape_2_per_frame25= +shape_2_per_frame26= +shape_2_per_frame27=// Rotation um x,y,z +shape_2_per_frame28= +shape_2_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_2_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_2_per_frame31= +shape_2_per_frame32=ox = mx; +shape_2_per_frame33=oy = my; +shape_2_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_2_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_2_per_frame36=ox = mx; +shape_2_per_frame37=oz = mz; +shape_2_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_2_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_2_per_frame40=oy = my; +shape_2_per_frame41=oz = mz; +shape_2_per_frame42= +shape_2_per_frame43=oz = oz - 6; +shape_2_per_frame44=x = ox*fov/oz +0.5; +shape_2_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_2_per_frame46=y = oy*fov/oz + 0.5; +shape_2_per_frame47= +shape_2_per_frame48=a=1/mz*.5; +shape_2_per_frame49=//a2=1/mz*.5; +shape_2_per_frame50=//border_a=1/mz*.5; +shape_2_per_frame51=rad=1/mz*.005; +shapecode_3_enabled=1 +shapecode_3_sides=12 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=92 +shapecode_3_x=0.800 +shapecode_3_y=0.500 +shapecode_3_rad=0.19790 +shapecode_3_ang=1.57080 +shapecode_3_tex_ang=1.25664 +shapecode_3_tex_zoom=3.07268 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=t1 = time - int (time); +shape_3_per_frame2=sample = instance/num_inst; +shape_3_per_frame3=t_abs = sample*3; +shape_3_per_frame4=t_rel = sample-time/5; +shape_3_per_frame5= +shape_3_per_frame6=ampl = 2*t_abs/2 ; +shape_3_per_frame7= +shape_3_per_frame8=k1=sin(time/13); +shape_3_per_frame9=k2=sin(time/12); +shape_3_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_3_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_3_per_frame12=oz = -1 ; +shape_3_per_frame13= +shape_3_per_frame14= +shape_3_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_3_per_frame16=g = sqr(sin(t_rel)); +shape_3_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_3_per_frame18= +shape_3_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_3_per_frame20= +shape_3_per_frame21=xang = time/9.5; +shape_3_per_frame22=yang = 0*time/7; +shape_3_per_frame23=zang = -time/22; +shape_3_per_frame24=fov = 0.5; +shape_3_per_frame25= +shape_3_per_frame26= +shape_3_per_frame27=// Rotation um x,y,z +shape_3_per_frame28= +shape_3_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_3_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_3_per_frame31= +shape_3_per_frame32=ox = mx; +shape_3_per_frame33=oy = my; +shape_3_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_3_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_3_per_frame36=ox = mx; +shape_3_per_frame37=oz = mz; +shape_3_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_3_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_3_per_frame40=oy = my; +shape_3_per_frame41=oz = mz; +shape_3_per_frame42= +shape_3_per_frame43=oz = oz - 6; +shape_3_per_frame44=x = ox*fov/oz +0.5; +shape_3_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_3_per_frame46=y = oy*fov/oz + 0.5; +shape_3_per_frame47= +shape_3_per_frame48=sides=int(rand(100)); +shape_3_per_frame49=ang=int(rand(628))/100; +shape_3_per_frame50=a=int(rand(1000))/1000; +shape_3_per_frame51=rad=int(rand(1000))/4000; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=wzoom = 0.18*sin(time); +per_frame_29=q3=wzoom; +per_frame_30=q1 = 0.8 - 0.3*sin(-time*1.3); +per_frame_31=q2 = 0.8 - 0.3*cos(-time); +per_frame_32=monitor=fps; +per_frame_33=vol = 0.1*(vol*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_34=q20 = vol; +per_frame_35= +per_frame_36=mtime = mtime+vol*0.05; +per_frame_37=rx = 0.3+0.05*sin(mtime*0.3); +per_frame_38=ry = 0.5+0.05*sin(mtime*0.4); +per_frame_39=q4=rx; +per_frame_40=q5=ry; +per_frame_41=tx = 0.5+0.4*sin(mtime*0.18); +per_frame_42=ty = 0.5+1.3*sin(mtime*0.14); +per_frame_43=q6=tx; +per_frame_44=q7=ty; +per_frame_45= +per_frame_46=tr = 0.5 + 0.4*(0.6*sin(mtime*0.64) + 0.4*sin(mtime*0.32)); +per_frame_47=tb = 0.5 + 0.4*(0.6*sin(-mtime*0.24) + 0.4*sin(mtime*0.72)); +per_frame_48=tg = 0.5 + 0.4*(0.6*sin(mtime*0.42) + 0.4*cos(mtime*0.50)); +per_frame_49=q11=tr; +per_frame_50=q12=tg; +per_frame_51=q13=rb; +per_frame_52= +per_frame_53= +per_frame_54= +per_frame_55=bass_thresh = above(bass_att,bass_thresh)*2 + +per_frame_56= (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_57=count = equal(bass_thresh, 2)*1 + (1-equal(bass_thresh, 2))*count; +per_frame_58=count = count - above(count, 0.02)*0.02; +per_frame_59=q10=count; +per_frame_60= +per_frame_61=// raytraced sphere code +per_frame_62= +per_frame_63=d = 20; // distance of the sphere, the farther you're away the more you'll see on the horizon +per_frame_64=z = 0.4; // distance of the pane where the scene is projected on, wider distance = smaller apex angle of the camera, very small distances = fish eyes view +per_frame_65= +per_frame_66=zz = 10 + bass_att*2; // linear zoom +per_frame_67= +per_frame_68=pi = asin(1)*2; +per_frame_69=pi2inv = 0.5/pi; +per_frame_70=maskangle = asin( 1/d); +per_frame_71=q32 = maskangle; // hit = (cameras angle < mask_angle) +per_frame_72=q31 = d; +per_frame_73=q30 = z; +per_frame_74=q29 = pi2inv; +per_frame_75=q28 = pi; +per_frame_76=q27 = 1/zz; +per_frame_77=q26 = time; +per_frame_78=v = 0.4; +per_frame_79=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_80=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_81=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_82= +per_frame_83=n = n + j1*0.0052; +per_frame_84=n1 = n1 + j2*0.0052; +per_frame_85=n2 = n2 + j3*0.0052; +per_frame_86= +per_frame_87= +per_frame_88=w1 = n*0.01; // solid angles to rotate the sphere in its origin +per_frame_89=w2 = n1*0.01; +per_frame_90=w3 = n2*0.01; +per_frame_91= +per_frame_92=q20 = cos(w1); +per_frame_93=q21 = sin(w1); +per_frame_94=q22 = cos(w2); +per_frame_95=q23 = sin(w2); +per_frame_96=q24 = cos(w3); +per_frame_97=q25 = sin(w3); +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float2 uv1, uv6; +warp_4=`float dx,dy; +warp_5=` +warp_6=`shader_body { +warp_7=` +warp_8=`uv1 = (uv-.5); +warp_9=` +warp_10=`float2 ang2= tex2D (sampler_noise_hq,uv1/3+.006*time).xy; +warp_11=`uv6 = mul(uv1,float2x2(ang2.y,-ang2.x,ang2.x,ang2.y)); +warp_12=` +warp_13=`mus = abs(.5*cos(uv6.y*14)-(cos(uv6.x*71))); +warp_14=`mus *= float3 (1,.96,.9)/25; +warp_15=` +warp_16=`uv6 = .2*sin(12*uv+rand_frame); +warp_17=`float3 dots = .001/length(uv6)* float3 (0.2,1,1); +warp_18=` +warp_19=`//dots = lum(tex2D (sampler_noise_hq,uv +rand_frame)); +warp_20=`//dots = (dots-.7) * (dots >= .7) * float3 (0.2,1,1); +warp_21=` +warp_22=`mus -= dots; +warp_23=` +warp_24=` +warp_25=`float3 blur = GetBlur1(frac(uv)); +warp_26=` +warp_27=`float2 hor = float2 (texsize.z,0); +warp_28=`float2 ver = float2 (0,texsize.w); +warp_29=`hor = float2 (.004,0); +warp_30=`ver = float2 (0,.004); +warp_31=` +warp_32=` +warp_33=` +warp_34=`float dx = lum(GetPixel(uv+hor)-GetPixel(uv-hor)); +warp_35=`float dy = lum(GetPixel(uv+ver)-GetPixel(uv-ver)); +warp_36=` +warp_37=`float2 zz = float2 (dx,dy); +warp_38=` +warp_39=` +warp_40=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_41=`crisp +=.015 - length(zz)*blur/1.5; +warp_42=` +warp_43=`float3 ret1 = crisp - lum(blur)*.012 + mus; +warp_44=`//ret1 = abs(mus)/2; +warp_45=`ret = ret1 * .99 - .04 ; +warp_46=`} +comp_1=`float2 polar, factorA, factorB, product; +comp_2=` +comp_3=`sampler sampler_pano_starsmap; +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` +comp_8=` +comp_9=`float z = q30; +comp_10=`float d = q31; +comp_11=`float pi = q28; +comp_12=`float pi2inv = q29; +comp_13=`float mask_apex = q32; +comp_14=`float zoom = q27; +comp_15=` +comp_16=`float2 c = zoom*(uv-0.5)*aspect.xy; +comp_17=` +comp_18=`float camera_apex = atan2( length(c),z); +comp_19=` +comp_20=`bool mask = mask_apex >= camera_apex; +comp_21=` +comp_22=`float longitude = atan2(c.x,c.y); +comp_23=`float latitude = (pi - camera_apex + asin(d*sin(camera_apex))); +comp_24=` +comp_25=`float2 polar = float2(longitude,latitude); +comp_26=` +comp_27=`float3 p = float3( sin(polar.x)*sin(polar.y),cos(polar.x)*sin(polar.y),cos(polar.y)); +comp_28=` +comp_29=`factorA = p.zy; +comp_30=`factorB = float2(q20,q21); +comp_31=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_32=`p.zy = product.xy; +comp_33=` +comp_34=`factorA = p.zx; +comp_35=`factorB = float2(q22,q23); +comp_36=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_37=`p.zx = product.xy; +comp_38=` +comp_39=`factorA = p.yx; +comp_40=`factorB = float2(q24,q25); +comp_41=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +comp_42=`p.yx = product.xy; +comp_43=` +comp_44=`polar = float2(atan2(p.z,p.x),atan2(p.y,length(p.xz)))*pi2inv*float2(1,2)+float2(0,0.5); +comp_45=` +comp_46=`//Eo.S's mirror code! +comp_47=`float2 polar2 = 1.0 - abs( frac( polar ) * 2.0 - 1.0 ); +comp_48=` +comp_49=`float2 uv1 = float2(polar2.x-q6, polar2.y-q5); +comp_50=` +comp_51=`float2 hor = float2 (texsize.z*1,0); +comp_52=`float2 ver = float2 (0,texsize.w*1); +comp_53=`float dx = GetPixel (polar2-hor) - GetPixel (polar2+hor); +comp_54=`float dy = GetPixel (polar2-ver) - GetPixel (polar2+ver); +comp_55=`float2 dz = float2 (dx,dy); +comp_56=` +comp_57=`uv1 = uv1*0+.3*cos(uv1*2) - dz; +comp_58=`float dots = saturate(.04/length(uv1)); +comp_59=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz; +comp_60=`float3 dots2 = saturate(.04/length(uv1)); +comp_61=`dots -= lum(GetBlur2(polar2)); +comp_62=` +comp_63=`ret = dots + GetPixel(polar2)*12*dots2; +comp_64=` +comp_65=`//ret = tex2D(sampler_main,polar2); +comp_66=` +comp_67=`//ret = lerp(ret,1,mask*tex2d(sampler_pano_earth_clouds,polar)*mid_att*0.5); +comp_68=` +comp_69=` +comp_70=`c = -(uv-0.5)*aspect.xy; +comp_71=`polar = float2( atan2(c.x,z), atan2(c.y,z)); +comp_72=`p = float3( sin(polar.x)*cos(polar.y),sin(polar.y)*cos(polar.x),cos(polar.x)*cos(polar.y)); +comp_73=`factorA = p.zy;factorB = float2(q20,q21); +comp_74=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_75=`p.zy = product.xy;factorA = p.zx;factorB = float2(q22,q23); +comp_76=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_77=`p.zx = product.xy;factorA = p.yx;factorB = float2(q24,q25); +comp_78=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +comp_79=`p.yx = product.xy;polar = float2( atan2(p.x,p.z),atan2(p.y,length(p.xz))*2)*pi2inv + float2(0,0.5); +comp_80=` +comp_81=`polar2 = 1.0 - abs( frac( polar ) * 2.0 - 1.0 ); +comp_82=` +comp_83=`uv1 = float2(polar2.x-q6, polar2.y-q5); +comp_84=` +comp_85=`hor = float2 (texsize.z,0); +comp_86=`ver = float2 (0,texsize.w*1); +comp_87=`dx = GetPixel (polar2-hor) - GetPixel (polar2+hor); +comp_88=`dy = GetPixel (polar2-ver) - GetPixel (polar2+ver); +comp_89=`dz = float2 (dx,dy); +comp_90=` +comp_91=`uv1 = uv1*0+.3*cos(uv1*2) - dz; +comp_92=`dots = saturate(.04/length(uv1)); +comp_93=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz; +comp_94=`dots2 = saturate(.04/length(uv1)); +comp_95=`dots -= lum(GetBlur2(polar2)); +comp_96=` +comp_97=`ret = lerp(ret,pow(dots + GetPixel(polar2)*12*dots2,1.75).yzx,(1-mask)); +comp_98=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_99=` ((uv1.xyy*q28 +comp_100=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_101=` ).xyz* +comp_102=` float3(1,1,0)*0.05 + +comp_103=` time*float3(0,0,1)*q31 +comp_104=` ); +comp_105=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_106=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_107=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_108=` +comp_109=`} +comp_110=` +comp_111=` diff --git a/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+.milk b/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+.milk new file mode 100755 index 0000000000..6abecab881 --- /dev/null +++ b/presets/presets_tryptonaut/flexi + cope - i blew you a soap bubble now what - feel the projection you are, connected to it all nz+.milk @@ -0,0 +1,475 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.222 +fWaveScale=0.685 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=5.921 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00030 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.59124 +sx=1.00000 +sy=0.99998 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.050 +ob_b=0.100 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=0.500 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.06283 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.080 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.080 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=additive = q1; +shape_0_per_frame2=a = if(q1,1,a); +shape_0_per_frame3=a2 = a; +shape_0_per_frame4=r = q1; +shape_0_per_frame5=r2 =q1; +shape_0_per_frame6=tex_zoom = 3 - 3*bass; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.79142 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.06283 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=0.080 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.080 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=additive = q1; +shape_1_per_frame2=a = if(q1,1,a); +shape_1_per_frame3=a2 = a; +shape_1_per_frame4=r = q1; +shape_1_per_frame5=r2 =q1; +shape_1_per_frame6=tex_zoom = 3 - 2*bass; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.91974 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=1.69646 +shapecode_2_tex_zoom=1.03030 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tex_zoom = q1+tex_zoom - 0.01*q2; +shape_2_per_frame2=a2 = 1; +shape_2_per_frame3=tex_ang = 0.2*q2 + sin(0.4*time); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=wzoom = 0.18*sin(time); +per_frame_29=q3=wzoom; +per_frame_30=q1 = 0.8 - 0.3*sin(-time*1.3); +per_frame_31=q2 = 0.8 - 0.3*cos(-time); +per_frame_32=monitor=fps; +per_frame_33=vol = 0.1*(vol*9 + (bass_att+mid_att+treb_att)*0.333333); +per_frame_34=q20 = vol; +per_frame_35= +per_frame_36=mtime = mtime+vol*0.05; +per_frame_37=rx = 0.3+0.05*sin(mtime*0.3); +per_frame_38=ry = 0.5+0.05*sin(mtime*0.4); +per_frame_39=q4=rx; +per_frame_40=q5=ry; +per_frame_41=tx = 0.5+0.4*sin(mtime*0.18); +per_frame_42=ty = 0.5+1.3*sin(mtime*0.14); +per_frame_43=q6=tx; +per_frame_44=q7=ty; +per_frame_45= +per_frame_46=tr = 0.5 + 0.4*(0.6*sin(mtime*0.64) + 0.4*sin(mtime*0.32)); +per_frame_47=tb = 0.5 + 0.4*(0.6*sin(-mtime*0.24) + 0.4*sin(mtime*0.72)); +per_frame_48=tg = 0.5 + 0.4*(0.6*sin(mtime*0.42) + 0.4*cos(mtime*0.50)); +per_frame_49=q11=tr; +per_frame_50=q12=tg; +per_frame_51=q13=rb; +per_frame_52= +per_frame_53= +per_frame_54= +per_frame_55=bass_thresh = above(bass_att,bass_thresh)*2 + +per_frame_56= (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_57=count = equal(bass_thresh, 2)*1 + (1-equal(bass_thresh, 2))*count; +per_frame_58=count = count - above(count, 0.02)*0.02; +per_frame_59=q10=count; +per_frame_60= +per_frame_61=// raytraced sphere code +per_frame_62= +per_frame_63=d = 20; // distance of the sphere, the farther you're away the more you'll see on the horizon +per_frame_64=z = 0.4; // distance of the pane where the scene is projected on, wider distance = smaller apex angle of the camera, very small distances = fish eyes view +per_frame_65= +per_frame_66=zz = 10 + bass_att*2; // linear zoom +per_frame_67= +per_frame_68=pi = asin(1)*2; +per_frame_69=pi2inv = 0.5/pi; +per_frame_70=maskangle = asin( 1/d); +per_frame_71=q32 = maskangle; // hit = (cameras angle < mask_angle) +per_frame_72=q31 = d; +per_frame_73=q30 = z; +per_frame_74=q29 = pi2inv; +per_frame_75=q28 = pi; +per_frame_76=q27 = 1/zz; +per_frame_77=q26 = time; +per_frame_78=v = 0.4; +per_frame_79=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_80=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_81=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_82= +per_frame_83=n = n + j1*0.0052; +per_frame_84=n1 = n1 + j2*0.0052; +per_frame_85=n2 = n2 + j3*0.0052; +per_frame_86= +per_frame_87= +per_frame_88=w1 = n*0.01; // solid angles to rotate the sphere in its origin +per_frame_89=w2 = n1*0.01; +per_frame_90=w3 = n2*0.01; +per_frame_91= +per_frame_92=q20 = cos(w1); +per_frame_93=q21 = sin(w1); +per_frame_94=q22 = cos(w2); +per_frame_95=q23 = sin(w2); +per_frame_96=q24 = cos(w3); +per_frame_97=q25 = sin(w3); +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_19=` ((uv1.xyy*q27 +warp_20=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_21=` ).xyz* +warp_22=` float3(1,1,0)*0.05 + +warp_23=` time*float3(0,0,1)*q29 +warp_24=` ); +warp_25=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_26=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_27=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_28=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_29=` ret -= 0.04; +warp_30=`} +comp_1=`float2 polar, factorA, factorB, product; +comp_2=` +comp_3=`sampler sampler_pano_starsmap; +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` +comp_8=` +comp_9=`float z = q30; +comp_10=`float d = q31; +comp_11=`float pi = q28; +comp_12=`float pi2inv = q29; +comp_13=`float mask_apex = q32; +comp_14=`float zoom = q27; +comp_15=` +comp_16=`float2 c = zoom*(uv-0.5)*aspect.xy; +comp_17=` +comp_18=`float camera_apex = atan2( length(c),z); +comp_19=` +comp_20=`bool mask = mask_apex >= camera_apex; +comp_21=` +comp_22=`float longitude = atan2(c.x,c.y); +comp_23=`float latitude = (pi - camera_apex + asin(d*sin(camera_apex))); +comp_24=` +comp_25=`float2 polar = float2(longitude,latitude); +comp_26=` +comp_27=`float3 p = float3( sin(polar.x)*sin(polar.y),cos(polar.x)*sin(polar.y),cos(polar.y)); +comp_28=` +comp_29=`factorA = p.zy; +comp_30=`factorB = float2(q20,q21); +comp_31=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_32=`p.zy = product.xy; +comp_33=` +comp_34=`factorA = p.zx; +comp_35=`factorB = float2(q22,q23); +comp_36=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_37=`p.zx = product.xy; +comp_38=` +comp_39=`factorA = p.yx; +comp_40=`factorB = float2(q24,q25); +comp_41=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +comp_42=`p.yx = product.xy; +comp_43=` +comp_44=`polar = float2(atan2(p.z,p.x),atan2(p.y,length(p.xz)))*pi2inv*float2(1,2)+float2(0,0.5); +comp_45=` +comp_46=`//Eo.S's mirror code! +comp_47=`float2 polar2 = 1.0 - abs( frac( polar ) * 2.0 - 1.0 ); +comp_48=` +comp_49=`float2 uv1 = float2(polar2.x-q6, polar2.y-q5); +comp_50=` +comp_51=`float2 hor = float2 (texsize.z*1,0); +comp_52=`float2 ver = float2 (0,texsize.w*1); +comp_53=`float dx = GetPixel (polar2-hor) - GetPixel (polar2+hor); +comp_54=`float dy = GetPixel (polar2-ver) - GetPixel (polar2+ver); +comp_55=`float2 dz = float2 (dx,dy); +comp_56=` +comp_57=`uv1 = uv1*0+.3*cos(uv1*2) - dz; +comp_58=`float dots = saturate(.04/length(uv1)); +comp_59=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz; +comp_60=`float3 dots2 = saturate(.04/length(uv1)); +comp_61=`dots -= lum(GetBlur2(polar2)); +comp_62=` +comp_63=`ret = dots + GetPixel(polar2)*12*dots2; +comp_64=` +comp_65=`//ret = tex2D(sampler_main,polar2); +comp_66=` +comp_67=`//ret = lerp(ret,1,mask*tex2d(sampler_pano_earth_clouds,polar)*mid_att*0.5); +comp_68=` +comp_69=` +comp_70=`c = -(uv-0.5)*aspect.xy; +comp_71=`polar = float2( atan2(c.x,z), atan2(c.y,z)); +comp_72=`p = float3( sin(polar.x)*cos(polar.y),sin(polar.y)*cos(polar.x),cos(polar.x)*cos(polar.y)); +comp_73=`factorA = p.zy;factorB = float2(q20,q21); +comp_74=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_75=`p.zy = product.xy;factorA = p.zx;factorB = float2(q22,q23); +comp_76=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); +comp_77=`p.zx = product.xy;factorA = p.yx;factorB = float2(q24,q25); +comp_78=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); +comp_79=`p.yx = product.xy;polar = float2( atan2(p.x,p.z),atan2(p.y,length(p.xz))*2)*pi2inv + float2(0,0.5); +comp_80=` +comp_81=`polar2 = 1.0 - abs( frac( polar ) * 2.0 - 1.0 ); +comp_82=` +comp_83=`uv1 = float2(polar2.x-q6, polar2.y-q5); +comp_84=` +comp_85=`hor = float2 (texsize.z,0); +comp_86=`ver = float2 (0,texsize.w*1); +comp_87=`dx = GetPixel (polar2-hor) - GetPixel (polar2+hor); +comp_88=`dy = GetPixel (polar2-ver) - GetPixel (polar2+ver); +comp_89=`dz = float2 (dx,dy); +comp_90=` +comp_91=`uv1 = uv1*0+.3*cos(uv1*2) - dz; +comp_92=`dots = saturate(.04/length(uv1)); +comp_93=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz; +comp_94=`dots2 = saturate(.04/length(uv1)); +comp_95=`dots -= lum(GetBlur2(polar2)); +comp_96=` +comp_97=`ret = lerp(ret,pow(dots + GetPixel(polar2)*12*dots2,1.75).yzx,(1-mask)); +comp_98=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_99=` ((uv1.xyy*q28 +comp_100=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_101=` ).xyz* +comp_102=` float3(1,1,0)*0.05 + +comp_103=` time*float3(0,0,1)*q31 +comp_104=` ); +comp_105=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_106=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_107=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_108=` +comp_109=`} +comp_110=` +comp_111=` diff --git a/presets/presets_tryptonaut/flexi + fishbrain + geiss + unchained + others - Plaidcraft.milk b/presets/presets_tryptonaut/flexi + fishbrain + geiss + unchained + others - Plaidcraft.milk new file mode 100755 index 0000000000..2c97e7a91e --- /dev/null +++ b/presets/presets_tryptonaut/flexi + fishbrain + geiss + unchained + others - Plaidcraft.milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.530 +fWarpScale=1.731 +fZoomExponent=1.20815 +fShader=0.000 +zoom=1.00022 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.26300 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.301 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); +per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); +per_frame_8=decay=decay-0.01*(frame%2); +per_frame_9=dx = dx + dx_residual; +per_frame_10=dy = dy + dy_residual; +per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=(zoom-1)*rad+1; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.03; +warp_12=`} +comp_1=`float a,b,c; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv *=2 ; +comp_5=`float2 m = floor(frac(uv*0.5)*2); +comp_6=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_7=` +comp_8=`uv = 0.5 + (uv-0.5)*float2(0.75,-0.9) - float2(0,0.05); +comp_9=` float3 base = GetBlur3(uv) + GetBlur2(uv) + GetBlur1(uv) + tex2D(sampler_main, uv) + 0.04; +comp_10=`a =base.x/4;b = base.y/4; c = base.z/4; +comp_11=`c = c + b - c*b; +comp_12=`a = a + c - a*c; +comp_13=`base = 1.4*a; +comp_14=`ret = base*(1-base)*(1-base)*2*float3(2,1.4,0) + pow(base,2)*float3(-0.3,0.2,0.6); +comp_15=`//ret.xy = ret.yx; +comp_16=`} diff --git a/presets/presets_tryptonaut/flexi + geiss - infused with the spiral (Heavy Oil Mix) nz+ rapery.milk b/presets/presets_tryptonaut/flexi + geiss - infused with the spiral (Heavy Oil Mix) nz+ rapery.milk new file mode 100755 index 0000000000..2cded8ab6a --- /dev/null +++ b/presets/presets_tryptonaut/flexi + geiss - infused with the spiral (Heavy Oil Mix) nz+ rapery.milk @@ -0,0 +1,618 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=4.28632 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01743 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.040 +wavecode_0_b=0.000 +wavecode_0_a=0.990 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.65; +wave_0_per_point13= +wave_0_per_point14=w1 = q2; +wave_0_per_point15=w2 = q3; +wave_0_per_point16=w3 = q4; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=b = -z3 + 0.5; +wave_0_per_point44=b = min(1,max(0,b))*0.5; +wave_0_per_point45=r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78900 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = 0.65 + bass*0.1; +shape_0_per_frame2= +shape_0_per_frame3=an = an*0.99 + (bass-treb)*0.1; +shape_0_per_frame4=ang = an*0.1 + 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.500 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = rand(int(q30))/15+instance-instance; +shape_2_per_frame2=trans2 = rand(int(q30))/15+instance-instance; +shape_2_per_frame3=trans3 = rand(int(q30))/15+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame8=rad = .09 + rand(int(q30))/15+instance-instance; +shape_2_per_frame9=r=rand(q30)*.1+instance-instance; +shape_2_per_frame10=g=rand(q30)*.1+instance-instance; +shape_2_per_frame11=b=rand(q30)*.1+instance-instance; +shape_2_per_frame12=r2=rand(q30)*.1+instance-instance; +shape_2_per_frame13=g2=rand(q30)*.1+instance-instance; +shape_2_per_frame14=b2=rand(q30)*.1+instance-instance; +shape_2_per_frame15=border_r=rand(q30)*.1+instance-instance; +shape_2_per_frame16=border_g=rand(q30)*.1+instance-instance; +shape_2_per_frame17=border_b=rand(q30)*.1+instance-instance; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=q1 = 0; +per_frame_26=v = 0.4; +per_frame_27=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_28=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_29=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_30= +per_frame_31=n = n + j1*0.0052; +per_frame_32=n1 = n1 + j2*0.0052; +per_frame_33=n2 = n2 + j3*0.0052; +per_frame_34= +per_frame_35= +per_frame_36=q2 = n*0.01; +per_frame_37=q3 = n1*0.01; +per_frame_38=q4 = n2*0.01; +per_frame_39= +per_frame_40=k = k*0.99 + sqr(mid_att*2); +per_frame_41=q5 = k*0.00; +per_frame_42= +per_frame_43=zoom = 1.0016; +per_frame_44=warp = 0; +per_frame_45= +per_frame_46=rot = -0.00; +per_frame_47= +per_frame_48=q9 = aspectx; +per_frame_49=q10 = aspecty; +per_frame_50=q30=bass+treb+mid; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*4; +warp_5=` float3 dx = ( GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv-float2(0,1)*d) ); +warp_7=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*60; +warp_8=` ret.z = (GetPixel(uv_dz).z + (GetPixel(uv).z - GetBlur1(uv).z)*200*length(uv_dz-uv))*0.96 - 0.02; +warp_9=` +warp_10=` +warp_11=` d = texsize.zw*4; +warp_12=` dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_13=` dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_14=` +warp_15=` float2 uv_dy = uv_orig + float2(dx.y,dy.y)*texsize.zw*6; +warp_16=` ret.y = GetPixel(uv_dy).y + (GetPixel(uv).y - GetBlur1(uv).y)*0.1 - 0.016; +warp_17=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_18=` ((uv_dy.xyy*q27 +warp_19=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_20=` ).xyz* +warp_21=` float3(1,1,0)*0.05 + +warp_22=` time*float3(0,0,1)*q29 +warp_23=` ); +warp_24=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_25=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_26=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float3 goo = tex2D(sampler_main, uv).xyz; +comp_4=`ret=goo; +comp_5=` float3 d = float3(texsize.zw, 0)*2.5; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_12=` ((uv.xyy*q28 +comp_13=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_14=` ).xyz* +comp_15=` float3(1,1,0)*0.05 + +comp_16=` time*float3(0,0,1)*q31 +comp_17=` ); +comp_18=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_19=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_20=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_21=` ret *= 0.5; +comp_22=` ret += (b1-b2)*3.4*float3(1,0.7,0.3); +comp_23=` ret += (b3-b4)*3.4*float3(0.2,0.5,0.7); +comp_24=` if (lum(ret)>0.6){ret=lerp(ret, tex2d(sampler_noise_lq,uv*10),0.1)*1.1;}; +comp_25=` ret*=ret; +comp_26=` ret = lerp(lum(ret),2*lum(ret)*rand_preset*lum(GetBlur3(uv)),pow(rand_preset,ret)); +comp_27=` ret *= 5*sqrt(ret); +comp_28=` +comp_29=`} diff --git a/presets/presets_tryptonaut/flexi + stahlregen - a car crash you can't defocus_2.milk b/presets/presets_tryptonaut/flexi + stahlregen - a car crash you can't defocus_2.milk new file mode 100755 index 0000000000..a2ab30c75b --- /dev/null +++ b/presets/presets_tryptonaut/flexi + stahlregen - a car crash you can't defocus_2.milk @@ -0,0 +1,329 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.545 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.100 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.14635 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=332 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=int(rand(100))*0.01; +wave_0_per_point2=y=int(rand(100))*0.01; +wave_0_per_point3=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wave_1_per_point1=x=int(rand(1000))*0.001; +wave_1_per_point2=y=int(rand(1000))*0.001; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12772 +shapecode_0_ang=0.18840 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77829 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.660 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.590 +shapecode_0_border_g=0.810 +shapecode_0_border_b=0.690 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=2 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.25230 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.25133 +shapecode_1_tex_zoom=1.13600 +shapecode_1_r=0.360 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.990 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=//adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_1_per_frame5= +shape_1_per_frame6=x= q28; +shape_1_per_frame7=y= q29; +shape_1_per_frame8=rad=q32; +shape_1_per_frame9=ang= if(equal(instance,0),q30,q31); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.25237 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.25133 +shapecode_2_tex_zoom=1.13600 +shapecode_2_r=0.360 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.990 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=//adv=adv+(bass*bass)/15; +shape_2_per_frame3= +shape_2_per_frame4=r=int(rand(10))*0.1*0.5+0.5; +shape_2_per_frame5= +shape_2_per_frame6=x= q23; +shape_2_per_frame7=y= q24; +shape_2_per_frame8=rad=q27; +shape_2_per_frame9=ang= if(equal(instance,0),q25,q26); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.860 +shapecode_3_y=0.200 +shapecode_3_rad=0.80814 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.45112 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.900 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=//wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=//wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = 0.935*zoom + 0.04*( 0.60*sin(0.339*bass_att) + 0.10*sin(0.276*bass_att) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*treb_att) + 0.40*sin(0.297*treb_att) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*mid_att) + 0.40*sin(0.351*mid_att) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +per_frame_11= +per_frame_12=q23 = int(rand(1000))/1000; +per_frame_13=q24 = int(rand(1000))/1000; +per_frame_14=q25 = (int(rand(1000))/1000)*6.28; +per_frame_15=q26 = q25 - 3.14; +per_frame_16=q27 = (int(rand(1000))/12000)+0.1; +per_frame_17= +per_frame_18=q28 = int(rand(1000))/1000; +per_frame_19=q29 = int(rand(1000))/1000; +per_frame_20=q30 = (int(rand(1000))/1000)*6.28; +per_frame_21=q31 = q30 - 3.14; +per_frame_22=q32 = (int(rand(1000))/14000)+0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*12; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` uv_y = uv_y - float2(dx.y,dy.y)*texsize.zw; +warp_8=` +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*0.8 + rand_frame.xy; +warp_10=` float2 uv_bg = uv_orig -(uv_orig-uv)*0.4 + float2(dx.x,dy.x)*texsize.zw*2 + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4; +warp_11=` +warp_12=`ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008 + +warp_13=`(tex2D(sampler_noise_lq, dither_uv).x-0.5)*0.1; +warp_14=` +warp_15=` +warp_16=` ret.y = tex2D( sampler_main, uv_y ).y; +warp_17=` ret.y += (ret.y - GetBlur1(uv).y)*0.2 - 0.004; +warp_18=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_19=` +warp_20=`uv_bg = uv_orig -(uv_orig-uv)*2 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw; +warp_21=`ret.z = GetPixel(uv_bg).z - 0.004; +warp_22=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 d = texsize.zw*4; +comp_4=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_5=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_6=` float2 uv_y = uv-float2(dx,dy)*0.4; +comp_7=` +comp_8=`ret = lerp(float3(1,0.7,0)*tex2D(sampler_fc_main, uv_y).x, +comp_9=` float3(0.8,0.4,1), GetBlur1(uv).y*0.5); +comp_10=` +comp_11=`ret = lerp(ret,1,GetPixel(uv).z*(1-GetBlur1(uv).y*2)); +comp_12=`ret -= 0.1; +comp_13=`} +comp_14=` diff --git a/presets/presets_tryptonaut/flexi + stahlregen - jewelry tiles.milk b/presets/presets_tryptonaut/flexi + stahlregen - jewelry tiles.milk new file mode 100755 index 0000000000..f103f5d968 --- /dev/null +++ b/presets/presets_tryptonaut/flexi + stahlregen - jewelry tiles.milk @@ -0,0 +1,288 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.803 +fWaveScale=0.060 +fWaveSmoothing=0.750 +fWaveParam=1.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.470 +fZoomExponent=1.34784 +fShader=0.000 +zoom=0.99816 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00183 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=1.000 +ob_size=0.005 +ob_r=0.510 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.110 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.12226 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.69327 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.900 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.900 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = ang - 0.75*q1 + 0.75*q2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//decay=.1+abs(sin(time*.3)*.8); +per_frame_2=zoom=1; +per_frame_3=db = .75 * db + .25 * bass_att; +per_frame_4=bb = bb + .1 * db; +per_frame_5=dt = .75 * dt + .25 * treb_att; +per_frame_6=tt = tt + .1 * dt; +per_frame_7=dm = .75 * dm + .25 * mid_att; +per_frame_8=mm = mm + .1 * dm; +per_frame_9= +per_frame_10=q2 = sin(.225*bb+time-.25*tt); +per_frame_11=q3 = cos(.25*bb+time-.235*tt); +per_frame_12=q1 = .2+.9*sin(.25*mm+time-.125*tt-.125*bb); +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_7=` +warp_8=`float2 uv_blue = lerp(uv_orig,uv,1) + float2(dx.z,dy.z)*texsize.zw*4; +warp_9=`ret.z = GetPixel(uv_blue).z - (GetPixel(uv_blue).z - GetBlur3(uv_blue).z)*0.02 - 0.008 +warp_10=` +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1; +warp_11=` +warp_12=` +warp_13=`float2 uv_red = 0.5 + (uv-0.5) - float2(0,0)*texsize.zw - float2(dx.x,dy.x)*texsize.zw; +warp_14=`ret.x = tex2D( sampler_main, uv_red ).x; +warp_15=`ret.x += (ret.x - GetBlur3(uv_red)).x*0.4 + 0.006; +warp_16=` +warp_17=` +warp_18=`float2 uv_green = lerp(uv_orig,uv,1) - float2(dx.x,dy.x)*texsize.zw*8 +warp_19=` + float2(dx.y,dy.y)*texsize.zw*4 +warp_20=` + float2(dx.z,dy.z)*texsize.zw*8; +warp_21=`ret.y = tex2d(sampler_fc_main,uv_green).y; +warp_22=`ret.y *= 1 + ret.x*0.1; +warp_23=`ret.y -= 0.004 + saturate(ret.z)*0.04; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv_o = uv; +comp_4=` +comp_5=`uv = (uv*(1.5+.8*q1))-.4*q1-.75; +comp_6=`uv = float2((uv.x)*q2 - (uv.y) * q3,(uv.x)* q3 + (uv.y) * q2)*1.75; +comp_7=` +comp_8=`uv = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_9=` +comp_10=`uv = 1.0 - abs( frac( (uv+.5*rad) * .5125 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_11=` +comp_12=`float2 zoom = 2; +comp_13=`float2 c = float2(.42,q1); +comp_14=` +comp_15=` float2 my_uv2 = (uv_orig-0.5)*zoom; +comp_16=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; +comp_17=`uv = my_uv2; +comp_18=` +comp_19=`float2 uv2 = 1.0 - abs( frac( (uv) * .5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +comp_20=`uv = uv2; +comp_21=` +comp_22=`float2 uv_x = uv2; +comp_23=`ret = GetBlur2(uv_x).x*saturate(1-GetPixel(uv).z)*pow(hue_shader.yxz,8)*3; +comp_24=`ret = lerp(ret,pow(hue_shader.yzx,8)*1.4,GetPixel(uv_x).x*0.8 + GetBlur1(uv_x).x); +comp_25=`ret *= saturate(1 - GetBlur1(uv).y*4); +comp_26=`ret = lerp(ret,1,pow(hue_shader,8)*GetPixel(saturate(uv)).z*1.2); +comp_27=`ret = lerp(ret,pow(hue_shader,8).zxy*1.8,GetPixel(uv).y); +comp_28=`//ret = GetPixel(uv_o); +comp_29=`} diff --git a/presets/presets_tryptonaut/flexi - bouncing icecubes [good morning edit].milk b/presets/presets_tryptonaut/flexi - bouncing icecubes [good morning edit].milk new file mode 100755 index 0000000000..f9f703a285 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - bouncing icecubes [good morning edit].milk @@ -0,0 +1,454 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.413 +fWaveScale=0.418 +fWaveSmoothing=0.000 +fWaveParam=-0.660 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.240 +wave_y=0.440 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=vol = bass*8 + mid*5 + treb*3; +wave_0_per_frame2=m = m*0.97 + vol*0.08; +wave_0_per_frame3=monitor = vol; +wave_0_per_frame4=beat = above(vol,res)*above(vol,m)*above(vol,16); +wave_0_per_frame5=diff = (1-beat)*diff + beat*(vol-res); +wave_0_per_frame6=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +wave_0_per_frame7=res = max(0,res); +wave_0_per_frame8= +wave_0_per_frame9=b = beat; +wave_0_per_frame10=r = .2; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*4; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=chance = 0; +wave_1_per_point1=// the velocity vector +wave_1_per_point2= +wave_1_per_point3=x = q3 + sample*sin(q14)*q13*40; +wave_1_per_point4=y = q4 + sample*cos(q14)*q13*40; +wave_1_per_point5= +wave_1_per_point6=// tangential velocity of rotation +wave_1_per_point7=//x = q3 + sample*q16*40; +wave_1_per_point8=//y = q4 - q5/2; +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=x = 0.5 + (x-0.5)/q1; +wave_1_per_point12=y = 0.5 + (y-0.5)/q2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=chance = 0; +wave_2_per_point1=// tangential property of velocity vector +wave_2_per_point2= +wave_2_per_point3=x = q3 + sample*sin(q10)*cos(q14-q10)*q13*40; +wave_2_per_point4=y = q4 + sample*cos(q10)*cos(q14-q10)*q13*40; +wave_2_per_point5= +wave_2_per_point6=// vx +wave_2_per_point7=//x = q3 + sample*q11*40; +wave_2_per_point8=//y = q4; +wave_2_per_point9= +wave_2_per_point10=x = 0.5 + (x-0.5)/q1; +wave_2_per_point11=y = 0.5 + (y-0.5)/q2; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=chance = 0; +wave_3_per_point1=// orthogonal property of velocity vector +wave_3_per_point2= +wave_3_per_point3=x = q3 + sample*sin(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point4=y = q4 + sample*cos(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point5= +wave_3_per_point6=// vy +wave_3_per_point7=//x = q3; +wave_3_per_point8=//y = q4 + sample*q12*40; +wave_3_per_point9= +wave_3_per_point10=x = 0.5 + (x-0.5)/q1; +wave_3_per_point11=y = 0.5 + (y-0.5)/q2; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02770 +shapecode_0_ang=6.03186 +shapecode_0_tex_ang=6.03186 +shapecode_0_tex_zoom=0.68390 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=an = an + q6; +shape_0_per_frame2=ang = an*0.5; +shape_0_per_frame3=x = q4; +shape_0_per_frame4=y = q5; +shape_0_per_frame5=rad = q3*sqrt(2); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame9=y = 0.5 + (y-0.5)/q1; +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02770 +shapecode_1_ang=6.03186 +shapecode_1_tex_ang=6.03186 +shapecode_1_tex_zoom=0.68390 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=an = an + q9; +shape_1_per_frame2=ang = an*0.5; +shape_1_per_frame3=x = q7; +shape_1_per_frame4=y = q8; +shape_1_per_frame5=rad = q3*sqrt(2); +shape_1_per_frame6= +shape_1_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02770 +shapecode_2_ang=6.03186 +shapecode_2_tex_ang=6.03186 +shapecode_2_tex_zoom=0.68390 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=an = an + q12; +shape_2_per_frame2=ang = an*0.5; +shape_2_per_frame3=x = q10; +shape_2_per_frame4=y = q11; +shape_2_per_frame5=rad = q3*sqrt(2); +shape_2_per_frame6= +shape_2_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_2_per_frame9= +shapecode_3_enabled=0 +shapecode_3_sides=48 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=4 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.02770 +shapecode_3_ang=6.03186 +shapecode_3_tex_ang=6.03186 +shapecode_3_tex_zoom=0.68390 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=an = an + 0.5*q16/num_inst; +shape_3_per_frame2=w = asin(1)*4*instance/num_inst + an; +shape_3_per_frame3=x = q6 + sin(w)*q5*0.5; +shape_3_per_frame4=y = q7 + cos(w)*q5*0.5; +shape_3_per_frame5=rad = q5*0.25; +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=//x = 0.5 + (x-0.5)/q2; +shape_3_per_frame9=//y = 0.5 + (y-0.5)/q1; +shape_3_per_frame10= +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; +per_frame_init_5=y2 = 0.4; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.0001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0; +per_frame_init_16=vx3 = 0; +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=r = 0.04+ (bass_att+treb_att)*0.01; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +warp_1=`sampler sampler_fc_heart; +warp_2=`shader_body +warp_3=`{ +warp_4=` float2 d = texsize.zw * 8; +warp_5=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_7=` +warp_8=`ret.y = tex2d(sampler_fc_main, uv + float2(dx.y,dy.y)*texsize.zw).y; +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_10=`ret.y += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.04 - 0.002; +warp_11=`ret.y += GetBlur1(uv_orig).x*0.1; +warp_12=` +warp_13=`ret.z = tex2d(sampler_fc_main,uv + float2(dx.z,dy.z)*texsize.zw*2).z - 0.004; +warp_14=`} +comp_1=`sampler sampler_fc_clouds; +comp_2=`sampler sampler_fc_clouds2; +comp_3=`sampler sampler_fc_sunrise; +comp_4=`shader_body +comp_5=`{ +comp_6=` float2 d = texsize.zw*4; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`ret = lerp(tex2d(sampler_fc_clouds2, uv+float2(dx.y,dy.y)-float2(dx.x,dy.x)-float2(dx.z,dy.z)*2), +comp_10=` tex2d(sampler_fc_clouds, uv-float2(dx.y,dy.y)-float2(dx.x,dy.x)+float2(dx.z,dy.z)), +comp_11=` GetBlur1(uv).y);; +comp_12=`ret = lerp(ret,float3(1,2,3),GetBlur2(uv - float2(dx.y,dy.y)).x*0.5); +comp_13=`ret = lerp(ret,tex2d(sampler_fc_sunrise,uv)*2,GetPixel(uv).z*0.5); +comp_14=`ret = lerp(ret,0,GetPixel(uv).x*0.5); +comp_15=`} diff --git a/presets/presets_tryptonaut/flexi - color strike.milk b/presets/presets_tryptonaut/flexi - color strike.milk new file mode 100755 index 0000000000..7ab963ca45 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - color strike.milk @@ -0,0 +1,354 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=1.666 +fWaveSmoothing=0.810 +fWaveParam=0.000 +fModWaveAlphaStart=1.400 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=3.04777 +fShader=0.000 +zoom=1.01730 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=3 +shapecode_0_x=0.480 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3= +shape_0_per_frame4=r = rand(1200)/1000; +shape_0_per_frame5=g = rand(1200)/1000; +shape_0_per_frame6=b = rand(1200)/1000; +shape_0_per_frame7= +shape_0_per_frame8=r2 = r; +shape_0_per_frame9=g2 = g; +shape_0_per_frame10=b2 = b; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.63647 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.53390 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +per_frame_1=vol = bass*8 + mid*5 + treb*3; +per_frame_2=m = m*0.97 + vol*0.08; +per_frame_3=monitor = vol; +per_frame_4=beat = above(vol,res)*above(vol,m)*above(vol,16); +per_frame_5=diff = (1-beat)*diff + beat*(vol-res); +per_frame_6=res = beat*(vol + m*0.1) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +per_frame_7=res = max(0,res); +per_frame_8= +per_frame_9= +per_frame_10=d_x = if(beat, (rand(2000)-1000)*0.001 , d_x); +per_frame_11=d_y = if(beat, (rand(2000)-1000)*0.001 , d_y); +per_frame_12=r = if(beat, (rand(2000)-1000)*0.001 , r); +per_frame_13=z = if(beat, rand(1000)*0.001 , z); +per_frame_14=zoom = 1.01 + z*0.03; +per_frame_15=rot = r*0.04; +per_frame_16=dx = d_x*0.01; +per_frame_17=dy = d_y*0.01; +per_frame_18= +per_frame_19=wave_a = beat; +per_frame_20= +per_frame_21=// nice random hue-fade +per_frame_22=rr = rr + (rand(100)-50)/1000; +per_frame_23=gg = gg + (rand(100)-50)/1000; +per_frame_24=bb = bb + (rand(100)-50)/1000; +per_frame_25=rr = max(0, min( 1, rr)); +per_frame_26=gg = max(0, min( 1, gg)); +per_frame_27=bb = max(0, min( 1, bb)); +per_frame_28=mx = max(max(rr,gg),bb); +per_frame_29=mn = min(min(rr,gg),bb); +per_frame_30=r = (rr-mn)/(mx-mn); +per_frame_31=g = (gg-mn)/(mx-mn); +per_frame_32=b = (bb-mn)/(mx-mn); +per_frame_33= +per_frame_34= +per_frame_35=wave_r = r; +per_frame_36=wave_g = g; +per_frame_37=wave_b = b; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`uv = lerp(uv_orig,uv,0.2); +warp_5=` +warp_6=`float2 d = texsize.zw * 4; +warp_7=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_8=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_9=` +warp_10=`uv += float2(lum(dx),lum(dy))*texsize.zw*4; +warp_11=`ret = tex2d(sampler_fc_main, uv) - 0.01; +warp_12=` +warp_13=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 d = texsize.zw * 4; +comp_4=`float3 dx = ( GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv - float2(1,0)*d) ); +comp_5=`float3 dy = ( GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv - float2(0,1)*d) ); +comp_6=` +comp_7=`ret = pow(abs(GetBlur3(uv)*2-GetPixel(uv))*1.8+0.12,1.8); +comp_8=`//ret = GetBlur3(uv)*GetBlur1(uv)*4; +comp_9=`//ret = GetPixel(uv); +comp_10=`ret *= lum(dx+dy)*4+1; +comp_11=`} +comp_12=` diff --git a/presets/presets_tryptonaut/flexi - hyperspaceflight (bn cn Jelly 4).milk b/presets/presets_tryptonaut/flexi - hyperspaceflight (bn cn Jelly 4).milk new file mode 100755 index 0000000000..8bdbcf86f7 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - hyperspaceflight (bn cn Jelly 4).milk @@ -0,0 +1,357 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.107 +fWaveScale=1.119 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.41660 +fShader=0.000 +zoom=1.14635 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01605 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.930 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=24 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=8 +shapecode_0_x=0.480 +shapecode_0_y=0.500 +shapecode_0_rad=0.02610 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.16777 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.100 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=//wave_g = wave_g + 0.100*( 0.90*sin(0.583*time) + 0.10*sin(1.006*time) ); +per_frame_2=//wave_b = wave_b + 0.100*( 0.90*sin(0.993*time) + 0.10*sin(0.933*time) ); +per_frame_3=zoom = 0.935*zoom + 0.04*( 0.60*sin(0.339*bass_att) + 0.10*sin(0.276*bass_att) ); +per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.003*( 0.60*sin(0.471*treb_att) + 0.40*sin(0.297*treb_att) ); +per_frame_6=cy = cy + 0.003*( 0.60*sin(0.379*mid_att) + 0.40*sin(0.351*mid_att) ); +per_frame_7=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_9=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_10=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +per_frame_11= +per_frame_12=q23 = rand(1000)/1000; +per_frame_13=q24 = rand(1000)/1000; +per_frame_14=q25 = (rand(1000)/1000)*6.28; +per_frame_15=q26 = q25 - 3.14; +per_frame_16=q27 = (rand(1000)/12000)+0.1; +per_frame_17= +per_frame_18=q28 = rand(1000)/1000; +per_frame_19=q29 = rand(1000)/1000; +per_frame_20=q30 = (rand(1000)/1000)*6.28; +per_frame_21=q31 = q30 - 3.14; +per_frame_22=q32 = (rand(1000)/14000)+0.1; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw*10; +warp_4=` float2 uv_y = uv;//0.5 + (uv_orig-0.5)*1.00 + float2(0,-0.8)*texsize.zw*0; +warp_5=` float3 dx = ( GetBlur1(uv_y + float2(1,0)*d) - GetBlur1(uv_y-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur1(uv_y + float2(0,1)*d) - GetBlur1(uv_y-float2(0,1)*d) ); +warp_7=` +warp_8=` float2 uv_bg = lerp(uv_orig,uv,0.4) + float2(dx.x,dy.x)*texsize.zw*2; +warp_9=` ret.x = GetPixel(uv_bg).x - (GetPixel(uv_bg).x - GetBlur3(uv_bg).x)*0.02 - 0.008; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_main, uv_y ).y; +warp_14=` ret.y += (ret.y - GetBlur1(uv).y)*0.2 - 0.004; +warp_15=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_16=` +warp_17=`uv_bg = uv_orig -(uv_orig-uv)*2 + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw; +warp_18=`ret.z = GetPixel(uv_bg).z - 0.004; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=`//Shader composition by Stahlregen +comp_6=` +comp_7=` float2 d = texsize.zw*6; +comp_8=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_9=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_10=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_11=` +comp_12=`ret = .3*GetBlur3(uv); +comp_13=`ret -= (GetBlur2(uv)-.01); +comp_14=`ret += GetPixel(uv)+GetBlur1(uv)*.15-.01; +comp_15=`ret += .75; +comp_16=`ret = lum(ret); +comp_17=`ret = lerp(ret,ret*lum(.8*GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_18=` +comp_19=`float3 ret2 = -.3*GetBlur3(uv_y); +comp_20=`ret2 += GetBlur1(uv_y); +comp_21=`ret2 -= GetPixel(uv_y); +comp_22=`ret2 -= .75; +comp_23=`ret2 = lum(ret2); +comp_24=`ret2 = lerp(ret2,ret2*lum(.8*GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_25=` +comp_26=`ret = abs(ret-2*ret2); +comp_27=`//ret = ret2; +comp_28=` +comp_29=`ret -= .175*sqrt(ret); +comp_30=`ret *= ret; +comp_31=`} diff --git a/presets/presets_tryptonaut/flexi - infused with the spiral (jelly 4.x cn).milk b/presets/presets_tryptonaut/flexi - infused with the spiral (jelly 4.x cn).milk new file mode 100755 index 0000000000..8bc925d7e5 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - infused with the spiral (jelly 4.x cn).milk @@ -0,0 +1,550 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=0.107 +fZoomExponent=4.28632 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01743 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.040 +wavecode_0_b=0.000 +wavecode_0_a=0.990 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_frame1=t1 = q1; +wave_0_per_frame2=t2 = q2; +wave_0_per_frame3=t3 = q3; +wave_0_per_frame4=t4 = q4; +wave_0_per_frame5=t5 = q5; +wave_0_per_frame6=t6 = q6; +wave_0_per_frame7=t8 = .07; +wave_0_per_frame8=t7 = 1; +wave_0_per_point1=t7 = -t7; +wave_0_per_point2=pi = asin(1); +wave_0_per_point3=n = 180; +wave_0_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_0_per_point5=my_x = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4+(t7+1)*t8); +wave_0_per_point6=my_y = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4+(t7+1)*t8); +wave_0_per_point7=my_z = sin(sample*pi*n)*rd; +wave_0_per_point8= +wave_0_per_point9= +wave_0_per_point10= +wave_0_per_point11=d = 1.4; // makes the perspective impact +wave_0_per_point12=zoom = 0.65; +wave_0_per_point13= +wave_0_per_point14=w1 = q2; +wave_0_per_point15=w2 = q3; +wave_0_per_point16=w3 = q4; +wave_0_per_point17= +wave_0_per_point18=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point19=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point20=z1 = my_z; +wave_0_per_point21= +wave_0_per_point22=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point23=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point24=y2 = y1; +wave_0_per_point25= +wave_0_per_point26=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point27=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point28=x3 = x2; +wave_0_per_point29= +wave_0_per_point30=// perspective calculation +wave_0_per_point31= +wave_0_per_point32=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point33=w = atan2(x3,y3); +wave_0_per_point34=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point35=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point36= +wave_0_per_point37=my_x = zoom*sin(w)*p; +wave_0_per_point38=my_y = zoom*cos(w)*p; +wave_0_per_point39= +wave_0_per_point40=x = 0.5 + my_x; +wave_0_per_point41=y = 0.5 + my_y; +wave_0_per_point42= +wave_0_per_point43=b = -z3 + 0.5; +wave_0_per_point44=b = min(1,max(0,b))*0.5; +wave_0_per_point45=r = 1-b*2 +wave_0_per_point46=//b = (1 - r)*0.1; +wave_0_per_point47=//a = 7/(d*16) - 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=445 +wavecode_1_sep=4 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.990 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=ab = 1; +wave_1_per_frame1=t1 = q1; +wave_1_per_frame2=t2 = q2; +wave_1_per_frame3=t3 = q3; +wave_1_per_frame4=t4 = q4; +wave_1_per_frame5=t5 = q5; +wave_1_per_frame6=t6 = q6; +wave_1_per_frame7=t8 = .09; +wave_1_per_frame8=t7 = 1; +wave_1_per_point1=t7 = -t7; +wave_1_per_point2=pi = asin(1); +wave_1_per_point3=n = 160; +wave_1_per_point4=rd = 0.075;//+(value1*10+1)*((sample*512)%2)*0.02; +wave_1_per_point5=xx = sin(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_1_per_point6=yy = cos(sample*pi*4+(t7+1)*t8)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_1_per_point7=zz = sin(sample*pi*n)*rd; +wave_1_per_point8= +wave_1_per_point9=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_1_per_point10=d1 = 1; +wave_1_per_point11=xx = xx*d1; +wave_1_per_point12=yy = yy*d1; +wave_1_per_point13=zz = zz*d1; +wave_1_per_point14= +wave_1_per_point15=w = -d*t5; +wave_1_per_point16=s1 = sin(t2*1+w); +wave_1_per_point17=s2 = sin(t3*1+w); +wave_1_per_point18=s3 = sin(t4*1+w); +wave_1_per_point19=c1 = cos(t2*1+w); +wave_1_per_point20=c2 = cos(t3*1+w); +wave_1_per_point21=c3 = cos(t4*1+w); +wave_1_per_point22= +wave_1_per_point23=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_1_per_point24=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_1_per_point25=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_1_per_point26= +wave_1_per_point27=a = 0.75; +wave_1_per_point28=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_1_per_point29=x = 0.5 + zoom*x1; +wave_1_per_point30=y = 0.5 + zoom*y1; +wave_1_per_point31= +wave_1_per_point32=pi3 = 3.1415*2*0.3333; +wave_1_per_point33=t = sample*pi*4-2*time; +wave_1_per_point34=c=1.6; +wave_1_per_point35=r = sin(t)*c; +wave_1_per_point36= +wave_1_per_point37=g = sin(t+pi3)*c; +wave_1_per_point38= +wave_1_per_point39=b = sin(t-pi3)*c; +wave_1_per_point40= +wave_1_per_point41=j = 0.71; +wave_1_per_point42=//r = 0.5+xx*j; +wave_1_per_point43=//g = 0.5+yy*j; +wave_1_per_point44=//b = 0.5+zz*j; +wave_1_per_point45= +wave_1_per_point46=r = if(above(r,1),1,r); +wave_1_per_point47=r = if(below(r,0),0,r); +wave_1_per_point48=g = if(above(g,1),1,g); +wave_1_per_point49=g = if(below(g,0),0,g); +wave_1_per_point50=b = if(above(b,1),1,b); +wave_1_per_point51=b = if(below(b,0),0,b); +wave_1_per_point52=a = 1-(z + a)/2; +wave_1_per_point53= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=4 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.09348 +wavecode_2_smoothing=1.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=t2 = 0; +wave_2_init2=t3 = 0; +wave_2_init3=t4 = 0; +wave_2_init4=ab = 1; +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_point1=s8 = sample*383; +wave_2_per_point2= +wave_2_per_point3=s = 100;//0.3; +wave_2_per_point4=xx = sin(sample*s);//((sample*343)%7 - 3.5)*s; +wave_2_per_point5=zz = cos(sample*s);//((sample*49)%7 - 3.5)*s; +wave_2_per_point6=yy = (sample-0.5);//((sample*7)%7 - 3.5)*s; +wave_2_per_point7= +wave_2_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_2_per_point9=d1 = 1/d; +wave_2_per_point10=xx = xx*d1; +wave_2_per_point11=yy = yy*d1; +wave_2_per_point12=zz = zz*d1; +wave_2_per_point13= +wave_2_per_point14=w = 1+0*(d)*(t6);//(sample*sin(time*0.3)*0.02-1); +wave_2_per_point15=s1 = sin(t2*w); +wave_2_per_point16=s2 = sin(t3*w); +wave_2_per_point17=s3 = sin(t4*w); +wave_2_per_point18=c1 = cos(t2*w); +wave_2_per_point19=c2 = cos(t3*w); +wave_2_per_point20=c3 = cos(t4*w); +wave_2_per_point21= +wave_2_per_point22=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_2_per_point23=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_2_per_point24=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_2_per_point25= +wave_2_per_point26=a = 2; +wave_2_per_point27=zoom = 0.3*atan2(a-z,a);//0.5*(1/(z+a)); +wave_2_per_point28=x = 0.5 + zoom*x1; +wave_2_per_point29=y = 0.5 + zoom*y1; +wave_2_per_point30= +wave_2_per_point31=pi3 = 3.1415*2*0.3333; +wave_2_per_point32=t = -z*13+t5*20; +wave_2_per_point33=c = 10; +wave_2_per_point34=r = sin(t)*c; +wave_2_per_point35= +wave_2_per_point36=g = sin(t+pi3)*c; +wave_2_per_point37= +wave_2_per_point38=b = sin(t-pi3)*c; +wave_2_per_point39= +wave_2_per_point40=j = 0.71; +wave_2_per_point41=//r = 0.5+xx*j; +wave_2_per_point42=//g = 0.5+yy*j; +wave_2_per_point43=//b = 0.5+zz*j; +wave_2_per_point44= +wave_2_per_point45=r = if(above(r,1),1,r); +wave_2_per_point46=r = if(below(r,0),0,r); +wave_2_per_point47=g = if(above(g,1),1,g); +wave_2_per_point48=g = if(below(g,0),0,g); +wave_2_per_point49=b = if(above(b,1),1,b); +wave_2_per_point50=b = if(below(b,0),0,b); +wave_2_per_point51= +wave_2_per_point52= +wave_2_per_point53=a = sigmoid(-z,10)*1.0+0.0; +wavecode_3_enabled=0 +wavecode_3_samples=484 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=9.94125 +wavecode_3_smoothing=1.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_point1=s8 = sample*383; +wave_3_per_point2= +wave_3_per_point3=s = 0.25; +wave_3_per_point4=xx = ((sample*(465))%15 - 8)*s*2; +wave_3_per_point5=yy = ((sample*31)%31 - 16)*s; +wave_3_per_point6=zz = 0; +wave_3_per_point7= +wave_3_per_point8=d = sqrt( xx*xx + yy*yy + zz*zz); +wave_3_per_point9=w = 1; +wave_3_per_point10= +wave_3_per_point11=s1 = sin(t2*1); +wave_3_per_point12=s2 = sin(t3*0); +wave_3_per_point13=s3 = sin(t4*1); +wave_3_per_point14=c1 = cos(t2*1); +wave_3_per_point15=c2 = cos(t3*0); +wave_3_per_point16=c3 = cos(t4*1); +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point20=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point21=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point22= +wave_3_per_point23=a = 500; +wave_3_per_point24=zoom = 0.05*atan2(a-z,a);//0.5*(1/(z+a)); +wave_3_per_point25=x = 0.5 + zoom*x1; +wave_3_per_point26=y = 0.5 + zoom*y1; +wave_3_per_point27= +wave_3_per_point28=pi3 = 3.1415*2*0.3333; +wave_3_per_point29=t = -z*5+t5; +wave_3_per_point30=c = 10; +wave_3_per_point31=r = sin(t)*c; +wave_3_per_point32= +wave_3_per_point33=g = sin(t+pi3)*c; +wave_3_per_point34= +wave_3_per_point35=b = sin(t-pi3)*c; +wave_3_per_point36= +wave_3_per_point37=j = 0.71; +wave_3_per_point38=//r = 0.5+xx*j; +wave_3_per_point39=//g = 0.5+yy*j; +wave_3_per_point40=//b = 0.5+zz*j; +wave_3_per_point41= +wave_3_per_point42=r = if(above(r,1),1,r); +wave_3_per_point43=r = if(below(r,0),0,r); +wave_3_per_point44=g = if(above(g,1),1,g); +wave_3_per_point45=g = if(below(g,0),0,g); +wave_3_per_point46=b = if(above(b,1),1,b); +wave_3_per_point47=b = if(below(b,0),0,b); +wave_3_per_point48= +wave_3_per_point49= +wave_3_per_point50=a = sigmoid(z,5); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.78900 +shapecode_0_ang=0.62830 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17257 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = 0.65 + bass*0.1; +shape_0_per_frame2= +shape_0_per_frame3=an = an*0.99 + (bass-treb)*0.1; +shape_0_per_frame4=ang = an*0.1 + 0.6; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.40271 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=2.23888 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.080 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21525 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=2.57611 +shapecode_2_tex_zoom=0.55595 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=34 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.990 +shapecode_3_y=0.990 +shapecode_3_rad=0.02558 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1=q1 = 0; +per_frame_2=v = 0.4; +per_frame_3=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_4=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_5=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_6= +per_frame_7=n = n + j1*0.0052; +per_frame_8=n1 = n1 + j2*0.0052; +per_frame_9=n2 = n2 + j3*0.0052; +per_frame_10= +per_frame_11= +per_frame_12=q2 = n*0.01; +per_frame_13=q3 = n1*0.01; +per_frame_14=q4 = n2*0.01; +per_frame_15= +per_frame_16=k = k*0.99 + sqr(mid_att*2); +per_frame_17=q5 = k*0.00; +per_frame_18= +per_frame_19=zoom = 1.0016; +per_frame_20=warp = 0; +per_frame_21= +per_frame_22=rot = -0.00; +per_frame_23= +per_frame_24=q9 = aspectx; +per_frame_25=q10 = aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float2 d = texsize.zw*4; +warp_5=` float3 dx = ( GetBlur2(uv + float2(1,0)*d) - GetBlur2(uv-float2(1,0)*d) ); +warp_6=` float3 dy = ( GetBlur2(uv + float2(0,1)*d) - GetBlur2(uv-float2(0,1)*d) ); +warp_7=` float2 uv_dz = uv + float2(dy.z,-dx.z)*texsize.zw*60; +warp_8=` ret.z = (GetPixel(uv_dz).z + (GetPixel(uv).z - GetBlur1(uv).z)*200*length(uv_dz-uv))*0.96 - 0.02; +warp_9=` +warp_10=` +warp_11=` d = texsize.zw*4; +warp_12=` dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_13=` dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_14=` +warp_15=` float2 uv_dy = uv_orig + float2(dx.y,dy.y)*texsize.zw*6; +warp_16=` ret.y = GetPixel(uv_dy).y + (GetPixel(uv).y - GetBlur1(uv).y)*0.1 - 0.016; +warp_17=`//ret.y = 0; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_10=` +comp_11=`ret = .25*saturate(2*GetBlur3(uv)); +comp_12=`ret -= .8*saturate(20*(0.6*GetBlur2(uv)-.01)-2); +comp_13=`ret += saturate(30*((GetPixel(uv)+GetBlur1(uv)*.15)-.01)-2); +comp_14=`ret += .75; +comp_15=`ret = lum(ret); +comp_16=`ret = lerp(ret,ret*lum(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_17=` +comp_18=`float3 ret2 = -.5*lum(GetBlur3(uv_y)); +comp_19=`ret2 += .8*GetBlur1(uv_y); +comp_20=`ret2 -= .9*GetPixel(uv_y); +comp_21=`ret2 -= .75; +comp_22=`ret2 = lum(ret2); +comp_23=`ret2 = lerp(ret2,ret2*lum(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_24=` +comp_25=`ret = abs(ret-2*ret2); +comp_26=`//ret = ret2; +comp_27=` +comp_28=`ret *= ret; +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/flexi - jelly fish mandala.milk b/presets/presets_tryptonaut/flexi - jelly fish mandala.milk new file mode 100755 index 0000000000..fbcfd50ccf --- /dev/null +++ b/presets/presets_tryptonaut/flexi - jelly fish mandala.milk @@ -0,0 +1,351 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=1.554 +fWaveSmoothing=0.756 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.26311 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01359 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=1.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.500 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(int(rand(100)),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,int(rand(1001))*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,int(rand(1001))*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,int(rand(10))); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.86644 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.850 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.81623 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.040 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 1-q1; +shape_3_per_frame2=y = q2; +shape_3_per_frame3=x = 0.5 + (x - 0.5)*0.25; +shape_3_per_frame4=y = 0.5 + (y - 0.5)*0.25; +per_frame_1=wave_a = 0.01; +per_pixel_1=vx = 0.5+cos(time*0.2)*0.5; +per_pixel_2=vy = 0.5+sin(time*0.2)*0.5; +per_pixel_3=x = x - vx; +per_pixel_4=y = y - vy; +per_pixel_5= +per_pixel_6=d = time*0.04; +per_pixel_7=xx = sin(d)*x + cos(d)*y; +per_pixel_8=yy = cos(d)*x - sin(d)*y; +per_pixel_9= +per_pixel_10=x = xx; +per_pixel_11=y = yy; +per_pixel_12= +per_pixel_13=cz = 0.5; +per_pixel_14=zoom = 0.33; +per_pixel_15=w = 1/zoom*(1+sqrt(sqr(cz) + sqr(x-cx)+sqr(y-cy))); +per_pixel_16=dx = (x-mx)*w; +per_pixel_17=dy = (y-my)*w; +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 uv_m = 1.0 - abs( frac( uv * 0.5 ) * 2.0 - 1.0 ); // Eo.S' mirror code +warp_4=`ret.x = tex2D( sampler_fc_main, uv_m ).y*0.65; +warp_5=` +warp_6=` +warp_7=`float2 d = texsize.zw*6; +warp_8=`float2 uv_z = (uv_orig-0.5)*0.996 + 0.5; // a small dose of zoom-in +warp_9=`float3 dx = ( GetBlur1(uv_z + float2(1,0)*d) - GetBlur1(uv_z-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv_z + float2(0,1)*d) - GetBlur1(uv_z-float2(0,1)*d) ); +warp_11=`uv_z -=float2(dx.z,dy.z)*texsize.zw*2; //shortening of the nebulous matter +warp_12=`ret.z = max((tex2d(sampler_fc_main,uv_m).x-0.5)*3*saturate(1-length(uv_orig-0.5)*3.2), // feeded by the inner of the red channel +warp_13=` tex2d(sampler_fc_main,uv_z).z); +warp_14=`ret.z += (tex2d(sampler_fc_main,uv_z).z - GetBlur1(saturate(uv_z)).z)*0.02; // sort of geiss' skin dot code +warp_15=` +warp_16=` +warp_17=`float2 uv_y = lerp(uv,uv_orig,1.0001); // pushing the glassy stuff a little bit +warp_18=`ret.y =max(tex2d(sampler_fc_main,uv_y).y ,tex2d(sampler_fc_main,uv_orig).z)-0.008; // feeded by the green channel and fade-out +warp_19=` +warp_20=`ret.z *=1+ret.y*0.024; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float rad_lq = rad * length(texsize.xy)*0.5; +comp_4=` float ang_lq = ang; +comp_5=` float2 uv_temp1 = (uv - 0.5) * texsize.xy; +comp_6=` float rad_hq = length(uv_temp1); +comp_7=` float ang_hq = atan2(-uv_temp1.y, uv_temp1.x); +comp_8=` +comp_9=` float2 uv2 = (uv - 0.5); +comp_10=` float rad2 = rad_lq*0.8; +comp_11=` float ang2 = ang_lq * M_INV_PI_2 + rad_lq*0.000 + time*0.00; +comp_12=` +comp_13=` +comp_14=` // FIN TYPE +comp_15=` float fins = 6; +comp_16=` ang2 = frac(ang2*fins)/fins; +comp_17=` // ENABLE THIS TO MAKE THE FINS ALTERNATE: (seamless!) +comp_18=` ang2 = abs(ang2 - 0.5/fins); +comp_19=` +comp_20=` +comp_21=` ang2 *= M_PI_2; +comp_22=` uv = 0.5 + rad2*float2(cos(ang2),sin(ang2))*texsize.zw; +comp_23=`uv = uv + 0.02*float2(cos(uv.y*100),sin(uv.x*120)); +comp_24=` +comp_25=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_fc_main,uv)-GetBlur3(uv))),0.5); //invert +comp_26=`} diff --git a/presets/presets_tryptonaut/flexi - lorenz chaser [accidental shader-lock mashup] (ripples)2 nz+ discombobule lose.milk b/presets/presets_tryptonaut/flexi - lorenz chaser [accidental shader-lock mashup] (ripples)2 nz+ discombobule lose.milk new file mode 100755 index 0000000000..a5f45fe49b --- /dev/null +++ b/presets/presets_tryptonaut/flexi - lorenz chaser [accidental shader-lock mashup] (ripples)2 nz+ discombobule lose.milk @@ -0,0 +1,638 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.210 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_point1=// lorenz-attractor calc +wave_0_per_point2=xx1 = if(equal(sample,0),q11,xx1); +wave_0_per_point3=yy1 = if(equal(sample,0),q12,yy1); +wave_0_per_point4=zz1 = if(equal(sample,0),q13,zz1); +wave_0_per_point5=dx1 = q14*(yy1-xx1); +wave_0_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_0_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_0_per_point8=xx1 = xx1 + q17*dx1; +wave_0_per_point9=yy1 = yy1 + q17*dy1; +wave_0_per_point10=zz1 = zz1 + q17*dz1; +wave_0_per_point11= +wave_0_per_point12=// 3D model coordinates +wave_0_per_point13=my_x = xx1*0.1; +wave_0_per_point14=my_y = yy1*0.1; +wave_0_per_point15=my_z = zz1*0.1 - 3; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=d = 5; // distance of the camera (on the z-axis) to the origin +wave_0_per_point19=zoom = 0.4; +wave_0_per_point20= +wave_0_per_point21=// solid angles +wave_0_per_point22=w1 = q2; +wave_0_per_point23=w2 = q3; +wave_0_per_point24=w3 = q4; +wave_0_per_point25= +wave_0_per_point26=// rotations +wave_0_per_point27=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point28=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point29=z1 = my_z; +wave_0_per_point30= +wave_0_per_point31=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point32=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point33=y2 = y1; +wave_0_per_point34= +wave_0_per_point35=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point36=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point37=x3 = x2; +wave_0_per_point38= +wave_0_per_point39=// perspective calculation +wave_0_per_point40= +wave_0_per_point41=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point42=w = atan2(x3,y3); +wave_0_per_point43=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point44=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point45= +wave_0_per_point46=my_x = zoom*sin(w)*p; +wave_0_per_point47=my_y = zoom*cos(w)*p; +wave_0_per_point48= +wave_0_per_point49=x = 0.5 + my_x; +wave_0_per_point50=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=xx1 = if(equal(sample,0),q11,xx1); +wave_1_per_point2=yy1 = if(equal(sample,0),q12,yy1); +wave_1_per_point3=zz1 = if(equal(sample,0),q13,zz1); +wave_1_per_point4= +wave_1_per_point5=dx1 = q14*(yy1-xx1); +wave_1_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_1_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_1_per_point8=xx1 = xx1 + q17*dx1; +wave_1_per_point9=yy1 = yy1 + q17*dy1; +wave_1_per_point10=zz1 = zz1 + q17*dz1; +wave_1_per_point11= +wave_1_per_point12=my_x = xx1*0.02; +wave_1_per_point13=my_y = yy1*0.02; +wave_1_per_point14=my_z = zz1*0.02; +wave_1_per_point15= +wave_1_per_point16=x = 0.5 + my_x; +wave_1_per_point17=y = 0.5 + my_y; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=23 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=175 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20065 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=3.14159 +shapecode_0_tex_zoom=0.99979 +shapecode_0_r=0.100 +shapecode_0_g=0.100 +shapecode_0_b=0.100 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.010 +shapecode_0_border_g=0.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=//lorenz-attractor calc +shape_0_per_frame2=xx1 = if(equal(instance,0),q11,xx1); +shape_0_per_frame3=yy1 = if(equal(instance,0),q12,yy1); +shape_0_per_frame4=zz1 = if(equal(instance,0),q13,zz1); +shape_0_per_frame5= +shape_0_per_frame6=dx1 = q14*(yy1-xx1); +shape_0_per_frame7=dy1 = xx1*(q15-zz1)-yy1; +shape_0_per_frame8=dz1 = xx1*yy1-q16*zz1; +shape_0_per_frame9=dd = sqrt(dx1*dx1+dy1*dy1+dz1*dz1); +shape_0_per_frame10=xx1 = xx1 + q17*dx1/dd; +shape_0_per_frame11=yy1 = yy1 + q17*dy1/dd; +shape_0_per_frame12=zz1 = zz1 + q17*dz1/dd; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=// 3D object model coordinates +shape_0_per_frame16=my_x = xx1*0.1; +shape_0_per_frame17=my_y = yy1*0.1; +shape_0_per_frame18=my_z = zz1*0.1 - 3; +shape_0_per_frame19= +shape_0_per_frame20= +shape_0_per_frame21=d = 4.75; // camera distance +shape_0_per_frame22=zoom = .55+0.25*sin(.5*q32); +shape_0_per_frame23= +shape_0_per_frame24=// solid angles +shape_0_per_frame25=w1 = q3; +shape_0_per_frame26=w2 = q4; +shape_0_per_frame27=w3 = q5; +shape_0_per_frame28= +shape_0_per_frame29=// 3D rotation +shape_0_per_frame30=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame31=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame32=z1 = my_z; +shape_0_per_frame33= +shape_0_per_frame34=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame35=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame36=y2 = y1; +shape_0_per_frame37= +shape_0_per_frame38=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame39=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame40=x3 = x2; +shape_0_per_frame41= +shape_0_per_frame42=// perspective calculation +shape_0_per_frame43= +shape_0_per_frame44=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame45=w = atan2(x3,y3); +shape_0_per_frame46=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame47=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame48= +shape_0_per_frame49=my_x = zoom*sin(w)*p; +shape_0_per_frame50=my_y = zoom*cos(w)*p; +shape_0_per_frame51= +shape_0_per_frame52=x = 0.5 + my_x; +shape_0_per_frame53=y = 0.5 + my_y; +shape_0_per_frame54= +shape_0_per_frame55=rad = pow(rad,1.2)/pow(d,3.1)*30; +shape_0_per_frame56=ang = ang-instance/num_inst*asin(1)*8; +shapecode_1_enabled=1 +shapecode_1_sides=12 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=92 +shapecode_1_x=0.800 +shapecode_1_y=0.500 +shapecode_1_rad=0.02705 +shapecode_1_ang=1.57080 +shapecode_1_tex_ang=1.25664 +shapecode_1_tex_zoom=3.07268 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=t1 = time - int (time); +shape_1_per_frame2=sample = instance/num_inst; +shape_1_per_frame3=t_abs = sample*3; +shape_1_per_frame4=t_rel = sample-time/5; +shape_1_per_frame5= +shape_1_per_frame6=ampl = 2*t_abs/2 ; +shape_1_per_frame7= +shape_1_per_frame8=k1=sin(time/13); +shape_1_per_frame9=k2=sin(time/12); +shape_1_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_1_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_1_per_frame12=oz = -1 ; +shape_1_per_frame13= +shape_1_per_frame14= +shape_1_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_1_per_frame16=g = sqr(sin(t_rel)); +shape_1_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_1_per_frame18= +shape_1_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_1_per_frame20= +shape_1_per_frame21=xang = time/9.5; +shape_1_per_frame22=yang = 0*time/7; +shape_1_per_frame23=zang = -time/22; +shape_1_per_frame24=fov = 0.5; +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=// Rotation um x,y,z +shape_1_per_frame28= +shape_1_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_1_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_1_per_frame31= +shape_1_per_frame32=ox = mx; +shape_1_per_frame33=oy = my; +shape_1_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_1_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_1_per_frame36=ox = mx; +shape_1_per_frame37=oz = mz; +shape_1_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_1_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_1_per_frame40=oy = my; +shape_1_per_frame41=oz = mz; +shape_1_per_frame42= +shape_1_per_frame43=oz = oz - 6; +shape_1_per_frame44=x = ox*fov/oz +0.5; +shape_1_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_1_per_frame46=y = oy*fov/oz + 0.5; +shape_1_per_frame47= +shape_1_per_frame48=a=1/mz*.5; +shape_1_per_frame49=//a2=1/mz*.5; +shape_1_per_frame50=//border_a=1/mz*.5; +shape_1_per_frame51=rad=1/mz*.005; +shapecode_2_enabled=0 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.26670 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.100 +shapecode_2_b=0.550 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame9=t = .6; +shape_2_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame11=t = t + rnd2*0.1; +shape_2_per_frame12=wh = rnd4*asin(1)*4; +shape_2_per_frame13=wv = 0.25 + rnd3*0.1; +shape_2_per_frame14= +shape_2_per_frame15=d = 6; // makes the perspective impact +shape_2_per_frame16=zoom = 1; +shape_2_per_frame17=l = 1; +shape_2_per_frame18= +shape_2_per_frame19=// Kardan angles +shape_2_per_frame20= +shape_2_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame22=w2 = q4; // rotation around vertical axis +shape_2_per_frame23=w3 = q5; // rotation around horizontal axis +shape_2_per_frame24= +shape_2_per_frame25= +shape_2_per_frame26=// definition of the 3D shape +shape_2_per_frame27= +shape_2_per_frame28=i = instance; +shape_2_per_frame29= +shape_2_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*4; +shape_2_per_frame31=my_z = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*4; +shape_2_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*4; +shape_2_per_frame33= +shape_2_per_frame34= +shape_2_per_frame35=// 3D rotations +shape_2_per_frame36= +shape_2_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame39=z1 = my_z; +shape_2_per_frame40= +shape_2_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame43=y2 = y1; +shape_2_per_frame44= +shape_2_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame47=x3 = x2; +shape_2_per_frame48= +shape_2_per_frame49=// perspective calculation +shape_2_per_frame50= +shape_2_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame53= +shape_2_per_frame54=rad = rad/d; +shape_2_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame57= +shape_2_per_frame58=x = 0.5 + my_x; +shape_2_per_frame59=y = 0.5 + my_y; +shape_2_per_frame60= +shape_2_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame62=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=q1 = aspectx; +per_frame_26=q2 = aspecty; +per_frame_27=wave_a = 0; +per_frame_28=v = 0.5; +per_frame_29=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_30=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_31=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_32= +per_frame_33=n = n + j1*0.0052; +per_frame_34=n1 = n1 + j2*0.0052; +per_frame_35=n2 = n2 + j3*0.0052; +per_frame_36= +per_frame_37= +per_frame_38=q3 = n*0.01; // passing the 3 room angles +per_frame_39=q4 = n1*0.01; +per_frame_40=q5 = n2*0.01; +per_frame_41= +per_frame_42= +per_frame_43=// lorenz-attractor calc +per_frame_44=a = 10; +per_frame_45=b = 28; +per_frame_46=c = 9/5; +per_frame_47=dx1 = a*(y1-x1); +per_frame_48=dy1 = x1*(b-z1)-y1; +per_frame_49=dz1 = x1*y1-c*z1; +per_frame_50=d = 1; +per_frame_51=dd = sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); +per_frame_52=x1 = x1 + d*dx1/dd; +per_frame_53=y1 = y1 + d*dy1/dd; +per_frame_54=z1 = z1 + d*dz1/dd; +per_frame_55= +per_frame_56=q11 = x1; +per_frame_57=q12 = y1; +per_frame_58=q13 = z1; +per_frame_59=q14 = a; +per_frame_60=q15 = b; +per_frame_61=q16 = c; +per_frame_62=q17 = d; +per_frame_63= +per_frame_64=//a code snippet from Eo.S... +per_frame_65=vol = (bass_att+treb_att+mid_att)*.25; +per_frame_66=vol = vol*vol; +per_frame_67=voltime = voltime + .1*vol; +per_frame_68=q32 = .4*voltime; +warp_1=`float2 dither_uv; +warp_2=`float3 rand; +warp_3=`float2 d, d_uv; +warp_4=`float3 dx, dy; +warp_5=` +warp_6=`shader_body +warp_7=`{ +warp_8=` +warp_9=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_10=` rand = tex2D(sampler_noise_lq, dither_uv)-0.5; +warp_11=` +warp_12=` d = texsize.zw*4; +warp_13=` d_uv = uv_orig + rand*texsize.zw*0; +warp_14=` dx = GetBlur1(d_uv + float2(1,0)*d) - GetBlur1(d_uv - float2(1,0)*d); +warp_15=` dy = GetBlur1(d_uv + float2(0,1)*d) - GetBlur1(d_uv - float2(0,1)*d); +warp_16=` d_uv += float2(dx.x,dy.x)*texsize.zw*4; +warp_17=` +warp_18=` +warp_19=`ret.x = GetPixel(d_uv).x; +warp_20=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_21=` ((d_uv.xyy*q27 +warp_22=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_23=` ).xyz* +warp_24=` float3(1,1,0)*0.05 + +warp_25=` time*float3(0,0,1)*q29 +warp_26=` ); +warp_27=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_28=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_29=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_30=`ret.x += -(GetBlur1(d_uv).x-ret.x)*0.04 - 0.006 + rand*0.01; +warp_31=`//ret.x = 0; +warp_32=`ret.x=1-ret.x; +warp_33=` +warp_34=`float2 uv_y = uv-(float2(0,-1.2) + float2(dx.y,dy.y)*8+float2(dx.x,dy.x)*4)*texsize.zw; +warp_35=`ret.y = max(GetPixel(uv_y).x, GetPixel(uv_y).y-0.0012) + rand*0.08; +warp_36=`ret.z=1-ret.y; +warp_37=`ret.y=1-ret.y; +warp_38=`ret.y=1-ret.x; +warp_39=`ret.x=1-ret.z; +warp_40=`ret.z=1-ret.z; +warp_41=` +warp_42=`} +comp_1=`float2 d, d_uv; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=`float2 uv_o = uv; +comp_8=` +comp_9=`ret = GetBlur3(uv); +comp_10=` +comp_11=`float2 uv2 = uv*(1-.15*GetBlur1(saturate(ret.xy))); +comp_12=`uv2 += .075*GetBlur1(saturate(ret.xy)); +comp_13=` +comp_14=`uv = lerp(uv,uv2,.75); +comp_15=` +comp_16=` +comp_17=` d = texsize.zw*4; +comp_18=` d_uv = uv; +comp_19=` dx = GetBlur1(d_uv + float2(1,0)*d) - GetBlur1(d_uv - float2(1,0)*d); +comp_20=` dy = GetBlur1(d_uv + float2(0,1)*d) - GetBlur1(d_uv - float2(0,1)*d); +comp_21=` d_uv += float2(dx.x,dy.x)*0.03; +comp_22=` +comp_23=`ret = lerp(GetBlur2(d_uv),GetPixel(d_uv),0.4); +comp_24=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_25=` ((d_uv.xyy*q28 +comp_26=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_27=` ).xyz* +comp_28=` float3(1,1,0)*0.05 + +comp_29=` time*float3(0,0,1)*q31 +comp_30=` ); +comp_31=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_32=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_33=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_34=`ret = (ret.y-ret.x*0.5)*lerp(float3(.2,0.7,1.25),1,ret.x)*1.4; +comp_35=` +comp_36=`ret = lerp(ret,float3(-0.1,-0.1,.1),GetBlur1(d_uv-float2(1,1)*texsize.zw*32).z*0.6); +comp_37=`ret = lerp(ret,float3(1.5,1.5,2),GetPixel(uv_o).z*0.36); +comp_38=` +comp_39=`//ret = GetPixel(uv); +comp_40=`} diff --git a/presets/presets_tryptonaut/flexi - patternton, district of media, capitol of the united abstractions of fractopia.milk b/presets/presets_tryptonaut/flexi - patternton, district of media, capitol of the united abstractions of fractopia.milk new file mode 100755 index 0000000000..b98909394c --- /dev/null +++ b/presets/presets_tryptonaut/flexi - patternton, district of media, capitol of the united abstractions of fractopia.milk @@ -0,0 +1,395 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004 +fWaveScale=0.242 +fWaveSmoothing=0.000 +fWaveParam=-0.440 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.880 +fWarpScale=9.181 +fZoomExponent=0.65309 +fShader=0.000 +zoom=0.87866 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.04914 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.040 +ob_size=0.050 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=r = 1; g = 0; b = 1; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.6 + d*sample*(1-sample)*2; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.44415 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=t2 = 0; +wave_1_init2=t3 = 0; +wave_1_init3=t4 = 0; +wave_1_init4=cl = 0; +wave_1_per_frame1=t8 = 1; +wave_1_per_point1=t8 = -t8; +wave_1_per_point2=y = sample; +wave_1_per_point3=x = 0.5 + t8*0.005; +wave_1_per_point4= +wave_1_per_point5=pi3 = 3.1415*2*0.3333; +wave_1_per_point6=t = time + sample*2; +wave_1_per_point7=c=2; +wave_1_per_point8= +wave_1_per_point9=r = sin(t)*c; +wave_1_per_point10=g = sin(t+pi3)*c; +wave_1_per_point11= +wave_1_per_point12=b = sin(t-pi3)*c; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=r = if(above(r,1),1,r); +wave_1_per_point16=r = if(below(r,0),0,r); +wave_1_per_point17=g = if(above(g,1),1,g); +wave_1_per_point18=g = if(below(g,0),0,g); +wave_1_per_point19=b = if(above(b,1),1,b); +wave_1_per_point20=b = if(below(b,0),0,b); +wave_1_per_point21= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=100.00000 +wavecode_2_smoothing=0.60000 +wavecode_2_r=0.000 +wavecode_2_g=0.400 +wavecode_2_b=1.000 +wavecode_2_a=0.300 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=sample = 1-sample; +wave_2_per_point2=xxx = xx; +wave_2_per_point3=yyy = yy; +wave_2_per_point4=xx = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point6= +wave_2_per_point7=yy = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point8=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wave_2_per_point9=d = 1/sqrt(sqr(xx-xxx)+sqr(yy-yyy)); +wave_2_per_point10=x = xx + sample*(1-sample)*(value1-value2)*(yy-yyy)*d; +wave_2_per_point11=y = yy - sample*(1-sample)*(value1-value2)*(xx-xxx)*d; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=cl = 0; +wave_3_per_frame1=t8 = 1; +wave_3_per_point1=t8 = -t8; +wave_3_per_point2=y = (1+t8)*0.01; +wave_3_per_point3=x = sample; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.040 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.12566 +shapecode_0_tex_zoom=1.51878 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.010 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.490 +shapecode_1_y=0.500 +shapecode_1_rad=1.32907 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49831 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.990 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=1.000 +shapecode_2_y=0.500 +shapecode_2_rad=3.00540 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.12566 +shapecode_2_tex_zoom=1.51878 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=1.000 +shapecode_3_y=0.500 +shapecode_3_rad=0.39872 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.12566 +shapecode_3_tex_zoom=1.51878 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=zoom = 1; +per_frame_2=//warp = 0; +per_frame_3=scale = 1; +per_frame_4=angle = time*.1; +per_frame_5=translation_x = 0; +per_frame_6=translation_y = 0.12; +per_frame_7= +per_frame_8=a_r = cos(angle)*scale; +per_frame_9=a_i = sin(angle)*scale; +per_frame_10=b_r = translation_x; +per_frame_11=b_i = translation_y; +per_frame_12= +per_frame_13=//complex inverted +per_frame_14=scale = 1.6; +per_frame_15=angle = 0; +per_frame_16=translation_u = 0; +per_frame_17=translation_v = 0; +per_frame_18= +per_frame_19=// c +per_frame_20=q15 = cos(angle)*scale; +per_frame_21=q16 = sin(angle)*scale; +per_frame_22= +per_frame_23=// d +per_frame_24=q17 = translation_u; +per_frame_25=q18 = translation_v; +per_frame_26= +per_frame_27=// c^(-1) +per_frame_28=c_inv_r = q15/(q15*q15+q16*q16); +per_frame_29=c_inv_i = q16/(q15*q15+q16*q16); +per_frame_30= +per_frame_31=// a*c^(-1) +per_frame_32=q11 = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_33=q12 = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_34= +per_frame_35=// (bc-ad) +per_frame_36=bcad_r = (b_r*q15 - b_i*q16)-(a_r*q17-a_i*q18); +per_frame_37=bcad_i = (b_r*q16 - b_i*q15)-(a_r*q18-a_i*q17); +per_frame_38= +per_frame_39=// mu*c^(-1) +per_frame_40=q13 = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_41=q14 = bcad_r*c_inv_i - bcad_i*c_inv_r; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` float1 d = 0.02; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*1280*texsize.z; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*1024*texsize.w; +warp_7=` float2 my_uv = uv - float2(dx,dy)*0.004; +warp_8=` +warp_9=` +warp_10=` +warp_11=` ret.y = tex2D( sampler_pc_main, my_uv).y; +warp_12=` ret.y += (ret.y - GetBlur1(uv).y - 0.1)*.1 +0.02; +warp_13=` +warp_14=`ret.z = tex2d(sampler_fc_main, uv - float2(0,1)*texsize.zw).z - 0.004; +warp_15=` +warp_16=` +warp_17=`uv = uv_orig; +warp_18=`float2 pixelsize = texsize.zw; +warp_19=`float1 conway = tex2D( sampler_pw_main, uv + float2(-1,-1)*pixelsize).x; +warp_20=` conway += tex2D( sampler_pw_main, uv + float2(0,-1)*pixelsize).x; +warp_21=` conway += tex2D( sampler_pw_main, uv + float2(1,-1)*pixelsize).x; +warp_22=` conway += tex2D( sampler_pw_main, uv + float2(-1,0)*pixelsize).x; +warp_23=` conway += tex2D( sampler_pw_main, uv + float2(1,0)*pixelsize).x; +warp_24=` conway += tex2D( sampler_pw_main, uv + float2(-1,1)*pixelsize).x; +warp_25=` conway += tex2D( sampler_pw_main, uv + float2(0,1)*pixelsize).x; +warp_26=` conway += tex2D( sampler_pw_main, uv + float2(1,1)*pixelsize).x; +warp_27=`conway -= frac(conway); +warp_28=`float1 p = saturate (tex2D( sampler_pc_main, uv).x); +warp_29=`ret.x = saturate((1-abs(conway-3)))*(1-p); +warp_30=`ret.x += saturate(max(1-abs(conway-2),1-abs(conway-3)))*p; +warp_31=` +warp_32=` +warp_33=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q11,q12); +comp_5=`float2 mu = float2(q13,q14); +comp_6=`float2 c = float2(q15,q16); +comp_7=`float2 d = float2(q17,q18); +comp_8=` +comp_9=`float2 z = (uv-0.5)*aspect.xy; +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x) + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius*=0.5; +comp_17=`float l = length(moebius); +comp_18=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.95; +comp_19=` +comp_20=`float2 uvr = 0.5 + (uv-0.5)*0.2; +comp_21=` +comp_22=`ret = GetPixel(uvr).z*float3(0.4,0,0.7); +comp_23=`ret = lerp(ret,float3(0,1,1),saturate(tex2d(sampler_fc_main,moebius).y))*(1.4-pow(l*0.8,0.3)); +comp_24=`ret = lerp(ret,float3(4,1,0),saturate(tex2d(sampler_fc_main,uvr).y-tex2d(sampler_pc_main,uvr).y)*4*(l*l)); +comp_25=`ret = lerp(ret,-4,GetPixel(uvr).x); +comp_26=`ret = lerp(ret,2,tex2d(sampler_pc_main,uvr).x*0.75); +comp_27=`//ret = GetPixel(uv); +comp_28=`} diff --git a/presets/presets_tryptonaut/flexi - smouldering.milk b/presets/presets_tryptonaut/flexi - smouldering.milk new file mode 100755 index 0000000000..c0f128e217 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - smouldering.milk @@ -0,0 +1,469 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.413 +fWaveScale=0.418 +fWaveSmoothing=0.000 +fWaveParam=-0.660 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=0.626 +fWarpScale=1.331 +fZoomExponent=1.00001 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.08925 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.240 +wave_y=0.440 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=vol = bass*8 + mid*5 + treb*3; +wave_0_per_frame2=m = m*0.97 + vol*0.08; +wave_0_per_frame3=monitor = vol; +wave_0_per_frame4=beat = above(vol,res)*above(vol,m)*above(vol,16); +wave_0_per_frame5=diff = (1-beat)*diff + beat*(vol-res); +wave_0_per_frame6=res = beat*(vol + m*0.04) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +wave_0_per_frame7=res = max(0,res); +wave_0_per_frame8= +wave_0_per_frame9=b = 0.1; +wave_0_per_frame10=g = beat; +wave_0_per_frame11=r = beat*0.04; +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=y = 0.5 + d*sample*(1-sample)*4; +wave_0_per_point7=x = -0.05 + sample*1.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=chance = 0; +wave_1_per_point1=// the velocity vector +wave_1_per_point2= +wave_1_per_point3=x = q3 + sample*sin(q14)*q13*40; +wave_1_per_point4=y = q4 + sample*cos(q14)*q13*40; +wave_1_per_point5= +wave_1_per_point6=// tangential velocity of rotation +wave_1_per_point7=//x = q3 + sample*q16*40; +wave_1_per_point8=//y = q4 - q5/2; +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=x = 0.5 + (x-0.5)/q1; +wave_1_per_point12=y = 0.5 + (y-0.5)/q2; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=chance = 0; +wave_2_per_point1=// tangential property of velocity vector +wave_2_per_point2= +wave_2_per_point3=x = q3 + sample*sin(q10)*cos(q14-q10)*q13*40; +wave_2_per_point4=y = q4 + sample*cos(q10)*cos(q14-q10)*q13*40; +wave_2_per_point5= +wave_2_per_point6=// vx +wave_2_per_point7=//x = q3 + sample*q11*40; +wave_2_per_point8=//y = q4; +wave_2_per_point9= +wave_2_per_point10=x = 0.5 + (x-0.5)/q1; +wave_2_per_point11=y = 0.5 + (y-0.5)/q2; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=chance = 0; +wave_3_per_point1=// orthogonal property of velocity vector +wave_3_per_point2= +wave_3_per_point3=x = q3 + sample*sin(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point4=y = q4 + sample*cos(q10+asin(1))*cos(q14-q10-asin(1))*q13*40; +wave_3_per_point5= +wave_3_per_point6=// vy +wave_3_per_point7=//x = q3; +wave_3_per_point8=//y = q4 + sample*q12*40; +wave_3_per_point9= +wave_3_per_point10=x = 0.5 + (x-0.5)/q1; +wave_3_per_point11=y = 0.5 + (y-0.5)/q2; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.02770 +shapecode_0_ang=6.03186 +shapecode_0_tex_ang=6.03186 +shapecode_0_tex_zoom=0.68390 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=an = an + q6; +shape_0_per_frame2=ang = an*0.5; +shape_0_per_frame3=x = q4; +shape_0_per_frame4=y = q5; +shape_0_per_frame5=rad = q3*sqrt(2); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame9=y = 0.5 + (y-0.5)/q1; +shape_0_per_frame10= +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.02770 +shapecode_1_ang=6.03186 +shapecode_1_tex_ang=6.03186 +shapecode_1_tex_zoom=0.68390 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=an = an + q9; +shape_1_per_frame2=ang = an*0.5; +shape_1_per_frame3=x = q7; +shape_1_per_frame4=y = q8; +shape_1_per_frame5=rad = q3*sqrt(2); +shape_1_per_frame6= +shape_1_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.02770 +shapecode_2_ang=6.03186 +shapecode_2_tex_ang=6.03186 +shapecode_2_tex_zoom=0.68390 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=an = an + q12; +shape_2_per_frame2=ang = an*0.5; +shape_2_per_frame3=x = q10; +shape_2_per_frame4=y = q11; +shape_2_per_frame5=rad = q3*sqrt(2); +shape_2_per_frame6= +shape_2_per_frame7=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame8=y = 0.5 + (y-0.5)/q1; +shape_2_per_frame9= +shapecode_3_enabled=0 +shapecode_3_sides=48 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=4 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.02770 +shapecode_3_ang=6.03186 +shapecode_3_tex_ang=6.03186 +shapecode_3_tex_zoom=0.68390 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=an = an + 0.5*q16/num_inst; +shape_3_per_frame2=w = asin(1)*4*instance/num_inst + an; +shape_3_per_frame3=x = q6 + sin(w)*q5*0.5; +shape_3_per_frame4=y = q7 + cos(w)*q5*0.5; +shape_3_per_frame5=rad = q5*0.25; +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=//x = 0.5 + (x-0.5)/q2; +shape_3_per_frame9=//y = 0.5 + (y-0.5)/q1; +shape_3_per_frame10= +per_frame_init_1=x1 = 0.5; +per_frame_init_2=y1 = 0.6; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; +per_frame_init_5=y2 = 0.4; +per_frame_init_6= +per_frame_init_7=x3 = 0.5; +per_frame_init_8=y3 = 0.2; +per_frame_init_9= +per_frame_init_10=vr1 = 0.0001; +per_frame_init_11=vr2 = 0.0; +per_frame_init_12=vr3 = 0.0; +per_frame_init_13= +per_frame_init_14=vx1 = 0; +per_frame_init_15=vx2 = 0; +per_frame_init_16=vx3 = 0; +per_frame_1=zoom = 1; +per_frame_2=warp = 0; +per_frame_3=wave_a = 0; +per_frame_4= +per_frame_5=r = 0.04+ (bass_att+treb_att)*0.01; +per_frame_6=monitor = aspecty; +per_frame_7=vr = sin(vr1)*r; +per_frame_8=bounce = below(y1,r-(aspectx-1)*0.5);y1 = y1+vy1;vy1 = if(bounce, abs(vy1)*0.96 + (r-y1-(aspectx-1)*0.5)*0.1, vy1-0.0003*60/fps); +per_frame_9=vx1 = if(bounce, vx1 + (vr-vx1)*0.15, vx1);vr = if(bounce, vr + (vx1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_10=bounce = above(x1,1-r+(aspecty-1)*0.5);vx1 = if(bounce, - abs(vx1)*0.96 + (1-r-x1+(aspecty-1)*0.5)*0.1, vx1); +per_frame_11=vy1 = if(bounce, vy1 + (vr-vy1)*0.15, vy1);vr = if(bounce, vr + (vy1-vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_12=bounce = below(x1,r-(aspecty-1)*0.5);x1 = x1+vx1;vx1 = if(bounce, abs(vx1)*0.96 + (r-x1-(aspecty-1)*0.5)*0.1, vx1); +per_frame_13=vy1 = if(bounce, vy1 + (-vr-vy1)*0.15, vy1);vr = if(bounce, vr - (vy1+vr)*0.85 , vr);vr1 = asin(vr/r); +per_frame_14= +per_frame_15=vr = sin(vr2)*r; +per_frame_16=bounce = below(y2,r-(aspectx-1)*0.5);y2 = y2+vy2;vy2 = if(bounce, abs(vy2)*0.96 + (r-y2-(aspectx-1)*0.5)*0.1, vy2-0.0003*60/fps); +per_frame_17=vx2 = if(bounce, vx2 + (vr-vx2)*0.15, vx2);vr = if(bounce, vr + (vx2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_18=bounce = above(x2,1-r+(aspecty-1)*0.5);vx2 = if(bounce, - abs(vx2)*0.96 + (1-r-x2+(aspecty-1)*0.5)*0.1, vx2); +per_frame_19=vy2 = if(bounce, vy2 + (vr-vy2)*0.15, vy2);vr = if(bounce, vr + (vy2-vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_20=bounce = below(x2,r-(aspecty-1)*0.5);x2 = x2+vx2;vx2 = if(bounce, abs(vx2)*0.96 + (r-x2-(aspecty-1)*0.5)*0.1, vx2); +per_frame_21=vy2 = if(bounce, vy2 + (-vr-vy2)*0.15, vy2);vr = if(bounce, vr - (vy2+vr)*0.85 , vr);vr2 = asin(vr/r); +per_frame_22= +per_frame_23=vr = sin(vr3)*r; +per_frame_24=bounce = below(y3,r-(aspectx-1)*0.5);y3 = y3+vy3;vy3 = if(bounce, abs(vy3)*0.96 + (r-y3-(aspectx-1)*0.5)*0.1, vy3-0.0003*60/fps); +per_frame_25=vx3 = if(bounce, vx3 + (vr-vx3)*0.15, vx3);vr = if(bounce, vr + (vx3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_26=bounce = above(x3,1-r+(aspecty-1)*0.5);vx3 = if(bounce, - abs(vx3)*0.96 + (1-r-x3+(aspecty-1)*0.5)*0.1, vx3); +per_frame_27=vy3 = if(bounce, vy3 + (vr-vy3)*0.15, vy3);vr = if(bounce, vr + (vy3-vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_28=bounce = below(x3,r-(aspecty-1)*0.5);x3 = x3+vx3;vx3 = if(bounce, abs(vx3)*0.96 + (r-x3-(aspecty-1)*0.5)*0.1, vx3); +per_frame_29=vy3 = if(bounce, vy3 + (-vr-vy3)*0.15, vy3);vr = if(bounce, vr - (vy3+vr)*0.85 , vr);vr3 = asin(vr/r); +per_frame_30= +per_frame_31=bounce = below( sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)), 2*r); +per_frame_32=bounce = bounce*below(sqrt( sqr(x1+vx1-x2-vx2) + sqr(y1+vy1-y2-vy2)),sqrt( sqr(x1-x2) + sqr(y1-y2))); +per_frame_33=ref_ang = atan2(x2-x1,y2-y1)+asin(1); // common tangent +per_frame_34=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx1,vy1);w2 = atan2(vx2,vy2); +per_frame_35=vr = sin(vr1)*r; v2r=sin(vr2)*r; +per_frame_36=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_37= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_38=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_39= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_40=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_41= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_42=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_43= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_44=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_45=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_46= +per_frame_47=bounce = below( sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)), 2*r); +per_frame_48=bounce = bounce*below(sqrt( sqr(x1+vx1-x3-vx3) + sqr(y1+vy1-y3-vy3)),sqrt( sqr(x1-x3) + sqr(y1-y3))); +per_frame_49=ref_ang = atan2(x3-x1,y3-y1)+asin(1); // common tangent +per_frame_50=v1 = sqrt(vx1*vx1+vy1*vy1);v2 = sqrt(vx3*vx3+vy3*vy3);w1 = atan2(vx1,vy1);w2 = atan2(vx3,vy3); +per_frame_51=vr = sin(vr1)*r; v2r=sin(vr3)*r; +per_frame_52=vx1 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_53= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx1); +per_frame_54=vy1 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_55= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy1); +per_frame_56=vx3 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_57= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx3); +per_frame_58=vy3 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_59= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy3); +per_frame_60=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr1 = asin(vr/r); +per_frame_61=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr3 = asin(v2r/r); +per_frame_62= +per_frame_63=bounce = below( sqrt( sqr(x3+vx3-x2-vx2) + sqr(y3+vy3-y2-vy2)), 2*r); +per_frame_64=bounce = bounce*below(sqrt( sqr(x2+vx2-x3-vx3) + sqr(y2+vy2-y3-vy3)),sqrt( sqr(x2-x3) + sqr(y2-y3))); +per_frame_65=ref_ang = atan2(x2-x3,y2-y3)+asin(1); // common tangent +per_frame_66=v1 = sqrt(vx3*vx3+vy3*vy3);v2 = sqrt(vx2*vx2+vy2*vy2);w1 = atan2(vx3,vy3);w2 = atan2(vx2,vy2); +per_frame_67=vr = sin(vr3)*r; v2r=sin(vr2)*r; +per_frame_68=vx3 = if(bounce,sin(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-sin(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_69= + sin(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vx3); +per_frame_70=vy3 = if(bounce,cos(ref_ang)*v1*cos(w1-ref_ang) + ((vr-v2r)-cos(ref_ang)*v1*cos(w1-ref_ang))*0.1 +per_frame_71= + cos(ref_ang+asin(1))*v2*cos(w2-ref_ang-asin(1)), vy3); +per_frame_72=vx2 = if(bounce,sin(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-sin(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_73= + sin(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vx2); +per_frame_74=vy2 = if(bounce,cos(ref_ang)*v2*cos(w2-ref_ang) + ((v2r-vr)-cos(ref_ang)*v2*cos(w2-ref_ang))*0.1 +per_frame_75= + cos(ref_ang+asin(1))*v1*cos(w1-ref_ang-asin(1)), vy2); +per_frame_76=vr = if(bounce, vr + (cos(w1-ref_ang)*(v1-v2)-vr)*0.9 , vr);vr3 = asin(vr/r); +per_frame_77=v2r = if(bounce, v2r + (cos(w2-ref_ang)*(v2-v1)-v2r)*0.9 , v2r);vr2 = asin(v2r/r); +per_frame_78= +per_frame_79= +per_frame_80= +per_frame_81= +per_frame_82=q1 = aspectx; +per_frame_83=q2 = aspecty; +per_frame_84=q3 = r*2; +per_frame_85= +per_frame_86=q4 = x1; q5 = y1; q6 = vr1; +per_frame_87=q7 = x2; q8 = y2; q9 = vr2; +per_frame_88=q10 = x3; q11 = y3; q12 = vr3; +per_frame_89= +per_frame_90=q13 = atan2( (x1+x2+x3)/3 - 0.5, (y1+y2+y3)/3-0.5); +per_frame_91=q14 = sigmoid(sqrt( sqr((x1+x2+x3)/3 - 0.5) + sqr((y1+y2+y3)/3-0.5) ),2)*0.2; +warp_1=`float2 dither_uv; +warp_2=`float3 rand; +warp_3=`float2 d, d_uv; +warp_4=`float3 dx, dy; +warp_5=` +warp_6=`shader_body +warp_7=`{ +warp_8=` +warp_9=` dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_10=` rand = tex2D(sampler_noise_lq, dither_uv)-0.5; +warp_11=` +warp_12=` d = texsize.zw*4; +warp_13=` d_uv = uv_orig + rand*texsize.zw*0; +warp_14=` dx = GetBlur1(d_uv + float2(1,0)*d) - GetBlur1(d_uv - float2(1,0)*d); +warp_15=` dy = GetBlur1(d_uv + float2(0,1)*d) - GetBlur1(d_uv - float2(0,1)*d); +warp_16=` d_uv += float2(dx.x,dy.x)*texsize.zw*4; +warp_17=` +warp_18=` +warp_19=`ret.x = GetPixel(d_uv).x; +warp_20=`ret.x += -(GetBlur1(d_uv).x-ret.x)*0.04 - 0.006 + rand*0.01; +warp_21=`//ret.x = 0; +warp_22=` +warp_23=`float2 uv_y = uv-(float2(0,-1.2) + float2(dx.y,dy.y)*8+float2(dx.x,dy.x)*4)*texsize.zw; +warp_24=`ret.y = max(GetPixel(uv_y).x, GetPixel(uv_y).y-0.0012) + rand*0.08; +warp_25=`} +comp_1=`float2 d, d_uv; +comp_2=`float3 dx, dy; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=` d = texsize.zw*4; +comp_8=` d_uv = uv; +comp_9=` dx = GetBlur1(d_uv + float2(1,0)*d) - GetBlur1(d_uv - float2(1,0)*d); +comp_10=` dy = GetBlur1(d_uv + float2(0,1)*d) - GetBlur1(d_uv - float2(0,1)*d); +comp_11=` d_uv += float2(dx.x,dy.x)*0.03; +comp_12=` +comp_13=`ret = lerp(GetBlur2(d_uv),GetPixel(d_uv),0.4); +comp_14=`ret = (ret.y-ret.x*0.5)*lerp(float3(1.5,0.6,0),1,ret.x)*1.4; +comp_15=` +comp_16=`ret = lerp(ret,0,GetBlur1(d_uv-float2(1,1)*texsize.zw*32).z*0.6); +comp_17=`ret = lerp(ret,2,GetPixel(uv).z*0.36); +comp_18=`} diff --git a/presets/presets_tryptonaut/flexi - undercurrents 3 [geiss bipolar 1 mix] (Jelly 5.5).milk b/presets/presets_tryptonaut/flexi - undercurrents 3 [geiss bipolar 1 mix] (Jelly 5.5).milk new file mode 100755 index 0000000000..685e594d05 --- /dev/null +++ b/presets/presets_tryptonaut/flexi - undercurrents 3 [geiss bipolar 1 mix] (Jelly 5.5).milk @@ -0,0 +1,269 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=2.905 +fWaveSmoothing=0.600 +fWaveParam=-0.300 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=24.986 +nMotionVectorsY=20.031 +mv_dx=0.065 +mv_dy=0.109 +mv_l=0.036 +mv_r=0.816 +mv_g=0.099 +mv_b=0.816 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.100*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_2=wave_g = wave_g + 0.050*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_3=decay = decay - 0.01*equal(frame%40,0); +per_frame_4=rot = rot + 0.01*sin(time*0.113); +per_frame_5=rot = rot + 0.01*sin(time*0.533); +per_frame_6=rot = rot + 0.02*sin(time*-0.323); +per_frame_7=dx = dx + dx_residual; +per_frame_8=dy = dy + dy_residual; +per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_10=dx_residual = equal(bass_thresh,2)*0.0072*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_11=dy_residual = equal(bass_thresh,2)*0.0054*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +per_pixel_1=zoom=0.9615+rad*0.1; +per_pixel_2=rot = rot * 3*(1-pow(rad*2-1,2)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` // darken (decay) over time +warp_7=` ret += ret - GetBlur2(uv); +warp_8=` ret = lerp(ret2,ret,.07); +warp_9=` ret = (ret - .005)*0.995; //or try: ret -= 0.004; +warp_10=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-.25*(float2(lum(dx),lum(dy))); +comp_10=`float2 uv_y2 = uv+.25*(float2(lum(dx),lum(dy))); +comp_11=` +comp_12=` +comp_13=`ret = .8*GetBlur3(uv_y)-GetBlur1(uv_y); +comp_14=`ret += .6*GetBlur1(uv); +comp_15=`ret -= (GetBlur2(uv_y2)-GetBlur1(uv_y2)); +comp_16=`ret += 1.2*GetPixel(uv_y2)+.15*GetBlur1(uv_y2); +comp_17=`ret += 1; +comp_18=`ret = lum(ret); +comp_19=`ret = lerp(ret,.75*ret*lum(.6*GetBlur3(uv_y)-.7*GetPixel(uv)-.3*GetBlur1(uv_y2)),pow(hue_shader,ret)); +comp_20=`ret *= .9; +comp_21=`ret *= ret; +comp_22=`ret = sqrt(ret); +comp_23=` +comp_24=`} diff --git a/presets/presets_tryptonaut/flexi, adamfx + hexcollie - moebius morbid vision crack.milk b/presets/presets_tryptonaut/flexi, adamfx + hexcollie - moebius morbid vision crack.milk new file mode 100755 index 0000000000..19f58bde36 --- /dev/null +++ b/presets/presets_tryptonaut/flexi, adamfx + hexcollie - moebius morbid vision crack.milk @@ -0,0 +1,431 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.020 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00564 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.200 +ib_size=0.050 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=0.100 +nMotionVectorsX=32.000 +nMotionVectorsY=24.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=1.000 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.67089 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.94248 +shapecode_0_tex_zoom=0.53426 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.170 +shape_0_per_frame1=flux=q5*9; +shape_0_per_frame2=fluxs=max(flux,0); +shape_0_per_frame3=fluxs=min(fluxs,1); +shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); +shape_0_per_frame5=adv=adv+advflux; +shape_0_per_frame6=advs=adv/256; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang=advs; +shape_0_per_frame10=rad=1.671 + q3/25 +shapecode_1_enabled=0 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.350 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.100 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=y=0.1 + q2*0.4; +shape_1_per_frame2=rad=q2/2; +shape_1_per_frame3=ang=-q2*2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.590 +shapecode_2_y=0.500 +shapecode_2_rad=0.44484 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.050 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=dir = 3; +shape_2_init2=mover = 0; +shape_2_init3=rotator = .255 +shape_2_per_frame1=ang = rotator; +shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); +shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); +shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); +shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); +shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); +shape_2_per_frame7= +shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. +shape_2_per_frame9= +shape_2_per_frame10=b = above(mid,1.5); +shape_2_per_frame11=r2 = above(mid,1.5); +shape_2_per_frame12=g2 = above(mid,1.5); +shape_2_per_frame13=b2 = above(mid,1.5); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.840 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.980 +shapecode_3_g=1.000 +shapecode_3_b=0.980 +shapecode_3_a=0.300 +shapecode_3_r2=0.000 +shapecode_3_g2=0.090 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; +shape_3_per_frame2=y=sin(time)*0.4+0.5; +shape_3_per_frame3=rad=(q1*q1)/2;; +shape_3_per_frame4=ang=q1*4; +shape_3_per_frame5= +shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; +shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; +shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 +per_frame_init_1=mv_x = (60); +per_frame_init_2=mv_y = 89; +per_frame_init_3=monitor = echo_zoom; +per_frame_init_4= +per_frame_init_5= +per_frame_1=zoom =sin( echo_zoom); +per_frame_2= +per_frame_3=cx = (sin((time/2)*1.5)*0.8 + 0.5); +per_frame_4=cy = (sin(time*1.1)*0.8 + 0.5); +per_frame_5= +per_frame_6= +per_frame_7= +per_frame_8=ob_r = 2*(time*.7); +per_frame_9=ob_b = 2*(time*.6); +per_frame_10=ob_g = 2*(time*.5); +per_frame_11= +per_frame_12=ib_r = 1*(time*.5); +per_frame_13=ib_b = 1*(time*.6); +per_frame_14=ib_g = 1*(time*.7); +per_frame_15= +per_frame_16= +per_frame_17=rot = 0.1; +per_frame_18= +per_frame_19=//before inversion +per_frame_20=scale = 3; +per_frame_21=angle = time*.01; +per_frame_22=translation_x = 0; +per_frame_23=translation_y = 0.02; +per_frame_24= +per_frame_25=//complex inverted +per_frame_26=iscale = 0.2; +per_frame_27=iangle = sin(time*0.1337)*0.3; +per_frame_28=itranslation_u = 0; +per_frame_29=itranslation_v = 0; +per_frame_30= +per_frame_31= +per_frame_32=// the m�bius transformation +per_frame_33=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector +per_frame_34=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c +per_frame_35=// so a/c and mu can be calculated outside of the shader +per_frame_36= +per_frame_37=a_r = cos(angle)*scale; +per_frame_38=a_i = sin(angle)*scale; +per_frame_39=b_r = translation_x; +per_frame_40=b_i = translation_y; +per_frame_41= +per_frame_42=c_r = -cos(iangle)*iscale; +per_frame_43=c_i = -sin(iangle)*iscale; +per_frame_44=d_r = itranslation_u; +per_frame_45=d_i = itranslation_v; +per_frame_46= +per_frame_47=// c^(-1) +per_frame_48=c_inv_r = c_r/(c_r*c_r+c_i*c_i); +per_frame_49=c_inv_i = c_i/(c_r*c_r+c_i*c_i); +per_frame_50= +per_frame_51=// a*c^(-1) +per_frame_52=ac_r = (a_r*c_inv_r - a_i*c_inv_i); +per_frame_53=ac_i = (a_r*c_inv_i - a_i*c_inv_r); +per_frame_54= +per_frame_55=// (bc-ad) +per_frame_56=bcad_r = (b_r*c_r - b_i*c_i)-(a_r*d_r-a_i*d_i); +per_frame_57=bcad_i = (b_r*c_i - b_i*c_r)-(a_r*d_i-a_i*d_r); +per_frame_58= +per_frame_59=// mu*c^(-1) +per_frame_60=mu_r = bcad_r*c_inv_r - bcad_i*c_inv_i; +per_frame_61=mu_i = bcad_r*c_inv_i - bcad_i*c_inv_r; +per_frame_62= +per_frame_63=q11 = ac_r; +per_frame_64=q12 = ac_i; +per_frame_65=q13 = mu_r; +per_frame_66=q14 = mu_i; +per_frame_67= +per_frame_68=q15 = c_r; +per_frame_69=q16 = c_i; +per_frame_70=q17 = d_r; +per_frame_71=q18 = d_i; +per_pixel_1=bamx=sin(time-bass); +per_pixel_2=boom=sin(((bamx%boom)*bass)*time); +per_pixel_3=bom=(rand(0.1*(time-boom)*(time-bamx))*2); +per_pixel_4= +per_pixel_5= +per_pixel_6=speed = sin(((speedA-speedB)*(speedB-speedA)))%speedC; +per_pixel_7=speedA = sin((bass*3 - speedB )* time); +per_pixel_8=speedB = sin((mid*3 + speedC ) * time); +per_pixel_9=speedC = sin((treb*3 - speedA ) * time); +per_pixel_10= +per_pixel_11=shox = cos(q3 - q8)*speed; +per_pixel_12=rhox = sin(q5 + speedB)%speed; +per_pixel_13=rox = (shox - rhox)/2; +per_pixel_14= +per_pixel_15=daz=((speed*(time-1))*bass)* 0.5 + 0.5; +per_pixel_16= +per_pixel_17= +per_pixel_18= +per_pixel_19= +per_pixel_20=wec=sin(time-1); +per_pixel_21=weconz=t4-q4; +per_pixel_22=wecrut=(tri*3)-(sin(time-rad)); +per_pixel_23=tri= q8; +per_pixel_24= +per_pixel_25= +per_pixel_26= +per_pixel_27=warp = 1.420; +per_pixel_28= +per_pixel_29=q3 = treb*bom; +per_pixel_30=q8 = bass* boom; +per_pixel_31=q5 = mid*rox; +per_pixel_32=q6 = rox%speed; +per_pixel_33=q4 = daz - q4; +per_pixel_34= +per_pixel_35= +per_pixel_36=wec=sin(time-1); +per_pixel_37=weconz=(q4-q2)*wec; +per_pixel_38=wecrut=(tri*3)-(sin(time-rad)); +per_pixel_39=tri= q8; +per_pixel_40= +per_pixel_41= +per_pixel_42= +per_pixel_43=t1 = wec+x; +per_pixel_44=t3 = tri*weconz; +per_pixel_45=t6 = wecrut; +per_pixel_46=t7 = wec * time; +warp_1=`shader_body +warp_2=`{ +warp_3=`ret = GetPixel(uv_orig) - 0.004; +warp_4=` +warp_5=` +warp_6=`float2 d = texsize.zw*2; +warp_7=`float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +warp_8=`float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +warp_9=` +warp_10=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_11=` +warp_12=`float2 uv_red = lerp(uv_orig,uv,-.4) - float2(dx.x,dy.x)*texsize.zw + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*texsize.zw*2; +warp_13=`ret.x = GetPixel(uv_red).x - 0.001; +warp_14=` +warp_15=`float2 uv_green = lerp(uv_orig,uv,1) + float2(0,1)*texsize.zw - float2(dx.y,dy.y)*texsize.zw*2; +warp_16=`ret.y = max( GetBlur1(uv_orig).x, tex2d(sampler_fc_main, uv_green).y - 0.004); +warp_17=` +warp_18=`//ret = 0; +warp_19=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 ac = float2(q11,q12); +comp_5=`float2 mu = float2(q13,q14); +comp_6=`float2 c = float2(q15,q16); +comp_7=`float2 d = float2(q17,q18); +comp_8=` +comp_9=`float2 z = (uv-0.5); +comp_10=` +comp_11=`// (c*z + d) +comp_12=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x) + d; +comp_13=`// mu/(cz+d) +comp_14=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac; +comp_15=` +comp_16=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99; +comp_17=` +comp_18=`uv=moebius; +comp_19=`float3 rnd = tex2D(sampler_noise_lq, rand_frame.xy + uv*texsize.xy*texsize_noise_lq.zw)*2-1; +comp_20=` +comp_21=`ret = GetPixel(uv); +comp_22=` +comp_23=`d = texsize.zw * 8; +comp_24=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_25=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_26=` +comp_27=`uv -= float2(lum(dx),lum(dy))*texsize.zw*32; +comp_28=` +comp_29=` +comp_30=`ret = pow(abs(GetBlur3(uv+rnd.xy*texsize.zw*5)*2-GetPixel(uv))*1,1); +comp_31=`} diff --git a/presets/presets_tryptonaut/flexi, stahlregen + martin - indoctrinutrition.milk b/presets/presets_tryptonaut/flexi, stahlregen + martin - indoctrinutrition.milk new file mode 100755 index 0000000000..29bd478310 --- /dev/null +++ b/presets/presets_tryptonaut/flexi, stahlregen + martin - indoctrinutrition.milk @@ -0,0 +1,329 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.030 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.900 +fWaveScale=2.905 +fWaveSmoothing=0.600 +fWaveParam=-0.300 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.549 +fWarpScale=2.940 +fZoomExponent=0.02049 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.45984 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=24.986 +nMotionVectorsY=20.031 +mv_dx=0.065 +mv_dy=0.109 +mv_l=0.036 +mv_r=0.816 +mv_g=0.099 +mv_b=0.816 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 0; +per_frame_init_2=y1 = 0; +per_frame_1= +per_frame_2=zoom = 0.995; +per_frame_3=warp = 0; +per_frame_4= +per_frame_5=// these lines belong to the composite shader +per_frame_6=a = a*0.98 - (bass-treb)*0.01; +per_frame_7=v = v*0.96 + a*0.12; +per_frame_8=w = w + v*0.01; +per_frame_9=q15 = a-v; +per_frame_10=q18 = w; +per_frame_11=q19 = sigmoid(treb_att-bass_att,2); +per_frame_12=d = d + (bass_att-0.5)*0.01*60/fps; +per_frame_13=d2 = d2 + (treb_att-0.5)*0.006*60/fps; +per_frame_14=q20 = d+d2; +per_frame_15=q21 = d2; +per_pixel_1=r = bass/4; +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_5=dir = (bass)*(r*r-d*d)*0.3; +per_pixel_6=x1 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_7=y1 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_8= +per_pixel_9= +per_pixel_10=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_11=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_12=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_13=dir = -(mid)*(r*r-d*d)*0.3; +per_pixel_14=x2 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_15=y2 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_16= +per_pixel_17=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_18=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_19=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_20=dir = -(treb)*(r*r-d*d)*0.3; +per_pixel_21=x3 = if( above(d,r),0, sin(y-cy1)*dir); +per_pixel_22=y3 = if( above(d,r),0, -sin(x-cx1)*dir); +per_pixel_23= +per_pixel_24=v = 0.4; +per_pixel_25=dx = (x1+x2+x3)*v; +per_pixel_26=dy = (y1+y2+y3)*v; +warp_1=`shader_body +warp_2=`{ +warp_3=`uv = frac(uv); +warp_4=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_5=`float2 d = texsize.zw*12; +warp_6=`float3 dx = GetBlur3(uv_orig + float2(1,0)*d) - GetBlur3(uv_orig -float2(1,0)*d); +warp_7=`float3 dy = GetBlur3(uv_orig + float2(0,1)*d) - GetBlur3(uv_orig -float2(0,1)*d); +warp_8=` +warp_9=`float2 uvx = uv +warp_10=` + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*0 +warp_11=` - float2(dx.x,dy.x)*texsize.zw*0; +warp_12=` ret.x = tex2D( sampler_fc_main, uvx ).x +warp_13=` - (GetBlur3(uvx)-tex2D( sampler_fc_main, uvx )).x*0.1 +warp_14=` - 0.035; +warp_15=` +warp_16=`float2 uvy = uv_orig +warp_17=` + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*4 +warp_18=` - float2(dx.x,dy.x)*texsize.zw*4 +warp_19=` + float2(dx.y,dy.y)*texsize.zw*8; +warp_20=` +warp_21=`ret.y = tex2d(sampler_fc_main,uvy).y +warp_22=` + (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)*0.1 +warp_23=` - 0.012 +warp_24=` + (tex2d(sampler_pc_main,uv_orig).z)*0.2; +warp_25=` +warp_26=` +warp_27=`float2 uvz = uv_orig +warp_28=` + (tex2D(sampler_noise_lq, dither_uv).xy-0.5)*texsize.zw*2 +warp_29=` + float2(dy.x,-dx.x)*texsize.zw*64 +warp_30=` + float2(dx.z,dy.z)*texsize.zw*0; +warp_31=`ret.z = tex2d(sampler_fc_main,uvz).z +warp_32=` + (tex2d(sampler_fc_main,uvz).z-GetBlur2(uvz).z)*0.2 +warp_33=` + (tex2D(sampler_noise_lq, dither_uv).xyz)*0.1 +warp_34=` - GetBlur3(uv_orig).x +warp_35=` - saturate(1-GetBlur2(uv_orig).x)*0.04; +warp_36=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=`float2 uvo = uv; +comp_5=`uv = 0.5 + (uv-0.5)*aspect.xy; +comp_6=`rs.x = ang/3.14 + rad*(q15) - q18; +comp_7=`rs.y = .1/(.05+length (uv-0.5)*1.4)+q21; +comp_8=` +comp_9=`uv = 1.0 - abs( frac( rs * 0.5 ) * 2.0 - 1.0 ); +comp_10=`float2 hor = float2 (texsize.z,0)*4; +comp_11=`float2 ver = float2 (0,texsize.w)*4; +comp_12=`float dx = lum(GetBlur1 (uv-hor) - GetBlur1 (uv+hor)); +comp_13=`float dy = lum(GetBlur1 (uv-ver) - GetBlur1 (uv+ver)); +comp_14=`float2 dz = float2 (dx,dy); +comp_15=` +comp_16=`float3 ret1 = GetPixel(uv); +comp_17=`uv = rs; +comp_18=`uv = cos(uv*3.14*4 - float2(0,10)*q20) - 8*dz;; +comp_19=`float3 dots = saturate(.02/length(uv))*hue_shader; +comp_20=` +comp_21=`ret = ret1; +comp_22=`ret = lerp(lerp(ret.x*float3(2,1.2,0),float3(0.25,0,0.5),saturate(ret.y)) +comp_23=` ,1.8 +comp_24=` ,saturate(ret.z-ret.x)); +comp_25=` +comp_26=`ret = lerp(ret,dots,0.92)*6; +comp_27=`//ret = GetPixel(uvo); +comp_28=`} diff --git a/presets/presets_tryptonaut/flexi, stahlregen, geiss + tobias wolfboi - space gelatine burst - mash0000 - chromatidal pool mirror blasphemy.milk b/presets/presets_tryptonaut/flexi, stahlregen, geiss + tobias wolfboi - space gelatine burst - mash0000 - chromatidal pool mirror blasphemy.milk new file mode 100755 index 0000000000..c7698bb81d --- /dev/null +++ b/presets/presets_tryptonaut/flexi, stahlregen, geiss + tobias wolfboi - space gelatine burst - mash0000 - chromatidal pool mirror blasphemy.milk @@ -0,0 +1,364 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=q1 = below(rand(100),4 + 10*(treb+mid+bass)); +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_0_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_0_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_0_per_point7=mx = xv + ita*.025; +wave_0_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_0_per_point9= +wave_0_per_point10=sz = .01; +wave_0_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point13= +wave_0_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_0_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_0_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_0_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_0_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_0_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_0_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_0_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_0_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_0_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_0_per_point24= +wave_0_per_point25=lr = if(sw,lr,rand(10)); +wave_0_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_0_per_point27= +wave_0_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point34=vg = equal(let,1); +wave_0_per_point35=vh = equal(let,9) + equal(let,20); +wave_0_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point46=vs = equal(let,22); +wave_0_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point48= +wave_0_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point50= +wave_0_per_point51=a = a*below(ita,8)*q1; +wave_0_per_point52= +wave_0_per_point53=x = mx + vx*sz*.75; +wave_0_per_point54=y = my + vy*sz*1.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=2 +shapecode_0_x=0.490 +shapecode_0_y=0.500 +shapecode_0_rad=0.09902 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=4.36077 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = rand(1000)/1000; +shape_0_per_frame2=y = rand(1000)/1000; +shape_0_per_frame3=ang = rand(150)/100; +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.98600 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=0.99979 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang =sin(time/65) ;// ang + (bass*.2) + (time*.4); +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time) * .4 + .5; +shape_2_per_frame2= +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.38306 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.030 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +per_frame_1=vol = bass*8 + mid*5 + treb*3; +per_frame_2=m = m*0.97 + vol*0.08; +per_frame_3=monitor = vol; +per_frame_4=beat = above(vol,res)*above(vol,m)*above(vol,16); +per_frame_5=diff = (1-beat)*diff + beat*(vol-res); +per_frame_6=res = beat*(vol + m*0.1) + (1-beat)*(res - (0.1+diff*0.02)*60/fps); +per_frame_7=res = max(0,res); +per_frame_8= +per_frame_9= +per_frame_10=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_11=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_12=q1 = x; +per_frame_13=q2 = y; +per_frame_14= +per_frame_15=wave_x = q1; +per_frame_16=wave_y = 1-q2; +per_pixel_1=cx = q1; +per_pixel_2=cy = q2; +per_pixel_3= +per_pixel_4=d = pow(sqrt(sqr(x-cx)+sqr(y-cy)),0.8); +per_pixel_5=r = 0.2; +per_pixel_6=v = 0.2; +per_pixel_7= +per_pixel_8=dx = (x - cx)*v*(d-r); +per_pixel_9=dy = (y - cy)*v*(d-r); +warp_1=`shader_body +warp_2=`{ +warp_3=` float t = saturate((bass/bass_att-0.9)*13); +warp_4=` uv = lerp(uv_orig, uv, t*0.3); +warp_5=` +warp_6=` float2 v1 = normalize(uv_orig-0.5); +warp_7=` float2 v2 = v1.yx * float2(1,-1); +warp_8=` +warp_9=` float z = length(texsize.zw)*450; +warp_10=` +warp_11=` uv.xy += v1*texsize.zw * cos(rad*170 - time*7)*2; +warp_12=` uv.xy += v2*texsize.zw * cos(ang*30 - time*7)*5; +warp_13=` +warp_14=` // sample previous frame +warp_15=` ret = tex2D( sampler_main, uv ).xyz; +warp_16=` +warp_17=` +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret - 0.004)*0.83; +warp_21=` // sample previous frame +warp_22=` ret = tex2D( sampler_pw_main, uv ).xyz; +warp_23=` +warp_24=` // darken over time +warp_25=` ret -= 0.004;//*= 0.95; //or try: ret -= 0.004; +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` ret += 1; +comp_23=` float3 what = lerp(ret,ret*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader,ret)); +comp_24=` ret *=what; +comp_25=` ret *= hue_shader; +comp_26=` +comp_27=` //ret *= 1.5; //old gamma effect +comp_28=`} diff --git a/presets/presets_tryptonaut/geiss - liquid beats (jelly v4.5).milk b/presets/presets_tryptonaut/geiss - liquid beats (jelly v4.5).milk new file mode 100755 index 0000000000..fa203d8beb --- /dev/null +++ b/presets/presets_tryptonaut/geiss - liquid beats (jelly v4.5).milk @@ -0,0 +1,275 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.200 +fWaveScale=3.587 +fWaveSmoothing=0.900 +fWaveParam=-0.280 +fModWaveAlphaStart=0.970 +fModWaveAlphaEnd=1.670 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.06500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01459 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.650 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r + 0.200*( 0.90*sin(2.753*time+0) + 0.40*sin(2.315*time+1) ); +per_frame_2=wave_g = wave_g + 0.100*( 0.90*sin(3.183*time+3) + 0.40*sin(2.006*time+4) ); +per_frame_3=wave_b = wave_b + 0.100*( 0.90*sin(2.393*time+5) + 0.40*sin(2.733*time+2) ); +per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) ); +per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) ); +per_frame_8=dx = dx + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834)); +per_frame_10=dx=dx+0.0025*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334)); +per_frame_11=dy=dy+0.0025*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.024; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=`ret = .25*lum(saturate(2*GetBlur3(uv))); +comp_13=`ret -= .8*lum(saturate(20*(0.6*GetBlur2(uv)-.01)-2)); +comp_14=`ret += lum(saturate(30*((GetPixel(uv)+GetBlur1(uv)*.15)-.01)-2)); +comp_15=`ret += 1; +comp_16=`ret = lerp(ret,ret*(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_17=` +comp_18=`float3 ret2 = -.5*lum(GetBlur3(uv_y)); +comp_19=`ret2 += .8*GetBlur1(uv_y); +comp_20=`ret2 -= .9*GetPixel(uv_y); +comp_21=`ret2 -= 1.5; +comp_22=`ret2 = lerp(ret2,ret2*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_23=` +comp_24=`ret = abs(ret-ret2); +comp_25=`//ret = ret2; +comp_26=` +comp_27=`ret *= ret; +comp_28=`ret *= 1.15; +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/had to cum that - jaben.milk b/presets/presets_tryptonaut/had to cum that - jaben.milk new file mode 100755 index 0000000000..74b2d0291b --- /dev/null +++ b/presets/presets_tryptonaut/had to cum that - jaben.milk @@ -0,0 +1,557 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=1.000 +fGammaAdj=1.998 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.020 +fWaveScale=0.701 +fWaveSmoothing=0.684 +fWaveParam=0.580 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.20313 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.350 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=2.02310 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=cl = 0; +wave_0_per_frame1=bb = bb*0.99 + bass*0.02; +wave_0_per_frame2=mm = mm*0.99 + mid*0.02; +wave_0_per_frame3=tt = tt*0.99 + treb*0.02; +wave_0_per_frame4= +wave_0_per_frame5=mx = max(max(bb,mm),tt); +wave_0_per_frame6=mn = min(min(bb,mm),tt); +wave_0_per_frame7= +wave_0_per_frame8=r = (bb-mn)/(mx-mn); +wave_0_per_frame9=g = (mm-mn)/(mx-mn); +wave_0_per_frame10=b = (tt-mn)/(mx-mn); +wave_0_per_frame11= +wave_0_per_point1=tt3 = tt3*0.6 + (value1)*1; +wave_0_per_point2=tt2 = tt2*0.7 + tt3*0.2; +wave_0_per_point3=tt1 = tt1*0.8 + tt2*0.1; +wave_0_per_point4=d = d*0.9 + tt1*0.2; +wave_0_per_point5= +wave_0_per_point6=x = 0.5 + d*sample*(1-sample); +wave_0_per_point7=y = -0.05 + sample*1.1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=6 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=h=q5; +wave_1_per_frame2=s = 0.8; +wave_1_per_frame3=l= 0.5; +wave_1_per_frame4=// +wave_1_per_frame5=// HSL to RGB by PieturP +wave_1_per_frame6=cc=(6*h); +wave_1_per_frame7=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); +wave_1_per_frame8=zf=(6*h)-cc; +wave_1_per_frame9=zm=l; +wave_1_per_frame10=zp=l*(1-s); +wave_1_per_frame11=zq=l*(1-s*zf); +wave_1_per_frame12=zt=l*(1-s*(1-zf)); +wave_1_per_frame13=monitor=zq; +wave_1_per_frame14=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); +wave_1_per_frame15=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); +wave_1_per_frame16=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); +wave_1_per_frame17=rr=if(equal(s,0),l,rr); +wave_1_per_frame18=gg=if(equal(s,0),l,gg); +wave_1_per_frame19=bb=if(equal(s,0),l,bb); +wave_1_per_frame20=r=rr; +wave_1_per_frame21=g=gg; +wave_1_per_frame22=b=bb; +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.4 ; +wave_1_per_point3=tm=q4 + phs*2 - 0.02; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=(flip*0.4-0.2)*(sample); +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//spin; +wave_1_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; +wave_1_per_point14=sa=sin(ang);ca=cos(ang); +wave_1_per_point15=xr=xp*sa + yp*ca; +wave_1_per_point16=yr=xp*ca - yp*sa; +wave_1_per_point17=zr=zp; +wave_1_per_point18= +wave_1_per_point19=xp=xr; +wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point21=zp=zr; +wave_1_per_point22= +wave_1_per_point23=//wrist movement; +wave_1_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); +wave_1_per_point25= +wave_1_per_point26=xq=xp; +wave_1_per_point27=sa=sin(ang);ca=cos(ang); +wave_1_per_point28=yq=yp*sa + zp*ca; +wave_1_per_point29=zq=yp*ca - zp*sa; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=ang=tm*8; +wave_1_per_point33=sa=sin(ang);ca=cos(ang); +wave_1_per_point34=xp=xq*sa + yq*ca; +wave_1_per_point35=yp=xq*ca - yq*sa; +wave_1_per_point36=zp=zq; +wave_1_per_point37= +wave_1_per_point38=//forearm movement; +wave_1_per_point39=zp=zp-0.3; +wave_1_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; +wave_1_per_point41=xq=xp; +wave_1_per_point42=sa=sin(ang);ca=cos(ang); +wave_1_per_point43=yq=yp*sa + zp*ca; +wave_1_per_point44=zq=yp*ca - zp*sa; +wave_1_per_point45= +wave_1_per_point46=//upper arm twist +wave_1_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); +wave_1_per_point48=xp=xq*sa + yq*ca; +wave_1_per_point49=yp=xq*ca - yq*sa; +wave_1_per_point50=zp=zq; +wave_1_per_point51= +wave_1_per_point52=//upper arm outward; +wave_1_per_point53=zp=zp-0.35; +wave_1_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; +wave_1_per_point55=sa=sin(ang);ca=cos(ang); +wave_1_per_point56=xq=xp*sa + zp*ca; +wave_1_per_point57=yq=yp; +wave_1_per_point58=zq=xp*ca - zp*sa; +wave_1_per_point59= +wave_1_per_point60=//upper arm up down; +wave_1_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); +wave_1_per_point62=xp=xq; +wave_1_per_point63=sa=sin(ang);ca=cos(ang); +wave_1_per_point64=yp=yq*ca - zq*sa; +wave_1_per_point65=zp=yq*sa + zq*ca; +wave_1_per_point66= +wave_1_per_point67=//xp=xq;yp=yq;zp=zq; +wave_1_per_point68= +wave_1_per_point69= +wave_1_per_point70=//project into screenspace and draw on screen +wave_1_per_point71=zp=zp+1.5; +wave_1_per_point72=xs=xp/zp; +wave_1_per_point73=ys=yp/zp; +wave_1_per_point74= +wave_1_per_point75=x=xs+0.5; +wave_1_per_point76=y=ys*1.3+0.5; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=a=(1-sample); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=27 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=7 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.48652 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.200 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=21 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.17987 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=ang = ang + 10*sin(time*.8); +shape_1_per_frame2=vol = 0.167*(bass+mid+att); +shape_1_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_1_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_1_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_1_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_1_per_frame7=xpos = xpos + 0.001*xspeed; +shape_1_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_1_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_1_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_1_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_1_per_frame12=ypos = ypos + 0.001*yspeed; +shape_1_per_frame13=x = centerx; +shape_1_per_frame14=y = abs(centery-1); +shape_1_per_frame15=centerx = 1.75*xpos + 0.5; +shape_1_per_frame16=centery = 1.75*ypos + 0.5; +shape_1_per_frame17=r2 = .5+.2*sin(time*.666); +shape_1_per_frame18=g2 = .5+.2*sin(time*.555); +shape_1_per_frame19=b2 = .5+.2*sin(time*.777); +shape_1_per_frame20=rad = rad + bass*.1; +shape_1_per_frame21=border_r = bass*.3; +shape_1_per_frame22=border_g = treb*.3; +shape_1_per_frame23=border_b = mis*.3; +shape_1_per_frame24=r = if(above(bass,1.3),1,0); +shape_1_per_frame25=g = if(above(bass,1.3),1,0); +shape_1_per_frame26=b = if(above(bass,1.3),1,0); +shape_1_per_frame27=//thanks zylot +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=15 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.23067 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.400 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=ang = ang + 10*sin(time*.8); +shape_2_per_frame2=vol = 0.167*(bass+mid+att); +shape_2_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_2_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_2_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_2_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_2_per_frame7=xpos = xpos + 0.001*xspeed; +shape_2_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_2_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_2_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_2_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_2_per_frame12=ypos = ypos + 0.001*yspeed; +shape_2_per_frame13=x = centerx; +shape_2_per_frame14=y = abs(centery-1); +shape_2_per_frame15=centerx = 1.75*xpos + 0.5; +shape_2_per_frame16=centery = 1.75*ypos + 0.5; +shape_2_per_frame17=r2 = .5+.2*sin(time*.666); +shape_2_per_frame18=g2 = .5+.2*sin(time*.555); +shape_2_per_frame19=b2 = .5+.2*sin(time*.777); +shape_2_per_frame20=rad = rad + bass*.1; +shape_2_per_frame21=border_r = bass*.3; +shape_2_per_frame22=border_g = treb*.3; +shape_2_per_frame23=border_b = mis*.3; +shape_2_per_frame24=r = if(above(bass,1.3),1,0); +shape_2_per_frame25=g = if(above(bass,1.3),1,0); +shape_2_per_frame26=b = if(above(bass,1.3),1,0); +shape_2_per_frame27=//thanks zylot +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=7 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.27048 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.200 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=ang = ang + 10*sin(time*.8); +shape_3_per_frame2=vol = 0.167*(bass+mid+att); +shape_3_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); +shape_3_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); +shape_3_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +shape_3_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +shape_3_per_frame7=xpos = xpos + 0.001*xspeed; +shape_3_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); +shape_3_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); +shape_3_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +shape_3_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +shape_3_per_frame12=ypos = ypos + 0.001*yspeed; +shape_3_per_frame13=x = centerx; +shape_3_per_frame14=y = abs(centery-1); +shape_3_per_frame15=centerx = 1.75*xpos + 0.5; +shape_3_per_frame16=centery = 1.75*ypos + 0.5; +shape_3_per_frame17=r2 = .5+.2*sin(time*.666); +shape_3_per_frame18=g2 = .5+.2*sin(time*.555); +shape_3_per_frame19=b2 = .5+.2*sin(time*.777); +shape_3_per_frame20=rad = rad + bass*.1; +shape_3_per_frame21=border_r = bass*.3; +shape_3_per_frame22=border_g = treb*.3; +shape_3_per_frame23=border_b = mis*.3; +shape_3_per_frame24=r = if(above(bass,1.3),1,0); +shape_3_per_frame25=g = if(above(bass,1.3),1,0); +shape_3_per_frame26=b = if(above(bass,1.3),1,0); +shape_3_per_frame27=//thanks zylot +per_frame_init_1=x1 = 0.9; +per_frame_init_2=y1 = 0.5; +per_frame_init_3= +per_frame_init_4=x2 = 0.5; y2 = 0.5; +per_frame_init_5=x3 = 0.5; y3 = 0.5; +per_frame_init_6=x4 = 0.5; y4 = 0.5; +per_frame_1=decay = 1; +per_frame_2=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_3=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_4=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_5= +per_frame_6=x1 = 0.5 + xx1-xx2; +per_frame_7=y1 = 0.5 + yy1; +per_frame_8= +per_frame_9=//x2 = 0;y2 = 0;x3 = 0;y3 = 0;x4 = 0;y4 = 0; +per_frame_10= +per_frame_11=spring = 10; +per_frame_12=grav = .5; +per_frame_13=resist = 1; +per_frame_14=bounce = 0.5; +per_frame_15=dt = 0.0005; +per_frame_16= +per_frame_17=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_18=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_19=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_20=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_21=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_22=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_23= +per_frame_24=x2 = x2 + vx2; +per_frame_25=y2 = y2 + vy2; +per_frame_26=x3 = x3 + vx3; +per_frame_27=y3 = y3 + vy3; +per_frame_28=x4 = x4 + vx4; +per_frame_29=y4 = y4 + vy4; +per_frame_30= +per_frame_31=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_32=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_33=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_34=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_35=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_36=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_37= +per_frame_38=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_39=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_40=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_41=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_42=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_43=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_44= +per_frame_45= +per_frame_46=q1 = x1; +per_frame_47=q2 = x2; +per_frame_48=q3 = x3; +per_frame_49=q4 = x4; +per_frame_50= +per_frame_51=q5 = y1; +per_frame_52=q6 = y2; +per_frame_53=q7 = y3; +per_frame_54=q8 = y4; +per_frame_55= +per_frame_56= +per_frame_57=zoom = 0.997; +per_frame_58= +per_frame_59= +per_frame_60= +per_frame_61=bb = bb*0.99 + bass*0.02; +per_frame_62=mm = mm*0.99 + mid*0.02; +per_frame_63=tt = tt*0.99 + treb*0.02; +per_frame_64= +per_frame_65=mx = max(max(bb,mm),tt); +per_frame_66=mn = min(min(bb,mm),tt); +per_frame_67= +per_frame_68=ob_r = (bb-mn)/(mx-mn); +per_frame_69=ob_g = (mm-mn)/(mx-mn); +per_frame_70=ob_b = (tt-mn)/(mx-mn); +per_frame_71=q6 = atan2(vx4,vy4); +per_frame_72=q5 = sqrt(vx4*vx4 + vy4*vy4); +per_pixel_1= +per_pixel_2=dir = -q6*1 + asin(1)*1; +per_pixel_3= +per_pixel_4=b1 = 0.06; // distance +per_pixel_5=m1 = -0.6 + q5*200; // size +per_pixel_6=t1 = 0.05; // velocity +per_pixel_7= +per_pixel_8=xx = q4; +per_pixel_9=yy = 1-q8; +per_pixel_10= +per_pixel_11= +per_pixel_12=x1 = xx +cos(dir+1.5708)*b1; +per_pixel_13=y1 = yy -sin(dir+1.5708)*b1; +per_pixel_14= +per_pixel_15=x2 = xx -cos(dir+1.5708)*b1; +per_pixel_16=y2 = yy +sin(dir+1.5708)*b1; +per_pixel_17= +per_pixel_18=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_19=si1 = 1- 1/(1+pow(2,-d1*100)); +per_pixel_20= +per_pixel_21=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_22=si2 = 1- 1/(1+pow(2,-d2*100)); +per_pixel_23= +per_pixel_24=si3 = -0.05; +per_pixel_25= +per_pixel_26=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2 + si3*cos(dir)*t1)*2; +per_pixel_27=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2 - si3*sin(dir)*t1)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` +warp_6=` float3 a = tex2d(sampler_main, float2(tex2d(sampler_main,uv).x*0.01+uv.x,tex2d(sampler_main,uv).y*0.01-uv.y)).xyz; +warp_7=` float3 b = GetBlur1(uv)*5; +warp_8=` +warp_9=` float2 uv2 = uv + (a-b).xy*texsize.zw*5; +warp_10=` ret = tex2d(sampler_main, uv2).xyz; +warp_11=` +warp_12=` // add noise +warp_13=` float t = 0.01; +warp_14=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_15=` +warp_16=` // darken +warp_17=` ret -= 0.00014; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret=tex2D(sampler_main,uv); +comp_4=`//ret=lum(ret)>0+(lum(ret)<=0.75)*ret; +comp_5=`ret=pow(GetBlur1(uv).xyz/treb_att,1-lum(saturate(ret.xyz))); +comp_6=`ret=pow(GetBlur2(uv).xyz/bass_att,1-lum(saturate(ret.xyz))); +comp_7=`ret=1-ret; +comp_8=`} diff --git a/presets/presets_tryptonaut/headphones.tga b/presets/presets_tryptonaut/headphones.tga new file mode 100644 index 0000000000..5d84b75cdc Binary files /dev/null and b/presets/presets_tryptonaut/headphones.tga differ diff --git a/presets/presets_tryptonaut/heart.jpg b/presets/presets_tryptonaut/heart.jpg new file mode 100755 index 0000000000..3296020c82 Binary files /dev/null and b/presets/presets_tryptonaut/heart.jpg differ diff --git a/presets/presets_tryptonaut/hexcollie - Alex2.milk b/presets/presets_tryptonaut/hexcollie - Alex2.milk new file mode 100755 index 0000000000..21871a7ed6 --- /dev/null +++ b/presets/presets_tryptonaut/hexcollie - Alex2.milk @@ -0,0 +1,248 @@ +[preset00] +fRating=3.000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.130 +fWaveSmoothing=0.540 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.000 +wave_y=0.500 +ob_size=0.010 +ob_r=0.200 +ob_g=0.400 +ob_b=0.220 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.750 +ib_b=0.550 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=beatcounter =0; +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .15*sin(time*.222); +per_frame_3=wave_g = wave_g + .15*sin(time*.333); +per_frame_4=wave_b = wave_b + .15*sin(time*.444); +per_frame_5=zoom = zoom+.01 - bass_att*.01; +per_frame_6=volume = 0.3*(bass+mid); +per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_14=lastbeat = if(beat,time,lastbeat); +per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); +per_frame_18=beateven = beatcounter%2; +per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); +per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); +per_frame_21=oldq2 = q2; +per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); +per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); +per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); +per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); +per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); +per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); +per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); +per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); diff --git a/presets/presets_tryptonaut/hexcollie(1), goody(3), stahlregen(3), fed(1) - 2nd collaboration(ps2) - 8.milk b/presets/presets_tryptonaut/hexcollie(1), goody(3), stahlregen(3), fed(1) - 2nd collaboration(ps2) - 8.milk new file mode 100644 index 0000000000..7ab604d036 --- /dev/null +++ b/presets/presets_tryptonaut/hexcollie(1), goody(3), stahlregen(3), fed(1) - 2nd collaboration(ps2) - 8.milk @@ -0,0 +1,319 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.142 +fWaveScale=1.107 +fWaveSmoothing=0.648 +fWaveParam=-0.900 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=11.20207 +fShader=0.000 +zoom=1.00949 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.700 +mv_g=0.700 +mv_b=0.700 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.36457 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=r = q1; +shape_0_per_frame2=b = q2; +shape_0_per_frame3=g = q3; +shape_0_per_frame4=r2 = 1-abs(q1); +shape_0_per_frame5=b2 = q2; +shape_0_per_frame6=g2 = q3; +shape_0_per_frame7=ang = ang + 12*tan(time); +shape_0_per_frame8=x = x + 0.15*sin(time); +shape_0_per_frame9=y = y + 0.15*cos(time); +shape_0_per_frame10=a = 0.5 + 0.5*sin(bass_att); +shape_0_per_frame11=a2 = 0.5 + 0.5*cos(bass_att); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.800 +shapecode_1_y=0.500 +shapecode_1_rad=1.08925 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.74192 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=//this shape is a hidden trick... +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=q1 = 0.5+0.4*sin(0.43*time+0.12*bass_att); +per_frame_2=q2 = 0.5+0.4*sin(0.63*time+0.14*bass_att); +per_frame_3=q3 = 0.5+0.4*sin(0.83*time+0.16*bass_att); +per_frame_4= +per_frame_5=ob_b= frame%40*.01; +per_frame_6=bb= (bass_att*.8)*.02+bb*.98; +per_frame_7=mv_x = bb*30; +per_frame_8=mv_dx = mv_dx+sin(time)*.1+mv_x*.01-.3; +per_frame_9= +per_frame_10=monitor = mv_x; +per_frame_11= +per_frame_12=wave_mystery = int(rand(150))*0.01 - int(rand(150))*0.01; +per_pixel_1=//Have fun with the shaders kids! +per_pixel_2= +per_pixel_3=//xy transform code (Yes, it is based off of Flexi's from the previous collaboration) +per_pixel_4=xv = sin(time*.333)*x*cos(time*.667)*x; +per_pixel_5=yv = cos(time*.333)*y*sin(time*.667)*y; +per_pixel_6=x = xv; +per_pixel_7=y = yv; +per_pixel_8=//end x/y transform code +per_pixel_9= +per_pixel_10=vang = sin(time*.2)*3.14159*.02-1.68; +per_pixel_11=vx = (x-.5)*cos(vang) - (y-.5)*sin(vang)+.5; +per_pixel_12=vy = (x-.5)*sin(vang) +(y-.5)*cos(vang)+.5; +per_pixel_13= +per_pixel_14=dvx = .01+int(rand(2))*.01; +per_pixel_15=dvy = -.01; +per_pixel_16= +per_pixel_17=dx = dvx*cos(vang) - dvy*sin(vang); +per_pixel_18=dy = -dvx*sin(vang) - dvy*cos(vang); +per_pixel_19= +per_pixel_20=dy=below(y,.2)*dy+above(y,.1)*.01; +per_pixel_21=dx=below(x,.2)*dx+above(x,.1)*.01; +per_pixel_22= +per_pixel_23=sx=sx+.075*sin(x*3); +per_pixel_24=sy=sy+.075*sin(y*3.1); +per_pixel_25= +per_pixel_26=cx = .5 + 0.15*sin(time); +per_pixel_27=cy = .5 + 0.15*cos(time); +per_pixel_28= +per_pixel_29=rot=rot+.05*sin(rad*10-time*5)*treb_att-.005*cos(time*rad); +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=` // motion blur by Geiss +warp_6=` // 'v' points exactly one pixel, in the direction of motion +warp_7=` float2 v = normalize(uv-uv_orig)*texsize.zw; +warp_8=` float3 s; +warp_9=` ret = max(ret, tex2D(sampler_main, uv+v)*0.97); +warp_10=` ret = max(ret, tex2D(sampler_main, uv-v)*0.97); +warp_11=` ret = max(ret, tex2D(sampler_main, uv+v*2)*0.90); +warp_12=` ret = max(ret, tex2D(sampler_main, uv-v*2)*0.90); +warp_13=` +warp_14=` +warp_15=`ret -= .85*GetBlur1(uv); +warp_16=`ret += tex2D(sampler_fw_clouds,uv)*0.25; +warp_17=` +warp_18=` +warp_19=` // darken (decay) over time +warp_20=` ret = (ret-0.05)*0.98; //or try: ret -= 0.004; +warp_21=` +warp_22=` +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 orig=tex2D(sampler_main,uv); +comp_5=`float3 nex=tex2D(sampler_main,float2(uv.x+0.001,uv.y)); +comp_6=` +comp_7=`if(abs(orig.x+orig.y+orig.z-nex.x-nex.y-nex.z)>0.1) +comp_8=`{ret=GetBlur2(uv);} +comp_9=`else{ret=GetBlur3(uv);}; +comp_10=` +comp_11=`ret += .66*GetBlur2(uv); +comp_12=` +comp_13=`float sret = ret; +comp_14=` +comp_15=`ret *= 2; +comp_16=`ret = lum(ret); +comp_17=`ret = lerp(.75*ret,ret*(GetBlur3(uv)-GetBlur1(uv)),(0.5*rand_preset+0.5*_qa.xyz)*ret); +comp_18=`ret += sret*ret; //contrast between previous return value +comp_19=`//ret *= sqrt(ret); //brighten +comp_20=`//ret = 1-ret; //invert +comp_21=`} diff --git a/presets/presets_tryptonaut/high-altitude basket unraveling - singh grooves nitrogen argon nz+.milk b/presets/presets_tryptonaut/high-altitude basket unraveling - singh grooves nitrogen argon nz+.milk new file mode 100755 index 0000000000..905601f330 --- /dev/null +++ b/presets/presets_tryptonaut/high-altitude basket unraveling - singh grooves nitrogen argon nz+.milk @@ -0,0 +1,341 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.995 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.103 +fWaveSmoothing=0.540 +fWaveParam=0.380 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=100 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=64 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.53526 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.35028 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.400 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=1 +shapecode_1_sides=14 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=78 +shapecode_1_x=0.600 +shapecode_1_y=0.500 +shapecode_1_rad=0.02217 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=60.80383 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.900 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.590 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_init1=t1 = int(rand(10))/10; +shape_1_init2=t2 = .2 + int(rand(8))/10; +shape_1_per_frame1=speed = .02; +shape_1_per_frame2=trel = int(time*speed)- time*speed+1; +shape_1_per_frame3=k1 = instance/num_inst; +shape_1_per_frame4=k1 = k1 - int(k1); +shape_1_per_frame5=dist = 1.4-k1; //################# soll 1 sein +shape_1_per_frame6=//dist = dist - int(dist); +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=fov = .1; +shape_1_per_frame10=arg = dist-.02*time; +shape_1_per_frame11=posx = fov/dist * (sin(arg*13) + .2*sin(dist*332)); +shape_1_per_frame12=posy = fov/dist * (cos(arg*36)+ .2*sin(dist*332)); +shape_1_per_frame13= +shape_1_per_frame14=xl = .5 + posx; +shape_1_per_frame15=yl = .5 + posy; +shape_1_per_frame16= +shape_1_per_frame17=time2 = time/4 + cos(instance) ; +shape_1_per_frame18=xw = .5 + .5 * (sin(arg*14) + .02*cos(arg*1131)) ; +shape_1_per_frame19=yw = time2 - int(time2); +shape_1_per_frame20= +shape_1_per_frame21=x = if(bnot(q19),xl,xw); +shape_1_per_frame22=y = if(bnot(q19),yl,yw); +shape_1_per_frame23= +shape_1_per_frame24=ang = time * sin(k1*44)*12; +shape_1_per_frame25=a = t1; border_a = 0; a2 = t2; +shape_1_per_frame26=rad = .01/dist; +shape_1_per_frame27= +shape_1_per_frame28=r = .5 + .3* sin(instance+arg); +shape_1_per_frame29=b = .5 + .3* sin(instance-2+arg); +shape_1_per_frame30=g = .5 + .3* sin(instance*2+arg); +shape_1_per_frame31= +shape_1_per_frame32= +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.503 +shapecode_2_y=0.670 +shapecode_2_rad=0.05033 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=0.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.19869 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.00531 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=0.400 +shapecode_3_b=0.000 +shapecode_3_a=0.700 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=q8=0; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=warp=0; +per_frame_26=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_27=oldq8 = q8; +per_frame_28=wave_r = 0.5+0.5*sin(1.123*q8); +per_frame_29=wave_g = 0.5+0.5*sin(q8*1.576); +per_frame_30=wave_b = 0.5+0.5*cos(q8*1.465); +per_frame_31=ib_a =0.2*bass; +per_pixel_1=dx=dx+0.008*sin((y*2-1)*meshx)+0.008*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+0.008*cos((x*2-1)*meshx*1.3333)+0.008*cos((x*2-1)*meshx); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` //uv2.xy += (blurry_color.xy-0.37) * 0.005; +warp_9=` +warp_10=` +warp_11=` // sample previous frame +warp_12=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_13=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_14=` ((uv2.xyy*q27 +warp_15=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_16=` ).xyz* +warp_17=` float3(1,1,0)*0.05 + +warp_18=` time*float3(0,0,1)*q29 +warp_19=` ); +warp_20=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_21=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_22=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_23=` +warp_24=` ret += (ret - GetBlur1(uv2))*0.2; +warp_25=` +warp_26=` // darken over time +warp_27=` ret -= 0.02; +warp_28=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_10=` ((uv.xyy*q28 +comp_11=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_12=` ).xyz* +comp_13=` float3(1,1,0)*0.05 + +comp_14=` time*float3(0,0,1)*q31 +comp_15=` ); +comp_16=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_17=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_18=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_19=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_20=` float3 avg_col = GetBlur1(uv); +comp_21=` ret = abs(avg_col - ret)*6; +comp_22=` ret *= 1.333; // a little bit of overbright +comp_23=`} diff --git a/presets/presets_tryptonaut/iMuS and Rovastar - The Shroomery (psilobellum).milk b/presets/presets_tryptonaut/iMuS and Rovastar - The Shroomery (psilobellum).milk new file mode 100755 index 0000000000..ea26b32cfa --- /dev/null +++ b/presets/presets_tryptonaut/iMuS and Rovastar - The Shroomery (psilobellum).milk @@ -0,0 +1,454 @@ +[preset00] +fRating=4.000000 +fGammaAdj=2.000000 +fDecay=1.000000 +fVideoEchoZoom=0.332702 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000000 +fWaveScale=1.000000 +fWaveSmoothing=0.750000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=1.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=3.200000 +nMotionVectorsY=3.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=3.950000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.027964 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.300000 +wavecode_0_g=1.000000 +wavecode_0_b=0.300000 +wavecode_0_a=1.000000 +wave_0_init1=//pi +wave_0_init2=//t8=3.14159265*0.15; +wave_0_init3=//t5 = 1; +wave_0_init4= +wave_0_init5=//n =300; +wave_0_init6=t1 = 300; +wave_0_init7=//rx = 0; +wave_0_init8=t2 = 0; +wave_0_init9=//ry = 0; +wave_0_init10=t3 = 0; +wave_0_init11=//tpi =3.1415; +wave_0_init12=t4 = 3.14159265; +wave_0_init13=//c=1; +wave_0_init14=t5 = 1; +wave_0_init15=//hu=10; +wave_0_init16=t6 = 10; +wave_0_init17=//hut=-10; +wave_0_init18=t7 = -10; +wave_0_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_0_per_frame2=t6 = (t7+t6*5)/6; +wave_0_per_frame3=t2 = pow(2*bass+bass_att,5)*0.00015111 +oldt2; +wave_0_per_frame4=oldt2 = t2; +wave_0_per_frame5=//t2 = 3*sin(time*0.0965); +wave_0_per_frame6=t3 = pow(2*bass+bass_att,4)*0.00026213 + oldt3; +wave_0_per_frame7=oldt3 = t3; +wave_0_per_frame8=//t3 = 3*sin(time*0.0872); +wave_0_per_frame9= +wave_0_per_frame10=q1 = -cos(cos(t2)); +wave_0_per_frame11=q2 = cos(-t3); +wave_0_per_frame12=q3 = sin(cos(-t2)); +wave_0_per_frame13=q4 = sin(t3); +wave_0_per_point1=u = sample*2-1; +wave_0_per_point2=rf = 512; +wave_0_per_point3=shc = 1-u*u; +wave_0_per_point4=cf = below(sample,0.45); +wave_0_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_0_per_point6=u = u + v/8; +wave_0_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_0_per_point8=py = sample*2-1; +wave_0_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_0_per_point10=y1 = py*q1 + pz*q3; +wave_0_per_point11=z1 = pz*q1 - py*q3; +wave_0_per_point12=x2 = px*q2 + z1*q4; +wave_0_per_point13=z2 = z1*q2 - px*q4+5; +wave_0_per_point14=x = x2/z2; +wave_0_per_point15=y = y1/z2; +wave_0_per_point16=x = x*0.5 + 0.5; +wave_0_per_point17=y = 0.5*y + 0.5; +wave_0_per_point18=r = 0.5+sin(sample*195)*0.5; +wave_0_per_point19=g = 0.5*sin(time*0.145)+0.499*(0.5+sin(x*95)*0.5); +wave_0_per_point20=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.027964 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.400000 +wavecode_1_a=1.000000 +wave_1_init1=//pi +wave_1_init2=//t8=3.14159265*0.15; +wave_1_init3=//t5 = 1; +wave_1_init4= +wave_1_init5=//n =300; +wave_1_init6=t1 = 300; +wave_1_init7=//rx = 0; +wave_1_init8=t2 = 0; +wave_1_init9=//ry = 0; +wave_1_init10=t3 = 0; +wave_1_init11=//tpi =3.1415; +wave_1_init12=t4 = 3.14159265; +wave_1_init13=//c=1; +wave_1_init14=t5 = 1; +wave_1_init15=//hu=10; +wave_1_init16=t6 = 10; +wave_1_init17=//hut=-10; +wave_1_init18=t7 = -10; +wave_1_per_frame1=t7 = 0.5+0.5*sin(time*0.135)*t4; +wave_1_per_frame2=t6 = (t7+t6*5)/6; +wave_1_per_frame3=t2 = pow(bass+bass_att,6)*0.00005 + 0.022+ oldt2; +wave_1_per_frame4=oldt2 = if(above(t2,10000),0,t2); +wave_1_per_frame5=//t2 = t2 -cos(time*0.451); +wave_1_per_frame6=t3 = pow(bass+bass_att,7)*0.00005 + 0.0278 +oldt3; +wave_1_per_frame7=oldt3 = t3; +wave_1_per_frame8=//t3 = t3-cos(time*0.321); +wave_1_per_frame9=q1 = -cos(cos(t2)); +wave_1_per_frame10=q2 = -cos(t3); +wave_1_per_frame11=q3 = sin(cos(t2)); +wave_1_per_frame12=q4 = sin(t3); +wave_1_per_point1=u = sample*2-1; +wave_1_per_point2=rf = 1000; +wave_1_per_point3=shc = 1-u*u; +wave_1_per_point4=cf = below(sample,0.45); +wave_1_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_1_per_point6=u = u + v/8; +wave_1_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_1_per_point8=py = sample*2-1; +wave_1_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_1_per_point10=y1 = py*q1 + pz*q3; +wave_1_per_point11=z1 = pz*q1 - py*q3; +wave_1_per_point12=x2 = px*q2 + z1*q4; +wave_1_per_point13=z2 = z1*q2 - px*q4+5; +wave_1_per_point14=x = x2/z2; +wave_1_per_point15=y = y1/z2; +wave_1_per_point16=x = x*0.5 + 0.5; +wave_1_per_point17=y = 0.5*y + 0.5; +wave_1_per_point18=r = abs(sample-(sample*progress)); +wave_1_per_point19=g = sample/y; +wave_1_per_point20=b = x2*sample; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.027964 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.800000 +wavecode_2_g=0.400000 +wavecode_2_b=0.400000 +wavecode_2_a=1.000000 +wave_2_init1=//pi +wave_2_init2=//t8=3.14159265*0.15; +wave_2_init3=//t5 = 1; +wave_2_init4= +wave_2_init5=//n =300; +wave_2_init6=t1 = 300; +wave_2_init7=//rx = 0; +wave_2_init8=t2 = 0; +wave_2_init9=//ry = 0; +wave_2_init10=t3 = 0; +wave_2_init11=//tpi =3.1415; +wave_2_init12=t4 = 3.14159265; +wave_2_init13=//c=1; +wave_2_init14=t5 = 1; +wave_2_init15=//hu=10; +wave_2_init16=t6 = 10; +wave_2_init17=//hut=-10; +wave_2_init18=t7 = -10; +wave_2_per_frame1=t7 = 0.5+0.5*sin(time*0.896)*t4; +wave_2_per_frame2=t6 = (t7+t6*5)/6; +wave_2_per_frame3=t2 = pow(1.13*bass+bass_att,5)*0.0001 +0.0017+oldt2; +wave_2_per_frame4=oldt2 = t2; +wave_2_per_frame5=t2 = t2 + sin(time*0.01963); +wave_2_per_frame6=t3 = pow(bass+1.14*bass_att,5)*0.0001 + 0.00121 +oldt3; +wave_2_per_frame7=oldt3 = t3; +wave_2_per_frame8=t3 = t3 + sin(time*0.06527); +wave_2_per_frame9=q1 = -cos(cos(t2)); +wave_2_per_frame10=q2 = cos(t3); +wave_2_per_frame11=q3 = sin(cos(t2)); +wave_2_per_frame12=q4 = sin(t3); +wave_2_per_point1=u = sample*2-1; +wave_2_per_point2=rf = 1000; +wave_2_per_point3=shc = 1-u*u; +wave_2_per_point4=cf = below(sample,0.45); +wave_2_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_2_per_point6=u = u + v/8; +wave_2_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_2_per_point8=py = sample*2-1; +wave_2_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_2_per_point10=y1 = py*q1 + pz*q3; +wave_2_per_point11=z1 = pz*q1 - py*q3; +wave_2_per_point12=x2 = px*q2 + z1*q4; +wave_2_per_point13=z2 = z1*q2 - px*q4+5; +wave_2_per_point14=x = x2/z2; +wave_2_per_point15=y = y1/z2; +wave_2_per_point16=x = x*0.5 + 0.5; +wave_2_per_point17=y = 0.5*y + 0.5; +wave_2_per_point18=r = sample; +wave_2_per_point19=g = x*sample; +wave_2_per_point20=b = y*x/sample; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.027964 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.000000 +wavecode_3_g=0.500000 +wavecode_3_b=0.700000 +wavecode_3_a=1.000000 +wave_3_init1=//pi +wave_3_init2=//t8=3.14159265*0.15; +wave_3_init3=//t5 = 1; +wave_3_init4= +wave_3_init5=//n =300; +wave_3_init6=t1 = 300; +wave_3_init7=//rx = 0; +wave_3_init8=t2 = 0; +wave_3_init9=//ry = 0; +wave_3_init10=t3 = 0; +wave_3_init11=//tpi =3.1415; +wave_3_init12=t4 = 3.14159265; +wave_3_init13=//c=1; +wave_3_init14=t5 = 1; +wave_3_init15=//hu=10; +wave_3_init16=t6 = 10; +wave_3_init17=//hut=-10; +wave_3_init18=t7 = -10; +wave_3_per_frame1=t7 = 0.5+0.5*sin(time)*t4; +wave_3_per_frame2=t6 = (t7+t6*5)/6; +wave_3_per_frame3=t2 = q8*0.7825; +wave_3_per_frame4=t3 = q8*0.6242; +wave_3_per_frame5=q1 = -cos(cos(t2)); +wave_3_per_frame6=q2 = cos(t3); +wave_3_per_frame7=q3 = sin(cos(t2)); +wave_3_per_frame8=q4 = sin(t3); +wave_3_per_point1=u = sample*2-1; +wave_3_per_point2=rf = 1000; +wave_3_per_point3=shc = 1-u*u; +wave_3_per_point4=cf = below(sample,0.45); +wave_3_per_point5=u=if(cf,sqrt(shc)*(-u/2+0.5), if(below(sample,0.55), (sample-0.45)*15+0.1, pow(shc,0.7)*1.5)); +wave_3_per_point6=u = u + v/8; +wave_3_per_point7=px = cos(sample*t4*rf)*u/2+cos(t6)+1.5; +wave_3_per_point8=py = sample*2-1; +wave_3_per_point9=pz = sin(sample*t4*rf)*u/2+2.9; +wave_3_per_point10=y1 = py*q1 + pz*q3; +wave_3_per_point11=z1 = pz*q1 - py*q3; +wave_3_per_point12=x2 = px*q2 + z1*q4; +wave_3_per_point13=z2 = z1*q2 - px*q4+5; +wave_3_per_point14=x = x2/z2; +wave_3_per_point15=y = y1/z2; +wave_3_per_point16=x = x*0.5 + 0.5; +wave_3_per_point17=y = 0.5*y + 0.5; +wave_3_per_point18=r = 0.5*(y/x) + 0.499*sin(time*0.564); +wave_3_per_point19=b = 0.5*(x*y) + 0.499*sin(time*0.457); +wave_3_per_point20=g = 0.5*(x*x) + 0.499*sin(time*0.134); +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.010000 +shapecode_0_ang=1.822122 +shapecode_0_tex_ang=5.617169 +shapecode_0_tex_zoom=1.164437 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_0_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_0_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_0_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_0_per_frame5=tex_Ang = q8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.496295 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=5.617169 +shapecode_1_tex_zoom=1.719942 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_1_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_1_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_1_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_1_per_frame5=tex_Ang = q8-0.02; +shape_1_per_frame6=//x = x +0.01; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.496295 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.740601 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.100000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_2_per_frame2=//y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_2_per_frame3=//ang = 3.1415-3.1415*cos(time*0.1389); +shape_2_per_frame4=//rad = 0.5+0.5*sin(q8*0.2685); +shape_2_per_frame5=tex_Ang = q8-0.04; +shape_2_per_frame6=//x = x +0.01; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.120000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.010000 +shapecode_3_ang=4.398230 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.117709 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.5+ 0.4*sin(0.105*time+0.3*q4); +shape_3_per_frame2=y = 0.5+ 0.4*sin(0.1267*time+0.323*q4); +shape_3_per_frame3=ang = 3.1415+3.1415*sin(time*0.2654); +shape_3_per_frame4=rad = 0.5+0.5*sin(q4*0.785); +per_frame_init_1=//With thanks to UnConeD for his mushy SSC code. :) +per_frame_1=warp=0; +per_frame_2=wave_a=0; +per_frame_3=decay = 0.97; +per_frame_4=q7 = 0.00004*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_5= +per_frame_6=q6 = oldq6+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+1.2*treb+0.4*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_7=oldq6 = q6; +per_frame_8= +per_frame_9=q4 = oldq4+ 0.0002*(pow(1+0.1*bass+0.1*bass_att+0.1*treb+0.1*treb_att+1.2*mid+0.4*mid_att,6)/fps); +per_frame_10=oldq4 = q4; +per_frame_11= +per_frame_12=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_13=oldq8 = q8; +per_frame_14= +per_frame_15=q8 = oldq8+ 0.0002*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_16=oldq8 = if(above(q8,10000),0,q8); +per_frame_17=ob_b = max(0,sin(q8*0.2542)*0.2 +0.1); +per_frame_18=ob_r = max(0,sin(q8*0.985)*0.4 + 0.2); +per_frame_19=ob_g = max(0,sin(q8*0.8711)*0.3 + 0.1); +per_frame_20=ob_a =max(0,0.3*(q7-0.2))+0.1; +per_frame_21=ib_r = 1-if(ob_size-0.005,0,1); +per_frame_22=ib_g = ib_r*(0.21*0.2*sin(time*0.643)); +per_frame_23=ib_b = ib_r*(0.21*0.2*sin(time*0.853)); +per_frame_24=ib_a =0.2*q7; +per_frame_25=echo_alpha = above(q7,0.2); +per_frame_26=echo_zoom = 1 + 0.01*q7; +per_pixel_1=dx=dx+0.007*sin((y*2-1)*meshx)+ 0.006*sin((y*2-1)*meshx*1.3333); +per_pixel_2=dy=dy+sin(q8*0.1745)*0.007*cos((x*2-1)*meshx*1.3333)+ sin(q8*0.1875)*0.006*cos((x*2-1)*meshx*1.666); diff --git a/presets/presets_tryptonaut/idiot - Nothing Yet - 03 - The worst of the pack.milk b/presets/presets_tryptonaut/idiot - Nothing Yet - 03 - The worst of the pack.milk new file mode 100755 index 0000000000..b0e89429a1 --- /dev/null +++ b/presets/presets_tryptonaut/idiot - Nothing Yet - 03 - The worst of the pack.milk @@ -0,0 +1,89 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.970000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.796892 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999500 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999999 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.216000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(Bass-new_bass&timE*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18=wave_r=.1+q1; +per_frame_19=wave_b=.9-q2; +per_frame_20=wave_G=.5-q3+q4; +per_pixel_1=zoom=zoom-.05*(rad-x-y+.05*sin(x*3.14*sin(y*3.14)))*q2*rad*3.14*sin(Q3)+.05*sin(ang*3.14-q2*rad*3.14); +per_pixel_2=rot=rot+.01*sin(ang*x-q1/y*ang*Rad-q3-zoom); +per_pixel_3=dx=rot*sin(x*3.14)/2; +per_pixel_4=dy=rot*sin(y*3.14)/2; +per_pixel_5=cx=-dx; +per_pixel_6=cy=dy; diff --git a/presets/presets_tryptonaut/idiot - Nucleus.milk b/presets/presets_tryptonaut/idiot - Nucleus.milk new file mode 100755 index 0000000000..e20c3044a7 --- /dev/null +++ b/presets/presets_tryptonaut/idiot - Nucleus.milk @@ -0,0 +1,94 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.796892 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(Bass-new_bass&timE*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18=wave_r=if(above(q1,q3),redform1,redform2)+nozero; +per_frame_19=redform1=.3+.5*sin(q2); +per_frame_20=redform2=redform1-.3*Sin(Q4); +per_frame_21=wave_b=if(Above(Q1,q2),blueform1,blueform2)+nozero; +per_frame_22=blueform1=.1+.4*sin(q3); +per_frame_23=blueform2=blueform1+.3*sin(Q2); +per_frame_24=wave_g=if(Above(Q4,q5),.3*sin(time*.43),.7*sin(time*.43))+nozero; +per_frame_25= +per_frame_26=nozero=.2*sin(q3-.03*sin(q5))+.4; +per_pixel_1=zoome=zoom+.1*sin(rad*xy*3.14)/2*sin(q3); +per_pixel_2=xy=x+y*sin(ang*3.14*sin(q3)); +per_pixel_3=rot=rot+.01*sin(x*3.14*q1-y*3.14+ang*3.14*rand(300*sin(q2)*tan(rad+3*sin(q4)))); +per_pixel_4=zoome2=zoome+.10*sin(rad&Rad*sin(q3)); +per_pixel_5=zoom=if(equal(zoome2,0),zoom+.1*sin(rad*3.14*sin(q1)*ang*3.14*sin(bass_att-1)),zoome2); diff --git a/presets/presets_tryptonaut/idiot - Sinful Code (unchained style).milk b/presets/presets_tryptonaut/idiot - Sinful Code (unchained style).milk new file mode 100755 index 0000000000..c0c0b77acb --- /dev/null +++ b/presets/presets_tryptonaut/idiot - Sinful Code (unchained style).milk @@ -0,0 +1,108 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999608 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.574824 +fWaveScale=0.179141 +fWaveSmoothing=0.630000 +fWaveParam=0.280000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.004499 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999005 +sy=0.999005 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.020000 +ob_r=0.800000 +ob_g=0.800000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.025000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=3.984001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(Bass-new_bass&timE*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18=wave_r=.3+q1; +per_frame_19=wave_b=.3+q3; +per_frame_20=wave_g=.5+.1*sin(q3); +per_frame_21=wave_mystery=wave_mystery-.6*sin(q2); +per_frame_22=ob_r=wave_r*sin(Q4); +per_frame_23=ob_b=wave_b*sin(Q2); +per_frame_24=ob_g=wave_g*sin(Q1); +per_frame_25=decay=decay-.01*sin(frame%2); +per_frame_26=//mv_a=1*sin(Q2); +per_frame_27= +per_frame_28=mv_r=.3+.6*sin(Q1-q2); +per_frame_29=mv_b=.4+.5*sin(Q3-q1); +per_frame_30=mv_g=.3+.5*sin(q2-q1); +per_frame_31=mv_dx=mv_dx+.03*sin(time*.54-q3); +per_frame_32=mv_dy=mv_dy-.03*sin(time*.43-q1); +per_frame_33=wave_x=wave_x+.2*sin(time*.43); +per_frame_34=wave_y=wave_y-.2*sin(time*.23); +per_frame_35=wave_mode=rand(10)*sin(above(Q1,q3)); +per_pixel_1=zoom=zoom+.05*sin(rad*3.14*sin(Q1)*ang*3.14*sin(q1))*sin(q4); +per_pixel_2=cx=rot*rad*sin(q1)-y*sin(q4); +per_pixel_3=cy=rot*rad*sin(q2)-x*sin(Q6); +per_pixel_4=rot=rot-.0003*tan(rad*3*sin(q1)); +per_pixel_5=dxon=above(q1,q2); +per_pixel_6=dxoff=below(q1,q2); +per_pixel_7=dyon=above(q2,q3); +per_pixel_8=dyoff=below(q2,q3); +per_pixel_9=dx=.01-below(rad,x-.03)*sin(above(dxon,dxoff))/2*sin(Q2)/2/2-.01/2; +per_pixel_10=dy=.01-below(rad,y-.03)*sin(above(dyon,dyoff))/2*sin(q1)/2/2-.01/2; diff --git a/presets/presets_tryptonaut/idiot - Some big word I learned.milk b/presets/presets_tryptonaut/idiot - Some big word I learned.milk new file mode 100755 index 0000000000..be48b6c74c --- /dev/null +++ b/presets/presets_tryptonaut/idiot - Some big word I learned.milk @@ -0,0 +1,91 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.990000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.073159 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.216000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; +per_frame_2=vol=bass+treb+mid; +per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); +per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); +per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); +per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); +per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); +per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); +per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); +per_frame_10=q1=sin(Bass-new_bass&timE*.63); +per_frame_11=q2=sin(treb-new_treb&time*.43); +per_frame_12=q3=sin(mid-new_mid&time*.23); +per_frame_13=q4=sin(vol&time*.65); +per_frame_14=q5=bass_c; +per_frame_15=q6=treb_c; +per_frame_16=q7=mid_c; +per_frame_17=q8=vol_c; +per_frame_18=wave_r=.1+.3*Sin(time*q1); +per_frame_19=wave_b=.3+q2; +per_frame_20=wave_g=.3+.1*Sin(q3-time); +per_pixel_1=zoom=zoom+.1*sin(pick*picke); +per_pixel_2=pick=if(above(Q1,q2),rade,ange); +per_pixel_3=rade=if(Above(q1,q3),rad*3.14-.01*x*sin(time*2),rad*3.14-.0*y*sin(time*2)); +per_pixel_4=ange=if(Above(q2,q3),ang*3.14-.01*x*sin(time*2),ang*3.14-.01*y*sin(time*2)); +per_pixel_5=picke=if(Above(Q2,q1),3.14,1); +per_pixel_6=rot=if(Above(q1,q2),rot+.03*rade,rot+.03*ange)*sin(q3); +per_pixel_7=dx=.01*sin(rade*sin(q2))/2/2/2/2/2; +per_pixel_8=dy=.01*Sin(ange*sin(q1))/2/2/2/2/2; diff --git a/presets/presets_tryptonaut/idiot - Spectrum.milk b/presets/presets_tryptonaut/idiot - Spectrum.milk new file mode 100755 index 0000000000..6584d42c28 --- /dev/null +++ b/presets/presets_tryptonaut/idiot - Spectrum.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=0.986700 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=1.248000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_2=treb_thresh=above(treb_att,treb_thresh)*2+ +per_frame_3=(1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_4=mid_thresh=above(mid_att,mid_thresh)*2+ +per_frame_5=(1-above(mid_mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_6=vol_thresh=bass_thresh+treb_thresh+mid_thresh; +per_frame_7=q1=bass_thresh; +per_frame_8=q2=treb_thresh; +per_frame_9=q3=mid_thresh; +per_frame_10=q4=vol_thresh; +per_frame_11=wave_r=.1+.5*sin(time*.54)-.2*sin(below(Q1,q2)); +per_frame_12=wave_B=if(Above(q2,q3),.5-.3*Sin(time*.23),0); +per_frame_13=wave_g=if(above(q2,q3),wave_r-.05*Sin(time*.3)+.5*sin(above(Q1,q2)),1-.5*Sin(Time) +per_frame_14=*sin(equal(wave_b,0))); +per_frame_15=ez=sin(wave_g)*cos(wave_R-wave_b)+.3*Sin(if(below(ez,.7),ez,ez+.2)); +per_frame_16=echo_zoom=ez; +per_frame_17= +per_pixel_1=zoom=zoom+.01*Sin(Rad*3.14-q1)+.03*sin(q3); +per_pixel_2=rot=rot-.01*sin(rad*3.14)+.02*sin(Above(Q1,q2)); +per_pixel_3=dx=dx+.01*Sin(rad*5)*sin(time*.54-q3); diff --git a/presets/presets_tryptonaut/illusion & studio music - charged bliss.milk b/presets/presets_tryptonaut/illusion & studio music - charged bliss.milk new file mode 100755 index 0000000000..420165008f --- /dev/null +++ b/presets/presets_tryptonaut/illusion & studio music - charged bliss.milk @@ -0,0 +1,83 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.981000 +fVideoEchoZoom=1.008098 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.916265 +fWaveScale=0.999496 +fWaveSmoothing=0.666000 +fWaveParam=0.020000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=1.079900 +fWarpAnimSpeed=0.941900 +fWarpScale=0.712962 +fZoomExponent=0.999788 +fShader=0.830000 +zoom=1.006500 +rot=1.000000 +cx=1.280000 +cy=0.470000 +dx=0.000000 +dy=0.000000 +warp=1.728309 +sx=0.999600 +sy=0.999899 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.250000 +ob_g=0.650000 +ob_b=0.250000 +ob_a=1.000000 +ib_size=0.010000 +ib_r=0.650000 +ib_g=0.250001 +ib_b=0.250001 +ib_a=1.000000 +nMotionVectorsX=26.719893 +nMotionVectorsY=48.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=wave_r = sin(5*ff/bass)/2+0.5; +per_frame_2=wave_g = cos(ff/mid)/2+0.5; +per_frame_3=wave_b = cos(3*ff/treb)/2+0.5; +per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ib_r = ib_r + 0.2*sin(time*0.5413); +per_frame_7=ib_g = ib_g + 0.2*sin(time*0.6459); +per_frame_8=ib_b = ib_b + 0.2*sin(time*0.4354); +per_frame_9=ob_r=wave_r; +per_frame_10=ob_g=wave_g; +per_frame_11=ob_b=wave_b; +per_frame_12=mv_x = lastingbass*30+24; +per_frame_13=mv_y= madtreb*48+8; +per_frame_14=mv_r = 0.7-bass_att; +per_frame_15=mv_b = 0.6-treb_att; +per_frame_16=mv_g = 0.5-mid_att; +per_frame_17=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); +per_frame_18=zoom=max(0.98, min(0.15+0.8*bass_att, 1.75 )); +per_frame_19=ff = frame/100; +per_frame_20=monitor = wave_r; +per_pixel_1=pre_zoom=zoom-.07*acos(y*2-1)*sin(time*1.2*q1)*zoom-.07*acos(x*2-1)*sin(time*1.1*q1); +per_pixel_2=zoom=if(above(abs(zoom-1),.04),pre_zoom,.99); +per_pixel_3=rot=if(above(abs(zoom-1),2),-.4+.2*q1,0); diff --git a/presets/presets_tryptonaut/kaite.jpg b/presets/presets_tryptonaut/kaite.jpg new file mode 100755 index 0000000000..97536d4065 Binary files /dev/null and b/presets/presets_tryptonaut/kaite.jpg differ diff --git a/presets/presets_tryptonaut/lichen.jpg b/presets/presets_tryptonaut/lichen.jpg new file mode 100755 index 0000000000..6ce3c6796d Binary files /dev/null and b/presets/presets_tryptonaut/lichen.jpg differ diff --git a/presets/presets_tryptonaut/lit claw (explorers grid) - i don't have either a belfry or bats bitch.milk b/presets/presets_tryptonaut/lit claw (explorers grid) - i don't have either a belfry or bats bitch.milk new file mode 100755 index 0000000000..a0900e2eea --- /dev/null +++ b/presets/presets_tryptonaut/lit claw (explorers grid) - i don't have either a belfry or bats bitch.milk @@ -0,0 +1,461 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.05741 +fShader=0.000 +zoom=1.00950 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*tan(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=1-mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wave_0_per_point16=pi23=4*asin(1)*.333333333; +wave_0_per_point17=t1=bass+mid+treb; +wave_0_per_point18=r=(sin(time*.3+t1-0*pi23)+1)*.5; +wave_0_per_point19=g=(sin(time*.3+t1-1*pi23)+1)*.5; +wave_0_per_point20=b=(sin(time*.3+t1-2*pi23)+1)*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*tan(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=1-mx; +wave_1_per_point13=y=1-my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wave_1_per_point16=pi23=4*asin(1)*.333333333; +wave_1_per_point17=t1=bass+mid+treb; +wave_1_per_point18=r=(sin(time*.3+t1-0*pi23)+1)*.5; +wave_1_per_point19=g=(sin(time*.3+t1-1*pi23)+1)*.5; +wave_1_per_point20=b=(sin(time*.3+t1-2*pi23)+1)*.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=311 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.03340 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*tan(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=1-mx; +shape_0_per_frame13=y=1-my; +shape_0_per_frame14= +shape_0_per_frame15=ang=(sin(time*.35)+1)*3; +shape_0_per_frame16=a=(above(bass+mid+treb,.8)); +shape_0_per_frame17=pi23=4*asin(1)*.333333333; +shape_0_per_frame18=t1=bass+mid+treb; +shape_0_per_frame19=r=(sin(time*.3+t1-0*pi23)+1)*.5; +shape_0_per_frame20=g=(sin(time*.3+t1-1*pi23)+1)*.5; +shape_0_per_frame21=b=(sin(time*.3+t1-2*pi23)+1)*.5; +shape_0_per_frame22=r2=(sin(time*.3+t1-0*pi23)+1)*.5; +shape_0_per_frame23=g2=(sin(time*.3+t1-1*pi23)+1)*.5; +shape_0_per_frame24=b2=(sin(time*.3+t1-2*pi23)+1)*.5; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=281 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*tan(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=1-mx; +shape_1_per_frame13=y=1-my; +shape_1_per_frame14= +shape_1_per_frame15=ang=(sin(time*.30)+1)*3.3; +shape_1_per_frame16=a=(above(bass+mid+treb,.8)); +shape_1_per_frame17=pi23=4*asin(1)*.333333333; +shape_1_per_frame18=t2=0;//bass+mid+treb; +shape_1_per_frame19=r=(sin(time*.3+t2-0*pi23)+1)*.5; +shape_1_per_frame20=g=(sin(time*.3+t2-1*pi23)+1)*.5; +shape_1_per_frame21=b=(sin(time*.3+t2-2*pi23)+1)*.5; +shape_1_per_frame22=r2=(sin(time*.3+t2-0*pi23)+1)*.5; +shape_1_per_frame23=g2=(sin(time*.3+t2-1*pi23)+1)*.5; +shape_1_per_frame24=b2=(sin(time*.3+t2-2*pi23)+1)*.5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=wave_a = 0; +per_frame_4=v = 0.5; +per_frame_5=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_6=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_7=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_8= +per_frame_9=n = n + j1*0.0052; +per_frame_10=n1 = n1 + j2*0.0052; +per_frame_11=n2 = n2 + j3*0.0052; +per_frame_12= +per_frame_13= +per_frame_14=q3 = n*0.01; // passing the 3 room angles +per_frame_15=q4 = n1*0.01; +per_frame_16=q5 = n2*0.01; +per_frame_17= +per_frame_18= +per_frame_19=// lorenz-attractor calc +per_frame_20=a = 10; +per_frame_21=b = 28; +per_frame_22=c = 9/5; +per_frame_23=dx1 = a*(y1-x1); +per_frame_24=dy1 = x1*(b-z1)-y1; +per_frame_25=dz1 = x1*y1-c*z1; +per_frame_26=d = 1; +per_frame_27=dd = sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); +per_frame_28=x1 = x1 + d*dx1/dd; +per_frame_29=y1 = y1 + d*dy1/dd; +per_frame_30=z1 = z1 + d*dz1/dd; +per_frame_31= +per_frame_32=q11 = x1; +per_frame_33=q12 = y1; +per_frame_34=q13 = z1; +per_frame_35=q14 = a; +per_frame_36=q15 = b; +per_frame_37=q16 = c; +per_frame_38=q17 = d; +per_frame_39= +per_frame_40=//a code snippet from Eo.S... +per_frame_41=vol = (bass_att+treb_att+mid_att)*.25; +per_frame_42=vol = vol*vol; +per_frame_43=voltime = voltime + .1*vol; +per_frame_44=q32 = .4*voltime; +per_frame_45= +per_frame_46=//slow color changes +per_frame_47= +per_frame_48=q18 = .5+.5*sin(.1134*q32); +per_frame_49=q19 = .6+.4*cos(.1312*q32); +per_frame_50=q20 = .5 +.5*sin(.174*q32); +per_frame_51=q21 = .5 +.4*sin(.154*q32); +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=` color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=`// uv += color*0.01; +warp_13=` //uv.y += abs(color*0.01) + bass_att*0.01; +warp_14=` +warp_15=` float2x2 rot = { cos(q9), sin(q9), +warp_16=` -sin(q9), cos(q9) }; +warp_17=` +warp_18=` +warp_19=` ret = tex2D( sampler_main, ((uv-0.5)*(1 - 0.01)) + 0.5 + GetBlur1((uv - 0.5)*0.9 + 0.5)*0.1 - 0.01).xyz; +warp_20=` ret = ret-0.002;// - 0.08; //or try: ret -= 0.004; +warp_21=`} +comp_1=`float2 numerator, denominator, fraction; +comp_2=`float2 c1,bipolar; +comp_3=`int depth, n1; +comp_4=`float cutoff, s1; +comp_5=` +comp_6=`shader_body +comp_7=`{ +comp_8=`uv = 0.5 + (uv-0.5)*4; // try apply some overall zoom in or out, works good in play with number of iterations +comp_9=`cutoff = 1.0; +comp_10=`n1 = 1; // number of radial mirrors +comp_11=`s1 = 0.33; // logarithmic zoom factor +comp_12=`depth = 3; //number of fractal iterations +comp_13=` +comp_14=`for(int i = 0; i= .5); //momentan beliebig +warp_30=`rs = q28*rs + (1-q28)*rs.yx; +warp_31=`uv += (1-mask)*.03*(rs.yx) + .5*mask*z*normalize(dir); +warp_32=` +warp_33=`//ZENTRALSTRAHL +warp_34=`uv6 = mul (uv1,float2x2(_qb)); +warp_35=`mus = abs(0.01/(sqrt(uv6.x)+.001))*(rad+.2); +warp_36=` +warp_37=`//DOTS +warp_38=`float2 uv2 = .7*uv1+.3*sin(uv1*16+4*float2 (q5,q6)); +warp_39=`uv2 *= .2; +warp_40=`float3 dots = q26*saturate(.001/(length(uv2))); +warp_41=`float3 blur = GetBlur1(frac(uv)); +warp_42=`float3 crisp= GetPixel(uv); +warp_43=`float3 diff = (crisp) - .5*blur; +warp_44=`float3 ret1 = crisp + mus + dots; +warp_45=` +warp_46=`float3 mod = tex2D (sampler_noise_lq,.5*uv+time*.01)-.2; +warp_47=`mod = 1 - mod*diff; +warp_48=` +warp_49=`ret = (1-mask)*ret1*mod + mask*ret1*mod; +warp_50=`ret = ret *.98- .03; +warp_51=` +warp_52=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_53=` ((uv.xyy*q27 +warp_54=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_55=` ).xyz* +warp_56=` float3(1,1,0)*0.05 + +warp_57=` time*float3(0,0,1)*q29 +warp_58=` ); +warp_59=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y -= (noise9).x*.5; +warp_60=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z -= (noise9).y*.5; +warp_61=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x -= (noise9).z*.5; +warp_62=` +warp_63=`} +comp_1=`float3 ret1, neu, crisp, blur; +comp_2=`float2 uv2, uv3; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 3; +comp_16=`float n = 0; +comp_17=`float t_rel = q29; +comp_18=`while (n <= anz) { +comp_19=` ang2 = 6.28*n/anz+q30; +comp_20=` c = cos(ang2); +comp_21=` s = sin(ang2); +comp_22=` uv2.x = uv.x*c - uv.y*s; +comp_23=` uv2.y = uv.x*s + uv.y*c; +comp_24=` uv2*= aspect.yx; +comp_25=` +comp_26=` dist = 1-frac(n/anz+t_rel); //evtl sqrt ! +comp_27=` +comp_28=` inten = 4*dist*(1-dist*dist); +comp_29=` uv3 = 3*uv2*dist + 0.5+.0*float2(q5,q6); +comp_30=` crisp = GetPixel(uv3); +comp_31=` blur = GetBlur1(frac(uv3)) * float3 (.8,.9,1); +comp_32=` ret1 = max(ret1,(crisp+blur)*inten); +comp_33=`n++; +comp_34=`} +comp_35=` +comp_36=` +comp_37=`float3 ret1 = ret1 ; +comp_38=`//ret1 = GetPixel(.5+uv_orig*aspect.yx*1.2); +comp_39=` +comp_40=` +comp_41=`ret = ret1-.1; +comp_42=` +comp_43=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_44=` ((uv.xyy*q28 +comp_45=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_46=` ).xyz* +comp_47=` float3(1,1,0)*0.05 + +comp_48=` time*float3(0,0,1)*q30 +comp_49=` ); +comp_50=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.z -= (noise9).x*.5; +comp_51=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.x -= (noise9).y*.5; +comp_52=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.y -= (noise9).z*.5; +comp_53=`} diff --git a/presets/presets_tryptonaut/martin - crystal palace.milk b/presets/presets_tryptonaut/martin - crystal palace.milk new file mode 100755 index 0000000000..683b9bebed --- /dev/null +++ b/presets/presets_tryptonaut/martin - crystal palace.milk @@ -0,0 +1,392 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=5.552000 +fWaveSmoothing=0.504000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.503300 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.600000 +wavecode_0_b=0.400000 +wavecode_0_a=1.000000 +wave_0_per_point1= +wave_0_per_point2=x0 = .5 + .4 * sin(time/2); +wave_0_per_point3= +wave_0_per_point4=angle = rand(1000)/1000*6.28; +wave_0_per_point5=rad = rand(1000)/1000; +wave_0_per_point6=rad = rad * rad; +wave_0_per_point7= +wave_0_per_point8=x = x0 + .1*rad*sin(angle); +wave_0_per_point9=y = .5 + .1*rad*cos(angle); +wave_0_per_point10= a = 1-rad; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=trel = q11-.0; +wave_1_per_frame2=t1 = int(trel); +wave_1_per_frame3=t2 = trel - int(trel); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=trel = q11-.33; +wave_2_per_frame2=t1 = int(trel); +wave_2_per_frame3=t2 = trel - int(trel); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=trel = q11-.66; +wave_3_per_frame2=t1 = int(trel); +wave_3_per_frame3=t2 = trel - int(trel); +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.800000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.242435 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.884956 +shapecode_0_tex_zoom=1.728514 +shapecode_0_r=0.800000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=0.600000 +shapecode_0_r2=0.900000 +shapecode_0_g2=0.900000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.130000 +shapecode_1_y=0.190000 +shapecode_1_rad=0.110450 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141590 +shapecode_1_tex_zoom=1.711049 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.226130 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.200000 +shapecode_2_b=0.200000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.187170 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.020000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.98, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17= +per_frame_18=vol = bass_att + treb_att; +per_frame_19=v2 = v2 * dec_slow + vol * (1-dec_slow) ; +per_frame_20=q26 = max(atan (vol - v2*.8),.3); +per_frame_21= +per_frame_22=q27 = index + 1; +per_frame_23= +per_frame_24=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_25=q28 = sw; +per_frame_26= +per_frame_27=k1 = is_beat*bnot(index); +per_frame_28=k2 = is_beat*bnot(index); +per_frame_29= +per_frame_30=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_31=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_32=rott = p2 * 3.1416/2; +per_frame_33=monitor = k1; +per_frame_34=q1 = cos(rott); +per_frame_35=q2 = sin(rott); +per_frame_36=q3 = -q2; +per_frame_37=q4 = q1; +per_frame_38= +per_frame_39= +per_frame_40=q5 = cos(time/6); +per_frame_41=q6 = -sin(time/6); +per_frame_42=q7 = -q6; +per_frame_43=q8 = q5; +per_frame_44= +per_frame_45=zoom = 1; +per_frame_46=rot = -0; +per_frame_47= +per_frame_48=movez = movez + .006*(q1+1.1)*30/fps; +per_frame_49=q29 = movez; +per_frame_50=rota = rota + .003*(2-q1)*30/fps; +per_frame_51=q30 = rota; +per_frame_52=q31 = 2 + 16*abs(cos(time/18)); +per_frame_53=q32 = cos(time/23)/4; +per_frame_54= +per_frame_55= +per_frame_56= +warp_1=`float3 mus; +warp_2=`float2 rs, uv1, uv6, uv7, uv8; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=`//BACKGROUND +warp_9=`float z = 16*length(uv1)+time; +warp_10=`float2 uvn =normalize(uv1); +warp_11=`rs = clamp(tan(z)*uvn,-5,5)/2; +warp_12=` +warp_13=`//CRYSTAL +warp_14=`float mult = q31; +warp_15=`uv7 = sin(uv1*mult); +warp_16=`uv8 = uv7; +warp_17=`float dist = length(uv8); +warp_18=`dist *= (abs(uv1.x) + abs(uv1.y))+ q32; +warp_19=` +warp_20=`float ang2 = atan2 (uv8.y,uv8.x); +warp_21=`ang2 = .1*floor (16* ang2); +warp_22=`float2 dir = .5*uv8+float2 (cos(ang2), sin(ang2)); +warp_23=` +warp_24=` +warp_25=`z = (1-cos(8*dist)); +warp_26=`z = saturate (z); +warp_27=` +warp_28=`//ADD +warp_29=`float mask = (z >= .5); //momentan beliebig +warp_30=`rs = q28*rs + (1-q28)*rs.yx; +warp_31=`uv += (1-mask)*.03*(rs.yx) + .5*mask*z*normalize(dir); +warp_32=` +warp_33=`//ZENTRALSTRAHL +warp_34=`uv6 = mul (uv1,float2x2(_qb)); +warp_35=`mus = abs(0.01/(sqrt(uv6.x)+.001))*(rad+.2); +warp_36=` +warp_37=`//DOTS +warp_38=`float2 uv2 = .7*uv1+.3*sin(uv1*16+4*float2 (q5,q6)); +warp_39=`uv2 *= .2; +warp_40=`float3 dots = q26*saturate(.001/(length(uv2))); +warp_41=`float3 blur = GetBlur1(frac(uv)); +warp_42=`float3 crisp= GetPixel(uv); +warp_43=`float3 diff = (crisp) - .5*blur; +warp_44=`float3 ret1 = crisp + mus + dots; +warp_45=` +warp_46=`float3 mod = tex2D (sampler_noise_lq,.5*uv+time*.01)-.2; +warp_47=`mod = 1 - mod*diff; +warp_48=` +warp_49=`ret = (1-mask)*ret1*mod + mask*ret1*mod; +warp_50=`ret = ret *.98- .03; +warp_51=` +warp_52=`} +comp_1=`float3 ret1, neu, crisp, blur; +comp_2=`float2 uv2, uv3; +comp_3=` +comp_4=`shader_body +comp_5=`{ +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 3; +comp_16=`float n = 0; +comp_17=`float t_rel = q29; +comp_18=`while (n <= anz) { +comp_19=` ang2 = 6.28*n/anz+q30; +comp_20=` c = cos(ang2); +comp_21=` s = sin(ang2); +comp_22=` uv2.x = uv.x*c - uv.y*s; +comp_23=` uv2.y = uv.x*s + uv.y*c; +comp_24=` uv2*= aspect.yx; +comp_25=` +comp_26=` dist = 1-frac(n/anz+t_rel); //evtl sqrt ! +comp_27=` +comp_28=` inten = 4*dist*(1-dist*dist); +comp_29=` uv3 = 3*uv2*dist + 0.5+.0*float2(q5,q6); +comp_30=` crisp = GetPixel(uv3); +comp_31=` blur = GetBlur1(frac(uv3)) * float3 (.8,.9,1); +comp_32=` ret1 = max(ret1,(crisp+blur)*inten); +comp_33=`n++; +comp_34=`} +comp_35=` +comp_36=` +comp_37=`float3 ret1 = ret1 ; +comp_38=`//ret1 = GetPixel(.5+uv_orig*aspect.yx*1.2); +comp_39=` +comp_40=` +comp_41=`ret = ret1-.1; +comp_42=` +comp_43=`} diff --git a/presets/presets_tryptonaut/martin - deep blue.milk b/presets/presets_tryptonaut/martin - deep blue.milk new file mode 100755 index 0000000000..e2035ce5fe --- /dev/null +++ b/presets/presets_tryptonaut/martin - deep blue.milk @@ -0,0 +1,358 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.167975 +fWaveSmoothing=0.000000 +fWaveParam=-0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=31.999998 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.500000 +mv_r=0.299900 +mv_g=0.499900 +mv_b=0.399900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=128 +wavecode_0_sep=49 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.067077 +wavecode_0_smoothing=0.820000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=0.500000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=100 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.010000 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.130000 +shapecode_0_rad=1.504993 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.459514 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.700000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=8 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.013478 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.300000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=24 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.590000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.449286 +shapecode_2_ang=0.062832 +shapecode_2_tex_ang=1.884956 +shapecode_2_tex_zoom=0.179142 +shapecode_2_r=0.600000 +shapecode_2_g=0.500000 +shapecode_2_b=0.700000 +shapecode_2_a=0.100000 +shapecode_2_r2=0.700000 +shapecode_2_g2=0.500000 +shapecode_2_b2=0.600000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.760000 +shapecode_3_y=0.750000 +shapecode_3_rad=0.686364 +shapecode_3_ang=0.439823 +shapecode_3_tex_ang=0.502655 +shapecode_3_tex_zoom=0.615900 +shapecode_3_r=0.700000 +shapecode_3_g=0.700000 +shapecode_3_b=0.700000 +shapecode_3_a=0.150000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5+.3*cos(time/59); +shape_3_per_frame2=y = .5+.3 *sin(time/59); +per_frame_init_1=q28 = 0; q29 = 0; p1= 0; +per_frame_init_2=fade = .9; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16= +per_frame_17=k1 = is_beat*equal(index,0); +per_frame_18=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_19= +per_frame_20=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_21=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_22=rott = p3 * 3.1416/2; +per_frame_23=q27 = index + 1; +per_frame_24= +per_frame_25=movz = movz + .001*30/fps*(1.5+sin(rott)); +per_frame_26=q29 = movz ; +per_frame_27= +per_frame_28= +per_frame_29=movx = movx + .001*30/fps*(1+sin(time/7)); +per_frame_30=q28 = movx; +per_frame_31= +per_frame_32= +per_frame_33=q30 = .5 * (sin(time/19)+1); +per_frame_34=q31 = 3*(sin(time/23)+2); +per_frame_35=q32 = sin(time/17)+1; +per_frame_36= +per_frame_37= +per_frame_38=fade = fade * dec_med + .98 * (1-dec_med); +per_frame_39=q10 = fade; +per_frame_40= +per_frame_41= +per_pixel_1= //rot = q1/10* (rad +per_pixel_2=warp = .02; +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=` +warp_4=`shader_body { +warp_5=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_6=` +warp_7=`float2 uv1 = (uv-.5); +warp_8=`float2 uv6 = uv1; +warp_9=` +warp_10=`float rota = lum(tex2D (sampler_noise_hq,uv/4))*q31; +warp_11=` +warp_12=`uv6 = mul(uv1,float2x2(cos(rota),-sin(rota),sin(rota),cos(rota))); +warp_13=`uv6 += sin(q32*uv1); +warp_14=`mus = .2/(sqrt(uv6.x)+.2); +warp_15=` +warp_16=`mus *= float3 (1.1,1,.95); +warp_17=`mus *= .9+.1*tex2D (sampler_noise_hq,uv); +warp_18=` +warp_19=`float3 blur = GetBlur1(frac(uv)); +warp_20=` +warp_21=`float2 hor = float2 (0.005,0); +warp_22=`float2 ver = float2 (0,.005); +warp_23=` +warp_24=`float dx = lum(tex2D(sampler_main,uv+hor) +warp_25=` - tex2D(sampler_main,uv-hor)); +warp_26=`float dy = lum(tex2D(sampler_main,uv+ver) +warp_27=` - tex2D(sampler_main,uv-ver)); +warp_28=` +warp_29=` +warp_30=`float2 zz = float2 (dx,dy); +warp_31=` +warp_32=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_33=`float3 crisp2 = tex2D(sampler_main,uv); +warp_34=`crisp += crisp2/2; +warp_35=`crisp *= .67; +warp_36=`crisp +=.08 * mus - length(zz)*blur; +warp_37=` +warp_38=`float3 ret1 = crisp - lum(blur)*.04; +warp_39=`ret = ret1 * q10 - .04 ; +warp_40=`} +comp_1=`float3 ret1, neu, neu2, glow, sky; +comp_2=`float2 uv1,uv2,uv3,uv4,uv5,rs,zz; +comp_3=`float k,m,n,zoom,dist,dist2,inten,mask,dx,dy; +comp_4=`float2x2 dir; +comp_5=`int i, anz; +comp_6=` +comp_7=`shader_body +comp_8=`{ +comp_9=`uv -= 0.5; +comp_10=`uv *= aspect.xy; +comp_11=`float2 hor = float2 (0.004,0); +comp_12=`float2 ver = float2 (0,.004); +comp_13=` +comp_14=`ret1 = 0; anz = 3; +comp_15=`float t_rel = q29; +comp_16=` +comp_17=` +comp_18=`for (n=1;n<=anz;n++) { +comp_19=` m = n-int(t_rel); +comp_20=` +comp_21=` dist = 1-frac(n/anz-frac(-t_rel)/anz); +comp_22=` zoom = 2 ; +comp_23=` dist2 = dist*dist; +comp_24=` inten = pow(dist,.3)*(1-dist2); +comp_25=` +comp_26=` uv2 =zoom*dist*(uv -.4)-.1; //Blickpunkt vert. +comp_27=` uv3 = frac(uv2+(m+q28)*float2(.4,1)); +comp_28=` +comp_29=` dx = lum(GetPixel(uv3+hor) +comp_30=` - GetPixel(uv3-hor)); +comp_31=` dy = lum(GetPixel(uv3+ver) +comp_32=` - GetPixel(uv3-ver)); +comp_33=` +comp_34=` zz = float2 (dx,dy); +comp_35=` neu = GetPixel (uv3+.5*zz); +comp_36=` glow = GetBlur1(uv3) * float3 (.5,1,1); +comp_37=` +comp_38=` mask = 1-saturate(8*neu); +comp_39=` ret1 = ret1*mask + (neu+2*glow)*inten; +comp_40=`//n++; +comp_41=`} +comp_42=` +comp_43=`uv1 = uv + float2(2*frac(.003*time)-.55,.25) - ret1/8; +comp_44=`float moon = saturate (.01/length(uv1)); +comp_45=` +comp_46=` +comp_47=`float mask = saturate(1-2*ret1.r); +comp_48=`sky = .4*saturate(.4-uv.y) * float3 (.2,0.3,1); +comp_49=`ret = ret1*float3(0,1,1)+ sky*mask; +comp_50=`ret = ret + 8*ret*moon; +comp_51=` +comp_52=`//ret = GetPixel(uv+.5)*2; +comp_53=`} diff --git a/presets/presets_tryptonaut/martin - disco mix 2.milk b/presets/presets_tryptonaut/martin - disco mix 2.milk new file mode 100755 index 0000000000..97443fd7d9 --- /dev/null +++ b/presets/presets_tryptonaut/martin - disco mix 2.milk @@ -0,0 +1,413 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.780001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.527429 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.490000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.399900 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.915805 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=cent = sqrt((x-.5)*(x-.5)+(y-.5)*(y-.5)); +shape_0_per_frame10= +shape_0_per_frame11=rad = .1*cent; +shape_0_per_frame12=a = .8; +shapecode_1_enabled=1 +shapecode_1_sides=25 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.070000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=trig = q24; +shape_1_per_frame2= +shape_1_per_frame3=textured = 1; +shape_1_per_frame4= +shape_1_per_frame5=x0 = x0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame6=y0 = y0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9= +shape_1_per_frame10=x0 = x0 + .04*q1*(3+q26)/fps; +shape_1_per_frame11=y0 = y0 + .04*q2*(3+q26)/fps; +shape_1_per_frame12= +shape_1_per_frame13=x0 = x0 - int(x0); +shape_1_per_frame14=y0 = y0 - int(y0); +shape_1_per_frame15= +shape_1_per_frame16=x = .5; y = .5; +shape_1_per_frame17=tex_ang = time/2; +shape_1_per_frame18=tex_zoom = 2; +shape_1_per_frame19=ang = time/100*q2; +shape_1_per_frame20=x = x0; y = y0; +shape_1_per_frame21=rad0 = rad0*bnot(trig) + trig*rand(100)/400; +shape_1_per_frame22=rad = rad0; +shape_1_per_frame23= +shape_1_per_frame24= +shape_1_per_frame25=r0 = bnot(trig)*r0 + trig * rand(10)/10; +shape_1_per_frame26=b0 = bnot(trig)*b0 + trig * rand(10)/10; +shape_1_per_frame27=g0 = bnot(trig)*g0 + trig * rand(10)/10; +shape_1_per_frame28= +shape_1_per_frame29=r = 1; b = 1; g = 1; +shape_1_per_frame30=r2 = .4; b2 = .4; g2 = .4; +shape_1_per_frame31=a= 1; a2 = .5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5 - 0*rand(15)/200; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a = min(q21/2 ,.9); +shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.260000 +shapecode_3_y=0.760000 +shapecode_3_rad=0.394780 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=tex_zoom = q27/2; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20=q11 = min(q22,3); +per_frame_21= +per_frame_22=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23= +per_frame_24=k1 = is_beat*equal(index,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_27=rott = p2 * 3.14159265359/4; +per_frame_28= +per_frame_29=q27 = 8-index; +per_frame_30=q28 = index2; +per_frame_31= +per_frame_32=q1 = cos(rott); +per_frame_33=q2 = sin(rott); +per_frame_34=q3 = -q2; +per_frame_35=q4 = q1; +per_frame_36= +per_frame_37=rota = rota*dec_med + (1-dec_med)*q22/4; +per_frame_38= +per_frame_39=zoom = 1.05 + .1*q1; +per_frame_40=rot = .01*q2+rota/12*q2; +per_frame_41=dx = .01*q1; +per_frame_42=dy = .01*q2; +per_frame_43= +per_frame_44=wave_a = 0; +per_frame_45= +per_frame_46=movex = movex + dx/fps; +per_frame_47=movey = movey + dy/fps; +per_frame_48=movez = movez + (zoom-1)/fps; +per_frame_49=q16 = rota; +per_frame_50=q17 = movez*200; +per_frame_51=q18 = movex; q19 = movey; +per_frame_52=warp = .5; +per_frame_53= +per_frame_54=//KUGEL-POS +per_frame_55=dt = .1*30/fps; +per_frame_56=m = .03; //Masse +per_frame_57=x0 = .0; y0 = 0; x0 = q1; y0 = q27/4; +per_frame_58= +per_frame_59=ax = -(xk-x0); +per_frame_60=ay = -(yk-y0); +per_frame_61= +per_frame_62=vx = vx*dec_med + ax * dt/m; +per_frame_63=vy = vy*dec_med + ay * dt/m; +per_frame_64= +per_frame_65=xk = xk + vx*dt; +per_frame_66=yk = yk + vy*dt; +per_frame_67= +per_frame_68=q9 = xk; q10 = yk; +per_frame_69=monitor = q10; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv*8+rand_frame*6); +warp_16=`mus = .1/(length(uv6)); +warp_17=`mus *= (1+roam_cos)/2; +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .1*mus; +warp_24=`//float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float2 rs; +comp_4=`float pads; +comp_5=` +comp_6=`shader_body { +comp_7=`float2 uv1 = (uv-.5-.0*float2(q1,q2) )*aspect.xy; +comp_8=`//uv = mul(uv-.5,float2x2(_qa))+.5; +comp_9=` +comp_10=`uv1*= aspect.yx; +comp_11=`float h1 = 3; +comp_12=` +comp_13=`float z = h1/abs(uv1.y) ; +comp_14=` +comp_15=` +comp_16=` +comp_17=`rs.x = (uv1.x) *z*2; +comp_18=`float mask = saturate (15/z-.3); +comp_19=`rs.y = z; +comp_20=`rs = mul(rs,float2x2(_qa)); +comp_21=`rs.y += q17; +comp_22=`float2 uv6 = sin(rs); +comp_23=`pads = .5-sqrt(length(uv6.x*uv6.y)); +comp_24=`pads *= (pads <= -.1) *mask; +comp_25=` +comp_26=`float mask2 = (pads <= -.1); +comp_27=`ret = (1-2*pads)* (GetPixel(uv+pads/4))*(1+q22) +comp_28=`-pads *q2*GetPixel(rs/180)*4 +comp_29=`-pads *q1*GetPixel(1-uv)*4; +comp_30=`} diff --git a/presets/presets_tryptonaut/martin - disco mix 4.milk b/presets/presets_tryptonaut/martin - disco mix 4.milk new file mode 100755 index 0000000000..e09ef86e9d --- /dev/null +++ b/presets/presets_tryptonaut/martin - disco mix 4.milk @@ -0,0 +1,413 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=20.944651 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=100 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.045052 +wavecode_0_smoothing=0.100000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = .45 + rand(10)/100; +wave_0_per_point1=k1 = bnot((sample*100+time)%2); +wave_0_per_point2= +wave_0_per_point3=dy = .015*above(sin(sample*11),0) +wave_0_per_point4= +.008*above(sin(time+sample*74),0) +wave_0_per_point5= +.008*above(sin(time+sample*128),0); +wave_0_per_point6= +wave_0_per_point7=dx = .01*above(sin(sample*27),0) + +wave_0_per_point8= +.01*above(sin(time+sample*134),0); +wave_0_per_point9= +wave_0_per_point10=x = .2*(sample-.5) + .5 + dx; +wave_0_per_point11=y = t2 + dy; +wave_0_per_point12= +wave_0_per_point13=a = q24 * k1 * bnot(q27%4); +wave_0_per_point14= +wave_0_per_point15=r = .6; g = 0; b = .6; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.020000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.470000 +shapecode_0_rad=0.240570 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.140570 +shapecode_0_r=1.000000 +shapecode_0_g=0.300000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.300000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=x = .5; y = .5; +shape_0_per_frame3=a = q24; +shape_0_per_frame4=a2 = q24; +shape_0_per_frame5=//a = 1; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.051340 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.122880 +shapecode_1_r=0.300000 +shapecode_1_g=0.200000 +shapecode_1_b=0.200000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=r = .5 + .3 * sin(time); +shape_1_per_frame2=g = .5 + .3 * sin(time/1.5); +shape_1_per_frame3=b = .5 + .3 * sin(time/3.7); +shape_1_per_frame4= +shape_1_per_frame5=r2 = 0; b2 = 0; g2 = 0; +shape_1_per_frame6= +shape_1_per_frame7=a = .05; a2 = 0; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.010000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=dy = .1 * sin(time*14);; +shape_2_per_frame3=dx = q1*dy; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + dx; +shape_2_per_frame6=y = .5 + dy; +shape_2_per_frame7= +shape_2_per_frame8=a = q25; a2 = q25; +shape_2_per_frame9=rad = q21/110; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_init_1=xk = 0; +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=dec_xlow = pow (0.995, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) %16; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass_att + mid_att + treb_att; +per_frame_18=q27 = index + 1; +per_frame_19= +per_frame_20=peakx = above(q22,1.5*maxp); +per_frame_21=maxp = max(maxp, q22); +per_frame_22=maxp = maxp*dec_xlow; +per_frame_23= +per_frame_24=k1 = is_beat*equal(index%3,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_27=rott = p2 * 3.1416/4; +per_frame_28= +per_frame_29=q1 = cos(rott); +per_frame_30=q2 = sin(rott); +per_frame_31=q3 = -q2; +per_frame_32=q4 = q1; +per_frame_33= +per_frame_34=trig = q24 * bnot(index%4); +per_frame_35=dir = dir + trig * q26*(rand(100)/100-.5)/2 + peakx; +per_frame_36=dir_ = dir_ * dec_slow + dir*(1-dec_slow); +per_frame_37=dir__ = dir__ * dec_slow + dir_*(1-dec_slow); +per_frame_38= +per_frame_39=q5 = cos(dir__); +per_frame_40=q6 = sin(dir__); +per_frame_41= +per_frame_42=speed = speed * bnot(trig) + trig*q26*5/fps ; +per_frame_43=speed_= speed_* dec_slow + speed*(1-dec_slow); +per_frame_44= +per_frame_45=movx = movx + speed_*q6; +per_frame_46=movy = movy + speed_*q5; +per_frame_47= +per_frame_48=//movx = movx + speed; +per_frame_49=//movy = movy + speed; +per_frame_50= +per_frame_51= +per_frame_52=q7 = movx; +per_frame_53=q8 = movy; +per_frame_54= +per_frame_55=tilt = dir - dir__; +per_frame_56=tilt_ = dec_slow*tilt_ + (1-dec_slow)*tilt; +per_frame_57= +per_frame_58= +per_frame_59=monitor = maxp; +per_frame_60=q9 = cos(tilt_*speed_); +per_frame_61=q10 = sin(tilt_*speed_); +per_frame_62= +per_frame_63=q12 = time; +per_pixel_1=zoom = 1.3; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = 2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float clp = 2; +warp_12=`float2 rs = clamp(tan(z)*d,-clp,clp); +warp_13=`uv += rs/20; +warp_14=` +warp_15=` +warp_16=`uv6 = .4*sin(uv1*22); +warp_17=`mus = .1/(length(uv6)); +warp_18=`mus *= roam_cos; +warp_19=` +warp_20=`float3 blur = GetBlur1(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.04 + .15*mus; +warp_25=`q25 = q24; +warp_26=`ret = q25*(ret1-.02)*.98 + (1-q25)* GetPixel(uv_orig); +warp_27=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float2 rs, rs0; +comp_4=`float3 noise, ret1; +comp_5=` +comp_6=`shader_body { +comp_7=`float corr = texsize.xy*texsize_noise_lq.zw; +comp_8=`float2 uv1 = (uv_orig-.5)*aspect.xy; +comp_9=`uv1 = mul(uv1,float2x2(q9,q10,-q10,q9)); +comp_10=`uv1 *= aspect.yx; +comp_11=`float h1 = 3; +comp_12=`float k1 = 1; +comp_13=`float z = h1/abs(uv1.y); +comp_14=`rs.x = uv1.x * z * k1; +comp_15=`rs.y = z *k1/2; +comp_16=`rs0 = rs; +comp_17=`rs *=1; +comp_18=`rs = mul(float2x2(q5,q6,-q6,q5),rs); +comp_19=`rs += float2 (q7,q8); +comp_20=` +comp_21=` +comp_22=`float mod = sin((uv1-q12)*q27); +comp_23=` +comp_24=`ret1 = GetBlur1(frac(rs/12)); +comp_25=`ret = ret1*32/z +comp_26=`+ q22*sqrt(z)/4*mod * GetPixel(4*ret1/z+uv1/2/(.5+abs(uv1.y))+float2(q5,0)); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/martin - dont drink and drive (police mix).milk b/presets/presets_tryptonaut/martin - dont drink and drive (police mix).milk new file mode 100755 index 0000000000..690fbf74b3 --- /dev/null +++ b/presets/presets_tryptonaut/martin - dont drink and drive (police mix).milk @@ -0,0 +1,433 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.232543 +fWaveSmoothing=0.810000 +fWaveParam=0.280000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.900000 +wave_g=1.000000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.900000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= //Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3=k1 = cos(time/3); +wave_0_per_point4=k2 = sin(time/2); +wave_0_per_point5= +wave_0_per_point6=t_abs = sample; +wave_0_per_point7=t_rel = sample-time/2.12; +wave_0_per_point8=ampl = cos(t_rel)*12; +wave_0_per_point9=//ampl = 3; +wave_0_per_point10= +wave_0_per_point11=ox = sin (t_rel*18) + ampl*sin (t_rel*12) ; +wave_0_per_point12=oy = cos (t_rel*13) + ampl*cos (t_rel*11); +wave_0_per_point13=oz = ampl/3; +wave_0_per_point14=oz = 0; +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17=//r = sqr(sin(t_rel*3.4)); +wave_0_per_point18=//g = sqr(sin(t_rel*2.3)); +wave_0_per_point19=//b = sqr (cos(t_rel*1.9)); +wave_0_per_point20= +wave_0_per_point21=r = 1; +wave_0_per_point22=g = 0.5; +wave_0_per_point23=b = 0; +wave_0_per_point24= +wave_0_per_point25=a=0.25*(cos(t_abs*3.14/2)) + 0.2 *below (abs(1-t_abs- t1),0.0); +wave_0_per_point26=//a=0.25*(sin(t_abs*3.14)) + 0.4 *below (abs(1-t_abs-t1), bass_att/1); +wave_0_per_point27=a=0.25*(cos(t_abs*1.5)) + 0.7 *below (abs(t_abs),0.0); +wave_0_per_point28= +wave_0_per_point29=xang = k1*3; +wave_0_per_point30=yang = 1; +wave_0_per_point31=zang = 3*k1; +wave_0_per_point32=fov = 0.22; +wave_0_per_point33= +wave_0_per_point34= +wave_0_per_point35=// Rotation um x,y,z +wave_0_per_point36= +wave_0_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point39= +wave_0_per_point40=ox = mx; +wave_0_per_point41=oy = my; +wave_0_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point44=ox = mx; +wave_0_per_point45=oz = mz; +wave_0_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point48=oy = my; +wave_0_per_point49=oz = mz; +wave_0_per_point50= +wave_0_per_point51=oz = oz - 6; +wave_0_per_point52=x = ox*fov/oz +0.5; +wave_0_per_point53=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point54=y = oy*fov/oz + 0.5; +wave_0_per_point55= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t_rel = time *2; +wave_1_per_frame2= +wave_1_per_frame3=t1 = int (t_rel); +wave_1_per_frame4=t2 = int (t_rel) + 1; +wave_1_per_point1=t1 = (t1*65 + 37) % 4096; +wave_1_per_point2=t2 = (t2*65 + 37) % 4096; +wave_1_per_point3= +wave_1_per_point4=x = (t1/4096); +wave_1_per_point5=y = (t2/4096); +wave_1_per_point6= +wave_1_per_point7=a = q21/8; +wavecode_2_enabled=1 +wavecode_2_samples=128 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_frame1=t1 = .51; +wave_2_per_frame2=t1 = time/2 - int(time/2); +wave_2_per_point1=x = sample/3 + t1; +wave_2_per_point2=//y = sample/3 + t1; +wave_2_per_point3=y = sample; +wave_2_per_point4= +wave_2_per_point5=//x = sample; +wave_2_per_point6=//y = sample; +wave_2_per_point7= +wave_2_per_point8=a = q24/2; +wave_2_per_point9=//a = 1; +wave_2_per_point10=a = .6; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.650000 +shapecode_0_y=0.900000 +shapecode_0_rad=0.220560 +shapecode_0_ang=1.570797 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.331050 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.200000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = .6; y = .3; +shape_0_per_frame2=b = 0; +shape_0_per_frame3=r = 1; +shape_0_per_frame4=g = 0; +shape_0_per_frame5=a = min(q22/18,1); +shape_0_per_frame6=a2 = 0; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.526765 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.376991 +shapecode_1_tex_zoom=2.245566 +shapecode_1_r=0.960000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.700000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tex_zoom = 1.4 + sin(time/3.67); +shape_1_per_frame2=a = q28; a2 = q28/8; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%4; +per_frame_11=index4 = (index4 + is_beat*bnot(index)*bnot(index2)*bnot(index3))%4; +per_frame_12= +per_frame_13=police = dec_slow*police +per_frame_14= + (1-dec_slow) * bnot (index3 + index2 -2); +per_frame_15=q17 = police; +per_frame_16= +per_frame_17=q20 = avg; +per_frame_18=q21 = beat; +per_frame_19=q22 = peak; +per_frame_20=q23 = index; +per_frame_21=q24 = is_beat; +per_frame_22= +per_frame_23=hop = dec_slow*hop + (1-dec_slow)*q22; +per_frame_24=hop2 = dec_slow*hop2 + (1-dec_slow)*hop; +per_frame_25=hop3 = dec_slow*hop3 + (1-dec_slow)*hop2; +per_frame_26=dhop = hop2 - hop3; +per_frame_27=q18 = dhop +.0*sin(time); +per_frame_28=hop4 = dec_slow*hop4 + (1-dec_slow)*dhop; +per_frame_29=q19 = hop4 * 8 ; +per_frame_30= +per_frame_31=k1 = is_beat*equal(index,0); +per_frame_32=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_33=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_34=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_35= +per_frame_36=rott = p3 * 3.14159265359/2; +per_frame_37= +per_frame_38=q27 = 8-index; +per_frame_39=q28 = index2; +per_frame_40=q26 = .0 + .1*index3; +per_frame_41=q25 = index4; +per_frame_42= +per_frame_43=monitor = q25; +per_frame_44=movez = movez + .03*30/fps * +per_frame_45= (1-bnot(index) * above(sin(time/20),.8)); +per_frame_46=q29 = movez*1; +per_frame_47= +per_frame_48= +per_frame_49=blink = (1-0*equal(index,0)) * (1-equal (index,7)); +per_frame_50=q31 = ((time*10)%2) * (1-blink); +per_frame_51=q5 = rott; +per_frame_52= +per_frame_53=q1 = 1 + 10 * bnot (index3 + index2); +per_pixel_1=rot = 0; +per_pixel_2=warp = .0; +per_pixel_3= +per_pixel_4= +warp_1=`shader_body { +warp_2=` +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.016*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`float3 Feedback = GetBlur1(1-uv); +warp_7=` +warp_8=`float2 uv2 = .8*sin((uv1)*8);; +warp_9=`float dots = saturate(.01/length(uv2)); +warp_10=` +warp_11=`float2 zz = -uv1 *texsize.xy *q26; +warp_12=` +warp_13=`if (q25 ==1) {zz *= (abs(uv1.y)/abs(uv1.x));} +warp_14=`else if (q25==2) {zz *= (abs(uv1.y)-abs(uv1.x));} +warp_15=` +warp_16=` +warp_17=`float2 h1 = clamp(tan(zz),-20,20); +warp_18=` +warp_19=`uv.xy += h1*texsize.zw * 4; +warp_20=` +warp_21=`float3 crisp1 = tex2D(sampler_main,uv) + dots; +warp_22=`float blur = GetBlur2 (uv); +warp_23=`ret = .95*crisp1+noiseVal-.02 - .06*blur; +warp_24=` +warp_25=` +warp_26=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 4; +comp_16=`float n = 1; +comp_17=`//uv = mul(uv,float2x2(_qa)); +comp_18=`while (n <= anz) { +comp_19=` ang2 = 6.28*n/anz + q5 * (n-1); +comp_20=` c = cos(ang2); +comp_21=` s = sin(ang2); +comp_22=` uv2.x = uv.x*c - uv.y*s; +comp_23=` uv2.y = uv.x*s + uv.y*c; +comp_24=` uv2 *= aspect.yx; +comp_25=` dist = 1-frac(.25 *n+q29); //evtl sqrt ! +comp_26=` dist = dist*dist; +comp_27=` inten = pow(dist,.2)*(1-dist)*2; +comp_28=` float2 uv3 = 3*uv2*dist + .5 + .5*(1-0.5*q28)* float2(q18,q19);; +comp_29=` neu = GetPixel (uv3); +comp_30=` blur = GetBlur1 (frac(uv3)); +comp_31=` neu += blur; +comp_32=` ret1 = ret1*.9+neu*inten; +comp_33=` +comp_34=`n++; +comp_35=`} +comp_36=` +comp_37=`uv2 = .5*cos(uv*16); +comp_38=`float3 dots = saturate(.04/length(uv2)) * float3 (1,.7,0); +comp_39=` +comp_40=` +comp_41=`ret = ret1*.7 + dots * q31; +comp_42=`float3 pol = q17 * saturate (pow(.5/(1+uv.x-4*(frac(time*3))),2)); +comp_43=`ret += pol*float3 (0,0,.7); +comp_44=` +comp_45=`} diff --git a/presets/presets_tryptonaut/martin - elusive impressions mix2 - flacc mess proph nz+2.milk b/presets/presets_tryptonaut/martin - elusive impressions mix2 - flacc mess proph nz+2.milk new file mode 100755 index 0000000000..8a00b82d75 --- /dev/null +++ b/presets/presets_tryptonaut/martin - elusive impressions mix2 - flacc mess proph nz+2.milk @@ -0,0 +1,565 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=0.952 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.107 +fWaveSmoothing=0.000 +fWaveParam=-0.220 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.600 +wave_g=0.500 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.80000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.040 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample*.5+.25); +wave_0_per_point11=y = sample*.5+.25; +wave_0_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_0_per_point13=x = 1 - mod*.5; +wave_0_per_point14= +wave_0_per_point15=osa = sample; +wave_0_per_point16= +wave_0_per_point17=mo = 3.7 + mod*6 + q1; +wave_0_per_point18= +wave_0_per_point19=r = .5 + sin(q23*.9 +mo)*.5; +wave_0_per_point20=g = .5 + sin(q23*.89+mo + 1.5472)*.5; +wave_0_per_point21=b = .5 + sin(q23*.88+mo + 2.8944)*.5; +wave_0_per_point22= +wave_0_per_point23=//a = 3 - abs(mod)*12; +wave_0_per_point24=//a = 3-sw; +wave_0_per_point25=//a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.80000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.040 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample*.5+.25); +wave_1_per_point11=y = sample*.5+.25; +wave_1_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_1_per_point13=x = 0+ mod*.5; +wave_1_per_point14= +wave_1_per_point15=osa = sample; +wave_1_per_point16= +wave_1_per_point17=mo = 3.7 + mod*6 + q1; +wave_1_per_point18= +wave_1_per_point19=r = .5 + sin(q23*.95+mo)*.5; +wave_1_per_point20=g = .5 + sin(q23*.96+mo + 1.5472)*.5; +wave_1_per_point21=b = .5 + sin(q23*.97+mo + 2.8944)*.5; +wave_1_per_point22= +wave_1_per_point23=//a = 3 - abs(mod)*12; +wave_1_per_point24=//a = 3-sw; +wave_1_per_point25=//a = max(0,min(a,1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=5 +shapecode_0_x=0.730 +shapecode_0_y=0.500 +shapecode_0_rad=0.29466 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=2.79176 +shapecode_0_r=0.700 +shapecode_0_g=0.700 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trig = q25; +shape_0_per_frame2=a = trig*min(bass+treb,1); a2 = trig*0; +shape_0_per_frame3=//a = min(bass+treb-1,1); +shape_0_per_frame4=x0 = x0 *bnot(trig) + trig*int(rand(100))/100; +shape_0_per_frame5=y0 = y0 *bnot(trig) + trig*int(rand(100))/100; +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=k1 = instance/num_inst*6.28; +shape_0_per_frame9=ampl = .1*q22+.1; +shape_0_per_frame10= +shape_0_per_frame11= +shape_0_per_frame12=x0 = .5 +q15*ampl *cos(k1+q17); y0 = .5+ q16*ampl*sin(k1+q17); +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=tex_ang = int(rand(20))/3; +shape_0_per_frame16=//tex_ang = time; +shape_0_per_frame17=rad = .1 + int(rand(8))/12; +shape_0_per_frame18= +shape_0_per_frame19=x = x0; y = y0; +shape_0_per_frame20=r = .7+.3*sin(time/12); +shape_0_per_frame21=b = .7+.3*sin(time/15); +shape_0_per_frame22=g = .7+.3*sin(time/8); +shape_0_per_frame23=r2 = r; b2 = b; g2 = g; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=37 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03640 +shapecode_1_ang=0.81681 +shapecode_1_tex_ang=0.37699 +shapecode_1_tex_zoom=1.02841 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.050 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=k1 = instance/num_inst*6.28; +shape_1_per_frame2=tmp = q17/32+time*.1; +shape_1_per_frame3=trel = tmp-int(tmp); +shape_1_per_frame4= +shape_1_per_frame5=yes = above(sin(time/9.5),0); +shape_1_per_frame6= +shape_1_per_frame7=bright = 6*q2*q2*yes+.1*min(q8,1); +shape_1_per_frame8=border_a = bright; +shape_1_per_frame9= +shape_1_per_frame10=tmp = 2*sin(time/12)-1; +shape_1_per_frame11=a = .5*yes*pow(2,-18*abs(k1-6.28*trel)) * above(tmp,0)*tmp*tmp; +shape_1_per_frame12=ampl = .1; +shape_1_per_frame13=rad = .02+.0*sin(k1*4+time); +shape_1_per_frame14=x = .5 +q15*ampl *cos(k1+q17); y = .5+ q16*ampl*sin(k1+q17); +shape_1_per_frame15= +shape_1_per_frame16=r0 = sin(time/7); +shape_1_per_frame17=g0 = sin(time/5); +shape_1_per_frame18=b0 = sin(time/9); +shape_1_per_frame19= +shape_1_per_frame20=border_r = .8 + .2*r0; +shape_1_per_frame21=border_g = .8 + .2*g0; +shape_1_per_frame22=border_b = .8 + .2*b0; +shape_1_per_frame23= +shape_1_per_frame24= +shape_1_per_frame25=//r = .5*r0; g = .5*g0; b = 0.5*b0; ; +shape_1_per_frame26= +shape_1_per_frame27=//r2 = 0; g2 = 0; b2 = 0; +shape_1_per_frame28= +shape_1_per_frame29=a2 = 0; +shape_1_per_frame30= +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.500 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.500 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q1)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5= +shape_2_per_frame6=x = (sin(q23)+1.57)*.3 + int(rand(15))*0.004*(bass_att+treb_att+mid_att)*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame7=y = (cos(q23)+1.57)*.3 + int(rand(15))*0.004*(bass_att+treb_att+mid_att)*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame8=rad = .09 + int(rand(int(q1)))/15+instance-instance; +shape_2_per_frame9=r=int(rand(q1))*.1+instance-instance; +shape_2_per_frame10=g=int(rand(q1))*.1+instance-instance; +shape_2_per_frame11=b=int(rand(q1))*.1+instance-instance; +shape_2_per_frame12=r2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame13=g2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame14=b2=int(rand(q1))*.1+instance-instance; +shape_2_per_frame15=border_r=int(rand(q1))*.1+instance-instance; +shape_2_per_frame16=border_g=int(rand(q1))*.1+instance-instance; +shape_2_per_frame17=border_b=int(rand(q1))*.1+instance-instance; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=311 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_3_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0002*cos(ma)); +shape_3_per_frame5=my=my+(.0002*tan(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=1-mx; +shape_3_per_frame13=y=1-my; +shape_3_per_frame14= +shape_3_per_frame15=ang=(sin(time*.35)+1)*3; +shape_3_per_frame16=//a=(above(bass+mid+treb,.8)); +shape_3_per_frame17=pi23=4*asin(1)*.333333333; +shape_3_per_frame18=t1=bass+mid+treb; +per_frame_init_1=avg = 1; +per_frame_init_2=index = int(rand(8)); +per_frame_init_3=index2 = int(rand(8)); +per_frame_init_4=ran = 1; +per_frame_init_5=spb_=.3; +per_frame_init_6=sdev = .1; +per_frame_init_7=trel2 = rand (100)/100; +per_frame_1=vol=bass+treb+mid; +per_frame_2=q1=max(1,min(5.5,vol*1.15)); +per_frame_3=atime=atime+vol; +per_frame_4=q23=atime*.02; +per_frame_5=dec_med = pow (0.9, 30/fps); dec_slow = pow (0.98, 30/fps); +per_frame_6=beat = bass+mid+treb; +per_frame_7=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_8=is_beat = above(beat, .2+avg+peak) * above (time, t0+.1); +per_frame_9=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_10=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_11=index = (index + is_beat) %16; +per_frame_12=index2 = (index2 + is_beat*bnot(index))%12; +per_frame_13= +per_frame_14=spb = min(t0-t0a + .01,2); t0a = t0; +per_frame_15=spb_ = if(is_beat,spb_ *.9 +.1*spb, spb_); +per_frame_16=mindev = min(min(abs(spb-spb_),abs(spb*2-spb_)),abs(spb-spb_*2)); +per_frame_17=sdev = if(is_beat,sdev * .9 + .1*pow(mindev+.02,2),sdev); +per_frame_18= +per_frame_19=q20 = avg; q21 = beat; +per_frame_20=q22 = peak+.1; +per_frame_21=q24 = is_beat; +per_frame_22=q27 = index; q28 = index2; +per_frame_23= +per_frame_24=trel = trel + 1/fps/spb_*4; itrel = int(trel); +per_frame_25=q25 = above(itrel, itrel_); +per_frame_26=q30 = itrel%2; +per_frame_27=itrel_ = itrel; +per_frame_28=q31 = itrel; +per_frame_29= +per_frame_30=ma = ma + peak/fps ; +per_frame_31=mx=mx*dec_med+(1-dec_med)*cos(ma); +per_frame_32=my=my*dec_med+(1-dec_med)*sin(ma+trel/16); +per_frame_33=q15 = mx ; q16 = my ; q17 = ma; +per_frame_34= +per_frame_35=//first par: off; second: on +per_frame_36=sw1 = if(sw1,bnot(q24*bnot(int(rand(20)))),q24*bnot(int(rand(20)))); +per_frame_37=sw2 = if(sw2,bnot(q24*bnot(int(rand(10)))),q24*bnot(int(rand(80)))); +per_frame_38=sw3 = if(sw3,bnot(q24*bnot(int(rand(10)))),q24*bnot(int(rand(100+10000*sdev)))); +per_frame_39= +per_frame_40=//********* variation parameters warp shader +per_frame_41=q6 = sin(time/15)*sin(time/27)*.2; //zz weighting +per_frame_42=q10 = sin(time/8); //ring +per_frame_43=q10 = q10*q10*.1; +per_frame_44=q11 = 1.5+sin(time/7.8); //zoom uv2 +per_frame_45=q12 = if(below(sdev,.015)*bnot(q8),q25,1); //go +per_frame_46=q13 = .5+sin(time/17); //pow noise warp s +per_frame_47=q19 = sin(time/5.3)*.2; //sunpos +per_frame_48= +per_frame_49=//********* variation parameters comp shader +per_frame_50=q3 = sw1;//mirror +per_frame_51=q4 = .02/sdev; //unused ### +per_frame_52=q5 = max(min(4*sin(trel/64)-3,1),0)*.4; //water +per_frame_53=q7 = below(sdev,.004)*(index2%2); //flash +per_frame_54=q2 = abs(q19)*sqrt(q15*q15+q16*q16); //avoid black - frame eq2 +per_frame_55= +per_frame_56=trel2 = trel2+.003*q22*q22/fps; +per_frame_57=tmp = sin(trel2); +per_frame_58=tmp = 20*tmp-19; +per_frame_59=q8 = tmp*above(tmp,0)*(4/max(q22-4,0.2)+4); // dyn zoom +per_frame_60=q26 = above(q22,12)*(q22-12)*2; //# ok??? +per_frame_61= +per_frame_62=tmp = index2/6; +per_frame_63=q14 = abs((tmp-int(tmp))-.5)*6+1; //ang multi +per_frame_64= +per_frame_65=tmp =sin(trel/4*3.14); //sym rot +per_frame_66=jmp = jmp + above(tmp,.5)*tmp/fps*8*sw2; +per_frame_67=q9 = jmp*equal(q14,1)*below(sdev,0.04)+time*above(sin(q17/23),.9); +per_frame_68=q18 = tmp * bnot(q8) * sw3; //waber +per_frame_69= +per_frame_70=monitor = sw1; +per_frame_71=rot = .003; +per_frame_72=warp = .0; +per_frame_73=zoom = 1+(avg-log(sdev))/200; +per_frame_74=//dx = tmp*.01*above(abs(tmp),.95); +per_frame_75=q32=aspecty;monitor=vol; +per_frame_76=chng=sin(time*.5); +per_frame_77=cthr=.99; +per_frame_78=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_79=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_80=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_81=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_82=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_83=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_84=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_85=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_86=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_87=mq30=if(above(chng,cthr),rand(1)*.3,mq30); +per_frame_88=monitor=chng; +per_frame_89=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_90=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_91= +per_frame_92=monitor=mq1; +warp_1=`float3 dx,dy,ret1; +warp_2=`float2 zz,uv1,uv2; +warp_3=`float n1,n2,n3,n4,zv, noise, k1; +warp_4=`static float2 sunpos = float2 (q15,q16)*q19 ;//##! +warp_5=`static float3 suncol = .5+normalize(roam_cos); +warp_6=`static float2x2 ofs = float2x2 (texsize.z,0,0,texsize.w)*2; +warp_7=` +warp_8=`float3 cloud (float2 uv_in) { +warp_9=`return saturate(+.0005/abs(length(uv_in-sunpos)-q10/q22))*suncol;} +warp_10=` +warp_11=`shader_body { +warp_12=`uv1 = (uv-.5);//*aspect.xy; +warp_13=` +warp_14=`dx = tex2D(sampler_main,uv+ofs[0]) - tex2D(sampler_main,uv-ofs[0]); +warp_15=`dy = tex2D(sampler_main,uv+ofs[1]) - tex2D(sampler_main,uv-ofs[1]); +warp_16=`zz = float2(dx.b,dy.b); +warp_17=` +warp_18=`//clouds +warp_19=`zv = time*.1 ; +warp_20=`uv2 = q11*uv1+ 0.04*time; +warp_21=`n1 = tex3D(sampler_noisevol_hq,float3 (uv2.x,uv2.y,zv)).b; +warp_22=`n2 = tex3D(sampler_noisevol_hq,float3 (uv2.x*2,uv2.y*2,zv*2)).b; +warp_23=`n3 = tex3D(sampler_noisevol_hq,float3 (uv2.x*4,uv2.y*4,zv*3)).b; +warp_24=`n4 = tex3D(sampler_noisevol_hq,float3 (uv2.x*8,uv2.y*8,zv*7)).b; +warp_25=`noise = n1 + n2/2 + n3/4 + n4/8 -1; +warp_26=` +warp_27=`noise = pow(noise,q13); +warp_28=`uv2 = uv1*(1+.5*q2)+noise*.1; //q2 hier ? ## +warp_29=` +warp_30=`//******************************* +warp_31=`float blur = GetBlur3(uv1/4+.5)+.2; +warp_32=` +warp_33=`ret1 = cloud(uv2) ; +warp_34=`ret1 = ret1/blur + tex2D (sampler_main, uv1+.5+q6*zz)*.98-.01-blur*.1-.0*length(zz); +warp_35=`float go = q12; +warp_36=`ret = go*ret1 + (1-go)*GetPixel(uv) ; +warp_37=` +warp_38=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_39=` ((uv.xyy*q27 +warp_40=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_41=` ).xyz* +warp_42=` float3(1,1,0)*0.05 + +warp_43=` time*float3(0,0,1)*q29 +warp_44=` ); +warp_45=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y -= (noise9).x*.5; +warp_46=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z -= (noise9).y*.5; +warp_47=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x -= (noise9).z*.5; +warp_48=` +warp_49=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 uv1, uv2,uv4,rsk,dz1,Kugel1; +comp_3=`float ang2, c, s,rad1,mask1,zoom; +comp_4=`static int n = 1; +comp_5=`static int anz = 4; +comp_6=`int m; +comp_7=` +comp_8=`shader_body { +comp_9=` +comp_10=`uv = (uv-.5)*aspect.xy; +comp_11=`//Kugel1 +comp_12=`rsk = uv+.2 ; +comp_13=`dz1 = normalize(rsk); +comp_14=`rad1 = 16*length (rsk) ; +comp_15=`uv4 = tan(rad1)*dz1; +comp_16=`mask1 = saturate(10-7*rad1); +comp_17=`Kugel1 = uv4*mask1; +comp_18=` +comp_19=`float2 rs = float2(.1/rad*q15,ang*.2*q22); +comp_20=`float noise = tex2D (sampler_noise_mq,rs); +comp_21=` +comp_22=` +comp_23=`uv /= 1+ q8*length(uv); //zoom +comp_24=`uv *= 1-q28%2/4; +comp_25=`uv *= 1+q5*noise*rad; +comp_26=`uv *=1; +comp_27=`ret1 = 0; +comp_28=`while (n <= anz) { +comp_29=` m = n%2; +comp_30=` ang2 = 6.28*n/anz*q14 + 0*(n%2-.5)*q9 + q28*3.14/4;//## +comp_31=` c = cos(ang2); +comp_32=` s = sin(ang2); +comp_33=` uv2.x = uv.x*c - uv.y*s; +comp_34=` uv2.y = uv.x*s + uv.y*c ; +comp_35=` uv2 /= 1+ q26*length(uv)*m; //flash zoom +comp_36=` uv2 *= 1+(m-.5)*q18; //waber +comp_37=` if (q3*m == 1) {uv2=uv2.yx;} +comp_38=` neu = tex2D(sampler_main, uv2 + 0.5); //# +comp_39=` ret1 = max(ret1,neu-.0); +comp_40=` n++; +comp_41=`} +comp_42=`ret1 *= ((1-q7)+q7*q25/2); +comp_43=`ret = 1-exp(-ret1*4); +comp_44=`ret = pow(ret,1.5); +comp_45=`ret = lerp(lum(ret),ret,saturate(q20/3)); +comp_46=`//ret = GetPixel(uv+.5);//# +comp_47=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_48=` ((uv.xyy*q28 +comp_49=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_50=` ).xyz* +comp_51=` float3(1,1,0)*0.05 + +comp_52=` time*float3(0,0,1)*q30 +comp_53=` ); +comp_54=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.z -= (noise9).x*.5; +comp_55=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.x -= (noise9).y*.5; +comp_56=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.y -= (noise9).z*.5; +comp_57=`} diff --git a/presets/presets_tryptonaut/martin - first try.milk b/presets/presets_tryptonaut/martin - first try.milk new file mode 100755 index 0000000000..e9ef5b369d --- /dev/null +++ b/presets/presets_tryptonaut/martin - first try.milk @@ -0,0 +1,278 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.998000 +fDecay=0.994000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.330640 +fWaveScale=0.897961 +fWaveSmoothing=0.108000 +fWaveParam=0.100000 +fModWaveAlphaStart=0.720000 +fModWaveAlphaEnd=1.280000 +fWarpAnimSpeed=0.010000 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.098609 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=0.000000 +warp=0.438652 +sx=0.990096 +sy=1.000000 +wave_r=0.000000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.540000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=24.799994 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.160000 +mv_l=1.500000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=352 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.038558 +wavecode_0_smoothing=0.200000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=q1=bass_att; +wave_0_per_point1=r = abs (sin (frame /38)); +wave_0_per_point2=g = 0.5*abs (cos (frame /45)); +wave_0_per_point3=b = 0.5*abs (sin (frame / 133)); +wave_0_per_point4=a = 0.3; +wave_0_per_point5=t02 = t02 + q1/10; +wave_0_per_point6=ratio = sin (frame/49); +wave_0_per_point7= +wave_0_per_point8=ampl = 0.01+0.4*sqr(sin ((frame ) / 18)* cos (frame / 123)); +wave_0_per_point9= +wave_0_per_point10=x1 = (r-0.5)/15 +0.5 + ampl* sin (sample*6.28); +wave_0_per_point11=y1 = (b-0.5)/15+0.5 + ampl* cos (sample*6.28); +wave_0_per_point12= +wave_0_per_point13=x = x1+1*0.2*(ampl+ratio )*sin ( sample*6.28 * ratio*7.3); +wave_0_per_point14=y = y1+1*0.2*(ampl+ratio )*cos ( sample*6.28*6); +wave_0_per_point15= +wavecode_1_enabled=0 +wavecode_1_samples=15 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=2.063781 +wavecode_1_smoothing=0.800000 +wavecode_1_r=0.800000 +wavecode_1_g=0.000000 +wavecode_1_b=0.600000 +wavecode_1_a=0.900000 +wavecode_2_enabled=0 +wavecode_2_samples=112 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.312746 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.179142 +shapecode_0_r=0.820000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=xy=0.5+rand_frame; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=shift = 0; +per_frame_1= +per_frame_2=dec_med = pow (0.9, 30/fps); +per_frame_3=dec_slow = pow (0.995, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) * below (index,4); +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15= +per_frame_16= +per_frame_17=myvol = (bass_att+treb_att+mid_att); +per_frame_18=myvol_s = myvol_s + above (myvol, myvol_s); +per_frame_19=myvol_s = 0.995*myvol_s + 0.005*myvol; +per_frame_20=myvol_s = min (myvol_s,15); +per_frame_21=q1 = (myvol_s + 2*(bass+treb))/1000 * 30/fps; +per_frame_22=dir = dir * 0.99 + .01*(index-1); +per_frame_23=dir = .5*(index-2); +per_frame_24=//q1 = q1 * dir; +per_frame_25= +per_frame_26=q2=myvol_s/3+1; +per_frame_27=rot = 0.3*sin(time/4); +per_frame_28= +per_frame_29= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`ret = tex2D (sampler_main, uv_orig.xy -q1*uv ).xyz; +warp_5=`ret = ret*0.99; +warp_6=`} +warp_7=` +comp_1=`shader_body +comp_2=`{ +comp_3=`float3 crisp = tex2D (sampler_main, uv).xyz; +comp_4=`float3 blurry = GetBlur2(uv); +comp_5=`ret = abs (crisp-blurry)*q2 ; +comp_6=`} diff --git a/presets/presets_tryptonaut/martin - foggy notion.milk b/presets/presets_tryptonaut/martin - foggy notion.milk new file mode 100755 index 0000000000..a2c4efdfa1 --- /dev/null +++ b/presets/presets_tryptonaut/martin - foggy notion.milk @@ -0,0 +1,386 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.527429 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=0.442000 +fWarpScale=0.498000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.490000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.915805 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=cent = sqrt((x-.5)*(x-.5)+(y-.5)*(y-.5)); +shape_0_per_frame10= +shape_0_per_frame11=rad = .1*cent; +shape_0_per_frame12=a = .8; +shapecode_1_enabled=1 +shapecode_1_sides=6 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628319 +shapecode_1_tex_zoom=0.846892 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=trig = q24; +shape_1_per_frame2= +shape_1_per_frame3=textured = 1; +shape_1_per_frame4= +shape_1_per_frame5=x0 = x0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame6=y0 = y0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=x0 = x0 + .03*q1*(3+q26)/fps; +shape_1_per_frame10=y0 = y0 + .03*q2*(3+q26)/fps; +shape_1_per_frame11= +shape_1_per_frame12=x0 = x0 - int(x0); +shape_1_per_frame13=y0 = y0 - int(y0); +shape_1_per_frame14= +shape_1_per_frame15=tex_ang = time; +shape_1_per_frame16=//tex_zoom = q1; +shape_1_per_frame17=ang = 0; +shape_1_per_frame18=x = x0; y = y0; +shape_1_per_frame19=rad0 = rad0*bnot(trig) + trig*rand(100)/200; +shape_1_per_frame20=rad = rad0; +shape_1_per_frame21= +shape_1_per_frame22= +shape_1_per_frame23=r0 = r0*bnot(trig) + trig * rand(10)/10; +shape_1_per_frame24=b0 = b0*bnot(trig) + trig * rand(10)/10; +shape_1_per_frame25=g0 = g0*bnot(trig) + trig * rand(10)/10; +shape_1_per_frame26= +shape_1_per_frame27=border_r = r0; border_g = g0; border_b = b0; +shape_1_per_frame28= +shape_1_per_frame29=r = r0; b = b0; g = g0; +shape_1_per_frame30= +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5 - 0*rand(15)/200; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a = min(q21/2 ,.9); +shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.260000 +shapecode_3_y=0.760000 +shapecode_3_rad=0.394780 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=tex_zoom = q27/2; +per_frame_init_1=dirx = 1; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.1); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10= +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18=ava = ava*dec_slow + q26*(1-dec_slow); +per_frame_19= +per_frame_20=k1 = is_beat*equal(index%4,0); +per_frame_21=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_22=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_23=rott = p2 * 3.1416/4; +per_frame_24=q1 = cos(rott); +per_frame_25=q2 = sin(rott); +per_frame_26= +per_frame_27=q27 = 8-index; +per_frame_28=q28 = index2/6; +per_frame_29=q29 = .1*q27+time*.1; +per_frame_30= +per_frame_31=trig = bnot(index%4)*q24; +per_frame_32=mov = trig*(rand(100)-50) + (1-trig)*mov ; +per_frame_33=movez = movez + .02/fps*mov; +per_frame_34=q30 = movez; +per_frame_35= +per_frame_36= +per_frame_37=trig = q24 * bnot(index); +per_frame_38=kmov = bnot(trig)* (kmov + .1/fps); +per_frame_39=q31 = kmov*82*kmov; +per_frame_40= +per_frame_41=cont = cont + q1*.2/fps*below(index,2); +per_frame_42=q31 = cont; +per_frame_43= +per_frame_44= +per_frame_45= +per_frame_46= +per_frame_47= +per_frame_48=//************************** +per_frame_49= +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus, mus1; +warp_3=`float2 uv6, rs; +warp_4=`float dx,dy; +warp_5=`shader_body { +warp_6=` +warp_7=`float2 uv1 = (uv-.5); +warp_8=` +warp_9=`float3 noise = GetPixel ((frac(uv*2))); +warp_10=` +warp_11=` +warp_12=`uv6 = uv* float2(rad,rad) *(q28+noise+0*rs); +warp_13=`mus = saturate(.02/(sqrt(uv6.y-.2))); +warp_14=`float3 crisp= tex2D(sampler_main,uv); +warp_15=` +warp_16=`ret = .3*mus + crisp*1; +warp_17=`ret = ret*.98 -.02; +warp_18=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 rs,rs2,uv1,rsk,Kugel1,dz1,uv4; +comp_3=`float rad1, mask1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`float ang2, c, s; +comp_8=`uv -= 0.5 ; +comp_9=`uv *= aspect.xy; +comp_10=` +comp_11=` +comp_12=`float dist = 1; +comp_13=`float inten = 1; +comp_14=`ret1 = 0; +comp_15=`int anz = 2; +comp_16=`float n = 0; +comp_17=`while (n <= anz) { +comp_18=` uv2 = abs(frac(uv+.5)-.5) ; +comp_19=` dist = 1-frac(1.0/anz*n+q30); //evtl sqrt ! +comp_20=` inten = sqrt(dist)*(1-dist)*4; +comp_21=` float2 uv3 = frac(3*uv2*dist+q29+q31); +comp_22=` neu = 1*GetPixel(uv3) +GetBlur3(uv3*1.1)*0; +comp_23=` neu *= (neu >= 0); +comp_24=` ret1 = max(ret1,neu*inten); +comp_25=`n++; +comp_26=`} +comp_27=` +comp_28=` +comp_29=`rs2 = .3*cos(uv*16+0*time) - (ret1); +comp_30=`float dots = saturate(.05/length(rs2))*(1+q22/4) ; +comp_31=` +comp_32=`ret = -0.1*ret1 + 2*dots*(.4+4*ret1)*(1+roam_cos)/2 ; +comp_33=`} diff --git a/presets/presets_tryptonaut/martin - fresco flash - cainlien.milk b/presets/presets_tryptonaut/martin - fresco flash - cainlien.milk new file mode 100755 index 0000000000..f78b04e923 --- /dev/null +++ b/presets/presets_tryptonaut/martin - fresco flash - cainlien.milk @@ -0,0 +1,667 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.136 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = time - int (time); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample*3; +wave_0_per_point3=t_rel = sample-time/5; +wave_0_per_point4= +wave_0_per_point5=ampl = 2*t_abs/2 ; +wave_0_per_point6= +wave_0_per_point7=k1=sin(time/13); +wave_0_per_point8=k2=sin(time/12); +wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); +wave_0_per_point11=oz = -1 ; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r = sqr(sin(t_rel*3.4)); +wave_0_per_point15=g = sqr(sin(t_rel)); +wave_0_per_point16=b = sqr (cos(t_rel*1.8)); +wave_0_per_point17= +wave_0_per_point18=a=0.1*(sin(t_abs*3)) +wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); +wave_0_per_point20= +wave_0_per_point21=xang = time/9.5; +wave_0_per_point22=yang = 0*time/7; +wave_0_per_point23=zang = -time/22; +wave_0_per_point24=fov = 0.5; +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=// Rotation um x,y,z +wave_0_per_point28= +wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point31= +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point36=ox = mx; +wave_0_per_point37=oz = mz; +wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point40=oy = my; +wave_0_per_point41=oz = mz; +wave_0_per_point42= +wave_0_per_point43=oz = oz - 6; +wave_0_per_point44=x = ox*fov/oz +0.5; +wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point46=y = oy*fov/oz + 0.5; +wave_0_per_point47= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); +wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); +wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); +wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); +wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); +wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); +wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.19790 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=sides=int(rand(100)); +shape_0_per_frame49=ang=int(rand(628))/100; +shape_0_per_frame50=a=int(rand(1000))/1000; +shape_0_per_frame51=rad=int(rand(1000))/4000; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_init_1=movx = int(rand(10)); +per_frame_init_2=movy = int(rand(10)); +per_frame_init_3=sw3 = 0; +per_frame_init_4=sw4 = -.7; +per_frame_init_5=speed = .1; +per_frame_init_6=zang_ = int(rand(2)); +per_frame_1=dec_m = pow (0.85, 30/fps); dec_s = pow (0.95, 30/fps); +per_frame_2= +per_frame_3=beat = bass+mid+treb; +per_frame_4=avg = avg*dec_s + beat*(1-dec_s); +per_frame_5=is_beat = above(beat, .4+avg+peak) * above (time, t0+.2); +per_frame_6=t0a = if(bnot(is_beat),t0a,t0); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_m; +per_frame_9=index = (index + is_beat) %32; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q22 = peak; +per_frame_14=q24 = is_beat; +per_frame_15=q27 = index +1; +per_frame_16=q28 = index2; +per_frame_17=ZDist = .25 + .5*pow(sin(zang_/2),2) ; //zoom ; +per_frame_18=q29 = .08/ZDist ; +per_frame_19=q31 = ZDist; +per_frame_20=trig = q24 * bnot(index%8); +per_frame_21=sw0 = if (bnot(trig),sw0,1-above(int(rand(100)),90)); +per_frame_22= +per_frame_23= +per_frame_24=trig = q24 * bnot(index%4); +per_frame_25=sw1 = if (bnot(trig), sw1, int(rand(5)-2)*3.1416/2); +per_frame_26=sw2 = if (bnot(trig), sw2, int(rand(8))-4); +per_frame_27= +per_frame_28=trig = q24 * above (abs(beat-avg), 2) * bnot(index%4); +per_frame_29=//speed = .2 * sw2 * ZDist * pow(xang,2) + .1; +per_frame_30=fps_ = fps_ * dec_s + (1-dec_s) * min(fps/30,2); +per_frame_31=speed = (.4 + (index2%2)*.3)*ZDist; +per_frame_32=dir = dir + min(max(sw1-dir,-.5),.5)/fps*16; +per_frame_33=monitor = speed; +per_frame_34= +per_frame_35=movx = movx + cos(dir)/fps*speed ; +per_frame_36=movy = movy + sin(dir)/fps*speed ; +per_frame_37=q5 = movx; q6 = movy;; +per_frame_38= +per_frame_39=trig = q24 * bnot((index+8)%20); +per_frame_40=sw4 = if (bnot(trig), sw4, sin(int(rand(100)))*.7); +per_frame_41=xang = xang + min(max(sw4-xang,-.2),.2)/fps*4; +per_frame_42= +per_frame_43=trig = q24 * bnot(index%12); +per_frame_44=sw3 = if (bnot(trig), sw3, sw3+int(rand(4)-2)*3.1416/2); +per_frame_45=pulse = q27 * bnot((2+index2)%4)*3.1416/2*0; +per_frame_46=zang_ = zang_ + max(min(sw3-zang_,.1),-.1)/fps*16; +per_frame_47=//pulse = q27*1.57*bnot(index2%3); +per_frame_48=zang = zang_ + cos((movx-movy)/3)*2; +per_frame_49=yang = (.8-abs(xang))*sin(movy+movx); +per_frame_50= +per_frame_51=ox = -0; oy = .0; oz = ZDist; +per_frame_52=mx = ox*cos(zang) - oy*sin(zang); +per_frame_53=my = ox*sin(zang) + oy*cos(zang); +per_frame_54=ox = mx;oy = my; +per_frame_55=mx = ox*cos(yang) + oz*sin(yang); +per_frame_56=mz = - ox*sin(yang) + oz*cos(yang); +per_frame_57=ox = mx;oz = mz; +per_frame_58=my = oy*cos(xang) - oz*sin(xang); +per_frame_59=mz = oy*sin(xang) + oz*cos(xang); +per_frame_60=oy = my;oz = mz; +per_frame_61=q11=ox; q12 = oy; q13 = oz; //Position +per_frame_62= +per_frame_63=//Vektor x nach rechts +per_frame_64=ox = 1; oy = 0; oz = 0; +per_frame_65=mx = ox*cos(zang) - oy*sin(zang); +per_frame_66=my = ox*sin(zang) + oy*cos(zang); +per_frame_67=ox = mx;oy = my; +per_frame_68=mx = ox*cos(yang) + oz*sin(yang); +per_frame_69=mz = - ox*sin(yang) + oz*cos(yang); +per_frame_70=ox = mx;oz = mz; +per_frame_71=my = oy*cos(xang) - oz*sin(xang); +per_frame_72=mz = oy*sin(xang) + oz*cos(xang); +per_frame_73=oy = my;oz = mz; +per_frame_74=q14=ox; q15 = oy; q16 = oz; +per_frame_75= +per_frame_76= +per_frame_77=//Vektor z nach hinten +per_frame_78=ox = 0; oy = 0; oz = 1;; +per_frame_79= +per_frame_80=mx = ox*cos(zang) - oy*sin(zang); +per_frame_81=my = ox*sin(zang) + oy*cos(zang); +per_frame_82=ox = mx;oy = my; +per_frame_83=mx = ox*cos(yang) + oz*sin(yang); +per_frame_84=mz = - ox*sin(yang) + oz*cos(yang); +per_frame_85=ox = mx;oz = mz; +per_frame_86=my = oy*cos(xang) - oz*sin(xang); +per_frame_87=mz = oy*sin(xang) + oz*cos(xang); +per_frame_88=oy = my; +per_frame_89=oz = mz; +per_frame_90=q17=ox; q18 = oy; q19 = oz; +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=`shader_body { +warp_4=` +warp_5=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_6=` +warp_7=`float2 uv6 = uv1; +warp_8=`float z = 12*(1+rand_preset)*length((abs(uv1.x)-abs(uv1.y))); +warp_9=`float2 d = normalize(uv1); +warp_10=`float2 rs = clamp(tan(z)*d,-4,4); +warp_11=`uv1 -= rs/40; +warp_12=` +warp_13=`uv6 = .4*cos(uv1*8); +warp_14=`mus = .002/(length(uv6.y+uv6.x)); +warp_15=`mus *= (1+roam_cos); +warp_16=` +warp_17=`float3 crisp= tex2D(sampler_main,uv1*(1-q28/12+.4*z)+.5); +warp_18=` +warp_19=`float3 ret1 = crisp + mus; +warp_20=` +warp_21=`ret = (ret1*.99-.025); +warp_22=` +warp_23=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=`static const float quality = 4, depth = .25; +comp_3=`float3 front, neu, rsl, rsl2, ret1, screen3, back; +comp_4=`float2 dz, uv0, uv1, uv2, uv4; +comp_5=`float lprof,lprof2,m,n,noise,sun,cloud,sky,mask, shadow, mask1, gmask,mask2; +comp_6=`float dist; +comp_7=`static float lav_gnd = 0; +comp_8=`static const float anz = 2; +comp_9=`static float2 mov = float2 (q5,q6); +comp_10=` +comp_11=`static float3 t = float3(q14,q15,q16); +comp_12=`static float3 s = float3(q17,q18,q19); +comp_13=`static float3 ts = -cross(s,t); +comp_14=`static float3 pos = float3 (q11,q12,q13); +comp_15=` +comp_16=`float3 project (float dist) { float z; +comp_17=` z = dist/mul(cross(ts,-t),screen3) *(1-lav_gnd); +comp_18=` gmask = (z >= -12) * (z <= 0); +comp_19=` return gmask * float3(mul(float2x3(ts,t),cross(pos,screen3))*z/1,-z);} +comp_20=` +comp_21=`shader_body {uv0 = uv; +comp_22=`screen3 = float3 ((uv-.5)*aspect.xy, 1-rad/4); +comp_23=` +comp_24=`rsl = project (.5); +comp_25=`lprof2 = 0; +comp_26=`ret1 = float3 (.1,.15,.2); +comp_27=`mask2 = 0; +comp_28=`for (n=anz; n >= 1; n--) { +comp_29=`// if (q28%3 == 0) {mov = -mov/2 ;} +comp_30=` dist = n-.5+q31; lav_gnd = 0; +comp_31=` for (m=1; m <= quality; m++) { +comp_32=` rsl = project (dist)+float3 (mov,0) + n/2; +comp_33=` lprof = .5-lum(GetBlur1(frac(rsl.xy))); //mittelwert null !# +comp_34=` lav_gnd -= lprof/quality*depth/rsl.z; +comp_35=` } +comp_36=` +comp_37=` rsl = project (dist)+float3 (mov,0) +n/2; +comp_38=` rsl2 = project (dist)+float3 (mov*.9,0); +comp_39=` shadow = saturate(4*GetBlur1(frac(rsl2.xy)));// * !(n == 1); +comp_40=` neu = GetPixel(frac(rsl.xy)); +comp_41=` mask = saturate(8*neu); +comp_42=` neu *= 1-.7*lum(tex2D (sampler_noise_lq,rsl.xy*4)); +comp_43=` neu *= (1-shadow*rand_preset.z/2) ; +comp_44=`// neu *= saturate(3-abs(rsl.z)) ; // Abdunkelung hinten +comp_45=`// neu = lerp(0, neu, saturate(15-rsl.z/4)); // Nebel +comp_46=` ret1 = lerp(ret1,neu,mask) ; +comp_47=` lprof2 = lerp(lprof2,lprof,mask); +comp_48=` mask2 = lerp(mask2,mask,mask); +comp_49=`} +comp_50=` +comp_51=`rsl = project (dist)+float3 (mov+lprof2/4,0); +comp_52=`float2 noise = tex2D (sampler_noise_hq,rsl+time*.1).xy; +comp_53=`float3 sun = ret1/length(sin(rsl.xy*16+noise)); +comp_54=`ret1 += sun* (1+0*q22)*float3(.3,.6,1); +comp_55=` +comp_56=`ret = 1-exp(.1-ret1) ; +comp_57=`} +comp_58=` +comp_59=`//written by martin +comp_60=`//END diff --git a/presets/presets_tryptonaut/martin - gate to moria.milk b/presets/presets_tryptonaut/martin - gate to moria.milk new file mode 100755 index 0000000000..20e26e424b --- /dev/null +++ b/presets/presets_tryptonaut/martin - gate to moria.milk @@ -0,0 +1,370 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=20.944651 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.300000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=100 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.045052 +wavecode_0_smoothing=0.100000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = .45 + rand(10)/100; +wave_0_per_point1=k1 = bnot((sample*100+time)%2); +wave_0_per_point2= +wave_0_per_point3=dy = .015*above(sin(sample*11),0) +wave_0_per_point4= +.008*above(sin(time+sample*74),0) +wave_0_per_point5= +.008*above(sin(time+sample*128),0); +wave_0_per_point6= +wave_0_per_point7=dx = .01*above(sin(sample*27),0) + +wave_0_per_point8= +.01*above(sin(time+sample*134),0); +wave_0_per_point9= +wave_0_per_point10=x = .2*(sample-.5) + .5 + dx; +wave_0_per_point11=y = t2 + dy; +wave_0_per_point12= +wave_0_per_point13=a = q24 * k1 * bnot(q27%4); +wave_0_per_point14= +wave_0_per_point15=r = .6; g = 0; b = .6; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.020000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.470000 +shapecode_0_rad=0.240570 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.140570 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.300000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=x = .5; y = .5; +shape_0_per_frame3=a = q24; +shape_0_per_frame4=a2 = q24; +shape_0_per_frame5=//a = 1; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.051340 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.122880 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.010000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1= +shape_2_per_frame2=dy = .1 * sin(time*14);; +shape_2_per_frame3=dx = q1*dy; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + dx; +shape_2_per_frame6=y = .5 + dy; +shape_2_per_frame7= +shape_2_per_frame8=a = q25; a2 = q25; +shape_2_per_frame9=rad = q21/110; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=hld = hld * dec_med + q24; +per_frame_22=q25 = min(hld,1); +per_frame_23=monitor = q25; +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_28=rott = p2 * 3.14159265359/2; +per_frame_29= +per_frame_30=q27 = index; +per_frame_31=q28 = index2; +per_frame_32= +per_frame_33=q1 = cos(rott); +per_frame_34=q2 = sin(rott); +per_frame_35=q3 = -q2; +per_frame_36=q4 = q1; +per_frame_37= +per_frame_38=rota = rota * dec_med + q1 * bnot(index2) * (1-dec_med); +per_frame_39=q5 = .2*rota; +per_frame_40= +per_pixel_1=rot = q5*(sin(q22*4*(1-rad))); +per_pixel_2=zoom = 1.08 ; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=` +warp_3=`shader_body { +warp_4=` +warp_5=`float3 ist = GetBlur1(uv*(1+.01*q1)); +warp_6=` +warp_7=`float3 crisp = tex2D(sampler_main,(uv)); +warp_8=`crisp += .03+.0*pow(rad,2); +warp_9=` +warp_10=`float3 noise = tex2D (sampler_pw_noise_lq,uv/2)-.5; +warp_11=`noise *= (noise >= .4); +warp_12=`//crisp += noise*q24; +warp_13=` +warp_14=`float3 ret1 = crisp; +warp_15=` +warp_16=`ret1 = 1*lum(ret1)+.0*ret1; +warp_17=` +warp_18=` +warp_19=`ret = .99*ret1 -.02 - .02/(rad+.002*q27)*ist; +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/martin - girlie affairs.milk b/presets/presets_tryptonaut/martin - girlie affairs.milk new file mode 100755 index 0000000000..193a2fe633 --- /dev/null +++ b/presets/presets_tryptonaut/martin - girlie affairs.milk @@ -0,0 +1,484 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.952379 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.005428 +fWaveScale=3.782626 +fWaveSmoothing=0.810000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.450000 +wave_g=0.400000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.200000 +mv_r=0.600000 +mv_g=0.200000 +mv_b=0.699900 +mv_a=0.700000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=102 +wavecode_0_sep=10 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.500000 +wavecode_0_b=0.500000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k0 = int(100.0*sample); +wave_0_per_point2=k2 = int(100.0*sample+1); +wave_0_per_point3=k1 = equal(k0%2,0); +wave_0_per_point4=k2 = equal(k0%2,1); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=ix = (100*value1)%7-3; +wave_0_per_point8=iy = (100*value2)%7-3; +wave_0_per_point9= +wave_0_per_point10=sp = bass_att + treb_att; +wave_0_per_point11=sp = sp /1000; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=dx = (dx+sp*ix) * .99; +wave_0_per_point15=dy = (dy+sp*iy) * .99 ; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=ox = k1*dx + (1-k1)*ox; +wave_0_per_point19=oy = k2*dy + (1-k2)*oy; +wave_0_per_point20= +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=//ox = 0; oy = 0; +wave_0_per_point24= +wave_0_per_point25=x = ox+.5; +wave_0_per_point26=y = oy+.5; +wave_0_per_point27= +wave_0_per_point28=r = .6; +wave_0_per_point29=g = .8; +wave_0_per_point30=b = .9; +wave_0_per_point31=a = .1 + q26/8; +wave_0_per_point32=a = max(a,1) / 4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.530000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.088200 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.492800 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.700000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.400000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.800000 +shapecode_0_a2=0.600000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.200000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=trig = q24; +shape_0_per_frame2= +shape_0_per_frame3=seed = sqr(time - int(time)); +shape_0_per_frame4=rr1 = rr1 * (1-trig) + seed*trig; +shape_0_per_frame5= +shape_0_per_frame6=textured = 1-q24; +shape_0_per_frame7= +shape_0_per_frame8=x = .5 + .2*rr1*(q28%3); y = x + .002; +shape_0_per_frame9=border_a = 1; +shape_0_per_frame10= +shape_0_per_frame11=border_r = (sin(time)+1)/2; +shape_0_per_frame12=border_g = (sin(time/3)+1)/2; +shape_0_per_frame13=border_b = (sin(time/5)+1)/2; +shape_0_per_frame14= +shape_0_per_frame15= +shape_0_per_frame16=a = .9; a2 = .5; +shape_0_per_frame17=rad = 0.2* rr1+.0;//MUSS HIER STEHEN - MIST +shape_0_per_frame18=tex_zoom = .8/rad; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.159625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.028461 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.030000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = rand(10)/10; +shape_1_per_frame2=y = rand(10)/10; +shape_1_per_frame3= +shape_1_per_frame4=r = rand(4)/3; +shape_1_per_frame5=g = rand(4)/3; +shape_1_per_frame6=b = rand(4)/3; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=is_beat = above(time, t0+.03); +shape_1_per_frame10=t0 = is_beat*time + (1-is_beat)*t0; +shape_1_per_frame11= +shape_1_per_frame12= +shape_1_per_frame13=a = min(q21/2 ,.9) * is_beat; +shape_1_per_frame14=rad = a*a/3 ; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.553000 +shapecode_2_y=0.600000 +shapecode_2_rad=0.049138 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=textured = bnot(q24); +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.450000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.202682 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=4.461715 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.580000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.400000 +per_frame_1=dec_med = pow (0.6, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = (bass_att + mid_att + treb_att)/3+1; +per_frame_19= +per_frame_20=movez = movez + .1*(1+.3*q26)*30/fps; +per_frame_21=q30 = movez; +per_frame_22= +per_frame_23=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_28=p3 = dec_slow * p3+ (1-dec_slow)*p2; +per_frame_29=rott = p3*3.1416/4; +per_frame_30= +per_frame_31= +per_frame_32=q27 = 8-index; +per_frame_33=q28 = index2+1; +per_frame_34= +per_frame_35= +per_frame_36=q1 = cos(rott); +per_frame_37=q2 = sin(rott); +per_frame_38=q3 = -q2; +per_frame_39=q4 = q1; +per_frame_40= +per_frame_41=mox = mox + .03*30/fps; +per_frame_42=moy = moy + .04*30/fps; +per_frame_43=q5 = mox; +per_frame_44=q6 = moy; +per_frame_45= +per_frame_46= +per_frame_47=mv_l = q24/2+.1; +per_frame_48=dx = .0*q1; +per_frame_49= +per_pixel_1=dx = .002*q28; +per_pixel_2=rot = .01*q2; +per_pixel_3=zoom = 1.03; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=`float3 ret1 = GetBlur1(uv) ; +warp_6=` +warp_7=`float2 zz = uv.xy * texsize.xy *.01*q28; +warp_8=`float h1 = (cos(zz.y) * sin(-zz.y)); +warp_9=`float h2 = (sin(zz.x) * cos(zz.y)); +warp_10=` +warp_11=`uv.xy += float2(h1,h2)*texsize.zw * 18*q1; +warp_12=` +warp_13=`float3 crisp = tex2D(sampler_main,uv) ; +warp_14=` +warp_15=`//crisp = lerp (crisp, crisp.zxy, 0.1*lum(crisp)); +warp_16=` +warp_17=` ret = crisp*.994 -.006; +warp_18=`} +comp_1=`float3 neu; +comp_2=`float2 rs2; +comp_3=`shader_body +comp_4=`{ +comp_5=` float2 uv2, uv3, dz; +comp_6=` float ang2, c, s; +comp_7=` +comp_8=` uv -= 0.5; +comp_9=` uv *= aspect.xy; +comp_10=` +comp_11=`float3 ret1 = 0; +comp_12=`int anz = 6; +comp_13=`int n = 0; +comp_14=`while (n <= anz) { +comp_15=` ang2 = 6.28*n/anz; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv2.x = uv.x*c - uv.y*s; +comp_19=` uv2.y = uv.x*s + uv.y*c; +comp_20=` uv2 *= aspect.yx; +comp_21=` uv2 += .5; +comp_22=` uv2 = frac(uv2); +comp_23=` neu = GetPixel(uv2) + GetBlur1(uv2); +comp_24=` ret1 = max(ret1,neu); +comp_25=`n++; +comp_26=`} +comp_27=` +comp_28=` +comp_29=`rs2 = sin(uv*18+float2 (q5,q6)) +comp_30=` + 4*lum(ret1);; +comp_31=`float dots = saturate(.04/length(rs2))-.0; +comp_32=` +comp_33=`ret = q22*ret1 + 24*dots*(.2+q1*ret1/2); +comp_34=`} +comp_35=` +comp_36=` diff --git a/presets/presets_tryptonaut/martin - golden mirror.milk b/presets/presets_tryptonaut/martin - golden mirror.milk new file mode 100755 index 0000000000..4902583f3d --- /dev/null +++ b/presets/presets_tryptonaut/martin - golden mirror.milk @@ -0,0 +1,391 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.169162 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.020000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=53 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.024396 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.200000 +shapecode_0_g=0.700000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=a = q22; a2 = a; +shape_0_per_frame2= +shape_0_per_frame3= +shape_0_per_frame4=r0 = bnot(q24)*r0 + q24 * rand(10)/10; +shape_0_per_frame5=b0 = bnot(q24)*b0 + q24 * rand(10)/10; +shape_0_per_frame6=g0 = bnot(q24)*g0 + q24 * rand(10)/10; +shape_0_per_frame7=rad = q22/40; +shape_0_per_frame8=r = .0; b = 1; g = .6; +shape_0_per_frame9=r2 = 0; b2 = 0; g2 = 0; +shapecode_1_enabled=1 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.700000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.217300 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628319 +shapecode_1_tex_zoom=1.633192 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.990000 +shapecode_1_g2=0.990000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=textured = 1; +shape_1_per_frame2=rot0 = rot0 + 1/fps * q1; +shape_1_per_frame3= +shape_1_per_frame4=posx = (1-q24)*posx + q24*(.3+rand(100)/200); +shape_1_per_frame5=posy = (1-q24)*posy + q24*(.3+rand(100)/200);; +shape_1_per_frame6= +shape_1_per_frame7=rad0 = (1-q24)*rad0 + q24*(.05+rand(100)/300); +shape_1_per_frame8=rad = rad0; +shape_1_per_frame9= +shape_1_per_frame10= +shape_1_per_frame11=x = posx; +shape_1_per_frame12=y = posy; +shape_1_per_frame13=ang = rot0; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=2.223300 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.700000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=textured = 1; +shape_2_per_frame2=rot0 = rot0 + .1/fps * q2; +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5=posx = (1-q24)*posx + q24*(.3+rand(100)/200); +shape_2_per_frame6=posy = (1-q24)*posy + q24*(.3+rand(100)/200);; +shape_2_per_frame7= +shape_2_per_frame8=rad0 = (1-q24)*rad0 + q24*(.05+rand(100)/400); +shape_2_per_frame9=rad = rad0; +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=x = posx+q26; +shape_2_per_frame13=y = posy; +shape_2_per_frame14=ang = rot0; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16= +per_frame_17=k1 = is_beat*equal(index,0); +per_frame_18=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_19=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_20=rott = p2 * 3.1416/2; +per_frame_21=q27 = index + 1; +per_frame_22= +per_frame_23=q1 = cos(rott); +per_frame_24=q2 = sin(rott); +per_frame_25=q3 = -q2; +per_frame_26=q4 = q1; +per_frame_27= +per_frame_28=zoom = 1.01; +per_frame_29=rot = -0.00 * index; +per_frame_30= +per_frame_31=q32 = pow(0.996, 30/fps); //fade +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`float2 uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=`float z = 4*length(uv1)+time/2+q22; +warp_11=`float2 d = normalize(uv1); +warp_12=`float2 rs = clamp(tan(z)*d,-8,8); +warp_13=`uv += rs/64; +warp_14=` +warp_15=`uv6 = uv1*2; +warp_16=`mus = .2/(sqrt(uv6.y-q22*.04*sin(q22*(8*uv6.x+time)))); +warp_17=`mus = abs(mus); +warp_18=`mus *= float3 (1,.84,.6); +warp_19=` +warp_20=`float3 blur = GetBlur1(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.04 + .06*mus; +warp_25=`ret = ret1 * .99 - .01 ; +warp_26=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float2 rs; +comp_4=`float3 noise, ret1; +comp_5=` +comp_6=`shader_body { +comp_7=`float corr = texsize.xy*texsize_noise_lq.zw; +comp_8=`float2 uv1 = (uv-.5-.0*float2(q1,q2) )*aspect.xy; +comp_9=`//uv = mul(uv-.5,float2x2(_qa))+.5; +comp_10=` +comp_11=`//uv1 = mul(uv1,float2x2(_qa)); +comp_12=`uv1*= aspect.yx; +comp_13=`float h1 = 3+q10*4; +comp_14=` +comp_15=`float z = h1/abs(uv1.y) ; +comp_16=` +comp_17=`rs.x = uv1.x *z ; +comp_18=`float mask = saturate (1-z / 40); +comp_19=`rs.y = z + time*6; +comp_20=` +comp_21=`float2 uv6 = sin(rs); +comp_22=`noise = 1-sqrt(length(uv6)); +comp_23=`noise *= (noise >= .1) *mask; +comp_24=`ret1 = noise; +comp_25=` +comp_26=` +comp_27=`ret = GetPixel(uv+ret1/2)*1.5 -.1*ret1; +comp_28=`} diff --git a/presets/presets_tryptonaut/martin - hardcore mix 2.milk b/presets/presets_tryptonaut/martin - hardcore mix 2.milk new file mode 100755 index 0000000000..244cdfd9ed --- /dev/null +++ b/presets/presets_tryptonaut/martin - hardcore mix 2.milk @@ -0,0 +1,492 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=1.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.103075 +fWaveSmoothing=0.540000 +fWaveParam=0.380000 +fModWaveAlphaStart=0.810000 +fModWaveAlphaEnd=1.400000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=442 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = .4+sample*.2 ; +wave_0_per_point2=y = .5+ value2*.01*q22; +wave_0_per_point3= +wave_0_per_point4=a = .5*q24*((q27+1)%2); +wave_0_per_point5=r = 0.2;b=1; g =.6; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=y = .4+sample*.2 ; +wave_1_per_point2=x = .5+ value2*.01*q22; +wave_1_per_point3= +wave_1_per_point4=a = .6*q24*((q27)%2); +wave_1_per_point5=r = 0.2;b=1; g =.6; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=18 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.154155 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.769911 +shapecode_0_tex_zoom=5.277839 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_ang = 3+2*q1; +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.068920 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.831505 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.900000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a = q24/2; a2 = 0; +shape_1_per_frame2= +shape_1_per_frame3=r = rand(10)/10; +shape_1_per_frame4=g = rand(10)/10; +shape_1_per_frame5=b = rand(10)/10; +shape_1_per_frame6= +shape_1_per_frame7=rad = .06*q22; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + .1* sin (time*73); +shape_2_per_frame2=y = .5 + .1* sin (time*23); +shape_2_per_frame3= +shape_2_per_frame4=r = 0; g = 0; b = 0; +shape_2_per_frame5=r2 = 1; g2 = 1; b2 = 1; +shape_2_per_frame6= +shape_2_per_frame7=rad = mid_att/100; +shape_2_per_frame8=a = .7; +shape_2_per_frame9=a2 = a; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.510000 +shapecode_3_rad=0.198688 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.005310 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.05 + rand(900)/1000; +shape_3_per_frame2=y = 0.05 + rand(900)/1000; +shape_3_per_frame3= +per_frame_init_1=prox = 1; +per_frame_1=dec_med = pow (.4, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=//dec_xlow = pow (0.999, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, -.2+avg+peak) * above (time, t0+.1); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) %32; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_11=index3 = (index2 +index3 + is_beat*bnot(index))%4; +per_frame_12= +per_frame_13=is_beat2 = above (time, t1+.1); +per_frame_14=t1 = is_beat*time + (1-is_beat)*t1; +per_frame_15=q22 = peak; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass_att + mid_att + treb_att; +per_frame_18=vol = vol*dec_med + (1-dec_med)*q26; +per_frame_19=q27 = index + 1.5; +per_frame_20=q28 = index2 +1; +per_frame_21= +per_frame_22=p2 = .3*sin(time) + .3*cos(time/3); +per_frame_23=//*****tunnel tilting +per_frame_24=q1 = cos(p2 * 3.1416/4); +per_frame_25=q2 = sin(p2 * 3.1416/4); +per_frame_26=q3 = -q2; +per_frame_27=q4 = q1; +per_frame_28= +per_frame_29=//****tunnel viewpoint x,y +per_frame_30=vtrig = is_beat * bnot(index%2); +per_frame_31=vx = vx * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_32=vy = vy * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_33=vz = vz * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_34= +per_frame_35=vx = vx* below(index%32,24); //### +per_frame_36=vy = vy* above(index%32,16); +per_frame_37=q5 = vx*5; +per_frame_38=q6 = vy*5; +per_frame_39= +per_frame_40=//***tunnel width +per_frame_41=q21 = (1+sin(time))/4+.05; +per_frame_42= +per_frame_43=//**floor proximity +per_frame_44=prox = prox - above(vy,.3)*prox*2; +per_frame_45=q32 = .5 + .2*prox; +per_frame_46=monitor = prox; +per_frame_47= +per_frame_48=//****tunnel rotation +per_frame_49=rota = rota +.02*below(index%16,8)/fps*30; +per_frame_50=rota1 = rota1*dec_med + (1-dec_med)*rota; +per_frame_51=q7 = rota1; +per_frame_52= +per_frame_53=//****tunnel speed +per_frame_54=movez = movez + .8/(1+abs(vx)+abs(vy))/fps; +per_frame_55=q8 = movez * (1+q21/400); +per_frame_56=//dyn. Aenderung von q21 bewirkt auch Richt.wechsel +per_frame_57= +per_frame_58=q15 = -1+8*above(index,26); +per_frame_59=//*********************** +per_frame_60=vxs = vxs * dec_med + (1-dec_med)*vx*20; +per_frame_61=vys = vys * dec_med + (1-dec_med)*vy*20; +per_frame_62=vzs = vzs * dec_med + (1-dec_med)*vz*20; +per_frame_63= +per_frame_64=z0 = 20+vzs; +per_frame_65= +per_frame_66=p1z = z0; +per_frame_67=q9 = vxs/(p1z); +per_frame_68=q10 = vys/(p1z); +per_frame_69=q11 = p1z; +per_frame_70= +per_frame_71=q12 = below (index,24); +per_frame_72=q13 = above (index,16); +per_frame_73= +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=`shader_body { +warp_4=` +warp_5=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_6=` +warp_7=`float2 uv6 = uv1; +warp_8=`float z = q28*4*length((abs(uv1.x)-abs(uv1.y))); +warp_9=`float2 d = normalize(uv1); +warp_10=`float2 rs = clamp(tan(z)*d,-2,2); +warp_11=`uv1 -= rs/40; +warp_12=` +warp_13=`uv6 = .4*cos(uv1*4+time); +warp_14=`mus = .005/(length(uv6)); +warp_15=` +warp_16=`float3 crisp= tex2D(sampler_main,(uv1)*(.95-q28/16+.4*z)+.5); +warp_17=` +warp_18=`float3 ret1 = crisp + mus; +warp_19=` +warp_20=`ret = (ret1*.99-.03); +warp_21=` +warp_22=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float k1, k2, mask1, mask2, mask3, rad1, rad2, rad3; +comp_4=`float2 rs, rss, rss0, rs0, uv2, uv3,uv4, rsk, uvo; +comp_5=`float2 dz1, dz2, dz3, Kugel1, Kugel2, Kugel3,tmp; +comp_6=`float3 noise, ret1, ret2, cathed, sky, fire; +comp_7=` +comp_8=`shader_body { +comp_9=`uvo = uv*aspect.xy; +comp_10=`uv = mul(uv*aspect.xy,float2x2(_qa)); +comp_11=`uv = uv + -.0- .2*float2(q5,q6); +comp_12=`float2 uv1 = (uv-.5 );//*aspect.xy; +comp_13=` +comp_14=`//Kugel1 +comp_15=`rsk = (uv1 + float2 (q9,q10)) ; +comp_16=`dz1 = normalize(rsk); +comp_17=`rad1 = q11*length (rsk) ; +comp_18=`uv4 = tan(rad1)*dz1; +comp_19=`mask1 = saturate(8-8*rad1); +comp_20=`Kugel1 = uv4*mask1*8/q11; +comp_21=`uv1 += Kugel1*.1; +comp_22=` +comp_23=`//Kugel2 +comp_24=`rsk = (sin(q27*atan2(uv1.x,uv1.y)/2)) ; +comp_25=`dz2 = normalize(rsk); +comp_26=`rad2 = 1*length (rsk) ; +comp_27=`uv4 = tan(rad2)*dz2; +comp_28=`mask2 = saturate(8-8*rad2); +comp_29=`Kugel2 = uv4*mask2; +comp_30=` +comp_31=`//Kugel3 +comp_32=`float argu = length(uv1+q5*uv1.y); +comp_33=`rsk = (sin(.1*(q27-8)/ argu)); +comp_34=`//rsk = (sin(.5*q27*atan2(uv1.x,uv1.y))) ; +comp_35=`dz3 = normalize(rsk); +comp_36=`rad3 = 1*length (rsk) ; +comp_37=`uv4 = tan(-rad3)*dz3; +comp_38=`mask3 = saturate(8-8*rad3); +comp_39=`Kugel3 = uv4*mask3; +comp_40=` +comp_41=`float2 dz = (Kugel1 + q12*Kugel2*length(uv1) + q13*Kugel3*argu); +comp_42=`//******************** STARS +comp_43=`rss0.x = atan2(uv1.x, uv1.y)/3.1416; +comp_44=`rss0.y = .01/(length (uv1)); +comp_45=` +comp_46=`rss = float2 (rss0.x,rss0.y+time/2)+dz; +comp_47=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_48=`float noise = (tex2D(sampler_pw_noise_lq,rss/32)-.8 >= 0); +comp_49=`tmp = abs(frac(rss*8)-.5); +comp_50=` +comp_51=`//************************* +comp_52=`uv1 -= dz*.5; +comp_53=`float z = .2/(length(uv1)+q21); +comp_54=`uv2.y = z + q8; +comp_55=`uv2.x = rss0.x +q7; +comp_56=`uv3 =frac(uv2); +comp_57=`cathed = tex2D (sampler_main,uv3+.4*dz)*12; +comp_58=` +comp_59=`float mod = (q22+1)/6; +comp_60=` +comp_61=`//Deckenbeleuchtung: +comp_62=`fire = saturate(.05*q22/length (uv1)* +comp_63=` (lum(tex2D (sampler_main,uv3+.0)))) ; +comp_64=` +comp_65=`//Tasaechl. Feuer; Problem: uv1 passt nicht zu uv3 +comp_66=`fire += saturate(.02*q22/length (uv1)* +comp_67=` (lum(tex2D (sampler_main,uv1+.5))))/length(uv1); +comp_68=` +comp_69=`k1 = lum(fire); +comp_70=`fire = k1*float3(1,k1*.8,k1*k1/3) ; +comp_71=` +comp_72=`uvo+=dz; +comp_73=`sky = saturate (.02/length(uvo-.3)) * 1; +comp_74=` +comp_75=`float3 dots = saturate(.04/length(tmp)) *noise; +comp_76=`dots *= saturate(.2/abs(rss0.y)); +comp_77=`dots = saturate(lum(dots)*lum(dots)*1); +comp_78=`k1 = lum(dots); +comp_79=`dots= k1*float3(1,k1*.8,k1*k1/3) *2 ; +comp_80=`float cmask = saturate(1-16*lum(GetBlur1(frac(uv3)))); +comp_81=`ret += sky * cmask; +comp_82=`ret += fire+dots; +comp_83=` +comp_84=`ret += sky*cathed/2; +comp_85=`float dis = length(uv1); +comp_86=`float crot = sin((dis+time)*12); +comp_87=`float3 blk = mod * float3 (crot,1-crot,2-dis)*dis; +comp_88=`blk *= (q12*(1/rad2+q15*mask2)+q13*(1/rad3+q15*mask3))/2 ; +comp_89=`blk += q22/rad1*roam_cos-mask1/4 ; +comp_90=`ret += blk; +comp_91=` +comp_92=`} diff --git a/presets/presets_tryptonaut/martin - jellyfish dance.milk b/presets/presets_tryptonaut/martin - jellyfish dance.milk new file mode 100755 index 0000000000..792def8baa --- /dev/null +++ b/presets/presets_tryptonaut/martin - jellyfish dance.milk @@ -0,0 +1,429 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.749209 +fWaveScale=2.466119 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.110000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=132 +wavecode_0_sep=29 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=0.200000 +wavecode_0_b=0.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2= +wave_0_per_point3=ska = sqr(sin(sample*3.14)); +wave_0_per_point4= +wave_0_per_point5= +wave_0_per_point6=b = 0; g = .1; r = 0.6; +wave_0_per_point7=a = ska * (bass_att); +wave_0_per_point8=x = .5 + sample *(.1+value1); +wave_0_per_point9=y = .5 + sample*(.1+value2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=15 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.720720 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.242906 +shapecode_0_r=1.000000 +shapecode_0_g=0.400000 +shapecode_0_b=0.890000 +shapecode_0_a=0.800000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_ang = .7 + .3 * sin(time); +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.810000 +shapecode_1_y=0.300000 +shapecode_1_rad=0.397104 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=2.513274 +shapecode_1_tex_zoom=0.907991 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.600000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.470000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.323000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.700000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(100)/100; +shape_2_per_frame2=y = rand(100)/100; +shape_2_per_frame3= +shape_2_per_frame4=a = 0.8; r = 0; b = 1; g = 1; +shape_2_per_frame5=a2 = 1; r2=0; b2 = 0; g2 = 0; +shape_2_per_frame6=rad = .02; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.600000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.080814 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb + 1; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2+1; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25= +per_frame_26=q1 = cos(rott); +per_frame_27=q2 = sin(rott); +per_frame_28=q3 = -q2; +per_frame_29=q4 = q1; +per_frame_30= +per_frame_31=movex = movex + .03*30/fps; +per_frame_32=q29 = movex; +per_frame_33=movez = movez + .07*30/fps; +per_frame_34=q30 = movez; +per_frame_35= +per_frame_36=crawl = crawl + .001*(2+q22)*30/fps; +per_frame_37=q31 = crawl; +per_frame_38= +per_frame_39=q32 = 2 + sin(time/7); +per_frame_40=monitor = index2; +per_pixel_1=zoom = 1.0; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, crab; +warp_3=`float sr,cr,dx,dy; +warp_4=` +warp_5=`shader_body { +warp_6=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_7=` +warp_8=`float2 uv1 = (uv-.5); +warp_9=` +warp_10=`float f1 = 2; +warp_11=` +warp_12=`float2 uv6 = uv1-.1; +warp_13=` +warp_14=`float rota = 3.14/4 * uv.x*2; +warp_15=` +warp_16=`//LIESMICH - diese Formel gibt nur eine Spinne: +warp_17=`rota = lum(tex2D (sampler_noise_hq,uv1/5 + q31))*2; +warp_18=` +warp_19=`sr = sin(rota); cr = cos(rota); +warp_20=`uv6 = mul(uv1,float2x2(cr,sr,-sr,cr)); +warp_21=` +warp_22=`float z = 4*length(uv6); +warp_23=`float2 dz = normalize(uv6*z); +warp_24=`float2 rs = 20*tan(z)*dz*dz; //#evtl. nochmal x dz +warp_25=` +warp_26=` +warp_27=`crab = saturate((1-abs(rs.y*rs.x))); +warp_28=`crab *= float3 (1,0,0); +warp_29=`//crab*= (1-crab)*4; //Loch in der Mitte +warp_30=` +warp_31=`float3 blur = GetBlur1(frac(uv)); +warp_32=` +warp_33=`ret = crab *(1-2*rad) + +warp_34=`GetPixel(uv)*(1-.1*pow(rad,3))*float3(0,1,1)-.004; +warp_35=`} +comp_1=`float dx,dy, c, s;; +comp_2=`float3 ret1, neu; +comp_3=`float2 rs,rs2,uv1,uv4,dz,uv3, uv2, tmp; +comp_4=`shader_body +comp_5=`{ +comp_6=` +comp_7=`float2 hor = float2 (texsize.z,0); +comp_8=`float2 ver = float2 (0,texsize.w); +comp_9=` +comp_10=`dz = 0; +comp_11=`float dist = 1; +comp_12=`float3 inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 4; +comp_16=`int n = 0; dx = 0; dy = 0; +comp_17=`tmp = (uv-.5) * aspect.xy; +comp_18=`while (n <= anz) { +comp_19=` dist = 1-frac(.25*n+q29); //evtl sqrt ! +comp_20=`uv2 = tmp; +comp_21=` +comp_22=` c = n%2; +comp_23=` s = (n+1)%2; +comp_24=` uv2.x = tmp.x*c - tmp.y*s; +comp_25=` uv2.y = tmp.x*s + tmp.y*c; +comp_26=` uv2*= aspect.yx; +comp_27=` inten.r = sqrt(dist)*(1-dist*dist)*2; +comp_28=` inten.g = 1; +comp_29=` inten.b = 1; +comp_30=` +comp_31=` uv3 = 4*(uv2)*dist + .7* n + .2*q29*c; +comp_32=` neu = GetPixel(uv3); +comp_33=` +comp_34=` dx = lum(GetPixel(uv3+hor)- GetPixel(uv3-hor)); +comp_35=` dy = lum(GetPixel(uv3+ver)- GetPixel(uv3-ver)); +comp_36=` dz += inten.r*float2 (dx,dy); +comp_37=` +comp_38=` ret1 = max(ret1,neu*inten); +comp_39=`n++; +comp_40=`} +comp_41=` +comp_42=`//****************** +comp_43=` +comp_44=`float2 uv1 = (uv-.5)*aspect.xy ; +comp_45=`float rad2 = 6*length(uv1); +comp_46=`float rad1 = 1/(rad2+.1); +comp_47=` +comp_48=`uv2 = float2 (ang/2, rad1); +comp_49=`rs2 = uv2; +comp_50=`uv2.y = uv2.y + q30; +comp_51=` +comp_52=`float3 noise = .5; +comp_53=`float3 dots = noise * rs2.y * float3(.0,.1,.9); +comp_54=`dots = saturate(dots); +comp_55=` +comp_56=`rs2 = cos(uv2*4) + (ret1)*12; +comp_57=`dots += (.5+q22)*(1-rad)*saturate(.05/length(rs2)) ; +comp_58=` +comp_59=`ret = ret1*float3(q26/2,.6,.3) - 2*ret1.r*(1-dots) +comp_60=` + .4*q32*dots * saturate(1-2*ret1.r) ; +comp_61=` +comp_62=`} diff --git a/presets/presets_tryptonaut/martin - lightning [Goody tunnel artifact tweak].milk b/presets/presets_tryptonaut/martin - lightning [Goody tunnel artifact tweak].milk new file mode 100755 index 0000000000..366db063f4 --- /dev/null +++ b/presets/presets_tryptonaut/martin - lightning [Goody tunnel artifact tweak].milk @@ -0,0 +1,479 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.196 +fWaveScale=2.103 +fWaveSmoothing=0.540 +fWaveParam=0.380 +fModWaveAlphaStart=0.810 +fModWaveAlphaEnd=1.400 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=1.000 +wave_g=0.300 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=442 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_point1= +wave_0_per_point2=x0 = .5; y0 = .5; +wave_0_per_point3= +wave_0_per_point4=k1 = int(100.0*sample); +wave_0_per_point5=k2 = int(100.0*sample+1); +wave_0_per_point6=k1 = k1%2; +wave_0_per_point7=f1 = rand(100)/200-.25; +wave_0_per_point8=f2 = rand(100)/200-.25; +wave_0_per_point9= +wave_0_per_point10=x = x0 + k1* f1;; +wave_0_per_point11=y = y0 + k1* f2; +wave_0_per_point12=a = .02;//k2%2 ; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=0 +shapecode_0_sides=18 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.25606 +shapecode_0_ang=0.25133 +shapecode_0_tex_ang=3.76991 +shapecode_0_tex_zoom=4.77799 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.400 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.560 +shapecode_1_rad=0.05113 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.83150 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.900 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang = time; +shape_1_per_frame2=a = 1; +shape_1_per_frame3=//rad = 0.02 +.05* bass_att; +shape_1_per_frame4=//rad = 0.1; +shape_1_per_frame5=y = 0.5+bass_att/10; +shape_1_per_frame6=x = .5 + .1*sin(time/2); +shape_1_per_frame7=y = .5 + .1*cos(time); +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = .5 + .1* sin (time*73); +shape_2_per_frame2=y = .5 + .1* sin (time*23); +shape_2_per_frame3= +shape_2_per_frame4=r = 0; g = 0; b = 0; +shape_2_per_frame5=r2 = 1; g2 = 1; b2 = 1; +shape_2_per_frame6= +shape_2_per_frame7=rad = mid_att/100; +shape_2_per_frame8=a = .7; +shape_2_per_frame9=a2 = a; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.510 +shapecode_3_rad=0.53741 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=1.00531 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.860 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %2; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16= +per_frame_17=k1 = is_beat*equal(index,0); +per_frame_18= +per_frame_19=r0 = rand(10)-5; +per_frame_20=p0 = r0*k1 + (1-k1)*p0; +per_frame_21= +per_frame_22=r1 = rand(10)-5; +per_frame_23=p1 = r1*k1 + (1-k1)*p1; +per_frame_24=m0 = dec_med * m0+ (1-dec_med)*p0; +per_frame_25=m1 = dec_med * m1+ (1-dec_med)*p1; +per_frame_26= +per_frame_27=m0 = dec_slow*m0; +per_frame_28=m1 = dec_slow*m1; +per_frame_29= +per_frame_30= +per_frame_31=q1 = m0/25 + .0*sin(time/3); +per_frame_32=q2 = m1/25 + .0*cos(time/3); +per_frame_33= +per_frame_34= +per_frame_35=p9 = p9*dec_slow + (q23)*(1-dec_slow); +per_frame_36=zoom = 1; +per_frame_37=cx = p9/10000; +per_frame_38=cy = 0; +per_frame_39=wave_mystery = .2*(rand(10)-5); +per_frame_40=wave_a = is_beat; +per_frame_41= +per_frame_42=flash = flash*.9 + is_beat; +per_frame_43=q30 = flash; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float3 ret1; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=` +warp_8=`float3 noiseVal = lum(tex2D(sampler_noise_lq, corr*uv*.5+ .1*rand_frame)); +warp_9=` +warp_10=`float2 hor = float2 (.005,0.007); +warp_11=`float2 ver = float2 (-0.007,.005); +warp_12=` +warp_13=`float f0 = 1; +warp_14=`float dx = f0*lum(tex2D(sampler_main,uv+hor) +warp_15=` - tex2D(sampler_main,uv-hor)); +warp_16=`float dy = f0*lum(tex2D(sampler_main,uv+ver) +warp_17=` - tex2D(sampler_main,uv-ver)); +warp_18=` +warp_19=`float2 zz= float2 (dx,dy); +warp_20=`float3 blur = GetBlur1(uv) ; +warp_21=` +warp_22=`zz *= 1-blur; +warp_23=` +warp_24=`float3 crisp = tex2D(sampler_main,uv-zz*.02); +warp_25=` +warp_26=`crisp += noiseVal*(.12) -0.01*pow(1-rad,4); +warp_27=` +warp_28=`ret1 = -blur*.1+ crisp*1.1; +warp_29=` +warp_30=`ret = ret1; +warp_31=` ret *= 0.97; +warp_32=` ret -= 0.05; +warp_33=`} +comp_1=` +comp_2=`sampler sampler_pw_noise_lq; +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=`float corr = texsize.xy*texsize_noise_hq.zw; +comp_7=`float2 p0 = .5 + float2(q1,q2); +comp_8=` +comp_9=`float2 uv1 = (uv-p0)*aspect.xy; +comp_10=`float ang1 = atan2(uv1.y, uv1.x); +comp_11=` +comp_12=`float rad2 = length(uv1); +comp_13=`float rad1 = -1*rad2 + 0.05/(rad2-0.08); +comp_14=` +comp_15=`float2 uv2 = float2 (ang*1.8, clamp(rad1,-8, 8)); +comp_16=`uv2.y = uv2.y/2 + time/2; +comp_17=` +comp_18=`float3 tube = lum(tex2D(sampler_noise_hq, corr*uv2)); +comp_19=`//tube = sqrt(abs (tube-.8)); +comp_20=` +comp_21=` +comp_22=`float2 uv3 = uv + tube/64; +comp_23=`double3 blur = lum(GetBlur1 (uv3)); +comp_24=`double3 crisp =(GetPixel(uv3)); +comp_25=` +comp_26=`double3 ret2 = crisp + blur; +comp_27=` +comp_28=`double3 lblue = float3 (0.3, 0.5, 1)/3 *(1-rad); +comp_29=`ret2 = ret2 + lblue; +comp_30=` +comp_31=`ret = -1*tube*rad + (1+q24/4)*ret2 * (1-tube/2); +comp_32=`} diff --git a/presets/presets_tryptonaut/martin - liquid gold.milk b/presets/presets_tryptonaut/martin - liquid gold.milk new file mode 100755 index 0000000000..e5e0b87260 --- /dev/null +++ b/presets/presets_tryptonaut/martin - liquid gold.milk @@ -0,0 +1,411 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=20.944651 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.020000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=53 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.054080 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.200000 +shapecode_0_g=0.700000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=x = .5; y = .5; +shape_0_per_frame3=a = q24; +shape_0_per_frame4=a2 = 0; +shape_0_per_frame5=//a = 1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.700000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.161220 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.050000 +shape_1_per_frame1=textured = 1; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4= +shape_1_per_frame5=x1 = (1-q24)*x1 + q24*(.3+rand(100)/200); +shape_1_per_frame6=y1 = (1-q24)*y1 + q24*(.3+rand(100)/200);; +shape_1_per_frame7= +shape_1_per_frame8=x = x1; +shape_1_per_frame9=y = y1; +shape_1_per_frame10=ang = 3*time; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5+.5*(rand(100)-50)/100; +shape_2_per_frame2=y = .5+.5*(rand(100)-50)/100; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(4)/3; +shape_2_per_frame5=g = rand(4)/3; +shape_2_per_frame6=b = rand(4)/3; +shape_2_per_frame7= +shape_2_per_frame8= +shape_2_per_frame9=is_beat = above(time, t0+.05); +shape_2_per_frame10=t0 = is_beat*time + (1-is_beat)*t0; +shape_2_per_frame11= +shape_2_per_frame12= +shape_2_per_frame13=a = min(q21 ,.9) * is_beat; +shape_2_per_frame14=rad = a*a/3 ; +shape_2_per_frame15= +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass_att + mid_att + treb_att; +per_frame_17=q27 = index +1; +per_frame_18=q28 = index2; +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22=k1 = is_ +per_frame_23=beat*equal(index%2,0); +per_frame_24=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=rott = p2 * 3.1416/4; +per_frame_27= +per_frame_28=q1 = cos(rott); +per_frame_29=q2 = sin(rott); +per_frame_30=q3 = -q2; +per_frame_31=q4 = q1; +per_frame_32= +per_frame_33=alt = alt * .2 + q26*.8; +per_frame_34=q26 = q26 - alt; +per_frame_35= +per_frame_36=step = step + 100*max(q26-0.01,0) + q24 ; +per_frame_37=q30 = step; +per_frame_38= +per_frame_39=p4 = dec_med*p4 + (1-dec_med)*q27; +per_frame_40=q31 = p4; +per_frame_41= +per_frame_42=//zoom = 1 + .05*q1; +per_frame_43=//rot = -0.01 * (index); +per_frame_44=zoom = 1; +per_frame_45=rot = .003; +per_frame_46= +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=`float2 uv1 = (uv_orig-.5) * aspect.xy; +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q30 +.5*q27*length(uv1); +warp_10=`float2 d = normalize(uv1); +warp_11=` +warp_12=`float2 rs = clamp(tan(z)*d,-8,8); +warp_13=`rs = mul(rs+.1,float2x2(_qa)); +warp_14=` +warp_15=`if (q28 ==1) {rs *= cos(uv1.yx*11) ;} +warp_16=` +warp_17=`uv += rs/30; +warp_18=` +warp_19=` +warp_20=`uv6 = (uv-.5); +warp_21=`uv6 = mul(uv6,float2x2(_qa)); +warp_22=` +warp_23=`mus = .2/(sqrt(uv6.y-.1*q27)); +warp_24=`mus = abs(mus); +warp_25=`mus *= float3 (1,.8,.5); +warp_26=` +warp_27=` +warp_28=` +warp_29=` +warp_30=` +warp_31=`float3 blur = GetBlur1(frac(uv)); +warp_32=` +warp_33=`float3 crisp= tex2D(sampler_main,uv); +warp_34=` +warp_35=`float3 ret1 = crisp - blur*.05 + .06*mus; +warp_36=`ret = ret1 * .98 - .01; +warp_37=` +warp_38=` +warp_39=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//uv = (uv-.5) * aspect.xy + .5; +comp_5=` +comp_6=` +comp_7=`float2 hor = float2 (texsize.z,0)*2; +comp_8=`float2 ver = float2 (0,texsize.w)*2; +comp_9=`float dx = GetBlur1 (uv-hor) - GetBlur1 (uv+hor); +comp_10=`float dy = GetBlur1 (uv-ver) - GetBlur1 (uv+ver); +comp_11=`float2 dz = float2 (dx,dy)*0.5; +comp_12=` +comp_13=` +comp_14=` +comp_15=`float3 crisp = tex2D(sampler_main, uv + dz) * +comp_16=` tex2D(sampler_main, 1-uv - dz); +comp_17=`float3 blur = GetBlur1(frac(uv + dz)); +comp_18=` +comp_19=`float2 uv1 = uv-.5 + dz/4; +comp_20=`float2 uv2 = uv1*0+.2*float2 (cos(uv1*4+time));; +comp_21=`float3 dots = saturate(.01/(length(uv2))) * float3 (1,1,1); +comp_22=` +comp_23=` +comp_24=`ret = (crisp + blur*2) + q21*dots * (1-blur); +comp_25=`ret *= .7 ; +comp_26=`} diff --git a/presets/presets_tryptonaut/martin - ludicrous speed.milk b/presets/presets_tryptonaut/martin - ludicrous speed.milk new file mode 100755 index 0000000000..182206c70c --- /dev/null +++ b/presets/presets_tryptonaut/martin - ludicrous speed.milk @@ -0,0 +1,463 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.500000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t1 = 1*cos(time/3); +wave_0_per_frame2=t2 = 1*sin(time/7); +wave_0_per_frame3= +wave_0_per_frame4=vol = mid_att + treb_att; +wave_0_per_frame5=vol_m = vol_m*0.999+vol*0.001; +wave_0_per_frame6=exc = above (vol, vol_m*1.1); +wave_0_per_frame7= +wave_0_per_frame8=pulse = 0.95*pulse + 0.05*exc; +wave_0_per_frame9=winkel = winkel + pulse/3; +wave_0_per_frame10=t3 = winkel; +wave_0_per_frame11= +wave_0_per_frame12= +wave_0_per_frame13= +wave_0_per_point1= //Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=t_abs = sample; +wave_0_per_point5=t_rel = sample-time/6; +wave_0_per_point6=ampl = sin(t_abs*3)-0.0; +wave_0_per_point7= +wave_0_per_point8=ox = 3*sin (time) + ampl*(sin (t_rel*267)) ; +wave_0_per_point9=oy = 3*cos (time) + ampl*(cos (t_rel*277)) ; +wave_0_per_point10=oz = 0*cos (t_rel*time/23)+t_abs*4 ; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r = sqr(sin(t_rel*3.4)); +wave_0_per_point14=g = sqr(sin(t_rel*2.3)); +wave_0_per_point15=b = sqr (cos(t_rel*.9)); +wave_0_per_point16= +wave_0_per_point17=a= 0.2*(cos(t_abs*1 )) + q26/16 ; +wave_0_per_point18= +wave_0_per_point19=xang = t2+t3/3; +wave_0_per_point20=yang = t1*t2-t3/4; +wave_0_per_point21=zang = t3; +wave_0_per_point22=fov = 0.2; +wave_0_per_point23= +wave_0_per_point24=monitor = t2; +wave_0_per_point25= +wave_0_per_point26=// Rotation um x,y,z +wave_0_per_point27= +wave_0_per_point28=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point29=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point30= +wave_0_per_point31=ox = mx; +wave_0_per_point32=oy = my; +wave_0_per_point33=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point34=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point35=ox = mx; +wave_0_per_point36=oz = mz; +wave_0_per_point37=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point38=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point39=oy = my; +wave_0_per_point40=oz = mz; +wave_0_per_point41= +wave_0_per_point42=oz = oz - 6; +wave_0_per_point43=x = ox*fov/oz +0.5; +wave_0_per_point44=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point45=y = oy*fov/oz + 0.5; +wave_0_per_point46= +wavecode_1_enabled=1 +wavecode_1_samples=232 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample; +wave_1_per_point3=t_rel = sample-time/5; +wave_1_per_point4=ampl = time; +wave_1_per_point5= +wave_1_per_point6=ox = ampl*10*sin (t_abs*68); +wave_1_per_point7=oy = ampl*10*cos (t_abs*28); +wave_1_per_point8=oz = ampl*10*cos (t_abs*128); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=r = sin(t_abs*1335)+1; +wave_1_per_point12=g = sin(t_abs*1783)+1 ; +wave_1_per_point13=b = rand(5)/5 ; +wave_1_per_point14= +wave_1_per_point15=a=0.5+0.25 * sin(t_rel*15); +wave_1_per_point16=xang = t1 ; +wave_1_per_point17=yang = t1; +wave_1_per_point18=zang = t1; +wave_1_per_point19=fov = 0.12; +wave_1_per_point20= +wave_1_per_point21= +wave_1_per_point22=// Rotation um x,y,z +wave_1_per_point23= +wave_1_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point26= +wave_1_per_point27=ox = mx; +wave_1_per_point28=oy = my; +wave_1_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point31=ox = mx; +wave_1_per_point32=oz = mz; +wave_1_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point35=oy = my; +wave_1_per_point36=oz = mz; +wave_1_per_point37= +wave_1_per_point38=oz = oz - 6; +wave_1_per_point39=x = ox*fov/oz +0.5; +wave_1_per_point40=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point41=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_point1=ampl = time - int(time); +wave_2_per_point2=aml = ampl/2; +wave_2_per_point3=x = .5 + ampl * sin(sample*230); +wave_2_per_point4=y = .5 + ampl * cos(sample*230); +wave_2_per_point5=a = .03; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.499900 +shapecode_0_y=0.500000 +shapecode_0_rad=0.143922 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=4.574821 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.800000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.400000 +shape_0_per_frame1=textured = bnot(q24); +shape_0_per_frame2=rad = .2*max(sin(time/9)-.6,0); +shape_0_per_frame3=x = .5 + .01 * sin(time/2); //slightly off-center +shape_0_per_frame4= +shape_0_per_frame5=border_r = .4 * (1.5+sin(time/18)); +shape_0_per_frame6=border_g = .4 * (1.5+sin(time/38)); +shape_0_per_frame7=border_b = .4 * (1.5+sin(time/28)); +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.600000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=trel = time/2+q20; +shape_1_per_frame3= +shape_1_per_frame4=x = .5+sin(trel); +shape_1_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_1_per_frame6=rad = .03; +shape_1_per_frame7=a = q26/4+.2; a2 = 0; +shape_1_per_frame8=a = 1; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_init_1=index4 = rand(12); p1 = 0; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11=index4 = (index4 + is_beat*bnot(index)*bnot(index2)*bnot(index3))%8; +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_22= +per_frame_23=k1 = is_beat*equal(index,0); +per_frame_24=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=rott = p2 * 3.14159265359/2; +per_frame_27= +per_frame_28=q27 = 8-index; +per_frame_29=q28 = index3; +per_frame_30=q29 = index4; +per_frame_31= +per_frame_32=stop = equal (index,4); +per_frame_33=stop2 = .9 * stop2 + .1 * stop; +per_frame_34=accel = stop - stop2; +per_frame_35= +per_frame_36=//movez = movez + .01*(2+ q21)*30/fps; +per_frame_37=movez = movez + .01*4*30/fps; +per_frame_38=q30 = movez; +per_frame_39= +per_frame_40=q1 = cos(rott); +per_frame_41=q2 = sin(rott); +per_frame_42=q3 = -q2; +per_frame_43=q4 = q1; +per_frame_44= +per_frame_45=zoom = 1.0; +per_frame_46=q32 = pow(0.996, 30/fps); //fade +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 arg; +warp_4=` +warp_5=`int k2 = int(q29); //index4 +warp_6=`int k1 = k2%4; +warp_7=`float clp = 8; +warp_8=` +warp_9=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_10=` +warp_11=`float2 zz = (uv-.5) *texsize.xy *.015*q27; +warp_12=`zz *= aspect.zw; +warp_13=`zz =mul(zz,float2x2(_qa)); +warp_14=` +warp_15=`//zz = zz * cos(1/rad*8); +warp_16=`/// {zz = 5*(zz.xy+zz.yx);} //evtl, +warp_17=` +warp_18=`if (k1==0) {arg = clamp(tan(zz),-clp,clp);} +warp_19=`else if (k1==1) {arg = clamp(tan(zz) / cos(zz.yx),-clp,clp);} +warp_20=`else if (k1==2) {arg = clamp(exp((zz.yx)),-clp,clp) ;} +warp_21=`else if (k1==3) {arg = clamp(sin(2*zz.yx),-clp,clp) ;} +warp_22=` +warp_23=`//float2 arg = (k1==0)*h1 + (k1==1)*h2 + (k1==2)*h3 + (k1==3)*h4; +warp_24=` +warp_25=`//arg *= (zz+0.1); +warp_26=`if (k2 >= 4) {arg -= length(zz)/4;} //ja +warp_27=` +warp_28=`//arg = atan(arg.yx*8);//ja, aber flimmer +warp_29=`//if (k2>=8) {arg = pow(arg,3);} // ja aber ohne das vorige +warp_30=`//g *= aspect.xy * cos(16*(.5-rad)*ang); //ok +warp_31=`uv += arg*texsize.zw* (1+ 4 * q28); +warp_32=` +warp_33=`float3 crisp = tex2D(sampler_main,uv); +warp_34=` +warp_35=`ret = q32*crisp + noiseVal*.8-.03; +warp_36=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`float mask = 0; +comp_14=`ret1 = 0; +comp_15=`int anz = 4; +comp_16=`float n = 1; +comp_17=`uv = mul(uv,float2x2(_qa)); +comp_18=`//uv +=.3*q1; +comp_19=`while (n <= anz) { +comp_20=` ang2 = 6.28*n/anz; +comp_21=` c = cos(ang2); +comp_22=` s = sin(ang2); +comp_23=` uv2.x = uv.x*c - uv.y*s; +comp_24=` uv2.y = uv.x*s + uv.y*c; +comp_25=` uv2 *= aspect.yx; +comp_26=` dist = 1-frac(1.0/anz*n+q30); //evtl sqrt ! +comp_27=` inten = pow(dist,.3)*(1-dist)*2; +comp_28=` float2 uv3 = 2*uv2*dist+.5; +comp_29=` neu = GetPixel (uv3); +comp_30=` blur = GetBlur2 (uv3); +comp_31=` neu += blur; +comp_32=` ret1 = ret1*.9+neu*inten; +comp_33=`n++; +comp_34=`} +comp_35=` +comp_36=` +comp_37=`ret = ret1 + .5*float3(0,0,.3)*rad ; +comp_38=` +comp_39=`} diff --git a/presets/presets_tryptonaut/martin - move this body.milk b/presets/presets_tryptonaut/martin - move this body.milk new file mode 100755 index 0000000000..c6d354ab9f --- /dev/null +++ b/presets/presets_tryptonaut/martin - move this body.milk @@ -0,0 +1,439 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.780001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.311600 +fWaveScale=1.228910 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.399900 +ob_g=0.000000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.799999 +nMotionVectorsY=9.600006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t1 = 1*cos(time/3); +wave_0_per_frame2=t2 = 1*sin(time/7); +wave_0_per_frame3= +wave_0_per_frame4=vol = mid_att + treb_att; +wave_0_per_frame5=vol_m = vol_m*0.999+vol*0.001; +wave_0_per_frame6=exc = above (vol, vol_m*1.1); +wave_0_per_frame7= +wave_0_per_frame8=pulse = 0.95*pulse + 0.05*exc; +wave_0_per_frame9=winkel = winkel + pulse/3; +wave_0_per_frame10=t3 = winkel; +wave_0_per_frame11= +wave_0_per_frame12= +wave_0_per_frame13= +wave_0_per_point1= //Alle Funktionen muessen rel. zu t_rel sein +wave_0_per_point2= +wave_0_per_point3= +wave_0_per_point4=t_abs = sample; +wave_0_per_point5=t_rel = sample-time/6; +wave_0_per_point6=ampl = sin(t_abs*3)-0.0; +wave_0_per_point7= +wave_0_per_point8=ox = 3*sin (time) + ampl*(sin (t_rel*267)) ; +wave_0_per_point9=oy = 3*cos (time) + ampl*(cos (t_rel*277)) ; +wave_0_per_point10=oz = 0*cos (t_rel*time/23)+t_abs*4 ; +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=r = (1+sqr(sin(t_rel*3.4)))/2; +wave_0_per_point14=g = (1+sqr(sin(t_rel*2.3)))/2; +wave_0_per_point15=b = (1+sqr (cos(t_rel*.9)))/2; +wave_0_per_point16= +wave_0_per_point17=a = .1; +wave_0_per_point18= +wave_0_per_point19=xang = t2+t3/3; +wave_0_per_point20=yang = t1*t2-t3/4; +wave_0_per_point21=zang = t3; +wave_0_per_point22=fov = 0.2; +wave_0_per_point23= +wave_0_per_point24= +wave_0_per_point25=// Rotation um x,y,z +wave_0_per_point26= +wave_0_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point29= +wave_0_per_point30=ox = mx; +wave_0_per_point31=oy = my; +wave_0_per_point32=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point33=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point34=ox = mx; +wave_0_per_point35=oz = mz; +wave_0_per_point36=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point37=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point38=oy = my; +wave_0_per_point39=oz = mz; +wave_0_per_point40= +wave_0_per_point41=oz = oz - 6; +wave_0_per_point42=x = ox*fov/oz +0.5; +wave_0_per_point43=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point44=y = oy*fov/oz + 0.5; +wave_0_per_point45= +wavecode_1_enabled=0 +wavecode_1_samples=232 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample; +wave_1_per_point3=t_rel = sample-time/5; +wave_1_per_point4=ampl = time; +wave_1_per_point5= +wave_1_per_point6=ox = ampl*10*sin (t_abs*68); +wave_1_per_point7=oy = ampl*10*cos (t_abs*28); +wave_1_per_point8=oz = ampl*10*cos (t_abs*128); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=r = sin(t_abs*1335)+1; +wave_1_per_point12=g = sin(t_abs*1783)+1 ; +wave_1_per_point13=b = rand(5)/5 ; +wave_1_per_point14= +wave_1_per_point15=a=0.5+0.25 * sin(t_rel*15); +wave_1_per_point16=xang = t1 ; +wave_1_per_point17=yang = t1; +wave_1_per_point18=zang = t1; +wave_1_per_point19=fov = 0.12; +wave_1_per_point20= +wave_1_per_point21= +wave_1_per_point22=// Rotation um x,y,z +wave_1_per_point23= +wave_1_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point26= +wave_1_per_point27=ox = mx; +wave_1_per_point28=oy = my; +wave_1_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point31=ox = mx; +wave_1_per_point32=oz = mz; +wave_1_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point35=oy = my; +wave_1_per_point36=oz = mz; +wave_1_per_point37= +wave_1_per_point38=oz = oz - 6; +wave_1_per_point39=x = ox*fov/oz +0.5; +wave_1_per_point40=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point41=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_point1=ampl = time - int(time); +wave_2_per_point2=aml = ampl/2; +wave_2_per_point3=x = .5 + ampl * sin(sample*230); +wave_2_per_point4=y = .5 + ampl * cos(sample*230); +wave_2_per_point5=a = .03; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.499900 +shapecode_0_y=0.500000 +shapecode_0_rad=0.143922 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=4.574821 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=0.800000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=63 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.600000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=trel = time/2+q20; +shape_1_per_frame3= +shape_1_per_frame4=x = .5+sin(trel); +shape_1_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_1_per_frame6=rad = .03; +shape_1_per_frame7=a = q26/4+.2; a2 = 0; +shape_1_per_frame8=a = .3; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20=q11 = min(q22,3); +per_frame_21= +per_frame_22=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23= +per_frame_24=k1 = is_beat*equal(index,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_27=rott = p2 * 3.14159265359/2; +per_frame_28= +per_frame_29=q27 = 8-index; +per_frame_30=q28 = index2; +per_frame_31= +per_frame_32=q1 = cos(rott); +per_frame_33=q2 = sin(rott); +per_frame_34=q3 = -q2; +per_frame_35=q4 = q1; +per_frame_36= +per_frame_37=rota = rota*dec_med + (1-dec_med)*q22/2; +per_frame_38= +per_frame_39=zoom = 1.0 + .02*q1; +per_frame_40=rot = .01*q2+rota/12*q2; +per_frame_41=dx = .02*q1; +per_frame_42=dy = .02*q2; +per_frame_43= +per_frame_44=wave_a = 0; +per_frame_45= +per_frame_46=movex = movex + dx; +per_frame_47=movey = movey + dy; +per_frame_48=movez = movez + zoom-1; +per_frame_49=q16 = rota; +per_frame_50=q17 = movez; +per_frame_51=q18 = movex; q19 = movey; +warp_1=`shader_body { +warp_2=` +warp_3=` +warp_4=`float2 uv6 = .1*sin(12*uv); +warp_5=`float dots = .00/length(uv6)*q24; +warp_6=` +warp_7=`ret = dots + GetPixel(uv)*.994 -.004; +warp_8=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2(texsize.z,0); +comp_12=`float2 ver = float2(0,texsize.w); +comp_13=` +comp_14=`float dist = 1; +comp_15=`float inten = 1; +comp_16=`ret1 = 0; +comp_17=`float anz = 3; +comp_18=`float n = 0; +comp_19=`uv4 = (uv); +comp_20=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_21=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_22=` +comp_23=`//uv4 = 0; +comp_24=` +comp_25=`mus = GetBlur1(uv4+.1*dz); +comp_26=` +comp_27=`uv2 = uv-.5; +comp_28=`while (n <= anz) { +comp_29=` dist = 1-frac(1.0/anz*n+q17); //evtl sqrt !; +comp_30=` +comp_31=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_32=` +comp_33=` uv3 = 2*uv2*dist + .5 + 0.0*time; +comp_34=` +comp_35=` uv3 *= aspect.yx; +comp_36=` uv3 = frac(uv3); +comp_37=` +comp_38=` uv3 = cos(42*uv3-8*float2(q18,q19)) + dz; +comp_39=` neu = saturate(.01/length(uv3)) ; +comp_40=` neu = dist*neu + (1-dist)*lum(neu); +comp_41=` ret1 = max(ret1,neu*inten); +comp_42=`n++; +comp_43=`} +comp_44=` +comp_45=` +comp_46=`ret = ret1*q22 + mus*(2) ; +comp_47=`} diff --git a/presets/presets_tryptonaut/martin - mucus cervix.milk b/presets/presets_tryptonaut/martin - mucus cervix.milk new file mode 100755 index 0000000000..3b9570927f --- /dev/null +++ b/presets/presets_tryptonaut/martin - mucus cervix.milk @@ -0,0 +1,441 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.958178 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.399900 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.915805 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=cent = sqrt((x-.5)*(x-.5)+(y-.5)*(y-.5)); +shape_0_per_frame10= +shape_0_per_frame11=rad = .1*cent; +shape_0_per_frame12=a = .8; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.070000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=trig = q24; +shape_1_per_frame2= +shape_1_per_frame3= +shape_1_per_frame4=x0 = x0*bnot(trig) + trig*(.5+ rand(100)/200); +shape_1_per_frame5=y0 = y0*bnot(trig) + trig*(.5+ rand(100)/200); +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=x0 = x0 + .1*q1*(3+q26)/fps; +shape_1_per_frame9=y0 = y0 + .1*q2*(3+q26)/fps; +shape_1_per_frame10= +shape_1_per_frame11=x0 = x0 - int(x0); +shape_1_per_frame12=y0 = y0 - int(y0); +shape_1_per_frame13= +shape_1_per_frame14=tex_ang = time; +shape_1_per_frame15=tex_zoom = q1; +shape_1_per_frame16=ang = time/100*q2; +shape_1_per_frame17=x = x0; y = y0; +shape_1_per_frame18=rad0 = rad0*bnot(trig) + trig*(.04+rand(100)/1000); +shape_1_per_frame19=rad = rad0; +shape_1_per_frame20= +shape_1_per_frame21= +shape_1_per_frame22=r0 = bnot(trig)*r0 + trig * rand(10)/10; +shape_1_per_frame23=g0 = bnot(trig)*g0 + trig * rand(10)/10; +shape_1_per_frame24=b0 = bnot(trig)*b0 + trig * rand(10)/10; +shape_1_per_frame25= +shape_1_per_frame26=r = r0; b = b0; g = g0; +shape_1_per_frame27=r2 = 0; b2 = 0; g2 = 0; +shape_1_per_frame28=a= 1; a2 = .3; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5 - 0*rand(15)/200; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a = min(q21/2 ,.9); +shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.010000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=rad = q2+.02 +shape_3_per_frame2=; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20=q11 = min(q22,3); +per_frame_21= +per_frame_22=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_23= +per_frame_24=k1 = is_beat*equal(index,0); +per_frame_25=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_26=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_27=rott = p2 * 3.14159265359/2; +per_frame_28= +per_frame_29=q27 = 8-index; +per_frame_30=q28 = index2; +per_frame_31= +per_frame_32=q1 = cos(rott); +per_frame_33=q2 = sin(rott); +per_frame_34=q3 = -q2; +per_frame_35=q4 = q1; +per_frame_36= +per_frame_37=zoom = 1.0 + .02*q1; +per_frame_38=rot = .01*q2; +per_frame_39=dx = .0*index; +per_frame_40= +per_frame_41=wave_a = 0; +warp_1=`float3 color; +warp_2=`float2 uv2, zz; +warp_3=`float dx, dy; +warp_4=`shader_body { +warp_5=` +warp_6=`float2 uv1 = (uv-.5)*aspect.xy; +warp_7=` +warp_8=`float2 hor = float2 (texsize.w,0); +warp_9=`float2 ver = float2 (0,texsize.z); +warp_10=` +warp_11=` +warp_12=`float2 k1 = float2((uv.x), (uv.y)); +warp_13=` +warp_14=`float3 ret1 = GetBlur1(uv) ; +warp_15=` +warp_16=`zz = uv.xy * texsize.xy *(.01); +warp_17=`float h1 = (cos(zz.y*q1) * sin(-zz.y)); +warp_18=`float h2 = (sin(zz.x) * cos(zz.y*q2)); +warp_19=`uv.xy -= float2(h1,h2)*texsize.zw * (8+6*q11); +warp_20=` +warp_21=`uv2 = uv/2*q27/4; //variieren +warp_22=` +warp_23=`float2 uv3 = uv2; //Krausen nur mit uv +warp_24=` +warp_25=`dx = lum(GetPixel(uv3+hor) - GetPixel(uv3-hor)); +warp_26=`dy = lum(GetPixel(uv3+ver) - GetPixel(uv3-ver)); +warp_27=` +warp_28=`//dx = 0; dy = 0; +warp_29=` +warp_30=`dx *=1; dy *= 1;; +warp_31=`float f1 = .15+.1*q28; +warp_32=`float2 uv4 = uv2+time/100; +warp_33=` +warp_34=`dx += f1*(tex2D(sampler_noise_hq,uv4).x-.5); +warp_35=`dy += f1*(tex2D(sampler_noise_hq,uv4).y-.5); +warp_36=` +warp_37=`color = .9+.1*roam_cos; +warp_38=` +warp_39=`float2 dz = float2 (dx,dy); +warp_40=` +warp_41=`zz = dz; +warp_42=` +warp_43=`float3 crisp= tex2D(sampler_main,uv+zz*.04); +warp_44=`float3 crisp2 = tex2D(sampler_main,uv); +warp_45=`crisp += crisp2; +warp_46=`crisp *= .5; +warp_47=`crisp +=.05*color - length(zz)*.3; +warp_48=` +warp_49=`ret1 = crisp; +warp_50=`ret = ret1 * .97 - .015 ; +warp_51=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2(texsize.z,0); +comp_12=`float2 ver = float2(0,texsize.w); +comp_13=` +comp_14=`float dist = 1; +comp_15=`float inten = 1; +comp_16=`ret1 = 0; +comp_17=`float anz = 1; +comp_18=`float n = 0; +comp_19=`uv4 = (uv); +comp_20=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_21=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_22=` +comp_23=`//uv4 = 0; +comp_24=` +comp_25=`mus = .5*GetPixel(uv4+.1*dz)+0*dz.x+.01; +comp_26=` +comp_27=`uv2 = uv-.5; +comp_28=`while (n <= anz) { +comp_29=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_30=` +comp_31=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_32=` +comp_33=` uv3 = 2*uv2*dist + .5 + 0.0*time; +comp_34=` +comp_35=`// uv3 *= aspect.yx; +comp_36=` uv3 = frac(uv3); +comp_37=` +comp_38=` uv3 = .2 * cos(42*uv3+time/2) + 99*dz; +comp_39=` neu = saturate(.01/length(uv3)) ; +comp_40=` neu = dist*neu + (1-dist)*lum(neu); +comp_41=` ret1 = max(ret1,neu*inten); +comp_42=`n++; +comp_43=`} +comp_44=` +comp_45=` +comp_46=`ret = ret1 + saturate(16*mus*(.1+ret1)); +comp_47=`} diff --git a/presets/presets_tryptonaut/martin - neon space ps2.milk b/presets/presets_tryptonaut/martin - neon space ps2.milk new file mode 100755 index 0000000000..ca423b1d3a --- /dev/null +++ b/presets/presets_tryptonaut/martin - neon space ps2.milk @@ -0,0 +1,385 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.100000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.533276 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=45.111504 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.500000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/2; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(50)/50; +shape_2_per_frame5=g = rand(50)/50; +shape_2_per_frame6=b = rand(50)/50; +shape_2_per_frame7= +shape_2_per_frame8=r2 = 1; +shape_2_per_frame9=g2 = 1; +shape_2_per_frame10=b2 = 1; +shape_2_per_frame11= +shape_2_per_frame12=a = min(q21/2 ,1); +shape_2_per_frame13=a = .5; +shape_2_per_frame14=rad = a*a/16 ; +shape_2_per_frame15=a2 = .5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.490000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.845919 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.680393 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.100000 +per_frame_init_1=p1 = 2000; p2 = 200; p3=50; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .1+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%5; +per_frame_10=monitor = index2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18=q27 = index; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott_ = p2 * 3.1416/4; +per_frame_25= +per_frame_26=rott = rott + .2*30/fps*q2; +per_frame_27= +per_frame_28= +per_frame_29=q1 = cos(rott); +per_frame_30=q2 = sin(rott); +per_frame_31=q3 = -q2; +per_frame_32=q4 = q1; +per_frame_33= +per_frame_34=ran = bnot(q24)*ran + q24 * (rand(50)-24); +per_frame_35=tran = tan(ran); +per_frame_36=tran = max(tran,-5); +per_frame_37=tran = min(tran,5); +per_frame_38= +per_frame_39=trel = trel + .02*30/fps*tran+q24; +per_frame_40=q5 = cos(trel); +per_frame_41=q6 = sin(trel); +per_frame_42=q7 = -q6; +per_frame_43=q8 = q5; +per_frame_44= +per_frame_45=movex = movex*dec_slow + .1*sin(rott)*30/fps; +per_frame_46=q9 = movex; +per_frame_47= +per_frame_48=spd = spd*bnot(q24) + q26*q24; +per_frame_49=movez = movez + .005*30/fps*spd; +per_frame_50=q30 = movez; +per_frame_51=//q30 = .3* (sin(time/45) + 1.5); +per_frame_52= +per_frame_53=mv_x = 20; +per_frame_54=mv_y = 15; +per_frame_55=mv_a = .1; +per_frame_56=mv_l = 0; +per_frame_57= +per_frame_58=q18 = sin(time/7); +per_frame_59=q19 = sin(time/11); +per_frame_60= +per_frame_61=q32 = pow(0.98, 30/fps); //fade +per_frame_62= +per_pixel_1=zoom = 1; +per_pixel_2=warp = .1; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = .2*q28*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float clp = .5+rand_preset*10; +warp_12=`float2 rs = clamp(tan(z)*d,-clp,clp); +warp_13=`uv += rs/20; +warp_14=` +warp_15=` +warp_16=`uv6 = .4*sin(uv1*2*(4+q28)); +warp_17=`mus = .06/(length(uv6)); +warp_18=`mus *= roam_cos; +warp_19=` +warp_20=`float3 blur = GetBlur1(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.0 + .15*mus; +warp_25=` +warp_26=`//ret1 = lerp(ret1,ret1.gbr,lum(ret1)); +warp_27=`q25 = q24+.01; +warp_28=`ret = q25*(ret1-.02)*.98 + (1-q25)* (GetPixel(uv_orig)-.0015); +warp_29=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 uv2,uv3; +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`uv = mul(uv, float2x2(_qb)); +comp_11=` +comp_12=`float dist = 1; +comp_13=`float inten = 1; +comp_14=`ret1 = 0; +comp_15=`int anz = 2; +comp_16=`float n = anz; +comp_17=`while (n >= 0) { +comp_18=` ang2 = 0*n/anz; +comp_19=` c = cos(ang2); +comp_20=` s = sin(ang2); +comp_21=` uv2.x = uv.x*c - uv.y*s; +comp_22=` uv2.y = uv.x*s + uv.y*c; +comp_23=`//uv2 = uv; +comp_24=` dist = 1-frac(1.0/anz*n+q30); //evtl sqrt ! +comp_25=` inten = (dist)*(1-dist)*2; +comp_26=` uv3 = 3*uv2*dist*(1+uv.x) + float2(q18*n,q19); +comp_27=` +comp_28=` neu = tex2D(sampler_main,uv3) + 2*GetBlur1(frac(uv3)).bgr*1; +comp_29=` +comp_30=` ret1 = max(ret1,neu*inten); +comp_31=`n--; +comp_32=`} +comp_33=` +comp_34=`//ret1 = lerp(ret1,ret1.gbr,q26/6); +comp_35=`ret = ret1*2 + (1-rad)*q26/3*GetPixel(q5/2+uv*(2-rad)); +comp_36=` +comp_37=`} diff --git a/presets/presets_tryptonaut/martin - neon space ps3.milk b/presets/presets_tryptonaut/martin - neon space ps3.milk new file mode 100755 index 0000000000..e6c9838ec6 --- /dev/null +++ b/presets/presets_tryptonaut/martin - neon space ps3.milk @@ -0,0 +1,387 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.100000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.533276 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=45.111504 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.500000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/2; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(50)/50; +shape_2_per_frame5=g = rand(50)/50; +shape_2_per_frame6=b = rand(50)/50; +shape_2_per_frame7= +shape_2_per_frame8=r2 = 1; +shape_2_per_frame9=g2 = 1; +shape_2_per_frame10=b2 = 1; +shape_2_per_frame11= +shape_2_per_frame12=a = min(q21/2 ,1); +shape_2_per_frame13=a = .5; +shape_2_per_frame14=rad = a*a/16 ; +shape_2_per_frame15=a2 = .5; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.490000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.845919 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.680393 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.100000 +per_frame_init_1=p1 = 2000; p2 = 200; p3=50; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.9, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .1+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%5; +per_frame_10=monitor = index2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass + mid + treb; +per_frame_18=q27 = index; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index%2,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott_ = p2 * 3.1416/4; +per_frame_25= +per_frame_26=rott = rott + .2*30/fps*q2; +per_frame_27= +per_frame_28= +per_frame_29=q1 = cos(rott); +per_frame_30=q2 = sin(rott); +per_frame_31=q3 = -q2; +per_frame_32=q4 = q1; +per_frame_33= +per_frame_34=ran = bnot(q24)*ran + q24 * (rand(50)-24); +per_frame_35=tran = tan(ran); +per_frame_36=tran = max(tran,-5); +per_frame_37=tran = min(tran,5); +per_frame_38= +per_frame_39=trel = trel + .02*30/fps*tran+q24; +per_frame_40=q5 = cos(trel); +per_frame_41=q6 = sin(trel); +per_frame_42=q7 = -q6; +per_frame_43=q8 = q5; +per_frame_44= +per_frame_45=movex = movex*dec_slow + .1*sin(rott)*30/fps; +per_frame_46=q9 = movex; +per_frame_47= +per_frame_48=spd = spd*bnot(q24) + q26*q24; +per_frame_49=movez = movez + .005*30/fps*spd; +per_frame_50=q30 = movez; +per_frame_51=//q30 = .3* (sin(time/45) + 1.5); +per_frame_52= +per_frame_53=mv_x = 20; +per_frame_54=mv_y = 15; +per_frame_55=mv_a = .1; +per_frame_56=mv_l = 0; +per_frame_57= +per_frame_58=q18 = sin(time/7); +per_frame_59=q19 = sin(time/11); +per_frame_60= +per_frame_61=q32 = pow(0.98, 30/fps); //fade +per_frame_62= +per_pixel_1=zoom = 1; +per_pixel_2=warp = .1; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = .2*q28*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float clp = .5+rand_preset*10; +warp_12=`float2 rs = clamp(tan(z)*d,-clp,clp); +warp_13=`uv += rs/20; +warp_14=` +warp_15=` +warp_16=`uv6 = .4*sin(uv1*2*(4+q28)); +warp_17=`mus = .06/(length(uv6)); +warp_18=`mus *= roam_cos; +warp_19=` +warp_20=`float3 blur = GetBlur1(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.04 + .15*mus; +warp_25=` +warp_26=`//ret1 = lerp(ret1,ret1.gbr,lum(ret1)); +warp_27=`q25 = q24+.01; +warp_28=`ret = q25*(ret1-.02)*.98 + (1-q25)* (GetPixel(uv_orig)-.0015); +warp_29=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 uv2,uv3; +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`uv = mul(uv, float2x2(_qb)); +comp_11=` +comp_12=`float dist = 1; +comp_13=`float inten = 1; +comp_14=`ret1 = 0; +comp_15=`int anz = 4; +comp_16=`float n = anz; +comp_17=`while (n >= 0) { +comp_18=` ang2 = 0*n/anz; +comp_19=` c = cos(ang2); +comp_20=` s = sin(ang2); +comp_21=` uv2.x = uv.x*c - uv.y*s; +comp_22=` uv2.y = uv.x*s + uv.y*c; +comp_23=`//uv2 = uv; +comp_24=` dist = 1-frac(1.0/anz*n+q30); //evtl sqrt ! +comp_25=` inten = sqrt(dist)*(1-dist)*2; +comp_26=`float2 uv3 = 3*uv2*dist*(1+q5*uv.x) + 0.5 +float2(q18*n,q19) ; +comp_27=` +comp_28=`float3 cmul = float3(dist,1-dist,1-(dist-.5)*(dist-.5)*4); +comp_29=` neu = tex2D(sampler_main,uv3) +q6*GetBlur1(frac(uv3*1.04)).bgr*1; +comp_30=` +comp_31=`// neu = neu*cmul; +comp_32=` ret1 = max(ret1,neu*inten); +comp_33=`n--; +comp_34=`} +comp_35=` +comp_36=`ret1 = lerp(ret1,ret1.gbr,q26/6); +comp_37=`ret = ret1*2 + (1-rad)*q26/3*GetPixel(q5/2+uv*(2-rad)); +comp_38=` +comp_39=`} diff --git a/presets/presets_tryptonaut/martin - night cathedral.milk b/presets/presets_tryptonaut/martin - night cathedral.milk new file mode 100755 index 0000000000..2758c3406f --- /dev/null +++ b/presets/presets_tryptonaut/martin - night cathedral.milk @@ -0,0 +1,523 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.103075 +fWaveSmoothing=0.540000 +fWaveParam=0.380000 +fModWaveAlphaStart=0.810000 +fModWaveAlphaEnd=1.400000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_point1=x = .45+sample/10 ; +wave_0_per_point2=y = .5+ value2*.01; +wave_0_per_point3= +wave_0_per_point4=a = 1*q24*((q27+1)%2); +wave_0_per_point5=//a = min(1, a / (4*abs(x/2-1))); +wave_0_per_point6=r = .5+.5*sin(time/5); +wave_0_per_point7=g = .5+.5*sin(time/6); +wave_0_per_point8=b = .5+.5*sin(time/13); +wavecode_1_enabled=1 +wavecode_1_samples=128 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t +wave_1_per_point1=y = .45+sample/10 ; +wave_1_per_point2=x = .5+ value2*0.01; +wave_1_per_point3= +wave_1_per_point4=a = 1*q24*(q27%2); +wave_1_per_point5=//a = min(1, a / (4*abs(y/2-1))); +wave_1_per_point6= +wave_1_per_point7=r = .5+.5*sin(time/7); +wave_1_per_point8=g = .5+.5*sin(time/9); +wave_1_per_point9=b = .5+.5*sin(time/11); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=0 +shapecode_0_sides=18 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.154155 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.769911 +shapecode_0_tex_zoom=5.277839 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_ang = 3+2*q1; +shapecode_1_enabled=0 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.068920 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.831505 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.900000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a = q24/2; a2 = 0; +shape_1_per_frame2= +shape_1_per_frame3=r = rand(10)/10; +shape_1_per_frame4=g = rand(10)/10; +shape_1_per_frame5=b = rand(10)/10; +shape_1_per_frame6= +shape_1_per_frame7=rad = .06*q22; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + .1* sin (time*73); +shape_2_per_frame2=y = .5 + .1* sin (time*23); +shape_2_per_frame3= +shape_2_per_frame4=r = 0; g = 0; b = 0; +shape_2_per_frame5=r2 = 1; g2 = 1; b2 = 1; +shape_2_per_frame6= +shape_2_per_frame7=rad = mid_att/100; +shape_2_per_frame8=a = .7; +shape_2_per_frame9=a2 = a; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.510000 +shapecode_3_rad=0.198688 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.005310 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.05 + rand(900)/1000; +shape_3_per_frame2=y = 0.05 + rand(900)/1000; +shape_3_per_frame3= +per_frame_init_1=prox = 1; +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=//dec_xlow = pow (0.999, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) %16; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_11= +per_frame_12=q22 = peak; +per_frame_13=q24 = is_beat; +per_frame_14=q26 = bass_att + mid_att + treb_att; +per_frame_15=vol = vol*dec_med + (1-dec_med)*q26; +per_frame_16=q27 = index + 1; +per_frame_17=q28 = index2 +1; +per_frame_18=q28 = 4+4*sin(time/13); +per_frame_19= +per_frame_20= +per_frame_21=//****tunnel viewpoint x,y +per_frame_22=vtrig = is_beat * bnot(index%4); +per_frame_23=vx = vx * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_24=vy = vy * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_25=vx = vx* below(index%15,7); //### +per_frame_26=vy = vy* below(index%15,7); +per_frame_27=q5 = vx*20; +per_frame_28=q6 = vy*20; +per_frame_29= +per_frame_30=//***tunnel width +per_frame_31=q21 = (1+sin(time/12))/16+.03; +per_frame_32= +per_frame_33= +per_frame_34=//****tunnel rotation +per_frame_35=rota = rota +.01*below(index%16,8)/fps*30; +per_frame_36=rota1 = rota1*dec_med + (1-dec_med)*rota; +per_frame_37=q7 = rota1/4; +per_frame_38= +per_frame_39=//****tunnel speed +per_frame_40=movez = movez + .01/(.1+abs(vx)+abs(vy))/fps; +per_frame_41=q8 = movez * (q21*.01+1); +per_frame_42=//dyn. Aenderung von q21 bewirkt auch Richt.wechsel +per_frame_43= +per_frame_44=//*********************** +per_frame_45=trig1= q24*bnot(index%12); +per_frame_46=trig2= q24*bnot((index+4)%12); +per_frame_47=trig3= q24*bnot((index+8)%12); +per_frame_48=trel = trel + vol/fps; +per_frame_49=z0 = 2/q21; +per_frame_50=hx = 4; +per_frame_51=hy = 4; +per_frame_52= +per_frame_53=p1z = z0; +per_frame_54=q9 = 1*hx/(p1z); +per_frame_55=q10 = 0*hy/(p1z); +per_frame_56=q11 = p1z; +per_frame_57=q12 = .1+.02*q26*bnot((index+2)%3)*p1z*exp(-p1z/100); +per_frame_58= +per_frame_59=p2z = z0; +per_frame_60=q13 = -.5*hx/(p2z); +per_frame_61=q14 = .87*hy/(p2z); +per_frame_62=q15 = p2z; +per_frame_63=q16 = .1+.02*q26*bnot((index+2)%3)*p2z*exp(-p2z/100); +per_frame_64= +per_frame_65= +per_frame_66=p3z = z0; +per_frame_67=q17 = -.5*hx/(p3z); +per_frame_68=q18 = -.87*hy/(p3z); +per_frame_69=q19 = p3z; +per_frame_70=q20 = .1+.02*q26*bnot((index+2)%3)*p3z*exp(-p3z/100); +per_frame_71= +per_frame_72=zoom = 1.2 + sin(time/17)*.3; +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=`shader_body { +warp_4=` +warp_5=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_6=` +warp_7=`float2 uv6 = uv1; +warp_8=`float z = 12*(1+rand_preset)*length((abs(uv1.x)-abs(uv1.y))); +warp_9=`float2 d = normalize(uv1); +warp_10=`float2 rs = clamp(tan(z)*d,-4,4); +warp_11=`uv1 -= rs/40; +warp_12=` +warp_13=`uv6 = .4*cos(uv1*8); +warp_14=`mus = .002/(length(uv6.y+uv6.x)); +warp_15=`mus *= (1+roam_cos); +warp_16=` +warp_17=`float3 crisp= tex2D(sampler_main,uv1*(1-q28/12+.4*z)+.5); +warp_18=` +warp_19=`float3 ret1 = crisp + mus; +warp_20=` +warp_21=`ret = (ret1*.99-.025); +warp_22=` +warp_23=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float k1, k2, mask1, mask2, mask3, mask4, +comp_4=` rad1, rad2, rad3, rad4; +comp_5=`float2 rs, rss, rss0, rs0, uv2, uv3,uv4, +comp_6=` rsk1,rsk2,rsk3,rsk4, uvo, dz1, dz2, dz3, dz4, +comp_7=` Kugel1, Kugel2, Kugel3,Ring, tmp; +comp_8=`float3 noise, ret1, cathed, sky, fire; +comp_9=` +comp_10=`shader_body { +comp_11=`uvo = uv*aspect.xy; +comp_12=`uv = uv - .1*float2(q5,q6); +comp_13=`float2 uv1 = (uv-.5)*aspect.xy; +comp_14=` +comp_15=`//Kugel1 +comp_16=`rsk1 = (uv1 + float2 (q9,q10)) ; +comp_17=`dz1 = normalize(rsk1); +comp_18=`rad1 = q11*length (rsk1) ; +comp_19=`uv4 = sin(-rad1)*dz1; +comp_20=`mask1 = saturate(7-10*rad1); +comp_21=`Kugel1 = uv4*mask1; +comp_22=` +comp_23=`//Kugel2 +comp_24=`rsk2 = (uv1 + float2 (q13,q14)) ; +comp_25=`dz2 = normalize(rsk2); +comp_26=`rad2 = q15*length (rsk2) ; +comp_27=`uv4 = sin(-rad2)*dz2; +comp_28=`mask2 = saturate(7-10*rad2); +comp_29=`Kugel2 = uv4*mask2; +comp_30=` +comp_31=`//Kugel3 +comp_32=`rsk3 = (uv1 + float2 (q17,q18)) ; +comp_33=`dz3 = normalize(rsk3); +comp_34=`rad3 = q19*length (rsk3) ; +comp_35=`uv4 = sin(-rad3)*dz3; +comp_36=`mask3 = saturate(7-10*rad3); +comp_37=`Kugel3 = uv4*mask3; +comp_38=` +comp_39=`//Ring +comp_40=`rsk4 = float2(length(uv1)-.22,0) ; +comp_41=`dz4 = normalize(rsk4); +comp_42=`rad4 = q19*length (rsk4) ; +comp_43=`uv4 = sin(-rad4)*dz4; +comp_44=`mask4 = saturate(3-10*rad4); +comp_45=`Ring = uv4*mask4*0; +comp_46=` +comp_47=`float2 dz = (Kugel2 + Kugel1 + Kugel3 + Ring)*.2; +comp_48=` +comp_49=`//******************** STARS +comp_50=`uv1 -= dz; +comp_51=`rss0.x = atan2(uv1.x, uv1.y)/3.1416; +comp_52=`rss0.y = .015/(length (uv1)); +comp_53=` +comp_54=`rss = float2 (rss0.x,rss0.y+time/4); +comp_55=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_56=`float noise = (tex2D(sampler_pw_noise_lq,rss/32)-.9 >= 0); +comp_57=`tmp = abs(frac(rss*8)-.5); +comp_58=`float3 dots = saturate(.04/length(tmp)) *noise; +comp_59=` +comp_60=`dots *= saturate(.2/abs(rss0.y)); +comp_61=`dots = saturate(lum(dots)*lum(dots)*1); +comp_62=`k1 = lum(dots); +comp_63=`dots= k1*float3(1,k1*.8,k1*k1/3) ; +comp_64=` +comp_65=`//************************* +comp_66=`float z = .2/(length(uv1)+q21); +comp_67=`uv2.y = z + q8; +comp_68=`uv2.x = rss0.x +q7; +comp_69=`uv3 =frac(uv2*2); +comp_70=`cathed = tex2D (sampler_main,uv3)/z; +comp_71=`float cmask = saturate(1-32*GetBlur1(uv3)); +comp_72=` +comp_73=`dz1 = normalize(mul(dz1,float2x2(-q9,q10,-q10,-q9)))+.5; +comp_74=`dz2 = normalize(mul(dz2,float2x2(-q13,q14,-q14,-q13)))+.5; +comp_75=`dz3 = normalize(mul(dz3,float2x2(-q17,q18,-q18,-q17)))+.5; +comp_76=` +comp_77=`float3 mod = 1*float3(.7,.3,1)* sin(time/7); +comp_78=`float3 blk = (dz1.x/rad1 + dz2.x/rad2 + dz3.x/rad3) *mod; +comp_79=`blk = saturate(blk); +comp_80=` +comp_81=`//Feuer: +comp_82=`float feu = .1+q22; +comp_83=`fire = saturate(.03*feu/length (uv1)* +comp_84=` (lum(GetBlur2(uv3-float2(0,0))))) ; +comp_85=` +comp_86=`//Tasaechl. Feuer; Problem: uv1 passt nicht zu uv3 +comp_87=`float2 uvf = uv1+.0; +comp_88=`fire += saturate(.001*feu/length (uvf)* +comp_89=` (lum(tex2D (sampler_main,uvf+.5)))-.01) +comp_90=`* (1/length(uvf)); +comp_91=` +comp_92=`k1 = lum(fire); +comp_93=`fire = k1*float3(1,k1,k1*k1/3) ; +comp_94=` +comp_95=`float2 uvs = 32*uvo; +comp_96=`float3 smask = (tex2D (sampler_pw_noise_lq,uvs/256)).g-.9; +comp_97=`float stars = saturate(.3/length(abs(frac(uvs)-.5))*smask); +comp_98=` +comp_99=`float3 moon = saturate (.02/length(uvo-.2)); +comp_100=`sky = stars*stars * saturate(1-4*moon) + moon ; +comp_101=` +comp_102=`ret += sky*(cmask); +comp_103=`ret += fire+dots; +comp_104=` +comp_105=`ret += saturate(.0+moon+blk)*cathed + blk; +comp_106=`} diff --git a/presets/presets_tryptonaut/martin - organic light.milk b/presets/presets_tryptonaut/martin - organic light.milk new file mode 100755 index 0000000000..4b0c8a0e65 --- /dev/null +++ b/presets/presets_tryptonaut/martin - organic light.milk @@ -0,0 +1,420 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.527400 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.490000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.110000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=31.999994 +nMotionVectorsY=19.200005 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=7.858000 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .478; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10=rad = .1; +shape_0_per_frame11=a = .8; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.070000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.400000 +shape_1_per_frame1=tex_zoom = q27; +shapecode_2_enabled=0 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a2 = min(q21/2 ,1)/2; +shape_2_per_frame12= +shape_2_per_frame13=a = 0; +shape_2_per_frame14= +shape_2_per_frame15=rad = a2 * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.260000 +shapecode_3_y=0.760000 +shapecode_3_rad=0.394780 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=tex_zoom = q27/2; +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.96, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17=q26 = bass_att + mid_att + treb_att ; +per_frame_18=q27 = index + 1; +per_frame_19=q28 = index2; +per_frame_20= +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/2; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32= +per_frame_33=vol = vol*dec_slow + q26 * (1-dec_slow) + q24*q1; +per_frame_34=q10 = q27*q28;; +per_frame_35= +per_frame_36= +per_frame_37=movex = movex + .03*30/fps; +per_frame_38=q29 = movex; +per_frame_39=movez = movez + .07*30/fps; +per_frame_40=q30 = movez; +per_frame_41= +per_frame_42=crawl = crawl + .001*(2+q22)*30/fps; +per_frame_43=q31 = crawl; +per_frame_44= +per_frame_45=q32 = 2 + sin(time/7); +per_frame_46=monitor = index2; +per_frame_47= +per_frame_48=zoom = 1.0+.01*q1; +per_frame_49=dy = .005; +per_frame_50=dx = .0; +per_frame_51=warp = 0; +per_frame_52=rot = .0; +per_frame_53= +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv-.5) * aspect.xy; +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=`float z = q10*24*length(((uv1.x)*(uv1.y))); +warp_11=`float2 d = normalize(uv1); +warp_12=`float2 rs = clamp(tan(z)*d,-2,2); +warp_13=`uv += .01*lum(GetBlur1(uv))*float2 (0,1); +warp_14=`uv -= rs/200; +warp_15=` +warp_16=`uv6 = .4*sin(uv*6+rand_frame*16); +warp_17=`mus = .1/(length(uv6)); +warp_18=`mus *= .5*(1+roam_cos); +warp_19=` +warp_20=`float3 blur = GetBlur2(frac(uv)); +warp_21=` +warp_22=`float3 crisp= tex2D(sampler_main,uv); +warp_23=` +warp_24=`float3 ret1 = crisp - blur*.02 + .1*mus; +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.025) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2(texsize.z,0); +comp_12=`float2 ver = float2(0,texsize.w); +comp_13=` +comp_14=`float dist = 1; +comp_15=`float inten = 1; +comp_16=`ret1 = 0; +comp_17=`float anz = 1; +comp_18=`float n = 0; +comp_19=`//uv = mul(uv-.5, float2x2(_qa))+.5; +comp_20=`float z = uv.y/2+1; z = z/1.2; z = 1; +comp_21=`uv4 = float2((uv.x-.5)/z+.5,uv.y/z); +comp_22=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_23=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_24=` +comp_25=`//uv4 = 0; +comp_26=` +comp_27=`mus = 1*GetPixel(uv4+.2*dz)-q1*1*dz.y+.04; +comp_28=` +comp_29=`uv2 = uv-.5; +comp_30=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_31=` +comp_32=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_33=` +comp_34=` +comp_35=` uv3 = .4 * cos(42*uv3) + 64*dz; +comp_36=` neu = saturate(.01/length(uv3)) ; +comp_37=` neu = dist*neu + (1-dist)*lum(neu); +comp_38=` ret1 = max(ret1,neu*inten); +comp_39=` +comp_40=` +comp_41=`ret = -0*ret1 + saturate(12*mus*(.1+ret1))-.05; +comp_42=`} diff --git a/presets/presets_tryptonaut/martin - pendulum in brass ps3.milk b/presets/presets_tryptonaut/martin - pendulum in brass ps3.milk new file mode 100755 index 0000000000..87b1a09035 --- /dev/null +++ b/presets/presets_tryptonaut/martin - pendulum in brass ps3.milk @@ -0,0 +1,439 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=5.552000 +fWaveSmoothing=0.504000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.500000 +mv_g=0.500000 +mv_b=0.500000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.503300 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=0.600000 +wavecode_0_b=0.400000 +wavecode_0_a=1.000000 +wave_0_per_point1= +wave_0_per_point2=x0 = .5 + .4 * sin(time/2); +wave_0_per_point3= +wave_0_per_point4=angle = rand(1000)/1000*6.28; +wave_0_per_point5=rad = rand(1000)/1000; +wave_0_per_point6=rad = rad * rad; +wave_0_per_point7= +wave_0_per_point8=x = x0 + .1*rad*sin(angle); +wave_0_per_point9=y = .5 + .1*rad*cos(angle); +wave_0_per_point10= a = 1-rad; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=trel = q11-.0; +wave_1_per_frame2=t1 = int(trel); +wave_1_per_frame3=t2 = trel - int(trel); +wave_1_per_point1=k1 = (sample*512) % 8; +wave_1_per_point2= +wave_1_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_1_per_point4= + (1-equal(k1,0))*t1; +wave_1_per_point5= +wave_1_per_point6=exc = 1+rand(5); +wave_1_per_point7=ampl = sample*sqrt(t2) * (1+exc); +wave_1_per_point8= +wave_1_per_point9=f1 = q14*ampl* sin(t1*6.28/4096); +wave_1_per_point10=f2 = q14*ampl* cos(t1*6.28/4096); +wave_1_per_point11= +wave_1_per_point12=x = q12 + k1* f1 ; +wave_1_per_point13=y = q13 + k1* f2; +wave_1_per_point14= +wave_1_per_point15=a = equal(k1,6) + equal (k1,0); +wave_1_per_point16= +wave_1_per_point17=r = 1; +wave_1_per_point18=b = equal (k1,0) + .5;; +wave_1_per_point19=g = .8* (1+.6*equal (k1,0)) ; +wave_1_per_point20=a = a * q15 * (1-0*t2*t2); +wave_1_per_point21=//a = 0; +wave_1_per_point22= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=trel = q11-.33; +wave_2_per_frame2=t1 = int(trel); +wave_2_per_frame3=t2 = trel - int(trel); +wave_2_per_point1=k1 = (sample*512) % 8; +wave_2_per_point2= +wave_2_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_2_per_point4= + (1-equal(k1,0))*t1; +wave_2_per_point5= +wave_2_per_point6=ampl = sample*sqrt(t2); +wave_2_per_point7= +wave_2_per_point8=f1 = q14*ampl* sin(t1*6.28/4096); +wave_2_per_point9=f2 = q14*ampl* cos(t1*6.28/4096); +wave_2_per_point10= +wave_2_per_point11=x = q12 + k1* f1 ; +wave_2_per_point12=y = q13 + k1* f2; +wave_2_per_point13= +wave_2_per_point14=a = equal(k1,6) + equal (k1,0); +wave_2_per_point15= +wave_2_per_point16=r = 1; +wave_2_per_point17=b = equal (k1,0) + .5;; +wave_2_per_point18=g = .6* (1+.6*equal (k1,0)); +wave_2_per_point19=a = a * q15 * (1-0*t2*t2); +wave_2_per_point20=//a = 0; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=trel = q11-.66; +wave_3_per_frame2=t1 = int(trel); +wave_3_per_frame3=t2 = trel - int(trel); +wave_3_per_point1=k1 = (sample*512) % 8; +wave_3_per_point2= +wave_3_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_3_per_point4= + (1-equal(k1,0))*t1; +wave_3_per_point5= +wave_3_per_point6=ampl = sample*sqrt(t2); +wave_3_per_point7= +wave_3_per_point8=f1 = q14*ampl* sin(t1*6.28/4096); +wave_3_per_point9=f2 = q14*ampl* cos(t1*6.28/4096); +wave_3_per_point10= +wave_3_per_point11=x = q12 + k1* f1 ; +wave_3_per_point12=y = q13 + k1* f2; +wave_3_per_point13= +wave_3_per_point14=a = equal(k1,6) + equal (k1,0); +wave_3_per_point15= +wave_3_per_point16=r = 1; +wave_3_per_point17=b = equal (k1,0); +wave_3_per_point18=g = .6* (1+.6*equal (k1,0)); +wave_3_per_point19=a = a * q15 * (1-0*t2*t2); +wave_3_per_point20=//a = 0; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.460000 +shapecode_0_y=0.380000 +shapecode_0_rad=0.267799 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.051004 +shapecode_0_r=0.800000 +shapecode_0_g=1.000000 +shapecode_0_b=0.500000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.900000 +shapecode_0_g2=0.900000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = .5 + .1 * q1; +shape_0_per_frame2=y = .5 + .1 * q2; +shape_0_per_frame3= +shape_0_per_frame4=x = .5-q9/5; +shape_0_per_frame5=y = .6+q10/5; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.130000 +shapecode_1_y=0.190000 +shapecode_1_rad=0.110450 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141590 +shapecode_1_tex_zoom=1.711049 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.900000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.226130 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.200000 +shapecode_2_b=0.200000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = 0.05 + rand(900)/1000; +shape_2_per_frame2=y = 0.05 + rand(900)/1000; +shape_2_per_frame3=ang = rand(320)/100; +shape_2_per_frame4= +shape_2_per_frame5=a = .4; +shapecode_3_enabled=0 +shapecode_3_sides=36 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.187170 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.020000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.998, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17= +per_frame_18=vol = bass_att + treb_att; +per_frame_19=v2 = v2 * dec_med + vol * (1-dec_med) ; +per_frame_20=q26 = max(atan (vol - v2),0); +per_frame_21=q27 = index + 1; +per_frame_22= +per_frame_23=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_24=q28 = sw; +per_frame_25=kiss = kiss*dec_med +per_frame_26= +(1-dec_med)*bnot(index2)*below(index,4); +per_frame_27=q29 = kiss; +per_frame_28= +per_frame_29=k1 = is_beat*bnot(index); +per_frame_30=k2 = is_beat*bnot(index); +per_frame_31=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_32=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_33=rott = p2 * 3.1416/2; +per_frame_34=monitor = k1; +per_frame_35=q1 = cos(rott); +per_frame_36=q2 = sin(rott); +per_frame_37=q3 = -q2; +per_frame_38=q4 = q1; +per_frame_39= +per_frame_40= +per_frame_41=q5 = cos(time/4); +per_frame_42=q6 = -sin(time/4); +per_frame_43=q7 = -q6; +per_frame_44=q8 = q5; +per_frame_45= +per_frame_46=zoom = 1; +per_frame_47=rot = -0; +per_frame_48= +per_frame_49= +per_frame_50=//KUGEL-POS +per_frame_51=dt = .1*30/fps; +per_frame_52=m = 1; //Masse +per_frame_53=//Gravitationszentrum +per_frame_54=x0 = .0; y0 = 0; x0 = q1/4; y0 = q2/4; +per_frame_55= +per_frame_56=ax = -(xk-x0); +per_frame_57=ay = -(yk-y0); +per_frame_58=monitor = index3; +per_frame_59=vx = vx*dec_slow + ax * dt; +per_frame_60=vy = vy*dec_slow + ay * dt; +per_frame_61= +per_frame_62=xk = xk + vx*dt; +per_frame_63=yk = yk + vy*dt; +per_frame_64= +per_frame_65=q9 = xk; q10 = yk; +per_frame_66= +per_frame_67= +per_frame_68= +warp_1=`float3 mus; +warp_2=`float2 rs,ball, uv1, uv6, uv7; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`uv = uv_orig; +warp_6=`uv1 = (uv-.5) * aspect.xy; +warp_7=` +warp_8=`//GOLD +warp_9=`float z = 18*length(uv1)+time; +warp_10=`float2 uvn =normalize(uv1); +warp_11=`rs = clamp(tan(z)*uvn,-5,5)/2; +warp_12=` +warp_13=`// KUGEL +warp_14=`float mult = q29*16+1; +warp_15=`uv7 = sin(uv1*mult); +warp_16=`float2 p0 = float2(q9,q10)*sqrt(mult); +warp_17=`ball = uv7 - p0; +warp_18=`float size = .035* pow(mult,.9) * (1+length(p0)); +warp_19=`float dist = length(ball) / size; +warp_20=`z = saturate(sign(1-dist)* sqrt(1-dist)); +warp_21=` +warp_22=`//ADD +warp_23=`float mask = (z >= .001); +warp_24=`rs = q28*rs + (1-q28)*rs.yx; +warp_25=`uv += (1-mask)*.03*(rs.yx) + .6*mask*z*normalize(ball); +warp_26=` +warp_27=` +warp_28=`uv6 = mul (uv1,float2x2(_qb)); +warp_29=`mus = (.16/(sqrt(uv6.x)+.002))*rad; +warp_30=`mus = .08*abs(mus) - z* (.2 + .3*slow_roam_cos.xyz); +warp_31=` +warp_32=`float3 gold = float3 (1,.84,.6); +warp_33=` +warp_34=`float2 uv2 = .7*uv1+.3*float2 (sin(uv1.y*16), sin(uv1.x*16)); +warp_35=`uv2 *= .2; +warp_36=`float3 dots = q26*saturate(.0015/(length(uv2))); +warp_37=` +warp_38=`float3 col = gold; +warp_39=` +warp_40=`float3 blur = GetBlur1(frac(uv)); +warp_41=`float3 crisp= tex2D(sampler_main,uv); +warp_42=` +warp_43=`float3 ret1 = crisp - blur*.03 + col*(mus) + dots; +warp_44=`ret = ret1*.99-.018; +warp_45=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=`uv1 = uv1*0+.3*float2 (cos(uv1.y*16), cos(uv1.x*16));; +comp_6=`float dots = saturate(.01/length(uv1)); +comp_7=` +comp_8=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv); +comp_9=` +comp_10=`//ret += dots *q26; +comp_11=` +comp_12=`ret = .8*ret1; +comp_13=`} diff --git a/presets/presets_tryptonaut/martin - reflections on black tiles.milk b/presets/presets_tryptonaut/martin - reflections on black tiles.milk new file mode 100755 index 0000000000..c57c34db21 --- /dev/null +++ b/presets/presets_tryptonaut/martin - reflections on black tiles.milk @@ -0,0 +1,388 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/2+q20; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_0_per_frame6= +shape_0_per_frame7=a = q26/4+.2; +shape_0_per_frame8=//a = 1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/2; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(4)/3; +shape_2_per_frame5=g = rand(4)/3; +shape_2_per_frame6=b = rand(4)/3; +shape_2_per_frame7= +shape_2_per_frame8= +shape_2_per_frame9=is_beat = above(time, t0+.03); +shape_2_per_frame10=t0 = is_beat*time + (1-is_beat)*t0; +shape_2_per_frame11= +shape_2_per_frame12= +shape_2_per_frame13=a = min(q21/2 ,.9) * is_beat; +shape_2_per_frame14=rad = a*a/3 ; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_init_1=fade = .5; +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16= +per_frame_17=k1 = is_beat*equal(index,0); +per_frame_18=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_19=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_20=rott = p2 * 3.14159265358/2; +per_frame_21=q27 = index + 1; +per_frame_22= +per_frame_23=q1 = cos(rott); +per_frame_24=q2 = sin(rott); +per_frame_25=q3 = -q2; +per_frame_26=q4 = q1; +per_frame_27= +per_frame_28=zoom = 1.0; +per_frame_29=rot = -0.00 * index; +per_frame_30= +per_frame_31=fade = fade*dec_med + pow(0.996, 30/fps) * (1-dec_med); +per_frame_32=q32 = fade; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`float3 Feedback = GetBlur1(uv); +warp_7=` +warp_8=`float2 zz = uv1 *texsize.xy *.015*q27; +warp_9=`zz =mul(zz,float2x2(_qa)); +warp_10=` +warp_11=`float2 h1 = clamp(tan(zz),-20,20); +warp_12=` +warp_13=`uv.xy += h1*texsize.zw * 8; +warp_14=` +warp_15=`float3 crisp = tex2D(sampler_main,uv); +warp_16=` +warp_17=`ret = q32*crisp+noiseVal*(1-Feedback*1)-.02; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float3 crisp = tex2D(sampler_main,uv); +comp_5=`float3 blur = GetBlur1(uv - 0.01*crisp); +comp_6=` +comp_7=`float3 ret1 = crisp + saturate(3* (blur-float3(0.1,.1,.2))); +comp_8=` +comp_9=`ret = ret1*1.3; +comp_10=`} diff --git a/presets/presets_tryptonaut/martin - shiny tunnel.milk b/presets/presets_tryptonaut/martin - shiny tunnel.milk new file mode 100755 index 0000000000..33f3c92528 --- /dev/null +++ b/presets/presets_tryptonaut/martin - shiny tunnel.milk @@ -0,0 +1,405 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.346238 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=0.442000 +fWarpScale=0.498000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%2; +wave_0_per_point2=k2 = (sample*100)%4; +wave_0_per_point3=xi = value1*k1 + xi*(1-k1); +wave_0_per_point4=yi = value2*(1-k1) + yi*k1; +wave_0_per_point5= +wave_0_per_point6=x = .5 + xi; +wave_0_per_point7=y = .5 + yi; +wave_0_per_point8= +wave_0_per_point9=a = q22/8; +wave_0_per_point10=a = min(a,.2); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=xi = xi - dx*q22/200; +shape_0_per_frame2=yi = yi - dy*q23/200; +shape_0_per_frame3= +shape_0_per_frame4=low = 0; +shape_0_per_frame5=high = 1; +shape_0_per_frame6= +shape_0_per_frame7=k0x = below(xi,low); +shape_0_per_frame8=k1x = above(xi,high); +shape_0_per_frame9=k0y = below(yi,low); +shape_0_per_frame10=k1y = above(yi,high); +shape_0_per_frame11= +shape_0_per_frame12=dx = k0x*1 + k1x*-1; +shape_0_per_frame13=dy = k0y*1 + k1y*-1; +shape_0_per_frame14= +shape_0_per_frame15=//xi = 0; yi = 0; +shape_0_per_frame16=x = xi; +shape_0_per_frame17=y = yi; +shape_0_per_frame18= +shape_0_per_frame19=trel = time/2+q20; +shape_0_per_frame20= +shape_0_per_frame21=x = .5+sin(trel*2); +shape_0_per_frame22=y = .5+cos(trel*1.3 +q28/3); +shape_0_per_frame23= +shape_0_per_frame24=a = q26/4+.2; +shape_0_per_frame25=//a = 1; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/2; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(4)/3; +shape_2_per_frame5=g = rand(4)/3; +shape_2_per_frame6=b = rand(4)/3; +shape_2_per_frame7= +shape_2_per_frame8=a = min(q21/2 ,.9); +shape_2_per_frame9=rad = a *a/3 ; +shape_2_per_frame10= +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.6, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9= +per_frame_10=q20 = avg; +per_frame_11=q21 = beat; +per_frame_12=q22 = peak; +per_frame_13=q23 = index; +per_frame_14=q24 = is_beat; +per_frame_15=q26 = bass + mid + treb; +per_frame_16=q27 = index; +per_frame_17= +per_frame_18=movez = movez * dec_med + q24*(1-dec_med); +per_frame_19=q25 = movez; +per_frame_20= +per_frame_21=k1 = is_beat*equal(index,0); +per_frame_22=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_23=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_24=rott = p2 * 3.1416/4; +per_frame_25= +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32= +per_frame_33=pos = pos + (q20+q22*0)*q2/30; +per_frame_34=q28 = pos; +per_frame_35= +per_frame_36= +per_frame_37=zoom = .96 + .1*q2; +per_frame_38=warp = .0; +per_frame_39=rot = 0*q2/28; +per_frame_40=//********** +per_frame_41= +per_frame_42=rota = rota +q22; +per_frame_43=q10 = rota; +per_frame_44= +per_frame_45= +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`sampler sampler_shub1; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`//uv = float2(uv.x,uv.y)*aspect.xy; +warp_8=` +warp_9=`int2 k1 = (texsize.xy*uv)%2; +warp_10=` +warp_11=`double3 ist = GetBlur1(uv); +warp_12=` +warp_13=`double3 crisp = tex2D(sampler_main,uv); +warp_14=`crisp = crisp + (.03) -.00*pow(rad,2); +warp_15=` +warp_16=`float3 ret1 = crisp; +warp_17=` +warp_18=`float3 dec = float3(.98,0.98,0.975); +warp_19=` +warp_20=`ret1 = ret1 * (1-.0*ist)*(1-.08*abs(tan(4*ist*1.58))); +warp_21=`ret = ret1; +warp_22=`ret = ret -.01; +warp_23=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=` +comp_6=`float2 uv1 = (uv-.5)*aspect.xy; +comp_7=` +comp_8=`rs.x = ang/3.14 + q28; +comp_9=`rs.y = .1/(.05+length (uv1))+time*.5; +comp_10=` +comp_11=`uv = frac(rs); +comp_12=`uv1 = frac(rs); +comp_13=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv); +comp_14=` +comp_15=`float2 hor = float2 (texsize.z,0); +comp_16=`float2 ver = float2 (0,texsize.w); +comp_17=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_18=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_19=`float2 dz = float2 (dx,dy); +comp_20=` +comp_21=`uv1 = .3*cos(uv1*16) - 4*dz;; +comp_22=`float3 dots = saturate(.04/length(uv1)); +comp_23=` +comp_24=`ret1 = 4*(1+bass_att)*dots*(.6-ret1); +comp_25=` +comp_26=`ret = .8*ret1; +comp_27=`} diff --git a/presets/presets_tryptonaut/martin - silversmith.milk b/presets/presets_tryptonaut/martin - silversmith.milk new file mode 100755 index 0000000000..b93d8b2636 --- /dev/null +++ b/presets/presets_tryptonaut/martin - silversmith.milk @@ -0,0 +1,399 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=20.944651 +fWaveSmoothing=0.000000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (sample*100)%8; +wave_0_per_point2=k2 = bnot (k1); +wave_0_per_point3=xi = value1*k2 + xi*(1-k2); +wave_0_per_point4=yi = value2*(1-k2) + yi*k2; +wave_0_per_point5= +wave_0_per_point6=dx = dx*.99 + xi; +wave_0_per_point7=dy = dy*.99 + yi; +wave_0_per_point8= +wave_0_per_point9=x = .5 + xi/2; +wave_0_per_point10=y = .5 + yi/2; +wave_0_per_point11= +wave_0_per_point12=a = q22/8; +wave_0_per_point13=a = min(a,.4); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.020000 +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.059738 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=0.000000 +shapecode_0_b=0.700000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=x = .5; y = .5; +shape_0_per_frame3=a = 0.3; +shape_0_per_frame4=a2 = q24; +shape_0_per_frame5=//a = 1; +shape_0_per_frame6= +shape_0_per_frame7=b = .8; r = min(1,q22/3+.3); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q1; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.210912 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.050685 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.600000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.299900 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=t_rel = time/8; +shape_2_per_frame2=t1 = t_rel-int(t_rel); +shape_2_per_frame3=tex_zoom = t1; +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_init_1=step = 0; +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .0+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %16; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass_att + mid_att + treb_att; +per_frame_17=q27 = index + 1; +per_frame_18=q28 = index2; +per_frame_19= +per_frame_20= +per_frame_21= +per_frame_22=k1 = is_beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/8; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32=//ds = max ((q26-.2),0); +per_frame_33=//step = step + ds/10; +per_frame_34= +per_frame_35=step = step + q24 ; +per_frame_36= +per_frame_37=p3 = p3*dec_slow + (1-dec_slow) * step; +per_frame_38=q30 = step; +per_frame_39= +per_frame_40=p4 = dec_slow*p4 + (1-dec_slow)*q27; +per_frame_41=q31 = p4; +per_frame_42= +per_frame_43=vol = bass + mid + treb; +per_frame_44=q5 = bass_att/vol*2; +per_frame_45=q6 = mid_att/vol*2; +per_frame_46=q7 = treb_att/ vol*2; +per_frame_47= +per_frame_48= +per_frame_49=q10 = .3*abs(sin(time/5)); +per_frame_50= +per_frame_51= +per_frame_52= +per_frame_53= +per_frame_54= +per_frame_55=zoom = 1; +per_frame_56=rot = -0.001 ; +per_frame_57= +per_frame_58= +per_pixel_1=zoom = 1.0; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv_orig-.5) * aspect.xy; +warp_8=` +warp_9=`float2 uv6 = uv1; +warp_10=` +warp_11=`float z = 6*q2*length(uv1) ; +warp_12=`float2 d = -normalize(1/uv1); +warp_13=` +warp_14=`float2 rs = clamp(tan(q1*z+q30)*d,-8,8); +warp_15=` +warp_16=`if (q28 ==1) {rs *= cos(uv1.yx*3*q27) ;} +warp_17=` +warp_18=`uv += rs/40; +warp_19=` +warp_20=`uv6 = .5*float2(rad, length(uv1)); +warp_21=` +warp_22=`//uv6 = mul(uv6,float2x2(_qa)); +warp_23=` +warp_24=`mus = saturate(.08/(sqrt(uv6.y-q10))); +warp_25=`mus *= float3 (1,.84,.5); +warp_26=` +warp_27=`float3 blur = GetBlur1(frac(uv)); +warp_28=` +warp_29=`float3 crisp= tex2D(sampler_main,uv); +warp_30=` +warp_31=`float3 ret1 = crisp - blur*.04 + .05*mus; +warp_32=`ret = ret1 * .98 - .006; +warp_33=` +warp_34=` +warp_35=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_16=`float dots = saturate(.04/length(uv1)); +comp_17=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_18=`float3 dots2 = saturate(.04/length(uv1)); +comp_19=` +comp_20=` +comp_21=`ret = (-ret1) + dots + .0 + 12*dots2*(-0+sqrt(ret1)); +comp_22=`} diff --git a/presets/presets_tryptonaut/martin - soma in pink.milk b/presets/presets_tryptonaut/martin - soma in pink.milk new file mode 100755 index 0000000000..b569805ecf --- /dev/null +++ b/presets/presets_tryptonaut/martin - soma in pink.milk @@ -0,0 +1,460 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.038558 +fWaveScale=0.372353 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.300000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1=k0 = int(100.0*sample); +wave_0_per_point2=k2 = int(100.0*sample+1); +wave_0_per_point3=k1 = equal(k0%2,0); +wave_0_per_point4=k2 = equal(k0%2,1); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=ix = (100*value1)%7-2.5; +wave_0_per_point8=iy = (100*value2)%7-2.5; +wave_0_per_point9= +wave_0_per_point10=sp = bass + treb; +wave_0_per_point11=sp = sp /3000; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=dx = (dx+sp*ix) * .998; +wave_0_per_point15=dy = (dy+sp*iy) * .998 ; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=ox = k1*dx + (1-k1)*ox; +wave_0_per_point19=oy = k2*dy + (1-k2)*oy; +wave_0_per_point20= +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=//ox = 0; oy = 0; +wave_0_per_point24= +wave_0_per_point25=x = ox+.5; +wave_0_per_point26=y = oy+.5; +wave_0_per_point27= +wave_0_per_point28=r = 1; +wave_0_per_point29=g = 1; +wave_0_per_point30=b = 1; +wave_0_per_point31=a = 1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_frame1=t1 = 2*sin(time/15); +wave_1_per_frame2=t2 = 2*sin(time/11); +wave_1_per_frame3=monitor = time; +wave_1_per_point1= +wave_1_per_point2=t_abs = sample ; +wave_1_per_point3= +wave_1_per_point4=ox = sin (t_abs*68); +wave_1_per_point5=oy = cos (t_abs*63); +wave_1_per_point6=oz = sin (t_abs*125); +wave_1_per_point7= +wave_1_per_point8=r = 1; +wave_1_per_point9=g = .5 ; +wave_1_per_point10=b = 1 ; +wave_1_per_point11= +wave_1_per_point12=t_rel = sample - time/127; +wave_1_per_point13=t_rel = t_rel - int(t_rel); +wave_1_per_point14= +wave_1_per_point15=a = (512*sample-time*2)%2; +wave_1_per_point16=a = 1; +wave_1_per_point17= +wave_1_per_point18=xang = 0 ; +wave_1_per_point19=yang = t1; +wave_1_per_point20=zang = t1; +wave_1_per_point21=fov = 0.15; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=// Rotation um x,y,z +wave_1_per_point25= +wave_1_per_point26=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point27=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point28= +wave_1_per_point29=ox = mx; +wave_1_per_point30=oy = my; +wave_1_per_point31=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point32=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point33=ox = mx; +wave_1_per_point34=oz = mz; +wave_1_per_point35=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point36=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point37=oy = my; +wave_1_per_point38=oz = mz; +wave_1_per_point39= +wave_1_per_point40=//oz = oz - 6; +wave_1_per_point41=x = ox*fov/oz +0.5; +wave_1_per_point42=//x = (x-.5)*0.75 + 0.5; +wave_1_per_point43=y = oy*fov/oz + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_per_point1=k1 = (sample*512) % 8; +wave_2_per_point2= +wave_2_per_point3=t1 = equal (k1,0)*((t1 * 61 + 27) % 4096) +wave_2_per_point4= + (1-equal(k1,0))*t1; +wave_2_per_point5= +wave_2_per_point6=exc = 1+rand(5); +wave_2_per_point7=ampl = sample*sqrt(t2) * (1+exc); +wave_2_per_point8= +wave_2_per_point9=f1 = q4*ampl* sin(t1*6.28/4096); +wave_2_per_point10=f2 = q4*ampl* cos(t1*6.28/4096); +wave_2_per_point11= +wave_2_per_point12=x = q2 + k1* f1 ; +wave_2_per_point13=y = q3 + k1* f2; +wave_2_per_point14= +wave_2_per_point15=a = equal(k1,6) + equal (k1,0); +wave_2_per_point16= +wave_2_per_point17=r = 1; +wave_2_per_point18=b = equal (k1,0); +wave_2_per_point19=g = .6* (1+.6*equal (k1,0)) ; +wave_2_per_point20=a = a * q5 * (1-0*t2*t2); +wave_2_per_point21=//a = 0; +wave_2_per_point22= +wave_2_per_point23= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1= +wave_3_per_point2=t_abs = sample; +wave_3_per_point3=t_rel = sample-time/8; +wave_3_per_point4= +wave_3_per_point5=ox = sin (sample*110) ; +wave_3_per_point6=oy = cos (sample*110); +wave_3_per_point7= +wave_3_per_point8=oz = 4+1/(t_rel - int(t_rel)); +wave_3_per_point9= +wave_3_per_point10=r = .3; +wave_3_per_point11=g = 0.7; +wave_3_per_point12=b = 1; +wave_3_per_point13= +wave_3_per_point14=a = .8; +wave_3_per_point15= +wave_3_per_point16=xang = 0; +wave_3_per_point17=yang = 0; +wave_3_per_point18=zang = 0; +wave_3_per_point19=fov = .5; +wave_3_per_point20= +wave_3_per_point21= +wave_3_per_point22=// Rotation um x,y,z +wave_3_per_point23= +wave_3_per_point24=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point25=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point26= +wave_3_per_point27=ox = mx; +wave_3_per_point28=oy = my; +wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point31=ox = mx; +wave_3_per_point32=oz = mz; +wave_3_per_point33=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point34=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point35=oy = my; +wave_3_per_point36=oz = mz; +wave_3_per_point37= +wave_3_per_point38=x = ox*fov/oz +0.45; +wave_3_per_point39=y = oy*fov/oz + 0.45; +shapecode_0_enabled=0 +shapecode_0_sides=44 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.126338 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.539067 +shapecode_0_r=0.000000 +shapecode_0_g=0.540000 +shapecode_0_b=0.890000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.840000 +shapecode_0_g2=0.930000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = .5 + .5 * sin(time); +shape_0_per_frame2=y = .5 + .5 * sin(time); +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.600000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=1.000000 +shapecode_3_rad=0.548217 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12= +per_frame_13=q20 = avg; +per_frame_14=q21 = beat; +per_frame_15=q22 = peak; +per_frame_16=q23 = index; +per_frame_17=q24 = is_beat; +per_frame_18=q26 = bass + mid + treb; +per_frame_19= +per_frame_20=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_21= +per_frame_22=k1 = is_beat*equal(index,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_26=rott = p3*3.1416/2; +per_frame_27= +per_frame_28=rot1 = rot1 + q26; +per_frame_29=q25 = .01*rot1; +per_frame_30= +per_frame_31=q27 = 8-index; +per_frame_32=q28 = index3; +per_frame_33= +per_frame_34=dx1 = dec_med*dx1 + (1-dec_med)*bnot(index2); +per_frame_35=q29 = dx1; +per_frame_36=monitor = q29; +per_frame_37= +per_frame_38=q1 = cos(rott); +per_frame_39=q2 = sin(rott); +per_frame_40=q3 = -q2; +per_frame_41=q4 = q1; +per_frame_42= +per_frame_43= +per_pixel_1=rot = 0; +per_pixel_2=dx = .02*q29; +per_pixel_3=zoom = 1; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=`float3 noiseVal =.03*(tex2D(sampler_noise_lq, uv*.3+.01*rand_frame)); +warp_6=`noiseVal = .01; +warp_7=`float3 Feedback = GetBlur1(1-uv); +warp_8=` +warp_9=`float2 zz = uv1 *texsize.xy *.015; +warp_10=`//zz =mul(zz,float2x2(_qa)); +warp_11=`zz = zz.yx; +warp_12=`float2 h1 = clamp(tan(zz.yx),-12,12) * cos(4*(q2+1)*zz); +warp_13=` +warp_14=`uv.xy += h1*texsize.zw * 4*(2+q1); +warp_15=` +warp_16=` +warp_17=`float r = tex2D (sampler_noise_hq,uv/14).x*12; +warp_18=`float2 uv6 = uv1; +warp_19=`uv6 = mul(uv6, float2x2(cos(r),sin(r),-sin(r),cos(r))); +warp_20=`float3 mus = .1/(sqrt(uv6.y)); +warp_21=` +warp_22=`float3 crisp = tex2D(sampler_main,uv); +warp_23=`//crisp = lerp(crisp.bgr,crisp.rgb,2*crisp); +warp_24=`ret = .995*crisp+noiseVal-.02; +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`//float ang1 = atan2(uv1.y, uv1.x); +comp_6=`//float rad1 = log(length(uv1)-0.1); +comp_7=` +comp_8=`float rad2 = length(uv1) + .1; +comp_9=`float rad1 = .1/rad2 ; +comp_10=` +comp_11=`float2 uv2 = float2 (ang/3.14, rad1); +comp_12=`uv2.y = uv2.y +0.1*time; +comp_13=`uv2.x = uv2.x +.0*time; +comp_14=` +comp_15=`float2 uv3 = float2 (ang/3.14, rad1*1.5); +comp_16=`uv3.y = uv3.y +0.08*time ; +comp_17=`uv3.x = uv3.x + time/32; +comp_18=` +comp_19=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_20=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_21=` +comp_22=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_23=` +comp_24=`crisp = 3*crisp * pow(rad,1); +comp_25=` +comp_26=`float mask = saturate(1-4*rad); +comp_27=` +comp_28=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_29=` +comp_30=`} diff --git a/presets/presets_tryptonaut/martin - sparky caleidoscope.milk b/presets/presets_tryptonaut/martin - sparky caleidoscope.milk new file mode 100755 index 0000000000..e89f8a5e7f --- /dev/null +++ b/presets/presets_tryptonaut/martin - sparky caleidoscope.milk @@ -0,0 +1,402 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.527429 +fWaveSmoothing=0.450000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.800000 +wave_g=0.490000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=282 +wavecode_0_sep=20 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=3.915805 +wavecode_0_smoothing=0.100000 +wavecode_0_r=0.200000 +wavecode_0_g=0.300000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_per_point1= +wave_0_per_point2=x = sample; +wave_0_per_point3=y = value1 * rand(50)/100 * abs(sample-.5)+ .49; +wave_0_per_point4= +wave_0_per_point5=a = q26/4 * (.2 + abs(sample-.5)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/3; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3); +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9= +shape_0_per_frame10=rad = .04; +shape_0_per_frame11=a = .6; a2 = 0; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.260000 +shapecode_1_y=0.200000 +shapecode_1_rad=0.393173 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.935500 +shapecode_1_r=0.000000 +shapecode_1_g=0.550000 +shapecode_1_b=0.500000 +shapecode_1_a=0.700000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.700000 +shapecode_1_border_r=0.300000 +shapecode_1_border_g=0.700000 +shapecode_1_border_b=0.800000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=trig = q24; +shape_1_per_frame2= +shape_1_per_frame3=textured = 1; +shape_1_per_frame4=additive = q24; +shape_1_per_frame5=x0 = x0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame6=y0 = y0*bnot(trig) + trig*(.2+ rand(100)/200); +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=x0 = x0 + .1*q1*(3+q22)/fps; +shape_1_per_frame10=y0 = y0 + .1*q2*(3+q22)/fps; +shape_1_per_frame11= +shape_1_per_frame12=x0 = x0 - int(x0); +shape_1_per_frame13=y0 = y0 - int(y0); +shape_1_per_frame14= +shape_1_per_frame15=ang = 4*q1+time; +shape_1_per_frame16=x = x0; y = y0; +shape_1_per_frame17=rad0 = rad0*bnot(trig) + trig*rand(100)/200; +shape_1_per_frame18=rad = rad0; +shape_1_per_frame19= +shape_1_per_frame20=r0 = bnot(trig)*r0 + trig * rand(10)/10; +shape_1_per_frame21=b0 = bnot(trig)*b0 + trig * rand(10)/10; +shape_1_per_frame22=g0 = bnot(trig)*g0 + trig * rand(10)/10; +shape_1_per_frame23= +shape_1_per_frame24=r0 =1; b0 = 1; g0 = 1; +shape_1_per_frame25=r = r0; b = b0; g = g0; +shape_1_per_frame26=r2 = r; b2 = n; g2 = g; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(50)/50; +shape_2_per_frame2=y = .5 - 0*rand(15)/200; +shape_2_per_frame3= +shape_2_per_frame4=r = .4; +shape_2_per_frame5=g = .6; +shape_2_per_frame6=b = 1; +shape_2_per_frame7=r2 = r; +shape_2_per_frame8=g2 = g; +shape_2_per_frame9=b2 = b; +shape_2_per_frame10= +shape_2_per_frame11=a = min(q21/2 ,.9); +shape_2_per_frame12=rad = a * (.1+abs(x-.5))/2 ; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.260000 +shapecode_3_y=0.760000 +shapecode_3_rad=0.394780 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.800000 +shapecode_3_border_r=0.200000 +shapecode_3_border_g=0.700000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +shape_3_per_frame1=tex_zoom = q27/2; +per_frame_1=dec_med = pow (0.7, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10= +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass_att + mid_att + treb_att; +per_frame_17=q27 = index +1; +per_frame_18=q28 = index2; +per_frame_19= +per_frame_20= +per_frame_21=k1 = is_ +per_frame_22=beat*equal(index%2,0); +per_frame_23=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_24=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_25=rott = p2 * 3.1416/4; +per_frame_26= +per_frame_27=q1 = cos(rott); +per_frame_28=q2 = sin(rott); +per_frame_29=q3 = -q2; +per_frame_30=q4 = q1; +per_frame_31= +per_frame_32=alt = alt * .2 + q26*.8; +per_frame_33=q26 = q26 - alt; +per_frame_34= +per_frame_35=step = step + 100*max(q26-0.01,0) + q24 ; +per_frame_36=q30 = step; +per_frame_37= +per_frame_38=p4 = dec_med*p4 + (1-dec_med)*q27; +per_frame_39=q31 = p4; +per_frame_40= +per_frame_41=trig = q24; +per_frame_42=trel = bnot(trig)*(trel + 1/fps); +per_frame_43=q6 = trel; +per_frame_44=monitor = trel; +per_pixel_1=zoom = 1.1; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float2 uv1 = (uv_orig-.5) * aspect.xy; +warp_8=`float2 uv6 = uv1; +warp_9=` +warp_10=`float z = 6*q2*length(uv1) ; +warp_11=`float2 d = -normalize(1/uv1); +warp_12=` +warp_13=`float2 rs = clamp(tan(q1*z+rand_frame)*d,-8,8); +warp_14=` +warp_15=`if (q28 ==1) {rs *= cos(uv1.yx*3*q27) ;} +warp_16=` +warp_17=`uv += rs/20; +warp_18=` +warp_19=`uv6 = 1.5*float2(rad, length(uv1)); +warp_20=` +warp_21=`mus = .01/(length(uv6)); +warp_22=` +warp_23=` +warp_24=`float3 crisp= tex2D(sampler_main,uv); +warp_25=` +warp_26=`float3 ret1 = crisp + mus* roam_cos; +warp_27=`ret = q24*(ret1 * .98 - .02) + (1-q24)*GetPixel((uv_orig-.5)+.5); +warp_28=` +warp_29=` +warp_30=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float3 neu, ret1; +comp_4=`float2 rs2,rs0,rss,uv1,uv2; +comp_5=`float ang2,c,s; +comp_6=`float2x2 rota = float2x2(.7,.7,-.7,.7); +comp_7=`shader_body +comp_8=`{ +comp_9=`uv -= 0.5; +comp_10=`uv *= aspect.xy; +comp_11=` +comp_12=`rs0.x = atan2(uv.y, uv.x)/3.1416*2; +comp_13=`rs0.y = .02/(length (uv)); +comp_14=`rss = float2 (rs0.x,rs0.y+time); +comp_15=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_16=`float noise = (tex2D(sampler_pw_noise_lq,rss/32)-.7 >= 0); +comp_17=`rss = abs(frac(rss*8)-.5); +comp_18=`float3 dots = saturate(.04/length(rss)) *noise; +comp_19=` +comp_20=`rss = float2 (rs0.x*2,rs0.y+time/2); +comp_21=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_22=`noise = (tex2D(sampler_pw_noise_lq,rss/32)-.7 >= 0); +comp_23=`rss = abs(frac(rss*8)-.5); +comp_24=`dots += saturate(.04/length(rss)) * noise; +comp_25=` +comp_26=`dots *= saturate(.04/abs(.01/rs0.y-q6))+.0; +comp_27=`dots *= dots*2; +comp_28=` +comp_29=`float3 ret1 = 0; +comp_30=`int anz = 2; +comp_31=`int n = 0; +comp_32=`while (n <= anz) { +comp_33=` ang2 = 6.28*n/anz; +comp_34=` c = cos(ang2); +comp_35=` s = sin(ang2); +comp_36=` uv2.x = uv.x*c - uv.y*s; +comp_37=` uv2.y = uv.x*s + uv.y*c; +comp_38=` +comp_39=` neu = GetPixel(uv2+.5) + GetBlur1(uv2+.5); +comp_40=` ret1 = max(ret1,neu); +comp_41=`n++; +comp_42=`} +comp_43=` +comp_44=` +comp_45=`ret = ret1 + dots*(1+ret1); +comp_46=`} +comp_47=` +comp_48=` diff --git a/presets/presets_tryptonaut/martin - starfield sectors.milk b/presets/presets_tryptonaut/martin - starfield sectors.milk new file mode 100755 index 0000000000..b63fe8d021 --- /dev/null +++ b/presets/presets_tryptonaut/martin - starfield sectors.milk @@ -0,0 +1,429 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.100000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=182 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = sin(t/7); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample ; +wave_0_per_point3= +wave_0_per_point4=ox = sin (t_abs*68); +wave_0_per_point5=oy = cos (t_abs*63); +wave_0_per_point6=oz = sin (t_abs*125); +wave_0_per_point7= +wave_0_per_point8=r = 0; +wave_0_per_point9=g = 1 ; +wave_0_per_point10=b = 1 ; +wave_0_per_point11= +wave_0_per_point12=t_rel = sample - time/127; +wave_0_per_point13=t_rel = t_rel - int(t_rel); +wave_0_per_point14= +wave_0_per_point15=a = (512*sample-time*2)%2; +wave_0_per_point16=a = 1; +wave_0_per_point17= +wave_0_per_point18=xang = 0 ; +wave_0_per_point19=yang = t1; +wave_0_per_point20=zang = t1; +wave_0_per_point21=fov = 0.15; +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=// Rotation um x,y,z +wave_0_per_point25= +wave_0_per_point26=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point27=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point28= +wave_0_per_point29=ox = mx; +wave_0_per_point30=oy = my; +wave_0_per_point31=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point32=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point33=ox = mx; +wave_0_per_point34=oz = mz; +wave_0_per_point35=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point36=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point37=oy = my; +wave_0_per_point38=oz = mz; +wave_0_per_point39= +wave_0_per_point40=//oz = oz - 6; +wave_0_per_point41=x = ox*fov/oz +0.5; +wave_0_per_point42=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point43=y = oy*fov/oz + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.048958 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.005310 +shapecode_0_tex_zoom=1.531168 +shapecode_0_r=0.500000 +shapecode_0_g=1.000000 +shapecode_0_b=0.900000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.830000 +shapecode_0_g2=0.930000 +shapecode_0_b2=0.800000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1= +shape_0_per_frame2=trel = time/2+q20; +shape_0_per_frame3= +shape_0_per_frame4=x = .5+sin(trel*2); +shape_0_per_frame5=y = .5+cos(trel*1.3 +q28/3); +shape_0_per_frame6= +shape_0_per_frame7=a = q26/4+.2; +shape_0_per_frame8=//a = 1; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/12; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(50)/50; +shape_2_per_frame5=g = rand(50)/50; +shape_2_per_frame6=b = rand(50)/50; +shape_2_per_frame7= +shape_2_per_frame8=r2 = 1; +shape_2_per_frame9=g2 = 1; +shape_2_per_frame10=b2 = 1; +shape_2_per_frame11= +shape_2_per_frame12=a = min(q21/2 ,1); +shape_2_per_frame13=a = .5; +shape_2_per_frame14=rad = a*a/16 ; +shape_2_per_frame15=a2 = .5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.845919 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.622112 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.900000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.500000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.299900 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=monitor = index2; +per_frame_11=q20 = avg; +per_frame_12=q21 = beat; +per_frame_13=q22 = peak; +per_frame_14=q23 = index; +per_frame_15=q24 = is_beat; +per_frame_16=q26 = bass + mid + treb; +per_frame_17= +per_frame_18=k1 = is_beat*bnot(index)*bnot(index2); +per_frame_19=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_20=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_21=p3 = dec_med * p3+ (1-dec_med)*p2; +per_frame_22=rott = p3 * 3.1416/4; +per_frame_23= +per_frame_24=pos = pos + q20/140; +per_frame_25=q28 = pos; +per_frame_26=q27 = index+1; +per_frame_27= +per_frame_28=q1 = cos(rott); +per_frame_29=q2 = sin(rott); +per_frame_30=q3 = -q2; +per_frame_31=q4 = q1; +per_frame_32= +per_frame_33=movez = movez + +.005*(1.5+q1)*30/fps; +per_frame_34=q30 = movez; +per_frame_35= +per_frame_36= +per_frame_37=zoom = 1.0; +per_frame_38=rot = -0.00 * index; +per_frame_39= +per_pixel_1=zoom = 1 + q1/25; +warp_1=` +warp_2=`shader_body { +warp_3=` +warp_4=`float2 uv1 = (uv-.5) * aspect.xy; +warp_5=` +warp_6=`float3 ret1 = GetPixel(uv); +warp_7=`ret = ret1 * .99 - .002 ; +warp_8=` +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .05; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, rad1*1.5); +comp_9=`uv2.y = uv2.y +0.1*time; +comp_10=`uv2.x = uv2.x +.02*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, rad1); +comp_13=`uv3.y = uv3.y + q30 ; +comp_14=`uv3.x = uv3.x + time/32; +comp_15=` +comp_16=` +comp_17=`float3 crisp = GetPixel(uv2) + 2*GetPixel(uv3); +comp_18=`crisp += 2*GetBlur2(frac(uv2)) + 2*GetBlur2(frac(uv3)); +comp_19=` +comp_20=`float3 lay1 = float3 (1,0,1)*uv.y*pow(1-rad,8); +comp_21=` +comp_22=`crisp = 3*crisp * pow(rad,1); +comp_23=` +comp_24=`float mask = saturate(1-4*rad); +comp_25=` +comp_26=`ret = crisp + lay1*mask + mask * GetPixel(uv); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/martin - the beast.milk b/presets/presets_tryptonaut/martin - the beast.milk new file mode 100755 index 0000000000..b4cea884f6 --- /dev/null +++ b/presets/presets_tryptonaut/martin - the beast.milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=5.098400 +fWaveSmoothing=0.810000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=47.999996 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=2.150000 +mv_r=0.400000 +mv_g=0.200000 +mv_b=0.099900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=0.699900 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=102 +wavecode_0_sep=10 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.500000 +wavecode_0_b=0.500000 +wavecode_0_a=0.600000 +wave_0_per_frame1=t2 = t2 + bass_att; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.530000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.088200 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.492800 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.600000 +shapecode_0_g2=0.300000 +shapecode_0_b2=0.100000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=trig = equal(q28%2,1)*q24; +shape_0_per_frame2= +shape_0_per_frame3=seed = sqr(time - int(time)); +shape_0_per_frame4=rr1 = rr1 * (1-trig) + seed*trig; +shape_0_per_frame5= +shape_0_per_frame6=textured = 1; +shape_0_per_frame7=ang = 0; +shape_0_per_frame8=tex_ang = .2*sin(time/9); +shape_0_per_frame9= +shape_0_per_frame10=x = .5; y = .5; +shape_0_per_frame11= +shape_0_per_frame12=a = .9; a2 = 0; +shape_0_per_frame13=rad = .35; +shape_0_per_frame14=tex_zoom = 2.2; +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.520000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.241462 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.028461 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.030000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a = q24;a2 = 0.1; +shape_1_per_frame2= +shape_1_per_frame3=r = .0; b =.0; g = 0; +shape_1_per_frame4=r2 = .0; b2 = .0; g2 = 0; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.553000 +shapecode_2_y=0.600000 +shapecode_2_rad=0.796895 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.010000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = .5 + .0*sin(time); +shape_2_per_frame2=y = .5 + .2*cos(time); +shapecode_3_enabled=1 +shapecode_3_sides=44 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.450000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.202682 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=4.461715 +shapecode_3_r=0.500000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=dx = rand(200)/1000-.1; +shape_3_per_frame2=dy = rand(200)/1000-.1; +shape_3_per_frame3= +shape_3_per_frame4=x = .5 + dx*(1-q22/4); +shape_3_per_frame5=y = .5 + dy*(1-q22/4); +shape_3_per_frame6= +shape_3_per_frame7= +shape_3_per_frame8=a = .9; +shape_3_per_frame9=a2 = .8; +shape_3_per_frame10=g = rand(10)/50; +shape_3_per_frame11=rad = .05*q24+0.04 +q22/40; +per_frame_init_1=p3 = 0;p2=0; p1=0; +per_frame_init_2=t_rel = 0; +per_frame_init_3=op=2;avg=1; +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass_att + mid_att + treb_att+1; +per_frame_20= +per_frame_21=q20 = max(q20-1,0); +per_frame_22=op1 = dec_med*op1 + q20*(1-dec_med); +per_frame_23=op2 = dec_med*op2 + q20*op1; +per_frame_24= +per_frame_25=q10 = atan(op2*1.5)*1.2; +per_frame_26= +per_frame_27=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_28= +per_frame_29=k1 = is_beat*equal(index,0); +per_frame_30=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_31=p2 = dec_slow * p2+ (1-dec_slow)*p1; +per_frame_32=p3 = dec_slow * p3+ (1-dec_slow)*p2; +per_frame_33=rott = p3 * 3.14159265359/4; +per_frame_34= +per_frame_35= +per_frame_36=q27 = 8-index; +per_frame_37=q28 = index2; +per_frame_38= +per_frame_39=//q28 = sin(time)+1; +per_frame_40= +per_frame_41=q1 = cos(rott); +per_frame_42=q2 = sin(rott); +per_frame_43=q3 = -q2; +per_frame_44=q4 = q1; +per_frame_45= +per_frame_46=t_rel = t_rel + .02*30/fps*q1*q1; +per_frame_47= +per_frame_48=q5 = cos(t_rel); +per_frame_49=q6 = sin(t_rel); +per_frame_50=q7 = -q6; +per_frame_51=q8 = q5; +per_frame_52= +per_frame_53=puls1 = puls1*dec_med + q24*(1-dec_med); +per_frame_54=puls2 = puls2*dec_med + puls1*(1-dec_med); +per_frame_55=q25 = puls2; +per_frame_56= +per_frame_57=roty = roty + .003*30/fps; +per_frame_58=q29=roty; +per_frame_59= +per_frame_60=zoom = 1+.0*q22; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float2 uv1, uv6; +warp_4=`float dx,dy; +warp_5=` +warp_6=`shader_body { +warp_7=` +warp_8=`uv1 = (uv-.5); +warp_9=` +warp_10=`float2 ang2= tex2D (sampler_noise_hq,uv1/3+.006*time).xy; +warp_11=`uv6 = mul(uv1,float2x2(ang2.y,-ang2.x,ang2.x,ang2.y)); +warp_12=` +warp_13=`mus = abs(.5*cos(uv6.y*14)-(cos(uv6.x*71))); +warp_14=`mus *= float3 (1,.96,.9)/25; +warp_15=` +warp_16=`uv6 = .2*sin(12*uv+rand_frame); +warp_17=`float3 dots = .001/length(uv6)* float3 (0.2,1,1); +warp_18=` +warp_19=`//dots = lum(tex2D (sampler_noise_hq,uv +rand_frame)); +warp_20=`//dots = (dots-.7) * (dots >= .7) * float3 (0.2,1,1); +warp_21=` +warp_22=`mus -= dots; +warp_23=` +warp_24=` +warp_25=`float3 blur = GetBlur1(frac(uv)); +warp_26=` +warp_27=`float2 hor = float2 (texsize.z,0); +warp_28=`float2 ver = float2 (0,texsize.w); +warp_29=`hor = float2 (.004,0); +warp_30=`ver = float2 (0,.004); +warp_31=` +warp_32=` +warp_33=` +warp_34=`float dx = lum(GetPixel(uv+hor)-GetPixel(uv-hor)); +warp_35=`float dy = lum(GetPixel(uv+ver)-GetPixel(uv-ver)); +warp_36=` +warp_37=`float2 zz = float2 (dx,dy); +warp_38=` +warp_39=` +warp_40=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_41=`crisp +=.015 - length(zz)*blur/1.5; +warp_42=` +warp_43=`float3 ret1 = crisp - lum(blur)*.012 + mus; +warp_44=`//ret1 = abs(mus)/2; +warp_45=`ret = ret1 * .99 - .04 ; +warp_46=`} +comp_1=` +comp_2=`float2 rs, rs0, uv2, uv3,uv4; +comp_3=`float3 noise, ret1; +comp_4=` +comp_5=`shader_body { +comp_6=`uv.y = uv.y-.2*q1; +comp_7=` +comp_8=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_9=` +comp_10=`float z = .1/uv1.y/uv1.x; +comp_11=`rs0.x = uv1.x*z; +comp_12=`rs0.y = z; +comp_13=`rs = rs0 + time/2; +comp_14=` +comp_15=`//uv1 = mul(uv1,float2x2(_qa)); +comp_16=`noise = lum(tex2D(sampler_noise_hq,rs/2)); +comp_17=`noise = noise-.56; +comp_18=` +comp_19=`float3 mask = saturate(12*(uv1.y)) ; +comp_20=` +comp_21=`///////////// +comp_22=` +comp_23=`uv2 = 2*uv1 * abs(pow(sqrt(uv1.x),.3+q10)) ; +comp_24=` +comp_25=`uv4 = 8*uv1 * (pow(abs(uv1.x),.4+q25))+float2(0.5,.5+time/8) ; +comp_26=` +comp_27=`float mask2 = pow(1-rad,8); +comp_28=`mask2 = pow(1-length(2*uv1),8); +comp_29=` +comp_30=`uv3 = frac(uv2-.5-.1*noise*mask); +comp_31=` +comp_32=`float2 hor = float2 (texsize.z,0); +comp_33=`float2 ver = float2 (0, texsize.w); +comp_34=`float dx = lum(GetPixel(uv3+hor) - GetPixel(uv3-hor)); +comp_35=`float dy = lum(GetPixel(uv3+ver) - GetPixel(uv3-ver)); +comp_36=`float2 dz = float2 (dx,dy); +comp_37=` +comp_38=`ret1 = 0 ; +comp_39=`ret1 = GetBlur1(frac(uv3))*0 + GetPixel(uv3); +comp_40=`ret1 *= 1-.5*mask; +comp_41=`////////// +comp_42=` +comp_43=`ret1 *= .2+ bass_att/3; +comp_44=` +comp_45=`float2 uv6 = .3*sin(4*uv1) + dz*8; +comp_46=`float3 mus = ((.06/length(uv6))-.2); +comp_47=` +comp_48=`ret = (1-.5*mask2)*ret1*(1+mus) +comp_49=`+ saturate(q10*(2-8*ret1.r)*mask2*GetPixel(uv4)); +comp_50=`} diff --git a/presets/presets_tryptonaut/martin - tiling the tube.milk b/presets/presets_tryptonaut/martin - tiling the tube.milk new file mode 100755 index 0000000000..936435144f --- /dev/null +++ b/presets/presets_tryptonaut/martin - tiling the tube.milk @@ -0,0 +1,472 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.952379 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.354492 +fWaveScale=5.466675 +fWaveSmoothing=0.000000 +fWaveParam=0.200000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.200000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.250000 +ib_a=1.000000 +nMotionVectorsX=31.999998 +nMotionVectorsY=24.000004 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.299900 +mv_g=0.499900 +mv_b=0.399900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=132 +wavecode_0_sep=49 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.067077 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=0.200000 +wavecode_0_b=0.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=k1 = (100*sample+time*2)%2; +wave_0_per_point2=k2 = (100*sample+time*5)%2; +wave_0_per_point3= +wave_0_per_point4=x = .5 + .5*sin(sample*76+time/337); +wave_0_per_point5=y = .5 + .5*sin(sample*126); +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=r = .4; +wave_0_per_point9=g = .8; +wave_0_per_point10=b = 1*k2; +wave_0_per_point11= +wave_0_per_point12=a = .3*k1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.084012 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.125186 +shapecode_0_r=0.800000 +shapecode_0_g=0.000000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.700000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=x = .5 + .5*sin(time/1); +shape_0_per_frame2=y = .5 + .5*cos(time/1.5); +shape_0_per_frame3= +shape_0_per_frame4=r = .5 + .3*sin(time/3); +shape_0_per_frame5=g = .5 + .3*sin(time/4); +shape_0_per_frame6=b = .5 + .3*sin(time/7); +shape_0_per_frame7= +shape_0_per_frame8=rad = .2; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.600000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.653087 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.480000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=1.000000 +shapecode_2_enabled=0 +shapecode_2_sides=14 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.590000 +shapecode_2_y=0.000000 +shapecode_2_rad=1.215236 +shapecode_2_ang=0.062832 +shapecode_2_tex_ang=0.879646 +shapecode_2_tex_zoom=0.514935 +shapecode_2_r=0.600000 +shapecode_2_g=0.500000 +shapecode_2_b=0.700000 +shapecode_2_a=0.100000 +shapecode_2_r2=0.700000 +shapecode_2_g2=0.500000 +shapecode_2_b2=0.600000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5+.3*cos(time/78); +shape_2_per_frame2=y = .5+.3*sin(time/78); +shape_2_per_frame3= +shape_2_per_frame4=tex_zoom = .2 / (sin(time/31)+1.1) +shape_2_per_frame5= +shape_2_per_frame6= +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.760000 +shapecode_3_y=0.750000 +shapecode_3_rad=0.686364 +shapecode_3_ang=0.439823 +shapecode_3_tex_ang=0.502655 +shapecode_3_tex_zoom=0.615900 +shapecode_3_r=0.700000 +shapecode_3_g=0.700000 +shapecode_3_b=0.700000 +shapecode_3_a=0.150000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = .5+.3*cos(time/59); +shape_3_per_frame2=y = .5+.3 *sin(time/59); +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .0+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8= +per_frame_9=index = (index + is_beat) %4; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_11=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%2; +per_frame_12= +per_frame_13=monitor = index4; +per_frame_14= +per_frame_15=q20 = avg; +per_frame_16=q21 = beat; +per_frame_17=q22 = peak; +per_frame_18=q23 = index; +per_frame_19=q24 = is_beat; +per_frame_20=q26 = bass_att + mid_att + treb_att + 3; +per_frame_21=//q26 = 6; +per_frame_22= +per_frame_23=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_28=rott = p2 * 3.14159265359/4; +per_frame_29= +per_frame_30=q27 = 1+index; +per_frame_31=q28 = 2+4* (1+sin(time/5)); +per_frame_32=c1 = c1 *dec_med + index2*(1-dec_med); +per_frame_33=q29 = 1+c1; +per_frame_34= +per_frame_35=col = dec_med*col + (1-dec_med) * 2 * (index3-.5)* (index%2); +per_frame_36=q30 = col; +per_frame_37= +per_frame_38=q1 = cos(rott); +per_frame_39=q2 = sin(rott); +per_frame_40=q3 = -q2; +per_frame_41=q4 = q1; +per_frame_42= +per_frame_43=zoom = .96 + .05*q1; +per_frame_44=mv_x = 64; +per_frame_45=mv_y = 48; +per_frame_46=mv_a = .0; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`sampler sampler_shub1; +warp_3=`shader_body { +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float4 ra = float4 (1,-1,1,1); +warp_8=`//uv1 = mul (uv1,ra); +warp_9=` +warp_10=`float2 tmp = uv1; +warp_11=` +warp_12=`tmp.x = .1*sin(uv1.x*127) + .0; +warp_13=`tmp.y = .1*sin(uv1.y*127) + .0; +warp_14=`uv1 = tmp; +warp_15=` +warp_16=` +warp_17=` +warp_18=`float3 ret1 = clamp((GetBlur1(uv))-1,-.1,.1); +warp_19=` +warp_20=`float2 h1 = 1*uv1.xy + 0*uv1.yx; +warp_21=`float3 crisp = tex2D(sampler_main, uv-lum(ret1.yx)*.4*(sin(h1)) ) ; +warp_22=` +warp_23=`float3 blur = GetBlur1 (uv+float2(1*ret1.x,ret1.y)*0) ; +warp_24=` +warp_25=`ret = saturate( crisp); +warp_26=` +warp_27=` ret *= 0.99 ; +warp_28=` ret -= 0.005; +warp_29=`} +comp_1=`float2 rs; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 uv1 = (uv-.5)*aspect.xy; +comp_6=` +comp_7=`//Rohr, 4-fach tapeziert +comp_8=`rs.x = ang/3.14/2; +comp_9=`rs.y = q28*.01/(.05+length (uv1))+time/3; +comp_10=` +comp_11=`uv = frac(rs); +comp_12=`uv1 = frac(rs); +comp_13=`float3 ret1 = GetBlur1(uv); +comp_14=` +comp_15=` +comp_16=`float2 hor = float2 (texsize.z,0); +comp_17=`float2 ver = float2 (0,texsize.w); +comp_18=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_19=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_20=`float2 dz = float2 (dx,dy); +comp_21=` +comp_22=`uv1 = .2*cos(uv1*16) - 8*dz;; +comp_23=`float dots = (.04/length(uv1)); +comp_24=` +comp_25=` +comp_26=`ret1 = q30*ret1*2 + dots + .0; +comp_27=` +comp_28=`ret = .8*ret1; +comp_29=`} diff --git a/presets/presets_tryptonaut/martin - tunnel race.milk b/presets/presets_tryptonaut/martin - tunnel race.milk new file mode 100755 index 0000000000..18b5416c88 --- /dev/null +++ b/presets/presets_tryptonaut/martin - tunnel race.milk @@ -0,0 +1,514 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=2.103075 +fWaveSmoothing=0.540000 +fWaveParam=0.380000 +fModWaveAlphaStart=0.810000 +fModWaveAlphaEnd=1.400000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=1.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=128 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_point1=x = sample ; +wave_0_per_point2=y = .5+ value2*.01; +wave_0_per_point3= +wave_0_per_point4=a = 1*q24*((q27+1)%2); +wave_0_per_point5= +wave_0_per_point6=r = .5+.5*sin(time/5); +wave_0_per_point7=g = .5+.5*sin(time/6); +wave_0_per_point8=b = .5+.5*sin(time/13); +wavecode_1_enabled=1 +wavecode_1_samples=128 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t +wave_1_per_point1=y = sample ; +wave_1_per_point2=x = .5+ value2*0.01; +wave_1_per_point3= +wave_1_per_point4=a = 1*q24*(q27%2); +wave_1_per_point5= +wave_1_per_point6=r = .5+.5*sin(time/7); +wave_1_per_point7=g = .5+.5*sin(time/9); +wave_1_per_point8=b = .5+.5*sin(time/11); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=0 +shapecode_0_sides=18 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.154155 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.769911 +shapecode_0_tex_zoom=5.277839 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.700000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_ang = 3+2*q1; +shapecode_1_enabled=0 +shapecode_1_sides=32 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.068920 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.831505 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.900000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a = q24/2; a2 = 0; +shape_1_per_frame2= +shape_1_per_frame3=r = rand(10)/10; +shape_1_per_frame4=g = rand(10)/10; +shape_1_per_frame5=b = rand(10)/10; +shape_1_per_frame6= +shape_1_per_frame7=rad = .06*q22; +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.123000 +shapecode_2_y=0.000000 +shapecode_2_rad=0.273185 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = .5 + .1* sin (time*73); +shape_2_per_frame2=y = .5 + .1* sin (time*23); +shape_2_per_frame3= +shape_2_per_frame4=r = 0; g = 0; b = 0; +shape_2_per_frame5=r2 = 1; g2 = 1; b2 = 1; +shape_2_per_frame6= +shape_2_per_frame7=rad = mid_att/100; +shape_2_per_frame8=a = .7; +shape_2_per_frame9=a2 = a; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.510000 +shapecode_3_rad=0.198688 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=1.005310 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=0.400000 +shapecode_3_b=0.000000 +shapecode_3_a=0.700000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = 0.05 + rand(900)/1000; +shape_3_per_frame2=y = 0.05 + rand(900)/1000; +shape_3_per_frame3= +per_frame_init_1=prox = 1; +per_frame_1=dec_med = pow (0.8, 30/fps); +per_frame_2=dec_slow = pow (0.95, 30/fps); +per_frame_3=//dec_xlow = pow (0.999, 30/fps); +per_frame_4=beat = max (max (bass, mid), treb); +per_frame_5=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_6=is_beat = above(beat, .2+avg+peak) * above (time, t0+.2); +per_frame_7=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_9=index = (index + is_beat) %32; +per_frame_10=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_11= +per_frame_12=q22 = peak; +per_frame_13=q24 = is_beat; +per_frame_14=q26 = bass_att + mid_att + treb_att; +per_frame_15=vol = vol*dec_med + (1-dec_med)*q26; +per_frame_16=q27 = index + 1; +per_frame_17=q28 = index2 +1; +per_frame_18= +per_frame_19=p2 = .3*sin(time) + .3*cos(time/3); +per_frame_20=//*****tunnel tilting +per_frame_21=q1 = cos(p2 * 3.1416/4); +per_frame_22=q2 = sin(p2 * 3.1416/4); +per_frame_23=q3 = -q2; +per_frame_24=q4 = q1; +per_frame_25= +per_frame_26=//****tunnel viewpoint x,y +per_frame_27=vtrig = is_beat * bnot(index%2); +per_frame_28=vx = vx * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_29=vy = vy * bnot(vtrig) + vtrig * (rand(100)/100-.5); +per_frame_30=vx = vx* below(index%15,5); //### +per_frame_31=vy = vy* below(index%15,5); +per_frame_32=q5 = vx*10; +per_frame_33=q6 = vy*12; +per_frame_34= +per_frame_35=//***tunnel width +per_frame_36=q21 = (1+sin(time/12))/8+.01; +per_frame_37= +per_frame_38=//**floor proximity +per_frame_39=prox = prox - above(vy,.3)*prox*2; +per_frame_40=q32 = .5 + .2*prox; +per_frame_41=monitor = prox; +per_frame_42= +per_frame_43=//****tunnel rotation +per_frame_44=rota = rota +.01*below(index%16,8)/fps*30; +per_frame_45=rota1 = rota1*dec_med + (1-dec_med)*rota; +per_frame_46=q7 = rota1; +per_frame_47= +per_frame_48=//****tunnel speed +per_frame_49=movez = movez + 1.2/(1+abs(vx)+abs(vy))/fps; +per_frame_50=q8 = movez * (1+q21/4); +per_frame_51=//dyn. Aenderung von q21 bewirkt auch Richt.wechsel +per_frame_52= +per_frame_53=//*********************** +per_frame_54=trig1= q24*bnot(index%12); +per_frame_55=trig2= q24*bnot((index+4)%12); +per_frame_56=trig3= q24*bnot((index+8)%12); +per_frame_57=trel = trel + vol/fps; +per_frame_58=z0 = 1; +per_frame_59=speed = vol/2; +per_frame_60=hx = sin(trel); +per_frame_61=hy = cos(trel); +per_frame_62= +per_frame_63=p1z = bnot(trig1)* (p1z + (5+p1z)*speed/fps)+trig1*z0; +per_frame_64=p1z = max(p1z,.1); +per_frame_65=q9 = hx/(p1z); +per_frame_66=q10 = hy/(p1z); +per_frame_67=q11 = p1z; +per_frame_68=q12 = .1+.02*q26*bnot((index+2)%3)*p1z*exp(-p1z/100); +per_frame_69= +per_frame_70=p2z = bnot(trig2)* (p2z + (5+p2z)*speed/fps)+trig2*z0; +per_frame_71=p2z = max(p2z,.1); +per_frame_72=q13 = 2*hx/(p2z); +per_frame_73=q14 = -.5*hy/(p2z); +per_frame_74=q15 = p2z; +per_frame_75=q16 = .1+.02*q26*bnot((index+2)%3)*p2z*exp(-p2z/100); +per_frame_76= +per_frame_77= +per_frame_78=p3z = bnot(trig3)* (p3z + (5+p3z)*speed/fps)+trig3*z0; +per_frame_79=p3z = max(p3z,.1); +per_frame_80=q17 = -1.4*hx/(p3z); +per_frame_81=q18 = 2*hy/(p3z); +per_frame_82=q19 = p3z; +per_frame_83=q20 = .1+.02*q26*bnot((index+2)%3)*p3z*exp(-p3z/100); +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=`shader_body { +warp_4=` +warp_5=`float2 uv1 = (uv-.5);// * aspect.xy; +warp_6=` +warp_7=`float2 uv6 = uv1; +warp_8=`float z = 14*length((abs(uv1.x)-abs(uv1.y))); +warp_9=`float2 d = normalize(uv1); +warp_10=`float2 rs = clamp(tan(z)*d,-2,2); +warp_11=`uv1 -= rs/40; +warp_12=` +warp_13=`uv6 = .4*cos(uv1*4); +warp_14=`mus = .003/(length(uv6)); +warp_15=`mus *= (1+roam_cos); +warp_16=` +warp_17=`float3 crisp= tex2D(sampler_main,(uv1)*(.95-q28/16+.4*z)+.5); +warp_18=` +warp_19=`float3 ret1 = crisp + mus; +warp_20=` +warp_21=`ret = (ret1*.99-.025); +warp_22=` +warp_23=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float k1, k2, mask1, mask2, mask3, rad1, rad2, rad3; +comp_4=`float2 rs, rss, rss0, rs0, uv2, uv3,uv4, rsk, uvo; +comp_5=`float2 dz1, dz2, dz3, Kugel1, Kugel2, Kugel3,tmp; +comp_6=`float3 noise, ret1, ret2; +comp_7=` +comp_8=`shader_body { +comp_9=`uvo = uv; +comp_10=`uv = mul(uv*aspect.xy,float2x2(_qa)); +comp_11=` +comp_12=`uv = uv + -.0- .1*float2(q5,q6); +comp_13=`float2 uv1 = (uv-.5 );//*aspect.xy; +comp_14=` +comp_15=`//Kugel1 +comp_16=`rsk = (uv1 + float2 (q9,q10)) ; +comp_17=`dz1 = normalize(rsk); +comp_18=`rad1 = q11*length (rsk) ; +comp_19=`uv4 = tan(rad1)*dz1; +comp_20=`mask1 = saturate(8-8*rad1); +comp_21=`Kugel1 = uv4*mask1; +comp_22=` +comp_23=`//Kugel2 +comp_24=`rsk = (uv1 + float2 (q13,q14)) ; +comp_25=`dz2 = normalize(rsk); +comp_26=`rad2 = q15*length (rsk) ; +comp_27=`uv4 = tan(rad2)*dz2; +comp_28=`mask2 = saturate(8-8*rad2); +comp_29=`Kugel2 = uv4*mask2; +comp_30=` +comp_31=`//Kugel3 +comp_32=`rsk = (uv1 + float2 (q17,q18)) ; +comp_33=`dz3 = normalize(rsk); +comp_34=`rad3 = q19*length (rsk) ; +comp_35=`uv4 = tan(rad3)*dz3; +comp_36=`mask3 = saturate(8-8*rad3); +comp_37=`Kugel3 = uv4*mask3; +comp_38=` +comp_39=`float2 dz = (Kugel2 + Kugel1 + Kugel3)*.2; +comp_40=`//******************** STARS +comp_41=`uv1 += dz; +comp_42=`rss0.x = atan2(uv1.x, uv1.y)/3.1416; +comp_43=`rss0.y = .1*q21/(length (uv1)); +comp_44=` +comp_45=`rss = float2 (rss0.x,rss0.y+time); +comp_46=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_47=`float noise = (tex2D(sampler_pw_noise_lq,rss/32)-.5 >= 0); +comp_48=`tmp = abs(frac(rss*8)-.5); +comp_49=`float3 dots = saturate(.04/length(tmp)) *noise; +comp_50=` +comp_51=`rss = float2 (rss0.x,rss0.y+time/4); +comp_52=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_53=`noise = (tex2D(sampler_pw_noise_lq,rss/32)-.5 >= 0); +comp_54=`tmp = abs(frac(rss*8)-.5); +comp_55=`dots += saturate(.02/length(tmp)) * noise; +comp_56=` +comp_57=`dots *= saturate(.2/abs(rss0.y)); +comp_58=`dots *= dots*.6; +comp_59=`//************************* +comp_60=` +comp_61=`float z = q32/(uv1.y-.02);//floor proxy +comp_62=`float mask = saturate(4/z); +comp_63=`rs0.x = (uv1.x)*z; +comp_64=`rs0.y = z/4; +comp_65=`rs.x = rs0.x ; +comp_66=`rs.y = rs0.y + q8*3; +comp_67=`float3 mirror = lum(tex2D(sampler_pw_noise_lq,.02*rs))-.5; +comp_68=`z = .2/(length(uv1)-q21); +comp_69=`uv2.y = z + q8; +comp_70=`uv2.x = rss0.x +q7; +comp_71=`uv3 =frac(uv2 +.0*mask*mirror); +comp_72=` +comp_73=`ret1 = tex2D (sampler_main,uv3)/z; +comp_74=`ret = max(ret1*(1-0.5*mask),mirror*mask) +dots; +comp_75=` +comp_76=`float mod = q22*2; +comp_77=`float3 blk = abs(rsqrt(rad1)*dz1.x*roam_sin +comp_78=`+rsqrt(rad2)*dz2.y*roam_sin.rbg +comp_79=`+rsqrt(rad3)*dz3.x*roam_sin.bgr)*(.2+mirror*mask)*mod; +comp_80=`ret += blk; +comp_81=` +comp_82=`ret2 = saturate(.02*q22*q21/length (uv1)* +comp_83=` (lum(tex2D (sampler_main,uv1+.5)))); +comp_84=`ret2 /= (length(uv1)+.02); +comp_85=`float k1 = lum(ret2); +comp_86=`ret += k1*float3(1,k1,k1/2) ; +comp_87=`} diff --git a/presets/presets_tryptonaut/martin - unholy amulet.milk b/presets/presets_tryptonaut/martin - unholy amulet.milk new file mode 100755 index 0000000000..e028bd3fad --- /dev/null +++ b/presets/presets_tryptonaut/martin - unholy amulet.milk @@ -0,0 +1,403 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=10.437056 +fWaveSmoothing=0.450000 +fWaveParam=0.080000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.000000 +wave_g=0.990000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=120 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.600000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t2 = t2 + bass_att; +wave_0_per_point1=x = .5 +.001*q22*int(sample*10); y = sample*10 - int(sample*10); +wave_0_per_point2= +wave_0_per_point3=r = 1; b = 1; g = 1; +wave_0_per_point4=a = 1; +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=xi = rand(100)/100; +wave_1_per_point2=yi = rand(100)/100; +wave_1_per_point3= +wave_1_per_point4=x = xi; y = yi; +wave_1_per_point5= +wave_1_per_point6=a = q21/15; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=0.000000 +wavecode_2_g=0.200000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .5; +wave_2_per_frame18=len = 1; +wave_2_per_frame19=t4 = len; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.544901 +shapecode_0_ang=0.816814 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.386143 +shapecode_0_r=0.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = .5*aspectx; +shape_0_per_frame1=trig = trig + q24; +shape_0_per_frame2=trig = below(trig,18)*trig; +shape_0_per_frame3= +shape_0_per_frame4=radius = radius + .01*30/fps; +shape_0_per_frame5= +shape_0_per_frame6=radius = radius * (1-bnot(trig)); +shape_0_per_frame7=a2 = 1/(6*radius); +shape_0_per_frame8=ang = 1/radius*1; +shape_0_per_frame9=rad = radius; +shape_0_per_frame10= +shape_0_per_frame11=x = radius; +shape_0_per_frame12= +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.400000 +shapecode_1_y=0.500000 +shapecode_1_rad=2.366958 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.455753 +shapecode_1_tex_zoom=0.993053 +shapecode_1_r=0.500000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=a2 =0;a = 0; +shape_1_per_frame2=a = q24/2; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.503000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.038857 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.609857 +shapecode_2_r=1.000000 +shapecode_2_g=0.100000 +shapecode_2_b=0.000000 +shapecode_2_a=0.900000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x = rand(10)/10; +shape_2_per_frame2=y = rand(10)/10; +shape_2_per_frame3= +shape_2_per_frame4=r = rand(4)/3; +shape_2_per_frame5=g = rand(4)/3; +shape_2_per_frame6=b = rand(4)/3; +shape_2_per_frame7= +shape_2_per_frame8=a = min(q21/2 ,.9); +shape_2_per_frame9=rad = a *a/3 ; +shape_2_per_frame10= +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.301766 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.879646 +shapecode_3_tex_zoom=0.954309 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=1.000000 +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_22= +per_frame_23=k1 = is_beat*equal(index,0); +per_frame_24=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_25=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_26=rott = p2 * 3.14159265359/4; +per_frame_27= +per_frame_28=q27 = 8-index; +per_frame_29=q28 = index2; +per_frame_30= +per_frame_31=q1 = cos(rott); +per_frame_32=q2 = sin(rott); +per_frame_33=q3 = -q2; +per_frame_34=q4 = q1; +per_frame_35= +per_frame_36=q5 = q1 * bnot(index2); +per_frame_37= +per_pixel_1=rot = .04*q5*(sin(q22*4*(rad))); +per_pixel_2=zoom = 1+.008 ; +warp_1=`float2 uv2; +warp_2=` +warp_3=`shader_body { +warp_4=`//uv2 = mul(uv-.5,float2x2(_qa))+.5; +warp_5=` +warp_6=`float3 ist = GetBlur1(uv); +warp_7=` +warp_8=`float3 crisp = tex2D(sampler_main,uv); +warp_9=`crisp += .015-.0*pow(rad,2); +warp_10=` +warp_11=`float3 ret1 = crisp; +warp_12=` +warp_13=`float k2 = q21*q21*.3; +warp_14=`ret1 = lum(ret1) * (1-.1*abs(tan(k2*ist*1.58))); +warp_15=` +warp_16=` +warp_17=`ret = ret1 - .02/(rad+.02)*ist; +warp_18=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = (uv-.5)*aspect.xy; +comp_5=` +comp_6=` +comp_7=`float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv); +comp_8=` +comp_9=`float2 hor = float2 (.001,0); +comp_10=`float2 ver = float2 (0,.001); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = uv1*0+.3*cos(uv1*9) -dz; +comp_16=` +comp_17=`float dots = saturate(.04*bass_att/length(uv1)); +comp_18=` +comp_19=` +comp_20=`ret1 = (-.5*ret1) + dots + .2; +comp_21=` +comp_22=`ret = ret1*2; +comp_23=`} diff --git a/presets/presets_tryptonaut/martin - violet flash.milk b/presets/presets_tryptonaut/martin - violet flash.milk new file mode 100755 index 0000000000..da2b82c44f --- /dev/null +++ b/presets/presets_tryptonaut/martin - violet flash.milk @@ -0,0 +1,458 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980001 +fDecay=0.500000 +fVideoEchoZoom=0.999998 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.005428 +fWaveScale=3.782626 +fWaveSmoothing=0.810000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.470000 +fModWaveAlphaEnd=1.320000 +fWarpAnimSpeed=1.459500 +fWarpScale=2.006700 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.000000 +wave_r=0.450000 +wave_g=0.400000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.060000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=47.999996 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.150000 +mv_r=0.600000 +mv_g=0.200000 +mv_b=0.699900 +mv_a=0.300000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=102 +wavecode_0_sep=10 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.500000 +wavecode_0_b=0.500000 +wavecode_0_a=0.600000 +wave_0_per_point1=k0 = int(100.0*sample); +wave_0_per_point2=k2 = int(100.0*sample+1); +wave_0_per_point3=k1 = equal(k0%2,0); +wave_0_per_point4=k2 = equal(k0%2,1); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=ix = (100*value1)%7-3; +wave_0_per_point8=iy = (100*value2)%7-3; +wave_0_per_point9= +wave_0_per_point10=sp = bass_att + treb_att; +wave_0_per_point11=sp = sp /1000; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=dx = (dx+sp*ix) * .99; +wave_0_per_point15=dy = (dy+sp*iy) * .99 ; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=ox = k1*dx + (1-k1)*ox; +wave_0_per_point19=oy = k2*dy + (1-k2)*oy; +wave_0_per_point20= +wave_0_per_point21= +wave_0_per_point22= +wave_0_per_point23=//ox = 0; oy = 0; +wave_0_per_point24= +wave_0_per_point25=x = ox+.5; +wave_0_per_point26=y = oy+.5; +wave_0_per_point27= +wave_0_per_point28=r = .6; +wave_0_per_point29=g = .8; +wave_0_per_point30=b = .9; +wave_0_per_point31=a = .1 + q26/8; +wave_0_per_point32=a = max(a,1) / 4; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .8; +wave_3_per_point2=rb = .5; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5= +wave_3_per_point6=tic = min(time-tin,.1); +wave_3_per_point7=tin = if(equal(sample,0),time,tin); +wave_3_per_point8= +wave_3_per_point9=mod = 1.5 + .5*sin(time*.15); +wave_3_per_point10=med = 1.5 + .5*sin(time*.134); +wave_3_per_point11=med = 5; +wave_3_per_point12=amod = 3; +wave_3_per_point13= +wave_3_per_point14=vr = rand(10001)*.0001; +wave_3_per_point15=rb = rb + rand(10001)*.0001*.1; +wave_3_per_point16= +wave_3_per_point17=a = vr; +wave_3_per_point18= +wave_3_per_point19=sa = vr*pib*.5; +wave_3_per_point20=sp = sa*mod + q1*1.3; +wave_3_per_point21=sam = sa*med - q1*.219; +wave_3_per_point22= +wave_3_per_point23=ox = ra*sin(sam*pib); +wave_3_per_point24=oy = ra*cos(sam*pib); +wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point26=oz = rb*-sin(sp); +wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point28= +wave_3_per_point29= +wave_3_per_point30=xang = time*.132; +wave_3_per_point31=xang = q2; +wave_3_per_point32=yang = time*.153; +wave_3_per_point33=yang = q3; +wave_3_per_point34=zang = time*.110; +wave_3_per_point35=zang = q4; +wave_3_per_point36=fov = 0.6 + 0.2*sin(time); +wave_3_per_point37=fov = .5; +wave_3_per_point38= +wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point41=ox = mx; +wave_3_per_point42=oy = my; +wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oz = mz; +wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point49=oy = my; +wave_3_per_point50=oz = mz; +wave_3_per_point51= +wave_3_per_point52=oz = oz - 2; +wave_3_per_point53=x = ox*fov/oz + 0.5; +wave_3_per_point54=x = (x-.5)*0.75 + 0.5; +wave_3_per_point55=y = oy*fov/oz + 0.5; +wave_3_per_point56= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.530000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.088200 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.492800 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.700000 +shapecode_0_a=0.700000 +shapecode_0_r2=0.400000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.800000 +shapecode_0_a2=0.600000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.200000 +shapecode_0_border_a=0.200000 +shape_0_per_frame1=trig = equal(q28%2,1)*q24; +shape_0_per_frame2= +shape_0_per_frame3=seed = sqr(time - int(time)); +shape_0_per_frame4=rr1 = rr1 * (1-trig) + seed*trig; +shape_0_per_frame5= +shape_0_per_frame6=textured = bnot(q24); +shape_0_per_frame7=ang = 3.1416 /4 * q28; +shape_0_per_frame8= +shape_0_per_frame9=x = .5 + .01*rr1*(q28%3); y = x + .002; +shape_0_per_frame10=border_a = .4; +shape_0_per_frame11= +shape_0_per_frame12=a = .8; a2 = .5; +shape_0_per_frame13=rad = 0.14*rr1+.0;//MUSS HIER STEHEN - MIST +shape_0_per_frame14=tex_zoom = .7/rad; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.460000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.159625 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.028461 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.030000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=0.500000 +shapecode_1_border_b=0.500000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = rand(10)/10; +shape_1_per_frame2=y = rand(10)/10; +shape_1_per_frame3= +shape_1_per_frame4=r = rand(4)/3; +shape_1_per_frame5=g = rand(4)/3; +shape_1_per_frame6=b = rand(4)/3; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=is_beat = above(time, t0+.03); +shape_1_per_frame10=t0 = is_beat*time + (1-is_beat)*t0; +shape_1_per_frame11= +shape_1_per_frame12= +shape_1_per_frame13=a = min(q21/2 ,.9) * is_beat; +shape_1_per_frame14=rad = a*a/3 ; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.553000 +shapecode_2_y=0.600000 +shapecode_2_rad=0.049138 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=0.500000 +shapecode_2_border_g=0.500000 +shapecode_2_border_b=0.500000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=textured = bnot(q24); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.450000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.202682 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=4.461715 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.500000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.500000 +shapecode_3_border_g=0.500000 +shapecode_3_border_b=0.500000 +shapecode_3_border_a=0.400000 +per_frame_init_1=index4 = rand(2); +per_frame_init_2=index3 = rand(4); +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %4; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%4; +per_frame_11=index4 = (index4 + is_beat*bnot(index)*bnot(index2)*bnot(index3))%2; +per_frame_12= +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=ready = is_beat * bnot(ready) + bnot(is_beat2)*ready; +per_frame_22=is_beat2 = ready * above (time, t0+.2); +per_frame_23=q19 = is_beat2; +per_frame_24= +per_frame_25=//k1 = is_beat*bnot(index)*bnot(index2); +per_frame_26= +per_frame_27=k1 = is_beat*equal(index,0); +per_frame_28=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_29=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_30=rott = p2 * 3.14159265359/2; +per_frame_31= +per_frame_32=q27 = index+1; +per_frame_33=q28 = index2; +per_frame_34=q29 = index3*4+1; +per_frame_35=q30 = index4; +per_frame_36= +per_frame_37=q1 = cos(rott); +per_frame_38=q2 = sin(rott); +per_frame_39=q3 = -q2; +per_frame_40=q4 = q1; +per_frame_41= +per_frame_42=sp0 = dec_slow*sp0 + (q24+.05)*(1-dec_slow); +per_frame_43=go = go * dec_med + (1-dec_med)*(1-bnot(index2+index3)); +per_frame_44=movez = movez + .015*30/fps * go ; +per_frame_45=q31 = movez; +per_frame_46=q32 = .5 + .02*sin(time/5); +per_frame_47= +per_frame_48=q5 = index4%2; +per_frame_49= +per_frame_50=zoom = 1.0; rot = 0; +per_frame_51=cx = .5 + .1*sin(time/2); +per_frame_52=dx = .05*max(sin(time/9.7)-.95,0); +per_frame_53=dy = .002*(1-go); +per_frame_54=rot = 50*(dx-dy); +per_frame_55= +per_frame_56=monitor = q5; +warp_1=`shader_body { +warp_2=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_3=` +warp_4=` +warp_5=`float2 uv6 = uv1; +warp_6=`float z = (16)*length(uv1+.0)+time/7; +warp_7=`float2 uvn = normalize(uv1); +warp_8=`float2 rs = clamp(tan(z)*uvn,-6,6)/3; +warp_9=`rs *= clamp(cos(8*z)*uvn,-3,3); +warp_10=` +warp_11=`rs += 0; +warp_12=`//uv1 = rs.yx; +warp_13=` +warp_14=` +warp_15=`float2 zz = uv1 *texsize.xy*.006*q28; +warp_16=`zz =mul(zz,float2x2(_qa)); +warp_17=`zz = zz.yx*q5 + (1-q5)*zz.xy; +warp_18=` +warp_19=`float2 h1 = clamp(tan(zz.yx),-8,8); +warp_20=`h1 *= cos(rand_preset*8*zz.xy); +warp_21=` +warp_22=`uv += h1 * texsize.zw*q29; +warp_23=` +warp_24=`uv1 = uv1*0+.3*cos(uv1*16+time/8); +warp_25=`float dots = (.004/length(uv1))*q19 ; +warp_26=` +warp_27=` +warp_28=`float3 crisp = tex2D(sampler_main,uv) +warp_29=` + dots * float3 (.5,0,1); +warp_30=` +warp_31=`//crisp = lerp(crisp,crisp.brg,saturate(.2*lum(crisp))); +warp_32=`ret = .995*crisp-.005; +warp_33=`} +comp_1=`float3 ret1, neu; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float2 tmp = uv; +comp_11=`float dist = 1; +comp_12=`float inten = 1; +comp_13=`ret1 = 0; +comp_14=`int anz = 4; +comp_15=`float n = 1; +comp_16=`while (n <= anz) { +comp_17=` c = n%2-.5; +comp_18=` s = (n+1)%2-.5; +comp_19=` uv2.x = uv.x*c - uv.y*s; +comp_20=` uv2.y = uv.x*s + uv.y*c; +comp_21=` uv2 *= aspect.yx; +comp_22=` dist = 1-frac(.25*n+q31); +comp_23=` inten = 2*sqrt(dist)*(1-dist*dist); +comp_24=` +comp_25=` neu = tex2D(sampler_main, 2*uv2*dist + q32); +comp_26=` ret1 = max(ret1,neu*inten); +comp_27=`n++; +comp_28=`} +comp_29=` +comp_30=`ret = ret1*1.6;// * lum(ret1) ; +comp_31=` +comp_32=`} diff --git a/presets/presets_tryptonaut/massive crack hit maggot trace.milk b/presets/presets_tryptonaut/massive crack hit maggot trace.milk new file mode 100755 index 0000000000..45564b742a --- /dev/null +++ b/presets/presets_tryptonaut/massive crack hit maggot trace.milk @@ -0,0 +1,418 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=13.694 +fVideoEchoAlpha=0.300 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=9.861 +fWarpScale=16.217 +fZoomExponent=1.50374 +fShader=0.330 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=1.000 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.100 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = int(rand(20)); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=warp = 0; +per_frame_29=volume = 0.3*(bass+mid+att); +per_frame_30=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_31=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_32=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_33=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_34=xpos = xpos + 0.001*xspeed; +per_frame_35=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_36=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_37=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_38=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_39=ypos = ypos + 0.001*yspeed; +per_frame_40=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_41=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_42=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_43=peakbass_att = max(bass_att,peakbass_att); +per_frame_44=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_49=wave_x = xpos + 0.5; +per_frame_50=wave_y = 1-(ypos + 0.5); +per_frame_51=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_52=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_53=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_54=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_55=mv_r = if(beat, 1, ib_r); +per_frame_56=mv_b = if(beat, wave_b, ib_b); +per_frame_57=//mv_a = if(beat, 0.1, ib_a); +per_frame_58=//ib_a = 0.015; +per_frame_59=q3 = wave_mystery; +per_frame_60=q1 = wave_x; +per_frame_61=q2 = 1-wave_y; +per_frame_62=q2 = ypos+0.5; +per_frame_63=warp=0; +per_frame_64= +per_frame_65=//q2 = 1-(ypos + 0.5); +per_frame_66=//q1 = 0.5; +per_frame_67=//q2=0.5; +per_frame_68=ob_r = 1-wave_g; +per_frame_69=ob_b = 1-wave_r; +per_frame_70=ob_g = 1-wave_b; +per_frame_71= +per_frame_72=monitor = wave_y; +per_frame_73=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_74=movement = if(above(movement,10000), 0, movement); +per_frame_75=rot =1*sin(movement); +per_frame_76=cx = wave_x; +per_frame_77=cy = y_pos+0.5; +per_frame_78= +per_frame_79=q8 = movement; +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`sampler sampler_grad3; +warp_2=` +warp_3=`shader_body +warp_4=`{ +warp_5=` +warp_6=` float3 txr = float3(uv,q1*0.1); +warp_7=` float2 uv2 = uv; +warp_8=` uv2 = uv + texsize.zx*(q3,q3); +warp_9=` float3 color = tex2D(sampler_noise_lq, uv2) - 0.5; +warp_10=` // color += tex2D(sampler_noise_mq, uv2) - 0.5; +warp_11=`// color += tex2D(sampler_noise_hq, uv2) - 0.5; +warp_12=` uv += color*0.01; +warp_13=` //uv.y += abs(color*0.01) + bass_att*0.01; +warp_14=` +warp_15=` float2x2 rot = { cos(q9), sin(q9), +warp_16=` -sin(q9), cos(q9) }; +warp_17=` +warp_18=` +warp_19=` ret = tex2D( sampler_main, (uv)*0.98 + GetBlur3((uv - 0.5)*0.9 + 0.5)*0.1 ).xyz + (color)*0.01; +warp_20=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_21=` ((uv.xyy*q27 +warp_22=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_23=` ).xyz* +warp_24=` float3(1,1,0)*0.05 + +warp_25=` time*float3(0,0,1)*q29 +warp_26=` ); +warp_27=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_28=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_29=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_30=` ret = ret-0.01;// - 0.08; //or try: ret -= 0.004; +warp_31=` +warp_32=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main,uv).xyz; +comp_4=` float3 blur1 = GetBlur2(uv); +comp_5=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_6=` ((uv.xyy*q28 +comp_7=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_8=` ).xyz* +comp_9=` float3(1,1,0)*0.05 + +comp_10=` time*float3(0,0,1)*q31 +comp_11=` ); +comp_12=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_13=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_14=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_15=` ret *= (.6+.3*sin(uv.x*10+time)); +comp_16=` blur1 = lum(blur1); +comp_17=` float3 ret2 = tex2D(sampler_main,uv).xyz; +comp_18=` ret = lerp(blur1,ret,pow(ret,.05+(mid_att)*.03)); +comp_19=` +comp_20=` float2 uv1 = uv-.5; +comp_21=` float3 ret1 = tex2D(sampler_main, uv) + GetBlur1(uv)*0; +comp_22=` +comp_23=` float2 hor = float2 (.001,0); +comp_24=` float2 ver = float2 (0,.001); +comp_25=` float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_26=` float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_27=` float2 dz = float2 (dx,dy); +comp_28=` +comp_29=` uv1 = uv1*0+.5*cos(uv1*1.5+1.6) - 3*dz; +comp_30=` float dots = saturate(.01/length(uv1)); +comp_31=` +comp_32=` ret1 = 0.3*lum(ret1)+dots*ret*(4+(bass+mid)+treb_att); +comp_33=` ret = ret1; +comp_34=`} diff --git a/presets/presets_tryptonaut/menstruating in reverse in reverse time max out crap roam3 nz+.milk b/presets/presets_tryptonaut/menstruating in reverse in reverse time max out crap roam3 nz+.milk new file mode 100755 index 0000000000..ffb08e7525 --- /dev/null +++ b/presets/presets_tryptonaut/menstruating in reverse in reverse time max out crap roam3 nz+.milk @@ -0,0 +1,450 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96190 +rot=-0.01000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.500 +ib_g=0.570 +ib_b=0.400 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10260 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14=rad=(bass+treb)/100; +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shape_0_per_frame16=r=int(rand(100))/100; +shape_0_per_frame17=g=int(rand(100))/100; +shape_0_per_frame18=b=int(rand(100))/100; +shape_0_per_frame19=r2=int(rand(100))/100; +shape_0_per_frame20=g2=int(rand(100))/100; +shape_0_per_frame21=b2=int(rand(100))/100; +shape_0_per_frame22=r_border=int(rand(100))/100; +shape_0_per_frame23=g_border=int(rand(100))/100; +shape_0_per_frame24=b_border=int(rand(100))/100; +shapecode_1_enabled=1 +shapecode_1_sides=23 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1024 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10262 +shapecode_1_ang=0.43982 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14=rad=(bass+treb)/75; +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shape_1_per_frame16=r=int(rand(100))/100; +shape_1_per_frame17=g=int(rand(100))/100; +shape_1_per_frame18=b=int(rand(100))/100; +shape_1_per_frame19=r2=int(rand(100))/100; +shape_1_per_frame20=g2=int(rand(100))/100; +shape_1_per_frame21=b2=int(rand(100))/100; +shape_1_per_frame22=r_border=int(rand(100))/100; +shape_1_per_frame23=g_border=int(rand(100))/100; +shape_1_per_frame24=b_border=int(rand(100))/100; +shapecode_2_enabled=0 +shapecode_2_sides=14 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=256 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20269 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=256 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22389 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq30=if(above(chng,cthr),rand(1)*.3,mq30); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q1=.4+sin(atime*.006 )*.4; +per_frame_21=q2=.4+cos(atime*.00613828348)*.4; +per_frame_22=q3=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q3; +per_frame_24= +per_frame_25=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); +per_frame_26=wave_g = wave_g + 0.1*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); +per_frame_27=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); +per_frame_28=wave_mystery = 0.5*sin(0.35*bass); +per_frame_29=decay = decay - 0.01*equal(frame%50,0); +per_frame_30=mv_b = mv_b + 0.2*sin(time*1.411); +per_frame_31=cx = cx + 0.08*sin(time*1.315); +per_frame_32=cy = cy + 0.08*sin(time*1.127); +per_frame_33=q1 = sin(sin(1.211*time)+ cos(0.887*time)-sin(1.453*time)); +per_pixel_1=zoom = zoom + (0.1*rad); +per_pixel_2=rot = rot - 0.15*sin(q1-ang); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2D(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*3; +warp_9=` ret = tex2D(sampler_main, uv2).xyz; +warp_10=` +warp_11=` // add noise +warp_12=` float t = 0.013; +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_14=` +warp_15=` // darken +warp_16=` ret -= 0.00014; +warp_17=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_18=` ((uv2.xyy*q28 +warp_19=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_20=` ).xyz* +warp_21=` float3(1,1,0)*0.05 + +warp_22=` time*float3(0,0,1)*q30 +warp_23=` ); +warp_24=`if(ret.x> q26*q3 && ret.x<= q23*q1 )ret.z -= (noise9).x*.5; +warp_25=`if(ret.y> q25*q1 && ret.y<= q22*q2 )ret.x -= (noise9).y*.5; +warp_26=`if(ret.z> q24*q2 && ret.z<= q21*q3 )ret.y -= (noise9).z*.5; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float3 rnd = tex2D(sampler_noise_lq, rand_frame.xy + uv*texsize.xy*texsize_noise_lq.zw)*2-1; +comp_4=` +comp_5=`ret = GetPixel(uv); +comp_6=` +comp_7=`float2 d = texsize.zw * 8; +comp_8=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_9=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_10=` +comp_11=`uv -= float2(lum(dx),lum(dy))*texsize.zw*32; +comp_12=` +comp_13=` +comp_14=`ret = pow(abs(GetBlur3(uv+rnd.xy*texsize.zw*5)*2-GetPixel(uv))*1.6,2)*0.9; +comp_15=`ret-=roam_sin.wzy*roam_cos*.1; +comp_16=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_17=` ((uv.xyy*q28 +comp_18=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_19=` ).xyz* +comp_20=` float3(1,1,0)*0.05 + +comp_21=` time*float3(0,0,1)*q30 +comp_22=` ); +comp_23=`if(ret.x> q26*q3 && ret.x<= q23*q1 )ret.z -= (noise9).x*.5; +comp_24=`if(ret.y> q25*q1 && ret.y<= q22*q2 )ret.x -= (noise9).y*.5; +comp_25=`if(ret.z> q24*q2 && ret.z<= q21*q3 )ret.y -= (noise9).z*.5; +comp_26=` +comp_27=`} +comp_28=` diff --git a/presets/presets_tryptonaut/niko radiative bunchess - i'm gonna break my rusty cage, and run (the fuck grunge isn't the source of anarchy).milk b/presets/presets_tryptonaut/niko radiative bunchess - i'm gonna break my rusty cage, and run (the fuck grunge isn't the source of anarchy).milk new file mode 100755 index 0000000000..c8a2fe640b --- /dev/null +++ b/presets/presets_tryptonaut/niko radiative bunchess - i'm gonna break my rusty cage, and run (the fuck grunge isn't the source of anarchy).milk @@ -0,0 +1,346 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.008 +fWaveScale=1.002 +fWaveSmoothing=0.000 +fWaveParam=0.500 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.99990 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.030 +ob_r=0.050 +ob_g=0.040 +ob_b=0.030 +ob_a=1.000 +ib_size=0.040 +ib_r=0.800 +ib_g=0.800 +ib_b=0.800 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.500 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3=q3*q3*0.5 + 0.1; +per_frame_40= +per_frame_41=q4 = mt; +per_frame_42=q5 = bt; +per_frame_43= +per_frame_44=cx = q1; +per_frame_45=cy = q2; +per_frame_46= +per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_52= +per_frame_53=q6 = rmod; +per_frame_54= +per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_56= +per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_58= +per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); +per_frame_60= +per_frame_61=ib_size=.05-(bass*0.01); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.5;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_26= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` uv = uv - float2(0,1)*texsize.zw*0; +warp_5=` +warp_6=` float1 d = 0.024; +warp_7=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*1280*texsize.z; +warp_8=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*1024*texsize.w; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.05; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_fc_main, my_uv - floor(my_uv)).y; +warp_14=` ret.y += (ret.y - GetBlur1(my_uv - floor(my_uv)).y - 0.1)*.1 +0.02; +warp_15=` ret.z = (tex2D(sampler_main, uv_orig).y - ret.y)*2 + 0.5; +warp_16=` +warp_17=` d = 0.01; +warp_18=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*1280*texsize.z; +warp_19=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*1024*texsize.w; +warp_20=` my_uv = uv + float2(dx,dy)*0.01; +warp_21=` +warp_22=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_23=` +warp_24=` +warp_25=` ret.x += (ret.x - GetBlur3(uv).x - 0.02)*.5; +warp_26=` +warp_27=`//ret = 0; +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = lerp(float3(0,0,0.1),float3(0,1,0),GetPixel(uv).y*1.4-0.5); +comp_4=`ret = lerp(ret, lerp(float3(1,0,0),float3(0,1,1),GetPixel(uv).y), 1-GetPixel(uv).x-GetPixel(uv).z); +comp_5=`ret *= 1-GetBlur1(uv).z*1.2; +comp_6=`ret += lerp(lerp(float3(1,0.6,-0.5),float3(0.2,-0.2,0.4),1-GetPixel(uv).x), +comp_7=` float3(-1,0,1.5),GetPixel(uv).y)*GetPixel(uv).z; +comp_8=`} diff --git a/presets/presets_tryptonaut/nil - Can't Stop the Cramming.milk b/presets/presets_tryptonaut/nil - Can't Stop the Cramming.milk new file mode 100755 index 0000000000..d08c283840 --- /dev/null +++ b/presets/presets_tryptonaut/nil - Can't Stop the Cramming.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.992000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.096512 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.000000 +fModWaveAlphaEnd=0.780000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.473261 +fShader=0.000000 +zoom=0.869963 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.002000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=1.024000 +nMotionVectorsY=1.008003 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=0.600000 +mv_b=0.000000 +mv_a=0.000000 +per_frame_1=q1=zoom; +per_frame_2=wave_mystery=sin(3.654*time)*sin(2.765*time); +per_frame_3=wave_r=sin(bass); +per_frame_4=wave_g=sin(treb); +per_frame_5=wave_b=sin(mid); +per_frame_6=zoom=(bass+q1)/2.2; +per_pixel_1=zoom=zoom+abs(sin(ang)*.2); diff --git a/presets/presets_tryptonaut/nil - Cid and Lucy.milk b/presets/presets_tryptonaut/nil - Cid and Lucy.milk new file mode 100755 index 0000000000..2f6997cb5f --- /dev/null +++ b/presets/presets_tryptonaut/nil - Cid and Lucy.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.022740 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=3.072695 +fShader=0.000000 +zoom=0.999837 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=12.023998 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r=sin(time*bass_att*sin(time*1.543)); +per_frame_2=wave_g=sin(time*1.6432*mid_att*sin(time*1.721)); +per_frame_3=wave_b=sin(time*1.37563*treb_att*sin(time*1.666)); +per_pixel_1=rot=abs(sin(ang*cos(time)*sin(time*1.8232)*.09)); +per_pixel_2=zoom=zoom+sin(rad*sin(time)*sin(time*1.562543)*.3)+.1; diff --git a/presets/presets_tryptonaut/nil - Disco Comet.milk b/presets/presets_tryptonaut/nil - Disco Comet.milk new file mode 100755 index 0000000000..1c670a356d --- /dev/null +++ b/presets/presets_tryptonaut/nil - Disco Comet.milk @@ -0,0 +1,70 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=0.925000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=0.306781 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=3.615999 +nMotionVectorsY=3.720001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.350000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r=abs(sin(time*7)); +per_frame_2=wave_g=abs(sin(time*7.1)); +per_frame_3=wave_b=abs(sin(time*7.2)); +per_frame_4=cx=sin(time*1.234); +per_frame_5=cy=cos(time*.983); +per_pixel_1=zoom=zoom+sin(rad*5)*sin(time)*.2+.2; +per_pixel_2=rot=rot+sin(rad*.2); diff --git a/presets/presets_tryptonaut/nil - Singularity in My Oscilloscope.milk b/presets/presets_tryptonaut/nil - Singularity in My Oscilloscope.milk new file mode 100755 index 0000000000..898f3f5493 --- /dev/null +++ b/presets/presets_tryptonaut/nil - Singularity in My Oscilloscope.milk @@ -0,0 +1,67 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.925000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=10.673611 +fWaveSmoothing=0.657000 +fWaveParam=0.380000 +fModWaveAlphaStart=0.090000 +fModWaveAlphaEnd=0.540001 +fWarpAnimSpeed=1.308204 +fWarpScale=1.514802 +fZoomExponent=0.842832 +fShader=0.000000 +zoom=1.000000 +rot=0.179900 +cx=0.020000 +cy=-0.039999 +dx=0.240000 +dy=0.260000 +warp=0.871553 +sx=0.602019 +sy=0.749342 +wave_r=0.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.065000 +ob_r=0.190000 +ob_g=0.140000 +ob_b=0.000000 +ob_a=0.500000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=19.679998 +nMotionVectorsY=15.239994 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.730000 +per_frame_1=rot=rot+sin(time*.4567)*.2-.1; +per_frame_2=cx=cx+sin(time*1.234)*.4; +per_frame_3=cy=cy+cos(time*1.234)*.4; +per_pixel_1=zoom = sin(x+1)*.8; diff --git a/presets/presets_tryptonaut/nil - Vortex of Vortices.milk b/presets/presets_tryptonaut/nil - Vortex of Vortices.milk new file mode 100755 index 0000000000..2304966710 --- /dev/null +++ b/presets/presets_tryptonaut/nil - Vortex of Vortices.milk @@ -0,0 +1,68 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.998000 +fVideoEchoZoom=7.113829 +fVideoEchoAlpha=0.470001 +nVideoEchoOrientation=2 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=3.985613 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.090000 +fModWaveAlphaEnd=0.820000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.040000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.200000 +ib_size=0.003500 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.700000 +nMotionVectorsX=3.615999 +nMotionVectorsY=3.720001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.350000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_r=sin(time*2.345); +per_frame_2=wave_g=sin(time*1.456); +per_frame_3=wave_b=sin(time*1.789); +per_pixel_1=zoom=zoom+if(above(rad,.666),rad*.01,rad*.1)+sin(ang+time*.534)*.2; +per_pixel_2=rot=sin((rad+time*.666+bass_att*.2)*9)*.2; diff --git a/presets/presets_tryptonaut/no good rnz.milk b/presets/presets_tryptonaut/no good rnz.milk new file mode 100755 index 0000000000..01361036cb --- /dev/null +++ b/presets/presets_tryptonaut/no good rnz.milk @@ -0,0 +1,287 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.990 +fDecay=0.980 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.008 +fWaveScale=1.006 +fWaveSmoothing=0.450 +fWaveParam=0.000 +fModWaveAlphaStart=1.010 +fModWaveAlphaEnd=1.010 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.06400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.03030 +sy=0.97059 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.470 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=7.680 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.19986 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=(sin(time/7)*0.3)+0.5; +shape_0_per_frame2=y=(cos(time/7)*0.3)+0.5; +shapecode_1_enabled=1 +shapecode_1_sides=46 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=(sin(time*3.01)*0.1)+0.5; +shape_1_per_frame2=y=(sin(time*2.01)*0.1)+0.5; +shapecode_2_enabled=1 +shapecode_2_sides=46 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.08963 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.100 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x=(sin((time*2.013)+1)*0.1)+0.5; +shape_2_per_frame2=y=(cos(time*5.032)*0.1)+0.5; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.060 +shapecode_3_y=0.080 +shapecode_3_rad=0.54279 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.800 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad=sin(time)*0.2+1.6; +shape_3_per_frame2=a=sin(time)*0.7; +shape_3_per_frame3=a=if(above(bass-bass_att,0.1),1,a); +shape_3_per_frame4=border_a=if(above(bass-bass_att,0.1),1,border_a); +shape_3_per_frame5=ang=sin(time*0.51)*0.5; +shape_3_per_frame6=//x=abs(cos(time*0.31)); +per_frame_1=ib_r = 0.5 + (5.499*( 0.60*sin(0.933*time/2) + 0.40*sin(1.045*time/2) )); +per_frame_2=ib_g = 0.5 + (5*( 0.60*sin(0.900*time/2) + 0.40*sin(0.956*time/2) )); +per_frame_3=ib_b = 0.5 + (5.499*( 0.60*sin(0.910*time/2) + 0.40*sin(0.920*time/2) )); +per_frame_4=wave_a=0; +per_frame_5=decay =2; +per_frame_6=zoom =-1; +per_frame_7=rot=0; +per_frame_8=warp=0; +per_frame_9=q1 = oldq1+0.0055*(bass+bass_att+(bass*bass_att)-1); +per_frame_10=oldq1 = below(q1,30000)*q1; +per_frame_11=monitor =q1; +per_pixel_1=dx=0.01*(bass*bass+bass_att)*sin((sin(sqrt(4)-rad))*5+(rad*5*sin(q1)))*y*ang; +per_pixel_2=dy=0.01*(bass*bass+bass_att)*cos((sin(sqrt(4)-rad))*5+(-rad*5*sin(q1)))*x*rad*ang; +per_pixel_3= +per_pixel_4=rot=(sin(time/(rad*time))*x)/(atan(time/rad)/(ang/3)/x/((sin(time/6)*0.5+0.5)*y)); +per_pixel_5=warp=(tan(time/10)*y)/(atan(time/6)/(rad*(sin(time/3)*0.5+0.5))/y)*3 +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` //ret = lerp(GetBlur1(uv)*1,ret,ret); +warp_6=` // darken (decay) over time +warp_7=` if (ret.x+ret.y+ret.z < (0+((mid+bass+treb)/3)*.3)){ +warp_8=` ret.x = ret.x+.6; +warp_9=` ret.y = ret.y+.6; +warp_10=` ret.z = ret.z+.6; +warp_11=` }else{ +warp_12=` ret = (ret - .005)*0.99; //or try: ret -= 0.004; +warp_13=` } +warp_14=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1=abs(frac(uv.yx+.5)-.5) ; +comp_4=`uv=(uv1.yx*2); +comp_5=` +comp_6=` float3 goo = tex2D(sampler_main, uv).xyz; +comp_7=`goo-=roam_sin.wzy*roam_cos; +comp_8=`ret=goo; +comp_9=` float3 d = float3(texsize.zw, 0)*2.5; +comp_10=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_11=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_12=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_13=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_14=` +comp_15=` ret *= 0.5; +comp_16=` ret += (b1-b2)*3.4*float3(1,0.7,0.3); +comp_17=` ret += (b3-b4)*3.4*float3(0.2,0.5,0.7); +comp_18=` if (lum(ret)>0.6){ret=lerp(ret, tex2d(sampler_noise_lq,uv*10),0.1)*1.1;}; +comp_19=` ret*=ret*0.8+q6*q5*0.35; +comp_20=`float4 noise2 = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(roam_sin.xy),lum(roam_cos.yx),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_21=` + time*float3(0,0,1)*0.2 ); +comp_22=`ret *= (noise2)*3; +comp_23=`} diff --git a/presets/presets_tryptonaut/onefish.jpg b/presets/presets_tryptonaut/onefish.jpg new file mode 100755 index 0000000000..9c5faddd19 Binary files /dev/null and b/presets/presets_tryptonaut/onefish.jpg differ diff --git a/presets/presets_tryptonaut/paper.jpg b/presets/presets_tryptonaut/paper.jpg new file mode 100755 index 0000000000..8fbff2f8ca Binary files /dev/null and b/presets/presets_tryptonaut/paper.jpg differ diff --git a/presets/presets_tryptonaut/phat + EoS - 2ct2V5.milk b/presets/presets_tryptonaut/phat + EoS - 2ct2V5.milk new file mode 100644 index 0000000000..726be7644c --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - 2ct2V5.milk @@ -0,0 +1,232 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.750000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995941 +shapecode_0_ang=0.188496 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.762997 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.040000 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.5+0.5; +shape_1_per_frame5=y=sin(adv)*0.5+0.5; +shape_1_per_frame6=r=bass_att; +shape_1_per_frame7=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=sin(time/10)*0.02; +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; diff --git a/presets/presets_tryptonaut/phat + EoS - 2ct2V6.milk b/presets/presets_tryptonaut/phat + EoS - 2ct2V6.milk new file mode 100644 index 0000000000..cef4de343a --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - 2ct2V6.milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.630000 +fDecay=1.000000 +fVideoEchoZoom=1.008151 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=8.311067 +fShader=0.700000 +zoom=1.000000 +rot=1.000000 +cx=0.500000 +cy=0.500000 +dx=1.000000 +dy=1.000000 +warp=0.010000 +sx=1.001827 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.030000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=1.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.527749 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.571746 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.480000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=.190+sin(time)*.190 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.506255 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.903621 +shapecode_1_r=0.360000 +shapecode_1_g=0.600000 +shapecode_1_b=0.700000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.400000 +shapecode_1_b2=0.500000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/17; +shape_1_per_frame4=x=cos(adv)*0.3+0.5; +shape_1_per_frame5=y=sin(adv)*0.3+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=16 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.300000 +shapecode_2_y=0.700000 +shapecode_2_rad=0.110462 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.028414 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.70; +per_frame_2=zoom=.99; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=sin(time/5)*0.02; +per_frame_5= +per_frame_6=ob_r=.360+((sin(time/5)*0.5+0.5)*.6); +per_frame_7=ob_g=.490+((sin(time/14)*0.5+0.5)*.5); +per_frame_8=ob_b=.500+((sin(time/18)*0.5+0.5)*.5); +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=var1=above(sin(time*3)*10,9)*sin(time*6)*0.2; +per_pixel_6=var2=above(sin(ang/6+time*2),0.6); +per_pixel_7=rot=var1*var2; +per_pixel_8= +per_pixel_9=dx=dx+0.001; +per_pixel_10=dy=dy+0.001 diff --git a/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk b/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk new file mode 100644 index 0000000000..183675f8bc --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_Movements_Disorienting nebula3.milk @@ -0,0 +1,338 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=2.220753 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.012; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3= +wave_0_per_frame4=t1=advance +wave_0_per_frame5= +wave_0_per_point1= +wave_0_per_point2=s=sample*6.28; +wave_0_per_point3= +wave_0_per_point4=//plot random x position via function of sample pos; +wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point6=xp=xp*0.20; +wave_0_per_point7= +wave_0_per_point8=//plot random y position via function of sample pos; +wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point10=yp=yp*0.20; +wave_0_per_point11= +wave_0_per_point12=//plot random z position via function of sample pos; +wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point14=zp=zp*0.25; +wave_0_per_point15= +wave_0_per_point16=//pull stars toward screen +wave_0_per_point17=zp=zp + 1 - t1; +wave_0_per_point18= +wave_0_per_point19=//correct when below 0 +wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point21= +wave_0_per_point22=//darken far stars +wave_0_per_point23=a=(1 - zp*0.5); +wave_0_per_point24= +wave_0_per_point25=zp=zp*0.7; +wave_0_per_point26= +wave_0_per_point27=x_screen=xp/zp + 0.5; +wave_0_per_point28=y_screen=yp/zp + 0.5; +wave_0_per_point29= +wave_0_per_point30=x=x_screen; +wave_0_per_point31=y=y_screen; +wave_0_per_point32= +wave_0_per_point33=r=1;g=0.9;b=1.0 +wavecode_1_enabled=1 +wavecode_1_samples=42 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=advance=advance+ 0.012; +wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_1_per_frame3= +wave_1_per_frame4=t1=advance +wave_1_per_point1= +wave_1_per_point2=s=sample*6.28; +wave_1_per_point3= +wave_1_per_point4=//plot random x position via function of sample pos; +wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); +wave_1_per_point6=xp=xp*0.20; +wave_1_per_point7= +wave_1_per_point8=//plot random y position via function of sample pos; +wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); +wave_1_per_point10=yp=yp*0.20; +wave_1_per_point11= +wave_1_per_point12=//plot random z position via function of sample pos; +wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); +wave_1_per_point14=zp=zp*0.25; +wave_1_per_point15= +wave_1_per_point16=//pull stars toward screen +wave_1_per_point17=zp=zp + 1 - t1; +wave_1_per_point18= +wave_1_per_point19=//correct when below 0 +wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); +wave_1_per_point21= +wave_1_per_point22=//darken far stars +wave_1_per_point23=a=(1 - zp*0.5); +wave_1_per_point24= +wave_1_per_point25=zp=zp*0.7; +wave_1_per_point26= +wave_1_per_point27=x_screen=xp/zp + 0.5; +wave_1_per_point28=y_screen=yp/zp + 0.5; +wave_1_per_point29= +wave_1_per_point30=x=x_screen; +wave_1_per_point31=y=y_screen; +wave_1_per_point32= +wave_1_per_point33=r=1;g=0.9;b=1.0 +wavecode_2_enabled=1 +wavecode_2_samples=42 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.360001 +wave_2_per_point1=x=rand(1000)*0.001; +wave_2_per_point2=y=rand(1000)*0.001; +wave_2_per_point3=r=0.9;g=1;b=1 +wavecode_3_enabled=1 +wavecode_3_samples=192 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.320001 +wave_3_per_point1=x=rand(1000)*0.001; +wave_3_per_point2=y=rand(1000)*0.001; +wave_3_per_point3=r=1.0;g=1;b=0.9 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.200000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3= +shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; +shape_1_per_frame5=g=r; +shape_1_per_frame6=b=r; +shape_1_per_frame7= +shape_1_per_frame8=x=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame9=y=rand(100)*0.01*0.5 + 0.25; +shape_1_per_frame10=rad=rand(100)*0.01*0.4+0.1; +shape_1_per_frame11=ang=rad +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1.0; +per_frame_2=zoom=1.009; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10=cx=-1;cy=2;rot=-treb*0.002; +per_frame_11= +per_frame_12=cx=sin(time*0.1)*1.5 + 0.5; +per_frame_13=cy=cos(time*0.2)*1.5 + 0.5 +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(y)*0.005*(rad+2)*treb ; +per_pixel_6=//dy=sin(x)*0.005*(rad+2)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_spiral.milk b/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_spiral.milk new file mode 100644 index 0000000000..8e57b18f7f --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - Bass_responce_Red_spiral.milk @@ -0,0 +1,250 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3=x=sin(adv)*0.5+0.5; +shape_1_per_frame4=y=cos(adv)*0.5+0.5; +shape_1_per_frame5=r=bass_att; +shape_1_per_frame6=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.003; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4=dx=sin(y)*0.005*rad*treb ; +per_pixel_5=dy=cos(x)*0.005*rad*treb +per_pixel_6=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_tryptonaut/phat + EoS - Follow Me.milk b/presets/presets_tryptonaut/phat + EoS - Follow Me.milk new file mode 100644 index 0000000000..8b042787b5 --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - Follow Me.milk @@ -0,0 +1,250 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)/15; +shape_1_per_frame3=x=sin(adv)*0.5+0.5; +shape_1_per_frame4=y=cos(adv)*0.5+0.5; +shape_1_per_frame5=r=bass_att; +shape_1_per_frame6=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.860000 +shapecode_3_y=0.200000 +shapecode_3_rad=0.808140 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=1; +per_frame_2=zoom=1.003; +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4=dx=sin(y+(treb*5))*0.005*rad*bass; +per_pixel_5=dy=cos(x+(treb*5))*0.005*rad*bass; +per_pixel_6=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_tryptonaut/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk b/presets/presets_tryptonaut/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk new file mode 100644 index 0000000000..d6d8ae07bd --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - PeopleWhoEatAcid_phatColoursV2.milk @@ -0,0 +1,284 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.500000 +fVideoEchoZoom=1.001821 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.001829 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.850000 +mv_r=0.499900 +mv_g=0.499900 +mv_b=0.499900 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.325446 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.038696 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.300000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=0.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=advb=advb+(treb*treb)*0.06; +shape_0_per_frame3= +shape_0_per_frame4=x=sin(advb)*0.5+0.5; +shape_0_per_frame5=y=cos(advb)*0.5+0.5; +shape_0_per_frame6= +shape_0_per_frame7=tm=time*0.3; +shape_0_per_frame8=r=sin(tm)/2 + 0.4999; +shape_0_per_frame9=g=sin(tm+0.2)/2 + 0.4999; +shape_0_per_frame10=b=sin(tm+0.41)/2 + 0.4999; +shape_0_per_frame11=r2=sin(tm)/2 + 0.4999; +shape_0_per_frame12=g2=sin(tm+0.2)/2 + 0.4999; +shape_0_per_frame13=b2=sin(tm+0.41)/2 + 0.4999 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.458306 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=1.028414 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.800000 +shape_1_per_frame1=ang=cos(time/2)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.3+0.5; +shape_1_per_frame5=y=sin(adv)*0.3+0.5; +shape_1_per_frame6= +shape_1_per_frame7=tm=time*0.3; +shape_1_per_frame8=r=sin(tm+0.2)*0.5 + 0.4999; +shape_1_per_frame9=g=sin(tm+0.4)*0.5 + 0.4999; +shape_1_per_frame10=b=sin(tm+0.61)*0.5 + 0.4999; +shape_1_per_frame11=r2=r; +shape_1_per_frame12=g2=g; +shape_1_per_frame13=b2=b; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.089242 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=2.513274 +shapecode_2_tex_zoom=0.451117 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_init1=mork=0 +shape_2_per_frame1=ang=sin(time/3); +shape_2_per_frame2= +shape_2_per_frame3=mork=mork+0.003; +shape_2_per_frame4=mork=mork* below(mork, 3) - above(mork, 3); +shape_2_per_frame5=var=max( min(mork,1) , 0 ); +shape_2_per_frame6= +shape_2_per_frame7=a=var; +shape_2_per_frame8=a2=var; +shape_2_per_frame9=border_a=var; +shape_2_per_frame10= +shape_2_per_frame11=sides=(sin(time/2)*0.5 + 0.5)*2.5 + 3; +shape_2_per_frame12= +shape_2_per_frame13=rad=1+((sin(time/2)*0.5+0.5)*0.5) +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0; +per_frame_init_8=ea=0 +per_frame_init_9= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004; +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4=rot=0.01; +per_frame_5=echo_zoom= (sin(time)*0.5 + 0.5)*2 + 1; +per_frame_6=ea=ea+1; +per_frame_7=ea=ea * below(ea , 1.1); +per_frame_8=alphaflux= sin(time*0.3)*0.5 + 0.5; +per_frame_9=echo_alpha=(ea*(1-alphaflux)) + (0.5*alphaflux); +per_frame_10= +per_frame_11=zflux=above( cos(time*0.4)*10 , 9) * cos(time*1.6); +per_frame_12=zoom=zoom+ (zflux*0.5); +per_frame_13=invert=above(cos(time/2)*0.5+0.5,0.5) +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=bax=above( sin(time*1)*10 , 9) * sin(time*2)*0.3; +per_pixel_6=bar=above( sin(x*26 + time*4) , 0.6 ); +per_pixel_7= +per_pixel_8=bay=above( cos(time*1)*10 , 9) * sin(time*2)*0.6; +per_pixel_9=bat=above( sin(ang*3 + time*4) , 0.6 ); +per_pixel_10= +per_pixel_11=zoom=zoom + bar*bax; +per_pixel_12=rot=rot + bay*bat diff --git a/presets/presets_tryptonaut/phat + EoS - TesellatingFractal_Mix3.milk b/presets/presets_tryptonaut/phat + EoS - TesellatingFractal_Mix3.milk new file mode 100644 index 0000000000..2737935472 --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - TesellatingFractal_Mix3.milk @@ -0,0 +1,257 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.560000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.408350 +sy=0.551440 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.700000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.995941 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.762997 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.900000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.500000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=var=above((bass_att+treb_att+mid_att),1.2); +shape_0_per_frame2=a=var; +shape_0_per_frame3=a2=var; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.136001 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=adv=adv+(bass*bass)/15; +shape_1_per_frame4=x=cos(adv)*0.5+0.5; +shape_1_per_frame5=y=sin(adv)*0.5+0.5; +shape_1_per_frame6=r=bass_att; +shape_1_per_frame7=r2=bass_att; +shapecode_2_enabled=0 +shapecode_2_sides=18 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.005903 +shapecode_2_ang=0.125664 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.923481 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=var=1*(above(sin(time/2.5),.5)*below(sin(time/2.5),0.7)); +shape_2_per_frame2=a=var; +shape_2_per_frame3=a2=var; +shape_2_per_frame4=ang=sin(time/2)-0.03 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.329092 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.565487 +shapecode_3_tex_zoom=0.451118 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.900000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=var=above(sin(time/2.5),0.7); +shape_3_per_frame2=a=var; +shape_3_per_frame3=a2=var; +shape_3_per_frame4=ang=cos(time)-0.015; +shape_3_per_frame5=border=var; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=zoom=1.004+((cos(time/10)*0.5+0.5)*0.004); +per_frame_3=dx=0;dy=0;sx=1;sy=1; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/1.3)*0.3)+0.5*0.5)*0.2); +per_frame_6=mv_g=.390+(((sin(time/1.4)*0.3)+0.5*0.5)*0.2); +per_frame_7=mv_b=.882+((sin((time/1.5)+0.9)+0.5*0.5)*0.1); +per_pixel_1=adv=min( (bass*bass*bass), 1); +per_pixel_2=warp=-1*((( sin(time*3) *0.5+0.5)*3)* (x-0.5)*2 )+((( cos(time*3) *0.5+0.5)*3)* (y-0.5)*2 ); +per_pixel_3=warp=warp*adv; +per_pixel_4= +per_pixel_5=var3=((sin(time)*0.5+0.5)*12)+1; +per_pixel_6=var1=above(sin(time*16)*10,9)*sin(time*2)*.09; +per_pixel_7=var2=above(sin(ang*var3+time*2),0.6); +per_pixel_8=var4=above(sin(time/3),-0.5); +per_pixel_9=rot=if(var4,(var1*var2)*rad*rad,sin(time/10)*0.02); +per_pixel_10= +per_pixel_11=dx=bass*(sin(time)*0.002)*y; +per_pixel_12=dy=bass*(cos(time)*0.002)*x; +per_pixel_13=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_tryptonaut/phat + EoS - single cel angel birthpoints.milk b/presets/presets_tryptonaut/phat + EoS - single cel angel birthpoints.milk new file mode 100644 index 0000000000..0079aac023 --- /dev/null +++ b/presets/presets_tryptonaut/phat + EoS - single cel angel birthpoints.milk @@ -0,0 +1,355 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=0.390000 +mv_g=0.440000 +mv_b=0.900000 +mv_a=1.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=adv=0 +wave_0_per_frame1= +wave_0_per_frame2=adv=adv+(bass*bass)*0.005; +wave_0_per_frame3= +wave_0_per_frame4=t1=sin(adv)*0.3; +wave_0_per_frame5=t2=cos(adv)*0.3; +wave_0_per_frame6=t3=adv; +wave_0_per_point1=waver=sin(sample*6.28*16)*0.2; +wave_0_per_point2= +wave_0_per_point3=xp=sin(sample*6.28+waver); +wave_0_per_point4=yp=cos(sample*6.28+waver); +wave_0_per_point5= +wave_0_per_point6= +wave_0_per_point7=scale=sin(sample*6.28*3 - t3*3); +wave_0_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; +wave_0_per_point9=xp=xp*scale*scale2; +wave_0_per_point10=yp=yp*scale*scale2; +wave_0_per_point11= +wave_0_per_point12=x=xp*0.4*0.7 + 0.5; +wave_0_per_point13=y=yp*0.5*0.7 + 0.5; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16= +wave_0_per_point17=rmod=sin(time*0.2)*0.5+0.5; +wave_0_per_point18=rmod=rmod*rmod; +wave_0_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; +wave_0_per_point20=gmod=gmod*gmod; +wave_0_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; +wave_0_per_point22=bmod=bmod*bmod; +wave_0_per_point23= +wave_0_per_point24=r=rmod; +wave_0_per_point25=g=gmod; +wave_0_per_point26=b=bmod +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=adv=0 +wave_1_per_frame1= +wave_1_per_frame2=adv=adv+(bass*bass)*0.005; +wave_1_per_frame3= +wave_1_per_frame4=t1=sin(adv)*0.3; +wave_1_per_frame5=t2=cos(adv)*0.3; +wave_1_per_frame6=t3=adv; +wave_1_per_point1=waver=sin(sample*6.28*16)*0.2; +wave_1_per_point2= +wave_1_per_point3=xp=sin(sample*6.28+waver); +wave_1_per_point4=yp=cos(sample*6.28+waver); +wave_1_per_point5= +wave_1_per_point6= +wave_1_per_point7=scale=sin(sample*6.28*3 - t3*3); +wave_1_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; +wave_1_per_point9=xp=xp*scale*scale2; +wave_1_per_point10=yp=yp*scale*scale2; +wave_1_per_point11= +wave_1_per_point12=x=-xp*0.4*0.7 + 0.5; +wave_1_per_point13=y=yp*0.5*0.7 + 0.5; +wave_1_per_point14= +wave_1_per_point15= +wave_1_per_point16= +wave_1_per_point17=rmod=sin(time*0.2)*0.5+0.5; +wave_1_per_point18=rmod=rmod*rmod; +wave_1_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; +wave_1_per_point20=gmod=gmod*gmod; +wave_1_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; +wave_1_per_point22=bmod=bmod*bmod; +wave_1_per_point23= +wave_1_per_point24=r=rmod; +wave_1_per_point25=g=gmod; +wave_1_per_point26=b=bmod +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.972354 +shapecode_0_ang=0.188400 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=0.778288 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=0.590000 +shapecode_0_border_g=0.810000 +shapecode_0_border_b=0.690000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); +shape_0_per_frame2=//a=DMT; +shape_0_per_frame3=//a2=.5*DMT; +shape_0_per_frame4=//border_a=0.4*DMT; +shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); +shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); +shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; +shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; +shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; +shape_0_per_frame10=//sides=bass*16 +shape_0_per_frame11=adv=adv+bass*bass*bass*0.01; +shape_0_per_frame12= +shape_0_per_frame13=x=0.5- (cos(y+bass_att )*0.005)*treb_att; +shape_0_per_frame14=y=0.5- (sin(x+bass_att*5 )*0.005*rad)*treb_att; +shape_0_per_frame15=x=x+sin(adv*0.5)*0.15; +shape_0_per_frame16=y=y+cos(adv)*0.05; +shape_0_per_frame17= +shape_0_per_frame18=ang=0.65 - sin(adv*0.5)*0.65; +shape_0_per_frame19= +shape_0_per_frame20=rmod=sin(time*0.2)*0.5+0.5; +shape_0_per_frame21=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_0_per_frame22=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_0_per_frame23= +shape_0_per_frame24=r=0.9 + rmod*0.1; +shape_0_per_frame25=g=0.9 + gmod*0.1; +shape_0_per_frame26=b=0.9 + bmod*0.1 +shape_0_per_frame27= +shapecode_1_enabled=0 +shapecode_1_sides=5 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.251327 +shapecode_1_tex_zoom=1.905855 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.400000 +shapecode_1_r2=0.700000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.100000 +shapecode_1_border_r=0.500000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1= +shape_1_per_frame2=adv=adv+(bass*bass)*0.03; +shape_1_per_frame3=x=sin(adv)*0.5+0.5; +shape_1_per_frame4=y=cos(adv)*0.5+0.5; +shape_1_per_frame5=r=bass_att; +shape_1_per_frame6=r2=bass_att; +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=rmod=sin(time*0.2)*0.5+0.5; +shape_1_per_frame10=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_1_per_frame11=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_1_per_frame12= +shape_1_per_frame13=b2=0.2 + rmod*0.7; +shape_1_per_frame14=r2=0.2 + gmod*0.7; +shape_1_per_frame15=g2=0.2 + bmod*0.7 +shapecode_2_enabled=0 +shapecode_2_sides=24 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.800000 +shapecode_2_rad=0.599577 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.256637 +shapecode_2_tex_zoom=0.498314 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.468144 +shapecode_3_ang=0.753982 +shapecode_3_tex_ang=0.753982 +shapecode_3_tex_zoom=0.698924 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.300000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1= +shape_3_per_frame2= +shape_3_per_frame3=rmod=sin(time*0.2)*0.5+0.5; +shape_3_per_frame4=rmod=rmod*rmod; +shape_3_per_frame5=gmod=sin(time*0.2+2.1)*0.5+0.5; +shape_3_per_frame6=gmod=gmod*gmod; +shape_3_per_frame7=bmod=sin(time*0.2+4.2)*0.5+0.5; +shape_3_per_frame8=bmod=bmod*bmod; +shape_3_per_frame9= +shape_3_per_frame10=r2=0.8+rmod*0.2; +shape_3_per_frame11=g2=0.8+gmod*0.2; +shape_3_per_frame12=b2=0.8+bmod*0.2; +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2= +per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_4= +per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_8= +per_frame_9= +per_frame_10= +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=(cos(y+bass )*0.005*rad)*treb; +per_pixel_6=//dy=(sin(x+bass*5 )*0.005*rad)*treb; +per_pixel_7=//rot=rad/(bass*100); +per_pixel_8= +per_pixel_9=zoom=1+ 0.001; +per_pixel_10=//Do people that don't do drugs make shit like this?? diff --git a/presets/presets_tryptonaut/phat_2C-B6.milk b/presets/presets_tryptonaut/phat_2C-B6.milk new file mode 100755 index 0000000000..84543414fd --- /dev/null +++ b/presets/presets_tryptonaut/phat_2C-B6.milk @@ -0,0 +1,255 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=2 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=1.001800 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=10.879999 +nMotionVectorsY=11.520000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.999998 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.300000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.566091 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=5.026548 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/10)*0.1; +shape_0_per_frame7=r=cos(time/12)*0.2; +shape_0_per_frame8=b=sin(time/15)*0.3; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628318 +shapecode_1_tex_zoom=5.053412 +shapecode_1_r=0.000000 +shapecode_1_g=0.500000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.800000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time)*0.3+0.5; +shape_1_per_frame4=y=sin(time)*0.3+0.5; +shape_1_per_frame5= +shape_1_per_frame6=r=sin(time)*.896; +shape_1_per_frame7=g=cos(time)*.784; +shape_1_per_frame8=b=sin(time)*0.634; +shape_1_per_frame9=r2=cos(time)*0.896; +shape_1_per_frame10=g2=sin(time)*.784; +shape_1_per_frame11=b2=cos(time)*0.634 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.030299 +shapecode_2_ang=1.193805 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=.9999; +per_frame_2=zoom=-.97-((sin(time)*0.5+0.5)*0.03); +per_frame_3=rot=0; +per_frame_4=ib_b=(sin(time/6))+0.5*0.5; +per_frame_5=ib_g=(cos(time/7)*0.3)+0.5*0.5; +per_frame_6=ib_r=(sin(time/8)*0.3)+0.5*0.5; +per_frame_7=ob_b=(sin((time/8)+0.9)+0.5*0.5); +per_frame_8=ob_g=sin((time/7)+0.1); +per_frame_9=ob_r=(cos(time/6))+0.3; +per_frame_10= +per_frame_11=sx=1+((sin(time)*0.5+0.5)*0.02); +per_frame_12=sy=1+((cos(time)*0.5+0.5)*0.02) +per_pixel_1=warp=-1*(((sin(time/2)*0.5+0.5)*3)*x)+(((cos(time/2)*0.5+0.5)*3)*y); +per_pixel_2=dx=sin(time*y)*0.01*rad; +per_pixel_3=dy=cos(time*x)*0.01*rad diff --git a/presets/presets_tryptonaut/phat_CloseIncounetersV5 plus some fucking shaders somebody worked hard on - within reach of absolute hate.milk b/presets/presets_tryptonaut/phat_CloseIncounetersV5 plus some fucking shaders somebody worked hard on - within reach of absolute hate.milk new file mode 100755 index 0000000000..9afed5a3fc --- /dev/null +++ b/presets/presets_tryptonaut/phat_CloseIncounetersV5 plus some fucking shaders somebody worked hard on - within reach of absolute hate.milk @@ -0,0 +1,372 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.210 +fDecay=0.500 +fVideoEchoZoom=1.002 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.625 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.880 +fModWaveAlphaEnd=1.980 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=0.01000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.96881 +sy=1.00183 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.800 +ob_b=0.700 +ob_a=0.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.300 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=0.000 +mv_g=0.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=0.90000 +wavecode_0_r=0.000 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.95444 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.73891 +shapecode_0_ang=3.14159 +shapecode_0_tex_ang=0.18850 +shapecode_0_tex_zoom=0.93101 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time/2)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=//x=sin(time/3)/10; +shape_0_per_frame5=//y=cos(time/3)/10; +shape_0_per_frame6=g=sin(time/10)*0.1; +shape_0_per_frame7=r=cos(time/12)*0.2; +shape_0_per_frame8=b=sin(time/15)*0.3; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.41490 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=5.58213 +shapecode_1_r=0.360 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.200 +shapecode_1_b2=0.600 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time/2)*0.3+0.5; +shape_1_per_frame4=y=sin(time/2)*0.3+0.5; +shape_1_per_frame5=r=sin(time/5)*0.8; +shape_1_per_frame6=g=sin(time/5)*0.879; +shape_1_per_frame7=b=cos(time/5)*.567; +shape_1_per_frame8=r2=sin(time/5)*0.8; +shape_1_per_frame9=g2=cos(time/5)*0.879; +shape_1_per_frame10=b2=cos(time/5)*567; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=1.21524 +shapecode_2_ang=5.02655 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=0.26672 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ang=sin(time/5)*6; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=-.999; +per_frame_3=//rot=sin(time/10)*0.3; +per_frame_4=ib_b=((sin(time/10))+0.5*0.5)+0.3; +per_frame_5=ib_g=((cos(time/7)*0.3)+0.5*0.5)+0.3; +per_frame_6=ib_r=((sin(time/8)*0.3)+0.5*0.5)+0.3; +per_frame_7=ob_b=(sin((time/8)+0.9)+0.5*0.5)+0.5; +per_frame_8=ob_g=sin((time/10)+0.1); +per_frame_9=ob_r=(cos(time/7))+0.3; +per_frame_10= +per_frame_11=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_12=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_13=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_14=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_15=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_16=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_17=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_18=vvb = min(1,max(0,vvb)); +per_frame_19=vvm = min(1,max(0,vvm)); +per_frame_20=vvt = min(1,max(0,vvt)); +per_frame_21=q1 = (vvb+vvm+vvt)*10; +per_frame_22=q2 = (vvb+vvm+vvt)*10; +per_frame_23=q3 = (vvb+vvm+vvt)*10; +per_frame_24=q4 = (vvb+vvm+vvt)*10; +per_frame_25=q5 = (vvb+vvm+vvt)*10; +per_frame_26=q6 = (vvb+vvm+vvt)*10; +per_frame_27=q7 = (vvb+vvm+vvt)*10; +per_frame_28=q8 = (vvb+vvm+vvt)*10; +per_frame_29=q9 = (vvb+vvm+vvt)*10; +per_frame_30=q10 = (vvb+vvm+vvt)*10; +per_frame_31=q11 = (vvb+vvm+vvt)*10; +per_frame_32=q12 = (vvb+vvm+vvt)*10; +per_frame_33=q13 = (vvb+vvm+vvt)*10; +per_frame_34=q14 = (vvb+vvm+vvt)*10; +per_frame_35=q15 = (vvb+vvm+vvt)*10; +per_frame_36=q16 = (vvb+vvm+vvt)*10; +per_frame_37=q17 = (vvb+vvm+vvt)*10; +per_frame_38=q18 = (vvb+vvm+vvt)*10; +per_frame_39=q19 = (vvb+vvm+vvt)*10; +per_frame_40=q20 = (vvb+vvm+vvt)*10; +per_frame_41=q21 = (vvb+vvm+vvt)*10; +per_frame_42=q22 = (vvb+vvm+vvt)*10; +per_frame_43=q23 = (vvb+vvm+vvt)*10; +per_frame_44=q24 = (vvb+vvm+vvt)*10; +per_frame_45=q25 = (vvb+vvm+vvt)*10; +per_frame_46=q26 = (vvb+vvm+vvt)*10; +per_frame_47=q27 = (vvb+vvm+vvt)*10; +per_frame_48=q28 = (vvb+vvm+vvt)*10; +per_frame_49=q29 = (vvb+vvm+vvt)*10; +per_frame_50=q30 = (vvb+vvm+vvt)*10; +per_frame_51=q31 = (vvb+vvm+vvt)*10; +per_frame_52=q32 = (vvb+vvm+vvt)*10; +per_frame_53= +per_pixel_1=xtc=sin(time); +per_pixel_2= +per_pixel_3=speed=40-above(bass,0.9)*15; +per_pixel_4=speed=speed+xtc; +per_pixel_5= +per_pixel_6= +per_pixel_7=acid=x*sin(time/10); +per_pixel_8=morphine=y*cos(time/10); +per_pixel_9= +per_pixel_10=dmt=above((treb*treb*treb/3),2.5)*.01; +per_pixel_11=saliva=above(treb,0.9)*.01; +per_pixel_12= +per_pixel_13=cx=dmt*(rad)*0.1; +per_pixel_14=cy=saliva*(rad)*0.1; +per_pixel_15= +per_pixel_16=dx=sin(y*speed)*0.01; +per_pixel_17=dy=cos(x*speed)*0.01; +per_pixel_18= +per_pixel_19=zoom=cos(x*(sin(time/10)*0.1))+(y*(cos(time/10)*0.1)); +per_pixel_20= +per_pixel_21=warp=-2*(((sin(time/2)*0.5+0.5)*2)*x)+(((cos(time/2)*0.5+0.5)*2)*y) +warp_1=`#define sampler_pic sampler_onefish +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig*aspect.xy).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum*0.8+0.1 - (frac(time*0.2)*0.5+0.25)); +warp_16=` use_it = saturate(1 - use_it*13); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`} diff --git a/presets/presets_tryptonaut/phat_It'sJustNumbers=).milk b/presets/presets_tryptonaut/phat_It'sJustNumbers=).milk new file mode 100755 index 0000000000..6ae112712f --- /dev/null +++ b/presets/presets_tryptonaut/phat_It'sJustNumbers=).milk @@ -0,0 +1,261 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=1.020098 +sy=1.021966 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.015000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.005000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.368212 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/4)*0.1; +shape_0_per_frame7=r=cos(time/2)*0.1; +shape_0_per_frame8=b=sin(time/3)*0.1; +shape_0_per_frame9=g2=cos(time/3)*0.3; +shape_0_per_frame10=r2=sin(time/2)*0.4; +shape_0_per_frame11=b2=cos(time/4)*0.2; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.062832 +shapecode_1_tex_zoom=100.000000 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=1.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time)*0.1+0.5; +shape_1_per_frame4=y=sin(time)*0.1+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.985; +per_frame_2=zoom=-.999; +per_frame_3=rot=sin(time/3)*0.02; +per_frame_4=ib_b=(sin(time/5))+0.5*0.5; +per_frame_5=ib_g=(cos(time/2)*0.3)+0.5*0.5; +per_frame_6=ib_r=(sin(time/6)*0.3)+0.5*0.5; +per_frame_7=ob_b=(sin((time/8)+0.9)+0.5*0.5); +per_frame_8=ob_g=sin((time/2)+0.1); +per_frame_9=ob_r=(cos(time/3))+0.3; +per_frame_10= +per_pixel_1=xtc=sin(time*0.3)*10; +per_pixel_2= +per_pixel_3=speed=40-above(bass,0.9)*15; +per_pixel_4=speed=speed+xtc; +per_pixel_5= +per_pixel_6= +per_pixel_7=acid=x*sin(time); +per_pixel_8=morphine=y*cos(time); +per_pixel_9= +per_pixel_10=dmt=above((treb*treb*treb/3),2.5)*2; +per_pixel_11=saliva=above(treb,0.9)*2; +per_pixel_12= +per_pixel_13=cx=dmt*(rad)*0.3; +per_pixel_14=cy=saliva*(rad)*0.3; +per_pixel_15= +per_pixel_16=dx=sin(y*speed)*0.01; +per_pixel_17=dy=cos(x*speed)*0.01; +per_pixel_18= diff --git a/presets/presets_tryptonaut/phat_It'sJustNumbers_remix3.milk b/presets/presets_tryptonaut/phat_It'sJustNumbers_remix3.milk new file mode 100755 index 0000000000..19b00073f6 --- /dev/null +++ b/presets/presets_tryptonaut/phat_It'sJustNumbers_remix3.milk @@ -0,0 +1,264 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.210000 +fDecay=0.500000 +fVideoEchoZoom=1.001828 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=0.625316 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.005000 +dy=0.000000 +warp=0.010000 +sx=0.999998 +sy=0.991909 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=0.000000 +mv_g=0.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.368212 +shapecode_0_ang=6.283185 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=100.000000 +shapecode_0_r=0.100000 +shapecode_0_g=1.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/10)*0.1; +shape_0_per_frame7=r=cos(time/12)*0.2; +shape_0_per_frame8=b=sin(time/15)*0.3; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.414899 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.628318 +shapecode_1_tex_zoom=5.053452 +shapecode_1_r=0.360000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.100000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.200000 +shapecode_1_b2=0.600000 +shapecode_1_a2=0.300000 +shapecode_1_border_r=0.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.200000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=x=cos(time)*0.3+0.5; +shape_1_per_frame4=y=sin(time)*0.3+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.9999; +per_frame_2=zoom=-.999; +per_frame_3=rot=sin(time/10)*0.02; +per_frame_4=ib_b=(sin(time/20))+0.5*0.5; +per_frame_5=ib_g=(cos(time/15)*0.3)+0.5*0.5; +per_frame_6=ib_r=(sin(time/17)*0.3)+0.5*0.5; +per_frame_7=ob_b=(sin((time/17)+0.9)+0.5*0.5); +per_frame_8=ob_g=sin((time/20)+0.1); +per_frame_9=ob_r=(cos(time/15))+0.3; +per_frame_10= +per_pixel_1=xtc=sin(time/10)*10; +per_pixel_2= +per_pixel_3=speed=40-above(bass,0.9)*15; +per_pixel_4=speed=speed+xtc; +per_pixel_5= +per_pixel_6= +per_pixel_7=acid=x*sin(time/10); +per_pixel_8=morphine=y*cos(time/10); +per_pixel_9= +per_pixel_10=dmt=above((treb*treb*treb/3),2.5)*.01; +per_pixel_11=saliva=above(treb,0.9)*.01; +per_pixel_12= +per_pixel_13=cx=dmt*(rad)*0.1; +per_pixel_14=cy=saliva*(rad)*0.1; +per_pixel_15= +per_pixel_16=dx=sin(y*speed)*0.01; +per_pixel_17=dy=cos(x*speed)*0.01; +per_pixel_18= +per_pixel_19=zoom=cos(x*(sin(time/10)*0.1))+(y*(cos(time/10)*0.1)); +per_pixel_20= +per_pixel_21=warp=-1*(((sin(time/2)*0.5+0.5)*3)*x)+(((cos(time/2)*0.5+0.5)*3)*y) diff --git a/presets/presets_tryptonaut/phat_RippleNebula99h-EoS mod_mod6.milk b/presets/presets_tryptonaut/phat_RippleNebula99h-EoS mod_mod6.milk new file mode 100644 index 0000000000..ca0f80a2f5 --- /dev/null +++ b/presets/presets_tryptonaut/phat_RippleNebula99h-EoS mod_mod6.milk @@ -0,0 +1,272 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.630000 +fDecay=1.000000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=100.000000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.880000 +fModWaveAlphaEnd=1.980000 +fWarpAnimSpeed=0.010284 +fWarpScale=0.010000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999997 +sy=1.001828 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.800000 +ob_b=0.700000 +ob_a=0.000000 +ib_size=0.035000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.300000 +ib_a=0.100000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=0.360000 +mv_g=0.390000 +mv_b=0.900000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.000000 +wavecode_0_smoothing=0.900000 +wavecode_0_r=0.000000 +wavecode_0_g=0.700000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x=cos(time)*0.1; +wave_0_per_point2=y=sin(time)*0.1 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=81.954445 +wavecode_1_smoothing=1.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=wave_x=1; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=16 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=100.000000 +shapecode_0_ang=2.513274 +shapecode_0_tex_ang=4.084071 +shapecode_0_tex_zoom=0.155277 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.200000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.100000 +shapecode_0_b2=0.600000 +shapecode_0_a2=0.200000 +shapecode_0_border_r=0.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ang=sin(time)*6; +shape_0_per_frame2=var=0.12-(above(bass,0.8)*0.2); +shape_0_per_frame3= +shape_0_per_frame4=x=sin(time)*var+.5; +shape_0_per_frame5=y=cos(time)*var+.5; +shape_0_per_frame6=g=sin(time/10)*0.2; +shape_0_per_frame7=r=cos(time/12)*0.3; +shape_0_per_frame8=b=sin(time/15)*0.4; +shape_0_per_frame9=g2=cos(time/15)*0.3; +shape_0_per_frame10=r2=sin(time/20)*0.1; +shape_0_per_frame11=b2=cos(time/10)*0.2; +shape_0_per_frame12=rad=(sin(time/3)*0.5+0.5)*7-0.3; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.721400 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=6.283185 +shapecode_1_tex_zoom=27.429317 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=0.600000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.600000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=ang=cos(time)*6; +shape_1_per_frame2=sides=20-((bass+mid+treb)/3)*15; +shape_1_per_frame3=rad=.721+(((bass+mid+treb)/3)*-0.2); +shape_1_per_frame4=x=cos(time)*0.3+0.5; +shape_1_per_frame5=y=sin(time)*0.3+0.5; +shape_1_per_frame6=r=(sin(time/2)*0.5+0.5)+0.7; +shape_1_per_frame7=g=(cos(time/2)*0.5+0.5)+0.3; +shape_1_per_frame8=b=(sin(time/2)*0.5+0.5)+0.5 +shapecode_2_enabled=0 +shapecode_2_sides=25 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.209290 +shapecode_2_ang=1.256637 +shapecode_2_tex_ang=6.283185 +shapecode_2_tex_zoom=0.550444 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=//additive=above((sin(time/3)*0.5+0.5),0.99); +shapecode_3_enabled=1 +shapecode_3_sides=20 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.966655 +shapecode_3_ang=0.628300 +shapecode_3_tex_ang=0.628319 +shapecode_3_tex_zoom=0.608039 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.999; +per_frame_2=ib_b=(sin(time/20))+0.5; +per_frame_3=ib_g=(cos(time/15)*0.3)+0.5*0.5; +per_frame_4=ib_r=(sin(time/17)*0.3)+0.5*0.5; +per_frame_5=invert=above(sin(time),0); +per_frame_6=//echo_orient=(sin(time/6)*0.5+0.5)*3; +per_frame_7=solarize=above(sin(time/2),0); +per_frame_8= +per_frame_9=flip=flip+0.1 * below(flip, 1.1); +per_frame_10=q1=flip +per_pixel_1= +per_pixel_2=tmmod=sin(time/1); +per_pixel_3=tmmodb=cos(time/3 +tmmod); +per_pixel_4= +per_pixel_5=tm=sin(time/2 + tmmod)*0.20 + 0.31; +per_pixel_6= +per_pixel_7=stm=sin(tm); +per_pixel_8=//stmpos=stm*0.5 + 0.5; +per_pixel_9=//sharpness=1; +per_pixel_10=//stmadj=( pow(stmpos, sharpness)*2) -1; +per_pixel_11= +per_pixel_12=mir=0.45 + q1 ; +per_pixel_13= +per_pixel_14=nx=if( above(x,mir), -(x-mir) + mir, x); +per_pixel_15= +per_pixel_16=warp=-2*(((dtm*0.5+0.5)*3)*nx)+(((stm*0.5+0.5)*3)*y); +per_pixel_17=zoom= stm*rad;; +per_pixel_18=dx=if( above(x,mir), -stm*0.3*y, stm*0.3*y); +per_pixel_19=//dy=cos(tm)*0.3*nx; +per_pixel_20=sx=if( above(x,mir), -sin(tm/5)+3*rad, sin(tm/5)+3*rad); +per_pixel_21=sy=cos(tm/5)+3*rad; +per_pixel_22=//rot=if( above(x, mir), -stm*8, stm*8); +per_pixel_23=rot=sin( rad*sin(ang*3) +tm+ time/2)*1.5 diff --git a/presets/presets_tryptonaut/pork blouse lafertion.milk b/presets/presets_tryptonaut/pork blouse lafertion.milk new file mode 100755 index 0000000000..f4db769fdb --- /dev/null +++ b/presets/presets_tryptonaut/pork blouse lafertion.milk @@ -0,0 +1,405 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.975 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.359 +fWaveSmoothing=0.900 +fWaveParam=-0.180 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=2.289 +fWarpScale=5.472 +fZoomExponent=0.01000 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.85660 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=0.250 +wavecode_0_b=0.120 +wavecode_0_a=1.000 +wave_0_per_frame1=bt=bt+(.5+2*above(bass-pbass,0)*(bass-pbass))/FPS; +wave_0_per_frame2=pbass=bass; +wave_0_per_frame3= +wave_0_per_frame4=t1=bt; //mytime +wave_0_per_frame5=t2=q1; +wave_0_per_frame6=t3=.3*q1; +wave_0_per_point1=t=t1+t2*(1-sample); +wave_0_per_point2= +wave_0_per_point3=ox=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_0_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_0_per_point5= +wave_0_per_point6=ang=atan2( (py-oy),(px-ox) ); +wave_0_per_point7= +wave_0_per_point8=l=tan(ang); +wave_0_per_point9=x2=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_0_per_point10=y2=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_0_per_point11=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_0_per_point12=dir=-1+2*above(sum,-.001); +wave_0_per_point13= +wave_0_per_point14=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_0_per_point15=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_0_per_point16= +wave_0_per_point17=x=ox+xtrudx; +wave_0_per_point18=y=oy+xtrudy; +wave_0_per_point19= +wave_0_per_point20=px=ox; +wave_0_per_point21=py=oy; +wave_0_per_point22= +wave_0_per_point23=counter=1-counter; +wave_0_per_point24=a=sqr(sample); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=0.250 +wavecode_1_b=0.120 +wavecode_1_a=1.000 +wave_1_per_frame1=bt=bt+(.5+2*above(bass-pbass,0)*(bass-pbass))/FPS; +wave_1_per_frame2=pbass=bass; +wave_1_per_frame3= +wave_1_per_frame4=t1=bt; //mytime +wave_1_per_frame5=t2=q1; +wave_1_per_frame6=t3=.3*q1; +wave_1_per_point1=t=t1+t2*(1-sample); +wave_1_per_point2= +wave_1_per_point3=ox=.5+(.3-.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_1_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_1_per_point5=ang=atan2( (py-oy),(px-ox) ); +wave_1_per_point6= +wave_1_per_point7=l=tan(ang); +wave_1_per_point8=x2=.5+(.3+.05*sample)*cos(t+.65+3.1415*sin(1.7*t+.98))*sin(1.32*t+3.21); +wave_1_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(.78*t+1.71)*cos(.91*t+3.09+3.1415*sin(1.49*t+.43)); +wave_1_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_1_per_point11=dir=-1+2*above(sum,-.001); +wave_1_per_point12= +wave_1_per_point13=xtrudx=(counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_1_per_point14=xtrudy=(counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_1_per_point15= +wave_1_per_point16=x=ox+xtrudx; +wave_1_per_point17=y=oy+xtrudy; +wave_1_per_point18= +wave_1_per_point19=px=ox; +wave_1_per_point20=py=oy; +wave_1_per_point21= +wave_1_per_point22=counter=1-counter; +wave_1_per_point23=a=sqr(sample); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.120 +wavecode_2_g=0.250 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=tt=tt+(.5+2*above(treb-ptreb,0)*(treb-ptreb))/FPS; +wave_2_per_frame2=ptreb=treb; +wave_2_per_frame3= +wave_2_per_frame4=t1=tt; +wave_2_per_frame5=t2=q1; +wave_2_per_frame6=t3=.3*q1; +wave_2_per_point1=t=t1+t2*(1-sample); +wave_2_per_point2= +wave_2_per_point3=ox=.5+(.3+.05*sample)*cos(.78*t+2.09+3.1415*sin(1.39*t+.91))*sin(1.72*t+1.43); +wave_2_per_point4=oy=.5+(.3+.05*sample)*1.25*sin(1.41*t+.43)*cos(1.29*t+2.9+3.1415*sin(.93*t+2.6)); +wave_2_per_point5= +wave_2_per_point6=ang=atan( (py-oy)/(px-ox) ); +wave_2_per_point7=l=tan(ang); +wave_2_per_point8=x2=.5+(.3-.05*sample)*cos(.78*t+2.09+3.1415*sin(1.39*t+.91))*sin(1.72*t+1.43); +wave_2_per_point9=y2=.5+(.3-.05*sample)*1.25*sin(1.41*t+.43)*cos(1.29*t+2.9+3.1415*sin(.93*t+2.6)); +wave_2_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_2_per_point11=dir=-1+2*above(sum,-.001); +wave_2_per_point12= +wave_2_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_2_per_point15= +wave_2_per_point16=x=ox+xtrudx; +wave_2_per_point17=y=oy+xtrudy; +wave_2_per_point18= +wave_2_per_point19=px=ox; +wave_2_per_point20=py=oy; +wave_2_per_point21= +wave_2_per_point22=counter=1-counter; +wave_2_per_point23=a=sqr(sample); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.120 +wavecode_3_g=0.250 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=tt=tt+(.5+2*above(treb-ptreb,0)*(treb-ptreb))/FPS; +wave_3_per_frame2=ptreb=treb; +wave_3_per_frame3= +wave_3_per_frame4=t1=tt; +wave_3_per_frame5=t2=q1; +wave_3_per_frame6=t3=.3*q1; +wave_3_per_point1=t=t1+t2*(1-sample); +wave_3_per_point2= +wave_3_per_point3=ox=.5+(.3-.05*sample)*cos(.78*t+2.09+3.1415*sin(1.39*t+.91))*sin(1.72*t+1.43); +wave_3_per_point4=oy=.5+(.3-.05*sample)*1.25*sin(1.41*t+.43)*cos(1.29*t+2.9+3.1415*sin(.93*t+2.6)); +wave_3_per_point5= +wave_3_per_point6=ang=atan( (py-oy)/(px-ox) ); +wave_3_per_point7=l=tan(ang); +wave_3_per_point8=x2=.5+(.3+.05*sample)*cos(.78*t+2.09+3.1415*sin(1.39*t+.91))*sin(1.72*t+1.43); +wave_3_per_point9=y2=.5+(.3+.05*sample)*1.25*sin(1.41*t+.43)*cos(1.29*t+2.9+3.1415*sin(.93*t+2.6)); +wave_3_per_point10=sum = (l*x2-y2+oy-l*ox)*sign(ang)*sign(l); +wave_3_per_point11=dir=-1+2*above(sum,-.001); +wave_3_per_point12= +wave_3_per_point13=xtrudx=(1-counter%2)*t3*sample*cos(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point14=xtrudy=(1-counter%2)*t3*sample*sin(ang+dir*1.5707)*abs(value1+value2); +wave_3_per_point15= +wave_3_per_point16=x=ox+xtrudx; +wave_3_per_point17=y=oy+xtrudy; +wave_3_per_point18= +wave_3_per_point19=px=ox; +wave_3_per_point20=py=oy; +wave_3_per_point21= +wave_3_per_point22=counter=1-counter; +wave_3_per_point23=a=sqr(sample); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=1.77368 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=3.14159 +shapecode_3_tex_zoom=0.47413 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=0.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.500 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=/////////// new hue2rgb algortihm /////////// +shape_3_per_frame2=t=time; +shape_3_per_frame3=r2=max(min(-1+.955*acos(cos(t)),1),0); +shape_3_per_frame4=g2=max(min(-1+.955*acos(cos(t+2.0942)),1),0); +shape_3_per_frame5=b2=max(min(-1+.955*acos(cos(t+4.1883)),1),0); +shape_3_per_frame6=///////////////////////////////////////////// +shape_3_per_frame7= +shape_3_per_frame8=r=r2; +shape_3_per_frame9=g=g2; +shape_3_per_frame10=b=b2; +shape_3_per_frame11=a2=.25*(1-.5*above(q1,1)*min(q1-1,2)); +shape_3_per_frame12=a=below(q1,1)*sqrt(q1)*.07*a2; +shape_3_per_frame13=ang= 6.2831*( (frame%12)*.5*.16667); +per_frame_1=wave_a = 0; +per_frame_2=q1 =aspectx; +per_frame_3=q2 = aspecty; +per_frame_4= +per_frame_5= +per_frame_6=b = b + bass*bass*0.5; +per_frame_7=m = m + mid*mid*0.5; +per_frame_8=t = t + treb*treb*0.5; +per_frame_9= +per_frame_10=q3 = b*0.012; +per_frame_11=q4 = m*0.012; +per_frame_12=q5 = t*0.012; +per_frame_13=q20=bass+treb+mid; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 8; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1 + rand_frame.xy; +warp_7=` +warp_8=`float2 uv_blue = lerp(uv_orig,uv,1) + float2(dx.z,dy.z)*texsize.zw*4; +warp_9=`ret.z = GetPixel(uv_blue).z - (GetPixel(uv_blue).z - GetBlur3(uv_blue).z)*0.02 - 0.008 +warp_10=` +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0.1; +warp_11=` +warp_12=` +warp_13=`float2 uv_red = 0.5 + (uv-0.5) - float2(0,0)*texsize.zw - float2(dx.x,dy.x)*texsize.zw; +warp_14=`ret.x = tex2D( sampler_main, uv_red ).x; +warp_15=`ret.x += (ret.x - GetBlur3(uv_red)).x*0.4 + 0.006; +warp_16=` +warp_17=` +warp_18=`float2 uv_green = lerp(uv_orig,uv,1) - float2(dx.x,dy.x)*texsize.zw*8 +warp_19=` + float2(dx.y,dy.y)*texsize.zw*4 +warp_20=` + float2(dx.z,dy.z)*texsize.zw*8; +warp_21=`ret.y = tex2d(sampler_fc_main,uv_green).y; +warp_22=`ret.y *= 1 + ret.x*0.1; +warp_23=`ret.y -= 0.004 + saturate(ret.z)*0.012; +warp_24=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`uv = 0.5 + (uv-0.5)*0.98; +comp_5=` float2 d = texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=`float4 noise = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(dx),lum(dy),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_10=` + time*float3(0,0,1)*0.2 ); +comp_11=`uv -= float2(lum(dx),lum(dy))*0.04; +comp_12=`ret = abs(GetPixel(uv)+GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv)); +comp_13=`ret *= lum(noise)*3; +comp_14=`ret = pow(ret,0.5); +comp_15=`ret=1-ret; +comp_16=`} diff --git a/presets/presets_tryptonaut/prayerwheel.jpg b/presets/presets_tryptonaut/prayerwheel.jpg new file mode 100755 index 0000000000..ccec45e8bc Binary files /dev/null and b/presets/presets_tryptonaut/prayerwheel.jpg differ diff --git a/presets/presets_tryptonaut/procreate with anti-leather - exit house long neng kit nz+ sorry i'm so relatively medioore2.milk b/presets/presets_tryptonaut/procreate with anti-leather - exit house long neng kit nz+ sorry i'm so relatively medioore2.milk new file mode 100755 index 0000000000..f3de436c91 --- /dev/null +++ b/presets/presets_tryptonaut/procreate with anti-leather - exit house long neng kit nz+ sorry i'm so relatively medioore2.milk @@ -0,0 +1,371 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000 +fGammaAdj=2.000 +fDecay=1.000 +fVideoEchoZoom=0.902 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=2 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.312 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=10.880 +nMotionVectorsY=11.520 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=52 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=t1 = 1 +wave_0_per_point1=x=int(rand(10000))*(.0001); +wave_0_per_point2=y=int(rand(10000))*(.0001); +wave_0_per_point3= +wave_0_per_point4=vol=(bass+mid+treb)/3; +wave_0_per_point5=a=vol; +wave_0_per_point6= +wave_0_per_point7=r=bass*.62; +wave_0_per_point8=g=mid*.58; +wave_0_per_point9=b=treb*.6; +wavecode_1_enabled=0 +wavecode_1_samples=3 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=1.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.020 +wave_1_init1=t1 = 1 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.48454 +wavecode_2_smoothing=1.00000 +wavecode_2_r=0.300 +wavecode_2_g=0.500 +wavecode_2_b=0.250 +wavecode_2_a=0.300 +wave_2_per_point1=r=bass*.75; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=0.200 +shapecode_0_enabled=1 +shapecode_0_sides=45 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.29462 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=3.16787 +shapecode_0_r=1.000 +shapecode_0_g=0.940 +shapecode_0_b=0.890 +shapecode_0_a=0.000 +shapecode_0_r2=0.840 +shapecode_0_g2=0.930 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1= +shape_0_per_frame2=border_a=1-(.45*(bass+mid)); +shape_0_per_frame3=border_r=(bass*.6); +shape_0_per_frame4=border_g=(mid*.6); +shape_0_per_frame5=border_b=(treb*.6); +shape_0_per_frame6=a=(.55*(bass+mid)); +shapecode_1_enabled=0 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.81621 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=1.88496 +shapecode_1_tex_zoom=3.30640 +shapecode_1_r=0.300 +shapecode_1_g=0.300 +shapecode_1_b=0.300 +shapecode_1_a=0.050 +shapecode_1_r2=0.500 +shapecode_1_g2=0.500 +shapecode_1_b2=0.500 +shapecode_1_a2=0.550 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.200 +shapecode_2_enabled=0 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=beatb=above(bass,bass_att); +per_frame_26=beatbhard=if(beatb,bass-bass_att*.9,beatbhard); +per_frame_27= +per_frame_28=beatm=above(mid,mid_att); +per_frame_29=beatmhard=if(beatm,mid-mid_att*.9,beatmhard); +per_frame_30= +per_frame_31=beatt=above(treb,treb_att); +per_frame_32=beatthard=if(beatt,treb-treb_att*.9,beatthard); +per_frame_33= +per_frame_34=vol=bass+mid+treb; +per_frame_35=vol_att=bass_att+mid_att+treb_att; +per_frame_36= +per_frame_37= +per_frame_38=q1=beatb; +per_frame_39=q2=beatbhard; +per_frame_40=q3=beatm; +per_frame_41=q4=beatmhard; +per_frame_42=q5=beatt; +per_frame_43=q6=beatthard; +per_frame_44= +per_frame_45=decay=.999; +per_frame_46=wrap=1; +per_pixel_1=cx=(x*20*q2)%(20*q6); +per_pixel_2=cy=(y*20*q4)%(20*q6); +per_pixel_3= +per_pixel_4=rot=.02*q1+.002*q3-.02*q6; +per_pixel_5=zoom=1-(.1*q2*q1)+.2*q6*q5-.1*q4*q3; +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`//float2 uv1 = float2(uv.x-0.5,uv.y-0.5);//*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float2 hor = float2 (.003,0); +warp_7=`float2 ver = float2 (0,.003); +warp_8=`float dx = tex2D(sampler_main,uv+hor) - tex2D(sampler_main,uv-hor); +warp_9=`float dy = tex2D(sampler_main,uv+ver) - tex2D(sampler_main,uv-ver); +warp_10=` +warp_11=`float2 dz = float2 (dx,dy); +warp_12=` +warp_13=` +warp_14=`float3 noise2 = tex2D(sampler_noise_lq, +warp_15=` uv+.01*rand_frame); +warp_16=`noise2 = 2*(noise2-.9); +warp_17=` +warp_18=`float3 noise3 = tex2D(sampler_noise_lq, +warp_19=` corr*uv*.5 + 0.1*rand_frame); +warp_20=` +warp_21=` +warp_22=`float3 blur = GetBlur1(frac(uv)); +warp_23=`float3 blur2 = GetBlur1(frac(uv*noise3)); +warp_24=` +warp_25=`float2 zz = (blur*noise3)* (dz); +warp_26=` +warp_27=`double3 crisp = tex2D(sampler_main,uv+zz*.03); +warp_28=`crisp += noise2*(.01) +.02 ; +warp_29=` +warp_30=` +warp_31=`float3 ret1 = -0.03*blur2+ crisp - length(zz)*.0; +warp_32=` +warp_33=`//ret1 -= .1*pow(rad,4); +warp_34=`ret1 -= .07*pow(uv.x-.6,2) + .1*pow(uv.y-.6,2); +warp_35=` +warp_36=`ret = ret1 * .99 - .01; +warp_37=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_38=` ((zz.xyy*q27 +warp_39=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_40=` ).xyz* +warp_41=` float3(1,1,0)*0.05 + +warp_42=` time*float3(0,0,1)*q29 +warp_43=` ); +warp_44=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_45=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_46=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_47=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` +comp_9=` +comp_10=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_11=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_12=` tex2D(sampler_main, uv_echo).xyz, +comp_13=` 0.50 +comp_14=` ); //video echo +comp_15=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_16=` float3 avg_col = GetBlur1(uv); +comp_17=` ret = abs(avg_col - ret)*6; +comp_18=` +comp_19=` ret *= 0.1+abs(max(sin(bass_att),sin(treb_att))); +comp_20=` ret *= max(GetBlur3(uv),GetBlur3(uv_echo)); +comp_21=` +comp_22=` ret *= 1.5; // a little bit of overbright +comp_23=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_24=` ((uv.xyy*q28 +comp_25=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_26=` ).xyz* +comp_27=` float3(1,1,0)*0.05 + +comp_28=` time*float3(0,0,1)*q31 +comp_29=` ); +comp_30=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_31=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_32=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_33=`} diff --git a/presets/presets_tryptonaut/project.tga b/presets/presets_tryptonaut/project.tga new file mode 100644 index 0000000000..a443a5d6e3 Binary files /dev/null and b/presets/presets_tryptonaut/project.tga differ diff --git a/presets/presets_tryptonaut/random mash-up round 37.milk b/presets/presets_tryptonaut/random mash-up round 37.milk new file mode 100755 index 0000000000..3e99f22dde --- /dev/null +++ b/presets/presets_tryptonaut/random mash-up round 37.milk @@ -0,0 +1,596 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.925 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.060 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.050 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=samples; +wave_0_per_frame2=assign( gmegabuf(0), samples ); +wave_0_per_frame3= +wave_0_per_point1=x=sample; +wave_0_per_point2=y=value1*.5+.2; +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5=//t1 is "samples" +wave_0_per_point6=//add one to leave a spot for the number of samples +wave_0_per_point7=assign(gmegabuf( t1 * sample + 1 ), value1); +wave_0_per_point8= +wave_0_per_point9=r=sin(q1*.75-value2); +wave_0_per_point10=g=sin(q1*.25+value1); +wave_0_per_point11=b=sin(q1); +wave_0_per_point12=a=0; +wavecode_1_enabled=0 +wavecode_1_samples=256 +wavecode_1_sep=256 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=x=value1*.1+.5; +wave_1_per_point2=y=value2*.1+.5; +wave_1_per_point3= +wave_1_per_point4=r=sin(q4+(q5-value1))*.5+.5; +wave_1_per_point5=g=sin(q4-(q5*value2))*.5+.5; +wave_1_per_point6=b=sin(q5-(q4*value1))*.5+.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.26249 +shapecode_0_ang=2.95310 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.70721 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.400 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=rad=.25*q20; +shape_0_per_frame2= +shape_0_per_frame3=x=.2; +shape_0_per_frame4=y=.2; +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=ang=0; +shape_0_per_frame8=sides=4; +shape_0_per_frame9=r=1; +shape_0_per_frame10=g=1; +shape_0_per_frame11=b=1; +shape_0_per_frame12=a=1; +shape_0_per_frame13=r2=r; +shape_0_per_frame14=g2=g; +shape_0_per_frame15=b2=b; +shape_0_per_frame16=a2=a; +shape_0_per_frame17=border_r=0; +shape_0_per_frame18=border_g=0; +shape_0_per_frame19=border_b=0; +shape_0_per_frame20=border_a=0; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.61774 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=3.14159 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.300 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=rad=.25*q1; +shape_1_per_frame2= +shape_1_per_frame3=x=.7; +shape_1_per_frame4=y=.2; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=ang=0; +shape_1_per_frame8=sides=4; +shape_1_per_frame9=r=1; +shape_1_per_frame10=g=1; +shape_1_per_frame11=b=1; +shape_1_per_frame12=a=1; +shape_1_per_frame13=r2=r; +shape_1_per_frame14=g2=g; +shape_1_per_frame15=b2=b; +shape_1_per_frame16=a2=a; +shape_1_per_frame17=border_r=0; +shape_1_per_frame18=border_g=0; +shape_1_per_frame19=border_b=0; +shape_1_per_frame20=border_a=0; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=rad=.25*q21; +shape_2_per_frame2= +shape_2_per_frame3=x=.2; +shape_2_per_frame4=y=.7; +shape_2_per_frame5= +shape_2_per_frame6= +shape_2_per_frame7=ang=0; +shape_2_per_frame8=sides=4; +shape_2_per_frame9=r=1; +shape_2_per_frame10=g=1; +shape_2_per_frame11=b=1; +shape_2_per_frame12=a=1; +shape_2_per_frame13=r2=r; +shape_2_per_frame14=g2=g; +shape_2_per_frame15=b2=b; +shape_2_per_frame16=a2=a; +shape_2_per_frame17=border_r=0; +shape_2_per_frame18=border_g=0; +shape_2_per_frame19=border_b=0; +shape_2_per_frame20=border_a=0; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +shape_3_per_frame1=rad=.25*q2; +shape_3_per_frame2= +shape_3_per_frame3=x=.7; +shape_3_per_frame4=y=.7; +shape_3_per_frame5= +shape_3_per_frame6= +shape_3_per_frame7=ang=0; +shape_3_per_frame8=sides=4; +shape_3_per_frame9=r=1; +shape_3_per_frame10=g=1; +shape_3_per_frame11=b=1; +shape_3_per_frame12=a=1; +shape_3_per_frame13=r2=r; +shape_3_per_frame14=g2=g; +shape_3_per_frame15=b2=b; +shape_3_per_frame16=a2=a; +shape_3_per_frame17=border_r=0; +shape_3_per_frame18=border_g=0; +shape_3_per_frame19=border_b=0; +shape_3_per_frame20=border_a=0; +per_frame_init_1= +per_frame_init_2=avgdbass=0.01; +per_frame_init_3=avgdtreb=0.01; +per_frame_init_4= +per_frame_init_5=last_raw_bass = .1; +per_frame_init_6=last_raw_treb = .1; +per_frame_init_7= +per_frame_init_8= +per_frame_init_9=avgbr=0.7; +per_frame_init_10=avgbr2=0.7; +per_frame_init_11=beatb=0; +per_frame_init_12=beatb2=0; +per_frame_init_13=lbt2=time; +per_frame_init_14=lbt=time; +per_frame_init_15=ph=0; +per_frame_init_16=phase=0; +per_frame_init_17=bool=0; +per_frame_init_18=const=.01; +per_frame_init_19=ph2=0; +per_frame_init_20=phase2=0; +per_frame_init_21=bool2=0; +per_frame_init_22=const2=.01; +per_frame_init_23= +per_frame_init_24=mtime=100+bass_att*1000; +per_frame_init_25=mtime2=100+treb_att*1000; +per_frame_init_26= +per_frame_1=num_samples=gmegabuf(0); +per_frame_2=num_slices = 4; +per_frame_3=slice_size = num_samples/num_slices; +per_frame_4=raw_bass = 0; +per_frame_5=raw_treb = 0; +per_frame_6=i=0; +per_frame_7=loop(slice_size, +per_frame_8= exec3( +per_frame_9= raw_bass = raw_bass + gmegabuf(i+1+slice_size*.3), +per_frame_10= raw_treb = raw_treb + gmegabuf(i+1+slice_size*(num_slices*.7)), +per_frame_11= i=i+1 +per_frame_12= ) +per_frame_13=); +per_frame_14=raw_bass = raw_bass * 30/fps; +per_frame_15=raw_treb = raw_treb * 30/fps; +per_frame_16= +per_frame_17=raw_bass = raw_bass/num_samples; +per_frame_18=raw_treb = raw_treb/num_samples; +per_frame_19= +per_frame_20=dbass = raw_bass - last_raw_bass; +per_frame_21=dtreb = raw_treb - last_raw_treb; +per_frame_22= +per_frame_23= +per_frame_24=avgdbass=avgdbass*.99+abs(dbass)*.01; +per_frame_25=avgdtreb=avgdtreb*.99+abs(dtreb)*.01; +per_frame_26= +per_frame_27=last_raw_bass = raw_bass; +per_frame_28=last_raw_treb = raw_treb; +per_frame_29= +per_frame_30=is_beat = above(abs(dbass), avgdbass*2); +per_frame_31=is_beat = is_beat * above(time-lbt,avgbr*.5); +per_frame_32=beatb = is_beat; +per_frame_33= +per_frame_34= +per_frame_35=is_beat = above(abs(dtreb), avgdtreb*2); +per_frame_36=is_beat = is_beat * above(time-lbt2,avgbr2*.5); +per_frame_37=monitor = raw_treb; +per_frame_38=beatb2 = is_beat; +per_frame_39= +per_frame_40= +per_frame_41=//beatrate calc +per_frame_42=avgbr=beatb*(avgbr*.9+(time-lbt)*.1)+(1-beatb)*max(avgbr+(1/avgbr)*.0001,0); // avg beat rate +per_frame_43=avgbr2=beatb2*(avgbr2*.9+(time-lbt2)*.1)+(1-beatb2)*max(avgbr2+(1/avgbr2)*.00001,0); +per_frame_44= +per_frame_45=lbt=time*beatb+(1-beatb)*lbt; //last beat time +per_frame_46=lbt2=time*beatb2+(1-beatb2)*lbt2; +per_frame_47= +per_frame_48= +per_frame_49=ph=(time-lbt)*(60/avgbr)*const; +per_frame_50=phase=max(min( ph, 1 ),0); +per_frame_51=const=const*(1-beatb)+beatb*( const+ (.002*bool) ); +per_frame_52=bool=below(phase,.98)*(.98-ph)-above(phase,.98)*(ph*.5); +per_frame_53= +per_frame_54=ph2=(time-lbt2)*(60/avgbr2)*const2; +per_frame_55=phase2=max(min( ph2, 1 ),0); +per_frame_56=const2=const2*(1-beatb2)+beatb2*( const2+ (.002*bool2) ); +per_frame_57=bool2=below(phase2,.98)*(.98-ph2)-above(phase2,.98)*(ph2*.5); +per_frame_58= +per_frame_59= +per_frame_60= +per_frame_61=bc=bc+beatb; +per_frame_62=bc2=bc2+beatb2; +per_frame_63= +per_frame_64=mtime=mtime+( (avgdbass*(60/avgbr))*(1+beatb) )*(1/fps); +per_frame_65=mtime2=mtime2+( (avgdtreb*(60/avgbr2))*(1+beatb2) )*(1/fps); +per_frame_66=q1=1-phase; +per_frame_67=q2=1-phase2; +per_frame_68=q3=bc; +per_frame_69=q4=bc2; +per_frame_70= +per_frame_71= +per_frame_72= +per_frame_73=q5=mtime; +per_frame_74=q6=mtime2; +per_frame_75=q7=sin(mtime)*.5+.5; +per_frame_76=q8=sin(mtime2)*.5+.5; +per_frame_77=q9=sin(mtime*.1)*.5+.5; +per_frame_78=q10=sin(mtime2*.1)*.5+.5; +per_frame_79=q11=avgdbass; +per_frame_80=q12=avgdtreb; +per_frame_81= +per_frame_82=q14=60/avgbr; +per_frame_83=q15=60/avgbr2; +per_frame_84=monitor = q14+floor(q15) *100000; +per_frame_85=monitor = avgbr + floor(q14) * 100; +per_frame_86=q20=beatb; +per_frame_87=q21=beatb2; +per_frame_88=q22=bc%4; +per_frame_89=q23=bc2%4; +per_frame_90=//monitor=bc; +per_frame_91= +per_frame_92=warp=0; +per_frame_93=wrap=1; +per_frame_94=zoom=1; +per_frame_95= +per_frame_96=s=0.8+q20+q21; +per_frame_97=ob_r=sin((mtime*1.2-mtime2*1.3)*s)*.5+.5; +per_frame_98=ob_g=sin((mtime*0.9+mtime2*1.4)*s)*.5+.5; +per_frame_99=ob_b=sin((mtime2*1.5-mtime*0.8)*s)*.5+.5; +per_frame_100=ob_a = min(1+(beatb+beatb2)+0.001,1); +per_frame_101=//ob_r=ob_g=ob_b=1; +per_frame_102= +per_frame_103=bb = bb*0.99 + bass*0.02; +per_frame_104=mm = mm*0.99 + mid*0.02; +per_frame_105=tt = tt*0.99 + treb*0.02; +per_frame_106= +per_frame_107=mx = max(max(bb,mm),tt); +per_frame_108=mn = min(min(bb,mm),tt); +per_frame_109= +per_frame_110=h1 = (bb-mn)/(mx-mn); +per_frame_111=h2 = (mm-mn)/(mx-mn); +per_frame_112=h3 = (tt-mn)/(mx-mn); +per_frame_113= +per_frame_114=v = 0.1333/fps; +per_frame_115=bm = bm + (h1-h2)*v; +per_frame_116=mt = mt + (h2-h3)*v; +per_frame_117=bt = bt + (h1-h3)*v; +per_frame_118= +per_frame_119=w = bm*2; +per_frame_120=q3 = sin(w); +per_frame_121=q4 = cos(w); +per_frame_122= +per_frame_123= +per_frame_124=q10 = bm; +per_frame_125=q11 = mt; +per_frame_126=q12 = bt; +per_pixel_1=//rot=(q2-q1); +warp_1=`float2 factorA, factorB, product; +warp_2=`float2 numerator, denominator, fraction; +warp_3=`float2 moebius; +warp_4=`float2 julia, julia_c, julia_zoom; +warp_5=`float2 dither_uv; +warp_6=`float3 rand; +warp_7=`float2 d, d_uv; +warp_8=`float3 dx, dy; +warp_9=` +warp_10=`shader_body +warp_11=`{ +warp_12=` +warp_13=`// moebius transformation code +warp_14=` +warp_15=` moebius = (uv_orig-0.5)*aspect.xy; +warp_16=` factorA = moebius; +warp_17=` factorB = float2(q11,q12); +warp_18=` product = float2( factorA.x*factorB.x - factorA.y*factorB.y, // the products real part +warp_19=` factorA.x*factorB.y + factorA.y*factorB.x); // the products imaginary part +warp_20=` numerator = product + float2(q13,q14); +warp_21=` factorA = moebius; +warp_22=` factorB = float2(q15,q16); +warp_23=` product = float2( factorA.x*factorB.x - factorA.y*factorB.y, // the products real part +warp_24=` factorA.x*factorB.y + factorA.y*factorB.x); // the products imaginary part +warp_25=` denominator = product + float2(q17,q18); +warp_26=` fraction = float2( numerator.x*denominator.x + numerator.y*denominator.y, // the fractions real part +warp_27=` numerator.y*denominator.x - numerator.x*denominator.y)/ // the fractions imaginary part +warp_28=` (denominator.x*denominator.x + denominator.y*denominator.y); +warp_29=` moebius = fraction*0.5; +warp_30=` moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5); +warp_31=` +warp_32=`// julia fractal code +warp_33=` +warp_34=` julia_zoom =1.81; +warp_35=` julia_c = float2(0.45,0.7); +warp_36=` factorA = (uv-0.5)*julia_zoom; +warp_37=` factorB = factorA; +warp_38=` product = float2( factorA.x*factorB.x - factorA.y*factorB.y, // the products real part +warp_39=` factorA.x*factorB.y + factorA.y*factorB.x); // the products imaginary part +warp_40=` julia = saturate(product + julia_c); +warp_41=` +warp_42=`// reaction diffusion code +warp_43=` +warp_44=` d = texsize.zw*4; +warp_45=` d_uv = uv_orig; +warp_46=` dx = GetBlur1(d_uv + float2(1,0)*d) - GetBlur1(d_uv - float2(1,0)*d); +warp_47=` dy = GetBlur1(d_uv + float2(0,1)*d) - GetBlur1(d_uv - float2(0,1)*d); +warp_48=` d_uv -= float2(dx.x,dy.x)*texsize.zw*4; +warp_49=` +warp_50=` +warp_51=`ret.x = GetPixel(d_uv).x; +warp_52=`ret.x += -(GetBlur1(d_uv).x-ret.x)*0.1 - 0.06; +warp_53=`ret.x += (1-GetBlur1(moebius).x)*0.1; +warp_54=` +warp_55=`ret.z = GetPixel(julia).z + 0.004; +warp_56=` +warp_57=`ret.y = GetPixel(moebius-float2(dx.x,dy.x)*texsize.zw*24).x; +warp_58=`} +comp_1=`float2 complex_div(float2 numerator, float2 denominator){ +comp_2=` return float2( numerator.x*denominator.x + numerator.y*denominator.y, +comp_3=` numerator.y*denominator.x - numerator.x*denominator.y)/ +comp_4=` (denominator.x*denominator.x + denominator.y*denominator.y); +comp_5=`} +comp_6=` +comp_7=`float2 uv_polar(float2 domain, float2 center){ +comp_8=` float2 c = domain - center; +comp_9=` float rad_hq = length(c); +comp_10=` float ang_hq = atan2(c.x,c.y); +comp_11=` return float2(ang_hq*M_INV_PI_2, rad_hq); +comp_12=`} +comp_13=` +comp_14=`float2 uv_polar_logarithmic(float2 domain, float2 center, int fins, float log_factor, float2 coord){ +comp_15=` float2 polar = uv_polar(domain, center); +comp_16=` return float2(polar.x*fins+coord.x, log_factor*log(polar.y) + coord.y); +comp_17=`} +comp_18=` +comp_19=`float2 uv_moebius_transformation(float2 domain, float2 zeroPoint, float2 infinityPoint,float zoom){ +comp_20=` return complex_div((domain - zeroPoint)*zoom, domain - infinityPoint)+0.5; +comp_21=`} +comp_22=` +comp_23=`float2 uv_bipolar(float2 domain, float2 northPole, float2 southPole, int fins, float log_factor, float2 coord){ +comp_24=` float2 help_uv = uv_moebius_transformation(domain, northPole, southPole, 1); +comp_25=` return uv_polar_logarithmic(help_uv,0.5,fins,log_factor,coord); +comp_26=`} +comp_27=` +comp_28=` +comp_29=`float2 uv_rotate( float2 domain, float2 center, float sinw, float cosw, float scale){ +comp_30=` float2 uv_r = (domain-center); +comp_31=` return center + float2( cosw*uv_r.x - sinw*uv_r.y, sinw*uv_r.x + cosw*uv_r.y)*scale; +comp_32=`} +comp_33=` +comp_34=` +comp_35=`shader_body +comp_36=`{ +comp_37=`float2 uvo = uv; +comp_38=` +comp_39=`float2 rotate_uv = 0.5-uv_rotate(0 + (uv-0.5)*aspect.xy, 0, q3, q4, 2); +comp_40=`float2 bipolar_uv = uv_bipolar(rotate_uv,float2(0,0.5),float2(1,0.5), 2, 0.3, float2(q11,q12)); +comp_41=`uv = 0.5 + (0.5 - abs( frac( bipolar_uv * 0.5 ) * 2.0 - 1.0 )); +comp_42=` +comp_43=`float2 uv1 = uv-.5; +comp_44=` +comp_45=`float3 ret1 = tex2D(sampler_main, uv) * (1-rad); +comp_46=` +comp_47=` +comp_48=`float2 hor = float2 (texsize.z,0); +comp_49=`float2 ver = float2 (0,texsize.w); +comp_50=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_51=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_52=`float2 dz = float2 (dx,dy); +comp_53=` +comp_54=`uv1 = uv1*0+.3*cos(uv1*2) - dz;; +comp_55=`float dots = saturate(.04/length(uv1)); +comp_56=`uv1 = uv1*0+.3*cos(uv1*12) - 9*dz;; +comp_57=`float3 dots2 = saturate(.04/length(uv1)); +comp_58=` +comp_59=` +comp_60=`ret = dots + GetPixel(uv)*12*dots2; +comp_61=`//ret = GetPixel(uv); +comp_62=`} diff --git a/presets/presets_tryptonaut/random mash-up round 47.milk b/presets/presets_tryptonaut/random mash-up round 47.milk new file mode 100755 index 0000000000..478b02a238 --- /dev/null +++ b/presets/presets_tryptonaut/random mash-up round 47.milk @@ -0,0 +1,558 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.700 +fDecay=0.980 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=4 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.865 +fWaveScale=2.280 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.400 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.010 +fWarpScale=100.000 +fZoomExponent=0.32104 +fShader=0.000 +zoom=0.99504 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=1.000 +ib_b=1.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=9.600 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.300 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=9.86086 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass_att,1)*3.1415*.01*bass_att); +wave_0_per_point2=ma=ma-(above(treb_att,1)*3.1415*.01*treb_att); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=//a=(above(bass+mid+treb,.8)); +wave_0_per_point16=//a = bass_att * .35; +wave_0_per_point17= +wave_0_per_point18=r = sin(treb+att * .45); +wave_0_per_point19=b = sin(treb+att * .65); +wave_0_per_point20=g = sin(treb+att * .25); +wave_0_per_point21= +wave_0_per_point22= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=27.42973 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=//r = min(1,max(0,r + 0.1*(bass_att*0.217 + 1))); +wave_1_per_frame2=//g = min(1,max(0,g + 0.1*(treb_att*0.191 + 2))); +wave_1_per_frame3=//b = min(1,max(0,b + 0.1*sin(mid_att*0.232 + 4))); +wave_1_per_frame4=//r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.257 + 3))); +wave_1_per_frame5=//g2 = min(1,max(0,g2 + 0.1*sin(treb_att*0.237 + 5))); +wave_1_per_frame6=//b2 = min(1,max(0,b2 + 0.1*sin(mid_att*0.284 + 6))); +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=a1 = treb_att * .25; +wave_1_per_frame10=a2 = mid_att * .15; +wave_1_per_frame11=a3 = treb_att * .25; +wave_1_per_frame12= +wave_1_per_frame13= +wave_1_per_frame14=r = sin(treb_att); +wave_1_per_frame15=b = sin(treb_att); +wave_1_per_frame16=g = sin(treb_att); +wave_1_per_point1=ma=ma+(above(bass_att,1)*3.1415*.01*bass_att); +wave_1_per_point2=ma=ma-(above(treb_att,1)*3.1415*.01*treb_att); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0002*cos(ma)); +wave_1_per_point5=my=my+(.0002*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=//a=(above(bass+mid+treb,.8)); +wave_1_per_point16=//a = bass_att * .35; +wave_1_per_point17= +wave_1_per_point18=r = sin(treb+att * .45); +wave_1_per_point19=b = sin(treb+att * .65); +wave_1_per_point20=g = sin(treb+att * .25); +wave_1_per_point21= +wave_1_per_point22= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=6.62306 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.500 +wavecode_2_g=0.500 +wavecode_2_b=0.500 +wavecode_2_a=1.000 +wave_2_per_frame1=//r = min(1,max(0,r + 0.1*(bass_att*0.217 + 1))); +wave_2_per_frame2=//g = min(1,max(0,g + 0.1*(treb_att*0.191 + 2))); +wave_2_per_frame3=//b = min(1,max(0,b + 0.1*(mid_att*0.232 + 4))); +wave_2_per_frame4=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.257 + 3))); +wave_2_per_frame5=g2 = min(1,max(0,g2 + 0.1*sin(treb_att*0.237 + 5))); +wave_2_per_frame6=b2 = min(1,max(0,b2 + 0.1*sin(mid_att*0.284 + 6))); +wave_2_per_frame7=a1 = treb_att * .25; +wave_2_per_frame8=a2 = mid_att * .15; +wave_2_per_frame9=a3 = treb_att * .25; +wave_2_per_frame10= +wave_2_per_point1=ma=ma+(above(bass_att,1)*3.1415*.01*bass_att); +wave_2_per_point2=ma=ma-(above(treb_att,1)*3.1415*.01*treb_att); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0002*cos(ma)); +wave_2_per_point5=my=my+(.0002*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=//a=(above(bass+mid+treb,.8)); +wave_2_per_point16=//a = bass_att * .35; +wave_2_per_point17= +wave_2_per_point18=r = sin(treb+att * .45); +wave_2_per_point19=b = sin(treb+att * .65); +wave_2_per_point20=g = sin(treb+att * .25); +wave_2_per_point21= +wave_2_per_point22= +wavecode_3_enabled=1 +wavecode_3_samples=142 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=8.92690 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.600 +wavecode_3_g=0.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=//r = min(1,max(0,r + 0.1*(bass_att*0.217 + 1))); +wave_3_per_frame2=//g = min(1,max(0,g + 0.1*(treb_att*0.191 + 2))); +wave_3_per_frame3=//b = min(1,max(0,b + 0.1*(mid_att*0.232 + 4))); +wave_3_per_frame4=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.257 + 3))); +wave_3_per_frame5=g2 = min(1,max(0,g2 + 0.1*sin(treb_att*0.237 + 5))); +wave_3_per_frame6=b2 = min(1,max(0,b2 + 0.1*sin(mid_att*0.284 + 6))); +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=r = 255; +wave_3_per_frame10=b = 255; +wave_3_per_frame11=g = 255; +wave_3_per_point1=ma=ma+(above(bass_att,1)*3.1415*.01*bass_att); +wave_3_per_point2=ma=ma-(above(treb_att,1)*3.1415*.01*treb_att); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0002*cos(ma)); +wave_3_per_point5=my=my+(.0002*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=//a=(above(bass+mid+treb,.8)); +wave_3_per_point16=//a = bass_att * .35; +wave_3_per_point17= +wave_3_per_point18=r = sin(treb+att * .45); +wave_3_per_point19=b = sin(treb+att * .65); +wave_3_per_point20=g = sin(treb+att * .25); +wave_3_per_point21= +wave_3_per_point22= +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=100.00000 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.100 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.130 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=tex_ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shape_0_per_frame9=//a1 = (bass_att); +shape_0_per_frame10=a1 = 0.3 + 0.1 * sin(treb_att * .55); +shape_0_per_frame11=mv_l = 3 + 1 * (treb_att * .25); +shape_0_per_frame12= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.89796 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.100 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=x = x + 0.05*sin(mid_att*0.15+3); +shape_1_per_frame2=y = y + 0.03*sin(mid_att*0.19+1); +shape_1_per_frame3=tex_ang = bass_att*(0.1 + 0.1*treb_att); +shape_1_per_frame4=rad = rad * (0.9 + 0.6*treb_att); +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7= +shape_1_per_frame8=x = x + sin(treb_att * .005); +shape_1_per_frame9=y = y + sin(mid_att * .013); +shape_1_per_frame10=a = 0 + (treb * .1); +shapecode_2_enabled=1 +shapecode_2_sides=13 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.770 +shapecode_2_y=0.430 +shapecode_2_rad=0.51386 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=x = x + 0.05*(bass_att*0.07); +shape_2_per_frame2=y = y + 0.03*(bass_att*0.03); +shape_2_per_frame3=tex_ang = mid_att*(0.8 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*mid_att); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*(bass_att*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*(mid_att*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*(treb_att*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +shape_2_per_frame11=sides = treb_att; +shape_2_per_frame12= +shape_2_per_frame13=x = x + sin(mid_att * .019); +shape_2_per_frame14=y = y + sin(treb_att * .015); +shape_2_per_frame15=num_inst = sin(mid_att * .25); +shape_2_per_frame16= +shape_2_per_frame17=r = 0.5 + 0.5*sin(frame*2.5); +shape_2_per_frame18=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame19=g = 0.5 + 0.5*sin(frame*0.5 + 1.188); +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.700 +shapecode_3_rad=1.33692 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.600 +shapecode_3_g=0.800 +shapecode_3_b=1.000 +shapecode_3_a=0.100 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = x + 0.2*sin(treb_att*0.25); +shape_3_per_frame2=y = y + 0.1*sin(treb_att*0.5+2); +shape_3_per_frame3=rot = mid_att * .45; +shape_3_per_frame4= +shape_3_per_frame5=r = min(1,max(0,r + 0.1*(bass_att*0.417 + 1))); +shape_3_per_frame6=g = min(1,max(0,g + 0.1*(mid_att*0.391 + 2))); +shape_3_per_frame7=b = min(1,max(0,b + 0.1*(treb_att*0.432 + 4))); +shape_3_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(bass_att*0.457 + 3))); +shape_3_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(mid_att*0.437 + 5))); +shape_3_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(treb_att*0.484 + 6))); +shape_3_per_frame11=ang = sin(treb_att); +shape_3_per_frame12= +shape_3_per_frame13=x = x + sin(mid_att * .016); +shape_3_per_frame14=y = x + sin(treb_att * .015); +shape_3_per_frame15=num_inst = sin(treb_att * .35); +shape_3_per_frame16= +shape_3_per_frame17=r = 0.5 + 0.5*sin(frame*2.5); +shape_3_per_frame18=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame19=g = 0.5 + 0.5*sin(frame*0.5 + 1.188); +per_frame_1= +per_frame_2=//Variables controling the glitch effect//////////////////////////////////////// +per_frame_3=decayrate = 0.09; //How fast the glitch effect decays back to original image +per_frame_4=trebresp = 2.8; //Level of treb needed for effect to take place +per_frame_5=//////////////////////////////////////////////////////////////////////////////// +per_frame_6= +per_frame_7= +per_frame_8=cdecay = pow(decayrate, 30/fps); +per_frame_9=count = above(treb, trebresp)*1 + (1-above(treb, 3))*count; +per_frame_10=count = count - above(count, cdecay)*cdecay; +per_frame_11=q29=count; +per_frame_12=monitor = q29; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=decay = 0; +per_frame_17= +per_frame_18=dt = 0.02; +per_frame_19= +per_frame_20=h = h + v*dt; +per_frame_21= +per_frame_22=v = v*0.986 + a*dt; +per_frame_23=a = -(h - 0.5)*0.4 + sqrt(- min(0,(w1v+w2v)*0.1)) - .175; +per_frame_24= +per_frame_25=monitor = w2; +per_frame_26= +per_frame_27= +per_frame_28=w1 = w1 + w1v*dt; +per_frame_29=w1v = w1v*0.98 + w1a*dt; +per_frame_30=w1a = -(w1)*20 - w2a*0.1 + av*30; +per_frame_31= +per_frame_32=w2 = w2 + w2v*dt; +per_frame_33=w2v = w2v*0.98 + w2a*dt; +per_frame_34=w2a = -(w2-w1)*20; +per_frame_35= +per_frame_36=bb = bb*0.99 + bass*0.02; +per_frame_37=mm = mm*0.99 + mid*0.02; +per_frame_38=tt = tt*0.99 + treb*0.02; +per_frame_39= +per_frame_40=mi = min(min(bb,mm),tt); +per_frame_41=ma = max(max(bb,mm),tt); +per_frame_42=av = (bb+mm+tt-mi-ma); +per_frame_43=q5 = av; +per_frame_44=avn = (av-mi)/(ma-mi); +per_frame_45=av = abs(avo-avn); +per_frame_46=avo = avn; +per_frame_47= +per_frame_48=q1 = h*0.8 + 0.12; +per_frame_49=q2 = (w1); +per_frame_50=q3 = (w2 + w1); +per_frame_51=q4 = 0.1+ avo*0.1; +per_frame_52= +per_frame_53= +per_frame_54= +per_frame_55=wave_r = 0.5 + 0.5*sin(frame*2.5); +per_frame_56=wave_b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +per_frame_57=wave_g = 0.5 + 0.5*sin(frame*0.5 + 1.188); +warp_1=` float2 cmul(float2 mul1, float2 mul2) { +warp_2=` float2 mul = float2(mul1.x*mul2.x - mul1.y*mul2.y, mul1.y*mul2.x + mul1.x*mul2.y); +warp_3=` return mul; +warp_4=` } +warp_5=` float2 cdiv(float2 div1, float2 div2) { +warp_6=` float2 div = float2( (div1.x*div2.x + div1.y*div2.y)/(div2.x*div2.x + div2.y*div2.y), +warp_7=` (div1.y*div2.x + div1.x*div2.y)/(div2.x*div2.x + div2.y*div2.y) ); +warp_8=` return div; +warp_9=` } +warp_10=` float2 cpow(float2 base, float ex) { +warp_11=` float moduz = sqrt(base.x*base.x + base.y*base.y); +warp_12=` float thetaz = atan2(base.y, base.x); +warp_13=` float2 pow = float2(pow(moduz, ex)*cos(thetaz*ex), pow(moduz, ex)*sin(thetaz*ex)); +warp_14=` return pow; +warp_15=` } +warp_16=` float2 cexp(float2 base, float2 ex) { +warp_17=` float moduz = sqrt(base.x*base.x + base.y*base.y); +warp_18=` float thetaz = atan2(base.y, base.x); +warp_19=` float mp = pow(moduz, ex.x)*exp(-ex.y*thetaz); +warp_20=` float2 sol = mp*float2(cos(ex.y*log(moduz) + ex.x*thetaz), sin(ex.y*log(moduz) + ex.x*thetaz)); +warp_21=` return sol; +warp_22=` } +warp_23=` +warp_24=` +warp_25=` float getRad(float2 uv1) { +warp_26=` return sqrt( pow(0.5-uv1.x,2) + pow(0.5-uv1.y,2) ); +warp_27=` } +warp_28=` float getAng(float2 uv1) { +warp_29=` float2 uv2 = (uv1-0.5)*aspect.xy; +warp_30=` return atan2(uv2.y,uv2.x); +warp_31=` } +warp_32=` +warp_33=`sampler sampler_rand02; +warp_34=`float4 texsize_rand02; // ...it's smart enough to get it from just this. +warp_35=`shader_body +warp_36=`{ +warp_37=` // sample previous frame +warp_38=` +warp_39=` +warp_40=` float2 zoom = 2;//-rad*((q3+q4)%5); +warp_41=` float2 c; +warp_42=` c = float2(1+q8,1+q7)+0.9; +warp_43=`//c=float2(0.7,0.6); +warp_44=` float2 z = (uv-0.5)*zoom; +warp_45=` float zp = 0.3+(abs(q3-q4+(q1-q2)*2)%9+5)*0.08; +warp_46=` +warp_47=` float2 uv2 = cpow(z,zp)%c; +warp_48=` +warp_49=` +warp_50=` uv2 = 0.5 + (1.0 - abs( frac( uv2 * 0.5 ) * 2 - 1.0 )-0.5)*0.99; // Eo.S. mirror code with cutted borders +warp_51=` +warp_52=` float mrad = getRad(uv2); +warp_53=` //float mang = getAng(uv2); +warp_54=` +warp_55=` +warp_56=` float3 fractal = tex2D( sampler_main, uv2 ).xyz; +warp_57=` float3 blured = GetBlur1(uv); +warp_58=` +warp_59=` +warp_60=` ret = fractal*1.2; +warp_61=` ret *= mrad < 0.5; +warp_62=` ret += (ret==0)*blured; +warp_63=` +warp_64=` ret *= 0.9; //or try: ret -= 0.004; +warp_65=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo = (uv - 0.5)*1.010*float2(-1,1) + 0.5; +comp_6=` +comp_7=` ret = GetPixel(uv)*0.4 + GetBlur2(uv)*1.75; +comp_8=` float3 ret2 = GetPixel(uv_echo)*0.4 + GetBlur2(uv_echo)*1.75; +comp_9=` +comp_10=` ret = lerp(ret,ret2,.5); +comp_11=` +comp_12=`//float2 cuv = (treb * .0001) + (bass * .1)+.5*uv; +comp_13=`float3 reta = tex2D(sampler_main, uv); +comp_14=`float3 avg_col = GetBlur1(uv); +comp_15=`reta = abs(avg_col - reta)*(treb_att * 10); +comp_16=`reta *= sin(time) + (treb_att * 3.333); +comp_17=`reta = ret * reta; +comp_18=`ret = lerp(ret, reta, q29 * .8); +comp_19=` +comp_20=` +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/rce-ordinary + flexi - far away distance (custom beat detection + bipolar colour ghost mix).milk b/presets/presets_tryptonaut/rce-ordinary + flexi - far away distance (custom beat detection + bipolar colour ghost mix).milk new file mode 100755 index 0000000000..5ec22ffa58 --- /dev/null +++ b/presets/presets_tryptonaut/rce-ordinary + flexi - far away distance (custom beat detection + bipolar colour ghost mix).milk @@ -0,0 +1,356 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.900 +fWaveSmoothing=0.630 +fWaveParam=1.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00600 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=48.000 +mv_dx=-0.941 +mv_dy=0.426 +mv_l=5.000 +mv_r=0.316 +mv_g=0.078 +mv_b=0.942 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=c_x = 0.5; +per_frame_init_2=c_y = 0.5; +per_frame_init_3=v=0.05 +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=rot = 0; +per_frame_4=zoom = 1; +per_frame_5=warp = 0; +per_frame_6= +per_frame_7=num0=beat*(abs(num-num_att)+pump)+bnot(beat)*num0; +per_frame_8=pump=beat*(sin(t)*.1+.1)+bnot(beat)*pump; +per_frame_9=pump=pump*.98; +per_frame_10= +per_frame_11=num_b0=num_b; +per_frame_12=num=abs((bass-bass_att)+(mid-mid_att)+(treb-treb_att)); +per_frame_13=num_att=num_att*.95+num*.05; +per_frame_14=num_b=above(num,1-pump)*above(abs(num-num_att),num0); +per_frame_15=beat=bnot(equal(num_b0,num_b)); +per_frame_16= +per_frame_17=t=t+num*.1; +per_frame_18= +per_frame_19=r = if(beat, 0.02*(int(rand(200))-100)*0.01,r); +per_frame_20=rot = r; +per_frame_21= +per_frame_22=c_x = if(beat,0.5 + 0.5*(int(rand(200))-100)*0.01, c_x); +per_frame_23=c_y = if(beat,0.5 + 0.5*(int(rand(200))-100)*0.01, c_y); +per_frame_24=v = if(beat,0.035 + 0.025*(int(rand(200))-100)*0.01, v); +per_frame_25= +per_frame_26= +per_frame_27=q3 = c_x; +per_frame_28=q4 = c_y; +per_frame_29=q5 = v; +per_frame_30=q6 = beat; +per_frame_31= +per_frame_32=bb = bb*0.98 + bass*0.5; +per_frame_33=mm = mm*0.98 + mid*0.5; +per_frame_34=tt = tt*0.98 + treb*0.5; +per_frame_35= +per_frame_36=mx = max(max(bb,mm),tt); +per_frame_37=mn = min(min(bb,mm),tt); +per_frame_38= +per_frame_39=h1 = (bb-mn)/(mx-mn); +per_frame_40=h2 = (mm-mn)/(mx-mn); +per_frame_41=h3 = (tt-mn)/(mx-mn); +per_frame_42= +per_frame_43=v = 0.2/fps; +per_frame_44=bm = bm + (h1-h2)*v; +per_frame_45=mt = mt + (h2-h3)*v; +per_frame_46=bt = bt + (h1-h3)*v; +per_frame_47= +per_frame_48=w = bm; +per_frame_49=q3 = sin(w); +per_frame_50=q4 = cos(w); +per_frame_51= +per_frame_52= +per_frame_53=q10 = bm; +per_frame_54=q11 = mt; +per_frame_55=q12 = bt; +per_pixel_1=d = (pow(sqrt(sqr(x-q3)+sqr(y-q4)),0.5)-0.); +per_pixel_2=v = q5; +per_pixel_3=dx = v*(x-q3)*d; +per_pixel_4=dy = v*(y-q4)*d; +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_6=`float3 rand = tex2D(sampler_noise_lq, dither_uv).xyz-0.5; +warp_7=` +warp_8=`float2 d = texsize.zw * 4; +warp_9=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_10=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_11=`d = lerp(uv_orig,uv,0.35); +warp_12=`float2 uv_y =d - float2(dx.y,dy.y)*texsize.zw*4; +warp_13=`float2 uv_z =d - float2(dx.z,dy.z)*texsize.zw*4; +warp_14=` +warp_15=`ret.y = GetPixel(uv_y).y - (GetBlur1(uv).y-GetPixel(uv_y).y)*0.024 - 0.009 + (1-GetPixel(uv_orig).x)*0.014 + rand*0.02; +warp_16=`ret.z = GetPixel(uv_z).z - (GetBlur1(uv).z-GetPixel(uv_z).z)*0.024 - 0.009 + (0+GetPixel(uv_orig).x)*0.014 + rand*0.02; +warp_17=` +warp_18=`ret.x = tex2D( sampler_fc_main, uv+rand*texsize.zw*.5 ).x; +warp_19=`ret.x += (ret.x - GetBlur3(uv).x)*0.4 + rand*0.0052; +warp_20=` +warp_21=`//ret = 0; +warp_22=`} +comp_1=`float2 complex_div(float2 numerator, float2 denominator){ +comp_2=` return float2( numerator.x*denominator.x + numerator.y*denominator.y, +comp_3=` numerator.y*denominator.x - numerator.x*denominator.y)/ +comp_4=` (denominator.x*denominator.x + denominator.y*denominator.y); +comp_5=`} +comp_6=` +comp_7=`float2 uv_polar(float2 domain, float2 center){ +comp_8=` float2 c = domain - center; +comp_9=` float rad_hq = length(c); +comp_10=` float ang_hq = atan2(c.x,c.y); +comp_11=` return float2(ang_hq*M_INV_PI_2, rad_hq); +comp_12=`} +comp_13=` +comp_14=`float2 uv_polar_logarithmic(float2 domain, float2 center, int fins, float log_factor, float2 coord){ +comp_15=` float2 polar = uv_polar(domain, center); +comp_16=` return float2(polar.x*fins+coord.x, log_factor*log(polar.y) + coord.y); +comp_17=`} +comp_18=` +comp_19=`float2 uv_moebius_transformation(float2 domain, float2 zeroPoint, float2 infinityPoint,float zoom){ +comp_20=` return complex_div((domain - zeroPoint)*zoom, domain - infinityPoint)+0.5; +comp_21=`} +comp_22=` +comp_23=`float2 uv_bipolar(float2 domain, float2 northPole, float2 southPole, int fins, float log_factor, float2 coord){ +comp_24=` float2 help_uv = uv_moebius_transformation(domain, northPole, southPole, 1); +comp_25=` return uv_polar_logarithmic(help_uv,0.5,fins,log_factor,coord); +comp_26=`} +comp_27=` +comp_28=` +comp_29=`float2 uv_rotate( float2 domain, float2 center, float sinw, float cosw, float scale){ +comp_30=` float2 uv_r = (domain-center); +comp_31=` return center + float2( cosw*uv_r.x - sinw*uv_r.y, sinw*uv_r.x + cosw*uv_r.y)*scale; +comp_32=`} +comp_33=` +comp_34=` +comp_35=`shader_body +comp_36=`{ +comp_37=`float2 uvo = uv; +comp_38=`uv = 0.5 + (uv-0.5)*1.5; +comp_39=`float2 rotate_uv = 0.5+uv_rotate(0 + (uv-0.5)*aspect.xy, 0, q3, q4, 2); +comp_40=`float2 bipolar_uv = uv_bipolar(rotate_uv,float2(0,0.5),float2(1,0.5), 2, 0.35, float2(q11,q12)); +comp_41=`float2 mirror_uv = 0.5 + (0.5 - abs( frac( bipolar_uv * 0.5 ) * 2.0 - 1.0 )); +comp_42=`uv = mirror_uv; +comp_43=` float2 uv_grid=uv+0.03*float2(sin(uv.y*31+0.59*time),sin(uv.x*26+0.37*time)); +comp_44=` ret = tex2D(sampler_main, uv).xyz; +comp_45=` ret=max(ret,tex2D(sampler_main,uv_grid).xyz); //video distort +comp_46=` ret *= 1.33; //gamma +comp_47=` ret=lum(ret); +comp_48=` ret=pow(ret,2.5); +comp_49=` ret+=GetBlur1((uv+uv_grid)/2); +comp_50=` } diff --git a/presets/presets_tryptonaut/rediculator qrem glob.milk b/presets/presets_tryptonaut/rediculator qrem glob.milk new file mode 100755 index 0000000000..69f945728d --- /dev/null +++ b/presets/presets_tryptonaut/rediculator qrem glob.milk @@ -0,0 +1,813 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.442 +fWarpScale=0.498 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.050 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.100 +wavecode_0_g=1.000 +wavecode_0_b=0.700 +wavecode_0_a=1.000 +wave_0_per_point1= +wave_0_per_point2= +wave_0_per_point3=n=sample*6.283; +wave_0_per_point4=phs=-sample * 0.2; +wave_0_per_point5=tm=q1 + phs; +wave_0_per_point6= +wave_0_per_point7=flip=flip+1; +wave_0_per_point8=flip=flip*below(flip,2); +wave_0_per_point9= +wave_0_per_point10=xp=0; +wave_0_per_point11=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_0_per_point12=zp=0; +wave_0_per_point13= +wave_0_per_point14=//wrist movement; +wave_0_per_point15=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point16= +wave_0_per_point17=xq=xp; +wave_0_per_point18=sa=sin(ang);ca=cos(ang); +wave_0_per_point19=sas=sign(sa);cas=sign(ca); +wave_0_per_point20=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point21=sa=sa*sas;ca=ca*cas; +wave_0_per_point22=xp=sin(time*3); +wave_0_per_point23=xsign=sign(xp); +wave_0_per_point24=xp=abs(xp); +wave_0_per_point25=xp=pow(xp,pw); +wave_0_per_point26= +wave_0_per_point27=yq=yp*sa + zp*ca; +wave_0_per_point28=zq=yp*ca - zp*sa; +wave_0_per_point29=yq=yp; +wave_0_per_point30=zq=zp; +wave_0_per_point31= +wave_0_per_point32=ang=tm*8.3; +wave_0_per_point33=sa=sin(ang);ca=cos(ang); +wave_0_per_point34=sas=sign(sa);cas=sign(ca); +wave_0_per_point35=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point36=sa=sa*sas;ca=ca*cas; +wave_0_per_point37=xp=xq*sa + yq*ca; +wave_0_per_point38=yp=xq*ca - yq*sa; +wave_0_per_point39=zp=zq; +wave_0_per_point40= +wave_0_per_point41=//forearm movement; +wave_0_per_point42=zp=zp-0.3; +wave_0_per_point43=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point44=xq=xp; +wave_0_per_point45=sa=sin(ang);ca=cos(ang); +wave_0_per_point46=sas=sign(sa);cas=sign(ca); +wave_0_per_point47=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point48=sa=sa*sas;ca=ca*cas; +wave_0_per_point49=yq=yp*sa + zp*ca; +wave_0_per_point50=zq=yp*ca - zp*sa; +wave_0_per_point51= +wave_0_per_point52=//upper arm twist +wave_0_per_point53=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point54=sa=sin(ang);ca=cos(ang); +wave_0_per_point55=sas=sign(sa);cas=sign(ca); +wave_0_per_point56=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point57=sa=sa*sas;ca=ca*cas; +wave_0_per_point58=xp=xq*sa + yq*ca; +wave_0_per_point59=yp=xq*ca - yq*sa; +wave_0_per_point60=zp=zq; +wave_0_per_point61= +wave_0_per_point62=//upper arm outward; +wave_0_per_point63=zp=zp-0.35; +wave_0_per_point64=ang=cos(tm*2.1)*0.75 - 1.05; +wave_0_per_point65=sa=sin(ang);ca=cos(ang); +wave_0_per_point66=sas=sign(sa);cas=sign(ca); +wave_0_per_point67=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point68=sa=sa*sas;ca=ca*cas; +wave_0_per_point69=xq=xp*sa + zp*ca; +wave_0_per_point70=yq=yp; +wave_0_per_point71=zq=xp*ca - zp*sa; +wave_0_per_point72= +wave_0_per_point73=//upper arm up down; +wave_0_per_point74=ang=cos(tm*1.1)*0.5 - 0.5; +wave_0_per_point75=xp=xq; +wave_0_per_point76=sa=sin(ang);ca=cos(ang); +wave_0_per_point77=sas=sign(sa);cas=sign(ca); +wave_0_per_point78=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_0_per_point79=sa=sa*sas;ca=ca*cas; +wave_0_per_point80=yp=yq*ca - zq*sa; +wave_0_per_point81=zp=yq*sa + zq*ca; +wave_0_per_point82= +wave_0_per_point83=//xp=xq;yp=yq;zp=zq; +wave_0_per_point84= +wave_0_per_point85= +wave_0_per_point86=//project into screenspace and draw on screen +wave_0_per_point87=zp=zp+2; +wave_0_per_point88=xs=xp/zp; +wave_0_per_point89=ys=yp/zp; +wave_0_per_point90= +wave_0_per_point91=x=xs+0.5; +wave_0_per_point92=y=ys*1.3+0.5; +wave_0_per_point93= +wave_0_per_point94= +wave_0_per_point95=a=(1-sample); +wave_0_per_point96= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=1.000 +wavecode_1_b=0.600 +wavecode_1_a=1.000 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=q1 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.05*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_1_per_point10=zp=0; +wave_1_per_point11= +wave_1_per_point12=//wrist movement; +wave_1_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point14= +wave_1_per_point15=xq=xp; +wave_1_per_point16=sa=sin(ang);ca=cos(ang); +wave_1_per_point17=sas=sign(sa);cas=sign(ca); +wave_1_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point19=sa=sa*sas;ca=ca*cas; +wave_1_per_point20=yq=yp*sa + zp*ca; +wave_1_per_point21=zq=yp*ca - zp*sa; +wave_1_per_point22=yq=-yp; +wave_1_per_point23=zq=zp; +wave_1_per_point24= +wave_1_per_point25=ang=tm*8.3; +wave_1_per_point26=sa=sin(ang);ca=cos(ang); +wave_1_per_point27=sas=sign(sa);cas=sign(ca); +wave_1_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point29=sa=sa*sas;ca=ca*cas; +wave_1_per_point30=xp=xq*sa + yq*ca; +wave_1_per_point31=yp=xq*ca - yq*sa; +wave_1_per_point32=zp=zq; +wave_1_per_point33= +wave_1_per_point34=//forearm movement; +wave_1_per_point35=zp=zp-0.3; +wave_1_per_point36=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point37=xq=xp; +wave_1_per_point38=sa=sin(ang);ca=cos(ang); +wave_1_per_point39=sas=sign(sa);cas=sign(ca); +wave_1_per_point40=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point41=sa=sa*sas;ca=ca*cas; +wave_1_per_point42=yq=yp*sa + zp*ca; +wave_1_per_point43=zq=yp*ca - zp*sa; +wave_1_per_point44= +wave_1_per_point45=//upper arm twist +wave_1_per_point46=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point47=sa=sin(ang);ca=cos(ang); +wave_1_per_point48=sas=sign(sa);cas=sign(ca); +wave_1_per_point49=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point50=sa=sa*sas;ca=ca*cas; +wave_1_per_point51=xp=xq*sa + yq*ca; +wave_1_per_point52=yp=xq*ca - yq*sa; +wave_1_per_point53=zp=zq; +wave_1_per_point54= +wave_1_per_point55=//upper arm outward; +wave_1_per_point56=zp=zp-0.35; +wave_1_per_point57=ang=cos(tm*2.1)*0.75 - 1.05; +wave_1_per_point58=sa=sin(ang);ca=cos(ang); +wave_1_per_point59=sas=sign(sa);cas=sign(ca); +wave_1_per_point60=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point61=sa=sa*sas;ca=ca*cas; +wave_1_per_point62=xq=xp*sa + zp*ca; +wave_1_per_point63=yq=yp; +wave_1_per_point64=zq=xp*ca - zp*sa; +wave_1_per_point65= +wave_1_per_point66=//upper arm up down; +wave_1_per_point67=ang=cos(tm*1.1)*0.5 - 0.5; +wave_1_per_point68=xp=xq; +wave_1_per_point69=sa=sin(ang);ca=cos(ang); +wave_1_per_point70=sas=sign(sa);cas=sign(ca); +wave_1_per_point71=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_1_per_point72=sa=sa*sas;ca=ca*cas; +wave_1_per_point73=yp=yq*ca - zq*sa; +wave_1_per_point74=zp=yq*sa + zq*ca; +wave_1_per_point75= +wave_1_per_point76=//xp=xq;yp=yq;zp=zq; +wave_1_per_point77= +wave_1_per_point78= +wave_1_per_point79=//project into screenspace and draw on screen +wave_1_per_point80=zp=zp+2; +wave_1_per_point81=xs=xp/zp; +wave_1_per_point82=ys=yp/zp; +wave_1_per_point83= +wave_1_per_point84=x=xs+0.5; +wave_1_per_point85=y=ys*1.3+0.5; +wave_1_per_point86= +wave_1_per_point87= +wave_1_per_point88=a=(1-sample); +wave_1_per_point89= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//wrist movement; +wave_2_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_2_per_point14= +wave_2_per_point15=xq=xp; +wave_2_per_point16=sa=sin(ang);ca=cos(ang); +wave_2_per_point17=sas=sign(sa);cas=sign(ca); +wave_2_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point19=sa=sa*sas;ca=ca*cas; +wave_2_per_point20=yq=yp*sa + zp*ca; +wave_2_per_point21=zq=yp*ca - zp*sa; +wave_2_per_point22=yq=yp; +wave_2_per_point23=zq=zp; +wave_2_per_point24= +wave_2_per_point25=ang=tm*8; +wave_2_per_point26=sa=sin(ang);ca=cos(ang); +wave_2_per_point27=sas=sign(sa);cas=sign(ca); +wave_2_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point29=sa=sa*sas;ca=ca*cas; +wave_2_per_point30=xp=xq*sa + yq*ca; +wave_2_per_point31=yp=xq*ca - yq*sa; +wave_2_per_point32=zp=zq; +wave_2_per_point33= +wave_2_per_point34=//forearm movement; +wave_2_per_point35=zp=zp-0.3; +wave_2_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_2_per_point37=xq=xp; +wave_2_per_point38=sa=sin(ang);ca=cos(ang); +wave_2_per_point39=yq=yp*sa + zp*ca; +wave_2_per_point40=zq=yp*ca - zp*sa; +wave_2_per_point41= +wave_2_per_point42=//upper arm twist +wave_2_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point44=sa=sin(ang);ca=cos(ang); +wave_2_per_point45=sas=sign(sa);cas=sign(ca); +wave_2_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point47=sa=sa*sas;ca=ca*cas; +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=sas=sign(sa);cas=sign(ca); +wave_2_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point58=sa=sa*sas;ca=ca*cas; +wave_2_per_point59=xq=xp*sa + zp*ca; +wave_2_per_point60=yq=yp; +wave_2_per_point61=zq=xp*ca - zp*sa; +wave_2_per_point62= +wave_2_per_point63=//upper arm up down; +wave_2_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_2_per_point65=xp=xq; +wave_2_per_point66=sa=sin(ang);ca=cos(ang); +wave_2_per_point67=sas=sign(sa);cas=sign(ca); +wave_2_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_2_per_point69=sa=sa*sas;ca=ca*cas; +wave_2_per_point70=yp=yq*ca - zq*sa; +wave_2_per_point71=zp=yq*sa + zq*ca; +wave_2_per_point72= +wave_2_per_point73=//xp=xq;yp=yq;zp=zq; +wave_2_per_point74= +wave_2_per_point75= +wave_2_per_point76=//project into screenspace and draw on screen +wave_2_per_point77=zp=zp+2; +wave_2_per_point78=xs=-xp/zp; +wave_2_per_point79=ys=yp/zp; +wave_2_per_point80= +wave_2_per_point81=x=xs+0.5; +wave_2_per_point82=y=ys*1.3+0.5; +wave_2_per_point83= +wave_2_per_point84= +wave_2_per_point85=a=(1-sample); +wave_2_per_point86= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_point1=n=sample*6.283; +wave_3_per_point2=phs=-sample * 0.2; +wave_3_per_point3=tm=q1 + phs; +wave_3_per_point4= +wave_3_per_point5=flip=flip+1; +wave_3_per_point6=flip=flip*below(flip,2); +wave_3_per_point7= +wave_3_per_point8=xp=0; +wave_3_per_point9=yp=flip*0.1*sample + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_3_per_point10=zp=0; +wave_3_per_point11= +wave_3_per_point12=//wrist movement; +wave_3_per_point13=ang=sin(tm*1.9)*0.5 +0.5; +wave_3_per_point14= +wave_3_per_point15=xq=xp; +wave_3_per_point16=sa=sin(ang);ca=cos(ang); +wave_3_per_point17=sas=sign(sa);cas=sign(ca); +wave_3_per_point18=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point19=sa=sa*sas;ca=ca*cas; +wave_3_per_point20=yq=yp*sa + zp*ca; +wave_3_per_point21=zq=yp*ca - zp*sa; +wave_3_per_point22=yq=-yp; +wave_3_per_point23=zq=zp; +wave_3_per_point24= +wave_3_per_point25=ang=tm*8; +wave_3_per_point26=sa=sin(ang);ca=cos(ang); +wave_3_per_point27=sas=sign(sa);cas=sign(ca); +wave_3_per_point28=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point29=sa=sa*sas;ca=ca*cas; +wave_3_per_point30=xp=xq*sa + yq*ca; +wave_3_per_point31=yp=xq*ca - yq*sa; +wave_3_per_point32=zp=zq; +wave_3_per_point33= +wave_3_per_point34=//forearm movement; +wave_3_per_point35=zp=zp-0.3; +wave_3_per_point36=ang=3.14 + sin(tm*2.3 - 0.5)*1.5; +wave_3_per_point37=xq=xp; +wave_3_per_point38=sa=sin(ang);ca=cos(ang); +wave_3_per_point39=yq=yp*sa + zp*ca; +wave_3_per_point40=zq=yp*ca - zp*sa; +wave_3_per_point41= +wave_3_per_point42=//upper arm twist +wave_3_per_point43=ang=-1.0 + cos(tm*3 + 0.5); +wave_3_per_point44=sa=sin(ang);ca=cos(ang); +wave_3_per_point45=sas=sign(sa);cas=sign(ca); +wave_3_per_point46=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point47=sa=sa*sas;ca=ca*cas; +wave_3_per_point48=xp=xq*sa + yq*ca; +wave_3_per_point49=yp=xq*ca - yq*sa; +wave_3_per_point50=zp=zq; +wave_3_per_point51= +wave_3_per_point52=//upper arm outward; +wave_3_per_point53=zp=zp-0.35; +wave_3_per_point54=ang=cos(tm*2)*0.75 - 1.05; +wave_3_per_point55=sa=sin(ang);ca=cos(ang); +wave_3_per_point56=sas=sign(sa);cas=sign(ca); +wave_3_per_point57=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point58=sa=sa*sas;ca=ca*cas; +wave_3_per_point59=xq=xp*sa + zp*ca; +wave_3_per_point60=yq=yp; +wave_3_per_point61=zq=xp*ca - zp*sa; +wave_3_per_point62= +wave_3_per_point63=//upper arm up down; +wave_3_per_point64=ang=cos(tm*0.9)*0.5 - 0.5; +wave_3_per_point65=xp=xq; +wave_3_per_point66=sa=sin(ang);ca=cos(ang); +wave_3_per_point67=sas=sign(sa);cas=sign(ca); +wave_3_per_point68=sa=pow(abs(sa),2);ca=pow(abs(ca),2); +wave_3_per_point69=sa=sa*sas;ca=ca*cas; +wave_3_per_point70=yp=yq*ca - zq*sa; +wave_3_per_point71=zp=yq*sa + zq*ca; +wave_3_per_point72= +wave_3_per_point73=//xp=xq;yp=yq;zp=zq; +wave_3_per_point74= +wave_3_per_point75= +wave_3_per_point76=//project into screenspace and draw on screen +wave_3_per_point77=zp=zp+2; +wave_3_per_point78=xs=-xp/zp; +wave_3_per_point79=ys=yp/zp; +wave_3_per_point80= +wave_3_per_point81=x=xs+0.5; +wave_3_per_point82=y=ys*1.3+0.5; +wave_3_per_point83= +wave_3_per_point84= +wave_3_per_point85=a=(1-sample); +wave_3_per_point86= +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.800 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=pw=2; +shape_0_per_frame2=xp=sin(time*3); +shape_0_per_frame3=xsign=sign(xp); +shape_0_per_frame4=xp=abs(xp); +shape_0_per_frame5=xp=pow(xp,pw); +shape_0_per_frame6= +shape_0_per_frame7=yp=cos(time*3); +shape_0_per_frame8=ysign=sign(yp); +shape_0_per_frame9=yp=abs(yp); +shape_0_per_frame10=yp=pow(yp,pw); +shape_0_per_frame11= +shape_0_per_frame12=x=0.5 + xp*xsign*0.3; +shape_0_per_frame13=y=0.5 + yp*ysign*0.3*1.3 +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=1.800 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=1.800 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=1 +shapecode_3_sides=12 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=92 +shapecode_3_x=0.800 +shapecode_3_y=0.500 +shapecode_3_rad=0.02705 +shapecode_3_ang=1.57080 +shapecode_3_tex_ang=1.25664 +shapecode_3_tex_zoom=3.07268 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=t1 = time - int (time); +shape_3_per_frame2=sample = instance/num_inst; +shape_3_per_frame3=t_abs = sample*3; +shape_3_per_frame4=t_rel = sample-time/5; +shape_3_per_frame5= +shape_3_per_frame6=ampl = 2*t_abs/2 ; +shape_3_per_frame7= +shape_3_per_frame8=k1=sin(time/13); +shape_3_per_frame9=k2=sin(time/12); +shape_3_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_3_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_3_per_frame12=oz = -1 ; +shape_3_per_frame13= +shape_3_per_frame14= +shape_3_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_3_per_frame16=g = sqr(sin(t_rel)); +shape_3_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_3_per_frame18= +shape_3_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_3_per_frame20= +shape_3_per_frame21=xang = time/9.5; +shape_3_per_frame22=yang = 0*time/7; +shape_3_per_frame23=zang = -time/22; +shape_3_per_frame24=fov = 0.5; +shape_3_per_frame25= +shape_3_per_frame26= +shape_3_per_frame27=// Rotation um x,y,z +shape_3_per_frame28= +shape_3_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_3_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_3_per_frame31= +shape_3_per_frame32=ox = mx; +shape_3_per_frame33=oy = my; +shape_3_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_3_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_3_per_frame36=ox = mx; +shape_3_per_frame37=oz = mz; +shape_3_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_3_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_3_per_frame40=oy = my; +shape_3_per_frame41=oz = mz; +shape_3_per_frame42= +shape_3_per_frame43=oz = oz - 6; +shape_3_per_frame44=x = ox*fov/oz +0.5; +shape_3_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_3_per_frame46=y = oy*fov/oz + 0.5; +shape_3_per_frame47= +shape_3_per_frame48=a=1/mz*.5; +shape_3_per_frame49=//a2=1/mz*.5; +shape_3_per_frame50=//border_a=1/mz*.5; +shape_3_per_frame51=rad=1/mz*.005; +per_frame_init_1=index = int(rand(32)); +per_frame_init_2=index2 = int(rand(32)); +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=dec_med = pow (0.7, 30/fps); +per_frame_29=dec_slow = pow (0.9, 30/fps); +per_frame_30=beat = max (max (bass, mid), treb); +per_frame_31=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_32=is_beat = above(beat, -.5+avg+peak) * above (time, t0+.1); +per_frame_33=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_34=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_35=index = (index + is_beat) %64; +per_frame_36=index2 = (index2 + is_beat*bnot(index))%4; +per_frame_37= +per_frame_38=q20 = avg; +per_frame_39=q21 = beat; +per_frame_40=q22 = peak; +per_frame_41=q24 = is_beat; +per_frame_42=q29 = 2 * (index2%2-.5); +per_frame_43=q25 = min(1,q22/2); +per_frame_44= +per_frame_45=k1 = is_beat*equal(index%4,0); +per_frame_46=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_47=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_48=rott = p2 * 3.1416/4; +per_frame_49=q1 = cos(rott); +per_frame_50=q2 = sin(rott); +per_frame_51=q3 = -q2; +per_frame_52=q4 = q1; +per_frame_53= +per_frame_54=q26 = (8+index2*8); +per_frame_55=q27 = index; +per_frame_56=q28 = index2; +per_frame_57= +per_frame_58= +per_frame_59=trot = index*6.28/4; +per_frame_60=q5 = cos(trot); +per_frame_61=q6 = sin(trot); +per_frame_62=q7 = -q6; +per_frame_63=q8 = q5; +per_frame_64= +per_frame_65=q29= sin(time/4); +per_frame_66=wave_mystery = q29/2; +per_frame_67= +per_frame_68=q30 = .03*(index%32)/32; +per_frame_69= +per_frame_70=monitor = q30; +per_pixel_1=zoom = 1. +.02*rad; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_31=` ((my_uv.xyy*q27 +warp_32=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_33=` ).xyz* +warp_34=` float3(1,1,0)*0.05 + +warp_35=` time*float3(0,0,1)*q29 +warp_36=` ); +warp_37=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y -= (noise9).x*.5; +warp_38=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z -= (noise9).y*.5; +warp_39=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x -= (noise9).z*.5; +warp_40=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_41=` ret.z *= 0.8; +warp_42=` ret.z += 0.004; +warp_43=` +warp_44=` +warp_45=` +warp_46=`//-------------------------------- +warp_47=` +warp_48=` d = 0.01; +warp_49=` my_uv = float2(-dy,dx)*0.045; +warp_50=` +warp_51=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_52=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_53=` my_uv += uv - float2(dx,dy)*0.03; +warp_54=` +warp_55=` +warp_56=` +warp_57=` v = 0.01; +warp_58=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_59=` +warp_60=` +warp_61=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_62=`//ret = 0; +warp_63=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`ret = tex2D(sampler_main, (uv-0.5)*1.3+0.5).xyz; +comp_4=`ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.275+0.5).xyz); +comp_5=` ret = max(ret, tex2D(sampler_main, (uv-.5)*1.25+.5).xyz); +comp_6=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.225+0.5).xyz); +comp_7=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.2+0.5).xyz); +comp_8=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.175+0.5).xyz); +comp_9=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.15+0.5).xyz); +comp_10=`ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.125+0.5).xyz); +comp_11=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.1+0.5).xyz); +comp_12=`ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.+1.075).xyz); +comp_13=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_14=` ((uv.xyy*q28 +comp_15=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_16=` ).xyz* +comp_17=` float3(1,1,0)*0.05 + +comp_18=` time*float3(0,0,1)*q31 +comp_19=` ); +comp_20=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_21=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_22=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_23=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.05+0.5).xyz); +comp_24=`ret = max(ret, tex2D(sampler_main, (uv-0.5)*1.025+0.5).xyz); +comp_25=` ret = max(ret, tex2D(sampler_main, uv).xyz); +comp_26=`ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.975+0.5).xyz); +comp_27=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.95+0.5).xyz); +comp_28=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.925+0.5).xyz); +comp_29=` ret = max(ret, tex2D(sampler_main, (uv-0.5)*0.9+0.5).xyz); +comp_30=` ret *= 1.3; +comp_31=` ret *= ret; +comp_32=` ret = sqrt(ret); +comp_33=` +comp_34=`} diff --git a/presets/presets_tryptonaut/ruin.jpg b/presets/presets_tryptonaut/ruin.jpg new file mode 100755 index 0000000000..bd1f6a6985 Binary files /dev/null and b/presets/presets_tryptonaut/ruin.jpg differ diff --git a/presets/presets_tryptonaut/sawtooth grin roam.milk b/presets/presets_tryptonaut/sawtooth grin roam.milk new file mode 100755 index 0000000000..1b2815ca46 --- /dev/null +++ b/presets/presets_tryptonaut/sawtooth grin roam.milk @@ -0,0 +1,486 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.490 +fDecay=0.500 +fVideoEchoZoom=1.002 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=16.016 +fZoomExponent=11.56276 +fShader=1.000 +zoom=1.05971 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.13126 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10260 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14=rad=(bass+treb)/30; +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shape_0_per_frame16=r=int(rand(100))/100; +shape_0_per_frame17=g=int(rand(100))/100; +shape_0_per_frame18=b=int(rand(100))/100; +shape_0_per_frame19=r2=int(rand(100))/100; +shape_0_per_frame20=g2=int(rand(100))/100; +shape_0_per_frame21=b2=int(rand(100))/100; +shape_0_per_frame22=r_border=int(rand(100))/100; +shape_0_per_frame23=g_border=int(rand(100))/100; +shape_0_per_frame24=b_border=int(rand(100))/100; +shapecode_1_enabled=1 +shapecode_1_sides=23 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1024 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10262 +shapecode_1_ang=0.43982 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14=rad=(bass+treb)/25; +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shape_1_per_frame16=r=int(rand(100))/100; +shape_1_per_frame17=g=int(rand(100))/100; +shape_1_per_frame18=b=int(rand(100))/100; +shape_1_per_frame19=r2=int(rand(100))/100; +shape_1_per_frame20=g2=int(rand(100))/100; +shape_1_per_frame21=b2=int(rand(100))/100; +shape_1_per_frame22=r_border=int(rand(100))/100; +shape_1_per_frame23=g_border=int(rand(100))/100; +shape_1_per_frame24=b_border=int(rand(100))/100; +shapecode_2_enabled=0 +shapecode_2_sides=14 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=256 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20269 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=256 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22389 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_1=xx1 = xx1*0.9 + (bass)*0.01; +per_frame_2=xx2 = xx2*0.9 + (treb)*0.01; +per_frame_3=yy1 = yy1*0.94 + (treb+bass)*0.0075; +per_frame_4= +per_frame_5=x1 = 0.5 + (xx1-xx2)*2; +per_frame_6=y1 = 0.4 + yy1; +per_frame_7= +per_frame_8=x1 = max(0,min(1,x1)); y1 = max(0,min(1,y1)); +per_frame_9= +per_frame_10=spring = 10; +per_frame_11=grav = .5; +per_frame_12=resist = 1; +per_frame_13=bounce = 0.75; +per_frame_14=dt = 0.0005*(60/fps); +per_frame_15= +per_frame_16=vx2 = vx2*(1-resist*dt) + dt*((x1+x3-2*x2)*spring); +per_frame_17=vy2 = vy2*(1-resist*dt) + dt*((y1+y3-2*y2)*spring-grav); +per_frame_18=vx3 = vx3*(1-resist*dt) + dt*((x2+x4-2*x3)*spring); +per_frame_19=vy3 = vy3*(1-resist*dt) + dt*((y2+y4-2*y3)*spring-grav); +per_frame_20=vx4 = vx4*(1-resist*dt) + dt*((x3-x4)*spring); +per_frame_21=vy4 = vy4*(1-resist*dt) + dt*((y3-y4)*spring-grav); +per_frame_22= +per_frame_23=x2 = x2 + vx2; +per_frame_24=y2 = y2 + vy2; +per_frame_25=x3 = x3 + vx3; +per_frame_26=y3 = y3 + vy3; +per_frame_27=x4 = x4 + vx4; +per_frame_28=y4 = y4 + vy4; +per_frame_29= +per_frame_30=vx2 = if(above(x2,0),vx2,abs(vx2)*bounce); +per_frame_31=vx2 = if(below(x2,1),vx2,-abs(vx2)*bounce); +per_frame_32=vx3 = if(above(x3,0),vx3,abs(vx3)*bounce); +per_frame_33=vx3 = if(below(x3,1),vx3,-abs(vx3)*bounce); +per_frame_34=vx4 = if(above(x4,0),vx4,abs(vx4)*bounce); +per_frame_35=vx4 = if(below(x4,1),vx4,-abs(vx4)*bounce); +per_frame_36=vy2 = if(above(y2,0),vy2,abs(vy2)*bounce); +per_frame_37=vy2 = if(below(y2,1),vy2,-abs(vy2)*bounce); +per_frame_38=vy3 = if(above(y3,0),vy3,abs(vy3)*bounce); +per_frame_39=vy3 = if(below(y3,1),vy3,-abs(vy3)*bounce); +per_frame_40=vy4 = if(above(y4,0),vy4,abs(vy4)*bounce); +per_frame_41=vy4 = if(below(y4,1),vy4,-abs(vy4)*bounce); +per_frame_42= +per_frame_43= +per_frame_44=q1 = x1; q2 = x2; q3 = x3; q4 = x4; +per_frame_45=q5 = y1; q6 = y2; q7 = y3; q8 = y4; +per_frame_46=q9 =1/ aspectX; +per_frame_47=q10 = 1/aspectY; +per_frame_48= +per_frame_49=zoom = 1; +per_frame_50=r = r*0.96 +(x1-0.5); +per_frame_51=rot = (r*0.1); +per_frame_52= +per_frame_53=q12 = atan2(vx4,vy4); +per_frame_54=q11 = sqrt(vx4*vx4 + vy4*vy4); +per_frame_55= +per_frame_56=zoom = 1.001; +per_frame_57=rot = 0.00; +per_frame_58=warp = 0.2; +per_frame_59=wave_a = 0; +per_pixel_1=dir = -q12 + asin(1); +per_pixel_2= +per_pixel_3=b1 = 0.1; +per_pixel_4=m1 = q11*25; +per_pixel_5= +per_pixel_6=xx = q4; +per_pixel_7=yy = 1-q8; +per_pixel_8= +per_pixel_9= +per_pixel_10=x1 = xx -sin(dir)*b1; +per_pixel_11=y1 = yy -cos(dir)*b1; +per_pixel_12=x2 = xx +sin(dir)*b1; +per_pixel_13=y2 = yy +cos(dir)*b1; +per_pixel_14= +per_pixel_15=d1 = sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))-b1*2; +per_pixel_16=d2 = sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))-b1*2; +per_pixel_17= +per_pixel_18=si1 = sigmoid(-d1,1000); +per_pixel_19=si2 = sigmoid(-d2,1000); +per_pixel_20= +per_pixel_21=dx = (si1*sin(y1-y)*m1*d1 - si2*sin(y2-y)*m1*d2)*2; +per_pixel_22=dy = (-si1*sin(x1-x)*m1*d1 + si2*sin(x2-x)*m1*d2)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=`uv = lerp(uv_orig,uv,0.3); +warp_4=` +warp_5=`float2 d = texsize.zw * 3; +warp_6=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_7=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_8=` +warp_9=`uv += float2(lum(dx),lum(dy))*texsize.zw*9; +warp_10=`ret = tex2d(sampler_fc_main, uv) - 0.01; +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` +comp_5=` float2 uv_echo2 = (uv - 0.5)*1.000*float2(-1,1) + 0.5; +comp_6=` float3 ret3 = tex2D(sampler_main, uv).xyz*+saturate(GetBlur2(uv)*2.8 - 0.13); +comp_7=` float3 ret4 = tex2D(sampler_main, uv_echo2).xyz*+saturate(GetBlur2(uv_echo2)*2.8 - 0.13); +comp_8=` ret3 = abs(ret3-ret4); +comp_9=` ret3 *= sqrt(ret3); //darken +comp_10=` ret3 *= float3(.9,1.6,2.3); +comp_11=` ret3 *= 3; //gamma +comp_12=` ret3 = pow(ret3,1-ret3); +comp_13=` +comp_14=` +comp_15=`uv *=2 ; +comp_16=`float2 m = floor(frac(uv*0.5)*2); +comp_17=`uv = frac(uv)*(1-m) + (m)*frac(1-uv); +comp_18=` uv = float2(rad,uv.y); +comp_19=` +comp_20=` +comp_21=` float2 uv_echo = (uv.yx - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_22=` ret = tex2D(sampler_main, uv.yx).xyz*+saturate(GetBlur2(uv.yx)*2.8 - 0.13); +comp_23=` float3 ret2 = tex2D(sampler_main, uv_echo).xyz*+saturate(GetBlur2(uv_echo)*2.8 - 0.13); +comp_24=` ret = lerp(ret,ret2,.5); +comp_25=` ret *= ret; //darken +comp_26=` ret *= float3(.9,1.6,2.3); +comp_27=` ret *= 3; //gamma +comp_28=` //ret *= 2; +comp_29=` //ret = pow(ret,5); +comp_30=` ret = .5*lum(ret); +comp_31=` ret = max(ret3,.8*ret.zxy); +comp_32=`ret-=roam_sin*roam_cos.zxy; +comp_33=`} diff --git a/presets/presets_tryptonaut/schglasmia - danqueer.milk b/presets/presets_tryptonaut/schglasmia - danqueer.milk new file mode 100755 index 0000000000..6dfe2e114b --- /dev/null +++ b/presets/presets_tryptonaut/schglasmia - danqueer.milk @@ -0,0 +1,632 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=1.169 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000 +fWaveScale=0.000 +fWaveSmoothing=0.900 +fWaveParam=0.173 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.448 +wave_y=0.122 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=1.000 +nMotionVectorsX=1.000 +nMotionVectorsY=1.000 +mv_dx=0.087 +mv_dy=0.343 +mv_l=1.663 +mv_r=0.890 +mv_g=0.030 +mv_b=0.881 +mv_a=0.199 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.46374 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_init1=//pi +wave_0_init2=t8=3.14159265*1.56; +wave_0_init3=t5 = 1; +wave_0_per_frame1=rotx = rotx+bass; +wave_0_per_frame2=roty = roty+mid; +wave_0_per_frame3=rotz = rotz+treb; +wave_0_per_frame4=//rotx = 0; +wave_0_per_frame5=//roty =0; +wave_0_per_frame6=//rotz = 0; +wave_0_per_frame7= +wave_0_per_frame8=//convert rotation values from degrees to radians +wave_0_per_frame9=t1= t8*rotx/180; +wave_0_per_frame10=t2 = t8*roty/180; +wave_0_per_frame11=t3 = t8*rotz/180; +wave_0_per_frame12= +wave_0_per_frame13=t4 = 12+13*sin(time+2.46*t8); +wave_0_per_frame14=t5 = 2+8*cos(time+1.66*t8); +wave_0_per_frame15=r = 1; +wave_0_per_frame16=b = 0; +wave_0_per_frame17=g=0; +wave_0_per_point1=//Define 3D Shape +wave_0_per_point2= +wave_0_per_point3=//Sphere +wave_0_per_point4=fvar = sample*512; +wave_0_per_point5=svar = fvar*128; +wave_0_per_point6=tvar = 0&svar; +wave_0_per_point7=nsample = tvar*4.5; +wave_0_per_point8=x1 = -.5+(2.5)*sin(sample); +wave_0_per_point9=y1 = (1)*cos(t8*nsample); +wave_0_per_point10=z1 = (1)*sin(t8*nsample); +wave_0_per_point11= +wave_0_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_0_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_0_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_0_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_0_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_0_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_0_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_0_per_point19=//move resulting shape in 3d space +wave_0_per_point20=x4 = x3; +wave_0_per_point21=y4 = y3; +wave_0_per_point22=z4 = z3+5; +wave_0_per_point23=//draw 3d shape in 2d +wave_0_per_point24=x=0.5-1*(x4/(1+z4*0.5)); +wave_0_per_point25=y=0.5-1*(y4/(1+z4*0.5)); +wave_0_per_point26= +wave_0_per_point27=a = -.9+sin(nsample+time); +wave_0_per_point28=a = if(below(a,0),0,a); +wave_0_per_point29=a=1; +wave_0_per_point30=g=y2; +wave_0_per_point31=b=x2; +wave_0_per_point32=r= z2+z3; +wavecode_1_enabled=1 +wavecode_1_samples=262 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_init1=t3 = acos(-1)*128; +wave_1_init2=t4 = 4/3; +wave_1_per_frame1=spin = spin + .01; +wave_1_per_frame2=t2 = spin; +wave_1_per_frame3=red = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); +wave_1_per_frame4=green = abs(sin(time)) ; +wave_1_per_frame5=blue = cos(time) + abs(cos(time)); +wave_1_per_frame6=r = if(above(red,1),1,if(above(red,0), abs(red),0)); +wave_1_per_frame7=g = if(above(green,1),1,if(above(green,0), abs(green),0)); +wave_1_per_frame8=b = if(above(blue,1),1,if(above(blue,0), abs(blue),0)); +wave_1_per_frame9=t5 = r; +wave_1_per_frame10=t6 = g; +wave_1_per_frame11=t7 = b-sin(time); +wave_1_per_point1=dx = cos(sample*.1*t1 + t1*(t7-int(t5)))-.5; +wave_1_per_point2=dy = 0.3*cos(sample*t1 + 7 + t1*(t7-int(t6))); +wave_1_per_point3=ddy = -1*dy; +wave_1_per_point4=t = abs(sin(q7)); +wave_1_per_point5=rad = sample*t3+t2; +wave_1_per_point6=x = cos(rad/32)*0.10 + sin(rad)*0.05 +dx*t; +wave_1_per_point7=y = sin(rad/64)*t4*0.10 + cos(rad)*t4*0.05+dy*t + ddy * t * t; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.46374 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_init1=//pi +wave_2_init2=t8=3.14159265/2; +wave_2_init3=t5 = 1; +wave_2_per_frame1=rotx = rotx+bass; +wave_2_per_frame2=roty = roty+mid; +wave_2_per_frame3=rotz = rotz+treb; +wave_2_per_frame4=//rotx = 0; +wave_2_per_frame5=//roty =0; +wave_2_per_frame6=//rotz = 0; +wave_2_per_frame7= +wave_2_per_frame8=//convert rotation values from degrees to radians +wave_2_per_frame9=t1= t8*rotx/180; +wave_2_per_frame10=t2 = t8*roty/180; +wave_2_per_frame11=t3 = t8*rotz/180; +wave_2_per_frame12= +wave_2_per_frame13=t4 = sin(bass+0.86*t8); +wave_2_per_frame14=t5 = 10+8*cos(time+0.56*t8); +wave_2_per_point1=//Define 3D Shape +wave_2_per_point2= +wave_2_per_point3=//Sphere +wave_2_per_point4=fvar = sample*512; +wave_2_per_point5=svar = fvar*128; +wave_2_per_point6=tvar = 0&svar; +wave_2_per_point7=nsample = tvar*4.5; +wave_2_per_point8=x1 = -2.5+(1.5)*sin(sample); +wave_2_per_point9=y1 = (-1)*cos(t8*nsample); +wave_2_per_point10=z1 = (-1)*sin(t8*nsample); +wave_2_per_point11= +wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_2_per_point19=//move resulting shape in 3d space +wave_2_per_point20=x4 = x3; +wave_2_per_point21=y4 = y3; +wave_2_per_point22=z4 = z3+5; +wave_2_per_point23=//draw 3d shape in 2d +wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); +wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); +wave_2_per_point26= +wave_2_per_point27=a = -.9+sin(nsample+time); +wave_2_per_point28=a = if(below(a,0),0,a); +wave_2_per_point29=a=1; +wave_2_per_point30=r =sin(abs(x2*sin(time)))*0.5 + 0.5; +wave_2_per_point31=b = sin(abs(y3+sin(0.8765*time)))*0.5 + 0.5; +wave_2_per_point32=g = x2*z2; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.46374 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=//pi +wave_3_init2=t8=3.14159265; +wave_3_init3=t5 = 1; +wave_3_per_frame1=rotx = rotx+bass; +wave_3_per_frame2=roty = roty+mid; +wave_3_per_frame3=rotz = rotz+treb; +wave_3_per_frame4=//rotx = 0; +wave_3_per_frame5=//roty =0; +wave_3_per_frame6=//rotz = 0; +wave_3_per_frame7= +wave_3_per_frame8=//convert rotation values from degrees to radians +wave_3_per_frame9=t1= t8*rotx/180; +wave_3_per_frame10=t2 = t8*roty/180; +wave_3_per_frame11=t3 = t8*rotz/180; +wave_3_per_frame12= +wave_3_per_frame13=t4 = 3*sin(time+0.776*t8); +wave_3_per_frame14=t5 = 10+8*cos(time+0.56*t8); +wave_3_per_frame15= +wave_3_per_point1=//Define 3D Shape +wave_3_per_point2= +wave_3_per_point3=//Sphere +wave_3_per_point4=fvar = sample*512; +wave_3_per_point5=svar = fvar*128; +wave_3_per_point6=tvar = 0&svar; +wave_3_per_point7=nsample = tvar*4.5; +wave_3_per_point8=x1 = -.75+(1.5)*sin(sample); +wave_3_per_point9=y1 = (1)*cos(t8*nsample); +wave_3_per_point10=z1 = (1)*sin(t8*nsample); +wave_3_per_point11= +wave_3_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates +wave_3_per_point13=y2 = y1*cos(t1)-z1*sin(t1); +wave_3_per_point14=z2 = y1*sin(t1)+z1*cos(t1); +wave_3_per_point15=x2 = z2*sin(t2)+x1*cos(t2); +wave_3_per_point16=z3 = z2*cos(t2)-x1*sin(t2); +wave_3_per_point17=x3 = x2*cos(t3)-y2*sin(t3); +wave_3_per_point18=y3 = y2*cos(t3)+x2*sin(t3); +wave_3_per_point19=//move resulting shape in 3d space +wave_3_per_point20=x4 = x3; +wave_3_per_point21=y4 = y3; +wave_3_per_point22=z4 = z3+5; +wave_3_per_point23=//draw 3d shape in 2d +wave_3_per_point24=x=0.5+0.75*(x4/(1+z4*0.5)); +wave_3_per_point25=y=0.5+0.75*(y4/(1+z4*0.5)); +wave_3_per_point26= +wave_3_per_point27=a = -.9+sin(nsample+time); +wave_3_per_point28=a = if(below(a,0),0,a); +wave_3_per_point29=a=1; +wave_3_per_point30=r = y2*z2; +wave_3_per_point31=b = z3+y3; +wave_3_per_point32=g = z3/x2; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.880 +shapecode_0_y=0.800 +shapecode_0_rad=0.33004 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x = 0.5+ 0.4*sin(0.2765*time+0.341*q8); +shape_0_per_frame2=y = 0.5+ 0.4*sin(0.311*time+0.213*q8); +shape_0_per_frame3=ang = 3.1415-3.1415*cos(time*0.1389); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.880 +shapecode_1_y=0.200 +shapecode_1_rad=0.33004 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5+ 0.4*sin(0.212*time+0.1*q8); +shape_1_per_frame2=y = 0.5+ 0.4*sin(0.2891*time+0.121*q8); +shape_1_per_frame3=ang = 3.1415+3.1415*sin(time*0.181); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.120 +shapecode_2_y=0.800 +shapecode_2_rad=0.33004 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5+ 0.4*sin(0.0932*time+0.421*q6); +shape_2_per_frame2=y = 0.5+ 0.4*sin(0.1178*time+0.2135*q6); +shape_2_per_frame3=ang = 3.1415-3.1415*cos(time*0.1154); +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.120 +shapecode_3_y=0.200 +shapecode_3_rad=0.33004 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5+ 0.4*sin(0.105*time+0.3*q4); +shape_3_per_frame2=y = 0.5+ 0.4*sin(0.1267*time+0.323*q4); +shape_3_per_frame3=ang = 3.1415+3.1415*sin(time*0.2654); +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3= +per_frame_4= +per_frame_5=//Thanks to Zylot for rainbow generator +per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); +per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); +per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); +per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); +per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); +per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); +per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); +per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); +per_frame_14= +per_frame_15= +per_frame_16= +per_frame_17=ob_r=ib_r-0.5; +per_frame_18=ob_g=ib_g-0.5; +per_frame_19=ob_b=ib_b-0.5; +per_frame_20=q1=ib_r; +per_frame_21=q2=ib_g; +per_frame_22=q3=ib_b; +per_frame_23= +per_frame_24= +per_frame_25= +per_frame_26=decay = 0.9999; +per_frame_27= +per_frame_28= +per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; +per_frame_30=//solarize=above(0.5,bass); +per_frame_31=//darken=above(0.4,treb); +per_frame_32= +per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; +per_frame_34= +per_frame_35=xpos=sin(musictime*0.6)*0.3; +per_frame_36=ypos=sin(musictime*0.4)*0.3; +per_frame_37=q4=xpos; +per_frame_38=q5=ypos +per_frame_39= +per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_2=//var=(bass+mid+treb)/3; +per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; +per_pixel_4=//sx=.99-(var*0.01); +per_pixel_5=//cx=var*0.1*(ang/12); +per_pixel_6=//sy=sx; +per_pixel_7= +per_pixel_8=zoom=1; +per_pixel_9= +per_pixel_10=cx=0.5+q4; +per_pixel_11=cy=0.5-q5; +per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); +per_pixel_13=//zm=(1.1-(rd/4)); +per_pixel_14=zm=1; +per_pixel_15= +per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); +per_pixel_17=star=sin(ag*6+time)*(2-rd); +per_pixel_18=zm=zm+star/20; +per_pixel_19=sx=zm; +per_pixel_20=sy=zm; +per_pixel_21=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) +per_pixel_22=num = 8; +per_pixel_23=pi = 3.141592654; +per_pixel_24=radi = (y-.5)*.75; +per_pixel_25=radi = (y-.5); +per_pixel_26=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_27= +per_pixel_28=an = ang + pi + time; +per_pixel_29=an = an - pi*2*int(an/(pi*2)); +per_pixel_30= +per_pixel_31=mod = .1; +per_pixel_32= +per_pixel_33=seg = ang + pi; +per_pixel_34=seg = seg/(pi*2)*num; +per_pixel_35=seg = int(seg); +per_pixel_36=seg = seg - equal(seg,num); +per_pixel_37= +per_pixel_38=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_39=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_40=//anga = anga + pi/6; // num = 6 +per_pixel_41=anga = anga + pi/4; // num = 8 +per_pixel_42=//anga = anga + .85; // num = 10 +per_pixel_43= +per_pixel_44= +per_pixel_45=ox = .5 - radi*sin(anga); +per_pixel_46=oy = .5 + radi*cos(anga); +per_pixel_47= +per_pixel_48=//rot = if(equal(seg,0),rot,0); +per_pixel_49= +per_pixel_50=dx = equal(seg,3)*(x-ox); +per_pixel_51=dy = equal(seg,3)*(y-oy); +per_pixel_52= +per_pixel_53=dx = above(seg,0)*(x-ox); +per_pixel_54=dy = above(seg,0)*(y-oy); +per_pixel_55= +per_pixel_56=//dx = equal(seg,1)*(x - .5)*2; +per_pixel_57=tm=time/rad; +per_pixel_58=a = q1; +per_pixel_59=b = q2; +per_pixel_60= +per_pixel_61=//testcode +per_pixel_62=//a=0.5;b=0.5; +per_pixel_63= +per_pixel_64=mx = x-a; +per_pixel_65=my = y-b; +per_pixel_66=zm = -.45; +per_pixel_67=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_68= +per_pixel_69=//test code +per_pixel_70=//zm= -0.5; +per_pixel_71= +per_pixel_72=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_73= +per_pixel_74=rot = rot*(1-dis); +per_pixel_75=rot=rot*20*q8 ; +per_pixel_76= +per_pixel_77=//testcode +per_pixel_78=//q3=3.1; +per_pixel_79= +per_pixel_80=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_81=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_82= +per_pixel_83=disk_shift = if(equal(abs(sin(ang)), if(above(q1,0),0,1)), -rot, 0.05); +per_pixel_84=timer=sin(time*1.3); +per_pixel_85=x_or_y=if(above(q1,0),y,x); +per_pixel_86=rot = rot + if(equal(x_or_y*10%2,0),if(below(timer,0),disk_shift,-rot),if(above(timer,0),disk_shift,-rot)); +per_pixel_87=//cen_x = cos(time)*.2+.3; +per_pixel_88=//cen_y = sin(time)*.5+.5; +per_pixel_89=cen_x = q1; +per_pixel_90=cen_y = q2; +per_pixel_91=radxy = sin(time*.1)*.2+.3; +per_pixel_92= +per_pixel_93=dist_x = (x-cen_x)/(radxy*(sin(time*.2*0)*.3+cos((cen_x-x+ (cen_y-y))*10+time*2)*.3+1)); +per_pixel_94=dist_y = (y-cen_y)/(radxy*(sin(time*.2*0)*.3+sin((cen_x-x+ (cen_y-y))*10+time*2)*.3+1)); +per_pixel_95=in = below(abs(dist_x),1)*below(abs(dist_y),1); +per_pixel_96=//in = bnot(in); +per_pixel_97=out = bnot(in); +per_pixel_98=inx =(cen_x-q1)+.1*sign(dist_x)*(1-abs(dist_x)); +per_pixel_99=iny =(cen_y-q2) +.1*sign(dist_y)*(1-abs(dist_y)); // .05*pow(dist_y,1); +per_pixel_100= +per_pixel_101=//**********outside +per_pixel_102=vang=time*.1; +per_pixel_103=vx = (x-.5)*cos(vang) - (y-.5)*sin(vang)+.5; +per_pixel_104=vy = (x-.5)*sin(vang) +(y-.5)*cos(vang)+.5; +per_pixel_105= +per_pixel_106=dvx=.01*sin(time+vy*80*radxy); +per_pixel_107=dvy=.01*cos(time+vx*80*radxy); +per_pixel_108= +per_pixel_109=outx = dvx*cos(vang) - dvy*sin(vang); +per_pixel_110=outy = -dvx*sin(vang) - dvy*cos(vang); +per_pixel_111= +per_pixel_112=dx=in*inx+out*outx; +per_pixel_113=dy=in*iny+out*outy; +per_pixel_114=num = 8; +per_pixel_115=pi = 3.141592654; +per_pixel_116=radi = (y-.5)*.75; +per_pixel_117=radi = (y-.5); +per_pixel_118=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_119= +per_pixel_120=an = ang + pi + time; +per_pixel_121=an = an - pi*2*int(an/(pi*2)); +per_pixel_122= +per_pixel_123=mod = .1; +per_pixel_124= +per_pixel_125=seg = ang + pi; +per_pixel_126=seg = seg/(pi*2)*num; +per_pixel_127=seg = int(seg); +per_pixel_128=seg = seg - equal(seg,num); +per_pixel_129= +per_pixel_130=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_131=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_132=//anga = anga + pi/6; // num = 6 +per_pixel_133=anga = anga + pi/4; // num = 8 +per_pixel_134=//anga = anga + .85; // num = 10 +per_pixel_135= +per_pixel_136= +per_pixel_137=ox = .5 - radi*sin(anga); +per_pixel_138=oy = .5 + radi*cos(anga); +per_pixel_139= +per_pixel_140=//rot = if(equal(seg,0),rot,0); +per_pixel_141= +per_pixel_142=dx = equal(seg,3)*(x-ox); +per_pixel_143=dy = equal(seg,3)*(y-oy); +per_pixel_144= +per_pixel_145=dx = above(seg,0)*(x-ox); +per_pixel_146=dy = above(seg,0)*(y-oy); +per_pixel_147= +per_pixel_148=//dx = equal(seg,1)*(x - .5)*2; +warp_1=`shader_body +warp_2=`{ +warp_3=`//ret=GetPixel(uv_orig+texsize.zw*float2(q6,q7)); +warp_4=`float2 newuv=uv; +warp_5=`ret=GetPixel(newuv); +warp_6=`float3 lum1=0,lum2=0,lum3=0,lum4=0,lum5=0,lum6=0,lum7=0,lum8=0; +warp_7=`float3 mxv=0; +warp_8=`float r=8; +warp_9=`//Blur1: r=4 (pixels); +warp_10=`//Blur2: r=8 (pixels); +warp_11=`//Blur3: r=9 (pixels); +warp_12=`float ro=0.707106*r; +warp_13=`texsize.zw*r; +warp_14=`lum1=GetBlur2(newuv+texsize.zw*float2(1,0)); +warp_15=`lum2=GetBlur2(newuv+texsize.zw*float2(0,1)); +warp_16=`lum3=GetBlur2(newuv+texsize.zw*float2(-1,0)); +warp_17=`lum4=GetBlur2(newuv+texsize.zw*float2(0,-1)); +warp_18=`lum5=GetBlur2(newuv+texsize.zw*float2(ro,-ro)); +warp_19=`lum6=GetBlur2(newuv+texsize.zw*float2(-ro,ro)); +warp_20=`lum7=GetBlur2(newuv+texsize.zw*float2(ro,ro)); +warp_21=`lum8=GetBlur2(newuv+texsize.zw*float2(-ro,-ro)); +warp_22=`mxv=abs(lum1-lum2+lum3-lum4+lum5-lum6+lum7-lum8)*0.5; +warp_23=`ret*=mxv+0.99; +warp_24=`ret=ret-mxv*2+0.1+0.1*(0.15-tex2D(sampler_noise_lq,uv*rand_frame.xy*9))-0.1*GetBlur1(uv); +warp_25=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*1.000*float2(1,-1) + 0.5; +comp_4=` float3 value = lerp( tex2D(sampler_main, (uv)).xyz, +comp_5=` tex2D(sampler_main, (uv_echo)).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` float3 value2 = lerp( tex2D(sampler_main, GetBlur1(uv)).xyz, +comp_9=` tex2D(sampler_main, GetBlur1(uv_echo)).xyz, +comp_10=` 0.50 +comp_11=` )*0.5; //video echo +comp_12=` ret = (value + value2); +comp_13=` +comp_14=` ret = ret*2.00*ret; //gamma +comp_15=`} diff --git a/presets/presets_tryptonaut/sckephthaeck nz.milk b/presets/presets_tryptonaut/sckephthaeck nz.milk new file mode 100755 index 0000000000..5bc96b6bf4 --- /dev/null +++ b/presets/presets_tryptonaut/sckephthaeck nz.milk @@ -0,0 +1,412 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.000 +fWaveParam=-0.200 +fModWaveAlphaStart=0.390 +fModWaveAlphaEnd=1.180 +fWarpAnimSpeed=1.000 +fWarpScale=1.772 +fZoomExponent=4.40100 +fShader=0.000 +zoom=1.03100 +rot=0.00300 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00000 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=1.000 +wave_y=1.000 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=0.200 +mv_b=0.200 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = .5 + (bass*.2)*sin(sample*2*(time*10*treb)); +wave_0_per_point2=y = .5 + (bass*.2)*cos(sample*2*(time*10*treb)); +wave_0_per_point3=r = 1 + .5*sin(sample*.10+(time*10*bass)); +wave_0_per_point4=g = 1 + .5*sin(sample*2+(time*50*treb)); +wave_0_per_point5=b = 1 + .5*sin(sample*5+(time*20*mid)); +wave_0_per_point6=a = r; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_per_point1=r=bass*.05; +wave_1_per_point2=cd=cd+.001; +wave_1_per_point3= +wave_1_per_point4=c=int(rand((cos(q8)+1)*20))*3.1415927*((cos(q9)+1)*7); +wave_1_per_point5=//c=rand +wave_1_per_point6=c=c+cd; +wave_1_per_point7= +wave_1_per_point8=x=.5+(cos(c)*q20*.04); +wave_1_per_point9=y=.5+(sin(c)*q20*.04); +wave_1_per_point10= +wave_1_per_point11=r=abs(sin(q10*.77)); +wave_1_per_point12=g=treb*.5 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=9 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=15 +shapecode_0_x=0.150 +shapecode_0_y=0.820 +shapecode_0_rad=1.49760 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.48885 +shapecode_0_r=1.000 +shapecode_0_g=0.400 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ra=ra-(bass_att*.01); +shape_0_per_frame2=rad=.55; +shape_0_per_frame3=ang=ra; +shape_0_per_frame4=negswitchx=if(int(rand(2))%2,-1,1)+instance-instance; +shape_0_per_frame5=negswitchy=if(int(rand(2))%2,-1,1)+instance-instance; +shape_0_per_frame6=coff1=2.4; +shape_0_per_frame7=r= ((cos(q8 *.1+instance*.1 )+1)*.5)*coff1; +shape_0_per_frame8=g= ((cos(q9 *.1+instance*.1+ .8)+1)*.5)*coff1; +shape_0_per_frame9=b= ((cos(q10 *.1+instance*.1+1.4)+1)*.5)*coff1; +shape_0_per_frame10=r2= ((cos(q8 *.1+instance*.1 )+1)*.5)*coff1; +shape_0_per_frame11=g2= ((cos(q9 *.1+instance*.1+ .8)+1)*.5)*coff1; +shape_0_per_frame12=b2= ((cos(q10 *.1+instance*.1+1.4)+1)*.5)*coff1; +shape_0_per_frame13=border_r=((cos(q8 *.1+instance*.1) +1)*.5)*coff1; +shape_0_per_frame14=border_g=((cos(q9 *.1+instance*.1+.8) +1)*.5)*coff1; +shape_0_per_frame15=border_b=((cos(q10 *.1+instance*.1+1.4)+1)*.5)*coff1; +shape_0_per_frame16=x=abs(sin( instance+q8*coff1+negswitchx*int(rand(int(bass*treb*mid)))/50))+instance-instance; +shape_0_per_frame17=y=abs(cos((instance+q9*coff1)*.3+negswitchy*int(rand(int(bass*treb*mid)))/50))+instance-instance; +shapecode_1_enabled=1 +shapecode_1_sides=20 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1024 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=pigtemp=int(pow(4,bass+treb+mid)); +shape_1_per_frame2=num_inst=if(above(pigtemp,1024),1024,pigtemp); +shape_1_per_frame3= +shape_1_per_frame4=t1 = time/5; +shape_1_per_frame5=t2 = time/6; +shape_1_per_frame6=rad = 0.005+bass/100; +shape_1_per_frame7=t3 = bass_att/70; +shape_1_per_frame8=b2 = treb*0.7-bass/2; +shape_1_per_frame9=r = instance/num_inst; +shape_1_per_frame10=g = abs(treb_att/5-bass); +shape_1_per_frame11=//b = abs(treb_att/5-bass); +shape_1_per_frame12=size = 0.3+bass_att/300; +shape_1_per_frame13= +shape_1_per_frame14=nc = sqrt(num_inst); +shape_1_per_frame15=xs=sin(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_1_per_frame16=ys=cos(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_1_per_frame17=zs=cos(3.14*int(instance/nc)/nc); +shape_1_per_frame18= +shape_1_per_frame19=//modulate to allow rotation +shape_1_per_frame20=y1 = ys*cos(t1)-zs*sin(t1); +shape_1_per_frame21=z1 = ys*sin(t1)+zs*cos(t1); +shape_1_per_frame22=x1 = z1*sin(t2)+xs*cos(t2); +shape_1_per_frame23=z2 = z1*cos(t2)-xs*sin(t2); +shape_1_per_frame24=x2 = x1*cos(t3)-y1*sin(t3); +shape_1_per_frame25=y2 = y1*cos(t3)+x1*sin(t3); +shape_1_per_frame26= +shape_1_per_frame27=//translate shape +shape_1_per_frame28=x3 = x2; +shape_1_per_frame29=y3 = y2; +shape_1_per_frame30=z3 = z2; +shape_1_per_frame31= +shape_1_per_frame32=x = 0.5 + size*(x3/(1+z3*size)); +shape_1_per_frame33=y = 0.5 + size*(y3/(1+z3*size)); +shape_1_per_frame34=a=below(z3,0); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=7 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03333 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.300 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = int(rand(100))*.01+instance-instance; +shape_2_per_frame2=y = int(rand(100))*.01+instance-instance; +shape_2_per_frame3= +shape_2_per_frame4=a =1; +shape_2_per_frame5=//a2 =1; +shape_2_per_frame6=//border_a = 0; +shape_2_per_frame7=vol=bass+mid+treb; +shape_2_per_frame8=rad = int(rand(int(vol)))/7+instance-instance; +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=3 +shapecode_3_x=0.750 +shapecode_3_y=0.250 +shapecode_3_rad=1.46815 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.40839 +shapecode_3_r=1.000 +shapecode_3_g=0.900 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ra=ra-if(above(bass,1.3),bass*.02,.01); +shape_3_per_frame2= +shape_3_per_frame3=ang=ra; +shape_3_per_frame4=rad=rad+(bass_att*.1); +shape_3_per_frame5= +shape_3_per_frame6=x=abs(sin(time*.25)); +shape_3_per_frame7= +per_frame_1=//flexi mobius spiral col frame +per_frame_2=t = t + 2.5/fps; +per_frame_3=t = if(above(t,2),t-2,t); +per_frame_4=q22 = -t; +per_frame_5=// Flexis dampened sound response functions +per_frame_6=db = db*0.98 + bass_att*0.2; // dampener +per_frame_7=bb = bb + db*0.1; // accumulation, replace time expressions with this ;) +per_frame_8=dt = dt*0.98 + treb_att*0.2; +per_frame_9=tt = tt + dt*0.1; +per_frame_10=dm = dm*0.98 + mid_att*0.2; +per_frame_11=mm = mm + dm*0.1; +per_frame_12=//***** [q11-q18] variables for Flexis caleidoscope shader code ***** +per_frame_13=// change +per_frame_14=q13 = 0.5 + sin((bb-mm)*0.1)*0.25; // center x +per_frame_15=q14 = 0.5 + sin((tt-mm)*0.1)*0.25; // center y +per_frame_16=w = (bb-tt)*0.1; // angle +per_frame_17=q16 = 0.8 - (db-dt)*0.04; // size +per_frame_18=//don't change +per_frame_19=q11 = sin(w); +per_frame_20=q12 = cos(w); +per_frame_21=q17 = sin(-w); +per_frame_22=q18 = cos(-w); +per_frame_23=q15 = 1/q16; +per_frame_24=zoom =1;// 0.999; +per_frame_25=warp = 0; +per_frame_26=// a +per_frame_27=scale = 8; +per_frame_28=angle = -time*0.2; +per_frame_29=q1 = scale*cos(angle); // the real part +per_frame_30=q2 = scale*sin(angle); // the imaginary part +per_frame_31=// b +per_frame_32=q3 = 0; // the real part +per_frame_33=q4 = 0.3; // the imaginary part +per_frame_34=// c +per_frame_35=scale = 0.8; +per_frame_36=angle = time*0.2; +per_frame_37=q5 = scale*cos(angle); // the real part +per_frame_38=q6 = scale*sin(angle); // the imaginary part +per_frame_39=// d +per_frame_40=q7 = -0.25; // the real part +per_frame_41=q8 = 0.2; // the imaginary part +per_frame_42=q11 = 1/asin(1); +per_frame_43= +per_frame_44=wave_r = min(1,max(0,(bass_att-1)*1.3)); +per_frame_45=wave_g = wave_r*0.7; +per_frame_46=wave_b = wave_r*0.1; +per_frame_47=rot = rot + 0.010*( 0.60*sin(0.038*time) + 0.40*sin(0.054*time) ); +per_frame_48=dx = dx + 0.002*( 0.60*sin(0.434*time) + 0.40*sin(0.277*time) ); +per_frame_49=dy = dy + 0.002*( 0.60*sin(0.384*time) + 0.40*sin(0.477*time) ); +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`float4 noise2 = tex3D(sampler_noisevol_hq, +warp_22=` ((uv1.xyy +warp_23=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_24=` ).xyz* +warp_25=` float3(1,1,0)*0.05 + +warp_26=` time*float3(0,0,1)*0.4 +warp_27=` ); +warp_28=`ret -= (noise2)*.1; +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` //rotate texture cords +comp_5=` float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29); +comp_6=` float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29); +comp_7=` +comp_8=` +comp_9=` float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5); +comp_10=` +comp_11=` float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5; +comp_12=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_13=` tex2D(sampler_main, uv_echo).xyz, +comp_14=` 0.50 +comp_15=` )*0.8; +comp_16=` +comp_17=` ret += tex2D(sampler_main, uv2*q9).xyz*0.2; +comp_18=` ret *= 1.00; //gamma +comp_19=` ret = 1 - ret*(1 - ret)*4; //invert +comp_20=`float4 noise2 = tex3D(sampler_noisevol_hq, +comp_21=` ((uv_echo.xyy +comp_22=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_23=` ).xyz* +comp_24=` float3(1,1,0)*0.05 + +comp_25=` time*float3(0,0,1)*0.4 +comp_26=` ); +comp_27=`ret += (noise2)*.2; +comp_28=`} diff --git a/presets/presets_tryptonaut/seaweed.jpg b/presets/presets_tryptonaut/seaweed.jpg new file mode 100755 index 0000000000..3656db8e53 Binary files /dev/null and b/presets/presets_tryptonaut/seaweed.jpg differ diff --git a/presets/presets_tryptonaut/sexually repressed americans - mess roam.milk b/presets/presets_tryptonaut/sexually repressed americans - mess roam.milk new file mode 100755 index 0000000000..69f03efae7 --- /dev/null +++ b/presets/presets_tryptonaut/sexually repressed americans - mess roam.milk @@ -0,0 +1,528 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.002 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.99817 +fShader=0.000 +zoom=1.01000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.14977 +sx=1.01000 +sy=0.99010 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.80000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample*.5+.25); +wave_0_per_point11=y = sample*.5+.25; +wave_0_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_0_per_point13=x = .5 - mod*.5; +wave_0_per_point14= +wave_0_per_point15=osa = sample; +wave_0_per_point16= +wave_0_per_point17=mo = 3.7 + mod*6 + q1; +wave_0_per_point18= +wave_0_per_point19=r = .5 + sin(q8*.9 +mo)*.5; +wave_0_per_point20=g = .5 + sin(q8*.89+mo + 1.5472)*.5; +wave_0_per_point21=b = .5 + sin(q8*.88+mo + 2.8944)*.5; +wave_0_per_point22= +wave_0_per_point23=a = 3 - abs(mod)*12; +wave_0_per_point24=a = 3-sw; +wave_0_per_point25=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.80000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample*.5+.25); +wave_1_per_point11=y = sample*.5+.25; +wave_1_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_1_per_point13=x = .5 + mod*.5; +wave_1_per_point14= +wave_1_per_point15=osa = sample; +wave_1_per_point16= +wave_1_per_point17=mo = 3.7 + mod*6 + q1; +wave_1_per_point18= +wave_1_per_point19=r = .5 + sin(q8*.95+mo)*.5; +wave_1_per_point20=g = .5 + sin(q8*.96+mo + 1.5472)*.5; +wave_1_per_point21=b = .5 + sin(q8*.97+mo + 2.8944)*.5; +wave_1_per_point22= +wave_1_per_point23=a = 3 - abs(mod)*12; +wave_1_per_point24=a = 3-sw; +wave_1_per_point25=a = max(0,min(a,1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.80000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.300 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=y = if(sw,osa,sample*.5+.25); +wave_2_per_point11=y = sample*.5+.25; +wave_2_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_2_per_point13=x = .5 - mod*.5; +wave_2_per_point14= +wave_2_per_point15=osa = sample; +wave_2_per_point16= +wave_2_per_point17=mo = 3.7 + mod*6 + q1; +wave_2_per_point18= +wave_2_per_point19=//r = .5 + sin(mo)*.5; +wave_2_per_point20=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point21=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point22= +wave_2_per_point23=//a = 1 - abs(mod)*12; +wave_2_per_point24=//a = 1-sw; +wave_2_per_point25=a = max(0,min(a,1)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=256 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.80000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=0.300 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value2; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=y = if(sw,osa,sample*.5+.25); +wave_3_per_point11=y = sample*.5+.25; +wave_3_per_point12=y = (y-0.5)/(q32) + 0.5; +wave_3_per_point13=x = .5 + mod*.5; +wave_3_per_point14= +wave_3_per_point15=osa = sample; +wave_3_per_point16= +wave_3_per_point17=mo = 3.7 + mod*6 + q1; +wave_3_per_point18= +wave_3_per_point19=//r = .5 + sin(mo)*.5; +wave_3_per_point20=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point21=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point22= +wave_3_per_point23=//a = 1 - abs(mod)*12; +wave_3_per_point24=//a = 1-sw; +wave_3_per_point25=a = max(0,min(a,1)); +shapecode_0_enabled=1 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=33 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame2=trans2 = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame3=trans3 = int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame4=a = trans; +shape_0_per_frame5= +shape_0_per_frame6=x = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame7=y = .5 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame9=r=int(rand(q30))*.1+instance-instance; +shape_0_per_frame10=g=int(rand(q30))*.1+instance-instance; +shape_0_per_frame11=b=int(rand(q30))*.1+instance-instance; +shape_0_per_frame12=r2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame13=g2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame14=b2=int(rand(q30))*.1+instance-instance; +shape_0_per_frame15=border_r=int(rand(q30))*.1+instance-instance; +shape_0_per_frame16=border_g=int(rand(q30))*.1+instance-instance; +shape_0_per_frame17=border_b=int(rand(q30))*.1+instance-instance; +shapecode_1_enabled=1 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=600 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=6.97389 +shapecode_1_ang=0.37699 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1= +shape_1_per_frame2=sample=1-instance/num_inst; +shape_1_per_frame3= +shape_1_per_frame4=///// Funnel +shape_1_per_frame5= +shape_1_per_frame6=///////POV +shape_1_per_frame7= +shape_1_per_frame8=u= 100*q20; +shape_1_per_frame9= +shape_1_per_frame10=px = 3*u*cos(u); +shape_1_per_frame11=py = 3*u*sin(u); +shape_1_per_frame12=pz= 125-50*log(u); +shape_1_per_frame13= +shape_1_per_frame14=///////surface +shape_1_per_frame15= +shape_1_per_frame16=u= 100*sample; +shape_1_per_frame17= +shape_1_per_frame18=sx = 3*u*cos(u); +shape_1_per_frame19=sy = 3*u*sin(u); +shape_1_per_frame20=sz = 125-50*log(u); +shape_1_per_frame21= +shape_1_per_frame22=my_x = sx+ px; +shape_1_per_frame23=my_y = sy+ py; +shape_1_per_frame24=my_z = sz+ pz; +shape_1_per_frame25= +shape_1_per_frame26=/////// rotations ... by flexi +shape_1_per_frame27= +shape_1_per_frame28=d = 0; +shape_1_per_frame29=zoom = 1; +shape_1_per_frame30= +shape_1_per_frame31=w1 = 1.57+atan2(py,px); +shape_1_per_frame32=w2 = 3.1+.5*sin(q1); +shape_1_per_frame33=w3 = 1.7+.5*sin(q2); +shape_1_per_frame34= +shape_1_per_frame35=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_1_per_frame36=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_1_per_frame37=z1 = my_z; +shape_1_per_frame38= +shape_1_per_frame39=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_1_per_frame40=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_1_per_frame41=y2 = y1; +shape_1_per_frame42= +shape_1_per_frame43=y3 = cos(w3)*y2 + sin(w3)*z2+.3*py; +shape_1_per_frame44=z3 =( -sin(w3)*y2 + cos(w3)*z2)+.3*pz; +shape_1_per_frame45=x3 = x2+.3*px; +shape_1_per_frame46= +shape_1_per_frame47=l = sqrt(x3*x3 + y3*y3); +shape_1_per_frame48=w = atan2(x3,y3); +shape_1_per_frame49=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_1_per_frame50=p = tan(asin(1) + atan2(d+z3,l)); +shape_1_per_frame51= +shape_1_per_frame52=my_x = zoom*sin(w)*p; +shape_1_per_frame53=my_y = zoom*cos(w)*p; +shape_1_per_frame54= +shape_1_per_frame55=x = 0.5 + my_x/q6; +shape_1_per_frame56=y = 0.6 + my_y/q5; +shape_1_per_frame57= +shape_1_per_frame58=//////// +shape_1_per_frame59= +shape_1_per_frame60=rad=rad/d; +shape_1_per_frame61= +shape_1_per_frame62=r= (.5+.5*q21)*sample; +shape_1_per_frame63=g= (.5+.5*q21)*sample; +shape_1_per_frame64=b= (.5+.5*q21)*sample; +shape_1_per_frame65= +shape_1_per_frame66=r2=.1*r; +shape_1_per_frame67=g2=.1*g; +shape_1_per_frame68=b2=.1*b; +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=200 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=5.27792 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1= +shape_2_per_frame2=sample=1-instance/num_inst; +shape_2_per_frame3= +shape_2_per_frame4=///// Funnel +shape_2_per_frame5= +shape_2_per_frame6=///////POV +shape_2_per_frame7= +shape_2_per_frame8=u= 100*(q20); +shape_2_per_frame9= +shape_2_per_frame10=px = 3*u*cos(u); +shape_2_per_frame11=py = 3*u*sin(u); +shape_2_per_frame12=pz= 125-50*log(u); +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15=///////surface +shape_2_per_frame16= +shape_2_per_frame17=t2= (.5-.5*q21)*sample; +shape_2_per_frame18=u= 100*t2; +shape_2_per_frame19= +shape_2_per_frame20=sx = 3*u*cos(u); +shape_2_per_frame21=sy = 3*u*sin(u); +shape_2_per_frame22=sz = 125-50*log(u); +shape_2_per_frame23= +shape_2_per_frame24= +shape_2_per_frame25=my_x = sx+ px; +shape_2_per_frame26=my_y = sy+ py; +shape_2_per_frame27=my_z = sz+ pz; +shape_2_per_frame28= +shape_2_per_frame29= +shape_2_per_frame30=/////// rotations +shape_2_per_frame31= +shape_2_per_frame32=d = 0; +shape_2_per_frame33=zoom = 1; +shape_2_per_frame34= +shape_2_per_frame35=w1 = 1.57+atan2(py,px); +shape_2_per_frame36=w2 = 3.1+.5*sin(q1); +shape_2_per_frame37=w3 = 1.7+.5*sin(q2); +shape_2_per_frame38= +shape_2_per_frame39=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame40=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame41=z1 = my_z; +shape_2_per_frame42= +shape_2_per_frame43=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame44=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame45=y2 = y1; +shape_2_per_frame46= +shape_2_per_frame47=y3 = cos(w3)*y2 + sin(w3)*z2+.3*py; +shape_2_per_frame48=z3 =( -sin(w3)*y2 + cos(w3)*z2)+.3*pz; +shape_2_per_frame49=x3 = x2+.3*px; +shape_2_per_frame50= +shape_2_per_frame51=l = sqrt(x3*x3 + y3*y3); +shape_2_per_frame52=w = atan2(x3,y3); +shape_2_per_frame53=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame54=p = tan(asin(1) + atan2(d+z3,l)); +shape_2_per_frame55= +shape_2_per_frame56=my_x = zoom*sin(w)*p; +shape_2_per_frame57=my_y = zoom*cos(w)*p; +shape_2_per_frame58= +shape_2_per_frame59=x = 0.5 + my_x/q6; +shape_2_per_frame60=y = 0.6 + my_y/q5; +shape_2_per_frame61= +shape_2_per_frame62=//////// +shape_2_per_frame63= +shape_2_per_frame64=rad=rad/d; +shape_2_per_frame65= +shape_2_per_frame66=r=.5+.5*sin(21*sample+q2); +shape_2_per_frame67=g=.5+.5*sin(26*sample+q1); +shape_2_per_frame68=b=.5+.5*sin(14*sample+q3); +shape_2_per_frame69= +shape_2_per_frame70=r2=.1*r; +shape_2_per_frame71=g2=.1*g; +shape_2_per_frame72=b2=.1*b; +shapecode_3_enabled=1 +shapecode_3_sides=32 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=7 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.500 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.500 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=trans = int(rand(int(q30)))/15+instance-instance; +shape_3_per_frame2=trans2 = int(rand(int(q30)))/15+instance-instance; +shape_3_per_frame3=trans3 = int(rand(int(q30)))/15+instance-instance; +shape_3_per_frame4=a = trans; +shape_3_per_frame5= +shape_3_per_frame6=x = .5 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame7=y = .5 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_3_per_frame8=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_3_per_frame9=r=int(rand(q30))*.1+instance-instance; +shape_3_per_frame10=g=int(rand(q30))*.1+instance-instance; +shape_3_per_frame11=b=int(rand(q30))*.1+instance-instance; +shape_3_per_frame12=r2=int(rand(q30))*.1+instance-instance; +shape_3_per_frame13=g2=int(rand(q30))*.1+instance-instance; +shape_3_per_frame14=b2=int(rand(q30))*.1+instance-instance; +shape_3_per_frame15=border_r=int(rand(q30))*.1+instance-instance; +shape_3_per_frame16=border_g=int(rand(q30))*.1+instance-instance; +shape_3_per_frame17=border_b=int(rand(q30))*.1+instance-instance; +shape_3_per_frame18= +per_frame_1=wave_b = max((1 / 3.14) + .5 * sin(time) - (2 / (3 * 3.14)) * cos(2 * time), .3); +per_frame_2=wave_g = .1 * max(5 * mid * sin(mid * time) / (mid_att * mid_att + mid * mid), .1); +per_frame_3=wave_r = max(5 * treb * sin(treb * time) / (treb_att * treb_att + treb * treb), .3); +per_frame_4=decay = .99999995 + .00000005 * abs(sin(50 * time)); +per_frame_5=vol=bass+treb+mid; +per_frame_6=atime=atime+vol; +per_frame_7=q8=atime*.01; +per_frame_8=q30=vol*2; +per_frame_9=q32=aspecty; +per_pixel_1=zoom = if(below(rad, .03), .9, 1 - 2 * (-(3/2) * pow(2.718, sin(bass * bass * time * sin(31.4 * rad) / rad)) + .5 * pow(2.718, sin(treb * treb * time * rad * sin(3.14 * rad) / rad)))/500); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` float3 ret2 = tex2D( sampler_fc_main, uv ).xyz; +warp_6=` +warp_7=` ret.x = tex2D( sampler_main, (uv-0.5)*1.00+0.5 ).x; +warp_8=` ret.y = tex2D( sampler_main, (uv-0.5)*0.98+0.5 ).y; +warp_9=` ret.z = tex2D( sampler_main, (uv-0.5)*0.96+0.5 ).z; +warp_10=` +warp_11=` // darken (decay) over time +warp_12=` ret = ret- (ret*.5); +warp_13=` ret = ret*(abs(GetBlur2(uv)-.5))*5; +warp_14=` ret = ret - .01; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = -.8*tex2D(sampler_main, uv).xyz+GetBlur3(uv); +comp_4=` ret *= 2; +comp_5=`ret-=roam_sin*roam_cos.zxy; +comp_6=`} diff --git a/presets/presets_tryptonaut/shadow harlequin - babylon warp drive resurrection call [Flexi's insertion of Martin's ripple on water shader].milk b/presets/presets_tryptonaut/shadow harlequin - babylon warp drive resurrection call [Flexi's insertion of Martin's ripple on water shader].milk new file mode 100755 index 0000000000..a45277ec21 --- /dev/null +++ b/presets/presets_tryptonaut/shadow harlequin - babylon warp drive resurrection call [Flexi's insertion of Martin's ripple on water shader].milk @@ -0,0 +1,325 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=2.400 +fDecay=0.500 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=0.972 +fWaveSmoothing=0.900 +fWaveParam=0.094 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.07410 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=40 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.59957 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.33450 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=bob = 1.5; +shape_0_init2=ro = 0; +shape_0_init3=red = int(rand(20)); +shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); +shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); +shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); +shape_0_per_frame4=bob = bob*vol; +shape_0_per_frame5=rad = bob; +shape_0_per_frame6=border_1 = 0.4; +shape_0_per_frame7=sides = 30; +shape_0_per_frame8=ro = ro + 0.02; +shape_0_per_frame9=ang = ro; +shape_0_per_frame10=rad = 0.6; +shape_0_per_frame11= +shape_0_per_frame12=sp = red*0.025; +shape_0_per_frame13=spi = 0.5 - sp; +shape_0_per_frame14=tm = time*0.1; +shape_0_per_frame15=border_r = 0.5 + sp*sin(tm*0.6) + spi*cos(tm*1.46); +shape_0_per_frame16=border_g = 0.5 + sp*sin(tm*1.294) + spi*cos(tm*0.87); +shape_0_per_frame17=border_b = 0.5 + sp*sin(tm*1.418) + spi*cos(tm*0.76); +shapecode_1_enabled=1 +shapecode_1_sides=40 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_1_per_frame2=x = 0.5 + 0.225*sin(time); +shape_1_per_frame3=y = 0.5 + 0.3*cos(time); +shape_1_per_frame4= +shape_1_per_frame5=rad = rad*mid_att; +shape_1_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_1_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_1_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_1_per_frame9= +shapecode_2_enabled=1 +shapecode_2_sides=40 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_2_per_frame2=x = 0.5 + 0.225*sin(time + 2.09); +shape_2_per_frame3=y = 0.5 + 0.3*cos(time + 2.09); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad*bass_att; +shape_2_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_2_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_2_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_2_per_frame9= +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); +shape_3_per_frame2=x = 0.5 + 0.225*sin(time + 4.19); +shape_3_per_frame3=y = 0.5 + 0.3*cos(time + 4.19); +shape_3_per_frame4= +shape_3_per_frame5=rad = rad*treb_att; +shape_3_per_frame6=r = 0.5 + 0.5*sin(frame*0.5); +shape_3_per_frame7=b = 0.5 + 0.5*sin(frame*0.5 + 2.094); +shape_3_per_frame8=g = 0.5 + 0.5*sin(frame*0.5 + 4.188); +shape_3_per_frame9= +per_frame_1=warp = 0; +per_frame_2=wave_r = wave_r + .5*sin(treb_att*33) + bass_att*.3; +per_frame_3=//wave_g = wave_g + .5*sin(treb_att*33) + treb_att*.3; +per_frame_4=wave_b = wave_b + .5*sin(treb_att*33) + mid_att*.3; +per_frame_5=rot = (sin(time)/2) * (.4*sin(treb_att*.1)); +per_frame_6=warp = .9*sin(treb_att*.9); +per_frame_7=mv_l = sin(treb_att); +per_frame_8=//mv_a = sin(mid_att); +per_frame_9=mv_b = treb_att / 2.5; +per_frame_10=mv_r = mid_att / 2.5; +per_frame_11=q1 = sin(bass_att); +per_pixel_1=ray = pow(rad,1.8)+.05; +per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); +per_pixel_3=mv_r = treb_att / 2.5; +per_pixel_4=mv_g = mid_att / 2.5; +per_pixel_5=//mv_b = treb_att / 2.5; +per_pixel_6=mv_a = bass_att; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= saturate(q1); //or try: ret -= 0.004; +warp_8=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`// ***** Martin's ripples on water surface code, parameterized by Flexi ***** +comp_5=` +comp_6=`float h = 0.25; // height of the horizon +comp_7=`float cut_off = 0.2; // cut off lower border +comp_8=`float2 t = float2(0.5,0.25)*time; // velocity +comp_9=`float strength = 0.025; +comp_10=` +comp_11=` +comp_12=`float2 c = uv_orig-float2(0.5,1-h); +comp_13=`float z = 1/c.y; +comp_14=`float2 uv_water = float2(c.x*z*h,z*h)+t; +comp_15=`int mask = (c.y>0); +comp_16=`uv_water = (tex2D(sampler_noise_hq,uv_water/2)-0.5)*mask; +comp_17=`float2 uv_mirror = 1.0-abs(frac((c+float2(0.5,1))*0.5)*2-1)+float2(0,-cut_off); +comp_18=`uv =saturate(uv_mirror-uv_water.xy*strength); +comp_19=` +comp_20=`// ***** :) +comp_21=` +comp_22=` +comp_23=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,1) + 0.5; +comp_24=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_25=` tex2D(sampler_main, uv_echo).xyz, +comp_26=` 0.50 +comp_27=` ); //video echo +comp_28=` ret *= 2.40; //gamma +comp_29=` ret = sqrt(ret); //brighten +comp_30=` ret *= ret; //darken +comp_31=`} diff --git a/presets/presets_tryptonaut/shifter + geiss - neon pulse (glow mix).milk b/presets/presets_tryptonaut/shifter + geiss - neon pulse (glow mix).milk new file mode 100755 index 0000000000..3a99b3193e --- /dev/null +++ b/presets/presets_tryptonaut/shifter + geiss - neon pulse (glow mix).milk @@ -0,0 +1,358 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.4 +fDecay=0.975 +fVideoEchoZoom=1.051 +fVideoEchoAlpha=0.5 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.0 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331 +fZoomExponent=1.0 +fShader=0.0 +zoom=0.85235 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.01000 +sx=1.0 +sy=1.0 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +b1n=0.0 +b2n=0.0 +b3n=0.0 +b1x=1.0 +b2x=1.0 +b3x=1.0 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=0.0 +wavecode_0_g=0.0 +wavecode_0_b=0.0 +wavecode_0_a=0.030 +wave_0_per_point1=r = .6 + .4*sin(time); +wave_0_per_point2=g = .4 + .4*sin(time + 2.094); +wave_0_per_point3=b = .4 + .4*sin(time + 4.188); +wave_0_per_point4= +wave_0_per_point5=sw = 1-sw; +wave_0_per_point6= +wave_0_per_point7=mx = equal(int(q2)%2,0); +wave_0_per_point8=mx = abs(mx - (q2 - int(q2))); +wave_0_per_point9=my = .5 + (.5 - mx); +wave_0_per_point10= +wave_0_per_point11= +wave_0_per_point12=x = mx + value1*(1-2*sw); +wave_0_per_point13=y = my + value2*(1-2*sw); +wave_0_per_point14= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=0.0 +wavecode_1_g=0.0 +wavecode_1_b=0.0 +wavecode_1_a=0.030 +wave_1_per_point1=g = .6 + .4*sin(time); +wave_1_per_point2=b = .4 + .4*sin(time + 2.094); +wave_1_per_point3=r = .4 + .4*sin(time + 4.188); +wave_1_per_point4= +wave_1_per_point5=sw = 1-sw; +wave_1_per_point6= +wave_1_per_point7=mx = equal(int(q3)%2,0); +wave_1_per_point8=mx = abs(mx - (q3 - int(q3))); +wave_1_per_point9=my = .5 + (.5 - mx); +wave_1_per_point10= +wave_1_per_point11= +wave_1_per_point12=x = mx + value1*(1-2*sw); +wave_1_per_point13=y = my + value2*(1-2*sw); +wave_1_per_point14= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=0.0 +wavecode_2_g=0.0 +wavecode_2_b=0.0 +wavecode_2_a=0.030 +wave_2_per_point1=b = .6 + .4*sin(time); +wave_2_per_point2=r = .4 + .4*sin(time + 2.094); +wave_2_per_point3=g = .4 + .4*sin(time + 4.188); +wave_2_per_point4= +wave_2_per_point5=sw = 1-sw; +wave_2_per_point6= +wave_2_per_point7=mx = equal(int(q4)%2,0); +wave_2_per_point8=mx = abs(mx - (q4 - int(q4))); +wave_2_per_point9=my = .5 + (.5 - mx); +wave_2_per_point10= +wave_2_per_point11= +wave_2_per_point12=x = mx + value1*(1-2*sw); +wave_2_per_point13=y = my + value2*(1-2*sw); +wave_2_per_point14= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.0 +shapecode_0_y=0.0 +shapecode_0_rad=1.32910 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=1.57080 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=1.0 +shapecode_0_b=1.0 +shapecode_0_a=1.0 +shapecode_0_r2=1.0 +shapecode_0_g2=1.0 +shapecode_0_b2=1.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.0 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.1; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = 0; +per_frame_25= +per_frame_26=q2 = bt*.5 + 5; +per_frame_27=q3 = mt*.5 + 3; +per_frame_28=q4 = tt*.5; +per_frame_29=q5 = .1 + (treb_avg + mid_avg)*.2; +per_frame_30= +per_frame_31=zoom = 1 - bass_avg*.2; +per_frame_32= +per_frame_33=monitor = q5; +per_pixel_1=coy = (coy + below(y,oy))*above(q1,0); +per_pixel_2=cox = (cox + 1)*above(q1,0)*equal(coy,ocoy); +per_pixel_3= +per_pixel_4=moy = max(coy,moy); +per_pixel_5=mox = max(cox,mox); +per_pixel_6= +per_pixel_7=nu = 4; +per_pixel_8=pox = ((cox/nu) - int(cox/nu))*nu; +per_pixel_9=poy = ((coy/nu) - int(coy/nu))*nu; +per_pixel_10= +per_pixel_11= +per_pixel_12=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_13= +per_pixel_14=dx = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001; +per_pixel_15=dy = if(equal(coy%2,0),-equal(pox,1) + equal(pox,2),equal(pox,0) - equal(pox,3))*.001*mod; +per_pixel_16= +per_pixel_17=dis = (x + (1-y)); +per_pixel_18= +per_pixel_19=mod = if(above(dis,1),dis - 1,1-dis); +per_pixel_20=mod = below(mod,.2) + (1-min(1,(mod-.2)*4))*above(mod,.2)*1; +per_pixel_21= +per_pixel_22=zm = q5; +per_pixel_23=modx = if(above(dis,1),zm,-zm); +per_pixel_24=mody = if(above(dis,1),-zm,zm); +per_pixel_25= +per_pixel_26= +per_pixel_27=dx = dx*mod + (1-mod)*modx; +per_pixel_28=dy = dy*mod + (1-mod)*mody; +per_pixel_29= +per_pixel_30=rot = .3*mod; +per_pixel_31= +per_pixel_32= +per_pixel_33=oy = y; +per_pixel_34=ocoy = coy; +per_pixel_35=q1 = q1 + 1; +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` ret = ret*1.5 - 0.1; +comp_5=` +comp_6=` float4 g; +comp_7=` float3 d = float3(texsize.zw * 4, 0); +comp_8=` g.x = lum(GetBlur1(uv + d.xz)); +comp_9=` g.y = lum(GetBlur1(uv - d.xz)); +comp_10=` g.z = lum(GetBlur1(uv + d.zy)); +comp_11=` g.w = lum(GetBlur1(uv - d.zy)); +comp_12=` +comp_13=` ret *= 0.7; +comp_14=` ret.x += saturate(g.x-g.y)*5; +comp_15=` ret.z += saturate(g.y-g.x)*5; +comp_16=` //ret.xy += (g.xz-g.yw)*3; +comp_17=` +comp_18=`ret.x = GetBlur1(uv).x - 0.03; +comp_19=`ret.z = GetBlur2(uv).z*1.5 - 0.05; +comp_20=`ret *= 2.3; +comp_21=` +comp_22=`} +comp_23=` +comp_24=` diff --git a/presets/presets_tryptonaut/shifter - dark tides (EoS+phat_whisps of doom mix).milk b/presets/presets_tryptonaut/shifter - dark tides (EoS+phat_whisps of doom mix).milk new file mode 100644 index 0000000000..841b5ede71 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - dark tides (EoS+phat_whisps of doom mix).milk @@ -0,0 +1,390 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=2.144269 +fVideoEchoAlpha=0.310000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=-1.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.721420 +sx=1.000000 +sy=0.980296 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = sample; +wave_0_per_point2=y = 0.01; +wave_0_per_point3=a = value1*2; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = sample; +wave_1_per_point2=y = 0.99; +wave_1_per_point3=a = value2*2; +wavecode_2_enabled=0 +wavecode_2_samples=62 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x = 1 - sample; +wave_2_per_point2=y = .5 + value1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=0.380001 +wavecode_3_g=0.720000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .3; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14= +wave_3_per_point15=a = equal(lev,7); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=aang = 1.57; +wave_3_per_point53= +wave_3_per_point54=len = len*mad; +wave_3_per_point55=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point56=y = .5 + above(lev,0)*cos(aang)*len; +wave_3_per_point57= +wave_3_per_point58=an = (ar*aang + br*bang)*br; +wave_3_per_point59=len = len*mad; +wave_3_per_point60=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point61=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point62= +wave_3_per_point63=an = (ar*aang + br*bang + cr*cang)*cr; +wave_3_per_point64=len = len*mad; +wave_3_per_point65=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point66=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point67= +wave_3_per_point68=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_3_per_point69=len = len*mad; +wave_3_per_point70=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point71=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point72= +wave_3_per_point73=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_3_per_point74=len = len*mad; +wave_3_per_point75=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point76=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point77= +wave_3_per_point78=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_3_per_point79=len = len*mad; +wave_3_per_point80=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point81=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point82= +wave_3_per_point83=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_3_per_point84=len = len*mad; +wave_3_per_point85=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point86=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point87= +wave_3_per_point88=x = (x-.5)*.75 + .5; +wave_3_per_point89= +wave_3_per_point90=a=0.1 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=bl = 3.8; +per_frame_2=ul = 7.9; +per_frame_3=rate = 11.9; +per_frame_4=cha = .01; +per_frame_5= +per_frame_6=gv = if(above(gv,bl), if(below(gv,ul), if(above(fps,rate),gv + cha,gv - cha), ul-.1),bl+.1); +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10=monitor = gv; +per_frame_11= +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14=tic = min(time - tin,1); +per_frame_15=tin = time; +per_frame_16= +per_frame_17=ra = 10; +per_frame_18= +per_frame_19= +per_frame_20=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_21=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_22=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_23= +per_frame_24=rb = 1; +per_frame_25=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_26=q1 = treb_avg; +per_frame_27=q2 = mid_avg; +per_frame_28=q3 = bass_avg; +per_frame_29= +per_frame_30=db = bass - bass_avg; +per_frame_31= +per_frame_32=it = (it + tic)*below(it,1); +per_frame_33= +per_frame_34=rb = .5*(1/tic); +per_frame_35=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_36=bd = bass - bvb; +per_frame_37= +per_frame_38=vm = vm - tic + swi; +per_frame_39=swi = above(bd - vm,0); +per_frame_40= +per_frame_41=q4 = 1-swi; +per_frame_42= +per_frame_43=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_44=iter = (iter + tic)*(1-above(iter,30)); +per_frame_45=q5 = if(equal(cm,0),3,cm); +per_frame_46= +per_frame_47=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_48=itar = (itar + tic)*(1-above(itar,5)); +per_frame_49= +per_frame_50=q6 = int(vav*5); +per_frame_51= +per_frame_52= +per_frame_53=decay=0.97; +per_frame_54=zoom=1.01; +per_frame_55=sx=1;sy=1; +per_pixel_1=warp = bass; diff --git a/presets/presets_tryptonaut/shifter - dark tides bdrv mix.milk b/presets/presets_tryptonaut/shifter - dark tides bdrv mix.milk new file mode 100755 index 0000000000..3833a34030 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - dark tides bdrv mix.milk @@ -0,0 +1,452 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.350000 +fDecay=1.000000 +fVideoEchoZoom=2.144269 +fVideoEchoAlpha=0.310000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=-1.000000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.721420 +sx=1.000000 +sy=0.980296 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=1.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.500000 +ib_r=1.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.250000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = sample; +wave_0_per_point2=y = 0.01; +wave_0_per_point3=a = value1*2; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = sample; +wave_1_per_point2=y = 0.99; +wave_1_per_point3=a = value2*2; +wavecode_2_enabled=0 +wavecode_2_samples=62 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x = 1 - sample; +wave_2_per_point2=y = .5 + value1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=0.380001 +wavecode_3_g=0.720000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .3; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14= +wave_3_per_point15=a = equal(lev,7); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=aang = 1.57; +wave_3_per_point53= +wave_3_per_point54=len = len*mad; +wave_3_per_point55=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point56=y = .5 + above(lev,0)*cos(aang)*len; +wave_3_per_point57= +wave_3_per_point58=an = (ar*aang + br*bang)*br; +wave_3_per_point59=len = len*mad; +wave_3_per_point60=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point61=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point62= +wave_3_per_point63=an = (ar*aang + br*bang + cr*cang)*cr; +wave_3_per_point64=len = len*mad; +wave_3_per_point65=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point66=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point67= +wave_3_per_point68=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_3_per_point69=len = len*mad; +wave_3_per_point70=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point71=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point72= +wave_3_per_point73=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_3_per_point74=len = len*mad; +wave_3_per_point75=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point76=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point77= +wave_3_per_point78=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_3_per_point79=len = len*mad; +wave_3_per_point80=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point81=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point82= +wave_3_per_point83=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_3_per_point84=len = len*mad; +wave_3_per_point85=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point86=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point87= +wave_3_per_point88=x = (x-.5)*.75 + .5; +wave_3_per_point89= +wave_3_per_point90=a=0.1 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.791418 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.628319 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=0.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=bl = 3.8; +per_frame_2=ul = 7.9; +per_frame_3=rate = 11.9; +per_frame_4=cha = .01; +per_frame_5= +per_frame_6=gv = if(above(gv,bl), if(below(gv,ul), if(above(fps,rate),gv + cha,gv - cha), ul-.1),bl+.1); +per_frame_7= +per_frame_8= +per_frame_9= +per_frame_10=monitor = gv; +per_frame_11= +per_frame_12=wave_a = 0; +per_frame_13= +per_frame_14=tic = min(time - tin,1); +per_frame_15=tin = time; +per_frame_16= +per_frame_17=ra = 10; +per_frame_18= +per_frame_19= +per_frame_20=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_21=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_22=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_23= +per_frame_24=rb = 1; +per_frame_25=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_26=q1 = treb_avg; +per_frame_27=q2 = mid_avg; +per_frame_28=q3 = bass_avg; +per_frame_29= +per_frame_30=db = bass - bass_avg; +per_frame_31= +per_frame_32=it = (it + tic)*below(it,1); +per_frame_33= +per_frame_34=rb = .5*(1/tic); +per_frame_35=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_36=bd = bass - bvb; +per_frame_37= +per_frame_38=vm = vm - tic + swi; +per_frame_39=swi = above(bd - vm,0); +per_frame_40= +per_frame_41=q4 = 1-swi; +per_frame_42= +per_frame_43=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_44=iter = (iter + tic)*(1-above(iter,30)); +per_frame_45=q5 = if(equal(cm,0),3,cm); +per_frame_46= +per_frame_47=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_48=itar = (itar + tic)*(1-above(itar,5)); +per_frame_49= +per_frame_50=q6 = int(vav*5); +per_frame_51= +per_frame_52= +per_frame_53=decay=0.97; +per_frame_54=zoom=1.01; +per_frame_55=sx=1;sy=1; +per_pixel_1=warp = bass; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 1.00; //or try: ret -= 0.004; +warp_8=`// ret = tex2D( sampler_pw_main, uv ).xyz; +warp_9=` +warp_10=` // darken over time +warp_11=`// ret -= 0.004;//*= 0.95; //or try: ret -= 0.004; +warp_12=` +warp_13=`ret.xyz = tex2D(sampler_main, uv_orig).xyz*float3(.97,1,.97) - float3(.03,0,.03); +warp_14=` +warp_15=`ret.z += GetBlur1(uv_orig).z*.45; +warp_16=`ret.x += GetBlur1(uv_orig).z*.05 + GetBlur3(uv_orig).z*.05; +warp_17=`ret.z -= ret.x; +warp_18=` +warp_19=`float2 pixelsize = texsize.zw; +warp_20=`ret.y = saturate(tex2D( sampler_pw_main,uv_orig).y); +warp_21=` +warp_22=`float1 conway = tex2D( sampler_pw_main, uv_orig + float2(-1,-1)*pixelsize).y; +warp_23=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,-1)*pixelsize).y; +warp_24=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,-1)*pixelsize).y; +warp_25=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,0)*pixelsize).y; +warp_26=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,0)*pixelsize).y; +warp_27=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,1)*pixelsize).y; +warp_28=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,1)*pixelsize).y; +warp_29=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,1)*pixelsize).y; +warp_30=` +warp_31=`float1 test = q5*(1-GetBlur1(uv_orig).y)*(1-GetBlur2(uv_orig).y)*(1-GetBlur3(uv_orig).y); +warp_32=` +warp_33=`conway -= tex2D( sampler_pw_main, uv_orig).x; +warp_34=`ret=ret*.98; +warp_35=`} +comp_1=`sampler sampler_lichen; +comp_2=`shader_body +comp_3=`{ +comp_4=` ret = tex2D(sampler_main,uv).xyz; +comp_5=` float3 d = float3(texsize.zw, 0)*1.3; +comp_6=` float b1 = lum(GetBlur1(uv + d.xz)); +comp_7=` float b2 = lum(GetBlur1(uv - d.xz)); +comp_8=` float b3 = lum(GetBlur1(uv + d.zy)); +comp_9=` float b4 = lum(GetBlur1(uv - d.zy)); +comp_10=` +comp_11=` ret *= .75; +comp_12=` ret += (b1-b2)*3*float3(1,0.7,0.3); +comp_13=` ret += (b3-b4)*3*float3(0.2,0.5,0.7); +comp_14=` +comp_15=` ret = pow(ret,1.2)*1.5; +comp_16=`} diff --git a/presets/presets_tryptonaut/shifter - digi.milk b/presets/presets_tryptonaut/shifter - digi.milk new file mode 100755 index 0000000000..17d9244596 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - digi.milk @@ -0,0 +1,774 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.998789 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.200613 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.540000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.331000 +fZoomExponent=2.216699 +fShader=0.000000 +zoom=0.999922 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .2; +wave_0_per_frame18=ra = .1; +wave_0_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_0_per_frame20=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15=a = equal(lev,8); +wave_0_per_point16= +wave_0_per_point17=ar = if(above(sample,0),ar,1); +wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point19=br = if(above(sample,0),br,1); +wave_0_per_point20=br = if(equal(lev,1),br*-1,br); +wave_0_per_point21=cr = if(above(sample,0),cr,1); +wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point23=dr = if(above(sample,0),dr,1); +wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point25=er = if(above(sample,0),er,1); +wave_0_per_point26=er = if(equal(lev,4),er*-1,er); +wave_0_per_point27=fr = if(above(sample,0),fr,1); +wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point29=gr = if(above(sample,0),gr,1); +wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point31=hr = if(above(sample,0),hr,1); +wave_0_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_0_per_point33= +wave_0_per_point34=mlev = lev*above(sample,0); +wave_0_per_point35= +wave_0_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point37= +wave_0_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point42=he = if(swi,1-2*rand(2),he); +wave_0_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_0_per_point46= +wave_0_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_0_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_0_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_0_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_0_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_0_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_0_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_0_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_0_per_point55= +wave_0_per_point56=len = len*mad; +wave_0_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_0_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_0_per_point59= +wave_0_per_point60=an = bang*(ar + br)*br; +wave_0_per_point61=len = len*mad; +wave_0_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_0_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_0_per_point64= +wave_0_per_point65=an = cang*(ar + br + cr)*cr; +wave_0_per_point66=len = len*mad; +wave_0_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_0_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_0_per_point69= +wave_0_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_0_per_point71=len = len*mad; +wave_0_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_0_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_0_per_point74= +wave_0_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_0_per_point76=len = len*mad; +wave_0_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_0_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_0_per_point79= +wave_0_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_0_per_point81=len = len*mad; +wave_0_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_0_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_0_per_point84= +wave_0_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_0_per_point86=len = len*mad; +wave_0_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_0_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_0_per_point89= +wave_0_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_0_per_point91=len = len*mad; +wave_0_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_0_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_0_per_point94= +wave_0_per_point95=x = (x-.5)*.75 + .5; +wave_0_per_point96= +wave_0_per_point97=x = int(x*200)*.005; +wave_0_per_point98=y = int(y*200)*.005; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .3; +wave_1_per_frame18=ra = .1; +wave_1_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_1_per_frame20=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15=a = equal(lev,8); +wave_1_per_point16= +wave_1_per_point17=ar = if(above(sample,0),ar,1); +wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point19=br = if(above(sample,0),br,1); +wave_1_per_point20=br = if(equal(lev,1),br*-1,br); +wave_1_per_point21=cr = if(above(sample,0),cr,1); +wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point23=dr = if(above(sample,0),dr,1); +wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point25=er = if(above(sample,0),er,1); +wave_1_per_point26=er = if(equal(lev,4),er*-1,er); +wave_1_per_point27=fr = if(above(sample,0),fr,1); +wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point29=gr = if(above(sample,0),gr,1); +wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point31=hr = if(above(sample,0),hr,1); +wave_1_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_1_per_point33= +wave_1_per_point34=mlev = lev*above(sample,0); +wave_1_per_point35= +wave_1_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point37= +wave_1_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point42=he = if(swi,1-2*rand(2),he); +wave_1_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_1_per_point46= +wave_1_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_1_per_point55= +wave_1_per_point56=len = len*mad; +wave_1_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_1_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_1_per_point59= +wave_1_per_point60=an = bang*(ar + br)*br; +wave_1_per_point61=len = len*mad; +wave_1_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_1_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_1_per_point64= +wave_1_per_point65=an = cang*(ar + br + cr)*cr; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_1_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_1_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_1_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_1_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_1_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_1_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95=x = (x-.5)*.75 + .5; +wave_1_per_point96= +wave_1_per_point97=x = int(x*200)*.005; +wave_1_per_point98=y = int(y*200)*.005; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .4; +wave_2_per_frame18=ra = .1; +wave_2_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_2_per_frame20=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15=a = equal(lev,8); +wave_2_per_point16= +wave_2_per_point17=ar = if(above(sample,0),ar,1); +wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point19=br = if(above(sample,0),br,1); +wave_2_per_point20=br = if(equal(lev,1),br*-1,br); +wave_2_per_point21=cr = if(above(sample,0),cr,1); +wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point23=dr = if(above(sample,0),dr,1); +wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point25=er = if(above(sample,0),er,1); +wave_2_per_point26=er = if(equal(lev,4),er*-1,er); +wave_2_per_point27=fr = if(above(sample,0),fr,1); +wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point29=gr = if(above(sample,0),gr,1); +wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point31=hr = if(above(sample,0),hr,1); +wave_2_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_2_per_point33= +wave_2_per_point34=mlev = lev*above(sample,0); +wave_2_per_point35= +wave_2_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point37= +wave_2_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point42=he = if(swi,1-2*rand(2),he); +wave_2_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_2_per_point46= +wave_2_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_2_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_2_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_2_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_2_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_2_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_2_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_2_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_2_per_point55= +wave_2_per_point56=len = len*mad; +wave_2_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_2_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_2_per_point59= +wave_2_per_point60=an = bang*(ar + br)*br; +wave_2_per_point61=len = len*mad; +wave_2_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_2_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_2_per_point64= +wave_2_per_point65=an = cang*(ar + br + cr)*cr; +wave_2_per_point66=len = len*mad; +wave_2_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_2_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_2_per_point69= +wave_2_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_2_per_point71=len = len*mad; +wave_2_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_2_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_2_per_point74= +wave_2_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_2_per_point76=len = len*mad; +wave_2_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_2_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_2_per_point79= +wave_2_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_2_per_point81=len = len*mad; +wave_2_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_2_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_2_per_point84= +wave_2_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_2_per_point86=len = len*mad; +wave_2_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_2_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_2_per_point89= +wave_2_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_2_per_point91=len = len*mad; +wave_2_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_2_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_2_per_point94= +wave_2_per_point95=x = (x-.5)*.75 + .5; +wave_2_per_point96= +wave_2_per_point97=x = int(x*200)*.005; +wave_2_per_point98=y = int(y*200)*.005; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,8); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31=hr = if(above(sample,0),hr,1); +wave_3_per_point32=hr = if(equal(lev,7),hr*-1,hr); +wave_3_per_point33= +wave_3_per_point34=mlev = lev*above(sample,0); +wave_3_per_point35= +wave_3_per_point36=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point37= +wave_3_per_point38=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point39=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point40=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point41=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point42=he = if(swi,1-2*rand(2),he); +wave_3_per_point43=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point44=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point45=hh = if(swi,1-2*rand(2),hh); +wave_3_per_point46= +wave_3_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3); +wave_3_per_point55= +wave_3_per_point56=len = len*mad; +wave_3_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point59= +wave_3_per_point60=an = bang*(ar + br)*br; +wave_3_per_point61=len = len*mad; +wave_3_per_point62=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point63=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point64= +wave_3_per_point65=an = cang*(ar + br + cr)*cr; +wave_3_per_point66=len = len*mad; +wave_3_per_point67=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point68=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point69= +wave_3_per_point70=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point71=len = len*mad; +wave_3_per_point72=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point73=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point74= +wave_3_per_point75=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point76=len = len*mad; +wave_3_per_point77=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point78=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point79= +wave_3_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point81=len = len*mad; +wave_3_per_point82=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point83=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point84= +wave_3_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point86=len = len*mad; +wave_3_per_point87=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point88=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point89= +wave_3_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr; +wave_3_per_point91=len = len*mad; +wave_3_per_point92=x = x + above(lev,7)*sin(an)*len*hr; +wave_3_per_point93=y = y + above(lev,7)*cos(an)*len; +wave_3_per_point94= +wave_3_per_point95=x = (x-.5)*.75 + .5; +wave_3_per_point96= +wave_3_per_point97=x = int(x*200)*.005; +wave_3_per_point98=y = int(y*200)*.005; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.630000 +shapecode_0_y=0.500000 +shapecode_0_rad=3.356410 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.138466 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=it = (it + 1)*below(it,10000); +shape_0_per_frame2=x = if(it%2,.26,.7247); +shape_0_per_frame3= +shape_0_per_frame4=tm = time*.1; +shape_0_per_frame5=x = .26 + .4647*(tm-int(tm)); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.100000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.833456 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=5.403539 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=2.008520 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.570797 +shapecode_2_tex_zoom=0.498300 +shapecode_2_r=0.900000 +shapecode_2_g=0.940000 +shapecode_2_b=0.890000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.840000 +shapecode_2_g2=0.930000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.100000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=r = .75 + .25*sin(time*1.187); +shape_2_per_frame2=g = .75 + .25*sin(time*1.153); +shape_2_per_frame3=b = .75 + .25*sin(time*1.105); +shape_2_per_frame4= +shape_2_per_frame5=r2 = 1.5 - r; +shape_2_per_frame6=g2 = 1.5 - g; +shape_2_per_frame7=b2 = 1.5 - b; +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.847536 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=5.592035 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7= +per_frame_8= +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12= +per_frame_13=rb = 1; +per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_15=q1 = treb_avg; +per_frame_16=q2 = mid_avg; +per_frame_17=q3 = bass_avg; +per_frame_18= +per_frame_19=db = bass - bass_avg; +per_frame_20= +per_frame_21=it = (it + tic)*below(it,1); +per_frame_22= +per_frame_23=rb = .5*(1/tic); +per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_25=bd = bass - bvb; +per_frame_26= +per_frame_27=vm = vm - tic + swi; +per_frame_28=swi = above(bd - vm,0); +per_frame_29= +per_frame_30=q4 = 1-swi; +per_frame_31= +per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_33=iter = (iter + tic)*(1-above(iter,30)); +per_frame_34=q5 = if(equal(cm,0),3,cm); +per_frame_35= +per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_37=itar = (itar + tic)*(1-above(itar,5)); +per_frame_38= +per_frame_39=q6 = int(vav*5); +per_frame_40= +per_frame_41=monitor = q6; +per_frame_42= +per_frame_43=decay = 1; diff --git a/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk new file mode 100644 index 0000000000..8dad83227f --- /dev/null +++ b/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk @@ -0,0 +1,455 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.999894 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=6.399996 +nMotionVectorsY=4.800006 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.275918 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.080000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2=decay=.999; +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3 = q3*q3*0.5 + 0.1; +per_frame_40=q3 = min(q3,1.0); +per_frame_41=//q3=1.25; +per_frame_42=monitor = int(q3*4)/4; +per_frame_43= +per_frame_44=q4 = mt; +per_frame_45=q5 = bt; +per_frame_46= +per_frame_47=cx = q1; +per_frame_48=cy = q2; +per_frame_49= +per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_55= +per_frame_56=q6 = rmod; +per_frame_57= +per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_59= +per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_61= +per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.0;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=limit=0.05; +per_pixel_25= +per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_27=dsign=sign(dx); +per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; +per_pixel_29= +per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_31=dsign=sign(dy); +per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; +per_pixel_33= diff --git a/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat 5362.milk b/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat 5362.milk new file mode 100644 index 0000000000..123b784df4 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - escape the worm - EoS + Phat 5362.milk @@ -0,0 +1,445 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.006543 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.999900 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.300000 +ib_size=0.125000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=1.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.283185; +wave_0_per_point2=x = .5 + sin(sp)*.45; +wave_0_per_point3=y = .5 + cos(sp)*.45; +wave_0_per_point4= +wave_0_per_point5=tm = time*.5 + sp; +wave_0_per_point6= +wave_0_per_point7=r = .75 + .25*sin(tm*1.178); +wave_0_per_point8=g = .75 + .25*sin(tm*1.152); +wave_0_per_point9=b = .75 + .25*sin(tm*1.102); +wave_0_per_point10= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_1_per_point1=it = (it+1)*below(it,5); +wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_1_per_point5= +wave_1_per_point6=tm = time*.5 + sample*2; +wave_1_per_point7= +wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_1_per_point10= +wave_1_per_point11=x = vx; +wave_1_per_point12=y = vy; +wave_1_per_point13= +wave_1_per_point14=tm= 1.11 + sample + t1*2; +wave_1_per_point15= +wave_1_per_point16=flux=sin(time)*0.5; +wave_1_per_point17=fluy=cos(time)*0.5; +wave_1_per_point18= +wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_1_per_point21=xfade = (xfade2+xfade)*0.5; +wave_1_per_point22= +wave_1_per_point23= +wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_1_per_point27= +wave_1_per_point28=r=r1*xfade + g1*(1-xfade); +wave_1_per_point29=g=g1*xfade + b1*(1-xfade); +wave_1_per_point30=b=b1*xfade + r1*(1-xfade); +wave_1_per_point31= +wave_1_per_point32= +wave_1_per_point33=//r=xfade;g=xfade;b=xfade; +wave_1_per_point34= +wave_1_per_point35= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 +wave_2_per_point1=it = (it+1)*below(it,25); +wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); +wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); +wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); +wave_2_per_point5= +wave_2_per_point6=tm = time*.5 + sample*2; +wave_2_per_point7= +wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); +wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); +wave_2_per_point10= +wave_2_per_point11=x = vx; +wave_2_per_point12=y = vy; +wave_2_per_point13= +wave_2_per_point14=tm= 1.11 + sample + t1*2.0; +wave_2_per_point15= +wave_2_per_point16=flux=sin(time)*0.5; +wave_2_per_point17=fluy=cos(time)*0.5; +wave_2_per_point18= +wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); +wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); +wave_2_per_point21=xfade = (xfade2+xfade)*0.5; +wave_2_per_point22= +wave_2_per_point23= +wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); +wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); +wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); +wave_2_per_point27= +wave_2_per_point28=r=r1*xfade + g1*(1-xfade); +wave_2_per_point29=g=g1*xfade + b1*(1-xfade); +wave_2_per_point30=b=b1*xfade + r1*(1-xfade); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=tic = min(time-tir,.1); +wave_3_per_frame2=tir = time; +wave_3_per_frame3=t2 = tic; +wave_3_per_point1=sam = rand(1001)*.001; +wave_3_per_point2=sam = sample; +wave_3_per_point3=it = (it+1)*above(sam,0); +wave_3_per_point4=set = int(sam*6); +wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); +wave_3_per_point6=off = .866025403; +wave_3_per_point7= +wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); +wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); +wave_3_per_point10= +wave_3_per_point11=zang = q6*50; +wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); +wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); +wave_3_per_point14=mx = ox; +wave_3_per_point15=my = oy; +wave_3_per_point16= +wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; +wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); +wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); +wave_3_per_point20=a = max(-.9 + vol,0); +wave_3_per_point21= +wave_3_per_point22=x = mx*rad; +wave_3_per_point23=y = my*rad; +wave_3_per_point24= +wave_3_per_point25=x = x*.75 + q1; +wave_3_per_point26=y = y + (1-q2); +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.336672 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.040000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=x = q1; +shape_0_per_frame2=y = 1-q2; +shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); +shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.599580 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=1.256637 +shapecode_1_tex_zoom=0.010000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.850000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=0.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x = q1; +shape_1_per_frame2=y = 1-q2; +shape_1_per_frame3=ang = .785398 - q6*50 - time*8; +shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_1_per_frame5= +shape_1_per_frame6= +shape_1_per_frame7=flux = sin(time*2.1); +shape_1_per_frame8=flux = flux*above(flux,0.95); +shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_1_per_frame10=flux = max(flux,0); +shape_1_per_frame11=flux=pow(flux,1.3); +shape_1_per_frame12= +shape_1_per_frame13=rad = rad + flux*0.2 +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.542619 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.010000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=1.000000 +shape_2_per_frame1=x = q1; +shape_2_per_frame2=y = 1-q2; +shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; +shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; +shape_2_per_frame5= +shape_2_per_frame6=flux = sin(time*2.1); +shape_2_per_frame7=flux = flux*above(flux,0.95); +shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_2_per_frame9=flux = max(flux,0); +shape_2_per_frame10=flux=pow(flux,1.3); +shape_2_per_frame11= +shape_2_per_frame12=rad = rad + flux*0.2 +shape_2_per_frame13= +shape_2_per_frame14= +shape_2_per_frame15= +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.090529 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.819542 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=0.000000 +shapecode_3_border_g=0.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = 1-q2; +shape_3_per_frame3=ang = .261799 - q6*50; +shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; +shape_3_per_frame5= +shape_3_per_frame6=tex_ang = time*8; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=flux = sin(time*2.1); +shape_3_per_frame10=flux = flux*above(flux,0.95); +shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; +shape_3_per_frame12=flux = max(flux,0); +shape_3_per_frame13=flux=pow(flux,1.3); +shape_3_per_frame14= +shape_3_per_frame15=rad = rad + flux*0.2 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=//q1 = .1*tan(time); +per_frame_4=//q1 = min(0.5,max(0.0,q1)); +per_frame_5=//q1 = q1+0.5; +per_frame_6= +per_frame_7=q1=sin(time); +per_frame_8=q1sgn = sign(q1); +per_frame_9=q1=abs(q1); +per_frame_10=q1=pow(q1,6); +per_frame_11=q1=q1*q1sgn; +per_frame_12=q1=q1*0.4 + 0.5; +per_frame_13= +per_frame_14= +per_frame_15= +per_frame_16=q2 = .5 + .1*sin(time*.548); +per_frame_17= +per_frame_18=tic = min(time - tin,.1); +per_frame_19=tin = time; +per_frame_20= +per_frame_21=ra = 1; +per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_25= +per_frame_26=rb = 1; +per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb_avg; +per_frame_30=mt = mt + tic*mid_avg; +per_frame_31=bt = bt + tic*bass_avg; +per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_33= +per_frame_34=sp = abs(vav - slide)*.1; +per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; +per_frame_36=toc = 1; +per_frame_37= +per_frame_38=q3 = (treb + bass + mid)*.3333; +per_frame_39=q3=q3*q3*0.5 + 0.1; +per_frame_40= +per_frame_41=q4 = mt; +per_frame_42=q5 = bt; +per_frame_43= +per_frame_44=cx = q1; +per_frame_45=cy = q2; +per_frame_46= +per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; +per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; +per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); +per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); +per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; +per_frame_52= +per_frame_53=q6 = rmod; +per_frame_54= +per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); +per_frame_56= +per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); +per_frame_58= +per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); +per_pixel_1=tm=time/rad; +per_pixel_2=a = q1; +per_pixel_3=b = q2; +per_pixel_4= +per_pixel_5=//testcode +per_pixel_6=//a=0.5;b=0.5; +per_pixel_7= +per_pixel_8=mx = x-a; +per_pixel_9=my = y-b; +per_pixel_10=zm = -.45; +per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); +per_pixel_12= +per_pixel_13=//test code +per_pixel_14=//zm= -0.5; +per_pixel_15= +per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; +per_pixel_17= +per_pixel_18=rot = rot*(1-dis); +per_pixel_19=rot=rot*20*q8 ; +per_pixel_20= +per_pixel_21=//testcode +per_pixel_22=//q3=3.1; +per_pixel_23= +per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; +per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; +per_pixel_26= diff --git a/presets/presets_tryptonaut/shifter - fractal grinder.milk b/presets/presets_tryptonaut/shifter - fractal grinder.milk new file mode 100755 index 0000000000..3201fa491a --- /dev/null +++ b/presets/presets_tryptonaut/shifter - fractal grinder.milk @@ -0,0 +1,458 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.980000 +fDecay=0.950000 +fVideoEchoZoom=0.741631 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=4.099998 +fWaveScale=1.157176 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.842831 +fShader=1.000000 +zoom=0.970113 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.004000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=0.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=tic = min(time-tir,.1); +wave_0_per_frame2=tir = time; +wave_0_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_0_per_frame4= +wave_0_per_frame5= +wave_0_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_0_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_0_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_0_per_frame9=ar=vr; +wave_0_per_frame10=ag=vg; +wave_0_per_frame11=ab=vb; +wave_0_per_point1=sp = sample*10; +wave_0_per_point2=ti = time; +wave_0_per_point3= +wave_0_per_point4= +wave_0_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_0_per_point8= +wave_0_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_0_per_point10= +wave_0_per_point11=ox = sign(ox)*pow(ox,4)*2; +wave_0_per_point12=oy = sign(oy)*pow(oy,4)*2; +wave_0_per_point13=oz = sign(oz)*pow(oz,4)*2; +wave_0_per_point14= +wave_0_per_point15=a = (1.732 - dis)*.57735; +wave_0_per_point16= +wave_0_per_point17=xang = q2; +wave_0_per_point18=yang = q3; +wave_0_per_point19=zang = q4; +wave_0_per_point20= +wave_0_per_point21=fov = .5; +wave_0_per_point22= +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point29=ox = mx; +wave_0_per_point30=oy = my; +wave_0_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point33=oy = my; +wave_0_per_point34=oz = mz; +wave_0_per_point35= +wave_0_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_0_per_point37=x = ox*fov/oz + 0.5; +wave_0_per_point38=x = (x-.5)*0.75 + 0.5; +wave_0_per_point39=y = oy*fov/oz + 0.5; +wave_0_per_point40= +wave_0_per_point41= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.000000 +wavecode_1_g=0.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=tic = min(time-tir,.1); +wave_1_per_frame2=tir = time; +wave_1_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_1_per_frame4= +wave_1_per_frame5= +wave_1_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_1_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_1_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_1_per_frame9=ar=vr; +wave_1_per_frame10=ag=vg; +wave_1_per_frame11=ab=vb; +wave_1_per_point1=sp = sample*10; +wave_1_per_point2=ti = time; +wave_1_per_point3= +wave_1_per_point4= +wave_1_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_1_per_point8= +wave_1_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_1_per_point10= +wave_1_per_point11=ox = sign(ox)*pow(ox,4)*2; +wave_1_per_point12=oy = sign(oy)*pow(oy,4)*2; +wave_1_per_point13=oz = sign(oz)*pow(oz,4)*2; +wave_1_per_point14= +wave_1_per_point15=a = (1.732 - dis)*.57735; +wave_1_per_point16= +wave_1_per_point17=xang = q2; +wave_1_per_point18=yang = q3; +wave_1_per_point19=zang = q4; +wave_1_per_point20= +wave_1_per_point21=fov = .5; +wave_1_per_point22= +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point29=ox = mx; +wave_1_per_point30=oy = my; +wave_1_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point33=oy = my; +wave_1_per_point34=oz = mz; +wave_1_per_point35= +wave_1_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_1_per_point37=x = ox*fov/oz + 0.5; +wave_1_per_point38=x = (x-.5)*0.75 + 0.5; +wave_1_per_point39=y = oy*fov/oz + 0.5; +wave_1_per_point40= +wave_1_per_point41= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=tic = min(time-tir,.1); +wave_2_per_frame2=tir = time; +wave_2_per_frame3=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; +wave_2_per_frame4= +wave_2_per_frame5= +wave_2_per_frame6=vr = .75 + .25*sin(ti*1.132 + 1); +wave_2_per_frame7=vg = .75 + .25*sin(ti*1.121 + 1); +wave_2_per_frame8=vb = .75 + .25*sin(ti*1.187 + 1); +wave_2_per_frame9=ar=vr; +wave_2_per_frame10=ag=vg; +wave_2_per_frame11=ab=vb; +wave_2_per_point1=sp = sample*10; +wave_2_per_point2=ti = time; +wave_2_per_point3= +wave_2_per_point4= +wave_2_per_point5=ox = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point6=oy = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point7=oz = (rand(1001)*.001 + rand(1001)*.001 - rand(1001)*.001 - rand(1001)*.001); +wave_2_per_point8= +wave_2_per_point9=dis = pow(ox*ox + oy*oy + oz*oz,.5); +wave_2_per_point10= +wave_2_per_point11=ox = sign(ox)*pow(ox,3)*8; +wave_2_per_point12=oy = sign(oy)*pow(oy,3)*8; +wave_2_per_point13=oz = sign(oz)*pow(oz,3)*8; +wave_2_per_point14= +wave_2_per_point15=a = (1.732 - dis)*.57735; +wave_2_per_point16= +wave_2_per_point17=xang = q2; +wave_2_per_point18=yang = q3; +wave_2_per_point19=zang = q4; +wave_2_per_point20= +wave_2_per_point21=fov = .5; +wave_2_per_point22= +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point28=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point29=ox = mx; +wave_2_per_point30=oy = my; +wave_2_per_point31=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point32=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point33=oy = my; +wave_2_per_point34=oz = mz; +wave_2_per_point35= +wave_2_per_point36=oz = (oz - int(oz*.2)*5 - 5)*2; +wave_2_per_point37=x = ox*fov/oz + 0.5; +wave_2_per_point38=x = (x-.5)*0.75 + 0.5; +wave_2_per_point39=y = oy*fov/oz + 0.5; +wave_2_per_point40= +wave_2_per_point41= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=ra = .7; +wave_3_per_point2=rb = .1; +wave_3_per_point3=pib = 6.28318530718; +wave_3_per_point4= +wave_3_per_point5=tic = min(time-tin,.1); +wave_3_per_point6=tin = if(equal(sample,0),time,tin); +wave_3_per_point7= +wave_3_per_point8=mod = pow(pib,21); +wave_3_per_point9=med = 1; +wave_3_per_point10= +wave_3_per_point11=sp = sample*pib*mod + time*1; +wave_3_per_point12=sam = sample*med - q7; +wave_3_per_point13= +wave_3_per_point14=ox = ra*sin(sam*pib); +wave_3_per_point15=oy = ra*cos(sam*pib); +wave_3_per_point16=ox = ox + rb*-cos(sp)*sin(sam*pib); +wave_3_per_point17=oz = rb*-sin(sp); +wave_3_per_point18=oy = oy + rb*-cos(sp)*cos(sam*pib); +wave_3_per_point19= +wave_3_per_point20= +wave_3_per_point21=a = .5 + .5*cos(sample*pib*3 + pib*.5); +wave_3_per_point22= +wave_3_per_point23=xang = q2; +wave_3_per_point24=yang = q3; +wave_3_per_point25=zang = q4; +wave_3_per_point26=fov = .5; +wave_3_per_point27= +wave_3_per_point28=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point29=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point30=ox = mx; +wave_3_per_point31=oy = my; +wave_3_per_point32=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point33=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point34=ox = mx; +wave_3_per_point35=oz = mz; +wave_3_per_point36=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point37=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point38=oy = my; +wave_3_per_point39=oz = mz; +wave_3_per_point40= +wave_3_per_point41=oz = oz - 2; +wave_3_per_point42=x = ox*fov/oz + 0.5; +wave_3_per_point43=x = (x-.5)*0.75 + 0.5; +wave_3_per_point44=y = oy*fov/oz + 0.5; +wave_3_per_point45= +shapecode_0_enabled=1 +shapecode_0_sides=74 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.800000 +shapecode_0_y=0.200000 +shapecode_0_rad=0.608571 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.756813 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=0.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=ang = -q1; +shapecode_1_enabled=1 +shapecode_1_sides=74 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.200000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.608571 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=3.141593 +shapecode_1_tex_zoom=0.756813 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=0.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = rand(100)*0.01; +shape_1_init2=t2 = rand(100)*0.01; +shape_1_init3=te = 1; +shape_1_init4=poly = 5; +shape_1_per_frame1=ang = -q1; +shapecode_2_enabled=1 +shapecode_2_sides=74 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_x=0.200000 +shapecode_2_y=0.200000 +shapecode_2_rad=0.608571 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=3.141593 +shapecode_2_tex_zoom=0.756813 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=0.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = rand(100)*0.01; +shape_2_init2=t2 = rand(100)*0.01; +shape_2_init3=te = 1; +shape_2_init4=poly = 5; +shape_2_per_frame1=ang = q1; +shapecode_3_enabled=1 +shapecode_3_sides=74 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.800000 +shapecode_3_y=0.800000 +shapecode_3_rad=0.608571 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=3.141593 +shapecode_3_tex_zoom=0.756813 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = rand(100)*0.01; +shape_3_init2=t2 = rand(100)*0.01; +shape_3_init3=te = 1; +shape_3_init4=poly = 5; +shape_3_per_frame1=ang = q1; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=tt = tt + tic*treb_avg; +per_frame_13=mt = mt + tic*mid_avg; +per_frame_14=bt = bt + tic*bass_avg; +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=sp = abs(vav - slide)*.1; +per_frame_18= +per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); +per_frame_20=slide = 1.4; +per_frame_21= +per_frame_22=q1 = vt*.5; +per_frame_23=q2 = tt*.1; +per_frame_24=q3 = mt*.1; +per_frame_25=q4 = bt*.1; +per_frame_26=q5 = .5*slide; +per_frame_27=q7 = vt*.1; +per_frame_28=q8 = time*.1; +per_frame_29=decay = 1; +per_frame_30= diff --git a/presets/presets_tryptonaut/shifter - lazerspecs_phat_edit.milk b/presets/presets_tryptonaut/shifter - lazerspecs_phat_edit.milk new file mode 100755 index 0000000000..6adcd1e427 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - lazerspecs_phat_edit.milk @@ -0,0 +1,365 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.960001 +fDecay=0.910000 +fVideoEchoZoom=1.347319 +fVideoEchoAlpha=0.800000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999513 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=54 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=mod =bass/5; +wave_0_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_0_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_1_enabled=1 +wavecode_1_samples=54 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=mod = .2; +wave_1_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_1_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_2_enabled=1 +wavecode_2_samples=54 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=mod = .20333; +wave_2_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_2_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +wavecode_3_enabled=1 +wavecode_3_samples=54 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=mod = .20667; +wave_3_per_point2=x = .5 + mod*(sin(sample*6.28*1 + q3)*.5 + .5*cos(sample*6.28*3 + q3)); +wave_3_per_point3=y = .5 + mod*(cos(sample*6.28*2 + q3)*.5 + .5*sin(sample*6.28*1 + q3)); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.998627 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=0.670315 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shape_0_per_frame1=a = q1; +shape_0_per_frame2=a2 = a; +shape_0_per_frame3= +shape_0_per_frame4=ra = rand(1001)*.001; +shape_0_per_frame5=ti = q4; +shape_0_per_frame6=ra = ti - int(ti); +shape_0_per_frame7= +shape_0_per_frame8=tex_zoom = .67 + ra*q2*4; +shape_0_per_frame9= +shape_0_per_frame10=h = if(above(ra,.15),ra-.15,ra+.85); +shape_0_per_frame11=s = 1; +shape_0_per_frame12=l = q5; +shape_0_per_frame13= +shape_0_per_frame14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_0_per_frame15=tmpa = 2*l - tmpb; +shape_0_per_frame16=hvr = h + .333333; +shape_0_per_frame17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_0_per_frame18=hvg = h; +shape_0_per_frame19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_0_per_frame20=hvb = h - .333333; +shape_0_per_frame21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_0_per_frame22= +shape_0_per_frame23=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_0_per_frame24=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_0_per_frame25=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_0_per_frame26= +shape_0_per_frame27=r2 = r; +shape_0_per_frame28=g2 = g; +shape_0_per_frame29=b2 = b; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=1.998627 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.670315 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shape_1_per_frame1=g = .7; +shape_1_per_frame2=g2 = g; +shape_1_per_frame3= +shape_1_per_frame4=a = q1; +shape_1_per_frame5=a2 = a; +shape_1_per_frame6= +shape_1_per_frame7=ra = rand(1001)*.001; +shape_1_per_frame8=ti = q4 + .25; +shape_1_per_frame9=ra = ti - int(ti); +shape_1_per_frame10= +shape_1_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_1_per_frame12= +shape_1_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_1_per_frame14=s = 1; +shape_1_per_frame15=l = q5; +shape_1_per_frame16= +shape_1_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_1_per_frame18=tmpa = 2*l - tmpb; +shape_1_per_frame19=hvr = h + .333333; +shape_1_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_1_per_frame21=hvg = h; +shape_1_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_1_per_frame23=hvb = h - .333333; +shape_1_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_1_per_frame25= +shape_1_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_1_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_1_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_1_per_frame29= +shape_1_per_frame30=r2 = r; +shape_1_per_frame31=g2 = g; +shape_1_per_frame32=b2 = b; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.998627 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.670315 +shapecode_2_r=0.000000 +shapecode_2_g=1.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=1.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shape_2_per_frame1=g = .7; +shape_2_per_frame2=g2 = g; +shape_2_per_frame3= +shape_2_per_frame4=a = q1; +shape_2_per_frame5=a2 = a; +shape_2_per_frame6= +shape_2_per_frame7=ra = rand(1001)*.001; +shape_2_per_frame8=ti = q4 + .5; +shape_2_per_frame9=ra = ti - int(ti); +shape_2_per_frame10= +shape_2_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_2_per_frame12= +shape_2_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_2_per_frame14=s = 1; +shape_2_per_frame15=l = q5; +shape_2_per_frame16= +shape_2_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_2_per_frame18=tmpa = 2*l - tmpb; +shape_2_per_frame19=hvr = h + .333333; +shape_2_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_2_per_frame21=hvg = h; +shape_2_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_2_per_frame23=hvb = h - .333333; +shape_2_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_2_per_frame25= +shape_2_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_2_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_2_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_2_per_frame29= +shape_2_per_frame30=r2 = r; +shape_2_per_frame31=g2 = g; +shape_2_per_frame32=b2 = b; +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.998627 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.670315 +shapecode_3_r=0.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=g = .7; +shape_3_per_frame2=g2 = g; +shape_3_per_frame3= +shape_3_per_frame4=a = q1; +shape_3_per_frame5=a2 = a; +shape_3_per_frame6= +shape_3_per_frame7=ra = rand(1001)*.001; +shape_3_per_frame8=ti = q4 + .75; +shape_3_per_frame9=ra = ti - int(ti); +shape_3_per_frame10= +shape_3_per_frame11=tex_zoom = .67 + ra*q2*4; +shape_3_per_frame12= +shape_3_per_frame13=h = if(above(ra,.15),ra-.15,ra+.85); +shape_3_per_frame14=s = 1; +shape_3_per_frame15=l = q5; +shape_3_per_frame16= +shape_3_per_frame17=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_3_per_frame18=tmpa = 2*l - tmpb; +shape_3_per_frame19=hvr = h + .333333; +shape_3_per_frame20=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_3_per_frame21=hvg = h; +shape_3_per_frame22=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_3_per_frame23=hvb = h - .333333; +shape_3_per_frame24=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_3_per_frame25= +shape_3_per_frame26=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_3_per_frame27=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_3_per_frame28=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_3_per_frame29= +shape_3_per_frame30=r2 = r; +shape_3_per_frame31=g2 = g; +shape_3_per_frame32=b2 = b; +per_frame_1=warp = 0; +per_frame_2=arot = 1.5708; +per_frame_3= +per_frame_4=q1 = .2; +per_frame_5= +per_frame_6=decay = 1; +per_frame_7= +per_frame_8=q2 = .020; +per_frame_9= +per_frame_10=tic = min(time-tin,.1); +per_frame_11=tin = time; +per_frame_12= +per_frame_13=ra = 12; +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15=vt = vt + tic*vav; +per_frame_16= +per_frame_17=q3 = vt; +per_frame_18= +per_frame_19=q4 = time*24.3; +per_frame_20=q5 = .6; +per_pixel_1=sx=-1; diff --git a/presets/presets_tryptonaut/shifter - liquid circuitry.milk b/presets/presets_tryptonaut/shifter - liquid circuitry.milk new file mode 100755 index 0000000000..13e81b8142 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - liquid circuitry.milk @@ -0,0 +1,465 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999797 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.004538 +fWaveScale=0.167026 +fWaveSmoothing=0.000000 +fWaveParam=0.000001 +fModWaveAlphaStart=1.000000 +fModWaveAlphaEnd=1.000001 +fWarpAnimSpeed=1.000000 +fWarpScale=0.106584 +fZoomExponent=4.100456 +fShader=0.000000 +zoom=1.000000 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.950000 +wave_y=1.000000 +ob_size=0.005000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=1.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=1.000000 +ib_g=1.000000 +ib_b=1.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=0.000000 +mv_a=0.000000 +b1n=0.000000 +b2n=0.000000 +b3n=0.000000 +b1x=1.000000 +b2x=1.000000 +b3x=1.000000 +b1ed=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=41 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.010000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t8 = 1; +wave_0_init2=t1 = q5; +wave_0_per_point1=x = rand(1001)*.001; +wave_0_per_point2=y = rand(1001)*.001; +wave_0_per_point3= +wave_0_per_point4=//r = rand(1001)*.001; +wave_0_per_point5=g=above(rand(1001)*.001,.9)*.5; +wave_0_per_point6=b = 0; +wave_0_per_point7=r = 0; +wave_0_per_point8= +wavecode_1_enabled=0 +wavecode_1_samples=61 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.012402 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=1.000000 +wave_1_init1=t8 = 1; +wave_1_init2=t1 = q5; +wave_1_per_point1=x = (sample-.5)*.02 + .2; +wave_1_per_point2=y = .5; +wave_1_per_point3=r = 1; +wave_1_per_point4=g = 1; +wave_1_per_point5=b = 1; +wavecode_2_enabled=0 +wavecode_2_samples=31 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.013034 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t8 = 1; +wave_2_init2=t1 = q5; +wave_2_per_frame1=t1 = q5; +wave_2_per_frame2=t2 = q4; +wave_2_per_frame3=t3 = q6; +wave_2_per_point1=t8 = -t8; +wave_2_per_point2=d1 = 0.15 + t8*0.01 - value1*0.1*(t8+1); +wave_2_per_point3=dir1 = t2; +wave_2_per_point4=dir2 = t2*0.5 + t1*3/2 - t3*3; +wave_2_per_point5=dir3 = sample*asin(1)*4 + t3 - t2*5/6 + t1*3/2; +wave_2_per_point6= +wave_2_per_point7=x = 0.5 + sin(dir1)*0.1 + sin(dir2)*0.05 + sin(dir3)*d1; +wave_2_per_point8=y = 0.5 + cos(dir1)*0.1 + cos(dir2)*0.05 + cos(dir3)*d1; +wave_2_per_point9=y = (y-0.5)*1.2 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=511 +wavecode_3_sep=4 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.023445 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.990000 +wave_3_init1=t2 = 0; +wave_3_init2=t3 = 0; +wave_3_init3=t4 = 0; +wave_3_init4=ab = 1; +wave_3_per_frame1=t1 = q4*0.75; +wave_3_per_frame2=t2 = q5*0.75; +wave_3_per_frame3=t3 = q6*0.75; +wave_3_per_frame4=t4 = q4*0.75; +wave_3_per_frame5=t5 = q5*0.75; +wave_3_per_frame6=t6 = q6*0.75; +wave_3_per_frame7=t8 = 1; +wave_3_per_point1= +wave_3_per_point2=pi = asin(1); +wave_3_per_point3=n = 80; +wave_3_per_point4=t8 = -t8; +wave_3_per_point5=rd = 0.075+0.02*(t8+1)/2; +wave_3_per_point6=xx = sin(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*sin(sample*pi*4); +wave_3_per_point7=yy = cos(sample*pi*4)*0.5 + cos(sample*pi*n)*rd*cos(sample*pi*4); +wave_3_per_point8=zz = sin(sample*pi*n)*rd; +wave_3_per_point9= +wave_3_per_point10=d = sqrt( xx*xx + yy*yy + zz*zz)*0.004; +wave_3_per_point11=d1 = 1; +wave_3_per_point12=xx = xx*d1; +wave_3_per_point13=yy = yy*d1; +wave_3_per_point14=zz = zz*d1; +wave_3_per_point15= +wave_3_per_point16= +wave_3_per_point17= +wave_3_per_point18= +wave_3_per_point19=w1 = d*t4; +wave_3_per_point20=w2 = d*t5; +wave_3_per_point21=w3 = d*t6; +wave_3_per_point22= +wave_3_per_point23=s1 = sin(t1*1+w1); +wave_3_per_point24=s2 = sin(t2*1+w2); +wave_3_per_point25=s3 = sin(t3*1+w3); +wave_3_per_point26=c1 = cos(t1*1+w1); +wave_3_per_point27=c2 = cos(t2*1+w2); +wave_3_per_point28=c3 = cos(t3*1+w3); +wave_3_per_point29= +wave_3_per_point30=z = (c3*s1*c2 + s3*s2)*xx - (c3*s1*s2-s3*c2)*yy + c3*c1*zz; +wave_3_per_point31=x1 = (c1*c2*xx + c1*s2*yy - s1*zz); +wave_3_per_point32=y1 = ((s3*s1*c2 - c3*s2)*xx + (s3*s1*s2+c3*c2)*yy + s3*c1*zz); +wave_3_per_point33= +wave_3_per_point34=a = 0.5; +wave_3_per_point35=zoom = 0.5*atan2(a,a+z);//0.5*(1/(z+a)); +wave_3_per_point36=x = 0.5 + zoom*x1; +wave_3_per_point37=y = 0.5 + zoom*y1; +wave_3_per_point38= +wave_3_per_point39=pi3 = 3.1415*2*0.3333; +wave_3_per_point40=t = -z*2 - time*0.8;//sample*pi*4-0*time +t4*3; +wave_3_per_point41=c=2; +wave_3_per_point42=r = sin(t)*c; +wave_3_per_point43= +wave_3_per_point44=g = sin(t+pi3)*c; +wave_3_per_point45= +wave_3_per_point46=b = sin(t-pi3)*c; +wave_3_per_point47= +wave_3_per_point48=j = 0.71; +wave_3_per_point49=//r = 0.5+xx*j; +wave_3_per_point50=//g = 0.5+yy*j; +wave_3_per_point51=//b = 0.5+zz*j; +wave_3_per_point52= +wave_3_per_point53=r = if(above(r,1),1,r); +wave_3_per_point54=r = if(below(r,0),0,r); +wave_3_per_point55=g = if(above(g,1),1,g); +wave_3_per_point56=g = if(below(g,0),0,g); +wave_3_per_point57=b = if(above(b,1),1,b); +wave_3_per_point58=b = if(below(b,0),0,b); +wave_3_per_point59= +wave_3_per_point60=a = sigmoid(-z,7)+0.; +wave_3_per_point61= +shapecode_0_enabled=0 +shapecode_0_sides=34 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_x=0.750000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.304784 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=1.570796 +shapecode_0_tex_zoom=0.827733 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=vx = 0; +shape_0_init2=vy = 0; +shape_0_per_frame1=rad = .3; +shape_0_per_frame2=tex_zoom = .28; +shape_0_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_0_per_frame4= +shape_0_per_frame5=x = .5 + sin(time*.957)*.1; +shapecode_1_enabled=0 +shapecode_1_sides=74 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_x=0.250000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.453782 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.503296 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=rad = .3; +shape_1_per_frame2=tex_zoom = .3; +shape_1_per_frame3=tex_zoom = 1/rad*tex_zoom; +shape_1_per_frame4= +shape_1_per_frame5=x = .5 + sin(time)*.15; +shapecode_2_enabled=1 +shapecode_2_sides=84 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.167768 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.503296 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.200000 +shapecode_2_a=0.600000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=vx = 0; +shape_2_init2=vy = 0; +shape_2_per_frame1=ti = time*.3; +shape_2_per_frame2=x = .5 + .34*sin(ti); +shape_2_per_frame3=y = .5 + .34*cos(ti); +shape_2_per_frame4= +shape_2_per_frame5=rad = rad + bass; +shape_2_per_frame6= +shape_2_per_frame7=ti = time*2.3; +shape_2_per_frame8=x = x + .1*sin(ti); +shape_2_per_frame9=y = y + .1*cos(ti); +shapecode_3_enabled=0 +shapecode_3_sides=74 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.167769 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=0.000000 +shapecode_3_border_a=0.100000 +shape_3_per_frame1=ti = -time*.3; +shape_3_per_frame2=x = .5 + .3*sin(ti); +shape_3_per_frame3=y = .5 + .3*cos(ti); +shape_3_per_frame4= +shape_3_per_frame5=ti = -time*2.3; +shape_3_per_frame6=x = x + .2*sin(ti); +shape_3_per_frame7=y = y + .2*cos(ti); +per_frame_1=//begin beat code +per_frame_2=volume = 0.3*(bass+mid); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=//end beat code +per_frame_14= +per_frame_15=zoom = 1; +per_frame_16=decay = 1; +per_frame_17=warp = 0; +per_frame_18=wave_a = 0; +per_frame_19= +per_frame_20=tic = min(time-tin,.1); +per_frame_21=tin = time; +per_frame_22= +per_frame_23=q2 = 1; +per_frame_24= +per_frame_25=q1=1; +per_frame_26=vol = vol + ((alt + bass + mid)/3-vol)*tic*1; +per_frame_27=q5 = vol*vol*vol*2; +per_frame_28= +per_frame_29= +per_frame_30=q8 = sin(time)*.5; +per_frame_31=q9 = sin(time*.75)*.5; +per_frame_32= +per_frame_33=sw = abs(sw - beat); +per_frame_34=an = an + tic*.5*(1-2*sw); +per_frame_35= +per_frame_36= +per_frame_37=q7 = 1+(pow(q8,2) + pow(q9,2))*1; +per_frame_38=q10 = sin(an); +per_frame_39=q11 = cos(an); +per_frame_40= +per_frame_41=sp = sp + tic*vol*vol*.5; +per_frame_42= +per_frame_43=q12 = sp; +per_frame_44= +per_frame_45=monitor = q12; +per_pixel_1=//zoom = pow(rad,2)+.01; +warp_1=` +warp_2=`shader_body +warp_3=`{ +warp_4=` +warp_5=`ret.xyz = tex2D(sampler_main, uv_orig).xyz*float3(.97,1,.97) - float3(.03,0,.03); +warp_6=` +warp_7=`ret.z += GetBlur1(uv_orig).z*.45; +warp_8=`ret.x += GetBlur1(uv_orig).z*.05 + GetBlur3(uv_orig).z*.05; +warp_9=`ret.z -= ret.x; +warp_10=` +warp_11=`float2 pixelsize = texsize.zw; +warp_12=`ret.y = saturate(tex2D( sampler_pw_main,uv_orig).y); +warp_13=` +warp_14=`float1 conway = tex2D( sampler_pw_main, uv_orig + float2(-1,-1)*pixelsize).y; +warp_15=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,-1)*pixelsize).y; +warp_16=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,-1)*pixelsize).y; +warp_17=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,0)*pixelsize).y; +warp_18=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,0)*pixelsize).y; +warp_19=` conway += tex2D( sampler_pw_main, uv_orig + float2(-1,1)*pixelsize).y; +warp_20=` conway += tex2D( sampler_pw_main, uv_orig + float2(0,1)*pixelsize).y; +warp_21=` conway += tex2D( sampler_pw_main, uv_orig + float2(1,1)*pixelsize).y; +warp_22=` +warp_23=`float1 test = q5*(1-GetBlur1(uv_orig).y)*(1-GetBlur2(uv_orig).y)*(1-GetBlur3(uv_orig).y); +warp_24=` +warp_25=`conway -= tex2D( sampler_pw_main, uv_orig).x; +warp_26=` +warp_27=` +warp_28=`if (conway > 0) { +warp_29=`if (saturate(ret.y) == 0) { +warp_30=`ret.y = floor(test*1.8)*q1; +warp_31=`} +warp_32=`} +warp_33=` +warp_34=`ret.y -= ret.x; +warp_35=` +warp_36=`ret.xyz -= 1-q2; +warp_37=`} +comp_1=`sampler sampler_rose; +comp_2=`shader_body +comp_3=`{ +comp_4=` +comp_5=`float2 uvm = (uv - .5)*q7*(1/(1-rad*.1+q9*(uv.x - .5)+q8*(uv.y - .5)))+.5; +comp_6=` +comp_7=`uvm = (uvm - .5); +comp_8=`uvm = (q10*uvm.xy + float2(1,-1)*q11*uvm.yx)*aspect.zw + .5; +comp_9=` +comp_10=` +comp_11=`uvm = abs(frac((uvm+q12)*.5) - .5)*2; +comp_12=` +comp_13=` +comp_14=`float2 uv3 = tex2D( sampler_main, uvm).zzz; +comp_15=`uv3 = (uv3.xy-0.37) * .13 + uvm; +comp_16=` +comp_17=` +comp_18=`ret.xyz = tex2D(sampler_pw_main, uvm).yyy; +comp_19=` +comp_20=`ret = lerp ( +comp_21=`GetBlur1(uv3).z + GetBlur3(uv3).z, +comp_22=`ret, +comp_23=`ret); +comp_24=` +comp_25=`ret = pow(ret,float3(.5,1,2)) - .25; +comp_26=` +comp_27=`ret *= GetBlur3(uv3).y; +comp_28=` +comp_29=`//ret = tex2D(sampler_pw_main, uv).xyz; +comp_30=` +comp_31=`} diff --git a/presets/presets_tryptonaut/shifter - morphid.milk b/presets/presets_tryptonaut/shifter - morphid.milk new file mode 100755 index 0000000000..9378cd788e --- /dev/null +++ b/presets/presets_tryptonaut/shifter - morphid.milk @@ -0,0 +1,362 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=1.050599 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=60.803680 +fShader=0.000000 +zoom=0.999514 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t1 = int(rand(1001))*.001*.7 + .2; +wave_0_init2=t2 = int(rand(1001))*.001*.7 + .2; +wave_0_init3=t3 = int(rand(1001))*.001*.7 + .2; +wave_0_init4=t4 = int(rand(1001))*.001*.7 + .2; +wave_0_init5= +wave_0_init6=t5 = int(rand(1001))*.001*7 + 2; +wave_0_init7=t6 = int(rand(1001))*.001*7 + 2; +wave_0_init8=t7 = int(rand(1001))*.001*7 + 2; +wave_0_init9=t8 = int(rand(1001))*.001*7 + 2; +wave_0_init10= +wave_0_per_point1=sz = value1*.2; +wave_0_per_point2=sp = sample*6.28*6; +wave_0_per_point3= +wave_0_per_point4=sw = above(sample,.3333); +wave_0_per_point5= +wave_0_per_point6=ti = q1*2.5 + (sw*.3333 + (1-sw)*sample)*6.28; +wave_0_per_point7=mx = .5 + .2*(sin(ti*t1) + sin(ti*t3)); +wave_0_per_point8=my = .5 + .2*(sin(ti*t2) + sin(ti*t4)); +wave_0_per_point9=mix = .5 + .2*(sin(ti*t5) + sin(ti*t7)); +wave_0_per_point10=miy = .5 + .2*(sin(ti*t6) + sin(ti*t8)); +wave_0_per_point11= +wave_0_per_point12= +wave_0_per_point13=//mx = if(sw,mx,(.3333-sample)*mix + sample*3*mx); +wave_0_per_point14=//my = if(sw,my,(.3333-sample)*miy + sample*3*my); +wave_0_per_point15= +wave_0_per_point16=x = mx + sw*sz*sin(sp); +wave_0_per_point17=y = my + sw*sz*cos(sp); +wave_0_per_point18= +wave_0_per_point19=a = min(1,sample + sw); +wave_0_per_point20=a = sw; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t1 = int(rand(1001))*.001*.7 + .2; +wave_1_init2=t2 = int(rand(1001))*.001*.7 + .2; +wave_1_init3=t3 = int(rand(1001))*.001*.7 + .2; +wave_1_init4=t4 = int(rand(1001))*.001*.7 + .2; +wave_1_per_point1=sz = value2*.2; +wave_1_per_point2=sp = sample*6.28*6; +wave_1_per_point3= +wave_1_per_point4=sw = above(sample,.3333); +wave_1_per_point5= +wave_1_per_point6=ti = q1*2.5 + (sw*.3333 + (1-sw)*sample)*6.28; +wave_1_per_point7=mx = .5 + .2*(sin(ti*t1) + sin(ti*t3)); +wave_1_per_point8=my = .5 + .2*(sin(ti*t2) + sin(ti*t4)); +wave_1_per_point9= +wave_1_per_point10= +wave_1_per_point11=x = mx + sw*sz*sin(sp); +wave_1_per_point12=y = my + sw*sz*cos(sp); +wave_1_per_point13= +wave_1_per_point14=a = min(1,sample + sw); +wave_1_per_point15=a = sw; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = int(rand(1001))*.001*.7 + .2; +wave_2_init2=t2 = int(rand(1001))*.001*.7 + .2; +wave_2_init3=t3 = int(rand(1001))*.001*.7 + .2; +wave_2_init4=t4 = int(rand(1001))*.001*.7 + .2; +wave_2_per_point1=sz = value2*.2; +wave_2_per_point2=sp = sample*6.28*2; +wave_2_per_point3= +wave_2_per_point4=x = .5 + sz*sin(sp); +wave_2_per_point5=y = .5 + sz*cos(sp); +wave_2_per_point6= +wave_2_per_point7= +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=0.000000 +wavecode_3_g=0.000000 +wavecode_3_b=0.000000 +wavecode_3_a=0.000000 +wave_3_per_point1=x = int(rand(1001))*.001; +wave_3_per_point2=y = int(rand(1001))*.001; +wave_3_per_point3= +wave_3_per_point4=a = below(int(rand(500)),mid*50); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.901626 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.488863 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.100000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.100000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.300000 +shape_0_per_frame1=//ang = int(rand(1001))*.001*6.2832; +shape_0_per_frame2= +shape_0_per_frame3=tex_zoom = 1/rad; +shape_0_per_frame4= +shape_0_per_frame5=a = .01; +shape_0_per_frame6=a2 = a; +shapecode_1_enabled=0 +shapecode_1_sides=44 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.444841 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=0.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=1.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=tic = min(q3-tin,.1); +shape_1_per_frame2=tin = q3; +shape_1_per_frame3= +shape_1_per_frame4=sw = above(tim,.2); +shape_1_per_frame5=tim = if(sw,tim-.2,tim); +shape_1_per_frame6=tim = tim + tic; +shape_1_per_frame7=swi = if(sw,1-swi,swi); +shape_1_per_frame8= +shape_1_per_frame9=a = swi*.05; +shape_1_per_frame10=a2 = a; +shapecode_2_enabled=1 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.444819 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=0.050000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=r = .5 + .5*sin(time*1.123); +shape_2_per_frame2=g = .5 + .5*sin(time*1.456); +shape_2_per_frame3=b = .5 + .5*sin(time*1.789); +shape_2_per_frame4=r2=r; +shape_2_per_frame5=g2=g; +shape_2_per_frame6=b2=b; +shapecode_3_enabled=1 +shapecode_3_sides=40 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.402709 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.970590 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=0.100000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=//krash's beat detection code +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_8=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_9=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_10=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_11=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_12= +per_frame_13=warp = 0; +per_frame_14= +per_frame_15=tic = min(time-tin,.1); +per_frame_16=tin = time; +per_frame_17= +per_frame_18=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_19= +per_frame_20=treb_avg = tic*(treb_avg*(1/tic - 10) + 10*treb); +per_frame_21=mid_avg = tic*(mid_avg*(1/tic - 10) + 10*mid); +per_frame_22=bass_avg = tic*(bass_avg*(1/tic - 10) + 10*bass); +per_frame_23=vav = tic*(vav*(1/tic - 10) + 10*(bass+treb+mid)*.33333); +per_frame_24= +per_frame_25=tt = tt + tic*treb; +per_frame_26=mt = mt + tic*mid; +per_frame_27= +per_frame_28=bet = min(pow(bass,9),4); +per_frame_29=bt = bt + tic*bet; +per_frame_30=vt = vt + tic*vav; +per_frame_31= +per_frame_32=sp = abs(vav - slide)*.1; +per_frame_33=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_34=toc = 1; +per_frame_35= +per_frame_36= +per_frame_37=tr = if(above(st,0),.999,tr + tic*mid); +per_frame_38=tr = tr - int(tr); +per_frame_39=st = if(above(st,0),st - tic,above(tr,.9)*.1); +per_frame_40= +per_frame_41= +per_frame_42=q1 = tt; // speed of comets +per_frame_43=q2 = bt; // speed of ripples +per_frame_44=//q2 = .5; +per_frame_45=q3 = (tt + mt)*.1; //speed of bands +per_frame_46=q4 = vt; // speed of rotation +per_frame_47= +per_frame_48=br = beatrate*.5; +per_frame_49=sw = above(tim,br); +per_frame_50=tim = if(sw,tim-br,tim); +per_frame_51=tim = tim + tic; +per_frame_52=swi = if(sw,1-swi,swi); +per_frame_53=//invert = swi; +per_frame_54= +per_frame_55=monitor = beatrate; +per_pixel_1=sw = ang/6.2832 + 1; +per_pixel_2=sw = sw*8 + q4*.1; +per_pixel_3= +per_pixel_4=bl = equal(int(sw)%2,0); +per_pixel_5=sw = sw - int(sw); +per_pixel_6=sw = if(bl,sw,1-sw)*3; +per_pixel_7= +per_pixel_8= +per_pixel_9=rd = pow(rad*.8,.9); +per_pixel_10=rd = rd*6.2832*2 - (q2+sw)*3; +per_pixel_11=zm = .01 + .01*sin(rd); +per_pixel_12= +per_pixel_13=dx = (x-.5)*zm; +per_pixel_14=dy = (y-.5)*zm; diff --git a/presets/presets_tryptonaut/shifter - robotopia.milk b/presets/presets_tryptonaut/shifter - robotopia.milk new file mode 100755 index 0000000000..a92cdde98c --- /dev/null +++ b/presets/presets_tryptonaut/shifter - robotopia.milk @@ -0,0 +1,764 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.000000 +fDecay=0.500000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=11.200613 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.540000 +fModWaveAlphaEnd=0.000000 +fWarpAnimSpeed=0.010000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999922 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.020000 +ib_size=0.500000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.020000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.891519 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.100000 +wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_0_init9= +wave_0_per_frame1=tm = time*.1; +wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_0_per_frame5= +wave_0_per_frame6=tic = min(time - tin,1); +wave_0_per_frame7=tin = time; +wave_0_per_frame8= +wave_0_per_frame9=tva = (tic*q1*.5); +wave_0_per_frame10=tvb = (tic*q2*.5); +wave_0_per_frame11=tvc = (tic*q3*.5); +wave_0_per_frame12= +wave_0_per_frame13=q1 = tva; +wave_0_per_frame14=q2 = tvb; +wave_0_per_frame15=q3 = tvc; +wave_0_per_frame16= +wave_0_per_frame17=sz = .1; +wave_0_per_frame18=ra = .1; +wave_0_per_frame19=len = if(above(q6,3),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_0_per_frame20=t4 = len; +wave_0_per_point1=ang = 0; +wave_0_per_point2=len = t4; +wave_0_per_point3=mad = .6; +wave_0_per_point4= +wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_0_per_point6=ita = (ita + 1)*above(sample,0); +wave_0_per_point7= +wave_0_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_0_per_point9= +wave_0_per_point10=sw = sw - 1; +wave_0_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_0_per_point12= +wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_0_per_point14=a = lev*.1*1.46; +wave_0_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_0_per_point16= +wave_0_per_point17=ar = if(above(sample,0),ar,1); +wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_0_per_point19=br = if(above(sample,0),br,1); +wave_0_per_point20=br = if(equal(lev,1),br*-1,br); +wave_0_per_point21=cr = if(above(sample,0),cr,1); +wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_0_per_point23=dr = if(above(sample,0),dr,1); +wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_0_per_point25=er = if(above(sample,0),er,1); +wave_0_per_point26=er = if(equal(lev,4),er*-1,er); +wave_0_per_point27=fr = if(above(sample,0),fr,1); +wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_0_per_point29=gr = if(above(sample,0),gr,1); +wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_0_per_point31= +wave_0_per_point32=mlev = lev*above(sample,0); +wave_0_per_point33= +wave_0_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_0_per_point35= +wave_0_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_0_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_0_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_0_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_0_per_point40=he = if(swi,1-2*rand(2),he); +wave_0_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_0_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_0_per_point43= +wave_0_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_0_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_0_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_0_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_0_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_0_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_0_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_0_per_point51= +wave_0_per_point52=len = len*mad; +wave_0_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_0_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_0_per_point55= +wave_0_per_point56=an = bang*(ar + br)*br; +wave_0_per_point57=len = len*mad; +wave_0_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_0_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_0_per_point60= +wave_0_per_point61=an = cang*(ar + br + cr)*cr; +wave_0_per_point62=len = len*mad; +wave_0_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_0_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_0_per_point65= +wave_0_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_0_per_point67=len = len*mad; +wave_0_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_0_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_0_per_point70= +wave_0_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_0_per_point72=len = len*mad; +wave_0_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_0_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_0_per_point75= +wave_0_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_0_per_point77=len = len*mad; +wave_0_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_0_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_0_per_point80= +wave_0_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_0_per_point82=len = len*mad; +wave_0_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_0_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_0_per_point85= +wave_0_per_point86=x = (x-.5)*.75 + .5; +wave_0_per_point87= +wave_0_per_point88=g = t1 + lev*.1; +wave_0_per_point89=r = t2 - lev*.1; +wave_0_per_point90=b = t3; +wave_0_per_point91= +wave_0_per_point92=r = if(equal(q5,1),1,r); +wave_0_per_point93=g = if(equal(q5,2),1,g); +wave_0_per_point94=b = if(equal(q5,3),1,b); +wave_0_per_point95= +wave_0_per_point96=r = r - int(r); +wave_0_per_point97=g = g - int(g); +wave_0_per_point98=b = b - int(b); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.891519 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=0.100000 +wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .3; +wave_1_per_frame18=ra = .1; +wave_1_per_frame19=len = if(above(q6,2),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_1_per_frame20=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_1_per_point16= +wave_1_per_point17=ar = if(above(sample,0),ar,1); +wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point19=br = if(above(sample,0),br,1); +wave_1_per_point20=br = if(equal(lev,1),br*-1,br); +wave_1_per_point21=cr = if(above(sample,0),cr,1); +wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point23=dr = if(above(sample,0),dr,1); +wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point25=er = if(above(sample,0),er,1); +wave_1_per_point26=er = if(equal(lev,4),er*-1,er); +wave_1_per_point27=fr = if(above(sample,0),fr,1); +wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point29=gr = if(above(sample,0),gr,1); +wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point31= +wave_1_per_point32=mlev = lev*above(sample,0); +wave_1_per_point33= +wave_1_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point35= +wave_1_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_1_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_1_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_1_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_1_per_point40=he = if(swi,1-2*rand(2),he); +wave_1_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_1_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_1_per_point43= +wave_1_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_1_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_1_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_1_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_1_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_1_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_1_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_1_per_point51= +wave_1_per_point52=len = len*mad; +wave_1_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_1_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_1_per_point55= +wave_1_per_point56=an = bang*(ar + br)*br; +wave_1_per_point57=len = len*mad; +wave_1_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_1_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_1_per_point60= +wave_1_per_point61=an = cang*(ar + br + cr)*cr; +wave_1_per_point62=len = len*mad; +wave_1_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_1_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_1_per_point65= +wave_1_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_1_per_point67=len = len*mad; +wave_1_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_1_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_1_per_point70= +wave_1_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_1_per_point72=len = len*mad; +wave_1_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_1_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_1_per_point75= +wave_1_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_1_per_point77=len = len*mad; +wave_1_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_1_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_1_per_point80= +wave_1_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_1_per_point82=len = len*mad; +wave_1_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_1_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_1_per_point85= +wave_1_per_point86=x = (x-.5)*.75 + .5; +wave_1_per_point87= +wave_1_per_point88=g = t1 + lev*.1; +wave_1_per_point89=r = t2 - lev*.1; +wave_1_per_point90=b = t3; +wave_1_per_point91= +wave_1_per_point92=r = if(equal(q5,1),1,r); +wave_1_per_point93=g = if(equal(q5,2),1,g); +wave_1_per_point94=b = if(equal(q5,3),1,b); +wave_1_per_point95= +wave_1_per_point96=r = r - int(r); +wave_1_per_point97=g = g - int(g); +wave_1_per_point98=b = b - int(b); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.891519 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.100000 +wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_2_init9= +wave_2_per_frame1=tm = time*.1; +wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_2_per_frame5= +wave_2_per_frame6=tic = min(time - tin,1); +wave_2_per_frame7=tin = time; +wave_2_per_frame8= +wave_2_per_frame9=tva = (tic*q1*.5); +wave_2_per_frame10=tvb = (tic*q2*.5); +wave_2_per_frame11=tvc = (tic*q3*.5); +wave_2_per_frame12= +wave_2_per_frame13=q1 = tva; +wave_2_per_frame14=q2 = tvb; +wave_2_per_frame15=q3 = tvc; +wave_2_per_frame16= +wave_2_per_frame17=sz = .4; +wave_2_per_frame18=ra = .1; +wave_2_per_frame19=len = if(above(q6,1),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_2_per_frame20=t4 = len; +wave_2_per_point1=ang = 0; +wave_2_per_point2=len = t4; +wave_2_per_point3=mad = .6; +wave_2_per_point4= +wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_2_per_point6=ita = (ita + 1)*above(sample,0); +wave_2_per_point7= +wave_2_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_2_per_point9= +wave_2_per_point10=sw = sw - 1; +wave_2_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_2_per_point12= +wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_2_per_point14=a = lev*.1*1.46; +wave_2_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_2_per_point16= +wave_2_per_point17=ar = if(above(sample,0),ar,1); +wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_2_per_point19=br = if(above(sample,0),br,1); +wave_2_per_point20=br = if(equal(lev,1),br*-1,br); +wave_2_per_point21=cr = if(above(sample,0),cr,1); +wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_2_per_point23=dr = if(above(sample,0),dr,1); +wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_2_per_point25=er = if(above(sample,0),er,1); +wave_2_per_point26=er = if(equal(lev,4),er*-1,er); +wave_2_per_point27=fr = if(above(sample,0),fr,1); +wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_2_per_point29=gr = if(above(sample,0),gr,1); +wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_2_per_point31= +wave_2_per_point32=mlev = lev*above(sample,0); +wave_2_per_point33= +wave_2_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_2_per_point35= +wave_2_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_2_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_2_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_2_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_2_per_point40=he = if(swi,1-2*rand(2),he); +wave_2_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_2_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_2_per_point43= +wave_2_per_point44=aang = if(above(sample,0),aang,aang + q1*ha*1); +wave_2_per_point45=bang = if(above(sample,0),bang,bang + q1*hb*1.33); +wave_2_per_point46=cang = if(above(sample,0),cang,cang + q2*hc*1.67); +wave_2_per_point47=dang = if(above(sample,0),dang,dang + q2*hd*2); +wave_2_per_point48=eang = if(above(sample,0),eang,eang + q3*he*2.33); +wave_2_per_point49=fang = if(above(sample,0),fang,fang + q3*hf*2.67); +wave_2_per_point50=gang = if(above(sample,0),gang,gang + q3*hg*3); +wave_2_per_point51= +wave_2_per_point52=len = len*mad; +wave_2_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_2_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_2_per_point55= +wave_2_per_point56=an = bang*(ar + br)*br; +wave_2_per_point57=len = len*mad; +wave_2_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_2_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_2_per_point60= +wave_2_per_point61=an = cang*(ar + br + cr)*cr; +wave_2_per_point62=len = len*mad; +wave_2_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_2_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_2_per_point65= +wave_2_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_2_per_point67=len = len*mad; +wave_2_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_2_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_2_per_point70= +wave_2_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_2_per_point72=len = len*mad; +wave_2_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_2_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_2_per_point75= +wave_2_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_2_per_point77=len = len*mad; +wave_2_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_2_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_2_per_point80= +wave_2_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_2_per_point82=len = len*mad; +wave_2_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_2_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_2_per_point85= +wave_2_per_point86=x = (x-.5)*.75 + .5; +wave_2_per_point87= +wave_2_per_point88=g = t1 + lev*.1; +wave_2_per_point89=r = t2 - lev*.1; +wave_2_per_point90=b = t3; +wave_2_per_point91= +wave_2_per_point92=r = if(equal(q5,1),1,r); +wave_2_per_point93=g = if(equal(q5,2),1,g); +wave_2_per_point94=b = if(equal(q5,3),1,b); +wave_2_per_point95= +wave_2_per_point96=r = r - int(r); +wave_2_per_point97=g = g - int(g); +wave_2_per_point98=b = b - int(b); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=0.891519 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=0.100000 +wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3; +wave_3_init9= +wave_3_per_frame1=tm = time*.1; +wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_3_per_frame5= +wave_3_per_frame6=tic = min(time - tin,1); +wave_3_per_frame7=tin = time; +wave_3_per_frame8= +wave_3_per_frame9=tva = (tic*q1*.5); +wave_3_per_frame10=tvb = (tic*q2*.5); +wave_3_per_frame11=tvc = (tic*q3*.5); +wave_3_per_frame12= +wave_3_per_frame13=q1 = tva; +wave_3_per_frame14=q2 = tvb; +wave_3_per_frame15=q3 = tvc; +wave_3_per_frame16= +wave_3_per_frame17=sz = .5; +wave_3_per_frame18=ra = .1; +wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len))); +wave_3_per_frame20=t4 = len; +wave_3_per_point1=ang = 0; +wave_3_per_point2=len = t4; +wave_3_per_point3=mad = .6; +wave_3_per_point4= +wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_3_per_point6=ita = (ita + 1)*above(sample,0); +wave_3_per_point7= +wave_3_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_3_per_point9= +wave_3_per_point10=sw = sw - 1; +wave_3_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_3_per_point12= +wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_3_per_point14=a = lev*.1*1.46; +wave_3_per_point15=a = equal(lev,7) + equal(lev,4) + equal(lev,1); +wave_3_per_point16= +wave_3_per_point17=ar = if(above(sample,0),ar,1); +wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar); +wave_3_per_point19=br = if(above(sample,0),br,1); +wave_3_per_point20=br = if(equal(lev,1),br*-1,br); +wave_3_per_point21=cr = if(above(sample,0),cr,1); +wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr); +wave_3_per_point23=dr = if(above(sample,0),dr,1); +wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr); +wave_3_per_point25=er = if(above(sample,0),er,1); +wave_3_per_point26=er = if(equal(lev,4),er*-1,er); +wave_3_per_point27=fr = if(above(sample,0),fr,1); +wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr); +wave_3_per_point29=gr = if(above(sample,0),gr,1); +wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr); +wave_3_per_point31= +wave_3_per_point32=mlev = lev*above(sample,0); +wave_3_per_point33= +wave_3_per_point34=swi = equal(q4,0)*equal(sample,0); +wave_3_per_point35= +wave_3_per_point36=ha = if(swi,1-2*rand(2),ha); +wave_3_per_point37=hb = if(swi,1-2*rand(2),hb); +wave_3_per_point38=hc = if(swi,1-2*rand(2),hc); +wave_3_per_point39=hd = if(swi,1-2*rand(2),hd); +wave_3_per_point40=he = if(swi,1-2*rand(2),he); +wave_3_per_point41=hf = if(swi,1-2*rand(2),hf); +wave_3_per_point42=hg = if(swi,1-2*rand(2),hg); +wave_3_per_point43= +wave_3_per_point44=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_3_per_point45=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_3_per_point46=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_3_per_point47=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_3_per_point48=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_3_per_point49=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_3_per_point50=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_3_per_point51= +wave_3_per_point52=len = len*mad; +wave_3_per_point53=x = .5 + above(lev,0)*sin(aang)*len*ar; +wave_3_per_point54=y = 0.5 + above(lev,0)*cos(aang)*len; +wave_3_per_point55= +wave_3_per_point56=an = bang*(ar + br)*br; +wave_3_per_point57=len = len*mad; +wave_3_per_point58=x = x + above(lev,1)*sin(an)*len*br; +wave_3_per_point59=y = y + above(lev,1)*cos(an)*len; +wave_3_per_point60= +wave_3_per_point61=an = cang*(ar + br + cr)*cr; +wave_3_per_point62=len = len*mad; +wave_3_per_point63=x = x + above(lev,2)*sin(an)*len*cr; +wave_3_per_point64=y = y + above(lev,2)*cos(an)*len; +wave_3_per_point65= +wave_3_per_point66=an = dang*(ar + br + cr + dr)*dr; +wave_3_per_point67=len = len*mad; +wave_3_per_point68=x = x + above(lev,3)*sin(an)*len*dr; +wave_3_per_point69=y = y + above(lev,3)*cos(an)*len; +wave_3_per_point70= +wave_3_per_point71=an = eang*(ar + br + cr + dr + er)*er; +wave_3_per_point72=len = len*mad; +wave_3_per_point73=x = x + above(lev,4)*sin(an)*len*er; +wave_3_per_point74=y = y + above(lev,4)*cos(an)*len; +wave_3_per_point75= +wave_3_per_point76=an = fang*(ar + br + cr + dr + er + fr)*fr; +wave_3_per_point77=len = len*mad; +wave_3_per_point78=x = x + above(lev,5)*sin(an)*len*fr; +wave_3_per_point79=y = y + above(lev,5)*cos(an)*len; +wave_3_per_point80= +wave_3_per_point81=an = gang*(ar + br + cr + dr + er + fr + gr)*gr; +wave_3_per_point82=len = len*mad; +wave_3_per_point83=x = x + above(lev,6)*sin(an)*len*gr; +wave_3_per_point84=y = y + above(lev,6)*cos(an)*len; +wave_3_per_point85= +wave_3_per_point86=x = (x-.5)*.75 + .5; +wave_3_per_point87= +wave_3_per_point88=g = t1 + lev*.1; +wave_3_per_point89=r = t2 - lev*.1; +wave_3_per_point90=b = t3; +wave_3_per_point91= +wave_3_per_point92=r = if(equal(q5,1),1,r); +wave_3_per_point93=g = if(equal(q5,2),1,g); +wave_3_per_point94=b = if(equal(q5,3),1,b); +wave_3_per_point95= +wave_3_per_point96=r = r - int(r); +wave_3_per_point97=g = g - int(g); +wave_3_per_point98=b = b - int(b); +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.430000 +shapecode_0_y=0.340000 +shapecode_0_rad=3.356410 +shapecode_0_ang=3.141593 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=0.138466 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=it = (it + 1)*below(it,10000); +shape_0_per_frame2=x = if(it%2,.26,.7247); +shape_0_per_frame3= +shape_0_per_frame4=tm = time*.1; +shape_0_per_frame5=x = .26 + .4647*(tm-int(tm)); +shape_0_per_frame6= +shape_0_per_frame7=y = .5 + .25*sin(time*.05); +shapecode_1_enabled=0 +shapecode_1_sides=40 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.100000 +shapecode_1_y=0.800000 +shapecode_1_rad=0.833456 +shapecode_1_ang=3.141593 +shapecode_1_tex_ang=5.403539 +shapecode_1_tex_zoom=0.499805 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=0 +shapecode_2_sides=40 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.800000 +shapecode_2_y=0.200000 +shapecode_2_rad=0.415324 +shapecode_2_ang=3.141593 +shapecode_2_tex_ang=5.403539 +shapecode_2_tex_zoom=0.499805 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=0 +shapecode_3_sides=40 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.847536 +shapecode_3_ang=3.141593 +shapecode_3_tex_ang=5.592035 +shapecode_3_tex_zoom=0.499805 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7= +per_frame_8= +per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_12= +per_frame_13=rb = 1; +per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_15=q1 = treb_avg; +per_frame_16=q2 = mid_avg; +per_frame_17=q3 = bass_avg; +per_frame_18= +per_frame_19=db = bass - bass_avg; +per_frame_20= +per_frame_21=it = (it + tic)*below(it,1); +per_frame_22= +per_frame_23=rb = .5*(1/tic); +per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb); +per_frame_25=bd = bass - bvb; +per_frame_26= +per_frame_27=vm = vm - tic + swi; +per_frame_28=swi = above(bd - vm,0); +per_frame_29= +per_frame_30=q4 = 1-swi; +per_frame_31= +per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm); +per_frame_33=iter = (iter + tic)*(1-above(iter,30)); +per_frame_34=q5 = if(equal(cm,0),3,cm); +per_frame_35= +per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma); +per_frame_37=itar = (itar + tic)*(1-above(itar,5)); +per_frame_38= +per_frame_39=q6 = int(vav*5); +per_frame_40= +per_frame_41=monitor = q6; +per_frame_42= diff --git a/presets/presets_tryptonaut/shifter - spills blender + krash beatdetect - mash0000 - here comb your hair with this planet.milk b/presets/presets_tryptonaut/shifter - spills blender + krash beatdetect - mash0000 - here comb your hair with this planet.milk new file mode 100755 index 0000000000..0acb28fbe3 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - spills blender + krash beatdetect - mash0000 - here comb your hair with this planet.milk @@ -0,0 +1,367 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.48886 +fShader=0.000 +zoom=1.01960 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.24146 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=1.000 +wave_0_per_point1=x = 0; +wave_0_per_point2=y = sample; +wave_0_per_point3= +wave_0_per_point4=sp = sample*6.2832 - time; +wave_0_per_point5= +wave_0_per_point6=r = .5 + .5*(sin(sp*3.549)*.3 + .7*cos(sp*5.661)); +wave_0_per_point7=g = .5 + .5*(sin(sp*5.493)*.5 + .5*cos(sp*6.615)); +wave_0_per_point8=//b = .5 + .5*(sin(sp*9.345)*.7 + .3*cos(sp*1.566)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wave_1_per_point1=x = .999; +wave_1_per_point2=y = 1-sample; +wave_1_per_point3= +wave_1_per_point4=sp = sample*6.2832 + time; +wave_1_per_point5= +wave_1_per_point6=//r = .5 + .5*(sin(sp*3.549)*.3 + .7*cos(sp*5.661)); +wave_1_per_point7=//g = .5 + .5*(sin(sp*5.493)*.5 + .5*cos(sp*6.615)); +wave_1_per_point8=//b = .5 + .5*(sin(sp*9.345)*.7 + .3*cos(sp*1.566)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=y = 0.001; +wave_2_per_point2=x = sample; +wave_2_per_point3= +wave_2_per_point4=sp = sample*6.2832 + time; +wave_2_per_point5= +wave_2_per_point6=r = .5 + .5*(sin(sp*3.549)*.3 + .7*cos(sp*5.661)); +wave_2_per_point7=g = .5 + .5*(sin(sp*5.493)*.5 + .5*cos(sp*6.615)); +wave_2_per_point8=//b = .5 + .5*(sin(sp*9.345)*.7 + .3*cos(sp*1.566)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_point1=y = 1; +wave_3_per_point2=x = 1-sample; +wave_3_per_point3= +wave_3_per_point4=sp = sample*6.2832 - time; +wave_3_per_point5= +wave_3_per_point6=r = .5 + .5*(sin(sp*3.549)*.3 + .7*cos(sp*5.661)); +wave_3_per_point7=g = .5 + .5*(sin(sp*5.493)*.5 + .5*cos(sp*6.615)); +wave_3_per_point8=//b = .5 + .5*(sin(sp*9.345)*.7 + .3*cos(sp*1.566)); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.66228 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=0.77977 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2=ang = rand(1001)*.001*6.2832; +shape_0_per_frame3= +shape_0_per_frame4=tex_ang = tex_ang + ang; +shape_0_per_frame5=tex_zoom = 1/rad*tex_zoom; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.66228 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=0.77977 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=ang = rand(1001)*.001*6.2832; +shape_1_per_frame3= +shape_1_per_frame4=tex_ang = tex_ang + ang; +shape_1_per_frame5=tex_zoom = 1/rad*tex_zoom; +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.25479 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.71291 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.500 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1= +shape_2_per_frame2=ang = rand(1001)*.001*6.2832; +shape_2_per_frame3= +shape_2_per_frame4=tex_ang = tex_ang + ang; +shape_2_per_frame5=tex_zoom = 1/rad*tex_zoom; +shape_2_per_frame6= +shape_2_per_frame7=ti = time; +shape_2_per_frame8=//border_r = .5 + .5*sin(ti*1.123); +shape_2_per_frame9=//border_g = .5 + .5*sin(ti*1.456); +shape_2_per_frame10=//border_b = .5 + .5*sin(ti*1.789); +shape_2_per_frame11=ti = time; +shape_2_per_frame12=ti = time - 1; +shape_2_per_frame13=r2 = .5 + .5*sin(ti*1.123); +shape_2_per_frame14=g2 = .5 + .5*sin(ti*1.456); +shape_2_per_frame15=b2 = .5 + .5*sin(ti*1.789); +shape_2_per_frame16= +shape_2_per_frame17=sw = q5; +shape_2_per_frame18= +shape_2_per_frame19=a2 = sw; +shape_2_per_frame20=r2 = r2*sw; +shape_2_per_frame21=g2 = g2*sw; +shape_2_per_frame22=b2 = b2*sw; +shape_2_per_frame23=r = r2; +shape_2_per_frame24=g = g2; +shape_2_per_frame25=b = b2; +shape_2_per_frame26=border_a = a2; +shape_2_per_frame27=a = a2; +shape_2_per_frame28=x = q7; +shape_2_per_frame29=y = 1-q8; +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.19093 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.71291 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.500 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1= +shape_3_per_frame2=ang = rand(1001)*.001*6.2832; +shape_3_per_frame3= +shape_3_per_frame4=tex_ang = tex_ang + ang; +shape_3_per_frame5=tex_zoom = 1/rad*tex_zoom; +shape_3_per_frame6= +shape_3_per_frame7=ti = time; +shape_3_per_frame8=ti = time; +shape_3_per_frame9=ti = time - 1; +shape_3_per_frame10= +shape_3_per_frame11=sw = q5; +shape_3_per_frame12=a2 = sw; +shape_3_per_frame13=a = sw; +shape_3_per_frame14=border_a = a2; +shape_3_per_frame15= +shape_3_per_frame16=x = q7; +shape_3_per_frame17=y = 1-q8; +shape_3_per_frame18= +per_frame_1=//begin beat code +per_frame_2=volume = 0.3*(bass+mid); +per_frame_3=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_4=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_5=meanbass_att = 0.05*(meanbass_att*19 + bass_att); +per_frame_6=peakbass_att = max(bass_att,peakbass_att); +per_frame_7=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_9=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. +per_frame_10=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); +per_frame_11=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_12=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_13=//end beat code +per_frame_14= +per_frame_15=tim = if(beat,time,tim); +per_frame_16=q5 = below(time - tim,.1); +per_frame_17= +per_frame_18=warp = 0; +per_frame_19= +per_frame_20=tic = min(time-tin,.1); +per_frame_21=tin = time; +per_frame_22=ra = 1/tic*.25; +per_frame_23= +per_frame_24=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_25=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_26=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_27=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_28= +per_frame_29=tt = tt + tic*treb; +per_frame_30=mt = mt + tic*mid; +per_frame_31=bt = bt + tic*bass; +per_frame_32=vt = vt + tic*vav; +per_frame_33= +per_frame_34=q1 = treb_avg; +per_frame_35=q2 = mid_avg; +per_frame_36=q3 = bass_avg; +per_frame_37= +per_frame_38=monitor = q5; +per_frame_39= +per_frame_40=mx = if(beat,rand(1001)*.001*.5 + rand(1001)*.001*.5,mx); +per_frame_41=my = if(beat,rand(1001)*.001*.5 + rand(1001)*.001*.5,my); +per_frame_42=cx = mx; +per_frame_43=cy = my; +per_frame_44= +per_frame_45=mox = mx - .5; +per_frame_46=moy = my - .5; +per_frame_47=an = atan(moy/mox) + if(above(mox,0),above(moy,0)*6.2832,3.1416); +per_frame_48=dis = pow(mox*mox + moy*moy,.5); +per_frame_49=dis = max(.17,dis); +per_frame_50= +per_frame_51=q7 = .5 + dis*cos(an); +per_frame_52=q8 = .5 + dis*sin(an); +per_pixel_1=mx = x - q7; +per_pixel_2=my = y - q8; +per_pixel_3= +per_pixel_4=an = ang; +per_pixel_5=//zoom = 1 + pow(sin(an*5 - time),1)*.02*bass*bass; +per_pixel_6= +per_pixel_7=ra = pow(mx*mx + my*my,.5); +per_pixel_8=rot = .02*sin(ra*6.2832*2 - time*4)*(mid + treb)*(mid + treb)*.5; diff --git a/presets/presets_tryptonaut/shifter - spincycle c.milk b/presets/presets_tryptonaut/shifter - spincycle c.milk new file mode 100755 index 0000000000..67cb9ad87d --- /dev/null +++ b/presets/presets_tryptonaut/shifter - spincycle c.milk @@ -0,0 +1,331 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=1.000000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=5.428738 +fShader=0.000000 +zoom=1.009509 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.162174 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.010000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=51 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.327350 +wavecode_0_smoothing=0.820000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=3.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=x = rand(1001)*.001; +wave_0_per_point2=y = rand(1001)*.001; +wave_0_per_point3= +wave_0_per_point4=tm = time*.5 + sample*2; +wave_0_per_point5= +wave_0_per_point6=r = .5 + .5*sin(tm*1.132); +wave_0_per_point7=g = .5 + .5*sin(tm*1.121); +wave_0_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=51 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.327350 +wavecode_1_smoothing=0.820000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=3.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=x = rand(1001)*.001; +wave_1_per_point2=y = rand(1001)*.001; +wave_1_per_point3= +wave_1_per_point4=tm = time*.5 + sample*2; +wave_1_per_point5= +wave_1_per_point6=r = .5 + .5*sin(tm*1.132); +wave_1_per_point7=g = .5 + .5*sin(tm*1.121); +wave_1_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=51 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.327350 +wavecode_2_smoothing=0.820000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=3.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=x = rand(1001)*.001; +wave_2_per_point2=y = rand(1001)*.001; +wave_2_per_point3= +wave_2_per_point4=tm = time*.5 + sample*2; +wave_2_per_point5= +wave_2_per_point6=r = .5 + .5*sin(tm*1.132); +wave_2_per_point7=g = .5 + .5*sin(tm*1.121); +wave_2_per_point8=b = .5 + .5*sin(tm*1.187); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=51 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.327350 +wavecode_3_smoothing=0.820000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=3.000000 +wavecode_3_a=1.000000 +wave_3_per_point1=x = rand(1001)*.001; +wave_3_per_point2=y = rand(1001)*.001; +wave_3_per_point3= +wave_3_per_point4=tm = time*.5 + sample*2; +wave_3_per_point5= +wave_3_per_point6=r = .5 + .5*sin(tm*1.132); +wave_3_per_point7=g = .5 + .5*sin(tm*1.121); +wave_3_per_point8=b = .5 + .5*sin(tm*1.187); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.491382 +shapecode_0_ang=1.570796 +shapecode_0_tex_ang=3.141593 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.081954 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=1.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=x=q3; +shape_1_per_frame2=y=1-q4; +shape_1_per_frame3= +shape_1_per_frame4=r = .5 + .5*sin((time+.5)*1.132); +shape_1_per_frame5=g = .5 + .5*sin((time+.5)*1.121); +shape_1_per_frame6=b = .5 + .5*sin((time+.5)*1.187); +shape_1_per_frame7= +shape_1_per_frame8=rad = .1*mid; +shapecode_2_enabled=1 +shapecode_2_sides=54 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.081954 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=0.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=x=q5; +shape_2_per_frame2=y=1-q6; +shape_2_per_frame3= +shape_2_per_frame4=rad = .2*bass; +shapecode_3_enabled=1 +shapecode_3_sides=54 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.081954 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=x=q1; +shape_3_per_frame2=y=1-q2; +shape_3_per_frame3= +shape_3_per_frame4=r = .5 + .5*sin(time*1.132); +shape_3_per_frame5=g = .5 + .5*sin(time*1.121); +shape_3_per_frame6=b = .5 + .5*sin(time*1.187); +shape_3_per_frame7= +shape_3_per_frame8=rad = treb*.1; +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time - tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=ra = 10; +per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_10= +per_frame_11=rb = 1; +per_frame_12=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_13= +per_frame_14=tt = tt + tic*treb_avg; +per_frame_15=mt = mt + tic*mid_avg; +per_frame_16=bt = bt + tic*bass_avg; +per_frame_17=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_18= +per_frame_19=sz = .2; +per_frame_20= +per_frame_21=q1 = .5 + sz*sin(tt*.629) - sz*sin(tt*.107); +per_frame_22=q2 = .5 + sz*sin(tt*.987) - sz*sin(tt*.456); +per_frame_23= +per_frame_24=q3 = .5 + sz*sin(mt*.654) - sz*sin(mt*.355); +per_frame_25=q4 = .5 + sz*sin(mt*.548) - sz*sin(mt*.875); +per_frame_26= +per_frame_27=q5 = .5 + sz*sin(bt*.687) - sz*sin(bt*.318); +per_frame_28=q6 = .5 + sz*sin(bt*.465) - sz*sin(bt*.526); +per_frame_29= +per_frame_30= +per_pixel_1=xd = q1-x; +per_pixel_2=yd = q2-y; +per_pixel_3= +per_pixel_4=dis = pow(xd*xd+yd*yd,.5); +per_pixel_5=des = 1 - dis*.7071068; +per_pixel_6=des = pow(des,8)*-treb; +per_pixel_7=an = acos(abs(xd)/dis); +per_pixel_8= +per_pixel_9=dx = sign(xd)*.07*cos(an)*des; +per_pixel_10=dy = sign(yd)*.07*sin(an)*des; +per_pixel_11= +per_pixel_12=dy = dy + sign(xd)*treb*.05*cos(an)*des; +per_pixel_13=dx = dx + sign(yd)*treb*.05*sin(an)*des*-1; +per_pixel_14= +per_pixel_15=xd = q3-x; +per_pixel_16=yd = q4-y; +per_pixel_17= +per_pixel_18=dis = pow(xd*xd+yd*yd,.5); +per_pixel_19=des = 1 - dis*.7071068; +per_pixel_20=des = pow(des,8)*-mid; +per_pixel_21=an = acos(abs(xd)/dis); +per_pixel_22= +per_pixel_23=dx = dx + sign(xd)*.07*cos(an)*des; +per_pixel_24=dy = dy + sign(yd)*.07*sin(an)*des; +per_pixel_25= +per_pixel_26=dy = dy + sign(xd)*mid*.05*cos(an)*des; +per_pixel_27=dx = dx + sign(yd)*mid*.05*sin(an)*des*-1; +per_pixel_28= +per_pixel_29=xd = q5-x; +per_pixel_30=yd = q6-y; +per_pixel_31= +per_pixel_32=dis = pow(xd*xd+yd*yd,.5); +per_pixel_33=des = 1 - dis*.7071068; +per_pixel_34=des = pow(des,8)*-bass; +per_pixel_35=an = acos(abs(xd)/dis); +per_pixel_36= +per_pixel_37=dx = dx + sign(xd)*.07*cos(an)*des; +per_pixel_38=dy = dy + sign(yd)*.07*sin(an)*des; +per_pixel_39= +per_pixel_40=dy = dy + sign(xd)*bass*.05*cos(an)*des; +per_pixel_41=dx = dx + sign(yd)*bass*.05*sin(an)*des*-1; +per_pixel_42= diff --git a/presets/presets_tryptonaut/shifter - spincycle(remix) - love at home - electroplasmic pissbowel roam3-.milk b/presets/presets_tryptonaut/shifter - spincycle(remix) - love at home - electroplasmic pissbowel roam3-.milk new file mode 100755 index 0000000000..c0c3149c7e --- /dev/null +++ b/presets/presets_tryptonaut/shifter - spincycle(remix) - love at home - electroplasmic pissbowel roam3-.milk @@ -0,0 +1,851 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=4.120 +fWaveSmoothing=0.630 +fWaveParam=0.200 +fModWaveAlphaStart=0.310 +fModWaveAlphaEnd=1.100 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=5.42874 +fShader=0.000 +zoom=1.00951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.16217 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=32.000 +nMotionVectorsY=24.000 +mv_dx=0.020 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.800 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=0.500 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=tscale=.3; +wave_0_per_point2=prad=.04; +wave_0_per_point3= +wave_0_per_point4=px=cos(sample*sample*9112)*prad; +wave_0_per_point5=py=sin(sample*sample*9112)*prad; +wave_0_per_point6=pz=0; +wave_0_per_point7=//yrot to sphere surface +wave_0_per_point8=theta=sample*sample*3342; +wave_0_per_point9=ct=cos(theta);st=sin(theta); +wave_0_per_point10=npx=(px*ct)+(pz*st); +wave_0_per_point11=npz=(-px*st)+(pz*ct); +wave_0_per_point12=npy=py; +wave_0_per_point13= +wave_0_per_point14=//xrot +wave_0_per_point15=theta=q6; +wave_0_per_point16=px=npx; +wave_0_per_point17=py=npy; +wave_0_per_point18=pz=npz; +wave_0_per_point19=ct=cos(theta);st=sin(theta); +wave_0_per_point20=npy=(py*ct)+(pz*-st); +wave_0_per_point21=npz=(py*st)+(pz*ct); +wave_0_per_point22= +wave_0_per_point23=//yrot +wave_0_per_point24=theta=q7; +wave_0_per_point25=px=npx; +wave_0_per_point26=py=npy; +wave_0_per_point27=pz=npz; +wave_0_per_point28=ct=cos(theta);st=sin(theta); +wave_0_per_point29=npx=(px*ct)+(pz*st); +wave_0_per_point30=npz=(-px*st)+(pz*ct); +wave_0_per_point31= +wave_0_per_point32=//zrot +wave_0_per_point33=theta=q8+2; +wave_0_per_point34=px=npx; +wave_0_per_point35=py=npy; +wave_0_per_point36=pz=npz; +wave_0_per_point37=ct=cos(theta);st=sin(theta); +wave_0_per_point38=npx=(px*ct)+(py*-st); +wave_0_per_point39=npy=(px*st)+(py*ct); +wave_0_per_point40= +wave_0_per_point41=x=npx+.5; +wave_0_per_point42=y=(npy*1.3)+.5; //correct aspect +wave_0_per_point43=a=if(below(npz,0),0,1); +wave_0_per_point44= +wave_0_per_point45= +wave_0_per_point46=//sun shadow +wave_0_per_point47=prad=1.1; +wave_0_per_point48= +wave_0_per_point49=s_px=cos(8886)*prad; +wave_0_per_point50=s_py=sin(8886)*prad; +wave_0_per_point51=s_pz=0; +wave_0_per_point52=//yrot to sphere surface +wave_0_per_point53=s_npx=s_px; +wave_0_per_point54=s_npz=s_pz; +wave_0_per_point55=s_npy=s_py; +wave_0_per_point56= +wave_0_per_point57=//xrot +wave_0_per_point58=theta=q6; +wave_0_per_point59=s_px=s_npx; +wave_0_per_point60=s_py=s_npy; +wave_0_per_point61=s_pz=s_npz; +wave_0_per_point62=ct=cos(theta);st=sin(theta); +wave_0_per_point63=s_npy=(s_py*ct)+(s_pz*-st); +wave_0_per_point64=s_npz=(s_py*st)+(s_pz*ct); +wave_0_per_point65= +wave_0_per_point66=//yrot +wave_0_per_point67=theta=q7; +wave_0_per_point68=s_px=s_npx; +wave_0_per_point69=s_py=s_npy; +wave_0_per_point70=s_pz=s_npz; +wave_0_per_point71=ct=cos(theta);st=sin(theta); +wave_0_per_point72=s_npx=(s_px*ct)+(s_pz*st); +wave_0_per_point73=s_npz=(-s_px*st)+(s_pz*ct); +wave_0_per_point74= +wave_0_per_point75=//zrot +wave_0_per_point76=theta=q8; +wave_0_per_point77=s_px=s_npx; +wave_0_per_point78=s_py=s_npy; +wave_0_per_point79=s_pz=s_npz; +wave_0_per_point80=ct=cos(theta);st=sin(theta); +wave_0_per_point81=s_npx=(s_px*ct)+(s_py*-st); +wave_0_per_point82=s_npy=(s_px*st)+(s_py*ct); +wave_0_per_point83= +wave_0_per_point84=s_x=s_npx+.5; +wave_0_per_point85=s_y=(s_npy*1.3)+.5; +wave_0_per_point86= +wave_0_per_point87=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +wave_0_per_point88=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); +wave_0_per_point89=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); +wave_0_per_point90=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=0.500 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_init1=flip=-1; +wave_1_per_frame1=t1=(bass_att+mid_att+treb_att)*0.05*flip; +wave_1_per_frame2=flip=-flip +wave_1_per_point1=tscale=.3; +wave_1_per_point2=prad=1; +wave_1_per_point3= +wave_1_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; +wave_1_per_point5= +wave_1_per_point6=px=cos(cluster*16)*prad; +wave_1_per_point7=py=sin(cluster*16)*prad; +wave_1_per_point8=pz=0; +wave_1_per_point9=//yrot to sphere surface +wave_1_per_point10=theta=cluster*172 ; +wave_1_per_point11=ct=cos(theta);st=sin(theta); +wave_1_per_point12=npx=(px*ct)+(pz*st); +wave_1_per_point13=npz=(-px*st)+(pz*ct); +wave_1_per_point14=npy=py; +wave_1_per_point15= +wave_1_per_point16=//xrot +wave_1_per_point17=theta=q6; +wave_1_per_point18=px=npx; +wave_1_per_point19=py=npy; +wave_1_per_point20=pz=npz; +wave_1_per_point21=ct=cos(theta);st=sin(theta); +wave_1_per_point22=npy=(py*ct)+(pz*-st); +wave_1_per_point23=npz=(py*st)+(pz*ct); +wave_1_per_point24= +wave_1_per_point25=//yrot +wave_1_per_point26=theta=q7; +wave_1_per_point27=px=npx; +wave_1_per_point28=py=npy; +wave_1_per_point29=pz=npz; +wave_1_per_point30=ct=cos(theta);st=sin(theta); +wave_1_per_point31=npx=(px*ct)+(pz*st); +wave_1_per_point32=npz=(-px*st)+(pz*ct); +wave_1_per_point33= +wave_1_per_point34=//zrot +wave_1_per_point35=theta=q8; +wave_1_per_point36=px=npx; +wave_1_per_point37=py=npy; +wave_1_per_point38=pz=npz; +wave_1_per_point39=ct=cos(theta);st=sin(theta); +wave_1_per_point40=npx=(px*ct)+(py*-st); +wave_1_per_point41=npy=(px*st)+(py*ct); +wave_1_per_point42=npz=pz; +wave_1_per_point43= +wave_1_per_point44=npx=if(below(npz,0) , -npx , npx); +wave_1_per_point45=npy=if(below(npz,0) , -npy , npy); +wave_1_per_point46=npz=if(below(npz,0) , -npz , npz); +wave_1_per_point47= +wave_1_per_point48=//move into screenspace +wave_1_per_point49=npz=(npz * (1 + t1))+1.5; +wave_1_per_point50= +wave_1_per_point51=x=(npx/npz)+.5; +wave_1_per_point52=y=(npy/npz)*1.3+.5; //correct aspect +wave_1_per_point53=a=1; +wave_1_per_point54= +wave_1_per_point55=//y=0.1; +wave_1_per_point56=//x=sample; +wave_1_per_point57= +wave_1_per_point58=sample2=sample; +wave_1_per_point59=r=(sample2*3 - int(sample2*3))*2; +wave_1_per_point60=r=if(above(r,1) , 2-r , r); +wave_1_per_point61=r=1- pow(1-r,2); +wave_1_per_point62=sample2=sample + 0.023; +wave_1_per_point63=g=(sample2*3 - int(sample2*3))*2; +wave_1_per_point64=g=if(above(g,1) , 2-g , g); +wave_1_per_point65=g=1- pow(1-g,2); +wave_1_per_point66=sample2=sample + 0.026; +wave_1_per_point67=b=(sample2*3 - int(sample2*3))*2; +wave_1_per_point68=b=if(above(b,1) , 2-b , b); +wave_1_per_point69=b=1- pow(1-b,2) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=0.400 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=//planet rings +wave_2_per_point2=tscale=.3; +wave_2_per_point3= +wave_2_per_point4=prad=(((sample*sample*4999)%65)*.001)+.1; +wave_2_per_point5=px=cos(sample*sample*8854)*prad; +wave_2_per_point6=py=((sample*sample*1122)%10)*.0002; +wave_2_per_point7=pz=sin(sample*sample*8854)*prad; +wave_2_per_point8= +wave_2_per_point9=npx=px; +wave_2_per_point10=npy=py; +wave_2_per_point11=npz=pz; +wave_2_per_point12= +wave_2_per_point13=//yrot - particles +wave_2_per_point14=theta=((.4-prad)*(.4-prad)*30*time*tscale); +wave_2_per_point15=px=npx; +wave_2_per_point16=py=npy; +wave_2_per_point17=pz=npz; +wave_2_per_point18=ct=cos(theta);st=sin(theta); +wave_2_per_point19=npx=(px*ct)+(pz*st); +wave_2_per_point20=npz=(-px*st)+(pz*ct); +wave_2_per_point21= +wave_2_per_point22=//xrot +wave_2_per_point23=theta=q6; +wave_2_per_point24=px=npx; +wave_2_per_point25=py=npy; +wave_2_per_point26=pz=npz; +wave_2_per_point27=ct=cos(theta);st=sin(theta); +wave_2_per_point28=npy=(py*ct)+(pz*-st); +wave_2_per_point29=npz=(py*st)+(pz*ct); +wave_2_per_point30= +wave_2_per_point31=//yrot +wave_2_per_point32=theta=q7; +wave_2_per_point33=px=npx; +wave_2_per_point34=py=npy; +wave_2_per_point35=pz=npz; +wave_2_per_point36=ct=cos(theta);st=sin(theta); +wave_2_per_point37=npx=(px*ct)+(pz*st); +wave_2_per_point38=npz=(-px*st)+(pz*ct); +wave_2_per_point39= +wave_2_per_point40=//zrot +wave_2_per_point41=theta=q8+2; +wave_2_per_point42=px=npx; +wave_2_per_point43=py=npy; +wave_2_per_point44=pz=npz; +wave_2_per_point45=ct=cos(theta);st=sin(theta); +wave_2_per_point46=npx=(px*ct)+(py*-st); +wave_2_per_point47=npy=(px*st)+(py*ct); +wave_2_per_point48= +wave_2_per_point49=a=if(below(npz,0),if(below(sqrt((npy*npy)+(npx*npx)),.04),0,.4),.4); +wave_2_per_point50=x=npx+.5; +wave_2_per_point51=y=(npy*1.3)+.5; //correct aspect +wave_2_per_point52=g=.5+((sample*sample*4444)%100)*.005; +wave_2_per_point53= +wave_2_per_point54=//sun shadow +wave_2_per_point55=prad=1.1; +wave_2_per_point56= +wave_2_per_point57=s_px=cos(8886)*prad; +wave_2_per_point58=s_py=sin(8886)*prad; +wave_2_per_point59=s_pz=0; +wave_2_per_point60=//yrot to sphere surface +wave_2_per_point61=s_npx=s_px; +wave_2_per_point62=s_npz=s_pz; +wave_2_per_point63=s_npy=s_py; +wave_2_per_point64= +wave_2_per_point65=//xrot +wave_2_per_point66=theta=q6; +wave_2_per_point67=s_px=s_npx; +wave_2_per_point68=s_py=s_npy; +wave_2_per_point69=s_pz=s_npz; +wave_2_per_point70=ct=cos(theta);st=sin(theta); +wave_2_per_point71=s_npy=(s_py*ct)+(s_pz*-st); +wave_2_per_point72=s_npz=(s_py*st)+(s_pz*ct); +wave_2_per_point73= +wave_2_per_point74=//yrot +wave_2_per_point75=theta=q7; +wave_2_per_point76=s_px=s_npx; +wave_2_per_point77=s_py=s_npy; +wave_2_per_point78=s_pz=s_npz; +wave_2_per_point79=ct=cos(theta);st=sin(theta); +wave_2_per_point80=s_npx=(s_px*ct)+(s_pz*st); +wave_2_per_point81=s_npz=(-s_px*st)+(s_pz*ct); +wave_2_per_point82= +wave_2_per_point83=//zrot +wave_2_per_point84=theta=q8; +wave_2_per_point85=s_px=s_npx; +wave_2_per_point86=s_py=s_npy; +wave_2_per_point87=s_pz=s_npz; +wave_2_per_point88=ct=cos(theta);st=sin(theta); +wave_2_per_point89=s_npx=(s_px*ct)+(s_py*-st); +wave_2_per_point90=s_npy=(s_px*st)+(s_py*ct); +wave_2_per_point91= +wave_2_per_point92=s_x=s_npx+.5; +wave_2_per_point93=s_y=(s_npy*1.3)+.5; +wave_2_per_point94= +wave_2_per_point95=//ring lighting +wave_2_per_point96=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +wave_2_per_point97=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); +wave_2_per_point98=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); +wave_2_per_point99=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); +wave_2_per_point100= +wave_2_per_point101=//planet shadow across rings +wave_2_per_point102=s_npx=-1*s_npx*.1; +wave_2_per_point103=s_npy=-1*s_npy*.1; +wave_2_per_point104=s_npz=-1*s_npz*.1; +wave_2_per_point105= +wave_2_per_point106=ss_rad=.087; +wave_2_per_point107=ss=sqrt(sqr((npx-s_npx)*1)+sqr((npy-s_npy)*1)+sqr((npz-s_npz)*1)); +wave_2_per_point108=r=if(below(ss,ss_rad),r*.2,r); +wave_2_per_point109=g=if(below(ss,ss_rad),g*.2,g); +wave_2_per_point110=b=if(below(ss,ss_rad),b*.2,b); +wave_2_per_point111= +wave_2_per_point112=a=1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=-(bass_att+mid_att+treb_att)*0.05 +wave_3_per_point1=tscale=.3; +wave_3_per_point2=prad=1; +wave_3_per_point3= +wave_3_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; +wave_3_per_point5= +wave_3_per_point6=px=cos(cluster*16)*prad; +wave_3_per_point7=py=sin(cluster*16)*prad; +wave_3_per_point8=pz=0; +wave_3_per_point9=//yrot to sphere surface +wave_3_per_point10=theta=cluster*172 ; +wave_3_per_point11=ct=cos(theta);st=sin(theta); +wave_3_per_point12=npx=(px*ct)+(pz*st); +wave_3_per_point13=npz=(-px*st)+(pz*ct); +wave_3_per_point14=npy=py; +wave_3_per_point15= +wave_3_per_point16=//xrot +wave_3_per_point17=theta=q6; +wave_3_per_point18=px=npx; +wave_3_per_point19=py=npy; +wave_3_per_point20=pz=npz; +wave_3_per_point21=ct=cos(theta);st=sin(theta); +wave_3_per_point22=npy=(py*ct)+(pz*-st); +wave_3_per_point23=npz=(py*st)+(pz*ct); +wave_3_per_point24= +wave_3_per_point25=//yrot +wave_3_per_point26=theta=q7; +wave_3_per_point27=px=npx; +wave_3_per_point28=py=npy; +wave_3_per_point29=pz=npz; +wave_3_per_point30=ct=cos(theta);st=sin(theta); +wave_3_per_point31=npx=(px*ct)+(pz*st); +wave_3_per_point32=npz=(-px*st)+(pz*ct); +wave_3_per_point33= +wave_3_per_point34=//zrot +wave_3_per_point35=theta=q8; +wave_3_per_point36=px=npx; +wave_3_per_point37=py=npy; +wave_3_per_point38=pz=npz; +wave_3_per_point39=ct=cos(theta);st=sin(theta); +wave_3_per_point40=npx=(px*ct)+(py*-st); +wave_3_per_point41=npy=(px*st)+(py*ct); +wave_3_per_point42=npz=pz; +wave_3_per_point43= +wave_3_per_point44=npx=if(below(npz,0) , -npx , npx); +wave_3_per_point45=npy=if(below(npz,0) , -npy , npy); +wave_3_per_point46=npz=if(below(npz,0) , -npz , npz); +wave_3_per_point47= +wave_3_per_point48=//move into screenspace +wave_3_per_point49=npz=(npz * (1 + t1))+1.5; +wave_3_per_point50= +wave_3_per_point51=x=(npx/npz)+.5; +wave_3_per_point52=y=(npy/npz)*1.3+.5; //correct aspect +wave_3_per_point53=a=1; +wave_3_per_point54= +wave_3_per_point55=//y=0.1; +wave_3_per_point56=//x=sample; +wave_3_per_point57= +wave_3_per_point58=sample2=sample; +wave_3_per_point59=r=(sample2*3 - int(sample2*3))*2; +wave_3_per_point60=r=if(above(r,1) , 2-r , r); +wave_3_per_point61=r=1- pow(1-r,2); +wave_3_per_point62=sample2=sample + 0.023; +wave_3_per_point63=g=(sample2*3 - int(sample2*3))*2; +wave_3_per_point64=g=if(above(g,1) , 2-g , g); +wave_3_per_point65=g=1- pow(1-g,2); +wave_3_per_point66=sample2=sample + 0.026; +wave_3_per_point67=b=(sample2*3 - int(sample2*3))*2; +wave_3_per_point68=b=if(above(b,1) , 2-b , b); +wave_3_per_point69=b=1- pow(1-b,2) +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.17633 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.00531 +shapecode_0_tex_zoom=1.48886 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.200 +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.38615 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.700 +shapecode_1_b=0.500 +shapecode_1_a=0.290 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//sun flare +shape_1_per_frame2= +shape_1_per_frame3=//sun +shape_1_per_frame4=prad=1.1; +shape_1_per_frame5= +shape_1_per_frame6=px=cos(8886)*prad; +shape_1_per_frame7=py=sin(8886)*prad; +shape_1_per_frame8=pz=0; +shape_1_per_frame9=//yrot to sphere surface +shape_1_per_frame10=npx=(px*cos(0))+(pz*sin(0)); +shape_1_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); +shape_1_per_frame12=npy=py; +shape_1_per_frame13= +shape_1_per_frame14=xrot=q6; +shape_1_per_frame15=yrot=q7; +shape_1_per_frame16=zrot=q8; +shape_1_per_frame17= +shape_1_per_frame18=//xrot +shape_1_per_frame19=theta=xrot; +shape_1_per_frame20=px=npx; +shape_1_per_frame21=py=npy; +shape_1_per_frame22=pz=npz; +shape_1_per_frame23=npy=(py*cos(theta))+(pz*-sin(theta)); +shape_1_per_frame24=npz=(py*sin(theta))+(pz*cos(theta)); +shape_1_per_frame25= +shape_1_per_frame26=//yrot +shape_1_per_frame27=theta=yrot; +shape_1_per_frame28=px=npx; +shape_1_per_frame29=py=npy; +shape_1_per_frame30=pz=npz; +shape_1_per_frame31=npx=(px*cos(theta))+(pz*sin(theta)); +shape_1_per_frame32=npz=(-px*sin(theta))+(pz*cos(theta)); +shape_1_per_frame33= +shape_1_per_frame34=//zrot +shape_1_per_frame35=theta=zrot; +shape_1_per_frame36=px=npx; +shape_1_per_frame37=py=npy; +shape_1_per_frame38=pz=npz; +shape_1_per_frame39=npx=(px*cos(theta))+(py*-sin(theta)); +shape_1_per_frame40=npy=(px*sin(theta))+(py*cos(theta)); +shape_1_per_frame41= +shape_1_per_frame42=x=npx+.5; +shape_1_per_frame43=y=(npy*1.3)+.5; +shape_1_per_frame44=a=a*npz*.15; +shape_1_per_frame45= +shape_1_per_frame46=a=if(below(npz,0),a,0); +shape_1_per_frame47=a2=if(below(npz,0),a2,0); +shape_1_per_frame48= +shape_1_per_frame49=rad=rad+(abs(npz)*.1); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.01842 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=//sun body +shape_2_per_frame2= +shape_2_per_frame3=//sun +shape_2_per_frame4=prad=1.1; +shape_2_per_frame5= +shape_2_per_frame6=px=cos(8886)*prad; +shape_2_per_frame7=py=sin(8886)*prad; +shape_2_per_frame8=pz=0; +shape_2_per_frame9=//yrot to sphere surface +shape_2_per_frame10=npx=(px*cos(0))+(pz*sin(0)); +shape_2_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); +shape_2_per_frame12=npy=py; +shape_2_per_frame13= +shape_2_per_frame14=//xrot +shape_2_per_frame15=theta=q6; +shape_2_per_frame16=px=npx; +shape_2_per_frame17=py=npy; +shape_2_per_frame18=pz=npz; +shape_2_per_frame19=npy=(py*cos(theta))+(pz*-sin(theta)); +shape_2_per_frame20=npz=(py*sin(theta))+(pz*cos(theta)); +shape_2_per_frame21= +shape_2_per_frame22=//yrot +shape_2_per_frame23=theta=q7; +shape_2_per_frame24=px=npx; +shape_2_per_frame25=py=npy; +shape_2_per_frame26=pz=npz; +shape_2_per_frame27=npx=(px*cos(theta))+(pz*sin(theta)); +shape_2_per_frame28=npz=(-px*sin(theta))+(pz*cos(theta)); +shape_2_per_frame29= +shape_2_per_frame30=//zrot +shape_2_per_frame31=theta=q8; +shape_2_per_frame32=px=npx; +shape_2_per_frame33=py=npy; +shape_2_per_frame34=pz=npz; +shape_2_per_frame35=npx=(px*cos(theta))+(py*-sin(theta)); +shape_2_per_frame36=npy=(px*sin(theta))+(py*cos(theta)); +shape_2_per_frame37= +shape_2_per_frame38=x=npx+.5; +shape_2_per_frame39=y=(npy*1.3)+.5; +shape_2_per_frame40= +shape_2_per_frame41=a=npz*.15; +shape_2_per_frame42=a=if(below(npz,0),a,0); +shape_2_per_frame43=a2=if(below(npz,0),a2,0); +shape_2_per_frame44=border_a=if(below(npz,0),border_a,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.11046 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=//planet shadow +shape_3_per_frame2= +shape_3_per_frame3=//sun shadow +shape_3_per_frame4=prad=1.1; +shape_3_per_frame5= +shape_3_per_frame6=s_px=cos(8886)*prad; +shape_3_per_frame7=s_py=sin(8886)*prad; +shape_3_per_frame8=s_pz=0; +shape_3_per_frame9=//yrot to sphere surface +shape_3_per_frame10=s_npx=(s_px*cos(0))+(s_pz*sin(0)); +shape_3_per_frame11=s_npz=(-s_px*sin(0))+(s_pz*cos(0)); +shape_3_per_frame12=s_npy=s_py; +shape_3_per_frame13= +shape_3_per_frame14=//xrot +shape_3_per_frame15=theta=q6; +shape_3_per_frame16=s_px=s_npx; +shape_3_per_frame17=s_py=s_npy; +shape_3_per_frame18=s_pz=s_npz; +shape_3_per_frame19=s_npy=(s_py*cos(theta))+(s_pz*-sin(theta)); +shape_3_per_frame20=s_npz=(s_py*sin(theta))+(s_pz*cos(theta)); +shape_3_per_frame21= +shape_3_per_frame22=//yrot +shape_3_per_frame23=theta=q7; +shape_3_per_frame24=s_px=s_npx; +shape_3_per_frame25=s_py=s_npy; +shape_3_per_frame26=s_pz=s_npz; +shape_3_per_frame27=s_npx=(s_px*cos(theta))+(s_pz*sin(theta)); +shape_3_per_frame28=s_npz=(-s_px*sin(theta))+(s_pz*cos(theta)); +shape_3_per_frame29= +shape_3_per_frame30=//zrot +shape_3_per_frame31=theta=q8; +shape_3_per_frame32=s_px=s_npx; +shape_3_per_frame33=s_py=s_npy; +shape_3_per_frame34=s_pz=s_npz; +shape_3_per_frame35=s_npx=(s_px*cos(theta))+(s_py*-sin(theta)); +shape_3_per_frame36=s_npy=(s_px*sin(theta))+(s_py*cos(theta)); +shape_3_per_frame37= +shape_3_per_frame38=s_x=s_npx+.5; +shape_3_per_frame39=s_y=(s_npy*1.3)+.5; +shape_3_per_frame40= +shape_3_per_frame41=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); +shape_3_per_frame42=a=if(below(s_npz,0),a*(1-(.2*d)),a*d*.6); +shape_3_per_frame43=a2=if(below(s_npz,0),a2*(1-(.2*d)),a2*d*.6); +per_frame_init_1=beatrate=5; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=.5; +per_frame_init_5=avgdb=.5; +per_frame_init_6=vol=1; +per_frame_init_7=avgvol=.2; +per_frame_init_8=mtime=1000; +per_frame_init_9= +per_frame_init_10=tt=1000*treb; +per_frame_init_11=bt=1000*bass; +per_frame_init_12=mt=1000*mid; +per_frame_1=db=(bass-lbass)*fps; +per_frame_2=lbass=bass; +per_frame_3=avgdb=avgdb*.99+abs(db)*.01; +per_frame_4= +per_frame_5=//beatdection +per_frame_6=rawbeatb=above(db,avgdb*2); +per_frame_7=beatb=rawbeatb*above(time-lbbtime,.75*avgbeatrate)*above(bass_att,.3); +per_frame_8= +per_frame_9=//beatrate calc +per_frame_10=bbtime=time*beatb; +per_frame_11=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_12=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_14= +per_frame_15=bc=bc+beatb; +per_frame_16= +per_frame_17= +per_frame_18= +per_frame_19=vol=(rawbeatb*(db-(avgdb))*.01); +per_frame_20=avgvol=avgvol*.99+vol*.05; +per_frame_21= +per_frame_22=mtime=mtime+min(avgvol*.5,.25); +per_frame_23= +per_frame_24=//decay=.99; +per_frame_25=warp=0; +per_frame_26=wrap=1; +per_frame_27= +per_frame_28= +per_frame_29=warp = 0; +per_frame_30= +per_frame_31=tic = min(time - tin,.1); +per_frame_32=tin = time; +per_frame_33= +per_frame_34=ra = 10; +per_frame_35=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_36=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_37=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_38= +per_frame_39=rb = 1; +per_frame_40=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); +per_frame_41= +per_frame_42=tt = tt + tic*treb_avg; +per_frame_43=mt = mt + tic*mid_avg; +per_frame_44=bt = bt + tic*bass_avg; +per_frame_45=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; +per_frame_46= +per_frame_47=sz = .2; +per_frame_48= +per_frame_49=q1 = .5 + sz*sin(tt*.629) - sz*sin(tt*.107); +per_frame_50=q2 = .5 + sz*sin(tt*.987) - sz*sin(tt*.456); +per_frame_51= +per_frame_52=q3 = .5 + sz*sin(mt*.654) - sz*sin(mt*.355); +per_frame_53=q4 = .5 + sz*sin(mt*.548) - sz*sin(mt*.875); +per_frame_54= +per_frame_55=q5 = .5 + sz*sin(bt*.687) - sz*sin(bt*.318); +per_frame_56=q6 = .5 + sz*sin(bt*.465) - sz*sin(bt*.526); +per_frame_57= +per_frame_58= +per_frame_59=q7=mtime; +per_frame_60=q8=dbass; +per_pixel_1=xd = q1-x; +per_pixel_2=yd = q2-y; +per_pixel_3= +per_pixel_4=dis = pow(xd*xd+yd*yd,.5); +per_pixel_5=des = 1 - dis*.7071068; +per_pixel_6=des = pow(des,10*q8)*-treb; +per_pixel_7=an = acos(abs(xd)/dis); +per_pixel_8= +per_pixel_9=dx = sign(xd)*.01*cos(an)*des; +per_pixel_10=dy = sign(yd)*.01*sin(an)*des; +per_pixel_11= +per_pixel_12=//dy = dy + sign(xd)*treb*.05*cos(an)*des; +per_pixel_13=//dx = dx + sign(yd)*treb*.05*sin(an)*des*-1; +per_pixel_14= +per_pixel_15= +per_pixel_16=dx=dx-sign(yd)*sin(q7+an)*.001*treb_att*des; +per_pixel_17=dy=dy+sign(xd)*cos(q7+an)*.001*treb*des; +per_pixel_18= +per_pixel_19=sy=1+dx*des; +per_pixel_20=sx=1-dy*des; +per_pixel_21= +per_pixel_22= +per_pixel_23=xd = q3-x; +per_pixel_24=yd = q4-y; +per_pixel_25= +per_pixel_26=dis = pow(xd*xd+yd*yd,.5); +per_pixel_27=des = 1 - dis*.7071068; +per_pixel_28=des = pow(des,10*q8)*-mid; +per_pixel_29=an = acos(abs(xd)/dis); +per_pixel_30= +per_pixel_31=dx = dx + sign(xd)*.01*cos(an)*des; +per_pixel_32=dy = dy + sign(yd)*.01*sin(an)*des; +per_pixel_33= +per_pixel_34=//dy = dy + sign(xd)*mid*.05*cos(an)*des; +per_pixel_35=//dx = dx + sign(yd)*mid*.05*sin(an)*des*-1; +per_pixel_36= +per_pixel_37= +per_pixel_38=dx=dx-sign(yd)*sin(q7+an)*.001*mid_att*des; +per_pixel_39=dy=dy+sign(xd)*cos(q7+an)*.001*mid*des; +per_pixel_40= +per_pixel_41=sy=1+dx*des; +per_pixel_42=sx=1-dy*des; +per_pixel_43= +per_pixel_44=xd = q5-x; +per_pixel_45=yd = q6-y; +per_pixel_46= +per_pixel_47=dis = pow(xd*xd+yd*yd,.5); +per_pixel_48=des = 1 - dis*.7071068; +per_pixel_49=des = pow(des,10*q8)*-bass; +per_pixel_50=an = acos(abs(xd)/dis); +per_pixel_51= +per_pixel_52=dx = dx + sign(xd)*.01*cos(an)*des; +per_pixel_53=dy = dy + sign(yd)*.01*sin(an)*des; +per_pixel_54= +per_pixel_55=//dy = dy + sign(xd)*bass*.05*cos(an)*des; +per_pixel_56=//dx = dx + sign(yd)*bass*.05*sin(an)*des*-1; +per_pixel_57= +per_pixel_58= +per_pixel_59=dx=dx-sign(yd)*sin(q7+an)*.001*bass_att*des; +per_pixel_60=dy=dy+sign(xd)*cos(q7+an)*.001*bass*des; +per_pixel_61= +per_pixel_62=sy=1+dx*des; +per_pixel_63=sx=1-dy*des; +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`ret=GetBlur1(uv); +comp_5=`ret-=roam_sin.wzy*roam_cos.zxy; +comp_6=`ret+=GetBlur1(float2(uv.x+ret.x,uv.y+ret.y)); +comp_7=`ret+=GetBlur1(float2(uv.x-ret.y,uv.y-ret.y)); +comp_8=`ret=pow(length(ret)*ret*1.33,0.89-GetBlur3(uv)); +comp_9=`//ret=saturate(ret); +comp_10=`//ret*=tex2D(sampler_noise_lq,uv*ret.y); +comp_11=`ret*=ret.z; +comp_12=`ret=ret-GetPixel(uv); +comp_13=`ret=.5-ret; +comp_14=`} diff --git a/presets/presets_tryptonaut/shifter - swarm.milk b/presets/presets_tryptonaut/shifter - swarm.milk new file mode 100755 index 0000000000..fd98d6b848 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - swarm.milk @@ -0,0 +1,483 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=1.000000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999510 +rot=0.400000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.050000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_init1=t1 = .7 + rand(100)*.01*.6; +wave_0_init2=t2 = .7 + rand(100)*.01*.6; +wave_0_init3=t3 = .7 + rand(100)*.01*.6; +wave_0_init4=t4 = .7 + rand(100)*.01*.6; +wave_0_init5=t5 = .7 + rand(100)*.01*.6; +wave_0_init6=t6 = .7 + rand(100)*.01*.6; +wave_0_init7=t7 = .7 + rand(100)*.01*.6; +wave_0_init8=t8 = .7 + rand(100)*.01*.6; +wave_0_per_point1= +wave_0_per_point2=it = (it+1)*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_0_per_point5=mod = mod + equal(mod,0)*t8; +wave_0_per_point6= +wave_0_per_point7=x = .5 + q1*sin(q2*mod); +wave_0_per_point8=y = .5 + q1*cos(q3*mod); +wave_0_per_point9= +wave_0_per_point10=h = q4 + .1*sample; +wave_0_per_point11=h = h - int(h); +wave_0_per_point12=l = .25 + .5*rand(101)*.01; +wave_0_per_point13=s = rand(101)*.01; +wave_0_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_0_per_point15=tmpa = 2*l - tmpb; +wave_0_per_point16=hvr = h + .333333; +wave_0_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_0_per_point18=hvg = h; +wave_0_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_0_per_point20=hvb = h - .333333; +wave_0_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_0_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_0_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_0_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_init1=t1 = .7 + rand(100)*.01*.6; +wave_1_init2=t2 = .7 + rand(100)*.01*.6; +wave_1_init3=t3 = .7 + rand(100)*.01*.6; +wave_1_init4=t4 = .7 + rand(100)*.01*.6; +wave_1_init5=t5 = .7 + rand(100)*.01*.6; +wave_1_init6=t6 = .7 + rand(100)*.01*.6; +wave_1_init7=t7 = .7 + rand(100)*.01*.6; +wave_1_init8=t8 = .7 + rand(100)*.01*.6; +wave_1_per_point1= +wave_1_per_point2=it = (it+1)*above(sample,0); +wave_1_per_point3= +wave_1_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_1_per_point5=mod = mod + equal(mod,0)*t8; +wave_1_per_point6= +wave_1_per_point7=x = .5 + q1*sin(q2*mod); +wave_1_per_point8=y = .5 + q1*cos(q3*mod); +wave_1_per_point9= +wave_1_per_point10=h = q4 + .1*sample; +wave_1_per_point11=h = h - int(h); +wave_1_per_point12=l = .25 + .5*rand(101)*.01; +wave_1_per_point13=s = rand(101)*.01; +wave_1_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_1_per_point15=tmpa = 2*l - tmpb; +wave_1_per_point16=hvr = h + .333333; +wave_1_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_1_per_point18=hvg = h; +wave_1_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_1_per_point20=hvb = h - .333333; +wave_1_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_1_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_1_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_1_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_init1=t1 = .7 + rand(100)*.01*.6; +wave_2_init2=t2 = .7 + rand(100)*.01*.6; +wave_2_init3=t3 = .7 + rand(100)*.01*.6; +wave_2_init4=t4 = .7 + rand(100)*.01*.6; +wave_2_init5=t5 = .7 + rand(100)*.01*.6; +wave_2_init6=t6 = .7 + rand(100)*.01*.6; +wave_2_init7=t7 = .7 + rand(100)*.01*.6; +wave_2_init8=t8 = .7 + rand(100)*.01*.6; +wave_2_per_point1= +wave_2_per_point2=it = (it+1)*above(sample,0); +wave_2_per_point3= +wave_2_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_2_per_point5=mod = mod + equal(mod,0)*t8; +wave_2_per_point6= +wave_2_per_point7=x = .5 + q1*sin(q2*mod); +wave_2_per_point8=y = .5 + q1*cos(q3*mod); +wave_2_per_point9= +wave_2_per_point10=h = q4 + .1*sample; +wave_2_per_point11=h = h - int(h); +wave_2_per_point12=l = .25 + .5*rand(101)*.01; +wave_2_per_point13=s = rand(101)*.01; +wave_2_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_2_per_point15=tmpa = 2*l - tmpb; +wave_2_per_point16=hvr = h + .333333; +wave_2_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_2_per_point18=hvg = h; +wave_2_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_2_per_point20=hvb = h - .333333; +wave_2_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_2_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_2_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_2_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_init1=t1 = .7 + rand(100)*.01*.6; +wave_3_init2=t2 = .7 + rand(100)*.01*.6; +wave_3_init3=t3 = .7 + rand(100)*.01*.6; +wave_3_init4=t4 = .7 + rand(100)*.01*.6; +wave_3_init5=t5 = .7 + rand(100)*.01*.6; +wave_3_init6=t6 = .7 + rand(100)*.01*.6; +wave_3_init7=t7 = .7 + rand(100)*.01*.6; +wave_3_init8=t8 = .7 + rand(100)*.01*.6; +wave_3_per_point1= +wave_3_per_point2=it = (it+1)*above(sample,0); +wave_3_per_point3= +wave_3_per_point4=mod = equal(it,0)*t1 + equal(it,1)*t2 + equal(it,2)*t3 + equal(it,3)*t4 + equal(it,4)*t5 + equal(it,5)*t6 + equal(it,6)*t7; +wave_3_per_point5=mod = mod + equal(mod,0)*t8; +wave_3_per_point6= +wave_3_per_point7=x = .5 + q1*sin(q2*mod); +wave_3_per_point8=y = .5 + q1*cos(q3*mod); +wave_3_per_point9= +wave_3_per_point10=h = q4 + .1*sample; +wave_3_per_point11=h = h - int(h); +wave_3_per_point12=l = .25 + .5*rand(101)*.01; +wave_3_per_point13=s = rand(101)*.01; +wave_3_per_point14=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +wave_3_per_point15=tmpa = 2*l - tmpb; +wave_3_per_point16=hvr = h + .333333; +wave_3_per_point17=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +wave_3_per_point18=hvg = h; +wave_3_per_point19=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +wave_3_per_point20=hvb = h - .333333; +wave_3_per_point21=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +wave_3_per_point22=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +wave_3_per_point23=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +wave_3_per_point24=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000150 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_init1=t1 = .7 + rand(101)*.01*.6; +shape_0_init2=t2 = .7 + rand(101)*.01*.6; +shape_0_per_frame1=x = .5 + q1*sin(q2*t1); +shape_0_per_frame2=y = .5 + q1*cos(q3*t2); +shape_0_per_frame3= +shape_0_per_frame4=rad = q5; +shape_0_per_frame5= +shape_0_per_frame6=ang = -time; +shape_0_per_frame7=sides = q6; +shape_0_per_frame8= +shape_0_per_frame9=h = q4; +shape_0_per_frame10=h = h - int(h); +shape_0_per_frame11=l = .5; +shape_0_per_frame12=s = 1; +shape_0_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_0_per_frame14=tmpa = 2*l - tmpb; +shape_0_per_frame15=hvr = h + .333333; +shape_0_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_0_per_frame17=hvg = h; +shape_0_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_0_per_frame19=hvb = h - .333333; +shape_0_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_0_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_0_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_0_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_0_per_frame24=r2=r;g2=g;b2=b; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_init1=t1 = .7 + rand(101)*.01*.6; +shape_1_init2=t2 = .7 + rand(101)*.01*.6; +shape_1_per_frame1=x = .5 + q1*sin(q2*t1); +shape_1_per_frame2=y = .5 + q1*cos(q3*t2); +shape_1_per_frame3= +shape_1_per_frame4=rad = q5; +shape_1_per_frame5= +shape_1_per_frame6=ang = -time; +shape_1_per_frame7=sides = q6; +shape_1_per_frame8= +shape_1_per_frame9=h = q4 + .01; +shape_1_per_frame10=h = h - int(h); +shape_1_per_frame11=l = .5; +shape_1_per_frame12=s = 1; +shape_1_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_1_per_frame14=tmpa = 2*l - tmpb; +shape_1_per_frame15=hvr = h + .333333; +shape_1_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_1_per_frame17=hvg = h; +shape_1_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_1_per_frame19=hvb = h - .333333; +shape_1_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_1_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_1_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_1_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_1_per_frame24=r2=r;g2=g;b2=b; +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_init1=t1 = .7 + rand(101)*.01*.6; +shape_2_init2=t2 = .7 + rand(101)*.01*.6; +shape_2_per_frame1=x = .5 + q1*sin(q2*t1); +shape_2_per_frame2=y = .5 + q1*cos(q3*t2); +shape_2_per_frame3= +shape_2_per_frame4=rad = q5; +shape_2_per_frame5= +shape_2_per_frame6=ang = -time; +shape_2_per_frame7=sides = q6; +shape_2_per_frame8= +shape_2_per_frame9=h = q4 + .02; +shape_2_per_frame10=h = h - int(h); +shape_2_per_frame11=l = .5; +shape_2_per_frame12=s = 1; +shape_2_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_2_per_frame14=tmpa = 2*l - tmpb; +shape_2_per_frame15=hvr = h + .333333; +shape_2_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_2_per_frame17=hvg = h; +shape_2_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_2_per_frame19=hvb = h - .333333; +shape_2_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_2_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_2_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_2_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_2_per_frame24=r2=r;g2=g;b2=b; +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_init1=t1 = .7 + rand(101)*.01*.6; +shape_3_init2=t2 = .7 + rand(101)*.01*.6; +shape_3_per_frame1=x = .5 + q1*sin(q2*t1); +shape_3_per_frame2=y = .5 + q1*cos(q3*t2); +shape_3_per_frame3= +shape_3_per_frame4=rad = q5; +shape_3_per_frame5= +shape_3_per_frame6=ang = -time; +shape_3_per_frame7=sides = q6; +shape_3_per_frame8= +shape_3_per_frame9=h = q4 + .03; +shape_3_per_frame10=h = h - int(h); +shape_3_per_frame11=l = .5; +shape_3_per_frame12=s = 1; +shape_3_per_frame13=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +shape_3_per_frame14=tmpa = 2*l - tmpb; +shape_3_per_frame15=hvr = h + .333333; +shape_3_per_frame16=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +shape_3_per_frame17=hvg = h; +shape_3_per_frame18=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +shape_3_per_frame19=hvb = h - .333333; +shape_3_per_frame20=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +shape_3_per_frame21=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +shape_3_per_frame22=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +shape_3_per_frame23=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +shape_3_per_frame24=r2=r;g2=g;b2=b; +per_frame_1=wave_a = 0; +per_frame_2= +per_frame_3=tic = time-tin; +per_frame_4=tic = tic; +per_frame_5=tin = time; +per_frame_6= +per_frame_7=v = tic*((bass_att + med_att + treb_att)*.3333*2 + (1/tic - 2)*v); +per_frame_8=sb = tic*(bass*4 + (1/tic - 4)*sb); +per_frame_9=su = tic*(med*.5+treb*.5*4 + (1/tic - 4)*su); +per_frame_10= +per_frame_11=tb = (tb + tic*sb)*below(tb,100000); +per_frame_12=tu = (tu + tic*su)*below(tu,100000); +per_frame_13= +per_frame_14=monitor = tu; +per_frame_15= +per_frame_16=q1 = v*.2 + .25; +per_frame_17=q2 = tb; +per_frame_18=q3 = tu; +per_frame_19= +per_frame_20=q4 = (5*sin(time*.145) + 3*cos(time*.115))*.1; +per_frame_21= +per_frame_22=q5 = pow(v*.5,2); +per_frame_23=q5 = .15; +per_frame_24= +per_frame_25=zoom = -.98; +per_frame_26= +per_frame_27=q6 = 40; +per_frame_28= +per_frame_29=h = time*.05; +per_frame_30=h = h - int(h); +per_frame_31=l = 1; +per_frame_32=s = 1; +per_frame_33=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); +per_frame_34=tmpa = 2*l - tmpb; +per_frame_35=hvr = h + .333333; +per_frame_36=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); +per_frame_37=hvg = h; +per_frame_38=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); +per_frame_39=hvb = h - .333333; +per_frame_40=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); +per_frame_41=ob_r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); +per_frame_42=ob_g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); +per_frame_43=ob_b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); +per_frame_44= diff --git a/presets/presets_tryptonaut/shifter - tadpole evolution (static mix).milk b/presets/presets_tryptonaut/shifter - tadpole evolution (static mix).milk new file mode 100755 index 0000000000..4fac6c21a2 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - tadpole evolution (static mix).milk @@ -0,0 +1,302 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700000 +fDecay=0.980000 +fVideoEchoZoom=0.999609 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.644619 +fShader=0.000000 +zoom=1.029800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = (q1+sample)*6.2832*.666; +wave_0_per_point2=x = .5 + .1*sin(sp)*.75; +wave_0_per_point3=y = .5 + .1*cos(sp); +wave_0_per_point4= +wave_0_per_point5=val = min(1,value1*4); +wave_0_per_point6=a = (1-val)*below(sample,.75); +wave_0_per_point7=//a = a*q2; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = (q1 + sample + .75)*6.2832*.666; +wave_1_per_point2=x = .5 + .1*sin(sp)*.75; +wave_1_per_point3=y = .5 + .1*cos(sp); +wave_1_per_point4= +wave_1_per_point5=val = min(1,value2*4); +wave_1_per_point6=a = (1-val)*below(sample,.75); +wave_1_per_point7=//a = a*(1-q2); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.498295 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=0.600000 +wave_2_per_point1=x = .5 + value1; +wave_2_per_point2=y = .5 + value2; +wave_2_per_point3= +wave_2_per_point4=mod = .4; +wave_2_per_point5=sec = above(x,mod)*below(x,1-mod) + above(y,mod)*below(y,1-mod); +wave_2_per_point6= +wave_2_per_point7=my = (y - .5)*.75; +wave_2_per_point8=rad = pow(my*my + (x-.5)*(x-.5),.5); +wave_2_per_point9=rad = below(rad,0.075); +wave_2_per_point10= +wave_2_per_point11=a = sec*(1-rad)*.1; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=50 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.244863 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=0.300000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ti = time*.8; +shape_0_per_frame2=r = .5 + .5*sin(ti); +shape_0_per_frame3=g = .5 + .5*sin(ti + 1.0472); +shape_0_per_frame4=b = .5 + .5*sin(ti + 2.0944); +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7= +shape_0_per_frame8=r2 = r; +shape_0_per_frame9=g2 = g; +shape_0_per_frame10=b2 = b; +shapecode_1_enabled=1 +shapecode_1_sides=50 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.194774 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.498312 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=//r = .5 + .5*sin(time*1.123); +shape_1_per_frame2=//g = .5 + .5*sin(time*1.456); +shape_1_per_frame3=//b = .5 + .5*sin(time*1.789); +shape_1_per_frame4= +shape_1_per_frame5=tex_ang = rand(1001)*.001*6.2832; +shape_1_per_frame6=tex_ang = rand(4)*.7854; +shape_1_per_frame7=//tex_ang = time; +shape_1_per_frame8= +shape_1_per_frame9=r2 = r; +shape_1_per_frame10=g2 = g; +shape_1_per_frame11=b2 = b; +shapecode_2_enabled=1 +shapecode_2_sides=44 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.000000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.892691 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=1.570797 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shapecode_3_enabled=1 +shapecode_3_sides=44 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=1.000000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.892691 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=4.712390 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_13=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_14= +per_frame_15=tt = tt + tic*treb; +per_frame_16=mt = mt + tic*mid; +per_frame_17=bt = bt + tic*bass; +per_frame_18=vt = vt + tic*vav; +per_frame_19= +per_frame_20=sp = abs(vav - slide)*.1; +per_frame_21=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav*.2; +per_frame_22=toc = 1; +per_frame_23= +per_frame_24=q1 = vt*.1; +per_frame_25= +per_frame_26=q2 = .5 + .5*sin(time*4); +per_frame_27= +per_frame_28=q3 = vav*.05; // crossbar sx strength +per_frame_29= +per_frame_30=q4 = vt; // rotation speed +per_pixel_1=ti = time*-.6; +per_pixel_2=rot = sin((rad+ti)*6.2832)*.01; +per_pixel_3= +per_pixel_4= +per_pixel_5= +per_pixel_6=mod = .4; +per_pixel_7=xsec = above(x,mod)*below(x,1-mod); +per_pixel_8=ysec = above(y,mod)*below(y,1-mod); +per_pixel_9= +per_pixel_10=zoom = if(xsec + ysec,zoom,.75); +per_pixel_11= +per_pixel_12=dx = if(xsec + ysec,dx,.5); +per_pixel_13=dy = if(xsec + ysec,dy,.5); +per_pixel_14= +per_pixel_15=sx = if(xsec + ysec,.9 + q3,1); +per_pixel_16= +per_pixel_17=mod = (1-2*above(x,.5))*(1-2*above(y,.5)); +per_pixel_18= +per_pixel_19=rot = if(xsec + ysec,rot,q4*mod); diff --git a/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) EoS remix1.milk b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) EoS remix1.milk new file mode 100644 index 0000000000..59fc1b4c9c --- /dev/null +++ b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) EoS remix1.milk @@ -0,0 +1,341 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=1.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol*2; +per_frame_4=//q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.333333; +per_frame_9=q2 = tm; +per_frame_10=zoom=1.01;decay=0.95; +per_frame_11=sx=-1 diff --git a/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk new file mode 100755 index 0000000000..3bbe9b5d83 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples) Phat_parallel_planes_mix.milk @@ -0,0 +1,345 @@ +[preset00] +fRating=4.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=1.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.600000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol; +per_frame_4=//q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.43333; +per_frame_9=q2 = tm; +per_frame_10=zoom=1.01;decay=0.95; +per_frame_11=sx=-1; +per_frame_12=sy=-1; +per_frame_13= +per_frame_14=decay=.999; +per_pixel_1=zoom=zoom+(rad/10); diff --git a/presets/presets_tryptonaut/shifter - tumbling cubes (ripples).milk b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples).milk new file mode 100755 index 0000000000..9cb4ead4e5 --- /dev/null +++ b/presets/presets_tryptonaut/shifter - tumbling cubes (ripples).milk @@ -0,0 +1,339 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.950000 +fVideoEchoZoom=1.006596 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.108925 +fShader=0.000000 +zoom=1.104085 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*2; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_0_per_point9= +wave_0_per_point10=xang = q2*0.132; +wave_0_per_point11=axang = 0; +wave_0_per_point12=yang = q2*0.153; +wave_0_per_point13=ayang = 0; +wave_0_per_point14=zang = q2*2.10; +wave_0_per_point15=azang = 0; +wave_0_per_point16=fov = 0.6 + 0.2*sin(time); +wave_0_per_point17=fov = .3; +wave_0_per_point18= +wave_0_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point21=ox = mx; +wave_0_per_point22=oy = my; +wave_0_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point25=ox = mx; +wave_0_per_point26=oz = mz; +wave_0_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point29=oy = my; +wave_0_per_point30=oz = mz; +wave_0_per_point31= +wave_0_per_point32=aa = 0 + (oz-1)*.5; +wave_0_per_point33=a = .05; +wave_0_per_point34=oz = oz - 2; +wave_0_per_point35=x = ox*fov/oz + 0.5; +wave_0_per_point36=x = (x-.5)*0.75 + 0.5; +wave_0_per_point37=y = oy*fov/oz + 0.5; +wave_0_per_point38= +wave_0_per_point39=g = 1 + sin(sp); +wave_0_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=ss = sample*2; +wave_1_per_point6=oy = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_1_per_point7=oz = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_1_per_point8=ox = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_1_per_point9= +wave_1_per_point10=xang = q2*0.132; +wave_1_per_point11=axang = 0; +wave_1_per_point12=yang = q2*0.153; +wave_1_per_point13=ayang = 0; +wave_1_per_point14=zang = q2*2.10; +wave_1_per_point15=azang = 0; +wave_1_per_point16=fov = 0.6 + 0.2*sin(time); +wave_1_per_point17=fov = .3; +wave_1_per_point18= +wave_1_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point21=ox = mx; +wave_1_per_point22=oy = my; +wave_1_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point25=ox = mx; +wave_1_per_point26=oz = mz; +wave_1_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point29=oy = my; +wave_1_per_point30=oz = mz; +wave_1_per_point31= +wave_1_per_point32=oz = oz - 2; +wave_1_per_point33=x = ox*fov/oz + 0.5; +wave_1_per_point34=x = (x-.5)*0.75 + 0.5; +wave_1_per_point35=y = oy*fov/oz + 0.5; +wave_1_per_point36= +wave_1_per_point37=a = .5 + (oz+2)*.5; +wave_1_per_point38=a = .05; +wave_1_per_point39=g = 1 + sin(sp); +wave_1_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_1_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=ss = sample*2; +wave_2_per_point6=oz = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz; +wave_2_per_point7=ox = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1); +wave_2_per_point8=oy = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1); +wave_2_per_point9= +wave_2_per_point10=xang = q2*0.132; +wave_2_per_point11=axang = 0; +wave_2_per_point12=yang = q2*0.153; +wave_2_per_point13=ayang = 0; +wave_2_per_point14=zang = q2*2.10; +wave_2_per_point15=azang = 0; +wave_2_per_point16=fov = 0.6 + 0.2*sin(time); +wave_2_per_point17=fov = .3; +wave_2_per_point18= +wave_2_per_point19=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point20=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point21=ox = mx; +wave_2_per_point22=oy = my; +wave_2_per_point23=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point24=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point25=ox = mx; +wave_2_per_point26=oz = mz; +wave_2_per_point27=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point28=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point29=oy = my; +wave_2_per_point30=oz = mz; +wave_2_per_point31= +wave_2_per_point32=oz = oz - 2; +wave_2_per_point33=x = ox*fov/oz + 0.5; +wave_2_per_point34=x = (x-.5)*0.75 + 0.5; +wave_2_per_point35=y = oy*fov/oz + 0.5; +wave_2_per_point36= +wave_2_per_point37=a = .5 + (oz+2)*.1; +wave_2_per_point38=a = .05; +wave_2_per_point39=g = 1 + sin(sp); +wave_2_per_point40=b = 0.5 + 0.5*sin(sample*1.57); +wave_2_per_point41=r = 0.5 + 0.5*cos(sample*1.57); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = vol*.7; +per_frame_4=q1 = min(q1,2); +per_frame_5= +per_frame_6=tic = time-tin; +per_frame_7=tin = time; +per_frame_8=tm = tm + tic*(bass_att+mid_att+treb_att)*.333333; +per_frame_9=q2 = tm; diff --git a/presets/presets_tryptonaut/shifter - tumbling cubes.milk b/presets/presets_tryptonaut/shifter - tumbling cubes.milk new file mode 100755 index 0000000000..5ca26d4f2e --- /dev/null +++ b/presets/presets_tryptonaut/shifter - tumbling cubes.milk @@ -0,0 +1,471 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.0 +fDecay=0.5 +fVideoEchoZoom=4.946229 +fVideoEchoAlpha=0.0 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.099998 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.0 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.3 +fWarpAnimSpeed=1.0 +fWarpScale=1.331000 +fZoomExponent=0.999835 +fShader=0.0 +zoom=0.999512 +rot=0.0 +cx=0.5 +cy=0.5 +dx=0.0 +dy=0.0 +warp=0.010000 +sx=1.0 +sy=1.0 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.5 +wave_y=0.5 +ob_size=0.5 +ob_r=0.010000 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.260000 +ib_r=0.25 +ib_g=0.25 +ib_b=0.25 +ib_a=0.0 +nMotionVectorsX=12.0 +nMotionVectorsY=9.0 +mv_dx=0.0 +mv_dy=0.0 +mv_l=0.9 +mv_r=1.0 +mv_g=1.0 +mv_b=1.0 +mv_a=0.0 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.0 +wavecode_0_smoothing=0.5 +wavecode_0_r=1.0 +wavecode_0_g=1.0 +wavecode_0_b=1.0 +wavecode_0_a=1.0 +wave_0_per_point1=sp = sample*6.28*8*8*4; +wave_0_per_point2=it = it+1; +wave_0_per_point3=it = it*above(sample,0); +wave_0_per_point4=sz = q1; +wave_0_per_point5=ss = sample*6; +wave_0_per_point6=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_0_per_point7=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_0_per_point8=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_0_per_point9=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_0_per_point10=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_0_per_point11=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_0_per_point12= +wave_0_per_point13=xang = q2; +wave_0_per_point14=axang = 0; +wave_0_per_point15=yang = q3; +wave_0_per_point16=ayang = 0; +wave_0_per_point17=zang = q4; +wave_0_per_point18=azang = 0; +wave_0_per_point19=fov = .3; +wave_0_per_point20= +wave_0_per_point21=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point22=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point23=ox = mx; +wave_0_per_point24=oy = my; +wave_0_per_point25=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point26=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point27=ox = mx; +wave_0_per_point28=oz = mz; +wave_0_per_point29=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point30=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point31=oy = my; +wave_0_per_point32=oz = mz; +wave_0_per_point33= +wave_0_per_point34=a = .05; +wave_0_per_point35=mod = (oz+1)*.5; +wave_0_per_point36=a = a*max(min(mod,1),0); +wave_0_per_point37=oz = oz - 2; +wave_0_per_point38=x = ox*fov/oz + 0.5; +wave_0_per_point39=x = (x-.5)*0.75 + 0.5; +wave_0_per_point40=y = oy*fov/oz + 0.5; +wave_0_per_point41= +wave_0_per_point42=r = 1+sin(sp); +wave_0_per_point43=g = 0.5 + 0.5*sin(sample*1.57); +wave_0_per_point44=b = 0.5 + 0.5*cos(sample*1.57); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.0 +wavecode_1_smoothing=0.5 +wavecode_1_r=1.0 +wavecode_1_g=1.0 +wavecode_1_b=1.0 +wavecode_1_a=1.0 +wave_1_per_frame1=tic = time - tin; +wave_1_per_frame2=tin = time; +wave_1_per_frame3=mod = .1*(mod*9 + bass_att); +wave_1_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_1_per_frame5=t1 = tt; +wave_1_per_point1=sp = sample*6.28*8*8*4; +wave_1_per_point2=it = it+1; +wave_1_per_point3=it = it*above(sample,0); +wave_1_per_point4=sz = q1; +wave_1_per_point5=pi = 3.141592653; +wave_1_per_point6=ss = sample*6; +wave_1_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_1_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_1_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_1_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_1_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_1_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_1_per_point13= +wave_1_per_point14=zang = t1; +wave_1_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point17=ox = mx; +wave_1_per_point18=oy = my; +wave_1_per_point19= +wave_1_per_point20=sh = sz*.5; +wave_1_per_point21=br = (zang/pi) + .5; +wave_1_per_point22=br = br - int(br*.25)*4; +wave_1_per_point23=br = int(br); +wave_1_per_point24=ra = pow(sh*sh*2,.5); +wave_1_per_point25= +wave_1_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_1_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_1_per_point28= +wave_1_per_point29=xang = q2; +wave_1_per_point30=axang = 0; +wave_1_per_point31=yang = q3; +wave_1_per_point32=ayang = 0; +wave_1_per_point33=zang = q4; +wave_1_per_point34=azang = 0; +wave_1_per_point35=fov = .3; +wave_1_per_point36= +wave_1_per_point37=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point38=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point39=ox = mx; +wave_1_per_point40=oy = my; +wave_1_per_point41=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point42=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point43=ox = mx; +wave_1_per_point44=oz = mz; +wave_1_per_point45=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point46=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point47=oy = my; +wave_1_per_point48=oz = mz; +wave_1_per_point49= +wave_1_per_point50=a = .05; +wave_1_per_point51=mod = (oz+1)*.5; +wave_1_per_point52=a = a*max(min(mod,1),0); +wave_1_per_point53=oz = oz - 2; +wave_1_per_point54=x = ox*fov/oz + 0.5; +wave_1_per_point55=x = (x-.5)*0.75 + 0.5; +wave_1_per_point56=y = oy*fov/oz + 0.5; +wave_1_per_point57= +wave_1_per_point58=r = -sin(sp); +wave_1_per_point59=g = 0.5 - 0.5*sin(sample*1.57); +wave_1_per_point60=b = 0.5 - 0.5*cos(sample*1.57); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.0 +wavecode_2_smoothing=0.5 +wavecode_2_r=1.0 +wavecode_2_g=1.0 +wavecode_2_b=1.0 +wavecode_2_a=1.0 +wave_2_per_frame1=tic = time - tin; +wave_2_per_frame2=tin = time; +wave_2_per_frame3=mod = .1*(mod*9 + mid_att); +wave_2_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_2_per_frame5=t1 = tt; +wave_2_per_point1=sp = sample*6.28*8*8*4; +wave_2_per_point2=it = it+1; +wave_2_per_point3=it = it*above(sample,0); +wave_2_per_point4=sz = q1; +wave_2_per_point5=pi = 3.141592653; +wave_2_per_point6=ss = sample*6; +wave_2_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_2_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_2_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_2_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_2_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_2_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_2_per_point13= +wave_2_per_point14=ang = t1; +wave_2_per_point15=mx = ox*cos(ang) + oz*sin(ang); +wave_2_per_point16=mz = - ox*sin(ang) + oz*cos(ang); +wave_2_per_point17=ox = mx; +wave_2_per_point18=oz = mz; +wave_2_per_point19= +wave_2_per_point20=sh = sz*.5; +wave_2_per_point21=br = (ang/pi) + .5; +wave_2_per_point22=br = br - int(br*.25)*4; +wave_2_per_point23=br = 4-int(br); +wave_2_per_point24=br = br - 4*equal(br,4); +wave_2_per_point25=ra = pow(sh*sh*2,.5); +wave_2_per_point26=ang = -ang; +wave_2_per_point27=ox = ox - (sh + ra*sin(-ang + pi*.25))*equal(br,0) - (-sh + ra*sin(ang + pi*.25))*equal(br,1) - (-sh - ra*sin(-ang + pi*.25))*equal(br,2) - (sh - ra*sin(ang + pi*.25))*equal(br,3); +wave_2_per_point28=oz = oz - (sh + ra*cos(-ang + pi*.25))*equal(br,0) - (sh - ra*cos(ang + pi*.25))*equal(br,1) - (-sh - ra*cos(-ang + pi*.25))*equal(br,2) - (-sh + ra*cos(ang + pi*.25))*equal(br,3); +wave_2_per_point29= +wave_2_per_point30=xang = q2; +wave_2_per_point31=axang = 0; +wave_2_per_point32=yang = q3; +wave_2_per_point33=ayang = 0; +wave_2_per_point34=zang = q4; +wave_2_per_point35=azang = 0; +wave_2_per_point36=fov = .3; +wave_2_per_point37= +wave_2_per_point38=mx = ox*cos(zang) - oy*sin(zang); +wave_2_per_point39=my = ox*sin(zang) + oy*cos(zang); +wave_2_per_point40=ox = mx; +wave_2_per_point41=oy = my; +wave_2_per_point42=mx = ox*cos(yang) + oz*sin(yang); +wave_2_per_point43=mz = - ox*sin(yang) + oz*cos(yang); +wave_2_per_point44=ox = mx; +wave_2_per_point45=oz = mz; +wave_2_per_point46=my = oy*cos(xang) - oz*sin(xang); +wave_2_per_point47=mz = oy*sin(xang) + oz*cos(xang); +wave_2_per_point48=oy = my; +wave_2_per_point49=oz = mz; +wave_2_per_point50= +wave_2_per_point51=a = .05; +wave_2_per_point52=mod = (oz+1)*.5; +wave_2_per_point53=a = a*max(min(mod,1),0); +wave_2_per_point54=oz = oz - 2; +wave_2_per_point55=x = ox*fov/oz + 0.5; +wave_2_per_point56=x = (x-.5)*0.75 + 0.5; +wave_2_per_point57=y = oy*fov/oz + 0.5; +wave_2_per_point58= +wave_2_per_point59=g = -sin(sp); +wave_2_per_point60=b = 0.5 - 0.5*sin(sample*1.57); +wave_2_per_point61=r = 0.5 - 0.5*cos(sample*1.57); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.0 +wavecode_3_smoothing=0.5 +wavecode_3_r=1.0 +wavecode_3_g=1.0 +wavecode_3_b=1.0 +wavecode_3_a=1.0 +wave_3_per_frame1=tic = time - tin; +wave_3_per_frame2=tin = time; +wave_3_per_frame3=mod = .1*(mod*9 + treb_att); +wave_3_per_frame4=tt = tt + tic*((mod+1)*(mod+1)-1); +wave_3_per_frame5=t1 = tt; +wave_3_per_point1=sp = sample*6.28*8*8*4; +wave_3_per_point2=it = it+1; +wave_3_per_point3=it = it*above(sample,0); +wave_3_per_point4=sz = q1; +wave_3_per_point5=pi = 3.141592653; +wave_3_per_point6=ss = sample*6; +wave_3_per_point7=ox = sz*.5*pow(-1,it)*below(ss,1) + .5*pow(-1,it)*above(ss,1)*sz*below(ss,2) + above(ss,2)*.5*pow(-1,it)*sz*below(ss,3); +wave_3_per_point8=oy = (ss-.5)*sz*below(ss,1) + sz*.5*above(ss,1)*below(ss,2) + (.5-(ss-2))*sz*above(ss,2)*below(ss,3); +wave_3_per_point9=oz = -sz*.5*below(ss,1) + ((ss-1)-.5)*sz*above(ss,1)*below(ss,2) + sz*.5*above(ss,2)*below(ss,3); +wave_3_per_point10=ox = ox + above(ss,3)*below(ss,4)*-.5*sz + above(ss,4)*below(ss,5)*sz*(-.5+(ss-4)) + above(ss,5)*sz*.5; +wave_3_per_point11=oy = oy + above(ss,3)*below(ss,4)*.5*sz*pow(-1,it) + above(ss,4)*below(ss,5)*sz*-.5 + above(ss,5)*sz*(-.5+(ss-5)); +wave_3_per_point12=oz = oz + above(ss,3)*below(ss,4)*sz*(.5-(ss-3)) + above(ss,4)*below(ss,5)*sz*.5*pow(-1,it) + above(ss,5)*sz*.5*pow(-1,it); +wave_3_per_point13= +wave_3_per_point14=zang = t1; +wave_3_per_point15=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point16=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point17=ox = mx; +wave_3_per_point18=oy = my; +wave_3_per_point19= +wave_3_per_point20=sh = sz*.5; +wave_3_per_point21=br = (zang/pi) + .5; +wave_3_per_point22=br = br - int(br*.25)*4; +wave_3_per_point23=br = int(br); +wave_3_per_point24=ra = pow(sh*sh*2,.5); +wave_3_per_point25= +wave_3_per_point26=ox = ox - (sh + ra*sin(-zang + pi*.25))*equal(br,0) - (-sh + ra*sin(zang + pi*.25))*equal(br,1) - (-sh - ra*sin(-zang + pi*.25))*equal(br,2) - (sh - ra*sin(zang + pi*.25))*equal(br,3); +wave_3_per_point27=oy = oy - (sh + ra*cos(-zang + pi*.25))*equal(br,0) - (sh - ra*cos(zang + pi*.25))*equal(br,1) - (-sh - ra*cos(-zang + pi*.25))*equal(br,2) - (-sh + ra*cos(zang + pi*.25))*equal(br,3); +wave_3_per_point28= +wave_3_per_point29=yang = pi*.5; +wave_3_per_point30=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point31=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point32=ox = mx; +wave_3_per_point33=oz = mz; +wave_3_per_point34= +wave_3_per_point35=xang = q2; +wave_3_per_point36=axang = 0; +wave_3_per_point37=yang = q3; +wave_3_per_point38=ayang = 0; +wave_3_per_point39=zang = q4; +wave_3_per_point40=azang = 0; +wave_3_per_point41=fov = .3; +wave_3_per_point42= +wave_3_per_point43=mx = ox*cos(zang) - oy*sin(zang); +wave_3_per_point44=my = ox*sin(zang) + oy*cos(zang); +wave_3_per_point45=ox = mx; +wave_3_per_point46=oy = my; +wave_3_per_point47=mx = ox*cos(yang) + oz*sin(yang); +wave_3_per_point48=mz = - ox*sin(yang) + oz*cos(yang); +wave_3_per_point49=ox = mx; +wave_3_per_point50=oz = mz; +wave_3_per_point51=my = oy*cos(xang) - oz*sin(xang); +wave_3_per_point52=mz = oy*sin(xang) + oz*cos(xang); +wave_3_per_point53=oy = my; +wave_3_per_point54=oz = mz; +wave_3_per_point55= +wave_3_per_point56=a = .05; +wave_3_per_point57=mod = (oz+1)*.5; +wave_3_per_point58=a = a*max(min(mod,1),0); +wave_3_per_point59=oz = oz - 2; +wave_3_per_point60=x = ox*fov/oz + 0.5; +wave_3_per_point61=x = (x-.5)*0.75 + 0.5; +wave_3_per_point62=y = oy*fov/oz + 0.5; +wave_3_per_point63= +wave_3_per_point64=b = -sin(sp); +wave_3_per_point65=r = 0.5 - 0.5*sin(sample*1.57); +wave_3_per_point66=g = 0.5 - 0.5*cos(sample*1.57); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.5 +shapecode_0_y=0.5 +shapecode_0_rad=0.1 +shapecode_0_ang=0.0 +shapecode_0_tex_ang=0.0 +shapecode_0_tex_zoom=1.0 +shapecode_0_r=1.0 +shapecode_0_g=0.0 +shapecode_0_b=0.0 +shapecode_0_a=1.0 +shapecode_0_r2=0.0 +shapecode_0_g2=1.0 +shapecode_0_b2=0.0 +shapecode_0_a2=0.0 +shapecode_0_border_r=1.0 +shapecode_0_border_g=1.0 +shapecode_0_border_b=1.0 +shapecode_0_border_a=0.1 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.5 +shapecode_1_y=0.5 +shapecode_1_rad=0.1 +shapecode_1_ang=0.0 +shapecode_1_tex_ang=0.0 +shapecode_1_tex_zoom=1.0 +shapecode_1_r=1.0 +shapecode_1_g=0.0 +shapecode_1_b=0.0 +shapecode_1_a=1.0 +shapecode_1_r2=0.0 +shapecode_1_g2=1.0 +shapecode_1_b2=0.0 +shapecode_1_a2=0.0 +shapecode_1_border_r=1.0 +shapecode_1_border_g=1.0 +shapecode_1_border_b=1.0 +shapecode_1_border_a=0.1 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.5 +shapecode_2_y=0.5 +shapecode_2_rad=0.1 +shapecode_2_ang=0.0 +shapecode_2_tex_ang=0.0 +shapecode_2_tex_zoom=1.0 +shapecode_2_r=1.0 +shapecode_2_g=0.0 +shapecode_2_b=0.0 +shapecode_2_a=1.0 +shapecode_2_r2=0.0 +shapecode_2_g2=1.0 +shapecode_2_b2=0.0 +shapecode_2_a2=0.0 +shapecode_2_border_r=1.0 +shapecode_2_border_g=1.0 +shapecode_2_border_b=1.0 +shapecode_2_border_a=0.1 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.5 +shapecode_3_y=0.5 +shapecode_3_rad=0.1 +shapecode_3_ang=0.0 +shapecode_3_tex_ang=0.0 +shapecode_3_tex_zoom=1.0 +shapecode_3_r=1.0 +shapecode_3_g=0.0 +shapecode_3_b=0.0 +shapecode_3_a=1.0 +shapecode_3_r2=0.0 +shapecode_3_g2=1.0 +shapecode_3_b2=0.0 +shapecode_3_a2=0.0 +shapecode_3_border_r=1.0 +shapecode_3_border_g=1.0 +shapecode_3_border_b=1.0 +shapecode_3_border_a=0.1 +per_frame_1=wave_a = 0; +per_frame_2=vol = .1*(vol*9 + (bass_att+mid_att+treb_att)*.333333); +per_frame_3=q1 = .1 + vol*.3; +per_frame_4= +per_frame_5=tic = time-tin; +per_frame_6=tin = time; +per_frame_7=tb = tb + tic*bass_att; +per_frame_8=q2 = tb*.9; +per_frame_9=tm = tm + tic*mid_att; +per_frame_10=q3 = tm*.9; +per_frame_11=tt = tt + tic*treb_att; +per_frame_12=q4 = tt*.9; +per_frame_13= +per_frame_14=q1 = min(q1,1); +per_frame_15=aq1 = .5; +per_frame_16=aq2 = 0; +per_frame_17=aq3 = 9.5; +per_frame_18=aq4 = 0; diff --git a/presets/presets_tryptonaut/shifter - urchin mod.milk b/presets/presets_tryptonaut/shifter - urchin mod.milk new file mode 100755 index 0000000000..d8bb939ced --- /dev/null +++ b/presets/presets_tryptonaut/shifter - urchin mod.milk @@ -0,0 +1,395 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.000000 +fDecay=0.900000 +fVideoEchoZoom=1.104100 +fVideoEchoAlpha=0.500000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.285751 +fWaveSmoothing=0.630000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999514 +rot=0.259900 +cx=0.320000 +cy=0.289900 +dx=0.000000 +dy=0.000000 +warp=0.011046 +sx=1.000000 +sy=1.000000 +wave_r=0.650000 +wave_g=0.650000 +wave_b=0.650000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.010000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.260000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=0.000000 +wavecode_0_b=1.000000 +wavecode_0_a=0.050000 +wave_0_init1=t1 = .2 + .6*rand(1001)*.001; +wave_0_init2=t2 = .2 + .6*rand(1001)*.001; +wave_0_init3=t3 = .2 + .6*rand(1001)*.001; +wave_0_init4=t4 = .2 + .6*rand(1001)*.001; +wave_0_init5=t5 = .2 + .6*rand(1001)*.001; +wave_0_init6=t6 = .2 + .6*rand(1001)*.001; +wave_0_init7=t7 = .2 + .6*rand(1001)*.001; +wave_0_init8=t8 = .2 + .6*rand(1001)*.001; +wave_0_per_point1=ti = q1; +wave_0_per_point2= +wave_0_per_point3=xa = .25 + .25*sin(ti*t1); +wave_0_per_point4=xb = .25 + .25*sin(ti*t2); +wave_0_per_point5=xc = .25 + .25*sin(ti*t3); +wave_0_per_point6=xd = .25 + .25*sin(ti*t4); +wave_0_per_point7= +wave_0_per_point8=ya = .25 + .25*sin(ti*t5); +wave_0_per_point9=yb = .25 + .25*sin(ti*t6); +wave_0_per_point10=yc = .25 + .25*sin(ti*t7); +wave_0_per_point11=yd = .25 + .25*sin(ti*t8); +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=it = (it + 1)*above(sample,0); +wave_0_per_point15=sw = (1-sw)*above(sample,0); +wave_0_per_point16= +wave_0_per_point17=sa = 1-sample; +wave_0_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_0_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_0_per_point20= +wave_0_per_point21=y = .5 - y*(.5-x)*2; +wave_0_per_point22= +wave_0_per_point23= +wave_0_per_point24=ti = q4; +wave_0_per_point25=r = .5 + .5*sin(ti); +wave_0_per_point26=g = .5 + .5*sin(ti + 2.0944); +wave_0_per_point27=b = .5 + .5*sin(ti + 4.1888); +wave_0_per_point28= +wave_0_per_point29=a = q5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=0.000000 +wavecode_1_g=1.000000 +wavecode_1_b=0.000000 +wavecode_1_a=0.050000 +wave_1_init1=t1 = .2 + .6*rand(1001)*.001; +wave_1_init2=t2 = .2 + .6*rand(1001)*.001; +wave_1_init3=t3 = .2 + .6*rand(1001)*.001; +wave_1_init4=t4 = .2 + .6*rand(1001)*.001; +wave_1_init5=t5 = .2 + .6*rand(1001)*.001; +wave_1_init6=t6 = .2 + .6*rand(1001)*.001; +wave_1_init7=t7 = .2 + .6*rand(1001)*.001; +wave_1_init8=t8 = .2 + .6*rand(1001)*.001; +wave_1_per_point1=ti = q2; +wave_1_per_point2= +wave_1_per_point3=xa = .25 + .25*sin(ti*t1); +wave_1_per_point4=xb = .25 + .25*sin(ti*t2); +wave_1_per_point5=xc = .25 + .25*sin(ti*t3); +wave_1_per_point6=xd = .25 + .25*sin(ti*t4); +wave_1_per_point7= +wave_1_per_point8=ya = .25 + .25*sin(ti*t5); +wave_1_per_point9=yb = .25 + .25*sin(ti*t6); +wave_1_per_point10=yc = .25 + .25*sin(ti*t7); +wave_1_per_point11=yd = .25 + .25*sin(ti*t8); +wave_1_per_point12= +wave_1_per_point13= +wave_1_per_point14=it = (it + 1)*above(sample,0); +wave_1_per_point15=sw = (1-sw)*above(sample,0); +wave_1_per_point16= +wave_1_per_point17=sa = 1-sample; +wave_1_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_1_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_1_per_point20= +wave_1_per_point21=y = .5 - y*(.5-x)*2; +wave_1_per_point22= +wave_1_per_point23=ti = q4 + 2.0944; +wave_1_per_point24=r = .5 + .5*sin(ti); +wave_1_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_1_per_point26=b = .5 + .5*sin(ti + 4.1888); +wave_1_per_point27= +wave_1_per_point28=a = q6; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=0.000000 +wavecode_2_b=0.000000 +wavecode_2_a=0.050000 +wave_2_init1=t1 = .2 + .6*rand(1001)*.001; +wave_2_init2=t2 = .2 + .6*rand(1001)*.001; +wave_2_init3=t3 = .2 + .6*rand(1001)*.001; +wave_2_init4=t4 = .2 + .6*rand(1001)*.001; +wave_2_init5=t5 = .2 + .6*rand(1001)*.001; +wave_2_init6=t6 = .2 + .6*rand(1001)*.001; +wave_2_init7=t7 = .2 + .6*rand(1001)*.001; +wave_2_init8=t8 = .2 + .6*rand(1001)*.001; +wave_2_per_point1=ti = q3; +wave_2_per_point2= +wave_2_per_point3=xa = .25 + .25*sin(ti*t1); +wave_2_per_point4=xb = .25 + .25*sin(ti*t2); +wave_2_per_point5=xc = .25 + .25*sin(ti*t3); +wave_2_per_point6=xd = .25 + .25*sin(ti*t4); +wave_2_per_point7= +wave_2_per_point8=ya = .25 + .25*sin(ti*t5); +wave_2_per_point9=yb = .25 + .25*sin(ti*t6); +wave_2_per_point10=yc = .25 + .25*sin(ti*t7); +wave_2_per_point11=yd = .25 + .25*sin(ti*t8); +wave_2_per_point12= +wave_2_per_point13= +wave_2_per_point14=it = (it + 1)*above(sample,0); +wave_2_per_point15=sw = (1-sw)*above(sample,0); +wave_2_per_point16= +wave_2_per_point17=sa = 1-sample; +wave_2_per_point18=x = if(sw,xa*sample + sa*xb,xc*sample + xd*sa); +wave_2_per_point19=y = if(sw,ya*sample + sa*yb,yc*sample + yd*sa); +wave_2_per_point20= +wave_2_per_point21=y = .5 - y*(.5-x)*2; +wave_2_per_point22= +wave_2_per_point23=ti = q4 + 4.1888; +wave_2_per_point24=r = .5 + .5*sin(ti); +wave_2_per_point25=g = .5 + .5*sin(ti + 2.0944); +wave_2_per_point26=b = .5 + .5*sin(ti + 4.1888); +wave_2_per_point27=a = q7; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=1.978832 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=tex_zoom = 1/rad; +shape_0_per_frame2= +shape_0_per_frame3=a = .7; +shape_0_per_frame4=a2 = a; +shapecode_1_enabled=0 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.150000 +shapecode_1_y=0.390000 +shapecode_1_rad=0.040839 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=0.000000 +shapecode_1_g=0.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=warp = 0; +per_frame_2=//zoom = 1; +per_frame_3= +per_frame_4=tic = min(time-tin,.1); +per_frame_5=tin = time; +per_frame_6= +per_frame_7=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_8= +per_frame_9=ra = 1/tic*.25; +per_frame_10= +per_frame_11=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_12=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_13=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_14=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_15= +per_frame_16=tt = tt + tic*treb; +per_frame_17=mt = mt + tic*mid; +per_frame_18=bt = bt + tic*bass; +per_frame_19=vt = vt + tic*vav; +per_frame_20= +per_frame_21=q1 = tt*3;// wave morph speeds +per_frame_22=q2 = mt*3; +per_frame_23=q3 = bt*3; +per_frame_24= +per_frame_25=q4 = vt; // wave colour cycle +per_frame_26= +per_frame_27=rb = if(rb,rb,.2 + rand(1001)*.001*.6); +per_frame_28=rc = if(rc,rc,.2 + rand(1001)*.001*.6); +per_frame_29=rd = if(rd,rd,.2 + rand(1001)*.001*.6); +per_frame_30=re = if(re,re,.2 + rand(1001)*.001*.6); +per_frame_31= +per_frame_32=rot = .26; +per_frame_33=cx = .3 + .1*sin(vt*re) + .1*cos(vt*rc); +per_frame_34=cy = .5 + .2*sin(vt*rb) + .1*cos(vt*rd); +per_frame_35= +per_frame_36= +per_frame_37=q5 = min(1,.5*treb_avg)*.035; +per_frame_38=q6 = min(1,.5*mid_avg)*.035; +per_frame_39=q7 = min(1,.5*bass_avg)*.035; +per_frame_40= +per_frame_41= +per_pixel_1=num = 8; +per_pixel_2=pi = 3.141592654; +per_pixel_3=radi = (y-.5)*.75; +per_pixel_4=radi = (y-.5); +per_pixel_5=radi = pow(radi*radi + (x-.5)*(x-.5),.5); +per_pixel_6= +per_pixel_7=an = ang + pi + time; +per_pixel_8=an = an - pi*2*int(an/(pi*2)); +per_pixel_9= +per_pixel_10=mod = .1; +per_pixel_11= +per_pixel_12=seg = ang + pi; +per_pixel_13=seg = seg/(pi*2)*num; +per_pixel_14=seg = int(seg); +per_pixel_15=seg = seg - equal(seg,num); +per_pixel_16= +per_pixel_17=anga = (ang + pi) - (pi*2/num)*seg; +per_pixel_18=anga = if(equal(seg%2,0),(pi*2/num) - anga,anga); +per_pixel_19=//anga = anga + pi/6; // num = 6 +per_pixel_20=anga = anga + pi/4; // num = 8 +per_pixel_21=//anga = anga + .85; // num = 10 +per_pixel_22= +per_pixel_23= +per_pixel_24=ox = .5 - radi*sin(anga); +per_pixel_25=oy = .5 + radi*cos(anga); +per_pixel_26= +per_pixel_27=//rot = if(equal(seg,0),rot,0); +per_pixel_28= +per_pixel_29=dx = equal(seg,3)*(x-ox); +per_pixel_30=dy = equal(seg,3)*(y-oy); +per_pixel_31= +per_pixel_32=dx = above(seg,0)*(x-ox); +per_pixel_33=dy = above(seg,0)*(y-oy); +per_pixel_34= +per_pixel_35=//dx = equal(seg,1)*(x - .5)*2; diff --git a/presets/presets_tryptonaut/skipper skipper kiss me hard - ifitweren'tforyouwonderfulroleplaying'people'partsofmysolipsisticovermind,i'dbeungrateful.milk b/presets/presets_tryptonaut/skipper skipper kiss me hard - ifitweren'tforyouwonderfulroleplaying'people'partsofmysolipsisticovermind,i'dbeungrateful.milk new file mode 100644 index 0000000000..76ea6e8f72 --- /dev/null +++ b/presets/presets_tryptonaut/skipper skipper kiss me hard - ifitweren'tforyouwonderfulroleplaying'people'partsofmysolipsisticovermind,i'dbeungrateful.milk @@ -0,0 +1,573 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.136 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = time - int (time); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample*3; +wave_0_per_point3=t_rel = sample-time/5; +wave_0_per_point4= +wave_0_per_point5=ampl = 2*t_abs/2 ; +wave_0_per_point6= +wave_0_per_point7=k1=sin(time/13); +wave_0_per_point8=k2=sin(time/12); +wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); +wave_0_per_point11=oz = -1 ; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r = sqr(sin(t_rel*3.4)); +wave_0_per_point15=g = sqr(sin(t_rel)); +wave_0_per_point16=b = sqr (cos(t_rel*1.8)); +wave_0_per_point17= +wave_0_per_point18=a=0.1*(sin(t_abs*3)) +wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); +wave_0_per_point20= +wave_0_per_point21=xang = time/9.5; +wave_0_per_point22=yang = 0*time/7; +wave_0_per_point23=zang = -time/22; +wave_0_per_point24=fov = 0.5; +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=// Rotation um x,y,z +wave_0_per_point28= +wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point31= +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point36=ox = mx; +wave_0_per_point37=oz = mz; +wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point40=oy = my; +wave_0_per_point41=oz = mz; +wave_0_per_point42= +wave_0_per_point43=oz = oz - 6; +wave_0_per_point44=x = ox*fov/oz +0.5; +wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point46=y = oy*fov/oz + 0.5; +wave_0_per_point47= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); +wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); +wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); +wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); +wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); +wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); +wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=//mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.6*sin(dist*0.05); +per_pixel_6=//dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=//dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` uv = uv - float2(0,1)*texsize.zw*0; +warp_5=` +warp_6=` float2 d2 = texsize.zw*12; +warp_7=` float1 dx = ( GetBlur2(uv + float2(1,0)*d2 - floor(uv + float2(1,0)*d2)) - GetBlur2(uv-float2(1,0)*d2-floor(uv - float2(1,0)*d2)) ).y; +warp_8=` float1 dy = ( GetBlur2(uv + float2(0,1)*d2 - floor(uv + float2(0,1)*d2)) - GetBlur2(uv-float2(0,1)*d2-floor(uv - float2(0,1)*d2)) ).y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.08; +warp_10=` +warp_11=` +warp_12=` +warp_13=` ret.y = tex2D( sampler_fc_main, my_uv - floor(my_uv)).y; +warp_14=` ret.y += (ret.y - GetBlur1(my_uv - floor(my_uv)).y)*.125 + 0.02; +warp_15=` +warp_16=` float1 d = 0.01; +warp_17=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*1280*texsize.z; +warp_18=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*1024*texsize.w; +warp_19=` my_uv = uv + float2(dx,dy)*0.01; +warp_20=` +warp_21=` ret.x = tex2D( sampler_fw_main, my_uv).x; +warp_22=` +warp_23=` +warp_24=` ret.x += (ret.x - GetBlur3(uv).x - 0.02)*.2; +warp_25=` my_uv = uv - float2(dy,-dx)*0.04; +warp_26=` +warp_27=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_28=` +warp_29=` ret.z += (ret.z - GetBlur1(uv).z); +warp_30=` ret.z *= 0.9*(ret.x + ret.y*0.64 - 1); +warp_31=` ret.z += 0.02; +warp_32=` +warp_33=` +warp_34=`//ret = 0; +warp_35=` +warp_36=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uvc = uv-.5; +comp_5=`float2 uv1 = uv-float2(q1,q2); +comp_6=`float2 uv1a= uv-float2(q2,q1); +comp_7=`float2 uvm = float2(atan2(uvc.x,uvc.y), 1/length(uvc)); +comp_8=`uvm=uv; +comp_9=` +comp_10=`float tun=atan2(uv1a.x,uv1a.y)-12*length(uv1); +comp_11=`tun-=.2*q11-time; +comp_12=` +comp_13=` +comp_14=`float3 blur = GetBlur1(uvm); +comp_15=`float3 sharp = tex2D(sampler_main, uvm); +comp_16=`float3 fix = GetPixel(frac(uvm)); +comp_17=` +comp_18=`float mod = (fix/((1)-cos(tun))); +comp_19=` +comp_20=`float3 fret = (fix-blur-sin(time))*mod; +comp_21=`float3 inv = 1-fret; +comp_22=` +comp_23=`float melt = dot(fret, inv); +comp_24=` +comp_25=`ret=tex2D(sampler_main, float2(uv.x, uv.y*.75))*inv+.55*fret; +comp_26=`ret=lerp(ret, inv, 1.5*saturate(melt)); +comp_27=` +comp_28=`//ret=GetPixel(uv); +comp_29=`} diff --git a/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami - tgfmn.milk b/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami - tgfmn.milk new file mode 100755 index 0000000000..1cc6e81029 --- /dev/null +++ b/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami - tgfmn.milk @@ -0,0 +1,594 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = time - int (time); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample*3; +wave_0_per_point3=t_rel = sample-time/5; +wave_0_per_point4= +wave_0_per_point5=ampl = 2*t_abs/2 ; +wave_0_per_point6= +wave_0_per_point7=k1=sin(time/13); +wave_0_per_point8=k2=sin(time/12); +wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); +wave_0_per_point11=oz = -1 ; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r = sqr(sin(t_rel*3.4)); +wave_0_per_point15=g = sqr(sin(t_rel)); +wave_0_per_point16=b = sqr (cos(t_rel*1.8)); +wave_0_per_point17= +wave_0_per_point18=a=0.1*(sin(t_abs*3)) +wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); +wave_0_per_point20= +wave_0_per_point21=xang = time/9.5; +wave_0_per_point22=yang = 0*time/7; +wave_0_per_point23=zang = -time/22; +wave_0_per_point24=fov = 0.5; +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=// Rotation um x,y,z +wave_0_per_point28= +wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point31= +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point36=ox = mx; +wave_0_per_point37=oz = mz; +wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point40=oy = my; +wave_0_per_point41=oz = mz; +wave_0_per_point42= +wave_0_per_point43=oz = oz - 6; +wave_0_per_point44=x = ox*fov/oz +0.5; +wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point46=y = oy*fov/oz + 0.5; +wave_0_per_point47= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); +wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); +wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); +wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); +wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); +wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); +wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=//mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.6*sin(dist*0.05); +per_pixel_6=//dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=//dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float3 crisp,dx,dy,ret1; +warp_3=`float2 zz, uv1,uv2; +warp_4=`float n1,n2,n3,n4,zv,z, noise, k1, wave; +warp_5=`static float2 sunpos = float2 (0*sin(time/3),-.0); +warp_6=`static float2x2 ofs = float2x2 (texsize.z,0,0,texsize.w)*4; +warp_7=`static float3 suncol = 1+normalize(slow_roam_cos); +warp_8=`float3 cloud (float2 uv_in) { +warp_9=`return (.2+(1+bass_att)*.01/length(uv_in-sunpos)*suncol+(rand_preset.z-.5)*uv_in.y);} +warp_10=` +warp_11=`shader_body { +warp_12=` +warp_13=`float2 uv1 = float2(uv.x-0.5+q19,uv.y-0.5);//*aspect.xy; +warp_14=` +warp_15=`dx = tex2D(sampler_main,uv+ofs[0]) - tex2D(sampler_main,uv-ofs[0]); +warp_16=`dy = tex2D(sampler_main,uv+ofs[1]) - tex2D(sampler_main,uv-ofs[1]); +warp_17=`zz = float2(dx.b,dy.b); +warp_18=` +warp_19=`//clouds +warp_20=`zv = time*.06 ; +warp_21=`zv = time*.08+ .0*GetPixel(uv); //## +warp_22=`uv2 = 3*uv1+ float2(0.02*time,-.05*time); +warp_23=` +warp_24=`n1 = tex3D(sampler_noisevol_hq,float3 (uv2.x,uv2.y,zv)).b; +warp_25=`n2 = tex3D(sampler_noisevol_hq,float3 (uv2.x*2,uv2.y*2,zv*2)).b; +warp_26=`n3 = tex3D(sampler_noisevol_hq,float3 (uv2.x*4,uv2.y*4,zv*3)).b; +warp_27=`n4 = tex3D(sampler_noisevol_hq,float3 (uv2.x*8,uv2.y*8,zv*7)).b; +warp_28=`noise = n1 + n2/2 + n3/4 + n4/8 -1; +warp_29=`noise = pow(noise,1); +warp_30=`uv2 = uv1+noise*.1; +warp_31=` +warp_32=`//******************************* +warp_33=`ret1 = cloud(uv2); +warp_34=`float k1 = .1; +warp_35=`ret = ret1*k1/2 + GetPixel(uv-.02*zz)*(1-k1)-.01; +warp_36=` +warp_37=`//ret = 0; +warp_38=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float3 neu, ret1; +comp_4=`float2 rs2,rs0,rss,uv1,uv2; +comp_5=`float ang2,c,s; +comp_6=`float2x2 rota = float2x2(.7,.7,-.7,.7); +comp_7=`shader_body +comp_8=`{ +comp_9=`uv -= 0.5; +comp_10=`uv *= aspect.xy; +comp_11=` +comp_12=`rs0.x = atan2(uv.y, uv.x)/3.1416*2; +comp_13=`rs0.y = .02/(length (uv)); +comp_14=`rss = float2 (rs0.x,rs0.y+time); +comp_15=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_16=`float noise = (tex2D(sampler_pw_noise_lq,rss/32)-.7 >= 0); +comp_17=`rss = abs(frac(rss*8)-.5); +comp_18=`float3 dots = saturate(.04/length(rss)) *noise; +comp_19=` +comp_20=`rss = float2 (rs0.x*2,rs0.y+time/2); +comp_21=`rss = mul(rss,float2x2(.7,.7,-.7,.7)); +comp_22=`noise = (tex2D(sampler_pw_noise_lq,rss/32)-.7 >= 0); +comp_23=`rss = abs(frac(rss*8)-.5); +comp_24=`dots += saturate(.04/length(rss)) * noise; +comp_25=` +comp_26=`dots *= saturate(.04/abs(.01/rs0.y-q6))+.0; +comp_27=`dots *= dots*2; +comp_28=` +comp_29=`float3 ret1 = 0; +comp_30=`int anz = 2; +comp_31=`int n = 0; +comp_32=`while (n <= anz) { +comp_33=` ang2 = 6.28*n/anz; +comp_34=` c = cos(ang2); +comp_35=` s = sin(ang2); +comp_36=` uv2.x = uv.x*c - uv.y*s; +comp_37=` uv2.y = uv.x*s + uv.y*c; +comp_38=` +comp_39=` neu = GetPixel(uv2+.5) + GetBlur1(uv2+.5); +comp_40=` ret1 = max(ret1,neu); +comp_41=`n++; +comp_42=`} +comp_43=` +comp_44=` +comp_45=`ret = ret1 + dots*(1+ret1); +comp_46=`} +comp_47=` +comp_48=` diff --git a/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami nz.milk b/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami nz.milk new file mode 100755 index 0000000000..9bbb2bd325 --- /dev/null +++ b/presets/presets_tryptonaut/skipper skipper kiss me hard - thank god for martin nitorami nz.milk @@ -0,0 +1,591 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00400 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.19788 +sx=0.99967 +sy=0.99990 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=1.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.700 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.89152 +wavecode_0_smoothing=0.82000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.600 +wave_0_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_0_init9= +wave_0_per_frame1=t1 = time - int (time); +wave_0_per_point1= +wave_0_per_point2=t_abs = sample*3; +wave_0_per_point3=t_rel = sample-time/5; +wave_0_per_point4= +wave_0_per_point5=ampl = 2*t_abs/2 ; +wave_0_per_point6= +wave_0_per_point7=k1=sin(time/13); +wave_0_per_point8=k2=sin(time/12); +wave_0_per_point9=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +wave_0_per_point10=oy = ampl*cos (t_abs*(31+5*k2)); +wave_0_per_point11=oz = -1 ; +wave_0_per_point12= +wave_0_per_point13= +wave_0_per_point14=r = sqr(sin(t_rel*3.4)); +wave_0_per_point15=g = sqr(sin(t_rel)); +wave_0_per_point16=b = sqr (cos(t_rel*1.8)); +wave_0_per_point17= +wave_0_per_point18=a=0.1*(sin(t_abs*3)) +wave_0_per_point19= + 0.6*q3*below (abs(1-t_abs-t1 ),0.3); +wave_0_per_point20= +wave_0_per_point21=xang = time/9.5; +wave_0_per_point22=yang = 0*time/7; +wave_0_per_point23=zang = -time/22; +wave_0_per_point24=fov = 0.5; +wave_0_per_point25= +wave_0_per_point26= +wave_0_per_point27=// Rotation um x,y,z +wave_0_per_point28= +wave_0_per_point29=mx = ox*cos(zang) - oy*sin(zang); +wave_0_per_point30=my = ox*sin(zang) + oy*cos(zang); +wave_0_per_point31= +wave_0_per_point32=ox = mx; +wave_0_per_point33=oy = my; +wave_0_per_point34=mx = ox*cos(yang) + oz*sin(yang); +wave_0_per_point35=mz = - ox*sin(yang) + oz*cos(yang); +wave_0_per_point36=ox = mx; +wave_0_per_point37=oz = mz; +wave_0_per_point38=my = oy*cos(xang) - oz*sin(xang); +wave_0_per_point39=mz = oy*sin(xang) + oz*cos(xang); +wave_0_per_point40=oy = my; +wave_0_per_point41=oz = mz; +wave_0_per_point42= +wave_0_per_point43=oz = oz - 6; +wave_0_per_point44=x = ox*fov/oz +0.5; +wave_0_per_point45=//x = (x-.5)*0.75 + 0.5; +wave_0_per_point46=y = oy*fov/oz + 0.5; +wave_0_per_point47= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=0.89152 +wavecode_1_smoothing=0.82000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.100 +wave_1_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_1_init9= +wave_1_per_frame1=tm = time*.1; +wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7); +wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8); +wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1); +wave_1_per_frame5= +wave_1_per_frame6=tic = min(time - tin,1); +wave_1_per_frame7=tin = time; +wave_1_per_frame8= +wave_1_per_frame9=tva = (tic*q1*.5); +wave_1_per_frame10=tvb = (tic*q2*.5); +wave_1_per_frame11=tvc = (tic*q3*.5); +wave_1_per_frame12= +wave_1_per_frame13=q1 = tva; +wave_1_per_frame14=q2 = tvb; +wave_1_per_frame15=q3 = tvc; +wave_1_per_frame16= +wave_1_per_frame17=sz = .5; +wave_1_per_frame18=len = q4; +wave_1_per_frame19=t4 = len; +wave_1_per_point1=ang = 0; +wave_1_per_point2=len = t4; +wave_1_per_point3=mad = .6; +wave_1_per_point4= +wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,7)),1); +wave_1_per_point6=ita = (ita + 1)*above(sample,0); +wave_1_per_point7= +wave_1_per_point8=mod = if(equal(it%2,0),1, if(equal((it+1)%4,0),2, if(equal((it+3)%8,0),3, if(equal((it+7)%16,0),4, if(equal((it+15)%32,0),5, if(equal((it+31)%64,0),6, if(equal((it+63)%128,0),7,7) )))))); +wave_1_per_point9= +wave_1_per_point10=sw = sw - 1; +wave_1_per_point11=sw = if(equal(lev,7),mod,sw)*above(sample,0); +wave_1_per_point12= +wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),7); +wave_1_per_point14=a = lev*.1*1.46; +wave_1_per_point15= +wave_1_per_point16=ar = if(above(sample,0),ar,1); +wave_1_per_point17=ar = if(equal(lev,0),ar*-1,ar); +wave_1_per_point18=br = if(above(sample,0),br,1); +wave_1_per_point19=br = if(equal(lev,1),br*-1,br); +wave_1_per_point20=cr = if(above(sample,0),cr,1); +wave_1_per_point21=cr = if(equal(lev,2),cr*-1,cr); +wave_1_per_point22=dr = if(above(sample,0),dr,1); +wave_1_per_point23=dr = if(equal(lev,3),dr*-1,dr); +wave_1_per_point24=er = if(above(sample,0),er,1); +wave_1_per_point25=er = if(equal(lev,4),er*-1,er); +wave_1_per_point26=fr = if(above(sample,0),fr,1); +wave_1_per_point27=fr = if(equal(lev,5),fr*-1,fr); +wave_1_per_point28=gr = if(above(sample,0),gr,1); +wave_1_per_point29=gr = if(equal(lev,6),gr*-1,gr); +wave_1_per_point30= +wave_1_per_point31=mlev = lev*above(sample,0); +wave_1_per_point32= +wave_1_per_point33=swi = equal(q4,0)*equal(sample,0); +wave_1_per_point34= +wave_1_per_point35=ha = if(swi,1-2*int(rand(2)),ha); +wave_1_per_point36=hb = if(swi,1-2*int(rand(2)),hb); +wave_1_per_point37=hc = if(swi,1-2*int(rand(2)),hc); +wave_1_per_point38=hd = if(swi,1-2*int(rand(2)),hd); +wave_1_per_point39=he = if(swi,1-2*int(rand(2)),he); +wave_1_per_point40=hf = if(swi,1-2*int(rand(2)),hf); +wave_1_per_point41=hg = if(swi,1-2*int(rand(2)),hg); +wave_1_per_point42= +wave_1_per_point43=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1); +wave_1_per_point44=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33); +wave_1_per_point45=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67); +wave_1_per_point46=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2); +wave_1_per_point47=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33); +wave_1_per_point48=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67); +wave_1_per_point49=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3); +wave_1_per_point50= +wave_1_per_point51=aang = 1.57; +wave_1_per_point52=bang = 1.57; +wave_1_per_point53=cang = 1.57; +wave_1_per_point54=dang = 1.57; +wave_1_per_point55=eang = 1.57; +wave_1_per_point56=fang = 1.57; +wave_1_per_point57=gang = 1.57; +wave_1_per_point58= +wave_1_per_point59=oz = 0; +wave_1_per_point60= +wave_1_per_point61=len = len*mad; +wave_1_per_point62=ox = above(lev,0)*sin(aang)*len*ar; +wave_1_per_point63=oy = above(lev,0)*cos(aang)*len; +wave_1_per_point64= +wave_1_per_point65=an = (ar*aang + br*bang)*br; +wave_1_per_point66=len = len*mad; +wave_1_per_point67=oy = oy + above(lev,1)*sin(an)*len*br; +wave_1_per_point68=oz = oz + above(lev,1)*cos(an)*len; +wave_1_per_point69= +wave_1_per_point70=an = (ar*aang + br*bang + cr*cang)*cr; +wave_1_per_point71=len = len*mad; +wave_1_per_point72=ox = ox + above(lev,2)*sin(an)*len*cr; +wave_1_per_point73=oz = oz + above(lev,2)*cos(an)*len; +wave_1_per_point74= +wave_1_per_point75=an = (ar*aang + br*bang + cr*cang + dr*dang)*dr; +wave_1_per_point76=len = len*mad; +wave_1_per_point77=ox = ox + above(lev,3)*sin(an)*len*dr; +wave_1_per_point78=oy = oy + above(lev,3)*cos(an)*len; +wave_1_per_point79= +wave_1_per_point80=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang)*er; +wave_1_per_point81=len = len*mad; +wave_1_per_point82=ox = ox + above(lev,4)*sin(an)*len*er; +wave_1_per_point83=oz = oz + above(lev,4)*cos(an)*len; +wave_1_per_point84= +wave_1_per_point85=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang)*fr; +wave_1_per_point86=len = len*mad; +wave_1_per_point87=ox = ox + above(lev,5)*sin(an)*len*fr; +wave_1_per_point88=oz = oz + above(lev,5)*cos(an)*len; +wave_1_per_point89= +wave_1_per_point90=an = (ar*aang + br*bang + cr*cang + dr*dang + er*eang + fr*fang + gr*gang)*gr; +wave_1_per_point91=len = len*mad; +wave_1_per_point92=oy = oy + above(lev,6)*sin(an)*len*gr; +wave_1_per_point93=ox = ox + above(lev,6)*cos(an)*len; +wave_1_per_point94= +wave_1_per_point95= +wave_1_per_point96=xang = time*1.132; +wave_1_per_point97=xang = q5; +wave_1_per_point98=yang = time*1.153; +wave_1_per_point99=yang = q6; +wave_1_per_point100=zang = time*1.110; +wave_1_per_point101=zang = q7 + 1.57; +wave_1_per_point102=fov = .5; +wave_1_per_point103= +wave_1_per_point104=mx = ox*cos(zang) - oy*sin(zang); +wave_1_per_point105=my = ox*sin(zang) + oy*cos(zang); +wave_1_per_point106=ox = mx; +wave_1_per_point107=oy = my; +wave_1_per_point108=mx = ox*cos(yang) + oz*sin(yang); +wave_1_per_point109=mz = - ox*sin(yang) + oz*cos(yang); +wave_1_per_point110=ox = mx; +wave_1_per_point111=oz = mz; +wave_1_per_point112=my = oy*cos(xang) - oz*sin(xang); +wave_1_per_point113=mz = oy*sin(xang) + oz*cos(xang); +wave_1_per_point114=oy = my; +wave_1_per_point115=oz = mz; +wave_1_per_point116= +wave_1_per_point117=oz = oz - 2; +wave_1_per_point118=x = ox*fov/oz + 0.5; +wave_1_per_point119=x = (x-.5)*0.75 + 0.5; +wave_1_per_point120=y = oy*fov/oz + 0.5; +wave_1_per_point121= +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=0.89152 +wavecode_2_smoothing=0.82000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=0.100 +wave_2_init1=t1 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init2=t2 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init3=t3 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init4=t4 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init5=t5 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init6=t6 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init7=t7 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init8=t8 = 1 + (int(rand(101))*.01 - int(rand(101))*.01)*.3; +wave_2_init9= +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=92 +shapecode_0_x=0.800 +shapecode_0_y=0.500 +shapecode_0_rad=0.02705 +shapecode_0_ang=1.57080 +shapecode_0_tex_ang=1.25664 +shapecode_0_tex_zoom=3.07268 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=t1 = time - int (time); +shape_0_per_frame2=sample = instance/num_inst; +shape_0_per_frame3=t_abs = sample*3; +shape_0_per_frame4=t_rel = sample-time/5; +shape_0_per_frame5= +shape_0_per_frame6=ampl = 2*t_abs/2 ; +shape_0_per_frame7= +shape_0_per_frame8=k1=sin(time/13); +shape_0_per_frame9=k2=sin(time/12); +shape_0_per_frame10=ox = ampl*sin (t_abs*(31+5*k1)) + sin(time/25)*(1-t_abs)*0.4 ; +shape_0_per_frame11=oy = ampl*cos (t_abs*(31+5*k2)); +shape_0_per_frame12=oz = -1 ; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=r = sqr(sin(t_rel*3.4)); +shape_0_per_frame16=g = sqr(sin(t_rel)); +shape_0_per_frame17=b = sqr (cos(t_rel*1.8)); +shape_0_per_frame18= +shape_0_per_frame19=//a=(0.1*(sin(t_abs*3)) + 0.6*q3*below (abs(1-t_abs-t1 ),0.3))*a; +shape_0_per_frame20= +shape_0_per_frame21=xang = time/9.5; +shape_0_per_frame22=yang = 0*time/7; +shape_0_per_frame23=zang = -time/22; +shape_0_per_frame24=fov = 0.5; +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// Rotation um x,y,z +shape_0_per_frame28= +shape_0_per_frame29=mx = ox*cos(zang) - oy*sin(zang); +shape_0_per_frame30=my = ox*sin(zang) + oy*cos(zang); +shape_0_per_frame31= +shape_0_per_frame32=ox = mx; +shape_0_per_frame33=oy = my; +shape_0_per_frame34=mx = ox*cos(yang) + oz*sin(yang); +shape_0_per_frame35=mz = - ox*sin(yang) + oz*cos(yang); +shape_0_per_frame36=ox = mx; +shape_0_per_frame37=oz = mz; +shape_0_per_frame38=my = oy*cos(xang) - oz*sin(xang); +shape_0_per_frame39=mz = oy*sin(xang) + oz*cos(xang); +shape_0_per_frame40=oy = my; +shape_0_per_frame41=oz = mz; +shape_0_per_frame42= +shape_0_per_frame43=oz = oz - 6; +shape_0_per_frame44=x = ox*fov/oz +0.5; +shape_0_per_frame45=//x = (x-.5)*0.75 + 0.5; +shape_0_per_frame46=y = oy*fov/oz + 0.5; +shape_0_per_frame47= +shape_0_per_frame48=a=1/mz*.5; +shape_0_per_frame49=//a2=1/mz*.5; +shape_0_per_frame50=//border_a=1/mz*.5; +shape_0_per_frame51=rad=1/mz*.005; +shapecode_1_enabled=0 +shapecode_1_sides=63 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.99863 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.49981 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.100 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=63 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.123 +shapecode_2_y=0.000 +shapecode_2_rad=0.27319 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.49981 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.500 +shapecode_2_border_g=0.500 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=63 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=1.000 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.49981 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.500 +shapecode_3_border_g=0.500 +shapecode_3_border_b=0.500 +shapecode_3_border_a=0.000 +per_frame_1=//mv_r = mv_r + 0.2*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_2=mv_g = mv_g + 0.2*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_3=mv_b = mv_b + 0.2*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_4=q1 = (cx*2-1) + 0.6*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_5=q2 = (cy*2-1) + 0.6*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_6=ob_r = 1- 0.4*abs(q1); +per_frame_7=ob_g = 0.3*abs(q2); +per_frame_8=ob_b = 0.4*abs(q1); +per_frame_9=wave_x = 1-abs(q2)-0.05; +per_frame_10=wave_y = 1-abs(q1)-0.06; +per_frame_11=wave_r = wave_r + 0.4*( 0.60*sin(0.514*time) + 0.40*sin(1.211*time) ); +per_frame_12=wave_b = wave_b + 0.4*( 0.60*sin(0.714*time) + 0.40*sin(q2) ); +per_frame_13=wave_g = wave_g + 0.4*( 0.60*sin(10*q1) + 0.40*sin(10*q2) ); +per_pixel_1=du = (x*2-1) - q1; +per_pixel_2=dv = (y*2-1) - q2; +per_pixel_3=dist = sqrt(du*du+dv*dv); +per_pixel_4=ang2 = atan2(du,dv) + time*0.15; +per_pixel_5=mult = 0.6*sin(dist*0.05); +per_pixel_6=//dx = mult*sin(ang2*2-1.5)*aspectx; +per_pixel_7=//dy = mult*cos(ang2*2-1.5)*aspecty; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float3 crisp,dx,dy,ret1; +warp_3=`float2 zz, uv1,uv2; +warp_4=`float n1,n2,n3,n4,zv,z, noise, k1, wave; +warp_5=`static float2 sunpos = float2 (0*sin(time/3),-.0); +warp_6=`static float2x2 ofs = float2x2 (texsize.z,0,0,texsize.w)*4; +warp_7=`static float3 suncol = 1+normalize(slow_roam_cos); +warp_8=`float3 cloud (float2 uv_in) { +warp_9=`return (.2+(1+bass_att)*.01/length(uv_in-sunpos)*suncol+(rand_preset.z-.5)*uv_in.y);} +warp_10=` +warp_11=`shader_body { +warp_12=` +warp_13=`float2 uv1 = float2(uv.x-0.5+q19,uv.y-0.5);//*aspect.xy; +warp_14=` +warp_15=`dx = tex2D(sampler_main,uv+ofs[0]) - tex2D(sampler_main,uv-ofs[0]); +warp_16=`dy = tex2D(sampler_main,uv+ofs[1]) - tex2D(sampler_main,uv-ofs[1]); +warp_17=`zz = float2(dx.b,dy.b); +warp_18=` +warp_19=`//clouds +warp_20=`zv = time*.06 ; +warp_21=`zv = time*.08+ .0*GetPixel(uv); //## +warp_22=`uv2 = 3*uv1+ float2(0.02*time,-.05*time); +warp_23=` +warp_24=`n1 = tex3D(sampler_noisevol_hq,float3 (uv2.x,uv2.y,zv)).b; +warp_25=`n2 = tex3D(sampler_noisevol_hq,float3 (uv2.x*2,uv2.y*2,zv*2)).b; +warp_26=`n3 = tex3D(sampler_noisevol_hq,float3 (uv2.x*4,uv2.y*4,zv*3)).b; +warp_27=`n4 = tex3D(sampler_noisevol_hq,float3 (uv2.x*8,uv2.y*8,zv*7)).b; +warp_28=`noise = n1 + n2/2 + n3/4 + n4/8 -1; +warp_29=`noise = pow(noise,1); +warp_30=`uv2 = uv1+noise*.1; +warp_31=` +warp_32=`//******************************* +warp_33=`ret1 = cloud(uv2); +warp_34=`float k1 = .1; +warp_35=`ret = ret1*k1/2 + GetPixel(uv-.02*zz)*(1-k1)-.01; +warp_36=` +warp_37=`float4 noise2 = tex3D(sampler_noisevol_hq, +warp_38=` ((uv.xyy +warp_39=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_40=` ).xyz* +warp_41=` float3(1,1,0)*0.05 + +warp_42=` time*float3(0,0,1)*0.4 +warp_43=` ); +warp_44=`float br = ret.x+ret.y+ret.z; +warp_45=`if(br>.1 && br<=.21)ret += (noise2)*.5; +warp_46=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uvc = uv-.5; +comp_5=`float2 uv1 = uv-float2(q1,q2); +comp_6=`float2 uv1a= uv-float2(q2,q1); +comp_7=`float2 uvm = float2(atan2(uvc.x,uvc.y), 1/length(uvc)); +comp_8=`uvm=uv; +comp_9=` +comp_10=`float tun=atan2(uv1a.x,uv1a.y)-12*length(uv1); +comp_11=`tun-=.2*q11-time; +comp_12=` +comp_13=` +comp_14=`float3 blur = GetBlur1(uvm); +comp_15=`float3 sharp = tex2D(sampler_main, uvm); +comp_16=`float3 fix = GetPixel(frac(uvm)); +comp_17=` +comp_18=`float mod = (fix/((1)-cos(tun))); +comp_19=` +comp_20=`float3 fret = (fix-blur-sin(time))*mod; +comp_21=`float3 inv = 1-fret; +comp_22=` +comp_23=`float melt = dot(fret, inv); +comp_24=` +comp_25=`ret=tex2D(sampler_main, float2(uv.x, uv.y*.75))*inv+.55*fret; +comp_26=`ret=lerp(ret, inv, 1.5*saturate(melt)); +comp_27=` +comp_28=`float4 noise2 = tex3D(sampler_noisevol_hq, +comp_29=` ((uv.xyy +comp_30=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_31=` ).xyz* +comp_32=` float3(1,1,0)*0.05 + +comp_33=` time*float3(0,0,1)*0.4 +comp_34=` ); +comp_35=`float br = ret.x+ret.y+ret.z; +comp_36=`if(br>.1 && br<=.18)ret += (noise2)*.3; +comp_37=`} diff --git a/presets/presets_tryptonaut/sky.jpg b/presets/presets_tryptonaut/sky.jpg new file mode 100755 index 0000000000..206d23d6bd Binary files /dev/null and b/presets/presets_tryptonaut/sky.jpg differ diff --git a/presets/presets_tryptonaut/smalltiled_colors3.jpg b/presets/presets_tryptonaut/smalltiled_colors3.jpg new file mode 100755 index 0000000000..393f999f28 Binary files /dev/null and b/presets/presets_tryptonaut/smalltiled_colors3.jpg differ diff --git a/presets/presets_tryptonaut/smalltiled_electric_nebula.jpg b/presets/presets_tryptonaut/smalltiled_electric_nebula.jpg new file mode 100755 index 0000000000..a73f5b915d Binary files /dev/null and b/presets/presets_tryptonaut/smalltiled_electric_nebula.jpg differ diff --git a/presets/presets_tryptonaut/smalltiled_ensign_meat.jpg b/presets/presets_tryptonaut/smalltiled_ensign_meat.jpg new file mode 100755 index 0000000000..49e728425f Binary files /dev/null and b/presets/presets_tryptonaut/smalltiled_ensign_meat.jpg differ diff --git a/presets/presets_tryptonaut/smalltiled_lizard_scales.jpg b/presets/presets_tryptonaut/smalltiled_lizard_scales.jpg new file mode 100755 index 0000000000..dfcc8d1f0d Binary files /dev/null and b/presets/presets_tryptonaut/smalltiled_lizard_scales.jpg differ diff --git a/presets/presets_tryptonaut/stahlregen & flexi + geiss - tiger no 5 (mashup 16 - random texture flow) - inf fin bnd.milk b/presets/presets_tryptonaut/stahlregen & flexi + geiss - tiger no 5 (mashup 16 - random texture flow) - inf fin bnd.milk new file mode 100644 index 0000000000..2c743e5357 --- /dev/null +++ b/presets/presets_tryptonaut/stahlregen & flexi + geiss - tiger no 5 (mashup 16 - random texture flow) - inf fin bnd.milk @@ -0,0 +1,310 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=5 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=2.965 +fWaveScale=23.563 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.830 +fModWaveAlphaEnd=1.150 +fWarpAnimSpeed=1.000 +fWarpScale=3.138 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05300 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.26300 +sx=1.00000 +sy=1.00000 +wave_r=0.490 +wave_g=0.490 +wave_b=0.490 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q1 = int(rand(1000))/1000; +per_frame_init_2=q2 = int(rand(1000))/1000; +per_frame_init_3=q3 = int(rand(1000))/1000; +per_frame_1=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_2=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_3=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_5=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_6=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_7=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_8=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_9=decay = decay - 0.01*equal(frame%6,0); +per_frame_10=dx = dx + dx_residual; +per_frame_11=dy = dy + dy_residual; +per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_13=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; +per_frame_14=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=`// ret += GetBlur1(uv)*0.4; +comp_6=`float2 uv2 = uv*.8+.1*tan(1.55*ret.xy)-.02*sin(1.33*ret.yx)-.01*bass_att; +comp_7=` ret = tex2D(sampler_main,uv2); +comp_8=` ret += GetBlur1(uv2); +comp_9=` // palettize: +comp_10=` ret = pow(lum(ret), float3(0.3, 1+.5*roam_sin.x, 1.8)); +comp_11=` +comp_12=` // invert +comp_13=` ret = saturate(ret); +comp_14=` ret *= 1.25*ret; +comp_15=` //ret.xyz *= 2; // a little bit of overbright +comp_16=`} +comp_17=` +comp_18=` diff --git a/presets/presets_tryptonaut/stahlregen + geiss + shifter - babylon.milk b/presets/presets_tryptonaut/stahlregen + geiss + shifter - babylon.milk new file mode 100755 index 0000000000..98ca6dbb94 --- /dev/null +++ b/presets/presets_tryptonaut/stahlregen + geiss + shifter - babylon.milk @@ -0,0 +1,493 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.905 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.96098 +rot=0.08000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.250 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.090 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_0_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_0_per_point3= +wave_0_per_point4=sw = if(equal(it,0),rand(4),1); +wave_0_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_0_per_point6=mx = xv + ita*.025; +wave_0_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_0_per_point8= +wave_0_per_point9=sz = .01; +wave_0_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_0_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_0_per_point12= +wave_0_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_0_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_0_per_point15=cva = if(equal(it,0),cv,cva); +wave_0_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_0_per_point17= +wave_0_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_0_per_point19= +wave_0_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_0_per_point21= +wave_0_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_0_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_0_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_0_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_0_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_0_per_point28=vg = equal(let,1); +wave_0_per_point29=vh = equal(let,9) + equal(let,20); +wave_0_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_0_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_0_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_0_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_0_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_0_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_0_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_0_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_0_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_0_per_point40=vs = equal(let,22); +wave_0_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_0_per_point42= +wave_0_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_0_per_point44= +wave_0_per_point45=a = a*below(ita,8); +wave_0_per_point46= +wave_0_per_point47=x = mx + vx*sz*.75; +wave_0_per_point48=y = my + vy*sz*1.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_1_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_1_per_point3= +wave_1_per_point4=sw = if(equal(it,0),rand(4),1); +wave_1_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_1_per_point6=mx = xv + ita*.025; +wave_1_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_1_per_point8= +wave_1_per_point9=sz = .01; +wave_1_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_1_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_1_per_point12= +wave_1_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_1_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_1_per_point15=cva = if(equal(it,0),cv,cva); +wave_1_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_1_per_point17= +wave_1_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_1_per_point19= +wave_1_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_1_per_point21= +wave_1_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_1_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_1_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_1_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_1_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_1_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_1_per_point28=vg = equal(let,1); +wave_1_per_point29=vh = equal(let,9) + equal(let,20); +wave_1_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_1_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_1_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_1_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_1_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_1_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_1_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_1_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_1_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_1_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_1_per_point40=vs = equal(let,22); +wave_1_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_1_per_point42= +wave_1_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_1_per_point44= +wave_1_per_point45=a = a*below(ita,8); +wave_1_per_point46= +wave_1_per_point47=x = mx + vx*sz*.75; +wave_1_per_point48=y = my + vy*sz*1.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_2_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_2_per_point3= +wave_2_per_point4=sw = if(equal(it,0),rand(4),1); +wave_2_per_point5=xv = if(sw,xv,rand(1001)*.001*.8); +wave_2_per_point6=mx = xv + ita*.025; +wave_2_per_point7=my = if(sw,my,rand(1001)*.001*.975); +wave_2_per_point8= +wave_2_per_point9=sz = .01; +wave_2_per_point10=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_2_per_point11=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_2_per_point12= +wave_2_per_point13=cvc = if(equal(it,0),cvb,cvc); +wave_2_per_point14=cvb = if(equal(it,0),cva,cvb); +wave_2_per_point15=cva = if(equal(it,0),cv,cva); +wave_2_per_point16=cv = if(equal(it,0),if(equal(cva,cvb),1-cva,if(cva,above(rand(1001)*.001,.69),above(rand(1001)*.001,.14))),cv); +wave_2_per_point17= +wave_2_per_point18=lr = if(equal(it,0),if(cv,rand(10001)*.0001*316.02,rand(10001)*.0001*193.66),lr); +wave_2_per_point19= +wave_2_per_point20=let = (1-cv)*(1 + above(lr,43.31)*4 + above(lr,100.19)*4 + above(lr,138.64)*6 + above(lr,175.51)*6) + cv*(2 + above(lr,10.56) + above(lr,33.69) + above(lr,50.94)*2 + above(lr,60.18) + above(lr,72.77) + above(lr,88.08)*2 + above(lr,89.08) + above(lr,94.69) + above(lr,122.67) + above(lr,138.03) + above(lr,171.95)*2 + above(lr,188.09) + above(lr,189.09) + above(lr,227.73) + above(lr,256.96) + above(lr,292.39)*2 + above(lr,297.52) + above(lr,304.09) + above(lr,305.57) + above(lr,314.63)); +wave_2_per_point21= +wave_2_per_point22=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_2_per_point23=vb = below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_2_per_point24=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_2_per_point25=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_2_per_point26=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_2_per_point27=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_2_per_point28=vg = equal(let,1); +wave_2_per_point29=vh = equal(let,9) + equal(let,20); +wave_2_per_point30=vi = below(let,5) - equal(let,3) + equal(let,18); +wave_2_per_point31=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_2_per_point32=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_2_per_point33=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_2_per_point34=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_2_per_point35=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_2_per_point36=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_2_per_point37=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_2_per_point38=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_2_per_point39=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_2_per_point40=vs = equal(let,22); +wave_2_per_point41=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_2_per_point42= +wave_2_per_point43=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_2_per_point44= +wave_2_per_point45=a = a*below(ita,8); +wave_2_per_point46= +wave_2_per_point47=x = mx + vx*sz*.75; +wave_2_per_point48=y = my + vy*sz*1.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=it = (it + 1)*above(sample,0)*below(it,53); +wave_3_per_point2=ita = (ita + equal(it,0))*above(sample,0); +wave_3_per_point3= +wave_3_per_point4=sw = 1-equal(it,0)*equal(ita,0); +wave_3_per_point5=swi = (equal(lr,9) + equal(lr,5))*equal(it,0)*equal(ita,4); +wave_3_per_point6=xv = if(sw - swi,xv,rand(1001)*.001*.8); +wave_3_per_point7=mx = xv + ita*.025; +wave_3_per_point8=my = if(sw - swi,my,rand(1001)*.001*.975); +wave_3_per_point9= +wave_3_per_point10=sz = .01; +wave_3_per_point11=vx = above(it,1)*below(it,39) + above(it,12)*below(it,28) - equal(it,20) + equal(it,46) + equal(it,51) + equal(it,41) - equal(it,15) - equal(it,25) + equal(it,10) + equal(it,30) - equal(it,4) - equal(it,36); +wave_3_per_point12=vy = above(it,17)*below(it,49) + above(it,22)*below(it,44) - equal(it,33) + equal(it,7) + equal(it,51) + equal(it,15) - equal(it,41) - equal(it,25) + equal(it,4) + equal(it,10) - equal(it,36) - equal(it,30); +wave_3_per_point13= +wave_3_per_point14=sa = equal(ita,0)*13 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*11 + equal(ita,4)*4 + equal(ita,5)*18 + equal(ita,6)*15 + equal(ita,7)*16; +wave_3_per_point15=sb = equal(ita,0)*11 + equal(ita,1)*9 + equal(ita,2)*12 + equal(ita,3)*12; +wave_3_per_point16=sc = equal(ita,0)*4 + equal(ita,1)*15 + equal(ita,3)*4 + equal(ita,4)*18 + equal(ita,5)*21 + equal(ita,6)*7 + equal(ita,7)*19; +wave_3_per_point17=sd = equal(ita,0)*12 + equal(ita,1)*15 + equal(ita,2)*22 + equal(ita,3)*5; +wave_3_per_point18=se = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*20 + equal(ita,3)*5; +wave_3_per_point19=sf = equal(ita,0)*6 + equal(ita,1)*5 + equal(ita,2)*1 + equal(ita,3)*18 + equal(ita,5)*10 + equal(ita,6)*15 + equal(ita,7)*25; +wave_3_per_point20=sg = equal(ita,0)*1 + equal(ita,1)*14 + equal(ita,2)*7 + equal(ita,3)*5 + equal(ita,4)*18; +wave_3_per_point21=sh = equal(ita,0)*19 + equal(ita,1)*21 + equal(ita,2)*18 + equal(ita,3)*16 + equal(ita,4)*18 + equal(ita,5)*9 + equal(ita,6)*19 + equal(ita,7)*5; +wave_3_per_point22=si = equal(ita,0)*8 + equal(ita,1)*1 + equal(ita,2)*16 + equal(ita,3)*16 + equal(ita,4)*25; +wave_3_per_point23=sj = equal(ita,0)*25 + equal(ita,1)*5 + equal(ita,2)*19 + equal(ita,6)*14 + equal(ita,7)*15; +wave_3_per_point24= +wave_3_per_point25=lr = if(sw,lr,rand(10)); +wave_3_per_point26=let = equal(lr,0)*sa + equal(lr,1)*sb + equal(lr,2)*sc + equal(lr,3)*sd + equal(lr,4)*se + equal(lr,5)*sf + equal(lr,6)*sg + equal(lr,7)*sh + equal(lr,8)*si + equal(lr,9)*sj; +wave_3_per_point27= +wave_3_per_point28=va = equal(let,23) + equal(let,24) + equal(let,26); +wave_3_per_point29=vb = above(let,0)*below(let,9) + above(let,10)*below(let,19) + equal(let,21) + equal(let,23); +wave_3_per_point30=vc = equal(let,1) + equal(let,2) + equal(let,5) + equal(let,6) + equal(let,8) + equal(let,11) + equal(let,16) + equal(let,18) + equal(let,19); +wave_3_per_point31=vd = above(let,1)*below(let,9) + above(let,10)*below(let,24) - equal(let,20); +wave_3_per_point32=ve = equal(let,13) + equal(let,14) + equal(let,24) + equal(let,25); +wave_3_per_point33=vf = above(let,1)*below(let,8) + equal(let,9) + above(let,14)*below(let,21) + equal(let,26); +wave_3_per_point34=vg = equal(let,1); +wave_3_per_point35=vh = equal(let,9) + equal(let,20); +wave_3_per_point36=vi = above(let,0)*below(let,5) - equal(let,3) + equal(let,18); +wave_3_per_point37=vj = above(let,2)*below(let,8) - equal(let,4) + equal(let,9) + above(let,14)*below(let,21) - equal(let,18) + equal(let,26); +wave_3_per_point38=vk = equal(let,11) + equal(let,13) + above(let,23)*below(let,27); +wave_3_per_point39=vl = equal(let,8) + equal(let,10) + above(let,12)*below(let,18) + above(let,20)*below(let,24); +wave_3_per_point40=vm = equal(let,1) + equal(let,2) + equal(let,8) + equal(let,16) + equal(let,18) + equal(let,19); +wave_3_per_point41=vn = equal(let,1) + equal(let,7) + equal(let,8) + equal(let,10) + above(let,12)*below(let,24) - equal(let,16) - equal(let,18) - equal(let,20) - equal(let,22); +wave_3_per_point42=vo = equal(let,11) + equal(let,14) + equal(let,17) + equal(let,18) + equal(let,23) + equal(let,24); +wave_3_per_point43=vp = equal(let,3) + equal(let,5) + equal(let,7) + equal(let,9) + equal(let,10) + equal(let,12) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_3_per_point44=vq = equal(let,2) + equal(let,4) + equal(let,22); +wave_3_per_point45=vr = equal(let,9) + equal(let,20) + equal(let,25); +wave_3_per_point46=vs = equal(let,22); +wave_3_per_point47=vt = above(let,1)*below(let,13) - equal(let,6) - equal(let,8) - equal(let,11) + equal(let,15) + equal(let,17) + equal(let,19) + equal(let,21) + equal(let,26); +wave_3_per_point48= +wave_3_per_point49=a = if(above(it,51),0,if(above(it,49),va,if(above(it,47),vb,if(above(it,44),vc,if(above(it,42),vd,if(above(it,39),ve, if(above(it,37),vf,if(above(it,34),vg,if(above(it,31),vh,if(above(it,28),vi,if(above(it,26),vj,if(above(it,23),vk, if(above(it,21),vl,if(above(it,18),vm,if(above(it,16),vn,if(above(it,13),vo,if(above(it,11),vp,if(above(it,8),vq, if(above(it,5),vr,if(above(it,2),vs,if(it,vt,0))))))))))))))))))))); +wave_3_per_point50= +wave_3_per_point51=a = a*below(ita,8); +wave_3_per_point52= +wave_3_per_point53=x = mx + vx*sz*.75; +wave_3_per_point54=y = my + vy*sz*1.5; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=3.99866 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.25005 +shapecode_0_r=0.900 +shapecode_0_g=0.940 +shapecode_0_b=0.890 +shapecode_0_a=1.000 +shapecode_0_r2=0.840 +shapecode_0_g2=0.930 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_init1=t1 = rand(100)*0.01; +shape_0_init2=t2 = rand(100)*0.01; +shape_0_init3=te = 1; +shape_0_init4=poly = 5; +shape_0_per_frame1=tm = time*.05; +shape_0_per_frame2= +shape_0_per_frame3=r = .95 + .05*sin(tm*1.654); +shape_0_per_frame4=g = .95 + .05*sin(tm*1.564); +shape_0_per_frame5=b = .95 + .05*sin(tm*1.465); +shape_0_per_frame6=r2 = 1.9 - r; +shape_0_per_frame7=g2 = 1.9 - g; +shape_0_per_frame8=b2 = 1.9 - b; +shape_0_per_frame9= +shape_0_per_frame10=x = .4996; +shape_0_per_frame11=y = .5003; +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=ang = (rand(1001)*.001 - rand(1001)*.001)*q1*.5; +shape_0_per_frame16=rad = rad - (rand(1001)*.001 + rand(1001)*.001)*1.5*q1; +shape_0_per_frame17= +shape_0_per_frame18=a=above(treb,.8); +shape_0_per_frame19=a2=above(treb,.8); +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7= +per_frame_8=// Thanks a bunch to flexi (once again) for beat detection! +per_frame_9= +per_frame_10=vol = bass*8 + mid*4 + treb*2; +per_frame_11=vol = vol*above(vol,17); +per_frame_12=monitor = vol; +per_frame_13=beat = above(vol,res); +per_frame_14=diff = (1-beat)*diff + beat*(vol-res); +per_frame_15=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_16=res = max(0,res); +per_frame_17=monitor = res; +per_frame_18= +per_frame_19=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_20=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_21=rot = (rot+0.05*(sin(bass)*sin(bass)))*if(above(x,y),1,-1) +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // darken (decay) over time +warp_7=` ret *= 0.875; //or try: ret -= 0.004; +warp_8=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=` rand_preset = max(.2,min(.85,rand_preset)); +comp_7=` float2 uv_zero = uv; +comp_8=` float2 uv2 = float2( floor(uv.x*10), floor(uv.y*10) )*0.1 +comp_9=` + rand_preset.xy; +comp_10=` float4 N = tex2D( sampler_pw_noise_lq, uv2 * aspect.xy ); +comp_11=` uv += N.xy; +comp_12=` +comp_13=` ret = lerp(0,rand_preset.xxx*(1.5,-.5,0),GetPixel(frac(uv)).x); +comp_14=` ret -= lerp(ret,rand_preset*float3(0,1.5,.5),GetBlur1(frac(uv)).y); +comp_15=` ret -= lerp(ret,rand_preset*float3(1.8,.5,2),GetBlur2(frac(uv)).z); +comp_16=` ret = lerp(ret,rand_preset.yyy*float3(-.45,.25,.5),GetPixel(frac(uv)).y); +comp_17=` ret = lerp(ret,rand_preset.zzz*float3(1.15,.75,-.2),GetPixel(frac(uv)).z); +comp_18=` ret -= lerp(-ret,.75,GetPixel(uv_zero).xzy-.125); +comp_19=` ret = pow(ret,rand_preset-ret); +comp_20=` ret *= ret; +comp_21=`} diff --git a/presets/presets_tryptonaut/stahlregen - old school, baby! (spiral ornament).milk b/presets/presets_tryptonaut/stahlregen - old school, baby! (spiral ornament).milk new file mode 100755 index 0000000000..08bab8d8c6 --- /dev/null +++ b/presets/presets_tryptonaut/stahlregen - old school, baby! (spiral ornament).milk @@ -0,0 +1,242 @@ +[preset00] +fRating=3.000 +fGammaAdj=1.560 +fDecay=0.985 +fVideoEchoZoom=1.193 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.006 +fWaveScale=0.081 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.905 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.05101 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=1.000 +ob_size=0.025 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.250 +ib_size=0.180 +ib_r=0.300 +ib_g=0.300 +ib_b=0.300 +ib_a=0.030 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=6 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=3.95841 +shapecode_0_tex_ang=2.38751 +shapecode_0_tex_zoom=0.74185 +shapecode_0_r=0.950 +shapecode_0_g=0.980 +shapecode_0_b=0.980 +shapecode_0_a=0.980 +shapecode_0_r2=0.980 +shapecode_0_g2=0.980 +shapecode_0_b2=0.980 +shapecode_0_a2=0.980 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang = ang + 0.5*time; +shape_0_per_frame2=rad = 0.8 + 0.1*bass_att; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12824 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.300 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=1.000 +shapecode_2_rad=0.19285 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = 0.5+0.5*sin(time*1.12); +per_frame_2=wave_g = 0.5+0.5*sin(time*1.22); +per_frame_3=wave_b = 0.5*0.5*sin(time*1.32); +per_frame_4=ib_r = wave_b; +per_frame_5=ib_g = wave_r; +per_frame_6=ib_b = wave_g; +per_frame_7=//rot = 0.1*(sin(treb)*sin(treb)); +per_frame_8= +per_frame_9=// Thanks a bunch to flexi (once again) for beat detection! +per_frame_10= +per_frame_11=vol = bass*8 + mid*4 + treb*2; +per_frame_12=vol = vol*above(vol,17); +per_frame_13=monitor = vol; +per_frame_14=beat = above(vol,res); +per_frame_15=diff = (1-beat)*diff + beat*(vol-res); +per_frame_16=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_17=res = max(0,res); +per_frame_18=monitor = res; +per_frame_19= +per_frame_20=x = if(beat,rand(60)*0.01 + 0.2,x); +per_frame_21=y = if(beat,rand(60)*0.01 + 0.2,y); +per_frame_22=wave_mystery = if(above(x,y),0,-1); diff --git a/presets/presets_tryptonaut/stahlregen - spiral (hundertwasser 2 - painterly).milk b/presets/presets_tryptonaut/stahlregen - spiral (hundertwasser 2 - painterly).milk new file mode 100755 index 0000000000..62b3eae83d --- /dev/null +++ b/presets/presets_tryptonaut/stahlregen - spiral (hundertwasser 2 - painterly).milk @@ -0,0 +1,302 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.560 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.080 +fWaveScale=0.030 +fWaveSmoothing=0.000 +fWaveParam=1.000 +fModWaveAlphaStart=0.290 +fModWaveAlphaEnd=0.290 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.40514 +fShader=0.000 +zoom=0.96098 +rot=0.00000 +cx=0.650 +cy=0.350 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99999 +sy=0.99999 +wave_r=0.800 +wave_g=0.800 +wave_b=0.800 +wave_x=0.500 +wave_y=1.000 +ob_size=0.035 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.300 +ib_size=0.060 +ib_r=0.200 +ib_g=0.200 +ib_b=0.200 +ib_a=0.600 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=2 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.23297 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=0.100 +shape_0_per_frame1=x = 0.5+0.38*if(equal(instance,0),1,-1)*sin(time+1.57); +shape_0_per_frame2=y = 0.5+0.38*if(equal(instance,0),1,-1)*cos(time+1.57); +shape_0_per_frame3=ang = sin(time); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=11 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.09510 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.500 +shapecode_1_g2=0.500 +shapecode_1_b2=0.500 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=0.100 +shape_1_per_frame1=x = 0.5+0.3*if(equal(instance,0),1,if(equal(instance,2),1,-1))*sin(time+0.785*instance); +shape_1_per_frame2=y = 0.5+0.3*if(equal(instance,0),1,if(equal(instance,2),1,-1))*cos(time+0.785*instance); +shape_1_per_frame3=ang = sin(time); +shape_1_per_frame4=r = q2; +shape_1_per_frame5=g = q3; +shape_1_per_frame6=b = q1; +shape_1_per_frame7=r2 = q3; +shape_1_per_frame8=g2 = q1; +shape_1_per_frame9=b2 = q2; +shape_1_per_frame10=rad = 0.06 + 0.03*bass_att; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=2 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10893 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.99009 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.500 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.500 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=//ang = ang+0.2*sin(time); +shape_2_per_frame2=rad = 0.2+0.3*bass_att; +shape_2_per_frame3=//ang = sin(2*(q4-q5)); +shape_2_per_frame4=x = x - 0.3*cos(time)*if(equal(instance,0),-1,+1); +shape_2_per_frame5=y = y + 0.3*sin(time)*if(equal(instance,0),-1,+1); +shapecode_3_enabled=1 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.63016 +shapecode_3_ang=0.75398 +shapecode_3_tex_ang=0.75398 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ang = sin(2*(q2-q1)); +shape_3_per_frame2=rad = 0.01+0.5*bass; +shape_3_per_frame3=sides = if(equal(q6+2,9),100,q6+2); +per_frame_1= +per_frame_2=q1 = 0.3 + 0.3*sin((time+0.33*treb)*3.213); +per_frame_3=q2 = 0.3 + 0.3*sin((time+0.33*treb)*3.533); +per_frame_4=q3 = 0.3 + 0.3*sin((time+0.33*treb)*3.733); +per_frame_5= +per_frame_6=wave_r = q2; +per_frame_7=wave_g = q3; +per_frame_8=wave_b = q1; +per_frame_9=ib_r = q1; +per_frame_10=ib_g = q2; +per_frame_11=ib_b = q3; +per_frame_12=ob_r = 1.3-q1; +per_frame_13=ob_g = 1.3-q2; +per_frame_14=ob_b = 1.3-q3; +per_frame_15=//zoom = 0.990-0.05*bass; +per_frame_16= +per_frame_17=vol = bass*8 + mid*4 + treb*2; +per_frame_18=vol = vol*above(vol,17); +per_frame_19=//monitor = vol; +per_frame_20=beat = above(vol,res); +per_frame_21=diff = (1-beat)*diff + beat*(vol-res); +per_frame_22=res = beat*(vol+2*diff) + (1-beat)*(res - (diff*0.04 + 0.12)*60/fps); +per_frame_23=res = max(0,res); +per_frame_24=//monitor = res; +per_frame_25= +per_frame_26=x = if(beat,int(rand(60))*0.01 + 0.2,x); +per_frame_27=y = if(beat,int(rand(60))*0.01 + 0.2,y); +per_frame_28=z = if(beat,int(rand(7)),z); +per_frame_29=q4 = x; +per_frame_30=q5 = y; +per_frame_31=q6 = z; +per_frame_32=dx = (dx - 0.036*(sin(6.5*(time+0.5*bass_att)))-0.01*treb_att)*if(above(q4,q5),1,-1); +per_frame_33=dy = (dy + 0.027*(cos(4*(time+0.5*bass_att)))-0.01*treb_att)*if(above(q4,q5),1,-1); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv_echo = (uv - 0.5)*0.993*float2(-1,-1) + 0.5; +comp_4=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=` ret *= 1.56; //gamma +comp_9=` ret = sqrt(ret); //brighten +comp_10=` ret = 1 - ret; //invert +comp_11=`} diff --git a/presets/presets_tryptonaut/suksma + aderassi geiss - the sick assumptions you make about my car [shifter's esc shader] nz+.milk b/presets/presets_tryptonaut/suksma + aderassi geiss - the sick assumptions you make about my car [shifter's esc shader] nz+.milk new file mode 100755 index 0000000000..1287ae8f19 --- /dev/null +++ b/presets/presets_tryptonaut/suksma + aderassi geiss - the sick assumptions you make about my car [shifter's esc shader] nz+.milk @@ -0,0 +1,346 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.700 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=1.311 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=2.15546 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r = q1; +wave_0_per_frame2=g = q2; +wave_0_per_frame3=b = q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.54279 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=4.39823 +shapecode_0_tex_zoom=0.90528 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=shpt = above(bass_att,shpt)*2+(1-above(bass_att,shpt))*((shpt-1.3)*0.96+1.3); +shape_0_per_frame2=sdx_r = equal(shpt,2)*0.015*sin(5*time)+(1-equal(shpt,2))*sdx_r; +shape_0_per_frame3=sdy_r = equal(shpt,2)*0.015*sin(6*time)+(1-equal(shpt,2))*sdy_r; +shape_0_per_frame4=sg1 = abs(sin(time)); +shape_0_per_frame5=sg2 = 12*sdx_r*above(sg1,0.5) + 12*sdy_r*below(sg1,0.5); +shape_0_per_frame6=sg3 = if(equal(shpt,2),sg2,sg3); +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=ang = ang + 6*time+2; +shape_0_per_frame10=rad = rad + sg3; +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.20068 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=4.39823 +shapecode_1_tex_zoom=1.48886 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=shpt = above(bass_att,shpt)*2+(1-above(bass_att,shpt))*((shpt-1.3)*0.96+1.3); +shape_1_per_frame2=sdx_r = equal(shpt,2)*0.015*sin(5*time)+(1-equal(shpt,2))*sdx_r; +shape_1_per_frame3=sdy_r = equal(shpt,2)*0.015*sin(6*time)+(1-equal(shpt,2))*sdy_r; +shape_1_per_frame4=sg1 = abs(sin(time)); +shape_1_per_frame5=sg2 = 12*sdx_r*above(sg1,0.5) + 12*sdy_r*below(sg1,0.5); +shape_1_per_frame6=sg3 = if(equal(shpt,2),sg2,sg3); +shape_1_per_frame7= +shape_1_per_frame8= +shape_1_per_frame9=ang = ang + 6*time+2; +shape_1_per_frame10=x = x + 0.32*sin(3*time); +shape_1_per_frame11=y = y + 0.32*cos(3*time); +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.99; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1),mq29); +per_frame_12=mq30=if(above(chng,cthr),rand(1),mq30); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q30=mq30; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=wave_r = 0.5 + 0.5*sin(1.6*time); +per_frame_19=wave_g = 0.5 + 0.5*sin(4.1*time); +per_frame_20=wave_b = -1 + (1-wave_r + 1-wave_g); +per_frame_21=warp = 0; +per_frame_22= +per_frame_23=//wave_x = wave_x + 0.14*sin(1.52*time)+0.1*sin(2.1*time)+0.12*cos(0.63*time); +per_frame_24=//wave_y = wave_y + 0.15*cos(time)+0.11*sin(0.52*time)+0.18*cos(1.1*time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=zoom = 0.1*rad+1; +per_pixel_7=zoom = zoom - 6*dx_r*max(1.2*bass_att*tan(4*bass),dy_r*cos(12*ang)*bass_att); +per_pixel_8=rot = rot + 6*dy_r*max(1.2*treb_att*tan(4*mid),dx_r*sin(12*rad)*mid_att); +warp_1=`shader_body +warp_2=`{ +warp_3=`float2 pixelsize = texsize.zw; +warp_4=`float2 uvm = uv_orig; +warp_5=` +warp_6=`float2 noise_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=`float4 noiseVal = tex2D(sampler_noise_hq, frac(noise_uv*8)); +warp_8=` +warp_9=`ret.xyz = saturate(tex2D( sampler_pw_main,uvm).xyz*float3(1,1,.97) - float3(.0,.0,.001)); +warp_10=` +warp_11=` +warp_12=`float3 rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.xy-.5)*6*pixelsize).xyz; +warp_13=`if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_14=`ret.xy = rsamp.xy;ret.z = rsamp.z;} +warp_15=` +warp_16=`//rsamp = tex2D(sampler_pw_main,uvm + (noiseVal.zw-.5)*2*pixelsize).xyz; +warp_17=`//if (length(ret.xy - uvm) > length(rsamp.xy - uvm)) { +warp_18=`//ret.xy = rsamp.xy;ret.z = rsamp.z;} +warp_19=` +warp_20=` +warp_21=`ret.xy *= pow(ret.z,.01); +warp_22=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_23=` ((uv.xyy*q27 +warp_24=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_25=` ).xyz* +warp_26=` float3(1,1,0)*0.05 + +warp_27=` time*float3(0,0,1)*q29 +warp_28=` ); +warp_29=`if(ret.x> q21*roam_cos.y && ret.x<= q24*roam_sin.x)ret.y += (noise9).x*.5; +warp_30=`if(ret.y> q22*roam_sin.x && ret.y<= q25*roam_cos.x)ret.z += (noise9).y*.5; +warp_31=`if(ret.z> q23*roam_cos.x && ret.z<= q26*roam_sin.y)ret.x += (noise9).z*.5; +warp_32=` +warp_33=` +warp_34=` +warp_35=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv = 0.05 + 0.9*uv; +comp_4=` +comp_5=` // equivalent of a laplacian: [center*4 - each of the 4 neighbors*1] +comp_6=` ret = 0; +comp_7=` ret += tex2D(sampler_main, uv ).xyz*4; +comp_8=` ret -= GetBlur1(uv)*4; +comp_9=`ret *= -1; +comp_10=` +comp_11=` // little bit of noise: +comp_12=` //ret *= 1 + 0.12*(tex2D(sampler_noise_lq, rand_frame.xy +comp_13=` // + uv*texsize.xy*texsize_noise_lq.zw).xxx*2-1); +comp_14=` +comp_15=` // palettize: +comp_16=` ret = pow(ret, float3(0.5, 0.5, 0.7)); +comp_17=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_18=` ((uv.xyy*q28 +comp_19=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_20=` ).xyz* +comp_21=` float3(1,1,0)*0.05 + +comp_22=` time*float3(0,0,1)*q30 +comp_23=` ); +comp_24=`if(ret.x> q26*roam_cos.y && ret.x<= q23*roam_sin.x)ret.z += (noise9).x*.5; +comp_25=`if(ret.y> q25*roam_sin.x && ret.y<= q22*roam_cos.x)ret.x += (noise9).y*.5; +comp_26=`if(ret.z> q24*roam_cos.x && ret.z<= q21*roam_sin.y)ret.y += (noise9).z*.5; +comp_27=` +comp_28=` ret = (ret-0.1)*1.1; +comp_29=` +comp_30=` //ret.xyz *= 2; // a little bit of overbright +comp_31=`} +comp_32=` +comp_33=` diff --git a/presets/presets_tryptonaut/suksma + rovaster eos phat gastly geiss martin - riding field lines of preeminent slander.milk b/presets/presets_tryptonaut/suksma + rovaster eos phat gastly geiss martin - riding field lines of preeminent slander.milk new file mode 100755 index 0000000000..bc01e8bab0 --- /dev/null +++ b/presets/presets_tryptonaut/suksma + rovaster eos phat gastly geiss martin - riding field lines of preeminent slander.milk @@ -0,0 +1,371 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=1.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=5.996 +fWarpScale=1.331 +fZoomExponent=1.01000 +fShader=0.000 +zoom=0.99853 +rot=0.00200 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.900 +ob_b=0.200 +ob_a=1.000 +ib_size=0.000 +ib_r=0.201 +ib_g=0.500 +ib_b=0.500 +ib_a=1.000 +nMotionVectorsX=12.800 +nMotionVectorsY=9.600 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.700 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shape_0_per_frame5=r2 = 0.5*sin(bass*1.31); +shape_0_per_frame6=g2 = 0.5*sin(bass*1.32); +shape_0_per_frame7=b2 = 0.5*sin(bass*1.33); +shape_0_per_frame8=r = bass+1.31*time; +shape_0_per_frame9=g = bass+1.32*time/2; +shape_0_per_frame10=b = bass+1.33*time/3; +shape_0_per_frame11=//zoom = sin(bass); +shape_0_per_frame12=rad = sin(bass); +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01842 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.81954 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=beatcounter =0; +per_frame_1=ob_r = 0.21 - 0.2*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); +per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724); +per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816); +per_frame_4=warp =0; +per_frame_5=ib_size = 0.025; +per_frame_6=ib_r = ib_r + 0.2*(0.6*sin(time*3.034)+0.4*cos(time*2.14)); +per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015)); +per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842)); +per_frame_9=dx = dx +0.001+abs(0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437))); +per_frame_10=dy = dy + abs(0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315))); +per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); +per_frame_12=xamptarg = if(equal((frame+.5)%15,0),min(0.5*volume*bass_att,0.5),xamptarg); +per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_17=xpos = xpos + 0.001*xspeed; +per_frame_18=q2 = xpos; +per_frame_19=yamptarg = if(equal((frame+.5)%15,0),min(0.3*volume*treb_att,0.5),yamptarg); +per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_24=ypos = ypos + 0.001*yspeed; +per_frame_25=q4 = ypos; +per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); +per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect; +per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att); +per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); +per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat); +per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); +per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); +per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); +per_frame_36=lastbeat = if(beat,time,lastbeat); +per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); +per_frame_38=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); +per_frame_39=beatcounter = if(above(beatcounter,7), 0, beatcounter); +per_frame_40=beateven = (beatcounter+.5)%2; +per_frame_41=mode = if(beat,(mode+(int(rand(3))+1)+.5)%4,mode); +per_frame_42=echo_orient = mode; +per_frame_43=wave_a = if(beat,1,0); +per_frame_44=wave_r = wave_r + 0.2*sin(time*0.7854) - 0.2*beateven; +per_frame_45=wave_b = wave_b + 0.1*sin(time*0.8254) + 0.2*beateven; +per_frame_46=wave_g = wave_g + 0.1*sin(time*0.854) + 0.2*beateven; +per_frame_47=q6 = beat; +per_frame_48=wave_mode = if(beateven,7,0); +per_frame_49=mv_a = if(beat,if(equal(beatcounter,6),1,0),0); +per_frame_50=mv_r = if(mv_a,int(rand(2)),0); +per_frame_51=mv_b = if(mv_a,int(rand(2)),0); +per_frame_52=mv_g= if(mv_a,int(rand(2)),0); +per_pixel_1=box =0.5+0.8*((2*x+.5)%4+(2*y+.5)%2); +per_pixel_2=q1 = 8.45+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time)); +per_pixel_3=q7 = above(box,1); +per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom); +per_pixel_5=rot = if(q7,0.63*sin(0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot); +per_pixel_6=cx = cx - 0.15*sin(2*q4); +per_pixel_7=cy = cy + 0.14*sin(2*q2); +per_pixel_8=sx = if(q7,sx+q6*18,sx); +per_pixel_9=sy = if(q7,sy+q6*18,sy); +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=` +warp_4=`shader_body { +warp_5=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_6=` +warp_7=`float2 uv1 = (uv-.5); +warp_8=`float2 uv6 = uv1; +warp_9=` +warp_10=`float rota = lum(tex2D (sampler_noise_hq,uv/4))*q31; +warp_11=` +warp_12=`uv6 = mul(uv1,float2x2(cos(rota),-sin(rota),sin(rota),cos(rota))); +warp_13=`uv6 += sin(q32*uv1); +warp_14=`mus = .2/(sqrt(uv6.x)+.2); +warp_15=` +warp_16=`mus *= float3 (1.1,1,.95); +warp_17=`mus *= .9+.1*tex2D (sampler_noise_hq,uv); +warp_18=` +warp_19=`float3 blur = GetBlur1(frac(uv)); +warp_20=` +warp_21=`float2 hor = float2 (0.005,0); +warp_22=`float2 ver = float2 (0,.005); +warp_23=` +warp_24=`float dx = lum(tex2D(sampler_main,uv+hor) +warp_25=` - tex2D(sampler_main,uv-hor)); +warp_26=`float dy = lum(tex2D(sampler_main,uv+ver) +warp_27=` - tex2D(sampler_main,uv-ver)); +warp_28=` +warp_29=` +warp_30=`float2 zz = float2 (dx,dy); +warp_31=` +warp_32=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_33=`float3 crisp2 = tex2D(sampler_main,uv); +warp_34=`crisp += crisp2/2; +warp_35=`crisp *= .67; +warp_36=`crisp +=.08 * mus - length(zz)*blur; +warp_37=` +warp_38=`float3 ret1 = crisp - lum(blur)*.04; +warp_39=`ret = ret1 * .99 - .04 ; +warp_40=`} +comp_1=` +comp_2=`sampler sampler_pw_noise_lq; +comp_3=`shader_body +comp_4=`{ +comp_5=` +comp_6=`float corr = texsize.xy*texsize_noise_hq.zw; +comp_7=`float2 p0 = .5 + float2(q1,q2); +comp_8=` +comp_9=`float2 uv1 = (uv-p0)*aspect.xy; +comp_10=`float ang1 = atan2(uv1.y, uv1.x); +comp_11=` +comp_12=`float rad2 = length(uv1); +comp_13=`float rad1 = -1*rad2 + 0.05/(rad2-0.08); +comp_14=` +comp_15=`float2 uv2 = float2 (ang*1.8, clamp(rad1,-8, 8)); +comp_16=`uv2.y = uv2.y/2 + time/2; +comp_17=` +comp_18=`float3 tube = lum(tex2D(sampler_noise_hq, corr*uv2)); +comp_19=`//tube = sqrt(abs (tube-.8)); +comp_20=` +comp_21=` +comp_22=`float2 uv3 = uv + tube/64; +comp_23=`double3 blur = lum(GetBlur1 (uv3)); +comp_24=`double3 crisp =(GetPixel(uv3)); +comp_25=` +comp_26=`double3 ret2 = crisp + blur; +comp_27=` +comp_28=`double3 lblue = float3 (0.3, 0.5, 1)/3 *(1-rad); +comp_29=`ret2 = ret2 + lblue; +comp_30=` +comp_31=`ret = -1*tube*rad + (1+q24/4)*ret2 * (1-tube/2); +comp_32=`} diff --git a/presets/presets_tryptonaut/suksma - Rovastar - Sunflower Passion flexi und martin shaders - circumflex in character classes in regular expression.milk b/presets/presets_tryptonaut/suksma - Rovastar - Sunflower Passion flexi und martin shaders - circumflex in character classes in regular expression.milk new file mode 100755 index 0000000000..0138afd725 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - Rovastar - Sunflower Passion flexi und martin shaders - circumflex in character classes in regular expression.milk @@ -0,0 +1,404 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=4.000 +fGammaAdj=1.980 +fDecay=0.980 +fVideoEchoZoom=2.448 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=3.645 +fWaveScale=1.951 +fWaveSmoothing=0.500 +fWaveParam=-0.500 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=2.853 +fZoomExponent=2.10000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.29077 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.13518 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x = 0.3 + 0.05*sin(0.89*q8); +shape_0_per_frame2=y = 0.4 - 0.05*cos(0.77*q8); +shape_0_per_frame3= +shape_0_per_frame4=r = 0.25+0.25*sin(time*0.7679); +shape_0_per_frame5=g = 0.25+0.25*sin(time*0.8079); +shape_0_per_frame6=b = 0.25+0.25*sin(time*0.7339); +shape_0_per_frame7=r2 = 0.25+0.25*sin(time*0.6979); +shape_0_per_frame8=g2 = 0.25+0.25*sin(time*0.849); +shape_0_per_frame9=b2 = 0.25+0.25*sin(time*0.8079); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.06623 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=x = 0.3 - 0.05*sin(0.7089*q8); +shape_1_per_frame2=y = 0.4 + 0.05*cos(0.5077*q8); +shape_1_per_frame3= +shape_1_per_frame4=r = 0.25+0.25*sin(time*0.6479); +shape_1_per_frame5=g = 0.25+0.25*sin(time*0.5079); +shape_1_per_frame6=b = 0.25+0.25*sin(time*0.9339); +shape_1_per_frame7=r2 = 0.25+0.25*sin(time*0.779); +shape_1_per_frame8=g2 = 0.25+0.25*sin(time*0.707); +shape_1_per_frame9=b2 = 0.25+0.25*sin(time*0.747); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03646 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=x = 0.3 + 0.05*sin(0.679*q8); +shape_2_per_frame2=y = 0.4 - 0.05*cos(0.877*q8); +shape_2_per_frame3= +shape_2_per_frame4=r = 0.25+0.25*sin(time*0.5679); +shape_2_per_frame5=g = 0.25+0.25*sin(time*0.4079); +shape_2_per_frame6=b = 0.25+0.25*sin(time*1.1339); +shape_2_per_frame7=r2 = 0.25+0.25*sin(time*0.9979); +shape_2_per_frame8=g2 = 0.25+0.25*sin(time*0.891); +shape_2_per_frame9=b2 = 0.25+0.25*sin(time*0.713); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.01220 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=x = 0.3 + 0.05*sin(0.916*q8); +shape_3_per_frame2=y = 0.4 - 0.05*cos(0.977*q8); +shape_3_per_frame3= +shape_3_per_frame4=r = 0.25+0.25*sin(time*1.1679); +shape_3_per_frame5=g = 0.25+0.25*sin(time*1.18079); +shape_3_per_frame6=b = 0.25+0.25*sin(time*1.17339); +shape_3_per_frame7=r2 = 0.25+0.25*sin(time*1.16979); +shape_3_per_frame8=g2 = 0.25+0.25*sin(time*1.1849); +shape_3_per_frame9=b2 = 0.25+0.25*sin(time*1.81079); +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = vvb*2;//0.5 + vb - vvb; +per_frame_12=q2 = vvm*2;//0.5 + vm - vvm; +per_frame_13=q3 = vvt*2;//0.5 + vt - vvt; +per_frame_14=q4=(q1+q2+q3)*5; +per_frame_15=q5=(q1+q2+q3)*5; +per_frame_16=q6=(q1+q2+q3)*5; +per_frame_17=q7=(q1+q2+q3)*5; +per_frame_18=q8=(q1+q2+q3)*5; +per_frame_19=q9=(q1+q2+q3)*5; +per_frame_20=q10=(q1+q2+q3)*5; +per_frame_21=q11=(q1+q2+q3)*5; +per_frame_22=q12=(q1+q2+q3)*5; +per_frame_23=q13=(q1+q2+q3)*5; +per_frame_24=q14=(q1+q2+q3)*5; +per_frame_25=q15=(q1+q2+q3)*5; +per_frame_26=q16=(q1+q2+q3)*5; +per_frame_27=q17=(q1+q2+q3)*5; +per_frame_28=q18=(q1+q2+q3)*5; +per_frame_29=q19=(q1+q2+q3)*5; +per_frame_30=q20=(q1+q2+q3)*5; +per_frame_31=q21=(q1+q2+q3)*5; +per_frame_32=q22=(q1+q2+q3)*5; +per_frame_33=q23=(q1+q2+q3)*5; +per_frame_34=q24=(q1+q2+q3)*5; +per_frame_35=q25=(q1+q2+q3)*5; +per_frame_36=q26=(q1+q2+q3)*5; +per_frame_37=q27=(q1+q2+q3)*5; +per_frame_38=q28=(q1+q2+q3)*5; +per_frame_39=q29=(q1+q2+q3)*5; +per_frame_40=q30=(q1+q2+q3)*5; +per_frame_41=q31=(q1+q2+q3)*5; +per_frame_42=q32=(q1+q2+q3)*5; +per_frame_43= +per_frame_44=//wave_r = 0.0 + 0.000*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); +per_frame_45=//wave_g = 0.0 + 0.000*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); +per_frame_46=//wave_b = 0.0 + 0.000*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); +per_frame_47=//zoom = zoom + 0.01*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); +per_frame_48=//rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_49=//decay = decay - 0.01*equal(frame%6,0); +per_frame_50=warp=0; +per_frame_51=//zoom =1; +per_frame_52=rot =0; +per_frame_53=cx=0.5; +per_frame_54=cy=0.5; +per_frame_55=q1 = 0.5 + 0.1*sin(time); +per_frame_56=q2 = 0.5 - 0.1*cos(time); +per_frame_57=wave_a =0; +per_frame_58=decay=.95; +per_frame_59=q1=0.5 +0.1*sin(q8); +per_frame_60=q2=0.5; +per_frame_61= +per_frame_62= +per_frame_63=q8 = oldq8+ 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); +per_frame_64=oldq8 =q8; +per_frame_65=mybass = mybass + 0.01*(bass + bass_att); +per_frame_66= +per_frame_67=//rot =1 + 0.15*sin(mybass*0.1789); +per_frame_68=//zoom = 1.6 + 0.1*sin(mybass*0.786); +per_frame_69=zoom = 1.09; +per_frame_70=//rot =0.12; +per_frame_71=//cx = 0.4; +per_frame_72=//cy = 0.4; +per_frame_73=q1=0.5 +0.00*sin(0.12*q8); +per_frame_74=q2=0.5 -0.00*cos(0.177*q8); +per_pixel_1=myx = (x-q1)*1.1; +per_pixel_2=myy= (y-q2)*1.1; +per_pixel_3=myrad = (myx*myx) + (myy*myy); +per_pixel_4=dx = (0.5+0.02*sin(q8))*(myy/(myrad+1)); +per_pixel_5=dy = -(0.5+0.02*sin(q8*0.897))*(myx/(myrad+1)); +per_pixel_6=rd=bass*rad; +per_pixel_7=rot=rd/10; +per_pixel_8= +per_pixel_9=sy=1.02+(rad/10); +per_pixel_10=sx=sy-myrad; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=`float2 zoom = 2; +warp_5=`float2 cntr = float2(-0,-0); +warp_6=`float2 c = float2(0.6,0.6); // complex constant +warp_7=` +warp_8=` float2 my_uv = (uv-0.5-cntr)*zoom; +warp_9=` my_uv = float2(my_uv.x*my_uv.x - my_uv.y*my_uv.y, 2*my_uv.x*my_uv.y) + c; // u -> u^2 + c +warp_10=` +warp_11=`zoom =1.81; +warp_12=`cntr = float2(0,0); +warp_13=`c = float2(0.448,0.701); +warp_14=` +warp_15=` float2 my_uv2 = (uv_orig-0.5-cntr)*zoom; // using uv_orig here - no contortion to the nice julia island +warp_16=` my_uv2 = float2(my_uv2.x*my_uv2.x - my_uv2.y*my_uv2.y, 2*my_uv2.x*my_uv2.y) + c; // u -> u^2 + c +warp_17=` +warp_18=`//ret.x = tex2D( sampler_fc_main, my_uv).x - 0.1; +warp_19=`ret = tex2D( sampler_fc_main, my_uv2) - 0.004; +warp_20=` +warp_21=` my_uv = lerp(my_uv, my_uv2, 0.5); +warp_22=`//ret.z = tex2D( sampler_fc_main, my_uv2).z - 0.1; +warp_23=` +warp_24=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 rs,rs2,uv1; +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float dist = 1; +comp_11=`float inten = 1; +comp_12=`float mask = 0; +comp_13=`ret1 = 0; +comp_14=`int anz = 3; +comp_15=`float n = 0; +comp_16=`while (n <= anz) { +comp_17=` ang2 = 6.28*n/anz; +comp_18=` c = cos(ang2); +comp_19=` s = sin(ang2); +comp_20=` uv2.x = uv.x*c - uv.y*s; +comp_21=` uv2.y = uv.x*s + uv.y*c; +comp_22=` +comp_23=` dist = 1-frac(1.0/anz*n+time/2); //evtl sqrt ! +comp_24=` +comp_25=` inten = sqrt(dist)*(1-dist)*8; +comp_26=`float2 uv3 = frac(3*uv2*dist + 0.5+float2(q1,q2)*.05); +comp_27=` neu = 1*GetPixel(uv3) -GetBlur1(uv3+.003); +comp_28=` ret1 = max(ret1,neu*inten); +comp_29=`n++; +comp_30=`} +comp_31=` +comp_32=`rs2 = .5*cos(uv*13) - ret1;; +comp_33=`float dots = saturate(.05/length(rs2)) ; +comp_34=` +comp_35=` +comp_36=`ret = 2*ret1.gbr + 21*dots*(.1+3*ret1) ; +comp_37=`ret = ret1*4; +comp_38=`} diff --git a/presets/presets_tryptonaut/suksma - blatantic emissarial crotch.milk b/presets/presets_tryptonaut/suksma - blatantic emissarial crotch.milk new file mode 100755 index 0000000000..8df9927a77 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - blatantic emissarial crotch.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=2.000 +fDecay=0.960 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=31.200 +nMotionVectorsY=2.280 +mv_dx=0.000 +mv_dy=0.000 +mv_l=2.500 +mv_r=1.000 +mv_g=1.000 +mv_b=0.800 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=0.5; +wave_0_per_frame2=t2=0.5; +wave_0_per_frame3=scalar=sin(time*0.3)*5; +wave_0_per_frame4=t3=scalar +wave_0_per_point1=x=t1; +wave_0_per_point2=y=t2; +wave_0_per_point3=n=sample*6.283; +wave_0_per_point4=timeA=time*0.3+t3; +wave_0_per_point5=timeB=time*0.1+t3; +wave_0_per_point6= +wave_0_per_point7=xm=sin(n*3)*sin(n*5.7+timeB)*sin(n*11.5+timeA)*sin(n*31); +wave_0_per_point8=ym=sin(n*3.5)*sin(n*1.1)*sin(n*23+timeA)*sin(n*13.3+timeB); +wave_0_per_point9= +wave_0_per_point10=x=x+ xm*0.1; +wave_0_per_point11=y=y+ ym*0.1; +wave_0_per_point12=t1=x; +wave_0_per_point13=t2=y; +wave_0_per_point14= +wave_0_per_point15=r=tan(n)*0.5+0.5; +wave_0_per_point16=r=min(r,1)*above(r,0); +wave_0_per_point17=g=tan(n+2.1)*0.5+0.5; +wave_0_per_point18=g=min(g,1)*above(g,0); +wave_0_per_point19=b=tan(n+4.2)*0.5+0.5; +wave_0_per_point20=b=min(b,1)*above(b,0); +wave_0_per_point21= +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=0.5; +wave_1_per_frame2=t2=0.5; +wave_1_per_frame3=scalar=sin(time*0.3)*5; +wave_1_per_frame4=t3=scalar +wave_1_per_point1=x=t1; +wave_1_per_point2=y=t2; +wave_1_per_point3=n=sample*6.283; +wave_1_per_point4=timeA=time*0.3+t3 + 0.01; +wave_1_per_point5=timeB=time*0.1+t3 + 0.01; +wave_1_per_point6= +wave_1_per_point7=xm=sin(n*3)*sin(n*5.7+timeB)*sin(n*11.5+timeA)*sin(n*31); +wave_1_per_point8=ym=sin(n*3.5)*sin(n*1.1)*sin(n*23+timeA)*sin(n*13.3+timeB); +wave_1_per_point9= +wave_1_per_point10=x=x+ xm*0.1; +wave_1_per_point11=y=y+ ym*0.1; +wave_1_per_point12=t1=x; +wave_1_per_point13=t2=y; +wave_1_per_point14= +wave_1_per_point15=r=tan(n)*0.5+0.5; +wave_1_per_point16=r=min(r,1)*above(r,0); +wave_1_per_point17=g=tan(n+2.1)*0.5+0.5; +wave_1_per_point18=g=min(g,1)*above(g,0); +wave_1_per_point19=b=tan(n+4.2)*0.5+0.5; +wave_1_per_point20=b=min(b,1)*above(b,0); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=0.5; +wave_2_per_frame2=t2=0.5; +wave_2_per_frame3=scalar=sin(time*0.3)*5; +wave_2_per_frame4=t3=scalar +wave_2_per_point1=x=t1; +wave_2_per_point2=y=t2; +wave_2_per_point3=n=sample*6.283; +wave_2_per_point4=timeA=time*0.3+t3; +wave_2_per_point5=timeB=time*0.1+t3; +wave_2_per_point6= +wave_2_per_point7=xm=sin(n*3)*sin(n*5.7+timeB)*sin(n*11.5+timeA)*sin(n*31); +wave_2_per_point8=ym=sin(n*3.5)*sin(n*1.1)*sin(n*23+timeA)*sin(n*13.3+timeB); +wave_2_per_point9= +wave_2_per_point10=x=x+ xm*0.1; +wave_2_per_point11=y=y+ ym*0.1; +wave_2_per_point12=t1=x; +wave_2_per_point13=t2=y; +wave_2_per_point14= +wave_2_per_point15=r=tan(n)*0.5+0.5; +wave_2_per_point16=r=min(r,1)*above(r,0); +wave_2_per_point17=g=tan(n+2.1)*0.5+0.5; +wave_2_per_point18=g=min(g,1)*above(g,0); +wave_2_per_point19=b=tan(n+4.2)*0.5+0.5; +wave_2_per_point20=b=min(b,1)*above(b,0); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_frame1=t1=0.5; +wave_3_per_frame2=t2=0.5; +wave_3_per_frame3=scalar=sin(time*0.3)*5; +wave_3_per_frame4=t3=scalar +wave_3_per_point1=x=t1; +wave_3_per_point2=y=t2; +wave_3_per_point3=n=sample*6.283; +wave_3_per_point4=timeA=time*0.3+t3; +wave_3_per_point5=timeB=time*0.1+t3; +wave_3_per_point6= +wave_3_per_point7=xm=sin(n*3)*sin(n*5.7+timeB)*sin(n*11.5+timeA)*sin(n*31); +wave_3_per_point8=ym=sin(n*3.5)*sin(n*1.1)*sin(n*23+timeA)*sin(n*13.3+timeB); +wave_3_per_point9= +wave_3_per_point10=x=x+ xm*0.1; +wave_3_per_point11=y=y+ ym*0.1; +wave_3_per_point12=t1=x; +wave_3_per_point13=t2=y; +wave_3_per_point14= +wave_3_per_point15=r=tan(n)*0.5+0.5; +wave_3_per_point16=r=min(r,1)*above(r,0); +wave_3_per_point17=g=tan(n+2.1)*0.5+0.5; +wave_3_per_point18=g=min(g,1)*above(g,0); +wave_3_per_point19=b=tan(n+4.2)*0.5+0.5; +wave_3_per_point20=b=min(b,1)*above(b,0); +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.08925 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.93272 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.800 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.850 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=sin(time*0.3)*0.01 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.001; +per_frame_3=warp=0.03 +per_frame_4= +per_frame_5= +per_frame_6= +per_frame_7= +per_pixel_1=ring=sin(rad*3.14+0.3)*2 -1; +per_pixel_2=ring=max(ring,0); +per_pixel_3=ring=ring*ring; +per_pixel_4=zoom=1 + rad*4*0.01; +per_pixel_5=sx=1+ring*0.3; +per_pixel_6=sy=1-ring*0.3 +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,uv.y); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(bass*.4,treb*.4,mid*0.4)*0.95; +comp_10=`} diff --git a/presets/presets_tryptonaut/suksma - bubble gum pop gore.milk b/presets/presets_tryptonaut/suksma - bubble gum pop gore.milk new file mode 100755 index 0000000000..3154fb0f2b --- /dev/null +++ b/presets/presets_tryptonaut/suksma - bubble gum pop gore.milk @@ -0,0 +1,338 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.700 +fDecay=0.955 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=2.850 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=2.30000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.500 +ob_g=0.500 +ob_b=0.500 +ob_a=1.000 +ib_size=0.010 +ib_r=0.500 +ib_g=0.500 +ib_b=0.500 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.480 +mv_g=0.400 +mv_b=0.470 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=basstime=basstime+(bass*bass); +wave_0_per_frame2=t1=basstime*0.003; +wave_0_per_frame3= +wave_0_per_point1=//plot x,y,z to point on circle +wave_0_per_point2=smp=sample*6.283; +wave_0_per_point3=xp=sin(smp )*0.20; +wave_0_per_point4=yp=cos(smp )*0.20; +wave_0_per_point5=zp=0; +wave_0_per_point6= +wave_0_per_point7= +wave_0_per_point8=//alter shape; +wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; +wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point12=xp=xq; +wave_0_per_point13=zp=zq; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate on y axis; +wave_0_per_point17=angy=t1*0.1; +wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); +wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); +wave_0_per_point20=xp=xq; +wave_0_per_point21=zp=zq; +wave_0_per_point22= +wave_0_per_point23=//rotate on x axis +wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; +wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); +wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); +wave_0_per_point27=yp=yq; +wave_0_per_point28=zp=zq; +wave_0_per_point29= +wave_0_per_point30=//rotate on y axis again +wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; +wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); +wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); +wave_0_per_point34=xp=xq; +wave_0_per_point35=zp=zq; +wave_0_per_point36= +wave_0_per_point37=//stretch y axis to compensate for aspect ratio +wave_0_per_point38=yp=yp*1.2; +wave_0_per_point39= +wave_0_per_point40=//push forward into viewpace +wave_0_per_point41=zp=zp+2.1; +wave_0_per_point42= +wave_0_per_point43=//project x,y,z into screenspace +wave_0_per_point44=xs=xp/zp; +wave_0_per_point45=ys=yp/zp; +wave_0_per_point46= +wave_0_per_point47=//center 0,0 in middle of screen +wave_0_per_point48=x=xs+0.5; +wave_0_per_point49=y=ys+0.5; +wave_0_per_point50= +wave_0_per_point51=r=1-q1; +wave_0_per_point52=g=1-q2; +wave_0_per_point53=b=1-q3; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=23 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.700 +shapecode_0_rad=0.15493 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.01000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=y=bass_att*0.5+0.2; +shape_0_per_frame2=x=cos(time*2)*0.5+0.5; +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=1.79140 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.55584 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); +shape_1_per_frame2=rad=1.791+(bass*0.025); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.900 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.01000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shape_2_per_frame1=x = sin(time*5) * .4 + .5; +shape_2_per_frame2=y=treb_att*0.5; +shape_2_per_frame3= +shape_2_per_frame4=pow( (bass*.15),2); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.03300 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.01000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=x=.5+(bass*0.07); +per_frame_1=warp = 0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); +per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); +per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_14=pulse=if(above(abs(pulse),5000),-5000,pulse+mid_att*.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)); +per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; +per_frame_16=wave_g=if(bass_changed,.1,bass_flop); +per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); +per_frame_18=ib_b=ib_b+.5*sin(pulse); +per_frame_19=ib_g=ib_g+5*sin(pulse*.8); +per_frame_20=ib_r=ib_r+5*sin(pulse*.8); +per_frame_21=ob_b=wave_r; +per_frame_22=ob_g=wave_b; +per_frame_23=ob_r=wave_g; +per_frame_24=wave_mystery=sin(pulse); +per_frame_25=q1=pulse; +per_pixel_1=zoom=zoom-cos(x*10*sin(time+q1*.9)-10*sin(time+q1))*.1-sin(rad*10*sin(time+q1*.5))*.1; +per_pixel_2=rot=rot+abs(1-zoom)*sin(time+q1)*2; +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=` float3 base = GetPixel(uv); +comp_5=` float2 d = texsize.zw*2; +comp_6=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +comp_8=` float2 my_uv = uv + float2(dx.y,dy.y)*0.05; +comp_9=` float grad = length(my_uv-uv)*32; +comp_10=` float emboss = (dx.y+dy.y)*4 + 0.5; +comp_11=` +comp_12=` float2 uv_echo = 0.5 + (uv-0.5) * float2(-1,1) + float2(dx.y,dy.y)*0.05; +comp_13=` float3 bird = max( tex2D(sampler_main, my_uv).x, tex2D(sampler_main, uv_echo).x); +comp_14=` bird = pow(bird,1.4)*pow(hue_shader,2); +comp_15=` +comp_16=` float3 bg = emboss*float3(0,0,1) + float3(2,3,0)*grad + float3(1,0,0)*base.y - float3(0,0,0.3); +comp_17=` bg = bg*0.6*saturate(1 - bird.x*4); +comp_18=` +comp_19=` float3 wave = GetBlur1(uv+float2(dx.y,dy.y)*0.1)*saturate(1-bird.x*0); +comp_20=` +comp_21=`ret = bg + bird; +comp_22=`ret = lerp(ret, 1, wave.z*6*(1-bird*3)); +comp_23=` +comp_24=`} diff --git a/presets/presets_tryptonaut/suksma - chemosynthetic nosferatu - oh my goodness - gdy patent pending free energy devices - rand tritex - inv play.milk b/presets/presets_tryptonaut/suksma - chemosynthetic nosferatu - oh my goodness - gdy patent pending free energy devices - rand tritex - inv play.milk new file mode 100755 index 0000000000..3820c109c7 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - chemosynthetic nosferatu - oh my goodness - gdy patent pending free energy devices - rand tritex - inv play.milk @@ -0,0 +1,377 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.312 +fWaveScale=1.229 +fWaveSmoothing=0.000 +fWaveParam=0.200 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=0.303 +fWarpScale=3.259 +fZoomExponent=0.45112 +fShader=0.000 +zoom=1.02979 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.09861 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.370 +shapecode_0_y=0.500 +shapecode_0_rad=3.00000 +shapecode_0_ang=3.64425 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=0.500 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.300 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_init1=t1 = int(rand(100))*0.01; +shape_0_init2=t2 = int(rand(100))*0.01; +shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); +shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); +shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); +shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); +shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); +shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); +shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); +shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); +shapecode_1_enabled=1 +shapecode_1_sides=5 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.370 +shapecode_1_y=0.500 +shapecode_1_rad=0.70653 +shapecode_1_ang=3.64425 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.800 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=t1 = int(rand(100))*0.01; +shape_1_init2=t2 = int(rand(100))*0.01; +shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3); +shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1); +shape_1_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_2_enabled=1 +shapecode_2_sides=5 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.670 +shapecode_2_y=0.430 +shapecode_2_rad=0.70653 +shapecode_2_ang=4.20974 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.800 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=t1 = int(rand(100))*0.01; +shape_2_init2=t2 = int(rand(100))*0.01; +shape_2_per_frame1=x = x + 0.05*sin(time*2.17); +shape_2_per_frame2=y = y + 0.03*sin(time*1.83); +shape_2_per_frame3=ang = time*(0.3 + 0.1*t1); +shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); +shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); +shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); +shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); +shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); +shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); +shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); +shapecode_3_enabled=1 +shapecode_3_sides=6 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.16122 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=x = x + 0.2*sin(time*1.14); +shape_3_per_frame2=y = y + 0.1*sin(time*0.93+2); +per_frame_1=warp = 0; +per_frame_2=volume = 0.3*(bass+mid+att); +per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); +per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); +per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); +per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); +per_frame_7=xpos = xpos + 0.001*xspeed; +per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); +per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); +per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); +per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); +per_frame_12=ypos = ypos + 0.001*yspeed; +per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); +per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; +per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); +per_frame_16=peakbass_att = max(bass_att,peakbass_att); +per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); +per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); +per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); +per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; +per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); +per_frame_22=wave_x = xpos + 0.5; +per_frame_23=wave_y = 1-(ypos + 0.5); +per_frame_24=wave_r = 0.5 + 0.499*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); +per_frame_25=wave_g = 0.5 + 0.499*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); +per_frame_26=wave_b = 0.5 + 0.499*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); +per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); +per_frame_28=mv_r = if(beat, 1, ib_r); +per_frame_29=mv_b = if(beat, wave_b, ib_b); +per_frame_30=//mv_a = if(beat, 0.1, ib_a); +per_frame_31=//ib_a = 0.015; +per_frame_32=q3 = wave_mystery; +per_frame_33=q1 = wave_x; +per_frame_34=q2 = 1-wave_y; +per_frame_35=q2 = ypos+0.5; +per_frame_36=warp=0; +per_frame_37= +per_frame_38=//q2 = 1-(ypos + 0.5); +per_frame_39=//q1 = 0.5; +per_frame_40=//q2=0.5; +per_frame_41=ob_r = 1-wave_g; +per_frame_42=ob_b = 1-wave_r; +per_frame_43=ob_g = 1-wave_b; +per_frame_44= +per_frame_45=monitor = wave_y; +per_frame_46=movement =movement + 0.4*(((bass+bass_att + 0.1*pow((bass+0.6*bass_att+0.2*treb_att),3)))/fps); +per_frame_47=movement = if(above(movement,10000), 0, movement); +per_frame_48=rot =1*sin(movement); +per_frame_49=cx = wave_x; +per_frame_50=cy = y_pos+0.5; +per_frame_51= +per_frame_52=q8 = movement; +per_frame_53= +per_frame_54=wave_r = wave_r + 0.650*( 0.60*sin(1.437*time) + 0.40*sin(0.970*time) ); +per_frame_55=wave_g = wave_g + 0.650*( 0.60*sin(1.344*time) + 0.40*sin(0.841*time) ); +per_frame_56=wave_b = wave_b + 0.650*( 0.60*sin(1.251*time) + 0.40*sin(1.055*time) ); +per_frame_57=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); +per_frame_58=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); +per_frame_59=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); +per_frame_60=dx = dx + 0.010*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); +per_frame_61=dy = dy + 0.010*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) ); +per_frame_62=decay = decay - 0.01*equal(frame%6,0); +per_frame_63=dx = dx + dx_residual; +per_frame_64=dy = dy + dy_residual; +per_frame_65=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); +per_frame_66=dx_residual = (equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual)*0.9; +per_frame_67=dy_residual = (equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual)*0.9; +per_frame_68=wave_x = wave_x - dx_residual*7; +per_frame_69=wave_y = wave_y - dy_residual*7; +per_frame_70= +per_frame_71=zoom = zoom + 0.04*cos(time*0.513+2); +per_frame_72=q1 = 0.12*cos(time*0.479+1); +per_frame_73=q2 = 0.12*cos(time*0.359+2); +per_frame_74=q3=(sin(time)+1)/2+.3; +per_frame_75=q4=(sin(time*1.1)+1)/2+.3; +per_frame_76=q5=(sin(time*1.2)+1)/2+.3; +per_frame_77= +per_pixel_1=myy = x-q1; +per_pixel_2=myx = y-q2+0.1; +per_pixel_3=dx = 3*sin(q8*0.675)*(2*myx*myy); +per_pixel_4=dy = 3*sin(q8*0.675)*((myx*myx) - (myy*myy)); +warp_1=`sampler sampler_rand00; +warp_2=`sampler sampler_rand01; +warp_3=`sampler sampler_rand02; +warp_4=`shader_body { +warp_5=` +warp_6=` +warp_7=`float3 uv_sphere; +warp_8=`uv_sphere.xy = uv*.04-time*roam_sin*.0005; +warp_9=`uv_sphere.xy = frac( uv_sphere.xy ) * 2.0; +warp_10=`uv_sphere.xy = 1.0 - abs( uv_sphere.xy - 1.0 ); +warp_11=`uv_sphere = tex2Dbias( sampler_rand00 , float4(uv_sphere.xy,0.0,-0.5) ); +warp_12=` +warp_13=`float3 uv_sphere2; +warp_14=`uv_sphere2.yz = uv*.1-time*roam_sin*.000485; +warp_15=`uv_sphere2.yz = frac( uv_sphere2.yz ) * 2.0; +warp_16=`uv_sphere2.yz = 1.0 - abs( uv_sphere2.yz - 1.0 ); +warp_17=`uv_sphere2 = tex2Dbias( sampler_rand01 , float4(uv_sphere2.yz,-.5,0) ); +warp_18=` +warp_19=`float3 uv_sphere3; +warp_20=`uv_sphere3.zx = uv*.2-time*roam_sin*.00047; +warp_21=`uv_sphere3.zx = frac( uv_sphere3.zx ) * 2.0; +warp_22=`uv_sphere3.zx = 1.0 - abs( uv_sphere3.zx - 1.0 ); +warp_23=`uv_sphere3 = tex2Dbias( sampler_rand02 , float4(uv_sphere3.zx,.5,-.5) ); +warp_24=` +warp_25=`ret.x = uv_sphere*q3; +warp_26=`ret.y = uv_sphere2*q4; +warp_27=`ret.z = uv_sphere3*q5; +warp_28=`if((ret.z > .5)&&(ret.y>.5)&&(ret.x>.5)) ret=1-ret; +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` ret = tex2D(sampler_main, uv).xyz; +comp_4=` float lum = ret.xz; +comp_5=` ret += lum; +comp_6=` float2 texc = ret.xyz/lum; +comp_7=` ret = tex2D(sampler_main, texc) * ret.xyz * 4; +comp_8=`//ret=1-ret; +comp_9=`} diff --git a/presets/presets_tryptonaut/suksma - creepy children steal your identity.milk b/presets/presets_tryptonaut/suksma - creepy children steal your identity.milk new file mode 100755 index 0000000000..e17d6836e7 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - creepy children steal your identity.milk @@ -0,0 +1,300 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.900 +fDecay=0.982 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.216 +fWaveScale=0.948 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=0.99817 +fShader=0.200 +zoom=0.98001 +rot=0.00000 +cx=0.440 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.600 +wave_g=0.600 +wave_b=0.600 +wave_x=0.500 +wave_y=0.470 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.500 +ib_g=0.500 +ib_b=0.500 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=warp=0; +per_frame_2=old_bass_flop=bass_flop; +per_frame_3=old_treb_flop=treb_flop; +per_frame_4=old_mid_flop=mid_flop; +per_frame_5=chaos=.9+.1*sin(pulse); +per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+int(rand(6)),entropy)); +per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); +per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); +per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); +per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); +per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); +per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); +per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); +per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); +per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); +per_frame_16=pulse=if(above(abs(pulse),20),-20,pulse+.01*chaos*bor(bor(bass_changed,treb_changed),mid_changed)+(mid+bass+treb)*.025); +per_frame_17=q3=sin(pulse); +per_frame_18=q2=(pulse/entropy)*.5*chaos; +per_frame_19=q4=sin(q2); +per_frame_20=q5=entropy; +per_frame_21=q1=(1+1*above(q4,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(pulse,0)); +per_frame_22=wave_r=if(treb_flop,abs(.5*q4),if(bass_flop,.5+.5*q4,1)); +per_frame_23=wave_g=if(treb_changed,0,if(mid_changed,0,.49)); +per_frame_24=wave_b=if(treb_flop,.8+.2*q4,bass_changed*mid_changed); +per_frame_25=cx=.5+.2*q3; +per_frame_26=cy=.5+.2*q4; +per_frame_27=wave_x=.5+.2*q4*bnot(q1%7); +per_frame_28=wave_y=.5+if(bnot(q1%2),.2*q3,0)+.1*bnot(q1%3)-.1*bnot(q1%5); +per_frame_29=ob_r=if(bass_flop,treb_flop,wave_g); +per_frame_30=ob_b=if(treb_flop,.5+.5*q3,wave_b); +per_frame_31=ob_g=if(mid_flop,wave_r,wave_b); +per_frame_32=ob_a=.07+.05*q3; +per_frame_33=ob_size=.01*entropy*bnot(q1%6); +per_frame_34=ib_r=ib_r+.4*bnot(q1%10)-.4*bnot(q1%30); +per_frame_35=ib_b=ib_b+.4*bnot(q1%42)-.4*bnot(q1%21); +per_frame_36=ib_g=ib_g+.5*sin(time*.02*entropy); +per_frame_37=ib_a=.07+.05*q3*q4; +per_frame_38=ib_size=.01+.009*q3; +per_frame_39=zoom=zoom+.03*bnot(q1%3)-.03*bnot(q1%35); +per_pixel_1=g1=sin(q2*.1); +per_pixel_2=g2=sin(q2*.2); +per_pixel_3=g3=sin(q2*.3); +per_pixel_4=x_shift=if(bnot(q1%3),(pow(x,2)+x*g1*2+sqr(g3)),g2*3); +per_pixel_5=y_shift=if(bnot(q1%5),(pow(y,2)+y*g2*2+sqr(g1)),g3*3); +per_pixel_6=r_shift=if(bnot(q1%7),(pow(rad,2)+rad*g3*2+sqr(g2*3)),g1); +per_pixel_7=funk=x_shift+y_shift+r_shift; +per_pixel_8=zoom=zoom+cos(funk)*.05*q5; +per_pixel_9=rot=if(bnot(q1%14),g2*rad,q3*.1); +per_pixel_10=dx=dx+.33*(4-q5)*bnot(q1%70)*g1; +per_pixel_11=cx=cy+.33*(4-q5)*bnot(q1%105)*g2; +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.03; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` // darken over time +warp_14=` ret -= 0.004; +warp_15=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` ret = tex2D(sampler_main, uv).xyz; +comp_9=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_10=` float3 avg_col = GetBlur1(uv); +comp_11=` ret = abs(avg_col - ret)*6; +comp_12=` ret *= 1.333; // a little bit of overbright +comp_13=`} diff --git a/presets/presets_tryptonaut/suksma - ctp log smell.milk b/presets/presets_tryptonaut/suksma - ctp log smell.milk new file mode 100755 index 0000000000..d5109b99ce --- /dev/null +++ b/presets/presets_tryptonaut/suksma - ctp log smell.milk @@ -0,0 +1,320 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.700 +fDecay=0.995 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=1.186 +fWaveSmoothing=0.500 +fWaveParam=0.000 +fModWaveAlphaStart=0.500 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=0.000 +nMotionVectorsY=0.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.22167 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=2.21670 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=r = q1; +shape_0_per_frame2=g = q2; +shape_0_per_frame3=b = q3; +shape_0_per_frame4=r2 = q2; +shape_0_per_frame5=g2 = q3; +shape_0_per_frame6=b2 = q1; +shape_0_per_frame7=x = x + 0.21*cos(time) + 0.121*sin(1.2*time) + 0.15*sin(0.63*time); +shape_0_per_frame8=y = y + 0.134*cos(1.13*time) + 0.2*sin(0.8*time) + 0.213*sin(0.43*time); +shape_0_per_frame9=border_r = q3; +shape_0_per_frame10=border_b = q2; +shape_0_per_frame11=border_g = q1; +shape_0_per_frame12=ang = ang + 4.52*cos(time); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.24486 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.48885 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=r = q2; +shape_1_per_frame2=g = q3; +shape_1_per_frame3=b = q1; +shape_1_per_frame4=r2 = q3; +shape_1_per_frame5=g2 = q1; +shape_1_per_frame6=b2 = q2; +shape_1_per_frame7=x = x + 0.11*cos(0.6*time) + 0.122*sin(1.12*time) + 0.155*sin(0.83*time); +shape_1_per_frame8=y = y + 0.134*cos(0.513*time) + 0.126*sin(1.48*time) + 0.13*sin(0.743*time); +shape_1_per_frame9=border_r = q1; +shape_1_per_frame10=border_b = q2; +shape_1_per_frame11=border_g = q3; +shape_1_per_frame12=ang = ang + 4.52*cos(time); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.27048 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55044 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=1.000 +shape_2_per_frame1=r = q3; +shape_2_per_frame2=g = q1; +shape_2_per_frame3=b = q2; +shape_2_per_frame4=r2 = q1; +shape_2_per_frame5=g2 = q2; +shape_2_per_frame6=b2 = q3; +shape_2_per_frame7=x = x + 0.201*cos(1.11*time) + 0.1022*sin(1.512*time) + 0.215*sin(0.83*time); +shape_2_per_frame8=y = y + 0.134*cos(1.03*time) + 0.1026*sin(0.648*time) + 0.2*sin(1.743*time); +shape_2_per_frame9=border_r = q1; +shape_2_per_frame10=border_b = q3; +shape_2_per_frame11=border_g = q2; +shape_2_per_frame12=ang = ang + 4.52*cos(time); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=bass_tick = above(bass_att,bass_tick)*2 + (1-above(bass_att,bass_tick))* +per_frame_2=((bass_tick-1.3)*0.96+1.3); +per_frame_3=treb_tick = above(treb_att,treb_tick)*2 + (1-above(treb_att,treb_tick))* +per_frame_4=((treb_tick-1.3)*0.96+1.3); +per_frame_5=mid_tick = above(mid_att,mid_tick)*2 + (1-above(mid_att,mid_tick))* +per_frame_6=((mid_tick-1.3)*0.96+1.3); +per_frame_7=bass_shift = equal(bass_tick,2)*0.95*sin(time*5) + (1-equal(bass_tick,2))*bass_shift; +per_frame_8=treb_shift = equal(treb_tick,2)*0.95*sin(time*5) + (1-equal(treb_tick,2))*treb_shift; +per_frame_9=mid_shift = equal(mid_tick,2)*0.95*sin(time*5) + (1-equal(mid_tick,2))*mid_shift; +per_frame_10= +per_frame_11=wave_r = wave_r + bass_shift; +per_frame_12=wave_g = wave_g + mid_shift; +per_frame_13=wave_b = wave_b + treb_shift; +per_frame_14= +per_frame_15=ob_r = 1-abs(wave_r); +per_frame_16=ob_g = 1-abs(wave_g); +per_frame_17=ob_b = 1-abs(wave_b); +per_frame_18=ib_r = 1-abs(wave_b); +per_frame_19=ib_g = 1-abs(wave_r); +per_frame_20=ib_b = 1-abs(wave_r); +per_frame_21=ob_size = ob_size + 0.15*sin(bass_att); +per_frame_22=ib_size = ib_size + 0.15*cos(treb_att); +per_frame_23=ob_a = ob_a - 0.5*sin(bass_att); +per_frame_24=ib_a = ib_a - 0.5*sin(mid_att); +per_frame_25=q1 = wave_r; +per_frame_26=q2 = wave_b; +per_frame_27=q3 = wave_g; +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5= +per_pixel_6=sx = sx + 16*dx_r*sin((0.5-rad*3)*2-sin(2.1*abs(x*13-bass_att/y*rad))); +per_pixel_7=sy = sy + 16*dy_r*sin((0.5-rad*3)*2-sin(2.1*abs(y*13-bass_att/x*rad))); +per_pixel_8=rot = rot + 0.2*cos((rad*3)*2-cos(4*abs(rad*12-bass_att/x*y))); +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_10=` +comp_11=`ret = .25*lum(saturate(2*GetBlur3(uv))); +comp_12=`ret -= .8*lum(saturate(20*(0.6*GetBlur2(uv)-.01)-2)); +comp_13=`ret = ret + lum(saturate(30*((GetPixel(uv)+GetBlur1(uv)*.15)-.01)-2))-.1; +comp_14=`ret += .55; +comp_15=`ret = lerp(ret,ret*(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_16=` +comp_17=`float3 ret2 = -.5*lum(GetBlur3(uv_y)); +comp_18=`ret2 += .8*GetBlur1(uv_y); +comp_19=`ret2 = ret-.9*GetPixel(uv_y)-.1; +comp_20=`ret2 -= .75; +comp_21=`ret2 = lerp(ret2,1.2*ret2*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_22=` +comp_23=`ret = abs(ret-1.2*ret2); +comp_24=`//ret = ret2; +comp_25=`ret *= ret; +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/suksma - dinner - stalk the stalker with satanic telepathy - j4+.milk b/presets/presets_tryptonaut/suksma - dinner - stalk the stalker with satanic telepathy - j4+.milk new file mode 100755 index 0000000000..4f16568fea --- /dev/null +++ b/presets/presets_tryptonaut/suksma - dinner - stalk the stalker with satanic telepathy - j4+.milk @@ -0,0 +1,354 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=0 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=5.278 +fWarpScale=0.010 +fZoomExponent=1.47412 +fShader=10.000 +zoom=1.03030 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=33 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_0_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_0_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_0_per_frame4=a = trans; +shape_0_per_frame5=a2 = trans2; +shape_0_per_frame6=border_a = trans3; +shape_0_per_frame7= +shape_0_per_frame8=x = q1 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame9=y = q2 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_0_per_frame10=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_0_per_frame11=ang=sin(q20*.003)+instance-instance; +shape_0_per_frame12= +shape_0_per_frame13=greyq3=int(rand(q3)); +shape_0_per_frame14=greyred=int(rand(2))+instance-instance; +shape_0_per_frame15=r=greyq3*.1+instance-instance; +shape_0_per_frame16=g=if(equal(greyred,1),0,greyq3*.1); +shape_0_per_frame17=b=if(equal(greyred,1),0,greyq3*.1); +shape_0_per_frame18= +shape_0_per_frame19=greyq3=int(rand(q3)); +shape_0_per_frame20=greyred=int(rand(2))+instance-instance; +shape_0_per_frame21=r2=greyq3*.1+instance-instance; +shape_0_per_frame22=g2=if(equal(greyred,1),0,greyq3*.1); +shape_0_per_frame23=b2=if(equal(greyred,1),0,greyq3*.1); +shape_0_per_frame24= +shape_0_per_frame25=greyq3=int(rand(q3)); +shape_0_per_frame26=greyred=int(rand(2))+instance-instance; +shape_0_per_frame27=border_r=greyq3*.1+instance-instance; +shape_0_per_frame28=border_g=if(equal(greyred,1),0,greyq3*.1); +shape_0_per_frame29=border_b=if(equal(greyred,1),0,greyq3*.1); +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=7 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.500 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5=a2 = trans2; +shape_1_per_frame6=border_a = trans3; +shape_1_per_frame7= +shape_1_per_frame8=x = q1 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame9=y = q2 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame10=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame11=ang=sin(q20*.003)+instance-instance; +shape_1_per_frame12= +shape_1_per_frame13=greyq3=int(rand(q3)); +shape_1_per_frame14=greyred=int(rand(2))+instance-instance; +shape_1_per_frame15=r=greyq3*.1+instance-instance; +shape_1_per_frame16=g=if(equal(greyred,1),0,greyq3*.1); +shape_1_per_frame17=b=if(equal(greyred,1),0,greyq3*.1); +shape_1_per_frame18= +shape_1_per_frame19=greyq3=int(rand(q3)); +shape_1_per_frame20=greyred=int(rand(2))+instance-instance; +shape_1_per_frame21=r2=greyq3*.1+instance-instance; +shape_1_per_frame22=g2=if(equal(greyred,1),0,greyq3*.1); +shape_1_per_frame23=b2=if(equal(greyred,1),0,greyq3*.1); +shape_1_per_frame24= +shape_1_per_frame25=greyq3=int(rand(q3)); +shape_1_per_frame26=greyred=int(rand(2))+instance-instance; +shape_1_per_frame27=border_r=greyq3*.1+instance-instance; +shape_1_per_frame28=border_g=if(equal(greyred,1),0,greyq3*.1); +shape_1_per_frame29=border_b=if(equal(greyred,1),0,greyq3*.1); +shapecode_2_enabled=1 +shapecode_2_sides=3 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=33 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.500 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5=a2 = trans2; +shape_2_per_frame6=border_a = trans3; +shape_2_per_frame7= +shape_2_per_frame8=x = q1 + int(rand(15))*0.01*treb_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame9=y = q2 + int(rand(15))*0.01*treb_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame10=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_2_per_frame11=ang=sin(q20*.003)+instance-instance; +shape_2_per_frame12= +shape_2_per_frame13=greyq3=int(rand(q3)); +shape_2_per_frame14=greyred=int(rand(2))+instance-instance; +shape_2_per_frame15=r=greyq3*.1+instance-instance; +shape_2_per_frame16=g=if(equal(greyred,1),0,greyq3*.1); +shape_2_per_frame17=b=if(equal(greyred,1),0,greyq3*.1); +shape_2_per_frame18= +shape_2_per_frame19=greyq3=int(rand(q3)); +shape_2_per_frame20=greyred=int(rand(2))+instance-instance; +shape_2_per_frame21=r2=greyq3*.1+instance-instance; +shape_2_per_frame22=g2=if(equal(greyred,1),0,greyq3*.1); +shape_2_per_frame23=b2=if(equal(greyred,1),0,greyq3*.1); +shape_2_per_frame24= +shape_2_per_frame25=greyq3=int(rand(q3)); +shape_2_per_frame26=greyred=int(rand(2))+instance-instance; +shape_2_per_frame27=border_r=greyq3*.1+instance-instance; +shape_2_per_frame28=border_g=if(equal(greyred,1),0,greyq3*.1); +shape_2_per_frame29=border_b=if(equal(greyred,1),0,greyq3*.1); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=q20=int(rand(3140))/1000; +per_frame_1=count = if(below(count,9),count+1,0); +per_frame_2= +per_frame_3=q1 = 0.5; +per_frame_4=q2 = 0.5; +per_frame_5=q3 = count; +per_frame_6= +per_frame_7=zoom = 1 + 0.065*bass_att+0.05*bass; +per_frame_8=monitor=q3; +per_frame_9=q30=bass+mid+treb; +per_frame_10=bassrun=bassrun+bass; +per_frame_11=trebrun=trebrun+treb; +per_frame_12=midrun=midrun+mid; +per_frame_13=q20=bassrun+midrun+trebrun; +per_frame_14=monitor=q20; +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_10=` +comp_11=`ret = .5*GetBlur3(uv); +comp_12=`ret -= (GetBlur2(uv)-.01); +comp_13=`ret += GetPixel(uv)+GetBlur1(uv)*.15-.01; +comp_14=`ret += .75; +comp_15=`ret = lum(ret); +comp_16=`ret = lerp(ret,ret*(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret)); +comp_17=` +comp_18=`float3 ret2 = -.5*GetBlur3(uv_y); +comp_19=`ret2 += GetBlur1(uv_y); +comp_20=`ret2 -= GetPixel(uv_y); +comp_21=`ret2 -= .75; +comp_22=`//ret2 = lum(ret2); +comp_23=`ret2 = lerp(ret2,ret2*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.xyz,ret)); +comp_24=` +comp_25=`ret = abs(ret-2*ret2); +comp_26=`//ret = ret2; +comp_27=` +comp_28=`ret -= .25*sqrt(ret); +comp_29=`ret *= ret+(bass+mid+treb)*.4; +comp_30=`} diff --git a/presets/presets_tryptonaut/suksma - diploautomatic autoimmunity vs passivematic aggpressive - float dev.milk b/presets/presets_tryptonaut/suksma - diploautomatic autoimmunity vs passivematic aggpressive - float dev.milk new file mode 100755 index 0000000000..cf856081d4 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - diploautomatic autoimmunity vs passivematic aggpressive - float dev.milk @@ -0,0 +1,591 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.110 +ob_g=0.000 +ob_b=0.100 +ob_a=0.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.55045 +wavecode_0_smoothing=1.00000 +wavecode_0_r=0.190 +wavecode_0_g=0.150 +wavecode_0_b=0.110 +wavecode_0_a=1.000 +wave_0_per_frame1=t1=q1*0.25; +wave_0_per_frame2=a=if(above((treb+mid)*.3,1),1,treb*.5); +wave_0_per_point1=n= sample*6.283; +wave_0_per_point2=cubesize=q2; +wave_0_per_point3=fix=1/cubesize *0.5; +wave_0_per_point4=tm=q1*4+sample*4; +wave_0_per_point5= +wave_0_per_point6=taille=bass*.25+0.3; +wave_0_per_point7=xp= sin(tm)*cos(tm*3)*taille+0.5; +wave_0_per_point8=yp= sin(tm*1.1)*sin(tm*4.1)*taille+0.5; +wave_0_per_point9=zp= sin(tm*2.9)*cos(tm*1.77)*taille+0.5; +wave_0_per_point10= +wave_0_per_point11=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_0_per_point12=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_0_per_point13=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_0_per_point14= +wave_0_per_point15= +wave_0_per_point16=//rotate +wave_0_per_point17=ang=t1; +wave_0_per_point18=sang=sin(ang);cang=cos(ang); +wave_0_per_point19=xq=xp*sang + zp*cang; +wave_0_per_point20=yq=yp; +wave_0_per_point21=zq=xp*cang - zp*sang; +wave_0_per_point22=xp=xq;yp=yq;zp=zq; +wave_0_per_point23= +wave_0_per_point24=//rotate +wave_0_per_point25=ang=t1*.75; +wave_0_per_point26=sang=sin(ang);cang=cos(ang); +wave_0_per_point27=xq=xp; +wave_0_per_point28=yq=yp*sang + zp*cang; +wave_0_per_point29=zq=yp*cang - zp*sang; +wave_0_per_point30=xp=xq;yp=yq;zp=zq; +wave_0_per_point31= +wave_0_per_point32= +wave_0_per_point33=zp= zp+2; +wave_0_per_point34=x= xp/zp + 0.5; +wave_0_per_point35=y= yp/zp * 1.333 + 0.5; +wave_0_per_point36=r=bass*.05; +wave_0_per_point37=g=mid*.05; +wave_0_per_point38=b=treb*.05; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.500 +wavecode_1_g=0.500 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_frame1=t1=q1*0.25; +wave_1_per_point1=n= sample*6.283; +wave_1_per_point2=cubesize=q2; +wave_1_per_point3=fix=1/cubesize *0.5; +wave_1_per_point4=tm=q1*4+sample*4; +wave_1_per_point5= +wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; +wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +wave_1_per_point9= +wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; +wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; +wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=//rotate +wave_1_per_point16=ang=t1; +wave_1_per_point17=sang=sin(ang);cang=cos(ang); +wave_1_per_point18=xq=xp*sang + zp*cang; +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=xp*cang - zp*sang; +wave_1_per_point21=xp=xq;yp=yq;zp=zq; +wave_1_per_point22= +wave_1_per_point23=//rotate +wave_1_per_point24=ang=t1*0.75; +wave_1_per_point25=sang=sin(ang);cang=cos(ang); +wave_1_per_point26=xq=xp; +wave_1_per_point27=yq=yp*sang + zp*cang; +wave_1_per_point28=zq=yp*cang - zp*sang; +wave_1_per_point29=xp=xq;yp=yq;zp=zq; +wave_1_per_point30= +wave_1_per_point31= +wave_1_per_point32=zp= zp+3; +wave_1_per_point33=x= xp/zp + 0.5; +wave_1_per_point34=y= yp/zp * 1.333 + 0.5; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1=q1*0.25; +wave_2_per_point1=n= sample*6.283; +wave_2_per_point2=cubesize=q2; +wave_2_per_point3=fix=1/cubesize *0.5; +wave_2_per_point4= +wave_2_per_point5=xp= int(rand(cubesize))/cubesize-0.5+fix; +wave_2_per_point6=yp= int(rand(cubesize))/cubesize-0.5+fix; +wave_2_per_point7=zp= int(rand(cubesize))/cubesize-0.5+fix; +wave_2_per_point8= +wave_2_per_point9= +wave_2_per_point10=//rotate +wave_2_per_point11=ang=t1; +wave_2_per_point12=sang=sin(ang);cang=cos(ang); +wave_2_per_point13=xq=xp*sang + zp*cang; +wave_2_per_point14=yq=yp; +wave_2_per_point15=zq=xp*cang - zp*sang; +wave_2_per_point16=xp=xq;yp=yq;zp=zq; +wave_2_per_point17= +wave_2_per_point18=//rotate +wave_2_per_point19=ang=t1*0.75; +wave_2_per_point20=sang=sin(ang);cang=cos(ang); +wave_2_per_point21=xq=xp; +wave_2_per_point22=yq=yp*sang + zp*cang; +wave_2_per_point23=zq=yp*cang - zp*sang; +wave_2_per_point24=xp=xq;yp=yq;zp=zq; +wave_2_per_point25= +wave_2_per_point26= +wave_2_per_point27=zp= zp+2; +wave_2_per_point28=x= xp/zp + 0.5; +wave_2_per_point29=y= yp/zp * 1.333 + 0.5; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=32 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.19477 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.630 +shapecode_0_g2=0.700 +shapecode_0_b2=1.000 +shapecode_0_a2=0.070 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=flip=1 +shape_0_per_frame1= +shape_0_per_frame2=flip=-flip; +shape_0_per_frame3=lens_scale = flip*0.5+0.5; +shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; +shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); +shape_0_per_frame6= +shape_0_per_frame7=t1=q1*0.25; +shape_0_per_frame8= +shape_0_per_frame9=sample = 1; +shape_0_per_frame10=n= sample*6.283; +shape_0_per_frame11=cubesize=q2; +shape_0_per_frame12=fix=1/cubesize *0.5; +shape_0_per_frame13=tm=q1*4+sample*4; +shape_0_per_frame14= +shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_0_per_frame18= +shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_0_per_frame22= +shape_0_per_frame23= +shape_0_per_frame24=//rotate +shape_0_per_frame25=ang=t1; +shape_0_per_frame26=sang=sin(ang);cang=cos(ang); +shape_0_per_frame27=xq=xp*sang + zp*cang; +shape_0_per_frame28=yq=yp; +shape_0_per_frame29=zq=xp*cang - zp*sang; +shape_0_per_frame30=xp=xq;yp=yq;zp=zq; +shape_0_per_frame31= +shape_0_per_frame32=//rotate +shape_0_per_frame33=ang=t1*0.75; +shape_0_per_frame34=sang=sin(ang);cang=cos(ang); +shape_0_per_frame35=xq=xp; +shape_0_per_frame36=yq=yp*sang + zp*cang; +shape_0_per_frame37=zq=yp*cang - zp*sang; +shape_0_per_frame38=xp=xq;yp=yq;zp=zq; +shape_0_per_frame39= +shape_0_per_frame40= +shape_0_per_frame41=zp= zp+2; +shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; +shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; +shape_0_per_frame44= +shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale +shapecode_1_enabled=0 +shapecode_1_sides=6 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.04378 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.300 +shapecode_1_g=0.600 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=t1=q1*0.25; +shape_1_per_frame3= +shape_1_per_frame4=sample = 1; +shape_1_per_frame5=n= sample*6.283; +shape_1_per_frame6=cubesize=q2; +shape_1_per_frame7=fix=1/cubesize *0.5; +shape_1_per_frame8=tm=q1*4+sample*4; +shape_1_per_frame9= +shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_1_per_frame13= +shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_1_per_frame17= +shape_1_per_frame18= +shape_1_per_frame19=//rotate +shape_1_per_frame20=ang=t1; +shape_1_per_frame21=sang=sin(ang);cang=cos(ang); +shape_1_per_frame22=xq=xp*sang + zp*cang; +shape_1_per_frame23=yq=yp; +shape_1_per_frame24=zq=xp*cang - zp*sang; +shape_1_per_frame25=xp=xq;yp=yq;zp=zq; +shape_1_per_frame26= +shape_1_per_frame27=//rotate +shape_1_per_frame28=ang=t1*0.75; +shape_1_per_frame29=sang=sin(ang);cang=cos(ang); +shape_1_per_frame30=xq=xp; +shape_1_per_frame31=yq=yp*sang + zp*cang; +shape_1_per_frame32=zq=yp*cang - zp*sang; +shape_1_per_frame33=xp=xq;yp=yq;zp=zq; +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=zp= zp+2; +shape_1_per_frame37=x= xp/zp + 0.5; +shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_1_per_frame39= +shape_1_per_frame40= +shape_1_per_frame41=a= min(a+q8/2,1); +shape_1_per_frame42=r= min(r*(1+q8) , 1 ); +shape_1_per_frame43=g= min(g*(1+q8) , 1 ); +shape_1_per_frame44= +shape_1_per_frame45=r2= min(q8/2,1); +shape_1_per_frame46=g2= min(q8/4,1); +shape_1_per_frame47= +shape_1_per_frame48=rad= rad*(1+q8/7) +shapecode_2_enabled=0 +shapecode_2_sides=36 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.28428 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=0.000 +shapecode_2_r2=0.230 +shapecode_2_g2=0.540 +shapecode_2_b2=1.000 +shapecode_2_a2=0.050 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.800 +shapecode_2_border_b=0.400 +shapecode_2_border_a=0.450 +shape_2_per_frame1= +shape_2_per_frame2=t1=q1*0.25; +shape_2_per_frame3= +shape_2_per_frame4=sample = 1; +shape_2_per_frame5=n= sample*6.283; +shape_2_per_frame6=cubesize=q2; +shape_2_per_frame7=fix=1/cubesize *0.5; +shape_2_per_frame8=tm=q1*4+sample*4; +shape_2_per_frame9= +shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_2_per_frame13= +shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_2_per_frame17= +shape_2_per_frame18= +shape_2_per_frame19=//rotate +shape_2_per_frame20=ang=t1; +shape_2_per_frame21=sang=sin(ang);cang=cos(ang); +shape_2_per_frame22=xq=xp*sang + zp*cang; +shape_2_per_frame23=yq=yp; +shape_2_per_frame24=zq=xp*cang - zp*sang; +shape_2_per_frame25=xp=xq;yp=yq;zp=zq; +shape_2_per_frame26= +shape_2_per_frame27=//rotate +shape_2_per_frame28=ang=t1*0.75; +shape_2_per_frame29=sang=sin(ang);cang=cos(ang); +shape_2_per_frame30=xq=xp; +shape_2_per_frame31=yq=yp*sang + zp*cang; +shape_2_per_frame32=zq=yp*cang - zp*sang; +shape_2_per_frame33=xp=xq;yp=yq;zp=zq; +shape_2_per_frame34= +shape_2_per_frame35= +shape_2_per_frame36=zp= zp+2; +shape_2_per_frame37=x= xp/zp + 0.5; +shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_2_per_frame39= +shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); +shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); +shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); +shape_2_per_frame43= +shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); +shapecode_3_enabled=0 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.15804 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=0.300 +shapecode_3_g=0.600 +shapecode_3_b=1.000 +shapecode_3_a=0.140 +shapecode_3_r2=0.400 +shapecode_3_g2=0.500 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1= +shape_3_per_frame2=t1=q1*0.25; +shape_3_per_frame3= +shape_3_per_frame4=sample = 1; +shape_3_per_frame5=n= sample*6.283; +shape_3_per_frame6=cubesize=q2; +shape_3_per_frame7=fix=1/cubesize *0.5; +shape_3_per_frame8=tm=q1*4+sample*4; +shape_3_per_frame9= +shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; +shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; +shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; +shape_3_per_frame13= +shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; +shape_3_per_frame17= +shape_3_per_frame18= +shape_3_per_frame19=//rotate +shape_3_per_frame20=ang=t1; +shape_3_per_frame21=sang=sin(ang);cang=cos(ang); +shape_3_per_frame22=xq=xp*sang + zp*cang; +shape_3_per_frame23=yq=yp; +shape_3_per_frame24=zq=xp*cang - zp*sang; +shape_3_per_frame25=xp=xq;yp=yq;zp=zq; +shape_3_per_frame26= +shape_3_per_frame27=//rotate +shape_3_per_frame28=ang=t1*0.75; +shape_3_per_frame29=sang=sin(ang);cang=cos(ang); +shape_3_per_frame30=xq=xp; +shape_3_per_frame31=yq=yp*sang + zp*cang; +shape_3_per_frame32=zq=yp*cang - zp*sang; +shape_3_per_frame33=xp=xq;yp=yq;zp=zq; +shape_3_per_frame34= +shape_3_per_frame35= +shape_3_per_frame36=zp= zp+2; +shape_3_per_frame37=x= xp/zp + 0.5; +shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; +shape_3_per_frame39= +shape_3_per_frame40= +shape_3_per_frame41=a= min(a*q8,1); +shape_3_per_frame42= +shape_3_per_frame43=rad= rad*(1+q8) +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6= +per_frame_init_7=dcsp=0; +per_frame_init_8= +per_frame_init_9=size =6; +per_frame_init_10=bc=0; +per_frame_init_11= +per_frame_1=decay=0.985; +per_frame_2=vol= (bass+mid+treb)*0.25; +per_frame_3=vol = vol*vol; +per_frame_4= +per_frame_5=q8=vol; +per_frame_6=mtime=mtime+vol*0.01*(75/fps); +per_frame_7= +per_frame_8=q7 = mtime; +per_frame_9= +per_frame_10=monitor=512/8; +per_frame_11= +per_frame_12=warp=0; +per_frame_13=q1=mtime*0.9; +per_frame_14= +per_frame_15=beat = above(vol,1.5); +per_frame_16=bc = max(bc,0); +per_frame_17=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); +per_frame_18= +per_frame_19=trigger = equal(bc,1); +per_frame_20= +per_frame_21=monitor=bc; +per_frame_22= +per_frame_23=size = size + trigger; +per_frame_24=size = if( above(size,9) ,6 , size ); +per_frame_25=mainangle=q1*0.255*0.75; +per_frame_26=kick= if(equal(trigger,1),2,1); +per_frame_27=dx=cos(mainangle)*.003*kick; +per_frame_28=dy=sin(mainangle)*.003*kick; +per_frame_29=zoom=1-(vol*.005)*abs(cos(mainangle)); +per_frame_30=q2=int(size); //cubesize +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` +warp_6=` // feather pen +warp_7=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1-8*length(texsize.zw)) + 0.5 ).xyz); +warp_8=` ret = max(ret, tex2D( sampler_main, (uv-0.5)*(1+8*length(texsize.zw)) + 0.5 ).xyz); +warp_9=` +warp_10=` // darken over time +warp_11=` ret -= 0.03; +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2, uv3; +comp_4=` float ang2, c, s; +comp_5=` +comp_6=` uv -= 0.5; +comp_7=` uv *= aspect.xy; +comp_8=` +comp_9=` ang2 = 6.28*0.333; +comp_10=` c = cos(ang2); +comp_11=` s = sin(ang2); +comp_12=` uv2.x = uv.x*c - uv.y*s; +comp_13=` uv2.y = uv.x*s + uv.y*c; +comp_14=` +comp_15=` ang2 = 6.28*0.667; +comp_16=` c = cos(ang2); +comp_17=` s = sin(ang2); +comp_18=` uv3.x = uv.x*c - uv.y*s; +comp_19=` uv3.y = uv.x*s + uv.y*c; +comp_20=` +comp_21=` ret = tex2D(sampler_main, uv + 0.5).xyz; +comp_22=` ret = max(ret, tex2D(sampler_main,uv2 + 0.5).xyz); +comp_23=` ret = max(ret, tex2D(sampler_main,uv3 + 0.5).xyz); +comp_24=` +comp_25=` ret *= 1.3; +comp_26=` ret *= hue_shader*4-2; +comp_27=` +comp_28=`} +comp_29=` +comp_30=` diff --git a/presets/presets_tryptonaut/suksma - feign shoulder concern when i should be executed - everything is eternally shrinking.milk b/presets/presets_tryptonaut/suksma - feign shoulder concern when i should be executed - everything is eternally shrinking.milk new file mode 100755 index 0000000000..2e1a964b76 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - feign shoulder concern when i should be executed - everything is eternally shrinking.milk @@ -0,0 +1,360 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=0.69972 +fShader=0.000 +zoom=0.99455 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.400 +ib_g=0.400 +ib_b=0.600 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wave_0_per_point16=pi23=4*asin(1)*.333333333; +wave_0_per_point17=vol=bass+mid+treb; +wave_0_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_0_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_0_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wave_1_per_point16=pi23=4*asin(1)*.333333333; +wave_1_per_point17=vol=bass+mid+treb; +wave_1_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_1_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_1_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wave_2_per_point16=pi23=4*asin(1)*.333333333; +wave_2_per_point17=vol=bass+mid+treb; +wave_2_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_2_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_2_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +wave_3_per_point16=pi23=4*asin(1)*.333333333; +wave_3_per_point17=vol=bass+mid+treb; +wave_3_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_3_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_3_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_y = wave_y + 0.150*(0.60*sin(1.742*bass) + 0.35*sin(1.921*time)); +per_frame_2=wave_x = wave_x + 0.150*(0.60*sin(2.111*time) + 0.35*sin(1.111*time)); +per_frame_3=wave_mystery = wave_mystery +0.05*sin(5.1*time) + 0.04*sin(4.5*time); +per_frame_4=wave_r = wave_r + 0.5*sin(1.11*time); +per_frame_5=wave_b = wave_b + 0.5*sin(1.3*time); +per_frame_6=wave_g = wave_g + 0.5*sin(1.2*time); +per_frame_7=dx = dx + 0.01*sin(5*time); +per_frame_8=dy = dy + 0.01*sin(10*time); +per_frame_9=zoom = zoom - 0.05*sin(0.2*mid); +per_frame_10=rot = rot + 0.005*sin(bass); +per_frame_11=cx = cx + 0.25*sin(0.5*bass); +per_frame_12=cy = cy + 0.25*cos(0.5*treb); +per_frame_13=dx = dx + 0.01*sin(0.25*time); +per_frame_14=dy = dy + 0.01*sin(0.25*time); +per_frame_15=wave_mystery = wave_mystery + above(sin(frame%3),0)*1; +per_pixel_1=sim = 1.5*sin(1.5*bass); +per_pixel_2=zoom = zoom - if(above(sim,0.75), (1-rad)*0.2, 0); +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.5; // maximum random pixel offset +warp_6=`float diffusion = 0.006; // dither strength +warp_7=`float fadeout = -0.0006; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur2(lerp(uv_orig,uv,-12))); +warp_11=`uv = lerp(uv_orig,uv, magic*12 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`} +comp_1=` +comp_2=` +comp_3=` +comp_4=` +comp_5=`shader_body +comp_6=`{ +comp_7=` uv = 0.05 + 0.9*uv; +comp_8=` +comp_9=` +comp_10=` float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_11=` ret = lerp( tex2D(sampler_main, uv).xyz, +comp_12=` tex2D(sampler_main, uv_echo).xyz, +comp_13=` 0.50 +comp_14=` ); //video echo +comp_15=` //ret = tex2D(sampler_main, uv).xyz; +comp_16=` // SUPER GLOW EDGES - looks awesome w/octopus +comp_17=` float3 avg_col = GetBlur1(uv); +comp_18=` ret = abs(avg_col - ret)*6; +comp_19=` +comp_20=` ret *= 0.1+abs(max(sin(bass_att),sin(treb_att))); +comp_21=` ret *= max(GetBlur3(uv),GetBlur3(uv_echo)); +comp_22=` +comp_23=` ret *= 1.5; // a little bit of overbright +comp_24=` +comp_25=` +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/suksma - fiShbRaiN - white sceam firefly - mash0000 - liquid oxygen, jet fuel, and maybe some plutonium too.milk b/presets/presets_tryptonaut/suksma - fiShbRaiN - white sceam firefly - mash0000 - liquid oxygen, jet fuel, and maybe some plutonium too.milk new file mode 100755 index 0000000000..f717834e2e --- /dev/null +++ b/presets/presets_tryptonaut/suksma - fiShbRaiN - white sceam firefly - mash0000 - liquid oxygen, jet fuel, and maybe some plutonium too.milk @@ -0,0 +1,252 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=0 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.910 +fVideoEchoZoom=1.002 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.100 +fWaveScale=1.286 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=100.000 +fWarpScale=1.951 +fZoomExponent=0.01000 +fShader=1.000 +zoom=0.90485 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=2.90523 +sx=0.99999 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=0.74192 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=x=sample; +wave_0_per_point2=y=treb; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.08925 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.900 +shapecode_0_g=0.400 +shapecode_0_b=0.800 +shapecode_0_a=0.800 +shapecode_0_r2=0.800 +shapecode_0_g2=0.850 +shapecode_0_b2=1.000 +shapecode_0_a2=0.010 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ang=time; +shape_0_per_frame2=rad=rad+(treb*.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.300 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=x=x-(bass*.05); +shape_1_per_frame2=y=y-(treb*.02)+(sin(time)*.05); +shape_1_per_frame3=rad=rad+treb*.1; +shape_1_per_frame4=g=treb*.5; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.350 +shapecode_2_y=0.500 +shapecode_2_rad=0.66231 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.55045 +shapecode_2_r=0.400 +shapecode_2_g=0.800 +shapecode_2_b=0.900 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=0.500 +shapecode_3_r2=0.800 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad=mid_att*.07; +per_frame_1=sx=bass; +per_frame_2=wave_r=treb*.5; +per_frame_3=wave_g=wave_r; +per_frame_4=wave_b=1; +per_frame_5=echo_zoom=echo_zoom+(above(bass,1.3)*bass*.1); +per_pixel_1=rot=(ang*sin(time)*.02); +per_pixel_2=zoom=zoom+(above(y,.4)*below(y,.6)*bass*.1)*rad; +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_fc_main, uv ).xyz; +warp_5=` //ret = lerp(GetBlur1(uv)*1,ret,ret); +warp_6=` // darken (decay) over time +warp_7=` if (ret.x+ret.y+ret.z < (0+((mid+bass+treb)/3)*.3)){ +warp_8=` ret.x = ret.x+.6; +warp_9=` ret.y = ret.y+.6; +warp_10=` ret.z = ret.z+.6; +warp_11=` }else{ +warp_12=` ret = (ret - .005)*0.99; //or try: ret -= 0.004; +warp_13=` } +warp_14=`} diff --git a/presets/presets_tryptonaut/suksma - flexi - lorenz chaser - heretical tribal necklace.milk b/presets/presets_tryptonaut/suksma - flexi - lorenz chaser - heretical tribal necklace.milk new file mode 100755 index 0000000000..2a9454f248 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - flexi - lorenz chaser - heretical tribal necklace.milk @@ -0,0 +1,656 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=2.713 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=1.200 +fModWaveAlphaEnd=1.200 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.440 +wave_g=0.400 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=495 +wavecode_0_sep=4 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=100.00000 +wavecode_0_smoothing=1.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.210 +wave_0_init1=t2 = 0; +wave_0_init2=t3 = 0; +wave_0_init3=t4 = 0; +wave_0_init4=ab = 1; +wave_0_per_point1=// lorenz-attractor calc +wave_0_per_point2=xx1 = if(equal(sample,0),q11,xx1); +wave_0_per_point3=yy1 = if(equal(sample,0),q12,yy1); +wave_0_per_point4=zz1 = if(equal(sample,0),q13,zz1); +wave_0_per_point5=dx1 = q14*(yy1-xx1); +wave_0_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_0_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_0_per_point8=xx1 = xx1 + q17*dx1; +wave_0_per_point9=yy1 = yy1 + q17*dy1; +wave_0_per_point10=zz1 = zz1 + q17*dz1; +wave_0_per_point11= +wave_0_per_point12=// 3D model coordinates +wave_0_per_point13=my_x = xx1*0.1; +wave_0_per_point14=my_y = yy1*0.1; +wave_0_per_point15=my_z = zz1*0.1 - 3; +wave_0_per_point16= +wave_0_per_point17= +wave_0_per_point18=d = 5; // distance of the camera (on the z-axis) to the origin +wave_0_per_point19=zoom = 0.4; +wave_0_per_point20= +wave_0_per_point21=// solid angles +wave_0_per_point22=w1 = q2; +wave_0_per_point23=w2 = q3; +wave_0_per_point24=w3 = q4; +wave_0_per_point25= +wave_0_per_point26=// rotations +wave_0_per_point27=x1 = cos(w1)*my_x + sin(w1)*my_y; +wave_0_per_point28=y1 = -sin(w1)*my_x + cos(w1)*my_y; +wave_0_per_point29=z1 = my_z; +wave_0_per_point30= +wave_0_per_point31=x2 = cos(w2)*x1 + sin(w2)*z1; +wave_0_per_point32=z2 = -sin(w2)*x1 + cos(w2)*z1; +wave_0_per_point33=y2 = y1; +wave_0_per_point34= +wave_0_per_point35=y3 = cos(w3)*y2 + sin(w3)*z2; +wave_0_per_point36=z3 = -sin(w3)*y2 + cos(w3)*z2; +wave_0_per_point37=x3 = x2; +wave_0_per_point38= +wave_0_per_point39=// perspective calculation +wave_0_per_point40= +wave_0_per_point41=l = sqrt(x3*x3 + y3*y3); +wave_0_per_point42=w = atan2(x3,y3); +wave_0_per_point43=p = tan(asin(1) + atan2(d+z3,l)); +wave_0_per_point44=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +wave_0_per_point45= +wave_0_per_point46=my_x = zoom*sin(w)*p; +wave_0_per_point47=my_y = zoom*cos(w)*p; +wave_0_per_point48= +wave_0_per_point49=x = 0.5 + my_x; +wave_0_per_point50=y = 0.5 + my_y; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=xx1 = if(equal(sample,0),q11,xx1); +wave_1_per_point2=yy1 = if(equal(sample,0),q12,yy1); +wave_1_per_point3=zz1 = if(equal(sample,0),q13,zz1); +wave_1_per_point4= +wave_1_per_point5=dx1 = q14*(yy1-xx1); +wave_1_per_point6=dy1 = xx1*(q15-zz1)-yy1; +wave_1_per_point7=dz1 = xx1*yy1-q16*zz1; +wave_1_per_point8=xx1 = xx1 + q17*dx1; +wave_1_per_point9=yy1 = yy1 + q17*dy1; +wave_1_per_point10=zz1 = zz1 + q17*dz1; +wave_1_per_point11= +wave_1_per_point12=my_x = xx1*0.02; +wave_1_per_point13=my_y = yy1*0.02; +wave_1_per_point14=my_z = zz1*0.02; +wave_1_per_point15= +wave_1_per_point16=x = 0.5 + my_x; +wave_1_per_point17=y = 0.5 + my_y; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=3 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=179 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.20065 +shapecode_0_ang=0.75398 +shapecode_0_tex_ang=3.14159 +shapecode_0_tex_zoom=0.99979 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=0.500 +shapecode_0_border_b=0.150 +shapecode_0_border_a=1.000 +shape_0_per_frame1=//lorenz-attractor calc +shape_0_per_frame2=xx1 = if(equal(instance,0),q11,xx1); +shape_0_per_frame3=yy1 = if(equal(instance,0),q12,yy1); +shape_0_per_frame4=zz1 = if(equal(instance,0),q13,zz1); +shape_0_per_frame5= +shape_0_per_frame6=dx1 = q14*(yy1-xx1); +shape_0_per_frame7=dy1 = xx1*(q15-zz1)-yy1; +shape_0_per_frame8=dz1 = xx1*yy1-q16*zz1; +shape_0_per_frame9=dd = sqrt(dx1*dx1+dy1*dy1+dz1*dz1); +shape_0_per_frame10=xx1 = xx1 + q17*dx1/dd; +shape_0_per_frame11=yy1 = yy1 + q17*dy1/dd; +shape_0_per_frame12=zz1 = zz1 + q17*dz1/dd; +shape_0_per_frame13= +shape_0_per_frame14= +shape_0_per_frame15=// 3D object model coordinates +shape_0_per_frame16=my_x = xx1*0.1; +shape_0_per_frame17=my_y = yy1*0.1; +shape_0_per_frame18=my_z = zz1*0.1 - 3; +shape_0_per_frame19= +shape_0_per_frame20= +shape_0_per_frame21=d = 5; // camera distance +shape_0_per_frame22=zoom = 0.66; +shape_0_per_frame23= +shape_0_per_frame24=// solid angles +shape_0_per_frame25=w1 = q3; +shape_0_per_frame26=w2 = q4; +shape_0_per_frame27=w3 = q5; +shape_0_per_frame28= +shape_0_per_frame29=// 3D rotation +shape_0_per_frame30=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame31=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame32=z1 = my_z; +shape_0_per_frame33= +shape_0_per_frame34=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame35=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame36=y2 = y1; +shape_0_per_frame37= +shape_0_per_frame38=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame39=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame40=x3 = x2; +shape_0_per_frame41= +shape_0_per_frame42=// perspective calculation +shape_0_per_frame43= +shape_0_per_frame44=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame45=w = atan2(x3,y3); +shape_0_per_frame46=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame47=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame48= +shape_0_per_frame49=my_x = zoom*sin(w)*p; +shape_0_per_frame50=my_y = zoom*cos(w)*p; +shape_0_per_frame51= +shape_0_per_frame52=x = 0.5 + my_x; +shape_0_per_frame53=y = 0.5 + my_y; +shape_0_per_frame54= +shape_0_per_frame55=rad = rad/d; +shape_0_per_frame56=ang = ang-instance/num_inst*asin(1)*8; +shape_0_per_frame57=r=int(rand(30))/30+instance-instance; +shape_0_per_frame58=g=int(rand(30))/30+instance-instance; +shape_0_per_frame59=b=int(rand(30))/30+instance-instance; +shape_0_per_frame60=r2=int(rand(30))/30+instance-instance; +shape_0_per_frame61=g2=int(rand(30))/30+instance-instance; +shape_0_per_frame62=b2=int(rand(30))/30+instance-instance; +shape_0_per_frame63=border_r=int(rand(30))/30+instance-instance; +shape_0_per_frame64=border_g=int(rand(30))/30+instance-instance; +shape_0_per_frame65=border_b=int(rand(30))/30+instance-instance; +shape_0_per_frame66= +shape_0_per_frame67=a=int(rand(30))/30+instance-instance; +shape_0_per_frame68=a2=int(rand(30))/30+instance-instance; +shape_0_per_frame69=border_a=int(rand(30))/30+instance-instance; +shape_0_per_frame70=sides=int(rand(30))+instance-instance; +shape_0_per_frame71=rad=int(rand(30))/500+instance-instance; +shape_0_per_frame72= +shapecode_1_enabled=0 +shapecode_1_sides=12 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=512 +shapecode_1_x=0.500 +shapecode_1_y=0.550 +shapecode_1_rad=0.09860 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.78740 +shapecode_1_r=0.200 +shapecode_1_g=0.030 +shapecode_1_b=0.550 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=started = 0; +shape_1_init2=t1 = 0.412; //seeds for pseudo random generator +shape_1_init3=t2 = 0.4563; +shape_1_init4=t3 = 0.6452; +shape_1_init5=t4 = 0.2565; +shape_1_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_1_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_1_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_1_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_1_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_1_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_1_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_1_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_1_per_frame9=t = .6; +shape_1_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_1_per_frame11=t = t + rnd2*0.1; +shape_1_per_frame12=wh = rnd4*asin(1)*4; +shape_1_per_frame13=wv = 0.25 + rnd3*0.1; +shape_1_per_frame14= +shape_1_per_frame15=d = 6; // makes the perspective impact +shape_1_per_frame16=zoom = 1; +shape_1_per_frame17=l = 1; +shape_1_per_frame18= +shape_1_per_frame19=// Kardan angles +shape_1_per_frame20= +shape_1_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_1_per_frame22=w2 = q4; // rotation around vertical axis +shape_1_per_frame23=w3 = q5; // rotation around horizontal axis +shape_1_per_frame24= +shape_1_per_frame25= +shape_1_per_frame26=// definition of the 3D shape +shape_1_per_frame27= +shape_1_per_frame28=i = instance; +shape_1_per_frame29= +shape_1_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*2; +shape_1_per_frame31=my_z = -(-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*2; +shape_1_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*2; +shape_1_per_frame33= +shape_1_per_frame34= +shape_1_per_frame35= +shape_1_per_frame36=// 3D rotations +shape_1_per_frame37= +shape_1_per_frame38=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_1_per_frame39=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_1_per_frame40=z1 = my_z; +shape_1_per_frame41= +shape_1_per_frame42=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_1_per_frame43=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_1_per_frame44=y2 = y1; +shape_1_per_frame45= +shape_1_per_frame46=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_1_per_frame47=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_1_per_frame48=x3 = x2; +shape_1_per_frame49= +shape_1_per_frame50=// perspective calculation +shape_1_per_frame51= +shape_1_per_frame52=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_1_per_frame53=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_1_per_frame54= +shape_1_per_frame55=rad = rad/d; +shape_1_per_frame56=my_x = zoom*sin(atan2(x3,y3))*p; +shape_1_per_frame57=my_y = zoom*cos(atan2(x3,y3))*p; +shape_1_per_frame58= +shape_1_per_frame59=x = 0.5 + my_x; +shape_1_per_frame60=y = 0.5 + my_y; +shape_1_per_frame61= +shape_1_per_frame62=x = 0.5 + (x-0.5)/q2; +shape_1_per_frame63=y = 0.5 + (y-0.5)/q1; +shapecode_2_enabled=0 +shapecode_2_sides=12 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=512 +shapecode_2_x=0.500 +shapecode_2_y=0.550 +shapecode_2_rad=0.26670 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.78740 +shapecode_2_r=0.000 +shapecode_2_g=0.100 +shapecode_2_b=0.550 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=started = 0; +shape_2_init2=t1 = 0.412; //seeds for pseudo random generator +shape_2_init3=t2 = 0.4563; +shape_2_init4=t3 = 0.6452; +shape_2_init5=t4 = 0.2565; +shape_2_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_2_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_2_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_2_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_2_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_2_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_2_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_2_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_2_per_frame9=t = .6; +shape_2_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_2_per_frame11=t = t + rnd2*0.1; +shape_2_per_frame12=wh = rnd4*asin(1)*4; +shape_2_per_frame13=wv = 0.25 + rnd3*0.1; +shape_2_per_frame14= +shape_2_per_frame15=d = 6; // makes the perspective impact +shape_2_per_frame16=zoom = 1; +shape_2_per_frame17=l = 1; +shape_2_per_frame18= +shape_2_per_frame19=// Kardan angles +shape_2_per_frame20= +shape_2_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_2_per_frame22=w2 = q4; // rotation around vertical axis +shape_2_per_frame23=w3 = q5; // rotation around horizontal axis +shape_2_per_frame24= +shape_2_per_frame25= +shape_2_per_frame26=// definition of the 3D shape +shape_2_per_frame27= +shape_2_per_frame28=i = instance; +shape_2_per_frame29= +shape_2_per_frame30=my_x = t *(cos(wh)*sin(wv)*l)*4; +shape_2_per_frame31=my_z = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*4; +shape_2_per_frame32=my_y = t*(sin(wh)*sin(wv)*l)*4; +shape_2_per_frame33= +shape_2_per_frame34= +shape_2_per_frame35=// 3D rotations +shape_2_per_frame36= +shape_2_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_2_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_2_per_frame39=z1 = my_z; +shape_2_per_frame40= +shape_2_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_2_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_2_per_frame43=y2 = y1; +shape_2_per_frame44= +shape_2_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_2_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_2_per_frame47=x3 = x2; +shape_2_per_frame48= +shape_2_per_frame49=// perspective calculation +shape_2_per_frame50= +shape_2_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_2_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_2_per_frame53= +shape_2_per_frame54=rad = rad/d; +shape_2_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_2_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_2_per_frame57= +shape_2_per_frame58=x = 0.5 + my_x; +shape_2_per_frame59=y = 0.5 + my_y; +shape_2_per_frame60= +shape_2_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_2_per_frame62=y = 0.5 + (y-0.5)/q1; +shapecode_3_enabled=0 +shapecode_3_sides=12 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=512 +shapecode_3_x=0.500 +shapecode_3_y=0.550 +shapecode_3_rad=0.05012 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.78740 +shapecode_3_r=0.000 +shapecode_3_g=0.020 +shapecode_3_b=0.110 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=started = 0; +shape_3_init2=t1 = 0.412; //seeds for pseudo random generator +shape_3_init3=t2 = 0.4563; +shape_3_init4=t3 = 0.6452; +shape_3_init5=t4 = 0.2565; +shape_3_per_frame1=rnd1 = if(equal(instance,0),t1,rnd1); +shape_3_per_frame2=rnd2 = if(equal(instance,0),t2,rnd2); +shape_3_per_frame3=rnd3 = if(equal(instance,0),t3,rnd3); +shape_3_per_frame4=rnd4 = if(equal(instance,0),t4,rnd4); +shape_3_per_frame5=rnd1 = 4*rnd1*(1-rnd1); +shape_3_per_frame6=rnd2 = 4*rnd2*(1-rnd2); +shape_3_per_frame7=rnd3 = 4*rnd3*(1-rnd3); +shape_3_per_frame8=rnd4 = 4*rnd4*(1-rnd4); +shape_3_per_frame9=t = .6; +shape_3_per_frame10=t = (rnd1+time*t) - int(rnd1+time*t); +shape_3_per_frame11=t = t + rnd2*0.1; +shape_3_per_frame12=wh = rnd4*asin(1)*4; +shape_3_per_frame13=wv = 0.25 + rnd3*0.1; +shape_3_per_frame14= +shape_3_per_frame15=d = 1.4; // makes the perspective impact +shape_3_per_frame16=zoom = 1; +shape_3_per_frame17=l = 1; +shape_3_per_frame18= +shape_3_per_frame19=// Kardan angles +shape_3_per_frame20= +shape_3_per_frame21=w1 = q3; // first rotation: clockwise in the desktop pane +shape_3_per_frame22=w2 = q4; // rotation around vertical axis +shape_3_per_frame23=w3 = q5; // rotation around horizontal axis +shape_3_per_frame24= +shape_3_per_frame25= +shape_3_per_frame26=// definition of the 3D shape +shape_3_per_frame27= +shape_3_per_frame28=i = instance; +shape_3_per_frame29= +shape_3_per_frame30=my_x = t *(cos(wh)*sin(wv)*l); +shape_3_per_frame31=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_3_per_frame32=my_z = t*(sin(wh)*sin(wv)*l); +shape_3_per_frame33= +shape_3_per_frame34= +shape_3_per_frame35=// 3D rotations +shape_3_per_frame36= +shape_3_per_frame37=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame38=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame39=z1 = my_z; +shape_3_per_frame40= +shape_3_per_frame41=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame42=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame43=y2 = y1; +shape_3_per_frame44= +shape_3_per_frame45=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame46=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame47=x3 = x2; +shape_3_per_frame48= +shape_3_per_frame49=// perspective calculation +shape_3_per_frame50= +shape_3_per_frame51=p = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3))); +shape_3_per_frame52=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame53= +shape_3_per_frame54=rad = rad/d; +shape_3_per_frame55=my_x = zoom*sin(atan2(x3,y3))*p; +shape_3_per_frame56=my_y = zoom*cos(atan2(x3,y3))*p; +shape_3_per_frame57= +shape_3_per_frame58=x = 0.5 + my_x; +shape_3_per_frame59=y = 0.5 + my_y; +shape_3_per_frame60= +shape_3_per_frame61=x = 0.5 + (x-0.5)/q2; +shape_3_per_frame62=y = 0.5 + (y-0.5)/q1; +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=q1 = aspectx; +per_frame_2=q2 = aspecty; +per_frame_3=wave_a = 0; +per_frame_4=v = 0.5; +per_frame_5=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_6=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_7=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_8= +per_frame_9=n = n + j1*0.0052; +per_frame_10=n1 = n1 + j2*0.0052; +per_frame_11=n2 = n2 + j3*0.0052; +per_frame_12= +per_frame_13= +per_frame_14=q3 = n*0.01; // passing the 3 room angles +per_frame_15=q4 = n1*0.01; +per_frame_16=q5 = n2*0.01; +per_frame_17= +per_frame_18= +per_frame_19=// lorenz-attractor calc +per_frame_20=a = 10; +per_frame_21=b = 28; +per_frame_22=c = 8/3; +per_frame_23=dx1 = a*(y1-x1); +per_frame_24=dy1 = x1*(b-z1)-y1; +per_frame_25=dz1 = x1*y1-c*z1; +per_frame_26=d = 1; +per_frame_27=dd = sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); +per_frame_28=x1 = x1 + d*dx1/dd; +per_frame_29=y1 = y1 + d*dy1/dd; +per_frame_30=z1 = z1 + d*dz1/dd; +per_frame_31= +per_frame_32=q11 = x1; +per_frame_33=q12 = y1; +per_frame_34=q13 = z1; +per_frame_35=q14 = a; +per_frame_36=q15 = b; +per_frame_37=q16 = c; +per_frame_38=q17 = d; +per_pixel_1=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_2=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_3= +per_pixel_4=dir = bass; +per_pixel_5= +per_pixel_6=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_7= +per_pixel_8=x1 = if( above(d,0.3),0, sin(y-cy1)*0.05*dir); +per_pixel_9=y1 = if( above(d,0.3),0, -sin(x-cx1)*0.05*dir); +per_pixel_10= +per_pixel_11= +per_pixel_12=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_13=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_14= +per_pixel_15=dir = -mid*2; +per_pixel_16= +per_pixel_17=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_18= +per_pixel_19=x2 = if( above(d,0.2),0, sin(y-cy1)*0.05*dir); +per_pixel_20=y2 = if( above(d,0.2),0, -sin(x-cx1)*0.05*dir); +per_pixel_21= +per_pixel_22=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_23=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_24= +per_pixel_25=dir = treb*3; +per_pixel_26= +per_pixel_27=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_28= +per_pixel_29=x3 = if( above(d,0.1),0, sin(y-cy1)*0.05*dir); +per_pixel_30=y3 = if( above(d,0.1),0, -sin(x-cx1)*0.05*dir); +per_pixel_31= +per_pixel_32= +per_pixel_33=dx = dx+x1+x2+x3; +per_pixel_34=dy = dy+y1+y2+y3; +warp_1=`shader_body +warp_2=`{ +warp_3=`ret = GetPixel(uv)*0.7; +warp_4=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,uv.y); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(bass,mid,treb)*0.8; +comp_10=`} diff --git a/presets/presets_tryptonaut/suksma - gaeomaentaec - log smell 2 - steaming wienies2.milk b/presets/presets_tryptonaut/suksma - gaeomaentaec - log smell 2 - steaming wienies2.milk new file mode 100755 index 0000000000..51e300ff45 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - gaeomaentaec - log smell 2 - steaming wienies2.milk @@ -0,0 +1,579 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.980 +fDecay=0.500 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.401 +fWaveScale=3.177 +fWaveSmoothing=0.000 +fWaveParam=-0.400 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=2.289 +fWarpScale=5.472 +fZoomExponent=0.01000 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.85660 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.300 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=time*0.4 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=//a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=//b=b+pow(1-sample,2)*0.3; +wave_0_per_point67= +wave_0_per_point68=x = 0.5 + (x-0.5)/q1; +wave_0_per_point69=y = 0.5 + (y-0.5)/q2 + 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=0.300 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=time*0.4 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=//a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=//b=b+pow(1-sample,2)*0.3; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=x = 0.5 + (x-0.5)/q1; +wave_1_per_point72=y = 0.5 + (y-0.5)/q2 + 0.1; +wave_1_per_point73= +wavecode_2_enabled=0 +wavecode_2_samples=61 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=2.44415 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point3= +wave_2_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wavecode_3_enabled=0 +wavecode_3_samples=61 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point3= +wave_3_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.550 +shapecode_0_rad=0.06689 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.78748 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1= +shape_0_per_frame2= +shape_0_per_frame3=d = 1.4; // makes the perspective impact +shape_0_per_frame4=zoom = 0.7; +shape_0_per_frame5= +shape_0_per_frame6= +shape_0_per_frame7=// Kardan angles +shape_0_per_frame8= +shape_0_per_frame9=w1 = q3; // first rotation: clockwise in the desktop pane +shape_0_per_frame10=w2 = q4; // rotation around vertical axis +shape_0_per_frame11=w3 = q5; // rotation around horizontal axis +shape_0_per_frame12= +shape_0_per_frame13= +shape_0_per_frame14=// definition of the 3D shape +shape_0_per_frame15= +shape_0_per_frame16=i = instance; +shape_0_per_frame17= +shape_0_per_frame18=my_x = (i % 8)/8 - 0.5; +shape_0_per_frame19=my_y = (i % 64 - (i % 8))/64 - 0.5; +shape_0_per_frame20=my_z = (i - (i % 64 - (i % 8))/64)/512 - 0.5; +shape_0_per_frame21= +shape_0_per_frame22= +shape_0_per_frame23=// 3D rotations +shape_0_per_frame24= +shape_0_per_frame25=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame26=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame27=z1 = my_z; +shape_0_per_frame28= +shape_0_per_frame29=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame30=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame31=y2 = y1; +shape_0_per_frame32= +shape_0_per_frame33=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame34=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame35=x3 = x2; +shape_0_per_frame36= +shape_0_per_frame37=// perspective calculation +shape_0_per_frame38= +shape_0_per_frame39=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame40=w = atan2(x3,y3); +shape_0_per_frame41=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame42=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame43= +shape_0_per_frame44=rad = rad/d; +shape_0_per_frame45=my_x = zoom*sin(w)*p; +shape_0_per_frame46=my_y = zoom*cos(w)*p; +shape_0_per_frame47= +shape_0_per_frame48=x = 0.5 + my_x; +shape_0_per_frame49=y = 0.5 + my_y; +shape_0_per_frame50= +shape_0_per_frame51=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame52=y = 0.5 + (y-0.5)/q1; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.520 +shapecode_1_y=0.410 +shapecode_1_rad=0.52160 +shapecode_1_ang=0.18850 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.750 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.480 +shapecode_2_y=0.410 +shapecode_2_rad=0.61162 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.750 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att*treb_att*mid_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = vvb*10;//0.5 + vb - vvb; +per_frame_12=q2 = vvm*10;//0.5 + vm - vvm; +per_frame_13=q3 = vvt*10;//0.5 + vt - vvt; +per_frame_14=v=2; +per_frame_15=bb = bb - vvb*v; +per_frame_16=mm = mm - vvm*v; +per_frame_17=tt = tt - vvt*v; +per_frame_18=q4 = -bb; +per_frame_19=q5 = -mm; +per_frame_20=q6 = -tt; +per_frame_21=q4=(q1+q2+q3)*5; +per_frame_22=q5=(q1+q2+q3)*5; +per_frame_23=q6=(q1+q2+q3)*5; +per_frame_24=q7=(q1+q2+q3)*5; +per_frame_25=q8=(q1+q2+q3)*5; +per_frame_26=q9=(q1+q2+q3)*5; +per_frame_27=q10=(q1+q2+q3)*5; +per_frame_28=q11=(q1+q2+q3)*5; +per_frame_29=q12=(q1+q2+q3)*5; +per_frame_30=q13=(q1+q2+q3)*5; +per_frame_31=q14=(q1+q2+q3)*5; +per_frame_32=q15=(q1+q2+q3)*5; +per_frame_33=q16=(q1+q2+q3)*5; +per_frame_34=q17=(q1+q2+q3)*5; +per_frame_35=q18=(q1+q2+q3)*5; +per_frame_36=q19=(q1+q2+q3)*5; +per_frame_37=q20=(q1+q2+q3)*5; +per_frame_38=q21=(q1+q2+q3)*5; +per_frame_39=q22=(q1+q2+q3)*5; +per_frame_40=q23=(q1+q2+q3)*5; +per_frame_41=q24=(q1+q2+q3)*5; +per_frame_42=q25=(q1+q2+q3)*5; +per_frame_43=q26=(q1+q2+q3)*5; +per_frame_44=q27=(q1+q2+q3)*5; +per_frame_45=q28=(q1+q2+q3)*5; +per_frame_46=q29=(q1+q2+q3)*5; +per_frame_47=q30=(q1+q2+q3)*5; +per_frame_48=q31=(q1+q2+q3)*5; +per_frame_49=q32=(q1+q2+q3)*5; +per_frame_50= +per_frame_51= +per_frame_52=wave_a = 0; +per_frame_53=//q1 =aspectx; +per_frame_54=//q2 = aspecty; +per_frame_55= +per_frame_56= +per_frame_57=b = b + bass*bass*0.5; +per_frame_58=m = m + mid*mid*0.5; +per_frame_59=t = t + treb*treb*0.5; +per_frame_60= +per_frame_61=q3 = b*0.012; +per_frame_62=q4 = m*0.012; +per_frame_63=q5 = t*0.012; +per_frame_64=q20=bass+treb+mid; +warp_1=`float3 color, mus; +warp_2=`float dx,dy; +warp_3=` +warp_4=`shader_body { +warp_5=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_6=` +warp_7=`float2 uv1 = (uv-.5); +warp_8=`float2 uv6 = uv1; +warp_9=` +warp_10=`float rota = lum(tex2D (sampler_noise_hq,uv/4))*q31; +warp_11=` +warp_12=`uv6 = mul(uv1,float2x2(cos(rota),-sin(rota),sin(rota),cos(rota))); +warp_13=`uv6 += sin(q32*uv1); +warp_14=`mus = .2/(sqrt(uv6.x)+.2); +warp_15=` +warp_16=`mus *= float3 (1.1,1,.95); +warp_17=`mus *= .9+.1*tex2D (sampler_noise_hq,uv); +warp_18=` +warp_19=`float3 blur = GetBlur1(frac(uv)); +warp_20=` +warp_21=`float2 hor = float2 (0.005,0); +warp_22=`float2 ver = float2 (0,.005); +warp_23=` +warp_24=`float dx = lum(tex2D(sampler_main,uv+hor) +warp_25=` - tex2D(sampler_main,uv-hor)); +warp_26=`float dy = lum(tex2D(sampler_main,uv+ver) +warp_27=` - tex2D(sampler_main,uv-ver)); +warp_28=` +warp_29=` +warp_30=`float2 zz = float2 (dx,dy); +warp_31=` +warp_32=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_33=`float3 crisp2 = tex2D(sampler_main,uv); +warp_34=`crisp += crisp2/2; +warp_35=`crisp *= .67; +warp_36=`crisp +=.08 * mus - length(zz)*blur; +warp_37=` +warp_38=`float3 ret1 = crisp - lum(blur)*.04; +warp_39=`ret = ret1 * .99 - .04 ; +warp_40=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*6; +comp_7=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_8=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_9=`float2 uv_y = uv-0.25*(float2(lum(dx),lum(dy))); +comp_10=` +comp_11=`ret = .25*lum(saturate(2*GetBlur3(uv))); +comp_12=`ret -= .8*lum(saturate(20*(0.6*GetBlur2(uv)-.01)-2)); +comp_13=`ret = ret + lum(saturate(30*((GetPixel(uv)+GetBlur1(uv)*.15)-.01)-2))-.1; +comp_14=`ret += .55; +comp_15=`ret = lerp(ret,ret*(GetBlur3(uv_y)-GetBlur1(uv_y)),pow(hue_shader,ret+q20)); +comp_16=` +comp_17=`float3 ret2 = -.5*lum(GetBlur3(uv_y)); +comp_18=`ret2 += .8*GetBlur1(uv_y); +comp_19=`ret2 = ret-.9*GetPixel(uv_y)-.1; +comp_20=`ret2 -= .75; +comp_21=`ret2 = lerp(ret2,1.2*ret2*(GetBlur3(uv)-GetBlur1(uv)),pow(hue_shader.zxy,ret)); +comp_22=` +comp_23=`ret = abs(ret-1.2*ret2); +comp_24=`//ret = ret2; +comp_25=`ret *= ret; +comp_26=` +comp_27=`} diff --git a/presets/presets_tryptonaut/suksma - greaezequescent red-eyed black goatz.milk b/presets/presets_tryptonaut/suksma - greaezequescent red-eyed black goatz.milk new file mode 100755 index 0000000000..6d9cb2544f --- /dev/null +++ b/presets/presets_tryptonaut/suksma - greaezequescent red-eyed black goatz.milk @@ -0,0 +1,536 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.300 +nMotionVectorsX=64.000 +nMotionVectorsY=4.800 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.000 +mv_g=0.500 +mv_b=1.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=st = sample*4; +wave_1_per_point2=stt = st - int(st); +wave_1_per_point3= +wave_1_per_point4=x = stt; +wave_1_per_point5=x = if( above(st,1) , 1 , x ); +wave_1_per_point6=x = if( above(st,2) , 1-stt , x ); +wave_1_per_point7=x = if( above(st,3) , 0 , x ); +wave_1_per_point8= +wave_1_per_point9=y = 0; +wave_1_per_point10=y = if( above(st,1) , stt , y ); +wave_1_per_point11=y = if( above(st,2) , 1 , y ); +wave_1_per_point12=y = if( above(st,3) , 1-stt , y ); +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=phs=time*0.26; +wave_1_per_point16= +wave_1_per_point17=//w=sin(sample*6.283 * 6 + time*0.5) * 0.5 + 0.6; +wave_1_per_point18=w = above( sin(time*3) , 0); +wave_1_per_point19= +wave_1_per_point20= +wave_1_per_point21=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*1.5; +wave_1_per_point22=r=if( above(r,1) , 2-r , r ) * w; +wave_1_per_point23=r=1- pow(1-r,2); +wave_1_per_point24= +wave_1_per_point25=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*1.5; +wave_1_per_point26=g=if( above(g,1) , 2-g , g ) * w; +wave_1_per_point27=g=1- pow(1-g,2); +wave_1_per_point28= +wave_1_per_point29=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*1.5; +wave_1_per_point30=b=if( above(b,1) , 2-b , b ) * w; +wave_1_per_point31=b=1- pow(1-b,2); +wave_1_per_point32= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wave_2_per_point81=phs=time*0.3; +wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; +wave_2_per_point83=r=if( above(r,1) , 2-r , r ); +wave_2_per_point84= +wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; +wave_2_per_point86=g=if( above(g,1) , 2-g , g ); +wave_2_per_point87= +wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; +wave_2_per_point89=b=if( above(b,1) , 2-b , b ); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.780 +shapecode_0_y=0.600 +shapecode_0_rad=0.97631 +shapecode_0_ang=0.56549 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.65721 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=tm=int(time*0.25)*10; +shape_0_per_frame2= +shape_0_per_frame3=ag = sin(tm * 0.5); +shape_0_per_frame4= +shape_0_per_frame5= +shape_0_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; +shape_0_per_frame7=x=x+xa; +shape_0_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; +shape_0_per_frame9=y=y+ya; +shape_0_per_frame10= +shape_0_per_frame11=ang=ang + ag; +shape_0_per_frame12= +shape_0_per_frame13=tex_zoom = tex_zoom + ag*0.5; +shape_0_per_frame14= +shape_0_per_frame15=additive= above( sin(time*0.25*8) , 0.98 ); +shape_0_per_frame16= +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.840 +shapecode_1_rad=0.36457 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=4.14146 +shapecode_1_r=0.250 +shapecode_1_g=0.050 +shapecode_1_b=0.000 +shapecode_1_a=0.200 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.400 +shapecode_2_y=0.700 +shapecode_2_rad=1.08925 +shapecode_2_ang=0.81681 +shapecode_2_tex_ang=3.14159 +shapecode_2_tex_zoom=0.50422 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.700 +shapecode_2_g2=0.700 +shapecode_2_b2=0.700 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tm=int(time*0.25)*10; +shape_2_per_frame2= +shape_2_per_frame3=ag = sin(tm * 0.5); +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; +shape_2_per_frame7=x=x+xa; +shape_2_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; +shape_2_per_frame9=y=y+ya; +shape_2_per_frame10= +shape_2_per_frame11=ang=ang + ag; +shape_2_per_frame12= +shape_2_per_frame13= +shape_2_per_frame14=tex_zoom = tex_zoom + ag*0.2; +shape_2_per_frame15= +shape_2_per_frame16= +shape_2_per_frame17=additive= above( sin(time*0.25*4) , 0.985 ); +shape_2_per_frame18= +shape_2_per_frame19=a = 1 - additive*0.5; +shape_2_per_frame20= +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.28428 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.98776 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=hld = hld * dec_med + q24; +per_frame_22=q25 = min(hld,1); +per_frame_23=monitor = q25; +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_28=rott = p2 * 3.14159265359/2; +per_frame_29= +per_frame_30=q27 = index; +per_frame_31=q28 = index2; +per_frame_32= +per_frame_33=q1 = cos(rott); +per_frame_34=q2 = sin(rott); +per_frame_35=q3 = -q2; +per_frame_36=q4 = q1; +per_frame_37= +per_frame_38=rota = rota * dec_mde + q1 * bnot(index2) * (1-dec_med); +per_frame_39=q5 = 2*rota; +per_frame_40= +per_pixel_1=rot = q5*(sin(q22*4*(1-rad))); +per_pixel_2=zoom = 1.08 ; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .004*GetBlur1(uv)*float2 (0,1);//rs/20; +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv1*18*rand_frame); +warp_16=`mus = .051/(length(uv6)); +warp_17=`mus *= float3 (1,.8,.5); +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .15*mus; +warp_24=`float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=` +comp_2=`float2 rs, rs0, uv2, uv3,uv4; +comp_3=`float3 noise, ret1; +comp_4=` +comp_5=`shader_body { +comp_6=`uv.y = uv.y-.2*q1; +comp_7=` +comp_8=`float2 uv1 = (uv-.5 )*aspect.xy; +comp_9=` +comp_10=`float z = .1/uv1.y/uv1.x; +comp_11=`rs0.x = uv1.x*z; +comp_12=`rs0.y = z; +comp_13=`rs = rs0 + time/2; +comp_14=` +comp_15=`//uv1 = mul(uv1,float2x2(_qa)); +comp_16=`noise = lum(tex2D(sampler_noise_hq,rs/2)); +comp_17=`noise = noise-.56; +comp_18=` +comp_19=`float3 mask = saturate(12*(uv1.y)) ; +comp_20=` +comp_21=`///////////// +comp_22=` +comp_23=`uv2 = 2*uv1 * abs(pow(sqrt(uv1.x),.3+q10)) ; +comp_24=` +comp_25=`uv4 = 8*uv1 * (pow(abs(uv1.x),.4+q25))+float2(0.5,.5+time/8) ; +comp_26=` +comp_27=`float mask2 = pow(1-rad,8); +comp_28=`mask2 = pow(1-length(2*uv1),8); +comp_29=` +comp_30=`uv3 = frac(uv2-.5-.1*noise*mask); +comp_31=` +comp_32=`float2 hor = float2 (texsize.z,0); +comp_33=`float2 ver = float2 (0, texsize.w); +comp_34=`float dx = lum(GetPixel(uv3+hor) - GetPixel(uv3-hor)); +comp_35=`float dy = lum(GetPixel(uv3+ver) - GetPixel(uv3-ver)); +comp_36=`float2 dz = float2 (dx,dy); +comp_37=` +comp_38=`ret1 = 0 ; +comp_39=`ret1 = GetBlur1(frac(uv3))*0 + GetPixel(uv3); +comp_40=`ret1 *= 1-.5*mask; +comp_41=`////////// +comp_42=` +comp_43=`ret1 *= .2+ bass_att/3; +comp_44=` +comp_45=`float2 uv6 = .3*sin(4*uv1) + dz*8; +comp_46=`float3 mus = ((.06/length(uv6))-.2); +comp_47=` +comp_48=`ret = (1-.5*mask2)*ret1*(1+mus) +comp_49=`+ saturate(q10*(2-8*ret1.r)*mask2*GetPixel(uv4)); +comp_50=`} diff --git a/presets/presets_tryptonaut/suksma - heretical crosscut playpen.milk b/presets/presets_tryptonaut/suksma - heretical crosscut playpen.milk new file mode 100755 index 0000000000..1e0263e6a6 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - heretical crosscut playpen.milk @@ -0,0 +1,369 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.050 +fDecay=0.990 +fVideoEchoZoom=1.008 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.625 +fWaveScale=1.187 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.190 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.850 +mv_r=0.500 +mv_g=0.500 +mv_b=0.500 +mv_a=0.500 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=9 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.12566 +shapecode_0_ang=3.39292 +shapecode_0_tex_ang=0.37680 +shapecode_0_tex_zoom=0.32473 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=0.030 +shapecode_0_border_g=0.670 +shapecode_0_border_b=0.790 +shapecode_0_border_a=1.000 +shape_0_per_frame1=x=x+sin(time*0.9)*.13; +shape_0_per_frame2=y=y+sin(time*0.5)*.16; +shape_0_per_frame3=border_r = q1; +shape_0_per_frame4=border_b = q2; +shape_0_per_frame5=border_g = q3; +shapecode_1_enabled=1 +shapecode_1_sides=3 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.12572 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=0.000 +shapecode_1_border_b=0.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=//: Aderrasi was here too +shape_1_per_frame2=rad = rad -0.2 + 0.2*bass_att;; +shape_1_per_frame3=r = r + 0.25*sin(1.1*time) + 0.2*sin(0.25*time); +shape_1_per_frame4=g = g + 0.25*cos(1.5*time) + 0.22*cos(0.24*time); +shape_1_per_frame5=b = b + 0.25*sin(0.6*time) + 0.27*cos(0.7*time); +shape_1_per_frame6=r2 = 1-abs(r); +shape_1_per_frame7=g2 = 1-abs(g); +shape_1_per_frame8=b2 = 1-abs(b); +shape_1_per_frame9=ang = ang + 3*abs(tan(1*time)); +shape_1_per_frame10=x = x + 0.14*cos(time) + 0.2*sin(0.42*time); +shape_1_per_frame11=y = y + 0.16*sin(1.2*time) + 0.15*sin(0.8*time) + 0.21*cos(0.45*time); +shape_1_per_frame12=border_r = q1; +shape_1_per_frame13=border_b = q2; +shape_1_per_frame14=border_g = q3; +shapecode_2_enabled=1 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.03000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.210 +shapecode_2_g=0.440 +shapecode_2_b=0.230 +shapecode_2_a=1.000 +shapecode_2_r2=0.180 +shapecode_2_g2=1.000 +shapecode_2_b2=0.110 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.150 +shapecode_2_border_g=0.400 +shapecode_2_border_b=0.480 +shapecode_2_border_a=1.000 +shape_2_per_frame1=ang = time*2.4; +shape_2_per_frame2=x = 0.5 + 0.22*cos(time*3.3) + 0.14*cos(time*1.2); +shape_2_per_frame3=y = 0.5 + 0.26*sin(time*3.1) + 0.13*sin(time*1.7); +shape_2_per_frame4=r = 0.5 + 0.5*sin(time*1.013 + 5); +shape_2_per_frame5=g = 0.5 + 0.5*sin(time*1.063 + 2); +shape_2_per_frame6=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_2_per_frame7=r2 = 0.5 + 0.5*sin(time*1.085 + 3); +shape_2_per_frame8=g2 = 0.5 + 0.5*sin(time*1.056+ 1); +shape_2_per_frame9=b2 = 0.5 + 0.5*sin(time*1.038 + 4); +shape_2_per_frame10=border_r = q1; +shape_2_per_frame11=border_b = q2; +shape_2_per_frame12=border_g = q3; +shapecode_3_enabled=1 +shapecode_3_sides=5 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.510 +shapecode_3_y=0.490 +shapecode_3_rad=0.09986 +shapecode_3_ang=0.06283 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=0.460 +shapecode_3_border_g=0.280 +shapecode_3_border_b=0.540 +shapecode_3_border_a=1.000 +shape_3_per_frame1=x = 0.5 + 0.07*cos(q4*0.5) + 0.31*sin(time*3.5); +shape_3_per_frame2=y = 0.5 + 0.07*sin(q4*0.5) + 0.31*cos(time*3.5); +shape_3_per_frame3=r = 0.5 + 0.5*sin(time*1.013 + 2); +shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.863 + 3); +shape_3_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); +shape_3_per_frame6=r2 = 0.5 + 0.5*sin(time*1.185 + 3); +shape_3_per_frame7=g2 = 0.5 + 0.5*sin(time*1.356+ 2); +shape_3_per_frame8=b2 = 0.5 + 0.5*sin(time*0.738 + 4); +shape_3_per_frame9=border_r = q1; +shape_3_per_frame10=border_b = q2; +shape_3_per_frame11=border_g = q3; +per_frame_init_1=vol = 0; p1 = 0; +per_frame_init_2=vx = .2; vy = -0.1; +per_frame_init_3=kx = 0; ky = 0; +per_frame_init_4= +per_frame_1=dec_med = pow (0.96, 30/fps); +per_frame_2=dec_slow = pow (0.999, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%2; +per_frame_10=index3 = (index3 + is_beat*bnot(index) * bnot(index2))%2; +per_frame_11= +per_frame_12=q20 = avg; +per_frame_13=q21 = beat; +per_frame_14=q22 = peak; +per_frame_15=q23 = index; +per_frame_16=q24 = is_beat; +per_frame_17= +per_frame_18=vol = bass_att + treb_att; +per_frame_19=v2 = v2 * dec_med + vol * (1-dec_med) ; +per_frame_20=q26 = max(atan (vol - v2),0); +per_frame_21=q27 = index + 1; +per_frame_22= +per_frame_23=sw = sw*dec_med + (1-dec_med)*(index2%2); +per_frame_24=q28 = sw; +per_frame_25=kiss = kiss*dec_med +per_frame_26= +(1-dec_med)*bnot(index2)*below(index,4); +per_frame_27=q29 = kiss; +per_frame_28= +per_frame_29=k1 = is_beat*bnot(index); +per_frame_30=k2 = is_beat*bnot(index); +per_frame_31=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_32=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_33=rott = p2 * 3.1416/2; +per_frame_34=monitor = k1; +per_frame_35=q1 = cos(rott); +per_frame_36=q2 = sin(rott); +per_frame_37=q3 = -q2; +per_frame_38=q4 = q1; +per_frame_39= +per_frame_40= +per_frame_41=q5 = cos(time/4); +per_frame_42=q6 = -sin(time/4); +per_frame_43=q7 = -q6; +per_frame_44=q8 = q5; +per_frame_45= +per_frame_46=zoom = 1; +per_frame_47=rot = -0; +per_frame_48= +per_frame_49= +per_frame_50=//KUGEL-POS +per_frame_51=dt = .1*30/fps; +per_frame_52=m = 1; //Masse +per_frame_53=//Gravitationszentrum +per_frame_54=x0 = .0; y0 = 0; +per_frame_55= +per_frame_56=ax = -(xk-x0)/m + sign(vx+.001)*dt*bass/40; +per_frame_57=ay = -(yk-y0)/m + sign(vy+.001)*dt*treb/40; +per_frame_58=monitor = index3; +per_frame_59=vx = vx*dec_slow + ax * dt; +per_frame_60=vy = vy*dec_slow + ay * dt; +per_frame_61= +per_frame_62=xk = xk + vx*dt; +per_frame_63=yk = yk + vy*dt; +per_frame_64= +per_frame_65=q9 = xk; q10 = yk; +per_frame_66= +per_frame_67= +per_frame_68= +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`sampler sampler_seaweed; +comp_2=`shader_body +comp_3=`{ +comp_4=`uv = uv + 2*texsize.zw*float2(cos(uv.y*texsize.y/2),sin(uv.x*texsize.x/2)); +comp_5=` +comp_6=` ret = 1.4*pow(saturate(GetBlur1(uv))*((tex2D(sampler_pc_main,uv)-GetBlur3(uv))),0.5); +comp_7=`} diff --git a/presets/presets_tryptonaut/suksma - more pathetic attempts justifying my ignominious end - waning anti-tunneled.milk b/presets/presets_tryptonaut/suksma - more pathetic attempts justifying my ignominious end - waning anti-tunneled.milk new file mode 100755 index 0000000000..966f8f50a9 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - more pathetic attempts justifying my ignominious end - waning anti-tunneled.milk @@ -0,0 +1,436 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=2 +[preset00] +fRating=4.000000 +fGammaAdj=1.000 +fDecay=0.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=1 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.000 +fWaveScale=0.200 +fWaveSmoothing=0.000 +fWaveParam=1.000 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00500 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00180 +wave_r=1.000 +wave_g=0.000 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.800 +ob_b=0.700 +ob_a=0.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.300 +ib_a=0.000 +nMotionVectorsX=1.000 +nMotionVectorsY=1.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1= freqLvl = .49+(value1*((-30-1/((sample)*.9))))*.05;//-10.4*pow(value1,1.81)/pow(value1,1.8)+10.2; +wave_0_per_point2= myAmp = if(below(freqLvl,0.5),freqLvl,0.49); +wave_0_per_point3= myFreq = log10(log10(sample)+3)*1.05+0.37;//13.5*pow(sample,0.01)-12.645; +wave_0_per_point4= myAltFreq = time*0.2+myFreq*04-0.8; +wave_0_per_point5= +wave_0_per_point6= Pi = 3.14159265359; +wave_0_per_point7= Pi23 = 2*Pi*0.33333333333; +wave_0_per_point8= fade = 2*(1-myAmp-.49); +wave_0_per_point9= +wave_0_per_point10= r = (sin(myAltFreq )+1)*0.5*fade; +wave_0_per_point11= g = (sin(myAltFreq-1*Pi23)+1)*0.5*fade; +wave_0_per_point12= b = (sin(myAltFreq-2*Pi23)+1)*0.5*fade; +wave_0_per_point13= x = myAmp; +wave_0_per_point14= y = myFreq; +wave_0_per_point15= +wave_0_per_point16=// x = .97+(value1*((-30-1/((sample)*.5))))*.05; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1= freqLvl = .51-(value2*((-30-1/((sample)*.9))))*.05;//10.4*pow(value2,1.01)/value2-9.2; +wave_1_per_point2= myAmp = if(above(freqLvl,0.5),freqLvl,0.51); +wave_1_per_point3= myFreq = log10(log10(sample)+3)*1.05+0.37; +wave_1_per_point4= myAltFreq = time*0.2+myFreq*04-0.8; +wave_1_per_point5= +wave_1_per_point6= Pi = 3.14159265358; +wave_1_per_point7= Pi23 = 2*Pi*0.33333333333; +wave_1_per_point8= fade = 2.0*(myAmp-.49); +wave_1_per_point9= +wave_1_per_point10= r = (sin(myAltFreq )+1)*0.5*fade; +wave_1_per_point11= g = (sin(myAltFreq-1*Pi23)+1)*0.5*fade; +wave_1_per_point12= b = (sin(myAltFreq-2*Pi23)+1)*0.5*fade; +wave_1_per_point13= x = myAmp; +wave_1_per_point14= y = myFreq; +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1= freqLvl = -10.4*pow(value1,1.81)/pow(value1,1.8)+10.2; +wave_2_per_point2= +wave_2_per_point3= myFreq = log10(log10(sample)+3)*1.05+0.37; +wave_2_per_point4= myAltFreq = time*0.2+myFreq*04-0.8; +wave_2_per_point5= Pi = 3.14159265358; +wave_2_per_point6= Pi23 = 2*Pi*0.33333333333; +wave_2_per_point7= fade = value1*15*(1.1-myFreq); +wave_2_per_point8= r = (sin(myAltFreq )+1)*0.5*fade; +wave_2_per_point9= g = (sin(myAltFreq-1*Pi23)+1)*0.5*fade; +wave_2_per_point10= b = (sin(myAltFreq-2*Pi23)+1)*0.5*fade; +wave_2_per_point11= x = 10.4*pow(value1,1.81)/pow(value1,1.8)-9.7; +wave_2_per_point12= y = myFreq; +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1= freqLvl = 10.4*pow(value1,1.81)/pow(value2,1.8)-9.2; +wave_3_per_point2= +wave_3_per_point3= myFreq = log10(log10(sample)+3)*1.05+0.37; +wave_3_per_point4= myAltFreq = time*0.2+myFreq*04-0.8; +wave_3_per_point5= Pi = 3.14159265358; +wave_3_per_point6= Pi23 = 2*Pi*0.33333333333; +wave_3_per_point7= fade = value2*15*(1.1-myFreq); +wave_3_per_point8= r = (sin(myAltFreq )+1)*0.5*fade; +wave_3_per_point9= g = (sin(myAltFreq-1*Pi23)+1)*0.5*fade; +wave_3_per_point10= b = (sin(myAltFreq-2*Pi23)+1)*0.5*fade; +wave_3_per_point11= x = -10.4*pow(value2,1.81)/pow(value2,1.8)+10.7; +wave_3_per_point12= y = myFreq; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = vvb*2;//0.5 + vb - vvb; +per_frame_12=q2 = vvm*2;//0.5 + vm - vvm; +per_frame_13=q3 = vvt*2;//0.5 + vt - vvt; +per_frame_14=q4=(q1+q2+q3)*5; +per_frame_15=q5=(q1+q2+q3)*5; +per_frame_16=q6=(q1+q2+q3)*5; +per_frame_17=q7=(q1+q2+q3)*5; +per_frame_18=q8=(q1+q2+q3)*5; +per_frame_19=q9=(q1+q2+q3)*5; +per_frame_20=q10=(q1+q2+q3)*5; +per_frame_21=q11=(q1+q2+q3)*5; +per_frame_22=q12=(q1+q2+q3)*5; +per_frame_23=q13=(q1+q2+q3)*5; +per_frame_24=q14=(q1+q2+q3)*5; +per_frame_25=q15=(q1+q2+q3)*5; +per_frame_26=q16=(q1+q2+q3)*5; +per_frame_27=q17=(q1+q2+q3)*5; +per_frame_28=q18=(q1+q2+q3)*5; +per_frame_29=q19=(q1+q2+q3)*5; +per_frame_30=q20=(q1+q2+q3)*5; +per_frame_31=q21=(q1+q2+q3)*5; +per_frame_32=q22=(q1+q2+q3)*5; +per_frame_33=q23=(q1+q2+q3)*5; +per_frame_34=q24=(q1+q2+q3)*5; +per_frame_35=q25=(q1+q2+q3)*5; +per_frame_36=q26=(q1+q2+q3)*5; +per_frame_37=q27=(q1+q2+q3)*5; +per_frame_38=q28=(q1+q2+q3)*5; +per_frame_39=q29=(q1+q2+q3)*5; +per_frame_40=q30=(q1+q2+q3)*5; +per_frame_41=q31=(q1+q2+q3)*5; +per_frame_42=q32=(q1+q2+q3)*5; +per_frame_43= +per_frame_44=decay=1.0; +per_frame_45=zoom=1.009; +per_frame_46=dx=0;dy=0;sx=1.000001;sy=0.999999; +per_frame_47= +per_frame_48=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); +per_frame_49=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); +per_frame_50=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); +per_frame_51= +per_frame_52= +per_frame_53=cx=-1;cy=2;rot=-treb*0.002; +per_frame_54= +per_frame_55=cx=sin(time*0.1)*1.5 + 0.5; +per_frame_56=cy=cos(time*0.2)*1.5 + 0.5 +per_pixel_1=//adv=min( (bass*bass*bass), 1); +per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; +per_pixel_3=//warp=warp*adv; +per_pixel_4= +per_pixel_5=//dx=cos(y)*0.005*(rad+2)*treb ; +per_pixel_6=//dy=sin(x)*0.005*(rad+2)*treb +per_pixel_7= +per_pixel_8=//Do people that don't do drugs make shit like this?? +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float2 uv1, uv6; +warp_4=`float dx,dy; +warp_5=` +warp_6=`shader_body { +warp_7=` +warp_8=`uv1 = (uv-.5); +warp_9=` +warp_10=`float2 ang2= tex2D (sampler_noise_hq,uv1/3+.006*time).xy; +warp_11=`uv6 = mul(uv1,float2x2(ang2.y,-ang2.x,ang2.x,ang2.y)); +warp_12=` +warp_13=`mus = abs(.5*cos(uv6.y*14)-(cos(uv6.x*71))); +warp_14=`mus *= float3 (1,.96,.9)/25; +warp_15=` +warp_16=`uv6 = .2*sin(12*uv+rand_frame); +warp_17=`float3 dots = .001/length(uv6)* float3 (0.2,1,1); +warp_18=` +warp_19=`//dots = lum(tex2D (sampler_noise_hq,uv +rand_frame)); +warp_20=`//dots = (dots-.7) * (dots >= .7) * float3 (0.2,1,1); +warp_21=` +warp_22=`mus -= dots; +warp_23=` +warp_24=` +warp_25=`float3 blur = GetBlur1(frac(uv)); +warp_26=` +warp_27=`float2 hor = float2 (texsize.z,0); +warp_28=`float2 ver = float2 (0,texsize.w); +warp_29=`hor = float2 (.004,0); +warp_30=`ver = float2 (0,.004); +warp_31=` +warp_32=` +warp_33=` +warp_34=`float dx = lum(GetPixel(uv+hor)-GetPixel(uv-hor)); +warp_35=`float dy = lum(GetPixel(uv+ver)-GetPixel(uv-ver)); +warp_36=` +warp_37=`float2 zz = float2 (dx,dy); +warp_38=` +warp_39=` +warp_40=`float3 crisp= tex2D(sampler_main,uv+zz*.02); +warp_41=`crisp +=.015 - length(zz)*blur/1.5; +warp_42=` +warp_43=`float3 ret1 = crisp - lum(blur)*.012 + mus; +warp_44=`//ret1 = abs(mus)/2; +warp_45=`ret = ret1 * .99 - .04 ; +warp_46=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=` +comp_3=`float3 ret1, neu, cont; +comp_4=`float2 rs,rs2,uv1,dz, uv3; +comp_5=`float noise; +comp_6=`shader_body +comp_7=`{ +comp_8=`float2 uv2; +comp_9=`uv -= 0.5; +comp_10=`uv *= aspect.xy; +comp_11=` +comp_12=`noise = tex2D (sampler_pw_noise_lq,uv3); +comp_13=`noise *= (noise >= .9); +comp_14=` +comp_15=`float dist = 1; +comp_16=`float inten = 1; +comp_17=`float mask = 0; +comp_18=`ret1 = 0; +comp_19=`int anz = 2; +comp_20=`float n = 0; +comp_21=`cont = 0; +comp_22=`while (n <= anz) { +comp_23=`uv2 = uv; +comp_24=` dist = 1-frac(1.0/anz*n+q6); //evtl sqrt ! +comp_25=` +comp_26=` inten = (dist)*(1-dist)*6; +comp_27=` float2 uv3 = frac(1*uv2*dist+.55); +comp_28=` +comp_29=` neu = 1*GetPixel(uv3) + GetBlur1(uv3)*0; +comp_30=` ret1 = max(ret1,neu*inten); +comp_31=` cont = max(cont,(-GetPixel(uv3)+GetBlur1(uv3+q7))*inten); +comp_32=`n++; +comp_33=`} +comp_34=` +comp_35=`rs2 = .1*cos(uv*3+float2(time/12,5)) + .1*ret1; +comp_36=`float3 dots = saturate(.005/length(rs2)) * float3 (1,.9,.6); +comp_37=` +comp_38=`ret = -.1*ret1 + 18*dots*(.2+.3*ret1) +comp_39=`+ lum(cont)*(1+slow_roam_cos)/2; +comp_40=`ret += .0*ret1; +comp_41=`//ret = GetPixel(uv_orig+.5); +comp_42=`} diff --git a/presets/presets_tryptonaut/suksma - n4.milk b/presets/presets_tryptonaut/suksma - n4.milk new file mode 100755 index 0000000000..5ecae6607c --- /dev/null +++ b/presets/presets_tryptonaut/suksma - n4.milk @@ -0,0 +1,453 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.000 +fVideoEchoZoom=1.002 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=2.581 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.11550 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=1.000 +ob_g=1.000 +ob_b=1.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=2.560 +nMotionVectorsY=48.000 +mv_dx=0.360 +mv_dy=-0.800 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=sw = (1-sw)*above(sample,0); +wave_0_per_point2= +wave_0_per_point3=osa = sample*above(sample,0); +wave_0_per_point4= +wave_0_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_0_per_point6= +wave_0_per_point7=mod = value1; +wave_0_per_point8=mod = mod*sw; +wave_0_per_point9= +wave_0_per_point10=y = if(sw,osa,sample); +wave_0_per_point11=y = sample*.7+.15; +wave_0_per_point12=x = .5 - mod*.5; +wave_0_per_point13= +wave_0_per_point14=osa = sample; +wave_0_per_point15= +wave_0_per_point16=mo = 3.7 + mod*6 + q1; +wave_0_per_point17= +wave_0_per_point18=r = .5 + sin(mo)*.5; +wave_0_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_0_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_0_per_point21= +wave_0_per_point22=a = 1 - abs(mod)*12; +wave_0_per_point23=a = 1-sw; +wave_0_per_point24=a = max(0,min(a,1)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=sw = (1-sw)*below(sample,1); +wave_1_per_point2= +wave_1_per_point3=osa = sample*above(sample,0); +wave_1_per_point4= +wave_1_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_1_per_point6= +wave_1_per_point7=mod = value2; +wave_1_per_point8=mod = mod*sw; +wave_1_per_point9= +wave_1_per_point10=y = if(sw,osa,sample); +wave_1_per_point11=y = sample*.7+.15; +wave_1_per_point12=x = .5 + mod*.5; +wave_1_per_point13= +wave_1_per_point14=osa = sample; +wave_1_per_point15= +wave_1_per_point16=mo = 3.7 + mod*6 + q1; +wave_1_per_point17= +wave_1_per_point18=r = .5 + sin(mo)*.5; +wave_1_per_point19=g = .5 + sin(mo + 1.0472)*.5; +wave_1_per_point20=b = .5 + sin(mo + 2.0944)*.5; +wave_1_per_point21= +wave_1_per_point22=a = 1 - abs(mod)*12; +wave_1_per_point23=a = 1-sw; +wave_1_per_point24=a = max(0,min(a,1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=256 +wavecode_2_bSpectrum=1 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.00000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=sw = (1-sw)*above(sample,0); +wave_2_per_point2= +wave_2_per_point3=osa = sample*above(sample,0); +wave_2_per_point4= +wave_2_per_point5=mod = pow(value1*2,2)*sign(value1)*.5; +wave_2_per_point6= +wave_2_per_point7=mod = value1; +wave_2_per_point8=mod = mod; +wave_2_per_point9= +wave_2_per_point10=y = if(sw,osa,sample); +wave_2_per_point11=y = sample*.7+.15; +wave_2_per_point12=x = .5 - mod*.5; +wave_2_per_point13= +wave_2_per_point14=osa = sample; +wave_2_per_point15= +wave_2_per_point16=mo = 3.7 + mod*6 + q1; +wave_2_per_point17= +wave_2_per_point18=//r = .5 + sin(mo)*.5; +wave_2_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_2_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_2_per_point21= +wave_2_per_point22=//a = 1 - abs(mod)*12; +wave_2_per_point23=//a = 1-sw; +wave_2_per_point24=a = max(0,min(a,1)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=256 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.00000 +wavecode_3_r=0.000 +wavecode_3_g=0.000 +wavecode_3_b=0.000 +wavecode_3_a=1.000 +wave_3_per_point1=sw = (1-sw)*above(sample,0); +wave_3_per_point2= +wave_3_per_point3=osa = sample*above(sample,0); +wave_3_per_point4= +wave_3_per_point5=mod = pow(value2*2,2)*sign(value2)*.5; +wave_3_per_point6= +wave_3_per_point7=mod = value2; +wave_3_per_point8=mod = mod; +wave_3_per_point9= +wave_3_per_point10=y = if(sw,osa,sample); +wave_3_per_point11=y = sample*.7+.15; +wave_3_per_point12=x = .5 + mod*.5; +wave_3_per_point13= +wave_3_per_point14=osa = sample; +wave_3_per_point15= +wave_3_per_point16=mo = 3.7 + mod*6 + q1; +wave_3_per_point17= +wave_3_per_point18=//r = .5 + sin(mo)*.5; +wave_3_per_point19=//g = .5 + sin(mo + 1.0472)*.5; +wave_3_per_point20=//b = .5 + sin(mo + 2.0944)*.5; +wave_3_per_point21= +wave_3_per_point22=//a = 1 - abs(mod)*12; +wave_3_per_point23=//a = 1-sw; +wave_3_per_point24=a = max(0,min(a,1)); +shapecode_0_enabled=1 +shapecode_0_sides=54 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=1.000 +shapecode_0_rad=0.13478 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ti = q1; +shape_0_per_frame2=rad = q2; +shape_0_per_frame3=x = (ti - int(ti))*.5; +shape_0_per_frame4= +shape_0_per_frame5= +shapecode_1_enabled=1 +shapecode_1_sides=54 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.000 +shapecode_1_rad=0.13478 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ti = q1; +shape_1_per_frame2=rad = q2; +shape_1_per_frame3=x = 1-(ti - int(ti))*.5; +shape_1_per_frame4= +shapecode_2_enabled=1 +shapecode_2_sides=43 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.690 +shapecode_2_y=0.500 +shapecode_2_rad=0.54820 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=3.89557 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=rad = .4 + q3; +shape_2_per_frame2= +shape_2_per_frame3=tex_zoom = 1/rad*.8; +shape_2_per_frame4= +shape_2_per_frame5=x = .5 + q3; +shape_2_per_frame6= +shape_2_per_frame7=tex_ang = -q4; +shape_2_per_frame8= +shape_2_per_frame9=ti = q5 + sin(time*1.234); +shape_2_per_frame10= +shape_2_per_frame11=x = .5 + q3*sin(ti); +shape_2_per_frame12=y = .5 + q3*cos(ti)*.5; +shapecode_3_enabled=1 +shapecode_3_sides=43 +shapecode_3_additive=0 +shapecode_3_thickOutline=1 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.54822 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.87965 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=rad = .4 + q3; +shape_3_per_frame2= +shape_3_per_frame3=tex_zoom = 1/rad*.8; +shape_3_per_frame4= +shape_3_per_frame5=x = .5 - q3; +shape_3_per_frame6= +shape_3_per_frame7=tex_ang = q4; +shape_3_per_frame8= +shape_3_per_frame9=ti = q5 + sin(time*.948) + 3.1416; +shape_3_per_frame10= +shape_3_per_frame11=x = .5 + q3*sin(ti)*1.5; +shape_3_per_frame12=y = .5 + q3*cos(ti)*.5; +per_frame_1=warp = 0; +per_frame_2= +per_frame_3=tic = min(time-tin,.1); +per_frame_4=tin = time; +per_frame_5= +per_frame_6=vol = (bass_att + treb_att + mid_att)*.333333; +per_frame_7= +per_frame_8=ra = 1/tic*.25; +per_frame_9= +per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); +per_frame_11= +per_frame_12=ra = 1/tic*.05; +per_frame_13=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); +per_frame_14=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); +per_frame_15= +per_frame_16=ra = 1/tic*.05; +per_frame_17=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); +per_frame_18= +per_frame_19= +per_frame_20=tt = tt + tic*treb; +per_frame_21=mt = mt + tic*mid; +per_frame_22=bt = bt + tic*bass; +per_frame_23=vt = vt + tic*vav; +per_frame_24= +per_frame_25=q1 = time; +per_frame_26= +per_frame_27=q2 = vav*.1; +per_frame_28= +per_frame_29=q3 = .02 + bass_avg*.05; // size & displacement rad +per_frame_30= +per_frame_31=q4 = 3.1416 + 1.57 + (treb_avg + mid_avg)*.25; // tex_ang +per_frame_32= +per_frame_33=//q4 = (treb_avg - mid_avg); +per_frame_34=//q4 = bass_avg - (treb_avg + mid_avg)*.5; +per_frame_35=//q4 = -bass_avg; +per_frame_36= +per_frame_37= +per_frame_38=q5 = vt; // xy movement +per_frame_39= +per_frame_40=monitor = q4; +per_frame_41= +per_frame_42=//rot = .025*max(.7,vav); +per_frame_43=rot = .025*(.7 + vav*.25); +per_frame_44=//rot = .025*vav; +per_frame_45= +per_pixel_1=mod = .1; +per_pixel_2= +per_pixel_3=//sw = above(x,.5); +per_pixel_4= +per_pixel_5=//dy = mod*pow(abs(y - .5)*2,1.5)*sign(y-.5); +per_pixel_6= +per_pixel_7=//dy = .2*sign(y-.5)*sw; +per_pixel_8= +per_pixel_9=//sy = 1 + (1-sw)*.116; +per_pixel_10= +per_pixel_11= +per_pixel_12=//rot = .05; +per_pixel_13= +per_pixel_14=cx = if(above(y,.5),-1,2); +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv ).xyz; +warp_5=`float blur =sin(bass*90)*rad; +warp_6=`ret=0.125*( +warp_7=`GetPixel(float2(uv.x-0.01*blur,uv.y-0.01*blur)) + +warp_8=`GetPixel(float2(uv.x+0.01*blur,uv.y+0.01*blur)) + +warp_9=`GetPixel(float2(uv.x-0.01*blur,uv.y+0.01*blur)) + +warp_10=`GetPixel(float2(uv.x+0.01*blur,uv.y-0.01*blur)) + +warp_11=`GetPixel(float2(uv.x,uv.y-0.01*blur)) + +warp_12=`GetPixel(float2(uv.x,uv.y+0.01*blur)) + +warp_13=`GetPixel(float2(uv.x-0.01*blur,uv.y)) + +warp_14=`GetPixel(float2(uv.x+0.01*blur,uv.y))); +warp_15=`//add a 'bass overbright' effect: +warp_16=`ret-=-(lum(ret)sin(-time*90))*ret*blur; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 orig = uv; +comp_4=` +comp_5=` float inv_zoom = 1;//min(aspect.x,aspect.y)*1.0; +comp_6=` //float t = saturate(time*0.33); +comp_7=` //t = t*t*(3 - 2*t); +comp_8=` //inv_zoom = lerp(1, inv_zoom, t); +comp_9=` +comp_10=` uv -= 0.5; +comp_11=` uv *= inv_zoom; +comp_12=` uv *= aspect.xy; +comp_13=` +comp_14=` float2 uv2; +comp_15=` uv2.x = uv.x*cos(q1) - uv.y*sin(q1); +comp_16=` uv2.y = uv.x*sin(q1) + uv.y*cos(q1); +comp_17=` uv2 *= aspect.zw; +comp_18=` uv2 += 0.5; +comp_19=` +comp_20=` ret = abs( tex2D(sampler_main, uv2).xyz*2.65 +comp_21=` + GetBlur1(uv2)*-2 ); +comp_22=` +comp_23=` ret.xyz *= 1.5; +comp_24=`} +comp_25=` +comp_26=` diff --git a/presets/presets_tryptonaut/suksma - nip tuck.milk b/presets/presets_tryptonaut/suksma - nip tuck.milk new file mode 100755 index 0000000000..5b0bacb6d5 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - nip tuck.milk @@ -0,0 +1,341 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.630 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=0.010 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.110 +ob_g=0.400 +ob_b=0.600 +ob_a=0.400 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=3.000 +nMotionVectorsY=2.000 +mv_dx=0.020 +mv_dy=-0.020 +mv_l=0.150 +mv_r=0.490 +mv_g=0.480 +mv_b=0.300 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.600 +wavecode_0_g=0.300 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=n=sample*6.283 + q7*0.0015; +wave_0_per_point2=tm=time*0.1; +wave_0_per_point3= +wave_0_per_point4=phs=sin(n*50); +wave_0_per_point5= +wave_0_per_point6=xp=sin(n+phs); +wave_0_per_point7=yp=cos(n+phs); +wave_0_per_point8= +wave_0_per_point9=z=sin(n*3 + tm) * sin(n*7-tm); +wave_0_per_point10= +wave_0_per_point11=xp=xp*z; +wave_0_per_point12=yp=yp*z; +wave_0_per_point13= +wave_0_per_point14=x=xp*0.3 + 0.5; +wave_0_per_point15=y=yp*0.3*1.3 + 0.5; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=13 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.46753 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.17258 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.990 +shapecode_0_g2=0.990 +shapecode_0_b2=0.990 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.820 +shapecode_0_border_g=0.720 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=tm=q6; +shape_0_per_frame2= +shape_0_per_frame3=x=0.5 + sin(tm)*0.3; +shape_0_per_frame4=y=0.5 + cos(tm*0.5)*0.4; +shape_0_per_frame5= +shape_0_per_frame6=ang=sin(tm*0.36)*3 +shape_0_per_frame7= +shapecode_1_enabled=1 +shapecode_1_sides=8 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.35738 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.55045 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tm=q6; +shape_1_per_frame2= +shape_1_per_frame3=x=0.5 + sin(tm + 0.5)*0.3; +shape_1_per_frame4=y=0.5 + cos(tm*0.5)*0.4; +shape_1_per_frame5= +shape_1_per_frame6=ang=sin(tm*0.36)*3 +shapecode_2_enabled=1 +shapecode_2_sides=8 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.46290 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.500 +shapecode_2_b=0.000 +shapecode_2_a=0.040 +shapecode_2_r2=1.000 +shapecode_2_g2=0.300 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=0.000 +shapecode_2_border_g=0.000 +shapecode_2_border_b=0.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tm=q6; +shape_2_per_frame2= +shape_2_per_frame3=x=0.5 + sin(tm + 1.4)*0.3; +shape_2_per_frame4=y=0.5 + cos(tm*0.5 + 0.3)*0.4; +shape_2_per_frame5= +shape_2_per_frame6=ang=sin(tm*0.36)*3 +shapecode_3_enabled=1 +shapecode_3_sides=29 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.46753 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=2.13022 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.990 +shapecode_3_g2=0.990 +shapecode_3_b2=0.990 +shapecode_3_a2=0.650 +shapecode_3_border_r=0.800 +shapecode_3_border_g=0.500 +shapecode_3_border_b=1.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=tm=q6; +shape_3_per_frame2= +shape_3_per_frame3=x=0.5 + sin(tm)*0.001; +shape_3_per_frame4=y=0.5 + cos(tm*0.5)*0.001; +shape_3_per_frame5= +shape_3_per_frame6=a=0.5 + min(q8,1)*0.5 +per_frame_init_1=mv_x=64;mv_y=48; +per_frame_init_2=nut=0; +per_frame_init_3=stp=0;stq=0; +per_frame_init_4=rtp=0;rtq=0; +per_frame_init_5=wvr=0; +per_frame_init_6=decay=0; +per_frame_init_7=dcsp=0 +per_frame_init_8= +per_frame_1=decay=0.98; +per_frame_2=zoom=1.003; +per_frame_3= +per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; +per_frame_5=vol=vol*vol; +per_frame_6=q7=vol; +per_frame_7= +per_frame_8=vol=(bass+mid+treb)*0.25; +per_frame_9=vol=vol*vol; +per_frame_10=q8=vol; +per_frame_11= +per_frame_12=mtime=mtime+vol*0.02; +per_frame_13=q6=mtime; +per_frame_14= +per_frame_15= +per_frame_16=ob_a = min(vol,1); +per_frame_17= +per_frame_18= +per_frame_19= +per_frame_20= +per_frame_21= +per_pixel_1=zoom=1.001 + sin(ang*3 + time*0.5)*0.005 +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` // use 3D noise +comp_4=` float3 uvw = float3(uv*3.3, 0.3); +comp_5=` //uvw = mul(uvw, rot_s2); +comp_6=` uvw.z += time*0.3; +comp_7=` +comp_8=` // sample a high-quality 3D noise volume! +comp_9=` float4 N = tex3D(sampler_noisevol_hq, uvw); +comp_10=` +comp_11=` float2 uv2 = uv; +comp_12=` uv2 += (N.xy*2-1)*texsize.zw*13; +comp_13=` +comp_14=` ret = tex2D(sampler_main, uv2).xyz; +comp_15=` ret += GetBlur1(uv)*0.4; +comp_16=` +comp_17=` // palettize: +comp_18=` ret = pow(ret, float3(0.5, 0.8, 1.7)); +comp_19=` +comp_20=` //ret.xyz *= 2; // a little bit of overbright +comp_21=`} +comp_22=` +comp_23=` diff --git a/presets/presets_tryptonaut/suksma - penattrition.milk b/presets/presets_tryptonaut/suksma - penattrition.milk new file mode 100755 index 0000000000..a9888b12f8 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - penattrition.milk @@ -0,0 +1,397 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000 +fGammaAdj=2.000 +fDecay=0.960 +fVideoEchoZoom=1.905 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-0.800 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=0.98030 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.470 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=-0.280 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1024 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.006 +shape_0_per_frame1=pigtemp=int(pow(4,bass+treb+mid)); +shape_0_per_frame2=num_inst=if(above(pigtemp,1024),1024,pigtemp); +shape_0_per_frame3= +shape_0_per_frame4=t1 = time/5; +shape_0_per_frame5=t2 = time/6; +shape_0_per_frame6=rad = 0.005+bass/100; +shape_0_per_frame7=t3 = bass_att/70; +shape_0_per_frame8=b2 = treb*0.7-bass/2; +shape_0_per_frame9=r = instance/num_inst; +shape_0_per_frame10=g = abs(treb_att/5-bass); +shape_0_per_frame11=//b = abs(treb_att/5-bass); +shape_0_per_frame12=size = 0.3+bass_att/300; +shape_0_per_frame13= +shape_0_per_frame14=nc = sqrt(num_inst); +shape_0_per_frame15=xs=sin(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame16=ys=cos(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame17=zs=cos(3.14*int(instance/nc)/nc); +shape_0_per_frame18= +shape_0_per_frame19=//modulate to allow rotation +shape_0_per_frame20=y1 = ys*cos(t1)-zs*sin(t1); +shape_0_per_frame21=z1 = ys*sin(t1)+zs*cos(t1); +shape_0_per_frame22=x1 = z1*sin(t2)+xs*cos(t2); +shape_0_per_frame23=z2 = z1*cos(t2)-xs*sin(t2); +shape_0_per_frame24=x2 = x1*cos(t3)-y1*sin(t3); +shape_0_per_frame25=y2 = y1*cos(t3)+x1*sin(t3); +shape_0_per_frame26= +shape_0_per_frame27=//translate shape +shape_0_per_frame28=x3 = x2; +shape_0_per_frame29=y3 = y2; +shape_0_per_frame30=z3 = z2; +shape_0_per_frame31= +shape_0_per_frame32=x = 0.5 + size*(x3/(1+z3*size)); +shape_0_per_frame33=y = 0.5 + size*(y3/(1+z3*size)); +shape_0_per_frame34=a=below(z3,0); +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=7 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.03333 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=1.000 +shape_1_per_frame1=x = int(rand(100))*.01+instance-instance; +shape_1_per_frame2=y = int(rand(100))*.01+instance-instance; +shape_1_per_frame3= +shape_1_per_frame4=a =1; +shape_1_per_frame5=a2 =1; +shape_1_per_frame6=border_a = 0; +shape_1_per_frame7=vol=bass+mid+treb; +shape_1_per_frame8=rad = int(rand(int(vol)))/7+instance-instance; +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=0 +shapecode_2_num_inst=69 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.03333 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.100 +shapecode_2_g=0.100 +shapecode_2_b=0.100 +shapecode_2_a=1.000 +shapecode_2_r2=0.100 +shapecode_2_g2=0.100 +shapecode_2_b2=0.100 +shapecode_2_a2=1.000 +shapecode_2_border_r=0.100 +shapecode_2_border_g=0.100 +shapecode_2_border_b=0.100 +shapecode_2_border_a=1.000 +shape_2_per_frame1=//x = rand(2*int(rand(70-(instance+1)))%int(rand(70-(instance+1))))*.02+.5; +shape_2_per_frame2=xresquan=int(rand(int((q29-q30)*500))); +shape_2_per_frame3=yresquan=int(rand(int((q29-q30)*500))); +shape_2_per_frame4=x=int(rand(q31+instance-instance-xresquan))/(q31-xresquan); +shape_2_per_frame5=y=int(rand(q32+instance-instance-yresquan))/(q32-yresquan); +shape_2_per_frame6=//y = rand(2*int(rand(70-(instance+1)))%int(rand(70-(instance+1))))*.02+.5; +shape_2_per_frame7= +shape_2_per_frame8=a = 1;//if(above(frame%7,0),0,1); +shape_2_per_frame9=a2 = 1;// if(above(frame%7,0),0,1); +shape_2_per_frame10=border_a = 1; +shape_2_per_frame11=//vol=bass+mid+treb; +shape_2_per_frame12=rad = q30*.1; +shape_2_per_frame13=//r=1; +shape_2_per_frame14=//g=1; +shape_2_per_frame15=//b=1; +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//wave_mystery = 1; +per_frame_2=bassrun=bass+bassrun; +per_frame_3=trebrun=treb+trebrun; +per_frame_4=midrun=mid+midrun; +per_frame_5=vol=(bassrun+midrun+trebrun)*.03; +per_frame_6=vol2=vol*.001; +per_frame_7=warp = 0; +per_frame_8=zoom = 1.4 +0.15*cos(vol*0.42); +per_frame_9=rot = 0.01*sin(1.34*vol); +per_frame_10=dx = 0.005*sin(vol*0.646); +per_frame_11=dy=0.005*sin(vol*0.314); +per_frame_12=cx = 0.5 + 0.05*sin(0.497*vol); +per_frame_13=cy = 0.5 +0.05*sin(0.413*vol); +per_frame_14= +per_frame_15=pi23=4*asin(-1)*.33333333333333; +per_frame_16=q6= (sin(vol-0*pi23)+1)*.5; +per_frame_17=q7= (sin(vol-1*pi23)+1)*.5; +per_frame_18=q8=(sin(vol-2*pi23)+1)*.5; +per_frame_19=mv_r=q6; +per_frame_20=mv_g=q7; +per_frame_21=mv_b=q8; +per_frame_22=q9=q6+1; +per_frame_23=vol3=(bass+mid+treb)*.3; +per_frame_24=q21=vol*.05; +per_frame_25=q26=vol3; +per_frame_26=q20=vol3; +per_frame_27=q1=q6*.3; +per_frame_28=q2=q7*.3; +per_frame_29=q3=q8*.3; +per_frame_30=q4=q8/q6*2; +warp_1=` +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`float2 rs, rs0, uv1, c, tmp, zz, uvo; +warp_5=`float3 noise, ret1; +warp_6=`int n; +warp_7=`shader_body { +warp_8=`uvo = uv_orig; +warp_9=`uv1 = (uv_orig-.5);//*aspect.xy; +warp_10=` +warp_11=`float z = 1/abs(uv1.y+.3); +warp_12=`rs.x = uv1.x*10; +warp_13=`rs.y = z*2; +warp_14=`rs0 = rs; +warp_15=`rs *=2; +warp_16=` +warp_17=` +warp_18=`c = uv1*4+float2(-.5,0); +warp_19=`//c = rs*.1; +warp_20=`zz = c; +warp_21=` +warp_22=`for (n=1; n<=6; n++) +warp_23=`{ +warp_24=`tmp = zz; +warp_25=`zz.x = tmp.x*tmp.x - tmp.y*tmp.y; +warp_26=`zz.y = 2*tmp.x * tmp.y; +warp_27=`zz = zz + c; +warp_28=`} +warp_29=` +warp_30=`float len=dot(zz,zz); +warp_31=` +warp_32=`ret = tex2D(sampler_noise_lq,abs(zz)/12) * .15/(len+2); +warp_33=`//ret += (-0.001*(1/ (len+2))); +warp_34=`ret += tex2D (sampler_fc_main, uv+ zz*q18); +warp_35=` +warp_36=`//ret += GetBlur2 (frac(uvo))*.8 * saturate(len-6); +warp_37=` +warp_38=`ret *= 1; +warp_39=`ret = ret *.99-.01; +warp_40=` +warp_41=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=` +comp_11=`float2 hor = float2(texsize.z,0); +comp_12=`float2 ver = float2(0,texsize.w); +comp_13=` +comp_14=`float dist = 1; +comp_15=`float inten = 1; +comp_16=`ret1 = 0; +comp_17=`float anz = 1; +comp_18=`float n = 0; +comp_19=`uv4 = (uv); +comp_20=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_21=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_22=` +comp_23=`//uv4 = 0; +comp_24=` +comp_25=`mus = .5*GetPixel(uv4+.1*dz)+0*dz.x+.01; +comp_26=` +comp_27=`uv2 = uv-.5; +comp_28=`while (n <= anz) { +comp_29=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_30=` +comp_31=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_32=` +comp_33=` uv3 = 2*uv2*dist + .5 + 0.0*time; +comp_34=` +comp_35=`// uv3 *= aspect.yx; +comp_36=` uv3 = frac(uv3); +comp_37=` +comp_38=` uv3 = .2 * cos(42*uv3+time/2) + 99*dz; +comp_39=` neu = saturate(.01/length(uv3)) ; +comp_40=` neu = dist*neu + (1-dist)*lum(neu); +comp_41=` ret1 = max(ret1,neu*inten); +comp_42=`n++; +comp_43=`} +comp_44=` +comp_45=` +comp_46=`ret = ret1 + saturate(16*mus*(.1+ret1)); +comp_47=`} diff --git a/presets/presets_tryptonaut/suksma - question authority, take what you want, be a nihilist.milk b/presets/presets_tryptonaut/suksma - question authority, take what you want, be a nihilist.milk new file mode 100755 index 0000000000..6589449f6d --- /dev/null +++ b/presets/presets_tryptonaut/suksma - question authority, take what you want, be a nihilist.milk @@ -0,0 +1,314 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=2.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=28.599 +fWaveSmoothing=0.500 +fWaveParam=-1.000 +fModWaveAlphaStart=0.400 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=0.010 +fWarpScale=1.470 +fZoomExponent=4.77802 +fShader=0.000 +zoom=0.99816 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00183 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.055 +ob_r=0.000 +ob_g=0.100 +ob_b=0.070 +ob_a=1.000 +ib_size=0.500 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.500 +mv_r=0.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=256 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=20.35074 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r=r+0.5*sin(treb*1.13); +wave_0_per_frame2=g=g+0.5*sin(bass*1.33); +wave_0_per_frame3=b=b+0.5*sin(mid*1.23); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=256 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=100.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.40031 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.500 +shapecode_0_g=0.500 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.500 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=0.500 +shapecode_0_border_a=0.000 +shape_0_per_frame1=sounds=(bass+treb+mid)/3; +shape_0_per_frame2= +shape_0_per_frame3=rad=rad*sounds*0.6; +shape_0_per_frame4= +shape_0_per_frame5=r=r+sin(bass)*g; +shape_0_per_frame6=g=g+sin(mid)*g; +shape_0_per_frame7= +shape_0_per_frame8= +shape_0_per_frame9=x=x+0.207*cos(time*bass*0.1); +shape_0_per_frame10=y=y+0.207*sin(time*bass*0.1); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.13465 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.300 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1= +shape_1_per_frame2=g2=g2+0.09*sin((treb+mid)*1.23); +shape_1_per_frame3=g=g+0.09*cos((bass+mid)*1.37); +shape_1_per_frame4= +shape_1_per_frame5=sounds=(bass+mid+treb)/3; +shape_1_per_frame6= +shape_1_per_frame7=rad=rad*(treb+mid)/3; +shape_1_per_frame8= +shape_1_per_frame9=x=x+0.300*sin(time*bass); +shape_1_per_frame10=y=y+0.317*cos(time*bass); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20047 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.500 +shapecode_2_g2=0.500 +shapecode_2_b2=1.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=0.500 +shapecode_2_border_a=0.000 +shape_2_per_frame1=sounds=(bass+treb+mid)/3; +shape_2_per_frame2=att=(bass_att+treb_att+mid_att)/3; +shape_2_per_frame3=att=(bass_att+treb_att+mid_att)/3; +shape_2_per_frame4=r2=r2+(0.25*sin(time*6.28))-bass; +shape_2_per_frame5=g2=g2+(0.25*sin(time*6.28))-bass; +shape_2_per_frame6= +shape_2_per_frame7=rad=rad; +shape_2_per_frame8=x=x+0.217*cos(time*2.3)+sounds*0.1; +shape_2_per_frame9=y=y+0.217*sin((time*3.5)+(sounds*0.3)); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=decay=.999; +per_frame_2=wrap=sin(time*10); +per_frame_3=mv_dx=bass; +per_frame_4=ib_a=.005; +per_frame_5= +per_frame_6= +per_frame_7=vol=(bass+mid+treb)*0.55; +per_frame_8=vol=vol*vol; +per_frame_9= +per_frame_10=mtime=mtime+vol*0.01*(48/fps); +per_frame_11= +per_frame_12=q1=mtime*0.5; +per_frame_13= +per_frame_14= +per_frame_15=dt=1/FPS; +per_frame_16=mytime=mytime+dt; +per_frame_17=contvol=min( max(.5, (1-.5*dt)*contvol+.5*dt*(bass+mid+treb)*.133 ) ,2 ) ; +per_frame_18=q2=contvol; +per_frame_19=q3=mytime; +per_frame_20=echo_zoom=1+(vol*0.01); +per_frame_21=sx=-.99; +per_pixel_1=zoom=1.005-(rad/100); +per_pixel_2=rot=rad/100; +per_pixel_3=//sy=-1.02; +warp_1=`shader_body { +warp_2=` +warp_3=`//uv = uv_orig; +warp_4=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_5=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_6=` +warp_7=`float2 tmp = uv1; +warp_8=`tmp.x = ang*3; tmp.y = rad; +warp_9=`uv1 = tmp; +warp_10=` +warp_11=`float3 noise = (tex2D(sampler_noise_lq,corr*uv/2+q23)+1); +warp_12=` +warp_13=`float3 ret1 = GetBlur1 (uv)-.3; +warp_14=`float3 crisp = tex2D(sampler_main, uv+ret1*.01 ) + noise*0.1; +warp_15=`float3 blur = GetBlur1 (uv/4+.4*float2(.3*ret1.x,ret1.y)) - noise*.1; +warp_16=` +warp_17=`ret = -.4*blur + crisp; +warp_18=` +warp_19=` ret *= 0.98 * pow(1-.01*q28*q28*rad,2); +warp_20=` ret -= 0.04; +warp_21=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv_echo = (uv - 0.5)*float2(-1,1) + 0.5; +comp_4=`ret = lerp( tex2D(sampler_main, uv).xyz, +comp_5=` tex2D(sampler_main, uv_echo).xyz, +comp_6=` 0.50 +comp_7=` ); //video echo +comp_8=`ret = ret*1.3 - 0.1; +comp_9=` +comp_10=` +comp_11=`ret *= (hue_shader*8)-6.25; +comp_12=` +comp_13=`} +comp_14=` +comp_15=` diff --git a/presets/presets_tryptonaut/suksma - satanic teleprompter - pair production is itself a sign of vacuum bias (think of the scale).milk b/presets/presets_tryptonaut/suksma - satanic teleprompter - pair production is itself a sign of vacuum bias (think of the scale).milk new file mode 100755 index 0000000000..a3b70f5b9e --- /dev/null +++ b/presets/presets_tryptonaut/suksma - satanic teleprompter - pair production is itself a sign of vacuum bias (think of the scale).milk @@ -0,0 +1,519 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.157 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=1 +shapecode_0_sides=14 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10260 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ma=ma+(above(bass,1)*3.1415*.01*bass); +shape_0_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_0_per_frame3= +shape_0_per_frame4=mx=mx+(.0002*cos(ma)); +shape_0_per_frame5=my=my+(.0002*sin(ma)); +shape_0_per_frame6= +shape_0_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_0_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_0_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_0_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_0_per_frame11= +shape_0_per_frame12=x=mx; +shape_0_per_frame13=y=my; +shape_0_per_frame14=rad=(bass+treb)/100; +shape_0_per_frame15=a=(above(bass+mid+treb,.8)); +shape_0_per_frame16=r=int(rand(100))/100; +shape_0_per_frame17=g=int(rand(100))/100; +shape_0_per_frame18=b=int(rand(100))/100; +shape_0_per_frame19=r2=int(rand(100))/100; +shape_0_per_frame20=g2=int(rand(100))/100; +shape_0_per_frame21=b2=int(rand(100))/100; +shape_0_per_frame22=r_border=int(rand(100))/100; +shape_0_per_frame23=g_border=int(rand(100))/100; +shape_0_per_frame24=b_border=int(rand(100))/100; +shapecode_1_enabled=1 +shapecode_1_sides=23 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1024 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10262 +shapecode_1_ang=0.43982 +shapecode_1_tex_ang=0.62832 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.500 +shapecode_1_r2=1.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ma=ma+(above(bass,1)*3.1415*.05*bass); +shape_1_per_frame2=ma=ma-(above(mid,1)*3.1415*.05*mid); +shape_1_per_frame3= +shape_1_per_frame4=mx=mx+(.0001*cos(ma)); +shape_1_per_frame5=my=my+(.0001*sin(ma)); +shape_1_per_frame6= +shape_1_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_1_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_1_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_1_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_1_per_frame11= +shape_1_per_frame12=x=mx; +shape_1_per_frame13=y=my; +shape_1_per_frame14=rad=(bass+treb)/75; +shape_1_per_frame15=a=(above(bass+mid+treb,.1)); +shape_1_per_frame16=r=int(rand(100))/100; +shape_1_per_frame17=g=int(rand(100))/100; +shape_1_per_frame18=b=int(rand(100))/100; +shape_1_per_frame19=r2=int(rand(100))/100; +shape_1_per_frame20=g2=int(rand(100))/100; +shape_1_per_frame21=b2=int(rand(100))/100; +shape_1_per_frame22=r_border=int(rand(100))/100; +shape_1_per_frame23=g_border=int(rand(100))/100; +shape_1_per_frame24=b_border=int(rand(100))/100; +shapecode_2_enabled=0 +shapecode_2_sides=14 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=256 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.20269 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.62832 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.000 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ma=ma+(above(mid,1)*3.1415*.01*mid); +shape_2_per_frame2=ma=ma-(above(treb,1)*3.1415*.01*treb); +shape_2_per_frame3= +shape_2_per_frame4=mx=mx+(.0004*cos(ma)); +shape_2_per_frame5=my=my+(.0004*sin(ma)); +shape_2_per_frame6= +shape_2_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_2_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_2_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_2_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_2_per_frame11= +shape_2_per_frame12=x=mx; +shape_2_per_frame13=y=my; +shape_2_per_frame14= +shape_2_per_frame15=a=(above(bass+mid+treb,.3)); +shapecode_3_enabled=0 +shapecode_3_sides=14 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=256 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.22389 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.62832 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=1.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +shape_3_per_frame2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +shape_3_per_frame3= +shape_3_per_frame4=mx=mx+(.0008*cos(ma)); +shape_3_per_frame5=my=my+(.0008*sin(ma)); +shape_3_per_frame6= +shape_3_per_frame7=mx=if(above(mx,.9),(.9-mx),mx); +shape_3_per_frame8=my=if(above(my,.9),(.9-my),my); +shape_3_per_frame9=mx=if(below(mx,.1),(.9+mx),mx); +shape_3_per_frame10=my=if(below(my,.1),(.9+my),my); +shape_3_per_frame11= +shape_3_per_frame12=x=mx; +shape_3_per_frame13=y=my; +shape_3_per_frame14= +shape_3_per_frame15=a=(above(bass+mid+treb,.2)); +per_frame_init_1=beatrate=1; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=1; +per_frame_init_5=avgdb=1; +per_frame_init_6=fakebeatcount=0; +per_frame_1=vb = vb*0.95 + (1-vb)*pow(bass*treb*mid,2)*0.02; +per_frame_2=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_3=vm = vm*0.95 + (1-vm)*pow(mid,2)*0.02; +per_frame_4=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_5=vt = vt*0.95 + (1-vt)*pow(treb,2)*0.02; +per_frame_6=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_7=vvb = min(1,max(0,vvb)); +per_frame_8=vvm = min(1,max(0,vvm)); +per_frame_9=vvt = min(1,max(0,vvt)); +per_frame_10=q1 = vvb*2;//0.5 + vb - vvb; +per_frame_11=q2 = vvm*2;//0.5 + vm - vvm; +per_frame_12=q3 = vvt*2;//0.5 + vt - vvt; +per_frame_13=v=2; +per_frame_14=bb = bb - vvb*v; +per_frame_15=mm = mm - vvm*v; +per_frame_16=tt = tt - vvt*v; +per_frame_17=q4 = -bb; +per_frame_18=q5 = -mm; +per_frame_19=q6 = -tt; +per_frame_20=q4=(q1+q2+q3)*5; +per_frame_21=q5=(q1+q2+q3)*5; +per_frame_22=q6=(q1+q2+q3)*5; +per_frame_23=q7=(q1+q2+q3)*5; +per_frame_24=q8=(q1+q2+q3)*5; +per_frame_25=q9=(q1+q2+q3)*5; +per_frame_26=q10=(q1+q2+q3)*5; +per_frame_27=q11=(q1+q2+q3)*5; +per_frame_28=q12=(q1+q2+q3)*5; +per_frame_29=q13=(q1+q2+q3)*5; +per_frame_30=q14=(q1+q2+q3)*5; +per_frame_31=q15=(q1+q2+q3)*5; +per_frame_32=q16=(q1+q2+q3)*5; +per_frame_33=q17=(q1+q2+q3)*5; +per_frame_34=q18=(q1+q2+q3)*5; +per_frame_35=q19=(q1+q2+q3)*5; +per_frame_36=q20=(q1+q2+q3)*5; +per_frame_37=q21=(q1+q2+q3)*5; +per_frame_38=q22=(q1+q2+q3)*5; +per_frame_39=q23=(q1+q2+q3)*5; +per_frame_40=q24=(q1+q2+q3)*5; +per_frame_41=q25=(q1+q2+q3)*5; +per_frame_42=q26=(q1+q2+q3)*5; +per_frame_43=q27=(q1+q2+q3)*5; +per_frame_44=q28=(q1+q2+q3)*5; +per_frame_45=q29=(q1+q2+q3)*5; +per_frame_46=q30=(q1+q2+q3)*5; +per_frame_47=q31=(q1+q2+q3)*5; +per_frame_48=q32=(q1+q2+q3)*5; +per_frame_49=db=bass-lbass; +per_frame_50=lbass=bass; +per_frame_51=vol=1+bass+mid+treb; +per_frame_52= +per_frame_53=rs=above(abs(db),maxdb); +per_frame_54=drs=1-rs; +per_frame_55= +per_frame_56=beatrate=1*rs+beatrate*drs; +per_frame_57=avgbeatrate=1*rs+avgbeatrate*drs; +per_frame_58=bbtime=1*rs+bbtime*drs; +per_frame_59=lbbtime=1*rs+lbbtime*drs; +per_frame_60=avgdb=1*rs+avgdb*drs; +per_frame_61=fbc=fbc*drs+1*rs; +per_frame_62=bc=bc*drs+1*rs; +per_frame_63=faketime=1*rs+faketime*drs; +per_frame_64=lftime=1*rs+lftime*drs; +per_frame_65= +per_frame_66= +per_frame_67=avgdb=avgdb*.999+abs(db)*.001; +per_frame_68= +per_frame_69=rawbeatb=above(db*fakebeatb,avgdb*1.3); +per_frame_70=beatb=rawbeatb*above(time-lbbtime,.1*avgbeatrate); +per_frame_71=maxdb=max(maxdb*.9999,abs(db)); +per_frame_72= +per_frame_73=bbtime=time*beatb; +per_frame_74= +per_frame_75=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_76=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_77= +per_frame_78= +per_frame_79=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_80= +per_frame_81= +per_frame_82=faketime=faketime+avgbeatrate*.005; +per_frame_83=//faketime=0; +per_frame_84=fakebeatb=cos(faketime)*.5+.5; +per_frame_85=fb=above(fakebeatb,.9999)*above(faketime-lftime,.5*avgfbr); +per_frame_86=fbr=(1-fb)*fbr+fb*(fbr*.99+(faketime-lftime)*.01); +per_frame_87=avgfbr=avgbr*(1-fb)+fb*(avgfbr*.99+fbr*.01); +per_frame_88= +per_frame_89=fbc=fbc+fb; +per_frame_90=lftime=faketime*fb+(1-fb)*lftime; +per_frame_91= +per_frame_92= +per_frame_93= +per_frame_94=bc=bc+beatb; +per_frame_95= +per_frame_96=monitor=beatb; +per_frame_97=q1=beatb;//equal((fbc-1)%4,0)*fb; +per_frame_98=q2=db; +per_frame_99=q3=fakebeatb; +per_frame_100=q4=avgbeatrate; +per_frame_101=q5=equal(bc%4,0)*beatb; +per_frame_102=q6=equal(bc%16,0)*beatb; +per_frame_103=q7=rawbeatb; +per_frame_104= +per_frame_105=decay=.99; +per_frame_106=warp=0; +per_frame_107=wrap=1; +per_frame_108=worp=0; +per_frame_109= +per_frame_110=dx=.005; +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv ).xyz; +warp_5=`float blur =sin(bass*90)*rad; +warp_6=`ret=0.125*( +warp_7=`GetPixel(float2(uv.x-0.01*blur,uv.y-0.01*blur)) + +warp_8=`GetPixel(float2(uv.x+0.01*blur,uv.y+0.01*blur)) + +warp_9=`GetPixel(float2(uv.x-0.01*blur,uv.y+0.01*blur)) + +warp_10=`GetPixel(float2(uv.x+0.01*blur,uv.y-0.01*blur)) + +warp_11=`GetPixel(float2(uv.x,uv.y-0.01*blur)) + +warp_12=`GetPixel(float2(uv.x,uv.y+0.01*blur)) + +warp_13=`GetPixel(float2(uv.x-0.01*blur,uv.y)) + +warp_14=`GetPixel(float2(uv.x+0.01*blur,uv.y))); +warp_15=`//add a 'bass overbright' effect: +warp_16=`ret-=-(lum(ret)sin(-time*90))*ret*blur; +warp_17=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .1; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, q27*rad1); +comp_9=`uv2.y = uv2.y +.1*q30; +comp_10=`uv2.x = uv2.x +.2*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, 4*rad1); +comp_13=`uv3.y = uv3.y -.1*q30; +comp_14=` +comp_15=` +comp_16=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_17=`crisp = max(crisp,2*GetBlur2(frac(uv2)) + GetBlur2(frac(uv3))); +comp_18=` +comp_19=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_20=` +comp_21=`crisp = 3*crisp * pow(rad,1); +comp_22=`float mask = saturate(1-4*rad); +comp_23=` +comp_24=`ret = crisp + lay1*mask + mask * 2*GetBlur1(uv); +comp_25=` +comp_26=`} diff --git a/presets/presets_tryptonaut/suksma - satanic teleprompter - understudy prohmptz + aenkryptshun.milk b/presets/presets_tryptonaut/suksma - satanic teleprompter - understudy prohmptz + aenkryptshun.milk new file mode 100755 index 0000000000..605bdc174a --- /dev/null +++ b/presets/presets_tryptonaut/suksma - satanic teleprompter - understudy prohmptz + aenkryptshun.milk @@ -0,0 +1,499 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000 +fGammaAdj=1.000 +fDecay=0.960 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wave_0_per_point16=pi23=4*asin(1)*.333333333; +wave_0_per_point17=vol=bass+mid+treb; +wave_0_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_0_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_0_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wave_1_per_point16=pi23=4*asin(1)*.333333333; +wave_1_per_point17=vol=bass+mid+treb; +wave_1_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_1_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_1_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wave_2_per_point16=pi23=4*asin(1)*.333333333; +wave_2_per_point17=vol=bass+mid+treb; +wave_2_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_2_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_2_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +wave_3_per_point16=pi23=4*asin(1)*.333333333; +wave_3_per_point17=vol=bass+mid+treb; +wave_3_per_point18=r=(sin(time*.3+vol-0*pi23)+1)*.5; +wave_3_per_point19=g=(sin(time*.3+vol-1*pi23)+1)*.5; +wave_3_per_point20=b=(sin(time*.3+vol-2*pi23)+1)*.5; +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=beatrate=1; +per_frame_init_2=avgbeatrate=1; +per_frame_init_3=bbtime=1; +per_frame_init_4=lbbtime=1; +per_frame_init_5=avgdb=1; +per_frame_init_6=fakebeatcount=0; +per_frame_1=vb = vb*0.95 + (1-vb)*pow(bass*treb*mid,2)*0.02; +per_frame_2=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_3=vm = vm*0.95 + (1-vm)*pow(mid,2)*0.02; +per_frame_4=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_5=vt = vt*0.95 + (1-vt)*pow(treb,2)*0.02; +per_frame_6=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_7=vvb = min(1,max(0,vvb)); +per_frame_8=vvm = min(1,max(0,vvm)); +per_frame_9=vvt = min(1,max(0,vvt)); +per_frame_10=q1 = vvb*2;//0.5 + vb - vvb; +per_frame_11=q2 = vvm*2;//0.5 + vm - vvm; +per_frame_12=q3 = vvt*2;//0.5 + vt - vvt; +per_frame_13=v=2; +per_frame_14=bb = bb - vvb*v; +per_frame_15=mm = mm - vvm*v; +per_frame_16=tt = tt - vvt*v; +per_frame_17=q4 = -bb; +per_frame_18=q5 = -mm; +per_frame_19=q6 = -tt; +per_frame_20=q4=(q1+q2+q3)*5; +per_frame_21=q5=(q1+q2+q3)*5; +per_frame_22=q6=(q1+q2+q3)*5; +per_frame_23=q7=(q1+q2+q3)*5; +per_frame_24=q8=(q1+q2+q3)*5; +per_frame_25=q9=(q1+q2+q3)*5; +per_frame_26=q10=(q1+q2+q3)*5; +per_frame_27=q11=(q1+q2+q3)*5; +per_frame_28=q12=(q1+q2+q3)*5; +per_frame_29=q13=(q1+q2+q3)*5; +per_frame_30=q14=(q1+q2+q3)*5; +per_frame_31=q15=(q1+q2+q3)*5; +per_frame_32=q16=(q1+q2+q3)*5; +per_frame_33=q17=(q1+q2+q3)*5; +per_frame_34=q18=(q1+q2+q3)*5; +per_frame_35=q19=(q1+q2+q3)*5; +per_frame_36=q20=(q1+q2+q3)*5; +per_frame_37=q21=(q1+q2+q3)*5; +per_frame_38=q22=(q1+q2+q3)*5; +per_frame_39=q23=(q1+q2+q3)*5; +per_frame_40=q24=(q1+q2+q3)*5; +per_frame_41=q25=(q1+q2+q3)*5; +per_frame_42=q26=(q1+q2+q3)*5; +per_frame_43=q27=(q1+q2+q3)*5; +per_frame_44=q28=(q1+q2+q3)*5; +per_frame_45=q29=(q1+q2+q3)*5; +per_frame_46=q30=(q1+q2+q3)*5; +per_frame_47=q31=(q1+q2+q3)*5; +per_frame_48=q32=(q1+q2+q3)*5; +per_frame_49=db=bass-lbass; +per_frame_50=lbass=bass; +per_frame_51=vol=1+bass+mid+treb; +per_frame_52= +per_frame_53=rs=above(abs(db),maxdb); +per_frame_54=drs=1-rs; +per_frame_55= +per_frame_56=beatrate=1*rs+beatrate*drs; +per_frame_57=avgbeatrate=1*rs+avgbeatrate*drs; +per_frame_58=bbtime=1*rs+bbtime*drs; +per_frame_59=lbbtime=1*rs+lbbtime*drs; +per_frame_60=avgdb=1*rs+avgdb*drs; +per_frame_61=fbc=fbc*drs+1*rs; +per_frame_62=bc=bc*drs+1*rs; +per_frame_63=faketime=1*rs+faketime*drs; +per_frame_64=lftime=1*rs+lftime*drs; +per_frame_65= +per_frame_66= +per_frame_67=avgdb=avgdb*.999+abs(db)*.001; +per_frame_68= +per_frame_69=rawbeatb=above(db*fakebeatb,avgdb*1.3); +per_frame_70=beatb=rawbeatb*above(time-lbbtime,.1*avgbeatrate); +per_frame_71=maxdb=max(maxdb*.9999,abs(db)); +per_frame_72= +per_frame_73=bbtime=time*beatb; +per_frame_74= +per_frame_75=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; +per_frame_76=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; +per_frame_77= +per_frame_78= +per_frame_79=lbbtime=time*beatb+(1-beatb)*lbbtime; +per_frame_80= +per_frame_81= +per_frame_82=faketime=faketime+avgbeatrate*.005; +per_frame_83=//faketime=0; +per_frame_84=fakebeatb=cos(faketime)*.5+.5; +per_frame_85=fb=above(fakebeatb,.9999)*above(faketime-lftime,.5*avgfbr); +per_frame_86=fbr=(1-fb)*fbr+fb*(fbr*.99+(faketime-lftime)*.01); +per_frame_87=avgfbr=avgbr*(1-fb)+fb*(avgfbr*.99+fbr*.01); +per_frame_88= +per_frame_89=fbc=fbc+fb; +per_frame_90=lftime=faketime*fb+(1-fb)*lftime; +per_frame_91= +per_frame_92= +per_frame_93= +per_frame_94=bc=bc+beatb; +per_frame_95= +per_frame_96=monitor=beatb; +per_frame_97=q1=beatb;//equal((fbc-1)%4,0)*fb; +per_frame_98=q2=db; +per_frame_99=q3=fakebeatb; +per_frame_100=q4=avgbeatrate; +per_frame_101=q5=equal(bc%4,0)*beatb; +per_frame_102=q6=equal(bc%16,0)*beatb; +per_frame_103=q7=rawbeatb; +per_frame_104= +per_frame_105=decay=.99; +per_frame_106=warp=0; +per_frame_107=wrap=1; +per_frame_108=worp=0; +per_frame_109= +per_frame_110=dx=.005; +per_pixel_1=//flexi per vertex - circular canvas warps +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=dir = bass; +per_pixel_5=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_6=x1 = if( above(d,0.3),0, sin(y-cy1)*0.05*dir); +per_pixel_7=y1 = if( above(d,0.3),0, -sin(x-cx1)*0.05*dir); +per_pixel_8=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_9=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_10=dir = -mid*2; +per_pixel_11=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_12=x2 = if( above(d,0.2),0, sin(y-cy1)*0.05*dir); +per_pixel_13=y2 = if( above(d,0.2),0, -sin(x-cx1)*0.05*dir); +per_pixel_14=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_15=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_16=dir = treb*3; +per_pixel_17=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_18=x3 = if( above(d,0.1),0, sin(y-cy1)*0.05*dir); +per_pixel_19=y3 = if( above(d,0.1),0, -sin(x-cx1)*0.05*dir); +per_pixel_20=dx = dx+x1+x2+x3; +per_pixel_21=dy = dy+y1+y2+y3; +per_pixel_22= +warp_1=`sampler sampler_fw_clouds; +warp_2=`shader_body +warp_3=`{// sample previous frame +warp_4=`ret = tex2D( sampler_main, uv ).xyz; +warp_5=`float blur =sin(bass*90)*rad; +warp_6=`ret=0.125*( +warp_7=`GetPixel(float2(uv.x-0.01*blur,uv.y-0.01*blur)) + +warp_8=`GetPixel(float2(uv.x+0.01*blur,uv.y+0.01*blur)) + +warp_9=`GetPixel(float2(uv.x-0.01*blur,uv.y+0.01*blur)) + +warp_10=`GetPixel(float2(uv.x+0.01*blur,uv.y-0.01*blur)) + +warp_11=`GetPixel(float2(uv.x,uv.y-0.01*blur)) + +warp_12=`GetPixel(float2(uv.x,uv.y+0.01*blur)) + +warp_13=`GetPixel(float2(uv.x-0.01*blur,uv.y)) + +warp_14=`GetPixel(float2(uv.x+0.01*blur,uv.y))); +warp_15=`//add a 'bass overbright' effect: +warp_16=`ret-=-(lum(ret)sin(-time*90))*ret*blur; +warp_17=`} +comp_1=`float z; +comp_2=`float3 ret1, neu, mus; +comp_3=`float2 rs,rs2,uv1,uv2, uv3,uv4,uv6,dz,dz1; +comp_4=`shader_body +comp_5=`{ +comp_6=`float2 uv2; +comp_7=`//uv = (uv-0.5) * aspect.xy + .5; +comp_8=`dz = 0; +comp_9=` +comp_10=`float2 hor = float2(texsize.z,0); +comp_11=`float2 ver = float2(0,texsize.w); +comp_12=` +comp_13=`float dist = 1; +comp_14=`float inten = 1; +comp_15=`ret1 = 0; +comp_16=`float anz = 1; +comp_17=`float n = 0; +comp_18=`uv4 = (uv); +comp_19=` dz.x = lum(GetPixel(uv4+hor)- GetPixel (uv4-hor)); +comp_20=` dz.y = lum(GetPixel(uv4+ver)- GetPixel (uv4-ver)); +comp_21=` +comp_22=` +comp_23=`mus = .5*GetPixel(uv4-0*dz)-0*dz.x; +comp_24=` +comp_25=`uv2 = uv-.5; +comp_26=`while (n <= anz) { +comp_27=` dist = 1-frac(1.0/anz*n-.1); //evtl sqrt !; +comp_28=` +comp_29=` inten = sqrt(dist)*(1-dist*dist)*4; +comp_30=` +comp_31=` uv3 = q27*2*uv2*dist + float2 (time/8,0); +comp_32=` uv3 = frac(uv3); +comp_33=` uv3 *= aspect.yx; +comp_34=` uv3 = .1 * cos(22*uv3) + 18 *dz ; +comp_35=` neu = saturate(.02/length(uv3)); +comp_36=` neu = dist*neu + (1-dist)*lum(neu)* .5*(1+roam_cos); +comp_37=` ret1 = max(ret1,neu*inten); +comp_38=`n++; +comp_39=`} +comp_40=` +comp_41=`ret = ret1 + saturate(8*mus*(.2+ret1)) ; +comp_42=`} diff --git a/presets/presets_tryptonaut/suksma - sick star bloat.milk b/presets/presets_tryptonaut/suksma - sick star bloat.milk new file mode 100755 index 0000000000..02bbed1027 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - sick star bloat.milk @@ -0,0 +1,277 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=2.700 +fDecay=0.990 +fVideoEchoZoom=1.216 +fVideoEchoAlpha=0.800 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001 +fWaveScale=1.000 +fWaveSmoothing=0.750 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=1.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.100 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.100 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_num_inst=13 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=0.600 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.500 +shapecode_0_a2=0.500 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.600 +shape_0_per_frame1=x = q1 + int(rand(15))*bass_att*0.02; +shape_0_per_frame2=y = q2 + int(rand(15))*mid_att*0.02; +shape_0_per_frame3=rad = 0.076 + 0.004*int(rand(11)); +shape_0_per_frame4= +shape_0_per_frame5=b = .35+.2*sin(time*0.73)+int(rand(100))*0.001; +shape_0_per_frame6=b2 = .35+.2*sin(time*0.73)+int(rand(100))*0.001; +shape_0_per_frame7=g = .55+.125*sin(time*.43)+int(rand(100))*0.001; +shape_0_per_frame8=g2 = .55+.125*sin(time*.43)+int(rand(100))*0.001; +shapecode_1_enabled=1 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=14 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.09990 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=0.600 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.500 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.600 +shape_1_per_frame1=x = q2 + int(rand(15))*mid_att*0.02; +shape_1_per_frame2=y = 1-q1 + int(rand(15))*treb_att*0.02; +shape_1_per_frame3=rad = 0.076 + 0.004*int(rand(11)); +shape_1_per_frame4= +shape_1_per_frame5=r = .4 +.2*sin(time*.53)+int(rand(100))*0.001; +shape_1_per_frame6=r2 = .4 +.2*sin(time*.53)+int(rand(100))*0.001; +shape_1_per_frame7=b = .55 +.12*sin(time*.63)+int(rand(100))*0.001; +shape_1_per_frame8=b2 = .55 +.12*sin(time*.63)+int(rand(100))*0.001; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=2.29737 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.42077 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=0.200 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.200 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=wave_r = wave_r - 0.4*bass; +per_frame_2=wave_b= wave_b - 0.4*treb; +per_frame_3=wave_g = wave_g - 0.4*mid; +per_frame_4=mv_l = mv_l + 0.2*bass; +per_frame_5=mv_r = mv_r + wave_r *0.7; +per_frame_6=mv_b = mv_b + wave_b *0.7; +per_frame_7=mv_g = mv_g + wave_g *0.7; +per_frame_8=rot = rot + 0.8*bass*(min(0.07*sqr(zoom/treb_att),0.07*sqr(zoom/bass_att))); +per_pixel_1=zoom = zoom + 0.019 + 0.3*min((0.55-rad)*max(bass_att,bass),(0.55-rad)*0.3*sin(bass)); +warp_1=`shader_body +warp_2=`{ +warp_3=` ret = tex2D( sampler_main, uv ).xyz; +warp_4=` +warp_5=` // ERROR DIFFUSION DITHER - looks great +warp_6=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_7=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*3; +warp_8=` +warp_9=` // darken over time +warp_10=` //ret -= 0.004; +warp_11=` //ret *= 0.99; +warp_12=` //ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_13=` ret = frac(ret - 0.005); +warp_14=`} +warp_15=` +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`ret = tex2D(sampler_main, uv).x, +comp_5=` +comp_6=`ret = lerp ( +comp_7=`GetBlur1(uv).x + GetBlur3(uv).x, +comp_8=`ret, +comp_9=`pow(ret,.5)); +comp_10=` +comp_11=`// ret = tex2D(sampler_main, uv).x - GetBlur1(uv).x; +comp_12=` ret = pow(ret,float3(.5,1.2,8))*1.25 -.25; +comp_13=` ret *= 1.0; //gamma +comp_14=` +comp_15=`} diff --git a/presets/presets_tryptonaut/suksma - squasm minor plot frugal koonut kalifee.milk b/presets/presets_tryptonaut/suksma - squasm minor plot frugal koonut kalifee.milk new file mode 100755 index 0000000000..8e69771266 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - squasm minor plot frugal koonut kalifee.milk @@ -0,0 +1,314 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=4.000 +fGammaAdj=1.000 +fDecay=0.940 +fVideoEchoZoom=0.597 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-1.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.000 +zoom=13.29089 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=-0.28000 +dy=-0.32000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.005 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=12.800 +nMotionVectorsY=9.600 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=1.000 +mv_g=0.910 +mv_b=0.710 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.49138 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.700 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=x=.5+q4;y=.5+q5; +shape_0_per_frame2=a=bass_att+mid_att+treb_att; +shape_0_per_frame3=a=a*0.25; +shape_0_per_frame4=a=a*a*1.5; +shape_0_per_frame5=r2 = 0.5*sin(bass*1.31); +shape_0_per_frame6=g2 = 0.5*sin(bass*1.32); +shape_0_per_frame7=b2 = 0.5*sin(bass*1.33); +shape_0_per_frame8=rad = sin(bass+vol); +shape_0_per_frame9=r = bass+1.31*time; +shape_0_per_frame10=g = bass+1.32*time/2; +shape_0_per_frame11=b = bass+1.33*time/3; +shape_0_per_frame12=zoom = sin(bass); +shapecode_1_enabled=0 +shapecode_1_sides=24 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.01842 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.81954 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=tex_ang=0.01; +shape_1_per_frame2=x=.5-q4; +shape_1_per_frame3=y=.5-q5; +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1= +per_frame_init_2=zoom=1; +per_frame_init_3=xpos=0; +per_frame_init_4=ypos=0; +per_frame_1=decay=1; +per_frame_2= +per_frame_3=vol= (bass+mid+treb)*0.55; +per_frame_4=vol=vol; +per_frame_5= +per_frame_6= +per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); +per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); +per_frame_9= +per_frame_10= +per_frame_11= +per_frame_12= +per_frame_13=zoom=1; +per_frame_14= +per_frame_15=musictime=musictime+vol; +per_frame_16= +per_frame_17=//=sin(musictime*0.02)*0.3; +per_frame_18=//q5=sin(musictime*0.01)*0.3; +per_frame_19= +per_frame_20=dx=sin(musictime*0.1)*0.07; +per_frame_21=dy=cos(musictime*0.069)*0.07; +per_frame_22= +per_frame_23=q8=musictime; +per_frame_24= +per_frame_25= +per_frame_26=q4=sin(musictime*0.03*0.5)*0.1; +per_frame_27=q5=cos(musictime*0.03*2)*0.1; +per_frame_28= +per_frame_29=monitor=rot; +per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; +per_pixel_2=cx=0.5+q4; +per_pixel_3=cy=0.5-q5; +per_pixel_4= +per_pixel_5=zm=pow(rd,sin(q8*0.02)+2.5)*2; +per_pixel_6=zm=max(zm,0.5); +per_pixel_7=sx=zm; +per_pixel_8=sy=zm +warp_1=`shader_body { +warp_2=`float corr = texsize.xy*texsize_noise_lq.zw; +warp_3=`float2 uv1 = float2(uv.x-0.5,uv.y-0.5)*aspect.xy; +warp_4=` +warp_5=` +warp_6=`float3 noiseVal =lum (tex2D(sampler_noise_lq, corr*uv*.02+ .1*rand_frame)); +warp_7=` +warp_8=`float2 k1 = float2((uv.x), (uv.y)); +warp_9=` +warp_10=`float3 ret1 = GetBlur1(uv) ; +warp_11=` +warp_12=`float k2 = (20*uv)%2; +warp_13=` +warp_14=`float2 zz = uv.xy * texsize.xy *.08; +warp_15=`float h1 = (tan(zz.x)); +warp_16=`float h2 = (tan(zz.y)); +warp_17=` +warp_18=`uv.xy -= float2(h1,h2)*texsize.zw * 3; +warp_19=` +warp_20=` +warp_21=`float3 crisp = tex2D(sampler_main,uv) + noiseVal/30; +warp_22=` +warp_23=`crisp = lerp (crisp, 1-crisp.zyx, 0.01); +warp_24=` +warp_25=` ret = crisp -.03 - 0.2*pow(1-rad,18); +warp_26=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` //uv = lerp(uv, float2(rad,uv.x), roam_cos.x); +comp_4=` //uv = lerp(uv, float2(uv.y,rad), roam_cos.y); +comp_5=` uv = float2(rad,uv.y); +comp_6=` +comp_7=` ret = tex2D(sampler_main, uv).xyz; +comp_8=` ret += GetBlur1(uv); +comp_9=` ret *= float3(1.3,0.8,0.5)*0.8; +comp_10=`} diff --git a/presets/presets_tryptonaut/suksma - sun pod gambit couch nz+2 satangastriq.milk b/presets/presets_tryptonaut/suksma - sun pod gambit couch nz+2 satangastriq.milk new file mode 100755 index 0000000000..80fee94852 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - sun pod gambit couch nz+2 satangastriq.milk @@ -0,0 +1,441 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000000 +fGammaAdj=1.000 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=0 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=0.012 +fWaveSmoothing=0.900 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=0.010 +fWarpScale=1.766 +fZoomExponent=1.00016 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.400 +wave_b=0.300 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.390 +mv_g=0.440 +mv_b=0.900 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.300 +wavecode_0_g=0.700 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_frame1=r = 0.01*sin(bass+mid+time/2)+samples; +wave_0_per_frame2=g = 0.01*sin(bass+mid+time/4)+samples; +wave_0_per_frame3=b = 0.01*sin(bass+mid+time/6)+samples; +wave_0_per_frame4=a = 0.01*sin(bass+vol)*sqr(time); +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2= +wave_0_per_point3=flip=flip+1; +wave_0_per_point4=flip=flip*below(flip,2); +wave_0_per_point5= +wave_0_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; +wave_0_per_point7= +wave_0_per_point8=xp=sin(n+phase)*flip; +wave_0_per_point9=yp=cos(n+phase)*flip; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//rotate on y during draw +wave_0_per_point13=ang=n*2+phase*0.2; +wave_0_per_point14=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point15=yq=yp; +wave_0_per_point16=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point17= +wave_0_per_point18=//rotation; +wave_0_per_point19=ang=time*0.1; +wave_0_per_point20=xp=xq*sin(ang) + zq*cos(ang); +wave_0_per_point21=yp=yq; +wave_0_per_point22=zp=xq*cos(ang) - zq*sin(ang); +wave_0_per_point23= +wave_0_per_point24=ang=time*0.17; +wave_0_per_point25=xq=xp; +wave_0_per_point26=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point27=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point28= +wave_0_per_point29= +wave_0_per_point30=//push into viewspace +wave_0_per_point31=zq=zq+3.1; +wave_0_per_point32= +wave_0_per_point33= +wave_0_per_point34=//project into screenspace +wave_0_per_point35=xs=xq/zq; +wave_0_per_point36=ys=yq/zq; +wave_0_per_point37= +wave_0_per_point38= +wave_0_per_point39=x=xs+0.5; +wave_0_per_point40=y=ys*1.3+0.5; +wave_0_per_point41=a=(1-flip)*0.05; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=10 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.41906 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.25716 +shapecode_0_r=0.800 +shapecode_0_g=0.900 +shapecode_0_b=1.000 +shapecode_0_a=0.200 +shapecode_0_r2=0.000 +shapecode_0_g2=0.500 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24=q4=sin(atime*.03); +per_frame_25=q5=cos(atime*.030383824); +per_frame_26=q6=tan(atime*.029384834); +per_frame_27= +per_frame_28=wave_r = wave_r + 0.35*sin(0.4*time) + 0.16*sin(0.5*time); +per_frame_29=wave_g = wave_g + 0.36*sin(0.7*time) + 0.15*sin(0.11*time); +per_frame_30=wave_b = wave_b + 0.37*sin(0.84*time) + 0.15*sin(0.3*time); +per_frame_31=warp = 0; +per_frame_32= +per_frame_33=//ob_r = wave_r; +per_frame_34=//ob_g = wave_g; +per_frame_35=//ob_b = wave_b; +per_frame_36=//ib_r = wave_g; +per_frame_37=//ib_b = wave_r; +per_frame_38=//ib_g = wave_b; +per_pixel_1=myx = y-.5; +per_pixel_2=myy = x-0.25; +per_pixel_3=dy = 2*(2*myx*myy); +per_pixel_4=dx = 2*((myy*myy) - (myx*myx))+mid/1.52 +sin(time/2) /2 ; +per_pixel_5=it = 0.3*sin(time*0.2); +per_pixel_6=radm = rad*0.5; +per_pixel_7=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); +per_pixel_8=mod = sin(ang*5); +per_pixel_9=mod = mod*mod; +per_pixel_10=zoom = .99 - abs(0.01*mod); +per_pixel_11=mx = (x-.5)*1.33; +per_pixel_12=my = y - .5; +per_pixel_13=ckdx=dx;////////////////////////////////////////// +per_pixel_14=ckdy=dy; +per_pixel_15=cksx=sx; +per_pixel_16=cksy=sy; +per_pixel_17=ckrt=rot; +per_pixel_18=ckzm=zoom; +per_pixel_19=ckcx=cx; +per_pixel_20=ckcy=cy; +per_pixel_21=ckwp=warp; +per_pixel_22= +per_pixel_23=dx=0; +per_pixel_24=dy=0; +per_pixel_25=sx=1; +per_pixel_26=sy=1; +per_pixel_27=rot=0; +per_pixel_28=zoom=1; +per_pixel_29=cx=.5; +per_pixel_30=cy=.5; +per_pixel_31=warp=0;///////////////////////////////////////////////////// +per_pixel_32= +per_pixel_33= +per_pixel_34=rf=if( above (x,.5),1,0); +per_pixel_35= +per_pixel_36=vt=(x-.5)*2; +per_pixel_37=dx=rf*vt+dx*(1-rf); +per_pixel_38=rf=1-rf; +per_pixel_39=rot=rf*rot; +per_pixel_40=zoom=rf*zoom+1*(1-rf); +per_pixel_41=dy=dy*rf; +per_pixel_42=sx=rf*sx+1*(1-rf); +per_pixel_43=rf=if( above (y,.5),1,0); +per_pixel_44= +per_pixel_45=vt=(y-.5)*2; +per_pixel_46=dy=rf*vt+dy*(1-rf); +per_pixel_47=rf=1-rf; +per_pixel_48=rot=rf*rot; +per_pixel_49=zoom=rf*zoom+1*(1-rf); +per_pixel_50=//dy=dy*rf; +per_pixel_51=sx=rf*sx+1*(1-rf); +per_pixel_52=//flip= (-2 * above(sin(time),-0.9) )+1; +per_pixel_53=//var=(bass+mid+treb)/3; +per_pixel_54= +per_pixel_55=//dx = equal(seg,1)*(x - .5)*2; +per_pixel_56=/////////////////////////////////////// +per_pixel_57=cr1=(int(sin(treb*4+mid*2)/2+.5+.99)); +per_pixel_58=cr2=cr1; +per_pixel_59=crx=cr2-cr1; +per_pixel_60=ci=rad; +per_pixel_61=cb=.25 ; +per_pixel_62=crs=2; +per_pixel_63=cr=pow(sin(ci*6.3-(cb*6.3))/2+.5,crs)*crx+cr1; +per_pixel_64=cqr=if( above (ci,.25+cb),cr,crx+cr1);crr=if( below(ci,1.5),cqr,crx+cr1); +per_pixel_65=jx1=crr; +per_pixel_66=kx1=1-crr; +per_pixel_67= +per_pixel_68=cjdx=dx; +per_pixel_69=cjdy=dy; +per_pixel_70=cjsx=sx; +per_pixel_71=cjsy=sy; +per_pixel_72=cjrt=rot; +per_pixel_73=cjzm=zoom; +per_pixel_74=cjcx=cx; +per_pixel_75=cjcy=cy; +per_pixel_76=cjwp=warp; +per_pixel_77= +per_pixel_78=dx=(jx1*cjdx+kx1*ckdx); +per_pixel_79=dy=(jx1*cjdy+kx1*ckdy); +per_pixel_80=sx=(jx1*cjsx+kx1*cksx); +per_pixel_81=sy=(jx1*cjsy+kx1*cksy); +per_pixel_82=rot=(jx1*cjrt+kx1*ckrt); +per_pixel_83=zoom=(jx1*cjzm+kx1*ckzm); +per_pixel_84=cx=(jx1*cjcx+kx1*ckcx); +per_pixel_85=cy=(jx1*cjcy+kx1*ckcy); +per_pixel_86=warp=(jx1*cjwp+kx1*ckwp);//////////////////////////////////////////////////// +per_pixel_87= +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` // sample previous frame +warp_5=` float3 a = tex2d(sampler_main, uv).xyz; +warp_6=` float3 b = GetBlur1(uv)*5; +warp_7=` +warp_8=` float2 uv2 = uv + (a-b).xy*texsize.zw*5; +warp_9=` ret = tex2d(sampler_main, uv2).xyz; +warp_10=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_11=` ((uv2.xyy*q27 +warp_12=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_13=` ).xyz* +warp_14=` float3(1,1,0)*0.05 + +warp_15=` time*float3(0,0,1)*q29 +warp_16=` ); +warp_17=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_18=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_19=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_20=` +warp_21=` // add noise +warp_22=` float t = 0.01; +warp_23=` ret += (tex2D(sampler_noise_lq, uv_orig.xy*texsize.xy*texsize_noise_lq.zw).xyz*2-1)*t; +warp_24=` +warp_25=` // darken +warp_26=` ret -= 0.00014; +warp_27=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` uv *= 0.5; +comp_4=` ret = tex2D(sampler_main, uv).xyz; +comp_5=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz); +comp_6=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_7=` ((uv.xyy*q28 +comp_8=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_9=` ).xyz* +comp_10=` float3(1,1,0)*0.05 + +comp_11=` time*float3(0,0,1)*q31 +comp_12=` ); +comp_13=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_14=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_15=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_16=` ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz); +comp_17=` ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz); +comp_18=` ret *= 1.666; +comp_19=` +comp_20=`} +comp_21=` +comp_22=` diff --git a/presets/presets_tryptonaut/suksma - tech support for the dead.milk b/presets/presets_tryptonaut/suksma - tech support for the dead.milk new file mode 100755 index 0000000000..12266c9759 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - tech support for the dead.milk @@ -0,0 +1,328 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=1.000 +fDecay=0.950 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=3 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.478 +fWaveScale=0.060 +fWaveSmoothing=0.900 +fWaveParam=-0.200 +fModWaveAlphaStart=0.390 +fModWaveAlphaEnd=1.180 +fWarpAnimSpeed=1.000 +fWarpScale=0.010 +fZoomExponent=1.64462 +fShader=0.000 +zoom=1.07163 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.10059 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=4.480 +nMotionVectorsY=4.320 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.050 +mv_r=1.000 +mv_g=0.200 +mv_b=0.200 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.74192 +wavecode_0_smoothing=0.00000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.020 +wave_0_per_point1=q3=bnot(q3); +wave_0_per_point2= +wave_0_per_point3=x=.5+(equal(q3,0)*(int(rand(50))-25)*.02); +wave_0_per_point4=y=.5+(equal(q3,0)*(int(rand(50))-25)*.02); +wavecode_1_enabled=1 +wavecode_1_samples=62 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=0.200 +wave_1_per_point1=r=bass*.05; +wave_1_per_point2=cd=cd+.001; +wave_1_per_point3= +wave_1_per_point4=c=int(rand(10))*3.1415927*.2; +wave_1_per_point5=c=c+cd; +wave_1_per_point6= +wave_1_per_point7=x=.5+(cos(c)*r); +wave_1_per_point8=y=.5+(sin(c)*r); +wave_1_per_point9= +wave_1_per_point10=r=abs(sin(time*.77)); +wave_1_per_point11=g=treb*.5 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.150 +shapecode_0_y=0.820 +shapecode_0_rad=1.49765 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.36971 +shapecode_0_r=1.000 +shapecode_0_g=0.400 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_per_frame1=ra=ra-(bass_att*.01); +shape_0_per_frame2= +shape_0_per_frame3=ang=ra; +shape_0_per_frame4= +shape_0_per_frame5=x=abs(sin(time*.1)); +shape_0_per_frame6=y=abs(cos((time+.2)*.3)); +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.830 +shapecode_1_y=0.820 +shapecode_1_rad=1.49766 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.36971 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.500 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.600 +shapecode_1_b2=0.700 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=ra=ra+(treb_att*.025); +shape_1_per_frame2= +shape_1_per_frame3=ang=ra; +shape_1_per_frame4= +shape_1_per_frame5=x=abs(sin(time*.2)); +shape_1_per_frame6=y=abs(cos(time*.7)); +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.270 +shapecode_2_y=0.200 +shapecode_2_rad=1.32910 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.40839 +shapecode_2_r=0.400 +shapecode_2_g=0.800 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=0.200 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=ra=ra+if(above(treb,.5),treb*.03,.01); +shape_2_per_frame2= +shape_2_per_frame3=ang=ra; +shape_2_per_frame4=rad=rad+(treb_att*.1); +shape_2_per_frame5= +shape_2_per_frame6=y=abs(sin(time*.23)); +shape_2_per_frame7=x=abs(cos(time*.7)); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.750 +shapecode_3_y=0.250 +shapecode_3_rad=1.46815 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.40839 +shapecode_3_r=1.000 +shapecode_3_g=0.900 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_per_frame1=ra=ra-if(above(bass,1.3),bass*.02,.01); +shape_3_per_frame2= +shape_3_per_frame3=ang=ra; +shape_3_per_frame4=rad=rad+(bass_att*.1); +shape_3_per_frame5= +shape_3_per_frame6=x=abs(sin(time*.25)); +shape_3_per_frame7= +per_frame_1=vol = min(((5*bass + 3*mid_att + 2*treb)/10+0.15),2.15); +per_frame_2=wave_r = wave_r + 0.05*sin(3.23*time)+ 0.05*sin(0.46*time); +per_frame_3=wave_g = wave_g + 0.2*sin(2.71*time)+ 0.05*sin(0.76*time); +per_frame_4=wave_b = wave_b + 0.15*sin(1.132*time)+ 0.05*sin(0.546*time); +per_frame_5=wave_g = if(below(wave_r+wave_g+wave_b,0.1),wave_g+0.5,wave_g); +per_frame_6=wave_x = wave_x + 0.03*vol*sin(0.727*time); +per_frame_7=wave_y = wave_y + 0.04*vol*sin(0.777*time); +per_frame_8=zoom = vol*0.3 + 0.06*sin(0.54*time) + 0.97; +per_frame_9=dx = dx + 0.0075*sin(1.23*time); +per_frame_10=dy = dy + 0.0075*sin(1.43*time); +per_frame_11=rot = rot + 0.05*sin(time); +per_frame_12=q2=bass+treb+mid; +per_pixel_1=zoom = zoom - rad*0.9; +warp_1=`#define sampler_pic sampler_prayerwheel +warp_2=`sampler2D sampler_pic; +warp_3=` +warp_4=`shader_body +warp_5=`{ +warp_6=` ret = tex2D( sampler_main, uv ).xyz; +warp_7=` +warp_8=` // ERROR DIFFUSION DITHER - looks great +warp_9=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy; +warp_10=` ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*1; +warp_11=` +warp_12=` // mix in img... +warp_13=` float3 pic = tex2D(sampler_pic, uv_orig).xyz; +warp_14=` float lum = lum(pic); +warp_15=` float use_it = abs(lum - frac((bass+mid+treb)*0.2)); +warp_16=` use_it = saturate(1 - use_it*33); +warp_17=` ret = lerp(ret, pic, use_it.xxx); +warp_18=` +warp_19=` // darken over time +warp_20=` //ret -= 0.004; +warp_21=` //ret *= 0.99; +warp_22=` ret *= 0.97 + 0.03*saturate( length(uv - uv_orig)*200 ); // center only +warp_23=`} +warp_24=` +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`//Code bits by Flexi and Geiss +comp_5=` +comp_6=` float2 d = texsize.zw*8; +comp_7=` float1 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ).y; +comp_8=` float1 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ).y; +comp_9=` float2 uv_y = uv+float2(dx,dy)*0.55; +comp_10=` float2 uv_y2 = (uv_y*1.25)-.125; +comp_11=` +comp_12=` +comp_13=` ret = lerp(ret,1-ret,.7*GetBlur1(uv_y)+.2*GetPixel(uv)); +comp_14=` ret = lerp(ret,ret-.1*GetBlur3(uv_y)+.1*GetBlur1(uv_y2)+.42*GetPixel(uv_y),.25); +comp_15=` //ret *= .75; +comp_16=` ret *= saturate(length(ret-0.5)*5); +comp_17=` //ret = ret.xy; +comp_18=` ret = lum(ret); +comp_19=` ret += 1.25; +comp_20=` ret *= ret*.45; +comp_21=` float3 mask = GetBlur3(uv)-GetBlur1(uv)-.25*GetBlur2(uv_y); +comp_22=` ret *= lerp(ret,1.3*ret*mask,pow(hue_shader.zxy,q2*(1-ret))); +comp_23=` ret += .05; +comp_24=` ret *= 1.1*ret; +comp_25=` ret *= (hue_shader*4)-2.75; +comp_26=` ret *= 3.5-.5*saturate(ret); +comp_27=` +comp_28=`} diff --git a/presets/presets_tryptonaut/suksma - the placebo unlicensed rip off whore.milk b/presets/presets_tryptonaut/suksma - the placebo unlicensed rip off whore.milk new file mode 100755 index 0000000000..d8335016f6 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - the placebo unlicensed rip off whore.milk @@ -0,0 +1,512 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.500 +nVideoEchoOrientation=1 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.459 +fWarpScale=2.007 +fZoomExponent=1.00000 +fShader=0.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=0.99990 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.300 +nMotionVectorsX=64.000 +nMotionVectorsY=4.800 +mv_dx=0.400 +mv_dy=0.000 +mv_l=1.000 +mv_r=0.000 +mv_g=0.500 +mv_b=1.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=0.060 +wave_0_per_point1=xspout=.5; +wave_0_per_point2=yspout=-.01; +wave_0_per_point3= +wave_0_per_point4=pphase=9999*sample*sample*.0001; +wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; +wave_0_per_point6=pheight=((sample*9893)%100)*.002; +wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; +wave_0_per_point8= +wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); +wave_0_per_point10=g=((sample*9954)%100)*.01; +wave_0_per_point11= +wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); +wave_0_per_point14= +wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); +wave_0_per_point16= +wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); +wave_0_per_point18= +wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); +wave_0_per_point20= +wave_0_per_point21=x=px; +wave_0_per_point22=y=py; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=st = sample*4; +wave_1_per_point2=stt = st - int(st); +wave_1_per_point3= +wave_1_per_point4=x = stt; +wave_1_per_point5=x = if( above(st,1) , 1 , x ); +wave_1_per_point6=x = if( above(st,2) , 1-stt , x ); +wave_1_per_point7=x = if( above(st,3) , 0 , x ); +wave_1_per_point8= +wave_1_per_point9=y = 0; +wave_1_per_point10=y = if( above(st,1) , stt , y ); +wave_1_per_point11=y = if( above(st,2) , 1 , y ); +wave_1_per_point12=y = if( above(st,3) , 1-stt , y ); +wave_1_per_point13= +wave_1_per_point14= +wave_1_per_point15=phs=time*0.26; +wave_1_per_point16= +wave_1_per_point17=//w=sin(sample*6.283 * 6 + time*0.5) * 0.5 + 0.6; +wave_1_per_point18=w = above( sin(time*3) , 0); +wave_1_per_point19= +wave_1_per_point20= +wave_1_per_point21=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*1.5; +wave_1_per_point22=r=if( above(r,1) , 2-r , r ) * w; +wave_1_per_point23=r=1- pow(1-r,2); +wave_1_per_point24= +wave_1_per_point25=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*1.5; +wave_1_per_point26=g=if( above(g,1) , 2-g , g ) * w; +wave_1_per_point27=g=1- pow(1-g,2); +wave_1_per_point28= +wave_1_per_point29=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*1.5; +wave_1_per_point30=b=if( above(b,1) , 2-b , b ) * w; +wave_1_per_point31=b=1- pow(1-b,2); +wave_1_per_point32= +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=0.000 +wavecode_2_a=1.000 +wave_2_per_point1=n=sample*6.283; +wave_2_per_point2=phs=-sample * 0.2; +wave_2_per_point3=tm=q1 + phs*4; +wave_2_per_point4= +wave_2_per_point5=flip=flip+1; +wave_2_per_point6=flip=flip*below(flip,2); +wave_2_per_point7= +wave_2_per_point8=xp=0; +wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); +wave_2_per_point10=zp=0; +wave_2_per_point11= +wave_2_per_point12=//spin; +wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; +wave_2_per_point14=sa=sin(ang);ca=cos(ang); +wave_2_per_point15=xr=xp*sa + yp*ca; +wave_2_per_point16=yr=xp*ca - yp*sa; +wave_2_per_point17=zr=zp; +wave_2_per_point18= +wave_2_per_point19=xp=xr; +wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; +wave_2_per_point21=zp=zr; +wave_2_per_point22= +wave_2_per_point23=//wrist movement; +wave_2_per_point24=ang=sin(tm*2); +wave_2_per_point25= +wave_2_per_point26=xq=xp; +wave_2_per_point27=sa=sin(ang);ca=cos(ang); +wave_2_per_point28=yq=yp*sa + zp*ca; +wave_2_per_point29=zq=yp*ca - zp*sa; +wave_2_per_point30= +wave_2_per_point31= +wave_2_per_point32=ang=tm*8; +wave_2_per_point33=sa=sin(ang);ca=cos(ang); +wave_2_per_point34=xp=xq*sa + yq*ca; +wave_2_per_point35=yp=xq*ca - yq*sa; +wave_2_per_point36=zp=zq; +wave_2_per_point37= +wave_2_per_point38=//forearm movement; +wave_2_per_point39=zp=zp-0.3; +wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; +wave_2_per_point41=xq=xp; +wave_2_per_point42=sa=sin(ang);ca=cos(ang); +wave_2_per_point43=yq=yp*sa + zp*ca; +wave_2_per_point44=zq=yp*ca - zp*sa; +wave_2_per_point45= +wave_2_per_point46=//upper arm twist +wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); +wave_2_per_point48=xp=xq*sa + yq*ca; +wave_2_per_point49=yp=xq*ca - yq*sa; +wave_2_per_point50=zp=zq; +wave_2_per_point51= +wave_2_per_point52=//upper arm outward; +wave_2_per_point53=zp=zp-0.35; +wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; +wave_2_per_point55=sa=sin(ang);ca=cos(ang); +wave_2_per_point56=xq=xp*sa + zp*ca; +wave_2_per_point57=yq=yp; +wave_2_per_point58=zq=xp*ca - zp*sa; +wave_2_per_point59= +wave_2_per_point60=//upper arm up down; +wave_2_per_point61=ang=cos(tm); +wave_2_per_point62=xp=xq; +wave_2_per_point63=sa=sin(ang);ca=cos(ang); +wave_2_per_point64=yp=yq*ca - zq*sa; +wave_2_per_point65=zp=yq*sa + zq*ca; +wave_2_per_point66= +wave_2_per_point67=//xp=xq;yp=yq;zp=zq; +wave_2_per_point68= +wave_2_per_point69= +wave_2_per_point70=//project into screenspace and draw on screen +wave_2_per_point71=zp=zp+1.5; +wave_2_per_point72=xs=xp/zp; +wave_2_per_point73=ys=yp/zp; +wave_2_per_point74= +wave_2_per_point75=x=xs+0.5; +wave_2_per_point76=y=ys*1.3+0.5; +wave_2_per_point77= +wave_2_per_point78= +wave_2_per_point79=a=(1-sample); +wave_2_per_point80= +wave_2_per_point81=phs=time*0.3; +wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; +wave_2_per_point83=r=if( above(r,1) , 2-r , r ); +wave_2_per_point84= +wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; +wave_2_per_point86=g=if( above(g,1) , 2-g , g ); +wave_2_per_point87= +wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; +wave_2_per_point89=b=if( above(b,1) , 2-b , b ); +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=5 +shapecode_0_additive=0 +shapecode_0_thickOutline=1 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.780 +shapecode_0_y=0.600 +shapecode_0_rad=0.97631 +shapecode_0_ang=0.56549 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.65721 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=0.000 +shapecode_0_border_g=0.000 +shapecode_0_border_b=0.000 +shapecode_0_border_a=1.000 +shape_0_per_frame1=tm=int(time*0.25)*10; +shape_0_per_frame2= +shape_0_per_frame3=ag = sin(tm * 0.5); +shape_0_per_frame4= +shape_0_per_frame5= +shape_0_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; +shape_0_per_frame7=x=x+xa; +shape_0_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; +shape_0_per_frame9=y=y+ya; +shape_0_per_frame10= +shape_0_per_frame11=ang=ang + ag; +shape_0_per_frame12= +shape_0_per_frame13=tex_zoom = tex_zoom + ag*0.5; +shape_0_per_frame14= +shape_0_per_frame15=additive= above( sin(time*0.25*8) , 0.98 ); +shape_0_per_frame16= +shapecode_1_enabled=1 +shapecode_1_sides=13 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.840 +shapecode_1_rad=0.36457 +shapecode_1_ang=3.07876 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=4.14146 +shapecode_1_r=0.250 +shapecode_1_g=0.050 +shapecode_1_b=0.000 +shapecode_1_a=0.200 +shapecode_1_r2=0.000 +shapecode_1_g2=0.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=0.500 +shapecode_1_border_g=0.500 +shapecode_1_border_b=0.500 +shapecode_1_border_a=0.000 +shape_1_per_frame1=//additive=above(sin(time*50),.95); +shapecode_2_enabled=1 +shapecode_2_sides=6 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.400 +shapecode_2_y=0.700 +shapecode_2_rad=1.08925 +shapecode_2_ang=0.81681 +shapecode_2_tex_ang=3.14159 +shapecode_2_tex_zoom=0.50422 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.700 +shapecode_2_g2=0.700 +shapecode_2_b2=0.700 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=tm=int(time*0.25)*10; +shape_2_per_frame2= +shape_2_per_frame3=ag = sin(tm * 0.5); +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; +shape_2_per_frame7=x=x+xa; +shape_2_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; +shape_2_per_frame9=y=y+ya; +shape_2_per_frame10= +shape_2_per_frame11=ang=ang + ag; +shape_2_per_frame12= +shape_2_per_frame13= +shape_2_per_frame14=tex_zoom = tex_zoom + ag*0.2; +shape_2_per_frame15= +shape_2_per_frame16= +shape_2_per_frame17=additive= above( sin(time*0.25*4) , 0.985 ); +shape_2_per_frame18= +shape_2_per_frame19=a = 1 - additive*0.5; +shape_2_per_frame20= +shapecode_3_enabled=1 +shapecode_3_sides=3 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.28428 +shapecode_3_ang=3.14159 +shapecode_3_tex_ang=4.90089 +shapecode_3_tex_zoom=2.98776 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=1.000 +shapecode_3_g2=1.000 +shapecode_3_b2=1.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=0.000 +shapecode_3_border_g=0.000 +shapecode_3_border_b=0.000 +shapecode_3_border_a=1.000 +shape_3_per_frame1=ang=time/10; +shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); +shape_3_per_frame3=var=above(bass_att,0.7); +shape_3_per_frame4=a=var; +shape_3_per_frame5=a2=var; +shape_3_per_frame6=border_a=var; +shape_3_per_frame7= +shape_3_per_frame8= +shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 +shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi +shape_3_per_frame11=//On a Radion_9600 +shape_3_per_frame12=//1280*1024_Screen_Resolution +shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! +per_frame_1=dec_med = pow (0.9, 30/fps); +per_frame_2=dec_slow = pow (0.99, 30/fps); +per_frame_3=beat = max (max (bass, mid), treb); +per_frame_4=avg = avg*dec_slow + beat*(1-dec_slow); +per_frame_5=is_beat = above(beat, .5+avg+peak) * above (time, t0+.2); +per_frame_6=t0 = is_beat*time + (1-is_beat)*t0; +per_frame_7=peak = is_beat * beat + (1-is_beat)*peak*dec_med; +per_frame_8=index = (index + is_beat) %8; +per_frame_9=index2 = (index2 + is_beat*bnot(index))%8; +per_frame_10=index3 = (index3 + is_beat*bnot(index)*bnot(index2))%3; +per_frame_11= +per_frame_12=monitor = index4; +per_frame_13= +per_frame_14=q20 = avg; +per_frame_15=q21 = beat; +per_frame_16=q22 = peak; +per_frame_17=q23 = index; +per_frame_18=q24 = is_beat; +per_frame_19=q26 = bass + mid + treb; +per_frame_20= +per_frame_21=hld = hld * dec_med + q24; +per_frame_22=q25 = min(hld,1); +per_frame_23=monitor = q25; +per_frame_24= +per_frame_25=k1 = is_beat*equal(index,0); +per_frame_26=p1 = k1*(p1+1) + (1-k1)*p1; +per_frame_27=p2 = dec_med * p2+ (1-dec_med)*p1; +per_frame_28=rott = p2 * 3.14159265359/2; +per_frame_29= +per_frame_30=q27 = index; +per_frame_31=q28 = index2; +per_frame_32= +per_frame_33=q1 = cos(rott); +per_frame_34=q2 = sin(rott); +per_frame_35=q3 = -q2; +per_frame_36=q4 = q1; +per_frame_37= +per_frame_38=rota = rota * dec_mde + q1 * bnot(index2) * (1-dec_med); +per_frame_39=q5 = 2*rota; +per_frame_40= +per_pixel_1=rot = q5*(sin(q22*4*(1-rad))); +per_pixel_2=zoom = 1.08 ; +warp_1=`sampler sampler_worms; +warp_2=`float3 color, mus; +warp_3=`float dx,dy; +warp_4=`shader_body { +warp_5=`float2 uv1 = (uv-.5) * aspect.xy; +warp_6=` +warp_7=` +warp_8=`float2 uv6 = uv1; +warp_9=`float z = q29*2*length(uv1)+rand_frame * 64; +warp_10=`float2 d = normalize(uv1); +warp_11=`float2 rs = clamp(tan(z)*d,-8,8); +warp_12=`uv += .004*GetBlur1(uv)*float2 (0,1);//rs/20; +warp_13=` +warp_14=` +warp_15=`uv6 = .4*sin(uv1*18*rand_frame); +warp_16=`mus = .051/(length(uv6)); +warp_17=`mus *= float3 (1,.8,.5); +warp_18=` +warp_19=`float3 blur = GetBlur2(frac(uv)); +warp_20=` +warp_21=`float3 crisp= tex2D(sampler_main,uv); +warp_22=` +warp_23=`float3 ret1 = crisp - blur*.03 + .15*mus; +warp_24=`float2 uv2 = (uv_orig-.5)-float2(.5,.5+0.1*q25); +warp_25=` +warp_26=`q25 = 1; +warp_27=`ret = q25*(ret1*.99-.02) + (1-q25)* GetPixel(uv_orig); +warp_28=` +warp_29=`} +comp_1=`shader_body +comp_2=`{ +comp_3=`float2 uv1 = (uv-0.5)*aspect.xy; +comp_4=` +comp_5=`float rad2 = length(uv1) + .1; +comp_6=`float rad1 = .1/rad2 ; +comp_7=` +comp_8=`float2 uv2 = float2 (ang/3.14, q27*rad1); +comp_9=`uv2.y = uv2.y +.1*q30; +comp_10=`uv2.x = uv2.x +.2*time; +comp_11=` +comp_12=`float2 uv3 = float2 (ang/3.14, 4*rad1); +comp_13=`uv3.y = uv3.y -.1*q30; +comp_14=` +comp_15=` +comp_16=`float3 crisp = 2*GetPixel(uv2) + GetPixel(uv3); +comp_17=`crisp = max(crisp,2*GetBlur2(frac(uv2)) + GetBlur2(frac(uv3))); +comp_18=` +comp_19=`float3 lay1 = float3 (0,0,1)*uv.y*pow(1-rad,8); +comp_20=` +comp_21=`crisp = 3*crisp * pow(rad,1); +comp_22=`float mask = saturate(1-4*rad); +comp_23=` +comp_24=`ret = crisp + lay1*mask + mask * 2*GetBlur1(uv); +comp_25=` +comp_26=`} diff --git a/presets/presets_tryptonaut/suksma - uninitialized variabowl (hydroponic chronic).milk b/presets/presets_tryptonaut/suksma - uninitialized variabowl (hydroponic chronic).milk new file mode 100755 index 0000000000..d546a21188 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - uninitialized variabowl (hydroponic chronic).milk @@ -0,0 +1,553 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=1.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=1 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.401 +fWaveScale=3.177 +fWaveSmoothing=0.000 +fWaveParam=-0.400 +fModWaveAlphaStart=1.000 +fModWaveAlphaEnd=1.000 +fWarpAnimSpeed=2.289 +fWarpScale=5.472 +fZoomExponent=0.01000 +fShader=0.000 +zoom=0.99010 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.85660 +sx=1.00000 +sy=1.00000 +wave_r=1.000 +wave_g=1.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=1.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=0.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=0.200 +wavecode_0_g=0.000 +wavecode_0_b=0.000 +wavecode_0_a=0.300 +wave_0_per_point1=n=sample*6.283; +wave_0_per_point2=phs=-sample * 0.2; +wave_0_per_point3=tm=time*0.4 + phs; +wave_0_per_point4= +wave_0_per_point5=flip=flip+1; +wave_0_per_point6=flip=flip*below(flip,2); +wave_0_per_point7= +wave_0_per_point8=xp=0; +wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_0_per_point10=zp=0; +wave_0_per_point11= +wave_0_per_point12=//wrist movement; +wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; +wave_0_per_point14= +wave_0_per_point15=xq=xp; +wave_0_per_point16=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point17=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point18=yq=yp; +wave_0_per_point19=zq=zp; +wave_0_per_point20= +wave_0_per_point21=ang=tm*8; +wave_0_per_point22=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point23=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point24=zp=zq; +wave_0_per_point25= +wave_0_per_point26=//forearm movement; +wave_0_per_point27=zp=zp-0.3; +wave_0_per_point28=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_0_per_point29=xq=xp; +wave_0_per_point30=yq=yp*sin(ang) + zp*cos(ang); +wave_0_per_point31=zq=yp*cos(ang) - zp*sin(ang); +wave_0_per_point32= +wave_0_per_point33=//upper arm twist +wave_0_per_point34=ang=-1.0 + cos(tm*3 + 0.5); +wave_0_per_point35=xp=xq*sin(ang) + yq*cos(ang); +wave_0_per_point36=yp=xq*cos(ang) - yq*sin(ang); +wave_0_per_point37=zp=zq; +wave_0_per_point38= +wave_0_per_point39=//upper arm outward; +wave_0_per_point40=zp=zp-0.35; +wave_0_per_point41=ang=cos(tm*2)*0.75 - 1.05; +wave_0_per_point42=xq=xp*sin(ang) + zp*cos(ang); +wave_0_per_point43=yq=yp; +wave_0_per_point44=zq=xp*cos(ang) - zp*sin(ang); +wave_0_per_point45= +wave_0_per_point46=//upper arm up down; +wave_0_per_point47=ang=cos(tm)*0.5 - 0.5; +wave_0_per_point48=xp=xq; +wave_0_per_point49=yp=yq*cos(ang) - zq*sin(ang); +wave_0_per_point50=zp=yq*sin(ang) + zq*cos(ang); +wave_0_per_point51= +wave_0_per_point52=//xp=xq;yp=yq;zp=zq; +wave_0_per_point53= +wave_0_per_point54= +wave_0_per_point55=//project into screenspace and draw on screen +wave_0_per_point56=zp=zp+2; +wave_0_per_point57=xs=xp/zp; +wave_0_per_point58=ys=yp/zp; +wave_0_per_point59= +wave_0_per_point60=x=xs+0.5; +wave_0_per_point61=y=ys*1.3+0.5; +wave_0_per_point62= +wave_0_per_point63= +wave_0_per_point64=//a=(1-sample)*flip; +wave_0_per_point65= +wave_0_per_point66=//b=b+pow(1-sample,2)*0.3; +wave_0_per_point67= +wave_0_per_point68=x = 0.5 + (x-0.5)/q1; +wave_0_per_point69=y = 0.5 + (y-0.5)/q2 + 0.1; +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=0.200 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=0.300 +wave_1_per_point1=n=sample*6.283; +wave_1_per_point2=phs=-sample * 0.2; +wave_1_per_point3=tm=time*0.4 + phs; +wave_1_per_point4= +wave_1_per_point5=flip=flip+1; +wave_1_per_point6=flip=flip*below(flip,2); +wave_1_per_point7= +wave_1_per_point8=xp=0; +wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; +wave_1_per_point10=yp=-yp; +wave_1_per_point11=zp=0; +wave_1_per_point12= +wave_1_per_point13=//wrist movement; +wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; +wave_1_per_point15= +wave_1_per_point16=xq=xp; +wave_1_per_point17=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point18=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point19=yq=yp; +wave_1_per_point20=zq=zp; +wave_1_per_point21= +wave_1_per_point22=ang=tm*8; +wave_1_per_point23=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point24=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point25=zp=zq; +wave_1_per_point26= +wave_1_per_point27=//forearm movement; +wave_1_per_point28=zp=zp-0.3; +wave_1_per_point29=ang=3.14 + sin(tm*2 - 0.5)*1.5; +wave_1_per_point30=xq=xp; +wave_1_per_point31=yq=yp*sin(ang) + zp*cos(ang); +wave_1_per_point32=zq=yp*cos(ang) - zp*sin(ang); +wave_1_per_point33= +wave_1_per_point34=//upper arm twist +wave_1_per_point35=ang=-1.0 + cos(tm*3 + 0.5); +wave_1_per_point36=xp=xq*sin(ang) + yq*cos(ang); +wave_1_per_point37=yp=xq*cos(ang) - yq*sin(ang); +wave_1_per_point38=zp=zq; +wave_1_per_point39= +wave_1_per_point40=//upper arm outward; +wave_1_per_point41=zp=zp-0.35; +wave_1_per_point42=ang=cos(tm*2)*0.75 - 1.05; +wave_1_per_point43=xq=xp*sin(ang) + zp*cos(ang); +wave_1_per_point44=yq=yp; +wave_1_per_point45=zq=xp*cos(ang) - zp*sin(ang); +wave_1_per_point46= +wave_1_per_point47=//upper arm up down; +wave_1_per_point48=ang=cos(tm)*0.5 - 0.5; +wave_1_per_point49=xp=xq; +wave_1_per_point50=yp=yq*cos(ang) - zq*sin(ang); +wave_1_per_point51=zp=yq*sin(ang) + zq*cos(ang); +wave_1_per_point52= +wave_1_per_point53=//xp=xq;yp=yq;zp=zq; +wave_1_per_point54= +wave_1_per_point55= +wave_1_per_point56=//project into screenspace and draw on screen +wave_1_per_point57=zp=zp+2; +wave_1_per_point58=xs=xp/zp; +wave_1_per_point59=ys=yp/zp; +wave_1_per_point60= +wave_1_per_point61=x=xs+0.5; +wave_1_per_point62=y=ys*1.3+0.5; +wave_1_per_point63= +wave_1_per_point64= +wave_1_per_point65=//a=(1-sample)*flip; +wave_1_per_point66= +wave_1_per_point67= +wave_1_per_point68=//b=b+pow(1-sample,2)*0.3; +wave_1_per_point69= +wave_1_per_point70= +wave_1_per_point71=x = 0.5 + (x-0.5)/q1; +wave_1_per_point72=y = 0.5 + (y-0.5)/q2 + 0.1; +wave_1_per_point73= +wavecode_2_enabled=0 +wavecode_2_samples=61 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=2.44415 +wavecode_2_smoothing=0.00000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_frame1=t1 = q1; +wave_2_per_frame2=t2 = q2; +wave_2_per_frame3=t3 = q3; +wave_2_per_frame4=t4 = q4; +wave_2_per_frame5=t5 = q5; +wave_2_per_frame6=t6 = q6; +wave_2_per_frame7=t7 = q7; +wave_2_per_frame8=t8 = q8; +wave_2_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_2_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_2_per_point3= +wave_2_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_2_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +wavecode_3_enabled=0 +wavecode_3_samples=61 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=2.44415 +wavecode_3_smoothing=0.00000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_init1=t2 = 0 +wave_3_per_frame1=t1 = q1; +wave_3_per_frame2=t2 = q2; +wave_3_per_frame3=t3 = q3; +wave_3_per_frame4=t4 = q4; +wave_3_per_frame5=t5 = q5; +wave_3_per_frame6=t6 = q6; +wave_3_per_frame7=t7 = q7; +wave_3_per_frame8=t8 = q8; +wave_3_per_point1=x = pow(sample,5)*t1 + 5*pow(sample,4)*(1-sample)*t1 + 10*pow(sample,3)*sqr(1-sample)*t2 +wave_3_per_point2=+ 10*sqr(sample)*pow(1-sample,3)*t3 + 5*pow(1-sample,4)*sample*t4 + pow(1-sample,5)*t4; +wave_3_per_point3= +wave_3_per_point4=y = pow(sample,5)*t5 + 5*pow(sample,4)*(1-sample)*t5 + 10*pow(sample,3)*sqr(1-sample)*t6 +wave_3_per_point5=+ 10*sqr(sample)*pow(1-sample,3)*t7 + 5*pow(1-sample,4)*sample*t8 + pow(1-sample,5)*t8; +shapecode_0_enabled=1 +shapecode_0_sides=12 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=512 +shapecode_0_x=0.500 +shapecode_0_y=0.550 +shapecode_0_rad=0.03400 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=0.78740 +shapecode_0_r=1.000 +shapecode_0_g=0.450 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shape_0_init1=started = 0; +shape_0_init2=t1 = 0.412; //seeds for pseudo random generator +shape_0_init3=t2 = 0.4563; +shape_0_init4=t3 = 0.6452; +shape_0_init5=t4 = 0.2565; +shape_0_per_frame1= +shape_0_per_frame2=rnd1 = if(equal(instance,0),t1,rnd1); +shape_0_per_frame3=rnd2 = if(equal(instance,0),t2,rnd2); +shape_0_per_frame4=rnd3 = if(equal(instance,0),t3,rnd3); +shape_0_per_frame5=rnd4 = if(equal(instance,0),t4,rnd4); +shape_0_per_frame6=rnd1 = 4*rnd1*(1-rnd1); +shape_0_per_frame7=rnd2 = 4*rnd2*(1-rnd2); +shape_0_per_frame8=rnd3 = 4*rnd3*(1-rnd3); +shape_0_per_frame9=rnd4 = 4*rnd4*(1-rnd4); +shape_0_per_frame10=t = .6; +shape_0_per_frame11=t = (rnd1+time*t) - int(rnd1+time*t); +shape_0_per_frame12=t = t + rnd2*0.1; +shape_0_per_frame13=wh = rnd4*asin(1)*4; +shape_0_per_frame14=wv = 0.25 + rnd3*0.1; +shape_0_per_frame15= +shape_0_per_frame16=d = 1.4; // makes the perspective impact +shape_0_per_frame17=zoom = 1; +shape_0_per_frame18=l = 1; +shape_0_per_frame19= +shape_0_per_frame20=// Kardan angles +shape_0_per_frame21= +shape_0_per_frame22=w1 = q3; // first rotation: clockwise in the desktop pane +shape_0_per_frame23=w2 = q4; // rotation around vertical axis +shape_0_per_frame24=w3 = q5; // rotation around horizontal axis +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=// definition of the 3D shape +shape_0_per_frame28= +shape_0_per_frame29=i = instance; +shape_0_per_frame30= +shape_0_per_frame31=my_x = t *(cos(wh)*sin(wv)*l); +shape_0_per_frame32=my_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l; +shape_0_per_frame33=my_z = t*(sin(wh)*sin(wv)*l); +shape_0_per_frame34= +shape_0_per_frame35= +shape_0_per_frame36=// 3D rotations +shape_0_per_frame37= +shape_0_per_frame38=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_0_per_frame39=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_0_per_frame40=z1 = my_z; +shape_0_per_frame41= +shape_0_per_frame42=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_0_per_frame43=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_0_per_frame44=y2 = y1; +shape_0_per_frame45= +shape_0_per_frame46=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_0_per_frame47=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_0_per_frame48=x3 = x2; +shape_0_per_frame49= +shape_0_per_frame50=// perspective calculation +shape_0_per_frame51= +shape_0_per_frame52=l = sqrt(x3*x3 + y3*y3); +shape_0_per_frame53=w = atan2(x3,y3); +shape_0_per_frame54=p = tan(asin(1) + atan2(d+z3,l)); +shape_0_per_frame55=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_0_per_frame56= +shape_0_per_frame57=rad = rad/d; +shape_0_per_frame58=my_x = zoom*sin(w)*p; +shape_0_per_frame59=my_y = zoom*cos(w)*p; +shape_0_per_frame60= +shape_0_per_frame61=x = 0.5 + my_x; +shape_0_per_frame62=y = 0.5 + my_y; +shape_0_per_frame63= +shape_0_per_frame64=x = 0.5 + (x-0.5)/q2; +shape_0_per_frame65=y = 0.5 + (y-0.5)/q1; +shapecode_1_enabled=0 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.520 +shapecode_1_y=0.410 +shapecode_1_rad=0.52160 +shapecode_1_ang=0.18850 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.73458 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=1.000 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.750 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_init1=vx = 0 +shapecode_2_enabled=0 +shapecode_2_sides=100 +shapecode_2_additive=1 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=1 +shapecode_2_x=0.480 +shapecode_2_y=0.410 +shapecode_2_rad=0.61162 +shapecode_2_ang=5.96903 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.73458 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=1.000 +shapecode_2_g2=1.000 +shapecode_2_b2=1.000 +shapecode_2_a2=0.750 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_init1=vx = 0 +shapecode_3_enabled=0 +shapecode_3_sides=100 +shapecode_3_additive=1 +shapecode_3_thickOutline=1 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.750 +shapecode_3_rad=0.07059 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=0.73458 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.000 +shape_3_init1=vx = 0 +shape_3_per_frame1=x = q1; +shape_3_per_frame2=y = q5; +per_frame_1=wave_a = 0; +per_frame_2=q1 =aspectx; +per_frame_3=q2 = aspecty; +per_frame_4= +per_frame_5= +per_frame_6=b = b + bass*bass*0.85; +per_frame_7=m = m + mid*mid*0.85; +per_frame_8=t = t + treb*treb*0.85; +per_frame_9= +per_frame_10=q3 = b*0.012; +per_frame_11=q4 = m*0.012; +per_frame_12=q5 = t*0.012; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 scale = float2(1280,1024)*texsize.zw; // 1280x1024 : the resolution i modelled this shader with +warp_4=` float1 d = 0.005; +warp_5=` float1 dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_6=` float1 dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_7=` float1 dxb = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).x*scale.x; +warp_8=` float1 dyb = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).x*scale.y; +warp_9=` float2 my_uv = uv - float2(dx,dy)*0.01 + float2(dxb,dyb)*0.003; +warp_10=` +warp_11=` +warp_12=` +warp_13=` float2 v = 0.01; +warp_14=` ret.x = tex2D( sampler_fw_main, my_uv -floor(my_uv)*0).x; +warp_15=` +warp_16=` +warp_17=` ret.x += (ret.x - GetBlur3(uv).x)*.1; +warp_18=` ret.x += 0.004; +warp_19=` +warp_20=` +warp_21=`//-------------------------------- +warp_22=` +warp_23=` my_uv = uv + float2(dy,-dx)*0.05*(1.2-GetBlur3(uv).y); +warp_24=` +warp_25=` +warp_26=` +warp_27=` v = 0.01; +warp_28=` ret.z = tex2D( sampler_fw_main, my_uv).z; +warp_29=` +warp_30=` ret.z += (ret.z - GetBlur1(uv).z)*length(my_uv-uv)*180/length(scale); +warp_31=` ret.z *= 0.8; +warp_32=` ret.z += 0.004; +warp_33=` +warp_34=` +warp_35=` +warp_36=`//-------------------------------- +warp_37=` +warp_38=` d = 0.01; +warp_39=` my_uv = float2(-dy,dx)*0.045; +warp_40=` +warp_41=` dx = ( GetBlur2(uv + float2(d,0)) - GetBlur2(uv-float2(d,0)) ).y*scale.x; +warp_42=` dy = ( GetBlur2(uv + float2(0,d)) - GetBlur2(uv-float2(0,d)) ).y*scale.y; +warp_43=` my_uv += uv - float2(dx,dy)*0.03; +warp_44=` +warp_45=` +warp_46=` +warp_47=` v = 0.01; +warp_48=` ret.y =tex2D( sampler_fw_main, my_uv).y; +warp_49=` +warp_50=` +warp_51=` ret.y += (ret.y - GetBlur3(my_uv).y)*0.1 + 0.01; +warp_52=`//ret = 0; +warp_53=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/suksma - vector exp 1 - couldn't not.milk b/presets/presets_tryptonaut/suksma - vector exp 1 - couldn't not.milk new file mode 100755 index 0000000000..2251631978 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - vector exp 1 - couldn't not.milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=2.000 +fGammaAdj=2.000 +fDecay=0.990 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.000 +fWaveScale=0.010 +fWaveSmoothing=0.750 +fWaveParam=-0.200 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=3.434 +fWarpScale=1.295 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.02500 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.11284 +sx=1.00000 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=0.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.005 +ob_r=0.000 +ob_g=0.000 +ob_b=1.000 +ob_a=1.000 +ib_size=0.010 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=1.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=100 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.53742 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.72509 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = (vvb+vvm+vvt)*10; +per_frame_12=q2 = (vvb+vvm+vvt)*10; +per_frame_13=q3 = (vvb+vvm+vvt)*10; +per_frame_14=q4 = (vvb+vvm+vvt)*10; +per_frame_15=q5 = (vvb+vvm+vvt)*10; +per_frame_16=q6 = (vvb+vvm+vvt)*10; +per_frame_17=q7 = (vvb+vvm+vvt)*10; +per_frame_18=q8 = (vvb+vvm+vvt)*10; +per_frame_19=q9 = (vvb+vvm+vvt)*10; +per_frame_20=q10 = (vvb+vvm+vvt)*10; +per_frame_21=q11 = (vvb+vvm+vvt)*10; +per_frame_22=q12 = (vvb+vvm+vvt)*10; +per_frame_23=q13 = (vvb+vvm+vvt)*10; +per_frame_24=q14 = (vvb+vvm+vvt)*10; +per_frame_25=q15 = (vvb+vvm+vvt)*10; +per_frame_26=q16 = (vvb+vvm+vvt)*10; +per_frame_27=q17 = (vvb+vvm+vvt)*10; +per_frame_28=q18 = (vvb+vvm+vvt)*10; +per_frame_29=q19 = (vvb+vvm+vvt)*10; +per_frame_30=q20 = (vvb+vvm+vvt)*10; +per_frame_31=q21 = (vvb+vvm+vvt)*10; +per_frame_32=q22 = (vvb+vvm+vvt)*10; +per_frame_33=q23 = (vvb+vvm+vvt)*10; +per_frame_34=q24 = (vvb+vvm+vvt)*10; +per_frame_35=q25 = (vvb+vvm+vvt)*10; +per_frame_36=q26 = (vvb+vvm+vvt)*10; +per_frame_37=q27 = (vvb+vvm+vvt)*10; +per_frame_38=q28 = (vvb+vvm+vvt)*10; +per_frame_39=q29 = (vvb+vvm+vvt)*10; +per_frame_40=q30 = (vvb+vvm+vvt)*10; +per_frame_41=q31 = (vvb+vvm+vvt)*10; +per_frame_42=q32 = (vvb+vvm+vvt)*10; +per_frame_43= +per_frame_44=zoom = .995; +per_frame_45=wave_a = 0; +per_frame_46=mv_g = 0.45 + 0.3*sin(time*1.33)+0.25*sin(treb); +per_frame_47=mv_r = 0.45 + 0.3*sin(time*1.13)+0.25*(0.33*(bass+treb+mid)); +per_frame_48=mv_b = 0.45 + 0.3*sin(time*1.23)+0.25*sin(bass); +per_frame_49=mv_dx=.1*sin(time*.1); +per_frame_50=mv_dy=.13*cos(time*.084); +per_frame_51=mv_x=64-int((sin(time*1.5)+1)*32); +per_frame_52=mv_y=48-int((cos(time*1.5)+1)*22); +per_frame_53=monitor=mv_y; +per_pixel_1=//flexi per vertex +per_pixel_2=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_3=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_4=dir = bass; +per_pixel_5=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_6=x1 = if( above(d,0.3),0, sin(y-cy1)*0.05*dir); +per_pixel_7=y1 = if( above(d,0.3),0, -sin(x-cx1)*0.05*dir); +per_pixel_8=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_9=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_10=dir = -mid*2; +per_pixel_11=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_12=x2 = if( above(d,0.2),0, sin(y-cy1)*0.05*dir); +per_pixel_13=y2 = if( above(d,0.2),0, -sin(x-cx1)*0.05*dir); +per_pixel_14=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_15=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_16=dir = treb*3; +per_pixel_17=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_18=x3 = if( above(d,0.1),0, sin(y-cy1)*0.05*dir); +per_pixel_19=y3 = if( above(d,0.1),0, -sin(x-cx1)*0.05*dir); +per_pixel_20=dx = dx+x1+x2+x3; +per_pixel_21=dy = dy+y1+y2+y3; +per_pixel_22= +warp_1=`shader_body +warp_2=`{ +warp_3=`uv = lerp(uv_orig,uv,0.3); +warp_4=` +warp_5=`float2 d = texsize.zw * 3; +warp_6=`float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_7=`float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_8=` +warp_9=`uv += float2(lum(dx),lum(dy))*texsize.zw*9; +warp_10=`ret = tex2d(sampler_fc_main, uv) - 0.01; +warp_11=` +warp_12=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`uv = 0.5 + (uv-0.5)*0.98; +comp_5=` float2 d = texsize.zw*4; +comp_6=` float3 dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); +comp_7=` float3 dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); +comp_8=` +comp_9=`float4 noise = tex3D(sampler_noisevol_hq, ((uv.xyy+float3(lum(dx),lum(dy),0)*0.5)*texsize.xyy*texsize_noisevol_hq.zww).xyz*float3(1,1,0)*0.05 +comp_10=` + time*float3(0,0,1)*0.2 ); +comp_11=`uv -= float2(lum(dx),lum(dy))*0.04; +comp_12=`ret = abs(GetPixel(uv)+GetBlur1(uv)-GetBlur2(uv)-GetBlur3(uv)); +comp_13=`ret *= lum(noise)*3; +comp_14=`ret = pow(ret,0.5); +comp_15=`} diff --git a/presets/presets_tryptonaut/suksma - water cooled red uranium vs dotes - freeenergynow.net.milk b/presets/presets_tryptonaut/suksma - water cooled red uranium vs dotes - freeenergynow.net.milk new file mode 100755 index 0000000000..9c6a79e757 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - water cooled red uranium vs dotes - freeenergynow.net.milk @@ -0,0 +1,368 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=5.000000 +fGammaAdj=2.000 +fDecay=0.960 +fVideoEchoZoom=1.905 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.009 +fWaveScale=0.010 +fWaveSmoothing=0.630 +fWaveParam=-0.800 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=10.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=1.00000 +sx=0.98030 +sy=1.00000 +wave_r=0.000 +wave_g=0.000 +wave_b=1.000 +wave_x=0.500 +wave_y=0.500 +ob_size=0.010 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=1.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.470 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=-0.280 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=0.000 +mv_b=0.000 +mv_a=0.800 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=1 +shapecode_0_sides=20 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1024 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.01000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=0.000 +shapecode_0_g=0.000 +shapecode_0_b=1.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.100 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.006 +shape_0_per_frame1=pigtemp=int(pow(4,bass+treb+mid)); +shape_0_per_frame2=num_inst=if(above(pigtemp,1024),1024,pigtemp); +shape_0_per_frame3= +shape_0_per_frame4=t1 = time/5; +shape_0_per_frame5=t2 = time/6; +shape_0_per_frame6=rad = 0.005+bass/100; +shape_0_per_frame7=t3 = bass_att/70; +shape_0_per_frame8=b2 = treb*0.7-bass/2; +shape_0_per_frame9=r = instance/num_inst; +shape_0_per_frame10=g = abs(treb_att/5-bass); +shape_0_per_frame11=//b = abs(treb_att/5-bass); +shape_0_per_frame12=size = 0.3+bass_att/300; +shape_0_per_frame13= +shape_0_per_frame14=nc = sqrt(num_inst); +shape_0_per_frame15=xs=sin(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame16=ys=cos(6.28*(instance%nc)/nc)*sin(3.14*int(instance/nc)/nc); +shape_0_per_frame17=zs=cos(3.14*int(instance/nc)/nc); +shape_0_per_frame18= +shape_0_per_frame19=//modulate to allow rotation +shape_0_per_frame20=y1 = ys*cos(t1)-zs*sin(t1); +shape_0_per_frame21=z1 = ys*sin(t1)+zs*cos(t1); +shape_0_per_frame22=x1 = z1*sin(t2)+xs*cos(t2); +shape_0_per_frame23=z2 = z1*cos(t2)-xs*sin(t2); +shape_0_per_frame24=x2 = x1*cos(t3)-y1*sin(t3); +shape_0_per_frame25=y2 = y1*cos(t3)+x1*sin(t3); +shape_0_per_frame26= +shape_0_per_frame27=//translate shape +shape_0_per_frame28=x3 = x2; +shape_0_per_frame29=y3 = y2; +shape_0_per_frame30=z3 = z2; +shape_0_per_frame31= +shape_0_per_frame32=x = 0.5 + size*(x3/(1+z3*size)); +shape_0_per_frame33=y = 0.5 + size*(y3/(1+z3*size)); +shape_0_per_frame34=a=below(z3,0); +shapecode_1_enabled=1 +shapecode_1_sides=32 +shapecode_1_additive=1 +shapecode_1_thickOutline=1 +shapecode_1_textured=0 +shapecode_1_num_inst=33 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=0.000 +shapecode_1_g=0.500 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=0.500 +shapecode_1_b2=0.000 +shapecode_1_a2=1.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shape_1_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_1_per_frame4=a = trans; +shape_1_per_frame5=a2 = trans2; +shape_1_per_frame6=border_a = trans3; +shape_1_per_frame7= +shape_1_per_frame8=x = q1 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame9=y = q2 + int(rand(15))*0.01*bass_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_1_per_frame10=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_1_per_frame11=r=int(rand(q3))*.1+instance-instance; +shape_1_per_frame12=g=int(rand(q3))*.1+instance-instance; +shape_1_per_frame13=b=int(rand(q3))*.1+instance-instance; +shape_1_per_frame14=r2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame15=g2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame16=b2=int(rand(q3))*.1+instance-instance; +shape_1_per_frame17=border_r=int(rand(q3))*.1+instance-instance; +shape_1_per_frame18=border_g=int(rand(q3))*.1+instance-instance; +shape_1_per_frame19=border_b=int(rand(q3))*.1+instance-instance; +shapecode_2_enabled=1 +shapecode_2_sides=32 +shapecode_2_additive=0 +shapecode_2_thickOutline=1 +shapecode_2_textured=1 +shapecode_2_num_inst=7 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=0.000 +shapecode_2_g=0.000 +shapecode_2_b=0.500 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=0.000 +shapecode_2_b2=0.500 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shape_2_per_frame1=trans = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame2=trans2 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame3=trans3 = int(rand(int(q30)))/5+instance-instance; +shape_2_per_frame4=a = trans; +shape_2_per_frame5=a2 = trans2; +shape_2_per_frame6=border_a = trans3; +shape_2_per_frame7= +shape_2_per_frame8=x = q1 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame9=y = q2 + int(rand(15))*0.01*mid_att*if(equal(int(rand(2)),1),1,-1)+instance-instance; +shape_2_per_frame10=rad = .09 + int(rand(int(q30)))/15+instance-instance; +shape_2_per_frame11=r=int(rand(q3))*.1+instance-instance; +shape_2_per_frame12=g=int(rand(q3))*.1+instance-instance; +shape_2_per_frame13=b=int(rand(q3))*.1+instance-instance; +shape_2_per_frame14=r2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame15=g2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame16=b2=int(rand(q3))*.1+instance-instance; +shape_2_per_frame17=border_r=int(rand(q3))*.1+instance-instance; +shape_2_per_frame18=border_g=int(rand(q3))*.1+instance-instance; +shape_2_per_frame19=border_b=int(rand(q3))*.1+instance-instance; +shape_2_per_frame20= +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//wave_mystery = 1; +per_frame_2=bassrun=bass+bassrun; +per_frame_3=trebrun=treb+trebrun; +per_frame_4=midrun=mid+midrun; +per_frame_5=vol=(bassrun+midrun+trebrun)*.03; +per_frame_6=vol2=vol*.001; +per_frame_7=warp = 0; +per_frame_8=zoom = 1.4 +0.15*cos(vol*0.42); +per_frame_9=rot = 0.01*sin(1.34*vol); +per_frame_10=dx = 0.005*sin(vol*0.646); +per_frame_11=dy=0.005*sin(vol*0.314); +per_frame_12=cx = 0.5 + 0.05*sin(0.497*vol); +per_frame_13=cy = 0.5 +0.05*sin(0.413*vol); +per_frame_14= +per_frame_15=pi23=4*asin(-1)*.33333333333333; +per_frame_16=q6= (sin(vol-0*pi23)+1)*.5; +per_frame_17=q7= (sin(vol-1*pi23)+1)*.5; +per_frame_18=q8=(sin(vol-2*pi23)+1)*.5; +per_frame_19=mv_r=q6; +per_frame_20=mv_g=q7; +per_frame_21=mv_b=q8; +per_frame_22=q9=q6+1; +per_frame_23=vol3=(bass+mid+treb)*.3; +per_frame_24=q26=vol3; +per_frame_25=q20=vol3; +per_frame_26=q1=.5;//q6*.3; +per_frame_27=q2=.5;//q7*.3; +per_frame_28=q3=q8*.3; +per_frame_29=q4=q8/q6*2; +per_frame_30=q30=vol3*2.5; +per_frame_31=q3=q30*1.33; +warp_1=`shader_body +warp_2=`{ +warp_3=` float2 d = texsize.zw * 4; +warp_4=` float3 dx = ( GetBlur1(uv + float2(1,0)*d) - GetBlur1(uv-float2(1,0)*d) ); +warp_5=` float3 dy = ( GetBlur1(uv + float2(0,1)*d) - GetBlur1(uv-float2(0,1)*d) ); +warp_6=` +warp_7=` float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 1.2 + rand_frame.xy; +warp_8=` +warp_9=` float2 my_uv = lerp(uv_orig,uv,1) ; +warp_10=` float2 uv_x= my_uv + float2(dx.x,dy.x)*texsize.zw *8; +warp_11=` float2 uv_y= my_uv + float2(dx.y,dy.y)*texsize.zw *8; +warp_12=` float2 uv_z= my_uv + float2(dx.z,dy.z)*texsize.zw *8; +warp_13=` ret.x = GetPixel(uv_x).x - (GetPixel(uv_x) - GetBlur3(uv_x)).x * 0.02; +warp_14=` ret.y = GetPixel(uv_y).y - (GetPixel(uv_y) - GetBlur3(uv_y)).y * 0.02; +warp_15=` ret.z = GetPixel(uv_z).z - (GetPixel(uv_z) - GetBlur3(uv_z)).z * 0.02; +warp_16=` +warp_17=`// ret += - 0.004 +(tex2D(sampler_noise_lq, dither_uv).xyz-0.5) *0; +warp_18=`ret -= ret.yzx*0.2 - 0.06; +warp_19=` +warp_20=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` +comp_4=`float2 uv1 = uv-.5; +comp_5=` +comp_6=`float3 ret1 = tex2D(sampler_main, uv) +tex2D(sampler_main, 1-uv)*0; +comp_7=` +comp_8=` +comp_9=`float2 hor = float2 (texsize.z,0); +comp_10=`float2 ver = float2 (0,texsize.w); +comp_11=`float dx = GetPixel (uv-hor) - GetPixel (uv+hor); +comp_12=`float dy = GetPixel (uv-ver) - GetPixel (uv+ver); +comp_13=`float2 dz = float2 (dx,dy); +comp_14=` +comp_15=`uv1 = .3*cos(uv1*2+1.7) -2*dz;; +comp_16=`float3 dots = saturate(.03/length(uv1)); +comp_17=` +comp_18=` +comp_19=`ret1 = (-ret1/4) + 6*dots*(-0.08+ret1); +comp_20=` +comp_21=`ret = ret1; +comp_22=`} diff --git a/presets/presets_tryptonaut/suksma - yin - 100 - Through the ether - Bitcore Tweak - mash0000 - dmt eye rub spher nz+.milk b/presets/presets_tryptonaut/suksma - yin - 100 - Through the ether - Bitcore Tweak - mash0000 - dmt eye rub spher nz+.milk new file mode 100755 index 0000000000..5483059110 --- /dev/null +++ b/presets/presets_tryptonaut/suksma - yin - 100 - Through the ether - Bitcore Tweak - mash0000 - dmt eye rub spher nz+.milk @@ -0,0 +1,388 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=2.000000 +fGammaAdj=2.050 +fDecay=0.975 +fVideoEchoZoom=0.997 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000 +fWaveScale=1.005 +fWaveSmoothing=0.000 +fWaveParam=0.000 +fModWaveAlphaStart=2.000 +fModWaveAlphaEnd=2.000 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=1.000 +zoom=0.99990 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.07830 +sx=1.00000 +sy=1.00000 +wave_r=0.500 +wave_g=0.500 +wave_b=0.500 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.000 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=5.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.100 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=max_bass = 1.2; +per_frame_1=chng=sin(time*.5); +per_frame_2=cthr=.9999; +per_frame_3=mq21=if(above(chng,cthr),rand(3),mq21); +per_frame_4=mq22=if(above(chng,cthr),rand(3),mq22); +per_frame_5=mq23=if(above(chng,cthr),rand(3),mq23); +per_frame_6=mq24=if(above(chng,cthr),rand(2),mq24); +per_frame_7=mq25=if(above(chng,cthr),rand(2),mq25); +per_frame_8=mq26=if(above(chng,cthr),rand(2),mq26); +per_frame_9=mq27=if(above(chng,cthr),rand(1),mq27); +per_frame_10=mq28=if(above(chng,cthr),rand(1),mq28); +per_frame_11=mq29=if(above(chng,cthr),rand(1)*.3,mq29); +per_frame_12=mq31=if(above(chng,cthr),rand(1)*.3,mq31); +per_frame_13=monitor=chng; +per_frame_14=q21=mq21;q22=mq22;q23=mq23;q24=mq24;q25=mq25;q26=mq26; +per_frame_15=q27=mq27;q28=mq28;q29=mq29;q31=mq31; +per_frame_16= +per_frame_17=monitor=mq1; +per_frame_18=vol=bass+treb+mid; +per_frame_19=atime=atime+vol; +per_frame_20=q11=.4+sin(atime*.006 )*.4; +per_frame_21=q12=.4+cos(atime*.00613828348)*.4; +per_frame_22=q13=.4+sin(atime*.00598593455)*.4; +per_frame_23=monitor=q13; +per_frame_24= +per_frame_25=wave_r = mv_b; +per_frame_26=wave_b = mv_g; +per_frame_27=wave_g = mv_r; +per_frame_28=b=max(bass-1,0); +per_frame_29=m=max(mid-1,0); +per_frame_30=t=max(treb-1,0); +per_frame_31=mv_r=.6*abs(sin(time*2.6+1.23+cos(time*4.87+2.145)))+(b/30); +per_frame_32=mv_g=.6*abs(sin(time*4.451+2.89+cos(time*3.74+.78)))+(m/30); +per_frame_33=mv_b=.6*abs(sin(time*3.845+1.23+cos(time*2.6+3)))+(t/30); +per_frame_34= +per_frame_35=q1=(3.14*cos(time*1.45 + 1.54 + cos((bass_att*.1)+time+ 3.22))); +per_frame_36=q2=(3.14*cos(time*2.4 + 2.69 + cos((bass_att*.1)+time+.65))); +per_frame_37=q3=time%50; +per_frame_38=f=if(equal(endframe,0),1,0); +per_frame_39=beat_avg=if(equal(beat_avg,0),bass,beat_avg); +per_frame_40=beat_avg=(beat_avg+bass)/2; +per_frame_41= +per_frame_42=max_bass = if( beat*above(f*bass_att,max_bass),0.99*bass_att, max_bass ); +per_frame_43=max_bass = if( equal(frame%3000,0),0.8*max_bass,max_bass*.9999); +per_frame_44=max_bass=if( above(max_bass,10*beat_avg),10*beat_avg,max_bass); +per_frame_45=trig=if( equal(beat,1)*above(bass_att,max_bass),1,0); +per_frame_46=endframe=if(equal(trig,1)*equal(endframe,0), frame+4*min(interval,FPS),endframe); +per_frame_47=trig=if(equal(frame,endframe),0,trig); +per_frame_48=endframe=if(above(frame,endframe),0,endframe); +per_frame_49=q4=if(above(endframe,0),1,0); +per_frame_50=wave_a=0; +per_frame_51=rot=.1*sin(time*1.53+cos(time*4.676+3.43)); +per_frame_52=rot=rot*(1+.4*q4); +per_frame_53=ob_size=.3+.7*abs(cos(time*2.45 + 1.566 +sin(time*5 +2.43))); +per_frame_54= +per_frame_55=ob_r=mv_r*(int(rand(100))/100); +per_frame_56=ob_g=mv_g*(int(rand(100))/100); +per_frame_57=ob_b=mv_b*(int(rand(100))/100); +per_frame_58=ob_a=.05*abs(cos(time*2.45 + 1.566 +sin(time+2))); +per_frame_59= +per_frame_60= +per_frame_61= +per_frame_62= +per_frame_63= +per_frame_64= +per_frame_65= +per_frame_66= +per_frame_67= +per_frame_68=mv_x=if(equal(q4,1),54+10*cos(time*10),64); +per_frame_69= +per_frame_70= +per_frame_71=zoom=if(equal(int(rand(40+60*(q4))),25),1.6,zoom); +per_frame_72=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_73=sure=if(equal(sure,0),.6,sure); +per_frame_74=interval=if(equal(interval,0),40,interval); +per_frame_75=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_76=dbass=(bass-pbass)/FPS; +per_frame_77=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_78=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_79=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_80=sure=max(.5,sure); +per_frame_81=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_82=beat=if(cheat,1,beat); +per_frame_83=sure=if(cheat,.95*sure,sure); +per_frame_84=maxdbass=max(maxdbass*.999,dbass); +per_frame_85=maxdbass=max(.012,maxdbass); +per_frame_86=maxdbass=min(.02,maxdbass); +per_frame_87=interval=if(beat, frame-lastbeat,interval); +per_frame_88=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_89=cheat=0; +per_frame_90=pbass=bass; +per_frame_91=// ---------------------------------------------------------------------------------------------- +per_frame_92= +per_frame_93=zoom = if(equal(beat,1),zoom+bass*.7,zoom); +per_frame_94=monitor=sx; +per_frame_95=//monitor=60*FPS/interval; +per_pixel_1=dx= if( below( abs(ang-q1), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q1)),dx); +per_pixel_2=dy=if( below(abs(ang-q1),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q1)),dy); +per_pixel_3=zoom=if(below( abs(ang-q1),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass),zoom); +per_pixel_4= +per_pixel_5=dx= if( below( abs(ang-q2), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q2)),dx); +per_pixel_6=dy = if(below( abs(ang-q2),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q2)),dy); +per_pixel_7=zoom = if(below(abs(ang-q2),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass), zoom); +per_pixel_8=zoom=zoom-(1-q4)*.04*rad +q4*.1; +warp_1=`sampler sampler_pw_noise_lq; +warp_2=`float dx,dy,rad1,mask1; +warp_3=`float2 uv0, uv1,uv4,rsk, Kugel1,dz1; +warp_4=` +warp_5=`shader_body { +warp_6=`uv0 = uv; +warp_7=` +warp_8=`float2 uv1 = float2(uv.x,uv.y+texsize.w*3); +warp_9=`ret = GetPixel(uv1); +warp_10=` +warp_11=`float fak = exp(-2*lum(GetBlur2(uv_orig))); +warp_12=`float4 noise9 = tex3D(sampler_noisevol_hq, +warp_13=` ((uv1.xyy*q27 +warp_14=` )*texsize.xyy*texsize_noisevol_hq.zww +warp_15=` ).xyz* +warp_16=` float3(1,1,0)*0.05 + +warp_17=` time*float3(0,0,1)*q29 +warp_18=` ); +warp_19=`if(ret.x> q21*q13 && ret.x<= q24*q11 )ret.y += (noise9).x*.5; +warp_20=`if(ret.y> q22*q11 && ret.y<= q25*q12 )ret.z += (noise9).y*.5; +warp_21=`if(ret.z> q23*q12 && ret.z<= q26*q13 )ret.x += (noise9).z*.5; +warp_22=`ret = (GetBlur2(uv))*fak-.003 ; +warp_23=` +warp_24=`float3 add = GetPixel(uv)*.3; +warp_25=`ret = max(ret,add); +warp_26=`//ret = 0; +warp_27=`} +comp_1=`sampler sampler_pw_noise_lq; +comp_2=`float2 uv0, uv1, uv2,uv4,rsk,dz1,Kugel1;; +comp_3=`static const float sw1 = (rand_preset.x) >= .4; +comp_4=`static const float sw2 = (rand_preset.y); +comp_5=` +comp_6=`shader_body { +comp_7=`uv0 = uv; +comp_8=`uv2 = float2(.2/rad+time/4,ang/3.14)*2; +comp_9=`float mod = length(sin(uv2*3.141/2+time*.1)); +comp_10=`float2 noise = tex2D (sampler_noise_hq,uv2+mod).rg; +comp_11=`float mask = (noise.r <= sw2); +comp_12=`float2 rohr = sw1*rad * (noise-.5) /2*mask; +comp_13=` +comp_14=`uv1 = float2(1-uv.x,uv.y); +comp_15=`ret = GetPixel(uv)+GetPixel(uv1); +comp_16=` +comp_17=`float3 back = .2*(.5+(uv.x-.5)*q1+(uv.y-.5)*q2); +comp_18=`uv+= rohr * sw1; +comp_19=` +comp_20=`uv1 = float2(1-uv.x,uv.y); +comp_21=`ret += (GetBlur2(uv) + GetBlur2(uv1)) *min(.5+treb_att/4,2) *(1+1*sw1) * saturate(1-lum(ret)/2); +comp_22=`float4 noise9 = tex3D(sampler_noisevol_hq, +comp_23=` ((uv1.xyy*q28 +comp_24=` )*texsize.xyy*texsize_noisevol_hq.zww +comp_25=` ).xyz* +comp_26=` float3(1,1,0)*0.05 + +comp_27=` time*float3(0,0,1)*q31 +comp_28=` ); +comp_29=`if(ret.x> q26*q13 && ret.x<= q23*q11 )ret.z -= (noise9).x*.5; +comp_30=`if(ret.y> q25*q11 && ret.y<= q22*q12 )ret.x -= (noise9).y*.5; +comp_31=`if(ret.z> q24*q12 && ret.z<= q21*q13 )ret.y -= (noise9).z*.5; +comp_32=`ret += !sw1*back; +comp_33=`ret = lerp(ret*(hue_shader*2-1),ret,lum(ret));; +comp_34=`//ret = GetPixel(uv); +comp_35=`} diff --git a/presets/presets_tryptonaut/suksma-eternalpainandmiseryisasmallpricetopayforbeingabletosayidestroyedyou-masticatemybowelslikeyou'rebored.milk b/presets/presets_tryptonaut/suksma-eternalpainandmiseryisasmallpricetopayforbeingabletosayidestroyedyou-masticatemybowelslikeyou'rebored.milk new file mode 100644 index 0000000000..376a2fdc22 --- /dev/null +++ b/presets/presets_tryptonaut/suksma-eternalpainandmiseryisasmallpricetopayforbeingabletosayidestroyedyou-masticatemybowelslikeyou'rebored.milk @@ -0,0 +1,338 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=2 +PSVERSION_COMP=3 +[preset00] +fRating=5.000 +fGammaAdj=1.000 +fDecay=1.000 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=2 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=1 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=4.696 +fWaveScale=1.497 +fWaveSmoothing=0.880 +fWaveParam=0.000 +fModWaveAlphaStart=0.750 +fModWaveAlphaEnd=0.950 +fWarpAnimSpeed=1.000 +fWarpScale=1.000 +fZoomExponent=1.00000 +fShader=0.000 +zoom=1.00000 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00001 +dy=0.00001 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.700 +wave_g=0.700 +wave_b=0.700 +wave_x=0.500 +wave_y=0.500 +ob_size=0.000 +ob_r=0.000 +ob_g=0.000 +ob_b=0.000 +ob_a=1.000 +ib_size=0.000 +ib_r=0.000 +ib_g=0.000 +ib_b=0.000 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=0.10000 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.00000 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=0.000 +shapecode_0_b=0.000 +shapecode_0_a=1.000 +shapecode_0_r2=0.000 +shapecode_0_g2=1.000 +shapecode_0_b2=0.000 +shapecode_0_a2=0.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.100 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = (vvb+vvm+vvt)*10; +per_frame_12=q2 = (vvb+vvm+vvt)*10; +per_frame_13=q3 = (vvb+vvm+vvt)*10; +per_frame_14=q4 = (vvb+vvm+vvt)*10; +per_frame_15=q5 = (vvb+vvm+vvt)*10; +per_frame_16=q6 = (vvb+vvm+vvt)*10; +per_frame_17=q7 = (vvb+vvm+vvt)*10; +per_frame_18=runbass=runbass+vvb; +per_frame_19=runmids=runmids+vvm ; +per_frame_20=runtreb=runtreb+vvt; +per_frame_21=pi23=4*asin(-1)*.33333333333333; +per_frame_22=atime=(runtreb+runmids+runbass)*.05; +per_frame_23=q8= (sin(atime-0*pi23)+1)*.5; +per_frame_24=q9= (sin(atime-1*pi23)+1)*.5; +per_frame_25=q10=(sin(atime-2*pi23)+1)*.5; +per_frame_26= +per_frame_27=q11 = (vvb+vvm+vvt)*10; +per_frame_28=q12 = (vvb+vvm+vvt)*10; +per_frame_29=q13 = (vvb+vvm+vvt)*10; +per_frame_30=q14 = (vvb+vvm+vvt)*10; +per_frame_31=q15 = (vvb+vvm+vvt)*10; +per_frame_32=q16 = (vvb+vvm+vvt)*10; +per_frame_33=q17 = (vvb+vvm+vvt)*10; +per_frame_34=q18 = (vvb+vvm+vvt)*10; +per_frame_35=q19 = (vvb+vvm+vvt)*10; +per_frame_36=q20 = (vvb+vvm+vvt)*10; +per_frame_37=q21 = (vvb+vvm+vvt)*10; +per_frame_38=q22 = (vvb+vvm+vvt)*10; +per_frame_39=q23 = (vvb+vvm+vvt)*10; +per_frame_40=q24 = (vvb+vvm+vvt)*10; +per_frame_41=q25 = (vvb+vvm+vvt)*10; +per_frame_42=q26 = (vvb+vvm+vvt)*10; +per_frame_43=q27 = (vvb+vvm+vvt)*10; +per_frame_44=q28 = (vvb+vvm+vvt)*10; +per_frame_45=q29 = (vvb+vvm+vvt)*10; +per_frame_46=q30 = (vvb+vvm+vvt)*10; +per_frame_47=q31 = (vvb+vvm+vvt)*10; +per_frame_48=q32 = (vvb+vvm+vvt)*10; +per_frame_49= +per_frame_50=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); +per_frame_51=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); +per_frame_52=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); +per_frame_53=warp = 0; +per_frame_54= +per_frame_55=wave_y = wave_y + 0.25*sin(time); +per_frame_56=wave_x = wave_x + 0.25*cos(time); +per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); +per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; +per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; +per_pixel_4= +per_pixel_5=//rot = rot + 0.1*abs(sin(0.1*rad-(0.5*sin(4*time)-rad+0.3)*cos(0.6))*0.5-rad); +per_pixel_6=zoom = zoom + 0.01; +per_pixel_7=rot = rot + 5*above(x,0.45+0.35*sin(time))*below(x,0.55+0.35*sin(time)); +per_pixel_8=rot = rot + 5*below(y,0.45+0.35*cos(0.9*time))*below(y,0.55+0.35*cos(0.9*time)); +warp_1=`shader_body +warp_2=`{ +warp_3=` // PAINTERLY EFFECT: +warp_4=` float2 uv2 = uv; +warp_5=` const float mipbias = 0; +warp_6=` float2 delta2 = texsize.zw*float2(1,1); +warp_7=` float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz; +warp_8=` uv2.xy += (blurry_color.xy-0.37) * 0.01; +warp_9=` +warp_10=` // sample previous frame +warp_11=` ret = tex2D( sampler_main, uv2 ).xyz; +warp_12=` +warp_13=` ret += (tex2D(sampler_noise_lq, uv_orig*4 + rand_frame.xy)*2-1)*0.02; +warp_14=` +warp_15=` float ang2 = atan2(uv_orig.y-0.5,uv_orig.x-0.5); +warp_16=` ret += ( cos(ang2*17 + time*12 + lum(ret)*0) )*0.15; +warp_17=` +warp_18=` // darken over time +warp_19=` //ret -= 0.004; +warp_20=`} +comp_1=`float3 ret1, neu; +comp_2=`float2 rs,rs2,uv1; +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`float dist = 1; +comp_8=`float inten = 1; +comp_9=`ret1 = 0; +comp_10=`int anz = 2;//# layers +comp_11=`float n = 0; +comp_12=`uv -= .5; +comp_13=`uv *= aspect.xy*1.9; +comp_14=`while (n <= anz) { +comp_15=` uv2=uv; +comp_16=` if (n%3==0) dist = 1-frac(1.0/anz*n+q30); +comp_17=` else if (n%3==1) dist = 1-frac(1.0/anz*n+q31); +comp_18=` else dist = 1-frac(1.0/anz*n+q32); +comp_19=` inten = dist*(1-dist)*3; +comp_20=` float2 uv3 = 0; +comp_21=` if (n%3==0) uv3 = frac(1.5*uv2*dist+q18+float2(q15+dist/3,0)); +comp_22=` else if (n%3==1) uv3 = frac(1.5*uv2*dist+q15+float2(q18+dist/3,0)); +comp_23=` else uv3 = frac(1.5*uv2*dist+q21+float2(q20+dist/3,0)); +comp_24=` uv3=abs(frac(uv3+.5)-.5) ; +comp_25=` neu = GetPixel(uv3) -.7*GetBlur3(uv3*1.05); +comp_26=` ret1 = max(ret1,neu*inten); +comp_27=` n++; +comp_28=`} +comp_29=`rs2 = .3*sin(uv*4+q15) - lum(ret1);//sub lum(ret1) pretty much is the light distortion effect +comp_30=`float dots = (.05/length(rs2))*q26*.5; +comp_31=`ret = (q1+.5)*ret1 + dots*float3 (q8,q9,q10) ; +comp_32=`} diff --git a/presets/presets_tryptonaut/sunrise.jpg b/presets/presets_tryptonaut/sunrise.jpg new file mode 100755 index 0000000000..78b8f77b91 Binary files /dev/null and b/presets/presets_tryptonaut/sunrise.jpg differ diff --git a/presets/presets_tryptonaut/undulate harque - calm ling.milk b/presets/presets_tryptonaut/undulate harque - calm ling.milk new file mode 100755 index 0000000000..f094d5ac27 --- /dev/null +++ b/presets/presets_tryptonaut/undulate harque - calm ling.milk @@ -0,0 +1,439 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=3 +PSVERSION_WARP=3 +PSVERSION_COMP=3 +[preset00] +fRating=3.000000 +fGammaAdj=2.630 +fDecay=0.910 +fVideoEchoZoom=1.007 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=1 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.00000 +fShader=0.180 +zoom=0.99951 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.00909 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=12.000 +nMotionVectorsY=9.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.900 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=1 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.00000 +wavecode_0_r=0.400 +wavecode_0_g=0.400 +wavecode_0_b=0.400 +wavecode_0_a=1.000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=1 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.00000 +wavecode_1_r=0.000 +wavecode_1_g=0.000 +wavecode_1_b=0.000 +wavecode_1_a=1.000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=0.000 +wavecode_2_g=0.000 +wavecode_2_b=0.000 +wavecode_2_a=0.000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=5.38980 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=1.19381 +shapecode_0_tex_zoom=0.18923 +shapecode_0_r=1.000 +shapecode_0_g=0.970 +shapecode_0_b=1.000 +shapecode_0_a=0.940 +shapecode_0_r2=1.000 +shapecode_0_g2=1.000 +shapecode_0_b2=1.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=3.99882 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=0.25005 +shapecode_1_r=1.000 +shapecode_1_g=1.000 +shapecode_1_b=1.000 +shapecode_1_a=0.600 +shapecode_1_r2=1.000 +shapecode_1_g2=1.000 +shapecode_1_b2=1.000 +shapecode_1_a2=0.600 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.000 +shapecode_2_enabled=0 +shapecode_2_sides=18 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_num_inst=10 +shapecode_2_x=0.463 +shapecode_2_y=0.500 +shapecode_2_rad=1.60089 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=0.67634 +shapecode_2_r=1.000 +shapecode_2_g=1.000 +shapecode_2_b=1.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.700 +shapecode_2_g2=0.800 +shapecode_2_b2=0.800 +shapecode_2_a2=1.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.000 +shapecode_3_enabled=1 +shapecode_3_sides=16 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=353 +shapecode_3_x=0.503 +shapecode_3_y=0.500 +shapecode_3_rad=0.03760 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.11234 +shapecode_3_r=1.000 +shapecode_3_g=1.000 +shapecode_3_b=1.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=0.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.060 +shape_3_per_frame1=sample=instance/num_inst; +shape_3_per_frame2=rad=.05+.04*sin(sample); +shape_3_per_frame3= +shape_3_per_frame4=///// Knot +shape_3_per_frame5= +shape_3_per_frame6=q10=250*sample; +shape_3_per_frame7=my_x = -.22*cos(q10)-1.28*sin(q10)-.44*cos(3*q10)-.78*sin(3*q10); +shape_3_per_frame8=my_y= -.1*cos(2*q10)-.27*sin(2*q10)+.38*cos(4*q10)+.46*sin(4*q10); +shape_3_per_frame9=my_z=.7*cos(3*q10)-.4*sin(3*q10); +shape_3_per_frame10= +shape_3_per_frame11= +shape_3_per_frame12=/////// rotations... by flexi +shape_3_per_frame13= +shape_3_per_frame14=d = .2; +shape_3_per_frame15=zoom = 1; +shape_3_per_frame16= +shape_3_per_frame17=w3 = q1; +shape_3_per_frame18=w2 = q2; +shape_3_per_frame19=w1 = q3; +shape_3_per_frame20= +shape_3_per_frame21=x1 = cos(w1)*my_x + sin(w1)*my_y; +shape_3_per_frame22=y1 = -sin(w1)*my_x + cos(w1)*my_y; +shape_3_per_frame23=z1 = my_z; +shape_3_per_frame24= +shape_3_per_frame25=x2 = cos(w2)*x1 + sin(w2)*z1; +shape_3_per_frame26=z2 = -sin(w2)*x1 + cos(w2)*z1; +shape_3_per_frame27=y2 = y1; +shape_3_per_frame28= +shape_3_per_frame29=y3 = cos(w3)*y2 + sin(w3)*z2; +shape_3_per_frame30=z3 = -sin(w3)*y2 + cos(w3)*z2; +shape_3_per_frame31=x3 = x2; +shape_3_per_frame32= +shape_3_per_frame33=// perspective calculation +shape_3_per_frame34= +shape_3_per_frame35=l = sqrt(x3*x3 + y3*y3); +shape_3_per_frame36=w = atan2(x3,y3); +shape_3_per_frame37=p = tan(asin(1) + atan2(d+z3,l)); +shape_3_per_frame38=d = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d)); +shape_3_per_frame39= +shape_3_per_frame40=my_x = zoom*sin(w)*p; +shape_3_per_frame41=my_y = zoom*cos(w)*p; +shape_3_per_frame42= +shape_3_per_frame43=p1 = .2*sin(sample*50); +shape_3_per_frame44=p2 = .2*sin(sample*80); +shape_3_per_frame45= +shape_3_per_frame46=x = .5+my_x*p1; +shape_3_per_frame47=y = .5+my_y*p2; +shape_3_per_frame48= +shape_3_per_frame49=r = .4*sin(sample*80); +shape_3_per_frame50=b = .8*sin(sample*66); +shape_3_per_frame51=g = .6*sin(sample*120); +per_frame_init_1=x1 = 2; +per_frame_init_2=y1= 2; +per_frame_init_3=z1 = 2; +per_frame_1=//per frame less reactive volume for all unused q vars, put before other q vars are set for cop out mashing +per_frame_2=vb = vb*0.95 + (1-vb)*pow(bass_att,2)*0.02; +per_frame_3=vvb = vvb*0.95 + (1-vvb)*vb*0.01; +per_frame_4=vm = vm*0.95 + (1-vm)*pow(mid_att,2)*0.02; +per_frame_5=vvm = vvm*0.95 + (1-vvm)*vm*0.01; +per_frame_6=vt = vt*0.95 + (1-vt)*pow(treb_att,2)*0.02; +per_frame_7=vvt = vvt*0.95 + (1-vvt)*vt*0.01; +per_frame_8=vvb = min(1,max(0,vvb)); +per_frame_9=vvm = min(1,max(0,vvm)); +per_frame_10=vvt = min(1,max(0,vvt)); +per_frame_11=q1 = (vvb+vvm+vvt)*10; +per_frame_12=q2 = (vvb+vvm+vvt)*10; +per_frame_13=q3 = (vvb+vvm+vvt)*10; +per_frame_14=q4 = (vvb+vvm+vvt)*10; +per_frame_15=q5 = (vvb+vvm+vvt)*10; +per_frame_16=q6 = (vvb+vvm+vvt)*10; +per_frame_17=q7 = (vvb+vvm+vvt)*10; +per_frame_18=q8 = (vvb+vvm+vvt)*10; +per_frame_19=q9 = (vvb+vvm+vvt)*10; +per_frame_20=q10 = (vvb+vvm+vvt)*10; +per_frame_21=q11 = (vvb+vvm+vvt)*10; +per_frame_22=q12 = (vvb+vvm+vvt)*10; +per_frame_23=q13 = (vvb+vvm+vvt)*10; +per_frame_24=q14 = (vvb+vvm+vvt)*10; +per_frame_25=q15 = (vvb+vvm+vvt)*10; +per_frame_26=q16 = (vvb+vvm+vvt)*10; +per_frame_27=q17 = (vvb+vvm+vvt)*10; +per_frame_28=q18 = (vvb+vvm+vvt)*10; +per_frame_29=q19 = (vvb+vvm+vvt)*10; +per_frame_30=q20 = (vvb+vvm+vvt)*10; +per_frame_31=q21 = (vvb+vvm+vvt)*10; +per_frame_32=q22 = (vvb+vvm+vvt)*10; +per_frame_33=q23 = (vvb+vvm+vvt)*10; +per_frame_34=q24 = (vvb+vvm+vvt)*10; +per_frame_35=q25 = (vvb+vvm+vvt)*10; +per_frame_36=q26 = (vvb+vvm+vvt)*10; +per_frame_37=q27 = (vvb+vvm+vvt)*10; +per_frame_38=q28 = (vvb+vvm+vvt)*10; +per_frame_39=q29 = (vvb+vvm+vvt)*10; +per_frame_40=q30 = (vvb+vvm+vvt)*10; +per_frame_41=q31 = (vvb+vvm+vvt)*10; +per_frame_42=q32 = (vvb+vvm+vvt)*10; +per_frame_43= +per_frame_44=q1 = aspectx; +per_frame_45=q2 = aspecty; +per_frame_46=wave_a = 0; +per_frame_47=v = 0.5; +per_frame_48=j1 = j1*0.95 + sqr(bass*4)*v; +per_frame_49=j2 = j2*0.95 + sqr(mid*4)*v; +per_frame_50=j3 = j3*0.95 + sqr(treb*4)*v; +per_frame_51= +per_frame_52=n = n + j1*0.0052; +per_frame_53=n1 = n1 + j2*0.0052; +per_frame_54=n2 = n2 + j3*0.0052; +per_frame_55= +per_frame_56= +per_frame_57=q3 = n*0.01; // passing the 3 room angles +per_frame_58=q4 = n1*0.01; +per_frame_59=q5 = n2*0.01; +per_frame_60= +per_frame_61= +per_frame_62=// lorenz-attractor calc +per_frame_63=a = 10; +per_frame_64=b = 28; +per_frame_65=c = 8/3; +per_frame_66=dx1 = a*(y1-x1); +per_frame_67=dy1 = x1*(b-z1)-y1; +per_frame_68=dz1 = x1*y1-c*z1; +per_frame_69=d = 1; +per_frame_70=dd = sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); +per_frame_71=x1 = x1 + d*dx1/dd; +per_frame_72=y1 = y1 + d*dy1/dd; +per_frame_73=z1 = z1 + d*dz1/dd; +per_frame_74= +per_frame_75=q11 = x1; +per_frame_76=q12 = y1; +per_frame_77=q13 = z1; +per_frame_78=q14 = a; +per_frame_79=q15 = b; +per_frame_80=q16 = c; +per_frame_81=q17 = d; +per_pixel_1=cx1 = 0.5+sin(time*0.618)*0.2; +per_pixel_2=cy1 = 0.5+cos(time*1.618)*0.2; +per_pixel_3= +per_pixel_4=dir = bass; +per_pixel_5= +per_pixel_6=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_7= +per_pixel_8=x1 = if( above(d,0.3),0, sin(y-cy1)*0.05*dir); +per_pixel_9=y1 = if( above(d,0.3),0, -sin(x-cx1)*0.05*dir); +per_pixel_10= +per_pixel_11= +per_pixel_12=cx1 = 0.5+sin(time*2.618)*0.3; +per_pixel_13=cy1 = 0.5+cos(time*3.14)*0.3; +per_pixel_14= +per_pixel_15=dir = -mid*2; +per_pixel_16= +per_pixel_17=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_18= +per_pixel_19=x2 = if( above(d,0.2),0, sin(y-cy1)*0.05*dir); +per_pixel_20=y2 = if( above(d,0.2),0, -sin(x-cx1)*0.05*dir); +per_pixel_21= +per_pixel_22=cx1 = 0.5+sin(-time*2.618)*0.4; +per_pixel_23=cy1 = 0.5+cos(-time*1.14)*0.4; +per_pixel_24= +per_pixel_25=dir = treb*3; +per_pixel_26= +per_pixel_27=d = sqrt((x-cx1)*(x-cx1)+(y-cy1)*(y-cy1)); +per_pixel_28= +per_pixel_29=x3 = if( above(d,0.1),0, sin(y-cy1)*0.05*dir); +per_pixel_30=y3 = if( above(d,0.1),0, -sin(x-cx1)*0.05*dir); +per_pixel_31= +per_pixel_32= +per_pixel_33=dx = dx+x1+x2+x3; +per_pixel_34=dy = dy+y1+y2+y3; +warp_1=`shader_body +warp_2=`{ +warp_3=` +warp_4=` +warp_5=`float error = 0.5; // maximum random pixel offset +warp_6=`float diffusion = 0.006; // dither strength +warp_7=`float fadeout = -0.0006; // may be minor 1/256 due to the error diffusion dither; +warp_8=` +warp_9=`float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw*1.5 + rand_frame.xy; +warp_10=`float magic = lum(GetPixel(lerp(uv_orig,uv, 4))) - lum(GetBlur2(lerp(uv_orig,uv,-12))); +warp_11=`uv = lerp(uv_orig,uv, magic*12 ) + (tex2D(sampler_noise_lq, dither_uv)-0.5)*texsize.zw*error; +warp_12=`ret = GetPixel(uv)+(tex2D(sampler_noise_lq, dither_uv)-0.5)*diffusion + fadeout; +warp_13=` +warp_14=`} +comp_1=`float3 ret1, neu, blur; +comp_2=` +comp_3=`shader_body +comp_4=`{ +comp_5=`float2 uv2; +comp_6=`float ang2, c, s; +comp_7=`uv -= 0.5; +comp_8=`uv *= aspect.xy; +comp_9=` +comp_10=`float dist = 1; +comp_11=`float inten = 1; +comp_12=`ret1 = 0; +comp_13=`int anz = 3; +comp_14=`int n = 1; +comp_15=`while (n <= anz) { +comp_16=` ang2 = n/anz; +comp_17=` c = (ang2); +comp_18=` s = 1-(ang2); +comp_19=` uv2.x = uv.x*c - uv.y*s; +comp_20=` uv2.y = uv.x*s + uv.y*c; +comp_21=` uv2 *= aspect.yx; +comp_22=` uv2=abs(frac(uv2+.5)-.5) ; +comp_23=` dist = 1-frac(.25*n+q29); //evtl sqrt ! +comp_24=` inten = pow(dist,.5)*(1-dist*dist)*2; +comp_25=` float2 uv3 = frac(3*uv2*dist + .5 + q31);; +comp_26=` neu = GetPixel (uv3) + 2*GetBlur1(uv3); +comp_27=` +comp_28=` ret1 = max(ret1*.9,neu*inten); +comp_29=`n++; +comp_30=`} +comp_31=` +comp_32=`ret = .5*ret1 + 0.5*float3(0,0,.3)*(.5+uv.y) ; +comp_33=`//ret = GetPixel(uv+.5); +comp_34=`} diff --git a/presets/presets_tryptonaut/wrenches.jpg b/presets/presets_tryptonaut/wrenches.jpg new file mode 100755 index 0000000000..ecded40035 Binary files /dev/null and b/presets/presets_tryptonaut/wrenches.jpg differ diff --git a/presets/presets_tryptonaut/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk b/presets/presets_tryptonaut/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk new file mode 100755 index 0000000000..7c173cd314 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 051 - Van Gogh's nightmare (in depth) - bitcore tweak.milk @@ -0,0 +1,114 @@ +[preset00] +fRating=1.000000 +fGammaAdj=1.000000 +fDecay=0.994000 +fVideoEchoZoom=1.745792 +fVideoEchoAlpha=0.630000 +nVideoEchoOrientation=3 +nWaveMode=7 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=1 +bInvert=0 +fWaveAlpha=0.997763 +fWaveScale=3.023201 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.999991 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.500000 +wave_x=1.000000 +wave_y=1.000000 +ob_size=0.000000 +ob_r=0.500000 +ob_g=0.100000 +ob_b=0.200000 +ob_a=0.500000 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=24.959995 +nMotionVectorsY=7.680000 +mv_dx=0.300000 +mv_dy=0.360000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=wave_g = abs(cos(time*1.4+.89 + sin(time*2.1+.73))); +per_frame_2=wave_b= abs(cos(time*.7+.64)); +per_frame_3=wave_r = abs(sin(time*1.526 + .321 )); +per_frame_4=wave_x=abs(sin(time*2+.368)); +per_frame_5=warp=0; +per_frame_6=diakPos=if( below(frame%500,200),1,1); +per_frame_7=diakRot=if(below(frame%500,100),0,1); +per_frame_8=diakRot=if(above(frame%500,400),0,diakRot); +per_frame_9=q1=.125; +per_frame_10=q6=diakRot*sin(time/3+1.783+cos(time+2.814)); //rotation +per_frame_11=q8=sign( sin(2.356*time+.385+2*cos(.6*time+2.9))); +per_frame_12=q7=.375*(1+diakPos*sin( cos(time*2.31+1.972)+time*1.34+1.69)); // row1 x y coords +per_frame_13=q5=.5+(diakPos*.1*sin(time+cos(time*3+.256))); +per_frame_14=q4=.625+diakPos*2*q1*(sin( cos(time*.67+.711)+time*2.1+1.314)); // row2 x y cords +per_frame_15= +per_frame_16=q2=.875-diakPos*3*q1*(abs(sin( cos(2*time+1.23)+.8*time+1.72))); +per_frame_17=q3=.18+(mid_att+treb_att+bass_att)/11; +per_frame_18=monitor = mid+treb+bass; +per_frame_19=v=rand(200); +per_frame_20=sx=if( equal(v,9),-1,sx); +per_frame_21=sy=if( equal(v,8),-1,sy); +per_frame_22=zoom=if( equal(v,7),.5,1); +per_pixel_1=IsRow1=if( below( abs( (q6*(x-.5)+(1-q6)*(y-q7)))/(sqr(q6)+sqr(1-q6)),q1),1,0); +per_pixel_2=IsRow2=if( below( abs( ((1-q6)*(x-q5)+(q6)*(y-q4)))/(sqr(q6)+sqr(1-q6)),q1),1,0); +per_pixel_3=q6=q6*1.5; +per_pixel_4=Row3dist=( (-q6*(x-.5)+(1-q6)*(y-q2) )/(sqr(q6)+sqr(1-q6))); +per_pixel_5=IsRow3=if( below( abs(Row3dist),q1),1,0); +per_pixel_6=scroll=sign(sin(time/4+2.312)); +per_pixel_7=dy=dy+.01*(1-IsRow1)*(1-IsRow2)*(1-IsRow3)*scroll*q3; +per_pixel_8= +per_pixel_9=//row1 +per_pixel_10=moveX=IsRow1*.006*(sin(38*(x-.5)+time*3) + sin(26*(y-q7)+time*1)); +per_pixel_11=moveY=IsRow1*.006*(sin(23*(x-.5)+time*2)+sin(40*(y-q7)+time*6)); +per_pixel_12=dx=dx+q3*moveX; +per_pixel_13=dy=dy+q3*moveY; +per_pixel_14=zoom=zoom+5*q3*(moveX+moveY); +per_pixel_15= +per_pixel_16=//row2 +per_pixel_17=row2ang=-atan2(x-q5,y-q4); +per_pixel_18=row2dist=sqrt( sqr(x-q5)+sqr(y-q4) ); +per_pixel_19=moveX=IsRow2*.03*cos(row2ang)*q8; +per_pixel_20=moveY=IsRow2*.03*sin(row2ang)*q8; +per_pixel_21=dx=dx+q3*moveX; +per_pixel_22=dy=dy+q3*moveY; +per_pixel_23=zoom=zoom+IsRow2*.05*(1+.2*q3*pow((-1+row2dist),3)); +per_pixel_24= +per_pixel_25=//row3 +per_pixel_26=moveX=.007*sin(time*100); +per_pixel_27=dx=dx+IsRow3*q3*moveX; +per_pixel_28=zoom=zoom+.1*IsRow3*( Row3dist/q1)*sin(time*3)*q3; +per_frame_init_1=frame=-100; diff --git a/presets/presets_tryptonaut/yin - 100 - Through the ether - Bitcore Tweak.milk b/presets/presets_tryptonaut/yin - 100 - Through the ether - Bitcore Tweak.milk new file mode 100755 index 0000000000..bfbdec771b --- /dev/null +++ b/presets/presets_tryptonaut/yin - 100 - Through the ether - Bitcore Tweak.milk @@ -0,0 +1,287 @@ +[preset00] +fRating=2.000000 +fGammaAdj=2.050001 +fDecay=0.975000 +fVideoEchoZoom=0.996630 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=100.000000 +fWaveScale=1.005319 +fWaveSmoothing=0.000000 +fWaveParam=0.000000 +fModWaveAlphaStart=2.000000 +fModWaveAlphaEnd=2.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=1.000000 +zoom=0.999902 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.078303 +sx=1.000000 +sy=1.000000 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.500000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.100000 +wavecode_0_enabled=0 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=0 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=0 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.500000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wavecode_3_enabled=0 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=0 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=1.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.100000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_init_1=max_bass = 1.2; +per_frame_1=wave_r = mv_b; +per_frame_2=wave_b = mv_g; +per_frame_3=wave_g = mv_r; +per_frame_4=b=max(bass-1,0); +per_frame_5=m=max(mid-1,0); +per_frame_6=t=max(treb-1,0); +per_frame_7=mv_r=.6*abs(sin(time*2.6+1.23+cos(time*4.87+2.145)))+(b/30); +per_frame_8=mv_g=.6*abs(sin(time*4.451+2.89+cos(time*3.74+.78)))+(m/30); +per_frame_9=mv_b=.6*abs(sin(time*3.845+1.23+cos(time*2.6+3)))+(t/30); +per_frame_10= +per_frame_11=q1=(3.14*cos(time*1.45 + 1.54 + cos((bass_att*.1)+time+ 3.22))); +per_frame_12=q2=(3.14*cos(time*2.4 + 2.69 + cos((bass_att*.1)+time+.65))); +per_frame_13=q3=time%50; +per_frame_14=f=if(equal(endframe,0),1,0); +per_frame_15=beat_avg=if(equal(beat_avg,0),bass,beat_avg); +per_frame_16=beat_avg=(beat_avg+bass)/2; +per_frame_17= +per_frame_18=max_bass = if( beat*above(f*bass_att,max_bass),0.99*bass_att, max_bass ); +per_frame_19=max_bass = if( equal(frame%3000,0),0.8*max_bass,max_bass*.9999); +per_frame_20=max_bass=if( above(max_bass,10*beat_avg),10*beat_avg,max_bass); +per_frame_21=trig=if( equal(beat,1)*above(bass_att,max_bass),1,0); +per_frame_22=endframe=if(equal(trig,1)*equal(endframe,0), frame+4*min(interval,FPS),endframe); +per_frame_23=trig=if(equal(frame,endframe),0,trig); +per_frame_24=endframe=if(above(frame,endframe),0,endframe); +per_frame_25=q4=if(above(endframe,0),1,0); +per_frame_26=wave_a=0; +per_frame_27=rot=.1*sin(time*1.53+cos(time*4.676+3.43)); +per_frame_28=rot=rot*(1+.4*q4); +per_frame_29=ob_size=.3+.7*abs(cos(time*2.45 + 1.566 +sin(time*5 +2.43))); +per_frame_30= +per_frame_31=ob_r=mv_r*(rand(100)/100); +per_frame_32=ob_g=mv_g*(rand(100)/100); +per_frame_33=ob_b=mv_b*(rand(100)/100); +per_frame_34=ob_a=.05*abs(cos(time*2.45 + 1.566 +sin(time+2))); +per_frame_35= +per_frame_36= +per_frame_37= +per_frame_38= +per_frame_39= +per_frame_40= +per_frame_41= +per_frame_42= +per_frame_43= +per_frame_44=mv_x=if(equal(q4,1),54+10*cos(time*10),64); +per_frame_45= +per_frame_46= +per_frame_47=zoom=if(equal(rand(40+60*(q4)),25),1.6,zoom); +per_frame_48=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_49=sure=if(equal(sure,0),.6,sure); +per_frame_50=interval=if(equal(interval,0),40,interval); +per_frame_51=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_52=dbass=(bass-pbass)/FPS; +per_frame_53=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_54=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_55=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_56=sure=max(.5,sure); +per_frame_57=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_58=beat=if(cheat,1,beat); +per_frame_59=sure=if(cheat,.95*sure,sure); +per_frame_60=maxdbass=max(maxdbass*.999,dbass); +per_frame_61=maxdbass=max(.012,maxdbass); +per_frame_62=maxdbass=min(.02,maxdbass); +per_frame_63=interval=if(beat, frame-lastbeat,interval); +per_frame_64=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_65=cheat=0; +per_frame_66=pbass=bass; +per_frame_67=// ---------------------------------------------------------------------------------------------- +per_frame_68= +per_frame_69=zoom = if(equal(beat,1),zoom+bass*.7,zoom); +per_frame_70=monitor=sx; +per_frame_71=//monitor=60*FPS/interval; +per_pixel_1=dx= if( below( abs(ang-q1), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q1)),dx); +per_pixel_2=dy=if( below(abs(ang-q1),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q1)),dy); +per_pixel_3=zoom=if(below( abs(ang-q1),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass),zoom); +per_pixel_4= +per_pixel_5=dx= if( below( abs(ang-q2), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q2)),dx); +per_pixel_6=dy = if(below( abs(ang-q2),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q2)),dy); +per_pixel_7=zoom = if(below(abs(ang-q2),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass), zoom); +per_pixel_8=zoom=zoom-(1-q4)*.04*rad +q4*.1; diff --git a/presets/presets_tryptonaut/yin - 140 - Ohm to the stars.milk b/presets/presets_tryptonaut/yin - 140 - Ohm to the stars.milk new file mode 100755 index 0000000000..b6ea170bb0 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 140 - Ohm to the stars.milk @@ -0,0 +1,130 @@ +[preset00] +fRating=3.000000 +fGammaAdj=2.260000 +fDecay=0.990000 +fVideoEchoZoom=0.999990 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=1 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=0.901646 +fWaveSmoothing=0.000000 +fWaveParam=-0.500000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=2.216679 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.250000 +wave_b=0.250001 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.050000 +ob_r=0.500000 +ob_g=0.500000 +ob_b=0.500000 +ob_a=0.000000 +ib_size=0.025000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=32.000000 +nMotionVectorsY=48.000000 +mv_dx=0.300000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=wave_r = .8*abs(cos( .07*time+.532 + sin( .125*time+.789) )); +per_frame_23=wave_g = .8*abs(cos( .092*time+2.1 + sin( .045*time+1.52) )); +per_frame_24=wave_b = .8*abs(cos( .1*time+1.452 + sin( .112*time+2.98) )); +per_frame_25=q1=beat; +per_frame_26=ib_a=beat; +per_frame_27=ib_r=1-wave_r;ib_g=1-wave_g;ib_b=1-wave_b; +per_frame_28=wave_mystery = 1-1.5*min(((frame-lastBeat)/interval),1); +per_frame_29=wave_a=if(above((frame-lastBeat)/interval,1),0,1); +per_frame_30=phase=if(equal(frame%interval,0),phase+1,phase); +per_frame_31=phase=if(equal(phase%18,17),0,phase); +per_frame_32=midphase=min((frame-lastBeat)/interval,1); +per_frame_33=sx=if(equal(phase,15)*equal(frame%interval,0),-1,sx); +per_frame_34=sy=if(equal(phase,26)*equal(frame%interval,0),-1,sy); +per_frame_35=phase = if(equal(frame%interval,0)*below(cos(time/6), -.5), (phase+rand(13))%14+1,phase); +per_frame_36=q2=phase; +per_frame_37=q3=midphase; +per_frame_38= +per_pixel_1=zoom =1+.01*sin(13.28*rad); +per_pixel_2=//zoom right +per_pixel_3=zoom=zoom+equal(q2,1)*q3*.1*(x-.5); +per_pixel_4=// zoom left +per_pixel_5=zoom=zoom+equal(q2,2)*q3*.1*(.5-x); +per_pixel_6=// zoom top +per_pixel_7=zoom=zoom+equal(q2,5)*q3*.1*(.5-y); +per_pixel_8=// zoom bottom +per_pixel_9=zoom=zoom+equal(q2,4)*q3*.1*(y-.5); +per_pixel_10=// rotate left +per_pixel_11=rot=rot+equal(q2,3)*q3*.3; +per_pixel_12=// rotate right +per_pixel_13=rot=rot-equal(q2,6)*q3*.3; +per_pixel_14=// scale x +per_pixel_15=sx=sx+equal(q2,7)*q3*.2; +per_pixel_16=// squash y +per_pixel_17=sy=sy-equal(q2,8)*q3*.2; +per_pixel_18=// squash x +per_pixel_19=sx=sx-equal(q2,9)*q3*.2; +per_pixel_20=// scale y; +per_pixel_21=sy=sy+equal(q2,10)*q3*.2; +per_pixel_22=// transpose+ vertical +per_pixel_23=dy=dy+equal(q2,11)*abs(.5-x)*sign(.5-x)*q3*.2; +per_pixel_24=// transpose+ horiz +per_pixel_25=dx=dx+equal(q2,12)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_26=// transpose- horiz +per_pixel_27=dx=dx-equal(q2,14)*abs(.5-y)*sign(.5-y)*q3*.2; +per_pixel_28=// transpose- vertical +per_pixel_29=dy=dy-equal(q2,13)*abs(.5-x)*sign(.5-x)*q3*.2; diff --git a/presets/presets_tryptonaut/yin - 160 - Controversial.milk b/presets/presets_tryptonaut/yin - 160 - Controversial.milk new file mode 100755 index 0000000000..7c03e91402 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 160 - Controversial.milk @@ -0,0 +1,104 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.700001 +fDecay=1.000000 +fVideoEchoZoom=0.999991 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=1 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.400000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=10.572172 +fWarpScale=4.108018 +fZoomExponent=1.196128 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000010 +dy=0.000010 +warp=1.011847 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.070000 +ob_g=1.000000 +ob_b=0.070000 +ob_a=0.000000 +ib_size=0.010000 +ib_r=0.070000 +ib_g=0.070000 +ib_b=1.000000 +ib_a=1.000000 +nMotionVectorsX=1.920000 +nMotionVectorsY=1.440000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21=q1=beat; +per_frame_22=warp=0;q8=55/FPS; +per_frame_23=q7=min((frame-lastBeat)/interval,1); +per_frame_24=aa=aa+beat; +per_frame_25=wave_g=q7;wave_b=q7; +per_frame_26=curang=.97*curang- (q1*(.4+max(bass,1.5)*rand(20)/100)*(-1+2*(aa%2)))*q8; +per_frame_27=cursc=1+.97*curscale+q8*.3*beat; +per_frame_28=sx=cursc; +per_frame_29=sy=1-(cursc-1); +per_frame_30=decay=1-.2*beat; +per_frame_31=ob_a=.2*beat; +per_frame_32=ib_a=.3*beat; +per_frame_33=q6=below(aa%4,2)*if(equal(aa%2,0),1,-1); +per_frame_34=q5=above(aa%4,1)*if(equal(aa%2,0),-1,1); +per_frame_35=wave_x=.5+.03*q7*q6; +per_frame_36=wave_y=.5+.03*q7*q5; +per_frame_37=rot = curang; +per_pixel_1=x=x-.5; +per_pixel_2=y=1-(y+.5); +per_pixel_3=zoom=zoom-.1*q8*(below(rad,.7))*(1+.5*(1-q7)); +per_frame_init_1=time=0; diff --git a/presets/presets_tryptonaut/yin - 191 - Temporal singularities.milk b/presets/presets_tryptonaut/yin - 191 - Temporal singularities.milk new file mode 100755 index 0000000000..28a0f3a3f9 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 191 - Temporal singularities.milk @@ -0,0 +1,127 @@ +[preset00] +fRating=1.000000 +fGammaAdj=4.990001 +fDecay=1.000000 +fVideoEchoZoom=10.784553 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=1 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.997938 +fWaveScale=1.990516 +fWaveSmoothing=0.000000 +fWaveParam=-1.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.000000 +fWarpScale=0.999998 +fZoomExponent=0.999985 +fShader=1.000000 +zoom=0.999900 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000010 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.400001 +wave_g=0.400000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=1.000000 +ob_size=0.000000 +ob_r=0.300001 +ob_g=1.000000 +ob_b=0.300000 +ob_a=0.100001 +ib_size=0.005000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.500000 +nMotionVectorsX=8.960042 +nMotionVectorsY=12.960033 +mv_dx=-0.260000 +mv_dy=0.440000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +per_frame_1=warp=0;decay=1; +per_frame_2=vol = (.75*(bass_att+mid_att+treb_att)/3+.25*prevVol); +per_frame_3=prevAvgBass=avgBass; +per_frame_4=avgBass=avgBass + (bass-AvgBass)*0.01; +per_frame_5=q4=max(avgBass*1.001-.999*prevAvgBass,0); +per_frame_6=q4=min(q4,.006); +per_frame_7=// -------------------------------- Beat Detective 007 ---------------------------------- +per_frame_8=sure=if(equal(sure,0),.6,sure); +per_frame_9=interval=if(equal(interval,0),40,interval); +per_frame_10=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_11=dbass=(bass-pbass)/FPS; +per_frame_12=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_13=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_14=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_15=sure=max(.5,sure); +per_frame_16=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_17=beat=if(cheat,1,beat); +per_frame_18=sure=if(cheat,.95*sure,sure); +per_frame_19=maxdbass=max(maxdbass*.999,dbass); +per_frame_20=maxdbass=max(.012,maxdbass); +per_frame_21=maxdbass=min(.02,maxdbass); +per_frame_22=interval=if(beat, frame-lastbeat,interval); +per_frame_23=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_24=cheat=0; +per_frame_25=pbass=bass; +per_frame_26=// ---------------------------------------------------------------------------------------------- +per_frame_27=lastFlip=if( above(bass/avgBass,2)*above(frame-lastFlip,100)*beat, frame,lastFlip ); +per_frame_28=flip = if(equal(frame,lastFlip),abs(flip)-1, flip); +per_frame_29=wave_mystery=flip; +per_frame_30=ob_size = below(frame-lastBeat,FPS/8)*.08*(frame-lastBeat)/FPS; +per_frame_31=f=abs(cos(time/8+.54+sin(time/3+1.075))); +per_frame_32=ob_r=1*f + 1*(1-f); +per_frame_33=ob_g=.3*f + 1*(1-f); +per_frame_34=ob_b=.3*f + .3*(1-f); +per_frame_35=f=(frame-lastbeat)/interval; +per_frame_36=f=above(f,.8)*below(f,1)*f; f=max(0,f); f=min(f,1); +per_frame_37= +per_frame_38=wave_g=.4+.6*(f); +per_frame_39=wave_b=.4+.6*(1-f); +per_frame_40= +per_frame_41=q1= 3.1416*(wave_mystery+1)/2; +per_frame_42=q2=.25*cos(time+abs(2*sin(time*2+2.311)*( vol-amt))*sin(time*7.45+.876)); +per_frame_43=q3=-q2; +per_frame_44= +per_frame_45=amt=amt+ .05*(vol-amt); +per_frame_46=prevVol=vol; +per_frame_47=BPM = BPM + .01*(60*FPS/interval - BPM); +per_frame_48=monitor = 0*pctg+1*BPM; +per_frame_49= +per_pixel_1=x=x-.5; +per_pixel_2=y=-(y-.5); +per_pixel_3=ttan1 = tan(q1+1.5708)*(x-q3)-y+q2; +per_pixel_4=ttan2 = tan(q1+1.5708); +per_pixel_5=IsLeftYtonosY = above(ttan1*(sign(3.1416-q1)),0); +per_pixel_6= +per_pixel_7=dist = abs(ttan1)/sqrt(ttan2*ttan2 + 1); +per_pixel_8=totX=.5*cos(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_9=totY=-.5*sin(q1)*sign(IsLeftYtonosY-.5)*sqr(dist)/(.5-q2); +per_pixel_10= +per_pixel_11=dx=dx+totX; +per_pixel_12=dy=dy+totY; +per_pixel_13=prevRot=q1; +per_pixel_14=zoom = 1-25*q4*sqrt(pow(.5-dist,3))/abs(.5-q2); +per_frame_init_1=flip=-1; diff --git a/presets/presets_tryptonaut/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk b/presets/presets_tryptonaut/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk new file mode 100755 index 0000000000..08635e6489 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 250 - Artificial poles of the continuum_Phat's_Orbit_mix.milk @@ -0,0 +1,399 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.280000 +fDecay=0.800000 +fVideoEchoZoom=1.000000 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=1 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=1.001775 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.500000 +fModWaveAlphaEnd=1.000000 +fWarpAnimSpeed=1.321288 +fWarpScale=1.986883 +fZoomExponent=0.880200 +fShader=0.000000 +zoom=0.999800 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=0.999900 +sy=0.999800 +wave_r=0.500000 +wave_g=0.500000 +wave_b=0.500000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=1.000000 +ob_g=1.000000 +ob_b=0.500000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.300000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000001 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=1.000000 +mv_r=1.000000 +mv_g=0.910000 +mv_b=0.710000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=1 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=advance=advance+ 0.005; +wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); +wave_0_per_frame3=t1=advance +wave_0_per_point1=s=sample*6.28; +wave_0_per_point2= +wave_0_per_point3=//plot random x position via function of sample pos; +wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); +wave_0_per_point5=xp=xp*0.20; +wave_0_per_point6= +wave_0_per_point7=//plot random y position via function of sample pos; +wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); +wave_0_per_point9=yp=yp*0.20; +wave_0_per_point10= +wave_0_per_point11=//plot random z position via function of sample pos; +wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); +wave_0_per_point13=zp=zp*0.25; +wave_0_per_point14= +wave_0_per_point15=//pull stars toward screen +wave_0_per_point16=zp=zp + 1 - t1; +wave_0_per_point17= +wave_0_per_point18=//correct when below 0 +wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); +wave_0_per_point20= +wave_0_per_point21=//darken far stars +wave_0_per_point22=a=(1 - zp*0.5); +wave_0_per_point23= +wave_0_per_point24=zp=zp*0.7; +wave_0_per_point25= +wave_0_per_point26=x_screen=xp/zp + 0.5; +wave_0_per_point27=y_screen=yp/zp + 0.5; +wave_0_per_point28= +wave_0_per_point29=x=x_screen; +wave_0_per_point30=y=y_screen; +wave_0_per_point31= +wave_0_per_point32=r=1; +wave_0_per_point33=g=1; +wave_0_per_point34=b=1; +wave_0_per_point35= +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=1 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_point1=ax = 10*.5*(sin(100*sample+1.865)+1)*sin(300*6.2831*sample+3.14*sample); +wave_1_per_point2=ay = 10*.5*(sin(100*sample+5.23)+1)*cos(200*6.2831*sample+ 3.14*sample+.1454); +wave_1_per_point3=az = 5*(sin(100*sample+.234)+1)*sin(400*6.2831*sample+3.14*sample+1.84); +wave_1_per_point4= +wave_1_per_point5=bx = ax; +wave_1_per_point6=by = ay*cos(q1) - az*sin(q1); +wave_1_per_point7=bz = ay*sin(q1) + az*cos(q1); +wave_1_per_point8= +wave_1_per_point9=ax = bx*cos(q2) - bz*sin(q2); +wave_1_per_point10=ay = by; +wave_1_per_point11=az = bx*sin(q2) + bz*cos(q2); +wave_1_per_point12= +wave_1_per_point13=bx = ax*cos(q3) - ay*sin(q3); +wave_1_per_point14=by = ax*sin(q3) + ay*cos(q3); +wave_1_per_point15=bz = az; +wave_1_per_point16= +wave_1_per_point17=vx=bx; vy=by; vz=bz; +wave_1_per_point18= +wave_1_per_point19=x=vx/abs(vz-10)+.5; +wave_1_per_point20=y=vy/abs(vz-10)+.5; +wave_1_per_point21= +wave_1_per_point22=a=above(vz,0)*(.05*(5-abs(az))) +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=0.500001 +wavecode_2_b=0.100001 +wavecode_2_a=1.000000 +wave_2_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_2_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_2_per_point3=ay = 1.3*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_2_per_point4=az = 0; +wave_2_per_point5= +wave_2_per_point6=bx = ax; +wave_2_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_2_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_2_per_point9= +wave_2_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_2_per_point11=ay = by; +wave_2_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_2_per_point13= +wave_2_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_2_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_2_per_point16=bz = az; +wave_2_per_point17= +wave_2_per_point18=vx=bx; vy=by; vz=bz; +wave_2_per_point19= +wave_2_per_point20=x=vx/abs(vz-10)+.5; +wave_2_per_point21=y=vy/abs(vz-10)+.5; +wave_2_per_point22= +wave_2_per_point23=as=above(cos(q3+1.57)*cos(q2)*vx+sin(q3+1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_2_per_point24=a=t*(.07*(1-as)+as); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=0.500000 +wavecode_3_b=0.100000 +wavecode_3_a=1.000000 +wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); +wave_3_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); +wave_3_per_point3=ay = 0; +wave_3_per_point4=az = 1.2*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); +wave_3_per_point5= +wave_3_per_point6=bx = ax; +wave_3_per_point7=by = ay*cos(q1) - az*sin(q1); +wave_3_per_point8=bz = ay*sin(q1) + az*cos(q1); +wave_3_per_point9= +wave_3_per_point10=ax = bx*cos(q2) - bz*sin(q2); +wave_3_per_point11=ay = by; +wave_3_per_point12=az = bx*sin(q2) + bz*cos(q2); +wave_3_per_point13= +wave_3_per_point14=bx = ax*cos(q3) - ay*sin(q3); +wave_3_per_point15=by = ax*sin(q3) + ay*cos(q3); +wave_3_per_point16=bz = az; +wave_3_per_point17= +wave_3_per_point18=vx=bx; vy=by; vz=bz; +wave_3_per_point19= +wave_3_per_point20=x=vx/abs(vz-10)+.5; +wave_3_per_point21=y=vy/abs(vz-10)+.5; +wave_3_per_point22= +wave_3_per_point23=as=above(cos(q3-1.57)*cos(q2)*vx+sin(q3-1.57)*sin(q1)*vy+sin(q2)*vz,0); +wave_3_per_point24=a=t*(.07*(1-as)+as); +shapecode_0_enabled=0 +shapecode_0_sides=60 +shapecode_0_additive=1 +shapecode_0_thickOutline=1 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.398722 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=0.700000 +shapecode_0_a=1.000000 +shapecode_0_r2=1.000000 +shapecode_0_g2=0.800000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=ax=0; ay=0; az=-30; +shape_0_per_frame2= +shape_0_per_frame3=bx = ax; +shape_0_per_frame4=by = ay*cos(q1) - az*sin(q1); +shape_0_per_frame5=bz = ay*sin(q1) + az*cos(q1); +shape_0_per_frame6= +shape_0_per_frame7=ax = bx*cos(q2) - bz*sin(q2); +shape_0_per_frame8=ay = by; +shape_0_per_frame9=az = bx*sin(q2) + bz*cos(q2); +shape_0_per_frame10= +shape_0_per_frame11=bx = ax*cos(q3) - ay*sin(q3); +shape_0_per_frame12=by = ax*sin(q3) + ay*cos(q3); +shape_0_per_frame13=bz = az; +shape_0_per_frame14= +shape_0_per_frame15=vx=bx; vy=by; vz=bz; +shape_0_per_frame16= +shape_0_per_frame17=x=vx/abs(vz-10)+.5; +shape_0_per_frame18=y=vy/abs(vz-10)+.5; +shape_0_per_frame19= +shape_0_per_frame20=a=below(vz,0); +shapecode_1_enabled=1 +shapecode_1_sides=60 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=1 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.559237 +shapecode_1_ang=1.884956 +shapecode_1_tex_ang=0.691150 +shapecode_1_tex_zoom=2.348658 +shapecode_1_r=1.000000 +shapecode_1_g=0.100000 +shapecode_1_b=1.000000 +shapecode_1_a=0.200000 +shapecode_1_r2=1.000000 +shapecode_1_g2=0.050000 +shapecode_1_b2=0.400000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=60 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.543040 +shapecode_2_ang=6.283185 +shapecode_2_tex_ang=6.283185 +shapecode_2_tex_zoom=0.305462 +shapecode_2_r=0.000000 +shapecode_2_g=0.500000 +shapecode_2_b=0.600000 +shapecode_2_a=0.400000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.800000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=tex_ang=bass; +shapecode_3_enabled=0 +shapecode_3_sides=6 +shapecode_3_additive=1 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.114900 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=0.700000 +shapecode_3_a=1.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=0.800000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=q8=-q8+1; +shape_3_per_frame2=t=(frame%6+4); +shape_3_per_frame3=sides=if(equal(t%2,0),6,60); +shape_3_per_frame4= +shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame8= +shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; +shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; +shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; +shape_3_per_frame12= +shape_3_per_frame13=r=r+equal(t%2,1); +shape_3_per_frame14=g=g+equal(t%2,1); +shape_3_per_frame15=b=b+equal(t%2,1)*.7; +shape_3_per_frame16= +shape_3_per_frame17=r2=r2+equal(t%2,1); +shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; +shape_3_per_frame19= +shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; +shape_3_per_frame21= +shape_3_per_frame22=an=atan2(q8-.5,q7-.5); +shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; +shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); +shape_3_per_frame25= +shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); +shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); +shape_3_per_frame28= +shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; +shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; +per_frame_1=st=if(equal(st,0),time-131,st); +per_frame_2=mytime=time-st; +per_frame_3= +per_frame_4=phi=6.2831*(mytime+4.564)*.02; +per_frame_5=theta=6.2831*(mytime*.03+1.54); +per_frame_6=rho=6.2831*abs(sin(mytime*0)); +per_frame_7= +per_frame_8=q1=phi; +per_frame_9=q2=theta; +per_frame_10=q3=rho; +per_frame_11= +per_frame_12=ax=0; ay=0; az=-30; +per_frame_13=bx = ax; +per_frame_14=by = ay*cos(q1) - az*sin(q1); +per_frame_15=bz = ay*sin(q1) + az*cos(q1); +per_frame_16= +per_frame_17=ax = bx*cos(q2) - bz*sin(q2); +per_frame_18=ay = by; +per_frame_19=az = bx*sin(q2) + bz*cos(q2); +per_frame_20= +per_frame_21=bx = ax*cos(q3) - ay*sin(q3); +per_frame_22=by = ax*sin(q3) + ay*cos(q3); +per_frame_23=bz = az; +per_frame_24=vx=bx; vy=by; vz=bz; +per_frame_25= +per_frame_26=q7=vx/abs(vz-10)+.5; +per_frame_27=vy=-vy+1; +per_frame_28=q8=vy/abs(vz-10)+.5; +per_frame_29=q7=if(1-below(vz,0), -100,q7); +per_frame_30=q8=if(1-below(vz,0), -100,q8); +per_frame_31=//ob_size=1; +per_frame_32=//ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); +per_frame_33=monitor=mytime; diff --git a/presets/presets_tryptonaut/yin - 300 - Daydreamer.milk b/presets/presets_tryptonaut/yin - 300 - Daydreamer.milk new file mode 100755 index 0000000000..ef6c346255 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 300 - Daydreamer.milk @@ -0,0 +1,557 @@ +[preset00] +fRating=2.000000 +fGammaAdj=1.490000 +fDecay=0.990000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=3 +nWaveMode=6 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.000000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=0.016446 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.000000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=64.000000 +nMotionVectorsY=48.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.050000 +mv_r=0.000000 +mv_g=0.700000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=q1; +wave_0_per_frame2= +wave_0_per_frame3=t7=.0; +wave_0_per_frame4=t8=.45; +wave_0_per_frame5= +wave_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_0_per_frame8=ddtan=atan2(ddy,ddx); +wave_0_per_frame9=t2=-ddtan; +wave_0_per_frame10= +wave_0_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_0_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_0_per_frame13= +wave_0_per_frame14=t6=-sign(t1); +wave_0_per_frame15=t7=t7-val1; +wave_0_per_frame16=t8=t8-val2; +wave_0_per_frame17= +wave_0_per_frame18=t3=q2; +wave_0_per_point1=c1=6.2831*t1/(1.1-sample); +wave_0_per_point2=c=cos(c1); +wave_0_per_point3=s=sin(c1); +wave_0_per_point4=c2=sqrt(1-sample); +wave_0_per_point5= +wave_0_per_point6=ox=t7-.5*c2*c; +wave_0_per_point7=oy=t8-.625*c2*s; +wave_0_per_point8= +wave_0_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_0_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_0_per_point11= +wave_0_per_point12=x=x*.55; +wave_0_per_point13=y=(y-.5)*.55+.5; +wave_0_per_point14= +wave_0_per_point15=r=sample; +wave_0_per_point16=g=1-sample; +wave_0_per_point17=b=1; +wave_0_per_point18=a=below(sample,.995); +wave_0_per_point19= +wave_0_per_point20=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_0_per_point21=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_0_per_point22=a=a*(1-d); +wave_0_per_point23= +wave_0_per_point24=y=y+t3; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.000000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=q1; +wave_1_per_frame2= +wave_1_per_frame3=t7=.0; +wave_1_per_frame4=t8=.45; +wave_1_per_frame5= +wave_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_1_per_frame8=ddtan=atan2(ddy,ddx); +wave_1_per_frame9=t2=-ddtan; +wave_1_per_frame10= +wave_1_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_1_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_1_per_frame13= +wave_1_per_frame14=t6=-sign(t1); +wave_1_per_frame15=t7=t7-val1; +wave_1_per_frame16=t8=t8-val2; +wave_1_per_frame17= +wave_1_per_frame18=t3=q2; +wave_1_per_frame19= +wave_1_per_point1=c1=6.2831*t1/(1.1-sample); +wave_1_per_point2=c=cos(c1); +wave_1_per_point3=s=sin(c1); +wave_1_per_point4=c2=sqrt(1-sample); +wave_1_per_point5= +wave_1_per_point6=ox=t7-.5*c2*c; +wave_1_per_point7=oy=t8-.625*c2*s; +wave_1_per_point8= +wave_1_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_1_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_1_per_point11= +wave_1_per_point12=inv=1/sqr(1.1-sample); +wave_1_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_1_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_1_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_1_per_point16=fdx=fdx*invMag; +wave_1_per_point17=fdy=fdy*invMag; +wave_1_per_point18= +wave_1_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_1_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_1_per_point21= +wave_1_per_point22=x=x+rdx*.15*(1-sample); +wave_1_per_point23=y=y+rdy*.15*(1-sample); +wave_1_per_point24= +wave_1_per_point25=x=x*.55; +wave_1_per_point26=y=(y-.5)*.55+.5; +wave_1_per_point27= +wave_1_per_point28=r=sample; +wave_1_per_point29=g=1-sample; +wave_1_per_point30=b=1; +wave_1_per_point31=a=below(sample,.995); +wave_1_per_point32=d=above(q3-sample,0)*below(q3-sample,.4)*(sample-q3)*2.5; +wave_1_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)*2.5)); +wave_1_per_point34=a=a*(1-d); +wave_1_per_point35= +wave_1_per_point36= +wave_1_per_point37=y=y+t3; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.000000 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=q1; +wave_2_per_frame2= +wave_2_per_frame3=t7=.0; +wave_2_per_frame4=t8=.45; +wave_2_per_frame5= +wave_2_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_2_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_2_per_frame8=ddtan=atan2(ddy,ddx); +wave_2_per_frame9=t2=-ddtan; +wave_2_per_frame10= +wave_2_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_2_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_2_per_frame13= +wave_2_per_frame14=t6=-sign(t1); +wave_2_per_frame15=t7=t7-val1; +wave_2_per_frame16=t8=t8-val2; +wave_2_per_frame17= +wave_2_per_frame18=t3=q2; +wave_2_per_point1=sample=pow(sample,.85); +wave_2_per_point2= +wave_2_per_point3=c1=6.2831*t1/(1.1-sample); +wave_2_per_point4=c=cos(c1); +wave_2_per_point5=s=sin(c1); +wave_2_per_point6=c2=sqrt(1-sample); +wave_2_per_point7= +wave_2_per_point8=ox=t7-.5*c2*c; +wave_2_per_point9=oy=t8-.625*c2*s; +wave_2_per_point10= +wave_2_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_2_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_2_per_point13= +wave_2_per_point14=inv=1/sqr(1.1-sample); +wave_2_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_2_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_2_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_2_per_point18=fdx=fdx*invMag; +wave_2_per_point19=fdy=fdy*invMag; +wave_2_per_point20= +wave_2_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_2_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_2_per_point23=tt=rand(100)/100; +wave_2_per_point24=x=x+rdx*(.15*tt)*(1-sample); +wave_2_per_point25=y=y+rdy*(.15*tt)*(1-sample); +wave_2_per_point26= +wave_2_per_point27=x=x*.55; +wave_2_per_point28=y=(y-.5)*.55+.5; +wave_2_per_point29= +wave_2_per_point30=r=sample; +wave_2_per_point31=g=1-sample; +wave_2_per_point32=b=1; +wave_2_per_point33=a=below(sample,.995); +wave_2_per_point34= +wave_2_per_point35= +wave_2_per_point36=y=y+t3; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=1 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=100.000000 +wavecode_3_smoothing=0.000000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=q1; +wave_3_per_frame2= +wave_3_per_frame3=t7=.0; +wave_3_per_frame4=t8=.45; +wave_3_per_frame5= +wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +wave_3_per_frame8=ddtan=atan2(ddy,ddx); +wave_3_per_frame9=t2=-ddtan; +wave_3_per_frame10= +wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +wave_3_per_frame13= +wave_3_per_frame14=t6=-sign(t1); +wave_3_per_frame15=t7=t7-val1; +wave_3_per_frame16=t8=t8-val2; +wave_3_per_frame17= +wave_3_per_frame18=t3=q2; +wave_3_per_frame19=t5=-1+2*(frame%2); +wave_3_per_frame20= +wave_3_per_frame21=t4=.4; // spectrum trail length +wave_3_per_point1=c1=6.2831*t1/(1.1-sample); +wave_3_per_point2=c=cos(c1); +wave_3_per_point3=s=sin(c1); +wave_3_per_point4=c2=sqrt(1-sample); +wave_3_per_point5= +wave_3_per_point6=ox=t7-.5*c2*c; +wave_3_per_point7=oy=t8-.625*c2*s; +wave_3_per_point8= +wave_3_per_point9=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +wave_3_per_point10=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +wave_3_per_point11= +wave_3_per_point12=inv=1/sqr(1.1-sample); +wave_3_per_point13=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; +wave_3_per_point14=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; +wave_3_per_point15=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +wave_3_per_point16=fdx=fdx*invMag; +wave_3_per_point17=fdy=fdy*invMag; +wave_3_per_point18= +wave_3_per_point19=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +wave_3_per_point20=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +wave_3_per_point21= +wave_3_per_point22=x=x+t5*rdx*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point23=y=y+t5*rdy*.15*(1-sample)*(equal(t5,1)+abs(value1+value2)); +wave_3_per_point24= +wave_3_per_point25=x=x*.55; +wave_3_per_point26=y=(y-.5)*.55+.5; +wave_3_per_point27= +wave_3_per_point28=r=1; +wave_3_per_point29=g=1; +wave_3_per_point30=b=0; +wave_3_per_point31=a=below(sample,.995); +wave_3_per_point32=d=above(q3-sample,0)*below(q3-sample,t4)*(sample-q3)/t4; +wave_3_per_point33=d=sqrt(d)*(1-sqrt((sample-q3)/t4)); +wave_3_per_point34=a=a*d; +wave_3_per_point35= +wave_3_per_point36= +wave_3_per_point37=y=y+t3; +shapecode_0_enabled=1 +shapecode_0_sides=100 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.100000 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=1.000000 +shapecode_0_g=1.000000 +shapecode_0_b=1.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=1.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shape_0_per_frame1=t1=q1;//.2*sin(time*.34); +shape_0_per_frame2= +shape_0_per_frame3=t7=.0; // start x +shape_0_per_frame4=t8=.45; // start y +shape_0_per_frame5= +shape_0_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_0_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_0_per_frame8= +shape_0_per_frame9=ddtan=atan2(ddy,ddx); +shape_0_per_frame10=t2=-ddtan; +shape_0_per_frame11= +shape_0_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_0_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_0_per_frame14= +shape_0_per_frame15=t6=-sign(t1); +shape_0_per_frame16=t7=t7-val1; +shape_0_per_frame17=t8=t8-val2; +shape_0_per_frame18=t5=frame%2; +shape_0_per_frame19= +shape_0_per_frame20=sample=q3; +shape_0_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_0_per_frame22=sides=t5*100+(1-t5)*4; +shape_0_per_frame23=ang=4*6.2831*sqrt(sample); +shape_0_per_frame24=a=1;//pow(1-sample,.25); +shape_0_per_frame25= +shape_0_per_frame26= +shape_0_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_0_per_frame28=c=cos(c1); +shape_0_per_frame29=s=sin(c1); +shape_0_per_frame30=c2=sqrt(1-sample); +shape_0_per_frame31=c3=t1/sqr(1.1-sample); +shape_0_per_frame32= +shape_0_per_frame33=ox=t7-.5*c2*c; +shape_0_per_frame34=oy=t8-.625*c2*s; +shape_0_per_frame35= +shape_0_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_0_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_0_per_frame38= +shape_0_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_0_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_0_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_0_per_frame42=fdx=fdx*invMag; +shape_0_per_frame43=fdy=fdy*invMag; +shape_0_per_frame44= +shape_0_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_0_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_0_per_frame47= +shape_0_per_frame48=x=x+rdx*+.152*sqrt(.995-sample); +shape_0_per_frame49=y=y+rdy*+.152*sqrt(.995-sample); +shape_0_per_frame50= +shape_0_per_frame51=x=(x-0)*.55+0; +shape_0_per_frame52=y=(y-.5)*.55+.5; +shape_0_per_frame53=y=y+q2; +shape_0_per_frame54= +shape_0_per_frame55= +shapecode_1_enabled=1 +shapecode_1_sides=100 +shapecode_1_additive=1 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=1.000000 +shapecode_1_b=1.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=1.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shape_1_per_frame1=t1=q1;//.2*sin(time*.34); +shape_1_per_frame2= +shape_1_per_frame3=t7=.0; // start x +shape_1_per_frame4=t8=.45; // start y +shape_1_per_frame5= +shape_1_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); +shape_1_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); +shape_1_per_frame8= +shape_1_per_frame9=ddtan=atan2(ddy,ddx); +shape_1_per_frame10=t2=-ddtan; +shape_1_per_frame11= +shape_1_per_frame12=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); +shape_1_per_frame13=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); +shape_1_per_frame14= +shape_1_per_frame15=t6=-sign(t1); +shape_1_per_frame16=t7=t7-val1; +shape_1_per_frame17=t8=t8-val2; +shape_1_per_frame18=t5=frame%2; +shape_1_per_frame19= +shape_1_per_frame20=sample=q3; +shape_1_per_frame21=rad=(t5*.15+(1-t5)*.3)*(1.1-sample); +shape_1_per_frame22=sides=t5*100+(1-t5)*4; +shape_1_per_frame23=ang=4*6.2831*sqrt(sample); +shape_1_per_frame24=a=1;//pow(1-sample,.25); +shape_1_per_frame25= +shape_1_per_frame26= +shape_1_per_frame27=c1=6.2831*t1/(1.1-sample); +shape_1_per_frame28=c=cos(c1); +shape_1_per_frame29=s=sin(c1); +shape_1_per_frame30=c2=sqrt(1-sample); +shape_1_per_frame31=c3=t1/sqr(1.1-sample); +shape_1_per_frame32= +shape_1_per_frame33=ox=t7-.5*c2*c; +shape_1_per_frame34=oy=t8-.625*c2*s; +shape_1_per_frame35= +shape_1_per_frame36=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); +shape_1_per_frame37=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); +shape_1_per_frame38= +shape_1_per_frame39=fdx=-.25*pow(1-sample,-.5)*c-3.1415*c2*s*c3; +shape_1_per_frame40=fdy=-.3125*c2*s+1.9634*c2*c*c3; +shape_1_per_frame41=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); +shape_1_per_frame42=fdx=fdx*invMag; +shape_1_per_frame43=fdy=fdy*invMag; +shape_1_per_frame44= +shape_1_per_frame45=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); +shape_1_per_frame46=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); +shape_1_per_frame47= +shape_1_per_frame48=x=x+rdx*-.075*sqrt(.995-sample); +shape_1_per_frame49=y=y+rdy*-.075*sqrt(.995-sample); +shape_1_per_frame50= +shape_1_per_frame51=x=(x-0)*.55+0; +shape_1_per_frame52=y=(y-.5)*.55+.5; +shape_1_per_frame53=y=y+q2; +shape_1_per_frame54= +shape_1_per_frame55= +shapecode_2_enabled=1 +shapecode_2_sides=100 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=1.527700 +shapecode_2_ang=3.141594 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=0.651899 +shapecode_2_r=1.000000 +shapecode_2_g=1.000000 +shapecode_2_b=1.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=1.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=1.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=3.1415; +shape_2_per_frame2=additive=equal(frame%20,0); +shapecode_3_enabled=1 +shapecode_3_sides=100 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.099979 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=0.344800 +shapecode_3_r=1.000000 +shapecode_3_g=1.000000 +shapecode_3_b=1.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=0.000000 +shapecode_3_b2=0.500000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=ang=6.2831*(.02*time-int(.02*time)); +shape_3_per_frame2= +shape_3_per_frame3=r=abs(cos(2.43*time+4.343+sin(1.754*time+.753))); +shape_3_per_frame4=g=abs(cos(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame5=b=abs(sin(1.95*time+.932+cos(2.254*time+3.534))); +shape_3_per_frame6= +shape_3_per_frame7=r2=1-r; +shape_3_per_frame8=g2=1-g; +shape_3_per_frame9=b2=1-b; +shape_3_per_frame10= +shape_3_per_frame11=additive=frame%2; +per_frame_1=zoom=1; +per_frame_2=warp=0; +per_frame_3=ib_size=0; +per_frame_4=ib_a=0; +per_frame_5=ob_size=1; +per_frame_6=ob_a=.01+.02*(FPS/100); +per_frame_7=vol=min(.99*vol+.01*(bass+mid+treb),3); +per_frame_8=c1=.333*(vol+1)*time+3.34; +per_frame_9=c2=.87*time+2.97; +per_frame_10=ob_r=abs(cos(c1+sin(c2))); +per_frame_11=ob_g=abs(sin(c1+cos(c2))); +per_frame_12=ob_b=abs(sin(c1+sin(c2))); +per_frame_13= +per_frame_14=q1=.18*cos(.354*time+.54+cos(.521*time+1.432)); // spiral bend +per_frame_15=q2=.075; // master y-offset +per_frame_16=q3=sqrt(.995*(.5*time-int(.5*time))); // glow phase +per_pixel_1=zoom=zoom+below(rad,.45)*sqr(1-rad/.45)*5; diff --git a/presets/presets_tryptonaut/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk b/presets/presets_tryptonaut/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk new file mode 100644 index 0000000000..36059ff5a9 --- /dev/null +++ b/presets/presets_tryptonaut/yin - 315 - Ocean of Light (yo im peakin yo EoS-Phat).milk @@ -0,0 +1,463 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.840000 +fDecay=0.950000 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=0.300000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=4.904830 +fShader=1.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=0.999998 +wavecode_0_smoothing=0.000000 +wavecode_0_r=0.400000 +wavecode_0_g=0.400000 +wavecode_0_b=0.650000 +wavecode_0_a=1.000000 +wave_0_per_frame1=t1=32; // double num of rays +wave_0_per_frame2=t2=.02*q4; // size; +wave_0_per_frame3= +wave_0_per_frame4= +wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_0_per_frame6=t8=0; +wave_0_per_frame7= +wave_0_per_frame8= +wave_0_per_frame9=t3=-1+q7*.3333+.1667; +wave_0_per_frame10=t4=-1+q8*.3333+.1667; +wave_0_per_frame11= +wave_0_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_0_per_point1=sample=.5*(0+sample); +wave_0_per_point2= +wave_0_per_point3=ns=equal(t8%t1,0); +wave_0_per_point4= +wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_0_per_point8= +wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_0_per_point12= +wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_0_per_point16=central=equal(t8%2,0); +wave_0_per_point17=angle=6.2831*(t8-1)/t1; +wave_0_per_point18= +wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_0_per_point21=az=cenz; +wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_0_per_point23= +wave_0_per_point24=invz=1/(az+100); +wave_0_per_point25=x=.5+5*ax*invz; +wave_0_per_point26=y=.5+5*ay*invz; +wave_0_per_point27= +wave_0_per_point28=t8=(t8+1)%t1; +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=1 +wavecode_1_scaling=0.999998 +wavecode_1_smoothing=0.000000 +wavecode_1_r=0.400000 +wavecode_1_g=0.400000 +wavecode_1_b=0.650000 +wavecode_1_a=1.000000 +wave_1_per_frame1=t1=32; // double num of rays +wave_1_per_frame2=t2=.02*q4; // size; +wave_1_per_frame3= +wave_1_per_frame4= +wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_1_per_frame6=t8=0; +wave_1_per_frame7= +wave_1_per_frame8= +wave_1_per_frame9=t3=-1+q7*.3333+.1667; +wave_1_per_frame10=t4=-1+q8*.3333+.1667; +wave_1_per_frame11= +wave_1_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_1_per_point1=sample=.5*(0+sample); +wave_1_per_point2= +wave_1_per_point3=ns=equal(t8%t1,0); +wave_1_per_point4= +wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_1_per_point8= +wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_1_per_point12= +wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_1_per_point16=central=equal(t8%2,0); +wave_1_per_point17=angle=6.2831*(t8-1)/t1; +wave_1_per_point18= +wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_1_per_point21=az=cenz; +wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_1_per_point23= +wave_1_per_point24=invz=1/(az+100); +wave_1_per_point25=x=.5+5*ax*invz; +wave_1_per_point26=y=.5+5*ay*invz; +wave_1_per_point27= +wave_1_per_point28=t8=(t8+1)%t1; +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=0.400000 +wavecode_2_g=0.400000 +wavecode_2_b=0.650000 +wavecode_2_a=1.000000 +wave_2_per_frame1=t1=32; // double num of rays +wave_2_per_frame2=t2=.02*q4; // size; +wave_2_per_frame3= +wave_2_per_frame4= +wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_2_per_frame6=t8=0; +wave_2_per_frame7= +wave_2_per_frame8= +wave_2_per_frame9=t3=-1+q7*.3333+.1667; +wave_2_per_frame10=t4=-1+q8*.3333+.1667; +wave_2_per_frame11= +wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_2_per_point1=sample=.5*(1+sample); +wave_2_per_point2= +wave_2_per_point3=ns=equal(t8%t1,0); +wave_2_per_point4= +wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_2_per_point8= +wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_2_per_point12= +wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_2_per_point16=central=equal(t8%2,0); +wave_2_per_point17=angle=6.2831*(t8-1)/t1; +wave_2_per_point18= +wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_2_per_point21=az=cenz; +wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_2_per_point23= +wave_2_per_point24=invz=1/(az+100); +wave_2_per_point25=x=.5+5*ax*invz; +wave_2_per_point26=y=.5+5*ay*invz; +wave_2_per_point27= +wave_2_per_point28=t8=(t8+1)%t1; +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=0.999998 +wavecode_3_smoothing=0.000000 +wavecode_3_r=0.400000 +wavecode_3_g=0.400000 +wavecode_3_b=0.650000 +wavecode_3_a=1.000000 +wave_3_per_frame1=t1=32; // double num of rays +wave_3_per_frame2=t2=.02*q4; // size; +wave_3_per_frame3= +wave_3_per_frame4= +wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed +wave_3_per_frame6=t8=0; +wave_3_per_frame7= +wave_3_per_frame8= +wave_3_per_frame9=t3=-1+q7*.3333+.1667; +wave_3_per_frame10=t4=-1+q8*.3333+.1667; +wave_3_per_frame11= +wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter +wave_3_per_point1=sample=.5*(1+sample); +wave_3_per_point2= +wave_3_per_point3=ns=equal(t8%t1,0); +wave_3_per_point4= +wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); +wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); +wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); +wave_3_per_point8= +wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); +wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; +wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; +wave_3_per_point12= +wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); +wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); +wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); +wave_3_per_point16=central=equal(t8%2,0); +wave_3_per_point17=angle=6.2831*(t8-1)/t1; +wave_3_per_point18= +wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); +wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); +wave_3_per_point21=az=cenz; +wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); +wave_3_per_point23= +wave_3_per_point24=invz=1/(az+100); +wave_3_per_point25=x=.5+5*ax*invz; +wave_3_per_point26=y=.5+5*ay*invz; +wave_3_per_point27= +wave_3_per_point28=t8=(t8+1)%t1; +shapecode_0_enabled=0 +shapecode_0_sides=30 +shapecode_0_additive=1 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.500000 +shapecode_0_y=0.500000 +shapecode_0_rad=0.042497 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.800000 +shapecode_0_g=0.100000 +shapecode_0_b=0.800000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=0.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=0.000000 +shapecode_1_enabled=0 +shapecode_1_sides=30 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.122020 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=0.999998 +shapecode_1_r=1.000000 +shapecode_1_g=0.300000 +shapecode_1_b=0.100000 +shapecode_1_a=0.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=0.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.000000 +shapecode_2_enabled=1 +shapecode_2_sides=30 +shapecode_2_additive=1 +shapecode_2_thickOutline=0 +shapecode_2_textured=1 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.244862 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=0.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.000000 +shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); +shape_2_per_frame2=additive=below(frame%5,4); +shape_2_per_frame3= +shape_2_per_frame4= +shape_2_per_frame5= +shape_2_per_frame6= +shape_2_per_frame7=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame8=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_2_per_frame9=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); +shape_2_per_frame10= +shape_2_per_frame11= +shape_2_per_frame12=hue=.1*time; // change this +shape_2_per_frame13=h=6*(hue-int(hue)); +shape_2_per_frame14=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +shape_2_per_frame15=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +shape_2_per_frame16=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +shape_2_per_frame17=g=sw1*h+sw2+sw3+sw4*(4-h); +shape_2_per_frame18=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=1 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=1.978790 +shapecode_3_ang=3.141500 +shapecode_3_tex_ang=4.209734 +shapecode_3_tex_zoom=0.670417 +shapecode_3_r=0.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=0.000000 +shapecode_3_r2=1.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=1.000000 +shapecode_3_a2=1.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.000000 +shape_3_per_frame1=additive=above(frame%10,0); +shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); +shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); +per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- +per_frame_2=sure=if(equal(sure,0),.6,sure); +per_frame_3=interval=if(equal(interval,0),40,interval); +per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); +per_frame_5=dbass=(bass-pbass)/FPS; +per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); +per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), +per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); +per_frame_9=sure=max(.5,sure); +per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); +per_frame_11=beat=if(cheat,1,beat); +per_frame_12=sure=if(cheat,.95*sure,sure); +per_frame_13=maxdbass=max(maxdbass*.999,dbass); +per_frame_14=maxdbass=max(.012,maxdbass); +per_frame_15=maxdbass=min(.02,maxdbass); +per_frame_16=interval=if(beat, frame-lastbeat,interval); +per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); +per_frame_18=cheat=0; +per_frame_19=pbass=bass; +per_frame_20=// ---------------------------------------------------------------------------------------------- +per_frame_21= +per_frame_22=warp=0; +per_frame_23=zoom=1.04; +per_frame_24= +per_frame_25=rnd=equal(frame%400,0); +per_frame_26=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); +per_frame_27=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); +per_frame_28=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); +per_frame_29=offx=0; +per_frame_30=offy=-3.1; +per_frame_31=offz=-300+160*pow(contVol,.25); +per_frame_32=sc=4; +per_frame_33= +per_frame_34=q2=offy; // y-offset +per_frame_35=q3=offz; // z-offset +per_frame_36=q4=sc; // scale +per_frame_37= +per_frame_38=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; +per_frame_39=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; +per_frame_40= +per_frame_41=q5=0;q6=0; +per_frame_42= +per_frame_43= +per_frame_44=stime=if(equal(stime,0),time,stime ); +per_frame_45=mytime=time-stime; +per_frame_46=phase = .1*mytime - int(.1*mytime); +per_frame_47=tilex=if(below(phase,.025),1 + rand(4),tilex ); +per_frame_48=tilez=if(below(phase,.025),1 + rand(4),tilez ); +per_frame_49=q7=tilex; +per_frame_50= +per_frame_51=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; +per_frame_52=contVol=min(1,contVol); +per_frame_53=zoom=1.01+.05*contVol; +per_frame_54= +per_frame_55=darken=above(frame%3,0); +per_frame_56= +per_frame_57=c1=above(contvol,.7)*min(contvol-.7,.3); +per_frame_58=dx=c1*.05*(-10+rand(20)); +per_frame_59=dy=c1*.05*(-10+rand(20)); +per_frame_60= +per_frame_61=solarize=0; +per_frame_62=darken=frame%2; +per_frame_63=brighten=1-darken; +per_frame_64=//invert=beat; +per_frame_65=//gamma=gamma+.5*sqrt(1-(frame-lastbeat)/interval); +per_frame_66=monitor=gamma; +per_frame_67= +per_frame_68=q8=min((frame-lastbeat)/interval,1); +per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); +per_frame_70= +per_frame_71=sx=1-2*beat*above(contVol,.8); +per_frame_72=sy=1-2*beat*above(contVol,.8); +per_frame_73=invert=beat*above(contVol,.8); +per_pixel_1=//rot = q1*(2*rad-1); diff --git a/presets/presets_tryptonaut/yin - 385 - Magic ride (distance based hue).milk b/presets/presets_tryptonaut/yin - 385 - Magic ride (distance based hue).milk new file mode 100755 index 0000000000..f40def0afd --- /dev/null +++ b/presets/presets_tryptonaut/yin - 385 - Magic ride (distance based hue).milk @@ -0,0 +1,442 @@ +[preset00] +fRating=3.000000 +fGammaAdj=1.000000 +fDecay=0.898999 +fVideoEchoZoom=0.999993 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=0 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001000 +fWaveScale=0.411715 +fWaveSmoothing=0.900000 +fWaveParam=-0.180000 +fModWaveAlphaStart=0.750000 +fModWaveAlphaEnd=0.950000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.000000 +fZoomExponent=1.000000 +fShader=0.000000 +zoom=0.999999 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=0.000000 +wave_g=0.000000 +wave_b=0.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.005000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=0.920000 +ib_size=0.000000 +ib_r=0.000000 +ib_g=0.000000 +ib_b=0.000000 +ib_a=0.000000 +nMotionVectorsX=12.000000 +nMotionVectorsY=9.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=0.900000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=0.000000 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.001827 +wavecode_0_smoothing=0.000000 +wavecode_0_r=1.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_frame1=speed=.015; +wave_0_per_frame2=length=.1; +wave_0_per_frame3=crosssectionrad=.1; +wave_0_per_frame4= +wave_0_per_frame5=t1= speed*time-int(speed*time); +wave_0_per_frame6=t2= length; +wave_0_per_frame7=t3= crosssectionrad; +wave_0_per_frame8= +wave_0_per_frame9=t=t1*6.2831; +wave_0_per_frame10=t6=cos(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_frame11=t7=cos(1.9+.7*t)*sin(t); +wave_0_per_frame12=t8=cos(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_frame13= +wave_0_per_frame14=q1=2*cos(t)*(1+3.1415*cos(2.98+2*t))*cos(.43+2*t+3.1415*sin(2.98+2*t))-sin(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_frame15=q2=cos(1.9+.7*t)*cos(t)-.7*sin(1.9+.7*t)*sin(t); +wave_0_per_frame16=q3=cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))*(2-6.2831*sin(1.01+2*t))-2*sin(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_frame17=invFDmag=1/sqrt( q1*q1 + q2*q2 + q3*q3 ); +wave_0_per_frame18= +wave_0_per_frame19=sdX=-4*cos(.43+2*t+3.1415*sin(2.98+2*t))*(sin(t)+3.1415*sin(2.98+3*t))-cos(t)*(5+25.132*cos(2.98+2*t)+39.4761*sqr(cos(2.98+2*t)))*sin( .43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_frame20=sdY=-1.4*cos(t)*sin(1.9+.7*t)-1.49*cos(1.9+.7*t)*sin(t); +wave_0_per_frame21=sdZ=-12.566*cos(1.01+2*t)*cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))+8*cos(2*t+3.1415*cos(1.01+2*t))*(-1+3.1415*sin(1.01+2*t))*sin(1.54+2*t) - 4*cos(1.54+2*t)*(2-6.2831*sin(1.01+2*t)+9.869*sqr(sin(1.01+2*t)))*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_frame22= +wave_0_per_frame23=q4=q2*sdZ-sdY*q3; +wave_0_per_frame24=q5=q3*sdX-q1*sdZ; +wave_0_per_frame25=q6=q1*sdY-q2*sdX; +wave_0_per_frame26=invSNmag=1/sqrt( q4*q4+q5*q5+q6*q6 ); +wave_0_per_frame27=q4=q4*invSNmag; +wave_0_per_frame28=q5=q5*invSNmag; +wave_0_per_frame29=q6=q6*invSNmag; +wave_0_per_frame30= +wave_0_per_frame31=q1=q1*invFDmag; +wave_0_per_frame32=q2=q2*invFDmag; +wave_0_per_frame33=q3=q3*invFDmag; +wave_0_per_frame34= +wave_0_per_frame35=q7=q5*q3-q2*q6; +wave_0_per_frame36=q8=q6*q1-q4*q3; +wave_0_per_frame37= +wave_0_per_point1=t=(t1+(0+sqr(sample))*t2); +wave_0_per_point2=t=if(above(t,1),t-1,t); +wave_0_per_point3=t=t*6.2831; +wave_0_per_point4= +wave_0_per_point5=mx=cos(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_point6=my=cos(1.9+.7*t)*sin(t); +wave_0_per_point7=mz=cos(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_point8= +wave_0_per_point9=fdX=2*cos(t)*(1+3.1415*cos(2.98+2*t))*cos(.43+2*t+3.1415*sin(2.98+2*t))-sin(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_point10=fdY=cos(1.9+.7*t)*cos(t)-.7*sin(1.9+.7*t)*sin(t); +wave_0_per_point11=fdZ=cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))*(2-6.2831*sin(1.01+2*t))-2*sin(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_point12=invFDmag=1/sqrt( fdX*fdX + fdY*fdY + fdZ*fdZ ); +wave_0_per_point13= +wave_0_per_point14=sdX=-4*cos(.43+2*t+3.1415*sin(2.98+2*t))*(sin(t)+3.1415*sin(2.98+3*t))-cos(t)*(5+25.132*cos(2.98+2*t)+39.4761*sqr(cos(2.98+2*t)))*sin( .43+2*t+3.1415*sin(2.98+2*t)); +wave_0_per_point15=sdY=-1.4*cos(t)*sin(1.9+.7*t)-1.49*cos(1.9+.7*t)*sin(t); +wave_0_per_point16=sdZ=-12.566*cos(1.01+2*t)*cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))+8*cos(2*t+3.1415*cos(1.01+2*t))*(-1+3.1415*sin(1.01+2*t))*sin(1.54+2*t) - 4*cos(1.54+2*t)*(2-6.2831*sin(1.01+2*t)+9.869*sqr(sin(1.01+2*t)))*sin(2*t+3.1415*cos(1.01+2*t)); +wave_0_per_point17= +wave_0_per_point18=snX=fdY*sdZ-sdY*fdZ; +wave_0_per_point19=snY=fdZ*sdX-fdX*sdZ; +wave_0_per_point20=snZ=fdX*sdY-fdY*sdX; +wave_0_per_point21=invSNmag=1/sqrt( snX*snX+snY*snY+snZ*snZ ); +wave_0_per_point22=snX=snX*invSNmag; +wave_0_per_point23=snY=snY*invSNmag; +wave_0_per_point24=snZ=snZ*invSNmag; +wave_0_per_point25= +wave_0_per_point26=fdX=fdX*invFDmag; +wave_0_per_point27=fdY=fdY*invFDmag; +wave_0_per_point28=fdZ=fdZ*invFDmag; +wave_0_per_point29= +wave_0_per_point30=fnX=snY*fdZ-fdY*snZ; +wave_0_per_point31=fnY=snZ*fdX-snX*fdZ; +wave_0_per_point32=fnZ=snX*fdY-snY*fdX; +wave_0_per_point33= +wave_0_per_point34=angl=t*188.493; +wave_0_per_point35=c=sqrt(1-sample); +wave_0_per_point36=mx=mx+t3*c*(snX*cos(angl)+fnX*sin(angl)); +wave_0_per_point37=my=my+t3*c*(snY*cos(angl)+fnY*sin(angl)); +wave_0_per_point38=mz=mz+t3*c*(snZ*cos(angl)+fnZ*sin(angl)); +wave_0_per_point39= +wave_0_per_point40=qq9=q4*q2-q5*q1; +wave_0_per_point41=vx=(q7*mx+q8*my+qq9*mz-(t6*q7+t7*q8+t8*qq9)); +wave_0_per_point42=vy=(q4*mx+q5*my+q6*mz-(t6*q4+t7*q5+t8*q6)); +wave_0_per_point43=vw=q1*mx+q2*my+q3*mz-(t6*q1+t7*q2+t8*q3); +wave_0_per_point44= +wave_0_per_point45=ox=(vx/vw)*.15; +wave_0_per_point46=oy=(vy/vw)*.15; +wave_0_per_point47=x=.5-oy; +wave_0_per_point48=y=.5+ox*1.25; +wave_0_per_point49=a=above(vw,.02)*pow(1-min(vw,1),2); +wave_0_per_point50= +wave_0_per_point51=hue=vw; +wave_0_per_point52=h=6*(hue-int(hue)); +wave_0_per_point53=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); +wave_0_per_point54=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); +wave_0_per_point55=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; +wave_0_per_point56=g=sw1*h+sw2+sw3+sw4*(4-h); +wave_0_per_point57=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); +wavecode_1_enabled=0 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=0 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.000000 +wavecode_1_smoothing=0.500000 +wavecode_1_r=1.000000 +wavecode_1_g=1.000000 +wavecode_1_b=1.000000 +wavecode_1_a=1.000000 +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=0 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=1 +wavecode_2_scaling=0.999998 +wavecode_2_smoothing=0.000000 +wavecode_2_r=1.000000 +wavecode_2_g=1.000000 +wavecode_2_b=1.000000 +wavecode_2_a=1.000000 +wave_2_per_frame1=speed=.015; +wave_2_per_frame2= +wave_2_per_frame3=t= 6.2831*(speed*time-int(speed*time)); +wave_2_per_frame4= +wave_2_per_frame5=t1=2*cos(t)*(1+3.1415*cos(2.98+2*t))*cos(.43+2*t+3.1415*sin(2.98+2*t))-sin(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_2_per_frame6=t2=cos(1.9+.7*t)*cos(t)-.7*sin(1.9+.7*t)*sin(t); +wave_2_per_frame7=t3=cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))*(2-6.2831*sin(1.01+2*t))-2*sin(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_2_per_frame8=invFDmag=1/sqrt( t1*t1 + t2*t2 + t3*t3 ); +wave_2_per_frame9= +wave_2_per_frame10=sdX=-4*cos(.43+2*t+3.1415*sin(2.98+2*t))*(sin(t)+3.1415*sin(2.98+3*t))-cos(t)*(5+25.132*cos(2.98+2*t)+39.4761*sqr(cos(2.98+2*t)))*sin( .43+2*t+3.1415*sin(2.98+2*t)); +wave_2_per_frame11=sdY=-1.4*cos(t)*sin(1.9+.7*t)-1.49*cos(1.9+.7*t)*sin(t); +wave_2_per_frame12=sdZ=-12.566*cos(1.01+2*t)*cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))+8*cos(2*t+3.1415*cos(1.01+2*t))*(-1+3.1415*sin(1.01+2*t))*sin(1.54+2*t) - 4*cos(1.54+2*t)*(2-6.2831*sin(1.01+2*t)+9.869*sqr(sin(1.01+2*t)))*sin(2*t+3.1415*cos(1.01+2*t)); +wave_2_per_frame13= +wave_2_per_frame14=t4=t2*sdZ-sdY*t3; +wave_2_per_frame15=t5=t3*sdX-t1*sdZ; +wave_2_per_frame16=t6=t1*sdY-t2*sdX; +wave_2_per_frame17=invSNmag=1/sqrt( t4*t4+t5*t5+t6*t6 ); +wave_2_per_frame18=t4=t4*invSNmag; +wave_2_per_frame19=t5=t5*invSNmag; +wave_2_per_frame20=t6=t6*invSNmag; +wave_2_per_frame21= +wave_2_per_frame22=t1=t1*invFDmag; +wave_2_per_frame23=t2=t2*invFDmag; +wave_2_per_frame24=t3=t3*invFDmag; +wave_2_per_frame25= +wave_2_per_frame26=t7=t5*t3-t2*t6; +wave_2_per_frame27=t8=t6*t1-t4*t3; +wave_2_per_point1=sw=int(3*sample); +wave_2_per_point2=fnZ=t4*t2-t5*t1; +wave_2_per_point3= +wave_2_per_point4=p1=3*equal(sw,0)*sample; +wave_2_per_point5=p2=equal(sw,1)*3*(sample-.333); +wave_2_per_point6=p3=equal(sw,2)*3*(sample-.666); +wave_2_per_point7= +wave_2_per_point8=n1 = t2*fnZ-t8*t3; +wave_2_per_point9=n2 = -(t1*fnZ-t7*t3); +wave_2_per_point10=n3 = t1*t8-t2*t7; +wave_2_per_point11= +wave_2_per_point12=mx=p1*t7 +p2*n1 +p3*t1; +wave_2_per_point13=my=p1*t8 +p2*n2 +p3*t2; +wave_2_per_point14=mz=p1*fnZ+p2*n3 +p3*t3; +wave_2_per_point15= +wave_2_per_point16=x=.14+.05*mx; +wave_2_per_point17=y=.14+.05*my*1.25; +wave_2_per_point18=a=1-( above(sample,.33)*below(sample,.34) + above(sample,.66)*below(sample,.67)); +wave_2_per_point19= +wave_2_per_point20=r=equal(sw,0); +wave_2_per_point21=g=equal(sw,1); +wave_2_per_point22=b=equal(sw,2); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=1 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=1 +wavecode_3_scaling=1.000000 +wavecode_3_smoothing=0.500000 +wavecode_3_r=1.000000 +wavecode_3_g=1.000000 +wavecode_3_b=1.000000 +wavecode_3_a=1.000000 +wave_3_per_frame1=speed=.015; +wave_3_per_frame2=length=.1; +wave_3_per_frame3=crosssectionrad=.07; +wave_3_per_frame4= +wave_3_per_frame5=t1=( speed*time-int(speed*time)); +wave_3_per_frame6=t2= length; +wave_3_per_frame7=t3= crosssectionrad; +wave_3_per_frame8= +wave_3_per_frame9=t=t1*6.2831; +wave_3_per_frame10=t6=cos(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_frame11=t7=cos(1.9+.7*t)*sin(t); +wave_3_per_frame12=t8=cos(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_frame13= +wave_3_per_frame14=q1=2*cos(t)*(1+3.1415*cos(2.98+2*t))*cos(.43+2*t+3.1415*sin(2.98+2*t))-sin(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_frame15=q2=cos(1.9+.7*t)*cos(t)-.7*sin(1.9+.7*t)*sin(t); +wave_3_per_frame16=q3=cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))*(2-6.2831*sin(1.01+2*t))-2*sin(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_frame17=invFDmag=1/sqrt( q1*q1 + q2*q2 + q3*q3 ); +wave_3_per_frame18= +wave_3_per_frame19=sdX=-4*cos(.43+2*t+3.1415*sin(2.98+2*t))*(sin(t)+3.1415*sin(2.98+3*t))-cos(t)*(5+25.132*cos(2.98+2*t)+39.4761*sqr(cos(2.98+2*t)))*sin( .43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_frame20=sdY=-1.4*cos(t)*sin(1.9+.7*t)-1.49*cos(1.9+.7*t)*sin(t); +wave_3_per_frame21=sdZ=-12.566*cos(1.01+2*t)*cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))+8*cos(2*t+3.1415*cos(1.01+2*t))*(-1+3.1415*sin(1.01+2*t))*sin(1.54+2*t) - 4*cos(1.54+2*t)*(2-6.2831*sin(1.01+2*t)+9.869*sqr(sin(1.01+2*t)))*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_frame22= +wave_3_per_frame23=q4=q2*sdZ-sdY*q3; +wave_3_per_frame24=q5=q3*sdX-q1*sdZ; +wave_3_per_frame25=q6=q1*sdY-q2*sdX; +wave_3_per_frame26=invSNmag=1/sqrt( q4*q4+q5*q5+q6*q6 ); +wave_3_per_frame27=q4=q4*invSNmag; +wave_3_per_frame28=q5=q5*invSNmag; +wave_3_per_frame29=q6=q6*invSNmag; +wave_3_per_frame30= +wave_3_per_frame31=q1=q1*invFDmag; +wave_3_per_frame32=q2=q2*invFDmag; +wave_3_per_frame33=q3=q3*invFDmag; +wave_3_per_frame34= +wave_3_per_frame35=q7=q5*q3-q2*q6; +wave_3_per_frame36=q8=q6*q1-q4*q3; +wave_3_per_frame37= +wave_3_per_point1=t=(t1+(0+sample)*t2); +wave_3_per_point2=t=if(above(t,1),t-1,t); +wave_3_per_point3=t=t*6.2831; +wave_3_per_point4= +wave_3_per_point5=mx=cos(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_point6=my=cos(1.9+.7*t)*sin(t); +wave_3_per_point7=mz=cos(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_point8= +wave_3_per_point9=fdX=2*cos(t)*(1+3.1415*cos(2.98+2*t))*cos(.43+2*t+3.1415*sin(2.98+2*t))-sin(t)*sin(.43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_point10=fdY=cos(1.9+.7*t)*cos(t)-.7*sin(1.9+.7*t)*sin(t); +wave_3_per_point11=fdZ=cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))*(2-6.2831*sin(1.01+2*t))-2*sin(1.54+2*t)*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_point12=invFDmag=1/sqrt( fdX*fdX + fdY*fdY + fdZ*fdZ ); +wave_3_per_point13= +wave_3_per_point14=sdX=-4*cos(.43+2*t+3.1415*sin(2.98+2*t))*(sin(t)+3.1415*sin(2.98+3*t))-cos(t)*(5+25.132*cos(2.98+2*t)+39.4761*sqr(cos(2.98+2*t)))*sin( .43+2*t+3.1415*sin(2.98+2*t)); +wave_3_per_point15=sdY=-1.4*cos(t)*sin(1.9+.7*t)-1.49*cos(1.9+.7*t)*sin(t); +wave_3_per_point16=sdZ=-12.566*cos(1.01+2*t)*cos(1.54+2*t)*cos(2*t+3.1415*cos(1.01+2*t))+8*cos(2*t+3.1415*cos(1.01+2*t))*(-1+3.1415*sin(1.01+2*t))*sin(1.54+2*t) - 4*cos(1.54+2*t)*(2-6.2831*sin(1.01+2*t)+9.869*sqr(sin(1.01+2*t)))*sin(2*t+3.1415*cos(1.01+2*t)); +wave_3_per_point17= +wave_3_per_point18=snX=fdY*sdZ-sdY*fdZ; +wave_3_per_point19=snY=fdZ*sdX-fdX*sdZ; +wave_3_per_point20=snZ=fdX*sdY-fdY*sdX; +wave_3_per_point21=invSNmag=1/sqrt( snX*snX+snY*snY+snZ*snZ ); +wave_3_per_point22=snX=snX*invSNmag; +wave_3_per_point23=snY=snY*invSNmag; +wave_3_per_point24=snZ=snZ*invSNmag; +wave_3_per_point25= +wave_3_per_point26=fdX=fdX*invFDmag; +wave_3_per_point27=fdY=fdY*invFDmag; +wave_3_per_point28=fdZ=fdZ*invFDmag; +wave_3_per_point29= +wave_3_per_point30=fnX=snY*fdZ-fdY*snZ; +wave_3_per_point31=fnY=snZ*fdX-snX*fdZ; +wave_3_per_point32=fnZ=snX*fdY-snY*fdX; +wave_3_per_point33= +wave_3_per_point34=angl=6.2831*cos(628.3185*sample+2.54+40*sin(62.8318*sample+.56)); +wave_3_per_point35=rr=t3*(.1+2*abs(sin(628.3185*sample+2.54+40*cos(62.8318*10*sample+.56)))); +wave_3_per_point36=mx=mx+rr*cos(angl); +wave_3_per_point37=my=my+rr*(cos(angl)/sin(angl)); +wave_3_per_point38=mz=mz+rr*sin(angl); +wave_3_per_point39= +wave_3_per_point40=qq9=q4*q2-q5*q1; +wave_3_per_point41=vx=(q7*mx+q8*my+qq9*mz-(t6*q7+t7*q8+t8*qq9)); +wave_3_per_point42=vy=(q4*mx+q5*my+q6*mz-(t6*q4+t7*q5+t8*q6)); +wave_3_per_point43=vw=q1*mx+q2*my+q3*mz-(t6*q1+t7*q2+t8*q3); +wave_3_per_point44= +wave_3_per_point45=ox=(vx/vw)*.15; +wave_3_per_point46=oy=(vy/vw)*.15*1.25; +wave_3_per_point47=x=.5-oy; +wave_3_per_point48=y=.5+ox*1.25; +wave_3_per_point49=a=above(vw,.01)*pow(2*(.5-min(vw,.5)),2); +shapecode_0_enabled=1 +shapecode_0_sides=60 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=0 +shapecode_0_x=0.140000 +shapecode_0_y=0.140000 +shapecode_0_rad=0.133451 +shapecode_0_ang=0.000000 +shapecode_0_tex_ang=0.000000 +shapecode_0_tex_zoom=1.000000 +shapecode_0_r=0.000000 +shapecode_0_g=0.000000 +shapecode_0_b=0.000000 +shapecode_0_a=1.000000 +shapecode_0_r2=0.000000 +shapecode_0_g2=0.000000 +shapecode_0_b2=0.000000 +shapecode_0_a2=1.000000 +shapecode_0_border_r=1.000000 +shapecode_0_border_g=1.000000 +shapecode_0_border_b=1.000000 +shapecode_0_border_a=1.000000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_x=0.500000 +shapecode_1_y=0.500000 +shapecode_1_rad=0.100000 +shapecode_1_ang=0.000000 +shapecode_1_tex_ang=0.000000 +shapecode_1_tex_zoom=1.000000 +shapecode_1_r=1.000000 +shapecode_1_g=0.000000 +shapecode_1_b=0.000000 +shapecode_1_a=1.000000 +shapecode_1_r2=0.000000 +shapecode_1_g2=1.000000 +shapecode_1_b2=0.000000 +shapecode_1_a2=0.000000 +shapecode_1_border_r=1.000000 +shapecode_1_border_g=1.000000 +shapecode_1_border_b=1.000000 +shapecode_1_border_a=0.100000 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_x=0.500000 +shapecode_2_y=0.500000 +shapecode_2_rad=0.100000 +shapecode_2_ang=0.000000 +shapecode_2_tex_ang=0.000000 +shapecode_2_tex_zoom=1.000000 +shapecode_2_r=1.000000 +shapecode_2_g=0.000000 +shapecode_2_b=0.000000 +shapecode_2_a=1.000000 +shapecode_2_r2=0.000000 +shapecode_2_g2=1.000000 +shapecode_2_b2=0.000000 +shapecode_2_a2=0.000000 +shapecode_2_border_r=1.000000 +shapecode_2_border_g=1.000000 +shapecode_2_border_b=1.000000 +shapecode_2_border_a=0.100000 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_x=0.500000 +shapecode_3_y=0.500000 +shapecode_3_rad=0.100000 +shapecode_3_ang=0.000000 +shapecode_3_tex_ang=0.000000 +shapecode_3_tex_zoom=1.000000 +shapecode_3_r=1.000000 +shapecode_3_g=0.000000 +shapecode_3_b=0.000000 +shapecode_3_a=1.000000 +shapecode_3_r2=0.000000 +shapecode_3_g2=1.000000 +shapecode_3_b2=0.000000 +shapecode_3_a2=0.000000 +shapecode_3_border_r=1.000000 +shapecode_3_border_g=1.000000 +shapecode_3_border_b=1.000000 +shapecode_3_border_a=0.100000 +per_frame_1=decay=.81; +per_frame_2= +per_frame_3=dt=1/FPS; +per_frame_4=contvol=max(.4, (1-.6*dt)*contvol+.2*dt*(bass+mid+treb) ); +per_frame_5= +per_frame_6=monitor=30*6.2831; diff --git a/presets_yin/yin - 010 - Symphonic innerverse.milk b/presets/presets_yin/yin - 010 - Symphonic innerverse.milk similarity index 100% rename from presets_yin/yin - 010 - Symphonic innerverse.milk rename to presets/presets_yin/yin - 010 - Symphonic innerverse.milk diff --git a/presets_yin/yin - 011 - Symphonic innerverse (deaf mix).milk b/presets/presets_yin/yin - 011 - Symphonic innerverse (deaf mix).milk similarity index 100% rename from presets_yin/yin - 011 - Symphonic innerverse (deaf mix).milk rename to presets/presets_yin/yin - 011 - Symphonic innerverse (deaf mix).milk diff --git a/presets_yin/yin - 020 - I have no feet and I must dance.milk b/presets/presets_yin/yin - 020 - I have no feet and I must dance.milk similarity index 100% rename from presets_yin/yin - 020 - I have no feet and I must dance.milk rename to presets/presets_yin/yin - 020 - I have no feet and I must dance.milk diff --git a/presets_yin/yin - 030 - Dance with the ocean.milk b/presets/presets_yin/yin - 030 - Dance with the ocean.milk similarity index 100% rename from presets_yin/yin - 030 - Dance with the ocean.milk rename to presets/presets_yin/yin - 030 - Dance with the ocean.milk diff --git a/presets_yin/yin - 040 - Myopic infected 3d VU meters.milk b/presets/presets_yin/yin - 040 - Myopic infected 3d VU meters.milk similarity index 100% rename from presets_yin/yin - 040 - Myopic infected 3d VU meters.milk rename to presets/presets_yin/yin - 040 - Myopic infected 3d VU meters.milk diff --git a/presets_yin/yin - 041 - Myopic infected 3d VU meters (remix).milk b/presets/presets_yin/yin - 041 - Myopic infected 3d VU meters (remix).milk similarity index 100% rename from presets_yin/yin - 041 - Myopic infected 3d VU meters (remix).milk rename to presets/presets_yin/yin - 041 - Myopic infected 3d VU meters (remix).milk diff --git a/presets_yin/yin - 050 - Van Gogh's nightmare.milk b/presets/presets_yin/yin - 050 - Van Gogh's nightmare.milk similarity index 100% rename from presets_yin/yin - 050 - Van Gogh's nightmare.milk rename to presets/presets_yin/yin - 050 - Van Gogh's nightmare.milk diff --git a/presets_yin/yin - 051 - Van Gogh's nightmare (in depth).milk b/presets/presets_yin/yin - 051 - Van Gogh's nightmare (in depth).milk similarity index 100% rename from presets_yin/yin - 051 - Van Gogh's nightmare (in depth).milk rename to presets/presets_yin/yin - 051 - Van Gogh's nightmare (in depth).milk diff --git a/presets_yin/yin - 060 - PLU.milk b/presets/presets_yin/yin - 060 - PLU.milk similarity index 100% rename from presets_yin/yin - 060 - PLU.milk rename to presets/presets_yin/yin - 060 - PLU.milk diff --git a/presets_yin/yin - 070 - Speaks for itsself.milk b/presets/presets_yin/yin - 070 - Speaks for itsself.milk similarity index 100% rename from presets_yin/yin - 070 - Speaks for itsself.milk rename to presets/presets_yin/yin - 070 - Speaks for itsself.milk diff --git a/presets_yin/yin - 080 - Dream Universe.milk b/presets/presets_yin/yin - 080 - Dream Universe.milk similarity index 100% rename from presets_yin/yin - 080 - Dream Universe.milk rename to presets/presets_yin/yin - 080 - Dream Universe.milk diff --git a/presets_yin/yin - 090 - Exit eternity.milk b/presets/presets_yin/yin - 090 - Exit eternity.milk similarity index 100% rename from presets_yin/yin - 090 - Exit eternity.milk rename to presets/presets_yin/yin - 090 - Exit eternity.milk diff --git a/presets_yin/yin - 100 - Through the ether.milk b/presets/presets_yin/yin - 100 - Through the ether.milk similarity index 100% rename from presets_yin/yin - 100 - Through the ether.milk rename to presets/presets_yin/yin - 100 - Through the ether.milk diff --git a/presets_yin/yin - 101 - Through the ether (Phase Two).milk b/presets/presets_yin/yin - 101 - Through the ether (Phase Two).milk similarity index 100% rename from presets_yin/yin - 101 - Through the ether (Phase Two).milk rename to presets/presets_yin/yin - 101 - Through the ether (Phase Two).milk diff --git a/presets_yin/yin - 102 - Through the ether (The separation).milk b/presets/presets_yin/yin - 102 - Through the ether (The separation).milk similarity index 100% rename from presets_yin/yin - 102 - Through the ether (The separation).milk rename to presets/presets_yin/yin - 102 - Through the ether (The separation).milk diff --git a/presets_yin/yin - 110 - Survival of the fastest.milk b/presets/presets_yin/yin - 110 - Survival of the fastest.milk similarity index 100% rename from presets_yin/yin - 110 - Survival of the fastest.milk rename to presets/presets_yin/yin - 110 - Survival of the fastest.milk diff --git a/presets_yin/yin - 111 - Survival of the fastest (Volume gravity).milk b/presets/presets_yin/yin - 111 - Survival of the fastest (Volume gravity).milk similarity index 100% rename from presets_yin/yin - 111 - Survival of the fastest (Volume gravity).milk rename to presets/presets_yin/yin - 111 - Survival of the fastest (Volume gravity).milk diff --git a/presets_yin/yin - 112 - Survival of the fastest (Sudden death).milk b/presets/presets_yin/yin - 112 - Survival of the fastest (Sudden death).milk similarity index 100% rename from presets_yin/yin - 112 - Survival of the fastest (Sudden death).milk rename to presets/presets_yin/yin - 112 - Survival of the fastest (Sudden death).milk diff --git a/presets_yin/yin - 113 - Survival of the fastest (The Grand Arena).milk b/presets/presets_yin/yin - 113 - Survival of the fastest (The Grand Arena).milk similarity index 100% rename from presets_yin/yin - 113 - Survival of the fastest (The Grand Arena).milk rename to presets/presets_yin/yin - 113 - Survival of the fastest (The Grand Arena).milk diff --git a/presets/presets_yin/yin - 114 - Survival of the fastest (feat- Guest Star).milk b/presets/presets_yin/yin - 114 - Survival of the fastest (feat- Guest Star).milk new file mode 100644 index 0000000000..22342a62fc --- /dev/null +++ b/presets/presets_yin/yin - 114 - Survival of the fastest (feat- Guest Star).milk @@ -0,0 +1,176 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.700001 +fDecay=0.995000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.007944 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=-0.540000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.620260 +fShader=1.000000 +zoom=1.001839 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=zoom = 1.003; warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb); +per_frame_2=b1x = if( equal( b1x, 0 ), .1, b1x ); +per_frame_3=b1y = if( equal( b1y, 0 ), .5, b1y ); +per_frame_4=b1vx = if( equal( b1vx, 0 ), 0*(rand(50)/100), b1vx ); +per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.006*0+.006, b1vy ); +per_frame_6=b2x = if( equal( b2x, 0 ), .9, b2x ); +per_frame_7=b2y = if( equal( b2y, 0 ), .5, b2y ); +per_frame_8=b2vx = if( equal( b2vx, 0 ), 0*(-rand(50)/100), b2vx ); +per_frame_9=b2vy = if( equal( b2vy, 0 ), -0.006*0+.003, b2vy ); +per_frame_10= +per_frame_11=// o Resolve forces +per_frame_12=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); +per_frame_13=dist = sqrt(sqr(distX)+sqr(distY)); +per_frame_14=k = 1/sqr(dist); +per_frame_15=k = if( above( k, .005) , 0.005, k ); +per_frame_16=k = if(above(fCrashPhase,0),0,k); +per_frame_17=b1vx=b1vx+k*cos(fAngle-3.14)/FPS; +per_frame_18=b1vy=b1vy+k*sin(fAngle-3.14)/FPS; +per_frame_19=b2vx=b2vx+k*cos(fAngle)/FPS; +per_frame_20=b2vy=b2vy+k*sin(fAngle)/FPS; +per_frame_21=q5 = atan2(b1y-.5,b1x-.5); k= 1.5/sqrt(sqr(b1x-.5)+sqr(b1y-.5)); +per_frame_22=k=if(above(k,.008),.008,k); +per_frame_23=b1vx=b1vx-k*cos(q5)/FPS; +per_frame_24=b1vy=b1vy-k*sin(q5)/FPS; +per_frame_25=q5 = atan2(b2y-.5,b2x-.5); k= 1.5/sqrt(sqr(b2x-.5)+sqr(b2y-.5)); +per_frame_26=k=if(above(k,.008),.008,k); +per_frame_27=b2vx=b2vx-k*cos(q5)/FPS; +per_frame_28=b2vy=b2vy-k*sin(q5)/FPS; +per_frame_29=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy)),sqrt(sqr(b1vx)+sqr(b1vy))),1, 0); +per_frame_30=// o Apply motion +per_frame_31=iIndex = (frame%5); +per_frame_32=fScale = if( above(iIndex,1), (1+.5*mid)*30/FPS, (1+.5*bass)*30/FPS); +per_frame_33=b1x = b1x + b1vx*fScale; b1y = b1y + b1vy*fScale; +per_frame_34=b2x = b2x + b2vx*fScale; b2y = b2y + b2vy*fScale; +per_frame_35= +per_frame_36=// o Collision and "keep-in-screen" check +per_frame_37=q1 = if( below(sqr(b1x-.5) +sqr(b1y-.5), .005), 1, 0); +per_frame_38=q1 = if( above( frame, q7) ,q1, 0 ); +per_frame_39=q2 = if( below(sqr(b2x-.5) +sqr(b2y-.5), .005), 1, 0); +per_frame_40=q2 = if( above( frame, q6) ,q2, 0 ); +per_frame_41=q3 = 2*(-atan2( b1y-.5,b1x-.5 ) + atan2(b1vy,b1vx)); // gonia anaklasis me efaptomeni +per_frame_42=q4 = 2*(-atan2( b2y-.5,b2x-.5 ) + atan2(b2vy,b2vx)); // gonia anaklasis me efaptomeni +per_frame_43=kavb1vx = b1vx; kavb1vy = b1vy; +per_frame_44=kavb2vx = b2vx; kavb2vy = b2vy; +per_frame_45=b1vx = if( equal(q1,1),(cos(q3)*kavb1vx - sin(q3)*kavb1vy),b1vx); +per_frame_46=b1vy = if( equal(q1,1),(sin(q3)*kavb1vx + cos(q3)*kavb1vy),b1vy); +per_frame_47=b2vx = if( equal(q2,1),(cos(q4)*kavb2vx - sin(q4)*kavb2vy),b2vx); +per_frame_48=b2vy = if( equal(q2,1),(sin(q4)*kavb2vx + cos(q4)*kavb2vy),b2vy); +per_frame_49=q7 = if(equal(q1,1),frame + 5,q7 ); +per_frame_50=q7 = if( equal( frame,q7 ), 0, q7 ); +per_frame_51=q6 = if(equal(q2,1),frame + 5,q6 ); +per_frame_52=q6 = if( equal( frame,q6 ), 0, q6 ); +per_frame_53=kavb1vy=b1y; kavb1vx=b1x; +per_frame_54= +per_frame_55=b1x = if(equal( q1,1),.5+.1*cos(atan2( kavb1vy-.5,kavb1vx-.5 )), kavb1vx ); +per_frame_56=b1y = if( equal( q1,1),.5+.1*sin(atan2( kavb1vy-.5,kavb1vx-.5 )), kavb1vy ); +per_frame_57=kavb2vy=b2y; kavb2vx=b2x; +per_frame_58=b2x = if(equal( q2,1),.5+.1*cos(atan2( kavb2vy-.5,kavb2vx-.5 )), kavb2vx ); +per_frame_59=b2y = if( equal( q2,1),.5+.1*sin(atan2( kavb2vy-.5,kavb2vx-.5 )), kavb2vy ); +per_frame_60=b1vx = if( above( b1x, 1 ), -b1vx, b1vx ); +per_frame_61=b1vx = if( below( b1x, 0 ), -b1vx, b1vx ); +per_frame_62=b1vy = if( above( b1y, 1 ), -b1vy, b1vy ); +per_frame_63=b1vy = if( below( b1y, 0 ), -b1vy, b1vy ); +per_frame_64=b2vx = if( above( b2x, 1 ), -b2vx, b2vx ); +per_frame_65=b2vx = if( below( b2x, 0 ), -b2vx, b2vx ); +per_frame_66=b2vy = if( above( b2y, 1 ), -b2vy, b2vy ); +per_frame_67=b2vy = if( below( b2y, 0 ), -b2vy, b2vy ); +per_frame_68=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 ); +per_frame_69=ob_size = bCrash;ob_a=bCrash*.4; +per_frame_70=kavb1vx = b1vx; kavb1vy = b1vy; +per_frame_71=kavb2vx = b2vx; kavb2vy = b2vy; +per_frame_72=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy; +per_frame_73=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy; +per_frame_74=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx ); +per_frame_75=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy ); +per_frame_76=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx ); +per_frame_77=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy ); +per_frame_78=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil ); +per_frame_79=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil ); +per_frame_80= +per_frame_81=// o Determine what to draw +per_frame_82=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0); +per_frame_83=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay); +per_frame_84=wave_x = if( below( iIndex,2), b1x, wave_x); +per_frame_85=wave_y = if( below( iIndex,2), b1y, wave_y); +per_frame_86=wave_x = if( above( iIndex,1), b2x, wave_x); +per_frame_87=wave_y = if( above( iIndex,1), b2y, wave_y); +per_frame_88=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0; +per_frame_89=wave_x=if(equal(iIndex,4),.5,wave_x); +per_frame_90=wave_y=if(equal(iIndex,4),.5,wave_y); +per_frame_91=wave_b=if(equal(iIndex,4),0,wave_b); +per_frame_92=wave_mystery=if(equal(iIndex,4),-.35,wave_mystery); +per_frame_93=wave_r = if( equal( iIndex,1 ), 1.0, wave_r ); +per_frame_94=wave_g = if( equal( iIndex,1 ), 0.1, wave_g ); +per_frame_95=wave_b = if( equal( iIndex,1 ), 0.1, wave_b ); +per_frame_96=wave_r = if( equal( iIndex,3 ), 0.1, wave_r ); +per_frame_97=wave_g = if( equal( iIndex,3 ), 0.1, wave_g ); +per_frame_98=wave_b = if( equal( iIndex,3 ), 1.0, wave_b ); +per_frame_99=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , wave_mystery); +per_frame_100=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp); +per_frame_101=wave_size = if( equal( iIndex%2, 0) , 1, 0 ); +per_frame_102=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 ); +per_frame_103=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv); +per_frame_104=totalv= if(above(totalv,0.04),0.04,totalv); +per_frame_105=wave_mystery = if( below(iIndex,4)*above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery); +per_frame_106=wave_r=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_r ); +per_frame_107=wave_g=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_g ); +per_frame_108=wave_b=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_b ); +per_frame_109=ob_r=0;ob_b=0; +per_frame_110=ob_r=if(above(Blue,0),0,1); +per_frame_111=ob_b=if(above(Blue,0),1,0); +per_frame_112=prevBass = if(equal( iIndex%2, 0 ), bass, 0 ); +per_frame_113=monitor = atan2(b1y-.5,b1x-.5)*360/6.28; diff --git a/presets/presets_yin/yin - 115 - Survival of the fastest (feat- Collapsing Guest Star).milk b/presets/presets_yin/yin - 115 - Survival of the fastest (feat- Collapsing Guest Star).milk new file mode 100644 index 0000000000..bf3fed9e2a --- /dev/null +++ b/presets/presets_yin/yin - 115 - Survival of the fastest (feat- Collapsing Guest Star).milk @@ -0,0 +1,171 @@ +[preset00] +fRating=5.000000 +fGammaAdj=1.700001 +fDecay=0.995000 +fVideoEchoZoom=1.001825 +fVideoEchoAlpha=0.000000 +nVideoEchoOrientation=0 +nWaveMode=0 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=1 +bModWaveAlphaByVolume=0 +bMaximizeWaveColor=0 +bTexWrap=0 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=1 +bSolarize=0 +bInvert=0 +fWaveAlpha=1.007944 +fWaveScale=0.010000 +fWaveSmoothing=0.900000 +fWaveParam=-0.540000 +fModWaveAlphaStart=0.710000 +fModWaveAlphaEnd=1.300000 +fWarpAnimSpeed=1.000000 +fWarpScale=1.331000 +fZoomExponent=0.620260 +fShader=1.000000 +zoom=1.001839 +rot=0.000000 +cx=0.500000 +cy=0.500000 +dx=0.000000 +dy=0.000000 +warp=0.010000 +sx=1.000000 +sy=1.000000 +wave_r=1.000000 +wave_g=1.000000 +wave_b=1.000000 +wave_x=0.500000 +wave_y=0.500000 +ob_size=0.000000 +ob_r=0.000000 +ob_g=0.000000 +ob_b=0.000000 +ob_a=1.000000 +ib_size=0.000000 +ib_r=0.250000 +ib_g=0.250000 +ib_b=0.250000 +ib_a=0.000000 +nMotionVectorsX=0.000000 +nMotionVectorsY=0.000000 +mv_dx=0.000000 +mv_dy=0.000000 +mv_l=5.000000 +mv_r=1.000000 +mv_g=1.000000 +mv_b=1.000000 +mv_a=1.000000 +per_frame_1=zoom = 1.003; warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb); +per_frame_2=b1x = if( equal( b1x, 0 ), .1, b1x ); +per_frame_3=b1y = if( equal( b1y, 0 ), .5, b1y ); +per_frame_4=b1vx = if( equal( b1vx, 0 ), 0*(rand(50)/100), b1vx ); +per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.006, b1vy ); +per_frame_6=b2x = if( equal( b2x, 0 ), .9, b2x ); +per_frame_7=b2y = if( equal( b2y, 0 ), .5, b2y ); +per_frame_8=b2vx = if( equal( b2vx, 0 ), 0*(-rand(50)/100), b2vx ); +per_frame_9=b2vy = if( equal( b2vy, 0 ), -0.006, b2vy ); +per_frame_10=q3=.5*(1+.8*cos(time/7+.23+sin(time*.232+.983))); +per_frame_11=q4=.5*(1+.8*cos(time/5+2.69+sin(time*.157+3))); +per_frame_12= +per_frame_13=// o Resolve forces +per_frame_14=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); +per_frame_15=dist = sqrt(sqr(distX)+sqr(distY)); +per_frame_16=k = 1/sqr(dist); +per_frame_17=k = if( above( k, .005) , 0.005, k ); +per_frame_18=k = if(above(fCrashPhase,0),0,k); +per_frame_19=b1vx=b1vx+k*cos(fAngle-3.14)/FPS; +per_frame_20=b1vy=b1vy+k*sin(fAngle-3.14)/FPS; +per_frame_21=b2vx=b2vx+k*cos(fAngle)/FPS; +per_frame_22=b2vy=b2vy+k*sin(fAngle)/FPS; +per_frame_23=q5 = atan2(b1y-q4,b1x-q3); k= 1.5/sqrt(sqr(b1x-q3)+sqr(b1y-q4)); +per_frame_24=k=if(above(k,.008),.008,k); +per_frame_25=b1vx=b1vx-k*cos(q5)/FPS; +per_frame_26=b1vy=b1vy-k*sin(q5)/FPS; +per_frame_27=q5 = atan2(b2y-q4,b2x-q3); k= 1.5/sqrt(sqr(b2x-q3)+sqr(b2y-q4)); +per_frame_28=k=if(above(k,.008),.008,k); +per_frame_29=b2vx=b2vx-k*cos(q5)/FPS; +per_frame_30=b2vy=b2vy-k*sin(q5)/FPS; +per_frame_31=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy)),sqrt(sqr(b1vx)+sqr(b1vy))),1, 0); +per_frame_32= +per_frame_33=// o Apply motion +per_frame_34=iIndex = (frame%5); +per_frame_35=fScale = if( above(iIndex,1), (1+.5*mid)*30/FPS, (1+.5*bass)*30/FPS); +per_frame_36=b1x = b1x + b1vx*fScale; b1y = b1y + b1vy*fScale; +per_frame_37=b2x = b2x + b2vx*fScale; b2y = b2y + b2vy*fScale; +per_frame_38= +per_frame_39=// o Collision and "keep-in-screen" check +per_frame_40=q1 = if( below(sqr(b1x-q3) +sqr(b1y-q4), .005), 1, 0); +per_frame_41=q2 = if( below(sqr(b2x-q3) +sqr(b2y-q4), .005), 1, 0); +per_frame_42=b1x=if(equal(q1,1),rand(100)/100,b1x); +per_frame_43=b1y=if(equal(q1,1),rand(100)/100,b1y); +per_frame_44=b2x=if(equal(q2,1),rand(100)/100,b2x); +per_frame_45=b2y=if(equal(q2,1),rand(100)/100,b2y); +per_frame_46=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); +per_frame_47=DotProd1= (.75+rand(50)/100)*sqrt( sqr(b1vx)+sqr(b1vy) ); +per_frame_48=DotProd2= (.75+rand(50)/100)*sqrt( sqr(b2vx)+sqr(b2vy) ); +per_frame_49=b1vx=if(equal(q1,1), DotProd1*cos(fAngle-3.14),b1vx); +per_frame_50=b1vy=if(equal(q1,1), DotProd1*sin(fAngle-3.14),b1vy); +per_frame_51=b2vx=if(equal(q2,1), DotProd2*cos(fAngle),b2vx); +per_frame_52=b2vy=if(equal(q2,1), DotProd2*sin(fAngle),b2vy); +per_frame_53= +per_frame_54=b1vx = if( above( b1x, 1 ), -b1vx, b1vx ); +per_frame_55=b1vx = if( below( b1x, 0 ), -b1vx, b1vx ); +per_frame_56=b1vy = if( above( b1y, 1 ), -b1vy, b1vy ); +per_frame_57=b1vy = if( below( b1y, 0 ), -b1vy, b1vy ); +per_frame_58=b2vx = if( above( b2x, 1 ), -b2vx, b2vx ); +per_frame_59=b2vx = if( below( b2x, 0 ), -b2vx, b2vx ); +per_frame_60=b2vy = if( above( b2y, 1 ), -b2vy, b2vy ); +per_frame_61=b2vy = if( below( b2y, 0 ), -b2vy, b2vy ); +per_frame_62=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 ); +per_frame_63=ob_size = bCrash;ob_a=bCrash*.4; +per_frame_64=kavb1vx = b1vx; kavb1vy = b1vy; +per_frame_65=kavb2vx = b2vx; kavb2vy = b2vy; +per_frame_66=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy; +per_frame_67=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy; +per_frame_68=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx ); +per_frame_69=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy ); +per_frame_70=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx ); +per_frame_71=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy ); +per_frame_72=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil ); +per_frame_73=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil ); +per_frame_74= +per_frame_75=// o Determine what to draw +per_frame_76=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0); +per_frame_77=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay); +per_frame_78=wave_x = if( below( iIndex,2), b1x, wave_x); +per_frame_79=wave_y = if( below( iIndex,2), b1y, wave_y); +per_frame_80=wave_x = if( above( iIndex,1), b2x, wave_x); +per_frame_81=wave_y = if( above( iIndex,1), b2y, wave_y); +per_frame_82=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0; +per_frame_83=wave_x=if(equal(iIndex,4),q3,wave_x); +per_frame_84=wave_y=if(equal(iIndex,4),q4,wave_y); +per_frame_85=wave_b=if(equal(iIndex,4),0,wave_b); +per_frame_86=wave_mystery=if(equal(iIndex,4),-.35,wave_mystery); +per_frame_87=wave_r = if( equal( iIndex,1 ), 1.0, wave_r ); +per_frame_88=wave_g = if( equal( iIndex,1 ), 0.1, wave_g ); +per_frame_89=wave_b = if( equal( iIndex,1 ), 0.1, wave_b ); +per_frame_90=wave_r = if( equal( iIndex,3 ), 0.1, wave_r ); +per_frame_91=wave_g = if( equal( iIndex,3 ), 0.1, wave_g ); +per_frame_92=wave_b = if( equal( iIndex,3 ), 1.0, wave_b ); +per_frame_93=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , wave_mystery); +per_frame_94=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp); +per_frame_95=wave_size = if( equal( iIndex%2, 0) , 1, 0 ); +per_frame_96=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 ); +per_frame_97=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv); +per_frame_98=totalv= if(above(totalv,0.04),0.04,totalv); +per_frame_99=wave_mystery = if( below(iIndex,4)*above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery); +per_frame_100=wave_r=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_r ); +per_frame_101=wave_g=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_g ); +per_frame_102=wave_b=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_b ); +per_frame_103=ob_r=0;ob_b=0; +per_frame_104=ob_r=if(above(Blue,0),0,1); +per_frame_105=ob_b=if(above(Blue,0),1,0); +per_frame_106=prevBass = if(equal( iIndex%2, 0 ), bass, 0 ); +per_pixel_1=q6=(x-q3)*(x-q3)+(1-y-q4)*(1-y-q4); +per_pixel_2=zoom=if(below(q6,0.002),.1,zoom); diff --git a/presets_yin/yin - 116 - Survival of the fastest (is watched!).milk b/presets/presets_yin/yin - 116 - Survival of the fastest (is watched!).milk similarity index 100% rename from presets_yin/yin - 116 - Survival of the fastest (is watched!).milk rename to presets/presets_yin/yin - 116 - Survival of the fastest (is watched!).milk diff --git a/presets_yin/yin - 120 - Resonant consciousness.milk b/presets/presets_yin/yin - 120 - Resonant consciousness.milk similarity index 100% rename from presets_yin/yin - 120 - Resonant consciousness.milk rename to presets/presets_yin/yin - 120 - Resonant consciousness.milk diff --git a/presets_yin/yin - 130 - Karmic energies.milk b/presets/presets_yin/yin - 130 - Karmic energies.milk similarity index 100% rename from presets_yin/yin - 130 - Karmic energies.milk rename to presets/presets_yin/yin - 130 - Karmic energies.milk diff --git a/presets_yin/yin - 140 - Ohm to the stars.milk b/presets/presets_yin/yin - 140 - Ohm to the stars.milk similarity index 100% rename from presets_yin/yin - 140 - Ohm to the stars.milk rename to presets/presets_yin/yin - 140 - Ohm to the stars.milk diff --git a/presets_yin/yin - 141 - Ohm to the stars (ESP).milk b/presets/presets_yin/yin - 141 - Ohm to the stars (ESP).milk similarity index 100% rename from presets_yin/yin - 141 - Ohm to the stars (ESP).milk rename to presets/presets_yin/yin - 141 - Ohm to the stars (ESP).milk diff --git a/presets_yin/yin - 150 - Pap says there's no centrifugal.milk b/presets/presets_yin/yin - 150 - Pap says there's no centrifugal.milk similarity index 100% rename from presets_yin/yin - 150 - Pap says there's no centrifugal.milk rename to presets/presets_yin/yin - 150 - Pap says there's no centrifugal.milk diff --git a/presets_yin/yin - 160 - Controversial.milk b/presets/presets_yin/yin - 160 - Controversial.milk similarity index 100% rename from presets_yin/yin - 160 - Controversial.milk rename to presets/presets_yin/yin - 160 - Controversial.milk diff --git a/presets_yin/yin - 170 - Take a deep breath.milk b/presets/presets_yin/yin - 170 - Take a deep breath.milk similarity index 100% rename from presets_yin/yin - 170 - Take a deep breath.milk rename to presets/presets_yin/yin - 170 - Take a deep breath.milk diff --git a/presets_yin/yin - 180 - Pyrotechnics.milk b/presets/presets_yin/yin - 180 - Pyrotechnics.milk similarity index 100% rename from presets_yin/yin - 180 - Pyrotechnics.milk rename to presets/presets_yin/yin - 180 - Pyrotechnics.milk diff --git a/presets_yin/yin - 181 - Pyrotechnics (windy mix).milk b/presets/presets_yin/yin - 181 - Pyrotechnics (windy mix).milk similarity index 100% rename from presets_yin/yin - 181 - Pyrotechnics (windy mix).milk rename to presets/presets_yin/yin - 181 - Pyrotechnics (windy mix).milk diff --git a/presets_yin/yin - 190 - Temporal fluctuations.milk b/presets/presets_yin/yin - 190 - Temporal fluctuations.milk similarity index 100% rename from presets_yin/yin - 190 - Temporal fluctuations.milk rename to presets/presets_yin/yin - 190 - Temporal fluctuations.milk diff --git a/presets_yin/yin - 191 - Temporal singularities.milk b/presets/presets_yin/yin - 191 - Temporal singularities.milk similarity index 100% rename from presets_yin/yin - 191 - Temporal singularities.milk rename to presets/presets_yin/yin - 191 - Temporal singularities.milk diff --git a/presets_yin/yin - 200 - The all seeing eye.milk b/presets/presets_yin/yin - 200 - The all seeing eye.milk similarity index 100% rename from presets_yin/yin - 200 - The all seeing eye.milk rename to presets/presets_yin/yin - 200 - The all seeing eye.milk diff --git a/presets_yin/yin - 210 - Beat it.milk b/presets/presets_yin/yin - 210 - Beat it.milk similarity index 100% rename from presets_yin/yin - 210 - Beat it.milk rename to presets/presets_yin/yin - 210 - Beat it.milk diff --git a/presets_yin/yin - 220 - Enter the silence.milk b/presets/presets_yin/yin - 220 - Enter the silence.milk similarity index 100% rename from presets_yin/yin - 220 - Enter the silence.milk rename to presets/presets_yin/yin - 220 - Enter the silence.milk diff --git a/presets_yin/yin - 230 - First impression.milk b/presets/presets_yin/yin - 230 - First impression.milk similarity index 100% rename from presets_yin/yin - 230 - First impression.milk rename to presets/presets_yin/yin - 230 - First impression.milk diff --git a/presets_yin/yin - Beat Detective 007 demo.milk b/presets/presets_yin/yin - Beat Detective 007 demo.milk similarity index 100% rename from presets_yin/yin - Beat Detective 007 demo.milk rename to presets/presets_yin/yin - Beat Detective 007 demo.milk diff --git a/presets/tests/100-square.milk b/presets/tests/100-square.milk new file mode 100755 index 0000000000..ba697319e7 --- /dev/null +++ b/presets/tests/100-square.milk @@ -0,0 +1,18 @@ +[preset00] +per_frame_1000=// just a double box +per_frame_1001=// + +fDecay=1 +zoom=0 +rot=0.0 +warp=1 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 diff --git a/presets/tests/101-per_frame.milk b/presets/tests/101-per_frame.milk new file mode 100755 index 0000000000..33cb3a2ac2 --- /dev/null +++ b/presets/tests/101-per_frame.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// varies outer frame color - red only + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); diff --git a/presets/tests/102-per_frame3.milk b/presets/tests/102-per_frame3.milk new file mode 100755 index 0000000000..271d0034d3 --- /dev/null +++ b/presets/tests/102-per_frame3.milk @@ -0,0 +1,22 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// varies outer frame color - multi-color + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); +per_frame_2=ib_g=0.7+0.4*sin(4*time); +per_frame_3=ib_b=0.7+0.4*sin(5*time); \ No newline at end of file diff --git a/presets/tests/103-multiple-eqn.milk b/presets/tests/103-multiple-eqn.milk new file mode 100755 index 0000000000..65353e791a --- /dev/null +++ b/presets/tests/103-multiple-eqn.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// test multiple equations one line + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); ib_g=0.7+0.4*sin(4*time); ib_b=0.7+0.4*sin(5*time); \ No newline at end of file diff --git a/presets/tests/104-continued-eqn.milk b/presets/tests/104-continued-eqn.milk new file mode 100755 index 0000000000..e16612f0c5 --- /dev/null +++ b/presets/tests/104-continued-eqn.milk @@ -0,0 +1,21 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// test equation spanning two lines + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4* +per_frame_2= sin(3*time); \ No newline at end of file diff --git a/presets/tests/105-per_frame_init.milk b/presets/tests/105-per_frame_init.milk new file mode 100755 index 0000000000..16d61414ba --- /dev/null +++ b/presets/tests/105-per_frame_init.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// initialize user variable + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_a=1.0 + +per_frame_init_1=SPEED=10; + +per_frame_1=ib_r=0.7+0.4*sin(time*SPEED); diff --git a/presets/tests/110-per_pixel.milk b/presets/tests/110-per_pixel.milk new file mode 100755 index 0000000000..f6e0c59ac8 --- /dev/null +++ b/presets/tests/110-per_pixel.milk @@ -0,0 +1,23 @@ +[preset00] +fDecay=0.980000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.01 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); +per_frame_2=ib_g=0.7+0.4*sin(4*time); +per_frame_3=ib_b=0.7+0.4*sin(5*time); + +per_pixel_1=zoom=0.9615-rad*0.1; diff --git a/presets/tests/200-wave.milk b/presets/tests/200-wave.milk new file mode 100755 index 0000000000..8665009242 --- /dev/null +++ b/presets/tests/200-wave.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// simple wave to build +per_frame_1001=// + +fDecay=0.980000 +nWaveMode=0 +bMaximizeWaveColor=1 +fWaveAlpha=4.400000 +fWaveScale=1.605447 +fZoomExponent=1.000000 +zoom=1.000000 +rot=0.006000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.90000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 diff --git a/presets/tests/201-wavecode.milk b/presets/tests/201-wavecode.milk new file mode 100755 index 0000000000..ef3f0429f5 --- /dev/null +++ b/presets/tests/201-wavecode.milk @@ -0,0 +1,36 @@ +[preset00] +// use wavecode +// red circle wave with blue squiggly wave + +fDecay=0.980000 +nWaveMode=0 +bMaximizeWaveColor=1 +fWaveAlpha=4.400000 +fWaveScale=1.5 +fZoomExponent=1.000000 +zoom=1.000000 +rot=0.006000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.00000 +wave_g=0.0000 +wave_b=0.00000 +wave_a=0.00000 +wave_x=0.500000 +wave_y=0.5000000 + +wavecode_0_enabled=1 +wavecode_0_mode=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point41=x=x+value1; +wave_0_per_point42=y=y+value2; + +per_frame_1=zoom=1 \ No newline at end of file diff --git a/presets/tests/README.md b/presets/tests/README.md new file mode 100644 index 0000000000..dd1c36aa7d --- /dev/null +++ b/presets/tests/README.md @@ -0,0 +1 @@ +These presets are designed to test very specific functionality to help with regression testing when code changes are made. diff --git a/presets_milkdrop/Aderrasi - Paintsphere.milk b/presets_milkdrop/Aderrasi - Paintsphere.milk deleted file mode 100755 index 068a30d50c..0000000000 --- a/presets_milkdrop/Aderrasi - Paintsphere.milk +++ /dev/null @@ -1,75 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=3.072695 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.250000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_mystery = wave_mystery + 1*tan(800*time); -per_frame_2=wave_r = wave_r + 0.8*sin(5*bass); -per_frame_3=wave_g = wave_g + 0.8*sin(5*treb); -per_frame_4=wave_b = wave_b + 0.8*sin(6*mid); -per_frame_5=warp = 0; -per_pixel_1=rot = rot + if (above(ang, 0.2 + 3*tan(2.5*time)), -per_pixel_2=if(below(ang, 0.4 + 3*tan(2.5*time)), +0.25*sin(3*bass), 0), 0); -per_pixel_3=rot = rot + if (above(ang, 0.5 + 3*tan(2.5*time)), -per_pixel_4=if(below(ang, 0.7 + 3*tan(2.5*time)), -0.35*sin(3*treb), 0), 0); -per_pixel_5=zoom = zoom + if(above(ang, 0.3 + 3*tan(2.5*time)), -per_pixel_6=if(below(ang, 0.5 + 3*tan(2.5*time)), +0.5*sin(3*mid), 0), 0); -per_pixel_7=zoom = zoom + 0.06*(0.5-rad)*bass; diff --git a/presets_milkdrop/Bmelgren - Hmmm.milk b/presets_milkdrop/Bmelgren - Hmmm.milk deleted file mode 100755 index e71f2817a5..0000000000 --- a/presets_milkdrop/Bmelgren - Hmmm.milk +++ /dev/null @@ -1,66 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.975000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.303779 -fWaveSmoothing=0.360000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.380217 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ff = 0.01*frame; -per_frame_2=wave_r = 0.5*sin(5*ff/bass)+0.5; -per_frame_3=wave_g = 0.5*cos(ff/mid)+0.5; -per_frame_4=wave_b = 0.5*cos(3*ff/treb)+0.5; -per_pixel_1=rot=0.1*pow(ang,3); -per_pixel_2=zoom=tan(pow(rad,10))+mid_att; diff --git a/presets_milkdrop/CVS/Entries b/presets_milkdrop/CVS/Entries deleted file mode 100755 index 68dea92d66..0000000000 --- a/presets_milkdrop/CVS/Entries +++ /dev/null @@ -1,229 +0,0 @@ -/Aderrasi - Agitator.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Gravity Directive Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Spirogravity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airhandler (Menagerie Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs (Windy Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Verified Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Aqualung Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Side Effects Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antique Abyss.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Arise! (Padded Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Ashes Of Air (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bitterfeld (Crystal Border Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Blender.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bow To Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Brakefreak.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Candy Avian.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (REMix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Chromatic Abyss (The Other Side).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Circlefacade.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion (Xenomorph Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Crystal Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Dark Matter (Converse Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Elastoid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Floater Society.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Flowing Form.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Making Time (Swamp Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Multiviola.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Negative Sun III.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Paintsphere.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What Cannot Be Undone.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What cannot be.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Che - Terracarbon Stream.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/CrystalHigh - mad ravetriping.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Follow the ball.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Ice Drops.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - 0 To 60.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - Window Reflection 6.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - simple.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Notions Of Tonality 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Blasto.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cosmic Dust 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cruzin'.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Downward Spiral.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eddies 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eggs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - El Cubismo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Nautilus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Ever Changing.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Gold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Oldskool Mellowstyle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 4.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 5.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - MOTIVATION!.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot24-7 - Ascending to heaven 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - Return Of The King.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - The Piper.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Rovastar - Clouded Bottle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Unchained - Invade My Mind.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion - Figure Eight.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Illusion - Spiral Movement.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & TEcHNO - Rhythmic Mantas.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Digital Flame.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Dynamic Borders 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Framed Geometry.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Interwoven (Nightmare Weft Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - War Machine (Shifting Complexity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Windowframe To Mega Swirl 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Darius - Pursuing The Sunset.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancers In The Dark.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acid Universes (Big Bang Interferences Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Aurora Boreale.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Curtain.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Reenen - phoenix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Aderrasi - Clockwork Organism.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Deadly Flower.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds (Astral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Hurricane Nightmare.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Ice Planet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Notions Of Tonality.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octoplasm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Surface (Vectrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Idiot24-7 - Balk Acid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Flowing Synergy.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Interwoven (Contra Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Headspin.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Sugar Spun Sister.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - More Cherished Desires.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - Twisted Spider Web.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Telek - Cosmic Fireworks.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Unchained - Centre Of Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Narell's Fever.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Sea Of Zigrot.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Duel Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Surealist Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Bellanova (New Wave Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Biohazard Warning.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Chapel Of Ghouls.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Mosaic (Active Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Decreasing Dreams (Extended Movement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Explosive Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Forgotten Moon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Frozen Rapture .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Future Speakers.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Fractal Encounter.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace (Frozen Rapture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Dark Secret Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Distant Memories Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Strange Cargo Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Altars Of Madness MIx).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Round Round Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Magic Carpet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Omnipresence Resurrection.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Pandora's Volcano.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Parallel Universe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Sea Shells.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space (Space DNA Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space (Twisted Dimension Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Awakening.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours (Drifting Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Shroomery.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Unchained - Braindance Visions.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Neuro - Starover (Semicolon Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Aderrasi - Canon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Che - Inside The House Of Nil.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Zylot - Rainbow River.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Entity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Minor Alteration.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - State Of Discretion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Wrenched Fate.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - It's Only Make Believe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - Numerosity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Telek - Flicker.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Illusion - Logic Morph.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - For The Seagull.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Slow Solstice.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Triptionary.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Xen Traffic.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 1.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cartoon Factory.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cranked On Failure.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Goo Kung Fu.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - In Memory Of Peg.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Jaded Emotion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Perverted Dialect.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - ReAwoke.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Ribald Ballad.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Shaping The Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Subjective Experience Of The Manifold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Working the Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Azirphaeli's Mirror.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Block Of Sound (Abstract Architecture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Crystal Ball (Magical Reaction Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Digiscape Advanced Processor.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Ether Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Inside The Planar Portal.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Crawl.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Vein.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - PinWheel.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - String.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - The Inner Workings of my New Computer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Visionarie.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - light of the path.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Godhead.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Take this highway.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -D diff --git a/presets_milkdrop/CVS/Repository b/presets_milkdrop/CVS/Repository deleted file mode 100755 index f06e44710b..0000000000 --- a/presets_milkdrop/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/presets_projectM diff --git a/presets_milkdrop/CVS/Root b/presets_milkdrop/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/presets_milkdrop/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/presets_milkdrop/Che - Geology.milk b/presets_milkdrop/Che - Geology.milk deleted file mode 100755 index f02ceaeb84..0000000000 --- a/presets_milkdrop/Che - Geology.milk +++ /dev/null @@ -1,96 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.993000 -fVideoEchoZoom=1.000499 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000416 -fWaveScale=0.154084 -fWaveSmoothing=0.450000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.000000 -fModWaveAlphaEnd=0.200000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000158 -fShader=0.000000 -zoom=1.000223 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.993000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=// timed sidon sensor -per_frame_2=// le = signal level; desired average value = 2 -per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; -per_frame_4=pulse=above(le,th); -per_frame_5=// pulsefreq = running average of interval between last 5 pulses -per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, -per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); -per_frame_8=lastpulse=if(pulse,time,lastpulse); -per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat -per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); -per_frame_11=// hccp = handcicap for th driven by bt -per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), -per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); -per_frame_14=beat=band(above(le,th+hccp),btblock); -per_frame_15=btblock=1-above(le,th+hccp); -per_frame_16=lastbeat=if(beat,time,lastbeat); -per_frame_17=beatfreq=if(equal(beatfreq,0),2, -per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); -per_frame_19=// th = threshold -per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, -per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); -per_frame_22=th=if(above(th,6),6,th); -per_frame_23=sp=60/fps; -per_frame_24=thccl=thccl+sp*(th-2.5144); -per_frame_25=leccl=leccl+sp*le; -per_frame_26=wave_r=.5+.5*sin(.027*leccl); -per_frame_27=wave_g=.5+.5*sin(.025*leccl); -per_frame_28=wave_b=.5+.5*sin(.031*leccl); -per_frame_29=q1=.01*thccl; -per_frame_30=monitor=q1; -per_pixel_1=zone=1;//below(abs(rad-.5),.1); -per_pixel_2=dx=zone*x; -per_pixel_3=dy=zone*x*sin(7*sin(.63*q1)*y+7*sin(.21*q1)*x+3*sin(.47*q1)*rad); diff --git a/presets_milkdrop/EMPR - Random - Light Speed Racer.milk b/presets_milkdrop/EMPR - Random - Light Speed Racer.milk deleted file mode 100755 index 1832325694..0000000000 --- a/presets_milkdrop/EMPR - Random - Light Speed Racer.milk +++ /dev/null @@ -1,120 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.950000 -fVideoEchoZoom=3.007504 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.880224 -fWaveSmoothing=0.000000 -fWaveParam=-0.986474 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.074097 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.084198 -wave_g=0.176891 -wave_b=0.435862 -wave_x=0.985303 -wave_y=0.545416 -ob_size=0.010000 -ob_r=0.532617 -ob_g=0.151336 -ob_b=0.928420 -ob_a=0.134949 -ib_size=0.010000 -ib_r=0.940831 -ib_g=0.929317 -ib_b=0.274101 -ib_a=0.996525 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=-0.993034 -mv_dy=0.179747 -mv_l=0.055000 -mv_r=0.339724 -mv_g=0.182042 -mv_b=0.355223 -mv_a=0.672775 -per_frame_1=warp = 0; -per_frame_2=wave_r = wave_r + .5*sin(time*333) + bass*.3; -per_frame_3=wave_g = wave_g + .5*sin(time*222) + treb*.3; -per_frame_4=wave_b = wave_b + .5*sin(time*111) + mid*.3; -per_frame_5=rot = .4*sin(mid_att*.05); -per_frame_6=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_7=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_8=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_9=// Appended Code From C:\Program Files\Winamp\Plugins\MilkDrop\Self\Turbulence.milk -per_frame_10=wave_y = if(below(wave_r - bass , mid * frame) , bass * bass , mid + time); -per_frame_11=wave_r = max(bass + wave_r , treb + wave_g); -per_frame_12=mv_l = 0.055 + wave_y * wave_x; -per_frame_13=wave_r = if(below(wave_r * wave_y , treb * treb) , bass * zoom , bass * warp); -per_frame_14=ob_r = min(mid * bass , treb + treb); -per_frame_15=ib_b = if(below(bass_att * wave_b , wave_g * wave_x) , if(below(warp * mid , bass - wave_y) , bass_att * wave_r , treb * wave_g) , wave_r + wave_g); -per_frame_16=mv_b = min(wave_r + bass , mid * wave_b); -per_frame_17=wave_r=if(below(wave_r,0.0), 0.0, wave_r); -per_frame_18=wave_r=if(above(wave_r,1.0), 1.0, wave_r); -per_frame_19=wave_y=if(below(wave_y,0.0), 0.0, wave_y); -per_frame_20=wave_y=if(above(wave_y,1.0), 1.0, wave_y); -per_frame_21=ob_r=if(below(ob_r,0.0), 0.0, ob_r); -per_frame_22=ob_r=if(above(ob_r,1.0), 1.0, ob_r); -per_frame_23=ib_b=if(below(ib_b,0.0), 0.0, ib_b); -per_frame_24=ib_b=if(above(ib_b,1.0), 1.0, ib_b); -per_frame_25=mv_b=if(below(mv_b,0.0), 0.0, mv_b); -per_frame_26=mv_b=if(above(mv_b,1.0), 1.0, mv_b); -per_frame_27=mv_l=if(below(mv_l,0.0), 0.0, mv_l); -per_frame_28=mv_l=if(above(mv_l,5.0), 5.0, mv_l); -per_frame_29=wave_r=if(below(wave_r,0.0), 0.0, wave_r); -per_frame_30=wave_r=if(above(wave_r,1.0), 1.0, wave_r); -per_frame_31=ob_r=if(below(ob_r,0.0), 0.0, ob_r); -per_frame_32=ob_r=if(above(ob_r,1.0), 1.0, ob_r); -per_frame_33=wave_y=if(below(wave_y,0.0), 0.0, wave_y); -per_frame_34=wave_y=if(above(wave_y,1.0), 1.0, wave_y); -per_frame_35=wave_r=if(below(wave_r,0.0), 0.0, wave_r); -per_frame_36=wave_r=if(above(wave_r,1.0), 1.0, wave_r); -per_frame_37=ob_r=if(below(ob_r,0.0), 0.0, ob_r); -per_frame_38=ob_r=if(above(ob_r,1.0), 1.0, ob_r); -per_frame_39=ib_b=if(below(ib_b,0.0), 0.0, ib_b); -per_frame_40=ib_b=if(above(ib_b,1.0), 1.0, ib_b); -per_frame_41=mv_b=if(below(mv_b,0.0), 0.0, mv_b); -per_frame_42=mv_b=if(above(mv_b,1.0), 1.0, mv_b); -per_frame_43=wave_y=if(below(wave_y,0.0), 0.0, wave_y); -per_frame_44=wave_y=if(above(wave_y,1.0), 1.0, wave_y); -per_pixel_1=ray = pow(rad,1.8)+.05; -per_pixel_2=zoom = (ray/rad)*1.4 + .3*sin(ang*(bass*5))+(bass*.2); -per_pixel_3=rot=0; -per_pixel_4=dx = ((x-.5)+(y-.5)*.25*sin(time/10))*(2+.1*treb_att); -per_pixel_5=dy=(y-.5)*(2-.1*treb_att); -per_pixel_6=zoom =1; -per_pixel_7=; -per_pixel_8=cy = 0.5 + -1.72704607*sin(1.58401787*sin(y * time)); -per_pixel_9=sy = 1 + if(equal(ang + q1 , ang * bass_att) , warp - x , bass_att * sx); -per_pixel_10=cy=if(below(cy,-1.0), -1.0, cy); -per_pixel_11=cy=if(above(cy,2.0), 2.0, cy); -per_pixel_12=sy=if(below(sy,0.01), 0.01, sy); -per_pixel_13=sy=if(above(sy,100.0), 100.0, sy); diff --git a/presets_milkdrop/Fvese - Multi Circle.milk b/presets_milkdrop/Fvese - Multi Circle.milk deleted file mode 100755 index aa8ef1863f..0000000000 --- a/presets_milkdrop/Fvese - Multi Circle.milk +++ /dev/null @@ -1,77 +0,0 @@ -[preset00] -fRating=2.500000 -fGammaAdj=1.700000 -fDecay=0.980000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=-0.620000 -fModWaveAlphaStart=1.000000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.000000 -cy=0.000000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=0.999999 -sy=1.000000 -wave_r=0.400000 -wave_g=0.400000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.270000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=1.280000 -nMotionVectorsY=1.920000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.050000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = rand(100)/100; -per_frame_2=wave_g = rand(100)/100; -per_frame_3=wave_b = rand(100)/100; -per_frame_4=wave_x = wave_x +0.5 * sin(1.85*time); -per_frame_5=zoom = zoom + 0.020*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time)*vol ); -per_frame_6=vol = (bass_att+bass+mid+mid_att+treb+treb_att); -per_frame_7=dx = dx + 0.095*pow(rad,y*2)*cos(time)/vol; -per_frame_8=mv_r = rand(100)/100; -per_frame_9=mv_b = rand(100)/100; -per_frame_10=mv_g = rand(100)/100; -per_frame_11=rot = 0.025; -per_frame_12=monitor = myeff; -per_frame_13= -per_pixel_1=zoom =.8+x&.8+y; diff --git a/presets_milkdrop/Geiss - Cartographie.milk b/presets_milkdrop/Geiss - Cartographie.milk deleted file mode 100755 index d2a74ceb3f..0000000000 --- a/presets_milkdrop/Geiss - Cartographie.milk +++ /dev/null @@ -1,51 +0,0 @@ -[preset00] -fGammaAdj=1.350000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -fDecay=1.000000 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -fWaveAlpha=3.699999 -fWaveScale=1.300000 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000415 -fShader=1.000000 -zoom=1.006882 -rot=0.040000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.057228 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); -per_frame_4=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=decay=decay-0.025*pow(0.5+0.5*sin(time*1.5),4.8); -per_pixel_1=dx=0.05*sin(x*80+y*94+rad*97+ang*22+time*0.733); -per_pixel_2=dy=0.05*sin(x*60+y*114+rad*77+ang*32+time*0.83); -per_pixel_3=zoom=zoom+0.05*rad; -fRating=2.000000 diff --git a/presets_milkdrop/Geiss - Color Tones 1.milk b/presets_milkdrop/Geiss - Color Tones 1.milk deleted file mode 100755 index 2822b15500..0000000000 --- a/presets_milkdrop/Geiss - Color Tones 1.milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.421896 -fWaveSmoothing=0.900000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.990548 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.550000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=wave_r = min(1,max(0,0.2*bass)); -per_frame_2=wave_g = min(1,max(0,0.2*mid)); -per_frame_3=wave_b = min(1,max(0,0.2*treb)); -per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); -per_frame_8=decay=decay-0.03*pow(0.5+0.5*sin(time*1.5),3.8); -per_pixel_1=zoom=(zoom-1.0)*rad+1.0; diff --git a/presets_milkdrop/Geiss - Color Tones 2.milk b/presets_milkdrop/Geiss - Color Tones 2.milk deleted file mode 100755 index b6e375b318..0000000000 --- a/presets_milkdrop/Geiss - Color Tones 2.milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.421896 -fWaveSmoothing=0.900000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.990548 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.550000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=wave_r = min(1,max(0,0.3*bass)); -per_frame_2=wave_g = min(1,max(0,0.3*mid)); -per_frame_3=wave_b = min(1,max(0,0.3*treb)); -per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); -per_frame_8=decay=decay-0.03*pow(0.5+0.5*sin(time*1.5),3.8); -per_pixel_1=zoom=(zoom-1.0)*rad+1.0; diff --git a/presets_milkdrop/Geiss - Fog Tunnel.milk b/presets_milkdrop/Geiss - Fog Tunnel.milk deleted file mode 100755 index 871e6361da..0000000000 --- a/presets_milkdrop/Geiss - Fog Tunnel.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.800000 -fDecay=0.980000 -fVideoEchoZoom=1.289000 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.794075 -fWaveScale=0.387000 -fWaveSmoothing=0.400000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=3.400000 -fShader=0.000000 -zoom=1.042000 -rot=-0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-0.010000 -warp=0.122000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.440000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.850*time) + 0.40*sin(1.007*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.705*time) + 0.40*sin(0.998*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.715*time) + 0.40*sin(0.938*time) ); -per_frame_4=rot = rot + 0.003*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=warp = warp + 0.231*( 0.60*sin(0.324*time) + 0.40*sin(0.347*time) ); diff --git a/presets_milkdrop/Geiss - Happy Drops.milk b/presets_milkdrop/Geiss - Happy Drops.milk deleted file mode 100755 index 64ea6486a4..0000000000 --- a/presets_milkdrop/Geiss - Happy Drops.milk +++ /dev/null @@ -1,72 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.994000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.420000 -fWaveScale=0.691358 -fWaveSmoothing=0.400000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.888000 -fShader=1.000000 -zoom=0.999710 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.298816 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.742*time) + 0.40*sin(1.021*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.703*time) + 0.40*sin(0.969*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(1.090*time) + 0.40*sin(0.963*time) ); -per_frame_4=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.279*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_pixel_1=dr = 0.01 + 0.03*min(max(bass_att-1,0.0), 0.5)*sin(rad*15); -per_pixel_2=dx = dx + dr*cos(ang)*0.75; -per_pixel_3=dy = dy + dr*sin(-ang); diff --git a/presets_milkdrop/Geiss - Hurricane.milk b/presets_milkdrop/Geiss - Hurricane.milk deleted file mode 100755 index 414288525e..0000000000 --- a/presets_milkdrop/Geiss - Hurricane.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.300000 -fWaveScale=1.170370 -fWaveSmoothing=0.500000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=3.600000 -fShader=0.000000 -zoom=1.014000 -rot=-0.160000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.309000 -sx=1.000000 -sy=1.000000 -wave_r=0.600000 -wave_g=0.600000 -wave_b=0.600000 -wave_x=0.500000 -wave_y=0.470000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); -per_frame_5=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_6=decay = decay - 0.02*equal(frame%40,0); -per_pixel_1=rot=rot+0.1/(rad+0.1); diff --git a/presets_milkdrop/Geiss - Julia Fractal 2.milk b/presets_milkdrop/Geiss - Julia Fractal 2.milk deleted file mode 100755 index 0b8985f254..0000000000 --- a/presets_milkdrop/Geiss - Julia Fractal 2.milk +++ /dev/null @@ -1,82 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.010000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=7.740000 -fWaveScale=0.656000 -fWaveSmoothing=0.800000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.772000 -fZoomExponent=1.960000 -fShader=0.000000 -zoom=0.980000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.513000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.500000 -ib_size=0.070000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.025000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_x = wave_x + 0.500*( 0.60*sin(2.121*time) + 0.40*sin(1.621*time) ); -per_frame_2=wave_y = wave_y + 0.500*( 0.60*sin(1.742*time) + 0.40*sin(2.322*time) ); -per_frame_3=wave_r = wave_r + 0.500*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); -per_frame_4=wave_g = wave_g + 0.500*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); -per_frame_5=wave_b = wave_b + 0.500*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); -per_frame_6=zoom = zoom + 0.070*( 0.60*sin(0.239*time) + 0.40*sin(0.296*time) ); -per_frame_7=rot = rot + 0.038*( 0.60*sin(0.381*time) + 0.40*sin(0.539*time) ); -per_frame_8=cx = cx + 0.030*( 0.60*sin(0.374*time) + 0.40*sin(0.194*time) ); -per_frame_9=cy = cy + 0.037*( 0.60*sin(0.274*time) + 0.40*sin(0.394*time) ); -per_frame_10=dx = dx + 0.025*( 0.60*sin(0.334*time) + 0.40*sin(0.277*time) ); -per_frame_11=dy = dy + 0.025*( 0.60*sin(0.384*time) + 0.40*sin(0.247*time) ); -per_frame_12=sx = sx + 0.015*( 0.60*sin(0.313*time) + 0.40*sin(0.383*time) ); -per_frame_13=decay = decay - 0.01*equal(frame%50,0); -per_frame_14=ib_r = ib_r + 0.2*sin(time*0.5413); -per_frame_15=ib_g = ib_g + 0.2*sin(time*0.3459); -per_frame_16=ib_b = ib_b + 0.2*sin(time*0.4354); -per_frame_17=blah = 3.0/(ib_r+ib_g+ib_b); -per_frame_18=ib_r = ib_r*blah; ib_g = ib_g*blah; ib_b = ib_b*blah; -per_pixel_1=rot=rot+rad*0.25*sin(0.3986*time); diff --git a/presets_milkdrop/Geiss - Many Colors 1.milk b/presets_milkdrop/Geiss - Many Colors 1.milk deleted file mode 100755 index 0087149fec..0000000000 --- a/presets_milkdrop/Geiss - Many Colors 1.milk +++ /dev/null @@ -1,46 +0,0 @@ -[preset00] -fGammaAdj=2.700000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -fDecay=0.980000 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -fWaveAlpha=1.000000 -fWaveScale=0.000000 -fWaveSmoothing=0.100000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.014000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.467000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); diff --git a/presets_milkdrop/Geiss - Many Colors 2.milk b/presets_milkdrop/Geiss - Many Colors 2.milk deleted file mode 100755 index 50559f23f7..0000000000 --- a/presets_milkdrop/Geiss - Many Colors 2.milk +++ /dev/null @@ -1,49 +0,0 @@ -[preset00] -fGammaAdj=2.700000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -fDecay=0.970000 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -fWaveAlpha=1.000000 -fWaveScale=0.032033 -fWaveSmoothing=0.100000 -fWaveParam=-0.300000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.100549 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); -per_pixel_1=zoom=(zoom-1)*rad+1; -fRating=4.000000 diff --git a/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk b/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk deleted file mode 100755 index 19b9a5a423..0000000000 --- a/presets_milkdrop/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk +++ /dev/null @@ -1,95 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999600 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.763002 -fWaveSmoothing=0.270000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.010000 -fShader=0.000000 -zoom=0.998531 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.900000 -ob_b=0.200000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.230000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); -per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); -per_frame_4=warp =0; -per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_13=lastbeat = if(beat,time,lastbeat); -per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); -per_frame_16=oldq5 = q5; -per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); -per_frame_18=oldq3 = q3; -per_frame_19=ib_size = 0.02; -per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); -per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); -per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); -per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); -per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); -per_frame_25=echo_zoom=echo_zoom-.3*sin(Time*(q5/2/2/2/2/2/2/2)); -per_frame_26=//echo_alpha=1; -per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; -per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); -per_pixel_4=rot = if(above(box,1),sin(0.885*time),0)*((ang/2/2/2)-rad)*Sin(q5)/2; -per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y-0.5)*96)+0.005*sin((y-0.5)*128)); -per_pixel_6=dy= if(above(box,1),sin(0.581*time),0.001*cos((x-0.5)*128)+0.001*cos((x-0.5)*96)); diff --git a/presets_milkdrop/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk b/presets_milkdrop/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk deleted file mode 100755 index 73a6959679..0000000000 --- a/presets_milkdrop/Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk +++ /dev/null @@ -1,107 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=10.892525 -fWaveScale=0.248318 -fWaveSmoothing=0.750000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=4.141529 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.020000 -cy=0.020000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=0.999995 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.100000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.100000 -ib_a=1.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_3=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_4=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_6=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_7=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_10=lastbeat = if(beat,time,lastbeat); -per_frame_11=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); -per_frame_12=beatcounter = if(above(beatcounter,7), 0, beatcounter); -per_frame_13=beateven = beatcounter%2; -per_frame_14=drip1grav = if(beateven,0.001*(1+(3*bass)),drip1grav) + equal(drip1grav,0)*0.05; -per_frame_15=drip1x = if(beat,0.5*beateven +0.005*rand(100),drip1x); -per_frame_16=drip1y = if(beat,0,drip1y); -per_frame_17=drip2grav = if(beateven,0.001*(1+(3*treb)),drip2grav) + equal(drip2grav,0)*0.06; -per_frame_18=drip2x = if(beat,0.5*beateven +0.005*rand(100),drip2x); -per_frame_19=drip2y = if(beat,0,drip2y); -per_frame_20=drip3grav = if(beat,0.001*(1+(3*mid)),drip3grav) + equal(drip3grav,0)*0.07; -per_frame_21=drip3x = if(beat,0.5*beateven +0.005*rand(100),drip3x); -per_frame_22=drip3y = if(beat,0,drip3y); -per_frame_23=drip4grav = if(beat,0.001*(1+(1*(mid+treb+bass))),drip4grav) + equal(drip4grav,0)*0.08; -per_frame_24=drip4x = if(beat,0.5*beateven +0.005*rand(100),drip4x); -per_frame_25=drip4y = if(beat,0,drip4y); -per_frame_26=drip1y = min(0.001 + drip1y + drip1grav,1.2); -per_frame_27=drip2y = min(0.001 + drip2y + drip2grav,1.2); -per_frame_28=drip3y = min(0.001 + drip3y + drip3grav,1.2); -per_frame_29=drip4y = min(0.001 + drip4y + drip4grav,1.2); -per_frame_30=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x))); -per_frame_31=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y))); -per_frame_32=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_33=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_34=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_35=ob_r = 1-wave_b; -per_frame_36=ob_g = wave_r; -per_frame_37=echo_alpha=1*sin(above(time*.53,time*.87))*sin(Time*.76); -per_frame_38=wave_mystery=wave_mystery+1*sin(time*.86)-2*sin(time*.53); -per_pixel_1=dye = if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001+-raD*.01-.03)+.05; -per_pixel_2=dxe=-dye; -per_pixel_3=//sy = 1+ if(above(bass,1),0.02*(bass+bass_att),0)-x/50*sin(time); -per_pixel_4=//sy = if(dy,sy,2); -per_pixel_5=dx=dxe*Sin(time*.98*sin(Time*bass&time)); -per_pixel_6=dy=dye*sin(time*.45*sin(time*bass_Att&time)); diff --git a/presets_milkdrop/Idiot24-7 - Just plain cool 3.milk b/presets_milkdrop/Idiot24-7 - Just plain cool 3.milk deleted file mode 100755 index 4c180a10d6..0000000000 --- a/presets_milkdrop/Idiot24-7 - Just plain cool 3.milk +++ /dev/null @@ -1,63 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=33.469135 -fWaveScale=0.566085 -fWaveSmoothing=0.500000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.000000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=6.985931 -fZoomExponent=0.010000 -fShader=0.000000 -zoom=1.093507 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.197781 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.470000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.500000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=19.199995 -nMotionVectorsY=14.400000 -mv_l=3.000000 -mv_r=0.600000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.100000 -per_frame_1=wave_r = wave_r + 1*( 0.60*sin(0.933*treb) + 0.40*sin(1.045*time) ); -per_frame_2=wave_b = wave_b + 1*( 1.60*sin(1.900*bass) + 0.40*sin(0.956*time) ); -per_frame_3=rot=rot+.05*treb diff --git a/presets_milkdrop/Krash - Chronoshift.milk b/presets_milkdrop/Krash - Chronoshift.milk deleted file mode 100755 index 306ba6ec66..0000000000 --- a/presets_milkdrop/Krash - Chronoshift.milk +++ /dev/null @@ -1,77 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.970000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.741922 -fWaveSmoothing=0.750000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.248317 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.350*( 0.60*sin(0.823*time) + 0.40*sin(0.916*time) ); -per_frame_3=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.023*time) ); -per_frame_4=wave_b = wave_b + 0.350*( 0.60*sin(0.808*time) + 0.40*sin(0.949*time) ); -per_frame_5=bass_time = bass_time + if(above(treb_att,1.2),2*treb_att,1)*(time-last_time); -per_frame_6=q1 = bass_time; -per_frame_7=last_time = time; -per_frame_8=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.99+1.3); -per_frame_9=minute_dir = if(equal(minute_dir,0),-1,if(equal(bass_thresh,2),sign(sin(time)),minute_dir)); -per_frame_10=hour_dir = if(equal(hour_dir,0),-1,if(equal(bass_thresh,2),sign(cos(time)),hour_dir)); -per_frame_11=q2 = minute_dir; -per_frame_12=q3 = hour_dir; -per_pixel_1=angval = 0.3/sqrt((3.14*tan(q2*ang*0.5-q1))+4); -per_pixel_2=angval2 = 0.3/sqrt((3.14*tan(q3*ang*0.5-q1/12+1.2))+4); -per_pixel_3=zoom = 0.8+3*sqr(angval); -per_pixel_4=zoom = zoom + if(below(rad,0.4),3*sqr(angval2),0); -per_pixel_5=rot = 0.1*(sin(angval)-sin(angval2)); diff --git a/presets_milkdrop/Krash - Heatwaves.milk b/presets_milkdrop/Krash - Heatwaves.milk deleted file mode 100755 index d9aac95b18..0000000000 --- a/presets_milkdrop/Krash - Heatwaves.milk +++ /dev/null @@ -1,99 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.028395 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.599900 -wave_g=0.200000 -wave_b=0.100000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.099900 -ib_size=0.010000 -ib_r=1.000000 -ib_g=0.600000 -ib_b=0.000000 -ib_a=0.200000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = wave_r + 0.2*(0.6*sin(0.892*time) + 0.4*sin(1.432*time)); -per_frame_3=wave_g = wave_g + 0.15*(0.6*sin(1.217*time) + 0.4*sin(0.935*time)); -per_frame_4=wave_b = wave_b + 0.1*(0.6*sin(0.729*time) + 0.4*sin(1.292*time)); -per_frame_5=ob_r = abs(wave_r - 0.2); -per_frame_6=ob_g = abs(wave_g - 0.1); -per_frame_7=ob_b = abs(wave_b - 0.05); -per_frame_8=ib_a = 0.9-bass; -per_frame_9=volume = 0.3*(bass+mid+att); -per_frame_10=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_11=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_12=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_13=peakbass_att = max(bass_att,peakbass_att); -per_frame_14=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_15=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_16=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_17=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_18=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_19=mode = if(beat,1-mode,mode); -per_frame_20=wave_x = abs(1-mode); -per_frame_21=wave_y = 0.5+(1-2*mode)*0.05; -per_frame_22=q1 = 1-2*mode; -per_frame_23=q2 = mode; -per_pixel_1=du = x*2-1 - q1*0.7; -per_pixel_2=dv = y*2-1 + q1*0.5; -per_pixel_3=dist = sqrt(du*du+dv*dv); -per_pixel_4=ang2 = atan2(du,dv); -per_pixel_5=mult = 0.008/(dist+0.4); -per_pixel_6=dx = mult*sin(ang2-1.5); -per_pixel_7=dy = mult*cos(ang2-1.5+q2*0.1); -per_pixel_8=du = x*2-1 - q1*0.7; -per_pixel_9=dv = y*2-1 - q1*0.5; -per_pixel_10=dist = sqrt(du*du+dv*dv); -per_pixel_11=ang2 = atan2(du,dv); -per_pixel_12=mult = 0.008/(dist+0.4); -per_pixel_13=dx = dx + mult*sin(ang2+1.5); -per_pixel_14=dy = dy + mult*cos(ang2+1.4+q2*0.1); -per_pixel_15=dy = dy - below(y,0.65)*above(y,0.35)*(0.1*(y-0.5) + 0.01*sin(x*30+q1*time*4)); -per_pixel_16=dx = dx - above(dx,-0.01+q2*0.01)*below(dx,0+q2*0.01)*q1*0.006; diff --git a/presets_milkdrop/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk b/presets_milkdrop/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk deleted file mode 100755 index ea391a3674..0000000000 --- a/presets_milkdrop/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk +++ /dev/null @@ -1,129 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.550326 -fWaveSmoothing=0.000000 -fWaveParam=0.716487 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.901354 -wave_g=0.377889 -wave_b=0.000471 -wave_x=0.413669 -wave_y=0.018739 -ob_size=0.010000 -ob_r=0.819144 -ob_g=0.689338 -ob_b=0.246663 -ob_a=0.008466 -ib_size=0.005000 -ib_r=0.585938 -ib_g=0.006329 -ib_b=0.631080 -ib_a=0.286550 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.369793 -mv_dy=-0.432902 -mv_l=0.900000 -mv_r=0.240271 -mv_g=0.431694 -mv_b=0.877384 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=drip1grav = if(above(drip1y,1.2),0.001*(1+rand(10)),drip1grav) + equal(drip1grav,0)*0.05; -per_frame_3=drip1x = if(above(drip1y,1.2),0.01*rand(100),drip1x); -per_frame_4=drip1y = if(above(drip1y,1.2),0,drip1y); -per_frame_5=drip2grav = if(above(drip2y,1.2),0.001*(1+rand(10)),drip2grav) + equal(drip2grav,0)*0.06; -per_frame_6=drip2x = if(above(drip2y,1.2),0.01*rand(100),drip2x); -per_frame_7=drip2y = if(above(drip2y,1.2),0,drip2y); -per_frame_8=drip3grav = if(above(drip3y,1.2),0.001*(1+rand(10)),drip3grav) + equal(drip3grav,0)*0.07; -per_frame_9=drip3x = if(above(drip3y,1.2),0.01*rand(100),drip3x); -per_frame_10=drip3y = if(above(drip3y,1.2),0,drip3y); -per_frame_11=drip4grav = if(above(drip4y,1.2),0.001*(1+rand(10)),drip4grav) + equal(drip4grav,0)*0.08; -per_frame_12=drip4x = if(above(drip4y,1.2),0.01*rand(100),drip4x); -per_frame_13=drip4y = if(above(drip4y,1.2),0,drip4y); -per_frame_14=drip1y = 0.001 + drip1y + drip1grav; -per_frame_15=drip2y = 0.001 + drip2y + drip2grav; -per_frame_16=drip3y = 0.001 + drip3y + drip3grav; -per_frame_17=drip4y = 0.001 + drip4y + drip4grav; -per_frame_18=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x))); -per_frame_19=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y))); -per_frame_20=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_21=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_22=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_23=vol = (bass+mid+att)/6; -per_frame_24=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_25=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_26=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_27=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_28=xpos = xpos + 0.001*xspeed; -per_frame_29=wave_x = xpos + 0.5; -per_frame_30=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_31=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_32=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_33=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_34=ypos = ypos + 0.001*yspeed; -per_frame_35=wave_y = ypos + 0.5; -per_frame_36=rot = rot + 0.01*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_37=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_38=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_39=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) ); -per_frame_40=warp = warp*vol; -per_frame_41=dy = dy + above(bass_att,1.2)*bass_att*0.003; -per_frame_42=ob_a = ob_a - 2*vol; -per_frame_43=rot=if(below(rot,-1.0), -1.0, rot); -per_frame_44=rot=if(above(rot,1.0), 1.0, rot); -per_frame_45=warp=if(below(warp,0.01), 0.01, warp); -per_frame_46=warp=if(above(warp,100.0), 100.0, warp); -per_frame_47=cx=if(below(cx,-1.0), -1.0, cx); -per_frame_48=cx=if(above(cx,2.0), 2.0, cx); -per_frame_49=cy=if(below(cy,-1.0), -1.0, cy); -per_frame_50=cy=if(above(cy,2.0), 2.0, cy); -per_frame_51=dy=if(below(dy,-1), -1, dy); -per_frame_52=dy=if(above(dy,1.0), 1.0, dy); -per_frame_53=wave_x=if(below(wave_x,0.0), 0.0, wave_x); -per_frame_54=wave_x=if(above(wave_x,1.0), 1.0, wave_x); -per_frame_55=wave_y=if(below(wave_y,0.0), 0.0, wave_y); -per_frame_56=wave_y=if(above(wave_y,1.0), 1.0, wave_y); -per_frame_57=wave_mystery=if(below(wave_mystery,-1.0), -1.0, wave_mystery); -per_frame_58=wave_mystery=if(above(wave_mystery,1.0), 1.0, wave_mystery); -per_frame_59=ob_a=if(below(ob_a,0.0), 0.0, ob_a); -per_frame_60=ob_a=if(above(ob_a,1.0), 1.0, ob_a); -per_pixel_1=dy = dy + if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001); -per_pixel_2=cx = 8.13988973*sqr(warp - x); -per_pixel_3=cx=if(below(cx,-1.0), -1.0, cx); -per_pixel_4=cx=if(above(cx,2.0), 2.0, cx); -per_pixel_5=dy=if(below(dy,-1), -1, dy); -per_pixel_6=dy=if(above(dy,1.0), 1.0, dy); diff --git a/presets_milkdrop/Krash - Snowflake Halo.milk b/presets_milkdrop/Krash - Snowflake Halo.milk deleted file mode 100755 index 1f35933611..0000000000 --- a/presets_milkdrop/Krash - Snowflake Halo.milk +++ /dev/null @@ -1,64 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.925000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=1 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.010000 -fWaveSmoothing=0.360000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.709800 -fModWaveAlphaEnd=1.700000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.959487 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=ff = frame/100; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = cos(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_frame_5=zoom = zoom - if(below(zoom,0.96),0,0.008); -per_frame_6=zoom = zoom + 0.15*bass_att; -per_pixel_1=angval = ang + abs(3.14*sin(time*0.345) + 3.14*sin(time*.234)); -per_pixel_2=rot=(2*abs((sin(time)-0.5))-angval)/1; diff --git a/presets_milkdrop/Krash - Vinyl Disk.milk b/presets_milkdrop/Krash - Vinyl Disk.milk deleted file mode 100755 index e0df95c462..0000000000 --- a/presets_milkdrop/Krash - Vinyl Disk.milk +++ /dev/null @@ -1,74 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.975000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.054279 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.850000 -fModWaveAlphaEnd=1.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.400000 -wave_g=0.400000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.25*(0.6*sin(0.784*time) + 0.4*sin(0.986*time)); -per_frame_3=wave_g = wave_g + 0.25*(0.6*sin(0.671*time) + 0.4*sin(1.164*time)); -per_frame_4=wave_b = wave_b + 0.25*(0.6*sin(1.423*time) + 0.4*sin(0.687*time)); -per_frame_5=bass_effect = if(above(bass_att,1.4),pow(1.1,bass_att),1); -per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.97,treb_att),1); -per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),bass_effect,treb_effect); -per_frame_8=zoom = net_effect; -per_frame_9=rot = rot + rot_residual; -per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_11=shift = (tan(time*7)) -0.05; -per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); -per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); -per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05); diff --git a/presets_milkdrop/Krash - cardiac rhythm.milk b/presets_milkdrop/Krash - cardiac rhythm.milk deleted file mode 100755 index 3d38098812..0000000000 --- a/presets_milkdrop/Krash - cardiac rhythm.milk +++ /dev/null @@ -1,81 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.025182 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.100000 -wave_g=0.800000 -wave_b=0.100000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=dx=-0.0005; -per_frame_3=dy=-0.0005; -per_frame_4=volume = 0.3*(bass+mid+att); -per_frame_5=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_6=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_7=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_8=peakbass_att = max(bass_att,peakbass_att); -per_frame_9=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_10=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_11=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_12=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_13=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_14=wave_x = 0.25*time-int(0.25*time); -per_frame_15=ypos = if(below(wave_x,0.005),rand(60)*0.01,ypos); -per_frame_16=wave_y = 0.15 + ypos; -per_frame_17=decay = if(below(wave_x,0.005),0.8,0.985); -per_frame_18=pulse = if(beat,1,pulse); -per_frame_19=pulsetime = if(beat,time,pulsetime); -per_frame_20=wave_y = wave_y + if(pulse,0.2*sin(20*(time-pulsetime)),0); -per_frame_21=pulse = if(above(20*(time-pulsetime),3.5),0,pulse); diff --git a/presets_milkdrop/Krash - interwoven (nightmare weft).milk b/presets_milkdrop/Krash - interwoven (nightmare weft).milk deleted file mode 100755 index 508bc94593..0000000000 --- a/presets_milkdrop/Krash - interwoven (nightmare weft).milk +++ /dev/null @@ -1,99 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.816695 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=1 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.498315 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.950000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=31.199999 -nMotionVectorsY=2.280001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=2.500000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.800000 -mv_a=0.100000 -per_frame_1=warp=0; -per_frame_2= -per_frame_3=framethird = frame%3; -per_frame_4= -per_frame_5=x1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); -per_frame_6=x2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); -per_frame_7=x3 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); -per_frame_8=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); -per_frame_9=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); -per_frame_10=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); -per_frame_11=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); -per_frame_12=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); -per_frame_13=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); -per_frame_14=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); -per_frame_15=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); -per_frame_16=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); -per_frame_17=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); -per_frame_18=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); -per_frame_19=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); -per_frame_20=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); -per_frame_21= -per_frame_22=volume = 0.3*(bass+mid); -per_frame_23=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_24=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_25=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_26=peakbass_att = max(bass_att,peakbass_att); -per_frame_27=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_28=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_29=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); -per_frame_30=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_31=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_32=dx = if(beat,1-2*rand(2),0); -per_frame_33=ob_a = if(beat,0,0.65); -per_frame_34=mv_a = if(beat,1,0.05); -per_pixel_1=dy = 0.004 + 0.0005*sin(10*x+0.459*time) + 0.0005*sin(14*x+0.325*time) + 0.0005*sin(1.231*time); -per_pixel_2=//dx = dx + 0.0001*sin(9*y+0.612*time) + 0.0001*sin(13*y+0.429*time) + 0.0001*sin(1.027*time); diff --git a/presets_milkdrop/Krash - interwoven.milk b/presets_milkdrop/Krash - interwoven.milk deleted file mode 100755 index 5f0933befd..0000000000 --- a/presets_milkdrop/Krash - interwoven.milk +++ /dev/null @@ -1,99 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.816695 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.498315 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.950000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=31.199999 -nMotionVectorsY=2.280001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=2.500000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.800000 -mv_a=0.100000 -per_frame_1=warp=0; -per_frame_2= -per_frame_3=framethird = frame%3; -per_frame_4= -per_frame_5=x1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); -per_frame_6=x2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); -per_frame_7=x3 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); -per_frame_8=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); -per_frame_9=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); -per_frame_10=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); -per_frame_11=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); -per_frame_12=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); -per_frame_13=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); -per_frame_14=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); -per_frame_15=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); -per_frame_16=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); -per_frame_17=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); -per_frame_18=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); -per_frame_19=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); -per_frame_20=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); -per_frame_21= -per_frame_22=volume = 0.3*(bass+mid); -per_frame_23=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_24=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_25=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_26=peakbass_att = max(bass_att,peakbass_att); -per_frame_27=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_28=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_29=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); -per_frame_30=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_31=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_32=dx = if(beat,1-2*rand(2),0); -per_frame_33=ob_a = if(beat,0,0.65); -per_frame_34=mv_a = if(beat,1,0.05); -per_pixel_1=dy = 0.004 + 0.0005*sin(10*x+0.459*time) + 0.0005*sin(14*x+0.325*time) + 0.0005*sin(1.231*time); -per_pixel_2=//dx = dx + 0.0001*sin(9*y+0.612*time) + 0.0001*sin(13*y+0.429*time) + 0.0001*sin(1.027*time); diff --git a/presets_milkdrop/Krash - molten indecision.milk b/presets_milkdrop/Krash - molten indecision.milk deleted file mode 100755 index c4698f8e84..0000000000 --- a/presets_milkdrop/Krash - molten indecision.milk +++ /dev/null @@ -1,104 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.550326 -fWaveSmoothing=0.000000 -fWaveParam=-0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.950000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.060000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=dx=-0.0005; -per_frame_3=dy=-0.0005; -per_frame_4=drip1grav = if(above(drip1y,1.2),0.001*(1+rand(10)),drip1grav) + equal(drip1grav,0)*0.05; -per_frame_5=drip1x = if(above(drip1y,1.2),0.01*rand(100),drip1x); -per_frame_6=drip1y = if(above(drip1y,1.2),0,drip1y); -per_frame_7=drip2grav = if(above(drip2y,1.2),0.001*(1+rand(10)),drip2grav) + equal(drip2grav,0)*0.06; -per_frame_8=drip2x = if(above(drip2y,1.2),0.01*rand(100),drip2x); -per_frame_9=drip2y = if(above(drip2y,1.2),0,drip2y); -per_frame_10=drip3grav = if(above(drip3y,1.2),0.001*(1+rand(10)),drip3grav) + equal(drip3grav,0)*0.07; -per_frame_11=drip3x = if(above(drip3y,1.2),0.01*rand(100),drip3x); -per_frame_12=drip3y = if(above(drip3y,1.2),0,drip3y); -per_frame_13=drip4grav = if(above(drip4y,1.2),0.001*(1+rand(10)),drip4grav) + equal(drip4grav,0)*0.08; -per_frame_14=drip4x = if(above(drip4y,1.2),0.01*rand(100),drip4x); -per_frame_15=drip4y = if(above(drip4y,1.2),0,drip4y); -per_frame_16=drip1y = 0.001 + drip1y + drip1grav; -per_frame_17=drip2y = 0.001 + drip2y + drip2grav; -per_frame_18=drip3y = 0.001 + drip3y + drip3grav; -per_frame_19=drip4y = 0.001 + drip4y + drip4grav; -per_frame_20=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x))); -per_frame_21=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y))); -per_frame_22=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_23=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_24=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_25=vol = (bass+mid+att)/6; -per_frame_26=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_27=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_28=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_29=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_30=xpos = xpos + 0.001*xspeed; -per_frame_31=wave_x = xpos + 0.5; -per_frame_32=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_33=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_34=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_35=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_36=ypos = ypos + 0.001*yspeed; -per_frame_37=wave_y = ypos + 0.5; -per_frame_38=rot = rot + 0.01*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_39=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_40=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_41=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) ); -per_frame_42=warp = warp*vol; -per_frame_43=dy = dy + above(bass_att,1.2)*bass_att*0.003; -per_frame_44=ob_a = ob_a - 2*vol; -per_pixel_1=dy = dy + if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001); diff --git a/presets_milkdrop/Krash - systolic pressure.milk b/presets_milkdrop/Krash - systolic pressure.milk deleted file mode 100755 index a1fd4479b4..0000000000 --- a/presets_milkdrop/Krash - systolic pressure.milk +++ /dev/null @@ -1,100 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.071719 -fWaveSmoothing=0.750000 -fWaveParam=-0.160000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=9.860800 -fWarpScale=16.217400 -fZoomExponent=1.503744 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.999999 -sx=1.000000 -sy=1.000000 -wave_r=0.900000 -wave_g=0.200000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.050000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.020000 -ib_size=0.500000 -ib_r=0.050000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.020000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=volume = 0.3*(bass+mid+att); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*xspeed; -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*yspeed; -per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_16=peakbass_att = max(bass_att,peakbass_att); -per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_22=wave_x = xpos + 0.5; -per_frame_23=wave_y = ypos + 0.5; -per_frame_24=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_25=wave_g = wave_g + 0.150*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_26=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); -per_frame_28=mv_r = if(beat, 1, ib_r); -per_frame_29=mv_b = if(beat, wave_b, ib_b); -per_frame_30=mv_a = if(beat, 0.1, ib_a); -per_frame_31=ib_a = 0.015; -per_frame_32=q3 = wave_mystery; -per_frame_33=q1 = wave_x; -per_frame_34=q2 = 1- wave_y; -per_pixel_1=newx = x - q1; -per_pixel_2=newy = y - q2; -per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_4=newzoom = pow(1.05 + below(newrad,0.39+q3)*(0.6-newrad), pow(1 + 0.5*cos(newrad+2*q3+0.28), newrad*2-1)); -per_pixel_5=dx = -0.0005 + (newx)*newzoom - newx; -per_pixel_6=dy = -0.0005 + (newy)*newzoom - newy; diff --git a/presets_milkdrop/Krash and Telek - Real Noughts and Crosses (Random Ending).milk b/presets_milkdrop/Krash and Telek - Real Noughts and Crosses (Random Ending).milk deleted file mode 100755 index fc39fa1998..0000000000 --- a/presets_milkdrop/Krash and Telek - Real Noughts and Crosses (Random Ending).milk +++ /dev/null @@ -1,250 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=7.523887 -fWaveScale=0.175730 -fWaveSmoothing=0.630000 -fWaveParam=1.000000 -fModWaveAlphaStart=2.000000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.001000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -per_frame_1=flipped = if(equal(state,0),rand(2),flipped); -per_frame_2= -per_frame_3=//1st turn -per_frame_4=turn1 = if(equal(state,0),if(below(rand(3),1),1,rand(2)+4),turn1); -per_frame_5=//2nd turn -per_frame_6=turn2 = if(equal(state,0),if(equal(turn1,1),5,1),turn2); -per_frame_7=//3rd turn -per_frame_8=temp = if(equal(turn1+turn2,6),rand(4),rand(7)); -per_frame_9=turn3 = if(equal(state,0), if(equal(turn1+turn2,6), if(above(temp,0),temp+6,temp+4), if(above(temp,1),temp+3,temp+2)),turn3); -per_frame_10=//4th turn -per_frame_11=temp = turn1+turn3; -per_frame_12=temp = if(equal(temp, 5),7,if(equal(temp,8),4,if(equal(temp,9),6,if(equal(temp,10),if(equal(turn3,6),5,8),if(equal(temp,12),3, if(equal(temp,7),5,0)))))); -per_frame_13=turn4 = if(equal(state,0),if(temp,temp, if(equal(turn3,2),if(equal(turn1,4),5,8),2)),turn4); -per_frame_14=//other turns -per_frame_15=temp = turn1 + turn3; -per_frame_16=temp2 = temp + turn2 + turn4; -per_frame_17=turn5 = if(equal(state,0), if(equal(temp2,20),4, if(equal(temp2,23),2, if(equal(temp2,16), if(equal(temp,9),8, if(equal(temp,10),9, if(equal(temp,13), if(equal(turn1,5),3,3), if(equal(turn1,5),2,2)))), if(equal(temp2,14),3, if(equal(temp2,12),9, if(equal(temp2,17), if(equal(temp,8),6, if(equal(temp,14),4,3)),9)))))),turn5); -per_frame_18=turn6 = if(equal(state,0), if(equal(temp2,20),7, if(equal(temp2,23),3, if(equal(temp2,16), if(equal(temp,9),2, if(equal(temp,10),3, if(equal(temp,13), if(equal(turn1,5),7,6), if(equal(turn1,5),8,5)))), if(equal(temp2,14),5, if(equal(temp2,12),7, if(equal(temp2,17), if(equal(temp,8),8, if(equal(temp,14),6,2)),6)))))),turn6); -per_frame_19=turn7 = if(equal(state,0), if(equal(temp2,20),3, if(equal(temp2,23),7, if(equal(temp2,16), if(equal(temp,9),3, if(equal(temp,10),2, if(equal(temp,13), if(equal(turn1,5),4,8), if(equal(turn1,5),4,9)))), if(equal(temp2,14),8, if(equal(temp2,12),3, if(equal(temp2,17), if(equal(temp,8),2, if(equal(temp,14),3,8)),7)))))),turn7); -per_frame_20=turn8 = if(equal(state,0), if(equal(temp2,20),2, if(equal(temp2,23),4, if(equal(temp2,16), if(equal(temp,9),7, if(equal(temp,10),7, if(equal(temp,13), if(equal(turn1,5),6,7), if(equal(turn1,5),6,7)))), if(equal(temp2,14),9, if(equal(temp2,12),6, if(equal(temp2,17), if(equal(temp,8),3, if(equal(temp,14),7,9)),8)))))),turn8); -per_frame_21=turn9 = if(equal(state,0), if(equal(temp2,20),9, if(equal(temp2,23),6, if(equal(temp2,16), if(equal(temp,9),9, if(equal(temp,10),11, if(equal(temp,13), if(equal(turn1,5),9,5), if(equal(turn1,5),9,10)))), if(equal(temp2,14),10, if(equal(temp2,12),8, if(equal(temp2,17), if(equal(temp,8),9, if(equal(temp,14),8,6)),2)))))),turn9); -per_frame_22= -per_frame_23=turn1 = if(equal(state,0),if(flipped,10-turn1,turn1),turn1); -per_frame_24=turn2 = if(equal(state,0),if(flipped,10-turn2,turn2),turn2); -per_frame_25=turn3 = if(equal(state,0),if(flipped,10-turn3,turn3),turn3); -per_frame_26=turn4 = if(equal(state,0),if(flipped,10-turn4,turn4),turn4); -per_frame_27=turn5 = if(equal(state,0),if(flipped,10-turn5,turn5),turn5); -per_frame_28=turn6 = if(equal(state,0),if(flipped,10-turn6,turn6),turn6); -per_frame_29=turn7 = if(equal(state,0),if(flipped,10-turn7,turn7),turn7); -per_frame_30=turn8 = if(equal(state,0),if(flipped,10-turn8,turn8),turn8); -per_frame_31=turn9 = if(equal(state,0),if(flipped,if(below(turn9,10),10-turn9,turn9),turn9),turn9); -per_frame_32= -per_frame_33=oldcount = count; -per_frame_34=count = if(equal(state,0),0,count); -per_frame_35= -per_frame_36=count = count + above(time-last,delay); -per_frame_37=last = if(equal(count,oldcount),last,time); -per_frame_38=tick = (time-last)/delay; -per_frame_39= -per_frame_40=oldstate=state; -per_frame_41=decay =1 - equal(state,0); -per_frame_42=delay = if(equal(state,0),dd,delay); -per_frame_43=state = if(equal(state,0),1,state); -per_frame_44=count = if(init,count,0); -per_frame_45=init = init+1; -per_frame_46= -per_frame_47=state = if(equal(state,2)*equal(count,9),2.5,state); -per_frame_48=count = if(equal(state,2.5),0,count); -per_frame_49=delay = if(equal(state,2.5),dd*.5,delay); -per_frame_50=state = if(equal(state,2.5),(rand(3)*2)+3,state); -per_frame_51=//******* random ending line above ^^ ********** -per_frame_52= -per_frame_53=state = if(equal(state,3)*equal(count,9),3.5,state); -per_frame_54=count = if(equal(state,3.5),0,count); -per_frame_55=state = if(equal(state,3.5),4,state); -per_frame_56= -per_frame_57=state = if(equal(state,4)*equal(count,3),4.5,state); -per_frame_58=//Any tidy up stuff? No? ok, then we dont really need state 4.5, just in case tho..1 -per_frame_59=state = if(equal(state,4.5),0,state); -per_frame_60= -per_frame_61=state = if(equal(state,5)*above(count,fps*3),5.5,state); -per_frame_62=delay = if(equal(state,5), 0,delay); -per_frame_63=delay = if(equal(state,5.5), dd,delay); -per_frame_64=state = if(equal(state,5.5),0,state); -per_frame_65= -per_frame_66= -per_frame_67= -per_frame_68=state = if(equal(state,7),7.1,state); -per_frame_69=state = if(equal(state,7.1)*equal(count,6),7.5,state); -per_frame_70=state = if(equal(state,7.5),0,state); -per_frame_71= -per_frame_72= -per_frame_73=state = if(equal(state,1)*equal(count,1),1.5,state); -per_frame_74=count = if(equal(state,1.5),0,count); -per_frame_75=last = if(equal(state,1.5),time,last); -per_frame_76=oldcount = if(equal(state,1.5),-1, oldcount); -per_frame_77=state = if(equal(state,1.5),2,state); -per_frame_78= -per_frame_79= -per_frame_80=posx = if(equal(count,0),(turn1-1)%3,posx); -per_frame_81=posy = if(equal(count,0),int((turn1-0.5)/3),posy); -per_frame_82=posx = if(equal(count,1),(turn2-1)%3,posx); -per_frame_83=posy = if(equal(count,1),int((turn2-0.5)/3),posy); -per_frame_84=posx = if(equal(count,2),(turn3-1)%3,posx); -per_frame_85=posy = if(equal(count,2),int((turn3-0.5)/3),posy); -per_frame_86=posx = if(equal(count,3),(turn4-1)%3,posx); -per_frame_87=posy = if(equal(count,3),int((turn4-0.5)/3),posy); -per_frame_88=posx = if(equal(count,4),(turn5-1)%3,posx); -per_frame_89=posy = if(equal(count,4),int((turn5-0.5)/3),posy); -per_frame_90=posx = if(equal(count,5),(turn6-1)%3,posx); -per_frame_91=posy = if(equal(count,5),int((turn6-0.5)/3),posy); -per_frame_92=posx = if(equal(count,6),(turn7-1)%3,posx); -per_frame_93=posy = if(equal(count,6),int((turn7-0.5)/3),posy); -per_frame_94=posx = if(equal(count,7),(turn8-1)%3,posx); -per_frame_95=posy = if(equal(count,7),int((turn8-0.5)/3),posy); -per_frame_96=posx = if(equal(count,8),(turn9-1)%3,posx); -per_frame_97=posy = if(equal(count,8),int((turn9-0.5)/3),posy); -per_frame_98= -per_frame_99=q5 = if(equal(state,3),posx,9); -per_frame_100=q6 = if(equal(state,3),posy,9); -per_frame_101=ob_a = equal(state,3)*.05; -per_frame_102= -per_frame_103=posx = if(equal(state,2),posx,4); -per_frame_104=posy = if(equal(state,2),posy,4); -per_frame_105= -per_frame_106=decay = if(equal(state,5),1-.0005*count,decay) + if(equal(state,4),.95,decay); -per_frame_107=zoom = if(equal(state,5),1-.0002*count,1) * if(equal(state,4),1.05,1); -per_frame_108=rot = if(equal(state,5),.0001*count,0); -per_frame_109=s5_cx=if(equal(count,0),rand(2),s5_cx); -per_frame_110=s5_cy=if(equal(count,0),rand(2),s5_cy); -per_frame_111= -per_frame_112=ob_size = if(equal(state,7.1), sin((tick+count)/delay*.5236*.25), ob_size); -per_frame_113=ob_a = if(equal(state,7.1), .1,ob_a); -per_frame_114= -per_frame_115=monitor = turn1+turn2*0.1+turn3*0.01+turn4*0.001+flipped*0.0001; -per_frame_116= -per_frame_117=cx = (posx*2+1)/6; -per_frame_118=cy = (posy*2+1)/6; -per_frame_119= -per_frame_120=q1 = (tick*4)%4; -per_frame_121= -per_frame_122=mode = if(equal(state,0),-1,if(equal(state,1),line, if(equal(count,oldcount),mode, (mode+1)%2))); -per_frame_123= -per_frame_124=wave_x = if(equal(mode,nought),cx, -per_frame_125=if(equal(mode, cross),cx+(tick*2-above(tick,.5))*.3-.15, -per_frame_126=if(equal(mode, line),.5, -per_frame_127=0))); -per_frame_128=wave_y = if(equal(mode,nought),1-cy, -per_frame_129=if(equal(mode,cross), 1-cy+(tick*2-above(tick,.5)*(tick-.5)*4)*.3-.15, -per_frame_130=.57)); -per_frame_131=wave_mystery = if(equal(mode,nought),-.2+sin(time*20)*.05, -per_frame_132=if(equal(mode, cross),-.45, -per_frame_133=if(equal(mode, line),(q1+1)%2, -per_frame_134=.5))); -per_frame_135=wave_mode = if(equal(mode,nought),0,if(equal(mode,cross),8,7)); -per_frame_136=wave_size = if(equal(mode,nought),.43,if(equal(mode,cross),0,0)); -per_frame_137=wave_r = if(equal(mode,nought),1,if(equal(mode,cross),0,0)); -per_frame_138=wave_g = if(equal(mode,nought),0,if(equal(mode,cross),0,1)); -per_frame_139=wave_b = if(equal(mode,nought),0,if(equal(mode,cross),1,0)); -per_frame_140=q8 = mode; -per_frame_141= -per_frame_142= -per_frame_143=cx=if(equal(state,5),s5_cx*1.3-.15,cx); -per_frame_144=cy=if(equal(state,5),s5_cy*1.3-.15,cy); -per_frame_145= -per_frame_146= -per_frame_147=monitor = state+.001*count; -per_frame_148= -per_frame_149=//monitor = tick+count; -per_pixel_1=nought = 0; -per_pixel_2=cross = 1; -per_pixel_3=line = 2; -per_pixel_4= -per_pixel_5=//dx = if(equal(q1%2,1)*equal(int(y*10),q2),.005*(q1-2),0); -per_pixel_6=//dy = if(equal(q1%2,0)*equal(int(x*10),q2),.005*(q1-1),0); -per_pixel_7= -per_pixel_8= -per_pixel_9=dist = sqrt(sqr(cx-x)+sqr(cy-y)); -per_pixel_10= -per_pixel_11=inX = below(abs((x-cx)-(y-cy)),.041)+below(abs((x-cx)+(y-cy)),.041); -per_pixel_12=rot = rot+if(equal(q8,nought),if(below(abs(dist-.12),.02),.1*bass,0),0); -per_pixel_13=dx = if(equal(q8,nought),0, -per_pixel_14=if(equal(q8, cross),below(dist,.15)*inX*sign(x-cx)*.02*bass, -per_pixel_15=if(equal(q8, line),if(equal(q1%2,1)*below(abs(y-(q1*.5+.5)*.333),.01),0,0), -per_pixel_16=0))); -per_pixel_17=dy = if(equal(q8,nought),0, -per_pixel_18=if(equal(q8, cross),below(dist,.15)*inX*sign(y-cy)*.02*bass, -per_pixel_19=if(equal(q8, line),if(equal(q1%2,0)*below(abs(x-(q1*.5+1)*.333),.01),00,0), -per_pixel_20=0))); -per_pixel_21= -per_pixel_22=dx = -(q5-1)*.1* -per_pixel_23=below(abs(x-(q5*.3333+.166)),.16)*below(abs(y-(q6*.3333+.166)),.16); -per_pixel_24=dy = -(q6-1)*.1* -per_pixel_25=below(abs(x-(q5*.3333+.166)),.16)*below(abs(y-(q6*.3333+.166)),.16); -per_pixel_26= -per_pixel_27=dx = dx+.02*equal(q5,q6)*equal(q5,1)*sign(x-.5)* below(abs(x-(q5*.3333+.166)),.16)*below(abs(y-(q6*.3333+.166)),.1); -per_pixel_28=dy = dy+.02*equal(q5,q6)*equal(q5,1)*sign(y-.5)* below(abs(x-(q5*.3333+.166)),.16)*below(abs(y-(q6*.3333+.166)),.12); -per_frame_init_1=nought=0; -per_frame_init_2=cross=1; -per_frame_init_3=line=2; -per_frame_init_4= -per_frame_init_5= -per_frame_init_6=state = 0; -per_frame_init_7=last = time; -per_frame_init_8=delay = 1; -per_frame_init_9=dd=delay; -per_frame_init_10= diff --git a/presets_milkdrop/Mstress & Zylot - Acid UFO.milk b/presets_milkdrop/Mstress & Zylot - Acid UFO.milk deleted file mode 100755 index 4957a687f1..0000000000 --- a/presets_milkdrop/Mstress & Zylot - Acid UFO.milk +++ /dev/null @@ -1,124 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980001 -fDecay=0.990000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.179297 -fWaveScale=0.491915 -fWaveSmoothing=0.216000 -fWaveParam=-0.420000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.001829 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999005 -sy=0.999005 -wave_r=0.770000 -wave_g=0.600000 -wave_b=0.600000 -wave_x=0.420000 -wave_y=0.500000 -ob_size=0.020000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.250001 -ib_size=0.155000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.270000 -nMotionVectorsX=30.079998 -nMotionVectorsY=0.000000 -mv_dx=0.320000 -mv_dy=0.420000 -mv_l=3.199998 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = min(1,max(0,0.3*bass)); -per_frame_3=wave_g = min(1,max(0,0.3*mid)); -per_frame_4=wave_b = min(1,max(0,0.3*treb)); -per_frame_5= -per_frame_6=//Thanks to Zylot for rainbow generator -per_frame_7=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_8=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_9=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_10=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_11=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_12=ob_r = if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_13=ob_g = if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_14=ob_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_15= -per_frame_16=mbass=max(bass_att,3); -per_frame_17=xmovn = 0.1*rand(10)*mbass*0.015*(1-2*above(rand(10),5)); -per_frame_18=ymovn = pow(pow(mbass*0.015,2)-pow(xmovn,2),1/2)*(1-2*above(rand(10),5)); -per_frame_19=//ymovn=.05; -per_frame_20=xmov = if(beat,xmovn,xmov*.9); -per_frame_21=ymov = if(beat,ymovn,ymov*.9); -per_frame_22=q1=oldx; -per_frame_23=q2=oldy; -per_frame_24=out_x = bor(above(q1+xmov,.9),below(q1+xmov,.1)); -per_frame_25=out_y = bor(above(q2+ymov,.9),below(q2+ymov,.1)); -per_frame_26=xmov = xmov + (-2*xmov*out_x); -per_frame_27=ymov = ymov + (-2*ymov*out_y); -per_frame_28=wave_x = q1+xmov ; -per_frame_29=wave_y = q2+ymov; -per_frame_30=q1=wave_x; -per_frame_31=q2=wave_y; -per_frame_32=oldx = q1; -per_frame_33=oldy = q2; -per_frame_34= -per_frame_35=decay = decay - 0.91*(treble); -per_frame_36= -per_frame_37=//Thanks to krash for beat detection (modified) -per_frame_38=volume = 0.3*bass+mid; -per_frame_39=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_40=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_41=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_42=runmeanbass =(runmeanbass*2 + bass_att)/3; -per_frame_43=peakbass_att = max(bass_att,peakbass_att); -per_frame_44=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_45=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_46=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_47=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_48=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_49=q3=volume+treb; -per_frame_50=monitor =meanbass_att; -per_pixel_1=mx= x-q1; -per_pixel_2=my = y-(1-q2); -per_pixel_3=mrad = pow(pow(mx,2)+pow(my,2),0.5)*pow(2,0.5); -per_pixel_4=cx = q1; -per_pixel_5=cy = 1-q2; -per_pixel_6=rot= rot + below(mrad-0.18,0)*0.5*sin(mrad*40)*(mrad-0.1)*40- above(mrad-0.18,0)*0.3*sin(mrad*2)*(mrad-0.1)*sin((cx-0.5)*(cy-0.5)*6.28)*q3; -per_pixel_7=zoom= zoom - above(mrad-0.18,0)*0.05*mrad*q3; -per_pixel_8=dx = dx +below(mrad-0.18,0)*0.015*(mx/mrad); -per_pixel_9=dy = dy +below(mrad-0.18,0)*0.015*(my/mrad); -per_frame_init_1=oldx=.5; -per_frame_init_2=oldy=.5; diff --git a/presets_milkdrop/Mstress - Acid Universes (Big Bang Interferences Mix).milk b/presets_milkdrop/Mstress - Acid Universes (Big Bang Interferences Mix).milk deleted file mode 100755 index 4339751ef3..0000000000 --- a/presets_milkdrop/Mstress - Acid Universes (Big Bang Interferences Mix).milk +++ /dev/null @@ -1,218 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.380000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=43 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.593334 -wavecode_0_smoothing=0.770000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = 0.5 + 0.5*sin(time*143.21); -wave_0_per_frame1=r = min(1,max(0,(bass-1))); -wave_0_per_frame2=b = 0.5 + 0.5*sin(time*1.561 + 2); -wave_0_per_frame3=g = 0.5 + 0.5*sin(time*1.213 + 4); -wave_0_per_frame4=t1 = 0; -wave_0_per_frame5=t8 = .5; -wave_0_per_point1=x = t8 + value1*0.7; -wave_0_per_point2=y = 0.5 + value2*0.9 ; -wave_0_per_point3=t1 = t1 + 0.01; -wave_0_per_point4=b = x; -wave_0_per_point5=a = 0.5 + 0.5*sin(time + t1*67); -wave_0_per_point6=a = a*a*a; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=x=.22+.7*sin(x*5); -wave_1_per_point2=y=.5+.2*sin(x*19+time); -wave_1_per_point3=a = 1; -wave_1_per_point4=b = .3*bass*1; -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.300000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x = .5+.3*sin(time*2); -shape_0_per_frame2=y = .5+.3*sin(time*1); -shape_0_per_frame3=ang = sin(time*9); -shape_0_per_frame4=a = 1; -shapecode_1_enabled=1 -shapecode_1_sides=32 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_x=0.620000 -shapecode_1_y=0.680000 -shapecode_1_rad=0.080000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.740000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.640000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=rad = rad +.04*bass; -shape_1_per_frame2=r = .1+.7*bass; -shape_1_per_frame3=g = .1+.5*mid; -shape_1_per_frame4=b = .1+.6*treb; -shape_1_per_frame5=x = .5+.2*sin(time); -shape_1_per_frame6=y = .5+.2*cos(sin(time)*1); -shape_1_per_frame7= -shape_1_per_frame8=r2 = r2+.001*bass; -shape_1_per_frame9=g2 = g2+.21*mid; -shape_1_per_frame10=b2 = b2+.21*treb; -shape_1_per_frame11= -shapecode_2_enabled=1 -shapecode_2_sides=32 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.390000 -shapecode_2_y=0.340000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.610000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.520000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=rad = rad +.04*bass; -shape_2_per_frame2=r = .1+.7*bass; -shape_2_per_frame3=g = .1+.5*mid; -shape_2_per_frame4=b = .1+.6*treb; -shape_2_per_frame5= -shape_2_per_frame6=b = .1+.6*treb; -shape_2_per_frame7=x = .5+.2*-1*sin(time); -shape_2_per_frame8=y = .5+.2*cos(sin(time)+3); -shape_2_per_frame9=r2 = r2+.1*bass; -shape_2_per_frame10=g2 = 1;//+.1*mid; -shape_2_per_frame11=b2 = b2+.16*treb; -per_pixel_1=mx= x-.5; -per_pixel_2=my = y-.5; -per_pixel_3=zoom= zoom - above(rad-0.18,0)*0.05*rad*.9; -per_pixel_4=dx = above(rad-(2-bass_att)*.2,0)*0.015*(mx/if(above(rad,0),rad,.1)); -per_pixel_5=dy = above(rad-(2-bass_att)*.2,0)*0.015*(my/if(above(rad,0),rad,.1)); -per_pixel_6= -per_pixel_7= -per_pixel_8=//zoom = zoom-.051*rad; -per_pixel_9=//rot = rot +.1*sin(time); -per_pixel_10=circle = 3*(max(bass-.5,0.4))*rad*rad; -per_pixel_11=q1 = 1.55+0.5*(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_12=zoom = if(above(circle,1),q1*.1,zoom);//1-0.3*log(sqrt(2)-rad)); -per_pixel_13=dx = if(above(circle,1),1.3*sin(x+0.542*time),dx); -per_pixel_14=dy= if(above(circle,1),1.3*sin(y+0.581*time),dy); diff --git a/presets_milkdrop/Mstress - Aurora Boreale.milk b/presets_milkdrop/Mstress - Aurora Boreale.milk deleted file mode 100755 index 1b4f4989a2..0000000000 --- a/presets_milkdrop/Mstress - Aurora Boreale.milk +++ /dev/null @@ -1,170 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.963999 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.000000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.000000 -nMotionVectorsX=28.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=16 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=2.279692 -wavecode_0_smoothing=0.700000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = time; -wave_0_per_frame1=t7 = t8; -wave_0_per_frame2=t8 = time; -wave_0_per_point1=x = 0.5 + sin(sample*10 + time*0.1); -wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); -wave_0_per_point3=b=abs(sin(sample*100+time)); -wave_0_per_point4=r=abs(sin(sample*512+time)); -wave_0_per_point5=g=abs(sin(sample*10+time)); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 diff --git a/presets_milkdrop/Mstress - Curtain.milk b/presets_milkdrop/Mstress - Curtain.milk deleted file mode 100755 index b7b4c9cc83..0000000000 --- a/presets_milkdrop/Mstress - Curtain.milk +++ /dev/null @@ -1,215 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.963999 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.380000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=28.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=16 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=2.279692 -wavecode_0_smoothing=0.700000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = time; -wave_0_per_frame1=t7 = t8; -wave_0_per_frame2=t8 = time; -wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); -wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); -wave_0_per_point3=b=abs(sin(sample*100+time)); -wave_0_per_point4=r=abs(sin(sample*512+time)); -wave_0_per_point5=g=abs(sin(sample*10+time)); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 diff --git a/presets_milkdrop/Mstress - Super nova self control.milk b/presets_milkdrop/Mstress - Super nova self control.milk deleted file mode 100755 index ae665240b7..0000000000 --- a/presets_milkdrop/Mstress - Super nova self control.milk +++ /dev/null @@ -1,77 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.998000 -fDecay=0.993000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.179297 -fWaveScale=0.472722 -fWaveSmoothing=0.027000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.001829 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.004000 -warp=0.010000 -sx=1.000995 -sy=1.000000 -wave_r=0.770000 -wave_g=0.600000 -wave_b=0.600000 -wave_x=0.420000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.570000 -per_frame_1=decay = 0.98; -per_frame_2=wave_x = .5; -per_frame_3=wave_y = .5; -per_frame_4=wave_r = min(.7,max(0,0.2*bass)); -per_frame_5=wave_g = min(.7,max(0,0.2*mid)); -per_frame_6=wave_b = min(.7,max(0,0.2*treb)); -per_frame_7=mv_r = .1+.1*sin(time*.45); -per_frame_8=mv_g = .1+.1*sin(time*.32); -per_frame_9=mv_dy = mv_dy + .11*sin(time*5); -per_pixel_1=mx= x-.5; -per_pixel_2=my = y-.5; -per_pixel_3=zoom= zoom - above(rad-0.18,0)*0.05*rad*.9; -per_pixel_4=dx = above(rad-(2-bass_att)*.2,0)*0.015*(mx/if(above(rad,0),rad,.1)); -per_pixel_5=dy = above(rad-(2-bass_att)*.2,0)*0.015*(my/if(above(rad,0),rad,.1)); diff --git a/presets_milkdrop/Rocke - Answer.42.milk b/presets_milkdrop/Rocke - Answer.42.milk deleted file mode 100755 index 2e2c2a6aa7..0000000000 --- a/presets_milkdrop/Rocke - Answer.42.milk +++ /dev/null @@ -1,67 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.998000 -fDecay=0.993000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=5.900000 -fWaveScale=0.750110 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.961900 -rot=-0.010000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.900000 -wave_g=0.450000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=19.200005 -mv_l=5.000000 -mv_r=0.500000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.100000 -per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); -per_frame_2=wave_g = wave_g + 0.05*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); -per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); -per_frame_4=wave_mystery = 0.5*sin(0.35*bass); -per_frame_5=decay = decay - 0.01*equal(frame%50,0); -per_pixel_1=zoom = zoom + (0.1*rad); -per_pixel_2=rot = rot - 0.15*sin(ang); diff --git a/presets_milkdrop/Rocke - Answer42.milk b/presets_milkdrop/Rocke - Answer42.milk deleted file mode 100755 index 025dd5bfcf..0000000000 --- a/presets_milkdrop/Rocke - Answer42.milk +++ /dev/null @@ -1,67 +0,0 @@ -[preset00] -fRating=5 -fGammaAdj=1.998 -fDecay=0.993 -fVideoEchoZoom=2 -fVideoEchoAlpha=0 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=5.9 -fWaveScale=0.75011 -fWaveSmoothing=0.9 -fWaveParam=0 -fModWaveAlphaStart=0.75 -fModWaveAlphaEnd=0.95 -fWarpAnimSpeed=1 -fWarpScale=2.853 -fZoomExponent=1 -fShader=0 -zoom=0.9619 -rot=-0.01 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=0 -sx=1 -sy=1 -wave_r=0.9 -wave_g=0.45 -wave_b=0 -wave_x=0.5 -wave_y=0.5 -ob_size=0.01 -ob_r=0 -ob_g=0 -ob_b=0 -ob_a=1 -ib_size=0.01 -ib_r=1 -ib_g=1 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=64 -nMotionVectorsY=19.200005 -mv_l=5 -mv_r=0.5 -mv_g=0 -mv_b=1 -mv_a=0.1 -per_frame_1=wave_r = wave_r + 0.1*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); -per_frame_2=wave_g = wave_g + 0.05*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); -per_frame_3=wave_b = wave_b + 0.2*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); -per_frame_4=wave_mystery = 0.5*sin(0.35*bass); -per_frame_5=decay = decay - 0.01*equal(frame%50,0); -per_pixel_1=zoom = zoom + (0.1*rad); -per_pixel_2=rot = rot - 0.15*sin(ang); diff --git a/presets_milkdrop/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk b/presets_milkdrop/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk deleted file mode 100755 index d957f18748..0000000000 --- a/presets_milkdrop/Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk +++ /dev/null @@ -1,89 +0,0 @@ -[preset00] -fRating=3.500000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000400 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.005730 -fWaveScale=0.282090 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=1.489999 -fModWaveAlphaEnd=0.750000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.690737 -fShader=1.000000 -zoom=2.380962 -rot=0.000000 -cx=0.499900 -cy=0.499900 -dx=0.200000 -dy=0.200000 -warp=0.010000 -sx=0.463935 -sy=0.535239 -wave_r=0.000000 -wave_g=1.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.030000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=1.248000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=// che's sensor - alpha -per_frame_2=le=1.4*bass_att+.1*bass+.5*treb; -per_frame_3=pulse=band(above(le,th),above(le-th,block)); -per_frame_4=block=le-th; -per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407, -per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); -per_frame_7= -per_frame_8=cycle=if(pulse,cycle+1,cycle); -per_frame_9=q1=cycle; -per_frame_10= -per_frame_11=wave_r = 0.5 + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); -per_frame_12=wave_g = 0.5+ 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); -per_frame_13=wave_b = 0.5 + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); -per_frame_14=mv_r= 0.5 + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); -per_frame_15=mv_g= 0.5+ 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); -per_frame_16=mv_b= 0.5 + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); -per_frame_17=ib_r=mv_b; -per_frame_18=ib_b=1-mv_g; -per_frame_19=ib_g=wave_r; -per_frame_20=ob_b=mv_r; -per_frame_21=ob_r=0.5*(wave_b + wave_g); -per_frame_22=ob_g=0.5*(wave_r+mv_b); -per_frame_23=zoom = zoom-(0.10-(.5*th+.2*le+pulse))*0.1; -per_frame_24=warp = 0; -per_pixel_1=rot = -ang+sin(q1); -per_pixel_2=zoom = zoom - rot*.08; diff --git a/presets_milkdrop/Rovastar & EvilJim - Bass Tube of Light.milk b/presets_milkdrop/Rovastar & EvilJim - Bass Tube of Light.milk deleted file mode 100755 index cec9fababb..0000000000 --- a/presets_milkdrop/Rovastar & EvilJim - Bass Tube of Light.milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=2.063785 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=0.100406 -fWaveSmoothing=0.000000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r=(bass*treb)*0.1; -per_frame_2=wave_g=(mid*treb)*0.3; -per_frame_3=wave_b=(mid*bass)*0.6; -per_pixel_1=bass_effect=max(max(bass,bass_att)-1.2,0); -per_pixel_2=zoom=if(above(rad,0.05),if(above(rad,0.15),1+rad*0.1,1+rad*2),1+rad*0.1); -per_pixel_3=zoom = zoom + 0.1*bass_effect; diff --git a/presets_milkdrop/Rovastar & Fvese - Dark Subconscious.milk b/presets_milkdrop/Rovastar & Fvese - Dark Subconscious.milk deleted file mode 100755 index fbaaf8ddac..0000000000 --- a/presets_milkdrop/Rovastar & Fvese - Dark Subconscious.milk +++ /dev/null @@ -1,76 +0,0 @@ -[preset00] -fRating=2.500000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.500000 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=1.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.230000 -wave_g=0.200000 -wave_b=0.200000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.200000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.300000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); -per_frame_4=wave_x = 0.5-cos(time+dx_residual)/3.5; -per_frame_5=wave_y = 0.5-cos(time+dy_residual)/2.5; -per_frame_6=cx = cx + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); -per_frame_7=cy = cy + 0.225*( 0.60*sin(0.350*time) + 0.40*sin(0.350*time) ); -per_frame_8=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); -per_frame_9=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); -per_frame_10=dx_residual=max(bass, bass_att)-1; -per_frame_11=dy_residual=min(bass, bass_att)-1; -per_frame_12=dx = if(above(bass_att+bass,2.8),0.25,dx); -per_pixel_1=rot = 0.03*sin(0.84*time)-0.013*cos(0.784*time)+0.02*sin(1-rad); diff --git a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk b/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk deleted file mode 100755 index 08cc460d0e..0000000000 --- a/presets_milkdrop/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk +++ /dev/null @@ -1,204 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.994000 -fDecay=0.965000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.634243 -fWaveSmoothing=0.100000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.004960 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000156 -sx=0.999666 -sy=0.999900 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.380000 -ob_size=0.000000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.100000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.016000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.500000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.000000 -shapecode_0_ang=0.300000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.700000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.500000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=r = q1; -shape_0_per_frame2=b = q2; -shape_0_per_frame3=g = q3; -shape_0_per_frame4=x = .5+sin(q8); -shape_0_per_frame5=y = .5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -per_frame_1=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_2=oldq8 = q8; -per_frame_3=monitor = q8; -per_frame_4=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); -per_frame_5=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); -per_frame_6=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); -per_frame_7=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); -per_frame_8=ib_a = abs(sin(q8*0.9141)); -per_frame_9=slowtime = slowtime+beat*time; -per_frame_10=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); -per_frame_11=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); -per_frame_12=beat = if(above(vol_now,1.5*vol_mean),1,0); -per_frame_13=ib_r = cos(slowtime); -per_frame_14=ib_g = sin(time) ; -per_frame_15=ib_b= cos(slowtime)*sign(cos(slowtime)); -per_frame_16=redneg = if(below(ib_r,0),1,0); -per_frame_17=greenneg = if(below(ib_g,0),1,0); -per_frame_18=blueneg = if(below(ib_b,0),1,0); -per_frame_19=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r); -per_frame_20=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g); -per_frame_21=wave_b = if(blueneg,1 + ib_b, ib_b); -per_frame_22=ib_size = .01*(abs(sin(vol_mean))); -per_frame_23=q5 = sin(slowtime); -per_pixel_1=du = x*2-1 - q1; -per_pixel_2=dv = y*2-1 - q2; -per_pixel_3=dist = sqrt(du*du+dv*dv); -per_pixel_4=ang2 = atan2(du,dv); -per_pixel_5=mult = 0.008/(dist+0.4); -per_pixel_6=dx = mult*sin(ang2-1.5); -per_pixel_7=dy = mult*cos(ang2-1.5); -per_pixel_8=du = x*2-1 - q3; -per_pixel_9=dv = y*2-1 - q4; -per_pixel_10=dist = sqrt(du*du+dv*dv); -per_pixel_11=ang2 = atan2(du,dv); -per_pixel_12=mult = 0.008/(dist+0.4); -per_pixel_13=dx = dx + mult*sin(ang2+1.5); -per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets_milkdrop/Rovastar & Krash - Sweetness & Light.milk b/presets_milkdrop/Rovastar & Krash - Sweetness & Light.milk deleted file mode 100755 index a8fdff139b..0000000000 --- a/presets_milkdrop/Rovastar & Krash - Sweetness & Light.milk +++ /dev/null @@ -1,99 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.550447 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.130000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.731); -per_frame_5=vol = 0.167*(bass+mid+att); -per_frame_6=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_7=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_8=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_9=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_10=xpos = xpos + 0.001*xspeed; -per_frame_11=wave_x = 1.25*xpos + 0.5; -per_frame_12=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_13=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_14=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_16=ypos = ypos + 0.001*yspeed; -per_frame_17=wave_y = 1.25*ypos + 0.5; -per_frame_18=dx = dx + dx_residual; -per_frame_19=dy = dy + dy_residual; -per_frame_20=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_21=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_22=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_23=rot = 0.1; -per_frame_24=q1=xpos +0.25*ypos + 0.5; -per_frame_25=q2=ypos +0.25*xpos + 0.5; -per_pixel_1=cx = (0&(x*10-0.5))*0.1+0.05; -per_pixel_2=cy = (0&(y*10-0.5))*0.1+0.05; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2.41*newrad*(0.5*(0.65-rad)); diff --git a/presets_milkdrop/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk b/presets_milkdrop/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk deleted file mode 100755 index e651dbbb4c..0000000000 --- a/presets_milkdrop/Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk +++ /dev/null @@ -1,68 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.998000 -fDecay=0.996700 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.150351 -fWaveScale=100.000000 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.961900 -rot=-0.010000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=0.905287 -wave_r=0.850000 -wave_g=0.450000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=19.199999 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.100000 -per_frame_1=wave_r = wave_r + 0.15*(0.6*sin(0.933*time) + 0.4*sin(1.072*time)); -per_frame_2=wave_g = wave_g + 0.15*(0.6*sin(0.888*time) + 0.4*sin(0.918*time)); -per_frame_3=wave_b = wave_b + 0.25*(0.6*sin(0.335*time) + 0.4*sin(0.4*time)); -per_frame_4=wave_mystery = 0.5*sin(0.35*bass); -per_frame_5=decay = decay - 0.01*equal(frame%10,0); -per_pixel_1=zoom = zoom + (0.1*(1+rad+0.5*bass)); -per_pixel_2=mymovement = sin(sin(1.211*time)+ 0.3*cos(0.887*time)- 0.4*sin(1.453*time)); -per_pixel_3=rot = rot - 0.15*sin(mymovement-ang); diff --git a/presets_milkdrop/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk b/presets_milkdrop/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk deleted file mode 100755 index 945f637a58..0000000000 --- a/presets_milkdrop/Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk +++ /dev/null @@ -1,110 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006496 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=2.781664 -fWaveScale=0.590116 -fWaveSmoothing=0.360000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=7.523901 -fShader=0.000000 -zoom=1.009898 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.350000 -mv_g=0.350000 -mv_b=0.350000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1)); -per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time))); -per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49)); -per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0); -per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10); -per_frame_7=q1=state; -per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10; -per_frame_9=// timed sidon sensor -per_frame_10=// le = signal level; desired average value = 2 -per_frame_11=le=1.4*bass_att+.1*bass+.5*treb; -per_frame_12=pulse=above(le,th); -per_frame_13=// pulsefreq = running average of interval between last 5 pulses -per_frame_14=pulsefreq=if(equal(pulsefreq,0),2, -per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); -per_frame_16=lastpulse=if(pulse,time,lastpulse); -per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat -per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); -per_frame_19=// hccp = handcicap for th driven by bt -per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), -per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0); -per_frame_22=beat=band(above(le,th+hccp),btblock); -per_frame_23=btblock=1-above(le,th+hccp); -per_frame_24=lastbeat=if(beat,time,lastbeat); -per_frame_25=beatfreq=if(equal(beatfreq,0),2, -per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); -per_frame_27=// th = threshold -per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407, -per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); -per_frame_30=th=if(above(th,6),6,th); -per_frame_31=q3=30/fps; -per_frame_32=ccl=ccl+beat; -per_frame_33=minorccl=minorccl+.01*le; -per_frame_34=q4=beat; -per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter); -per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter); -per_frame_37=beateven = beatcounter%2; -per_frame_38=q5 = beateven; -per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_40=oldq8 = q8; -per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2; -per_pixel_2=cx = grid; -per_pixel_3=cy = grid; -per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07); -per_pixel_5=rot = 0.01*(1-rad); -per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64)); -per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48)); diff --git a/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk b/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk deleted file mode 100755 index 5e73078712..0000000000 --- a/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk +++ /dev/null @@ -1,372 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=0.999838 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=1.000000 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=0.463735 -wavecode_0_smoothing=0.000000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=//pi -wave_0_init2=t8=3.14159265; -wave_0_init3=t5 = 1; -wave_0_per_frame1=rotx = rotx+bass; -wave_0_per_frame2=roty = roty+mid; -wave_0_per_frame3=rotz = rotz+treb; -wave_0_per_frame4=//rotx = 0; -wave_0_per_frame5=//roty =0; -wave_0_per_frame6=//rotz = 0; -wave_0_per_frame7= -wave_0_per_frame8=//convert rotation values from degrees to radians -wave_0_per_frame9=t1= t8*rotx/180; -wave_0_per_frame10=t2 = t8*roty/180; -wave_0_per_frame11=t3 = t8*rotz/180; -wave_0_per_frame12= -wave_0_per_frame13=t4 = 3*sin(time); -wave_0_per_frame14=t5 = 10+8*cos(time); -wave_0_per_frame15= -wave_0_per_frame16=g = 0.5-0.4*cos(time); -wave_0_per_frame17=r = 0.5-0.4*sin(time); -wave_0_per_point1=//Define 3D Shape -wave_0_per_point2= -wave_0_per_point3=//Spiral -wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); -wave_0_per_point5=y1 = 2*(sample-0.5)-value1; -wave_0_per_point6=z1= 0.5*cos(8*t8*sample); -wave_0_per_point7= -wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); -wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); -wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); -wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); -wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); -wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); -wave_0_per_point15=//move resulting shape in 3d space -wave_0_per_point16=x4 = x3+t4; -wave_0_per_point17=y4 = y3; -wave_0_per_point18=z4 = z3+t5; -wave_0_per_point19=//draw 3d shape in 2d -wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_0_per_point22= -wave_0_per_point23=b= r+value1; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=0.463735 -wavecode_1_smoothing=0.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=//pi -wave_1_init2=t8=3.14159265; -wave_1_init3=t5 = 1; -wave_1_per_frame1=rotx = rotx+bass; -wave_1_per_frame2=roty = roty+mid; -wave_1_per_frame3=rotz = rotz+treb; -wave_1_per_frame4=//rotx = 0; -wave_1_per_frame5=//roty =0; -wave_1_per_frame6=//rotz = 0; -wave_1_per_frame7= -wave_1_per_frame8=//convert rotation values from degrees to radians -wave_1_per_frame9=t1= t8*rotx/180; -wave_1_per_frame10=t2 = t8*roty/180; -wave_1_per_frame11=t3 = t8*rotz/180; -wave_1_per_frame12= -wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); -wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); -wave_1_per_frame15= -wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); -wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); -wave_1_per_point1=//Define 3D Shape -wave_1_per_point2= -wave_1_per_point3=//Sphere -wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); -wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); -wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); -wave_1_per_point7= -wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); -wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); -wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); -wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); -wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); -wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); -wave_1_per_point15=//move resulting shape in 3d space -wave_1_per_point16=x4 = x3+t4; -wave_1_per_point17=y4 = y3; -wave_1_per_point18=z4 = z3+t5; -wave_1_per_point19=//draw 3d shape in 2d -wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_1_per_point22= -wave_1_per_point23=r = g+value1; -wavecode_2_enabled=1 -wavecode_2_samples=48 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=0.463735 -wavecode_2_smoothing=0.000000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=//pi -wave_2_init2=t8=3.14159265; -wave_2_init3=t5 = 1; -wave_2_per_frame1=rotx = rotx+bass; -wave_2_per_frame2=roty = roty+mid; -wave_2_per_frame3=rotz = rotz+treb; -wave_2_per_frame4=//rotx = 0; -wave_2_per_frame5=//roty =0; -wave_2_per_frame6=//rotz = 0; -wave_2_per_frame7= -wave_2_per_frame8=//convert rotation values from degrees to radians -wave_2_per_frame9=t1= t8*rotx/180; -wave_2_per_frame10=t2 = t8*roty/180; -wave_2_per_frame11=t3 = t8*rotz/180; -wave_2_per_frame12= -wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); -wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); -wave_2_per_frame15= -wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); -wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); -wave_2_per_point1=//Define 3D Shape -wave_2_per_point2= -wave_2_per_point3=//Zylot's dumb 3d wave -wave_2_per_point4=fvar = sample*512; -wave_2_per_point5=svar = fvar/16; -wave_2_per_point6=tvar = 0&svar; -wave_2_per_point7=newsample = tvar/3.2; -wave_2_per_point8=x1 = sin(newsample*3.1415926*2); -wave_2_per_point9=y1 = cos(newsample*3.1415926*2); -wave_2_per_point10=z1 = 0; -wave_2_per_point11= -wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); -wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); -wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); -wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); -wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); -wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); -wave_2_per_point19=//move resulting shape in 3d space -wave_2_per_point20=x4 = x3; -wave_2_per_point21=y4 = y3; -wave_2_per_point22=z4 = z3+5; -wave_2_per_point23=//draw 3d shape in 2d -wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_2_per_point26= -wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); -wave_2_per_point28=r = if(below(r,0),0,r); -wave_2_per_point29=g = -.5 + sin(sample*5+time*5); -wave_2_per_point30=g = if(below(g,0),0,g); -wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); -wave_2_per_point32=b = if(below(b,0),0,b); -wave_2_per_point33=r = if(above(bass,1.5),1,r); -wave_2_per_point34=g = if(above(bass,1.5),1,g); -wave_2_per_point35=b = if(above(bass,1.5),1,b); -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.530878 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.500000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_0_per_frame2=oldq8 = q8; -shape_0_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_0_per_frame4=rad = rad + sin(q8); -shape_0_per_frame5=r2 = bass; -shape_0_per_frame6=g2 = treb; -shape_0_per_frame7=b2 = mid; -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.022480 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.800000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.300000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_1_per_frame2=oldq8 = q8; -shape_1_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_1_per_frame4=rad = .55; -shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_1_per_frame11=ang = ang-cos(time*.02); -shape_1_per_frame12=x = .5 + .1*sin(q8*.11); -shape_1_per_frame13=y = .5 + .1*sin(q8*.51); -shapecode_2_enabled=1 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.650000 -shapecode_2_y=0.620000 -shapecode_2_rad=0.108925 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.540000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.400000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_2_per_frame2=oldq8 = q8; -shape_2_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_2_per_frame4=rad = .750 + .1*sin(q8*.02); -shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_2_per_frame11=ang = ang+4*sin(q8*.2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_a=0; -per_frame_3=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_4=oldq8 = q8; -per_frame_5=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_6=zoom = 1+.005*q7; diff --git a/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk b/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk deleted file mode 100755 index 9f7cadbc78..0000000000 --- a/presets_milkdrop/Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk +++ /dev/null @@ -1,377 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=8.926910 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=1.000000 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.065000 -mv_r=0.350000 -mv_g=0.350000 -mv_b=0.350000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=0.463735 -wavecode_0_smoothing=0.000000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=//pi -wave_0_init2=t8=3.14159265; -wave_0_init3=t5 = 1; -wave_0_per_frame1=rotx = rotx+bass; -wave_0_per_frame2=roty = roty+mid; -wave_0_per_frame3=rotz = rotz+treb; -wave_0_per_frame4=//rotx = 0; -wave_0_per_frame5=//roty =0; -wave_0_per_frame6=//rotz = 0; -wave_0_per_frame7= -wave_0_per_frame8=//convert rotation values from degrees to radians -wave_0_per_frame9=t1= t8*rotx/180; -wave_0_per_frame10=t2 = t8*roty/180; -wave_0_per_frame11=t3 = t8*rotz/180; -wave_0_per_frame12= -wave_0_per_frame13=t4 = 3*sin(time); -wave_0_per_frame14=t5 = 10+8*cos(time); -wave_0_per_frame15= -wave_0_per_frame16=g = 0.5-0.4*cos(time); -wave_0_per_frame17=r = 0.5-0.4*sin(time); -wave_0_per_point1=//Define 3D Shape -wave_0_per_point2= -wave_0_per_point3=//Spiral -wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); -wave_0_per_point5=y1 = 2*(sample-0.5)-value1; -wave_0_per_point6=z1= 0.5*cos(8*t8*sample); -wave_0_per_point7= -wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); -wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); -wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); -wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); -wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); -wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); -wave_0_per_point15=//move resulting shape in 3d space -wave_0_per_point16=x4 = x3+t4; -wave_0_per_point17=y4 = y3; -wave_0_per_point18=z4 = z3+t5; -wave_0_per_point19=//draw 3d shape in 2d -wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_0_per_point22= -wave_0_per_point23=b= r+value1; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=0.463735 -wavecode_1_smoothing=0.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=//pi -wave_1_init2=t8=3.14159265; -wave_1_init3=t5 = 1; -wave_1_per_frame1=rotx = rotx+bass; -wave_1_per_frame2=roty = roty+mid; -wave_1_per_frame3=rotz = rotz+treb; -wave_1_per_frame4=//rotx = 0; -wave_1_per_frame5=//roty =0; -wave_1_per_frame6=//rotz = 0; -wave_1_per_frame7= -wave_1_per_frame8=//convert rotation values from degrees to radians -wave_1_per_frame9=t1= t8*rotx/180; -wave_1_per_frame10=t2 = t8*roty/180; -wave_1_per_frame11=t3 = t8*rotz/180; -wave_1_per_frame12= -wave_1_per_frame13=t4 = 3*sin(time+0.66*t8); -wave_1_per_frame14=t5 = 10+8*cos(time+0.66*t8); -wave_1_per_frame15= -wave_1_per_frame16=b = 0.5-0.4*cos(time+0.66*t8); -wave_1_per_frame17=g = 0.5-0.4*sin(time+0.66*t8); -wave_1_per_point1=//Define 3D Shape -wave_1_per_point2= -wave_1_per_point3=//Sphere -wave_1_per_point4=x1 = (1+value1)*sin(t8*sample)*sin(16*t8*sample); -wave_1_per_point5=y1 = (1+value1)*cos(t8*sample); -wave_1_per_point6=z1= (1+value1)*sin(t8*sample)*cos(16*t8*sample); -wave_1_per_point7= -wave_1_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_1_per_point9=y2 = y1*cos(t1)-z1*sin(t1); -wave_1_per_point10=z2 = y1*sin(t1)+z1*cos(t1); -wave_1_per_point11=x2 = z2*sin(t2)+x1*cos(t2); -wave_1_per_point12=z3 = z2*cos(t2)-x1*sin(t2); -wave_1_per_point13=x3 = x2*cos(t3)-y2*sin(t3); -wave_1_per_point14=y3 = y2*cos(t3)+x2*sin(t3); -wave_1_per_point15=//move resulting shape in 3d space -wave_1_per_point16=x4 = x3+t4; -wave_1_per_point17=y4 = y3; -wave_1_per_point18=z4 = z3+t5; -wave_1_per_point19=//draw 3d shape in 2d -wave_1_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_1_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_1_per_point22= -wave_1_per_point23=r = g+value1; -wavecode_2_enabled=1 -wavecode_2_samples=48 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=0.463735 -wavecode_2_smoothing=0.000000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=//pi -wave_2_init2=t8=3.14159265; -wave_2_init3=t5 = 1; -wave_2_per_frame1=rotx = rotx+bass; -wave_2_per_frame2=roty = roty+mid; -wave_2_per_frame3=rotz = rotz+treb; -wave_2_per_frame4=//rotx = 0; -wave_2_per_frame5=//roty =0; -wave_2_per_frame6=//rotz = 0; -wave_2_per_frame7= -wave_2_per_frame8=//convert rotation values from degrees to radians -wave_2_per_frame9=t1= t8*rotx/180; -wave_2_per_frame10=t2 = t8*roty/180; -wave_2_per_frame11=t3 = t8*rotz/180; -wave_2_per_frame12= -wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); -wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); -wave_2_per_frame15= -wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); -wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); -wave_2_per_point1=//Define 3D Shape -wave_2_per_point2= -wave_2_per_point3=//Zylot's dumb 3d wave -wave_2_per_point4=fvar = sample*512; -wave_2_per_point5=svar = fvar/16; -wave_2_per_point6=tvar = 0&svar; -wave_2_per_point7=newsample = tvar/3.2; -wave_2_per_point8=x1 = sin(newsample*3.1415926*2); -wave_2_per_point9=y1 = cos(newsample*3.1415926*2); -wave_2_per_point10=z1 = 0; -wave_2_per_point11= -wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); -wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); -wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); -wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); -wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); -wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); -wave_2_per_point19=//move resulting shape in 3d space -wave_2_per_point20=x4 = x3; -wave_2_per_point21=y4 = y3; -wave_2_per_point22=z4 = z3+5; -wave_2_per_point23=//draw 3d shape in 2d -wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_2_per_point26= -wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); -wave_2_per_point28=r = if(below(r,0),0,r); -wave_2_per_point29=g = -.5 + sin(sample*5+time*5); -wave_2_per_point30=g = if(below(g,0),0,g); -wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); -wave_2_per_point32=b = if(below(b,0),0,b); -wave_2_per_point33=r = if(above(bass,1.5),1,r); -wave_2_per_point34=g = if(above(bass,1.5),1,g); -wave_2_per_point35=b = if(above(bass,1.5),1,b); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.530878 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.500000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=rad = rad + sin(q8); -shape_0_per_frame2=r2 = bass; -shape_0_per_frame3=g2 = treb; -shape_0_per_frame4=b2 = mid; -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.022480 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.800000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.300000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=rad = .55; -shape_1_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_1_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_1_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_1_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_1_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_1_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_1_per_frame8=ang = ang-cos(time*.02); -shape_1_per_frame9=x = .5 + .1*sin(q8*.11); -shape_1_per_frame10=y = .5 + .1*sin(q8*.51); -shapecode_2_enabled=1 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.650000 -shapecode_2_y=0.620000 -shapecode_2_rad=0.108925 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.540000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.400000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=rad = .750 + .1*sin(q8*.02); -shape_2_per_frame2=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_2_per_frame3=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_2_per_frame4=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_2_per_frame5=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_2_per_frame6=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_2_per_frame7=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_2_per_frame8=ang = ang+4*sin(q8*.2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_a=0; -per_frame_3=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_4=oldq8 = q8; -per_frame_5=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_6=zoom = 1+.005*q7; -per_frame_7=echo_zoom = 3 + q7; diff --git a/presets_milkdrop/Rovastar - A Million Miles From Earth (Drift Mix).milk b/presets_milkdrop/Rovastar - A Million Miles From Earth (Drift Mix).milk deleted file mode 100755 index 15a7a86546..0000000000 --- a/presets_milkdrop/Rovastar - A Million Miles From Earth (Drift Mix).milk +++ /dev/null @@ -1,88 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.098609 -fWaveSmoothing=0.500000 -fWaveParam=0.640000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.999996 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.004500 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=1.000000 -ib_g=0.600000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.400000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=warp = 0; -per_frame_2=ib_r = 0.6 + 0.4*sin(time*0.894); -per_frame_3=ib_g = 0.43 + 0.13*sin(time*7.143); -per_frame_4=ib_b = 0.5+ 0.33*sin(time*0.465); -per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_frame_8=dx = 1.1* dx_r; -per_frame_9=dy = 1.1* dy_r; -per_frame_10=dx = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); -per_frame_11=dy = if(above(bass,1.3), 0, dy); -per_frame_12=mv_l =10000; -per_frame_13=mv_y =2.0; -per_frame_14=mv_dy = -0.1; -per_frame_15=mv_r =0.7+0.148*(ib_r+ib_b); -per_frame_16=mv_b =1-0.2*(ib_r+ib_b); -per_frame_17=mv_g =0.6+ 0.19*(ib_g+ib_r); -per_frame_18=zoom = zoom -0.02*thresh; -per_frame_19=wave_r = ib_r; -per_frame_20=wave_b = ib_b; -per_frame_21=wave_g = ib_g; -per_pixel_1=q1 = below(sqrt(rad-1),0.3); -per_pixel_2=zoom = if(q1,zoom -.9,zoom); -per_pixel_3=rot = if(q1,rot,rot*rot*rad); -per_pixel_4=cx = if(q1,2,0.5); diff --git a/presets_milkdrop/Rovastar - Braindance 1.milk b/presets_milkdrop/Rovastar - Braindance 1.milk deleted file mode 100755 index 5a6337a8dc..0000000000 --- a/presets_milkdrop/Rovastar - Braindance 1.milk +++ /dev/null @@ -1,62 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.925000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.297568 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.489000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=colour = sin(time*1.2)/2 + 0.5; -per_frame_2=wave_g = 1-colour; -per_frame_3=wave_b =0.9 + sin(time/3)/10; -per_frame_4=wave_r = colour; -per_pixel_1=sy= if(below(y,0.47),if(above(y,0.03),pow(log(ang*time),3)/4,-4),1.1); -per_pixel_2=zoom = 1 + sin(rad)/10; diff --git a/presets_milkdrop/Rovastar - Bytes.milk b/presets_milkdrop/Rovastar - Bytes.milk deleted file mode 100755 index 3f24e9d0bc..0000000000 --- a/presets_milkdrop/Rovastar - Bytes.milk +++ /dev/null @@ -1,62 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.931000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.394148 -fWaveScale=0.627609 -fWaveSmoothing=0.108000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070500 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.000000 -wave_y=0.030000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.059900 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=wave_r = 0.4- sin(1.2*time)/3; -per_frame_2=wave_b = 0.55 + sin(time)/3; -per_frame_3=wave_g = 0.5 - cos(2*time)/4; -per_pixel_1=dx = if(above(y,0.1),0.03*log(x*y)*-0.8,0.03*log(ang)); -per_pixel_2=zoom = rad*x/10 +1; -per_pixel_3=sy= 1+(x)/10; diff --git a/presets_milkdrop/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk b/presets_milkdrop/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk deleted file mode 100755 index 1cdd51d0b3..0000000000 --- a/presets_milkdrop/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk +++ /dev/null @@ -1,92 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.640100 -fWaveSmoothing=0.270000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.010000 -fShader=0.000000 -zoom=0.996546 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.960000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.900000 -ob_b=0.200000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); -per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); -per_frame_4=cx = cx - 0.1*sin(time*0.542); -per_frame_5=cy = cy + 0.1*sin(time*0.753); -per_frame_6=warp =0; -per_frame_7=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_8=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_9=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_11=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_12=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_14=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_15=lastbeat = if(beat,time,lastbeat); -per_frame_16=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_17=q5 = if(beat,0.1*rand(1000),oldq5); -per_frame_18=oldq5 = q5; -per_frame_19=q3 = if(beat,0.1*rand(1000),oldq3); -per_frame_20=oldq3 = q3; -per_frame_21=my_ib_size = 0.01+abs(0.01*sin(0.1*rand(1000))); -per_frame_22=ib_size = if(beat,my_ib_size,old_ib_size); -per_frame_23=old_ib_size = ib_size; -per_frame_24=ib_r = ib_r + 0.5*sin(time*3.934); -per_frame_25=ib_g = ib_g + 0.5*sin(time*1.547); -per_frame_26=ib_b = ib_b - 0.5*sin(time*1.431); -per_pixel_1=box=abs(x*2-sin(q3))%2 + abs(y*2+sin(q5))%2; -per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_3=zoom = if(above(box,1),q1*.1,zoom*0.95); -per_pixel_4=rot = if(above(box,1),sin(0.885*time),0); -per_pixel_5=dx = if(above(box,1),sin(0.542*time),0); -per_pixel_6=dy= if(above(box,1),sin(0.581*time),0); diff --git a/presets_milkdrop/Rovastar - Harlequin's Liquid Dragon.milk b/presets_milkdrop/Rovastar - Harlequin's Liquid Dragon.milk deleted file mode 100755 index 68d149134a..0000000000 --- a/presets_milkdrop/Rovastar - Harlequin's Liquid Dragon.milk +++ /dev/null @@ -1,92 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.640100 -fWaveSmoothing=0.270000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.010000 -fShader=0.000000 -zoom=0.998531 -rot=0.002000 -cx=0.692000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.960000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.900000 -ob_b=0.200000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*1.701)+ 0.3*cos(time*0.438)); -per_frame_2=ob_g = 0.5- 0.4*sin(time*1.724); -per_frame_3=ob_b = 0.5 - 0.35*cos(time*1.196); -per_frame_4=warp =0; -per_frame_5=ib_size = 0.02; -per_frame_6=ib_r = ib_r + 0.5*sin(time*3.034); -per_frame_7=ib_g = ib_g + 0.5*sin(time*2.147); -per_frame_8=ib_b = ib_b - 0.5*sin(time*3.431); -per_frame_9=dx = dx -0.005*sin(time*0.23); -per_frame_10=dy = dy - 0.005*sin(time*0.2); -per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); -per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); -per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_17=xpos = xpos + 0.001*xspeed; -per_frame_18=q2 = xpos; -per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); -per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_24=ypos = ypos + 0.001*yspeed; -per_frame_25=q4 = ypos; -per_frame_26=q5 = max(max(bass,bass_att)-1.2,0); -per_pixel_1=box =0.5+0.8*(2*x%2+2*y%2); -per_pixel_2=q1 = 2*q5+7.7+0.3*(sin(pow(x,3)+0.137*time)-cos(pow(y,3)+0.213*time)); -per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); -per_pixel_4=rot = if(above(box,1),0.5*sin(0.5*rad+0.385*time),rot); -per_pixel_5=cx = cx - 0.5*sin(rad+2*q4); -per_pixel_6=cy = cy + 0.11*sin((sqrt(2)-rad)-18*q2); diff --git a/presets_milkdrop/Rovastar - Harlequin's Living Wall.milk b/presets_milkdrop/Rovastar - Harlequin's Living Wall.milk deleted file mode 100755 index 7b4b8e2b2a..0000000000 --- a/presets_milkdrop/Rovastar - Harlequin's Living Wall.milk +++ /dev/null @@ -1,103 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=28.249470 -fWaveScale=0.010000 -fWaveSmoothing=0.270000 -fWaveParam=0.050000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.010000 -fShader=0.000000 -zoom=0.998531 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.900000 -ob_b=0.200000 -ob_a=1.000000 -ib_size=0.025000 -ib_r=0.200000 -ib_g=0.200000 -ib_b=0.200000 -ib_a=1.000000 -nMotionVectorsX=1.024000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=1.000000 -per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=ob_g = 0.5- 0.4*sin(time*1.324); -per_frame_3=warp =0; -per_frame_4=ib_r = ib_r + 0.2*sin(time*1.034); -per_frame_5=ib_g = ib_g + 0.2*sin(time*1.147); -per_frame_6=ib_b = ib_b - 0.2*sin(time*1.231); -per_frame_7=wave_r = 0.5 + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_8=wave_b = 0.5 -0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522)); -per_frame_9=wave_g = 0.5+0.4*sin(time*1.731); -per_frame_10=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_11=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_12=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_13=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_14=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_15=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_16=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_17=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_18=lastbeat = if(beat,time,lastbeat); -per_frame_19=countertime = if(beat,time,countertime); -per_frame_20=counter =-1*pow(min((time-countertime-3.7),0),3); -per_frame_21=q3=oldq3+0.002*counter; -per_frame_22=oldq3 =q3; -per_frame_23=monitor = q3; -per_frame_24=cx = cx - 0.4*sin(q3*0.542); -per_frame_25=cy = cy + 0.4*sin(q3*0.753); -per_frame_26=wave_b = 0.45 - 0.3*cos(q3*3.916); -per_frame_27=mv_dx = sin(0.4*q3)*0.125; -per_frame_28=mv_dy =-cos(0.4*q3)*0.1; -per_frame_29=mv_l = (12*sin(q3*1.63)); -per_frame_30=monitor = mv_x; -per_frame_31=mv_x = 1.25; -per_frame_32=mv_y =1.25; -per_pixel_1=circle = 5*rad*rad*rad; -per_pixel_2=q1 = 1.3+0.1*rad+0.5*(sin(0.3*pow(x,4)+x+0.3*q3+3*x*dx - 4*x*dy )-cos(0.2*pow(y,4)+y+q3+ 2*y*rot - 2*y*(1-sy) + (1-sx))); -per_pixel_3=zoom = if(above(circle,1),q1*.1,1-0.4*log(sqrt(2)-rad)); -per_pixel_4=dx = if(above(circle,1),1.3*sin(rot+0.75*x+0.942*q3),0); -per_pixel_5=dy= if(above(circle,1),1.3*sin(cx+0.75*y+1.081*q3),0); -per_pixel_6=rot = if(above(circle,1),0.4*sin(dx+rad+(x*y)+0.812*q3),0.01*rad); -per_pixel_7=sy = if(above(circle,1),1+0.03*sin(dy-rad+(x+y)+1.21*q3),1); -per_pixel_8=sx = if(above(circle,1),1+0.03*sin(cy+rad+(x-y)+1.33*q3),1); diff --git a/presets_milkdrop/Rovastar - Intense Desire.milk b/presets_milkdrop/Rovastar - Intense Desire.milk deleted file mode 100755 index 56e261d0f1..0000000000 --- a/presets_milkdrop/Rovastar - Intense Desire.milk +++ /dev/null @@ -1,118 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.325447 -fWaveSmoothing=0.500000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.999996 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.577000 -ob_size=0.009500 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.015000 -ib_r=1.000000 -ib_g=0.600000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.400000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=warp = 0; -per_frame_2=ib_r = 0.6 + 0.4*sin(time*0.894); -per_frame_3=ib_g = 0.43 + 0.13*sin(time*7.143); -per_frame_4=ib_b = 0.5+ 0.33*sin(time*0.465); -per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_frame_8=cx = dx_r*10 + 0.5; -per_frame_9=cy = dy_r*10 + 0.5; -per_frame_10=q4=cy; -per_frame_11=mv_l =40; -per_frame_12=mv_y =2.0; -per_frame_13=mv_dy = -0.1; -per_frame_14=mv_r =0.7+0.148*(ib_r+ib_b); -per_frame_15=mv_b =1-0.2*(ib_r+ib_b); -per_frame_16=mv_g =0.6+ 0.19*(ib_g+ib_r); -per_frame_17=zoom = zoom -0.01*thresh; -per_frame_18=wave_r = 1-ib_r; -per_frame_19=wave_b = 1-ib_b; -per_frame_20=wave_g = 1-ib_g; -per_frame_21=ob_r = 1-ib_g; -per_frame_22=ob_b = 0.5*(ib_r+ib_g); -per_frame_23=vol = 0.167*(bass+mid); -per_frame_24=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_25=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_26=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_27=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_28=xpos = xpos + 0.001*xspeed; -per_frame_29=dx = 0.025*xpos; -per_frame_30=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_31=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_32=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_33=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_34=ypos = ypos + 0.001*yspeed; -per_frame_35=dy = 0.025*ypos; -per_frame_36=q1= 0.5*(ypos+xpos); -per_frame_37=q2 = ypos; -per_pixel_1=rot =0.6* q1*(1-rad); -per_pixel_2=rot =rot+ 0.1* q2*(1-rad); -per_pixel_3=du = x*2-1 - 0.7; -per_pixel_4=dv = y*2-1 + 0.5; -per_pixel_5=dist = sqrt(du*du+dv*dv); -per_pixel_6=ang2 = atan2(du,dv); -per_pixel_7=mult = 0.008/(dist+0.4); -per_pixel_8=dx = mult*sin(ang2-1.5); -per_pixel_9=dy = mult*cos(ang2-1.5); -per_pixel_10=du = x*2-1 - 0.7; -per_pixel_11=dv = y*2-1 - 0.5; -per_pixel_12=dist = sqrt(du*du+dv*dv); -per_pixel_13=ang2 = atan2(du,dv); -per_pixel_14=mult = 0.008/(dist+0.4); -per_pixel_15=dx = dx + mult*sin(ang2+1.5); -per_pixel_16=dy = dy + mult*cos(ang2+1.4); -per_pixel_17=dy = dy - if(below(y, 0.65), if(above(y, 0.35), 0.1*(x*y-0.5) + 0.5*(q4-0.4), 0), 0); -per_pixel_18=dx = dx - if(above(dx,-0.01), if(below(dx,0), 0.006, 0), 0); diff --git a/presets_milkdrop/Rovastar - Jester's Calling 2.milk b/presets_milkdrop/Rovastar - Jester's Calling 2.milk deleted file mode 100755 index 6b09829aab..0000000000 --- a/presets_milkdrop/Rovastar - Jester's Calling 2.milk +++ /dev/null @@ -1,119 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=0.999836 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.750000 -fWaveParam=0.500100 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.500000 -ib_size=0.005000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.300000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=warp=0; -per_frame_2=vol = 0.167*(bass+mid); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*xspeed; -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*yspeed; -per_frame_13=ib_r = ib_r + 2*sin(time*4.132)*xpos; -per_frame_14=ib_b = ib_b + 2*sin(time*4.042)*ypos; -per_frame_15=ib_g = ib_g + 0.3*sin(time*0.631);; -per_frame_16=ob_g = beat*treb*0.5; -per_frame_17=ob_a = 0.5 + 0.5*beat; -per_frame_18=ob_size = ob_size + 0.01*beat; -per_frame_19=mv_dx =0.15* xpos; -per_frame_20=mv_dy = 0.15*ypos; -per_frame_21=mv_l = 0.15; -per_frame_22=mv_r = 1 - ib_r; -per_frame_23=mv_b = 1-ib_g; -per_frame_24=mv_g = 1-ib_b; -per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_30=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_33=lastbeat = if(beat,time,lastbeat); -per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0); -per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*rand(500),Old_Eff_size); -per_frame_37=Old_Eff_size =Eff_size; -per_frame_38=q5 = Eff_size; -per_frame_39=mv_l = if(Eff_test,q5*3,mv_l); -per_frame_40=q6 = 3*xpos; -per_frame_41=q4 = 3*ypos; -per_frame_42=decay = decay + if(Eff_test,0,0.04); -per_frame_43=wave_r = 1-ib_g; -per_frame_44=wave_g = 1-ib_b; -per_frame_45=wave_b = 1-ib_b; -per_pixel_1=q1 = 0.4*rad; -per_pixel_2=q2= (0.3*rad); -per_pixel_3=q3 = below(rad,0.1*q5+ 0.3); -per_pixel_4=q7 =if(q3,0,10 + int(1*(rad))); -per_pixel_5=q8 =if(q3,0,10 + int(1*(rad))); -per_pixel_6=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); -per_pixel_7=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2); -per_pixel_8=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy); -per_pixel_9=zoom = if(q3,0.3+0.1*q5+ 0.5*q4,zoom); -per_frame_init_1=Eff_test =1; -per_frame_init_2=Eff_size = 400; diff --git a/presets_milkdrop/Rovastar - Jester's Calling 3.milk b/presets_milkdrop/Rovastar - Jester's Calling 3.milk deleted file mode 100755 index 6927751b48..0000000000 --- a/presets_milkdrop/Rovastar - Jester's Calling 3.milk +++ /dev/null @@ -1,120 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.994000 -fDecay=0.930000 -fVideoEchoZoom=0.999834 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.197884 -fWaveSmoothing=0.750000 -fWaveParam=0.500100 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.600000 -ib_size=0.005000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.300000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=warp=0; -per_frame_2=vol = 0.167*(bass+mid); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*xspeed; -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*yspeed; -per_frame_13=ib_r = ib_r + 2.3*sin(time*4.132)*xpos; -per_frame_14=ib_b = ib_b + 2.3*sin(time*3.547)*ypos; -per_frame_15=ib_g = ib_g + 0.499*sin(time*0.631);; -per_frame_16=ob_g = beat*treb*0.5; -per_frame_17=ob_a = 0.5 + 0.5*beat; -per_frame_18=ob_size = ob_size + 0.01*beat; -per_frame_19=mv_dx =0.15* xpos; -per_frame_20=mv_dy = 0.15*ypos; -per_frame_21=mv_l = 0.15; -per_frame_22=mv_r = 1 - ib_r; -per_frame_23=mv_b = 1-ib_g; -per_frame_24=mv_g = 1-ib_b; -per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_30=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_33=lastbeat = if(beat,time,lastbeat); -per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0); -per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*rand(500),Old_Eff_size); -per_frame_37=Old_Eff_size =Eff_size; -per_frame_38=q5 = Eff_size; -per_frame_39=mv_l = if(Eff_test,q5*3,mv_l); -per_frame_40=q6 = 3*xpos; -per_frame_41=q4 = 3*ypos; -per_frame_42=decay = decay + if(Eff_test,0,0.07); -per_frame_43=wave_r = 1-ib_g; -per_frame_44=wave_g = 1-ib_b; -per_frame_45=wave_b = 1-ib_b; -per_pixel_1=q1 = 0.4*((sqrt(2)*0.5)-rad); -per_pixel_2=q3 = below(rad,0.1*q5+ 0.3); -per_pixel_3=q7 =if(q3,0,12 + int(3*(rad))); -per_pixel_4=q8 =if(q3,0,10 + int(1*(rad))); -per_pixel_5=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1); -per_pixel_6=cy =if(q3,0.5,(0&(y*q8-0.3*rad))*(1/(q8-0.3*rad))+0.1*(0.3*rad)); -per_pixel_7=rot = if(q3,2*q6*rad,0.1*(0.5*sqrt(2)-rad)- 0.1*bass_att-0.02*cx*cy); -per_pixel_8=zoomexp = if(q3,0.6+0.1*q5+ 0.5*q4,zoomexp); -per_pixel_9=zoom = zoomexp-0.005*(rad); -per_pixel_10=dx = if(q3,0,-0.0015*bass); -per_frame_init_1=Eff_test =1; -per_frame_init_2=Eff_size = 400; diff --git a/presets_milkdrop/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk b/presets_milkdrop/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk deleted file mode 100755 index 0d3c956b01..0000000000 --- a/presets_milkdrop/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk +++ /dev/null @@ -1,86 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.500000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.999996 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.980000 -ob_size=0.014500 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.015000 -ib_r=1.000000 -ib_g=0.600000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.400000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=warp = 0; -per_frame_2=ib_r = 0.6 + 0.4*sin(time*3.894); -per_frame_3=ib_g = 0.43 + 0.13*sin(time*1.143); -per_frame_4=ib_b = 0.5+ 0.33*sin(time*3.465); -per_frame_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_frame_6=dx_r = equal(thresh,2)*0.004*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_frame_7=dy_r = equal(thresh,2)*0.004*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_frame_8=dx = 1.1* dx_r; -per_frame_9=dy = 1.1* dy_r; -per_frame_10=q2 = dx + if(above(bass+bass_att,2.6), 11*dx_r, 0); -per_frame_11=mv_l =10000; -per_frame_12=mv_y =2.0; -per_frame_13=mv_dy = -0.1; -per_frame_14=mv_r =0.7+0.148*(ib_r+ib_b); -per_frame_15=mv_b =1-0.2*(ib_r+ib_b); -per_frame_16=mv_g =0.6+ 0.19*(ib_g+ib_r); -per_frame_17=zoom = zoom -0.02*thresh; -per_frame_18=wave_r = ib_r; -per_frame_19=wave_b = ib_b; -per_frame_20=wave_g = ib_g; -per_frame_21=ob_r = 1-ib_g; -per_frame_22=ob_b = 0.5*(ib_r+ib_g); -per_pixel_1=rot = q2*(rad)*20; diff --git a/presets_milkdrop/Rovastar - Paradigm Sphere.milk b/presets_milkdrop/Rovastar - Paradigm Sphere.milk deleted file mode 100755 index 4b7b7bd51b..0000000000 --- a/presets_milkdrop/Rovastar - Paradigm Sphere.milk +++ /dev/null @@ -1,94 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.700000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=0.018000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.015000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.950000 -ib_g=0.850000 -ib_b=0.650000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = 0.5 + sin(time/3)/2; -per_frame_2=wave_b = 0.5+ 0.5*sin(time*47); -per_frame_3=wave_g = 0.65 + sin(time*0.23)/10; -per_frame_4=bass_effect = max(0,max(bass_att,bass)-1.2); -per_frame_5=treb_effect = max(0,max(treb_att,treb)-1.3); -per_frame_6=ob_r = 1-wave_r; -per_frame_7=ob_g = 1-wave_g; -per_frame_8=ob_b = 1-wave_b; -per_frame_9=ib_r = 0.75 + 0.25*sin(time*0.4); -per_frame_10=ib_g = 0.25 + 0.25*cos(time*0.87); -per_frame_11=ib_b = 0.5+0.5*sin(1.23*time); -per_frame_12=dx = sin(time*0.895); -per_frame_13=dy = sin(time*1.242); -per_frame_14=q6 = bass_effect; -per_frame_15=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att); -per_frame_16=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg); -per_frame_17=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_18=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_19=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_20=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_21=xpos = xpos + 0.001*xspeed; -per_frame_22=dx = 3*xpos; -per_frame_23=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg); -per_frame_24=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_25=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_26=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_27=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_28=ypos = ypos + 0.001*yspeed; -per_frame_29=dy = 3*ypos; -per_pixel_1=myzoom = log(sqrt(2)-rad) -0.05; -per_pixel_2=zoom = if(above(rad,0.4),myzoom,0.5+1.1*rad); diff --git a/presets_milkdrop/Rovastar - Power Trip.milk b/presets_milkdrop/Rovastar - Power Trip.milk deleted file mode 100755 index 4aa7e50f76..0000000000 --- a/presets_milkdrop/Rovastar - Power Trip.milk +++ /dev/null @@ -1,88 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.975000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.799885 -fWaveSmoothing=0.153000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070549 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.400000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.650000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp =0; -per_frame_2=wave_r = sin(time*0.561)*0.5+0.5; -per_frame_3=wave_g = cos(time*0.431)*0.5+0.5; -per_frame_4=wave_b = cos(time*0.531)*0.5+0.5; -per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_13=lastbeat = if(beat,time,lastbeat); -per_frame_14=countertime = if(beat,time,countertime); -per_frame_15=counter =-1*pow(min((time-countertime-3),0),3); -per_frame_16=q1=oldq1+0.003*counter; -per_frame_17=oldq1 =q1; -per_frame_18=monitor=q1; -per_frame_19=ib_r = 0.5 +0.5*sin(q1); -per_frame_20=ib_g = 0.5 + 0.5*cos(beat+0.1*q1); -per_frame_21=ob_r = wave_r; -per_pixel_1=atime = q1; -per_pixel_2=rot=0.1*pow(tan((ang-3.14*atime+rad)),3); -per_pixel_3=zoom = 1- 0.05*(1-rad); -per_frame_init_1=q1=1; diff --git a/presets_milkdrop/Rovastar - Ritual Of Life.milk b/presets_milkdrop/Rovastar - Ritual Of Life.milk deleted file mode 100755 index afcdd32efd..0000000000 --- a/presets_milkdrop/Rovastar - Ritual Of Life.milk +++ /dev/null @@ -1,61 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.197884 -fWaveSmoothing=0.630000 -fWaveParam=-0.046000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=mycolour = sin(time*7)/2+0.5; -per_frame_2=wave_r = mycolour; -per_frame_3=wave_g = 1- mycolour; -per_frame_4=wave_b = sin(time*0.7)/2+0.5; -per_pixel_1=zoom = if(below(rad,0.2),0.31+sin(rad-time)/5,if(above(rad,0.4),1.6+ sin(1-rad)/10,0.95 +sin(rad)/10)); diff --git a/presets_milkdrop/Rovastar - Sea Life (Evoluation Mix).milk b/presets_milkdrop/Rovastar - Sea Life (Evoluation Mix).milk deleted file mode 100755 index 9f3c13c051..0000000000 --- a/presets_milkdrop/Rovastar - Sea Life (Evoluation Mix).milk +++ /dev/null @@ -1,76 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.781787 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.570000 -wave_y=0.470000 -ob_size=0.005000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=0.000000 -mv_dx=-0.150000 -mv_dy=-0.034000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=1.000000 -per_frame_1=wave_r = wave_r + 0.5*sin(time*1.8341); -per_frame_2=wave_b = wave_b + 0.5*sin(time*1.8011); -per_frame_3=wave_b = wave_b + 0.5*sin(time*1.7221); -per_frame_4=ob_g = 0.5 + 0.5*sin(time*1.144); -per_frame_5=ob_r = 0.5+0.5*sin(time*3.156); -per_frame_6=ob_b = bass; -per_frame_7=mv_x = 1.25; -per_frame_8=mv_y = 1.25; -per_pixel_1=cx = if(above(rad,0.3),0.5,0.3); -per_pixel_2=rot = if(above(rad,0.3),(bass_att+bass)*0.02,0.1); -per_pixel_3=//rot = bass*0.051; -per_pixel_4=zoom = 1 -.001*rad; -per_frame_init_1=decay =0.01; diff --git a/presets_milkdrop/Rovastar - Sea Life.milk b/presets_milkdrop/Rovastar - Sea Life.milk deleted file mode 100755 index c40913ff44..0000000000 --- a/presets_milkdrop/Rovastar - Sea Life.milk +++ /dev/null @@ -1,72 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.781787 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=8.000000 -nMotionVectorsY=4.320000 -mv_dx=-0.136000 -mv_dy=-0.012000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=1.000000 -per_frame_1=wave_r = wave_r + 0.5*sin(time*1.341); -per_frame_2=wave_b = wave_b + 0.5*sin(time*1.011); -per_frame_3=wave_b = wave_b + 0.5*sin(time*1.221); -per_frame_4=mv_x = 1.25; -per_frame_5=mv_y = 1.25; -per_pixel_1=cx = if(above(rad,0.3),0.5,0.3); -per_pixel_2=rot = if(above(rad,0.3),bass*0.05,0.1); -per_pixel_3=//rot = bass*0.051; -per_frame_init_1=decay =0.01; diff --git a/presets_milkdrop/Rovastar - Shadows Portal.milk b/presets_milkdrop/Rovastar - Shadows Portal.milk deleted file mode 100755 index dcf9b2c902..0000000000 --- a/presets_milkdrop/Rovastar - Shadows Portal.milk +++ /dev/null @@ -1,64 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.707700 -fWaveSmoothing=0.810000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070549 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=wave_g = cos(7*time/2)/5+0.5; -per_frame_2=wave_r = 0.5-sin(time)/3; -per_frame_3=wave_b = 0.4+cos(3*time/2)/4; -per_frame_4=wave_mystery = sin(time); -per_frame_5=decay =min(0.925+(bass/25),0.98); -per_pixel_1=rot=(2*abs((sin(-rad/20)-0.5))+(rad)/2)/4-abs(sin(ang))/10; -per_pixel_2=zoom = sin(rad)+rot+0.65; -per_pixel_3=sx = 1- rot/20+zoom/40; diff --git a/presets_milkdrop/Rovastar - Trippy S..milk b/presets_milkdrop/Rovastar - Trippy S..milk deleted file mode 100755 index 46f06716d6..0000000000 --- a/presets_milkdrop/Rovastar - Trippy S..milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.525090 -fWaveSmoothing=0.360000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070549 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ff = frame/100; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = cos(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets_milkdrop/Rovastar - Trippy S.milk b/presets_milkdrop/Rovastar - Trippy S.milk deleted file mode 100755 index d9767f5c99..0000000000 --- a/presets_milkdrop/Rovastar - Trippy S.milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=4 -fGammaAdj=2 -fDecay=0.96 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.52509 -fWaveSmoothing=0.36 -fWaveParam=-0.5 -fModWaveAlphaStart=0.71 -fModWaveAlphaEnd=1.3 -fWarpAnimSpeed=1 -fWarpScale=1.331 -fZoomExponent=1 -fShader=0 -zoom=1.070549 -rot=0.02 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=0.198054 -sx=1 -sy=1 -wave_r=0.65 -wave_g=0.65 -wave_b=0.65 -wave_x=0.5 -wave_y=0.5 -ob_size=0.01 -ob_r=0 -ob_g=0 -ob_b=0 -ob_a=0 -ib_size=0.01 -ib_r=0.25 -ib_g=0.25 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -mv_l=0.9 -mv_r=1 -mv_g=1 -mv_b=1 -mv_a=0 -per_frame_1=ff = frame/100; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = cos(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets_milkdrop/Rovastar - Violent Relaxation.milk b/presets_milkdrop/Rovastar - Violent Relaxation.milk deleted file mode 100755 index 5eeb11abc4..0000000000 --- a/presets_milkdrop/Rovastar - Violent Relaxation.milk +++ /dev/null @@ -1,93 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.343305 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.221673 -fWaveScale=0.010000 -fWaveSmoothing=0.750000 -fWaveParam=-0.480000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.960000 -wave_y=0.500000 -ob_size=0.110000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=1.000000 -ob_a=0.100000 -ib_size=0.010500 -ib_r=0.250000 -ib_g=0.700000 -ib_b=1.000000 -ib_a=1.000000 -nMotionVectorsX=63.936001 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.630000 -mv_g=0.200000 -mv_b=0.300000 -mv_a=0.000000 -per_frame_1=myframe = frame%3; -per_frame_2=firsttest = above(myframe,0); -per_frame_3=secondtest = above(myframe,1); -per_frame_4=warp = 0; -per_frame_5=wave_y = if(firsttest,if(secondtest,0.9,.5 + (treb_att*.07)),.25 + (mid_att*.06) - 0.12) ; -per_frame_6=wave_r=if(firsttest,if(secondtest,1,0),1); -per_frame_7=wave_g=if(firsttest,if(secondtest,0.8,1),1); -per_frame_8=wave_b=if(firsttest,if(secondtest,1,0),1); -per_frame_9=wave_x=if(firsttest,if(secondtest,0.9+0.05*(1-bass),0.92),0.14); -per_frame_10=wave_mode=if(firsttest,if(secondtest,6,0),0); -per_frame_11=wave_mystery=if(firsttest,if(secondtest,0,wave_mystery),wave_mystery); -per_frame_12=decay = 1000000.94; -per_frame_13=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_14=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_15=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_16=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_17=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_18=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_19=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_20=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_21=lastbeat = if(beat,time,lastbeat); -per_frame_22=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_23=ob_r = if(beat,1,0); -per_frame_24=ob_a = if(beat,1,ob_a); -per_frame_25=ib_a = if(above(treb,1.8),1,0); -per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0); -per_frame_27=echo_zoom = echo_zoom + 0.05*bass_effect -0.02; -per_pixel_1=dx = dx -.005-abs(x-1)*.01; -per_pixel_2=dx = if(below(y,0.3),dx+0.01*x,if(above(y,0.6),0.01+0.01*x*x,-abs(2*sin(time*0.953)*dx)+0.001)); -per_pixel_3=dy =if(below(y,0.3),0.01*(-bass),dy); diff --git a/presets_milkdrop/Rovastar - Visions Beyond.milk b/presets_milkdrop/Rovastar - Visions Beyond.milk deleted file mode 100755 index 86936a98ce..0000000000 --- a/presets_milkdrop/Rovastar - Visions Beyond.milk +++ /dev/null @@ -1,63 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.975000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.294622 -fWaveSmoothing=0.630000 -fWaveParam=0.040000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.800000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=mycolour = sin(time*2.134)/2+0.5; -per_frame_2=wave_r = mycolour; -per_frame_3=wave_g = 1- mycolour; -per_frame_4=wave_b = sin(time*0.7)/2+0.5; -per_pixel_1=bass_effect = if(above(bass+2*bass_att,3.6),0.1,0); -per_pixel_2=zoom = if(above(rad,0.6),0.95+abs(sin(3*time-rad)/10),if(below(rad,0.2),0.5+sin(rad*rad)/5,if(above(rad,0.4),0.95+ abs(sin(time*3-rad*rad)/10),0.91 +bass_effect+sin(4/rad)/10))); -per_pixel_3=rot =if(above(rad,0.6),sin(time*3-rad)/50,if(below(rad,0.2),0,if(above(rad,0.4),log(x)/100,0))); diff --git a/presets_milkdrop/Rovastar - Visions Of The Future.milk b/presets_milkdrop/Rovastar - Visions Of The Future.milk deleted file mode 100755 index c6ef20c2dd..0000000000 --- a/presets_milkdrop/Rovastar - Visions Of The Future.milk +++ /dev/null @@ -1,62 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.197884 -fWaveSmoothing=0.630000 -fWaveParam=-0.020000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=mycolour = sin(time*4)/2+0.5; -per_frame_2=wave_r = mycolour; -per_frame_3=wave_g = 1- mycolour; -per_frame_4=wave_b = sin(time*0.7)/2+0.5; -per_pixel_1=zoom = if(above(rad,0.6),0.96+sin(rad)/10,if(below(rad,0.25),0.72,if(above(rad,0.4),1.06+ sin(1-rad*rad)/10,0.95 +sin(rad)/10))); -per_pixel_2=rot =if(above(rad,0.6),sin(time/5+rad)/50,if(below(rad,0.25),sin(rad-time)/10,0)); diff --git a/presets_milkdrop/Rovastar - VooV's Brainwaves.milk b/presets_milkdrop/Rovastar - VooV's Brainwaves.milk deleted file mode 100755 index 59dded424f..0000000000 --- a/presets_milkdrop/Rovastar - VooV's Brainwaves.milk +++ /dev/null @@ -1,84 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.700000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=0.018000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.015000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.950000 -ib_g=0.850000 -ib_b=0.650000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = 0.5+ 0.1*(bass-1); -per_frame_2=wave_g = 0.5+ 0.1*(mid-1.2); -per_frame_3=wave_b = 0.5+ 0.1*(treb-.5); -per_frame_4=warp =0; -per_frame_5=ob_r = 1-wave_r; -per_frame_6=ob_g = 1-wave_g; -per_frame_7=ob_b = 1-wave_b; -per_frame_8=ib_r = 0.75 + 0.25*sin(time*0.4); -per_frame_9=ib_g = 0.25 + 0.25*cos(time*0.87); -per_frame_10=ib_b = 0.5+0.5*sin(1.23*time); -per_frame_11=q8 = oldq8 +0.003*(((pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,5)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,4)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,3)/fps) + (pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,2)/fps) +(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att)/fps)); -per_frame_12=oldq8 = q8; -per_frame_13=q7 =oldq7+ 0.001*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,7)/fps); -per_frame_14=oldq7 = q7; -per_frame_15=wave_a =0; -per_frame_16=dy = 0.5 + 0.01*(sin(0.786*q7)); -per_frame_17=dx = 0.1*sin(1.143*q8); -per_pixel_1=dx=dx+0.005*sin((y-0.5)*96)+0.5*sin((y-0.5)*128); -per_pixel_2=dy=dy+0.001*cos((x-(sin(q8)))*128)+0.008*cos((x-0.5 - 0.1*sin(q7))*96); -per_frame_init_1=q8 =0; -per_frame_init_2=q7=0; diff --git a/presets_milkdrop/Rovastar - Xeper.milk b/presets_milkdrop/Rovastar - Xeper.milk deleted file mode 100755 index 0dddc0c037..0000000000 --- a/presets_milkdrop/Rovastar - Xeper.milk +++ /dev/null @@ -1,64 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.963000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=1 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.477921 -fWaveScale=0.494100 -fWaveSmoothing=0.090000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.085500 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.198054 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.499900 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=ff = time/5; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = -atan(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_pixel_1=sx=(abs((sin(2*rad)-0.5))+abs(cos(ang))) + abs(sin(y)); -per_pixel_2=sy=(abs((cos(2*rad)-0.5))+abs(atan(ang))) + abs(sin(x)); -per_pixel_3=zoom = abs(atan(rad)/5)+0.7; -per_pixel_4=rot = -0.8-(abs(atan(pow(ang,3))/5)); diff --git a/presets_milkdrop/Rovastar - eclectic interface (despair mix).milk b/presets_milkdrop/Rovastar - eclectic interface (despair mix).milk deleted file mode 100755 index 41b9661e19..0000000000 --- a/presets_milkdrop/Rovastar - eclectic interface (despair mix).milk +++ /dev/null @@ -1,74 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.903511 -fWaveScale=0.010000 -fWaveSmoothing=0.000000 -fWaveParam=-0.560000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.070549 -rot=0.020000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.198054 -sx=1.220188 -sy=1.220190 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.016000 -mv_l=0.010000 -mv_r=0.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.720000 -per_frame_1=wave_r = sin(1.24*time)/2+0.5; -per_frame_2=wave_g = 0.5*cos(10*bass)+0.5; -per_frame_3=wave_b = cos(10*treb_att)/2+0.5; -per_frame_4=bass_effect = max(max(bass,bass_att)-1.2,0); -per_frame_5=mv_x = 64; -per_frame_6=mv_y =2; -per_frame_7=mv_l = 0.05 + 0.3*bass_effect; -per_frame_8=mv_r = mv_r +0.31+ 0.3*sin(0.67*time); -per_frame_9=mv_g = mv_g + 0.41+0.4*sin(time*1.34); -per_frame_10=wave_mystery = if(above(bass_effect,0.15),wave_mystery,2); -per_pixel_1=rot=pow(-ang,3)/10-1.19*sin(ang); -per_pixel_2=zoom=sin(pow(-rad,3))+1.4+0.0*sin(time); -per_pixel_3=dx =dx+ 0.0145*sin(0.1*time)-0.01*cos(0.5*time*rad); -per_pixel_4=dy =dy -0.15*sin(time*0.1568)+0.1*cos(time*0.05); diff --git a/presets_milkdrop/Rovastar - paranormal diffusion analyser.milk b/presets_milkdrop/Rovastar - paranormal diffusion analyser.milk deleted file mode 100755 index 1ff1987614..0000000000 --- a/presets_milkdrop/Rovastar - paranormal diffusion analyser.milk +++ /dev/null @@ -1,76 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.992000 -fVideoEchoZoom=0.999607 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=0.017776 -fWaveSmoothing=0.750000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=0.224700 -fZoomExponent=0.484500 -fShader=0.000000 -zoom=1.104600 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.220190 -sx=0.844300 -sy=0.905200 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.000000 -ob_size=0.020000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.650000 -ib_a=0.100000 -nMotionVectorsX=64.000000 -nMotionVectorsY=1.440000 -mv_l=0.799999 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.200000 -per_frame_1=warp = 0; -per_frame_2=dx = -0.005; -per_frame_3=dy = -0.005; -per_frame_4=ib_b = ib_b + 0.2*sin(time*1.311); -per_frame_5=mv_y = 1; -per_frame_6=mv_g = 1-bass; -per_frame_7=mv_b = 1-treb; -per_frame_8=mv_r = 1-mid; -per_frame_9=bass_effect = max((max(bass,bass_att)-1.36),0); -per_frame_10=mv_a = bass_effect*2; -per_pixel_1=bass_effect = max((max(bass,bass_att)-1.4),0); -per_pixel_2=treb_effect = max((max(treb,treb_att)-1.4),0); -per_pixel_3=sp = pow((4*bass_effect)*y%2,10); -per_pixel_4=sp2=pow((4*treb_att)*x%2,10); -per_pixel_5=dx = if(above(x,0.5),0.1*(dx - (sp - 0.5)),0.1*(dx + (sp - 0.5))); -per_pixel_6=dy = if(above(y,0.5),0.1*(dy - (sp2 - 0.5)),0.1*(dy + (sp2 - 0.5))); diff --git a/presets_milkdrop/Rovastar and Krash - Rainbow Deflection.milk b/presets_milkdrop/Rovastar and Krash - Rainbow Deflection.milk deleted file mode 100755 index 28a8e03b9e..0000000000 --- a/presets_milkdrop/Rovastar and Krash - Rainbow Deflection.milk +++ /dev/null @@ -1,72 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.975000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.054279 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.850000 -fModWaveAlphaEnd=1.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=-0.190000 -cy=-0.100000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.400000 -wave_g=0.400000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -per_frame_1=warp=0; -per_frame_2=dx=-0.0005; -per_frame_3=dy=-0.0005; -per_frame_4=wave_x = rand(100)/100; -per_frame_5=wave_r = 1 + sin(-wave_x*3.1415); -per_frame_6=wave_g = abs(sin(2*wave_x*3.1415)); -per_frame_7=wave_b = sin(wave_x*3.1415); -per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); -per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); -per_frame_10=zoom = net_effect; -per_frame_11=rot = rot + rot_residual; -per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_13=shift = (tan(time*7)) -0.05; -per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); -per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); -per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05); diff --git a/presets_milkdrop/Rozzor - Color Breaks its Boycott (shape mod).milk b/presets_milkdrop/Rozzor - Color Breaks its Boycott (shape mod).milk deleted file mode 100755 index 82d68874c0..0000000000 --- a/presets_milkdrop/Rozzor - Color Breaks its Boycott (shape mod).milk +++ /dev/null @@ -1,208 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.140000 -fDecay=0.910000 -fVideoEchoZoom=0.072059 -fVideoEchoAlpha=0.010001 -nVideoEchoOrientation=3 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.008018 -fWaveScale=1.001829 -fWaveSmoothing=0.000000 -fWaveParam=0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.001827 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.905286 -sy=0.932718 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.100000 -ob_g=0.100000 -ob_b=0.100000 -ob_a=0.010000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.500000 -nMotionVectorsX=11.520000 -nMotionVectorsY=10.559999 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.500000 -wavecode_0_enabled=0 -wavecode_0_samples=32 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=32 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.900000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.300000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=0.020000 -shapecode_0_border_a=0.700000 -shape_0_per_frame1=ang = 1-cos(q3); -shape_0_per_frame2=x = q3*q1; -shape_0_per_frame3=y = 1-(.9*q5); -shape_0_per_frame4=r = q6; -shape_0_per_frame5=g = q7; -shape_0_per_frame6=b = q8; -shape_0_per_frame7=r2 = 1-q6; -shape_0_per_frame8=g2 = 1-q7; -shape_0_per_frame9=b2 = 1-q8; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -per_frame_init_1=warp = 0; -per_frame_init_2=beatcount = 0; -per_frame_1=slowtime = slowtime+beat*time; -per_frame_2=ying = if(below(ying,1),1,ying); -per_frame_3=ying = if (beat,ying + bnot(time*10%3),ying); -per_frame_4=yin = ying%2; -per_frame_5=vol_now = .4 * bass + 0.1 * (bass_att+treb+mid); -per_frame_6=vol_mean = if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now)); -per_frame_7=beat = if(above(vol_now,1.5*vol_mean),1,0); -per_frame_8=beatcount = if(bnot(time%5000),0,beatcount); -per_frame_9=beatcount = beatcount +.05*beat; -per_frame_10=yang = bnot(beatcount%2); -per_frame_11=ib_r = 0; -per_frame_12=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime); -per_frame_13=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2); -per_frame_14=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime))); -per_frame_15=mv_b = -1*abs(cos(slowtime))+1; -per_frame_16=mv_r = .8; -per_frame_17=wave_b = if(above(ib_b,0),ib_b,mv_b); -per_frame_18=wave_g = if(above(ib_g,0),ib_g,mv_g); -per_frame_19=q1 = if(yin,sin(slowtime),q1); -per_frame_20=wave_r = .8*q1; -per_frame_21=q2 = if(yin,.01*cos(slowtime),0); -per_frame_22=q3 = sin(slowtime); -per_frame_23=dx = if(yang,q1,dx); -per_frame_24=dy = if(yang,q2,dy); -per_frame_25=q3 = if(yang,0,q1); -per_frame_26=q5 = if(bnot(yin),abs(cos(time)),dx); -per_frame_27=q6 = cos(time) + abs(cos(time)); -per_frame_28=q7 = abs(sin(time)) ; -per_frame_29=q8 = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); -per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y)); -per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5; -per_pixel_3=zoom = .3+sin( rad)-5*solipsist; -per_pixel_4=dx = if(equal(q3,0),.08*x,.8*x*q1); -per_pixel_5=dy = if(equal(q3,0),.08*y,.8*y*q2); -per_pixel_6=sy = if(equal(q3,0),sy,1-solipsist); diff --git a/presets_milkdrop/Scanner (@ztec)2.milk b/presets_milkdrop/Scanner (@ztec)2.milk deleted file mode 100755 index 2990c87532..0000000000 --- a/presets_milkdrop/Scanner (@ztec)2.milk +++ /dev/null @@ -1,135 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.998999 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.886994 -fWaveSmoothing=0.630000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.055000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=0.000000 -ob_a=0.200000 -ib_size=0.003500 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=38.399994 -nMotionVectorsY=24.000004 -mv_dx=0.000000 -mv_dy=0.000002 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -per_frame_1=high_bass = above(bass_att,2); -per_frame_2=high_treb = above(treb, 2); -per_frame_3= -per_frame_4=wave_b = if(high_treb,0,1); -per_frame_5= -per_frame_6=//mv_rr = if(high_bass,.5 ,mv_rr*.9); -per_frame_7=//mv_r = mv_rr; -per_frame_8=//mv_b = if(high_treb*high_bass,0,1); -per_frame_9=//mv_g = if(high_treb*high_bass,0,.1*sin(time*.302)+.1); -per_frame_10=//mv_a = if(above(bass_att,1.5),.6,mv_a); -per_frame_11=//mv_x = bits *3; -per_frame_12=//mv_y = mv_x *.8; -per_frame_13= -per_frame_14=ob_r = sin(time*.3)/2+.5; -per_frame_15=ob_g= sin(time*.34)/2+.5; -per_frame_16=ob_b = sin(time*.3714)/2+.5; -per_frame_17= -per_frame_18=boomnow = if(high_bass,time,boomnow); -per_frame_19=brightness = min(sqr(time-boomnow-.866)+.25,1); -per_frame_20=av_bass=if(high_bass,av_bass*.8+.2*bass,av_bass); -per_frame_21=count=count+above(bass,av_bass*1.2); -per_frame_22= -per_frame_23=ob_r = ob_r*brightness; -per_frame_24=ob_g = ob_g*brightness; -per_frame_25=ob_b = ob_b*brightness; -per_frame_26= -per_frame_27=w_dx = (above((w_y*bits)%2,0)*.01-.005)*sin(time); -per_frame_28=w_dy = (above((w_x*bits)%2,0)*.01-.005)*cos(time); -per_frame_29= -per_frame_30=w_x = w_x+w_dx; -per_frame_31=w_y = w_y +w_dy; -per_frame_32=monitor = bits; -per_frame_33=q1 = bits; -per_frame_34=w_x = if(above(abs(w_x-.5),.5),rand(10)/10,w_x); -per_frame_35=w_y = if(above(abs(w_y-.5),.5),rand(10)/10,w_y); -per_frame_36= -per_frame_37=wave_x = w_x; -per_frame_38=wave_y = w_y; -per_frame_39= -per_frame_40=monitor = brightness; -per_frame_41=monitor = av_bass; -per_frame_42=monitor = count; -per_pixel_1=//---- Rotation Angle -per_pixel_2=v_ang=time*.2*(x+y)*(.005+.003*(sin(time*.1)+cos(time*.14))); -per_pixel_3= -per_pixel_4=v_ang = time+sin(x*(sin(time*.32)*3+4)+y*(sin(time*.42)*3+4)); -per_pixel_5= -per_pixel_6=//---- Initialisation: X, Y, ANG, CX, CY, DX, DY, SX, SY -per_pixel_7=//---- to these: VX, VY, VANG, CVX, CVY, DVX, DVY, SVX, SVY -per_pixel_8=vx = (x-.5)*cos(v_ang) - (y-.5)*sin(v_ang)+.5; -per_pixel_9=vy = (x-.5)*sin(v_ang) +(y-.5)*cos(v_ang)+.5; -per_pixel_10=vang=atan((vy-.5)/(vx+.000001-.5))+below(vx,.5)*sign(vy-.5)*3.14159; -per_pixel_11=cvx = (cx-.5)*cos(v_ang) - (cy-.5)*sin(v_ang)+.5; -per_pixel_12=cvy = (cx-.5)*sin(v_ang) +(cy-.5)*cos(v_ang)+.5; -per_pixel_13=svx=sx; svy=sy; dvx=dx; dvy=dy; -per_pixel_14=cang=atan((vy-cvy)/(vx+.000001-cvx)) -per_pixel_15=+below(vx,cvx)*sign(vy-cvy)*3.14159; //Bonus var: angle about (cvx,cvy) -per_pixel_16= -per_pixel_17=//---- Preset Code -per_pixel_18= -per_pixel_19=dx=above(vx,sin(time*.5)*.7+.5)*1.0002; -per_pixel_20=dy = above(vy,(cos(time*.5)*.6+.5)); -per_pixel_21= -per_pixel_22=//---- Realisation of virtual variables -per_pixel_23=cx = (cvx-.5)*cos(-v_ang) - (cvy-.5)*sin(-v_ang)+.5; -per_pixel_24=cy = (cvx-.5)*sin(-v_ang) +(cvy-.5)*cos(-v_ang)+.5; -per_pixel_25=dvx = dvx + (vx-cvx)*(svx-1); -per_pixel_26=dvy = dvy - (vy-cvy)*(svy-1); -per_pixel_27=//dx = dvx*cos(v_ang) - dvy*sin(v_ang); -per_pixel_28=//dy = -dvx*sin(v_ang) - dvy*cos(v_ang); -per_pixel_29=//---- End Virtual Axis Code -per_frame_init_1=bits = rand(7)+7; diff --git a/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk b/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk deleted file mode 100755 index 8c5c906bf3..0000000000 --- a/presets_milkdrop/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk +++ /dev/null @@ -1,157 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.210000 -fDecay=1.000000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=9.088520 -fWaveScale=0.499500 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.990000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.300000 -ob_g=0.000000 -ob_b=0.500000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.759997 -mv_dx=0.000000 -mv_dy=-0.620000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.400000 -per_frame_1=// Hello, -per_frame_2= -per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress. -per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good. -per_frame_5= -per_frame_6=//Telek Sterling =:-) -per_frame_7=//Dilettante Extrodinaire -per_frame_8= -per_frame_9= -per_frame_10=//rt = realtime (for use with beat count) -per_frame_11=rt=time-start; -per_frame_12= -per_frame_13=//color cycling, yellow dynamic treble -per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); -per_frame_15=wave_x = cos(time*2.12)*.33+.5; -per_frame_16=wave_y = sin(time*1.5)*.13+.3; -per_frame_17= -per_frame_18=//initialisation bug patch -per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); -per_frame_20= -per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) -per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); -per_frame_23= -per_frame_24=//Testing auto-beat trigger... exciting stuff.. -per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); -per_frame_26= -per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad. -per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); -per_frame_29= -per_frame_30=beatcount = beatcount + beat; -per_frame_31= -per_frame_32=w_a = if(beat,1,w_a*0); -per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now. -per_frame_34= -per_frame_35=//Preserve beat rate -per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); -per_frame_37=//Record new beatrate -per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); -per_frame_39= -per_frame_40=//Record most recent beat -per_frame_41=lastbeat=if(beat,rt,lastbeat); -per_frame_42=//Predict time of next beat -per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); -per_frame_44= -per_frame_45= -per_frame_46= -per_frame_47= -per_frame_48=//Actual Display code: -per_frame_49= -per_frame_50=//Current direction of travel -per_frame_51=state = beat * (state+1)%4+(1-beat)*state; -per_frame_52= -per_frame_53=//acceleration of horizon point -per_frame_54=dddy = state%2-.5; -per_frame_55=dddx = above(state,1.5)-.5; -per_frame_56= -per_frame_57=//adjustment factors to play with -per_frame_58=ddx = dddx*.5; -per_frame_59=ddy = dddy*.5; -per_frame_60= -per_frame_61= -per_frame_62=q1 = (qq1*19+ddx)*.041; -per_frame_63=//preserve q variables -per_frame_64=qq1 = q1; -per_frame_65= -per_frame_66=q2 = (qq2*19+ddy)*.035; -per_frame_67=qq2 = q2; -per_frame_68= -per_frame_69=//Decay to Blue!! -per_frame_70=ob_a = 0.1*above(frame%10,6); -per_frame_71= -per_frame_72= -per_frame_73= -per_frame_74= -per_frame_75=//Well, what do we want to monitor?? -per_frame_76= -per_frame_77=//monitor = q1; -per_frame_78=//monitor = beat; -per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; -per_frame_80=monitor = (rt-lastbeat)/beatrate; -per_frame_81=//monitor = accuracy; -per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); -per_frame_83=//monitor = wave_a; -per_frame_84=//monitor = wave_g; -per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; -per_frame_86=//monitor = qwer; -per_frame_87=//monitor = (lastbeat-rt)/beatrate; -per_pixel_1=dx = sin(.5-x)*.1+q1; -per_pixel_2=dy = sin(.5-y)*.1+q2; -per_frame_init_1=ddx = 0; -per_frame_init_2=ddy = 0; -per_frame_init_3=start = time; -per_frame_init_4=rt = 0; -per_frame_init_5=beatcount = 0; diff --git a/presets_milkdrop/Telek - Globetrotting (Sailors Delight Mix).milk b/presets_milkdrop/Telek - Globetrotting (Sailors Delight Mix).milk deleted file mode 100755 index 1998b56b50..0000000000 --- a/presets_milkdrop/Telek - Globetrotting (Sailors Delight Mix).milk +++ /dev/null @@ -1,230 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001519 -fWaveScale=1.330283 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=0.951950 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-0.010000 -warp=0.005536 -sx=1.040604 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.300000 -ib_size=0.000000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=27.859959 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=200 -wavecode_0_sep=0 -wavecode_0_bSpectrum=1 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=0.101300 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.000000 -wavecode_0_b=0.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1 = 0; -wave_0_per_frame2=t7 = 0.5; -wave_0_per_frame3=t8 = 0; -wave_0_per_point1=tx = max(0,value1-0.005); -wave_0_per_point2=ty = sample*1.1; -wave_0_per_point3= -wave_0_per_point4=t1 = pow(t1*.95,.7)*.35 + tx; -wave_0_per_point5=y = .1+t1+pow(sin(sample*(3+.5*sin(time*5))+time*1.07)*sin(sample*5.24-time*1.012),2)*.05; -wave_0_per_point6=x = ty; -wave_0_per_point7=tt=y-.1; -wave_0_per_point8=g = min(tt*tt*100,1); -wave_0_per_point9=b = if(above(tt,.3),min(tt*15-.3,1),1-g); -wave_0_per_point10=r = if(above(tt,.3),min(tt*15-.3,1),0); -wavecode_1_enabled=1 -wavecode_1_samples=339 -wavecode_1_sep=0 -wavecode_1_bSpectrum=1 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=0.101411 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=0.000000 -wavecode_1_b=0.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1 = 0; -wave_1_per_frame2=t7 = 0.5; -wave_1_per_frame3=t8 = 0; -wave_1_per_point1=tx = max(0,value2-0.005); -wave_1_per_point2=ty = (1-sample)*1.4; -wave_1_per_point3= -wave_1_per_point4=t1 = pow(t1*.95,.7)*.29 + tx; -wave_1_per_point5=//y = .1+t1; -wave_1_per_point6=y = .1+t1+pow(sin(sample*(3+.5*sin(time*4))+time*1.254)*sin(sample*5.24-time*.975),2)*.05; -wave_1_per_point7=x = ty-.15; -wave_1_per_point8= -wave_1_per_point9=g = min(t1*t1*100,1); -wave_1_per_point10=b = if(above(t1,.3),min(t1*15-.3,1),1-g); -wave_1_per_point11=r = if(above(t1,.3),min(t1*15-.3,1),0); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=25 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.180000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.400000 -shapecode_0_r2=0.800000 -shapecode_0_g2=0.400000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.200000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=x = (time*.05-int(time*.05)); -shape_0_per_frame2=y = sin(x*3.141)*.25+.65; -shape_0_per_frame3=a =.8-.8*pow(1-sin(x*3.141),.5); -shape_0_per_frame4=border_a=a; -shape_0_per_frame5=a2=a; -shape_0_per_frame6= -shape_0_per_frame7= -shape_0_per_frame8=x = (x-.5)*1.33+.5; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.545000 -shapecode_1_rad=1.468148 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819544 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.212000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=dx = dx+.004*sin(time*.2)+.008*sin(time*.105+sin(time*.55)); diff --git a/presets_milkdrop/Telek - Slow Shift Matrix (bb4.5).milk b/presets_milkdrop/Telek - Slow Shift Matrix (bb4.5).milk deleted file mode 100755 index 33bc628052..0000000000 --- a/presets_milkdrop/Telek - Slow Shift Matrix (bb4.5).milk +++ /dev/null @@ -1,80 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001645 -fWaveScale=0.430333 -fWaveSmoothing=0.630000 -fWaveParam=1.000000 -fModWaveAlphaStart=2.000000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.001000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.300000 -ob_a=1.000000 -ib_size=0.100000 -ib_r=1.000000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.941273 -mv_dy=0.426319 -mv_l=5.000000 -mv_r=0.315997 -mv_g=0.078173 -mv_b=0.941976 -mv_a=0.000000 -per_frame_1=bv = bass*.01+.99*bv; -per_frame_2=tt=tt+bass*.01; -per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); -per_frame_4=wave_x =-1; -per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); -per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); -per_frame_7=rot = 1*sin(tt*.15); -per_frame_8=cx = sin(tt*.16)*.5+.5; -per_frame_9=cy = cos(tt*.46)*.5+.5; -per_frame_10=ib_r = sin(tt*.51)*.5+.5; -per_frame_11=ib_g = sin(tt*.71)*.5+.5; -per_frame_12=ib_b = sin(tt*.81)*.5+.5; -per_frame_13=monitor = tt; -per_frame_14= -per_pixel_1=zoom = .8-.2*pow(1-rad,1); -per_frame_init_1=tt = rand(10000); -per_frame_init_2= diff --git a/presets_milkdrop/Unchained & Rovastar - Rainbow Obscura.milk b/presets_milkdrop/Unchained & Rovastar - Rainbow Obscura.milk deleted file mode 100755 index 7049175627..0000000000 --- a/presets_milkdrop/Unchained & Rovastar - Rainbow Obscura.milk +++ /dev/null @@ -1,78 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.985000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=4 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.040271 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.850000 -fModWaveAlphaEnd=1.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=-0.190000 -cy=-0.100000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.400000 -wave_g=0.400000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_x = 0.01*rand(100); -per_frame_3=wave_r = 1 + sin(-wave_x*3.1415); -per_frame_4=wave_g = abs(sin(2*wave_x*3.1415)); -per_frame_5=wave_b = sin(wave_x*3.1415); -per_frame_6=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); -per_frame_7=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); -per_frame_8=zoom = net_effect; -per_frame_9=rot = rot + rot_residual; -per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_11=shift = (tan(time*7)) -0.05; -per_frame_12=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); -per_frame_13=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); -per_pixel_1=rot = rot + if(equal(sin(ang), 0), -rot, 0.05*sin(rad*4*sin(time*.8))); -per_pixel_2=zoom=zoom+rot*sin(time*2); diff --git a/presets_milkdrop/Unchained - Beat Demo (Demonology Mix).milk b/presets_milkdrop/Unchained - Beat Demo (Demonology Mix).milk deleted file mode 100755 index 51f1ee8fc7..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo (Demonology Mix).milk +++ /dev/null @@ -1,114 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.996000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818000 -fWaveScale=0.374038 -fWaveSmoothing=0.810000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.968827 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.5+.5*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.005); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=.5+.5*q1; -per_frame_28=wave_b=.5+.5*q2; -per_frame_29=wave_g=.5+.5*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+time*2.18); -per_frame_31=ob_bob_b+ob_b*sin(q2+time*1.73); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+time*2.09); -per_frame_33=ib_r=ib_r+ib_r*cos(q4+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q4+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q4+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.5+.5*sin(q2*2.14+q3); -per_frame_38=ob_size=.025+.025*sin(q3*3+q1); -per_frame_39=ib_size=.025+.025*sin(q1*3+q3); -per_frame_40=warp=0; -per_frame_41=wave_mystery=wave_mystery+.1*sin(time*2.18+q6); -per_frame_42=wave_x=wave_x+.2*sin(time*.811+q1)+.01*(frame%5)*sign(q3); -per_frame_43=wave_y=wave_y+.2*sin(time*2.3+q2)+.01*q7; -per_frame_44=decay=.996+.004*q3; -per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); -per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); -per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); -per_pixel_4=rot=snee*if(above(grid,0),snur,bnot(snur)); -per_pixel_5=zoom=zoom+.05*sin(rad*(q7*2+q5)+q1)*bnot(snee)*if(snur,-1,q3); -per_pixel_6=sx=sx+.1*bor(bnot(snee),bnot(snur))*cos(y*3.14*q4); -per_pixel_7=sy=sy+.1*bor(bnot(snee),snur)*cos(x*3.14*q6); diff --git a/presets_milkdrop/Unchained - Beat Demo 1.0.milk b/presets_milkdrop/Unchained - Beat Demo 1.0.milk deleted file mode 100755 index daf588131b..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo 1.0.milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.981000 -fVideoEchoZoom=1.006440 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.868299 -fWaveScale=2.781641 -fWaveSmoothing=0.540000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.950000 -fModWaveAlphaEnd=0.750000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.008151 -fShader=0.200000 -zoom=0.999800 -rot=0.000000 -cx=0.470000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -per_frame_1=warp=0; -per_frame_2=chaos=.9+.1*sin(pulse-beat); -per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); -per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); -per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); -per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); -per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); -per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); -per_frame_12=q3=sin(pulse); -per_frame_13=q2=sin(pulse+beat); -per_frame_14=q4=sin(beat); -per_frame_15=q5=entropy; -per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); -per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); -per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); -per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); -per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; -per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; -per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); -per_frame_23=ob_a=.07+.05*q3; -per_frame_24=ob_size=.01*entropy*bnot(q1%6); -per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; -per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); -per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); -per_frame_28=ib_a=.07+.05*q3*q4; -per_frame_29=ib_size=.005+.005*q3; -per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); -per_frame_31=zoom=zoom_fade; -per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); -per_frame_33=rot=rot_fade; -per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; -per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets_milkdrop/Unchained - Beat Demo 2.0.milk b/presets_milkdrop/Unchained - Beat Demo 2.0.milk deleted file mode 100755 index bfeaad8c25..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo 2.0.milk +++ /dev/null @@ -1,111 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=zoom=zoom+.1*q4; -per_frame_41=rot=.2*q5; -per_frame_42=wave_mystery=.5*q6; -per_frame_43=cx=cx+.5*q1; -per_frame_44=cy=cy+.5*q2; -per_frame_45=warp=bnot(q7%2); -per_frame_46=echo_zoom=1+.5*q3; -per_frame_47=echo_orientation=q8%4; -per_frame_48=wave_mode=q8%7; diff --git a/presets_milkdrop/Unchained - Beat Demo 2.1.milk b/presets_milkdrop/Unchained - Beat Demo 2.1.milk deleted file mode 100755 index 57a22921e5..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo 2.1.milk +++ /dev/null @@ -1,111 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=cx=cx+.5*q1; -per_frame_42=cy=cy+.5*q2; -per_frame_43=warp=bnot(q7%2); -per_frame_44=echo_zoom=1+.5*q3; -per_frame_45=echo_orientation=q8%4; -per_frame_46=wave_mode=q8%7; -per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); -per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets_milkdrop/Unchained - Beat Demo 2.2.milk b/presets_milkdrop/Unchained - Beat Demo 2.2.milk deleted file mode 100755 index 69791ad837..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo 2.2.milk +++ /dev/null @@ -1,109 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.996000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=warp=0; -per_frame_42=wave_mode=q8%7; -per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); -per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); -per_pixel_3=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); -per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); diff --git a/presets_milkdrop/Unchained - Beat Demo 2.3.milk b/presets_milkdrop/Unchained - Beat Demo 2.3.milk deleted file mode 100755 index 4edeea6259..0000000000 --- a/presets_milkdrop/Unchained - Beat Demo 2.3.milk +++ /dev/null @@ -1,114 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.993000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.018281 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=warp=0; -per_frame_42=wave_mode=q8%7; -per_frame_43=decay=.98+q8*.001; -per_frame_44=monitor=q8; -per_pixel_1=c1=x*q1+sin(ang)*q4; -per_pixel_2=c2=y*q2+sin(ang)*q6; -per_pixel_3=c3=rad*q3; -per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); -per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); -per_pixel_6=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); -per_pixel_7=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.07*sin(q4*3.14*radix),1+.07*sin(radix*q8*q4*1.618))); diff --git a/presets_milkdrop/Unchained - Custom Gramatix (Remix).milk b/presets_milkdrop/Unchained - Custom Gramatix (Remix).milk deleted file mode 100755 index d6aa6bc897..0000000000 --- a/presets_milkdrop/Unchained - Custom Gramatix (Remix).milk +++ /dev/null @@ -1,105 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.006435 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.028401 -fWaveScale=0.282087 -fWaveSmoothing=0.000000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.950000 -fModWaveAlphaEnd=0.750000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.001827 -fShader=0.100000 -zoom=0.980010 -rot=0.000000 -cx=0.439900 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -per_frame_1=warp=0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=chaos=.9+.1*sin(pulse); -per_frame_6=entropy=if(bnot(entropy),2,if(above(pulse,pulse_cap-entropy*10),1+rand(3),entropy)); -per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_16=pulse_cap=entropy*100; -per_frame_17=pulse=if(above(abs(pulse),pulse_cap),0-pulse_cap,pulse+.1*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.03); -per_frame_18=q3=sin(pulse); -per_frame_19=effect_1=1+1*bass_flop*above(q3,0); -per_frame_20=effect_2=1+2*treb_flop*below(q3,0); -per_frame_21=effect_3=1+4*mid_flop*above(q3,0); -per_frame_22=effect_4=1+6*mid_flop*below(q3,0); -per_frame_23=effect_5=1+10*treb_flop*above(q3,0); -per_frame_24=effect_6=1+12*bass_flop*below(q3,0); -per_frame_25=q1=effect_1*effect_2*effect_3*effect_4*effect_5*effect_6; -per_frame_26=q2=time*q1*entropy*chaos*.002; -per_frame_27=q4=sin(q2*.02); -per_frame_28=q5=entropy; -per_frame_29=wave_r=if(treb_flop,abs(.5*q4),if(bass_flop,.5+.5*q4,1)); -per_frame_30=wave_g=if(treb_changed,0,if(mid_changed,0,.49)); -per_frame_31=wave_b=if(treb_flop,.8+.2*q4,bass_changed*mid_changed); -per_frame_32=cx=.5+.2*q3; -per_frame_33=cy=.5+.2*q4; -per_frame_34=wave_x=cy; -per_frame_35=wave_y=cx; -per_frame_36=ob_r=if(bass_flop,treb_flop,wave_g); -per_frame_37=ob_b=if(treb_flop,wave_r,wave_b); -per_frame_38=ob_g=if(mid_flop,wave_g,wave_b); -per_frame_39=ob_a=.07+.05*q2; -per_frame_40=ob_size=.01+.009*q4; -per_frame_41=ib_r=ib_r+.5*sin(time*.04*entropy); -per_frame_42=ib_b=ib_b+.5*sin(time*.03*entropy); -per_frame_43=ib_g=ib_g+.5*sin(time*.02*entropy); -per_frame_44=ib_a=.07+.05*q3*q4; -per_frame_45=ib_size=.01+.009*q3; -per_frame_46=zoom=zoom+.19*q4; -per_pixel_1=g1=sin(q2+time*q5*.01)/2; -per_pixel_2=g2=sin(q2+time*q5*.02)/2; -per_pixel_3=rot=if(above(sin(q2+time*q5*.025),0),g1*rad,g2*(1-rad)); diff --git a/presets_milkdrop/Unchained - Games With Light & Sound.milk b/presets_milkdrop/Unchained - Games With Light & Sound.milk deleted file mode 100755 index 7859ffb4b1..0000000000 --- a/presets_milkdrop/Unchained - Games With Light & Sound.milk +++ /dev/null @@ -1,127 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.120000 -fDecay=1.000000 -fVideoEchoZoom=2.986806 -fVideoEchoAlpha=0.900000 -nVideoEchoOrientation=3 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=25.573208 -fWaveScale=0.282091 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=100.000000 -fShader=0.000000 -zoom=0.968700 -rot=0.000000 -cx=0.020000 -cy=0.020000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.200000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.600000 -nMotionVectorsX=24.959999 -nMotionVectorsY=19.199999 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=le=1+.5+2*sin(bass_att); -per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); -per_frame_4=bblock=le-bth; -per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, -per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); -per_frame_7=bth=if(above(bth,6),6,bth); -per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; -per_frame_9= -per_frame_10=le=1+.5+2*sin(treb_att); -per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); -per_frame_12=tblock=le-tth; -per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, -per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); -per_frame_15=tth=if(above(tth,6),6,tth); -per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; -per_frame_17= -per_frame_18=le=1+.5+2*sin(mid_att); -per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); -per_frame_20=mblock=le-mth; -per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, -per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); -per_frame_23=mth=if(above(mth,6),6,mth); -per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); -per_frame_29=q1=bres; -per_frame_30=q2=tres; -per_frame_31=q3=mres; -per_frame_32=q4=sin(pulse); -per_frame_33= -per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); -per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; -per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); -per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); -per_frame_38=q7=mod_state; -per_frame_39=q8=ccl; -per_frame_40=ob_r=.5+.5*cos(q1+q7); -per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); -per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); -per_frame_43=ib_size=.025+.02*q2; -per_frame_44=ob_size=.03+.02*q3-.002*q7; -per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); -per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); -per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); -per_frame_48=wave_mystery=wave_mystery+sin(time*2.18+q6); -per_frame_49=wave_x=wave_x+.25*sin(time*.811+q1)+.1*(frame%3)*sign(q3); -per_frame_50=wave_y=wave_y+.25*sin(time*.788+q2)+.1*(frame%2)*sign(q3); -per_frame_51= -per_frame_52=decay=.995+.0025*q3+.0025*q1; -per_frame_53=mv_a=above(q2,0)*(.1+.1*q5); -per_frame_54=mv_r=1-ob_g; -per_frame_55=mv_b=1-ob_r; -per_frame_56=mv_g=1-ob_b; -per_frame_57=zoom=.999+.001*q1; -per_frame_58=cx=0.5; -per_frame_59=cy=0.5; -per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); -per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); -per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q1))*(10+q7)); -per_pixel_4=zoom=zoom+.03*if(above(grid,0),q6*snee,q5*snur); -per_pixel_5=rot=sin((x*q4+y*q5)*3.14)*.01; diff --git a/presets_milkdrop/Unchained - Making a Science of It 4.milk b/presets_milkdrop/Unchained - Making a Science of It 4.milk deleted file mode 100755 index 0e39d27d57..0000000000 --- a/presets_milkdrop/Unchained - Making a Science of It 4.milk +++ /dev/null @@ -1,122 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.560001 -fDecay=1.000000 -fVideoEchoZoom=0.999800 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.419996 -fWaveScale=0.972362 -fWaveSmoothing=0.090000 -fWaveParam=0.020000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=2.468457 -fShader=0.000000 -zoom=1.001789 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=le=1+.5+2*sin(bass_att); -per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); -per_frame_4=bblock=le-bth; -per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, -per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); -per_frame_7=bth=if(above(bth,6),6,bth); -per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; -per_frame_9= -per_frame_10=le=1+.5+2*sin(treb_att); -per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); -per_frame_12=tblock=le-tth; -per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, -per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); -per_frame_15=tth=if(above(tth,6),6,tth); -per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; -per_frame_17= -per_frame_18=le=1+.5+2*sin(mid_att); -per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); -per_frame_20=mblock=le-mth; -per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, -per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); -per_frame_23=mth=if(above(mth,6),6,mth); -per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); -per_frame_29=q1=bres; -per_frame_30=q2=tres; -per_frame_31=q3=mres; -per_frame_32=q4=sin(pulse); -per_frame_33= -per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); -per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; -per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); -per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); -per_frame_38=q7=mod_state; -per_frame_39=q8=ccl; -per_frame_40=ob_r=.5+.5*cos(q1+q7); -per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); -per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); -per_frame_43=ib_size=.025+.02*q2; -per_frame_44=ob_size=.03+.02*q3-.002*q7; -per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); -per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); -per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); -per_frame_48= -per_frame_49=decay=.997+.0015*q3+.0015*q1; -per_frame_50=ob_a=.5+.5*q2; -per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); -per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); -per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); -per_pixel_4=rot=(1-snee*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q6*.13; -per_pixel_5=zoom=zoom+.01*sin(rad*(q7%2+q5)*2*q2+1.6*q1+q8)*bnot(snee)*if(snur,-1,q3); -per_pixel_6=sx=sx-bor(bnot(snee),bnot(snur))*cos(y*3.14*q4)*.04; -per_pixel_7=sy=sy-bor(bnot(snee),snur)*cos(x*3.14*q6)*.04; -per_pixel_8=cx=cx+sin(rad*3.14*q4)*.26; -per_pixel_9=cy=cx+sin(3.14*q5)*.1816; diff --git a/presets_milkdrop/Unchained - Resistance.milk b/presets_milkdrop/Unchained - Resistance.milk deleted file mode 100755 index 7dee920ce9..0000000000 --- a/presets_milkdrop/Unchained - Resistance.milk +++ /dev/null @@ -1,116 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.671653 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.950000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=chaos=.9+.1*sin(beat); -per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); -per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; -per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; -per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; -per_frame_19=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); -per_frame_20=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); -per_frame_21=q1=mid_residual; -per_frame_22=q2=bass_residual; -per_frame_23=q3=treb_residual; -per_frame_24=q4=sin(pulse); -per_frame_25=q5=sin(beat); -per_frame_26=wave_r=wave_r+.5*bass_residual; -per_frame_27=wave_g=wave_g+.5*mid_residual; -per_frame_28=wave_b=wave_b+.5*treb_residual; -per_frame_29=ob_r=if(bass_flop,treb_changed,wave_r); -per_frame_30=ob_b=if(treb_flop,mid_changed,wave_b); -per_frame_31=ob_g=if(mid_flop,bass_changed,wave_g); -per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); -per_frame_33=ob_size=.2+.2*treb_residual; -per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); -per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); -per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); -per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; -per_frame_38=mv_a=.5+.5*q5; -per_frame_39=mv_x=abs(beat*10)*entropy; -per_frame_40=mv_y=mv_x; -per_frame_41=mv_r=wave_b; -per_frame_42=mv_b=wave_g; -per_frame_43=mv_g=wave_r; -per_frame_44=wave_x = 0.5+sin(2*time)/8; -per_frame_45=wave_y = 0.5-cos(3*time)/6; -per_frame_46=wave_mystery=q5; -per_pixel_1=shift=q3*.1*mid_att; -per_pixel_2=checkx=bor(above(abs(q1),x)*below(abs(q2),x),above(abs(q2),x)*below(abs(q1),x)); -per_pixel_3=checky=bor(above(abs(q1),y)*below(abs(q2),y),above(abs(q2),y)*below(abs(q1),y)); -per_pixel_4=dx=if(checkx,shift*q4,dx); -per_pixel_5=dy=if(checky,shift*q5,dy); -per_pixel_6=rot=if(checkx*checky,0,shift); -per_pixel_7=zoom=if(above(q5,.8),zoom-shift*.1,if(below(q5,-.8),zoom+shift*.1,zoom)); diff --git a/presets_milkdrop/Unchained - Unclaimed Wreckage 2 (Shamanic).milk b/presets_milkdrop/Unchained - Unclaimed Wreckage 2 (Shamanic).milk deleted file mode 100755 index 00b4fab98f..0000000000 --- a/presets_milkdrop/Unchained - Unclaimed Wreckage 2 (Shamanic).milk +++ /dev/null @@ -1,123 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.050000 -fDecay=0.920000 -fVideoEchoZoom=0.999800 -fVideoEchoAlpha=0.499900 -nVideoEchoOrientation=1 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.254574 -fWaveScale=0.450290 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.998166 -fShader=0.000000 -zoom=0.879987 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.900000 -nMotionVectorsX=24.959999 -nMotionVectorsY=19.199999 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=le=1+.5+2*sin(bass_att); -per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); -per_frame_4=bblock=le-bth; -per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, -per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); -per_frame_7=bth=if(above(bth,6),6,bth); -per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; -per_frame_9= -per_frame_10=le=1+.5+2*sin(treb_att); -per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); -per_frame_12=tblock=le-tth; -per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, -per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); -per_frame_15=tth=if(above(tth,6),6,tth); -per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; -per_frame_17= -per_frame_18=le=1+.5+2*sin(mid_att); -per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); -per_frame_20=mblock=le-mth; -per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, -per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); -per_frame_23=mth=if(above(mth,6),6,mth); -per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); -per_frame_29=q1=bres; -per_frame_30=q2=tres; -per_frame_31=q3=mres; -per_frame_32=q4=sin(pulse); -per_frame_33= -per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); -per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; -per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); -per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); -per_frame_38=q7=mod_state; -per_frame_39=q8=ccl; -per_frame_40=ob_r=.5+.5*cos(q1+q7); -per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); -per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); -per_frame_43=ib_size=.025+.02*q2; -per_frame_44=ob_size=.03+.02*q3-.002*q7; -per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); -per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); -per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); -per_frame_48= -per_frame_49=ob_a=.8+.2*q2; -per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); -per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); -per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); -per_pixel_4=rot=bnot(above(x,.5)+((y*q8)%q7)) -per_pixel_5=*cos(rad+3.14*if(above(grid,0),snur,bnot(snur))*(.5+.5*sin(rad*3.14*q1)))*q4; -per_pixel_6=zoom=zoom+.003*sin(rad*2+rad*q2)*sign(snee)-.01*sin(rad*2*q3); -per_pixel_7=rot=if(rot,rot*sign(snur),q6*sign(-snur)); -per_pixel_8=cx=if(below(x,.5)*above(y,.5),.5+.2*q1,.5); -per_pixel_9=cy=if(below(x,.5)*below(y,.5),.5+.2*q3,.5); -per_pixel_10=sx=sx+.17*sin(rad)*q1*grid*(1-abs(rot)); -per_pixel_11=sy=sy+.17*sin(rad)*q2*grid*(1-abs(rot)); diff --git a/presets_milkdrop/Unchained - Unified Drag 2.milk b/presets_milkdrop/Unchained - Unified Drag 2.milk deleted file mode 100755 index 2cf380c61b..0000000000 --- a/presets_milkdrop/Unchained - Unified Drag 2.milk +++ /dev/null @@ -1,122 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=2.216266 -fVideoEchoAlpha=0.780000 -nVideoEchoOrientation=0 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.254574 -fWaveScale=0.931011 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.008100 -fShader=0.400000 -zoom=0.820774 -rot=0.000000 -cx=0.499900 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.900000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=le=1+.5+2*sin(bass_att); -per_frame_3=bpulse=band(above(le,bth),above(le-bth,bblock)); -per_frame_4=bblock=le-bth; -per_frame_5=bth=if(above(le,bth),le+114/(le+10)-7.407, -per_frame_6=bth+bth*.07/(bth-12)+below(bth,2.7)*.1*(2.7-bth)); -per_frame_7=bth=if(above(bth,6),6,bth); -per_frame_8=bres=bpulse*sin(pulse+le*.5) + bnot(bpulse)*bres; -per_frame_9= -per_frame_10=le=1+.5+2*sin(treb_att); -per_frame_11=tpulse=band(above(le,tth),above(le-tth,tblock)); -per_frame_12=tblock=le-tth; -per_frame_13=tth=if(above(le,tth),le+114/(le+10)-7.407, -per_frame_14=tth+tth*.07/(tth-12)+below(tth,2.7)*.1*(2.7-tth)); -per_frame_15=tth=if(above(tth,6),6,tth); -per_frame_16=tres=tpulse*sin(pulse+le*.5) + bnot(tpulse)*tres; -per_frame_17= -per_frame_18=le=1+.5+2*sin(mid_att); -per_frame_19=mpulse=band(above(le,mth),above(le-mth,mblock)); -per_frame_20=mblock=le-mth; -per_frame_21=mth=if(above(le,mth),le+114/(le+10)-7.407, -per_frame_22=mth+mth*.07/(mth-12)+below(mth,2.7)*.1*(2.7-mth)); -per_frame_23=mth=if(above(mth,6),6,mth); -per_frame_24=mres=mpulse*sin(pulse+le*.5) + bnot(mpulse)*mres; -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bth+mth+tth)*.003); -per_frame_29=q1=bres; -per_frame_30=q2=tres; -per_frame_31=q3=mres; -per_frame_32=q4=sin(pulse); -per_frame_33= -per_frame_34=mod_state=(above(q1,0)+above(q2,0)+above(q3,0))*(1+above(q4,0)); -per_frame_35=ccl=ccl+tpulse+mpulse-bpulse; -per_frame_36=q5=cos(pulse*(.5+.1*mod_state)); -per_frame_37=q6=sin(pulse*(.5+pow(.25,mod_state))); -per_frame_38=q7=mod_state; -per_frame_39=q8=ccl; -per_frame_40=ob_r=.5+.5*cos(q1+q7); -per_frame_41=ob_g=.5+.5*cos(q2*3.14+q7); -per_frame_42=ob_b=.5+.5*cos(q3*2+sin(time*.0816)); -per_frame_43=ib_size=.025+.02*q2; -per_frame_44=ob_size=.03+.02*q3-.002*q7; -per_frame_45=wave_r=.5+.5*sin(q1*q7+time*2.183); -per_frame_46=wave_g=.5+.5*sin(q2*3+time*1.211); -per_frame_47=wave_b=.5+.5*sin(q3+time*1.541); -per_frame_48= -per_frame_49=ob_a=.8+.2*q2; -per_frame_50=rot=1; -per_frame_51=cx=cx+.05*q4; -per_frame_52=cy=cy+.05*q5; -per_frame_53=zoom=.95+.05*q6; -per_pixel_1=snee=bnot(above(sin(ang)-x,.5)*above(q2,0)+above(y-cos(ang),.5)*above(q1,0)); -per_pixel_2=snur=bnot(below(x,.5)*above(q3,0)+below(y,.5)*below(q7,4)); -per_pixel_3=grid=sin(sigmoid(sin(y*6.28*q2),sin(x*6.28*q6))*(10+q7)); -per_pixel_4=zoom=zoom+.02*cos(rad*2+rad*q2)*sign(snee)-.04*sin(rad*3.14*q3-3.14*cos(rad*3.14*snur-3.14*q6)); -per_pixel_5=sx=if(below(x,.5)*below(y,.5),sx+.2*q4*snur,1+.1*q2*grid); -per_pixel_6=sy=if(below(x,.5)*below(y,.5),sy+.2*q5*snee,1+.1*q2*grid); diff --git a/presets_milkdrop/Unchained - elite vectronics.milk b/presets_milkdrop/Unchained - elite vectronics.milk deleted file mode 100755 index 6d6f9fe260..0000000000 --- a/presets_milkdrop/Unchained - elite vectronics.milk +++ /dev/null @@ -1,108 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.978999 -fVideoEchoZoom=2.786752 -fVideoEchoAlpha=0.700000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.008144 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.040603 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.950000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=dx=-0.0005; -per_frame_3=dy=-0.0005; -per_frame_4=old_bass_flop=bass_flop; -per_frame_5=old_treb_flop=treb_flop; -per_frame_6=old_mid_flop=mid_flop; -per_frame_7=chaos=.9+.1*sin(beat); -per_frame_8=entropy=if(bnot(entropy),2,if(equal(pulse,-3.14),1+rand(3),entropy)); -per_frame_9=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_10=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_11=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_12=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_13=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_14=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_15=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_16=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_17=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_18=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; -per_frame_19=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; -per_frame_20=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; -per_frame_21=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.052); -per_frame_22=beat=if(above(abs(beat),3.14),-3.14,beat+(bass+treb+mid)*.01); -per_frame_23=q1=mid_residual; -per_frame_24=q2=bass_residual; -per_frame_25=q3=treb_residual; -per_frame_26=q4=sin(pulse); -per_frame_27=q5=sin(beat); -per_frame_28=mv_r=mv_r+.5*bass_residual; -per_frame_29=mv_g=mv_g+.5*mid_residual; -per_frame_30=mv_b=mv_b+.5*treb_residual; -per_frame_31=mv_a=1-(ob_a+ib_a)*chaos*.5; -per_frame_32=mv_x=abs(beat*10)*entropy; -per_frame_33=mv_y=abs(pulse*10)*entropy; -per_pixel_1=bend = cos( x*3.14*q2*above(q1,q2) + (rad*3.14*q2-3.14*q3)*above(q2,q3)+(y*3.14*q4)*above(q3,q1)); -per_pixel_2=zoom = zoom+bend*.05*above(q4+q5,.8); -per_pixel_3=something=if(above(q5,0),shift,q3*0.2*cos((rad+q1)*3.14+q2)); -per_pixel_4=rot=if(above(zoom-1,.03*q1),if(above(q4,0),rad*.2*q5,something),(x*2-1)*q5); -per_pixel_5=grid=x*100%(above(q1,q4)+above(q2,q5)+above(q3,q4)) + y*100%(above(q1,q5)+above(q2,q4)+above(q3,q5)); -per_pixel_6=zoom=if(grid,zoom-.17*cos(rad*3.14+x*q1*3.14+y*q2*3.14)*(q5+q4),zoom); -per_pixel_7=g1=sin(q2*.04*q5); -per_pixel_8=g2=sin(q2*.05*q5); -per_pixel_9=g3=sin(q2*.06*q5); -per_pixel_10=x_shift=pow(x,2)+x*g1*2+sqr(g1); -per_pixel_11=y_shift=pow(y,2)+y*g2*2+sqr(g2); -per_pixel_12=r_shift=pow(rad,2)+rad*g3*2+sqr(g3); -per_pixel_13=zoom=zoom-sin(x_shift*y_shift*r_shift*3.14)*(y*2-1); -per_pixel_14=cx=cx+.1*sin(time*.8); -per_pixel_15=cy=cy+.1*sin(time*.7); diff --git a/presets_milkdrop/Vovan - Bass With Flover.milk b/presets_milkdrop/Vovan - Bass With Flover.milk deleted file mode 100755 index e3053f4dc4..0000000000 --- a/presets_milkdrop/Vovan - Bass With Flover.milk +++ /dev/null @@ -1,74 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.975000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.625314 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.000000 -fModWaveAlphaEnd=0.000000 -fWarpAnimSpeed=0.010000 -fWarpScale=100.000000 -fZoomExponent=1.000000 -fShader=0.700000 -zoom=1.046000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999995 -sy=1.000000 -wave_r=0.500000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.470000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r*x*bass*1000000 + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_2=wave_g = wave_g*200000*treb/x + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_3=wave_b = wave_b +0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_4=zoom = zoom + 0.023*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); -per_frame_5=q=rot/5 + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_6=cx = cx + 0.070*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_7=cy = cy + 0.070*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_8=zoom=zoom+0.013*(0.60*sin(0.33*time)+0.40*sin(0276*time)); -per_frame_9=x=x+100; -per_pixel_1=zoom=zoom-max(0.001,(bass-1.2))*sin(time*1.4+rad*6); -per_pixel_2=zoom=zoom+0.07*sin(rad*25+time*2.5); diff --git a/presets_milkdrop/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk b/presets_milkdrop/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk deleted file mode 100755 index 33eb0b5d10..0000000000 --- a/presets_milkdrop/Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk +++ /dev/null @@ -1,77 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.939999 -fVideoEchoZoom=2.006761 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=4 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.576900 -fWaveScale=2.630060 -fWaveSmoothing=0.000000 -fWaveParam=-0.240000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=9.180534 -fWarpScale=3.544900 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=1.700000 -dx=0.000010 -dy=0.000010 -warp=0.972365 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.000000 -ob_size=0.005000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=16.000004 -nMotionVectorsY=16.800003 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.150000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=ob_b =0; -per_frame_3=dypillar = rand(100); -per_frame_4=q1 = dypillar*.01; -per_frame_5=ob_a = 1; -per_frame_6=ob_r = .5+.2*sin(time/2)+.1*sin(time*2)+abs(.1*sin(time*2)); -per_frame_7=ob_g = .3+.2*sin(time); -per_frame_8=ob_g = .2 + if(above(ob_g,ob_r),ob_g-.3,ob_g); -per_frame_9=changer = frame%2; -per_frame_10=wave_mode = 1; -per_pixel_1=dy = -abs(rad-1)*.007-rand(bass*2)*.01; -per_pixel_2=rot = if(above(y,.8),-abs(rad-1)*(rand(100)-50)*.0015,0); -per_pixel_3=dy = dy - if(above(x,q1-(bass*.1)),if(below(x,q1+(bass*.1)),rand(100)*.001,0),0); -per_frame_init_1=dypillar = 0; diff --git a/presets_milkdrop/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk b/presets_milkdrop/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk deleted file mode 100755 index 0390b04af4..0000000000 --- a/presets_milkdrop/Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk +++ /dev/null @@ -1,68 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999600 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.011566 -fWaveScale=100.000000 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.904846 -rot=0.200000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000002 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=10.240001 -nMotionVectorsY=7.200006 -mv_dx=0.000000 -mv_dy=0.080000 -mv_l=0.550000 -mv_r=0.000000 -mv_g=1.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=ob_r=rand(10)*Sin(above(bass,bass_att)); -per_frame_2=ob_g=rand(10)*sin(above(mid,mid_Att)); -per_frame_3=ob_b=rand(10)*Sin(above(treb,treb_Att)); -per_frame_4=zoom = .9+bass*.05; -per_pixel_1=rot=rot*atan2(-rad,sin(ang*10)); diff --git a/presets_milkdrop/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk b/presets_milkdrop/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk deleted file mode 100755 index d89a83f85e..0000000000 --- a/presets_milkdrop/Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk +++ /dev/null @@ -1,79 +0,0 @@ -[preset00] -fRating=2.500000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000400 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.005730 -fWaveScale=2.518198 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=1.489999 -fModWaveAlphaEnd=0.750000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.690737 -fShader=1.000000 -zoom=2.380962 -rot=0.000000 -cx=0.499900 -cy=0.499900 -dx=0.200000 -dy=0.200000 -warp=0.010000 -sx=0.463935 -sy=0.535239 -wave_r=0.000000 -wave_g=1.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=3.360000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.100000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.915*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(1.025*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.810*time) + 0.40*sin(0.950*time) ); -per_frame_4=mv_r= wave_r + 0.350*( 0.60*sin(0.900*time) + 0.40*sin(0.750*time) ); -per_frame_5=mv_g= wave_g + 0.350*( 0.60*sin(0.825*time) + 0.40*sin(0.950*time) ); -per_frame_6=mv_b= wave_b + 0.350*( 0.60*sin(0.775*time) + 0.40*sin(1.025*time) ); -per_frame_7=ib_r=bass*2; -per_frame_8=ib_b=treb*2; -per_frame_9=ib_g=mid*2; -per_frame_10=ob_b=mid_att; -per_frame_11=ob_r=bass_att; -per_frame_12=ob_g=treb_att; -per_frame_13=zoom = zoom-(0.10-bass_att)*0.15; -per_frame_14=warp = 0; -per_pixel_1=rot = antirot-ang; -per_pixel_2=zoom = zoom - rot*.1; diff --git a/presets_milkdrop/Zylot & Wulfson - Pulse Beat.milk b/presets_milkdrop/Zylot & Wulfson - Pulse Beat.milk deleted file mode 100755 index 2a51030850..0000000000 --- a/presets_milkdrop/Zylot & Wulfson - Pulse Beat.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.980000 -fVideoEchoZoom=1.006590 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.360124 -fWaveScale=0.159093 -fWaveSmoothing=0.720000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.600000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=2.006754 -fWarpScale=16.678341 -fZoomExponent=100.000000 -fShader=0.000000 -zoom=1.061003 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.447719 -sx=1.074096 -sy=1.000000 -wave_r=0.250000 -wave_g=0.000000 -wave_b=0.550000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.250000 -ib_a=0.001000 -nMotionVectorsX=7.680042 -nMotionVectorsY=6.240038 -mv_dx=0.320000 -mv_dy=-0.220000 -mv_l=0.050000 -mv_r=0.760000 -mv_g=0.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=wave_r = wave_r + (0.4 - cos(bass)*((bass + mid)*0.5)); -per_frame_2=wave_b = wave_b + (0.4 - cos(treb)*((treb + mid)*0.5)); -per_frame_3=wave_g = mid*.3; -per_frame_4=wave_x = wave_x + (bass*.165)*if(above(frame%2,0),sin(time),sin(time+3.5)); -per_frame_5=wave_y = wave_y + (bass*.165)*if(above(frame%2,0),cos(time),cos(time+3.5)); -per_pixel_1=rot = if( above(rad, 0.55), (rot+0.4*(2*sin(rad)*((bass + treb + mid)/3))), rot ); -per_pixel_2=zoom = if( above(rad, 0.7), (zoom+0.3*(2*sin(rad)*((bass + treb + mid)/2))), zoom ); diff --git a/presets_milkdrop/Zylot - Burning Passion.milk b/presets_milkdrop/Zylot - Burning Passion.milk deleted file mode 100755 index c5d871f8cf..0000000000 --- a/presets_milkdrop/Zylot - Burning Passion.milk +++ /dev/null @@ -1,68 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.315701 -fWaveScale=1.028415 -fWaveSmoothing=0.720000 -fWaveParam=-0.200000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = -1&(bass); -per_frame_3=wave_g = -1&(treb); -per_frame_4=wave_b = if(below(wave_r,1),if(below(wave_g,1),1,0),0); -per_pixel_1=zoom = if(above(rad,.3),rad*.1+(1&(3))*.4,1.01); diff --git a/presets_milkdrop/Zylot - Hollow Shell.milk b/presets_milkdrop/Zylot - Hollow Shell.milk deleted file mode 100755 index d87955277d..0000000000 --- a/presets_milkdrop/Zylot - Hollow Shell.milk +++ /dev/null @@ -1,49 +0,0 @@ -[preset00] -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=0.091496 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=0.018167 -fWaveSmoothing=0.900000 -fWaveParam=0.480000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.816695 -fWarpScale=1.220187 -fZoomExponent=0.359495 -fShader=0.000000 -zoom=0.960971 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=2.006756 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -per_frame_1=wave_r = wave_r + .4*sin(time*.555) + bass*.1; -per_frame_2=wave_g = wave_g + .4*sin(time*.222) + treb*.1; -per_frame_3=wave_b = wave_b + .4*sin(time*.777) + rot; -per_pixel_1=rot = rot + (sin(rad/5)) - .5 diff --git a/presets_milkdrop/Zylot - Magladon.milk b/presets_milkdrop/Zylot - Magladon.milk deleted file mode 100755 index a6f1b79af8..0000000000 --- a/presets_milkdrop/Zylot - Magladon.milk +++ /dev/null @@ -1,75 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.997000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=1 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.041877 -fWaveScale=0.010000 -fWaveSmoothing=0.270000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -per_frame_1=wave_mystery = -.58; -per_frame_2=wave_mode = 0; -per_frame_3=wave_x = if(equal(frame%3,0),.5,if(equal(frame%3,1),.48-treb*.15,.52+bass*.15)); -per_frame_4=wave_y = if(equal(frame%3,0),.53+mid*.18,if(equal(frame%3,1),.46-treb*.07,.46-bass*.07)); -per_frame_5=wave_r = if(equal(frame%3,2),1,0); -per_frame_6=wave_g = if(equal(frame%3,1),1,0); -per_frame_7=wave_b = if(equal(frame%3,0),1,0); -per_frame_8=ob_size = .9; -per_frame_9=ib_size = .1; -per_frame_10=ib_a = bass; -per_pixel_1=zoom = zoom + abs(rad-.5-(bass*.2))*.1; -per_pixel_2=rot = if(above(rad,.485+(bass*.2)),if(below(rad,.515+(bass*.2)),(rand(30)-15)*.012,0),0) + if(above(rad,.185),if(below(rad,.215),(rand(30)-15)*.012,0),0);; diff --git a/presets_milkdrop/Zylot - Magma Crawl.milk b/presets_milkdrop/Zylot - Magma Crawl.milk deleted file mode 100755 index 1b370a1a75..0000000000 --- a/presets_milkdrop/Zylot - Magma Crawl.milk +++ /dev/null @@ -1,49 +0,0 @@ -[preset00] -fGammaAdj=2.000000 -fDecay=0.999000 -fVideoEchoZoom=4.013491 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=3.300382 -fWarpScale=2.704811 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.010000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=2.448628 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.300000 -wave_b=0.000000 -wave_x=0.080000 -wave_y=0.500000 -per_frame_1=decay = .999999970089; -per_frame_2=wave_g = sin(time); -per_pixel_1=dx = dx + ((x + 1)*0.001) * -rand(40); - diff --git a/presets_milkdrop/Zylot - Magma Vein.milk b/presets_milkdrop/Zylot - Magma Vein.milk deleted file mode 100755 index 8aa5a5c4ce..0000000000 --- a/presets_milkdrop/Zylot - Magma Vein.milk +++ /dev/null @@ -1,50 +0,0 @@ -[preset00] -fGammaAdj=2.000000 -fDecay=0.999000 -fVideoEchoZoom=4.013491 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=3.300382 -fWarpScale=2.704811 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.010000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=2.448628 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.300000 -wave_b=0.000000 -wave_x=0.080000 -wave_y=0.500000 -per_frame_1=decay = .999999970089; -per_frame_2=wave_g = sin(time); -per_frame_3=warp = 0; -per_pixel_1=dx = dx + ((x + 1)*.001) * -rand(60); -fRating=1.000000 diff --git a/presets_milkdrop/Zylot - New Star.milk b/presets_milkdrop/Zylot - New Star.milk deleted file mode 100755 index bea47bfd1f..0000000000 --- a/presets_milkdrop/Zylot - New Star.milk +++ /dev/null @@ -1,73 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.969999 -fVideoEchoZoom=2.006761 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.038698 -fWaveScale=0.020068 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=9.180534 -fWarpScale=3.544900 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.972365 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = if(below(frame%3,2),.7+.3*sin(time),0);; -per_frame_3=wave_g = if(below(frame%3,2),.4,.4); -per_frame_4=wave_b = if(below(frame%3,2),0,.7+.3*sin(time)); -per_frame_5=wave_mode = if(below(frame%3,2),6,0); -per_frame_6=wave_mystery = if(equal(frame%3,0),time*2,if(equal(frame%3,1),-time*1.5,-.67)); -per_frame_7=zoom = zoom + (bass+mid+treb)*.003; -per_pixel_1=zoom = zoom + (rad-.2+.04*sin(time))*.1; -per_pixel_2=rot = if(above(rad,.2 + .04*sin(time)),(rand(3)-1.5)*.01,0); -per_pixel_3=warp = if(above(rad,.2 + .04*sin(time)),bass*.4,0); diff --git a/presets_milkdrop/Zylot - PinWheel.milk b/presets_milkdrop/Zylot - PinWheel.milk deleted file mode 100755 index 40e7105954..0000000000 --- a/presets_milkdrop/Zylot - PinWheel.milk +++ /dev/null @@ -1,169 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.997000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.041877 -fWaveScale=0.010000 -fWaveSmoothing=0.270000 -fWaveParam=-0.380000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.340000 -shapecode_0_ang=0.530000 -shapecode_0_r=0.560000 -shapecode_0_g=0.360000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.900000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang = ang + time; -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.410000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.800000 -shapecode_1_b=0.700000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.400000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=ang = ang - time*.333; -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.210000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.840000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=0.580000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=ang = ang + time*4; -per_frame_1=warp = 0; -per_frame_2=decay = .92; -per_pixel_1=zoom = zoom + .1; -per_pixel_2=rot = rot + rad*.1; diff --git a/presets_milkdrop/Zylot - Present for Saddam.milk b/presets_milkdrop/Zylot - Present for Saddam.milk deleted file mode 100755 index 17fbc6e14a..0000000000 --- a/presets_milkdrop/Zylot - Present for Saddam.milk +++ /dev/null @@ -1,101 +0,0 @@ -[preset00] -fRating=1.000000 -fGammaAdj=1.700000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.078276 -fWaveScale=0.274297 -fWaveSmoothing=0.750000 -fWaveParam=-0.480000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_x = locx; -per_frame_3=wave_y = if(below(locy,.01),.01,locy); -per_frame_4=wave_r = if(equal(expt2,0),.6,1); -per_frame_5=wave_g = .6; -per_frame_6=wave_b = if(equal(expt2,0),.6,.05); -per_frame_7=wave_mode = if(equal(expt2,0),2,0); -per_frame_8=locx=locx-xspeed; -per_frame_9=locy=if(below(locy,.02),.01,locy-yspeed); -per_frame_10=xspeed = if(below(locy,.01),0,xspeed - (xspeed)*.03); -per_frame_11=yspeed = if(below(locy,.01),0,yspeed+(yspeed)*.03); -per_frame_12=decay = if(below(locy,.02),.94,.4); -per_frame_13=expt = if(below(locy,.011),if(below(expt,0.001),0,expt-.01),expt); -per_frame_14=expt2 = if(equal(expt,0),if(below(expt2,0.001),0,expt2-.01),expt2); -per_frame_15=q1 = locx; -per_frame_16=q2 = locy; -per_frame_17=q3 = expt; -per_frame_18=q4 = expt2; -per_frame_19=monitor = timer; -per_frame_20=timer = if(above(timer,.01),timer-.01,6); -per_frame_21=yspeed = if(below(timer,.012),.02,yspeed); -per_frame_22=xspeed = if(below(timer,.012),rand(200)*.0001,xspeed); -per_frame_23=locy = if(below(timer,.012),1,locy); -per_frame_24=locx = if(below(timer,.012),(rand(80)+20)*.01,locx); -per_frame_25=expt = if(below(timer,.012),.5,expt); -per_frame_26=expt2 = if(below(timer,.012),1,expt2); -per_pixel_1=randomn = rand(100)*.006; -per_pixel_2=xcenter = q1; -per_pixel_3=ycenter = abs(q2-1); -per_pixel_4=dx = if(below(q2,.011),if(equal(q3,0),if(equal(q4,0),dx + (x - xcenter)*.03,dx + (x - xcenter)*.1),dx + (x - xcenter)*randomn),0); -per_pixel_5=dy = if(below(q2,.011),if(equal(q3,0),if(equal(q4,0),dy + (y - ycenter)*.06*bass,dy + (y - ycenter)*.1),dy + (y - ycenter)*randomn),0); -per_frame_init_1=yspeed = .02; -per_frame_init_2=xspeed = rand(200)*.0001; -per_frame_init_3=locy = 1; -per_frame_init_4=locx = (rand(80)+20)*.01; -per_frame_init_5=expt = .5; -per_frame_init_6=expt2 = 1; -per_frame_init_7=timer = 6; diff --git a/presets_milkdrop/Zylot - Riding The Sound Waves.milk b/presets_milkdrop/Zylot - Riding The Sound Waves.milk deleted file mode 100755 index ca8c5f18ad..0000000000 --- a/presets_milkdrop/Zylot - Riding The Sound Waves.milk +++ /dev/null @@ -1,185 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.540000 -fWaveParam=0.080000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.310000 -ob_r=0.300000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=48.000000 -mv_dx=0.500000 -mv_dy=0.500000 -mv_l=3.500000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=59.123634 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=x=sample; -wave_0_per_point2=y = .5 + .3*sin(x*10-time); -wave_0_per_point3=a = -.6+sin(sample*36+time*10); -wave_0_per_point4=a = if(below(a,0),0,a); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_init1=sidein = 3+int(rand(3)); -shape_0_per_frame1=y = .55 + .3*sin(x*10-time); -shape_0_per_frame2=ang = (y - data)*100; -shape_0_per_frame3=ang = -ang; -shape_0_per_frame4=data = y; -shape_0_per_frame5=sides = sidein; -shape_0_per_frame6=r = rand(10)*.1; -shape_0_per_frame7=g = rand(10)*.1; -shape_0_per_frame8=b = rand(10)*.1; -shape_0_per_frame9=r2 = .5+.2*sin(time*1.5); -shape_0_per_frame10=g2 = .5+.2*sin(time*1.2); -shape_0_per_frame11=b2 = .5+.2*sin(time*1); -shape_0_per_frame12=border_a = if(above(bass,1.4),.3,0); -shape_0_per_frame13=rad = mid*.1; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -per_frame_init_1=changer = 1; -per_frame_init_2=speed = 1; -per_frame_init_3=setter = 0; -per_frame_init_4=timer = 0; -per_frame_init_5=random = 0; diff --git a/presets_milkdrop/Zylot - S. Pulse Virus.milk b/presets_milkdrop/Zylot - S. Pulse Virus.milk deleted file mode 100755 index 89398782f8..0000000000 --- a/presets_milkdrop/Zylot - S. Pulse Virus.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.750000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=0.999994 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); -per_frame_2=wave_mystery = wave_mystery + push; -per_frame_3=wave_r = wave_r + .5*sin(time*.222); -per_frame_4=wave_g = wave_g + .5*sin(time*.333); -per_frame_5=wave_b = wave_b + .5*sin(time*.444); -per_frame_6=warp = 0; -per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets_milkdrop/Zylot - Tunnel Of Illusion.milk b/presets_milkdrop/Zylot - Tunnel Of Illusion.milk deleted file mode 100755 index 1641f62af6..0000000000 --- a/presets_milkdrop/Zylot - Tunnel Of Illusion.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=0.333566 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.532001 -fWaveScale=0.010000 -fWaveSmoothing=0.000000 -fWaveParam=-0.399900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = bass*.5; -per_frame_3=wave_g = treb*.5; -per_frame_4=wave_b = mid*.5; -per_frame_5=decay = .99; -per_pixel_1=zoom = 1.03+rad*.1; -per_pixel_2=zoomexp =1 - 1*sin(rad*time*10); diff --git a/presets_milkdrop/Zylot - Winding Path Over The Blue Abyss.milk b/presets_milkdrop/Zylot - Winding Path Over The Blue Abyss.milk deleted file mode 100755 index 4b80452d1a..0000000000 --- a/presets_milkdrop/Zylot - Winding Path Over The Blue Abyss.milk +++ /dev/null @@ -1,75 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=2.006761 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=2.518209 -fWaveScale=0.484544 -fWaveSmoothing=0.900000 -fWaveParam=-0.400000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=100.000000 -fWarpScale=100.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.972365 -sx=1.000000 -sy=1.000000 -wave_r=0.700000 -wave_g=0.400000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.000000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=vol = (bass+mid+att)/6; -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_8=xpos = xpos + 0.001*xspeed; -per_frame_9=wave_x = xpos + 0.5; -per_frame_10=wave_mystery = wave_mystery + bass*.11; -per_frame_11=ob_b = .2 + .075*sin(time); -per_pixel_1=dy = dy - .005*y-.00173; diff --git a/presets_milkdrop/che - barcode infidelity.milk b/presets_milkdrop/che - barcode infidelity.milk deleted file mode 100755 index a582d8d50d..0000000000 --- a/presets_milkdrop/che - barcode infidelity.milk +++ /dev/null @@ -1,113 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.992000 -fVideoEchoZoom=1.489606 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000416 -fWaveScale=0.303117 -fWaveSmoothing=0.000000 -fWaveParam=-0.600000 -fModWaveAlphaStart=1.000000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000158 -fShader=0.800000 -zoom=1.000223 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.501000 -wave_y=0.990000 -ob_size=0.340000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.200000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=2.048001 -nMotionVectorsY=47.999996 -mv_dx=-0.080000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=// timed sidon sensor -per_frame_2=// le = signal level; desired average value = 2 -per_frame_3=le=1.4*bass_att+.1*bass+.5*treb; -per_frame_4=pulse=above(le,th); -per_frame_5=// pulsefreq = running average of interval between last 5 pulses -per_frame_6=pulsefreq=if(equal(pulsefreq,0),2, -per_frame_7=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq)); -per_frame_8=lastpulse=if(pulse,time,lastpulse); -per_frame_9=// bt = relative time; 0 = prev beat; 1 = expected beat -per_frame_10=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq); -per_frame_11=// hccp = handcicap for th driven by bt -per_frame_12=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)), -per_frame_13=(pow(sin((bt-1)*7.854),4)-1),0); -per_frame_14=beat=band(above(le,th+hccp),btblock); -per_frame_15=btblock=1-above(le,th+hccp); -per_frame_16=lastbeat=if(beat,time,lastbeat); -per_frame_17=beatfreq=if(equal(beatfreq,0),2, -per_frame_18=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq)); -per_frame_19=// th = threshold -per_frame_20=th=if(above(le,th),le+114/(le+10)-7.407, -per_frame_21=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th)); -per_frame_22=th=if(above(th,6),6,th); -per_frame_23=thccl=thccl+(th-2.5144); -per_frame_24= -per_frame_25=bccl=bccl+beat; -per_frame_26=q1=thccl; -per_frame_27=q2=bccl; -per_frame_28= -per_frame_29=wave_r=sqr(sin(.016*thccl+bccl+frame%2)); -per_frame_30=wave_g=sqr(sin(.018*thccl+bccl+frame%2)); -per_frame_31=wave_b=sqr(sin(.017*thccl+bccl+frame%2)); -per_frame_32=wave_x=if(frame%2,.501,.5); -per_frame_33=wave_y=if(frame%2,.99,.5); -per_frame_34=wave_mode=if(frame%2,7,0); -per_frame_35=wave_mystery=if(frame%2,0,-.6); -per_frame_36= -per_frame_37=ob_a=if(above(sin(.005*thccl+bccl),.9),.05*(1+sin(time)),0); -per_pixel_1=//middle part -per_pixel_2=zoom=1+above(sin(1.7*q2),-.5)*.1*sin(2*q2+.027*q1+4*(1+sin(.7*time+q2))*sin(.05*q2+time)*rad); -per_pixel_3=rot=.1*sin(q2)*sin(2.3*q2+.027*q1+2*sin(.07*q1+1.2*time)*(rad+sin(time+above(sin(q2),0)*4*sin(q2)*ang))); -per_pixel_4=rot=above(sin(1.2*q2+1.3),-.5)*rot; -per_pixel_5= -per_pixel_6=//borders -per_pixel_7=brdr=bor(below(y,.15),above(y,.85)); -per_pixel_8=dy=if(below(y,.15),y,0)+if(above(y,.85),-1+y,0)+if(brdr,0,dy); -per_pixel_9=dx=if(brdr,.01*sin(.02*q1+x+3*ang+10*y),dx); -per_pixel_10=rot=if(brdr,0,rot); -per_pixel_11=zoom=if(brdr,1,zoom); -per_pixel_12=sx=if(brdr,1,sx); -per_pixel_13=sy=if(brdr,1,sy); diff --git a/presets_milkdrop/idiot - Dwarf of Annon (before the star).milk b/presets_milkdrop/idiot - Dwarf of Annon (before the star).milk deleted file mode 100755 index bdcd28e541..0000000000 --- a/presets_milkdrop/idiot - Dwarf of Annon (before the star).milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.999000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.186470 -fWaveSmoothing=0.630000 -fWaveParam=-0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.280000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.300000 -wave_g=0.600000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.499900 -ob_g=0.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.200000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; -per_frame_2=vol=bass+treb+mid; -per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); -per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); -per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); -per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); -per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); -per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); -per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); -per_frame_10=q1=sin(Bass-new_bass&timE*.63); -per_frame_11=q2=sin(treb-new_treb&time*.43); -per_frame_12=q3=sin(mid-new_mid&time*.23); -per_frame_13=q4=sin(vol&time*.65); -per_frame_14=q5=bass_c; -per_frame_15=q6=treb_c; -per_frame_16=q7=mid_c; -per_frame_17=q8=vol_c; -per_frame_18=wave_mysyery=bass_Att-1; -per_frame_19=wave_R=wave_r+.2*sin(time*.43); -per_frame_20=wave_B=wave_B-.2*sin(time*.54); -per_frame_21=wave_g=wave_g-.4*sin(time*.34); -per_frame_22=ob_a=0; -per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6); -per_pixel_2= -per_pixel_3=rote=rot+.1*sin(rad_cycle*sin(rad*3.14))+.01*sin(q1)*tan(rad)+.1; -per_pixel_4=zoome=zoom+.1*sin(rad*3.14*sin(ang*3.14)*sin(q2)-rote); -per_pixel_5=zoom=zoome+.05*sin(rad*3.14*q2)*sin(q4); -per_pixel_6=rot=rote*rad*sin(Q3)*Sin(Ang*3.14*sin(q3)*sin(Q4))/2+.1*sin(ang*3.14)*sin(Q1); diff --git a/presets_milkdrop/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk b/presets_milkdrop/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk deleted file mode 100755 index 3a628c8eae..0000000000 --- a/presets_milkdrop/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk +++ /dev/null @@ -1,94 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.040271 -fWaveSmoothing=0.630000 -fWaveParam=-0.400000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=44.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; -per_frame_2=vol=bass+treb+mid; -per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); -per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); -per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); -per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); -per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); -per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); -per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); -per_frame_10=q1=sin(Bass-new_bass&timE*.63); -per_frame_11=q2=sin(treb-new_treb&time*.43); -per_frame_12=q3=sin(mid-new_mid&time*.23); -per_frame_13=q4=sin(vol&time*.65); -per_frame_14=q5=bass_c; -per_frame_15=q6=treb_c; -per_frame_16=q7=wave_x; -per_frame_17=q8=wave_y; -per_frame_18=r=if(equal(q1,1),.1+.5*sin(time*.65),.5+.5*sin(time*.54)); -per_frame_19=b=if(equal(q1,1),.1+.5*sin(time*.43),.5+.5*sin(time*.23)); -per_frame_20=g=if(equal(q1,1),.1+.5*sin(time*.54),.5+.5*sin(time*.65)); -per_frame_21=wave_x=.5+.4*Sin(time*.54); -per_frame_22=wave_y=.5+.4*sin(Time*.23); -per_frame_23=mv_a=100; -per_frame_24=wave_r=r; -per_frame_25=wave_b=b; -per_frame_26=wave_G=g; -per_frame_27=mv_r=r; -per_frame_28=mv_b=b; -per_frame_29=mv_g=g; -per_pixel_1=dx=dx+.01*sin((x*50)*30*sin(q2)); -per_pixel_2=dy=dy+.01*sin((y*50)*30*sin(q1)); diff --git a/presets_milkdrop/idiot - Shadows of Annon.milk b/presets_milkdrop/idiot - Shadows of Annon.milk deleted file mode 100755 index 92f83db6ee..0000000000 --- a/presets_milkdrop/idiot - Shadows of Annon.milk +++ /dev/null @@ -1,93 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.999000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.186470 -fWaveSmoothing=0.630000 -fWaveParam=-0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.280000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.300000 -wave_g=0.600000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.499900 -ob_g=0.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.200000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=vol_att=(treb_att*.25)+(mid_att*.25)+(bass_att*.25+.5*sin(vol))/vol; -per_frame_2=vol=bass+treb+mid; -per_frame_3=new_bass=(bass*.25+.5*sin(Bass_att*.25)); -per_frame_4=new_treb=(treb*.25+.5*sin(treb_att*.25)); -per_frame_5=new_mid=(mid*.25+.4*sin(mid_att*.25)); -per_frame_6=bass_c=q1-1*sin(bass_Att&time*.54); -per_frame_7=treb_c=q2-1*sin(treb_att&time*.44); -per_frame_8=mid_c=q3-1*sin(mid_att&time*.24); -per_frame_9=vol_c=q4-1*sin(vol_att&time*.64); -per_frame_10=q1=sin(Bass-new_bass&timE*.63); -per_frame_11=q2=sin(treb-new_treb&time*.43); -per_frame_12=q3=sin(mid-new_mid&time*.23); -per_frame_13=q4=sin(vol&time*.65); -per_frame_14=q5=bass_c; -per_frame_15=q6=treb_c; -per_frame_16=q7=mid_c; -per_frame_17=q8=vol_c; -per_frame_18=wave_mysyery=bass_Att-1; -per_frame_19=wave_R=wave_r+.2*sin(time*.43); -per_frame_20=wave_B=wave_B-.2*sin(time*.54); -per_frame_21=wave_g=wave_g-.4*sin(time*.34); -per_frame_22=ob_a=0; -per_pixel_1=rad_cycle=rad*rad*x*60*rad*sin(q6); -per_pixel_2= -per_pixel_3=rote=rot+.1*sin(rad_cycle*sin(rad*3.14))+.01*sin(q1)*tan(rad); -per_pixel_4=zoome=zoom+.1*sin(rad*3.14*sin(ang*3.14)*sin(q2)-rote); -per_pixel_5=zoom=zoome+.05*sin(rad*3.14*q2)*sin(q4); -per_pixel_6=rot=rote*rad*sin(Q3)*Sin(Ang*3.14*sin(q3)*sin(Q4))/2+.1*sin(ang*3.14)*sin(Q1); -per_pixel_7=dx=rot/2/2/2/ang*sin(q5); -per_pixel_8=dy=rot/2/2/2*sin(q3); diff --git a/presets_milkdrop/idiot - Waterfalls (remix2).milk b/presets_milkdrop/idiot - Waterfalls (remix2).milk deleted file mode 100755 index 3205e52c77..0000000000 --- a/presets_milkdrop/idiot - Waterfalls (remix2).milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.905229 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.010000 -fWarpScale=23.478342 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.653090 -sx=1.000000 -sy=0.970590 -wave_r=0.000000 -wave_g=0.400000 -wave_b=0.500000 -wave_x=0.959900 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=36.039127 -nMotionVectorsY=14.432342 -mv_dx=0.000000 -mv_dy=-0.028379 -mv_l=2.027725 -mv_r=0.641823 -mv_g=0.641823 -mv_b=0.641823 -mv_a=0.000000 -per_frame_1=wave_b=wave_B+.5*sin(time*.52); -per_frame_2=wave_r=wave_r-.3*sin(Time*.12); -per_frame_3=wave_g=rand(10); -per_frame_4=warp=warp*sin(mid&time*.43); -per_pixel_1=dye=(.01-.03*rad*sin(bass&time*.64*y*sin(bass&time*.53))*x*sin(bass&Time*.563)*rad*sin(Bass&time*.213)); -per_pixel_2=//dx=-dye*sin(bass&time*.423); -per_pixel_3=dy=dye*sin(rad*3.14+.1*sin(bass&time*.23-ang+rad)-x-y*sin(bass&time*.43))-(dye+.001)*sin(bass&time*.12); diff --git a/presets_milkdrop/idiot - Waterfalls.milk b/presets_milkdrop/idiot - Waterfalls.milk deleted file mode 100755 index 76e8458aa5..0000000000 --- a/presets_milkdrop/idiot - Waterfalls.milk +++ /dev/null @@ -1,67 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.400000 -wave_b=0.500000 -wave_x=0.959900 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=1.248000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=wave_b=wave_B+.5*sin(time*.52); -per_frame_2=wave_r=wave_r-.3*sin(Time*.12); -per_frame_3=wave_g=rand(10); -per_pixel_1=dy=abs(.01-.03*rad*sin(bass&time*.64*y*sin(bass&time*.53))*x*rad); diff --git a/presets_milkdrop/illusion & techno - double highway.milk b/presets_milkdrop/illusion & techno - double highway.milk deleted file mode 100755 index bb8624d777..0000000000 --- a/presets_milkdrop/illusion & techno - double highway.milk +++ /dev/null @@ -1,77 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.985000 -fVideoEchoZoom=1.000224 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.003100 -fWaveScale=1.004800 -fWaveSmoothing=0.000000 -fWaveParam=-0.500000 -fModWaveAlphaStart=1.000000 -fModWaveAlphaEnd=1.010000 -fWarpAnimSpeed=0.999994 -fWarpScale=8.098194 -fZoomExponent=1.001830 -fShader=1.000000 -zoom=1.190222 -rot=0.000000 -cx=1.400000 -cy=1.400000 -dx=0.000000 -dy=0.000000 -warp=1.447716 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.500000 -wave_b=0.800000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.030000 -ib_r=0.380000 -ib_g=0.270000 -ib_b=0.030000 -ib_a=0.300000 -nMotionVectorsX=10.879999 -nMotionVectorsY=11.520000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=1.000000 -mv_b=0.000000 -mv_a=0.250000 -per_frame_1=wave_mystery=abs(sin(time*0.51))*-1; -per_frame_2=cx=cx+(sin(time)*if(above(sin(time),0),(-1+bass),1.3))*0.5; -per_frame_3=cy=cy+(cos(time)*if(below(sin(time),0),(-1+bass),1.3))*0.6; -per_frame_4=mv_x=mv_x+sin(time/1.8)*3; -per_frame_5=mv_y=mv_x-sin(time/2)*3.5; -per_frame_6=wave_r=bass; -per_frame_7=wave_g=wave_g+sin(time*0.74)*0.3; -per_frame_8=wave_b=wave_b+sin(time*0.83)*0.2; -per_frame_9=mv_g=mv_g*abs(sin(time)); -per_frame_10=mv_r=bass; -per_frame_11=mv_b=treb; -per_frame_12=ib_size=ib_size+bass*0.15; -per_frame_13=rot=sin(time)*0.03; -per_frame_14=ib_r=abs(sin(time*1.5))*0.4; -per_frame_15=ib_g=abs(sin(time*1.53))*0.5 ; -per_frame_16=ib_b=abs(sin(time*1.51))*0.45 ; -per_pixel_1=zoom=zoom+rad*0.1; diff --git a/presets_milkdrop/mstress - Acid Universes.milk b/presets_milkdrop/mstress - Acid Universes.milk deleted file mode 100755 index a94d12f47c..0000000000 --- a/presets_milkdrop/mstress - Acid Universes.milk +++ /dev/null @@ -1,211 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.380000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=43 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.593334 -wavecode_0_smoothing=0.770000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = 0.5 + 0.5*sin(time*143.21); -wave_0_per_frame1=r = min(1,max(0,(bass-1))); -wave_0_per_frame2=b = 0.5 + 0.5*sin(time*1.561 + 2); -wave_0_per_frame3=g = 0.5 + 0.5*sin(time*1.213 + 4); -wave_0_per_frame4=t1 = 0; -wave_0_per_frame5=t8 = .5; -wave_0_per_point1=x = t8 + value1*0.7; -wave_0_per_point2=y = 0.5 + value2*0.9 ; -wave_0_per_point3=t1 = t1 + 0.01; -wave_0_per_point4=b = x; -wave_0_per_point5=a = 0.5 + 0.5*sin(time + t1*67); -wave_0_per_point6=a = a*a*a; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=x=.22+.7*sin(x*5); -wave_1_per_point2=y=.5+.2*sin(x*19+time); -wave_1_per_point3=a = 1; -wave_1_per_point4=b = .3*bass*1; -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.300000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x = .5+.3*sin(time*2); -shape_0_per_frame2=y = .5+.3*sin(time*1); -shape_0_per_frame3=ang = sin(time*9); -shape_0_per_frame4=a = 1; -shapecode_1_enabled=1 -shapecode_1_sides=32 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_x=0.620000 -shapecode_1_y=0.680000 -shapecode_1_rad=0.080000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.740000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.640000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=rad = rad +.04*bass; -shape_1_per_frame2=r = .1+.7*bass; -shape_1_per_frame3=g = .1+.5*mid; -shape_1_per_frame4=b = .1+.6*treb; -shape_1_per_frame5=x = .5+.2*sin(time); -shape_1_per_frame6=y = .5+.2*cos(sin(time)*1); -shape_1_per_frame7= -shape_1_per_frame8=r2 = r2+.001*bass; -shape_1_per_frame9=g2 = g2+.21*mid; -shape_1_per_frame10=b2 = b2+.21*treb; -shape_1_per_frame11= -shapecode_2_enabled=1 -shapecode_2_sides=32 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.390000 -shapecode_2_y=0.340000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.610000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.520000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=rad = rad +.04*bass; -shape_2_per_frame2=r = .1+.7*bass; -shape_2_per_frame3=g = .1+.5*mid; -shape_2_per_frame4=b = .1+.6*treb; -shape_2_per_frame5= -shape_2_per_frame6=b = .1+.6*treb; -shape_2_per_frame7=x = .5+.2*-1*sin(time); -shape_2_per_frame8=y = .5+.2*cos(sin(time)+3); -shape_2_per_frame9=r2 = r2+.1*bass; -shape_2_per_frame10=g2 = 1;//+.1*mid; -shape_2_per_frame11=b2 = b2+.16*treb; -per_pixel_1=zoom = zoom-.051*rad; -per_pixel_2=rot = rot +.1*sin(time); -per_pixel_3=circle = 3*(max(bass-.5,0.4))*rad*rad; -per_pixel_4=q1 = 1.55+0.5*(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_5=zoom = if(above(circle,1),q1*.1,zoom);//1-0.3*log(sqrt(2)-rad)); -per_pixel_6=dx = if(above(circle,1),1.3*sin(x+0.542*time),dx); -per_pixel_7=dy= if(above(circle,1),1.3*sin(y+0.581*time),dy); diff --git a/presets_milkdrop/neuro - blackhole bass.milk b/presets_milkdrop/neuro - blackhole bass.milk deleted file mode 100755 index 90fc7b7570..0000000000 --- a/presets_milkdrop/neuro - blackhole bass.milk +++ /dev/null @@ -1,73 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.260000 -fDecay=0.998000 -fVideoEchoZoom=2.187370 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.869961 -fWaveScale=2.486600 -fWaveSmoothing=0.738000 -fWaveParam=1.000000 -fModWaveAlphaStart=1.139999 -fModWaveAlphaEnd=0.820000 -fWarpAnimSpeed=0.550436 -fWarpScale=2.202652 -fZoomExponent=0.321635 -fShader=0.000000 -zoom=1.350996 -rot=-0.000000 -cx=0.020000 -cy=-0.010000 -dx=-0.020000 -dy=0.020000 -warp=0.012081 -sx=1.009997 -sy=1.009999 -wave_r=0.250000 -wave_g=0.370000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.235000 -ob_r=0.100000 -ob_g=0.000000 -ob_b=1.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.170000 -ib_g=0.360000 -ib_b=0.829999 -ib_a=0.300000 -nMotionVectorsX=14.720003 -nMotionVectorsY=14.759995 -mv_dx=1.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.500000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.500*( 0.3 -per_frame_2=1*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_3=wave_g = wave_g + 0.500*( 0.30*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_4=wave_b = wave_b + 0.500*( 0.30*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_5=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) ); -per_frame_6=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_7=decay = decay - 0.01*equal(frame%50,0); -per_frame_8=zoom=zoom * ((bass_att + bass)/ 2) * 0.5; -per_frame_9=warp = warp + mid_att; -per_frame_10=rot = rot * 0.2; diff --git a/presets_milkdrop/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk b/presets_milkdrop/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk deleted file mode 100755 index 8090d436d5..0000000000 --- a/presets_milkdrop/nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk +++ /dev/null @@ -1,134 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.945999 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.910342 -fWaveSmoothing=0.000000 -fWaveParam=0.108060 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.900000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.543247 -wave_g=0.328188 -wave_b=0.521643 -wave_x=0.733941 -wave_y=0.406558 -ob_size=0.000000 -ob_r=0.584900 -ob_g=0.978985 -ob_b=0.616979 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.207509 -ib_g=0.521497 -ib_b=0.945927 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=wave_x = wave_x + 0.3*sin(2.2*time) - 0.15*cos(2.1*time) + 0.1*sin(1.2*time); -per_frame_2=wave_y = wave_y + 0.3*sin(2.3*time) - 0.1*sin(1.88*time) + 0.13*cos(time); -per_frame_3=dx = dx + 0.024*sin(1.24*time); -per_frame_4=dy = dy + 0.024*sin(1.12*time); -per_frame_5=wave_r = wave_r + 0.35*sin(1.13*time) + 0.1245*sin(2.34*time); -per_frame_6=wave_g = wave_g + 0.35*sin(1.23*time) + 0.12*sin(2.134*time); -per_frame_7=wave_b = wave_b + 0.35*sin(1.33*time) + 0.12*sin(2.5*time); -per_frame_8=wave_mystery = wave_mystery + 0.00*sin(time); -per_frame_9=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.3)*0.96+1.3); -per_frame_10=turnr = equal(turn,2)*0.019*sin(time*6.6) + (1-equal(turn,2))*turnr; -per_frame_11=simp = simp * 0.35*sin(1.2*time) - 0.62*sin(0.7*time) + 1.5*sin(turn); -per_frame_12=rot = rot + 1.05*((0.25*simp)*10*turnr); -per_frame_13=cx = -42.68603921*sign(beat * beat); -per_frame_14=ib_a = max(beat - beat , volume + beatrate); -per_frame_15=ob_a = volume * beat; -per_frame_16=dx = -61.74305975*rand(int(max(dx * volume , beat * beatrate))); -per_frame_17=ob_size = -43.66785884*sin(volume + volume); -per_frame_18=ib_a = -48.4728992*abs(47.9157567*acos(ib_a + beat)); -per_frame_19=cy = max(volume * beat , volume + beat); -per_frame_20=mv_l = 39.23734426*log(if(above(volume - volume , beat + volume) , beat * beatrate , beatrate + volume)); -per_frame_21=ib_a = -7.89672136*acos(ib_a * beatrate); -per_frame_22=rot=if(below(rot,-1.0), -1.0, rot); -per_frame_23=rot=if(above(rot,1.0), 1.0, rot); -per_frame_24=cx=if(below(cx,-1.0), -1.0, cx); -per_frame_25=cx=if(above(cx,2.0), 2.0, cx); -per_frame_26=cy=if(below(cy,-1.0), -1.0, cy); -per_frame_27=cy=if(above(cy,2.0), 2.0, cy); -per_frame_28=dx=if(below(dx,-1), -1, dx); -per_frame_29=dx=if(above(dx,1.0), 1.0, dx); -per_frame_30=dy=if(below(dy,-1), -1, dy); -per_frame_31=dy=if(above(dy,1.0), 1.0, dy); -per_frame_32=wave_r=if(below(wave_r,0.0), 0.0, wave_r); -per_frame_33=wave_r=if(above(wave_r,1.0), 1.0, wave_r); -per_frame_34=wave_b=if(below(wave_b,0.0), 0.0, wave_b); -per_frame_35=wave_b=if(above(wave_b,1.0), 1.0, wave_b); -per_frame_36=wave_g=if(below(wave_g,0.0), 0.0, wave_g); -per_frame_37=wave_g=if(above(wave_g,1.0), 1.0, wave_g); -per_frame_38=wave_x=if(below(wave_x,0.0), 0.0, wave_x); -per_frame_39=wave_x=if(above(wave_x,1.0), 1.0, wave_x); -per_frame_40=wave_y=if(below(wave_y,0.0), 0.0, wave_y); -per_frame_41=wave_y=if(above(wave_y,1.0), 1.0, wave_y); -per_frame_42=wave_mystery=if(below(wave_mystery,-1.0), -1.0, wave_mystery); -per_frame_43=wave_mystery=if(above(wave_mystery,1.0), 1.0, wave_mystery); -per_frame_44=ob_size=if(below(ob_size,0.0), 0.0, ob_size); -per_frame_45=ob_size=if(above(ob_size,0.5), 0.5, ob_size); -per_frame_46=ob_a=if(below(ob_a,0.0), 0.0, ob_a); -per_frame_47=ob_a=if(above(ob_a,1.0), 1.0, ob_a); -per_frame_48=ib_a=if(below(ib_a,0.0), 0.0, ib_a); -per_frame_49=ib_a=if(above(ib_a,1.0), 1.0, ib_a); -per_frame_50=mv_l=if(below(mv_l,0.0), 0.0, mv_l); -per_frame_51=mv_l=if(above(mv_l,5.0), 5.0, mv_l); -per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time))); -per_pixel_2=sy = bor(-59.87649858*sqr(y * ang) , rot - y); -per_pixel_3=dx = ang * rot; -per_pixel_4=zoomexp = -83.40497017*sqrt(x * q1); -per_pixel_5=rot = -64.34893906*asin(rot - rot); -per_pixel_6=warp = ang * q1; -per_pixel_7=warp = -55.12191951*pow(-6.81577921*tan(warp * rot) , rot * q1); -per_pixel_8=cy = -50.60476065*tan(if(equal(x * rot , x - q1) , ang * rot , rot + x)); -per_pixel_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); -per_pixel_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); -per_pixel_11=rot=if(below(rot,-1.0), -1.0, rot); -per_pixel_12=rot=if(above(rot,1.0), 1.0, rot); -per_pixel_13=warp=if(below(warp,0.01), 0.01, warp); -per_pixel_14=warp=if(above(warp,100.0), 100.0, warp); -per_pixel_15=cy=if(below(cy,-1.0), -1.0, cy); -per_pixel_16=cy=if(above(cy,2.0), 2.0, cy); -per_pixel_17=dx=if(below(dx,-1), -1, dx); -per_pixel_18=dx=if(above(dx,1.0), 1.0, dx); -per_pixel_19=sy=if(below(sy,0.01), 0.01, sy); -per_pixel_20=sy=if(above(sy,100.0), 100.0, sy); diff --git a/presets_milkdrop/nil & EMPR - Electron Flow (Copper Wire Mix).milk b/presets_milkdrop/nil & EMPR - Electron Flow (Copper Wire Mix).milk deleted file mode 100755 index e0974cf8d2..0000000000 --- a/presets_milkdrop/nil & EMPR - Electron Flow (Copper Wire Mix).milk +++ /dev/null @@ -1,82 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.013328 -fDecay=0.974000 -fVideoEchoZoom=1.014851 -fVideoEchoAlpha=0.001339 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.089408 -fWaveScale=4.061914 -fWaveSmoothing=0.893392 -fWaveParam=0.820357 -fModWaveAlphaStart=0.690700 -fModWaveAlphaEnd=1.285837 -fWarpAnimSpeed=1.003879 -fWarpScale=1.317889 -fZoomExponent=0.993950 -fShader=0.000997 -zoom=1.068231 -rot=0.008654 -cx=0.509134 -cy=0.505007 -dx=0.012951 -dy=0.019927 -warp=0.212130 -sx=0.983901 -sy=0.985109 -wave_r=0.173493 -wave_g=0.314463 -wave_b=0.994274 -wave_x=0.814175 -wave_y=0.113972 -ob_size=0.000000 -ob_r=0.285250 -ob_g=0.096257 -ob_b=0.172696 -ob_a=0.000000 -ib_size=0.023197 -ib_r=0.568091 -ib_g=0.199823 -ib_b=0.943238 -ib_a=0.000000 -nMotionVectorsX=11.999315 -nMotionVectorsY=8.992329 -mv_dx=-0.380524 -mv_dy=0.620417 -mv_l=3.905494 -mv_r=0.889021 -mv_g=0.590976 -mv_b=0.145450 -mv_a=0.688509 -per_frame_1=volume = 0.3*(bass+mid+att); -per_frame_2=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_3=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_5=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_6=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); -per_frame_7=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_8=lastbeat = if(beat,time,lastbeat); -per_frame_9=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_10=q1=beat; -per_frame_11=ob_r = 49.5036006*asin(if(equal(peakbass_att * mv_l , wave_mode * ib_r) , ob_a - ob_a , wave_mode - mv_x)); -per_frame_12=ib_r = max(warp * treb , mv_r + ib_g); -per_frame_13=ib_b = 39.6116972*asin(bnot(mv_l * sy)); -per_frame_14=mv_a = 29.12615538*int(92.13204384*sqrt(ib_b + ib_size)); -per_frame_15=wave_y = bnot(treb - mv_l); -per_frame_16=cy = 21.95614576*int(-92.39946604*sign(bor(wave_mode - progress , warp - mid))); -per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time))); -per_pixel_2=cy = x * rad; -per_pixel_3=zoomexp = ang * ang; diff --git a/presets_milkdrop/nil & EMPR - Ruby Nirvana.milk b/presets_milkdrop/nil & EMPR - Ruby Nirvana.milk deleted file mode 100755 index 7c53c146ca..0000000000 --- a/presets_milkdrop/nil & EMPR - Ruby Nirvana.milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.003337 -fDecay=0.992540 -fVideoEchoZoom=0.994551 -fVideoEchoAlpha=0.000414 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.919854 -fWaveScale=0.367647 -fWaveSmoothing=0.000000 -fWaveParam=-0.000529 -fModWaveAlphaStart=0.004160 -fModWaveAlphaEnd=0.002520 -fWarpAnimSpeed=0.992486 -fWarpScale=1.337077 -fZoomExponent=1.001262 -fShader=0.008294 -zoom=1.001709 -rot=-0.008211 -cx=0.688973 -cy=0.703908 -dx=-0.000000 -dy=0.000000 -warp=0.012283 -sx=1.003900 -sy=8.927234 -wave_r=0.898049 -wave_g=0.753833 -wave_b=0.587053 -wave_x=0.500172 -wave_y=0.499979 -ob_size=0.092766 -ob_r=0.970000 -ob_g=0.020000 -ob_b=0.110000 -ob_a=0.900320 -ib_size=0.001000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.297322 -nMotionVectorsX=30.053596 -nMotionVectorsY=30.017624 -mv_dx=0.001207 -mv_dy=-0.000247 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r=sin(bass); -per_frame_3=wave_g=sin(mid); -per_frame_4=wave_b=sin(treb); -per_frame_5=dy=.003; -per_frame_6=wave_mystery = max(sigmoid(mid_att + mid_att , bass_att - sy) , mid - mv_r); -per_frame_7=mv_x = -98.79409084*tan(max(mv_l - ib_size , wave_mode * decay)); -per_frame_8=warp = 59.44966078*sqrt(warp - wave_y); -per_frame_9=warp=if(below(warp,0.01), 0.01, warp); -per_frame_10=warp=if(above(warp,100.0), 100.0, warp); -per_frame_11=dy=if(below(dy,-1), -1, dy); -per_frame_12=dy=if(above(dy,1.0), 1.0, dy); -per_frame_13=wave_r=if(below(wave_r,0.0), 0.0, wave_r); -per_frame_14=wave_r=if(above(wave_r,1.0), 1.0, wave_r); -per_frame_15=wave_b=if(below(wave_b,0.0), 0.0, wave_b); -per_frame_16=wave_b=if(above(wave_b,1.0), 1.0, wave_b); -per_frame_17=wave_g=if(below(wave_g,0.0), 0.0, wave_g); -per_frame_18=wave_g=if(above(wave_g,1.0), 1.0, wave_g); -per_frame_19=wave_mystery=if(below(wave_mystery,-1.0), -1.0, wave_mystery); -per_frame_20=wave_mystery=if(above(wave_mystery,1.0), 1.0, wave_mystery); -per_frame_21=mv_x=if(below(mv_x,0.0), 0.0, mv_x); -per_frame_22=mv_x=if(above(mv_x,64.0), 64.0, mv_x); -per_pixel_1=dx=sin(y)*.02; -per_pixel_2=zoomexp = ang * ang; -per_pixel_3=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp); -per_pixel_4=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp); -per_pixel_5=dx=if(below(dx,-1), -1, dx); -per_pixel_6=dx=if(above(dx,1.0), 1.0, dx); diff --git a/presets_milkdrop/nil - Did You Speak with the Orb.milk b/presets_milkdrop/nil - Did You Speak with the Orb.milk deleted file mode 100755 index 6b79816f95..0000000000 --- a/presets_milkdrop/nil - Did You Speak with the Orb.milk +++ /dev/null @@ -1,71 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.966000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.507644 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=8.000000 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1= -per_frame_2=wave_r=sin(bass); -per_frame_3=wave_g=sin(treb); -per_frame_4=wave_b=sin(mid); -per_frame_5=cx=sin(time*.475)*.005; -per_frame_6=cy=sin(time*.525)*.005; -per_pixel_1=zoom=zoom+sin((rad-sin(time)*sin(bass)+.1)*3.2)*.1; -per_pixel_2=rot=rot+(cos(rad)+sin(time*.9)*2)*.04; diff --git a/presets_milkdrop/nil - Tim Leary's Amazing Waterslide.milk b/presets_milkdrop/nil - Tim Leary's Amazing Waterslide.milk deleted file mode 100755 index 99f5d4d2ac..0000000000 --- a/presets_milkdrop/nil - Tim Leary's Amazing Waterslide.milk +++ /dev/null @@ -1,68 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.999599 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.350000 -fModWaveAlphaEnd=1.160000 -fWarpAnimSpeed=2.216709 -fWarpScale=7.113800 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=19.679998 -nMotionVectorsY=15.239994 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r=sin(bass*time); -per_frame_2=wave_g=sin(mid*time); -per_frame_3=wave_b=sin(treb*time); -per_pixel_1=zoom=exp(rad)/1.5; -per_pixel_2=warp=sin(ang)*5; diff --git a/presets_milkdrop/nil - Wyrm.milk b/presets_milkdrop/nil - Wyrm.milk deleted file mode 100755 index 4d72d63a37..0000000000 --- a/presets_milkdrop/nil - Wyrm.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=2.987792 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.378117 -fWaveSmoothing=0.000000 -fWaveParam=-0.140000 -fModWaveAlphaStart=0.410000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.986880 -fShader=1.000000 -zoom=0.999800 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999999 -sy=1.000000 -wave_r=0.000000 -wave_g=1.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=9.023985 -nMotionVectorsY=9.000004 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=0.000000 -mv_g=0.550000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r=abs(sin(mid+time*.42)); -per_frame_3=wave_g=abs(sin(bass+time*.51)); -per_frame_4=wave_b=abs(sin(treb+time*.71)); -per_frame_5=dx=sin(time*.434)*.01; -per_frame_6=dy=cos(time*.574)*.01; -per_pixel_1=zoom=if(below(rad,.222),.1,1); diff --git a/presets_milkdrop/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets_milkdrop/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk deleted file mode 100644 index df3a333e0c..0000000000 --- a/presets_milkdrop/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk +++ /dev/null @@ -1,455 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.999894 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999900 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.300000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=6.399996 -nMotionVectorsY=4.800006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=sp = sample*6.283185; -wave_0_per_point2=x = .5 + sin(sp)*.45; -wave_0_per_point3=y = .5 + cos(sp)*.45; -wave_0_per_point4= -wave_0_per_point5=tm = time*.5 + sp; -wave_0_per_point6= -wave_0_per_point7=r = .75 + .25*sin(tm*1.178); -wave_0_per_point8=g = .75 + .25*sin(tm*1.152); -wave_0_per_point9=b = .75 + .25*sin(tm*1.102); -wave_0_per_point10= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=51 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.327350 -wavecode_1_smoothing=0.820000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=3.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_1_per_point1=it = (it+1)*below(it,5); -wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_1_per_point5= -wave_1_per_point6=tm = time*.5 + sample*2; -wave_1_per_point7= -wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_1_per_point10= -wave_1_per_point11=x = vx; -wave_1_per_point12=y = vy; -wave_1_per_point13= -wave_1_per_point14=tm= 1.11 + sample + t1*2; -wave_1_per_point15= -wave_1_per_point16=flux=sin(time)*0.5; -wave_1_per_point17=fluy=cos(time)*0.5; -wave_1_per_point18= -wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_1_per_point21=xfade = (xfade2+xfade)*0.5; -wave_1_per_point22= -wave_1_per_point23= -wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_1_per_point27= -wave_1_per_point28=r=r1*xfade + g1*(1-xfade); -wave_1_per_point29=g=g1*xfade + b1*(1-xfade); -wave_1_per_point30=b=b1*xfade + r1*(1-xfade); -wave_1_per_point31= -wave_1_per_point32= -wave_1_per_point33=//r=xfade;g=xfade;b=xfade; -wave_1_per_point34= -wave_1_per_point35= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=51 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.327350 -wavecode_2_smoothing=0.820000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=3.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_2_per_point1=it = (it+1)*below(it,25); -wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_2_per_point5= -wave_2_per_point6=tm = time*.5 + sample*2; -wave_2_per_point7= -wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_2_per_point10= -wave_2_per_point11=x = vx; -wave_2_per_point12=y = vy; -wave_2_per_point13= -wave_2_per_point14=tm= 1.11 + sample + t1*2.0; -wave_2_per_point15= -wave_2_per_point16=flux=sin(time)*0.5; -wave_2_per_point17=fluy=cos(time)*0.5; -wave_2_per_point18= -wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_2_per_point21=xfade = (xfade2+xfade)*0.5; -wave_2_per_point22= -wave_2_per_point23= -wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_2_per_point27= -wave_2_per_point28=r=r1*xfade + g1*(1-xfade); -wave_2_per_point29=g=g1*xfade + b1*(1-xfade); -wave_2_per_point30=b=b1*xfade + r1*(1-xfade); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=1 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=tic = min(time-tir,.1); -wave_3_per_frame2=tir = time; -wave_3_per_frame3=t2 = tic; -wave_3_per_point1=sam = rand(1001)*.001; -wave_3_per_point2=sam = sample; -wave_3_per_point3=it = (it+1)*above(sam,0); -wave_3_per_point4=set = int(sam*6); -wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); -wave_3_per_point6=off = .866025403; -wave_3_per_point7= -wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); -wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); -wave_3_per_point10= -wave_3_per_point11=zang = q6*50; -wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); -wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); -wave_3_per_point14=mx = ox; -wave_3_per_point15=my = oy; -wave_3_per_point16= -wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; -wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); -wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); -wave_3_per_point20=a = max(-.9 + vol,0); -wave_3_per_point21= -wave_3_per_point22=x = mx*rad; -wave_3_per_point23=y = my*rad; -wave_3_per_point24= -wave_3_per_point25=x = x*.75 + q1; -wave_3_per_point26=y = y + (1-q2); -shapecode_0_enabled=1 -shapecode_0_sides=20 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.275918 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.080000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = q1; -shape_0_per_frame2=y = 1-q2; -shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); -shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.599580 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=1.256637 -shapecode_1_tex_zoom=0.010000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.850000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x = q1; -shape_1_per_frame2=y = 1-q2; -shape_1_per_frame3=ang = .785398 - q6*50 - time*8; -shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_1_per_frame5= -shape_1_per_frame6= -shape_1_per_frame7=flux = sin(time*2.1); -shape_1_per_frame8=flux = flux*above(flux,0.95); -shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_1_per_frame10=flux = max(flux,0); -shape_1_per_frame11=flux=pow(flux,1.3); -shape_1_per_frame12= -shape_1_per_frame13=rad = rad + flux*0.2 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.542619 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=1.000000 -shape_2_per_frame1=x = q1; -shape_2_per_frame2=y = 1-q2; -shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; -shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_2_per_frame5= -shape_2_per_frame6=flux = sin(time*2.1); -shape_2_per_frame7=flux = flux*above(flux,0.95); -shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_2_per_frame9=flux = max(flux,0); -shape_2_per_frame10=flux=pow(flux,1.3); -shape_2_per_frame11= -shape_2_per_frame12=rad = rad + flux*0.2 -shape_2_per_frame13= -shape_2_per_frame14= -shape_2_per_frame15= -shapecode_3_enabled=1 -shapecode_3_sides=6 -shapecode_3_additive=0 -shapecode_3_thickOutline=1 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.090529 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.819542 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = q1; -shape_3_per_frame2=y = 1-q2; -shape_3_per_frame3=ang = .261799 - q6*50; -shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; -shape_3_per_frame5= -shape_3_per_frame6=tex_ang = time*8; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=flux = sin(time*2.1); -shape_3_per_frame10=flux = flux*above(flux,0.95); -shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_3_per_frame12=flux = max(flux,0); -shape_3_per_frame13=flux=pow(flux,1.3); -shape_3_per_frame14= -shape_3_per_frame15=rad = rad + flux*0.2 -per_frame_1=warp = 0; -per_frame_2=decay=.999; -per_frame_3=//q1 = .1*tan(time); -per_frame_4=//q1 = min(0.5,max(0.0,q1)); -per_frame_5=//q1 = q1+0.5; -per_frame_6= -per_frame_7=q1=sin(time); -per_frame_8=q1sgn = sign(q1); -per_frame_9=q1=abs(q1); -per_frame_10=q1=pow(q1,6); -per_frame_11=q1=q1*q1sgn; -per_frame_12=q1=q1*0.4 + 0.5; -per_frame_13= -per_frame_14= -per_frame_15= -per_frame_16=q2 = .5 + .1*sin(time*.548); -per_frame_17= -per_frame_18=tic = min(time - tin,.1); -per_frame_19=tin = time; -per_frame_20= -per_frame_21=ra = 1; -per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_25= -per_frame_26=rb = 1; -per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_28= -per_frame_29=tt = tt + tic*treb_avg; -per_frame_30=mt = mt + tic*mid_avg; -per_frame_31=bt = bt + tic*bass_avg; -per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; -per_frame_33= -per_frame_34=sp = abs(vav - slide)*.1; -per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; -per_frame_36=toc = 1; -per_frame_37= -per_frame_38=q3 = (treb + bass + mid)*.3333; -per_frame_39=q3 = q3*q3*0.5 + 0.1; -per_frame_40=q3 = min(q3,1.0); -per_frame_41=//q3=1.25; -per_frame_42=monitor = int(q3*4)/4; -per_frame_43= -per_frame_44=q4 = mt; -per_frame_45=q5 = bt; -per_frame_46= -per_frame_47=cx = q1; -per_frame_48=cy = q2; -per_frame_49= -per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; -per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; -per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); -per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); -per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; -per_frame_55= -per_frame_56=q6 = rmod; -per_frame_57= -per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); -per_frame_59= -per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); -per_frame_61= -per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); -per_pixel_1=tm=time/rad; -per_pixel_2=a = q1; -per_pixel_3=b = q2; -per_pixel_4= -per_pixel_5=//testcode -per_pixel_6=//a=0.0;b=0.5; -per_pixel_7= -per_pixel_8=mx = x-a; -per_pixel_9=my = y-b; -per_pixel_10=zm = -.45; -per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); -per_pixel_12= -per_pixel_13=//test code -per_pixel_14=//zm= -0.5; -per_pixel_15= -per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; -per_pixel_17= -per_pixel_18=rot = rot*(1-dis); -per_pixel_19=rot=rot*20*q8 ; -per_pixel_20= -per_pixel_21=//testcode -per_pixel_22=//q3=3.1; -per_pixel_23= -per_pixel_24=limit=0.05; -per_pixel_25= -per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; -per_pixel_27=dsign=sign(dx); -per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; -per_pixel_29= -per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; -per_pixel_31=dsign=sign(dy); -per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; -per_pixel_33= diff --git a/presets_milkdrop_104/Eo.S. + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk b/presets_milkdrop_104/Eo.S. + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk deleted file mode 100644 index a226df8f33..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat + fiShbRaiN + Redi Jedi - pictures of insanity(Run Away! Run Away! mix).milk +++ /dev/null @@ -1,786 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.400000 -fDecay=0.980000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.951307 -fZoomExponent=1.001827 -fShader=0.500000 -zoom=0.999511 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=14.400005 -mv_dx=0.000000 -mv_dy=-0.010000 -mv_l=0.350000 -mv_r=0.900000 -mv_g=0.500000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=ma=.5; -wave_0_init2=my=.5; -wave_0_init3=md=0; //direction 0 1 2 3 -wave_0_per_point1=//wave1 -wave_0_per_point2=oldmd1=md1; -wave_0_per_point3=md1=(md1+rand(4))%4; -wave_0_per_point4=md1=if(equal(md1,oldmd1),(md1+1)%4,md1); -wave_0_per_point5= -wave_0_per_point6=mx1=mx1+(equal(md1,0)*.002*bass); -wave_0_per_point7=mx1=mx1-(equal(md1,1)*.002*bass); -wave_0_per_point8=my1=my1+(equal(md1,2)*.002*treb); -wave_0_per_point9=my1=my1-(equal(md1,3)*.002*treb); -wave_0_per_point10= -wave_0_per_point11=mx1=if(above(mx1,.99),.5,mx1); -wave_0_per_point12=mx1=if(below(mx1,.01),.5,mx1); -wave_0_per_point13=my1=if(above(my1,.99),.5,my1); -wave_0_per_point14=my1=if(below(my1,.01),.5,my1); -wave_0_per_point15= -wave_0_per_point16=//wave2 -wave_0_per_point17=oldmd2=md2; -wave_0_per_point18=md2=(md2+rand(4))%4; -wave_0_per_point19=md2=if(equal(md2,oldmd2),(md2+1)%4,md2); -wave_0_per_point20= -wave_0_per_point21=mx2=mx2+(equal(md2,0)*.002*bass); -wave_0_per_point22=mx2=mx2-(equal(md2,1)*.002*bass); -wave_0_per_point23=my2=my2+(equal(md2,2)*.002*treb); -wave_0_per_point24=my2=my2-(equal(md2,3)*.002*treb); -wave_0_per_point25= -wave_0_per_point26=mx2=if(above(mx2,.99),.5,mx2); -wave_0_per_point27=mx2=if(below(mx2,.01),.5,mx2); -wave_0_per_point28=my2=if(above(my2,.99),.5,my2); -wave_0_per_point29=my2=if(below(my2,.01),.5,my2); -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=f2=equal(frame%2,0); -wave_0_per_point33=x=(mx1*f2+mx2*(1-f2)); -wave_0_per_point34=y=(my1*f2+my2*(1-f2)); -wave_0_per_point35=a=bass*.1*q8; -wave_0_per_point36= -wave_0_per_point37= -wave_0_per_point38= -wave_0_per_point39=r=f2*bass+(1-f2)*sin(q3*treb); -wave_0_per_point40=g=f2*treb+(1-f2)*cos(q3*bass); -wave_0_per_point41=b=f2*(1-mid)+(1-f2)*sin(time*q4); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=mx=.5; -wave_1_init2=my=.5; -wave_1_init3=md=1; -wave_1_per_frame1=r=0; -wave_1_per_frame2=g=0; -wave_1_per_frame3=b=0; -wave_1_per_point1=oldmd1=md1; -wave_1_per_point2=md1=(md1+rand(4))%4; -wave_1_per_point3=md1=if(equal(md1,oldmd1),(md1+1)%4,md1); -wave_1_per_point4= -wave_1_per_point5=mx1=mx1+(equal(md1,0)*.002*bass); -wave_1_per_point6=mx1=mx1-(equal(md1,1)*.002*bass); -wave_1_per_point7=my1=my1+(equal(md1,2)*.002*treb); -wave_1_per_point8=my1=my1-(equal(md1,3)*.002*treb); -wave_1_per_point9= -wave_1_per_point10=mx1=if(above(mx1,.99),.5,mx1); -wave_1_per_point11=mx1=if(below(mx1,.01),.5,mx1); -wave_1_per_point12=my1=if(above(my1,.99),.5,my1); -wave_1_per_point13=my1=if(below(my1,.01),.5,my1); -wave_1_per_point14= -wave_1_per_point15= -wave_1_per_point16=oldmd2=md2; -wave_1_per_point17=md2=(md2+rand(4))%4; -wave_1_per_point18=md2=if(equal(md2,oldmd2),(md2+1)%4,md2); -wave_1_per_point19= -wave_1_per_point20=mx2=mx2+(equal(md2,0)*.002*bass); -wave_1_per_point21=mx2=mx2-(equal(md2,1)*.002*bass); -wave_1_per_point22=my2=my2+(equal(md2,2)*.002*treb); -wave_1_per_point23=my2=my2-(equal(md2,3)*.002*treb); -wave_1_per_point24= -wave_1_per_point25=mx2=if(above(mx2,.99),.5,mx2); -wave_1_per_point26=mx2=if(below(mx2,.01),.5,mx2); -wave_1_per_point27=my2=if(above(my2,.99),.5,my2); -wave_1_per_point28=my2=if(below(my2,.01),.5,my2); -wave_1_per_point29= -wave_1_per_point30= -wave_1_per_point31=f2=equal(frame%2,0); -wave_1_per_point32=x=mx1*f2+mx2*(1-f2); -wave_1_per_point33=y=my1*f2+my2*(1-f2); -wave_1_per_point34=a=q8; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=0.700000 -wavecode_2_a=1.000000 -wave_2_init1=mx=.5; -wave_2_per_frame1=r=0; -wave_2_per_frame2=g -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs*4; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x1=xs+0.5; -wave_2_per_point76=y1=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=phs=-sample * 0.4 ; -wave_2_per_point80=tm=q1 + phs*2 - 0.01; -wave_2_per_point81= -wave_2_per_point82=flip=flip+1; -wave_2_per_point83=flip=flip*below(flip,2); -wave_2_per_point84= -wave_2_per_point85=xp=0; -wave_2_per_point86=yp=(flip*0.2-0.1)*(sample); -wave_2_per_point87=zp=0; -wave_2_per_point88= -wave_2_per_point89=//spin; -wave_2_per_point90=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_2_per_point91=sa=sin(ang);ca=cos(ang); -wave_2_per_point92=xr=xp*sa + yp*ca; -wave_2_per_point93=yr=xp*ca - yp*sa; -wave_2_per_point94=zr=zp; -wave_2_per_point95= -wave_2_per_point96=xp=xr; -wave_2_per_point97=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point98=zp=zr; -wave_2_per_point99= -wave_2_per_point100=//wrist movement; -wave_2_per_point101=ang=sin(tm*2); -wave_2_per_point102= -wave_2_per_point103=xq=xp; -wave_2_per_point104=sa=sin(ang);ca=cos(ang); -wave_2_per_point105=yq=yp*sa + zp*ca; -wave_2_per_point106=zq=yp*ca - zp*sa; -wave_2_per_point107= -wave_2_per_point108= -wave_2_per_point109=ang=tm*8; -wave_2_per_point110=sa=sin(ang);ca=cos(ang); -wave_2_per_point111=xp=xq*sa + yq*ca; -wave_2_per_point112=yp=xq*ca - yq*sa; -wave_2_per_point113=zp=zq; -wave_2_per_point114= -wave_2_per_point115=//forearm movement; -wave_2_per_point116=zp=zp-0.3; -wave_2_per_point117=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point118=xq=xp; -wave_2_per_point119=sa=sin(ang);ca=cos(ang); -wave_2_per_point120=yq=yp*sa + zp*ca; -wave_2_per_point121=zq=yp*ca - zp*sa; -wave_2_per_point122= -wave_2_per_point123=//upper arm twist -wave_2_per_point124=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point125=xp=xq*sa + yq*ca; -wave_2_per_point126=yp=xq*ca - yq*sa; -wave_2_per_point127=zp=zq; -wave_2_per_point128= -wave_2_per_point129=//upper arm outward; -wave_2_per_point130=zp=zp-0.35; -wave_2_per_point131=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point132=sa=sin(ang);ca=cos(ang); -wave_2_per_point133=xq=xp*sa + zp*ca; -wave_2_per_point134=yq=yp; -wave_2_per_point135=zq=xp*ca - zp*sa; -wave_2_per_point136= -wave_2_per_point137=//upper arm up down; -wave_2_per_point138=ang=cos(tm); -wave_2_per_point139=xp=xq; -wave_2_per_point140=sa=sin(ang);ca=cos(ang); -wave_2_per_point141=yp=yq*ca - zq*sa; -wave_2_per_point142=zp=yq*sa + zq*ca; -wave_2_per_point143= -wave_2_per_point144=//xp=xq;yp=yq;zp=zq; -wave_2_per_point145= -wave_2_per_point146= -wave_2_per_point147=//project into screenspace and draw on screen -wave_2_per_point148=zp=zp+1.5; -wave_2_per_point149=xs=xp/zp; -wave_2_per_point150=ys=yp/zp; -wave_2_per_point151= -wave_2_per_point152=x2=xs+0.5; -wave_2_per_point153=y2=ys*1.3+0.5; -wave_2_per_point154= -wave_2_per_point155= -wave_2_per_point156= -wave_2_per_point157=a=q7*(1.2-sample); -wave_2_per_point158= -wave_2_per_point159=f2=equal(frame%2,0); -wave_2_per_point160=x=x1*f2+x2*(1-f2); -wave_2_per_point161=y=y1*f2+y2*(1-f2); -wave_2_per_point162= -wave_2_per_point163= -wave_2_per_point164=rr=rr+q5*.2; -wave_2_per_point165=gg=gg+q5*bass*.1; -wave_2_per_point166=bb=bb+q5*treb*.1+q2*bass; -wave_2_per_point167= -wave_2_per_point168=r=f2*sin(rr); -wave_2_per_point169=g=f2*sin(gg); -wave_2_per_point170=b=f2*sin(bb); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.720000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_init1=mx=.5; -wave_3_per_frame1=r=0; -wave_3_per_frame2=g -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + phs*2 - 0.02; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.4-0.2)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm); -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x1=xs+0.5; -wave_3_per_point76=y1=ys*1.3+0.5; -wave_3_per_point77=phs=-sample * 0.4 ; -wave_3_per_point78=tm=q1 + phs*2 - 0.03; -wave_3_per_point79= -wave_3_per_point80=flip=flip+1; -wave_3_per_point81=flip=flip*below(flip,2); -wave_3_per_point82= -wave_3_per_point83=xp=0; -wave_3_per_point84=yp=(flip*0.6-0.3)*(sample); -wave_3_per_point85=zp=0; -wave_3_per_point86= -wave_3_per_point87=//spin; -wave_3_per_point88=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point89=sa=sin(ang);ca=cos(ang); -wave_3_per_point90=xr=xp*sa + yp*ca; -wave_3_per_point91=yr=xp*ca - yp*sa; -wave_3_per_point92=zr=zp; -wave_3_per_point93= -wave_3_per_point94=xp=xr; -wave_3_per_point95=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point96=zp=zr; -wave_3_per_point97= -wave_3_per_point98=//wrist movement; -wave_3_per_point99=ang=sin(tm*2); -wave_3_per_point100= -wave_3_per_point101=xq=xp; -wave_3_per_point102=sa=sin(ang);ca=cos(ang); -wave_3_per_point103=yq=yp*sa + zp*ca; -wave_3_per_point104=zq=yp*ca - zp*sa; -wave_3_per_point105= -wave_3_per_point106= -wave_3_per_point107=ang=tm*8; -wave_3_per_point108=sa=sin(ang);ca=cos(ang); -wave_3_per_point109=xp=xq*sa + yq*ca; -wave_3_per_point110=yp=xq*ca - yq*sa; -wave_3_per_point111=zp=zq; -wave_3_per_point112= -wave_3_per_point113=//forearm movement; -wave_3_per_point114=zp=zp-0.3; -wave_3_per_point115=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point116=xq=xp; -wave_3_per_point117=sa=sin(ang);ca=cos(ang); -wave_3_per_point118=yq=yp*sa + zp*ca; -wave_3_per_point119=zq=yp*ca - zp*sa; -wave_3_per_point120= -wave_3_per_point121=//upper arm twist -wave_3_per_point122=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point123=xp=xq*sa + yq*ca; -wave_3_per_point124=yp=xq*ca - yq*sa; -wave_3_per_point125=zp=zq; -wave_3_per_point126= -wave_3_per_point127=//upper arm outward; -wave_3_per_point128=zp=zp-0.35; -wave_3_per_point129=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point130=sa=sin(ang);ca=cos(ang); -wave_3_per_point131=xq=xp*sa + zp*ca; -wave_3_per_point132=yq=yp; -wave_3_per_point133=zq=xp*ca - zp*sa; -wave_3_per_point134= -wave_3_per_point135=//upper arm up down; -wave_3_per_point136=ang=cos(tm); -wave_3_per_point137=xp=xq; -wave_3_per_point138=sa=sin(ang);ca=cos(ang); -wave_3_per_point139=yp=yq*ca - zq*sa; -wave_3_per_point140=zp=yq*sa + zq*ca; -wave_3_per_point141= -wave_3_per_point142=//xp=xq;yp=yq;zp=zq; -wave_3_per_point143= -wave_3_per_point144= -wave_3_per_point145=//project into screenspace and draw on screen -wave_3_per_point146=zp=zp+1.5; -wave_3_per_point147=xs=xp/zp; -wave_3_per_point148=ys=yp/zp; -wave_3_per_point149= -wave_3_per_point150=x2=xs+0.5; -wave_3_per_point151=y2=ys*1.3+0.5; -wave_3_per_point152= -wave_3_per_point153= -wave_3_per_point154=a=q7*(1-sample); -wave_3_per_point155= -wave_3_per_point156= -wave_3_per_point157=f2=equal(frame%2,0); -wave_3_per_point158=x=x1*f2+x2*(1-f2); -wave_3_per_point159=y=y1*f2+y2*(1-f2); -wave_3_per_point160= -wave_3_per_point161=r=f2*bass_att; -wave_3_per_point162=g=f2*sin(q3); -wave_3_per_point163=b=f2*mid; -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.301767 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.451117 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.700000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.800000 -shapecode_0_border_g=0.800000 -shapecode_0_border_b=0.500000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=tm=q1; -shape_0_per_frame2= -shape_0_per_frame3=flip=flip+1; -shape_0_per_frame4=flip=flip*below(flip,2); -shape_0_per_frame5= -shape_0_per_frame6=xp=0; -shape_0_per_frame7=yp=0; -shape_0_per_frame8=zp=0; -shape_0_per_frame9= -shape_0_per_frame10=//spin; -shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; -shape_0_per_frame12=sa=sin(ang);ca=cos(ang); -shape_0_per_frame13=xr=xp*sa + yp*ca; -shape_0_per_frame14=yr=xp*ca - yp*sa; -shape_0_per_frame15=zr=zp; -shape_0_per_frame16= -shape_0_per_frame17=xp=xr; -shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -shape_0_per_frame19=zp=zr; -shape_0_per_frame20= -shape_0_per_frame21=//wrist movement; -shape_0_per_frame22=ang=sin(tm*2); -shape_0_per_frame23= -shape_0_per_frame24=xq=xp; -shape_0_per_frame25=sa=sin(ang);ca=cos(ang); -shape_0_per_frame26=yq=yp*sa + zp*ca; -shape_0_per_frame27=zq=yp*ca - zp*sa; -shape_0_per_frame28= -shape_0_per_frame29= -shape_0_per_frame30=ang=tm*8; -shape_0_per_frame31=sa=sin(ang);ca=cos(ang); -shape_0_per_frame32=xp=xq*sa + yq*ca; -shape_0_per_frame33=yp=xq*ca - yq*sa; -shape_0_per_frame34=zp=zq; -shape_0_per_frame35= -shape_0_per_frame36=//forearm movement; -shape_0_per_frame37=zp=zp-0.3; -shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; -shape_0_per_frame39=xq=xp; -shape_0_per_frame40=sa=sin(ang);ca=cos(ang); -shape_0_per_frame41=yq=yp*sa + zp*ca; -shape_0_per_frame42=zq=yp*ca - zp*sa; -shape_0_per_frame43= -shape_0_per_frame44=//upper arm twist -shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); -shape_0_per_frame46=xp=xq*sa + yq*ca; -shape_0_per_frame47=yp=xq*ca - yq*sa; -shape_0_per_frame48=zp=zq; -shape_0_per_frame49= -shape_0_per_frame50=//upper arm outward; -shape_0_per_frame51=zp=zp-0.35; -shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; -shape_0_per_frame53=sa=sin(ang);ca=cos(ang); -shape_0_per_frame54=xq=xp*sa + zp*ca; -shape_0_per_frame55=yq=yp; -shape_0_per_frame56=zq=xp*ca - zp*sa; -shape_0_per_frame57= -shape_0_per_frame58=//upper arm up down; -shape_0_per_frame59=ang=cos(tm); -shape_0_per_frame60=xp=xq; -shape_0_per_frame61=sa=sin(ang);ca=cos(ang); -shape_0_per_frame62=yp=yq*ca - zq*sa; -shape_0_per_frame63=zp=yq*sa + zq*ca; -shape_0_per_frame64= -shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; -shape_0_per_frame66= -shape_0_per_frame67= -shape_0_per_frame68=//project into screenspace and draw on screen -shape_0_per_frame69=zp=zp+1.5; -shape_0_per_frame70=xs=xp/zp; -shape_0_per_frame71=ys=yp/zp; -shape_0_per_frame72= -shape_0_per_frame73=x=xs+0.5; -shape_0_per_frame74=y=ys*1.3+0.5; -shape_0_per_frame75= -shape_0_per_frame76=border_a=q7; -shape_0_per_frame77=a=0.7*q7; -shape_0_per_frame78= -shape_0_per_frame79= -shape_0_per_frame80=// This is the version you should use... -shape_0_per_frame81=// ----------- start copying ----------- -shape_0_per_frame82=hue=hue*(1-q5)+q5*(bass-treb*mid)*q4; // change this -shape_0_per_frame83=h=6*(hue-int(hue)); -shape_0_per_frame84=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); -shape_0_per_frame85=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); -shape_0_per_frame86=r1=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 -shape_0_per_frame87=g1=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 -shape_0_per_frame88=b1=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 -shape_0_per_frame89=// ----------- end ---------------- -shape_0_per_frame90= -shape_0_per_frame91=border_r=r1; -shape_0_per_frame92=border_g=g1; -shape_0_per_frame93=border_b=b1; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=beatrate=1; -per_frame_init_3=avgbeatrate=1; -per_frame_init_4=bbtime=1; -per_frame_init_5=lbbtime=1; -per_frame_init_6=avgdb=1; -per_frame_init_7=bc=1; -per_frame_1=db=bass-lbass; -per_frame_2=lbass=bass; -per_frame_3=vol=1+bass+mid+treb; -per_frame_4= -per_frame_5= -per_frame_6=maxdb=max(maxdb*.9999,abs(db)); -per_frame_7=rs=above(abs(db),maxdb); -per_frame_8=drs=1-rs; -per_frame_9= -per_frame_10=beatrate=1*rs+beatrate*drs; -per_frame_11=avgbeatrate=1*rs+avgbeatrate*drs; -per_frame_12=bbtime=1*rs+bbtime*drs; -per_frame_13=lbbtime=1*rs+lbbtime*drs; -per_frame_14=avgdb=1*rs+avgdb*drs; -per_frame_15=bc=bc*drs+1*rs; -per_frame_16= -per_frame_17=avgdb=avgdb*.999+abs(db)*.001; -per_frame_18= -per_frame_19=rawbeatb=above(db,avgdb*1.3); -per_frame_20=beatb=rawbeatb*above(time-lbbtime,.5*avgbeatrate); -per_frame_21= -per_frame_22= -per_frame_23=bbtime=time*beatb; -per_frame_24=beatrate=beatb*(bbtime-lbbtime)+(1-beatb)*beatrate; -per_frame_25=avgbeatrate=beatb*(avgbeatrate*.999+beatrate*.001)+(1-beatb)*avgbeatrate; -per_frame_26= -per_frame_27=lbbtime=time*beatb+(1-beatb)*lbbtime; -per_frame_28=cc=bc+beatb; -per_frame_29= -per_frame_30=q5=beatb; -per_frame_31=q1=time*.001*avgdb*avgbeatrate; -per_frame_32=q2=equal(bc%4,0)*beatb; -per_frame_33=q3=bc; -per_frame_34=q4=60/avgbeatrate; -per_frame_35=monitor=bc; -per_frame_36=decay=1; -per_frame_37=warp=0; -per_frame_38=wrap=1; -per_frame_39= -per_frame_40= -per_frame_41= -per_frame_42=cr1=cr1*(1-q2)+(1-cr1)*q2; -per_frame_43=cr2=cr2*(1-q2)+(1-cr2)*q2; -per_frame_44=q6=cr2; -per_frame_45=q8=cr1; -per_frame_46=q7=1-cr1; -per_frame_47=q6=sin(time*q4*.1); -per_frame_48= -per_frame_49=cc=sin(bc*.3); -per_frame_50=zoomexp=150*(1-cc)+cc*.1; -per_pixel_1=c1=q6; -per_pixel_2= -per_pixel_3=zoom=(1+sin(q3*bass_att)*.005)*c1+(1-c1); -per_pixel_4=rot=sin(time*q4*.1)*.1*(1-rad)*c1; -per_pixel_5=cx=(sin(time*q4*rad)*.5*bass_att+.5)*c1; -per_pixel_6=cy=(cos(time*q4*rad)*.5*bass_att+.5)*c1; diff --git a/presets_milkdrop_104/Eo.S. + Phat - CAT Scan (Nirvana flux).milk b/presets_milkdrop_104/Eo.S. + Phat - CAT Scan (Nirvana flux).milk deleted file mode 100644 index 4b8aca680f..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - CAT Scan (Nirvana flux).milk +++ /dev/null @@ -1,445 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=1.980001 -fDecay=0.900000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.311600 -fWaveScale=1.228910 -fWaveSmoothing=0.000000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.459526 -fWarpScale=2.006761 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999902 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-1.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.900000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ 0.005; -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3=t1=advance -wave_0_per_point1=s=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=//plot random x position via function of sample pos; -wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point5=xp=xp*0.20; -wave_0_per_point6= -wave_0_per_point7=//plot random y position via function of sample pos; -wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point9=yp=yp*0.20; -wave_0_per_point10= -wave_0_per_point11=//plot random z position via function of sample pos; -wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point13=zp=zp*0.25; -wave_0_per_point14= -wave_0_per_point15=//pull stars toward screen -wave_0_per_point16=zp=zp + 1 - t1; -wave_0_per_point17= -wave_0_per_point18=//correct when below 0 -wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point20= -wave_0_per_point21=//darken far stars -wave_0_per_point22=a=(1 - zp*0.5); -wave_0_per_point23= -wave_0_per_point24=zp=zp*0.7; -wave_0_per_point25= -wave_0_per_point26=x_screen=xp/zp + 0.5; -wave_0_per_point27=y_screen=yp/zp + 0.5; -wave_0_per_point28= -wave_0_per_point29=x=x_screen; -wave_0_per_point30=y=y_screen; -wave_0_per_point31= -wave_0_per_point32=r=1; -wave_0_per_point33=g=1; -wave_0_per_point34=b=1; -wave_0_per_point35= -wave_0_per_point36= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.700000 -wavecode_1_g=0.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=advance=advance+ 0.005; -wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_1_per_frame3=t1=advance -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); -wave_1_per_point5=xp=xp*0.20; -wave_1_per_point6= -wave_1_per_point7=//plot random y position via function of sample pos; -wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); -wave_1_per_point9=yp=yp*0.20; -wave_1_per_point10= -wave_1_per_point11=//plot random z position via function of sample pos; -wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); -wave_1_per_point13=zp=zp*0.25; -wave_1_per_point14= -wave_1_per_point15=//pull stars toward screen -wave_1_per_point16=zp=zp + 1 - t1; -wave_1_per_point17= -wave_1_per_point18=//correct when below 0 -wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point20= -wave_1_per_point21=//darken far stars -wave_1_per_point22=a=(1 - zp*0.5); -wave_1_per_point23= -wave_1_per_point24=zp=zp*0.7; -wave_1_per_point25= -wave_1_per_point26=x_screen=xp/zp + 0.5; -wave_1_per_point27=y_screen=yp/zp + 0.5; -wave_1_per_point28= -wave_1_per_point29=x=x_screen; -wave_1_per_point30=y=y_screen; -wave_1_per_point31= -wave_1_per_point32=r=1; -wave_1_per_point33=g=1; -wave_1_per_point34=b=1; -wave_1_per_point35= -wave_1_per_point36= -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2= -wave_2_per_point3=freq=sin(q7*0.5)*4+4; -wave_2_per_point4= -wave_2_per_point5=aflux=sin(n*0.5); -wave_2_per_point6= -wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; -wave_2_per_point8=xp=rand(10)-5; -wave_2_per_point9=xp=xp*0.0008*aflux; -wave_2_per_point10=yp=rand(10)-5; -wave_2_per_point11=yp=yp*0.0008*aflux; -wave_2_per_point12=zp=sample*3-1.5; -wave_2_per_point13= -wave_2_per_point14=//rotate on y -wave_2_per_point15=ang=(q7+time*0.01)*0.2; -wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); -wave_2_per_point17=yp2=yp; -wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); -wave_2_per_point19= -wave_2_per_point20=//rotate on x -wave_2_per_point21=ang=(q7+time*0.01)*0.3; -wave_2_per_point22=xp3=xp2; -wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27=xp=xp3; -wave_2_per_point28=yp=yp3; -wave_2_per_point29=zp=zp3; -wave_2_per_point30= -wave_2_per_point31=zp=zp+2.1; -wave_2_per_point32=xs=xp/zp; -wave_2_per_point33=ys=yp/zp; -wave_2_per_point34= -wave_2_per_point35=x=xs+0.5; -wave_2_per_point36=y=ys*1.3+0.5; -wave_2_per_point37= -wave_2_per_point38=r=(q1+q2)*0.5; -wave_2_per_point39=g=(q2+q3)*0.5; -wave_2_per_point40=b=(q3+q1)*0.5; -wave_2_per_point41= -wave_2_per_point42=a=aflux*aflux*0.7 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2= -wave_3_per_point3= -wave_3_per_point4= -wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_3_per_point6=zp=sin(time); -wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); -wave_3_per_point8=xp=sin(n)*0.1*aflux; -wave_3_per_point9=yp=cos(n)*0.1*aflux; -wave_3_per_point10= -wave_3_per_point11= -wave_3_per_point12=//rotate on y -wave_3_per_point13=ang=(q7+time*0.01)*0.2; -wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); -wave_3_per_point15=yp2=yp; -wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); -wave_3_per_point17= -wave_3_per_point18=//rotate on x -wave_3_per_point19=ang=(q7+time*0.01)*0.3; -wave_3_per_point20=xp3=xp2; -wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_3_per_point23= -wave_3_per_point24= -wave_3_per_point25=xp=xp3; -wave_3_per_point26=yp=yp3; -wave_3_per_point27=zp=zp3; -wave_3_per_point28= -wave_3_per_point29=zp=zp+2.1; -wave_3_per_point30=xs=xp/zp; -wave_3_per_point31=ys=yp/zp; -wave_3_per_point32= -wave_3_per_point33=x=xs+0.5; -wave_3_per_point34=y=ys*1.3+0.5; -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37= -wave_3_per_point38=a=aflux -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=0 -shapecode_0_x=0.800000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.650134 -shapecode_0_ang=3.644249 -shapecode_0_tex_ang=3.141593 -shapecode_0_tex_zoom=0.274293 -shapecode_0_r=0.500000 -shapecode_0_g=0.500000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.500000 -shapecode_0_border_a=0.000000 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_per_frame1=border_a=treb; -shape_0_per_frame2=rad=bass; -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.370000 -shapecode_1_y=0.490000 -shapecode_1_rad=0.749999 -shapecode_1_ang=3.644249 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=2.216712 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_init1=t1 = rand(100)*0.01; -shape_1_init2=t2 = rand(100)*0.01; -shape_1_init3=te = 1; -shape_1_init4=poly = 4; -shape_1_per_frame1= -shape_1_per_frame2=rate = fps/(fps+1/2); -shape_1_per_frame3=beat = above(bass,bassthresh); -shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); -shape_1_per_frame5=ran = rand(8)+4; -shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); -shape_1_per_frame7=//poly = if(above(poly,8),4,poly); -shape_1_per_frame8=sides = poly; -shape_1_per_frame9= -shape_1_per_frame10=rate2 = fps/(fps+10); -shape_1_per_frame11=out = (1-beat)*rate2*out + beat; -shape_1_per_frame12=border_a = out; -shape_1_per_frame13=te = bass/fps/2 + te; -shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; -shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; -shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); -shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; -shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); -shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); -shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); -shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); -shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); -shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); -shapecode_2_enabled=1 -shapecode_2_sides=40 -shapecode_2_additive=0 -shapecode_2_thickOutline=1 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.853568 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.220190 -shapecode_2_r=0.980000 -shapecode_2_g=0.000000 -shapecode_2_b=0.890000 -shapecode_2_a=0.020000 -shapecode_2_r2=0.920000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.050000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=0.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_init3=te = 1; -shape_2_init4=poly = 5; -shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); -shape_2_per_frame2=r=q1; -shape_2_per_frame3=g=q2; -shape_2_per_frame4=b=q3; -shapecode_3_enabled=0 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.265151 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=rate = fps/(fps+1/2); -shape_3_per_frame2= -shape_3_per_frame3=ang = time*0.5; -shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; -shape_3_per_frame5=te = vol/fps + te; -shape_3_per_frame6=x = x + 0.2*sin(te*1.14); -shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); -shape_3_per_frame8= -shape_3_per_frame9=beat = above(vol*1.5,bassthresh); -shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); -shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); -shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); -shape_3_per_frame13=sides = poly; -shape_3_per_frame14=rad = rad-log(poly)/100; -shape_3_per_frame15= -shape_3_per_frame16=a=pow(vol*2,2); -shape_3_per_frame17=border_a=a; -shape_3_per_frame18=rad=rad*0.7+a*0.015 -per_frame_1= -per_frame_2=vol=(bass+mid+treb)*0.25; -per_frame_3=vol=vol*vol; -per_frame_4=mtime=mtime+vol*0.018; -per_frame_5=q7=mtime; -per_frame_6=q8=vol; -per_frame_7= -per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; -per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; -per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; -per_frame_11= -per_frame_12=q1=r; -per_frame_13=q2=g; -per_frame_14=q3=b; -per_frame_15=mv_x=sin(mtime*0.25)*6+9; -per_frame_16=mv_y=sin(mtime*0.25)*6+9; -per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; -per_frame_18= -per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; -per_pixel_1=flux=sin(time*0.3)*2; -per_pixel_2=zoom=-1.02 + rad*(9+flux); -per_pixel_3= -per_pixel_4=//rot=rad*500; diff --git a/presets_milkdrop_104/Eo.S. + Phat - CAT Scan.milk b/presets_milkdrop_104/Eo.S. + Phat - CAT Scan.milk deleted file mode 100644 index 5a6f3574e0..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - CAT Scan.milk +++ /dev/null @@ -1,443 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980001 -fDecay=0.900000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.311600 -fWaveScale=1.228910 -fWaveSmoothing=0.000000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.459526 -fWarpScale=2.006761 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999902 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-1.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.900000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ 0.005; -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3=t1=advance -wave_0_per_point1=s=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=//plot random x position via function of sample pos; -wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point5=xp=xp*0.20; -wave_0_per_point6= -wave_0_per_point7=//plot random y position via function of sample pos; -wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point9=yp=yp*0.20; -wave_0_per_point10= -wave_0_per_point11=//plot random z position via function of sample pos; -wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point13=zp=zp*0.25; -wave_0_per_point14= -wave_0_per_point15=//pull stars toward screen -wave_0_per_point16=zp=zp + 1 - t1; -wave_0_per_point17= -wave_0_per_point18=//correct when below 0 -wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point20= -wave_0_per_point21=//darken far stars -wave_0_per_point22=a=(1 - zp*0.5); -wave_0_per_point23= -wave_0_per_point24=zp=zp*0.7; -wave_0_per_point25= -wave_0_per_point26=x_screen=xp/zp + 0.5; -wave_0_per_point27=y_screen=yp/zp + 0.5; -wave_0_per_point28= -wave_0_per_point29=x=x_screen; -wave_0_per_point30=y=y_screen; -wave_0_per_point31= -wave_0_per_point32=r=1; -wave_0_per_point33=g=1; -wave_0_per_point34=b=1; -wave_0_per_point35= -wave_0_per_point36= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.700000 -wavecode_1_g=0.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=advance=advance+ 0.005; -wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_1_per_frame3=t1=advance -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.44)+sin(s*14.3)+sin(s*12.8); -wave_1_per_point5=xp=xp*0.20; -wave_1_per_point6= -wave_1_per_point7=//plot random y position via function of sample pos; -wave_1_per_point8=yp=cos(s)+sin(s*0.29)+cos(s*19.4)+sin(s*37.7); -wave_1_per_point9=yp=yp*0.20; -wave_1_per_point10= -wave_1_per_point11=//plot random z position via function of sample pos; -wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*37.4)+cos(s*29.7); -wave_1_per_point13=zp=zp*0.25; -wave_1_per_point14= -wave_1_per_point15=//pull stars toward screen -wave_1_per_point16=zp=zp + 1 - t1; -wave_1_per_point17= -wave_1_per_point18=//correct when below 0 -wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point20= -wave_1_per_point21=//darken far stars -wave_1_per_point22=a=(1 - zp*0.5); -wave_1_per_point23= -wave_1_per_point24=zp=zp*0.7; -wave_1_per_point25= -wave_1_per_point26=x_screen=xp/zp + 0.5; -wave_1_per_point27=y_screen=yp/zp + 0.5; -wave_1_per_point28= -wave_1_per_point29=x=x_screen; -wave_1_per_point30=y=y_screen; -wave_1_per_point31= -wave_1_per_point32=r=1; -wave_1_per_point33=g=1; -wave_1_per_point34=b=1; -wave_1_per_point35= -wave_1_per_point36= -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2= -wave_2_per_point3=freq=sin(q7*0.5)*4+4; -wave_2_per_point4= -wave_2_per_point5=aflux=sin(n*0.5); -wave_2_per_point6= -wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; -wave_2_per_point8=xp=rand(10)-5; -wave_2_per_point9=xp=xp*0.0008*aflux; -wave_2_per_point10=yp=rand(10)-5; -wave_2_per_point11=yp=yp*0.0008*aflux; -wave_2_per_point12=zp=sample*3-1.5; -wave_2_per_point13= -wave_2_per_point14=//rotate on y -wave_2_per_point15=ang=(q7+time*0.01)*0.2; -wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); -wave_2_per_point17=yp2=yp; -wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); -wave_2_per_point19= -wave_2_per_point20=//rotate on x -wave_2_per_point21=ang=(q7+time*0.01)*0.3; -wave_2_per_point22=xp3=xp2; -wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27=xp=xp3; -wave_2_per_point28=yp=yp3; -wave_2_per_point29=zp=zp3; -wave_2_per_point30= -wave_2_per_point31=zp=zp+2.1; -wave_2_per_point32=xs=xp/zp; -wave_2_per_point33=ys=yp/zp; -wave_2_per_point34= -wave_2_per_point35=x=xs+0.5; -wave_2_per_point36=y=ys*1.3+0.5; -wave_2_per_point37= -wave_2_per_point38=r=(q1+q2)*0.5; -wave_2_per_point39=g=(q2+q3)*0.5; -wave_2_per_point40=b=(q3+q1)*0.5; -wave_2_per_point41= -wave_2_per_point42=a=aflux*aflux*0.7 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2= -wave_3_per_point3= -wave_3_per_point4= -wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_3_per_point6=zp=sin(time); -wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); -wave_3_per_point8=xp=sin(n)*0.1*aflux; -wave_3_per_point9=yp=cos(n)*0.1*aflux; -wave_3_per_point10= -wave_3_per_point11= -wave_3_per_point12=//rotate on y -wave_3_per_point13=ang=(q7+time*0.01)*0.2; -wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); -wave_3_per_point15=yp2=yp; -wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); -wave_3_per_point17= -wave_3_per_point18=//rotate on x -wave_3_per_point19=ang=(q7+time*0.01)*0.3; -wave_3_per_point20=xp3=xp2; -wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_3_per_point23= -wave_3_per_point24= -wave_3_per_point25=xp=xp3; -wave_3_per_point26=yp=yp3; -wave_3_per_point27=zp=zp3; -wave_3_per_point28= -wave_3_per_point29=zp=zp+2.1; -wave_3_per_point30=xs=xp/zp; -wave_3_per_point31=ys=yp/zp; -wave_3_per_point32= -wave_3_per_point33=x=xs+0.5; -wave_3_per_point34=y=ys*1.3+0.5; -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37= -wave_3_per_point38=a=aflux -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=0 -shapecode_0_x=0.800000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.650134 -shapecode_0_ang=3.644249 -shapecode_0_tex_ang=3.141593 -shapecode_0_tex_zoom=0.274293 -shapecode_0_r=0.500000 -shapecode_0_g=0.500000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.500000 -shapecode_0_border_a=0.000000 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_per_frame1=border_a=treb; -shape_0_per_frame2=rad=bass; -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.370000 -shapecode_1_y=0.490000 -shapecode_1_rad=0.749999 -shapecode_1_ang=3.644249 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=2.216712 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_init1=t1 = rand(100)*0.01; -shape_1_init2=t2 = rand(100)*0.01; -shape_1_init3=te = 1; -shape_1_init4=poly = 4; -shape_1_per_frame1= -shape_1_per_frame2=rate = fps/(fps+1/2); -shape_1_per_frame3=beat = above(bass,bassthresh); -shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); -shape_1_per_frame5=ran = rand(8)+4; -shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); -shape_1_per_frame7=//poly = if(above(poly,8),4,poly); -shape_1_per_frame8=sides = poly; -shape_1_per_frame9= -shape_1_per_frame10=rate2 = fps/(fps+10); -shape_1_per_frame11=out = (1-beat)*rate2*out + beat; -shape_1_per_frame12=border_a = out; -shape_1_per_frame13=te = bass/fps/2 + te; -shape_1_per_frame14=x=sin(time*0.23)*0.15 + 0.5; -shape_1_per_frame15=y=cos(time*0.19)*0.15 + 0.5; -shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); -shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; -shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); -shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); -shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); -shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); -shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); -shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); -shapecode_2_enabled=1 -shapecode_2_sides=40 -shapecode_2_additive=0 -shapecode_2_thickOutline=1 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.853568 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.220190 -shapecode_2_r=0.980000 -shapecode_2_g=0.000000 -shapecode_2_b=0.890000 -shapecode_2_a=0.600000 -shapecode_2_r2=0.920000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.050000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=0.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_init3=te = 1; -shape_2_init4=poly = 5; -shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5); -shape_2_per_frame2=r=q1; -shape_2_per_frame3=g=q2; -shape_2_per_frame4=b=q3; -shapecode_3_enabled=0 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.265151 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=rate = fps/(fps+1/2); -shape_3_per_frame2= -shape_3_per_frame3=ang = time*0.5; -shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; -shape_3_per_frame5=te = vol/fps + te; -shape_3_per_frame6=x = x + 0.2*sin(te*1.14); -shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); -shape_3_per_frame8= -shape_3_per_frame9=beat = above(vol*1.5,bassthresh); -shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); -shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); -shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); -shape_3_per_frame13=sides = poly; -shape_3_per_frame14=rad = rad-log(poly)/100; -shape_3_per_frame15= -shape_3_per_frame16=a=pow(vol*2,2); -shape_3_per_frame17=border_a=a; -shape_3_per_frame18=rad=rad*0.7+a*0.015 -per_frame_1= -per_frame_2=vol=(bass+mid+treb)*0.25; -per_frame_3=vol=vol*vol; -per_frame_4=mtime=mtime+vol*0.018*(75/fps); -per_frame_5=q7=mtime; -per_frame_6=q8=vol; -per_frame_7= -per_frame_8=r=sin(mtime*0.3+0.0)*0.5+0.5; -per_frame_9=g=sin(mtime*0.3+2.1)*0.5+0.5; -per_frame_10=b=sin(mtime*0.3+4.2)*0.5+0.5; -per_frame_11= -per_frame_12=q1=r; -per_frame_13=q2=g; -per_frame_14=q3=b; -per_frame_15=mv_x=sin(mtime*0.25)*6+9; -per_frame_16=mv_y=sin(mtime*0.25)*6+9; -per_frame_17=mv_a=1 - (sin(mtime*0.25)*0.5+0.5)*0.7; -per_frame_18= -per_frame_19=decay=1 - (sin(mtime*0.25)*0.5+0.5)*0.01; -per_pixel_1=zoom=-1.02 + rad*10; -per_pixel_2=//rot=rad*500; diff --git a/presets_milkdrop_104/Eo.S. + Phat - chasers 08 nematode_Teal_mix.milk b/presets_milkdrop_104/Eo.S. + Phat - chasers 08 nematode_Teal_mix.milk deleted file mode 100644 index 5bc23b39a2..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - chasers 08 nematode_Teal_mix.milk +++ /dev/null @@ -1,549 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.280000 -fDecay=0.960000 -fVideoEchoZoom=0.996627 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.110000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=3.000000 -nMotionVectorsY=2.000000 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=0.150000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs*4; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(1-sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=sin(tm*2)*0.5 +0.5; -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=cos(tm*2)*0.75 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=//xp=xq;yp=yq;zp=zq; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+2; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample); -wave_0_per_point80= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q1 + phs*2 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.1-0.05)*(1-sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*23; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=cos(tm*2)*0.75 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+2; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.720000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q1 + phs*2 - 0.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.2-0.1)*(1-sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*19; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*2)*0.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+2; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.700000 -wavecode_3_b=0.500000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + phs*2 - 0.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.3-0.15)*(1-sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*3; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*2)*0.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+2; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample); -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.375614 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.251327 -shapecode_0_tex_zoom=0.498311 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=1.000000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.975; -per_frame_2= -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6=mtime=mtime+vol*0.01*(50/fps); -per_frame_7= -per_frame_8=q1=time*0.3; -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_pixel_1=zm=-1.015+(rad/(bass*60)); -per_pixel_2= -per_pixel_3=sx=zm; -per_pixel_4=sy=zm; diff --git a/presets_milkdrop_104/Eo.S. + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk b/presets_milkdrop_104/Eo.S. + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk deleted file mode 100644 index 086c512843..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - chasers 11 sentinel C_poltergeist_mix response daemon.milk +++ /dev/null @@ -1,638 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.280000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs*4; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=sin(tm*2); -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=cos(tm); -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=//xp=xq;yp=yq;zp=zq; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+1.5; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample); -wave_0_per_point80= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q1 + phs*2 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=sin(tm*2); -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=cos(tm); -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+1.5; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.720000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q1 + phs*2 - 0.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.700000 -wavecode_3_b=0.500000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + phs*2 - 0.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm); -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample); -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.301767 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.451117 -shapecode_0_r=1.000000 -shapecode_0_g=0.700000 -shapecode_0_b=0.300000 -shapecode_0_a=0.700000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=tm=q1; -shape_0_per_frame2= -shape_0_per_frame3=flip=flip+1; -shape_0_per_frame4=flip=flip*below(flip,2); -shape_0_per_frame5= -shape_0_per_frame6=xp=0; -shape_0_per_frame7=yp=0; -shape_0_per_frame8=zp=0; -shape_0_per_frame9= -shape_0_per_frame10=//spin; -shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; -shape_0_per_frame12=sa=sin(ang);ca=cos(ang); -shape_0_per_frame13=xr=xp*sa + yp*ca; -shape_0_per_frame14=yr=xp*ca - yp*sa; -shape_0_per_frame15=zr=zp; -shape_0_per_frame16= -shape_0_per_frame17=xp=xr; -shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -shape_0_per_frame19=zp=zr; -shape_0_per_frame20= -shape_0_per_frame21=//wrist movement; -shape_0_per_frame22=ang=sin(tm*2); -shape_0_per_frame23= -shape_0_per_frame24=xq=xp; -shape_0_per_frame25=sa=sin(ang);ca=cos(ang); -shape_0_per_frame26=yq=yp*sa + zp*ca; -shape_0_per_frame27=zq=yp*ca - zp*sa; -shape_0_per_frame28= -shape_0_per_frame29= -shape_0_per_frame30=ang=tm*8; -shape_0_per_frame31=sa=sin(ang);ca=cos(ang); -shape_0_per_frame32=xp=xq*sa + yq*ca; -shape_0_per_frame33=yp=xq*ca - yq*sa; -shape_0_per_frame34=zp=zq; -shape_0_per_frame35= -shape_0_per_frame36=//forearm movement; -shape_0_per_frame37=zp=zp-0.3; -shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; -shape_0_per_frame39=xq=xp; -shape_0_per_frame40=sa=sin(ang);ca=cos(ang); -shape_0_per_frame41=yq=yp*sa + zp*ca; -shape_0_per_frame42=zq=yp*ca - zp*sa; -shape_0_per_frame43= -shape_0_per_frame44=//upper arm twist -shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); -shape_0_per_frame46=xp=xq*sa + yq*ca; -shape_0_per_frame47=yp=xq*ca - yq*sa; -shape_0_per_frame48=zp=zq; -shape_0_per_frame49= -shape_0_per_frame50=//upper arm outward; -shape_0_per_frame51=zp=zp-0.35; -shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; -shape_0_per_frame53=sa=sin(ang);ca=cos(ang); -shape_0_per_frame54=xq=xp*sa + zp*ca; -shape_0_per_frame55=yq=yp; -shape_0_per_frame56=zq=xp*ca - zp*sa; -shape_0_per_frame57= -shape_0_per_frame58=//upper arm up down; -shape_0_per_frame59=ang=cos(tm); -shape_0_per_frame60=xp=xq; -shape_0_per_frame61=sa=sin(ang);ca=cos(ang); -shape_0_per_frame62=yp=yq*ca - zq*sa; -shape_0_per_frame63=zp=yq*sa + zq*ca; -shape_0_per_frame64= -shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; -shape_0_per_frame66= -shape_0_per_frame67= -shape_0_per_frame68=//project into screenspace and draw on screen -shape_0_per_frame69=zp=zp+1.5; -shape_0_per_frame70=xs=xp/zp; -shape_0_per_frame71=ys=yp/zp; -shape_0_per_frame72= -shape_0_per_frame73=x=xs+0.5; -shape_0_per_frame74=y=ys*1.3+0.5; -shape_0_per_frame75= -shape_0_per_frame76= -shape_0_per_frame77=a=0.7; -shape_0_per_frame78= -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.610000 -shapecode_1_y=0.890000 -shapecode_1_rad=0.583240 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.691361 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=x= x+ sin((q1+2))*0.1; -shape_1_per_frame3=ang = ang+ sin(q1*1.4)*0.5 -shapecode_2_enabled=0 -shapecode_2_sides=25 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.230000 -shapecode_2_y=0.830000 -shapecode_2_rad=0.217303 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=ang = time/10; -shape_2_per_frame2=x= x+ sin(q1)*0.1 -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.610000 -shapecode_3_y=0.890000 -shapecode_3_rad=0.271083 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.691361 -shapecode_3_r=1.000000 -shapecode_3_g=0.400000 -shapecode_3_b=0.000000 -shapecode_3_a=0.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.560000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1= -shape_3_per_frame2=x= x+ sin((q1+2))*0.1 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0.8; -per_frame_init_7=dcsp=0.4 -per_frame_init_8= -per_frame_1=dcsp = dcsp + 0.01; -per_frame_2=decay=min(dcsp,1); -per_frame_3=monitor=decay; -per_frame_4= -per_frame_5=vol=(bass+mid+treb)*0.25; -per_frame_6=vol=vol*vol; -per_frame_7= -per_frame_8=mtime=mtime+vol*0.01*(70/fps); -per_frame_9= -per_frame_10=q1=mtime*0.75; -per_frame_11= -per_frame_12= -per_frame_13=gamma=1 + min(vol*0.8,1)*0.7; -per_frame_14= -per_frame_15=warp=vol*0.05; -per_frame_16= -per_pixel_1=zm=1.00; -per_pixel_2= -per_pixel_3=sx=-zm; -per_pixel_4=sy=zm; diff --git a/presets_milkdrop_104/Eo.S. + Phat - chasers 14 sentinel 616.milk b/presets_milkdrop_104/Eo.S. + Phat - chasers 14 sentinel 616.milk deleted file mode 100644 index e18aaf6f74..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - chasers 14 sentinel 616.milk +++ /dev/null @@ -1,627 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=3.000000 -nMotionVectorsY=2.000000 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=0.150000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs*4; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=sin(tm*2); -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=cos(tm); -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=//xp=xq;yp=yq;zp=zq; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+1.5; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample); -wave_0_per_point80= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q1 + phs*2 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=sin(tm*2); -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=cos(tm); -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+1.5; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.720000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q1 + phs*2 - 0.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample)*0.4; -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.700000 -wavecode_3_b=0.500000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + phs*2 - 0.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm); -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample); -shapecode_0_enabled=1 -shapecode_0_sides=6 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.995947 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.905280 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=tm=q1; -shape_0_per_frame2= -shape_0_per_frame3=flip=flip+1; -shape_0_per_frame4=flip=flip*below(flip,2); -shape_0_per_frame5= -shape_0_per_frame6=xp=0; -shape_0_per_frame7=yp=0; -shape_0_per_frame8=zp=0; -shape_0_per_frame9= -shape_0_per_frame10=//spin; -shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; -shape_0_per_frame12=sa=sin(ang);ca=cos(ang); -shape_0_per_frame13=xr=xp*sa + yp*ca; -shape_0_per_frame14=yr=xp*ca - yp*sa; -shape_0_per_frame15=zr=zp; -shape_0_per_frame16= -shape_0_per_frame17=xp=xr; -shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -shape_0_per_frame19=zp=zr; -shape_0_per_frame20= -shape_0_per_frame21=//wrist movement; -shape_0_per_frame22=ang=sin(tm*2); -shape_0_per_frame23= -shape_0_per_frame24=xq=xp; -shape_0_per_frame25=sa=sin(ang);ca=cos(ang); -shape_0_per_frame26=yq=yp*sa + zp*ca; -shape_0_per_frame27=zq=yp*ca - zp*sa; -shape_0_per_frame28= -shape_0_per_frame29= -shape_0_per_frame30=ang=tm*8; -shape_0_per_frame31=sa=sin(ang);ca=cos(ang); -shape_0_per_frame32=xp=xq*sa + yq*ca; -shape_0_per_frame33=yp=xq*ca - yq*sa; -shape_0_per_frame34=zp=zq; -shape_0_per_frame35= -shape_0_per_frame36=//forearm movement; -shape_0_per_frame37=zp=zp-0.3; -shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; -shape_0_per_frame39=xq=xp; -shape_0_per_frame40=sa=sin(ang);ca=cos(ang); -shape_0_per_frame41=yq=yp*sa + zp*ca; -shape_0_per_frame42=zq=yp*ca - zp*sa; -shape_0_per_frame43= -shape_0_per_frame44=//upper arm twist -shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); -shape_0_per_frame46=xp=xq*sa + yq*ca; -shape_0_per_frame47=yp=xq*ca - yq*sa; -shape_0_per_frame48=zp=zq; -shape_0_per_frame49= -shape_0_per_frame50=//upper arm outward; -shape_0_per_frame51=zp=zp-0.35; -shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; -shape_0_per_frame53=sa=sin(ang);ca=cos(ang); -shape_0_per_frame54=xq=xp*sa + zp*ca; -shape_0_per_frame55=yq=yp; -shape_0_per_frame56=zq=xp*ca - zp*sa; -shape_0_per_frame57= -shape_0_per_frame58=//upper arm up down; -shape_0_per_frame59=ang=cos(tm); -shape_0_per_frame60=xp=xq; -shape_0_per_frame61=sa=sin(ang);ca=cos(ang); -shape_0_per_frame62=yp=yq*ca - zq*sa; -shape_0_per_frame63=zp=yq*sa + zq*ca; -shape_0_per_frame64= -shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; -shape_0_per_frame66= -shape_0_per_frame67= -shape_0_per_frame68=//project into screenspace and draw on screen -shape_0_per_frame69=zp=zp+1.5; -shape_0_per_frame70=xs=xp/zp; -shape_0_per_frame71=ys=yp/zp; -shape_0_per_frame72= -shape_0_per_frame73=x=xs+0.5; -shape_0_per_frame74=y=ys*1.3+0.5; -shape_0_per_frame75= -shape_0_per_frame76= -shape_0_per_frame77=a=0.7; -shape_0_per_frame78= -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.975; -per_frame_2= -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6=mtime=mtime+vol*0.01*(50/fps); -per_frame_7= -per_frame_8=q1=mtime*1.5; -per_frame_9= -per_frame_10= -per_frame_11=gamma=2 -per_frame_12= -per_pixel_1=zm=-1.0+(bass*0.01); -per_pixel_2= -per_pixel_3=sx=zm; -per_pixel_4=sy=zm; diff --git a/presets_milkdrop_104/Eo.S. + Phat - chasers 18 hallway.milk b/presets_milkdrop_104/Eo.S. + Phat - chasers 18 hallway.milk deleted file mode 100644 index c448f40d45..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - chasers 18 hallway.milk +++ /dev/null @@ -1,633 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.280000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=0.500000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=sin(tm*2); -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=cos(tm); -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=yp=yp*0.1 - 0.2; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+1.5; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample)*0.3; -wave_0_per_point80= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=sin(tm*2); -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=cos(tm); -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+1.5; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.320000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.600000 -wavecode_3_g=0.700000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm)-3.5; -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample)*0.4; -shapecode_0_enabled=0 -shapecode_0_sides=6 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.045563 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.700000 -shapecode_0_b=0.300000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=tm=q1; -shape_0_per_frame2= -shape_0_per_frame3=flip=flip+1; -shape_0_per_frame4=flip=flip*below(flip,2); -shape_0_per_frame5= -shape_0_per_frame6=xp=0; -shape_0_per_frame7=yp=0; -shape_0_per_frame8=zp=0; -shape_0_per_frame9= -shape_0_per_frame10=//spin; -shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; -shape_0_per_frame12=sa=sin(ang);ca=cos(ang); -shape_0_per_frame13=xr=xp*sa + yp*ca; -shape_0_per_frame14=yr=xp*ca - yp*sa; -shape_0_per_frame15=zr=zp; -shape_0_per_frame16= -shape_0_per_frame17=xp=xr; -shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -shape_0_per_frame19=zp=zr; -shape_0_per_frame20= -shape_0_per_frame21=//wrist movement; -shape_0_per_frame22=ang=sin(tm*2); -shape_0_per_frame23= -shape_0_per_frame24=xq=xp; -shape_0_per_frame25=sa=sin(ang);ca=cos(ang); -shape_0_per_frame26=yq=yp*sa + zp*ca; -shape_0_per_frame27=zq=yp*ca - zp*sa; -shape_0_per_frame28= -shape_0_per_frame29= -shape_0_per_frame30=ang=tm*8; -shape_0_per_frame31=sa=sin(ang);ca=cos(ang); -shape_0_per_frame32=xp=xq*sa + yq*ca; -shape_0_per_frame33=yp=xq*ca - yq*sa; -shape_0_per_frame34=zp=zq; -shape_0_per_frame35= -shape_0_per_frame36=//forearm movement; -shape_0_per_frame37=zp=zp-0.3; -shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; -shape_0_per_frame39=xq=xp; -shape_0_per_frame40=sa=sin(ang);ca=cos(ang); -shape_0_per_frame41=yq=yp*sa + zp*ca; -shape_0_per_frame42=zq=yp*ca - zp*sa; -shape_0_per_frame43= -shape_0_per_frame44=//upper arm twist -shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); -shape_0_per_frame46=xp=xq*sa + yq*ca; -shape_0_per_frame47=yp=xq*ca - yq*sa; -shape_0_per_frame48=zp=zq; -shape_0_per_frame49= -shape_0_per_frame50=//upper arm outward; -shape_0_per_frame51=zp=zp-0.35; -shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; -shape_0_per_frame53=sa=sin(ang);ca=cos(ang); -shape_0_per_frame54=xq=xp*sa + zp*ca; -shape_0_per_frame55=yq=yp; -shape_0_per_frame56=zq=xp*ca - zp*sa; -shape_0_per_frame57= -shape_0_per_frame58=//upper arm up down; -shape_0_per_frame59=ang=cos(tm); -shape_0_per_frame60=xp=xq; -shape_0_per_frame61=sa=sin(ang);ca=cos(ang); -shape_0_per_frame62=yp=yq*ca - zq*sa; -shape_0_per_frame63=zp=yq*sa + zq*ca; -shape_0_per_frame64= -shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; -shape_0_per_frame66= -shape_0_per_frame67= -shape_0_per_frame68=//project into screenspace and draw on screen -shape_0_per_frame69=zp=zp+1.5; -shape_0_per_frame70=xs=xp/zp; -shape_0_per_frame71=ys=yp/zp; -shape_0_per_frame72= -shape_0_per_frame73=x=xs+0.5; -shape_0_per_frame74=y=ys*1.3+0.5; -shape_0_per_frame75= -shape_0_per_frame76= -shape_0_per_frame77=a=0.7; -shape_0_per_frame78= -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.761306 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2= -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; -per_frame_7=vol2=vol2*vol2; -per_frame_8= -per_frame_9=q2=vol2; -per_frame_10= -per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); -per_frame_12= -per_frame_13=q1=mtime*1; -per_frame_14= -per_frame_15= -per_frame_16=gamma=1 + min(vol*0.8,1)*0.7; -per_frame_17= -per_frame_18= -per_pixel_1=zm=1.002; -per_pixel_2= -per_pixel_3=sx=-zm; -per_pixel_4=sy=zm; diff --git a/presets_milkdrop_104/Eo.S. + Phat - chasers 19 Portal.milk b/presets_milkdrop_104/Eo.S. + Phat - chasers 19 Portal.milk deleted file mode 100644 index 35ffba3208..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - chasers 19 Portal.milk +++ /dev/null @@ -1,643 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.280000 -fDecay=0.960000 -fVideoEchoZoom=6.600763 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=0.500000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + ((phs*4)/q2)*0.1; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=sin(tm*2); -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=cos(tm); -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=yp=yp*0.1 - 0.2; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+1.5; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample)*0.3; -wave_0_per_point80= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=sin(tm*2); -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=cos(tm); -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+1.5; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.320000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 2.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm) + 1; -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.600000 -wavecode_3_g=0.700000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q1 + ((phs*2)/q2)*0.1 - 1.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.15-0.075)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*14 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm)-3.5; -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample)*0.4; -shapecode_0_enabled=0 -shapecode_0_sides=6 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.045563 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.700000 -shapecode_0_b=0.300000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=tm=q1; -shape_0_per_frame2= -shape_0_per_frame3=flip=flip+1; -shape_0_per_frame4=flip=flip*below(flip,2); -shape_0_per_frame5= -shape_0_per_frame6=xp=0; -shape_0_per_frame7=yp=0; -shape_0_per_frame8=zp=0; -shape_0_per_frame9= -shape_0_per_frame10=//spin; -shape_0_per_frame11=ang=tm*20 + sin(tm*76 + time*4)*0.4; -shape_0_per_frame12=sa=sin(ang);ca=cos(ang); -shape_0_per_frame13=xr=xp*sa + yp*ca; -shape_0_per_frame14=yr=xp*ca - yp*sa; -shape_0_per_frame15=zr=zp; -shape_0_per_frame16= -shape_0_per_frame17=xp=xr; -shape_0_per_frame18=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -shape_0_per_frame19=zp=zr; -shape_0_per_frame20= -shape_0_per_frame21=//wrist movement; -shape_0_per_frame22=ang=sin(tm*2); -shape_0_per_frame23= -shape_0_per_frame24=xq=xp; -shape_0_per_frame25=sa=sin(ang);ca=cos(ang); -shape_0_per_frame26=yq=yp*sa + zp*ca; -shape_0_per_frame27=zq=yp*ca - zp*sa; -shape_0_per_frame28= -shape_0_per_frame29= -shape_0_per_frame30=ang=tm*8; -shape_0_per_frame31=sa=sin(ang);ca=cos(ang); -shape_0_per_frame32=xp=xq*sa + yq*ca; -shape_0_per_frame33=yp=xq*ca - yq*sa; -shape_0_per_frame34=zp=zq; -shape_0_per_frame35= -shape_0_per_frame36=//forearm movement; -shape_0_per_frame37=zp=zp-0.3; -shape_0_per_frame38=ang=3.14 + sin(tm*2 - 0.5)*2.5; -shape_0_per_frame39=xq=xp; -shape_0_per_frame40=sa=sin(ang);ca=cos(ang); -shape_0_per_frame41=yq=yp*sa + zp*ca; -shape_0_per_frame42=zq=yp*ca - zp*sa; -shape_0_per_frame43= -shape_0_per_frame44=//upper arm twist -shape_0_per_frame45=ang=-1.0 + cos(tm*3 + 0.5); -shape_0_per_frame46=xp=xq*sa + yq*ca; -shape_0_per_frame47=yp=xq*ca - yq*sa; -shape_0_per_frame48=zp=zq; -shape_0_per_frame49= -shape_0_per_frame50=//upper arm outward; -shape_0_per_frame51=zp=zp-0.35; -shape_0_per_frame52=ang=cos(tm*1)*1.75 - 1.05; -shape_0_per_frame53=sa=sin(ang);ca=cos(ang); -shape_0_per_frame54=xq=xp*sa + zp*ca; -shape_0_per_frame55=yq=yp; -shape_0_per_frame56=zq=xp*ca - zp*sa; -shape_0_per_frame57= -shape_0_per_frame58=//upper arm up down; -shape_0_per_frame59=ang=cos(tm); -shape_0_per_frame60=xp=xq; -shape_0_per_frame61=sa=sin(ang);ca=cos(ang); -shape_0_per_frame62=yp=yq*ca - zq*sa; -shape_0_per_frame63=zp=yq*sa + zq*ca; -shape_0_per_frame64= -shape_0_per_frame65=//xp=xq;yp=yq;zp=zq; -shape_0_per_frame66= -shape_0_per_frame67= -shape_0_per_frame68=//project into screenspace and draw on screen -shape_0_per_frame69=zp=zp+1.5; -shape_0_per_frame70=xs=xp/zp; -shape_0_per_frame71=ys=yp/zp; -shape_0_per_frame72= -shape_0_per_frame73=x=xs+0.5; -shape_0_per_frame74=y=ys*1.3+0.5; -shape_0_per_frame75= -shape_0_per_frame76= -shape_0_per_frame77=a=0.7; -shape_0_per_frame78= -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.254805 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.294082 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_zoom=(sin(time/2)*0.5+0.5)*0.6+0.1; -shape_1_per_frame2=tex_ang=cos(time); -shapecode_2_enabled=1 -shapecode_2_sides=14 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.081954 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=1.089248 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_init1=start = 1; -shape_3_per_frame1=start = start - 0.02; -shape_3_per_frame2=start = max(start,0); -shape_3_per_frame3= -shape_3_per_frame4=a=start; -shape_3_per_frame5=a2=start; -shape_3_per_frame6= -shape_3_per_frame7=rad = if( equal(start,0) , 0.05 , rad ); -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6=vol2=(bass_att+mid_att+treb_att)*0.25; -per_frame_7=vol2=vol2*vol2; -per_frame_8= -per_frame_9=q2=vol2; -per_frame_10= -per_frame_11=mtime=mtime+(0.03 * (sin(time)*0.5 + 0.5))*(75/fps); -per_frame_12= -per_frame_13=q1=mtime*1; -per_frame_14= -per_frame_15= -per_frame_16=//gamma=1 + min(vol*0.8,1)*0.7; -per_frame_17= -per_frame_18= -per_pixel_1=zm=1.002; -per_pixel_2= -per_pixel_3=sx=-zm; -per_pixel_4=sy=zm; diff --git a/presets_milkdrop_104/Eo.S. + Phat - cubetrace - v2.milk b/presets_milkdrop_104/Eo.S. + Phat - cubetrace - v2.milk deleted file mode 100644 index 65adf3d199..0000000000 --- a/presets_milkdrop_104/Eo.S. + Phat - cubetrace - v2.milk +++ /dev/null @@ -1,533 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.050000 -wavecode_0_g=0.090000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1= -wave_0_per_frame2=t1=q1*0.25; -wave_0_per_point1=n= sample*6.283; -wave_0_per_point2=cubesize=q2; -wave_0_per_point3=fix=1/cubesize *0.5; -wave_0_per_point4=tm=q1*4+sample*4; -wave_0_per_point5= -wave_0_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; -wave_0_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -wave_0_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -wave_0_per_point9= -wave_0_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; -wave_0_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; -wave_0_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; -wave_0_per_point13= -wave_0_per_point14= -wave_0_per_point15=//rotate -wave_0_per_point16=ang=t1; -wave_0_per_point17=sang=sin(ang);cang=cos(ang); -wave_0_per_point18=xq=xp*sang + zp*cang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=xp*cang - zp*sang; -wave_0_per_point21=xp=xq;yp=yq;zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate -wave_0_per_point24=ang=t1*0.75; -wave_0_per_point25=sang=sin(ang);cang=cos(ang); -wave_0_per_point26=xq=xp; -wave_0_per_point27=yq=yp*sang + zp*cang; -wave_0_per_point28=zq=yp*cang - zp*sang; -wave_0_per_point29=xp=xq;yp=yq;zp=zq; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=zp= zp+2; -wave_0_per_point33=x= xp/zp + 0.5; -wave_0_per_point34=y= yp/zp * 1.333 + 0.5; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.500000 -wavecode_1_g=0.500000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=q1*0.25; -wave_1_per_point1=n= sample*6.283; -wave_1_per_point2=cubesize=q2; -wave_1_per_point3=fix=1/cubesize *0.5; -wave_1_per_point4=tm=q1*4+sample*4; -wave_1_per_point5= -wave_1_per_point6=xp= sin(tm)*cos(tm*3)*0.5+0.5; -wave_1_per_point7=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -wave_1_per_point8=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -wave_1_per_point9= -wave_1_per_point10=xp= int(xp*cubesize)/cubesize -0.5+fix; -wave_1_per_point11=yp= int(yp*cubesize)/cubesize -0.5+fix; -wave_1_per_point12=zp= int(zp*cubesize)/cubesize -0.5+fix; -wave_1_per_point13= -wave_1_per_point14= -wave_1_per_point15=//rotate -wave_1_per_point16=ang=t1; -wave_1_per_point17=sang=sin(ang);cang=cos(ang); -wave_1_per_point18=xq=xp*sang + zp*cang; -wave_1_per_point19=yq=yp; -wave_1_per_point20=zq=xp*cang - zp*sang; -wave_1_per_point21=xp=xq;yp=yq;zp=zq; -wave_1_per_point22= -wave_1_per_point23=//rotate -wave_1_per_point24=ang=t1*0.75; -wave_1_per_point25=sang=sin(ang);cang=cos(ang); -wave_1_per_point26=xq=xp; -wave_1_per_point27=yq=yp*sang + zp*cang; -wave_1_per_point28=zq=yp*cang - zp*sang; -wave_1_per_point29=xp=xq;yp=yq;zp=zq; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=zp= zp+3; -wave_1_per_point33=x= xp/zp + 0.5; -wave_1_per_point34=y= yp/zp * 1.333 + 0.5; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=q1*0.25; -wave_2_per_point1=n= sample*6.283; -wave_2_per_point2=cubesize=q2; -wave_2_per_point3=fix=1/cubesize *0.5; -wave_2_per_point4= -wave_2_per_point5=xp= rand(cubesize)/cubesize-0.5+fix; -wave_2_per_point6=yp= rand(cubesize)/cubesize-0.5+fix; -wave_2_per_point7=zp= rand(cubesize)/cubesize-0.5+fix; -wave_2_per_point8= -wave_2_per_point9= -wave_2_per_point10=//rotate -wave_2_per_point11=ang=t1; -wave_2_per_point12=sang=sin(ang);cang=cos(ang); -wave_2_per_point13=xq=xp*sang + zp*cang; -wave_2_per_point14=yq=yp; -wave_2_per_point15=zq=xp*cang - zp*sang; -wave_2_per_point16=xp=xq;yp=yq;zp=zq; -wave_2_per_point17= -wave_2_per_point18=//rotate -wave_2_per_point19=ang=t1*0.75; -wave_2_per_point20=sang=sin(ang);cang=cos(ang); -wave_2_per_point21=xq=xp; -wave_2_per_point22=yq=yp*sang + zp*cang; -wave_2_per_point23=zq=yp*cang - zp*sang; -wave_2_per_point24=xp=xq;yp=yq;zp=zq; -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27=zp= zp+2; -wave_2_per_point28=x= xp/zp + 0.5; -wave_2_per_point29=y= yp/zp * 1.333 + 0.5; -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=32 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.194774 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000001 -shapecode_0_r2=0.630000 -shapecode_0_g2=0.700000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.070000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_init1=flip=1 -shape_0_per_frame1= -shape_0_per_frame2=flip=-flip; -shape_0_per_frame3=lens_scale = flip*0.5+0.5; -shape_0_per_frame4=lens_scale = 1 + lens_scale*2.4; -shape_0_per_frame5=pos_scale = if( equal(flip,-1) , 0.5 , lens_scale ); -shape_0_per_frame6= -shape_0_per_frame7=t1=q1*0.25; -shape_0_per_frame8= -shape_0_per_frame9=sample = 1; -shape_0_per_frame10=n= sample*6.283; -shape_0_per_frame11=cubesize=q2; -shape_0_per_frame12=fix=1/cubesize *0.5; -shape_0_per_frame13=tm=q1*4+sample*4; -shape_0_per_frame14= -shape_0_per_frame15=xp= sin(tm)*cos(tm*3)*0.5+0.5; -shape_0_per_frame16=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -shape_0_per_frame17=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -shape_0_per_frame18= -shape_0_per_frame19=xp= int(xp*cubesize)/cubesize -0.5+fix; -shape_0_per_frame20=yp= int(yp*cubesize)/cubesize -0.5+fix; -shape_0_per_frame21=zp= int(zp*cubesize)/cubesize -0.5+fix; -shape_0_per_frame22= -shape_0_per_frame23= -shape_0_per_frame24=//rotate -shape_0_per_frame25=ang=t1; -shape_0_per_frame26=sang=sin(ang);cang=cos(ang); -shape_0_per_frame27=xq=xp*sang + zp*cang; -shape_0_per_frame28=yq=yp; -shape_0_per_frame29=zq=xp*cang - zp*sang; -shape_0_per_frame30=xp=xq;yp=yq;zp=zq; -shape_0_per_frame31= -shape_0_per_frame32=//rotate -shape_0_per_frame33=ang=t1*0.75; -shape_0_per_frame34=sang=sin(ang);cang=cos(ang); -shape_0_per_frame35=xq=xp; -shape_0_per_frame36=yq=yp*sang + zp*cang; -shape_0_per_frame37=zq=yp*cang - zp*sang; -shape_0_per_frame38=xp=xq;yp=yq;zp=zq; -shape_0_per_frame39= -shape_0_per_frame40= -shape_0_per_frame41=zp= zp+2; -shape_0_per_frame42=x= -xp/zp*pos_scale + 0.5; -shape_0_per_frame43=y= -yp/zp*pos_scale * 1.333 + 0.5; -shape_0_per_frame44= -shape_0_per_frame45=rad = rad*(1+q8/3)*lens_scale -shapecode_1_enabled=1 -shapecode_1_sides=6 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.043785 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.300000 -shapecode_1_g=0.600000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=t1=q1*0.25; -shape_1_per_frame3= -shape_1_per_frame4=sample = 1; -shape_1_per_frame5=n= sample*6.283; -shape_1_per_frame6=cubesize=q2; -shape_1_per_frame7=fix=1/cubesize *0.5; -shape_1_per_frame8=tm=q1*4+sample*4; -shape_1_per_frame9= -shape_1_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; -shape_1_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -shape_1_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -shape_1_per_frame13= -shape_1_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; -shape_1_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; -shape_1_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; -shape_1_per_frame17= -shape_1_per_frame18= -shape_1_per_frame19=//rotate -shape_1_per_frame20=ang=t1; -shape_1_per_frame21=sang=sin(ang);cang=cos(ang); -shape_1_per_frame22=xq=xp*sang + zp*cang; -shape_1_per_frame23=yq=yp; -shape_1_per_frame24=zq=xp*cang - zp*sang; -shape_1_per_frame25=xp=xq;yp=yq;zp=zq; -shape_1_per_frame26= -shape_1_per_frame27=//rotate -shape_1_per_frame28=ang=t1*0.75; -shape_1_per_frame29=sang=sin(ang);cang=cos(ang); -shape_1_per_frame30=xq=xp; -shape_1_per_frame31=yq=yp*sang + zp*cang; -shape_1_per_frame32=zq=yp*cang - zp*sang; -shape_1_per_frame33=xp=xq;yp=yq;zp=zq; -shape_1_per_frame34= -shape_1_per_frame35= -shape_1_per_frame36=zp= zp+2; -shape_1_per_frame37=x= xp/zp + 0.5; -shape_1_per_frame38=y= yp/zp * 1.333 + 0.5; -shape_1_per_frame39= -shape_1_per_frame40= -shape_1_per_frame41=a= min(a+q8/2,1); -shape_1_per_frame42=r= min(r*(1+q8) , 1 ); -shape_1_per_frame43=g= min(g*(1+q8) , 1 ); -shape_1_per_frame44= -shape_1_per_frame45=r2= min(q8/2,1); -shape_1_per_frame46=g2= min(q8/4,1); -shape_1_per_frame47= -shape_1_per_frame48=rad= rad*(1+q8/7) -shapecode_2_enabled=1 -shapecode_2_sides=36 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.284278 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=0.000000 -shapecode_2_r2=0.230000 -shapecode_2_g2=0.540000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.050000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=0.800000 -shapecode_2_border_b=0.400000 -shapecode_2_border_a=0.450000 -shape_2_per_frame1= -shape_2_per_frame2=t1=q1*0.25; -shape_2_per_frame3= -shape_2_per_frame4=sample = 1; -shape_2_per_frame5=n= sample*6.283; -shape_2_per_frame6=cubesize=q2; -shape_2_per_frame7=fix=1/cubesize *0.5; -shape_2_per_frame8=tm=q1*4+sample*4; -shape_2_per_frame9= -shape_2_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; -shape_2_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -shape_2_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -shape_2_per_frame13= -shape_2_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; -shape_2_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; -shape_2_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; -shape_2_per_frame17= -shape_2_per_frame18= -shape_2_per_frame19=//rotate -shape_2_per_frame20=ang=t1; -shape_2_per_frame21=sang=sin(ang);cang=cos(ang); -shape_2_per_frame22=xq=xp*sang + zp*cang; -shape_2_per_frame23=yq=yp; -shape_2_per_frame24=zq=xp*cang - zp*sang; -shape_2_per_frame25=xp=xq;yp=yq;zp=zq; -shape_2_per_frame26= -shape_2_per_frame27=//rotate -shape_2_per_frame28=ang=t1*0.75; -shape_2_per_frame29=sang=sin(ang);cang=cos(ang); -shape_2_per_frame30=xq=xp; -shape_2_per_frame31=yq=yp*sang + zp*cang; -shape_2_per_frame32=zq=yp*cang - zp*sang; -shape_2_per_frame33=xp=xq;yp=yq;zp=zq; -shape_2_per_frame34= -shape_2_per_frame35= -shape_2_per_frame36=zp= zp+2; -shape_2_per_frame37=x= xp/zp + 0.5; -shape_2_per_frame38=y= yp/zp * 1.333 + 0.5; -shape_2_per_frame39= -shape_2_per_frame40=a2= min( a2*(1+q8/2) , 1 ); -shape_2_per_frame41=r2= min( r2*(1+q8/4) , 1 ); -shape_2_per_frame42=g2= min( g2*(1+q8/3) , 1 ); -shape_2_per_frame43= -shape_2_per_frame44=border_a = min( border_a * (1+q8) , 1 ); -shapecode_3_enabled=1 -shapecode_3_sides=6 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.158045 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.300000 -shapecode_3_g=0.600000 -shapecode_3_b=1.000000 -shapecode_3_a=0.140001 -shapecode_3_r2=0.400000 -shapecode_3_g2=0.500000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1= -shape_3_per_frame2=t1=q1*0.25; -shape_3_per_frame3= -shape_3_per_frame4=sample = 1; -shape_3_per_frame5=n= sample*6.283; -shape_3_per_frame6=cubesize=q2; -shape_3_per_frame7=fix=1/cubesize *0.5; -shape_3_per_frame8=tm=q1*4+sample*4; -shape_3_per_frame9= -shape_3_per_frame10=xp= sin(tm)*cos(tm*3)*0.5+0.5; -shape_3_per_frame11=yp= sin(tm*1.1)*sin(tm*4.1)*0.5+0.5; -shape_3_per_frame12=zp= sin(tm*2.9)*cos(tm*1.77)*0.5+0.5; -shape_3_per_frame13= -shape_3_per_frame14=xp= int(xp*cubesize)/cubesize -0.5+fix; -shape_3_per_frame15=yp= int(yp*cubesize)/cubesize -0.5+fix; -shape_3_per_frame16=zp= int(zp*cubesize)/cubesize -0.5+fix; -shape_3_per_frame17= -shape_3_per_frame18= -shape_3_per_frame19=//rotate -shape_3_per_frame20=ang=t1; -shape_3_per_frame21=sang=sin(ang);cang=cos(ang); -shape_3_per_frame22=xq=xp*sang + zp*cang; -shape_3_per_frame23=yq=yp; -shape_3_per_frame24=zq=xp*cang - zp*sang; -shape_3_per_frame25=xp=xq;yp=yq;zp=zq; -shape_3_per_frame26= -shape_3_per_frame27=//rotate -shape_3_per_frame28=ang=t1*0.75; -shape_3_per_frame29=sang=sin(ang);cang=cos(ang); -shape_3_per_frame30=xq=xp; -shape_3_per_frame31=yq=yp*sang + zp*cang; -shape_3_per_frame32=zq=yp*cang - zp*sang; -shape_3_per_frame33=xp=xq;yp=yq;zp=zq; -shape_3_per_frame34= -shape_3_per_frame35= -shape_3_per_frame36=zp= zp+2; -shape_3_per_frame37=x= xp/zp + 0.5; -shape_3_per_frame38=y= yp/zp * 1.333 + 0.5; -shape_3_per_frame39= -shape_3_per_frame40= -shape_3_per_frame41=a= min(a*q8,1); -shape_3_per_frame42= -shape_3_per_frame43=rad= rad*(1+q8) -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8= -per_frame_init_9=size =4; -per_frame_init_10=bc=0; -per_frame_init_11= -per_frame_1=decay=0.95; -per_frame_2=zoom=1.005; -per_frame_3= -per_frame_4= -per_frame_5=vol= (bass+mid+treb)*0.25; -per_frame_6=vol = vol*vol; -per_frame_7= -per_frame_8=q8=vol; -per_frame_9=mtime=mtime+vol*0.01*(75/fps); -per_frame_10= -per_frame_11=q7 = mtime; -per_frame_12= -per_frame_13=monitor=512/8; -per_frame_14= -per_frame_15=warp=0; -per_frame_16=q1=mtime*0.9; -per_frame_17= -per_frame_18=beat = above(vol,1); -per_frame_19=bc = max(bc,0); -per_frame_20=bc = if( equal(bc,0) , bc+beat , bc-(1/fps)/4 ); -per_frame_21= -per_frame_22=trigger = equal(bc,1); -per_frame_23= -per_frame_24=monitor=size; -per_frame_25= -per_frame_26=size = size + trigger; -per_frame_27=size = if( above(size,10) , 4 , size ); -per_frame_28= -per_frame_29= -per_frame_30=q2=int(size); //cubesize -per_frame_31= -per_frame_32= -per_frame_33= diff --git a/presets_milkdrop_104/Eo.S. - angels of decay.milk b/presets_milkdrop_104/Eo.S. - angels of decay.milk deleted file mode 100644 index 368205e153..0000000000 --- a/presets_milkdrop_104/Eo.S. - angels of decay.milk +++ /dev/null @@ -1,244 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=smp=sample; -wave_0_per_point2=tm=time*0.24; -wave_0_per_point3= -wave_0_per_point4=xp=sin(tm+smp)*0.2 + sin(smp*16.3)*0.2; -wave_0_per_point5= -wave_0_per_point6= -wave_0_per_point7=yp=cos(tm+smp)*0.2 + sin(tm+smp*17)*0.2 + cos(smp*54)*0.1; -wave_0_per_point8= -wave_0_per_point9= -wave_0_per_point10=x=xp+0.5; -wave_0_per_point11=y=yp+0.5; -wave_0_per_point12=r=0.3; -wave_0_per_point13=g=0.4; -wave_0_per_point14=b=0.5; -wave_0_per_point15=a=0.3; -wave_0_per_point16= -wave_0_per_point17=ends=sin(sample*3.1415 )*4; -wave_0_per_point18=ends=if ( above(ends,1), 1, ends); -wave_0_per_point19=a=a*ends -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.966656 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=rad=rad-mid*mid*0.1; -shape_0_per_frame2=ang=treb*treb*0.1 -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.281464 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.900000 -shapecode_1_b=0.700000 -shapecode_1_a=0.100000 -shapecode_1_r2=0.900000 -shapecode_1_g2=0.700000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=rad=bass*bass*0.25; -shape_1_per_frame2=a=bass*bass*0.12 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.99; -per_frame_2=zoom=1.002; -per_frame_3= -per_frame_4= -per_frame_5= -per_frame_6= diff --git a/presets_milkdrop_104/Eo.S. - dark side of the moon (plus a few more hits and a pill).milk b/presets_milkdrop_104/Eo.S. - dark side of the moon (plus a few more hits and a pill).milk deleted file mode 100644 index 1c75680c22..0000000000 --- a/presets_milkdrop_104/Eo.S. - dark side of the moon (plus a few more hits and a pill).milk +++ /dev/null @@ -1,260 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.019788 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=2.000000 -mv_r=0.300000 -mv_g=0.210000 -mv_b=0.110000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.160000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=qtime=qtime+q1; -shape_0_per_frame2=x=0.5 + sin(qtime/38)/3; -shape_0_per_frame3=y=0.5 + cos(qtime/38)/3; -shape_0_per_frame4=rad=q1/2;; -shape_0_per_frame5=ang=q1*4 -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.350000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.100000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=qtime=qtime+q2; -shape_1_per_frame2=x=0.5 + sin(qtime/38)/3.3; -shape_1_per_frame3=y=0.5 + cos(qtime/38)/3.3; -shape_1_per_frame4= -shape_1_per_frame5=rad=q2/2; -shape_1_per_frame6=ang=-q2*2 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.590000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.970000 -shapecode_2_b=0.960000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.100000 -shapecode_2_g2=0.050000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=qtime=qtime+q3; -shape_2_per_frame2=x=0.5 + sin(qtime/38)/3.8; -shape_2_per_frame3=y=0.5 + cos(qtime/38)/3.8; -shape_2_per_frame4= -shape_2_per_frame5=rad=q3/2; -shape_2_per_frame6=ang=q3*5 -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=1 -shapecode_3_textured=1 -shapecode_3_x=0.499999 -shapecode_3_y=0.500000 -shapecode_3_rad=0.849364 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.712971 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=0.070000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.090000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.370000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.150000 -shape_3_per_frame1=ang=time/2; -shape_3_per_frame2=r2=sin(time)*0.5 + 0.5; -shape_3_per_frame3=g2=sin(time + 3.14*0.33)*0.5 + 0.5; -shape_3_per_frame4=b2=sin(time + 3.14*0.66)*0.5 + 0.5; -shape_3_per_frame5=fls=sin(time/1)*0.5+0.6; -shape_3_per_frame6=flip=(flip+fls) * below(flip,1.1); -shape_3_per_frame7=additive=flip; -shape_3_per_frame8= -shape_3_per_frame9=br=(sin(time/1) ) * 16; -shape_3_per_frame10=brr=-1+br; -shape_3_per_frame11=sides= min( max(brr,3), 8); -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=q1=0;q2=0;q3=0 -per_frame_1=decay=0.96; -per_frame_2= -per_frame_3=speed=0.900; -per_frame_4=speedinv=1-speed; -per_frame_5=q1=(qa*speed + bass*speedinv); -per_frame_6=q2=(qb*speed + mid *speedinv); -per_frame_7=q3=(qc*speed + treb*speedinv); -per_frame_8=qa=q1; -per_frame_9=qb=q2; -per_frame_10=qc=q3; -per_frame_11= -per_frame_12= -per_pixel_1=rot=sin(rad*14 +time)*0.001; -per_pixel_2=rot=rot + sin(ang*8 +time)*0.001; -per_pixel_3=dx=sin(rad*48 + time)*0.002; -per_pixel_4=dy=cos(ang*48 +time)*0.002; -per_pixel_5=zoom=1 + sin(x*44 + time)*0.034 + cos(y*44 + time)*0.034; diff --git a/presets_milkdrop_104/Eo.S. - glowsticks v2 03 music.milk b/presets_milkdrop_104/Eo.S. - glowsticks v2 03 music.milk deleted file mode 100644 index 9a2bb719d6..0000000000 --- a/presets_milkdrop_104/Eo.S. - glowsticks v2 03 music.milk +++ /dev/null @@ -1,540 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=3.000000 -nMotionVectorsY=2.000000 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=0.150000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(-time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(-time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(-time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=(1-sample); -wave_0_per_point71= -wave_0_per_point72=b=b+pow(1-sample,2)*0.3; -wave_0_per_point73= -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76=r1=t1; -wave_0_per_point77=g1=t2; -wave_0_per_point78=b1=t3; -wave_0_per_point79=r2=t4; -wave_0_per_point80=g2=t5; -wave_0_per_point81=b2=t6; -wave_0_per_point82= -wave_0_per_point83=r=r1*flip + r2*(1-flip); -wave_0_per_point84=g=g1*flip + g2*(1-flip); -wave_0_per_point85=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(-time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(-time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(-time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=(1-sample); -wave_1_per_point72= -wave_1_per_point73= -wave_1_per_point74=b=b+pow(1-sample,2)*0.3; -wave_1_per_point75= -wave_1_per_point76=r1=t1; -wave_1_per_point77=g1=t2; -wave_1_per_point78=b1=t3; -wave_1_per_point79=r2=t4; -wave_1_per_point80=g2=t5; -wave_1_per_point81=b2=t6; -wave_1_per_point82= -wave_1_per_point83=r=r1*flip + r2*(1-flip); -wave_1_per_point84=g=g1*flip + g2*(1-flip); -wave_1_per_point85=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=tm=q1; -wave_2_per_point3=phs=-sample*0.5; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point18= -wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; -wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); -wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); -wave_2_per_point22=zp=zq; -wave_2_per_point23= -wave_2_per_point24=//forearm movement; -wave_2_per_point25=zp=zp-0.3; -wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; -wave_2_per_point27=xq=xp; -wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point30= -wave_2_per_point31=//upper arm twist -wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); -wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); -wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); -wave_2_per_point35=zp=zq; -wave_2_per_point36= -wave_2_per_point37=//upper arm outward; -wave_2_per_point38=zp=zp-0.35; -wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; -wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); -wave_2_per_point41=yq=yp; -wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); -wave_2_per_point43= -wave_2_per_point44=//upper arm up down; -wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; -wave_2_per_point46=xp=xq; -wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); -wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); -wave_2_per_point49= -wave_2_per_point50=//xp=xq;yp=yq;zp=zq; -wave_2_per_point51= -wave_2_per_point52= -wave_2_per_point53=//project into screenspace and draw on screen -wave_2_per_point54=zp=zp+2; -wave_2_per_point55=xs=xp/zp; -wave_2_per_point56=ys=yp/zp; -wave_2_per_point57= -wave_2_per_point58=x=xs+0.5; -wave_2_per_point59=y=ys*1.3+0.5; -wave_2_per_point60= -wave_2_per_point61= -wave_2_per_point62=a=(1-sample)*0.05 -wave_2_per_point63= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=tm=q1 ; -wave_3_per_point3=phs=-sample*0.5; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//wrist movement; -wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; -wave_3_per_point14= -wave_3_per_point15=xq=xp; -wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point18= -wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; -wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); -wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); -wave_3_per_point22=zp=zq; -wave_3_per_point23= -wave_3_per_point24=//forearm movement; -wave_3_per_point25=zp=zp-0.3; -wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; -wave_3_per_point27=xq=xp; -wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point30= -wave_3_per_point31=//upper arm twist -wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); -wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); -wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); -wave_3_per_point35=zp=zq; -wave_3_per_point36= -wave_3_per_point37=//upper arm outward; -wave_3_per_point38=zp=zp-0.35; -wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; -wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); -wave_3_per_point41=yq=yp; -wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); -wave_3_per_point43= -wave_3_per_point44=//upper arm up down; -wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; -wave_3_per_point46=xp=xq; -wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); -wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); -wave_3_per_point49= -wave_3_per_point50=//xp=xq;yp=yq;zp=zq; -wave_3_per_point51= -wave_3_per_point52= -wave_3_per_point53=//project into screenspace and draw on screen -wave_3_per_point54=zp=zp+2; -wave_3_per_point55=xs=xp/zp; -wave_3_per_point56=ys=yp/zp; -wave_3_per_point57= -wave_3_per_point58=x=-xs+0.5; -wave_3_per_point59=y=ys*1.3+0.5; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=a=(1-sample)*0.05; -wave_3_per_point63= -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.067790 -shapecode_0_ang=0.753982 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.779769 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=sin(q1*0.15); -shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; -shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2=zoom=1.002; -per_frame_3= -per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_5=vol=vol*vol; -per_frame_6=mtime=mtime+vol*0.1*(75/fps); -per_frame_7= -per_frame_8=q1=mtime*0.4; -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= diff --git a/presets_milkdrop_104/Eo.S. - glowsticks v2 04 music minimal.milk b/presets_milkdrop_104/Eo.S. - glowsticks v2 04 music minimal.milk deleted file mode 100644 index a88599e6ce..0000000000 --- a/presets_milkdrop_104/Eo.S. - glowsticks v2 04 music minimal.milk +++ /dev/null @@ -1,541 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=(1-sample); -wave_0_per_point71= -wave_0_per_point72=b=b+pow(1-sample,2)*0.3; -wave_0_per_point73= -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76=r1=t1; -wave_0_per_point77=g1=t2; -wave_0_per_point78=b1=t3; -wave_0_per_point79=r2=t4; -wave_0_per_point80=g2=t5; -wave_0_per_point81=b2=t6; -wave_0_per_point82= -wave_0_per_point83=r=r1*flip + r2*(1-flip); -wave_0_per_point84=g=g1*flip + g2*(1-flip); -wave_0_per_point85=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=(1-sample); -wave_1_per_point72= -wave_1_per_point73= -wave_1_per_point74=b=b+pow(1-sample,2)*0.3; -wave_1_per_point75= -wave_1_per_point76=r1=t1; -wave_1_per_point77=g1=t2; -wave_1_per_point78=b1=t3; -wave_1_per_point79=r2=t4; -wave_1_per_point80=g2=t5; -wave_1_per_point81=b2=t6; -wave_1_per_point82= -wave_1_per_point83=r=r1*flip + r2*(1-flip); -wave_1_per_point84=g=g1*flip + g2*(1-flip); -wave_1_per_point85=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=tm=q1; -wave_2_per_point3=phs=-sample*0.5; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2+phs - 2)*0.5 +0.5 + 2; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point17=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point18= -wave_2_per_point19=ang=cos(tm*2+phs - 2)*1.5 ; -wave_2_per_point20=xp=xq*sin(ang) + yq*cos(ang); -wave_2_per_point21=yp=xq*cos(ang) - yq*sin(ang); -wave_2_per_point22=zp=zq; -wave_2_per_point23= -wave_2_per_point24=//forearm movement; -wave_2_per_point25=zp=zp-0.3; -wave_2_per_point26=ang=3.14 + sin(tm*2+phs - 0.5)*1.5; -wave_2_per_point27=xq=xp; -wave_2_per_point28=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point29=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point30= -wave_2_per_point31=//upper arm twist -wave_2_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs + 0.5); -wave_2_per_point33=xp=xq*sin(ang) + yq*cos(ang); -wave_2_per_point34=yp=xq*cos(ang) - yq*sin(ang); -wave_2_per_point35=zp=zq; -wave_2_per_point36= -wave_2_per_point37=//upper arm outward; -wave_2_per_point38=zp=zp-0.35; -wave_2_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; -wave_2_per_point40=xq=xp*sin(ang) + zp*cos(ang); -wave_2_per_point41=yq=yp; -wave_2_per_point42=zq=xp*cos(ang) - zp*sin(ang); -wave_2_per_point43= -wave_2_per_point44=//upper arm up down; -wave_2_per_point45=ang=cos(tm+phs)*0.5 - 0.5; -wave_2_per_point46=xp=xq; -wave_2_per_point47=yp=yq*cos(ang) - zq*sin(ang); -wave_2_per_point48=zp=yq*sin(ang) + zq*cos(ang); -wave_2_per_point49= -wave_2_per_point50=//xp=xq;yp=yq;zp=zq; -wave_2_per_point51= -wave_2_per_point52= -wave_2_per_point53=//project into screenspace and draw on screen -wave_2_per_point54=zp=zp+2; -wave_2_per_point55=xs=xp/zp; -wave_2_per_point56=ys=yp/zp; -wave_2_per_point57= -wave_2_per_point58=x=xs+0.5; -wave_2_per_point59=y=ys*1.3+0.5; -wave_2_per_point60= -wave_2_per_point61= -wave_2_per_point62=a=(1-sample)*0.05 -wave_2_per_point63= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=tm=q1 ; -wave_3_per_point3=phs=-sample*0.5; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//wrist movement; -wave_3_per_point13=ang=sin(tm*2+phs-2)*0.5 +0.5 + 2; -wave_3_per_point14= -wave_3_per_point15=xq=xp; -wave_3_per_point16=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point17=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point18= -wave_3_per_point19=ang=cos(tm*2+phs-2)*1.5; -wave_3_per_point20=xp=xq*sin(ang) + yq*cos(ang); -wave_3_per_point21=yp=xq*cos(ang) - yq*sin(ang); -wave_3_per_point22=zp=zq; -wave_3_per_point23= -wave_3_per_point24=//forearm movement; -wave_3_per_point25=zp=zp-0.3; -wave_3_per_point26=ang=3.14 + sin(tm*2+phs-0.5)*1.5; -wave_3_per_point27=xq=xp; -wave_3_per_point28=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point29=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point30= -wave_3_per_point31=//upper arm twist -wave_3_per_point32=ang=-1.0 + cos(tm*3 + 0.5 +phs); -wave_3_per_point33=xp=xq*sin(ang) + yq*cos(ang); -wave_3_per_point34=yp=xq*cos(ang) - yq*sin(ang); -wave_3_per_point35=zp=zq; -wave_3_per_point36= -wave_3_per_point37=//upper arm outward; -wave_3_per_point38=zp=zp-0.35; -wave_3_per_point39=ang=cos(tm*2+phs)*0.75 - 1.05; -wave_3_per_point40=xq=xp*sin(ang) + zp*cos(ang); -wave_3_per_point41=yq=yp; -wave_3_per_point42=zq=xp*cos(ang) - zp*sin(ang); -wave_3_per_point43= -wave_3_per_point44=//upper arm up down; -wave_3_per_point45=ang=cos(tm+phs)*0.5 - 0.5; -wave_3_per_point46=xp=xq; -wave_3_per_point47=yp=yq*cos(ang) - zq*sin(ang); -wave_3_per_point48=zp=yq*sin(ang) + zq*cos(ang); -wave_3_per_point49= -wave_3_per_point50=//xp=xq;yp=yq;zp=zq; -wave_3_per_point51= -wave_3_per_point52= -wave_3_per_point53=//project into screenspace and draw on screen -wave_3_per_point54=zp=zp+2; -wave_3_per_point55=xs=xp/zp; -wave_3_per_point56=ys=yp/zp; -wave_3_per_point57= -wave_3_per_point58=x=-xs+0.5; -wave_3_per_point59=y=ys*1.3+0.5; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=a=(1-sample)*0.05; -wave_3_per_point63= -shapecode_0_enabled=0 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.067790 -shapecode_0_ang=0.753982 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.779769 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=sin(q1*0.15); -shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; -shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1=decay=0.98; -per_frame_2=zoom=1.002; -per_frame_3= -per_frame_4=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_5=vol=vol*vol; -per_frame_6=mtime=mtime+vol*0.1*(75/fps); -per_frame_7= -per_frame_8=q1=mtime*0.4; -per_frame_9= -per_frame_10=warp=0 -per_frame_11= -per_frame_12= diff --git a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk b/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk deleted file mode 100644 index 28bad93a24..0000000000 --- a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk +++ /dev/null @@ -1,682 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.210000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.055000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point72=a=a*a; -wave_1_per_point73= -wave_1_per_point74= -wave_1_per_point75=b=b+pow(1-sample,2)*0.3; -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_3_per_point10=yp=-yp; -wave_3_per_point11=zp=0; -wave_3_per_point12= -wave_3_per_point13=//wrist movement; -wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point15= -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sinang + zp*cosang; -wave_3_per_point19=zq=yp*cosang - zp*sinang; -wave_3_per_point20=yq=yp; -wave_3_per_point21=zq=zp; -wave_3_per_point22= -wave_3_per_point23=ang=tm*8+1; -wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point25=xp=xq*sinang + yq*cosang; -wave_3_per_point26=yp=xq*cosang - yq*sinang; -wave_3_per_point27=zp=zq; -wave_3_per_point28= -wave_3_per_point29=//forearm movement; -wave_3_per_point30=zp=zp-0.3; -wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point33=xq=xp; -wave_3_per_point34=yq=yp*sinang + zp*cosang; -wave_3_per_point35=zq=yp*cosang - zp*sinang; -wave_3_per_point36= -wave_3_per_point37=//upper arm twist -wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point40=xp=xq*sinang + yq*cosang; -wave_3_per_point41=yp=xq*cosang - yq*sinang; -wave_3_per_point42=zp=zq; -wave_3_per_point43= -wave_3_per_point44=//upper arm outward; -wave_3_per_point45=zp=zp-0.35; -wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point48=xq=xp*sinang + zp*cosang; -wave_3_per_point49=yq=yp; -wave_3_per_point50=zq=xp*cosang - zp*sinang; -wave_3_per_point51= -wave_3_per_point52=//upper arm up down; -wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point55=xp=xq; -wave_3_per_point56=yp=yq*cosang - zq*sinang; -wave_3_per_point57=zp=yq*sinang + zq*cosang; -wave_3_per_point58= -wave_3_per_point59=//xp=xq;yp=yq;zp=zq; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=//project into screenspace and draw on screen -wave_3_per_point63=zp=zp+2; -wave_3_per_point64=xs=xp/zp; -wave_3_per_point65=ys=yp/zp; -wave_3_per_point66= -wave_3_per_point67=x=xs+0.5; -wave_3_per_point68=y=ys*1.3+0.5; -wave_3_per_point69= -wave_3_per_point70= -wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point72=a=a*a; -wave_3_per_point73= -wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point75= -wave_3_per_point76= -wave_3_per_point77=r=t4; -wave_3_per_point78=g=t5; -wave_3_per_point79=b=t6; -shapecode_0_enabled=0 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.067790 -shapecode_0_ang=0.753982 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.779769 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=sin(q1*0.15); -shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; -shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=5 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.038091 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.600000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_per_frame1=tm=q1; -shape_3_per_frame2= -shape_3_per_frame3=xp=0; -shape_3_per_frame4=yp=0.1; -shape_3_per_frame5=zp=0; -shape_3_per_frame6= -shape_3_per_frame7=//wrist movement; -shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; -shape_3_per_frame9= -shape_3_per_frame10=xq=xp; -shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame12=yq=yp*sinang + zp*cosang; -shape_3_per_frame13=zq=yp*cosang - zp*sinang; -shape_3_per_frame14=yq=yp; -shape_3_per_frame15=zq=zp; -shape_3_per_frame16= -shape_3_per_frame17=ang=tm*8; -shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame19=xp=xq*sinang + yq*cosang; -shape_3_per_frame20=yp=xq*cosang - yq*sinang; -shape_3_per_frame21=zp=zq; -shape_3_per_frame22= -shape_3_per_frame23=//forearm movement; -shape_3_per_frame24=zp=zp-0.3; -shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; -shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame27=xq=xp; -shape_3_per_frame28=yq=yp*sinang + zp*cosang; -shape_3_per_frame29=zq=yp*cosang - zp*sinang; -shape_3_per_frame30= -shape_3_per_frame31=//upper arm twist -shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); -shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame34=xp=xq*sinang + yq*cosang; -shape_3_per_frame35=yp=xq*cosang - yq*sinang; -shape_3_per_frame36=zp=zq; -shape_3_per_frame37= -shape_3_per_frame38=//upper arm outward; -shape_3_per_frame39=zp=zp-0.35; -shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; -shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame42=xq=xp*sinang + zp*cosang; -shape_3_per_frame43=yq=yp; -shape_3_per_frame44=zq=xp*cosang - zp*sinang; -shape_3_per_frame45= -shape_3_per_frame46=//upper arm up down; -shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; -shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame49=xp=xq; -shape_3_per_frame50=yp=yq*cosang - zq*sinang; -shape_3_per_frame51=zp=yq*sinang + zq*cosang; -shape_3_per_frame52= -shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; -shape_3_per_frame54= -shape_3_per_frame55= -shape_3_per_frame56=//project into screenspace and draw on screen -shape_3_per_frame57=zp=zp+2; -shape_3_per_frame58=xs=xp/zp; -shape_3_per_frame59=ys=yp/zp; -shape_3_per_frame60= -shape_3_per_frame61=x=xs+0.5; -shape_3_per_frame62=y=ys*1.3+0.5; -shape_3_per_frame63= -shape_3_per_frame64= -shape_3_per_frame65= -shape_3_per_frame66= -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=1; -per_frame_21=zoom=1.002; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.1*flip*(55/fps); -per_frame_26= -per_frame_27=q1=mtime*0.4; -per_frame_28= -per_frame_29=warp=0.0 -per_pixel_1=//tm=time+(sin(time)*rad); -per_pixel_2=var=tan(time)*treb*treb; -per_pixel_3= -per_pixel_4=zoom=1+(rad/40)+(var/40); -per_pixel_5=//rot=((rad/100)*var)*sin(time); diff --git a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk b/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk deleted file mode 100644 index 43059e51d5..0000000000 --- a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix03 madhatter_v2.milk +++ /dev/null @@ -1,694 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.210000 -fDecay=0.960000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.105000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.055000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.200000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point72=a=a*a; -wave_1_per_point73= -wave_1_per_point74= -wave_1_per_point75=b=b+pow(1-sample,2)*0.3; -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_3_per_point10=yp=-yp; -wave_3_per_point11=zp=0; -wave_3_per_point12= -wave_3_per_point13=//wrist movement; -wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point15= -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sinang + zp*cosang; -wave_3_per_point19=zq=yp*cosang - zp*sinang; -wave_3_per_point20=yq=yp; -wave_3_per_point21=zq=zp; -wave_3_per_point22= -wave_3_per_point23=ang=tm*8+1; -wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point25=xp=xq*sinang + yq*cosang; -wave_3_per_point26=yp=xq*cosang - yq*sinang; -wave_3_per_point27=zp=zq; -wave_3_per_point28= -wave_3_per_point29=//forearm movement; -wave_3_per_point30=zp=zp-0.3; -wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point33=xq=xp; -wave_3_per_point34=yq=yp*sinang + zp*cosang; -wave_3_per_point35=zq=yp*cosang - zp*sinang; -wave_3_per_point36= -wave_3_per_point37=//upper arm twist -wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point40=xp=xq*sinang + yq*cosang; -wave_3_per_point41=yp=xq*cosang - yq*sinang; -wave_3_per_point42=zp=zq; -wave_3_per_point43= -wave_3_per_point44=//upper arm outward; -wave_3_per_point45=zp=zp-0.35; -wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point48=xq=xp*sinang + zp*cosang; -wave_3_per_point49=yq=yp; -wave_3_per_point50=zq=xp*cosang - zp*sinang; -wave_3_per_point51= -wave_3_per_point52=//upper arm up down; -wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point55=xp=xq; -wave_3_per_point56=yp=yq*cosang - zq*sinang; -wave_3_per_point57=zp=yq*sinang + zq*cosang; -wave_3_per_point58= -wave_3_per_point59=//xp=xq;yp=yq;zp=zq; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=//project into screenspace and draw on screen -wave_3_per_point63=zp=zp+2; -wave_3_per_point64=xs=xp/zp; -wave_3_per_point65=ys=yp/zp; -wave_3_per_point66= -wave_3_per_point67=x=xs+0.5; -wave_3_per_point68=y=ys*1.3+0.5; -wave_3_per_point69= -wave_3_per_point70= -wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point72=a=a*a; -wave_3_per_point73= -wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point75= -wave_3_per_point76= -wave_3_per_point77=r=t4; -wave_3_per_point78=g=t5; -wave_3_per_point79=b=t6; -shapecode_0_enabled=0 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.067790 -shapecode_0_ang=0.753982 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.779769 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=sin(q1*0.15); -shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; -shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=5 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.038091 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.600000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_per_frame1=tm=q1; -shape_3_per_frame2= -shape_3_per_frame3=xp=0; -shape_3_per_frame4=yp=0.1; -shape_3_per_frame5=zp=0; -shape_3_per_frame6= -shape_3_per_frame7=//wrist movement; -shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; -shape_3_per_frame9= -shape_3_per_frame10=xq=xp; -shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame12=yq=yp*sinang + zp*cosang; -shape_3_per_frame13=zq=yp*cosang - zp*sinang; -shape_3_per_frame14=yq=yp; -shape_3_per_frame15=zq=zp; -shape_3_per_frame16= -shape_3_per_frame17=ang=tm*8; -shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame19=xp=xq*sinang + yq*cosang; -shape_3_per_frame20=yp=xq*cosang - yq*sinang; -shape_3_per_frame21=zp=zq; -shape_3_per_frame22= -shape_3_per_frame23=//forearm movement; -shape_3_per_frame24=zp=zp-0.3; -shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; -shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame27=xq=xp; -shape_3_per_frame28=yq=yp*sinang + zp*cosang; -shape_3_per_frame29=zq=yp*cosang - zp*sinang; -shape_3_per_frame30= -shape_3_per_frame31=//upper arm twist -shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); -shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame34=xp=xq*sinang + yq*cosang; -shape_3_per_frame35=yp=xq*cosang - yq*sinang; -shape_3_per_frame36=zp=zq; -shape_3_per_frame37= -shape_3_per_frame38=//upper arm outward; -shape_3_per_frame39=zp=zp-0.35; -shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; -shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame42=xq=xp*sinang + zp*cosang; -shape_3_per_frame43=yq=yp; -shape_3_per_frame44=zq=xp*cosang - zp*sinang; -shape_3_per_frame45= -shape_3_per_frame46=//upper arm up down; -shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; -shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame49=xp=xq; -shape_3_per_frame50=yp=yq*cosang - zq*sinang; -shape_3_per_frame51=zp=yq*sinang + zq*cosang; -shape_3_per_frame52= -shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; -shape_3_per_frame54= -shape_3_per_frame55= -shape_3_per_frame56=//project into screenspace and draw on screen -shape_3_per_frame57=zp=zp+2; -shape_3_per_frame58=xs=xp/zp; -shape_3_per_frame59=ys=yp/zp; -shape_3_per_frame60= -shape_3_per_frame61=x=xs+0.5; -shape_3_per_frame62=y=ys*1.3+0.5; -shape_3_per_frame63= -shape_3_per_frame64= -shape_3_per_frame65= -shape_3_per_frame66= -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1=zoom=1; -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=1; -per_frame_21=zoom=1.002; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.4*flip*(37/fps); -per_frame_26= -per_frame_27=q1=mtime*0.4; -per_frame_28= -per_frame_29=warp=0.0; -per_frame_30= -per_frame_31=cx=sin(mtime*0.2)*0.4 + 0.5; -per_frame_32=cy=sin(mtime*0.33); -per_frame_33=cys=sign(cy); -per_frame_34=cy=cy*cy*cys; -per_frame_35=cy=cy*0.4+0.5; -per_frame_36= -per_pixel_1=//tm=time+(sin(time)*rad); -per_pixel_2=//var=tan(time)*treb*treb; -per_pixel_3=var=-2*treb*treb*0.75; -per_pixel_4= -per_pixel_5=rdd=max( abs(x-0.5) , abs(y-0.5) )*4; -per_pixel_6=zm=1+(rdd/40)+(var/40); -per_pixel_7= -per_pixel_8=sx=zm; -per_pixel_9=sy=zm; -per_pixel_10=//rot=((rad/100)*var)*sin(time); diff --git a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk b/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk deleted file mode 100644 index caf8ffb319..0000000000 --- a/presets_milkdrop_104/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk +++ /dev/null @@ -1,719 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.560000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point72=a=a*a; -wave_1_per_point73= -wave_1_per_point74= -wave_1_per_point75=b=b+pow(1-sample,2)*0.3; -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=0.100000 -wavecode_2_g=1.000000 -wavecode_2_b=0.700000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=-xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point71=a=a*a; -wave_2_per_point72= -wave_2_per_point73=b=b+pow(1-sample,2)*0.3; -wave_2_per_point74= -wave_2_per_point75= -wave_2_per_point76= -wave_2_per_point77=r1=t1; -wave_2_per_point78=g1=t2; -wave_2_per_point79=b1=t3; -wave_2_per_point80=r2=t4; -wave_2_per_point81=g2=t5; -wave_2_per_point82=b2=t6; -wave_2_per_point83= -wave_2_per_point84=r=r1*flip + r2*(1-flip); -wave_2_per_point85=g=g1*flip + g2*(1-flip); -wave_2_per_point86=b=b1*flip + b2*(1-flip); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.200000 -wavecode_3_g=1.000000 -wavecode_3_b=0.600000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_3_per_point10=yp=-yp; -wave_3_per_point11=zp=0; -wave_3_per_point12= -wave_3_per_point13=//wrist movement; -wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point15= -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sinang + zp*cosang; -wave_3_per_point19=zq=yp*cosang - zp*sinang; -wave_3_per_point20=yq=yp; -wave_3_per_point21=zq=zp; -wave_3_per_point22= -wave_3_per_point23=ang=tm*8; -wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point25=xp=xq*sinang + yq*cosang; -wave_3_per_point26=yp=xq*cosang - yq*sinang; -wave_3_per_point27=zp=zq; -wave_3_per_point28= -wave_3_per_point29=//forearm movement; -wave_3_per_point30=zp=zp-0.3; -wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point33=xq=xp; -wave_3_per_point34=yq=yp*sinang + zp*cosang; -wave_3_per_point35=zq=yp*cosang - zp*sinang; -wave_3_per_point36= -wave_3_per_point37=//upper arm twist -wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point40=xp=xq*sinang + yq*cosang; -wave_3_per_point41=yp=xq*cosang - yq*sinang; -wave_3_per_point42=zp=zq; -wave_3_per_point43= -wave_3_per_point44=//upper arm outward; -wave_3_per_point45=zp=zp-0.35; -wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point48=xq=xp*sinang + zp*cosang; -wave_3_per_point49=yq=yp; -wave_3_per_point50=zq=xp*cosang - zp*sinang; -wave_3_per_point51= -wave_3_per_point52=//upper arm up down; -wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point55=xp=xq; -wave_3_per_point56=yp=yq*cosang - zq*sinang; -wave_3_per_point57=zp=yq*sinang + zq*cosang; -wave_3_per_point58= -wave_3_per_point59=//xp=xq;yp=yq;zp=zq; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=//project into screenspace and draw on screen -wave_3_per_point63=zp=zp+2; -wave_3_per_point64=xs=-xp/zp; -wave_3_per_point65=ys=yp/zp; -wave_3_per_point66= -wave_3_per_point67=x=xs+0.5; -wave_3_per_point68=y=ys*1.3+0.5; -wave_3_per_point69= -wave_3_per_point70= -wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point72=a=a*a; -wave_3_per_point73= -wave_3_per_point74= -wave_3_per_point75=b=b+pow(1-sample,2)*0.3; -wave_3_per_point76= -wave_3_per_point77=r1=t1; -wave_3_per_point78=g1=t2; -wave_3_per_point79=b1=t3; -wave_3_per_point80=r2=t4; -wave_3_per_point81=g2=t5; -wave_3_per_point82=b2=t6; -wave_3_per_point83= -wave_3_per_point84=r=r1*flip + r2*(1-flip); -wave_3_per_point85=g=g1*flip + g2*(1-flip); -wave_3_per_point86=b=b1*flip + b2*(1-flip); -shapecode_0_enabled=0 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.067790 -shapecode_0_ang=0.753982 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.779769 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=sin(q1*0.15); -shape_0_per_frame2=x=sin(q1*0.5) * 0.05 + 0.5; -shape_0_per_frame3=y=cos(q1*0.63)* 0.05 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=5 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.038091 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.600000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_per_frame1=tm=q1; -shape_3_per_frame2= -shape_3_per_frame3=xp=0; -shape_3_per_frame4=yp=0.1; -shape_3_per_frame5=zp=0; -shape_3_per_frame6= -shape_3_per_frame7=//wrist movement; -shape_3_per_frame8=ang=sin(tm*2 )*0.5 +0.5; -shape_3_per_frame9= -shape_3_per_frame10=xq=xp; -shape_3_per_frame11=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame12=yq=yp*sinang + zp*cosang; -shape_3_per_frame13=zq=yp*cosang - zp*sinang; -shape_3_per_frame14=yq=yp; -shape_3_per_frame15=zq=zp; -shape_3_per_frame16= -shape_3_per_frame17=ang=tm*8; -shape_3_per_frame18=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame19=xp=xq*sinang + yq*cosang; -shape_3_per_frame20=yp=xq*cosang - yq*sinang; -shape_3_per_frame21=zp=zq; -shape_3_per_frame22= -shape_3_per_frame23=//forearm movement; -shape_3_per_frame24=zp=zp-0.3; -shape_3_per_frame25=ang=3.14 + sin(tm*2 - 0.5)*1.5; -shape_3_per_frame26=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame27=xq=xp; -shape_3_per_frame28=yq=yp*sinang + zp*cosang; -shape_3_per_frame29=zq=yp*cosang - zp*sinang; -shape_3_per_frame30= -shape_3_per_frame31=//upper arm twist -shape_3_per_frame32=ang=-1.0 + cos(tm*3.1 + 0.5); -shape_3_per_frame33=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame34=xp=xq*sinang + yq*cosang; -shape_3_per_frame35=yp=xq*cosang - yq*sinang; -shape_3_per_frame36=zp=zq; -shape_3_per_frame37= -shape_3_per_frame38=//upper arm outward; -shape_3_per_frame39=zp=zp-0.35; -shape_3_per_frame40=ang=cos(tm*2.3)*1.75 - 1.05; -shape_3_per_frame41=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame42=xq=xp*sinang + zp*cosang; -shape_3_per_frame43=yq=yp; -shape_3_per_frame44=zq=xp*cosang - zp*sinang; -shape_3_per_frame45= -shape_3_per_frame46=//upper arm up down; -shape_3_per_frame47=ang=cos(tm)*0.5 - 0.5; -shape_3_per_frame48=sinang=sin(ang);cosang=cos(ang); -shape_3_per_frame49=xp=xq; -shape_3_per_frame50=yp=yq*cosang - zq*sinang; -shape_3_per_frame51=zp=yq*sinang + zq*cosang; -shape_3_per_frame52= -shape_3_per_frame53=//xp=xq;yp=yq;zp=zq; -shape_3_per_frame54= -shape_3_per_frame55= -shape_3_per_frame56=//project into screenspace and draw on screen -shape_3_per_frame57=zp=zp+2; -shape_3_per_frame58=xs=xp/zp; -shape_3_per_frame59=ys=yp/zp; -shape_3_per_frame60= -shape_3_per_frame61=x=xs+0.5; -shape_3_per_frame62=y=ys*1.3+0.5; -shape_3_per_frame63= -shape_3_per_frame64= -shape_3_per_frame65= -shape_3_per_frame66= -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1=zoom=1; -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19=angadv=angadv+beat; -per_frame_20=angadv=if( above(angadv,5) , 2 , angadv ); -per_frame_21=q7=angadv; -per_frame_22= -per_frame_23= -per_frame_24=decay=0.95; -per_frame_25=zoom=1.002; -per_frame_26= -per_frame_27=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_28=vol=vol*vol; -per_frame_29=mtime=mtime+vol*0.1*flip*(37/fps); -per_frame_30= -per_frame_31=q1=mtime*0.4; -per_frame_32= -per_frame_33=warp=0.0; -per_frame_34= -per_frame_35=cx=sin(mtime*0.2)*0.4 + 0.5; -per_frame_36=cy=sin(mtime*0.33); -per_frame_37=cys=sign(cy); -per_frame_38=cy=cy*cy*cys; -per_frame_39=cy=cy*0.4+0.5; -per_frame_40= -per_frame_41=//cx=sin(time)*0.5+0.5; -per_frame_42=//cy=cos(time)*0.5+0.5; -per_frame_43=//cx=0.5; -per_frame_44=//cy=0.5; -per_frame_45=rot=sin(time*0.25)*0.31 -per_frame_46= -per_pixel_1=//tm=time+(sin(time)*rad); -per_pixel_2=//var=tan(time)*treb; -per_pixel_3=tbr=0.7+treb*0.3; -per_pixel_4=var=-2*tbr*0.75; -per_pixel_5= -per_pixel_6=ag=atan( (y-0.5-(cy-0.5))/(x-0.5-(cx-0.5)) )*1.75; -per_pixel_7=star=sin(ang*q7)*tbr; -per_pixel_8= -per_pixel_9=rdd=max( abs(x-0.5) , abs(y-0.5) )*4 ; -per_pixel_10=zm=1+(rdd/40)+(var/40)+star*0.003 ; -per_pixel_11= -per_pixel_12=//sx=zm; -per_pixel_13=//sy=zm; -per_pixel_14=//sx=1+star*0.1;sy=1+star*0.1; -per_pixel_15=sx=0.8;sy=sx; -per_pixel_16=//rot=star*0.01*tbr diff --git a/presets_milkdrop_104/Eo.S. - heater core C_Phat's_class + sparks_mix.milk b/presets_milkdrop_104/Eo.S. - heater core C_Phat's_class + sparks_mix.milk deleted file mode 100644 index d492558d3c..0000000000 --- a/presets_milkdrop_104/Eo.S. - heater core C_Phat's_class + sparks_mix.milk +++ /dev/null @@ -1,445 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.980001 -fDecay=0.900000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.311600 -fWaveScale=1.228910 -fWaveSmoothing=0.000000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.459526 -fWarpScale=2.006761 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999902 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-1.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.900000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=freq=sin(q7*0.5)*4+4; -wave_0_per_point4= -wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_0_per_point6=xp=sin(n*1)*0.3*scale; -wave_0_per_point7=yp=cos(n*1)*0.3*scale; -wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); -wave_0_per_point9= -wave_0_per_point10=//rotate on y -wave_0_per_point11=ang=(q7+time*0.01)*0.2; -wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); -wave_0_per_point13=yp2=yp; -wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); -wave_0_per_point15= -wave_0_per_point16=//rotate on x -wave_0_per_point17=ang=(q7+time*0.01)*0.3; -wave_0_per_point18=xp3=xp2; -wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_0_per_point21= -wave_0_per_point22= -wave_0_per_point23=xp=xp3; -wave_0_per_point24=yp=yp3; -wave_0_per_point25=zp=zp3; -wave_0_per_point26=zp=zp+2.1; -wave_0_per_point27=xs=xp/zp; -wave_0_per_point28=ys=yp/zp; -wave_0_per_point29= -wave_0_per_point30=x=xs+0.5; -wave_0_per_point31=y=ys*1.3+0.5; -wave_0_per_point32= -wave_0_per_point33= -wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; -wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.700000 -wavecode_1_g=0.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2= -wave_1_per_point3=freq=sin(q7*0.5)*4+4; -wave_1_per_point4= -wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_1_per_point6=xp=sin(n*1)*0.3*scale; -wave_1_per_point7=yp=cos(n*1)*0.3*scale; -wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); -wave_1_per_point9= -wave_1_per_point10=//rotate on y -wave_1_per_point11=ang=(q7+time*0.01)*0.2; -wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); -wave_1_per_point13=yp2=yp; -wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); -wave_1_per_point15= -wave_1_per_point16=//rotate on x -wave_1_per_point17=ang=(q7+time*0.01)*0.3; -wave_1_per_point18=xp3=xp2; -wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_1_per_point21= -wave_1_per_point22= -wave_1_per_point23=xp=xp3; -wave_1_per_point24=yp=yp3; -wave_1_per_point25=zp=zp3; -wave_1_per_point26=zp=zp+2.1; -wave_1_per_point27=xs=xp/zp; -wave_1_per_point28=ys=yp/zp; -wave_1_per_point29= -wave_1_per_point30=x=xs+0.5; -wave_1_per_point31=y=ys*1.3+0.5; -wave_1_per_point32= -wave_1_per_point33= -wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; -wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2= -wave_2_per_point3=freq=sin(q7*0.5)*4+4; -wave_2_per_point4= -wave_2_per_point5=aflux=sin(n*0.5); -wave_2_per_point6= -wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; -wave_2_per_point8=xp=rand(10)-5; -wave_2_per_point9=xp=xp*0.0008*aflux; -wave_2_per_point10=yp=rand(10)-5; -wave_2_per_point11=yp=yp*0.0008*aflux; -wave_2_per_point12=zp=sample*3-1.5; -wave_2_per_point13= -wave_2_per_point14=//rotate on y -wave_2_per_point15=ang=(q7+time*0.01)*0.2; -wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); -wave_2_per_point17=yp2=yp; -wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); -wave_2_per_point19= -wave_2_per_point20=//rotate on x -wave_2_per_point21=ang=(q7+time*0.01)*0.3; -wave_2_per_point22=xp3=xp2; -wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27=xp=xp3; -wave_2_per_point28=yp=yp3; -wave_2_per_point29=zp=zp3; -wave_2_per_point30= -wave_2_per_point31=zp=zp+2.1; -wave_2_per_point32=xs=xp/zp; -wave_2_per_point33=ys=yp/zp; -wave_2_per_point34= -wave_2_per_point35=x=xs+0.5; -wave_2_per_point36=y=ys*1.3+0.5; -wave_2_per_point37= -wave_2_per_point38= -wave_2_per_point39= -wave_2_per_point40=a=aflux -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.600000 -wavecode_3_b=0.150000 -wavecode_3_a=1.000000 -wave_3_per_frame1=spark=rand(40); -wave_3_per_frame2=spark= above(spark,37); -wave_3_per_frame3= -wave_3_per_frame4=t1=spark; -wave_3_per_frame5=t2=0; -wave_3_per_frame6=t3=0; -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=offran=1-t1*0.1; -wave_3_per_point3=sparkcycle=above( sin(n*2) , 0); -wave_3_per_point4= -wave_3_per_point5=zran=(rand(8) - 4); -wave_3_per_point6=xran=(rand(8) - 4); -wave_3_per_point7=yran=(rand(8) - 4); -wave_3_per_point8=alp=min( 1-abs(zran*0.25), min( 1-abs(xran*0.25),1-abs(yran*0.25) )); -wave_3_per_point9=alp=alp*alp; -wave_3_per_point10=a=alp*(1-t1) + t1; -wave_3_per_point11=zran=zran*0.001*offran; -wave_3_per_point12=xran=xran*0.001*offran; -wave_3_per_point13=yran=yran*0.001*offran; -wave_3_per_point14= -wave_3_per_point15=xseed=sin(sample*3.14+time*15)+sin(sample*11)*0.4; -wave_3_per_point16=yseed=cos(sample*3.14+time*9)+sin(sample*17+time)*0.4; -wave_3_per_point17=t2=t2+xseed*sparkcycle; -wave_3_per_point18=t3=t3+yseed*sparkcycle; -wave_3_per_point19=xspark=t2*0.002; -wave_3_per_point20=yspark=t3*0.008; -wave_3_per_point21= -wave_3_per_point22=scale=sin(n*freq)*0.3+0.7; -wave_3_per_point23=zp=sin(time)+ zran; -wave_3_per_point24=zp=zp + yspark*t1*sparkcycle; -wave_3_per_point25= -wave_3_per_point26=aflux=sin(zp*3.14 + 3.14); -wave_3_per_point27=xp=sin(n)*0.1*aflux + xran; -wave_3_per_point28=xp=xp + xspark*t1*sparkcycle; -wave_3_per_point29=yp=cos(n)*0.1*aflux + yran; -wave_3_per_point30= -wave_3_per_point31=//rotate on y -wave_3_per_point32=ang=(q7+time*0.01)*0.2; -wave_3_per_point33=xp2=xp*sin(ang) + zp*cos(ang); -wave_3_per_point34=yp2=yp; -wave_3_per_point35=zp2=xp*cos(ang) - zp*sin(ang); -wave_3_per_point36= -wave_3_per_point37=//rotate on x -wave_3_per_point38=ang=(q7+time*0.01)*0.3; -wave_3_per_point39=xp3=xp2; -wave_3_per_point40=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_3_per_point41=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_3_per_point42= -wave_3_per_point43= -wave_3_per_point44=xp=xp3; -wave_3_per_point45=yp=yp3; -wave_3_per_point46=zp=zp3; -wave_3_per_point47= -wave_3_per_point48=zp=zp+2.1; -wave_3_per_point49=xs=xp/zp; -wave_3_per_point50=xs=xs+0.5; -wave_3_per_point51=ys=yp/zp; -wave_3_per_point52=ys=ys*1.3 + 0.5; -wave_3_per_point53= -wave_3_per_point54=x=xs; -wave_3_per_point55=y=ys; -wave_3_per_point56= -wave_3_per_point57= -wave_3_per_point58= -wave_3_per_point59= -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=0 -shapecode_0_x=0.800000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.650134 -shapecode_0_ang=3.644249 -shapecode_0_tex_ang=3.141593 -shapecode_0_tex_zoom=0.274293 -shapecode_0_r=0.500000 -shapecode_0_g=0.500000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.500000 -shapecode_0_border_a=0.000000 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_per_frame1=border_a=treb; -shape_0_per_frame2=rad=bass; -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.370000 -shapecode_1_y=0.490000 -shapecode_1_rad=0.749999 -shapecode_1_ang=3.644249 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=2.216712 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_init1=t1 = rand(100)*0.01; -shape_1_init2=t2 = rand(100)*0.01; -shape_1_init3=te = 1; -shape_1_init4=poly = 4; -shape_1_per_frame1= -shape_1_per_frame2=rate = fps/(fps+1/2); -shape_1_per_frame3=beat = above(bass,bassthresh); -shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); -shape_1_per_frame5=ran = rand(8)+4; -shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); -shape_1_per_frame7=//poly = if(above(poly,8),4,poly); -shape_1_per_frame8=sides = poly; -shape_1_per_frame9= -shape_1_per_frame10=rate2 = fps/(fps+10); -shape_1_per_frame11=out = (1-beat)*rate2*out + beat; -shape_1_per_frame12=border_a = out; -shape_1_per_frame13=te = bass/fps/2 + te; -shape_1_per_frame14=x = x + 0.056*sin(te*1.67); -shape_1_per_frame15=y = y + 0.043*sin(te*1.23); -shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); -shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; -shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); -shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); -shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); -shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); -shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); -shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); -shapecode_2_enabled=1 -shapecode_2_sides=40 -shapecode_2_additive=0 -shapecode_2_thickOutline=1 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.853568 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.220190 -shapecode_2_r=0.980000 -shapecode_2_g=0.000000 -shapecode_2_b=0.890000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.920000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.050000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=0.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_init3=te = 1; -shape_2_init4=poly = 5; -shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) -shapecode_3_enabled=0 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.265151 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=rate = fps/(fps+1/2); -shape_3_per_frame2= -shape_3_per_frame3=ang = time*0.5; -shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; -shape_3_per_frame5=te = vol/fps + te; -shape_3_per_frame6=x = x + 0.2*sin(te*1.14); -shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); -shape_3_per_frame8= -shape_3_per_frame9=beat = above(vol*1.5,bassthresh); -shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); -shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); -shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); -shape_3_per_frame13=sides = poly; -shape_3_per_frame14=rad = rad-log(poly)/100; -shape_3_per_frame15= -shape_3_per_frame16=a=pow(vol*2,2); -shape_3_per_frame17=border_a=a; -shape_3_per_frame18=rad=rad*0.7+a*0.015 -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5=mtime=mtime+vol*0.018*(70/fps); -per_frame_6=q7=mtime; -per_frame_7=q8=vol -per_pixel_1=zoom=-1.02 + rad*10; -per_pixel_2=//rot=rad*500; diff --git a/presets_milkdrop_104/Eo.S. - heater core C_Phat's_on route_mix+beam.milk b/presets_milkdrop_104/Eo.S. - heater core C_Phat's_on route_mix+beam.milk deleted file mode 100644 index 012087231d..0000000000 --- a/presets_milkdrop_104/Eo.S. - heater core C_Phat's_on route_mix+beam.milk +++ /dev/null @@ -1,453 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980001 -fDecay=0.900000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.311600 -fWaveScale=1.228910 -fWaveSmoothing=0.000000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.459526 -fWarpScale=2.006761 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999902 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=-1.000000 -warp=0.010000 -sx=0.999998 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.055000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.900000 -wavecode_0_b=0.800000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=freq=sin(q7*0.5)*4+4; -wave_0_per_point4= -wave_0_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_0_per_point6=xp=sin(n*1)*0.3*scale; -wave_0_per_point7=yp=cos(n*1)*0.3*scale; -wave_0_per_point8=zp=abs(sin(n*freq+time)*0.1); -wave_0_per_point9= -wave_0_per_point10=//rotate on y -wave_0_per_point11=ang=(q7+time*0.01)*0.2; -wave_0_per_point12=xp2=xp*sin(ang) + zp*cos(ang); -wave_0_per_point13=yp2=yp; -wave_0_per_point14=zp2=xp*cos(ang) - zp*sin(ang); -wave_0_per_point15= -wave_0_per_point16=//rotate on x -wave_0_per_point17=ang=(q7+time*0.01)*0.3; -wave_0_per_point18=xp3=xp2; -wave_0_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_0_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_0_per_point21= -wave_0_per_point22= -wave_0_per_point23=xp=xp3; -wave_0_per_point24=yp=yp3; -wave_0_per_point25=zp=zp3; -wave_0_per_point26=zp=zp+2.1; -wave_0_per_point27=xs=xp/zp; -wave_0_per_point28=ys=yp/zp; -wave_0_per_point29= -wave_0_per_point30=x=xs+0.5; -wave_0_per_point31=y=ys*1.3+0.5; -wave_0_per_point32= -wave_0_per_point33= -wave_0_per_point34=aflux=sin(n*8+time)*0.5+0.5; -wave_0_per_point35=a=1 - (aflux*aflux)*q8*3 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.700000 -wavecode_1_g=0.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2= -wave_1_per_point3=freq=sin(q7*0.5)*4+4; -wave_1_per_point4= -wave_1_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_1_per_point6=xp=sin(n*1)*0.3*scale; -wave_1_per_point7=yp=cos(n*1)*0.3*scale; -wave_1_per_point8=zp=-abs(sin(n*freq+time)*0.1); -wave_1_per_point9= -wave_1_per_point10=//rotate on y -wave_1_per_point11=ang=(q7+time*0.01)*0.2; -wave_1_per_point12=xp2=xp*sin(ang) + zp*cos(ang); -wave_1_per_point13=yp2=yp; -wave_1_per_point14=zp2=xp*cos(ang) - zp*sin(ang); -wave_1_per_point15= -wave_1_per_point16=//rotate on x -wave_1_per_point17=ang=(q7+time*0.01)*0.3; -wave_1_per_point18=xp3=xp2; -wave_1_per_point19=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_1_per_point20=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_1_per_point21= -wave_1_per_point22= -wave_1_per_point23=xp=xp3; -wave_1_per_point24=yp=yp3; -wave_1_per_point25=zp=zp3; -wave_1_per_point26=zp=zp+2.1; -wave_1_per_point27=xs=xp/zp; -wave_1_per_point28=ys=yp/zp; -wave_1_per_point29= -wave_1_per_point30=x=xs+0.5; -wave_1_per_point31=y=ys*1.3+0.5; -wave_1_per_point32= -wave_1_per_point33= -wave_1_per_point34=aflux=sin(n*8+time)*0.5+0.5; -wave_1_per_point35=a=1 - (aflux*aflux)*q8*3 -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2= -wave_2_per_point3=freq=sin(q7*0.5)*4+4; -wave_2_per_point4= -wave_2_per_point5=aflux=sin(n*0.5); -wave_2_per_point6= -wave_2_per_point7=scale=sin(n*freq)*0.3+0.7; -wave_2_per_point8=xp=rand(10)-5; -wave_2_per_point9=xp=xp*0.0008*aflux; -wave_2_per_point10=yp=rand(10)-5; -wave_2_per_point11=yp=yp*0.0008*aflux; -wave_2_per_point12=zp=sample*3-1.5; -wave_2_per_point13= -wave_2_per_point14=//rotate on y -wave_2_per_point15=ang=(q7+time*0.01)*0.2; -wave_2_per_point16=xp2=xp*sin(ang) + zp*cos(ang); -wave_2_per_point17=yp2=yp; -wave_2_per_point18=zp2=xp*cos(ang) - zp*sin(ang); -wave_2_per_point19= -wave_2_per_point20=//rotate on x -wave_2_per_point21=ang=(q7+time*0.01)*0.3; -wave_2_per_point22=xp3=xp2; -wave_2_per_point23=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_2_per_point24=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27=xp=xp3; -wave_2_per_point28=yp=yp3; -wave_2_per_point29=zp=zp3; -wave_2_per_point30= -wave_2_per_point31=zp=zp+2.1; -wave_2_per_point32=xs=xp/zp; -wave_2_per_point33=ys=yp/zp; -wave_2_per_point34= -wave_2_per_point35=x=xs+0.5; -wave_2_per_point36=y=ys*1.3+0.5; -wave_2_per_point37= -wave_2_per_point38= -wave_2_per_point39= -wave_2_per_point40=a=aflux -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2= -wave_3_per_point3= -wave_3_per_point4= -wave_3_per_point5=scale=sin(n*freq)*0.3+0.7; -wave_3_per_point6=zp=sin(time); -wave_3_per_point7=aflux=sin(zp*3.1415+3.1415); -wave_3_per_point8=xp=sin(n)*0.1*aflux; -wave_3_per_point9=yp=cos(n)*0.1*aflux; -wave_3_per_point10= -wave_3_per_point11= -wave_3_per_point12=//rotate on y -wave_3_per_point13=ang=(q7+time*0.01)*0.2; -wave_3_per_point14=xp2=xp*sin(ang) + zp*cos(ang); -wave_3_per_point15=yp2=yp; -wave_3_per_point16=zp2=xp*cos(ang) - zp*sin(ang); -wave_3_per_point17= -wave_3_per_point18=//rotate on x -wave_3_per_point19=ang=(q7+time*0.01)*0.3; -wave_3_per_point20=xp3=xp2; -wave_3_per_point21=yp3=yp2*sin(ang) + zp2*cos(ang); -wave_3_per_point22=zp3=yp2*cos(ang) - zp2*sin(ang); -wave_3_per_point23= -wave_3_per_point24= -wave_3_per_point25=xp=xp3; -wave_3_per_point26=yp=yp3; -wave_3_per_point27=zp=zp3; -wave_3_per_point28= -wave_3_per_point29=zp=zp+2.1; -wave_3_per_point30=xs=xp/zp; -wave_3_per_point31=ys=yp/zp; -wave_3_per_point32= -wave_3_per_point33=x=xs+0.5; -wave_3_per_point34=y=ys*1.3+0.5; -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37= -wave_3_per_point38=a=aflux -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.650134 -shapecode_0_ang=3.644249 -shapecode_0_tex_ang=3.141593 -shapecode_0_tex_zoom=0.274293 -shapecode_0_r=0.500000 -shapecode_0_g=0.500000 -shapecode_0_b=1.000000 -shapecode_0_a=0.180000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_per_frame1=rate = fps/(fps+1/3); -shape_0_per_frame2=beat = above(bass,bassthresh); -shape_0_per_frame3=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.3)*rate+1.3); -shape_0_per_frame4=poly = if(beat,rand(30)+6,poly); -shape_0_per_frame5=sides = poly; -shape_0_per_frame6= -shape_0_per_frame7=te = te + max(bass/fps/3,0.003); -shape_0_per_frame8=x = 0.5+0.45*sin(te*1.87)+0.07*sin(time*0.6); -shape_0_per_frame9=y = 0.5+0.35*cos(te*1.87)+0.07*sin(time*1.3); -shape_0_per_frame10=ang = 3*sin(-te*1.67) + 3*cos(te*0.4); -shape_0_per_frame11=rad = rad * (0.9 + 0.2*t2); -shape_0_per_frame12=r = min(1,max(0,r + 0.4*sin(time*0.517 + 1))); -shape_0_per_frame13=g = min(1,max(0,g + 0.4*sin(time*0.491 + 2))); -shape_0_per_frame14=b = min(1,max(0,b + 0.4*sin(time*0.532 + 4))); -shape_0_per_frame15=r2 = min(1,max(0,r2 + 0.4*sin(time*0.457 + 3))); -shape_0_per_frame16=g2 = min(1,max(0,g2 + 0.4*sin(time*0.437 + 5))); -shape_0_per_frame17=b2 = min(1,max(0,b2 + 0.4*sin(time*0.484 + 6))); -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=1 -shapecode_1_x=0.370000 -shapecode_1_y=0.490000 -shapecode_1_rad=0.749999 -shapecode_1_ang=3.644249 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_init1=t1 = rand(100)*0.01; -shape_1_init2=t2 = rand(100)*0.01; -shape_1_init3=te = 1; -shape_1_init4=poly = 4; -shape_1_per_frame1= -shape_1_per_frame2=rate = fps/(fps+1/2); -shape_1_per_frame3=beat = above(bass,bassthresh); -shape_1_per_frame4=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.5)*rate+1.5); -shape_1_per_frame5=ran = rand(8)+4; -shape_1_per_frame6=poly = if(beat,if(equal(ran,poly),poly+1,ran),poly); -shape_1_per_frame7=//poly = if(above(poly,8),4,poly); -shape_1_per_frame8=sides = poly; -shape_1_per_frame9= -shape_1_per_frame10=rate2 = fps/(fps+10); -shape_1_per_frame11=out = (1-beat)*rate2*out + beat; -shape_1_per_frame12=border_a = out; -shape_1_per_frame13=te = bass/fps/2 + te; -shape_1_per_frame14=x = x + 0.056*sin(te*1.67); -shape_1_per_frame15=y = y + 0.043*sin(te*1.23); -shape_1_per_frame16=ang = 3*sin(-te*0.67) + 3*cos(te*0.4); -shape_1_per_frame17=rad = rad * (0.9 + 0.2*t2) - 0.1*sin(te*1.51);; -shape_1_per_frame18=r = min(1,max(0,r + 0.3*sin(time*0.427 + 1))); -shape_1_per_frame19=g = min(1,max(0,g + 0.3*sin(time*0.401 + 2))); -shape_1_per_frame20=b = min(1,max(0,b + 0.3*sin(time*0.452 + 4))); -shape_1_per_frame21=r2 = min(1,max(0,r2 + 0.3*sin(time*0.417 + 3))); -shape_1_per_frame22=g2 = min(1,max(0,g2 + 0.3*sin(time*0.457 + 5))); -shape_1_per_frame23=b2 = min(1,max(0,b2 + 0.3*sin(time*0.434 + 6))); -shapecode_2_enabled=1 -shapecode_2_sides=40 -shapecode_2_additive=0 -shapecode_2_thickOutline=1 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.853568 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.220190 -shapecode_2_r=0.980000 -shapecode_2_g=0.000000 -shapecode_2_b=0.890000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.920000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.050000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=0.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_init3=te = 1; -shape_2_init4=poly = 5; -shape_2_per_frame1=ang=sin(time*0.4)*0.05 * (sin(time*0.4)*0.5+0.5) -shapecode_3_enabled=0 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.265151 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.100000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.500000 -shapecode_3_border_g=0.500000 -shapecode_3_border_b=0.500000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=rate = fps/(fps+1/2); -shape_3_per_frame2= -shape_3_per_frame3=ang = time*0.5; -shape_3_per_frame4=vol = (bass_att+mid_att+treb_att)/6; -shape_3_per_frame5=te = vol/fps + te; -shape_3_per_frame6=x = x + 0.2*sin(te*1.14); -shape_3_per_frame7=y = y + 0.2*sin(te*0.96+2); -shape_3_per_frame8= -shape_3_per_frame9=beat = above(vol*1.5,bassthresh); -shape_3_per_frame10=bassthresh = beat*4 + (1-beat)*((bassthresh - 1.4)*rate+1.4); -shape_3_per_frame11=poly = if(beat,rand(5)+3,poly); -shape_3_per_frame12=poly = if(equal(poly,7),rand(50)+7,poly); -shape_3_per_frame13=sides = poly; -shape_3_per_frame14=rad = rad-log(poly)/100; -shape_3_per_frame15= -shape_3_per_frame16=a=pow(vol*2,2); -shape_3_per_frame17=border_a=a; -shape_3_per_frame18=rad=rad*0.7+a*0.015 -per_frame_1=//This Preset is based on Geiss - Feedback and Geiss - Feedback 2 -per_frame_2= -per_frame_3=//Ever since Geiss made those presets I've made slight changes -per_frame_4=//to them and saved them. They were so cool, I used to watch -per_frame_5=//them for hours. This preset is then one that flowed from -per_frame_6=//changing and tweaking those. -per_frame_7= -per_frame_8=//Almost everything is changed, but the one shape, (shape 4) -per_frame_9=//feeding back into the two bigger ones (shape 2 and 3) is -per_frame_10=//obtained from the Feedback presets. -per_frame_11= -per_frame_12=//I've added a 4th shape (shape 1) that is the big 'filter' -per_frame_13=//to change colours etc. It is also textured, so thats why -per_frame_14=//the 'triple' feedback is for. -per_frame_15= -per_frame_16=//Shapes 3 and 2 can have their borders displayed in a strobe -per_frame_17=//like fashion on beats. They also change amount of sides. -per_frame_18= -per_frame_19=//-Reenen -per_frame_20= -per_frame_21= -per_frame_22=decay=1; -per_frame_23= -per_frame_24=vol=(bass+mid+treb)*0.25; -per_frame_25=vol=vol*vol; -per_frame_26=mtime=mtime+vol*0.018*(68/fps); -per_frame_27=q7=mtime; -per_frame_28=q8=vol -per_pixel_1=zoom=-1.02 + ((rad*(treb*10))*(bass*bass)); diff --git a/presets_milkdrop_104/Eo.S. - multisphere 01 B_Phat_Ra_mix.milk b/presets_milkdrop_104/Eo.S. - multisphere 01 B_Phat_Ra_mix.milk deleted file mode 100644 index 9a7f24bc7b..0000000000 --- a/presets_milkdrop_104/Eo.S. - multisphere 01 B_Phat_Ra_mix.milk +++ /dev/null @@ -1,347 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.980001 -fDecay=0.960000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.350000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.200000 -wavecode_0_g=0.700000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=ang=int(sample*12)/12 * 6.283; -wave_0_per_point3=ps=time*0.1; -wave_0_per_point4= -wave_0_per_point5=//circle; -wave_0_per_point6=xp=sin(n*12+ps)*0.5; -wave_0_per_point7=yp=cos(n*12+ps)*0.5; -wave_0_per_point8=zp=2 + q1*0.03; -wave_0_per_point9= -wave_0_per_point10=//positions on y axis -wave_0_per_point11=xq=xp*sin(ang) + zp*cos(ang); -wave_0_per_point12=yq=yp; -wave_0_per_point13=zq=xp*cos(ang) - zp*sin(ang); -wave_0_per_point14= -wave_0_per_point15=//rotate on x; -wave_0_per_point16=xp=xq; -wave_0_per_point17=yp=yq*sin(q2) + zq*cos(q2); -wave_0_per_point18=zp=yq*cos(q2) - zq*sin(q2); -wave_0_per_point19= -wave_0_per_point20=//rotate on z; -wave_0_per_point21=xq=xp*sin(q2) + yp*cos(q2); -wave_0_per_point22=yq=xp*cos(q2) - yp*sin(q2); -wave_0_per_point23=zq=zp; -wave_0_per_point24= -wave_0_per_point25= -wave_0_per_point26=xp=xq; -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=zp=zp+8; -wave_0_per_point31=xs=xp/zp; -wave_0_per_point32=ys=yp/zp; -wave_0_per_point33= -wave_0_per_point34=x=xs+0.5; -wave_0_per_point35=y=ys*1.3+0.5; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.500000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=ang=int(sample*12)/12 * 6.283; -wave_1_per_point3=ps=time*0.1; -wave_1_per_point4= -wave_1_per_point5=//circle; -wave_1_per_point6=xp=sin(n*12+ps)*0.5; -wave_1_per_point7=yp=cos(n*12+ps)*0.5; -wave_1_per_point8=zp=2 + q1*0.03; -wave_1_per_point9= -wave_1_per_point10=//positions on x axis -wave_1_per_point11=xq=xp; -wave_1_per_point12=yq=yp*sin(ang) + zp*cos(ang); -wave_1_per_point13=zq=yp*cos(ang) - zp*sin(ang); -wave_1_per_point14= -wave_1_per_point15=//rotate on x; -wave_1_per_point16=xp=xq; -wave_1_per_point17=yp=yq*sin(q2) + zq*cos(q2); -wave_1_per_point18=zp=yq*cos(q2) - zq*sin(q2); -wave_1_per_point19= -wave_1_per_point20=//rotate on z; -wave_1_per_point21=xq=xp*sin(q2) + yp*cos(q2); -wave_1_per_point22=yq=xp*cos(q2) - yp*sin(q2); -wave_1_per_point23=zq=zp; -wave_1_per_point24= -wave_1_per_point25= -wave_1_per_point26=xp=xq; -wave_1_per_point27=yp=yq; -wave_1_per_point28=zp=zq; -wave_1_per_point29= -wave_1_per_point30=zp=zp+8; -wave_1_per_point31=xs=xp/zp; -wave_1_per_point32=ys=yp/zp; -wave_1_per_point33= -wave_1_per_point34=x=xs+0.5; -wave_1_per_point35=y=ys*1.3+0.5; -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2= -wave_3_per_point3=flip=flip+1; -wave_3_per_point4=flip=flip*below(flip,2); -wave_3_per_point5= -wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; -wave_3_per_point7= -wave_3_per_point8=xp=sin(n+phase)*flip; -wave_3_per_point9=yp=cos(n+phase)*flip; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//rotate on y during draw -wave_3_per_point13=ang=n*2+phase*0.2; -wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); -wave_3_per_point15=yq=yp; -wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); -wave_3_per_point17= -wave_3_per_point18=r1=0.1;g1=0.6;b1=1; -wave_3_per_point19=r2=1.0;g2=0.7;b2=0.1; -wave_3_per_point20=fade=xq*0.5 + 0.5; -wave_3_per_point21=r=r1*fade + r2*(1-fade); -wave_3_per_point22=g=g1*fade + g2*(1-fade); -wave_3_per_point23=b=b1*fade + b2*(1-fade); -wave_3_per_point24= -wave_3_per_point25=//rotation; -wave_3_per_point26=ang=time*0.1; -wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); -wave_3_per_point28=yp=yq; -wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); -wave_3_per_point30= -wave_3_per_point31=ang=time*0.17; -wave_3_per_point32=xq=xp; -wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37=//push into viewspace -wave_3_per_point38=zq=zq+3.1; -wave_3_per_point39= -wave_3_per_point40= -wave_3_per_point41=//project into screenspace -wave_3_per_point42=xs=xq/zq; -wave_3_per_point43=ys=yq/zq; -wave_3_per_point44= -wave_3_per_point45= -wave_3_per_point46=x=xs+0.5; -wave_3_per_point47=y=ys*1.3+0.5; -wave_3_per_point48=a=(1-flip)*0.03*q1; -wave_3_per_point49= -wave_3_per_point50= -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.986086 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.030301 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.986086 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=1.884956 -shapecode_1_tex_zoom=1.030296 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2=zoom=-1.01; -per_frame_3=vol=(bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5=q1=vol; -per_frame_6= -per_frame_7=mtime=mtime+vol*0.01*(53/fps); -per_frame_8=q2=mtime*0.25; -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= diff --git a/presets_milkdrop_104/Eo.S. - nematodes E daemon.milk b/presets_milkdrop_104/Eo.S. - nematodes E daemon.milk deleted file mode 100644 index 5603cc9199..0000000000 --- a/presets_milkdrop_104/Eo.S. - nematodes E daemon.milk +++ /dev/null @@ -1,362 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.980001 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=repeats=10; -wave_0_per_point2=samplerepeat=sample*repeats; -wave_0_per_point3=cycle=int(samplerepeat); -wave_0_per_point4=sampcyc=samplerepeat - cycle; -wave_0_per_point5=cycleto1=cycle/repeats; -wave_0_per_point6= -wave_0_per_point7=n=sampcyc*6.283; -wave_0_per_point8=phs=sampcyc; -wave_0_per_point9=tm=q1+phs+(cycleto1)*0.1; -wave_0_per_point10=tmm=time; -wave_0_per_point11=rsample=(1-sampcyc*0.9)*2.2*(cycleto1+1); -wave_0_per_point12=a=sampcyc * below(sampcyc,0.95); -wave_0_per_point13=a=a*a; -wave_0_per_point14= -wave_0_per_point15=//waving -wave_0_per_point16=tmc=tm+cycle-phs*0.2; -wave_0_per_point17=variation=sin(cycleto1*6.283)*9; -wave_0_per_point18=swap=above(sample,0.5)*2-1; -wave_0_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; -wave_0_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; -wave_0_per_point21= -wave_0_per_point22=xp=sin(tm)*0.4 ; -wave_0_per_point23=yp=cos(tm)*0.4 ; -wave_0_per_point24= -wave_0_per_point25=xp=xp*sin(tm*3); -wave_0_per_point26=yp=yp*cos(tm*2.6); -wave_0_per_point27= -wave_0_per_point28=xp=xp*sin(tm*0.43); -wave_0_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); -wave_0_per_point30= -wave_0_per_point31=xp=xp+wavex; -wave_0_per_point32=yp=yp+wavey; -wave_0_per_point33= -wave_0_per_point34=x=xp+0.5; -wave_0_per_point35=y=yp*1.333 + 0.5; -wave_0_per_point36= -wave_0_per_point37= -wave_0_per_point38=trailsize=0.85; -wave_0_per_point39=head=above(a,trailsize); -wave_0_per_point40=tail=1-head; -wave_0_per_point41=r=1*head + 0.5*tail; -wave_0_per_point42=g=0.8*head + 0.3*tail; -wave_0_per_point43=b=0.5*head; -wave_0_per_point44= -wave_0_per_point45=a=a*0.25 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=repeats=8; -wave_1_per_point2=samplerepeat=sample*repeats; -wave_1_per_point3=cycle=int(samplerepeat); -wave_1_per_point4=sampcyc=samplerepeat - cycle; -wave_1_per_point5=cycleto1=cycle/repeats; -wave_1_per_point6= -wave_1_per_point7=n=sampcyc*6.283; -wave_1_per_point8=phs=sampcyc+0.15; -wave_1_per_point9=tm=q1+phs+(cycleto1)*0.1; -wave_1_per_point10=tmm=time; -wave_1_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); -wave_1_per_point12=a=sampcyc * below(sampcyc,0.95); -wave_1_per_point13=a=a*a; -wave_1_per_point14= -wave_1_per_point15=//waving -wave_1_per_point16=tmc=tm+cycle-phs*0.2; -wave_1_per_point17=variation=sin(cycleto1*6.283)*9; -wave_1_per_point18=swap=above(sample,0.5)*2-1; -wave_1_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; -wave_1_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; -wave_1_per_point21= -wave_1_per_point22=xp=sin(tm)*0.4 ; -wave_1_per_point23=yp=cos(tm)*0.4 ; -wave_1_per_point24= -wave_1_per_point25=xp=xp*sin(tm*3); -wave_1_per_point26=yp=yp*cos(tm*2.6); -wave_1_per_point27= -wave_1_per_point28=xp=xp*sin(tm*0.43); -wave_1_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); -wave_1_per_point30= -wave_1_per_point31=xp=xp+wavex; -wave_1_per_point32=yp=yp+wavey; -wave_1_per_point33= -wave_1_per_point34=x=xp+0.5; -wave_1_per_point35=y=yp*1.333 + 0.5; -wave_1_per_point36= -wave_1_per_point37= -wave_1_per_point38=trailsize=0.85; -wave_1_per_point39=head=above(a,trailsize); -wave_1_per_point40=tail=1-head; -wave_1_per_point41=r=1*head + 0.5*tail; -wave_1_per_point42=g=0.8*head + 0.3*tail; -wave_1_per_point43=b=0.5*head; -wave_1_per_point44= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=repeats=6; -wave_2_per_point2=samplerepeat=sample*repeats; -wave_2_per_point3=cycle=int(samplerepeat); -wave_2_per_point4=sampcyc=samplerepeat - cycle; -wave_2_per_point5=cycleto1=cycle/repeats; -wave_2_per_point6= -wave_2_per_point7=n=sampcyc*6.283; -wave_2_per_point8=phs=sampcyc+0.25; -wave_2_per_point9=tm=q1+phs+(cycleto1)*0.1; -wave_2_per_point10=tmm=time; -wave_2_per_point11=rsample=(1-sampcyc*0.9)*1.5*(cycleto1+1); -wave_2_per_point12=a=sampcyc * below(sampcyc,0.95); -wave_2_per_point13=a=a*a; -wave_2_per_point14= -wave_2_per_point15=//waving -wave_2_per_point16=tmc=tm+cycle-phs*0.2; -wave_2_per_point17=variation=sin(cycleto1*6.283)*9; -wave_2_per_point18=swap=above(sample,0.5)*2-1; -wave_2_per_point19=wavex=sin(tmc*(19+variation)*swap)*rsample*0.04; -wave_2_per_point20=wavey=cos(tmc*(19+variation)*swap)*rsample*0.04; -wave_2_per_point21= -wave_2_per_point22=xp=sin(tm)*0.4 ; -wave_2_per_point23=yp=cos(tm)*0.4 ; -wave_2_per_point24= -wave_2_per_point25=xp=xp*sin(tm*3); -wave_2_per_point26=yp=yp*cos(tm*2.6); -wave_2_per_point27= -wave_2_per_point28=xp=xp*sin(tm*0.43); -wave_2_per_point29=yp=yp*(cos(tm*1.79)*0.5+0.5); -wave_2_per_point30= -wave_2_per_point31=xp=xp+wavex; -wave_2_per_point32=yp=yp+wavey; -wave_2_per_point33= -wave_2_per_point34=x=xp+0.5; -wave_2_per_point35=y=yp*1.333 + 0.5; -wave_2_per_point36= -wave_2_per_point37= -wave_2_per_point38=trailsize=0.85; -wave_2_per_point39=head=above(a,trailsize); -wave_2_per_point40=tail=1-head; -wave_2_per_point41=r=1*head + 0.5*tail; -wave_2_per_point42=g=0.8*head + 0.3*tail; -wave_2_per_point43=b=0.5*head; -wave_2_per_point44= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=6 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.680000 -shapecode_0_rad=0.808142 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=1.193805 -shapecode_0_tex_zoom=1.040604 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.600000 -shapecode_0_g2=0.700000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=time*0.1 -shapecode_1_enabled=1 -shapecode_1_sides=6 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.210000 -shapecode_1_rad=0.564831 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=1.193805 -shapecode_1_tex_zoom=1.040604 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.150000 -shapecode_1_r2=0.600000 -shapecode_1_g2=0.700000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=ang=-time*0.13; -shape_1_per_frame2=x=sin(time*0.29)*0.2 + 0.5 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.600000 -shapecode_2_g2=0.700000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.500000 -shapecode_3_g2=0.700000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2=zoom=1.000; -per_frame_3= -per_frame_4=q1=time*0.4; -per_frame_5= -per_frame_6= -per_frame_7= -per_frame_8= -per_pixel_1=dx=sin(y*14)*sin(y*34+time)*0.002; -per_pixel_2=dy=cos(x*19+time)*cos(x*34)*0.002; -per_pixel_3=dy=dy diff --git a/presets_milkdrop_104/Eo.S. - pointfield 09 the gases beyond 85c.milk b/presets_milkdrop_104/Eo.S. - pointfield 09 the gases beyond 85c.milk deleted file mode 100644 index 28fc610ac3..0000000000 --- a/presets_milkdrop_104/Eo.S. - pointfield 09 the gases beyond 85c.milk +++ /dev/null @@ -1,429 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.210000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=advance=0; -wave_0_init2=advance2=0; -wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_0_per_frame3=t1=advance; -wave_0_per_frame4= -wave_0_per_frame5= -wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; -wave_0_per_frame7=t2=advance2 -wave_0_per_point1=s=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=//plot random x position via function of sample pos; -wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_0_per_point5=xp=xp*0.15; -wave_0_per_point6= -wave_0_per_point7=//plot random y position via function of sample pos; -wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_0_per_point9=yp=yp*0.15; -wave_0_per_point10= -wave_0_per_point11=//plot random z position via function of sample pos; -wave_0_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_0_per_point13=zp=zp*0.25; -wave_0_per_point14= -wave_0_per_point15=//pull stars toward screen -wave_0_per_point16=zp=zp + 1 - t1; -wave_0_per_point17= -wave_0_per_point18=//correct when below 0 -wave_0_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point20= -wave_0_per_point21=//darken far stars -wave_0_per_point22=a=(1 - zp*0.5)*2; -wave_0_per_point23= -wave_0_per_point24=zp=zp*0.7; -wave_0_per_point25= -wave_0_per_point26=x_screen=xp/zp + 0.5; -wave_0_per_point27=y_screen=yp/zp + 0.5; -wave_0_per_point28= -wave_0_per_point29=x=x_screen; -wave_0_per_point30=y=y_screen; -wave_0_per_point31= -wave_0_per_point32=r=1; -wave_0_per_point33=g=0.5; -wave_0_per_point34=b=0.1; -wave_0_per_point35=a=a*0.7; -wave_0_per_point36= -wave_0_per_point37=a=a* above( sin(time+s*9) , -0.5 ); -wave_0_per_point38= -wave_0_per_point39= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=advance=0; -wave_1_init2=advance2=0 -wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_1_per_frame3=t1=advance; -wave_1_per_frame4= -wave_1_per_frame5= -wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; -wave_1_per_frame7=t2=advance2 -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_1_per_point5=xp=xp*0.15; -wave_1_per_point6= -wave_1_per_point7=//plot random y position via function of sample pos; -wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_1_per_point9=yp=yp*0.15; -wave_1_per_point10= -wave_1_per_point11=//plot random z position via function of sample pos; -wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_1_per_point13=zp=zp*0.25; -wave_1_per_point14= -wave_1_per_point15=//pull stars toward screen -wave_1_per_point16=zp=zp + 1 - t1; -wave_1_per_point17= -wave_1_per_point18=//correct when below 0 -wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point20= -wave_1_per_point21=//darken far stars -wave_1_per_point22=a=(1 - zp*0.5) * 0.3; -wave_1_per_point23=a=if( below(a,0), 0 , a); -wave_1_per_point24= -wave_1_per_point25=zp=zp*0.7; -wave_1_per_point26= -wave_1_per_point27=x_screen=xp/zp + 0.5; -wave_1_per_point28=y_screen=yp/zp + 0.5; -wave_1_per_point29= -wave_1_per_point30=x=x_screen; -wave_1_per_point31=y=y_screen; -wave_1_per_point32= -wave_1_per_point33=r=0.2; -wave_1_per_point34=g=0.7; -wave_1_per_point35=b=1.0; -wave_1_per_point36=a=a*0.5 -wave_1_per_point37= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=advance=0; -wave_2_init2=advance2=0 -wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_2_per_frame3=t1=advance; -wave_2_per_frame4= -wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; -wave_2_per_frame6=t2=advance2; -wave_2_per_point1=s=sample*6.28; -wave_2_per_point2= -wave_2_per_point3=//plot random x position via function of sample pos; -wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_2_per_point5=xp=xp*0.15; -wave_2_per_point6= -wave_2_per_point7=//plot random y position via function of sample pos; -wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_2_per_point9=yp=yp*0.15; -wave_2_per_point10= -wave_2_per_point11=//plot random z position via function of sample pos; -wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_2_per_point13=zp=zp*0.25; -wave_2_per_point14= -wave_2_per_point15=//pull stars toward screen -wave_2_per_point16=zp=zp + 1 - t1; -wave_2_per_point17= -wave_2_per_point18=//correct when below 0 -wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_2_per_point20= -wave_2_per_point21=//darken far stars -wave_2_per_point22=a=(1 - zp*0.5)*2; -wave_2_per_point23= -wave_2_per_point24=zp=zp*0.7; -wave_2_per_point25= -wave_2_per_point26=x_screen=-xp/zp + 0.5; -wave_2_per_point27=y_screen=yp/zp + 0.5; -wave_2_per_point28= -wave_2_per_point29=x=x_screen; -wave_2_per_point30=y=y_screen; -wave_2_per_point31= -wave_2_per_point32=r=1; -wave_2_per_point33=g=0.5; -wave_2_per_point34=b=0.1; -wave_2_per_point35=a=a*0.7; -wave_2_per_point36= -wave_2_per_point37= -wave_2_per_point38=a=a* above( sin(time+s*9) , -0.5 ); -wave_2_per_point39= -wave_2_per_point40= -wavecode_3_enabled=1 -wavecode_3_samples=402 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_init1=advance=0; -wave_3_init2=advance2=0 -wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_3_per_frame3=t1=advance; -wave_3_per_frame4= -wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; -wave_3_per_frame6=t2=advance2; -wave_3_per_point1=s=sample*6.28; -wave_3_per_point2= -wave_3_per_point3=//plot random x position via function of sample pos; -wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_3_per_point5=xp=xp*0.15; -wave_3_per_point6= -wave_3_per_point7=//plot random y position via function of sample pos; -wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_3_per_point9=yp=yp*0.15; -wave_3_per_point10= -wave_3_per_point11=//plot random z position via function of sample pos; -wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_3_per_point13=zp=zp*0.25; -wave_3_per_point14= -wave_3_per_point15=//pull stars toward screen -wave_3_per_point16=zp=zp + 1 - t1; -wave_3_per_point17= -wave_3_per_point18=//correct when below 0 -wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_3_per_point20= -wave_3_per_point21=//darken far stars -wave_3_per_point22=a=(1 - zp*0.5) * 0.3; -wave_3_per_point23=a=if( below(a,0), 0 , a); -wave_3_per_point24= -wave_3_per_point25=zp=zp*0.7; -wave_3_per_point26= -wave_3_per_point27=x_screen=-xp/zp + 0.5; -wave_3_per_point28=y_screen=yp/zp + 0.5; -wave_3_per_point29= -wave_3_per_point30=x=x_screen; -wave_3_per_point31=y=y_screen; -wave_3_per_point32= -wave_3_per_point33=r=0.2; -wave_3_per_point34=g=0.7; -wave_3_per_point35=b=1.0; -wave_3_per_point36=a=a*0.5 -wave_3_per_point37= -wave_3_per_point38= -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.208824 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.734577 -shapecode_0_r=0.610000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.060000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=time*0.3 -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.600000 -shapecode_1_b=0.900000 -shapecode_1_a=0.110000 -shapecode_1_r2=0.600000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=xp = 1 - abs( sin(time*100) ); -shape_1_per_frame2=xsign = rand(2)*2 - 1; -shape_1_per_frame3= -shape_1_per_frame4=a=a * (1-xp); -shape_1_per_frame5= -shape_1_per_frame6=xp=xp* (bass+mid+treb)*0.23; -shape_1_per_frame7= -shape_1_per_frame8=x = xp*xsign*0.5 + 0.5; -shape_1_per_frame9= -shape_1_per_frame10= -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=1; -per_frame_2=zoom=1.01; -per_frame_3= -per_frame_4=q1=time; -per_frame_5=q2=time; -per_frame_6=q3=time; -per_frame_7= -per_frame_8= -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=flash=flash + min(mid*mid*mid*0.1,0.5); -per_frame_13=flash=if( above(flash,1) , flash-1 , flash); -per_frame_14=gamma=1.0+ flash*0.5 + min(bass_att*bass_att*0.3,0.49); -per_frame_15=invert=0 diff --git a/presets_milkdrop_104/Eo.S. - pulsecube ee bounce.milk b/presets_milkdrop_104/Eo.S. - pulsecube ee bounce.milk deleted file mode 100644 index a1796e86d3..0000000000 --- a/presets_milkdrop_104/Eo.S. - pulsecube ee bounce.milk +++ /dev/null @@ -1,413 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.790000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.190000 -wavecode_0_b=0.710000 -wavecode_0_a=0.110001 -wave_0_per_frame1=t1 = q2; -wave_0_per_frame2=t8 = 1; -wave_0_per_frame3= -wave_0_per_frame4=t2 = q1; -wave_0_per_frame5= -wave_0_per_frame6=t3 = q4; -wave_0_per_frame7=t3 = t3/q3 * 1.333 + 0.5; -wave_0_per_frame8= -wave_0_per_frame9=t4 = - q5/q3 + 0.5; -wave_0_per_point1=n = sample*6.283; -wave_0_per_point2= -wave_0_per_point3=t8 = -t8; -wave_0_per_point4= -wave_0_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); -wave_0_per_point6=xp = t8 * (1-bend*0.7*t2); -wave_0_per_point7=yp = sample * 2 - 1; -wave_0_per_point8=zp = bend * t2 * 0.4; -wave_0_per_point9=zp = zp + 1; -wave_0_per_point10= -wave_0_per_point11=ang = t1; -wave_0_per_point12=sang = sin(ang) ; cang = cos(ang); -wave_0_per_point13=xq = xp; -wave_0_per_point14=yq = yp*sang + zp*cang; -wave_0_per_point15=zq = yp*cang - zp*sang; -wave_0_per_point16=xp=xq;yp=yq;zp=zq; -wave_0_per_point17= -wave_0_per_point18=ang = t1 * 2.1; -wave_0_per_point19=sang = sin(ang) ; cang = cos(ang); -wave_0_per_point20=xq = xp*sang + zp*cang; -wave_0_per_point21=yq = yp; -wave_0_per_point22=zq = xp*cang - zp*sang; -wave_0_per_point23=xp=xq;yp=yq;zp=zq; -wave_0_per_point24= -wave_0_per_point25= -wave_0_per_point26=zp = zp + q3; -wave_0_per_point27=yp = yp + q4; -wave_0_per_point28=xp = xp + q5; -wave_0_per_point29=x = xp/zp + 0.5; -wave_0_per_point30=y = yp/zp * 1.333 + 0.5; -wave_0_per_point31= -wave_0_per_point32= -wave_0_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.190000 -wavecode_1_b=0.710000 -wavecode_1_a=0.110001 -wave_1_per_frame1=t1 = q2; -wave_1_per_frame2=t8 = 1; -wave_1_per_frame3= -wave_1_per_frame4=t2 = q1; -wave_1_per_point1=n = sample*6.283; -wave_1_per_point2= -wave_1_per_point3=t8 = -t8; -wave_1_per_point4= -wave_1_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); -wave_1_per_point6=xp = t8 * (1-bend*0.7*t2); -wave_1_per_point7=yp = sample * 2 - 1; -wave_1_per_point8=zp = bend * t2 * 0.4; -wave_1_per_point9=zp = -zp - 1; -wave_1_per_point10= -wave_1_per_point11=ang = t1; -wave_1_per_point12=sang = sin(ang) ; cang = cos(ang); -wave_1_per_point13=xq = xp; -wave_1_per_point14=yq = yp*sang + zp*cang; -wave_1_per_point15=zq = yp*cang - zp*sang; -wave_1_per_point16=xp=xq;yp=yq;zp=zq; -wave_1_per_point17= -wave_1_per_point18=ang = t1 * 2.1; -wave_1_per_point19=sang = sin(ang) ; cang = cos(ang); -wave_1_per_point20=xq = xp*sang + zp*cang; -wave_1_per_point21=yq = yp; -wave_1_per_point22=zq = xp*cang - zp*sang; -wave_1_per_point23=xp=xq;yp=yq;zp=zq; -wave_1_per_point24= -wave_1_per_point25= -wave_1_per_point26=zp = zp + q3; -wave_1_per_point27=yp = yp + q4; -wave_1_per_point28=xp = xp + q5; -wave_1_per_point29=x = xp/zp + 0.5; -wave_1_per_point30=y = yp/zp * 1.333 + 0.5; -wave_1_per_point31= -wave_1_per_point32= -wave_1_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.190000 -wavecode_2_b=0.710000 -wavecode_2_a=0.110001 -wave_2_per_frame1=t1 = q2; -wave_2_per_frame2=t8 = 1; -wave_2_per_frame3= -wave_2_per_frame4=t2 = q1; -wave_2_per_point1=n = sample*6.283; -wave_2_per_point2= -wave_2_per_point3=t8 = -t8; -wave_2_per_point4= -wave_2_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); -wave_2_per_point6=zp = t8 * (1-bend*0.7*t2); -wave_2_per_point7=yp = sample * 2 - 1; -wave_2_per_point8=xp = bend * t2 * 0.4; -wave_2_per_point9=xp = xp + 1; -wave_2_per_point10= -wave_2_per_point11=ang = t1; -wave_2_per_point12=sang = sin(ang) ; cang = cos(ang); -wave_2_per_point13=xq = xp; -wave_2_per_point14=yq = yp*sang + zp*cang; -wave_2_per_point15=zq = yp*cang - zp*sang; -wave_2_per_point16=xp=xq;yp=yq;zp=zq; -wave_2_per_point17= -wave_2_per_point18=ang = t1 * 2.1; -wave_2_per_point19=sang = sin(ang) ; cang = cos(ang); -wave_2_per_point20=xq = xp*sang + zp*cang; -wave_2_per_point21=yq = yp; -wave_2_per_point22=zq = xp*cang - zp*sang; -wave_2_per_point23=xp=xq;yp=yq;zp=zq; -wave_2_per_point24= -wave_2_per_point25=zp = zp + q3; -wave_2_per_point26=yp = yp + q4; -wave_2_per_point27=xp = xp + q5; -wave_2_per_point28=x = xp/zp + 0.5; -wave_2_per_point29=y = yp/zp * 1.333 + 0.5; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.190000 -wavecode_3_b=0.710000 -wavecode_3_a=0.110001 -wave_3_per_frame1=t1 = q2; -wave_3_per_frame2=t8 = 1; -wave_3_per_frame3= -wave_3_per_frame4=t2 = q1; -wave_3_per_point1=n = sample*6.283; -wave_3_per_point2= -wave_3_per_point3=t8 = -t8; -wave_3_per_point4= -wave_3_per_point5=bend = (1 - pow( abs(sample*2-1) , 2 )); -wave_3_per_point6=zp = t8 * (1-bend*0.7*t2); -wave_3_per_point7=yp = sample * 2 - 1; -wave_3_per_point8=xp = bend * t2 * 0.4; -wave_3_per_point9=xp = -xp - 1; -wave_3_per_point10= -wave_3_per_point11=ang = t1; -wave_3_per_point12=sang = sin(ang) ; cang = cos(ang); -wave_3_per_point13=xq = xp; -wave_3_per_point14=yq = yp*sang + zp*cang; -wave_3_per_point15=zq = yp*cang - zp*sang; -wave_3_per_point16=xp=xq;yp=yq;zp=zq; -wave_3_per_point17= -wave_3_per_point18=ang = t1 * 2.1; -wave_3_per_point19=sang = sin(ang) ; cang = cos(ang); -wave_3_per_point20=xq = xp*sang + zp*cang; -wave_3_per_point21=yq = yp; -wave_3_per_point22=zq = xp*cang - zp*sang; -wave_3_per_point23=xp=xq;yp=yq;zp=zq; -wave_3_per_point24= -wave_3_per_point25= -wave_3_per_point26=zp = zp + q3; -wave_3_per_point27=yp = yp + q4; -wave_3_per_point28=xp = xp + q5; -wave_3_per_point29=x = xp/zp + 0.5; -wave_3_per_point30=y = yp/zp * 1.333 + 0.5; -wave_3_per_point31= -wave_3_per_point32= -wave_3_per_point33=g = (1 - pow( abs(sample*2-1) , 2 ))*0.7 -shapecode_0_enabled=1 -shapecode_0_sides=14 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.721517 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.610000 -shapecode_0_r2=0.600000 -shapecode_0_g2=0.700000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y = q4; -shape_0_per_frame2=y = y/q3 * 1.333 + 0.5; -shape_0_per_frame3= -shape_0_per_frame4=x = q5/q3 + 0.5; -shape_0_per_frame5= -shape_0_per_frame6=rad = rad/q3 -shapecode_1_enabled=0 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.203212 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.610000 -shapecode_1_r2=0.600000 -shapecode_1_g2=0.700000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=y = q4; -shape_1_per_frame2=y = y/q3 * 1.333 + 0.5; -shape_1_per_frame3= -shape_1_per_frame4=x = - q5/q3 + 0.5; -shape_1_per_frame5= -shape_1_per_frame6=rad = rad/q3 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.600000 -shapecode_2_g2=0.700000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.500000 -shapecode_3_g2=0.700000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=bounce =0; -per_frame_init_9= -per_frame_1=decay=0.91; -per_frame_2=zoom=1.000; -per_frame_3= -per_frame_4= -per_frame_5=q1 = sin(time*3.3) * 0.5 + 0.5; -per_frame_6= -per_frame_7=vol = (bass+mid+treb)*0.2; -per_frame_8=vol= vol*vol; -per_frame_9= -per_frame_10=slow = min( bass*bass , 1 ); -per_frame_11=mtime = mtime+ vol*0.1*slow*(71/fps); -per_frame_12= -per_frame_13=q1 = min( vol, 1 ); -per_frame_14=q2 = mtime/3; -per_frame_15= -per_frame_16=btime = time; -per_frame_17=bounce = btime - int(btime); -per_frame_18=bounce = abs( bounce*2 - 1 ); -per_frame_19=bounce = 1 - pow(bounce,2.2); -per_frame_20= -per_frame_21=distance = sin( time/3.3 )*0.5 + 0.5; -per_frame_22=vdistance = 5 + distance*10; -per_frame_23= -per_frame_24=q3 = vdistance; -per_frame_25=q4 = bounce * (distance * 8) - distance*4; -per_frame_26= -per_frame_27=btime = time/3.3; -per_frame_28=q5 = btime - int(btime); -per_frame_29=q5 = abs(q5*2-1) * 2 - 1; -per_frame_30=q5 = q5*0.8 * distance*8; -per_frame_31= -per_frame_32=sx=-1; -per_frame_33=rot=1.6 diff --git a/presets_milkdrop_104/Eo.S. - repeater 05 - rave on acid.milk b/presets_milkdrop_104/Eo.S. - repeater 05 - rave on acid.milk deleted file mode 100644 index a64327d102..0000000000 --- a/presets_milkdrop_104/Eo.S. - repeater 05 - rave on acid.milk +++ /dev/null @@ -1,636 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.630000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point72=a=a*a; -wave_1_per_point73= -wave_1_per_point74= -wave_1_per_point75=b=b+pow(1-sample,2)*0.3; -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_3_per_point10=yp=-yp; -wave_3_per_point11=zp=0; -wave_3_per_point12= -wave_3_per_point13=//wrist movement; -wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point15= -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sinang + zp*cosang; -wave_3_per_point19=zq=yp*cosang - zp*sinang; -wave_3_per_point20=yq=yp; -wave_3_per_point21=zq=zp; -wave_3_per_point22= -wave_3_per_point23=ang=tm*8+1; -wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point25=xp=xq*sinang + yq*cosang; -wave_3_per_point26=yp=xq*cosang - yq*sinang; -wave_3_per_point27=zp=zq; -wave_3_per_point28= -wave_3_per_point29=//forearm movement; -wave_3_per_point30=zp=zp-0.3; -wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point33=xq=xp; -wave_3_per_point34=yq=yp*sinang + zp*cosang; -wave_3_per_point35=zq=yp*cosang - zp*sinang; -wave_3_per_point36= -wave_3_per_point37=//upper arm twist -wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point40=xp=xq*sinang + yq*cosang; -wave_3_per_point41=yp=xq*cosang - yq*sinang; -wave_3_per_point42=zp=zq; -wave_3_per_point43= -wave_3_per_point44=//upper arm outward; -wave_3_per_point45=zp=zp-0.35; -wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point48=xq=xp*sinang + zp*cosang; -wave_3_per_point49=yq=yp; -wave_3_per_point50=zq=xp*cosang - zp*sinang; -wave_3_per_point51= -wave_3_per_point52=//upper arm up down; -wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point55=xp=xq; -wave_3_per_point56=yp=yq*cosang - zq*sinang; -wave_3_per_point57=zp=yq*sinang + zq*cosang; -wave_3_per_point58= -wave_3_per_point59=//xp=xq;yp=yq;zp=zq; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=//project into screenspace and draw on screen -wave_3_per_point63=zp=zp+2; -wave_3_per_point64=xs=xp/zp; -wave_3_per_point65=ys=yp/zp; -wave_3_per_point66= -wave_3_per_point67=x=xs+0.5; -wave_3_per_point68=y=ys*1.3+0.5; -wave_3_per_point69= -wave_3_per_point70= -wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point72=a=a*a; -wave_3_per_point73= -wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point75= -wave_3_per_point76= -wave_3_per_point77=r=t4; -wave_3_per_point78=g=t5; -wave_3_per_point79=b=t6; -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.260000 -shapecode_0_y=0.809999 -shapecode_0_rad=0.892690 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.082857 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = 0.264; -shape_0_per_frame2= -shape_0_per_frame3=r2=r2*q4; -shape_0_per_frame4=g2=g2*q4; -shape_0_per_frame5=b2=b2*q4; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.740000 -shapecode_1_y=0.809999 -shapecode_1_rad=0.892690 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.082857 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=0.737; -shape_1_per_frame2= -shape_1_per_frame3= -shape_1_per_frame4=r2=r2*q4; -shape_1_per_frame5=g2=g2*q4; -shape_1_per_frame6=b2=b2*q4; -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.260000 -shapecode_2_y=0.179999 -shapecode_2_rad=0.892690 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.082857 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.264; -shape_2_per_frame2=y = 0.178; -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5=r2=r2*q4; -shape_2_per_frame6=g2=g2*q4; -shape_2_per_frame7=b2=b2*q4; -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.740000 -shapecode_3_y=0.809999 -shapecode_3_rad=0.892690 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.082857 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=0.737; -shape_3_per_frame2=y = 0.178; -shape_3_per_frame3= -shape_3_per_frame4= -shape_3_per_frame5=r2=r2*q4; -shape_3_per_frame6=g2=g2*q4; -shape_3_per_frame7=b2=b2*q4; -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=0.98; -per_frame_21=zoom=1.01; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.1*flip*(45/fps); -per_frame_26= -per_frame_27=q1=mtime*0.4; -per_frame_28= -per_frame_29=warp=0.0; -per_frame_30= -per_frame_31= -per_frame_32=q4 = min( vol*0.8 , 1 )*0.1 + 0.9 diff --git a/presets_milkdrop_104/Eo.S. - repeater 08 - rave on a lot of acid and some K.milk b/presets_milkdrop_104/Eo.S. - repeater 08 - rave on a lot of acid and some K.milk deleted file mode 100644 index 267d1e7dd7..0000000000 --- a/presets_milkdrop_104/Eo.S. - repeater 08 - rave on a lot of acid and some K.milk +++ /dev/null @@ -1,654 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.910001 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.200000 -wavecode_1_g=1.000000 -wavecode_1_b=0.600000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_1_per_point10=yp=-yp; -wave_1_per_point11=zp=0; -wave_1_per_point12= -wave_1_per_point13=//wrist movement; -wave_1_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_1_per_point15= -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sinang + zp*cosang; -wave_1_per_point19=zq=yp*cosang - zp*sinang; -wave_1_per_point20=yq=yp; -wave_1_per_point21=zq=zp; -wave_1_per_point22= -wave_1_per_point23=ang=tm*8; -wave_1_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point25=xp=xq*sinang + yq*cosang; -wave_1_per_point26=yp=xq*cosang - yq*sinang; -wave_1_per_point27=zp=zq; -wave_1_per_point28= -wave_1_per_point29=//forearm movement; -wave_1_per_point30=zp=zp-0.3; -wave_1_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point33=xq=xp; -wave_1_per_point34=yq=yp*sinang + zp*cosang; -wave_1_per_point35=zq=yp*cosang - zp*sinang; -wave_1_per_point36= -wave_1_per_point37=//upper arm twist -wave_1_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point40=xp=xq*sinang + yq*cosang; -wave_1_per_point41=yp=xq*cosang - yq*sinang; -wave_1_per_point42=zp=zq; -wave_1_per_point43= -wave_1_per_point44=//upper arm outward; -wave_1_per_point45=zp=zp-0.35; -wave_1_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point48=xq=xp*sinang + zp*cosang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cosang - zp*sinang; -wave_1_per_point51= -wave_1_per_point52=//upper arm up down; -wave_1_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point55=xp=xq; -wave_1_per_point56=yp=yq*cosang - zq*sinang; -wave_1_per_point57=zp=yq*sinang + zq*cosang; -wave_1_per_point58= -wave_1_per_point59=//xp=xq;yp=yq;zp=zq; -wave_1_per_point60= -wave_1_per_point61= -wave_1_per_point62=//project into screenspace and draw on screen -wave_1_per_point63=zp=zp+2; -wave_1_per_point64=xs=xp/zp; -wave_1_per_point65=ys=yp/zp; -wave_1_per_point66= -wave_1_per_point67=x=xs+0.5; -wave_1_per_point68=y=ys*1.3+0.5; -wave_1_per_point69= -wave_1_per_point70= -wave_1_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point72=a=a*a; -wave_1_per_point73= -wave_1_per_point74= -wave_1_per_point75=b=b+pow(1-sample,2)*0.3; -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.300000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2 +0.1; -wave_3_per_point10=yp=-yp; -wave_3_per_point11=zp=0; -wave_3_per_point12= -wave_3_per_point13=//wrist movement; -wave_3_per_point14=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point15= -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sinang + zp*cosang; -wave_3_per_point19=zq=yp*cosang - zp*sinang; -wave_3_per_point20=yq=yp; -wave_3_per_point21=zq=zp; -wave_3_per_point22= -wave_3_per_point23=ang=tm*8+1; -wave_3_per_point24=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point25=xp=xq*sinang + yq*cosang; -wave_3_per_point26=yp=xq*cosang - yq*sinang; -wave_3_per_point27=zp=zq; -wave_3_per_point28= -wave_3_per_point29=//forearm movement; -wave_3_per_point30=zp=zp-0.3; -wave_3_per_point31=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point32=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point33=xq=xp; -wave_3_per_point34=yq=yp*sinang + zp*cosang; -wave_3_per_point35=zq=yp*cosang - zp*sinang; -wave_3_per_point36= -wave_3_per_point37=//upper arm twist -wave_3_per_point38=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point39=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point40=xp=xq*sinang + yq*cosang; -wave_3_per_point41=yp=xq*cosang - yq*sinang; -wave_3_per_point42=zp=zq; -wave_3_per_point43= -wave_3_per_point44=//upper arm outward; -wave_3_per_point45=zp=zp-0.35; -wave_3_per_point46=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point47=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point48=xq=xp*sinang + zp*cosang; -wave_3_per_point49=yq=yp; -wave_3_per_point50=zq=xp*cosang - zp*sinang; -wave_3_per_point51= -wave_3_per_point52=//upper arm up down; -wave_3_per_point53=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point54=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point55=xp=xq; -wave_3_per_point56=yp=yq*cosang - zq*sinang; -wave_3_per_point57=zp=yq*sinang + zq*cosang; -wave_3_per_point58= -wave_3_per_point59=//xp=xq;yp=yq;zp=zq; -wave_3_per_point60= -wave_3_per_point61= -wave_3_per_point62=//project into screenspace and draw on screen -wave_3_per_point63=zp=zp+2; -wave_3_per_point64=xs=xp/zp; -wave_3_per_point65=ys=yp/zp; -wave_3_per_point66= -wave_3_per_point67=x=xs+0.5; -wave_3_per_point68=y=ys*1.3+0.5; -wave_3_per_point69= -wave_3_per_point70= -wave_3_per_point71=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point72=a=a*a; -wave_3_per_point73= -wave_3_per_point74=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point75= -wave_3_per_point76= -wave_3_per_point77=r=t4; -wave_3_per_point78=g=t5; -wave_3_per_point79=b=t6; -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.260000 -shapecode_0_y=0.809999 -shapecode_0_rad=0.892690 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.082857 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = 0.264; -shape_0_per_frame2= -shape_0_per_frame3=r2=r2*q4; -shape_0_per_frame4=g2=g2*q4; -shape_0_per_frame5=b2=b2*q4; -shape_0_per_frame6= -shape_0_per_frame7=tex_ang= q2; -shape_0_per_frame8=tex_zoom = q5; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.740000 -shapecode_1_y=0.809999 -shapecode_1_rad=0.892690 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.082857 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=0.737; -shape_1_per_frame2= -shape_1_per_frame3= -shape_1_per_frame4=r2=r2*q4; -shape_1_per_frame5=g2=g2*q4; -shape_1_per_frame6=b2=b2*q4; -shape_1_per_frame7= -shape_1_per_frame8= -shape_1_per_frame9=tex_ang= -q2; -shape_1_per_frame10=tex_zoom = q5; -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.260000 -shapecode_2_y=0.179999 -shapecode_2_rad=0.892690 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.082857 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.264; -shape_2_per_frame2=y = 0.178; -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5=r2=r2*q4; -shape_2_per_frame6=g2=g2*q4; -shape_2_per_frame7=b2=b2*q4; -shape_2_per_frame8= -shape_2_per_frame9= -shape_2_per_frame10=tex_ang= -q2; -shape_2_per_frame11=tex_zoom = q5; -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.740000 -shapecode_3_y=0.809999 -shapecode_3_rad=0.892690 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.082857 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=0.737; -shape_3_per_frame2=y = 0.178; -shape_3_per_frame3= -shape_3_per_frame4= -shape_3_per_frame5=r2=r2*q4; -shape_3_per_frame6=g2=g2*q4; -shape_3_per_frame7=b2=b2*q4; -shape_3_per_frame8= -shape_3_per_frame9= -shape_3_per_frame10=tex_ang= q2; -shape_3_per_frame11=tex_zoom = q5; -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=0.98; -per_frame_21=zoom=1.01; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.1*flip*0.1*(45/fps); -per_frame_26=mtimeb=mtimeb+vol*0.1*0.1*(45/fps); -per_frame_27= -per_frame_28=q1=mtime*0.9; -per_frame_29= -per_frame_30=warp=0.0; -per_frame_31= -per_frame_32= -per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; -per_frame_34=q2 = mtimeb/10; -per_frame_35=q5 =1 diff --git a/presets_milkdrop_104/Eo.S. - repeater 13 - definitive fast.milk b/presets_milkdrop_104/Eo.S. - repeater 13 - definitive fast.milk deleted file mode 100644 index 064bd0e9f8..0000000000 --- a/presets_milkdrop_104/Eo.S. - repeater 13 - definitive fast.milk +++ /dev/null @@ -1,649 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.100000 -wavecode_1_g=1.000000 -wavecode_1_b=0.700000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//wrist movement; -wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_1_per_point14= -wave_1_per_point15=xq=xp; -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=yq=yp*sinang + zp*cosang; -wave_1_per_point18=zq=yp*cosang - zp*sinang; -wave_1_per_point19=yq=yp; -wave_1_per_point20=zq=zp; -wave_1_per_point21= -wave_1_per_point22=ang=tm*8; -wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point24=xp=xq*sinang + yq*cosang; -wave_1_per_point25=yp=xq*cosang - yq*sinang; -wave_1_per_point26=zp=zq; -wave_1_per_point27= -wave_1_per_point28=//forearm movement; -wave_1_per_point29=zp=zp-0.3; -wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point32=xq=xp; -wave_1_per_point33=yq=yp*sinang + zp*cosang; -wave_1_per_point34=zq=yp*cosang - zp*sinang; -wave_1_per_point35= -wave_1_per_point36=//upper arm twist -wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point39=xp=xq*sinang + yq*cosang; -wave_1_per_point40=yp=xq*cosang - yq*sinang; -wave_1_per_point41=zp=zq; -wave_1_per_point42= -wave_1_per_point43=//upper arm outward; -wave_1_per_point44=zp=zp-0.35; -wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point47=xq=xp*sinang + zp*cosang; -wave_1_per_point48=yq=yp; -wave_1_per_point49=zq=xp*cosang - zp*sinang; -wave_1_per_point50= -wave_1_per_point51=//upper arm up down; -wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point54=xp=xq; -wave_1_per_point55=yp=yq*cosang - zq*sinang; -wave_1_per_point56=zp=yq*sinang + zq*cosang; -wave_1_per_point57= -wave_1_per_point58=//xp=xq;yp=yq;zp=zq; -wave_1_per_point59= -wave_1_per_point60= -wave_1_per_point61=//project into screenspace and draw on screen -wave_1_per_point62=zp=zp+2; -wave_1_per_point63=xs=-xp/zp; -wave_1_per_point64=ys=yp/zp; -wave_1_per_point65= -wave_1_per_point66=x=xs+0.5; -wave_1_per_point67=y=ys*1.3+0.5; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point71=a=a*a; -wave_1_per_point72= -wave_1_per_point73=b=b+pow(1-sample,2)*0.3; -wave_1_per_point74= -wave_1_per_point75= -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.600000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//wrist movement; -wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point14= -wave_3_per_point15=xq=xp; -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=yq=yp*sinang + zp*cosang; -wave_3_per_point18=zq=yp*cosang - zp*sinang; -wave_3_per_point19=yq=yp; -wave_3_per_point20=zq=zp; -wave_3_per_point21= -wave_3_per_point22=ang=tm*8 + 1; -wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point24=xp=xq*sinang + yq*cosang; -wave_3_per_point25=yp=xq*cosang - yq*sinang; -wave_3_per_point26=zp=zq; -wave_3_per_point27= -wave_3_per_point28=//forearm movement; -wave_3_per_point29=zp=zp-0.3; -wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point32=xq=xp; -wave_3_per_point33=yq=yp*sinang + zp*cosang; -wave_3_per_point34=zq=yp*cosang - zp*sinang; -wave_3_per_point35= -wave_3_per_point36=//upper arm twist -wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point39=xp=xq*sinang + yq*cosang; -wave_3_per_point40=yp=xq*cosang - yq*sinang; -wave_3_per_point41=zp=zq; -wave_3_per_point42= -wave_3_per_point43=//upper arm outward; -wave_3_per_point44=zp=zp-0.35; -wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point47=xq=xp*sinang + zp*cosang; -wave_3_per_point48=yq=yp; -wave_3_per_point49=zq=xp*cosang - zp*sinang; -wave_3_per_point50= -wave_3_per_point51=//upper arm up down; -wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point54=xp=xq; -wave_3_per_point55=yp=yq*cosang - zq*sinang; -wave_3_per_point56=zp=yq*sinang + zq*cosang; -wave_3_per_point57= -wave_3_per_point58=//xp=xq;yp=yq;zp=zq; -wave_3_per_point59= -wave_3_per_point60= -wave_3_per_point61=//project into screenspace and draw on screen -wave_3_per_point62=zp=zp+2; -wave_3_per_point63=xs=-xp/zp; -wave_3_per_point64=ys=yp/zp; -wave_3_per_point65= -wave_3_per_point66=x=xs+0.5; -wave_3_per_point67=y=ys*1.3+0.5; -wave_3_per_point68= -wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point70= -wave_3_per_point71= -wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point73= -wave_3_per_point74= -wave_3_per_point75=r=t4; -wave_3_per_point76=g=t5; -wave_3_per_point77=b=t6; -wave_3_per_point78= -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.260000 -shapecode_0_y=0.809999 -shapecode_0_rad=0.892690 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.082857 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = 0.264; -shape_0_per_frame2= -shape_0_per_frame3=r2=r2*q4; -shape_0_per_frame4=g2=g2*q4; -shape_0_per_frame5=b2=b2*q4; -shape_0_per_frame6= -shape_0_per_frame7=tex_ang= q2 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.740000 -shapecode_1_y=0.809999 -shapecode_1_rad=0.892690 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.082857 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=0.737; -shape_1_per_frame2= -shape_1_per_frame3= -shape_1_per_frame4=r2=r2*q4; -shape_1_per_frame5=g2=g2*q4; -shape_1_per_frame6=b2=b2*q4; -shape_1_per_frame7= -shape_1_per_frame8= -shape_1_per_frame9=tex_ang= -q2 -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.260000 -shapecode_2_y=0.179999 -shapecode_2_rad=0.892690 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.082857 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.264; -shape_2_per_frame2=y = 0.178; -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5=r2=r2*q4; -shape_2_per_frame6=g2=g2*q4; -shape_2_per_frame7=b2=b2*q4; -shape_2_per_frame8= -shape_2_per_frame9= -shape_2_per_frame10=tex_ang= -q2/2 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.740000 -shapecode_3_y=0.809999 -shapecode_3_rad=0.892690 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.082857 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=0.737; -shape_3_per_frame2=y = 0.178; -shape_3_per_frame3= -shape_3_per_frame4= -shape_3_per_frame5=r2=r2*q4; -shape_3_per_frame6=g2=g2*q4; -shape_3_per_frame7=b2=b2*q4; -shape_3_per_frame8= -shape_3_per_frame9= -shape_3_per_frame10=tex_ang= q2 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=0.98; -per_frame_21=zoom=1.01; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); -per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); -per_frame_27= -per_frame_28=q1=mtime*0.4; -per_frame_29= -per_frame_30=warp=0.0; -per_frame_31= -per_frame_32= -per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; -per_frame_34=q2 = mtimeb/30; -per_frame_35=sx=-1 diff --git a/presets_milkdrop_104/Eo.S. - repeater 13 - definitive.milk b/presets_milkdrop_104/Eo.S. - repeater 13 - definitive.milk deleted file mode 100644 index 29384c4e07..0000000000 --- a/presets_milkdrop_104/Eo.S. - repeater 13 - definitive.milk +++ /dev/null @@ -1,659 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.100000 -wavecode_1_g=1.000000 -wavecode_1_b=0.700000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//wrist movement; -wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_1_per_point14= -wave_1_per_point15=xq=xp; -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=yq=yp*sinang + zp*cosang; -wave_1_per_point18=zq=yp*cosang - zp*sinang; -wave_1_per_point19=yq=yp; -wave_1_per_point20=zq=zp; -wave_1_per_point21= -wave_1_per_point22=ang=tm*8; -wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point24=xp=xq*sinang + yq*cosang; -wave_1_per_point25=yp=xq*cosang - yq*sinang; -wave_1_per_point26=zp=zq; -wave_1_per_point27= -wave_1_per_point28=//forearm movement; -wave_1_per_point29=zp=zp-0.3; -wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point32=xq=xp; -wave_1_per_point33=yq=yp*sinang + zp*cosang; -wave_1_per_point34=zq=yp*cosang - zp*sinang; -wave_1_per_point35= -wave_1_per_point36=//upper arm twist -wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point39=xp=xq*sinang + yq*cosang; -wave_1_per_point40=yp=xq*cosang - yq*sinang; -wave_1_per_point41=zp=zq; -wave_1_per_point42= -wave_1_per_point43=//upper arm outward; -wave_1_per_point44=zp=zp-0.35; -wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point47=xq=xp*sinang + zp*cosang; -wave_1_per_point48=yq=yp; -wave_1_per_point49=zq=xp*cosang - zp*sinang; -wave_1_per_point50= -wave_1_per_point51=//upper arm up down; -wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point54=xp=xq; -wave_1_per_point55=yp=yq*cosang - zq*sinang; -wave_1_per_point56=zp=yq*sinang + zq*cosang; -wave_1_per_point57= -wave_1_per_point58=//xp=xq;yp=yq;zp=zq; -wave_1_per_point59= -wave_1_per_point60= -wave_1_per_point61=//project into screenspace and draw on screen -wave_1_per_point62=zp=zp+2; -wave_1_per_point63=xs=-xp/zp; -wave_1_per_point64=ys=yp/zp; -wave_1_per_point65= -wave_1_per_point66=x=xs+0.5; -wave_1_per_point67=y=ys*1.3+0.5; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point71=a=a*a; -wave_1_per_point72= -wave_1_per_point73=b=b+pow(1-sample,2)*0.3; -wave_1_per_point74= -wave_1_per_point75= -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wave_2_per_point79= -wave_2_per_point80= -wave_2_per_point81= -wave_2_per_point82= -wave_2_per_point83= -wave_2_per_point84= -wave_2_per_point85= -wave_2_per_point86= -wave_2_per_point87= -wave_2_per_point88= -wave_2_per_point89= -wave_2_per_point90= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.600000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//wrist movement; -wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point14= -wave_3_per_point15=xq=xp; -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=yq=yp*sinang + zp*cosang; -wave_3_per_point18=zq=yp*cosang - zp*sinang; -wave_3_per_point19=yq=yp; -wave_3_per_point20=zq=zp; -wave_3_per_point21= -wave_3_per_point22=ang=tm*8 + 1; -wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point24=xp=xq*sinang + yq*cosang; -wave_3_per_point25=yp=xq*cosang - yq*sinang; -wave_3_per_point26=zp=zq; -wave_3_per_point27= -wave_3_per_point28=//forearm movement; -wave_3_per_point29=zp=zp-0.3; -wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point32=xq=xp; -wave_3_per_point33=yq=yp*sinang + zp*cosang; -wave_3_per_point34=zq=yp*cosang - zp*sinang; -wave_3_per_point35= -wave_3_per_point36=//upper arm twist -wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point39=xp=xq*sinang + yq*cosang; -wave_3_per_point40=yp=xq*cosang - yq*sinang; -wave_3_per_point41=zp=zq; -wave_3_per_point42= -wave_3_per_point43=//upper arm outward; -wave_3_per_point44=zp=zp-0.35; -wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point47=xq=xp*sinang + zp*cosang; -wave_3_per_point48=yq=yp; -wave_3_per_point49=zq=xp*cosang - zp*sinang; -wave_3_per_point50= -wave_3_per_point51=//upper arm up down; -wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point54=xp=xq; -wave_3_per_point55=yp=yq*cosang - zq*sinang; -wave_3_per_point56=zp=yq*sinang + zq*cosang; -wave_3_per_point57= -wave_3_per_point58=//xp=xq;yp=yq;zp=zq; -wave_3_per_point59= -wave_3_per_point60=//project into screenspace and draw on screen -wave_3_per_point61=zp=zp+2; -wave_3_per_point62=xs=-xp/zp; -wave_3_per_point63=ys=yp/zp; -wave_3_per_point64= -wave_3_per_point65=x=xs+0.5; -wave_3_per_point66=y=ys*1.3+0.5; -wave_3_per_point67= -wave_3_per_point68=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point69= -wave_3_per_point70=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point71= -wave_3_per_point72=r=t4; -wave_3_per_point73=g=t5; -wave_3_per_point74=b=t6; -wave_3_per_point75=//end -wave_3_per_point76= -wave_3_per_point77=//A pox upon he who is Tag. -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.260000 -shapecode_0_y=0.809999 -shapecode_0_rad=0.892690 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.082857 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = 0.264; -shape_0_per_frame2= -shape_0_per_frame3=r2=r2*q4; -shape_0_per_frame4=g2=g2*q4; -shape_0_per_frame5=b2=b2*q4; -shape_0_per_frame6= -shape_0_per_frame7=tex_ang= q2 -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.740000 -shapecode_1_y=0.809999 -shapecode_1_rad=0.892690 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.082857 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=0.737; -shape_1_per_frame2= -shape_1_per_frame3= -shape_1_per_frame4=r2=r2*q4; -shape_1_per_frame5=g2=g2*q4; -shape_1_per_frame6=b2=b2*q4; -shape_1_per_frame7= -shape_1_per_frame8= -shape_1_per_frame9=tex_ang= -q2 -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.260000 -shapecode_2_y=0.179999 -shapecode_2_rad=0.892690 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.082857 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.264; -shape_2_per_frame2=y = 0.178; -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5=r2=r2*q4; -shape_2_per_frame6=g2=g2*q4; -shape_2_per_frame7=b2=b2*q4; -shape_2_per_frame8= -shape_2_per_frame9= -shape_2_per_frame10=tex_ang= -q2 -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.740000 -shapecode_3_y=0.809999 -shapecode_3_rad=0.892690 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.082857 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=0.737; -shape_3_per_frame2=y = 0.178; -shape_3_per_frame3= -shape_3_per_frame4= -shape_3_per_frame5=r2=r2*q4; -shape_3_per_frame6=g2=g2*q4; -shape_3_per_frame7=b2=b2*q4; -shape_3_per_frame8= -shape_3_per_frame9= -shape_3_per_frame10=tex_ang= q2 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=0.98; -per_frame_21=zoom=1.01; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.05*flip; -per_frame_26=mtimeb=mtimeb+vol*0.1; -per_frame_27= -per_frame_28=q1=mtime*0.4; -per_frame_29= -per_frame_30=warp=0.0; -per_frame_31= -per_frame_32= -per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; -per_frame_34=q2 = mtimeb/30 diff --git a/presets_milkdrop_104/Eo.S. - repeater 15 - kaleidoscope b.milk b/presets_milkdrop_104/Eo.S. - repeater 15 - kaleidoscope b.milk deleted file mode 100644 index c7f306ca97..0000000000 --- a/presets_milkdrop_104/Eo.S. - repeater 15 - kaleidoscope b.milk +++ /dev/null @@ -1,640 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980000 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.037492 -fWarpScale=0.014889 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.033004 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=sin(time)*0.5+0.5; -wave_0_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_0_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_0_per_frame4= -wave_0_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_0_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_0_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q1 + phs; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//wrist movement; -wave_0_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_0_per_point14= -wave_0_per_point15=xq=xp; -wave_0_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point17=yq=yp*sinang + zp*cosang; -wave_0_per_point18=zq=yp*cosang - zp*sinang; -wave_0_per_point19=yq=yp; -wave_0_per_point20=zq=zp; -wave_0_per_point21= -wave_0_per_point22=ang=tm*8; -wave_0_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point24=xp=xq*sinang + yq*cosang; -wave_0_per_point25=yp=xq*cosang - yq*sinang; -wave_0_per_point26=zp=zq; -wave_0_per_point27= -wave_0_per_point28=//forearm movement; -wave_0_per_point29=zp=zp-0.3; -wave_0_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_0_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sinang + zp*cosang; -wave_0_per_point34=zq=yp*cosang - zp*sinang; -wave_0_per_point35= -wave_0_per_point36=//upper arm twist -wave_0_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_0_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point39=xp=xq*sinang + yq*cosang; -wave_0_per_point40=yp=xq*cosang - yq*sinang; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//upper arm outward; -wave_0_per_point44=zp=zp-0.35; -wave_0_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_0_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point47=xq=xp*sinang + zp*cosang; -wave_0_per_point48=yq=yp; -wave_0_per_point49=zq=xp*cosang - zp*sinang; -wave_0_per_point50= -wave_0_per_point51=//upper arm up down; -wave_0_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_0_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_0_per_point54=xp=xq; -wave_0_per_point55=yp=yq*cosang - zq*sinang; -wave_0_per_point56=zp=yq*sinang + zq*cosang; -wave_0_per_point57= -wave_0_per_point58=//xp=xq;yp=yq;zp=zq; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61=//project into screenspace and draw on screen -wave_0_per_point62=zp=zp+2; -wave_0_per_point63=xs=xp/zp; -wave_0_per_point64=ys=yp/zp; -wave_0_per_point65= -wave_0_per_point66=x=xs+0.5; -wave_0_per_point67=y=ys*1.3+0.5; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_0_per_point71=a=a*a; -wave_0_per_point72= -wave_0_per_point73=b=b+pow(1-sample,2)*0.3; -wave_0_per_point74= -wave_0_per_point75= -wave_0_per_point76= -wave_0_per_point77=r1=t1; -wave_0_per_point78=g1=t2; -wave_0_per_point79=b1=t3; -wave_0_per_point80=r2=t4; -wave_0_per_point81=g2=t5; -wave_0_per_point82=b2=t6; -wave_0_per_point83= -wave_0_per_point84=r=r1*flip + r2*(1-flip); -wave_0_per_point85=g=g1*flip + g2*(1-flip); -wave_0_per_point86=b=b1*flip + b2*(1-flip); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.100000 -wavecode_1_g=1.000000 -wavecode_1_b=0.700000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time)*0.5+0.5; -wave_1_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_1_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_1_per_frame4= -wave_1_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_1_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_1_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.2; -wave_1_per_point3=tm=q1 + phs; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//wrist movement; -wave_1_per_point13=ang=sin(tm*2 )*0.5 +0.5; -wave_1_per_point14= -wave_1_per_point15=xq=xp; -wave_1_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point17=yq=yp*sinang + zp*cosang; -wave_1_per_point18=zq=yp*cosang - zp*sinang; -wave_1_per_point19=yq=yp; -wave_1_per_point20=zq=zp; -wave_1_per_point21= -wave_1_per_point22=ang=tm*8; -wave_1_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point24=xp=xq*sinang + yq*cosang; -wave_1_per_point25=yp=xq*cosang - yq*sinang; -wave_1_per_point26=zp=zq; -wave_1_per_point27= -wave_1_per_point28=//forearm movement; -wave_1_per_point29=zp=zp-0.3; -wave_1_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_1_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point32=xq=xp; -wave_1_per_point33=yq=yp*sinang + zp*cosang; -wave_1_per_point34=zq=yp*cosang - zp*sinang; -wave_1_per_point35= -wave_1_per_point36=//upper arm twist -wave_1_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_1_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point39=xp=xq*sinang + yq*cosang; -wave_1_per_point40=yp=xq*cosang - yq*sinang; -wave_1_per_point41=zp=zq; -wave_1_per_point42= -wave_1_per_point43=//upper arm outward; -wave_1_per_point44=zp=zp-0.35; -wave_1_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_1_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point47=xq=xp*sinang + zp*cosang; -wave_1_per_point48=yq=yp; -wave_1_per_point49=zq=xp*cosang - zp*sinang; -wave_1_per_point50= -wave_1_per_point51=//upper arm up down; -wave_1_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_1_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_1_per_point54=xp=xq; -wave_1_per_point55=yp=yq*cosang - zq*sinang; -wave_1_per_point56=zp=yq*sinang + zq*cosang; -wave_1_per_point57= -wave_1_per_point58=//xp=xq;yp=yq;zp=zq; -wave_1_per_point59= -wave_1_per_point60= -wave_1_per_point61=//project into screenspace and draw on screen -wave_1_per_point62=zp=zp+2; -wave_1_per_point63=xs=-xp/zp; -wave_1_per_point64=ys=yp/zp; -wave_1_per_point65= -wave_1_per_point66=x=xs+0.5; -wave_1_per_point67=y=ys*1.3+0.5; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=a=if( equal(q8,1) , (1-sample) , sample); -wave_1_per_point71=a=a*a; -wave_1_per_point72= -wave_1_per_point73=b=b+pow(1-sample,2)*0.3; -wave_1_per_point74= -wave_1_per_point75= -wave_1_per_point76= -wave_1_per_point77=r1=t1; -wave_1_per_point78=g1=t2; -wave_1_per_point79=b1=t3; -wave_1_per_point80=r2=t4; -wave_1_per_point81=g2=t5; -wave_1_per_point82=b2=t6; -wave_1_per_point83= -wave_1_per_point84=r=r1*flip + r2*(1-flip); -wave_1_per_point85=g=g1*flip + g2*(1-flip); -wave_1_per_point86=b=b1*flip + b2*(1-flip); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.600000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time)*0.5+0.5; -wave_2_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_2_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_2_per_frame4= -wave_2_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_2_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_2_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_2_per_frame8= -wave_2_per_frame9= -wave_2_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//wrist movement; -wave_2_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_2_per_point14= -wave_2_per_point15=xq=xp; -wave_2_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point17=yq=yp*sinang + zp*cosang; -wave_2_per_point18=zq=yp*cosang - zp*sinang; -wave_2_per_point19=yq=yp; -wave_2_per_point20=zq=zp; -wave_2_per_point21= -wave_2_per_point22=ang=tm*8 + 1; -wave_2_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point24=xp=xq*sinang + yq*cosang; -wave_2_per_point25=yp=xq*cosang - yq*sinang; -wave_2_per_point26=zp=zq; -wave_2_per_point27= -wave_2_per_point28=//forearm movement; -wave_2_per_point29=zp=zp-0.3; -wave_2_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_2_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sinang + zp*cosang; -wave_2_per_point34=zq=yp*cosang - zp*sinang; -wave_2_per_point35= -wave_2_per_point36=//upper arm twist -wave_2_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_2_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point39=xp=xq*sinang + yq*cosang; -wave_2_per_point40=yp=xq*cosang - yq*sinang; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//upper arm outward; -wave_2_per_point44=zp=zp-0.35; -wave_2_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_2_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point47=xq=xp*sinang + zp*cosang; -wave_2_per_point48=yq=yp; -wave_2_per_point49=zq=xp*cosang - zp*sinang; -wave_2_per_point50= -wave_2_per_point51=//upper arm up down; -wave_2_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_2_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_2_per_point54=xp=xq; -wave_2_per_point55=yp=yq*cosang - zq*sinang; -wave_2_per_point56=zp=yq*sinang + zq*cosang; -wave_2_per_point57= -wave_2_per_point58=//xp=xq;yp=yq;zp=zq; -wave_2_per_point59= -wave_2_per_point60= -wave_2_per_point61=//project into screenspace and draw on screen -wave_2_per_point62=zp=zp+2; -wave_2_per_point63=xs=xp/zp; -wave_2_per_point64=ys=yp/zp; -wave_2_per_point65= -wave_2_per_point66=x=xs+0.5; -wave_2_per_point67=y=ys*1.3+0.5; -wave_2_per_point68= -wave_2_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_2_per_point70= -wave_2_per_point71= -wave_2_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_2_per_point73= -wave_2_per_point74= -wave_2_per_point75=r=t4; -wave_2_per_point76=g=t5; -wave_2_per_point77=b=t6; -wave_2_per_point78= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.600000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=sin(time)*0.5+0.5; -wave_3_per_frame2=t2=sin(time+2.1)*0.5+0.5; -wave_3_per_frame3=t3=sin(time+4.2)*0.5+0.5; -wave_3_per_frame4= -wave_3_per_frame5=t4=sin(time+1.1)*0.5+0.5; -wave_3_per_frame6=t5=sin(time+3.1)*0.5+0.5; -wave_3_per_frame7=t6=sin(time+5.2)*0.5+0.5; -wave_3_per_frame8= -wave_3_per_frame9= -wave_3_per_frame10=t8= int( sin(time*2)*2 + 3); -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=flip*0.1 + (sin(tm)*0.5 + 0.5)*0.2; -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//wrist movement; -wave_3_per_point13=ang=sin(tm*2)*0.5 +0.5; -wave_3_per_point14= -wave_3_per_point15=xq=xp; -wave_3_per_point16=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point17=yq=yp*sinang + zp*cosang; -wave_3_per_point18=zq=yp*cosang - zp*sinang; -wave_3_per_point19=yq=yp; -wave_3_per_point20=zq=zp; -wave_3_per_point21= -wave_3_per_point22=ang=tm*8 + 1; -wave_3_per_point23=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point24=xp=xq*sinang + yq*cosang; -wave_3_per_point25=yp=xq*cosang - yq*sinang; -wave_3_per_point26=zp=zq; -wave_3_per_point27= -wave_3_per_point28=//forearm movement; -wave_3_per_point29=zp=zp-0.3; -wave_3_per_point30=ang=3.14 + sin(tm*2 - 0.5)*1.5; -wave_3_per_point31=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point32=xq=xp; -wave_3_per_point33=yq=yp*sinang + zp*cosang; -wave_3_per_point34=zq=yp*cosang - zp*sinang; -wave_3_per_point35= -wave_3_per_point36=//upper arm twist -wave_3_per_point37=ang=-1.0 + cos(tm*3.1 + 0.5); -wave_3_per_point38=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point39=xp=xq*sinang + yq*cosang; -wave_3_per_point40=yp=xq*cosang - yq*sinang; -wave_3_per_point41=zp=zq; -wave_3_per_point42= -wave_3_per_point43=//upper arm outward; -wave_3_per_point44=zp=zp-0.35; -wave_3_per_point45=ang=cos(tm*2.3)*1.75 - 1.05; -wave_3_per_point46=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point47=xq=xp*sinang + zp*cosang; -wave_3_per_point48=yq=yp; -wave_3_per_point49=zq=xp*cosang - zp*sinang; -wave_3_per_point50= -wave_3_per_point51=//upper arm up down; -wave_3_per_point52=ang=cos(tm)*0.5 - 0.5; -wave_3_per_point53=sinang=sin(ang);cosang=cos(ang); -wave_3_per_point54=xp=xq; -wave_3_per_point55=yp=yq*cosang - zq*sinang; -wave_3_per_point56=zp=yq*sinang + zq*cosang; -wave_3_per_point57= -wave_3_per_point58=//xp=xq;yp=yq;zp=zq; -wave_3_per_point59= -wave_3_per_point60= -wave_3_per_point61=//project into screenspace and draw on screen -wave_3_per_point62=zp=zp+2; -wave_3_per_point63=xs=-xp/zp; -wave_3_per_point64=ys=yp/zp; -wave_3_per_point65= -wave_3_per_point66=x=xs+0.5; -wave_3_per_point67=y=ys*1.3+0.5; -wave_3_per_point68= -wave_3_per_point69=a=if( equal(q8,1) , (1-sample) , sample); -wave_3_per_point70= -wave_3_per_point71= -wave_3_per_point72=a=a* above( sin(tm*128*t8) , 0 ); -wave_3_per_point73= -wave_3_per_point74= -wave_3_per_point75=r=t4; -wave_3_per_point76=g=t5; -wave_3_per_point77=b=t6; -wave_3_per_point78= -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.260000 -shapecode_0_y=0.809999 -shapecode_0_rad=0.892690 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.082857 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = 0.264; -shape_0_per_frame2= -shape_0_per_frame3=r2=r2*q4; -shape_0_per_frame4=g2=g2*q4; -shape_0_per_frame5=b2=b2*q4; -shape_0_per_frame6= -shape_0_per_frame7=tex_ang= q2 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.740000 -shapecode_1_y=0.809999 -shapecode_1_rad=0.892690 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.082857 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=0.737; -shape_1_per_frame2= -shape_1_per_frame3= -shape_1_per_frame4=r2=r2*q4; -shape_1_per_frame5=g2=g2*q4; -shape_1_per_frame6=b2=b2*q4; -shape_1_per_frame7= -shape_1_per_frame8= -shape_1_per_frame9=tex_ang= -q2 -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.260000 -shapecode_2_y=0.179999 -shapecode_2_rad=0.892690 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.082857 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.264; -shape_2_per_frame2=y = 0.178; -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5=r2=r2*q4; -shape_2_per_frame6=g2=g2*q4; -shape_2_per_frame7=b2=b2*q4; -shape_2_per_frame8= -shape_2_per_frame9= -shape_2_per_frame10=tex_ang= -q2/2 -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.499999 -shapecode_3_rad=0.476930 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=2.026830 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=0.4998 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=warp=0 -per_frame_init_9= -per_frame_1= -per_frame_2=//krash's beat detection code -per_frame_3=volume = 0.3*(bass+mid+att); -per_frame_4=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_5=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_6=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_7=peakbass_att = max(bass_att,peakbass_att); -per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_9=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_10=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_11=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_12=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_13=beatcounter = beatcounter + beat; -per_frame_14=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_15=flip = 2*mode-1; -per_frame_16=monitor=flip; -per_frame_17=q8=flip; -per_frame_18= -per_frame_19= -per_frame_20=decay=0.98; -per_frame_21=zoom=1.01; -per_frame_22= -per_frame_23=vol=(bass_att+mid_att+treb_att)*0.25; -per_frame_24=vol=vol*vol; -per_frame_25=mtime=mtime+vol*0.05*flip*(65/fps); -per_frame_26=mtimeb=mtimeb+vol*0.1*(65/fps); -per_frame_27= -per_frame_28=q1=time*3; -per_frame_29= -per_frame_30=warp=0.0; -per_frame_31= -per_frame_32= -per_frame_33=q4 = min( vol*0.8 , 1 )*0.1 + 0.9; -per_frame_34=q2 = mtimeb/30; -per_frame_35=sx=-1 diff --git a/presets_milkdrop_104/Eo.S. - sarc c_Phats Zoom Mix.milk b/presets_milkdrop_104/Eo.S. - sarc c_Phats Zoom Mix.milk deleted file mode 100644 index 80f5563ce0..0000000000 --- a/presets_milkdrop_104/Eo.S. - sarc c_Phats Zoom Mix.milk +++ /dev/null @@ -1,309 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.100000 -wavecode_0_g=0.280000 -wavecode_0_b=1.000000 -wavecode_0_a=0.200000 -wave_0_init1=t2 = 0 -wave_0_per_frame1=t1 = time * 13; -wave_0_per_frame2= -wave_0_per_frame3=t2 = sin(time*3) * 0.5 + 0.5; -wave_0_per_frame4=t2 = t2 * 0.3 + 0.1; //size of circle; -wave_0_per_frame5= -wave_0_per_frame6=t2= q2 * 0.003 + 0.06; -wave_0_per_frame7= -wave_0_per_frame8=t3= q1; -wave_0_per_frame9= -wave_0_per_frame10=t4 = time/8; -wave_0_per_frame11= -wave_0_per_frame12=t5 = sin( time / 4 ) * 0.5 + 0.5; //bias value -wave_0_per_frame13=t5 = t5 * 17 + 2; -wave_0_per_point1=n = sample*6.283; -wave_0_per_point2=pi = 3.1415; -wave_0_per_point3=pi2 = 6.283; -wave_0_per_point4= -wave_0_per_point5=phs = t1 + sample*9; -wave_0_per_point6= -wave_0_per_point7=bias = t5; -wave_0_per_point8=bias_i = bias - 1; -wave_0_per_point9= -wave_0_per_point10=cc = phs / 3; -wave_0_per_point11=cc_int = int(cc); -wave_0_per_point12=cc_ramp = cc - cc_int; -wave_0_per_point13=cc_ad_a = (cc_ramp * bias - 1) / bias_i; -wave_0_per_point14=cc_ad_a = if( below(cc_ad_a,0) , 0 , cc_ad_a ); -wave_0_per_point15= -wave_0_per_point16=cc_ad_b = cc_ramp * bias; -wave_0_per_point17=cc_ad_b = if( above(cc_ad_b,1) , 1 , cc_ad_b ); -wave_0_per_point18= -wave_0_per_point19=cc_a = cc_ad_a + cc_int; -wave_0_per_point20=cc_b = (cc_ad_b + cc_int) ; -wave_0_per_point21= -wave_0_per_point22=xp = t2 * above(cc_ad_a , 0); -wave_0_per_point23=yp = 1; -wave_0_per_point24=zp = 0; -wave_0_per_point25= -wave_0_per_point26=ang = cc_a * 6.283 * 16; -wave_0_per_point27=sang = sin(ang) ; cang = cos(ang); -wave_0_per_point28=xq = sang*xp + cang*zp; -wave_0_per_point29=yq = yp; -wave_0_per_point30=zq = cang*xp - sang*zp; -wave_0_per_point31=xp=xq;yp=yq;zp=zq; -wave_0_per_point32= -wave_0_per_point33=ang2 = cc_b + t4; -wave_0_per_point34=sang = sin(ang2) ; cang = cos(ang2); -wave_0_per_point35=xq = xp; -wave_0_per_point36=yq = sang*yp + cang*zp; -wave_0_per_point37=zq = cang*yp - sang*zp; -wave_0_per_point38=xp=xq;yp=yq;zp=zq; -wave_0_per_point39= -wave_0_per_point40=ang2 = cc_b * 3.13 + t4; -wave_0_per_point41=sang = sin(ang2) ; cang = cos(ang2); -wave_0_per_point42=xq = sang*xp + cang*yp; -wave_0_per_point43=yq = cang*xp - sang*yp; -wave_0_per_point44=zq = zp; -wave_0_per_point45=xp=xq;yp=yq;zp=zq; -wave_0_per_point46= -wave_0_per_point47=ang2 = cc_b * 1.43 + t4; -wave_0_per_point48=sang = sin(ang2) ; cang = cos(ang2); -wave_0_per_point49=xq = sang*xp + cang*zp; -wave_0_per_point50=yq = yp; -wave_0_per_point51=zq = cang*xp - sang*zp; -wave_0_per_point52=xp=xq;yp=yq;zp=zq; -wave_0_per_point53= -wave_0_per_point54= -wave_0_per_point55=zp = zp+3.1; -wave_0_per_point56=xs = xp/zp + 0.5; -wave_0_per_point57=ys = yp/zp * 1.333 + 0.5; -wave_0_per_point58= -wave_0_per_point59=x=xs; -wave_0_per_point60=y=ys; -wave_0_per_point61= -wave_0_per_point62= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=22 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.548219 -shapecode_0_ang=1.445133 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.300000 -shapecode_0_g=0.910000 -shapecode_0_b=1.000000 -shapecode_0_a=0.220000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=1 -shapecode_1_sides=33 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.249785 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.400000 -shapecode_1_g=0.200000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.100000 -shapecode_1_g2=0.200000 -shapecode_1_b2=0.300000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.364568 -shapecode_2_ang=1.570797 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.416601 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.180000 -shape_2_per_frame1=ang = time/4 -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.500000 -shapecode_3_g2=0.700000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_per_frame1=ang = - time/3 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.95; -per_frame_2=zoom=1.002; -per_frame_3= -per_frame_4= -per_frame_5=q1= ib_a * 6.283; -per_frame_6= -per_frame_7=q2 = (bass+mid+treb)*0.25; -per_frame_8=q2 = q2*q2; -per_frame_9= -per_frame_10=monitor = q2; -per_frame_11= -per_frame_12= -per_frame_13= -per_frame_14= -per_pixel_1=zoom=1+(rad/7); -per_pixel_2=rot=(rad/100)*sin(time); diff --git a/presets_milkdrop_104/Eo.S. - spark C.milk b/presets_milkdrop_104/Eo.S. - spark C.milk deleted file mode 100644 index 5b00554a07..0000000000 --- a/presets_milkdrop_104/Eo.S. - spark C.milk +++ /dev/null @@ -1,443 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.140000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.060000 -wavecode_0_g=0.040000 -wavecode_0_b=0.110000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=time*0.5; -wave_0_per_frame2=t2=time*0.33; -wave_0_per_frame3=t3=time*0.23; -wave_0_per_frame4=t8=-1 -wave_0_per_point1=scale=1+q1; -wave_0_per_point2= -wave_0_per_point3=n=sample*6.283*4; -wave_0_per_point4=third=6.283/3; -wave_0_per_point5=cycle=int(sample*4); -wave_0_per_point6=pos=t8; -wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); -wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); -wave_0_per_point9=t8=pos; -wave_0_per_point10=points= equal(pos,0); -wave_0_per_point11=a=equal(pos,0)*q2; -wave_0_per_point12= -wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; -wave_0_per_point14=yp=pos; -wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; -wave_0_per_point16= -wave_0_per_point17=//rot x -wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; -wave_0_per_point19= -wave_0_per_point20=sang=sin(ang);cang=cos(ang); -wave_0_per_point21=xq=xp*sang + yp*cang; -wave_0_per_point22=yq=xp*cang - yp*sang; -wave_0_per_point23=zq=zp; -wave_0_per_point24=xp=xq;yp=yq;zp=zq; -wave_0_per_point25= -wave_0_per_point26=//rot y -wave_0_per_point27=ang=3.1415/2; -wave_0_per_point28=step1=equal(cycle,2)*third; -wave_0_per_point29=step2=equal(cycle,3)*third*2; -wave_0_per_point30=ang=ang+step1+step2; -wave_0_per_point31=ang=ang ; -wave_0_per_point32= -wave_0_per_point33=sang=sin(ang);cang=cos(ang); -wave_0_per_point34=xq=xp*sang + zp*cang; -wave_0_per_point35=yq=yp; -wave_0_per_point36=zq=xp*cang - zp*sang; -wave_0_per_point37=xp=xq;yp=yq;zp=zq; -wave_0_per_point38= -wave_0_per_point39=ang=time*0.23; -wave_0_per_point40=sang=sin(ang);cang=cos(ang); -wave_0_per_point41=xq=xp;; -wave_0_per_point42=yq=yp*sang + zp*cang; -wave_0_per_point43=zq=yp*cang - zp*sang; -wave_0_per_point44=xp=xq;yp=yq;zp=zq; -wave_0_per_point45= -wave_0_per_point46=ang=time*0.6; -wave_0_per_point47=sang=sin(ang);cang=cos(ang); -wave_0_per_point48=xq=xp*sang + zp*cang; -wave_0_per_point49=yq=yp; -wave_0_per_point50=zq=xp*cang - zp*sang; -wave_0_per_point51=xp=xq;yp=yq;zp=zq; -wave_0_per_point52= -wave_0_per_point53= -wave_0_per_point54=zp=zp+4.1; -wave_0_per_point55=xs=xp/zp + 0.5; -wave_0_per_point56=ys=yp/zp *1.333 + 0.5; -wave_0_per_point57= -wave_0_per_point58=x=xs;y=ys; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61= -wave_0_per_point62=black=1 - equal(pos,0); -wave_0_per_point63=r=r*black; -wave_0_per_point64=g=g*black; -wave_0_per_point65=b=b*black; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.060000 -wavecode_1_g=0.040000 -wavecode_1_b=0.020000 -wavecode_1_a=1.000000 -wave_1_per_point1=scale=1+q1; -wave_1_per_point2= -wave_1_per_point3=n=sample*6.283*4; -wave_1_per_point4=third=6.283/3; -wave_1_per_point5=cycle=int(sample*4); -wave_1_per_point6=pos=t8; -wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); -wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); -wave_1_per_point9=t8=pos; -wave_1_per_point10=points= equal(pos,0); -wave_1_per_point11=a=equal(pos,0)*q2; -wave_1_per_point12= -wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; -wave_1_per_point14=yp=pos; -wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; -wave_1_per_point16= -wave_1_per_point17=//rot x -wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; -wave_1_per_point19= -wave_1_per_point20=sang=sin(ang);cang=cos(ang); -wave_1_per_point21=xq=xp*sang + yp*cang; -wave_1_per_point22=yq=xp*cang - yp*sang; -wave_1_per_point23=zq=zp; -wave_1_per_point24=xp=xq;yp=yq;zp=zq; -wave_1_per_point25= -wave_1_per_point26=//rot y -wave_1_per_point27=ang=3.1415/2; -wave_1_per_point28=step1=equal(cycle,2)*third; -wave_1_per_point29=step2=equal(cycle,3)*third*2; -wave_1_per_point30=ang=ang+step1+step2; -wave_1_per_point31=ang=ang ; -wave_1_per_point32=sang=sin(ang);cang=cos(ang); -wave_1_per_point33=xq=xp*sang + zp*cang; -wave_1_per_point34=yq=yp; -wave_1_per_point35=zq=xp*cang - zp*sang; -wave_1_per_point36=xp=xq;yp=yq;zp=zq; -wave_1_per_point37= -wave_1_per_point38=yp=-yp; -wave_1_per_point39=ang=time*0.23; -wave_1_per_point40=sang=sin(ang);cang=cos(ang); -wave_1_per_point41=xq=xp;; -wave_1_per_point42=yq=yp*sang + zp*cang; -wave_1_per_point43=zq=yp*cang - zp*sang; -wave_1_per_point44=xp=xq;yp=yq;zp=zq; -wave_1_per_point45= -wave_1_per_point46=ang=time*0.6; -wave_1_per_point47=sang=sin(ang);cang=cos(ang); -wave_1_per_point48=xq=xp*sang + zp*cang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cang - zp*sang; -wave_1_per_point51=xp=xq;yp=yq;zp=zq; -wave_1_per_point52= -wave_1_per_point53= -wave_1_per_point54=zp=zp+4.1; -wave_1_per_point55=xs=xp/zp + 0.5; -wave_1_per_point56=ys=yp/zp *1.333 + 0.5; -wave_1_per_point57= -wave_1_per_point58=x=xs;y=ys; -wave_1_per_point59= -wave_1_per_point60= -wave_1_per_point61=a=a*(1-q8*0.5); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=0.210000 -wavecode_2_g=0.120000 -wavecode_2_b=0.050000 -wavecode_2_a=1.000000 -wave_2_per_frame1=advance=advance+ 0.005; -wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_2_per_frame3=t1=advance -wave_2_per_point1= -wave_2_per_point2=s=sample*6.28; -wave_2_per_point3= -wave_2_per_point4=//plot random x position via function of sample pos; -wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_2_per_point6=xp=xp*0.20; -wave_2_per_point7= -wave_2_per_point8=//plot random y position via function of sample pos; -wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_2_per_point10=yp=yp*0.20; -wave_2_per_point11= -wave_2_per_point12=//plot random z position via function of sample pos; -wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_2_per_point14=zp=zp*0.25; -wave_2_per_point15= -wave_2_per_point16=//pull stars toward screen -wave_2_per_point17=zp=zp + 1 - t1; -wave_2_per_point18= -wave_2_per_point19=//correct when below 0 -wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_2_per_point21= -wave_2_per_point22=//darken far stars -wave_2_per_point23=a=(1 - zp*0.5); -wave_2_per_point24= -wave_2_per_point25=zp=zp*0.7; -wave_2_per_point26= -wave_2_per_point27=x_screen=xp/zp + 0.5; -wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; -wave_2_per_point29= -wave_2_per_point30=x=x_screen; -wave_2_per_point31=y=y_screen; -wave_2_per_point32= -wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); -wave_2_per_point34= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.610000 -wavecode_3_g=0.720000 -wavecode_3_b=0.950000 -wavecode_3_a=1.000000 -wave_3_per_frame1=advance=advance+ 0.008; -wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_3_per_frame3=t1=advance -wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; -wave_3_per_point2= -wave_3_per_point3=s=sample*6.28; -wave_3_per_point4= -wave_3_per_point5=//plot random x position via function of sample pos; -wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_3_per_point7=xp=xp*0.20; -wave_3_per_point8= -wave_3_per_point9=//plot random y position via function of sample pos; -wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_3_per_point11=yp=yp*0.20; -wave_3_per_point12= -wave_3_per_point13=//plot random z position via function of sample pos; -wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_3_per_point15=zp=zp*0.25; -wave_3_per_point16= -wave_3_per_point17=//pull stars toward screen -wave_3_per_point18=zp=zp + 1 - t1; -wave_3_per_point19= -wave_3_per_point20=//correct when below 0 -wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); -wave_3_per_point22= -wave_3_per_point23=//darken far stars -wave_3_per_point24=a=(1 - zp*0.5); -wave_3_per_point25=a=a*sparkle; -wave_3_per_point26= -wave_3_per_point27=zp=zp*0.7; -wave_3_per_point28= -wave_3_per_point29=x_screen=xp/zp + 0.5; -wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; -wave_3_per_point31= -wave_3_per_point32=x=x_screen; -wave_3_per_point33=y=y_screen; -wave_3_per_point34= -wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); -wave_3_per_point36= -shapecode_0_enabled=1 -shapecode_0_sides=6 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.323535 -shapecode_0_ang=0.314159 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=4.722082 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.800000 -shapecode_0_b2=0.700000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=a=q8 -shapecode_1_enabled=1 -shapecode_1_sides=36 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.919742 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.980296 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.940000 -shapecode_1_a2=0.060000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); -shape_1_per_frame2= -shape_1_per_frame3=ang=sin(time*0.5)*0.01; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.600000 -shapecode_2_g2=0.700000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.500000 -shapecode_3_g2=0.700000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2=zoom=1.000; -per_frame_3=warp=0; -per_frame_4= -per_frame_5= -per_frame_6=q1=(mid_att+treb_att)*0.25; -per_frame_7= -per_frame_8=q2=1 - min(q1,2)*0.6; -per_frame_9= -per_frame_10= -per_frame_11=mvol=(bass_att+mid_att+treb_att)*0.33; -per_frame_12=mvolB=(mvolB-0.007) + mvol*0.007; -per_frame_13=mvolB=max(mvolB,0); -per_frame_14=mvolB=min(mvolB,1); -per_frame_15=q8=mvolB; -per_frame_16=monitor=q8 -per_frame_17= -per_pixel_1=zoom=1 + (sin(ang*6 + time*0.25)*0.5 + 0.5)*0.04 diff --git a/presets_milkdrop_104/Eo.S. - spark C_Phat_Jester_Mix_v2.milk b/presets_milkdrop_104/Eo.S. - spark C_Phat_Jester_Mix_v2.milk deleted file mode 100644 index 000de26e7e..0000000000 --- a/presets_milkdrop_104/Eo.S. - spark C_Phat_Jester_Mix_v2.milk +++ /dev/null @@ -1,444 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.060000 -wavecode_0_g=0.040000 -wavecode_0_b=0.110000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=time*0.5; -wave_0_per_frame2=t2=time*0.33; -wave_0_per_frame3=t3=time*0.23; -wave_0_per_frame4=t8=-1 -wave_0_per_point1=scale=1+q1; -wave_0_per_point2= -wave_0_per_point3=n=sample*6.283*4; -wave_0_per_point4=third=6.283/3; -wave_0_per_point5=cycle=int(sample*4); -wave_0_per_point6=pos=t8; -wave_0_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); -wave_0_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); -wave_0_per_point9=t8=pos; -wave_0_per_point10=points= equal(pos,0); -wave_0_per_point11=a=equal(pos,0)*q2; -wave_0_per_point12= -wave_0_per_point13=xp=sin(n) * 0.05 *points *scale; -wave_0_per_point14=yp=pos; -wave_0_per_point15=zp=cos(n) * 0.05 *points *scale; -wave_0_per_point16= -wave_0_per_point17=//rot x -wave_0_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; -wave_0_per_point19= -wave_0_per_point20=sang=sin(ang);cang=cos(ang); -wave_0_per_point21=xq=xp*sang + yp*cang; -wave_0_per_point22=yq=xp*cang - yp*sang; -wave_0_per_point23=zq=zp; -wave_0_per_point24=xp=xq;yp=yq;zp=zq; -wave_0_per_point25= -wave_0_per_point26=//rot y -wave_0_per_point27=ang=3.1415/2; -wave_0_per_point28=step1=equal(cycle,2)*third; -wave_0_per_point29=step2=equal(cycle,3)*third*2; -wave_0_per_point30=ang=ang+step1+step2; -wave_0_per_point31=ang=ang ; -wave_0_per_point32= -wave_0_per_point33=sang=sin(ang);cang=cos(ang); -wave_0_per_point34=xq=xp*sang + zp*cang; -wave_0_per_point35=yq=yp; -wave_0_per_point36=zq=xp*cang - zp*sang; -wave_0_per_point37=xp=xq;yp=yq;zp=zq; -wave_0_per_point38= -wave_0_per_point39=ang=time*0.23; -wave_0_per_point40=sang=sin(ang);cang=cos(ang); -wave_0_per_point41=xq=xp;; -wave_0_per_point42=yq=yp*sang + zp*cang; -wave_0_per_point43=zq=yp*cang - zp*sang; -wave_0_per_point44=xp=xq;yp=yq;zp=zq; -wave_0_per_point45= -wave_0_per_point46=ang=time*0.6; -wave_0_per_point47=sang=sin(ang);cang=cos(ang); -wave_0_per_point48=xq=xp*sang + zp*cang; -wave_0_per_point49=yq=yp; -wave_0_per_point50=zq=xp*cang - zp*sang; -wave_0_per_point51=xp=xq;yp=yq;zp=zq; -wave_0_per_point52= -wave_0_per_point53= -wave_0_per_point54=zp=zp+4.1; -wave_0_per_point55=xs=xp/zp + 0.5; -wave_0_per_point56=ys=yp/zp *1.333 + 0.5; -wave_0_per_point57= -wave_0_per_point58=x=xs;y=ys; -wave_0_per_point59= -wave_0_per_point60= -wave_0_per_point61= -wave_0_per_point62=black=1 - equal(pos,0); -wave_0_per_point63=r=r*black; -wave_0_per_point64=g=g*black; -wave_0_per_point65=b=b*black; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.060000 -wavecode_1_g=0.040000 -wavecode_1_b=0.020000 -wavecode_1_a=1.000000 -wave_1_per_point1=scale=1+q1; -wave_1_per_point2= -wave_1_per_point3=n=sample*6.283*4; -wave_1_per_point4=third=6.283/3; -wave_1_per_point5=cycle=int(sample*4); -wave_1_per_point6=pos=t8; -wave_1_per_point7=pos=if( equal(pos,1) , -1 , pos+1 ); -wave_1_per_point8=pos=if( equal(sample*4-cycle,0) , 0 , pos); -wave_1_per_point9=t8=pos; -wave_1_per_point10=points= equal(pos,0); -wave_1_per_point11=a=equal(pos,0)*q2; -wave_1_per_point12= -wave_1_per_point13=xp=sin(n) * 0.05 *points *scale; -wave_1_per_point14=yp=pos; -wave_1_per_point15=zp=cos(n) * 0.05 *points *scale; -wave_1_per_point16= -wave_1_per_point17=//rot x -wave_1_per_point18=ang=3.1415/2 - above(cycle,0.99) * third; -wave_1_per_point19= -wave_1_per_point20=sang=sin(ang);cang=cos(ang); -wave_1_per_point21=xq=xp*sang + yp*cang; -wave_1_per_point22=yq=xp*cang - yp*sang; -wave_1_per_point23=zq=zp; -wave_1_per_point24=xp=xq;yp=yq;zp=zq; -wave_1_per_point25= -wave_1_per_point26=//rot y -wave_1_per_point27=ang=3.1415/2; -wave_1_per_point28=step1=equal(cycle,2)*third; -wave_1_per_point29=step2=equal(cycle,3)*third*2; -wave_1_per_point30=ang=ang+step1+step2; -wave_1_per_point31=ang=ang ; -wave_1_per_point32=sang=sin(ang);cang=cos(ang); -wave_1_per_point33=xq=xp*sang + zp*cang; -wave_1_per_point34=yq=yp; -wave_1_per_point35=zq=xp*cang - zp*sang; -wave_1_per_point36=xp=xq;yp=yq;zp=zq; -wave_1_per_point37= -wave_1_per_point38=yp=-yp; -wave_1_per_point39=ang=time*0.23; -wave_1_per_point40=sang=sin(ang);cang=cos(ang); -wave_1_per_point41=xq=xp;; -wave_1_per_point42=yq=yp*sang + zp*cang; -wave_1_per_point43=zq=yp*cang - zp*sang; -wave_1_per_point44=xp=xq;yp=yq;zp=zq; -wave_1_per_point45= -wave_1_per_point46=ang=time*0.6; -wave_1_per_point47=sang=sin(ang);cang=cos(ang); -wave_1_per_point48=xq=xp*sang + zp*cang; -wave_1_per_point49=yq=yp; -wave_1_per_point50=zq=xp*cang - zp*sang; -wave_1_per_point51=xp=xq;yp=yq;zp=zq; -wave_1_per_point52= -wave_1_per_point53= -wave_1_per_point54=zp=zp+4.1; -wave_1_per_point55=xs=xp/zp + 0.5; -wave_1_per_point56=ys=yp/zp *1.333 + 0.5; -wave_1_per_point57= -wave_1_per_point58=x=xs;y=ys; -wave_1_per_point59= -wave_1_per_point60= -wave_1_per_point61=a=a*(1-q8*0.5); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=0.210000 -wavecode_2_g=0.120000 -wavecode_2_b=0.050000 -wavecode_2_a=1.000000 -wave_2_per_frame1=advance=advance+ 0.005; -wave_2_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_2_per_frame3=t1=advance -wave_2_per_point1= -wave_2_per_point2=s=sample*6.28; -wave_2_per_point3= -wave_2_per_point4=//plot random x position via function of sample pos; -wave_2_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_2_per_point6=xp=xp*0.20; -wave_2_per_point7= -wave_2_per_point8=//plot random y position via function of sample pos; -wave_2_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_2_per_point10=yp=yp*0.20; -wave_2_per_point11= -wave_2_per_point12=//plot random z position via function of sample pos; -wave_2_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_2_per_point14=zp=zp*0.25; -wave_2_per_point15= -wave_2_per_point16=//pull stars toward screen -wave_2_per_point17=zp=zp + 1 - t1; -wave_2_per_point18= -wave_2_per_point19=//correct when below 0 -wave_2_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_2_per_point21= -wave_2_per_point22=//darken far stars -wave_2_per_point23=a=(1 - zp*0.5); -wave_2_per_point24= -wave_2_per_point25=zp=zp*0.7; -wave_2_per_point26= -wave_2_per_point27=x_screen=xp/zp + 0.5; -wave_2_per_point28=y_screen=yp/zp*1.333 + 0.5; -wave_2_per_point29= -wave_2_per_point30=x=x_screen; -wave_2_per_point31=y=y_screen; -wave_2_per_point32= -wave_2_per_point33=ag=atan( (y-0.5)/(x-0.5) ); -wave_2_per_point34= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.610000 -wavecode_3_g=0.720000 -wavecode_3_b=0.950000 -wavecode_3_a=1.000000 -wave_3_per_frame1=advance=advance+ 0.008; -wave_3_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_3_per_frame3=t1=advance -wave_3_per_point1=sparkle=sin(sample*6.283*3+time*5)*0.5+0.5; -wave_3_per_point2= -wave_3_per_point3=s=sample*6.28; -wave_3_per_point4= -wave_3_per_point5=//plot random x position via function of sample pos; -wave_3_per_point6=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_3_per_point7=xp=xp*0.20; -wave_3_per_point8= -wave_3_per_point9=//plot random y position via function of sample pos; -wave_3_per_point10=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_3_per_point11=yp=yp*0.20; -wave_3_per_point12= -wave_3_per_point13=//plot random z position via function of sample pos; -wave_3_per_point14=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_3_per_point15=zp=zp*0.25; -wave_3_per_point16= -wave_3_per_point17=//pull stars toward screen -wave_3_per_point18=zp=zp + 1 - t1; -wave_3_per_point19= -wave_3_per_point20=//correct when below 0 -wave_3_per_point21=zp=if( below(zp,0) , zp+2 , zp ); -wave_3_per_point22= -wave_3_per_point23=//darken far stars -wave_3_per_point24=a=(1 - zp*0.5); -wave_3_per_point25=a=a*sparkle; -wave_3_per_point26= -wave_3_per_point27=zp=zp*0.7; -wave_3_per_point28= -wave_3_per_point29=x_screen=xp/zp + 0.5; -wave_3_per_point30=y_screen=yp/zp*1.333 + 0.5; -wave_3_per_point31= -wave_3_per_point32=x=x_screen; -wave_3_per_point33=y=y_screen; -wave_3_per_point34= -wave_3_per_point35=ag=atan( (y-0.5)/(x-0.5) ); -wave_3_per_point36= -shapecode_0_enabled=0 -shapecode_0_sides=6 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.323535 -shapecode_0_ang=0.314159 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=4.722082 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.800000 -shapecode_0_b2=0.700000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=a=q8 -shapecode_1_enabled=1 -shapecode_1_sides=36 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.919742 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.980296 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.940000 -shapecode_1_a2=0.060000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_zoom=tex_zoom+ (sin(time*0.3)*0.2); -shape_1_per_frame2= -shape_1_per_frame3=ang=sin(time*0.5)*0.01; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.600000 -shapecode_2_g2=0.700000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=1 -shapecode_3_sides=24 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=0.000000 -shapecode_3_r2=0.500000 -shapecode_3_g2=0.700000 -shapecode_3_b2=0.800000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.400000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2=zoom=1.000; -per_frame_3=warp=0; -per_frame_4= -per_frame_5= -per_frame_6=q1=(mid_att+treb_att)*0.25; -per_frame_7= -per_frame_8=q2=1 - min(q1,2)*0.6; -per_frame_9= -per_frame_10= -per_frame_11=mvol=(bass_att+mid_att+treb_att)*0.33; -per_frame_12=mvolB=(mvolB-0.007) + mvol*0.007; -per_frame_13=mvolB=max(mvolB,0); -per_frame_14=mvolB=min(mvolB,1); -per_frame_15=q8=mvolB; -per_frame_16=monitor=q8 -per_frame_17= -per_pixel_1=zoom=.99 + (sin(ang*(2+(treb/3)) + time*3)*0.5 + 0.5)*0.04; -per_pixel_2=sx=-1; diff --git a/presets_milkdrop_104/Eo.S. - starburst 10 aurora distalis.milk b/presets_milkdrop_104/Eo.S. - starburst 10 aurora distalis.milk deleted file mode 100644 index b0cfe08df5..0000000000 --- a/presets_milkdrop_104/Eo.S. - starburst 10 aurora distalis.milk +++ /dev/null @@ -1,450 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.390000 -mv_g=0.440000 -mv_b=0.900000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.300000 -wavecode_0_g=0.700000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=flip=flip+1; -wave_0_per_point4=flip=flip*below(flip,2); -wave_0_per_point5= -wave_0_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; -wave_0_per_point7= -wave_0_per_point8=xp=sin(n+phase); -wave_0_per_point9=yp=cos(n+phase); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//rotate on y during draw -wave_0_per_point13=ang=n*2+phase; -wave_0_per_point14=xq=xp*sin(ang) + zp*cos(ang); -wave_0_per_point15=yq=yp; -wave_0_per_point16=zq=xp*cos(ang) - zp*sin(ang); -wave_0_per_point17= -wave_0_per_point18=r1=0.1;g1=0.3;b1=1; -wave_0_per_point19=r2=0.7;g2=0.1;b2=1.0; -wave_0_per_point20=fade=xq*0.5 + 0.5; -wave_0_per_point21=r=r1*fade + r2*(1-fade); -wave_0_per_point22=g=g1*fade + g2*(1-fade); -wave_0_per_point23=b=b1*fade + b2*(1-fade); -wave_0_per_point24= -wave_0_per_point25=//rotation; -wave_0_per_point26=ang=time*0.1; -wave_0_per_point27=xp=xq*sin(ang) + zq*cos(ang); -wave_0_per_point28=yp=yq; -wave_0_per_point29=zp=xq*cos(ang) - zq*sin(ang); -wave_0_per_point30= -wave_0_per_point31=ang=time*0.17; -wave_0_per_point32=xq=xp; -wave_0_per_point33=yq=yp*sin(ang) + zp*cos(ang); -wave_0_per_point34=zq=yp*cos(ang) - zp*sin(ang); -wave_0_per_point35= -wave_0_per_point36= -wave_0_per_point37=//push into viewspace -wave_0_per_point38=zq=zq+3.1; -wave_0_per_point39= -wave_0_per_point40= -wave_0_per_point41=//project into screenspace -wave_0_per_point42=xs=xq/zq; -wave_0_per_point43=ys=yq/zq; -wave_0_per_point44= -wave_0_per_point45= -wave_0_per_point46=x=xs+0.5; -wave_0_per_point47=y=ys*1.3+0.5; -wave_0_per_point48=a=(1)*0.3 * (pow(sin(n*4+time)*0.5+0.5,2)); -wave_0_per_point49= -wave_0_per_point50=spark=sin(phase*35); -wave_0_per_point51=r=if( above(spark,0.93) , 0.6 , r); -wave_0_per_point52=g=if( above(spark,0.93) , 0.8 , g); -wave_0_per_point53=b=if( above(spark,0.93) , 1.0 , b); -wave_0_per_point54= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*0.03+time*0.01; -wave_1_per_point2= -wave_1_per_point3=flip=flip+1; -wave_1_per_point4=flip=flip*below(flip,2); -wave_1_per_point5= -wave_1_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; -wave_1_per_point7= -wave_1_per_point8=xp=sin(n+phase); -wave_1_per_point9=yp=cos(n+phase); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//rotate on y during draw -wave_1_per_point13=ang=n*2+phase; -wave_1_per_point14=xq=xp*sin(ang) + zp*cos(ang); -wave_1_per_point15=yq=yp; -wave_1_per_point16=zq=xp*cos(ang) - zp*sin(ang); -wave_1_per_point17= -wave_1_per_point18=r1=0.1;g1=0.3;b1=1; -wave_1_per_point19=r2=1.0;g2=0.1;b2=0.5; -wave_1_per_point20=fade=xq*0.5 + 0.5; -wave_1_per_point21=r=r1*fade + r2*(1-fade); -wave_1_per_point22=g=g1*fade + g2*(1-fade); -wave_1_per_point23=b=b1*fade + b2*(1-fade); -wave_1_per_point24= -wave_1_per_point25=//rotation; -wave_1_per_point26=ang=time*0.1; -wave_1_per_point27=xp=xq*sin(ang) + zq*cos(ang); -wave_1_per_point28=yp=yq; -wave_1_per_point29=zp=xq*cos(ang) - zq*sin(ang); -wave_1_per_point30= -wave_1_per_point31=ang=time*0.17; -wave_1_per_point32=xq=xp; -wave_1_per_point33=yq=yp*sin(ang) + zp*cos(ang); -wave_1_per_point34=zq=yp*cos(ang) - zp*sin(ang); -wave_1_per_point35= -wave_1_per_point36= -wave_1_per_point37=//push into viewspace -wave_1_per_point38=zq=zq+3.1; -wave_1_per_point39= -wave_1_per_point40= -wave_1_per_point41=//project into screenspace -wave_1_per_point42=xs=xq/zq; -wave_1_per_point43=ys=yq/zq; -wave_1_per_point44= -wave_1_per_point45= -wave_1_per_point46=x=xs+0.5; -wave_1_per_point47=y=ys*1.3+0.5; -wave_1_per_point48= -wave_1_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; -wave_1_per_point50= -wave_1_per_point51=a=sample*wave*0.4; -wave_1_per_point52= -wave_1_per_point53= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*0.03+time*0.01+2.1; -wave_2_per_point2= -wave_2_per_point3=flip=flip+1; -wave_2_per_point4=flip=flip*below(flip,2); -wave_2_per_point5= -wave_2_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; -wave_2_per_point7= -wave_2_per_point8=xp=sin(n+phase); -wave_2_per_point9=yp=cos(n+phase); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//rotate on y during draw -wave_2_per_point13=ang=n*2+phase; -wave_2_per_point14=xq=xp*sin(ang) + zp*cos(ang); -wave_2_per_point15=yq=yp; -wave_2_per_point16=zq=xp*cos(ang) - zp*sin(ang); -wave_2_per_point17= -wave_2_per_point18=r1=0.1;g1=0.3;b1=1; -wave_2_per_point19=r2=1.0;g2=0.1;b2=0.5; -wave_2_per_point20=fade=xq*0.5 + 0.5; -wave_2_per_point21=r=r1*fade + r2*(1-fade); -wave_2_per_point22=g=g1*fade + g2*(1-fade); -wave_2_per_point23=b=b1*fade + b2*(1-fade); -wave_2_per_point24= -wave_2_per_point25=//rotation; -wave_2_per_point26=ang=time*0.1; -wave_2_per_point27=xp=xq*sin(ang) + zq*cos(ang); -wave_2_per_point28=yp=yq; -wave_2_per_point29=zp=xq*cos(ang) - zq*sin(ang); -wave_2_per_point30= -wave_2_per_point31=ang=time*0.17; -wave_2_per_point32=xq=xp; -wave_2_per_point33=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point34=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point35= -wave_2_per_point36= -wave_2_per_point37=//push into viewspace -wave_2_per_point38=zq=zq+3.1; -wave_2_per_point39= -wave_2_per_point40= -wave_2_per_point41=//project into screenspace -wave_2_per_point42=xs=xq/zq; -wave_2_per_point43=ys=yq/zq; -wave_2_per_point44= -wave_2_per_point45= -wave_2_per_point46=x=xs+0.5; -wave_2_per_point47=y=ys*1.3+0.5; -wave_2_per_point48= -wave_2_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; -wave_2_per_point50= -wave_2_per_point51=a=sample*wave*0.4; -wave_2_per_point52= -wave_2_per_point53= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*0.03+time*0.01+4.2; -wave_3_per_point2= -wave_3_per_point3=flip=flip+1; -wave_3_per_point4=flip=flip*below(flip,2); -wave_3_per_point5= -wave_3_per_point6=phase=sin(n*3)*sin(n*7.9)*sin(n*16.7)*sin(n*63.5)*6; -wave_3_per_point7= -wave_3_per_point8=xp=sin(n+phase); -wave_3_per_point9=yp=cos(n+phase); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//rotate on y during draw -wave_3_per_point13=ang=n*2+phase; -wave_3_per_point14=xq=xp*sin(ang) + zp*cos(ang); -wave_3_per_point15=yq=yp; -wave_3_per_point16=zq=xp*cos(ang) - zp*sin(ang); -wave_3_per_point17= -wave_3_per_point18=r1=0.1;g1=0.3;b1=1; -wave_3_per_point19=r2=1.0;g2=0.1;b2=0.5; -wave_3_per_point20=fade=xq*0.5 + 0.5; -wave_3_per_point21=r=r1*fade + r2*(1-fade); -wave_3_per_point22=g=g1*fade + g2*(1-fade); -wave_3_per_point23=b=b1*fade + b2*(1-fade); -wave_3_per_point24= -wave_3_per_point25=//rotation; -wave_3_per_point26=ang=time*0.1; -wave_3_per_point27=xp=xq*sin(ang) + zq*cos(ang); -wave_3_per_point28=yp=yq; -wave_3_per_point29=zp=xq*cos(ang) - zq*sin(ang); -wave_3_per_point30= -wave_3_per_point31=ang=time*0.17; -wave_3_per_point32=xq=xp; -wave_3_per_point33=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point34=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37=//push into viewspace -wave_3_per_point38=zq=zq+3.1; -wave_3_per_point39= -wave_3_per_point40= -wave_3_per_point41=//project into screenspace -wave_3_per_point42=xs=xq/zq; -wave_3_per_point43=ys=yq/zq; -wave_3_per_point44= -wave_3_per_point45= -wave_3_per_point46=x=xs+0.5; -wave_3_per_point47=y=ys*1.3+0.5; -wave_3_per_point48= -wave_3_per_point49=wave=sin(n*8000)*sin(n*690)*sin(n*17000)*0.5+0.5; -wave_3_per_point50= -wave_3_per_point51=a=sample*wave*0.4; -wave_3_per_point52= -wave_3_per_point53= -shapecode_0_enabled=1 -shapecode_0_sides=15 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.134785 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.628347 -shapecode_0_r=0.300000 -shapecode_0_g=0.800000 -shapecode_0_b=1.000000 -shapecode_0_a=0.080000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=1 -shapecode_1_sides=11 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.102010 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.300000 -shapecode_1_g=0.600000 -shapecode_1_b=1.000000 -shapecode_1_a=0.380000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=1 -shapecode_2_sides=10 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.947610 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.500000 -shapecode_2_g=0.200000 -shapecode_2_b=0.800000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=a=mid_att*mid_att*mid*0.002 -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.200000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=ang=time*0.1; -shape_3_per_frame2=a=mid*mid_att; -shape_3_per_frame3=a=min(a,1); -shape_3_per_frame4=a=1-a*0.4 * above(treb,0.9) -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=vol=(bass_att+mid_att+treb_att)*0.29; -per_frame_2=vol=min(vol,1); -per_frame_3= -per_frame_4=decay=0.75 + vol*0.20; -per_frame_5=decay=0.98; -per_frame_6=zoom=1.0025; -per_frame_7= -per_frame_8=q8=vol; -per_frame_9=vol=vol*vol; -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13= -per_pixel_1=bb=1-rad*3; -per_pixel_2=bb=max(bb,0); -per_pixel_3=bb=bb*bb; -per_pixel_4=zoom=zoom+bb*0.1*q8 diff --git a/presets_milkdrop_104/Eo.S. 3d-glasses.milk b/presets_milkdrop_104/Eo.S. 3d-glasses.milk deleted file mode 100644 index fa7db8e0ac..0000000000 --- a/presets_milkdrop_104/Eo.S. 3d-glasses.milk +++ /dev/null @@ -1,519 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=2.695696 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=1 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.049138 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.069609 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.200000 -mv_r=1.000000 -mv_g=0.800000 -mv_b=0.600000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1= -wave_0_per_frame2= -wave_0_per_frame3=basstime=basstime+bass; -wave_0_per_frame4=t1=basstime; -wave_0_per_point1=masterspeed=604*q1; -wave_0_per_point2=masterspeed=3; -wave_0_per_point3=rotation1=time*0.01; -wave_0_per_point4= -wave_0_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_0_per_point6=perspective=0.7; -wave_0_per_point7= -wave_0_per_point8=//error bump -wave_0_per_point9=error = sin(time*128.5)*8 - 7; -wave_0_per_point10=error = error * above(error,0); -wave_0_per_point11=error=error+1; -wave_0_per_point12=error=1; -wave_0_per_point13= -wave_0_per_point14=//plot x,y,z to point on sphere -wave_0_per_point15=flx=sin(tm*14); -wave_0_per_point16=fly=cos(tm*14); -wave_0_per_point17=smp=sample*6.283; -wave_0_per_point18=xp=sin(smp*masterspeed )*0.65 * error; -wave_0_per_point19=yp=cos(smp*masterspeed )*0.65 * error; -wave_0_per_point20=zp=0; -wave_0_per_point21= -wave_0_per_point22= -wave_0_per_point23= -wave_0_per_point24=//rotate on y axis; -wave_0_per_point25=angy=time*43; -wave_0_per_point26=angy=q1*3; -wave_0_per_point27=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point28=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point29=xp=xq; -wave_0_per_point30=zp=zq; -wave_0_per_point31= -wave_0_per_point32=t2=xp; -wave_0_per_point33=t3=yp; -wave_0_per_point34=t4=zp; -wave_0_per_point35= -wave_0_per_point36=//rotate on x axis -wave_0_per_point37=axs1 = sin(time*0.2) + 1.6; -wave_0_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point40=yp=yq; -wave_0_per_point41=zp=zq; -wave_0_per_point42= -wave_0_per_point43=//rotate on y axis again -wave_0_per_point44=axs2 = sin(time*0.1)*3.3; -wave_0_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point47=xp=xq; -wave_0_per_point48=zp=zq; -wave_0_per_point49= -wave_0_per_point50=//stretch y axis to compensate for aspect ratio -wave_0_per_point51=yp=yp*1.2; -wave_0_per_point52= -wave_0_per_point53=//push forward into viewpace -wave_0_per_point54=zp=zp+2.1; -wave_0_per_point55= -wave_0_per_point56=//project x,y,z into screenspace -wave_0_per_point57=xs=xp/zp; -wave_0_per_point58=ys=yp/zp; -wave_0_per_point59= -wave_0_per_point60=//center 0,0 in middle of screen -wave_0_per_point61=x=xs+0.5; -wave_0_per_point62=y=ys+0.5; -wave_0_per_point63= -wave_0_per_point64=r=(value1+0.5)*0.0; -wave_0_per_point65=g=(value1+0.5)*0.1; -wave_0_per_point66=b=(value1+0.5)*0.4; -wave_0_per_point67= -wavecode_1_enabled=1 -wavecode_1_samples=511 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=tm=tm+bass*0.02; -wave_1_per_frame2=t2=sin(tm*1) * 0.4; -wave_1_per_frame3=t3=cos(tm*1) * 0.4; -wave_1_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; -wave_1_per_point1=masterspeed=604*q1; -wave_1_per_point2=masterspeed=3; -wave_1_per_point3=rotation1=time*0.01; -wave_1_per_point4= -wave_1_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_1_per_point6=perspective=0.7; -wave_1_per_point7= -wave_1_per_point8=//error bump -wave_1_per_point9=error = sin(time*128.5)*8 - 7; -wave_1_per_point10=error = error * above(error,0); -wave_1_per_point11=error=error+1; -wave_1_per_point12=error=1; -wave_1_per_point13= -wave_1_per_point14=//plot x,y,z to point on sphere -wave_1_per_point15=flx=sin(tm*14); -wave_1_per_point16=fly=cos(tm*14); -wave_1_per_point17=smp=sample*6.283; -wave_1_per_point18=xp=sin(smp*masterspeed )*0.65 * error; -wave_1_per_point19=yp=cos(smp*masterspeed )*0.65 * error; -wave_1_per_point20=zp=0; -wave_1_per_point21= -wave_1_per_point22= -wave_1_per_point23= -wave_1_per_point24=//rotate on y axis; -wave_1_per_point25=angy=q1*3 + 1.57; -wave_1_per_point26=xq=xp*cos(angy) - zp*sin(angy); -wave_1_per_point27=zq=xp*sin(angy) + zp*cos(angy); -wave_1_per_point28=xp=xq; -wave_1_per_point29=zp=zq; -wave_1_per_point30= -wave_1_per_point31=t2=xp; -wave_1_per_point32=t3=yp; -wave_1_per_point33=t4=zp; -wave_1_per_point34= -wave_1_per_point35=//rotate on x axis -wave_1_per_point36=axs1 = sin(time*0.2) + 1.6; -wave_1_per_point37=yq= yp*cos(axs1) - zp*sin(axs1); -wave_1_per_point38=zq= yp*sin(axs1) + zp*cos(axs1); -wave_1_per_point39=yp=yq; -wave_1_per_point40=zp=zq; -wave_1_per_point41= -wave_1_per_point42=//rotate on y axis again -wave_1_per_point43=axs2 = sin(time*0.1)*3.3; -wave_1_per_point44=xq=xp*cos(axs2) - zp*sin(axs2); -wave_1_per_point45=zq=xp*sin(axs2) + zp*cos(axs2); -wave_1_per_point46=xp=xq; -wave_1_per_point47=zp=zq; -wave_1_per_point48= -wave_1_per_point49=//stretch y axis to compensate for aspect ratio -wave_1_per_point50=yp=yp*1.2; -wave_1_per_point51= -wave_1_per_point52=//push forward into viewpace -wave_1_per_point53=zp=zp+2.1; -wave_1_per_point54= -wave_1_per_point55=//project x,y,z into screenspace -wave_1_per_point56=xs=xp/zp; -wave_1_per_point57=ys=yp/zp; -wave_1_per_point58= -wave_1_per_point59=//center 0,0 in middle of screen -wave_1_per_point60=x=xs+0.5; -wave_1_per_point61=y=ys+0.5; -wave_1_per_point62= -wave_1_per_point63=r=(value1+0.5)*0.0; -wave_1_per_point64=g=(value1+0.5)*0.1; -wave_1_per_point65=b=(value1+0.5)*0.4; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=tm=tm+mid*0.02; -wave_2_per_frame2=t2=sin(tm*1) * 0.5; -wave_2_per_frame3=t3=cos(tm*1) * 0.5; -wave_2_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; -wave_2_per_point1=masterspeed=604*q1; -wave_2_per_point2=masterspeed=3; -wave_2_per_point3=rotation1=time*0.01; -wave_2_per_point4= -wave_2_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_2_per_point6=perspective=0.7; -wave_2_per_point7= -wave_2_per_point8=//error bump -wave_2_per_point9=error = sin(time*128.5)*8 - 7; -wave_2_per_point10=error = error * above(error,0); -wave_2_per_point11=error=error+1; -wave_2_per_point12=error=1; -wave_2_per_point13= -wave_2_per_point14=//plot x,y,z to point on sphere -wave_2_per_point15=flx=sin(tm*14); -wave_2_per_point16=fly=cos(tm*14); -wave_2_per_point17=smp=sample*6.283; -wave_2_per_point18=xp=sin(smp*masterspeed )*0.65 * error; -wave_2_per_point19=yp=cos(smp*masterspeed )*0.65 * error; -wave_2_per_point20=zp=0; -wave_2_per_point21= -wave_2_per_point22= -wave_2_per_point23= -wave_2_per_point24=//rotate on y axis; -wave_2_per_point25=angy=time*43; -wave_2_per_point26=angy=q1*3; -wave_2_per_point27=xq=xp*cos(angy) - zp*sin(angy); -wave_2_per_point28=zq=xp*sin(angy) + zp*cos(angy); -wave_2_per_point29=xp=xq; -wave_2_per_point30=zp=zq; -wave_2_per_point31= -wave_2_per_point32=t2=xp; -wave_2_per_point33=t3=yp; -wave_2_per_point34=t4=zp; -wave_2_per_point35= -wave_2_per_point36=//rotate on x axis -wave_2_per_point37=axs1 = sin(time*0.2) + 1.6; -wave_2_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); -wave_2_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); -wave_2_per_point40=yp=yq; -wave_2_per_point41=zp=zq; -wave_2_per_point42= -wave_2_per_point43=//rotate on y axis again -wave_2_per_point44=axs2 = sin(time*0.1)*3.3; -wave_2_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); -wave_2_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); -wave_2_per_point47=xp=xq; -wave_2_per_point48=zp=zq; -wave_2_per_point49= -wave_2_per_point50=//stretch y axis to compensate for aspect ratio -wave_2_per_point51=yp=yp*1.2; -wave_2_per_point52= -wave_2_per_point53=//move left -wave_2_per_point54=xp=xp+0.04; -wave_2_per_point55= -wave_2_per_point56=//push forward into viewpace -wave_2_per_point57=zp=zp+2.1; -wave_2_per_point58= -wave_2_per_point59=//project x,y,z into screenspace -wave_2_per_point60=xs=xp/zp; -wave_2_per_point61=ys=yp/zp; -wave_2_per_point62= -wave_2_per_point63=//center 0,0 in middle of screen -wave_2_per_point64=x=xs+0.5; -wave_2_per_point65=y=ys+0.5; -wave_2_per_point66= -wave_2_per_point67=r=(value1+0.5)*0.4; -wave_2_per_point68=g=(value1+0.5)*0.0; -wave_2_per_point69=b=(value1+0.5)*0.0; -wave_2_per_point70= -wave_2_per_point71= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=tm=tm+treb*0.02; -wave_3_per_frame2=t2=sin(tm*1) * 0.6; -wave_3_per_frame3=t3=cos(tm*1) * 0.6; -wave_3_per_frame4=t4=sin(tm*1 + tm*0.32) * 0.2; -wave_3_per_point1=masterspeed=604*q1; -wave_3_per_point2=masterspeed=3; -wave_3_per_point3=rotation1=time*0.01; -wave_3_per_point4= -wave_3_per_point5=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_3_per_point6=perspective=0.7; -wave_3_per_point7= -wave_3_per_point8=//error bump -wave_3_per_point9=error = sin(time*128.5)*8 - 7; -wave_3_per_point10=error = error * above(error,0); -wave_3_per_point11=error=error+1; -wave_3_per_point12=error=1; -wave_3_per_point13= -wave_3_per_point14=//plot x,y,z to point on sphere -wave_3_per_point15=flx=sin(tm*14); -wave_3_per_point16=fly=cos(tm*14); -wave_3_per_point17=smp=sample*6.283; -wave_3_per_point18=xp=sin(smp*masterspeed )*0.65 * error; -wave_3_per_point19=yp=cos(smp*masterspeed )*0.65 * error; -wave_3_per_point20=zp=0; -wave_3_per_point21= -wave_3_per_point22= -wave_3_per_point23= -wave_3_per_point24=//rotate on y axis; -wave_3_per_point25=angy=time*43; -wave_3_per_point26=angy=q1*3 + 1.57; -wave_3_per_point27=xq=xp*cos(angy) - zp*sin(angy); -wave_3_per_point28=zq=xp*sin(angy) + zp*cos(angy); -wave_3_per_point29=xp=xq; -wave_3_per_point30=zp=zq; -wave_3_per_point31= -wave_3_per_point32=t2=xp; -wave_3_per_point33=t3=yp; -wave_3_per_point34=t4=zp; -wave_3_per_point35= -wave_3_per_point36=//rotate on x axis -wave_3_per_point37=axs1 = sin(time*0.2) + 1.6; -wave_3_per_point38=yq= yp*cos(axs1) - zp*sin(axs1); -wave_3_per_point39=zq= yp*sin(axs1) + zp*cos(axs1); -wave_3_per_point40=yp=yq; -wave_3_per_point41=zp=zq; -wave_3_per_point42= -wave_3_per_point43=//rotate on y axis again -wave_3_per_point44=axs2 = sin(time*0.1)*3.3; -wave_3_per_point45=xq=xp*cos(axs2) - zp*sin(axs2); -wave_3_per_point46=zq=xp*sin(axs2) + zp*cos(axs2); -wave_3_per_point47=xp=xq; -wave_3_per_point48=zp=zq; -wave_3_per_point49= -wave_3_per_point50=//stretch y axis to compensate for aspect ratio -wave_3_per_point51=yp=yp*1.2; -wave_3_per_point52= -wave_3_per_point53=//move left -wave_3_per_point54=xp=xp+0.04; -wave_3_per_point55= -wave_3_per_point56=//push forward into viewpace -wave_3_per_point57=zp=zp+2.1; -wave_3_per_point58= -wave_3_per_point59=//project x,y,z into screenspace -wave_3_per_point60=xs=xp/zp; -wave_3_per_point61=ys=yp/zp; -wave_3_per_point62= -wave_3_per_point63=//center 0,0 in middle of screen -wave_3_per_point64=x=xs+0.5; -wave_3_per_point65=y=ys+0.5; -wave_3_per_point66= -wave_3_per_point67=r=(value1+0.5)*0.4; -wave_3_per_point68=g=(value1+0.5)*0.0; -wave_3_per_point69=b=(value1+0.5)*0.0; -wave_3_per_point70= -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.97; -per_frame_2=zoom=1.003; -per_frame_3=ms=sin(time*0.6); -per_frame_4=mss=mss+ms*0.1; -per_frame_5=q1=ms; -per_frame_6= -per_frame_7= -per_frame_8=rot=sin(time)*0.01; -per_frame_9= -per_frame_10=echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; -per_frame_11=zoom=1.01 -per_frame_12= -per_frame_13= -per_pixel_1=dx=sin(time*0.5)*0.003*rad; -per_pixel_2=dy=cos(time*0.5)*0.003*rad; diff --git a/presets_milkdrop_104/Eo.S. and Zylot - skylight (Stained Glass Majesty mix).milk b/presets_milkdrop_104/Eo.S. and Zylot - skylight (Stained Glass Majesty mix).milk deleted file mode 100644 index c9dba768db..0000000000 --- a/presets_milkdrop_104/Eo.S. and Zylot - skylight (Stained Glass Majesty mix).milk +++ /dev/null @@ -1,266 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.019788 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=31.999994 -nMotionVectorsY=24.000004 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=1.000000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.670888 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.942478 -shapecode_0_tex_zoom=0.534261 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.170000 -shape_0_per_frame1=flux=q5*9; -shape_0_per_frame2=fluxs=max(flux,0); -shape_0_per_frame3=fluxs=min(fluxs,1); -shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); -shape_0_per_frame5=adv=adv+advflux; -shape_0_per_frame6=advs=adv/256; -shape_0_per_frame7= -shape_0_per_frame8= -shape_0_per_frame9=ang=advs; -shape_0_per_frame10=rad=1.671 + q3/25 -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.350000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.100000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=y=0.1 + q2*0.4; -shape_1_per_frame2=rad=q2/2; -shape_1_per_frame3=ang=-q2*2 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.590000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444842 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.100000 -shapecode_2_g2=0.050000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=dir = 3; -shape_2_init2=mover = 0; -shape_2_init3=rotator = .255 -shape_2_per_frame1=ang = rotator; -shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); -shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); -shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); -shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); -shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); -shape_2_per_frame7= -shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. -shape_2_per_frame9= -shape_2_per_frame10=b = above(mid,1.5); -shape_2_per_frame11=r2 = above(mid,1.5); -shape_2_per_frame12=g2 = above(mid,1.5); -shape_2_per_frame13=b2 = above(mid,1.5); -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.840000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.980000 -shapecode_3_g=1.000000 -shapecode_3_b=0.980000 -shapecode_3_a=0.300000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.090000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; -shape_3_per_frame2=y=sin(time)*0.4+0.5; -shape_3_per_frame3=rad=(q1*q1)/2;; -shape_3_per_frame4=ang=q1*4; -shape_3_per_frame5= -shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; -shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; -shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=q1=0;q2=0;q3=0 -per_frame_1=decay=1; -per_frame_2=zoom=1.000; -per_frame_3=speed=0.80; -per_frame_4=speedinv=1-speed; -per_frame_5=q1=(qa*speed + bass*speedinv); -per_frame_6=q2=(qb*speed + mid *speedinv); -per_frame_7=q3=(qc*speed + treb*speedinv); -per_frame_8=qa=q1; -per_frame_9=qb=q2; -per_frame_10=qc=q3; -per_frame_11=flux=sin(time/2); -per_frame_12=q4=flux * 0.5 + 0.5; -per_frame_13=q5=flux -per_frame_14= diff --git a/presets_milkdrop_104/Eo.S. and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk b/presets_milkdrop_104/Eo.S. and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk deleted file mode 100644 index b99a090dd6..0000000000 --- a/presets_milkdrop_104/Eo.S. and Zylot and Phat - Pointfield 9 (Hypnotic Orbit_bass_responce_mix)_mix.milk +++ /dev/null @@ -1,386 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.980001 -fDecay=0.960000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=-0.523285 -mv_dy=-0.160162 -mv_l=0.055000 -mv_r=0.934155 -mv_g=0.462715 -mv_b=0.821308 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.000000 -wavecode_0_b=0.000000 -wavecode_0_a=1.000000 -wave_0_init1=advance=0; -wave_0_init2=advance2=0; -wave_0_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_0_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_0_per_frame3=t1=advance; -wave_0_per_frame4= -wave_0_per_frame5= -wave_0_per_frame6=advance2=advance2+ mid_att*mid_att*0.005; -wave_0_per_frame7=t2=advance2 -wave_0_per_point1=x = .5+.25*(sample*2)*sin(sample*100+time*10)+((cos(time)*x)*(0.2*bass)); -wave_0_per_point2=y = .5+.25*(sample*2)*cos(sample*100+time*10)+((sin(time)*y)*(0.2*bass)); -wave_0_per_point3=r = 1; -wave_0_per_point4=b = 0; -wave_0_per_point5=g = .5; -wave_0_per_point6=a=pow(1-sample,2) -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=advance=0; -wave_1_init2=advance2=0 -wave_1_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_1_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_1_per_frame3=t1=advance; -wave_1_per_frame4= -wave_1_per_frame5= -wave_1_per_frame6=advance2=advance2+ mid_att*mid_att*0.001; -wave_1_per_frame7=t2=advance2 -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_1_per_point5=xp=xp*0.15; -wave_1_per_point6= -wave_1_per_point7=//plot random y position via function of sample pos; -wave_1_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_1_per_point9=yp=yp*0.15; -wave_1_per_point10= -wave_1_per_point11=//plot random z position via function of sample pos; -wave_1_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_1_per_point13=zp=zp*0.25; -wave_1_per_point14= -wave_1_per_point15=//pull stars toward screen -wave_1_per_point16=zp=zp + 1 - t1; -wave_1_per_point17= -wave_1_per_point18=//correct when below 0 -wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point20= -wave_1_per_point21=//darken far stars -wave_1_per_point22=a=(1 - zp*0.5) * 0.3; -wave_1_per_point23=a=if( below(a,0), 0 , a); -wave_1_per_point24= -wave_1_per_point25=zp=zp*0.7; -wave_1_per_point26= -wave_1_per_point27=x_screen=xp/zp + 0.5; -wave_1_per_point28=y_screen=yp/zp + 0.5; -wave_1_per_point29= -wave_1_per_point30=x=x_screen; -wave_1_per_point31=y=y_screen; -wave_1_per_point32= -wave_1_per_point33=r=0.2; -wave_1_per_point34=g=0.7; -wave_1_per_point35=b=1.0; -wave_1_per_point36= -wave_1_per_point37= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=advance=0; -wave_2_init2=advance2=0 -wave_2_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_2_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_2_per_frame3=t1=advance; -wave_2_per_frame4= -wave_2_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; -wave_2_per_frame6=t2=advance2; -wave_2_per_point1=s=sample*6.28; -wave_2_per_point2= -wave_2_per_point3=//plot random x position via function of sample pos; -wave_2_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_2_per_point5=xp=xp*0.15; -wave_2_per_point6= -wave_2_per_point7=//plot random y position via function of sample pos; -wave_2_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_2_per_point9=yp=yp*0.15; -wave_2_per_point10= -wave_2_per_point11=//plot random z position via function of sample pos; -wave_2_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_2_per_point13=zp=zp*0.25; -wave_2_per_point14= -wave_2_per_point15=//pull stars toward screen -wave_2_per_point16=zp=zp + 1 - t1; -wave_2_per_point17= -wave_2_per_point18=//correct when below 0 -wave_2_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_2_per_point20= -wave_2_per_point21=//darken far stars -wave_2_per_point22=a=(1 - zp*0.5)*2; -wave_2_per_point23= -wave_2_per_point24=zp=zp*0.7; -wave_2_per_point25= -wave_2_per_point26=x_screen=-xp/zp + 0.5; -wave_2_per_point27=y_screen=yp/zp + 0.5; -wave_2_per_point28= -wave_2_per_point29=x=x_screen; -wave_2_per_point30=y=y_screen; -wave_2_per_point31= -wave_2_per_point32=r=1; -wave_2_per_point33=g=0.7; -wave_2_per_point34=b=0.2; -wave_2_per_point35= -wave_2_per_point36= -wave_2_per_point37= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_init1=advance=0; -wave_3_init2=advance2=0 -wave_3_per_frame1=advance=advance+ bass_att*bass_att*0.002; -wave_3_per_frame2=advance=if( above(advance,2) , advance-2, advance); -wave_3_per_frame3=t1=advance; -wave_3_per_frame4= -wave_3_per_frame5=advance2=advance2+ mid_att*mid_att*0.001; -wave_3_per_frame6=t2=advance2; -wave_3_per_point1=s=sample*6.28; -wave_3_per_point2= -wave_3_per_point3=//plot random x position via function of sample pos; -wave_3_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*7.3+t2)+sin(s*13.8); -wave_3_per_point5=xp=xp*0.15; -wave_3_per_point6= -wave_3_per_point7=//plot random y position via function of sample pos; -wave_3_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*5.4+t2)+sin(s*17.7); -wave_3_per_point9=yp=yp*0.15; -wave_3_per_point10= -wave_3_per_point11=//plot random z position via function of sample pos; -wave_3_per_point12=zp=cos(s)+cos(s*5.24 )+cos(s*14.4)+cos(s*2.7); -wave_3_per_point13=zp=zp*0.25; -wave_3_per_point14= -wave_3_per_point15=//pull stars toward screen -wave_3_per_point16=zp=zp + 1 - t1; -wave_3_per_point17= -wave_3_per_point18=//correct when below 0 -wave_3_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_3_per_point20= -wave_3_per_point21=//darken far stars -wave_3_per_point22=a=(1 - zp*0.5) * 0.3; -wave_3_per_point23=a=if( below(a,0), 0 , a); -wave_3_per_point24= -wave_3_per_point25=zp=zp*0.7; -wave_3_per_point26= -wave_3_per_point27=x_screen=-xp/zp + 0.5; -wave_3_per_point28=y_screen=yp/zp + 0.5; -wave_3_per_point29= -wave_3_per_point30=x=x_screen; -wave_3_per_point31=y=y_screen; -wave_3_per_point32= -wave_3_per_point33=r=0.2; -wave_3_per_point34=g=0.7; -wave_3_per_point35=b=1.0; -wave_3_per_point36= -wave_3_per_point37= -wave_3_per_point38= -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.355809 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=3.141594 -shapecode_0_tex_zoom=0.734577 -shapecode_0_r=0.950000 -shapecode_0_g=0.960000 -shapecode_0_b=0.830000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang=treb*0.01; -shape_0_per_frame2= -shape_0_per_frame3=bump=sin(time*2 + mid)*0.5+0.5; -shape_0_per_frame4=bump2=- pow(bump,4);//wide negative bump -shape_0_per_frame5=bump= pow(bump,8);//sharp positive bump -shape_0_per_frame6=rad=rad+bump*0.049 + bump2*0.020 -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=1 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.364567 -shapecode_1_ang=6.283185 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.050000 -shapecode_1_g=0.040000 -shapecode_1_b=0.190000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.060000 -shape_1_per_frame1=rad=bass/9; -shape_1_per_frame2=ang=bass*6.14; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=.995; -per_frame_2=zoom=-1.01; -per_frame_3= -per_frame_4=q1=time; -per_frame_5=q2=time; -per_frame_6=q3=time; -per_frame_7= -per_frame_8= -per_frame_9= -per_frame_10= -per_pixel_1=rot=((rad/100*x)*bass*1.5)* if( above( sin(time),0) , 1 , -1); diff --git a/presets_milkdrop_104/Eo.S. planetfunk-10 - tracers E_phat_edit.milk b/presets_milkdrop_104/Eo.S. planetfunk-10 - tracers E_phat_edit.milk deleted file mode 100644 index 231d1198ff..0000000000 --- a/presets_milkdrop_104/Eo.S. planetfunk-10 - tracers E_phat_edit.milk +++ /dev/null @@ -1,470 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.960000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010000 -fWarpScale=0.120321 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.080814 -sx=1.020100 -sy=1.020100 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=24.159897 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.050000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=q8=1.5 -wave_0_per_point1=masterspeed=30; -wave_0_per_point2= -wave_0_per_point3=tm=time*masterspeed*0.1; -wave_0_per_point4=perspective=0.7; -wave_0_per_point5= -wave_0_per_point6= -wave_0_per_point7=//plot x,y shape at z=0 -wave_0_per_point8=smp=sample*6.283; -wave_0_per_point9= -wave_0_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; -wave_0_per_point11= -wave_0_per_point12=xp=sin(smp )*0.65; -wave_0_per_point13=xp=xp*pinch; -wave_0_per_point14=yp=cos(smp )*0.65; -wave_0_per_point15=yp=yp*pinch; -wave_0_per_point16=zp=0; -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19=//rotate on y axis; -wave_0_per_point20=angy=q1*10 + sample*0; -wave_0_per_point21=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point22=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point23=xp=xq; -wave_0_per_point24=zp=zq; -wave_0_per_point25= -wave_0_per_point26=//rotate on x axis -wave_0_per_point27=axs1 = sin(time*0.9) + 1.6; -wave_0_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point30=yp=yq; -wave_0_per_point31=zp=zq; -wave_0_per_point32= -wave_0_per_point33=//rotate on y axis again -wave_0_per_point34=axs2 = sin(time*0.45)*3.3; -wave_0_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point37=xp=xq; -wave_0_per_point38=zp=zq; -wave_0_per_point39= -wave_0_per_point40=//stretch y axis to compensate for aspect ratio -wave_0_per_point41=yp=yp*1.2; -wave_0_per_point42= -wave_0_per_point43=//push forward into viewpace -wave_0_per_point44=zp=zp+2.1; -wave_0_per_point45= -wave_0_per_point46=//project x,y,z into screenspace -wave_0_per_point47=xs=xp/zp; -wave_0_per_point48=ys=yp/zp; -wave_0_per_point49= -wave_0_per_point50=//center 0,0 in middle of screen -wave_0_per_point51=x=xs+0.5; -wave_0_per_point52=y=ys+0.5; -wave_0_per_point53= -wave_0_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); -wave_0_per_point55=r=1.00*dark; -wave_0_per_point56=g=0.32*dark; -wave_0_per_point57=b=0.26*dark; -wave_0_per_point58= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=masterspeed=30; -wave_1_per_point2= -wave_1_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_1_per_point4=perspective=0.7; -wave_1_per_point5= -wave_1_per_point6=//plot x,y,z to point on sphere -wave_1_per_point7=smp=sample*6.283; -wave_1_per_point8= -wave_1_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; -wave_1_per_point10= -wave_1_per_point11=xp=sin(smp )*0.65; -wave_1_per_point12=xp=xp*pinch; -wave_1_per_point13=yp=cos(smp )*0.65; -wave_1_per_point14=yp=yp*pinch; -wave_1_per_point15=zp=0; -wave_1_per_point16= -wave_1_per_point17= -wave_1_per_point18= -wave_1_per_point19=//rotate on y axis; -wave_1_per_point20=angy=time*33; -wave_1_per_point21=angy=q1*10 + sample*0; -wave_1_per_point22=angy=angy+1.5; -wave_1_per_point23=xq=xp*cos(angy) - zp*sin(angy); -wave_1_per_point24=zq=xp*sin(angy) + zp*cos(angy); -wave_1_per_point25=xp=xq; -wave_1_per_point26=zp=zq; -wave_1_per_point27= -wave_1_per_point28=//rotate on x axis -wave_1_per_point29=axs1 = sin(time*0.9) + 1.6; -wave_1_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); -wave_1_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); -wave_1_per_point32=yp=yq; -wave_1_per_point33=zp=zq; -wave_1_per_point34= -wave_1_per_point35=//rotate on y axis again -wave_1_per_point36=axs2 = sin(time*0.45)*3.3; -wave_1_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); -wave_1_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); -wave_1_per_point39=xp=xq; -wave_1_per_point40=zp=zq; -wave_1_per_point41= -wave_1_per_point42=//stretch y axis to compensate for aspect ratio -wave_1_per_point43=yp=yp*1.2; -wave_1_per_point44= -wave_1_per_point45=//push forward into viewpace -wave_1_per_point46=zp=zp+2.1; -wave_1_per_point47= -wave_1_per_point48=//project x,y,z into screenspace -wave_1_per_point49=xs=xp/zp; -wave_1_per_point50=ys=yp/zp; -wave_1_per_point51= -wave_1_per_point52=//center 0,0 in middle of screen -wave_1_per_point53=x=xs+0.5; -wave_1_per_point54=y=ys+0.5; -wave_1_per_point55= -wave_1_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); -wave_1_per_point57=r=1.00*dark; -wave_1_per_point58=g=0.22*dark; -wave_1_per_point59=b=(0.16+(bass*0.1))*dark; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=q8=1.5 -wave_2_per_point1=masterspeed=30; -wave_2_per_point2= -wave_2_per_point3=tm=time*masterspeed*0.1; -wave_2_per_point4=perspective=0.7; -wave_2_per_point5= -wave_2_per_point6= -wave_2_per_point7=//plot x,y shape at z=0 -wave_2_per_point8=smp=sample*6.283; -wave_2_per_point9= -wave_2_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; -wave_2_per_point11= -wave_2_per_point12=xp=sin(smp )*0.65; -wave_2_per_point13=xp=xp*pinch; -wave_2_per_point14=yp=cos(smp )*0.65; -wave_2_per_point15=yp=yp*pinch; -wave_2_per_point16=zp=0; -wave_2_per_point17= -wave_2_per_point18= -wave_2_per_point19=//rotate on y axis; -wave_2_per_point20=angy=q1*10 + sample*0; -wave_2_per_point21=xq=xp*cos(angy) - zp*sin(angy); -wave_2_per_point22=zq=xp*sin(angy) + zp*cos(angy); -wave_2_per_point23=xp=xq; -wave_2_per_point24=zp=zq; -wave_2_per_point25= -wave_2_per_point26=//rotate on x axis -wave_2_per_point27=axs1 = sin(time*0.9) + 1.6; -wave_2_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); -wave_2_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); -wave_2_per_point30=yp=yq; -wave_2_per_point31=zp=zq; -wave_2_per_point32= -wave_2_per_point33=//rotate on y axis again -wave_2_per_point34=axs2 = sin(time*0.45)*3.3; -wave_2_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); -wave_2_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); -wave_2_per_point37=xp=xq; -wave_2_per_point38=zp=zq; -wave_2_per_point39= -wave_2_per_point40=//stretch y axis to compensate for aspect ratio -wave_2_per_point41=yp=yp*1.2; -wave_2_per_point42= -wave_2_per_point43=//push forward into viewpace -wave_2_per_point44=zp=zp+2.1; -wave_2_per_point45= -wave_2_per_point46=//project x,y,z into screenspace -wave_2_per_point47=xs=xp/zp; -wave_2_per_point48=ys=yp/zp; -wave_2_per_point49= -wave_2_per_point50=//center 0,0 in middle of screen -wave_2_per_point51=x=(-1*xs)+0.5; -wave_2_per_point52=y=ys+0.5; -wave_2_per_point53= -wave_2_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); -wave_2_per_point55=r=1.00*dark; -wave_2_per_point56=g=0.32*dark; -wave_2_per_point57=b=0.36*dark; -wave_2_per_point58= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=masterspeed=30; -wave_3_per_point2= -wave_3_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_3_per_point4=perspective=0.7; -wave_3_per_point5= -wave_3_per_point6=//plot x,y,z to point on sphere -wave_3_per_point7=smp=sample*6.283; -wave_3_per_point8= -wave_3_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; -wave_3_per_point10= -wave_3_per_point11=xp=sin(smp )*0.65; -wave_3_per_point12=xp=xp*pinch; -wave_3_per_point13=yp=cos(smp )*0.65; -wave_3_per_point14=yp=yp*pinch; -wave_3_per_point15=zp=0; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18= -wave_3_per_point19=//rotate on y axis; -wave_3_per_point20=angy=time*33; -wave_3_per_point21=angy=q1*10 + sample*0; -wave_3_per_point22=angy=angy+1.5; -wave_3_per_point23=xq=xp*cos(angy) - zp*sin(angy); -wave_3_per_point24=zq=xp*sin(angy) + zp*cos(angy); -wave_3_per_point25=xp=xq; -wave_3_per_point26=zp=zq; -wave_3_per_point27= -wave_3_per_point28=//rotate on x axis -wave_3_per_point29=axs1 = sin(time*0.9) + 1.6; -wave_3_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); -wave_3_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); -wave_3_per_point32=yp=yq; -wave_3_per_point33=zp=zq; -wave_3_per_point34= -wave_3_per_point35=//rotate on y axis again -wave_3_per_point36=axs2 = sin(time*0.45)*3.3; -wave_3_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); -wave_3_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); -wave_3_per_point39=xp=xq; -wave_3_per_point40=zp=zq; -wave_3_per_point41= -wave_3_per_point42=//stretch y axis to compensate for aspect ratio -wave_3_per_point43=yp=yp*1.2; -wave_3_per_point44= -wave_3_per_point45=//push forward into viewpace -wave_3_per_point46=zp=zp+2.1; -wave_3_per_point47= -wave_3_per_point48=//project x,y,z into screenspace -wave_3_per_point49=xs=xp/zp; -wave_3_per_point50=ys=yp/zp; -wave_3_per_point51= -wave_3_per_point52=//center 0,0 in middle of screen -wave_3_per_point53=x=-xs+0.5; -wave_3_per_point54=y=ys+0.5; -wave_3_per_point55= -wave_3_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); -wave_3_per_point57=r=0.82*dark; -wave_3_per_point58=g=0.02*dark; -wave_3_per_point59=b=0.26*dark; -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.97; -per_frame_2=//zoom=1.008; -per_frame_3=ms=sin(time*0.6)*0.15; -per_frame_4=mss=mss+ms*0.001; -per_frame_5=q1=ms; -per_frame_6= -per_frame_7= -per_frame_8=//rot=sin(time)*0.01; -per_frame_9= -per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; -per_frame_11=dx=0;dy=0 -per_frame_12= -per_frame_13= -per_pixel_1=it = 0.3*sin(time*0.2); -per_pixel_2=radm = rad*0.5; -per_pixel_3=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); -per_pixel_4=mod = sin(ang*5); -per_pixel_5=mod = mod*mod; -per_pixel_6=zoom = -1 + abs(0.01*mod); diff --git a/presets_milkdrop_104/Eo.S.+Phat - Arm_upgrades - transformer.milk b/presets_milkdrop_104/Eo.S.+Phat - Arm_upgrades - transformer.milk deleted file mode 100644 index 0a9af1fd9a..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - Arm_upgrades - transformer.milk +++ /dev/null @@ -1,282 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.001822 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=size=0.165; -wave_0_per_point3= -wave_0_per_point4=x=sin(n)*size + 0.5; -wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point6= -wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_0_per_point8=r=sin(n)*0.5 + 0.5; -wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_0_per_point11=r=r*flux; -wave_0_per_point12=g=g*flux; -wave_0_per_point13=b=b*flux -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=size=0.165; -wave_1_per_point3= -wave_1_per_point4=x=sin(n)*size + 0.5; -wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_1_per_point6= -wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_1_per_point8=r=sin(n)*0.5 + 0.5; -wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_1_per_point11=r=r*flux; -wave_1_per_point12=g=g*flux; -wave_1_per_point13=b=b*flux -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.542785 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=65 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.724343 -shapecode_1_ang=6.283185 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=1.020088 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=//tex_zoom=2.235; -shape_1_per_frame3=x=.5-q4; -shape_1_per_frame4=y=.5-q5; -shape_1_per_frame5= -shape_1_per_frame6=vol= (mid*mid+treb*treb); -shape_1_per_frame7=vol=vol* above(vol,1); -shape_1_per_frame8=//ang=ang+ vol*0.1; -shape_1_per_frame9=ang=(sin(time/2)*0.5+0.5)*6.28; -shapecode_2_enabled=1 -shapecode_2_sides=13 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444840 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.550441 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(44/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.01; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24=q8=musictime; -per_frame_25=zoom=.8; -per_frame_26= -per_frame_27=monitor=rot; -per_frame_28= -per_frame_29= -per_frame_30=musictime=musictime+mid*0.1; -per_frame_31= -per_frame_32=xpos=sin(musictime*0.1)*0.2; -per_frame_33=ypos=cos(musictime*0.1)*0.2; -per_frame_34=q4=xpos; -per_frame_35=q5=ypos diff --git a/presets_milkdrop_104/Eo.S.+Phat - Flare.milk b/presets_milkdrop_104/Eo.S.+Phat - Flare.milk deleted file mode 100644 index b856c22c18..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - Flare.milk +++ /dev/null @@ -1,278 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.001820 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=size=0.165; -wave_0_per_point3= -wave_0_per_point4=x=sin(n)*size + 0.5; -wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point6= -wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_0_per_point8=r=sin(n)*0.5 + 0.5; -wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_0_per_point11=r=r*flux; -wave_0_per_point12=g=g*flux; -wave_0_per_point13=b=b*flux -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=size=0.165; -wave_1_per_point3= -wave_1_per_point4=x=sin(n)*size + 0.5; -wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_1_per_point6= -wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_1_per_point8=r=sin(n)*0.5 + 0.5; -wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_1_per_point11=r=r*flux; -wave_1_per_point12=g=g*flux; -wave_1_per_point13=b=b*flux -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.542785 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=68 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.724343 -shapecode_1_ang=6.283185 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=1.374926 -shapecode_1_r=1.000000 -shapecode_1_g=0.300000 -shapecode_1_b=0.100000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.300000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=//tex_zoom=2.235; -shape_1_per_frame3=x=.5-q4; -shape_1_per_frame4=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=13 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444840 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.550441 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(26/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.01; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24=q8=musictime; -per_frame_25=zoom=.8; -per_frame_26= -per_frame_27=monitor=rot; -per_frame_28= -per_frame_29= -per_frame_30=musictime=musictime+mid*0.1; -per_frame_31= -per_frame_32=xpos=sin(musictime*0.1)*0.2; -per_frame_33=ypos=cos(musictime*0.1)*0.2; -per_frame_34=q4=xpos; -per_frame_35=q5=ypos -per_pixel_1=rot=rad*20+ang; diff --git a/presets_milkdrop_104/Eo.S.+Phat - Flare_dig_mix.milk b/presets_milkdrop_104/Eo.S.+Phat - Flare_dig_mix.milk deleted file mode 100644 index aa33118740..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - Flare_dig_mix.milk +++ /dev/null @@ -1,279 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.630000 -fDecay=0.940000 -fVideoEchoZoom=1.001819 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.155000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=size=0.165; -wave_0_per_point3= -wave_0_per_point4=x=sin(n)*size + 0.5; -wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point6= -wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_0_per_point8=r=sin(n)*0.5 + 0.5; -wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_0_per_point11=r=r*flux; -wave_0_per_point12=g=g*flux; -wave_0_per_point13=b=b*flux -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=size=0.165; -wave_1_per_point3= -wave_1_per_point4=x=sin(n)*size + 0.5; -wave_1_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_1_per_point6= -wave_1_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_1_per_point8=r=sin(n)*0.5 + 0.5; -wave_1_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_1_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_1_per_point11=r=r*flux; -wave_1_per_point12=g=g*flux; -wave_1_per_point13=b=b*flux -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.662300 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=68 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.724343 -shapecode_1_ang=6.283185 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=1.374926 -shapecode_1_r=1.000000 -shapecode_1_g=0.300000 -shapecode_1_b=0.100000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.500000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=//tex_zoom=2.235; -shape_1_per_frame3=x=.5-q4; -shape_1_per_frame4=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=13 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444840 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.166780 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=tex_ang=sin(time); -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.364567 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(26/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.01; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24=q8=musictime; -per_frame_25=zoom=.8; -per_frame_26= -per_frame_27=monitor=rot; -per_frame_28= -per_frame_29= -per_frame_30=musictime=musictime+mid*0.1; -per_frame_31= -per_frame_32=xpos=sin(musictime*0.1)*0.2; -per_frame_33=ypos=cos(musictime*0.1)*0.2; -per_frame_34=q4=xpos; -per_frame_35=q5=ypos -per_pixel_1=rot=rad/(ang+0.1); diff --git a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble field.milk b/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble field.milk deleted file mode 100644 index b7c1c9ed9e..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble field.milk +++ /dev/null @@ -1,274 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.970816 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=size=0.165; -wave_0_per_point3= -wave_0_per_point4=x=sin(n)*size + 0.5; -wave_0_per_point5=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point6= -wave_0_per_point7=flux=sin(n*2-time)*0.5+0.5; -wave_0_per_point8=r=sin(n)*0.5 + 0.5; -wave_0_per_point9=g=sin(n+2.1)*0.5+0.5; -wave_0_per_point10=b=sin(n+4.2)*0.5 + 0.5; -wave_0_per_point11=r=r*flux; -wave_0_per_point12=g=g*flux; -wave_0_per_point13=b=b*flux -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=19 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.028415 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.380914 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.866421 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.347837 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5 + sin(time)*0.003; -shape_1_per_frame3=y=.5 + cos(time*3)*0.003; -shape_1_per_frame4= -shape_1_per_frame5=spl = spl-0.01; -shape_1_per_frame6=spl = if( below(spl,0) , 1 , spl); -shape_1_per_frame7=tex_zoom=1 + (1-spl*spl); -shape_1_per_frame8=a = min( 1, spl*3) -shapecode_2_enabled=1 -shapecode_2_sides=22 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.449289 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=2.216705 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=1.000000 -shape_2_per_frame1=tex_ang=sin(time*0.5); -shape_2_per_frame2=sn=sign(tex_ang); -shape_2_per_frame3=tex_ang = tex_ang*tex_ang*sn*0.5; -shape_2_per_frame4=thick=above(.9,bass); -shape_2_per_frame5=//sides=treb*20; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(60/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=//dx=sin(musictime*0.1)*0.03; -per_frame_20=//dy=cos(musictime*0.069)*0.03; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24=q8=musictime; -per_frame_25= -per_frame_26= -per_frame_27=monitor=rot; -per_frame_28= -per_frame_29=zoom=1; -per_frame_30=dx=0; -per_frame_31=dy=0; -per_frame_32=cx=sin(time*0.25) + 0.5; -per_frame_33=cy=sin(time*0.125) + 0.5; -per_frame_34=sy=0.5 + (sin(time*0.5)*0.5+0.5)*0.25; -per_frame_35=sx=sy*0.95; -per_frame_36=rot=sin(time*0.31)*0.6 diff --git a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk b/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk deleted file mode 100644 index d620c7a0e6..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors WF2 chaos theory_cage.milk +++ /dev/null @@ -1,479 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700000 -fDecay=0.940000 -fVideoEchoZoom=1.970816 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290800 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.100000 -wave_0_per_frame1=t1= sin(time*0.5)*1 -wave_0_per_point1= -wave_0_per_point2=n=sample*6.283; -wave_0_per_point3=size=0.165; -wave_0_per_point4= -wave_0_per_point5=x=sin(n)*size + 0.5; -wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point7= -wave_0_per_point8=f=t1; -wave_0_per_point9=//r=sin(n*3+f)*0.5 + 0.5; -wave_0_per_point10=//g=sin(n*3+f*1.5)*0.5+0.5; -wave_0_per_point11=//b=sin(n*3+f*2.0)*0.5 + 0.5; -wave_0_per_point12=r=0;g=0;b=0 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=t1=1 -wave_1_per_frame1=t2=sin(time*0.5)*0.5+0.5; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=t1=-t1; -wave_1_per_point3= -wave_1_per_point4= -wave_1_per_point5=phs=-sample*0.5; -wave_1_per_point6= -wave_1_per_point7= -wave_1_per_point8=xp=t1*sample*0.05; -wave_1_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; -wave_1_per_point10=yp=0; -wave_1_per_point11=zp=1; -wave_1_per_point12= -wave_1_per_point13=tm=q8*0.65; -wave_1_per_point14= -wave_1_per_point15=ang=(tm+phs*0.8)*8; -wave_1_per_point16=sang=sin(ang);cang=cos(ang); -wave_1_per_point17=xq=xp; -wave_1_per_point18=yq=yp*sang + zp*cang; -wave_1_per_point19=zq=yp*cang - zp*sang; -wave_1_per_point20=xp=xq;yp=yq;zp=zq; -wave_1_per_point21= -wave_1_per_point22=ang=(tm+phs)*0.2; -wave_1_per_point23=sang=sin(ang);cang=cos(ang); -wave_1_per_point24=xq=xp*sang + yp*cang; -wave_1_per_point25=yq=xp*cang - yp*sang; -wave_1_per_point26=zq=zp; -wave_1_per_point27=xp=xq;yp=yq;zp=zq; -wave_1_per_point28= -wave_1_per_point29=ang=(tm+phs)*0.37; -wave_1_per_point30=sang=sin(ang);cang=cos(ang); -wave_1_per_point31=xq=xp*sang + zp*cang; -wave_1_per_point32=yq=yp; -wave_1_per_point33=zq=xp*cang - zp*sang; -wave_1_per_point34=xp=xq;yp=yq;zp=zq; -wave_1_per_point35= -wave_1_per_point36= -wave_1_per_point37=backside = above(zp,0); -wave_1_per_point38= -wave_1_per_point39=zp=zp+2.5; -wave_1_per_point40=x=xp/zp+0.5; -wave_1_per_point41=y=yp/zp*1.33+0.5; -wave_1_per_point42= -wave_1_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); -wave_1_per_point44= -wave_1_per_point45=backside=backside*below(rd,0.645); -wave_1_per_point46=kill=1-backside; -wave_1_per_point47= -wave_1_per_point48=rs=sample; -wave_1_per_point49=rr=(rs-int(rs))*2; -wave_1_per_point50=rr=if( above(rr,1) , 1-rr , rr ); -wave_1_per_point51=r=min(rr,1)*above(rr,0); -wave_1_per_point52= -wave_1_per_point53=gs=sample*1.1; -wave_1_per_point54=gg=(gs-int(gs))*2; -wave_1_per_point55=gg=if( above(gg,1) , 1-gg , gg ); -wave_1_per_point56=g=min(gg,1)*above(gg,0); -wave_1_per_point57= -wave_1_per_point58=bs=sample*1.2; -wave_1_per_point59=bb=(bs-int(bs))*2; -wave_1_per_point60=bb=if( above(bb,1) , 1-bb , bb ); -wave_1_per_point61=b=min(bb,1)*above(bb,0); -wave_1_per_point62= -wave_1_per_point63=r=1-sample; -wave_1_per_point64=g=r*r; -wave_1_per_point65=b=sample*0.5; -wave_1_per_point66=a=min( (1-sample)*8 , 1)*kill -wave_1_per_point67= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=t1=1 -wave_2_per_frame1=t2=sin(time*0.5)*0.5+0.5; -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=t1=-t1; -wave_2_per_point3= -wave_2_per_point4= -wave_2_per_point5=phs=-sample*0.5+0.0006; -wave_2_per_point6= -wave_2_per_point7= -wave_2_per_point8=xp=t1*sample*0.05; -wave_2_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; -wave_2_per_point10=yp=0; -wave_2_per_point11=zp=1; -wave_2_per_point12= -wave_2_per_point13=tm=q8*0.65; -wave_2_per_point14= -wave_2_per_point15=ang=(tm+phs*0.8)*7; -wave_2_per_point16=sang=sin(ang);cang=cos(ang); -wave_2_per_point17=xq=xp; -wave_2_per_point18=yq=yp*sang + zp*cang; -wave_2_per_point19=zq=yp*cang - zp*sang; -wave_2_per_point20=xp=xq;yp=yq;zp=zq; -wave_2_per_point21= -wave_2_per_point22=ang=(tm+phs)*0.24; -wave_2_per_point23=sang=sin(ang);cang=cos(ang); -wave_2_per_point24=xq=xp*sang + yp*cang; -wave_2_per_point25=yq=xp*cang - yp*sang; -wave_2_per_point26=zq=zp; -wave_2_per_point27=xp=xq;yp=yq;zp=zq; -wave_2_per_point28= -wave_2_per_point29=ang=(tm+phs)*0.31; -wave_2_per_point30=sang=sin(ang);cang=cos(ang); -wave_2_per_point31=xq=xp*sang + zp*cang; -wave_2_per_point32=yq=yp; -wave_2_per_point33=zq=xp*cang - zp*sang; -wave_2_per_point34=xp=xq;yp=yq;zp=zq; -wave_2_per_point35= -wave_2_per_point36= -wave_2_per_point37=backside = above(zp,0); -wave_2_per_point38= -wave_2_per_point39=zp=zp+2.5; -wave_2_per_point40=x=xp/zp+0.5; -wave_2_per_point41=y=yp/zp*1.33+0.5; -wave_2_per_point42= -wave_2_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); -wave_2_per_point44= -wave_2_per_point45=backside=backside*below(rd,0.645); -wave_2_per_point46=kill=1-backside; -wave_2_per_point47= -wave_2_per_point48=rs=sample; -wave_2_per_point49=rr=(rs-int(rs))*2; -wave_2_per_point50=rr=if( above(rr,1) , 1-rr , rr ); -wave_2_per_point51=r=min(rr,1)*above(rr,0); -wave_2_per_point52= -wave_2_per_point53=gs=sample*1.1; -wave_2_per_point54=gg=(gs-int(gs))*2; -wave_2_per_point55=gg=if( above(gg,1) , 1-gg , gg ); -wave_2_per_point56=g=min(gg,1)*above(gg,0); -wave_2_per_point57= -wave_2_per_point58=bs=sample*1.2; -wave_2_per_point59=bb=(bs-int(bs))*2; -wave_2_per_point60=bb=if( above(bb,1) , 1-bb , bb ); -wave_2_per_point61=b=min(bb,1)*above(bb,0); -wave_2_per_point62= -wave_2_per_point63=r=1-sample; -wave_2_per_point64=g=r*r; -wave_2_per_point65=b=sample*0.5; -wave_2_per_point66= -wave_2_per_point67=a=min( (1-sample)*8 , 1)*kill -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_init1=t1=-1 -wave_3_per_frame1=t2=sin(time*0.5)*0.5+0.5; -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=t1=-t1; -wave_3_per_point3= -wave_3_per_point4= -wave_3_per_point5=phs=-sample*0.5; -wave_3_per_point6= -wave_3_per_point7= -wave_3_per_point8=xp=t1*sample*0.05; -wave_3_per_point9=//xp=sin(n*(t2+0.1)*128 + phs)*0.05*sample; -wave_3_per_point10=yp=0; -wave_3_per_point11=zp=1; -wave_3_per_point12= -wave_3_per_point13=tm=q8*0.65; -wave_3_per_point14= -wave_3_per_point15=ang=(tm+phs*0.8)*9; -wave_3_per_point16=sang=sin(ang);cang=cos(ang); -wave_3_per_point17=xq=xp; -wave_3_per_point18=yq=yp*sang + zp*cang; -wave_3_per_point19=zq=yp*cang - zp*sang; -wave_3_per_point20=xp=xq;yp=yq;zp=zq; -wave_3_per_point21= -wave_3_per_point22=ang=(tm+phs)*0.34; -wave_3_per_point23=sang=sin(ang);cang=cos(ang); -wave_3_per_point24=xq=xp*sang + yp*cang; -wave_3_per_point25=yq=xp*cang - yp*sang; -wave_3_per_point26=zq=zp; -wave_3_per_point27=xp=xq;yp=yq;zp=zq; -wave_3_per_point28= -wave_3_per_point29=ang=(tm+phs)*0.27; -wave_3_per_point30=sang=sin(ang);cang=cos(ang); -wave_3_per_point31=xq=xp*sang + zp*cang; -wave_3_per_point32=yq=yp; -wave_3_per_point33=zq=xp*cang - zp*sang; -wave_3_per_point34=xp=xq;yp=yq;zp=zq; -wave_3_per_point35= -wave_3_per_point36= -wave_3_per_point37=backside = above(zp,0); -wave_3_per_point38= -wave_3_per_point39=zp=zp+2.5; -wave_3_per_point40=x=xp/zp+0.5; -wave_3_per_point41=y=yp/zp*1.33+0.5; -wave_3_per_point42= -wave_3_per_point43=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); -wave_3_per_point44= -wave_3_per_point45=backside=backside*below(rd,0.645); -wave_3_per_point46=kill=1-backside; -wave_3_per_point47= -wave_3_per_point48=rs=sample; -wave_3_per_point49=rr=(rs-int(rs))*2; -wave_3_per_point50=rr=if( above(rr,1) , 1-rr , rr ); -wave_3_per_point51=r=min(rr,1)*above(rr,0); -wave_3_per_point52= -wave_3_per_point53=gs=sample*1.1; -wave_3_per_point54=gg=(gs-int(gs))*2; -wave_3_per_point55=gg=if( above(gg,1) , 1-gg , gg ); -wave_3_per_point56=g=min(gg,1)*above(gg,0); -wave_3_per_point57= -wave_3_per_point58=bs=sample*1.2; -wave_3_per_point59=bb=(bs-int(bs))*2; -wave_3_per_point60=bb=if( above(bb,1) , 1-bb , bb ); -wave_3_per_point61=b=min(bb,1)*above(bb,0); -wave_3_per_point62= -wave_3_per_point63=r=1-sample; -wave_3_per_point64=g=r*r; -wave_3_per_point65=b=sample*0.5; -wave_3_per_point66=a=min( (1-sample)*8 , 1)*kill -shapecode_0_enabled=0 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.049831 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=34 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.866421 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.705905 -shapecode_1_r=0.200000 -shapecode_1_g=0.200000 -shapecode_1_b=0.800000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.300000 -shapecode_1_g2=0.300000 -shapecode_1_b2=0.300000 -shapecode_1_a2=0.100000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=//tex_zoom=2.235; -shape_1_per_frame3=x=.5-q4; -shape_1_per_frame4=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=18 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444841 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.999993 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=tex_ang=time; -shape_2_per_frame2=thick=above(.9,bass); -shape_2_per_frame3=//sides=treb*20; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=0.96; -per_frame_2= -per_frame_3=vol= (mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol; -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.03; -per_frame_20=dy=cos(musictime*0.069)*0.03; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24= -per_frame_25=q8=musictime*0.1; -per_frame_26= -per_frame_27= -per_frame_28=monitor=rot; -per_pixel_1=warp=rad; -per_pixel_2= -per_pixel_3=rd=sqrt( sqr( (x-0.5)*2) + sqr( (y-0.5)*1.5 ) ); -per_pixel_4= -per_pixel_5=backside=(rd-0.645)*3; -per_pixel_6=backside=min(backside,1); -per_pixel_7=//backside=backside*backside; -per_pixel_8=dx=dx*backside; -per_pixel_9=dy=dy*backside; -per_pixel_10=warp=warp*backside; -per_pixel_11=zoom=1 + 13.291 * pow(min(backside*0.2,1) , 2 ) -per_pixel_12= -per_pixel_13= diff --git a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors_v2.milk b/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors_v2.milk deleted file mode 100644 index fdb75574bd..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat - spectrum bubble new colors_v2.milk +++ /dev/null @@ -1,276 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.970816 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1= sin(time*0.5)*1 -wave_0_per_point1= -wave_0_per_point2=n=sample*6.283; -wave_0_per_point3=size=0.165; -wave_0_per_point4= -wave_0_per_point5=x=sin(n)*size + 0.5; -wave_0_per_point6=y=cos(n)*size*1.3333 + 0.5; -wave_0_per_point7= -wave_0_per_point8=f=t1; -wave_0_per_point9=r=sin(n*3+f)*0.5 + 0.5; -wave_0_per_point10=g=sin(n*3+f*1.5)*0.5+0.5; -wave_0_per_point11=b=sin(n*3+f*2.0)*0.5 + 0.5; -wave_0_per_point12=//r=r*flux; -wave_0_per_point13=//g=g*flux; -wave_0_per_point14=//b=b*flux -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=flip=-flip; -wave_1_per_point3= -wave_1_per_point4=xp=0; -wave_1_per_point5=yp=0; -wave_1_per_point6=zp=0; -wave_1_per_point7= -wave_1_per_point8= -wave_1_per_point9= -wave_1_per_point10= -wave_1_per_point11=zp=zp+2.1; -wave_1_per_point12=x=xp/zp+0.5; -wave_1_per_point13=y=yp/zp*1.33+0.5; -wave_1_per_point14=r=1;g=1;b=1; -wave_1_per_point15=a=1; -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.049831 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.866400 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.160960 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=//tex_zoom=2.235; -shape_1_per_frame3=x=.5-q4; -shape_1_per_frame4=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=8 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444841 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.999996 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=tex_ang=time; -shape_2_per_frame2=thick=above(.9,bass); -shape_2_per_frame3=//sides=treb*20; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(75/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//q4=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.03; -per_frame_20=dy=cos(musictime*0.069)*0.03; -per_frame_21=q1=sin(musictime*0.001)*0.4+0.5; -per_frame_22=q2=cos(musictime*0.001)*0.5+0.5; -per_frame_23= -per_frame_24=q8=musictime; -per_frame_25= -per_frame_26= -per_frame_27=monitor=rot; diff --git a/presets_milkdrop_104/Eo.S.+Phat Cool Bug v2 + (Krash's beat detection).milk b/presets_milkdrop_104/Eo.S.+Phat Cool Bug v2 + (Krash's beat detection).milk deleted file mode 100644 index adb7467e74..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Cool Bug v2 + (Krash's beat detection).milk +++ /dev/null @@ -1,261 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shape_1_per_frame3=ang = time/5 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol*(75/fps); -per_frame_16= -per_frame_17=q4=sin(musictime*0.02)*0.3; -per_frame_18=q5=sin(musictime*0.01)*0.3; -per_frame_19= -per_frame_20=dx=sin(musictime*0.1)*0.01; -per_frame_21=dy=cos(musictime*0.069)*0.01; -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=monitor=rot; -per_frame_27= -per_frame_28= -per_frame_29= -per_frame_30=//krash's beat detection code -per_frame_31=volume = 0.3*(bass+mid+att); -per_frame_32=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_33=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_34=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_35=peakbass_att = max(bass_att,peakbass_att); -per_frame_36=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_37=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_38=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_39=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_40=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_41=beatcounter = beatcounter + beat; -per_frame_42=mode = if(beat*equal(beatcounter%2,0),1-mode,mode); -per_frame_43=flip = 2*mode-1; -per_frame_44=flip = flip*0.5+0.5; -per_frame_45= -per_frame_46=rot = -time/4 * flip; -per_frame_47= diff --git a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - light in the distance.milk b/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - light in the distance.milk deleted file mode 100644 index f195a699fd..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - light in the distance.milk +++ /dev/null @@ -1,255 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.597148 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shape_0_per_frame2=a=bass_att+mid_att+treb_att; -shape_0_per_frame3=a=a*0.25; -shape_0_per_frame4=a=a*a*1.5; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=1; -per_frame_14= -per_frame_15=musictime=musictime+vol*(75/fps); -per_frame_16= -per_frame_17=//=sin(musictime*0.02)*0.3; -per_frame_18=//q5=sin(musictime*0.01)*0.3; -per_frame_19= -per_frame_20=dx=sin(musictime*0.1)*0.07; -per_frame_21=dy=cos(musictime*0.069)*0.07; -per_frame_22= -per_frame_23=q8=musictime; -per_frame_24= -per_frame_25= -per_frame_26=q4=sin(musictime*0.03*0.5)*0.1; -per_frame_27=q5=cos(musictime*0.03*2)*0.1; -per_frame_28= -per_frame_29=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zm=pow(rd,sin(q8*0.02)+2.5)*2; -per_pixel_6=zm=max(zm,0.5); -per_pixel_7=sx=zm; -per_pixel_8=sy=zm diff --git a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate B.milk b/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate B.milk deleted file mode 100644 index 9d7e9fdbd4..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate B.milk +++ /dev/null @@ -1,250 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.597148 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030299 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol*(45/fps); -per_frame_16= -per_frame_17=q4=0; -per_frame_18=q5=0; -per_frame_19=//=sin(musictime*0.02)*0.3; -per_frame_20=//q5=sin(musictime*0.01)*0.3; -per_frame_21= -per_frame_22=dx=sin(musictime*0.1)*0.07; -per_frame_23=dy=cos(musictime*0.069)*0.07; -per_frame_24= -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=pow(rd,sin(time)+2.5)*2.0; -per_pixel_6=zoom=max(zoom,0.1) -per_pixel_7= diff --git a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate nubsy_pointer.milk b/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate nubsy_pointer.milk deleted file mode 100644 index 33a263669a..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer - pulsate nubsy_pointer.milk +++ /dev/null @@ -1,245 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.970816 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.244862 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol*(55/fps); -per_frame_13= -per_frame_14=q4=0; -per_frame_15=q5=0; -per_frame_16=//=sin(musictime*0.02)*0.3; -per_frame_17=//q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.07; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=-1*pow(rd,sin(time)+3.5)*3.5 + .5; diff --git a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer.milk b/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer.milk deleted file mode 100644 index 845faa4523..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Fractical_dancer.milk +++ /dev/null @@ -1,248 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.597148 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol*(52/fps); -per_frame_16= -per_frame_17=q4=0; -per_frame_18=q5=0; -per_frame_19=//=sin(musictime*0.02)*0.3; -per_frame_20=//q5=sin(musictime*0.01)*0.3; -per_frame_21= -per_frame_22=dx=sin(musictime*0.1)*0.07; -per_frame_23=dy=cos(musictime*0.069)*0.07; -per_frame_24= -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=(rd*rd)*2; diff --git a/presets_milkdrop_104/Eo.S.+Phat Non-eucliden.milk b/presets_milkdrop_104/Eo.S.+Phat Non-eucliden.milk deleted file mode 100644 index 51440ea609..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Non-eucliden.milk +++ /dev/null @@ -1,247 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.011202 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=34 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.027430 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=tex_ang=0.01; -shape_2_per_frame2=x=.4-q4; -shape_2_per_frame3=y=.5-q5; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=1; -per_frame_14= -per_frame_15=musictime=musictime+vol*(50/fps); -per_frame_16=q4=sin(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.01; -per_frame_20=dy=cos(musictime*0.069)*0.01; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=rd*((rad*0.5)+(0.2))*1.01; diff --git a/presets_milkdrop_104/Eo.S.+Phat Quadrent_fractal.milk b/presets_milkdrop_104/Eo.S.+Phat Quadrent_fractal.milk deleted file mode 100644 index 19a2b7e74d..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Quadrent_fractal.milk +++ /dev/null @@ -1,246 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.597148 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.369710 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol*(40/fps); -per_frame_16= -per_frame_17=q4=sin(musictime*0.02)*0.3; -per_frame_18=q5=sin(musictime*0.01)*0.3; -per_frame_19= -per_frame_20=dx=sin(musictime*0.1)*0.07; -per_frame_21=dy=cos(musictime*0.069)*0.07; -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=(rd*rd)*((2.5+(bass*0.2))-rd-rd-rd); diff --git a/presets_milkdrop_104/Eo.S.+Phat Speak with the orb_more_colour_mix.milk b/presets_milkdrop_104/Eo.S.+Phat Speak with the orb_more_colour_mix.milk deleted file mode 100644 index 9ee15faa5c..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Speak with the orb_more_colour_mix.milk +++ /dev/null @@ -1,253 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shape_0_per_frame2=a=above(treb_att,0.5); -shape_0_per_frame3=r2=sin(time*1.23); -shape_0_per_frame4=g2=cos(time*2.34); -shape_0_per_frame5=b2=sin(time*2.34); -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.45; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*3.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9=mv_b = 0.5+0.4*sin(2.332*time); -per_frame_10=mv_a = vol*0.2; -per_frame_11=//ib_r = 0.5 + 0.25*sin(time*1.424); -per_frame_12=//ib_g = 0.25 + 0.25*cos(time*1.871); -per_frame_13=//ib_b = 1-ob_b; -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=zoom=.9; -per_frame_18= -per_frame_19=musictime=musictime+vol*(75/fps); -per_frame_20=q4=sin(musictime*0.02)*0.3; -per_frame_21=q5=sin(musictime*0.01)*0.3; -per_frame_22= -per_frame_23=dx=sin(musictime*0.1)*0.01; -per_frame_24=dy=cos(musictime*0.069)*0.01; -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28= -per_frame_29=monitor=rot; -per_pixel_1= -per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_3=cx=0.5+q4; -per_pixel_4=cy=0.5-q5; -per_pixel_5=zm =-5.5*log(sqrt(2)-rd) -0.24; -per_pixel_6=zm = max(abs(zm),.99) * sign(zm); -per_pixel_7=sx=zm;sy=zm diff --git a/presets_milkdrop_104/Eo.S.+Phat Target_practice.milk b/presets_milkdrop_104/Eo.S.+Phat Target_practice.milk deleted file mode 100644 index 1ae2f8b4e9..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat Target_practice.milk +++ /dev/null @@ -1,244 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol*(75/fps); -per_frame_16=q4=sin(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.07; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=rd*1.01; diff --git a/presets_milkdrop_104/Eo.S.+Phat detached centerpoint_made_for_highest_texture_size.milk b/presets_milkdrop_104/Eo.S.+Phat detached centerpoint_made_for_highest_texture_size.milk deleted file mode 100644 index 55e5e685d3..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat detached centerpoint_made_for_highest_texture_size.milk +++ /dev/null @@ -1,241 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.020000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.020000 -ib_r=0.950000 -ib_g=0.850000 -ib_b=0.650000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=0.9; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.25; -per_frame_4=vol=vol*vol; -per_frame_5= -per_frame_6= -per_frame_7=ob_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=ob_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9=ob_b = 0.5+0.4*sin(2.332*time); -per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); -per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); -per_frame_12=ib_b = 1-ob_b; -per_frame_13= -per_frame_14=monitor=yspeed; -per_frame_15= -per_frame_16=zoom=1; -per_frame_17= -per_frame_18=musictime=musictime+vol*(45/fps); -per_frame_19=q4=sin(musictime*0.02)*0.3; -per_frame_20=q5=sin(musictime*0.01)*0.3; -per_frame_21= -per_frame_22=dx=sin(musictime*0.1)*0.1; -per_frame_23=dy=cos(musictime*0.069)*0.1; -per_pixel_1= -per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_3=cx=0.5+q4; -per_pixel_4=cy=0.5-q5; -per_pixel_5= -per_pixel_6=zm = log(sqrt(2)-rd) -0.24; -per_pixel_7=zm = max(abs(zm),0.25) * sign(zm); -per_pixel_8=sx=zm;sy=zm diff --git a/presets_milkdrop_104/Eo.S.+Phat detached starpoint_Circle_mix.milk b/presets_milkdrop_104/Eo.S.+Phat detached starpoint_Circle_mix.milk deleted file mode 100644 index 23c81c2e80..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat detached starpoint_Circle_mix.milk +++ /dev/null @@ -1,242 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.15; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11=musictime=musictime+vol*(55/fps); -per_frame_12=q4=sin(musictime*0.02)*0.3; -per_frame_13=q5=sin(musictime*0.01)*0.3; -per_frame_14= -per_frame_15=dx=sin(musictime*0.1)*0.01; -per_frame_16=dy=cos(musictime*0.069)*0.01; -per_frame_17= -per_frame_18= -per_frame_19= -per_frame_20= -per_frame_21=monitor=rot; -per_pixel_1= -per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_3=cx=0.5+q4; -per_pixel_4=cy=0.5-q5; -per_pixel_5=zoom=1.3-rd; -per_pixel_6=zm =-2.5*log(sqrt(2)-rd) -0.24; -per_pixel_7=zm = max(abs(zm),.99) * sign(zm); -per_pixel_8=sx=zm;sy=zm diff --git a/presets_milkdrop_104/Eo.S.+Phat last of it's kind_jungle_flower_v2.milk b/presets_milkdrop_104/Eo.S.+Phat last of it's kind_jungle_flower_v2.milk deleted file mode 100644 index d638a56382..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat last of it's kind_jungle_flower_v2.milk +++ /dev/null @@ -1,251 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.220185 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.190000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shape_0_per_frame2=r2=sin(time*1.23); -shape_0_per_frame3=g2=cos(time*2.34); -shape_0_per_frame4=b2=sin(time*2.34); -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.011202 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=34 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.491386 -shapecode_2_ang=5.654867 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=5.995790 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x=.5+q4;y=.5+q5; -shape_2_per_frame2=tex_ang=(cos(time)*0.5+0.5)*6.4; -shape_2_per_frame3=tex_zoom=bass*2; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=1; -per_frame_14= -per_frame_15=musictime=musictime+vol*(40/fps); -per_frame_16=q4=sin(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.01; -per_frame_20=dy=cos(musictime*0.069)*0.01; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; -per_pixel_6=zoom=sin(rd/3+0.01)+tan(rad/10+0.01)/(rd/rad); diff --git a/presets_milkdrop_104/Eo.S.+Phat last of it's kind_sinking.milk b/presets_milkdrop_104/Eo.S.+Phat last of it's kind_sinking.milk deleted file mode 100644 index 717f83b724..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat last of it's kind_sinking.milk +++ /dev/null @@ -1,248 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.999996 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.105000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.011202 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=34 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.027430 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=tex_ang=0.01; -shape_2_per_frame2=x=.4-q4; -shape_2_per_frame3=y=.5-q5; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.95; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=1; -per_frame_14= -per_frame_15=musictime=musictime+vol*(35/fps); -per_frame_16=q4=cos(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=//dx=tan(musictime*0.1)*0.2; -per_frame_20=dy=(musictime*0.119)*0.2; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=//zoom=rd*((rad*0.5)+(0.2))*1.01; -per_pixel_6=zoom=tan(rd/5+0.01)+tan(rad/20+0.01)/(rd/rad); diff --git a/presets_milkdrop_104/Eo.S.+Phat_whole_lota_tilein'_goin'_on_v4.milk b/presets_milkdrop_104/Eo.S.+Phat_whole_lota_tilein'_goin'_on_v4.milk deleted file mode 100644 index db50782e90..0000000000 --- a/presets_milkdrop_104/Eo.S.+Phat_whole_lota_tilein'_goin'_on_v4.milk +++ /dev/null @@ -1,246 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=7.315900 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.090528 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9=//ob_b = 0.5+0.4*sin(2.332*time); -per_frame_10=ib_r = 0.5 + 0.25*sin(time*1.424); -per_frame_11=ib_g = 0.25 + 0.25*cos(time*1.871); -per_frame_12=//ib_b = 1-ob_b; -per_frame_13= -per_frame_14=zoom=.1; -per_frame_15= -per_frame_16=musictime=musictime+vol; -per_frame_17=q4=sin(musictime*0.02)*0.3; -per_frame_18=q5=sin(musictime*0.01)*0.3; -per_frame_19= -per_frame_20=dx=sin(musictime*0.1)*0.01; -per_frame_21=dy=cos(musictime*0.069)*0.01; -per_frame_22= -per_frame_23=echo_zoom=((sin(time/5)*0.5+0.5)*6)+1; -per_frame_24= -per_frame_25= -per_frame_26=monitor=rot; -per_pixel_1= -per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) ); -per_pixel_3=cx=0.5+q4; -per_pixel_4=cy=0.5-q5; -per_pixel_5=zm =-1.5*log(sqrt(2)-rd) -5.54; -per_pixel_6=zm = max(abs(zm),.99) * sign(zm); -per_pixel_7=sx=zm;sy=zm diff --git a/presets_milkdrop_104/Eo.S._Phat Whale_soul-monitor danger - music.milk b/presets_milkdrop_104/Eo.S._Phat Whale_soul-monitor danger - music.milk deleted file mode 100644 index 1ca20044cd..0000000000 --- a/presets_milkdrop_104/Eo.S._Phat Whale_soul-monitor danger - music.milk +++ /dev/null @@ -1,486 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700001 -fDecay=0.960000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010000 -fWarpScale=0.120321 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.080814 -sx=1.020100 -sy=1.020100 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=1.000000 -nMotionVectorsX=24.159897 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.040000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=q8=1.5 -wave_0_per_point1=masterspeed=30; -wave_0_per_point2= -wave_0_per_point3=tm=time*masterspeed*0.1; -wave_0_per_point4=perspective=0.7; -wave_0_per_point5= -wave_0_per_point6= -wave_0_per_point7=//plot x,y shape at z=0 -wave_0_per_point8=smp=sample*6.283; -wave_0_per_point9= -wave_0_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; -wave_0_per_point11= -wave_0_per_point12=xp=sin(smp )*0.65; -wave_0_per_point13=xp=xp*pinch; -wave_0_per_point14=yp=cos(smp )*0.65; -wave_0_per_point15=yp=yp*pinch; -wave_0_per_point16=zp=0; -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19=//rotate on y axis; -wave_0_per_point20=angy=q1*10 + sample*0; -wave_0_per_point21=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point22=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point23=xp=xq; -wave_0_per_point24=zp=zq; -wave_0_per_point25= -wave_0_per_point26=//rotate on x axis -wave_0_per_point27=axs1 = sin(time*0.9) + 1.6; -wave_0_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point30=yp=yq; -wave_0_per_point31=zp=zq; -wave_0_per_point32= -wave_0_per_point33=//rotate on y axis again -wave_0_per_point34=axs2 = sin(time*0.45)*3.3; -wave_0_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point37=xp=xq; -wave_0_per_point38=zp=zq; -wave_0_per_point39= -wave_0_per_point40=//stretch y axis to compensate for aspect ratio -wave_0_per_point41=yp=yp*1.2; -wave_0_per_point42= -wave_0_per_point43=//push forward into viewpace -wave_0_per_point44=zp=zp+2.1; -wave_0_per_point45= -wave_0_per_point46=//project x,y,z into screenspace -wave_0_per_point47=xs=xp/zp; -wave_0_per_point48=ys=yp/zp; -wave_0_per_point49= -wave_0_per_point50=//center 0,0 in middle of screen -wave_0_per_point51=x=xs+0.5; -wave_0_per_point52=y=ys+0.5; -wave_0_per_point53= -wave_0_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); -wave_0_per_point55=r=1.00*dark; -wave_0_per_point56=g=0.32*dark; -wave_0_per_point57=b=0.26*dark; -wave_0_per_point58= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=masterspeed=30; -wave_1_per_point2= -wave_1_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_1_per_point4=perspective=0.7; -wave_1_per_point5= -wave_1_per_point6=//plot x,y,z to point on sphere -wave_1_per_point7=smp=sample*6.283; -wave_1_per_point8= -wave_1_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; -wave_1_per_point10= -wave_1_per_point11=xp=sin(smp )*0.65; -wave_1_per_point12=xp=xp*pinch; -wave_1_per_point13=yp=cos(smp )*0.65; -wave_1_per_point14=yp=yp*pinch; -wave_1_per_point15=zp=0; -wave_1_per_point16= -wave_1_per_point17= -wave_1_per_point18= -wave_1_per_point19=//rotate on y axis; -wave_1_per_point20=angy=time*33; -wave_1_per_point21=angy=q1*10 + sample*0; -wave_1_per_point22=angy=angy+1.5; -wave_1_per_point23=xq=xp*cos(angy) - zp*sin(angy); -wave_1_per_point24=zq=xp*sin(angy) + zp*cos(angy); -wave_1_per_point25=xp=xq; -wave_1_per_point26=zp=zq; -wave_1_per_point27= -wave_1_per_point28=//rotate on x axis -wave_1_per_point29=axs1 = sin(time*0.9) + 1.6; -wave_1_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); -wave_1_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); -wave_1_per_point32=yp=yq; -wave_1_per_point33=zp=zq; -wave_1_per_point34= -wave_1_per_point35=//rotate on y axis again -wave_1_per_point36=axs2 = sin(time*0.45)*3.3; -wave_1_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); -wave_1_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); -wave_1_per_point39=xp=xq; -wave_1_per_point40=zp=zq; -wave_1_per_point41= -wave_1_per_point42=//stretch y axis to compensate for aspect ratio -wave_1_per_point43=yp=yp*1.2; -wave_1_per_point44= -wave_1_per_point45=//push forward into viewpace -wave_1_per_point46=zp=zp+2.1; -wave_1_per_point47= -wave_1_per_point48=//project x,y,z into screenspace -wave_1_per_point49=xs=xp/zp; -wave_1_per_point50=ys=yp/zp; -wave_1_per_point51= -wave_1_per_point52=//center 0,0 in middle of screen -wave_1_per_point53=x=xs+0.5; -wave_1_per_point54=y=ys+0.5; -wave_1_per_point55= -wave_1_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); -wave_1_per_point57=r=1.00*dark; -wave_1_per_point58=g=0.22*dark; -wave_1_per_point59=b=(0.16+(bass*0.1))*dark; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=q8=1.5 -wave_2_per_point1=masterspeed=30; -wave_2_per_point2= -wave_2_per_point3=tm=time*masterspeed*0.1; -wave_2_per_point4=perspective=0.7; -wave_2_per_point5= -wave_2_per_point6= -wave_2_per_point7=//plot x,y shape at z=0 -wave_2_per_point8=smp=sample*6.283; -wave_2_per_point9= -wave_2_per_point10=pinch=sin(smp*6 + 1.5)*0.3 + 0.7; -wave_2_per_point11= -wave_2_per_point12=xp=sin(smp )*0.65; -wave_2_per_point13=xp=xp*pinch; -wave_2_per_point14=yp=cos(smp )*0.65; -wave_2_per_point15=yp=yp*pinch; -wave_2_per_point16=zp=0; -wave_2_per_point17= -wave_2_per_point18= -wave_2_per_point19=//rotate on y axis; -wave_2_per_point20=angy=q1*10 + sample*0; -wave_2_per_point21=xq=xp*cos(angy) - zp*sin(angy); -wave_2_per_point22=zq=xp*sin(angy) + zp*cos(angy); -wave_2_per_point23=xp=xq; -wave_2_per_point24=zp=zq; -wave_2_per_point25= -wave_2_per_point26=//rotate on x axis -wave_2_per_point27=axs1 = sin(time*0.9) + 1.6; -wave_2_per_point28=yq= yp*cos(axs1) - zp*sin(axs1); -wave_2_per_point29=zq= yp*sin(axs1) + zp*cos(axs1); -wave_2_per_point30=yp=yq; -wave_2_per_point31=zp=zq; -wave_2_per_point32= -wave_2_per_point33=//rotate on y axis again -wave_2_per_point34=axs2 = sin(time*0.45)*3.3; -wave_2_per_point35=xq=xp*cos(axs2) - zp*sin(axs2); -wave_2_per_point36=zq=xp*sin(axs2) + zp*cos(axs2); -wave_2_per_point37=xp=xq; -wave_2_per_point38=zp=zq; -wave_2_per_point39= -wave_2_per_point40=//stretch y axis to compensate for aspect ratio -wave_2_per_point41=yp=yp*1.2; -wave_2_per_point42= -wave_2_per_point43=//push forward into viewpace -wave_2_per_point44=zp=zp+2.1; -wave_2_per_point45= -wave_2_per_point46=//project x,y,z into screenspace -wave_2_per_point47=xs=xp/zp; -wave_2_per_point48=ys=yp/zp; -wave_2_per_point49= -wave_2_per_point50=//center 0,0 in middle of screen -wave_2_per_point51=x=(-1*xs)+0.5; -wave_2_per_point52=y=ys+0.5; -wave_2_per_point53= -wave_2_per_point54=dark=1 - (cos(smp*6 + 1.5)*0.5 + 0.5); -wave_2_per_point55=r=1.00*dark; -wave_2_per_point56=g=0.32*dark; -wave_2_per_point57=b=0.36*dark; -wave_2_per_point58= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=masterspeed=30; -wave_3_per_point2= -wave_3_per_point3=tm=time*masterspeed*0.1;// + t1*0.002*masterspeed; -wave_3_per_point4=perspective=0.7; -wave_3_per_point5= -wave_3_per_point6=//plot x,y,z to point on sphere -wave_3_per_point7=smp=sample*6.283; -wave_3_per_point8= -wave_3_per_point9=pinch=cos(smp*6 + 0)*0.3 + 0.7; -wave_3_per_point10= -wave_3_per_point11=xp=sin(smp )*0.65; -wave_3_per_point12=xp=xp*pinch; -wave_3_per_point13=yp=cos(smp )*0.65; -wave_3_per_point14=yp=yp*pinch; -wave_3_per_point15=zp=0; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18= -wave_3_per_point19=//rotate on y axis; -wave_3_per_point20=angy=time*33; -wave_3_per_point21=angy=q1*10 + sample*0; -wave_3_per_point22=angy=angy+1.5; -wave_3_per_point23=xq=xp*cos(angy) - zp*sin(angy); -wave_3_per_point24=zq=xp*sin(angy) + zp*cos(angy); -wave_3_per_point25=xp=xq; -wave_3_per_point26=zp=zq; -wave_3_per_point27= -wave_3_per_point28=//rotate on x axis -wave_3_per_point29=axs1 = sin(time*0.9) + 1.6; -wave_3_per_point30=yq= yp*cos(axs1) - zp*sin(axs1); -wave_3_per_point31=zq= yp*sin(axs1) + zp*cos(axs1); -wave_3_per_point32=yp=yq; -wave_3_per_point33=zp=zq; -wave_3_per_point34= -wave_3_per_point35=//rotate on y axis again -wave_3_per_point36=axs2 = sin(time*0.45)*3.3; -wave_3_per_point37=xq=xp*cos(axs2) - zp*sin(axs2); -wave_3_per_point38=zq=xp*sin(axs2) + zp*cos(axs2); -wave_3_per_point39=xp=xq; -wave_3_per_point40=zp=zq; -wave_3_per_point41= -wave_3_per_point42=//stretch y axis to compensate for aspect ratio -wave_3_per_point43=yp=yp*1.2; -wave_3_per_point44= -wave_3_per_point45=//push forward into viewpace -wave_3_per_point46=zp=zp+2.1; -wave_3_per_point47= -wave_3_per_point48=//project x,y,z into screenspace -wave_3_per_point49=xs=xp/zp; -wave_3_per_point50=ys=yp/zp; -wave_3_per_point51= -wave_3_per_point52=//center 0,0 in middle of screen -wave_3_per_point53=x=-xs+0.5; -wave_3_per_point54=y=ys+0.5; -wave_3_per_point55= -wave_3_per_point56=dark=1 - (cos(smp*6 + q8)*0.5 + 0.5); -wave_3_per_point57=r=0.82*dark; -wave_3_per_point58=g=0.02*dark; -wave_3_per_point59=b=0.26*dark; -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=.997; -per_frame_2=//zoom=1.008; -per_frame_3=ms=sin(time*0.6)*0.15; -per_frame_4=mss=mss+ms*0.001; -per_frame_5=q1=ms; -per_frame_6= -per_frame_7= -per_frame_8=//rot=sin(time)*0.01; -per_frame_9= -per_frame_10=//echo_zoom=1 + ( sin(time*0.6)*0.5+0.5 )*3; -per_frame_11=dx=0;dy=0; -per_frame_12=sx=-1.02; -per_frame_13=mv_x=14+sin(time)*16; -per_frame_14=mv_y=32+cos(time)*16 -per_frame_15= -per_frame_16= -per_pixel_1=it = 0.3*sin(time*0.2)*bass_att; -per_pixel_2=radm = rad*0.5; -per_pixel_3=rot = 0.02*sin((radm+it)*30)/((rad+0.1)*((sin(time)*0.4+0.5)*20)); -per_pixel_4=mod = sin(ang*5); -per_pixel_5=mod = mod*mod; -per_pixel_6=zoom = .99 - abs(0.01*mod); -per_pixel_7=fade=sin(time*0.4)*0.5+0.5; -per_pixel_8=rot=(x/y*0.02*fade) + (y/x*0.02*(1-fade)); -per_pixel_9= -per_pixel_10=bump = rad * pow((bass+mid+treb)/3,2); -per_pixel_11=zoom = (zoom-1)*bump + 1; -per_pixel_12= -per_pixel_13=//it = 0.3*bass_att; -per_pixel_14=//radm = rad*500; -per_pixel_15=//rot = -0.02*tan((radm+it)*30)/((rad+0.1)*(bass_att*500)); -per_pixel_16=//var=2-atan(bass_att*4); -per_pixel_17=//mod = atan(ang*var)+(bass_att*2); -per_pixel_18=//mod = mod*cos(rad)-cos(ang); -per_pixel_19=//zoom = .90 + abs(0.02*mod)+(bass_att*0.01); diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S Golden Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S Golden Remix.milk deleted file mode 100644 index 45e838cc01..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S Golden Remix.milk +++ /dev/null @@ -1,270 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.700000 -fDecay=1.000000 -fVideoEchoZoom=0.999997 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=2 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.060000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.240000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.326770 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=3.141593 -shapecode_0_tex_zoom=0.787562 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=sin(time)*0.3 + 0.5; -shape_0_per_frame2=y=cos(time)*0.3 + 0.5 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28= -per_frame_29=q2=1.1*xpos +0.25*ypos + 0.5; -per_frame_30=q1=1.1*ypos +0.25*xpos + 0.5; -per_frame_31= -per_frame_32= -per_frame_33=vol=(bass+mid+treb)*0.25; -per_frame_34=vol=vol*vol; -per_frame_35=mtime=mtime+vol*0.01*(65/fps); -per_frame_36= -per_frame_37=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_38=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_39= -per_frame_40= -per_frame_41=//ib_r = 0.3+xpos; -per_frame_42=//ib_b = 0.06*bass; -per_frame_43=//ib_g = 0.25+ypos; -per_frame_44=//ib_r = 0.2125*ib_r + 0.7154*ib_g + 0.0721*ib_b; -per_frame_45=//ib_g = ib_r; -per_frame_46=//ib_b = ib_r; -per_frame_47= -per_frame_48=zoom=1.00; -per_frame_49= -per_pixel_1=cx = (5&(x*10-0.5))*0.1+0.05; -per_pixel_2=cy = (5&(y*10-0.5))*0.1; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))/2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx=dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=//rot = 1*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=sx=-1; diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk deleted file mode 100644 index 65742c08d8..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk +++ /dev/null @@ -1,364 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=g=g*(1-sample); -wave_1_per_point23=b=b*(1-sample) -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=g=g*(1-sample); -wave_2_per_point23=b=b*(1-sample) -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.110462 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01*(75/fps); -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4 -per_frame_54= -per_frame_55= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2; -per_pixel_13=//sx=-1 diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Moire Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Moire Remix.milk deleted file mode 100644 index d9160d61c8..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Moire Remix.milk +++ /dev/null @@ -1,359 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=r=0;g=0;b=0 -wave_1_per_point23= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=r=0;g=0;b=0 -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.110462 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01*(75/fps); -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4 -per_frame_54= -per_frame_55= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Stars Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Stars Remix.milk deleted file mode 100644 index 9269f662a8..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Stars Remix.milk +++ /dev/null @@ -1,369 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.700000 -fDecay=1.000000 -fVideoEchoZoom=0.999999 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=g=g*(1-sample); -wave_1_per_point23=b=b*(1-sample) -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=g=g*(1-sample); -wave_2_per_point23=b=b*(1-sample) -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491381 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=1.791419 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=3.141593 -shapecode_2_tex_zoom=0.555953 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x=.5+(above(sin(time),0)*0.2); -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.700000 -shapecode_3_y=0.700000 -shapecode_3_rad=0.986086 -shapecode_3_ang=0.628319 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.999996 -shapecode_3_r=0.970000 -shapecode_3_g=0.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=flip=1 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01*(37/fps); -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4; -per_frame_54= -per_frame_55=flip=-flip; -per_frame_56=sx=flip; -per_frame_57= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2; -per_pixel_13=sy=1.2/newx; -per_pixel_14=zoom=1.1 diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Vortex Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Vortex Remix.milk deleted file mode 100644 index c9d854828b..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Vortex Remix.milk +++ /dev/null @@ -1,359 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.347848 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=r=0;g=0;b=0 -wave_1_per_point23= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=r=0;g=0;b=0 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.110462 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=1.468147 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=2.814629 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=0.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=1 -shapecode_3_sides=14 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.808142 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=19.788378 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=0.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.020000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01*(70/fps); -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime*20) * sin(mtime*10) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*20) * sin(mtime*10) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4; -per_frame_54=zoom=-.98; -per_frame_55= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = -1*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2 diff --git a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. hall of ghouls Remix.milk b/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. hall of ghouls Remix.milk deleted file mode 100644 index 3c9c42d66c..0000000000 --- a/presets_milkdrop_104/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. hall of ghouls Remix.milk +++ /dev/null @@ -1,367 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=g=g*(1-sample); -wave_1_per_point23=b=b*(1-sample) -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=g=g*(1-sample); -wave_2_per_point23=b=b*(1-sample) -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.110462 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=flip=1 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01*(70/fps); -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4; -per_frame_54= -per_frame_55=flip=-flip; -per_frame_56=sx=flip -per_frame_57= -per_frame_58= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2; diff --git a/presets_milkdrop_104/Krash + Eo.S. - Photographic Sentinel.milk b/presets_milkdrop_104/Krash + Eo.S. - Photographic Sentinel.milk deleted file mode 100644 index d2f5b41f26..0000000000 --- a/presets_milkdrop_104/Krash + Eo.S. - Photographic Sentinel.milk +++ /dev/null @@ -1,698 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.608039 -fWaveSmoothing=0.750000 -fWaveParam=-0.400000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=0.700000 -wavecode_0_a=1.000000 -wave_0_per_frame1=h=q5; -wave_0_per_frame2=s = 0.7; -wave_0_per_frame3=l= 0.8; -wave_0_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_0_per_frame5=// -wave_0_per_frame6=// HSL to RGB by PieturP -wave_0_per_frame7=// -wave_0_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -wave_0_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_0_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_0_per_frame11=// -wave_0_per_frame12=cc=(6*h); -wave_0_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_0_per_frame14=zf=(6*h)-cc; -wave_0_per_frame15=zm=l; -wave_0_per_frame16=zp=l*(1-s); -wave_0_per_frame17=zq=l*(1-s*zf); -wave_0_per_frame18=zt=l*(1-s*(1-zf)); -wave_0_per_frame19=monitor=zq; -wave_0_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_0_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_0_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_0_per_frame23=rr=if(equal(s,0),l,rr); -wave_0_per_frame24=gg=if(equal(s,0),l,gg); -wave_0_per_frame25=bb=if(equal(s,0),l,bb); -wave_0_per_frame26= -wave_0_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_0_per_frame28=r=rr; -wave_0_per_frame29=g=gg; -wave_0_per_frame30=b=bb; -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2=phs=-sample * 0.2; -wave_0_per_point3=tm=q4 + phs*4; -wave_0_per_point4= -wave_0_per_point5=flip=flip+1; -wave_0_per_point6=flip=flip*below(flip,2); -wave_0_per_point7= -wave_0_per_point8=xp=0; -wave_0_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_0_per_point10=zp=0; -wave_0_per_point11= -wave_0_per_point12=//spin; -wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_0_per_point14=sa=sin(ang);ca=cos(ang); -wave_0_per_point15=xr=xp*sa + yp*ca; -wave_0_per_point16=yr=xp*ca - yp*sa; -wave_0_per_point17=zr=zp; -wave_0_per_point18= -wave_0_per_point19=xp=xr; -wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_0_per_point21=zp=zr; -wave_0_per_point22= -wave_0_per_point23=//wrist movement; -wave_0_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); -wave_0_per_point25= -wave_0_per_point26=xq=xp; -wave_0_per_point27=sa=sin(ang);ca=cos(ang); -wave_0_per_point28=yq=yp*sa + zp*ca; -wave_0_per_point29=zq=yp*ca - zp*sa; -wave_0_per_point30= -wave_0_per_point31= -wave_0_per_point32=ang=tm*8; -wave_0_per_point33=sa=sin(ang);ca=cos(ang); -wave_0_per_point34=xp=xq*sa + yq*ca; -wave_0_per_point35=yp=xq*ca - yq*sa; -wave_0_per_point36=zp=zq; -wave_0_per_point37= -wave_0_per_point38=//forearm movement; -wave_0_per_point39=zp=zp-0.3; -wave_0_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; -wave_0_per_point41=xq=xp; -wave_0_per_point42=sa=sin(ang);ca=cos(ang); -wave_0_per_point43=yq=yp*sa + zp*ca; -wave_0_per_point44=zq=yp*ca - zp*sa; -wave_0_per_point45= -wave_0_per_point46=//upper arm twist -wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_0_per_point48=xp=xq*sa + yq*ca; -wave_0_per_point49=yp=xq*ca - yq*sa; -wave_0_per_point50=zp=zq; -wave_0_per_point51= -wave_0_per_point52=//upper arm outward; -wave_0_per_point53=zp=zp-0.35; -wave_0_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; -wave_0_per_point55=sa=sin(ang);ca=cos(ang); -wave_0_per_point56=xq=xp*sa + zp*ca; -wave_0_per_point57=yq=yp; -wave_0_per_point58=zq=xp*ca - zp*sa; -wave_0_per_point59= -wave_0_per_point60=//upper arm up down; -wave_0_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); -wave_0_per_point62=xp=xq; -wave_0_per_point63=sa=sin(ang);ca=cos(ang); -wave_0_per_point64=yp=yq*ca - zq*sa; -wave_0_per_point65=zp=yq*sa + zq*ca; -wave_0_per_point66= -wave_0_per_point67=//xp=xq;yp=yq;zp=zq; -wave_0_per_point68= -wave_0_per_point69= -wave_0_per_point70=//project into screenspace and draw on screen -wave_0_per_point71=zp=zp+1.5; -wave_0_per_point72=xs=xp/zp; -wave_0_per_point73=ys=yp/zp; -wave_0_per_point74= -wave_0_per_point75=x=xs+0.5; -wave_0_per_point76=y=ys*1.3+0.5; -wave_0_per_point77= -wave_0_per_point78= -wave_0_per_point79=a=(1-sample); -wave_0_per_point80= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.900000 -wavecode_1_b=0.800000 -wavecode_1_a=1.000000 -wave_1_per_frame1=h=q5; -wave_1_per_frame2=s = 0.7; -wave_1_per_frame3=l= 0.6; -wave_1_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_1_per_frame5=// -wave_1_per_frame6=// HSL to RGB by PieturP -wave_1_per_frame7=// -wave_1_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -wave_1_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_1_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_1_per_frame11=// -wave_1_per_frame12=cc=(6*h); -wave_1_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_1_per_frame14=zf=(6*h)-cc; -wave_1_per_frame15=zm=l; -wave_1_per_frame16=zp=l*(1-s); -wave_1_per_frame17=zq=l*(1-s*zf); -wave_1_per_frame18=zt=l*(1-s*(1-zf)); -wave_1_per_frame19=monitor=zq; -wave_1_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_1_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_1_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_1_per_frame23=rr=if(equal(s,0),l,rr); -wave_1_per_frame24=gg=if(equal(s,0),l,gg); -wave_1_per_frame25=bb=if(equal(s,0),l,bb); -wave_1_per_frame26= -wave_1_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_1_per_frame28=r=rr; -wave_1_per_frame29=g=gg; -wave_1_per_frame30=b=bb; -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=phs=-sample * 0.4 ; -wave_1_per_point3=tm=q4 + phs*2 - 0.01; -wave_1_per_point4= -wave_1_per_point5=flip=flip+1; -wave_1_per_point6=flip=flip*below(flip,2); -wave_1_per_point7= -wave_1_per_point8=xp=0; -wave_1_per_point9=yp=(flip*0.2-0.1)*(sample); -wave_1_per_point10=zp=0; -wave_1_per_point11= -wave_1_per_point12=//spin; -wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;; -wave_1_per_point14=sa=sin(ang);ca=cos(ang); -wave_1_per_point15=xr=xp*sa + yp*ca; -wave_1_per_point16=yr=xp*ca - yp*sa; -wave_1_per_point17=zr=zp; -wave_1_per_point18= -wave_1_per_point19=xp=xr; -wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_1_per_point21=zp=zr; -wave_1_per_point22= -wave_1_per_point23=//wrist movement; -wave_1_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); -wave_1_per_point25= -wave_1_per_point26=xq=xp; -wave_1_per_point27=sa=sin(ang);ca=cos(ang); -wave_1_per_point28=yq=yp*sa + zp*ca; -wave_1_per_point29=zq=yp*ca - zp*sa; -wave_1_per_point30= -wave_1_per_point31= -wave_1_per_point32=ang=tm*8; -wave_1_per_point33=sa=sin(ang);ca=cos(ang); -wave_1_per_point34=xp=xq*sa + yq*ca; -wave_1_per_point35=yp=xq*ca - yq*sa; -wave_1_per_point36=zp=zq; -wave_1_per_point37= -wave_1_per_point38=//forearm movement; -wave_1_per_point39=zp=zp-0.3; -wave_1_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; -wave_1_per_point41=xq=xp; -wave_1_per_point42=sa=sin(ang);ca=cos(ang); -wave_1_per_point43=yq=yp*sa + zp*ca; -wave_1_per_point44=zq=yp*ca - zp*sa; -wave_1_per_point45= -wave_1_per_point46=//upper arm twist -wave_1_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); -wave_1_per_point48=xp=xq*sa + yq*ca; -wave_1_per_point49=yp=xq*ca - yq*sa; -wave_1_per_point50=zp=zq; -wave_1_per_point51= -wave_1_per_point52=//upper arm outward; -wave_1_per_point53=zp=zp-0.35; -wave_1_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; -wave_1_per_point55=sa=sin(ang);ca=cos(ang); -wave_1_per_point56=xq=xp*sa + zp*ca; -wave_1_per_point57=yq=yp; -wave_1_per_point58=zq=xp*ca - zp*sa; -wave_1_per_point59= -wave_1_per_point60=//upper arm up down; -wave_1_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); -wave_1_per_point62=xp=xq; -wave_1_per_point63=sa=sin(ang);ca=cos(ang); -wave_1_per_point64=yp=yq*ca - zq*sa; -wave_1_per_point65=zp=yq*sa + zq*ca; -wave_1_per_point66= -wave_1_per_point67=//xp=xq;yp=yq;zp=zq; -wave_1_per_point68= -wave_1_per_point69= -wave_1_per_point70=//project into screenspace and draw on screen -wave_1_per_point71=zp=zp+1.5; -wave_1_per_point72=xs=xp/zp; -wave_1_per_point73=ys=yp/zp; -wave_1_per_point74= -wave_1_per_point75=x=xs+0.5; -wave_1_per_point76=y=ys*1.3+0.5; -wave_1_per_point77= -wave_1_per_point78= -wave_1_per_point79=a=(1-sample); -wave_1_per_point80= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.720000 -wavecode_2_b=0.100000 -wavecode_2_a=1.000000 -wave_2_per_frame1=h=q5; -wave_2_per_frame2=s = 0.8; -wave_2_per_frame3=l= 0.5; -wave_2_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_2_per_frame5=// -wave_2_per_frame6=// HSL to RGB by PieturP -wave_2_per_frame7=// -wave_2_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -wave_2_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_2_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_2_per_frame11=// -wave_2_per_frame12=cc=(6*h); -wave_2_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_2_per_frame14=zf=(6*h)-cc; -wave_2_per_frame15=zm=l; -wave_2_per_frame16=zp=l*(1-s); -wave_2_per_frame17=zq=l*(1-s*zf); -wave_2_per_frame18=zt=l*(1-s*(1-zf)); -wave_2_per_frame19=monitor=zq; -wave_2_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_2_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_2_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_2_per_frame23=rr=if(equal(s,0),l,rr); -wave_2_per_frame24=gg=if(equal(s,0),l,gg); -wave_2_per_frame25=bb=if(equal(s,0),l,bb); -wave_2_per_frame26= -wave_2_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_2_per_frame28=r=rr; -wave_2_per_frame29=g=gg; -wave_2_per_frame30=b=bb; -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.4 ; -wave_2_per_point3=tm=q4 + phs*2 - 0.02; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.4-0.2)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=0.700000 -wavecode_3_b=0.500000 -wavecode_3_a=1.000000 -wave_3_per_frame1=h=q5; -wave_3_per_frame2=s = 0.75; -wave_3_per_frame3=l= 0.4; -wave_3_per_frame4=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_3_per_frame5=// -wave_3_per_frame6=// HSL to RGB by PieturP -wave_3_per_frame7=// -wave_3_per_frame8=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -wave_3_per_frame9=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_3_per_frame10=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_3_per_frame11=// -wave_3_per_frame12=cc=(6*h); -wave_3_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_3_per_frame14=zf=(6*h)-cc; -wave_3_per_frame15=zm=l; -wave_3_per_frame16=zp=l*(1-s); -wave_3_per_frame17=zq=l*(1-s*zf); -wave_3_per_frame18=zt=l*(1-s*(1-zf)); -wave_3_per_frame19=monitor=zq; -wave_3_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_3_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_3_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_3_per_frame23=rr=if(equal(s,0),l,rr); -wave_3_per_frame24=gg=if(equal(s,0),l,gg); -wave_3_per_frame25=bb=if(equal(s,0),l,bb); -wave_3_per_frame26= -wave_3_per_frame27=/////////////////////////////////////////////////////////////////////////////////////////////// -wave_3_per_frame28=r=rr; -wave_3_per_frame29=g=gg; -wave_3_per_frame30=b=bb; -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.4 ; -wave_3_per_point3=tm=q4 + phs*2 - 0.03; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.6-0.3)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248)); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867)); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm)); -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample); -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.472208 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.503298 -shapecode_0_r=1.000000 -shapecode_0_g=0.700000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.699900 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=xpos = if(q1,(rand(4)+1)*0.25-0.125,xpos); -shape_0_per_frame2=ypos = if(q1,(rand(3)+1)*0.333-0.166,ypos); -shape_0_per_frame3=x = xpos; -shape_0_per_frame4=y = ypos; -shape_0_per_frame5=flash = if(q1,0.8,flash-0.1); -shape_0_per_frame6=textured = below(flash,0.5); -shape_0_per_frame7=a = above(flash,0); -shape_0_per_frame8=a2 = above(flash,0); -shape_0_per_frame9=border_a = 0.5*above(flash,0); -shape_0_per_frame10=r = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame11=g = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame12=b = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame13=r2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame14=g2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame15=b2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200)); -shape_0_per_frame16=border_r = 0.5*above(flash,0); -shape_0_per_frame17=border_g = 0.5*above(flash,0); -shape_0_per_frame18=border_b = 0.5*above(flash,0); -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp=0; -per_frame_2=wave_a = 0; -per_frame_3= -per_frame_4=//begin beat code -per_frame_5=volume = 0.3*(bass+mid); -per_frame_6=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_7=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_8=meanbass_att = 0.05*(meanbass_att*19 + bass_att); -per_frame_9=peakbass_att = max(bass_att,peakbass_att); -per_frame_10=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_12=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness. -per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996); -per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_16=//end beat code -per_frame_17= -per_frame_18=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); -per_frame_19=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_20=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_21=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_22=xpos = xpos + 0.001*xspeed; -per_frame_23=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); -per_frame_24=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_25=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_26=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_27=ypos = ypos + 0.001*yspeed; -per_frame_28=q1 = beat; -per_frame_29=q2 = xpos; -per_frame_30=q3 = ypos; -per_frame_31=q4 = time*0.5; -per_frame_32= -per_frame_33=q5 = 0.25*(sin(time*0.15)+sin(time*0.85))+0.5; -per_frame_34= -per_frame_35=monitor = q5; diff --git a/presets_milkdrop_104/Krash - systolic pressure (Eo.S. remix).milk b/presets_milkdrop_104/Krash - systolic pressure (Eo.S. remix).milk deleted file mode 100644 index a500f37d92..0000000000 --- a/presets_milkdrop_104/Krash - systolic pressure (Eo.S. remix).milk +++ /dev/null @@ -1,247 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.071719 -fWaveSmoothing=0.750000 -fWaveParam=-0.160000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=9.860800 -fWarpScale=16.217400 -fZoomExponent=1.503744 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.999999 -sx=1.000000 -sy=1.000000 -wave_r=0.900000 -wave_g=0.200000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.050000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.020000 -ib_size=0.500000 -ib_r=0.050000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.020000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.598910 -mv_dy=0.978744 -mv_l=0.500000 -mv_r=0.296168 -mv_g=0.490016 -mv_b=0.461879 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp = 0; -per_frame_2=volume = 0.3*(bass+mid+att); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*(xspeed*0.5); -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*(yspeed*0.5); -per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_16=peakbass_att = max(bass_att,peakbass_att); -per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_22=wave_x = xpos + 0.5; -per_frame_23=wave_y = ypos + 0.5; -per_frame_24=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_25=wave_g = wave_g + 0.150*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_26=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); -per_frame_28=mv_r = if(beat, 1, ib_r); -per_frame_29=mv_b = if(beat, wave_b, ib_b); -per_frame_30=mv_a = if(beat, 0.1, ib_a); -per_frame_31=ib_a = 0.015; -per_frame_32=q3 = wave_mystery; -per_frame_33=q1 = wave_x; -per_frame_34=q2 = 1- wave_y; -per_pixel_1=newx = x - q1; -per_pixel_2=newy = y - q2; -per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_4=newzoom = pow(1.05 + below(newrad,0.39+q3)*(0.6-newrad), pow(1 + 0.5*cos(newrad+2*q3+0.28), newrad*2-1)); -per_pixel_5=dx = -0.0005 + (newx)*(newzoom*0.97) - newx; -per_pixel_6=dy = -0.0005 + (newy)*(newzoom*0.97) - newy; diff --git a/presets_milkdrop_104/Phat and Eo.S. _ shapes are cool smoke move2.milk b/presets_milkdrop_104/Phat and Eo.S. _ shapes are cool smoke move2.milk deleted file mode 100644 index 1294dd7b38..0000000000 --- a/presets_milkdrop_104/Phat and Eo.S. _ shapes are cool smoke move2.milk +++ /dev/null @@ -1,292 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.910000 -fDecay=0.960000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.019788 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=31.999994 -nMotionVectorsY=24.000004 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=5.000000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.670888 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.942478 -shapecode_0_tex_zoom=0.534261 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.200000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.300000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=flux=q5*9; -shape_0_per_frame2=fluxs=max(flux,0); -shape_0_per_frame3=fluxs=min(fluxs,1); -shape_0_per_frame4=advflux=(q3*fluxs) + (-q3 * (1-fluxs)); -shape_0_per_frame5=adv=adv+advflux; -shape_0_per_frame6=advs=adv/256; -shape_0_per_frame7= -shape_0_per_frame8= -shape_0_per_frame9=ang=advs; -shape_0_per_frame10=rad=1.671 + q3/25; -shape_0_per_frame11=a=above(1,bass-0.1); -shape_0_per_frame12=a2=above(1,bass-0.1); -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.350000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.100000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=y=0.1 + q2*0.4; -shape_1_per_frame2=rad=q2/2; -shape_1_per_frame3=ang=-q2*2; -shape_1_per_frame4=r=treb; -shapecode_2_enabled=0 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.590000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.444842 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.100000 -shapecode_2_g2=0.050000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_init1=dir = 3; -shape_2_init2=mover = 0; -shape_2_init3=rotator = .255 -shape_2_per_frame1=ang = rotator; -shape_2_per_frame2=x = if(equal(dir,1),1 - mover,if(equal(dir,1.5),.15,if(equal(dir,2),0,if(equal(dir,2.5),0, if(equal(dir,3),0+mover,if(equal(dir,3.5),1,if(equal(dir,4),1,1))))))); -shape_2_per_frame3=y = if(equal(dir,1),1,if(equal(dir,1.5),1,if(equal(dir,2),1 - mover,if(equal(dir,2.5),0, if(equal(dir,3),0,if(equal(dir,3.5),0,if(equal(dir,4),0+mover,1))))))); -shape_2_per_frame4=mover = if(equal(dir,1),mover + .005,if(equal(dir,1.5),0,if(equal(dir,2),mover + .005,if(equal(dir,2.5),0, if(equal(dir,3),mover+.005,if(equal(dir,3.5),0,if(equal(dir,4),mover+.005,0))))))); -shape_2_per_frame5=dir = if(equal(dir,1),if(above(mover,.995),1.5,dir),if(equal(dir,1.5),if(below(rotator,-1.29),2,dir), if(equal(dir,2),if(above(mover,.995),2.5,dir),if(equal(dir,2.5),if(below(rotator,-2.85),3,dir), if(equal(dir,3),if(above(mover,.995),3.5,dir),if(equal(dir,3.5),if(below(rotator,-4.44),4,dir), if(equal(dir,4),if(above(mover,.995),4.5,dir),if(equal(dir,4.5),if(below(rotator,-5.94),1,dir),dir)))))))); -shape_2_per_frame6=rotator = if(equal(dir,1.5),if(above(rotator,-1.31),rotator - .05,rotator),if(equal(dir,2),-1.3, if(equal(dir,2.5),if(above(rotator,-2.87),rotator-.05,rotator),if(equal(dir,3),-2.86, if(equal(dir,3.5),if(above(rotator,-4.46),rotator-.05,rotator),if(equal(dir,4),-4.45, if(equal(dir,4.5),if(above(rotator,-5.97),rotator-.05,rotator),if(equal(dir,4),-5.96,.26)))))))); -shape_2_per_frame7= -shape_2_per_frame8=//Ok, enough with the crazy ifs, we got our tram moving, now for some reaction. -shape_2_per_frame9= -shape_2_per_frame10=b = above(mid,1.5); -shape_2_per_frame11=r2 = above(mid,1.5); -shape_2_per_frame12=g2 = above(mid,1.5); -shape_2_per_frame13=b2 = above(mid,1.5); -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.840000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.980000 -shapecode_3_g=1.000000 -shapecode_3_b=0.980000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.090000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=q7; -shape_3_per_frame2=y=q8; -shape_3_per_frame3=rad=(q1*q1)/2;; -shape_3_per_frame4=rad=min( rad, 0.7); -shape_3_per_frame5=ang=q1*4; -shape_3_per_frame6= -shape_3_per_frame7=r=0.70 + (sin(time/2))*0.50; -shape_3_per_frame8=g=0.70 + (sin(time/2 + 2)) * 0.50; -shape_3_per_frame9=b=0.70 + (sin(time/2 + 4)) * 0.50 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=q1=0;q2=0;q3=0 -per_frame_1=decay=1; -per_frame_2=speed=0.80; -per_frame_3=speedinv=1-speed; -per_frame_4=q1=(qa*speed + bass*speedinv); -per_frame_5=q2=(qb*speed + mid *speedinv); -per_frame_6=q3=(qc*speed + treb*speedinv); -per_frame_7=qa=q1; -per_frame_8=qb=q2; -per_frame_9=qc=q3; -per_frame_10=flux=sin(time/2); -per_frame_11=q4=flux * 0.5 + 0.5; -per_frame_12=q5=flux; -per_frame_13= -per_frame_14=q7=sin(time/2)*0.4 + 0.5; -per_frame_15=q8=sin(time)*0.4+0.5; -per_frame_16= -per_frame_17=rt=sin(time*0.79)*0.5+0.5; -per_frame_18=rt=rt*rt; -per_frame_19=rot=-rt*0.01; -per_frame_20=q6=rt*0.01; -per_frame_21= -per_frame_22= -per_frame_23=d1=sin(time*0.89); -per_frame_24=dx=d1*0.005; -per_frame_25= -per_frame_26=d2=sin(time*0.84); -per_frame_27= -per_frame_28=dy=d2*0.005 -per_pixel_1=zm=cos(ang*3+time); -per_pixel_2=sx=1+ zm*0.002 + q6; -per_pixel_3=sy=1-zm*0.002 + q6; -per_pixel_4= -per_pixel_5= -per_pixel_6= -per_pixel_7=cx=q7; -per_pixel_8=cy=1-q8; diff --git a/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_Circles_mix.milk b/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_Circles_mix.milk deleted file mode 100644 index cbf6be383b..0000000000 --- a/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_Circles_mix.milk +++ /dev/null @@ -1,437 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.965000 -fVideoEchoZoom=1.639066 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.010000 -fWarpScale=1.470245 -fZoomExponent=4.778023 -fShader=0.000000 -zoom=0.998162 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.001828 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=1.000000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=0.020000 -ib_size=0.500000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=4.800001 -mv_dx=0.400000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.000000 -mv_g=0.500000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.060000 -wave_0_per_point1=xspout=.5; -wave_0_per_point2=yspout=-.01; -wave_0_per_point3= -wave_0_per_point4=pphase=9999*sample*sample*.0001; -wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; -wave_0_per_point6=pheight=((sample*9893)%100)*.002; -wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; -wave_0_per_point8= -wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); -wave_0_per_point10=g=((sample*9954)%100)*.01; -wave_0_per_point11= -wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point14= -wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); -wave_0_per_point16= -wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); -wave_0_per_point18= -wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); -wave_0_per_point20= -wave_0_per_point21=x=px; -wave_0_per_point22=y=py; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=sampleloop = sample*8 ; sampleloop=sampleloop - int(sampleloop); -wave_1_per_point2=scale = 1 - int(sample*8)*0.001; -wave_1_per_point3= -wave_1_per_point4=st = sampleloop*4; -wave_1_per_point5=stt = st - int(st); -wave_1_per_point6= -wave_1_per_point7=x = stt; -wave_1_per_point8=x = if( above(st,1) , 1 , x ); -wave_1_per_point9=x = if( above(st,2) , 1-stt , x ); -wave_1_per_point10=x = if( above(st,3) , 0 , x ); -wave_1_per_point11=x=(x-0.5)*scale + 0.5; -wave_1_per_point12= -wave_1_per_point13=y = 0; -wave_1_per_point14=y = if( above(st,1) , stt , y ); -wave_1_per_point15=y = if( above(st,2) , 1 , y ); -wave_1_per_point16=y = if( above(st,3) , 1-stt , y ); -wave_1_per_point17=y=(y-0.5)*scale + 0.5; -wave_1_per_point18= -wave_1_per_point19=phs=time*0.26; -wave_1_per_point20= -wave_1_per_point21=w=sin(sampleloop*6.283 * 6 + time*0.5) * 0.5 + 0.5; -wave_1_per_point22=//w = above( sin(time*3) , 0); -wave_1_per_point23= -wave_1_per_point24=rg = 0.2; -wave_1_per_point25= -wave_1_per_point26= -wave_1_per_point27= -wave_1_per_point28=r=( (sampleloop*rg+phs) - int(sampleloop*rg+phs) )*1.5; -wave_1_per_point29=r=if( above(r,1) , 2-r , r ) * w; -wave_1_per_point30=//r=1- pow(1-r,2); -wave_1_per_point31= -wave_1_per_point32=g=( (sampleloop*rg+phs+0.66) - int(sampleloop*rg+phs+0.66) )*1.5; -wave_1_per_point33=g=if( above(g,1) , 2-g , g ) * w; -wave_1_per_point34=//g=1- pow(1-g,2); -wave_1_per_point35= -wave_1_per_point36=b=( (sampleloop*rg+phs+1.33) - int(sampleloop*rg*0.3+phs+1.33) )*1.5; -wave_1_per_point37=b=if( above(b,1) , 2-b , b ) * w; -wave_1_per_point38=//b=1- pow(1-b,2); -wave_1_per_point39= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs*4; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wave_2_per_point80= -wave_2_per_point81=phs=time*0.3; -wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; -wave_2_per_point83=r=if( above(r,1) , 2-r , r ); -wave_2_per_point84= -wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; -wave_2_per_point86=g=if( above(g,1) , 2-g , g ); -wave_2_per_point87= -wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; -wave_2_per_point89=b=if( above(b,1) , 2-b , b ); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.480000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.976308 -shapecode_0_ang=6.283185 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.361763 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=0 -shapecode_1_sides=13 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.840000 -shapecode_1_rad=0.364567 -shapecode_1_ang=3.078761 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=4.141463 -shapecode_1_r=0.250000 -shapecode_1_g=0.050000 -shapecode_1_b=0.000000 -shapecode_1_a=0.200000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.500000 -shapecode_1_border_g=0.500000 -shapecode_1_border_b=0.500000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//additive=above(sin(time*50),.95); -shapecode_2_enabled=0 -shapecode_2_sides=6 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.400000 -shapecode_2_y=0.700000 -shapecode_2_rad=1.089252 -shapecode_2_ang=0.816814 -shapecode_2_tex_ang=3.141592 -shapecode_2_tex_zoom=0.504215 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.700000 -shapecode_2_g2=0.700000 -shapecode_2_b2=0.700000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=tm=int(time*0.25)*10; -shape_2_per_frame2= -shape_2_per_frame3=ag = sin(tm * 0.5); -shape_2_per_frame4= -shape_2_per_frame5= -shape_2_per_frame6=xa = sin(tm * 0.04) * sin(tm * .19) * 0.3; -shape_2_per_frame7=x=x+xa; -shape_2_per_frame8=ya = cos(tm * 0.03) * sin(tm * .21) * 0.25; -shape_2_per_frame9=y=y+ya; -shape_2_per_frame10= -shape_2_per_frame11=ang=ang + ag; -shape_2_per_frame12= -shape_2_per_frame13= -shape_2_per_frame14=tex_zoom = tex_zoom + ag*0.1; -shape_2_per_frame15= -shape_2_per_frame16= -shape_2_per_frame17=additive= above( sin(time*0.25*4) , 0.985 ); -shape_2_per_frame18= -shape_2_per_frame19= -shape_2_per_frame20=a = 1 - additive*0.5; -shape_2_per_frame21= -shapecode_3_enabled=0 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.467532 -shapecode_3_ang=3.141593 -shapecode_3_tex_ang=4.900885 -shapecode_3_tex_zoom=0.721416 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=ang=time/10; -shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); -shape_3_per_frame3=var=above(bass_att,0.7); -shape_3_per_frame4=a=var; -shape_3_per_frame5=a2=var; -shape_3_per_frame6=border_a=var; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 -shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi -shape_3_per_frame11=//On a Radion_9600 -shape_3_per_frame12=//1280*1024_Screen_Resolution -shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! -shape_3_per_frame14= -shape_3_per_frame15= -shape_3_per_frame16=//additive= above( sin(time*0.25*16) , 0.98 ); -shape_3_per_frame17=//additive = above( treb , 1.15 ); -shape_3_per_frame18= -shape_3_per_frame19=//a=min(q5,1); -per_frame_1=decay=1; -per_frame_2=wrap=sin(time*10); -per_frame_3=mv_dx=bass; -per_frame_4=ib_a=.005; -per_frame_5= -per_frame_6= -per_frame_7=vol=(bass+mid+treb)*0.25; -per_frame_8=vol=vol*vol; -per_frame_9= -per_frame_10=mtime=mtime+vol*0.3*(55/fps); -per_frame_11=q5=vol; -per_frame_12= -per_frame_13=q1=mtime*0.5; -per_frame_14= -per_frame_15=btime = btime + (bass_att*bass_att)*0.005*(55/fps); -per_frame_16=q6=btime; -per_frame_17=mtime = mtime + (mid*mid)*0.005*(55/fps); -per_frame_18=q7=mtime; -per_frame_19=ttime = ttime + (treb_att*treb_att)*0.005*(55/fps); -per_frame_20=q8=ttime; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24=phs=time*0.1 ; -per_frame_25= -per_frame_26=r=( (phs) - int(phs) )*2; -per_frame_27=r=if( above(ob_r,1) , 2-r , r ); -per_frame_28=ob_r=r; -per_frame_29= -per_frame_30=g=( (phs+0.66) - int(phs+0.66) )*2; -per_frame_31=g=if( above(g,1) , 2-g , g ); -per_frame_32=ob_g=g; -per_frame_33= -per_frame_34=b=( (phs+1.33) - int(phs+1.33) )*2; -per_frame_35=b=if( above(b,1) , 2-b , b ); -per_frame_36=ob_b=b; -per_pixel_1=zoom=1.005-(rad/100) + (bass*bass)*0.0015; -per_pixel_2=rot=rad/600; -per_pixel_3=sy=-1; diff --git a/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_spectrum.milk b/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_spectrum.milk deleted file mode 100644 index 9f899e46ea..0000000000 --- a/presets_milkdrop_104/Phat+Eo.S_Mandala_Chasers_remix_spectrum.milk +++ /dev/null @@ -1,378 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.965000 -fVideoEchoZoom=1.483827 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.010000 -fWarpScale=1.470245 -fZoomExponent=4.778023 -fShader=0.000000 -zoom=0.998162 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.001828 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=1.000000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=4.800001 -mv_dx=0.400000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.000000 -mv_g=0.500000 -mv_b=1.000000 -mv_a=0.100000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.060000 -wave_0_per_point1=xspout=.5; -wave_0_per_point2=yspout=-.01; -wave_0_per_point3= -wave_0_per_point4=pphase=9999*sample*sample*.0001; -wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; -wave_0_per_point6=pheight=((sample*9893)%100)*.002; -wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; -wave_0_per_point8= -wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); -wave_0_per_point10=g=((sample*9954)%100)*.01; -wave_0_per_point11= -wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point14= -wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); -wave_0_per_point16= -wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); -wave_0_per_point18= -wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); -wave_0_per_point20= -wave_0_per_point21=x=px; -wave_0_per_point22=y=py; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=st = sample*4; -wave_1_per_point2=stt = st - int(st); -wave_1_per_point3= -wave_1_per_point4=x = stt; -wave_1_per_point5=x = if( above(st,1) , 1 , x ); -wave_1_per_point6=x = if( above(st,2) , 1-stt , x ); -wave_1_per_point7=x = if( above(st,3) , 0 , x ); -wave_1_per_point8= -wave_1_per_point9=y = 0; -wave_1_per_point10=y = if( above(st,1) , stt , y ); -wave_1_per_point11=y = if( above(st,2) , 1 , y ); -wave_1_per_point12=y = if( above(st,3) , 1-stt , y ); -wave_1_per_point13= -wave_1_per_point14= -wave_1_per_point15=phs=time*0.26; -wave_1_per_point16= -wave_1_per_point17=w=sin(sample*6.283 * 6 + time*0.5) * 0.5 + 0.6; -wave_1_per_point18= -wave_1_per_point19=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*1.5; -wave_1_per_point20=r=if( above(r,1) , 2-r , r ) * w; -wave_1_per_point21=r=1- pow(1-r,2); -wave_1_per_point22= -wave_1_per_point23=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*1.5; -wave_1_per_point24=g=if( above(g,1) , 2-g , g ) * w; -wave_1_per_point25=g=1- pow(1-g,2); -wave_1_per_point26= -wave_1_per_point27=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*1.5; -wave_1_per_point28=b=if( above(b,1) , 2-b , b ) * w; -wave_1_per_point29=b=1- pow(1-b,2); -wave_1_per_point30= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs*4; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wave_2_per_point80= -wave_2_per_point81=phs=time*0.3; -wave_2_per_point82=r=( (sample*0.3+phs) - int(sample*0.3+phs) )*2; -wave_2_per_point83=r=if( above(r,1) , 2-r , r ); -wave_2_per_point84= -wave_2_per_point85=g=( (sample*0.3+phs+0.66) - int(sample*0.3+phs+0.66) )*2; -wave_2_per_point86=g=if( above(g,1) , 2-g , g ); -wave_2_per_point87= -wave_2_per_point88=b=( (sample*0.3+phs+1.33) - int(sample*0.3+phs+1.33) )*2; -wave_2_per_point89=b=if( above(b,1) , 2-b , b ); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.760000 -shapecode_0_y=0.600000 -shapecode_0_rad=0.703044 -shapecode_0_ang=0.565487 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.831505 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=0 -shapecode_1_sides=13 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.900000 -shapecode_1_y=0.840000 -shapecode_1_rad=0.364567 -shapecode_1_ang=3.078761 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=4.141463 -shapecode_1_r=0.250000 -shapecode_1_g=0.050000 -shapecode_1_b=0.000000 -shapecode_1_a=0.200000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.500000 -shapecode_1_border_g=0.500000 -shapecode_1_border_b=0.500000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//additive=above(sin(time*50),.95); -shapecode_2_enabled=1 -shapecode_2_sides=6 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.300000 -shapecode_2_y=0.700000 -shapecode_2_rad=1.089252 -shapecode_2_ang=0.816814 -shapecode_2_tex_ang=3.141592 -shapecode_2_tex_zoom=0.504215 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.284278 -shapecode_3_ang=3.141593 -shapecode_3_tex_ang=4.900885 -shapecode_3_tex_zoom=2.987755 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.950000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=ang=time/10; -shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); -shape_3_per_frame3=var=above(bass_att,0.7); -shape_3_per_frame4=a=var; -shape_3_per_frame5=a2=var; -shape_3_per_frame6=border_a=var; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 -shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi -shape_3_per_frame11=//On a Radion_9600 -shape_3_per_frame12=//1280*1024_Screen_Resolution -shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! -per_frame_1=decay=.999; -per_frame_2=wrap=sin(time*10); -per_frame_3=mv_dx=bass; -per_frame_4=ib_a=.005; -per_frame_5= -per_frame_6= -per_frame_7=vol=(bass+mid+treb)*0.25; -per_frame_8=vol=vol*vol; -per_frame_9= -per_frame_10=mtime=mtime+vol*0.01*(58/fps); -per_frame_11= -per_frame_12=q1=time*0.5; -per_pixel_1=zoom=1.005-(rad/100) + (bass*bass)*0.0015; -per_pixel_2=rot=rad/600; -per_pixel_3=sy=-1; diff --git a/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix - www.eos4life.com.milk b/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix - www.eos4life.com.milk deleted file mode 100644 index 1ff476084e..0000000000 --- a/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix - www.eos4life.com.milk +++ /dev/null @@ -1,444 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.965000 -fVideoEchoZoom=1.483827 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.010000 -fWarpScale=1.470245 -fZoomExponent=4.778023 -fShader=0.000000 -zoom=0.998162 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.001828 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=4.800001 -mv_dx=0.400000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.000000 -mv_g=0.500000 -mv_b=1.000000 -mv_a=0.100000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.060000 -wave_0_per_point1=xspout=.5; -wave_0_per_point2=yspout=-.01; -wave_0_per_point3= -wave_0_per_point4=pphase=9999*sample*sample*.0001; -wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; -wave_0_per_point6=pheight=((sample*9893)%100)*.002; -wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; -wave_0_per_point8= -wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); -wave_0_per_point10=g=((sample*9954)%100)*.01; -wave_0_per_point11= -wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point14= -wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); -wave_0_per_point16= -wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); -wave_0_per_point18= -wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); -wave_0_per_point20= -wave_0_per_point21=x=px; -wave_0_per_point22=y=py; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); -wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); -wave_1_per_point3= -wave_1_per_point4=//xspout=.5; -wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); -wave_1_per_point6=//yspout=.5; -wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); -wave_1_per_point8= -wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); -wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); -wave_1_per_point11= -wave_1_per_point12=x=px; -wave_1_per_point13=y=py; -wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); -wave_1_per_point15= -wave_1_per_point16=r=treb*2; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs*4; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wave_2_per_point80= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.000000 -wavecode_3_g=0.000000 -wavecode_3_b=0.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.283; -wave_3_per_point2=phs=-sample * 0.2; -wave_3_per_point3=tm=q1 + phs*4; -wave_3_per_point4= -wave_3_per_point5=flip=flip+1; -wave_3_per_point6=flip=flip*below(flip,2); -wave_3_per_point7= -wave_3_per_point8=xp=0; -wave_3_per_point9=yp=(flip*0.1*0.6-0.05*0.6)*(sample); -wave_3_per_point10=zp=0; -wave_3_per_point11= -wave_3_per_point12=//spin; -wave_3_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_3_per_point14=sa=sin(ang);ca=cos(ang); -wave_3_per_point15=xr=xp*sa + yp*ca; -wave_3_per_point16=yr=xp*ca - yp*sa; -wave_3_per_point17=zr=zp; -wave_3_per_point18= -wave_3_per_point19=xp=xr; -wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_3_per_point21=zp=zr; -wave_3_per_point22= -wave_3_per_point23=//wrist movement; -wave_3_per_point24=ang=sin(tm*2); -wave_3_per_point25= -wave_3_per_point26=xq=xp; -wave_3_per_point27=sa=sin(ang);ca=cos(ang); -wave_3_per_point28=yq=yp*sa + zp*ca; -wave_3_per_point29=zq=yp*ca - zp*sa; -wave_3_per_point30= -wave_3_per_point31= -wave_3_per_point32=ang=tm*8; -wave_3_per_point33=sa=sin(ang);ca=cos(ang); -wave_3_per_point34=xp=xq*sa + yq*ca; -wave_3_per_point35=yp=xq*ca - yq*sa; -wave_3_per_point36=zp=zq; -wave_3_per_point37= -wave_3_per_point38=//forearm movement; -wave_3_per_point39=zp=zp-0.3; -wave_3_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_3_per_point41=xq=xp; -wave_3_per_point42=sa=sin(ang);ca=cos(ang); -wave_3_per_point43=yq=yp*sa + zp*ca; -wave_3_per_point44=zq=yp*ca - zp*sa; -wave_3_per_point45= -wave_3_per_point46=//upper arm twist -wave_3_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_3_per_point48=xp=xq*sa + yq*ca; -wave_3_per_point49=yp=xq*ca - yq*sa; -wave_3_per_point50=zp=zq; -wave_3_per_point51= -wave_3_per_point52=//upper arm outward; -wave_3_per_point53=zp=zp-0.35; -wave_3_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_3_per_point55=sa=sin(ang);ca=cos(ang); -wave_3_per_point56=xq=xp*sa + zp*ca; -wave_3_per_point57=yq=yp; -wave_3_per_point58=zq=xp*ca - zp*sa; -wave_3_per_point59= -wave_3_per_point60=//upper arm up down; -wave_3_per_point61=ang=cos(tm); -wave_3_per_point62=xp=xq; -wave_3_per_point63=sa=sin(ang);ca=cos(ang); -wave_3_per_point64=yp=yq*ca - zq*sa; -wave_3_per_point65=zp=yq*sa + zq*ca; -wave_3_per_point66= -wave_3_per_point67=//xp=xq;yp=yq;zp=zq; -wave_3_per_point68= -wave_3_per_point69= -wave_3_per_point70=//project into screenspace and draw on screen -wave_3_per_point71=zp=zp+1.5; -wave_3_per_point72=xs=xp/zp; -wave_3_per_point73=ys=yp/zp; -wave_3_per_point74= -wave_3_per_point75=x=xs+0.5; -wave_3_per_point76=y=ys*1.3+0.5; -wave_3_per_point77= -wave_3_per_point78= -wave_3_per_point79=a=(1-sample); -wave_3_per_point80= -wave_3_per_point81=//fade=min((1-sample)*1.4,1); -wave_3_per_point82=//b=b*fade; -wave_3_per_point83=//g=g*fade; -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=1 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=1.000000 -shapecode_0_y=0.590000 -shapecode_0_rad=0.559231 -shapecode_0_ang=3.392920 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=100.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); -shapecode_1_enabled=0 -shapecode_1_sides=13 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.900000 -shapecode_1_y=0.840000 -shapecode_1_rad=0.364567 -shapecode_1_ang=3.078761 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=4.141463 -shapecode_1_r=0.250000 -shapecode_1_g=0.050000 -shapecode_1_b=0.000000 -shapecode_1_a=0.200000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.500000 -shapecode_1_border_g=0.500000 -shapecode_1_border_b=0.500000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//additive=above(sin(time*50),.95); -shapecode_2_enabled=1 -shapecode_2_sides=6 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.300000 -shapecode_2_y=0.700000 -shapecode_2_rad=1.089252 -shapecode_2_ang=0.816814 -shapecode_2_tex_ang=3.141592 -shapecode_2_tex_zoom=0.504215 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; -shape_2_per_frame2=ang=ang + sin(time*0.5)*0.1 -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.284278 -shapecode_3_ang=3.141593 -shapecode_3_tex_ang=4.900885 -shapecode_3_tex_zoom=2.987755 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.950000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=ang=time/10; -shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); -shape_3_per_frame3=var=above(bass_att,0.7); -shape_3_per_frame4=a=var; -shape_3_per_frame5=a2=var; -shape_3_per_frame6=border_a=var; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 -shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi -shape_3_per_frame11=//On a Radion_9600 -shape_3_per_frame12=//1280*1024_Screen_Resolution -shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! -per_frame_1=decay=.999; -per_frame_2=wrap=sin(time*10); -per_frame_3=mv_dx=bass; -per_frame_4=ib_a=.005; -per_frame_5= -per_frame_6= -per_frame_7=vol=(bass+mid+treb)*0.25; -per_frame_8=vol=vol*vol; -per_frame_9= -per_frame_10=mtime=mtime+vol*0.01*(55/fps); -per_frame_11= -per_frame_12=q1=mtime*0.5; -per_frame_13= -per_frame_14=ob_r = sin(mtime*0.3)*0.5 + 0.5; -per_frame_15=ob_g = sin(mtime*0.3 + 2.1)*0.5 + 0.5; -per_frame_16=ob_b = sin(mtime*0.3 + 4.2)*0.5 + 0.5 -per_pixel_1=zoom=1.005-(rad/100); -per_pixel_2=rot=rad/600; -per_pixel_3=sy=-1; diff --git a/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix.milk b/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix.milk deleted file mode 100644 index 95da1b66b5..0000000000 --- a/presets_milkdrop_104/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix.milk +++ /dev/null @@ -1,410 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.965000 -fVideoEchoZoom=1.483827 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.010000 -fWarpScale=1.470245 -fZoomExponent=4.778023 -fShader=0.000000 -zoom=0.998162 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.001828 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=4.800001 -mv_dx=0.400000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.000000 -mv_g=0.500000 -mv_b=1.000000 -mv_a=0.100000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.060000 -wave_0_per_point1=xspout=.5; -wave_0_per_point2=yspout=-.01; -wave_0_per_point3= -wave_0_per_point4=pphase=9999*sample*sample*.0001; -wave_0_per_point5=pphase2=.1+((sample*3349*sample)%100)*.01; -wave_0_per_point6=pheight=((sample*9893)%100)*.002; -wave_0_per_point7=yheight=((sample*1231*sample)%100)*.01; -wave_0_per_point8= -wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); -wave_0_per_point10=g=((sample*9954)%100)*.01; -wave_0_per_point11= -wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point14= -wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); -wave_0_per_point16= -wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); -wave_0_per_point18= -wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); -wave_0_per_point20= -wave_0_per_point21=x=px; -wave_0_per_point22=y=py; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); -wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.2); -wave_1_per_point3= -wave_1_per_point4=//xspout=.5; -wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); -wave_1_per_point6=//yspout=.5; -wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); -wave_1_per_point8= -wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); -wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); -wave_1_per_point11= -wave_1_per_point12=x=px; -wave_1_per_point13=y=py; -wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); -wave_1_per_point15= -wave_1_per_point16=r=treb*2; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=phs=-sample * 0.2; -wave_2_per_point3=tm=q1 + phs*4; -wave_2_per_point4= -wave_2_per_point5=flip=flip+1; -wave_2_per_point6=flip=flip*below(flip,2); -wave_2_per_point7= -wave_2_per_point8=xp=0; -wave_2_per_point9=yp=(flip*0.1-0.05)*(sample); -wave_2_per_point10=zp=0; -wave_2_per_point11= -wave_2_per_point12=//spin; -wave_2_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4; -wave_2_per_point14=sa=sin(ang);ca=cos(ang); -wave_2_per_point15=xr=xp*sa + yp*ca; -wave_2_per_point16=yr=xp*ca - yp*sa; -wave_2_per_point17=zr=zp; -wave_2_per_point18= -wave_2_per_point19=xp=xr; -wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05; -wave_2_per_point21=zp=zr; -wave_2_per_point22= -wave_2_per_point23=//wrist movement; -wave_2_per_point24=ang=sin(tm*2); -wave_2_per_point25= -wave_2_per_point26=xq=xp; -wave_2_per_point27=sa=sin(ang);ca=cos(ang); -wave_2_per_point28=yq=yp*sa + zp*ca; -wave_2_per_point29=zq=yp*ca - zp*sa; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32=ang=tm*8; -wave_2_per_point33=sa=sin(ang);ca=cos(ang); -wave_2_per_point34=xp=xq*sa + yq*ca; -wave_2_per_point35=yp=xq*ca - yq*sa; -wave_2_per_point36=zp=zq; -wave_2_per_point37= -wave_2_per_point38=//forearm movement; -wave_2_per_point39=zp=zp-0.3; -wave_2_per_point40=ang=3.14 + sin(tm*2 - 0.5)*2.5; -wave_2_per_point41=xq=xp; -wave_2_per_point42=sa=sin(ang);ca=cos(ang); -wave_2_per_point43=yq=yp*sa + zp*ca; -wave_2_per_point44=zq=yp*ca - zp*sa; -wave_2_per_point45= -wave_2_per_point46=//upper arm twist -wave_2_per_point47=ang=-1.0 + cos(tm*3 + 0.5); -wave_2_per_point48=xp=xq*sa + yq*ca; -wave_2_per_point49=yp=xq*ca - yq*sa; -wave_2_per_point50=zp=zq; -wave_2_per_point51= -wave_2_per_point52=//upper arm outward; -wave_2_per_point53=zp=zp-0.35; -wave_2_per_point54=ang=cos(tm*1)*1.75 - 1.05; -wave_2_per_point55=sa=sin(ang);ca=cos(ang); -wave_2_per_point56=xq=xp*sa + zp*ca; -wave_2_per_point57=yq=yp; -wave_2_per_point58=zq=xp*ca - zp*sa; -wave_2_per_point59= -wave_2_per_point60=//upper arm up down; -wave_2_per_point61=ang=cos(tm); -wave_2_per_point62=xp=xq; -wave_2_per_point63=sa=sin(ang);ca=cos(ang); -wave_2_per_point64=yp=yq*ca - zq*sa; -wave_2_per_point65=zp=yq*sa + zq*ca; -wave_2_per_point66= -wave_2_per_point67=//xp=xq;yp=yq;zp=zq; -wave_2_per_point68= -wave_2_per_point69= -wave_2_per_point70=//project into screenspace and draw on screen -wave_2_per_point71=zp=zp+1.5; -wave_2_per_point72=xs=xp/zp; -wave_2_per_point73=ys=yp/zp; -wave_2_per_point74= -wave_2_per_point75=x=xs+0.5; -wave_2_per_point76=y=ys*1.3+0.5; -wave_2_per_point77= -wave_2_per_point78= -wave_2_per_point79=a=(1-sample); -wave_2_per_point80= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=q1; -wave_3_per_frame2= -wave_3_per_frame3=t7=.0; -wave_3_per_frame4=t8=.45; -wave_3_per_frame5= -wave_3_per_frame6=ddx=.25*cos(5.7119*t1)+2.5963*t1*sin(5.7119*t1); -wave_3_per_frame7=ddy=.3125*sin(5.7119*t1)-3.2453*t1*cos(5.7119*t1); -wave_3_per_frame8=ddtan=atan2(ddy,ddx); -wave_3_per_frame9=t2=-ddtan; -wave_3_per_frame10= -wave_3_per_frame11=val1=((-.5*cos(5.7119*t1))*cos(t2)-(-.625*sin(5.7119*t1))*sin(t2)); -wave_3_per_frame12=val2=((-.5*cos(5.7119*t1))*sin(t2)+(-.625*sin(5.7119*t1))*cos(t2)); -wave_3_per_frame13= -wave_3_per_frame14=t6=-sign(t1); -wave_3_per_frame15=t7=t7-val1; -wave_3_per_frame16=t8=t8-val2; -wave_3_per_frame17= -wave_3_per_frame18=t3=q2; -wave_3_per_point1=sample=pow(sample,.85); -wave_3_per_point2= -wave_3_per_point3=c1=6.2831*t1/(1.1-sample); -wave_3_per_point4=c=cos(c1); -wave_3_per_point5=s=sin(c1); -wave_3_per_point6=c2=sqrt(1-sample); -wave_3_per_point7= -wave_3_per_point8=ox=t7-.5*c2*c; -wave_3_per_point9=oy=t8-.625*c2*s; -wave_3_per_point10= -wave_3_per_point11=x=t7+((ox-t7)*cos(t2)-(oy-t8)*sin(t2)); -wave_3_per_point12=y=t8+((ox-t7)*sin(t2)+(oy-t8)*cos(t2)); -wave_3_per_point13= -wave_3_per_point14=inv=1/sqr(1.1-sample); -wave_3_per_point15=fdx=-.25*pow(1-sample,-.5)*c-c2*s*3.1415*t1*inv; -wave_3_per_point16=fdy=-.3125*c2*s+3.9268*c2*c*t1*inv; -wave_3_per_point17=invMag=1/sqrt(sqr(fdx)+sqr(fdy)); -wave_3_per_point18=fdx=fdx*invMag; -wave_3_per_point19=fdy=fdy*invMag; -wave_3_per_point20= -wave_3_per_point21=rdx=fdx*cos(1.5707+t2)-fdy*sin(1.5707+t2); -wave_3_per_point22=rdy=fdx*sin(1.5707+t2)+fdx*cos(1.5707+t2); -wave_3_per_point23=tt=rand(100)/100; -wave_3_per_point24=x=x+rdx*(.15*tt)*(1-sample); -wave_3_per_point25=y=y+rdy*(.15*tt)*(1-sample); -wave_3_per_point26= -wave_3_per_point27=x=x*.55; -wave_3_per_point28=y=(y-.5)*.55+.5; -wave_3_per_point29= -wave_3_per_point30=r=sample; -wave_3_per_point31=g=1-sample; -wave_3_per_point32=b=1; -wave_3_per_point33=a=below(sample,.995); -wave_3_per_point34= -wave_3_per_point35= -wave_3_per_point36=y=y+t3; -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=1 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=1.000000 -shapecode_0_y=0.590000 -shapecode_0_rad=0.559231 -shapecode_0_ang=3.392920 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=100.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=x=sin(time/10)*0.1+0.5+(treb_att*0.1); -shapecode_1_enabled=0 -shapecode_1_sides=13 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.900000 -shapecode_1_y=0.840000 -shapecode_1_rad=0.364567 -shapecode_1_ang=3.078761 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=4.141463 -shapecode_1_r=0.250000 -shapecode_1_g=0.050000 -shapecode_1_b=0.000000 -shapecode_1_a=0.200000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.500000 -shapecode_1_border_g=0.500000 -shapecode_1_border_b=0.500000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//additive=above(sin(time*50),.95); -shapecode_2_enabled=1 -shapecode_2_sides=6 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.300000 -shapecode_2_y=0.700000 -shapecode_2_rad=1.089252 -shapecode_2_ang=0.816814 -shapecode_2_tex_ang=3.141592 -shapecode_2_tex_zoom=0.504215 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=//tex_ang=(sin(time/4)*0.5+0.5)*6.28; -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.284278 -shapecode_3_ang=3.141593 -shapecode_3_tex_ang=4.900885 -shapecode_3_tex_zoom=2.987755 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.950000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=ang=time/10; -shape_3_per_frame2=tex_zoom=3.4+(bass*0.03); -shape_3_per_frame3=var=above(bass_att,0.7); -shape_3_per_frame4=a=var; -shape_3_per_frame5=a2=var; -shape_3_per_frame6=border_a=var; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=//This preset fluctuates between 53.2 and 55.44 fps on my box. Texture size_2048 Meshsize_36*24 -shape_3_per_frame10=//On a SuperScan Pro 800 Hitachi -shape_3_per_frame11=//On a Radion_9600 -shape_3_per_frame12=//1280*1024_Screen_Resolution -shape_3_per_frame13=//;) hello! I am ATHEN ANDANDA! -per_frame_1=decay=.999; -per_frame_2=wrap=sin(time*10); -per_frame_3=mv_dx=bass; -per_frame_4=ib_a=.005; -per_frame_5= -per_frame_6= -per_frame_7=vol=(bass+mid+treb)*0.25; -per_frame_8=vol=vol*vol; -per_frame_9= -per_frame_10=mtime=mtime+vol*0.01*(55/fps); -per_frame_11= -per_frame_12=q1=time*0.5; -per_pixel_1=zoom=1.005-(rad/100); -per_pixel_2=rot=rad/600; -per_pixel_3=sy=-1; diff --git a/presets_milkdrop_104/Phat_Eo.S. Eyes_spiral_mix.milk b/presets_milkdrop_104/Phat_Eo.S. Eyes_spiral_mix.milk deleted file mode 100644 index 4dee20a46d..0000000000 --- a/presets_milkdrop_104/Phat_Eo.S. Eyes_spiral_mix.milk +++ /dev/null @@ -1,344 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850100 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.799999 -mv_r=0.300000 -mv_g=0.210000 -mv_b=0.110000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.03; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.10; -wave_0_per_point4=yp=cos(smp )*0.10; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=ib_r=sin(time)*0.5+0.5; -per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; -per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; -per_frame_8= -per_frame_9=ob_r=ib_r-0.5; -per_frame_10=ob_g=ib_g-0.5; -per_frame_11=ob_b=ib_b-0.5; -per_frame_12=q1=ib_r; -per_frame_13=q2=ib_g; -per_frame_14=q3=ib_b; -per_frame_15= -per_frame_16= -per_frame_17= -per_frame_18=decay = .98; -per_frame_19= -per_frame_20= -per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_22=//solarize=above(0.5,bass); -per_frame_23=//darken=above(0.4,treb); -per_frame_24= -per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); -per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); -per_frame_27= -per_frame_28= -per_frame_29=xpos=sin(musictime*0.6)*0.1; -per_frame_30=ypos=sin(musictime*0.4)*0.3; -per_frame_31=q4=xpos; -per_frame_32=q5=ypos; -per_frame_33=q6=basstime; -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=1.02; -per_pixel_9= -per_pixel_10=//move center based on musictime -per_pixel_11=cx=0.5+q4; -per_pixel_12=cy=0.5-q5; -per_pixel_13= -per_pixel_14=//adjust x,y values based on musictime -per_pixel_15=nx=(x-0.5-q4)*2; -per_pixel_16=ny=(y-0.5+q5)*1.5; -per_pixel_17= -per_pixel_18=//radians based on adjusted x,y -per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); -per_pixel_20= -per_pixel_21=//ang based on adjusted x,y -per_pixel_22=ag=atan( ny/nx ); -per_pixel_23= -per_pixel_24=zm=(1.1-(rd/4)); -per_pixel_25=//zm=1; -per_pixel_26= -per_pixel_27=shapechange=sin(q6*0.2)*5+5; -per_pixel_28= -per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; -per_pixel_30=star=star*star*3 -0.4; -per_pixel_31=star=star*treb*treb*0.5; -per_pixel_32=zm=zm+star*0.1; -per_pixel_33=sx=zm; -per_pixel_34=sy=zm; -per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4); -per_pixel_36= -per_pixel_37=dx=sin(y*40)*(q4*0.05); -per_pixel_38=dy=cos(x*40)*(q4*0.05); diff --git a/presets_milkdrop_104/Phat_Eo.S. rainbow bubble_mid3-fuck me dood.milk b/presets_milkdrop_104/Phat_Eo.S. rainbow bubble_mid3-fuck me dood.milk deleted file mode 100644 index 015b9e57f7..0000000000 --- a/presets_milkdrop_104/Phat_Eo.S. rainbow bubble_mid3-fuck me dood.milk +++ /dev/null @@ -1,341 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.799999 -mv_r=0.300000 -mv_g=0.210000 -mv_b=0.110000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.03; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=ib_r=sin(time)*0.5+0.5; -per_frame_6=ib_g=sin(time+2.1)*0.5+0.5; -per_frame_7=ib_b=sin(time+4.2)*0.5+0.5; -per_frame_8= -per_frame_9=ob_r=ib_r-0.5; -per_frame_10=ob_g=ib_g-0.5; -per_frame_11=ob_b=ib_b-0.5; -per_frame_12=q1=ib_r; -per_frame_13=q2=ib_g; -per_frame_14=q3=ib_b; -per_frame_15= -per_frame_16= -per_frame_17= -per_frame_18=decay = 0.99; -per_frame_19= -per_frame_20= -per_frame_21=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_22=//solarize=above(0.5,bass); -per_frame_23=//darken=above(0.4,treb); -per_frame_24= -per_frame_25=musictime=musictime+(mid*mid)*0.003*(75/fps); -per_frame_26=basstime=basstime+(bass*bass)*0.03*(75/fps); -per_frame_27= -per_frame_28= -per_frame_29=xpos=sin(musictime*0.6)*0.3; -per_frame_30=ypos=sin(musictime*0.4)*0.3; -per_frame_31=q4=xpos; -per_frame_32=q5=ypos; -per_frame_33=q6=basstime -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=1; -per_pixel_9= -per_pixel_10=//move center based on musictime -per_pixel_11=cx=0.5+q4; -per_pixel_12=cy=0.5-q5; -per_pixel_13= -per_pixel_14=//adjust x,y values based on musictime -per_pixel_15=nx=(x-0.5-q4)*2; -per_pixel_16=ny=(y-0.5+q5)*1.5; -per_pixel_17= -per_pixel_18=//radians based on adjusted x,y -per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); -per_pixel_20= -per_pixel_21=//ang based on adjusted x,y -per_pixel_22=ag=atan( ny/nx ); -per_pixel_23= -per_pixel_24=zm=(1.1-(rd/4)); -per_pixel_25=//zm=1; -per_pixel_26= -per_pixel_27=shapechange=sin(q6*0.2)*5+5; -per_pixel_28= -per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rad)*0.5 + 0.5; -per_pixel_30=star=star*star*3 -0.4; -per_pixel_31=star=star*treb*treb*0.5; -per_pixel_32=zm=zm+star*0.1; -per_pixel_33=sx=zm; -per_pixel_34=sy=zm; -per_pixel_35=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*4) diff --git a/presets_milkdrop_104/Phat_Eo.S._Data_swimmer.milk b/presets_milkdrop_104/Phat_Eo.S._Data_swimmer.milk deleted file mode 100644 index 8f7768906f..0000000000 --- a/presets_milkdrop_104/Phat_Eo.S._Data_swimmer.milk +++ /dev/null @@ -1,355 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.30; -wave_0_per_point4=yp=cos(smp )*0.30; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17= -per_frame_18= -per_frame_19=ib_r=tan(time*24); -per_frame_20=ib_r=min(ib_r,1); -per_frame_21=ib_r=max(ib_r,0); -per_frame_22=ib_g=tan(time*24+3.14); -per_frame_23=ib_g=min(ib_g,1); -per_frame_24=ib_g=max(ib_g,0); -per_frame_25=ib_b=tan(time*24+6.28); -per_frame_26=ib_b=min(ib_b,1); -per_frame_27=ib_b=max(ib_b,0); -per_frame_28= -per_frame_29=ob_r=ib_r-0.5; -per_frame_30=ob_g=ib_g-0.5; -per_frame_31=ob_b=ib_b-0.5; -per_frame_32=q1=ib_rr; -per_frame_33=q2=1-ib_gg; -per_frame_34=q3=ib_bb; -per_frame_35= -per_frame_36= -per_frame_37= -per_frame_38=decay = 1; -per_frame_39= -per_frame_40= -per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_42=//solarize=above(0.5,bass); -per_frame_43=//darken=above(0.4,treb); -per_frame_44= -per_frame_45=musictime=musictime+(mid*mid*mid)*0.01*(75/fps); -per_frame_46= -per_frame_47=xpos=sin(musictime*0.6)*0.5; -per_frame_48=ypos=sin(musictime*0.4)*0.5; -per_frame_49=q4=xpos; -per_frame_50=q5=ypos; -per_frame_51= -per_frame_52= -per_frame_53=//invert=above(sin(time),0.5); -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=.91; -per_pixel_9= -per_pixel_10=cx=0.5+q4; -per_pixel_11=cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=1.00; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); -per_pixel_18=star=min(star,8);star=max(star,-8); -per_pixel_19=zm=zm+star/20; -per_pixel_20=sx=zm; -per_pixel_21=sy=zm; -per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; -per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; -per_pixel_25= -per_pixel_26=b1a=mid*0.13; -per_pixel_27=b1b=(bass+mid+treb)*0.12; -per_pixel_28=b1=b1b *1.1*rd*rd*rd*rd; -per_pixel_29=zoom=0.97+(b1*.1); diff --git a/presets_milkdrop_104/Phat_Eo.S._Swim_waveform_mix.milk b/presets_milkdrop_104/Phat_Eo.S._Swim_waveform_mix.milk deleted file mode 100644 index a18388658e..0000000000 --- a/presets_milkdrop_104/Phat_Eo.S._Swim_waveform_mix.milk +++ /dev/null @@ -1,350 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.30; -wave_0_per_point4=yp=cos(smp )*0.30; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_rr = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_gg = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_bb = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17= -per_frame_18= -per_frame_19=ib_r=tan(time*24); -per_frame_20=ib_r=min(ib_r,1); -per_frame_21=ib_r=max(ib_r,0); -per_frame_22=ib_g=tan(time*24+3.14); -per_frame_23=ib_g=min(ib_g,1); -per_frame_24=ib_g=max(ib_g,0); -per_frame_25=ib_b=tan(time*24+6.28); -per_frame_26=ib_b=min(ib_b,1); -per_frame_27=ib_b=max(ib_b,0); -per_frame_28= -per_frame_29=ob_r=ib_r-0.5; -per_frame_30=ob_g=ib_g-0.5; -per_frame_31=ob_b=ib_b-0.5; -per_frame_32=q1=ib_rr; -per_frame_33=q2=1-ib_gg; -per_frame_34=q3=ib_bb; -per_frame_35= -per_frame_36= -per_frame_37= -per_frame_38=decay = 1; -per_frame_39= -per_frame_40= -per_frame_41=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_42=//solarize=above(0.5,bass); -per_frame_43=//darken=above(0.4,treb); -per_frame_44= -per_frame_45=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); -per_frame_46= -per_frame_47=xpos=sin(musictime*0.6)*0.3; -per_frame_48=ypos=sin(musictime*0.4)*0.3; -per_frame_49=q4=xpos; -per_frame_50=q5=ypos; -per_frame_51= -per_frame_52= -per_frame_53=//invert=above(sin(time),0.5); -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=.97; -per_pixel_9= -per_pixel_10=cx=0.5+q4; -per_pixel_11=cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=1; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=(sin(ag/5)*(2-rd)+pow((tan(rd*6.28*32)*0.5+0.5),2)*0.1)+(rd/3); -per_pixel_18=star=min(star,8);star=max(star,-8); -per_pixel_19=zm=zm+star/20; -per_pixel_20=sx=zm; -per_pixel_21=sy=zm; -per_pixel_22=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_23=dx=sin(x*50)*(bass*0.005)*ag; -per_pixel_24=dy=cos(y*50)*(bass*0.005)*ag; diff --git a/presets_milkdrop_104/Phat_Zylot_Eo.S. I_hope_someone_will_see_this_triping_v2.milk b/presets_milkdrop_104/Phat_Zylot_Eo.S. I_hope_someone_will_see_this_triping_v2.milk deleted file mode 100644 index 3a010d60cb..0000000000 --- a/presets_milkdrop_104/Phat_Zylot_Eo.S. I_hope_someone_will_see_this_triping_v2.milk +++ /dev/null @@ -1,335 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.05; -wave_0_per_point4=yp=cos(smp )*0.05; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=ob_r=ib_r-0.5; -per_frame_18=ob_g=ib_g-0.5; -per_frame_19=ob_b=ib_b-0.5; -per_frame_20=q1=ib_r; -per_frame_21=q2=ib_g; -per_frame_22=q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay = 0.9999; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); -per_frame_34= -per_frame_35=xpos=sin(musictime*0.6)*0.6; -per_frame_36=ypos=sin(musictime*0.4)*0.6; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos -per_frame_39= -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=//zoom=-1; -per_pixel_9=sx=-1+(bass*0.2); -per_pixel_10=sy=-1-(treb*0.2); -per_pixel_11= -per_pixel_12=cx=0.5+q4; -per_pixel_13=cy=0.5-q5; -per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_15=//zm=(1.1-(rd/4)); -per_pixel_16=zm=.994; -per_pixel_17= -per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; -per_pixel_20=zm=zm+star/20; -per_pixel_21=sx=zm; -per_pixel_22=sy=zm; -per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets_milkdrop_104/Phat_Zylot_Eo.S. rainbow bubble_mid3-fuck me dood-flash.milk b/presets_milkdrop_104/Phat_Zylot_Eo.S. rainbow bubble_mid3-fuck me dood-flash.milk deleted file mode 100644 index 5cfea5d38d..0000000000 --- a/presets_milkdrop_104/Phat_Zylot_Eo.S. rainbow bubble_mid3-fuck me dood-flash.milk +++ /dev/null @@ -1,352 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.015000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.799999 -mv_r=0.300000 -mv_g=0.210000 -mv_b=0.110000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14=ib_bass=min(bass_att*1+0.2 , 1); -per_frame_15=ib_r=ib_r*ib_bass; -per_frame_16=ib_g=ib_g*ib_bass; -per_frame_17=ib_b=ib_b*ib_bass; -per_frame_18=gamma=1+min(bass,1)*0.3; -per_frame_19= -per_frame_20= -per_frame_21=ob_r=ib_r-0.5; -per_frame_22=ob_g=ib_g-0.5; -per_frame_23=ob_b=ib_b-0.5; -per_frame_24=q1=ib_r; -per_frame_25=q2=ib_g; -per_frame_26=q3=ib_b; -per_frame_27= -per_frame_28= -per_frame_29= -per_frame_30=decay = 0.99; -per_frame_31= -per_frame_32= -per_frame_33=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_34=//solarize=above(0.5,bass); -per_frame_35=//darken=above(0.4,treb); -per_frame_36= -per_frame_37=musictime=musictime+(bass*bass)*0.003*(75/fps); -per_frame_38=basstime=basstime+(bass*bass)*0.03*(75/fps); -per_frame_39= -per_frame_40= -per_frame_41=xpos=sin(musictime*0.6)*0.2; -per_frame_42=ypos=sin(musictime*0.4)*0.2; -per_frame_43=q4=xpos; -per_frame_44=q5=ypos; -per_frame_45=q6=basstime -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=1; -per_pixel_9= -per_pixel_10=//move center based on musictime -per_pixel_11=cx=0.5+q4; -per_pixel_12=cy=0.5-q5; -per_pixel_13= -per_pixel_14=//adjust x,y values based on musictime -per_pixel_15=nx=(x-0.5-q4)*2; -per_pixel_16=ny=(y-0.5+q5)*1.5; -per_pixel_17= -per_pixel_18=//radians based on adjusted x,y -per_pixel_19=rd=sqrt( sqr(nx) + sqr(ny) ); -per_pixel_20= -per_pixel_21=//ang based on adjusted x,y -per_pixel_22=ag=atan( ny/nx ); -per_pixel_23= -per_pixel_24=zm=(1.1-(rd/4)); -per_pixel_25=//zm=1; -per_pixel_26= -per_pixel_27=shapechange=sin(q6*0.2)*2+2; -per_pixel_28= -per_pixel_29=star=sin(ag*(2+shapechange)+q6)*(1-rd)*0.5 + 0.5; -per_pixel_30=star=star*star*3 -0.4; -per_pixel_31=zm=zm+star*0.1; -per_pixel_32=sx=zm; -per_pixel_33=sy=zm; -per_pixel_34=rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3)*0.6 * -sin(ag*6) diff --git a/presets_milkdrop_104/Phat_Zylot_Eo.S. spiral_faces_ravers_phantom.milk b/presets_milkdrop_104/Phat_Zylot_Eo.S. spiral_faces_ravers_phantom.milk deleted file mode 100644 index dc55aa04a1..0000000000 --- a/presets_milkdrop_104/Phat_Zylot_Eo.S. spiral_faces_ravers_phantom.milk +++ /dev/null @@ -1,337 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=ob_r=ib_r-0.5; -per_frame_18=ob_g=ib_g-0.5; -per_frame_19=ob_b=ib_b-0.5; -per_frame_20=q1=ib_r; -per_frame_21=q2=ib_g; -per_frame_22=q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay = 1; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; -per_frame_34= -per_frame_35=xpos=sin(musictime*0.6)*0.3; -per_frame_36=ypos=sin(musictime*0.4)*0.3; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos; -per_frame_39= -per_frame_40= -per_frame_41=invert=above(sin(time*200),0.5); -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=.99; -per_pixel_9= -per_pixel_10=cx=0.5+q4; -per_pixel_11=cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=.99; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=sin(ag/5)*(2-rd); -per_pixel_18=zm=zm+star/20; -per_pixel_19=sx=zm; -per_pixel_20=sy=zm; -per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); -per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets_milkdrop_104/Phat_Zylot_Eo.S. work with lines.milk b/presets_milkdrop_104/Phat_Zylot_Eo.S. work with lines.milk deleted file mode 100644 index 506741bf22..0000000000 --- a/presets_milkdrop_104/Phat_Zylot_Eo.S. work with lines.milk +++ /dev/null @@ -1,335 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001827 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=1 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.35; -wave_0_per_point4=yp=cos(smp )*0.35; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=ob_r=ib_r-0.5; -per_frame_18=ob_g=ib_g-0.5; -per_frame_19=ob_b=ib_b-0.5; -per_frame_20=q1=ib_r; -per_frame_21=q2=ib_g; -per_frame_22=q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay =1; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02*(75/fps); -per_frame_34= -per_frame_35=xpos=cos(musictime*0.6)*0.6; -per_frame_36=ypos=sin(musictime*0.4)*0.6; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos -per_frame_39= -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=//zoom=-1; -per_pixel_9=sx=-1+(bass*0.2); -per_pixel_10=sy=-1-(treb*0.2); -per_pixel_11= -per_pixel_12=cx=0.5+q4; -per_pixel_13=cy=0.5-q5; -per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_15=//zm=(1.1-(rd/4)); -per_pixel_16=zm=1; -per_pixel_17= -per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; -per_pixel_20=zm=zm+star/20; -per_pixel_21=sx=zm*rd; -per_pixel_22=sy=zm*rd; -per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets_milkdrop_104/Redi Jedi - acid on a window pane. no more!.milk b/presets_milkdrop_104/Redi Jedi - acid on a window pane. no more!.milk deleted file mode 100644 index b78b2c96d0..0000000000 --- a/presets_milkdrop_104/Redi Jedi - acid on a window pane. no more!.milk +++ /dev/null @@ -1,330 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.935000 -fVideoEchoZoom=1.006593 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.500000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=4.480000 -nMotionVectorsY=4.320000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.500000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=256 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=x=(sin(q2*.1+q1*.01)*.3+.5)+value1*.1; -wave_0_per_point2=y=(cos(q1*.1-q3*.05)*.3+.5)+value2*.1; -wave_0_per_point3= -wave_0_per_point4=r=sin(q2+sample*3.14-treb)*.5+.5; -wave_0_per_point5=g=cos(q3+sample*3.14-bass)*.5+.5; -wave_0_per_point6=b=sin(q1+sample*3.14-mid)*.5+.5; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.542791 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=1 -shapecode_2_thickOutline=1 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.436055 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=rad=q5*.33; -shape_2_per_frame2=y=.75; -shape_2_per_frame3=x=.2; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=db=.01; -per_frame_init_2=beatrate=1; -per_frame_init_3=avgbeatrate=2; -per_frame_init_4=lbbtime=time; -per_frame_init_5=avgdb=.01; -per_frame_init_6=vol=1; -per_frame_init_7=avgvol=.2; -per_frame_init_8=phase=0; -per_frame_init_9=bool=0; -per_frame_init_10=const=.02; -per_frame_init_11= -per_frame_init_12=mtime=1000+bass_att*1000; -per_frame_init_13=t1=500+bass*500; -per_frame_init_14=t2=500+treb*500; -per_frame_init_15=t3=500+mid*500; -per_frame_1=db=(bass-lbass)*fps; -per_frame_2=lbass=bass; -per_frame_3=avgdb=avgdb*.99+abs(db)*.01; -per_frame_4=avgvol=avgvol*.99+(bass+mid+treb)*.0033; -per_frame_5= -per_frame_6=//beatdection -per_frame_7=rawbeatb=above(abs(db),avgdb*avgvol*4); -per_frame_8=beatb=rawbeatb*above(time-lbbtime,avgbeatrate*.5); -per_frame_9=beathard=beatb*(abs(db)-avgdb*4); -per_frame_10=//beatrate calc -per_frame_11=beatrate=beatb*(time-lbbtime)+(1-beatb)*beatrate; -per_frame_12=avgbeatrate=beatb*(avgbeatrate*.9+beatrate*.1)+(1-beatb)*avgbeatrate; -per_frame_13=lbbtime=time*beatb+(1-beatb)*lbbtime; -per_frame_14= -per_frame_15=ph=(time-lbbtime)*(60/avgbeatrate)*const; -per_frame_16=phase=max(min( ph, 1 ),0); -per_frame_17= -per_frame_18=//const=beatb*( bool*(const-.001)+(1-bool)*(const+.001) ) + (1-beatb)*const; -per_frame_19=const=const*(1-beatb)+beatb*( const+ (.01*bool) ); -per_frame_20= -per_frame_21=bool=below(phase,.98)*(.99-ph)-above(phase,.98)*(ph*.5); -per_frame_22= -per_frame_23=bc=bc+beatb; -per_frame_24= -per_frame_25=vol=(rawbeatb*(abs(db)-(avgdb))*.01); -per_frame_26=avgvol=avgvol*.99+vol*.01; -per_frame_27= -per_frame_28=mtime=mtime+min(avgvol*.5,.25)*(60/fps); -per_frame_29= -per_frame_30=decay=.999+(1-phase)*.001; -per_frame_31=warp=0; -per_frame_32=wrap=1; -per_frame_33=zoom=1; -per_frame_34= -per_frame_35=// This is the version you should use... -per_frame_36=// ----------- start copying ----------- -per_frame_37=hue=(mtime*.01+avgdb+phase*.5); // change this -per_frame_38=h=6*(hue-int(hue)); -per_frame_39=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); -per_frame_40=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); -per_frame_41=ob_r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; // resulting Red value, assign it to q1 -per_frame_42=ob_g=sw1*h+sw2+sw3+sw4*(4-h); // resulting Green value, assign it to q2 -per_frame_43=ob_b=sw3*(h-2)+sw4+sw5+sw6*(6-h); // resulting Blue value, assign it to q3 -per_frame_44=// ----------- end ---------------- -per_frame_45= -per_frame_46=bpm=(60/avgbeatrate)*.01; -per_frame_47=t1=t1+min(avgvol*bass_att*.5,.25)*(60/fps)*bpm; -per_frame_48=t2=t2+min(avgvol*treb_att*.5,.25)*(60/fps)*bpm; -per_frame_49=t3=t3+min(avgvol*mid_att*.5,.25)*(60/fps)*bpm; -per_frame_50=monitor=avgvol; -per_frame_51=q1=mtime; -per_frame_52=q2=t1; -per_frame_53=q3=t2; -per_frame_54=q4=t3; -per_frame_55= -per_frame_56=cx=sin(q2*.01)*.5+.5; -per_frame_57=cy=cos(q3*.01)*.5+.5; -per_frame_58=rot=sin(q2*.01-(q3*.01))*15+35; -per_frame_59=mv_a=phase; -per_pixel_1= -per_pixel_2=c=sin(q2*.1); -per_pixel_3=cc=sin(q3*.1); -per_pixel_4=ccc=sin(q4*.1); -per_pixel_5=cx1=.5+ccc*.3; -per_pixel_6=cy1=.5+cc*.4; -per_pixel_7= -per_pixel_8=myx=(cx1-x); -per_pixel_9=myy=(cy1-(1-y)); -per_pixel_10=mrad=pow( myx*myx + myy*myy , .5); -per_pixel_11=mang=asin( abs(myy)/(mrad) ); -per_pixel_12= -per_pixel_13=ax=mang; -per_pixel_14=ay=mang; -per_pixel_15= -per_pixel_16=mrot=.1*(1-mrad)*sin(q1*.01+q2*.1); -per_pixel_17= -per_pixel_18=dx= sign(myy)*sin(ax)*mrot; -per_pixel_19=dy= sign(myx)*(cos(ay)*mrot); -per_pixel_20= -per_pixel_21= -per_pixel_22= -per_pixel_23=cx1=.5+cc*.3; -per_pixel_24=cy1=.5+c*.25+ccc*.25; -per_pixel_25= -per_pixel_26=myx=(cx1-x); -per_pixel_27=myy=(cy1-(1-y)); -per_pixel_28=mrad=pow( myx*myx + myy*myy , .5); -per_pixel_29=mang=asin( abs(myy)/(mrad) ); -per_pixel_30= -per_pixel_31=ax=mang; -per_pixel_32=ay=mang; -per_pixel_33= -per_pixel_34=mrot=.1*(1-mrad)*sin(q3*.02+q1*.3); -per_pixel_35= -per_pixel_36=dx= dx - sign(myy)*sin(ax)*mrot; -per_pixel_37=dy= dy - sign(myx)*(cos(ay)*mrot); -per_pixel_38= -per_pixel_39= -per_pixel_40= diff --git a/presets_milkdrop_104/Rovastar - Trippy S..milk b/presets_milkdrop_104/Rovastar - Trippy S..milk deleted file mode 100644 index ef861cf995..0000000000 --- a/presets_milkdrop_104/Rovastar - Trippy S..milk +++ /dev/null @@ -1,65 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2 -fDecay=0.96 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.52509 -fWaveSmoothing=0.36 -fWaveParam=-0.5 -fModWaveAlphaStart=0.71 -fModWaveAlphaEnd=1.3 -fWarpAnimSpeed=1 -fWarpScale=1.331 -fZoomExponent=1 -fShader=0 -zoom=1.070549 -rot=0.02 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=0.198054 -sx=1 -sy=1 -wave_r=0.65 -wave_g=0.65 -wave_b=0.65 -wave_x=0.5 -wave_y=0.5 -ob_size=0.01 -ob_r=0 -ob_g=0 -ob_b=0 -ob_a=0 -ib_size=0.01 -ib_r=0.25 -ib_g=0.25 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -mv_l=0.9 -mv_r=1 -mv_g=1 -mv_b=1 -mv_a=0 -per_frame_1=ff = frame/100; -per_frame_2=wave_r = sin(5*ff/2)/2+0.5; -per_frame_3=wave_g = cos(ff/3)/2+0.5; -per_frame_4=wave_b = cos(3*ff/2)/2+0.5; -per_pixel_1=rot=0.1*(2*abs((sin(time)-0.5))-ang); diff --git a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Slide Plane).milk b/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Slide Plane).milk deleted file mode 100644 index 1c384fa19d..0000000000 --- a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (Slide Plane).milk +++ /dev/null @@ -1,284 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.052900 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.020000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.050000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=0.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=tic = time - tir; -wave_0_per_frame2=tir = time; -wave_0_per_frame3= -wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); -wave_0_per_frame5=t1 = mixa - int(mixa); -wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); -wave_0_per_frame7=t2 = mixb - int(mixb); -wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); -wave_0_per_frame9=t3 = mixc - int(mixc); -wave_0_per_point1=it = (it+1)*above(sample,0); -wave_0_per_point2= -wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); -wave_0_per_point4= -wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); -wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; -wave_0_per_point7= -wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; -wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); -wave_0_per_point10= -wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); -wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); -wave_0_per_point13= -wave_0_per_point14=b = 1; -wave_0_per_point15=r = equal(mx,0)*.8; -wave_0_per_point16=g = equal(mx,0)*1; -wave_0_per_point17=a = equal(mx,0)*below(dc,4); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.100000 -shapecode_0_a2=0.060000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q7; -shape_0_per_frame2=y=.5+q8; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.164463 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.136686 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.600000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = .5 + q7; -shape_2_per_frame2=y = .5 + q8; -shapecode_3_enabled=0 -shapecode_3_sides=50 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = .5 - q7; -shape_3_per_frame2=y = .5 - q8; -shape_3_per_frame3= -shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); -shape_3_per_frame5= -shape_3_per_frame6=a = max(1 - d*4,0); -shape_3_per_frame7=a2 = max(1 - d*4*2,0); -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=warp = 0; -per_frame_4= -per_frame_5=tic = min(time - tin,.1); -per_frame_6=tin = time; -per_frame_7= -per_frame_8=ra = 10; -per_frame_9= -per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_13= -per_frame_14=rb = 1; -per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_16= -per_frame_17=q1 = treb_avg; -per_frame_18=q2 = mid_avg; -per_frame_19=q3 = bass_avg; -per_frame_20=q4 = vav; -per_frame_21= -per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); -per_frame_23= -per_frame_24=q7=sin(mt*0.02)*0.1; -per_frame_25=q8=sin(mt*0.01)*0.1; -per_frame_26= -per_frame_27=dx=sin(mt*0.1)*0.07; -per_frame_28=dy=cos(mt*0.069)*0.07; -per_frame_29= -per_frame_30=monitor = mt; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*1) + sqr( (y-0.5+q8)*1.9 ) ); -per_pixel_2= -per_pixel_3=zoom=(rad+sin(rd-3.5)); diff --git a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (inside the neural net).milk b/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (inside the neural net).milk deleted file mode 100644 index bcdb5e9d86..0000000000 --- a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (inside the neural net).milk +++ /dev/null @@ -1,288 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.104430 -fVideoEchoAlpha=0.850000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=0.796895 -fWarpScale=1.331000 -fZoomExponent=0.741798 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.094414 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.020000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=tic = time - tir; -wave_0_per_frame2=tir = time; -wave_0_per_frame3= -wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); -wave_0_per_frame5=t1 = mixa - int(mixa); -wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); -wave_0_per_frame7=t2 = mixb - int(mixb); -wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); -wave_0_per_frame9=t3 = mixc - int(mixc); -wave_0_per_point1=it = (it+1)*above(sample,0); -wave_0_per_point2= -wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); -wave_0_per_point4= -wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); -wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; -wave_0_per_point7= -wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; -wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); -wave_0_per_point10= -wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); -wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); -wave_0_per_point13= -wave_0_per_point14=b = 1; -wave_0_per_point15=r = equal(mx,0)*.8; -wave_0_per_point16=g = equal(mx,0)*1; -wave_0_per_point17=a = equal(mx,0)*below(dc,4); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491380 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.300000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.500000 -shapecode_0_a2=0.050000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=rad = rad*q6; -shape_0_per_frame2= -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.030001 -shapecode_1_y=0.160001 -shapecode_1_rad=0.049138 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tic = time - tir; -shape_1_per_frame2=tir = time; -shape_1_per_frame3= -shape_1_per_frame4=mix = (mix + q3*tic)*below(mix,10000); -shape_1_per_frame5=x = mix - int(mix); -shape_1_per_frame6=y = .0; -shapecode_2_enabled=1 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.221600 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.136686 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=rad = rad*q6; -shape_2_per_frame2= -shapecode_3_enabled=0 -shapecode_3_sides=24 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.030001 -shapecode_3_y=0.160001 -shapecode_3_rad=0.049138 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.819541 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=tic = time - tir; -shape_3_per_frame2=tir = time; -shape_3_per_frame3= -shape_3_per_frame4=mix = (mix + (q1+q2)*tic*.5)*below(mix,10000); -shape_3_per_frame5=y = mix - int(mix); -shape_3_per_frame6=x = 1; -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=warp = 0; -per_frame_4= -per_frame_5=tic = min(time - tin,.1); -per_frame_6=tin = time; -per_frame_7= -per_frame_8=ra = 10; -per_frame_9= -per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_13= -per_frame_14=rb = 1; -per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_16= -per_frame_17=q1 = treb_avg; -per_frame_18=q2 = mid_avg; -per_frame_19=q3 = bass_avg; -per_frame_20=q4 = vav; -per_frame_21= -per_frame_22= -per_frame_23=tm = if(above(vav,tm),tm + tic,tm - tic*.3); -per_frame_24=td = (td + tic*tm*4)*below(td,10000); -per_frame_25= -per_frame_26=q6 = .75 + sin(td)*.25; -per_frame_27=q7 = tm; -per_frame_28= -per_pixel_1=rd=sqrt( sqr((x-.5)*(1.5 + sin(time*.11)*.2)) + sqr((y-.5)*(3.5 + sin(time*.15)*.2))); -per_pixel_2= -per_pixel_3=sz = .01*q7; -per_pixel_4= -per_pixel_5=zoom=(rd*rd)/2.5 + sz - q6*sz; -per_pixel_6= -per_pixel_7=warp = 2*q4 + max(1-rad*2,0)*8*3*q4; diff --git a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (shattered mind).milk b/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (shattered mind).milk deleted file mode 100644 index 1d796c21a2..0000000000 --- a/presets_milkdrop_104/Shifter & Eo.S+Phat - Fractical dancer (shattered mind).milk +++ /dev/null @@ -1,284 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.052900 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.020000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=tic = time - tir; -wave_0_per_frame2=tir = time; -wave_0_per_frame3= -wave_0_per_frame4=mixa = (mixa + q1*tic)*below(mixa,10000); -wave_0_per_frame5=t1 = mixa - int(mixa); -wave_0_per_frame6=mixb = (mixb + q2*tic)*below(mixb,10000); -wave_0_per_frame7=t2 = mixb - int(mixb); -wave_0_per_frame8=mixc = (mixc + q3*tic)*below(mixc,10000); -wave_0_per_frame9=t3 = mixc - int(mixc); -wave_0_per_point1=it = (it+1)*above(sample,0); -wave_0_per_point2= -wave_0_per_point3=dc = (dc + equal(it%48,0))*above(sample,0); -wave_0_per_point4= -wave_0_per_point5=lx = t1*equal(dc,0) + (1-t3)*(equal(dc,2) + equal(dc,1)) + t2*equal(dc,3); -wave_0_per_point6=ly = 0 + (equal(dc,1) + equal(dc,3))*.975; -wave_0_per_point7= -wave_0_per_point8=mx = equal((it+6)%6,0)*-.1 + equal((it+1)%6,0)*-.1 + equal((it+4)%6,0)*.1 + equal((it+3)%6,0)*.1; -wave_0_per_point9=my = (my + equal((it+3)%6,0)*.01 + equal((it)%6,0)*.01)*(above(sample,0) - equal((it*.5)%48,0)); -wave_0_per_point10= -wave_0_per_point11=x = if(below(dc,2),lx + mx*.2,ly + my*.1); -wave_0_per_point12=y = if(below(dc,2),ly + my*.1,lx + mx*.2); -wave_0_per_point13= -wave_0_per_point14=b = 1; -wave_0_per_point15=r = equal(mx,0)*.8; -wave_0_per_point16=g = equal(mx,0)*1; -wave_0_per_point17=a = equal(mx,0)*below(dc,4); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.100000 -shapecode_0_a2=0.060000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q7; -shape_0_per_frame2=y=.5+q8; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.164463 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.136686 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.600000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = .5 + q7; -shape_2_per_frame2=y = .5 + q8; -shapecode_3_enabled=0 -shapecode_3_sides=50 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = .5 - q7; -shape_3_per_frame2=y = .5 - q8; -shape_3_per_frame3= -shape_3_per_frame4=d = abs(x-.5) + abs(y-.5); -shape_3_per_frame5= -shape_3_per_frame6=a = max(1 - d*4,0); -shape_3_per_frame7=a2 = max(1 - d*4*2,0); -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=warp = 0; -per_frame_4= -per_frame_5=tic = min(time - tin,.1); -per_frame_6=tin = time; -per_frame_7= -per_frame_8=ra = 10; -per_frame_9= -per_frame_10=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_11=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_12=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_13= -per_frame_14=rb = 1; -per_frame_15=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_16= -per_frame_17=q1 = treb_avg; -per_frame_18=q2 = mid_avg; -per_frame_19=q3 = bass_avg; -per_frame_20=q4 = vav; -per_frame_21= -per_frame_22=mt=(mt+tic*vav*100)*below(mt,10000); -per_frame_23= -per_frame_24=q7=sin(mt*0.02)*0.1; -per_frame_25=q8=sin(mt*0.01)*0.1; -per_frame_26= -per_frame_27=dx=sin(mt*0.1)*0.07; -per_frame_28=dy=cos(mt*0.069)*0.07; -per_frame_29= -per_frame_30=monitor = mt; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q7)*3) + sqr( (y-0.5+q8)*2 ) ); -per_pixel_2= -per_pixel_3=zoom=(rd*rd)/2.5; diff --git a/presets_milkdrop_104/Studio Music & Unchained + Phat and E.o.S - How it feel's to be Alive.milk b/presets_milkdrop_104/Studio Music & Unchained + Phat and E.o.S - How it feel's to be Alive.milk deleted file mode 100644 index b18f09d046..0000000000 --- a/presets_milkdrop_104/Studio Music & Unchained + Phat and E.o.S - How it feel's to be Alive.milk +++ /dev/null @@ -1,469 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.625300 -fWaveScale=1.187274 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999700 -fShader=0.030000 -zoom=0.979708 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=0.000000 -ib_size=0.500000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.500000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=0.990000 -wave_0_per_point1=xspout=.5; -wave_0_per_point2=yspout=-.5; -wave_0_per_point3= -wave_0_per_point4=pphase=9999*sample*sample*.0001; -wave_0_per_point5=pphase2=.1+((sample*9349*sample)%100)*.01; -wave_0_per_point6=pheight=((sample*9893)%100)*.002; -wave_0_per_point7=yheight=((sample*7231*sample)%100)*.01; -wave_0_per_point8= -wave_0_per_point9=r=((sample*5454)%100)*.01*abs(sin(time*.25)); -wave_0_per_point10=g=((sample*9954)%100)*.01; -wave_0_per_point11= -wave_0_per_point12=xoffset1=(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point13=xoffset2=-1*(cos((time*pphase2)+pphase)*pheight); -wave_0_per_point14= -wave_0_per_point15=lrorient=if(below(cos((time*pphase2)+pphase),cos(((time-.1)*pphase2)+pphase)),0,1); -wave_0_per_point16= -wave_0_per_point17=px=if(equal(lrorient,0),xspout-pheight+xoffset1,xspout+pheight-xoffset2); -wave_0_per_point18= -wave_0_per_point19=py=yspout+(abs(sin((time*pphase2)+pphase))*yheight); -wave_0_per_point20= -wave_0_per_point21=x=px; -wave_0_per_point22=y=py; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.010000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=0.990000 -wave_1_per_point1=pphase=(sample*5671*cos(time*.0001)); -wave_1_per_point2=pheight=((sample*7654)%100)*.005*sin(time*.5); -wave_1_per_point3= -wave_1_per_point4=//xspout=.7; -wave_1_per_point5=xspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),xspout); -wave_1_per_point6=//yspout=.7; -wave_1_per_point7=yspout=if(below(abs(sin(time*.2)),.005),.3+(rand(40)*.01),yspout); -wave_1_per_point8= -wave_1_per_point9=px=xspout+(cos(time+pphase)*pheight); -wave_1_per_point10=py=yspout+(sin(time+pphase)*pheight); -wave_1_per_point11= -wave_1_per_point12=x=px; -wave_1_per_point13=y=py; -wave_1_per_point14=a=abs(sin(time*.2)*.3+(treb_att*.1)); -wave_1_per_point15= -wave_1_per_point16=r=treb*2; -wave_1_per_point17=g =bass*3; -wave_1_per_point18=b = 0.5*sin(time*0.1876)+0.495*(0.5+sin(y*208)*0.5); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=0; -wave_2_per_frame2=t2=sin(time*0.17)*0.5+0.5; -wave_2_per_frame3=t3=0 -wave_2_per_frame4= -wave_2_per_point1=n=sample*6.283 + time*0.01; -wave_2_per_point2= -wave_2_per_point3=xp= sample*2 -1;// * (sin(n*2)*0.5+0.5); -wave_2_per_point4=yp= 1;// * (cos(n*(t1*3+1))*0.5+0.5); -wave_2_per_point5=zp= 0; -wave_2_per_point6= -wave_2_per_point7=ang=128*sample+t2*64*sample; -wave_2_per_point8=sang=sin(ang);cang=cos(ang); -wave_2_per_point9=xq=xp; -wave_2_per_point10=yq=yp*sang + zp*cang; -wave_2_per_point11=zq=yp*cang - zp*sang; -wave_2_per_point12=xp=xq;yp=yq;zp=zq; -wave_2_per_point13= -wave_2_per_point14= -wave_2_per_point15=ang=time*0.2; -wave_2_per_point16=sang=sin(ang);cang=cos(ang); -wave_2_per_point17=xq=xp; -wave_2_per_point18=yq=yp*sang + zp*cang; -wave_2_per_point19=zq=yp*cang - zp*sang; -wave_2_per_point20=xp=xq;yp=yq;zp=zq; -wave_2_per_point21= -wave_2_per_point22=ang=t3; -wave_2_per_point23=sang=sin(ang);cang=cos(ang); -wave_2_per_point24=xq=xp*sang + zp*cang; -wave_2_per_point25=yq=yp; -wave_2_per_point26=zq=xp*cang - zp*sang; -wave_2_per_point27=xp=xq;yp=yq;zp=zq; -wave_2_per_point28= -wave_2_per_point29= -wave_2_per_point30=zp=(zp+1)*20+1; -wave_2_per_point31=x=xp/zp + 0.5; -wave_2_per_point32=y=yp/zp*1.333 + 0.5; -wave_2_per_point33= -wave_2_per_point34=tm=time*0.3; -wave_2_per_point35=s=sample + tm; -wave_2_per_point36=rr= s - int(s); -wave_2_per_point37=r=rr*rr; -wave_2_per_point38= -wave_2_per_point39=s=sample + 0.15 + tm; -wave_2_per_point40=gg= s - int(s); -wave_2_per_point41=g=gg*gg; -wave_2_per_point42= -wave_2_per_point43=s=sample + 0.3 + tm; -wave_2_per_point44=bb= s - int(s); -wave_2_per_point45=b=bb*bb; -wave_2_per_point46= -wave_2_per_point47=a= sin(n*256)*0.5+0.5; -wave_2_per_point48=a=above(a,0.5) -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_init1=st=1; -wave_3_per_frame1=t1=0; -wave_3_per_frame2=t2=sin(time*0.17)*0.5+0.5; -wave_3_per_frame3=t3=0; -wave_3_per_frame4= -wave_3_per_frame5=st=st*(1+q1); -wave_3_per_frame6=st=if(above(st,512) , 1, st); -wave_3_per_frame7=t4=st; -wave_3_per_frame8=t4=128 -wave_3_per_frame9= -wave_3_per_frame10= -wave_3_per_point1=n=sample*6.283 + time*0.01; -wave_3_per_point2= -wave_3_per_point3=xp= 0; -wave_3_per_point4=yp= 1; -wave_3_per_point5=zp= sample*2; -wave_3_per_point6= -wave_3_per_point7=ang=128*sample; -wave_3_per_point8=sang=sin(ang);cang=cos(ang); -wave_3_per_point9=xq=xp*sang + yp*cang; -wave_3_per_point10=yq=xp*cang - yp*sang; -wave_3_per_point11=zq=zp; -wave_3_per_point12=xp=xq;yp=yq;zp=zq; -wave_3_per_point13= -wave_3_per_point14=zp=zp*20+5; -wave_3_per_point15=xs=xp/zp ; -wave_3_per_point16=ys=yp/zp ; -wave_3_per_point17= -wave_3_per_point18=ang=sin(n*6+time); -wave_3_per_point19=sang=sin(ang);cang=cos(ang); -wave_3_per_point20=xq=xs*sang + ys*cang; -wave_3_per_point21=yq=xs*cang - ys*sang; -wave_3_per_point22=xs=xq; -wave_3_per_point23=ys=yq; -wave_3_per_point24= -wave_3_per_point25=x=xs + 0.5; -wave_3_per_point26=y=ys*1.333 + 0.5; -wave_3_per_point27= -wave_3_per_point28=tm=time*3; -wave_3_per_point29= -wave_3_per_point30=r=sin(n + tm)*0.5 + 0.5; -wave_3_per_point31=g=sin(n + tm + 1.1)*0.5 + 0.5; -wave_3_per_point32=b=sin(n + tm + 2.2)*0.5 + 0.5; -wave_3_per_point33= -wave_3_per_point34=aa= sin(n*t4)*0.5+0.5; -wave_3_per_point35=r=r*aa*q1; -wave_3_per_point36=g=g*aa*q1; -wave_3_per_point37=b=b*aa*q1; -wave_3_per_point38=a=sample; -shapecode_0_enabled=1 -shapecode_0_sides=9 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.125660 -shapecode_0_ang=3.392921 -shapecode_0_tex_ang=0.376800 -shapecode_0_tex_zoom=0.324729 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.030000 -shapecode_0_border_g=0.670001 -shapecode_0_border_b=0.790001 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=x=x+sin(time*0.9)*.13; -shape_0_per_frame2=y=y+sin(time*0.5)*.16; -shape_0_per_frame3=border_r = q1; -shape_0_per_frame4=border_b = q2; -shape_0_per_frame5=border_g = q3; -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.125716 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=1.000000 -shape_1_per_frame1=//: Aderrasi was here too -shape_1_per_frame2=rad = rad -0.2 + 0.2*bass_att;; -shape_1_per_frame3=r = r + 0.25*sin(1.1*time) + 0.2*sin(0.25*time); -shape_1_per_frame4=g = g + 0.25*cos(1.5*time) + 0.22*cos(0.24*time); -shape_1_per_frame5=b = b + 0.25*sin(0.6*time) + 0.27*cos(0.7*time); -shape_1_per_frame6=r2 = 1-abs(r); -shape_1_per_frame7=g2 = 1-abs(g); -shape_1_per_frame8=b2 = 1-abs(b); -shape_1_per_frame9=ang = ang + 3*abs(tan(1*time)); -shape_1_per_frame10=x = x + 0.14*cos(time) + 0.2*sin(0.42*time); -shape_1_per_frame11=y = y + 0.16*sin(1.2*time) + 0.15*sin(0.8*time) + 0.21*cos(0.45*time); -shape_1_per_frame12=border_r = q1; -shape_1_per_frame13=border_b = q2; -shape_1_per_frame14=border_g = q3; -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.099995 -shapecode_2_ang=0.030000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.210001 -shapecode_2_g=0.440000 -shapecode_2_b=0.230000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.180000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.110000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=0.150001 -shapecode_2_border_g=0.400001 -shapecode_2_border_b=0.480000 -shapecode_2_border_a=1.000000 -shape_2_per_frame1=ang = time*2.4; -shape_2_per_frame2=x = 0.5 + 0.22*cos(time*3.3) + 0.14*cos(time*1.2); -shape_2_per_frame3=y = 0.5 + 0.26*sin(time*3.1) + 0.13*sin(time*1.7); -shape_2_per_frame4=r = 0.5 + 0.5*sin(time*1.013 + 5); -shape_2_per_frame5=g = 0.5 + 0.5*sin(time*1.063 + 2); -shape_2_per_frame6=b = 0.5 + 0.5*sin(time*1.054 + 1); -shape_2_per_frame7=r2 = 0.5 + 0.5*sin(time*1.085 + 3); -shape_2_per_frame8=g2 = 0.5 + 0.5*sin(time*1.056+ 1); -shape_2_per_frame9=b2 = 0.5 + 0.5*sin(time*1.038 + 4); -shape_2_per_frame10=border_r = q1; -shape_2_per_frame11=border_b = q2; -shape_2_per_frame12=border_g = q3; -shapecode_3_enabled=1 -shapecode_3_sides=5 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.510000 -shapecode_3_y=0.490000 -shapecode_3_rad=0.099863 -shapecode_3_ang=0.062832 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.460001 -shapecode_3_border_g=0.280001 -shapecode_3_border_b=0.540000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1=x = 0.5 + 0.07*cos(q4*0.5) + 0.31*sin(time*3.5); -shape_3_per_frame2=y = 0.5 + 0.07*sin(q4*0.5) + 0.31*cos(time*3.5); -shape_3_per_frame3=r = 0.5 + 0.5*sin(time*1.013 + 2); -shape_3_per_frame4=g = 0.5 + 0.5*sin(time*0.863 + 3); -shape_3_per_frame5=b = 0.5 + 0.5*sin(time*1.054 + 1); -shape_3_per_frame6=r2 = 0.5 + 0.5*sin(time*1.185 + 3); -shape_3_per_frame7=g2 = 0.5 + 0.5*sin(time*1.356+ 2); -shape_3_per_frame8=b2 = 0.5 + 0.5*sin(time*0.738 + 4); -shape_3_per_frame9=border_r = q1; -shape_3_per_frame10=border_b = q2; -shape_3_per_frame11=border_g = q3; -per_frame_init_1=entropy=2; -per_frame_1=warp=0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=chaos=.9+.1*sin(pulse); -per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); -per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; -per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; -per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; -per_frame_19=pulse=if(above(abs(pulse),60),-60,pulse+(bass_thresh+mid_thresh+treb_thresh)*.132); -per_frame_20=q1=mid_residual; -per_frame_21=q2=bass_residual; -per_frame_22=q3=treb_residual; -per_frame_23=q4=sin(pulse); -per_frame_24=q5=cos(pulse/2+q1); -per_frame_25=q6=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q7=entropy; -per_frame_27=q8=sin(q6*q1+q7*q2); -per_frame_28=zoom=zoom+.02*q8; -per_frame_29=wave_mystery=sin(q1+q5); -per_frame_30=wave_r=wave_r+.5*sin(q1+q2*2+q4*2.1); -per_frame_31=wave_b=wave_b+.5*sin(q2+q3*2+q4*2.2); -per_frame_32=wave_g=wave_g+.5*sin(q3+q1*2+q4*2.3); -per_frame_33=ob_r=if(bass_flop,ob_r+.5*sin(q1+q3*1.14+q2),wave_b); -per_frame_34=ob_b=if(treb_flop,ob_b+.5*sin(q2+q1*1.14+q3),wave_g); -per_frame_35=ob_g=if(mid_flop,ob_g+.5*sin(q3+q2*1.14+q1),wave_r); -per_frame_36=ib_r=if(bass_flop,ob_b,ib_r+.5*cos(q5+q1*2.14)); -per_frame_37=ib_b=if(treb_flop,ob_g,ib_b+.5*cos(q5+q2*2.14)); -per_frame_38=ib_g=if(mid_flop,ob_r,ib_g+.5*cos(q5+q3*2.14)); -per_frame_39=mv_r=mv_r+.5*sin(q4+q5*1.14*q1); -per_frame_40=mv_b=mv_b+.5*sin(q4+q5*1.14*q2); -per_frame_41=mv_g=mv_g+.5*sin(q5+q5*1.14*q3); -per_frame_42=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_43=ib_a=.5+.5*sin(q2*2.14+q3); -per_frame_44=mv_a=mv_a+mv_a*sin(q3*2.14+q2); -per_frame_45=ob_size=.1+.1*sin(q3*3+q1); -per_frame_46=ib_size=ib_size*.5+ib_size*.25*sin(q1*3+q3); -per_frame_47=wave_mode=q6+above(q4,0)+above(q5,0); -per_frame_48=wave_mystery=sin(q3*1.14+q1*1.14+q2); -per_frame_49=mv_l=(q6*q7)*q2; -per_frame_50=wave_x=wave_x+.1*q7*q4; -per_frame_51=wave_y=wave_y+.1*q6*q5; -per_frame_52=mv_x=q6*q7; -per_frame_53=mv_y=q6*q7; -per_frame_54=zoom=zoom+.01*q1; -per_frame_55=echo_alpha = if(above(q2,0.5),0.5,1); -per_frame_56=echo_orient = (1.5+q1+q2); -per_frame_57=echo_zoom = 0.5 + 0.1*(q1+q2+q3); -per_frame_58=monitor = echo_zoom; -per_frame_59=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) ); -per_frame_60=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 )); -per_pixel_1=q2=above(rad,.503); -per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5); -per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8); -per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0); -per_pixel_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_pixel_6=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_pixel_7=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r; -per_pixel_8=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time); -per_pixel_9=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time); -per_pixel_10=crackdown = ((crack*2)*dx_r)*sin(33.75*time); -per_pixel_11=ripdown = ((rip*2)*dy_r)*sin(5.75*time); -per_pixel_12=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25; -per_pixel_13=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25; -per_pixel_14=//tm=time+(sin(time)*rad); -per_pixel_15=var=tan(time)*treb*treb; -per_pixel_16= -per_pixel_17=zoom=1+(rad/50)+(var/50); -per_pixel_18=//rot=((rad/50)*var)*sin(time); diff --git a/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.. YES.milk b/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.. YES.milk deleted file mode 100644 index 7edca60ebc..0000000000 --- a/presets_milkdrop_104/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.. YES.milk +++ /dev/null @@ -1,157 +0,0 @@ -[preset00] -fRating=2 -fGammaAdj=1.21 -fDecay=1 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=9.08852 -fWaveScale=0.4995 -fWaveSmoothing=0 -fWaveParam=1 -fModWaveAlphaStart=0.71 -fModWaveAlphaEnd=1.3 -fWarpAnimSpeed=1 -fWarpScale=1.331 -fZoomExponent=1 -fShader=0 -zoom=0.999514 -rot=0 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=0.01 -sx=1 -sy=1 -wave_r=0.99 -wave_g=0 -wave_b=0 -wave_x=0.5 -wave_y=0.5 -ob_size=0.005 -ob_r=0.3 -ob_g=0 -ob_b=0.5 -ob_a=0 -ib_size=0.26 -ib_r=0.25 -ib_g=0.25 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=64 -nMotionVectorsY=2.759997 -mv_dx=0 -mv_dy=-0.62 -mv_l=5 -mv_r=0 -mv_g=1 -mv_b=1 -mv_a=0.4 -per_frame_1=// Hello, -per_frame_2= -per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress -per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good -per_frame_5= -per_frame_6=//Telek Sterling =:-) -per_frame_7=//Dilettante Extrodinaire -per_frame_8= -per_frame_9= -per_frame_10=//rt = realtime (for use with beat count) -per_frame_11=rt=time-start; -per_frame_12= -per_frame_13=//color cycling, yellow dynamic treble -per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); -per_frame_15=wave_x = cos(time*2.12)*.33+.5; -per_frame_16=wave_y = sin(time*1.5)*.13+.3; -per_frame_17= -per_frame_18=//initialisation bug patch -per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); -per_frame_20= -per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) -per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); -per_frame_23= -per_frame_24=//Testing auto-beat trigger... exciting stuff. -per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); -per_frame_26= -per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad -per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); -per_frame_29= -per_frame_30=beatcount = beatcount + beat; -per_frame_31= -per_frame_32=w_a = if(beat,1,w_a*0); -per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now -per_frame_34= -per_frame_35=//Preserve beat rate -per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); -per_frame_37=//Record new beatrate -per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); -per_frame_39= -per_frame_40=//Record most recent beat -per_frame_41=lastbeat=if(beat,rt,lastbeat); -per_frame_42=//Predict time of next beat -per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); -per_frame_44= -per_frame_45= -per_frame_46= -per_frame_47= -per_frame_48=//Actual Display code: -per_frame_49= -per_frame_50=//Current direction of travel -per_frame_51=state = beat * (state+1)%4+(1-beat)*state; -per_frame_52= -per_frame_53=//acceleration of horizon point -per_frame_54=dddy = state%2-.5; -per_frame_55=dddx = above(state,1.5)-.5; -per_frame_56= -per_frame_57=//adjustment factors to play with -per_frame_58=ddx = dddx*.5; -per_frame_59=ddy = dddy*.5; -per_frame_60= -per_frame_61= -per_frame_62=q1 = (qq1*19+ddx)*.041; -per_frame_63=//preserve q variables -per_frame_64=qq1 = q1; -per_frame_65= -per_frame_66=q2 = (qq2*19+ddy)*.035; -per_frame_67=qq2 = q2; -per_frame_68= -per_frame_69=//Decay to Blue!! -per_frame_70=ob_a = 0.1*above(frame%10,6); -per_frame_71= -per_frame_72= -per_frame_73= -per_frame_74= -per_frame_75=//Well, what do we want to monitor?? -per_frame_76= -per_frame_77=//monitor = q1; -per_frame_78=//monitor = beat; -per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; -per_frame_80=monitor = (rt-lastbeat)/beatrate; -per_frame_81=//monitor = accuracy; -per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); -per_frame_83=//monitor = wave_a; -per_frame_84=//monitor = wave_g; -per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; -per_frame_86=//monitor = qwer; -per_frame_87=//monitor = (lastbeat-rt)/beatrate; -per_pixel_1=dx = sin(.5-x)*.1+q1; -per_pixel_2=dy = sin(.5-y)*.1+q2; -per_frame_init_1=ddx = 0; -per_frame_init_2=ddy = 0; -per_frame_init_3=start = time; -per_frame_init_4=rt = 0; -per_frame_init_5=beatcount = 0; diff --git a/presets_milkdrop_104/Unchained - Beat Demo 1.0.milk b/presets_milkdrop_104/Unchained - Beat Demo 1.0.milk deleted file mode 100644 index 490382755f..0000000000 --- a/presets_milkdrop_104/Unchained - Beat Demo 1.0.milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=2 -fGammaAdj=2 -fDecay=0.981 -fVideoEchoZoom=1.00644 -fVideoEchoAlpha=0.5 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.868299 -fWaveScale=2.781641 -fWaveSmoothing=0.54 -fWaveParam=0.2 -fModWaveAlphaStart=0.95 -fModWaveAlphaEnd=0.75 -fWarpAnimSpeed=1 -fWarpScale=1 -fZoomExponent=1.008151 -fShader=0.2 -zoom=0.9998 -rot=0 -cx=0.47 -cy=0.5 -dx=0.005 -dy=0 -warp=0.01 -sx=1 -sy=1 -wave_r=0.5 -wave_g=0.5 -wave_b=0.5 -wave_x=0.5 -wave_y=0.5 -ob_size=0 -ob_r=0.5 -ob_g=0.5 -ob_b=0.5 -ob_a=0 -ib_size=0 -ib_r=0.5 -ib_g=0.5 -ib_b=0.5 -ib_a=0 -per_frame_1=warp=0; -per_frame_2=chaos=.9+.1*sin(pulse-beat); -per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); -per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); -per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); -per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); -per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); -per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); -per_frame_12=q3=sin(pulse); -per_frame_13=q2=sin(pulse+beat); -per_frame_14=q4=sin(beat); -per_frame_15=q5=entropy; -per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); -per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); -per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); -per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); -per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; -per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; -per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); -per_frame_23=ob_a=.07+.05*q3; -per_frame_24=ob_size=.01*entropy*bnot(q1%6); -per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; -per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); -per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); -per_frame_28=ib_a=.07+.05*q3*q4; -per_frame_29=ib_size=.005+.005*q3; -per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); -per_frame_31=zoom=zoom_fade; -per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); -per_frame_33=rot=rot_fade; -per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; -per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets_milkdrop_104/Valhala - The all seeing eyeV0.4.milk b/presets_milkdrop_104/Valhala - The all seeing eyeV0.4.milk deleted file mode 100644 index 2f9afa1d83..0000000000 --- a/presets_milkdrop_104/Valhala - The all seeing eyeV0.4.milk +++ /dev/null @@ -1,247 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.010000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=100.000000 -fWaveSmoothing=0.900000 -fWaveParam=-0.160000 -fModWaveAlphaStart=0.000000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=9.860800 -fWarpScale=29.461990 -fZoomExponent=0.010000 -fShader=0.000000 -zoom=24.831774 -rot=-0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=60.803844 -sx=0.796896 -sy=0.325446 -wave_r=0.000000 -wave_g=0.200000 -wave_b=0.400000 -wave_x=0.000000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.050000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.500000 -ib_r=0.050000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.070000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.700000 -mv_g=0.030000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.280000 -shapecode_0_rad=0.721419 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.010000 -shapecode_0_r=0.000000 -shapecode_0_g=0.470000 -shapecode_0_b=0.410000 -shapecode_0_a=0.400000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.990000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=0 -shapecode_1_sides=100 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.900000 -shapecode_1_y=0.100000 -shapecode_1_rad=0.397105 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.200000 -shapecode_1_r2=1.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.100000 -shapecode_2_y=0.000000 -shapecode_2_rad=0.310911 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.300000 -shapecode_2_r2=1.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=1.000000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.990000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=volume = 0.3*(bass+mid+att); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*xspeed; -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*yspeed; -per_frame_13=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_14=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_15=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_16=peakbass_att = max(bass_att,peakbass_att); -per_frame_17=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_18=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_19=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995); -per_frame_20=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_21=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_22=wave_x = xpos + 0.5; -per_frame_23=wave_y = ypos + 0.5; -per_frame_24=wave_r = wave_r + 0.250*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_25=wave_g = wave_g + 0.150*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_26=wave_b = wave_b + 0.150*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_27=wave_mystery = -0.17 + 0.03*(0.6*sin(0.637*time) + 0.4*sin(0.949*time)); -per_frame_28=mv_r = if(beat, 1, ib_r); -per_frame_29=mv_b = if(beat, wave_b, ib_b); -per_frame_30=mv_a = if(beat, 0.1, ib_a); -per_frame_31=ib_a = 0.015; -per_frame_32=q3 = wave_mystery; -per_frame_33=q1 = wave_x; -per_frame_34=q2 = 1- wave_y; -per_pixel_1=newx = x - q1; -per_pixel_2=newy = y - q2; -per_pixel_3=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_4=newzoom = pow(1.05 + below(newrad,0.39+q3)*(0.6-newrad), pow(1 + 0.5*cos(newrad+2*q3+0.28), newrad*2-1)); -per_pixel_5=dx = -0.0005 + (newx)*newzoom - newx; -per_pixel_6=dy = -0.0005 + (newy)*newzoom - newy; diff --git a/presets_milkdrop_104/Zylot - S. Pulse Virus.milk b/presets_milkdrop_104/Zylot - S. Pulse Virus.milk deleted file mode 100644 index 082a4a61f1..0000000000 --- a/presets_milkdrop_104/Zylot - S. Pulse Virus.milk +++ /dev/null @@ -1,70 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2 -fDecay=0.98 -fVideoEchoZoom=2 -fVideoEchoAlpha=0 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.8 -fWaveScale=1 -fWaveSmoothing=0.75 -fWaveParam=-1 -fModWaveAlphaStart=0.75 -fModWaveAlphaEnd=0.95 -fWarpAnimSpeed=1 -fWarpScale=0.999994 -fZoomExponent=1 -fShader=0 -zoom=1 -rot=0 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=1 -sx=1 -sy=1 -wave_r=0.5 -wave_g=0.5 -wave_b=0.5 -wave_x=0.5 -wave_y=0.5 -ob_size=0.01 -ob_r=0 -ob_g=0 -ob_b=0 -ob_a=0 -ib_size=0.01 -ib_r=0.25 -ib_g=0.25 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -mv_dx=0 -mv_dy=0 -mv_l=0.9 -mv_r=1 -mv_g=1 -mv_b=1 -mv_a=0 -per_frame_1=push = if(above(progress,0),if(above(push,1),-1,push + .05),-1); -per_frame_2=wave_mystery = wave_mystery + push; -per_frame_3=wave_r = wave_r + .5*sin(time*.222); -per_frame_4=wave_g = wave_g + .5*sin(time*.333); -per_frame_5=wave_b = wave_b + .5*sin(time*.444); -per_frame_6=warp = 0; -per_pixel_1=zoom = zoom + abs((rad-.3 - bass*.2)*.3); diff --git a/presets_milkdrop_104/fiShbRaiN + Eo.S._Phat - The Machine Final.milk b/presets_milkdrop_104/fiShbRaiN + Eo.S._Phat - The Machine Final.milk deleted file mode 100644 index 7b53433ade..0000000000 --- a/presets_milkdrop_104/fiShbRaiN + Eo.S._Phat - The Machine Final.milk +++ /dev/null @@ -1,365 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.650000 -fVideoEchoZoom=0.996621 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=7.709095 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=0.999500 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=0.999993 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.100000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=tri_point=rand(3); -wave_0_per_point2= -wave_0_per_point3=txp1=0; -wave_0_per_point4=txp2=1; -wave_0_per_point5= -wave_0_per_point6=typ1=0.2; -wave_0_per_point7=typ2=0.2; -wave_0_per_point8= -wave_0_per_point9=//top point -wave_0_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); -wave_0_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); -wave_0_per_point12= -wave_0_per_point13=//left point -wave_0_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); -wave_0_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); -wave_0_per_point16= -wave_0_per_point17=//right point -wave_0_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); -wave_0_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); -wave_0_per_point20= -wave_0_per_point21=x=(t_x-0.5)*0.55 + 0.5 + q4; -wave_0_per_point22=y=t_y + q5 +0.1; -wave_0_per_point23= -wave_0_per_point24=v=min(bass*bass*0.78,1); -wave_0_per_point25=r=v; -wave_0_per_point26=g=v; -wave_0_per_point27=b=v; -wave_0_per_point28=a=1 -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=tri_point=rand(3); -wave_1_per_point2= -wave_1_per_point3=txp1=0; -wave_1_per_point4=txp2=1; -wave_1_per_point5= -wave_1_per_point6=typ1=0.2; -wave_1_per_point7=typ2=0.2; -wave_1_per_point8= -wave_1_per_point9=//top point -wave_1_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); -wave_1_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); -wave_1_per_point12= -wave_1_per_point13=//left point -wave_1_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); -wave_1_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); -wave_1_per_point16= -wave_1_per_point17=//right point -wave_1_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); -wave_1_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); -wave_1_per_point20= -wave_1_per_point21=x=(t_x-0.5)*0.55 + 0.5; -wave_1_per_point22=y=t_y; -wave_1_per_point23= -wave_1_per_point24=x=x+q4; -wave_1_per_point25=y=y+q5+0.1; -wave_1_per_point26= -wave_1_per_point27= -wave_1_per_point28=v=min(bass*bass*0.78,1); -wave_1_per_point29=r=v; -wave_1_per_point30=g=v; -wave_1_per_point31=b=v; -wave_1_per_point32=a=1 -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=tri_point=rand(3); -wave_2_per_point2= -wave_2_per_point3=txp1=0; -wave_2_per_point4=txp2=1; -wave_2_per_point5= -wave_2_per_point6=typ1=0.2; -wave_2_per_point7=typ2=0.2; -wave_2_per_point8= -wave_2_per_point9=//top point -wave_2_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); -wave_2_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); -wave_2_per_point12= -wave_2_per_point13=//left point -wave_2_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); -wave_2_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); -wave_2_per_point16= -wave_2_per_point17=//right point -wave_2_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); -wave_2_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); -wave_2_per_point20= -wave_2_per_point21=x=(t_x-0.5)*0.55 + 0.5; -wave_2_per_point22=y=t_y; -wave_2_per_point23= -wave_2_per_point24= -wave_2_per_point25=x=x+q4; -wave_2_per_point26=y=y+q5+0.1; -wave_2_per_point27= -wave_2_per_point28= -wave_2_per_point29=v=min(bass*bass*0.78,1); -wave_2_per_point30=r=v; -wave_2_per_point31=g=v; -wave_2_per_point32=b=v; -wave_2_per_point33=a=1 -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=tri_point=rand(3); -wave_3_per_point2= -wave_3_per_point3=txp1=0; -wave_3_per_point4=txp2=1; -wave_3_per_point5= -wave_3_per_point6=typ1=0.2; -wave_3_per_point7=typ2=0.2; -wave_3_per_point8= -wave_3_per_point9=//top point -wave_3_per_point10=t_x=t_x+(equal(tri_point,0)*(((.5-t_x)*.5))); -wave_3_per_point11=t_y=t_y+(equal(tri_point,0)*(((.8-t_y)*.5))); -wave_3_per_point12= -wave_3_per_point13=//left point -wave_3_per_point14=t_x=t_x+(equal(tri_point,1)*(((txp1-t_x)*.5))); -wave_3_per_point15=t_y=t_y+(equal(tri_point,1)*(((typ1-t_y)*.5))); -wave_3_per_point16= -wave_3_per_point17=//right point -wave_3_per_point18=t_x=t_x+(equal(tri_point,2)*(((txp2-t_x)*.5))); -wave_3_per_point19=t_y=t_y+(equal(tri_point,2)*(((typ2-t_y)*.5))); -wave_3_per_point20= -wave_3_per_point21=x=(t_x-0.5)*0.55 + 0.5; -wave_3_per_point22=y=t_y; -wave_3_per_point23= -wave_3_per_point24= -wave_3_per_point25=x=x+q4; -wave_3_per_point26=y=y+q5+0.1; -wave_3_per_point27= -wave_3_per_point28=v=min(bass*bass*0.78,1); -wave_3_per_point29=r=v; -wave_3_per_point30=g=v; -wave_3_per_point31=b=v; -wave_3_per_point32=a=1 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.400000 -shapecode_0_rad=0.329957 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=1.822124 -shapecode_0_tex_zoom=0.880263 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=ang=1.830; -shape_0_per_frame2=//tex_ang=above(bass,1)*3.14; -shape_0_per_frame3=a=above(treb,0.5); -shape_0_per_frame4=x=0.5+q4; -shape_0_per_frame5=y=0.4+q5+0.1 -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.390000 -shapecode_1_rad=2.946219 -shapecode_1_ang=1.822124 -shapecode_1_tex_ang=1.822124 -shapecode_1_tex_zoom=2.448610 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.010000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=ang=1.830; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.808141 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.400000 -shapecode_2_g=0.400000 -shapecode_2_b=0.800000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.700000 -shapecode_2_g2=0.600000 -shapecode_2_b2=0.500000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.364566 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.498314 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=0.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.800000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=decay=.98; -per_frame_2=zoom=1.00; -per_frame_3=//dx=sin(time*0.3)*0.001; -per_frame_4=//dy=cos(time*0.15)*0.001; -per_frame_5= -per_frame_6=basstime=basstime+(bass_att*bass_att)*0.01*(75/fps); -per_frame_7=midtime=midtime+(mid_att*mid_att)*0.01*(75/fps); -per_frame_8= -per_frame_9=qx=sin(basstime*0.2)*0.2; -per_frame_10=cx=0.5+qx; -per_frame_11=q4=qx; -per_frame_12= -per_frame_13=qy=sin(midtime*0.2)*0.2; -per_frame_14=cy=0.5-qy; -per_frame_15=q5=qy; -per_frame_16=monitor=q4 -per_pixel_1= -per_pixel_2=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_3= -per_pixel_4=var = tan(rd*(1+(bass))); -per_pixel_5=var = var*var; -per_pixel_6= -per_pixel_7=zm = -1+ (0.001*var)*rd; -per_pixel_8=zm=zm*1.003; -per_pixel_9=sx=zm; -per_pixel_10=sy=zm; -per_pixel_11= diff --git a/presets_milkdrop_104/fiShbRaiN - planet x_Phat+Eo.S._inFlux_gravity well mix.milk b/presets_milkdrop_104/fiShbRaiN - planet x_Phat+Eo.S._inFlux_gravity well mix.milk deleted file mode 100644 index c836b8f78e..0000000000 --- a/presets_milkdrop_104/fiShbRaiN - planet x_Phat+Eo.S._inFlux_gravity well mix.milk +++ /dev/null @@ -1,721 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700000 -fDecay=0.500000 -fVideoEchoZoom=1.488127 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=0 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=4.120141 -fWaveSmoothing=0.630000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.310000 -fModWaveAlphaEnd=1.100000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999989 -fShader=0.000000 -zoom=0.999500 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=31.999998 -nMotionVectorsY=24.000004 -mv_dx=0.020000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=1.000000 -mv_g=0.000000 -mv_b=0.800000 -mv_a=1.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=0.000000 -wavecode_0_g=0.500000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=tscale=.3; -wave_0_per_point2=prad=.04; -wave_0_per_point3= -wave_0_per_point4=px=cos(sample*sample*9112)*prad; -wave_0_per_point5=py=sin(sample*sample*9112)*prad; -wave_0_per_point6=pz=0; -wave_0_per_point7=//yrot to sphere surface -wave_0_per_point8=theta=sample*sample*3342; -wave_0_per_point9=ct=cos(theta);st=sin(theta); -wave_0_per_point10=npx=(px*ct)+(pz*st); -wave_0_per_point11=npz=(-px*st)+(pz*ct); -wave_0_per_point12=npy=py; -wave_0_per_point13= -wave_0_per_point14=//xrot -wave_0_per_point15=theta=q6; -wave_0_per_point16=px=npx; -wave_0_per_point17=py=npy; -wave_0_per_point18=pz=npz; -wave_0_per_point19=ct=cos(theta);st=sin(theta); -wave_0_per_point20=npy=(py*ct)+(pz*-st); -wave_0_per_point21=npz=(py*st)+(pz*ct); -wave_0_per_point22= -wave_0_per_point23=//yrot -wave_0_per_point24=theta=q7; -wave_0_per_point25=px=npx; -wave_0_per_point26=py=npy; -wave_0_per_point27=pz=npz; -wave_0_per_point28=ct=cos(theta);st=sin(theta); -wave_0_per_point29=npx=(px*ct)+(pz*st); -wave_0_per_point30=npz=(-px*st)+(pz*ct); -wave_0_per_point31= -wave_0_per_point32=//zrot -wave_0_per_point33=theta=q8+2; -wave_0_per_point34=px=npx; -wave_0_per_point35=py=npy; -wave_0_per_point36=pz=npz; -wave_0_per_point37=ct=cos(theta);st=sin(theta); -wave_0_per_point38=npx=(px*ct)+(py*-st); -wave_0_per_point39=npy=(px*st)+(py*ct); -wave_0_per_point40= -wave_0_per_point41=x=npx+.5; -wave_0_per_point42=y=(npy*1.3)+.5; //correct aspect -wave_0_per_point43=a=if(below(npz,0),0,1); -wave_0_per_point44= -wave_0_per_point45= -wave_0_per_point46=//sun shadow -wave_0_per_point47=prad=1.1; -wave_0_per_point48= -wave_0_per_point49=s_px=cos(8886)*prad; -wave_0_per_point50=s_py=sin(8886)*prad; -wave_0_per_point51=s_pz=0; -wave_0_per_point52=//yrot to sphere surface -wave_0_per_point53=s_npx=s_px; -wave_0_per_point54=s_npz=s_pz; -wave_0_per_point55=s_npy=s_py; -wave_0_per_point56= -wave_0_per_point57=//xrot -wave_0_per_point58=theta=q6; -wave_0_per_point59=s_px=s_npx; -wave_0_per_point60=s_py=s_npy; -wave_0_per_point61=s_pz=s_npz; -wave_0_per_point62=ct=cos(theta);st=sin(theta); -wave_0_per_point63=s_npy=(s_py*ct)+(s_pz*-st); -wave_0_per_point64=s_npz=(s_py*st)+(s_pz*ct); -wave_0_per_point65= -wave_0_per_point66=//yrot -wave_0_per_point67=theta=q7; -wave_0_per_point68=s_px=s_npx; -wave_0_per_point69=s_py=s_npy; -wave_0_per_point70=s_pz=s_npz; -wave_0_per_point71=ct=cos(theta);st=sin(theta); -wave_0_per_point72=s_npx=(s_px*ct)+(s_pz*st); -wave_0_per_point73=s_npz=(-s_px*st)+(s_pz*ct); -wave_0_per_point74= -wave_0_per_point75=//zrot -wave_0_per_point76=theta=q8; -wave_0_per_point77=s_px=s_npx; -wave_0_per_point78=s_py=s_npy; -wave_0_per_point79=s_pz=s_npz; -wave_0_per_point80=ct=cos(theta);st=sin(theta); -wave_0_per_point81=s_npx=(s_px*ct)+(s_py*-st); -wave_0_per_point82=s_npy=(s_px*st)+(s_py*ct); -wave_0_per_point83= -wave_0_per_point84=s_x=s_npx+.5; -wave_0_per_point85=s_y=(s_npy*1.3)+.5; -wave_0_per_point86= -wave_0_per_point87=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); -wave_0_per_point88=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); -wave_0_per_point89=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); -wave_0_per_point90=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=0.000000 -wavecode_1_g=0.500000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=flip=-1; -wave_1_per_frame1=t1=(bass_att+mid_att+treb_att)*0.05*flip; -wave_1_per_frame2=flip=-flip -wave_1_per_point1=tscale=.3; -wave_1_per_point2=prad=1; -wave_1_per_point3= -wave_1_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; -wave_1_per_point5= -wave_1_per_point6=px=cos(cluster*16)*prad; -wave_1_per_point7=py=sin(cluster*16)*prad; -wave_1_per_point8=pz=0; -wave_1_per_point9=//yrot to sphere surface -wave_1_per_point10=theta=cluster*172 ; -wave_1_per_point11=ct=cos(theta);st=sin(theta); -wave_1_per_point12=npx=(px*ct)+(pz*st); -wave_1_per_point13=npz=(-px*st)+(pz*ct); -wave_1_per_point14=npy=py; -wave_1_per_point15= -wave_1_per_point16=//xrot -wave_1_per_point17=theta=q6; -wave_1_per_point18=px=npx; -wave_1_per_point19=py=npy; -wave_1_per_point20=pz=npz; -wave_1_per_point21=ct=cos(theta);st=sin(theta); -wave_1_per_point22=npy=(py*ct)+(pz*-st); -wave_1_per_point23=npz=(py*st)+(pz*ct); -wave_1_per_point24= -wave_1_per_point25=//yrot -wave_1_per_point26=theta=q7; -wave_1_per_point27=px=npx; -wave_1_per_point28=py=npy; -wave_1_per_point29=pz=npz; -wave_1_per_point30=ct=cos(theta);st=sin(theta); -wave_1_per_point31=npx=(px*ct)+(pz*st); -wave_1_per_point32=npz=(-px*st)+(pz*ct); -wave_1_per_point33= -wave_1_per_point34=//zrot -wave_1_per_point35=theta=q8; -wave_1_per_point36=px=npx; -wave_1_per_point37=py=npy; -wave_1_per_point38=pz=npz; -wave_1_per_point39=ct=cos(theta);st=sin(theta); -wave_1_per_point40=npx=(px*ct)+(py*-st); -wave_1_per_point41=npy=(px*st)+(py*ct); -wave_1_per_point42=npz=pz; -wave_1_per_point43= -wave_1_per_point44=npx=if(below(npz,0) , -npx , npx); -wave_1_per_point45=npy=if(below(npz,0) , -npy , npy); -wave_1_per_point46=npz=if(below(npz,0) , -npz , npz); -wave_1_per_point47= -wave_1_per_point48=//move into screenspace -wave_1_per_point49=npz=(npz * (1 + t1))+1.5; -wave_1_per_point50= -wave_1_per_point51=x=(npx/npz)+.5; -wave_1_per_point52=y=(npy/npz)*1.3+.5; //correct aspect -wave_1_per_point53=a=1; -wave_1_per_point54= -wave_1_per_point55=//y=0.1; -wave_1_per_point56=//x=sample; -wave_1_per_point57= -wave_1_per_point58=sample2=sample; -wave_1_per_point59=r=(sample2*3 - int(sample2*3))*2; -wave_1_per_point60=r=if(above(r,1) , 2-r , r); -wave_1_per_point61=r=1- pow(1-r,2); -wave_1_per_point62=sample2=sample + 0.023; -wave_1_per_point63=g=(sample2*3 - int(sample2*3))*2; -wave_1_per_point64=g=if(above(g,1) , 2-g , g); -wave_1_per_point65=g=1- pow(1-g,2); -wave_1_per_point66=sample2=sample + 0.026; -wave_1_per_point67=b=(sample2*3 - int(sample2*3))*2; -wave_1_per_point68=b=if(above(b,1) , 2-b , b); -wave_1_per_point69=b=1- pow(1-b,2) -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.400000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=//planet rings -wave_2_per_point2=tscale=.3; -wave_2_per_point3= -wave_2_per_point4=prad=(((sample*sample*4999)%65)*.001)+.1; -wave_2_per_point5=px=cos(sample*sample*8854)*prad; -wave_2_per_point6=py=((sample*sample*1122)%10)*.0002; -wave_2_per_point7=pz=sin(sample*sample*8854)*prad; -wave_2_per_point8= -wave_2_per_point9=npx=px; -wave_2_per_point10=npy=py; -wave_2_per_point11=npz=pz; -wave_2_per_point12= -wave_2_per_point13=//yrot - particles -wave_2_per_point14=theta=((.4-prad)*(.4-prad)*30*time*tscale); -wave_2_per_point15=px=npx; -wave_2_per_point16=py=npy; -wave_2_per_point17=pz=npz; -wave_2_per_point18=ct=cos(theta);st=sin(theta); -wave_2_per_point19=npx=(px*ct)+(pz*st); -wave_2_per_point20=npz=(-px*st)+(pz*ct); -wave_2_per_point21= -wave_2_per_point22=//xrot -wave_2_per_point23=theta=q6; -wave_2_per_point24=px=npx; -wave_2_per_point25=py=npy; -wave_2_per_point26=pz=npz; -wave_2_per_point27=ct=cos(theta);st=sin(theta); -wave_2_per_point28=npy=(py*ct)+(pz*-st); -wave_2_per_point29=npz=(py*st)+(pz*ct); -wave_2_per_point30= -wave_2_per_point31=//yrot -wave_2_per_point32=theta=q7; -wave_2_per_point33=px=npx; -wave_2_per_point34=py=npy; -wave_2_per_point35=pz=npz; -wave_2_per_point36=ct=cos(theta);st=sin(theta); -wave_2_per_point37=npx=(px*ct)+(pz*st); -wave_2_per_point38=npz=(-px*st)+(pz*ct); -wave_2_per_point39= -wave_2_per_point40=//zrot -wave_2_per_point41=theta=q8+2; -wave_2_per_point42=px=npx; -wave_2_per_point43=py=npy; -wave_2_per_point44=pz=npz; -wave_2_per_point45=ct=cos(theta);st=sin(theta); -wave_2_per_point46=npx=(px*ct)+(py*-st); -wave_2_per_point47=npy=(px*st)+(py*ct); -wave_2_per_point48= -wave_2_per_point49=a=if(below(npz,0),if(below(sqrt((npy*npy)+(npx*npx)),.04),0,.4),.4); -wave_2_per_point50=x=npx+.5; -wave_2_per_point51=y=(npy*1.3)+.5; //correct aspect -wave_2_per_point52=g=.5+((sample*sample*4444)%100)*.005; -wave_2_per_point53= -wave_2_per_point54=//sun shadow -wave_2_per_point55=prad=1.1; -wave_2_per_point56= -wave_2_per_point57=s_px=cos(8886)*prad; -wave_2_per_point58=s_py=sin(8886)*prad; -wave_2_per_point59=s_pz=0; -wave_2_per_point60=//yrot to sphere surface -wave_2_per_point61=s_npx=s_px; -wave_2_per_point62=s_npz=s_pz; -wave_2_per_point63=s_npy=s_py; -wave_2_per_point64= -wave_2_per_point65=//xrot -wave_2_per_point66=theta=q6; -wave_2_per_point67=s_px=s_npx; -wave_2_per_point68=s_py=s_npy; -wave_2_per_point69=s_pz=s_npz; -wave_2_per_point70=ct=cos(theta);st=sin(theta); -wave_2_per_point71=s_npy=(s_py*ct)+(s_pz*-st); -wave_2_per_point72=s_npz=(s_py*st)+(s_pz*ct); -wave_2_per_point73= -wave_2_per_point74=//yrot -wave_2_per_point75=theta=q7; -wave_2_per_point76=s_px=s_npx; -wave_2_per_point77=s_py=s_npy; -wave_2_per_point78=s_pz=s_npz; -wave_2_per_point79=ct=cos(theta);st=sin(theta); -wave_2_per_point80=s_npx=(s_px*ct)+(s_pz*st); -wave_2_per_point81=s_npz=(-s_px*st)+(s_pz*ct); -wave_2_per_point82= -wave_2_per_point83=//zrot -wave_2_per_point84=theta=q8; -wave_2_per_point85=s_px=s_npx; -wave_2_per_point86=s_py=s_npy; -wave_2_per_point87=s_pz=s_npz; -wave_2_per_point88=ct=cos(theta);st=sin(theta); -wave_2_per_point89=s_npx=(s_px*ct)+(s_py*-st); -wave_2_per_point90=s_npy=(s_px*st)+(s_py*ct); -wave_2_per_point91= -wave_2_per_point92=s_x=s_npx+.5; -wave_2_per_point93=s_y=(s_npy*1.3)+.5; -wave_2_per_point94= -wave_2_per_point95=//ring lighting -wave_2_per_point96=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); -wave_2_per_point97=r=if(above(s_npz,0),r*(1-(.2*d)),r*d*.6); -wave_2_per_point98=g=if(above(s_npz,0),g*(1-(.2*d)),g*d*.6); -wave_2_per_point99=b=if(above(s_npz,0),b*(1-(.2*d)),b*d*.6); -wave_2_per_point100= -wave_2_per_point101=//planet shadow across rings -wave_2_per_point102=s_npx=-1*s_npx*.1; -wave_2_per_point103=s_npy=-1*s_npy*.1; -wave_2_per_point104=s_npz=-1*s_npz*.1; -wave_2_per_point105= -wave_2_per_point106=ss_rad=.087; -wave_2_per_point107=ss=sqrt(sqr((npx-s_npx)*1)+sqr((npy-s_npy)*1)+sqr((npz-s_npz)*1)); -wave_2_per_point108=r=if(below(ss,ss_rad),r*.2,r); -wave_2_per_point109=g=if(below(ss,ss_rad),g*.2,g); -wave_2_per_point110=b=if(below(ss,ss_rad),b*.2,b); -wave_2_per_point111= -wave_2_per_point112=a=1; -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=-(bass_att+mid_att+treb_att)*0.05 -wave_3_per_point1=tscale=.3; -wave_3_per_point2=prad=1; -wave_3_per_point3= -wave_3_per_point4=cluster=sample + cos(sample*6.283*6)*0.1; -wave_3_per_point5= -wave_3_per_point6=px=cos(cluster*16)*prad; -wave_3_per_point7=py=sin(cluster*16)*prad; -wave_3_per_point8=pz=0; -wave_3_per_point9=//yrot to sphere surface -wave_3_per_point10=theta=cluster*172 ; -wave_3_per_point11=ct=cos(theta);st=sin(theta); -wave_3_per_point12=npx=(px*ct)+(pz*st); -wave_3_per_point13=npz=(-px*st)+(pz*ct); -wave_3_per_point14=npy=py; -wave_3_per_point15= -wave_3_per_point16=//xrot -wave_3_per_point17=theta=q6; -wave_3_per_point18=px=npx; -wave_3_per_point19=py=npy; -wave_3_per_point20=pz=npz; -wave_3_per_point21=ct=cos(theta);st=sin(theta); -wave_3_per_point22=npy=(py*ct)+(pz*-st); -wave_3_per_point23=npz=(py*st)+(pz*ct); -wave_3_per_point24= -wave_3_per_point25=//yrot -wave_3_per_point26=theta=q7; -wave_3_per_point27=px=npx; -wave_3_per_point28=py=npy; -wave_3_per_point29=pz=npz; -wave_3_per_point30=ct=cos(theta);st=sin(theta); -wave_3_per_point31=npx=(px*ct)+(pz*st); -wave_3_per_point32=npz=(-px*st)+(pz*ct); -wave_3_per_point33= -wave_3_per_point34=//zrot -wave_3_per_point35=theta=q8; -wave_3_per_point36=px=npx; -wave_3_per_point37=py=npy; -wave_3_per_point38=pz=npz; -wave_3_per_point39=ct=cos(theta);st=sin(theta); -wave_3_per_point40=npx=(px*ct)+(py*-st); -wave_3_per_point41=npy=(px*st)+(py*ct); -wave_3_per_point42=npz=pz; -wave_3_per_point43= -wave_3_per_point44=npx=if(below(npz,0) , -npx , npx); -wave_3_per_point45=npy=if(below(npz,0) , -npy , npy); -wave_3_per_point46=npz=if(below(npz,0) , -npz , npz); -wave_3_per_point47= -wave_3_per_point48=//move into screenspace -wave_3_per_point49=npz=(npz * (1 + t1))+1.5; -wave_3_per_point50= -wave_3_per_point51=x=(npx/npz)+.5; -wave_3_per_point52=y=(npy/npz)*1.3+.5; //correct aspect -wave_3_per_point53=a=1; -wave_3_per_point54= -wave_3_per_point55=//y=0.1; -wave_3_per_point56=//x=sample; -wave_3_per_point57= -wave_3_per_point58=sample2=sample; -wave_3_per_point59=r=(sample2*3 - int(sample2*3))*2; -wave_3_per_point60=r=if(above(r,1) , 2-r , r); -wave_3_per_point61=r=1- pow(1-r,2); -wave_3_per_point62=sample2=sample + 0.023; -wave_3_per_point63=g=(sample2*3 - int(sample2*3))*2; -wave_3_per_point64=g=if(above(g,1) , 2-g , g); -wave_3_per_point65=g=1- pow(1-g,2); -wave_3_per_point66=sample2=sample + 0.026; -wave_3_per_point67=b=(sample2*3 - int(sample2*3))*2; -wave_3_per_point68=b=if(above(b,1) , 2-b , b); -wave_3_per_point69=b=1- pow(1-b,2) -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.176327 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=1.005310 -shapecode_0_tex_zoom=1.488856 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.200000 -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.386146 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.700000 -shapecode_1_b=0.500000 -shapecode_1_a=0.290000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//sun flare -shape_1_per_frame2= -shape_1_per_frame3=//sun -shape_1_per_frame4=prad=1.1; -shape_1_per_frame5= -shape_1_per_frame6=px=cos(8886)*prad; -shape_1_per_frame7=py=sin(8886)*prad; -shape_1_per_frame8=pz=0; -shape_1_per_frame9=//yrot to sphere surface -shape_1_per_frame10=npx=(px*cos(0))+(pz*sin(0)); -shape_1_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); -shape_1_per_frame12=npy=py; -shape_1_per_frame13= -shape_1_per_frame14=xrot=q6; -shape_1_per_frame15=yrot=q7; -shape_1_per_frame16=zrot=q8; -shape_1_per_frame17= -shape_1_per_frame18=//xrot -shape_1_per_frame19=theta=xrot; -shape_1_per_frame20=px=npx; -shape_1_per_frame21=py=npy; -shape_1_per_frame22=pz=npz; -shape_1_per_frame23=npy=(py*cos(theta))+(pz*-sin(theta)); -shape_1_per_frame24=npz=(py*sin(theta))+(pz*cos(theta)); -shape_1_per_frame25= -shape_1_per_frame26=//yrot -shape_1_per_frame27=theta=yrot; -shape_1_per_frame28=px=npx; -shape_1_per_frame29=py=npy; -shape_1_per_frame30=pz=npz; -shape_1_per_frame31=npx=(px*cos(theta))+(pz*sin(theta)); -shape_1_per_frame32=npz=(-px*sin(theta))+(pz*cos(theta)); -shape_1_per_frame33= -shape_1_per_frame34=//zrot -shape_1_per_frame35=theta=zrot; -shape_1_per_frame36=px=npx; -shape_1_per_frame37=py=npy; -shape_1_per_frame38=pz=npz; -shape_1_per_frame39=npx=(px*cos(theta))+(py*-sin(theta)); -shape_1_per_frame40=npy=(px*sin(theta))+(py*cos(theta)); -shape_1_per_frame41= -shape_1_per_frame42=x=npx+.5; -shape_1_per_frame43=y=(npy*1.3)+.5; -shape_1_per_frame44=a=a*npz*.15; -shape_1_per_frame45= -shape_1_per_frame46=a=if(below(npz,0),a,0); -shape_1_per_frame47=a2=if(below(npz,0),a2,0); -shape_1_per_frame48= -shape_1_per_frame49=rad=rad+(abs(npz)*.1); -shapecode_2_enabled=1 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.018423 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=//sun body -shape_2_per_frame2= -shape_2_per_frame3=//sun -shape_2_per_frame4=prad=1.1; -shape_2_per_frame5= -shape_2_per_frame6=px=cos(8886)*prad; -shape_2_per_frame7=py=sin(8886)*prad; -shape_2_per_frame8=pz=0; -shape_2_per_frame9=//yrot to sphere surface -shape_2_per_frame10=npx=(px*cos(0))+(pz*sin(0)); -shape_2_per_frame11=npz=(-px*sin(0))+(pz*cos(0)); -shape_2_per_frame12=npy=py; -shape_2_per_frame13= -shape_2_per_frame14=//xrot -shape_2_per_frame15=theta=q6; -shape_2_per_frame16=px=npx; -shape_2_per_frame17=py=npy; -shape_2_per_frame18=pz=npz; -shape_2_per_frame19=npy=(py*cos(theta))+(pz*-sin(theta)); -shape_2_per_frame20=npz=(py*sin(theta))+(pz*cos(theta)); -shape_2_per_frame21= -shape_2_per_frame22=//yrot -shape_2_per_frame23=theta=q7; -shape_2_per_frame24=px=npx; -shape_2_per_frame25=py=npy; -shape_2_per_frame26=pz=npz; -shape_2_per_frame27=npx=(px*cos(theta))+(pz*sin(theta)); -shape_2_per_frame28=npz=(-px*sin(theta))+(pz*cos(theta)); -shape_2_per_frame29= -shape_2_per_frame30=//zrot -shape_2_per_frame31=theta=q8; -shape_2_per_frame32=px=npx; -shape_2_per_frame33=py=npy; -shape_2_per_frame34=pz=npz; -shape_2_per_frame35=npx=(px*cos(theta))+(py*-sin(theta)); -shape_2_per_frame36=npy=(px*sin(theta))+(py*cos(theta)); -shape_2_per_frame37= -shape_2_per_frame38=x=npx+.5; -shape_2_per_frame39=y=(npy*1.3)+.5; -shape_2_per_frame40= -shape_2_per_frame41=a=npz*.15; -shape_2_per_frame42=a=if(below(npz,0),a,0); -shape_2_per_frame43=a2=if(below(npz,0),a2,0); -shape_2_per_frame44=border_a=if(below(npz,0),border_a,0); -shapecode_3_enabled=1 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.110462 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=//planet shadow -shape_3_per_frame2= -shape_3_per_frame3=//sun shadow -shape_3_per_frame4=prad=1.1; -shape_3_per_frame5= -shape_3_per_frame6=s_px=cos(8886)*prad; -shape_3_per_frame7=s_py=sin(8886)*prad; -shape_3_per_frame8=s_pz=0; -shape_3_per_frame9=//yrot to sphere surface -shape_3_per_frame10=s_npx=(s_px*cos(0))+(s_pz*sin(0)); -shape_3_per_frame11=s_npz=(-s_px*sin(0))+(s_pz*cos(0)); -shape_3_per_frame12=s_npy=s_py; -shape_3_per_frame13= -shape_3_per_frame14=//xrot -shape_3_per_frame15=theta=q6; -shape_3_per_frame16=s_px=s_npx; -shape_3_per_frame17=s_py=s_npy; -shape_3_per_frame18=s_pz=s_npz; -shape_3_per_frame19=s_npy=(s_py*cos(theta))+(s_pz*-sin(theta)); -shape_3_per_frame20=s_npz=(s_py*sin(theta))+(s_pz*cos(theta)); -shape_3_per_frame21= -shape_3_per_frame22=//yrot -shape_3_per_frame23=theta=q7; -shape_3_per_frame24=s_px=s_npx; -shape_3_per_frame25=s_py=s_npy; -shape_3_per_frame26=s_pz=s_npz; -shape_3_per_frame27=s_npx=(s_px*cos(theta))+(s_pz*sin(theta)); -shape_3_per_frame28=s_npz=(-s_px*sin(theta))+(s_pz*cos(theta)); -shape_3_per_frame29= -shape_3_per_frame30=//zrot -shape_3_per_frame31=theta=q8; -shape_3_per_frame32=s_px=s_npx; -shape_3_per_frame33=s_py=s_npy; -shape_3_per_frame34=s_pz=s_npz; -shape_3_per_frame35=s_npx=(s_px*cos(theta))+(s_py*-sin(theta)); -shape_3_per_frame36=s_npy=(s_px*sin(theta))+(s_py*cos(theta)); -shape_3_per_frame37= -shape_3_per_frame38=s_x=s_npx+.5; -shape_3_per_frame39=s_y=(s_npy*1.3)+.5; -shape_3_per_frame40= -shape_3_per_frame41=d=sqrt((s_npy*s_npy)+(s_npx*s_npx)); -shape_3_per_frame42=a=if(below(s_npz,0),a*(1-(.2*d)),a*d*.6); -shape_3_per_frame43=a2=if(below(s_npz,0),a2*(1-(.2*d)),a2*d*.6); -per_frame_init_1=// planet x -per_frame_init_2=// utilising FUDLE* technology! -per_frame_init_3=// (* fiShbRaiNs ultra dodgy lighting engine) -per_frame_init_4= -per_frame_init_5=//camera delta -per_frame_init_6=q3=.7; -per_frame_init_7=q4=-.4; -per_frame_init_8=q5=.1; -per_frame_init_9=//q3=2; -per_frame_init_10=//q4=0; -per_frame_init_11=//q5=0; -per_frame_init_12= -per_frame_init_13=//camera -per_frame_init_14=q6=0; -per_frame_init_15=q7=0; -per_frame_init_16=q8=0; -per_frame_init_17= -per_frame_1=//camera -per_frame_2=q6=q6+(q3*time*.07); -per_frame_3=q7=q7+(q4*time*.3); -per_frame_4=q8=q8+(q5*time*.09); -per_frame_5=decay=0.15; -per_frame_6=echo_zoom=1+(bass*0.4); -per_frame_7= -per_frame_8=decay=0.99 -per_pixel_1=zm1=(rad*50+(sin(ang*3)*0.5+0.5)); -per_pixel_2=zm2=1 + sin(ang*5+time)*0.1; -per_pixel_3= -per_pixel_4=flux=sin(time*0.33)*0.5+0.5; -per_pixel_5= -per_pixel_6=zm=zm1*flux + zm2*(1-flux); -per_pixel_7=sx=zm; -per_pixel_8=sy=zm; -per_pixel_9=zoom=1 diff --git a/presets_milkdrop_104/phat + Eo.S. - Bass_responce_Red_Movements_Disorienting nebula3.milk b/presets_milkdrop_104/phat + Eo.S. - Bass_responce_Red_Movements_Disorienting nebula3.milk deleted file mode 100644 index 6051fd3275..0000000000 --- a/presets_milkdrop_104/phat + Eo.S. - Bass_responce_Red_Movements_Disorienting nebula3.milk +++ /dev/null @@ -1,338 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700000 -fDecay=1.000000 -fVideoEchoZoom=2.220753 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.625316 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.880000 -fModWaveAlphaEnd=1.980000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=1.001800 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.800000 -ob_b=0.700000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.300000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.900000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=256 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=100.000000 -wavecode_0_smoothing=0.900000 -wavecode_0_r=0.000000 -wavecode_0_g=0.700000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ 0.012; -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3= -wave_0_per_frame4=t1=advance -wave_0_per_frame5= -wave_0_per_point1= -wave_0_per_point2=s=sample*6.28; -wave_0_per_point3= -wave_0_per_point4=//plot random x position via function of sample pos; -wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point6=xp=xp*0.20; -wave_0_per_point7= -wave_0_per_point8=//plot random y position via function of sample pos; -wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point10=yp=yp*0.20; -wave_0_per_point11= -wave_0_per_point12=//plot random z position via function of sample pos; -wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point14=zp=zp*0.25; -wave_0_per_point15= -wave_0_per_point16=//pull stars toward screen -wave_0_per_point17=zp=zp + 1 - t1; -wave_0_per_point18= -wave_0_per_point19=//correct when below 0 -wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point21= -wave_0_per_point22=//darken far stars -wave_0_per_point23=a=(1 - zp*0.5); -wave_0_per_point24= -wave_0_per_point25=zp=zp*0.7; -wave_0_per_point26= -wave_0_per_point27=x_screen=xp/zp + 0.5; -wave_0_per_point28=y_screen=yp/zp + 0.5; -wave_0_per_point29= -wave_0_per_point30=x=x_screen; -wave_0_per_point31=y=y_screen; -wave_0_per_point32= -wave_0_per_point33=r=1;g=0.9;b=1.0 -wavecode_1_enabled=1 -wavecode_1_samples=42 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=1 -wavecode_1_scaling=81.954445 -wavecode_1_smoothing=1.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=advance=advance+ 0.012; -wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_1_per_frame3= -wave_1_per_frame4=t1=advance -wave_1_per_point1= -wave_1_per_point2=s=sample*6.28; -wave_1_per_point3= -wave_1_per_point4=//plot random x position via function of sample pos; -wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); -wave_1_per_point6=xp=xp*0.20; -wave_1_per_point7= -wave_1_per_point8=//plot random y position via function of sample pos; -wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); -wave_1_per_point10=yp=yp*0.20; -wave_1_per_point11= -wave_1_per_point12=//plot random z position via function of sample pos; -wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); -wave_1_per_point14=zp=zp*0.25; -wave_1_per_point15= -wave_1_per_point16=//pull stars toward screen -wave_1_per_point17=zp=zp + 1 - t1; -wave_1_per_point18= -wave_1_per_point19=//correct when below 0 -wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point21= -wave_1_per_point22=//darken far stars -wave_1_per_point23=a=(1 - zp*0.5); -wave_1_per_point24= -wave_1_per_point25=zp=zp*0.7; -wave_1_per_point26= -wave_1_per_point27=x_screen=xp/zp + 0.5; -wave_1_per_point28=y_screen=yp/zp + 0.5; -wave_1_per_point29= -wave_1_per_point30=x=x_screen; -wave_1_per_point31=y=y_screen; -wave_1_per_point32= -wave_1_per_point33=r=1;g=0.9;b=1.0 -wavecode_2_enabled=1 -wavecode_2_samples=42 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=0.360001 -wave_2_per_point1=x=rand(1000)*0.001; -wave_2_per_point2=y=rand(1000)*0.001; -wave_2_per_point3=r=0.9;g=1;b=1 -wavecode_3_enabled=1 -wavecode_3_samples=192 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=0.320001 -wave_3_per_point1=x=rand(1000)*0.001; -wave_3_per_point2=y=rand(1000)*0.001; -wave_3_per_point3=r=1.0;g=1;b=0.9 -shapecode_0_enabled=0 -shapecode_0_sides=16 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.972354 -shapecode_0_ang=0.188400 -shapecode_0_tex_ang=0.628319 -shapecode_0_tex_zoom=0.778288 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.900000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.500000 -shapecode_0_border_r=0.590000 -shapecode_0_border_g=0.810000 -shapecode_0_border_b=0.690000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); -shape_0_per_frame2=//a=DMT; -shape_0_per_frame3=//a2=.5*DMT; -shape_0_per_frame4=//border_a=0.4*DMT; -shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); -shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); -shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; -shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; -shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; -shape_0_per_frame10=//sides=bass*16 -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.414899 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.251327 -shapecode_1_tex_zoom=1.136001 -shapecode_1_r=0.360000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.200000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=adv=adv+(bass*bass)/15; -shape_1_per_frame3= -shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; -shape_1_per_frame5=g=r; -shape_1_per_frame6=b=r; -shape_1_per_frame7= -shape_1_per_frame8=x=rand(100)*0.01*0.5 + 0.25; -shape_1_per_frame9=y=rand(100)*0.01*0.5 + 0.25; -shape_1_per_frame10=rad=rand(100)*0.01*0.4+0.1; -shape_1_per_frame11=ang=rad -shapecode_2_enabled=0 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.200000 -shapecode_2_y=0.800000 -shapecode_2_rad=0.599577 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=1.256637 -shapecode_2_tex_zoom=0.498314 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.860000 -shapecode_3_y=0.200000 -shapecode_3_rad=0.808140 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.451118 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.900000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=1.0; -per_frame_2=zoom=1.009; -per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; -per_frame_4= -per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); -per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); -per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); -per_frame_8= -per_frame_9= -per_frame_10=cx=-1;cy=2;rot=-treb*0.002; -per_frame_11= -per_frame_12=cx=sin(time*0.1)*1.5 + 0.5; -per_frame_13=cy=cos(time*0.2)*1.5 + 0.5 -per_pixel_1=//adv=min( (bass*bass*bass), 1); -per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; -per_pixel_3=//warp=warp*adv; -per_pixel_4= -per_pixel_5=//dx=cos(y)*0.005*(rad+2)*treb ; -per_pixel_6=//dy=sin(x)*0.005*(rad+2)*treb -per_pixel_7= -per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets_milkdrop_104/phat + Eo.S. - ouch.milk b/presets_milkdrop_104/phat + Eo.S. - ouch.milk deleted file mode 100644 index ab74031997..0000000000 --- a/presets_milkdrop_104/phat + Eo.S. - ouch.milk +++ /dev/null @@ -1,348 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.700000 -fDecay=1.000000 -fVideoEchoZoom=1.001822 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.625316 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.880000 -fModWaveAlphaEnd=1.980000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=1.001800 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.800000 -ob_b=0.700000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.300000 -ib_a=0.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=256 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=100.000000 -wavecode_0_smoothing=0.900000 -wavecode_0_r=0.000000 -wavecode_0_g=0.700000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ 0.012; -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3= -wave_0_per_frame4=t1=advance -wave_0_per_frame5= -wave_0_per_point1= -wave_0_per_point2=s=sample*6.28; -wave_0_per_point3= -wave_0_per_point4=//plot random x position via function of sample pos; -wave_0_per_point5=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point6=xp=xp*0.20; -wave_0_per_point7= -wave_0_per_point8=//plot random y position via function of sample pos; -wave_0_per_point9=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point10=yp=yp*0.20; -wave_0_per_point11= -wave_0_per_point12=//plot random z position via function of sample pos; -wave_0_per_point13=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point14=zp=zp*0.25; -wave_0_per_point15= -wave_0_per_point16=//pull stars toward screen -wave_0_per_point17=zp=zp + 1 - t1; -wave_0_per_point18= -wave_0_per_point19=//correct when below 0 -wave_0_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point21= -wave_0_per_point22=//darken far stars -wave_0_per_point23=a=(1 - zp*0.5); -wave_0_per_point24= -wave_0_per_point25=zp=zp*0.7; -wave_0_per_point26= -wave_0_per_point27=x_screen=xp/zp + 0.5; -wave_0_per_point28=y_screen=yp/zp + 0.5; -wave_0_per_point29= -wave_0_per_point30=x=x_screen; -wave_0_per_point31=y=y_screen; -wave_0_per_point32= -wave_0_per_point33=r=1;g=0.9;b=1.0 -wavecode_1_enabled=1 -wavecode_1_samples=42 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=1 -wavecode_1_scaling=81.954445 -wavecode_1_smoothing=1.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=advance=advance+ 0.012; -wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_1_per_frame3= -wave_1_per_frame4=t1=advance -wave_1_per_point1= -wave_1_per_point2=s=sample*6.28; -wave_1_per_point3= -wave_1_per_point4=//plot random x position via function of sample pos; -wave_1_per_point5=xp=sin(s)+sin(s*0.34)+cos(s*24.3)+sin(s*13.8); -wave_1_per_point6=xp=xp*0.20; -wave_1_per_point7= -wave_1_per_point8=//plot random y position via function of sample pos; -wave_1_per_point9=yp=cos(s)+sin(s*1.24)+cos(s*17.4)+sin(s*37.7); -wave_1_per_point10=yp=yp*0.20; -wave_1_per_point11= -wave_1_per_point12=//plot random z position via function of sample pos; -wave_1_per_point13=zp=cos(s)+cos(s*3.24)+cos(s*47.4)+cos(s*27.7); -wave_1_per_point14=zp=zp*0.25; -wave_1_per_point15= -wave_1_per_point16=//pull stars toward screen -wave_1_per_point17=zp=zp + 1 - t1; -wave_1_per_point18= -wave_1_per_point19=//correct when below 0 -wave_1_per_point20=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point21= -wave_1_per_point22=//darken far stars -wave_1_per_point23=a=(1 - zp*0.5); -wave_1_per_point24= -wave_1_per_point25=zp=zp*0.7; -wave_1_per_point26= -wave_1_per_point27=x_screen=xp/zp + 0.5; -wave_1_per_point28=y_screen=yp/zp + 0.5; -wave_1_per_point29= -wave_1_per_point30=x=x_screen; -wave_1_per_point31=y=y_screen; -wave_1_per_point32= -wave_1_per_point33=r=1;g=0.9;b=1.0 -wavecode_2_enabled=1 -wavecode_2_samples=42 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=0.360001 -wave_2_per_point1=x=rand(1000)*0.001; -wave_2_per_point2=y=rand(1000)*0.001; -wave_2_per_point3=r=0.9;g=1;b=1 -wavecode_3_enabled=1 -wavecode_3_samples=192 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=0.320001 -wave_3_per_point1=x=rand(1000)*0.001; -wave_3_per_point2=y=rand(1000)*0.001; -wave_3_per_point3=r=1.0;g=1;b=0.9 -shapecode_0_enabled=0 -shapecode_0_sides=16 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.972354 -shapecode_0_ang=0.188400 -shapecode_0_tex_ang=0.628319 -shapecode_0_tex_zoom=0.778288 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=0.900000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.500000 -shapecode_0_border_r=0.590000 -shapecode_0_border_g=0.810000 -shapecode_0_border_b=0.690000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); -shape_0_per_frame2=//a=DMT; -shape_0_per_frame3=//a2=.5*DMT; -shape_0_per_frame4=//border_a=0.4*DMT; -shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); -shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); -shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; -shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; -shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; -shape_0_per_frame10=//sides=bass*16 -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.414899 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.251327 -shapecode_1_tex_zoom=1.136001 -shapecode_1_r=0.360000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.200000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=adv=adv+(bass*bass)/15; -shape_1_per_frame3= -shape_1_per_frame4=r=rand(10)*0.1*0.5+0.5; -shape_1_per_frame5=g=r; -shape_1_per_frame6=b=r; -shape_1_per_frame7= -shape_1_per_frame8=area=bass*bass; -shape_1_per_frame9= -shape_1_per_frame10=xp=rand(100)*0.01*0.5 + 0.25; -shape_1_per_frame11=x=(xp-0.5)*area + 0.5; -shape_1_per_frame12= -shape_1_per_frame13=yp=rand(100)*0.01*0.5 + 0.25; -shape_1_per_frame14=y=(yp-0.5)*area + 0.5; -shape_1_per_frame15= -shape_1_per_frame16=rad=rand(100)*0.01*0.4+0.1; -shape_1_per_frame17=ang=rad -shapecode_2_enabled=0 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.200000 -shapecode_2_y=0.800000 -shapecode_2_rad=0.599577 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=1.256637 -shapecode_2_tex_zoom=0.498314 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.860000 -shapecode_3_y=0.200000 -shapecode_3_rad=0.808140 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.451118 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.900000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=1.0; -per_frame_2=zoom=-1.006; -per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; -per_frame_4= -per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); -per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); -per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); -per_frame_8= -per_frame_9= -per_frame_10=cx=-1;cy=2;rot=-treb*0.002; -per_frame_11= -per_frame_12=cx=cos(time*0.1)*1.5 + 0.5; -per_frame_13=cy=cos(time*0.2)*1.5 + 0.5; -per_frame_14= -per_frame_15=flash=flash + min(sin(time*0.1)*0.30+0.30,0.5); -per_frame_16=flash=if( above(flash,1) , flash-1 , flash); -per_frame_17=invert= above(flash,0.5) -per_pixel_1=//adv=min( (bass*bass*bass), 1); -per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; -per_pixel_3=//warp=warp*adv; -per_pixel_4= -per_pixel_5=//dx=cos(ang+bass)*0.005*(ang+mid)*treb ; -per_pixel_6=//dy=sin(ang+bass)*0.005*(ang+mid)*treb -per_pixel_7= -per_pixel_8=//Do people that don't do drugs make shit like this?? diff --git a/presets_milkdrop_104/phat + Eo.S. - single cel angel birth.milk b/presets_milkdrop_104/phat + Eo.S. - single cel angel birth.milk deleted file mode 100644 index 2fcbb9baa0..0000000000 --- a/presets_milkdrop_104/phat + Eo.S. - single cel angel birth.milk +++ /dev/null @@ -1,355 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.001825 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.625316 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.880000 -fModWaveAlphaEnd=1.980000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=1.001800 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.800000 -ob_b=0.700000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.300000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=0.390000 -mv_g=0.440000 -mv_b=0.900000 -mv_a=1.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=256 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=100.000000 -wavecode_0_smoothing=0.900000 -wavecode_0_r=0.000000 -wavecode_0_g=0.700000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=adv=0 -wave_0_per_frame1= -wave_0_per_frame2=adv=adv+(bass*bass)*0.005; -wave_0_per_frame3= -wave_0_per_frame4=t1=sin(adv)*0.3; -wave_0_per_frame5=t2=cos(adv)*0.3; -wave_0_per_frame6=t3=adv; -wave_0_per_point1=waver=sin(sample*6.28*16)*0.2; -wave_0_per_point2= -wave_0_per_point3=xp=sin(sample*6.28+waver); -wave_0_per_point4=yp=cos(sample*6.28+waver); -wave_0_per_point5= -wave_0_per_point6= -wave_0_per_point7=scale=sin(sample*6.28*3 - t3*3); -wave_0_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; -wave_0_per_point9=xp=xp*scale*scale2; -wave_0_per_point10=yp=yp*scale*scale2; -wave_0_per_point11= -wave_0_per_point12=x=xp*0.4*0.7 + 0.5; -wave_0_per_point13=y=yp*0.5*0.7 + 0.5; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16= -wave_0_per_point17=rmod=sin(time*0.2)*0.5+0.5; -wave_0_per_point18=rmod=rmod*rmod; -wave_0_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; -wave_0_per_point20=gmod=gmod*gmod; -wave_0_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; -wave_0_per_point22=bmod=bmod*bmod; -wave_0_per_point23= -wave_0_per_point24=r=rmod; -wave_0_per_point25=g=gmod; -wave_0_per_point26=b=bmod -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=81.954445 -wavecode_1_smoothing=1.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=adv=0 -wave_1_per_frame1= -wave_1_per_frame2=adv=adv+(bass*bass)*0.005; -wave_1_per_frame3= -wave_1_per_frame4=t1=sin(adv)*0.3; -wave_1_per_frame5=t2=cos(adv)*0.3; -wave_1_per_frame6=t3=adv; -wave_1_per_point1=waver=sin(sample*6.28*16)*0.2; -wave_1_per_point2= -wave_1_per_point3=xp=sin(sample*6.28+waver); -wave_1_per_point4=yp=cos(sample*6.28+waver); -wave_1_per_point5= -wave_1_per_point6= -wave_1_per_point7=scale=sin(sample*6.28*3 - t3*3); -wave_1_per_point8=scale2=sin(sample*6.28*5 - t3*2.9)*0.5 + 0.5; -wave_1_per_point9=xp=xp*scale*scale2; -wave_1_per_point10=yp=yp*scale*scale2; -wave_1_per_point11= -wave_1_per_point12=x=-xp*0.4*0.7 + 0.5; -wave_1_per_point13=y=yp*0.5*0.7 + 0.5; -wave_1_per_point14= -wave_1_per_point15= -wave_1_per_point16= -wave_1_per_point17=rmod=sin(time*0.2)*0.5+0.5; -wave_1_per_point18=rmod=rmod*rmod; -wave_1_per_point19=gmod=sin(time*0.2+2.1)*0.5+0.5; -wave_1_per_point20=gmod=gmod*gmod; -wave_1_per_point21=bmod=sin(time*0.2+4.2)*0.5+0.5; -wave_1_per_point22=bmod=bmod*bmod; -wave_1_per_point23= -wave_1_per_point24=r=rmod; -wave_1_per_point25=g=gmod; -wave_1_per_point26=b=bmod -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=16 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.972354 -shapecode_0_ang=0.188400 -shapecode_0_tex_ang=0.628319 -shapecode_0_tex_zoom=0.778288 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.590000 -shapecode_0_border_g=0.810000 -shapecode_0_border_b=0.690000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=//DMT=1-below((bass_att+mid_att+treb_att)/3,0.7); -shape_0_per_frame2=//a=DMT; -shape_0_per_frame3=//a2=.5*DMT; -shape_0_per_frame4=//border_a=0.4*DMT; -shape_0_per_frame5=//atime=atime+(above( sin(time),0 )*0.02 ); -shape_0_per_frame6=//ang=0.188+((sin(atime/5)*0.5+0.5)*2.39); -shape_0_per_frame7=//x=(sin(atime*0.3)*0.07)+0.5; -shape_0_per_frame8=//y=(cos(atime*0.1)*0.07)+0.5; -shape_0_per_frame9=//rad=((bass+mid+treb)/6)*1.4+0.2; -shape_0_per_frame10=//sides=bass*16 -shape_0_per_frame11=adv=adv+bass*bass*bass*0.01; -shape_0_per_frame12= -shape_0_per_frame13=x=0.5- (cos(y+bass_att )*0.005)*treb_att; -shape_0_per_frame14=y=0.5- (sin(x+bass_att*5 )*0.005*rad)*treb_att; -shape_0_per_frame15=x=x+sin(adv*0.5)*0.15; -shape_0_per_frame16=y=y+cos(adv)*0.05; -shape_0_per_frame17= -shape_0_per_frame18=ang=0.65 - sin(adv*0.5)*0.65; -shape_0_per_frame19= -shape_0_per_frame20=rmod=sin(time*0.2)*0.5+0.5; -shape_0_per_frame21=gmod=sin(time*0.2+2.1)*0.5+0.5; -shape_0_per_frame22=bmod=sin(time*0.2+4.2)*0.5+0.5; -shape_0_per_frame23= -shape_0_per_frame24=r=0.9 + rmod*0.1; -shape_0_per_frame25=g=0.9 + gmod*0.1; -shape_0_per_frame26=b=0.9 + bmod*0.1 -shape_0_per_frame27= -shapecode_1_enabled=0 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.414899 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.251327 -shapecode_1_tex_zoom=1.905855 -shapecode_1_r=0.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.400000 -shapecode_1_r2=0.700000 -shapecode_1_g2=0.200000 -shapecode_1_b2=0.600000 -shapecode_1_a2=0.100000 -shapecode_1_border_r=0.500000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=adv=adv+(bass*bass)*0.03; -shape_1_per_frame3=x=sin(adv)*0.5+0.5; -shape_1_per_frame4=y=cos(adv)*0.5+0.5; -shape_1_per_frame5=r=bass_att; -shape_1_per_frame6=r2=bass_att; -shape_1_per_frame7= -shape_1_per_frame8= -shape_1_per_frame9=rmod=sin(time*0.2)*0.5+0.5; -shape_1_per_frame10=gmod=sin(time*0.2+2.1)*0.5+0.5; -shape_1_per_frame11=bmod=sin(time*0.2+4.2)*0.5+0.5; -shape_1_per_frame12= -shape_1_per_frame13=b2=0.2 + rmod*0.7; -shape_1_per_frame14=r2=0.2 + gmod*0.7; -shape_1_per_frame15=g2=0.2 + bmod*0.7 -shapecode_2_enabled=0 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.200000 -shapecode_2_y=0.800000 -shapecode_2_rad=0.599577 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=1.256637 -shapecode_2_tex_zoom=0.498314 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=1.468144 -shapecode_3_ang=0.753982 -shapecode_3_tex_ang=0.753982 -shapecode_3_tex_zoom=0.698924 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.300000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1= -shape_3_per_frame2= -shape_3_per_frame3=rmod=sin(time*0.2)*0.5+0.5; -shape_3_per_frame4=rmod=rmod*rmod; -shape_3_per_frame5=gmod=sin(time*0.2+2.1)*0.5+0.5; -shape_3_per_frame6=gmod=gmod*gmod; -shape_3_per_frame7=bmod=sin(time*0.2+4.2)*0.5+0.5; -shape_3_per_frame8=bmod=bmod*bmod; -shape_3_per_frame9= -shape_3_per_frame10=r2=0.8+rmod*0.2; -shape_3_per_frame11=g2=0.8+gmod*0.2; -shape_3_per_frame12=b2=0.8+bmod*0.2; -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.98; -per_frame_2= -per_frame_3=dx=0;dy=0;sx=1.000001;sy=0.999999; -per_frame_4= -per_frame_5=mv_r=.360+(((cos(time/5)*0.3)+0.5*0.5)*0.1); -per_frame_6=mv_g=.390+(((sin(time/7)*0.3)+0.5*0.5)*0.1); -per_frame_7=mv_b=.500+((sin((time/7)+0.9)+0.5*0.5)*0.1); -per_frame_8= -per_frame_9= -per_frame_10= -per_pixel_1=//adv=min( (bass*bass*bass), 1); -per_pixel_2=//warp=1*((( atan(time/3) *0.5+0.5)*3)* (x*rad)*2 )+( (y*ang)*2 )*rad; -per_pixel_3=//warp=warp*adv; -per_pixel_4= -per_pixel_5=//dx=(cos(y+bass )*0.005*rad)*treb; -per_pixel_6=//dy=(sin(x+bass*5 )*0.005*rad)*treb; -per_pixel_7=//rot=rad/(bass*100); -per_pixel_8= -per_pixel_9=zoom=1+ 0.001; -per_pixel_10=//Do people that don't do drugs make shit like this?? diff --git a/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk b/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk deleted file mode 100644 index df3a333e0c..0000000000 --- a/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk +++ /dev/null @@ -1,455 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.999894 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999900 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.300000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=6.399996 -nMotionVectorsY=4.800006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=sp = sample*6.283185; -wave_0_per_point2=x = .5 + sin(sp)*.45; -wave_0_per_point3=y = .5 + cos(sp)*.45; -wave_0_per_point4= -wave_0_per_point5=tm = time*.5 + sp; -wave_0_per_point6= -wave_0_per_point7=r = .75 + .25*sin(tm*1.178); -wave_0_per_point8=g = .75 + .25*sin(tm*1.152); -wave_0_per_point9=b = .75 + .25*sin(tm*1.102); -wave_0_per_point10= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=51 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.327350 -wavecode_1_smoothing=0.820000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=3.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_1_per_point1=it = (it+1)*below(it,5); -wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_1_per_point5= -wave_1_per_point6=tm = time*.5 + sample*2; -wave_1_per_point7= -wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_1_per_point10= -wave_1_per_point11=x = vx; -wave_1_per_point12=y = vy; -wave_1_per_point13= -wave_1_per_point14=tm= 1.11 + sample + t1*2; -wave_1_per_point15= -wave_1_per_point16=flux=sin(time)*0.5; -wave_1_per_point17=fluy=cos(time)*0.5; -wave_1_per_point18= -wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_1_per_point21=xfade = (xfade2+xfade)*0.5; -wave_1_per_point22= -wave_1_per_point23= -wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_1_per_point27= -wave_1_per_point28=r=r1*xfade + g1*(1-xfade); -wave_1_per_point29=g=g1*xfade + b1*(1-xfade); -wave_1_per_point30=b=b1*xfade + r1*(1-xfade); -wave_1_per_point31= -wave_1_per_point32= -wave_1_per_point33=//r=xfade;g=xfade;b=xfade; -wave_1_per_point34= -wave_1_per_point35= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=51 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.327350 -wavecode_2_smoothing=0.820000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=3.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_2_per_point1=it = (it+1)*below(it,25); -wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_2_per_point5= -wave_2_per_point6=tm = time*.5 + sample*2; -wave_2_per_point7= -wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_2_per_point10= -wave_2_per_point11=x = vx; -wave_2_per_point12=y = vy; -wave_2_per_point13= -wave_2_per_point14=tm= 1.11 + sample + t1*2.0; -wave_2_per_point15= -wave_2_per_point16=flux=sin(time)*0.5; -wave_2_per_point17=fluy=cos(time)*0.5; -wave_2_per_point18= -wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_2_per_point21=xfade = (xfade2+xfade)*0.5; -wave_2_per_point22= -wave_2_per_point23= -wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_2_per_point27= -wave_2_per_point28=r=r1*xfade + g1*(1-xfade); -wave_2_per_point29=g=g1*xfade + b1*(1-xfade); -wave_2_per_point30=b=b1*xfade + r1*(1-xfade); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=1 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=tic = min(time-tir,.1); -wave_3_per_frame2=tir = time; -wave_3_per_frame3=t2 = tic; -wave_3_per_point1=sam = rand(1001)*.001; -wave_3_per_point2=sam = sample; -wave_3_per_point3=it = (it+1)*above(sam,0); -wave_3_per_point4=set = int(sam*6); -wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); -wave_3_per_point6=off = .866025403; -wave_3_per_point7= -wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); -wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); -wave_3_per_point10= -wave_3_per_point11=zang = q6*50; -wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); -wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); -wave_3_per_point14=mx = ox; -wave_3_per_point15=my = oy; -wave_3_per_point16= -wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; -wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); -wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); -wave_3_per_point20=a = max(-.9 + vol,0); -wave_3_per_point21= -wave_3_per_point22=x = mx*rad; -wave_3_per_point23=y = my*rad; -wave_3_per_point24= -wave_3_per_point25=x = x*.75 + q1; -wave_3_per_point26=y = y + (1-q2); -shapecode_0_enabled=1 -shapecode_0_sides=20 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.275918 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.080000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = q1; -shape_0_per_frame2=y = 1-q2; -shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); -shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.599580 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=1.256637 -shapecode_1_tex_zoom=0.010000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.850000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x = q1; -shape_1_per_frame2=y = 1-q2; -shape_1_per_frame3=ang = .785398 - q6*50 - time*8; -shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_1_per_frame5= -shape_1_per_frame6= -shape_1_per_frame7=flux = sin(time*2.1); -shape_1_per_frame8=flux = flux*above(flux,0.95); -shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_1_per_frame10=flux = max(flux,0); -shape_1_per_frame11=flux=pow(flux,1.3); -shape_1_per_frame12= -shape_1_per_frame13=rad = rad + flux*0.2 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.542619 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=1.000000 -shape_2_per_frame1=x = q1; -shape_2_per_frame2=y = 1-q2; -shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; -shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_2_per_frame5= -shape_2_per_frame6=flux = sin(time*2.1); -shape_2_per_frame7=flux = flux*above(flux,0.95); -shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_2_per_frame9=flux = max(flux,0); -shape_2_per_frame10=flux=pow(flux,1.3); -shape_2_per_frame11= -shape_2_per_frame12=rad = rad + flux*0.2 -shape_2_per_frame13= -shape_2_per_frame14= -shape_2_per_frame15= -shapecode_3_enabled=1 -shapecode_3_sides=6 -shapecode_3_additive=0 -shapecode_3_thickOutline=1 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.090529 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.819542 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = q1; -shape_3_per_frame2=y = 1-q2; -shape_3_per_frame3=ang = .261799 - q6*50; -shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; -shape_3_per_frame5= -shape_3_per_frame6=tex_ang = time*8; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=flux = sin(time*2.1); -shape_3_per_frame10=flux = flux*above(flux,0.95); -shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_3_per_frame12=flux = max(flux,0); -shape_3_per_frame13=flux=pow(flux,1.3); -shape_3_per_frame14= -shape_3_per_frame15=rad = rad + flux*0.2 -per_frame_1=warp = 0; -per_frame_2=decay=.999; -per_frame_3=//q1 = .1*tan(time); -per_frame_4=//q1 = min(0.5,max(0.0,q1)); -per_frame_5=//q1 = q1+0.5; -per_frame_6= -per_frame_7=q1=sin(time); -per_frame_8=q1sgn = sign(q1); -per_frame_9=q1=abs(q1); -per_frame_10=q1=pow(q1,6); -per_frame_11=q1=q1*q1sgn; -per_frame_12=q1=q1*0.4 + 0.5; -per_frame_13= -per_frame_14= -per_frame_15= -per_frame_16=q2 = .5 + .1*sin(time*.548); -per_frame_17= -per_frame_18=tic = min(time - tin,.1); -per_frame_19=tin = time; -per_frame_20= -per_frame_21=ra = 1; -per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_25= -per_frame_26=rb = 1; -per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_28= -per_frame_29=tt = tt + tic*treb_avg; -per_frame_30=mt = mt + tic*mid_avg; -per_frame_31=bt = bt + tic*bass_avg; -per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; -per_frame_33= -per_frame_34=sp = abs(vav - slide)*.1; -per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; -per_frame_36=toc = 1; -per_frame_37= -per_frame_38=q3 = (treb + bass + mid)*.3333; -per_frame_39=q3 = q3*q3*0.5 + 0.1; -per_frame_40=q3 = min(q3,1.0); -per_frame_41=//q3=1.25; -per_frame_42=monitor = int(q3*4)/4; -per_frame_43= -per_frame_44=q4 = mt; -per_frame_45=q5 = bt; -per_frame_46= -per_frame_47=cx = q1; -per_frame_48=cy = q2; -per_frame_49= -per_frame_50=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; -per_frame_51=rmod = 0.02 * pow(rmod/0.02 , 2)*7; -per_frame_52=rmod = min(0.001 , max(rmod, -0.001)); -per_frame_53=rmod=rmod*pow(sin(time)*1.1,2); -per_frame_54=rot = 0.02 * pow(rmod/0.02 , 2) *40; -per_frame_55= -per_frame_56=q6 = rmod; -per_frame_57= -per_frame_58=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); -per_frame_59= -per_frame_60=q8=if( above(sin(time*0.5),0) , -1 , 1); -per_frame_61= -per_frame_62=//echo_zoom=1+(above(treb,.8)+treb); -per_pixel_1=tm=time/rad; -per_pixel_2=a = q1; -per_pixel_3=b = q2; -per_pixel_4= -per_pixel_5=//testcode -per_pixel_6=//a=0.0;b=0.5; -per_pixel_7= -per_pixel_8=mx = x-a; -per_pixel_9=my = y-b; -per_pixel_10=zm = -.45; -per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 * max(1-q3*.5,0) , zm); -per_pixel_12= -per_pixel_13=//test code -per_pixel_14=//zm= -0.5; -per_pixel_15= -per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; -per_pixel_17= -per_pixel_18=rot = rot*(1-dis); -per_pixel_19=rot=rot*20*q8 ; -per_pixel_20= -per_pixel_21=//testcode -per_pixel_22=//q3=3.1; -per_pixel_23= -per_pixel_24=limit=0.05; -per_pixel_25= -per_pixel_26=dx = zm*mx*dis*cos(my*3.14)*q3; -per_pixel_27=dsign=sign(dx); -per_pixel_28=dx = dx - ( max(abs(dx)-limit,0) )*dsign; -per_pixel_29= -per_pixel_30=dy = zm*my*dis*cos(mx*3.14)*q3; -per_pixel_31=dsign=sign(dy); -per_pixel_32=dy = dy - ( max(abs(dy)-limit,0) )*dsign; -per_pixel_33= diff --git a/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat 5362.milk b/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat 5362.milk deleted file mode 100644 index 7f85888bbe..0000000000 --- a/presets_milkdrop_104/shifter - escape the worm - Eo.S. + Phat 5362.milk +++ /dev/null @@ -1,445 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.006543 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999900 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.050000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.300000 -ib_size=0.125000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=sp = sample*6.283185; -wave_0_per_point2=x = .5 + sin(sp)*.45; -wave_0_per_point3=y = .5 + cos(sp)*.45; -wave_0_per_point4= -wave_0_per_point5=tm = time*.5 + sp; -wave_0_per_point6= -wave_0_per_point7=r = .75 + .25*sin(tm*1.178); -wave_0_per_point8=g = .75 + .25*sin(tm*1.152); -wave_0_per_point9=b = .75 + .25*sin(tm*1.102); -wave_0_per_point10= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=51 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.327350 -wavecode_1_smoothing=0.820000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=3.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_1_per_point1=it = (it+1)*below(it,5); -wave_1_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_1_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_1_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_1_per_point5= -wave_1_per_point6=tm = time*.5 + sample*2; -wave_1_per_point7= -wave_1_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_1_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_1_per_point10= -wave_1_per_point11=x = vx; -wave_1_per_point12=y = vy; -wave_1_per_point13= -wave_1_per_point14=tm= 1.11 + sample + t1*2; -wave_1_per_point15= -wave_1_per_point16=flux=sin(time)*0.5; -wave_1_per_point17=fluy=cos(time)*0.5; -wave_1_per_point18= -wave_1_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_1_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_1_per_point21=xfade = (xfade2+xfade)*0.5; -wave_1_per_point22= -wave_1_per_point23= -wave_1_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_1_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_1_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_1_per_point27= -wave_1_per_point28=r=r1*xfade + g1*(1-xfade); -wave_1_per_point29=g=g1*xfade + b1*(1-xfade); -wave_1_per_point30=b=b1*xfade + r1*(1-xfade); -wave_1_per_point31= -wave_1_per_point32= -wave_1_per_point33=//r=xfade;g=xfade;b=xfade; -wave_1_per_point34= -wave_1_per_point35= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=51 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.327350 -wavecode_2_smoothing=0.820000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=3.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=sin(time*0.236)*0.5 + 0.5 -wave_2_per_point1=it = (it+1)*below(it,25); -wave_2_per_point2=sw = if(equal(it,0),rand(2),sw); -wave_2_per_point3=rx = if(sw,rand(1001)*.001,rand(2)); -wave_2_per_point4=ry = if(sw,rand(2),rand(1001)*.001); -wave_2_per_point5= -wave_2_per_point6=tm = time*.5 + sample*2; -wave_2_per_point7= -wave_2_per_point8=vx = if(equal(it,0),rx,vx + sw*.002); -wave_2_per_point9=vy = if(equal(it,0),ry,vy +(1-sw)*.002); -wave_2_per_point10= -wave_2_per_point11=x = vx; -wave_2_per_point12=y = vy; -wave_2_per_point13= -wave_2_per_point14=tm= 1.11 + sample + t1*2.0; -wave_2_per_point15= -wave_2_per_point16=flux=sin(time)*0.5; -wave_2_per_point17=fluy=cos(time)*0.5; -wave_2_per_point18= -wave_2_per_point19=xfade = max(-abs(x-0.5 + flux) + 1 , 0); -wave_2_per_point20=xfade2= max(-abs(y-0.5 + fluy) + 1 , 0); -wave_2_per_point21=xfade = (xfade2+xfade)*0.5; -wave_2_per_point22= -wave_2_per_point23= -wave_2_per_point24=r1 = .5 + .5*sin(tm + 0.0); -wave_2_per_point25=g1 = .5 + .5*sin(tm + 2.1); -wave_2_per_point26=b1 = .5 + .5*sin(tm + 4.2); -wave_2_per_point27= -wave_2_per_point28=r=r1*xfade + g1*(1-xfade); -wave_2_per_point29=g=g1*xfade + b1*(1-xfade); -wave_2_per_point30=b=b1*xfade + r1*(1-xfade); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=1 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=tic = min(time-tir,.1); -wave_3_per_frame2=tir = time; -wave_3_per_frame3=t2 = tic; -wave_3_per_point1=sam = rand(1001)*.001; -wave_3_per_point2=sam = sample; -wave_3_per_point3=it = (it+1)*above(sam,0); -wave_3_per_point4=set = int(sam*6); -wave_3_per_point5=sp = sam*6 - int(sam*6) + equal(it,511); -wave_3_per_point6=off = .866025403; -wave_3_per_point7= -wave_3_per_point8=mx = equal(set,0)*(-.5 + sp) + equal(set,1)*(.5 + .5*sp) + equal(set,2)*(1-.5*sp) + equal(set,3)*(.5-sp) + equal(set,4)*(-.5 - sp*.5) + above(set,4)*(-1 + sp*.5); -wave_3_per_point9=my = equal(set,0)*off + equal(set,1)*(1-sp)*off + equal(set,2)*-sp*off + equal(set,3)*-off + equal(set,4)*(-off + sp*off) + above(set,4)*(sp*off); -wave_3_per_point10= -wave_3_per_point11=zang = q6*50; -wave_3_per_point12=ox = mx*cos(zang) - my*sin(zang); -wave_3_per_point13=oy = mx*sin(zang) + my*cos(zang); -wave_3_per_point14=mx = ox; -wave_3_per_point15=my = oy; -wave_3_per_point16= -wave_3_per_point17=rad = max(0.2 - q7*.1,0)*.5; -wave_3_per_point18=vol = max(1-(value1+value2)*.2,0.5); -wave_3_per_point19=rad = if(equal(it%2,0),rad*vol,rad); -wave_3_per_point20=a = max(-.9 + vol,0); -wave_3_per_point21= -wave_3_per_point22=x = mx*rad; -wave_3_per_point23=y = my*rad; -wave_3_per_point24= -wave_3_per_point25=x = x*.75 + q1; -wave_3_per_point26=y = y + (1-q2); -shapecode_0_enabled=1 -shapecode_0_sides=20 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.336672 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.040000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = q1; -shape_0_per_frame2=y = 1-q2; -shape_0_per_frame3=//a2=.05+(below(q1,.5)*.1); -shape_0_per_frame4=//sides=10-(below(tan(time),.9)*6); -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.599580 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=1.256637 -shapecode_1_tex_zoom=0.010000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=0.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.850000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x = q1; -shape_1_per_frame2=y = 1-q2; -shape_1_per_frame3=ang = .785398 - q6*50 - time*8; -shape_1_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_1_per_frame5= -shape_1_per_frame6= -shape_1_per_frame7=flux = sin(time*2.1); -shape_1_per_frame8=flux = flux*above(flux,0.95); -shape_1_per_frame9=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_1_per_frame10=flux = max(flux,0); -shape_1_per_frame11=flux=pow(flux,1.3); -shape_1_per_frame12= -shape_1_per_frame13=rad = rad + flux*0.2 -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.542619 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=1.000000 -shape_2_per_frame1=x = q1; -shape_2_per_frame2=y = 1-q2; -shape_2_per_frame3=ang = -.261799 - q6*50 - time*8; -shape_2_per_frame4=rad = max(0.2 - q7*.1,0)*2*rad; -shape_2_per_frame5= -shape_2_per_frame6=flux = sin(time*2.1); -shape_2_per_frame7=flux = flux*above(flux,0.95); -shape_2_per_frame8=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_2_per_frame9=flux = max(flux,0); -shape_2_per_frame10=flux=pow(flux,1.3); -shape_2_per_frame11= -shape_2_per_frame12=rad = rad + flux*0.2 -shape_2_per_frame13= -shape_2_per_frame14= -shape_2_per_frame15= -shapecode_3_enabled=1 -shapecode_3_sides=6 -shapecode_3_additive=0 -shapecode_3_thickOutline=1 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.090529 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.819542 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = q1; -shape_3_per_frame2=y = 1-q2; -shape_3_per_frame3=ang = .261799 - q6*50; -shape_3_per_frame4=rad = max(0.2 - q7*.1,0)*.7; -shape_3_per_frame5= -shape_3_per_frame6=tex_ang = time*8; -shape_3_per_frame7= -shape_3_per_frame8= -shape_3_per_frame9=flux = sin(time*2.1); -shape_3_per_frame10=flux = flux*above(flux,0.95); -shape_3_per_frame11=flux = (flux-0.95) * 20; //normalize to 0-1; -shape_3_per_frame12=flux = max(flux,0); -shape_3_per_frame13=flux=pow(flux,1.3); -shape_3_per_frame14= -shape_3_per_frame15=rad = rad + flux*0.2 -per_frame_1=warp = 0; -per_frame_2= -per_frame_3=//q1 = .1*tan(time); -per_frame_4=//q1 = min(0.5,max(0.0,q1)); -per_frame_5=//q1 = q1+0.5; -per_frame_6= -per_frame_7=q1=sin(time); -per_frame_8=q1sgn = sign(q1); -per_frame_9=q1=abs(q1); -per_frame_10=q1=pow(q1,6); -per_frame_11=q1=q1*q1sgn; -per_frame_12=q1=q1*0.4 + 0.5; -per_frame_13= -per_frame_14= -per_frame_15= -per_frame_16=q2 = .5 + .1*sin(time*.548); -per_frame_17= -per_frame_18=tic = min(time - tin,.1); -per_frame_19=tin = time; -per_frame_20= -per_frame_21=ra = 1; -per_frame_22=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_23=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_24=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_25= -per_frame_26=rb = 1; -per_frame_27=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_28= -per_frame_29=tt = tt + tic*treb_avg; -per_frame_30=mt = mt + tic*mid_avg; -per_frame_31=bt = bt + tic*bass_avg; -per_frame_32=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; -per_frame_33= -per_frame_34=sp = abs(vav - slide)*.1; -per_frame_35=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp) + (1-toc)*vav; -per_frame_36=toc = 1; -per_frame_37= -per_frame_38=q3 = (treb + bass + mid)*.3333; -per_frame_39=q3=q3*q3*0.5 + 0.1; -per_frame_40= -per_frame_41=q4 = mt; -per_frame_42=q5 = bt; -per_frame_43= -per_frame_44=cx = q1; -per_frame_45=cy = q2; -per_frame_46= -per_frame_47=rmod = ((treb_avg + mid_avg)*.5 - bass_avg*0.5)*.01; -per_frame_48=rmod = 0.02 * pow(rmod/0.02 , 2)*7; -per_frame_49=rmod = min(0.001 , max(rmod, -0.001)); -per_frame_50=rmod=rmod*pow(sin(time)*1.1,2); -per_frame_51=rot = 0.02 * pow(rmod/0.02 , 2) *40; -per_frame_52= -per_frame_53=q6 = rmod; -per_frame_54= -per_frame_55=q7 = slide - below(q3,.5)*(6 + 2*sin(time*24))*pow(min(1,(.5 - q3)*2),5); -per_frame_56= -per_frame_57=q8=if( above(sin(time*0.5),0) , -1 , 1); -per_frame_58= -per_frame_59=//echo_zoom=1+(above(treb,.8)+treb); -per_pixel_1=tm=time/rad; -per_pixel_2=a = q1; -per_pixel_3=b = q2; -per_pixel_4= -per_pixel_5=//testcode -per_pixel_6=//a=0.5;b=0.5; -per_pixel_7= -per_pixel_8=mx = x-a; -per_pixel_9=my = y-b; -per_pixel_10=zm = -.45; -per_pixel_11=zm= if( above(sin(time*2.1),0.95) , 0.45 , zm); -per_pixel_12= -per_pixel_13=//test code -per_pixel_14=//zm= -0.5; -per_pixel_15= -per_pixel_16=dis = pow(mx*mx + my*my,.5)*.70710678; -per_pixel_17= -per_pixel_18=rot = rot*(1-dis); -per_pixel_19=rot=rot*20*q8 ; -per_pixel_20= -per_pixel_21=//testcode -per_pixel_22=//q3=3.1; -per_pixel_23= -per_pixel_24=dx = zm*mx*dis*cos(my*3.14)*q3; -per_pixel_25=dy = zm*my*dis*cos(mx*3.14)*q3; -per_pixel_26= diff --git a/presets_milkdrop_104/shifter - lattice (eclipse) Phat + Eo.S. more color mix_v2.milk b/presets_milkdrop_104/shifter - lattice (eclipse) Phat + Eo.S. more color mix_v2.milk deleted file mode 100644 index ea9405262f..0000000000 --- a/presets_milkdrop_104/shifter - lattice (eclipse) Phat + Eo.S. more color mix_v2.milk +++ /dev/null @@ -1,483 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000155 -fShader=0.000000 -zoom=1.009509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=1 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.000000 -wavecode_0_r=0.000000 -wavecode_0_g=0.000000 -wavecode_0_b=0.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=sp = sample*10; -wave_0_per_point2=ti = q1; -wave_0_per_point3= -wave_0_per_point4=ox = .25*sin(ti*.327 + sp*6.2832*3.12) + .5*sin(ti*.878 + sp*6.2832*8.68) + .25*sin(ti*.787 + sp*6.2832*7.85); -wave_0_per_point5=oy = .45*sin(ti*.877 + sp*6.2832*2.37) + .25*sin(ti*.482 + sp*6.2832*2.38) + .3*sin(ti*.129 + sp*6.2832*3.21); -wave_0_per_point6=oz = .35*sin(ti*.453 + sp*6.2832*8.97) + .15*sin(ti*.365 + sp*6.2832*5.13) + .5*sin(ti*.385 + sp*6.2832*5.46); -wave_0_per_point7= -wave_0_per_point8=ox = ox*6*q5; -wave_0_per_point9=oy = oy*6*q5; -wave_0_per_point10=oz = oz*6*q5; -wave_0_per_point11= -wave_0_per_point12=xang = q2; -wave_0_per_point13=yang = q3; -wave_0_per_point14=zang = q4; -wave_0_per_point15= -wave_0_per_point16=fov = .5; -wave_0_per_point17= -wave_0_per_point18=mx = ox*cos(yang) + oz*sin(yang); -wave_0_per_point19=mz = - ox*sin(yang) + oz*cos(yang); -wave_0_per_point20=ox = mx; -wave_0_per_point21=oz = mz; -wave_0_per_point22=mx = ox*cos(zang) - oy*sin(zang); -wave_0_per_point23=my = ox*sin(zang) + oy*cos(zang); -wave_0_per_point24=ox = mx; -wave_0_per_point25=oy = my; -wave_0_per_point26=my = oy*cos(xang) - oz*sin(xang); -wave_0_per_point27=mz = oy*sin(xang) + oz*cos(xang); -wave_0_per_point28=oy = my; -wave_0_per_point29=oz = mz; -wave_0_per_point30= -wave_0_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; -wave_0_per_point32=x = ox*fov/oz + 0.5; -wave_0_per_point33=x = (x-.5)*0.75 + 0.5; -wave_0_per_point34=y = oy*fov/oz + 0.5; -wave_0_per_point35= -wave_0_per_point36= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=1 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=sp = sample*10; -wave_1_per_point2=ti = q1; -wave_1_per_point3= -wave_1_per_point4=ox = .25*sin(ti*.654 + sp*6.2832*3.12) + .5*sin(ti*.378 + sp*6.2832*8.68) + .25*sin(ti*.537 + sp*6.2832*7.85); -wave_1_per_point5=oy = .45*sin(ti*.465 + sp*6.2832*2.37) + .25*sin(ti*.123 + sp*6.2832*2.38) + .3*sin(ti*.756 + sp*6.2832*3.21); -wave_1_per_point6=oz = .35*sin(ti*.758 + sp*6.2832*8.97) + .15*sin(ti*.187 + sp*6.2832*5.13) + .5*sin(ti*.548 + sp*6.2832*5.46); -wave_1_per_point7= -wave_1_per_point8=ox = ox*6*q5; -wave_1_per_point9=oy = oy*6*q5; -wave_1_per_point10=oz = oz*6*q5; -wave_1_per_point11= -wave_1_per_point12=xang = q2; -wave_1_per_point13=yang = q3; -wave_1_per_point14=zang = q4; -wave_1_per_point15= -wave_1_per_point16=fov = .5; -wave_1_per_point17= -wave_1_per_point18=mx = ox*cos(yang) + oz*sin(yang); -wave_1_per_point19=mz = - ox*sin(yang) + oz*cos(yang); -wave_1_per_point20=ox = mx; -wave_1_per_point21=oz = mz; -wave_1_per_point22=mx = ox*cos(zang) - oy*sin(zang); -wave_1_per_point23=my = ox*sin(zang) + oy*cos(zang); -wave_1_per_point24=ox = mx; -wave_1_per_point25=oy = my; -wave_1_per_point26=my = oy*cos(xang) - oz*sin(xang); -wave_1_per_point27=mz = oy*sin(xang) + oz*cos(xang); -wave_1_per_point28=oy = my; -wave_1_per_point29=oz = mz; -wave_1_per_point30= -wave_1_per_point31=oz = (oz - int(oz*.2)*5 - 5)*2; -wave_1_per_point32=x = ox*fov/oz + 0.5; -wave_1_per_point33=x = (x-.5)*0.75 + 0.5; -wave_1_per_point34=y = oy*fov/oz + 0.5; -wave_1_per_point35= -wave_1_per_point36= -wave_1_per_point37= -wave_1_per_point38=r=tan(x*6.28+3+q2); -wave_1_per_point39=r=min ( max(r*treb+0.5,0),1); -wave_1_per_point40=g=tan(y*6.28++32.1+q3); -wave_1_per_point41=g=min ( max(g*mid+0.5,0),1); -wave_1_per_point42=b=tan((x+y)*3.14+3+4.2+q4); -wave_1_per_point43=b=min ( max(b*bass+0.5,0),1); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=1 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.000000 -wavecode_2_r=0.000000 -wavecode_2_g=0.000000 -wavecode_2_b=0.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); -wave_2_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); -wave_2_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); -wave_2_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); -wave_2_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); -wave_2_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); -wave_2_per_frame7= -wave_2_per_frame8=t1 = ra*6.2832; -wave_2_per_frame9=t2 = rb*6.2832; -wave_2_per_frame10=t3 = rc*6.2832; -wave_2_per_frame11=t4 = rd*6.2832; -wave_2_per_frame12=t5 = re*6.2832; -wave_2_per_frame13=t6 = rf*6.2832; -wave_2_per_frame14= -wave_2_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); -wave_2_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); -wave_2_per_frame17= -wave_2_per_frame18=t7 = rg; -wave_2_per_frame19=t8 = rh; -wave_2_per_frame20= -wave_2_per_frame21= -wave_2_per_frame22=tic = min(time-tir,.1); -wave_2_per_frame23=tir = time; -wave_2_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; -wave_2_per_frame25= -wave_2_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); -wave_2_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); -wave_2_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); -wave_2_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); -wave_2_per_point5= -wave_2_per_point6=vol = (value1+value2)*.5; -wave_2_per_point7=vol = 0; -wave_2_per_point8=it = it*above(sample,0); -wave_2_per_point9=it = it + 1; -wave_2_per_point10= -wave_2_per_point11=sp = sample*10; -wave_2_per_point12=ti = q1; -wave_2_per_point13= -wave_2_per_point14=ox = .5*sin(ti*t7 + sp*t1) + .5*sin(ti*rb + sp*t4); -wave_2_per_point15=oy = .5*sin(ti*t8 + sp*t2) + .5*sin(ti*rc + sp*t5); -wave_2_per_point16=oz = .5*sin(ti*ra + sp*t3) + .5*sin(ti*rd + sp*t6); -wave_2_per_point17= -wave_2_per_point18=ox = ox*q5; -wave_2_per_point19=oy = oy*q5; -wave_2_per_point20=oz = oz*q5; -wave_2_per_point21= -wave_2_per_point22= -wave_2_per_point23=xang = q2; -wave_2_per_point24=yang = q3; -wave_2_per_point25=zang = q4; -wave_2_per_point26= -wave_2_per_point27=fov = .5; -wave_2_per_point28= -wave_2_per_point29=mx = ox*cos(yang) + oz*sin(yang); -wave_2_per_point30=mz = - ox*sin(yang) + oz*cos(yang); -wave_2_per_point31=ox = mx; -wave_2_per_point32=oz = mz; -wave_2_per_point33=mx = ox*cos(zang) - oy*sin(zang); -wave_2_per_point34=my = ox*sin(zang) + oy*cos(zang); -wave_2_per_point35=ox = mx; -wave_2_per_point36=oy = my; -wave_2_per_point37=my = oy*cos(xang) - oz*sin(xang); -wave_2_per_point38=mz = oy*sin(xang) + oz*cos(xang); -wave_2_per_point39=oy = my; -wave_2_per_point40=oz = mz; -wave_2_per_point41= -wave_2_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; -wave_2_per_point43=x = ox*fov/oz + 0.5; -wave_2_per_point44=x = (x-.5)*0.75 + 0.5; -wave_2_per_point45=y = oy*fov/oz + 0.5; -wave_2_per_point46= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=1 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=ra = if(ra,ra,2 + 8*rand(1001)*.001); -wave_3_per_frame2=rb = if(rb,rb,2 + 8*rand(1001)*.001); -wave_3_per_frame3=rc = if(rc,rc,2 + 8*rand(1001)*.001); -wave_3_per_frame4=rd = if(rd,rd,2 + 8*rand(1001)*.001); -wave_3_per_frame5=re = if(re,re,2 + 8*rand(1001)*.001); -wave_3_per_frame6=rf = if(rf,rf,2 + 8*rand(1001)*.001); -wave_3_per_frame7= -wave_3_per_frame8=t1 = ra*6.2832; -wave_3_per_frame9=t2 = rb*6.2832; -wave_3_per_frame10=t3 = rc*6.2832; -wave_3_per_frame11=t4 = rd*6.2832; -wave_3_per_frame12=t5 = re*6.2832; -wave_3_per_frame13=t6 = rf*6.2832; -wave_3_per_frame14= -wave_3_per_frame15=rg = if(rg,rg,.1 + .8*rand(1001)*.001); -wave_3_per_frame16=rh = if(rh,rh,.1 + .8*rand(1001)*.001); -wave_3_per_frame17= -wave_3_per_frame18=t7 = rg; -wave_3_per_frame19=t8 = rh; -wave_3_per_frame20= -wave_3_per_frame21= -wave_3_per_frame22=tic = min(time-tir,.1); -wave_3_per_frame23=tir = time; -wave_3_per_frame24=ti = ti + tic*.5 + below(vr+vg+vb,.4)*tic*8; -wave_3_per_frame25= -wave_3_per_point1=ra = if(ra,ra,.1 + .8*rand(1001)*.001); -wave_3_per_point2=rb = if(rb,rb,.1 + .8*rand(1001)*.001); -wave_3_per_point3=rc = if(rc,rc,.1 + .8*rand(1001)*.001); -wave_3_per_point4=rd = if(rd,rd,.1 + .8*rand(1001)*.001); -wave_3_per_point5= -wave_3_per_point6=vol = (value1+value2)*.5; -wave_3_per_point7=vol = 0; -wave_3_per_point8=it = it*above(sample,0); -wave_3_per_point9=it = it + 1; -wave_3_per_point10= -wave_3_per_point11=sp = sample*10; -wave_3_per_point12=ti = q1; -wave_3_per_point13= -wave_3_per_point14=ox = .5*sin(ti*t7 + sp*t1+q2) + .5*sin(ti*rb + sp*t4); -wave_3_per_point15=oy = .5*sin(ti*t8 + sp*t2+q3) + .5*sin(ti*rc + sp*t5); -wave_3_per_point16=oz = .5*sin(ti*ra + sp*t3+q4) + .5*sin(ti*rd + sp*t6); -wave_3_per_point17= -wave_3_per_point18=ox = ox*q5; -wave_3_per_point19=oy = oy*q5; -wave_3_per_point20=oz = oz*q5; -wave_3_per_point21= -wave_3_per_point22= -wave_3_per_point23=xang = q2; -wave_3_per_point24=yang = q3; -wave_3_per_point25=zang = q4; -wave_3_per_point26= -wave_3_per_point27=fov = .5; -wave_3_per_point28= -wave_3_per_point29=mx = ox*cos(yang) + oz*sin(yang); -wave_3_per_point30=mz = - ox*sin(yang) + oz*cos(yang); -wave_3_per_point31=ox = mx; -wave_3_per_point32=oz = mz; -wave_3_per_point33=mx = ox*cos(zang) - oy*sin(zang); -wave_3_per_point34=my = ox*sin(zang) + oy*cos(zang); -wave_3_per_point35=ox = mx; -wave_3_per_point36=oy = my; -wave_3_per_point37=my = oy*cos(xang) - oz*sin(xang); -wave_3_per_point38=mz = oy*sin(xang) + oz*cos(xang); -wave_3_per_point39=oy = my; -wave_3_per_point40=oz = mz; -wave_3_per_point41= -wave_3_per_point42=oz = (oz - int(oz*.2)*5 - 5)*2; -wave_3_per_point43=x = ox*fov/oz + 0.5; -wave_3_per_point44=x = (x-.5)*0.75 + 0.5; -wave_3_per_point45=y = oy*fov/oz + 0.5; -wave_3_per_point46= -wave_3_per_point47= -wave_3_per_point48=r=tan(x*6.28+q2); -wave_3_per_point49=r=min ( max(r*treb,0),1); -wave_3_per_point50=g=tan(y*6.28+2.1+q3); -wave_3_per_point51=g=min ( max(g*mid,0),1); -wave_3_per_point52=b=tan((x+y)*3.14+4.2+q4); -wave_3_per_point53=b=min ( max(b*bass,0),1); -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=2.008520 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.508316 -shapecode_0_r=0.900000 -shapecode_0_g=0.940000 -shapecode_0_b=0.890000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.840000 -shapecode_0_g2=0.930000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.100000 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_init3=te = 1; -shape_0_init4=poly = 5; -shape_0_per_frame1=ti = time*.1; -shape_0_per_frame2=r = .95 + .05*sin(ti*1.821); -shape_0_per_frame3=g = .95 + .05*sin(ti*1.838); -shape_0_per_frame4=b = .95 + .05*sin(ti*1.868); -shape_0_per_frame5= -shape_0_per_frame6=r2=r; -shape_0_per_frame7=g2=g; -shape_0_per_frame8=b2=b; -shapecode_1_enabled=1 -shapecode_1_sides=34 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.662308 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.503750 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.800000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=a=bass_att; -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=1 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=2.008520 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.518531 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=0.000000 -shapecode_2_border_a=0.100000 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_init3=te = 1; -shape_2_init4=poly = 5; -shape_2_per_frame1=a=treb_att; -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=1.089253 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.000000 -shapecode_3_a=0.200000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.200000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.200000 -shape_3_per_frame1=ang=bass; -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3=tic = min(time-tin,.1); -per_frame_4=tin = time; -per_frame_5= -per_frame_6=ra = 10; -per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_10=vav = tic*(vav*(1/tic - ra) + ra*(bass+treb+mid)*.33333); -per_frame_11= -per_frame_12=tt = tt + tic*treb_avg; -per_frame_13=mt = mt + tic*mid_avg; -per_frame_14=bt = bt + tic*bass_avg; -per_frame_15=vt = vt + tic*vav; -per_frame_16= -per_frame_17=sp = abs(vav - slide)*.1; -per_frame_18= -per_frame_19=slide = if(above(slide,vav),slide-tic*sp,slide+tic*sp); -per_frame_20= -per_frame_21=q1 = vt*.0 + 300; -per_frame_22=q2 = tt*.25; -per_frame_23=q3 = mt*.25; -per_frame_24=q4 = bt*.25; -per_frame_25=q5 = slide*.6*6; -per_frame_26=decay=0.95; -per_frame_27= -per_frame_28=monitor=q3 diff --git a/presets_milkdrop_104/yin + Phat + Eo.S. - Dreams of Blood.milk b/presets_milkdrop_104/yin + Phat + Eo.S. - Dreams of Blood.milk deleted file mode 100644 index 242368ba4f..0000000000 --- a/presets_milkdrop_104/yin + Phat + Eo.S. - Dreams of Blood.milk +++ /dev/null @@ -1,509 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999997 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.001775 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.321288 -fWarpScale=1.986883 -fZoomExponent=0.880200 -fShader=0.000000 -zoom=0.999800 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=0.999800 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.500000 -ib_r=0.000000 -ib_g=0.300000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.000000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ 0.005; -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3=advance=q4; -wave_0_per_frame4=t1=advance -wave_0_per_point1=s=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=//plot random x position via function of sample pos; -wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point5=xp=xp*0.40; -wave_0_per_point6= -wave_0_per_point7=//plot random y position via function of sample pos; -wave_0_per_point8=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point9=yp=yp*0.40; -wave_0_per_point10= -wave_0_per_point11=//plot random z position via function of sample pos; -wave_0_per_point12=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point13=zp=zp*0.25; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//bx = xp; -wave_0_per_point17=//by = yp*cos(q1) - zp*sin(q1); -wave_0_per_point18=//bz = yp*sin(q1) + zp*cos(q1); -wave_0_per_point19= -wave_0_per_point20=//ax = bx*cos(q2) - bz*sin(q2); -wave_0_per_point21=//ay = by; -wave_0_per_point22=//az = bx*sin(q2) + bz*cos(q2); -wave_0_per_point23= -wave_0_per_point24=//xp = ax*cos(q3) - ay*sin(q3); -wave_0_per_point25=//yp = ax*sin(q3) + ay*cos(q3); -wave_0_per_point26=//yz = az; -wave_0_per_point27= -wave_0_per_point28= -wave_0_per_point29= -wave_0_per_point30=//pull stars toward screen -wave_0_per_point31=xp=xp - q4; -wave_0_per_point32=yp=yp - q5; -wave_0_per_point33=zp=zp + 1 - q6; -wave_0_per_point34= -wave_0_per_point35= -wave_0_per_point36=//correct when below 0 -wave_0_per_point37=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point38=zp=if( above(zp,2) , zp-2 , zp ); -wave_0_per_point39= -wave_0_per_point40=//darken far stars -wave_0_per_point41=a=(1 - zp*0.5); -wave_0_per_point42=a=min(a,1); -wave_0_per_point43=a=max(a,0); -wave_0_per_point44= -wave_0_per_point45=zp=zp*0.7; -wave_0_per_point46= -wave_0_per_point47=x_screen=xp/zp + 0.5; -wave_0_per_point48=y_screen=yp/zp + 0.5; -wave_0_per_point49= -wave_0_per_point50=x=x_screen; -wave_0_per_point51=y=y_screen; -wave_0_per_point52= -wave_0_per_point53=r=1; -wave_0_per_point54=g=1; -wave_0_per_point55=b=1; -wave_0_per_point56= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=advance=0 -wave_1_per_frame1=advance=advance+ 0.015; -wave_1_per_frame2=advance=if( above(advance,10) , 0, advance); -wave_1_per_frame3=t1=advance -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.24)+sin(s*34.3)+sin(s*15.8); -wave_1_per_point5=xp=xp*0.40; -wave_1_per_point6= -wave_1_per_point7=//plot random y position via function of sample pos; -wave_1_per_point8=yp=cos(s)+sin(s*0.44)+cos(s*17.4)+sin(s*35.7); -wave_1_per_point9=yp=yp*0.40; -wave_1_per_point10= -wave_1_per_point11=//plot random z position via function of sample pos; -wave_1_per_point12=zp=cos(s)+cos(s*6.24)+cos(s*42.4)+cos(s*17.7); -wave_1_per_point13=zp=zp*0.25; -wave_1_per_point14= -wave_1_per_point15= -wave_1_per_point16=//bx = xp; -wave_1_per_point17=//by = yp*cos(q1) - zp*sin(q1); -wave_1_per_point18=//bz = yp*sin(q1) + zp*cos(q1); -wave_1_per_point19= -wave_1_per_point20=//ax = bx*cos(q2) - bz*sin(q2); -wave_1_per_point21=//ay = by; -wave_1_per_point22=//az = bx*sin(q2) + bz*cos(q2); -wave_1_per_point23= -wave_1_per_point24=//xp = ax*cos(q3) - ay*sin(q3); -wave_1_per_point25=//yp = ax*sin(q3) + ay*cos(q3); -wave_1_per_point26=//yz = az; -wave_1_per_point27= -wave_1_per_point28= -wave_1_per_point29= -wave_1_per_point30=//pull stars toward screen -wave_1_per_point31=xp=xp - q4; -wave_1_per_point32=yp=yp - q5; -wave_1_per_point33=zp=zp + 1 - q6; -wave_1_per_point34= -wave_1_per_point35= -wave_1_per_point36=//correct when below 0 -wave_1_per_point37=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point38=zp=if( above(zp,2) , zp-2 , zp ); -wave_1_per_point39= -wave_1_per_point40=//darken far stars -wave_1_per_point41=a=(1 - zp*0.5); -wave_1_per_point42=a=min(a,1); -wave_1_per_point43=a=max(a,0); -wave_1_per_point44= -wave_1_per_point45=zp=zp*0.7; -wave_1_per_point46= -wave_1_per_point47=x_screen=xp/zp + 0.5; -wave_1_per_point48=y_screen=yp/zp + 0.5; -wave_1_per_point49= -wave_1_per_point50=x=x_screen; -wave_1_per_point51=y=y_screen; -wave_1_per_point52= -wave_1_per_point53=r=1; -wave_1_per_point54=g=1; -wave_1_per_point55=b=1; -wave_1_per_point56= -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.000000 -wavecode_2_r=1.000000 -wavecode_2_g=0.500001 -wavecode_2_b=0.100001 -wavecode_2_a=1.000000 -wave_2_per_frame1= -wave_2_per_frame2=xa=sin(q8*0.6-0.5)*0.2; -wave_2_per_frame3=ya=sin(q8*0.7-0.5)*0.2; -wave_2_per_frame4=za=sin(q8*0.5-0.5); -wave_2_per_frame5=t4=xa; -wave_2_per_frame6=t5=ya; -wave_2_per_frame7=t6=za; -wave_2_per_point1= -wave_2_per_point2=t=above(sin(20*6.2831*sample+time*16),0); -wave_2_per_point3=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); -wave_2_per_point4=ay = 1.3*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); -wave_2_per_point5=az = 0; -wave_2_per_point6= -wave_2_per_point7=bx = ax; -wave_2_per_point8=by = ay*cos(q1) - az*sin(q1); -wave_2_per_point9=bz = ay*sin(q1) + az*cos(q1); -wave_2_per_point10= -wave_2_per_point11=ax = bx*cos(q2) - bz*sin(q2); -wave_2_per_point12=ay = by; -wave_2_per_point13=az = bx*sin(q2) + bz*cos(q2); -wave_2_per_point14= -wave_2_per_point15=bx = ax*cos(q3) - ay*sin(q3); -wave_2_per_point16=by = ax*sin(q3) + ay*cos(q3); -wave_2_per_point17=bz = az; -wave_2_per_point18= -wave_2_per_point19=as=above(cos(q3+1.57)*cos(q2)*bx+sin(q3+1.57)*sin(q1)*by+sin(q2)*bz,0); -wave_2_per_point20=a=t*(.07*(1-as)+as); -wave_2_per_point21= -wave_2_per_point22= -wave_2_per_point23=//pull stars toward screen -wave_2_per_point24=bx=bx - t4*5; -wave_2_per_point25=by=by - t5*5; -wave_2_per_point26=bz=bz + t6*5; -wave_2_per_point27= -wave_2_per_point28= -wave_2_per_point29=vx=bx; vy=by; vz=bz; -wave_2_per_point30= -wave_2_per_point31= -wave_2_per_point32= -wave_2_per_point33=x=vx/abs(vz-10)+.5; -wave_2_per_point34=y=vy/abs(vz-10)+.5; -wave_2_per_point35= -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=0.500000 -wavecode_3_b=0.100000 -wavecode_3_a=1.000000 -wave_3_per_frame1= -wave_3_per_frame2=xa=sin(q8*0.6-0.5)*0.2; -wave_3_per_frame3=ya=sin(q8*0.7-0.5)*0.2; -wave_3_per_frame4=za=sin(q8*0.5-0.5); -wave_3_per_frame5=t4=xa; -wave_3_per_frame6=t5=ya; -wave_3_per_frame7=t6=za; -wave_3_per_point1=t=above(sin(20*6.2831*sample+time*16),0); -wave_3_per_point2=ax = (1.58+1.5*t*abs(value1))*cos(6.2831*sample); -wave_3_per_point3=ay = 0; -wave_3_per_point4=az = 1.2*(1.58+1.5*t*abs(value2))*sin(6.2831*sample); -wave_3_per_point5= -wave_3_per_point6=bx = ax; -wave_3_per_point7=by = ay*cos(q1) - az*sin(q1); -wave_3_per_point8=bz = ay*sin(q1) + az*cos(q1); -wave_3_per_point9= -wave_3_per_point10=ax = bx*cos(q2) - bz*sin(q2); -wave_3_per_point11=ay = by; -wave_3_per_point12=az = bx*sin(q2) + bz*cos(q2); -wave_3_per_point13= -wave_3_per_point14=bx = ax*cos(q3) - ay*sin(q3); -wave_3_per_point15=by = ax*sin(q3) + ay*cos(q3); -wave_3_per_point16=bz = az; -wave_3_per_point17= -wave_3_per_point18=as=above(cos(q3-1.57)*cos(q2)*bx+sin(q3-1.57)*sin(q1)*by+sin(q2)*bz,0); -wave_3_per_point19=a=t*(.07*(1-as)+as); -wave_3_per_point20= -wave_3_per_point21=//pull stars toward screen -wave_3_per_point22=bx=bx - t4*5; -wave_3_per_point23=by=by - t5*5; -wave_3_per_point24=bz=bz + t6*5; -wave_3_per_point25= -wave_3_per_point26= -wave_3_per_point27=vx=bx; vy=by; vz=bz; -wave_3_per_point28= -wave_3_per_point29= -wave_3_per_point30= -wave_3_per_point31=x=vx/abs(vz-10)+.5; -wave_3_per_point32=y=vy/abs(vz-10)+.5; -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.078465 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.812907 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.100000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=1 -shapecode_1_sides=10 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.368212 -shapecode_1_ang=1.884956 -shapecode_1_tex_ang=0.691150 -shapecode_1_tex_zoom=1.577481 -shapecode_1_r=0.700000 -shapecode_1_g=0.400000 -shapecode_1_b=0.300000 -shapecode_1_a=0.090000 -shapecode_1_r2=0.600000 -shapecode_1_g2=0.550000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=xa=sin(q8*0.6-0.5)*0.2; -shape_1_per_frame3=ya=sin(q8*0.7-0.5)*0.2; -shape_1_per_frame4=za=sin(q8*0.5-0.5); -shape_1_per_frame5=xa=-xa*5; -shape_1_per_frame6=ya=-ya*5; -shape_1_per_frame7=zr=za*0.5+0.5; -shape_1_per_frame8=zr=zr*zr; -shape_1_per_frame9=rad=rad + zr*0.5; -shape_1_per_frame10=rad=rad*0.5; -shape_1_per_frame11=za=za*5; -shape_1_per_frame12=ang=time; -shape_1_per_frame13= -shape_1_per_frame14= -shape_1_per_frame15=x=xa/abs(za-10)+.5; -shape_1_per_frame16=y=ya/abs(za-10)+.5; -shapecode_2_enabled=0 -shapecode_2_sides=60 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=1.543040 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=1.570700 -shapecode_2_tex_zoom=1.500990 -shapecode_2_r=0.000000 -shapecode_2_g=0.500000 -shapecode_2_b=0.600000 -shapecode_2_a=0.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.700000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=6 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.114900 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=0.700000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=0.800000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=q8=-q8+1; -shape_3_per_frame2=t=(frame%6+4); -shape_3_per_frame3=sides=if(equal(t%2,0),6,60); -shape_3_per_frame4= -shape_3_per_frame5=r=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; -shape_3_per_frame6=g=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; -shape_3_per_frame7=b=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; -shape_3_per_frame8= -shape_3_per_frame9=r2=equal(t,4)*.3+equal(t,6)*.1+equal(t,8)*.3; -shape_3_per_frame10=g2=equal(t,4)*.1+equal(t,6)*.5+equal(t,8)*.15; -shape_3_per_frame11=b2=equal(t,4)*.6+equal(t,6)*.3+equal(t,8)*.0; -shape_3_per_frame12= -shape_3_per_frame13=r=r+equal(t%2,1); -shape_3_per_frame14=g=g+equal(t%2,1); -shape_3_per_frame15=b=b+equal(t%2,1)*.7; -shape_3_per_frame16= -shape_3_per_frame17=r2=r2+equal(t%2,1); -shape_3_per_frame18=g2=g2+equal(t%2,1)*.8; -shape_3_per_frame19= -shape_3_per_frame20=rad=equal(t,4)*.1+equal(t,5)*.14+equal(t,6)*.14+equal(t,7)*.18 +equal(t,8)*.12+equal(t,9)*.2; -shape_3_per_frame21= -shape_3_per_frame22=an=atan2(q8-.5,q7-.5); -shape_3_per_frame23=ang=0+equal(t%2,0)*2*an; -shape_3_per_frame24=ang=if(equal(t,6),-ang,ang); -shape_3_per_frame25= -shape_3_per_frame26=d=sqrt(sqr(q7-.5)+sqr(q8-.5)); -shape_3_per_frame27=a=above(1-d,0)*sqrt(1-d); -shape_3_per_frame28= -shape_3_per_frame29=x=t*(.5-q7)*.1617+q7; -shape_3_per_frame30=y=t*(.5-q8)*.1617+q8; -per_frame_1=st=if(equal(st,0),time-131,st); -per_frame_2=mytime=time-st; -per_frame_3= -per_frame_4=phi=6.2831*(mytime+4.564)*.02; -per_frame_5=theta=6.2831*(mytime*.03+1.54); -per_frame_6=rho=6.2831*abs(sin(mytime*0)); -per_frame_7= -per_frame_8=q1=phi; -per_frame_9=q2=theta; -per_frame_10=q3=rho; -per_frame_11= -per_frame_12=ax=0; ay=0; az=-30; -per_frame_13=bx = ax; -per_frame_14=by = ay*cos(q1) - az*sin(q1); -per_frame_15=bz = ay*sin(q1) + az*cos(q1); -per_frame_16= -per_frame_17=ax = bx*cos(q2) - bz*sin(q2); -per_frame_18=ay = by; -per_frame_19=az = bx*sin(q2) + bz*cos(q2); -per_frame_20= -per_frame_21=bx = ax*cos(q3) - ay*sin(q3); -per_frame_22=by = ax*sin(q3) + ay*cos(q3); -per_frame_23=bz = az; -per_frame_24=vx=bx; vy=by; vz=bz; -per_frame_25= -per_frame_26=//q7=vx/abs(vz-10)+.5; -per_frame_27=vy=-vy+1; -per_frame_28=//q8=vy/abs(vz-10)+.5; -per_frame_29=//q7=if(1-below(vz,0), -100,q7); -per_frame_30=//q8=if(1-below(vz,0), -100,q8); -per_frame_31= -per_frame_32=//ob_size=1; -per_frame_33=//ob_a=min(.005/(sqr(q7-.5)+sqr(q8-.5)),.8); -per_frame_34=monitor=mytime; -per_frame_35= -per_frame_36=vol=(bass+mid+treb)*0.25; -per_frame_37=vol=vol*vol; -per_frame_38=mtime=mtime+vol*0.03*(75/fps); -per_frame_39=q8=mtime; -per_frame_40= -per_frame_41=xa=sin(mtime*0.6)*0.2; -per_frame_42=ya=sin(mtime*0.7)*0.2; -per_frame_43=za=sin(mtime*0.5); -per_frame_44=q4=xa; -per_frame_45=q5=ya; -per_frame_46=q6=za; -per_frame_47=decay=0.99; -per_frame_48=dy=-ya*0.004; -per_frame_49=dx=xa*0.004; -per_frame_50= -per_frame_51=x=xa/abs(za-10)+.5; -per_frame_52=y=ya/abs(za-10)+.5; -per_frame_53=cx=x;cy=y; -per_frame_54=sx=1 + za*0.004; -per_frame_55=sy=sx; diff --git a/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo Eo.S.-Phat).milk b/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo Eo.S.-Phat).milk deleted file mode 100644 index b11205baec..0000000000 --- a/presets_milkdrop_104/yin - 315 - Ocean of Light (yo im peakin yo Eo.S.-Phat).milk +++ /dev/null @@ -1,463 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.840000 -fDecay=0.950000 -fVideoEchoZoom=0.999993 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=0.300000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=4.904830 -fShader=1.000000 -zoom=0.999999 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.920000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=0.999998 -wavecode_0_smoothing=0.000000 -wavecode_0_r=0.400000 -wavecode_0_g=0.400000 -wavecode_0_b=0.650000 -wavecode_0_a=1.000000 -wave_0_per_frame1=t1=32; // double num of rays -wave_0_per_frame2=t2=.02*q4; // size; -wave_0_per_frame3= -wave_0_per_frame4= -wave_0_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed -wave_0_per_frame6=t8=0; -wave_0_per_frame7= -wave_0_per_frame8= -wave_0_per_frame9=t3=-1+q7*.3333+.1667; -wave_0_per_frame10=t4=-1+q8*.3333+.1667; -wave_0_per_frame11= -wave_0_per_frame12=t6=pow( q1,3); // interpolation parameter -wave_0_per_point1=sample=.5*(0+sample); -wave_0_per_point2= -wave_0_per_point3=ns=equal(t8%t1,0); -wave_0_per_point4= -wave_0_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); -wave_0_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); -wave_0_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); -wave_0_per_point8= -wave_0_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); -wave_0_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; -wave_0_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; -wave_0_per_point12= -wave_0_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); -wave_0_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); -wave_0_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); -wave_0_per_point16=central=equal(t8%2,0); -wave_0_per_point17=angle=6.2831*(t8-1)/t1; -wave_0_per_point18= -wave_0_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); -wave_0_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); -wave_0_per_point21=az=cenz; -wave_0_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); -wave_0_per_point23= -wave_0_per_point24=invz=1/(az+100); -wave_0_per_point25=x=.5+5*ax*invz; -wave_0_per_point26=y=.5+5*ay*invz; -wave_0_per_point27= -wave_0_per_point28=t8=(t8+1)%t1; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=0.999998 -wavecode_1_smoothing=0.000000 -wavecode_1_r=0.400000 -wavecode_1_g=0.400000 -wavecode_1_b=0.650000 -wavecode_1_a=1.000000 -wave_1_per_frame1=t1=32; // double num of rays -wave_1_per_frame2=t2=.02*q4; // size; -wave_1_per_frame3= -wave_1_per_frame4= -wave_1_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed -wave_1_per_frame6=t8=0; -wave_1_per_frame7= -wave_1_per_frame8= -wave_1_per_frame9=t3=-1+q7*.3333+.1667; -wave_1_per_frame10=t4=-1+q8*.3333+.1667; -wave_1_per_frame11= -wave_1_per_frame12=t6=pow( q1,3); // interpolation parameter -wave_1_per_point1=sample=.5*(0+sample); -wave_1_per_point2= -wave_1_per_point3=ns=equal(t8%t1,0); -wave_1_per_point4= -wave_1_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); -wave_1_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); -wave_1_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); -wave_1_per_point8= -wave_1_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); -wave_1_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; -wave_1_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; -wave_1_per_point12= -wave_1_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); -wave_1_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); -wave_1_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); -wave_1_per_point16=central=equal(t8%2,0); -wave_1_per_point17=angle=6.2831*(t8-1)/t1; -wave_1_per_point18= -wave_1_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); -wave_1_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); -wave_1_per_point21=az=cenz; -wave_1_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); -wave_1_per_point23= -wave_1_per_point24=invz=1/(az+100); -wave_1_per_point25=x=.5+5*ax*invz; -wave_1_per_point26=y=.5+5*ay*invz; -wave_1_per_point27= -wave_1_per_point28=t8=(t8+1)%t1; -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=1 -wavecode_2_scaling=0.999998 -wavecode_2_smoothing=0.000000 -wavecode_2_r=0.400000 -wavecode_2_g=0.400000 -wavecode_2_b=0.650000 -wavecode_2_a=1.000000 -wave_2_per_frame1=t1=32; // double num of rays -wave_2_per_frame2=t2=.02*q4; // size; -wave_2_per_frame3= -wave_2_per_frame4= -wave_2_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed -wave_2_per_frame6=t8=0; -wave_2_per_frame7= -wave_2_per_frame8= -wave_2_per_frame9=t3=-1+q7*.3333+.1667; -wave_2_per_frame10=t4=-1+q8*.3333+.1667; -wave_2_per_frame11= -wave_2_per_frame12=t6=pow( q1,3); // interpolation parameter -wave_2_per_point1=sample=.5*(1+sample); -wave_2_per_point2= -wave_2_per_point3=ns=equal(t8%t1,0); -wave_2_per_point4= -wave_2_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); -wave_2_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); -wave_2_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); -wave_2_per_point8= -wave_2_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); -wave_2_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; -wave_2_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; -wave_2_per_point12= -wave_2_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); -wave_2_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); -wave_2_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); -wave_2_per_point16=central=equal(t8%2,0); -wave_2_per_point17=angle=6.2831*(t8-1)/t1; -wave_2_per_point18= -wave_2_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); -wave_2_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); -wave_2_per_point21=az=cenz; -wave_2_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); -wave_2_per_point23= -wave_2_per_point24=invz=1/(az+100); -wave_2_per_point25=x=.5+5*ax*invz; -wave_2_per_point26=y=.5+5*ay*invz; -wave_2_per_point27= -wave_2_per_point28=t8=(t8+1)%t1; -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=1 -wavecode_3_scaling=0.999998 -wavecode_3_smoothing=0.000000 -wavecode_3_r=0.400000 -wavecode_3_g=0.400000 -wavecode_3_b=0.650000 -wavecode_3_a=1.000000 -wave_3_per_frame1=t1=32; // double num of rays -wave_3_per_frame2=t2=.02*q4; // size; -wave_3_per_frame3= -wave_3_per_frame4= -wave_3_per_frame5=t5=6.2831*(.08*time-int(.08*time)); //speed -wave_3_per_frame6=t8=0; -wave_3_per_frame7= -wave_3_per_frame8= -wave_3_per_frame9=t3=-1+q7*.3333+.1667; -wave_3_per_frame10=t4=-1+q8*.3333+.1667; -wave_3_per_frame11= -wave_3_per_frame12=t6=pow( q1,3); // interpolation parameter -wave_3_per_point1=sample=.5*(1+sample); -wave_3_per_point2= -wave_3_per_point3=ns=equal(t8%t1,0); -wave_3_per_point4= -wave_3_per_point5=ccx = .85*sin(5.234+100*sample+t5)*cos(200*6.2831*sample+ 3.14*sample+2.45+t5); -wave_3_per_point6=ccy = 1.5*sin(100*sample+0.456+t5)*sin(100*6.2831*sample+ 3.14*sample+1.12+t5); -wave_3_per_point7=ccz = .85*sin(3.12+100*sample+t5)*cos(300*6.2831*sample +3.14*sample+.95+t5); -wave_3_per_point8= -wave_3_per_point9=rr=.075+.067*abs(sin(6.2831*ccy)); -wave_3_per_point10=ccx=ccx*(1-t6)+ (t3+rr*cos(sample*6.2831+6*time))*t6; -wave_3_per_point11=ccz=ccz*(1-t6)+ (t4+rr*sin(sample*6.2831+6*time))*t6; -wave_3_per_point12= -wave_3_per_point13=cenx=(1-ns)*cenx+ns*(q4*ccx); -wave_3_per_point14=ceny=(1-ns)*ceny+ns*(q2+q4*abs(ccy)); -wave_3_per_point15=cenz=(1-ns)*cenz+ns*(q3+q4*ccz); -wave_3_per_point16=central=equal(t8%2,0); -wave_3_per_point17=angle=6.2831*(t8-1)/t1; -wave_3_per_point18= -wave_3_per_point19=ax=cenx+(1-central)*q4*t2*cos(angle+.12*ceny); -wave_3_per_point20=ay=ceny+(1-central)*q4*t2*sin(angle+.12*ceny); -wave_3_per_point21=az=cenz; -wave_3_per_point22=a=central*above(t8,0)*.07*above(ceny,q2); -wave_3_per_point23= -wave_3_per_point24=invz=1/(az+100); -wave_3_per_point25=x=.5+5*ax*invz; -wave_3_per_point26=y=.5+5*ay*invz; -wave_3_per_point27= -wave_3_per_point28=t8=(t8+1)%t1; -shapecode_0_enabled=0 -shapecode_0_sides=30 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.042497 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.800000 -shapecode_0_g=0.100000 -shapecode_0_b=0.800000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=0 -shapecode_1_sides=30 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.122020 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.999998 -shapecode_1_r=1.000000 -shapecode_1_g=0.300000 -shapecode_1_b=0.100000 -shapecode_1_a=0.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shapecode_2_enabled=1 -shapecode_2_sides=30 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.244862 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=ang=.45*cos(.6*time+.34+sin(2.54*time+1.02)); -shape_2_per_frame2=additive=below(frame%5,4); -shape_2_per_frame3= -shape_2_per_frame4= -shape_2_per_frame5= -shape_2_per_frame6= -shape_2_per_frame7=r2=.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); -shape_2_per_frame8=g2=.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); -shape_2_per_frame9=b2=.3*abs(cos(time*.543+7.34+cos(time*.123+1.75))); -shape_2_per_frame10= -shape_2_per_frame11= -shape_2_per_frame12=hue=.1*time; // change this -shape_2_per_frame13=h=6*(hue-int(hue)); -shape_2_per_frame14=sw1=below(h,1); sw2=(1-sw1)*below(h,2); sw3=(1-sw1)*(1-sw2)*below(h,3); sw4=(1-sw1)*(1-sw2)*(1-sw3)*below(h,4); -shape_2_per_frame15=sw6=above(h,5); sw5=(1-sw1)*(1-sw2)*(1-sw3)*(1-sw4)*(1-sw6); -shape_2_per_frame16=r=sw1+sw2*(2-h)+sw5*(h-4)+sw6; -shape_2_per_frame17=g=sw1*h+sw2+sw3+sw4*(4-h); -shape_2_per_frame18=b=sw3*(h-2)+sw4+sw5+sw6*(6-h); -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=1.978790 -shapecode_3_ang=3.141500 -shapecode_3_tex_ang=4.209734 -shapecode_3_tex_zoom=0.670417 -shapecode_3_r=0.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=0.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=additive=above(frame%10,0); -shape_3_per_frame2=r2=1-.3*abs(cos(time*.543+7.34+sin(time*.123+1.75))); -shape_3_per_frame3=g2=1-.3*abs(sin(time*.543+7.34+sin(time*.123+1.75))); -shape_3_per_frame4=b2=1-.3*abs(sin(time*.543+7.34+cos(time*.123+1.75))); -per_frame_1=// -------------------------------- Beat Detective v0.07 ---------------------------------- -per_frame_2=sure=if(equal(sure,0),.6,sure); -per_frame_3=interval=if(equal(interval,0),40,interval); -per_frame_4=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat); -per_frame_5=dbass=(bass-pbass)/FPS; -per_frame_6=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3); -per_frame_7=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5), -per_frame_8=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996); -per_frame_9=sure=max(.5,sure); -per_frame_10=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat); -per_frame_11=beat=if(cheat,1,beat); -per_frame_12=sure=if(cheat,.95*sure,sure); -per_frame_13=maxdbass=max(maxdbass*.999,dbass); -per_frame_14=maxdbass=max(.012,maxdbass); -per_frame_15=maxdbass=min(.02,maxdbass); -per_frame_16=interval=if(beat, frame-lastbeat,interval); -per_frame_17=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat); -per_frame_18=cheat=0; -per_frame_19=pbass=bass; -per_frame_20=// ---------------------------------------------------------------------------------------------- -per_frame_21= -per_frame_22=warp=0; -per_frame_23=zoom=1.04; -per_frame_24= -per_frame_25=rnd=equal(frame%400,0); -per_frame_26=offy=(1-rnd)*offy+rnd*(-3+rand(600)/100); -per_frame_27=offz=(1-rnd)*offz+rnd*(-80-0*rand(1000)/1000); -per_frame_28=sc=(1-rnd)*sc+rnd*(1+rand(500)/100); -per_frame_29=offx=0; -per_frame_30=offy=-3.1; -per_frame_31=offz=-300+160*pow(contVol,.25); -per_frame_32=sc=4; -per_frame_33= -per_frame_34=q2=offy; // y-offset -per_frame_35=q3=offz; // z-offset -per_frame_36=q4=sc; // scale -per_frame_37= -per_frame_38=q5=3.1415*cos(.05*time+.84+sin(time*.1+6.43)); // rot-y; -per_frame_39=q6=.2;//.6-.45*abs(sin(time*.15+2.43+cos(time*.09+1.87))); // rot-x; -per_frame_40= -per_frame_41=q5=0;q6=0; -per_frame_42= -per_frame_43= -per_frame_44=stime=if(equal(stime,0),time,stime ); -per_frame_45=mytime=time-stime; -per_frame_46=phase = .1*mytime - int(.1*mytime); -per_frame_47=tilex=if(below(phase,.025),1 + rand(4),tilex ); -per_frame_48=tilez=if(below(phase,.025),1 + rand(4),tilez ); -per_frame_49=q7=tilex; -per_frame_50= -per_frame_51=contVol=((bass+mid+att)*.3333)*.02+contVol*.98; -per_frame_52=contVol=min(1,contVol); -per_frame_53=zoom=1.01+.05*contVol; -per_frame_54= -per_frame_55=darken=above(frame%3,0); -per_frame_56= -per_frame_57=c1=above(contvol,.7)*min(contvol-.7,.3); -per_frame_58=dx=c1*.05*(-10+rand(20)); -per_frame_59=dy=c1*.05*(-10+rand(20)); -per_frame_60= -per_frame_61=solarize=0; -per_frame_62=darken=frame%2; -per_frame_63=brighten=1-darken; -per_frame_64=//invert=beat; -per_frame_65=//gamma=gamma+.5*sqrt(1-(frame-lastbeat)/interval); -per_frame_66=monitor=gamma; -per_frame_67= -per_frame_68=q8=min((frame-lastbeat)/interval,1); -per_frame_69=q1=.05*cos(1.943*time+2.43+sin(1.83*time+2.01) ); -per_frame_70= -per_frame_71=sx=1-2*beat*above(contVol,.8); -per_frame_72=sy=1-2*beat*above(contVol,.8); -per_frame_73=invert=beat*above(contVol,.8); -per_pixel_1=//rot = q1*(2*rad-1); diff --git a/presets_projectM/Aderrasi - Airs.milk b/presets_projectM/Aderrasi - Airs.milk deleted file mode 100755 index 4b491d415f..0000000000 --- a/presets_projectM/Aderrasi - Airs.milk +++ /dev/null @@ -1,78 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.220183 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.785805 -fWaveScale=0.796894 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.100000 -ob_b=0.200000 -ob_a=0.500000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.500000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.35*sin(4*time) + 0.15*sin(2.5*time); -per_frame_2=wave_g = wave_g + 0.35*sin(3.7*time) + 0.15*sin(2.11*time); -per_frame_3=wave_b = wave_b + 0.35*sin(3.84*time) + 0.15*sin(2.3*time); -per_frame_4= -per_frame_5=ib_r = wave_r; -per_frame_6=ib_g = wave_g; -per_frame_7=ib_b = wave_b; -per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_pixel_4= -per_pixel_5=dx = dx + 0.03975*pow(rad,x*2)*sin(time); -per_pixel_6=dy = dy + 0.03975*pow(rad,x*2)*cos(time); -per_pixel_7=zoom = zoom - 0.125*pow(rad,x*6)*cos(ang*6); -per_pixel_8=rot = rot - 0.25*(0.75*sin(1.25*time)*pow(rad,x)*sin(1.45*time))*sin(time); diff --git a/presets_projectM/Aderrasi - Multiviola.milk b/presets_projectM/Aderrasi - Multiviola.milk deleted file mode 100755 index 4fadfe1258..0000000000 --- a/presets_projectM/Aderrasi - Multiviola.milk +++ /dev/null @@ -1,76 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999998 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.500000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.55*sin(2.4*mid*time) +0.925*cos(2.25*bass)*time; -per_frame_2=wave_g = wave_g + 0.55*cos(3.7*treb*time) + 0.925*tan(1.11*mid)*time; -per_frame_3=wave_b = wave_b + 0.55*tan(2.84*bass*time)+ 0.925*sin(3.3*treb)*-time; -per_frame_4=warp = 0; -per_frame_5=wave_x = wave_x + 0.25*sin(2*time); -per_frame_6=wave_y = wave_y + 0.25*cos(2*time); -per_frame_7=wave_mystery = wave_mystery - sqr(0.06*bass_att+(wave_x-wave_y)) -per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_pixel_4= -per_pixel_5=rot = rot + (tan(rad)*0.5*tan(0.8-rad))*(3*(0.7*bass)); -per_pixel_6=zoom = zoom - 0.05*sin(rad*tan(rad*time)); diff --git a/presets_projectM/Aderrasi - Negative Sun III.milk b/presets_projectM/Aderrasi - Negative Sun III.milk deleted file mode 100755 index 7244d5ac23..0000000000 --- a/presets_projectM/Aderrasi - Negative Sun III.milk +++ /dev/null @@ -1,76 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.500000 -fWaveParam=-0.200000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.25*sin(1.4*time) + 0.25*sin(2.25*time); -per_frame_2=wave_g = wave_g + 0.25*sin(1.7*time) + 0.25*sin(2.11*time); -per_frame_3=wave_b = wave_b + 0.25*sin(1.84*time) + 0.25*sin(2.3*time); -per_frame_4=warp = 0; -per_pixel_1=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3); -per_pixel_2=dx_r = equal(thresh,2)*0.015*sin(5*time)+(1-equal(thresh,2))*dx_r; -per_pixel_3=dy_r = equal(thresh,2)*0.015*sin(6*time)+(1-equal(thresh,2))*dy_r; -per_pixel_4=zoom = zoom + 0.01; -per_pixel_5=zoom = zoom + (0.05 + 0.04*sin(time))*(0.2*sin(ang*time)); -per_pixel_6=rot = rot + 0.01*(0.5*cos(ang*5*bass*time)); -per_pixel_7= -per_pixel_8=dx = dx + 0.1*above(rad,0.25)*dx_r; -per_pixel_9=dy = dy + 0.1*above(rad,0.25)*dy_r; diff --git a/presets_projectM/Aderrasi - Paintsphere.milk b/presets_projectM/Aderrasi - Paintsphere.milk deleted file mode 100755 index 068a30d50c..0000000000 --- a/presets_projectM/Aderrasi - Paintsphere.milk +++ /dev/null @@ -1,75 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=3.072695 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=100.000000 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000010 -dy=0.000010 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.250000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_mystery = wave_mystery + 1*tan(800*time); -per_frame_2=wave_r = wave_r + 0.8*sin(5*bass); -per_frame_3=wave_g = wave_g + 0.8*sin(5*treb); -per_frame_4=wave_b = wave_b + 0.8*sin(6*mid); -per_frame_5=warp = 0; -per_pixel_1=rot = rot + if (above(ang, 0.2 + 3*tan(2.5*time)), -per_pixel_2=if(below(ang, 0.4 + 3*tan(2.5*time)), +0.25*sin(3*bass), 0), 0); -per_pixel_3=rot = rot + if (above(ang, 0.5 + 3*tan(2.5*time)), -per_pixel_4=if(below(ang, 0.7 + 3*tan(2.5*time)), -0.35*sin(3*treb), 0), 0); -per_pixel_5=zoom = zoom + if(above(ang, 0.3 + 3*tan(2.5*time)), -per_pixel_6=if(below(ang, 0.5 + 3*tan(2.5*time)), +0.5*sin(3*mid), 0), 0); -per_pixel_7=zoom = zoom + 0.06*(0.5-rad)*bass; diff --git a/presets_projectM/CVS/Entries b/presets_projectM/CVS/Entries deleted file mode 100755 index 68dea92d66..0000000000 --- a/presets_projectM/CVS/Entries +++ /dev/null @@ -1,229 +0,0 @@ -/Aderrasi - Agitator.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Gravity Directive Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Aimless (Spirogravity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airhandler (Menagerie Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs (Windy Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Airs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anchorpulse (Verified Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Aqualung Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote (Side Effects Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antidote.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Antique Abyss.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Arise! (Padded Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Ashes Of Air (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bitterfeld (Crystal Border Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Blender.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Bow To Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Brakefreak.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Candy Avian.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams (REMix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Causeway Of Dreams.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Chromatic Abyss (The Other Side).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Circlefacade.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion (Xenomorph Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Contortion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Crystal Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Dark Matter (Converse Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Elastoid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Floater Society.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Flowing Form.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Making Time (Swamp Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Multiviola.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Negative Sun III.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - Paintsphere.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What Cannot Be Undone.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Aderrasi - What cannot be.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Che - Terracarbon Stream.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/CrystalHigh - mad ravetriping.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Follow the ball.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/EvilJim - Ice Drops.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - 0 To 60.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - Window Reflection 6.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Fvese - simple.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Notions Of Tonality 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Blasto.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cosmic Dust 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Cruzin'.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Downward Spiral.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Dynamic Swirls 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eddies 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Eggs.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - El Cubismo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Nautilus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Ever Changing.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus Gold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Octopus.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Oldskool Mellowstyle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 4.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Geiss - Swirlie 5.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - MOTIVATION!.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix 2).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot - Texture Boxes (Remix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Idiot24-7 - Ascending to heaven 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - Return Of The King.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Che - The Piper.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Rovastar - Clouded Bottle.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion & Unchained - Invade My Mind.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Illusion - Figure Eight.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Illusion - Spiral Movement.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & Rovastar - Altars of Madness (Mad Ocean Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash & TEcHNO - Rhythmic Mantas.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - 3D Shapes Demo.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Digital Flame.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Dynamic Borders 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Framed Geometry.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Interwoven (Nightmare Weft Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - War Machine (Shifting Complexity Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash - Windowframe To Mega Swirl 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Krash and Rovastar - Rainbow Orb.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Darius - Pursuing The Sunset.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress & Juppy - Dancers In The Dark.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acid Universes (Big Bang Interferences Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Aurora Boreale.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Mstress - Curtain.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Reenen - phoenix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Aderrasi - Clockwork Organism.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Deadly Flower.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds (Astral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Fvese - Stranger Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Hurricane Nightmare.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Ice Planet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Notions Of Tonality.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octoplasm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip (MultiTrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Octotrip.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Geiss - Surface (Vectrip Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Idiot24-7 - Balk Acid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Flowing Synergy.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Krash - Interwoven (Contra Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Headspin.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Rocke - Sugar Spun Sister.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - More Cherished Desires.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & StudioMusic - Twisted Spider Web.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Telek - Cosmic Fireworks.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Unchained - Centre Of Gravity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Narell's Fever.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar & Zylot - Sea Of Zigrot.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - A Million Miles from Earth.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Duel Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness (Surealist Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Altars Of Madness.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Bellanova (New Wave Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Biohazard Warning.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Chapel Of Ghouls.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Echoes 2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Cosmic Mosaic (Active Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Decreasing Dreams (Extended Movement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Explosive Minds.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Forgotten Moon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Frozen Rapture .milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Future Speakers.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Harlequin's Fractal Encounter.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace (Frozen Rapture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Hyperspace.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Dark Secret Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Distant Memories Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Inner Thoughts (Strange Cargo Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Altars Of Madness MIx).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars (Round Round Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Kalideostars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Magic Carpet.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Multiverse Starfield 3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Omnipresence Resurrection.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Pandora's Volcano.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Parallel Universe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Sea Shells.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space (Space DNA Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Solarized Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space (Twisted Dimension Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - Space.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Awakening.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours (Drifting Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Chaos Of Colours.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar - The Shroomery.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rovastar and Unchained - Braindance Visions.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Neuro - Starover (Semicolon Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Aderrasi - Canon.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Che - Inside The House Of Nil.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Rozzor & Zylot - Rainbow River.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Entity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Minor Alteration.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - State Of Discretion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic & Unchained - Wrenched Fate.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - It's Only Make Believe.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/StudioMusic - Numerosity.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Telek - Flicker.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Illusion - Logic Morph.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - For The Seagull.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Slow Solstice.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Triptionary.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Wormhole Pillars.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained & Rovastar - Xen Traffic.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 1.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.0.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.1.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.2.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Beat Demo 2.3.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cartoon Factory.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Cranked On Failure.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Goo Kung Fu.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - In Memory Of Peg.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Jaded Emotion.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Perverted Dialect.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - ReAwoke.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Ribald Ballad.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Shaping The Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Subjective Experience Of The Manifold.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Unchained - Working the Grid.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Azirphaeli's Mirror.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Block Of Sound (Abstract Architecture Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Crystal Ball (Magical Reaction Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Digiscape Advanced Processor.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Ether Storm.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Inside The Planar Portal.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Crawl.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Magma Vein.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - PinWheel.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - String.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - The Inner Workings of my New Computer.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - Visionarie.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Zylot - light of the path.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Godhead.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -/bmelgren - Take this highway.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -D diff --git a/presets_projectM/CVS/Repository b/presets_projectM/CVS/Repository deleted file mode 100755 index f06e44710b..0000000000 --- a/presets_projectM/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/presets_projectM diff --git a/presets_projectM/CVS/Root b/presets_projectM/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/presets_projectM/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/presets_projectM/Eo.S. - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk b/presets_projectM/Eo.S. - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk deleted file mode 100755 index 96f2dae938..0000000000 --- a/presets_projectM/Eo.S. - skylight a3 [trip colors flux2]_phat_Multi_shaped2_zoe_colours5.milk +++ /dev/null @@ -1,276 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.500000 -fVideoEchoZoom=1.006596 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.019788 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999957 -sy=0.999997 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.600000 -ob_g=0.500000 -ob_b=0.800000 -ob_a=0.000000 -ib_size=0.015000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=1.000000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=1.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=1.670888 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=6.283185 -shapecode_0_tex_zoom=0.429222 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=flux=q5*9; -shape_0_per_frame2=fluxs=max(flux,0); -shape_0_per_frame3=fluxs=min(fluxs,1); -shape_0_per_frame4=bs=q1*above(q1,0.8) + (q1*0.2 * below(q1,0.8)); -shape_0_per_frame5=advflux=(bs*fluxs) + (-bs * (1-fluxs)); -shape_0_per_frame6=adv=adv+advflux; -shape_0_per_frame7=advs=adv/256; -shape_0_per_frame8= -shape_0_per_frame9= -shape_0_per_frame10=ang=advs; -shape_0_per_frame11=rad=1.471 + sin(advs*16)*0.4; -shape_0_per_frame12=a2=1-(sin(time)*0.4); -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.350000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.816695 -shapecode_1_r=0.400000 -shapecode_1_g=0.400000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.100000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=y=0.1 + q2*0.4; -shape_1_per_frame2=rad=q2/2; -shape_1_per_frame3=ang=-q2*2; -shape_1_per_frame4= -shape_1_per_frame5=r=0.90 + (sin(time/2))*0.50; -shape_1_per_frame6=g=0.90 + (sin(time/2 + 2)) * 0.50; -shape_1_per_frame7=b=0.90 + (sin(time/2 + 4)) * 0.50; -shape_1_per_frame8= -shape_1_per_frame9= -shape_1_per_frame10=r2=0.70 + (sin(time/2))*0.50; -shape_1_per_frame11=g2=0.70 + (sin(time/2 + 2)) * 0.50; -shape_1_per_frame12=b2=0.70 + (sin(time/2 + 4)) * 0.50 -shape_1_per_frame13= -shapecode_2_enabled=1 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=1.089251 -shapecode_2_ang=2.890265 -shapecode_2_tex_ang=2.890265 -shapecode_2_tex_zoom=0.483654 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=flux=q5*9; -shape_2_per_frame2=fluxs=max(flux,0); -shape_2_per_frame3=fluxs=min(fluxs,1); -shape_2_per_frame4=bs=q1*above(q1,0.8) + (q1*0.5 * below(q1,0.8)); -shape_2_per_frame5=advflux=(bs*fluxs) + (-bs * (1-fluxs)); -shape_2_per_frame6=adv=adv+advflux; -shape_2_per_frame7=advs=adv/178; -shape_2_per_frame8= -shape_2_per_frame9=//ang=sin(time/6)*6.4; -shape_2_per_frame10=ang=advs; -shape_2_per_frame11=rad=1.671 + sin(advs*16)*0.4; -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.840000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=0.980000 -shapecode_3_g=1.000000 -shapecode_3_b=0.980000 -shapecode_3_a=0.800000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.090000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=sin(time/2)*0.4 + 0.5; -shape_3_per_frame2=y=sin(time)*0.4+0.5; -shape_3_per_frame3=rad=(q2*q2)/2;; -shape_3_per_frame4=ang=q2*2; -shape_3_per_frame5= -shape_3_per_frame6=r=0.70 + (sin(time/2))*0.50; -shape_3_per_frame7=g=0.70 + (sin(time/2 + 2)) * 0.50; -shape_3_per_frame8=b=0.70 + (sin(time/2 + 4)) * 0.50 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0; -per_frame_init_8=q1=0;q2=0;q3=0 -per_frame_1=decay=.96; -per_frame_2=zoom=1.000; -per_frame_3=speed=0.80; -per_frame_4=speedinv=1-speed; -per_frame_5=q1=(qa*speed + bass*speedinv); -per_frame_6=q2=(qb*speed + mid *speedinv); -per_frame_7=q3=(qc*speed + (treb*0.8)*speedinv); -per_frame_8=qa=q1; -per_frame_9=qb=q2; -per_frame_10=qc=q3; -per_frame_11=flux=sin(time/2); -per_frame_12=q4=flux * 0.5 + 0.5; -per_frame_13=q5=flux; -per_frame_14=ib_r=sin(time/2)*0.5 + 0.5; -per_frame_15=ib_g=sin(time/2 + 2)* 0.5 + 0.5; -per_frame_16=ib_b=sin(time/2 + 4)* 0.5 + 0.5; -per_frame_17=ib_size=sin(time/3)*0.05; diff --git a/presets_projectM/Eo.S.+Phat Cool Bug_arm.milk b/presets_projectM/Eo.S.+Phat Cool Bug_arm.milk deleted file mode 100755 index c89e985448..0000000000 --- a/presets_projectM/Eo.S.+Phat Cool Bug_arm.milk +++ /dev/null @@ -1,238 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.498313 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=43.199997 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol; -per_frame_16=q4=sin(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.07; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; diff --git a/presets_projectM/Eo.S.+Phat Cool Bug_arm_textured.milk b/presets_projectM/Eo.S.+Phat Cool Bug_arm_textured.milk deleted file mode 100755 index d6e8ff55a8..0000000000 --- a/presets_projectM/Eo.S.+Phat Cool Bug_arm_textured.milk +++ /dev/null @@ -1,238 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.999995 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=1.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.030000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.444842 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5+q4;y=.5+q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=zoom=1; -per_frame_init_2=xpos=0; -per_frame_init_3=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol; -per_frame_16=q4=sin(musictime*0.02)*0.3; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.07; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; diff --git a/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate B.milk b/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate B.milk deleted file mode 100755 index 7d69b6f8c5..0000000000 --- a/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate B.milk +++ /dev/null @@ -1,250 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=0.597148 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12= -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol; -per_frame_16= -per_frame_17=q4=0; -per_frame_18=q5=0; -per_frame_19=//=sin(musictime*0.02)*0.3; -per_frame_20=//q5=sin(musictime*0.01)*0.3; -per_frame_21= -per_frame_22=dx=sin(musictime*0.1)*0.07; -per_frame_23=dy=cos(musictime*0.069)*0.07; -per_frame_24= -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=pow(rd,sin(time)+2.5)*2.0; -per_pixel_6=zoom=max(zoom,0.1) -per_pixel_7= diff --git a/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate box_mix.milk b/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate box_mix.milk deleted file mode 100755 index 35d80ffc57..0000000000 --- a/presets_projectM/Eo.S.+Phat Fractical_dancer - pulsate box_mix.milk +++ /dev/null @@ -1,247 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.970816 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=1 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.150000 -ob_r=1.000000 -ob_g=1.000000 -ob_b=1.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=1.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.244862 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shapecode_1_enabled=1 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.402702 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=2.238868 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=1.000000 -shape_1_per_frame1=tex_ang=3.14; -shape_1_per_frame2=tex_zoom=2.235; -shape_1_per_frame3=x=.5-q5; -shape_1_per_frame4=y=.5-q4; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11= -per_frame_12=musictime=musictime+vol; -per_frame_13= -per_frame_14=//q4=0; -per_frame_15=q5=0; -per_frame_16=q4=sin(musictime*0.02)*0.4; -per_frame_17=q5=sin(musictime*0.01)*0.3; -per_frame_18= -per_frame_19=dx=sin(musictime*0.1)*0.07; -per_frame_20=dy=cos(musictime*0.069)*0.07; -per_frame_21= -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*1.7) + sqr( (y-0.5+q5)*1.2 ) )+0.001; -per_pixel_2= -per_pixel_3=cx=0.5+q4; -per_pixel_4=cy=0.5-q5; -per_pixel_5= -per_pixel_6=zoom=pow(rd,sin(time)+3.5)/10.5 + .5; diff --git a/presets_projectM/Eo.S.+Phat Fractical_dancer_Peacock.milk b/presets_projectM/Eo.S.+Phat Fractical_dancer_Peacock.milk deleted file mode 100755 index dc13723211..0000000000 --- a/presets_projectM/Eo.S.+Phat Fractical_dancer_Peacock.milk +++ /dev/null @@ -1,250 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.940000 -fVideoEchoZoom=1.615167 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=13.290894 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=-0.280000 -dy=-0.320000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=9.600006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.000000 -mv_r=1.000000 -mv_g=0.910000 -mv_b=0.710000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.491382 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.050000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=.5+q4;y=.5+q5; -shape_0_per_frame2=r=sin(time*0.7)*3*(bass*0.2); -shape_0_per_frame3=g=sin(time*0.5)*4*(treb*2); -shapecode_1_enabled=0 -shapecode_1_sides=24 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.018423 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=0.819541 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=tex_ang=0.01; -shape_1_per_frame2=x=.5-q4; -shape_1_per_frame3=y=.5-q5; -shapecode_2_enabled=1 -shapecode_2_sides=24 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.221671 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=2.987774 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1= -per_frame_init_2=zoom=1; -per_frame_init_3=xpos=0; -per_frame_init_4=ypos=0; -per_frame_1=decay=1; -per_frame_2= -per_frame_3=vol= (bass+mid+treb)*0.55; -per_frame_4=vol=vol; -per_frame_5= -per_frame_6= -per_frame_7=mv_r = 0.5 + 0.4*sin(time*1.324); -per_frame_8=mv_g = 0.5 + 0.4*cos(time*1.371); -per_frame_9= -per_frame_10= -per_frame_11=//ib_r=bass; -per_frame_12=//ib_g=treb; -per_frame_13=zoom=.9; -per_frame_14= -per_frame_15=musictime=musictime+vol; -per_frame_16= -per_frame_17=q4=0; -per_frame_18=q5=0; -per_frame_19=//q4=sin(musictime*0.02)*0.1; -per_frame_20=//q5=sin(musictime*0.01)*0.1; -per_frame_21= -per_frame_22=dx=sin(musictime*0.1)*0.07; -per_frame_23=dy=cos(musictime*0.069)*0.07; -per_frame_24= -per_frame_25= -per_frame_26= -per_frame_27= -per_frame_28=monitor=rot; -per_pixel_1=rd=sqrt( sqr( (x-0.5-q4)*3) + sqr( (y-0.5+q5)*2 ) ); -per_pixel_2=cx=0.5+q4; -per_pixel_3=cy=0.5-q5; -per_pixel_4= -per_pixel_5=zoom=(rd*rd)/2.5; diff --git a/presets_projectM/Eo.s and PieturP - Starfield.milk b/presets_projectM/Eo.s and PieturP - Starfield.milk deleted file mode 100755 index 8a1bd229f1..0000000000 --- a/presets_projectM/Eo.s and PieturP - Starfield.milk +++ /dev/null @@ -1,597 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.500000 -fVideoEchoZoom=3.012146 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.630000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.010000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=12.799999 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=256 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.028414 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); -wave_0_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_0_per_frame3=t1=advance; -wave_0_per_frame4=ab=ab+(abs(bass+treb+mid)*.001); -wave_0_per_frame5=ab=if(above(ab,628),0,ab); -wave_0_per_frame6=t2=ab; -wave_0_per_frame7= -wave_0_per_point1=s=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=//plot random x position via function of sample pos; -wave_0_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_0_per_point5=xp=xp*.17; -wave_0_per_point6=//plot random y position via function of sample pos; -wave_0_per_point7=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_0_per_point8=yp=yp*.17; -wave_0_per_point9=//plot random z position via function of sample pos; -wave_0_per_point10=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_0_per_point11=zp=zp*0.25; -wave_0_per_point12= -wave_0_per_point13=//pull stars toward screen -wave_0_per_point14=zp=zp + 1 - t1; -wave_0_per_point15= -wave_0_per_point16=//correct when below 0 -wave_0_per_point17=zp=if( below(zp,0) , zp+2 , zp ); -wave_0_per_point18=zp=zp*0.7; -wave_0_per_point19= -wave_0_per_point20=x2=sin(time*.2)*.125; -wave_0_per_point21=y2=cos(time*.2)*.125; -wave_0_per_point22=x=(xp/zp + 0.5)+x2; -wave_0_per_point23=y=(yp/zp + 0.5)+y2; -wave_0_per_point24= -wave_0_per_point25= -wave_0_per_point26=h=sin(t2)*.5+.5; -wave_0_per_point27= -wave_0_per_point28=//darken far stars -wave_0_per_point29=//a=(1 - zp*0.5); -wave_0_per_point30=l=(1-zp*.5); -wave_0_per_point31=s=(1-zp*.5); -wave_0_per_point32= -wave_0_per_point33= -wave_0_per_point34= -wave_0_per_point35=////////////////////////////////////////////////////////////////////////////// -wave_0_per_point36=// -wave_0_per_point37=// HSL to RGB by PieturP -wave_0_per_point38=// -wave_0_per_point39=// hue h ( 0 - 1 ) rr ( 0 - 1 ) -wave_0_per_point40=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_0_per_point41=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_0_per_point42=// -wave_0_per_point43=cc=(6*h); -wave_0_per_point44=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_0_per_point45=zf=(6*h)-cc; -wave_0_per_point46=zm=l; -wave_0_per_point47=zp=l*(1-s); -wave_0_per_point48=zq=l*(1-s*zf); -wave_0_per_point49=zt=l*(1-s*(1-zf)); -wave_0_per_point50=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_0_per_point51=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_0_per_point52=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_0_per_point53=rr=if(equal(s,0),l,rr); -wave_0_per_point54=gg=if(equal(s,0),l,gg); -wave_0_per_point55=bb=if(equal(s,0),l,bb); -wave_0_per_point56= -wave_0_per_point57=////////////////////////////////////////////////////////////////////////////// -wave_0_per_point58= -wave_0_per_point59=r=rr; -wave_0_per_point60=g=gg; -wave_0_per_point61=b=bb; -wave_0_per_point62= -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=256 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.028414 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_frame1=advance=advance+ (abs(bass+treb+mid)*.01); -wave_1_per_frame2=advance=if( above(advance,2) , 0, advance); -wave_1_per_frame3=t1=advance; -wave_1_per_frame4=ab=ab+(abs(bass+treb+mid)*.001); -wave_1_per_frame5=ab=if(above(ab,628),0,ab); -wave_1_per_frame6=t2=ab; -wave_1_per_frame7= -wave_1_per_point1=s=sample*6.28; -wave_1_per_point2= -wave_1_per_point3=//plot random x position via function of sample pos; -wave_1_per_point4=xp=sin(s)+sin(s*0.34)+sin(s*24.3)+sin(s*13.8); -wave_1_per_point5=xp=xp*.20; -wave_1_per_point6=//plot random y position via function of sample pos; -wave_1_per_point7=yp=cos(s)+sin(s*0.24)+cos(s*17.4)+sin(s*37.7); -wave_1_per_point8=yp=yp*.20; -wave_1_per_point9=//plot random z position via function of sample pos; -wave_1_per_point10=zp=cos(s)+cos(s*5.24)+cos(s*47.4)+cos(s*27.7); -wave_1_per_point11=zp=zp*0.25; -wave_1_per_point12= -wave_1_per_point13= -wave_1_per_point14= -wave_1_per_point15=//pull stars toward screen -wave_1_per_point16=zp=zp + 1 - t1; -wave_1_per_point17= -wave_1_per_point18=//correct when below 0 -wave_1_per_point19=zp=if( below(zp,0) , zp+2 , zp ); -wave_1_per_point20= -wave_1_per_point21=//darken far stars -wave_1_per_point22=//a=(1 - zp*0.5); -wave_1_per_point23= -wave_1_per_point24=zp=zp*0.705; -wave_1_per_point25= -wave_1_per_point26=x=xp/zp + 0.5; -wave_1_per_point27=y=yp/zp + 0.5; -wave_1_per_point28= -wave_1_per_point29=h=sin(t2)*.5+.5; -wave_1_per_point30= -wave_1_per_point31=s=(1-zp*.5); -wave_1_per_point32=l=(zp*.5); -wave_1_per_point33= -wave_1_per_point34= -wave_1_per_point35=////////////////////////////////////////////////////////////////////////////// -wave_1_per_point36=// -wave_1_per_point37=// HSL to RGB by PieturP -wave_1_per_point38=// -wave_1_per_point39=// hue h ( 0 - 1 ) rr ( 0 - 1 ) -wave_1_per_point40=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -wave_1_per_point41=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -wave_1_per_point42=// -wave_1_per_point43=cc=(6*h); -wave_1_per_point44=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -wave_1_per_point45=zf=(6*h)-cc; -wave_1_per_point46=zm=l; -wave_1_per_point47=zp=l*(1-s); -wave_1_per_point48=zq=l*(1-s*zf); -wave_1_per_point49=zt=l*(1-s*(1-zf)); -wave_1_per_point50=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -wave_1_per_point51=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -wave_1_per_point52=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -wave_1_per_point53=rr=if(equal(s,0),l,rr); -wave_1_per_point54=gg=if(equal(s,0),l,gg); -wave_1_per_point55=bb=if(equal(s,0),l,bb); -wave_1_per_point56= -wave_1_per_point57=////////////////////////////////////////////////////////////////////////////// -wave_1_per_point58= -wave_1_per_point59=r=rr; -wave_1_per_point60=g=gg; -wave_1_per_point61=b=bb; -wave_1_per_point62= -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=1 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=0.999996 -wavecode_2_smoothing=0.000000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; -wave_2_per_frame2=vol_avg = .1*(vol_avg*9 + vol); -wave_2_per_frame3=vg = vol_avg*.1; -wave_2_per_frame4=//t1 = if(above(vg,1.8),1.8,vg); -wave_2_per_frame5=t1=time*.3; -wave_2_per_frame6=//t2=sin(time)*1.5+2; -wave_2_per_frame7=//t3=.25; -wave_2_per_frame8=//t2=sin(time*.071)*1.2+4.1; -wave_2_per_frame9=t2=2; -wave_2_per_frame10=t3=0; -wave_2_per_frame11=t4=0; -wave_2_per_point1=tm=if(above(yp,0.98),t1,tm); -wave_2_per_point2=ex=if(above(yp,0.98),t2,ex); -wave_2_per_point3=//ex=2; -wave_2_per_point4=sp=.01; -wave_2_per_point5=yp=if(above(xp,0.9998),yp+sp,yp); -wave_2_per_point6=xp=if(above(xp,0.9998),0,xp+sp); -wave_2_per_point7=yp=if(above(yp,0.9998),0,yp); -wave_2_per_point8=x=((xp*ex)*.1+.5)-(.05*ex)-t3; -wave_2_per_point9=y=((yp*ex)*.1+.5)-(.05*ex)-t4; -wave_2_per_point10= -wave_2_per_point11=//g=sin(xp*yp*1.506+tm); -wave_2_per_point12=//b=sin(xp*yp*3.142+tm); -wave_2_per_point13=//r=cos(xp*yp*1.506+tm); -wave_2_per_point14= -wave_2_per_point15=r=sin(xp*3.14+tm)*sin(yp*3.14+tm); -wave_2_per_point16=g=sin(xp*6.28+tm)*sin(yp*6.28+tm); -wave_2_per_point17=b=.4; -wave_2_per_point18= -wave_2_per_point19= -wave_2_per_point20= -wave_2_per_point21= -wave_2_per_point22= -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=1 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.000000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_frame1=vol = (bass_att + mid_att + treb_att)*.333333; -wave_3_per_frame2=vol_avg = .1*(vol_avg*9 + vol); -wave_3_per_frame3=vg = vol_avg*.1; -wave_3_per_frame4=t1 = if(above(vg,1.8),1.8,vg); -wave_3_per_point1=tm = q1; -wave_3_per_point2=sp = sample*6.28*8*6; -wave_3_per_point3= -wave_3_per_point4=vol = (value1+value2)*.5; -wave_3_per_point5=it = it*above(sample,0); -wave_3_per_point6=it = it + 1; -wave_3_per_point7=rad = .5 + vol; -wave_3_per_point8=ra = rad*sin(sample*3.14); -wave_3_per_point9=ox = ra*sin(sp); -wave_3_per_point10=oy = sin(sample*3.14-1.57)*rad; -wave_3_per_point11=oz = ra*cos(sp); -wave_3_per_point12= -wave_3_per_point13=xang = tm*.132; -wave_3_per_point14=sxang = 0; -wave_3_per_point15=yang = tm*.153; -wave_3_per_point16=ayang = 0; -wave_3_per_point17=zang = tm*.110; -wave_3_per_point18=azang = 0; -wave_3_per_point19=fov = 0.6 + 0.2*sin(tm); -wave_3_per_point20=fov = .5; -wave_3_per_point21= -wave_3_per_point22=mx = ox*cos(zang) - oy*sin(zang); -wave_3_per_point23=my = ox*sin(zang) + oy*cos(zang); -wave_3_per_point24=ox = mx; -wave_3_per_point25=oy = my; -wave_3_per_point26=mx = ox*cos(yang) + oz*sin(yang); -wave_3_per_point27=mz = - ox*sin(yang) + oz*cos(yang); -wave_3_per_point28=ox = mx; -wave_3_per_point29=oz = mz; -wave_3_per_point30=my = oy*cos(xang) - oz*sin(xang); -wave_3_per_point31=mz = oy*sin(xang) + oz*cos(xang); -wave_3_per_point32=oy = my; -wave_3_per_point33=oz = mz; -wave_3_per_point34= -wave_3_per_point35=oz = oz - 2; -wave_3_per_point36=x = ox*fov/oz + 0.5; -wave_3_per_point37=x = (x-.5)*0.75 + 0.5; -wave_3_per_point38=y = oy*fov/oz + 0.5; -wave_3_per_point39= -wave_3_per_point40=r = 1; -wave_3_per_point41=g = .25+.25*sin(sp); -wave_3_per_point42=b = 0; -wave_3_per_point43=a = .5 + (oz+2)*.5; -wave_3_per_point44=a = a*below(z,2); -wave_3_per_point45=minrgb = min(r,min(g,b)); -wave_3_per_point46=maxrgb = max(r,max(g,b)); -wave_3_per_point47=l = (maxrgb-minrgb)*.5; -wave_3_per_point48=diff = maxrgb-minrgb; -wave_3_per_point49=sum = maxrgb+minrgb; -wave_3_per_point50=s = if(above(l,0.5),diff/(2-sum),diff/sum)*(1-equal(l,0)); -wave_3_per_point51=h = if(equal(r,maxrgb),(g-b)/diff,if(equal(g,maxrgb),2+(b-r)/diff,4+(r-g)/diff)); -wave_3_per_point52=h = h*0.1666666; -wave_3_per_point53=h = if(below(h,0),0,if(above(h,1),1,h)); -wave_3_per_point54= -wave_3_per_point55=h = h + time*0.05*1.324; -wave_3_per_point56=h = h - int(h); -wave_3_per_point57= -wave_3_per_point58=tmpb = if(below(l,0.5),l*(1+s),(l+s)-(s*l)); -wave_3_per_point59=tmpa = 2*l - tmpb; -wave_3_per_point60=hvr = h + .333333; -wave_3_per_point61=hvr = if(below(hvr,0),hvr+1,if(above(hvr,1),hvr-1,hvr)); -wave_3_per_point62=hvg = h; -wave_3_per_point63=hvg = if(below(hvg,0),hvg+1,if(above(hvg,1),hvg-1,hvg)); -wave_3_per_point64=hvb = h - .333333; -wave_3_per_point65=hvb = if(below(hvb,0),hvb+1,if(above(hvb,1),hvb-1,hvb)); -wave_3_per_point66= -wave_3_per_point67=r = if(below(6*hvr,1),tmpa+(tmpb-tmpa)*6*hvr, if(below(2*hvr,1),tmpb, if(below(hvr*3,2),tmpa+(tmpb-tmpa)*(.666666-hvr)*6,tmpa))); -wave_3_per_point68=g = if(below(6*hvg,1),tmpa+(tmpb-tmpa)*6*hvg, if(below(2*hvg,1),tmpb, if(below(hvg*3,2),tmpa+(tmpb-tmpa)*(.666666-hvg)*6,tmpa))); -wave_3_per_point69=b = if(below(6*hvb,1),tmpa+(tmpb-tmpa)*6*hvb, if(below(2*hvb,1),tmpb, if(below(hvb*3,2),tmpa+(tmpb-tmpa)*(.666666-hvb)*6,tmpa))); -shapecode_0_enabled=0 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.140000 -shapecode_0_y=0.170000 -shapecode_0_rad=2.207644 -shapecode_0_ang=3.141593 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.255374 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shapecode_1_enabled=0 -shapecode_1_sides=100 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_textured=1 -shapecode_1_x=0.140000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100996 -shapecode_1_ang=3.141593 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=3.241264 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.600000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=0.000000 -shapecode_1_border_g=0.000000 -shapecode_1_border_b=0.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1= -shape_1_per_frame2=p=p+.62; -shape_1_per_frame3=slowp=slowp+.062; -shape_1_per_frame4=p=below(p,6.283)*p; -shape_1_per_frame5=slowp=below(slowp,6.283)*slowp; -shape_1_per_frame6=x=sin(p)*.35+.5; -shape_1_per_frame7=y=cos(p)*.35+.5; -shape_1_per_frame8=h=sin(slowp)*.5+.5; -shape_1_per_frame9=s=1; -shape_1_per_frame10=l=1; -shape_1_per_frame11=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_1_per_frame12=// -shape_1_per_frame13=// HSL to RGB by PieturP -shape_1_per_frame14=// -shape_1_per_frame15=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -shape_1_per_frame16=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -shape_1_per_frame17=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -shape_1_per_frame18=// -shape_1_per_frame19=cc=(6*h); -shape_1_per_frame20=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -shape_1_per_frame21=zf=(6*h)-cc; -shape_1_per_frame22=zm=l; -shape_1_per_frame23=zp=l*(1-s); -shape_1_per_frame24=zq=l*(1-s*zf); -shape_1_per_frame25=zt=l*(1-s*(1-zf)); -shape_1_per_frame26=monitor=zq; -shape_1_per_frame27=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -shape_1_per_frame28=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -shape_1_per_frame29=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -shape_1_per_frame30=rr=if(equal(s,0),l,rr); -shape_1_per_frame31=gg=if(equal(s,0),l,gg); -shape_1_per_frame32=bb=if(equal(s,0),l,bb); -shape_1_per_frame33= -shape_1_per_frame34=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_1_per_frame35=r=rr; -shape_1_per_frame36=g=gg; -shape_1_per_frame37=b=bb; -shape_1_per_frame38= -shape_1_per_frame39=h=sin(slowp)*.5+.5; -shape_1_per_frame40=l=.5; -shape_1_per_frame41=s=.55; -shape_1_per_frame42=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_1_per_frame43=// -shape_1_per_frame44=// HSL to RGB by PieturP -shape_1_per_frame45=// -shape_1_per_frame46=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -shape_1_per_frame47=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -shape_1_per_frame48=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -shape_1_per_frame49=// -shape_1_per_frame50=cc=(6*h); -shape_1_per_frame51=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -shape_1_per_frame52=zf=(6*h)-cc; -shape_1_per_frame53=zm=l; -shape_1_per_frame54=zp=l*(1-s); -shape_1_per_frame55=zq=l*(1-s*zf); -shape_1_per_frame56=zt=l*(1-s*(1-zf)); -shape_1_per_frame57=monitor=zq; -shape_1_per_frame58=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -shape_1_per_frame59=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -shape_1_per_frame60=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -shape_1_per_frame61=rr=if(equal(s,0),l,rr); -shape_1_per_frame62=gg=if(equal(s,0),l,gg); -shape_1_per_frame63=bb=if(equal(s,0),l,bb); -shape_1_per_frame64= -shape_1_per_frame65=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_1_per_frame66=r2=rr; -shape_1_per_frame67=g2=gg; -shape_1_per_frame68=b2=bb; -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=1.791410 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.561512 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=1 -shapecode_3_textured=0 -shapecode_3_x=0.140000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.123235 -shapecode_3_ang=3.141593 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=3.241264 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=0.000000 -shapecode_3_border_g=0.000000 -shapecode_3_border_b=0.000000 -shapecode_3_border_a=1.000000 -shape_3_per_frame1= -shape_3_per_frame2=p=p+.314; -shape_3_per_frame3=slowp=slowp+.00628; -shape_3_per_frame4=p=below(p,6.283)*p; -shape_3_per_frame5=slowp=below(slowp,6.283)*slowp; -shape_3_per_frame6=my=my+(mid*mid*mid)*.02; -shape_3_per_frame7=turn=below(sin(my)*.5+.5,.5); -shape_3_per_frame8=x=if(equal(turn,1),sin(p)*.3+.5,sin(628-p)*.3+.5); -shape_3_per_frame9=y=if(equal(turn,1),cos(p)*.3+.5,cos(628-p)*.3+.5); -shape_3_per_frame10=h=sin(slowp)*.5+.5; -shape_3_per_frame11=s=min(abs(bass*.6),1); -shape_3_per_frame12=l=1; -shape_3_per_frame13=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_3_per_frame14=// -shape_3_per_frame15=// HSL to RGB by PieturP -shape_3_per_frame16=// -shape_3_per_frame17=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -shape_3_per_frame18=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -shape_3_per_frame19=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -shape_3_per_frame20=// -shape_3_per_frame21=cc=(6*h); -shape_3_per_frame22=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -shape_3_per_frame23=zf=(6*h)-cc; -shape_3_per_frame24=zm=l; -shape_3_per_frame25=zp=l*(1-s); -shape_3_per_frame26=zq=l*(1-s*zf); -shape_3_per_frame27=zt=l*(1-s*(1-zf)); -shape_3_per_frame28=monitor=zq; -shape_3_per_frame29=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -shape_3_per_frame30=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -shape_3_per_frame31=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -shape_3_per_frame32=rr=if(equal(s,0),l,rr); -shape_3_per_frame33=gg=if(equal(s,0),l,gg); -shape_3_per_frame34=bb=if(equal(s,0),l,bb); -shape_3_per_frame35= -shape_3_per_frame36=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_3_per_frame37=r=rr; -shape_3_per_frame38=g=gg; -shape_3_per_frame39=b=bb; -shape_3_per_frame40= -shape_3_per_frame41=h=sin(slowp)*.5+.5; -shape_3_per_frame42=l=min(abs(bass*.6),1); -shape_3_per_frame43=s=1; -shape_3_per_frame44=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_3_per_frame45=// -shape_3_per_frame46=// HSL to RGB by PieturP -shape_3_per_frame47=// -shape_3_per_frame48=// hue h ( 0 - 0.9 ) rr ( 0 - 1 ) -shape_3_per_frame49=// saturation s ( 0 - 1 ) - > gg ( 0 - 1 ) -shape_3_per_frame50=// luminance l ( 0 - 1 ) bb ( 0 - 1 ) -shape_3_per_frame51=// -shape_3_per_frame52=cc=(6*h); -shape_3_per_frame53=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5))))); -shape_3_per_frame54=zf=(6*h)-cc; -shape_3_per_frame55=zm=l; -shape_3_per_frame56=zp=l*(1-s); -shape_3_per_frame57=zq=l*(1-s*zf); -shape_3_per_frame58=zt=l*(1-s*(1-zf)); -shape_3_per_frame59=monitor=zq; -shape_3_per_frame60=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm))))); -shape_3_per_frame61=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp))))); -shape_3_per_frame62=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq))))); -shape_3_per_frame63=rr=if(equal(s,0),l,rr); -shape_3_per_frame64=gg=if(equal(s,0),l,gg); -shape_3_per_frame65=bb=if(equal(s,0),l,bb); -shape_3_per_frame66= -shape_3_per_frame67=/////////////////////////////////////////////////////////////////////////////////////////////// -shape_3_per_frame68=r2=rr; -shape_3_per_frame69=g2=gg; -shape_3_per_frame70=b2=bb; -shape_3_per_frame71=border_r=rr; -shape_3_per_frame72=border_g=gg; -shape_3_per_frame73=border_b=bb; -per_frame_1=decay=.8; -per_frame_2=warp=0; -per_frame_3=dx=0; -per_frame_4=dy=0; -per_frame_5=zoom=1; diff --git a/presets_projectM/Fvese - The Tunnel (Final Stage Mix).milk b/presets_projectM/Fvese - The Tunnel (Final Stage Mix).milk deleted file mode 100755 index 3d97116544..0000000000 --- a/presets_projectM/Fvese - The Tunnel (Final Stage Mix).milk +++ /dev/null @@ -1,83 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.995000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.241456 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.741921 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=0.999900 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.400000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.300000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=6.400000 -nMotionVectorsY=1.440001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.759900 -mv_g=0.480000 -mv_b=0.390000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); -per_frame_5=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); -per_frame_6=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); -per_frame_7=rot = rot+0.05*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_8=mytime=.7; -per_frame_9=q1=sin(time*mytime*4); -per_frame_10=q2=cos(time*mytime*2); -per_frame_11=q3=abs(rad-.5)*(q2*q1); -per_frame_12=xpos=.5/vol; -per_frame_13=ypos=.5/vol; -per_frame_14=wave_x=.5+0.1*sin(time+rand(100)/100); -per_frame_15=wave_y=.5+0.1*cos(time+rand(100)/100); -per_frame_16=ib_r=q3+q2; -per_frame_17=ib_b=q2+q1; -per_frame_18=ib_g=q1+q3; -per_pixel_1=zoom = if(below(q1,0),0.5*x,if(equal(q2,0),0.9*(1-x),if(above(q3,0),0.9*y,0.9*(1-y)))) + 0.6 - 0.13*(min(q3,0.3)); -per_pixel_2= diff --git a/presets_projectM/Fvese - Zoom Effects (Remix 2).milk b/presets_projectM/Fvese - Zoom Effects (Remix 2).milk deleted file mode 100755 index 07908af0c0..0000000000 --- a/presets_projectM/Fvese - Zoom Effects (Remix 2).milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.980000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.241456 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.500000 -fModWaveAlphaEnd=1.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.550300 -fShader=0.000000 -zoom=0.999899 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.999900 -sy=0.999900 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.400000 -ob_a=0.000000 -ib_size=0.005000 -ib_r=0.000000 -ib_g=0.300000 -ib_b=0.000000 -ib_a=1.000000 -nMotionVectorsX=3.200000 -nMotionVectorsY=2.400006 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.759900 -mv_g=0.480000 -mv_b=0.390000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_3=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_4=vol=0.15*(bass_att+bass+mid+mid_att); -per_frame_5=bass_eff = max(max(bass,bass_att)-1,0); -per_frame_6=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_7=dx = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); -per_frame_8=dy = 0.005 + 0.002*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) ); -per_frame_9=dx_r=if(equal(q3,0),if(above(x,xpos),dx*q1-xpos,dx+q2-xpos),dx); -per_frame_10=dy_r=if(equal(q3,0),if(above(y,ypos),dy*q1-ypos,dy+q2-ypos),dy); -per_frame_11=rot = rot+0.15*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_12=mytime=.9; -per_frame_13=xpos=.5/vol; -per_frame_14=ypos=.5/vol; -per_frame_15=q1=sin(time*mytime*4); -per_frame_16=q2=cos(time*mytime*2); -per_frame_17=q3=abs(rad+.5)+(q2*q5); -per_frame_18=q4=abs(.9*5)*(dx_r*dy_r)*(dx*dy); -per_frame_19=q5=cos(.2*2)*(dx_r*dy_r); -per_frame_20=q6=0.1*(atan(abs(-rad+.5)))*q1; -per_frame_21=q7=q1+q2+q3+q4+q5+q6; -per_frame_22=wave_x=.5+0.1*sin(time+rand(100)/100); -per_frame_23=wave_y=.5+0.1*cos(time+rand(100)/100); -per_frame_24=ib_r=q3+q2; -per_frame_25=ib_b=q2+q1; -per_frame_26=ib_g=q1+q3; -per_frame_27=monitor=q3; -per_pixel_1=zoom= if(below(q1,q6),0.5*x,if(equal(q2,q5),0.9*(1-x),if(above(q3,q4),0.5*y,0.9*(1-y)+if(below(q4,q3),0.5* xpos, if(equal(q5,q2),0.9*(1-xpos),if(above(q6,q1),0.9*ypos,0.3*(1-ypos))))))) + .8 - 0.03*(min(q7+q1,1)); diff --git a/presets_projectM/Geiss & Sperl - Feedback (projectM idle HDR mix).milk b/presets_projectM/Geiss & Sperl - Feedback (projectM idle HDR mix).milk deleted file mode 100644 index cfeef103b2..0000000000 --- a/presets_projectM/Geiss & Sperl - Feedback (projectM idle HDR mix).milk +++ /dev/null @@ -1,293 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1 -fDecay=0.9 -fVideoEchoZoom=0.710682 -fVideoEchoAlpha=0 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.311604 -fWaveScale=1.22891 -fWaveSmoothing=0 -fWaveParam=0.2 -fModWaveAlphaStart=0.71 -fModWaveAlphaEnd=1.3 -fWarpAnimSpeed=1 -fWarpScale=1 -fZoomExponent=1 -fShader=0 -zoom=0.999902 -rot=0 -cx=0.5 -cy=0.5 -dx=0 -dy=0 -warp=0.207965 -sx=1 -sy=1 -wave_r=0.65 -wave_g=0.65 -wave_b=0.65 -wave_x=0.5 -wave_y=0.5 -ob_size=0.0065 -ob_r=0 -ob_g=0 -ob_b=0 -ob_a=0 -ib_size=0.26 -ib_r=0.25 -ib_g=0.25 -ib_b=0.25 -ib_a=0 -nMotionVectorsX=64 -nMotionVectorsY=48 -mv_dx=0 -mv_dy=0 -mv_l=0.85 -mv_r=0.4999 -mv_g=0.4999 -mv_b=0.4999 -mv_a=0 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.37 -shapecode_0_y=0.5 -shapecode_0_rad=4.999997 -shapecode_0_ang=3.644249 -shapecode_0_tex_ang=0 -shapecode_0_tex_zoom=1 -shapecode_0_r=0 -shapecode_0_g=0 -shapecode_0_b=0 -shapecode_0_a=0.5 -shapecode_0_r2=0 -shapecode_0_g2=0 -shapecode_0_b2=0 -shapecode_0_a2=0.3 -shapecode_0_border_r=1 -shapecode_0_border_g=1 -shapecode_0_border_b=1 -shapecode_0_border_a=1 -shape_0_init1=t1 = rand(100)*0.01; -shape_0_init2=t2 = rand(100)*0.01; -shape_0_per_frame1=ang = time*(0.3 + 0.1*t1); -shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2); -shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1))); -shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2))); -shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4))); -shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3))); -shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5))); -shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6))); -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.37 -shapecode_1_y=0.5 -shapecode_1_rad=0.706533 -shapecode_1_ang=3.644249 -shapecode_1_tex_ang=0 -shapecode_1_tex_zoom=1 -shapecode_1_r=1 -shapecode_1_g=1 -shapecode_1_b=1 -shapecode_1_a=0.8 -shapecode_1_r2=1 -shapecode_1_g2=1 -shapecode_1_b2=1 -shapecode_1_a2=0 -shapecode_1_border_r=1 -shapecode_1_border_g=1 -shapecode_1_border_b=1 -shapecode_1_border_a=0 -shape_1_init1=t1 = rand(100)*0.01; -shape_1_init2=t2 = rand(100)*0.01; -shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3); -shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1); -shape_1_per_frame3=ang = time*(0.3 + 0.1*t1); -shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2); -shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shapecode_2_enabled=1 -shapecode_2_sides=5 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.67 -shapecode_2_y=0.43 -shapecode_2_rad=0.706533 -shapecode_2_ang=4.209736 -shapecode_2_tex_ang=0 -shapecode_2_tex_zoom=1 -shapecode_2_r=1 -shapecode_2_g=1 -shapecode_2_b=1 -shapecode_2_a=0.8 -shapecode_2_r2=1 -shapecode_2_g2=1 -shapecode_2_b2=1 -shapecode_2_a2=0 -shapecode_2_border_r=1 -shapecode_2_border_g=1 -shapecode_2_border_b=1 -shapecode_2_border_a=0 -shape_2_init1=t1 = rand(100)*0.01; -shape_2_init2=t2 = rand(100)*0.01; -shape_2_per_frame1=x = x + 0.05*sin(time*2.17); -shape_2_per_frame2=y = y + 0.03*sin(time*1.83); -shape_2_per_frame3=ang = time*(0.3 + 0.1*t1); -shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2); -shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shapecode_5_enabled=1 -shapecode_5_sides=16 -shapecode_5_additive=1 -shapecode_5_thickOutline=1 -shapecode_5_textured=0 -shapecode_5_x=0.68 -shapecode_5_y=0.5 -shapecode_5_rad=0.509999 -shapecode_5_ang=0 -shapecode_5_tex_ang=0 -shapecode_5_tex_zoom=1 -shapecode_5_r=1 -shapecode_5_g=0 -shapecode_5_b=0 -shapecode_5_a=0.46 -shapecode_5_r2=0 -shapecode_5_g2=1 -shapecode_5_b2=0 -shapecode_5_a2=0 -shapecode_5_border_r=0 -shapecode_5_border_g=1 -shapecode_5_border_b=1 -shapecode_5_border_a=0 -shape_5_per_frame1=ang = time*1.4; -shape_5_per_frame2=x = x + q1; -shape_5_per_frame3=y = y + q2; -shape_5_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1); -shape_5_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2); -shape_5_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5); -shape_5_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4); -shape_5_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1); -shape_5_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3); -shapecode_3_enabled=1 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_ImageURL=M.tga -shapecode_3_x=0.68 -shapecode_3_y=0.5 -shapecode_3_rad=0.41222 -shapecode_3_ang=0 -shapecode_3_tex_ang=0 -shapecode_3_tex_zoom=0.71 -shapecode_3_r=1 -shapecode_3_g=1 -shapecode_3_b=1 -shapecode_3_a=1 -shapecode_3_r2=1 -shapecode_3_g2=1 -shapecode_3_b2=1 -shapecode_3_a2=1 -shapecode_3_border_r=0 -shapecode_3_border_g=0 -shapecode_3_border_b=0 -shapecode_3_border_a=0 -shape_3_per_frame1=x = x + q1; -shape_3_per_frame2=y = y + q2; -shape_3_per_frame3=b2 = (sin(time)+1)*0.5; -shape_3_per_frame4=b = (sin(time)+1)*0.5; -shape_3_per_frame5=g2 = (cos(time*0.75+1)+1)*0.5; -shape_3_per_frame6=g = (cos(time*0.75+1)+1)*0.5; -shape_3_per_frame7=r2 = (sin(time*1.25+2)+1)*0.5; -shape_3_per_frame8=r = (sin(time*1.25+2)+1)*0.5; -shape_3_per_frame9=a = q3; -shape_3_per_frame10=a2 = q3; -shapecode_4_enabled=1 -shapecode_4_sides=4 -shapecode_4_additive=0 -shapecode_4_thickOutline=0 -shapecode_4_textured=1 -shapecode_4_ImageURL=headphones.tga -shapecode_4_x=0.68 -shapecode_4_y=0.58 -shapecode_4_rad=0.6 -shapecode_4_ang=0 -shapecode_4_tex_ang=0 -shapecode_4_tex_zoom=0.71 -shapecode_4_r=1 -shapecode_4_g=1 -shapecode_4_b=1 -shapecode_4_a=1 -shapecode_4_r2=1 -shapecode_4_g2=1 -shapecode_4_b2=1 -shapecode_4_a2=1 -shapecode_4_border_r=0 -shapecode_4_border_g=0 -shapecode_4_border_b=0 -shapecode_4_border_a=0 -shape_4_per_frame1=x = x + q1; -shape_4_per_frame2=y = y + q2; -shape_4_per_frame3=rad = rad + bass * 0.1; -shape_4_per_frame4=a = q3; -shape_4_per_frame5=a2 = q3; -shapecode_6_enabled=1 -shapecode_6_sides=4 -shapecode_6_additive=0 -shapecode_6_thickOutline=0 -shapecode_6_textured=1 -shapecode_6_ImageURL=project.tga -shapecode_6_x=0.38 -shapecode_6_y=0.435 -shapecode_6_rad=0.8 -shapecode_6_ang=0 -shapecode_6_tex_ang=0 -shapecode_6_tex_zoom=0.71 -shapecode_6_r=1 -shapecode_6_g=1 -shapecode_6_b=1 -shapecode_6_a=1 -shapecode_6_r2=1 -shapecode_6_g2=1 -shapecode_6_b2=1 -shapecode_6_a2=1 -shapecode_6_border_r=0 -shapecode_6_border_g=0 -shapecode_6_border_b=0 -shapecode_6_border_a=0 -shape_6_per_frame1=x = x + q1; -shape_6_per_frame2=y = y + q2; -shape_6_per_frame3=a = q3; -shape_6_per_frame4=a2 = q3; -per_frame_1=wave_mystery = time%5*0.2; -per_frame_2=q1 = 0.15*sin(time*1.14); -per_frame_3=q2 = 0.1*sin(time*0.93+2); -per_frame_4=q3 = if(above(frame,60),1, frame/60.0); \ No newline at end of file diff --git a/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk b/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk deleted file mode 100755 index 19b9a5a423..0000000000 --- a/presets_projectM/Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk +++ /dev/null @@ -1,95 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999600 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.763002 -fWaveSmoothing=0.270000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.010000 -fShader=0.000000 -zoom=0.998531 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.900000 -ob_b=0.200000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.230000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_2=ob_g = 0.5- 0.4*sin(time*5.924); -per_frame_3=ob_b = 0.45 - 0.3*cos(time*0.816); -per_frame_4=warp =0; -per_frame_5=volume = 0.15*(bass_att+bass+mid+mid_att); -per_frame_6=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_7=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_8=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_9=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_10=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_12=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_13=lastbeat = if(beat,time,lastbeat); -per_frame_14=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_15=q5 = if(beat,0.1*rand(1000),oldq5); -per_frame_16=oldq5 = q5; -per_frame_17=q3 = if(beat,0.1*rand(1000),oldq3); -per_frame_18=oldq3 = q3; -per_frame_19=ib_size = 0.02; -per_frame_20=ib_r = ib_r + 0.5*sin(time*2.424); -per_frame_21=ib_g = ib_g + 0.5*sin(time*2.247); -per_frame_22=ib_b = ib_b - 0.5*sin(time*1.131); -per_frame_23=dx = dx -0.008*(0.6*sin(time*0.23)+0.5*cos(time*0.153)); -per_frame_24=dy = dy - 0.008*(0.6*sin(time*0.21)+0.5*cos(time*0.142)); -per_frame_25=echo_zoom=echo_zoom-.3*sin(Time*(q5/2/2/2/2/2/2/2)); -per_frame_26=//echo_alpha=1; -per_pixel_1=box=abs(x*2-0.4*sin(q3))%2 + abs(y*2+0.4*sin(q5))%2; -per_pixel_2=q1 = 4.05+(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_3=zoom = if(above(box,1),q1*.1,zoom); -per_pixel_4=rot = if(above(box,1),sin(0.885*time),0)*((ang/2/2/2)-rad)*Sin(q5)/2; -per_pixel_5=dx = if(above(box,1),sin(0.542*time),0.005*sin((y-0.5)*96)+0.005*sin((y-0.5)*128)); -per_pixel_6=dy= if(above(box,1),sin(0.581*time),0.001*cos((x-0.5)*128)+0.001*cos((x-0.5)*96)); diff --git a/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk b/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk deleted file mode 100755 index 814c7a907a..0000000000 --- a/presets_projectM/Krash & Rovastar - Cerebral Demons - Phat + Eo.S. Killer Death Bunny Remix.milk +++ /dev/null @@ -1,364 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.334693 -fWaveSmoothing=0.750000 -fWaveParam=-0.219900 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=0.999900 -rot=0.100000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.800000 -ib_size=0.005000 -ib_r=0.400000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.000000 -mv_r=0.000000 -mv_g=0.700000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.300000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.283; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n); -wave_0_per_point4=yp=cos(n); -wave_0_per_point5= -wave_0_per_point6=tm=q3 - sample; -wave_0_per_point7= -wave_0_per_point8=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5; -wave_0_per_point9=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5; -wave_0_per_point10= -wave_0_per_point11= -wave_0_per_point12=x= xof; -wave_0_per_point13=y= (1-yof); -wave_0_per_point14= -wave_0_per_point15=a=1-sample; -wave_0_per_point16= -wave_0_per_point17= -wave_0_per_point18= -wave_0_per_point19= -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=0.700000 -wavecode_1_b=0.200000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.283; -wave_1_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_1_per_point3= -wave_1_per_point4=xp=sin(n); -wave_1_per_point5=yp=cos(n); -wave_1_per_point6= -wave_1_per_point7=tm=q8 - sample; -wave_1_per_point8= -wave_1_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_1_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_1_per_point11= -wave_1_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_1_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_1_per_point14= -wave_1_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_1_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_1_per_point17= -wave_1_per_point18=x= xof + xran; -wave_1_per_point19=y= (1-yof) + yran; -wave_1_per_point20= -wave_1_per_point21=a=(1-sample); -wave_1_per_point22=g=g*(1-sample); -wave_1_per_point23=b=b*(1-sample) -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=0.780000 -wavecode_2_b=0.200000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.283; -wave_2_per_point2=n2=(sample-q8 - time*0.1)*6; -wave_2_per_point3= -wave_2_per_point4=xp=sin(n); -wave_2_per_point5=yp=cos(n); -wave_2_per_point6= -wave_2_per_point7=tm=q8 - sample; -wave_2_per_point8= -wave_2_per_point9=tx= sin(n2*13)*sin(n2*5) * sample * 0.05; -wave_2_per_point10=ty= cos(n2*13)*sin(n2*7) * sample * 0.05; -wave_2_per_point11= -wave_2_per_point12=xof=sin(tm) * sin(tm*3) * 0.4 + 0.5 + tx; -wave_2_per_point13=yof=cos(tm*1.3) * sin(tm*5.4) * 0.4 + 0.5 + ty; -wave_2_per_point14= -wave_2_per_point15=xran=(rand(10) - 5) * 0.0005; xran=xran*sample; -wave_2_per_point16=yran=(rand(10) - 5) * 0.0005; yran=yran*sample; -wave_2_per_point17= -wave_2_per_point18=x= xof + xran; -wave_2_per_point19=y= (1-yof) + yran; -wave_2_per_point20= -wave_2_per_point21=a=(1-sample); -wave_2_per_point22=g=g*(1-sample); -wave_2_per_point23=b=b*(1-sample) -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=1 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=xs=sin(sample*6.28); -wave_3_per_point2=ys=cos(sample*6.28); -wave_3_per_point3=xs=xs*0.7 + 0.5; -wave_3_per_point4=ys=ys*0.7 + 0.5; -wave_3_per_point5=xs=min(xs,0.958); -wave_3_per_point6=xs=max(xs,0.042); -wave_3_per_point7=ys=min(ys,0.988); -wave_3_per_point8=ys=max(ys,0.012); -wave_3_per_point9=x=xs;y=ys; -wave_3_per_point10= -wave_3_per_point11=n2=abs((sample*6.283)-3.1415); -wave_3_per_point12= -wave_3_per_point13=r=sin(n2+time)*0.5+0.5; -wave_3_per_point14=g=sin(n2+2.1+time)*0.5+0.5; -wave_3_per_point15=b=sin(n2+4.2+time)*0.5+0.5; -wave_3_per_point16= -wave_3_per_point17= -wave_3_per_point18=a=a * above(sin(n2*9+q8*2), sin(time) ) -shapecode_0_enabled=1 -shapecode_0_sides=5 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.110462 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=0.500000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=0.500000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3=ang=time -shapecode_1_enabled=1 -shapecode_1_sides=5 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.030000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=x=q1; -shape_1_per_frame2=y=1-q2; -shape_1_per_frame3=ang=time -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp=0; -per_frame_2=wave_r = wave_r + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_3=wave_b = wave_b - 0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.722)); -per_frame_4=wave_g = wave_g + 0.4*sin(time*1.931); -per_frame_5=wave_r = 0.2125*wave_r + 0.7154*wave_g + 0.0721*wave_b; -per_frame_6=wave_g = wave_r; -per_frame_7=wave_b = wave_r; -per_frame_8=vol = 0.167*(bass+mid); -per_frame_9=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_10=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_11=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=wave_x = 1.25*xpos + 0.5; -per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=wave_y = 1.25*ypos + 0.5; -per_frame_21=dx = dx + dx_residual; -per_frame_22=dy = dy + dy_residual; -per_frame_23=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_24=dx_residual = equal(bass_thresh,2)*0.003*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_25=dy_residual = equal(bass_thresh,2)*0.001*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_26=rot = 0.1; -per_frame_27= -per_frame_28=vol=(bass+mid+treb)*0.25; -per_frame_29=vol=vol*vol; -per_frame_30=mtime=mtime + vol*0.01; -per_frame_31=q8=mtime; -per_frame_32= -per_frame_33= -per_frame_34=q1=sin(mtime) * sin(mtime*3) * 0.4 + 0.5; -per_frame_35=q2=cos(mtime*1.3) * sin(mtime*5.4) * 0.4 + 0.5; -per_frame_36= -per_frame_37= -per_frame_38= -per_frame_39=ib_r = tan(time); -per_frame_40=ib_r = min(1, max(ib_r,0)); -per_frame_41= -per_frame_42=ib_g = tan(time+2.1); -per_frame_43=ib_g = min(1, max(ib_g,0)); -per_frame_44= -per_frame_45=ib_b = tan(time+4.2); -per_frame_46=ib_b = min(1, max(ib_b,0)); -per_frame_47= -per_frame_48=q3 = 10+8*(0.6*sin(0.223*time) + 0.4*sin(0.153*time)); -per_frame_49=q4 = 1/q3; -per_frame_50=q5 = 0.5*sign(xpos); -per_frame_51=q6 = 0.5*sign(ypos); -per_frame_52= -per_frame_53=monitor=q4 -per_frame_54= -per_frame_55= -per_pixel_1=cx = ((0&(x*q3-q5))+q5)*q4; -per_pixel_2=cy = ((0&(y*q3-q6))+q6)*q4; -per_pixel_3=newx = q1-x; -per_pixel_4=newy = q2-y; -per_pixel_5=newrad = sqrt((newx)*(newx)+0.5625*(newy)*(newy))*2; -per_pixel_6=newzoom = pow(1.05 + 0.03*newrad, pow(0.01+sin(newrad*newrad), newrad*2-1)); -per_pixel_7=dx = (newx)*newzoom - newx; -per_pixel_8=dy = (newy)*newzoom - newy; -per_pixel_9=dx =dx*0.1; -per_pixel_10=dy=dy*0.1; -per_pixel_11=rot = 2*newrad*(0.5*(0.5-rad)+0.1); -per_pixel_12=rot=rot*sin(time)*0.2; -per_pixel_13=//sx=-1 diff --git a/presets_projectM/Krash - Digital Flame.milk b/presets_projectM/Krash - Digital Flame.milk deleted file mode 100755 index a52a6ea437..0000000000 --- a/presets_projectM/Krash - Digital Flame.milk +++ /dev/null @@ -1,79 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.369700 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=53.523884 -fWarpScale=0.408391 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.699900 -wave_g=0.600000 -wave_b=0.800000 -wave_x=0.000000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=q1 = (bass_att + mid_att + treb_att) /3; -per_frame_2=q2 = time + 1000; -per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.4)*0.95+1.4); -per_frame_4=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.5)*0.85+1.2); -per_frame_5=bass_on = above(bass_thresh,1.9); -per_frame_6=treb_on = above(treb_thresh,1.9); -per_frame_7=swapcolour = bass_on - treb_on; -per_frame_8=red_aim = if(equal(swapcolour,1),1,if(equal(swapcolour,0),0.9,0.7)); -per_frame_9=green_aim = if(equal(swapcolour,1),0.7,if(equal(swapcolour,0),0.3,0.6)); -per_frame_10=blue_aim = if(equal(swapcolour,1),0,if(equal(swapcolour,0),0.2,0.8)); -per_frame_11=red = red + (red_aim - red)*0.5; -per_frame_12=green = green + (green_aim - green)*0.5; -per_frame_13=blue = blue + (blue_aim - blue)*0.5; -per_frame_14=wave_r = red; -per_frame_15=wave_g = green; -per_frame_16=wave_b = blue; -per_pixel_1=dy = -0.1*(q1-1)*log(2-(abs(y*2 - 1.8))); -per_pixel_2=dy = below(dy,0.02)*dy - 0.02; -per_pixel_3=dy = dy + 0.01*(sin((x*q2*0.483) + (y*q2*1.238)) + sin((x*q2*1.612) + (y*q2*0.648))); diff --git a/presets_projectM/Krash - Interwoven (Nightmare Weft Mix).milk b/presets_projectM/Krash - Interwoven (Nightmare Weft Mix).milk deleted file mode 100755 index 508bc94593..0000000000 --- a/presets_projectM/Krash - Interwoven (Nightmare Weft Mix).milk +++ /dev/null @@ -1,99 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=1.816695 -fVideoEchoAlpha=0.400000 -nVideoEchoOrientation=1 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.498315 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.950000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=31.199999 -nMotionVectorsY=2.280001 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=2.500000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=0.800000 -mv_a=0.100000 -per_frame_1=warp=0; -per_frame_2= -per_frame_3=framethird = frame%3; -per_frame_4= -per_frame_5=x1 = 0.5 + 0.15*sin(0.416*time) + 0.15*sin(0.832*time) + 0.1*sin(1.324*time); -per_frame_6=x2 = 0.5 + 0.15*sin(0.341*time) + 0.15*sin(0.768*time) + 0.1*sin(1.523*time); -per_frame_7=x3 = 0.5 + 0.15*sin(0.287*time) + 0.15*sin(0.913*time) + 0.1*sin(1.142*time); -per_frame_8=r1 = 0.5 + 0.15*sin(0.512*time) + 0.15*sin(0.943*time) + 0.1*sin(1.024*time); -per_frame_9=r2 = 0.5 + 0.15*sin(0.483*time) + 0.15*sin(0.879*time) + 0.1*sin(1.423*time); -per_frame_10=r3 = 0.5 + 0.15*sin(0.531*time) + 0.15*sin(0.671*time) + 0.1*sin(1.442*time); -per_frame_11=g1 = 0.5 + 0.15*sin(0.248*time) + 0.15*sin(0.829*time) + 0.1*sin(1.623*time); -per_frame_12=g2 = 0.5 + 0.15*sin(0.461*time) + 0.15*sin(0.699*time) + 0.1*sin(1.254*time); -per_frame_13=g3 = 0.5 + 0.15*sin(0.397*time) + 0.15*sin(0.768*time) + 0.1*sin(1.157*time); -per_frame_14=b1 = 0.5 + 0.15*sin(0.211*time) + 0.15*sin(0.652*time) + 0.1*sin(1.865*time); -per_frame_15=b2 = 0.5 + 0.15*sin(0.333*time) + 0.15*sin(0.978*time) + 0.1*sin(1.359*time); -per_frame_16=b3 = 0.5 + 0.15*sin(0.475*time) + 0.15*sin(0.791*time) + 0.1*sin(1.011*time); -per_frame_17=wave_x = if(equal(framethird,0),x1,if(equal(framethird,1),x2,x3)); -per_frame_18=wave_r = if(equal(framethird,0),r1,if(equal(framethird,1),r2,r3)); -per_frame_19=wave_g = if(equal(framethird,0),g1,if(equal(framethird,1),g2,g3)); -per_frame_20=wave_b = if(equal(framethird,0),b1,if(equal(framethird,1),b2,b3)); -per_frame_21= -per_frame_22=volume = 0.3*(bass+mid); -per_frame_23=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate); -per_frame_24=lastbeat = lastbeat + equal(lastbeat,0)*time; -per_frame_25=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_26=peakbass_att = max(bass_att,peakbass_att); -per_frame_27=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1)); -per_frame_28=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_29=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.99 + (1-above(time - lastbeat, 2*beatrate))*0.998); -per_frame_30=lastbeat = beat*time + (1-beat)*lastbeat; -per_frame_31=peakbass_att = max(peakbass_att,1.1*meanbass_att); -per_frame_32=dx = if(beat,1-2*rand(2),0); -per_frame_33=ob_a = if(beat,0,0.65); -per_frame_34=mv_a = if(beat,1,0.05); -per_pixel_1=dy = 0.004 + 0.0005*sin(10*x+0.459*time) + 0.0005*sin(14*x+0.325*time) + 0.0005*sin(1.231*time); -per_pixel_2=//dx = dx + 0.0001*sin(9*y+0.612*time) + 0.0001*sin(13*y+0.429*time) + 0.0001*sin(1.027*time); diff --git a/presets_projectM/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk b/presets_projectM/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk deleted file mode 100755 index 36c46ee3ef..0000000000 --- a/presets_projectM/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk +++ /dev/null @@ -1,72 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=2.000000 -fDecay=0.999000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bMotionVectorsOn=1 -bRedBlueStereo=0 -nMotionVectorsX=64 -nMotionVectorsY=1 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.115204 -fWaveScale=1.106638 -fWaveSmoothing=0.000000 -fWaveParam=-0.420000 -fModWaveAlphaStart=0.850000 -fModWaveAlphaEnd=1.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=0.042592 -fShader=0.000000 -zoom=1.000000 -rot=-0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=0.914340 -sy=0.951466 -wave_r=0.400000 -wave_g=0.400000 -wave_b=0.400000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -per_frame_1=warp=warp/bass; -per_frame_2=dx=-0.0005; -per_frame_3=dy=-0.0005; -per_frame_4=x_wave_x = 0.5+0.3*sin(bass+treb+mid); -per_frame_5=wave_r = 1 + sin(-x_wave_x*6.28); -per_frame_6=wave_g = abs(sin(2*x_wave_x*6.28)); -per_frame_7=wave_b = sin(x_wave_x*6.28); -per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1); -per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect); -per_frame_10=zoom = net_effect*bass_att; -per_frame_11=rot = rot + rot_residual*.5; -per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_13=shift = (tan(time*7)) -0.05; -per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift)); -per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual); -per_pixel_1=rot = rot + if(equal(sin(ang), 1), rot, sin(1-rad)/2); diff --git a/presets_projectM/M.tga b/presets_projectM/M.tga deleted file mode 100644 index a274bac87c..0000000000 Binary files a/presets_projectM/M.tga and /dev/null differ diff --git a/presets_projectM/Mstress & Darius - Pursuing The Sunset.milk b/presets_projectM/Mstress & Darius - Pursuing The Sunset.milk deleted file mode 100755 index 2b05f2048e..0000000000 --- a/presets_projectM/Mstress & Darius - Pursuing The Sunset.milk +++ /dev/null @@ -1,279 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.000000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=43 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.124757 -wavecode_0_smoothing=0.770000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = 0.5 + 0.5*sin(time*143.21); -wave_0_per_frame1=r = .5+.1*sin(time*4);//min(1,max(0,(bass-1))); -wave_0_per_frame2=b = 0;// + 0.5*sin(time*1.561 + 2); -wave_0_per_frame3=g = .3+.1*sin(time*3);//0.5 + 0.5*sin(time*1.213 + 4); -wave_0_per_frame4=t1 = 0; -wave_0_per_frame5=t8 = .5; -wave_0_per_point1=//x = t8 + value1*0.7; -wave_0_per_point2=//y = 0.5 + value2*0.9 ; -wave_0_per_point3=//t1 = t1 + 0.01; -wave_0_per_point4=//b = x; -wave_0_per_point5=//a = 0.5 + 0.5*sin(time + t1*67); -wave_0_per_point6=//a = a*a*a; -wave_0_per_point7=//x=.5+.4*sin(time)*sample; -wave_0_per_point8=//y =.5+.4*sin(time)*bass; -wave_0_per_point9=x =sample; -wave_0_per_point10=y=.519;//*sample;//3e; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=b = 1;//.8*bass; -wave_1_per_point2=r=0; -wave_1_per_point3=g=.3; -wave_1_per_point4=x=1*sin((sample*5)); -wave_1_per_point5=y=.5+.2*(value1*2); -wave_1_per_point6=a = value2*1000; -wave_1_per_point7=y =if(above(y,.51),.51,y); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.300000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x = .5+.3*sin(time*2); -shape_0_per_frame2=y = .5+.3*sin(time*1); -shape_0_per_frame3=ang = sin(time*9); -shape_0_per_frame4=a = 1; -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.730000 -shapecode_1_y=0.670000 -shapecode_1_rad=0.220000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.763267 -shapecode_1_r=0.740000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.640000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.180001 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=rad = rad +.004*bass; -shape_1_per_frame2=r = .1+.7*bass; -shape_1_per_frame3=g = .1+.5*mid; -shape_1_per_frame4=b = .1+.6*treb; -shape_1_per_frame5=//x = .5+.35*sin(time*.4); -shape_1_per_frame6=//y = .5+.2*cos(sin(time)*1); -shape_1_per_frame7= -shape_1_per_frame8=x = x + .02*sin(time*2); -shape_1_per_frame9=y = y + .01*sin(time*4); -shape_1_per_frame10= -shape_1_per_frame11=r2 = r2+.001*bass; -shape_1_per_frame12=g2 = g2+.3+.21*mid; -shape_1_per_frame13=b2 = b2+.21*treb; -shape_1_per_frame14= -shapecode_2_enabled=0 -shapecode_2_sides=32 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.390000 -shapecode_2_y=0.340000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.610000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.520000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=rad = rad +.04*bass; -shape_2_per_frame2=r = .1+.7*bass; -shape_2_per_frame3=g = .1+.5*mid; -shape_2_per_frame4=b = .1+.6*treb; -shape_2_per_frame5= -shape_2_per_frame6=b = .1+.6*treb; -shape_2_per_frame7=x = .5+.2*-1*sin(time); -shape_2_per_frame8=y = .5+.2*cos(sin(time)+3); -shape_2_per_frame9=r2 = r2+.1*bass; -shape_2_per_frame10=g2 = 1;//+.1*mid; -shape_2_per_frame11=b2 = b2+.16*treb; -shapecode_3_enabled=1 -shapecode_3_sides=3 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.000000 -shapecode_3_rad=0.304785 -shapecode_3_ang=1.822124 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=1.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -shape_3_per_frame1=rad = rad +.044*bass; -shape_3_per_frame2=r = .1+.7*bass; -shape_3_per_frame3=g = .1+.5*mid; -shape_3_per_frame4=b = .1+.6*treb; -shape_3_per_frame5=//x = .5+.2*sin(time); -shape_3_per_frame6=//y = .5+.2*cos(sin(time)*1); -shape_3_per_frame7= -shape_3_per_frame8=r2 = r2+.001*bass; -shape_3_per_frame9=g2 = g2+.3+.21*mid; -shape_3_per_frame10=b2 = b2+.21*treb; -shape_3_per_frame11= -shape_3_per_frame12=ang=ang-.3*sin(time*.2) -per_frame_1=decay=.99; -per_pixel_1=DY =dy-.004*below(y,.47)*(rad+.1)*bass;//*(1-below(y,.50)*above(y,.479)); -per_pixel_2=zoom=zoom+above(y,.49)*.1; -per_pixel_3=sx = sy-below(y,.40)*.001; -per_pixel_4=dx=dx+.01*sin(time*.2); -per_pixel_5=rot=rot+.051*below(y,.47);//*(1-below(y,.49)*above(y,.47)); -per_pixel_6=cx=int(x*16)/16; -per_pixel_7=cy=int(y*16)/16; diff --git a/presets_projectM/Mstress - Acid Universes (Big Bang Interferences Mix).milk b/presets_projectM/Mstress - Acid Universes (Big Bang Interferences Mix).milk deleted file mode 100755 index 4339751ef3..0000000000 --- a/presets_projectM/Mstress - Acid Universes (Big Bang Interferences Mix).milk +++ /dev/null @@ -1,218 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.380000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.898000 -mv_dy=-0.927998 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=43 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.593334 -wavecode_0_smoothing=0.770000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = 0.5 + 0.5*sin(time*143.21); -wave_0_per_frame1=r = min(1,max(0,(bass-1))); -wave_0_per_frame2=b = 0.5 + 0.5*sin(time*1.561 + 2); -wave_0_per_frame3=g = 0.5 + 0.5*sin(time*1.213 + 4); -wave_0_per_frame4=t1 = 0; -wave_0_per_frame5=t8 = .5; -wave_0_per_point1=x = t8 + value1*0.7; -wave_0_per_point2=y = 0.5 + value2*0.9 ; -wave_0_per_point3=t1 = t1 + 0.01; -wave_0_per_point4=b = x; -wave_0_per_point5=a = 0.5 + 0.5*sin(time + t1*67); -wave_0_per_point6=a = a*a*a; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=x=.22+.7*sin(x*5); -wave_1_per_point2=y=.5+.2*sin(x*19+time); -wave_1_per_point3=a = 1; -wave_1_per_point4=b = .3*bass*1; -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.300000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shape_0_per_frame1=x = .5+.3*sin(time*2); -shape_0_per_frame2=y = .5+.3*sin(time*1); -shape_0_per_frame3=ang = sin(time*9); -shape_0_per_frame4=a = 1; -shapecode_1_enabled=1 -shapecode_1_sides=32 -shapecode_1_additive=0 -shapecode_1_thickOutline=1 -shapecode_1_x=0.620000 -shapecode_1_y=0.680000 -shapecode_1_rad=0.080000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.740000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.640000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shape_1_per_frame1=rad = rad +.04*bass; -shape_1_per_frame2=r = .1+.7*bass; -shape_1_per_frame3=g = .1+.5*mid; -shape_1_per_frame4=b = .1+.6*treb; -shape_1_per_frame5=x = .5+.2*sin(time); -shape_1_per_frame6=y = .5+.2*cos(sin(time)*1); -shape_1_per_frame7= -shape_1_per_frame8=r2 = r2+.001*bass; -shape_1_per_frame9=g2 = g2+.21*mid; -shape_1_per_frame10=b2 = b2+.21*treb; -shape_1_per_frame11= -shapecode_2_enabled=1 -shapecode_2_sides=32 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.390000 -shapecode_2_y=0.340000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.610000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.520000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=1.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=rad = rad +.04*bass; -shape_2_per_frame2=r = .1+.7*bass; -shape_2_per_frame3=g = .1+.5*mid; -shape_2_per_frame4=b = .1+.6*treb; -shape_2_per_frame5= -shape_2_per_frame6=b = .1+.6*treb; -shape_2_per_frame7=x = .5+.2*-1*sin(time); -shape_2_per_frame8=y = .5+.2*cos(sin(time)+3); -shape_2_per_frame9=r2 = r2+.1*bass; -shape_2_per_frame10=g2 = 1;//+.1*mid; -shape_2_per_frame11=b2 = b2+.16*treb; -per_pixel_1=mx= x-.5; -per_pixel_2=my = y-.5; -per_pixel_3=zoom= zoom - above(rad-0.18,0)*0.05*rad*.9; -per_pixel_4=dx = above(rad-(2-bass_att)*.2,0)*0.015*(mx/if(above(rad,0),rad,.1)); -per_pixel_5=dy = above(rad-(2-bass_att)*.2,0)*0.015*(my/if(above(rad,0),rad,.1)); -per_pixel_6= -per_pixel_7= -per_pixel_8=//zoom = zoom-.051*rad; -per_pixel_9=//rot = rot +.1*sin(time); -per_pixel_10=circle = 3*(max(bass-.5,0.4))*rad*rad; -per_pixel_11=q1 = 1.55+0.5*(sin(x+0.237*time)-cos(y+0.513*time)); -per_pixel_12=zoom = if(above(circle,1),q1*.1,zoom);//1-0.3*log(sqrt(2)-rad)); -per_pixel_13=dx = if(above(circle,1),1.3*sin(x+0.542*time),dx); -per_pixel_14=dy= if(above(circle,1),1.3*sin(y+0.581*time),dy); diff --git a/presets_projectM/Mstress - Aurora Boreale.milk b/presets_projectM/Mstress - Aurora Boreale.milk deleted file mode 100755 index 1b4f4989a2..0000000000 --- a/presets_projectM/Mstress - Aurora Boreale.milk +++ /dev/null @@ -1,170 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.963999 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.000000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.000000 -nMotionVectorsX=28.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=16 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=2.279692 -wavecode_0_smoothing=0.700000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = time; -wave_0_per_frame1=t7 = t8; -wave_0_per_frame2=t8 = time; -wave_0_per_point1=x = 0.5 + sin(sample*10 + time*0.1); -wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); -wave_0_per_point3=b=abs(sin(sample*100+time)); -wave_0_per_point4=r=abs(sin(sample*512+time)); -wave_0_per_point5=g=abs(sin(sample*10+time)); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 diff --git a/presets_projectM/Mstress - Curtain.milk b/presets_projectM/Mstress - Curtain.milk deleted file mode 100755 index b7b4c9cc83..0000000000 --- a/presets_projectM/Mstress - Curtain.milk +++ /dev/null @@ -1,215 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.000000 -fDecay=0.963999 -fVideoEchoZoom=1.168096 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.003300 -fWaveScale=0.572643 -fWaveSmoothing=0.000000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.240000 -fModWaveAlphaEnd=1.300001 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.999998 -fShader=0.000000 -zoom=1.000509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000022 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.035000 -ob_r=0.340000 -ob_g=0.340000 -ob_b=0.340000 -ob_a=0.380000 -ib_size=0.020000 -ib_r=0.340000 -ib_g=0.340000 -ib_b=0.340000 -ib_a=0.210000 -nMotionVectorsX=28.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=16 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=2.279692 -wavecode_0_smoothing=0.700000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=t8 = time; -wave_0_per_frame1=t7 = t8; -wave_0_per_frame2=t8 = time; -wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1); -wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5); -wave_0_per_point3=b=abs(sin(sample*100+time)); -wave_0_per_point4=r=abs(sin(sample*512+time)); -wave_0_per_point5=g=abs(sin(sample*10+time)); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 diff --git a/presets_projectM/Phat_Eo.S. - our own personal demon.milk b/presets_projectM/Phat_Eo.S. - our own personal demon.milk deleted file mode 100755 index 644513ef56..0000000000 --- a/presets_projectM/Phat_Eo.S. - our own personal demon.milk +++ /dev/null @@ -1,345 +0,0 @@ -[preset00] -fRating=0.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.05; -wave_0_per_point4=yp=cos(smp )*0.05; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15=ib_r=tan(time*1); -per_frame_16=ib_r=min(ib_r,1); -per_frame_17=ib_r=max(ib_r,0); -per_frame_18=ib_g=tan(time*1+2.1); -per_frame_19=ib_g=min(ib_g,1); -per_frame_20=ib_g=max(ib_g,0); -per_frame_21=ib_b=tan(time*1+4.2); -per_frame_22=ib_b=min(ib_b,1); -per_frame_23=ib_b=max(ib_b,0); -per_frame_24= -per_frame_25=ob_r=ib_r-0.5; -per_frame_26=ob_g=ib_g-0.5; -per_frame_27=ob_b=ib_b-0.5; -per_frame_28=q1=ib_r; -per_frame_29=q2=ib_g; -per_frame_30=q3=ib_b; -per_frame_31= -per_frame_32= -per_frame_33= -per_frame_34=decay = 0.9999; -per_frame_35= -per_frame_36= -per_frame_37=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_38=//solarize=above(0.5,bass); -per_frame_39=//darken=above(0.4,treb); -per_frame_40= -per_frame_41=musictime=musictime+(mid*mid*mid)*0.02; -per_frame_42= -per_frame_43=xpos=sin(musictime*0.6)*0.6; -per_frame_44=ypos=sin(musictime*0.4)*0.6; -per_frame_45=q4=xpos; -per_frame_46=q5=ypos; -per_frame_47= -per_frame_48=zoom=.98 + min(bass,1)*0.04 -per_frame_49= -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=//zoom=-1; -per_pixel_9=sx=-1+(bass*0.2); -per_pixel_10=sy=-1-(treb*0.2); -per_pixel_11= -per_pixel_12=cx=0.5+q4; -per_pixel_13=cy=0.5-q5; -per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_15=//zm=(1.1-(rd/4)); -per_pixel_16=zm=.98; -per_pixel_17= -per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; -per_pixel_20=zm=zm+star/20; -per_pixel_21=sx=zm; -per_pixel_22=sy=zm; -per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets_projectM/Phat_Eo.S._Algorithm.milk b/presets_projectM/Phat_Eo.S._Algorithm.milk deleted file mode 100755 index 5f12549953..0000000000 --- a/presets_projectM/Phat_Eo.S._Algorithm.milk +++ /dev/null @@ -1,348 +0,0 @@ -[preset00] -fRating=0.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.550335 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=1 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=1 -shapecode_3_sides=100 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3=ib_r=tan(time*2); -per_frame_4=ib_r=min(ib_r,1); -per_frame_5=ib_r=max(ib_r,0); -per_frame_6=ib_g=tan(time*2+2.1); -per_frame_7=ib_g=min(ib_g,1); -per_frame_8=ib_g=max(ib_g,0); -per_frame_9=ib_b=tan(time*2+4.2); -per_frame_10=ib_b=min(ib_b,1); -per_frame_11=ib_b=max(ib_b,0); -per_frame_12=//ib_r=1-ib_r; -per_frame_13=//ib_g=1-ib_g; -per_frame_14=//ib_b=1-ib_b; -per_frame_15= -per_frame_16=ob_r=ib_r-0.5; -per_frame_17=ob_g=ib_g-0.5; -per_frame_18=ob_b=ib_b-0.5; -per_frame_19=q1=ib_r; -per_frame_20=q2=ib_g; -per_frame_21=q3=ib_b; -per_frame_22= -per_frame_23= -per_frame_24= -per_frame_25=decay = 1; -per_frame_26= -per_frame_27= -per_frame_28=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_29=//solarize=above(0.5,bass); -per_frame_30=//darken=above(0.4,treb); -per_frame_31= -per_frame_32=musictime=musictime+(mid*mid*mid)*0.01; -per_frame_33= -per_frame_34=xpos=sin(musictime*0.4)*0.2; -per_frame_35=ypos=sin(musictime*0.4)*0.2; -per_frame_36=q4=xpos; -per_frame_37=q5=ypos -per_frame_38= -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=-.96-(bass*0.03); -per_pixel_9= -per_pixel_10=//cx=0.5+q4; -per_pixel_11=//cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=1; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=sin(rd/5)*(2-rd); -per_pixel_18=zm=zm+star/20; -per_pixel_19=sx=zm; -per_pixel_20=sy=zm; -per_pixel_21=rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_22=dx=sin(y*140)*(bass*0.005)*sin(ag); -per_pixel_23=dy=cos(x*140)*(bass*0.005)*cos(ag); -per_pixel_24= -per_pixel_25= -per_pixel_26= -per_pixel_27=sect_a=if ( below(x,0.333), 1, 0 ); -per_pixel_28=sect_b=if ( below(x,0.666), 1, 0 ); -per_pixel_29=sect_b=if ( above(x,0.333), sect_b, 0 ); -per_pixel_30=sect_c=if ( above(x,0.666), 1, 0 ); -per_pixel_31= -per_pixel_32=cy_a=( bass_att)*q1 + 0.5 +rd-ag; -per_pixel_33=cy_b=( bass_att)*q2 - 1.2 +ag; -per_pixel_34=cy_c=( bass_att)*q3 + 0.5 +rd-ag; -per_pixel_35= -per_pixel_36=cx=(sect_a*0.166 + sect_b*0.5 + sect_c*0.833)*rd; -per_pixel_37=cy=(sect_a/cy_a + sect_b/cy_b + sect_c/cy_c)*rd; diff --git a/presets_projectM/Phat_Eo.S_shoot_em_up.milk b/presets_projectM/Phat_Eo.S_shoot_em_up.milk deleted file mode 100755 index 312b8eed93..0000000000 --- a/presets_projectM/Phat_Eo.S_shoot_em_up.milk +++ /dev/null @@ -1,395 +0,0 @@ -[preset00] -fRating=1.000000 -fGammaAdj=1.420000 -fDecay=0.960000 -fVideoEchoZoom=0.996623 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.011726 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=0.010284 -fWarpScale=0.010000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.400000 -wave_b=0.300000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.110000 -ob_g=0.000000 -ob_b=0.100000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=3.000000 -nMotionVectorsY=2.000000 -mv_dx=0.020000 -mv_dy=-0.020000 -mv_l=0.150000 -mv_r=0.490000 -mv_g=0.480000 -mv_b=0.300001 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=1 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=0.800000 -wavecode_0_b=0.100000 -wavecode_0_a=1.000000 -wave_0_per_point1=n=sample*6.28; -wave_0_per_point2= -wave_0_per_point3=xp=sin(n)*.3; -wave_0_per_point4=yp=cos(n)*.3; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7=scale=tan(n*(sin(time/10)*10))*.5+.5; -wave_0_per_point8=scale=min(scale,(.5+(bass*.5))); -wave_0_per_point9=scale=max(scale,-.5); -wave_0_per_point10= -wave_0_per_point11=xp=xp*scale; -wave_0_per_point12=yp=yp*scale; -wave_0_per_point13= -wave_0_per_point14=zp=max(0.5-min(abs(scale),0.5)*2,0); -wave_0_per_point15= -wave_0_per_point16=zp=pow(1-zp,2)*0.25; -wave_0_per_point17= -wave_0_per_point18=//rotate on x axis -wave_0_per_point19=ang=time*0.5; -wave_0_per_point20=xq=xp; -wave_0_per_point21=yq=yp*sin(ang) + zp*cos(ang); -wave_0_per_point22=zq=yp*cos(ang) - zp*sin(ang); -wave_0_per_point23= -wave_0_per_point24=//rotate on y axis -wave_0_per_point25=ang=time; -wave_0_per_point26=xp=xq*sin(ang) + zq*cos(ang); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=xq*cos(ang) - zq*sin(ang); -wave_0_per_point29= -wave_0_per_point30= -wave_0_per_point31=//push forward into viewspace -wave_0_per_point32=zp=zp+1.1; -wave_0_per_point33= -wave_0_per_point34=//project into screenspace -wave_0_per_point35=xs=xp/zp; -wave_0_per_point36=ys=yp/zp; -wave_0_per_point37= -wave_0_per_point38= -wave_0_per_point39=x=xs+.5; -wave_0_per_point40=y=ys*1.3+.5; -wave_0_per_point41= -wave_0_per_point42=r=(sin(time)*.5+.5)*.5; -wave_0_per_point43=g=(cos(time/2)*.5+.5)*.8; -wave_0_per_point44=b=tan(time); -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=1 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=n=sample*6.28; -wave_1_per_point2=xp=sin(n*32+n)*.07; -wave_1_per_point3=yp=cos(n*32+n)*.07; -wave_1_per_point4=zp=0; -wave_1_per_point5= -wave_1_per_point6=//rotate on y during waveform draw -wave_1_per_point7=ang=n*0.5; -wave_1_per_point8=xr=xp*sin(ang) + zp*cos(ang); -wave_1_per_point9=yr=yp; -wave_1_per_point10=zr=xp*cos(ang) - zp*sin(ang); -wave_1_per_point11=zr=zr-0.3; -wave_1_per_point12= -wave_1_per_point13= -wave_1_per_point14=//rotate on x axis -wave_1_per_point15=ang=time*0.5; -wave_1_per_point16=xq=xr; -wave_1_per_point17=yq=yr*sin(ang) + zr*cos(ang); -wave_1_per_point18=zq=yr*cos(ang) - zr*sin(ang); -wave_1_per_point19= -wave_1_per_point20=//rotate on y axis -wave_1_per_point21=ang=time; -wave_1_per_point22=xp=xq*sin(ang) + zq*cos(ang); -wave_1_per_point23=yp=yq; -wave_1_per_point24=zp=xq*cos(ang) - zq*sin(ang); -wave_1_per_point25= -wave_1_per_point26= -wave_1_per_point27=//push forward into viewspace -wave_1_per_point28=zp=zp+1.1; -wave_1_per_point29= -wave_1_per_point30=//project into screenspace -wave_1_per_point31=xs=xp/zp; -wave_1_per_point32=ys=yp/zp; -wave_1_per_point33= -wave_1_per_point34= -wave_1_per_point35=x=xs+.5; -wave_1_per_point36=y=ys*1.3+.5; -wave_1_per_point37= -wave_1_per_point38=g=(cos(time)*.5+.5)*.5; -wave_1_per_point39=b=(sin(time/2)*.5+.5)*.8; -wave_1_per_point40=r=tan(time); -wavecode_2_enabled=1 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=1 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=n=sample*6.28; -wave_2_per_point2=xp=sin(n*32)*.03; -wave_2_per_point3=yp=cos(n*32)*.03; -wave_2_per_point4=zp=0; -wave_2_per_point5= -wave_2_per_point6=scale=sin(n*32*6)*0.5+0.5; -wave_2_per_point7=scale=scale*(sin(n*6)*0.5+0.5); -wave_2_per_point8=scale=scale*mid_att*mid_att*0.5; -wave_2_per_point9=xp=xp*(1+scale); -wave_2_per_point10=yp=yp*(1+scale); -wave_2_per_point11= -wave_2_per_point12=//rotate on y during waveform draw -wave_2_per_point13=ang=n*0.5; -wave_2_per_point14=xr=xp*sin(ang) + zp*cos(ang); -wave_2_per_point15=yr=yp; -wave_2_per_point16=zr=xp*cos(ang) - zp*sin(ang); -wave_2_per_point17=xr=xr+0.11; -wave_2_per_point18= -wave_2_per_point19=//orbit rotation -wave_2_per_point20=ang=time*4; -wave_2_per_point21=xp=xr*sin(ang) + zr*cos(ang); -wave_2_per_point22=yp=yr; -wave_2_per_point23=zp=xr*cos(ang) - zr*sin(ang); -wave_2_per_point24= -wave_2_per_point25= -wave_2_per_point26= -wave_2_per_point27= -wave_2_per_point28=zp=zp-0.3; -wave_2_per_point29= -wave_2_per_point30= -wave_2_per_point31=//rotate on x axis -wave_2_per_point32=ang=time*0.5; -wave_2_per_point33=xq=xp; -wave_2_per_point34=yq=yp*sin(ang) + zp*cos(ang); -wave_2_per_point35=zq=yp*cos(ang) - zp*sin(ang); -wave_2_per_point36= -wave_2_per_point37=//rotate on y axis -wave_2_per_point38=ang=time; -wave_2_per_point39=xp=xq*sin(ang) + zq*cos(ang); -wave_2_per_point40=yp=yq; -wave_2_per_point41=zp=xq*cos(ang) - zq*sin(ang); -wave_2_per_point42= -wave_2_per_point43= -wave_2_per_point44=//push forward into viewspace -wave_2_per_point45=zp=zp+1.1; -wave_2_per_point46= -wave_2_per_point47=//project into screenspace -wave_2_per_point48=xs=xp/zp; -wave_2_per_point49=ys=yp/zp; -wave_2_per_point50= -wave_2_per_point51= -wave_2_per_point52=x=xs+.5; -wave_2_per_point53=y=ys*1.3+.5; -wave_2_per_point54= -wave_2_per_point55=g=(cos(time)*.5+.5)*.5; -wave_2_per_point56=r=(cos(time/2)*.5+.5)*.8; -wave_2_per_point57=b=tan(time); -wavecode_3_enabled=1 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=0.300000 -wavecode_3_g=0.700000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=n=sample*6.28; -wave_3_per_point2=ends=sin(sample*3.1415); -wave_3_per_point3=xp=value1*4*ends; -wave_3_per_point4=yp=value2*4*ends; -wave_3_per_point5=zp=-0.23 + sample*0.3; -wave_3_per_point6= -wave_3_per_point7=//rotate on x axis -wave_3_per_point8=ang=time*0.5; -wave_3_per_point9=xq=xp; -wave_3_per_point10=yq=yp*sin(ang) + zp*cos(ang); -wave_3_per_point11=zq=yp*cos(ang) - zp*sin(ang); -wave_3_per_point12= -wave_3_per_point13=//rotate on y axis -wave_3_per_point14=ang=time; -wave_3_per_point15=xp=xq*sin(ang) + zq*cos(ang); -wave_3_per_point16=yp=yq; -wave_3_per_point17=zp=xq*cos(ang) - zq*sin(ang); -wave_3_per_point18= -wave_3_per_point19= -wave_3_per_point20=//push forward into viewspace -wave_3_per_point21=zp=zp+1.1; -wave_3_per_point22= -wave_3_per_point23=//project into screenspace -wave_3_per_point24=xs=xp/zp; -wave_3_per_point25=ys=yp/zp; -wave_3_per_point26= -wave_3_per_point27= -wave_3_per_point28=x=xs+.5; -wave_3_per_point29=y=ys*1.3+.5; -wave_3_per_point30= -wave_3_per_point31=a=max(treb-1,0)*2 -shapecode_0_enabled=0 -shapecode_0_sides=4 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.100000 -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_init_1=mv_x=64;mv_y=48; -per_frame_init_2=nut=0; -per_frame_init_3=stp=0;stq=0; -per_frame_init_4=rtp=0;rtq=0; -per_frame_init_5=wvr=0; -per_frame_init_6=decay=0; -per_frame_init_7=dcsp=0 -per_frame_init_8= -per_frame_1=decay=0.97; -per_frame_2=zoom=1.000; -per_frame_3=sx=1.005; -per_frame_4=sy=1.001 -per_frame_5= -per_frame_6= -per_frame_7= -per_frame_8= diff --git a/presets_projectM/Phat_Rovastar_Eo.S. spiral_faces.milk b/presets_projectM/Phat_Rovastar_Eo.S. spiral_faces.milk deleted file mode 100755 index ebc9877f9e..0000000000 --- a/presets_projectM/Phat_Rovastar_Eo.S. spiral_faces.milk +++ /dev/null @@ -1,345 +0,0 @@ -[preset00] -fRating=0.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=//ob_r=ib_r-0.5; -per_frame_18=//ob_g=ib_g-0.5; -per_frame_19=//ob_b=ib_b-0.5; -per_frame_20=q1=ib_r; -per_frame_21=q2=ib_g; -per_frame_22=q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay = 1; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; -per_frame_34= -per_frame_35=xpos=sin(musictime*0.6)*0.3; -per_frame_36=ypos=sin(musictime*0.4)*0.3; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos; -per_frame_39= -per_frame_40=ob_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); -per_frame_41=ob_g = 0.6- 0.4*sin(time*2.924); -per_frame_42=ob_b = 0.35 - 0.3*cos(time*0.816); -per_frame_43=// = cx - 0.1*sin(time*0.342); -per_frame_44=// = cy + 0.1*sin(time*0.433); -per_frame_45=//warp =0; -per_frame_46=ib_size = 0.02; -per_frame_47=ib_r = ib_r + 0.5*sin(time*3.034); -per_frame_48=ib_g = ib_g + 0.5*sin(time*2.547); -per_frame_49=ib_b = ib_b - 0.5*sin(time*1.431); -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=.99; -per_pixel_9= -per_pixel_10=cx=0.5+q4; -per_pixel_11=cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=.99; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=sin(ag/5)*(2-rd); -per_pixel_18=zm=zm+star/20; -per_pixel_19=sx=zm; -per_pixel_20=sy=zm; -per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); -per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets_projectM/Phat_Zylot_Eo.S. spiral_faces_multi colour_ThisIsJustNotResponsible =).milk b/presets_projectM/Phat_Zylot_Eo.S. spiral_faces_multi colour_ThisIsJustNotResponsible =).milk deleted file mode 100755 index 7c387bebe4..0000000000 --- a/presets_projectM/Phat_Zylot_Eo.S. spiral_faces_multi colour_ThisIsJustNotResponsible =).milk +++ /dev/null @@ -1,339 +0,0 @@ -[preset00] -fRating=0.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=12.799995 -nMotionVectorsY=38.400002 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.800001 -mv_r=0.440000 -mv_g=0.650000 -mv_b=0.810000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.20; -wave_0_per_point4=yp=cos(smp )*0.20; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=//ob_r=ib_r-0.5; -per_frame_18=//ob_g=ib_g-0.5; -per_frame_19=//ob_b=ib_b-0.5; -per_frame_20=//q1=ib_r; -per_frame_21=//q2=ib_g; -per_frame_22=//q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay = 1; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; -per_frame_34= -per_frame_35=xpos=sin(musictime*0.6)*0.3; -per_frame_36=ypos=sin(musictime*0.4)*0.3; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos; -per_frame_39= -per_frame_40=ob_r = ob_r + 0.5*sin(time*1.13); -per_frame_41=ob_g = ob_g + 0.5*sin(time*1.23); -per_frame_42=ob_b = ob_b + 0.5*sin(time*1.33); -per_frame_43=invert=above(sin(time*200),0.5); -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=zoom=.99; -per_pixel_9= -per_pixel_10=cx=0.5+q4; -per_pixel_11=cy=0.5-q5; -per_pixel_12=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_13=//zm=(1.1-(rd/4)); -per_pixel_14=zm=.99; -per_pixel_15= -per_pixel_16=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_17=star=sin(ag/5)*(2-rd); -per_pixel_18=zm=zm+star/20; -per_pixel_19=sx=zm; -per_pixel_20=sy=zm; -per_pixel_21=//rot=above(rd,0.7)/(rd+7)*(bass_att*0.1)/rd; -per_pixel_22=dx=sin(y*100)*(bass*0.005)*ag/(rd*5); -per_pixel_23=dy=cos(x*100)*(bass*0.005)*ag/(rd*5); diff --git a/presets_projectM/Phat_Zylot_Eo.S._Krash I_hope_someone_will_see_this_triping_v2b.milk b/presets_projectM/Phat_Zylot_Eo.S._Krash I_hope_someone_will_see_this_triping_v2b.milk deleted file mode 100755 index 1e12133db5..0000000000 --- a/presets_projectM/Phat_Zylot_Eo.S._Krash I_hope_someone_will_see_this_triping_v2b.milk +++ /dev/null @@ -1,351 +0,0 @@ -[preset00] -fRating=0.000000 -fGammaAdj=1.000000 -fDecay=0.925000 -fVideoEchoZoom=1.001829 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=1 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=2.850136 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.005000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=63.936001 -nMotionVectorsY=47.952000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=0.200000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_frame1=basstime=basstime+(bass*bass); -wave_0_per_frame2=t1=basstime*0.003; -wave_0_per_frame3= -wave_0_per_point1=//plot x,y,z to point on circle -wave_0_per_point2=smp=sample*6.283; -wave_0_per_point3=xp=sin(smp )*0.05; -wave_0_per_point4=yp=cos(smp )*0.05; -wave_0_per_point5=zp=0; -wave_0_per_point6= -wave_0_per_point7= -wave_0_per_point8=//alter shape; -wave_0_per_point9=angy=sin(sample*6.28*4 +t1 )*6.28; -wave_0_per_point10=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point11=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point12=xp=xq; -wave_0_per_point13=zp=zq; -wave_0_per_point14= -wave_0_per_point15= -wave_0_per_point16=//rotate on y axis; -wave_0_per_point17=angy=t1*0.1; -wave_0_per_point18=xq=xp*cos(angy) - zp*sin(angy); -wave_0_per_point19=zq=xp*sin(angy) + zp*cos(angy); -wave_0_per_point20=xp=xq; -wave_0_per_point21=zp=zq; -wave_0_per_point22= -wave_0_per_point23=//rotate on x axis -wave_0_per_point24=axs1 = sin(t1*0.15) + 1.6; -wave_0_per_point25=yq= yp*cos(axs1) - zp*sin(axs1); -wave_0_per_point26=zq= yp*sin(axs1) + zp*cos(axs1); -wave_0_per_point27=yp=yq; -wave_0_per_point28=zp=zq; -wave_0_per_point29= -wave_0_per_point30=//rotate on y axis again -wave_0_per_point31=axs2 = sin(t1*0.1)*3.3; -wave_0_per_point32=xq=xp*cos(axs2) - zp*sin(axs2); -wave_0_per_point33=zq=xp*sin(axs2) + zp*cos(axs2); -wave_0_per_point34=xp=xq; -wave_0_per_point35=zp=zq; -wave_0_per_point36= -wave_0_per_point37=//stretch y axis to compensate for aspect ratio -wave_0_per_point38=yp=yp*1.2; -wave_0_per_point39= -wave_0_per_point40=//push forward into viewpace -wave_0_per_point41=zp=zp+2.1; -wave_0_per_point42= -wave_0_per_point43=//project x,y,z into screenspace -wave_0_per_point44=xs=xp/zp; -wave_0_per_point45=ys=yp/zp; -wave_0_per_point46= -wave_0_per_point47=//center 0,0 in middle of screen -wave_0_per_point48=x=xs+0.5+q4; -wave_0_per_point49=y=ys+0.5+q5; -wave_0_per_point50= -wave_0_per_point51=r=1-q1; -wave_0_per_point52=g=1-q2; -wave_0_per_point53=b=1-q3; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=23 -shapecode_0_additive=1 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.700000 -shapecode_0_rad=0.154930 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=0.010000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=y=bass_att*0.5+0.2; -shape_0_per_frame2=x=cos(time*2)*0.5+0.5; -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=1.801999 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=3.141593 -shapecode_1_tex_zoom=0.572684 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=//ang = ang + (bass*.2) + (time*.4); -shape_1_per_frame2=//rad=1.781+(bass*0.025); -shape_1_per_frame3=ang=above(0.5,treb_att)*.063; -shapecode_2_enabled=0 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.900000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=0.010000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -shape_2_per_frame1=x = sin(time*5) * .4 + .5; -shape_2_per_frame2=y=treb_att*0.5; -shape_2_per_frame3= -shape_2_per_frame4=pow( (bass*.15),2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.033004 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=0.010000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=1.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=1.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x=.5+(bass*0.07); -per_frame_1=wave_a = 0; -per_frame_2= -per_frame_3= -per_frame_4= -per_frame_5=//Thanks to Zylot for rainbow generator -per_frame_6=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.2),1); -per_frame_7=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.2),1); -per_frame_8=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0))); -per_frame_9=cdelay2 = if(equal(cdelay1,2),1,0); -per_frame_10=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter)); -per_frame_11=ib_r = .5*if(equal(colorcounter,1),1, if(equal(colorcounter,2),1, if(equal(colorcounter,3),1, if(equal(colorcounter,4),sin(counter2+2.1), if(equal(colorcounter,5),0, if(equal(colorcounter,6),0,sin(counter1))))))); -per_frame_12=ib_g = .5*if(equal(colorcounter,1),0, if(equal(colorcounter,2),sin(counter2*.5), if(equal(colorcounter,3),sin((counter1+1.75)*.4), if(equal(colorcounter,4),1, if(equal(colorcounter,5),1, if(equal(colorcounter,6),sin(counter2+2),0)))))); -per_frame_13=ib_b = if(equal(colorcounter,1),sin(counter1+2.1), if(equal(colorcounter,2),0, if(equal(colorcounter,3),0, if(equal(colorcounter,4),0, if(equal(colorcounter,5),sin(counter1), if(equal(colorcounter,6),1,1)))))); -per_frame_14= -per_frame_15= -per_frame_16= -per_frame_17=ob_r=ib_r-0.5; -per_frame_18=ob_g=ib_g-0.5; -per_frame_19=ob_b=ib_b-0.5; -per_frame_20=q1=ib_r; -per_frame_21=q2=ib_g; -per_frame_22=q3=ib_b; -per_frame_23= -per_frame_24= -per_frame_25= -per_frame_26=decay = 0.9999; -per_frame_27= -per_frame_28= -per_frame_29=//echo_orient=((bass_att+mid_att+treb_att)/3)*3; -per_frame_30=//solarize=above(0.5,bass); -per_frame_31=//darken=above(0.4,treb); -per_frame_32= -per_frame_33=musictime=musictime+(mid*mid*mid)*0.02; -per_frame_34= -per_frame_35=xpos=sin(musictime*0.6)*0.6; -per_frame_36=ypos=sin(musictime*0.4)*0.6; -per_frame_37=q4=xpos; -per_frame_38=q5=ypos; -per_frame_39= -per_frame_40= -per_frame_41= -per_frame_42=//beatdetect -per_frame_43=volume = 0.3*(bass+mid+att); -per_frame_44=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_45=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_46=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_47=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_48=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1); -per_frame_49=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_50=lastbeat = if(beat,time,lastbeat); -per_frame_51=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_52= -per_frame_53=mybeat=if(beat,mybeat+1,mybeat); -per_frame_54=mybeat=if(above(mybeat,3),0,mybeat); -per_frame_55=echo_orient=mybeat; -per_pixel_1=//flip= (-2 * above(sin(time),-0.9) )+1; -per_pixel_2=//var=(bass+mid+treb)/3; -per_pixel_3=//rot=((ang&rad/rad)/(var*20))/10; -per_pixel_4=//sx=.99-(var*0.01); -per_pixel_5=//cx=var*0.1*(ang/12); -per_pixel_6=//sy=sx; -per_pixel_7= -per_pixel_8=//zoom=-1; -per_pixel_9=sx=-1+(bass*0.2); -per_pixel_10=sy=-1-(treb*0.2); -per_pixel_11= -per_pixel_12=cx=0.5+q4; -per_pixel_13=cy=0.5-q5; -per_pixel_14=rd=sqrt( sqr( (x-0.5-q4)*2) + sqr( (y-0.5+q5)*1.5 ) ); -per_pixel_15=//zm=(1.1-(rd/4)); -per_pixel_16=zm=.994; -per_pixel_17= -per_pixel_18=ag=atan( (y-0.5+q5)/(x-0.5-q4) ); -per_pixel_19=star=sin(ag*6+time)*((2-rd)-ag)/5; -per_pixel_20=zm=zm+star/20; -per_pixel_21=sx=zm; -per_pixel_22=sy=zm; -per_pixel_23=//rot=above(rd,0.7)*(rd-0.7)*sin(time*0.3) diff --git a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk b/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk deleted file mode 100755 index 059b2d3fba..0000000000 --- a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk +++ /dev/null @@ -1,90 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.994000 -fDecay=0.981000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=1 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.634243 -fWaveSmoothing=0.100000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.004960 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000156 -sx=0.999666 -sy=0.999900 -wave_r=0.550000 -wave_g=0.550000 -wave_b=0.550000 -wave_x=0.500000 -wave_y=0.360000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.016000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.40*( 0.60*sin(1.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.40*( 0.60*sin(1.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.40*( 0.60*sin(1.714*time) + 0.40*sin(1.011*time) ); -per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.005*pow((bass+bass_att),5),0); -per_frame_5=oldq8 = q8; -per_frame_6=q7 =0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_7=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); -per_frame_8=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); -per_frame_9=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); -per_frame_10=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); -per_frame_11=echo_zoom = 1+ q7; -per_frame_12=zoom = 1+q7; -per_pixel_1=du = x*2-1 - q1; -per_pixel_2=dv = y*2-1 - q2; -per_pixel_3=dist = sqrt(du*du+dv*dv); -per_pixel_4=ang2 = atan2(du,dv); -per_pixel_5=mult = 0.008/(dist+0.4); -per_pixel_6=dx = mult*sin(ang2-1.5); -per_pixel_7=dy = mult*cos(ang2-1.5); -per_pixel_8=du = x*2-1 - q3; -per_pixel_9=dv = y*2-1 - q4; -per_pixel_10=dist = sqrt(du*du+dv*dv); -per_pixel_11=ang2 = atan2(du,dv); -per_pixel_12=mult = 0.008*sin(q8)/(dist+0.4); -per_pixel_13=dx = dx + mult*sin(ang2+1.5); -per_pixel_14=dy = dy + mult*cos(ang2+1.5); -per_pixel_15=rot = -0.01*rad*sin(q8); diff --git a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk b/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk deleted file mode 100755 index 318c9e29f1..0000000000 --- a/presets_projectM/Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk +++ /dev/null @@ -1,97 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.994000 -fDecay=0.965000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=7 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.634243 -fWaveSmoothing=0.100000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.004960 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000156 -sx=0.999666 -sy=0.999900 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.380000 -ob_size=0.005000 -ob_r=1.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.470000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.016000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.500000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_4=//q8 = oldq8+min(if(above(bass+bass_att,2.8),q8+0.025*pow((bass+bass_att-2),5),0),1); -per_frame_5=//oldq8 = q8; -per_frame_6=//q8 = q8 + time*0.1; -per_frame_7=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_8=oldq8 = q8; -per_frame_9=monitor = q8; -per_frame_10=q1 = 0.62*( 0.60*sin(0.374*q8) + 0.40*sin(0.294*q8) ); -per_frame_11=q2 = 0.62*( 0.60*sin(0.393*q8) + 0.40*sin(0.223*q8) ); -per_frame_12=q3 = 0.62*( 0.60*sin(0.174*-q8) + 0.40*sin(0.364*q8) ); -per_frame_13=q4 = 0.62*( 0.60*sin(0.234*q8) + 0.40*sin(0.271*-q8) ); -per_frame_14=ob_r = wave_r; -per_frame_15=ob_g = wave_g; -per_frame_16=ob_b = wave_b; -per_frame_17=mv_r = wave_r; -per_frame_18=mv_b = wave_b; -per_frame_19=mv_g = wave_g; -per_frame_20=ib_a = abs(sin(q8*0.9141)); -per_pixel_1=du = x*2-1 - q1; -per_pixel_2=dv = y*2-1 - q2; -per_pixel_3=dist = sqrt(du*du+dv*dv); -per_pixel_4=ang2 = atan2(du,dv); -per_pixel_5=mult = 0.008/(dist+0.4); -per_pixel_6=dx = mult*sin(ang2-1.5); -per_pixel_7=dy = mult*cos(ang2-1.5); -per_pixel_8=du = x*2-1 - q3; -per_pixel_9=dv = y*2-1 - q4; -per_pixel_10=dist = sqrt(du*du+dv*dv); -per_pixel_11=ang2 = atan2(du,dv); -per_pixel_12=mult = 0.008/(dist+0.4); -per_pixel_13=dx = dx + mult*sin(ang2+1.5); -per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets_projectM/Rovastar & Geiss - Hurricane Nightmare.milk b/presets_projectM/Rovastar & Geiss - Hurricane Nightmare.milk deleted file mode 100755 index a1e7675325..0000000000 --- a/presets_projectM/Rovastar & Geiss - Hurricane Nightmare.milk +++ /dev/null @@ -1,80 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=1 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.300000 -fWaveScale=0.881381 -fWaveSmoothing=0.500000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=3.600000 -fShader=0.000000 -zoom=1.021087 -rot=-0.160000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.309000 -sx=1.000000 -sy=1.000000 -wave_r=0.600000 -wave_g=0.600000 -wave_b=0.600000 -wave_x=0.500000 -wave_y=0.470000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=1.750000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_4=q8 = oldq8+if(above(bass+bass_att,1.8),q8+0.0005*pow((bass+bass_att-1),9),0); -per_frame_5=oldq8 = q8; -per_frame_6=monitor = q8; -per_frame_7=zoom = zoom + 0.023*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); -per_frame_8=rot = rot + 0.030*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); -per_frame_9=//decay = decay - 0.02*equal(frame%40,0); -per_frame_10=mv_r = wave_r; -per_frame_11=mv_b = wave_b; -per_frame_12=mv_g = wave_g; -per_frame_13=mv_x = 1.25; -per_frame_14=mv_y = 1.25; -per_frame_15=mv_dx = 0.1*sin(1.1*time); -per_frame_16=mv_dy = 0.1*cos(1.112*time); -per_pixel_1=rot=rot+1/(10*(rad+0.2+0.1*sin(q8))); diff --git a/presets_projectM/Rovastar & Geiss - Ice Planet.milk b/presets_projectM/Rovastar & Geiss - Ice Planet.milk deleted file mode 100755 index dac382b9a0..0000000000 --- a/presets_projectM/Rovastar & Geiss - Ice Planet.milk +++ /dev/null @@ -1,74 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.998000 -fDecay=0.960000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=1 -bInvert=1 -fWaveAlpha=1.334524 -fWaveScale=1.981000 -fWaveSmoothing=0.600000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=2.853000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.064000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.600000 -wave_g=0.600000 -wave_b=0.600000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=wave_r = wave_r + 0.400*( 0.60*sin(0.933*time) + 0.40*sin(1.045*time) ); -per_frame_2=wave_g = wave_g + 0.400*( 0.60*sin(0.900*time) + 0.40*sin(0.956*time) ); -per_frame_3=wave_b = wave_b + 0.400*( 0.60*sin(0.910*time) + 0.40*sin(0.920*time) ); -per_frame_4=q8 = oldq8+if(above(bass+bass_att,2.8),q8+0.001*pow((bass+bass_att-2),8),0); -per_frame_5=oldq8 = q8; -per_frame_6=monitor = q8; -per_frame_7=zoom = zoom + 0.013*( 0.60*sin(0.339*q8) + 0.40*sin(0.276*q8) ); -per_frame_8=rot = rot + 0.040*( 0.60*sin(0.381*q8) + 0.40*sin(0.579*q8) ); -per_pixel_1=zoom = zoom + (x*2-1)*(0.08+0.15*sin(q8*0.321)) + (y*2-1)*(0.08+0.15*cos(q8*0.321)); -per_pixel_2=sx=sx-(zoom-1)*0.1; -per_pixel_3=sy=sy-(zoom-1)*0.1; diff --git a/presets_projectM/Rovastar & Geiss - Notions Of Tonality.milk b/presets_projectM/Rovastar & Geiss - Notions Of Tonality.milk deleted file mode 100755 index 52adfc5430..0000000000 --- a/presets_projectM/Rovastar & Geiss - Notions Of Tonality.milk +++ /dev/null @@ -1,89 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.700000 -fDecay=0.970000 -fVideoEchoZoom=0.999609 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=0.013089 -fWaveSmoothing=0.100000 -fWaveParam=-0.400000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=1.000000 -zoom=1.004960 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.000156 -sx=0.999666 -sy=0.999900 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.380000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=63.936001 -nMotionVectorsY=47.952000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.400000 -mv_r=0.700000 -mv_g=0.400000 -mv_b=0.500000 -mv_a=1.000000 -per_frame_1=mv_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=mv_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=mv_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time)); -per_frame_4=q1 = (cx*2-1) + 0.62*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_5=q2 = (cy*2-1) + 0.62*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_6=q3 = (cx*2-1) + 0.62*( 0.60*sin(0.174*-time) + 0.40*sin(0.364*time) ); -per_frame_7=q4 = (cy*2-1) + 0.62*( 0.60*sin(0.234*time) + 0.40*sin(0.271*-time) ); -per_frame_8=decay = decay - 0.01*equal(frame%5,0); -per_frame_9=cy = cy + 0.1*sin(time*0.245); -per_frame_10=cx = cx + 0.1*cos(time*0341); -per_frame_11=wave_mystery = 2; -per_frame_12=mv_l = 2*max(max(bass,bass_att)-1.2,0); -per_pixel_1=du = x*2-1 - q1; -per_pixel_2=dv = y*2-1 - q2; -per_pixel_3=dist = sqrt(du*du+dv*dv); -per_pixel_4=ang2 = atan2(du,dv); -per_pixel_5=mult = 0.008/(dist+0.4); -per_pixel_6=dx = mult*sin(ang2-1.5); -per_pixel_7=dy = mult*cos(ang2-1.5); -per_pixel_8=du = x*2-1 - q3; -per_pixel_9=dv = y*2-1 - q4; -per_pixel_10=dist = sqrt(du*du+dv*dv); -per_pixel_11=ang2 = atan2(du,dv); -per_pixel_12=mult = 0.008/(dist+0.4); -per_pixel_13=dx = dx + mult*sin(ang2+1.5); -per_pixel_14=dy = dy + mult*cos(ang2+1.5); diff --git a/presets_projectM/Rovastar & Geiss - Surface (Vectrip Mix).milk b/presets_projectM/Rovastar & Geiss - Surface (Vectrip Mix).milk deleted file mode 100755 index 8121eb436d..0000000000 --- a/presets_projectM/Rovastar & Geiss - Surface (Vectrip Mix).milk +++ /dev/null @@ -1,94 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.700000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=4 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=2.706706 -fWaveScale=0.234487 -fWaveSmoothing=0.100000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.014000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.029439 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=0.530000 -mv_g=0.700000 -mv_b=0.330000 -mv_a=1.000000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_6=dx = dx + 0.01*( 0.60*sin(0.173*time) + 0.40*sin(0.223*time) ); -per_frame_7=vol = (bass+mid+att)/6; -per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_13=xpos = xpos + 0.001*xspeed; -per_frame_14=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_15=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_16=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_17=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_18=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_19=ypos = ypos + 0.001*yspeed; -per_frame_20=mv_x_speed = 4; -per_frame_21=mv_y_speed = 4; -per_frame_22=mv_x_range = 0.49; -per_frame_23=mv_y_range = 0.049; -per_frame_24=mv_x_amount = 20; -per_frame_25=mv_y_amount = 2.25; -per_frame_26=mv_x = mv_x_amount +mv_x_range + mv_x_range*sin(mv_x_speed*ypos+(sin(time*0.964)-0.5*cos(time*0.256))); -per_frame_27=mv_y = mv_y_amount + mv_y_range+ mv_y_range*sin(mv_y_speed*xpos-(cos(time*1.345)-0.5*cos(time*0.331))); -per_frame_28=mv_b = mv_b + 0.2*sin(time*0.771); -per_frame_29=mv_r = mv_r + 0.25*cos(time*1.701); -per_frame_30=mv_g = mv_g + 0.3*cos(time*0.601); -per_frame_31=mv_l = 10+6*min((0.5*bass+0.5*bass_att),2); diff --git a/presets_projectM/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk b/presets_projectM/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk deleted file mode 100755 index 0d08602ba0..0000000000 --- a/presets_projectM/Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk +++ /dev/null @@ -1,377 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.900000 -fVideoEchoZoom=0.999838 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.000000 -fWaveScale=1.000000 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=0.463735 -wavecode_0_smoothing=0.000000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_init1=//pi -wave_0_init2=t8=3.14159265; -wave_0_init3=t5 = 1; -wave_0_per_frame1=rotx = rotx+bass; -wave_0_per_frame2=roty = roty+mid; -wave_0_per_frame3=rotz = rotz+treb; -wave_0_per_frame4=//rotx = 0; -wave_0_per_frame5=//roty =0; -wave_0_per_frame6=//rotz = 0; -wave_0_per_frame7= -wave_0_per_frame8=//convert rotation values from degrees to radians -wave_0_per_frame9=t1= t8*rotx/180; -wave_0_per_frame10=t2 = t8*roty/180; -wave_0_per_frame11=t3 = t8*rotz/180; -wave_0_per_frame12= -wave_0_per_frame13=t4 = 3*sin(time); -wave_0_per_frame14=t5 = 10+8*cos(time); -wave_0_per_frame15= -wave_0_per_frame16=g = 0.5-0.4*cos(time); -wave_0_per_frame17=r = 0.5-0.4*sin(time); -wave_0_per_point1=//Define 3D Shape -wave_0_per_point2= -wave_0_per_point3=//Spiral -wave_0_per_point4=x1 = 0.5*sin(8*t8*sample); -wave_0_per_point5=y1 = 2*(sample-0.5)-value1; -wave_0_per_point6=z1= 0.5*cos(8*t8*sample); -wave_0_per_point7= -wave_0_per_point8=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_0_per_point9=y2 = y1*cos(t1)-z1*sin(t1); -wave_0_per_point10=z2 = y1*sin(t1)+z1*cos(t1); -wave_0_per_point11=x2 = z2*sin(t2)+x1*cos(t2); -wave_0_per_point12=z3 = z2*cos(t2)-x1*sin(t2); -wave_0_per_point13=x3 = x2*cos(t3)-y2*sin(t3); -wave_0_per_point14=y3 = y2*cos(t3)+x2*sin(t3); -wave_0_per_point15=//move resulting shape in 3d space -wave_0_per_point16=x4 = x3+t4; -wave_0_per_point17=y4 = y3; -wave_0_per_point18=z4 = z3+t5; -wave_0_per_point19=//draw 3d shape in 2d -wave_0_per_point20=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_0_per_point21=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_0_per_point22= -wave_0_per_point23=b= r+value1; -wavecode_1_enabled=1 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=0.463735 -wavecode_1_smoothing=0.000000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wave_1_init1=//pi -wave_1_init2=t8=3.14159265; -wave_1_init3=t5 = 1; -wave_1_per_frame1=rotx = rotx+bass; -wave_1_per_frame2=roty = roty+mid; -wave_1_per_frame3=rotz = rotz+treb; -wave_1_per_frame4=//rotx = 0; -wave_1_per_frame5=//roty =0; -wave_1_per_frame6=//rotz = 0; -wave_1_per_frame7= -wave_1_per_frame8=//convert rotation values from degrees to radians -wave_1_per_frame9=t1= t8*rotx/180; -wave_1_per_frame10=t2 = t8*roty/180; -wave_1_per_frame11=t3 = t8*rotz/180; -wave_1_per_frame12= -wave_1_per_frame13=t4 = 3*sin(0.66*t8); -wave_1_per_frame14=t5 = 10+8*cos(0.66*t8); -wave_1_per_point1=//Define 3D Shape -wave_1_per_point2= -wave_1_per_point3=//Sphere -wave_1_per_point4=fvar = sample*512; -wave_1_per_point5=svar = fvar/32; -wave_1_per_point6=tvar = 0&svar; -wave_1_per_point7=nsample = tvar*3.5; -wave_1_per_point8=x1 = (1)*sin(nsample+value1*5); -wave_1_per_point9=y1 = (4)*cos(sample*t8*2); -wave_1_per_point10=z1= (4)*sin(sample*(t8*2)); -wave_1_per_point11= -wave_1_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_1_per_point13=y2 = y1*cos(t1)-z1*sin(t1); -wave_1_per_point14=z2 = y1*sin(t1)+z1*cos(t1); -wave_1_per_point15=x2 = z2*sin(t2)+x1*cos(t2); -wave_1_per_point16=z3 = z2*cos(t2)-x1*sin(t2); -wave_1_per_point17=x3 = x2*cos(t3)-y2*sin(t3); -wave_1_per_point18=y3 = y2*cos(t3)+x2*sin(t3); -wave_1_per_point19=//move resulting shape in 3d space -wave_1_per_point20=x4 = x3; -wave_1_per_point21=y4 = y3; -wave_1_per_point22=z4 = z3+10; -wave_1_per_point23=//draw 3d shape in 2d -wave_1_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_1_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_1_per_point26= -wave_1_per_point27=r = sin(nsample); -wave_1_per_point28=g = -.1+cos(sample*5+(time*5)); -wave_1_per_point29=b = -.1-sin(sample*5+(time*5)); -wave_1_per_point30=g = if(below(g,0),0,g); -wave_1_per_point31=b = if(below(b,0),0,b); -wavecode_2_enabled=1 -wavecode_2_samples=48 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=0.463735 -wavecode_2_smoothing=0.000000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wave_2_init1=//pi -wave_2_init2=t8=3.14159265; -wave_2_init3=t5 = 1; -wave_2_per_frame1=rotx = rotx+bass; -wave_2_per_frame2=roty = roty+mid; -wave_2_per_frame3=rotz = rotz+treb; -wave_2_per_frame4=//rotx = 0; -wave_2_per_frame5=//roty =0; -wave_2_per_frame6=//rotz = 0; -wave_2_per_frame7= -wave_2_per_frame8=//convert rotation values from degrees to radians -wave_2_per_frame9=t1= t8*rotx/180; -wave_2_per_frame10=t2 = t8*roty/180; -wave_2_per_frame11=t3 = t8*rotz/180; -wave_2_per_frame12= -wave_2_per_frame13=t4 = 3*sin(time+1.33*t8); -wave_2_per_frame14=t5 = 10+8*cos(time+1.33*t8); -wave_2_per_frame15= -wave_2_per_frame16=r = 0.5-0.4*cos(time+1.33*t8); -wave_2_per_frame17=b = 0.5-0.4*sin(time+1.33*t8); -wave_2_per_point1=//Define 3D Shape -wave_2_per_point2= -wave_2_per_point3=//Zylot's dumb 3d wave -wave_2_per_point4=fvar = sample*512; -wave_2_per_point5=svar = fvar/16; -wave_2_per_point6=tvar = 0&svar; -wave_2_per_point7=newsample = tvar/3.2; -wave_2_per_point8=x1 = sin(newsample*3.1415926*2); -wave_2_per_point9=y1 = cos(newsample*3.1415926*2); -wave_2_per_point10=z1 = 0; -wave_2_per_point11= -wave_2_per_point12=//modulate values to adjust for rotation on multiple axes, convert to world co-ordinates -wave_2_per_point13=y2 = y1*cos(t1)-z1*sin(t1); -wave_2_per_point14=z2 = y1*sin(t1)+z1*cos(t1); -wave_2_per_point15=x2 = z2*sin(t2)+x1*cos(t2); -wave_2_per_point16=z3 = z2*cos(t2)-x1*sin(t2); -wave_2_per_point17=x3 = x2*cos(t3)-y2*sin(t3); -wave_2_per_point18=y3 = y2*cos(t3)+x2*sin(t3); -wave_2_per_point19=//move resulting shape in 3d space -wave_2_per_point20=x4 = x3; -wave_2_per_point21=y4 = y3; -wave_2_per_point22=z4 = z3+5; -wave_2_per_point23=//draw 3d shape in 2d -wave_2_per_point24=x=0.5+0.5*(x4/(1+z4*0.5)); -wave_2_per_point25=y=0.5+0.5*(y4/(1+z4*0.5)); -wave_2_per_point26= -wave_2_per_point27=r = -.5 + sin(sample*5+((time*5)+9)); -wave_2_per_point28=r = if(below(r,0),0,r); -wave_2_per_point29=g = -.5 + sin(sample*5+time*5); -wave_2_per_point30=g = if(below(g,0),0,g); -wave_2_per_point31=b = -.5 + sin(sample*5+((time*5)+18)); -wave_2_per_point32=b = if(below(b,0),0,b); -wave_2_per_point33=r = if(above(bass,1.5),1,r); -wave_2_per_point34=g = if(above(bass,1.5),1,g); -wave_2_per_point35=b = if(above(bass,1.5),1,b); -shapecode_0_enabled=1 -shapecode_0_sides=100 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=6.530878 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.500000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_0_per_frame2=oldq8 = q8; -shape_0_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_0_per_frame4=rad = rad + sin(q8); -shape_0_per_frame5=r2 = bass; -shape_0_per_frame6=g2 = treb; -shape_0_per_frame7=b2 = mid; -shapecode_1_enabled=1 -shapecode_1_sides=100 -shapecode_1_additive=1 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.022480 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=0.800000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.300000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_1_per_frame2=oldq8 = q8; -shape_1_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_1_per_frame4=rad = .55; -shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_1_per_frame11=ang = ang-cos(time*.02); -shape_1_per_frame12=x = .5 + .1*sin(q8*.11); -shape_1_per_frame13=y = .5 + .1*sin(q8*.51); -shapecode_2_enabled=1 -shapecode_2_sides=100 -shapecode_2_additive=1 -shapecode_2_thickOutline=0 -shapecode_2_textured=1 -shapecode_2_x=0.650000 -shapecode_2_y=0.620000 -shapecode_2_rad=0.108925 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=0.540000 -shapecode_2_r2=1.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=1.000000 -shapecode_2_a2=0.400000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_2_per_frame2=oldq8 = q8; -shape_2_per_frame3=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -shape_2_per_frame4=rad = .750 + .1*sin(q8*.02); -shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1))); -shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2))); -shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4))); -shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3))); -shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5))); -shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6))); -shape_2_per_frame11=ang = ang+4*sin(q8*.2); -shapecode_3_enabled=0 -shapecode_3_sides=100 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=1 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -per_frame_1=warp=0; -per_frame_2=wave_a=0; -per_frame_3=q8 =oldq8+ 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_4=oldq8 = q8; -per_frame_5=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps); -per_frame_6=zoom = 1+.005*q7; diff --git a/presets_projectM/Rovastar & Zylot - Narell's Fever.milk b/presets_projectM/Rovastar & Zylot - Narell's Fever.milk deleted file mode 100755 index 74b1419c81..0000000000 --- a/presets_projectM/Rovastar & Zylot - Narell's Fever.milk +++ /dev/null @@ -1,93 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.221673 -fWaveScale=0.685151 -fWaveSmoothing=0.750000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.200000 -ob_g=0.400000 -ob_b=0.220000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.750000 -ib_b=0.550000 -ib_a=1.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=3.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=3.950000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -per_frame_1=warp = 0; -per_frame_2=wave_r = wave_r + .15*sin(time*.222); -per_frame_3=wave_g = wave_g + .15*sin(time*.333); -per_frame_4=wave_b = wave_b + .15*sin(time*.444); -per_frame_5=zoom = zoom+.01 - bass_att*.01; -per_frame_6=volume = 0.3*(bass+mid); -per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate)); -per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat); -per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att); -per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att); -per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0); -per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1); -per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att); -per_frame_14=lastbeat = if(beat,time,lastbeat); -per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att); -per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter); -per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter); -per_frame_18=beateven = beatcounter%2; -per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter); -per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2); -per_frame_21=oldq2 = q2; -per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965); -per_frame_23=ib_g = ib_g +0.25*sin(time*1.123); -per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046); -per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865); -per_frame_26=ob_g = ob_g +0.15*sin(time*1.103); -per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086); -per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+sin(time*.222)*.1); -per_pixel_2=zoom = zoom + .1*sin((ang)*q2+time); -per_frame_init_1=beatcounter =0; diff --git a/presets_projectM/Rozzor & Zylot - Rainbow River.milk b/presets_projectM/Rozzor & Zylot - Rainbow River.milk deleted file mode 100755 index 5737dd6418..0000000000 --- a/presets_projectM/Rozzor & Zylot - Rainbow River.milk +++ /dev/null @@ -1,73 +0,0 @@ -[preset00] -fRating=4.000000 -fGammaAdj=1.140000 -fDecay=0.900000 -fVideoEchoZoom=0.072059 -fVideoEchoAlpha=0.010001 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=1 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.657818 -fWaveScale=2.010432 -fWaveSmoothing=0.000000 -fWaveParam=-1.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.001827 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=0.905286 -sy=0.932718 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=1.000000 -ob_size=0.000000 -ob_r=0.099314 -ob_g=0.316540 -ob_b=0.899422 -ob_a=0.634601 -ib_size=0.005000 -ib_r=0.803058 -ib_g=0.388354 -ib_b=0.572346 -ib_a=0.638229 -nMotionVectorsX=11.520000 -nMotionVectorsY=10.559999 -mv_dx=-0.797986 -mv_dy=0.997558 -mv_l=2.016270 -mv_r=0.833957 -mv_g=0.196963 -mv_b=0.380100 -mv_a=0.701722 -per_frame_1=tempb = cos(time) + abs(cos(time)); -per_frame_2=tempg = abs(sin(time)) ; -per_frame_3=tempr = (-1 * cos(time)) + abs(-1 * cos(time)) + 0.2 * (cos(sin(time))+(abs(cos(sin(time)))+cos(sin(time)))); -per_frame_4=ib_r = if(above(tempr,1),1,if(above(tempr,0), abs(tempr),0)); -per_frame_5=ib_g = if(above(tempg,1),1,if(above(tempg,0), abs(tempg),0)); -per_frame_6=ib_b = if(above(tempb,1),1,if(above(tempb,0), abs(tempb),0)); -per_frame_7= -per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time))); -per_pixel_2=rot = rot + .1*sin((pow(x,2))*50+(time*5)); -per_pixel_3=dy = rot; diff --git a/presets_projectM/Telek - Slow Shift Matrix (bb4.5).milk b/presets_projectM/Telek - Slow Shift Matrix (bb4.5).milk deleted file mode 100755 index 33bc628052..0000000000 --- a/presets_projectM/Telek - Slow Shift Matrix (bb4.5).milk +++ /dev/null @@ -1,80 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.900000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=3 -nWaveMode=3 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001645 -fWaveScale=0.430333 -fWaveSmoothing=0.630000 -fWaveParam=1.000000 -fModWaveAlphaStart=2.000000 -fModWaveAlphaEnd=2.000000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.001000 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.300000 -ob_a=1.000000 -ib_size=0.100000 -ib_r=1.000000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=48.000000 -mv_dx=-0.941273 -mv_dy=0.426319 -mv_l=5.000000 -mv_r=0.315997 -mv_g=0.078173 -mv_b=0.941976 -mv_a=0.000000 -per_frame_1=bv = bass*.01+.99*bv; -per_frame_2=tt=tt+bass*.01; -per_frame_3=tt = if(above(bass*bass_att,4.5),rand(32768),tt); -per_frame_4=wave_x =-1; -per_frame_5=dx = .3*sin(tt*.12)+10*sin(tt*.015); -per_frame_6=dy = .39*sin(tt*.21)+20*sin(tt*.041); -per_frame_7=rot = 1*sin(tt*.15); -per_frame_8=cx = sin(tt*.16)*.5+.5; -per_frame_9=cy = cos(tt*.46)*.5+.5; -per_frame_10=ib_r = sin(tt*.51)*.5+.5; -per_frame_11=ib_g = sin(tt*.71)*.5+.5; -per_frame_12=ib_b = sin(tt*.81)*.5+.5; -per_frame_13=monitor = tt; -per_frame_14= -per_pixel_1=zoom = .8-.2*pow(1-rad,1); -per_frame_init_1=tt = rand(10000); -per_frame_init_2= diff --git a/presets_projectM/Unchained & Illusion - Logic Morph.milk b/presets_projectM/Unchained & Illusion - Logic Morph.milk deleted file mode 100755 index 67877affec..0000000000 --- a/presets_projectM/Unchained & Illusion - Logic Morph.milk +++ /dev/null @@ -1,86 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.006490 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=1 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=2 -nMotionVectorsY=1 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.968100 -fWaveScale=0.706300 -fWaveSmoothing=0.000000 -fWaveParam=-0.000000 -fModWaveAlphaStart=0.550000 -fModWaveAlphaEnd=1.150000 -fWarpAnimSpeed=1.530000 -fWarpScale=1.731000 -fZoomExponent=1.208145 -fShader=0.000000 -zoom=1.000223 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.263000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.301000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=1.000000 -per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) ); -per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) ); -per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) ); -per_frame_4=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) ); -per_frame_5=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) ); -per_frame_6=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) ); -per_frame_7=zoom=zoom+0.05+0.05*sin(time*0.133); -per_frame_8=decay=decay-0.01*(frame%2); -per_frame_9=dx = dx + dx_residual; -per_frame_10=dy = dy + dy_residual; -per_frame_11=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_12=dx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*dx_residual; -per_frame_13=dy_residual = equal(bass_thresh,2)*0.012*sin(time*9) + (1-equal(bass_thresh,2))*dy_residual; -per_frame_14=q1=dx_residual; -per_frame_15=q2=dy_residual; -per_frame_16=rot=rot+(dy_residual-dx_residual)*4; -per_frame_17=cy=cy+dy_residual*4; -per_frame_18=cx=cx+dx_residual*4; -per_frame_19=wave_x=wave_x+dx_residual*10; -per_frame_20=wave_y=wave_y+dy_residual*10; -per_frame_21=ob_r=wave_g; -per_frame_22=ob_g=wave_b; -per_frame_23=ob_b=wave_r; -per_frame_24=ib_r=wave_b; -per_frame_25=ib_g=wave_r; -per_frame_26=ib_b=wave_g; -per_frame_27=ob_size=dy_residual; -per_frame_28=ib_size=dx_residual; -per_pixel_1=zoom=1-zoom*rad*sin(time)*(q1+q2)*cos(rad*20*sin(time*.5))*10; -per_pixel_2=rot=rot-(1-zoom); diff --git a/presets_projectM/Unchained - A Matter Of Taste (Remix).milk b/presets_projectM/Unchained - A Matter Of Taste (Remix).milk deleted file mode 100755 index d2b1f53c92..0000000000 --- a/presets_projectM/Unchained - A Matter Of Taste (Remix).milk +++ /dev/null @@ -1,84 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.993000 -fVideoEchoZoom=0.996620 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.264366 -fWaveScale=0.264076 -fWaveSmoothing=0.720000 -fWaveParam=-0.400000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.300000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.061520 -sy=1.061520 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -per_frame_1=warp=0; -per_frame_2=entropy=if(bnot(entropy),2,if(equal(pulse,-9.42),1+rand(3),entropy)); -per_frame_3=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_4=bass_changed=abs(bass_flop-equal(bass_thresh,2)); -per_frame_5=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_6=treb_changed=abs(treb_flop-equal(treb_thresh,2)); -per_frame_7=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_8=mid_changed=abs(mid_flop-equal(mid_thresh,2)); -per_frame_9=bass_residual = bass_changed*sin(pulse*bass_thresh*.2*entropy) + bnot(bass_changed)*bass_residual; -per_frame_10=treb_residual = treb_changed*sin(pulse*treb_thresh*.2*entropy) + bnot(treb_changed)*treb_residual; -per_frame_11=mid_residual = mid_changed*sin(pulse*mid_thresh*.2*entropy) + bnot(mid_changed)*mid_residual; -per_frame_12=pulse=if(above(abs(pulse),9.42),-9.42,pulse+.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*entropy*.01); -per_frame_13=q1=mid_residual; -per_frame_14=q2=bass_residual; -per_frame_15=q3=treb_residual; -per_frame_16=q4=sin(pulse); -per_frame_17=q5=cos(pulse); -per_frame_18=wave_mystery=-.2+.2*q4; -per_frame_19=wave_r=wave_r+.5*bass_residual; -per_frame_20=wave_r=wave_g+.5*mid_residual; -per_frame_21=wave_r=wave_b+.5*treb_residual; -per_frame_22=zoom=zoom-.0035*q1; -per_frame_23=decay=decay+.003*sin(pulse); -per_pixel_1=anti_rad=(1-rad); -per_pixel_2=dx=if(below(sin(rad*10*q5),abs(q5)),.02*q1,.025*q2); -per_pixel_3=dy=dy-cos(anti_rad*10*q3-rad*10*q5+rad*10*q4)*.05; -per_pixel_4=zoom=zoom+(dy-1)*(dx-1)*q1*.07; -per_pixel_5=rot=rot+atan(anti_rad*3.14*q3)*abs(zoom-1.2)*above(q2,0); diff --git a/presets_projectM/Unchained - Beat Demo 1.0.milk b/presets_projectM/Unchained - Beat Demo 1.0.milk deleted file mode 100755 index daf588131b..0000000000 --- a/presets_projectM/Unchained - Beat Demo 1.0.milk +++ /dev/null @@ -1,91 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.981000 -fVideoEchoZoom=1.006440 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=5 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.868299 -fWaveScale=2.781641 -fWaveSmoothing=0.540000 -fWaveParam=0.200000 -fModWaveAlphaStart=0.950000 -fModWaveAlphaEnd=0.750000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.008151 -fShader=0.200000 -zoom=0.999800 -rot=0.000000 -cx=0.470000 -cy=0.500000 -dx=0.005000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=0.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -per_frame_1=warp=0; -per_frame_2=chaos=.9+.1*sin(pulse-beat); -per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20)*above(beat,0),1+rand(5),entropy)); -per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2)); -per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2)); -per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2)); -per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+(mid+bass+treb)*.025); -per_frame_11=beat=if(above(abs(beat),20),-20,beat+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)); -per_frame_12=q3=sin(pulse); -per_frame_13=q2=sin(pulse+beat); -per_frame_14=q4=sin(beat); -per_frame_15=q5=entropy; -per_frame_16=q1=(1+1*above(q2,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(q4,0))*(1+10*bass_changed*above(q4,0))*(1+12*above(q5,3))*(1+16*treb_changed*above(q2,0)); -per_frame_17=wave_r=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.3*q3*bnot(q1%13); -per_frame_18=wave_g=.5+.2*bnot(q1%5)-.2*bnot(q1%13)+.3*q4*bnot(q1%7); -per_frame_19=wave_b=if(bnot(q1%6),.8+.2*q4,.5+.5*q2); -per_frame_20=ob_r=ob_r+.2*q2+.3*bnot(q1%13)*q3; -per_frame_21=ob_b=ob_b-.1*bnot(q1%105)-.4*q2; -per_frame_22=ob_g=ob_g+.5*sin(pulse*.4*entropy); -per_frame_23=ob_a=.07+.05*q3; -per_frame_24=ob_size=.01*entropy*bnot(q1%6); -per_frame_25=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4; -per_frame_26=ib_b=ib_b-.2*bnot(q1%17)-.3*q2+.2*bnot(q1%11); -per_frame_27=ib_g=ib_g+.5*sin(pulse*.35*entropy); -per_frame_28=ib_a=.07+.05*q3*q4; -per_frame_29=ib_size=.005+.005*q3; -per_frame_30=zoom_fade=if(bnot(q1%2),zoom_fade-(zoom_fade-.97)/2,zoom_fade-bnot(q1%5)*.02*q4+bnot(q1%2)*.02*q3-bnot(q1%11)*.04*q2); -per_frame_31=zoom=zoom_fade; -per_frame_32=rot_fade=if(bnot(q1%7),rot_fade-(rot_fade-.1*q3)/2-.03*bnot(q1%13),rot_fade-.02*bnot(q1%11)+.02*bnot(q1%3)+.03*bnot(q1%35)); -per_frame_33=rot=rot_fade; -per_frame_34=cx=cx+.1*bnot(q1%39)+.07*bnot(q1%13)*q3-.2*bnot(q1%55)*q4; -per_frame_35=wave_x=wave_x+.1*q3+.2*q4*bnot(q1%2); diff --git a/presets_projectM/Unchained - Beat Demo 2.0.milk b/presets_projectM/Unchained - Beat Demo 2.0.milk deleted file mode 100755 index bfeaad8c25..0000000000 --- a/presets_projectM/Unchained - Beat Demo 2.0.milk +++ /dev/null @@ -1,111 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=zoom=zoom+.1*q4; -per_frame_41=rot=.2*q5; -per_frame_42=wave_mystery=.5*q6; -per_frame_43=cx=cx+.5*q1; -per_frame_44=cy=cy+.5*q2; -per_frame_45=warp=bnot(q7%2); -per_frame_46=echo_zoom=1+.5*q3; -per_frame_47=echo_orientation=q8%4; -per_frame_48=wave_mode=q8%7; diff --git a/presets_projectM/Unchained - Beat Demo 2.1.milk b/presets_projectM/Unchained - Beat Demo 2.1.milk deleted file mode 100755 index 57a22921e5..0000000000 --- a/presets_projectM/Unchained - Beat Demo 2.1.milk +++ /dev/null @@ -1,111 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.990000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=1.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=cx=cx+.5*q1; -per_frame_42=cy=cy+.5*q2; -per_frame_43=warp=bnot(q7%2); -per_frame_44=echo_zoom=1+.5*q3; -per_frame_45=echo_orientation=q8%4; -per_frame_46=wave_mode=q8%7; -per_pixel_1=zoom=zoom+.3*sin(y*3.14*q4); -per_pixel_2=rot=rot*cos(x*3.14*q5); diff --git a/presets_projectM/Unchained - Beat Demo 2.2.milk b/presets_projectM/Unchained - Beat Demo 2.2.milk deleted file mode 100755 index 69791ad837..0000000000 --- a/presets_projectM/Unchained - Beat Demo 2.2.milk +++ /dev/null @@ -1,109 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.996000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=1 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008200 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=warp=0; -per_frame_42=wave_mode=q8%7; -per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); -per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); -per_pixel_3=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); -per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),1+.07*sin(q4*.2*radix),1+.07*cos(radix*10*q4))); diff --git a/presets_projectM/Unchained - Beat Demo 2.3.milk b/presets_projectM/Unchained - Beat Demo 2.3.milk deleted file mode 100755 index 4edeea6259..0000000000 --- a/presets_projectM/Unchained - Beat Demo 2.3.milk +++ /dev/null @@ -1,114 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.993000 -fVideoEchoZoom=1.000000 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.818016 -fWaveScale=0.653093 -fWaveSmoothing=0.090000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995700 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.018281 -rot=-0.760000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.424100 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=old_bass_flop=bass_flop; -per_frame_2=old_treb_flop=treb_flop; -per_frame_3=old_mid_flop=mid_flop; -per_frame_4=chaos=.9+.1*sin(pulse); -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_15=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_16=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_17=pulse=if(above(abs(pulse),3.14),-3.14,pulse+(bass_thresh+mid_thresh+treb_thresh)*.0035); -per_frame_18=entropy=if(bass_changed*mid_changed*treb_changed,(1+bass_flop+treb_flop+mid_flop)*(1+rand(3)),entropy); -per_frame_19=q1=mid_residual; -per_frame_20=q2=bass_residual; -per_frame_21=q3=treb_residual; -per_frame_22=q4=sin(pulse); -per_frame_23=q5=cos(pulse*(.5+.1*entropy)); -per_frame_24=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_25=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_26=q8=entropy; -per_frame_27=wave_r=wave_r+wave_r*q1; -per_frame_28=wave_b=wave_b+wave_b*q2; -per_frame_29=wave_g=wave_g+wave_g*q3; -per_frame_30=ob_r=ob_r+ob_r*sin(q1+q2*2.14); -per_frame_31=ob_bob_b+ob_b*sin(q2+q3*2.14); -per_frame_32=ob_g=ob_g+ob_g*sin(q3+q1*2.14); -per_frame_33=ib_r=ib_r+ib_r*cos(q5+q1*2.14); -per_frame_34=ib_b=ib_b+ib_*cos(q5+q2*2.14); -per_frame_35=ib_g=ib_g+ib_g*cos(q5+q3*2.14); -per_frame_36=ob_a=.25+.25*sin(q2+q3*2.14); -per_frame_37=ib_a=.25+.25*sin(q2*2.14+q3); -per_frame_38=ob_size=.1+.1*sin(q3*3+q1); -per_frame_39=ib_size=.1+.1*sin(q1*3+q3); -per_frame_40=wave_mystery=.5*q6; -per_frame_41=warp=0; -per_frame_42=wave_mode=q8%7; -per_frame_43=decay=.98+q8*.001; -per_frame_44=monitor=q8; -per_pixel_1=c1=x*q1+sin(ang)*q4; -per_pixel_2=c2=y*q2+sin(ang)*q6; -per_pixel_3=c3=rad*q3; -per_pixel_4=radix=if(above(q5,0),min(c1,c2),max(c1,c2)); -per_pixel_5=radix=if(above(q6,0),min(radix,c3),max(radix,c3)); -per_pixel_6=rot=if(above(q6,0),rad*.2*q5,.2*q5*sin(rad*2.133*q7)); -per_pixel_7=zoom=if(below(abs(q1),.5),zoom,if(below(abs(q2),.5),1+.07*sin(q4*3.14*radix),1+.07*sin(radix*q8*q4*1.618))); diff --git a/presets_projectM/Unchained - Cranked On Failure.milk b/presets_projectM/Unchained - Cranked On Failure.milk deleted file mode 100755 index e5711779c8..0000000000 --- a/presets_projectM/Unchained - Cranked On Failure.milk +++ /dev/null @@ -1,97 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=0.998169 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.320553 -fWaveScale=100.000000 -fWaveSmoothing=0.450000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.772000 -fZoomExponent=1.960000 -fShader=0.190000 -zoom=0.999698 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.513000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.580000 -ib_size=0.015000 -ib_r=0.550000 -ib_g=1.000000 -ib_b=0.499900 -ib_a=1.000000 -per_frame_1=warp=0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=chaos=.9+.1*sin(pulse); -per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy)); -per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3); -per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3); -per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3); -per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_16=bass_residual = bass_changed*sin(pulse*.1*entropy) + bnot(bass_changed)*bass_residual; -per_frame_17=treb_residual = treb_changed*sin(pulse*.1*entropy) + bnot(treb_changed)*treb_residual; -per_frame_18=mid_residual = mid_changed*sin(pulse*.1*entropy) + bnot(mid_changed)*mid_residual; -per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid+thresh+treb_thresh)*.052+-(bass+treb+mid)*.01); -per_frame_20=q1=mid_residual; -per_frame_21=q2=bass_residual; -per_frame_22=q3=treb_residual; -per_frame_23=q4=sin(pulse); -per_frame_24=q5=sin(pulse/2); -per_frame_25=wave_r=wave_r+.5*bass_residual; -per_frame_26=wave_r=wave_g+.5*mid_residual; -per_frame_27=wave_r=wave_b+.5*treb_residual; -per_frame_28=wave_mystery=mid_residual; -per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r); -per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b); -per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g); -per_frame_32=ob_a=.05+.05*cos(wave_r+pulse*.03); -per_frame_33=ob_size=.2+.2*treb_residual; -per_frame_34=ib_r=if(bass_flop,ob_b,ob_g); -per_frame_35=ib_b=if(treb_flop,ob_g,ob_r); -per_frame_36=ib_g=if(mid_flop,ob_r,ob_b); -per_frame_37=ib_size=ob_size*cos(wave_g+pulse*0.4)*.5; -per_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y)); -per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad)); -per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot+.3*sin(radix*3.14*(q1+q2+q3))); -per_pixel_4=zoom=if(above(q2,0),zoom-cos(radix*3.14*q2)*.1,if(above(q3,0),1+q1*.05,1+.07*cos(radix*10*q1))); diff --git a/presets_projectM/Unchained - Goofy Beat Detection.milk b/presets_projectM/Unchained - Goofy Beat Detection.milk deleted file mode 100755 index 5aae92f80f..0000000000 --- a/presets_projectM/Unchained - Goofy Beat Detection.milk +++ /dev/null @@ -1,118 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=1.000000 -fDecay=0.992000 -fVideoEchoZoom=0.999400 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.059200 -fWaveScale=0.653093 -fWaveSmoothing=0.270000 -fWaveParam=-0.380000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=5.995790 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.008000 -rot=0.001900 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.500000 -ib_g=0.900000 -ib_b=0.500000 -ib_a=1.000000 -nMotionVectorsX=24.959999 -nMotionVectorsY=19.199999 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=1.000000 -per_frame_1=warp=0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=chaos=.9+.1*sin(pulse); -per_frame_6=entropy=if(equal(pulse,-20),1+bass_flop+treb_flop+mid_flop+rand(2),entropy); -per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.6)*chaos+1.6); -per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.6)*chaos+1.6); -per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.6)*chaos+1.6); -per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_16=bass_residual = bass_changed*sin(pulse*3) + bnot(bass_changed)*bass_residual; -per_frame_17=treb_residual = treb_changed*sin(pulse*3) + bnot(treb_changed)*treb_residual; -per_frame_18=mid_residual = mid_changed*sin(pulse*3) + bnot(mid_changed)*mid_residual; -per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+(bass_thresh+mid_thresh+treb_thresh)*.018); -per_frame_20=q1=mid_residual; -per_frame_21=q2=bass_residual; -per_frame_22=q3=treb_residual; -per_frame_23=q4=sin(pulse); -per_frame_24=q5=cos(pulse*(.5+.1*entropy)); -per_frame_25=q6=sin(pulse*(.5+pow(.25,entropy))); -per_frame_26=q7=above(q1,0)+above(q2,0)+above(q3,0)+above(q3,0)*treb_flop+above(q2,0)*bass_flop+above(q1,0)*mid_flop; -per_frame_27=q8=entropy; -per_frame_28=ob_r=.4+.4*sin(time*2.157+q6); -per_frame_29=ob_b=.8+.2*sin(time*1.689+q5); -per_frame_30=ob_g=.6+.4*sin(time*.413+q4); -per_frame_31=ib_r=.5+.5*cos(time*1.2+q1*.1); -per_frame_32=ib_b=.4+.4*cos(time*2.811+q2*.1); -per_frame_33=ib_g=.4+.4*cos(time*1.666+q3*.1); -per_frame_34=ib_size=.05+.03*q2; -per_frame_35=ob_size=.03+.02*sin(time*2.321+q2*.2); -per_frame_36=ob_a=.6+.4*q3; -per_frame_37=ib_a=.9+.1*sin(q2*.3+q4+q1*.5); -per_frame_38=mv_r=mv_r+.5*sin(q4+time*.678); -per_frame_39=mv_b=mv_b+.5*sin(q4+time*.789); -per_frame_40=mv_g=mv_g+.5*sin(q5+time*.456); -per_frame_41=mv_a=.2+.2*sin(time*1.178+q5*1.14); -per_frame_42=rot=0; -per_frame_43=wave_r=.6+.4*sin(q1+time*2.183); -per_frame_44=wave_b=.6+.4*sin(q2+time*1.211); -per_frame_45=wave_g=.6+.4*sin(q3+time*1.541); -per_frame_46=wave_mystery=wave_mystery+.5*sin(time*2.18+q6); -per_frame_47=wave_x=wave_x+.3*sin(time*.811)+.005*(frame%3); -per_frame_48=wave_y=wave_y+.3*sin(time*.788)+.005*(frame%3); -per_frame_49=wave_a=3+sin(time*1.414)+q3; -per_frame_50=wave_mode=q7; -per_frame_51=zoom=1+.7*sin(time*1.51); -per_pixel_1=rot=if(above(q4,0),rad*.2*q5,sin(rad*(q4+q3))); -per_pixel_2=zoom=if(above(q2,0),zoom+(1-zoom)*rot*cos(rad*3.14*q2),if(above(q3,0)*above(x,.5+.5*q5),zoom+(1-zoom)*sin(q1*rot*3.14),zoom+(1-zoom)*cos(rad*10*q6))); -per_pixel_3=dx=above(q1,0)*sin(rad*.5*q2); -per_pixel_4=dy=above(q3,0)*sin(rad*.5*q3); diff --git a/presets_projectM/Unchained - Jaded Emotion.milk b/presets_projectM/Unchained - Jaded Emotion.milk deleted file mode 100755 index fa422ed756..0000000000 --- a/presets_projectM/Unchained - Jaded Emotion.milk +++ /dev/null @@ -1,75 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=0.996630 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=3 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.005729 -fWaveScale=7.184967 -fWaveSmoothing=0.900000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.000000 -wave_g=0.000000 -wave_b=0.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.005000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.250000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=0.100000 -per_frame_1=warp = 0; -per_frame_2=wave_r = wave_r + bass*.5; -per_frame_3=wave_g = wave_g + treb*.5; -per_frame_4=wave_b = wave_b + mid*.5; -per_frame_5=ib_r = ib_r + .4*sin(time*.222); -per_frame_6=ib_g = ib_g + .4*sin(time*.333); -per_frame_7=ib_b = ib_b + .4*sin(time*.111); -per_frame_8=ib_a = ib_a + .05*sin(time*.555); -per_frame_9=ib_size = ib_size + .24*sin(time*.444); -per_frame_10=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_11=cx_residual = equal(bass_thresh,2)*0.016*sin(time*7) + (1-equal(bass_thresh,2))*cx_residual; -per_frame_12=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); -per_frame_13=cy_residual = equal(treb_thresh,2)*0.016*sin(time*7) + (1-equal(treb_thresh,2))*cy_residual; -per_frame_14=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); -per_frame_15=rot_residual = equal(mid_thresh,2)*0.016*sin(time*7) + (1-equal(mid_thresh,2))*rot_residual; -per_frame_16=cx=cx_residual+sin(time*.888); -per_frame_17=cy=cy_residual+sin(time*.999); -per_frame_18=rot=rot_residual*3; -per_pixel_1=zoom=zoom+cos(rad*10*sin(time*.666))*.07; diff --git a/presets_projectM/Unchained - Morat's Final Voyage.milk b/presets_projectM/Unchained - Morat's Final Voyage.milk deleted file mode 100755 index f00c28e37d..0000000000 --- a/presets_projectM/Unchained - Morat's Final Voyage.milk +++ /dev/null @@ -1,83 +0,0 @@ -[preset00] -fRating=2.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=1.001825 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=3 -nWaveMode=2 -bAdditiveWaves=1 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.976151 -fWaveScale=0.931000 -fWaveSmoothing=0.180000 -fWaveParam=-0.320000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=2.300000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.500000 -ob_g=0.500000 -ob_b=0.500000 -ob_a=1.000000 -ib_size=0.010000 -ib_r=0.500000 -ib_g=0.500000 -ib_b=0.500000 -ib_a=1.000000 -per_frame_1=warp = 0; -per_frame_2=old_bass_flop=bass_flop; -per_frame_3=old_treb_flop=treb_flop; -per_frame_4=old_mid_flop=mid_flop; -per_frame_5=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3); -per_frame_6=bass_flop=abs(bass_flop-equal(bass_thresh,2)); -per_frame_7=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*0.96+1.3); -per_frame_8=treb_flop=abs(treb_flop-equal(treb_thresh,2)); -per_frame_9=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*0.96+1.3); -per_frame_10=mid_flop=abs(mid_flop-equal(mid_thresh,2)); -per_frame_11=bass_changed=bnot(equal(old_bass_flop,bass_flop)); -per_frame_12=mid_changed=bnot(equal(old_mid_flop,mid_flop)); -per_frame_13=treb_changed=bnot(equal(old_treb_flop,treb_flop)); -per_frame_14=pulse=if(above(abs(pulse),5000),-5000,pulse+mid_att*.1*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)); -per_frame_15=wave_b=if(treb_changed,1,if(mid_changed,.45,-.45))*q4; -per_frame_16=wave_g=if(bass_changed,.1,bass_flop); -per_frame_17=wave_r=if(mid_flop,1,.5*q2*treb_flop); -per_frame_18=ib_b=ib_b+.5*sin(pulse); -per_frame_19=ib_g=ib_g+5*sin(pulse*.8); -per_frame_20=ib_r=ib_r+5*sin(pulse*.8); -per_frame_21=ob_b=wave_r; -per_frame_22=ob_g=wave_b; -per_frame_23=ob_r=wave_g; -per_frame_24=wave_mystery=sin(pulse); -per_frame_25=q1=pulse; -per_pixel_1=zoom=zoom-cos(x*10*sin(time+q1*.9)-10*sin(time+q1))*.1-sin(rad*10*sin(time+q1*.5))*.1; -per_pixel_2=rot=rot+abs(1-zoom)*sin(time+q1)*2; diff --git a/presets_projectM/Zylot - Block Of Sound (Abstract Architecture Mix).milk b/presets_projectM/Zylot - Block Of Sound (Abstract Architecture Mix).milk deleted file mode 100755 index bf36f49d2d..0000000000 --- a/presets_projectM/Zylot - Block Of Sound (Abstract Architecture Mix).milk +++ /dev/null @@ -1,218 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=2.000000 -fDecay=0.980000 -fVideoEchoZoom=2.000000 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=2 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.124746 -fWaveSmoothing=0.000000 -fWaveParam=-0.500000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.000000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.000000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=1.000000 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.500000 -wave_b=0.500000 -wave_x=0.030000 -wave_y=0.960000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.010000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=2.016000 -mv_dx=0.000000 -mv_dy=-0.100000 -mv_l=5.000000 -mv_r=0.000000 -mv_g=0.000000 -mv_b=0.700000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.100000 -shapecode_0_ang=0.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=0.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=1.000000 -shape_0_per_frame1=ang = ang + 10*sin(time*.8); -shape_0_per_frame2=vol = 0.167*(bass+mid+att); -shape_0_per_frame3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -shape_0_per_frame4=xamp = xamp + 0.5*(xamptarg-xamp); -shape_0_per_frame5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -shape_0_per_frame6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -shape_0_per_frame7=xpos = xpos + 0.001*xspeed; -shape_0_per_frame8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -shape_0_per_frame9=yamp = yamp + 0.5*(yamptarg-yamp); -shape_0_per_frame10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -shape_0_per_frame11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -shape_0_per_frame12=ypos = ypos + 0.001*yspeed; -shape_0_per_frame13=x = centerx; -shape_0_per_frame14=y = abs(centery-1); -shape_0_per_frame15=centerx = 1.75*xpos + 0.5; -shape_0_per_frame16=centery = 1.75*ypos + 0.5; -shape_0_per_frame17=r2 = .5+.2*sin(time*.666); -shape_0_per_frame18=g2 = .5+.2*sin(time*.555); -shape_0_per_frame19=b2 = .5+.2*sin(time*.777); -shape_0_per_frame20=rad = rad + bass*.1; -shape_0_per_frame21=border_r = bass*.3; -shape_0_per_frame22=border_g = treb*.3; -shape_0_per_frame23=border_b = mis*.3; -shape_0_per_frame24=r = if(above(bass,1.3),1,0); -shape_0_per_frame25=g = if(above(bass,1.3),1,0); -shape_0_per_frame26=b = if(above(bass,1.3),1,0); -shapecode_1_enabled=0 -shapecode_1_sides=4 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.100000 -shapecode_1_ang=0.000000 -shapecode_1_r=1.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.100000 -shapecode_2_enabled=0 -shapecode_2_sides=4 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_r=1.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=1.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.100000 -per_frame_1=warp = 0; -per_frame_2=vol = 0.167*(bass+mid+att); -per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg); -per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp); -per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); -per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp); -per_frame_7=xpos = xpos + 0.001*xspeed; -per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg); -per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp); -per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); -per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp); -per_frame_12=ypos = ypos + 0.001*yspeed; -per_frame_13=wave_x = centerx; -per_frame_14=wave_y = abs(centery-1); -per_frame_15=centerx = 1.75*xpos + 0.5; -per_frame_16=centery = 1.75*ypos + 0.5; -per_frame_17=q1 = centerx; -per_frame_18=q2 = centery; -per_frame_19=q3 = .06 + bass*.04; -per_frame_20=wave_r = bass*.3; -per_frame_21=wave_g = treb*.3; -per_frame_22=wave_b = mid*.3; -per_pixel_1=zoom = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),1,.94+ze),.94+ze),.94+ze),.94+ze); -per_pixel_2=zoomerx = if(above(x,q1),.01,-.01); -per_pixel_3=zoomery = if(above(y,q2),.01,-.01); -per_pixel_4=dx = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomerx,.7+dxe),.7+dxe),.7+dxe),.7+dxe); -per_pixel_5=dy = if(above(x,q1 - q3),if(below(x,q1 + q3),if(above(y,q2 - q3),if(below(y,q2 + q3),zoomery,.7+dye),.7+dye),.7+dye),.7+dye); -per_pixel_6=dxe = .2 + .2*sin(time*.444); -per_pixel_7=dye = .2+.2*cos(time*.222); -per_pixel_8=ze = .04*sin(time*.777); diff --git a/presets_projectM/Zylot - Magma Crawl.milk b/presets_projectM/Zylot - Magma Crawl.milk deleted file mode 100755 index 1b370a1a75..0000000000 --- a/presets_projectM/Zylot - Magma Crawl.milk +++ /dev/null @@ -1,49 +0,0 @@ -[preset00] -fGammaAdj=2.000000 -fDecay=0.999000 -fVideoEchoZoom=4.013491 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=3.300382 -fWarpScale=2.704811 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.010000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=2.448628 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.300000 -wave_b=0.000000 -wave_x=0.080000 -wave_y=0.500000 -per_frame_1=decay = .999999970089; -per_frame_2=wave_g = sin(time); -per_pixel_1=dx = dx + ((x + 1)*0.001) * -rand(40); - diff --git a/presets_projectM/Zylot - Magma Vein.milk b/presets_projectM/Zylot - Magma Vein.milk deleted file mode 100755 index 8aa5a5c4ce..0000000000 --- a/presets_projectM/Zylot - Magma Vein.milk +++ /dev/null @@ -1,50 +0,0 @@ -[preset00] -fGammaAdj=2.000000 -fDecay=0.999000 -fVideoEchoZoom=4.013491 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=2 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=1 -bTexWrap=1 -bDarkenCenter=0 -bMotionVectorsOn=0 -bRedBlueStereo=0 -nMotionVectorsX=12 -nMotionVectorsY=9 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.800000 -fWaveScale=1.000000 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=0.750000 -fModWaveAlphaEnd=0.950000 -fWarpAnimSpeed=3.300382 -fWarpScale=2.704811 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=1.010000 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=2.448628 -sx=1.000000 -sy=1.000000 -wave_r=0.500000 -wave_g=0.300000 -wave_b=0.000000 -wave_x=0.080000 -wave_y=0.500000 -per_frame_1=decay = .999999970089; -per_frame_2=wave_g = sin(time); -per_frame_3=warp = 0; -per_pixel_1=dx = dx + ((x + 1)*.001) * -rand(60); -fRating=1.000000 diff --git a/presets_projectM/Zylot - PinWheel.milk b/presets_projectM/Zylot - PinWheel.milk deleted file mode 100755 index 40e7105954..0000000000 --- a/presets_projectM/Zylot - PinWheel.milk +++ /dev/null @@ -1,169 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.997000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=3.041877 -fWaveScale=0.010000 -fWaveSmoothing=0.270000 -fWaveParam=-0.380000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.340000 -shapecode_0_ang=0.530000 -shapecode_0_r=0.560000 -shapecode_0_g=0.360000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.900000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang = ang + time; -shapecode_1_enabled=1 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.410000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.800000 -shapecode_1_b=0.700000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.400000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=ang = ang - time*.333; -shapecode_2_enabled=1 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.210000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.840000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=0.580000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=ang = ang + time*4; -per_frame_1=warp = 0; -per_frame_2=decay = .92; -per_pixel_1=zoom = zoom + .1; -per_pixel_2=rot = rot + rad*.1; diff --git a/presets_projectM/Zylot - Visionarie.milk b/presets_projectM/Zylot - Visionarie.milk deleted file mode 100755 index 84992bc066..0000000000 --- a/presets_projectM/Zylot - Visionarie.milk +++ /dev/null @@ -1,174 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=0.997000 -fVideoEchoZoom=0.996629 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=1 -nWaveMode=0 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=1 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=0.010000 -fWaveSmoothing=0.270000 -fWaveParam=-0.380000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.500000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.260000 -ib_r=1.000000 -ib_g=1.000000 -ib_b=1.000000 -ib_a=0.000000 -nMotionVectorsX=64.000000 -nMotionVectorsY=48.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.850000 -mv_r=0.499900 -mv_g=0.499900 -mv_b=0.499900 -mv_a=0.000000 -wavecode_0_enabled=1 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=x = .5 + (bass*.2)*sin(sample*2*(time*10)); -wave_0_per_point2=y = .5 + (bass*.2)*cos(sample*2*(time*10)); -wave_0_per_point3=r = sample; -wave_0_per_point4=g = x; -wave_0_per_point5=b = y; -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -shapecode_0_enabled=0 -shapecode_0_sides=3 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.340000 -shapecode_0_ang=0.530000 -shapecode_0_r=0.560000 -shapecode_0_g=0.360000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.900000 -shapecode_0_g2=1.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=0.000000 -shapecode_0_border_g=0.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=ang = ang + time; -shapecode_1_enabled=0 -shapecode_1_sides=3 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.410000 -shapecode_1_ang=0.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.800000 -shapecode_1_b=0.700000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.400000 -shapecode_1_b2=1.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=ang = ang - time*.333; -shapecode_2_enabled=0 -shapecode_2_sides=3 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.210000 -shapecode_2_ang=0.000000 -shapecode_2_r=0.840000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=1.000000 -shapecode_2_g2=0.580000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=ang = ang + time*4; -per_frame_1=warp = 0; -per_frame_2=decay = .92; -per_pixel_1=zoom = zoom + .1; -per_pixel_2=rot = rot + rad*.1; diff --git a/presets_projectM/project.tga b/presets_projectM/project.tga deleted file mode 100644 index 3c8e8ca3f8..0000000000 Binary files a/presets_projectM/project.tga and /dev/null differ diff --git a/presets_projectM/shifter - spincycle b.milk b/presets_projectM/shifter - spincycle b.milk deleted file mode 100755 index 47bce43b3a..0000000000 --- a/presets_projectM/shifter - spincycle b.milk +++ /dev/null @@ -1,326 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=1.488281 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=1 -nWaveMode=7 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=0 -bModWaveAlphaByVolume=1 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=1 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=0.001000 -fWaveScale=1.285751 -fWaveSmoothing=0.630000 -fWaveParam=0.000000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=5.428738 -fShader=0.000000 -zoom=1.009509 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.162174 -sx=1.000000 -sy=1.000000 -wave_r=0.650000 -wave_g=0.650000 -wave_b=0.650000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.010000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.260000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=51 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=1 -wavecode_0_bDrawThick=1 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.327350 -wavecode_0_smoothing=0.820000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=3.000000 -wavecode_0_a=1.000000 -wave_0_per_point1=x = rand(1001)*.001; -wave_0_per_point2=y = rand(1001)*.001; -wave_0_per_point3= -wave_0_per_point4=tm = time*.5 + sample*2; -wave_0_per_point5= -wave_0_per_point6=r = .5 + .5*sin(tm*1.132); -wave_0_per_point7=g = .5 + .5*sin(tm*1.121); -wave_0_per_point8=b = .5 + .5*sin(tm*1.187); -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=51 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=1 -wavecode_1_bDrawThick=1 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.327350 -wavecode_1_smoothing=0.820000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=3.000000 -wavecode_1_a=1.000000 -wave_1_per_point1=x = rand(1001)*.001; -wave_1_per_point2=y = rand(1001)*.001; -wave_1_per_point3= -wave_1_per_point4=tm = time*.5 + sample*2; -wave_1_per_point5= -wave_1_per_point6=r = .5 + .5*sin(tm*1.132); -wave_1_per_point7=g = .5 + .5*sin(tm*1.121); -wave_1_per_point8=b = .5 + .5*sin(tm*1.187); -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=51 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=1 -wavecode_2_bDrawThick=1 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.327350 -wavecode_2_smoothing=0.820000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=3.000000 -wavecode_2_a=1.000000 -wave_2_per_point1=x = rand(1001)*.001; -wave_2_per_point2=y = rand(1001)*.001; -wave_2_per_point3= -wave_2_per_point4=tm = time*.5 + sample*2; -wave_2_per_point5= -wave_2_per_point6=r = .5 + .5*sin(tm*1.132); -wave_2_per_point7=g = .5 + .5*sin(tm*1.121); -wave_2_per_point8=b = .5 + .5*sin(tm*1.187); -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=51 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=1 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=1 -wavecode_3_scaling=1.327350 -wavecode_3_smoothing=0.820000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=3.000000 -wavecode_3_a=1.000000 -wave_3_per_point1=x = rand(1001)*.001; -wave_3_per_point2=y = rand(1001)*.001; -wave_3_per_point3= -wave_3_per_point4=tm = time*.5 + sample*2; -wave_3_per_point5= -wave_3_per_point6=r = .5 + .5*sin(tm*1.132); -wave_3_per_point7=g = .5 + .5*sin(tm*1.121); -wave_3_per_point8=b = .5 + .5*sin(tm*1.187); -shapecode_0_enabled=1 -shapecode_0_sides=54 -shapecode_0_additive=0 -shapecode_0_thickOutline=0 -shapecode_0_textured=0 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.081954 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=0.000000 -shapecode_0_g=0.000000 -shapecode_0_b=0.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=0.000000 -shapecode_0_g2=0.000000 -shapecode_0_b2=0.000000 -shapecode_0_a2=0.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=1.000000 -shapecode_0_border_a=0.000000 -shape_0_per_frame1=x=q1; -shape_0_per_frame2=y=1-q2; -shape_0_per_frame3= -shape_0_per_frame4=rad = treb*.1; -shapecode_1_enabled=1 -shapecode_1_sides=54 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=0 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.081954 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=0.000000 -shapecode_1_g=0.000000 -shapecode_1_b=0.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=0.000000 -shapecode_1_g2=0.000000 -shapecode_1_b2=0.000000 -shapecode_1_a2=0.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=x=q3; -shape_1_per_frame2=y=1-q4; -shape_1_per_frame3= -shape_1_per_frame4=rad = .1*mid; -shapecode_2_enabled=1 -shapecode_2_sides=54 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.081954 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=1.000000 -shapecode_2_g=1.000000 -shapecode_2_b=1.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x=q5; -shape_2_per_frame2=y=1-q6; -shape_2_per_frame3=r = 1; -shape_2_per_frame4=g = .4 + .4*sin(time*1.342); -shape_2_per_frame5=b = 0; -shape_2_per_frame6= -shape_2_per_frame7=rad = .1*bass; -shapecode_3_enabled=0 -shapecode_3_sides=4 -shapecode_3_additive=0 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.100000 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=0.000000 -shapecode_3_b=0.000000 -shapecode_3_a=1.000000 -shapecode_3_r2=0.000000 -shapecode_3_g2=1.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.100000 -per_frame_1=warp = 0; -per_frame_2= -per_frame_3=tic = min(time - tin,.1); -per_frame_4=tin = time; -per_frame_5= -per_frame_6=ra = 10; -per_frame_7=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb); -per_frame_8=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid); -per_frame_9=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass); -per_frame_10= -per_frame_11=rb = 1; -per_frame_12=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333); -per_frame_13= -per_frame_14=tt = tt + tic*treb_avg; -per_frame_15=mt = mt + tic*mid_avg; -per_frame_16=bt = bt + tic*bass_avg; -per_frame_17=vt = vt + tic*(treb_avg+mid_avg+bass_avg)*.33333; -per_frame_18= -per_frame_19=sz = .2; -per_frame_20= -per_frame_21=q1 = .5 + sz*sin(tt*.629) - sz*sin(tt*.107); -per_frame_22=q2 = .5 + sz*sin(tt*.987) - sz*sin(tt*.456); -per_frame_23= -per_frame_24=q3 = .5 + sz*sin(mt*.654) - sz*sin(mt*.355); -per_frame_25=q4 = .5 + sz*sin(mt*.548) - sz*sin(mt*.875); -per_frame_26= -per_frame_27=q5 = .5 + sz*sin(bt*.687) - sz*sin(bt*.318); -per_frame_28=q6 = .5 + sz*sin(bt*.465) - sz*sin(bt*.526); -per_frame_29= -per_frame_30= -per_pixel_1=xd = q1-x; -per_pixel_2=yd = q2-y; -per_pixel_3= -per_pixel_4=dis = pow(xd*xd+yd*yd,.5); -per_pixel_5=des = 1 - dis*.7071068; -per_pixel_6=des = pow(des,8)*-treb; -per_pixel_7=an = acos(abs(xd)/dis); -per_pixel_8= -per_pixel_9=dx = sign(xd)*.07*cos(an)*des; -per_pixel_10=dy = sign(yd)*.07*sin(an)*des; -per_pixel_11= -per_pixel_12=dy = dy + sign(xd)*treb*.05*cos(an)*des; -per_pixel_13=dx = dx + sign(yd)*treb*.05*sin(an)*des*-1; -per_pixel_14= -per_pixel_15=xd = q3-x; -per_pixel_16=yd = q4-y; -per_pixel_17= -per_pixel_18=dis = pow(xd*xd+yd*yd,.5); -per_pixel_19=des = 1 - dis*.7071068; -per_pixel_20=des = pow(des,8)*-mid; -per_pixel_21=an = acos(abs(xd)/dis); -per_pixel_22= -per_pixel_23=dx = dx + sign(xd)*.07*cos(an)*des; -per_pixel_24=dy = dy + sign(yd)*.07*sin(an)*des; -per_pixel_25= -per_pixel_26=dy = dy + sign(xd)*mid*.05*cos(an)*des; -per_pixel_27=dx = dx + sign(yd)*mid*.05*sin(an)*des*-1; -per_pixel_28= -per_pixel_29=xd = q5-x; -per_pixel_30=yd = q6-y; -per_pixel_31= -per_pixel_32=dis = pow(xd*xd+yd*yd,.5); -per_pixel_33=des = 1 - dis*.7071068; -per_pixel_34=des = pow(des,8)*-bass; -per_pixel_35=an = acos(abs(xd)/dis); -per_pixel_36= -per_pixel_37=dx = dx + sign(xd)*.07*cos(an)*des; -per_pixel_38=dy = dy + sign(yd)*.07*sin(an)*des; -per_pixel_39= -per_pixel_40=dy = dy + sign(xd)*bass*.05*cos(an)*des; -per_pixel_41=dx = dx + sign(yd)*bass*.05*sin(an)*des*-1; -per_pixel_42= diff --git a/presets_projectM/shifter - timepeice.milk b/presets_projectM/shifter - timepeice.milk deleted file mode 100755 index e48657307a..0000000000 --- a/presets_projectM/shifter - timepeice.milk +++ /dev/null @@ -1,264 +0,0 @@ -[preset00] -fRating=3.000000 -fGammaAdj=1.000000 -fDecay=1.000000 -fVideoEchoZoom=0.999608 -fVideoEchoAlpha=0.500000 -nVideoEchoOrientation=0 -nWaveMode=6 -bAdditiveWaves=0 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=0 -bSolarize=0 -bInvert=0 -fWaveAlpha=4.099998 -fWaveScale=0.408324 -fWaveSmoothing=0.000000 -fWaveParam=1.000000 -fModWaveAlphaStart=1.000000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000158 -fWarpScale=0.241455 -fZoomExponent=1.000000 -fShader=0.000000 -zoom=0.999514 -rot=0.180000 -cx=0.500000 -cy=0.500000 -dx=0.004000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=1.000000 -wave_y=0.500000 -ob_size=0.030000 -ob_r=0.010000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=0.000000 -ib_size=0.050000 -ib_r=0.000000 -ib_g=0.000000 -ib_b=0.000000 -ib_a=0.000000 -nMotionVectorsX=12.000000 -nMotionVectorsY=9.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=0.900000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=0.000000 -wavecode_0_enabled=0 -wavecode_0_samples=512 -wavecode_0_sep=0 -wavecode_0_bSpectrum=0 -wavecode_0_bUseDots=0 -wavecode_0_bDrawThick=0 -wavecode_0_bAdditive=0 -wavecode_0_scaling=1.000000 -wavecode_0_smoothing=0.500000 -wavecode_0_r=1.000000 -wavecode_0_g=1.000000 -wavecode_0_b=1.000000 -wavecode_0_a=1.000000 -wavecode_1_enabled=0 -wavecode_1_samples=512 -wavecode_1_sep=0 -wavecode_1_bSpectrum=0 -wavecode_1_bUseDots=0 -wavecode_1_bDrawThick=0 -wavecode_1_bAdditive=0 -wavecode_1_scaling=1.000000 -wavecode_1_smoothing=0.500000 -wavecode_1_r=1.000000 -wavecode_1_g=1.000000 -wavecode_1_b=1.000000 -wavecode_1_a=1.000000 -wavecode_2_enabled=0 -wavecode_2_samples=512 -wavecode_2_sep=0 -wavecode_2_bSpectrum=0 -wavecode_2_bUseDots=0 -wavecode_2_bDrawThick=0 -wavecode_2_bAdditive=0 -wavecode_2_scaling=1.000000 -wavecode_2_smoothing=0.500000 -wavecode_2_r=1.000000 -wavecode_2_g=1.000000 -wavecode_2_b=1.000000 -wavecode_2_a=1.000000 -wavecode_3_enabled=0 -wavecode_3_samples=512 -wavecode_3_sep=0 -wavecode_3_bSpectrum=0 -wavecode_3_bUseDots=0 -wavecode_3_bDrawThick=0 -wavecode_3_bAdditive=0 -wavecode_3_scaling=1.000000 -wavecode_3_smoothing=0.500000 -wavecode_3_r=1.000000 -wavecode_3_g=1.000000 -wavecode_3_b=1.000000 -wavecode_3_a=1.000000 -shapecode_0_enabled=1 -shapecode_0_sides=40 -shapecode_0_additive=0 -shapecode_0_thickOutline=1 -shapecode_0_textured=1 -shapecode_0_x=0.500000 -shapecode_0_y=0.500000 -shapecode_0_rad=0.599571 -shapecode_0_ang=0.000000 -shapecode_0_tex_ang=0.000000 -shapecode_0_tex_zoom=1.000000 -shapecode_0_r=1.000000 -shapecode_0_g=1.000000 -shapecode_0_b=1.000000 -shapecode_0_a=1.000000 -shapecode_0_r2=1.000000 -shapecode_0_g2=1.000000 -shapecode_0_b2=1.000000 -shapecode_0_a2=1.000000 -shapecode_0_border_r=1.000000 -shapecode_0_border_g=1.000000 -shapecode_0_border_b=0.000000 -shapecode_0_border_a=1.000000 -shape_0_init1=bob = 1.5; -shape_0_init2=ro = 0; -shape_0_init3=red = rand(10); -shape_0_per_frame1=vol = 1 + 0.2*((bass_att+treb_att+mid_att)/3); -shape_0_per_frame2=bob = bob*above(bob,0.01) - 0.01 + 1*(1 - above(bob,0.01)); -shape_0_per_frame3=bob = 0.4 + 0.4*sin(time*0.8); -shape_0_per_frame4=bob = bob*vol; -shape_0_per_frame5=rad = bob; -shape_0_per_frame6=border_1 = 0.4; -shape_0_per_frame7=sides = 30; -shape_0_per_frame8=ro = ro + 0.03; -shape_0_per_frame9=ang = ro; -shape_0_per_frame10=rad = 1; -shape_0_per_frame11= -shape_0_per_frame12=sp = red*0.1*0.015; -shape_0_per_frame13=spi = 0.3 - sp; -shape_0_per_frame14=tm = time*0.1; -shape_0_per_frame15=border_r = 0.6 + sp*sin(tm*0.6) + spi*cos(tm*1.46); -shape_0_per_frame16=border_g = 0.6 + sp*sin(tm*1.294) + spi*cos(tm*0.87); -shape_0_per_frame17=border_b = 0.6 + sp*sin(tm*1.418) + spi*cos(tm*0.76); -shapecode_1_enabled=1 -shapecode_1_sides=40 -shapecode_1_additive=0 -shapecode_1_thickOutline=0 -shapecode_1_textured=1 -shapecode_1_x=0.500000 -shapecode_1_y=0.500000 -shapecode_1_rad=0.221671 -shapecode_1_ang=0.000000 -shapecode_1_tex_ang=0.000000 -shapecode_1_tex_zoom=1.000000 -shapecode_1_r=1.000000 -shapecode_1_g=1.000000 -shapecode_1_b=1.000000 -shapecode_1_a=1.000000 -shapecode_1_r2=1.000000 -shapecode_1_g2=1.000000 -shapecode_1_b2=1.000000 -shapecode_1_a2=1.000000 -shapecode_1_border_r=1.000000 -shapecode_1_border_g=1.000000 -shapecode_1_border_b=1.000000 -shapecode_1_border_a=0.000000 -shape_1_per_frame1=xm = 1 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); -shape_1_per_frame2=ym = 1 + 0.5*(sin(time*1.8)*0.6 + 0.4*sin(time*0.315)); -shape_1_per_frame3=x = 0.5 + xm*0.22*sin(time*1.3); -shape_1_per_frame4=y = 0.5 + ym*0.3*cos(time*1.3); -shape_1_per_frame5=x = 0.5; -shape_1_per_frame6=y = 0.8; -shapecode_2_enabled=1 -shapecode_2_sides=40 -shapecode_2_additive=0 -shapecode_2_thickOutline=0 -shapecode_2_textured=0 -shapecode_2_x=0.500000 -shapecode_2_y=0.500000 -shapecode_2_rad=0.100000 -shapecode_2_ang=0.000000 -shapecode_2_tex_ang=0.000000 -shapecode_2_tex_zoom=1.000000 -shapecode_2_r=0.000000 -shapecode_2_g=0.000000 -shapecode_2_b=0.000000 -shapecode_2_a=1.000000 -shapecode_2_r2=0.000000 -shapecode_2_g2=0.000000 -shapecode_2_b2=0.000000 -shapecode_2_a2=0.000000 -shapecode_2_border_r=1.000000 -shapecode_2_border_g=1.000000 -shapecode_2_border_b=1.000000 -shapecode_2_border_a=0.000000 -shape_2_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); -shape_2_per_frame2=x = 0.5 + 1.5*0.22*sin(time + 3.14); -shape_2_per_frame3=y = 0.5 + 1.5*0.3*cos(time + 3.14); -shape_2_per_frame4=ar = sin(time*0.9); -shape_2_per_frame5=ag = sin(time*0.7); -shape_2_per_frame6=ab = sin(time*1.3); -shape_2_per_frame7= -shape_2_per_frame8=arad = rad*(bass_att + mid_att + treb_att)/3; -shapecode_3_enabled=1 -shapecode_3_sides=40 -shapecode_3_additive=1 -shapecode_3_thickOutline=0 -shapecode_3_textured=0 -shapecode_3_x=0.500000 -shapecode_3_y=0.500000 -shapecode_3_rad=0.270450 -shapecode_3_ang=0.000000 -shapecode_3_tex_ang=0.000000 -shapecode_3_tex_zoom=1.000000 -shapecode_3_r=1.000000 -shapecode_3_g=1.000000 -shapecode_3_b=1.000000 -shapecode_3_a=0.700000 -shapecode_3_r2=0.000000 -shapecode_3_g2=0.000000 -shapecode_3_b2=0.000000 -shapecode_3_a2=0.000000 -shapecode_3_border_r=1.000000 -shapecode_3_border_g=1.000000 -shapecode_3_border_b=1.000000 -shapecode_3_border_a=0.000000 -shape_3_per_frame1=x = 0.5 + 0.5*(sin(time*1.1)*0.3 + 0.7*sin(time*0.5)); -shape_3_per_frame2=x = 0.5 + 0.22*sin(time); -shape_3_per_frame3=y = 0.5 + 0.3*cos(time); -shape_3_per_frame4=x = 0.5; -shape_3_per_frame5=y = 0.5; -shape_3_per_frame6=rad = rad*(bass_att + mid_att + treb_att)/3; -per_frame_init_1=red = rand(20); -per_frame_1=dx = 0; -per_frame_2=dy = 0; -per_frame_3=wave_x = 0.5; -per_frame_4=sx = 1.1; -per_frame_5= -per_frame_6=rot = 0.05; -per_frame_7= -per_frame_8=sp = red*0.15*0.05; -per_frame_9=spi = 0.3 - sp; -per_frame_10= -per_frame_11=tm = time*0.1; -per_frame_12=wave_r = 0.3 + sp*sin(tm*0.6) + spi*cos(tm*1.46); -per_frame_13=wave_g = 0.3 + sp*sin(tm*1.294) + spi*cos(tm*0.87); -per_frame_14=wave_b = 0.3 + sp*sin(tm*1.418) + spi*cos(tm*0.76); -per_pixel_1=st = if(above(bass_att,1),(bass_att-1)*2 + 1,0); -per_pixel_2=warp = st*1.950*(x-0.5); diff --git a/presets_test/CVS/Entries b/presets_test/CVS/Entries deleted file mode 100755 index 8fe4f44f9b..0000000000 --- a/presets_test/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/A.milk/1.1.1.1/Mon Oct 4 12:56:00 2004// -D diff --git a/presets_test/CVS/Repository b/presets_test/CVS/Repository deleted file mode 100755 index 351e0a09b1..0000000000 --- a/presets_test/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/presets_test diff --git a/presets_test/CVS/Root b/presets_test/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/presets_test/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/presets_yin/CVS/Entries b/presets_yin/CVS/Entries deleted file mode 100755 index c60120fa88..0000000000 --- a/presets_yin/CVS/Entries +++ /dev/null @@ -1,39 +0,0 @@ -/yin - 010 - Symphonic innerverse.milk/1.1/Thu Sep 16 22:01:38 2004// -/yin - 011 - Symphonic innerverse (deaf mix).milk/1.1/Thu Sep 2 20:53:44 2004// -/yin - 020 - I have no feet and I must dance.milk/1.1/Thu Sep 2 20:54:34 2004// -/yin - 030 - Dance with the ocean.milk/1.1/Thu Sep 2 20:55:38 2004// -/yin - 040 - Myopic infected 3d VU meters.milk/1.1/Fri Sep 3 09:23:06 2004// -/yin - 041 - Myopic infected 3d VU meters (remix).milk/1.1/Sun Sep 5 20:31:32 2004// -/yin - 050 - Van Gogh's nightmare.milk/1.1/Thu Sep 2 20:56:26 2004// -/yin - 051 - Van Gogh's nightmare (in depth).milk/1.1/Thu Sep 2 20:56:44 2004// -/yin - 060 - PLU.milk/1.1/Thu Sep 2 21:13:36 2004// -/yin - 070 - Speaks for itsself.milk/1.1/Thu Sep 2 20:57:08 2004// -/yin - 080 - Dream Universe.milk/1.1/Thu Sep 2 21:25:20 2004// -/yin - 090 - Exit eternity.milk/1.1/Thu Sep 2 20:57:28 2004// -/yin - 100 - Through the ether.milk/1.1/Sat Sep 18 11:22:12 2004// -/yin - 101 - Through the ether (Phase Two).milk/1.1/Sat Sep 18 11:22:04 2004// -/yin - 102 - Through the ether (The separation).milk/1.1/Thu Sep 16 20:42:14 2004// -/yin - 110 - Survival of the fastest.milk/1.1/Thu Sep 2 20:59:12 2004// -/yin - 111 - Survival of the fastest (Volume gravity).milk/1.1/Thu Sep 2 20:59:34 2004// -/yin - 112 - Survival of the fastest (Sudden death).milk/1.1/Thu Sep 2 20:59:50 2004// -/yin - 113 - Survival of the fastest (The Grand Arena).milk/1.1/Thu Sep 2 21:00:26 2004// -/yin - 114 - Survival of the fastest (feat. Guest Star).milk/1.1/Thu Sep 2 21:19:06 2004// -/yin - 115 - Survival of the fastest (feat. Collapsing Guest Star).milk/1.1/Thu Sep 2 21:02:28 2004// -/yin - 116 - Survival of the fastest (is watched!).milk/1.1/Thu Sep 2 21:03:32 2004// -/yin - 120 - Resonant consciousness.milk/1.1/Tue Sep 7 23:45:26 2004// -/yin - 130 - Karmic energies.milk/1.1/Thu Sep 2 21:11:52 2004// -/yin - 140 - Ohm to the stars.milk/1.1/Thu Sep 2 21:11:44 2004// -/yin - 141 - Ohm to the stars (ESP).milk/1.1/Thu Sep 2 21:11:38 2004// -/yin - 150 - Pap says there's no centrifugal.milk/1.1/Sat Sep 4 18:47:10 2004// -/yin - 160 - Controversial.milk/1.1/Thu Sep 2 21:11:24 2004// -/yin - 170 - Take a deep breath.milk/1.1/Thu Sep 2 21:11:14 2004// -/yin - 180 - Pyrotechnics.milk/1.1/Thu Sep 2 21:06:22 2004// -/yin - 181 - Pyrotechnics (windy mix).milk/1.1/Thu Sep 2 21:06:50 2004// -/yin - 190 - Temporal fluctuations.milk/1.1/Thu Sep 2 21:10:58 2004// -/yin - 191 - Temporal singularities.milk/1.1/Thu Sep 2 21:10:50 2004// -/yin - 200 - The all seeing eye.milk/1.1/Thu Sep 2 21:10:42 2004// -/yin - 210 - Beat it.milk/1.1/Thu Sep 2 21:10:18 2004// -/yin - 220 - Enter the silence.milk/1.1/Thu Sep 23 19:33:20 2004// -/yin - 230 - First impression.milk/1.1/Fri Sep 24 09:12:56 2004// -/yin - Beat Detective 007 demo.milk/1.1/Thu Sep 2 21:10:06 2004// -D diff --git a/presets_yin/CVS/Repository b/presets_yin/CVS/Repository deleted file mode 100755 index 5a809c6454..0000000000 --- a/presets_yin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/presets_yin diff --git a/presets_yin/CVS/Root b/presets_yin/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/presets_yin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/presets_yin/yin - 114 - Survival of the fastest (feat. Guest Star).milk b/presets_yin/yin - 114 - Survival of the fastest (feat. Guest Star).milk deleted file mode 100755 index e62b1438e6..0000000000 --- a/presets_yin/yin - 114 - Survival of the fastest (feat. Guest Star).milk +++ /dev/null @@ -1,176 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.700001 -fDecay=0.995000 -fVideoEchoZoom=1.001825 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.007944 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=-0.540000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.620260 -fShader=1.000000 -zoom=1.001839 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=zoom = 1.003; warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb); -per_frame_2=b1x = if( equal( b1x, 0 ), .1, b1x ); -per_frame_3=b1y = if( equal( b1y, 0 ), .5, b1y ); -per_frame_4=b1vx = if( equal( b1vx, 0 ), 0*(rand(50)/100), b1vx ); -per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.006*0+.006, b1vy ); -per_frame_6=b2x = if( equal( b2x, 0 ), .9, b2x ); -per_frame_7=b2y = if( equal( b2y, 0 ), .5, b2y ); -per_frame_8=b2vx = if( equal( b2vx, 0 ), 0*(-rand(50)/100), b2vx ); -per_frame_9=b2vy = if( equal( b2vy, 0 ), -0.006*0+.003, b2vy ); -per_frame_10= -per_frame_11=// o Resolve forces -per_frame_12=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); -per_frame_13=dist = sqrt(sqr(distX)+sqr(distY)); -per_frame_14=k = 1/sqr(dist); -per_frame_15=k = if( above( k, .005) , 0.005, k ); -per_frame_16=k = if(above(fCrashPhase,0),0,k); -per_frame_17=b1vx=b1vx+k*cos(fAngle-3.14)/FPS; -per_frame_18=b1vy=b1vy+k*sin(fAngle-3.14)/FPS; -per_frame_19=b2vx=b2vx+k*cos(fAngle)/FPS; -per_frame_20=b2vy=b2vy+k*sin(fAngle)/FPS; -per_frame_21=q5 = atan2(b1y-.5,b1x-.5); k= 1.5/sqrt(sqr(b1x-.5)+sqr(b1y-.5)); -per_frame_22=k=if(above(k,.008),.008,k); -per_frame_23=b1vx=b1vx-k*cos(q5)/FPS; -per_frame_24=b1vy=b1vy-k*sin(q5)/FPS; -per_frame_25=q5 = atan2(b2y-.5,b2x-.5); k= 1.5/sqrt(sqr(b2x-.5)+sqr(b2y-.5)); -per_frame_26=k=if(above(k,.008),.008,k); -per_frame_27=b2vx=b2vx-k*cos(q5)/FPS; -per_frame_28=b2vy=b2vy-k*sin(q5)/FPS; -per_frame_29=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy)),sqrt(sqr(b1vx)+sqr(b1vy))),1, 0); -per_frame_30=// o Apply motion -per_frame_31=iIndex = (frame%5); -per_frame_32=fScale = if( above(iIndex,1), (1+.5*mid)*30/FPS, (1+.5*bass)*30/FPS); -per_frame_33=b1x = b1x + b1vx*fScale; b1y = b1y + b1vy*fScale; -per_frame_34=b2x = b2x + b2vx*fScale; b2y = b2y + b2vy*fScale; -per_frame_35= -per_frame_36=// o Collision and "keep-in-screen" check -per_frame_37=q1 = if( below(sqr(b1x-.5) +sqr(b1y-.5), .005), 1, 0); -per_frame_38=q1 = if( above( frame, q7) ,q1, 0 ); -per_frame_39=q2 = if( below(sqr(b2x-.5) +sqr(b2y-.5), .005), 1, 0); -per_frame_40=q2 = if( above( frame, q6) ,q2, 0 ); -per_frame_41=q3 = 2*(-atan2( b1y-.5,b1x-.5 ) + atan2(b1vy,b1vx)); // gonia anaklasis me efaptomeni -per_frame_42=q4 = 2*(-atan2( b2y-.5,b2x-.5 ) + atan2(b2vy,b2vx)); // gonia anaklasis me efaptomeni -per_frame_43=kavb1vx = b1vx; kavb1vy = b1vy; -per_frame_44=kavb2vx = b2vx; kavb2vy = b2vy; -per_frame_45=b1vx = if( equal(q1,1),(cos(q3)*kavb1vx - sin(q3)*kavb1vy),b1vx); -per_frame_46=b1vy = if( equal(q1,1),(sin(q3)*kavb1vx + cos(q3)*kavb1vy),b1vy); -per_frame_47=b2vx = if( equal(q2,1),(cos(q4)*kavb2vx - sin(q4)*kavb2vy),b2vx); -per_frame_48=b2vy = if( equal(q2,1),(sin(q4)*kavb2vx + cos(q4)*kavb2vy),b2vy); -per_frame_49=q7 = if(equal(q1,1),frame + 5,q7 ); -per_frame_50=q7 = if( equal( frame,q7 ), 0, q7 ); -per_frame_51=q6 = if(equal(q2,1),frame + 5,q6 ); -per_frame_52=q6 = if( equal( frame,q6 ), 0, q6 ); -per_frame_53=kavb1vy=b1y; kavb1vx=b1x; -per_frame_54= -per_frame_55=b1x = if(equal( q1,1),.5+.1*cos(atan2( kavb1vy-.5,kavb1vx-.5 )), kavb1vx ); -per_frame_56=b1y = if( equal( q1,1),.5+.1*sin(atan2( kavb1vy-.5,kavb1vx-.5 )), kavb1vy ); -per_frame_57=kavb2vy=b2y; kavb2vx=b2x; -per_frame_58=b2x = if(equal( q2,1),.5+.1*cos(atan2( kavb2vy-.5,kavb2vx-.5 )), kavb2vx ); -per_frame_59=b2y = if( equal( q2,1),.5+.1*sin(atan2( kavb2vy-.5,kavb2vx-.5 )), kavb2vy ); -per_frame_60=b1vx = if( above( b1x, 1 ), -b1vx, b1vx ); -per_frame_61=b1vx = if( below( b1x, 0 ), -b1vx, b1vx ); -per_frame_62=b1vy = if( above( b1y, 1 ), -b1vy, b1vy ); -per_frame_63=b1vy = if( below( b1y, 0 ), -b1vy, b1vy ); -per_frame_64=b2vx = if( above( b2x, 1 ), -b2vx, b2vx ); -per_frame_65=b2vx = if( below( b2x, 0 ), -b2vx, b2vx ); -per_frame_66=b2vy = if( above( b2y, 1 ), -b2vy, b2vy ); -per_frame_67=b2vy = if( below( b2y, 0 ), -b2vy, b2vy ); -per_frame_68=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 ); -per_frame_69=ob_size = bCrash;ob_a=bCrash*.4; -per_frame_70=kavb1vx = b1vx; kavb1vy = b1vy; -per_frame_71=kavb2vx = b2vx; kavb2vy = b2vy; -per_frame_72=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy; -per_frame_73=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy; -per_frame_74=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx ); -per_frame_75=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy ); -per_frame_76=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx ); -per_frame_77=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy ); -per_frame_78=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil ); -per_frame_79=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil ); -per_frame_80= -per_frame_81=// o Determine what to draw -per_frame_82=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0); -per_frame_83=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay); -per_frame_84=wave_x = if( below( iIndex,2), b1x, wave_x); -per_frame_85=wave_y = if( below( iIndex,2), b1y, wave_y); -per_frame_86=wave_x = if( above( iIndex,1), b2x, wave_x); -per_frame_87=wave_y = if( above( iIndex,1), b2y, wave_y); -per_frame_88=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0; -per_frame_89=wave_x=if(equal(iIndex,4),.5,wave_x); -per_frame_90=wave_y=if(equal(iIndex,4),.5,wave_y); -per_frame_91=wave_b=if(equal(iIndex,4),0,wave_b); -per_frame_92=wave_mystery=if(equal(iIndex,4),-.35,wave_mystery); -per_frame_93=wave_r = if( equal( iIndex,1 ), 1.0, wave_r ); -per_frame_94=wave_g = if( equal( iIndex,1 ), 0.1, wave_g ); -per_frame_95=wave_b = if( equal( iIndex,1 ), 0.1, wave_b ); -per_frame_96=wave_r = if( equal( iIndex,3 ), 0.1, wave_r ); -per_frame_97=wave_g = if( equal( iIndex,3 ), 0.1, wave_g ); -per_frame_98=wave_b = if( equal( iIndex,3 ), 1.0, wave_b ); -per_frame_99=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , wave_mystery); -per_frame_100=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp); -per_frame_101=wave_size = if( equal( iIndex%2, 0) , 1, 0 ); -per_frame_102=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 ); -per_frame_103=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv); -per_frame_104=totalv= if(above(totalv,0.04),0.04,totalv); -per_frame_105=wave_mystery = if( below(iIndex,4)*above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery); -per_frame_106=wave_r=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_r ); -per_frame_107=wave_g=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_g ); -per_frame_108=wave_b=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_b ); -per_frame_109=ob_r=0;ob_b=0; -per_frame_110=ob_r=if(above(Blue,0),0,1); -per_frame_111=ob_b=if(above(Blue,0),1,0); -per_frame_112=prevBass = if(equal( iIndex%2, 0 ), bass, 0 ); -per_frame_113=monitor = atan2(b1y-.5,b1x-.5)*360/6.28; diff --git a/presets_yin/yin - 115 - Survival of the fastest (feat. Collapsing Guest Star).milk b/presets_yin/yin - 115 - Survival of the fastest (feat. Collapsing Guest Star).milk deleted file mode 100755 index a80f7c9cbc..0000000000 --- a/presets_yin/yin - 115 - Survival of the fastest (feat. Collapsing Guest Star).milk +++ /dev/null @@ -1,171 +0,0 @@ -[preset00] -fRating=5.000000 -fGammaAdj=1.700001 -fDecay=0.995000 -fVideoEchoZoom=1.001825 -fVideoEchoAlpha=0.000000 -nVideoEchoOrientation=0 -nWaveMode=0 -bAdditiveWaves=1 -bWaveDots=0 -bWaveThick=1 -bModWaveAlphaByVolume=0 -bMaximizeWaveColor=0 -bTexWrap=0 -bDarkenCenter=0 -bRedBlueStereo=0 -bBrighten=0 -bDarken=1 -bSolarize=0 -bInvert=0 -fWaveAlpha=1.007944 -fWaveScale=0.010000 -fWaveSmoothing=0.900000 -fWaveParam=-0.540000 -fModWaveAlphaStart=0.710000 -fModWaveAlphaEnd=1.300000 -fWarpAnimSpeed=1.000000 -fWarpScale=1.331000 -fZoomExponent=0.620260 -fShader=1.000000 -zoom=1.001839 -rot=0.000000 -cx=0.500000 -cy=0.500000 -dx=0.000000 -dy=0.000000 -warp=0.010000 -sx=1.000000 -sy=1.000000 -wave_r=1.000000 -wave_g=1.000000 -wave_b=1.000000 -wave_x=0.500000 -wave_y=0.500000 -ob_size=0.000000 -ob_r=0.000000 -ob_g=0.000000 -ob_b=0.000000 -ob_a=1.000000 -ib_size=0.000000 -ib_r=0.250000 -ib_g=0.250000 -ib_b=0.250000 -ib_a=0.000000 -nMotionVectorsX=0.000000 -nMotionVectorsY=0.000000 -mv_dx=0.000000 -mv_dy=0.000000 -mv_l=5.000000 -mv_r=1.000000 -mv_g=1.000000 -mv_b=1.000000 -mv_a=1.000000 -per_frame_1=zoom = 1.003; warp =0.075; decay = 0.993; vol = 0.3*(bass+mid+treb); -per_frame_2=b1x = if( equal( b1x, 0 ), .1, b1x ); -per_frame_3=b1y = if( equal( b1y, 0 ), .5, b1y ); -per_frame_4=b1vx = if( equal( b1vx, 0 ), 0*(rand(50)/100), b1vx ); -per_frame_5=b1vy = if( equal( b1vy, 0 ), 0.006, b1vy ); -per_frame_6=b2x = if( equal( b2x, 0 ), .9, b2x ); -per_frame_7=b2y = if( equal( b2y, 0 ), .5, b2y ); -per_frame_8=b2vx = if( equal( b2vx, 0 ), 0*(-rand(50)/100), b2vx ); -per_frame_9=b2vy = if( equal( b2vy, 0 ), -0.006, b2vy ); -per_frame_10=q3=.5*(1+.8*cos(time/7+.23+sin(time*.232+.983))); -per_frame_11=q4=.5*(1+.8*cos(time/5+2.69+sin(time*.157+3))); -per_frame_12= -per_frame_13=// o Resolve forces -per_frame_14=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); -per_frame_15=dist = sqrt(sqr(distX)+sqr(distY)); -per_frame_16=k = 1/sqr(dist); -per_frame_17=k = if( above( k, .005) , 0.005, k ); -per_frame_18=k = if(above(fCrashPhase,0),0,k); -per_frame_19=b1vx=b1vx+k*cos(fAngle-3.14)/FPS; -per_frame_20=b1vy=b1vy+k*sin(fAngle-3.14)/FPS; -per_frame_21=b2vx=b2vx+k*cos(fAngle)/FPS; -per_frame_22=b2vy=b2vy+k*sin(fAngle)/FPS; -per_frame_23=q5 = atan2(b1y-q4,b1x-q3); k= 1.5/sqrt(sqr(b1x-q3)+sqr(b1y-q4)); -per_frame_24=k=if(above(k,.008),.008,k); -per_frame_25=b1vx=b1vx-k*cos(q5)/FPS; -per_frame_26=b1vy=b1vy-k*sin(q5)/FPS; -per_frame_27=q5 = atan2(b2y-q4,b2x-q3); k= 1.5/sqrt(sqr(b2x-q3)+sqr(b2y-q4)); -per_frame_28=k=if(above(k,.008),.008,k); -per_frame_29=b2vx=b2vx-k*cos(q5)/FPS; -per_frame_30=b2vy=b2vy-k*sin(q5)/FPS; -per_frame_31=Blue=if( above(sqrt(sqr(b2vx)+sqr(b2vy)),sqrt(sqr(b1vx)+sqr(b1vy))),1, 0); -per_frame_32= -per_frame_33=// o Apply motion -per_frame_34=iIndex = (frame%5); -per_frame_35=fScale = if( above(iIndex,1), (1+.5*mid)*30/FPS, (1+.5*bass)*30/FPS); -per_frame_36=b1x = b1x + b1vx*fScale; b1y = b1y + b1vy*fScale; -per_frame_37=b2x = b2x + b2vx*fScale; b2y = b2y + b2vy*fScale; -per_frame_38= -per_frame_39=// o Collision and "keep-in-screen" check -per_frame_40=q1 = if( below(sqr(b1x-q3) +sqr(b1y-q4), .005), 1, 0); -per_frame_41=q2 = if( below(sqr(b2x-q3) +sqr(b2y-q4), .005), 1, 0); -per_frame_42=b1x=if(equal(q1,1),rand(100)/100,b1x); -per_frame_43=b1y=if(equal(q1,1),rand(100)/100,b1y); -per_frame_44=b2x=if(equal(q2,1),rand(100)/100,b2x); -per_frame_45=b2y=if(equal(q2,1),rand(100)/100,b2y); -per_frame_46=distX = ( b1x -b2x ); distY = ( b1y - b2y ); fAngle = atan2( distY, distX ); -per_frame_47=DotProd1= (.75+rand(50)/100)*sqrt( sqr(b1vx)+sqr(b1vy) ); -per_frame_48=DotProd2= (.75+rand(50)/100)*sqrt( sqr(b2vx)+sqr(b2vy) ); -per_frame_49=b1vx=if(equal(q1,1), DotProd1*cos(fAngle-3.14),b1vx); -per_frame_50=b1vy=if(equal(q1,1), DotProd1*sin(fAngle-3.14),b1vy); -per_frame_51=b2vx=if(equal(q2,1), DotProd2*cos(fAngle),b2vx); -per_frame_52=b2vy=if(equal(q2,1), DotProd2*sin(fAngle),b2vy); -per_frame_53= -per_frame_54=b1vx = if( above( b1x, 1 ), -b1vx, b1vx ); -per_frame_55=b1vx = if( below( b1x, 0 ), -b1vx, b1vx ); -per_frame_56=b1vy = if( above( b1y, 1 ), -b1vy, b1vy ); -per_frame_57=b1vy = if( below( b1y, 0 ), -b1vy, b1vy ); -per_frame_58=b2vx = if( above( b2x, 1 ), -b2vx, b2vx ); -per_frame_59=b2vx = if( below( b2x, 0 ), -b2vx, b2vx ); -per_frame_60=b2vy = if( above( b2y, 1 ), -b2vy, b2vy ); -per_frame_61=b2vy = if( below( b2y, 0 ), -b2vy, b2vy ); -per_frame_62=bCrash = if( below(dist, 0.075), 1, 0);bCrash = if( above( frame, NoCheckUntil) ,bCrash, 0 ); -per_frame_63=ob_size = bCrash;ob_a=bCrash*.4; -per_frame_64=kavb1vx = b1vx; kavb1vy = b1vy; -per_frame_65=kavb2vx = b2vx; kavb2vy = b2vy; -per_frame_66=DotProd1 = cos(fAngle-3.14)*kavb2vx + sin(fAngle-3.14)*kavb2vy; -per_frame_67=DotProd2 = cos(fAngle)*kavb1vx + sin(fAngle)*kavb1vy; -per_frame_68=b1vx=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vx, b1vx ); -per_frame_69=b1vy=if( equal( bCrash,1), -cos(fAngle-3.14)*DotProd1 + kavb2vy, b1vy ); -per_frame_70=b2vx=if( equal( bCrash,1), -cos(fAngle)*DotProd2 + kavb1vx, b2vx ); -per_frame_71=b2vy=if( equal( bCrash,1), -sin(fAngle)*DotProd2 + kavb1vy, b2vy ); -per_frame_72=NoCheckUntil = if(equal(bCrash,1),frame + 30,NoCheckUntil ); -per_frame_73=NoCheckUntil = if( equal( frame-2,NoCheckUntil+60 ), 0, NoCheckUntil ); -per_frame_74= -per_frame_75=// o Determine what to draw -per_frame_76=fCrashPhase = if( above(NoCheckUntil,0),(60 + NoCheckUntil - frame)/90, 0); -per_frame_77=decay = if( above( fCrashPhase,0), .993 + fCrashPhase*0.006,decay); -per_frame_78=wave_x = if( below( iIndex,2), b1x, wave_x); -per_frame_79=wave_y = if( below( iIndex,2), b1y, wave_y); -per_frame_80=wave_x = if( above( iIndex,1), b2x, wave_x); -per_frame_81=wave_y = if( above( iIndex,1), b2y, wave_y); -per_frame_82=wave_r = 1.0; wave_g = 1.0; wave_b = 1.0; -per_frame_83=wave_x=if(equal(iIndex,4),q3,wave_x); -per_frame_84=wave_y=if(equal(iIndex,4),q4,wave_y); -per_frame_85=wave_b=if(equal(iIndex,4),0,wave_b); -per_frame_86=wave_mystery=if(equal(iIndex,4),-.35,wave_mystery); -per_frame_87=wave_r = if( equal( iIndex,1 ), 1.0, wave_r ); -per_frame_88=wave_g = if( equal( iIndex,1 ), 0.1, wave_g ); -per_frame_89=wave_b = if( equal( iIndex,1 ), 0.1, wave_b ); -per_frame_90=wave_r = if( equal( iIndex,3 ), 0.1, wave_r ); -per_frame_91=wave_g = if( equal( iIndex,3 ), 0.1, wave_g ); -per_frame_92=wave_b = if( equal( iIndex,3 ), 1.0, wave_b ); -per_frame_93=wave_mystery = if( equal( iIndex%2,1) , -.55-(bass+prevBass)/60 , wave_mystery); -per_frame_94=warp = if( above(fCrashPhase,.96),warp+5*(totalv/0.03)*(1 - 4*(fCrashPhase-.96)),warp); -per_frame_95=wave_size = if( equal( iIndex%2, 0) , 1, 0 ); -per_frame_96=wave_a = if( equal( iIndex%2, 0 ), .75, 1.0 ); -per_frame_97=totalv = if( equal(fCrashPhase,0),sqrt(sqr(b1vx)+sqr(b1vy))+sqrt(sqr(b2vx)+sqr(b2vy)),totalv); -per_frame_98=totalv= if(above(totalv,0.04),0.04,totalv); -per_frame_99=wave_mystery = if( below(iIndex,4)*above(fCrashPhase,.93), -7*(fCrashPhase-.93)*.45, wave_mystery); -per_frame_100=wave_r=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_r ); -per_frame_101=wave_g=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_g ); -per_frame_102=wave_b=if( below(iIndex,4)*above( fCrashPhase, .9 ), 1, wave_b ); -per_frame_103=ob_r=0;ob_b=0; -per_frame_104=ob_r=if(above(Blue,0),0,1); -per_frame_105=ob_b=if(above(Blue,0),1,0); -per_frame_106=prevBass = if(equal( iIndex%2, 0 ), bass, 0 ); -per_pixel_1=q6=(x-q3)*(x-q3)+(1-y-q4)*(1-y-q4); -per_pixel_2=zoom=if(below(q6,0.002),.1,zoom); diff --git a/projectM.xcworkspace/contents.xcworkspacedata b/projectM.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..05a8aa745b --- /dev/null +++ b/projectM.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/projectM.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/projectM.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/projectM.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000000..b7cdf7e1ec --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,15 @@ +.vs +*.vcxproj.user +Renderer.dir +Debug +Release +packages + +AppPackages/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application_* + +EyeTune/EyeTune.WindowsUniversal.Application/_pkginfo.txt +EyeTune/EyeTune.WindowsUniversal.Application/BundleArtifacts/Upload/x64.txt +EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application_StoreKey.pfx +EyeTune/EyeTune.WindowsUniversal.Application/BundleArtifacts/x64.txt +EyeTune/EyeTune.WindowsUniversal.Application/BundleArtifacts/ +EyeTune/EyeTune.WindowsUniversal.Application/Generated Files/ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index e461e24b18..0000000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -project (projectM) - -add_subdirectory (projectM-engine) -add_subdirectory (projectM-xmms) diff --git a/src/COPYING b/src/COPYING new file mode 100644 index 0000000000..4a162d36a8 --- /dev/null +++ b/src/COPYING @@ -0,0 +1,21 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2009 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +*/ + diff --git a/src/CVS/Entries b/src/CVS/Entries deleted file mode 100755 index 470917ea1b..0000000000 --- a/src/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/Makefile.macos/1.1/Mon Oct 4 13:03:48 2004// -/projectM.dsw/1.3/Tue Oct 5 16:38:02 2004// -D/event//// -D/iprojectM//// -D/projectM//// -D/projectMmovie//// -D/projectMvis//// -D/sdl//// -D/wprojectMsaver//// -D/wxprojectMvis//// diff --git a/src/CVS/Repository b/src/CVS/Repository deleted file mode 100755 index 73a41f95ed..0000000000 --- a/src/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src diff --git a/src/CVS/Root b/src/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/EyeTune.WindowsUniversal.Application.sln b/src/EyeTune.WindowsUniversal.Application.sln new file mode 100644 index 0000000000..3d2d4a003e --- /dev/null +++ b/src/EyeTune.WindowsUniversal.Application.sln @@ -0,0 +1,74 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EyeTune.WindowsUniversal.Application", "EyeTune\EyeTune.WindowsUniversal.Application\EyeTune.WindowsUniversal.Application.vcxproj", "{E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{6B05461E-2A95-401B-A299-51B2436D724D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EyeTune.Shared", "EyeTune\EyeTune.Shared\EyeTune.Shared.vcxitems", "{780438D3-F45D-40E5-9508-C7EFF9AD376B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM.WindowsUniversal.SharedLibrary", "EyeTune\projectM.WindowsUniversal.SharedLibrary\projectM.WindowsUniversal.SharedLibrary.vcxproj", "{9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + EyeTune\EyeTune.Shared\EyeTune.Shared.vcxitems*{780438d3-f45d-40e5-9508-c7eff9ad376b}*SharedItemsImports = 9 + EyeTune\EyeTune.Shared\EyeTune.Shared.vcxitems*{9861a7bc-9e57-4a9c-ba26-bb38e0a30a3f}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|ARM.ActiveCfg = Debug|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|ARM.Build.0 = Debug|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|ARM.Deploy.0 = Debug|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|ARM64.ActiveCfg = Debug|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x64.ActiveCfg = Debug|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x64.Build.0 = Debug|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x64.Deploy.0 = Debug|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x86.ActiveCfg = Debug|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x86.Build.0 = Debug|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Debug|x86.Deploy.0 = Debug|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|ARM.ActiveCfg = Release|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|ARM.Build.0 = Release|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|ARM.Deploy.0 = Release|ARM + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|ARM64.ActiveCfg = Release|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x64.ActiveCfg = Release|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x64.Build.0 = Release|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x64.Deploy.0 = Release|x64 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x86.ActiveCfg = Release|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x86.Build.0 = Release|Win32 + {E418BE0C-D603-45BC-8D93-EB2A4A7F68D0}.Release|x86.Deploy.0 = Release|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|ARM.ActiveCfg = Debug|ARM + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|ARM.Build.0 = Debug|ARM + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|ARM64.ActiveCfg = Debug|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|x64.ActiveCfg = Debug|x64 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|x64.Build.0 = Debug|x64 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|x86.ActiveCfg = Debug|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Debug|x86.Build.0 = Debug|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|ARM.ActiveCfg = Release|ARM + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|ARM.Build.0 = Release|ARM + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|ARM64.ActiveCfg = Release|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|x64.ActiveCfg = Release|x64 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|x64.Build.0 = Release|x64 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|x86.ActiveCfg = Release|Win32 + {9861A7BC-9E57-4A9C-BA26-BB38E0A30A3F}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {780438D3-F45D-40E5-9508-C7EFF9AD376B} = {6B05461E-2A95-401B-A299-51B2436D724D} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {27AAF655-AAA4-4A62-AF01-6722341214B8} + EndGlobalSection +EndGlobal diff --git a/src/EyeTune/EyeTune.Shared/EyeTune.Shared.vcxitems b/src/EyeTune/EyeTune.Shared/EyeTune.Shared.vcxitems new file mode 100644 index 0000000000..59d1c508f6 --- /dev/null +++ b/src/EyeTune/EyeTune.Shared/EyeTune.Shared.vcxitems @@ -0,0 +1,88 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + {780438d3-f45d-40e5-9508-c7eff9ad376b} + + + + %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CompileAsC + + + CompileAsC + + + CompileAsC + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.Shared/pch.h b/src/EyeTune/EyeTune.Shared/pch.h new file mode 100644 index 0000000000..71226ea0fb --- /dev/null +++ b/src/EyeTune/EyeTune.Shared/pch.h @@ -0,0 +1,26 @@ +#ifdef _WIN32 + + // Including SDKDDKVer.h defines the highest available Windows platform. + + // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and + // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + + #include + + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + + #include +#elif __ANDROID__ + + #include + #include + + #include + #include + #include + + #include + +#endif \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.png b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.png new file mode 100644 index 0000000000..957fdb74cc Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.png differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.psd new file mode 100644 index 0000000000..0aee0fd8f8 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/Logo.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.png b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.png new file mode 100644 index 0000000000..b0db809760 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.png differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.psd new file mode 100644 index 0000000000..4b71bd6674 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SmallLogo.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.png b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.png new file mode 100644 index 0000000000..6ffeb12868 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.png differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.psd new file mode 100644 index 0000000000..f308acb4d0 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/SplashScreen.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.png b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.png new file mode 100644 index 0000000000..501272842f Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.png differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.psd new file mode 100644 index 0000000000..b892bd4f0b Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/StoreLogo.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.png b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.png new file mode 100644 index 0000000000..28d35e2a71 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.png differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.psd new file mode 100644 index 0000000000..6a4448ba38 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/WideLogo.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/eyetune.psd b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/eyetune.psd new file mode 100644 index 0000000000..0161dfdb60 Binary files /dev/null and b/src/EyeTune/EyeTune.WindowsUniversal.Application/Assets/eyetune.psd differ diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj new file mode 100644 index 0000000000..402a8453f1 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj @@ -0,0 +1,12818 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {e418be0c-d603-45bc-8d93-eb2a4a7f68d0} + EyeTune + en-US + 14.0 + true + Windows Store + 10.0.17763.0 + 10.0.10240.0 + 10.0 + + + + Application + true + v141 + + + Application + false + true + v141 + + + + + + + + C:\Qt\5.9.4\winrt_x64_msvc2015 + + + C:\Qt\5.9.4\msvc2015 + + + EyeTune.WindowsUniversal.Application_StoreKey.pfx + 8DA36A960A0CA32B48F8FCC25DA5207995AEE892 + False + True + Always + x86|x64|arm + 1 + OnApplicationRun + True + + + $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + $(Platform)\$(Configuration)\ + + + + projectM.WindowsUniversal.SharedLibrary.lib;libEGL.lib;libGLESv2.lib;mincore.lib;%(AdditionalDependencies) + ..\..\$(Platform)\$(Configuration)\projectM.WindowsUniversal.SharedLibrary + + + + + projectM.WindowsUniversal.SharedLibrary.lib;libEGL.lib;libGLESv2.lib;mincore.lib;%(AdditionalDependencies) + ..\..\$(Platform)\$(Configuration)\projectM.WindowsUniversal.SharedLibrary + + + + + projectM.WindowsUniversal.SharedLibrary.lib;libEGL.lib;libGLESv2.lib;mincore.lib;%(AdditionalDependencies) + ..\..\$(Platform)\$(Configuration)\projectM.WindowsUniversal.SharedLibrary + + + + + pch.h + $(IntDir)pch.pch + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204 + WIN32;SOIL_GLES2;USE_GLES;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;NOMINMAX;ANGLE_STANDALONE_BUILD;GL_GLEXT_PROTOTYPES;EGL_EGLEXT_PROTOTYPES;ANGLE_X64_CPU;_DEBUG;ANGLE_ENABLE_DEBUG_ANNOTATIONS;%(PreprocessorDefinitions);_DEBUG;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";WIN32;USE_GLES;SOIL_GLES2;DISABLE_NATIVE_PRESETS;%(PreprocessorDefinitions) + NotUsing + NotUsing + NotUsing + + + + + pch.h + $(IntDir)pch.pch + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204 + EYETUNE_WINRT;WIN32;SOIL_GLES2;USE_GLES;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;NOMINMAX;ANGLE_STANDALONE_BUILD;GL_GLEXT_PROTOTYPES;EGL_EGLEXT_PROTOTYPES;ANGLE_ENABLE_DEBUG_ANNOTATIONS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;DISABLE_NATIVE_PRESETS + NotUsing + NotUsing + NotUsing + + + UseLinkTimeCodeGeneration + + + + + + UseLinkTimeCodeGeneration + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + Designer + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + {9861a7bc-9e57-4a9c-ba26-bb38e0a30a3f} + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj.filters b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj.filters new file mode 100644 index 0000000000..b36c4be7cb --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTune.WindowsUniversal.Application.vcxproj.filters @@ -0,0 +1,12759 @@ + + + + + src + + + src + + + src + + + + + src + + + src + + + src + + + src + + + src + + + src + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + package + + + package + + + package + + + package + + + package + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_bltc201 + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_104 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_milkdrop_200 + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_mischa_collection + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_projectM + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_stock + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\presets_yin + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\tests + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + Presets\presets_tryptonaut + + + + + {60ab69da-03c4-4f82-bf1f-682f1d7dac0d} + + + {b3d1eca9-3162-463a-bf1a-76025dca1ba0} + + + {cdd5ddcd-e49d-4fa3-9984-499af3bb9b8b} + + + {c99e4bb3-e277-49cc-80f6-41ae887e66fa} + + + {7a1ffde6-ec51-4715-a293-20dae50255ff} + + + {844c5cd6-0010-4170-b04f-d146b5dd3859} + + + {b7e97a50-2ab2-4e35-b4e8-4c7dbe21debb} + + + {b22db9e6-e01f-4cd0-a1d7-dc30f6867edf} + + + {c1095e2a-3f1f-4cc2-820d-01d099b33f21} + + + {3255167f-9153-4d81-a313-77c047bf6471} + + + {7fa49b69-db51-4b8b-9600-3ade1c9e52b8} + + + {a58066c2-c700-486e-87da-12620228b138} + + + {6dea5257-b2f1-4571-8696-93e41e4bc3fe} + + + {96ee9dee-b897-457d-ba68-a7e8297d56b3} + + + {bed7a96d-8117-4636-be29-774b71bfd8f2} + + + + + package + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.cpp b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.cpp new file mode 100644 index 0000000000..06e301b66f --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.cpp @@ -0,0 +1,635 @@ +//********************************************************* +// Designed for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// +//********************************************************* +// +// This file initializes EGL in Windows Store app, using ICoreWindow. +// +// +// +//********************************************************* + +#include "EyeTuneApp.h" +#include "EyeTunePlatformString.h" +#include "projectM.hpp" +#include "Renderer.hpp" +#include "EyeTunePopUp.h" +#include +#include + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::Graphics::Display; +using namespace Windows::Storage; +using namespace Microsoft::WRL; +using namespace Platform; + +using namespace EyeTune; + +// Helper to convert a length in device-independent pixels (DIPs) to a length in physical pixels. +inline float ConvertDipsToPixels(float dips, float dpi) +{ + static const float dipsPerInch = 96.0f; + return floor(dips * dpi / dipsPerInch + 0.5f); // Round to nearest integer. +} + +// Implementation of the IFrameworkViewSource interface, necessary to run our app. +ref class SimpleApplicationSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource +{ +public: + virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView() + { + return ref new App(); + } +}; + +// The main function creates an IFrameworkViewSource for our app, and runs the app. +[Platform::MTAThread] +int main(Platform::Array^) +{ + auto simpleApplicationSource = ref new SimpleApplicationSource(); + CoreApplication::Run(simpleApplicationSource); + return 0; +} + +App::App() : + mWindowClosed(false), + mWindowVisible(true), + experimental_presets(false), + mEglDisplay(EGL_NO_DISPLAY), + mEglContext(EGL_NO_CONTEXT), + mEglSurface(EGL_NO_SURFACE) +{ +} + +// The first method called when the IFrameworkView is being created. +void App::Initialize(CoreApplicationView^ applicationView) +{ + // Register event handlers for app lifecycle. This example includes Activated, so that we + // can make the CoreWindow active and start rendering on the window. + applicationView->Activated += + ref new TypedEventHandler(this, &App::OnActivated); + // Logic for other event handlers could go here. + // Information about the Suspending and Resuming event handlers can be found here: + // http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994930.aspx +} + +// Called when the CoreWindow object is created (or re-created). +void App::SetWindow(CoreWindow^ window) +{ + window->VisibilityChanged += + ref new TypedEventHandler(this, &App::OnVisibilityChanged); + + window->SizeChanged += + ref new TypedEventHandler(this, &App::OnSizeChanged); + /* + window->ResizeCompleted += + ref new TypedEventHandler(this, &App::OnResizeCompleted); +*/ + window->Closed += + ref new TypedEventHandler(this, &App::OnWindowClosed); + + // https://docs.microsoft.com/en-us/uwp/api/windows.ui.core.corewindow.keydown + window->KeyDown += + ref new TypedEventHandler(this, &App::OnWindowKeyDown); + + // The CoreWindow has been created, so EGL can be initialized. + InitializeEGL(window); +} + +// Implements fullscreen toggle +void App::togglefullscreen() +{ + auto applicationView = ApplicationView::GetForCurrentView(); + + if (applicationView->IsFullScreenMode) + { + applicationView->ExitFullScreenMode(); + } + else + { + applicationView->TryEnterFullScreenMode(); + } + +} + +// Initializes scene resources +void App::Load(Platform::String^ entryPoint) +{ + RecreateRenderer(); +} + + +void App::loopback() { + this->InitializeCapture(nullptr, nullptr); +} + +void App::stoploopback() { + this->StopCapture(nullptr, nullptr); +} + +void App::addFakePCM() { + int i; + short pcm_data[2][512]; + /** Produce some fake PCM data to stuff into projectM */ + for (i = 0; i < 512; i++) { + if (i % 2 == 0) { + pcm_data[0][i] = (float)(rand() / ((float)RAND_MAX) * (pow(2, 14))); + pcm_data[1][i] = (float)(rand() / ((float)RAND_MAX) * (pow(2, 14))); + } + else { + pcm_data[0][i] = (float)(rand() / ((float)RAND_MAX) * (pow(2, 14))); + pcm_data[1][i] = (float)(rand() / ((float)RAND_MAX) * (pow(2, 14))); + } + if (i % 2 == 1) { + pcm_data[0][i] = -pcm_data[0][i]; + pcm_data[1][i] = -pcm_data[1][i]; + } + } + + /** Add the waveform data */ + app->pcm()->addPCM16(pcm_data); +} + +void App::RecreateRenderer() +{ + std::string presetdir = ""; + if (experimental_presets) + { + presetdir = "\\p\\presets_tryptonaut\\"; + } + else + { + presetdir = "\\p\\presets\\"; + } + App::RecreateRenderer(presetdir); +} + +void App::RecreateRenderer(std::string presetdir) +{ + if (app) + { + this->stoploopback(); + + app = nullptr; + } + + if (!app) + { + // "Config file not found, using development settings"); + int height = 1080; + int width = 1920; + float heightWidthRatio = (float)height / (float)width; + projectM::Settings settings; + settings.windowWidth = width; + settings.windowHeight = height; + settings.meshX = 300; + settings.meshY = settings.meshX * heightWidthRatio; + settings.fps = 60; + settings.smoothPresetDuration = 3; // seconds + settings.presetDuration = 30; // seconds + settings.beatSensitivity = .9; + settings.aspectCorrection = 1; + settings.shuffleEnabled = 1; + settings.softCutRatingsEnabled = 1; // ??? + // get path to our app, use CWD for presets/fonts/etc + std::wstring wpath = Windows::ApplicationModel::Package::Current->InstalledLocation->Path->Data(); + // wpath += L"\\Assets\\Logo.png"; + + + //setup converter + using convert_type = std::codecvt_utf8; + std::wstring_convert converter; + + //use converter (.to_bytes: wstr->str, .from_bytes: str->wstr) + std::string converted_str = converter.to_bytes(wpath); + + // std::string base_path = Managed_Str_To_Std_Str(localFolder->Path->ToString()) + "\\"; + std::string base_path = converted_str; + // settings.presetURL = base_path + "\\presets_great\\"; + settings.presetURL = base_path + presetdir; + // settings.presetURL = base_path; + // settings.presetURL = base_path + "presets/presets_shader_test"; + settings.menuFontURL = base_path + "fonts/Vera.ttf"; + settings.titleFontURL = base_path + "fonts/Vera.ttf"; + // init with settings + app = new projectM(settings, 0); + app->projectM_resetGL(400, 400); + app->renderFrame(); + + EGLint panelWidth = 0; + EGLint panelHeight = 0; + eglQuerySurface(mEglDisplay, mEglSurface, EGL_WIDTH, &panelWidth); + eglQuerySurface(mEglDisplay, mEglSurface, EGL_HEIGHT, &panelHeight); + + app->projectM_resetGL(panelWidth, panelHeight); + app->renderFrame(); + + this->loopback(); + + } +} + +// This method is called after the window becomes active. +void App::Run() +{ + while (!mWindowClosed) + { + if (mWindowVisible) + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + + /* + EGLint panelWidth = 0; + EGLint panelHeight = 0; + eglQuerySurface(mEglDisplay, mEglSurface, EGL_WIDTH, &panelWidth); + eglQuerySurface(mEglDisplay, mEglSurface, EGL_HEIGHT, &panelHeight); + + // Logic to update the scene could go here + + glClearColor(0.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + // app->projectM_resetGL(panelWidth, panelHeight); + */ + app->renderFrame(); + // addFakePCM(); + + // The call to eglSwapBuffers might not be successful (e.g. due to Device Lost) + // If the call fails, then we must reinitialize EGL and the GL resources. + if (eglSwapBuffers(mEglDisplay, mEglSurface) != GL_TRUE) + { + + // mCubeRenderer.reset(nullptr); + // TODO: anything required here? + CleanupEGL(); + + InitializeEGL(CoreWindow::GetForCurrentThread()); + RecreateRenderer(); + } + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + + + // Perform teardown + CleanupEGL(); + + this->StopCapture(nullptr, nullptr); + +} + +// Terminate events do not cause Uninitialize to be called. It will be called if your IFrameworkView +// class is torn down while the app is in the foreground. +void App::Uninitialize() +{ +} + +// Application lifecycle event handler. +void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) +{ + // Run() won't start until the CoreWindow is activated. + CoreWindow::GetForCurrentThread()->Activate(); +} + +// Window event handlers. +void App::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) +{ + mWindowVisible = args->Visible; +} + +void App::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) +{ + mWindowClosed = true; +} + +void App::OnWindowKeyDown(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args) +{ + // renderer ready? + if (app) + { + // avoid duplicate press + if (!args->KeyStatus.WasKeyDown) + { + // this needs to support gamepad:: + // https://support.xbox.com/en-US/xbox-one/accessories/xbox-one-wireless-controller + + bool tester; + std::string presetname; + switch (args->VirtualKey) + { + case Windows::System::VirtualKey::R: + case Windows::System::VirtualKey::Enter: + case Windows::System::VirtualKey::GamepadA: + //case Windows::System::VirtualKey::GamepadB: + case Windows::System::VirtualKey::GamepadX: + case Windows::System::VirtualKey::GamepadY: + app->selectRandom(true); + break; + + case Windows::System::VirtualKey::GamepadLeftShoulder: + case Windows::System::VirtualKey::GamepadRightShoulder: + case Windows::System::VirtualKey::Space: + case Windows::System::VirtualKey::Control: + // handler for space key + app->setPresetLock(!app->isPresetLocked()); + break; + + case Windows::System::VirtualKey::GamepadDPadRight: + case Windows::System::VirtualKey::Right: + case Windows::System::VirtualKey::GamepadRightTrigger: + case Windows::System::VirtualKey::N: + app->selectNext(true); + break; + + + // ctrl-f or alt-f + case Windows::System::VirtualKey::F: + if(IsCtrlKeyPressed()) + togglefullscreen(); + else if(IsAltKeyPressed()) + togglefullscreen(); + break; +/* + case Windows::System::VirtualKey::GamepadDPadUp: + case Windows::System::VirtualKey::Up: + + */ + + // enable experimental presets + case Windows::System::VirtualKey::GamepadDPadDown: + case Windows::System::VirtualKey::Down: + experimental_presets = !experimental_presets; + RecreateRenderer(); + Popup("Experimental Presets : " + experimental_presets.ToString()); + + case Windows::System::VirtualKey::GamepadDPadLeft: + case Windows::System::VirtualKey::Left: + case Windows::System::VirtualKey::GamepadLeftTrigger: + case Windows::System::VirtualKey::P: + app->selectPrevious(true); + break; + + case Windows::System::VirtualKey::GamepadView: + case Windows::System::VirtualKey::GamepadMenu: + case Windows::System::VirtualKey::F1: + case Windows::System::VirtualKey::Escape: + tester = app->isPresetLocked(); + presetname = "PresetEyeD == "; + if (tester) presetname += "LOCKED: "; + presetname += app->renderer->presetName(); + presetname = presetname + + """\n" + "This help menu : F1 or ESC : GamepadMenu or GamepadView""\n" + "Lock/Unlock Preset : SPACE or CTRL : GamepadRightShoulder or GamepadLeftShoulder""\n" + "Next preset : RIGHT or N : GamepadRightTrigger or GamepadDPadRight""\n" + "Previous preset : LEFT or P : GamepadLeftTrigger or GamepadDPadLeft""\n" + "Random preset : ENTER or R : GamepadA or GamepadX or GamepadY""\n" + "Toggle Fullscreen (PC Only) : CTRL-F ""\n" + "Experimental Presets : DOWN : GamepadDPadDown""\n"; + + // "UP \t / GamepadDPadUp \t : Next preset""\n" + Popup(Std_Str_To_Managed_Str(presetname)); + break; + + default: + break; + } + } + } +} + +bool App::IsCtrlKeyPressed() +{ + auto ctrlState = CoreWindow::GetForCurrentThread()->GetKeyState(Windows::System::VirtualKey::Control); + return (ctrlState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; +} + +// The Alt key is represented by the VirtualKey.Menu value. +// TODO: investigate why alt modifier does not operate +bool App::IsAltKeyPressed() +{ + auto ctrlState = CoreWindow::GetForCurrentThread()->GetKeyState(Windows::System::VirtualKey::Menu); + return (ctrlState & CoreVirtualKeyStates::Down) == CoreVirtualKeyStates::Down; +} + +void App::OnSizeChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ args) +{ + ApplicationView^ view = ApplicationView::GetForCurrentView(); + bool isFullScreenMode = view->IsFullScreen; //->IsFullScreenMode(); + if (!isFullScreenMode) ResetSize(); +} + +void App::OnResizeCompleted(Windows::UI::Core::CoreWindow^ sender, Object^ args) +{ + ResetSize(); +} + +void App::ResetSize() +{ + if (app) + { + EGLint panelWidth = 0; + EGLint panelHeight = 0; + eglQuerySurface(mEglDisplay, mEglSurface, EGL_WIDTH, &panelWidth); + eglQuerySurface(mEglDisplay, mEglSurface, EGL_HEIGHT, &panelHeight); + + app->projectM_resetGL(panelWidth, panelHeight); + } +} + +void App::OnWindowKeyUp(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args) +{ + if (app) + { + // app->setPresetLock(!app->isPresetLocked()); + } +} + +void App::InitializeEGL(CoreWindow^ window) +{ + const EGLint configAttributes[] = + { + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 8, + EGL_DEPTH_SIZE, 8, + EGL_STENCIL_SIZE, 8, + EGL_NONE + }; + + const EGLint contextAttributes[] = + { + EGL_CONTEXT_CLIENT_VERSION, 3, + EGL_NONE + }; + + const EGLint surfaceAttributes[] = + { + // EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER is part of the same optimization as EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER (see above). + // If you have compilation issues with it then please update your Visual Studio templates. + EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_NONE + }; + + const EGLint defaultDisplayAttributes[] = + { + // These are the default display attributes, used to request ANGLE's D3D11 renderer. + // eglInitialize will only succeed with these attributes if the hardware supports D3D11 Feature Level 10_0+. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + + // EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is an optimization that can have large performance benefits on mobile devices. + // Its syntax is subject to change, though. Please update your Visual Studio templates if you experience compilation issues with it. + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + + // EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE is an option that enables ANGLE to automatically call + // the IDXGIDevice3::Trim method on behalf of the application when it gets suspended. + // Calling IDXGIDevice3::Trim when an application is suspended is a Windows Store application certification requirement. + EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE, + EGL_NONE, + }; + + const EGLint fl9_3DisplayAttributes[] = + { + // These can be used to request ANGLE's D3D11 renderer, with D3D11 Feature Level 9_3. + // These attributes are used if the call to eglInitialize fails with the default display attributes. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE, 9, + EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE, 3, + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE, + EGL_NONE, + }; + + const EGLint warpDisplayAttributes[] = + { + // These attributes can be used to request D3D11 WARP. + // They are used if eglInitialize fails with both the default display attributes and the 9_3 display attributes. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE, + EGL_NONE, + }; + + EGLConfig config = NULL; + + // eglGetPlatformDisplayEXT is an alternative to eglGetDisplay. It allows us to pass in display attributes, used to configure D3D11. + PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = reinterpret_cast(eglGetProcAddress("eglGetPlatformDisplayEXT")); + if (!eglGetPlatformDisplayEXT) + { + throw Exception::CreateException(E_FAIL, L"Failed to get function eglGetPlatformDisplayEXT"); + } + + // + // To initialize the display, we make three sets of calls to eglGetPlatformDisplayEXT and eglInitialize, with varying + // parameters passed to eglGetPlatformDisplayEXT: + // 1) The first calls uses "defaultDisplayAttributes" as a parameter. This corresponds to D3D11 Feature Level 10_0+. + // 2) If eglInitialize fails for step 1 (e.g. because 10_0+ isn't supported by the default GPU), then we try again + // using "fl9_3DisplayAttributes". This corresponds to D3D11 Feature Level 9_3. + // 3) If eglInitialize fails for step 2 (e.g. because 9_3+ isn't supported by the default GPU), then we try again + // using "warpDisplayAttributes". This corresponds to D3D11 Feature Level 11_0 on WARP, a D3D11 software rasterizer. + // + + // This tries to initialize EGL to D3D11 Feature Level 10_0+. See above comment for details. + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, defaultDisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) + { + // This tries to initialize EGL to D3D11 Feature Level 9_3, if 10_0+ is unavailable (e.g. on some mobile devices). + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, fl9_3DisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) + { + // This initializes EGL to D3D11 Feature Level 11_0 on WARP, if 9_3+ is unavailable on the default GPU. + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, warpDisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) + { + // If all of the calls to eglInitialize returned EGL_FALSE then an error has occurred. + throw Exception::CreateException(E_FAIL, L"Failed to initialize EGL"); + } + } + } + + EGLint numConfigs = 0; + if ((eglChooseConfig(mEglDisplay, configAttributes, &config, 1, &numConfigs) == EGL_FALSE) || (numConfigs == 0)) + { + throw Exception::CreateException(E_FAIL, L"Failed to choose first EGLConfig"); + } + + // Create a PropertySet and initialize with the EGLNativeWindowType. + PropertySet^ surfaceCreationProperties = ref new PropertySet(); + surfaceCreationProperties->Insert(ref new String(EGLNativeWindowTypeProperty), window); + + // You can configure the surface to render at a lower resolution and be scaled up to + // the full window size. The scaling is often free on mobile hardware. + // + // One way to configure the SwapChainPanel is to specify precisely which resolution it should render at. + // Size customRenderSurfaceSize = Size(800, 600); + // surfaceCreationProperties->Insert(ref new String(EGLRenderSurfaceSizeProperty), PropertyValue::CreateSize(customRenderSurfaceSize)); + // + // Another way is to tell the SwapChainPanel to render at a certain scale factor compared to its size. + // e.g. if the SwapChainPanel is 1920x1280 then setting a factor of 0.5f will make the app render at 960x640 + // float customResolutionScale = 0.5f; + // surfaceCreationProperties->Insert(ref new String(EGLRenderResolutionScaleProperty), PropertyValue::CreateSingle(customResolutionScale)); + + mEglSurface = eglCreateWindowSurface(mEglDisplay, config, reinterpret_cast(surfaceCreationProperties), surfaceAttributes); + if (mEglSurface == EGL_NO_SURFACE) + { + throw Exception::CreateException(E_FAIL, L"Failed to create EGL fullscreen surface"); + } + + mEglContext = eglCreateContext(mEglDisplay, config, EGL_NO_CONTEXT, contextAttributes); + if (mEglContext == EGL_NO_CONTEXT) + { + throw Exception::CreateException(E_FAIL, L"Failed to create EGL context"); + } + + if (eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext) == EGL_FALSE) + { + throw Exception::CreateException(E_FAIL, L"Failed to make fullscreen EGLSurface current"); + } +} + +void App::CleanupEGL() +{ + if (mEglDisplay != EGL_NO_DISPLAY && mEglSurface != EGL_NO_SURFACE) + { + eglDestroySurface(mEglDisplay, mEglSurface); + mEglSurface = EGL_NO_SURFACE; + } + + if (mEglDisplay != EGL_NO_DISPLAY && mEglContext != EGL_NO_CONTEXT) + { + eglDestroyContext(mEglDisplay, mEglContext); + mEglContext = EGL_NO_CONTEXT; + } + + if (mEglDisplay != EGL_NO_DISPLAY) + { + eglTerminate(mEglDisplay); + mEglDisplay = EGL_NO_DISPLAY; + } +} diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.h new file mode 100644 index 0000000000..42511b63c5 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTuneApp.h @@ -0,0 +1,99 @@ +//********************************************************* +// Designed for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// +//********************************************************* +// +// This file initializes EGL in Windows Store app, using ICoreWindow. +// +// +// +//********************************************************* + +#pragma once + +#include + +#include +#include + +// OpenGL ES includes +#include +#include + +// EGL includes +#include +#include +#include + +// ANGLE include for Windows Store +#include +#include "WASAPICapture.h" + +namespace EyeTune +{ + ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView + { + public: + App(); + + // IFrameworkView Methods. + virtual void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView); + virtual void SetWindow(Windows::UI::Core::CoreWindow^ window); + void togglefullscreen(); + virtual void Load(Platform::String^ entryPoint); + virtual void Run(); + virtual void Uninitialize(); + + private: + void loopback(); + void stoploopback(); + void addFakePCM(); + void RecreateRenderer(std::string presetdir); + void RecreateRenderer(); + projectM* app; + + // Application lifecycle event handlers. + void OnActivated(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView, Windows::ApplicationModel::Activation::IActivatedEventArgs^ args); + + // Window event handlers. + void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args); + void OnWindowClosed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::CoreWindowEventArgs^ args); + void OnWindowKeyDown(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args); + bool IsCtrlKeyPressed(); + bool IsAltKeyPressed(); + void OnSizeChanged(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::WindowSizeChangedEventArgs ^ args); + void OnResizeCompleted(Windows::UI::Core::CoreWindow ^ sender, Object ^ args); + void ResetSize(); + void OnWindowKeyUp(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args); + + void InitializeEGL(Windows::UI::Core::CoreWindow^ window); + void CleanupEGL(); + bool experimental_presets; + bool mWindowClosed; + bool mWindowVisible; + + EGLDisplay mEglDisplay; + EGLContext mEglContext; + EGLSurface mEglSurface; + + + void OnDeviceStateChange(Object ^ sender, DeviceStateChangedEventArgs ^ e); + void InitializeCapture(Object^ sender, Object^ e); + void StopCapture(Object^ sender, Object^ e); + + private: + Windows::UI::Core::CoreDispatcher^ m_CoreDispatcher; + Windows::UI::Xaml::Shapes::Polyline^ m_Oscilloscope; + + Windows::Foundation::EventRegistrationToken m_deviceStateChangeToken; + Windows::Foundation::EventRegistrationToken m_plotDataReadyToken; + + int m_DiscontinuityCount; + Platform::Boolean m_IsMFLoaded; + Platform::Boolean m_IsLowLatency; + DeviceStateChangedEvent^ m_StateChangedEvent; + ComPtr m_spCapture; + }; + +} \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePlatformString.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePlatformString.h new file mode 100644 index 0000000000..4d9caaebec --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePlatformString.h @@ -0,0 +1,29 @@ +//********************************************************* +// Designed for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// +//********************************************************* +// +// This file converts strings for Windows Store apps. +// +// +// +//********************************************************* + +#pragma once +#include + +// https://gist.github.com/mancoast/05f74b1a407f9a8ae91e8291e5bec0da +std::string Managed_Str_To_Std_Str(Platform::String^ ms) +{ + std::wstring w_str(ms->Begin()); + return std::string(w_str.begin(), w_str.end()); +} + +Platform::String^ Std_Str_To_Managed_Str(const std::string & input) +{ + std::wstring w_str = std::wstring(input.begin(), input.end()); + const wchar_t* w_chars = w_str.c_str(); + return (ref new Platform::String(w_chars)); +} + diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePopUp.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePopUp.h new file mode 100644 index 0000000000..2e74fcb65d --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/EyeTunePopUp.h @@ -0,0 +1,23 @@ +//********************************************************* +// Designed for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// +//********************************************************* +// +// This file displays a message box to the user +// +// +// +//********************************************************* + +#pragma once + +using namespace Windows::UI::Popups; + +void Popup(Platform::String^ text) +{ + // Show a message dialog with the text + MessageDialog^ messageDialog = ref new MessageDialog(text); + messageDialog->ShowAsync(); +} + diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.StoreAssociation.xml b/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.StoreAssociation.xml new file mode 100644 index 0000000000..04d9443eea --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.StoreAssociation.xml @@ -0,0 +1,378 @@ + + + CN=272C27CF-652F-4A95-9E3B-7A86D492CC37 + Mancoast Research Institute + MSA + http://www.w3.org/2001/04/xmlenc#sha256 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13183Mancoast.EyeTune + + EyeTune + Milkdrop + projectM + Visualized + + + + + + 0.0.0.0 + X64 + 0.7.28.0 + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.appxmanifest b/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.appxmanifest new file mode 100644 index 0000000000..cbcb8e927b --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/Package.appxmanifest @@ -0,0 +1,27 @@ + + + + + + EyeTune + Mancoast Research Institute + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.cpp b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.cpp new file mode 100644 index 0000000000..e04a10c00b --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.cpp @@ -0,0 +1,848 @@ +//********************************************************* +// +// Copyright (c) Microsoft. All rights reserved. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//********************************************************* + +// +// WASAPICapture.h +// + +// The M$ header is required to be preserved, this file: modified. +// After making all the required changes for Loopback, etc +// there is extensive divergence from the original to this file. + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + + + +#include "WASAPICapture.h" + +#pragma comment(lib, "Mfuuid.lib") +using namespace Windows::Storage; +using namespace Windows::System::Threading; +using namespace EyeTune; + +#define BITS_PER_BYTE 8 + +#define MILLISECONDS_TO_VISUALIZE 20 +// +// WASAPICapture() +// +WASAPICapture::WASAPICapture() : + m_BufferFrames( 0 ), + m_cbDataSize( 0 ), + m_cbHeaderSize( 0 ), + m_cbFlushCounter( 0 ), + m_dwQueueID( 0 ), + m_DeviceStateChanged( nullptr ), + m_AudioClient( nullptr ), + m_AudioCaptureClient( nullptr ), + m_SampleReadyAsyncResult( nullptr ), + m_ContentStream( nullptr ), + m_OutputStream( nullptr ), + //m_WAVDataWriter( nullptr ), + m_PlotData( nullptr ), + m_fWriting( false ) +{ + // Create events for sample ready or user stop + m_SampleReadyEvent = CreateEventEx( nullptr, nullptr, 0, EVENT_ALL_ACCESS ); + if (nullptr == m_SampleReadyEvent) + { + ThrowIfFailed( HRESULT_FROM_WIN32( GetLastError() ) ); + } + + if (!InitializeCriticalSectionEx( &m_CritSec, 0, 0 )) + { + ThrowIfFailed( HRESULT_FROM_WIN32( GetLastError() ) ); + } + + m_DeviceStateChanged = ref new DeviceStateChangedEvent(); + if (nullptr == m_DeviceStateChanged) + { + ThrowIfFailed( E_OUTOFMEMORY ); + } + + // Register MMCSS work queue + HRESULT hr = S_OK; + DWORD dwTaskID = 0; + + hr = MFLockSharedWorkQueue( L"Capture", 0, &dwTaskID, &m_dwQueueID ); + if (FAILED( hr )) + { + ThrowIfFailed( hr ); + } + + // Set the capture event work queue to use the MMCSS queue + m_xSampleReady.SetQueueID( m_dwQueueID ); +} + +// +// ~WASAPICapture() +// +WASAPICapture::~WASAPICapture() +{ + SAFE_RELEASE( m_AudioClient ); + SAFE_RELEASE( m_AudioCaptureClient ); + SAFE_RELEASE( m_SampleReadyAsyncResult ); + + if (INVALID_HANDLE_VALUE != m_SampleReadyEvent) + { + CloseHandle( m_SampleReadyEvent ); + m_SampleReadyEvent = INVALID_HANDLE_VALUE; + } + + MFUnlockWorkQueue( m_dwQueueID ); + + m_DeviceStateChanged = nullptr; + m_ContentStream = nullptr; + m_OutputStream = nullptr; + //m_WAVDataWriter = nullptr; + + m_PlotData = nullptr; + + DeleteCriticalSection( &m_CritSec ); +} + +// +// InitializeAudioDeviceAsync() +// +// Activates the default audio capture on a asynchronous callback thread. This needs +// to be called from the main UI thread. +// +HRESULT WASAPICapture::InitializeAudioDeviceAsync(projectM* app) +{ + m_app = app; + ComPtr asyncOp; + HRESULT hr = S_OK; + + /* + // Get a string representing the Default Audio Capture Device + m_DeviceIdString = MediaDevice::GetDefaultAudioCaptureId( Windows::Media::Devices::AudioDeviceRole::Default ); + + */ + + + // Get a string representing the Default Audio Device Renderer + m_DeviceIdString = MediaDevice::GetDefaultAudioRenderId(Windows::Media::Devices::AudioDeviceRole::Default); + + + // This call must be made on the main UI thread. Async operation will call back to + // IActivateAudioInterfaceCompletionHandler::ActivateCompleted, which must be an agile interface implementation + hr = ActivateAudioInterfaceAsync( m_DeviceIdString->Data(), __uuidof(IAudioClient3), nullptr, this, &asyncOp ); + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// ActivateCompleted() +// +// Callback implementation of ActivateAudioInterfaceAsync function. This will be called on MTA thread +// when results of the activation are available. +// +HRESULT WASAPICapture::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *operation ) +{ + HRESULT hr = S_OK; + HRESULT hrActivateResult = S_OK; + ComPtr punkAudioInterface; + + // Check for a successful activation result + hr = operation->GetActivateResult( &hrActivateResult, &punkAudioInterface ); + if (FAILED( hr )) + { + goto exit; + } + + hr = hrActivateResult; + if (FAILED( hr )) + { + goto exit; + } + + // Get the pointer for the Audio Client + punkAudioInterface.CopyTo( &m_AudioClient ); + if (nullptr == m_AudioClient) + { + hr = E_NOINTERFACE; + goto exit; + } + + hr = m_AudioClient->GetMixFormat( &m_MixFormat ); + if (FAILED( hr )) + { + goto exit; + } + + // convert from Float to 16-bit PCM + switch ( m_MixFormat->wFormatTag ) + { + case WAVE_FORMAT_PCM: + // nothing to do + break; + + case WAVE_FORMAT_IEEE_FLOAT: + m_MixFormat->wFormatTag = WAVE_FORMAT_PCM; + m_MixFormat->wBitsPerSample = 16; + m_MixFormat->nBlockAlign = m_MixFormat->nChannels * m_MixFormat->wBitsPerSample / BITS_PER_BYTE; + m_MixFormat->nAvgBytesPerSec = m_MixFormat->nSamplesPerSec * m_MixFormat->nBlockAlign; + break; + + case WAVE_FORMAT_EXTENSIBLE: + { + WAVEFORMATEXTENSIBLE *pWaveFormatExtensible = reinterpret_cast(m_MixFormat); + if ( pWaveFormatExtensible->SubFormat == KSDATAFORMAT_SUBTYPE_PCM ) + { + // nothing to do + } + else if ( pWaveFormatExtensible->SubFormat == KSDATAFORMAT_SUBTYPE_IEEE_FLOAT ) + { + pWaveFormatExtensible->SubFormat = KSDATAFORMAT_SUBTYPE_PCM; + pWaveFormatExtensible->Format.wBitsPerSample = 16; + pWaveFormatExtensible->Format.nBlockAlign = + pWaveFormatExtensible->Format.nChannels * + pWaveFormatExtensible->Format.wBitsPerSample / + BITS_PER_BYTE; + pWaveFormatExtensible->Format.nAvgBytesPerSec = + pWaveFormatExtensible->Format.nSamplesPerSec * + pWaveFormatExtensible->Format.nBlockAlign; + pWaveFormatExtensible->Samples.wValidBitsPerSample = + pWaveFormatExtensible->Format.wBitsPerSample; + + // leave the channel mask as-is + } + else + { + // we can only handle float or PCM + hr = HRESULT_FROM_WIN32( ERROR_NOT_FOUND ); + } + break; + } + + default: + // we can only handle float or PCM + hr = HRESULT_FROM_WIN32( ERROR_NOT_FOUND ); + break; + } + + if (FAILED( hr )) + { + goto exit; + } + + // The wfx parameter below is optional (Its needed only for MATCH_FORMAT clients). Otherwise, wfx will be assumed + // to be the current engine format based on the processing mode for this stream + hr = m_AudioClient->GetSharedModeEnginePeriod(m_MixFormat, &m_DefaultPeriodInFrames, &m_FundamentalPeriodInFrames, &m_MinPeriodInFrames, &m_MaxPeriodInFrames); + if (FAILED(hr)) + { + return hr; + } + + // https://docs.microsoft.com/en-us/windows/desktop/coreaudio/loopback-recording + + // Initialize the AudioClient in Shared Mode with the user specified buffer + if (m_DeviceProps.IsLowLatency == false) + { + // call IAudioClient::Initialize + // note that AUDCLNT_STREAMFLAGS_LOOPBACK and AUDCLNT_STREAMFLAGS_EVENTCALLBACK + // imcompatible... + hr = m_AudioClient->Initialize(AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_LOOPBACK | AUDCLNT_STREAMFLAGS_EVENTCALLBACK, + 200000, + 0, + m_MixFormat, + nullptr); + } + else + { + hr = m_AudioClient->InitializeSharedAudioStream( + AUDCLNT_STREAMFLAGS_EVENTCALLBACK, + m_MinPeriodInFrames, + m_MixFormat, + nullptr); + } + + + if (FAILED( hr )) + { + goto exit; + } + + // Get the maximum size of the AudioClient Buffer + hr = m_AudioClient->GetBufferSize( &m_BufferFrames ); + if (FAILED( hr )) + { + goto exit; + } + + // Get the capture client + hr = m_AudioClient->GetService( __uuidof(IAudioCaptureClient), (void**) &m_AudioCaptureClient ); + if (FAILED( hr )) + { + goto exit; + } + + // Create Async callback for sample events + hr = MFCreateAsyncResult( nullptr, &m_xSampleReady, nullptr, &m_SampleReadyAsyncResult ); + if (FAILED( hr )) + { + goto exit; + } + + // Sets the event handle that the system signals when an audio buffer is ready to be processed by the client + hr = m_AudioClient->SetEventHandle( m_SampleReadyEvent ); + if (FAILED( hr )) + { + goto exit; + } + + // Create the visualization array + hr = InitializeScopeData(); + if (FAILED( hr )) + { + goto exit; + } + + // Creates the WAV file. If successful, will set the Initialized event + //hr = CreateWAVFile(); + try + { + m_DeviceStateChanged->SetState(DeviceState::DeviceStateInitialized, S_OK, true); + } + catch (Platform::Exception ^e) + { + m_DeviceStateChanged->SetState(DeviceState::DeviceStateInError, e->HResult, true); + } + + if (FAILED( hr )) + { + goto exit; + } + +exit: + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + SAFE_RELEASE( m_AudioClient ); + SAFE_RELEASE( m_AudioCaptureClient ); + SAFE_RELEASE( m_SampleReadyAsyncResult ); + } + + // Need to return S_OK + return S_OK; +} + +// +// CreateWAVFile() +// +// Creates a WAV file in KnownFolders::MusicLibrary +// +HRESULT WASAPICapture::CreateWAVFile() +{ +// // Create the WAV file, appending a number if file already exists +// concurrency::task( KnownFolders::MusicLibrary->CreateFileAsync( AUDIO_FILE_NAME, CreationCollisionOption::GenerateUniqueName )).then( +// [this]( StorageFile^ file ) +// { +// if (nullptr == file) +// { +// ThrowIfFailed( E_INVALIDARG ); +// } +// +// return file->OpenAsync( FileAccessMode::ReadWrite ); +// }) +// +// // Then create a RandomAccessStream +// .then([this]( IRandomAccessStream^ stream ) +// { +// if (nullptr == stream) +// { +// ThrowIfFailed( E_INVALIDARG ); +// } +// +// // Get the OutputStream for the file +// m_ContentStream = stream; +// m_OutputStream = m_ContentStream->GetOutputStreamAt(0); +// +// // Create the DataWriter +// m_WAVDataWriter = ref new DataWriter( m_OutputStream ); +// if (nullptr == m_WAVDataWriter) +// { +// ThrowIfFailed( E_OUTOFMEMORY ); +// } +// +// // Create the WAV header +// DWORD header[] = { +// FCC('RIFF'), // RIFF header +// 0, // Total size of WAV (will be filled in later) +// FCC('WAVE'), // WAVE FourCC +// FCC('fmt '), // Start of 'fmt ' chunk +// sizeof(WAVEFORMATEX) + m_MixFormat->cbSize // Size of fmt chunk +// }; +// +// DWORD data[] = { FCC('data'), 0 }; // Start of 'data' chunk +// +// auto headerBytes = ref new Platform::Array( reinterpret_cast(header), sizeof(header) ); +// auto formatBytes = ref new Platform::Array( reinterpret_cast(m_MixFormat), sizeof(WAVEFORMATEX) + m_MixFormat->cbSize ); +// auto dataBytes = ref new Platform::Array( reinterpret_cast(data), sizeof(data) ); +// +// if ( (nullptr == headerBytes) || (nullptr == formatBytes) || (nullptr == dataBytes) ) +// { +// ThrowIfFailed( E_OUTOFMEMORY ); +// } +// +// // Write the header +// m_WAVDataWriter->WriteBytes( headerBytes ); +// m_WAVDataWriter->WriteBytes( formatBytes ); +// m_WAVDataWriter->WriteBytes( dataBytes ); +// +// return m_WAVDataWriter->StoreAsync(); +// }) +// +// // Wait for file data to be written to file +// .then([this]( unsigned int BytesWritten ) +// { +// m_cbHeaderSize = BytesWritten; +// return m_WAVDataWriter->FlushAsync(); +// }) +// +// // Our file is ready to go, so we can now signal that initialization is finished +// .then([this]( bool f ) +// { +// try +// { +// m_DeviceStateChanged->SetState( DeviceState::DeviceStateInitialized, S_OK, true ); +// } +// catch (Platform::Exception ^e) +// { +// m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, e->HResult, true ); +// } +// }); + + return S_OK; +} + +// +// FixWAVHeader() +// +// The size values were not known when we originally wrote the header, so now go through and fix the values +// +HRESULT WASAPICapture::FixWAVHeader() +{ + //auto DataSizeByte = ref new Platform::Array( reinterpret_cast( &m_cbDataSize ), sizeof(DWORD) ); + // + //// Write the size of the 'data' chunk first + //IOutputStream^ OutputStream = m_ContentStream->GetOutputStreamAt( m_cbHeaderSize - sizeof(DWORD) ); + //m_WAVDataWriter = ref new DataWriter( OutputStream ); + //m_WAVDataWriter->WriteBytes( DataSizeByte ); + + //concurrency::task( m_WAVDataWriter->StoreAsync()).then( + // [this]( unsigned int BytesWritten ) + //{ + // DWORD cbTotalSize = m_cbDataSize + m_cbHeaderSize - 8; + // auto TotalSizeByte = ref new Platform::Array( reinterpret_cast( &cbTotalSize ), sizeof(DWORD) ); + + // // Write the total file size, minus RIFF chunk and size + // IOutputStream^ OutputStream = m_ContentStream->GetOutputStreamAt( sizeof(DWORD) ); // sizeof(DWORD) == sizeof(FOURCC) + // m_WAVDataWriter = ref new DataWriter( OutputStream ); + // m_WAVDataWriter->WriteBytes( TotalSizeByte ); + + // concurrency::task( m_WAVDataWriter->StoreAsync()).then( + // [this]( unsigned int BytesWritten ) + // { + // return m_WAVDataWriter->FlushAsync(); + // }) + // + // .then( + // [this]( bool f ) + // { + // m_DeviceStateChanged->SetState( DeviceState::DeviceStateStopped, S_OK, true ); + // }); + //}); + + return S_OK; +} + +// +// InitializeScopeData() +// +// Setup data structures for sample visualizations +// +HRESULT WASAPICapture::InitializeScopeData() +{ + HRESULT hr = S_OK; + + m_cPlotDataFilled = 0; + m_cPlotDataMax = (MILLISECONDS_TO_VISUALIZE * m_MixFormat->nSamplesPerSec) / 1000; + + m_PlotData = ref new Platform::Array( m_cPlotDataMax + 1 ); + if (nullptr == m_PlotData) + { + return E_OUTOFMEMORY; + } + + // Only Support 16 bit Audio for now + if (m_MixFormat->wBitsPerSample == 16) + { + m_PlotData[ m_cPlotDataMax ] = -32768; // INT16_MAX + } + else + { + m_PlotData = nullptr; + hr = S_FALSE; + } + + return hr; +} + +// +// StartCaptureAsync() +// +// Starts asynchronous capture on a separate thread via MF Work Item +// +HRESULT WASAPICapture::StartCaptureAsync() +{ + HRESULT hr = S_OK; + + // We should be in the initialzied state if this is the first time through getting ready to capture. + if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateInitialized) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateStarting, S_OK, true ); + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartCapture, nullptr ); + } + + // We are in the wrong state + return E_NOT_VALID_STATE; +} + +// +// OnStartCapture() +// +// Callback method to start capture +// +HRESULT WASAPICapture::OnStartCapture( IMFAsyncResult* pResult ) +{ + HRESULT hr = S_OK; + + // Start the capture + hr = m_AudioClient->Start(); + if (SUCCEEDED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateCapturing, S_OK, true ); + MFPutWaitingWorkItem( m_SampleReadyEvent, 0, m_SampleReadyAsyncResult, &m_SampleReadyKey ); + } + else + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return S_OK; +} + +// +// StopCaptureAsync() +// +// Stop capture asynchronously via MF Work Item +// +HRESULT WASAPICapture::StopCaptureAsync() +{ + if ( (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateCapturing) && + (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateInError) ) + { + return E_NOT_VALID_STATE; + } + + m_DeviceStateChanged->SetState( DeviceState::DeviceStateStopping, S_OK, true ); + + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStopCapture, nullptr ); +} + +// +// OnStopCapture() +// +// Callback method to stop capture +// +HRESULT WASAPICapture::OnStopCapture( IMFAsyncResult* pResult ) +{ + // Stop capture by cancelling Work Item + // Cancel the queued work item (if any) + if (0 != m_SampleReadyKey) + { + MFCancelWorkItem( m_SampleReadyKey ); + m_SampleReadyKey = 0; + } + + m_AudioClient->Stop(); + SAFE_RELEASE( m_SampleReadyAsyncResult ); + + // If this is set, it means we writing from the memory buffer to the actual file asynchronously + // Since a second call to StoreAsync() can cause an exception, don't queue this now, but rather + // let the async operation completion handle the call. + if (!m_fWriting) + { + /* m_DeviceStateChanged->SetState( DeviceState::DeviceStateFlushing, S_OK, true ); + + concurrency::task( m_WAVDataWriter->StoreAsync()).then( + [this]( unsigned int BytesWritten ) + { + FinishCaptureAsync(); + });*/ + + FinishCaptureAsync(); + } + + return S_OK; +} + +// +// FinishCaptureAsync() +// +// Finalizes WAV file on a separate thread via MF Work Item +// +HRESULT WASAPICapture::FinishCaptureAsync() +{ + // We should be flushing when this is called + if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateFlushing) + { + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xFinishCapture, nullptr ); + } + + // We are in the wrong state + return E_NOT_VALID_STATE; +} + +// +// OnFinishCapture() +// +// Because of the asynchronous nature of the MF Work Queues and the DataWriter, there could still be +// a sample processing. So this will get called to finalize the WAV header. +// +HRESULT WASAPICapture::OnFinishCapture( IMFAsyncResult* pResult ) +{ + // FixWAVHeader will set the DeviceStateStopped when all async tasks are complete + return FixWAVHeader(); +} + +// +// OnSampleReady() +// +// Callback method when ready to fill sample buffer +// +HRESULT WASAPICapture::OnSampleReady( IMFAsyncResult* pResult ) +{ + HRESULT hr = S_OK; + + hr = OnAudioSampleRequested( false ); + + if (SUCCEEDED( hr )) + { + // Re-queue work item for next sample + if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateCapturing) + { + hr = MFPutWaitingWorkItem( m_SampleReadyEvent, 0, m_SampleReadyAsyncResult, &m_SampleReadyKey ); + } + } + else + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// OnAudioSampleRequested() +// +// Called when audio device fires m_SampleReadyEvent +// +HRESULT WASAPICapture::OnAudioSampleRequested( Platform::Boolean IsSilence ) +{ + HRESULT hr = S_OK; + UINT32 FramesAvailable = 0; + BYTE *Data = nullptr; + DWORD dwCaptureFlags; + UINT64 u64DevicePosition = 0; + UINT64 u64QPCPosition = 0; + DWORD cbBytesToCapture = 0; + + EnterCriticalSection( &m_CritSec ); + + // If this flag is set, we have already queued up the async call to finialize the WAV header + // So we don't want to grab or write any more data that would possibly give us an invalid size + if ( (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateStopping) || + (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateFlushing) ) + { + goto exit; + } + + // A word on why we have a loop here; + // Suppose it has been 10 milliseconds or so since the last time + // this routine was invoked, and that we're capturing 48000 samples per second. + // + // The audio engine can be reasonably expected to have accumulated about that much + // audio data - that is, about 480 samples. + // + // However, the audio engine is free to accumulate this in various ways: + // a. as a single packet of 480 samples, OR + // b. as a packet of 80 samples plus a packet of 400 samples, OR + // c. as 48 packets of 10 samples each. + // + // In particular, there is no guarantee that this routine will be + // run once for each packet. + // + // So every time this routine runs, we need to read ALL the packets + // that are now available; + // + // We do this by calling IAudioCaptureClient::GetNextPacketSize + // over and over again until it indicates there are no more packets remaining. + for + ( + hr = m_AudioCaptureClient->GetNextPacketSize(&FramesAvailable); + SUCCEEDED(hr) && FramesAvailable > 0; + hr = m_AudioCaptureClient->GetNextPacketSize(&FramesAvailable) + ) + { + cbBytesToCapture = FramesAvailable * m_MixFormat->nBlockAlign; + + // WAV files have a 4GB (0xFFFFFFFF) size limit, so likely we have hit that limit when we + // overflow here. Time to stop the capture + if ( (m_cbDataSize + cbBytesToCapture) < m_cbDataSize ) + { + StopCaptureAsync(); + goto exit; + } + + // Get sample buffer + hr = m_AudioCaptureClient->GetBuffer( &Data, &FramesAvailable, &dwCaptureFlags, &u64DevicePosition, &u64QPCPosition ); + if (FAILED( hr )) + { + goto exit; + } + + if (dwCaptureFlags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY) + { + // Pass down a discontinuity flag in case the app is interested and reset back to capturing + m_DeviceStateChanged->SetState( DeviceState::DeviceStateDiscontinuity, S_OK, true ); + m_DeviceStateChanged->SetState( DeviceState::DeviceStateCapturing, S_OK, false ); + } + + // Zero out sample if silence + if ( (dwCaptureFlags & AUDCLNT_BUFFERFLAGS_SILENT) || IsSilence ) + { + memset( Data, 0, FramesAvailable * m_MixFormat->nBlockAlign ); + } + + // Store data in array + auto dataByte = ref new Platform::Array( Data, cbBytesToCapture ); + + // Release buffer back + m_AudioCaptureClient->ReleaseBuffer( FramesAvailable ); + + // Update plotter data + ProcessScopeData( Data, cbBytesToCapture ); + + } + +exit: + LeaveCriticalSection( &m_CritSec ); + + return hr; +} + +// +// ProcessScopeData() +// +// Copies sample data to the buffer array and fires the event +// +HRESULT WASAPICapture::ProcessScopeData( BYTE* pData, DWORD cbBytes ) +{ + HRESULT hr = S_OK; + + // We don't have a valid pointer array, so return. This could be the case if we aren't + // dealing with 16-bit audio + if (m_PlotData == nullptr) + { + return S_FALSE; + } + + DWORD dwNumPoints = cbBytes / m_MixFormat->nChannels / (m_MixFormat->wBitsPerSample / 8); + + // Read the 16-bit samples from channel 0 + pi16 = (INT16*)pData; + + + // if (dwNumPoints > 256) dwNumPoints = 256; + m_app->pcm()->addPCM16Data(pi16, dwNumPoints); + + return hr; + + for ( DWORD i = 0; m_cPlotDataFilled < m_cPlotDataMax && i < dwNumPoints; i++ ) + { + m_PlotData[ m_cPlotDataFilled ] = *pi16; + pi16 += m_MixFormat->nChannels; + + m_cPlotDataFilled++; + } + + // Send off the event and get ready for the next set of samples + if (m_cPlotDataFilled == m_cPlotDataMax) + { + ComPtr spUnknown; + ComPtr spState = Make( m_PlotData, m_cPlotDataMax + 1 ); + + hr = spState.As( &spUnknown ); + if (SUCCEEDED( hr )) + { + MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xSendScopeData, spUnknown.Get() ); + } + + m_cPlotDataFilled = 0; + } + + return hr; +} + +// +// OnSendScopeData() +// +// Callback method to stop capture +// +HRESULT WASAPICapture::OnSendScopeData( IMFAsyncResult* pResult ) +{ + HRESULT hr = S_OK; + CAsyncState *pState = nullptr; + + hr = pResult->GetState( reinterpret_cast(&pState) ); + //if (SUCCEEDED( hr )) + //{ + // // TODO: verify + // PlotDataReadyEvent::SendEvent( reinterpret_cast(this), pState->m_Data , pState->m_Size ); + //} + + SAFE_RELEASE( pState ); + + return S_OK; +} + +// +// SetProperties() +// +// Sets various properties that the user defines in the scenario +// +HRESULT WASAPICapture::SetProperties(CAPTUREDEVICEPROPS props) +{ + m_DeviceProps = props; + return S_OK; +} \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.h new file mode 100644 index 0000000000..41a661f638 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICapture.h @@ -0,0 +1,140 @@ +//********************************************************* +// +// Copyright (c) Microsoft. All rights reserved. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//********************************************************* + +// +// WASAPICapture.h +// + +// The M$ header is required to be preserved, this file: modified. +// After making all the required changes for Loopback, etc +// there is extensive divergence from the original to this file. + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + +#include +#include +#include +#include +#include +#include +#include + +#include "WASAPICaptureCommon.h" +#include "WASAPICaptureDeviceState.h" + +#include "projectM.hpp" + +using namespace Microsoft::WRL; +using namespace Windows::Media::Devices; +using namespace Windows::Storage::Streams; + +#define AUDIO_FILE_NAME "WASAPIAudioCapture.wav" +#define FLUSH_INTERVAL_SEC 3 + + +#pragma once + +namespace EyeTune +{ + // User Configurable Arguments for Scenario + struct CAPTUREDEVICEPROPS + { + Platform::Boolean IsLowLatency; + }; + + // Primary WASAPI Capture Class + class WASAPICapture : + public RuntimeClass< RuntimeClassFlags< ClassicCom >, FtmBase, IActivateAudioInterfaceCompletionHandler > + { + public: + WASAPICapture(); + + HRESULT SetProperties(CAPTUREDEVICEPROPS props); + HRESULT InitializeAudioDeviceAsync(projectM* app); + HRESULT StartCaptureAsync(); + HRESULT StopCaptureAsync(); + HRESULT FinishCaptureAsync(); + + DeviceStateChangedEvent^ GetDeviceStateEvent() { return m_DeviceStateChanged; }; + + METHODASYNCCALLBACK(WASAPICapture, StartCapture, OnStartCapture); + METHODASYNCCALLBACK(WASAPICapture, StopCapture, OnStopCapture); + METHODASYNCCALLBACK(WASAPICapture, SampleReady, OnSampleReady); + METHODASYNCCALLBACK(WASAPICapture, FinishCapture, OnFinishCapture); + METHODASYNCCALLBACK(WASAPICapture, SendScopeData, OnSendScopeData); + + // IActivateAudioInterfaceCompletionHandler + STDMETHOD(ActivateCompleted)(IActivateAudioInterfaceAsyncOperation *operation); + + private: + ~WASAPICapture(); + + HRESULT OnStartCapture(IMFAsyncResult* pResult); + HRESULT OnStopCapture(IMFAsyncResult* pResult); + HRESULT OnFinishCapture(IMFAsyncResult* pResult); + HRESULT OnSampleReady(IMFAsyncResult* pResult); + HRESULT OnSendScopeData(IMFAsyncResult* pResult); + + HRESULT CreateWAVFile(); + HRESULT FixWAVHeader(); + HRESULT OnAudioSampleRequested(Platform::Boolean IsSilence = false); + HRESULT InitializeScopeData(); + HRESULT ProcessScopeData(BYTE* pData, DWORD cbBytes); + + private: + Platform::String^ m_DeviceIdString; + UINT32 m_BufferFrames; + HANDLE m_SampleReadyEvent; + MFWORKITEM_KEY m_SampleReadyKey; + CRITICAL_SECTION m_CritSec; + DWORD m_dwQueueID; + + DWORD m_cbHeaderSize; + DWORD m_cbDataSize; + DWORD m_cbFlushCounter; + BOOL m_fWriting; + + IRandomAccessStream^ m_ContentStream; + IOutputStream^ m_OutputStream; + //DataWriter^ m_WAVDataWriter; + WAVEFORMATEX *m_MixFormat; + IAudioClient3 *m_AudioClient; + UINT32 m_DefaultPeriodInFrames; + UINT32 m_FundamentalPeriodInFrames; + UINT32 m_MaxPeriodInFrames; + UINT32 m_MinPeriodInFrames; + IAudioCaptureClient *m_AudioCaptureClient; + IMFAsyncResult *m_SampleReadyAsyncResult; + + DeviceStateChangedEvent^ m_DeviceStateChanged; + + Platform::Array^ m_PlotData; + UINT32 m_cPlotDataMax; + UINT32 m_cPlotDataFilled; + short *pi16; + projectM* m_app; + CAPTUREDEVICEPROPS m_DeviceProps; + }; +} diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureCommon.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureCommon.h new file mode 100644 index 0000000000..7704cce4f7 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureCommon.h @@ -0,0 +1,196 @@ +//********************************************************* +// +// Copyright (c) Microsoft. All rights reserved. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//********************************************************* + +// +// pch.h +// Header for standard system include files. +// + +// The M$ header is required to be preserved, this file: modified. + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + +#pragma once +#include +#include +#include +#include + +using namespace Microsoft::WRL; + +// release and zero out a possible NULL pointer. note this will +// do the release on a temp copy to avoid reentrancy issues that can result from +// callbacks durring the release +template void SafeRelease( __deref_inout_opt T **ppT ) +{ + T *pTTemp = *ppT; // temp copy + *ppT = nullptr; // zero the input + if (pTTemp) + { + pTTemp->Release(); + } +} + +// Exception Helper Method +inline void ThrowIfFailed( HRESULT hr ) +{ + if (FAILED( hr )) + { + // Set a breakpoint on this line to catch API errors. + throw Platform::Exception::CreateException( hr ); + } +} + +#ifndef SAFE_RELEASE +#define SAFE_RELEASE(x) { SafeRelease(&x); } +#endif + +#ifndef SAFE_DELETE +#define SAFE_DELETE(x) { delete x; x = nullptr; } +#endif + +#ifndef SAFE_ARRAYDELETE +#define SAFE_ARRAYDELETE(x) { delete[] x; x = nullptr; } +#endif + +#ifndef METHODASYNCCALLBACK +#define METHODASYNCCALLBACK(Parent, AsyncCallback, pfnCallback) \ +class Callback##AsyncCallback :\ + public IMFAsyncCallback \ +{ \ +public: \ + Callback##AsyncCallback() : \ + _parent(((Parent*)((BYTE*)this - offsetof(Parent, m_x##AsyncCallback)))), \ + _dwQueueID( MFASYNC_CALLBACK_QUEUE_MULTITHREADED ) \ + { \ + } \ +\ + STDMETHOD_( ULONG, AddRef )() \ + { \ + return _parent->AddRef(); \ + } \ + STDMETHOD_( ULONG, Release )() \ + { \ + return _parent->Release(); \ + } \ + STDMETHOD( QueryInterface )( REFIID riid, void **ppvObject ) \ + { \ + if (riid == IID_IMFAsyncCallback || riid == IID_IUnknown) \ + { \ + (*ppvObject) = this; \ + AddRef(); \ + return S_OK; \ + } \ + *ppvObject = NULL; \ + return E_NOINTERFACE; \ + } \ + STDMETHOD( GetParameters )( \ + /* [out] */ __RPC__out DWORD *pdwFlags, \ + /* [out] */ __RPC__out DWORD *pdwQueue) \ + { \ + *pdwFlags = 0; \ + *pdwQueue = _dwQueueID; \ + return S_OK; \ + } \ + STDMETHOD( Invoke )( /* [out] */ __RPC__out IMFAsyncResult * pResult ) \ + { \ + _parent->pfnCallback( pResult ); \ + return S_OK; \ + } \ + void SetQueueID( DWORD dwQueueID ) { _dwQueueID = dwQueueID; } \ +\ +protected: \ + Parent* _parent; \ + DWORD _dwQueueID; \ + \ +} m_x##AsyncCallback; +#endif + +// +// CAsyncState +// +// Used to maintain state during MF Work Item callbacks +class CAsyncState : + public RuntimeClass, IUnknown> +{ +public: + CAsyncState( Platform::Array^ data, UINT32 size ) : + m_Data(data), + m_Size(size) + { + }; + +public: + Platform::Array^ m_Data; + UINT32 m_Size; + +private: + virtual ~CAsyncState() {}; +}; + +struct RenderBuffer +{ + UINT32 BufferSize; + UINT32 BytesFilled; + BYTE *Buffer; + RenderBuffer *Next; + + RenderBuffer() : + BufferSize(0), + BytesFilled(0), + Buffer( nullptr ), + Next( nullptr ) + { + } + + ~RenderBuffer() + { + SAFE_ARRAYDELETE( Buffer ); + } +}; + +enum RenderSampleType +{ + SampleTypeUnknown, + SampleTypeFloat, + SampleType16BitPCM, +}; + +// +// CalculateMixFormatType() +// +// Determine IEEE Float or PCM samples based on media type +// +inline RenderSampleType CalculateMixFormatType( WAVEFORMATEX *wfx ) +{ + if ( (wfx->wFormatTag == WAVE_FORMAT_PCM) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_PCM) ) ) + { + if (wfx->wBitsPerSample == 16) + { + return RenderSampleType::SampleType16BitPCM; + } + } + else if ( (wfx->wFormatTag == WAVE_FORMAT_IEEE_FLOAT) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_IEEE_FLOAT) ) ) + { + return RenderSampleType::SampleTypeFloat; + } + + return RenderSampleType::SampleTypeUnknown; +} diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureDeviceState.h b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureDeviceState.h new file mode 100644 index 0000000000..86fd9cd260 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureDeviceState.h @@ -0,0 +1,108 @@ +//********************************************************* +// +// Copyright (c) Microsoft. All rights reserved. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//********************************************************* + +// +// devicestate.h +// + +// The M$ header is required to be preserved, this file: modified. + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + +#pragma once + +using namespace Windows::Storage::Streams; + + +namespace EyeTune +{ + // NB: All states >= DeviceStateInitialized will allow some methods + // to be called successfully on the Audio Client + public enum class DeviceState + { + DeviceStateUnInitialized, + DeviceStateInError, + DeviceStateDiscontinuity, + DeviceStateFlushing, + DeviceStateActivated, + DeviceStateInitialized, + DeviceStateStarting, + DeviceStatePlaying, + DeviceStateCapturing, + DeviceStatePausing, + DeviceStatePaused, + DeviceStateStopping, + DeviceStateStopped + }; + + // Class for DeviceStateChanged events + public ref class DeviceStateChangedEventArgs sealed + { + internal: + DeviceStateChangedEventArgs(DeviceState newState, HRESULT hr) : + m_DeviceState(newState), + m_hr(hr) + {}; + + property DeviceState State + { + DeviceState get() { return m_DeviceState; } + }; + + property int hr + { + int get() { return m_hr; } + } + + private: + DeviceState m_DeviceState; + HRESULT m_hr; + }; + + // DeviceStateChanged delegate + public delegate void DeviceStateChangedHandler(Platform::Object^ sender, DeviceStateChangedEventArgs^ e); + + // DeviceStateChanged Event + public ref class DeviceStateChangedEvent sealed + { + public: + DeviceStateChangedEvent() : + m_DeviceState(DeviceState::DeviceStateUnInitialized) + {}; + + DeviceState GetState() { return m_DeviceState; }; + + internal: + void SetState(DeviceState newState, HRESULT hr, Platform::Boolean FireEvent) { + if (m_DeviceState != newState) + { + m_DeviceState = newState; + + if (FireEvent) + { + DeviceStateChangedEventArgs^ e = ref new DeviceStateChangedEventArgs(m_DeviceState, hr); + StateChangedEvent(this, e); + } + } + }; + + public: + static event DeviceStateChangedHandler^ StateChangedEvent; + + private: + DeviceState m_DeviceState; + }; +} diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureScenario.cpp b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureScenario.cpp new file mode 100644 index 0000000000..6723f34b4d --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/WASAPICaptureScenario.cpp @@ -0,0 +1,257 @@ +//********************************************************* +// +// Copyright (c) Microsoft. All rights reserved. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//********************************************************* + +// +// Scenario4.xaml.cpp +// Implementation of the Scenario4 class +// + + +// The M$ header is required to be preserved, this file: modified. +// After making all the required changes for Loopback, etc +// there is extensive divergence from the original to this file. + +// https://github.com/mancoast/Windows-universal-samples +// Microsoft / Windows - universal - samples licensed under the +// MIT License +// +// Modified for use in EyeTune Windows Store UWP Application. +// RobertPancoast77@gmail.com +// + + +#include "EyeTuneApp.h" +#include "projectM.hpp" +#include "Renderer.hpp" +#include +#include + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::Graphics::Display; +using namespace Windows::Storage; +using namespace Microsoft::WRL; +using namespace Platform; + +using namespace EyeTune; + +// Event callback from WASAPI capture for changes in device state +void App::OnDeviceStateChange(Object^ sender, DeviceStateChangedEventArgs^ e) +{ + String^ strMessage = ""; + + // Get the current time for messages + auto t = Windows::Globalization::DateTimeFormatting::DateTimeFormatter::LongTime; + Windows::Globalization::Calendar^ calendar = ref new Windows::Globalization::Calendar(); + calendar->SetToNow(); + + // Update Control Buttons + //m_CoreDispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new Windows::UI::Core::DispatchedHandler( + // [this, e]() + //{ + // UpdateMediaControlUI(e->State); + //})); + + // Handle state specific messages + switch (e->State) + { + case DeviceState::DeviceStateInitialized: + m_spCapture->StartCaptureAsync(); + break; + + case DeviceState::DeviceStateCapturing: + if (m_IsLowLatency == true) + { + strMessage = "Capture Started (minimum latency) @" + t->Format(calendar->GetDateTime()); + } + else + { + strMessage = "Capture Started (normal latency) @" + t->Format(calendar->GetDateTime()); + } + + //ShowStatusMessage(strMessage, NotifyType::StatusMessage); + break; + + case DeviceState::DeviceStateDiscontinuity: + { + m_DiscontinuityCount++; + + // Should always have a discontinuity when starting the capture, so will disregard it + if (m_DiscontinuityCount > 1) + { + strMessage = "DISCONTINUITY DETECTED: " + t->Format(calendar->GetDateTime()) + " (Count = " + (m_DiscontinuityCount - 1) + ")"; + //ShowStatusMessage(strMessage, NotifyType::StatusMessage); + } + } + break; + + case DeviceState::DeviceStateFlushing: + //PlotDataReadyEvent::PlotDataReady -= m_plotDataReadyToken; + m_plotDataReadyToken.Value = 0; + + //ShowStatusMessage("Finalizing WAV Header. This may take a few minutes...", NotifyType::StatusMessage); + + //m_CoreDispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::Normal, ref new Windows::UI::Core::DispatchedHandler( + // [this]() + //{ + // m_Oscilloscope->Points->Clear(); + + // Windows::Foundation::Point p; + // p.X = OSC_START_X; + // p.Y = OSC_START_Y; + + // m_Oscilloscope->Points->Append(p); + + // p.X = OSC_X_LENGTH; + // p.Y = OSC_START_Y; + + // m_Oscilloscope->Points->Append(p); + //})); + break; + + case DeviceState::DeviceStateStopped: + // For the stopped state, completely tear down the audio device + m_spCapture = nullptr; + + if (m_deviceStateChangeToken.Value != 0) + { + m_StateChangedEvent->StateChangedEvent -= m_deviceStateChangeToken; + m_StateChangedEvent = nullptr; + m_deviceStateChangeToken.Value = 0; + } + + //ShowStatusMessage("Capture Stopped", NotifyType::StatusMessage); + break; + + case DeviceState::DeviceStateInError: + HRESULT hr = e->hr; + + if (m_deviceStateChangeToken.Value != 0) + { + m_StateChangedEvent->StateChangedEvent -= m_deviceStateChangeToken; + m_StateChangedEvent = nullptr; + m_deviceStateChangeToken.Value = 0; + } + + m_spCapture = nullptr; + + wchar_t hrVal[11]; + swprintf_s(hrVal, 11, L"0x%08x\0", hr); + String^ strHRVal = ref new String(hrVal); + + // Specifically handle a couple of known errors + switch (hr) + { + case __HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND): + strMessage = "ERROR: File Not Found (" + strHRVal + "). Check the Sound control panel for an active recording device."; + //ShowStatusMessage(strMessage, NotifyType::ErrorMessage); + break; + + case AUDCLNT_E_RESOURCES_INVALIDATED: + strMessage = "ERROR: Endpoint Lost Access To Resources (" + strHRVal + ")"; + //ShowStatusMessage(strMessage, NotifyType::ErrorMessage); + break; + + case E_ACCESSDENIED: + strMessage = "ERROR: Access Denied (" + strHRVal + "). Check 'Settings->Permissions' for access to Microphone."; + //ShowStatusMessage(strMessage, NotifyType::ErrorMessage); + break; + + default: + strMessage = "ERROR: " + strHRVal + " has occurred."; + //ShowStatusMessage(strMessage, NotifyType::ErrorMessage); + } + } +} + + +// +// InitializeCapture() +// +void App::InitializeCapture(Platform::Object^ sender, Object^ e) +{ + HRESULT hr = S_OK; + + + // Initialize MF + hr = MFStartup(MF_VERSION, MFSTARTUP_LITE); + if (SUCCEEDED(hr)) + { + m_IsMFLoaded = true; + } + else + { + ThrowIfFailed(hr); + } + + if (m_spCapture) + { + m_spCapture = nullptr; + } + + // Create a new WASAPI capture instance + m_spCapture = Make(); + + if (nullptr == m_spCapture) + { + //OnDeviceStateChange(this, ref new DeviceStateChangedEventArgs(DeviceState::DeviceStateInError, E_OUTOFMEMORY)); + return; + } + + // Get a pointer to the device event interface + m_StateChangedEvent = m_spCapture->GetDeviceStateEvent(); + + if (nullptr == m_StateChangedEvent) + { + //OnDeviceStateChange(this, ref new DeviceStateChangedEventArgs(DeviceState::DeviceStateInError, E_FAIL)); + return; + } + + // Register for events + m_deviceStateChangeToken = m_StateChangedEvent->StateChangedEvent += ref new DeviceStateChangedHandler(this, &App::OnDeviceStateChange); + + // Reset discontinuity counter + m_DiscontinuityCount = 0; + + // Configure user based properties + CAPTUREDEVICEPROPS props; + + //m_IsLowLatency = static_cast(toggleMinimumLatency->IsOn); + props.IsLowLatency = m_IsLowLatency; + m_spCapture->SetProperties(props); + + // Perform the initialization + m_spCapture->InitializeAudioDeviceAsync(app); +} + +// +// StopCapture() +// +void App::StopCapture(Platform::Object^ sender, Object^ e) +{ + if (m_spCapture) + { + // Set the event to stop playback + m_spCapture->StopCaptureAsync(); + } + + // Uninitialize MF + if (m_IsMFLoaded) + { + MFShutdown(); + m_IsMFLoaded = false; + } +} + diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/packages.config b/src/EyeTune/EyeTune.WindowsUniversal.Application/packages.config new file mode 100644 index 0000000000..bb6718eac8 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/EyeTune/EyeTune.WindowsUniversal.Application/presets/UWP.milk b/src/EyeTune/EyeTune.WindowsUniversal.Application/presets/UWP.milk new file mode 100644 index 0000000000..4e0e1692d8 --- /dev/null +++ b/src/EyeTune/EyeTune.WindowsUniversal.Application/presets/UWP.milk @@ -0,0 +1,324 @@ +MILKDROP_PRESET_VERSION=201 +PSVERSION=2 +PSVERSION_WARP=2 +PSVERSION_COMP=2 +[preset00] +fRating=3.000000 +fGammaAdj=1.900 +fDecay=0.980 +fVideoEchoZoom=2.000 +fVideoEchoAlpha=0.000 +nVideoEchoOrientation=0 +nWaveMode=7 +bAdditiveWaves=1 +bWaveDots=0 +bWaveThick=0 +bModWaveAlphaByVolume=1 +bMaximizeWaveColor=0 +bTexWrap=1 +bDarkenCenter=0 +bRedBlueStereo=0 +bBrighten=0 +bDarken=0 +bSolarize=0 +bInvert=0 +fWaveAlpha=0.001 +fWaveScale=1.286 +fWaveSmoothing=0.630 +fWaveParam=0.000 +fModWaveAlphaStart=0.710 +fModWaveAlphaEnd=1.300 +fWarpAnimSpeed=1.000 +fWarpScale=1.331 +fZoomExponent=1.25486 +fShader=0.000 +zoom=0.97012 +rot=0.00000 +cx=0.500 +cy=0.500 +dx=0.00000 +dy=0.00000 +warp=0.01000 +sx=1.00000 +sy=1.00000 +wave_r=0.650 +wave_g=0.650 +wave_b=0.650 +wave_x=0.500 +wave_y=0.500 +ob_size=0.500 +ob_r=0.010 +ob_g=0.000 +ob_b=0.000 +ob_a=0.000 +ib_size=0.260 +ib_r=0.250 +ib_g=0.250 +ib_b=0.250 +ib_a=0.000 +nMotionVectorsX=64.000 +nMotionVectorsY=48.000 +mv_dx=0.000 +mv_dy=0.000 +mv_l=0.000 +mv_r=1.000 +mv_g=1.000 +mv_b=1.000 +mv_a=0.000 +b1n=0.000 +b2n=0.000 +b3n=0.000 +b1x=1.000 +b2x=1.000 +b3x=1.000 +b1ed=0.250 +wavecode_0_enabled=1 +wavecode_0_samples=512 +wavecode_0_sep=0 +wavecode_0_bSpectrum=0 +wavecode_0_bUseDots=0 +wavecode_0_bDrawThick=1 +wavecode_0_bAdditive=0 +wavecode_0_scaling=1.00000 +wavecode_0_smoothing=0.50000 +wavecode_0_r=1.000 +wavecode_0_g=1.000 +wavecode_0_b=1.000 +wavecode_0_a=1.000 +wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass); +wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_0_per_point3= +wave_0_per_point4=mx=mx+(.0002*cos(ma)); +wave_0_per_point5=my=my+(.0002*sin(ma)); +wave_0_per_point6= +wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_0_per_point8=my=if(above(my,.9),(.9-my),my); +wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_0_per_point10=my=if(below(my,.1),(.9+my),my); +wave_0_per_point11= +wave_0_per_point12=x=mx; +wave_0_per_point13=y=my; +wave_0_per_point14= +wave_0_per_point15=a=(above(bass+mid+treb,.8)); +wavecode_1_enabled=1 +wavecode_1_samples=512 +wavecode_1_sep=0 +wavecode_1_bSpectrum=0 +wavecode_1_bUseDots=0 +wavecode_1_bDrawThick=1 +wavecode_1_bAdditive=0 +wavecode_1_scaling=1.00000 +wavecode_1_smoothing=0.50000 +wavecode_1_r=1.000 +wavecode_1_g=1.000 +wavecode_1_b=1.000 +wavecode_1_a=1.000 +wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass); +wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid); +wave_1_per_point3= +wave_1_per_point4=mx=mx+(.0001*cos(ma)); +wave_1_per_point5=my=my+(.0001*sin(ma)); +wave_1_per_point6= +wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_1_per_point8=my=if(above(my,.9),(.9-my),my); +wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_1_per_point10=my=if(below(my,.1),(.9+my),my); +wave_1_per_point11= +wave_1_per_point12=x=mx; +wave_1_per_point13=y=my; +wave_1_per_point14= +wave_1_per_point15=a=(above(bass+mid+treb,.1)); +wavecode_2_enabled=1 +wavecode_2_samples=512 +wavecode_2_sep=0 +wavecode_2_bSpectrum=0 +wavecode_2_bUseDots=1 +wavecode_2_bDrawThick=1 +wavecode_2_bAdditive=0 +wavecode_2_scaling=1.00000 +wavecode_2_smoothing=0.50000 +wavecode_2_r=1.000 +wavecode_2_g=1.000 +wavecode_2_b=1.000 +wavecode_2_a=1.000 +wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid); +wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb); +wave_2_per_point3= +wave_2_per_point4=mx=mx+(.0004*cos(ma)); +wave_2_per_point5=my=my+(.0004*sin(ma)); +wave_2_per_point6= +wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_2_per_point8=my=if(above(my,.9),(.9-my),my); +wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_2_per_point10=my=if(below(my,.1),(.9+my),my); +wave_2_per_point11= +wave_2_per_point12=x=mx; +wave_2_per_point13=y=my; +wave_2_per_point14= +wave_2_per_point15=a=(above(bass+mid+treb,.3)); +wavecode_3_enabled=1 +wavecode_3_samples=512 +wavecode_3_sep=0 +wavecode_3_bSpectrum=0 +wavecode_3_bUseDots=0 +wavecode_3_bDrawThick=1 +wavecode_3_bAdditive=0 +wavecode_3_scaling=1.00000 +wavecode_3_smoothing=0.50000 +wavecode_3_r=1.000 +wavecode_3_g=1.000 +wavecode_3_b=1.000 +wavecode_3_a=1.000 +wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass); +wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb); +wave_3_per_point3= +wave_3_per_point4=mx=mx+(.0008*cos(ma)); +wave_3_per_point5=my=my+(.0008*sin(ma)); +wave_3_per_point6= +wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx); +wave_3_per_point8=my=if(above(my,.9),(.9-my),my); +wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx); +wave_3_per_point10=my=if(below(my,.1),(.9+my),my); +wave_3_per_point11= +wave_3_per_point12=x=mx; +wave_3_per_point13=y=my; +wave_3_per_point14= +wave_3_per_point15=a=(above(bass+mid+treb,.2)); +shapecode_0_enabled=0 +shapecode_0_sides=4 +shapecode_0_additive=0 +shapecode_0_thickOutline=0 +shapecode_0_textured=1 +shapecode_0_num_inst=1 +shapecode_0_x=0.500 +shapecode_0_y=0.500 +shapecode_0_rad=1.79142 +shapecode_0_ang=0.00000 +shapecode_0_tex_ang=0.62832 +shapecode_0_tex_zoom=1.00000 +shapecode_0_r=1.000 +shapecode_0_g=1.000 +shapecode_0_b=1.000 +shapecode_0_a=0.000 +shapecode_0_r2=0.000 +shapecode_0_g2=0.000 +shapecode_0_b2=0.000 +shapecode_0_a2=1.000 +shapecode_0_border_r=1.000 +shapecode_0_border_g=1.000 +shapecode_0_border_b=1.000 +shapecode_0_border_a=0.000 +shapecode_1_enabled=0 +shapecode_1_sides=4 +shapecode_1_additive=0 +shapecode_1_thickOutline=0 +shapecode_1_textured=0 +shapecode_1_num_inst=1 +shapecode_1_x=0.500 +shapecode_1_y=0.500 +shapecode_1_rad=0.10000 +shapecode_1_ang=0.00000 +shapecode_1_tex_ang=0.00000 +shapecode_1_tex_zoom=1.00000 +shapecode_1_r=1.000 +shapecode_1_g=0.000 +shapecode_1_b=0.000 +shapecode_1_a=1.000 +shapecode_1_r2=0.000 +shapecode_1_g2=1.000 +shapecode_1_b2=0.000 +shapecode_1_a2=0.000 +shapecode_1_border_r=1.000 +shapecode_1_border_g=1.000 +shapecode_1_border_b=1.000 +shapecode_1_border_a=0.100 +shapecode_2_enabled=0 +shapecode_2_sides=4 +shapecode_2_additive=0 +shapecode_2_thickOutline=0 +shapecode_2_textured=0 +shapecode_2_num_inst=1 +shapecode_2_x=0.500 +shapecode_2_y=0.500 +shapecode_2_rad=0.10000 +shapecode_2_ang=0.00000 +shapecode_2_tex_ang=0.00000 +shapecode_2_tex_zoom=1.00000 +shapecode_2_r=1.000 +shapecode_2_g=0.000 +shapecode_2_b=0.000 +shapecode_2_a=1.000 +shapecode_2_r2=0.000 +shapecode_2_g2=1.000 +shapecode_2_b2=0.000 +shapecode_2_a2=0.000 +shapecode_2_border_r=1.000 +shapecode_2_border_g=1.000 +shapecode_2_border_b=1.000 +shapecode_2_border_a=0.100 +shapecode_3_enabled=0 +shapecode_3_sides=4 +shapecode_3_additive=0 +shapecode_3_thickOutline=0 +shapecode_3_textured=0 +shapecode_3_num_inst=1 +shapecode_3_x=0.500 +shapecode_3_y=0.500 +shapecode_3_rad=0.10000 +shapecode_3_ang=0.00000 +shapecode_3_tex_ang=0.00000 +shapecode_3_tex_zoom=1.00000 +shapecode_3_r=1.000 +shapecode_3_g=0.000 +shapecode_3_b=0.000 +shapecode_3_a=1.000 +shapecode_3_r2=0.000 +shapecode_3_g2=1.000 +shapecode_3_b2=0.000 +shapecode_3_a2=0.000 +shapecode_3_border_r=1.000 +shapecode_3_border_g=1.000 +shapecode_3_border_b=1.000 +shapecode_3_border_a=0.100 +per_frame_init_1=ez=1.2; +per_frame_1=ea=abs(sin(time*.25)); +per_frame_2=eo=if(below(ea,.1),rand(3),eo); +per_frame_3=ez=if(below(ea,.1),.5+(rand(10)*.1),ez); +per_frame_4= +per_frame_5=echo_alpha=ea; +per_frame_6=echo_orient=eo; +per_frame_7=echo_zoom=ez; +per_pixel_1=rot=rot+(rad*sin(time*.25)*.02); +warp_1=`shader_body +warp_2=`{ +warp_3=` // sample previous frame +warp_4=` ret = tex2D( sampler_main, uv ).xyz; +warp_5=` ret = max(ret, tex2D( sampler_main, float2(1-uv.x,uv.y) ).zyx ); +warp_6=` +warp_7=` // darken over time +warp_8=` ret *= 0.97; //or try: ret -= 0.004; +warp_9=`} +comp_1=`shader_body +comp_2=`{ +comp_3=` float2 uv2; +comp_4=` +comp_5=` float4 c = float4(1,0.4,0.15,0.1); +comp_6=` +comp_7=` uv2 = uv + float2(1,0)*texsize.zw; +comp_8=` float gx1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_9=` uv2 = uv + float2(-1,0)*texsize.zw; +comp_10=` float gx2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_11=` +comp_12=` uv2 = uv + float2(0,1)*texsize.zw; +comp_13=` float gy1 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_14=` uv2 = uv + float2(0,-1)*texsize.zw; +comp_15=` float gy2 = GetPixel(uv2)*c.x + GetBlur1(uv2)*c.y + GetBlur2(uv2)*c.z + GetBlur3(uv2)*c.w; +comp_16=` +comp_17=` float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.14)); +comp_18=` +comp_19=` ret = 0.5 + 0.5*g; +comp_20=` ret *= saturate(length(ret.xy-0.5)*5); +comp_21=` ret = ret.xxy; +comp_22=` +comp_23=` //ret *= 1.5; //old gamma effect +comp_24=`} diff --git a/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/packages.config b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/packages.config new file mode 100644 index 0000000000..bb6718eac8 --- /dev/null +++ b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/pch.cpp b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/pch.cpp new file mode 100644 index 0000000000..f1d88ea4ec --- /dev/null +++ b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/pch.cpp @@ -0,0 +1 @@ +#include "..\EyeTune.Shared\pch.h" diff --git a/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/projectM.WindowsUniversal.SharedLibrary.vcxproj b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/projectM.WindowsUniversal.SharedLibrary.vcxproj new file mode 100644 index 0000000000..a803ef8b8a --- /dev/null +++ b/src/EyeTune/projectM.WindowsUniversal.SharedLibrary/projectM.WindowsUniversal.SharedLibrary.vcxproj @@ -0,0 +1,245 @@ + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + {9861a7bc-9e57-4a9c-ba26-bb38e0a30a3f} + EyeTune + en-US + 14.0 + true + Windows Store + 10.0.17763.0 + 10.0.10240.0 + 10.0 + + + + DynamicLibrary + true + v141 + + + DynamicLibrary + true + v141 + + + DynamicLibrary + true + v141 + + + DynamicLibrary + false + true + v141 + + + DynamicLibrary + false + true + v141 + + + DynamicLibrary + false + true + v141 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + false + $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + $(Platform)\$(Configuration)\ + + + false + + + false + + + false + + + false + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + WIN32;SOIL_GLES2;USE_GLES;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;NOMINMAX;ANGLE_STANDALONE_BUILD;GL_GLEXT_PROTOTYPES;EGL_EGLEXT_PROTOTYPES;ANGLE_X64_CPU;ANGLE_ENABLE_DEBUG_ANNOTATIONS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;DISABLE_NATIVE_PRESETS + + + Console + false + false + + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + EYETUNE_WINRT;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";WIN32;USE_GLES;SOIL_GLES2;DISABLE_NATIVE_PRESETS;%(PreprocessorDefinitions) + + + Console + false + false + + + WindowsApp.lib;libEGL.lib;libGLESv2.lib;%(AdditionalDependencies) + + UseLinkTimeCodeGeneration + + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + WIN32;SOIL_GLES2;USE_GLES;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;NOMINMAX;ANGLE_STANDALONE_BUILD;GL_GLEXT_PROTOTYPES;EGL_EGLEXT_PROTOTYPES;ANGLE_X64_CPU;ANGLE_ENABLE_DEBUG_ANNOTATIONS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;DISABLE_NATIVE_PRESETS + + + Console + false + false + + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + EYETUNE_WINRT;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";WIN32;USE_GLES;SOIL_GLES2;DISABLE_NATIVE_PRESETS;%(PreprocessorDefinitions) + + + Console + false + false + WindowsApp.lib;libEGL.lib;libGLESv2.lib;%(AdditionalDependencies) + + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + _DEBUG;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";WIN32;USE_GLES;SOIL_GLES2;DISABLE_NATIVE_PRESETS;%(PreprocessorDefinitions) + + + Console + false + false + + + + + NotUsing + false + true + $(MSBuildThisFileDirectory);$(SolutionDir);$(ProjectDir);$(IntermediateOutputPath);$(SolutionDir)..\msvc;$(SolutionDir)\libprojectM;$(SolutionDir)\libprojectM\Renderer;$(SolutionDir)\libprojectM\Renderer\SOIL2;$(SolutionDir)\libprojectM\Renderer\hlslparser\src;%(AdditionalIncludeDirectories) + EYETUNE_WINRT;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;projectM_FONT_MENU="\"$(MSBuildThisFileDirectory)../fonts/VeraMono.ttf\"";projectM_FONT_TITLE="\"$(MSBuildThisFileDirectory)../fonts/Vera.ttf\"";WIN32;USE_GLES;SOIL_GLES2;DISABLE_NATIVE_PRESETS;%(PreprocessorDefinitions) + + + Console + false + false + WindowsApp.lib;libEGL.lib;libGLESv2.lib;%(AdditionalDependencies) + + + UseLinkTimeCodeGeneration + + + + + Create + Create + Create + Create + Create + Create + ..\EyeTune.Shared\pch.h + ..\EyeTune.Shared\pch.h + ..\EyeTune.Shared\pch.h + ..\EyeTune.Shared\pch.h + ..\EyeTune.Shared\pch.h + ..\EyeTune.Shared\pch.h + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000000..6d5e6e797e --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,25 @@ +if ENABLE_SDL + PROJECTM_SDL_SUBDIR = projectM-test projectM-sdl +endif + +if ENABLE_QT + PROJECTM_QT_SUBDIR = projectM-qt +endif + +if ENABLE_PULSEAUDIO + PROJECTM_PULSEAUDIO_SUBDIR = projectM-qt projectM-pulseaudio +endif + +if ENABLE_JACK + PROJECTM_JACK_SUBDIR = projectM-qt projectM-jack +endif + +if ENABLE_EMSCRIPTEN + PROJECTM_EMSCRIPTEN_SUBDIR = projectM-emscripten +endif + +# system headers/libraries/data to install +# for compatibility reasons here as nobase_include +nobase_include_HEADERS = libprojectM/projectM.hpp libprojectM/Common.hpp libprojectM/dlldefs.h libprojectM/event.h libprojectM/fatal.h libprojectM/PCM.hpp + +SUBDIRS = libprojectM NativePresets ${PROJECTM_SDL_SUBDIR} ${PROJECTM_QT_SUBDIR} ${PROJECTM_EMSCRIPTEN_SUBDIR} ${PROJECTM_JACK_SUBDIR} ${PROJECTM_PULSEAUDIO_SUBDIR} diff --git a/src/MilkDrop2/Agave/Language/api_language.h b/src/MilkDrop2/Agave/Language/api_language.h new file mode 100644 index 0000000000..4cb78b2c16 --- /dev/null +++ b/src/MilkDrop2/Agave/Language/api_language.h @@ -0,0 +1,326 @@ +#ifndef NULLSOFT_API_LANGUAGE_H +#define NULLSOFT_API_LANGUAGE_H + +#include +#include "lang.h" +#include + +#if (_MSC_VER <= 1200) + struct threadlocaleinfostruct; + struct threadmbcinfostruct; + typedef struct threadlocaleinfostruct * pthreadlocinfo; + typedef struct threadmbcinfostruct * pthreadmbcinfo; + + typedef struct localeinfo_struct + { + pthreadlocinfo locinfo; + pthreadmbcinfo mbcinfo; + } _locale_tstruct, *_locale_t; +#endif + +class api_language : public Dispatchable +{ +protected: + api_language() {} + ~api_language() {} +public: + char *GetString(HINSTANCE hinst, HINSTANCE owner, UINT uID, char *str=NULL, size_t maxlen=0); + wchar_t *GetStringW(HINSTANCE hinst, HINSTANCE owner, UINT uID, wchar_t *str=NULL, size_t maxlen=0); + + char *GetStringFromGUID(const GUID guid, HINSTANCE owner, UINT uID, char *str=NULL, size_t maxlen=0); + wchar_t *GetStringFromGUIDW(const GUID guid, HINSTANCE owner, UINT uID, wchar_t *str=NULL, size_t maxlen=0); + + HINSTANCE FindDllHandleByGUID(GUID guid); + HINSTANCE FindDllHandleByString(const char* str); + HINSTANCE FindDllHandleByStringW(const wchar_t* str); + HINSTANCE StartLanguageSupport(HINSTANCE hinstance, const GUID guid); + + const wchar_t *GetLanguageFolder(); + + #define LANG_IDENT_STR 0 + #define LANG_LANG_CODE 1 + #define LANG_COUNTRY_CODE 2 + const wchar_t *GetLanguageIdentifier(int mode); + + HWND CreateLDialogParam(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param); + INT_PTR LDialogBoxParam(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param); + HMENU LoadLMenu(HINSTANCE localised, HINSTANCE original, UINT id); + + HWND CreateLDialogParamW(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param); + INT_PTR LDialogBoxParamW(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param); + HMENU LoadLMenuW(HINSTANCE localised, HINSTANCE original, UINT id); + + void* LoadResourceFromFile(HINSTANCE hinst, HINSTANCE owner, LPCTSTR lpType, LPCTSTR lpName, DWORD* size); + void* LoadResourceFromFileW(HINSTANCE hinst, HINSTANCE owner, LPCWSTR lpType, LPCWSTR lpName, DWORD* size); + + HACCEL LoadAcceleratorsA(HINSTANCE hinst, HINSTANCE owner, LPCSTR lpTableName); + HACCEL LoadAcceleratorsW(HINSTANCE hinst, HINSTANCE owner, LPCWSTR lpTableName); + + // Implemented in 5.58+ + // When called this will attempt to set the locale used for numeric representation + // to that of the user running the current Winamp instance as long as the language + // and country identifiers match those reported within the language pack (if used) + // + // If you're running under a different thread then this will need to be called as + // the locale is set on a per thread basis which generally means anything under the + // Winamp process will be handled correctly unless a UI aspect is running under a + // different thread. Internally this is called within winamp.exe and vis_milk2.dll + BOOL UseUserNumericLocale(); + + // Get_C_NumericLocale() is a wrapper for _create_locale(LC_NUMERIC, "C") which can + // then be used in _atof_l(..), _sscanf_l(..) or other locale based functions when + // you need to process numbers without localisation handling ie the "C" locale. + // This function is provided for convenience unless you want to do it all manually. + _locale_t Get_C_NumericLocale(); + + // Implemented in 5.7+ + wchar_t* FormattedSizeString(wchar_t *out, int cchLen, __int64 size); + +public: + DISPATCH_CODES + { + API_LANGUAGE_GETSTRING = 10, + API_LANGUAGE_GETSTRINGW = 11, + + API_LANGUAGE_GETSTRINGFROMGUID = 12, + API_LANGUAGE_GETSTRINGFROMGUIDW = 13, + + API_LANGUAGE_GETHINSTANCEBYGUID = 20, + API_LANGUAGE_GETHINSTANCEBYNAME = 21, + API_LANGUAGE_GETHINSTANCEBYNAMEW = 22, + + API_LANGUAGE_STARTUP = 30, + API_LANGUAGE_SHUTDOWN = 31, + + API_LANGUAGE_GETLANGUAGEFOLDER = 40, + + API_LANGUAGE_CREATELDIALOGPARAM = 50, + API_LANGUAGE_LDIALOGBOXPARAM = 51, + API_LANGUAGE_LOADLMENU = 52, + API_LANGUAGE_CREATELDIALOGPARAMW = 53, + API_LANGUAGE_LDIALOGBOXPARAMW = 54, + API_LANGUAGE_LOADLMENUW = 55, + + API_LANGUAGE_GETLANGUAGEIDENTIFIER = 60, + + API_LANGUAGE_LOADRESOURCEFROMFILE = 70, + API_LANGUAGE_LOADRESOURCEFROMFILEW = 71, + + API_LANGUAGE_LOADACCELERATORSA = 80, + API_LANGUAGE_LOADACCELERATORSW = 81, + + // Implemented in 5.58+ + // See UseUserNumericLocale notes + API_LANGUAGE_USEUSERNUMERICLOCALE = 90, + API_LANGUAGE_GET_C_NUMERICLOCALE = 91, + + // Implemented in 5.7+ + API_LANGUAGE_FORMATTEDSIZESTRING = 100, + }; +}; + +inline char *api_language::GetString(HINSTANCE hinst, HINSTANCE owner, UINT uID, char *str, size_t maxlen) +{ + return _call(API_LANGUAGE_GETSTRING, (char * )0, hinst, owner, uID, str, maxlen); +} + +inline wchar_t *api_language::GetStringW(HINSTANCE hinst, HINSTANCE owner, UINT uID, wchar_t *str, size_t maxlen) +{ + return _call(API_LANGUAGE_GETSTRINGW, (wchar_t * )0, hinst, owner, uID, str, maxlen); +} + +inline char *api_language::GetStringFromGUID(const GUID guid, HINSTANCE owner, UINT uID, char *str, size_t maxlen) +{ + return _call(API_LANGUAGE_GETSTRINGFROMGUID, (char * )0, guid, owner, uID, str, maxlen); +} + +inline wchar_t *api_language::GetStringFromGUIDW(const GUID guid, HINSTANCE owner, UINT uID, wchar_t *str, size_t maxlen) +{ + return _call(API_LANGUAGE_GETSTRINGFROMGUIDW, (wchar_t * )0, guid, owner, uID, str, maxlen); +} + +inline HINSTANCE api_language::FindDllHandleByGUID(const GUID guid) +{ + return _call(API_LANGUAGE_GETHINSTANCEBYGUID, (HINSTANCE )0, guid); +} + +inline HINSTANCE api_language::FindDllHandleByString(const char* str) +{ + return _call(API_LANGUAGE_GETHINSTANCEBYNAME, (HINSTANCE )0, str); +} + +inline HINSTANCE api_language::FindDllHandleByStringW(const wchar_t* str) +{ + return _call(API_LANGUAGE_GETHINSTANCEBYNAMEW, (HINSTANCE )0, str); +} + +inline HINSTANCE api_language::StartLanguageSupport(HINSTANCE hinstance, const GUID guid) +{ + return _call(API_LANGUAGE_STARTUP, (HINSTANCE )0, hinstance, guid); +} + +inline const wchar_t *api_language::GetLanguageFolder() +{ + return _call(API_LANGUAGE_GETLANGUAGEFOLDER, (const wchar_t *)0); +} + +inline HWND api_language::CreateLDialogParam(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param) +{ + return _call(API_LANGUAGE_CREATELDIALOGPARAM, (HWND)0, localised, original, id, parent, proc, param); +} + +inline INT_PTR api_language::LDialogBoxParam(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param) +{ + return _call(API_LANGUAGE_LDIALOGBOXPARAM, (INT_PTR)0, localised, original, id, parent, proc, param); +} + +inline HMENU api_language::LoadLMenu(HINSTANCE localised, HINSTANCE original, UINT id) +{ + return _call(API_LANGUAGE_LOADLMENU, (HMENU)0, localised, original, id); +} + +inline HWND api_language::CreateLDialogParamW(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param) +{ + return _call(API_LANGUAGE_CREATELDIALOGPARAMW, (HWND)0, localised, original, id, parent, proc, param); +} + +inline INT_PTR api_language::LDialogBoxParamW(HINSTANCE localised, HINSTANCE original, UINT id, HWND parent, DLGPROC proc, LPARAM param) +{ + return _call(API_LANGUAGE_LDIALOGBOXPARAMW, (INT_PTR)0, localised, original, id, parent, proc, param); +} + +inline HMENU api_language::LoadLMenuW(HINSTANCE localised, HINSTANCE original, UINT id) +{ + return _call(API_LANGUAGE_LOADLMENUW, (HMENU)0, localised, original, id); +} + +inline const wchar_t *api_language::GetLanguageIdentifier(int mode) +{ + return _call(API_LANGUAGE_GETLANGUAGEIDENTIFIER, (const wchar_t *)0, mode); +} + +inline void *api_language::LoadResourceFromFile(HINSTANCE hinst, HINSTANCE owner, LPCTSTR lpType, LPCTSTR lpName, DWORD* size) +{ + return _call(API_LANGUAGE_LOADRESOURCEFROMFILE, (void*)0, hinst, owner, lpType, lpName, size); +} + +inline void *api_language::LoadResourceFromFileW(HINSTANCE hinst, HINSTANCE owner, LPCWSTR lpType, LPCWSTR lpName, DWORD* size) +{ + return _call(API_LANGUAGE_LOADRESOURCEFROMFILEW, (void*)0, hinst, owner, lpType, lpName, size); +} + +inline HACCEL api_language::LoadAcceleratorsA(HINSTANCE hinst, HINSTANCE owner, LPCSTR lpTableName) +{ + return _call(API_LANGUAGE_LOADACCELERATORSA, (HACCEL)NULL, hinst, owner, lpTableName); +} + +inline HACCEL api_language::LoadAcceleratorsW(HINSTANCE hinst, HINSTANCE owner, LPCWSTR lpTableName) +{ + return _call(API_LANGUAGE_LOADACCELERATORSA, (HACCEL)NULL, hinst, owner, lpTableName); +} + +inline BOOL api_language::UseUserNumericLocale() +{ + return _call(API_LANGUAGE_USEUSERNUMERICLOCALE, (BOOL)0); +} + +inline _locale_t api_language::Get_C_NumericLocale() +{ + return _call(API_LANGUAGE_GET_C_NUMERICLOCALE, (_locale_t)0); +} + +inline wchar_t *api_language::FormattedSizeString(wchar_t *out, int cchLen, __int64 size) +{ + return _call(API_LANGUAGE_FORMATTEDSIZESTRING, (wchar_t*)0, out, cchLen, size); +} + + +// utility macros and relevant predefined variables for use with the service + macros +extern api_language *languageManager; +#define WASABI_API_LNG languageManager + +extern HINSTANCE api_localised_hinstance; +#define WASABI_API_LNG_HINST api_localised_hinstance + +extern HINSTANCE api_orig_hinstance; +#define WASABI_API_ORIG_HINST api_orig_hinstance + +#define WASABI_API_LNGSTR WASABI_API_LNG->GetString +// use this is you want a temp copy of the string +#define WASABI_API_LNGSTRING(uID) \ + WASABI_API_LNGSTR(WASABI_API_LNG_HINST,WASABI_API_ORIG_HINST,uID) +// use this is you want a temp copy of the string but need it to fallback to a different module +#define WASABI_API_LNGSTRING_HINST(hinst,uID) \ + WASABI_API_LNGSTR(WASABI_API_LNG_HINST,hinst,uID) +// use this is you want a copy of the string +#define WASABI_API_LNGSTRING_BUF(uID,buf,len) \ + WASABI_API_LNGSTR(WASABI_API_LNG_HINST,WASABI_API_ORIG_HINST,uID,buf,len) +// use this is you want a copy of the string but need it to fallback to a different module +#define WASABI_API_LNGSTRING_HINST_BUF(hinst,uID,buf,len) \ + WASABI_API_LNGSTR(WASABI_API_LNG_HINST,hinst,uID,buf,len) + +// unicode versions of the above macros +#define WASABI_API_LNGSTRW WASABI_API_LNG->GetStringW +#define WASABI_API_LNGSTRINGW(uID) \ + WASABI_API_LNGSTRW(WASABI_API_LNG_HINST,WASABI_API_ORIG_HINST,uID) +#define WASABI_API_LNGSTRINGW_HINST(hinst,uID) \ + WASABI_API_LNGSTRW(WASABI_API_LNG_HINST,hinst,uID) +#define WASABI_API_LNGSTRINGW_BUF(uID,buf,len) \ + WASABI_API_LNGSTRW(WASABI_API_LNG_HINST,WASABI_API_ORIG_HINST,uID,buf,len) +#define WASABI_API_LNGSTRINGW_BUF_HINST(hinst,uID,buf,len) \ + WASABI_API_LNGSTRW(WASABI_API_LNG_HINST,hinst,uID,buf,len) + +// Dialog handling functions (will revert back to the non-localised version if not valid/present) +#define WASABI_API_CREATEDIALOGPARAM(id, parent, proc, param) \ + WASABI_API_LNG->CreateLDialogParam(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, param) +#define WASABI_API_CREATEDIALOG(id, parent, proc) \ + WASABI_API_LNG->CreateLDialogParam(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, 0) + +#define WASABI_API_CREATEDIALOGPARAMW(id, parent, proc, param) \ + WASABI_API_LNG->CreateLDialogParamW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, param) +#define WASABI_API_CREATEDIALOGW(id, parent, proc) \ + WASABI_API_LNG->CreateLDialogParamW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, 0) + +#define WASABI_API_DIALOGBOXPARAM(id, parent, proc, param) \ + WASABI_API_LNG->LDialogBoxParam(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, param) +#define WASABI_API_DIALOGBOX(id, parent, proc) \ + WASABI_API_LNG->LDialogBoxParam(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, 0) + +#define WASABI_API_DIALOGBOXPARAMW(id, parent, proc, param) \ + WASABI_API_LNG->LDialogBoxParamW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, param) +#define WASABI_API_DIALOGBOXW(id, parent, proc) \ + WASABI_API_LNG->LDialogBoxParamW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id, parent, (DLGPROC)proc, 0) + +#define WASABI_API_LOADMENU(id) \ + WASABI_API_LNG->LoadLMenu(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id) +#define WASABI_API_LOADMENUW(id) \ + WASABI_API_LNG->LoadLMenuW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, id) + + +#define WASABI_API_LOADACCELERATORSA(__id) \ + WASABI_API_LNG->LoadAcceleratorsA(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, MAKEINTRESOURCEA(__id)) +#define WASABI_API_LOADACCELERATORSW(__id) \ + WASABI_API_LNG->LoadAcceleratorsW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, MAKEINTRESOURCEW(__id)) + +#ifdef UNICODE +#define WASABI_API_LOADACCELERATORS WASABI_API_LOADACCELERATORSW +#else +#define WASABI_API_LOADACCELERATORS WASABI_API_LOADACCELERATORSA +#endif + +#define WASABI_API_START_LANG(orig_hinst, guid) \ +{ \ + WASABI_API_ORIG_HINST = orig_hinst; \ + WASABI_API_LNG_HINST = WASABI_API_LNG->StartLanguageSupport(WASABI_API_ORIG_HINST,guid); \ +} + +#define WASABI_API_LOADRESFROMFILE(lpType, lpName, size) \ + WASABI_API_LNG->LoadResourceFromFile(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, lpType, lpName, size) +#define WASABI_API_LOADRESFROMFILEW(lpType, lpName, size) \ + WASABI_API_LNG->LoadResourceFromFileW(WASABI_API_LNG_HINST, WASABI_API_ORIG_HINST, lpType, lpName, size) + +// {30AED4E5-EF10-4277-8D49-27AB5570E891} +static const GUID languageApiGUID = +{ 0x30aed4e5, 0xef10, 0x4277, { 0x8d, 0x49, 0x27, 0xab, 0x55, 0x70, 0xe8, 0x91 } }; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/Agave/Language/lang.h b/src/MilkDrop2/Agave/Language/lang.h new file mode 100644 index 0000000000..df34a634ad --- /dev/null +++ b/src/MilkDrop2/Agave/Language/lang.h @@ -0,0 +1,619 @@ +#ifndef _LANG_GUIDS_H_ +#define _LANG_GUIDS_H_ +#ifdef __cplusplus +extern "C" +{ +#endif + +// this is just the stringtable id and the +// stringtable block where the guid is stored +#define LANG_DLL_GUID_STRING_ID 65535 +#define LANG_DLL_GUID_BLOCK_ID 4096 + +// this is the stringtable id in winamp.exe's lng file where +// the language of the lang pack is declared. +// the actual string is defined as language_code-country_code +// e.g. +// en-US - US English +// en-GB - UK English +#define LANG_PACK_LANG_ID 65534 + +// this is the indentifiers required as of 5.57+ for the localisation +// 'about page' shown in supporting language packs in the 'about' box +#define LANG_DLL_AUTHOR_HOMEPAGE 65533 +#define LANG_DLL_AUTHOR_HOMEPAGE2 65532 +#define LANG_DLL_LOCALIZED_HOMEPAGE 65531 +#define LANG_DLL_ABOUT_TRANSLATION_DLG_ID 1378 + +// this holds all of the guids that will be used in modules lng files +// using these will allow you to make use of the language resources +// between plugins / for 3rd party plugins for compatability support + +// {A0099AA7-F980-45cf-818D-64EAA9F4EF4B} +static const GUID WinampLangGUID = +{ 0xa0099aa7, 0xf980, 0x45cf, { 0x81, 0x8d, 0x64, 0xea, 0xa9, 0xf4, 0xef, 0x4b } }; + +// {0E844B2A-70E8-4007-A73A-E9C05DB3F06D} +static const GUID WinampALangGUID = +{ 0xe844b2a, 0x70e8, 0x4007, { 0xa7, 0x3a, 0xe9, 0xc0, 0x5d, 0xb3, 0xf0, 0x6d } }; + +// {250FAA3C-20CD-49db-A932-67B1C0191B0E} +static const GUID GenHotkeysLangGUID = +{ 0x250faa3c, 0x20cd, 0x49db, { 0xa9, 0x32, 0x67, 0xb1, 0xc0, 0x19, 0x1b, 0xe } }; + +// {25B50046-5B31-418b-B77E-1B0D140D64ED} +static const GUID GenTrayLangGUID = +{ 0x25b50046, 0x5b31, 0x418b, { 0xb7, 0x7e, 0x1b, 0xd, 0x14, 0xd, 0x64, 0xed } }; + +// {3D968813-F245-40ad-8589-5599C754B924} +static const GUID GenMlLangGUID = +{ 0x3d968813, 0xf245, 0x40ad, { 0x85, 0x89, 0x55, 0x99, 0xc7, 0x54, 0xb9, 0x24 } }; + +// {A3A1E7C0-761B-4391-A08A-F0D7AF38931C} +static const GUID MlBookmarkLangGUID = +{ 0xa3a1e7c0, 0x761b, 0x4391, { 0xa0, 0x8a, 0xf0, 0xd7, 0xaf, 0x38, 0x93, 0x1c } }; + +// {40450D34-E85A-428c-A01C-B2546BF23CE0} +static const GUID MlDashboardLangGUID = +{ 0x40450d34, 0xe85a, 0x428c, { 0xa0, 0x1c, 0xb2, 0x54, 0x6b, 0xf2, 0x3c, 0xe0 } }; + +// {168BA411-7E26-4749-98F0-FF02810D9B51} +static const GUID MlADDONSLangGUID = +{ 0x168ba411, 0x7e26, 0x4749, { 0x98, 0xf0, 0xff, 0x2, 0x81, 0xd, 0x9b, 0x51 } }; + +// {7F31F590-6602-45c9-B3F8-F61AE05BD1D3} +static const GUID MlNowPlayingLangGUID = +{ 0x7f31f590, 0x6602, 0x45c9, { 0xb3, 0xf8, 0xf6, 0x1a, 0xe0, 0x5b, 0xd1, 0xd3 } }; + +// {F8756C00-11D2-4857-8C50-163AE4A57783} +static const GUID MlHistoryLangGUID = +{ 0xf8756c00, 0x11d2, 0x4857, { 0x8c, 0x50, 0x16, 0x3a, 0xe4, 0xa5, 0x77, 0x83 } }; + +// {5E766B4F-818E-4f14-9C42-0902B2C571DC} +static const GUID MlPlaylistsLangGUID = +{ 0x5e766b4f, 0x818e, 0x4f14, { 0x9c, 0x42, 0x9, 0x2, 0xb2, 0xc5, 0x71, 0xdc } }; + +// {D006C700-557E-43c7-A580-B4C50C56957A} +static const GUID MlOnlineLangGUID = +{ 0xd006c700, 0x557e, 0x43c7, { 0xa5, 0x80, 0xb4, 0xc5, 0xc, 0x56, 0x95, 0x7a } }; + +// {5F633543-148D-48cc-B683-DA82F592CF28} +static const GUID MlReplayGainLangGUID = +{ 0x5f633543, 0x148d, 0x48cc, { 0xb6, 0x83, 0xda, 0x82, 0xf5, 0x92, 0xcf, 0x28 } }; + +// {699B8BA5-B292-4aba-8047-D46B0DF4E1D6} +static const GUID MlTranscodeLangGUID = +{ 0x699b8ba5, 0xb292, 0x4aba, { 0x80, 0x47, 0xd4, 0x6b, 0xd, 0xf4, 0xe1, 0xd6 } }; + +// {34DF1A2D-7EAD-41ab-B1A7-9AFA6DE2AFF1} +static const GUID EncWavLangGUID = +{ 0x34df1a2d, 0x7ead, 0x41ab, { 0xb1, 0xa7, 0x9a, 0xfa, 0x6d, 0xe2, 0xaf, 0xf1 } }; + +// {33BC12FD-E7F7-42ec-8FE3-2D8BD3A977C2} +static const GUID EncWMALangGUID = +{ 0x33bc12fd, 0xe7f7, 0x42ec, { 0x8f, 0xe3, 0x2d, 0x8b, 0xd3, 0xa9, 0x77, 0xc2 } }; + +// {8FBADBBB-B4D5-47d9-A723-5C8C8E88EE73} +static const GUID EncAACLangGUID = +{ 0x8fbadbbb, 0xb4d5, 0x47d9, { 0xa7, 0x23, 0x5c, 0x8c, 0x8e, 0x88, 0xee, 0x73 } }; + +// {F1534ECA-6E64-42c2-9781-812E61154515} +static const GUID EncLameLangGUID = +{ 0xf1534eca, 0x6e64, 0x42c2, { 0x97, 0x81, 0x81, 0x2e, 0x61, 0x15, 0x45, 0x15 } }; + +// deprecated enc_flac.dll based on FLAKE +// {5C0BA1EE-5A59-47cc-BC28-5B9F0C5EA1B7} +static const GUID EncFlakeLangGUID = +{ 0x5c0ba1ee, 0x5a59, 0x47cc, { 0xbc, 0x28, 0x5b, 0x9f, 0xc, 0x5e, 0xa1, 0xb7 } }; + +// {A23C2B70-C66B-475e-8A67-E0F33FD5BD12} +static const GUID EncVorbisLangGUID = +{ 0xa23c2b70, 0xc66b, 0x475e, { 0x8a, 0x67, 0xe0, 0xf3, 0x3f, 0xd5, 0xbd, 0x12 } }; + +// {D40620FB-E44B-47b3-98EE-8E5A089C0C94} +static const GUID tagzLangGUID = +{ 0xd40620fb, 0xe44b, 0x47b3, { 0x98, 0xee, 0x8e, 0x5a, 0x8, 0x9c, 0xc, 0x94 } }; + +// {06A3F81D-043D-4b5c-B341-590ED7053492} +static const GUID MlLocalLangGUID = +{ 0x6a3f81d, 0x43d, 0x4b5c, { 0xb3, 0x41, 0x59, 0xe, 0xd7, 0x5, 0x34, 0x92 } }; + +// {706549D3-D813-45dd-9A0B-E3793A1B63A8} +static const GUID MlDownloadsLangGUID = +{ 0x706549d3, 0xd813, 0x45dd, { 0x9a, 0xb, 0xe3, 0x79, 0x3a, 0x1b, 0x63, 0xa8 } }; + +// {1FF327B2-A41D-4c67-A58A-EB09BA1470D3} +static const GUID MlWireLangGUID = +{ 0x1ff327b2, 0xa41d, 0x4c67, { 0xa5, 0x8a, 0xeb, 0x9, 0xba, 0x14, 0x70, 0xd3 } }; + +// {04C986EE-9CE3-4369-820D-A64394C63D60} +static const GUID MlPMPLangGUID = +{ 0x4c986ee, 0x9ce3, 0x4369, { 0x82, 0xd, 0xa6, 0x43, 0x94, 0xc6, 0x3d, 0x60 } }; + +// {E553C1A4-5DE2-4838-8000-FDF8DC377DD4} +static const GUID PmpUSBLangGUID = +{ 0xe553c1a4, 0x5de2, 0x4838, { 0x80, 0x0, 0xfd, 0xf8, 0xdc, 0x37, 0x7d, 0xd4 } }; + +// {01C3E74C-261E-45e2-AA30-ED4039DCD3A2} +static const GUID PmpP4SLangGUID = +{ 0x1c3e74c, 0x261e, 0x45e2, { 0xaa, 0x30, 0xed, 0x40, 0x39, 0xdc, 0xd3, 0xa2 } }; + +// {4F5B2300-19D1-4390-BE04-89019441100B} +static const GUID PmpNJBLangGUID = +{ 0x4f5b2300, 0x19d1, 0x4390, { 0xbe, 0x4, 0x89, 0x1, 0x94, 0x41, 0x10, 0xb } }; + +// {B81F32B8-4AA4-4eba-8798-95F13812F638} +static const GUID PmpACTIVESYNCLangGUID = +{ 0xb81f32b8, 0x4aa4, 0x4eba, { 0x87, 0x98, 0x95, 0xf1, 0x38, 0x12, 0xf6, 0x38 } }; + +// {C2EE3DA5-B29B-42a0-AB5E-B202393435D6} +static const GUID PmpIPODLangGUID = +{ 0xc2ee3da5, 0xb29b, 0x42a0, { 0xab, 0x5e, 0xb2, 0x2, 0x39, 0x34, 0x35, 0xd6 } }; + +// {2C913A2F-CD49-40a1-8F1A-8EF7C2A22229} +static const GUID MlDiscLangGUID = +{ 0x2c913a2f, 0xcd49, 0x40a1, { 0x8f, 0x1a, 0x8e, 0xf7, 0xc2, 0xa2, 0x22, 0x29 } }; + +// {1A710E67-5180-49ac-8102-105856ED0A2F} +static const GUID OutDiskLangGUID = +{ 0x1a710e67, 0x5180, 0x49ac, { 0x81, 0x2, 0x10, 0x58, 0x56, 0xed, 0xa, 0x2f } }; + +// {858FBF71-9878-4d86-BFDD-8FEA8361238C} +static const GUID VisNFSFLangGUID = +{ 0x858fbf71, 0x9878, 0x4d86, { 0xbf, 0xdd, 0x8f, 0xea, 0x83, 0x61, 0x23, 0x8c } }; + +// {BE608673-B723-4a59-9EBA-52DC77109E10} +static const GUID VisAVSLangGUID = +{ 0xbe608673, 0xb723, 0x4a59, { 0x9e, 0xba, 0x52, 0xdc, 0x77, 0x10, 0x9e, 0x10 } }; + +// {226275F6-3318-4d4b-A6B3-5B1B5B077BE8} +static const GUID VisMilkdropLangGUID = +{ 0x226275f6, 0x3318, 0x4d4b, { 0xa6, 0xb3, 0x5b, 0x1b, 0x5b, 0x7, 0x7b, 0xe8 } }; + +// {C5D175F1-E4E4-47ee-B85C-4EDC6B026A35} +static const GUID VisMilk2LangGUID = +{ 0xc5d175f1, 0xe4e4, 0x47ee, { 0xb8, 0x5c, 0x4e, 0xdc, 0x6b, 0x2, 0x6a, 0x35 } }; + +// {87DCEEC2-1EC3-4c59-BED4-E8F42232C7D8} +static const GUID InCDDALangGUID = +{ 0x87dceec2, 0x1ec3, 0x4c59, { 0xbe, 0xd4, 0xe8, 0xf4, 0x22, 0x32, 0xc7, 0xd8 } }; + +// {20395FD0-AC67-446d-B8D0-D88BFD3174FC} +static const GUID IndshowLangGUID = +{ 0x20395fd0, 0xac67, 0x446d, { 0xb8, 0xd0, 0xd8, 0x8b, 0xfd, 0x31, 0x74, 0xfc } }; + +// {9475116B-F8C4-4dff-BC19-9601B238557D} +static const GUID InFlacLangGUID = +{ 0x9475116b, 0xf8c4, 0x4dff, { 0xbc, 0x19, 0x96, 0x1, 0xb2, 0x38, 0x55, 0x7d } }; + +// {EA1C197A-D227-474c-A9FD-1C79DE722BDD} +static const GUID InLineInLangGUID = +{ 0xea1c197a, 0xd227, 0x474c, { 0xa9, 0xfd, 0x1c, 0x79, 0xde, 0x72, 0x2b, 0xdd } }; + +// {96374982-0142-41a5-AEDE-244505C45D30} +static const GUID InWavLangGUID = +{ 0x96374982, 0x142, 0x41a5, { 0xae, 0xde, 0x24, 0x45, 0x5, 0xc4, 0x5d, 0x30 } }; + +// {5C5BCA4E-279E-4867-8E24-58C8B186959A} +static const GUID InVorbisLangGUID = +{ 0x5c5bca4e, 0x279e, 0x4867, { 0x8e, 0x24, 0x58, 0xc8, 0xb1, 0x86, 0x95, 0x9a } }; + +// {A786C0B0-69DE-49e2-9461-4F592808B0B3} +static const GUID ndeLangGUID = +{ 0xa786c0b0, 0x69de, 0x49e2, { 0x94, 0x61, 0x4f, 0x59, 0x28, 0x8, 0xb0, 0xb3 } }; + +// {11B847DB-29A7-47ac-B386-43B40385B817} +static const GUID InNSVLangGUID = +{ 0x11b847db, 0x29a7, 0x47ac, { 0xb3, 0x86, 0x43, 0xb4, 0x3, 0x85, 0xb8, 0x17 } }; + +// {5F24DF00-C163-4eaa-AB9D-22F106588C25} +static const GUID MLOrbLangGUID = +{ 0x5f24df00, 0xc163, 0x4eaa, { 0xab, 0x9d, 0x22, 0xf1, 0x6, 0x58, 0x8c, 0x25 } }; + +// {0FED0FEE-C995-4499-AB47-E2482336C046} +static const GUID InMidiLangGUID = +{ 0xfed0fee, 0xc995, 0x4499, { 0xab, 0x47, 0xe2, 0x48, 0x23, 0x36, 0xc0, 0x46 } }; + +// {F30C75C1-D284-4cd5-9CED-2BD9E7869438} +static const GUID InMp4LangGUID = +{ 0xf30c75c1, 0xd284, 0x4cd5, { 0x9c, 0xed, 0x2b, 0xd9, 0xe7, 0x86, 0x94, 0x38 } }; + +// {CD3EEF98-011C-4213-BC16-3F91C937B9B8} +static const GUID InMp3LangGUID = +{ 0xcd3eef98, 0x11c, 0x4213, { 0xbc, 0x16, 0x3f, 0x91, 0xc9, 0x37, 0xb9, 0xb8 } }; + +// {A1A39D49-671A-4c2f-AE42-BEA134EAF6A9} +static const GUID InModLangGUID = +{ 0xa1a39d49, 0x671a, 0x4c2f, { 0xae, 0x42, 0xbe, 0xa1, 0x34, 0xea, 0xf6, 0xa9 } }; + +// {4B567AEB-89CE-4881-9D7D-B31D7B65979A} +static const GUID DspSpsLangGUID = +{ 0x4b567aeb, 0x89ce, 0x4881, { 0x9d, 0x7d, 0xb3, 0x1d, 0x7b, 0x65, 0x97, 0x9a } }; + +// {004A91D9-CCD6-44e5-973A-4B7045C4662B} +static const GUID OutWaveLangGUID = +{ 0x4a91d9, 0xccd6, 0x44e5, { 0x97, 0x3a, 0x4b, 0x70, 0x45, 0xc4, 0x66, 0x2b } }; + +// {A812F3D3-633B-4af6-8749-3BA75290BAC0} +static const GUID OutDSLangGUID = +{ 0xa812f3d3, 0x633b, 0x4af6, { 0x87, 0x49, 0x3b, 0xa7, 0x52, 0x90, 0xba, 0xc0 } }; + +// {C5B78F09-3222-4a64-AA98-F1ABC5A9E355} +static const GUID InWmLangGUID = +{ 0xc5b78f09, 0x3222, 0x4a64, { 0xaa, 0x98, 0xf1, 0xab, 0xc5, 0xa9, 0xe3, 0x55 } }; + +// {C14FAE1D-B410-459f-B008-1A8BE3633000} +static const GUID burnlibLangGUID = +{ 0xc14fae1d, 0xb410, 0x459f, { 0xb0, 0x8, 0x1a, 0x8b, 0xe3, 0x63, 0x30, 0x0 } }; + +// {ACD05A75-030B-4943-A100-540DAD98FB00} +static const GUID GenFFLangGUID = +{ 0xacd05a75, 0x30b, 0x4943, { 0xa1, 0x0, 0x54, 0xd, 0xad, 0x98, 0xfb, 0x0 } }; + +// {0CE0174D-8334-479e-B322-9D80D48FC74D} +static const GUID MlPlgLangGUID = +{ 0xce0174d, 0x8334, 0x479e, { 0xb3, 0x22, 0x9d, 0x80, 0xd4, 0x8f, 0xc7, 0x4d } }; + +// {9E398E5F-EDEC-4dd8-A40D-E29B385A88C0} +static const GUID playlistLangGUID = +{ 0x9e398e5f, 0xedec, 0x4dd8, { 0xa4, 0xd, 0xe2, 0x9b, 0x38, 0x5a, 0x88, 0xc0 } }; + +// {092A97EF-7DC0-41a7-80D1-90DEEB18F12D} +static const GUID GenCrasherLangGUID = +{ 0x92a97ef, 0x7dc0, 0x41a7, { 0x80, 0xd1, 0x90, 0xde, 0xeb, 0x18, 0xf1, 0x2d } }; + +// {D8DBA660-90BD-431d-8F4E-189D6ACB407E} +static const GUID MlAutoTagLangGUID = +{ 0xd8dba660, 0x90bd, 0x431d, { 0x8f, 0x4e, 0x18, 0x9d, 0x6a, 0xcb, 0x40, 0x7e } }; + +// {EC959D43-9122-4807-B928-7B46207AFA49} +static const GUID InFlvLangGUID = +{ 0xec959d43, 0x9122, 0x4807, { 0xb9, 0x28, 0x7b, 0x46, 0x20, 0x7a, 0xfa, 0x49 } }; + +// {2430A7AC-317D-4d64-B33C-E1452A6384A2} +static const GUID InSwfLangGUID = +{ 0x2430a7ac, 0x317d, 0x4d64, { 0xb3, 0x3c, 0xe1, 0x45, 0x2a, 0x63, 0x84, 0xa2 } }; + +// {22661553-8D22-4012-8D3B-0FF8FE57A9ED} +static const GUID MlImpexLangGUID = +{ 0x22661553, 0x8d22, 0x4012, { 0x8d, 0x3b, 0xf, 0xf8, 0xfe, 0x57, 0xa9, 0xed } }; + +// {73760073-560C-433b-BC59-3FCC94CDEA4A} +static const GUID EncFlacLangGUID = +{ 0x73760073, 0x560c, 0x433b, { 0xbc, 0x59, 0x3f, 0xcc, 0x94, 0xcd, 0xea, 0x4a } }; + +// {95C65BA3-3C34-40ec-AE74-8D2C60AAE3C8} +static const GUID authLangGUID = +{ 0x95c65ba3, 0x3c34, 0x40ec, { 0xae, 0x74, 0x8d, 0x2c, 0x60, 0xaa, 0xe3, 0xc8 } }; + +// {CA36E14A-3742-4edc-A40F-2BC87F26B347} +static const GUID InAviLangGUID = +{ 0xca36e14a, 0x3742, 0x4edc, { 0xa4, 0xf, 0x2b, 0xc8, 0x7f, 0x26, 0xb3, 0x47 } }; + +// {5BDA8055-292D-4fcd-8404-884C2A34A8F9} +static const GUID InMkvLangGUID = +{ 0x5bda8055, 0x292d, 0x4fcd, { 0x84, 0x4, 0x88, 0x4c, 0x2a, 0x34, 0xa8, 0xf9 } }; + +// {0233DC7B-7060-43e5-8354-D2F2C7C7611D} +static const GUID GenMudLangGUID = +{ 0x233dc7b, 0x7060, 0x43e5, { 0x83, 0x54, 0xd2, 0xf2, 0xc7, 0xc7, 0x61, 0x1d } }; + +// {DCCF5A41-D16B-452b-8B7A-CFCA3360D8E8} +static const GUID omBrowserLangGUID = +{ 0xdccf5a41, 0xd16b, 0x452b, { 0x8b, 0x7a, 0xcf, 0xca, 0x33, 0x60, 0xd8, 0xe8 } }; + +// Winamp Android plugin (pmp_android.dll) +// {EBFF6E00-39D8-45e6-B3EC-E3B07A45E6B0} +static const GUID PmpAndroidLangGUID = +{ 0xebff6e00, 0x39d8, 0x45e6, { 0xb3, 0xec, 0xe3, 0xb0, 0x7a, 0x45, 0xe6, 0xb0 } }; + +// Winamp Wifi plugin (pmp_wifi.dll) +// {3066887B-CA40-4683-897F-4416FE349D7E} +static const GUID PmpWifiLangGUID = +{ 0x3066887b, 0xca40, 0x4683, { 0x89, 0x7f, 0x44, 0x16, 0xfe, 0x34, 0x9d, 0x7e } }; + +// Fraunhofer AAC Encoder plugin (enc_fhgaac.dll) +// {E1763EF4-08AD-44a3-914A-8302748AB975} +static const GUID EncFhgAacLangGUID = +{ 0xe1763ef4, 0x8ad, 0x44a3, { 0x91, 0x4a, 0x83, 0x2, 0x74, 0x8a, 0xb9, 0x75 } }; + +// Nullsoft Ogg Demuxer (in_ogg.dll) +// {90B01366-39C1-47b2-99DC-BBAE2D4DC5BF} +static const GUID InOggLangGUID = +{ 0x90b01366, 0x39c1, 0x47b2, { 0x99, 0xdc, 0xbb, 0xae, 0x2d, 0x4d, 0xc5, 0xbf } }; + +// Winamp Cloud plugin (ml_cloud.dll) +// {0253CD84-4BB1-415b-B95B-B13EBD7EA6FD} +static const GUID MlCloudLangGUID = +{ 0x253cd84, 0x4bb1, 0x415b, { 0xb9, 0x5b, 0xb1, 0x3e, 0xbd, 0x7e, 0xa6, 0xfd } }; + +// Winamp Cloud Device plugin (pmp_cloud.dll) +// {5F99429F-43B0-4544-ABA0-DE5D9DA65283} +static const GUID PmpCloudLangGUID = +{ 0x5f99429f, 0x43b0, 0x4544, { 0xab, 0xa0, 0xde, 0x5d, 0x9d, 0xa6, 0x52, 0x83 } }; + + +/* +** These are guids for known 3rd party lng files +*/ + +// WavPack Input plugin (in_wv.dll) +// {6DE2E465-690E-4df1-B6E2-2A9B33ED3DBB} +static const GUID InWvLangGuid = +{ 0x6de2e465, 0x690e, 0x4df1, { 0xb6, 0xe2, 0x2a, 0x9b, 0x33, 0xed, 0x3d, 0xbb } }; + +// Nullsoft Waveform Wrapper plugin (in_wav.dll) +// {1CED00E8-4B1B-4e10-A188-9A7C6BBEB421} +static const GUID InWavLangGuid = +{ 0x1ced00e8, 0x4b1b, 0x4e10, { 0xa1, 0x88, 0x9a, 0x7c, 0x6b, 0xbe, 0xb4, 0x21 } }; + +// Jump To File Extra (JTFE) plugin (gen_jumpex.dll) +// Note: this used to be {243355FE-8B16-48d2-89C3-FD80B3902875} but was changed with +// v1.1 (the build in 5.58) due to mass of changes to the file to ensure that +// this will work correctly if an old / partial file is present in the langpack +// {4693FA7D-2055-4b36-A239-0AD998B5A884} +static const GUID GenJTFELangGUID = +{ 0x4693fa7d, 0x2055, 0x4b36, { 0xa2, 0x39, 0xa, 0xd9, 0x98, 0xb5, 0xa8, 0x84 } }; + +// Time Restore & Autoplay (TRAP) plugin (gen_timerestore.dll) +// {75854C46-1F1A-4fae-B3FA-EEA6B253490E} +static const GUID GenTRAPLangGUID = +{ 0x75854c46, 0x1f1a, 0x4fae, { 0xb3, 0xfa, 0xee, 0xa6, 0xb2, 0x53, 0x49, 0xe } }; + +// Playlist File Remover (PLFR) plugin (gen_play_remove.dll) +// {58D8276F-12DD-44a7-A930-AA336BC8BA9A} +static const GUID GenPLFRLangGUID = +{ 0x58d8276f, 0x12dd, 0x44a7, { 0xa9, 0x30, 0xaa, 0x33, 0x6b, 0xc8, 0xba, 0x9a } }; + +// Skin Manager plugin (gen_skinmanager.dll) +// {D877C116-0201-44b2-A003-335C0600BF7A} +static const GUID GenSkinManagerGUID = +{ 0xd877c116, 0x201, 0x44b2, { 0xa0, 0x3, 0x33, 0x5c, 0x6, 0x0, 0xbf, 0x7a } }; + +// Playlist Undo plugin (gen_undo.dll) +// {3050F3A7-DADB-459f-900A-A8A224B7F32D} +static const GUID GenUndoLangGUID = +{ 0x3050f3a7, 0xdadb, 0x459f, { 0x90, 0xa, 0xa8, 0xa2, 0x24, 0xb7, 0xf3, 0x2d } }; + +// Playlist Separator plugin (in_text.dll) +// {505CAF53-D00E-4580-AA67-B31DEA6FE946} +static const GUID InTextLangGUID = +{ 0x505caf53, 0xd00e, 0x4580, { 0xaa, 0x67, 0xb3, 0x1d, 0xea, 0x6f, 0xe9, 0x46 } }; + +// One for Nunz plugin (gen_nunzio.dll) +// {CB659857-7468-40ef-BC51-844449253780} +static const GUID GenOne4NunzLangGUID = +{ 0xcb659857, 0x7468, 0x40ef, { 0xbc, 0x51, 0x84, 0x44, 0x49, 0x25, 0x37, 0x80 } }; + +// Save File As plugin (gen_saveas.dll) +// {71174948-4965-4f61-90F5-E53FF30E6578} +static const GUID GenSaveAsLangGUID = +{ 0x71174948, 0x4965, 0x4f61, { 0x90, 0xf5, 0xe5, 0x3f, 0xf3, 0xe, 0x65, 0x78 } }; + +// Yar-matey! Playlist Copier plugin (gen_yar.dll) +// {9725C8BF-B577-4d72-93EF-5FB41D88FFC2} +static const GUID GenYarLangGUID = +{ 0x9725c8bf, 0xb577, 0x4d72, { 0x93, 0xef, 0x5f, 0xb4, 0x1d, 0x88, 0xff, 0xc2 } }; + +// Album Art plugin (gen_classicart.dll) +// {EAD1E933-6D75-4c2c-B9C4-B4D7F06B7D8D} +static const GUID GenClasicArtGUID = +{ 0xead1e933, 0x6d75, 0x4c2c, { 0xb9, 0xc4, 0xb4, 0xd7, 0xf0, 0x6b, 0x7d, 0x8d } }; + +// Windows 7 Taskbar Integration plugin (gen_win7shell.dll) +// {7204A532-5D37-415d-B431-272C953B7459} +static const GUID GenWin7ShellLangGUID = +{ 0x7204a532, 0x5d37, 0x415d, { 0xb4, 0x31, 0x27, 0x2c, 0x95, 0x3b, 0x74, 0x59 } }; + +// Find File on Disk plugin (gen_find_on_disk.dll) +// {8CCF206C-1EA0-484e-88A3-943B4C4AF272} +static const GUID GenFFODLangGUID = +{ 0x8ccf206c, 0x1ea0, 0x484e, { 0x88, 0xa3, 0x94, 0x3b, 0x4c, 0x4a, 0xf2, 0x72 } }; + +// ML Bookmark Categoriser plugin (ml_bkmk.dll) +// {C3BC5F81-B400-4c64-BCC5-3B758D6BE2E1} +static const GUID MlBkCatLangGUID = +{ 0xc3bc5f81, 0xb400, 0x4c64, { 0xbc, 0xc5, 0x3b, 0x75, 0x8d, 0x6b, 0xe2, 0xe1 } }; + +// Lite'n Winamp Preferences plugin (gen_nopro.dll) +// {E6C98DDD-FC99-4ccc-B845-79A81B8C1959} +static const GUID GenNoProLangGUID = +{ 0xe6c98ddd, 0xfc99, 0x4ccc, { 0xb8, 0x45, 0x79, 0xa8, 0x1b, 0x8c, 0x19, 0x59 } }; + +// ML Enqueue & Play plugin (ml_enqplay.dll) +// {0DF6B872-74C3-4236-BE78-E1EAE665C62D} +static const GUID MlEnqPlayLangGUID = +{ 0xdf6b872, 0x74c3, 0x4236, { 0xbe, 0x78, 0xe1, 0xea, 0xe6, 0x65, 0xc6, 0x2d } }; + +// YMAMP (in_ym.dll) +// {C5F9EFFA-4727-4075-9017-A6BAE72B848C} +static const GUID InYMAMPLangGUID = +{ 0xc5f9effa, 0x4727, 0x4075, { 0x90, 0x17, 0xa6, 0xba, 0xe7, 0x2b, 0x84, 0x8c } }; + +// SNESAmp wrapper (in_snes.dll + in_snes.trb + in_snes_trb.lng) +// {7B2084F6-B7A7-449b-A133-12F1916F188E} +static const GUID InSNESWrapperLangGUID = +{ 0x7b2084f6, 0xb7a7, 0x449b, { 0xa1, 0x33, 0x12, 0xf1, 0x91, 0x6f, 0x18, 0x8e } }; + +// View Current File Information Hotkey (gen_wolfgang) plugin +// {E16E2C50-71AB-4188-9193-B9D5FB127F97} +static const GUID GenWolfgangLangGUID = +{ 0xe16e2c50, 0x71ab, 0x4188, { 0x91, 0x93, 0xb9, 0xd5, 0xfb, 0x12, 0x7f, 0x97 } }; + +// Mute Hotkey (gen_mute) plugin +// {E87B8C7F-51DA-442c-BB2A-D5F941318853} +static const GUID GenMuteLangGUID = +{ 0xe87b8c7f, 0x51da, 0x442c, { 0xbb, 0x2a, 0xd5, 0xf9, 0x41, 0x31, 0x88, 0x53 } }; + +// Play Random Song Hotkey (gen_prs) plugin +// {1112230B-6928-4f20-BD0E-F559FE6AD66E} +static const GUID GenPRSLangGUID = +{ 0x1112230b, 0x6928, 0x4f20, { 0xbd, 0xe, 0xf5, 0x59, 0xfe, 0x6a, 0xd6, 0x6e } }; + +// Randomise Playlist Hotkey (gen_grp) plugin +// {554151CC-ADEC-4bdc-8A96-7812BF69058D} +static const GUID GenRandPLLangGUID = +{ 0x554151cc, 0xadec, 0x4bdc, { 0x8a, 0x96, 0x78, 0x12, 0xbf, 0x69, 0x5, 0x8d } }; + +// Clear Current Playlist Hotkey (gen_gcp) plugin +// {1C71FF32-D2E1-403b-B39C-897AF7F4B4AE} +static const GUID GenCleardPLLangGUID = +{ 0x1c71ff32, 0xd2e1, 0x403b, { 0xb3, 0x9c, 0x89, 0x7a, 0xf7, 0xf4, 0xb4, 0xae } }; + +// EQ Hotkeys (gen_eq_hotkeys) plugin +// {4EA319B6-955A-4519-807E-A36EEDDC6224} +static const GUID GenEQGHKLangGUID = +{ 0x4ea319b6, 0x955a, 0x4519, { 0x80, 0x7e, 0xa3, 0x6e, 0xed, 0xdc, 0x62, 0x24 } }; + +// Auto EQ (gen_autoeq) plugin +// {5A2E5855-239A-44a6-A49B-1F495BBFD0D6} +static const GUID GenAutoEQLangGUID = +{ 0x5a2e5855, 0x239a, 0x44a6, { 0xa4, 0x9b, 0x1f, 0x49, 0x5b, 0xbf, 0xd0, 0xd6 } }; + +// CD Menu Tweaker (gen_cd_menu.dll) +// {A609C17B-44F3-47d8-9B76-C660FF5D3739} +static const GUID GenCDMenuTweakLangGUID = +{ 0xa609c17b, 0x44f3, 0x47d8, { 0x9b, 0x76, 0xc6, 0x60, 0xff, 0x5d, 0x37, 0x39 } }; + +// Three Mode Repeat (gen_3mode.dll) +// {81EE2A10-80E9-4d22-B363-AEA820AE988F} +static const GUID Gen3ModeLangGUID = +{ 0x81ee2a10, 0x80e9, 0x4d22, { 0xb3, 0x63, 0xae, 0xa8, 0x20, 0xae, 0x98, 0x8f } }; + +// Taskbar Text Mod (gen_ttm.dll) +// {BBFD3662-DBDF-417a-AAAC-23914D55F24B} +static const GUID GenTTMLangGUID = +{ 0xbbfd3662, 0xdbdf, 0x417a, { 0xaa, 0xac, 0x23, 0x91, 0x4d, 0x55, 0xf2, 0x4b } }; + +// OS Pos Restorer (gen_os_diag.dll) +// {B5A3AD19-2180-45d7-AFFE-80D2B7575CD1} +static const GUID GenOSDiagLangGUID = +{ 0xb5a3ad19, 0x2180, 0x45d7, { 0xaf, 0xfe, 0x80, 0xd2, 0xb7, 0x57, 0x5c, 0xd1 } }; + +// Shuffle Restorer (gen_shuffle_restorer.dll) +// {B13ED906-B8E9-4753-B03F-351B05A6E250} +static const GUID GenShuffleRestorerLangGUID = +{ 0xb13ed906, 0xb8e9, 0x4753, { 0xb0, 0x3f, 0x35, 0x1b, 0x5, 0xa6, 0xe2, 0x50 } }; + +// Shuffle Change Blocker (gen_shufblock.dll) +// {FCCFABF2-6EF3-4651-A43C-F7CA38176889} +static const GUID GenShuffleBlockerLangGUID = +{ 0xfccfabf2, 0x6ef3, 0x4651, { 0xa4, 0x3c, 0xf7, 0xca, 0x38, 0x17, 0x68, 0x89 } }; + +// Single Click 'n' Play (gen_singleclick.dll) +// {AF67A1E2-8827-4fa3-9F9F-3A3DE2886022} +static const GUID GenSingleClickLangGUID = +{ 0xaf67a1e2, 0x8827, 0x4fa3, { 0x9f, 0x9f, 0x3a, 0x3d, 0xe2, 0x88, 0x60, 0x22 } }; + +// No Minimise (gen_no_min.dll) +// {8BCF7C51-6F88-455f-88FD-0B6911650997} +static const GUID GenNoMinimiseLangGUID = +{ 0x8bcf7c51, 0x6f88, 0x455f, { 0x88, 0xfd, 0xb, 0x69, 0x11, 0x65, 0x9, 0x97 } }; + +// Repeater (gen_repeater.dll) +// {1C4C8774-8BBC-4f11-851E-936BF5C85E96} +static const GUID GenRepeaterLangGUID = +{ 0x1c4c8774, 0x8bbc, 0x4f11, { 0x85, 0x1e, 0x93, 0x6b, 0xf5, 0xc8, 0x5e, 0x96 } }; + +// Alt Close (gen_alt_close.dll) +// {0FD70024-FA0E-4f4f-A0D4-CD560913C146} +static const GUID GenAltCloseLangGUID = +{ 0xfd70024, 0xfa0e, 0x4f4f, { 0xa0, 0xd4, 0xcd, 0x56, 0x9, 0x13, 0xc1, 0x46 } }; + +// ML Exporter (ml_exporter.dll) +// {3B441F40-E8E9-46bf-B399-556FB6CD4295} +static const GUID MLExporterLangGUID = +{ 0x3b441f40, 0xe8e9, 0x46bf, { 0xb3, 0x99, 0x55, 0x6f, 0xb6, 0xcd, 0x42, 0x95 } }; + +// Silence Detector DSP (dsp_silence_detect.dll) +// {15CCEBE6-C1F5-4246-A7B0-A6E66025C01C} +static const GUID DspSilenceDetectLangGUID = +{ 0x15ccebe6, 0xc1f5, 0x4246, { 0xa7, 0xb0, 0xa6, 0xe6, 0x60, 0x25, 0xc0, 0x1c } }; + +// Skinned Preferences (gen_prefs_skin.dll) +// {AE99B23F-0E51-4a99-9AB0-21AEA7B4B3CA} +static const GUID GenSkinPrefsLangGUID = +{ 0xae99b23f, 0xe51, 0x4a99, { 0x9a, 0xb0, 0x21, 0xae, 0xa7, 0xb4, 0xb3, 0xca } }; + +// Jump to Track (gen_jtt.dll) +// {D7D804A3-0794-4761-B43B-4873E5B41873} +static const GUID GenJTTLangGUID = +{ 0xd7d804a3, 0x794, 0x4761, { 0xb4, 0x3b, 0x48, 0x73, 0xe5, 0xb4, 0x18, 0x73 } }; + +// Jump to Time Extra (gen_jumptotime.dll) +// {9B5DC220-F06A-44cc-909E-D2157513F280} +static const GUID GenJumpToTimeLangGUID = +{ 0x9b5dc220, 0xf06a, 0x44cc, { 0x90, 0x9e, 0xd2, 0x15, 0x75, 0x13, 0xf2, 0x80 } }; + +// Jumper (gen_jumper.dll) +// {5D793BF9-0903-4bc9-A78D-D10AB92C7EE5} +static const GUID GenJumperLangGUID = +{ 0x5d793bf9, 0x903, 0x4bc9, { 0xa7, 0x8d, 0xd1, 0xa, 0xb9, 0x2c, 0x7e, 0xe5 } }; + +// One Click Show and Hide (gen_one_click.dll) +// {8F3FCFB3-1F5A-43c6-A71E-891026479301} +static const GUID GenOneClickLangGUID = +{ 0x8f3fcfb3, 0x1f5a, 0x43c6, { 0xa7, 0x1e, 0x89, 0x10, 0x26, 0x47, 0x93, 0x1 } }; + +// Playback Excluder (gen_exclude.dll) +// {15C44197-EBC5-4cc7-B935-EDE40C9C1AF6} +static const GUID GenPlaybackExluderLangGUID = +{ 0x15c44197, 0xebc5, 0x4cc7, { 0xb9, 0x35, 0xed, 0xe4, 0xc, 0x9c, 0x1a, 0xf6 } }; + +// Close to Notification Area (gen_d3x7r0.dll) +// {2A3BC93A-99FF-469a-A94B-576218CF6265} +static const GUID GenCloseToNotAreaLangGUID = +{ 0x2a3bc93a, 0x99ff, 0x469a, { 0xa9, 0x4b, 0x57, 0x62, 0x18, 0xcf, 0x62, 0x65 } }; + +// Crop Die (gen_crop_die.dll) +// {9E79066C-58C5-41b9-9361-C1951DA989CD} +static const GUID GenCropDieLangGUID = +{ 0x9e79066c, 0x58c5, 0x41b9, { 0x93, 0x61, 0xc1, 0x95, 0x1d, 0xa9, 0x89, 0xcd } }; + +// Play Selected Song Hotkey (gen_gpss.dll) +// {94E8B2B6-685F-484b-9938-EC929F6874EC} +static const GUID GenPlaySelGHKLangGUID = +{ 0x94e8b2b6, 0x685f, 0x484b, { 0x99, 0x38, 0xec, 0x92, 0x9f, 0x68, 0x74, 0xec } }; + +// Close After Current (gen_cac.dll) +// {8B6A33FB-A6C5-49a0-A52A-0A0F14913BB2} +static const GUID GenCACLangGUID = +{ 0x8b6a33fb, 0xa6c5, 0x49a0, { 0xa5, 0x2a, 0xa, 0xf, 0x14, 0x91, 0x3b, 0xb2 } }; + +// Enhancer Wrapper DSP (dsp_enhancer.dll) +// {78842EF6-CCA2-410c-9E23-C498ABB24373} +static const GUID DspEnhancerLangGUID = +{ 0x78842ef6, 0xcca2, 0x410c, { 0x9e, 0x23, 0xc4, 0x98, 0xab, 0xb2, 0x43, 0x73 } }; + +// Shutdown on Close (gen_soc.dll) +// {CAE88304-4A0B-46e5-8B50-BEDFAE00FA6A} +static const GUID GenSOCLangGUID = +{ 0xcae88304, 0x4a0b, 0x46e5, { 0x8b, 0x50, 0xbe, 0xdf, 0xae, 0x0, 0xfa, 0x6a } }; + +// Mouse Wheel Blocker (gen_mwblock.dll) +// {C9D6697C-4C7B-4aec-A4C7-45395F0771EA} +static const GUID GenMouseWheelBlockLangGUID = +{ 0xc9d6697c, 0x4c7b, 0x4aec, { 0xa4, 0xc7, 0x45, 0x39, 0x5f, 0x7, 0x71, 0xea } }; + +// ML Icon Control plugin (ml_icon_control.dll) +// {4A55AE4D-B3CB-42df-A94E-53588FD761BA} +static const GUID MlIconControlLangGUID= +{ 0x4a55ae4d, 0xb3cb, 0x42df, { 0xa9, 0x4e, 0x53, 0x58, 0x8f, 0xd7, 0x61, 0xba } }; + +// File Copier plug-in (gen_copy.dll) +// {A2121FC9-6FC3-4a56-88F2-A36FF64D10EA} +static const GUID GenFileCopierLangGUID = +{ 0xa2121fc9, 0x6fc3, 0x4a56, { 0x88, 0xf2, 0xa3, 0x6f, 0xf6, 0x4d, 0x10, 0xea } }; + +// Shoutcast Source DSP plug-in +// Note: this used to be {FD4D4A01-C337-4144-85D7-00678B3B2D2D} but was changed with +// v2.3.0 due to mass of changes to the file to ensure that this will work +// correctly if an old / partial file is present in the langpack +// {88380E65-4068-49BA-8EA4-3F2AF12D0A4F} +static const GUID DspShoutcastLangGUID = +{ 0x88380e65, 0x4068, 0x49ba, { 0x8e, 0xa4, 0x3f, 0x2a, 0xf1, 0x2d, 0xa, 0x4f } }; + +#ifdef __cplusplus +} // extern "C" +#endif +#endif \ No newline at end of file diff --git a/src/MilkDrop2/Wasabi/api/application/api_application.h b/src/MilkDrop2/Wasabi/api/application/api_application.h new file mode 100644 index 0000000000..86d497f127 --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/application/api_application.h @@ -0,0 +1,395 @@ +// ---------------------------------------------------------------------------- +// Generated by InterfaceFactory [Wed May 07 00:55:56 2003] +// +// File : api_application.h +// Class : api_application +// class layer : Dispatchable Interface +// ---------------------------------------------------------------------------- + +#ifndef __API_APPLICATION_H +#define __API_APPLICATION_H + +#include +#include +#include +#ifdef _WIN32 +#include "ifc_messageprocessor.h" +#endif + +// ---------------------------------------------------------------------------- + +enum +{ + API_APPLICATION_SUCCESS = 0, + API_APPLICATION_FAILURE = 1, +}; + +enum +{ + TRANSLATE_MODE_NORMAL = 0, + TRANSLATE_MODE_GLOBAL = 1, + TRANSLATE_MODE_CHILD = 2, +}; + +class NOVTABLE api_application: public Dispatchable +{ +protected: + api_application() + {} + ~api_application() + {} +public: + const wchar_t *main_getAppName(); // returns (e.g.) "Winamp" + const wchar_t *main_getVersionString(); // returns (e.g.) "Winamp 5.12" + const wchar_t *main_getVersionNumString(); // returns (e.g.) "5.12" + unsigned int main_getBuildNumber(); // returns (e.g.) 666 + GUID main_getGUID(); +#ifdef _WIN32 + HANDLE main_getMainThreadHandle(); // This actually gives you a DuplicateHandle, so call CloseHandle() when you are done. + HINSTANCE main_gethInstance(); +#endif + const wchar_t *main_getCommandLine(); + void main_shutdown(int deferred = TRUE); + void main_cancelShutdown(); + int main_isShuttingDown(); + const wchar_t *path_getAppPath(); + const wchar_t *path_getUserSettingsPath(); + // added for 5.58+ so gen_ff can fill @SKINSPATH@ in scripts correctly + const wchar_t *path_getSkinSettingsPath(); + int app_getInitCount(); + intptr_t app_messageLoopStep(); +#ifdef _WIN32 + void app_addMessageProcessor(ifc_messageprocessor *processor); + void app_removeMessageProcessor(ifc_messageprocessor *processor); + + void app_addModelessDialog(HWND hwnd); /* deprectated since 5.61 use ActiveDialog_XXX instead*/ + void app_removeModelessDialog(HWND hwnd); /* deprectated since 5.61 use ActiveDialog_XXX instead*/ + /* accelerators are 5.53+ */ + void app_addAccelerators(HWND hwnd, HACCEL *phAccel, INT cAccel, UINT translateMode); + void app_removeAccelerators(HWND hwnd); + bool app_translateAccelerators(MSG *msg); + int app_getAccelerators(HWND hwnd, HACCEL *phAccel, INT cchAccelMax, BOOL bGlobal); // phAccel == NULL && cchAccelMax == 0 -> returns accels count + /* register window as part of winamp global group (5.54+) */ + void app_registerGlobalWindow(HWND hwnd); + void app_unregisterGlobalWindow(HWND hwnd); + + /* 5.58 + */ + bool DirectMouseWheel_RegisterSkipClass(ATOM klass); + bool DirectMouseWheel_UnregisterSkipClass(ATOM klass); + bool DirectMouseWheel_EnableConvertToMouseWheel(HWND hwnd, BOOL enable); // !!! must be disabled before window destroyed !!! + /* 5.7 + */ + BOOL DirectMouseWheel_ProcessDialogMessage(HWND hwnd, unsigned int uMsg, WPARAM wParam, LPARAM lParam, const int controls[], int controlslen); + + /* 5.61 + */ + void ActiveDialog_Register(HWND hwnd); + void ActiveDialog_Unregister(HWND hwnd); + HWND ActiveDialog_Get(); +#endif + /* + note: on windows, these two functions DON'T call Set/GetCurrentDirectory, Winamp maintains it's own path + because calling SetCurrentDirectory locks the folder + Added for 5.34 + */ + const wchar_t *path_getWorkingPath(); // useful to call for populating lpstrInitialDir in GetOpenFileName + void path_setWorkingPath(const wchar_t *newPath); // useful to call for populating lpstrInitialDir in GetOpenFileName + + /* + The following three function return you unique IDs you can use if you need + They are created anonymously, so information cannot be tracked back to a specific person + The main reason for their existence is that a few third party libraries require them + and some online media providers require this info for billing. + You can call this functions with a pointer to any 16 byte data structure cast to a GUID * + Added for 5.35 + */ + // returns an ID unique to this computer, but not unique to the logged in user (two windows accts would share this ID) + int GetMachineID(GUID *id); + // returns an ID unique to this user. Another user logged in to the computer will have a different ID + // note that if Winamp was installed with "shared settings", the IDs of multiple users will probably be identical + // as we're just storing it in winamp.ini for now + int GetUserID(GUID *id); + // returns a unique ID for this session. Generated on the fly the first time someone calls this function + int GetSessionID(GUID *id); + + /* 5.54 + */ + size_t AllocateThreadStorage(); // returns an index, -1 for error + void *GetThreadStorage(size_t index); + void SetThreadStorage(size_t index, void *value); + +protected: + enum + { + API_APPLICATION_MAIN_GETAPPNAME = 10, + API_APPLICATION_MAIN_GETVERSIONSTRING = 20, + API_APPLICATION_MAIN_GETVERSIONSTRING2 = 21, + API_APPLICATION_MAIN_GETBUILDNUMBER = 30, + API_APPLICATION_MAIN_GETGUID = 40, + API_APPLICATION_MAIN_GETMAINTHREADHANDLE = 50, + API_APPLICATION_MAIN_GETHINSTANCE = 60, + API_APPLICATION_MAIN_GETCOMMANDLINE = 70, + API_APPLICATION_MAIN_SHUTDOWN = 80, + API_APPLICATION_MAIN_CANCELSHUTDOWN = 90, + API_APPLICATION_MAIN_ISSHUTTINGDOWN = 100, + API_APPLICATION_PATH_GETAPPPATH = 110, + API_APPLICATION_PATH_GETUSERSETTINGSPATH = 120, + API_APPLICATION_APP_GETINITCOUNT = 130, + API_APPLICATION_APP_MESSAGELOOPSTEP = 140, + API_APPLICATION_APP_ADDMESSAGEPROCESSOR = 150, + API_APPLICATION_APP_REMOVEMESSAGEPROCESSOR = 160, + API_APPLICATION_APP_ADDMODELESSDIALOG = 170, + API_APPLICATION_APP_REMOVEMODELESSDIALOG = 180, + API_APPLICATION_PATH_GETWORKINGPATH = 190, + API_APPLICATION_PATH_SETWORKINGPATH = 200, + API_APPLICATION_GETMACHINEID = 210, + API_APPLICATION_GETUSERID = 220, + API_APPLICATION_GETSESSIONID = 230, + API_APPLICATION_APP_ADDACCELERATORS = 240, + API_APPLICATION_APP_REMOVEACCELERATORS = 250, + API_APPLICATION_APP_TRANSLATEACCELERATORS = 260, + API_APPLICATION_APP_GETACCELERATORS = 270, + API_APPLICATION_APP_REGISTERGLOBALWINDOW = 280, + API_APPLICATION_APP_UNREGISTERGLOBALWINDOW = 290, + API_APPLICATION_ALLOCATETHREADSTORAGE = 300, + API_APPLICATION_GETTHREADSTORAGE = 310, + API_APPLICATION_SETTHREADSTORAGE = 320, + API_APPLICATION_PATH_GETSKINSETTINGSPATH = 330, + API_APPLICATION_DIRECTMOUSEWHEEL_REGISTERSKIPCLASS = 340, + API_APPLICATION_DIRECTMOUSEWHEEL_UNREGISTERSKIPCLASS = 350, + API_APPLICATION_DIRECTMOUSEWHEEL_ENABLECONVERTTOMOUSEWHEEL = 360, + API_APPLICATION_DIRECTMOUSEWHEEL_PROCESSDIALOGMESSAGE = 365, + API_APPLICATION_ACTIVEDIALOG_REGISTER = 370, + API_APPLICATION_ACTIVEDIALOG_UNREGISTER = 380, + API_APPLICATION_ACTIVEDIALOG_GET = 390, + }; +}; + +// ---------------------------------------------------------------------------- + +inline const wchar_t *api_application::main_getAppName() +{ + const wchar_t *__retval = _call(API_APPLICATION_MAIN_GETAPPNAME, (const wchar_t *)0); + return __retval; +} + +inline const wchar_t *api_application::main_getVersionString() +{ + const wchar_t *__retval = _call(API_APPLICATION_MAIN_GETVERSIONSTRING, (const wchar_t *)0); + return __retval; +} + +inline const wchar_t *api_application::main_getVersionNumString() +{ + return _call(API_APPLICATION_MAIN_GETVERSIONSTRING2, (const wchar_t *)0); +} + +inline unsigned int api_application::main_getBuildNumber() +{ + return _call(API_APPLICATION_MAIN_GETBUILDNUMBER, 0); +} + +inline GUID api_application::main_getGUID() +{ + GUID __retval = _call(API_APPLICATION_MAIN_GETGUID, INVALID_GUID); + return __retval; +} + +#ifdef _WIN32 +inline HANDLE api_application::main_getMainThreadHandle() +{ + HANDLE __retval = _call(API_APPLICATION_MAIN_GETMAINTHREADHANDLE, (HANDLE)NULL); + return __retval; +} + +inline HINSTANCE api_application::main_gethInstance() +{ + HINSTANCE __retval = _call(API_APPLICATION_MAIN_GETHINSTANCE, (HINSTANCE)NULL); + return __retval; +} +#endif + +inline const wchar_t *api_application::main_getCommandLine() +{ + const wchar_t *__retval = _call(API_APPLICATION_MAIN_GETCOMMANDLINE, (const wchar_t *)0); + return __retval; +} + +inline void api_application::main_shutdown(int deferred) +{ + _voidcall(API_APPLICATION_MAIN_SHUTDOWN, deferred); +} + +inline void api_application::main_cancelShutdown() +{ + _voidcall(API_APPLICATION_MAIN_CANCELSHUTDOWN); +} + +inline int api_application::main_isShuttingDown() +{ + int __retval = _call(API_APPLICATION_MAIN_ISSHUTTINGDOWN, (int)0); + return __retval; +} + +inline const wchar_t *api_application::path_getAppPath() +{ + const wchar_t *__retval = _call(API_APPLICATION_PATH_GETAPPPATH, (const wchar_t *)0); + return __retval; +} + +inline const wchar_t *api_application::path_getUserSettingsPath() +{ + return _call(API_APPLICATION_PATH_GETUSERSETTINGSPATH, (const wchar_t *)0); +} + +inline const wchar_t *api_application::path_getSkinSettingsPath() +{ + return _call(API_APPLICATION_PATH_GETSKINSETTINGSPATH, (const wchar_t *)0); +} + +inline int api_application::app_getInitCount() +{ + int __retval = _call(API_APPLICATION_APP_GETINITCOUNT, 0); + return __retval; +} + +inline intptr_t api_application::app_messageLoopStep() +{ + return _call(API_APPLICATION_APP_MESSAGELOOPSTEP, (intptr_t)1); +} + +#ifdef _WIN32 +inline void api_application::app_addMessageProcessor(ifc_messageprocessor *processor) +{ + _voidcall(API_APPLICATION_APP_ADDMESSAGEPROCESSOR, processor); +} + +inline void api_application::app_removeMessageProcessor(ifc_messageprocessor *processor) +{ + _voidcall(API_APPLICATION_APP_REMOVEMESSAGEPROCESSOR, processor); +} + +inline void api_application::app_addModelessDialog(HWND hwnd) +{ + _voidcall(API_APPLICATION_APP_ADDMODELESSDIALOG, hwnd); +} + +inline void api_application::app_removeModelessDialog(HWND hwnd) +{ + _voidcall(API_APPLICATION_APP_REMOVEMODELESSDIALOG, hwnd); +} + +inline void api_application::app_addAccelerators(HWND hwnd, HACCEL *phAccel, INT cAccel, UINT translateMode) +{ + _voidcall(API_APPLICATION_APP_ADDACCELERATORS, hwnd, phAccel, cAccel, translateMode); +} + +inline void api_application::app_removeAccelerators(HWND hwnd) +{ + _voidcall(API_APPLICATION_APP_REMOVEACCELERATORS, hwnd); +} + +inline bool api_application::app_translateAccelerators(MSG *msg) +{ + return _call(API_APPLICATION_APP_TRANSLATEACCELERATORS, (bool)false, msg); +} + +inline int api_application::app_getAccelerators(HWND hwnd, HACCEL *phAccel, INT cchAccelMax, BOOL bGlobal) +{ + return _call(API_APPLICATION_APP_GETACCELERATORS, (int)0, hwnd, phAccel, cchAccelMax, bGlobal); +} + +inline void api_application::app_registerGlobalWindow(HWND hwnd) +{ + _voidcall(API_APPLICATION_APP_REGISTERGLOBALWINDOW, hwnd); +} + +inline void api_application::app_unregisterGlobalWindow(HWND hwnd) +{ + _voidcall(API_APPLICATION_APP_UNREGISTERGLOBALWINDOW, hwnd); +} + +inline bool api_application::DirectMouseWheel_RegisterSkipClass(ATOM klass) +{ + return _call(API_APPLICATION_DIRECTMOUSEWHEEL_REGISTERSKIPCLASS, (bool)false, klass); +} + +inline bool api_application::DirectMouseWheel_UnregisterSkipClass(ATOM klass) +{ + return _call(API_APPLICATION_DIRECTMOUSEWHEEL_UNREGISTERSKIPCLASS, (bool)false, klass); +} + +inline bool api_application::DirectMouseWheel_EnableConvertToMouseWheel(HWND hwnd, BOOL enable) +{ + return _call(API_APPLICATION_DIRECTMOUSEWHEEL_ENABLECONVERTTOMOUSEWHEEL, (bool)false, hwnd, enable); +} + +inline BOOL api_application::DirectMouseWheel_ProcessDialogMessage(HWND hwnd, unsigned int uMsg, WPARAM wParam, LPARAM lParam, const int controls[], int controlslen) +{ + return _call(API_APPLICATION_DIRECTMOUSEWHEEL_PROCESSDIALOGMESSAGE, (BOOL)FALSE, hwnd, uMsg, wParam, lParam, controls, controlslen); +} + +inline void api_application::ActiveDialog_Register(HWND hwnd) +{ + _voidcall(API_APPLICATION_ACTIVEDIALOG_REGISTER, hwnd); +} + +inline void api_application::ActiveDialog_Unregister(HWND hwnd) +{ + _voidcall(API_APPLICATION_ACTIVEDIALOG_UNREGISTER, hwnd); +} + +inline HWND api_application::ActiveDialog_Get() +{ + return _call(API_APPLICATION_ACTIVEDIALOG_GET, (HWND)NULL); +} +#endif + +inline const wchar_t *api_application::path_getWorkingPath() +{ + return _call(API_APPLICATION_PATH_GETWORKINGPATH, (wchar_t *)0); +} + +inline void api_application::path_setWorkingPath(const wchar_t *newPath) +{ + _voidcall(API_APPLICATION_PATH_SETWORKINGPATH, newPath); +} + +inline int api_application::GetMachineID(GUID *id) +{ + return _call(API_APPLICATION_GETMACHINEID, (int)API_APPLICATION_FAILURE, id); +} + +inline int api_application::GetUserID(GUID *id) +{ + return _call(API_APPLICATION_GETUSERID, (int)API_APPLICATION_FAILURE, id); +} + +inline int api_application::GetSessionID(GUID *id) +{ + return _call(API_APPLICATION_GETSESSIONID, (int)API_APPLICATION_FAILURE, id); +} + +inline size_t api_application::AllocateThreadStorage() +{ + return _call(API_APPLICATION_ALLOCATETHREADSTORAGE, (size_t)-1); +} + +inline void *api_application::GetThreadStorage(size_t index) +{ + return _call(API_APPLICATION_GETTHREADSTORAGE, (void *)0, index); +} + +inline void api_application::SetThreadStorage(size_t index, void *value) +{ + _voidcall(API_APPLICATION_SETTHREADSTORAGE, index, value); +} + +// ---------------------------------------------------------------------------- + +// {23B96771-09D7-46d3-9AE2-20DCEA6C86EA} +static const GUID applicationApiServiceGuid = + { + 0x23b96771, 0x9d7, 0x46d3, { 0x9a, 0xe2, 0x20, 0xdc, 0xea, 0x6c, 0x86, 0xea } + }; + +extern api_application *applicationApi; + +#endif // __API_APPLICATION_H \ No newline at end of file diff --git a/src/MilkDrop2/Wasabi/api/application/ifc_messageprocessor.h b/src/MilkDrop2/Wasabi/api/application/ifc_messageprocessor.h new file mode 100644 index 0000000000..b54d3f33aa --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/application/ifc_messageprocessor.h @@ -0,0 +1,25 @@ +#ifndef __WASABI_IFC_MESSAGEPROCESSOR_H +#define __WASABI_IFC_MESSAGEPROCESSOR_H + +#include +#include +class ifc_messageprocessor : public Dispatchable +{ +protected: + ifc_messageprocessor() {} + ~ifc_messageprocessor() {} +public: + bool ProcessMessage(MSG *msg); // return true to 'eat' the message +public: + DISPATCH_CODES + { + IFC_MESSAGEPROCESSOR_PROCESS_MESSAGE = 10, + }; +}; +inline bool ifc_messageprocessor::ProcessMessage(MSG *msg) +{ + return _call(IFC_MESSAGEPROCESSOR_PROCESS_MESSAGE, false, msg); +} + +typedef ifc_messageprocessor api_messageprocessor; // TODO: CUT! +#endif \ No newline at end of file diff --git a/src/MilkDrop2/Wasabi/api/service/api_service.h b/src/MilkDrop2/Wasabi/api/service/api_service.h new file mode 100644 index 0000000000..9c5549ee10 --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/service/api_service.h @@ -0,0 +1,155 @@ +// ---------------------------------------------------------------------------- +// Generated by InterfaceFactory [Wed May 07 00:56:11 2003] +// +// File : api_service.h +// Class : api_service +// class layer : Dispatchable Interface +// ---------------------------------------------------------------------------- + +#ifndef __API_SERVICE_H +#define __API_SERVICE_H + +#include +#include + +namespace SvcNotify { + enum { + ONREGISTERED=100, // init yourself here -- not all other services are registered yet + ONSTARTUP=200, // everyone is initialized, safe to talk to other services + ONAPPRUNNING=210, // app is showing and processing events + ONSHUTDOWN=300, // studio is shutting down, release resources from other services + ONDEREGISTERED=400, // bye bye + ONDBREADCOMPLETE=500,// after db is read in (happens asynchronously after ONSTARTUP) + ONBEFORESHUTDOWN=600, // system is about to shutdown, call WASABI_API_APP->main_cancelShutdown() to cancel + }; +} + + class waServiceFactory; + +// ---------------------------------------------------------------------------- + +class NOVTABLE api_service: public Dispatchable { + protected: + api_service() {} + ~api_service() {} + public: + int service_register(waServiceFactory *svc); + int service_deregister(waServiceFactory *svc); + size_t service_getNumServices(FOURCC svc_type); + waServiceFactory *service_enumService(FOURCC svc_type, size_t n); + waServiceFactory *service_getServiceByGuid(GUID guid); + int service_lock(waServiceFactory *owner, void *svcptr); + int service_clientLock(void *svcptr); + int service_release(void *svcptr); + const char *service_getTypeName(FOURCC svc_type); + #ifdef WASABI_COMPILE_COMPONENTS + GUID service_getOwningComponent(void *svcptr); + GUID service_getLockingComponent(void *svcptr); + #endif // WASABI_COMPILE_COMPONENTS + int service_unlock(void *svcptr); + int service_isvalid(FOURCC svctype, waServiceFactory *service); + // removes "me" from the services list and finds a second service with the same GUID and puts it in the same position + // this is used by the lazy loader service factory - you shouldn't need it for any other purposes. + // returns 0 if compaction actually happened + int service_compactDuplicates(waServiceFactory *me); + + protected: + enum { + API_SERVICE_SERVICE_REGISTER = 10, + API_SERVICE_SERVICE_DEREGISTER = 20, + API_SERVICE_SERVICE_GETNUMSERVICES = 30, + API_SERVICE_SERVICE_ENUMSERVICE = 40, + API_SERVICE_SERVICE_GETSERVICEBYGUID = 50, + API_SERVICE_SERVICE_LOCK = 60, + API_SERVICE_SERVICE_CLIENTLOCK = 70, + API_SERVICE_SERVICE_RELEASE = 80, + API_SERVICE_SERVICE_GETTYPENAME = 90, + #ifdef WASABI_COMPILE_COMPONENTS + API_SERVICE_SERVICE_GETOWNINGCOMPONENT = 100, + API_SERVICE_SERVICE_GETLOCKINGCOMPONENT = 110, + #endif // WASABI_COMPILE_COMPONENTS + API_SERVICE_SERVICE_UNLOCK = 120, + API_SERVICE_ISVALID = 130, + API_SERVICE_COMPACT_DUPLICATES = 140, + }; +}; + +// ---------------------------------------------------------------------------- + +inline int api_service::service_register(waServiceFactory *svc) { + int __retval = _call(API_SERVICE_SERVICE_REGISTER, (int)0, svc); + return __retval; +} + +inline int api_service::service_deregister(waServiceFactory *svc) { + int __retval = _call(API_SERVICE_SERVICE_DEREGISTER, (int)0, svc); + return __retval; +} + +inline size_t api_service::service_getNumServices(FOURCC svc_type) { + int __retval = _call(API_SERVICE_SERVICE_GETNUMSERVICES, (int)0, svc_type); + return __retval; +} + +inline waServiceFactory *api_service::service_enumService(FOURCC svc_type, size_t n) { + waServiceFactory *__retval = _call(API_SERVICE_SERVICE_ENUMSERVICE, (waServiceFactory *)0, svc_type, n); + return __retval; +} + +inline waServiceFactory *api_service::service_getServiceByGuid(GUID guid) { + waServiceFactory *__retval = _call(API_SERVICE_SERVICE_GETSERVICEBYGUID, (waServiceFactory *)0, guid); + return __retval; +} + +inline int api_service::service_lock(waServiceFactory *owner, void *svcptr) { + int __retval = _call(API_SERVICE_SERVICE_LOCK, (int)0, owner, svcptr); + return __retval; +} + +inline int api_service::service_clientLock(void *svcptr) { + int __retval = _call(API_SERVICE_SERVICE_CLIENTLOCK, (int)0, svcptr); + return __retval; +} + +inline int api_service::service_release(void *svcptr) { + int __retval = _call(API_SERVICE_SERVICE_RELEASE, (int)0, svcptr); + return __retval; +} + +inline const char *api_service::service_getTypeName(FOURCC svc_type) { + const char *__retval = _call(API_SERVICE_SERVICE_GETTYPENAME, (const char *)0, svc_type); + return __retval; +} + +#ifdef WASABI_COMPILE_COMPONENTS +inline GUID api_service::service_getOwningComponent(void *svcptr) { + GUID __retval = _call(API_SERVICE_SERVICE_GETOWNINGCOMPONENT, INVALID_GUID, svcptr); + return __retval; +} + +inline GUID api_service::service_getLockingComponent(void *svcptr) { + GUID __retval = _call(API_SERVICE_SERVICE_GETLOCKINGCOMPONENT, INVALID_GUID, svcptr); + return __retval; +} + +#endif // WASABI_COMPILE_COMPONENTS +inline int api_service::service_unlock(void *svcptr) { + int __retval = _call(API_SERVICE_SERVICE_UNLOCK, (int)0, svcptr); + return __retval; +} + +inline int api_service::service_isvalid(FOURCC svctype, waServiceFactory *service) { + int __retval = _call(API_SERVICE_ISVALID, (int)0, svctype, service); + return __retval; +} + +inline int api_service::service_compactDuplicates(waServiceFactory *me) +{ + return _call(API_SERVICE_COMPACT_DUPLICATES, (int)1, me); +} +// ---------------------------------------------------------------------------- + + +extern api_service *serviceApi; + +#endif // __API_SERVICE_H diff --git a/src/MilkDrop2/Wasabi/api/service/waservicefactory.h b/src/MilkDrop2/Wasabi/api/service/waservicefactory.h new file mode 100644 index 0000000000..c5af91e4ef --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/service/waservicefactory.h @@ -0,0 +1,97 @@ +// ---------------------------------------------------------------------------- +// Generated by InterfaceFactory [Wed May 07 00:57:16 2003] +// +// File : waservicefactory.h +// Class : waServiceFactory +// class layer : Dispatchable Interface +// ---------------------------------------------------------------------------- + +#ifndef __WASERVICEFACTORY_H +#define __WASERVICEFACTORY_H + +#include +#include +#include "api_service.h" +// ---------------------------------------------------------------------------- + +class NOVTABLE waServiceFactory: public Dispatchable { + protected: + waServiceFactory() throw() {} + ~waServiceFactory() throw() {} + protected: + + public: + FOURCC getServiceType(); + const char *getServiceName(); + GUID getGuid(); + void *getInterface(int global_lock = TRUE); + int supportNonLockingGetInterface(); + int releaseInterface(void *ifc); + const wchar_t *getTestString(); + int serviceNotify(int msg, intptr_t param1 = 0, intptr_t param2 = 0); + + protected: + enum { + WASERVICEFACTORY_GETSERVICETYPE = 100, + WASERVICEFACTORY_GETSERVICENAME = 200, + WASERVICEFACTORY_GETGUID = 210, + WASERVICEFACTORY_GETINTERFACE = 300, + WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE = 301, + WASERVICEFACTORY_RELEASEINTERFACE = 310, + WASERVICEFACTORY_GETTESTSTRING = 500, + WASERVICEFACTORY_SERVICENOTIFY = 600, + }; +}; + +// ---------------------------------------------------------------------------- + +inline FOURCC waServiceFactory::getServiceType() { + FOURCC __retval = _call(WASERVICEFACTORY_GETSERVICETYPE, (FOURCC)NULL); + return __retval; +} + +inline const char *waServiceFactory::getServiceName() { + const char *__retval = _call(WASERVICEFACTORY_GETSERVICENAME, (const char *)0); + return __retval; +} + +inline GUID waServiceFactory::getGuid() { + GUID __retval = _call(WASERVICEFACTORY_GETGUID, INVALID_GUID); + return __retval; +} + +inline void *waServiceFactory::getInterface(int global_lock) { + void *__retval = _call(WASERVICEFACTORY_GETINTERFACE, (void *)NULL, global_lock); + +#if 0 // unused in Winamp 5 + // -- generated code - edit in waservicefactoryi.h + // support old code that always locks even when global_lock==FALSE + if (!global_lock && __retval != NULL && !supportNonLockingGetInterface()) + WASABI_API_SVC->service_unlock(__retval); +#endif + return __retval; +} + +inline int waServiceFactory::supportNonLockingGetInterface() { + int __retval = _call(WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE, (int)0); + return __retval; +} + +inline int waServiceFactory::releaseInterface(void *ifc) { + int __retval = _call(WASERVICEFACTORY_RELEASEINTERFACE, (int)0, ifc); + return __retval; +} + +inline const wchar_t *waServiceFactory::getTestString() { + return _call(WASERVICEFACTORY_GETTESTSTRING, (const wchar_t *)0); + +} + +inline int waServiceFactory::serviceNotify(int msg, intptr_t param1, intptr_t param2) { + int __retval = _call(WASERVICEFACTORY_SERVICENOTIFY, (int)0, msg, param1, param2); + return __retval; +} + +// ---------------------------------------------------------------------------- + +#endif // __WASERVICEFACTORY_H diff --git a/src/MilkDrop2/Wasabi/api/syscb/api_syscb.h b/src/MilkDrop2/Wasabi/api/syscb/api_syscb.h new file mode 100644 index 0000000000..2e8a1323e6 --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/syscb/api_syscb.h @@ -0,0 +1,77 @@ +// ---------------------------------------------------------------------------- +// Generated by InterfaceFactory [Wed May 07 00:58:14 2003] +// +// File : api_syscb.h +// Class : api_syscb +// class layer : Dispatchable Interface +// ---------------------------------------------------------------------------- + +#ifndef __API_SYSCB_H +#define __API_SYSCB_H + +#include +#include + +class SysCallback; + + +// ---------------------------------------------------------------------------- + +class NOVTABLE api_syscb: public Dispatchable +{ + protected: + api_syscb() {} + ~api_syscb() {} + public: + int syscb_registerCallback(SysCallback *cb, void *param = 0); + int syscb_deregisterCallback(SysCallback *cb); + int syscb_issueCallback(int eventtype, int msg, intptr_t param1 = 0, intptr_t param2 = 0); + + /** pass eventtype == 0 to enumerate all syscallbacks + ** call Release() on the returned SysCallback when you are done + ** although very few wasabi objects support this at this time (2 June 2008) + **/ + SysCallback *syscb_enum(int eventtype, size_t n); + + protected: + enum { + API_SYSCB_SYSCB_REGISTERCALLBACK = 20, + API_SYSCB_SYSCB_DEREGISTERCALLBACK = 10, + API_SYSCB_SYSCB_ISSUECALLBACK = 30, + API_SYSCB_SYSCB_ENUM = 40, + }; +}; + +// ---------------------------------------------------------------------------- + +inline int api_syscb::syscb_registerCallback(SysCallback *cb, void *param) { + int __retval = _call(API_SYSCB_SYSCB_REGISTERCALLBACK, (int)0, cb, param); + return __retval; +} + +inline int api_syscb::syscb_deregisterCallback(SysCallback *cb) { + int __retval = _call(API_SYSCB_SYSCB_DEREGISTERCALLBACK, (int)0, cb); + return __retval; +} + +inline int api_syscb::syscb_issueCallback(int eventtype, int msg, intptr_t param1 , intptr_t param2) { + int __retval = _call(API_SYSCB_SYSCB_ISSUECALLBACK, (int)0, eventtype, msg, param1, param2); + return __retval; +} + +inline SysCallback *api_syscb::syscb_enum(int eventtype, size_t n) +{ + return _call(API_SYSCB_SYSCB_ENUM, (SysCallback *)0, eventtype, n); +} +// ---------------------------------------------------------------------------- + + +// -- generated code - edit in api_syscbi.h + +// {57B7A1B6-700E-44ff-9CB0-70B92BAF3959} +static const GUID syscbApiServiceGuid = +{ 0x57b7a1b6, 0x700e, 0x44ff, { 0x9c, 0xb0, 0x70, 0xb9, 0x2b, 0xaf, 0x39, 0x59 } }; + +extern api_syscb *sysCallbackApi; + +#endif // __API_SYSCB_H diff --git a/src/MilkDrop2/Wasabi/api/syscb/callbacks/browsercb.h b/src/MilkDrop2/Wasabi/api/syscb/callbacks/browsercb.h new file mode 100644 index 0000000000..55c876a832 --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/syscb/callbacks/browsercb.h @@ -0,0 +1,11 @@ +#ifndef __WASABI_BROWSERCB_H +#define __WASABI_BROWSERCB_H + +#include + +namespace BrowserCallback { + enum { + ONOPENURL=10, + }; +}; +#endif diff --git a/src/MilkDrop2/Wasabi/api/syscb/callbacks/syscb.h b/src/MilkDrop2/Wasabi/api/syscb/callbacks/syscb.h new file mode 100644 index 0000000000..0959c80a4e --- /dev/null +++ b/src/MilkDrop2/Wasabi/api/syscb/callbacks/syscb.h @@ -0,0 +1,73 @@ +// ---------------------------------------------------------------------------- +// Generated by InterfaceFactory [Wed May 07 00:58:36 2003] +// +// File : syscb.h +// Class : SysCallback +// class layer : Dispatchable Interface +// ---------------------------------------------------------------------------- + +#ifndef __SYSCALLBACK_H +#define __SYSCALLBACK_H + +#include +#include +//#include +#include +#include + +// ---------------------------------------------------------------------------- + +class SysCallback: public Dispatchable { + protected: + SysCallback() {} + ~SysCallback() {} + public: + +public: +// -- begin generated - edit in syscbi.h +enum { // event types + NONE = 0, + RUNLEVEL = MK4CC('r','u','n','l'), // system runlevel + CONSOLE = MK3CC('c','o','n'), // debug messages + SKINCB = MK4CC('s','k','i','n'), // skin unloading/loading + DB = MK2CC('d','b'), // database change messages + WINDOW = MK3CC('w','n','d'), // window events + GC = MK2CC('g','c'), // garbage collection event + POPUPEXIT = MK4CC('p','o','p','x'), // popup exit + CMDLINE = MK4CC('c','m','d','l'), // command line sent (possibly from outside) + SYSMEM = MK4CC('s','y','s','m'), // api->sysMalloc/sysFree + SERVICE = MK3CC('s','v','c'), + BROWSER = MK3CC('u','r','l'), // browser open requests + META = MK4CC('m','e','t','a'), // metadata changes + AUTH = MK4CC('a','u','t','h'), // credentials change +}; +// -- end generated + + public: + FOURCC getEventType(); + int notify(int msg, intptr_t param1 = 0, intptr_t param2 = 0); + + protected: + enum { + SYSCALLBACK_GETEVENTTYPE = 101, + SYSCALLBACK_NOTIFY = 200, + }; +}; + +// ---------------------------------------------------------------------------- + +inline FOURCC SysCallback::getEventType() { + FOURCC __retval = _call(SYSCALLBACK_GETEVENTTYPE, (FOURCC)NULL); + return __retval; +} +#pragma warning(push) +#pragma warning(disable:4244) +inline int SysCallback::notify(int msg, intptr_t param1, intptr_t param2) { + int __retval = _call(SYSCALLBACK_NOTIFY, (int)0, msg, param1, param2); + return __retval; +} +#pragma warning(pop) + +// ---------------------------------------------------------------------------- + +#endif // __SYSCALLBACK_H diff --git a/src/MilkDrop2/Wasabi/bfc/dispatch.h b/src/MilkDrop2/Wasabi/bfc/dispatch.h new file mode 100644 index 0000000000..f14bb60a8d --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/dispatch.h @@ -0,0 +1,567 @@ +#pragma once +//#include +#include +#include + +#ifdef WIN32 +#ifndef NOVTABLE +#define NOVTABLE __declspec(novtable) +#endif +#else +#define NOVTABLE +#endif +class DispatchableCallback; + +#pragma warning(disable: 4786) +#pragma warning(disable: 4275) +#pragma warning(disable: 4100) + +enum +{ + DISPATCH_SUCCESS=0, + DISPATCH_FAILURE=1, +}; + + +class NOVTABLE Dispatchable { +public: +// // fake virtual destructor +// void destruct() { _voidcall(DESTRUCT); } + + // this is virtual so it is visible across modules + virtual int _dispatch(int msg, void *retval, void **params=0, int nparam=0)=0; + + + /* added 22 May 2007. these aren't used yet. To be used in the future + in the meantime, don't use negative numbers for your msg values */ + size_t AddRef(); + size_t Release(); + int QueryInterface(GUID interface_guid, void **object); + enum + { + ADDREF=-1, + RELEASE=-2, + QUERYINTERFACE=-3, + }; +protected: +// // protected real destructor +// ~Dispatchable() {} + // helper templates to implement client-side methods + int _voidcall(int msg) { + return _dispatch(msg, 0); + } + + template + int _voidcall(int msg, PARAM1 param1) { + void *params[1] = { ¶m1 }; + return _dispatch(msg, 0, params, 1); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2) { + void *params[2] = { ¶m1, ¶m2 }; + return _dispatch(msg, 0, params, 2); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3) { + void *params[3] = { ¶m1, ¶m2, ¶m3 }; + return _dispatch(msg, 0, params, 3); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4) { + void *params[4] = { ¶m1, ¶m2, ¶m3, ¶m4 }; + return _dispatch(msg, 0, params, 4); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5) { +// void *params[4] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5 }; // mig found another bug + void *params[5] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5 }; + return _dispatch(msg, 0, params, 5); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6) { +// void *params[4] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 }; // mig found another bug + void *params[6] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 }; + return _dispatch(msg, 0, params, 6); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7) { + void *params[7] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 }; + return _dispatch(msg, 0, params, 7); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8) { + void *params[8] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 }; + return _dispatch(msg, 0, params, 8); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9) { + void *params[9] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 , ¶m9 }; + return _dispatch(msg, 0, params, 9); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9, PARAM10 param10) { + void *params[10] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 , ¶m9 , ¶m10 }; + return _dispatch(msg, 0, params, 10); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9, PARAM10 param10, PARAM11 param11, PARAM12 param12, PARAM13 param13, PARAM14 param14) { + void *params[14] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 , ¶m9 , ¶m10 , ¶m11 , ¶m12 , ¶m13 , ¶m14 }; + return _dispatch(msg, 0, params, 14); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9, PARAM10 param10, PARAM11 param11, PARAM12 param12, PARAM13 param13, PARAM14 param14, PARAM15 param15, PARAM16 param16) { + void *params[16] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 , ¶m9 , ¶m10 , ¶m11 , ¶m12 , ¶m13 , ¶m14 , ¶m15 , ¶m16 }; + return _dispatch(msg, 0, params, 16); + } + + template + int _voidcall(int msg, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9, PARAM10 param10, PARAM11 param11, PARAM12 param12, PARAM13 param13, PARAM14 param14, PARAM15 param15, PARAM16 param16, PARAM17 param17) { + void *params[17] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 , ¶m7 , ¶m8 , ¶m9 , ¶m10 , ¶m11 , ¶m12 , ¶m13 , ¶m14 , ¶m15 , ¶m16 , ¶m17 }; + return _dispatch(msg, 0, params, 17); + } + + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval) { + RETURN_TYPE retval; + if (_dispatch(msg, &retval)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1) { + void *params[1] = { ¶m1 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 1)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2) { + void *params[2] = { ¶m1, ¶m2 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 2)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3) { + void *params[3] = { ¶m1, ¶m2, ¶m3 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 3)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4) { + void *params[4] = { ¶m1, ¶m2, ¶m3, ¶m4 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 4)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5) { + void *params[5] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 5)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6) { + void *params[6] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 6)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7) { + void *params[7] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6, ¶m7 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 7)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8) { + void *params[8] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6, ¶m7, ¶m8 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 8)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9) { + void *params[9] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6, ¶m7, ¶m8, ¶m9 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 9)) return retval; + return defval; + } + + template + RETURN_TYPE _call(int msg, RETURN_TYPE defval, PARAM1 param1, PARAM2 param2, PARAM3 param3, PARAM4 param4, PARAM5 param5, PARAM6 param6, PARAM7 param7, PARAM8 param8, PARAM9 param9, PARAM10 param10) { + void *params[10] = { ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, ¶m6, ¶m7, ¶m8, ¶m9, ¶m10 }; + RETURN_TYPE retval; + if (_dispatch(msg, &retval, params, 10)) return retval; + return defval; + } + + template + void cb(RETVAL (CLASSNAME::*fn)(), void *retval, void **params) { + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(); + } + + template + void vcb(void (CLASSNAME::*fn)(), void *retval, void **params) { + (static_cast(static_cast(this))->*fn)(); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1); + } + + template + void vcb(void (CLASSNAME::*fn)(PARAM1), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + (static_cast(static_cast(this))->*fn)(*p1); + } + + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + (static_cast(static_cast(this))->*fn)(*p1, *p2); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2); + } + + // 3 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3); + } + + // 4 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4); + } + + // 5 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5); + } + + // 6 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6); + } + + // 7 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7); + } + + // 8 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8); + } + + // 9 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9); + } + + // 10 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + PARAM10 *p10 = static_cast(params[9]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10); + } + + template + void cb(RETVAL (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + PARAM10 *p10 = static_cast(params[9]); + *static_cast(retval) = (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10); + } + + // 14 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, PARAM13, PARAM14), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + PARAM10 *p10 = static_cast(params[9]); + PARAM11 *p11 = static_cast(params[10]); + PARAM12 *p12 = static_cast(params[11]); + PARAM13 *p13 = static_cast(params[12]); + PARAM14 *p14 = static_cast(params[13]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10, *p11, *p12, *p13, *p14); + } + + // 16 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, PARAM13, PARAM14, PARAM15, PARAM16), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + PARAM10 *p10 = static_cast(params[9]); + PARAM11 *p11 = static_cast(params[10]); + PARAM12 *p12 = static_cast(params[11]); + PARAM13 *p13 = static_cast(params[12]); + PARAM14 *p14 = static_cast(params[13]); + PARAM15 *p15 = static_cast(params[14]); + PARAM16 *p16 = static_cast(params[15]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10, *p11, *p12, *p13, *p14, *p15, *p16); + } + + // 17 params + template + void vcb(void (CLASSNAME::*fn)(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, PARAM13, PARAM14, PARAM15, PARAM16, PARAM17), void *retval, void **params) { + PARAM1 *p1 = static_cast(params[0]); + PARAM2 *p2 = static_cast(params[1]); + PARAM3 *p3 = static_cast(params[2]); + PARAM4 *p4 = static_cast(params[3]); + PARAM5 *p5 = static_cast(params[4]); + PARAM6 *p6 = static_cast(params[5]); + PARAM7 *p7 = static_cast(params[6]); + PARAM8 *p8 = static_cast(params[7]); + PARAM9 *p9 = static_cast(params[8]); + PARAM10 *p10 = static_cast(params[9]); + PARAM11 *p11 = static_cast(params[10]); + PARAM12 *p12 = static_cast(params[11]); + PARAM13 *p13 = static_cast(params[12]); + PARAM14 *p14 = static_cast(params[13]); + PARAM15 *p15 = static_cast(params[14]); + PARAM16 *p16 = static_cast(params[15]); + PARAM17 *p17 = static_cast(params[16]); + (static_cast(static_cast(this))->*fn)(*p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9, *p10, *p11, *p12, *p13, *p14, *p15, *p16, *p17); + } + + + enum { DESTRUCT=0xffff }; +}; +#define CB(x, y) case (x): cb(&CBCLASS::y, retval, params); break; +#define CBT(x, y) case (x): cb(&CBCLASS::y, retval, params); break; +#define VCB(x, y) case (x): vcb(&CBCLASS::y, retval, params); break; +#define VCBT(x, y) case (x): vcb(&CBCLASS::y, retval, params); break; + +#define RECVS_DISPATCH virtual int _dispatch(int msg, void *retval, void **params=0, int nparam=0) + +#define START_DISPATCH \ + int CBCLASS::_dispatch(int msg, void *retval, void **params, int nparam) { \ + switch (msg) { +#define START_DISPATCH_INLINE \ + int _dispatch(int msg, void *retval, void **params, int nparam) { \ + switch (msg) { + +//FINISH case DESTRUCT: delete this; return 1; +#define END_DISPATCH \ + default: return 0; \ + } \ + return 1; \ + } +#define FORWARD_DISPATCH(x) \ + default: return x::_dispatch(msg, retval, params, nparam); \ + } \ + return 1; \ + } + +#define DISPATCH_CODES enum + +inline size_t Dispatchable::AddRef() +{ + return _call(Dispatchable::ADDREF, 0); +} + +inline size_t Dispatchable::Release() +{ + return _call(Dispatchable::RELEASE, 0); +} + +inline int Dispatchable::QueryInterface(GUID interface_guid, void **object) +{ + return _call(Dispatchable::QUERYINTERFACE, 0, interface_guid, object); +} + +#ifndef DECLARE_EXTERNAL_SERVICE +#define DECLARE_EXTERNAL_SERVICE(_type, _name) extern _type *_name +#endif + +#ifndef DEFINE_EXTERNAL_SERVICE +#define DEFINE_EXTERNAL_SERVICE(_type, _name) _type *_name=0 +#endif diff --git a/src/MilkDrop2/Wasabi/bfc/nsguid.h b/src/MilkDrop2/Wasabi/bfc/nsguid.h new file mode 100644 index 0000000000..6c05e8a193 --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/nsguid.h @@ -0,0 +1,33 @@ +#ifndef _NSGUID_H +#define _NSGUID_H +#include "platform/guid.h" +#include +//#include + +// Some conversion functions to allow +// us to have GUIDs translatable to and from other data types. +class nsGUID { +public: + // To the "Human Readable" character format. + // {1B3CA60C-DA98-4826-B4A9-D79748A5FD73} + static char *toChar(const GUID &guid, char *target); + static wchar_t *toCharW(const GUID &guid, wchar_t *target); + static GUID fromCharW(const wchar_t *source); + // To the "C Structure" character format. + // { 0x1b3ca60c, 0xda98, 0x4826, { 0xb4, 0xa9, 0xd7, 0x97, 0x48, 0xa5, 0xfd, 0x73 } }; + static char *toCode(const GUID &guid, char *target); + static GUID fromCode(const char *source); + + // Compare function, returns -1, 0, 1 + static int compare(const GUID &a, const GUID &b); + + // strlen("{xx xxx xxx-xxxx-xxxx-xxxx-xxx xxx xxx xxx}" + enum { GUID_STRLEN = 38 }; + +#ifdef WASABI_COMPILE_CREATEGUID + static void createGuid(GUID *g); +#endif +}; + + +#endif //_NSGUID_H diff --git a/src/MilkDrop2/Wasabi/bfc/platform/guid.h b/src/MilkDrop2/Wasabi/bfc/platform/guid.h new file mode 100644 index 0000000000..7e638c7d29 --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/platform/guid.h @@ -0,0 +1,35 @@ +#ifndef WASABI2_FOUNDATION_GUID_H +#define WASABI2_FOUNDATION_GUID_H +#pragma once + +#include "types.h" + +#if !defined(_WIN32) +#ifdef __cplusplus +#if !defined(GUID_EQUALS_DEFINED) || !defined(_SYS_GUID_OPERATOR_EQ_) +#define GUID_EQUALS_DEFINED +#include +#include +static __inline int operator ==(const GUID &a, const GUID &b) { + return !memcmp(&a, &b, sizeof(GUID)); +} +static __inline int operator !=(const GUID &a, const GUID &b) { + return !!memcmp(&a, &b, sizeof(GUID)); +} +#endif //GUID_EQUALS_DEFINED +#endif //__cplusplus +#else +#include +#endif + +#ifdef __cplusplus +static __inline int operator <(const GUID &a, const GUID &b) { + return memcmp(&a, &b, sizeof(GUID)) < 0; +} +#endif + + +static const GUID INVALID_GUID = { 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0} }; +static const GUID GENERIC_GUID = { 0xFFFFFFFF, 0xFFFF, 0xFFFF, {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} }; + +#endif diff --git a/src/MilkDrop2/Wasabi/bfc/platform/platform.h b/src/MilkDrop2/Wasabi/bfc/platform/platform.h new file mode 100644 index 0000000000..6a14967a81 --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/platform/platform.h @@ -0,0 +1,498 @@ +#pragma once + +#include +#include // for MKnCC + +#ifdef WIN32 +# include + +#define OSMODULEHANDLE HINSTANCE +#define INVALIDOSMODULEHANDLE ((OSMODULEHANDLE)0) +#define OSWINDOWHANDLE HWND +#define INVALIDOSWINDOWHANDLE ((OSWINDOWHANDLE)0) +#define OSICONHANDLE HICON +#define INVALIDOSICONHANDLE ((OSICONHANDLE)0) +#define OSCURSORHANDLE HICON +#define INVALIDOSCURSORHANDLE ((OSCURSORHANDLE)0) +#define OSTHREADHANDLE HANDLE +#define INVALIDOSTHREADHANDLE ((OSTHREADHANDLE)0) +#define OSREGIONHANDLE HRGN +#define INVALIDOSREGIONHANDLE ((OSREGIONHANDLE)0) +typedef HMENU OSMENUHANDLE; + +#define RGBA(r,g,b,a) ((ARGB32)((uint8_t)(r) | ((uint8_t)(g) << 8) | ((uint8_t)(b) << 16) | ((uint8_t)(a) << 24))) + +#ifndef PATH_MAX +#define PATH_MAX MAX_PATH +#endif + +#elif defined(LINUX) +# include +#elif defined(__APPLE__) +#include + +typedef HIShapeRef OSREGIONHANDLE; +typedef int OSCURSOR; // TODO: find a good one for this +typedef int OSCURSORHANDLE; // TODO: find a good one for this +typedef HIWindowRef OSWINDOWHANDLE; +typedef void *OSMODULEHANDLE; // TODO: +typedef CGContextRef HDC; // TODO: find a better name +typedef MenuRef OSMENUHANDLE; +typedef CGImageRef OSICONHANDLE; + +#ifdef __LITTLE_ENDIAN__ +#define RGBA(r,g,b,a) ((ARGB32)((uint8_t)(r) | ((uint8_t)(g) << 8) | ((uint8_t)(b) << 16) | ((uint8_t)(a) << 24))) +#elif defined(__BIG_ENDIAN__) +#define RGBA(r,g,b,a) ((ARGB32)((uint8_t)(a) | ((uint8_t)(r) << 8) | ((uint8_t)(g) << 16) | ((uint8_t)(b) << 24))) +#else +#error endian preprocessor symbol not defined +#endif + +#define RGB(r,g,b) RGBA(r,g,b,0xFF) + +static const HIWindowRef INVALIDOSWINDOWHANDLE = 0; // TODO: maybe there's an apple-defined name for this +#define INVALIDOSMODULEHANDLE 0 +#define INVALIDOSCURSORHANDLE 0 + +typedef char OSFNCHAR; +typedef char *OSFNSTR; + +typedef const char OSFNCCHAR; +typedef const char *OSFNCSTR; + +#define FNT(x) x + +typedef struct tagRECT +{ + int left; + int top; + int right; + int bottom; +} +RECT; +typedef RECT * LPRECT; + +inline RECT RECTFromHIRect(const HIRect *r) +{ + RECT rect; + rect.left = r->origin.x; + rect.right = r->origin.x + r->size.width; + rect.top = r->origin.y; + rect.bottom = r->origin.y + r->size.height; + return rect; +} + +inline HIRect HIRectFromRECT(const RECT *r) +{ + HIRect rect; + rect.origin.x = r->left; + rect.origin.y = r->top; + rect.size.width = r->right - r->left; + rect.size.height = r->bottom - r->top; + return rect; +} + +typedef struct tagPOINT +{ + int x; + int y; +} +POINT; +typedef struct tagPOINT * LPPOINT; + +inline HIPoint HIPointFromPOINT(const POINT *pt) +{ + HIPoint p; + p.x = pt->x; + p.y = pt->y; + return p; +} + +inline int MulDiv(int a, int b, int c) +{ + int s; + int v; + + s = 0; + if (a < 0) + { + s = !s; + a = -a; + } + if (b < 0) + { + s = !s; + b = -b; + } + if (c < 0) + { + s = !s; + c = -c; + } + double d; + d = ((double)a * (double)b) / (double)c; + if (d >= 4294967296.) + return -1; + v = d; + if (s) + v = -v; + return v; +} + +#else +#error port me +// Windows API dependant definitions for non-windows platforms + +#define __cdecl +#define __stdcall +#define WINAPI +#define WINBASEAPI +#define WINUSERAPI +#define WINGDIAPI +#define WINOLEAPI +#define CALLBACK +#define FARPROC void * + +#define FALSE 0 +#define TRUE 1 + +#define ERROR 0 + +#define CONST const +#define VOID void + +typedef unsigned long DWORD; +typedef unsigned short WORD; +typedef unsigned char BYTE; +typedef long LONG; +typedef int INT; +typedef int BOOL; +typedef short SHORT; +typedef void * PVOID; +typedef void * LPVOID; + +typedef char CHAR; +typedef unsigned short WCHAR; +typedef char * LPSTR; +typedef WCHAR * LPWSTR; +typedef const char * LPCSTR; +typedef const WCHAR * LPCWSTR; +typedef LPWSTR PTSTR, LPTSTR; +typedef LPCWSTR LPCTSTR; +typedef char TCHAR; +typedef WCHAR OLECHAR; + +typedef void * HANDLE; +typedef void * HWND; +typedef void * HDC; +typedef void * HFONT; +typedef void * HBITMAP; +typedef void * HINSTANCE; +typedef void * HICON; +typedef void * HRGN; +typedef void * HPEN; +typedef void * HBRUSH; +typedef void * HRSRC; +typedef void * HGLOBAL; +typedef void * HACCEL; +typedef void * HMODULE; +typedef void * HMENU; +typedef void * HGDIOBJ; + +typedef void * ATOM; +typedef void * CRITICAL_SECTION; +typedef void * LPCRITICAL_SECTION; + +typedef UINT WPARAM; +typedef UINT LPARAM; +typedef LONG LRESULT; +typedef UINT COLORREF; + +typedef LRESULT(*WNDPROC)(HWND, UINT, WPARAM, LPARAM); +typedef BOOL CALLBACK WNDENUMPROC(HWND, LPARAM); +typedef VOID CALLBACK *TIMERPROC(HWND, UINT, UINT, DWORD); + +typedef struct tagPOINT +{ + LONG x; + LONG y; +} +POINT; +typedef struct tagPOINT * LPPOINT; + +typedef struct tagSIZE +{ + LONG cx; + LONG cy; +} +SIZE; + + +typedef struct tagRECT +{ + LONG left; + LONG top; + LONG right; + LONG bottom; +} +RECT; +typedef RECT * LPRECT; + +typedef struct _COORD +{ + SHORT X; + SHORT Y; +} +COORD, *PCOORD; + +typedef struct tagPAINTSTRUCT +{ + HDC hdc; + BOOL fErase; + RECT rcPaint; + BOOL fRestore; + BOOL fIncUpdate; + BYTE rgbReserved[32]; +} +PAINTSTRUCT; + +typedef struct tagBITMAP +{ /* bm */ + int bmType; + int bmWidth; + int bmHeight; + int bmWidthBytes; + BYTE bmPlanes; + BYTE bmBitsPixel; + LPVOID bmBits; +} +BITMAP; + +typedef struct tagRGBQUAD +{ + BYTE rgbRed; + BYTE rgbGreen; + BYTE rgbBlue; + BYTE rgbReserved; +} +RGBQUAD; + +typedef struct tagBITMAPINFOHEADER +{ + DWORD biSize; + LONG biWidth; + LONG biHeight; + WORD biPlanes; + WORD biBitCount; + DWORD biCompression; + DWORD biSizeImage; + LONG biXPelsPerMeter; + LONG biYPelsPerMeter; + DWORD biClrUsed; + DWORD biClrImportant; +} +BITMAPINFOHEADER; + +typedef struct tagBITMAPINFO +{ + BITMAPINFOHEADER bmiHeader; + RGBQUAD bmiColors[1]; +} +BITMAPINFO, *LPBITMAPINFO; + +typedef struct tagMSG +{ + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; +} +MSG; + +typedef MSG * LPMSG; + +typedef struct _RGNDATAHEADER +{ + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECT rcBound; +} +RGNDATAHEADER, *PRGNDATAHEADER; + +typedef struct _RGNDATA +{ + RGNDATAHEADER rdh; + char Buffer[1]; +} +RGNDATA, *PRGNDATA; + +// Windows messages + +#define WM_SYSCOMMAND 0x112 +#define WM_LBUTTONDOWN 0x201 +#define WM_LBUTTONUP 0x202 +#define WM_RBUTTONDOWN 0x204 +#define WM_RBUTTONUP 0x205 + +#define WM_USER 0x400 + +#define WS_EX_TOOLWINDOW 0x00000080L + +#define WS_OVERLAPPED 0x00000000L +#define WS_MAXIMIZEBOX 0x00010000L +#define WS_MINIMIZEBOX 0x00020000L +#define WS_SYSMENU 0x00080000L +#define WS_CAPTION 0x00C00000L +#define WS_CLIPCHILDREN 0x02000000L +#define WS_CLIPSIBLINGS 0x04000000L +#define WS_VISIBLE 0x10000000L +#define WS_CHILD 0x40000000L +#define WS_POPUP 0x80000000L + +#define HWND_TOP ((HWND)0) +#define HWND_TOPMOST ((HWND)-1) +#define HWND_NOTOPMOST ((HWND)-2) + +#define GWL_STYLE (-16) + +#define GW_HWNDFIRST 0 +#define GW_HWNDNEXT 2 + +#define SWP_NOMOVE 0x0002 +#define SWP_NOSIZE 0x0001 +#define SWP_SHOWWINDOW 0x0040 +#define SWP_DEFERERASE 0x2000 +#define SWP_NOZORDER 0x0004 +#define SWP_NOACTIVATE 0x0010 + +#define SW_SHOW 5 + +#define SC_MINIMIZE 0xF020 +#define SC_MAXIMIZE 0xF030 +#define SC_RESTORE 0xF120 + +#define GCL_HICONSM (-34) +#define GCL_HICON (-14) + +#define MB_OK 0 +#define MB_OKCANCEL 1 +#define MB_TASKMODAL 0x2000L + +#define IDOK 1 +#define IDCANCEL 2 + +#define VK_SHIFT 0x10 +#define VK_CONTROL 0x11 +#define VK_MENU 0x12 + +#define RT_RCDATA 10 + +#define IMAGE_BITMAP 0 + +#define LR_LOADFROMFILE 0x0010 + +#define DIB_RGB_COLORS 0 + +#define MAX_PATH 1024 +#define _MAX_PATH MAX_PATH +#define _MAX_DRIVE 3 +#define _MAX_DIR 256 +#define _MAX_FNAME 256 +#define _MAX_EXT 256 + +#define GMEM_FIXED 0x0 +#define GMEM_ZEROINIT 0x40 +#define GPTR (GMEM_FIXED | GMEM_ZEROINIT) + +#define SPI_GETWORKAREA 48 + +#define SM_CXDOUBLECLK 36 +#define SM_CYDOUBLECLK 37 + +#define COLORONCOLOR 3 + +#define SRCCOPY (DWORD)0x00CC0020 + +#define BI_RGB 0L + +#define NULLREGION 1 + +#define DT_LEFT 0x00000000 +#define DT_CENTER 0x00000001 +#define DT_RIGHT 0x00000002 +#define DT_VCENTER 0x00000004 +#define DT_WORDBREAK 0x00000010 +#define DT_SINGLELINE 0x00000020 +#define DT_CALCRECT 0x00000400 +#define DT_NOPREFIX 0x00000800 +#define DT_PATH_ELLIPSIS 0x00004000 +#define DT_END_ELLIPSIS 0x00008000 +#define DT_MODIFYSTRING 0x00010000 + +#define FW_NORMAL 400 +#define FW_BOLD 700 + +#define FF_DONTCARE (0<<4) + +#define BLACK_BRUSH 4 +#define NULL_BRUSH 5 + +#define PS_SOLID 0 +#define PS_DOT 2 + +#define TRANSPARENT 1 +#define OPAQUE 2 + +#define ANSI_CHARSET 0 +#define ANSI_VAR_FONT 12 + +#define OUT_DEFAULT_PRECIS 0 +#define CLIP_DEFAULT_PRECIS 0 + +#define PROOF_QUALITY 2 + +#define VARIABLE_PITCH 2 + +#define RGN_AND 1 +#define RGN_OR 2 +#define RGN_DIFF 4 +#define RGN_COPY 5 + +#define RDH_RECTANGLES 1 + +#define MAXLONG 0x7fffffff + +// define GUID +#include + +#endif /* not WIN32 */ + +#include +#include +//#ifdef __cplusplus +//#include +//#else +//#include +//#endif +#include + + +#ifdef WIN32 +#define OSPIPE HANDLE +#define OSPROCESSID int +#endif + +// Ode macro keyworkds +#define DISPATCH_ // makes a method dispatchable, automatically assigns a free ID (requires Interface) +#define DISPATCH(x) // makes a method dispatchable and specifies its ID (not duplicate check, requires Interface) +#define NODISPATCH // prevents a method from being dispatched if the class is marked for dispatching by default +#define EVENT // marks a method as being an event to which other classes can connect to receive notification (used by Script and DependentItem helpers) +#define SCRIPT // exposes a method to script interfaces (requires Script helper) +#define IN // Input parameter +#define OUT // Output parameter +#define INOUT // Input/Output parameter + diff --git a/src/MilkDrop2/Wasabi/bfc/platform/types.h b/src/MilkDrop2/Wasabi/bfc/platform/types.h new file mode 100644 index 0000000000..494af8a49b --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/platform/types.h @@ -0,0 +1,94 @@ +#pragma once +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +// first, some standard int types +typedef unsigned int UINT; +typedef signed int SINT; + +typedef unsigned char UCHAR; +typedef signed char SCHAR; + +typedef unsigned long ARGB32; +typedef unsigned long RGB32; + +typedef unsigned long ARGB24; +typedef unsigned long RGB24; + +typedef unsigned short ARGB16; +typedef unsigned short RGB16; + +typedef unsigned long FOURCC; + +typedef wchar_t nsxml_char_t; +typedef wchar_t ns_char_t; +typedef wchar_t nsfilename_char_t; + +typedef int socklen_t; + +#if defined(_WIN32) && !defined(__GNUC__) +#include +#if _MSC_VER >= 1600 +#include +#else + // since windows doesn't have stdint.h + typedef unsigned __int64 uint64_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int8 uint8_t; + typedef __int64 int64_t; + typedef __int32 int32_t; + typedef __int16 int16_t; + typedef __int8 int8_t; +#ifdef _M_IX86 + typedef int64_t intptr2_t; +#else if defined(_M_IX64) + typedef unsigned __int128 uint128_t; + typedef __int128 int128_t; + typedef int128_t intptr2_t +#endif +#endif +#else +#include +#include +#include +#endif + + #ifndef GUID_DEFINED + #define GUID_DEFINED + + typedef struct _GUID + { + uint32_t Data1; + uint16_t Data2; + uint16_t Data3; + uint8_t Data4[8]; + } GUID; +/* +#ifndef _REFCLSID_DEFINED +#define REFGUID const GUID & +#define _REFCLSID_DEFINED +#endif +*/ +#endif + +// this is for GUID == and != +#include +#ifndef GUID_EQUALS_DEFINED + #define GUID_EQUALS_DEFINED +#endif + + typedef SSIZE_T ssize_t; +#ifdef NULL + #undef NULL +#endif +#ifndef NULL + #define NULL 0 +#endif + +#ifdef _WIN32_WCE +typedef int intptr_t; +#endif diff --git a/src/MilkDrop2/Wasabi/bfc/platform/win32.h b/src/MilkDrop2/Wasabi/bfc/platform/win32.h new file mode 100644 index 0000000000..fe4939fc84 --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/platform/win32.h @@ -0,0 +1,32 @@ +#pragma once + +#ifndef WIN32 +#error this file is only for win32 +#endif + + +// this should be the *only* place windows.h gets included! +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#ifndef _WIN32_WCE +#include +#endif + +#if defined(_MSC_VER) // msvc +# define WASABIDLLEXPORT __declspec(dllexport) +# if _MSC_VER >= 1100 +# define NOVTABLE __declspec(novtable) +# endif +#endif + + + +#define OSPIPE HANDLE + + +typedef WCHAR OSFNCHAR; +typedef LPWSTR OSFNSTR; +typedef LPCWSTR OSFNCSTR; + diff --git a/src/MilkDrop2/Wasabi/bfc/std_mkncc.h b/src/MilkDrop2/Wasabi/bfc/std_mkncc.h new file mode 100644 index 0000000000..113e464d51 --- /dev/null +++ b/src/MilkDrop2/Wasabi/bfc/std_mkncc.h @@ -0,0 +1,11 @@ +#ifndef _STD_MKNCC +#define _STD_MKNCC + +// note: this is endian-incompatible with win32's MAKEFOURCC +// otoh, it shows up nicely in a debug register ;) + +#define MK4CC(a, b, c, d) ( (((unsigned long)a)<<24)|(((unsigned long)b)<<16)|(((unsigned long)c)<<8)|((unsigned long)d) ) +#define MK3CC(b, c, d) ( (((unsigned long)b)<<16)|(((unsigned long)c)<<8)|((unsigned long)d) ) +#define MK2CC(c, d) ( (((unsigned long)c)<<8)|((unsigned long)d) ) + +#endif diff --git a/src/MilkDrop2/Winamp/VIS.H b/src/MilkDrop2/Winamp/VIS.H new file mode 100644 index 0000000000..d841405ca1 --- /dev/null +++ b/src/MilkDrop2/Winamp/VIS.H @@ -0,0 +1,94 @@ +#ifndef NULLSOFT_VISH +#define NULLSOFT_VISH +// Visualization plugin interface + +typedef struct winampVisModule { + char *description; // description of module + HWND hwndParent; // parent window (filled in by calling app) + HINSTANCE hDllInstance; // instance handle to this DLL (filled in by calling app) + int sRate; // sample rate (filled in by calling app) + int nCh; // number of channels (filled in...) + int latencyMs; // latency from call of RenderFrame to actual drawing + // (calling app looks at this value when getting data) + int delayMs; // delay between calls in ms + + // the data is filled in according to the respective Nch entry + int spectrumNch; + int waveformNch; + unsigned char spectrumData[2][576]; + unsigned char waveformData[2][576]; + + void (__cdecl *Config)(struct winampVisModule *this_mod); // configuration dialog + int (__cdecl *Init)(struct winampVisModule *this_mod); // 0 on success, creates window, etc + int (__cdecl *Render)(struct winampVisModule *this_mod); // returns 0 if successful, 1 if vis should end + void (__cdecl *Quit)(struct winampVisModule *this_mod); // call when done + + void *userData; // user data, optional +} winampVisModule; + +typedef struct { + int version; // VID_HDRVER + char *description; // description of library + winampVisModule* (__cdecl *getModule)(int); +} winampVisHeader; + +// exported symbols +#ifdef USE_VIS_HDR_HWND +typedef winampVisHeader* (__cdecl *winampVisGetHeaderType)(HWND); + +// version of current module (0x102 == 1.02) +#define VIS_HDRVER 0x102 + +#else +typedef winampVisHeader* (__cdecl *winampVisGetHeaderType)(); + +// version of current module (0x101 == 1.01) +#define VIS_HDRVER 0x101 + +#endif + +// Version note: +// +// Updated to 1.02 for 5.36+ +// Added passing of Winamp's main hwnd in the call to the exported winampVisGetHeader() +// which allows for primarily the use of localisation features with the bundled plugins. +// If you want to use the new version then either you can edit you version of vis.h or +// you can add USE_VIS_HRD_HWND to your project's defined list or before use of vis.h +// + +// Miscellaneous notes: +// * Any window that remains in foreground should optimally pass keystrokes to the parent +// (Winamp's) window, so that the user can still control it unless escape is pressed or +// some option key specific to the visualization is pressed. +// * Storing configuration can be done any where though it's recommended to use the api +// IPC_GETINIDIRECTORY as the basis of the path to save things to e.g. INIDIR\plugins\plugin.ini +// * ints are 32 bits and structure members are aligned on the default 8 byte boundaries. + +// These are the return values to be used with the uninstall plugin export function: +// __declspec(dllexport) int __cdecl winampUninstallPlugin(HINSTANCE hDllInst, HWND hwndDlg, int param) +// which determines if Winamp can uninstall the plugin immediately or on winamp restart. +// If this is not exported then Winamp will assume an uninstall with reboot is the only way. +// Note: visualization plugins are always uninstalled without a reboot (unlike other plugin types). +// +#define VIS_PLUGIN_UNINSTALL_NOW 0x0 +// +// Uninstall support was added from 5.0+ and uninstall now support from 5.5+ though note +// that it is down to you to ensure that if uninstall now is returned that it will not +// cause a crash i.e. don't use if you've been subclassing the main window. +// +// The HWND passed in the calling of winampUninstallPlugin(..) is the preference page HWND. +// + +// For a vis plugin to be correctly detected by Winamp you need to ensure that +// the exported winampVisGetHeader(..) is exported as an undecorated function +// e.g. +// #ifdef __cplusplus +// extern "C" { +// #endif +// __declspec(dllexport) winampVisHeader * __cdecl winampVisGetHeader(){ return &plugin; } +// #ifdef __cplusplus +// } +// #endif +// + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/Winamp/wa_ipc.h b/src/MilkDrop2/Winamp/wa_ipc.h new file mode 100644 index 0000000000..f938f7cd42 --- /dev/null +++ b/src/MilkDrop2/Winamp/wa_ipc.h @@ -0,0 +1,2967 @@ +/* +** Copyright (C) 1997-2013 Nullsoft, Inc. +** +** This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held +** liable for any damages arising from the use of this software. +** +** Permission is granted to anyone to use this software for any purpose, including commercial applications, and to +** alter it and redistribute it freely, subject to the following restrictions: +** +** 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. +** If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +** +** 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +** +** 3. This notice may not be removed or altered from any source distribution. +** +*/ + +#ifndef _WA_IPC_H_ +#define _WA_IPC_H_ + +#include +#include +#if (_MSC_VER <= 1200) +typedef int intptr_t; +#endif +/* +** This is the modern replacement for the classic 'frontend.h'. Most of these +** updates are designed for in-process use, i.e. from a plugin. +** +*/ + +/* Most of the IPC_* messages involve sending the message in the form of: +** result = SendMessage(hwnd_winamp,WM_WA_IPC,(parameter),IPC_*); +** Where different then this is specified (typically with WM_COPYDATA variants) +** +** When you use SendMessage(hwnd_winamp,WM_WA_IPC,(parameter),IPC_*) and specify a IPC_* +** which is not currently implemented/supported by the Winamp version being used then it +** will return 1 for 'result'. This is a good way of helping to check if an api being +** used which returns a function pointer, etc is even going to be valid. +*/ + + +#define WM_WA_IPC WM_USER +/* but some of them use WM_COPYDATA. be afraid. +*/ + +#define WINAMP_VERSION_MAJOR(winampVersion) ((winampVersion & 0x0000FF00) >> 12) +#define WINAMP_VERSION_MINOR(winampVersion) (winampVersion & 0x000000FF) // returns, i.e. 0x12 for 5.12 and 0x10 for 5.1... + + +#define IPC_GETVERSION 0 +/* int version = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION); +** +** The version returned will be 0x20yx for Winamp 2.yx. +** Versions previous to Winamp 2.0 typically (but not always) use 0x1zyx for 1.zx. +** Just a bit weird but that's the way it goes. +** +** For Winamp 5.x it uses the format 0x50yx for Winamp 5.yx +** e.g. 5.01 -> 0x5001 +** 5.09 -> 0x5009 +** 5.1 -> 0x5010 +** +** Notes: For 5.02 this api will return the same value as for a 5.01 build. +** For 5.07 this api will return the same value as for a 5.06 build. +*/ + + +#define IPC_GETVERSIONSTRING 1 + + +#define IPC_GETREGISTEREDVERSION 770 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETREGISTEREDVERSION); +** +** This will open the Winamp Preferences and show the Winamp Pro page. +*/ + + +#define IPC_IS_SAFEMODE 999 +/* (requires Winamp 5.7+) +** int res = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_IS_SAFEMODE); +** +** This will indicate if running in safe mode or not (only applies to native plugins). +** This returns: +** 0 if in safe mode +** 1 if in normal mode +** 2 if in safe mode and media library plug-ins are to be disabled +** +** Safe mode is used to disable 3rd party plugins to determine if they are the cause +** of stability issues and crashes for users experiencing issues without having to +** first remove plug-in dlls which is often found 'too hard' to do properly most times. +*/ + + +typedef struct { + const char *filename; + const char *title; + int length; +} enqueueFileWithMetaStruct; // send this to a IPC_PLAYFILE in a non WM_COPYDATA, +// and you get the nice desired result. if title is NULL, it is treated as a "thing", +// otherwise it's assumed to be a file (for speed) + +typedef struct { + const wchar_t *filename; + const wchar_t *title; + int length; +} enqueueFileWithMetaStructW; + +#define IPC_PLAYFILE 100 // dont be fooled, this is really the same as enqueufile +#define IPC_ENQUEUEFILE 100 +#define IPC_PLAYFILEW 1100 +#define IPC_ENQUEUEFILEW 1100 +/* This is sent as a WM_COPYDATA with IPC_PLAYFILE as the dwData member and the string +** of the file / playlist to be enqueued into the playlist editor as the lpData member. +** This will just enqueue the file or files since you can use this to enqueue a playlist. +** It will not clear the current playlist or change the playback state. +** +** COPYDATASTRUCT cds = {0}; +** cds.dwData = IPC_ENQUEUEFILE; +** cds.lpData = (void*)"c:\\test\\folder\\test.mp3"; +** cds.cbData = lstrlen((char*)cds.lpData)+1; // include space for null char +** SendMessage(hwnd_winamp,WM_COPYDATA,0,(LPARAM)&cds); +** +** +** With 2.9+ and all of the 5.x versions you can send this as a normal WM_WA_IPC +** (non WM_COPYDATA) with an enqueueFileWithMetaStruct as the param. +** If the title member is null then it is treated as a "thing" otherwise it will be +** assumed to be a file (for speed). +** +** enqueueFileWithMetaStruct eFWMS = {0}; +** eFWMS.filename = "c:\\test\\folder\\test.mp3"; +** eFWMS.title = "Whipping Good"; +** eFWMS.length = 300; // this is the number of seconds for the track +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&eFWMS,IPC_ENQUEUEFILE); +*/ + + +#define IPC_DELETE 101 +#define IPC_DELETE_INT 1101 +/* SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_DELETE); +** Use this api to clear Winamp's internal playlist. +** You should not need to use IPC_DELETE_INT since it is used internally by Winamp when +** it is dealing with some lame Windows Explorer issues (hard to believe that!). +*/ + + +#define IPC_STARTPLAY 102 +#define IPC_STARTPLAY_INT 1102 +/* SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_STARTPLAY); +** Sending this will start playback and is almost the same as hitting the play button. +** The IPC_STARTPLAY_INT version is used internally and you should not need to use it +** since it won't be any fun. +*/ + + +#define IPC_CHDIR 103 +/* This is sent as a WM_COPYDATA type message with IPC_CHDIR as the dwData value and the +** directory you want to change to as the lpData member. +** +** COPYDATASTRUCT cds = {0}; +** cds.dwData = IPC_CHDIR; +** cds.lpData = (void*)"c:\\download"; +** cds.cbData = lstrlen((char*)cds.lpData)+1; // include space for null char +** SendMessage(hwnd_winamp,WM_COPYDATA,0,(LPARAM)&cds); +** +** The above example will make Winamp change to the directory 'C:\download'. +*/ + + +#define IPC_ISPLAYING 104 +/* int res = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISPLAYING); +** This is sent to retrieve the current playback state of Winamp. +** If it returns 1, Winamp is playing. +** If it returns 3, Winamp is paused. +** If it returns 0, Winamp is not playing. +*/ + + +#define IPC_GETOUTPUTTIME 105 +/* int res = SendMessage(hwnd_winamp,WM_WA_IPC,mode,IPC_GETOUTPUTTIME); +** This api can return two different sets of information about current playback status. +** +** If mode = 0 then it will return the position (in ms) of the currently playing track. +** Will return -1 if Winamp is not playing. +** +** If mode = 1 then it will return the current track length (in seconds). +** Will return -1 if there are no tracks (or possibly if Winamp cannot get the length). +** +** If mode = 2 then it will return the current track length (in milliseconds). +** Will return -1 if there are no tracks (or possibly if Winamp cannot get the length). +*/ + + +#define IPC_JUMPTOTIME 106 +/* (requires Winamp 1.60+) +** SendMessage(hwnd_winamp,WM_WA_IPC,ms,IPC_JUMPTOTIME); +** This api sets the current position (in milliseconds) for the currently playing song. +** The resulting playback position may only be an approximate time since some playback +** formats do not provide exact seeking e.g. mp3 +** This returns -1 if Winamp is not playing, 1 on end of file, or 0 if it was successful. +*/ + + +#define IPC_GETMODULENAME 109 +#define IPC_EX_ISRIGHTEXE 666 +/* usually shouldnt bother using these, but here goes: +** send a WM_COPYDATA with IPC_GETMODULENAME, and an internal +** flag gets set, which if you send a normal WM_WA_IPC message with +** IPC_EX_ISRIGHTEXE, it returns whether or not that filename +** matches. lame, I know. +*/ + + +#define IPC_WRITEPLAYLIST 120 +/* (requires Winamp 1.666+) +** int cur = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_WRITEPLAYLIST); +** +** IPC_WRITEPLAYLIST will write the current playlist to winamp.m3u and on unicode clients +** it will also write the current playlist to winamp.m3u8. This will also return the +** current playlist position (see IPC_GETLISTPOS). +** +** Where the playlist(s) are saved to depends on the Winamp client version used though it +** is simple to find the path using the correct location (when working in-process): +** +** Pre 2.90 -> '\\Winamp.m3u' +** From 2.90 to 5.1 -> Use IPC_GETINIDIRECTORY +** From 5.11 -> Use IPC_GETM3UDIRECTORY +** +** If working from an external program then it is possible to work out the location of the +** playlist by reading relevant values out of paths.ini (if found) otherwise the pre 2.90 +** behaviour is what will be attempted to be used (as Winamp does if there is any failure). +** +** This is kinda obsoleted by some of the newer 2.x api items but it still is good for +** use with a front-end program (instead of a plug-in) and you want to see what is in the +** current playlist. +** +** This api will only save out extended file information in the #EXTINF entry if Winamp +** has already read the data such as if the file was played of scrolled into view. If +** Winamp has not read the data then you will only find the file with its filepath entry +** (as is the base requirements for a m3u playlist). +*/ + + +#define IPC_SETPLAYLISTPOS 121 +/* (requires Winamp 2.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,position,IPC_SETPLAYLISTPOS) +** IPC_SETPLAYLISTPOS sets the playlist position to the specified 'position'. +** It will not change playback status or anything else. It will just set the current +** position in the playlist and will update the playlist view if necessary. +** +** If you use SendMessage(hwnd_winamp,WM_COMMAND,MAKEWPARAM(WINAMP_BUTTON2,0),0); +** after using IPC_SETPLAYLISTPOS then Winamp will start playing the file at 'position'. +*/ + + +#define IPC_SETVOLUME 122 +/* (requires Winamp 2.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,volume,IPC_SETVOLUME); +** IPC_SETVOLUME sets the volume of Winamp (between the range of 0 to 255). +** +** If you pass 'volume' as -666 then the message will return the current volume. +** int curvol = SendMessage(hwnd_winamp,WM_WA_IPC,-666,IPC_SETVOLUME); +*/ + + +#define IPC_GETVOLUME(hwnd_winamp) SendMessage(hwnd_winamp,WM_WA_IPC,-666,IPC_SETVOLUME) +/* (requires Winamp 2.0+) +** int curvol = IPC_GETVOLUME(hwnd_winamp); +** This will return the current volume of Winamp (between the range of 0 to 255). +*/ + + +#define IPC_SETPANNING 123 +#define IPC_SETBALANCE 123 +/* (requires Winamp 2.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,panning,IPC_SETPANNING); +** IPC_SETPANNING sets the panning of Winamp from 0 (left) to 255 (right). +** +** At least in 5.x+ this works from -127 (left) to 127 (right). +** +** If you pass 'panning' as -666 to this api then it will return the current panning. +** int curpan = SendMessage(hwnd_winamp,WM_WA_IPC,-666,IPC_SETPANNING); +*/ + + +#define IPC_GETPANNING(hwnd_winamp) SendMessage(hwnd_winamp,WM_WA_IPC,-666,IPC_SETPANNING) +#define IPC_GETBALANCE(hwnd_winamp) SendMessage(hwnd_winamp,WM_WA_IPC,-666,IPC_SETBALANCE) +/* (requires Winamp 2.0+) +** int curpan = IPC_GETPANNING(hwnd_winamp); +** This will return the current panning level of Winamp (5.x) from -127 (left) to 127 (right) +** or from 0 (left) to 255 (right) on older client versions. +*/ + + +#define IPC_GETLISTLENGTH 124 +/* (requires Winamp 2.0+) +** int length = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTLENGTH); +** IPC_GETLISTLENGTH returns the length of the current playlist as the number of tracks. +*/ + + +#define IPC_GETLISTPOS 125 +/* (requires Winamp 2.05+) +** int pos=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTPOS); +** IPC_GETLISTPOS returns the current playlist position (which is shown in the playlist +** editor as a differently coloured text entry e.g is yellow for the classic skin). +** +** This api is a lot like IPC_WRITEPLAYLIST but a lot faster since it does not have to +** write out the whole of the current playlist first. +*/ + + +#define IPC_GETNEXTLISTPOS 136 +/* (requires Winamp 5.61+) +** int pos=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETNEXTLISTPOS); +** IPC_GETNEXTLISTPOS returns the next playlist position expected to be played from the +** current playlist and allows for determining the next playlist item to be played even +** if shuffle mode (see IPC_GET_SHUFFLE) is enabled at the time of using this api. +** +** If there is no known next playlist item then this will return -1 i.e. if there's only +** one playlist item or at the end of the current playlist and repeat is disabled. +** +** Notes: If a plug-in (like the JTFE plug-in) uses IPC_GET_NEXT_PLITEM to override the +** playlist order then you will need to query the plug-in directly (via api_queue +** for the JTFE plug-in) to get the correct next playlist item to be played. +** +** If a change is made to the internal shuffle table, the value returned by prior +** use of this api is likely to be different and so will need to be re-queried. +** +** The returned playlist item position is zero-based. +*/ + + +#define IPC_GETINFO 126 +/* (requires Winamp 2.05+) +** int inf=SendMessage(hwnd_winamp,WM_WA_IPC,mode,IPC_GETINFO); +** IPC_GETINFO returns info about the current playing song. The value +** it returns depends on the value of 'mode'. +** Mode Meaning +** ------------------ +** 0 Samplerate, in kilohertz (i.e. 44) +** 1 Bitrate (i.e. 128) +** 2 Channels (i.e. 2) +** 3 (5+) Video LOWORD=w HIWORD=h +** 4 (5+) > 65536, string (video description) +** 5 (5.25+) Samplerate, in hertz (i.e. 44100) +*/ + + +#define IPC_GETEQDATA 127 +/* (requires Winamp 2.05+) +** int data=SendMessage(hwnd_winamp,WM_WA_IPC,pos,IPC_GETEQDATA); +** IPC_GETEQDATA queries the status of the EQ. +** The value returned depends on what 'pos' is set to: +** Value Meaning +** ------------------ +** 0-9 The 10 bands of EQ data. 0-63 (+20db - -20db) +** 10 The preamp value. 0-63 (+20db - -20db) +** 11 Enabled. zero if disabled, nonzero if enabled. +** 12 Autoload. zero if disabled, nonzero if enabled. +*/ + + +#define IPC_SETEQDATA 128 +/* (requires Winamp 2.05+) +** SendMessage(hwnd_winamp,WM_WA_IPC,pos,IPC_GETEQDATA); +** SendMessage(hwnd_winamp,WM_WA_IPC,value,IPC_SETEQDATA); +** IPC_SETEQDATA sets the value of the last position retrieved +** by IPC_GETEQDATA. This is pretty lame, and we should provide +** an extended version that lets you do a MAKELPARAM(pos,value). +** someday... + + new (2.92+): + if the high byte is set to 0xDB, then the third byte specifies + which band, and the bottom word specifies the value. +*/ + + +#define IPC_ADDBOOKMARK 129 +#define IPC_ADDBOOKMARKW 131 +/* (requires Winamp 2.4+) +** This is sent as a WM_COPYDATA using IPC_ADDBOOKMARK as the dwData value and the +** directory you want to change to as the lpData member. This will add the specified +** file / url to the Winamp bookmark list. +** +** COPYDATASTRUCT cds = {0}; +** cds.dwData = IPC_ADDBOOKMARK; +** cds.lpData = (void*)"http://www.blah.com/listen.pls"; +** cds.cbData = lstrlen((char*)cds.lpData)+1; // include space for null char +** SendMessage(hwnd_winamp,WM_COPYDATA,0,(LPARAM)&cds); +** +** +** In Winamp 5.0+ we use this as a normal WM_WA_IPC and the string is null separated as +** the filename and then the title of the entry. +** +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(char*)"filename\0title\0",IPC_ADDBOOKMARK); +** +** This will notify the library / bookmark editor that a bookmark was added. +** Note that using this message in this context does not actually add the bookmark. +** Do not use, it is essentially just a notification type message :) +** +** Additional Notes: +** +** If IPC_ADDBOOKMARK is called with wParam as zero then it returns the bookmark filepath +** as an ansi string. +** +** As of 5.58+, calling IPC_ADDBOOKMARKW with wParam as zero will return the bookmark +** filepath as a unicode string and IPC_ADDBOOKMARK will behave as prior to 5.58. +** Passing wParam as 666 will return the winamp.bm8 filepath and is valid for both apis. +*/ + + +#define IPC_INSTALLPLUGIN 130 +/* This is not implemented (and is very unlikely to be done due to safety concerns). +** If it was then you could do a WM_COPYDATA with a path to a .wpz and it would then +** install the plugin for you. +** +** COPYDATASTRUCT cds = {0}; +** cds.dwData = IPC_INSTALLPLUGIN; +** cds.lpData = (void*)"c:\\path\\to\\file.wpz"; +** cds.cbData = lstrlen((char*)cds.lpData)+1; // include space for null char +** SendMessage(hwnd_winamp,WM_COPYDATA,0,(LPARAM)&cds); +*/ + + +#define IPC_RESTARTWINAMP 135 +/* (requires Winamp 2.2+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_RESTARTWINAMP); +** IPC_RESTARTWINAMP will restart Winamp (isn't that obvious ? :) ) +** If this fails to make Winamp start after closing then there is a good chance one (or +** more) of the currently installed plugins caused Winamp to crash on exit (either as a +** silent crash or a full crash log report before it could call itself start again. +*/ + + +#define IPC_RESTARTSAFEWINAMP 1135 +/* (requires Winamp 5.7+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_RESTARTSAFEWINAMP); +** IPC_RESTARTSAFEWINAMP will restart Winamp (isn't that obvious ? :) ) in safe mode. +** If this fails to make Winamp start after closing then there is a good chance one (or +** more) of the currently installed plugins caused Winamp to crash on exit (either as a +** silent crash or a full crash log report before it could call itself start again. +*/ + + +#define IPC_ISFULLSTOP 400 +/* (requires winamp 2.7+ I think) +** int ret=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISFULLSTOP); +** This is useful for when you're an output plugin and you want to see if the stop/close +** happening is a full stop or if you are just between tracks. This returns zero if it is +** a full stop (such as the user pressing stop) or non-zero if it is just the end of a +** file or other internal events. +*/ + + +#define IPC_INETAVAILABLE 242 +/* (requires Winamp 2.05+) +** int val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_INETAVAILABLE); +** IPC_INETAVAILABLE will return 1 if an Internet connection is available for Winamp and +** relates to the internet connection type setting on the main general preferences page +** in the Winamp preferences. +*/ + + +#define IPC_UPDTITLE 243 +/* (requires Winamp 2.2+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_UPDTITLE); +** IPC_UPDTITLE will ask Winamp to update the information about the current title and +** causes GetFileInfo(..) in the input plugin associated with the current playlist entry +** to be called. This can be called such as when an input plugin is buffering a file so +** that it can cause the buffer percentage to appear in the playlist. +*/ + + +#define IPC_REFRESHPLCACHE 247 +/* (requires Winamp 2.2+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_REFRESHPLCACHE); +** IPC_REFRESHPLCACHE will flush the playlist cache buffer and you send this if you want +** Winamp to go refetch the titles for all of the entries in the current playlist. +** +** 5.3+: +** If you pass a wchar_t * string in wParam then it will be be found using strnicmp() and +** the cache for that entry only will be cleared unlike passing nothing which clears all. +*/ + + +#define IPC_GET_SHUFFLE 250 +/* (requires Winamp 2.4+) +** int val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_SHUFFLE); +** IPC_GET_SHUFFLE returns the status of the shuffle option. +** If set then it will return 1 and if not set then it will return 0. +*/ + + +#define IPC_GET_REPEAT 251 +/* (requires Winamp 2.4+) +** int val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_REPEAT); +** IPC_GET_REPEAT returns the status of the repeat option. +** If set then it will return 1 and if not set then it will return 0. +*/ + + +#define IPC_SET_SHUFFLE 252 +/* (requires Winamp 2.4+) +** SendMessage(hwnd_winamp,WM_WA_IPC,value,IPC_SET_SHUFFLE); +** IPC_SET_SHUFFLE sets the status of the shuffle option. +** If 'value' is 1 then shuffle is turned on. +** If 'value' is 0 then shuffle is turned off. +*/ + + +#define IPC_SET_REPEAT 253 +/* (requires Winamp 2.4+) +** SendMessage(hwnd_winamp,WM_WA_IPC,value,IPC_SET_REPEAT); +** IPC_SET_REPEAT sets the status of the repeat option. +** If 'value' is 1 then shuffle is turned on. +** If 'value' is 0 then shuffle is turned off. +*/ + + +#define IPC_ENABLEDISABLE_ALL_WINDOWS 259 // 0xdeadbeef to disable +/* (requires Winamp 2.9+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(enable?0:0xdeadbeef),IPC_ENABLEDISABLE_ALL_WINDOWS); +** Sending this message with 0xdeadbeef as the param will disable all winamp windows and +** any other values will enable all of the Winamp windows again. When disabled you won't +** get any response on clicking or trying to do anything to the Winamp windows. If the +** taskbar icon is shown then you may still have control ;) +*/ + + +#define IPC_GETWND 260 +/* (requires Winamp 2.9+) +** HWND h=SendMessage(hwnd_winamp,WM_WA_IPC,IPC_GETWND_xxx,IPC_GETWND); +** returns the HWND of the window specified. +*/ + #define IPC_GETWND_EQ 0 // use one of these for the param + #define IPC_GETWND_PE 1 + #define IPC_GETWND_MB 2 + #define IPC_GETWND_VIDEO 3 +#define IPC_ISWNDVISIBLE 261 // same param as IPC_GETWND + + +/************************************************************************ +***************** in-process only (WE LOVE PLUGINS) +************************************************************************/ + +#define IPC_SETSKINW 199 +#define IPC_SETSKIN 200 +/* (requires Winamp 2.04+, only usable from plug-ins (not external apps)) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)"skinname",IPC_SETSKIN); +** IPC_SETSKIN sets the current skin to "skinname". Note that skinname +** can be the name of a skin, a skin .zip file, with or without path. +** If path isn't specified, the default search path is the winamp skins +** directory. +*/ + + +#define IPC_GETSKIN 201 +#define IPC_GETSKINW 1201 +/* (requires Winamp 2.04+, only usable from plug-ins (not external apps)) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)skinname_buffer,IPC_GETSKIN); +** IPC_GETSKIN puts the directory where skin bitmaps can be found +** into skinname_buffer. +** skinname_buffer must be MAX_PATH characters in length. +** When using a .zip'd skin file, it'll return a temporary directory +** where the ZIP was decompressed. +*/ + + +#define IPC_EXECPLUG 202 +/* (requires Winamp 2.04+, only usable from plug-ins (not external apps)) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)"vis_file.dll",IPC_EXECPLUG); +** IPC_EXECPLUG executes a visualization plug-in pointed to by WPARAM. +** the format of this string can be: +** "vis_whatever.dll" +** "vis_whatever.dll,0" // (first mod, file in winamp plug-in dir) +** "C:\\dir\\vis_whatever.dll,1" +*/ + + +#define IPC_GETPLAYLISTFILE 211 +#define IPC_GETPLAYLISTFILEW 214 +/* (requires Winamp 2.04+, only usable from plug-ins (not external apps)) +** char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTFILE); +** IPC_GETPLAYLISTFILE gets the filename of the playlist entry [index]. +** returns a pointer to it. returns NULL on error. +*/ + + +#define IPC_GETPLAYLISTTITLE 212 +#define IPC_GETPLAYLISTTITLEW 213 +/* (requires Winamp 2.04+, only usable from plug-ins (not external apps)) +** char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTTITLE); +** +** IPC_GETPLAYLISTTITLE gets the title of the playlist entry [index]. +** returns a pointer to it. returns NULL on error. +*/ + + +#define IPC_GETHTTPGETTER 240 +/* retrieves a function pointer to a HTTP retrieval function. +** if this is unsupported, returns 1 or 0. +** the function should be: +** int (*httpRetrieveFile)(HWND hwnd, char *url, char *file, char *dlgtitle); +** if you call this function, with a parent window, a URL, an output file, and a dialog title, +** it will return 0 on successful download, 1 on error. +*/ + + +#define IPC_GETHTTPGETTERW 1240 +/* int (*httpRetrieveFileW)(HWND hwnd, char *url, wchar_t *file, wchar_t *dlgtitle); */ + + +#define IPC_MBOPEN 241 +/* (requires Winamp 2.05+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_MBOPEN); +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)url,IPC_MBOPEN); +** IPC_MBOPEN will open a new URL in the minibrowser. if url is NULL, it will open the Minibrowser window. +*/ + + +#define IPC_CHANGECURRENTFILE 245 +/* (requires Winamp 2.05+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)file,IPC_CHANGECURRENTFILE); +** IPC_CHANGECURRENTFILE will set the current playlist item. +*/ + + +#define IPC_CHANGECURRENTFILEW 1245 +/* (requires Winamp 5.3+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)file,IPC_CHANGECURRENTFILEW); +** IPC_CHANGECURRENTFILEW will set the current playlist item. +*/ + + +#define IPC_GETMBURL 246 +/* (requires Winamp 2.2+) +** char buffer[4096]; // Urls can be VERY long +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)buffer,IPC_GETMBURL); +** IPC_GETMBURL will retrieve the current Minibrowser URL into buffer. +** buffer must be at least 4096 bytes long. +*/ + + +#define IPC_MBBLOCK 248 +/* (requires Winamp 2.4+) +** SendMessage(hwnd_winamp,WM_WA_IPC,value,IPC_MBBLOCK); +** +** IPC_MBBLOCK will block the Minibrowser from updates if value is set to 1 +*/ + + +#define IPC_MBOPENREAL 249 +/* (requires Winamp 2.4+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)url,IPC_MBOPENREAL); +** +** IPC_MBOPENREAL works the same as IPC_MBOPEN except that it will works even if +** IPC_MBBLOCK has been set to 1 +*/ + + +#define IPC_ADJUST_OPTIONSMENUPOS 280 +/* (requires Winamp 2.9+) +** int newpos=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)adjust_offset,IPC_ADJUST_OPTIONSMENUPOS); +** This moves where Winamp expects the Options menu to be in the main menu. +** This is useful if you wish to insert a menu item above the options/skins/vis menus for a window. +** If you pass adjust_offset as zero then it will return the current offset without adjusting it. +*/ + + +#define IPC_GET_HMENU 281 +/* (requires Winamp 2.9+) +** HMENU hMenu=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)0,IPC_GET_HMENU); +** +** For 2.9x installs the following values are valid: +** 0 : main popup menu (mapped to -1 in 5.x installs) +** 1 : main menubar file menu +** 2 : main menubar options menu +** 3 : main menubar windows menu +** 4 : main menubar help menu +** +** For 5.x client versions the following values are valid (changed due to Modern skin support): +** -1 : the main winamp menu resource (same as doing LoadMenu(winamp_module_or_lng_file,101) +** 0 : main popup menu +** 1 : main menubar file menu +** 2 : main menubar play menu +** 3 : main menubar options menu +** 4 : main menubar windows menu +** 5 : main menubar windows help +** 6 : playlist editor menubar file menu +** 7 : playlist editor menubar playlist menu +** 8 : playlist editor menubar sort menu +** 9 : media library menubar file menu +** 10 : media library menubar view menu +** +** In all client versions, unsupported values will return NULL. +** +** e.g. (psuedo code to add an item to the end of the main window 'view' menu) +** HMENU windows_menu = (HMENU)SendMessage(hwnd_winamp,WM_WA_IPC,4,IPC_GET_HMENU); +** if(windows_menu) +** { +** // WA_MENUITEM_ID is obtained from IPC_REGISTER_WINAMP_IPCMESSAGE or a predefined +** // value if that api is not supported on the client version you are working with. +** +** int window_visible = 1; // this would be updated as needed for the window view state +** MENUITEMINFO i = {sizeof(i), MIIM_ID | MIIM_STATE | MIIM_TYPE, MFT_STRING, +** window_visible ? MFS_CHECKED : 0, WA_MENUITEM_ID}; +** i.dwTypeData = "My Menu Item"; +** InsertMenuItem(windows_menu, GetMenuItemCount(windows_menu), TRUE, &i); +** } +*/ + + +#define IPC_GET_EXTENDED_FILE_INFO 290 //pass a pointer to the following struct in wParam +#define IPC_GET_EXTENDED_FILE_INFO_HOOKABLE 296 +/* (requires Winamp 2.9+) +** to use, create an extendedFileInfoStruct, point the values filename and metadata to the +** filename and metadata field you wish to query, and ret to a buffer, with retlen to the +** length of that buffer, and then SendMessage(hwnd_winamp,WM_WA_IPC,&struct,IPC_GET_EXTENDED_FILE_INFO); +** the results should be in the buffer pointed to by ret. +** returns 1 if the decoder supports a getExtendedFileInfo method +*/ +typedef struct { + const char *filename; + const char *metadata; + char *ret; + size_t retlen; +} extendedFileInfoStruct; + + +#define IPC_GET_BASIC_FILE_INFO 291 //pass a pointer to the following struct in wParam +typedef struct { + const char *filename; + + int quickCheck; // set to 0 to always get, 1 for quick, 2 for default (if 2, quickCheck will be set to 0 if quick wasnot used) + + // filled in by winamp + int length; + char *title; + int titlelen; +} basicFileInfoStruct; + + +#define IPC_GET_BASIC_FILE_INFOW 1291 //pass a pointer to the following struct in wParam +typedef struct { + const wchar_t *filename; + + int quickCheck; // set to 0 to always get, 1 for quick, 2 for default (if 2, quickCheck will be set to 0 if quick wasnot used) + + // filled in by winamp + int length; + wchar_t *title; + int titlelen; +} basicFileInfoStructW; + + +#define IPC_GET_EXTLIST 292 //returns doublenull delimited. GlobalFree() it when done. if data is 0, returns raw extlist, if 1, returns something suitable for getopenfilename +#define IPC_GET_EXTLISTW 1292 // wide char version of above + + +typedef struct { + HWND parent; + char *filename; +} infoBoxParam; + +#define IPC_INFOBOX 293 +/* (requires Winamp 5.0+) +** infoBoxParam infoBox = {parent_hwnd,"c:\\test\\folder\\test.mp3"}; +** int ret_val = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&infoBox,IPC_INFOBOX); +** +** ret_val is 0 if OK was pressed and is 1 if CANCEL was pressed +** The standard behaviour is to abort any loops used with this api if a cancel occurs. +*/ + + +typedef struct { + HWND parent; + const wchar_t *filename; +} infoBoxParamW; + +#define IPC_INFOBOXW 1293 +/* (requires Winamp 5.3+) +** infoBoxParamW infoBoxW = {parent_hwnd,L"c:\\test\\folder\\test.mp3"}; +** int ret_val = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&infoBoxW,IPC_INFOBOXW); +** +** ret_val is 0 if OK was pressed and is 1 if CANCEL was pressed +** The standard behaviour is to abort any loops used with this api if a cancel occurs. +*/ + + +#define IPC_SET_EXTENDED_FILE_INFO 294 //pass a pointer to the a extendedFileInfoStruct in wParam +/* (requires Winamp 2.9+) +** to use, create an extendedFileInfoStruct, point the values filename and metadata to the +** filename and metadata field you wish to write in ret. (retlen is not used). and then +** SendMessage(hwnd_winamp,WM_WA_IPC,&struct,IPC_SET_EXTENDED_FILE_INFO); +** returns 1 if the metadata is supported +** Call IPC_WRITE_EXTENDED_FILE_INFO once you're done setting all the metadata you want to update +*/ + + +#define IPC_WRITE_EXTENDED_FILE_INFO 295 +/* (requires Winamp 2.9+) +** writes all the metadata set thru IPC_SET_EXTENDED_FILE_INFO to the file +** returns 1 if the file has been successfully updated, 0 if error +*/ + + +#define IPC_FORMAT_TITLE 297 +typedef struct +{ + char *spec; // NULL=default winamp spec + void *p; + + char *out; + int out_len; + + char * (*TAGFUNC)(const char * tag, void * p); //return 0 if not found + void (*TAGFREEFUNC)(char * tag,void * p); +} waFormatTitle; + + +#define IPC_FORMAT_TITLE_EXTENDED 298 // similiar to IPC_FORMAT_TITLE, but falls back to Winamp's %tags% if your passed tag function doesn't handle it +typedef struct +{ + const wchar_t *filename; + int useExtendedInfo; // set to 1 if you want the Title Formatter to query the input plugins for any tags that your tag function fails on + const wchar_t *spec; // NULL=default winamp spec + void *p; + + wchar_t *out; + int out_len; + + wchar_t * (*TAGFUNC)(const wchar_t * tag, void * p); //return 0 if not found, -1 for empty tag + void (*TAGFREEFUNC)(wchar_t *tag, void *p); +} waFormatTitleExtended; + + +#define IPC_COPY_EXTENDED_FILE_INFO 299 +typedef struct +{ + const char *source; + const char *dest; +} copyFileInfoStruct; + + +#define IPC_COPY_EXTENDED_FILE_INFOW 1299 +typedef struct +{ + const wchar_t *source; + const wchar_t *dest; +} copyFileInfoStructW; + + +typedef struct { + int (*inflateReset)(void *strm); + int (*inflateInit_)(void *strm,const char *version, int stream_size); + int (*inflate)(void *strm, int flush); + int (*inflateEnd)(void *strm); + unsigned long (*crc32)(unsigned long crc, const unsigned char *buf, unsigned int len); +} wa_inflate_struct; + +#define IPC_GETUNCOMPRESSINTERFACE 331 +/* returns a function pointer to uncompress(). +** int (*uncompress)(unsigned char *dest, unsigned long *destLen, const unsigned char *source, unsigned long sourceLen); +** right out of zlib, useful for decompressing zlibbed data. +** if you pass the parm of 0x10100000, it will return a wa_inflate_struct * to an inflate API. +*/ + + +typedef struct _prefsDlgRec { + HINSTANCE hInst; // dll instance containing the dialog resource + int dlgID; // resource identifier of the dialog + void *proc; // window proceedure for handling the dialog defined as + // LRESULT CALLBACK PrefsPage(HWND,UINT,WPARAM,LPARAM) + + char *name; // name shown for the prefs page in the treelist + intptr_t where; // section in the treelist the prefs page is to be added to + // 0 for General Preferences + // 1 for Plugins + // 2 for Skins + // 3 for Bookmarks (no longer in the 5.0+ prefs) + // 4 for Prefs (the old 'Setup' section - no longer in 5.0+) + + intptr_t _id; + struct _prefsDlgRec *next; // no longer implemented as a linked list, now used by Winamp for other means +} prefsDlgRec; + +typedef struct _prefsDlgRecW { + HINSTANCE hInst; // dll instance containing the dialog resource + int dlgID; // resource identifier of the dialog + void *proc; // window proceedure for handling the dialog defined as + // LRESULT CALLBACK PrefsPage(HWND,UINT,WPARAM,LPARAM) + + wchar_t *name; // name shown for the prefs page in the treelist + intptr_t where; // section in the treelist the prefs page is to be added to + // 0 for General Preferences + // 1 for Plugins + // 2 for Skins + // 3 for Bookmarks (no longer in the 5.0+ prefs) + // 4 for Prefs (the old 'Setup' section - no longer in 5.0+) + + intptr_t _id; + struct _prefsDlgRec *next; // no longer implemented as a linked list, now used by Winamp for other means +} prefsDlgRecW; + +#define IPC_ADD_PREFS_DLG 332 +#define IPC_ADD_PREFS_DLGW 1332 +#define IPC_REMOVE_PREFS_DLG 333 +#define IPC_UPDATE_PREFS_DLG 342 +#define IPC_UPDATE_PREFS_DLGW 1342 +/* (requires Winamp 2.9+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_ADD_PREFS_DLG); +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_REMOVE_PREFS_DLG); +** +** IPC_ADD_PREFS_DLG: +** To use this you need to allocate a prefsDlgRec structure (either on the heap or with +** some global data but NOT on the stack) and then initialise the members of the structure +** (see the definition of the prefsDlgRec structure above). +** +** hInst - dll instance of where the dialog resource is located. +** dlgID - id of the dialog resource. +** proc - dialog window procedure for the prefs dialog. +** name - name of the prefs page as shown in the preferences list. +** where - see above for the valid locations the page can be added. +** +** Then you do SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_ADD_PREFS_DLG); +** +** example: +** +** prefsDlgRec* prefsRec = 0; +** prefsRec = GlobalAlloc(GPTR,sizeof(prefsDlgRec)); +** prefsRec->hInst = hInst; +** prefsRec->dlgID = IDD_PREFDIALOG; +** prefsRec->name = "Pref Page"; +** prefsRec->where = 0; +** prefsRec->proc = PrefsPage; +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_ADD_PREFS_DLG); +** +** +** IPC_REMOVE_PREFS_DLG: +** To use you pass the address of the same prefsRec you used when adding the prefs page +** though you shouldn't really ever have to do this but it's good to clean up after you +** when you're plugin is being unloaded. +** +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_REMOVE_PREFS_DLG); +** +** IPC_ADD_PREFS_DLGW +** requires Winamp 5.53+ +** +** IPC_UPDATE_PREFS_DLG +** IPC_UPDATE_PREFS_DLGW +** requires Winamp 5.7+ +*/ + + +#define IPC_OPENPREFSTOPAGE 380 +/* SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&prefsRec,IPC_OPENPREFSTOPAGE); +** +** There are two ways of opening a preferences page. +** +** The first is to pass an id of a builtin preferences page (see below for ids) or a +** &prefsDlgRec of the preferences page to open and this is normally done if you are +** opening a prefs page you added yourself. +** +** If the page id does not or the &prefsRec is not valid then the prefs dialog will be +** opened to the first page available (usually the Winamp Pro page). +** +** (requires Winamp 5.04+) +** Passing -1 for param will open the preferences dialog to the last page viewed. +** +** Note: v5.0 to 5.03 had a bug in this api +** +** On the first call then the correct prefs page would be opened to but on the next call +** the prefs dialog would be brought to the front but the page would not be changed to the +** specified. +** In 5.04+ it will change to the prefs page specified if the prefs dialog is already open. +*/ + +/* Builtin Preference page ids (valid for 5.0+) +** (stored in the lParam member of the TVITEM structure from the tree item) +** +** These can be useful if you want to detect a specific prefs page and add things to it +** yourself or something like that ;) +** +** Winamp Pro 20 +** General Preferences 0 +** File Types 1 +** Playlist 23 +** Titles 21 +** Playback 42 (added in 5.25) +** Station Info 41 (added in 5.11 & removed in 5.5) +** Video 24 +** Localization 25 (added in 5.5) +** Skins 40 +** Classic Skins 22 +** Plugins 30 +** Input 31 +** Output 32 +** Visualisation 33 +** DSP/Effect 34 +** General Purpose 35 +** +** Note: +** Custom page ids begin from 60 +** The value of the normal custom pages (Global Hotkeys, Jump To File, etc) is not +** guaranteed since it depends on the order in which the plugins are loaded which can +** change on different systems. +** +** Global Hotkeys, Jump To File, Media Library (under General Preferences and child pages), +** Media Library (under Plugins), Portables, CD Ripping and Modern Skins are custom pages +** created by the plugins shipped with Winamp. +*/ + + +#define IPC_GETINIFILE 334 +/* (requires Winamp 2.9+) +** char *ini=(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIFILE); +** This returns a pointer to the full file path of winamp.ini. +** +** char ini_path[MAX_PATH] = {0}; +** +** void GetIniFilePath(HWND hwnd){ +** if(SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION) >= 0x2900){ +** // this gets the string of the full ini file path +** lstrcpynA(ini_path,(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIFILE),sizeof(ini_path)); +** } +** else{ +** char* p = ini_path; +** p += GetModuleFileNameA(0,ini_path,sizeof(ini_path)) - 1; +** while(p && *p != '.' && p != ini_path){p = CharPrevA(ini_path,p);} +** lstrcpynA(p+1,"ini",sizeof(ini_path)); +** } +** } +*/ + + +#define IPC_GETINIFILEW 1334 +/* (requires Winamp 5.58+) +** wchar_t *ini=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIFILEW); +** This returns a pointer to the full file path of winamp.ini. +** +** wchar_t ini_path[MAX_PATH] = {0}; +** +** void GetIniFilePath(HWND hwnd){ +** if(SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION) >= 0x5058){ +** // this gets the string of the full ini file path +** lstrcpynW(ini_path,(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIFILEW),sizeof(ini_path)); +** } +** else{ +** wchar_t* p = ini_path; +** p += GetModuleFileNameW(0,ini_path,sizeof(ini_path)) - 1; +** while(p && *p != '.' && p != ini_path){p = CharPrevW(ini_path,p);} +** lstrcpynW(p+1,L"ini",sizeof(ini_path)); +** } +** } +** +** IPC_GETINIFILEW requires 5.58+ +*/ + + +#define IPC_GETINIDIRECTORY 335 +/* (requires Winamp 2.9+) +** char *dir=(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIDIRECTORY); +** This returns a pointer to the directory where winamp.ini can be found and is +** useful if you want store config files but you don't want to use winamp.ini. +*/ + + +#define IPC_GETINIDIRECTORYW 1335 +/* (requires Winamp 5.58+) +** wchar_t *dir=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINIDIRECTORYW); +** This returns a pointer to the directory where winamp.ini can be found and is +** useful if you want store config files but you don't want to use winamp.ini. +*/ + + +#define IPC_GETPLUGINDIRECTORY 336 +/* (requires Winamp 5.11+) +** char *plugdir=(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETPLUGINDIRECTORY); +** This returns a pointer to the directory where Winamp has its plugins stored and is +** useful if you want store config files in plugins.ini in the plugins folder or for +** accessing any local files in the plugins folder. +*/ + + +#define IPC_GETPLUGINDIRECTORYW 1336 +/* (requires Winamp 5.58+) +** wchar_t *plugdir=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETPLUGINDIRECTORYW); +** This returns a pointer to the directory where Winamp has its plugins stored and is +** useful if you want store config files in plugins.ini in the plugins folder or for +** accessing any local files in the plugins folder. +*/ + + +#define IPC_GETM3UDIRECTORY 337 +/* (requires Winamp 5.11+) +** char *m3udir=(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETM3UDIRECTORY); +** This returns a pointer to the directory where winamp.m3u (and winamp.m3u8 if supported) is stored in. +*/ + + +#define IPC_GETM3UDIRECTORYW 338 +/* (requires Winamp 5.3+) +** wchar_t *m3udirW=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETM3UDIRECTORYW); +** This returns a pointer to the directory where winamp.m3u (and winamp.m3u8 if supported) is stored in. +*/ + + +#define IPC_GETVISDIRECTORYW 339 +/* (requires Winamp 5.58+) +** wchar_t *visdir=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVISDIRECTORYW); +** This returns a pointer to the directory set to load/store visualization plugins from. +** +** This can otherwise be obtained by reading the "VISDir" entry in the winamp section of +** winamp.ini which if null then you need to assume \plugins +*/ + + +#define IPC_GETSKINDIRECTORYW 340 +/* (requires Winamp 5.58+) +** wchar_t *skindir=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETSKINDIRECTORYW); +** This returns a pointer to the directory set to load/store installed skins from. +** +** This can otherwise be obtained by reading the "SkinDir" entry in the winamp section of +** winamp.ini which if null then you need to assume \skins +*/ + + +#define IPC_GETDSPDIRECTORYW 341 +/* (requires Winamp 5.58+) +** wchar_t *dspdir=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETDSPDIRECTORYW); +** This returns a pointer to the directory set to load/store installed DSP/effect plugins from. +** +** This can otherwise be obtained by reading the "DSPDir" entry in the winamp section of +** winamp.ini which if null then you need to assume \plugins +*/ + + +#define IPC_SPAWNBUTTONPOPUP 361 // param = +// 0 = eject +// 1 = previous +// 2 = next +// 3 = pause +// 4 = play +// 5 = stop + + +#define IPC_OPENURLBOX 360 +/* (requires Winamp 5.0+) +** HGLOBAL hglobal = (HGLOBAL)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)parent,IPC_OPENURLBOX); +** You pass a hwnd for the dialog to be parented to (which modern skin support uses). +** This will return a HGLOBAL that needs to be freed with GlobalFree() if this worked. +*/ + + +#define IPC_OPENFILEBOX 362 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)parent,IPC_OPENFILEBOX); +** You pass a hwnd for the dialog to be parented to (which modern skin support uses). +*/ + + +#define IPC_OPENDIRBOX 363 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)parent,IPC_OPENDIRBOX); +** You pass a hwnd for the dialog to be parented to (which modern skin support uses). +*/ + + +#define IPC_SETDIALOGBOXPARENT 364 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)parent,IPC_SETDIALOGBOXPARENT); +** Pass 'parent' as the window which will be used as the parent for a number of the built +** in Winamp dialogs and is useful when you are taking over the whole of the UI so that +** the dialogs will not appear at the bottom right of the screen since the main winamp +** window is located at 3000x3000 by gen_ff when this is used. Call this again with +** parent = null to reset the parent back to the orginal Winamp window. +*/ + + +#define IPC_GETDIALOGBOXPARENT 365 +/* (requires Winamp 5.51+) +** HWND hwndParent = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)0,IPC_GETDIALOGBOXPARENT); +** hwndParent can / must be passed to all modal dialogs/MessageBoxes when using Winamp as a parent. +*/ + + +#define IPC_UPDATEDIALOGBOXPARENT 366 +/* (requires Winamp 5.53+) +** If you previously called IPC_SETDIALOGBOXPARENT then call this every time your window resizes. +*/ + + +#define IPC_DRO_MIN 401 // reserved for DrO + +#define IPC_SET_JTF_COMPARATOR 409 +/* (requires Winamp 5.2+) +/* pass me an int (__cdecl *)(const char *, const char *) in wParam +** If this is not set or if it is cleared then Winamp reverts to it's own comparator. +** It is not until Winamp 5.33+ that passing wParam=0 or another function will allow +** for it to be changed from what was set on the first calling of this api. +*/ + +#define IPC_SET_JTF_COMPARATOR_W 410 +/* (requires Winamp 5.55+) +** pass me an int (__cdecl *)(const wchar_t *, const wchar_t *) in wParam +** If this is not set or if it is cleared then Winamp will revert to the +** IPC_SET_JTF_COMPARATOR handler or the native search function if not set. +*/ + +#define IPC_SET_JTF_DRAWTEXT 416 + +#define IPC_DRO_MAX 499 + + +// pass 0 for a copy of the skin HBITMAP +// pass 1 for name of font to use for playlist editor likeness +// pass 2 for font charset +// pass 3 for font size +#define IPC_GET_GENSKINBITMAP 503 + + +#ifdef __cplusplus +class ifc_window; +#endif + +typedef struct embedWindowState embedWindowState; + +#define FFC_CREATEEMBED 0 // param = (LPARAM)(ifc_window*)windowParent; return 1 to terminate creation. +#define FFC_DESTROYEMBED 1 + +typedef int (CALLBACK *FFCALLBACK)(embedWindowState* /*windowState*/, INT /*eventId*/, LPARAM /*param*/); + +typedef struct embedWindowState +{ + HWND me; //hwnd of the window + + #define EMBED_FLAGS_NORESIZE 0x1 + // set this bit to keep window from being resizable + + #define EMBED_FLAGS_NOTRANSPARENCY 0x2 + // set this bit to make gen_ff turn transparency off for this window + + #define EMBED_FLAGS_NOWINDOWMENU 0x4 + // set this bit to prevent gen_ff from automatically adding your window to the right-click menu + + #define EMBED_FLAGS_GUID 0x8 + // (5.31+) call SET_EMBED_GUID(yourEmbedWindowStateStruct, GUID) to define a GUID for this window + + #define EMBED_FLAGS_FFCALLBACK 0x10 + // 5.55+ + + #define SET_EMBED_GUID(windowState, windowGUID) { windowState->flags |= EMBED_FLAGS_GUID; *((GUID *)&windowState->extra_data[4])=windowGUID; } + #define GET_EMBED_GUID(windowState) (*((GUID *)&windowState->extra_data[4])) + + int flags; // see above + + RECT r; + void *user_ptr; // for application use + + union + { + #pragma warning(push) + #pragma warning(disable:4201) + #pragma pack(push, 1) + struct + { + struct embedWindowState *link; + intptr_t attached; + intptr_t padding1[2]; //2-3 + GUID guid; // 4-7 + #ifdef _WIN64 + intptr_t guidpadding; + #endif + FFCALLBACK callback; // MAKSIM UPDATE HERE + intptr_t padding2[52]; // 9-60 + intptr_t hostcount; // 61 + intptr_t reparenting; // 62 + #ifdef __cplusplus + ifc_window *wasabi_window; + #else + void *wasabi_window; // ifc_window * + #endif + }; + #pragma warning(pop) + #pragma pack(pop) + intptr_t extra_data[64]; // for internal winamp use + }; +} embedWindowState; + + +#define IPC_GET_EMBEDIF 505 +/* (requires Winamp 2.9+) +** HWND myframe = (HWND)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&wa_wnd,IPC_GET_EMBEDIF); +** +** or +** +** HWND myframe = 0; +** HWND (*embed)(embedWindowState *params)=0; +** *(void**)&embed = (void*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_EMBEDIF); +** myframe = embed(&wa_wnd); +** +** You pass an embedWindowState* and it will return a hwnd for the frame window or if you +** pass wParam as null then it will return a HWND embedWindow(embedWindowState *); +** +** Embed window can send notification to the first child. +** Notifications will come in form of WM_NOTIFY. +** Notifications: +*/ + +#define EWN_FIRST (0) + +typedef struct __EMBEDSHOW +{ + NMHDR hdr; + BOOL fShow; + UINT nStatus; +} EMBEDSHOW; + +#define EWN_SHOWWINDOW (EWN_FIRST + 0) // lParam = (LPARAM)(EMBEDSHOW*)pnmh. This is preffered way to show hide your chold window + +#define IPC_SKINWINDOW 534 + +#define SWF_NORESIZE EMBED_FLAGS_NORESIZE +#define SWF_NOTRANSPARENCY EMBED_FLAGS_NOTRANSPARENCY +#define SWF_NOWINDOWMENU EMBED_FLAGS_NOWINDOWMENU + +typedef struct __SKINWINDOWPARAM +{ + INT cbSize; // sizeof(SKINWINDOWPARAM) + HWND hwndToSkin; + GUID windowGuid; + UINT flagsEx; + FFCALLBACK callbackFF; +} SKINWINDOWPARAM; + + +typedef struct embedEnumStruct +{ + int (*enumProc)(embedWindowState *ws, struct embedEnumStruct *param); // return 1 to abort + int user_data; // or more :) +} embedEnumStruct; // pass +#define IPC_EMBED_ENUM 532 +/* (requires Winamp 2.9+) +*/ + + +#define IPC_EMBED_ISVALID 533 +/* (requires Winamp 2.9+) +** int valid = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)embedhwnd,IPC_EMBED_ISVALID); +** Pass a hwnd in the wParam to this to check if the hwnd is a valid embed window or not. +*/ + + +#define IPC_CONVERTFILE 506 +/* (requires Winamp 2.92+) +** Converts a given file to a different format (PCM, MP3, etc...) +** To use, pass a pointer to a waFileConvertStruct struct +** This struct can be either on the heap or some global +** data, but NOT on the stack. At least, until the conversion is done. +** +** eg: SendMessage(hwnd_winamp,WM_WA_IPC,&myConvertStruct,IPC_CONVERTFILE); +** +** Return value: +** 0: Can't start the conversion. Look at myConvertStruct->error for details. +** 1: Conversion started. Status messages will be sent to the specified callbackhwnd. +** Be sure to call IPC_CONVERTFILE_END when your callback window receives the +** IPC_CB_CONVERT_DONE message. +*/ +#ifdef __cplusplus +class ifc_audiostream; +class AudioCoder; +#else +typedef void *ifc_audiostream; +typedef void *AudioCoder; +#endif +typedef struct +{ + char *sourcefile; // "c:\\source.mp3" + char *destfile; // "c:\\dest.pcm" + intptr_t destformat[8]; // like 'PCM ',srate,nch,bps. + //hack alert! you can set destformat[6]=mmioFOURCC('I','N','I',' '); and destformat[7]=(int)my_ini_file; (where my_ini_file is a char*) + HWND callbackhwnd; // window that will receive the IPC_CB_CONVERT notification messages + + //filled in by winamp.exe + char *error; //if IPC_CONVERTFILE returns 0, the reason will be here + + int bytes_done; //you can look at both of these values for speed statistics + int bytes_total; + int bytes_out; + + int killswitch; // don't set it manually, use IPC_CONVERTFILE_END + /* everything below is for internal use */ + ifc_audiostream *decoder; // for internal winamp use + HANDLE convert_thread; + HANDLE file_handle; + AudioCoder *audio_coder; + HMODULE encoder_mod; + int bps; + int channels; + int sample_rate; + intptr_t extra_data[56]; // for future use +} convertFileStruct; + + +#define IPC_CONVERTFILEW 515 +// (requires Winamp 5.36+) + +typedef struct +{ + wchar_t *sourcefile; // "c:\\source.mp3" + wchar_t *destfile; // "c:\\dest.pcm" + intptr_t destformat[8]; // like 'PCM ',srate,nch,bps. + //hack alert! you can set destformat[6]=mmioFOURCC('I','N','I',' '); and destformat[7]=(int)my_ini_file; (where my_ini_file is a char*) + HWND callbackhwnd; // window that will receive the IPC_CB_CONVERT notification messages + + //filled in by winamp.exe + wchar_t *error; //if IPC_CONVERTFILE returns 0, the reason will be here + + int bytes_done; //you can look at both of these values for speed statistics + int bytes_total; + int bytes_out; + + int killswitch; // don't set it manually, use IPC_CONVERTFILE_END + /* everything below is for internal use */ + ifc_audiostream *decoder; // for internal winamp use + HANDLE convert_thread; + HANDLE file_handle; + AudioCoder *audio_coder; + HMODULE encoder_mod; + int bps; + int channels; + int sample_rate; + intptr_t extra_data[56]; // for future use +} convertFileStructW; + + +#define IPC_CONVERTFILE_END 507 +/* (requires Winamp 2.92+) +** Stop/ends a convert process started from IPC_CONVERTFILE +** You need to call this when you receive the IPC_CB_CONVERTDONE message or when you +** want to abort a conversion process +** +** eg: SendMessage(hwnd_winamp,WM_WA_IPC,&myConvertStruct,IPC_CONVERTFILE_END); +** +** No return value +*/ + + +#define IPC_CONVERTFILEW_END 516 +// (requires Winamp 5.36+) + + +typedef struct { + HWND hwndParent; + int format; + + //filled in by winamp.exe + HWND hwndConfig; + int extra_data[8]; + //hack alert! you can set extra_data[6]=mmioFOURCC('I','N','I',' '); and extra_data[7]=(int)my_ini_file; (where my_ini_file is a char*) +} convertConfigStruct; + +#define IPC_CONVERT_CONFIG 508 +#define IPC_CONVERT_CONFIG_END 509 + + +typedef struct +{ + void (*enumProc)(intptr_t user_data, const char *desc, int fourcc); + intptr_t user_data; +} converterEnumFmtStruct; + +#define IPC_CONVERT_CONFIG_ENUMFMTS 510 +/* (requires Winamp 2.92+) +*/ + + +typedef struct +{ + char cdletter; + char *playlist_file; + HWND callback_hwnd; + + //filled in by winamp.exe + char *error; +} burnCDStruct; +#define IPC_BURN_CD 511 +/* (requires Winamp 5.0+) +*/ + + +typedef struct +{ + convertFileStruct *cfs; + int priority; +} convertSetPriority; + +#define IPC_CONVERT_SET_PRIORITY 512 + + +typedef struct +{ + convertFileStructW *cfs; + int priority; +} convertSetPriorityW; + +#define IPC_CONVERT_SET_PRIORITYW 517 +// (requires Winamp 5.36+) + + +#define IPC_CONVERT_TEST 518 +/* requires Winamp 5.55+ +* pass a convertFileStructW and it will verify that you are able to transcode +* checks: +* - valid input file +* - valid destination format / encoder type (including winamp pro authorization for mp3) +* - valid destination file (not that as a side-effect, this function will create a 0 byte destination file!) +*/ + + +typedef struct +{ + unsigned int format; //fourcc value + char *item; // config item, eg "bitrate" + char *data; // buffer to recieve, or buffer that contains the data + int len; // length of the data buffer (only used when getting a config item) + char *configfile; // config file to read from +} convertConfigItem; + +#define IPC_CONVERT_CONFIG_SET_ITEM 513 // returns TRUE if successful +#define IPC_CONVERT_CONFIG_GET_ITEM 514 // returns TRUE if successful + + +typedef struct +{ + const char *filename; + char *title; // 2048 bytes + int length; + int force_useformatting; // can set this to 1 if you want to force a url to use title formatting shit +} waHookTitleStruct; + +#define IPC_HOOK_TITLES 850 +/* (requires Winamp 5.0+) +** If you hook this message and modify the information then make sure to return TRUE. +** If you don't hook the message then make sure you pass it on through the subclass chain. +** +** LRESULT CALLBACK WinampWndProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) +** { +** LRESULT ret = CallWindowProc((WNDPROC)WinampProc,hwnd,umsg,wParam,lParam); +** +** if(message==WM_WA_IPC && lParam==IPC_HOOK_TITLES) +** { +** waHookTitleStruct *ht = (waHookTitleStruct *) wParam; +** // Doing ATF stuff with ht->title, whatever... +** return TRUE; +** } +** return ret; +** } +*/ + + +typedef struct +{ + const wchar_t *filename; + wchar_t *title; // 2048 characters + int length; + int force_useformatting; // can set this to 1 if you want to force a url to use title formatting shit +} waHookTitleStructW; + +#define IPC_HOOK_TITLESW 851 +/* (requires Winamp 5.3+) +** See information on IPC_HOOK_TITLES for how to process this. +*/ + + +#define IPC_GETSADATAFUNC 800 +/* (requires Winamp 5.0+) +** = SendMessage(hwnd_winamp,WM_WA_IPC,param,IPC_GETSADATAFUNC); +** where param can be 0 , 1 or 2. A param == 2 is meant to replace param == 0 as of 5.5+ +** +** void (*export_sa_setreq)(int want); +** *(void **)&export_sa_setreq=(void *)SendMessage(hwnd_winamp,WM_WA_IPC,1,IPC_GETSADATAFUNC); +** This can called as either want = 0 -> use user setting (ie classic skin mode) +** or want = 1 -> just obtain data (ie modern skin mode) +** +** (replaces passing wParam == 0 and if not present then this call will return a null function pointer) +** char * (*export_sa_get)(char data[75*2 + 8]); +** *(void **)&export_sa_get=(void*)SendMessage(hwnd_winamp,WM_WA_IPC,2,IPC_GETSADATAFUNC); +** +** When called this will fill the passed buffer with 150 bytes of data and return a pointer to it. +** char data[75*2 + 8]; +** char *p = export_sa_get(data); +** +** +** (deprecated as of at least 5.5+ but should still work) +** char * (*export_sa_get_deprecated)(); +** *(void **)&export_sa_get_deprecated=(void*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETSADATAFUNC); +** +** When called this will return 150 bytes of data as a static buffer inside Winamp. +** char *data = export_sa_get_deprecated(); +*/ + + +#define IPC_GETVUDATAFUNC 801 +/* (requires Winamp 5.0+) +** +** int (*export_vu_get)(int channel); +** *(void **)&export_vu_get=(void*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVUDATAFUNC); +** +** +** This returns a function pointer of int export_vu_get(int channel) and when called it +** will return values between 0 - 255 or or it will return -1 for a bad channel / value. +** +** Calling export_vu_get(0) will return the left channel. +** Calling export_vu_get(1) will return the right channel. +*/ + + +#define IPC_ISMAINWNDVISIBLE 900 +/* (requires Winamp 5.0+) +** int visible=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISMAINWNDVISIBLE); +** You send this to Winamp to query if the main window is visible or not such as by +** unchecking the option in the main right-click menu. If the main window is visible then +** this will return 1 otherwise it returns 0. +*/ + + +typedef struct +{ + int numElems; + int *elems; + HBITMAP bm; // set if you want to override +} waSetPlColorsStruct; + +#define IPC_SETPLEDITCOLORS 920 +/* (requires Winamp 5.0+) +** This is sent by gen_ff when a modern skin is being loaded to set the colour scheme for +** the playlist editor. When sent numElems is usually 6 and matches with the 6 possible +** colours which are provided be pledit.txt from the classic skins. The elems array is +** defined as follows: +** +** elems = 0 => normal text +** elems = 1 => current text +** elems = 2 => normal background +** elems = 3 => selected background +** elems = 4 => minibroswer foreground +** elems = 5 => minibroswer background +** +** if(uMsg == WM_WA_IPC && lParam == IPC_SETPLEDITCOLORS) +** { +** waSetPlColorsStruct* colStr = (waSetPlColorsStruct*)wp; +** if(colStr) +** { +** // set or inspect the colours being used (basically for gen_ff's benefit) +** } +** } +*/ + + +typedef struct +{ + HWND wnd; + int xpos; // in screen coordinates + int ypos; +} waSpawnMenuParms; + +// waSpawnMenuParms2 is used by the menubar submenus +typedef struct +{ + HWND wnd; + int xpos; // in screen coordinates + int ypos; + int width; + int height; +} waSpawnMenuParms2; + +// the following IPC use waSpawnMenuParms as parameter +#define IPC_SPAWNEQPRESETMENU 933 +#define IPC_SPAWNFILEMENU 934 //menubar +#define IPC_SPAWNOPTIONSMENU 935 //menubar +#define IPC_SPAWNWINDOWSMENU 936 //menubar +#define IPC_SPAWNHELPMENU 937 //menubar +#define IPC_SPAWNPLAYMENU 938 //menubar +#define IPC_SPAWNPEFILEMENU 939 //menubar +#define IPC_SPAWNPEPLAYLISTMENU 940 //menubar +#define IPC_SPAWNPESORTMENU 941 //menubar +#define IPC_SPAWNPEHELPMENU 942 //menubar +#define IPC_SPAWNMLFILEMENU 943 //menubar +#define IPC_SPAWNMLVIEWMENU 944 //menubar +#define IPC_SPAWNMLHELPMENU 945 //menubar +#define IPC_SPAWNPELISTOFPLAYLISTS 946 + + +#define WM_WA_SYSTRAY WM_USER+1 +/* This is sent by the system tray when an event happens (you might want to simulate it). +** +** if(uMsg == WM_WA_SYSTRAY) +** { +** switch(lParam) +** { +** // process the messages sent from the tray +** } +** } +*/ + + +#define WM_WA_MPEG_EOF WM_USER+2 +/* Input plugins send this when they are done playing back the current file to inform +** Winamp or anyother installed plugins that the current +** +** if(uMsg == WM_WA_MPEG_EOF) +** { +** // do what is needed here +** } +*/ + + +//// video stuff + +#define IPC_IS_PLAYING_VIDEO 501 // returns >1 if playing, 0 if not, 1 if old version (so who knows):) +#define IPC_GET_IVIDEOOUTPUT 500 // see below for IVideoOutput interface +#define VIDEO_MAKETYPE(A,B,C,D) ((A) | ((B)<<8) | ((C)<<16) | ((D)<<24)) +#define VIDUSER_SET_INFOSTRING 0x1000 +#define VIDUSER_GET_VIDEOHWND 0x1001 +#define VIDUSER_SET_VFLIP 0x1002 +#define VIDUSER_SET_TRACKSELINTERFACE 0x1003 // give your ITrackSelector interface as param2 +#define VIDUSER_OPENVIDEORENDERER 0x1004 +#define VIDUSER_CLOSEVIDEORENDERER 0x1005 +#define VIDUSER_GETPOPUPMENU 0x1006 +#define VIDUSER_SET_INFOSTRINGW 0x1007 +#define VIDUSER_SET_THREAD_SAFE 0x1008 // set param2 = 1 if open(), draw() and close() will be called on the same thread +#define VIDUSER_SET_PALETTE 0x1010 + +typedef struct +{ + int w; + int h; + int vflip; + double aspectratio; + unsigned int fmt; +} VideoOpenStruct; + +#ifndef NO_IVIDEO_DECLARE +#ifdef __cplusplus + +class VideoOutput; +class SubsItem; + +#ifndef _NSV_DEC_IF_H_ +struct YV12_PLANE { + unsigned char* baseAddr; + long rowBytes; +} ; + +struct YV12_PLANES { + YV12_PLANE y; + YV12_PLANE u; + YV12_PLANE v; +}; +#endif + +class IVideoOutput +{ + public: + virtual ~IVideoOutput() { } + virtual int open(int w, int h, int vflip, double aspectratio, unsigned int fmt)=0; + virtual void setcallback(LRESULT (*msgcallback)(void *token, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam), void *token) { (void)token; (void)msgcallback; /* to eliminate warning C4100 */ } + virtual void close()=0; + virtual void draw(void *frame)=0; + virtual void drawSubtitle(SubsItem *item) {UNREFERENCED_PARAMETER(item); } + virtual void showStatusMsg(const char *text) {UNREFERENCED_PARAMETER(text); } + virtual int get_latency() { return 0; } + virtual void notifyBufferState(int bufferstate) { UNREFERENCED_PARAMETER(bufferstate); } /* 0-255*/ + virtual INT_PTR extended(INT_PTR param1, INT_PTR param2, INT_PTR param3) { UNREFERENCED_PARAMETER(param1); UNREFERENCED_PARAMETER(param2); UNREFERENCED_PARAMETER(param3); return 0; } // Dispatchable, eat this! +}; + +class ITrackSelector +{ + public: + virtual int getNumAudioTracks()=0; + virtual void enumAudioTrackName(int n, char *buf, int size)=0; + virtual int getCurAudioTrack()=0; + virtual int getNumVideoTracks()=0; + virtual void enumVideoTrackName(int n, char *buf, int size)=0; + virtual int getCurVideoTrack()=0; + + virtual void setAudioTrack(int n)=0; + virtual void setVideoTrack(int n)=0; +}; + +#endif //cplusplus +#endif//NO_IVIDEO_DECLARE + +// these messages are callbacks that you can grab by subclassing the winamp window + +// wParam = +#define IPC_CB_WND_EQ 0 // use one of these for the param +#define IPC_CB_WND_PE 1 +#define IPC_CB_WND_MB 2 +#define IPC_CB_WND_VIDEO 3 +#define IPC_CB_WND_MAIN 4 + +#define IPC_CB_ONSHOWWND 600 +#define IPC_CB_ONHIDEWND 601 + +#define IPC_CB_GETTOOLTIP 602 +#define IPC_CB_GETTOOLTIPW 1602 + +#define IPC_CB_MISC 603 + #define IPC_CB_MISC_TITLE 0 // start of playing/stop/pause + #define IPC_CB_MISC_VOLUME 1 // volume/pan + #define IPC_CB_MISC_STATUS 2 // start playing/stop/pause/ffwd/rwd + #define IPC_CB_MISC_EQ 3 + #define IPC_CB_MISC_INFO 4 + #define IPC_CB_MISC_VIDEOINFO 5 + #define IPC_CB_MISC_TITLE_RATING 6 // (5.5+ for when the rating is changed via the songticker menu on current file) + +/* Example of using IPC_CB_MISC_STATUS to detect the start of track playback with 5.x +** +** if(lParam == IPC_CB_MISC && wParam == IPC_CB_MISC_STATUS) +** { +** if(SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISPLAYING) == 1 && +** !SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETOUTPUTTIME)) +** { +** char* file = (char*)SendMessage(hwnd_winamp,WM_WA_IPC, +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTPOS),IPC_GETPLAYLISTFILE); +** // only output if a valid file was found +** if(file) +** { +** MessageBox(hwnd_winamp,file,"starting",0); +** // or do something else that you need to do +** } +** } +** } +*/ + + +#define IPC_CB_CONVERT_STATUS 604 // param value goes from 0 to 100 (percent) +#define IPC_CB_CONVERT_DONE 605 + + +#define IPC_ADJUST_FFWINDOWSMENUPOS 606 +/* (requires Winamp 2.9+) +** int newpos=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)adjust_offset,IPC_ADJUST_FFWINDOWSMENUPOS); +** This will move where Winamp expects the freeform windows in the menubar windows main +** menu. This is useful if you wish to insert a menu item above extra freeform windows. +*/ + + +#define IPC_ISDOUBLESIZE 608 +/* (requires Winamp 5.0+) +** int dsize=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISDOUBLESIZE); +** You send this to Winamp to query if the double size mode is enabled or not. +** If it is on then this will return 1 otherwise it will return 0. +*/ + + +#define IPC_ADJUST_FFOPTIONSMENUPOS 609 +/* (requires Winamp 2.9+) +** int newpos=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)adjust_offset,IPC_ADJUST_FFOPTIONSMENUPOS); +** moves where winamp expects the freeform preferences item in the menubar windows main +** menu. This is useful if you wish to insert a menu item above the preferences item. +** If you pass adjust_offset as zero then it will return the current offset without adjusting it. +** +** Note: This setting was ignored by gen_ff until it was fixed in 5.1 +** gen_ff would assume that the menu position was 11 in all cases and so when you +** had two plugins attempting to add entries into the main right click menu it +** would cause the 'colour themes' submenu to either be incorrectly duplicated or +** to just disappear instead. +*/ + + +#define IPC_GETTIMEDISPLAYMODE 610 +/* (requires Winamp 5.0+) +** int mode=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETTIMEDISPLAYMODE); +** This will return the status of the time display i.e. shows time elapsed or remaining. +** This returns 0 if Winamp is displaying time elapsed or 1 for the time remaining. +*/ + + +#define IPC_SETVISWND 611 +/* (requires Winamp 5.0+) +** int viswnd=(HWND)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)viswnd,IPC_SETVISWND); +** This allows you to set a window to receive the following message commands (which are +** used as part of the modern skin integration). +** When you have finished or your visualisation is closed then send wParam as zero to +** ensure that things are correctly tidied up. +*/ + +/* The following messages are received as the LOWORD(wParam) of the WM_COMMAND message. +** See %SDK%\winamp\wa5vis.txt for more info about visualisation integration in Winamp. +*/ +#define ID_VIS_NEXT 40382 +#define ID_VIS_PREV 40383 +#define ID_VIS_RANDOM 40384 +#define ID_VIS_FS 40389 +#define ID_VIS_CFG 40390 +#define ID_VIS_MENU 40391 + + +#define IPC_GETVISWND 612 +/* (requires Winamp 5.0+) +** int viswnd=(HWND)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVISWND); +** This returns a HWND to the visualisation command handler window if set by IPC_SETVISWND. +*/ + + +#define IPC_ISVISRUNNING 613 +/* (requires Winamp 5.0+) +** int visrunning=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISVISRUNNING); +** This will return 1 if a visualisation is currently running and 0 if one is not running. +*/ + + +#define IPC_CB_VISRANDOM 628 // param is status of random + + +#define IPC_SETIDEALVIDEOSIZE 614 +/* (requires Winamp 5.0+) +** This is sent by Winamp back to itself so it can be trapped and adjusted as needed with +** the desired width in HIWORD(wParam) and the desired height in LOWORD(wParam). +** +** if(uMsg == WM_WA_IPC){ +** if(lParam == IPC_SETIDEALVIDEOSIZE){ +** wParam = MAKEWPARAM(height,width); +** } +** } +*/ + + +#define IPC_GETSTOPONVIDEOCLOSE 615 +/* (requires Winamp 5.0+) +** int sovc=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETSTOPONVIDEOCLOSE); +** This will return 1 if 'stop on video close' is enabled and 0 if it is disabled. +*/ + + +#define IPC_SETSTOPONVIDEOCLOSE 616 +/* (requires Winamp 5.0+) +** int sovc=SendMessage(hwnd_winamp,WM_WA_IPC,enabled,IPC_SETSTOPONVIDEOCLOSE); +** Set enabled to 1 to enable and 0 to disable the 'stop on video close' option. +*/ + + +typedef struct { + HWND hwnd; + int uMsg; + WPARAM wParam; + LPARAM lParam; +} transAccelStruct; + +#define IPC_TRANSLATEACCELERATOR 617 +/* (requires Winamp 5.0+) +** (deprecated as of 5.53x+) +*/ + + +typedef struct { + int cmd; + int x; + int y; + int align; +} windowCommand; // send this as param to an IPC_PLCMD, IPC_MBCMD, IPC_VIDCMD + + +#define IPC_CB_ONTOGGLEAOT 618 + + +#define IPC_GETPREFSWND 619 +/* (requires Winamp 5.0+) +** HWND prefs = (HWND)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETPREFSWND); +** This will return a handle to the preferences dialog if it is open otherwise it will +** return zero. A simple check with the OS api IsWindow(..) is a good test if it's valid. +** +** e.g. this will open (or close if already open) the preferences dialog and show if we +** managed to get a valid +** SendMessage(hwnd_winamp,WM_COMMAND,MAKEWPARAM(WINAMP_OPTIONS_PREFS,0),0); +** MessageBox(hwnd_winamp,(IsWindow((HWND)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETPREFSWND))?"Valid":"Not Open"),0,MB_OK); +*/ + + +#define IPC_SET_PE_WIDTHHEIGHT 620 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&point,IPC_SET_PE_WIDTHHEIGHT); +** You pass a pointer to a POINT structure which holds the width and height and Winamp +** will set the playlist editor to that size (this is used by gen_ff on skin changes). +** There does not appear to be any bounds limiting with this so it is possible to create +** a zero size playlist editor window (which is a pretty silly thing to do). +*/ + + +#define IPC_GETLANGUAGEPACKINSTANCE 621 +/* (requires Winamp 5.0+) +** HINSTANCE hInst = (HINSTANCE)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLANGUAGEPACKINSTANCE); +** This will return the HINSTANCE to the currently used language pack file for winamp.exe +** +** (5.5+) +** If you pass 1 in wParam then you will have zero returned if a language pack is in use. +** if(!SendMessage(hwnd_winamp,WM_WA_IPC,1,IPC_GETLANGUAGEPACKINSTANCE)){ +** // winamp is currently using a language pack +** } +** +** If you pass 2 in wParam then you will get the path to the language pack folder. +** wchar_t* lngpackfolder = (wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,2,IPC_GETLANGUAGEPACKINSTANCE); +** +** If you pass 3 in wParam then you will get the path to the currently extracted language pack. +** wchar_t* lngpack = (wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,3,IPC_GETLANGUAGEPACKINSTANCE); +** +** If you pass 4 in wParam then you will get the name of the currently used language pack. +** wchar_t* lngname = (char*)SendMessage(hwnd_winamp,WM_WA_IPC,4,IPC_GETLANGUAGEPACKINSTANCE); +*/ +#define LANG_IDENT_STR 0 +#define LANG_LANG_CODE 1 +#define LANG_COUNTRY_CODE 2 +/* +** (5.51+) +** If you pass 5 in LOWORD(wParam) then you will get the ident string/code string +** (based on the param passed in the HIWORD(wParam) of the currently used language pack. +** The string returned with LANG_IDENT_STR is used to represent the language that the +** language pack is intended for following ISO naming conventions for consistancy. +** +** wchar_t* ident_str = (wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,MAKEWPARAM(5,LANG_XXX),IPC_GETLANGUAGEPACKINSTANCE); +** +** e.g. +** For the default language it will return the following for the different LANG_XXX codes +** LANG_IDENT_STR -> "en-US" (max buffer size of this is 9 wchar_t) +** LANG_LANG_CODE -> "en" (language code) +** LANG_COUNTRY_CODE -> "US" (country code) +** +** On pre 5.51 installs you can get LANG_IDENT_STR using the following method +** (you'll have to custom process the string returned if you want the langugage or country but that's easy ;) ) +** +** #define LANG_PACK_LANG_ID 65534 (if you don't have lang.h) +** HINSTANCE hInst = (HINSTANCE)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLANGUAGEPACKINSTANCE); +** TCHAR buffer[9] = {0}; +** LoadString(hInst,LANG_PACK_LANG_ID,buffer,sizeof(buffer)); +** +** +** +** The following example shows how using the basic api will allow you to load the playlist +** context menu resource from the currently loaded language pack or it will fallback to +** the default winamp.exe instance. +** +** HINSTANCE lang = (HINSTANCE)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLANGUAGEPACKINSTANCE); +** HMENU popup = GetSubMenu(GetSubMenu((LoadMenu(lang?lang:GetModuleHandle(0),MAKEINTRESOURCE(101))),2),5); +** // do processing as needed on the menu before displaying it +** TrackPopupMenuEx(orig,TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,rc.left,rc.bottom,hwnd_owner,0); +** DestroyMenu(popup); +** +** If you need a specific menu handle then look at IPC_GET_HMENU for more information. +*/ + + +#define IPC_CB_PEINFOTEXT 622 // data is a string, ie: "04:21/45:02" + + +#define IPC_CB_OUTPUTCHANGED 623 // output plugin was changed in config + + +#define IPC_GETOUTPUTPLUGIN 625 +/* (requires Winamp 5.0+) +** char* outdll = (char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETOUTPUTPLUGIN); +** This returns a string of the current output plugin's dll name. +** e.g. if the directsound plugin was selected then this would return 'out_ds.dll'. +*/ + + +#define IPC_SETDRAWBORDERS 626 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,enabled,IPC_SETDRAWBORDERS); +** Set enabled to 1 to enable and 0 to disable drawing of the playlist editor and winamp +** gen class windows (used by gen_ff to allow it to draw its own window borders). +*/ + + +#define IPC_DISABLESKINCURSORS 627 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,enabled,IPC_DISABLESKINCURSORS); +** Set enabled to 1 to enable and 0 to disable the use of skinned cursors. +*/ + + +#define IPC_GETSKINCURSORS 628 +/* (requires Winamp 5.36+) +** data = (WACURSOR)cursorId. (check wa_dlg.h for values) +*/ + + +#define IPC_CB_RESETFONT 629 + + +#define IPC_IS_FULLSCREEN 630 +/* (requires Winamp 5.0+) +** int val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_IS_FULLSCREEN); +** This will return 1 if the video or visualisation is in fullscreen mode or 0 otherwise. +*/ + + +#define IPC_SET_VIS_FS_FLAG 631 +/* (requires Winamp 5.0+) +** A vis should send this message with 1/as param to notify winamp that it has gone to or has come back from fullscreen mode +*/ + + +#define IPC_SHOW_NOTIFICATION 632 +/* (requires Winamp 5.0+ & Modern skin support - gen_ff.dll present) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_SHOW_NOTIFICATION); +** If a Modern skin is loaded and this message is sent/received then it will +** trigger the Modern skin notifier to appear (subject to user settings). +*/ + + +#define IPC_GETSKININFO 633 +#define IPC_GETSKININFOW 1633 +/* (requires Winamp 5.0+) +** This is a notification message sent to the main Winamp window by itself whenever it +** needs to get information to be shown about the current skin in the 'Current skin +** information' box on the main Skins page in the Winamp preferences. +** +** When this notification is received and the current skin is one you are providing the +** support for then you return a valid buffer for Winamp to be able to read from with +** information about it such as the name of the skin file. +** +** if(uMsg == WM_WA_IPC && lParam == IPC_GETSKININFO){ +** if(is_our_skin()){ +** return is_our_skin_name(); +** } +** } +*/ + + +#define IPC_GET_MANUALPLADVANCE 634 +/* (requires Winamp 5.03+) +** int val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_MANUALPLADVANCE); +** IPC_GET_MANUALPLADVANCE returns the status of the Manual Playlist Advance. +** If enabled this will return 1 otherwise it will return 0. +*/ + + +#define IPC_SET_MANUALPLADVANCE 635 +/* (requires Winamp 5.03+) +** SendMessage(hwnd_winamp,WM_WA_IPC,value,IPC_SET_MANUALPLADVANCE); +** IPC_SET_MANUALPLADVANCE sets the status of the Manual Playlist Advance option. +** Set value = 1 to turn it on and value = 0 to turn it off. +*/ + + +#define IPC_GET_NEXT_PLITEM 636 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_NEXT_PLITEM); +** +** Sent to Winamp's main window when an item has just finished playback or the next +** button has been pressed and requesting the new playlist item number to go to. +** +** Subclass this message in your application to return the new item number. +** Return -1 for normal Winamp operation (default) or the new item number in +** the playlist to be played instead of the originally selected next track. +** +** This is primarily provided for the JTFE plugin (gen_jumpex.dll). +*/ + + +#define IPC_GET_PREVIOUS_PLITEM 637 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_PREVIOUS_PLITEM); +** +** Sent to Winamp's main window when the previous button has been pressed and Winamp is +** requesting the new playlist item number to go to. +** +** Return -1 for normal Winamp operation (default) or the new item number in +** the playlist to be played instead of the originally selected previous track. +** +** This is primarily provided for the JTFE plugin (gen_jumpex.dll). +*/ + + +#define IPC_IS_WNDSHADE 638 +/* (requires Winamp 5.04+) +** int is_shaded=SendMessage(hwnd_winamp,WM_WA_IPC,wnd,IPC_IS_WNDSHADE); +** Pass 'wnd' as an id as defined for IPC_GETWND or pass -1 to query the status of the +** main window. This returns 1 if the window is in winshade mode and 0 if it is not. +** Make sure you only test for this on a 5.04+ install otherwise you get a false result. +** (See the notes about unhandled WM_WA_IPC messages). +*/ + + +#define IPC_SETRATING 639 +/* (requires Winamp 5.04+ with ML) +** int rating=SendMessage(hwnd_winamp,WM_WA_IPC,rating,IPC_SETRATING); +** This will allow you to set the 'rating' on the current playlist entry where 'rating' +** is an integer value from 0 (no rating) to 5 (5 stars). +** +** The following example should correctly allow you to set the rating for any specified +** playlist entry assuming of course that you're trying to get a valid playlist entry. +** +** void SetPlaylistItemRating(int item_to_set, int rating_to_set){ +** int cur_pos=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTPOS); +** SendMessage(hwnd_winamp,WM_WA_IPC,item_to_set,IPC_SETPLAYLISTPOS); +** SendMessage(hwnd_winamp,WM_WA_IPC,rating_to_set,IPC_SETRATING); +** SendMessage(hwnd_winamp,WM_WA_IPC,cur_pos,IPC_SETPLAYLISTPOS); +** } +** +** Note: Winamp 5.6+ allows you to save the rating directly into the file as long as the +** file being rated supports the rating metadata field via a supporting input plug-in +** to process the tag save as appropriate. If not then the rating will not be saved. +*/ + + +#define IPC_GETRATING 640 +/* (requires Winamp 5.04+ with ML) +** int rating=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETRATING); +** This returns the current playlist entry's rating between 0 (no rating) to 5 (5 stars). +** +** The following example should correctly allow you to get the rating for any specified +** playlist entry assuming of course that you're trying to get a valid playlist entry. +** +** int GetPlaylistItemRating(int item_to_get, int rating_to_set){ +** int cur_pos=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTPOS), rating = 0; +** SendMessage(hwnd_winamp,WM_WA_IPC,item_to_get,IPC_SETPLAYLISTPOS); +** rating = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETRATING); +** SendMessage(hwnd_winamp,WM_WA_IPC,cur_pos,IPC_SETPLAYLISTPOS); +** return rating; +** } +*/ + + +#define IPC_GETNUMAUDIOTRACKS 641 +/* (requires Winamp 5.04+) +** int n = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETNUMAUDIOTRACKS); +** This will return the number of audio tracks available from the currently playing item. +*/ + + +#define IPC_GETNUMVIDEOTRACKS 642 +/* (requires Winamp 5.04+) +** int n = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETNUMVIDEOTRACKS); +** This will return the number of video tracks available from the currently playing item. +*/ + + +#define IPC_GETAUDIOTRACK 643 +/* (requires Winamp 5.04+) +** int cur = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETAUDIOTRACK); +** This will return the id of the current audio track for the currently playing item. +*/ + + +#define IPC_GETVIDEOTRACK 644 +/* (requires Winamp 5.04+) +** int cur = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVIDEOTRACK); +** This will return the id of the current video track for the currently playing item. +*/ + + +#define IPC_SETAUDIOTRACK 645 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,track,IPC_SETAUDIOTRACK); +** This allows you to switch to a new audio track (if supported) in the current playing file. +*/ + + +#define IPC_SETVIDEOTRACK 646 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,track,IPC_SETVIDEOTRACK); +** This allows you to switch to a new video track (if supported) in the current playing file. +*/ + + +#define IPC_PUSH_DISABLE_EXIT 647 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_PUSH_DISABLE_EXIT); +** This will let you disable or re-enable the UI exit functions (close button, context +** menu, alt-f4). Remember to call IPC_POP_DISABLE_EXIT when you are done doing whatever +** was required that needed to prevent exit otherwise you have to kill the Winamp process. +*/ + + +#define IPC_POP_DISABLE_EXIT 648 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_POP_DISABLE_EXIT); +** See IPC_PUSH_DISABLE_EXIT +*/ + + +#define IPC_IS_EXIT_ENABLED 649 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_IS_EXIT_ENABLED); +** This will return 0 if the 'exit' option of Winamp's menu is disabled and 1 otherwise. +*/ + + +#define IPC_IS_AOT 650 +/* (requires Winamp 5.04+) +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_IS_AOT); +** This will return the status of the always on top flag. +** Note: This may not match the actual TOPMOST window flag while another fullscreen +** application is focused if the user has the 'Disable always on top while fullscreen +** applications are focused' option under the General Preferences page is checked. +*/ + + +#define IPC_USES_RECYCLEBIN 651 +/* (requires Winamp 5.09+) +** int use_bin=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_USES_RECYCLEBIN); +** This will return 1 if the deleted file should be sent to the recycle bin or +** 0 if deleted files should be deleted permanently (default action for < 5.09). +** +** Note: if you use this on pre 5.09 installs of Winamp then it will return 1 which is +** not correct but is due to the way that SendMessage(..) handles un-processed messages. +** Below is a quick case for checking if the returned value is correct. +** +** if(SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_USES_RECYCLEBIN) && +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION)>=0x5009) +** { +** // can safely follow the option to recycle the file +** } +** else +* { +** // need to do a permanent delete of the file +** } +*/ + + +#define IPC_FLUSHAUDITS 652 +/* +** SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_FLUSHAUDITS); +** +** Will flush any pending audits in the global audits queue +** +*/ + +#define IPC_GETPLAYITEM_START 653 +#define IPC_GETPLAYITEM_END 654 + + +#define IPC_GETVIDEORESIZE 655 +#define IPC_SETVIDEORESIZE 656 + + +#define IPC_INITIAL_SHOW_STATE 657 +/* (requires Winamp 5.36+) +** int show_state = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_INITIAL_SHOW_STATE); +** returns the processed value of nCmdShow when Winamp was started +** (see MSDN documentation the values passed to WinMain(..) for what this should be) +** +** e.g. +** if(SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_INITIAL_SHOW_STATE) == SW_SHOWMINIMIZED){ +** // we are starting minimised so process as needed (keep our window hidden) +** } +** +** Useful for seeing if winamp was run minimised on startup so you can act accordingly. +** On pre-5.36 versions this will effectively return SW_NORMAL/SW_SHOWNORMAL due to the +** handling of unknown apis returning 1 from Winamp. +*/ + + +#define IPC_GET_STOP_AFTER_CURRENT 658 +/* (requires Winamp 5.58+) +** int stopping=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_STOP_AFTER_CURRENT); +** IPC_GET_STOP_AFTER_CURRENT returns the status of the Stop After Current state. +** If enabled this will return 0 otherwise it will return 1 (see the notes about +** SendMessage(WM_WA_IPC) handling with unsupported apis for why this is inverted). +*/ + +// >>>>>>>>>>> Next is 659 + +#define IPC_PLCMD 1000 + +#define PLCMD_ADD 0 +#define PLCMD_REM 1 +#define PLCMD_SEL 2 +#define PLCMD_MISC 3 +#define PLCMD_LIST 4 + +//#define IPC_MBCMD 1001 + +#define MBCMD_BACK 0 +#define MBCMD_FORWARD 1 +#define MBCMD_STOP 2 +#define MBCMD_RELOAD 3 +#define MBCMD_MISC 4 + +#define IPC_VIDCMD 1002 + +#define VIDCMD_FULLSCREEN 0 +#define VIDCMD_1X 1 +#define VIDCMD_2X 2 +#define VIDCMD_LIB 3 +#define VIDPOPUP_MISC 4 + +//#define IPC_MBURL 1003 //sets the URL +//#define IPC_MBGETCURURL 1004 //copies the current URL into wParam (have a 4096 buffer ready) +//#define IPC_MBGETDESC 1005 //copies the current URL description into wParam (have a 4096 buffer ready) +//#define IPC_MBCHECKLOCFILE 1006 //checks that the link file is up to date (otherwise updates it). wParam=parent HWND +//#define IPC_MBREFRESH 1007 //refreshes the "now playing" view in the library +//#define IPC_MBGETDEFURL 1008 //copies the default URL into wParam (have a 4096 buffer ready) + +#define IPC_STATS_LIBRARY_ITEMCNT 1300 // updates library count status + +/* +** IPC's in the message range 2000 - 3000 are reserved internally for freeform messages. +** These messages are taken from ff_ipc.h which is part of the Modern skin integration. +*/ + +#define IPC_FF_FIRST 2000 + +#define IPC_FF_COLOURTHEME_CHANGE IPC_FF_ONCOLORTHEMECHANGED +#define IPC_FF_ONCOLORTHEMECHANGED IPC_FF_FIRST + 3 +/* +** This is a notification message sent when the user changes the colour theme in a Modern +** skin and can also be detected when the Modern skin is first loaded as the gen_ff plugin +** applies relevant settings and styles (like the colour theme). +** +** The value of wParam is the name of the new color theme being switched to. +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(const char*)colour_theme_name,IPC_FF_ONCOLORTHEMECHANGED); +** +** (IPC_FF_COLOURTHEME_CHANGE is the name i (DrO) was using before getting a copy of +** ff_ipc.h with the proper name in it). +*/ + + +#define IPC_FF_ISMAINWND IPC_FF_FIRST + 4 +/* +** int ismainwnd = (HWND)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)test_wnd,IPC_FF_ISMAINWND); +** +** This allows you to determine if the window handle passed to it is a modern skin main +** window or not. If it is a main window or any of its windowshade variants then it will +** return 1. +** +** Because of the way modern skins are implemented, it is possible for this message to +** return a positive test result for a number of window handles within the current Winamp +** process. This appears to be because you can have a visible main window, a compact main +** window and also a winshaded version. +** +** The following code example below is one way of seeing how this api works since it will +** enumerate all windows related to Winamp at the time and allows you to process as +** required when a detection happens. +** +** +** EnumThreadWindows(GetCurrentThreadId(),enumWndProc,0); +** +** BOOL CALLBACK enumWndProc(HWND hwnd, LPARAM lParam){ +** +** if(SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)hwnd,IPC_FF_ISMAINWND)){ +** // do processing in here +** // or continue the enum for other main windows (if they exist) +** // and just comment out the line below +** return 0; +** } +** return 1; +** } +*/ + + +#define IPC_FF_GETCONTENTWND IPC_FF_FIRST + 5 +/* +** HWND wa2embed = (HWND)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(HWND)test_wnd,IPC_FF_GETCONTENTWND); +** +** This will return the Winamp 2 window that is embedded in the window's container +** i.e. if hwnd is the playlist editor windowshade hwnd then it will return the Winamp 2 +** playlist editor hwnd. +** +** If no content is found such as the window has nothing embedded then this will return +** the hwnd passed to it. +*/ + + +#define IPC_FF_NOTIFYHOTKEY IPC_FF_FIRST + 6 +/* +** This is a notification message sent when the user uses a global hotkey combination +** which had been registered with the gen_hotkeys plugin. +** +** The value of wParam is the description of the hotkey as passed to gen_hotkeys. +** SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(const char*)hotkey_desc,IPC_FF_NOTIFYHOTKEY); +*/ + +#define IPC_FF_LAST 3000 + + +/* +** General IPC messages in Winamp +** +** All notification messages appear in the lParam of the main window message proceedure. +*/ + + +#define IPC_GETDROPTARGET 3001 +/* (requires Winamp 5.0+) +** IDropTarget* IDrop = (IDropTarget*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETDROPTARGET); +** +** You call this to retrieve a copy of the IDropTarget interface which Winamp created for +** handling external drag and drop operations on to it's Windows. This is only really +** useful if you're providing an alternate interface and want your Windows to provide the +** same drag and drop support as Winamp normally provides the user. Check out MSDN or +** your prefered search facility for more information about the IDropTarget interface and +** what's needed to handle it in your own instance. +*/ + + +#define IPC_PLAYLIST_MODIFIED 3002 +/* (requires Winamp 5.0+) +** This is a notification message sent to the main Winamp window whenever the playlist is +** modified in any way e.g. the addition/removal of a playlist entry. +** +** It is not a good idea to do large amounts of processing in this notification since it +** will slow down Winamp as playlist entries are modified (especially when you're adding +** in a large playlist). +** +** if(uMsg == WM_WA_IPC && lParam == IPC_PLAYLIST_MODIFIED) +** { +** // do what you need to do here +** } +*/ + + +#define IPC_PLAYING_FILE 3003 +/* (requires Winamp 5.0+) +** This is a notification message sent to the main Winamp window when playback begins for +** a file. This passes the full filepath in the wParam of the message received. +** +** if(uMsg == WM_WA_IPC && lParam == IPC_PLAYING_FILE) +** { +** // do what you need to do here, e.g. +** process_file((char*)wParam); +** } +*/ + + +#define IPC_PLAYING_FILEW 13003 +/* (requires Winamp 5.3+) +** This is a notification message sent to the main Winamp window when playback begins for +** a file. This passes the full filepath in the wParam of the message received. +** +** if(uMsg == WM_WA_IPC && lParam == IPC_PLAYING_FILEW) +** { +** // do what you need to do here, e.g. +** process_file((wchar_t*)wParam); +** } +*/ + + +#define IPC_FILE_TAG_MAY_HAVE_UPDATED 3004 +#define IPC_FILE_TAG_MAY_HAVE_UPDATEDW 3005 +/* (requires Winamp 5.0+) +** This is a notification message sent to the main Winamp window when a file's tag +** (e.g. id3) may have been updated. This appears to be sent when the InfoBox(..) function +** of the associated input plugin returns a 1 (which is the file information dialog/editor +** call normally). +** +** if(uMsg == WM_WA_IPC && lParam == IPC_FILE_TAG_MAY_HAVE_UPDATED) +** { +** // do what you need to do here, e.g. +** update_info_on_file_update((char*)wParam); +** } +*/ + + +#define IPC_ALLOW_PLAYTRACKING 3007 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,allow,IPC_ALLOW_PLAYTRACKING); +** Send allow as nonzero to allow play tracking and zero to disable the mode. +** This is useful if you're an input plugin and need to edit a tag in a file +** whilst playing that track so this can be sent to Winamp so it appears like +** there wasn't a stop in the playback of the file (as far as the UI display). +*/ + + +#define IPC_HOOK_OKTOQUIT 3010 +/* (requires Winamp 5.0+) +** This is a notification message sent to the main Winamp window asking if it's okay to +** close or not. Return zero to prevent Winamp from closing or return anything non-zero +** to allow Winamp to close. +** +** The best implementation of this option is to let the message pass through to the +** original window proceedure since another plugin may want to have a say in the matter +** with regards to Winamp closing. +** +** if(uMsg == WM_WA_IPC && lParam == IPC_HOOK_OKTOQUIT) +** { +** // do what you need to do here, e.g. +** if(no_shut_down()) +** { +** return 1; +** } +** } +*/ + + +#define IPC_WRITECONFIG 3011 +/* (requires Winamp 5.0+) +** SendMessage(hwnd_winamp,WM_WA_IPC,write_type,IPC_WRITECONFIG); +** +** Send write_type as 2 to write all config settings and the current playlist. +** +** Send write_type as 1 to write the playlist and common settings. +** This won't save the following ini settings:: +** +** defext, titlefmt, proxy, visplugin_name, dspplugin_name, check_ft_startup, +** visplugin_num, pe_fontsize, visplugin_priority, visplugin_autoexec, dspplugin_num, +** sticon, splash, taskbar, dropaotfs, ascb_new, ttips, riol, minst, whichicon, +** whichicon2, addtolist, snap, snaplen, parent, hilite, disvis, rofiob, shownumsinpl, +** keeponscreen, eqdsize, usecursors, fixtitles, priority, shuffle_morph_rate, +** useexttitles, bifont, inet_mode, ospb, embedwnd_freesize, no_visseh +** (the above was valid for 5.1) +** +** Send write_type as 0 to write the common and less common settings and no playlist. +*/ + + +#define IPC_UPDATE_URL 3012 +// pass the URL (char *) in lparam, will be free()'d on done. + + +#define IPC_GET_RANDFUNC 3015 // returns a function to get a random number +/* (requires Winamp 5.1+) +** int (*randfunc)(void) = (int(*)(void))SendMessage(plugin.hwndParent,WM_WA_IPC,0,IPC_GET_RANDFUNC); +** if(randfunc && randfunc != 1){ +** randfunc(); +** } +** +** This will return a positive 32-bit number (essentially 31-bit). +** The check for a returned value of 1 is because that's the default return value from +** SendMessage(..) when it is not handled so is good to check for it in this situation. +*/ + + +#define IPC_METADATA_CHANGED 3017 +/* (requires Winamp 5.1+) +** int changed=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)(char*)field,IPC_METADATA_CHANGED); +** a plugin can SendMessage this to winamp if internal metadata has changes. +** wParam should be a char * of what field changed +** +** Currently used for internal actions (and very few at that) the intent of this api is +** to allow a plugin to call it when metadata has changed in the current playlist entry +** e.g.a new id3v2 tag was found in a stream +** +** The wparam value can either be NULL or a pointer to an ansi string for the metadata +** which has changed. This can be thought of as an advanced version of IPC_UPDTITLE and +** could be used to allow for update of the current title when a specific tag changed. +** +** Not recommended to be used since there is not the complete handling implemented in +** Winamp for it at the moment. +*/ + + +#define IPC_SKIN_CHANGED 3018 +/* (requires Winamp 5.1+) +** This is a notification message sent to the main Winamp window by itself whenever +** the skin in use is changed. There is no information sent by the wParam for this. +** +** if(message == WM_WA_IPC && lparam == IPC_SKIN_CHANGED) +** { +** // do what you need to do to handle skin changes, e.g. call WADlg_init(hwnd_winamp); +** } +*/ + + +#define IPC_REGISTER_LOWORD_COMMAND 3019 +/* (requires Winamp 5.1+) +** WORD id = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_REGISTER_LOWORD_COMMAND); +** This will assign you a unique id for making your own commands such as for extra menu +** entries. The starting value returned by this message will potentially change as and +** when the main resource file of Winamp is updated with extra data so assumptions cannot +** be made on what will be returned and plugin loading order will affect things as well. + +** 5.33+ +** If you want to reserve more than one id, you can pass the number of ids required in wParam +*/ + + +typedef struct +{ + wchar_t *name; // filled in by plugin, make sure it's a unicode string!! (i.e. L"myObject" instead of "myObject). + struct IDispatch *dispatch; // filled in by plugin + DWORD id; // filled in by winamp on return +} DispatchInfo; + +#define IPC_GET_DISPATCH_OBJECT 3020 // gets winamp main IDispatch * (for embedded webpages) +#define IPC_GET_UNIQUE_DISPATCH_ID 3021 // gives you a unique dispatch ID that won't conflict with anything in winamp's IDispatch * +#define IPC_ADD_DISPATCH_OBJECT 3022 // add your own dispatch object into winamp's. This lets embedded webpages access your functions +// pass a pointer to DispatchInfo (see below). Winamp makes a copy of all this data so you can safely delete it later + +#define IPC_REMOVE_DISPATCH_OBJECT 3038 +/* (requires Winamp 5.56+) +** remove registered IDispatch. pass (DWORD)dispatchId ad parameter +*/ + +// see IPC_JSAPI2_GET_DISPATCH_OBJECT for version 2 of the Dispatchable scripting interface + + +#define IPC_GET_PROXY_STRING 3023 +/* (requires Winamp 5.11+) +** char* proxy_string=(char*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_PROXY_STRING); +** This will return the same string as is shown on the General Preferences page. +*/ + + +#define IPC_USE_REGISTRY 3024 +/* (requires Winamp 5.11+) +** int reg_enabled=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_USE_REGISTRY); +** This will return 0 if you should leave your grubby hands off the registry (i.e. for +** lockdown mode). This is useful if Winamp is run from a USB drive and you can't alter +** system settings, etc. +*/ + + +#define IPC_GET_API_SERVICE 3025 +/* (requires Winamp 5.12+) +** api_service* api_service = (api_service*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_API_SERVICE); +** This api will return Winamp's api_service pointer (which is what Winamp3 used, heh). +** If this api is not supported in the Winamp version that is being used at the time then +** the returned value from this api will be 1 which is a good version check. +** +** As of 5.12 there is support for .w5s plugins which reside in %WinampDir%\System and +** are intended for common code that can be shared amongst other plugins e.g. jnetlib.w5s +** which contains jnetlib in one instance instead of being duplicated multiple times in +** all of the plugins which need internet access. +** +** Details on the .w5s specifications will come at some stage (possibly). +*/ + + +typedef struct { + const wchar_t *filename; + const wchar_t *metadata; + wchar_t *ret; + size_t retlen; +} extendedFileInfoStructW; + +#define IPC_GET_EXTENDED_FILE_INFOW 3026 +/* (requires Winamp 5.13+) +** Pass a pointer to the above struct in wParam +*/ + + +#define IPC_GET_EXTENDED_FILE_INFOW_HOOKABLE 3027 +#define IPC_SET_EXTENDED_FILE_INFOW 3028 +/* (requires Winamp 5.13+) +** Pass a pointer to the above struct in wParam +*/ + + +#define IPC_PLAYLIST_GET_NEXT_SELECTED 3029 +/* (requires 5.2+) +** int pl_item = SendMessage(hwnd_winamp,WM_WA_IPC,start,IPC_PLAYLIST_GET_NEXT_SELECTED); +** +** This works just like the ListView_GetNextItem(..) macro for ListView controls. +** 'start' is the index of the playlist item that you want to begin the search after or +** set this as -1 for the search to begin with the first item of the current playlist. +** +** This will return the index of the selected playlist according to the 'start' value or +** it returns -1 if there is no selection or no more selected items according to 'start'. +** +** Quick example: +** +** int sel = -1; +** // keep incrementing the start of the search so we get all of the selected entries +** while((sel = SendMessage(hwnd_winamp,WM_WA_IPC,sel,IPC_PLAYLIST_GET_NEXT_SELECTED))!=-1){ +** // show the playlist file entry of the selected item(s) if there were any +** MessageBox(hwnd_winamp,(char*)SendMessage(hwnd_winamp,WM_WA_IPC,sel,IPC_GETPLAYLISTFILE),0,0); +** } +*/ + + +#define IPC_PLAYLIST_GET_SELECTED_COUNT 3030 +/* (requires 5.2+) +** int selcnt = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_PLAYLIST_GET_SELECTED_COUNT); +** This will return the number of selected playlist entries. +*/ + + +#define IPC_GET_PLAYING_FILENAME 3031 +/* (requires Winamp 5.?+) +** wchar_t* fn=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_PLAYING_FILENAME); +** This will return the currently playing filename string as held by Winamp. +*/ + + +#define IPC_OPEN_URL 3032 +// send either ANSI or Unicode string (it'll figure it out, but it MUST start with "h"!, so don't send ftp:// or anything funny) +// you can also send this one from another process via WM_COPYDATA (unicode only) + + +#define IPC_USE_UXTHEME_FUNC 3033 +/* (requires Winamp 5.35+) +** int ret = SendMessage(hwnd_winamp,WM_WA_IPC,param,IPC_USE_UXTHEME_FUNC); +** param can be IPC_ISWINTHEMEPRESENT or IPC_ISAEROCOMPOSITIONACTIVE or a valid hwnd. +** +** If you pass a hwnd then it will apply EnableThemeDialogTexture(ETDT_ENABLETAB) +** so your tabbed dialogs can use the correct theme (on supporting OSes ie XP+). +** +** Otherwise this will return a value based on the param passed (as defined below). +** For compatability, the return value will be zero on success (as 1 is returned +** for unsupported ipc calls on older Winamp versions) +*/ + #define IPC_ISWINTHEMEPRESENT 0 +/* This will return 0 if uxtheme.dll is present +** int isthemethere = !SendMessage(hwnd_winamp,WM_WA_IPC,IPC_ISWINTHEMEPRESENT,IPC_USE_UXTHEME_FUNC); +*/ + #define IPC_ISAEROCOMPOSITIONACTIVE 1 +/* This will return 0 if aero composition is active +** int isaero = !SendMessage(hwnd_winamp,WM_WA_IPC,IPC_ISAEROCOMPOSITIONACTIVE,IPC_USE_UXTHEME_FUNC); +*/ + + +#define IPC_GET_PLAYING_TITLE 3034 +/* (requires Winamp 5.5+) +** wchar_t* title=(wchar_t*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_PLAYING_TITLE); +** This will return the currently playing file title string as displayed in Winamp's window. +*/ + + +#define IPC_CANPLAY 3035 +/* (requires Winamp 5.5+) +** In_Module *in_mod=(In_Module*)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)fn,IPC_CANPLAY); +** This api will return either a In_Module* for plugin associated with the file passed or +** it will return 0 to indicate there is not a supporting input plugin. +** Pass a unicode (wchar_t) filepath. +** +** In_Module *in_mod=(In_Module*)SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)fn,IPC_CANPLAY); +** if(in_mod && (in_mod != (In_Module*)1){ +** // we got a valid In_Module * +** } +*/ + + +typedef struct { + // fill these in... + size_t size; // init to sizeof(artFetchData) + HWND parent; // parent window of the dialogue + + // fill as much of these in as you can, otherwise leave them 0 + const wchar_t *artist; + const wchar_t *album; + int year, amgArtistId, amgAlbumId; + + int showCancelAll; // if set to 1, this shows a "Cancel All" button on the dialogue + + // winamp will fill these in if the call returns successfully: + void* imgData; // a buffer filled with compressed image data. free with WASABI_API_MEMMGR->sysFree() + int imgDataLen; // the size of the buffer + wchar_t type[10]; // eg: "jpg" + const wchar_t *gracenoteFileId; // if you know it +} artFetchData; + +#define IPC_FETCH_ALBUMART 3036 +/* pass an artFetchData*. This will show a dialog guiding the use through choosing art, and return when it's finished +** return values: +** 1: error showing dialog +** 0: success +** -1: cancel was pressed +** -2: cancel all was pressed +*/ + + +#define IPC_JSAPI2_GET_DISPATCH_OBJECT 3037 +/* pass your service's unique ID, as a wchar_t * string, in wParam +** Winamp will copy the string, so don't worry about keeping it around +** An IDispatch * object will be returned (cast the return value from SendMessage) +** This IDispatch can be used for scripting/automation/VB interaction +** Pass to IE via IDocHostUIHandler::GetExternal and it will become window.external in javscript +*/ + +// #define IPC_REMOVE_DISPATCH_OBJECT 3038 /* this id already in use */ + + +#define IPC_HANDLE_URI 3039 /* only for use in WM_COPYDATA, passes Winamp a filename that will get handled by svc_urihandler */ + + +#define IPC_PLAYFILEW_NDE 3040 /* just like IPC_PLAYFILEW, but the filename is an NDE reference-counted string (but not the title!!) */ +#define IPC_PLAYFILEW_NDE_TITLE 3041 /* use this if the title is reference counted also */ + + +#define IPC_OUTPUT_STARTED 3042 +/* (requires Winamp 5.57+) +** This is a notification message sent to the main Winamp window by an output plugin +** when the pre-buffer has been filled and output has started which is useful if you +** want to wait until playback has buffered before doing something on song transition. +** +** It is not guaranteed that this message is implemented in all output plugins (with +** only out_ds supporting it as of 5.57) so is recommended to wait for 5 seconds or +** until you receive this notification message before handling the song transition. +** +** if(message == WM_WA_IPC && lparam == IPC_OUTPUT_STARTED) +** { +** // do what you need to do +** } +*/ + + +typedef struct { + int last_time; + int g_fullstop; +} stopPlayingInfoStruct; + +#define IPC_STOPPLAYING 3043 +/* (requires Winamp 5.57+) +** This is a notification message sent to the main Winamp window by itself whenever +** playback is stopped either when file playback ends or the user stops playing. +** +** if(message == WM_WA_IPC && lparam == IPC_STOPPLAYING) +** { +** // do what you need to do such as logging where playback was +** } +*/ + + +#define IPC_GET_D3DX9 3044 +/* (requires Winamp 5.57+) +** HMODULE d3dx9 = (HMODULE)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_D3DX9); +** +** This will return the module handle of a d3dx9_*.dll based against the version +** internally required by Winamp and it's supporting plug-ins (version can change). +** +** HMODULE d3dx9 = (HMODULE)SendMessage(hwnd_winamp,WM_WA_IPC, 0, IPC_GET_D3DX9); +** if (!d3dx9 || d3dx9 == (HMODULE)1) { +** // if here then loading failed and you'll need to manually load the library +** } +*/ + + +#define IPC_GET_FILEREGISTRAR_OBJECT 3045 +/* (requires Winamp 5.58+) +** IFileTypeRegistrar* registrar = (IFileTypeRegistrar*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_FILEREGISTRAR_OBJECT); +** +** You call this to retrieve a copy of a IFileTypeRegistrar object which Winamp will +** create which provides some commonly used functions for registry and file access +** which will be automatically elevated on Vista / Window 7 depending on the user's +** permissions as required. +** +** // it is best to call this everytime that the object is required as there is no +** // guarantee it will already have been created or if it's already been released +** IFileTypeRegistrar *registrar = (IFileTypeRegistrar*)SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_FILEREGISTRAR_OBJECT); +** // make sure that we've got a valid object (as 1 is an unsupported api return) +** if(registrar && (registrar != (IFileTypeRegistrar*)1)){ +** // we got a valid copy of the object (automatically elevated as required) +** // so now we can start using the IFileTypeRegistrar object as required +** +** // once we're done using the IFileTypeRegistrar object for the immediate moment +** // then we should release the object so everything is kept as clean as possible +** registrar->Release(); +** } +*/ + + +#define IPC_REGISTER_WINAMP_IPCMESSAGE 65536 +/* (requires Winamp 5.0+) +** DWORD id = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)name,IPC_REGISTER_WINAMP_IPCMESSAGE); +** e.g. DWORD id = SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)&"enter_a_different_string",IPC_REGISTER_WINAMP_IPCMESSAGE); +** +** The value 'id' returned is > 65536 and is incremented on subsequent calls for unique +** 'name' values passed to it. By using the same 'name' in different plugins will allow a +** common runtime api to be provided for the currently running instance of Winamp +** e.g. +** PostMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)my_param,registered_ipc); +** Have a look at wa_hotkeys.h for an example on how this api is used in practice for a +** custom WM_WA_IPC message. +** +** +** if(uMsg == WM_WA_IPC && lParam == id_from_register_winamp_ipcmessage){ +** // do things +** } +*/ + +#endif//_WA_IPC_H_ \ No newline at end of file diff --git a/src/MilkDrop2/ns-eel2/asm-nseel-ppc-gcc.c b/src/MilkDrop2/ns-eel2/asm-nseel-ppc-gcc.c new file mode 100644 index 0000000000..19a09ba8f3 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/asm-nseel-ppc-gcc.c @@ -0,0 +1,1041 @@ +#if EEL_F_SIZE == 8 + +void nseel_asm_1pdd(void) +{ + + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r3)\n" + "mtctr r5\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +} +void nseel_asm_1pdd_end(void){} + +void nseel_asm_2pdd(void) +{ + + __asm__( + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "lfd f2, 0(r3)\n" + "lfd f1, 0(r14)\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +}; +void nseel_asm_2pdd_end(void){} + +void nseel_asm_2pdds(void) +{ + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r3)\n" + "lfd f1, 0(r14)\n" + "mtctr r5\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + :: ); +} +void nseel_asm_2pdds_end(void){} + +#else // 32 bit floating point calls + +#error mac only can do 64 bit floats for now + +#endif + + +void nseel_asm_2pp(void) +{ +// r3=firstparm, r4=second parm, returns in f1 + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "mtctr r5\n" + "mr r4, r3\n" + "mr r3, r14\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +}; +void nseel_asm_2pp_end(void){} + +void nseel_asm_1pp(void) +{ + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "mtctr r5\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +}; +void nseel_asm_1pp_end(void){} + + +//--------------------------------------------------------------------------------------------------------------- + + + +// do nothing, eh +void nseel_asm_exec2(void) +{ +} +void nseel_asm_exec2_end(void) { } + + + +void nseel_asm_invsqrt(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "frsqrte f1, f1\n" // less accurate than our x86 equivilent, but invsqrt() is inherently inaccurate anyway + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_invsqrt_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sqr(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "fmul f1, f1, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_sqr_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_abs(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "fabs f1, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_abs_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_assign(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "stfd f1, 0(r14)\n" + ); +} +void nseel_asm_assign_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_add(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fadd f1, f1, f2\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_add_end(void) {} + +void nseel_asm_add_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fadd f1, f1, f2\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_add_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sub(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fsub f1, f2, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_sub_end(void) {} + +void nseel_asm_sub_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fsub f1, f2, f1\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_sub_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_mul(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fmul f1, f2, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_mul_end(void) {} + +void nseel_asm_mul_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fmul f1, f2, f1\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_mul_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_div(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fdiv f1, f2, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_div_end(void) {} + +void nseel_asm_div_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fdiv f1, f2, f1\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_div_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_mod(void) +{ + __asm__( + + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fabs f1, f1\n" + "fabs f2, f2\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + + "divw r12, r11, r10\n" + "mullw r12, r12, r10\n" + "subf r10, r12, r11\n" + + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + + + ); +} +void nseel_asm_mod_end(void) {} + +void nseel_asm_mod_op(void) +{ + + __asm__( + + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fabs f1, f1\n" + "fabs f2, f2\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + + "divw r12, r11, r10\n" + "mullw r12, r12, r10\n" + "subf r10, r12, r11\n" + + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); + +} +void nseel_asm_mod_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_or(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + "or r10, r10, r11\n" // r10 has the result + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_or_end(void) {} + +void nseel_asm_or_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + "or r10, r10, r11\n" // r10 has the result + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_or_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_and(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + "and r10, r10, r11\n" // r10 has the result + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + );} +void nseel_asm_and_end(void) {} + +void nseel_asm_and_op(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fctiwz f1, f1\n" + "fctiwz f2, f2\n" + "stfd f1, 8(r16)\n" + "stfd f2, 16(r16)\n" + "lwz r10, 12(r16)\n" + "lwz r11, 20(r16)\n" //r11 and r12 have the integers + "and r10, r10, r11\n" // r10 has the result + "addis r11, 0, 0x4330\n" + "addis r12, 0, 0x8000\n" + "xoris r10, r10, 0x8000\n" + "stw r11, 8(r16)\n" // 0x43300000 + "stw r10, 12(r16)\n" // our integer sign flipped + "stw r11, 16(r16)\n" // 0x43300000 + "stw r12, 20(r16)\n" // 0x80000000 + "lfd f1, 8(r16)\n" + "lfd f2, 16(r16)\n" + "fsub f1, f1, f2\n" + "stfd f1, 0(r14)\n" + "mr r3, r14\n" + ); +} +void nseel_asm_and_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_uplus(void) // this is the same as doing nothing, it seems +{ +} +void nseel_asm_uplus_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_uminus(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "fneg f1, f1\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + ); +} +void nseel_asm_uminus_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sign(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r5)\n" + "lis r9, 0xbff0\n" + "fcmpu cr7, f1, f2\n" + "blt- cr7, 0f\n" + "ble- cr7, 1f\n" + " lis r9, 0x3ff0\n" + "0:\n" + " li r10, 0\n" + " stwu r9, 8(r16)\n" + " stw r10, 4(r16)\n" + " b 2f\n" + "1:\n" + " stfdu f1, 8(r16)\n" + "2:\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_sign_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_bnot(void) +{ + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r5)\n" + "lfd f1, 0(r3)\n" + "fabs f1, f1\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "1:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_bnot_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_if(void) +{ + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r5)\n" + "lfd f1, 0(r3)\n" + "addis r6, 0, 0xdead\n" + "ori r6, r6, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "fabs f1, f1\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 0f\n" + " mtctr r6\n" + "b 1f\n" + "0:\n" + " mtctr r7\n" + "1:\n" + "bctrl\n" + :: ); +} +void nseel_asm_if_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_repeat(void) +{ + __asm__( + "addis r6, 0, 0xdead\n" + "ori r6, r6, 0xbeef\n" + "addis r7, 0, ha16(%0)\n" + "addi r7, r7, lo16(%0)\n" + "lfd f1, 0(r3)\n" + "fctiwz f1, f1\n" + "stfd f1, 8(r16)\n" + "lwz r5, 12(r16)\n" // r5 has count now + "cmpwi cr0, r5, 0\n" + "ble cr0, 1f\n" + "cmpw cr0, r7, r5\n" + "bge cr0, 0f\n" + "mr r5, r7\n" // set r5 to max if we have to +"0:\n" + "stw r5, -4(r1)\n" + "stw r6, -8(r1)\n" + "stwu r16, -12(r1)\n" + + "mtctr r6\n" + "bctrl\n" + + "lwz r16, 0(r1)\n" + "lwz r6, 4(r1)\n" + "lwz r5, 8(r1)\n" + "addi r1, r1, 12\n" + "addi r5, r5, -1\n" + + "cmpwi cr0, r5, 0\n" + "bgt cr0, 0b\n" + "1:\n" + ::"g" (NSEEL_LOOPFUNC_SUPPORT_MAXLEN) + ); +} +void nseel_asm_repeat_end(void) {} + +void nseel_asm_repeatwhile(void) +{ + __asm__( + "addis r6, 0, 0xdead\n" + "ori r6, r6, 0xbeef\n" + "addis r5, 0, ha16(%0)\n" + "addi r5, r5, lo16(%0)\n" +"0:\n" + "stw r5, -4(r1)\n" + "stw r6, -8(r1)\n" + "stwu r16, -12(r1)\n" + + "mtctr r6\n" + "bctrl\n" + + "lwz r16, 0(r1)\n" + "lwz r6, 4(r1)\n" + "lwz r5, 8(r1)\n" + "addi r1, r1, 12\n" + "addi r5, r5, -1\n" + + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "lfd f2, 0(r7)\n" + + "lfd f1, 0(r3)\n" + "fabs f1, f1\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 1f\n" + + "cmpwi cr0, r5, 0\n" + "bgt cr0, 0b\n" + "1:\n" + ::"g" (NSEEL_LOOPFUNC_SUPPORT_MAXLEN) + ); +} +void nseel_asm_repeatwhile_end(void) {} + + +void nseel_asm_band(void) +{ + __asm__( + + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r5)\n" + "lfd f1, 0(r3)\n" + "fabs f1, f1\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 0f\n" + "addis r6, 0, 0xdead\n" + "ori r6, r6, 0xbeef\n" + " mtctr r6\n" + " bctrl\n" + " addis r5, 0, 0xdead\n" + " ori r5, r5, 0xbeef\n" + " lfd f2, 0(r5)\n" + " lfd f1, 0(r3)\n" + " fabs f1, f1\n" + " fcmpu cr7, f1, f2\n" + " bge cr7, 1f\n" + "0:\n" + " fsub f1, f1, f1\n" // set f1 to 0! + " b 2f\n" + "1:\n" + " addis r5, 0, 0xdead\n" // set f1 to 1 + " ori r5, r5, 0xbeef\n" + " lfd f1, 0(r5)\n" + "2:\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +} +void nseel_asm_band_end(void) {} + +void nseel_asm_bor(void) +{ + __asm__( + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f2, 0(r5)\n" + "lfd f1, 0(r3)\n" + "fabs f1, f1\n" + "fcmpu cr7, f1, f2\n" + "bge cr7, 0f\n" + "addis r6, 0, 0xdead\n" + "ori r6, r6, 0xbeef\n" + " mtctr r6\n" + " bctrl\n" + " addis r5, 0, 0xdead\n" + " ori r5, r5, 0xbeef\n" + " lfd f2, 0(r5)\n" + " lfd f1, 0(r3)\n" + " fabs f1, f1\n" + " fcmpu cr7, f1, f2\n" + " blt cr7, 1f\n" + "0:\n" + " addis r5, 0, 0xdead\n" // set f1 to 1 + " ori r5, r5, 0xbeef\n" + " lfd f1, 0(r5)\n" + " b 2f\n" + "1:\n" + " fsub f1, f1, f1\n" // set f1 to 0! + "2:\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: ); +} +void nseel_asm_bor_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_equal(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "fsub f1, f1, f2\n" + "fabs f1, f1\n" + "lfd f2, 0(r5)\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "1:\n" + "lfd f1, 0(r5)\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_equal_end(void) {} +// +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_notequal(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "fsub f1, f1, f2\n" + "fabs f1, f1\n" + "lfd f2, 0(r5)\n" + "fcmpu cr7, f1, f2\n" + "blt cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "1:\n" + "lfd f1, 0(r5)\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_notequal_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_below(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "blt cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "1:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_below_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_beloweq(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "ble cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "1:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_beloweq_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_above(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "bgt cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "1:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_above_end(void) {} + +void nseel_asm_aboveeq(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "bge cr7, 0f\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "b 1f\n" + "0:\n" + "addis r5, 0, 0xdead\n" + "ori r5, r5, 0xbeef\n" + "lfd f1, 0(r5)\n" + "1:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + :: + ); +} +void nseel_asm_aboveeq_end(void) {} + + + +void nseel_asm_min(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "bgt cr7, 0f\n" + "fmr f1, f2\n" + "0:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + ); +} +void nseel_asm_min_end(void) {} + +void nseel_asm_max(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "lfd f2, 0(r14)\n" + "fcmpu cr7, f2, f1\n" + "blt cr7, 0f\n" + "fmr f1, f2\n" + "0:\n" + " stfdu f1, 8(r16)\n" + " mr r3, r16\n" + ); +} + +void nseel_asm_max_end(void) {} + + + + + + + + + +void _asm_generic3parm(void) +{ + __asm__( + "mr r6, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mr r4, r15\n" + "mr r5, r14\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + :: + ); +} +void _asm_generic3parm_end(void) {} + +void _asm_generic3parm_retd(void) +{ + __asm__( + "mr r6, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mr r4, r15\n" + "mr r5, r14\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: + ); +} +void _asm_generic3parm_retd_end(void) {} + + +void _asm_generic2parm(void) // this prob neds to be fixed for ppc +{ + __asm__( + "mr r5, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mr r4, r14\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + :: + ); +} +void _asm_generic2parm_end(void) {} + + +void _asm_generic2parm_retd(void) +{ + __asm__( + "mr r5, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mr r4, r14\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: + ); +} +void _asm_generic2parm_retd_end(void) {} + +void _asm_generic1parm(void) // this prob neds to be fixed for ppc +{ + __asm__( + "mr r4, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + :: + ); +} +void _asm_generic1parm_end(void) {} + + + +void _asm_generic1parm_retd(void) +{ + __asm__( + "mr r4, r3\n" + "addis r3, 0, 0xdead\n" + "ori r3, r3, 0xbeef\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mtctr r7\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "stfdu f1, 8(r16)\n" + "mr r3, r16\n" + :: + ); +} +void _asm_generic1parm_retd_end(void) {} + + + + +void _asm_megabuf(void) +{ + __asm__( + "lfd f1, 0(r3)\n" + "addis r3, 0, 0xdead\n" // set up context pointer + "ori r3, r3, 0xbeef\n" + "addis r4, 0, 0xdead\n" + "ori r4, r4, 0xbeef\n" + "lfd f2, 0(r4)\n" + "fadd f1, f2, f1\n" + "addis r7, 0, 0xdead\n" + "ori r7, r7, 0xbeef\n" + "mtctr r7\n" + "fctiwz f1, f1\n" + "stfd f1, 8(r16)\n" + "lwz r4, 12(r16)\n" + "subi r1, r1, 64\n" + "bctrl\n" + "addi r1, r1, 64\n" + "cmpi cr0, r3, 0\n" + "bne cr0, 0f\n" + "sub r5, r5, r5\n" + "stwu r5, 8(r16)\n" + "stw r5, 4(r16)\n" + "mr r3, r16\n" + "0:\n" + :: + ); +} + +void _asm_megabuf_end(void) {} diff --git a/src/MilkDrop2/ns-eel2/asm-nseel-x86-gcc.c b/src/MilkDrop2/ns-eel2/asm-nseel-x86-gcc.c new file mode 100644 index 0000000000..e7cd7e945a --- /dev/null +++ b/src/MilkDrop2/ns-eel2/asm-nseel-x86-gcc.c @@ -0,0 +1,1566 @@ +#if defined(__APPLE__) +#define SAVE_STACK "pushl %ebp\nmovl %esp, %ebp\nandl $-16, %esp\n" +#define RESTORE_STACK "leave\n" +#else +#define SAVE_STACK +#define RESTORE_STACK +#endif + +/* note: only EEL_F_SIZE=8 is now supported (no float EEL_F's) */ + +void nseel_asm_1pdd(void) +{ + __asm__( + SAVE_STACK +#ifdef TARGET_X64 + "movq (%eax), %xmm0\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %edi\n" +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "call *%edi\n" + "movl %r15, %rsi\n" + "movq xmm0, (%r15)\n" +#else + "call *%edi\n" + "movq xmm0, (%esi)\n" +#endif + "addl $128, %rsp\n" +#else + "subl $8, %esp\n" /* keep stack aligned */ + "pushl 4(%eax)\n" /* push parameter */ + "pushl (%eax)\n" /* push the rest of the parameter */ + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "fstpl (%esi)\n" /* store result */ + "addl $16, %esp\n" +#endif + "movl %esi, %eax\n" /* set return value */ + "addl $8, %esi\n" /* advance worktab ptr */ + RESTORE_STACK + ); +} +void nseel_asm_1pdd_end(void){} + +void nseel_asm_2pdd(void) +{ + __asm__( + SAVE_STACK +#ifdef TARGET_X64 + "movq (%eax), xmm1\n" + "movq (%edi), xmm0\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %edi\n" +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "call *%edi\n" + "movl %r15, %rsi\n" + "movq xmm0, (%r15)\n" +#else + "call *%edi\n" + "movq xmm0, (%esi)\n" +#endif + "addl $128, %rsp\n" +#else + "pushl 4(%eax)\n" /* push parameter */ + "pushl (%eax)\n" /* push the rest of the parameter */ + "pushl 4(%edi)\n" /* push parameter */ + "pushl (%edi)\n" /* push the rest of the parameter */ + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "fstpl (%esi)\n" /* store result */ + "addl $16, %esp\n" +#endif + "movl %esi, %eax\n" /* set return value */ + "addl $8, %esi\n" /* advance worktab ptr */ + RESTORE_STACK + ); +} +void nseel_asm_2pdd_end(void){} + +void nseel_asm_2pdds(void) +{ + __asm__( + SAVE_STACK +#ifdef TARGET_X64 + "movq (%eax), xmm1\n" + "movq (%edi), xmm0\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %eax\n" +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl %rdi, %r14\n" + "call *%eax\n" + "movl %r15, %rsi\n" + "movq xmm0, (%r14)\n" + "movl %r14, %rax\n" /* set return value */ +#else + "call *%eax\n" + "movq xmm0, (%edi)\n" + "movl %edi, %eax\n" /* set return value */ +#endif + "subl $128, %rsp\n" +#else + "pushl 4(%eax)\n" /* push parameter */ + "pushl (%eax)\n" /* push the rest of the parameter */ + "pushl 4(%edi)\n" /* push parameter */ + "pushl (%edi)\n" /* push the rest of the parameter */ + "movl $0xffffffff, %eax\n" + "call *%eax\n" + "fstpl (%edi)\n" /* store result */ + "addl $16, %esp\n" + "movl %edi, %eax\n" /* set return value */ +#endif +RESTORE_STACK + ); +} +void nseel_asm_2pdds_end(void){} + +void nseel_asm_2pp(void) +{ + __asm__( +SAVE_STACK +#ifdef TARGET_X64 + +#ifdef AMD64ABI + "movl %rsi, %r15\n" + /* rdi is first parameter */ + "movl %rax, %rsi\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %eax\n" + "call *%eax\n" + "movl %r15, %rsi\n" + "movq xmm0, (%r15)\n" +#else + "movl %edi, %ecx\n" + "movl %eax, %edx\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "movq xmm0, (%esi)\n" +#endif + "addl $128, %rsp\n" +#else + "subl $8, %esp\n" /* keep stack aligned */ + "pushl %eax\n" /* push parameter */ + "pushl %edi\n" /* push second parameter */ + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" /* store result */ + "addl $16, %esp\n" +#endif + "movl %esi, %eax\n" /* set return value */ + "addl $" EEL_F_SSTR ", %esi\n" /* advance worktab ptr */ +RESTORE_STACK + ); +} +void nseel_asm_2pp_end(void) {} + + +void nseel_asm_1pp(void) +{ +__asm__( +SAVE_STACK +#ifdef TARGET_X64 +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl %eax, %edi\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %rax\n" + "call *%rax\n" + "movl %r15, %rsi\n" + "movq xmm0, (%r15)\n" +#else + "movl %eax, %ecx\n" + "subl $128, %rsp\n" + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "movq xmm0, (%esi)\n" +#endif + "addl $128, %rsp\n" +#else + "subl $12, %esp\n" /* keep stack aligned */ + "pushl %eax\n" /* push parameter */ + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" /* store result */ + "addl $16, %esp\n" +#endif + "movl %esi, %eax\n" /* set return value */ + "addl $" EEL_F_SSTR ", %esi\n" /* advance worktab ptr */ +RESTORE_STACK + ); +} +void nseel_asm_1pp_end(void){} + + + +//--------------------------------------------------------------------------------------------------------------- + + +// do nothing, eh +void nseel_asm_exec2(void) +{ + __asm__( + "" + ); +} +void nseel_asm_exec2_end(void) { } + + + +void nseel_asm_invsqrt(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl $0x5f3759df, %edx\n" + "fsts (%esi)\n" +#ifdef TARGET_X64 + "movl 0xffffffff, %rax\n" + "subl %ecx, %ecx\n" + "fmul" EEL_F_SUFFIX " (%rax)\n" +#else + "fmul" EEL_F_SUFFIX " (0xffffffff)\n" +#endif + "movl (%esi), %ecx\n" + "sarl $1, %ecx\n" + "subl %ecx, %edx\n" + "movl %edx, (%esi)\n" + "fmuls (%esi)\n" + "fmuls (%esi)\n" +#ifdef TARGET_X64 + "movl 0xffffffff, %rax\n" + "fadd" EEL_F_SUFFIX " (%rax)\n" +#else + "fadd" EEL_F_SUFFIX " (0xffffffff)\n" +#endif + "fmuls (%esi)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_invsqrt_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sin(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fsin\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_sin_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_cos(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fcos\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_cos_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_tan(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fptan\n" + "movl %esi, %eax\n" + "fstp %st(0)\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_tan_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sqr(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fmul %st(0), %st(0)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_sqr_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sqrt(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" + "fsqrt\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_sqrt_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_log(void) +{ + __asm__( + "fldln2\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fyl2x\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_log_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_log10(void) +{ + __asm__( + "fldlg2\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fyl2x\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + + ); +} +void nseel_asm_log10_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_abs(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_abs_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_assign(void) +{ +#ifdef TARGET_X64 + + __asm__( + "movll (%rax), %rdx\n" + "movll %rdx, %rcx\n" + "shrl $32, %rdx\n" + "andl $0x7FF00000, %edx\n" + "jz 1f\n" + "cmpl $0x7FF00000, %edx\n" + "je 1f\n" + "jmp 0f\n" + "1:\n" + "subl %rcx, %rcx\n" + "0:\n" + "movll %rcx, (%edi)\n" + ); + +#else + + +#if EEL_F_SIZE == 8 + __asm__( + "movl 4(%eax), %edx\n" + "movl (%eax), %ecx\n" + "andl $0x7ff00000, %edx\n" + "jz 1f\n" // if exponent=zero, zero + "cmpl $0x7ff00000, %edx\n" + "je 1f\n" // if exponent=all 1s, zero + "movl 4(%eax), %edx\n" // reread + "jmp 0f\n" + "1:\n" + "subl %ecx, %ecx\n" + "subl %edx, %edx\n" + "0:\n" + "movl %ecx, (%edi)\n" + "movl %edx, 4(%edi)\n" + ); +#else + __asm__( + "movl (%eax), %ecx\n" + "movl %ecx, (%edi)\n" + ); +#endif + +#endif + +} +void nseel_asm_assign_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_add(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fadd" EEL_F_SUFFIX " (%edi)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_add_end(void) {} + +void nseel_asm_add_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fadd" EEL_F_SUFFIX " (%edi)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_add_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sub(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fsub" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_sub_end(void) {} + +void nseel_asm_sub_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fsub" EEL_F_SUFFIX " (%eax)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_sub_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_mul(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fmul" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_mul_end(void) {} + +void nseel_asm_mul_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fmul" EEL_F_SUFFIX " (%edi)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_mul_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_div(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fdiv" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_div_end(void) {} + +void nseel_asm_div_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fdiv" EEL_F_SUFFIX " (%eax)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_div_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_mod(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" + "fistpl (%esi)\n" + "fabs\n" + "fistpl 4(%esi)\n" + "xorl %edx, %edx\n" +#ifdef TARGET_X64 + "subl %eax, %eax\n" +#endif + "cmpl $0, (%esi)\n" + "je 0f\n" // skip devide, set return to 0 + "movl 4(%esi), %eax\n" + "divl (%esi)\n" + "0:\n" + "movl %edx, (%esi)\n" + "fildl (%esi)\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_mod_end(void) {} + +void nseel_asm_mod_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" + "fistpl (%edi)\n" + "fabs\n" + "fistpl (%esi)\n" +#ifdef TARGET_X64 + "subl %eax, %eax\n" +#endif + "xorl %edx, %edx\n" + "cmpl $0, (%edi)\n" + "je 0f\n" // skip devide, set return to 0 + "movl (%esi), %eax\n" + "divl (%edi)\n" + "0:\n" + "movl %edx, (%edi)\n" + "fildl (%edi)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_mod_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_or(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fistpll (%esi)\n" + "fistpll 8(%esi)\n" +#ifdef TARGET_X64 + "movll 8(%rsi), %rdi\n" + "orll %rdi, (%rsi)\n" +#else + "movl 8(%esi), %edi\n" + "movl 12(%esi), %ecx\n" + "orl %edi, (%esi)\n" + "orl %ecx, 4(%esi)\n" +#endif + "fildll (%esi)\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_or_end(void) {} + +void nseel_asm_or_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "fistpll (%edi)\n" + "fistpll (%esi)\n" +#ifdef TARGET_X64 + "movll (%rsi), %rax\n" + "orll %rax, (%rdi)\n" +#else + "movl (%esi), %eax\n" + "movl 4(%esi), %ecx\n" + "orl %eax, (%edi)\n" + "orl %ecx, 4(%edi)\n" +#endif + "fildll (%edi)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_or_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_and(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl %esi, %eax\n" + "fistpll (%esi)\n" + "fistpll 8(%esi)\n" +#ifdef TARGET_X64 + "movll 8(%rsi), %rdi\n" + "andll %rdi, (%rsi)\n" +#else + "movl 8(%esi), %edi\n" + "movl 12(%esi), %ecx\n" + "andl %edi, (%esi)\n" + "andl %ecx, 4(%esi)\n" +#endif + "fildll (%esi)\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_and_end(void) {} + +void nseel_asm_and_op(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "fistpll (%edi)\n" + "fistpll (%esi)\n" +#ifdef TARGET_X64 + "movll (%rsi), %rax\n" + "andll %rax, (%rdi)\n" +#else + "movl (%esi), %eax\n" + "movl 4(%esi), %ecx\n" + "andl %eax, (%edi)\n" + "andl %ecx, 4(%edi)\n" +#endif + "fildll (%edi)\n" + "movl %edi, %eax\n" + "fstp" EEL_F_SUFFIX " (%edi)\n" + ); +} +void nseel_asm_and_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_uplus(void) // this is the same as doing nothing, it seems +{ + __asm__( + "" + ); +} +void nseel_asm_uplus_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_uminus(void) +{ + __asm__( +#if EEL_F_SIZE == 8 + "movl (%eax), %ecx\n" + "movl 4(%eax), %edi\n" + "movl %ecx, (%esi)\n" + "xorl $0x80000000, %edi\n" + "movl %esi, %eax\n" + "movl %edi, 4(%esi)\n" + "addl $8, %esi\n" +#else + "movl (%eax), %ecx\n" + "xorl $0x80000000, %ecx\n" + "movl %esi, %eax\n" + "movl %ecx, (%esi)\n" + "addl $4, %esi\n" +#endif + ); +} +void nseel_asm_uminus_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_sign(void) +{ + __asm__( + +#ifdef TARGET_X64 + + + "movl $0xFFFFFFFF, %rdi\n" + "movll (%rax), %rcx\n" + "movll $0x7FFFFFFFFFFFFFFF, %rdx\n" + "testl %rdx, %rcx\n" + "jz 1f\n" + "shr $60, %rcx\n" + "andl $8, %rcx\n" + "addll %rdi, %rcx\n" + "movl %rsi, %rax\n" + "addl $8, %rsi\n" + "movll (%rcx), %rdi\n" + "movll %rdi, (%rax)\n" + "1:\n" + + +#else + + "movl $0xFFFFFFFF, %edi\n" +#if EEL_F_SIZE == 8 + "movl 4(%eax), %ecx\n" + "movl (%eax), %edx\n" + "testl $0xFFFFFFFF, %edx\n" + "jnz 0f\n" +#else + "movl (%eax), %ecx\n" +#endif + // high dword (minus sign bit) is zero + "test $0x7FFFFFFF, %ecx\n" + "jz 1f\n" // zero zero, return the value passed directly + "0:\n" +#if EEL_F_SIZE == 8 + "shrl $28, %ecx\n" +#else + "shrl $29, %ecx\n" +#endif + + "andl $" EEL_F_SSTR ", %ecx\n" + "addl %edi, %ecx\n" + + "movl %esi, %eax\n" + "addl $" EEL_F_SSTR ", %esi\n" + + "movl (%ecx), %edi\n" +#if EEL_F_SIZE == 8 + "movl 4(%ecx), %edx\n" +#endif + "movl %edi, (%eax)\n" +#if EEL_F_SIZE == 8 + "movl %edx, 4(%eax)\n" +#endif + "1:\n" + +#endif +); +} +void nseel_asm_sign_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_bnot(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "test $256, %eax\n" + "movl %esi, %eax\n" + "jz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_bnot_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_if(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] + "movll $0xFFFFFFFF, %rax\n" + "movll %rax, (%esi)\n" // conversion script will extend these out to full len + "movll $0xFFFFFFFF, %rax\n" + "movll %rax, 8(%esi)\n" + "fstsw %ax\n" + "shrl $5, %rax\n" + "andl $8, %rax\n" + "movll (%rax, %rsi), %rax\n" + "subl $8, %rsp\n" +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] + "movl $0xFFFFFFFF, (%esi)\n" + "movl $0xFFFFFFFF, 4(%esi)\n" + "fstsw %ax\n" + "shrl $6, %eax\n" + "andl $4, %eax\n" + "movl (%eax, %esi), %eax\n" +#endif + "call *%eax\n" +#ifdef TARGET_X64 + "addl $8, %rsp\n" +#endif + + ); +} +void nseel_asm_if_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_repeat(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fistpl (%esi)\n" +#ifdef TARGET_X64 // safe not sure if movl ecx will zero the high word + "xorl %ecx, %ecx\n" +#endif + "movl (%esi), %ecx\n" + "cmpl $1, %ecx\n" + "jl 1f\n" + "cmpl $" NSEEL_LOOPFUNC_SUPPORT_MAXLEN_STR ", %ecx\n" + "jl 0f\n" + "movl $" NSEEL_LOOPFUNC_SUPPORT_MAXLEN_STR ", %ecx\n" +"0:\n" + "movl $0xFFFFFFFF, %edx\n" + "subl $8, %esp\n" /* keep stack aligned -- note this is required on x64 too!*/ + "pushl %esi\n" // revert back to last temp workspace + "pushl %ecx\n" + "call *%edx\n" + "popl %ecx\n" + "popl %esi\n" + "addl $8, %esp\n" /* keep stack aligned -- also required on x64*/ + "decl %ecx\n" + "jnz 0b\n" +"1:\n" + ); +} +void nseel_asm_repeat_end(void) {} + +void nseel_asm_repeatwhile(void) +{ + __asm__( + "movl $" NSEEL_LOOPFUNC_SUPPORT_MAXLEN_STR ", %ecx\n" +"0:\n" + "movl $0xFFFFFFFF, %edx\n" + "subl $8, %esp\n" /* keep stack aligned -- required on x86 and x64*/ + "pushl %esi\n" // revert back to last temp workspace + "pushl %ecx\n" + "call *%edx\n" + "popl %ecx\n" + "popl %esi\n" + "addl $8, %esp\n" /* keep stack aligned -- required on x86 and x64 */ + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "jnz 0f\n" + "decl %ecx\n" + "jnz 0b\n" + "0:\n" + "movl %esi, %eax\n" + ); +} +void nseel_asm_repeatwhile_end(void) {} + + +void nseel_asm_band(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "jnz 0f\n" // if Z, then we are nonzero + + "movl $0xFFFFFFFF, %ecx\n" +#ifdef TARGET_X64 + "subl $8, %rsp\n" +#endif + "call *%ecx\n" +#ifdef TARGET_X64 + "addl $8, %rsp\n" +#endif + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "jnz 0f\n" + "fld1\n" + "jmp 1f\n" + +"0:\n" + "fldz\n" +"1:\n" + + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_band_end(void) {} + +void nseel_asm_bor(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "jz 0f\n" // if Z, then we are nonzero + + "movl $0xFFFFFFFF, %ecx\n" +#ifdef TARGET_X64 + "subl $8, %rsp\n" +#endif + "call *%ecx\n" +#ifdef TARGET_X64 + "addl $8, %rsp\n" +#endif + "fld" EEL_F_SUFFIX " (%eax)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "jz 0f\n" + "fldz\n" + "jmp 1f\n" + +"0:\n" + "fld1\n" +"1:\n" + + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_bor_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_equal(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fsub" EEL_F_SUFFIX " (%edi)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_equal_end(void) {} +// +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_notequal(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fsub" EEL_F_SUFFIX " (%edi)\n" + "fabs\n" +#ifdef TARGET_X64 + "movl $0xFFFFFFFF, %rax\n" + "fcomp" EEL_F_SUFFIX " (%rax)\n" //[g_closefact] +#else + "fcomp" EEL_F_SUFFIX " (0xFFFFFFFF)\n" //[g_closefact] +#endif + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jnz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_notequal_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_below(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fcomp" EEL_F_SUFFIX " (%eax)\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_below_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_beloweq(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fcomp" EEL_F_SUFFIX " (%edi)\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jnz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_beloweq_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +void nseel_asm_above(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%eax)\n" + "fcomp" EEL_F_SUFFIX " (%edi)\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_above_end(void) {} + +void nseel_asm_aboveeq(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fcomp" EEL_F_SUFFIX " (%eax)\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "movl %esi, %eax\n" + "jnz 0f\n" + "fld1\n" + "jmp 1f\n" + "0:\n" + "fldz\n" + "1:\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + ); +} +void nseel_asm_aboveeq_end(void) {} + + + +void nseel_asm_min(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fcomp" EEL_F_SUFFIX " (%eax)\n" + "pushl %eax\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "popl %eax\n" + "jz 0f\n" + "movl %edi, %eax\n" + "0:\n" + ); + +} +void nseel_asm_min_end(void) {} + +void nseel_asm_max(void) +{ + __asm__( + "fld" EEL_F_SUFFIX " (%edi)\n" + "fcomp" EEL_F_SUFFIX " (%eax)\n" + "pushl %eax\n" + "fstsw %ax\n" + "testl $256, %eax\n" + "popl %eax\n" + "jnz 0f\n" + "movl %edi, %eax\n" + "0:\n" + ); +} +void nseel_asm_max_end(void) {} + + + + + +// just generic functions left, yay + + + + +void _asm_generic3parm(void) +{ + __asm__( +#ifdef TARGET_X64 + +#ifdef AMD64ABI + + "movl %rsi, %r15\n" + "movl %rdi, %rdx\n" // third parameter = parm + "movl $0xFFFFFFFF, %rdi\n" // first parameter= context + + "movl %ecx, %rsi\n" // second parameter = parm + "movl %rax, %rcx\n" // fourth parameter = parm + "movl $0xffffffff, %rax\n" // call function + "subl $128, %rsp\n" + "call *%rax\n" + + "movl %r15, %rsi\n" + "addl $128, %rsp\n" + +#else + "movl %ecx, %edx\n" // second parameter = parm + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %rdi, %r8\n" // third parameter = parm + "movl %rax, %r9\n" // fourth parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" +#endif + +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "pushl %eax\n" // push parameter + "pushl %edi\n" // push parameter + "pushl %ecx\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + ); +} +void _asm_generic3parm_end(void) {} + + +void _asm_generic3parm_retd(void) +{ + __asm__( +#ifdef TARGET_X64 +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl %rdi, %rdx\n" // third parameter = parm + "movl $0xFFFFFFFF, %rdi\n" // first parameter= context + "movl %ecx, %rsi\n" // second parameter = parm + "movl %rax, %rcx\n" // fourth parameter = parm + "movl $0xffffffff, %rax\n" // call function + "subl $128, %rsp\n" + "call *%rax\n" + "addl $128, %rsp\n" + "movl %r15, %rsi\n" + "movl %r15, %rax\n" + "movq xmm0, (%r15)\n" + "addl $8, %rsi\n" +#else + "movl %ecx, %edx\n" // second parameter = parm + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %rdi, %r8\n" // third parameter = parm + "movl %rax, %r9\n" // fourth parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" + "movq xmm0, (%rsi)\n" + "movl %rsi, %rax\n" + "addl $8, %rsi\n" +#endif +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "pushl %eax\n" // push parameter + "pushl %edi\n" // push parameter + "pushl %ecx\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + ); +} +void _asm_generic3parm_retd_end(void) {} + + +void _asm_generic2parm(void) // this prob neds to be fixed for ppc +{ + __asm__( +#ifdef TARGET_X64 + +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl %edi, %esi\n" // second parameter = parm + "movl $0xFFFFFFFF, %edi\n" // first parameter= context + "movl %rax, %rdx\n" // third parameter = parm + "movl $0xffffffff, %rcx\n" // call function + "subl $128, %rsp\n" + "call *%rcx\n" + "movl %r15, %rsi\n" + "addl $128, %rsp\n" +#else + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %edi, %edx\n" // second parameter = parm + "movl %rax, %r8\n" // third parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" +#endif +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "subl $4, %esp\n" // keep stack aligned + "pushl %eax\n" // push parameter + "pushl %edi\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + ); +} +void _asm_generic2parm_end(void) {} + + +void _asm_generic2parm_retd(void) +{ + __asm__( +#ifdef TARGET_X64 +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl %rdi, %rsi\n" // second parameter = parm + "movl $0xFFFFFFFF, %rdi\n" // first parameter= context + "movl %rax, %rdx\n" // third parameter = parm + "movl $0xffffffff, %rcx\n" // call function + "subl $128, %rsp\n" + "call *%rcx\n" + "movl %r15, %rsi\n" + "addl $128, %rsp\n" + "movq xmm0, (%r15)\n" + "movl %r15, %rax\n" + "addl $8, %rsi\n" +#else + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %edi, %edx\n" // second parameter = parm + "movl %rax, %r8\n" // third parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" + "movq xmm0, (%rsi)\n" + "movl %rsi, %rax\n" + "addl $8, %rsi\n" +#endif +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "pushl %eax\n" // push parameter + "pushl %edi\n" // push parameter + "pushl %ecx\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + ); +} +void _asm_generic2parm_retd_end(void) {} + + + + + +void _asm_generic1parm(void) // this prob neds to be fixed for ppc +{ + __asm__( +#ifdef TARGET_X64 +#ifdef AMD64ABI + "movl $0xFFFFFFFF, %rdi\n" // first parameter= context + "movl %rsi, %r15\n" + "movl %eax, %rsi\n" // second parameter = parm + "subl $128, %rsp\n" + "movl $0xffffffff, %rcx\n" // call function + "call *%rcx\n" + "movl %r15, %rsi\n" + "addl $128, %rsp\n" +#else + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %eax, %edx\n" // second parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" +#endif +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "subl $8, %esp\n" // keep stack aligned + "pushl %eax\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + + ); +} +void _asm_generic1parm_end(void) {} + + +void _asm_generic1parm_retd(void) // 1 parameter returning double +{ + __asm__( +#ifdef TARGET_X64 +#ifdef AMD64ABI + "movl %rsi, %r15\n" + "movl $0xFFFFFFFF, %rdi\n" // first parameter= context + "movl %rax, %rsi\n" // second parameter = parm + "movl $0xffffffff, %rcx\n" // call function + "subl $128, %rsp\n" + "call *%rcx\n" + "movl %r15, %rsi\n" + "addl $128, %rsp\n" + "movq xmm0, (%r15)\n" + "movl %r15, %rax\n" + "addl $8, %rsi\n" +#else + "movl $0xFFFFFFFF, %ecx\n" // first parameter= context + "movl %eax, %edx\n" // second parameter = parm + "movl $0xffffffff, %edi\n" // call function + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" + "movq xmm0, (%rsi)\n" + "movl %rsi, %rax\n" + "addl $8, %rsi\n" +#endif +#else +SAVE_STACK + "movl $0xFFFFFFFF, %edx\n" + "subl $8, %esp\n" // keep stack aligned + "pushl %eax\n" // push parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "movl %esi, %eax\n" + "fstp" EEL_F_SUFFIX " (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + "addl $16, %esp\n" +RESTORE_STACK +#endif + ); +} +void _asm_generic1parm_retd_end(void) {} + + + + + +// this gets its own stub because it's pretty crucial for performance :/ + +void _asm_megabuf(void) +{ + __asm__( +SAVE_STACK + +#ifdef TARGET_X64 + + +#ifdef AMD64ABI + + "movl %rsi, %r15\n" + "movl $0xFFFFFFFF, %rdi\n" // first parameter = context pointer + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl $0xFFFFFFFF, %rdx\n" + "fadd" EEL_F_SUFFIX " (%rdx)\n" + "fistpl (%r15)\n" + "xorl %rsi, %rsi\n" + "movl (%r15), %esi\n" // r15 = esi (from above) + "movl $0xffffffff, %edx\n" + "subl $128, %rsp\n" + "call *%edx\n" + "movl %r15, %rsi\n" + "addl $128, %rsp\n" + "and %rax, %rax\n" + "jnz 0f\n" + "movl %r15, %rax\n" + "movll $0, (%esi)\n" + "addl $" EEL_F_SSTR ", %rsi\n" + "0:" + +#else + "movl $0xFFFFFFFF, %ecx\n" // first parameter = context pointer + "fld" EEL_F_SUFFIX " (%eax)\n" + "movl $0xFFFFFFFF, %edx\n" + "fadd" EEL_F_SUFFIX " (%rdx)\n" + "fistpl (%esi)\n" + "xorl %rdx, %rdx\n" + "movl (%esi), %edx\n" + "movl $0xffffffff, %edi\n" + "subl $128, %rsp\n" + "call *%edi\n" + "addl $128, %rsp\n" + "and %rax, %rax\n" + "jnz 0f\n" + "movl %rsi, %rax\n" + "movll $0, (%esi)\n" + "addl $" EEL_F_SSTR ", %esi\n" + "0:" +#endif + + +#else + "movl $0xFFFFFFFF, %edx\n" + "fld" EEL_F_SUFFIX " (%eax)\n" + "fadd" EEL_F_SUFFIX " (0xFFFFFFFF)\n" + "fistpl (%esi)\n" + "subl $8, %esp\n" // keep stack aligned + "pushl (%esi)\n" // parameter + "pushl %edx\n" // push context pointer + "movl $0xffffffff, %edi\n" + "call *%edi\n" + "addl $16, %esp\n" + "and %eax, %eax\n" + "jnz 0f\n" + "movl %esi, %eax\n" + "movl $0, (%esi)\n" +#if EEL_F_SIZE == 8 + "movl $0, 4(%esi)\n" +#endif + "addl $" EEL_F_SSTR ", %esi\n" + "0:" + + +#endif + +RESTORE_STACK + + ); +} + +void _asm_megabuf_end(void) {} + + +#ifdef TARGET_X64 +void win64_callcode() +{ + __asm__( +#ifdef AMD64ABI + "movll %edi, %eax\n" +#else + "movll %ecx, %eax\n" +#endif + + "push %rbx\n" + "push %rbp\n" +#ifndef AMD64ABI + "push %rdi\n" + "push %rsi\n" + "push %r12\n" + "push %r13\n" +#endif + "push %r14\n" // on AMD64ABI, we'll use r14/r15 to save edi/esi + "push %r15\n" + "call %eax\n" + "pop %r15\n" + "pop %r14\n" +#ifndef AMD64ABI + "pop %r13\n" + "pop %r12\n" + "pop %rsi\n" + "pop %rdi\n" + "fclex\n" +#endif + "pop %rbp\n" + "pop %rbx\n" + "ret\n" + ); +} + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/ns-eel2/asm-nseel-x86-msvc.c b/src/MilkDrop2/ns-eel2/asm-nseel-x86-msvc.c new file mode 100644 index 0000000000..30c88c5c14 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/asm-nseel-x86-msvc.c @@ -0,0 +1,2463 @@ +// THIS FILE AUTOGENERATED FROM asm-nseel-x86-gcc.c by a2i.php + +#if EEL_F_SIZE == 8 + #define EEL_ASM_TYPE qword ptr +#else + #define EEL_ASM_TYPE dword ptr +#endif + +#if defined(__APPLE__) +#define SAVE_STACK "pushl %ebp\nmovl %esp, %ebp\nandl $-16, %esp\n" +#define RESTORE_STACK "leave\n" +#else +#define SAVE_STACK +#define RESTORE_STACK +#endif + +/* note: only EEL_F_SIZE=8 is now supported (no float EEL_F's) */ + +__declspec(naked) void nseel_asm_1pdd(void) +{ + __asm { + SAVE_STACK +#ifdef TARGET_X64 + movq xmm0, [eax]; + sub rsp, 128; + mov edi, 0xffffffff; +#ifdef AMD64ABI + mov r15, rsi; + call edi; + mov rsi, r15; + movq [r15], xmm0; +#else + call edi; + movq [esi], xmm0; +#endif + add rsp, 128; +#else + sub esp, 8; /* keep stack aligned */ + push dword ptr [eax+4]; /* push parameter */ + push dword ptr [eax]; /* push the rest of the parameter */ + mov edi, 0xffffffff; + call edi; + fstp qword ptr [esi]; /* store result */ + add esp, 16; +#endif + mov eax, esi; /* set return value */ + add esi, 8; /* advance worktab ptr */ + RESTORE_STACK +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_1pdd_end(void){} + +__declspec(naked) void nseel_asm_2pdd(void) +{ + __asm { + SAVE_STACK +#ifdef TARGET_X64 + movq xmm1, [eax]; + movq xmm0, [edi]; + sub rsp, 128; + mov edi, 0xffffffff; +#ifdef AMD64ABI + mov r15, rsi; + call edi; + mov rsi, r15; + movq [r15], xmm0; +#else + call edi; + movq [esi], xmm0; +#endif + add rsp, 128; +#else + push dword ptr [eax+4]; /* push parameter */ + push dword ptr [eax]; /* push the rest of the parameter */ + push dword ptr [edi+4]; /* push parameter */ + push dword ptr [edi]; /* push the rest of the parameter */ + mov edi, 0xffffffff; + call edi; + fstp qword ptr [esi]; /* store result */ + add esp, 16; +#endif + mov eax, esi; /* set return value */ + add esi, 8; /* advance worktab ptr */ + RESTORE_STACK +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_2pdd_end(void){} + +__declspec(naked) void nseel_asm_2pdds(void) +{ + __asm { + SAVE_STACK +#ifdef TARGET_X64 + movq xmm1, [eax]; + movq xmm0, [edi]; + sub rsp, 128; + mov eax, 0xffffffff; +#ifdef AMD64ABI + mov r15, rsi; + mov r14, rdi; + call eax; + mov rsi, r15; + movq [r14], xmm0; + mov rax, r14; /* set return value */ +#else + call eax; + movq [edi], xmm0; + mov eax, edi; /* set return value */ +#endif + sub rsp, 128; +#else + push dword ptr [eax+4]; /* push parameter */ + push dword ptr [eax]; /* push the rest of the parameter */ + push dword ptr [edi+4]; /* push parameter */ + push dword ptr [edi]; /* push the rest of the parameter */ + mov eax, 0xffffffff; + call eax; + fstp qword ptr [edi]; /* store result */ + add esp, 16; + mov eax, edi; /* set return value */ +#endif +RESTORE_STACK +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_2pdds_end(void){} + +__declspec(naked) void nseel_asm_2pp(void) +{ + __asm { +SAVE_STACK +#ifdef TARGET_X64 + +#ifdef AMD64ABI + mov r15, rsi; + /* rdi is first parameter */ + mov rsi, rax; + sub rsp, 128; + mov eax, 0xffffffff; + call eax; + mov rsi, r15; + movq [r15], xmm0; +#else + mov ecx, edi; + mov edx, eax; + sub rsp, 128; + mov edi, 0xffffffff; + call edi; + movq [esi], xmm0; +#endif + add rsp, 128; +#else + sub esp, 8; /* keep stack aligned */ + push eax; /* push parameter */ + push edi; /* push second parameter */ + mov edi, 0xffffffff; + call edi; + fstp EEL_ASM_TYPE [esi]; /* store result */ + add esp, 16; +#endif + mov eax, esi; /* set return value */ + add esi, EEL_F_SIZE; /* advance worktab ptr */ +RESTORE_STACK +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_2pp_end(void) {} + + +__declspec(naked) void nseel_asm_1pp(void) +{ +__asm { +SAVE_STACK +#ifdef TARGET_X64 +#ifdef AMD64ABI + mov r15, rsi; + mov edi, eax; + sub rsp, 128; + mov rax, 0xffffffff; + call rax; + mov rsi, r15; + movq [r15], xmm0; +#else + mov ecx, eax; + sub rsp, 128; + mov edi, 0xffffffff; + call edi; + movq [esi], xmm0; +#endif + add rsp, 128; +#else + sub esp, 12; /* keep stack aligned */ + push eax; /* push parameter */ + mov edi, 0xffffffff; + call edi; + fstp EEL_ASM_TYPE [esi]; /* store result */ + add esp, 16; +#endif + mov eax, esi; /* set return value */ + add esi, EEL_F_SIZE; /* advance worktab ptr */ +RESTORE_STACK +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_1pp_end(void){} + + + +//--------------------------------------------------------------------------------------------------------------- + + +// do nothing, eh +__declspec(naked) void nseel_asm_exec2(void) +{ + __asm { + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_exec2_end(void) { } + + + +__declspec(naked) void nseel_asm_invsqrt(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + mov edx, 0x5f3759df; + fst dword ptr [esi]; +#ifdef TARGET_X64 + mov rax, 0xffffffff; + sub ecx, ecx; + fmul EEL_ASM_TYPE [rax]; +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fmul qword ptr [0xffffffff] +_emit 0x0D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fmul dword ptr [0xffffffff] +_emit 0x0D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + mov ecx, dword ptr [esi]; + sar ecx, 1; + sub edx, ecx; + mov dword ptr [esi], edx; + fmul dword ptr [esi]; + fmul dword ptr [esi]; +#ifdef TARGET_X64 + mov rax, 0xffffffff; + fadd EEL_ASM_TYPE [rax]; +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fadd qword ptr [0xffffffff] +_emit 0x05; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fadd dword ptr [0xffffffff] +_emit 0x05; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fmul dword ptr [esi]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_invsqrt_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_sin(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fsin; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_sin_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_cos(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fcos; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_cos_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_tan(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fptan; + mov eax, esi; + fstp st(0); + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_tan_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_sqr(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fmul st(0), st(0); + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_sqr_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_sqrt(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; + fsqrt; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_sqrt_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_log(void) +{ + __asm { + fldln2; + fld EEL_ASM_TYPE [eax]; + mov eax, esi; + fyl2x; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_log_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_log10(void) +{ + __asm { + fldlg2; + fld EEL_ASM_TYPE [eax]; + mov eax, esi; + fyl2x; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_log10_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_abs(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_abs_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_assign(void) +{ +#ifdef TARGET_X64 + + __asm { + mov rdx, qword ptr [rax]; + mov rcx, rdx; + shr rdx, 32; + and edx, 0x7FF00000; + jz label_0; + cmp edx, 0x7FF00000; + je label_0; + jmp label_1; +label_0: + + sub rcx, rcx; +label_1: + + mov qword ptr [edi], rcx; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } + +#else + + +#if EEL_F_SIZE == 8 + __asm { + mov edx, dword ptr [eax+4]; + mov ecx, dword ptr [eax]; + and edx, 0x7ff00000; + jz label_2; // if exponent=zero, zero + cmp edx, 0x7ff00000; + je label_2; // if exponent=all 1s, zero + mov edx, dword ptr [eax+4]; // reread + jmp label_3; +label_2: + + sub ecx, ecx; + sub edx, edx; +label_3: + + mov dword ptr [edi], ecx; + mov dword ptr [edi+4], edx; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +#else + __asm { + mov ecx, dword ptr [eax]; + mov dword ptr [edi], ecx; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +#endif + +#endif + +} +__declspec(naked) void nseel_asm_assign_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_add(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fadd EEL_ASM_TYPE [edi]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_add_end(void) {} + +__declspec(naked) void nseel_asm_add_op(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fadd EEL_ASM_TYPE [edi]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_add_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_sub(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fsub EEL_ASM_TYPE [eax]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_sub_end(void) {} + +__declspec(naked) void nseel_asm_sub_op(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fsub EEL_ASM_TYPE [eax]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_sub_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_mul(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fmul EEL_ASM_TYPE [eax]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_mul_end(void) {} + +__declspec(naked) void nseel_asm_mul_op(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fmul EEL_ASM_TYPE [edi]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_mul_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_div(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fdiv EEL_ASM_TYPE [eax]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_div_end(void) {} + +__declspec(naked) void nseel_asm_div_op(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fdiv EEL_ASM_TYPE [eax]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_div_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_mod(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + fabs; + fistp dword ptr [esi]; + fabs; + fistp dword ptr [esi+4]; + xor edx, edx; +#ifdef TARGET_X64 + sub eax, eax; +#endif + cmp dword ptr [esi], 0; + je label_4; // skip devide, set return to 0 + mov eax, dword ptr [esi+4]; + div dword ptr [esi]; +label_4: + + mov dword ptr [esi], edx; + fild dword ptr [esi]; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_mod_end(void) {} + +__declspec(naked) void nseel_asm_mod_op(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + fabs; + fistp dword ptr [edi]; + fabs; + fistp dword ptr [esi]; +#ifdef TARGET_X64 + sub eax, eax; +#endif + xor edx, edx; + cmp dword ptr [edi], 0; + je label_5; // skip devide, set return to 0 + mov eax, dword ptr [esi]; + div dword ptr [edi]; +label_5: + + mov dword ptr [edi], edx; + fild dword ptr [edi]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_mod_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_or(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + mov eax, esi; + fistp qword ptr [esi]; + fistp qword ptr [esi+8]; +#ifdef TARGET_X64 + mov rdi, qword ptr [rsi+8]; + or qword ptr [rsi], rdi; +#else + mov edi, dword ptr [esi+8]; + mov ecx, dword ptr [esi+12]; + or dword ptr [esi], edi; + or dword ptr [esi+4], ecx; +#endif + fild qword ptr [esi]; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_or_end(void) {} + +__declspec(naked) void nseel_asm_or_op(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + fistp qword ptr [edi]; + fistp qword ptr [esi]; +#ifdef TARGET_X64 + mov rax, qword ptr [rsi]; + or qword ptr [rdi], rax; +#else + mov eax, dword ptr [esi]; + mov ecx, dword ptr [esi+4]; + or dword ptr [edi], eax; + or dword ptr [edi+4], ecx; +#endif + fild qword ptr [edi]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_or_op_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_and(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + mov eax, esi; + fistp qword ptr [esi]; + fistp qword ptr [esi+8]; +#ifdef TARGET_X64 + mov rdi, qword ptr [rsi+8]; + and qword ptr [rsi], rdi; +#else + mov edi, dword ptr [esi+8]; + mov ecx, dword ptr [esi+12]; + and dword ptr [esi], edi; + and dword ptr [esi+4], ecx; +#endif + fild qword ptr [esi]; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_and_end(void) {} + +__declspec(naked) void nseel_asm_and_op(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fld EEL_ASM_TYPE [eax]; + fistp qword ptr [edi]; + fistp qword ptr [esi]; +#ifdef TARGET_X64 + mov rax, qword ptr [rsi]; + and qword ptr [rdi], rax; +#else + mov eax, dword ptr [esi]; + mov ecx, dword ptr [esi+4]; + and dword ptr [edi], eax; + and dword ptr [edi+4], ecx; +#endif + fild qword ptr [edi]; + mov eax, edi; + fstp EEL_ASM_TYPE [edi]; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_and_op_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_uplus(void) // this is the same as doing nothing, it seems +{ + __asm { + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_uplus_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_uminus(void) +{ + __asm { +#if EEL_F_SIZE == 8 + mov ecx, dword ptr [eax]; + mov edi, dword ptr [eax+4]; + mov dword ptr [esi], ecx; + xor edi, 0x80000000; + mov eax, esi; + mov dword ptr [esi+4], edi; + add esi, 8; +#else + mov ecx, dword ptr [eax]; + xor ecx, 0x80000000; + mov eax, esi; + mov dword ptr [esi], ecx; + add esi, 4; +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_uminus_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_sign(void) +{ + __asm { + +#ifdef TARGET_X64 + + + mov rdi, 0xFFFFFFFF; + mov rcx, qword ptr [rax]; + mov rdx, 0x7FFFFFFFFFFFFFFF; + test rcx, rdx; + jz label_6; + shr rcx, 60; + and rcx, 8; + add rcx, rdi; + mov rax, rsi; + add rsi, 8; + mov rdi, qword ptr [rcx]; + mov qword ptr [rax], rdi; +label_6: + + + +#else + + mov edi, 0xFFFFFFFF; +#if EEL_F_SIZE == 8 + mov ecx, dword ptr [eax+4]; + mov edx, dword ptr [eax]; + test edx, 0xFFFFFFFF; + jnz label_7; +#else + mov ecx, dword ptr [eax]; +#endif + // high dword (minus sign bit) is zero + test ecx, 0x7FFFFFFF; + jz label_8; // zero zero, return the value passed directly +label_7: + +#if EEL_F_SIZE == 8 + shr ecx, 28; +#else + shr ecx, 29; +#endif + + and ecx, EEL_F_SIZE; + add ecx, edi; + + mov eax, esi; + add esi, EEL_F_SIZE; + + mov edi, dword ptr [ecx]; +#if EEL_F_SIZE == 8 + mov edx, dword ptr [ecx+4]; +#endif + mov dword ptr [eax], edi; +#if EEL_F_SIZE == 8 + mov dword ptr [eax+4], edx; +#endif +label_8: + + +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +} +} +__declspec(naked) void nseel_asm_sign_end(void) {} + + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_bnot(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + mov eax, esi; + jz label_9; + fld1; + jmp label_10; +label_9: + + fldz; +label_10: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_bnot_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_if(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] + mov rax, 0xFFFFFFFF; + mov qword ptr [esi], rax; // conversion script will extend these out to full len + mov rax, 0xFFFFFFFF; + mov qword ptr [esi+8], rax; + fstsw ax; + shr rax, 5; + and rax, 8; + mov rax, qword ptr [rax+rsi]; + sub rsp, 8; +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif + mov dword ptr [esi], 0xFFFFFFFF; + mov dword ptr [esi+4], 0xFFFFFFFF; + fstsw ax; + shr eax, 6; + and eax, 4; + mov eax, dword ptr [eax+esi]; +#endif + call eax; +#ifdef TARGET_X64 + add rsp, 8; +#endif + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_if_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_repeat(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fistp dword ptr [esi]; +#ifdef TARGET_X64 // safe not sure if movl ecx will zero the high word + xor ecx, ecx; +#endif + mov ecx, dword ptr [esi]; + cmp ecx, 1; + jl label_11; + cmp ecx, NSEEL_LOOPFUNC_SUPPORT_MAXLEN; + jl label_12; + mov ecx, NSEEL_LOOPFUNC_SUPPORT_MAXLEN; +label_12: + + mov edx, 0xFFFFFFFF; + sub esp, 8; /* keep stack aligned -- note this is required on x64 too!*/ + push esi; // revert back to last temp workspace + push ecx; + call edx; + pop ecx; + pop esi; + add esp, 8; /* keep stack aligned -- also required on x64*/ + dec ecx; + jnz label_12; +label_11: + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_repeat_end(void) {} + +__declspec(naked) void nseel_asm_repeatwhile(void) +{ + __asm { + mov ecx, NSEEL_LOOPFUNC_SUPPORT_MAXLEN; +label_13: + + mov edx, 0xFFFFFFFF; + sub esp, 8; /* keep stack aligned -- required on x86 and x64*/ + push esi; // revert back to last temp workspace + push ecx; + call edx; + pop ecx; + pop esi; + add esp, 8; /* keep stack aligned -- required on x86 and x64 */ + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + jnz label_14; + dec ecx; + jnz label_13; +label_14: + + mov eax, esi; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_repeatwhile_end(void) {} + + +__declspec(naked) void nseel_asm_band(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + jnz label_15; // if Z, then we are nonzero + + mov ecx, 0xFFFFFFFF; +#ifdef TARGET_X64 + sub rsp, 8; +#endif + call ecx; +#ifdef TARGET_X64 + add rsp, 8; +#endif + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + jnz label_15; + fld1; + jmp label_16; + +label_15: + + fldz; +label_16: + + + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_band_end(void) {} + +__declspec(naked) void nseel_asm_bor(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + jz label_17; // if Z, then we are nonzero + + mov ecx, 0xFFFFFFFF; +#ifdef TARGET_X64 + sub rsp, 8; +#endif + call ecx; +#ifdef TARGET_X64 + add rsp, 8; +#endif + fld EEL_ASM_TYPE [eax]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + jz label_17; + fldz; + jmp label_18; + +label_17: + + fld1; +label_18: + + + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_bor_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_equal(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fsub EEL_ASM_TYPE [edi]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + mov eax, esi; + jz label_19; + fld1; + jmp label_20; +label_19: + + fldz; +label_20: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_equal_end(void) {} +// +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_notequal(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fsub EEL_ASM_TYPE [edi]; + fabs; +#ifdef TARGET_X64 + mov rax, 0xFFFFFFFF; + fcomp EEL_ASM_TYPE [rax]; //[g_closefact] +#else +#if EEL_F_SIZE == 8 +_emit 0xDC; // fcomp qword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fcomp dword ptr [0xffffffff] +_emit 0x1D; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif +#endif + fstsw ax; + test eax, 256; + mov eax, esi; + jnz label_21; + fld1; + jmp label_22; +label_21: + + fldz; +label_22: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_notequal_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_below(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fcomp EEL_ASM_TYPE [eax]; + fstsw ax; + test eax, 256; + mov eax, esi; + jz label_23; + fld1; + jmp label_24; +label_23: + + fldz; +label_24: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_below_end(void) {} + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_beloweq(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fcomp EEL_ASM_TYPE [edi]; + fstsw ax; + test eax, 256; + mov eax, esi; + jnz label_25; + fld1; + jmp label_26; +label_25: + + fldz; +label_26: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_beloweq_end(void) {} + + +//--------------------------------------------------------------------------------------------------------------- +__declspec(naked) void nseel_asm_above(void) +{ + __asm { + fld EEL_ASM_TYPE [eax]; + fcomp EEL_ASM_TYPE [edi]; + fstsw ax; + test eax, 256; + mov eax, esi; + jz label_27; + fld1; + jmp label_28; +label_27: + + fldz; +label_28: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_above_end(void) {} + +__declspec(naked) void nseel_asm_aboveeq(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fcomp EEL_ASM_TYPE [eax]; + fstsw ax; + test eax, 256; + mov eax, esi; + jnz label_29; + fld1; + jmp label_30; +label_29: + + fldz; +label_30: + + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_aboveeq_end(void) {} + + + +__declspec(naked) void nseel_asm_min(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fcomp EEL_ASM_TYPE [eax]; + push eax; + fstsw ax; + test eax, 256; + pop eax; + jz label_31; + mov eax, edi; +label_31: + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } + +} +__declspec(naked) void nseel_asm_min_end(void) {} + +__declspec(naked) void nseel_asm_max(void) +{ + __asm { + fld EEL_ASM_TYPE [edi]; + fcomp EEL_ASM_TYPE [eax]; + push eax; + fstsw ax; + test eax, 256; + pop eax; + jnz label_32; + mov eax, edi; +label_32: + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void nseel_asm_max_end(void) {} + + + + + +// just generic functions left, yay + + + + +__declspec(naked) void _asm_generic3parm(void) +{ + __asm { +#ifdef TARGET_X64 + +#ifdef AMD64ABI + + mov r15, rsi; + mov rdx, rdi; // third parameter = parm + mov rdi, 0xFFFFFFFF; // first parameter= context + + mov rsi, ecx; // second parameter = parm + mov rcx, rax; // fourth parameter = parm + mov rax, 0xffffffff; // call function + sub rsp, 128; + call rax; + + mov rsi, r15; + add rsp, 128; + +#else + mov edx, ecx; // second parameter = parm + mov ecx, 0xFFFFFFFF; // first parameter= context + mov r8, rdi; // third parameter = parm + mov r9, rax; // fourth parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; +#endif + +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + push eax; // push parameter + push edi; // push parameter + push ecx; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + add esp, 16; +RESTORE_STACK +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic3parm_end(void) {} + + +__declspec(naked) void _asm_generic3parm_retd(void) +{ + __asm { +#ifdef TARGET_X64 +#ifdef AMD64ABI + mov r15, rsi; + mov rdx, rdi; // third parameter = parm + mov rdi, 0xFFFFFFFF; // first parameter= context + mov rsi, ecx; // second parameter = parm + mov rcx, rax; // fourth parameter = parm + mov rax, 0xffffffff; // call function + sub rsp, 128; + call rax; + add rsp, 128; + mov rsi, r15; + mov rax, r15; + movq [r15], xmm0; + add rsi, 8; +#else + mov edx, ecx; // second parameter = parm + mov ecx, 0xFFFFFFFF; // first parameter= context + mov r8, rdi; // third parameter = parm + mov r9, rax; // fourth parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; + movq [rsi], xmm0; + mov rax, rsi; + add rsi, 8; +#endif +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + push eax; // push parameter + push edi; // push parameter + push ecx; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; + add esp, 16; +RESTORE_STACK +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic3parm_retd_end(void) {} + + +__declspec(naked) void _asm_generic2parm(void) // this prob neds to be fixed for ppc +{ + __asm { +#ifdef TARGET_X64 + +#ifdef AMD64ABI + mov r15, rsi; + mov esi, edi; // second parameter = parm + mov edi, 0xFFFFFFFF; // first parameter= context + mov rdx, rax; // third parameter = parm + mov rcx, 0xffffffff; // call function + sub rsp, 128; + call rcx; + mov rsi, r15; + add rsp, 128; +#else + mov ecx, 0xFFFFFFFF; // first parameter= context + mov edx, edi; // second parameter = parm + mov r8, rax; // third parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; +#endif +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + sub esp, 4; // keep stack aligned + push eax; // push parameter + push edi; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + add esp, 16; +RESTORE_STACK +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic2parm_end(void) {} + + +__declspec(naked) void _asm_generic2parm_retd(void) +{ + __asm { +#ifdef TARGET_X64 +#ifdef AMD64ABI + mov r15, rsi; + mov rsi, rdi; // second parameter = parm + mov rdi, 0xFFFFFFFF; // first parameter= context + mov rdx, rax; // third parameter = parm + mov rcx, 0xffffffff; // call function + sub rsp, 128; + call rcx; + mov rsi, r15; + add rsp, 128; + movq [r15], xmm0; + mov rax, r15; + add rsi, 8; +#else + mov ecx, 0xFFFFFFFF; // first parameter= context + mov edx, edi; // second parameter = parm + mov r8, rax; // third parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; + movq [rsi], xmm0; + mov rax, rsi; + add rsi, 8; +#endif +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + push eax; // push parameter + push edi; // push parameter + push ecx; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; + add esp, 16; +RESTORE_STACK +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic2parm_retd_end(void) {} + + + + + +__declspec(naked) void _asm_generic1parm(void) // this prob neds to be fixed for ppc +{ + __asm { +#ifdef TARGET_X64 +#ifdef AMD64ABI + mov rdi, 0xFFFFFFFF; // first parameter= context + mov r15, rsi; + mov rsi, eax; // second parameter = parm + sub rsp, 128; + mov rcx, 0xffffffff; // call function + call rcx; + mov rsi, r15; + add rsp, 128; +#else + mov ecx, 0xFFFFFFFF; // first parameter= context + mov edx, eax; // second parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; +#endif +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + sub esp, 8; // keep stack aligned + push eax; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + add esp, 16; +RESTORE_STACK +#endif + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic1parm_end(void) {} + + +__declspec(naked) void _asm_generic1parm_retd(void) // 1 parameter returning double +{ + __asm { +#ifdef TARGET_X64 +#ifdef AMD64ABI + mov r15, rsi; + mov rdi, 0xFFFFFFFF; // first parameter= context + mov rsi, rax; // second parameter = parm + mov rcx, 0xffffffff; // call function + sub rsp, 128; + call rcx; + mov rsi, r15; + add rsp, 128; + movq [r15], xmm0; + mov rax, r15; + add rsi, 8; +#else + mov ecx, 0xFFFFFFFF; // first parameter= context + mov edx, eax; // second parameter = parm + mov edi, 0xffffffff; // call function + sub rsp, 128; + call edi; + add rsp, 128; + movq [rsi], xmm0; + mov rax, rsi; + add rsi, 8; +#endif +#else +SAVE_STACK + mov edx, 0xFFFFFFFF; + sub esp, 8; // keep stack aligned + push eax; // push parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + mov eax, esi; + fstp EEL_ASM_TYPE [esi]; + add esi, EEL_F_SIZE; + add esp, 16; +RESTORE_STACK +#endif +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} +__declspec(naked) void _asm_generic1parm_retd_end(void) {} + + + + + +// this gets its own stub because it's pretty crucial for performance :/ + +__declspec(naked) void _asm_megabuf(void) +{ + __asm { +SAVE_STACK + +#ifdef TARGET_X64 + + +#ifdef AMD64ABI + + mov r15, rsi; + mov rdi, 0xFFFFFFFF; // first parameter = context pointer + fld EEL_ASM_TYPE [eax]; + mov rdx, 0xFFFFFFFF; + fadd EEL_ASM_TYPE [rdx]; + fistp dword ptr [r15]; + xor rsi, rsi; + mov esi, dword ptr [r15]; // r15 = esi (from above) + mov edx, 0xffffffff; + sub rsp, 128; + call edx; + mov rsi, r15; + add rsp, 128; + and rax, rax; + jnz label_33; + mov rax, r15; + mov qword ptr [esi], 0; + add rsi, EEL_F_SIZE; +label_33: + + +#else + mov ecx, 0xFFFFFFFF; // first parameter = context pointer + fld EEL_ASM_TYPE [eax]; + mov edx, 0xFFFFFFFF; + fadd EEL_ASM_TYPE [rdx]; + fistp dword ptr [esi]; + xor rdx, rdx; + mov edx, dword ptr [esi]; + mov edi, 0xffffffff; + sub rsp, 128; + call edi; + add rsp, 128; + and rax, rax; + jnz label_34; + mov rax, rsi; + mov qword ptr [esi], 0; + add esi, EEL_F_SIZE; +label_34: + +#endif + + +#else + mov edx, 0xFFFFFFFF; + fld EEL_ASM_TYPE [eax]; +#if EEL_F_SIZE == 8 +_emit 0xDC; // fadd qword ptr [0xffffffff] +_emit 0x05; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#else +_emit 0xD8; // fadd dword ptr [0xffffffff] +_emit 0x05; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +_emit 0xFF; +#endif + fistp dword ptr [esi]; + sub esp, 8; // keep stack aligned + push dword ptr [esi]; // parameter + push edx; // push context pointer + mov edi, 0xffffffff; + call edi; + add esp, 16; + and eax, eax; + jnz label_35; + mov eax, esi; + mov dword ptr [esi], 0; +#if EEL_F_SIZE == 8 + mov dword ptr [esi+4], 0; +#endif + add esi, EEL_F_SIZE; +label_35: + + + +#endif + +RESTORE_STACK + +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} + +__declspec(naked) void _asm_megabuf_end(void) {} + + +#ifdef TARGET_X64 +__declspec(naked) void win64_callcode() +{ + __asm { +#ifdef AMD64ABI + mov eax, edi; +#else + mov eax, ecx; +#endif + + push rbx; + push rbp; +#ifndef AMD64ABI + push rdi; + push rsi; + push r12; + push r13; +#endif + push r14; // on AMD64ABI, we'll use r14/r15 to save edi/esi + push r15; + call eax; + pop r15; + pop r14; +#ifndef AMD64ABI + pop r13; + pop r12; + pop rsi; + pop rdi; + fclex; +#endif + pop rbp; + pop rbx; + ret; +_emit 0x89; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; +_emit 0x90; + } +} + +#endif diff --git a/src/MilkDrop2/ns-eel2/ns-eel-addfuncs.h b/src/MilkDrop2/ns-eel2/ns-eel-addfuncs.h new file mode 100644 index 0000000000..e653e0a141 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/ns-eel-addfuncs.h @@ -0,0 +1,74 @@ +/* + Nullsoft Expression Evaluator Library (NS-EEL) + Copyright (C) 1999-2003 Nullsoft, Inc. + + ns-eel-addfuncs.h: defines macros useful for adding functions to the compiler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifndef __NS_EEL_ADDFUNCS_H__ +#define __NS_EEL_ADDFUNCS_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +struct _compileContext; +typedef void (*NSEEL_PPPROC)(void *data, int data_size, struct _compileContext *userfunc_data); + +void NSEEL_PProc_RAM(void *data, int data_size, struct _compileContext *ctx); +void NSEEL_PProc_THIS(void *data, int data_size, struct _compileContext *ctx); + + +void _asm_generic3parm(void); // 3 double * parms, returning double * +void _asm_generic3parm_end(void); +void _asm_generic3parm_retd(void); // 3 double * parms, returning double +void _asm_generic3parm_retd_end(void); +void _asm_generic2parm(void); // 2 double * parms, returning double * +void _asm_generic2parm_end(void); +void _asm_generic2parm_retd(void); // 2 double * parms, returning double +void _asm_generic2parm_retd_end(void); +void _asm_generic1parm(void); // 1 double * parms, returning double * +void _asm_generic1parm_end(void); +void _asm_generic1parm_retd(void); // 1 double * parms, returning double +void _asm_generic1parm_retd_end(void); + +void _asm_megabuf(void); +void _asm_megabuf_end(void); + + + +#if EEL_F_SIZE == 4 +#define EEL_F_SSTR "4" +#define EEL_F_SUFFIX "s" +#else +#define EEL_F_SSTR "8" +#define EEL_F_SUFFIX "l" +#endif + +#ifdef _MSC_VER +#define NSEEL_CGEN_CALL __cdecl +#else +#define NSEEL_CGEN_CALL +#endif + +#ifdef __cplusplus +}; + +#endif +#endif//__NS_EEL_ADDFUNCS_H__ diff --git a/src/MilkDrop2/ns-eel2/ns-eel-int.h b/src/MilkDrop2/ns-eel2/ns-eel-int.h new file mode 100644 index 0000000000..3718604a30 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/ns-eel-int.h @@ -0,0 +1,227 @@ +/* + Nullsoft Expression Evaluator Library (NS-EEL) + Copyright (C) 1999-2003 Nullsoft, Inc. + + ns-eel-int.h: internal code definition header. + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifndef __NS_EELINT_H__ +#define __NS_EELINT_H__ + +#ifdef _WIN32 +#include +#else +#include "../wdltypes.h" +#endif + +#include "ns-eel.h" +#include "ns-eel-addfuncs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define FN_ASSIGN 0 +#define FN_MULTIPLY 1 +#define FN_DIVIDE 2 +#define FN_MODULO 3 +#define FN_ADD 4 +#define FN_SUB 5 +#define FN_AND 6 +#define FN_OR 7 +#define FN_UMINUS 8 +#define FN_UPLUS 9 + +#define MATH_SIMPLE 0 +#define MATH_FN 1 + +#define YYSTYPE INT_PTR + +#define NSEEL_CLOSEFACTOR 0.00001 + +typedef struct +{ + int srcByteCount; + int destByteCount; +} lineRecItem; + +typedef struct _compileContext +{ + EEL_F **varTable_Values; + char **varTable_Names; + int varTable_numBlocks; + + int errVar; + int colCount; + INT_PTR result; + char last_error_string[256]; + YYSTYPE yylval; + int yychar; /* the lookahead symbol */ + int yynerrs; /* number of parse errors so far */ + char yytext[256]; + char lastVar[256]; + + char *llsave[16]; /* Look ahead buffer */ + char llbuf[100]; /* work buffer */ + char *llp1;// = &llbuf[0]; /* pointer to next avail. in token */ + char *llp2;// = &llbuf[0]; /* pointer to end of lookahead */ + char *llend;// = &llbuf[0]; /* pointer to end of token */ + char *llebuf;// = &llbuf[sizeof llbuf]; + int lleof; + int yyline;// = 0; + + void *tmpblocks_head,*blocks_head; + int computTableTop; // make it abort on potential overflow =) + int l_stats[4]; // source bytes, static code bytes, call code bytes, data bytes + + lineRecItem *compileLineRecs; + int compileLineRecs_size; + int compileLineRecs_alloc; + + void *ram_blocks; // this needs to be immediately followed by + int ram_needfree; + + void *gram_blocks; + + void *caller_this; +} +compileContext; + +#define NSEEL_VARS_PER_BLOCK 64 + +typedef struct { + const char *name; + void *afunc; + void *func_e; + int nParams; + void *replptrs[4]; + NSEEL_PPPROC pProc; +} functionType; + + +extern functionType *nseel_getFunctionFromTable(int idx); + +INT_PTR nseel_createCompiledValue(compileContext *ctx, EEL_F value, EEL_F *addrValue); +INT_PTR nseel_createCompiledFunction1(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code); +INT_PTR nseel_createCompiledFunction2(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code1, INT_PTR code2); +INT_PTR nseel_createCompiledFunction3(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code1, INT_PTR code2, INT_PTR code3); + +extern EEL_F nseel_globalregs[100]; + +void nseel_resetVars(compileContext *ctx); +EEL_F *nseel_getVarPtr(compileContext *ctx, char *varName); +EEL_F *nseel_registerVar(compileContext *ctx, char *varName); + +INT_PTR *EEL_GLUE_set_immediate(void *_p, void *newv); + +// other shat + + + +INT_PTR nseel_setVar(compileContext *ctx, INT_PTR varNum); +INT_PTR nseel_getVar(compileContext *ctx, INT_PTR varNum); +void *nseel_compileExpression(compileContext *ctx, char *txt); + +#define VALUE 258 +#define IDENTIFIER 259 +#define FUNCTION1 260 +#define FUNCTION2 261 +#define FUNCTION3 262 +#define UMINUS 263 +#define UPLUS 264 + +INT_PTR nseel_translate(compileContext *ctx, int type); +void nseel_count(compileContext *ctx); +void nseel_setLastVar(compileContext *ctx); +INT_PTR nseel_lookup(compileContext *ctx, int *typeOfObject); +int nseel_yyerror(compileContext *ctx); +int nseel_yylex(compileContext *ctx, char **exp); +int nseel_yyparse(compileContext *ctx, char *exp); +void nseel_llinit(compileContext *ctx); +int nseel_gettoken(compileContext *ctx, char *lltb, int lltbsiz); + +struct lextab { + int llendst; /* Last state number */ + char *lldefault; /* Default state table */ + char *llnext; /* Next state table */ + char *llcheck; /* Check table */ + int *llbase; /* Base table */ + int llnxtmax; /* Last in next table */ + int (*llmove)(); /* Move between states */ + char *llfinal; /* Final state descriptions */ + int (*llactr)(); /* Action routine */ + int *lllook; /* Look ahead vector if != NULL */ + char *llign; /* Ignore char vec if != NULL */ + char *llbrk; /* Break char vec if != NULL */ + char *llill; /* Illegal char vec if != NULL */ +}; +extern struct lextab nseel_lextab; + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAMAlloc(EEL_F ***blocks, int w); +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAMAllocGMEM(EEL_F ***blocks, int w); +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemSet(EEL_F ***blocks,EEL_F *dest, EEL_F *v, EEL_F *lenptr); +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemFree(EEL_F ***blocks, EEL_F *which); +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemCpy(EEL_F ***blocks,EEL_F *dest, EEL_F *src, EEL_F *lenptr); + + + +#ifndef max +#define max(x,y) ((x)<(y)?(y):(x)) +#define min(x,y) ((x)<(y)?(x):(y)) +#endif + + + +#ifdef __ppc__ + + #define EEL_F2int(x) ((int)(x)) + +#elif defined (_WIN64) + + // todo: AMD64 version? + #define EEL_F2int(x) ((int)(x)) + +#elif defined(_MSC_VER) + +static __inline int EEL_F2int(EEL_F d) +{ + int tmp; + __asm { + fld d + fistp tmp + } + return tmp; +} + +#else + +static inline int EEL_F2int(EEL_F d) +{ + int tmp; + __asm__ __volatile__ ("fistpl %0" : "=m" (tmp) : "t" (d) : "st") ; + return tmp; +} + +#endif + +#ifdef __cplusplus +} +#endif + +#endif//__NS_EELINT_H__ diff --git a/src/MilkDrop2/ns-eel2/ns-eel.h b/src/MilkDrop2/ns-eel2/ns-eel.h new file mode 100644 index 0000000000..cb56137786 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/ns-eel.h @@ -0,0 +1,155 @@ +/* + Nullsoft Expression Evaluator Library (NS-EEL) + Copyright (C) 1999-2003 Nullsoft, Inc. + + ns-eel.h: main application interface header + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +#ifndef __NS_EEL_H__ +#define __NS_EEL_H__ + +// put standard includes here +#include +#include + +#ifdef _MSC_VER +#define strcasecmp stricmp +#define strncasecmp _strnicmp +#endif + +#ifndef EEL_F_SIZE +#define EEL_F_SIZE 8 +#endif + +#if EEL_F_SIZE == 4 +typedef float EEL_F; +#else +typedef double EEL_F; +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + +// host should implement these (can be empty stub functions if no VM will execute code in multiple threads at once) + + // implement if you will be running the code in same VM from multiple threads, + // or VMs that have the same GRAM pointer from different threads, or multiple + // VMs that have a NULL GRAM pointer from multiple threads. + // if you give each VM it's own unique GRAM and only run each VM in one thread, then you can leave it blank. + + // or if you're daring.... + +void NSEEL_HOSTSTUB_EnterMutex(); +void NSEEL_HOSTSTUB_LeaveMutex(); + + +int NSEEL_init(); // returns 0 on success. clears any added functions as well + +#define NSEEL_addfunction(name,nparms,code,len) NSEEL_addfunctionex((name),(nparms),(code),(len),0,0) +#define NSEEL_addfunctionex(name,nparms,code,len,pproc,fptr) NSEEL_addfunctionex2((name),(nparms),(code),(len),(pproc),(fptr),0) +void NSEEL_addfunctionex2(const char *name, int nparms, char *code_startaddr, int code_len, void *pproc, void *fptr, void *fptr2); + +void NSEEL_quit(); + +int *NSEEL_getstats(); // returns a pointer to 5 ints... source bytes, static code bytes, call code bytes, data bytes, number of code handles +EEL_F *NSEEL_getglobalregs(); + +typedef void *NSEEL_VMCTX; +typedef void *NSEEL_CODEHANDLE; + +NSEEL_VMCTX NSEEL_VM_alloc(); // return a handle +void NSEEL_VM_free(NSEEL_VMCTX ctx); // free when done with a VM and ALL of its code have been freed, as well + +void NSEEL_VM_enumallvars(NSEEL_VMCTX ctx, int (*func)(const char *name, EEL_F *val, void *ctx), void *userctx); // return false from func to stop +void NSEEL_VM_resetvars(NSEEL_VMCTX ctx); // clears all vars to 0.0. + +EEL_F *NSEEL_VM_regvar(NSEEL_VMCTX ctx, const char *name); // register a variable (before compilation) + +void NSEEL_VM_freeRAM(NSEEL_VMCTX ctx); // clears and frees all (VM) RAM used +void NSEEL_VM_freeRAMIfCodeRequested(NSEEL_VMCTX); // call after code to free the script-requested memory +int NSEEL_VM_wantfreeRAM(NSEEL_VMCTX ctx); // want NSEEL_VM_freeRAMIfCodeRequested? + +// if you set this, it uses a local GMEM context. +// Must be set before compilation. +// void *p=NULL; +// NSEEL_VM_SetGRAM(ctx,&p); +// .. do stuff +// NSEEL_VM_FreeGRAM(&p); +void NSEEL_VM_SetGRAM(NSEEL_VMCTX ctx, void **gram); +void NSEEL_VM_FreeGRAM(void **ufd); // frees a gmem context. +void NSEEL_VM_SetCustomFuncThis(NSEEL_VMCTX ctx, void *thisptr); + + + // note that you shouldnt pass a C string directly, since it may need to + // fudge with the string during the compilation (it will always restore it to the + // original value though). +#ifdef __cplusplus +NSEEL_CODEHANDLE NSEEL_code_compile(NSEEL_VMCTX ctx, char *code, int lineoffs=0); +#else +NSEEL_CODEHANDLE NSEEL_code_compile(NSEEL_VMCTX ctx, char *code, int lineoffs); +#endif + +char *NSEEL_code_getcodeerror(NSEEL_VMCTX ctx); +void NSEEL_code_execute(NSEEL_CODEHANDLE code); +void NSEEL_code_free(NSEEL_CODEHANDLE code); +int *NSEEL_code_getstats(NSEEL_CODEHANDLE code); // 4 ints...source bytes, static code bytes, call code bytes, data bytes + + +// global memory control/view +extern unsigned int NSEEL_RAM_limitmem; // if nonzero, memory limit for user data, in bytes +extern unsigned int NSEEL_RAM_memused; +extern int NSEEL_RAM_memused_errors; + + + +// configuration: + +#define NSEEL_MAX_VARIABLE_NAMELEN 16 +// define this to override the max variable length (default is 16 bytes) + +//#define NSEEL_MAX_TEMPSPACE_ENTRIES 2048 +// define this to override the maximum working space in 8 byte units. +// 2048 is the default, and is way more than enough for most applications +// but in theory you might be able to come up with an expression big enough? maybe? + + +// maximum loop length +#define NSEEL_LOOPFUNC_SUPPORT_MAXLEN 1048576 // scary, we can do a million entries. probably will never want to, though. +#define NSEEL_LOOPFUNC_SUPPORT_MAXLEN_STR "1048576" + + + +// when a VM ctx doesn't have a GRAM context set, make the global one this big +#define NSEEL_SHARED_GRAM_SIZE (1<<20) + +// 128*65536 = ~8million entries. (64MB RAM used) +#define NSEEL_RAM_BLOCKS 128 +#define NSEEL_RAM_ITEMSPERBLOCK 65536 + + + + +#ifdef __cplusplus +} +#endif + +#endif//__NS_EEL_H__ diff --git a/src/MilkDrop2/ns-eel2/nseel-caltab.c b/src/MilkDrop2/ns-eel2/nseel-caltab.c new file mode 100644 index 0000000000..1d8a6d323b --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-caltab.c @@ -0,0 +1,553 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-caltab.c + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#include "ns-eel-int.h" + +#define VALUE 258 +#define IDENTIFIER 259 +#define FUNCTION1 260 +#define FUNCTION2 261 +#define FUNCTION3 262 +#define UMINUS 263 +#define UPLUS 264 + +#define YYERROR(x) nseel_yyerror(ctx) + +#define YYFINAL 51 +#define YYFLAG -32768 +#define YYNTBASE 21 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 264 ? yytranslate[x] : 26) + +static const char yytranslate[] = { 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 14, 9, 2, 18, + 19, 12, 10, 20, 11, 2, 13, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 17, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, + 6, 7, 15, 16 +}; + + +static const short yyr1[] = { 0, + 21, 21, 22, 23, 23, 23, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 25, 25, 25 +}; + +static const short yyr2[] = { 0, + 1, 3, 1, 1, 1, 3, 1, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 1, 4, 6, 8 +}; + +static const short yydefact[] = { 0, + 3, 4, 0, 0, 0, 0, 0, 0, 5, 7, + 1, 17, 0, 0, 0, 0, 4, 16, 15, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 6, 14, 13, 11, 12, 8, 9, 10, 18, + 0, 0, 0, 0, 19, 0, 0, 20, 0, 0, + 0 +}; + +static const short yydefgoto[] = { 49, + 9, 10, 11, 12 +}; + +static const short yypact[] = { 19, +-32768, -11, -7, -5, -4, 38, 38, 38,-32768,-32768, + 136,-32768, 38, 38, 38, 38,-32768,-32768,-32768, 88, + 38, 38, 38, 38, 38, 38, 38, 136, 100, 49, + 62,-32768, 41, 54, -9, -9,-32768,-32768,-32768,-32768, + 38, 38, 112, 75,-32768, 38, 124,-32768, 12, 27, +-32768 +}; + +static const short yypgoto[] = {-32768, +-32768,-32768, -6,-32768 +}; + + +#define YYLAST 150 + + +static const short yytable[] = { 18, + 19, 20, 25, 26, 27, 13, 28, 29, 30, 31, + 14, 50, 15, 16, 33, 34, 35, 36, 37, 38, + 39, 1, 2, 3, 4, 5, 51, 0, 6, 7, + 0, 0, 0, 0, 43, 44, 8, 0, 0, 47, + 1, 17, 3, 4, 5, 0, 0, 6, 7, 22, + 23, 24, 25, 26, 27, 8, 21, 22, 23, 24, + 25, 26, 27, 23, 24, 25, 26, 27, 41, 21, + 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, + 0, 42, 21, 22, 23, 24, 25, 26, 27, 0, + 0, 0, 0, 0, 46, 21, 22, 23, 24, 25, + 26, 27, 0, 0, 0, 0, 32, 21, 22, 23, + 24, 25, 26, 27, 0, 0, 0, 0, 40, 21, + 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, + 45, 21, 22, 23, 24, 25, 26, 27, 0, 0, + 0, 0, 48, 21, 22, 23, 24, 25, 26, 27 +}; + +static const short yycheck[] = { 6, + 7, 8, 12, 13, 14, 17, 13, 14, 15, 16, + 18, 0, 18, 18, 21, 22, 23, 24, 25, 26, + 27, 3, 4, 5, 6, 7, 0, -1, 10, 11, + -1, -1, -1, -1, 41, 42, 18, -1, -1, 46, + 3, 4, 5, 6, 7, -1, -1, 10, 11, 9, + 10, 11, 12, 13, 14, 18, 8, 9, 10, 11, + 12, 13, 14, 10, 11, 12, 13, 14, 20, 8, + 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, + -1, 20, 8, 9, 10, 11, 12, 13, 14, -1, + -1, -1, -1, -1, 20, 8, 9, 10, 11, 12, + 13, 14, -1, -1, -1, -1, 19, 8, 9, 10, + 11, 12, 13, 14, -1, -1, -1, -1, 19, 8, + 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, + 19, 8, 9, 10, 11, 12, 13, 14, -1, -1, + -1, -1, 19, 8, 9, 10, 11, 12, 13, 14 +}; + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (ctx->yychar = YYEMPTY) +#define YYEMPTY -2 +#define YYEOF 0 +#define YYACCEPT return(0) +#define YYABORT return(1) + +#define YYTERROR 1 +#define YYERRCODE 256 + +#define YYLEX nseel_yylex(ctx,&exp) + +/* If nonreentrant, generate the variables here */ + +/* YYINITDEPTH indicates the initial size of the parser's stacks */ + +#define YYINITDEPTH 5000 +#define YYMAXDEPTH 5000 + +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +#define __yy_bcopy(from,to,count) memcpy(to,from,(count)>0?(count):0) + +//#ln 131 "bison.simple" +int nseel_yyparse(compileContext *ctx, char *exp) +{ + register int yystate; + register int yyn; + register short *yyssp; + register YYSTYPE *yyvsp; + int yyerrstatus; /* number of tokens to shift before error messages enabled */ + int yychar1; /* lookahead token as an internal (translated) token number */ + + short yyssa[YYINITDEPTH]; /* the state stack */ + YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + + short *yyss = yyssa; /* refer to the stacks thru separate pointers */ + YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ + + int yystacksize = YYINITDEPTH; + + YYSTYPE yyval; /* the variable used to return */ + /* semantic values from the action */ + /* routines */ + + int yylen; + + ctx->yylval = 0; + yystate = 0; + yyerrstatus = 0; + ctx->yynerrs = 0; + ctx->yychar = YYEMPTY; /* Cause a token to be read. */ + + /* Initialize stack pointers. + Waste one element of value and location stack + so that they stay on the same level as the state stack. */ + + yyssp = yyss - 1; + yyvsp = yyvs; + +/* Push a new state, which is found in yystate . */ +/* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. */ +yynewstate: + + *++yyssp = yystate; + + if (yyssp >= yyss + yystacksize - 1) + { + /* Give user a chance to reallocate the stack */ + /* Use copies of these so that the &'s don't force the real ones into memory. */ +// YYSTYPE *yyvs1 = yyvs; + // short *yyss1 = yyss; + + /* Get the current used size of the three stacks, in elements. */ + int size = yyssp - yyss + 1; + + if (yystacksize >= YYMAXDEPTH) + { + YYERROR("internal error: parser stack overflow"); + return 2; + } + + yyssp = yyss + size - 1; + yyvsp = yyvs + size - 1; + + + if (yyssp >= yyss + yystacksize - 1) YYABORT; + } + + +// yybackup: + +/* Do appropriate processing given the current state. */ +/* Read a lookahead token if we need one and don't already have one. */ +/* yyresume: */ + + /* First try to decide what to do without reference to lookahead token. */ + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ + + if (ctx->yychar == YYEMPTY) + { +// yyStackSize = yyssp - (yyss - 1); + ctx->yychar = YYLEX; + } + + /* Convert token to internal form (in yychar1) for indexing tables with */ + + if (ctx->yychar <= 0) /* This means end of input. */ + { + yychar1 = 0; + ctx->yychar = YYEOF; /* Don't call YYLEX any more */ + + } + else + { + yychar1 = YYTRANSLATE(ctx->yychar); + + } + + yyn += yychar1; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + goto yydefault; + + yyn = yytable[yyn]; + + /* yyn is what to do for this token type in this state. + Negative => reduce, -yyn is rule number. + Positive => shift, yyn is new state. + New state is final state => don't bother to shift, + just return success. + 0, or most negative number => error. */ + + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + else if (yyn == 0) + goto yyerrlab; + + if (yyn == YYFINAL) + YYACCEPT; + + /* Shift the lookahead token. */ + + + /* Discard the token being shifted unless it is eof. */ + if (ctx->yychar != YYEOF) + ctx->yychar = YYEMPTY; + + *++yyvsp = ctx->yylval; + + /* count tokens shifted since error; after three, turn off error status. */ + if (yyerrstatus) yyerrstatus--; + + yystate = yyn; + goto yynewstate; + +/* Do the default action for the current state. */ +yydefault: + + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + +/* Do a reduction. yyn is the number of a rule to reduce with. */ +yyreduce: + yylen = yyr2[yyn]; + yyval = yyvsp[1-yylen]; /* implement default value of the action */ + + + switch (yyn) { + +case 1: +//#ln 32 "cal.y" +{ yyval = yyvsp[0]; ctx->result = yyvsp[0]; ; + break;} +case 2: +//#ln 34 "cal.y" +{ { + YYSTYPE i = nseel_setVar(ctx,yyvsp[-2]); + YYSTYPE v=nseel_getVar(ctx,i); + + yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_ASSIGN, v, yyvsp[0]); + ctx->result = yyval; + } + ; + break;} +case 3: +//#ln 50 "cal.y" +{ yyval = yyvsp[0] ; + break;} +case 4: +//#ln 55 "cal.y" +{ yyval = nseel_getVar(ctx,yyvsp[0]);; + break;} +case 5: +//#ln 57 "cal.y" +{ yyval = yyvsp[0];; + break;} +case 6: +//#ln 59 "cal.y" +{ yyval = yyvsp[-1];; + break;} +case 7: +//#ln 64 "cal.y" +{ yyval = yyvsp[0]; ; + break;} +case 8: +//#ln 66 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_MULTIPLY, yyvsp[-2], yyvsp[0]); + break;} +case 9: +//#ln 72 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_DIVIDE, yyvsp[-2], yyvsp[0]); + break;} +case 10: +//#ln 78 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_MODULO, yyvsp[-2], yyvsp[0]); + break;} +case 11: +//#ln 84 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_ADD, yyvsp[-2], yyvsp[0]); + break;} +case 12: +//#ln 90 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_SUB, yyvsp[-2], yyvsp[0]); + break;} +case 13: +//#ln 96 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_AND, yyvsp[-2], yyvsp[0]); + break;} +case 14: +//#ln 102 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_SIMPLE, FN_OR, yyvsp[-2], yyvsp[0]); + break;} +case 15: +//#ln 108 "cal.y" +{ yyval = nseel_createCompiledFunction1(ctx,MATH_SIMPLE, FN_UMINUS, yyvsp[0]); + break;} +case 16: +//#ln 114 "cal.y" +{ yyval = nseel_createCompiledFunction1(ctx,MATH_SIMPLE, FN_UPLUS, yyvsp[0]); + break;} +case 17: +//#ln 120 "cal.y" +{ yyval = yyvsp[0]; + break;} +case 18: +//#ln 125 "cal.y" +{ yyval = nseel_createCompiledFunction1(ctx,MATH_FN, yyvsp[-3], yyvsp[-1]); + break;} +case 19: +//#ln 131 "cal.y" +{ yyval = nseel_createCompiledFunction2(ctx,MATH_FN, yyvsp[-5], yyvsp[-3], yyvsp[-1]); + break;} +case 20: +//#ln 137 "cal.y" +{ yyval = nseel_createCompiledFunction3(ctx,MATH_FN, yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); + break;} +} + /* the action file gets copied in in place of this dollarsign */ +//#ln 362 "bison.simple" + + yyvsp -= yylen; + yyssp -= yylen; + + *++yyvsp = yyval; + + + /* Now "shift" the result of the reduction. + Determine what state that goes to, + based on the state we popped back to + and the rule number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTBASE] + *yyssp; + if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTBASE]; + + goto yynewstate; + +yyerrlab: /* here on detecting error */ + + if (! yyerrstatus) + /* If not already recovering from an error, report this error. */ + { + ++ctx->yynerrs; + +#ifdef YYERROR_VERBOSE + yyn = yypact[yystate]; + + if (yyn > YYFLAG && yyn < YYLAST) + { + int size = 0; + char *msg; + int x, count; + + count = 0; + for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + size += strlen(yytname[x]) + 15, count++; +#error this should not compile + msg = (char *) xmalloc(size + 15); + strcpy(msg, "syntax error"); + + if (count < 5) + { + count = 0; + for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + { + strcat(msg, count == 0 ? ", expecting `" : " or `"); + strcat(msg, yytname[x]); + strcat(msg, "'"); + count++; + } + } + YYERROR(msg); + free(msg); + } + else +#endif /* YYERROR_VERBOSE */ + YYERROR("syntax error"); + } + +//yyerrlab1: /* here on error raised explicitly by an action */ + + if (yyerrstatus == 3) + { + /* if just tried and failed to reuse lookahead token after an error, discard it. */ + + /* return failure if at end of input */ + if (ctx->yychar == YYEOF) YYABORT; + + ctx->yychar = YYEMPTY; + } + + /* Else will try to reuse lookahead token + after shifting the error token. */ + + yyerrstatus = 3; /* Each real token shifted decrements this */ + + goto yyerrhandle; + +yyerrdefault: /* current state does not do anything special for the error token. */ + +#if 0 + /* This is wrong; only states that explicitly want error tokens + should shift them. */ + yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ + if (yyn) goto yydefault; +#endif + +yyerrpop: /* pop the current state because it cannot handle the error token */ + + if (yyssp == yyss) YYABORT; + yyvsp--; + yystate = *--yyssp; + + +yyerrhandle: + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yyerrdefault; + + yyn += YYTERROR; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) + goto yyerrdefault; + + yyn = yytable[yyn]; + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrpop; + yyn = -yyn; + goto yyreduce; + } + else if (yyn == 0) + goto yyerrpop; + + if (yyn == YYFINAL) + YYACCEPT; + + *++yyvsp = ctx->yylval; + + yystate = yyn; + goto yynewstate; +} diff --git a/src/MilkDrop2/ns-eel2/nseel-cfunc.c b/src/MilkDrop2/ns-eel2/nseel-cfunc.c new file mode 100644 index 0000000000..57cb7c0582 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-cfunc.c @@ -0,0 +1,131 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-cfunc.c: assembly/C implementation of operator/function templates + This file should be ideally compiled with optimizations towards "minimize size" + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +#include "ns-eel-int.h" +#include +#include + + + +// these are used by our assembly code + + +#define N 624 +#define M 397 +#define MATRIX_A 0x9908b0dfUL /* constant vector a */ +#define UPPER_MASK 0x80000000UL /* most significant w-r bits */ +#define LOWER_MASK 0x7fffffffUL /* least significant r bits */ + +static unsigned int genrand_int32(void) +{ + + unsigned int y; + static unsigned int mag01[2]={0x0UL, MATRIX_A}; + /* mag01[x] = x * MATRIX_A for x=0,1 */ + + static unsigned int mt[N]; /* the array for the state vector */ + static int mti; /* mti==N+1 means mt[N] is not initialized */ + + + if (!mti) + { + unsigned int s=0x4141f00d; + mt[0]= s & 0xffffffffUL; + for (mti=1; mti> 30)) + mti); + /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */ + /* In the previous versions, MSBs of the seed affect */ + /* only MSBs of the array mt[]. */ + /* 2002/01/09 modified by Makoto Matsumoto */ + mt[mti] &= 0xffffffffUL; + /* for >32 bit machines */ + } + } + + if (mti >= N) { /* generate N words at one time */ + int kk; + + for (kk=0;kk> 1) ^ mag01[y & 0x1UL]; + } + for (;kk> 1) ^ mag01[y & 0x1UL]; + } + y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK); + mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL]; + + mti = 0; + } + + y = mt[mti++]; + + /* Tempering */ + y ^= (y >> 11); + y ^= (y << 7) & 0x9d2c5680UL; + y ^= (y << 15) & 0xefc60000UL; + y ^= (y >> 18); + + return y; +} + + + +//--------------------------------------------------------------------------------------------------------------- +EEL_F NSEEL_CGEN_CALL nseel_int_rand(EEL_F *f) +{ + EEL_F x=floor(*f); + if (x < 1.0) x=1.0; + +#ifdef NSEEL_EEL1_COMPAT_MODE + return (EEL_F)(genrand_int32()%(int)x); +#else + return (EEL_F) (genrand_int32()*(1.0/(double)0xFFFFFFFF)*x); +#endif +// return (EEL_F)(rand()%EEL_F2int(x)); +} + +//--------------------------------------------------------------------------------------------------------------- + + + +#ifdef __ppc__ +#include "asm-nseel-ppc-gcc.c" +#else + #ifdef _MSC_VER + #ifdef _WIN64 + //nasm + #else + #include "asm-nseel-x86-msvc.c" + #endif + #elif !defined(__LP64__) + #include "asm-nseel-x86-gcc.c" + #endif +#endif + diff --git a/src/MilkDrop2/ns-eel2/nseel-compiler.c b/src/MilkDrop2/ns-eel2/nseel-compiler.c new file mode 100644 index 0000000000..bb34673fbe --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-compiler.c @@ -0,0 +1,1791 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-compiler.c + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +// for VirtualProtect + +#include "ns-eel-int.h" + + +#include +#include +#include +#include + +#ifndef _WIN64 + #ifndef __ppc__ + #include + #endif +#endif + +#ifdef __APPLE__ + #ifdef __LP64__ + #define EEL_USE_MPROTECT + #endif +#endif + +#ifdef EEL_USE_MPROTECT +#include +#include +#include +#endif + +#ifdef NSEEL_EEL1_COMPAT_MODE + +#ifndef EEL_NO_CHANGE_FPFLAGS +#define EEL_NO_CHANGE_FPFLAGS +#endif + +#endif + +#ifndef _WIN64 +#if !defined(_RC_CHOP) && !defined(EEL_NO_CHANGE_FPFLAGS) + +#include +#define _RC_CHOP _FPU_RC_ZERO +#define _MCW_RC _FPU_RC_ZERO +static unsigned int _controlfp(unsigned int val, unsigned int mask) +{ + unsigned int ret; + _FPU_GETCW(ret); + if (mask) + { + ret&=~mask; + ret|=val; + _FPU_SETCW(ret); + } + return ret; +} + +#endif +#endif + + +#ifdef __ppc__ + +#define GLUE_MOV_EAX_DIRECTVALUE_SIZE 8 +static void GLUE_MOV_EAX_DIRECTVALUE_GEN(void *b, INT_PTR v) +{ + unsigned int uv=(unsigned int)v; + unsigned short *p=(unsigned short *)b; + + *p++ = 0x3C60; // addis r3, r0, hw + *p++ = (uv>>16)&0xffff; + *p++ = 0x6063; // ori r3, r3, lw + *p++ = uv&0xffff; +} + + +// mflr r5 +// stwu r5, -4(r1) +const static unsigned int GLUE_FUNC_ENTER[2] = { 0x7CA802A6, 0x94A1FFFC }; + +// lwz r5, 0(r1) +// addi r1, r1, 4 +// mtlr r5 +const static unsigned int GLUE_FUNC_LEAVE[3] = { 0x80A10000, 0x38210004, 0x7CA803A6 }; +#define GLUE_FUNC_ENTER_SIZE sizeof(GLUE_FUNC_ENTER) +#define GLUE_FUNC_LEAVE_SIZE sizeof(GLUE_FUNC_LEAVE) + +const static unsigned int GLUE_RET[]={0x4E800020}; // blr + +const static unsigned int GLUE_MOV_ESI_EDI=0x7E308B78; // mr r16, r17 + +static int GLUE_RESET_ESI(char *out, void *ptr) +{ + if (out) memcpy(out,&GLUE_MOV_ESI_EDI,sizeof(GLUE_MOV_ESI_EDI)); + return sizeof(GLUE_MOV_ESI_EDI); + +} + + + +// stwu r3, -4(r1) +const static unsigned int GLUE_PUSH_EAX[1]={ 0x9461FFFC}; + +// lwz r14, 0(r1) +// addi r1, r1, 4 +const static unsigned int GLUE_POP_EBX[2]={ 0x81C10000, 0x38210004, }; + +// lwz r15, 0(r1) +// addi r1, r1, 4 +const static unsigned int GLUE_POP_ECX[2]={ 0x81E10000, 0x38210004 }; + + +static void GLUE_CALL_CODE(INT_PTR bp, INT_PTR cp) +{ + __asm__( + "stmw r14, -80(r1)\n" + "mtctr %0\n" + "mr r17, %1\n" + "subi r17, r17, 8\n" + "mflr r5\n" + "stw r5, -84(r1)\n" + "subi r1, r1, 88\n" + "bctrl\n" + "addi r1, r1, 88\n" + "lwz r5, -84(r1)\n" + "lmw r14, -80(r1)\n" + "mtlr r5\n" + ::"r" (cp), "r" (bp)); +}; + +INT_PTR *EEL_GLUE_set_immediate(void *_p, void *newv) +{ +// todo 64 bit ppc will take some work + unsigned int *p=(unsigned int *)_p; + while ((p[0]&0x0000FFFF) != 0x0000dead && + (p[1]&0x0000FFFF) != 0x0000beef) p++; + p[0] = (p[0]&0xFFFF0000) | (((unsigned int)newv)>>16); + p[1] = (p[1]&0xFFFF0000) | (((unsigned int)newv)&0xFFFF); + + return (INT_PTR*)++p; +} + + +#else + +//x86 specific code + +#define GLUE_FUNC_ENTER_SIZE 0 +#define GLUE_FUNC_LEAVE_SIZE 0 +const static unsigned int GLUE_FUNC_ENTER[1]; +const static unsigned int GLUE_FUNC_LEAVE[1]; + +#if defined(_WIN64) || defined(__LP64__) +#define GLUE_MOV_EAX_DIRECTVALUE_SIZE 10 +static void GLUE_MOV_EAX_DIRECTVALUE_GEN(void *b, INT_PTR v) { + unsigned short *bb = (unsigned short *)b; + *bb++ =0xB848; + *(INT_PTR *)bb = v; +} +const static unsigned char GLUE_PUSH_EAX[2]={ 0x50,0x50}; // push rax ; push rax (push twice to preserve alignment) +const static unsigned char GLUE_POP_EBX[2]={0x5F, 0x5f}; //pop rdi ; twice +const static unsigned char GLUE_POP_ECX[2]={0x59, 0x59 }; // pop rcx ; twice +#else +#define GLUE_MOV_EAX_DIRECTVALUE_SIZE 5 +static void GLUE_MOV_EAX_DIRECTVALUE_GEN(void *b, int v) +{ + *((unsigned char *)b) =0xB8; + b= ((unsigned char *)b)+1; + *(int *)b = v; +} +const static unsigned char GLUE_PUSH_EAX[4]={0x83, 0xEC, 12, 0x50}; // sub esp, 12, push eax +const static unsigned char GLUE_POP_EBX[4]={0x5F, 0x83, 0xC4, 12}; //pop ebx, add esp, 12 // DI=5F, BX=0x5B; +const static unsigned char GLUE_POP_ECX[4]={0x59, 0x83, 0xC4, 12}; // pop ecx, add esp, 12 + +#endif + +//const static unsigned short GLUE_MOV_ESI_EDI=0xF78B; +const static unsigned char GLUE_RET=0xC3; + +static int GLUE_RESET_ESI(unsigned char *out, void *ptr) +{ +#if defined(_WIN64) || defined(__LP64__) + if (out) + { + *out++ = 0x48; + *out++ = 0xBE; // mov rsi, constant64 + *(void **)out = ptr; + out+=sizeof(void *); + } + return 2+sizeof(void *); +#else + if (out) + { + *out++ = 0xBE; // mov esi, constant + memcpy(out,&ptr,sizeof(void *)); + out+=sizeof(void *); + } + return 1+sizeof(void *); +#endif +} + +static void GLUE_CALL_CODE(INT_PTR bp, INT_PTR cp) +{ + #if defined(_WIN64) || defined(__LP64__) + extern void win64_callcode(INT_PTR code); + win64_callcode(cp); + #else // non-64 bit + #ifdef _MSC_VER + #ifndef EEL_NO_CHANGE_FPFLAGS + unsigned int old_v=_controlfp(0,0); + _controlfp(_RC_CHOP,_MCW_RC); + #endif + + __asm + { + mov eax, cp + pushad + call eax + popad + }; + + #ifndef EEL_NO_CHANGE_FPFLAGS + _controlfp(old_v,_MCW_RC); + #endif + +#else // gcc x86 + #ifndef EEL_NO_CHANGE_FPFLAGS + unsigned int old_v=_controlfp(0,0); + _controlfp(_RC_CHOP,_MCW_RC); + #endif + __asm__("call *%%eax"::"a" (cp): "%ecx","%edx","%esi","%edi"); + #ifndef EEL_NO_CHANGE_FPFLAGS + _controlfp(old_v,_MCW_RC); + #endif + #endif //gcc x86 + #endif // 32bit +} + +INT_PTR *EEL_GLUE_set_immediate(void *_p, void *newv) +{ + char *p=(char*)_p; + while (*(INT_PTR *)p != ~(INT_PTR)0) p++; + *(INT_PTR *)p = (INT_PTR)newv; + return ((INT_PTR*)p)+1; +} + +#endif + + +static void *GLUE_realAddress(void *fn, void *fn_e, int *size) +{ +#if defined(_MSC_VER) || defined(__LP64__) + + unsigned char *p; + +#if defined(_DEBUG) && !defined(__LP64__) + if (*(unsigned char *)fn == 0xE9) // this means jump to the following address + { + fn = ((unsigned char *)fn) + *(int *)((char *)fn+1) + 5; + } +#endif + + // this may not work in debug mode + p=(unsigned char *)fn; + for (;;) + { + int a; + for (a=0;a<12;a++) + { + if (p[a] != (a?0x90:0x89)) break; + } + if (a>=12) + { + *size = (char *)p - (char *)fn; + // if (*size<0) MessageBox(NULL,"expect poof","a",0); + return fn; + } + p++; + } +#else + char *p=(char *)fn_e - sizeof(GLUE_RET); + if (p <= (char *)fn) *size=0; + else + { + while (p > (char *)fn && memcmp(p,&GLUE_RET,sizeof(GLUE_RET))) p-=sizeof(GLUE_RET); + *size = p - (char *)fn; + } + return fn; +#endif +} + + + +static int nseel_evallib_stats[5]; // source bytes, static code bytes, call code bytes, data bytes, segments +int *NSEEL_getstats() +{ + return nseel_evallib_stats; +} +EEL_F *NSEEL_getglobalregs() +{ + return nseel_globalregs; +} + +// this stuff almost works +static int findByteOffsetInSource(compileContext *ctx, int byteoffs,int *destoffs) +{ + int x; + if (!ctx->compileLineRecs || !ctx->compileLineRecs_size) return *destoffs=0; + if (byteoffs < ctx->compileLineRecs[0].destByteCount) + { + *destoffs=0; + return 1; + } + for (x = 0; x < ctx->compileLineRecs_size-1; x ++) + { + if (byteoffs >= ctx->compileLineRecs[x].destByteCount && + byteoffs < ctx->compileLineRecs[x+1].destByteCount) break; + } + *destoffs=ctx->compileLineRecs[(x&&x==ctx->compileLineRecs_size-1)?x-1:x].srcByteCount; + + return x+2; +} + + +static void onCompileNewLine(compileContext *ctx, int srcBytes, int destBytes) +{ + if (!ctx->compileLineRecs || ctx->compileLineRecs_size >= ctx->compileLineRecs_alloc) + { + ctx->compileLineRecs_alloc = ctx->compileLineRecs_size+1024; + ctx->compileLineRecs = (lineRecItem *)realloc(ctx->compileLineRecs,sizeof(lineRecItem)*ctx->compileLineRecs_alloc); + } + if (ctx->compileLineRecs) + { + ctx->compileLineRecs[ctx->compileLineRecs_size].srcByteCount=srcBytes; + ctx->compileLineRecs[ctx->compileLineRecs_size++].destByteCount=destBytes; + } +} + + + +#define LLB_DSIZE (65536-64) +typedef struct _llBlock { + struct _llBlock *next; + int sizeused; + char block[LLB_DSIZE]; +} llBlock; + +typedef struct _startPtr { + struct _startPtr *next; + void *startptr; +} startPtr; + +typedef struct { + void *workTable; + + llBlock *blocks; + void *code; + int code_stats[4]; +} codeHandleType; + +#ifndef NSEEL_MAX_TEMPSPACE_ENTRIES +#define NSEEL_MAX_TEMPSPACE_ENTRIES 2048 +#endif + +static void *__newBlock(llBlock **start,int size); + +#define newTmpBlock(x) __newTmpBlock((llBlock **)&ctx->tmpblocks_head,x) +#define newBlock(x,a) __newBlock_align(ctx,x,a) + +static void *__newTmpBlock(llBlock **start, int size) +{ + void *p=__newBlock(start,size+4); + if (p && size>=0) *((int *)p) = size; + return p; +} + +static void *__newBlock_align(compileContext *ctx, int size, int align) // makes sure block is aligned to 32 byte boundary, for code +{ + int a1=align-1; + char *p=(char*)__newBlock((llBlock **)&ctx->blocks_head,size+a1); + return p+((align-(((INT_PTR)p)&a1))&a1); +} + +static void freeBlocks(llBlock **start); + +#define DECL_ASMFUNC(x) \ + void nseel_asm_##x(void); \ + void nseel_asm_##x##_end(void); \ + + DECL_ASMFUNC(sin) + DECL_ASMFUNC(cos) + DECL_ASMFUNC(tan) + DECL_ASMFUNC(1pdd) + DECL_ASMFUNC(2pdd) + DECL_ASMFUNC(2pdds) + DECL_ASMFUNC(1pp) + DECL_ASMFUNC(2pp) + DECL_ASMFUNC(sqr) + DECL_ASMFUNC(sqrt) + DECL_ASMFUNC(log) + DECL_ASMFUNC(log10) + DECL_ASMFUNC(abs) + DECL_ASMFUNC(min) + DECL_ASMFUNC(max) + DECL_ASMFUNC(sig) + DECL_ASMFUNC(sign) + DECL_ASMFUNC(band) + DECL_ASMFUNC(bor) + DECL_ASMFUNC(bnot) + DECL_ASMFUNC(if) + DECL_ASMFUNC(repeat) + DECL_ASMFUNC(repeatwhile) + DECL_ASMFUNC(equal) + DECL_ASMFUNC(notequal) + DECL_ASMFUNC(below) + DECL_ASMFUNC(above) + DECL_ASMFUNC(beloweq) + DECL_ASMFUNC(aboveeq) + DECL_ASMFUNC(assign) + DECL_ASMFUNC(add) + DECL_ASMFUNC(sub) + DECL_ASMFUNC(add_op) + DECL_ASMFUNC(sub_op) + DECL_ASMFUNC(mul) + DECL_ASMFUNC(div) + DECL_ASMFUNC(mul_op) + DECL_ASMFUNC(div_op) + DECL_ASMFUNC(mod) + DECL_ASMFUNC(mod_op) + DECL_ASMFUNC(or) + DECL_ASMFUNC(and) + DECL_ASMFUNC(or_op) + DECL_ASMFUNC(and_op) + DECL_ASMFUNC(uplus) + DECL_ASMFUNC(uminus) + DECL_ASMFUNC(invsqrt) + DECL_ASMFUNC(exec2) + +static void NSEEL_PProc_GRAM(void *data, int data_size, compileContext *ctx) +{ + if (data_size>0) EEL_GLUE_set_immediate(data, ctx->gram_blocks); +} + + +static EEL_F g_signs[2]={1.0,-1.0}; +static EEL_F negativezeropointfive=-0.5f; +static EEL_F onepointfive=1.5f; +static EEL_F g_closefact = NSEEL_CLOSEFACTOR; +static const EEL_F eel_zero=0.0, eel_one=1.0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 +static double __floor(double a) { return floor(a); } +#endif + +static double eel1band(double a, double b) +{ + return (fabs(a)>g_closefact && fabs(b) > g_closefact) ? 1.0 : 0.0; +} +static double eel1bor(double a, double b) +{ + return (fabs(a)>g_closefact || fabs(b) > g_closefact) ? 1.0 : 0.0; +} + +static double eel1sigmoid(double x, double constraint) +{ + double t = (1+exp(-x * (constraint))); + return fabs(t)>g_closefact ? 1.0/t : 0; +} + + +EEL_F NSEEL_CGEN_CALL nseel_int_rand(EEL_F *f); + +static functionType fnTable1[] = { + { "_if", nseel_asm_if,nseel_asm_if_end, 3, {&g_closefact} }, + { "_and", nseel_asm_band,nseel_asm_band_end, 2 } , + { "_or", nseel_asm_bor,nseel_asm_bor_end, 2 } , + { "loop", nseel_asm_repeat,nseel_asm_repeat_end, 2 }, + { "while", nseel_asm_repeatwhile,nseel_asm_repeatwhile_end, 1 }, + +#ifdef __ppc__ + { "_not", nseel_asm_bnot,nseel_asm_bnot_end, 1, {&g_closefact,&eel_zero,&eel_one} } , + { "_equal", nseel_asm_equal,nseel_asm_equal_end, 2, {&g_closefact,&eel_zero, &eel_one} }, + { "_noteq", nseel_asm_notequal,nseel_asm_notequal_end, 2, {&g_closefact,&eel_one,&eel_zero} }, + { "_below", nseel_asm_below,nseel_asm_below_end, 2, {&eel_zero, &eel_one} }, + { "_above", nseel_asm_above,nseel_asm_above_end, 2, {&eel_zero, &eel_one} }, + { "_beleq", nseel_asm_beloweq,nseel_asm_beloweq_end, 2, {&eel_zero, &eel_one} }, + { "_aboeq", nseel_asm_aboveeq,nseel_asm_aboveeq_end, 2, {&eel_zero, &eel_one} }, +#else + { "_not", nseel_asm_bnot,nseel_asm_bnot_end, 1, {&g_closefact} } , + { "_equal", nseel_asm_equal,nseel_asm_equal_end, 2, {&g_closefact} }, + { "_noteq", nseel_asm_notequal,nseel_asm_notequal_end, 2, {&g_closefact} }, + { "_below", nseel_asm_below,nseel_asm_below_end, 2 }, + { "_above", nseel_asm_above,nseel_asm_above_end, 2 }, + { "_beleq", nseel_asm_beloweq,nseel_asm_beloweq_end, 2 }, + { "_aboeq", nseel_asm_aboveeq,nseel_asm_aboveeq_end, 2 }, +#endif + + { "_set",nseel_asm_assign,nseel_asm_assign_end,2}, + { "_mod",nseel_asm_mod,nseel_asm_mod_end,2}, + { "_mulop",nseel_asm_mul_op,nseel_asm_mul_op_end,2}, + { "_divop",nseel_asm_div_op,nseel_asm_div_op_end,2}, + { "_orop",nseel_asm_or_op,nseel_asm_or_op_end,2}, + { "_andop",nseel_asm_and_op,nseel_asm_and_op_end,2}, + { "_addop",nseel_asm_add_op,nseel_asm_add_op_end,2}, + { "_subop",nseel_asm_sub_op,nseel_asm_sub_op_end,2}, + { "_modop",nseel_asm_mod_op,nseel_asm_mod_op_end,2}, + + +#ifdef __ppc__ + { "sin", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&sin} }, + { "cos", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&cos} }, + { "tan", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&tan} }, +#else + { "sin", nseel_asm_sin,nseel_asm_sin_end, 1 }, + { "cos", nseel_asm_cos,nseel_asm_cos_end, 1 }, + { "tan", nseel_asm_tan,nseel_asm_tan_end, 1 }, +#endif + { "asin", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&asin}, }, + { "acos", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&acos}, }, + { "atan", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&atan}, }, + { "atan2", nseel_asm_2pdd,nseel_asm_2pdd_end, 2, {&atan2}, }, + { "sqr", nseel_asm_sqr,nseel_asm_sqr_end, 1 }, +#ifdef __ppc__ + { "sqrt", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&sqrt}, }, +#else + { "sqrt", nseel_asm_sqrt,nseel_asm_sqrt_end, 1 }, +#endif + { "pow", nseel_asm_2pdd,nseel_asm_2pdd_end, 2, {&pow}, }, + { "_powop", nseel_asm_2pdds,nseel_asm_2pdds_end, 2, {&pow}, }, + { "exp", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&exp}, }, +#ifdef __ppc__ + { "log", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&log} }, + { "log10", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&log10} }, +#else + { "log", nseel_asm_log,nseel_asm_log_end, 1, }, + { "log10", nseel_asm_log10,nseel_asm_log10_end, 1, }, +#endif + { "abs", nseel_asm_abs,nseel_asm_abs_end, 1 }, + { "min", nseel_asm_min,nseel_asm_min_end, 2 }, + { "max", nseel_asm_max,nseel_asm_max_end, 2 }, +#ifdef __ppc__ + { "sign", nseel_asm_sign,nseel_asm_sign_end, 1, {&eel_zero}} , +#else + { "sign", nseel_asm_sign,nseel_asm_sign_end, 1, {&g_signs}} , +#endif + { "rand", nseel_asm_1pp,nseel_asm_1pp_end, 1, {&nseel_int_rand}, } , + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + { "floor", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&__floor} }, +#else + { "floor", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&floor} }, +#endif + { "ceil", nseel_asm_1pdd,nseel_asm_1pdd_end, 1, {&ceil} }, +#ifdef __ppc__ + { "invsqrt", nseel_asm_invsqrt,nseel_asm_invsqrt_end, 1, }, +#else + { "invsqrt", nseel_asm_invsqrt,nseel_asm_invsqrt_end, 1, {&negativezeropointfive, &onepointfive} }, +#endif + + { "sigmoid", nseel_asm_2pdd,nseel_asm_2pdd_end, 2, {&eel1sigmoid}, }, + + // these differ from _and/_or, they always evaluate both... + { "band", nseel_asm_2pdd,nseel_asm_2pdd_end, 2, {&eel1band}, }, + { "bor", nseel_asm_2pdd,nseel_asm_2pdd_end, 2, {&eel1bor}, }, + + {"exec2",nseel_asm_exec2,nseel_asm_exec2_end,2}, + {"exec3",nseel_asm_exec2,nseel_asm_exec2_end,3}, + {"_mem",_asm_megabuf,_asm_megabuf_end,1,{&g_closefact,&__NSEEL_RAMAlloc},NSEEL_PProc_RAM}, + {"_gmem",_asm_megabuf,_asm_megabuf_end,1,{&g_closefact,&__NSEEL_RAMAllocGMEM},NSEEL_PProc_GRAM}, + {"freembuf",_asm_generic1parm,_asm_generic1parm_end,1,{&__NSEEL_RAM_MemFree},NSEEL_PProc_RAM}, + {"memcpy",_asm_generic3parm,_asm_generic3parm_end,3,{&__NSEEL_RAM_MemCpy},NSEEL_PProc_RAM}, + {"memset",_asm_generic3parm,_asm_generic3parm_end,3,{&__NSEEL_RAM_MemSet},NSEEL_PProc_RAM}, +}; + +static functionType *fnTableUser; +static int fnTableUser_size; + +functionType *nseel_getFunctionFromTable(int idx) +{ + if (idx<0) return 0; + if (idx>=sizeof(fnTable1)/sizeof(fnTable1[0])) + { + idx -= sizeof(fnTable1)/sizeof(fnTable1[0]); + if (!fnTableUser || idx >= fnTableUser_size) return 0; + return fnTableUser+idx; + } + return fnTable1+idx; +} + +int NSEEL_init() // returns 0 on success +{ + NSEEL_quit(); + return 0; +} + +void NSEEL_addfunctionex2(const char *name, int nparms, char *code_startaddr, int code_len, void *pproc, void *fptr, void *fptr2) +{ + if (!fnTableUser || !(fnTableUser_size&7)) + { + fnTableUser=(functionType *)realloc(fnTableUser,(fnTableUser_size+8)*sizeof(functionType)); + } + if (fnTableUser) + { + memset(&fnTableUser[fnTableUser_size],0,sizeof(functionType)); + fnTableUser[fnTableUser_size].nParams = nparms; + fnTableUser[fnTableUser_size].name = name; + fnTableUser[fnTableUser_size].afunc = code_startaddr; + fnTableUser[fnTableUser_size].func_e = code_startaddr + code_len; + fnTableUser[fnTableUser_size].pProc = (NSEEL_PPPROC) pproc; + fnTableUser[fnTableUser_size].replptrs[0]=fptr; + fnTableUser[fnTableUser_size].replptrs[1]=fptr2; + fnTableUser_size++; + } +} + +void NSEEL_quit() +{ + free(fnTableUser); + fnTableUser_size=0; + fnTableUser=0; +} + +//--------------------------------------------------------------------------------------------------------------- +static void freeBlocks(llBlock **start) +{ + llBlock *s=*start; + *start=0; + while (s) + { + llBlock *llB = s->next; +#ifdef _WIN32 + VirtualFree(s, 0 /*LLB_DSIZE*/, MEM_RELEASE); +#else + free(s); +#endif + s=llB; + } +} + +//--------------------------------------------------------------------------------------------------------------- +static void *__newBlock(llBlock **start, int size) +{ + llBlock *llb; + int alloc_size; + if (*start && (LLB_DSIZE - (*start)->sizeused) >= size) + { + void *t=(*start)->block+(*start)->sizeused; + (*start)->sizeused+=(size+7)&~7; + return t; + } + + alloc_size=sizeof(llBlock); + if ((int)size > LLB_DSIZE) alloc_size += size - LLB_DSIZE; + +#ifdef _WIN32 + llb = (llBlock *)VirtualAlloc(NULL, alloc_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE); +#else + llb = (llBlock *)malloc(alloc_size); // grab bigger block if absolutely necessary (heh) +#endif +#if defined(EEL_USE_MPROTECT) + { + static int pagesize = 0; + if (!pagesize) + { + pagesize=sysconf(_SC_PAGESIZE); + if (!pagesize) pagesize=4096; + } + uintptr_t offs,eoffs; + offs=((uintptr_t)llb)&~(pagesize-1); + eoffs=((uintptr_t)llb + alloc_size + pagesize-1)&~(pagesize-1); + mprotect((void*)offs,eoffs-offs,PROT_WRITE|PROT_READ|PROT_EXEC); + } +#endif + llb->sizeused=(size+7)&~7; + llb->next = *start; + *start = llb; + return llb->block; +} + + +//--------------------------------------------------------------------------------------------------------------- +INT_PTR nseel_createCompiledValue(compileContext *ctx, EEL_F value, EEL_F *addrValue) +{ + unsigned char *block; + + block=(unsigned char *)newTmpBlock(GLUE_MOV_EAX_DIRECTVALUE_SIZE); + + if (addrValue == NULL) + { + *(addrValue = (EEL_F *)newBlock(sizeof(EEL_F),sizeof(EEL_F))) = value; + ctx->l_stats[3]+=sizeof(EEL_F); + } + + GLUE_MOV_EAX_DIRECTVALUE_GEN(block+4,(INT_PTR)addrValue); + + return ((INT_PTR)(block)); + +} + +//--------------------------------------------------------------------------------------------------------------- +static void *nseel_getFunctionAddress(int fntype, int fn, int *size, NSEEL_PPPROC *pProc, void ***replList) +{ + *replList=0; + switch (fntype) + { + case MATH_SIMPLE: + switch (fn) + { + case FN_ASSIGN: + return GLUE_realAddress(nseel_asm_assign,nseel_asm_assign_end,size); + case FN_ADD: + return GLUE_realAddress(nseel_asm_add,nseel_asm_add_end,size); + case FN_SUB: + return GLUE_realAddress(nseel_asm_sub,nseel_asm_sub_end,size); + case FN_MULTIPLY: + return GLUE_realAddress(nseel_asm_mul,nseel_asm_mul_end,size); + case FN_DIVIDE: + return GLUE_realAddress(nseel_asm_div,nseel_asm_div_end,size); + case FN_MODULO: + return GLUE_realAddress(nseel_asm_exec2,nseel_asm_exec2_end,size); + case FN_AND: + return GLUE_realAddress(nseel_asm_and,nseel_asm_and_end,size); + case FN_OR: + return GLUE_realAddress(nseel_asm_or,nseel_asm_or_end,size); + case FN_UPLUS: + return GLUE_realAddress(nseel_asm_uplus,nseel_asm_uplus_end,size); + case FN_UMINUS: + return GLUE_realAddress(nseel_asm_uminus,nseel_asm_uminus_end,size); + } + case MATH_FN: + { + functionType *p=nseel_getFunctionFromTable(fn); + if (p) + { + *replList=p->replptrs; + *pProc=p->pProc; + return GLUE_realAddress(p->afunc,p->func_e,size); + } + } + } + + *size=0; + return 0; +} + + +//--------------------------------------------------------------------------------------------------------------- +INT_PTR nseel_createCompiledFunction3(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code1, INT_PTR code2, INT_PTR code3) +{ + int sizes1=((int *)code1)[0]; + int sizes2=((int *)code2)[0]; + int sizes3=((int *)code3)[0]; + + if (fntype == MATH_FN && fn == 0) // special case: IF + { + void *func3; + int size; + INT_PTR *ptr; + char *block; + + unsigned char *newblock2,*newblock3; + unsigned char *p; + + p=newblock2=newBlock(sizes2+sizeof(GLUE_RET)+GLUE_FUNC_ENTER_SIZE+GLUE_FUNC_LEAVE_SIZE,32); + memcpy(p,&GLUE_FUNC_ENTER,GLUE_FUNC_ENTER_SIZE); p+=GLUE_FUNC_ENTER_SIZE; + memcpy(p,(char*)code2+4,sizes2); p+=sizes2; + memcpy(p,&GLUE_FUNC_LEAVE,GLUE_FUNC_LEAVE_SIZE); p+=GLUE_FUNC_LEAVE_SIZE; + memcpy(p,&GLUE_RET,sizeof(GLUE_RET)); p+=sizeof(GLUE_RET); + + p=newblock3=newBlock(sizes3+sizeof(GLUE_RET)+GLUE_FUNC_ENTER_SIZE+GLUE_FUNC_LEAVE_SIZE,32); + memcpy(p,&GLUE_FUNC_ENTER,GLUE_FUNC_ENTER_SIZE); p+=GLUE_FUNC_ENTER_SIZE; + memcpy(p,(char*)code3+4,sizes3); p+=sizes3; + memcpy(p,&GLUE_FUNC_LEAVE,GLUE_FUNC_LEAVE_SIZE); p+=GLUE_FUNC_LEAVE_SIZE; + memcpy(p,&GLUE_RET,sizeof(GLUE_RET)); p+=sizeof(GLUE_RET); + + ctx->l_stats[2]+=sizes2+sizes3+sizeof(GLUE_RET)*2; + + func3 = GLUE_realAddress(nseel_asm_if,nseel_asm_if_end,&size); + + block=(char *)newTmpBlock(sizes1+size); + + memcpy(block+4,(char*)code1+4,sizes1); + ptr=(INT_PTR *)(block+4+sizes1); + memcpy(ptr,func3,size); + + ptr=EEL_GLUE_set_immediate(ptr,&g_closefact); + ptr=EEL_GLUE_set_immediate(ptr,newblock2); + EEL_GLUE_set_immediate(ptr,newblock3); + + ctx->computTableTop++; + + return (INT_PTR)block; + + } + else + { + int size2; + unsigned char *block; + unsigned char *outp; + + void *myfunc; + NSEEL_PPPROC preProc=0; + void **repl; + + myfunc = nseel_getFunctionAddress(fntype, fn, &size2, &preProc,&repl); + + block=(unsigned char *)newTmpBlock(size2+sizes1+sizes2+sizes3+ + sizeof(GLUE_PUSH_EAX) + + sizeof(GLUE_PUSH_EAX) + + sizeof(GLUE_POP_EBX) + + sizeof(GLUE_POP_ECX)); + + outp=block+4; + memcpy(outp,(char*)code1+4,sizes1); + outp+=sizes1; + memcpy(outp,&GLUE_PUSH_EAX,sizeof(GLUE_PUSH_EAX)); outp+=sizeof(GLUE_PUSH_EAX); + memcpy(outp,(char*)code2+4,sizes2); + outp+=sizes2; + memcpy(outp,&GLUE_PUSH_EAX,sizeof(GLUE_PUSH_EAX)); outp+=sizeof(GLUE_PUSH_EAX); + memcpy(outp,(char*)code3+4,sizes3); + outp+=sizes3; + memcpy(outp,&GLUE_POP_EBX,sizeof(GLUE_POP_EBX)); outp+=sizeof(GLUE_POP_EBX); + memcpy(outp,&GLUE_POP_ECX,sizeof(GLUE_POP_ECX)); outp+=sizeof(GLUE_POP_ECX); + + memcpy(outp,myfunc,size2); + if (preProc) preProc(outp,size2,ctx); + if (repl) + { + if (repl[0]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[0]); + if (repl[1]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[1]); + if (repl[2]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[2]); + if (repl[3]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[3]); + } + + ctx->computTableTop++; + + return ((INT_PTR)(block)); + } +} + +//--------------------------------------------------------------------------------------------------------------- +INT_PTR nseel_createCompiledFunction2(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code1, INT_PTR code2) +{ + int size2; + unsigned char *outp; + void *myfunc; + int sizes1=((int *)code1)[0]; + int sizes2=((int *)code2)[0]; + if (fntype == MATH_FN && (fn == 1 || fn == 2 || fn == 3)) // special case: LOOP/BOR/BAND + { + void *func3; + int size; + INT_PTR *ptr; + char *block; + + unsigned char *newblock2, *p; + + p=newblock2=newBlock(sizes2+sizeof(GLUE_RET)+GLUE_FUNC_ENTER_SIZE+GLUE_FUNC_LEAVE_SIZE,32); + memcpy(p,&GLUE_FUNC_ENTER,GLUE_FUNC_ENTER_SIZE); p+=GLUE_FUNC_ENTER_SIZE; + memcpy(p,(char*)code2+4,sizes2); p+=sizes2; + memcpy(p,&GLUE_FUNC_LEAVE,GLUE_FUNC_LEAVE_SIZE); p+=GLUE_FUNC_LEAVE_SIZE; + memcpy(p,&GLUE_RET,sizeof(GLUE_RET)); p+=sizeof(GLUE_RET); + + ctx->l_stats[2]+=sizes2+2; + + if (fn == 1) func3 = GLUE_realAddress(nseel_asm_band,nseel_asm_band_end,&size); + else if (fn == 3) func3 = GLUE_realAddress(nseel_asm_repeat,nseel_asm_repeat_end,&size); + else func3 = GLUE_realAddress(nseel_asm_bor,nseel_asm_bor_end,&size); + + block=(char *)newTmpBlock(sizes1+size); + memcpy(block+4,(char*)code1+4,sizes1); + ptr=(INT_PTR *)(block+4+sizes1); + memcpy(ptr,func3,size); + + if (fn!=3) ptr=EEL_GLUE_set_immediate(ptr,&g_closefact); // for or/and + ptr=EEL_GLUE_set_immediate(ptr,newblock2); + if (fn!=3) ptr=EEL_GLUE_set_immediate(ptr,&g_closefact); // for or/and +#ifdef __ppc__ + if (fn!=3) // for or/and on ppc we need a one + { + ptr=EEL_GLUE_set_immediate(ptr,&eel_one); + } +#endif + + ctx->computTableTop++; + return (INT_PTR)block; + } + + { + NSEEL_PPPROC preProc=0; + unsigned char *block; + void **repl; + myfunc = nseel_getFunctionAddress(fntype, fn, &size2,&preProc,&repl); + + block=(unsigned char *)newTmpBlock(size2+sizes1+sizes2+sizeof(GLUE_PUSH_EAX)+sizeof(GLUE_POP_EBX)); + + outp=block+4; + memcpy(outp,(char*)code1+4,sizes1); + outp+=sizes1; + memcpy(outp,&GLUE_PUSH_EAX,sizeof(GLUE_PUSH_EAX)); outp+=sizeof(GLUE_PUSH_EAX); + memcpy(outp,(char*)code2+4,sizes2); + outp+=sizes2; + memcpy(outp,&GLUE_POP_EBX,sizeof(GLUE_POP_EBX)); outp+=sizeof(GLUE_POP_EBX); + + memcpy(outp,myfunc,size2); + if (preProc) preProc(outp,size2,ctx); + if (repl) + { + if (repl[0]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[0]); + if (repl[1]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[1]); + if (repl[2]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[2]); + if (repl[3]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[3]); + } + + ctx->computTableTop++; + + return ((INT_PTR)(block)); + } +} + + +//--------------------------------------------------------------------------------------------------------------- +INT_PTR nseel_createCompiledFunction1(compileContext *ctx, int fntype, INT_PTR fn, INT_PTR code) +{ + NSEEL_PPPROC preProc=0; + int size,size2; + char *block; + void *myfunc; + void *func1; + + size =((int *)code)[0]; + func1 = (void *)(code+4); + + + if (fntype == MATH_FN && fn == 4) // special case: while + { + void *func3; + INT_PTR *ptr; + + unsigned char *newblock2, *p; + + p=newblock2=newBlock(size+sizeof(GLUE_RET)+GLUE_FUNC_ENTER_SIZE+GLUE_FUNC_LEAVE_SIZE,32); + memcpy(p,&GLUE_FUNC_ENTER,GLUE_FUNC_ENTER_SIZE); p+=GLUE_FUNC_ENTER_SIZE; + memcpy(p,func1,size); p+=size; + memcpy(p,&GLUE_FUNC_LEAVE,GLUE_FUNC_LEAVE_SIZE); p+=GLUE_FUNC_LEAVE_SIZE; + memcpy(p,&GLUE_RET,sizeof(GLUE_RET)); p+=sizeof(GLUE_RET); + + ctx->l_stats[2]+=size+2; + + func3 = GLUE_realAddress(nseel_asm_repeatwhile,nseel_asm_repeatwhile_end,&size); + + block=(char *)newTmpBlock(size); + ptr = (INT_PTR *)(block+4); + memcpy(ptr,func3,size); + ptr=EEL_GLUE_set_immediate(ptr,newblock2); + EEL_GLUE_set_immediate(ptr,&g_closefact); + + ctx->computTableTop++; + return (INT_PTR)block; + } + + { + void **repl; + myfunc = nseel_getFunctionAddress(fntype, fn, &size2,&preProc,&repl); + + block=(char *)newTmpBlock(size+size2); + + memcpy(block+4, func1, size); + memcpy(block+size+4,myfunc,size2); + if (preProc) preProc(block+size+4,size2,ctx); + if (repl) + { + unsigned char *outp=(unsigned char *)block+size+4; + if (repl[0]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[0]); + if (repl[1]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[1]); + if (repl[2]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[2]); + if (repl[3]) outp=(unsigned char *)EEL_GLUE_set_immediate(outp,repl[3]); + } + + ctx->computTableTop++; + + return ((INT_PTR)(block)); + } +} + + +static char *preprocessCode(compileContext *ctx, char *expression) +{ + char *expression_start=expression; + int len=0; + int alloc_len=strlen(expression)+1+64; + char *buf=(char *)malloc(alloc_len); + int semicnt=0; + // we need to call onCompileNewLine for each new line we get + + //onCompileNewLine(ctx, + + while (*expression) + { + if (len > alloc_len-64) + { + alloc_len = len+128; + buf=(char*)realloc(buf,alloc_len); + } + + if (expression[0] == '/') + { + if (expression[1] == '/') + { + expression+=2; + while (expression[0] && expression[0] != '\n') expression++; + continue; + } + else if (expression[1] == '*') + { + expression+=2; + while (expression[0] && (expression[0] != '*' || expression[1] != '/')) + { + if (expression[0] == '\n') onCompileNewLine(ctx,expression+1-expression_start,len); + expression++; + } + if (expression[0]) expression+=2; // at this point we KNOW expression[0]=* and expression[1]=/ + continue; + } + } + + if (expression[0] == '$') + { + if (toupper(expression[1]) == 'X') + { + char *p=expression+2; + unsigned int v=strtoul(expression+2,&p,16); + char tmp[64]; + expression=p; + + sprintf(tmp,"%u",v); + memcpy(buf+len,tmp,strlen(tmp)); + len+=strlen(tmp); + ctx->l_stats[0]+=strlen(tmp); + continue; + + } + if (expression[1]=='\'' && expression[2] && expression[3]=='\'') + { + char tmp[64]; + sprintf(tmp,"%u",((unsigned char *)expression)[2]); + expression+=4; + + memcpy(buf+len,tmp,strlen(tmp)); + len+=strlen(tmp); + ctx->l_stats[0]+=strlen(tmp); + continue; + } + if (toupper(expression[1]) == 'P' && toupper(expression[2]) == 'I') + { + static char *str="3.141592653589793"; + expression+=3; + memcpy(buf+len,str,17); + len+=17; //strlen(str); + ctx->l_stats[0]+=17; + continue; + } + if (toupper(expression[1]) == 'E') + { + static char *str="2.71828183"; + expression+=2; + memcpy(buf+len,str,10); + len+=10; //strlen(str); + ctx->l_stats[0]+=10; + continue; + } + if (toupper(expression[1]) == 'P' && toupper(expression[2]) == 'H' && toupper(expression[3]) == 'I') + { + static char *str="1.61803399"; + expression+=4; + memcpy(buf+len,str,10); + len+=10; //strlen(str); + ctx->l_stats[0]+=10; + continue; + } + + } + + { + char c=*expression++; + + if (c == '\n') onCompileNewLine(ctx,expression-expression_start,len); + if (isspace(c)) c=' '; + + if (c == '(') semicnt++; + else if (c == ')') { semicnt--; if (semicnt < 0) semicnt=0; } + else if (c == ';' && semicnt > 0) + { + // convert ; to % if next nonwhitespace char is alnum, otherwise convert to space + int p=0; + int nc; + int commentstate=0; + while ((nc=expression[p])) + { + if (!commentstate && nc == '/') + { + if (expression[p+1] == '/') commentstate=1; + else if (expression[p+1] == '*') commentstate=2; + } + + if (commentstate == 1 && nc == '\n') commentstate=0; + else if (commentstate == 2 && nc == '*' && expression[p+1]=='/') + { + p++; // skip * + commentstate=0; + } + else if (!commentstate && !isspace(nc)) break; + + p++; + } + // fucko, we should look for even more chars, me thinks + if (nc && (isalnum(nc) +#if 1 + || nc == '(' || nc == '_' || nc == '!' || nc == '$' +#endif + )) c='%'; + else c = ' '; // stray ; + } +#if 0 + else if (semicnt > 0 && c == ',') + { + int p=0; + int nc; + while ((nc=expression[p]) && isspace(nc)) p++; + if (nc == ',' || nc == ')') + { + expression += p+1; + buf[len++]=','; + buf[len++]='0'; + c=nc; // append this char + } + } +#endif + // list of operators + + else if (!isspace(c) && !isalnum(c)) // check to see if this operator is ours + { + + static char *symbollists[]= + { + "", // or any control char that is not parenthed + ":(,;?%", + ",):?;", // or || or && + ",);", // jf> removed :? from this, for = + ",);", + "", // only scans for a negative ] level + + }; + + + static struct + { + char op[2]; + char lscan,rscan; + char *func; + } preprocSymbols[] = + { + {{'+','='}, 0, 3, "_addop" }, + {{'-','='}, 0, 3, "_subop" }, + {{'%','='}, 0, 3, "_modop" }, + {{'|','='}, 0, 3, "_orop" }, + {{'&','='}, 0, 3, "_andop"}, + + {{'/','='}, 0, 3, "_divop"}, + {{'*','='}, 0, 3, "_mulop"}, + {{'^','='}, 0, 3, "_powop"}, + + {{'=','='}, 1, 2, "_equal" }, + {{'<','='}, 1, 2, "_beleq" }, + {{'>','='}, 1, 2, "_aboeq" }, + {{'<',0 }, 1, 2, "_below" }, + {{'>',0 }, 1, 2, "_above" }, + {{'!','='}, 1, 2, "_noteq" }, + {{'|','|'}, 1, 2, "_or" }, + {{'&','&'}, 1, 2, "_and" }, + {{'=',0 }, 0, 3, "_set" }, + {{'%',0}, 0, 0, "_mod" }, + {{'^',0}, 0, 0, "pow" }, + + + {{'[',0 }, 0, 5, }, + {{'!',0 },-1, 0, }, // this should also ignore any leading +- + {{'?',0 }, 1, 4, }, + + }; + + + int n; + int ns=sizeof(preprocSymbols)/sizeof(preprocSymbols[0]); + for (n = 0; n < ns; n++) + { + if (c == preprocSymbols[n].op[0] && (!preprocSymbols[n].op[1] || expression[0] == preprocSymbols[n].op[1])) + { + break; + } + } + if (n < ns) + { + + int lscan=preprocSymbols[n].lscan; + int rscan=preprocSymbols[n].rscan; + + // parse left side of =, scanning back for an unparenthed nonwhitespace nonalphanumeric nonparenth? + // so megabuf(x+y)= would be fine, x=, but +x= would do +set(x,) + char *l_ptr=0; + char *r_ptr=0; + if (lscan >= 0) + { + char *scan=symbollists[lscan]; + int l_semicnt=0; + l_ptr=buf + len - 1; + while (l_ptr >= buf) + { + if (*l_ptr == ')') l_semicnt++; + else if (*l_ptr == '(') + { + l_semicnt--; + if (l_semicnt < 0) break; + } + else if (!l_semicnt) + { + if (!*scan) + { + if (!isspace(*l_ptr) && !isalnum(*l_ptr) && *l_ptr != '_' && *l_ptr != '.') break; + } + else + { + char *sc=scan; + if (lscan == 2 && ( // not currently used, even + (l_ptr[0]=='|' && l_ptr[1] == '|')|| + (l_ptr[0]=='&' && l_ptr[1] == '&') + ) + ) break; + while (*sc && *l_ptr != *sc) sc++; + if (*sc) break; + } + } + l_ptr--; + } + buf[len]=0; + + l_ptr++; + + len = l_ptr - buf; + + l_ptr = strdup(l_ptr); // doesn't need to be preprocessed since it just was + } + if (preprocSymbols[n].op[1]) expression++; + + r_ptr=expression; + { + // scan forward to an uncommented, unparenthed semicolon, comma, or ) + int r_semicnt=0; + int r_qcnt=0; + char *scan=symbollists[rscan]; + int commentstate=0; + int hashadch=0; + int bracketcnt=0; + while (*r_ptr) + { + if (!commentstate && *r_ptr == '/') + { + if (r_ptr[1] == '/') commentstate=1; + else if (r_ptr[1] == '*') commentstate=2; + } + if (commentstate == 1 && *r_ptr == '\n') commentstate=0; + else if (commentstate == 2 && *r_ptr == '*' && r_ptr[1]=='/') + { + r_ptr++; // skip * + commentstate=0; + } + else if (!commentstate) + { + if (*r_ptr == '(') {hashadch=1; r_semicnt++; } + else if (*r_ptr == ')') + { + r_semicnt--; + if (r_semicnt < 0) break; + } + else if (!r_semicnt) + { + char *sc=scan; + if (*r_ptr == ';' || *r_ptr == ',') break; + + if (!rscan) + { + if (*r_ptr == ':') break; + if (!isspace(*r_ptr) && !isalnum(*r_ptr) && *r_ptr != '_' && *r_ptr != '.' && hashadch) break; + if (isalnum(*r_ptr) || *r_ptr == '_')hashadch=1; + } + else if (rscan == 2 && + ((r_ptr[0]=='|' && r_ptr[1] == '|')|| + (r_ptr[0]=='&' && r_ptr[1] == '&') + ) + ) break; + + else if (rscan == 3 || rscan == 4) + { + if (*r_ptr == ':') r_qcnt--; + else if (*r_ptr == '?') r_qcnt++; + + if (r_qcnt < 3-rscan) break; + } + else if (rscan == 5) + { + if (*r_ptr == '[') bracketcnt++; + else if (*r_ptr == ']') bracketcnt--; + if (bracketcnt < 0) break; + } + + while (*sc && *r_ptr != *sc) sc++; + if (*sc) break; + } + } + r_ptr++; + } + // expression -> r_ptr is our string (not including r_ptr) + + { + char *orp=r_ptr; + + char rps=*orp; + *orp=0; // temporarily terminate + + r_ptr=preprocessCode(ctx,expression); + expression=orp; + + *orp = rps; // fix termination(restore string) + } + + } + + if (r_ptr) + { + int thisl = strlen(l_ptr?l_ptr:"") + strlen(r_ptr) + 32; + + if (len+thisl > alloc_len-64) + { + alloc_len = len+thisl+128; + buf=(char*)realloc(buf,alloc_len); + } + + + if (n == ns-3) + { + char *lp = l_ptr; + char *rp = r_ptr; + while (lp && *lp && isspace(*lp)) lp++; + while (rp && *rp && isspace(*rp)) rp++; + if (lp && !strncasecmp(lp,"gmem",4) && (!lp[4] || isspace(lp[4]))) + { + len+=sprintf(buf+len,"_gmem(%s",r_ptr && *r_ptr ? r_ptr : "0"); + ctx->l_stats[0]+=strlen(l_ptr)+4; + } + else if (rp && *rp && strcmp(rp,"0")) + { + len+=sprintf(buf+len,"_mem((%s)+(%s)",lp,rp); + ctx->l_stats[0]+=strlen(lp)+strlen(rp)+8; + } + else + { + len+=sprintf(buf+len,"_mem(%s",lp); + ctx->l_stats[0]+=strlen(lp)+4; + } + + // skip the ] + if (*expression == ']') expression++; + + } + else if (n == ns-2) + { + len+=sprintf(buf+len,"_not(%s", + r_ptr); + + ctx->l_stats[0]+=4; + } + else if (n == ns-1)// if (l_ptr,r_ptr1,r_ptr2) + { + char *rptr2=r_ptr; + char *tmp=r_ptr; + int parcnt=0; + int qcnt=1; + while (*rptr2) + { + if (*rptr2 == '?') qcnt++; + else if (*rptr2 == ':') qcnt--; + else if (*rptr2 == '(') parcnt++; + else if (*rptr2 == ')') parcnt--; + if (parcnt < 0) break; + if (!parcnt && !qcnt && *rptr2 == ':') break; + rptr2++; + } + if (*rptr2) *rptr2++=0; + while (isspace(*rptr2)) rptr2++; + + while (isspace(*tmp)) tmp++; + + len+=sprintf(buf+len,"_if(%s,%s,%s",l_ptr,*tmp?tmp:"0",*rptr2?rptr2:"0"); + ctx->l_stats[0]+=6; + } + else + { + len+=sprintf(buf+len,"%s(%s,%s",preprocSymbols[n].func,l_ptr?l_ptr:"",r_ptr); + ctx->l_stats[0]+=strlen(preprocSymbols[n].func)+2; + } + + } + + free(r_ptr); + free(l_ptr); + + + c = ')'; // close parenth below + } + } + +// if (c != ' ' || (len && buf[len-1] != ' ')) // don't bother adding multiple spaces + { + buf[len++]=c; + if (c != ' ') ctx->l_stats[0]++; + } + } + } + buf[len]=0; + + return buf; +} + +#ifdef PPROC_TEST + +int main(int argc, char* argv[]) +{ + compileContext ctx={0}; + char *p=preprocessCode(&ctx,argv[1]); + if (p)printf("%s\n",p); + free(p); + return 0; +} + +#endif + +#if 0 +static void movestringover(char *str, int amount) +{ + char tmp[1024+8]; + + int l=(int)strlen(str); + l=min(1024-amount-1,l); + + memcpy(tmp,str,l+1); + + while (l >= 0 && tmp[l]!='\n') l--; + l++; + + tmp[l]=0;//ensure we null terminate + + memcpy(str+amount,tmp,l+1); +} +#endif + +//------------------------------------------------------------------------------ +NSEEL_CODEHANDLE NSEEL_code_compile(NSEEL_VMCTX _ctx, char *_expression, int lineoffs) +{ + compileContext *ctx = (compileContext *)_ctx; + char *expression,*expression_start; + int computable_size=0; + codeHandleType *handle; + startPtr *scode=NULL; + startPtr *startpts=NULL; + + if (!ctx) return 0; + + ctx->last_error_string[0]=0; + + if (!_expression || !*_expression) return 0; + + freeBlocks((llBlock **)&ctx->tmpblocks_head); // free blocks + freeBlocks((llBlock **)&ctx->blocks_head); // free blocks + memset(ctx->l_stats,0,sizeof(ctx->l_stats)); + free(ctx->compileLineRecs); ctx->compileLineRecs=0; ctx->compileLineRecs_size=0; ctx->compileLineRecs_alloc=0; + + handle = (codeHandleType*)newBlock(sizeof(codeHandleType),8); + + if (!handle) + { + return 0; + } + + memset(handle,0,sizeof(codeHandleType)); + + expression_start=expression=preprocessCode(ctx,_expression); + + + while (*expression) + { + void *startptr; + char *expr; + ctx->colCount=0; + ctx->computTableTop=0; + + // single out segment + while (*expression == ';' || isspace(*expression)) expression++; + if (!*expression) break; + expr=expression; + + while (*expression && *expression != ';') expression++; + if (*expression) *expression++ = 0; + + // parse + + startptr=nseel_compileExpression(ctx,expr); + + if (ctx->computTableTop > NSEEL_MAX_TEMPSPACE_ENTRIES- /* safety */ 16 - /* alignment */4 || + !startptr) + { + int byteoffs = expr - expression_start; + int destoffs,linenumber; + char buf[21], *p; + int x,le; + +#ifdef NSEEL_EEL1_COMPAT_MODE + if (!startptr) continue; +#endif + if (ctx->errVar > 0) byteoffs += ctx->errVar; + linenumber=findByteOffsetInSource(ctx,byteoffs,&destoffs); + if (destoffs < 0) destoffs=0; + + le=strlen(_expression); + if (destoffs >= le) destoffs=le; + p= _expression + destoffs; + for (x = 0;x < 20; x ++) + { + if (!*p || *p == '\r' || *p == '\n') break; + buf[x]=*p++; + } + buf[x]=0; + + sprintf(ctx->last_error_string,"Around line %d '%s'",linenumber+lineoffs,buf); + + ctx->last_error_string[sizeof(ctx->last_error_string)-1]=0; + scode=NULL; + break; + } + if (computable_size < ctx->computTableTop) + { + computable_size=ctx->computTableTop; + } + + { + startPtr *tmp=(startPtr*) __newBlock((llBlock **)&ctx->tmpblocks_head,sizeof(startPtr)); + if (!tmp) break; + + tmp->startptr = startptr; + tmp->next=NULL; + if (!scode) scode=startpts=tmp; + else + { + scode->next=tmp; + scode=tmp; + } + } +} + free(ctx->compileLineRecs); ctx->compileLineRecs=0; ctx->compileLineRecs_size=0; ctx->compileLineRecs_alloc=0; + + // check to see if failed on the first startingCode + if (!scode) + { + handle=NULL; // return NULL (after resetting blocks_head) + } + else + { + char *tabptr = (char *)(handle->workTable=calloc(computable_size+64, sizeof(EEL_F))); + unsigned char *writeptr; + startPtr *p=startpts; + int size=sizeof(GLUE_RET)+GLUE_FUNC_ENTER_SIZE+GLUE_FUNC_LEAVE_SIZE; // for ret at end :) + + if (((INT_PTR)tabptr)&31) + tabptr += 32-(((INT_PTR)tabptr)&31); + + // now we build one big code segment out of our list of them, inserting a mov esi, computable before each item + while (p) + { + size += GLUE_RESET_ESI(NULL,0); + size+=*(int *)p->startptr; + p=p->next; + } + handle->code = newBlock(size,32); + if (handle->code) + { + writeptr=(unsigned char *)handle->code; + memcpy(writeptr,&GLUE_FUNC_ENTER,GLUE_FUNC_ENTER_SIZE); writeptr += GLUE_FUNC_ENTER_SIZE; + p=startpts; + while (p) + { + int thissize=*(int *)p->startptr; + writeptr+=GLUE_RESET_ESI(writeptr,tabptr); + //memcpy(writeptr,&GLUE_MOV_ESI_EDI,sizeof(GLUE_MOV_ESI_EDI)); + //writeptr+=sizeof(GLUE_MOV_ESI_EDI); + memcpy(writeptr,(char*)p->startptr + 4,thissize); + writeptr += thissize; + + p=p->next; + } + memcpy(writeptr,&GLUE_FUNC_LEAVE,GLUE_FUNC_LEAVE_SIZE); writeptr += GLUE_FUNC_LEAVE_SIZE; + memcpy(writeptr,&GLUE_RET,sizeof(GLUE_RET)); writeptr += sizeof(GLUE_RET); + ctx->l_stats[1]=size; + } + handle->blocks = ctx->blocks_head; + ctx->blocks_head=0; + + } + freeBlocks((llBlock **)&ctx->tmpblocks_head); // free blocks + freeBlocks((llBlock **)&ctx->blocks_head); // free blocks + + if (handle) + { + memcpy(handle->code_stats,ctx->l_stats,sizeof(ctx->l_stats)); + nseel_evallib_stats[0]+=ctx->l_stats[0]; + nseel_evallib_stats[1]+=ctx->l_stats[1]; + nseel_evallib_stats[2]+=ctx->l_stats[2]; + nseel_evallib_stats[3]+=ctx->l_stats[3]; + nseel_evallib_stats[4]++; + } + memset(ctx->l_stats,0,sizeof(ctx->l_stats)); + + free(expression_start); + + return (NSEEL_CODEHANDLE)handle; +} + +//------------------------------------------------------------------------------ +void NSEEL_code_execute(NSEEL_CODEHANDLE code) +{ + INT_PTR tabptr; + INT_PTR codeptr; + codeHandleType *h = (codeHandleType *)code; + if (!h || !h->code) return; + + codeptr = (INT_PTR) h->code; +#if 0 + { + unsigned int *p=(unsigned int *)codeptr; + while (*p != GLUE_RET[0]) + { + printf("instr:%04X:%04X\n",*p>>16,*p&0xffff); + p++; + } + } +#endif + + tabptr=(INT_PTR)h->workTable; + if (tabptr&31) + tabptr += 32-((tabptr)&31); + //printf("calling code!\n"); + GLUE_CALL_CODE(tabptr,codeptr); + +} + + +char *NSEEL_code_getcodeerror(NSEEL_VMCTX ctx) +{ + compileContext *c=(compileContext *)ctx; + if (ctx && c->last_error_string[0]) return c->last_error_string; + return 0; +} + +//------------------------------------------------------------------------------ +void NSEEL_code_free(NSEEL_CODEHANDLE code) +{ + codeHandleType *h = (codeHandleType *)code; + if (h != NULL) + { + free(h->workTable); + nseel_evallib_stats[0]-=h->code_stats[0]; + nseel_evallib_stats[1]-=h->code_stats[1]; + nseel_evallib_stats[2]-=h->code_stats[2]; + nseel_evallib_stats[3]-=h->code_stats[3]; + nseel_evallib_stats[4]--; + freeBlocks(&h->blocks); + + + } + +} + + +//------------------------------------------------------------------------------ +void NSEEL_VM_resetvars(NSEEL_VMCTX _ctx) +{ + if (_ctx) + { + compileContext *ctx=(compileContext *)_ctx; + int x; + if (ctx->varTable_Names || ctx->varTable_Values) for (x = 0; x < ctx->varTable_numBlocks; x ++) + { + if (ctx->varTable_Names) free(ctx->varTable_Names[x]); + if (ctx->varTable_Values) free(ctx->varTable_Values[x]); + } + + free(ctx->varTable_Values); + free(ctx->varTable_Names); + ctx->varTable_Values=0; + ctx->varTable_Names=0; + + ctx->varTable_numBlocks=0; + } +} + + +NSEEL_VMCTX NSEEL_VM_alloc() // return a handle +{ + compileContext *ctx=calloc(1,sizeof(compileContext)); + return ctx; +} + +void NSEEL_VM_free(NSEEL_VMCTX _ctx) // free when done with a VM and ALL of its code have been freed, as well +{ + + if (_ctx) + { + compileContext *ctx=(compileContext *)_ctx; + NSEEL_VM_resetvars(_ctx); + NSEEL_VM_freeRAM(_ctx); + + freeBlocks((llBlock **)&ctx->tmpblocks_head); // free blocks + freeBlocks((llBlock **)&ctx->blocks_head); // free blocks + free(ctx->compileLineRecs); + free(ctx); + } + +} + +int *NSEEL_code_getstats(NSEEL_CODEHANDLE code) +{ + codeHandleType *h = (codeHandleType *)code; + if (h) + { + return h->code_stats; + } + return 0; +} + +void NSEEL_VM_SetCustomFuncThis(NSEEL_VMCTX ctx, void *thisptr) +{ + if (ctx) + { + compileContext *c=(compileContext*)ctx; + c->caller_this=thisptr; + } +} + + + + + +void NSEEL_PProc_RAM(void *data, int data_size, compileContext *ctx) +{ + if (data_size>0) EEL_GLUE_set_immediate(data, &ctx->ram_blocks); +} +void NSEEL_PProc_THIS(void *data, int data_size, compileContext *ctx) +{ + if (data_size>0) EEL_GLUE_set_immediate(data, ctx->caller_this); +} diff --git a/src/MilkDrop2/ns-eel2/nseel-eval.c b/src/MilkDrop2/ns-eel2/nseel-eval.c new file mode 100644 index 0000000000..2dc1d063e1 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-eval.c @@ -0,0 +1,321 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-eval.c + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#include +#include +#include "ns-eel-int.h" + +#define NSEEL_VARS_MALLOC_CHUNKSIZE 8 +#define NSEEL_GLOBALVAR_BASE (1<<24) + +#ifndef NSEEL_MAX_VARIABLE_NAMELEN +#define NSEEL_MAX_VARIABLE_NAMELEN 8 +#endif + +#define strnicmp(x,y,z) strncasecmp(x,y,z) + + +#define INTCONST 1 +#define DBLCONST 2 +#define HEXCONST 3 +#define VARIABLE 4 +#define OTHER 5 + +EEL_F nseel_globalregs[100]; + + +//------------------------------------------------------------------------------ +void *nseel_compileExpression(compileContext *ctx, char *exp) +{ + ctx->errVar=0; + nseel_llinit(ctx); + if (!nseel_yyparse(ctx,exp) && !ctx->errVar) + { + return (void*)ctx->result; + } + return 0; +} + +//------------------------------------------------------------------------------ +void nseel_setLastVar(compileContext *ctx) +{ + nseel_gettoken(ctx,ctx->lastVar, sizeof(ctx->lastVar)); +} + +void NSEEL_VM_enumallvars(NSEEL_VMCTX ctx, int (*func)(const char *name, EEL_F *val, void *ctx), void *userctx) +{ + compileContext *tctx = (compileContext *) ctx; + int wb; + if (!tctx) return; + + for (wb = 0; wb < tctx->varTable_numBlocks; wb ++) + { + int ti; + int namepos=0; + for (ti = 0; ti < NSEEL_VARS_PER_BLOCK; ti ++) + { + char *p=tctx->varTable_Names[wb]+namepos; + if (!*p) break; + + + if (!func(p,&tctx->varTable_Values[wb][ti],userctx)) + break; + + namepos += NSEEL_MAX_VARIABLE_NAMELEN; + } + if (ti < NSEEL_VARS_PER_BLOCK) + break; + } +} + + + +static INT_PTR register_var(compileContext *ctx, const char *name, EEL_F **ptr) +{ + int wb; + int ti=0; + int i=0; + char *nameptr; + for (wb = 0; wb < ctx->varTable_numBlocks; wb ++) + { + int namepos=0; + for (ti = 0; ti < NSEEL_VARS_PER_BLOCK; ti ++) + { + if (!ctx->varTable_Names[wb][namepos] || !strnicmp(ctx->varTable_Names[wb]+namepos,name,NSEEL_MAX_VARIABLE_NAMELEN)) + { + break; + } + namepos += NSEEL_MAX_VARIABLE_NAMELEN; + i++; + } + if (ti < NSEEL_VARS_PER_BLOCK) + break; + } + if (wb == ctx->varTable_numBlocks) + { + ti=0; + // add new block + if (!(ctx->varTable_numBlocks&(NSEEL_VARS_MALLOC_CHUNKSIZE-1)) || !ctx->varTable_Values || !ctx->varTable_Names ) + { + ctx->varTable_Values = (EEL_F **)realloc(ctx->varTable_Values,(ctx->varTable_numBlocks+NSEEL_VARS_MALLOC_CHUNKSIZE) * sizeof(EEL_F *)); + ctx->varTable_Names = (char **)realloc(ctx->varTable_Names,(ctx->varTable_numBlocks+NSEEL_VARS_MALLOC_CHUNKSIZE) * sizeof(char *)); + } + ctx->varTable_numBlocks++; + + ctx->varTable_Values[wb] = (EEL_F *)calloc(sizeof(EEL_F),NSEEL_VARS_PER_BLOCK); + ctx->varTable_Names[wb] = (char *)calloc(NSEEL_MAX_VARIABLE_NAMELEN,NSEEL_VARS_PER_BLOCK); + } + + nameptr=ctx->varTable_Names[wb]+ti*NSEEL_MAX_VARIABLE_NAMELEN; + if (!nameptr[0]) + { + strncpy(nameptr,name,NSEEL_MAX_VARIABLE_NAMELEN); + } + if (ptr) *ptr = ctx->varTable_Values[wb] + ti; + return i; +} + +//------------------------------------------------------------------------------ +INT_PTR nseel_setVar(compileContext *ctx, INT_PTR varNum) +{ + if (varNum < 0) // adding new var + { + char *var=ctx->lastVar; + if (!strnicmp(var,"reg",3) && strlen(var) == 5 && isdigit(var[3]) && isdigit(var[4])) + { + int i,x=atoi(var+3); + if (x < 0 || x > 99) x=0; + i=NSEEL_GLOBALVAR_BASE+x; + return i; + } + + return register_var(ctx,ctx->lastVar,NULL); + + } + + // setting/getting oldvar + + if (varNum >= NSEEL_GLOBALVAR_BASE && varNum < NSEEL_GLOBALVAR_BASE+100) + { + return varNum; + } + + { + int wb,ti; + char *nameptr; + if (varNum < 0 || varNum >= ctx->varTable_numBlocks*NSEEL_VARS_PER_BLOCK) return -1; + + wb=varNum/NSEEL_VARS_PER_BLOCK; + ti=(varNum%NSEEL_VARS_PER_BLOCK); + nameptr=ctx->varTable_Names[wb]+ti*NSEEL_MAX_VARIABLE_NAMELEN; + if (!nameptr[0]) + { + strncpy(nameptr,ctx->lastVar,NSEEL_MAX_VARIABLE_NAMELEN); + } + return varNum; + } + +} + +//------------------------------------------------------------------------------ +INT_PTR nseel_getVar(compileContext *ctx, INT_PTR i) +{ + if (i >= 0 && i < (NSEEL_VARS_PER_BLOCK*ctx->varTable_numBlocks)) + return nseel_createCompiledValue(ctx,0, ctx->varTable_Values[i/NSEEL_VARS_PER_BLOCK] + i%NSEEL_VARS_PER_BLOCK); + if (i >= NSEEL_GLOBALVAR_BASE && i < NSEEL_GLOBALVAR_BASE+100) + return nseel_createCompiledValue(ctx,0, nseel_globalregs+i-NSEEL_GLOBALVAR_BASE); + + return nseel_createCompiledValue(ctx,0, NULL); +} + + + +//------------------------------------------------------------------------------ +EEL_F *NSEEL_VM_regvar(NSEEL_VMCTX _ctx, const char *var) +{ + compileContext *ctx = (compileContext *)_ctx; + EEL_F *r; + if (!ctx) return 0; + + if (!strnicmp(var,"reg",3) && strlen(var) == 5 && isdigit(var[3]) && isdigit(var[4])) + { + int x=atoi(var+3); + if (x < 0 || x > 99) x=0; + return nseel_globalregs + x; + } + + register_var(ctx,var,&r); + + return r; +} + +//------------------------------------------------------------------------------ +INT_PTR nseel_translate(compileContext *ctx, int type) +{ + int v; + int n; + *ctx->yytext = 0; + nseel_gettoken(ctx,ctx->yytext, sizeof(ctx->yytext)); + + switch (type) + { + case INTCONST: return nseel_createCompiledValue(ctx,(EEL_F)atoi(ctx->yytext), NULL); + case DBLCONST: return nseel_createCompiledValue(ctx,(EEL_F)atof(ctx->yytext), NULL); + case HEXCONST: + v=0; + n=0; + while (1) + { + int a=ctx->yytext[n++]; + if (a >= '0' && a <= '9') v=(v<<4)+a-'0'; + else if (a >= 'A' && a <= 'F') v=(v<<4)+10+a-'A'; + else if (a >= 'a' && a <= 'f') v=(v<<4)+10+a-'a'; + else break; + } + return nseel_createCompiledValue(ctx,(EEL_F)v, NULL); + } + return 0; +} + +//------------------------------------------------------------------------------ +INT_PTR nseel_lookup(compileContext *ctx, int *typeOfObject) +{ + int i, ti, wb; + const char *nptr; + nseel_gettoken(ctx,ctx->yytext, sizeof(ctx->yytext)); + + if (!strnicmp(ctx->yytext,"reg",3) && strlen(ctx->yytext) == 5 && isdigit(ctx->yytext[3]) && isdigit(ctx->yytext[4]) && (i=atoi(ctx->yytext+3))>=0 && i<100) + { + *typeOfObject=IDENTIFIER; + return i+NSEEL_GLOBALVAR_BASE; + } + + i=0; + for (wb = 0; wb < ctx->varTable_numBlocks; wb ++) + { + int namepos=0; + for (ti = 0; ti < NSEEL_VARS_PER_BLOCK; ti ++) + { + if (!ctx->varTable_Names[wb][namepos]) break; + + if (!strnicmp(ctx->varTable_Names[wb]+namepos,ctx->yytext,NSEEL_MAX_VARIABLE_NAMELEN)) + { + *typeOfObject = IDENTIFIER; + return i; + } + + namepos += NSEEL_MAX_VARIABLE_NAMELEN; + i++; + } + if (ti < NSEEL_VARS_PER_BLOCK) break; + } + + + nptr = ctx->yytext; + if (!strcasecmp(nptr,"if")) nptr="_if"; + else if (!strcasecmp(nptr,"bnot")) nptr="_not"; + else if (!strcasecmp(nptr,"assign")) nptr="_set"; + else if (!strcasecmp(nptr,"equal")) nptr="_equal"; + else if (!strcasecmp(nptr,"below")) nptr="_below"; + else if (!strcasecmp(nptr,"above")) nptr="_above"; + else if (!strcasecmp(nptr,"megabuf")) nptr="_mem"; + else if (!strcasecmp(nptr,"gmegabuf")) nptr="_gmem"; + else if (!strcasecmp(nptr,"int")) nptr="floor"; + + for (i=0;nseel_getFunctionFromTable(i);i++) + { + functionType *f=nseel_getFunctionFromTable(i); + if (!strcasecmp(f->name, nptr)) + { + switch (f->nParams) + { + case 1: *typeOfObject = FUNCTION1; break; + case 2: *typeOfObject = FUNCTION2; break; + case 3: *typeOfObject = FUNCTION3; break; + default: *typeOfObject = IDENTIFIER; break; + } + return i; + } + } + + *typeOfObject = IDENTIFIER; + nseel_setLastVar(ctx); + return nseel_setVar(ctx,-1); +} + + + +//--------------------------------------------------------------------------- +void nseel_count(compileContext *ctx) +{ + nseel_gettoken(ctx,ctx->yytext, sizeof(ctx->yytext)); + ctx->colCount+=strlen(ctx->yytext); +} + +//--------------------------------------------------------------------------- +int nseel_yyerror(compileContext *ctx) +{ + ctx->errVar = ctx->colCount; + return 0; +} diff --git a/src/MilkDrop2/ns-eel2/nseel-lextab.c b/src/MilkDrop2/ns-eel2/nseel-lextab.c new file mode 100644 index 0000000000..9d90b769bc --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-lextab.c @@ -0,0 +1,277 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-lextab.c + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#include "ns-eel-int.h" + + +#define LEXSKIP (-1) + +static int _lmovb(struct lextab *lp, int c, int st) +{ + int base; + + while ((base = lp->llbase[st]+c) > lp->llnxtmax || + (lp->llcheck[base] & 0377) != st) { + + if (st != lp->llendst) { + base = lp->lldefault[st] & 0377; + st = base; + } + else + return(-1); + } + return(lp->llnext[base]&0377); +} + +#define INTCONST 1 +#define DBLCONST 2 +#define HEXCONST 3 +#define VARIABLE 4 +#define OTHER 5 + +static int _Alextab(compileContext *ctx, int __na__) +{ + // fucko: JF> 17 -> 19? + + if (__na__ >= 0 && __na__ <= 17) + nseel_count(ctx); + switch (__na__) + { + case 0: + *ctx->yytext = 0; + nseel_gettoken(ctx,ctx->yytext, sizeof(ctx->yytext)); + if (ctx->yytext[0] < '0' || ctx->yytext[0] > '9') // not really a hex value, lame + { + nseel_setLastVar(ctx); ctx->yylval = nseel_lookup(ctx,&__na__); return __na__; + } + ctx->yylval = nseel_translate(ctx,HEXCONST); + return VALUE; + case 1: ctx->yylval = nseel_translate(ctx,INTCONST); return VALUE; + case 2: ctx->yylval = nseel_translate(ctx,INTCONST); return VALUE; + case 3: ctx->yylval = nseel_translate(ctx,DBLCONST); return VALUE; + case 4: + case 5: nseel_setLastVar(ctx); ctx->yylval = nseel_lookup(ctx,&__na__); return __na__; + case 6: return '+'; + case 7: return '-'; + case 8: return '*'; + case 9: return '/'; + case 10: return '%'; + case 11: return '&'; + case 12: return '|'; + case 13: return '('; + case 14: return ')'; + case 15: return '='; + case 16: return ','; + case 17: return ';'; + } + return (LEXSKIP); +} + + +static char _Flextab[] = + { + 1, 18, 17, 16, 15, 14, 13, 12, + 11, 10, 9, 8, 7, 6, 4, 5, + 5, 4, 4, 3, 3, 3, 3, 4, + 0, 4, 5, 0, 5, 4, 1, 3, + 0, 2, -1, 1, -1, + }; + + +static char _Nlextab[] = + { + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 1, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 1, 36, 36, 36, 36, 9, 8, 36, + 6, 5, 11, 13, 3, 12, 19, 10, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 36, 2, 36, 4, 36, 36, + 36, 29, 29, 29, 29, 29, 29, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 36, 36, 36, 36, 18, + 36, 29, 29, 29, 29, 29, 23, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 14, 18, + 18, 18, 18, 36, 7, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 36, + 36, 36, 36, 36, 36, 36, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 36, 36, 36, 36, 17, 36, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 36, 36, 36, 36, 36, 36, + 36, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 36, 36, 36, 36, 16, + 36, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 36, + 20, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 36, 36, 36, 36, 36, + 36, 36, 25, 25, 25, 25, 25, 25, + 36, 24, 36, 36, 36, 36, 36, 36, + 20, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 25, 25, 25, 25, 25, 25, + 36, 24, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 36, 36, 36, 36, + 36, 36, 36, 28, 28, 28, 28, 28, + 28, 36, 27, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 28, 28, 28, 28, 28, + 28, 31, 27, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 36, 36, 36, + 36, 36, 36, 36, 34, 34, 34, 33, + 34, 34, 36, 32, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 34, 34, 34, 33, + 34, 34, 36, 32, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 36, 36, + 36, 36, 36, 36, 36, 34, 34, 34, + 34, 34, 34, 36, 32, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 34, 34, 34, + 34, 34, 34, 36, 32, + }; + +static char _Clextab[] = + { + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, -1, 0, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, -1, 0, -1, -1, + -1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, -1, -1, -1, 0, + -1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, -1, + -1, -1, -1, -1, -1, -1, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + -1, -1, -1, -1, 14, -1, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, -1, -1, -1, -1, -1, -1, + -1, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, -1, -1, -1, -1, 15, + -1, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, -1, + 19, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, -1, -1, -1, -1, -1, + -1, -1, 23, 23, 23, 23, 23, 23, + -1, 23, -1, -1, -1, -1, -1, -1, + 19, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 23, 23, 23, 23, 23, 23, + -1, 23, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, -1, -1, -1, -1, + -1, -1, -1, 26, 26, 26, 26, 26, + 26, -1, 26, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 26, 26, 26, 26, 26, + 26, 30, 26, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, -1, -1, -1, + -1, -1, -1, -1, 30, 30, 30, 30, + 30, 30, -1, 30, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, 30, 30, 30, + 30, 30, -1, 30, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, -1, -1, + -1, -1, -1, -1, -1, 33, 33, 33, + 33, 33, 33, -1, 33, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 33, 33, 33, + 33, 33, 33, -1, 33, + }; + +static char _Dlextab[] = + { + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 15, 14, 14, 36, 36, 20, 19, 14, + 14, 23, 15, 15, 26, 23, 36, 19, + 36, 36, 33, 30, + }; + +static int _Blextab[] = + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 77, 152, + 0, 0, 0, 227, 237, 0, 0, 249, + 0, 0, 306, 0, 0, 0, 363, 0, + 0, 420, 0, 0, 0, + }; + +struct lextab nseel_lextab = { + 36, + _Dlextab, + _Nlextab, + _Clextab, + _Blextab, + 524, + _lmovb, + _Flextab, + _Alextab, + + 0, + 0, + 0, + 0, + }; + + diff --git a/src/MilkDrop2/ns-eel2/nseel-ram.c b/src/MilkDrop2/ns-eel2/nseel-ram.c new file mode 100644 index 0000000000..d20dd44956 --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-ram.c @@ -0,0 +1,320 @@ +/* + Expression Evaluator Library (NS-EEL) v2 + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#include "ns-eel.h" +#include "ns-eel-int.h" +#include +#include +#include +#include + + +#ifdef _WIN32 +#include +#endif + +unsigned int NSEEL_RAM_limitmem=0; +unsigned int NSEEL_RAM_memused=0; +int NSEEL_RAM_memused_errors=0; + + + +int NSEEL_VM_wantfreeRAM(NSEEL_VMCTX ctx) +{ + if (ctx) + { + compileContext *c=(compileContext*)ctx; + if (c->ram_needfree) + return 1; + } + return 0; +} + +void NSEEL_VM_freeRAMIfCodeRequested(NSEEL_VMCTX ctx) // check to see if our free flag was set +{ + if (ctx) + { + compileContext *c=(compileContext*)ctx; + if (c->ram_needfree) + { + NSEEL_HOSTSTUB_EnterMutex(); + if (c->ram_blocks) + { + INT_PTR startpos=((INT_PTR)c->ram_needfree)-1; + EEL_F **blocks = (EEL_F **)c->ram_blocks; + INT_PTR pos=0; + int x; + for (x = 0; x < NSEEL_RAM_BLOCKS; x ++) + { + if (pos >= startpos) + { + if (blocks[x]) + { + if (NSEEL_RAM_memused >= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK) + NSEEL_RAM_memused -= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK; + else NSEEL_RAM_memused_errors++; + } + free(blocks[x]); + blocks[x]=0; + } + pos+=NSEEL_RAM_ITEMSPERBLOCK; + } + if (!startpos) + { + free(blocks); + c->ram_blocks=0; + } + } + c->ram_needfree=0; + NSEEL_HOSTSTUB_LeaveMutex(); + } + + } +} + + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAMAllocGMEM(EEL_F ***blocks, int w) +{ + static EEL_F * volatile gmembuf; + if (blocks) return __NSEEL_RAMAlloc(blocks,w); + + if (!gmembuf) + { + NSEEL_HOSTSTUB_EnterMutex(); + if (!gmembuf) gmembuf=(EEL_F*)calloc(sizeof(EEL_F),NSEEL_SHARED_GRAM_SIZE); + NSEEL_HOSTSTUB_LeaveMutex(); + + if (!gmembuf) return 0; + } + + return gmembuf+(((unsigned int)w)&((NSEEL_SHARED_GRAM_SIZE)-1)); +} + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAMAlloc(EEL_F ***blocks, int w) +{ + int whichblock; + EEL_F **pblocks=*blocks; + + int is_locked=0; + + if (!pblocks) + { + if (!is_locked) { is_locked=1; NSEEL_HOSTSTUB_EnterMutex(); } + + if (!(pblocks=*blocks)) + { + pblocks = *blocks = (EEL_F **)calloc(sizeof(EEL_F *),NSEEL_RAM_BLOCKS); + if (!pblocks) { + if (is_locked) NSEEL_HOSTSTUB_LeaveMutex(); + return 0; + } + } + } + +// fprintf(stderr,"got request at %d, %d\n",w/NSEEL_RAM_ITEMSPERBLOCK, w&(NSEEL_RAM_ITEMSPERBLOCK-1)); + if (w >= 0 && (whichblock = w/NSEEL_RAM_ITEMSPERBLOCK) < NSEEL_RAM_BLOCKS) + { + EEL_F *p=pblocks[whichblock]; + if (!p) + { + if (!is_locked) { is_locked=1; NSEEL_HOSTSTUB_EnterMutex(); } + + if (!(p=pblocks[whichblock])) + { + + const int msize=sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK; + if (!NSEEL_RAM_limitmem || NSEEL_RAM_memused+msize < NSEEL_RAM_limitmem) + { + p=pblocks[whichblock]=(EEL_F *)calloc(sizeof(EEL_F),NSEEL_RAM_ITEMSPERBLOCK); + if (p) NSEEL_RAM_memused+=msize; + } + if (!p) w=0; + } + } + if (is_locked) NSEEL_HOSTSTUB_LeaveMutex(); + return p + (w&(NSEEL_RAM_ITEMSPERBLOCK-1)); + } + if (is_locked) NSEEL_HOSTSTUB_LeaveMutex(); +// fprintf(stderr,"ret 0\n"); + return 0; +} + + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemFree(EEL_F ***blocks, EEL_F *which) +{ + int d=EEL_F2int(*which); + if (d < 0) d=0; + if (d < NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK) ((INT_PTR *)blocks)[1]=1+d; + return which; +} + + + + + + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemCpy(EEL_F ***blocks,EEL_F *dest, EEL_F *src, EEL_F *lenptr) +{ + int dest_offs = EEL_F2int(*dest + 0.0001); + int src_offs = EEL_F2int(*src + 0.0001); + int len = EEL_F2int(*lenptr + 0.0001); + + // trim to front + if (src_offs<0) + { + len += src_offs; + dest_offs -= src_offs; + src_offs=0; + } + if (dest_offs<0) + { + len += dest_offs; + src_offs -= dest_offs; + dest_offs=0; + } + + while (len > 0) + { + EEL_F *srcptr,*destptr; + int copy_len = len; + int maxdlen=NSEEL_RAM_ITEMSPERBLOCK - (dest_offs&(NSEEL_RAM_ITEMSPERBLOCK-1)); + int maxslen=NSEEL_RAM_ITEMSPERBLOCK - (src_offs&(NSEEL_RAM_ITEMSPERBLOCK-1)); + + if (dest_offs >= NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK || + src_offs >= NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK) break; + + if (copy_len > maxdlen) copy_len=maxdlen; + if (copy_len > maxslen) copy_len=maxslen; + + if (copy_len<1) break; + + srcptr = __NSEEL_RAMAlloc(blocks,src_offs); + destptr = __NSEEL_RAMAlloc(blocks,dest_offs); + if (!srcptr || !destptr) break; + + memmove(destptr,srcptr,sizeof(EEL_F)*copy_len); + src_offs+=copy_len; + dest_offs+=copy_len; + len-=copy_len; + } + return dest; +} + +EEL_F * NSEEL_CGEN_CALL __NSEEL_RAM_MemSet(EEL_F ***blocks,EEL_F *dest, EEL_F *v, EEL_F *lenptr) +{ + int offs = EEL_F2int(*dest + 0.0001); + int len = EEL_F2int(*lenptr + 0.0001); + EEL_F t; + if (offs<0) + { + len += offs; + offs=0; + } + if (offs >= NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK) return dest; + + if (offs+len > NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK) len = NSEEL_RAM_BLOCKS*NSEEL_RAM_ITEMSPERBLOCK - offs; + + if (len < 1) return dest; + + + t=*v; // set value + +// int lastBlock=-1; + while (len > 0) + { + int lcnt; + EEL_F *ptr=__NSEEL_RAMAlloc(blocks,offs); + if (!ptr) break; + + lcnt=NSEEL_RAM_ITEMSPERBLOCK-(offs&(NSEEL_RAM_ITEMSPERBLOCK-1)); + if (lcnt > len) lcnt=len; + + len -= lcnt; + offs += lcnt; + + while (lcnt--) + { + *ptr++=t; + } + } + return dest; +} + + +void NSEEL_VM_SetGRAM(NSEEL_VMCTX ctx, void **gram) +{ + if (ctx) + { + compileContext *c=(compileContext*)ctx; + c->gram_blocks = gram; + } +} + + +void NSEEL_VM_freeRAM(NSEEL_VMCTX ctx) +{ + if (ctx) + { + int x; + compileContext *c=(compileContext*)ctx; + if (c->ram_blocks) + { + EEL_F **blocks = (EEL_F **)c->ram_blocks; + for (x = 0; x < NSEEL_RAM_BLOCKS; x ++) + { + if (blocks[x]) + { + if (NSEEL_RAM_memused >= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK) + NSEEL_RAM_memused -= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK; + else NSEEL_RAM_memused_errors++; + } + free(blocks[x]); + blocks[x]=0; + } + free(blocks); + c->ram_blocks=0; + } + c->ram_needfree=0; // no need to free anymore + } +} + +void NSEEL_VM_FreeGRAM(void **ufd) +{ + if (ufd[0]) + { + EEL_F **blocks = (EEL_F **)ufd[0]; + int x; + for (x = 0; x < NSEEL_RAM_BLOCKS; x ++) + { + if (blocks[x]) + { + if (NSEEL_RAM_memused >= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK) + NSEEL_RAM_memused -= sizeof(EEL_F) * NSEEL_RAM_ITEMSPERBLOCK; + else NSEEL_RAM_memused_errors++; + } + free(blocks[x]); + blocks[x]=0; + } + free(blocks); + ufd[0]=0; + } +} \ No newline at end of file diff --git a/src/MilkDrop2/ns-eel2/nseel-yylex.c b/src/MilkDrop2/ns-eel2/nseel-yylex.c new file mode 100644 index 0000000000..605b4776ad --- /dev/null +++ b/src/MilkDrop2/ns-eel2/nseel-yylex.c @@ -0,0 +1,163 @@ +/* + Expression Evaluator Library (NS-EEL) + Copyright (C) 2004-2008 Cockos Incorporated + Copyright (C) 1999-2003 Nullsoft, Inc. + + nseel-yylex.c + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +#include "ns-eel-int.h" + + +#define NBPW 16 +#define EOF (-1) + + +#define YYERRORVAL 256 /* yacc's value */ + +static int llset(compileContext *ctx); +static int llinp(compileContext *ctx, char **exp); +static int lexgetc(char **exp) +{ + char c= **exp; + if (c) (*exp)++; + return( c != 0 ? c : -1); +} +static int tst__b(register int c, char tab[]) +{ + return (tab[(c >> 3) & 037] & (1 << (c & 07)) ); +} + +int nseel_gettoken(compileContext *ctx, char *lltb, int lltbsiz) +{ + register char *lp, *tp, *ep; + + tp = lltb; + ep = tp+lltbsiz-1; + for (lp = ctx->llbuf; lp < ctx->llend && tp < ep;) + *tp++ = *lp++; + *tp = 0; + return(tp-lltb); +} + + +int nseel_yylex(compileContext *ctx, char **exp) +{ + register int c, st; + int final, l, llk, i; + register struct lextab *lp; + char *cp; + + while (1) + { + llk = 0; + if (llset(ctx)) return(0); + st = 0; + final = -1; + lp = &nseel_lextab; + + do { + if (lp->lllook && (l = lp->lllook[st])) { + for (c=0; cllsave[c] = ctx->llp1; + llk++; + } + if ((i = lp->llfinal[st]) != -1) { + final = i; + ctx->llend = ctx->llp1; + } + if ((c = llinp(ctx,exp)) < 0) + break; + if ((cp = lp->llbrk) && llk==0 && tst__b(c, cp)) { + ctx->llp1--; + break; + } + } while ((st = (*lp->llmove)(lp, c, st)) != -1); + + + if (ctx->llp2 < ctx->llp1) + ctx->llp2 = ctx->llp1; + if (final == -1) { + ctx->llend = ctx->llp1; + if (st == 0 && c < 0) + return(0); + if ((cp = lp->llill) && tst__b(c, cp)) { + continue; + } + return(YYERRORVAL); + } + if ((c = (final >> 11) & 037)) + ctx->llend = ctx->llsave[c-1]; + if ((c = (*lp->llactr)(ctx,final&03777)) >= 0) + return(c); + } +} + +void nseel_llinit(compileContext *ctx) +{ + ctx->llp1 = ctx->llp2 = ctx->llend = ctx->llbuf; + ctx->llebuf = ctx->llbuf + sizeof(ctx->llbuf); + ctx->lleof = ctx->yyline = 0; +} + + +static int llinp(compileContext *ctx, char **exp) +{ + register int c; + register struct lextab *lp; + register char *cp; + + lp = &nseel_lextab; + cp = lp->llign; /* Ignore class */ + for (;;) { + /* + * Get the next character from the save buffer (if possible) + * If the save buffer's empty, then return EOF or the next + * input character. Ignore the character if it's in the + * ignore class. + */ + c = (ctx->llp1 < ctx->llp2) ? *ctx->llp1 & 0377 : (ctx->lleof) ? EOF : lexgetc(exp); + if (c >= 0) { /* Got a character? */ + if (cp && tst__b(c, cp)) + continue; /* Ignore it */ + if (ctx->llp1 >= ctx->llebuf) { /* No, is there room? */ + return -1; + } + *ctx->llp1++ = c; /* Store in token buff */ + } else + ctx->lleof = 1; /* Set EOF signal */ + return(c); + } +} + +static int llset(compileContext *ctx) +/* + * Return TRUE if EOF and nothing was moved in the look-ahead buffer + */ +{ + register char *lp1, *lp2; + + for (lp1 = ctx->llbuf, lp2 = ctx->llend; lp2 < ctx->llp2;) + *lp1++ = *lp2++; + ctx->llend = ctx->llp1 = ctx->llbuf; + ctx->llp2 = lp1; + return(ctx->lleof && lp1 == ctx->llbuf); +} diff --git a/src/MilkDrop2/nu/AutoCharFn.h b/src/MilkDrop2/nu/AutoCharFn.h new file mode 100644 index 0000000000..3b5b775038 --- /dev/null +++ b/src/MilkDrop2/nu/AutoCharFn.h @@ -0,0 +1,50 @@ +#ifndef NULLSOFT_UTILITY_AUTOCHARFN_H +#define NULLSOFT_UTILITY_AUTOCHARFN_H + +/* Winamp defines this, but this little block lets us use this thing outside of Winamp */ +#ifndef FILENAME_SIZE +#define FILENAME_SIZE (MAX_PATH*4) +#define REMOVE_FILENAME_SIZE +#endif + + +#include +#include + +class AutoCharFn +{ +public: + AutoCharFn(const wchar_t *filename) + { + out[0]=0; + if (!filename) + return; + if (PathIsURLW(filename)) + { + WideCharToMultiByte(CP_ACP, 0, filename, -1, out, FILENAME_SIZE, NULL, NULL); + return ; + } + + BOOL unconvertable = FALSE; + WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, filename, -1, out, FILENAME_SIZE, NULL, &unconvertable); + + if (unconvertable) + { + wchar_t temp[MAX_PATH]; + if (GetShortPathNameW(filename, temp, MAX_PATH)) + WideCharToMultiByte(CP_ACP, 0, temp, -1, out, FILENAME_SIZE, NULL, NULL); + + } + } + + operator char *() { return out; } +private: + char out[FILENAME_SIZE]; +}; + + +#ifdef REMOVE_FILENAME_SIZE +#undef FILENAME_SIZE +#endif + +#endif diff --git a/src/MilkDrop2/nu/AutoWide.h b/src/MilkDrop2/nu/AutoWide.h new file mode 100644 index 0000000000..26f3edb188 --- /dev/null +++ b/src/MilkDrop2/nu/AutoWide.h @@ -0,0 +1,86 @@ +#ifndef AUTOWIDEH +#define AUTOWIDEH +#ifdef WIN32 +#include + +inline wchar_t *AutoWideDup(const char *convert, UINT codePage=CP_ACP) +{ + wchar_t *wide = 0; + if (!convert) + return 0; + + int size = MultiByteToWideChar(codePage, 0, convert, -1, 0,0); + if (!size) + return 0; + + wide = (wchar_t *)malloc(size*sizeof(wchar_t)); + if (!MultiByteToWideChar(codePage, 0, convert, -1, wide,size)) + { + free(wide); + wide=0; + } + return wide; +} + +class AutoWide +{ +public: + AutoWide(const char *convert, UINT codePage=CP_ACP) : wide(0) + { + wide = AutoWideDup(convert, codePage); + } + ~AutoWide() + { + free(wide); + wide=0; + } + operator wchar_t *() + { + return wide; + } +private: + wchar_t *wide; +}; +#elif defined(__APPLE__) +#include +inline wchar_t *AutoWideDup(const char *convert) +{ + wchar_t *wide=0; + if (!convert) + return 0; + int size = strlen(convert)+1; + if (!size) + return 0; + + wide = (wchar_t *)malloc(size*sizeof(wchar_t)); + if (mbstowcs(wide, convert, size) == (size_t)-1) + { + free(wide); + wide=0; + } + return wide; +} + +class AutoWide +{ +public: + AutoWide(const char *convert) : wide(0) + { + wide = AutoWideDup(convert); + } + ~AutoWide() + { + free(wide); + wide=0; + } + operator wchar_t *() + { + return wide; + } +private: + wchar_t *wide; +}; + +#endif + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/nu/Vector.h b/src/MilkDrop2/nu/Vector.h new file mode 100644 index 0000000000..4c0b4ae66d --- /dev/null +++ b/src/MilkDrop2/nu/Vector.h @@ -0,0 +1,223 @@ +#ifndef NULLSOFT_VECTOR_H +#define NULLSOFT_VECTOR_H +#include +#include + +template +class Vector +{ +public: + typedef Type *iterator; + typedef const Type *const_iterator; +public: + Vector() : values(0), numPtrs(0), allocSize(0) + {} + virtual ~Vector() + { + delete [] values; + } + + Vector(const Vector ©): values(0), numPtrs(0), allocSize(0) + { + if (copy.numPtrs) + { + values = new Type[copy.numPtrs]; + allocSize = copy.numPtrs; + numPtrs = copy.numPtrs; + for (size_t i = 0;i != numPtrs;i++) + { + values[i] = copy.values[i]; + } + } + } + + void operator=(const Vector ©) + { + Reset(); + if (copy.numPtrs) + { + values = new Type[copy.numPtrs]; + allocSize = copy.numPtrs; + numPtrs = copy.numPtrs; + for (size_t i = 0;i != numPtrs;i++) + { + values[i] = copy.values[i]; + } + } + } + + Type &operator[](size_t index) + { + return values[index]; + } + Type *data() + { + return values; + } + Type *begin() const + { + return values; + } + Type *end() const + { + if (values) return values + numPtrs; else return 0; + } + void Reset() + { + delete [] values; values = 0; numPtrs = 0; allocSize=0; + } + void clear() + { + numPtrs = 0; + } + size_t size() const + { + return numPtrs; + } + size_t capacity() + { + return allocSize; + } + Type &back() + { + return values[numPtrs-1]; + } + + Type &at(size_t index) const + { + return values[index]; + } + + void reserve(size_t size) + { + if (size <= numPtrs) + return; + + Type *newTable = new Type[size]; + for (size_t i = 0;i != numPtrs;i++) + { + newTable[i] = values[i]; + } + allocSize = size; + delete[] values; + values = newTable; + } + + void push_back(Type t) + { + if (numPtrs == allocSize) + reserve(allocSize*MULTIPLIER + INCREMENT); + values[numPtrs++] = t; + } + + void insert(size_t index, const Type &value) + { + if (numPtrs == allocSize) + reserve(allocSize*MULTIPLIER + INCREMENT); + + for (size_t i = numPtrs;i != index;i--) + { + values[i] = values[i-1]; + } + values[index] = value; + numPtrs++; + } + + void append(size_t size, Type *t) + { + reserve(numPtrs + size + INCREMENT); + for (size_t i = 0;i != size;i++) + { + push_back(t[i]); + } + } + + void pop_back() + { + if (numPtrs) + { + numPtrs--; + // next line removed to allow structs and classes + // values[numPtrs] = 0; // TODO: an inplace delete might be better? + } + } + + void erase(iterator itr) + { + size_t index = itr - values; + eraseAt(index); + } + + void eraseAt(size_t index) + { + if (numPtrs > index) + { + for (size_t k = index + 1; k < numPtrs; k++) + { + values[k-1] = values[k]; + } + numPtrs--; + } + } + + /* Removes an item by swapping it with the last item in the list. faster but can ruin order */ + void eraseAtFast(size_t index) + { + if (index < numPtrs) + { + values[index] = values[--numPtrs]; +// if (numPtrs != index) +// values[numPtrs]=0; + } + } + + bool empty() const + { + return numPtrs == 0; + } + + void resize(size_t newSize, Type val) + { + if (newSize < numPtrs) + { + numPtrs = newSize; + } + else if (newSize > numPtrs) + { + reserve(allocSize + (newSize - numPtrs) + INCREMENT); + + while(numPtrs < newSize) + { + values[numPtrs] = val; + numPtrs++; + } + } + } + + void resize(size_t newSize) + { + if (newSize < numPtrs) + { + numPtrs = newSize; + } + else if (newSize > numPtrs) + { + reserve(allocSize + (newSize - numPtrs) + INCREMENT); + numPtrs = newSize; + } + } + + void set(Type *ptr, size_t num) + { + delete [] values; + values=ptr; + numPtrs=num; + } + +private: + size_t numPtrs; + size_t allocSize; + Type *values; +}; + +#endif diff --git a/src/MilkDrop2/vis_milk2/DOCUMENTATION.TXT b/src/MilkDrop2/vis_milk2/DOCUMENTATION.TXT new file mode 100644 index 0000000000..df3ef7f4cc --- /dev/null +++ b/src/MilkDrop2/vis_milk2/DOCUMENTATION.TXT @@ -0,0 +1,1022 @@ + +----------------------------------------------------------------------- + WINAMP 2.X VISUALIZATION PLUG-IN "MEGA SDK" + ('Vis Mega SDK' for short) + ('VMS' for shorter) +----------------------------------------------------------------------- + Description: A codebase for rapidly creating robust and feature-rich + DX8-based visualization plug-ins of your own. + Version: custom version based on 1.05 beta 1; upgraded to use DX9. + Released: n/a + Author: Ryan Geiss + Copyright: (c) 2002-2007 Nullsoft, Inc. + VMS HOMEPAGE: http://www.nullsoft.com/free/vms/ + VMS AT WINAMP: http://www.winamp.com/nsdn/winamp2x/dev/plugins/vis.jhtml + SUPPORT FORUM: http://forums.winamp.com/forumdisplay.php?forumid=147 +----------------------------------------------------------------------- + + +TABLE OF CONTENTS +----------------- + 1. Purpose of this package + 2. Features + 3. Required software + 4. Setting up the build environment + 5. Starting Your Own Plugin Based on the Framework + 6. Writing your own Plugin: A Brief Tour + 7. Order of Function Calls + 8. Using Data From the Base Class (CPluginShell) + 9. Adding Controls to the Config Panel + 10. Enabling Additional Tabs (pages) on the Config Panel + 11. Using Visual C++ to Debug your Plugin + 12. Releasing a Plugin + 13. Tips to pass on the the user, in your documentation + 14. Performance Tips for DirectX 8 + 15. Other Resources + 16. Known Bugs + 17. Version History + 18. License + + +Purpose of this package +----------------------- + This package is for DEVELOPERS who want to write their own + visualization plugins. + + It aims to provide a codebase that enables all developers + (beginning to advanced) to easily build robust Winamp 2.x + visualization plugins whose graphics are to be generated + though the DirectX 8 API. This codebase will 1) drastically + reduce the time it takes to write your plugin, 2) ensure + that it is robust (if you follow directions), and 3) give + you built-in support for many cool features, such as + multiple monitors. (See below for more details.) + + Feel free to base any plugins on this "framework". + + +Features +-------- + -DESKTOP MODE. Lets your plugin run as animated wallpaper, + with very little CPU overhead. (Your plugin can also + run in windowed or fullscreen modes, and the user can + switch between all 3 on the fly.) + -SUPERIOR MULTIMON SUPPORT. Your plugin will work on systems + with multiple display adapters, as well as systems with + a multi-head card. For multi-head cards that treat all + screens as one giant display (ie. resolutions like 2048x768 + or 1024x1536), your users can even use 'fake' fullscreen mode + to run your plugin fullscreen on just one monitor! + -SOUND ANALYSIS: the framework provides your plugin with a + super-high-quality FFT (fast fourier transform) for doing your + own frequency analysis, or for drawing spectra. Framework also + provides super-simple loudness levels for 3 bands (bass, + mids, and treble) and at varying attenuation (damping) rates. + -A very nice CONFIGURATION PANEL is provided for the plugin. + On the first page (tab) of the config panel are all the + settings that all plugins share in common [handled by VMS]; + on subsequent tabs, you add your own controls, for settings + that are specific to your plugin. The example plugin also + shows you how to easily handle the reading/writing of settings + that you add to/from the .INI file that will store your + plugin's settings. + -OTHER PERKS like a runtime help screen and playlist; high-precision + timing (accurate to 10 microseconds, or 0.00001 seconds); + pause-filtering (so your timing code won't got haywire + when Winamp is unpaused); and many others. + -CPU-FRIENDLY: when the window is minimized, or when you're + in fullscreen mode and ALT-TAB out, the plugin sleeps to + preserve CPU. FPS limiting also does its best to preserve + CPU, while at the same time, accurately limiting the FPS. + -ERROR FEEDBACK: provides detailed error messages to the user + on failure, as well as suggestions on how to fix problems. + + +Required software +----------------- + 1. Nullsoft Winamp 2.X (~1 MB) + http://www.winamp.com/ + 2. Microsoft DirectX 8.0+ - (~11 MB) + http://www.microsoft.com/windows/directx/ + 3. Microsoft Developer Studio (Visual C++) 6.0 + (a retail product) + 4. Microsoft DirectX 8.0 SDK (Software Development Kit) - (~173 MB) + http://www.microsoft.com/windows/directx/ + (then click the 'msdn' icon in the lower right, under + "info for developers") + *** NOTE that you can use a later SDK, such as 8.1b; but if you + do, then your plugin will only run on systems with that version + (or later) of the DirectX runtime installed! *** + *** You can also install several versions of the SDK into + different directories, and as long as the 8.0 sdk paths are + selected in Dev Studio (see below), your plugin will only + require the 8.0 runtime. *** + 5. MSDN (Microsoft Developer Network) help library (OPTIONAL) (~1GB) + (also a retail product; optional, but highly recommended + to have around. If you can't get the CD's, though, you + can always access the help database online at + http://msdn.microsoft.com/library/ ) + + +Setting up the build environment +-------------------------------- + [Note: for Visual C++ .Net users, see below] + + 1. Make sure DirectX 8.0 or later is installed. + 2. Make sure the DirectX 8.0 SDK (source development kit) is installed. + ** (see notes above & below) ** + 3. Configure Visual C++ to use the [appropriate] DX8 SDK: + + In Visual C++, go to Tools, then Options. Click on the + 'Directories' tab. Under 'Show directories for:', select + 'Include Files.' Then, below, add the INCLUDE folder + underneath the folder into which you installed the DX8 SDK. + Now highlight your addition and use the fancy-looking 'up' + arrow icon to move it to the top of the list of directories. + + Now do the same thing for the LIB folder. Under 'Show + directories for:', select 'Library Files.' Now add the LIB + folder underneath the folder into which you installed the + DX8 SDK. Again, use the fancy-looking 'up' arrow icon + to move it to the top of the list of directories. + + *** NOTE that if you have multiple DirectX 8 SDK's (such as 8.0 + and 8.1b) installed to different directories, you'll want the + earliest one (hopefully 8.0) to be first in the list; that's + the one that will get used when you compile & link. Otherwise, + your plugin will only run on systems with the other version + (or later) of the DirectX runtime installed! *** + + 4. (optional) you might want to set Visual C++ up to use + 4 spaces instead of symbolic tabs, to keep the formatting + of new code that you write consistent with this code. + If you want to do this, go to menu:Tools->Options, click + the 'Tabs' tab, set the 'Tab Size' to 4 and click on + 'Insert Spaces'. + + [FOR VISUAL C++ .NET USERS:] + You'll want to start a fresh DLL-based project and manually + add all the source/header files to it. Then go into project + settings and make it **Use MFC in a SHARED DLL**. + + +Starting Your Own Plugin Based on the Framework +----------------------------------------------- + 1. Copy the files in the 'ExPlugin' folder to a new folder, + such as 'MyPlugin' - it can be anything. + 2. In the new folder, rename the workspace file ExPlugin.dsw + to MyPlugin.dsw (or equivalent). + 3. Open the new workspace file (that you just renamed) in Visual C++. + 4. Go to menu:Build->Configurations and select 'plugin - Win32 Debug'. + 5. Go to menu:Project->Settings + a. In the upper-left corner, where it says 'Settings For:', + select 'All Configurations' from the dropdown box. + b. Click the 'debug' tab, and under 'Executable for debug + session', point it to winamp.exe (most likely + c:\program files\winamp\winamp.exe). (This will enable + you to debug your plugin using Visual C++.) + c. Click the 'link' tab, and under 'Output file name', + enter the name of the .DLL to write (such as + c:\program files\winamp\plugins\vis_myplugin.dll). + This should start with 'vis_' and end in the + '.dll' extension. This DLL will be your plugin. + d. click OK. + 6. On the left you should see the workspace view (if not, hit ALT+ZERO) + to bring it up) with 3 tabs at the bottom (ClassView, ResourceView, + FileView). Click 'FileView'. Expand everything in this view so you + can see all the files. + 7. Open 'defines.h' by double-clicking it. Now edit this file according + to the comments, to give your plugin a name, a version number, enter + the author's name, copyright string, the name of the .INI file you + want to save the user's settings in, the name of the documentation + file, and so on. (You can always come back and change these values + later, of course). + + Now you're ready to build & run the plugin: + + 8. Press F7 to build the plugin. + a. If you get any of these error messages: + fatal error C1083: Cannot open include file: 'd3d8.h'... + fatal error C1083: Cannot open include file: 'd3dx8.h'... + Then you haven't added the DX8 SDK *include* path to your + build environment. See 'To set up the build environment' + above. + b. If you any linker error messages, such as this one: + LINK : fatal error LNK1104: cannot open file "d3d8.lib" + Then you haven't added the DX8 SDK *library* file path to your + build environment. See 'To set up the build environment' + above. + + 9. Copy the files 'ex_tex.jpg' and 'vms_desktop.dll' from the MyPlugin + directory to your Winamp PLUGINS folder (usually c:\program files\ + winamp\plugins). + + 10. Run Winamp, press CTRL+P to select your plugin, and make sure that + it appears in the list. Notice that the name matches what you + entered into the 'defines.h' file as APPNAME; if you didn't change + it, it will appear as 'Example Plugin v1.04 / VisMegaSDK' (or + something similar). Next, configure the plugin, hit OK, & run it + by clicking 'Start'. + + +Writing your own Plugin: A Brief Tour +------------------------------------- + This starts out by pointing you at the important source code, + then by showing you around the resource editor and, finally, + the DirectX 8 and MSDN help libraries. + + 1. Take a look at each of the 6 files in the 'My Plugin Source Files' + and 'My Plugin Header Files' groups. These will give you an idea + of the code that makes up the example plugin. All of the + behind-the-scenes code is wrapped up in the 'Framework Files' + group, which you shouldn't have to bother with (unless you + want to). + + 2. Take a close look at plugin.h. This is the C++ class that makes + up your plugin. Note that the class is derived from the + CPluginShell class (which is in pluginshell.h/cpp), so it inherits + all its functions & variables. What you see here (in plugin.h) + are the data members and functions ADDED for this specific + (example) plugin, as well as the 12 pure virtual functions we've + implemented from the base class. + + 3. Take a close look at plugin.cpp. READ THE BRIEF COMMENTS AT THE + TOP OF THOSE 12 VIRTUAL FUNCTIONS TO GET AN IDEA OF WHEN THEY'RE + CALLED AND WHAT THEY DO. + + 4. Next we'll go into the Resource Editor. + Click the 'ResourceView' tab at the bottom of the Workspace view. + Then expand 'plugin resources' by double-clicking it, expand + 'Dialog' in the same way, and double-click 'IDD_CONFIG' to open + the template for the config panel. You can now double-click + individual controls to edit their properties; move/resize them; + press CTRL+T to test the dialog; press CTRL+D to define the tab + order; and even add new controls (using the floating toolbar) + (note that added controls require a lot of support code in + plugin.cpp; see 'Adding Controls to the Config Panel' below). + + Also expand the 'Icon' folder on the left (just after 'Dialog') + and double-click IDI_PLUGIN_ICON. This is the icon used in the + taskbar, window title, and ALT+TAB screen when your plugin is + running. Note that there are 5 different icons within this one, + all at different resolutions and color depths, accessible by + changing the 'device' (just above the enlarged icon in the + resource editor). So, when you go to update the icon, don't forget + to update it for all devices! + + 5. In Windows, go to Start Menu -> Program Files -> Microsoft + DirectX 8 SDK -> DirectX Documentation (Visual C++). This + is the help library for DirectX 8; you will need to refer to + it religiously in order to get anything done in DirectX 8. + The good news is, it's *extremely* well-written. + + 6. In Windows, go to Start Menu -> Program Files -> Microsoft + Developer Network -> MSDN Library. This is the help library + for the general Win32 platform, but might not have info on + DirectX 8 (depending on when your version was published). + If you couldn't get the MSDN CD's, you can access the MSDN + library online at: + http://msdn.microsoft.com/library/ + You'll have to do this from time to time to write a plugin, + but not nearly as often as you'll be accessing the DirectX 8 + help library. + + You might also want to take a look at the useful goodies inside + utility.cpp; they could come in handy. + + That's it; you've now seen all the 'screens' you'll spend 99% of + your time on, in order to write your own plugin. + + +Order of Function Calls +----------------------- + The only code that will be called by the plugin framework are the + 12 virtual functions in plugin.h. But in what order are they called? + A breakdown follows. A function name in { } means that it is only + called under certain conditions. + + Order of function calls... + + When the PLUGIN launches + ------------------------ + INITIALIZATION + OverrideDefaults + MyPreInitialize + MyReadConfig + << DirectX gets initialized at this point >> + AllocateMyNonDx8Stuff + AllocateMyDX8Stuff + RUNNING + +--> { CleanUpMyDX8Stuff + AllocateMyDX8Stuff } // called together when user resizes window or toggles fullscreen<->windowed. + | MyRenderFn + | MyRenderUI + | { MyWindowProc } // called, between frames, on mouse/keyboard/system events. 100% threadsafe. + +----<< repeat >> + CLEANUP + CleanUpMyDX8Stuff + CleanUpMyNonDx8Stuff + << DirectX gets uninitialized at this point >> + + When the CONFIG PANEL launches + ------------------------------ + INITIALIZATION + OverrideDefaults + MyPreInitialize + MyReadConfig + << DirectX gets initialized at this point >> + RUNNING + { MyConfigTabProc } // called on startup & on keyboard events + CLEANUP + [ MyWriteConfig ] // only called if user clicked 'OK' to exit + << DirectX gets uninitialized at this point >> + + +Using Data From the Base Class (CPluginShell) +--------------------------------------------- + The base class from which your CPlugin class (in plugin.cpp) is + derived is called CPluginShell and is defined in pluginshell.cpp. + Many of its data members are 'protected', which means that only that + class itself, *plus derived classes*, can access them. ('Public' + members can be accessed by anyone; 'private' are unaccessible even + to derived classes.) + + The protected data members and methods (functions) are as follows. + Generally, you should treat the data members as READ-ONLY; the only + exception is in OverrideDefaults(), where you can modify some of + their values to alter the "default defaults". See the comments at + the top of OverrideDefaults() in plugin.cpp for more information. + + Here are all of the members & methods maintained by the plugin shell, + and available to CPlugin: + + + // GET METHODS + // ------------------------------------------------------------ + int GetFrame(); // returns current frame # (starts at zero) + float GetTime(); // returns current animation time (in seconds) (starts at zero) (updated once per frame) + float GetFps(); // returns current estimate of framerate (frames per second) + eScrMode GetScreenMode(); // returns WINDOWED, FULLSCREEN, FAKE_FULLSCREEN, DESKTOP, or NOT_YET_KNOWN (if called before or during OverrideDefaults()). + HWND GetWinampWindow(); // returns handle to Winamp main window + HINSTANCE GetInstance(); // returns handle to the plugin DLL module; used for things like loading resources (dialogs, bitmaps, icons...) that are built into the plugin. + char* GetPluginsDirPath(); // usually returns 'c:\\program files\\winamp\\plugins\\' + char* GetConfigIniFile(); // usually returns 'c:\\program files\\winamp\\plugins\\something.ini' - filename is determined from identifiers in 'defines.h' + + // GET METHODS THAT ONLY WORK ONCE DIRECTX IS READY + // ------------------------------------------------------------ + // The following 'Get' methods are only available after DirectX has been initialized. + // If you call these from OverrideDefaults, MyPreInitialize, or MyReadConfig, + // they will return NULL (zero). + // ------------------------------------------------------------ + HWND GetPluginWindow(); // returns handle to the plugin window. NOT persistent; can change! + int GetWidth(); // returns width of plugin window interior, in pixels. + int GetHeight(); // returns height of plugin window interior, in pixels. + int GetBitDepth(); // returns 8, 16, 24 (rare), or 32 + LPDIRECT3DDEVICE8 GetDevice(); // returns a pointer to the DirectX 8 Device. NOT persistent; can change! + D3DCAPS8* GetCaps(); // returns a pointer to the D3DCAPS8 structer for the device. NOT persistent; can change. + D3DFORMAT GetBackBufFormat(); // returns the pixelformat of the back buffer (probably D3DFMT_R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_X8R8G8B8, D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_A1R5G5B5, D3DFMT_A4R4G4B4, D3DFMT_R3G3B2, D3DFMT_A8R3G3B2, D3DFMT_X4R4G4B4, or D3DFMT_UNKNOWN) + D3DFORMAT GetBackBufZFormat(); // returns the pixelformat of the back buffer's Z buffer (probably D3DFMT_D16_LOCKABLE, D3DFMT_D32, D3DFMT_D15S1, D3DFMT_D24S8, D3DFMT_D16, D3DFMT_D24X8, D3DFMT_D24X4S4, or D3DFMT_UNKNOWN) + char* GetDriverFilename(); // returns a text string with the filename of the current display adapter driver, such as "nv4_disp.dll" + char* GetDriverDescription(); // returns a text string describing the current display adapter, such as "NVIDIA GeForce4 Ti 4200" + + // FONTS & TEXT + // ------------------------------------------------------------ + LPD3DXFONT GetFont(eFontIndex idx); // returns a D3DX font handle for drawing text; see shell_defines.h for the definition of the 'eFontIndex' enum. + int GetFontHeight(eFontIndex idx); // returns the height of the font, in pixels; see shell_defines.h for the definition of the 'eFontIndex' enum. + + // MISC + // ------------------------------------------------------------ + td_soundinfo m_sound; // a structure always containing the most recent sound analysis information; defined in pluginshell.h. + void SuggestHowToFreeSomeMem(); // gives the user a 'smart' messagebox that suggests how they can free up some video memory. + + // CONFIG PANEL SETTINGS + // ------------------------------------------------------------ + // *** only read/write these values during CPlugin::OverrideDefaults! *** + int m_start_fullscreen; // 0 or 1 + int m_start_desktop; // 0 or 1 + int m_fake_fullscreen_mode; // 0 or 1 + int m_max_fps_fs; // 1-120, or 0 for 'unlimited' + int m_max_fps_dm; // 1-120, or 0 for 'unlimited' + int m_max_fps_w; // 1-120, or 0 for 'unlimited' + int m_show_press_f1_msg; // 0 or 1 + int m_allow_page_tearing_w; // 0 or 1 + int m_allow_page_tearing_fs; // 0 or 1 + int m_allow_page_tearing_dm; // 0 or 1 + int m_minimize_winamp; // 0 or 1 + int m_desktop_show_icons; // 0 or 1 + int m_desktop_textlabel_boxes; // 0 or 1 + int m_desktop_manual_icon_scoot; // 0 or 1 + int m_desktop_555_fix; // 0 = 555, 1 = 565, 2 = 888 + int m_dualhead_horz; // 0 = both, 1 = left, 2 = right + int m_dualhead_vert; // 0 = both, 1 = top, 2 = bottom + int m_save_cpu; // 0 or 1 + int m_skin; // 0 or 1 + td_fontinfo m_fontinfo[NUM_BASIC_FONTS + NUM_EXTRA_FONTS]; + D3DDISPLAYMODE m_disp_mode_fs; // a D3DDISPLAYMODE struct that specifies the width, height, refresh rate, and color format to use when the plugin goes fullscreen. + + +Adding Controls to the Config Panel +----------------------------------- + There are four basic aspects of adding a new control to the config panel, + outlined below. + + 1. Add the control to one of the property pages in the config panel (2..8), + via the Resource Editor. Note that you should not modify the config + panel itself (IDD_CONFIG) or the first property page (IDD_PROPSHEET_1). + Also, do not resize the page dialogs or the config panel; they are designed + to fit on a 640x480 screen, and should not be expanded. + + 2. Add a variable (data member) to represent the control to your CPlugin class, + in plugin.h. + + 3. In plugin.cpp: + a. initialize the variable to its default value in MyPreInitialize(), + b. read its value from the INI file in MyReadConfig(), and + c. write its value to the INI file in MyWriteConfig(). + + 4. In plugin.cpp, in the MyConfigTabProc function, **when 'nPage' is + the index (2..8) of the tab on which the control was placed:** + a. add code under WM_INITDIALOG to set the state of the control + (from the variable) when the config panel is started + b. add code under WM_COMMAND, case IDOK, to read the state + of the control and save the result in the variable + c. add a handler for your new control underneath WM_HELP, so that + when the user clicks the '?' in the config panel titlebar, + then clicks on your control, they get a helpful messagebox + explaining what the control does. + + +Enabling Additional Tabs (pages) on the Config Panel +---------------------------------------------------- + By default, only two 'tabs' (pages) are enabled on the config panel. + The first is handled by the framework, and should not be modified; + the second, and any you add, are handled in plugin.cpp, in MyConfigTabProc(). + The maximum number of tabs/pages is 8 (unless you want to modify the + framework files). + + To add a third page (for example), simply open defines.h, and give a name + to the tab by setting the value of CONFIG_PANEL_BUTTON_3. This is all you + have to do to make the tab appear! To add controls to the new page, see + the above section entitled 'Adding Controls to the Config Panel.' + + If you want to extend the framework to add a 9th page (?!), you need to: + 1. create a dialog called IDD_PROPPAGE_9 (style=child, border=none, visible, ctrl parent, control). + 2. in config.cpp, increment MAX_PROPERTY_PAGES + 3. in config.cpp, add IDD_PROPPAGE_9 to g_proppage_id[] + 4. in config.cpp, call AddButton for it + + +Using Visual C++ to Debug your Plugin +------------------------------------- + 1. Build the plugin in the 'Debug' configuration + (menu:Build->Configurations, then select 'debug'). + 2. Go to menu:Project->Settings (ALT+F7) and click the + 'Debug' tab. Under 'Executable for debug session', + point it to winamp.exe. + 3. Press F5 to start debug session; it will launch winamp. + 4. You can now configure your plugin or run it; just set a + breakpoint anywhere in your code (F9) and when the code + gets to that point, it will break, and you can look at + variable values and browse structures (SHIFT+F9), jump + around on the call stack (ALT+7), and so on. + + +Releasing a Plugin +------------------ + 1. Build in Release Mode + + Once you're done debugging and ready to share your plugin + with others, go to menu:Build->Configurations and select + 'plugin - Win32 Release', then go to menu:Build->Clean and + menu:Build->Rebuild All. Building in release mode makes + your code smaller and faster (but doesn't allow debugging). + + 2. Package it up an a self-installing .EXE + + Here you'll want to download the Nullsoft Superpimp Install + System (NSIS) from http://www.nullsoft.com/free/nsis/ to + make your users' lives easier. + + Then read the instructions at the top of the install script + file 'installer.nsi' (next to DOCUMENTATION.TXT) and edit the + install script to reflect the name and version of your plugin, + the paths & filenames & destination paths of everything you + want packaged up, and the output installer filename. + + After installing NSIS, editing installer.nsi, and doing + a final release build, run a command something like this + from the command prompt (you'll have to adjust the paths): + + "c:\program files\Nsis\makensis" C:\MyProjects\MyPlugin\installer.nsi + + If all goes well, you'll have a file named something like + 'myplugin_100.exe' in your MyPlugin directory. Test it + out on a fresh machine to make sure the install screens + say the right thing and install the right files, and + you're set to go! + + 3. Checklist: (prior to actually running makensis.exe) + + * Did you update the version number and APPNAME in defines.h? + * Did you do a final pass on the tab ordering (CTRL+D from the + Resource Editor) of the config panel? + * Did you add WM_HELP handlers to new controls on the config panel? + * If you added any MessageBox() commands, did you supply the right + HWND parameter? (The messagebox will pop up on the same monitor + that that HWND is on.) + * Did you test your plugin in Desktop Mode, while Winamp is + *paused*, and then try moving icons around, to make sure that + you're properly handling the 'redraw' flag in MyRenderFn()? + * Did you update the version numbers throughout installer.nsi? + * Did you update the help screen text? (see top of plugin.cpp) + * Did you do your final build in Release mode? + * Did you write/update documentation? + Does the config panel link to it work? + * Did you make/update a webpage? + Does the config panel link to it work? + + +Tips to pass on the the user, in your documentation +--------------------------------------------------- + 1. In general, it's a very good idea to use only Microsoft-certified + WHQL (Windows Hardware Quality Labs) drivers for your video card. + Often people want to get the newest, fastest beta drivers, but + these drivers are almost ALWAYS riddled with new bugs. + + 2. If you want Winamp to listen to your sound card's Line-In or Mic-In + (or other audio input channel on your system) for driving the + visuals, just do the following: + + 1. CONNECT WIRES + Connect your audio source (a stereo, a live feed, whatever) into + the line-in (or microphone) 1/8" jack on your sound card. + + 2. SELECT SOUND INPUT CHANNEL & ADJUST VOLUME + In Windows, double-click the speaker icon in your systray (where + the clock is). Then, on the menu, go to Options -> Properties + and select the "Recording" option. Then make sure the Line In + (or Microphone) input channel (whichever is appropriate for + your case) is SELECTED (with a check mark) and that the volume + is close to, or at, the maximum. Hit OK. + + 3. TELL WINAMP TO USE LINE-IN + Open Winamp, and hit CTRL+L (the "Open Location" hotkey). Now + type in "linein://" as the location you want to open. (Leave out + the quotes and make sure you use FORWARD slashes.) Hit PLAY + in Winamp, and the little built-in oscilloscope (or spectrum + analyzer) in Winamp should start showing your signal. + + 4. RUN YOUR VISUALIZATION PLUGIN OF CHOICE + If the plugin seems to be responding too much or too little, + try adjusting the volume from Windows' Volume Control, or adjust + the sound level at the source. + + 3. For the best graphics performance, try to close as many other + applications as you can, before running the plugin, especially + those that tend to work in the background, such as anti-virus + or file-swapping software. Also, if you must leave other + applications open, try to minimize them (i.e. shrink the window + down to the taskbar) so that they stay out of the painting loop. + + 4. LCD screens: Note that most LCD screens (flatpanels) run at 60 Hz only, + meaning that they update the screen 60 times per second. However, + sometimes the video driver reports that it supports other refresh + rates, such as 72, 75, 85, etc. It is strongly recommended that + [for fullscreen mode, and for Windows in general] you choose a + display mode with a 60 Hz refresh rate, for the smoothest possible + animation. For this plugin, you will also want to choose + Maximum Framerates that divide evenly into 60 - such as 60, 30, 20, + 15, 12, 10, 6, 5, and so on - so that the # of times the LCD shows + each frame of animation remains constant, resulting in the smoothest + possible animation. + + 5. Multiple Monitors: It is recommended that whenever you modify your Windows + multimon setup (i.e. turn an adapter on/off, change its color depth, etc.) + that you reboot Windows before running this plugin. + + 6. Video Capture: If you'd like to save sequences of video from this plugin, + there are several programs out there that will let you do this. Warning: + you will need a ton of free hard drive space, and a fast CPU helps. A + few of these programs are: + "FRAPS" http://www.fraps.com/ + "Hypercam" http://www.hyperionics.com + + (That's it, for now. PLEASE include the tip about live audio input!) + + +Performance Tips for DirectX 8 +------------------------------ + 1. Minimize state changes (SetTexture, SetTextureStageState, + and SetRenderState) at all cost; group polygons together + that share the same rendering settings and send them all + together. You will be amazed at the performance gain. + + 2. Use Vertex Buffers and Index Buffers for all your static + geometry (i.e. vertices/indices that don't change every + frame - like a static model that doesn't change, even + though it might move around, rotate, resize, etc. due + to the world/view/projection matrices). These buffers + will keep the geometry in video memory (if possible) so + that the data doesn't have to cross the bus every frame; + if not, they'll try to at least place the geometry/indices + in AGP memory. If you don't use these driver-managed + buffers (and instead use DrawPrimitiveUP and + DrawIndexedPrimitiveUP), you're keeping all of your data + in non-AGP system memory, and unless the data is very + small, you can expect a major bottleneck. Note that for + dynamically-generated vertex data (i.e. vertices are + generated each frame - like when you draw a waveform), + you don't have a choice. + + If you follow these two tips and use common sense (and know + the basic theory behind how 3D accelerators work), you should + be getting 30 fps on a Voodoo 3 (assuming your overdraw is low, + i.e. you don't draw each pixel on the screen more than once or + twice per frame). + + For more tips, look in the DX8 SDK Documentation, or look on + the web. + + +Other Resources +--------------- + 1. DX8 SDK: The DX8 documentation that came with your DX8 SDK is, + by far, the most critical resource you have. It fully documents + the entire API, and much more. The SDK also comes with tons of + samples and their source code. + 2. NSDN: the Nullsoft Developer Network, where the Winamp API + is published: http://www.winamp.com/nsdn/winamp2x/ + If you want to do anything in MyWindowProc() that involves + communicating with the Winamp window directly (such as + querying for the song title/time/length, querying the playlist, + adjusting the panning, toggling shuffle, etc.), you'll need + to delve into NSDN. It's all extremely straightforward and + simple. For a few examples of how to talk to the main Winamp + window, check out PluginShellWindowProc() in pluginshell.cpp. + 3. Here are links to a few sites with good DirectX tutorials/faqs/code: + The X-Zone: http://www.mvps.org/directx/ + Gamedev.net: http://www.gamedev.net/reference/ + + +Known Bugs +---------- + 1. When running [true] fullscreen in a multimon setup, + sometimes when the user presses ALT-TAB to switch away from the plugin + and to another window, the plugin will minimize. The 'sometimes' is + determined as follows: + -if the user releases TAB before depressing ALT, the window + minimizes (undesired behavior). + -if the user depresses ALT before releasing TAB, the window does + not minimize (desired behavior). + 2. Desktop Mode: some features are not implemented yet. They are: + -right-click -> cut/copy/paste/rename + -right-click -> "send to" doesn't work on all machines + -no keyboard commands (delete, enter, arrows, CTRL+X/C/V/Z) + -no drag-and-drop for files + -desktop shortcuts mostly work when you double-click them, + but on some machines bring up an "open/save" dialog + instead of actually launching the file. + + That's it for now. + + If anyone finds a solution for any of these bugs, please post the solution + in the VMS forum, and it will be included in the next VMS release. + + +Version History +----------------------------------------------------------------------- +[v1.05 beta 1 - June 26, 2003] + + -revamped the way keyboard commands are routed between your plugin + and the plugin shell. Before, the shell captured certain keys + ('p' for playlist, 'zxcvb' for playback, 's' for shuffle, 'F1' + for help, ESC to exit, arrows for volume/seeking, etc.) + and the plugin was unable to override these. Now, the shell + will pass the WM_KEYDOWN/WM_CHAR message to the plugin + (MyWindowProc) first, to see if it wants to process it. If the + plugin steals the key, it returns 0, and the shell ignores it. + If the plugin does not process the key, it returns 1, and then + the shell is free to process it. + +*** NOTE that if you are upgrading to VMS 1.05, this means you'll have to +*** update the way your WM_CHAR and WM_KEYDOWN handlers work in plugin.cpp! +*** [primarily, you'll have to return 0 when you handle a key, and 1 +*** otherwise.] + + -added key: 'r' for repeat + -added SKINNING; if you have Winamp 2.90+, you can now check the + 'integrate with winamp' checkbox and the plugin [when running in + windowed mode] will be skinned just like Winamp. The integrated + window works just like any other Winamp window; it docks with + other windows, CTRL+TAB cycles between them all, and lots of new + keys work (J, L, CTRL+P, ALT+E, etc.). + -fixed bug (or error in judgment?) where fake fullscreen mode window + would actually run at the *bottom* of the Z order when running + on a multiple monitor setup. The problem was that if you clicked + on any other window, the taskbar would pop up, potentially overtop + of the plugin. Since there's really no way around this, I decided + (before) to just stick the plugin at the bottom of the Z order in + this case. Well, this is now fixed; the plugin tries its best + to stay on top, but watch out - if you try and click on any other + windows, the taskbar WILL pop up. If you want to avoid that, + you'll have to run in true fullscreen mode. + -improved audio and video synchronization + -the current framerate is now used to tell Winamp, each frame, + exactly how far in advance it should give us the audio data. + For example, if we're getting 20 fps, we should get the + audio 50 ms in advance for the proper video frame to appear + when the user will actually hear those audio samples. + -timing: added calls to beginTimePeriod and endTimePeriod, so the assumed + granularity for Sleep() is now 2 ms (down from 10 ms). + This means that CPU usage will dramatically drop, and + fortunately, there should be no effect on framerate accuracy. + -desktop mode: added 'show icons' option to the desktop mode options + dialog, so users can uncheck it (and hide/disable the icons) if they + like. + -user can no longer shrink the window to less than 64x48 in size. + (often the minimum size will be higher than this though; see + WM_GETMINMAXINFO in pluginshell.cpp). + -user can now switch modes (windowed <-> fullscreen <-> desktop mode) + immediately. (before, it was blocked until frame 5.) + -(fixed a small bug in the example plugin, where handler for WM_KEYUP + returned DefWindowProc instead of 1). + -any time the DirectX setup fails when starting up (or switching to) + windowed mode, the window coords are now saved to disk as a 256x256 + window placed at (64,64). That way, if the problem was due to running + out of video memory, it will be less likely to recur. + -config panel: + -added two more fonts: one for the playlist, and another for the + help screen. + -it's now easy to add your own fonts to the font dialog in the + config panel; just add the appropriate #defines in the file + defines.h. Then you can access them easily from plugin.cpp by + calling GetFont(EXTRA_1), GetFont(EXTRA_2), and so on, up to + GetFont(EXTRA_5). You can also get their height by calling + GetFontHeight(EXTRA_1) through GetFontHeight(EXTRA_5). + -greatly improved the installer script. + -now selects winamp2 dir by default, if both winamp 2 & 3 are installed. + -fixed a bug where the plugin wasn't being correctly set as the default plugin + in winamp. Also, this is no longer an option - it just automatically does it. + -now, when you go to install to winamp 3, it checks to see if ClassicVis + is installed. If it is, you're set; if not, it prompts you to go download + it. If you choose not to, it alerts you that the installation failed. + -the FFT class (fft.cpp, fft.h) now has 2 extra optional init parameters. + -'bEqualize' is 1 by default; set it to 0 to have a non-equlized FFT; + bass frequencies will be much higher in magnitude than treble frequencies. + -'envelope_power' is 1.0 by default; adjust it to change the characteristics + of the resulting frequency spectrum (see comments in fft.cpp, in + InitEnvelopeTable). Set this to a negative value to not use an envelope. + -the help screen is no longer pre-rendered to a texture; it is now just drawn every + frame that it's needed. (Decided that that precious memory on some 8MB graphics + cards was more important than having a good framerate, on some cards, while viewing + the help screen.) + -added some nice macros to MyRenderUI() in plugin.cpp; makes the code for drawing + text much simpler. + -added 2 functions, GetDriver and GetDesc, which will return text strings with the + name & description of the currently active display adapter. (search these + strings for vendor substrings like "nvidia", using strstr or something similar, + to do vendor-specific bug workarounds. blech.) + -fixed a bug in SSE detection + -added handy memset_MMX() function to utility.cpp (alongside memcpy_MMX) + -fixed tabbing order for controls config panel tab #1 (doh) + -in 'defines.h', you now specify a long name + a short name for your plugin. + The long name is used for the description string in winamp's list of plugins; + the short name is used for the window caption. + -in the example plugin, in plugin.cpp, the F3 key (show song length) + is now a three-state toggle: off, current time, and current time / total + length. + +[v1.04 - October 29, 2002] + + -DESKTOP MODE: the icing on the cake. + -Allows users to run your plugin as animated wallpaper, with very + little cpu overhead. Uses no overlays or other unusual hardware + features. + -Just make sure you include the file 'vms_desktop.dll' with your + plugin; it is required for Desktop Mode to work properly. + It's small, though - only 48 kb. This file is now included + in the sample install script (installer.nsi). + -You can toggle Desktop Mode on/off at runtime by hitting ALT+D. + And as before, you can toggle Fullscreen via ALT+ENTER. + -Not all features of the desktop are fully implemented, but most + of the most-frequently-used features should be working. + For a list of the features not yet implemented, see the + 'Known Bugs' section above. + -CHANGES MADE TO PLUGIN.H,CPP: (isolated for ease-of-merging purposes) + 1. added a few config settings; see OverrideDefaults() + in PLUGIN.CPP. + 2. added 'redraw' flag to MyRenderFn - see the comments + at the top of MyRenderFn. Make sure you respect this + flag, or else, when the user moves icons around in + Desktop Mode while Winamp is paused, your plugin + will mysteriously start animating. + 3. added the 'MyRenderUI' function - please break your + text-rendering code in MyRenderFn off into this function. + 4. removed the ClipPlaylist() functions and, instead, provided + pointers to some values as params to MyRenderUI() that tell + you where to place text in each of the corners. As you + draw text, be sure to update these values, so that any + text drawn by the plugin shell (parent class) won't try to + draw text overtop of your text. + -Plugins based on VMS now remember the window position when they last + (successfully) exited windowed mode, and use that as the + default when they re-enter windowed mode (during the same + session or in a later session). If there is an error creating + that window (too big/not enough video memory, off-screen + because display mode resolution decreased, etc.) it will + revert to the default window size & position. + -Config Panel: + -For users with DualHead cards that run two monitors as one + virtual display (e.g. 2048x768 or 1024x1536), you can now + specify which half of the screen you want Fake Fullscreen Mode + and Desktop Mode to occupy, or both. See the 'DualHead' + button on the config panel. + -Added an option to save cpu usage by using a more-tolerant + framerate limitation algorithm - saves 0-20%. Default: ON. + -Fixed appearance of the help screen by adding +0.5-texel offset; + on some cards, help screen text was kind of jaggy and munged. + -Release builds no longer log window messages to the debug + output stream. + -The D3DX font for the help screen text is now created at + initialization time, instead of on demand. + -Framework Files: + -renamed 'fontdialog.cpp' to 'config2.cpp', since it now contains + more than just the font dialog code. + -added 'desktop_mode.cpp' and 'icon_t.h' to support Desktop Mode. + -Changes made to the sample installer script: [installer.nsi] + -added UnInstall options for winamp 2 and 3 + -simplified things by using some !define's at the top + -updated it to look for Winamp 3's new executable + name: winamp3.exe (in addition to the old, which was + studio.exe) + +----------------------------------------------------------------------- +[v1.03 - August 27, 2002] + + [MAJOR CHANGES] + -audio: + -vastly improved frequency analysis by multiplying the waveform by a + bell-shaped envelope before sending it to the FFT, lessening the + frequency response of the old square filter and producing a more + precise frequency analysis. Also improved it by doing a 1024-sample + FFT (instead of a 512). Special thanks goes out to Alan Seefeldt + and Alan Peevers for sharing their extensive knowledge in this area! + -config panel: + -split it into separate property sheets, so that + future updates to VMS (this sdk) will be easier to integrate + with code based on previous versions. Also, this gives developers + a lot more space to add things to the config panel. + -split the settings for 'fake fullscreen' mode and regular + fullscreen mode into two separate sets of controls, instead + of sharing controls; it was too confusing that way. + -added option to minimize winamp when going fullscreen. + Only actually minimizes winampwhen going fullscreen + (or fake fullscreen) AND winamp and the plugin window + are situated on the same monitor. + -added user-configurable fonts to the config panel. + -text: + -added a built-in playlist! + -added some sample code (in plugin.cpp / RenderText()) for showing + the current song title, position, and length. + -timing: + -oops... hi-precision timer was disabled in last version! + -also discovered an even more high-precision timer, which provides + a time sampling precision of from 1 to 5 *MICRO*seconds! + -ditched the 'frame delay' system and replaced it with a 'max fps' + system that should work more intuitively, and be extremely + accurate (thanks to the new timer). + -classes: + -got rid of InitMyGDIStuff() and CleanUpMyGDIStuff() - not really needed + -got rid of MyPreRenderFn() - also not really needed + -in windowed mode, if there is not enough video memory to create + the window at the default size, the window will now try to shrink + further and further, until it is small enough to work. + -fixed problem where the plugin wouldn't show up in the plug-ins list + in Winamp, if the user didn't have DX8 or later installed. Now + it does show up in the list, and if they try to run/configure it + and DX8 is missing, it will indicate this, and even offer to + take them to the MS DirectX website to download it. + -also started calling LoadLibrary("d3d8.dll") before calling + Direct3DCreate8(), so the latter wouldn't crash on systems + without DX8. + -yanked the fractal stuff out of the example plugin; too complicated. + + [MINOR CHANGES] + -now more resilient when user turns off some display (in a multimon + setup), then goes to run the plugin on that display (because they + didn't return to the config panel and update the display adapter + selection). + -improved suggested actions for when the plugin fails to start + because there is not enough video memory; suggestions now + include turning off other programs that might be using up + video memory (Windows Media Player, NetMeeting, and so on). + -config panel: disabled caps checking; sometimes requesting + the caps fails when you dynamically enable/disable monitors in + a multimon setup, so adapters that really exist (and are on) + would be missing in the list. + -config panel: added a sample combobox & slider to the 2nd property page, + which now features a checkbox, slider, and combobox, all + as simple examples for the plugin developer to build off of. + -noticed that multipsampling only works with D3DSWAPEFFECT_DISCARD, + so the code is now protected against using D3DSWAPEFFECT_COPY_VSYNC + with multisampling. The config panel has also been updated to + indicate to the user that if page tearing is disallowed, + multisampling will not function. This is a limitation of + the DirectX 8 API. + -added OverrideDefaults() function; see comments in plugin.cpp + -revamped the sample beat detection code + -tightened up the interface to CPluginShell + -made DirectX get initialized earlier (and cleaned up later) + so that GetWidth() and GetHeight() would be valid longer + -moved srand(time(NULL)) up to top of MyPreInitialize, in case + the developer wants to randomly initialize any of their + variables there. + -modified PrepareFor2DDrawing() so that it always makes the range + of X,Y coords -1..1 (before it was -width/2..width/2, and similarly + for height). Also inverted Y, so that y==-1 is actually at the + top of the screen, and Y==1 is at the bottom. + -added PrepareFor3DDrawing() + -improved auto-selection of best-match video mode; now, if it can't + find the exact pixel format that was in the INI file, + if will try other video modes that have the same bit depth, + but a different arrangement of the bits. [This applies to both + the config panel, AND when you go to run the plugin fullscreen.] + -respected key repeat count for playlist navigation (up/down), volume + adjust (up/down), and seeking (left/right). + -fixed a bug where the plugin would close on WM_KEYUP/VK_ESCAPE. Now, + instead, it closes on WM_KEYDOWN/VK_ESCAPE. This was a problem when + you hit ESCAPE to close some other app (on WM_KEYDOWN), then the focus + went to the plugin, and WM_KEYUP/VK_ESCAPE got sent to the plugin. + Not sure why it was even like this in the first place... + -fixed a timing but where, when the frame delay was zero (or fps + was unlimited), and the plugin was using the low-precision timer, + the fps reading would blow up and m_time would stop. + -fixed a bug w/a parameter to CreateFont: max font weight was + 900; 'twas calling it with 1000 + -fixed bug with context menu cleanup + -fixed a bug where winamp playback nav. keys (zxcvbs) were + handled under WM_KEYDOWN; should have been under WM_CHAR. + -fixed a bug where DXContext was calling DestroyWindow (on the final + exit of the plugin), when in fact, the window had already been + destroyed (by Windows, it seems). + -fixed a bug in config panel, where list of video modes wasn't updating + when you changed the fullscreen adapter. + -fixed a bug where DXContext was remembering the native windows display + mode for the first monitor that the window was created on, only. + This was a problem because if two monitors had different bit depths, + and you ran it and switched to another monitor by toggling fullscreen, + it would try to create a device with a back buffer whose bit depth + was that of the original monitor. To fix this, it now does the + following: the first time it creates a window, before changing the + display mode, it remembers the native display mode for all the + adapters present, then uses the appropriate one whenever it needs + it. + -deleted the 'DX8 Includes' project folder from the workspace; + use 'External Dependencies' folder instead, it automatically + points you to the right directories. + + +----------------------------------------------------------------------- +[1.02, August 5, 2002] + -Fixed bug where the plugin would minimize if you were running + [true] fullscreen with multiple monitors, and went to click + in another window. Previously the workaround was to use fake + fullscreen mode, but now this is not necessary. Fake fullscreen + mode still remains, though; for the rationale, see the help text + for the 'fake fullscreen mode' checkbox in the config panel. + -Decided that InitMyNonDx8Stuff() should be called first, instead + of last, and that CleanUpMyNonDx8Stuff() should be called last, + not first. + -Might have fixed a bug with high-precision timer. + -Added a custom icon (...which the developer can modify, of course). + + +----------------------------------------------------------------------- +[1.01, July 19, 2002] + -Initial release + + +----------------------------------------------------------------------- + +License +------- +Copyright (C) 1999-2002 Nullsoft, Inc. + + This source code is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this source code or the software it produces. + + Permission is granted to anyone to use this source code for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. + 3. This notice may not be removed or altered from any source distribution. + + + + diff --git a/src/MilkDrop2/vis_milk2/api.h b/src/MilkDrop2/vis_milk2/api.h new file mode 100644 index 0000000000..8b25cfd5fe --- /dev/null +++ b/src/MilkDrop2/vis_milk2/api.h @@ -0,0 +1,16 @@ +#ifndef NULLSOFT_APIH +#define NULLSOFT_APIH + +#include +#include "../Agave/Language/api_language.h" +#include +#include +#include +#include +extern api_syscb *WASABI_API_SYSCB; +#define WASABI_API_SYSCB sysCallbackApi +#include +extern api_application *applicationApi; +#define WASABI_API_APP applicationApi + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/config.cpp b/src/MilkDrop2/vis_milk2/config.cpp new file mode 100644 index 0000000000..dab06017c9 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/config.cpp @@ -0,0 +1,1588 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "pluginshell.h" +#include "resource.h" +#include "utility.h" +#include "defines.h" +#include "shell_defines.h" +#include "vis.h" +#include +#include +#include +#include +#include +#include +#include + +#define PREFERRED_FORMAT D3DFMT_X8R8G8B8 +#define MAX_PROPERTY_PAGES 8 +#define MAX_DISPLAY_ADAPTERS 16 +#define MAX_MAX_FPS 120 +#define MAX_DISPLAY_MODES 1024 + +extern winampVisModule mod1; + +IDirect3D9* g_lpDX; +HMODULE g_hmod_d3d9; +HMODULE g_hmod_d3dx9; +D3DADAPTER_IDENTIFIER9 g_disp_adapter_w[MAX_DISPLAY_ADAPTERS]; // NOTE: indices into this list might not equal the ordinal adapter indices! +D3DADAPTER_IDENTIFIER9 g_disp_adapter_fs[MAX_DISPLAY_ADAPTERS]; // NOTE: indices into this list might not equal the ordinal adapter indices! +D3DADAPTER_IDENTIFIER9 g_disp_adapter_dm[MAX_DISPLAY_ADAPTERS]; // NOTE: indices into this list might not equal the ordinal adapter indices! +D3DDISPLAYMODE g_disp_mode[MAX_DISPLAY_MODES]; +HWND g_config_hwnd; +HWND g_subwnd; +int g_num_disp_modes; +int g_nTab; +int g_ignore_clicks; +int g_zero_display_modes_warning_given; +int g_proppage_id[MAX_PROPERTY_PAGES]; + +void GetCurrentDisplayMode(D3DDISPLAYMODE *pMode) +{ + if (!pMode) + return; + + DEVMODE dm; + dm.dmSize = sizeof(dm); + dm.dmDriverExtra = 0; + if (!EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm)) + return; + + pMode->Width = dm.dmPelsWidth; + pMode->Height = dm.dmPelsHeight; + pMode->Format = (dm.dmBitsPerPel==16) ? D3DFMT_R5G6B5 : D3DFMT_X8R8G8B8; + pMode->RefreshRate = dm.dmDisplayFrequency; +} + +bool CPluginShell::InitConfig(HWND hDialogWnd) +{ + // ******* do initialization of global variables HERE ******* + // ******* do initialization of global variables HERE ******* + // ******* do initialization of global variables HERE ******* + + g_lpDX = NULL; + g_hmod_d3d9 = NULL; + g_hmod_d3dx9 = NULL; + g_num_disp_modes = 0; + g_config_hwnd = hDialogWnd; + g_ignore_clicks = 1; + g_subwnd = NULL; + g_nTab = 0; + g_zero_display_modes_warning_given = 0; + + g_proppage_id[0] = IDD_PROPPAGE_1; + g_proppage_id[1] = IDD_PROPPAGE_2; + g_proppage_id[2] = IDD_PROPPAGE_3; + g_proppage_id[3] = IDD_PROPPAGE_4; + g_proppage_id[4] = IDD_PROPPAGE_5; + g_proppage_id[5] = IDD_PROPPAGE_6; + g_proppage_id[6] = IDD_PROPPAGE_7; + g_proppage_id[7] = IDD_PROPPAGE_8; + + // ******* do initialization of global variables HERE ******* + // ******* do initialization of global variables HERE ******* + // ******* do initialization of global variables HERE ******* + + return true; +} + +void CPluginShell::EndConfig() +{ + SafeRelease(g_lpDX); + + if (g_subwnd) + { + DestroyWindow(g_subwnd); + g_subwnd = NULL; + } + + if (g_hmod_d3d9) + { + FreeLibrary(g_hmod_d3d9); + g_hmod_d3d9 = NULL; + } + if (g_hmod_d3dx9) + { + g_hmod_d3dx9 = NULL; + } +} + +static bool AddButton(int pos, HWND tabctrl, LPWSTR szButtonText) +{ + if (szButtonText && szButtonText[0] && szButtonText[0] != L' ') + { + TCITEMW tie = {0}; + tie.mask = TCIF_TEXT | TCIF_IMAGE; + tie.iImage = -1; + tie.pszText = szButtonText; + + if (SendMessageW(tabctrl, TCM_INSERTITEMW, pos, (LPARAM)&tie) == -1) + return false; + } + return true; +} + +void CPluginShell::UpdateAdapters(int screenmode) +{ + int i; + + if (!g_lpDX) return; + + int nDispAdapters = 0; + + HWND ctrl; + GUID* pGUID = NULL; + char deviceName[256]; + switch(screenmode) + { + case FULLSCREEN: + ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_FS); + pGUID = &m_adapter_guid_fullscreen; + StringCbCopy(deviceName, sizeof(deviceName), m_adapter_devicename_fullscreen); + break; + case WINDOWED: + ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_W); + pGUID = &m_adapter_guid_windowed; + StringCbCopy(deviceName, sizeof(deviceName), m_adapter_devicename_windowed); + break; + /*case FAKE_FULLSCREEN: + ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_FFS); + pGUID = &m_adapter_guid_fake_fullscreen; + strcpy(deviceName, m_adapter_devicename_fake_fullscreen); + break;*/ + case DESKTOP: + ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_DMS); + pGUID = &m_adapter_guid_desktop; + StringCbCopy(deviceName, sizeof(deviceName), m_adapter_devicename_desktop); + break; + } + + // clear the combo box + SendMessage( ctrl, CB_RESETCONTENT, 0, 0); + + // repopulate the combo box with a list of adapters + { + char szDesc[1024]; + + D3DADAPTER_IDENTIFIER9* global_adapter_list; + switch(screenmode) + { + case FULLSCREEN: + global_adapter_list = g_disp_adapter_fs; + break; + case WINDOWED: + global_adapter_list = g_disp_adapter_w; + break; + /*case FAKE_FULLSCREEN: + global_adapter_list = g_disp_adapter_w; // [sic] + break;*/ + case DESKTOP: + global_adapter_list = g_disp_adapter_dm; + break; + } + + int nAdapters = g_lpDX->GetAdapterCount(); + + // re-populate it: + + wchar_t szDebugFile[MAX_PATH]; + StringCbCopyW(szDebugFile, sizeof(szDebugFile), m_szConfigIniFile); + wchar_t* p = wcsrchr(szDebugFile, L'\\'); + if (p) + { + lstrcpyW(p+1, ADAPTERSFILE); + FILE* f = _wfopen(szDebugFile, L"w"); + if (f) + { + DWORD winamp_version = SendMessage(GetWinampWindow(),WM_WA_IPC,0,0); + fprintf(f, "Winamp version = 0x%04X\n", winamp_version); + fprintf(f, "Plugin long name = \"%s\", version=%d, subversion=%d\n", LONGNAME, INT_VERSION, INT_SUBVERSION); + fprintf(f, "Enumeration of Display Adapters:\n"); + //fprintf(f, "...this is a temporary debug file created by MilkDrop 2.\n"); + //fprintf(f, "...don't worry - the final release of the plug-in will NOT generate this file.\n"); + for (i=0; iGetAdapterIdentifier(i, /*D3DENUM_NO_WHQL_LEVEL*/ 0, &global_adapter_list[nDispAdapters]) == D3D_OK) + { + // Now get the caps, and filter out any graphics cards that can't + // do, say, gouraud shading: + + int adapter_ok = 1; + + /* + D3DCAPS9 caps; + if (g_lpDX->GetDeviceCaps(i, D3DDEVTYPE_HAL, &caps)==D3D_OK) + { + // check the caps here, make sure the device is up to par. example: + if (caps.ShadeCaps & D3DPSHADECAPS_COLORGOURAUDRGB) + adapter_ok = 0; + } + */ + + if (f) { + fprintf(f, "%d. Driver=%s\n", nDispAdapters+1, global_adapter_list[nDispAdapters].Driver); + fprintf(f, " Description=%s\n", global_adapter_list[nDispAdapters].Description); + fprintf(f, " DeviceName=%s\n", global_adapter_list[nDispAdapters].DeviceName); + fprintf(f, " DriverVersion=0x%08X (%d)\n",global_adapter_list[nDispAdapters].DriverVersion); + fprintf(f, " VendorId=%d\n", global_adapter_list[nDispAdapters].VendorId); + fprintf(f, " DeviceId=%d\n", global_adapter_list[nDispAdapters].DeviceId); + fprintf(f, " SubSysId=0x%08X\n", global_adapter_list[nDispAdapters].SubSysId); + fprintf(f, " Revision=%d\n", global_adapter_list[nDispAdapters].Revision); + //fprintf(f, " DeviceIdentifier=0x%08X\n", global_adapter_list[nDispAdapters].DeviceIdentifier); + char szGuidText[512]; + GuidToText(&global_adapter_list[nDispAdapters].DeviceIdentifier, szGuidText, sizeof(szGuidText)); + fprintf(f, " WHQLLevel=%d\n", global_adapter_list[nDispAdapters].WHQLLevel); + fprintf(f, " GUID=%s\n", szGuidText); + } + + if (adapter_ok) + { + sprintf(szDesc, "%d. %s [%s]", nDispAdapters+1, global_adapter_list[nDispAdapters].Description, global_adapter_list[nDispAdapters].Driver); + SendMessage( ctrl, CB_ADDSTRING, nDispAdapters, (LPARAM)szDesc); + nDispAdapters++; + } + } + } + fclose(f); + } + } + + // set selection(s): + // find i where global_adapter_list[i].DeviceIdentifier is the same as last time, + // and select it. + int found = 0; + for (i=0; iGetAdapterModeCount(nAdapterOrdinal, PREFERRED_FORMAT); + + if (nVideoModesTotal <= 0 && !g_zero_display_modes_warning_given) + { + g_zero_display_modes_warning_given = 1; + wchar_t title[64]; + MessageBoxW(g_config_hwnd, WASABI_API_LNGSTRINGW(IDS_GRAPHICS_SUBSYSTEM_IS_TEMPORARILY_UNSTABLE), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_WARNING, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + + // clear the combo box + SendMessage( hwnd_listbox, CB_RESETCONTENT, 0, 0); + + int nAdded = 0; + + // re-populate it: + for (i=0; i= MAX_DISPLAY_MODES) + break; + + // get info for display mode into g_disp_mode[nAdded] + if (g_lpDX->EnumAdapterModes(nAdapterOrdinal, PREFERRED_FORMAT, i, &g_disp_mode[nAdded]) != D3D_OK) + continue; + + // add to combo box + int bpp = 0; + switch(g_disp_mode[nAdded].Format) + { + default: + case D3DFMT_UNKNOWN : WASABI_API_LNGSTRINGW_BUF(IDS_UNKNOWN, szfmt, 256); bpp=0; break; + case D3DFMT_R8G8B8 : lstrcpynW(szfmt, L"RGB-888", 256); bpp=32; break; + case D3DFMT_A8R8G8B8 : lstrcpynW(szfmt, L"ARGB-8888", 256); bpp=32; break; + case D3DFMT_X8R8G8B8 : lstrcpynW(szfmt, L"XRGB-8888", 256); bpp=32; break; + case D3DFMT_R5G6B5 : lstrcpynW(szfmt, L"RGB-565", 256); bpp=16; break; + case D3DFMT_X1R5G5B5 : lstrcpynW(szfmt, L"XRGB-1555", 256); bpp=16; break; + case D3DFMT_A1R5G5B5 : lstrcpynW(szfmt, L"ARGB-1555", 256); bpp=16; break; + case D3DFMT_A4R4G4B4 : lstrcpynW(szfmt, L"ARGB-4444", 256); bpp=16; break; + case D3DFMT_X4R4G4B4 : lstrcpynW(szfmt, L"XRGB-4444", 256); bpp=16; break; + } + swprintf(str, L" %s, %4d x %4d, %3d %s ", + szfmt, g_disp_mode[nAdded].Width, + g_disp_mode[nAdded].Height, + g_disp_mode[nAdded].RefreshRate, + WASABI_API_LNGSTRINGW(IDS_HZ)); + + /* + #ifdef DONT_ALLOW_8BIT_FULLSCREEN + if (bpp==8) continue; + #endif + #ifdef DONT_ALLOW_16_24_32_BIT_FULLSCREEN + if (bpp==16 || bpp==24 || bpp==32) continue; + #endif + */ + + int nPos = SendMessageW( hwnd_listbox, CB_ADDSTRING, 0, (LPARAM)str); + + // keep a record of the original index, because the combo box SORTS the data: + SendMessage( hwnd_listbox, CB_SETITEMDATA, nPos, i); + + nAdded++; + } + + g_num_disp_modes = nAdded; + + // now set selection, based on best match to prev. video mode. + int found = 0; + + // Fallback order: + // 0. exact match (4 params) w,h,r,f + // 1. ignore refresh rate, but still heed color format + // 2. heed only w,h, and if desired_mode.Format is UNKNOWN, + // try for a 16-bpp color format and 60 Hz + // 3. heed only w,h, and if desired_mode.Format is UNKNOWN, + // try for a 16-bpp color format at any Hz + // 4. heed only w,h. + + D3DDISPLAYMODE desired_mode = m_disp_mode_fs; + + assert(desired_mode.Format != D3DFMT_UNKNOWN); + // this should never happen anymore, now that we set smarter default FS display mode + // (to match the current display mode) in PluginShell.cpp's PluginPreInitialize(). + /*if (desired_mode.Format==D3DFMT_UNKNOWN) + { + GetCurrentDisplayMode(&desired_mode); + + // first-time config: try to find a video mode that matches our ideal. + // do many passes until we find one, each time relaxing more constraints. + // outline of the passes: + + // PASS MATCH: + // 0. w,h,r,16bpp + // 1. w,h,-,16bpp + // 2. w,h,r,- + // 3. w,h,-,- + // 4. -,-,-,- + for (int rep=0; rep<5; rep++) + { + for (i=0; i disable multisampling! + SendMessage( hwnd_listbox, CB_RESETCONTENT, 0, 0); + SendMessageW( hwnd_listbox, CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_DISABLED_PAGE_TEARING)); + SendMessage( hwnd_listbox, CB_SETITEMDATA, 0, 0 ); + SendMessage( hwnd_listbox, CB_SETCURSEL, 0, 0); + EnableWindow( hwnd_listbox, 0 ); + } + else + { + EnableWindow( hwnd_listbox, 1 ); + + // figure out which [fullscreen/windowed] adapter is currently selected: + int nAdapterOrdinal = GetCurrentlySelectedAdapter(screenmode); + + // figure out current format: + D3DFORMAT format = D3DFMT_UNKNOWN; + if ((screenmode == WINDOWED) || + (screenmode == FULLSCREEN && m_fake_fullscreen_mode) || + (screenmode == DESKTOP)) + { + // ** get it from the current display mode + // of the currently-selected [windowed/fake fullscreen] mode adapter ** + D3DDISPLAYMODE dispmode; + if (g_lpDX->GetAdapterDisplayMode(nAdapterOrdinal, &dispmode) == D3D_OK) + format = dispmode.Format; + } + else + { + // **get it from the currently-selected fullscreen display mode** + int n = SendMessage( GetDlgItem( g_subwnd, IDC_DISP_MODE ), CB_GETCURSEL, 0, 0); + if (n != CB_ERR) + { + // since the combobox contents were sorted, we need to look up the original + // index into g_disp_mode[]: + n = SendMessage( GetDlgItem( g_subwnd, IDC_DISP_MODE ), CB_GETITEMDATA, n, 0); + if (n != CB_ERR) + format = g_disp_mode[n].Format; + } + } + + D3DMULTISAMPLE_TYPE check[16] = { + D3DMULTISAMPLE_NONE, + D3DMULTISAMPLE_2_SAMPLES , + D3DMULTISAMPLE_3_SAMPLES , + D3DMULTISAMPLE_4_SAMPLES , + D3DMULTISAMPLE_5_SAMPLES , + D3DMULTISAMPLE_6_SAMPLES , + D3DMULTISAMPLE_7_SAMPLES , + D3DMULTISAMPLE_8_SAMPLES , + D3DMULTISAMPLE_9_SAMPLES , + D3DMULTISAMPLE_10_SAMPLES, + D3DMULTISAMPLE_11_SAMPLES, + D3DMULTISAMPLE_12_SAMPLES, + D3DMULTISAMPLE_13_SAMPLES, + D3DMULTISAMPLE_14_SAMPLES, + D3DMULTISAMPLE_15_SAMPLES, + D3DMULTISAMPLE_16_SAMPLES, + }; + + // clear the combo box + SendMessage( hwnd_listbox, CB_RESETCONTENT, 0, 0); + + // re-populate it: + for (i=0; i<16; i++) + { + if (i==0 || SUCCEEDED(g_lpDX->CheckDeviceMultiSampleType(nAdapterOrdinal, D3DDEVTYPE_HAL, + format, + (screenmode==FULLSCREEN) ? 0 : 1,//bWindowed, + check[i], NULL))) + { + // add to listbox + if (i==0) + WASABI_API_LNGSTRINGW_BUF(IDS_NONE, str, 256); + else + StringCbPrintfW(str, sizeof(str), L"%2dX", i+1); + + SendMessage( hwnd_listbox, CB_ADDSTRING, nSampleTypes, (LPARAM)str); + + // set the item data to the D3DMULTISAMPLE_TYPE value: + SendMessage( hwnd_listbox, CB_SETITEMDATA, nSampleTypes, check[i] ); + + nSampleTypes++; + } + } + + // set prev. selection + D3DMULTISAMPLE_TYPE prev_seln; + switch(screenmode) + { + case FULLSCREEN: prev_seln = m_multisample_fullscreen; break; + case WINDOWED: prev_seln = m_multisample_windowed; break; + //case FAKE_FULLSCREEN: prev_seln = m_multisample_fake_fullscreen; break; + case DESKTOP: prev_seln = m_multisample_desktop; break; + } + + for (i=0; i 0) + n = MAX_MAX_FPS+1 - n; + + switch(screenmode) + { + case FULLSCREEN: m_max_fps_fs = n; break; + case WINDOWED: m_max_fps_w = n; break; + //case FAKE_FULLSCREEN: m_max_fps_fake_fs = n; break; + case DESKTOP: m_max_fps_dm = n; break; + } + } +} + +void CPluginShell::SaveAdapter(int screenmode) +{ + HWND ctrl; + switch(screenmode) + { + case FULLSCREEN: ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_FS); break; + case WINDOWED: ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_W); break; + //case FAKE_FULLSCREEN: ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_FFS); break; + case DESKTOP: ctrl = GetDlgItem(g_subwnd, IDC_ADAPTER_DMS); break; + } + + // save windowed/fullscreen adapter + int n = SendMessage( ctrl, CB_GETCURSEL, 0, 0); + if (n != CB_ERR) + { + switch(screenmode) + { + case FULLSCREEN: + m_adapter_guid_fullscreen = g_disp_adapter_fs[n].DeviceIdentifier; + StringCbCopy(m_adapter_devicename_fullscreen, sizeof(m_adapter_devicename_fullscreen), g_disp_adapter_fs[n].DeviceName); + //strcpy(m_adapter_desc_fullscreen, g_disp_adapter_fs[n].Description); + break; + case WINDOWED: + m_adapter_guid_windowed = g_disp_adapter_w[n].DeviceIdentifier; + StringCbCopy(m_adapter_devicename_windowed, sizeof(m_adapter_devicename_windowed), g_disp_adapter_fs[n].DeviceName); + //strcpy(m_adapter_desc_windowed, g_disp_adapter_fs[n].Description); + break; + //case FAKE_FULLSCREEN: + //m_adapter_guid_fake_fullscreen = g_disp_adapter_w[n].DeviceIdentifier; + //strcpy(m_adapter_desc_fake_fullscreen, g_disp_adapter_fs[n].Description); + //break; // [sic] + case DESKTOP: + m_adapter_guid_desktop = g_disp_adapter_dm[n].DeviceIdentifier; + StringCbCopy(m_adapter_devicename_desktop, sizeof(m_adapter_devicename_desktop), g_disp_adapter_fs[n].DeviceName); + //strcpy(m_adapter_desc_desktop, g_disp_adapter_fs[n].Description); + break; + } + } +} + +/* +BOOL CALLBACK GenericTabCtrlProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + return 0; +} +*/ + +// OnTabChanged - processes the TCN_SELCHANGE notification. +void CPluginShell::OnTabChanged(int nNewTab) +{ + if (g_subwnd) + { + DestroyWindow(g_subwnd); + g_subwnd = NULL; + } + + g_nTab = nNewTab; + + if (g_nTab >= 0 && g_nTab < MAX_PROPERTY_PAGES) + { + HWND h = WASABI_API_CREATEDIALOGPARAMW(g_proppage_id[g_nTab], g_config_hwnd, this->TabCtrlProc, (LPARAM)this); + // NOTE: CreateDialogParam will call TabCtrlProc with WM_INITDIALOG, + // which is where 'g_subwnd' will get set. + + // do this here to ensure that the current prefs page is correctly themed + if(!SendMessage(this->m_hWndWinamp,WM_WA_IPC,IPC_ISWINTHEMEPRESENT,IPC_USE_UXTHEME_FUNC)) + { + SendMessage(this->m_hWndWinamp,WM_WA_IPC,(WPARAM)h,IPC_USE_UXTHEME_FUNC); + } + } +} + +INT_PTR CALLBACK CPluginShell::TabCtrlProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + if (msg==WM_INITDIALOG && lParam > 0 && GetWindowLongPtr(hwnd,GWLP_USERDATA)==0) + SetWindowLongPtr(hwnd, GWLP_USERDATA, lParam); + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hwnd,GWLP_USERDATA); + + if (p && g_nTab >= 0 && g_nTab < MAX_PROPERTY_PAGES) + { + if (msg==WM_INITDIALOG) + g_subwnd = hwnd; + + if (g_nTab==0) + p->PluginShellConfigTab1Proc(hwnd, msg, wParam, lParam); + p->MyConfigTabProc(g_nTab+1, hwnd, msg, wParam, lParam); + + if (msg==WM_INITDIALOG) + { + // once it has been initialized, reposition the subdialog: + RECT r; + GetWindowRect(GetDlgItem(g_config_hwnd,IDC_RECT),&r); + ScreenToClient(g_config_hwnd,(LPPOINT)&r); + SetWindowPos(g_subwnd,0,r.left,r.top,0,0,SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOZORDER); + ShowWindow(g_subwnd,SW_SHOWNA); + } + } + + const int controls[] = + { + IDC_BRIGHT_SLIDER, + IDC_HARDCUT_LOUDNESS, + }; + if (FALSE != WASABI_API_APP->DirectMouseWheel_ProcessDialogMessage(hwnd, msg, wParam, lParam, controls, ARRAYSIZE(controls))) + { + return TRUE; + } + + return FALSE; +} + +BOOL CPluginShell::PluginShellConfigTab1Proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + #ifdef _DEBUG + OutputDebugMessage(" Tab1Proc: ", hwnd, msg, wParam, lParam); + #endif + + switch (msg) + { + case WM_INITDIALOG: + { + // pre-checks + if (m_start_fullscreen && m_start_desktop) + m_start_desktop = 0; + if (!mod1.hwndParent || SendMessage(mod1.hwndParent,WM_WA_IPC,0,0) < 0x2900) + { + m_skin = 0; + EnableWindow(GetDlgItem(hwnd,IDC_CB_SKIN), 0); + char buf[256]; + buf[0] = 0; + GetWindowText(GetDlgItem(hwnd,IDC_CB_SKIN), buf, 255); + StringCbCat(buf, sizeof(buf), " 2.90+"); + SetWindowText(GetDlgItem(hwnd,IDC_CB_SKIN), buf); + } + + // set checkboxes + CheckDlgButton(hwnd, IDC_CB_FS, m_start_fullscreen); + CheckDlgButton(hwnd, IDC_CB_DMS, m_start_desktop); + CheckDlgButton(hwnd, IDC_CB_FAKE, m_fake_fullscreen_mode); + CheckDlgButton(hwnd, IDC_CB_PRESS_F1_MSG, m_show_press_f1_msg); + CheckDlgButton(hwnd, IDC_CB_WPT, m_allow_page_tearing_w); + CheckDlgButton(hwnd, IDC_CB_FSPT, m_allow_page_tearing_fs); + CheckDlgButton(hwnd, IDC_CB_DMSPT, m_allow_page_tearing_dm); + CheckDlgButton(hwnd, IDC_CB_MIN, m_minimize_winamp); + CheckDlgButton(hwnd, IDC_CB_SAVE_CPU, m_save_cpu); + CheckDlgButton(hwnd, IDC_CB_SKIN, m_skin); + CheckDlgButton(hwnd, IDC_CB_FIXSLOWTEXT, m_fix_slow_text); + CheckDlgButton(hwnd, IDC_CB_VJMODE, m_vj_mode); + + // Enumerate available adapters. + UpdateAdapters(0); // fullscreen + //-calls UpdateFSAdapterDispModes() + //-which then calls UpdateDispModeMultiSampling(0). + UpdateAdapters(1); // windowed + //-skips UpdateFSAdapterDispModes() (not necessary for windowed mode) + //-then calls UpdateDispModeMultiSampling(1). + UpdateAdapters(3); // desktop + //-skips UpdateFSAdapterDispModes() (not necessary for fake fullscreen mode) + //-then calls UpdateDispModeMultiSampling(2). + UpdateMaxFps(0); + UpdateMaxFps(1); + UpdateMaxFps(3); // desktop + + // disable a few things if fake fullscreen mode enabled: + EnableWindow(GetDlgItem(hwnd, IDC_DISP_MODE), !m_fake_fullscreen_mode); + //EnableWindow(GetDlgItem(hwnd, IDC_FSMS), !m_fake_fullscreen_mode); + } + break; + + case WM_DESTROY: + { + // read checkboxes + m_start_fullscreen = DlgItemIsChecked(hwnd, IDC_CB_FS ); + m_start_desktop = DlgItemIsChecked(hwnd, IDC_CB_DMS ); + m_fake_fullscreen_mode = DlgItemIsChecked(hwnd, IDC_CB_FAKE ); + m_show_press_f1_msg = DlgItemIsChecked(hwnd, IDC_CB_PRESS_F1_MSG); + m_allow_page_tearing_w = DlgItemIsChecked(hwnd, IDC_CB_WPT ); + m_allow_page_tearing_fs= DlgItemIsChecked(hwnd, IDC_CB_FSPT ); + m_allow_page_tearing_dm= DlgItemIsChecked(hwnd, IDC_CB_DMSPT); + m_minimize_winamp = DlgItemIsChecked(hwnd, IDC_CB_MIN ); + m_save_cpu = DlgItemIsChecked(hwnd, IDC_CB_SAVE_CPU ); + m_fix_slow_text = DlgItemIsChecked(hwnd, IDC_CB_FIXSLOWTEXT); + m_vj_mode = DlgItemIsChecked(hwnd, IDC_CB_VJMODE); + + if (mod1.hwndParent && SendMessage(mod1.hwndParent,WM_WA_IPC,0,0) >= 0x2900) + m_skin = DlgItemIsChecked(hwnd, IDC_CB_SKIN ); + + // read all 3 adapters + SaveAdapter(0); + SaveAdapter(1); + SaveAdapter(3); + + // read fullscreen display mode + SaveDisplayMode(); + + // read all 3 multisampling settings: + SaveMultiSamp(0); + SaveMultiSamp(1); + SaveMultiSamp(3); + + // read all 3 max fps settings + SaveMaxFps(0); + SaveMaxFps(1); + SaveMaxFps(3); + } + break; + + case WM_COMMAND: + if (!g_ignore_clicks) + { + int id = LOWORD(wParam); + g_ignore_clicks = 1; + switch(id) + { + case ID_FONTS: + WASABI_API_DIALOGBOXPARAMW(IDD_FONTDIALOG, hwnd, FontDialogProc, (LPARAM)this); + break; + + case ID_DM_MORE: + WASABI_API_DIALOGBOXPARAMW(IDD_DESKTOPMODE, hwnd, DesktopOptionsDialogProc, (LPARAM)this); + break; + + case ID_DUALHEAD: + WASABI_API_DIALOGBOXPARAMW(IDD_DUALHEAD, hwnd, DualheadDialogProc, (LPARAM)this); + break; + + case IDC_ADAPTER_FS: + SaveDisplayMode(); + SaveMultiSamp(FULLSCREEN); + SaveAdapter(0); + UpdateFSAdapterDispModes(); + break; + + case IDC_ADAPTER_W: + SaveMultiSamp(WINDOWED); + UpdateDispModeMultiSampling(WINDOWED); + break; + + /* + case IDC_ADAPTER_FFS: + SaveMultiSamp(FAKE_FULLSCREEN); + UpdateDispModeMultiSampling(FAKE_FULLSCREEN); + break; + */ + + case IDC_ADAPTER_DMS: + SaveMultiSamp(DESKTOP); + UpdateDispModeMultiSampling(DESKTOP); + break; + + case IDC_DISP_MODE: + SaveMultiSamp(FULLSCREEN); + UpdateDispModeMultiSampling(FULLSCREEN); + break; + + case IDC_CB_WPT: + SaveMultiSamp(WINDOWED); + m_allow_page_tearing_w = DlgItemIsChecked(hwnd, IDC_CB_WPT); + UpdateDispModeMultiSampling(WINDOWED); + break; + + case IDC_CB_FSPT: + SaveMultiSamp(FULLSCREEN); + m_allow_page_tearing_fs = DlgItemIsChecked(hwnd, IDC_CB_FSPT); + UpdateDispModeMultiSampling(FULLSCREEN); + break; + + case IDC_CB_DMSPT: + SaveMultiSamp(DESKTOP); + m_allow_page_tearing_dm = DlgItemIsChecked(hwnd, IDC_CB_DMSPT); + UpdateDispModeMultiSampling(DESKTOP); + break; + + case IDC_CB_FS: + m_start_fullscreen = DlgItemIsChecked(hwnd, IDC_CB_FS ); + if (m_start_fullscreen && m_start_desktop) + { + m_start_desktop = 0; + CheckDlgButton(hwnd, IDC_CB_DMS, m_start_desktop); + } + break; + + case IDC_CB_DMS: + m_start_desktop = DlgItemIsChecked(hwnd, IDC_CB_DMS ); + if (m_start_fullscreen && m_start_desktop) + { + m_start_fullscreen = 0; + CheckDlgButton(hwnd, IDC_CB_FS, m_start_fullscreen); + } + break; + + case IDC_CB_FAKE: + SaveMultiSamp(FULLSCREEN); + m_fake_fullscreen_mode = DlgItemIsChecked(hwnd, IDC_CB_FAKE ); + EnableWindow(GetDlgItem(hwnd, IDC_DISP_MODE), !m_fake_fullscreen_mode); + CheckDlgButton(hwnd, IDC_CB_FSPT, m_fake_fullscreen_mode ? m_allow_page_tearing_fs : 0); + EnableWindow(GetDlgItem(hwnd, IDC_CB_FSPT), m_fake_fullscreen_mode ? 1 : 0); + UpdateDispModeMultiSampling(FULLSCREEN); + break; + + /* + case IDC_CB_FFSPT: + SaveMultiSamp(FAKE_FULLSCREEN); + m_allow_page_tearing_fake_fs = DlgItemIsChecked(hwnd, IDC_CB_FFSPT); + UpdateDispModeMultiSampling(FAKE_FULLSCREEN); + break; + */ + } + g_ignore_clicks = 0; + } + break; // case WM_COMMAND + + case WM_HELP: + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024]; + wchar_t buf[2048]; + wchar_t ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + + switch(ph->iCtrlId) + { + case ID_FONTS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_FONTS_HELP, buf, 2048); + break; + + case ID_DUALHEAD: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_DUAL_HEAD_HELP, buf, 2048); + break; + + case IDC_W_MULTISAMPLING_CAPTION: + case IDC_FS_MULTISAMPLING_CAPTION: + case IDC_DMS_MULTISAMPLING_CAPTION: + //case IDC_FFS_MULTISAMPLING_CAPTION: + case IDC_WMS: + case IDC_FSMS: + case IDC_DMSMS: + //case IDC_FFSMS: + WASABI_API_LNGSTRINGW_BUF(IDS_MULTI_SAMPLING, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_MULTI_SAMPLING_HELP, buf, 2048); + break; + + case IDC_W_MAXFPS: + case IDC_FS_MAXFPS: + case IDC_DMS_MAXFPS: + //case IDC_FFS_MAXFPS: + case IDC_W_MAXFPS_CAPTION: + case IDC_FS_MAXFPS_CAPTION: + case IDC_DMS_MAXFPS_CAPTION: + //case IDC_FFS_MAXFPS_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_MAX_FRAMERATE, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_MAX_FRAMERATE_HELP, buf, 2048); + break; + + case IDC_CB_FAKE: + WASABI_API_LNGSTRINGW_BUF(IDS_FAKE_FULLSCREEN, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_FAKE_FULLSCREEN_HELP, buf, 2048); + break; + + case IDC_ADAPTER_FS: + case IDC_FS_ADAPTER_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_FULLSCREEN_ADAPTER, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_FULLSCREEN_ADAPTER_HELP, buf, 2048); + break; + + case IDC_ADAPTER_W: + case IDC_W_ADAPTER_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_WINDOWED_ADPATER, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_WINDOWED_ADPATER_HELP, buf, 2048); + break; + + case IDC_ADAPTER_DMS: + case IDC_DMS_ADAPTER_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_DESKTOP_ADAPTER, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_DESKTOP_ADAPTER_HELP, buf, 2048); + break; + + case IDC_DISP_MODE: + case IDC_DISP_MODE_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_FS_DISPLAY_MODE, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_FS_DISPLAY_MODE_HELP, buf, 2048); + break; + + case IDC_CB_WPT: + case IDC_CB_FSPT: + case IDC_CB_DMSPT: + //case IDC_CB_FFSPT: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_CHECKBOX), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_HELP_ON_X_CHECKBOX_HELP, buf, 2048); + break; + + case IDC_CB_FS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_CHECKBOX), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_FORCE_INTO_FS_MODE_HELP, buf, 2048); + break; + + case IDC_CB_DMS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_CHECKBOX), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_FORCE_INTO_DESKTOP_MODE_HELP, buf, 2048); + break; + + case IDC_CB_PRESS_F1_MSG: + WASABI_API_LNGSTRINGW_BUF(IDS_HELP_ON_F1, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_HELP_ON_F1_HELP, buf, 2048); + break; + + case IDC_CB_SKIN: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_CHECKBOX), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_CB_SKIN_HELP, buf, 2048); + break; + + case IDC_CB_SAVE_CPU: + WASABI_API_LNGSTRINGW_BUF(IDS_SAVE_CPU_CHECKBOX, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_SAVE_CPU_CHECKBOX_HELP, buf, 2048); + break; + + case IDC_CB_MIN: + WASABI_API_LNGSTRINGW_BUF(IDS_HELP_MINIMIZE_WINAMP, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_HELP_MINIMIZE_WINAMP_HELP, buf, 2048); + break; + + case IDC_CB_FIXSLOWTEXT: + WASABI_API_LNGSTRINGW_BUF(IDS_TRY_TO_FIX_SLOW_TEXT, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_TRY_TO_FIX_SLOW_TEXT_HELP, buf, 2048); + break; + + case IDC_CB_VJMODE: + WASABI_API_LNGSTRINGW_BUF(IDS_VJ_MODE, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_VJ_MODE_HELP, buf, 2048); + break; + + case IDC_DMS_LABEL: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_DMS_LABEL_HELP, buf, 2048); + break; + + case IDC_FS_LABEL: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_FS_LABEL_HELP, buf, 2048); + break; + + case IDC_W_LABEL: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_W_LABEL_HELP, buf, 2048); + break; + + case ID_DM_MORE: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_DM_MORE_HELP, buf, 2048); + break; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + + } + break; // case WM_HELP + } + + return 0; +} + +BOOL CALLBACK CPluginShell::ConfigDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + if (msg==WM_INITDIALOG && lParam > 0 && GetWindowLongPtr(hwnd,GWLP_USERDATA)==0) + SetWindowLongPtr(hwnd, GWLP_USERDATA, lParam); + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hwnd,GWLP_USERDATA); + + if (p) + return p->PluginShellConfigDialogProc(hwnd, msg, wParam, lParam); + else + return FALSE; +} + +BOOL CPluginShell::PluginShellConfigDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + #ifdef _DEBUG + OutputDebugMessage("CfgDlgProc: ", hwnd, msg, wParam, lParam); + #endif + + switch (msg) + { + case WM_DESTROY: + EndConfig(); + return 0; + + case WM_INITDIALOG: + { + // Initialize all config panel global variables: + if (!InitConfig(hwnd)) + { + wchar_t title[64]; + MessageBoxW(hwnd, WASABI_API_LNGSTRINGW(IDS_INITCONFIG_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + EndConfig(); + int id=LOWORD(wParam); + EndDialog(hwnd,id); + return false; + } + + // set window caption + SetWindowText( hwnd, WINDOWCAPTION ); + + // Test for DirectX 9 + start it + // note: if you don't call LoadLibrary here, and you're on a system + // where DX9 is missing, Direct3DCreate9() might crash; so call it. + int d3d9_already_loaded = (GetModuleHandle("d3d9.dll") != NULL) ? 1 : 0; + if (!d3d9_already_loaded) + g_hmod_d3d9 = LoadLibrary("d3d9.dll"); + + if ( (!d3d9_already_loaded && !g_hmod_d3d9) || + !(g_lpDX = Direct3DCreate9(D3D_SDK_VERSION)) + ) + { + MissingDirectX(hwnd); + + EndConfig(); + int id=LOWORD(wParam); + EndDialog(hwnd,id); + return false; + } + + if (!g_hmod_d3dx9) + g_hmod_d3dx9 = FindD3DX9(GetWinampWindow()); + + if ((!g_hmod_d3dx9)) + { + MissingDirectX(hwnd); + EndConfig(); + int id=LOWORD(wParam); + EndDialog(hwnd,id); + return false; + } + + // enable the 'view website' button only if plugin author has #defined a URL (in defines.h): + #ifndef PLUGIN_WEB_URL + ShowWindow(GetDlgItem(hwnd, ID_WEB), SW_HIDE); + #else + if (wcslen(PLUGIN_WEB_URL)==0) + ShowWindow(GetDlgItem(hwnd, ID_WEB), SW_HIDE); + #endif + + // enable the 'view docs' button only if plugin author has #defined a filename (in defines.h): + #ifndef DOCFILE + ShowWindow(GetDlgItem(hwnd, ID_DOCS), SW_HIDE); + #else + if (wcslen(DOCFILE)==0) + ShowWindow(GetDlgItem(hwnd, ID_DOCS), SW_HIDE); + #endif + + // set contents of IDC_SZ_ABOUT + wchar_t about[256]; + StringCchPrintfW(about, 256, WASABI_API_LNGSTRINGW(IDS_ABOUT_STRING), LONGNAMEW, AUTHOR_NAME, COPYRIGHT); + SetDlgItemTextW(hwnd, IDC_SZ_ABOUT, about); + + // initialize tab control: + { + HWND tabWnd = GetDlgItem(hwnd,IDC_TABS); + // Add Tabs: + if (!AddButton(0, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_1)) || + !AddButton(1, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_2)) || + !AddButton(2, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_3)) || + !AddButton(3, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_4)) || + !AddButton(4, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_5)) || + !AddButton(5, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_6)) || + !AddButton(6, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_7)) || + !AddButton(7, tabWnd, WASABI_API_LNGSTRINGW(IDS_CONFIG_PANEL_BUTTON_8))) + { + wchar_t title[64]; + MessageBoxW(hwnd, WASABI_API_LNGSTRINGW(IDS_UNABLE_TO_LOAD_TABS), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + EndConfig(); + int id=LOWORD(wParam); + EndDialog(hwnd,id); + return false; + } + + // Simulate selection of the first tab. + int last_tab = GetPrivateProfileIntW(L"settings",L"last_tab",0,m_szConfigIniFile); + TabCtrl_SetCurSel(tabWnd, last_tab); + OnTabChanged(last_tab); + } + + g_ignore_clicks = 0; + + SetFocus(hwnd); + } + return 0; + + case WM_NOTIFY: + if (!g_ignore_clicks) + { + LPNMHDR pnmh = (LPNMHDR)lParam; + switch(pnmh->code) + { + case TCN_SELCHANGE: + OnTabChanged(TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_TABS))); + break; + } + } + break; + + case WM_COMMAND: + if (!g_ignore_clicks) + { + int id = LOWORD(wParam); + switch(id) + { + case IDOK: + // kill current tab window, so that its settings get read + WritePrivateProfileIntW(TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_TABS)),L"last_tab",m_szConfigIniFile,L"settings"); + OnTabChanged(-1); + + // then save new config + WriteConfig(); + + EndDialog(hwnd,id); + return 0; + + case IDCANCEL: + WritePrivateProfileIntW(TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_TABS)),L"last_tab",m_szConfigIniFile,L"settings"); + EndDialog(hwnd,id); + return 0; + + case ID_DOCS: + { + wchar_t szPath[512], szFile[512]; + lstrcpyW(szPath, m_szPluginsDirPath); + lstrcpyW(szFile, szPath); + lstrcatW(szFile, DOCFILE); + + intptr_t ret = myOpenURL(0,szFile); + if (ret <= 32) + { + wchar_t buf[1024]; + switch(ret) + { + case SE_ERR_FNF: + case SE_ERR_PNF: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_DOCUMENTATION_FILE_NOT_FOUND), szFile); + break; + case SE_ERR_ACCESSDENIED: + case SE_ERR_SHARE: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_DOCUMENTATION_FILE_DENIED), szFile); + break; + case SE_ERR_NOASSOC: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_DUE_TO_NO_ASSOC), szFile); + break; + default: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_CODE_X), szFile, ret); + break; + } + MessageBoxW(hwnd, buf, WASABI_API_LNGSTRINGW(IDS_ERROR_OPENING_DOCUMENTATION), MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + } + break; + + case ID_WEB: + { + intptr_t ret = myOpenURL(NULL, PLUGIN_WEB_URL); + if (ret <= 32) + { + wchar_t buf[1024]; + switch(ret) + { + case SE_ERR_FNF: + case SE_ERR_PNF: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_URL_COULD_NOT_OPEN), PLUGIN_WEB_URL); + break; + case SE_ERR_ACCESSDENIED: + case SE_ERR_SHARE: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_URL_WAS_DENIED), PLUGIN_WEB_URL); + break; + case SE_ERR_NOASSOC: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_URL_FAILED_DUE_TO_NO_ASSOC), PLUGIN_WEB_URL); + break; + default: + StringCbPrintfW(buf, sizeof(buf), WASABI_API_LNGSTRINGW(IDS_ACCESS_TO_URL_FAILED_CODE_X), PLUGIN_WEB_URL, ret); + break; + } + MessageBoxW(hwnd, buf, WASABI_API_LNGSTRINGW(IDS_ERROR_OPENING_URL), MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + } + break; + + case ID_DEFAULTS: + wchar_t title[64]; + if (IDYES == MessageBoxW(hwnd, WASABI_API_LNGSTRINGW(IDS_RESTORE_ALL_DEFAULTS), + WASABI_API_LNGSTRINGW_BUF(IDS_RESTORE_ALL_DEFAULTS_TITLE, title, 64), + MB_YESNO|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL)) + { + DeleteFileW(m_szConfigIniFile); + Sleep(100); + EndDialog(hwnd,id); + } + break; + + default: + return 0; + } + } + break; // case WM_COMMAND + + case WM_HELP: + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024]; + wchar_t buf[2048]; + wchar_t ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + switch(ph->iCtrlId) + { + case IDOK: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_OK_HELP, buf, 2048); + break; + + case IDCANCEL: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_CANCEL_HELP, buf, 2048); + break; + + case ID_DEFAULTS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_RESTORE_DEFAULTS_HELP, buf, 2048); + break; + + case ID_DOCS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_DOCUMENTATION_BUTTON_HELP, buf, 2048); + break; + + case ID_WEB: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_BUTTON), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_VIEW_ONLINE_DOCS_HELP, buf, 2048); + break; + + default: + return 0; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + break; // case WM_HELP + } + + return 0; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/config2.cpp b/src/MilkDrop2/vis_milk2/config2.cpp new file mode 100644 index 0000000000..c210f381b4 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/config2.cpp @@ -0,0 +1,425 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "pluginshell.h" +#include "resource.h" +#include "utility.h" +#include + +int g_nFontSize[] = { 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, + 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128 }; + +int CALLBACK EnumFontsProc( + CONST LOGFONT *lplf, // logical-font data + CONST TEXTMETRIC *lptm, // physical-font data + DWORD dwType, // font type + LPARAM lpData // application-defined data +) +{ + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT1), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT2), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT3), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT4), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT5), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT6), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT7), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT8), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT9), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + return 1; +} + +void SaveFont2(td_fontinfo *fi, DWORD ctrl1, DWORD ctrl2, DWORD bold_id, DWORD ital_id, DWORD aa_id, HWND hwnd) +{ + HWND fontbox = GetDlgItem( hwnd, ctrl1 ); + HWND sizebox = GetDlgItem( hwnd, ctrl2 ); + + // font face + int t = SendMessage( fontbox, CB_GETCURSEL, 0, 0); + SendMessageW( fontbox, CB_GETLBTEXT, t, (LPARAM)fi->szFace); + + // font size + t = SendMessage( sizebox, CB_GETCURSEL, 0, 0); + if (t != CB_ERR) + { + int nMax = sizeof(g_nFontSize)/sizeof(int); + fi->nSize =g_nFontSize[nMax-1 - t]; + } + + // font options + fi->bBold = DlgItemIsChecked(hwnd, bold_id); + fi->bItalic = DlgItemIsChecked(hwnd, ital_id); + fi->bAntiAliased = DlgItemIsChecked(hwnd, aa_id); +} + +void InitFont2(td_fontinfo *fi, DWORD ctrl1, DWORD ctrl2, DWORD bold_id, DWORD ital_id, DWORD aa_id, HWND hwnd, DWORD ctrl4, wchar_t* szFontName) +{ + HWND namebox = ctrl4 ? GetDlgItem( hwnd, ctrl4 ) : 0; + HWND fontbox = GetDlgItem( hwnd, ctrl1 ); + HWND sizebox = GetDlgItem( hwnd, ctrl2 ); + ShowWindow(fontbox, SW_NORMAL); + ShowWindow(sizebox, SW_NORMAL); + ShowWindow(GetDlgItem(hwnd,bold_id), SW_NORMAL); + ShowWindow(GetDlgItem(hwnd,ital_id), SW_NORMAL); + ShowWindow(GetDlgItem(hwnd,aa_id), SW_NORMAL); + if (namebox && szFontName && szFontName[0]) + { + ShowWindow(namebox, SW_NORMAL); + wchar_t buf[256]; + StringCbPrintfW(buf, sizeof(buf), L"%s:", szFontName); + SetWindowTextW(GetDlgItem(hwnd,ctrl4), buf); + } + + // set selection + int nPos = SendMessageW( fontbox, CB_FINDSTRINGEXACT, -1, (LPARAM)fi->szFace); + if (nPos == CB_ERR) + nPos = 0; + SendMessage( fontbox, CB_SETCURSEL, nPos, 0); + + //---------font size box------------------- + int nSel = 0; + int nMax = sizeof(g_nFontSize)/sizeof(int); + for (int i=0; inSize) + nSel = i; + } + SendMessage(sizebox, CB_SETCURSEL, nSel, 0); + + //---------font options box------------------- + CheckDlgButton(hwnd, bold_id, fi->bBold); + CheckDlgButton(hwnd, ital_id, fi->bItalic); + CheckDlgButton(hwnd, aa_id, fi->bAntiAliased); +} + +void SCOOT_CONTROL(HWND hwnd, int ctrl_id, int dx, int dy) +{ + RECT r; + GetWindowRect(GetDlgItem(hwnd,ctrl_id), &r); + ScreenToClient(hwnd, (LPPOINT)&r); + SetWindowPos (GetDlgItem(hwnd,ctrl_id), NULL, r.left + dx, r.top + dy, 0, 0, SWP_NOSIZE|SWP_NOZORDER); +} + +BOOL CALLBACK CPluginShell::FontDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + if (msg==WM_INITDIALOG && lParam > 0 && GetWindowLongPtr(hwnd,GWLP_USERDATA)==0) + SetWindowLongPtr(hwnd, GWLP_USERDATA, lParam); + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hwnd,GWLP_USERDATA); + + if (p) + return p->PluginShellFontDialogProc(hwnd, msg, wParam, lParam); + else + return FALSE; +} + +BOOL CPluginShell::PluginShellFontDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + #ifdef _DEBUG + OutputDebugMessage("FontDlgProc: ", hwnd, msg, wParam, lParam); + #endif + + switch (msg) + { + case WM_DESTROY: + return 0; + + case WM_INITDIALOG: + { + // Initialize all font dialog global variables here: + // ... + + HDC hdc = GetDC(hwnd); + if (hdc) + { + EnumFonts(hdc, NULL, &EnumFontsProc, (LPARAM)hwnd); + ReleaseDC(hwnd, hdc); + } + + #define InitFont(n, m) InitFont2(&m_fontinfo[n-1], IDC_FONT##n, IDC_FONTSIZE##n, IDC_FONTBOLD##n, IDC_FONTITAL##n, IDC_FONTAA##n, hwnd, IDC_FONT_NAME_##n, m) + InitFont(1, 0); + InitFont(2, 0); + InitFont(3, 0); + InitFont(4, 0); + #if (NUM_EXTRA_FONTS >= 1) + InitFont(5, WASABI_API_LNGSTRINGW(IDS_EXTRA_FONT_1_NAME)); + #endif + #if (NUM_EXTRA_FONTS >= 2) + InitFont(6, WASABI_API_LNGSTRINGW(IDS_EXTRA_FONT_2_NAME)); + #endif + #if (NUM_EXTRA_FONTS >= 3) + InitFont(7, EXTRA_FONT_3_NAME); + #endif + #if (NUM_EXTRA_FONTS >= 4) + InitFont(5, EXTRA_FONT_4_NAME); + #endif + #if (NUM_EXTRA_FONTS >= 5) + InitFont(9, EXTRA_FONT_5_NAME); + #endif + + // Finally, if not all extra fonts are in use, shrink the window size, and + // move up any controls that were at the bottom: + RECT r; + GetWindowRect(hwnd, &r); + int scoot_factor = 128*(MAX_EXTRA_FONTS-NUM_EXTRA_FONTS)/MAX_EXTRA_FONTS; + if (scoot_factor>0) + { + SetWindowPos(hwnd, NULL, 0, 0, r.right-r.left, r.bottom-r.top - scoot_factor, SWP_NOMOVE|SWP_NOZORDER); + SCOOT_CONTROL(hwnd, IDC_FONT_TEXT, 0, -scoot_factor); + SCOOT_CONTROL(hwnd, IDOK, 0, -scoot_factor); + SCOOT_CONTROL(hwnd, IDCANCEL, 0, -scoot_factor); + } + } + break; + + case WM_COMMAND: + { + int id = LOWORD(wParam); + switch(id) + { + case IDOK: + + #define SaveFont(n) SaveFont2(&m_fontinfo[n-1], IDC_FONT##n, IDC_FONTSIZE##n, IDC_FONTBOLD##n, IDC_FONTITAL##n, IDC_FONTAA##n, hwnd) + SaveFont(1); + SaveFont(2); + SaveFont(3); + SaveFont(4); + #if (NUM_EXTRA_FONTS >= 1) + SaveFont(5); + #endif + #if (NUM_EXTRA_FONTS >= 2) + SaveFont(6); + #endif + #if (NUM_EXTRA_FONTS >= 3) + SaveFont(7); + #endif + #if (NUM_EXTRA_FONTS >= 4) + SaveFont(5); + #endif + #if (NUM_EXTRA_FONTS >= 5) + SaveFont(9); + #endif + + EndDialog(hwnd,id); + break; + + case IDCANCEL: + EndDialog(hwnd,id); + break; + } + } + break; + + } + + return 0; +} + +void EnableStuff(HWND hwnd, int bEnable) +{ + EnableWindow(GetDlgItem(hwnd, IDC_CB_BOX), bEnable); + EnableWindow(GetDlgItem(hwnd, IDC_CB_MANUAL_SCOOT), bEnable); + EnableWindow(GetDlgItem(hwnd, IDC_DM_ALPHA_FIX_CAPTION), bEnable); + EnableWindow(GetDlgItem(hwnd, IDC_DM_ALPHA_FIX), bEnable); +} + +BOOL CALLBACK CPluginShell::DesktopOptionsDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + if (msg==WM_INITDIALOG && lParam > 0 && GetWindowLongPtr(hwnd,GWLP_USERDATA)==0) + SetWindowLongPtr(hwnd, GWLP_USERDATA, lParam); + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hwnd,GWLP_USERDATA); + + if (p) + return p->PluginShellDesktopOptionsDialogProc(hwnd, msg, wParam, lParam); + else + return FALSE; +} + +BOOL CPluginShell::PluginShellDesktopOptionsDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + #ifdef _DEBUG + OutputDebugMessage("DmDlgProc: ", hwnd, msg, wParam, lParam); + #endif + + switch (msg) + { + case WM_DESTROY: + return 0; + + case WM_INITDIALOG: + { + CheckDlgButton(hwnd, IDC_CB_SHOW_ICONS, m_desktop_show_icons ); + CheckDlgButton(hwnd, IDC_CB_BOX, m_desktop_textlabel_boxes ); + CheckDlgButton(hwnd, IDC_CB_MANUAL_SCOOT, m_desktop_manual_icon_scoot); + + HWND ctrl = GetDlgItem(hwnd, IDC_DM_ALPHA_FIX); + SendMessageW( ctrl, CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_5_6_5_TEXTURE)); + SendMessageW( ctrl, CB_ADDSTRING, 1, (LPARAM)WASABI_API_LNGSTRINGW(IDS_5_5_5_TEXTURE)); + SendMessageW( ctrl, CB_ADDSTRING, 2, (LPARAM)WASABI_API_LNGSTRINGW(IDS_8_8_8_TEXTURE)); + SendMessageW( ctrl, CB_SETCURSEL, m_desktop_555_fix, 0 ); + + EnableStuff(hwnd, m_desktop_show_icons); + } + break; + + case WM_COMMAND: + { + int id = LOWORD(wParam); + switch(id) + { + case IDC_CB_SHOW_ICONS: + m_desktop_show_icons = DlgItemIsChecked(hwnd, IDC_CB_SHOW_ICONS); + EnableStuff(hwnd, m_desktop_show_icons); + break; + + case IDOK: + m_desktop_show_icons = DlgItemIsChecked(hwnd, IDC_CB_SHOW_ICONS); + m_desktop_textlabel_boxes = DlgItemIsChecked(hwnd, IDC_CB_BOX); + m_desktop_manual_icon_scoot = DlgItemIsChecked(hwnd, IDC_CB_MANUAL_SCOOT); + m_desktop_555_fix = SendMessage( GetDlgItem(hwnd, IDC_DM_ALPHA_FIX), CB_GETCURSEL, 0, 0 ); + + EndDialog(hwnd,id); + break; + + case IDCANCEL: + EndDialog(hwnd,id); + break; + } + } + break; + + case WM_HELP: + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024]; + wchar_t buf[2048]; + wchar_t ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + + switch(ph->iCtrlId) + { + case IDC_DM_ALPHA_FIX: + case IDC_DM_ALPHA_FIX_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_NO_ALPHA_FALLBACK, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_NO_ALPHA_FALLBACK_HELP, buf, 2048); + break; + + case IDC_CB_SHOW_ICONS: + StringCbPrintfW(title, sizeof(title), WASABI_API_LNGSTRINGW(IDS_HELP_ON_X_CHECKBOX), ctrl_name); + WASABI_API_LNGSTRINGW_BUF(IDS_CB_SHOW_ICONS_HELP, buf, 2048); + break; + + case IDC_CB_BOX: + WASABI_API_LNGSTRINGW_BUF(IDS_CB_BOX, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_CB_BOX_HELP, buf, 2048); + break; + + case IDC_CB_MANUAL_SCOOT: + WASABI_API_LNGSTRINGW_BUF(IDS_CB_MANUAL_SCOOT, title, 1024); + WASABI_API_LNGSTRINGW_BUF(IDS_CB_MANUAL_SCOOT_HELP, buf, 2048); + break; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + break; + } + return 0; +} + +BOOL CALLBACK CPluginShell::DualheadDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + if (msg==WM_INITDIALOG && lParam > 0 && GetWindowLongPtr(hwnd,GWLP_USERDATA)==0) + SetWindowLongPtr(hwnd, GWLP_USERDATA, lParam); + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hwnd,GWLP_USERDATA); + + if (p) + return p->PluginShellDualheadDialogProc(hwnd, msg, wParam, lParam); + else + return FALSE; +} + +BOOL CPluginShell::PluginShellDualheadDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + #ifdef _DEBUG + OutputDebugMessage("DHDlgProc: ", hwnd, msg, wParam, lParam); + #endif + + switch (msg) + { + case WM_DESTROY: + return 0; + + case WM_INITDIALOG: + { + HWND ctrl = GetDlgItem(hwnd, IDC_H_PICK); + SendMessageW( ctrl, CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_SPAN_BOTH_SCREENS)); + SendMessageW( ctrl, CB_ADDSTRING, 1, (LPARAM)WASABI_API_LNGSTRINGW(IDS_USE_LEFT_SCREEN_ONLY)); + SendMessageW( ctrl, CB_ADDSTRING, 2, (LPARAM)WASABI_API_LNGSTRINGW(IDS_USE_RIGHT_SCREEN_ONLY)); + SendMessage( ctrl, CB_SETCURSEL, m_dualhead_horz, 0 ); + + ctrl = GetDlgItem(hwnd, IDC_V_PICK); + SendMessageW( ctrl, CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_SPAN_BOTH_SCREENS)); + SendMessageW( ctrl, CB_ADDSTRING, 1, (LPARAM)WASABI_API_LNGSTRINGW(IDS_USE_TOP_SCREEN_ONLY)); + SendMessageW( ctrl, CB_ADDSTRING, 2, (LPARAM)WASABI_API_LNGSTRINGW(IDS_USE_BOTTOM_SCREEN_ONLY)); + SendMessage( ctrl, CB_SETCURSEL, m_dualhead_vert, 0 ); + } + break; + + case WM_COMMAND: + { + int id = LOWORD(wParam); + switch(id) + { + case IDOK: + m_dualhead_horz = SendMessage( GetDlgItem(hwnd, IDC_H_PICK), CB_GETCURSEL, 0, 0 ); + m_dualhead_vert = SendMessage( GetDlgItem(hwnd, IDC_V_PICK), CB_GETCURSEL, 0, 0 ); + + EndDialog(hwnd,id); + break; + + case IDCANCEL: + EndDialog(hwnd,id); + break; + } + } + break; + } + return 0; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/d3d9.lib b/src/MilkDrop2/vis_milk2/d3d9.lib new file mode 100644 index 0000000000..9e08d8637c Binary files /dev/null and b/src/MilkDrop2/vis_milk2/d3d9.lib differ diff --git a/src/MilkDrop2/vis_milk2/d3dx9.lib b/src/MilkDrop2/vis_milk2/d3dx9.lib new file mode 100644 index 0000000000..ffc9f0d8c9 Binary files /dev/null and b/src/MilkDrop2/vis_milk2/d3dx9.lib differ diff --git a/src/MilkDrop2/vis_milk2/defines.h b/src/MilkDrop2/vis_milk2/defines.h new file mode 100644 index 0000000000..80a7c2db38 --- /dev/null +++ b/src/MilkDrop2/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.25c" // appears at bottom of config panel +#define LONGNAMEW L"MilkDrop v2.25c" // 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.nullsoft.com/free/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-2013 Nullsoft, Inc." + +// 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 diff --git a/src/MilkDrop2/vis_milk2/desktop_mode.cpp b/src/MilkDrop2/vis_milk2/desktop_mode.cpp new file mode 100644 index 0000000000..98f7473582 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/desktop_mode.cpp @@ -0,0 +1,1097 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "pluginshell.h" +#include "resource.h" +#include "utility.h" +#include "defines.h" +#include + +//---------------------------------------------------------------------- + +#define VMS_DESKTOP_DLLNAME (SUBDIR L"data\\vms_desktop.dll") + +//---------------------------------------------------------------------- + +typedef struct _SIMPLEVERTEX +{ + float x, y; // screen position + float z; // Z-buffer depth + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) +} SIMPLEVERTEX, *LPSIMPLEVERTEX; + +typedef struct _HELPVERTEX +{ + float x, y; // screen position + float z; // Z-buffer depth + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) + float tu, tv; // texture coordinates for texture #0 +} HELPVERTEX, *LPHELPVERTEX; + +#define SIMPLE_VERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE) +#define HELP_VERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1) + +//---------------------------------------------------------------------- + +// resides in vms_desktop.dll/lib: +int setHook(HWND hlv,HWND w,int version); +void removeHook(); + +//---------------------------------------------------------------------- + +typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); +bool IsVistaOrLater() +{ + // adapted from "Getting the System Version" on MSDN - http://msdn2.microsoft.com/en-us/library/ms724429.aspx + OSVERSIONINFOEX osvi; + SYSTEM_INFO si; + PGNSI pGNSI; + BOOL bOsVersionInfoEx; + + ZeroMemory(&si, sizeof(SYSTEM_INFO)); + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + if (bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) + { + // Call GetNativeSystemInfo if supported or GetSystemInfo otherwise. + pGNSI = (PGNSI) GetProcAddress( GetModuleHandle(TEXT("kernel32.dll")), "GetNativeSystemInfo" ); + if(NULL != pGNSI) + pGNSI(&si); + else + GetSystemInfo(&si); + + if ( VER_PLATFORM_WIN32_NT==osvi.dwPlatformId && osvi.dwMajorVersion > 4 ) + { + if ( osvi.dwMajorVersion >= 6 ) + return true; + } + } + return false; +} + +int CPluginShell::InitDesktopMode() +{ + if (m_screenmode != DESKTOP) + return false; + + // check for Vista - if Vista, don't try to draw desktop icons. + // [ vms_desktop.dll's message posts to the desktop listview window cause explorer to crash... + // whether it sends WM_NULL or WM_USER+516/517. ] + if (m_desktop_show_icons && IsVistaOrLater()) + m_desktop_show_icons = false; + + if (!m_desktop_show_icons) + return true; + + // note: we have to explicitly make sure the DLL is present, + // since we're delay-loading it; otherwise, calling setHook, etc. will crash it. + wchar_t szVmsDesktopDll[MAX_PATH]; + swprintf(szVmsDesktopDll, L"%s%s", GetPluginsDirPath(), VMS_DESKTOP_DLLNAME); + if (!GetModuleHandleW(szVmsDesktopDll)) + { + if (!LoadLibraryW(szVmsDesktopDll)) + { + wchar_t buf[2048]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_COULD_NOT_FIND_FILE_FOR_DESKTOP_MODE_X), szVmsDesktopDll); + MessageBoxW(GetPluginWindow(),buf,WASABI_API_LNGSTRINGW(IDS_MILKDROP_ERROR_FILE_MISSING), MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + //return false; + m_desktop_icons_disabled = 1; + } + else + { + m_vms_desktop_loaded = 1; + } + } + + InitializeCriticalSection(&m_desktop_cs); + + m_desktop_icon_state = 0; + m_desktop_icon_count = 0; + m_desktop_icon_update_frame = 0; + m_desktop_icon_size = GetDesktopIconSize(); + + // GDI font for desktop mode: + LOGFONT lf = {0}; + wchar_t title[64]; + if (SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0)) + { + if (!(m_font_desktop = CreateFontIndirect(&lf))) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_GDI_DESKTOP_FONT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + } + else + { + if (!(m_font_desktop = CreateFont(14, 0, 0, 0, 0, 0, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH, "Monotype Sans Serif"))) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_GDI_DESKTOP_FONT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + } + + // Create D3DX font for drawing icon labels on desktop: + if (pCreateFontW(m_lpDX->m_lpDevice, 14, 0, 0, 0, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH, L"Monotype Sans Serif", &m_d3dx_desktop_font) != D3D_OK) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_DESKTOP_FONT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + // create first texture for holding icon bitmaps: + // (do it now, to ensure that at least 1 gets created, before + // the plugin does all of its DX9 allocations.) + if (!CreateDesktopIconTexture(&m_desktop_icons_texture[0])) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_TEXTURE_FOR_ICON_BITMAPS), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + } + + if (!m_desktop_icons_disabled) + { + int ret = setHook(m_hWndDesktopListView, GetPluginWindow(), 1); + if (ret == 1) + m_desktop_hook_set = 1; + else if (ret == -1) + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_OUTDATED_VMS_DESKTOP_DLL_NEED_TO_REINSTALL), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + else + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_HOOK_PROC_DESKTOP_ICONS_NOT_AVAILABLE), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + } + + return true; +} + +//---------------------------------------------------------------------- + +void CPluginShell::CleanUpDesktopMode() +{ + if (m_screenmode != DESKTOP) + return; + if (!m_desktop_show_icons) + return; + + if (m_desktop_hook_set) + { + m_desktop_hook_set = 0; + removeHook(); + } + + for (int i=0; iRelease(); + *ppTex = NULL; + } + + // create new + int ntries = (m_lpDX->m_d3dpp.BackBufferFormat == D3DFMT_R5G6B5) ? 3 : 1; + for (int ntry=0; ntrym_d3dpp.BackBufferFormat; + switch(m_lpDX->m_d3dpp.BackBufferFormat) + { + case D3DFMT_R8G8B8: + case D3DFMT_X8R8G8B8: + fmt = D3DFMT_A8R8G8B8; + break; + case D3DFMT_R5G6B5: // <- PROBLEM: NO ALPHA CHANNEL FOR ICONS + if (ntry==0) + switch(m_desktop_555_fix) + { + case 0: fmt = D3DFMT_R5G6B5; break; + case 1: fmt = D3DFMT_A1R5G5B5; break; + case 2: fmt = D3DFMT_A8R8G8B8; break; + } + else if (ntry==1) + switch(m_desktop_555_fix) + { + case 0: fmt = D3DFMT_A1R5G5B5; break; + case 1: fmt = D3DFMT_A8R8G8B8; break; + case 2: fmt = D3DFMT_A1R5G5B5; break; + } + else + switch(m_desktop_555_fix) + { + case 0: fmt = D3DFMT_A8R8G8B8; break; + case 1: fmt = D3DFMT_R5G6B5; break; + case 2: fmt = D3DFMT_R5G6B5; break; + } + break; + case D3DFMT_X1R5G5B5: + fmt = D3DFMT_A1R5G5B5; + break; + } + + if (m_lpDX->m_lpDevice->CreateTexture(ICON_TEXTURE_SIZE, ICON_TEXTURE_SIZE, 1, 0, fmt, D3DPOOL_MANAGED, ppTex, NULL) != D3D_OK) + *ppTex = NULL; + else + break; + } + + return (*ppTex) ? 1 : 0; +} + +//---------------------------------------------------------------------- + +void CPluginShell::DeselectDesktop() +{ + IconList::iterator p; + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + p->selected = 0; +} + +//---------------------------------------------------------------------- + +void CPluginShell::UpdateDesktopBitmaps() +{ + // update the D3DX textures that hold all the icons: + + int idx = 0; + int texnum = 0; + int show_msgs = 1; + + // if no icon texture could be created at startup, + // don't bother trying anything here, and don't give them + // any extra error messages. + if (!m_desktop_icons_texture[0]) + return; + + IconList::iterator p; + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + p->icon_bitmap_idx = -1; + + do + { + idx = StuffIconBitmaps(idx, texnum++, &show_msgs); + } + while (idx > 0 && texnum < MAX_ICON_TEXTURES); + + if (idx > 0) + { + wchar_t title[64]; + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_WARNING, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + } +} + +//---------------------------------------------------------------------- + +int CPluginShell::StuffIconBitmaps(int iStartIconIdx, int iTexNum, int *show_msgs) +{ + // returns: + // 0 if done (or error), or + // N if the texture is full & we need to start another one, + // where N is the new iStartIconIdx to use. + + if (m_screenmode != DESKTOP) + return 0; + + wchar_t title[64]; + if (!m_desktop_icons_texture[iTexNum]) + { + int ret = CreateDesktopIconTexture(&m_desktop_icons_texture[iTexNum]); + if (!ret) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_TOO_MANY_UNIQUE_ICON_BITMAPS), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_WARNING, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return 0; + } + } + + D3DSURFACE_DESC sd; + if (m_desktop_icons_texture[iTexNum]->GetLevelDesc(0, &sd) != D3D_OK) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_COULD_NOT_GET_LEVEL_DESCRIPTION), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return 0; + } + + D3DLOCKED_RECT lr; + if (m_desktop_icons_texture[iTexNum]->LockRect(0, &lr, NULL, 0) != D3D_OK) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_LOCKRECT_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return 0; + } + if (lr.pBits == NULL) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_LR_PBITS_IS_NULL), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + m_desktop_icons_texture[iTexNum]->UnlockRect(0); + return 0; + } + + unsigned __int16* p16 = (unsigned __int16*)lr.pBits; + unsigned __int32* p32 = (unsigned __int32*)lr.pBits; + int WIDTH = sd.Width; + + int i; + + int start; + int bpp; + int rshift[3]; // 1. bits to first shift right r,g,b + int mask[3]; // 2. mask for r, g, b + int lshift[3]; // 3. bits to then shift left r,g,b + + switch(sd.Format) + { + case D3DFMT_R8G8B8: + case D3DFMT_A8R8G8B8: + case D3DFMT_X8R8G8B8: + start = 0xFF000000; + bpp = 32; + rshift[0] = 0; + rshift[1] = 0; + rshift[2] = 0; + mask[0] = 0xFF; + mask[1] = 0xFF; + mask[2] = 0xFF; + lshift[0] = 16; + lshift[1] = 8; + lshift[2] = 0; + break; + + case D3DFMT_R5G6B5: + start = 0x0000; + bpp = 16; + rshift[0] = 3; + rshift[1] = 2; + rshift[2] = 3; + mask[0] = 0x1F; + mask[1] = 0x3F; + mask[2] = 0x1F; + lshift[0] = 11; + lshift[1] = 5; + lshift[2] = 0; + break; + + case D3DFMT_X1R5G5B5: + case D3DFMT_A1R5G5B5: + start = 0x8000; + bpp = 16; + rshift[0] = 3; + rshift[1] = 3; + rshift[2] = 3; + mask[0] = 0x1F; + mask[1] = 0x1F; + mask[2] = 0x1F; + lshift[0] = 10; + lshift[1] = 5; + lshift[2] = 0; + break; + + case D3DFMT_A4R4G4B4: + start = 0xF000; + bpp = 16; + rshift[0] = 4; + rshift[1] = 4; + rshift[2] = 4; + mask[0] = 0x0F; + mask[1] = 0x0F; + mask[2] = 0x0F; + lshift[0] = 8; + lshift[1] = 4; + lshift[2] = 0; + break; + + default: + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_UNKNOWN_PIXEL_FORMAT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + m_desktop_icons_texture[iTexNum]->UnlockRect(0); + return 0; + } + + HDC hdc = GetDC(NULL); + if (!hdc) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_COULDNT_GET_HDC), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + m_desktop_icons_texture[iTexNum]->UnlockRect(0); + return 0; + } + + #define MAX_ICON_SIZE 128 + unsigned char data[MAX_ICON_SIZE*MAX_ICON_SIZE*4]; + + int nAcross = ICON_TEXTURE_SIZE/m_desktop_icon_size; + int nDown = ICON_TEXTURE_SIZE/m_desktop_icon_size; + + // for each icon, add its bitmap to the texture (if not already there), + // and set 'icon_bitmap_idx'. + IconList::iterator p = m_icon_list.begin(); + for (i=0; i < iStartIconIdx; i++) + p++; + + int bitmap_idx = 0; + int list_idx = iStartIconIdx; + + for ( ; p != m_icon_list.end() && bitmap_idx < nAcross*nDown; p++) + { + // note: 'p' points to the correct icon to start with, + // but 'idx' starts at zero! + + // get the icon: + SHFILEINFO sfi; + int flags = SHGFI_ICON|SHGFI_PIDL|SHGFI_SHELLICONSIZE | ((m_desktop_icon_size > 32) ? SHGFI_LARGEICON : 0); + if (SHGetFileInfo((LPCTSTR)p->pidl, 0, &sfi, sizeof(sfi), flags)) + { + ICONINFO ii; + if (GetIconInfo(sfi.hIcon, &ii)) + { + int x0 = (bitmap_idx%nAcross)*m_desktop_icon_size; + int y0 = (bitmap_idx/nAcross)*m_desktop_icon_size; + int checksum[3] = { 0, 0, 0 }; + + BITMAPINFO bmi; + + // pass 1: get the colors + + bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + bmi.bmiHeader.biWidth = m_desktop_icon_size; + bmi.bmiHeader.biHeight = m_desktop_icon_size; + bmi.bmiHeader.biPlanes = 1; + bmi.bmiHeader.biBitCount = 32; + bmi.bmiHeader.biCompression = BI_RGB; + + if (GetDIBits( + hdc, // handle to DC + ii.hbmColor, // handle to bitmap + 0, // first scan line to set + m_desktop_icon_size,// number of scan lines to copy + data, // array for bitmap bits + &bmi, // bitmap data buffer + DIB_RGB_COLORS // RGB or palette index + )) + { + int w = min(bmi.bmiHeader.biWidth , m_desktop_icon_size); + int h = min(bmi.bmiHeader.biHeight, m_desktop_icon_size); + + for (int y=0; y> rshift[0]) & mask[0]) << lshift[0]) | + (((g >> rshift[1]) & mask[1]) << lshift[1]) | + (((b >> rshift[2]) & mask[2]) << lshift[2]); + else + p32[out_offset] = start | + (((r >> rshift[0]) & mask[0]) << lshift[0]) | + (((g >> rshift[1]) & mask[1]) << lshift[1]) | + (((b >> rshift[2]) & mask[2]) << lshift[2]); + } + } + else + { + if (*show_msgs) + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_CALL_TO_GETDIBITS_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + *show_msgs = 0; + } + + // pass 2: get the alpha mask + + bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + bmi.bmiHeader.biWidth = m_desktop_icon_size; + bmi.bmiHeader.biHeight = m_desktop_icon_size; + bmi.bmiHeader.biPlanes = 1; + bmi.bmiHeader.biBitCount = 32; + bmi.bmiHeader.biCompression = BI_RGB; + + if (GetDIBits( + hdc, // handle to DC + ii.hbmMask, // handle to bitmap + 0, // first scan line to set + m_desktop_icon_size,// number of scan lines to copy + data, // array for bitmap bits + &bmi, // bitmap data buffer + DIB_RGB_COLORS // RGB or palette index + )) + { + int w = min(bmi.bmiHeader.biWidth , m_desktop_icon_size); + int h = min(bmi.bmiHeader.biHeight, m_desktop_icon_size); + + for (int y=0; ychecksum[0] && + checksum[1] == q->checksum[1] && + checksum[2] == q->checksum[2]) + { + p->icon_bitmap_idx = q->icon_bitmap_idx; + done = 1; + break; + } + } + + // otherwise, keep new icon + if (!done) + { + p->icon_bitmap_idx = nAcross*nDown*iTexNum + bitmap_idx; + p->checksum[0] = checksum[0]; + p->checksum[1] = checksum[1]; + p->checksum[2] = checksum[2]; + + bitmap_idx++; + } + + DeleteObject(ii.hbmMask); + DeleteObject(ii.hbmColor); + } + else + { + if (*show_msgs) + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_GETICONINFO_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + *show_msgs = 0; + } + + DestroyIcon(sfi.hIcon); + } + else + { + if (*show_msgs) + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_UPDATING_ICON_BITMAPS_SHGETFILEINFO_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + *show_msgs = 0; + } + + list_idx++; + } + + ReleaseDC(NULL, hdc); + m_desktop_icons_texture[iTexNum]->UnlockRect(0); + + if (bitmap_idx >= nAcross*nDown) + return list_idx; + else + return 0; // all done +} + +//---------------------------------------------------------------------- + +void CPluginShell::RenderDesktop() +{ + if (m_screenmode != DESKTOP) + return; + if (!m_desktop_show_icons) + return; + if (m_desktop_icons_disabled) + return; + + IconList::iterator p; + + EnterCriticalSection(&m_desktop_cs); + + int iconcount = static_cast(SendMessage(m_hWndDesktopListView, LVM_GETITEMCOUNT, 0, 0)); + if (iconcount == 0) + { + LeaveCriticalSection(&m_desktop_cs); + return; + } + + // if the icons list is empty, + // or if we check it for consistency and an update is recommended (GetDesktopIcons(1)==2), + // update the icons list & the bitmaps: + /*if (m_icon_list.size()==0 || GetDesktopIcons(1)==2) + { + m_icon_list.clear(); + GetDesktopIcons(0); + + UpdateDesktopBitmaps(); + }*/ + + // check for invalid entries. (if there is an error in getItemData(), + // it will return the icon_t structure anyway, but with empty strings.) + int invalid_entries = 0; + if (m_desktop_icon_state >= 2) + { + for (p = m_icon_list.begin(); p != m_icon_list.end() && !invalid_entries; p++) + { + if (p->name[0]==0) + invalid_entries = 1; + //if (p->pidl[0].mkid.cb==0 && p->pidl[0].mkid.abID[0]==0) + if (p->pidl[0]==0 && p->pidl[1]==0) + invalid_entries = 1; + } + } + + if ( + (m_desktop_icon_state == 0) || + (m_desktop_icon_state >= 2 && m_desktop_icon_count != iconcount) || + (m_desktop_icon_state >= 2 && invalid_entries) + ) + { + // begin total refresh + m_desktop_icon_state = 1; + m_desktop_icon_count = iconcount; + m_desktop_icon_update_frame = GetFrame(); + m_icon_list.clear(); + + SendMessage(GetPluginWindow(), WM_USER, 0x80000000 | iconcount, 0);//getItemData(i); + + // try to get the desktop window's listview to respond to + // the queries as quickly as possible: + { + LeaveCriticalSection(&m_desktop_cs); + + DWORD procid = NULL; + DWORD threadid = GetWindowThreadProcessId(m_hWndDesktopListView, &procid); + + HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, procid); + DWORD x = GetPriorityClass(hProcess); + if (x) SetPriorityClass(hProcess, REALTIME_PRIORITY_CLASS); + + for (int i=0; i<5; i++) + { + Sleep(10); + + MSG msg; + while(PeekMessage(&msg,GetPluginWindow(),0,0,PM_REMOVE)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + if (x) SetPriorityClass(hProcess, x); + CloseHandle(hProcess); + + EnterCriticalSection(&m_desktop_cs); + } + } + else if (m_desktop_icon_state == 1 && + m_icon_list.size() < (size_t)m_desktop_icon_count) + { + // waiting for the 'total refresh' to complete + // ... + if (GetFrame() > m_desktop_icon_update_frame+64) + { + m_desktop_icon_state = 0; + } + } + else + if (m_desktop_icon_state == 1 && + m_icon_list.size() == m_desktop_icon_count) + { + // done with total refresh + m_desktop_icon_state = 2; + m_desktop_icon_update_frame = GetFrame(); + UpdateDesktopBitmaps(); + } + else if (m_desktop_icon_state == 2) + { + if (GetFrame() > m_desktop_icon_update_frame+4) + { + m_desktop_icon_state = 3; // will mean we're waiting on data to return. + m_desktop_icon_update_frame = GetFrame(); + int start = 0; + int len = iconcount; + SendMessage(GetPluginWindow(), WM_USER, start | (len << 16), 0);//getItemData(i); + } + } + else if (m_desktop_icon_state == 3) + { + if (GetFrame() > m_desktop_icon_update_frame+64) + { + // timeout; give up waiting for update message to come back, + // and just request another. + m_desktop_icon_state = 2; + m_desktop_icon_update_frame = GetFrame(); + } + } + + // get horz. spacing between icons (...determines width of labels) + ICONMETRICS icm; + icm.cbSize = sizeof(icm); + if (!SystemParametersInfo(SPI_GETICONMETRICS, sizeof(icm), &icm, 0)) + icm.iHorzSpacing = 68; + + /*int font_height = 0; + { + RECT r; + m_d3dx_desktop_font->DrawText(NULL, "M", -1, &r, DT_CALCRECT, 0xFFFFFFFF); + font_height = r.bottom - r.top; + }*/ + + // display the desktop. + + m_lpDX->m_lpDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); + m_lpDX->m_lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);//D3DTOP_SELECTARG1 ); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE); + m_lpDX->m_lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + int nAcross = ICON_TEXTURE_SIZE/m_desktop_icon_size; + int nDown = ICON_TEXTURE_SIZE/m_desktop_icon_size; + + // The icon's x and y coordinates (as returned by the + // getIconData/WM_COPYDATA system) are (0,0) at the + // upper-left corner of the rectangle that encompasses + // all the monitors together (m_lpDX->m_all_monitors_rect). + + // Note that in 'm_all_monitors_rect', (0,0) represents + // the upper-left corner of the PRIMARY DISPLAY - not necessarily + // the one we're showing the fake desktop on. + + // What we have to do here is determine icon_dx and icon_dy, + // which are the transformation from the coordinate space used + // by the desktop itself (as returned in WM_COPYDATA) + // and the coordinates used by Windows itself (where 0,0 is + // the upper-left corner of the PRIMARY DISPLAY, and coordinates + // in other displays can be negative if they are above/left of it). + + int upperleft_x = min(m_lpDX->m_all_monitors_rect.left, m_lpDX->m_monitor_rect.left); + int upperleft_y = min(m_lpDX->m_all_monitors_rect.top , m_lpDX->m_monitor_rect.top ); + int icon_dx = m_lpDX->m_monitor_rect.left - upperleft_x; // subtract this amount + int icon_dy = m_lpDX->m_monitor_rect.top - upperleft_y; // subtract this amount + + if (!m_desktop_manual_icon_scoot) + { + icon_dx -= m_lpDX->m_monitor_rect.left - m_lpDX->m_monitor_work_rect.left; + icon_dy -= m_lpDX->m_monitor_rect.top - m_lpDX->m_monitor_work_rect.top ; + } + + // pass 0: draw normal text & icons + // pass 1: redraw icon currently being dragged, transparently + int nPasses = m_desktop_dragging ? 2 : 1; + for (int pass=0; passm_lpDevice->SetVertexShader( NULL ); + m_lpDX->m_lpDevice->SetFVF( SIMPLE_VERTEX_FORMAT ); + m_lpDX->m_lpDevice->SetTexture(0, NULL); + SIMPLEVERTEX verts[4]; + + // pass2==0: draw text labels + // pass2==1: draw text overtop + // (separated for speed, so ID3DXFont can get the HDC just once for all the DrawText calls) + for (int pass2=0; pass2<2; pass2++) + { + //if (pass2==1) + //m_d3dx_desktop_font->Begin(); + + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + { + if (pass==0 || (p->selected && m_desktop_dragging)) + { + int max_width = icm.iHorzSpacing-5+m_desktop_icon_size-32;//icm.iHorzSpacing-5; + + int dx = 0; + int dy = 4; + + if (pass>0) + { + dx += m_desktop_drag_curpos.x - m_desktop_drag_startpos.x; + dy += m_desktop_drag_curpos.y - m_desktop_drag_startpos.y; + } + + SetRect(&p->label_rect, + p->x + m_desktop_icon_size/2 - icon_dx - max_width/2 + dx, + p->y + m_desktop_icon_size - icon_dy + dy, + p->x + m_desktop_icon_size/2 - icon_dx + max_width/2 + dx, + p->y + m_desktop_icon_size - icon_dy + 0 + dy // will be extended by DT_CALCRECT step! + ); + + // calculate rect for the text label + DWORD style = DT_CENTER|DT_WORDBREAK|DT_END_ELLIPSIS|DT_WORD_ELLIPSIS; + // these aren't supported by D3DX9: + style &= ~(DT_WORD_ELLIPSIS | DT_END_ELLIPSIS | DT_NOPREFIX); + m_d3dx_desktop_font->DrawText(NULL, p->name, -1, &p->label_rect, style|DT_CALCRECT, 0xFFFFFFFF); + + // D3DX doesn't handle text so well if it goes off + // the left edge of the screen, so don't show text labels + // that are mostly off (on the left side): + if ((p->label_rect.left + p->label_rect.right)/2 > 0) + { + // also, if label would go off left edge of screen, + // push it to the right: + if (p->label_rect.left < 0 && p->label_rect.right > 0) + { + p->label_rect.right -= p->label_rect.left; + p->label_rect.left = 0; + } + + //if (p->selected) // ...draw blue background around text label + if (pass2==0) + { + if (m_desktop_textlabel_boxes || p->selected) + { + #define EXTEND_LEFT 3 + #define EXTEND_RIGHT 2 + #define EXTEND_TOP 0 + #define EXTEND_BOTTOM 2 + for (int i=0; i<4; i++) + { + verts[i].x = (i%2==0) ? (float)(-m_lpDX->m_client_width/2 + p->label_rect.left - EXTEND_LEFT) : (float)(-m_lpDX->m_client_width/2 + p->label_rect.right + EXTEND_RIGHT); // was -2/+3 + verts[i].y = (i/2==0) ? (float)(m_lpDX->m_client_height/2 - p->label_rect.top + EXTEND_TOP ) : (float)(m_lpDX->m_client_height/2 - p->label_rect.bottom - EXTEND_BOTTOM); // was +1/-1 + verts[i].z = 0; + verts[i].Diffuse = (p->selected) ? m_desktop_sel_color : m_desktop_bk_color;//0xFF000000; + if (pass>0) + verts[i].Diffuse &= 0x7FFFFFFF; + } + m_lpDX->m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, verts, sizeof(SIMPLEVERTEX)); + } + } + else + { + DWORD text_color = (p->selected) ? m_desktop_sel_text_color : m_desktop_text_color; + if (pass==1) + text_color &= 0x7FFFFFFF; + // these aren't supported by D3DX9: + style &= ~(DT_WORD_ELLIPSIS | DT_END_ELLIPSIS | DT_NOPREFIX); + m_d3dx_desktop_font->DrawText(NULL, p->name, -1, &p->label_rect, style, text_color); + } + } + } + } + + //if (pass2==1) + // m_d3dx_desktop_font->End(); + } + } + + m_lpDX->m_lpDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE ); + m_lpDX->m_lpDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA ); + m_lpDX->m_lpDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA ); + + // second, draw icon bitmaps (overtop) + if (m_desktop_icon_state >= 2) + { + int dx = 0; + int dy = 0; + int iTexNum = 0; + + while (m_desktop_icons_texture[iTexNum] && iTexNum < MAX_ICON_TEXTURES) + { + HELPVERTEX verts[4]; + m_lpDX->m_lpDevice->SetVertexShader( NULL ); + m_lpDX->m_lpDevice->SetFVF( HELP_VERTEX_FORMAT ); + m_lpDX->m_lpDevice->SetTexture(0, m_desktop_icons_texture[iTexNum]); + + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + { + int icon_tex_idx = (p->icon_bitmap_idx==-1) ? 0 : (p->icon_bitmap_idx / (nAcross*nDown)); + int icon_bitmap_idx = (p->icon_bitmap_idx==-1) ? 0 : (p->icon_bitmap_idx % (nAcross*nDown)); + if ( + (icon_tex_idx == iTexNum) && + (pass==0 || (p->selected && m_desktop_dragging)) + ) + { + SetRect(&p->icon_rect, + p->x - icon_dx + dx, + p->y - icon_dy + dy, + p->x - icon_dx + dx + m_desktop_icon_size, + p->y - icon_dy + dy + m_desktop_icon_size); + + int lookup_x = 0; + int lookup_y = 0; + + if (icon_bitmap_idx >= 0) // if -1, means icon didn't fit in the texture + { + lookup_x = icon_bitmap_idx % nAcross; + lookup_y = icon_bitmap_idx / nAcross; + } + + for (int i=0; i<4; i++) + { + verts[i].x = (i%2==0) ? (float)(-m_lpDX->m_client_width/2 + p->icon_rect.left) : (float)(-m_lpDX->m_client_width/2 + p->icon_rect.right ); + verts[i].y = (i/2==0) ? (float)(m_lpDX->m_client_height/2 - p->icon_rect.top ) : (float)(m_lpDX->m_client_height/2 - p->icon_rect.bottom); + verts[i].z = 0; + verts[i].tu = ((lookup_x + i%2)*m_desktop_icon_size + 0.5f)/(float)ICON_TEXTURE_SIZE; + verts[i].tv = ((lookup_y + i/2)*m_desktop_icon_size + 0.5f)/(float)ICON_TEXTURE_SIZE; + verts[i].Diffuse = (p->selected) ? m_desktop_sel_color : 0xFFFFFFFF; + if (pass>0) + { + verts[i].x += m_desktop_drag_curpos.x - m_desktop_drag_startpos.x; + verts[i].y -= m_desktop_drag_curpos.y - m_desktop_drag_startpos.y; + verts[i].Diffuse &= 0x7FFFFFFF; + } + } + + m_lpDX->m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, verts, sizeof(HELPVERTEX)); + } + } + + iTexNum++; + } + } + } + + // finally, draw selection box (if user is dragging one) + if (m_desktop_box) + { + m_lpDX->m_lpDevice->SetVertexShader( NULL ); + m_lpDX->m_lpDevice->SetFVF( SIMPLE_VERTEX_FORMAT ); + m_lpDX->m_lpDevice->SetTexture(0, NULL); + SIMPLEVERTEX verts[5]; + for (int i=0; i<4; i++) + { + verts[i].x = (i==1||i==2) ? (float)(-m_lpDX->m_client_width/2 + m_desktop_drag_startpos.x) : (float)(-m_lpDX->m_client_width/2 + m_desktop_drag_curpos.x); + verts[i].y = (i==0||i==1) ? (float)(m_lpDX->m_client_height/2 - m_desktop_drag_startpos.y) : (float)(m_lpDX->m_client_height/2 - m_desktop_drag_curpos.y); + verts[i].z = 0; + verts[i].Diffuse = 0x80FFFFFF; + } + verts[4] = verts[0]; + m_lpDX->m_lpDevice->DrawPrimitiveUP(D3DPT_LINESTRIP, 4, verts, sizeof(SIMPLEVERTEX)); + } + + m_lpDX->m_lpDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + m_lpDX->m_lpDevice->SetTexture(0, NULL); + + LeaveCriticalSection(&m_desktop_cs); +} + +//---------------------------------------------------------------------- + +/* +NOTES LOG + +-problem: you can't click on the 1st monitor's desktop & do stuff + -> fixed if you get rid of m_desktop_focuswnd and + don't block WM_MOUSEACTIVATE. + -> but doing this causes a flash when you click on + the real desktop (in multimon setup) of any windows + that are overtop of the fake desktop, since the + fake desktop rises up in the Z order (activates) + and then, next frame, gets pushed back again. + -> so how do we avoid the flash? + by [conditionally] stopping any z-order changes; + intercept & change WM_WINDOWPOSCHANGING messages + so there's no z-change, unless *we* specifically + requested it (in PushWindowToBack()). + -> new problem: right-click context menu won't go away + until you click something. + -> was fixed by making the plugin window a child + of m_hWndDesktopListView. +*/ \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/dxcontext.cpp b/src/MilkDrop2/vis_milk2/dxcontext.cpp new file mode 100644 index 0000000000..2de8e7996c --- /dev/null +++ b/src/MilkDrop2/vis_milk2/dxcontext.cpp @@ -0,0 +1,1415 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "DXContext.h" +#include "utility.h" +#include "shell_defines.h" +#include "resource.h" +#define COMPILE_MULTIMON_STUBS 1 +#include +#include + +// note: added WS_EX_CONTROLPARENT and WS_TABSTOP for embedwnd so window frame will pass on KB commands to us, if it has focus & receives them. +// however, it is still not working. Maksim says he needs to use GetNextDlgTabItem() and then it will work. +// aha- had to remove WS_EX_CONTROLPARENT and WS_OVERLAPPED. Should now work with winamp 5.5 build 1620. +#define MY_EXT_WINDOW_STYLE (m_current_mode.m_skin ? 0/*WS_EX_CONTROLPARENT*/ : ((m_current_mode.screenmode==DESKTOP) ? (WS_EX_TOOLWINDOW) : 0)) // note: changed from TOOLWINDOW to APPWINDOW b/c we wanted the plugin to appear in the taskbar. +#define SKINNED_WS (WS_VISIBLE|WS_CHILDWINDOW/*|WS_OVERLAPPED*/|WS_CLIPCHILDREN|WS_CLIPSIBLINGS|WS_TABSTOP) +#define MY_WINDOW_STYLE (m_current_mode.m_skin ? SKINNED_WS : ((m_current_mode.screenmode==FAKE_FULLSCREEN || m_current_mode.screenmode==DESKTOP) ? WS_POPUP : WS_OVERLAPPEDWINDOW)) // note: WS_POPUP (by itself) removes all borders, captions, etc. + +#include "vis.h" +extern winampVisModule mod1; + +DXContext::DXContext(HWND hWndWinamp,HINSTANCE hInstance,LPCWSTR szClassName,LPCSTR szWindowCaption,WNDPROC pProc,LONG_PTR uWindowLong, int minimize_winamp, wchar_t* szIniFile) +{ + m_classAtom = 0; + m_szWindowCaption[0] = 0; + m_hwnd = NULL; + m_lpD3D = NULL; + m_lpDevice = NULL; + m_hmod_d3d9 = NULL; + m_hmod_d3dx9 = NULL; + m_zFormat = D3DFMT_UNKNOWN; + for (int i=0; i= 1) + if (m_current_mode.screenmode == WINDOWED) + { + // oversize it - then we'll just crop - so onscreen text has no stretching :) + m_client_width = max(1, (m_REAL_client_width + 31)/32)*32; + m_client_height = max(1, (m_REAL_client_height + 31)/32)*32; + } +#endif +} + +BOOL DXContext::TestFormat(int ordinal_adapter, D3DFORMAT fmt) +{ + if (D3D_OK==m_lpD3D->CheckDeviceType(ordinal_adapter,D3DDEVTYPE_HAL,fmt,fmt,FALSE)) + return TRUE; + return FALSE; +} + +BOOL DXContext::TestDepth(int ordinal_adapter, D3DFORMAT fmt) +{ + if (D3D_OK!=m_lpD3D->CheckDeviceFormat(ordinal_adapter,D3DDEVTYPE_HAL,m_current_mode.display_mode.Format, + D3DUSAGE_DEPTHSTENCIL,D3DRTYPE_SURFACE,fmt)) + return FALSE; + if (D3D_OK!=m_lpD3D->CheckDepthStencilMatch(ordinal_adapter,D3DDEVTYPE_HAL, + m_current_mode.display_mode.Format,m_current_mode.display_mode.Format,fmt)) + return FALSE; + return TRUE; +} + +int DXContext::CheckAndCorrectFullscreenDispMode(int ordinal_adapter, D3DDISPLAYMODE *pdm) +{ + // given the user's choice of fullscreen display mode, + // go through all the display modes available to the currently-selected adapter + // and find the best match. + + // returns 1 if it altered pdm to the best match, + // or 0 if it was able to find a perfect match. + + // if it returns 1, you might want to notify the user. + + +#define MAX_DISPLAY_MODES 4096 + D3DDISPLAYMODE list[MAX_DISPLAY_MODES]; + int nCount = min(m_lpD3D->GetAdapterModeCount(ordinal_adapter, D3DFMT_A8R8G8B8), MAX_DISPLAY_MODES); + int nValid = 0; + for (int i=0; iEnumAdapterModes(ordinal_adapter, D3DFMT_A8R8G8B8, i, &list[nValid]) == D3D_OK) + nValid++; + + // do many passes through the set until we find a match, + // each time relaxing more constraints. + // outline of the passes: + + int bpp_desired = 0; + switch (pdm->Format) + { + case D3DFMT_R8G8B8 : bpp_desired = 32; break; + case D3DFMT_A8R8G8B8: bpp_desired = 32; break; + case D3DFMT_X8R8G8B8: bpp_desired = 32; break; + case D3DFMT_R5G6B5 : bpp_desired = 16; break; + case D3DFMT_X1R5G5B5: bpp_desired = 16; break; + case D3DFMT_A1R5G5B5: bpp_desired = 16; break; + case D3DFMT_A4R4G4B4: bpp_desired = 16; break; + case D3DFMT_R3G3B2 : bpp_desired = 8; break; + case D3DFMT_A8R3G3B2: bpp_desired = 16; break; + case D3DFMT_X4R4G4B4: bpp_desired = 16; break; + } + + // rep MATCH: + // 0. w,h,r,f + // 1. w,h,-,f + // 2. w,h,r,- pass: + // 3. w,h,-,- -on pass 0, for 'f', match exact format + // 4. 8,6,r,f -on pass 1, for 'f', just match # of bits per pixel + // 5. 8,6,-,f (more relaxed match) + // 6. 8,6,r,- + // 7. 8,6,-,- + // 8. -,-,r,f + // 9. -,-,-,f + // 10. -,-,r,- + // 11. -,-,-,- + int found = 0; + for (int rep=0; rep<12 && !found; rep++) + { + for (int pass=0; pass<2 && !found; pass++) + { + for (i=0; iWidth != list[i].Width) + bMatch = false; + if (pdm->Height != list[i].Height) + bMatch = false; + } + else if (rep < 8) + { + if (DEFAULT_FULLSCREEN_WIDTH != list[i].Width) + bMatch = false; + if (DEFAULT_FULLSCREEN_HEIGHT != list[i].Height) + bMatch = false; + } + + if (((rep/2)%2)==0) + { + if (pass==0 && pdm->Format != list[i].Format) + bMatch = false; + else if (pass==1 && bpp_desired != bpp_this_mode) + bMatch = false; + } + + if (((rep%2)==0) && pdm->RefreshRate != list[i].RefreshRate) + { + bMatch = false; + } + + if (bMatch) + { + memcpy(pdm, &list[i], sizeof(D3DDISPLAYMODE)); + found = 1; + if (rep != 0 || pass != 0) + { + return 1; + } + } + } + } + } + return 0; +} + +BOOL CALLBACK MyMonitorEnumProc( + HMONITOR hMonitor, // handle to display monitor + HDC hdcMonitor, // handle to monitor DC + LPRECT lprcMonitor, // monitor intersection rectangle + LPARAM dwData // data +) +{ + RECT* p = (RECT*)dwData; + if (hMonitor) + { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + if (GetMonitorInfo(hMonitor, &mi)) + { + p->top = min(p->top , mi.rcMonitor.top); + p->left = min(p->left , mi.rcMonitor.left); + p->right = max(p->right , mi.rcMonitor.right); + p->bottom = max(p->bottom, mi.rcMonitor.bottom); + } + } + + return TRUE; +} + +int DXContext::GetWindowedModeAutoSize(int iteration) +{ + // note: requires 'm_monitor_rect' has been set! + + // generically determine size of window, for windowed mode: + int x = m_monitor_rect.right-m_monitor_rect.left; + int y = m_monitor_rect.bottom-m_monitor_rect.top; + + // if running in horz/vert-span multi-display mode, base the window size on + // an actual display size, not the giant double-sized monitor. Also, position + // the window on the same monitor that Winamp is on. + if (x >= y*2) + { + x /= 2; + + // move window to same display that Winamp is on: + WINDOWPLACEMENT wp; + wp.length = sizeof(wp); + if (GetWindowPlacement(m_hwnd_winamp, &wp)) + { + int winamp_center_x = (wp.rcNormalPosition.right + wp.rcNormalPosition.left)/2; + if (winamp_center_x > x) + { + m_monitor_rect.left += x; + m_monitor_rect.right += x; + } + } + } + else if (y > x*4/3) + { + y /= 2; + + // move window to same display that Winamp is on: + WINDOWPLACEMENT wp; + wp.length = sizeof(wp); + if (GetWindowPlacement(m_hwnd_winamp, &wp)) + { + int winamp_center_y = (wp.rcNormalPosition.top + wp.rcNormalPosition.bottom)/2; + if (winamp_center_y > y) + { + m_monitor_rect.top += y; + m_monitor_rect.bottom += y; + } + } + } + + int size = min(x, y); + size = (int)(size*DEFAULT_WINDOW_SIZE); + size = (size/64 - iteration)*64; + if (size < 64) + size = 64; + + return size; +} + +void DXContext::WriteSafeWindowPos() +{ + if (m_current_mode.screenmode == WINDOWED) + { + WritePrivateProfileIntW(64, L"nMainWndTop", m_szIniFile, L"settings"); + WritePrivateProfileIntW(64, L"nMainWndLeft", m_szIniFile, L"settings"); + WritePrivateProfileIntW(64+256, L"nMainWndRight", m_szIniFile, L"settings"); + WritePrivateProfileIntW(64+256, L"nMainWndBottom", m_szIniFile, L"settings"); + WritePrivateProfileIntW(64, L"avs_wx",m_szIniFile,L"settings"); + WritePrivateProfileIntW(64, L"avs_wy",m_szIniFile,L"settings"); + WritePrivateProfileIntW(256, L"avs_ww",m_szIniFile,L"settings"); + WritePrivateProfileIntW(256, L"avs_wh",m_szIniFile,L"settings"); + } +} + +// {0000000A-000C-0010-FF7B-01014263450C} +const GUID avs_guid = + { 10, 12, 16, { 255, 123, 1, 1, 66, 99, 69, 12 } }; + +BOOL DXContext::Internal_Init(DXCONTEXT_PARAMS *pParams, BOOL bFirstInit) +{ + memcpy(&m_current_mode, pParams, sizeof(DXCONTEXT_PARAMS)); + memset(&myWindowState,0,sizeof(myWindowState)); + + // various checks + if (m_current_mode.screenmode != WINDOWED) + m_current_mode.m_skin = 0; + + // 1. destroy old window + if (m_hwnd) + { + m_ignore_wm_destroy = 1; + DestroyWindow(m_hwnd); + m_ignore_wm_destroy = 0; + m_hwnd = NULL; + } + + // 2. CHECK TO MAKE SURE DIRECTX/DDRAW IS INSTALLED + if (bFirstInit) + { + // Test for DirectX 9 + start it + // note: if you don't call LoadLibrary here, and you're on a system + // where DX9 is missing, Direct3DCreate8() might crash; so call it. + int d3d9_already_loaded = (GetModuleHandle("d3d9.dll") != NULL) ? 1 : 0; + if (!d3d9_already_loaded) + m_hmod_d3d9 = LoadLibrary("d3d9.dll"); + + if ((!d3d9_already_loaded && !m_hmod_d3d9) || + !(m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION)) + ) + { + MissingDirectX(NULL); + m_lastErr = DXC_ERR_CREATE3D; + return FALSE; + } + + if (!m_hmod_d3dx9) + m_hmod_d3dx9 = FindD3DX9(m_hwnd_winamp); + + if ((!m_hmod_d3dx9)) + { + MissingDirectX(NULL); + m_lastErr = DXC_ERR_CREATE3D; + return FALSE; + } + } + + // 3. get the smallest single rectangle that encloses ALL the monitors on the desktop: + SetRect(&m_all_monitors_rect, 0, 0, 0, 0); + EnumDisplayMonitors(NULL, NULL, MyMonitorEnumProc, (LPARAM)&m_all_monitors_rect); + + // 4. some DirectX- / DDraw-specific stuff. Also determine hPluginMonitor. + HMONITOR hPluginMonitor = NULL; + { + D3DADAPTER_IDENTIFIER9 temp; + + // find the ordinal # of the adapter whose GUID matches what the user picked from the config panel, + // and whose DeviceName matches as well. + // if no match found, use D3DADAPTER_DEFAULT. + m_ordinal_adapter = D3DADAPTER_DEFAULT; + int nAdapters = m_lpD3D->GetAdapterCount(); + { + for (int i=0; iGetAdapterIdentifier(i, /*D3DENUM_NO_WHQL_LEVEL*/ 0, &temp) == D3D_OK) && + (memcmp(&temp.DeviceIdentifier, &m_current_mode.adapter_guid, sizeof(GUID))==0) && + !strcmp(temp.DeviceName, m_current_mode.adapter_devicename) + ) + { + m_ordinal_adapter = i; + break; + } + } + } + + if (m_lpD3D->GetAdapterIdentifier(m_ordinal_adapter, /*D3DENUM_NO_WHQL_LEVEL*/ 0, &temp) == D3D_OK) + { + StringCbCopy(m_szDriver, sizeof(m_szDriver), temp.Driver); + StringCbCopy(m_szDesc, sizeof(m_szDesc), temp.Description); + } + + int caps_ok = 0; + int caps_tries = 0; + int changed_fs_disp_mode; + + // try to get the device caps for the adapter selected from the config panel. + // if GetDeviceCaps() fails, it's probably because the adapter has been + // removed from the system (or disabled), so we try again with other adapter(s). + do + { + changed_fs_disp_mode = 0; + + SetRect(&m_monitor_rect, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)); + + // get bounding rect of the monitor attached to the adapter (to assist w/window positioning) + // note: in vert/horz span setups (psuedo-multimon), + // this will be 2048x768 or 1024x1536 or something like that. + hPluginMonitor = m_lpD3D->GetAdapterMonitor(m_ordinal_adapter); + /*if (hPluginMonitor) + { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + if (GetMonitorInfo(hPluginMonitor, &mi)) + { + memcpy(&m_monitor_rect, &mi.rcMonitor, sizeof(RECT)); + memcpy(&m_monitor_work_rect, &mi.rcWork, sizeof(RECT)); + } + }*/ + + if (bFirstInit) + { + for (int i=0; iGetAdapterDisplayMode(i, &d3ddm))) + { + d3ddm.Format = D3DFMT_UNKNOWN; + } + m_orig_windowed_mode_format[i] = d3ddm.Format; + } + } + + // figure out pixel (color) format for back buffer: (m_current_mode.display_mode.Format) + if (m_current_mode.screenmode!=FULLSCREEN && m_ordinal_adapter < MAX_DXC_ADAPTERS) + m_current_mode.display_mode.Format = m_orig_windowed_mode_format[m_ordinal_adapter]; + // else + // for fullscreen, use what they gave us + + if (m_current_mode.display_mode.Format == D3DFMT_UNKNOWN || + !TestFormat(m_ordinal_adapter, m_current_mode.display_mode.Format)) + { + // if they try to run the plugin without ever running the config panel + // first (& pressing OK), then the fullscreen pixelformat hasn't been + // chosen... so we try all the possilibities until one works: + if (TestFormat(m_ordinal_adapter,D3DFMT_A8R8G8B8)) m_current_mode.display_mode.Format = D3DFMT_A8R8G8B8; + else if (TestFormat(m_ordinal_adapter,D3DFMT_X8R8G8B8)) m_current_mode.display_mode.Format = D3DFMT_X8R8G8B8; + else if (TestFormat(m_ordinal_adapter,D3DFMT_R8G8B8)) m_current_mode.display_mode.Format = D3DFMT_R8G8B8 ; + else if (TestFormat(m_ordinal_adapter,D3DFMT_R5G6B5)) m_current_mode.display_mode.Format = D3DFMT_R5G6B5 ; + else if (TestFormat(m_ordinal_adapter,D3DFMT_X1R5G5B5)) m_current_mode.display_mode.Format = D3DFMT_X1R5G5B5; + else if (TestFormat(m_ordinal_adapter,D3DFMT_A1R5G5B5)) m_current_mode.display_mode.Format = D3DFMT_A1R5G5B5; + else if (TestFormat(m_ordinal_adapter,D3DFMT_A4R4G4B4)) m_current_mode.display_mode.Format = D3DFMT_A4R4G4B4; + else if (TestFormat(m_ordinal_adapter,D3DFMT_X4R4G4B4)) m_current_mode.display_mode.Format = D3DFMT_X4R4G4B4; + } + + if (m_current_mode.display_mode.Format==D3DFMT_UNKNOWN) + { + wchar_t title[64]; + m_lastErr = DXC_ERR_FORMAT; + MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_DIRECTX_INIT_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + + if (m_current_mode.screenmode == FULLSCREEN) + changed_fs_disp_mode = CheckAndCorrectFullscreenDispMode(m_ordinal_adapter, &m_current_mode.display_mode); + + // figure out pixel format of the z-buffer: (m_zFormat) + m_zFormat = D3DFMT_UNKNOWN; + /* + if (TestDepth(m_ordinal_adapter,D3DFMT_D32 )) m_zFormat=D3DFMT_D32; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D24S8 )) m_zFormat=D3DFMT_D24S8; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D24X4S4 )) m_zFormat=D3DFMT_D24X4S4; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D24X8 )) m_zFormat=D3DFMT_D24X8; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D16 )) m_zFormat=D3DFMT_D16; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D15S1 )) m_zFormat=D3DFMT_D15S1; + else if (TestDepth(m_ordinal_adapter,D3DFMT_D16_LOCKABLE)) m_zFormat=D3DFMT_D16_LOCKABLE; + */ + + // get device caps: + memset(&m_caps, 0, sizeof(m_caps)); + if (FAILED(m_lpD3D->GetDeviceCaps(m_ordinal_adapter, D3DDEVTYPE_HAL, &m_caps))) + { + // that adapter was found in the system, but it might be disabled + // (i.e. 'extend my Windows desktop onto this monitor') is unchecked) + // so, try other adapters (try all sequentially). + + if (caps_tries < nAdapters) + { + // try again, this time using the default adapter: + m_ordinal_adapter = caps_tries; + caps_tries++; + } + else + { + wchar_t title[64]; + m_lastErr = DXC_ERR_CAPSFAIL; + MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_DXC_ERR_CAPSFAIL), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + } + else + { + caps_ok = 1; + } + } + while (!caps_ok); + + if (changed_fs_disp_mode) + { + wchar_t title[64]; + MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_FS_DISPLAY_MODE_SELECTED_IS_INVALID), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_WARNING, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + } + + switch (m_current_mode.display_mode.Format) + { + case D3DFMT_R8G8B8 : m_bpp = 32; break; + case D3DFMT_A8R8G8B8: m_bpp = 32; break; + case D3DFMT_X8R8G8B8: m_bpp = 32; break; + case D3DFMT_R5G6B5 : m_bpp = 16; break; + case D3DFMT_X1R5G5B5: m_bpp = 16; break; + case D3DFMT_A1R5G5B5: m_bpp = 16; break; + case D3DFMT_A8R3G3B2: m_bpp = 16; break; + case D3DFMT_A4R4G4B4: m_bpp = 16; break; + case D3DFMT_X4R4G4B4: m_bpp = 16; break; + case D3DFMT_R3G3B2 : m_bpp = 8; break; // misleading? implies a palette... + } + } + + // 5. set m_monitor_rect and m_monitor_work_rect. + if (hPluginMonitor) + { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + if (GetMonitorInfo(hPluginMonitor, &mi)) + { + m_monitor_rect = mi.rcMonitor; + m_monitor_rect_orig = mi.rcMonitor; + m_monitor_work_rect = mi.rcWork; + m_monitor_work_rect_orig = mi.rcWork; + } + } + + // 6. embedded window stuff [where the plugin window is integrated w/winamp] + if (m_current_mode.m_skin) + { + // set up the window's position on screen + // note that we'd prefer to set the CLIENT size we want, but we can't, so we'll just do + // this here, and later, adjust the client rect size to what's left... + int size = GetWindowedModeAutoSize(0); // note: requires 'm_monitor_rect' has been set! + myWindowState.r.left = GetPrivateProfileIntW(L"settings",L"avs_wx",64,m_szIniFile); + myWindowState.r.top = GetPrivateProfileIntW(L"settings",L"avs_wy",64,m_szIniFile); + myWindowState.r.right = myWindowState.r.left + GetPrivateProfileIntW(L"settings",L"avs_ww",size+24,m_szIniFile); + myWindowState.r.bottom = myWindowState.r.top + GetPrivateProfileIntW(L"settings",L"avs_wh",size+40,m_szIniFile); + + // only works on winamp 2.90+! + int success = 0; + if (GetWinampVersion(mod1.hwndParent) >= 0x2900) + { + SET_EMBED_GUID((&myWindowState), avs_guid); + myWindowState.flags |= EMBED_FLAGS_NOTRANSPARENCY; + HWND (*e)(embedWindowState *v); + *(void**)&e = (void *)SendMessage(mod1.hwndParent,WM_WA_IPC,(LPARAM)0,IPC_GET_EMBEDIF); + if (e) + { + m_current_mode.parent_window = e(&myWindowState); + if (m_current_mode.parent_window) + { + SetWindowText(m_current_mode.parent_window, m_szWindowCaption); + success = 1; + } + } + } + + if (!success) + m_current_mode.m_skin = 0; + } + + // remember the client rect that was originally desired... + RECT windowed_mode_desired_client_rect; + windowed_mode_desired_client_rect.top = GetPrivateProfileIntW(L"settings",L"nMainWndTop",-1,m_szIniFile); + windowed_mode_desired_client_rect.left = GetPrivateProfileIntW(L"settings",L"nMainWndLeft",-1,m_szIniFile); + windowed_mode_desired_client_rect.right = GetPrivateProfileIntW(L"settings",L"nMainWndRight",-1,m_szIniFile); + windowed_mode_desired_client_rect.bottom = GetPrivateProfileIntW(L"settings",L"nMainWndBottom",-1,m_szIniFile); + + // ...and in case windowed mode init fails severely, + // set it up to try next time for a simple 256x256 window. + WriteSafeWindowPos(); + + // 7. create the window, if not already created + if (!m_hwnd) + { + m_hwnd = CreateWindowEx( + MY_EXT_WINDOW_STYLE, // extended style + MAKEINTATOM(m_classAtom), // class + m_szWindowCaption, // caption + MY_WINDOW_STYLE, // style + 0, // left + 0, // top + 256, // temporary width + 256, // temporary height + m_current_mode.parent_window, // parent window + NULL, // menu + m_hInstance, // instance + (LPVOID)m_uWindowLong + ); // parms + + if (!m_hwnd) + { + wchar_t title[64]; + m_lastErr = DXC_ERR_CREATEWIN; + MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_CREATEWINDOW_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + + SendMessage(m_hwnd_winamp, WM_WA_IPC, (WPARAM)m_hwnd, IPC_SETVISWND); + + if (m_current_mode.m_skin) + { + if (GetWinampVersion(mod1.hwndParent) < 0x5051) + ShowWindow(m_current_mode.parent_window,SW_SHOWNA); // showing the parent wnd will make it size the child, too + else + SendMessage(m_current_mode.parent_window, WM_USER+102, 0, 0); // benski> major hack alert. winamp's embedwnd will call ShowWindow in response. SendMessage moves us over to the main thread (we're currently sitting on the viz thread) + } + } + + // 8. minimize winamp before creating devices & such, so there aren't + // any confusing window-focus issues + MinimizeWinamp(hPluginMonitor); + + // 9. loop to try and create the window. + // if in windowed mode and not enough vidmem, it will try again w/smaller window + // (repeatedly, until window client size would be < 64) + int iteration = 0; + int device_ok = 0; + do + { + // set the window position + if (m_current_mode.screenmode==DESKTOP || + m_current_mode.screenmode==FAKE_FULLSCREEN) + { + int x = m_monitor_rect.right - m_monitor_rect.left; + int y = m_monitor_rect.bottom - m_monitor_rect.top; + + if (x >= y*2) + { + // (pseudo-multimon modes like 2048x768) + int mid = (m_monitor_rect.left + m_monitor_rect.right)/2; + if (m_current_mode.m_dualhead_horz==1) // show on left side + m_monitor_rect.right = mid; + else if (m_current_mode.m_dualhead_horz==2) // show on right side + m_monitor_rect.left = mid; + } + else if (y > x*4/3) + { + // (pseudo-multimon modes like 1024x1536) + int mid = (m_monitor_rect.top + m_monitor_rect.bottom)/2; + if (m_current_mode.m_dualhead_vert==1) // show on top half + m_monitor_rect.bottom = mid; + else if (m_current_mode.m_dualhead_vert==2) // show on bottom half + m_monitor_rect.top = mid; + } + + // recompute width & height (into x,y): + x = m_monitor_rect.right - m_monitor_rect.left; + y = m_monitor_rect.bottom - m_monitor_rect.top; + + m_client_width = x; + m_client_height = y; + m_window_width = x; + m_window_height = y; + + if (m_current_mode.screenmode == DESKTOP) + { + // note: we initially hide the window, and then + // only display it once the desktop is all nice & ready. + // see CPluginShell::DrawAndDisplay(). + + RECT r = m_monitor_rect; + + // if possible, shrink the desktop window so it doesn't cover the taskbar. + HWND hTaskbar = FindWindow("Shell_TrayWnd", ""); + if (hTaskbar) + { + RECT taskbar; + GetWindowRect(hTaskbar, &taskbar); + int tbw = taskbar.right - taskbar.left; + int tbh = taskbar.bottom-taskbar.top; + + if (taskbar.bottom == m_monitor_rect.bottom && + taskbar.left == m_monitor_rect.left && + taskbar.right == m_monitor_rect.right) + { + r.bottom -= tbh; + } + else if (taskbar.top == m_monitor_rect.top && + taskbar.left == m_monitor_rect.left && + taskbar.right == m_monitor_rect.right) + { + r.top += tbh; + } + else if (taskbar.left == m_monitor_rect.left && + taskbar.top == m_monitor_rect.top && + taskbar.bottom == m_monitor_rect.bottom) + { + r.left += tbw; + } + else if (taskbar.right == m_monitor_rect.right && + taskbar.top == m_monitor_rect.top && + taskbar.bottom == m_monitor_rect.bottom) + { + r.right -= tbw; + } + + m_client_width = r.right - r.left; + m_client_height = r.bottom - r.top; + m_REAL_client_width = m_client_width; + m_REAL_client_height = m_client_height; + m_window_width = m_client_width; + m_window_height = m_client_height; + + //...ok, but text is squished - some w/h is not right... + + } + + SetWindowPos(m_hwnd,HWND_BOTTOM,r.left,r.top,r.right-r.left,r.bottom-r.top,SWP_HIDEWINDOW); + } + else // FAKE_FULLSCREEN + { + if (memcmp(&m_all_monitors_rect, &m_monitor_rect, sizeof(RECT))==0) + { + // there's only one display, and it's entirely covered + // by the plugin -> PUT THE PLUGIN ABOVE THE TASKBAR + // -> normally, if the user clicked another window, + // it would pop the taskbar to the top; but we don't + // have to worry about that here, since we're taking + // up the whole screen. + // -> don't worry about making the text, etc. avoid + // the taskbar in this case (see DrawAndDisplay()) + // -> DO worry about hiding the mouse cursor in this case + // (see WM_SETCURSOR handler) + + m_fake_fs_covers_all = 1; + //SetWindowPos(m_hwnd,HWND_TOPMOST,m_monitor_rect.left,m_monitor_rect.top,m_window_width,m_window_height,SWP_SHOWWINDOW); + } + else + { + // there is space to work outside of the plugin window. + // -> here we pretty much have to let the taskbar stay on + // top, because it really likes to be there; i.e., + // if you click any other window, it automatically + // pops up again. + // -> therefore, TRY TO KEEP THE WINDOW ON BOTTOM + // (below the taskbar). (see PushWindowToBack) + // -> don't worry about hiding the mouse cursor in this case + // (see WM_SETCURSOR handler) + // -> DO worry about making the text, etc. avoid + // the taskbar in this case (see DrawAndDisplay()) + + // (note that if taskbar is in the way, they can move it, + // since there are other monitors available) + + m_fake_fs_covers_all = 0; + //SetWindowPos(m_hwnd,HWND_TOP,m_monitor_rect.left,m_monitor_rect.top,m_window_width,m_window_height,SWP_SHOWWINDOW); + } + + SetWindowPos(m_hwnd,HWND_TOPMOST,m_monitor_rect.left,m_monitor_rect.top,m_window_width,m_window_height,SWP_SHOWWINDOW); + } + } + else if (m_current_mode.screenmode == FULLSCREEN) + { + int x = m_current_mode.display_mode.Width ; + int y = m_current_mode.display_mode.Height; + int cx = m_monitor_rect.right - m_monitor_rect.left; + int cy = m_monitor_rect.bottom - m_monitor_rect.top; + + // test #1 + if (x >= y*2 || y > x*4/3) // tackle problem of vert/horz spans + { + wchar_t title[64]; + int ret = MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS), + WASABI_API_LNGSTRINGW_BUF(IDS_TIP, title, 64), + MB_OKCANCEL|MB_SETFOREGROUND|MB_TOPMOST); + if (ret==IDCANCEL) + { + m_lastErr = DXC_ERR_USER_CANCELED; + return FALSE; + } + } + + // test #2 + if ((cx >= cy*2 && x < y*2) || (cy > cx*4/3 && y <= x*4/3)) + { + wchar_t title[64]; + int ret = MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS_2), + WASABI_API_LNGSTRINGW_BUF(IDS_TIP, title, 64), + MB_OKCANCEL|MB_SETFOREGROUND|MB_TOPMOST); + if (ret==IDCANCEL) + { + m_lastErr = DXC_ERR_USER_CANCELED; + return FALSE; + } + } + + m_client_width = x; + m_client_height = y; + m_window_width = x; + m_window_height = y; + SetWindowPos(m_hwnd,HWND_TOPMOST,m_monitor_rect.left,m_monitor_rect.top,m_window_width,m_window_height,SWP_SHOWWINDOW); + } + else // WINDOWED + { + RECT margin; + if (m_current_mode.m_skin) + { + RECT r1, r2; + GetWindowRect(m_current_mode.parent_window, &r1); + GetWindowRect(m_hwnd , &r2); + margin.left = r2.left - r1.left; + margin.right = r1.right - r2.right; + margin.top = r2.top - r1.top; + margin.bottom= r1.bottom - r2.bottom; + } + else + { + RECT r1; + SetRect(&r1, 0, 0, 256, 256); + AdjustWindowRect(&r1, MY_WINDOW_STYLE, 0); + margin.left = 0 - r1.left; + margin.right = r1.right - 256; + margin.top = 0 - r1.top; + margin.bottom= r1.bottom - 256; + } + + int autosize = 1; + + RECT r = windowed_mode_desired_client_rect; + if (iteration==0 && r.top != -1 && r.left != -1 && r.bottom != -1 && r.right != -1) + { + // use prev. window coordinates: + m_REAL_client_width = r.right - r.left; + m_REAL_client_height = r.bottom - r.top; + GetSnappedClientSize(); + if (m_current_mode.m_skin) // check this here in case they got a non-aligned size by resizing when "integrated with winamp" was unchecked, then checked it & ran the plugin... + { + // STRANGE ALIGNMENTS FOR THE WINDOW FRAME: (required by winamp 2): + // the window frame's width must be divisible by 25, and height by 29. + if (GetWinampVersion(mod1.hwndParent) < 0x4000) // ... winamp 5 doesn't have this prob. (test vs. 0x4000 because winamp5 betas have version tags like 0x4987) + { + m_REAL_client_width = ((m_client_width + margin.left + margin.right)/25)*25 - margin.left - margin.right; + m_REAL_client_height = ((m_client_height + margin.top + margin.bottom)/29)*29 - margin.top - margin.bottom; + GetSnappedClientSize(); + } + } + + // transform screen-space CLIENT rect into screen-space WINDOW rect + r.top = windowed_mode_desired_client_rect.top - margin.top; + r.left = windowed_mode_desired_client_rect.left - margin.left; + r.right = r.left + margin.left + m_REAL_client_width + margin.right; + r.bottom = r.top + margin.top + m_REAL_client_height + margin.bottom; + + // make sure the window is entirely visible on the selected monitor; + // otherwise, autosize/place it. + // (note that this test is only appled 1) at startup, and 2) after a resize/max/restore. + // this test is not applied when merely moving the window.) + if (r.top >= m_monitor_work_rect.top && + r.left >= m_monitor_work_rect.left && + r.right <= m_monitor_work_rect.right && + r.bottom <= m_monitor_work_rect.bottom) + { + if (m_current_mode.m_skin) + { + m_window_width = m_REAL_client_width ; // m_window_width/height are for OUR borderless window, not the embedwnd parent frame. + m_window_height = m_REAL_client_height; + SetWindowPos(m_current_mode.parent_window,HWND_NOTOPMOST, r.left, r.top, r.right-r.left, r.bottom-r.top, /*SWP_SHOWWINDOW|*//*SWP_ASYNCWINDOWPOS*/0); + SetWindowPos(m_hwnd ,HWND_NOTOPMOST, windowed_mode_desired_client_rect.left, + windowed_mode_desired_client_rect.top, + m_REAL_client_width, + m_REAL_client_height, + SWP_SHOWWINDOW); + } + else + { + m_window_width = r.right - r.left; + m_window_height = r.bottom - r.top; + SetWindowPos(m_hwnd,HWND_NOTOPMOST,r.left,r.top,m_window_width,m_window_height,SWP_SHOWWINDOW); + } + + autosize = 0; + } + } + + if (autosize) + { + int size = GetWindowedModeAutoSize(iteration); // note: requires 'm_monitor_rect' has been set! + + m_REAL_client_width = size; + m_REAL_client_height = size; + GetSnappedClientSize(); + + if (m_current_mode.m_skin) + { + // STRANGE ALIGNMENTS FOR THE WINDOW FRAME: (required by winamp 2): + // the window frame's width must be divisible by 25, and height by 29. + if (GetWinampVersion(mod1.hwndParent) < 0x4000) // ... winamp 5 doesn't have this prob. (test vs. 0x4000 because winamp5 betas have version tags like 0x4987) + { + m_REAL_client_width = ((m_client_width + margin.left + margin.right)/25)*25 - margin.left - margin.right; + m_REAL_client_height = ((m_client_height + margin.top + margin.bottom)/29)*29 - margin.top - margin.bottom; + GetSnappedClientSize(); + } + + m_window_width = m_client_width ; // m_window_width/height are for OUR [borderless] window, not the parent window (which is the embedwnd frame). + m_window_height = m_client_height; + SetWindowPos(m_current_mode.parent_window,HWND_NOTOPMOST, m_monitor_work_rect.left+32, m_monitor_work_rect.top+32, m_client_width + margin.left + margin.right, m_client_height + margin.top + margin.bottom, /*SWP_SHOWWINDOW|*//*SWP_ASYNCWINDOWPOS*/0); + SetWindowPos(m_hwnd ,HWND_NOTOPMOST, m_monitor_work_rect.left+32 + margin.left, m_monitor_work_rect.top+32 + margin.top, m_client_width, m_client_height, SWP_SHOWWINDOW); + } + else + { + SetRect(&r, 0, 0, size, size); + AdjustWindowRect(&r, MY_WINDOW_STYLE, 0); + + m_window_width = r.right - r.left; + m_window_height = r.bottom - r.top; + + SetWindowPos(m_hwnd,HWND_NOTOPMOST, m_monitor_work_rect.left+32, m_monitor_work_rect.top+32, m_window_width, m_window_height, SWP_SHOWWINDOW); + } + } + } + + m_frame_delay = 1; // set this to 2 if you use triple buffering! + + { + m_current_mode.display_mode.Width = m_client_width; + m_current_mode.display_mode.Height = m_client_height; + + // set up m_d3dpp (presentation parameters): + ZeroMemory(&m_d3dpp,sizeof(m_d3dpp)); + m_d3dpp.Windowed = (m_current_mode.screenmode==FULLSCREEN) ? 0 : 1; + m_d3dpp.BackBufferFormat = m_current_mode.display_mode.Format; + m_d3dpp.BackBufferWidth = m_client_width; + m_d3dpp.BackBufferHeight = m_client_height; + m_d3dpp.BackBufferCount = m_current_mode.nbackbuf; + if (m_current_mode.screenmode==FULLSCREEN) + m_d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;//D3DSWAPEFFECT_FLIP; + else // windowed or fake FS + m_d3dpp.SwapEffect = (m_current_mode.allow_page_tearing) ? D3DSWAPEFFECT_DISCARD : D3DSWAPEFFECT_COPY;//D3DSWAPEFFECT_DISCARD;//D3DSWAPEFFECT_FLIP; + // note: multisampling is only allowed if swapeffect is DISCARD! + m_d3dpp.MultiSampleType = (m_d3dpp.SwapEffect==D3DSWAPEFFECT_DISCARD) ? m_current_mode.multisamp : D3DMULTISAMPLE_NONE; + //m_d3dpp.hDeviceWindow = m_hwnd; + if (m_current_mode.screenmode==FULLSCREEN) + { + m_d3dpp.FullScreen_RefreshRateInHz = m_current_mode.display_mode.RefreshRate;//D3DPRESENT_RATE_DEFAULT; + m_d3dpp.PresentationInterval = m_current_mode.allow_page_tearing ? D3DPRESENT_INTERVAL_IMMEDIATE : D3DPRESENT_INTERVAL_ONE;//D3DPRESENT_INTERVAL_IMMEDIATE;//D3DPRESENT_INTERVAL_ONE; + } + if (m_zFormat != D3DFMT_UNKNOWN) + { + m_d3dpp.EnableAutoDepthStencil=TRUE; + m_d3dpp.AutoDepthStencilFormat=m_zFormat; + } + + // finally, create the device: + HRESULT hRes; + if (FAILED(hRes = m_lpD3D->CreateDevice( + m_ordinal_adapter, + D3DDEVTYPE_HAL, + m_hwnd, + (m_caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) ? D3DCREATE_MIXED_VERTEXPROCESSING : D3DCREATE_SOFTWARE_VERTEXPROCESSING, + &m_d3dpp, + &m_lpDevice))) + { + int code = LOWORD(hRes); + + wchar_t str[1024]; + if (code==2156) //D3DERR_NOTAVAILABLE + { + m_lastErr = DXC_ERR_CREATEDEV_NOT_AVAIL; + + wchar_t str[2048]; + WASABI_API_LNGSTRINGW_BUF(IDS_UNABLE_TO_CREATE_DIRECTX_DEVICE, str, 2048); + + if (m_current_mode.screenmode == FULLSCREEN) + StringCbCatW(str, sizeof(str), WASABI_API_LNGSTRINGW(IDS_OLDER_DISPLAY_ADAPTER_CATENATION)); + else + StringCbCatW(str, sizeof(str), WASABI_API_LNGSTRINGW(IDS_OLDER_DISPLAY_ADAPTER_CATENATION_2)); + + MessageBoxW(m_hwnd,str, + WASABI_API_LNGSTRINGW(IDS_MILKDROP_ERROR), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + else if (m_current_mode.screenmode==WINDOWED && m_client_width>64) + { + // DO NOTHING; try again w/smaller window + } + else if (m_current_mode.screenmode != WINDOWED || m_client_width <= 64) + { + // usually, code==2154 here, which is D3DERR_OUTOFVIDEOMEMORY + m_lastErr = DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY; + StringCbPrintfW(str, sizeof(str), WASABI_API_LNGSTRINGW(IDS_DIRECTX_INIT_FAILED_X), LOWORD(hRes)); + + // NOTE: *A 'SUGGESTION' SCREEN SHOULD APPEAR NEXT, PROVIDED BY THE CALLER* + MessageBoxW(m_hwnd, str, + WASABI_API_LNGSTRINGW(IDS_MILKDROP_ERROR), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + } + else + { + device_ok = 1; + } + } + + iteration++; + } + while (!device_ok); + + // set initial viewport + SetViewport(); + + // for desktop mode, push window to back again: + if (m_current_mode.screenmode==DESKTOP) + SetWindowPos(m_hwnd,HWND_BOTTOM,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); + + if (m_current_mode.m_skin) + { + if (GetWinampVersion(mod1.hwndParent) < 0x5051) + SetFocus(m_current_mode.parent_window); + else + PostMessage(m_current_mode.parent_window, WM_USER+103, 0, 0); + + //SetActiveWindow(m_current_mode.parent_window); + //SetForegroundWindow(m_current_mode.parent_window); + } + + /*if (m_current_mode.screenmode == WINDOWED) + SaveWindow();*/ + + // return success + m_ready = TRUE; + // benski> a little hack to get the window size correct. it seems to work + if (m_current_mode.screenmode==WINDOWED) + PostMessage(m_hwnd, WM_USER+555, 0, 0); + return TRUE; +} + +BOOL DXContext::StartOrRestartDevice(DXCONTEXT_PARAMS *pParams) +{ + // call this to [re]initialize the DirectX environment with new parameters. + // examples: startup; toggle windowed/fullscreen mode; change fullscreen resolution; + // and so on. + // be sure to clean up all your DirectX stuff first (textures, vertex buffers, + // D3DX allocations, etc.) and reallocate it afterwards! + + // note: for windowed mode, 'pParams->disp_mode' (w/h/r/f) is ignored. + + // destroy old window + if (myWindowState.me) + { + m_ignore_wm_destroy = 1; + if (m_current_mode.screenmode == WINDOWED) + SaveWindow(); + DestroyWindow(myWindowState.me); + myWindowState.me = NULL; + m_ignore_wm_destroy = 0; + m_hwnd=0; + } + else if (m_hwnd) + { + SendMessage(m_hwnd_winamp, WM_WA_IPC, NULL, IPC_SETVISWND); + m_ignore_wm_destroy = 1; + DestroyWindow(m_hwnd); + m_ignore_wm_destroy = 0; + m_hwnd = NULL; + } + + if (!m_ready) + { + // first-time init: create a fresh new device + return Internal_Init(pParams, TRUE); + } + else + { + // re-init: preserve the DX9 object (m_lpD3D), + // but destroy and re-create the DX9 device (m_lpDevice). + m_ready = FALSE; + + SafeRelease(m_lpDevice); + // but leave the D3D object! + + RestoreWinamp(); + return Internal_Init(pParams, FALSE); + } +} + +BOOL DXContext::OnUserResizeWindow(RECT *new_window_rect, RECT *new_client_rect) +{ + // call this function on WM_EXITSIZEMOVE when running windowed. + // don't bother calling this when fullscreen. + // be sure to clean up all your DirectX stuff first (textures, vertex buffers, + // D3DX allocations, etc.) and reallocate it afterwards! + + if (!m_ready || (m_current_mode.screenmode != WINDOWED)) + return FALSE; + + if ((m_client_width == new_client_rect->right - new_client_rect->left) && + (m_client_height == new_client_rect->bottom - new_client_rect->top) && + (m_window_width == new_window_rect->right - new_window_rect->left) && + (m_window_height == new_window_rect->bottom - new_window_rect->top)) + { + return TRUE; + } + + m_ready = FALSE; + + m_window_width = new_window_rect->right - new_window_rect->left; + m_window_height = new_window_rect->bottom - new_window_rect->top; + m_REAL_client_width = new_client_rect->right - new_client_rect->left; + m_REAL_client_height = new_client_rect->bottom - new_client_rect->top; + GetSnappedClientSize(); //sets m_client_width/height, but with snapping, if in windowed mode. + + m_d3dpp.BackBufferWidth = m_client_width; + m_d3dpp.BackBufferHeight = m_client_height; + if (m_lpDevice->Reset(&m_d3dpp) != D3D_OK) + { + WriteSafeWindowPos(); + + wchar_t title[64]; + MessageBoxW(m_hwnd, WASABI_API_LNGSTRINGW(IDS_WINDOW_RESIZE_FAILED), + WASABI_API_LNGSTRINGW_BUF(IDS_OUT_OF_VIDEO_MEMORY, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + + m_lastErr = DXC_ERR_RESIZEFAILED; + return FALSE; + } + + SetViewport(); + m_ready = TRUE; + return TRUE; +} + +void DXContext::SetViewport() +{ + D3DVIEWPORT9 v; + v.X = 0; + v.Y = 0; + v.Width = m_client_width; + v.Height = m_client_height; + v.MinZ = 0.0f; + v.MaxZ = 1.0f; + m_lpDevice->SetViewport(&v); +} + +void DXContext::MinimizeWinamp(HMONITOR hPluginMonitor) +{ + // minimize Winamp window + + HMONITOR hWinampMon = MonitorFromWindow(m_hwnd_winamp, MONITOR_DEFAULTTONEAREST); + HMONITOR hPluginMon = hPluginMonitor;//MonitorFromWindow(m_hwnd, MONITOR_DEFAULTTONEAREST);//m_lpD3D->GetAdapterMonitor(ordinal_adapter); + + if ((m_current_mode.screenmode == FULLSCREEN || m_current_mode.screenmode == FAKE_FULLSCREEN) && + (m_minimize_winamp) && + (hWinampMon && hPluginMon && hPluginMon==hWinampMon) && + (!m_winamp_minimized) + ) + { + // nitpicky check: if we're in fake fullscreen mode + // and are only going to display on half the screen, + // don't minimize Winamp. + if (m_current_mode.screenmode == FAKE_FULLSCREEN) + { + int x = m_monitor_rect.right - m_monitor_rect.left; + int y = m_monitor_rect.bottom - m_monitor_rect.top; + if ((x >= y*2 && m_current_mode.m_dualhead_horz != 0) || + (y > x*4/3 && m_current_mode.m_dualhead_vert != 0)) + { + return; + } + } + + ShowWindow(m_hwnd_winamp, SW_MINIMIZE); + // also restore the focus to the plugin window, since this will steal it: + SetFocus(m_hwnd); + SetActiveWindow(m_hwnd); + SetForegroundWindow(m_hwnd); + m_winamp_minimized = 1; + } +} + +void DXContext::RestoreWinamp() +{ + if (m_winamp_minimized) + { + ShowWindow(m_hwnd_winamp, SW_RESTORE); + m_winamp_minimized = 0; + } +} + +void DXContext::UpdateMonitorWorkRect() +{ + // get active monitor's bounding rectangle (to assist w/window positioning) + // note: in vert/horz span setups (psuedo-multimon), + // this will be 2048x768 or 1024x1536 or something like that. + + // calling this each frame allows you to detect when the taskbar + // moves around on the screen (from edge to edge), and rearrange + // the visual elements accordingly, so nothing is obscured. + + HMONITOR hMon = MonitorFromWindow(m_hwnd, MONITOR_DEFAULTTONEAREST);//m_lpD3D->GetAdapterMonitor(m_ordinal_adapter); + if (hMon) + { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + if (GetMonitorInfo(hMon, &mi)) + { + m_monitor_work_rect = mi.rcWork; + m_monitor_work_rect_orig = mi.rcWork; + + // if the monitor rect we're using is the same as the + // whole area of the monitor, there's no need to update it... + //if (memcmp(&mi.rcMonitor, &m_monitor_rect, sizeof(RECT))==0) + // return; + + // otherwise, we're doing a half-screen special case + // and are running in some pseudo-multimon res like + // 2048x768 or 1024x1536, but only using half of it + // (i.e. fake fullscreen or desktop mode) + + // therefore... we need to update the work-area rectangle + // to reflect which half of the screen it's on. + + if (m_monitor_rect.left == mi.rcMonitor.left) + m_monitor_work_rect.left = mi.rcWork.left; + else + m_monitor_work_rect.left = m_monitor_rect.left + (mi.rcWork.left - mi.rcMonitor.left); + + if (m_monitor_rect.top == mi.rcMonitor.top) + m_monitor_work_rect.top = mi.rcWork.top; + else + m_monitor_work_rect.top = m_monitor_rect.top + (mi.rcWork.top - mi.rcMonitor.top); + + if (m_monitor_rect.right == mi.rcMonitor.right) + m_monitor_work_rect.right = mi.rcWork.right; + else + m_monitor_work_rect.right = m_monitor_rect.right; + + if (m_monitor_rect.bottom == mi.rcMonitor.bottom) + m_monitor_work_rect.bottom = mi.rcWork.bottom; + else + m_monitor_work_rect.bottom = m_monitor_rect.bottom; + } + } +} + +void DXContext::SaveWindow() +{ + if (m_current_mode.screenmode == WINDOWED) + { + RECT c; + GetClientRect(m_hwnd, &c); + + // convert client rect from client coords to screen coords: + // (window rect is already in screen coords...) + POINT p; + p.x = c.left; + p.y = c.top; + if (ClientToScreen(m_hwnd, &p)) + { + c.left += p.x; + c.right += p.x; + c.top += p.y; + c.bottom += p.y; + } + + // save bounds for window CLIENT area, but in screen coords + WritePrivateProfileIntW(c.top, L"nMainWndTop", m_szIniFile, L"settings"); + WritePrivateProfileIntW(c.left, L"nMainWndLeft", m_szIniFile, L"settings"); + WritePrivateProfileIntW(c.right, L"nMainWndRight", m_szIniFile, L"settings"); + WritePrivateProfileIntW(c.bottom,L"nMainWndBottom", m_szIniFile, L"settings"); + + // also save bounds for embedwnd + if (m_current_mode.m_skin && myWindowState.me) + { + WritePrivateProfileIntW(myWindowState.r.left,L"avs_wx",m_szIniFile,L"settings"); + WritePrivateProfileIntW(myWindowState.r.top ,L"avs_wy",m_szIniFile,L"settings"); + WritePrivateProfileIntW(myWindowState.r.right-myWindowState.r.left,L"avs_ww",m_szIniFile,L"settings"); + WritePrivateProfileIntW(myWindowState.r.bottom-myWindowState.r.top,L"avs_wh",m_szIniFile,L"settings"); + } + else if (!m_current_mode.m_skin && m_hwnd) + { + RECT r; + GetWindowRect(m_hwnd, &r); + WritePrivateProfileIntW(r.left,L"avs_wx",m_szIniFile,L"settings"); + WritePrivateProfileIntW(r.top ,L"avs_wy",m_szIniFile,L"settings"); + WritePrivateProfileIntW(r.right-r.left,L"avs_ww",m_szIniFile,L"settings"); + WritePrivateProfileIntW(r.bottom-r.top,L"avs_wh",m_szIniFile,L"settings"); + } + } +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/dxcontext.h b/src/MilkDrop2/vis_milk2/dxcontext.h new file mode 100644 index 0000000000..15076f9c15 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/dxcontext.h @@ -0,0 +1,151 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_PLUGIN_SHELL_DXCONTEXT_H__ +#define __NULLSOFT_DX9_PLUGIN_SHELL_DXCONTEXT_H__ 1 + +#include +#include "shell_defines.h" + +#ifdef _DEBUG + #define D3D_DEBUG_INFO // declare this before including d3d9.h +#endif +#include +#include + +#define SNAP_WINDOWED_MODE_BLOCKSIZE 32 // or use 0 if you don't want snapping + +typedef struct +{ + eScrMode screenmode; // WINDOWED, FULLSCREEN, or FAKE FULLSCREEN + int nbackbuf; + int allow_page_tearing; + GUID adapter_guid; + char adapter_devicename[256]; + D3DDISPLAYMODE display_mode; // ONLY VALID FOR FULLSCREEN MODE. + D3DMULTISAMPLE_TYPE multisamp; + HWND parent_window; + int m_dualhead_horz; // 0 = span both, 1 = left only, 2 = right only + int m_dualhead_vert; // 0 = span both, 1 = top only, 2 = bottom only + int m_skin; +} +DXCONTEXT_PARAMS; + +#define MAX_DXC_ADAPTERS 32 + +class DXContext +{ + public: + // PUBLIC FUNCTIONS + DXContext(HWND hWndWinamp,HINSTANCE hInstance,LPCWSTR szClassName,LPCSTR szWindowCaption,WNDPROC pProc,LONG_PTR uWindowLong, int minimize_winamp, wchar_t* szIniFile); + ~DXContext(); + BOOL StartOrRestartDevice(DXCONTEXT_PARAMS *pParams); // also serves as Init() function + BOOL OnUserResizeWindow(RECT *new_window_rect, RECT *new_client_rect); + inline HWND GetHwnd() { return m_hwnd; }; + inline int TempIgnoreDestroyMessages() { return m_ignore_wm_destroy; }; + void OnTrulyExiting() { m_truly_exiting = 1; } + void UpdateMonitorWorkRect(); + int GetBitDepth() { return m_bpp; }; + inline D3DFORMAT GetZFormat() { return m_zFormat; }; + char* GetDriver() { return m_szDriver; }; + char* GetDesc() { return m_szDesc; }; + void SaveWindow(); + + // PUBLIC DATA - DO NOT WRITE TO THESE FROM OUTSIDE THE CLASS + int m_ready; + HRESULT m_lastErr; + int m_window_width; + int m_window_height; + int m_client_width; //in windowed mode, these are the SNAPPED (locked to nearest 32x32) + int m_client_height; // width and height + int m_REAL_client_width; //these are the ACTUAL (raw) width and height - + int m_REAL_client_height; // only valid in windowed mode! + int m_fake_fs_covers_all; + int m_frame_delay; + RECT m_all_monitors_rect; // rect that encompasses all monitors that make up the desktop. The primary monitor's upper-left corner is (0,0). + RECT m_monitor_rect; // rect for monitor the plugin is running on; for pseudo-multimon modes like 2048x768, if user decides to only run on half the monitor, this rect reflects that as well. + RECT m_monitor_rect_orig; // same, but it's the original rect; does not account for pseudo-multimon modes like 2048x768 + RECT m_monitor_work_rect; // same, but excludes the taskbar area. + RECT m_monitor_work_rect_orig; // original work rect; does not account for pseudo-multimon modes like 2048x768 + DXCONTEXT_PARAMS m_current_mode; + LPDIRECT3DDEVICE9 m_lpDevice; + D3DPRESENT_PARAMETERS m_d3dpp; + LPDIRECT3D9 m_lpD3D; + D3DCAPS9 m_caps; + + protected: + D3DMULTISAMPLE_TYPE m_multisamp; + D3DFORMAT m_zFormat; + D3DFORMAT m_orig_windowed_mode_format[MAX_DXC_ADAPTERS]; + HMODULE m_hmod_d3d9, m_hmod_d3dx9; + int m_ordinal_adapter; + HWND m_hwnd; + HWND m_hwnd_winamp; + LONG_PTR m_uWindowLong; + ATOM m_classAtom; + char m_szWindowCaption[512]; + wchar_t m_szIniFile[MAX_PATH]; + char m_szDriver[MAX_DEVICE_IDENTIFIER_STRING]; + char m_szDesc[MAX_DEVICE_IDENTIFIER_STRING]; + HINSTANCE m_hInstance; + int m_ignore_wm_destroy; + int m_minimize_winamp; + int m_winamp_minimized; + int m_truly_exiting; + int m_bpp; + + embedWindowState myWindowState; + + void WriteSafeWindowPos(); + int GetWindowedModeAutoSize(int iteration); + BOOL TestDepth(int ordinal_adapter, D3DFORMAT fmt); + BOOL TestFormat(int ordinal_adapter, D3DFORMAT fmt); + int CheckAndCorrectFullscreenDispMode(int ordinal_adapter, D3DDISPLAYMODE *pdm); + void SetViewport(); + void MinimizeWinamp(HMONITOR hPluginMonitor); + BOOL Internal_Init(DXCONTEXT_PARAMS *pParams, BOOL bFirstInit); + void Internal_CleanUp(); + void RestoreWinamp(); + void GetSnappedClientSize(); //windowed mode only +}; + +#define DXC_ERR_REGWIN -2 +#define DXC_ERR_CREATEWIN -3 +#define DXC_ERR_CREATE3D -4 +#define DXC_ERR_GETFORMAT -5 +#define DXC_ERR_FORMAT -6 +#define DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY -7 +#define DXC_ERR_RESIZEFAILED -8 +#define DXC_ERR_CAPSFAIL -9 +#define DXC_ERR_BAD_FS_DISPLAYMODE -10 +#define DXC_ERR_USER_CANCELED -11 +#define DXC_ERR_CREATEDEV_NOT_AVAIL -12 +#define DXC_ERR_CREATEDDRAW -13 + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/fft.cpp b/src/MilkDrop2/vis_milk2/fft.cpp new file mode 100644 index 0000000000..7c0a512966 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/fft.cpp @@ -0,0 +1,320 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include +#include +#include "fft.h" + +#define PI 3.141592653589793238462643383279502884197169399f + +#define SafeDeleteArray(x) { if (x) { delete [] x; x = 0; } } + +/*****************************************************************************/ + +FFT::FFT() +{ + NFREQ = 0; + + envelope = 0; + equalize = 0; + bitrevtable = 0; + cossintable = 0; + temp1 = 0; + temp2 = 0; +} + +/*****************************************************************************/ + +FFT::~FFT() +{ + CleanUp(); +} + +/*****************************************************************************/ + +void FFT::Init(int samples_in, int samples_out, int bEqualize, float envelope_power) +{ + // samples_in: # of waveform samples you'll feed into the FFT + // samples_out: # of frequency samples you want out; MUST BE A POWER OF 2. + // bEqualize: set to 1 if you want the magnitude of the basses and trebles + // to be roughly equalized; 0 to leave them untouched. + // envelope_power: set to -1 to disable the envelope; otherwise, specify + // the envelope power you want here. See InitEnvelopeTable for more info. + + CleanUp(); + + m_samples_in = samples_in; + NFREQ = samples_out*2; + + InitBitRevTable(); + InitCosSinTable(); + if (envelope_power > 0) + InitEnvelopeTable(envelope_power); + if (bEqualize) + InitEqualizeTable(); + temp1 = new float[NFREQ]; + temp2 = new float[NFREQ]; +} + +/*****************************************************************************/ + +void FFT::CleanUp() +{ + SafeDeleteArray(envelope); + SafeDeleteArray(equalize); + SafeDeleteArray(bitrevtable); + SafeDeleteArray(cossintable); + SafeDeleteArray(temp1); + SafeDeleteArray(temp2); +} + +/*****************************************************************************/ + +void FFT::InitEqualizeTable() +{ + int i; + float scaling = -0.02f; + float inv_half_nfreq = 1.0f/(float)(NFREQ/2); + + equalize = new float[NFREQ/2]; + + for (i=0; i i) + { + temp = bitrevtable[i]; + bitrevtable[i] = bitrevtable[j]; + bitrevtable[j] = temp; + } + + m = NFREQ >> 1; + + while (m >= 1 && j >= m) + { + j -= m; + m >>= 1; + } + + j += m; + } +} + +/*****************************************************************************/ + +void FFT::InitCosSinTable() +{ + + int i,dftsize,tabsize; + float theta; + + dftsize = 2; + tabsize = 0; + while (dftsize <= NFREQ) + { + tabsize++; + dftsize <<= 1; + } + + cossintable = new float[tabsize][2]; + + dftsize = 2; + i = 0; + while (dftsize <= NFREQ) + { + theta = (float)(-2.0f*PI/(float)dftsize); + cossintable[i][0] = (float)cosf(theta); + cossintable[i][1] = (float)sinf(theta); + i++; + dftsize <<= 1; + } +} + +/*****************************************************************************/ + +void FFT::time_to_frequency_domain(float *in_wavedata, float *out_spectraldata) +{ + // Converts time-domain samples from in_wavedata[] + // into frequency-domain samples in out_spectraldata[]. + // The array lengths are the two parameters to Init(). + + // The last sample of the output data will represent the frequency + // that is 1/4th of the input sampling rate. For example, + // if the input wave data is sampled at 44,100 Hz, then the last + // sample of the spectral data output will represent the frequency + // 11,025 Hz. The first sample will be 0 Hz; the frequencies of + // the rest of the samples vary linearly in between. + // Note that since human hearing is limited to the range 200 - 20,000 + // Hz. 200 is a low bass hum; 20,000 is an ear-piercing high shriek. + // Each time the frequency doubles, that sounds like going up an octave. + // That means that the difference between 200 and 300 Hz is FAR more + // than the difference between 5000 and 5100, for example! + // So, when trying to analyze bass, you'll want to look at (probably) + // the 200-800 Hz range; whereas for treble, you'll want the 1,400 - + // 11,025 Hz range. + // If you want to get 3 bands, try it this way: + // a) 11,025 / 200 = 55.125 + // b) to get the number of octaves between 200 and 11,025 Hz, solve for n: + // 2^n = 55.125 + // n = log 55.125 / log 2 + // n = 5.785 + // c) so each band should represent 5.785/3 = 1.928 octaves; the ranges are: + // 1) 200 - 200*2^1.928 or 200 - 761 Hz + // 2) 200*2^1.928 - 200*2^(1.928*2) or 761 - 2897 Hz + // 3) 200*2^(1.928*2) - 200*2^(1.928*3) or 2897 - 11025 Hz + + // A simple sine-wave-based envelope is convolved with the waveform + // data before doing the FFT, to emeliorate the bad frequency response + // of a square (i.e. nonexistent) filter. + + // You might want to slightly damp (blur) the input if your signal isn't + // of a very high quality, to reduce high-frequency noise that would + // otherwise show up in the output. + + int j, m, i, dftsize, hdftsize, t; + float wr, wi, wpi, wpr, wtemp, tempr, tempi; + + if (!bitrevtable) return; + //if (!envelope) return; + //if (!equalize) return; + if (!temp1) return; + if (!temp2) return; + if (!cossintable) return; + + // 1. set up input to the fft + if (envelope) + { + for (i=0; i> 1; + + for (m = 0; m < hdftsize; m+=1) + { + for (i = m; i < NFREQ; i+=dftsize) + { + j = i + hdftsize; + tempr = wr*real[j] - wi*imag[j]; + tempi = wr*imag[j] + wi*real[j]; + real[j] = real[i] - tempr; + imag[j] = imag[i] - tempi; + real[i] += tempr; + imag[i] += tempi; + } + + wr = (wtemp=wr)*wpr - wi*wpi; + wi = wi*wpr + wtemp*wpi; + } + + dftsize <<= 1; + t++; + } + + // 3. take the magnitude & equalize it (on a log10 scale) for output + if (equalize) + for (i=0; i + +class GString +{ +public: + GString() + { + m_data = new wchar_t[1]; + m_data[0] = 0; + m_size = 1; + } + + GString(const wchar_t* src) + { + m_data = NULL; + m_size = 0; + operator=(src); + } + + GString(const GString &src_string) + { + m_data = NULL; + m_size = 0; + operator=(src_string); + } + + ~GString() + { + delete m_data; // note: delete is safe on NULL ptrs + m_data = NULL; + m_size = 0; + } + + inline GString& operator=(const wchar_t* src) + { + if (src != m_data) // don't do anything on "x = x.c_str();" + { + delete m_data; // note: delete is safe on NULL ptrs + if (src) + { + m_size = wcslen(src)+1; + m_data = new wchar_t[m_size]; + memcpy(m_data, src, m_size*2); + } + else + { + m_size = 1; + m_data = new wchar_t[1]; + m_data[0] = 0; + } + } + return *this; + } + + inline GString& operator=(const GString &src_string) + { + if (&src_string != this) // don't do anything on "x = x;" + { + if (src_string.GetSize() != m_size) //optimization + { + delete m_data; + m_size = src_string.GetSize(); + m_data = new wchar_t[m_size]; + } + memcpy(m_data, src_string.c_str(), m_size*2); + } + return *this; + } + + inline wchar_t operator[](int index) const + { + return m_data[index]; + } + + inline bool operator==(const wchar_t* comp) + { + return (wcscmp(m_data,comp) == 0); + } + + inline bool operator==(const GString &comp) + { + if (m_size != comp.m_size) // shortcut + return false; + return (wcscmp(m_data,comp.c_str()) == 0); //return operator==(comp.m_data); + } + + inline const wchar_t* c_str() const + { + return m_data; + } + + // This is actually unsafe, but we need it for convenience, unless we really + // feel like copying all data twice. BE WARNED! When this class reallocates + // memory, all old references to _data are invalid! + //operator const char*() const { return _data; } + inline int GetSize() const //in bytes - including terminating NULL char. + { + return m_size; + } + + inline int GetLength() const + { + return (m_size >= 1) ? m_size-1 : 0; + } + +private: + wchar_t* m_data; + int m_size; +}; + +class GStringA +{ +public: + GStringA() + { + m_data = new char[1]; + m_data[0] = 0; + m_size = 1; + } + + GStringA(const char* src) + { + m_data = NULL; + m_size = 0; + operator=(src); + } + + GStringA(const GStringA &src_string) + { + m_data = NULL; + m_size = 0; + operator=(src_string); + } + + ~GStringA() + { + delete m_data; // note: delete is safe on NULL ptrs + m_data = NULL; + m_size = 0; + } + + inline GStringA& operator=(const char* src) + { + if (src != m_data) // don't do anything on "x = x.c_str();" + { + delete m_data; // note: delete is safe on NULL ptrs + if (src) + { + m_size = strlen(src)+1; + m_data = new char[m_size]; + memcpy(m_data, src, m_size); + } + else + { + m_size = 1; + m_data = new char[1]; + m_data[0] = 0; + } + } + return *this; + } + + inline GStringA& operator=(const GStringA &src_string) + { + if (&src_string != this) // don't do anything on "x = x;" + { + if (src_string.GetSize() != m_size) //optimization + { + delete m_data; + m_size = src_string.GetSize(); + m_data = new char[m_size]; + } + memcpy(m_data, src_string.c_str(), m_size); + } + return *this; + } + + inline char operator[](int index) const + { + return m_data[index]; + } + + inline bool operator==(const char* comp) + { + return (strcmp(m_data,comp) == 0); + } + + inline bool operator==(const GStringA &comp) + { + if (m_size != comp.m_size) // shortcut + return false; + return (strcmp(m_data,comp.c_str()) == 0); //return operator==(comp.m_data); + } + + inline const char* c_str() const + { + return m_data; + } + + // This is actually unsafe, but we need it for convenience, unless we really + // feel like copying all data twice. BE WARNED! When this class reallocates + // memory, all old references to _data are invalid! + //operator const char*() const { return _data; } + inline int GetSize() const //in bytes - including terminating NULL char. + { + return m_size; + } + + inline int GetLength() const + { + return (m_size >= 1) ? m_size-1 : 0; + } + +private: + char* m_data; + int m_size; +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/icon_t.h b/src/MilkDrop2/vis_milk2/icon_t.h new file mode 100644 index 0000000000..c1f6e90fc5 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/icon_t.h @@ -0,0 +1,49 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 __ICON_T_H__ +#define __ICON_T_H__ 1 + +#include +#include // for ITEMIDLIST + +typedef struct +{ + int x, y, selected, icon_bitmap_idx, checksum[3], bUpdate; + DWORD dwReserved1; + DWORD dwReserved2; + DWORD dwReserved3; + DWORD dwReserved4; + RECT icon_rect; + RECT label_rect; + BYTE pidl[1024]; // when using this, cast it to an ITEMIDLIST + TCHAR name[MAX_PATH]; +} icon_t; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/manifest.xml b/src/MilkDrop2/vis_milk2/manifest.xml new file mode 100644 index 0000000000..5f91bfcc2d --- /dev/null +++ b/src/MilkDrop2/vis_milk2/manifest.xml @@ -0,0 +1 @@ +Nullsoft Winamp Milkdrop 2 (So You Don't Have To Keep Hacking The Plug-in Dll \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/md_defines.h b/src/MilkDrop2/vis_milk2/md_defines.h new file mode 100644 index 0000000000..360032313a --- /dev/null +++ b/src/MilkDrop2/vis_milk2/md_defines.h @@ -0,0 +1,83 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 __MILKDROP_DEFINES_H__ +#define __MILKDROP_DEFINES_H__ 1 + +// IDENTIFIERS +/* +#define CURRENT_VERSION 220 +#define CURRENT_SUBVERSION 0 // 0=first release, 1=a, 2=b, 3=c... +#define MODULEDESC "MilkDrop 2.2" // used for module desc (from Winamp/Prefs) + window title for fullscreen mode +#define DLLDESC "MilkDrop 2.2" +#define NAME "MilkDrop" +#define TITLE "MilkDrop" +#define CLASSNAME "MilkDrop" // window class name +*/ +#define TEXT_WINDOW_CLASSNAME "MilkDrop Console [VJ Mode]" +#define DEBUGFILE "c:\\m_debug.txt" +//#define CONFIG_INIFILE "milkdrop_config.ini" +//#define PRESET_INIFILE "milkdrop_presets.ini" +#define DEBUGFILEHEADER "[milkdrop debug file]\n" + +// define this to disable expression evaluation: +// (...for some reason, evallib kills the debugger) +#ifdef _DEBUG + #define _NO_EXPR_ //FIXME +#endif + +#define MAX_GRID_X 192//128 +#define MAX_GRID_Y 144//96 +#define NUM_WAVES 8 +#define NUM_MODES 7 +#define LINEFEED_CONTROL_CHAR 1 // note: this char should be outside the ascii range from SPACE (32) to lowercase 'z' (122) +#define MAX_CUSTOM_MESSAGE_FONTS 16 // 0-15 +#define MAX_CUSTOM_MESSAGES 100 // 00-99 +#define MAX_CUSTOM_WAVES 4 +#define MAX_CUSTOM_SHAPES 4 + +// aspect ratio makes the motion in the UV field [0..1] cover the screen appropriately, +//#define ASPECT_X 1.00 +//#define ASPECT_Y 0.75 // ~h/w +//#define ASPECT_X ( (m_nTexSizeY > m_nTexSizeX) ? m_nTexSizeX/(float)m_nTexSizeY : 1.0f ) //0.75f +//#define ASPECT_Y ( (m_nTexSizeX > m_nTexSizeY) ? m_nTexSizeY/(float)m_nTexSizeX : 1.0f ) //0.75f +// --> now stored in m_fAspectX, m_fInvAspectY, etc. <-- + +#define WM_MILKDROP_SYSTRAY_MSG WM_USER + 407 +#define IDC_MILKDROP_SYSTRAY_ICON 555 +#define ID_MILKDROP_SYSTRAY_CLOSE 556 +//#define ID_MILKDROP_SYSTRAY_RESUME 559 +//#define ID_MILKDROP_SYSTRAY_SUSPEND 560 +//#define ID_MILKDROP_SYSTRAY_HOTKEYS 561 + +#define NUMERIC_INPUT_MODE_CUST_MSG 0 +#define NUMERIC_INPUT_MODE_SPRITE 1 +#define NUMERIC_INPUT_MODE_SPRITE_KILL 2 + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/menu.cpp b/src/MilkDrop2/vis_milk2/menu.cpp new file mode 100644 index 0000000000..65830c56d7 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/menu.cpp @@ -0,0 +1,750 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "state.h" // for CBlendableFloat - fix this +#include "menu.h" +#include "plugin.h" +#include +#include +#include +#include "resource.h" + +extern CPlugin g_plugin; // declared in main.cpp + +//---------------------------------------- + +CMilkMenuItem::CMilkMenuItem() +{ + WASABI_API_LNGSTRINGW_BUF(IDS_UNTITLED_MENU_ITEM,m_szName,64); + m_szToolTip[0] = 0; + m_type = MENUITEMTYPE_BUNK; + m_fMin = 0.0f; + m_fMax = 0.0f; + m_var_offset = NULL; + m_pCallbackFn = NULL; + m_pNext = NULL; + m_original_value = NULL; + m_nLastCursorPos = 0; + m_bEnabled = true; +} + +CMilkMenuItem::~CMilkMenuItem() +{ + if (m_pNext) + { + delete m_pNext; + m_pNext = NULL; + } +} + +//---------------------------------------- + +CMilkMenu::CMilkMenu() +{ + //Reset(); +} + +CMilkMenu::~CMilkMenu() +{ + /* + if (m_pFirstChildItem) + { + delete m_pFirstChildItem; + m_pFirstChildItem = NULL; + } + */ +} + +//---------------------------------------- + +bool CMilkMenu::ItemIsEnabled(int j) +{ + if (j < m_nChildMenus) + return m_ppChildMenu[j]->IsEnabled(); + + int i = m_nChildMenus; + CMilkMenuItem *pChild = m_pFirstChildItem; + while (pChild && im_pNext; + i++; + } + if (pChild) + return pChild->m_bEnabled; + + return false; +} + +//---------------------------------------- + +void CMilkMenu::EnableItem(wchar_t* szName, bool bEnable) +{ + //search submenus + for (int i=0; iGetName(), szName)) + { + m_ppChildMenu[i]->Enable(bEnable); + if (!bEnable) + { + while (m_nCurSel > 0 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel--; + if (m_nCurSel==0 && !ItemIsEnabled(m_nCurSel)) + while (m_nCurSel < m_nChildMenus+m_nChildItems-1 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel++; + } + return; + } + } + + //search child items + CMilkMenuItem *pChild = m_pFirstChildItem; + while (pChild) + { + if (!wcscmp(pChild->m_szName, szName)) + { + pChild->m_bEnabled = bEnable; + if (!bEnable) + { + while (m_nCurSel > 0 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel--; + if (m_nCurSel==0 && !ItemIsEnabled(m_nCurSel)) + while (m_nCurSel < m_nChildMenus+m_nChildItems-1 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel++; + } + return; + } + pChild = pChild->m_pNext; + i++; + } +} + +//---------------------------------------- + +void CMilkMenu::Reset() +{ + m_pParentMenu = NULL; + for (int i=0; iSetParentPointer(this); + } +} + +//---------------------------------------- + +void CMilkMenu::AddItem(wchar_t *szName, void *var, MENUITEMTYPE type, wchar_t *szToolTip, + float min, float max, MilkMenuCallbackFnPtr pCallback, + unsigned int wParam, unsigned int lParam) +{ + CMilkMenuItem *pLastItem = NULL; + + // find last item in linked list + if (!m_pFirstChildItem) + { + // first item + m_pFirstChildItem = new CMilkMenuItem; + pLastItem = m_pFirstChildItem; + } + else + { + pLastItem = m_pFirstChildItem; + while (pLastItem->m_pNext) + pLastItem = pLastItem->m_pNext; + + // allocate a new CMilkMenuItem + pLastItem->m_pNext = new CMilkMenuItem; + pLastItem = pLastItem->m_pNext; + } + + // set its attributes + wcsncpy(pLastItem->m_szName, szName, 64); + wcsncpy(pLastItem->m_szToolTip, szToolTip, 1024); + pLastItem->m_var_offset = (size_t)var - (size_t)(g_plugin.m_pState); + pLastItem->m_type = type; + pLastItem->m_fMin = min; + pLastItem->m_fMax = max; + pLastItem->m_wParam = wParam; + pLastItem->m_lParam = lParam; + if ((type==MENUITEMTYPE_LOGBLENDABLE || type==MENUITEMTYPE_LOGFLOAT) && min==max) + { + // special defaults + pLastItem->m_fMin = 0.01f; + pLastItem->m_fMax = 100.0f; + } + pLastItem->m_pCallbackFn = pCallback; + + m_nChildItems++; +} + +//---------------------------------------- + +void MyMenuTextOut(eFontIndex font_index, wchar_t* str, DWORD color, RECT* pRect, int bCalcRect, RECT* pCalcRect) +{ + if (bCalcRect) + { + RECT t = *pRect; + pRect->top += g_plugin.m_text.DrawTextW(g_plugin.GetFont(font_index), str, -1, &t, DT_SINGLELINE | DT_END_ELLIPSIS | DT_CALCRECT, 0xFFFFFFFF, false); + pCalcRect->bottom += t.bottom - t.top; + //if (pCalcRect->bottom > pRect->bottom) + // pCalcRect->bottom = pRect->bottom; + pCalcRect->right = max(pCalcRect->right, pCalcRect->left + t.right - t.left); + } + else + { + pRect->top += g_plugin.m_text.DrawTextW(g_plugin.GetFont(font_index), str, -1, pRect, DT_SINGLELINE | DT_END_ELLIPSIS, color, false); + } +} + +void CMilkMenu::DrawMenu(RECT rect, int xR, int yB, int bCalcRect, RECT* pCalcRect) +{ + // 'rect' is the bounding rectangle in which we're allowed to draw the menu; + // it's .top member is incremented as we draw downward. + // if bCalcRect==1, then we return pCalcRect as the area that the menu actually + // occupies, excluding any tooltips. + + if (bCalcRect!=0 && pCalcRect==NULL) + return; + + if (bCalcRect) + { + pCalcRect->left = rect.left; + pCalcRect->right = rect.left; + pCalcRect->top = rect.top; + pCalcRect->bottom = rect.top; + } + + if (!m_bEditingCurSel) + { + int nLines = (rect.bottom - rect.top - PLAYLIST_INNER_MARGIN*2) / g_plugin.GetFontHeight(SIMPLE_FONT) - 1; // save 1 line for the tooltip + if (nLines<1) return; + int nStart = (m_nCurSel/nLines)*nLines; + + int nLinesDrawn = 0; + + for (int i=0; i < m_nChildMenus; i++) + { + if (i >= nStart && i < nStart+nLines) + { + //rect.top += g_plugin.GetFont(SIMPLE_FONT)->DrawText(m_ppChildMenu[i]->m_szMenuName, -1, pRect, DT_SINGLELINE | DT_END_ELLIPSIS, (i == m_nCurSel) ? MENU_HILITE_COLOR : MENU_COLOR); + if (m_ppChildMenu[i]->IsEnabled()) { + MyMenuTextOut(SIMPLE_FONT, m_ppChildMenu[i]->m_szMenuName, (i == m_nCurSel) ? MENU_HILITE_COLOR : MENU_COLOR, &rect, bCalcRect, pCalcRect); + nLinesDrawn++; + } + + if (g_plugin.m_bShowMenuToolTips && i == m_nCurSel && !bCalcRect) + { + // tooltip: + g_plugin.DrawTooltip(WASABI_API_LNGSTRINGW(IDS_SZ_MENU_NAV_TOOLTIP), xR, yB); + } + } + } + + CMilkMenuItem *pItem = m_pFirstChildItem; + + while (pItem && nLinesDrawn < nStart+nLines) + { + if (!pItem->m_bEnabled) + { + pItem = pItem->m_pNext; + i++; + continue; + } + + size_t addr = pItem->m_var_offset + (size_t)g_plugin.m_pState; + if (i >= nStart) + { + wchar_t szItemText[256]; + switch(pItem->m_type) + { + case MENUITEMTYPE_STRING: + lstrcpyW(szItemText, pItem->m_szName); + break; + case MENUITEMTYPE_BOOL: + swprintf(szItemText, L"%s [%s]", pItem->m_szName, + WASABI_API_LNGSTRINGW(*((bool *)(addr)) ? IDS_ON : IDS_OFF)); + break; + default: + lstrcpyW(szItemText, pItem->m_szName); + break; + } + + if (i == m_nCurSel) + { + MyMenuTextOut(SIMPLE_FONT, szItemText, MENU_HILITE_COLOR, &rect, bCalcRect, pCalcRect); + + if (g_plugin.m_bShowMenuToolTips && !bCalcRect) + { + // tooltip: + g_plugin.DrawTooltip(pItem->m_szToolTip, xR, yB); + } + } + else + { + MyMenuTextOut(SIMPLE_FONT, szItemText, MENU_COLOR, &rect, bCalcRect, pCalcRect); + } + nLinesDrawn++; + } + + pItem = pItem->m_pNext; + i++; + } + } + else + { + // editing current selection + + // find the item + CMilkMenuItem *pItem = m_pFirstChildItem; + for (int i=m_nChildMenus; i < m_nCurSel; i++) + pItem = pItem->m_pNext; + size_t addr = pItem->m_var_offset + (size_t)g_plugin.m_pState; + + wchar_t buf[256]; + + MyMenuTextOut(SIMPLE_FONT, WASABI_API_LNGSTRINGW(IDS_USE_UP_DOWN_ARROW_KEYS), MENU_COLOR, &rect, bCalcRect, pCalcRect); + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_CURRENT_VALUE_OF_X), pItem->m_szName); + MyMenuTextOut(SIMPLE_FONT, buf, MENU_COLOR, &rect, bCalcRect, pCalcRect); + + switch(pItem->m_type) + { + case MENUITEMTYPE_INT: + swprintf(buf, L" %d ", *((int*)(addr)) ); + break; + case MENUITEMTYPE_FLOAT: + case MENUITEMTYPE_LOGFLOAT: + swprintf(buf, L" %5.3f ", *((float*)(addr)) ); + break; + case MENUITEMTYPE_BLENDABLE: + case MENUITEMTYPE_LOGBLENDABLE: + swprintf(buf, L" %5.3f ", ((CBlendableFloat*)addr)->eval(-1) ); + break; + default: + lstrcpyW(buf, L" ? "); + break; + } + + MyMenuTextOut(SIMPLE_FONT, buf, MENU_HILITE_COLOR, &rect, bCalcRect, pCalcRect); + + // tooltip: + if (g_plugin.m_bShowMenuToolTips && !bCalcRect) + { + g_plugin.DrawTooltip(pItem->m_szToolTip, xR, yB); + } + } +} + +void CMilkMenu::OnWaitStringAccept(wchar_t *szNewString) +{ + m_bEditingCurSel = false; + + // find the item + CMilkMenuItem *pItem = m_pFirstChildItem; + for (int i=m_nChildMenus; i < m_nCurSel; i++) + pItem = pItem->m_pNext; + size_t addr = pItem->m_var_offset + (size_t)g_plugin.m_pState; + + assert(pItem->m_type == MENUITEMTYPE_STRING); + + // apply the edited string + lstrcpyW((wchar_t *)(addr), szNewString); + + // if user gave us a callback function pointer, call it now + if (pItem->m_pCallbackFn) + { + pItem->m_pCallbackFn(0, 0); + } + + // remember the last cursor position + pItem->m_nLastCursorPos = g_plugin.m_waitstring.nCursorPos; +} + +//---------------------------------------- + +LRESULT CMilkMenu::HandleKeydown(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + // all WM_KEYDOWNS that your app gets when a menu is up should be handled here, + // by the menu that is currently active. + + // return value: FALSE if it handled the key; TRUE if it didn't + + int nRepeat = LOWORD(lParam); + int rep; + + if (!m_bEditingCurSel) + { + switch(wParam) + { + case VK_UP: + for (rep=0; rep 0 && !ItemIsEnabled(m_nCurSel)); + } + if (m_nCurSel < 0) m_nCurSel = 0;//m_nChildMenus + m_nChildItems - 1; + while (m_nCurSel < m_nChildMenus + m_nChildItems - 1 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel++; + return 0; // we processed (or absorbed) the key + + case VK_DOWN: + for (rep=0; rep= m_nChildMenus + m_nChildItems) m_nCurSel = m_nChildMenus + m_nChildItems - 1;//0; + while (m_nCurSel > 0 && !ItemIsEnabled(m_nCurSel)) + m_nCurSel--; + return 0; // we processed (or absorbed) the key + + case VK_HOME: + m_nCurSel = 0; + return 0; // we processed (or absorbed) the key + + case VK_END: + m_nCurSel = m_nChildMenus + m_nChildItems - 1; + return 0; // we processed (or absorbed) the key + + case VK_ESCAPE: + g_plugin.m_UI_mode = UI_REGULAR; + return 0; // we processed (or absorbed) the key + + case VK_BACK: + case VK_LEFT: + if (m_pParentMenu) + g_plugin.m_pCurMenu = m_pParentMenu; + else + g_plugin.m_UI_mode = UI_REGULAR; // exit the menu + return 0; // we processed (or absorbed) the key + + case VK_RETURN: + case VK_RIGHT: + case VK_SPACE: + if (m_nCurSel < m_nChildMenus) + { + // go to sub-menu + g_plugin.m_pCurMenu = m_ppChildMenu[m_nCurSel]; + } + else + { + // find the item + CMilkMenuItem *pItem = GetCurItem(); + size_t addr = pItem->m_var_offset + (size_t)g_plugin.m_pState; + + float fTemp; + + // begin editing the item + + switch(pItem->m_type) + { + case MENUITEMTYPE_UIMODE: + g_plugin.m_UI_mode = (ui_mode)pItem->m_wParam; + + if (g_plugin.m_UI_mode==UI_IMPORT_WAVE || + g_plugin.m_UI_mode==UI_EXPORT_WAVE || + g_plugin.m_UI_mode==UI_IMPORT_SHAPE || + g_plugin.m_UI_mode==UI_EXPORT_SHAPE) + { + g_plugin.m_bPresetLockedByCode = true; + + // enter WaitString mode + g_plugin.m_waitstring.bActive = true; + g_plugin.m_waitstring.bFilterBadChars = false; + g_plugin.m_waitstring.bDisplayAsCode = false; + g_plugin.m_waitstring.nSelAnchorPos = -1; + g_plugin.m_waitstring.nMaxLen = min(sizeof(g_plugin.m_waitstring.szText)-1, MAX_PATH - wcslen(g_plugin.GetPresetDir()) - 6); // 6 for the extension + null char. We set this because win32 LoadFile, MoveFile, etc. barf if the path+filename+ext are > MAX_PATH chars. + swprintf(g_plugin.m_waitstring.szText, L"%sfile.dat", g_plugin.m_szPresetDir); + if (g_plugin.m_UI_mode==UI_IMPORT_WAVE || g_plugin.m_UI_mode==UI_IMPORT_SHAPE) + WASABI_API_LNGSTRINGW_BUF(IDS_LOAD_FROM_FILE,g_plugin.m_waitstring.szPrompt,512); + else + WASABI_API_LNGSTRINGW_BUF(IDS_SAVE_TO_FILE,g_plugin.m_waitstring.szPrompt,512); + g_plugin.m_waitstring.szToolTip[0] = 0; + g_plugin.m_waitstring.nCursorPos = wcslen(g_plugin.m_waitstring.szText); // set the starting edit position + } + break; + case MENUITEMTYPE_BOOL: + *((bool *)addr) = !(*((bool *)addr)); + break; + case MENUITEMTYPE_INT: + m_bEditingCurSel = true; + pItem->m_original_value = (LPARAM)(*((int*)(addr))); + break; + case MENUITEMTYPE_FLOAT: + case MENUITEMTYPE_LOGFLOAT: + m_bEditingCurSel = true; + pItem->m_original_value = (LPARAM)(*((float*)(addr))*10000L); + break; + case MENUITEMTYPE_BLENDABLE: + case MENUITEMTYPE_LOGBLENDABLE: + m_bEditingCurSel = true; + { + //CBlendableFloat *p = (CBlendableFloat*)(pItem->m_pVariable); + //*p = 0.99f; + fTemp = ((CBlendableFloat*)addr)->eval(-1);//p->eval(-1); + } + pItem->m_original_value = (LPARAM)(fTemp*10000L); + break; + case MENUITEMTYPE_STRING: + // enter waitstring mode. ***This function will cease to receive keyboard input + // while the string is being edited*** + g_plugin.m_UI_mode = UI_EDIT_MENU_STRING; + g_plugin.m_waitstring.bActive = true; + g_plugin.m_waitstring.bFilterBadChars = false; + g_plugin.m_waitstring.bDisplayAsCode = true; + g_plugin.m_waitstring.nSelAnchorPos = -1; + g_plugin.m_waitstring.nMaxLen = pItem->m_wParam ? pItem->m_wParam : 8190; + g_plugin.m_waitstring.nMaxLen = min(g_plugin.m_waitstring.nMaxLen, sizeof(g_plugin.m_waitstring.szText)-16); + //lstrcpyW(g_plugin.m_waitstring.szText, (wchar_t *)addr); + lstrcpyA((char*)g_plugin.m_waitstring.szText, (char*)addr); + swprintf(g_plugin.m_waitstring.szPrompt, WASABI_API_LNGSTRINGW(IDS_ENTER_THE_NEW_STRING), pItem->m_szName); + lstrcpyW(g_plugin.m_waitstring.szToolTip, pItem->m_szToolTip); + g_plugin.m_waitstring.nCursorPos = strlen/*wcslen*/((char*)g_plugin.m_waitstring.szText); + if (pItem->m_nLastCursorPos < g_plugin.m_waitstring.nCursorPos) + g_plugin.m_waitstring.nCursorPos = pItem->m_nLastCursorPos; + break; + /* + case MENUITEMTYPE_OSC: + m_bEditingCurSel = true; + pItem->m_bEditingSubSel = false; + break; + */ + } + } + return 0; // we processed (or absorbed) the key + + default: + // key wasn't handled + return TRUE; + break; + } + } + else // m_bEditingCurSel + { + float fMult = 1.0f; + bool bDec; + + // find the item + CMilkMenuItem *pItem = m_pFirstChildItem; + for (int i=m_nChildMenus; i < m_nCurSel; i++) + pItem = pItem->m_pNext; + size_t addr = pItem->m_var_offset + (size_t)g_plugin.m_pState; + + switch(wParam) + { + case VK_ESCAPE: // exit Edit mode & restore original value + + switch(pItem->m_type) + { + case MENUITEMTYPE_INT: + m_bEditingCurSel = false; + *((int *)addr) = (int)pItem->m_original_value; + break; + case MENUITEMTYPE_FLOAT: + m_bEditingCurSel = false; + *((float *)addr) = ((float)pItem->m_original_value)*0.0001f; + break; + case MENUITEMTYPE_LOGFLOAT: + m_bEditingCurSel = false; + *((float *)addr) = ((float)pItem->m_original_value)*0.0001f; + break; + case MENUITEMTYPE_BLENDABLE: + m_bEditingCurSel = false; + *((CBlendableFloat *)(addr)) = ((float)(pItem->m_original_value))*0.0001f; + break; + case MENUITEMTYPE_LOGBLENDABLE: + m_bEditingCurSel = false; + *((CBlendableFloat *)(addr)) = ((float)(pItem->m_original_value))*0.0001f; + break; + //case MENUITEMTYPE_STRING: + // won't ever happen - see OnWaitStringCancel() + } + return 0; + + case VK_RETURN: + + //if (pItem->m_type == MENUITEMTYPE_STRING) + // ... won't ever happen - see OnWaitStringAccept() + + m_bEditingCurSel = false; + return 0; + + + case VK_NEXT: + case VK_PRIOR: + fMult *= 10.0f; + // break intentionally left out here... + case VK_UP: + case VK_DOWN: + + { + USHORT mask = 1 << (sizeof(USHORT)*8 - 1); // we want the highest-order bit + bool bShiftHeldDown = (GetKeyState(VK_SHIFT) & mask) != 0; + //bool bCtrlHeldDown = (GetKeyState(VK_CONTROL) & mask) != 0; + if (bShiftHeldDown && (wParam==VK_UP || wParam==VK_DOWN)) + fMult *= 0.1f; + } + + bDec = (wParam == VK_DOWN || wParam == VK_NEXT); + + switch(pItem->m_type) + { + case MENUITEMTYPE_INT: + { + int *pInt = ((int *)addr); + if (fMult<1) fMult=1; + (*pInt) += (int)((bDec) ? -fMult : fMult); + if (*pInt < pItem->m_fMin) *pInt = (int)pItem->m_fMin; + if (*pInt > pItem->m_fMax) *pInt = (int)pItem->m_fMax; + } + break; + case MENUITEMTYPE_FLOAT: + { + float *pFloat = ((float *)addr); + float fInc = (pItem->m_fMax - pItem->m_fMin)*0.01f*fMult; + (*pFloat) += (bDec) ? -fInc : fInc; + if (*pFloat < pItem->m_fMin) *pFloat = pItem->m_fMin; + if (*pFloat > pItem->m_fMax) *pFloat = pItem->m_fMax; + } + break; + case MENUITEMTYPE_LOGFLOAT: + { + float *pFloat = ((float *)addr); + (*pFloat) *= (bDec) ? powf(1.0f/1.01f, fMult) : powf(1.01f, fMult); + if (*pFloat < pItem->m_fMin) *pFloat = pItem->m_fMin; + if (*pFloat > pItem->m_fMax) *pFloat = pItem->m_fMax; + } + break; + case MENUITEMTYPE_BLENDABLE: + { + CBlendableFloat *pBlend = ((CBlendableFloat *)addr); + float fInc = (pItem->m_fMax - pItem->m_fMin)*0.01f*fMult; + (*pBlend) += (bDec) ? -fInc : fInc; + if (pBlend->eval(-1) < pItem->m_fMin) *pBlend = pItem->m_fMin; + if (pBlend->eval(-1) > pItem->m_fMax) *pBlend = pItem->m_fMax; + } + break; + case MENUITEMTYPE_LOGBLENDABLE: + { + CBlendableFloat *pBlend = ((CBlendableFloat *)addr); + (*pBlend) *= (bDec) ? powf(1.0f/1.01f, fMult) : powf(1.01f, fMult); + if (pBlend->eval(-1) < pItem->m_fMin) *pBlend = pItem->m_fMin; + if (pBlend->eval(-1) > pItem->m_fMax) *pBlend = pItem->m_fMax; + } + break; + /* + case MENUITEMTYPE_OSC: + if (pItem->m_bEditingSubSel) + { + if (wParam == VK_UP) + { + pItem->m_nSubSel--; + if (pItem->m_nSubSel < 0) pItem->m_nSubSel = 4; + } + else if (wParam == VK_DOWN) + { + pItem->m_nSubSel++; + if (pItem->m_nSubSel > 4) pItem->m_nSubSel = 0; + } + } + else + { + switch(pItem->m_nSubSel) + { + also to do: make 'drawtext' draw it properly + + case 0: + fixme - what are the bounds for each type? and are incs constant or log? + break; + case 1: + fixme + break; + case 2: + fixme + break; + case 3: + fixme + break; + case 4: + fixme + break; + } + } + break; + */ + } + return 0; + + default: + // key wasn't handled + return TRUE; + break; + } + } + + return TRUE; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/menu.h b/src/MilkDrop2/vis_milk2/menu.h new file mode 100644 index 0000000000..2668032e14 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/menu.h @@ -0,0 +1,126 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 _MILKDROP_MENU_H_ +#define _MILKDROP_MENU_H_ 1 + +//---------------------------------------- + +#include + +//---------------------------------------- + +typedef enum { + MENUITEMTYPE_BUNK, + MENUITEMTYPE_BOOL, + MENUITEMTYPE_INT, + MENUITEMTYPE_FLOAT, + MENUITEMTYPE_LOGFLOAT, + MENUITEMTYPE_BLENDABLE, + MENUITEMTYPE_LOGBLENDABLE, + MENUITEMTYPE_STRING, + MENUITEMTYPE_UIMODE, + //MENUITEMTYPE_OSC, +} MENUITEMTYPE; +#define MAX_CHILD_MENUS 16 +typedef void (*MilkMenuCallbackFnPtr)(LPARAM param1, LPARAM param2); // MilkMenuCallbackFnPtr is synonym for "pointer to function returning void, and taking 2 lparams" + +//---------------------------------------- +class CMilkMenuItem +{ +public: + CMilkMenuItem(); + ~CMilkMenuItem(); + + wchar_t m_szName[64]; + wchar_t m_szToolTip[1024]; + MENUITEMTYPE m_type; + float m_fMin; // note: has different meanings based on the MENUITEMTYPE + float m_fMax; // note: has different meanings based on the MENUITEMTYPE + unsigned int m_wParam; + unsigned int m_lParam; + MilkMenuCallbackFnPtr m_pCallbackFn; // Callback Function pointer; if non-NULL, this functino will be called whenever the menu item is modified by the user. + ptrdiff_t m_var_offset; // dist of variable's mem loc., in bytes, from pg->m_pState. + LPARAM m_original_value; // can hold a float or int + int m_nLastCursorPos; // for strings; remembers most recent pos. of the cursor + bool m_bEnabled; + + // special data used for MENUITEMTYPE_OSCILLATOR: + //int m_nSubSel; + //bool m_bEditingSubSel; + + CMilkMenuItem *m_pNext; +}; +//---------------------------------------- + +//---------------------------------------- +class CMilkMenu +{ +public: + CMilkMenu(); + ~CMilkMenu(); + + void Init(wchar_t *szName); + void Finish(); + void AddChildMenu(CMilkMenu *pChildMenu); + void AddItem(wchar_t *szName, void *var, MENUITEMTYPE type, wchar_t *szToolTip, + float min=0, float max=0, MilkMenuCallbackFnPtr pCallback=NULL, + unsigned int wParam=0, unsigned int lParam=0); + void SetParentPointer(CMilkMenu *pParentMenu) { m_pParentMenu = pParentMenu; } + LRESULT HandleKeydown(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + void DrawMenu(RECT rect, int xR, int yB, int bCalcRect=0, RECT* pCalcRect=NULL); + void OnWaitStringAccept(wchar_t *szNewString); + void EnableItem(wchar_t* szName, bool bEnable); + CMilkMenuItem* GetCurItem() // NOTE: ONLY WORKS IF AN *ITEM* IS HIGHLIGHTED; NOT A CHILD MENU + { + CMilkMenuItem *pItem = m_pFirstChildItem; + for (int i=m_nChildMenus; i < m_nCurSel; i++) + pItem = pItem->m_pNext; + return pItem; + } + const wchar_t* GetName() { return m_szMenuName; } + void Enable(bool bEnabled) { m_bEnabled = bEnabled; } + bool IsEnabled() { return m_bEnabled; } + bool ItemIsEnabled(int i); + +protected: + void Reset(); + CMilkMenu *m_pParentMenu; + CMilkMenu *m_ppChildMenu[MAX_CHILD_MENUS]; // pointers are kept here, but these should be cleaned up by the app. + CMilkMenuItem *m_pFirstChildItem; // linked list; these are dynamically allocated, and automatically cleaned up in destructor + wchar_t m_szMenuName[64]; + int m_nChildMenus; + int m_nChildItems; + int m_nCurSel; + bool m_bEditingCurSel; + bool m_bEnabled; +}; +//---------------------------------------- + +#endif //_MILKDROP_MENU_H_ \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/milkdrop.nsi b/src/MilkDrop2/vis_milk2/milkdrop.nsi new file mode 100644 index 0000000000..c10333e660 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/milkdrop.nsi @@ -0,0 +1,439 @@ +; LICENSE +; ------- +; Copyright 2005-2013 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. + +; ---------------------------------------------------------------- +; NOTE: this .nsi script was last built with 'makensis.exe' +; version 1.98. If you go to install it (unchanged) and get errors, +; try tracking down that older version, or try to figure out what +; has changed since then. You can get NSIS at: +; +; http://www.nullsoft.com/free/nsis/ +; +; This installer will produce a single EXE file that, when run, +; will decompress and install your plugin and all of its data files +; to Winamp 2 or Winamp 3. +; ---------------------------------------------------------------- +; MODIFYING THIS SCRIPT TO CREATE AN INSTALLER FOR YOUR OWN PLUGIN: +; ---------------------------------------------------------------- +; 1) there are three sections below, each marked 'EDIT THIS SECTION +; [x/3]' where 'x' is the section number. These are the 3 +; places where you need to make changes to customize this +; installer script for your particular plugin. Go to each +; and make the changes, reading the comments there for +; more information. +; 2) download NSIS from http://www.nullsoft.com/free/nsis/, if you +; haven't already. +; 3) run the command 'makensis.exe installer.nsi' to build +; the executable. (note: ignore the warning message about +; 'InstallRegKey' being used multiple times; this is necessary +; to determine whether Winamp 2 or 3 is a better candidate +; for the install.) +; ---------------------------------------------------------------- +; WHAT THIS INSTALLER SCRIPT DOES: +; ---------------------------------------------------------------- +; If Winamp 2 is installed, it will install your plugin to Winamp 2, +; in the directory Winamp\Plugins (or whatever is specified as the +; vis plugins path, in Winamp\winamp.ini). It will also select +; the plugin as the current plugin. (Note that Winamp must be +; closed to do this, so if it's open, the installer will ask the +; user to close it before proceeding.) At the end of a successful +; install, it asks if they'd like to run Winamp. +; +; If Winamp 2 is not present but Winamp 3 is, or if the user manually +; selects the Winamp 3 directory to install to, the plugin will be +; installed to Winamp 3 as a classic visualization plugin, to the +; directory Winamp3\Plugins. At install time, if ClassicVis is not +; installed, it will prompt the user to go download it. If they +; don't download it, it will tell them the installation failed. +; If they already had it, or after they presumably download it, +; the installer will briefly tell them how to select their new +; plugin and run it in Winamp 3, using ClassicVis. Finally, at +; the end of a successful install, it asks if they'd like to run +; Winamp 3. +; ---------------------------------------------------------------- + + + +; -------------------- EDIT THIS SECTION [1/3] -------------------- +; -------------------- EDIT THIS SECTION [1/3] -------------------- +; -------------------- EDIT THIS SECTION [1/3] -------------------- + + !define PLUGIN_NAME "MilkDrop 2" ; Brief name of the component. Can have spaces in it. + !define INSTALL_CAPTION "MilkDrop 2.2 Setup" ; Caption for the installer dialog + !define PLUGIN_DLL "vis_milk2.dll" ; The filename of the actual plugin + !define PLUGIN_OUTFILE "milkdrop_2.exe" ; Name of the installer to create + +; ----------------------- END SECTION [1/3] ----------------------- +; ----------------------- END SECTION [1/3] ----------------------- +; ----------------------- END SECTION [1/3] ----------------------- + +; ---------------------------------------------------------------- +Name ${PLUGIN_NAME} +Caption "${INSTALL_CAPTION}" +OutFile ${PLUGIN_OUTFILE} +; ---------------------------------------------------------------- + +; to determine the install directory, we start with Program Files\Winamp. +; then, if winamp 3 is found, override this and use that directory. +; finally, if winamp 2 is found, override again and use that directory. +InstallDir $PROGRAMFILES\Winamp +InstallDirRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp3" "UninstallString" +InstallDirRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" "UninstallString" +DirText \ + "The installer has determined that this is the path to Winamp.$\rIf it is not correct, please change it. You will not be able to proceed$\runtil a valid path is found." \ + "Select the directory in which Winamp 2 or 3 is installed:" + +Function .onInit + IfFileExists $INSTDIR\winamp.exe End ; else if winamp.exe found (winamp2), we're good + IfFileExists $INSTDIR\winamp3.exe End ; if winamp3.exe found (winamp3), we're good + IfFileExists $INSTDIR\studio.exe End ; or if studio.exe found (older version of winamp3), we're good + ; the above will work fine if winamp 2 or 3 is installed, + ; but will break if winamp 2 or 3 was uninstalled *but the directory remains.* + IfFileExists $PROGRAMFILES\Winamp\winamp.exe SelectNaturalWinamp2 ; last but not least, try the default winamp 2 directory + IfFileExists $PROGRAMFILES\Winamp3\winamp3.exe SelectNaturalWinamp3 ; otherwise, try the default winamp 3 directory + IfFileExists $PROGRAMFILES\Winamp3\studio.exe SelectNaturalWinamp3 ; otherwise, try the default winamp 3 directory + ; if all of these failed, no good path to Winamp (2 or 3) could be found, + ; and the 'Next' button will be disabled until the user can specify + ; the correct folder. + Goto End + + SelectNaturalWinamp3: + strcpy $INSTDIR $PROGRAMFILES\Winamp3 + goto End + + SelectNaturalWinamp2: + strcpy $INSTDIR $PROGRAMFILES\Winamp + goto End + + End: +FunctionEnd + + +Function .onVerifyInstDir + IfFileExists $INSTDIR\Winamp.exe DirOk + IfFileExists $INSTDIR\Winamp3.exe DirOk + IfFileExists $INSTDIR\Studio.exe DirOk + Abort ; leaves the directory as the selected one, but disables the 'Next' button... + + DirOk: +FunctionEnd + + + + + +Function QueryWinampVisPath + ; input: $INSTDIR, the currently-selected install dir (path to winamp) + ; output: $1, the path to the winamp vis plugins subdirectory + ; -for winamp 3x, this is just $INSTDIR\plugins + ; -for winamp 2x, it comes from the winamp.ini file + ; (or just $INSTDIR\plugins if there is an error reading it.) + IfFileExists $INSTDIR\Winamp.exe CaseWinamp2 + IfFileExists $INSTDIR\Winamp3.exe CaseWinamp3 + IfFileExists $INSTDIR\Studio.exe CaseWinamp3 ; legacy check + goto CaseImpossible + + CaseWinamp2: + StrCpy $1 $INSTDIR\Plugins\MilkDrop2 + ReadINIStr $8 $INSTDIR\winamp.ini Winamp VisDir + StrCmp $8 "" End + IfFileExists $8 0 End + StrCpy $1 $8 ; update dir + goto end + + CaseWinamp3: + CaseImpossible: + StrCpy $1 $INSTDIR\Plugins\MilkDrop2 + goto end + + End: +FunctionEnd + + +; The stuff to install +Section "" + + CloseWinamp2: + ; make sure winamp is closed before we 1) try to install files + ; and 2) (later) edit winamp.ini. for 1), if they're running + ; (or were running) some other vms-based plugin using + ; vms_desktop.dll, then if winamp is still open, the installer + ; could have trouble overwriting vms_desktop.dll, or other files; + ; the user would get an abort/retry/ignore box, but it's easier + ; to just play it safe. + FindWindow $R0 "winamp v1.x" + StrCmp $R0 0 "" RequestCloseWinamp2 + goto Winamp2Closed + RequestCloseWinamp2: + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Winamp is currently running; please close it,$\rand then hit OK to continue..." \ + IDCANCEL WarnWinampStillOpen + goto CloseWinamp2 + WarnWinampStillOpen: + FindWindow $R0 "winamp v1.x" + StrCmp $R0 0 "" WarnWinampStillOpen2 + goto Winamp2Closed + WarnWinampStillOpen2: + MessageBox MB_OK|MB_ICONEXCLAMATION "Warning: Winamp is still open; as a result, the installer$\rwill not be able to set ${PLUGIN_NAME} as the default plugin; you will$\rhave to do this yourself.$\r$\rTo do so, wait until the installation is finished. Then bring up $\rWinamp and hit CTRL+K. From there, you will be able to select$\r${PLUGIN_NAME} from the list of visualization plug-ins, and it will$\rbecome the new default." + goto Winamp2Closed + Winamp2Closed: + + ; this function sets $1 to point to the 'winamp\plugins\milkdrop2' folder: + ; (see function definition above) + Call QueryWinampVisPath + + ; -------------------- EDIT THIS SECTION [2/3] -------------------- + ; -------------------- EDIT THIS SECTION [2/3] -------------------- + ; -------------------- EDIT THIS SECTION [2/3] -------------------- + + ; LIST FILES TO INCLUDE WITH THE INSTALLER + + ; For each file we want to install onto the destination system, + ; we first set the output directory (relative to $1, which is + ; the PLUGINS directory) and then list files. The paths for + ; the files will be local paths on your hard disk, but fear not - + ; the files will be placed in the current output directory + ; (as last set by SetOutPath) on the destination system. + + ; So, first, we set the current output path (the folder to which + ; files will be decompressed on the user's system) to '$1', + ; which is the path to their winamp plugins folder. + + SetOutPath $1 + File "C:\program files\winamp\plugins\${PLUGIN_DLL}" + + SetOutPath $1\Milkdrop2\config + File "C:\program files\winamp\plugins\milkdrop2\config\milk_msg.ini" + File "C:\program files\winamp\plugins\milkdrop2\config\milk_img.ini" + ;File "C:\program files\winamp\plugins\milkdrop2\config\milkdrop.ini" ;this one will be generated - do not install + + SetOutPath $1\Milkdrop2\data + File "C:\program files\winamp\plugins\milkdrop2\data\vms_desktop.dll" + File "C:\program files\winamp\plugins\milkdrop2\data\comp_ps.fx" + File "C:\program files\winamp\plugins\milkdrop2\data\comp_vs.fx" + File "C:\program files\winamp\plugins\milkdrop2\data\warp_ps.fx" + File "C:\program files\winamp\plugins\milkdrop2\data\warp_vs.fx" + File "C:\program files\winamp\plugins\milkdrop2\data\include.fx" + + SetOutPath $1\Milkdrop2\docs + File "C:\program files\winamp\plugins\milkdrop2\docs\milkdrop.html" + File "C:\program files\winamp\plugins\milkdrop2\docs\milkdrop_preset_authoring.html" + File "C:\program files\winamp\plugins\milkdrop2\docs\q_and_t_vars.gif" + + SetOutPath $1\Milkdrop2\textures + File "C:\program files\winamp\plugins\milkdrop2\textures\*.*" + + SetOutPath $1\Milkdrop2\presets + File "C:\program files\winamp\plugins\milkdrop2\presets\*.milk" + + hmmm + SetOutPath $1\MilkDrop2\presets\3d + File "C:\program files\winamp\plugins\milkdrop2\presets\3d\*.milk" + + hmmm + SetOutPath $1\MilkDrop2\presets\inverted + File "C:\program files\winamp\plugins\milkdrop2\presets\inverted\*.milk" + + ; ----------------------- END SECTION [2/3] ----------------------- + ; ----------------------- END SECTION [2/3] ----------------------- + ; ----------------------- END SECTION [2/3] ----------------------- + + + ; now time to create the Uninstaller: + + IfFileExists $INSTDIR\Winamp.exe UninstWinamp2 + IfFileExists $INSTDIR\Winamp3.exe UninstWinamp3 + IfFileExists $INSTDIR\Studio.exe UninstWinamp3 ; legacy check + goto UninstDone + + UninstWinamp3: + WriteRegStr HKLM SOFTWARE\${PLUGIN_DLL}Winamp3 "Install_Dir" "$INSTDIR" + WriteRegStr HKLM SOFTWARE\${PLUGIN_DLL}Winamp3 "Install_Plugins_Dir" $1 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp3" "DisplayName" "${PLUGIN_NAME} for Winamp 3 (remove only)" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp3" "UninstallString" '"$INSTDIR\uninst-${PLUGIN_DLL}.exe"' + WriteUninstaller "$INSTDIR\uninst-${PLUGIN_DLL}.exe" + CreateDirectory "$SMPROGRAMS\Winamp3\Vis Plugin Uninstallers" + CreateShortCut "$SMPROGRAMS\Winamp3\Vis Plugin Uninstallers\Uninstall ${PLUGIN_NAME}.lnk" "$INSTDIR\uninst-${PLUGIN_DLL}.exe" "" "$INSTDIR\uninst-${PLUGIN_DLL}.exe" 0 + goto UninstDone + + UninstWinamp2: + WriteRegStr HKLM SOFTWARE\${PLUGIN_DLL}Winamp "Install_Dir" "$INSTDIR" + WriteRegStr HKLM SOFTWARE\${PLUGIN_DLL}Winamp "Install_Plugins_Dir" $1 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp" "DisplayName" "${PLUGIN_NAME} for Winamp 2x (remove only)" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp" "UninstallString" '"$INSTDIR\uninst-${PLUGIN_DLL}.exe"' + WriteUninstaller "$INSTDIR\uninst-${PLUGIN_DLL}.exe" + CreateDirectory "$SMPROGRAMS\Winamp\Vis Plugin Uninstallers" + CreateShortCut "$SMPROGRAMS\Winamp\Vis Plugin Uninstallers\Uninstall ${PLUGIN_NAME}.lnk" "$INSTDIR\uninst-${PLUGIN_DLL}.exe" "" "$INSTDIR\uninst-${PLUGIN_DLL}.exe" 0 + goto UninstDone + + UninstDone: + +SectionEnd + +;---------------------------------------------------------------------- + +UninstallText "This will uninstall the ${PLUGIN_NAME} plugin. Hit next to continue." +ShowUninstDetails Show + +Section "Uninstall" + + ; This section is the code that will be run when the user goes + ; to Uninstall the plugin. + + IfFileExists $INSTDIR\Winamp.exe UninstStep1Winamp2 + IfFileExists $INSTDIR\Winamp3.exe UninstStep1Winamp3 + IfFileExists $INSTDIR\Studio.exe UninstStep1Winamp3 ; legacy check + goto UninstScriptDone + + UninstStep1Winamp3: + ReadRegStr $1 HKLM SOFTWARE\${PLUGIN_DLL}Winamp3 "Install_Plugins_Dir" + goto UninstStep2 + UninstStep1Winamp2: + ReadRegStr $1 HKLM SOFTWARE\${PLUGIN_DLL}Winamp "Install_Plugins_Dir" + goto UninstStep2 + + UninstStep2: + + ; -------------------- EDIT THIS SECTION [3/3] -------------------- + ; -------------------- EDIT THIS SECTION [3/3] -------------------- + ; -------------------- EDIT THIS SECTION [3/3] -------------------- + + ; LIST OF FILES TO DELETE WHEN USER RUNS THE UNINSTALL + + Delete "$1\${PLUGIN_DLL}" + ;Delete "$1\vms_desktop.dll" ** DO NOT DELETE! ** + Delete "$1\milkdrop.html" + Delete "$1\milkdrop_preset_authoring.html" + Delete "$1\q_and_t_vars.gif" + + MessageBox MB_YESNO|MB_ICONQUESTION \ + "Clear your saved settings?:$\r $1\milkdrop_config.ini$\r $1\milk_msg.ini$\r $1\milk_img.ini" \ + IDNO SaveSettings + + Delete "$1\milkdrop_config.ini" + Delete "$1\milk_msg.ini" + Delete "$1\milk_img.ini" + + SaveSettings: + + MessageBox MB_YESNO|MB_ICONQUESTION \ + "Delete all presets in these 3 directories?:$\r $1\milkdrop$\r $1\milkdrop\3d$\r $1\milkdrop\inverted" \ + IDNO SavePresets + + Delete "$1\milkdrop2\inverted\*.milk" + Delete "$1\milkdrop2\3d\*.milk" + Delete "$1\milkdrop2\*.milk" + RMDir "$1\milkdrop2\inverted" + RMDir "$1\milkdrop2\3d" + RMDir "$1\milkdrop2" + + SavePresets: + + ; ----------------------- END SECTION [3/3] ----------------------- + ; ----------------------- END SECTION [3/3] ----------------------- + ; ----------------------- END SECTION [3/3] ----------------------- + + IfFileExists $INSTDIR\Winamp.exe UninstStep3Winamp2 + IfFileExists $INSTDIR\Winamp3.exe UninstStep3Winamp3 + IfFileExists $INSTDIR\Studio.exe UninstStep3Winamp3 ; legacy check + goto UninstScriptDone + + UninstStep3Winamp3: + DeleteRegKey HKLM SOFTWARE\${PLUGIN_DLL}Winamp3 + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp3" + Delete $INSTDIR\uninst-${PLUGIN_DLL}.exe + Delete "$SMPROGRAMS\Winamp3\Vis Plugin Uninstallers\Uninstall ${PLUGIN_NAME}.lnk" + RMDir "$SMPROGRAMS\Winamp3\Vis Plugin Uninstallers" + goto UninstScriptDone + UninstStep3Winamp2: + DeleteRegKey HKLM SOFTWARE\${PLUGIN_DLL}Winamp + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PLUGIN_DLL}Winamp" + Delete $INSTDIR\uninst-${PLUGIN_DLL}.exe + Delete "$SMPROGRAMS\Winamp\Vis Plugin Uninstallers\Uninstall ${PLUGIN_NAME}.lnk" + RMDir "$SMPROGRAMS\Winamp\Vis Plugin Uninstallers" + goto UninstScriptDone + + UninstScriptDone: +SectionEnd + +;---------------------------------------------------------------------- + +Function .onInstSuccess + IfFileExists $INSTDIR\Winamp.exe CaseWinamp2 + IfFileExists $INSTDIR\Winamp3.exe CaseWinamp3 + IfFileExists $INSTDIR\Studio.exe CaseWinamp3 ; legacy check + goto CaseImpossible + + CaseWinamp3: + IfFileExists $INSTDIR\wacs\classicvis.wac ClassicVisOk + ; no classicvis -> give them instructions + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "IMPORTANT: You must download and install the Classic Visualization$\rComponent before ${PLUGIN_NAME} will work with Winamp 3.$\r$\rWould you like to download it now?" \ + IDNO FailNoClassicVis + ExecShell "open" "http://www.winamp.com/components3/detail.jhtml?componentId=122130" + MessageBox MB_OK|MB_ICONINFORMATION \ + "Your web browser will now open and allow you to download$\rthe Classic Visualization Component. Please download$\rand install it.$\r$\rOnce it is installed, open Winamp 3 and hit CTRL+P$\rto open the Preferences screen. Then, on the left,$\rscroll to 'Classic Visualizations' and select it. From there,$\ryou can easily select, configure and run any plugins$\rinstalled to Winamp 2 or 3." + goto end + FailNoClassicVis: + MessageBox MB_OK|MB_ICONSTOP "Installation failed." + goto end + ClassicVisOk: + FindWindow $R0 "STUDIO" + StrCmp $R0 0 "" DoneWinamp3 + MessageBox MB_YESNO|MB_ICONQUESTION \ + "${PLUGIN_NAME} was installed successfully.$\rWould you like to run Winamp 3 now?" \ + IDNO DoneWinamp3 + ; to do here: update 'oldvisname' string in the *xml* file winamp3\studio.xnf, + ; and set 'oldvisidx' to "0" + IfFileExists $INSTDIR\Winamp3.exe CaseWinamp3b + Exec '"$INSTDIR\studio.exe"' + goto DoneWinamp3 + CaseWinamp3b: + Exec '"$INSTDIR\winamp3.exe"' + goto DoneWinamp3 + DoneWinamp3: + MessageBox MB_OK "While in Winamp 3, press CTRL+P to bring up the$\rPreferences screen, then scroll down and select$\rthe 'Classic Visualizations' option. From there,$\ryou can select, configure, and run the ${PLUGIN_NAME} plugin." + goto end + + CaseWinamp2: + ; note: winamp 2 should already be closed at this point. + WriteINIStr "$INSTDIR\Winamp.ini" "Winamp" "visplugin_name" ${PLUGIN_DLL} + WriteINIStr "$INSTDIR\Winamp.ini" "Winamp" "visplugin_num" "0" + MessageBox MB_YESNO|MB_ICONQUESTION \ + "${PLUGIN_NAME} was installed successfully.$\r$\rWhile in Winamp, press ALT+K to configure it (optional);$\rpress CTRL+SHIFT+K to execute it.$\r$\rWould you like to run Winamp now?" \ + IDNO end + Exec '"$INSTDIR\Winamp.exe"' + Goto end + + CaseImpossible: + MessageBox MB_OK|MB_ICONEXCLAMATION "ERROR: unable to find winamp.exe (winamp2) or studio.exe/winamp3.exe (winamp3) in the install directory..." + Goto end + + End: +FunctionEnd + +; eof + diff --git a/src/MilkDrop2/vis_milk2/milkdrop_DX9.sln b/src/MilkDrop2/vis_milk2/milkdrop_DX9.sln new file mode 100644 index 0000000000..24028fde79 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/milkdrop_DX9.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vis_milk2", "plugin.vcproj", "{881FB534-7396-485A-ADC2-6FBEBED7A0F4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {881FB534-7396-485A-ADC2-6FBEBED7A0F4}.Debug|Win32.ActiveCfg = Debug|Win32 + {881FB534-7396-485A-ADC2-6FBEBED7A0F4}.Debug|Win32.Build.0 = Debug|Win32 + {881FB534-7396-485A-ADC2-6FBEBED7A0F4}.Release|Win32.ActiveCfg = Release|Win32 + {881FB534-7396-485A-ADC2-6FBEBED7A0F4}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/MilkDrop2/vis_milk2/milkdropfs.cpp b/src/MilkDrop2/vis_milk2/milkdropfs.cpp new file mode 100644 index 0000000000..820188e5bb --- /dev/null +++ b/src/MilkDrop2/vis_milk2/milkdropfs.cpp @@ -0,0 +1,4796 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "plugin.h" +#include "resource.h" +#include "support.h" +//#include "evallib\eval.h" // for math. expr. eval - thanks Francis! (in SourceOffSite, it's the 'vis_avs\evallib' project.) +//#include "evallib\compiler.h" +#include "../ns-eel2/ns-eel.h" +#include "utility.h" +#include +#include + +#define D3DCOLOR_RGBA_01(r,g,b,a) D3DCOLOR_RGBA(((int)(r*255)),((int)(g*255)),((int)(b*255)),((int)(a*255))) +#define FRAND ((warand() % 7381)/7380.0f) + +#define VERT_CLIP 0.75f // warning: top/bottom can get clipped if you go < 0.65! + +int g_title_font_sizes[] = +{ + // NOTE: DO NOT EXCEED 64 FONTS HERE. + 6, 8, 10, 12, 14, 16, + 20, 26, 32, 38, 44, 50, 56, + 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, + 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, + 480, 512 /**/ +}; + +//#define COMPILE_MULTIMON_STUBS 1 +//#include + +// This function evaluates whether the floating-point +// control Word is set to single precision/round to nearest/ +// exceptions disabled. If not, the +// function changes the control Word to set them and returns +// TRUE, putting the old control Word value in the passback +// location pointed to by pwOldCW. +static void MungeFPCW( WORD *pwOldCW ) +{ +#if 0 + BOOL ret = FALSE; + WORD wTemp, wSave; + + __asm fstcw wSave + if (wSave & 0x300 || // Not single mode + 0x3f != (wSave & 0x3f) || // Exceptions enabled + wSave & 0xC00) // Not round to nearest mode + { + __asm + { + mov ax, wSave + and ax, not 300h ;; single mode + or ax, 3fh ;; disable all exceptions + and ax, not 0xC00 ;; round to nearest mode + mov wTemp, ax + fldcw wTemp + } + ret = TRUE; + } + if (pwOldCW) *pwOldCW = wSave; + // return ret; +#else + _controlfp(_PC_24, _MCW_PC); // single precision + _controlfp(_RC_NEAR, _MCW_RC); // round to nearest mode + _controlfp(_EM_ZERODIVIDE, _EM_ZERODIVIDE); // disable divide-by-zero +#endif +} + +void RestoreFPCW(WORD wSave) +{ + __asm fldcw wSave +} + +int GetNumToSpawn(float fTime, float fDeltaT, float fRate, float fRegularity, int iNumSpawnedSoFar) +{ + // PARAMETERS + // ------------ + // fTime: sum of all fDeltaT's so far (excluding this one) + // fDeltaT: time window for this frame + // fRate: avg. rate (spawns per second) of generation + // fRegularity: regularity of generation + // 0.0: totally chaotic + // 0.2: getting chaotic / very jittered + // 0.4: nicely jittered + // 0.6: slightly jittered + // 0.8: almost perfectly regular + // 1.0: perfectly regular + // iNumSpawnedSoFar: the total number of spawnings so far + // + // RETURN VALUE + // ------------ + // The number to spawn for this frame (add this to your net count!). + // + // COMMENTS + // ------------ + // The spawn values returned will, over time, match + // (within 1%) the theoretical totals expected based on the + // amount of time passed and the average generation rate. + // + // UNRESOLVED ISSUES + // ----------------- + // actual results of mixed gen. (0 < reg < 1) are about 1% too low + // in the long run (vs. analytical expectations). Decided not + // to bother fixing it since it's only 1% (and VERY consistent). + + float fNumToSpawnReg; + float fNumToSpawnIrreg; + float fNumToSpawn; + + // compute # spawned based on regular generation + fNumToSpawnReg = ((fTime + fDeltaT) * fRate) - iNumSpawnedSoFar; + + // compute # spawned based on irregular (random) generation + if (fDeltaT <= 1.0f / fRate) + { + // case 1: avg. less than 1 spawn per frame + if ((warand() % 16384)/16384.0f < fDeltaT * fRate) + fNumToSpawnIrreg = 1.0f; + else + fNumToSpawnIrreg = 0.0f; + } + else + { + // case 2: avg. more than 1 spawn per frame + fNumToSpawnIrreg = fDeltaT * fRate; + fNumToSpawnIrreg *= 2.0f*(warand() % 16384)/16384.0f; + } + + // get linear combo. of regular & irregular + fNumToSpawn = fNumToSpawnReg*fRegularity + fNumToSpawnIrreg*(1.0f - fRegularity); + + // round to nearest integer for result + return (int)(fNumToSpawn + 0.49f); +} + +bool CPlugin::OnResizeTextWindow() +{ + /* + if (!m_hTextWnd) + return false; + + RECT rect; + GetClientRect(m_hTextWnd, &rect); + + if (rect.right - rect.left != m_nTextWndWidth || + rect.bottom - rect.top != m_nTextWndHeight) + { + m_nTextWndWidth = rect.right - rect.left; + m_nTextWndHeight = rect.bottom - rect.top; + + // first, resize fonts if necessary + //if (!InitFont()) + //return false; + + // then resize the memory bitmap used for double buffering + if (m_memDC) + { + SelectObject(m_memDC, m_oldBM); // delete our doublebuffer + DeleteObject(m_memDC); + DeleteObject(m_memBM); + m_memDC = NULL; + m_memBM = NULL; + m_oldBM = NULL; + } + + HDC hdc = GetDC(m_hTextWnd); + if (!hdc) return false; + + m_memDC = CreateCompatibleDC(hdc); + m_memBM = CreateCompatibleBitmap(hdc, rect.right - rect.left, rect.bottom - rect.top); + m_oldBM = (HBITMAP)SelectObject(m_memDC,m_memBM); + + ReleaseDC(m_hTextWnd, hdc); + + // save new window pos + WriteRealtimeConfig(); + }*/ + + return true; +} + + +void CPlugin::ClearGraphicsWindow() +{ + // clear the window contents, to avoid a 1-pixel-thick border of noise that sometimes sticks around + /* + RECT rect; + GetClientRect(GetPluginWindow(), &rect); + + HDC hdc = GetDC(GetPluginWindow()); + FillRect(hdc, &rect, m_hBlackBrush); + ReleaseDC(GetPluginWindow(), hdc); + */ +} + +/* +bool CPlugin::OnResizeGraphicsWindow() +{ + // NO LONGER NEEDED, SINCE PLUGIN SHELL CREATES A NEW DIRECTX + // OBJECT WHENEVER WINDOW IS RESIZED. +} +*/ + +bool CPlugin::RenderStringToTitleTexture() // m_szSongMessage +{ + if (!m_lpDDSTitle) // this *can* be NULL, if not much video mem! + return false; + + if (m_supertext.szTextW[0]==0) + return false; + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return false; + + wchar_t szTextToDraw[512]; + swprintf(szTextToDraw, L" %s ", m_supertext.szTextW); //add a space @ end for italicized fonts; and at start, too, because it's centered! + + // Remember the original backbuffer and zbuffer + LPDIRECT3DSURFACE9 pBackBuffer=NULL;//, pZBuffer=NULL; + lpDevice->GetRenderTarget( 0, &pBackBuffer ); + //lpDevice->GetDepthStencilSurface( &pZBuffer ); + + // set render target to m_lpDDSTitle + { + lpDevice->SetTexture(0, NULL); + + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpDDSTitle->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + { + SafeRelease(pBackBuffer); + //SafeRelease(pZBuffer); + return false; + } + lpDevice->SetRenderTarget(0, pNewTarget); + //lpDevice->SetDepthStencilSurface( NULL ); + pNewTarget->Release(); + + lpDevice->SetTexture(0, NULL); + } + + // clear the texture to black + { + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + lpDevice->SetTexture(0, NULL); + + lpDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + + // set up a quad + WFVERTEX verts[4]; + for (int i=0; i<4; i++) + { + verts[i].x = (i%2==0) ? -1.f : 1.f; + verts[i].y = (i/2==0) ? -1.f : 1.f; + verts[i].z = 0; + verts[i].Diffuse = 0xFF000000; + } + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, verts, sizeof(WFVERTEX)); + } + + /*// 1. clip title if too many chars + if (m_supertext.bIsSongTitle) + { + // truncate song title if too long; don't clip custom messages, though! + int clip_chars = 32; + int user_title_size = GetFontHeight(SONGTITLE_FONT); + + #define MIN_CHARS 8 // max clip_chars *for BIG FONTS* + #define MAX_CHARS 64 // max clip chars *for tiny fonts* + float t = (user_title_size-10)/(float)(128-10); + t = min(1,max(0,t)); + clip_chars = (int)(MAX_CHARS - (MAX_CHARS-MIN_CHARS)*t); + + if ((int)strlen(szTextToDraw) > clip_chars+3) + lstrcpy(&szTextToDraw[clip_chars], "..."); + }*/ + + bool ret = true; + + // use 2 lines; must leave room for bottom of 'g' characters and such! + RECT rect; + rect.left = 0; + rect.right = m_nTitleTexSizeX; + rect.top = m_nTitleTexSizeY* 1/21; // otherwise, top of '%' could be cut off (1/21 seems safe) + rect.bottom = m_nTitleTexSizeY*17/21; // otherwise, bottom of 'g' could be cut off (18/21 seems safe, but we want some leeway) + + if (!m_supertext.bIsSongTitle) + { + // custom msg -> pick font to use that will best fill the texture + + HFONT gdi_font = NULL; + LPD3DXFONT d3dx_font = NULL; + + int lo = 0; + int hi = sizeof(g_title_font_sizes)/sizeof(int) - 1; + + // limit the size of the font used: + + //int user_title_size = GetFontHeight(SONGTITLE_FONT); + //while (g_title_font_sizes[hi] > user_title_size*2 && hi>4) + // hi--; + + RECT temp; + while (1)//(lo < hi-1) + { + int mid = (lo+hi)/2; + + // create new gdi font at 'mid' size: + gdi_font = CreateFontW( g_title_font_sizes[mid], 0, 0, 0, m_supertext.bBold ? 900 : 400, m_supertext.bItal, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, + m_fontinfo[SONGTITLE_FONT].bAntiAliased ? ANTIALIASED_QUALITY : DEFAULT_QUALITY, + DEFAULT_PITCH, m_supertext.nFontFace ); + if (gdi_font) + { + // create new d3dx font at 'mid' size: + if (pCreateFontW( + lpDevice, + g_title_font_sizes[mid], + 0, + m_supertext.bBold ? 900 : 400, + 1, + m_supertext.bItal, + DEFAULT_CHARSET, + OUT_DEFAULT_PRECIS, + ANTIALIASED_QUALITY,//m_fontinfo[SONGTITLE_FONT].bAntiAliased ? ANTIALIASED_QUALITY : DEFAULT_QUALITY, + DEFAULT_PITCH, + m_supertext.nFontFace, + &d3dx_font + ) == D3D_OK) + { + if (lo == hi-1) + break; // DONE; but the 'lo'-size font is ready for use! + + // compute size of text if drawn w/font of THIS size: + temp = rect; + int h = d3dx_font->DrawTextW(NULL, szTextToDraw, -1, &temp, DT_SINGLELINE | DT_CALCRECT /*| DT_NOPREFIX*/, 0xFFFFFFFF); + + // adjust & prepare to reiterate: + if (temp.right >= rect.right || h > rect.bottom-rect.top) + hi = mid; + else + lo = mid; + + SafeRelease(d3dx_font); + } + + DeleteObject(gdi_font); gdi_font=NULL; + } + } + + if (gdi_font && d3dx_font) + { + // do actual drawing + set m_supertext.nFontSizeUsed; use 'lo' size + int h = d3dx_font->DrawTextW(NULL, szTextToDraw, -1, &temp, DT_SINGLELINE | DT_CALCRECT /*| DT_NOPREFIX*/ | DT_CENTER, 0xFFFFFFFF); + temp.left = 0; + temp.right = m_nTitleTexSizeX; // now allow text to go all the way over, since we're actually drawing! + temp.top = m_nTitleTexSizeY/2 - h/2; + temp.bottom = m_nTitleTexSizeY/2 + h/2; + m_supertext.nFontSizeUsed = d3dx_font->DrawTextW(NULL, szTextToDraw, -1, &temp, DT_SINGLELINE /*| DT_NOPREFIX*/ | DT_CENTER, 0xFFFFFFFF); + + ret = true; + } + else + { + ret = false; + } + + // clean up font: + SafeRelease(d3dx_font); + if (gdi_font) DeleteObject(gdi_font); gdi_font=NULL; + } + else // song title + { + wchar_t* str = m_supertext.szTextW; + + // clip the text manually... + // NOTE: DT_END_ELLIPSIS CAUSES NOTHING TO DRAW, IF YOU USE W/D3DX9! + int h; + int max_its = 6; + int it = 0; + while (it < max_its) + { + it++; + + if (!str[0]) + break; + + RECT temp = rect; + h = m_d3dx_title_font_doublesize->DrawTextW(NULL, str, -1, &temp, DT_SINGLELINE | DT_CALCRECT /*| DT_NOPREFIX | DT_END_ELLIPSIS*/, 0xFFFFFFFF); + if (temp.right-temp.left <= m_nTitleTexSizeX) + break; + + // 11/01/2009 DO - disabled as it was causing to users 'random' titles against + // what is expected so we now just work on the ellipse at the end approach which + + // manually clip the text... chop segments off the front + /*wchar_t* p = wcsstr(str, L" - "); + if (p) + { + str = p+3; + continue; + }*/ + + // no more stuff to chop off the front; chop off the end w/ ... + int len = wcslen(str); + float fPercentToKeep = 0.91f * m_nTitleTexSizeX / (float)(temp.right-temp.left); + if (len > 8) + lstrcpyW( &str[ (int)(len*fPercentToKeep) ], L"..."); + break; + } + + // now actually draw it + RECT temp; + temp.left = 0; + temp.right = m_nTitleTexSizeX; // now allow text to go all the way over, since we're actually drawing! + temp.top = m_nTitleTexSizeY/2 - h/2; + temp.bottom = m_nTitleTexSizeY/2 + h/2; + + // NOTE: DT_END_ELLIPSIS CAUSES NOTHING TO DRAW, IF YOU USE W/D3DX9! + m_supertext.nFontSizeUsed = m_d3dx_title_font_doublesize->DrawTextW(NULL, str, -1, &temp, DT_SINGLELINE /*| DT_NOPREFIX | DT_END_ELLIPSIS*/ | DT_CENTER , 0xFFFFFFFF); + } + + // Change the rendertarget back to the original setup + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderTarget( 0, pBackBuffer ); + //lpDevice->SetDepthStencilSurface( pZBuffer ); + SafeRelease(pBackBuffer); + //SafeRelease(pZBuffer); + + return ret; +} + +void CPlugin::LoadPerFrameEvallibVars(CState* pState) +{ + // load the 'var_pf_*' variables in this CState object with the correct values. + // for vars that affect pixel motion, that means evaluating them at time==-1, + // (i.e. no blending w/blendto value); the blending of the file dx/dy + // will be done *after* execution of the per-vertex code. + // for vars that do NOT affect pixel motion, evaluate them at the current time, + // so that if they're blending, both states see the blended value. + + // 1. vars that affect pixel motion: (eval at time==-1) + *pState->var_pf_zoom = (double)pState->m_fZoom.eval(-1);//GetTime()); + *pState->var_pf_zoomexp = (double)pState->m_fZoomExponent.eval(-1);//GetTime()); + *pState->var_pf_rot = (double)pState->m_fRot.eval(-1);//GetTime()); + *pState->var_pf_warp = (double)pState->m_fWarpAmount.eval(-1);//GetTime()); + *pState->var_pf_cx = (double)pState->m_fRotCX.eval(-1);//GetTime()); + *pState->var_pf_cy = (double)pState->m_fRotCY.eval(-1);//GetTime()); + *pState->var_pf_dx = (double)pState->m_fXPush.eval(-1);//GetTime()); + *pState->var_pf_dy = (double)pState->m_fYPush.eval(-1);//GetTime()); + *pState->var_pf_sx = (double)pState->m_fStretchX.eval(-1);//GetTime()); + *pState->var_pf_sy = (double)pState->m_fStretchY.eval(-1);//GetTime()); + // read-only: + *pState->var_pf_time = (double)(GetTime() - m_fStartTime); + *pState->var_pf_fps = (double)GetFps(); + *pState->var_pf_bass = (double)mysound.imm_rel[0]; + *pState->var_pf_mid = (double)mysound.imm_rel[1]; + *pState->var_pf_treb = (double)mysound.imm_rel[2]; + *pState->var_pf_bass_att = (double)mysound.avg_rel[0]; + *pState->var_pf_mid_att = (double)mysound.avg_rel[1]; + *pState->var_pf_treb_att = (double)mysound.avg_rel[2]; + *pState->var_pf_frame = (double)GetFrame(); + //*pState->var_pf_monitor = 0; -leave this as it was set in the per-frame INIT code! + for (int vi=0; vivar_pf_q[vi] = pState->q_values_after_init_code[vi];//0.0f; + *pState->var_pf_monitor = pState->monitor_after_init_code; + *pState->var_pf_progress = (GetTime() - m_fPresetStartTime) / (m_fNextPresetTime - m_fPresetStartTime); + + // 2. vars that do NOT affect pixel motion: (eval at time==now) + *pState->var_pf_decay = (double)pState->m_fDecay.eval(GetTime()); + *pState->var_pf_wave_a = (double)pState->m_fWaveAlpha.eval(GetTime()); + *pState->var_pf_wave_r = (double)pState->m_fWaveR.eval(GetTime()); + *pState->var_pf_wave_g = (double)pState->m_fWaveG.eval(GetTime()); + *pState->var_pf_wave_b = (double)pState->m_fWaveB.eval(GetTime()); + *pState->var_pf_wave_x = (double)pState->m_fWaveX.eval(GetTime()); + *pState->var_pf_wave_y = (double)pState->m_fWaveY.eval(GetTime()); + *pState->var_pf_wave_mystery= (double)pState->m_fWaveParam.eval(GetTime()); + *pState->var_pf_wave_mode = (double)pState->m_nWaveMode; //?!?! -why won't it work if set to pState->m_nWaveMode??? + *pState->var_pf_ob_size = (double)pState->m_fOuterBorderSize.eval(GetTime()); + *pState->var_pf_ob_r = (double)pState->m_fOuterBorderR.eval(GetTime()); + *pState->var_pf_ob_g = (double)pState->m_fOuterBorderG.eval(GetTime()); + *pState->var_pf_ob_b = (double)pState->m_fOuterBorderB.eval(GetTime()); + *pState->var_pf_ob_a = (double)pState->m_fOuterBorderA.eval(GetTime()); + *pState->var_pf_ib_size = (double)pState->m_fInnerBorderSize.eval(GetTime()); + *pState->var_pf_ib_r = (double)pState->m_fInnerBorderR.eval(GetTime()); + *pState->var_pf_ib_g = (double)pState->m_fInnerBorderG.eval(GetTime()); + *pState->var_pf_ib_b = (double)pState->m_fInnerBorderB.eval(GetTime()); + *pState->var_pf_ib_a = (double)pState->m_fInnerBorderA.eval(GetTime()); + *pState->var_pf_mv_x = (double)pState->m_fMvX.eval(GetTime()); + *pState->var_pf_mv_y = (double)pState->m_fMvY.eval(GetTime()); + *pState->var_pf_mv_dx = (double)pState->m_fMvDX.eval(GetTime()); + *pState->var_pf_mv_dy = (double)pState->m_fMvDY.eval(GetTime()); + *pState->var_pf_mv_l = (double)pState->m_fMvL.eval(GetTime()); + *pState->var_pf_mv_r = (double)pState->m_fMvR.eval(GetTime()); + *pState->var_pf_mv_g = (double)pState->m_fMvG.eval(GetTime()); + *pState->var_pf_mv_b = (double)pState->m_fMvB.eval(GetTime()); + *pState->var_pf_mv_a = (double)pState->m_fMvA.eval(GetTime()); + *pState->var_pf_echo_zoom = (double)pState->m_fVideoEchoZoom.eval(GetTime()); + *pState->var_pf_echo_alpha = (double)pState->m_fVideoEchoAlpha.eval(GetTime()); + *pState->var_pf_echo_orient = (double)pState->m_nVideoEchoOrientation; + // new in v1.04: + *pState->var_pf_wave_usedots = (double)pState->m_bWaveDots; + *pState->var_pf_wave_thick = (double)pState->m_bWaveThick; + *pState->var_pf_wave_additive = (double)pState->m_bAdditiveWaves; + *pState->var_pf_wave_brighten = (double)pState->m_bMaximizeWaveColor; + *pState->var_pf_darken_center = (double)pState->m_bDarkenCenter; + *pState->var_pf_gamma = (double)pState->m_fGammaAdj.eval(GetTime()); + *pState->var_pf_wrap = (double)pState->m_bTexWrap; + *pState->var_pf_invert = (double)pState->m_bInvert; + *pState->var_pf_brighten = (double)pState->m_bBrighten; + *pState->var_pf_darken = (double)pState->m_bDarken; + *pState->var_pf_solarize = (double)pState->m_bSolarize; + *pState->var_pf_meshx = (double)m_nGridX; + *pState->var_pf_meshy = (double)m_nGridY; + *pState->var_pf_pixelsx = (double)GetWidth(); + *pState->var_pf_pixelsy = (double)GetHeight(); + *pState->var_pf_aspectx = (double)m_fInvAspectX; + *pState->var_pf_aspecty = (double)m_fInvAspectY; + // new in v2.0: + *pState->var_pf_blur1min = (double)pState->m_fBlur1Min.eval(GetTime()); + *pState->var_pf_blur2min = (double)pState->m_fBlur2Min.eval(GetTime()); + *pState->var_pf_blur3min = (double)pState->m_fBlur3Min.eval(GetTime()); + *pState->var_pf_blur1max = (double)pState->m_fBlur1Max.eval(GetTime()); + *pState->var_pf_blur2max = (double)pState->m_fBlur2Max.eval(GetTime()); + *pState->var_pf_blur3max = (double)pState->m_fBlur3Max.eval(GetTime()); + *pState->var_pf_blur1_edge_darken = (double)pState->m_fBlur1EdgeDarken.eval(GetTime()); +} + +void CPlugin::RunPerFrameEquations(int code) +{ + // run per-frame calculations + + /* + code is only valid when blending. + OLDcomp ~ blend-from preset has a composite shader; + NEWwarp ~ blend-to preset has a warp shader; etc. + + code OLDcomp NEWcomp OLDwarp NEWwarp + 0 + 1 1 + 2 1 + 3 1 1 + 4 1 + 5 1 1 + 6 1 1 + 7 1 1 1 + 8 1 + 9 1 1 + 10 1 1 + 11 1 1 1 + 12 1 1 + 13 1 1 1 + 14 1 1 1 + 15 1 1 1 1 + */ + + // when blending booleans (like darken, invert, etc) for pre-shader presets, + // if blending to/from a pixel-shader preset, we can tune the snap point + // (when it changes during the blend) for a less jumpy transition: + m_fSnapPoint = 0.5f; + if (m_pState->m_bBlending) + { + switch(code) + { + case 4: + case 6: + case 12: + case 14: + // old preset (only) had a comp shader + m_fSnapPoint = -0.01f; + break; + case 1: + case 3: + case 9: + case 11: + // new preset (only) has a comp shader + m_fSnapPoint = 1.01f; + break; + case 0: + case 2: + case 8: + case 10: + // neither old or new preset had a comp shader + m_fSnapPoint = 0.5f; + break; + case 5: + case 7: + case 13: + case 15: + // both old and new presets use a comp shader - so it won't matter + m_fSnapPoint = 0.5f; + break; + } + } + + int num_reps = (m_pState->m_bBlending) ? 2 : 1; + for (int rep=0; repvar_pv_time = *pState->var_pf_time; + *pState->var_pv_fps = *pState->var_pf_fps; + *pState->var_pv_frame = *pState->var_pf_frame; + *pState->var_pv_progress = *pState->var_pf_progress; + *pState->var_pv_bass = *pState->var_pf_bass; + *pState->var_pv_mid = *pState->var_pf_mid; + *pState->var_pv_treb = *pState->var_pf_treb; + *pState->var_pv_bass_att = *pState->var_pf_bass_att; + *pState->var_pv_mid_att = *pState->var_pf_mid_att; + *pState->var_pv_treb_att = *pState->var_pf_treb_att; + *pState->var_pv_meshx = (double)m_nGridX; + *pState->var_pv_meshy = (double)m_nGridY; + *pState->var_pv_pixelsx = (double)GetWidth(); + *pState->var_pv_pixelsy = (double)GetHeight(); + *pState->var_pv_aspectx = (double)m_fInvAspectX; + *pState->var_pv_aspecty = (double)m_fInvAspectY; + //*pState->var_pv_monitor = *pState->var_pf_monitor; + + // execute once-per-frame expressions: +#ifndef _NO_EXPR_ + if (pState->m_pf_codehandle) + { + if (pState->m_pf_codehandle) + { + NSEEL_code_execute(pState->m_pf_codehandle); + } + } +#endif + + // save some things for next frame: + pState->monitor_after_init_code = *pState->var_pf_monitor; + + // save some things for per-vertex code: + for (int vi=0; vivar_pv_q[vi] = *pState->var_pf_q[vi]; + + // (a few range checks:) + *pState->var_pf_gamma = max(0 , min( 8, *pState->var_pf_gamma )); + *pState->var_pf_echo_zoom = max(0.001, min( 1000, *pState->var_pf_echo_zoom)); + + /* + if (m_pState->m_bRedBlueStereo || m_bAlways3D) + { + // override wave colors + *pState->var_pf_wave_r = 0.35f*(*pState->var_pf_wave_r) + 0.65f; + *pState->var_pf_wave_g = 0.35f*(*pState->var_pf_wave_g) + 0.65f; + *pState->var_pf_wave_b = 0.35f*(*pState->var_pf_wave_b) + 0.65f; + } + */ + } + + if (m_pState->m_bBlending) + { + // For all variables that do NOT affect pixel motion, blend them NOW, + // so later the user can just access m_pState->m_pf_whatever. + double mix = (double)CosineInterp(m_pState->m_fBlendProgress); + double mix2 = 1.0 - mix; + *m_pState->var_pf_decay = mix*(*m_pState->var_pf_decay ) + mix2*(*m_pOldState->var_pf_decay ); + *m_pState->var_pf_wave_a = mix*(*m_pState->var_pf_wave_a ) + mix2*(*m_pOldState->var_pf_wave_a ); + *m_pState->var_pf_wave_r = mix*(*m_pState->var_pf_wave_r ) + mix2*(*m_pOldState->var_pf_wave_r ); + *m_pState->var_pf_wave_g = mix*(*m_pState->var_pf_wave_g ) + mix2*(*m_pOldState->var_pf_wave_g ); + *m_pState->var_pf_wave_b = mix*(*m_pState->var_pf_wave_b ) + mix2*(*m_pOldState->var_pf_wave_b ); + *m_pState->var_pf_wave_x = mix*(*m_pState->var_pf_wave_x ) + mix2*(*m_pOldState->var_pf_wave_x ); + *m_pState->var_pf_wave_y = mix*(*m_pState->var_pf_wave_y ) + mix2*(*m_pOldState->var_pf_wave_y ); + *m_pState->var_pf_wave_mystery = mix*(*m_pState->var_pf_wave_mystery) + mix2*(*m_pOldState->var_pf_wave_mystery); + // wave_mode: exempt (integer) + *m_pState->var_pf_ob_size = mix*(*m_pState->var_pf_ob_size ) + mix2*(*m_pOldState->var_pf_ob_size ); + *m_pState->var_pf_ob_r = mix*(*m_pState->var_pf_ob_r ) + mix2*(*m_pOldState->var_pf_ob_r ); + *m_pState->var_pf_ob_g = mix*(*m_pState->var_pf_ob_g ) + mix2*(*m_pOldState->var_pf_ob_g ); + *m_pState->var_pf_ob_b = mix*(*m_pState->var_pf_ob_b ) + mix2*(*m_pOldState->var_pf_ob_b ); + *m_pState->var_pf_ob_a = mix*(*m_pState->var_pf_ob_a ) + mix2*(*m_pOldState->var_pf_ob_a ); + *m_pState->var_pf_ib_size = mix*(*m_pState->var_pf_ib_size ) + mix2*(*m_pOldState->var_pf_ib_size ); + *m_pState->var_pf_ib_r = mix*(*m_pState->var_pf_ib_r ) + mix2*(*m_pOldState->var_pf_ib_r ); + *m_pState->var_pf_ib_g = mix*(*m_pState->var_pf_ib_g ) + mix2*(*m_pOldState->var_pf_ib_g ); + *m_pState->var_pf_ib_b = mix*(*m_pState->var_pf_ib_b ) + mix2*(*m_pOldState->var_pf_ib_b ); + *m_pState->var_pf_ib_a = mix*(*m_pState->var_pf_ib_a ) + mix2*(*m_pOldState->var_pf_ib_a ); + *m_pState->var_pf_mv_x = mix*(*m_pState->var_pf_mv_x ) + mix2*(*m_pOldState->var_pf_mv_x ); + *m_pState->var_pf_mv_y = mix*(*m_pState->var_pf_mv_y ) + mix2*(*m_pOldState->var_pf_mv_y ); + *m_pState->var_pf_mv_dx = mix*(*m_pState->var_pf_mv_dx ) + mix2*(*m_pOldState->var_pf_mv_dx ); + *m_pState->var_pf_mv_dy = mix*(*m_pState->var_pf_mv_dy ) + mix2*(*m_pOldState->var_pf_mv_dy ); + *m_pState->var_pf_mv_l = mix*(*m_pState->var_pf_mv_l ) + mix2*(*m_pOldState->var_pf_mv_l ); + *m_pState->var_pf_mv_r = mix*(*m_pState->var_pf_mv_r ) + mix2*(*m_pOldState->var_pf_mv_r ); + *m_pState->var_pf_mv_g = mix*(*m_pState->var_pf_mv_g ) + mix2*(*m_pOldState->var_pf_mv_g ); + *m_pState->var_pf_mv_b = mix*(*m_pState->var_pf_mv_b ) + mix2*(*m_pOldState->var_pf_mv_b ); + *m_pState->var_pf_mv_a = mix*(*m_pState->var_pf_mv_a ) + mix2*(*m_pOldState->var_pf_mv_a ); + *m_pState->var_pf_echo_zoom = mix*(*m_pState->var_pf_echo_zoom ) + mix2*(*m_pOldState->var_pf_echo_zoom ); + *m_pState->var_pf_echo_alpha = mix*(*m_pState->var_pf_echo_alpha ) + mix2*(*m_pOldState->var_pf_echo_alpha ); + *m_pState->var_pf_echo_orient = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_echo_orient : *m_pState->var_pf_echo_orient; + // added in v1.04: + *m_pState->var_pf_wave_usedots = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_wave_usedots : *m_pState->var_pf_wave_usedots ; + *m_pState->var_pf_wave_thick = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_wave_thick : *m_pState->var_pf_wave_thick ; + *m_pState->var_pf_wave_additive= (mix < m_fSnapPoint) ? *m_pOldState->var_pf_wave_additive : *m_pState->var_pf_wave_additive; + *m_pState->var_pf_wave_brighten= (mix < m_fSnapPoint) ? *m_pOldState->var_pf_wave_brighten : *m_pState->var_pf_wave_brighten; + *m_pState->var_pf_darken_center= (mix < m_fSnapPoint) ? *m_pOldState->var_pf_darken_center : *m_pState->var_pf_darken_center; + *m_pState->var_pf_gamma = mix*(*m_pState->var_pf_gamma ) + mix2*(*m_pOldState->var_pf_gamma ); + *m_pState->var_pf_wrap = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_wrap : *m_pState->var_pf_wrap ; + *m_pState->var_pf_invert = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_invert : *m_pState->var_pf_invert ; + *m_pState->var_pf_brighten = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_brighten : *m_pState->var_pf_brighten ; + *m_pState->var_pf_darken = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_darken : *m_pState->var_pf_darken ; + *m_pState->var_pf_solarize = (mix < m_fSnapPoint) ? *m_pOldState->var_pf_solarize : *m_pState->var_pf_solarize ; + // added in v2.0: + *m_pState->var_pf_blur1min = mix*(*m_pState->var_pf_blur1min ) + mix2*(*m_pOldState->var_pf_blur1min ); + *m_pState->var_pf_blur2min = mix*(*m_pState->var_pf_blur2min ) + mix2*(*m_pOldState->var_pf_blur2min ); + *m_pState->var_pf_blur3min = mix*(*m_pState->var_pf_blur3min ) + mix2*(*m_pOldState->var_pf_blur3min ); + *m_pState->var_pf_blur1max = mix*(*m_pState->var_pf_blur1max ) + mix2*(*m_pOldState->var_pf_blur1max ); + *m_pState->var_pf_blur2max = mix*(*m_pState->var_pf_blur2max ) + mix2*(*m_pOldState->var_pf_blur2max ); + *m_pState->var_pf_blur3max = mix*(*m_pState->var_pf_blur3max ) + mix2*(*m_pOldState->var_pf_blur3max ); + *m_pState->var_pf_blur1_edge_darken = mix*(*m_pState->var_pf_blur1_edge_darken) + mix2*(*m_pOldState->var_pf_blur1_edge_darken); + } +} + +void CPlugin::RenderFrame(int bRedraw) +{ + int i; + + float fDeltaT = 1.0f/GetFps(); + + if (bRedraw) + { + // pre-un-flip buffers, so we are redoing the same work as we did last frame... + IDirect3DTexture9* pTemp = m_lpVS[0]; + m_lpVS[0] = m_lpVS[1]; + m_lpVS[1] = pTemp; + } + + // update time + /* + float fDeltaT = (GetFrame()==0) ? 1.0f/30.0f : GetTime() - m_prev_time; + DWORD dwTime = GetTickCount(); + float fDeltaT = (dwTime - m_dwPrevTickCount)*0.001f; + if (GetFrame() > 64) + { + fDeltaT = (fDeltaT)*0.2f + 0.8f*(1.0f/m_fps); + if (fDeltaT > 2.0f/m_fps) + { + char buf[64]; + sprintf(buf, "fixing time gap of %5.3f seconds", fDeltaT); + dumpmsg(buf); + + fDeltaT = 1.0f/m_fps; + } + } + m_dwPrevTickCount = dwTime; + GetTime() += fDeltaT; + */ + + if (GetFrame()==0) + { + m_fStartTime = GetTime(); + m_fPresetStartTime = GetTime(); + } + + if (m_fNextPresetTime < 0) + { + float dt = m_fTimeBetweenPresetsRand * (warand()%1000)*0.001f; + m_fNextPresetTime = GetTime() + m_fBlendTimeAuto + m_fTimeBetweenPresets + dt; + } + + /* + if (m_bPresetLockedByUser || m_bPresetLockedByCode) + { + // if the user has the preset LOCKED, or if they're in the middle of + // saving it, then keep extending the time at which the auto-switch will occur + // (by the length of this frame). + + m_fPresetStartTime += fDeltaT; + m_fNextPresetTime += fDeltaT; + }*/ + + // update fps + /* + if (GetFrame() < 4) + { + m_fps = 0.0f; + } + else if (GetFrame() <= 64) + { + m_fps = GetFrame() / (float)(GetTime() - m_fTimeHistory[0]); + } + else + { + m_fps = 64.0f / (float)(GetTime() - m_fTimeHistory[m_nTimeHistoryPos]); + } + m_fTimeHistory[m_nTimeHistoryPos] = GetTime(); + m_nTimeHistoryPos = (m_nTimeHistoryPos + 1) % 64; + */ + + // limit fps, if necessary + /* + if (m_nFpsLimit > 0 && (GetFrame() % 64) == 0 && GetFrame() > 64) + { + float spf_now = 1.0f / m_fps; + float spf_desired = 1.0f / (float)m_nFpsLimit; + + float new_sleep = m_fFPSLimitSleep + (spf_desired - spf_now)*1000.0f; + + if (GetFrame() <= 128) + m_fFPSLimitSleep = new_sleep; + else + m_fFPSLimitSleep = m_fFPSLimitSleep*0.8f + 0.2f*new_sleep; + + if (m_fFPSLimitSleep < 0) m_fFPSLimitSleep = 0; + if (m_fFPSLimitSleep > 100) m_fFPSLimitSleep = 100; + + //sprintf(m_szUserMessage, "sleep=%f", m_fFPSLimitSleep); + //m_fShowUserMessageUntilThisTime = GetTime() + 3.0f; + } + + static float deficit; + if (GetFrame()==0) deficit = 0; + float ideal_sleep = (m_fFPSLimitSleep + deficit); + int actual_sleep = (int)ideal_sleep; + if (actual_sleep > 0) + Sleep(actual_sleep); + deficit = ideal_sleep - actual_sleep; + if (deficit < 0) deficit = 0; // just in case + if (deficit > 1) deficit = 1; // just in case + */ + + if (!bRedraw) + { + m_rand_frame = D3DXVECTOR4(FRAND, FRAND, FRAND, FRAND); + + // randomly change the preset, if it's time + if (m_fNextPresetTime < GetTime()) + { + if (m_nLoadingPreset==0) // don't start a load if one is already underway! + LoadRandomPreset(m_fBlendTimeAuto); + } + + // randomly spawn Song Title, if time + if (m_fTimeBetweenRandomSongTitles > 0 && + !m_supertext.bRedrawSuperText && + GetTime() >= m_supertext.fStartTime + m_supertext.fDuration + 1.0f/GetFps()) + { + int n = GetNumToSpawn(GetTime(), fDeltaT, 1.0f/m_fTimeBetweenRandomSongTitles, 0.5f, m_nSongTitlesSpawned); + if (n > 0) + { + LaunchSongTitleAnim(); + m_nSongTitlesSpawned += n; + } + } + + // randomly spawn Custom Message, if time + if (m_fTimeBetweenRandomCustomMsgs > 0 && + !m_supertext.bRedrawSuperText && + GetTime() >= m_supertext.fStartTime + m_supertext.fDuration + 1.0f/GetFps()) + { + int n = GetNumToSpawn(GetTime(), fDeltaT, 1.0f/m_fTimeBetweenRandomCustomMsgs, 0.5f, m_nCustMsgsSpawned); + if (n > 0) + { + LaunchCustomMessage(-1); + m_nCustMsgsSpawned += n; + } + } + + // update m_fBlendProgress; + if (m_pState->m_bBlending) + { + m_pState->m_fBlendProgress = (GetTime() - m_pState->m_fBlendStartTime) / m_pState->m_fBlendDuration; + if (m_pState->m_fBlendProgress > 1.0f) + { + m_pState->m_bBlending = false; + } + } + + // handle hard cuts here (just after new sound analysis) + static float m_fHardCutThresh; + if (GetFrame() == 0) + m_fHardCutThresh = m_fHardCutLoudnessThresh*2.0f; + if (GetFps() > 1.0f && !m_bHardCutsDisabled && !m_bPresetLockedByUser && !m_bPresetLockedByCode) + { + if (mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2] > m_fHardCutThresh*3.0f) + { + if (m_nLoadingPreset==0) // don't start a load if one is already underway! + LoadRandomPreset(0.0f); + m_fHardCutThresh *= 2.0f; + } + else + { + /* + float halflife_modified = m_fHardCutHalflife*0.5f; + //thresh = (thresh - 1.5f)*0.99f + 1.5f; + float k = -0.69315f / halflife_modified;*/ + float k = -1.3863f / (m_fHardCutHalflife*GetFps()); + //float single_frame_multiplier = powf(2.7183f, k / GetFps()); + float single_frame_multiplier = expf(k); + m_fHardCutThresh = (m_fHardCutThresh - m_fHardCutLoudnessThresh)*single_frame_multiplier + m_fHardCutLoudnessThresh; + } + } + + // smooth & scale the audio data, according to m_state, for display purposes + float scale = m_pState->m_fWaveScale.eval(GetTime()) / 128.0f; + mysound.fWave[0][0] *= scale; + mysound.fWave[1][0] *= scale; + float mix2 = m_pState->m_fWaveSmoothing.eval(GetTime()); + float mix1 = scale*(1.0f - mix2); + for (i=1; i<576; i++) + { + mysound.fWave[0][i] = mysound.fWave[0][i]*mix1 + mysound.fWave[0][i-1]*mix2; + mysound.fWave[1][i] = mysound.fWave[1][i]*mix1 + mysound.fWave[1][i-1]*mix2; + } + } + + bool bOldPresetUsesWarpShader = (m_pOldState->m_nWarpPSVersion > 0); + bool bNewPresetUsesWarpShader = (m_pState->m_nWarpPSVersion > 0); + bool bOldPresetUsesCompShader = (m_pOldState->m_nCompPSVersion > 0); + bool bNewPresetUsesCompShader = (m_pState->m_nCompPSVersion > 0); + + // note: 'code' is only meaningful if we are BLENDING. + int code = (bOldPresetUsesWarpShader ? 8 : 0) | + (bOldPresetUsesCompShader ? 4 : 0) | + (bNewPresetUsesWarpShader ? 2 : 0) | + (bNewPresetUsesCompShader ? 1 : 0); + + RunPerFrameEquations(code); + + // restore any lost surfaces + //m_lpDD->RestoreAllSurfaces(); + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + // Remember the original backbuffer and zbuffer + LPDIRECT3DSURFACE9 pBackBuffer=NULL;//, pZBuffer=NULL; + lpDevice->GetRenderTarget( 0, &pBackBuffer ); + //lpDevice->GetDepthStencilSurface( &pZBuffer ); + + // set up render state + { + DWORD texaddr = (*m_pState->var_pf_wrap > m_fSnapPoint) ? D3DTADDRESS_WRAP : D3DTADDRESS_CLAMP; + lpDevice->SetRenderState(D3DRS_WRAP0, 0);//D3DWRAPCOORD_0|D3DWRAPCOORD_1|D3DWRAPCOORD_2|D3DWRAPCOORD_3); + //lpDevice->SetRenderState(D3DRS_WRAP0, (*m_pState->var_pf_wrap) ? D3DWRAP_U|D3DWRAP_V|D3DWRAP_W : 0); + //lpDevice->SetRenderState(D3DRS_WRAP1, (*m_pState->var_pf_wrap) ? D3DWRAP_U|D3DWRAP_V|D3DWRAP_W : 0); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSW, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(1, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); + lpDevice->SetSamplerState(1, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP); + lpDevice->SetSamplerState(1, D3DSAMP_ADDRESSW, D3DTADDRESS_WRAP); + + lpDevice->SetRenderState( D3DRS_SHADEMODE, D3DSHADE_GOURAUD ); + lpDevice->SetRenderState( D3DRS_SPECULARENABLE, FALSE ); + lpDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE ); + lpDevice->SetRenderState( D3DRS_ZENABLE, FALSE ); + lpDevice->SetRenderState( D3DRS_ZWRITEENABLE, FALSE ); + lpDevice->SetRenderState( D3DRS_LIGHTING, FALSE ); + lpDevice->SetRenderState( D3DRS_COLORVERTEX, TRUE ); + lpDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); + lpDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + lpDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFFFFFF ); //? + lpDevice->SetRenderState( D3DRS_CLIPPING, TRUE ); + + // stages 0 and 1 always just use bilinear filtering. + lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + + // note: this texture stage state setup works for 0 or 1 texture. + // if you set a texture, it will be modulated with the current diffuse color. + // if you don't set a texture, it will just use the current diffuse color. + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + // NOTE: don't forget to call SetTexture and SetVertexShader before drawing! + // Examples: + // SPRITEVERTEX verts[4]; // has texcoords + // lpDevice->SetTexture(0, m_sprite_tex); + // lpDevice->SetVertexShader( SPRITEVERTEX_FORMAT ); + // + // WFVERTEX verts[4]; // no texcoords + // lpDevice->SetTexture(0, NULL); + // lpDevice->SetVertexShader( WFVERTEX_FORMAT ); + } + + // render string to m_lpDDSTitle, if necessary + if (m_supertext.bRedrawSuperText) + { + if (!RenderStringToTitleTexture()) + m_supertext.fStartTime = -1.0f; + m_supertext.bRedrawSuperText = false; + } + + // set up to render [from NULL] to VS0 (for motion vectors). + { + lpDevice->SetTexture(0, NULL); + + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpVS[0]->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + return; + lpDevice->SetRenderTarget(0, pNewTarget ); + //lpDevice->SetDepthStencilSurface( NULL ); + pNewTarget->Release(); + + lpDevice->SetTexture(0, NULL); + } + + // draw motion vectors to VS0 + DrawMotionVectors(); + + lpDevice->SetTexture(0, NULL); + lpDevice->SetTexture(1, NULL); + + // on first frame, clear OLD VS. + if (m_nFramesSinceResize == 0) + { + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpVS[0]->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + return; + lpDevice->SetRenderTarget(0, pNewTarget ); + //lpDevice->SetDepthStencilSurface( NULL ); + pNewTarget->Release(); + + lpDevice->Clear(0, NULL, D3DCLEAR_TARGET, 0x00000000, 1.0f, 0); + } + + // set up to render [from VS0] to VS1. + { + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpVS[1]->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + return; + lpDevice->SetRenderTarget(0, pNewTarget ); + //lpDevice->SetDepthStencilSurface( NULL ); + pNewTarget->Release(); + } + + if (m_bAutoGamma && GetFrame()==0) + { + if (strstr(GetDriverDescription(), "nvidia") || + strstr(GetDriverDescription(), "nVidia") || + strstr(GetDriverDescription(), "NVidia") || + strstr(GetDriverDescription(), "NVIDIA")) + m_n16BitGamma = 2; + else if (strstr(GetDriverDescription(), "ATI RAGE MOBILITY M")) + m_n16BitGamma = 2; + else + m_n16BitGamma = 0; + } + + ComputeGridAlphaValues(); + + // do the warping for this frame [warp shader] + if (!m_pState->m_bBlending) + { + // no blend + if (bNewPresetUsesWarpShader) + WarpedBlit_Shaders(1, false, false, false, false); + else + WarpedBlit_NoShaders(1, false, false, false, false); + } + else + { + // blending + // WarpedBlit( nPass, bAlphaBlend, bFlipAlpha, bCullTiles, bFlipCulling ) + // note: alpha values go from 0..1 during a blend. + // note: bFlipCulling==false means tiles with alpha>0 will draw. + // bFlipCulling==true means tiles with alpha<255 will draw. + + if (bOldPresetUsesWarpShader && bNewPresetUsesWarpShader) + { + WarpedBlit_Shaders (0, false, false, true, true); + WarpedBlit_Shaders (1, true, false, true, false); + } + else if (!bOldPresetUsesWarpShader && bNewPresetUsesWarpShader) + { + WarpedBlit_NoShaders(0, false, false, true, true); + WarpedBlit_Shaders (1, true, false, true, false); + } + else if (bOldPresetUsesWarpShader && !bNewPresetUsesWarpShader) + { + WarpedBlit_Shaders (0, false, false, true, true); + WarpedBlit_NoShaders(1, true, false, true, false); + } + else if (!bOldPresetUsesWarpShader && !bNewPresetUsesWarpShader) + { + //WarpedBlit_NoShaders(0, false, false, true, true); + //WarpedBlit_NoShaders(1, true, false, true, false); + + // special case - all the blending just happens in the vertex UV's, so just pretend there's no blend. + WarpedBlit_NoShaders(1, false, false, false, false); + } + } + + if (m_nMaxPSVersion > 0) + BlurPasses(); + + // draw audio data + DrawCustomShapes(); // draw these first; better for feedback if the waves draw *over* them. + DrawCustomWaves(); + DrawWave(mysound.fWave[0], mysound.fWave[1]); + DrawSprites(); + + float fProgress = (GetTime() - m_supertext.fStartTime) / m_supertext.fDuration; + + // if song title animation just ended, burn it into the VS: + if (m_supertext.fStartTime >= 0 && + fProgress >= 1.0f && + !m_supertext.bRedrawSuperText) + { + ShowSongTitleAnim(m_nTexSizeX, m_nTexSizeY, 1.0f); + } + + // Change the rendertarget back to the original setup + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderTarget(0, pBackBuffer ); + //lpDevice->SetDepthStencilSurface( pZBuffer ); + SafeRelease(pBackBuffer); + //SafeRelease(pZBuffer); + + // show it to the user [composite shader] + if (!m_pState->m_bBlending) + { + // no blend + if (bNewPresetUsesCompShader) + ShowToUser_Shaders(1, false, false, false, false); + else + ShowToUser_NoShaders();//1, false, false, false, false); + } + else + { + // blending + // ShowToUser( nPass, bAlphaBlend, bFlipAlpha, bCullTiles, bFlipCulling ) + // note: alpha values go from 0..1 during a blend. + // note: bFlipCulling==false means tiles with alpha>0 will draw. + // bFlipCulling==true means tiles with alpha<255 will draw. + + // NOTE: ShowToUser_NoShaders() must always come before ShowToUser_Shaders(), + // because it always draws the full quad (it can't do tile culling or alpha blending). + // [third case here] + + if (bOldPresetUsesCompShader && bNewPresetUsesCompShader) + { + ShowToUser_Shaders (0, false, false, true, true); + ShowToUser_Shaders (1, true, false, true, false); + } + else if (!bOldPresetUsesCompShader && bNewPresetUsesCompShader) + { + ShowToUser_NoShaders(); + ShowToUser_Shaders (1, true, false, true, false); + } + else if (bOldPresetUsesCompShader && !bNewPresetUsesCompShader) + { + // THA FUNKY REVERSAL + //ShowToUser_Shaders (0); + //ShowToUser_NoShaders(1); + ShowToUser_NoShaders(); + ShowToUser_Shaders (0, true, true, true, true); + } + else if (!bOldPresetUsesCompShader && !bNewPresetUsesCompShader) + { + // special case - all the blending just happens in the blended state vars, so just pretend there's no blend. + ShowToUser_NoShaders();//1, false, false, false, false); + } + } + + // finally, render song title animation to back buffer + if (m_supertext.fStartTime >= 0 && + !m_supertext.bRedrawSuperText) + { + ShowSongTitleAnim(GetWidth(), GetHeight(), min(fProgress, 0.9999f)); + if (fProgress >= 1.0f) + m_supertext.fStartTime = -1.0f; // 'off' state + } + + DrawUserSprites(); + + // flip buffers + IDirect3DTexture9* pTemp = m_lpVS[0]; + m_lpVS[0] = m_lpVS[1]; + m_lpVS[1] = pTemp; + + /* + // FIXME - remove EnforceMaxFPS() if never used + //EnforceMaxFPS(!(m_nLoadingPreset==1 || m_nLoadingPreset==2 || m_nLoadingPreset==4 || m_nLoadingPreset==5)); // this call just turns it on or off; doesn't do it now... + //EnforceMaxFPS(!(m_nLoadingPreset==2 || m_nLoadingPreset==5)); // this call just turns it on or off; doesn't do it now... + + // FIXME - remove this stuff, and change 'm_last_raw_time' in pluginshell (and others) back to private. + static float fOldTime = 0; + float fNewTime = (float)((double)m_last_raw_time/(double)m_high_perf_timer_freq.QuadPart); + float dt = fNewTime-fOldTime; + if (m_nLoadingPreset != 0) { + char buf[256]; + sprintf(buf, "m_nLoadingPreset==%d: dt=%d ms\n", m_nLoadingPreset, (int)(dt*1000) ); + OutputDebugString(buf); + } + fOldTime = fNewTime; + */ +} + +void CPlugin::DrawMotionVectors() +{ + // FLEXIBLE MOTION VECTOR FIELD + if ((float)*m_pState->var_pf_mv_a >= 0.001f) + { + //------------------------------------------------------- + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader(NULL); + lpDevice->SetFVF(WFVERTEX_FORMAT); + //------------------------------------------------------- + + int x,y; + + int nX = (int)(*m_pState->var_pf_mv_x);// + 0.999f); + int nY = (int)(*m_pState->var_pf_mv_y);// + 0.999f); + float dx = (float)*m_pState->var_pf_mv_x - nX; + float dy = (float)*m_pState->var_pf_mv_y - nY; + if (nX > 64) { nX = 64; dx = 0; } + if (nY > 48) { nY = 48; dy = 0; } + + if (nX > 0 && nY > 0) + { + /* + float dx2 = m_fMotionVectorsTempDx;//(*m_pState->var_pf_mv_dx) * 0.05f*GetTime(); // 0..1 range + float dy2 = m_fMotionVectorsTempDy;//(*m_pState->var_pf_mv_dy) * 0.05f*GetTime(); // 0..1 range + if (GetFps() > 2.0f && GetFps() < 300.0f) + { + dx2 += (float)(*m_pState->var_pf_mv_dx) * 0.05f / GetFps(); + dy2 += (float)(*m_pState->var_pf_mv_dy) * 0.05f / GetFps(); + } + if (dx2 > 1.0f) dx2 -= (int)dx2; + if (dy2 > 1.0f) dy2 -= (int)dy2; + if (dx2 < 0.0f) dx2 = 1.0f - (-dx2 - (int)(-dx2)); + if (dy2 < 0.0f) dy2 = 1.0f - (-dy2 - (int)(-dy2)); + // hack: when there is only 1 motion vector on the screem, to keep it in + // the center, we gradually migrate it toward 0.5. + dx2 = dx2*0.995f + 0.5f*0.005f; + dy2 = dy2*0.995f + 0.5f*0.005f; + // safety catch + if (dx2 < 0 || dx2 > 1 || dy2 < 0 || dy2 > 1) + { + dx2 = 0.5f; + dy2 = 0.5f; + } + m_fMotionVectorsTempDx = dx2; + m_fMotionVectorsTempDy = dy2;*/ + float dx2 = (float)(*m_pState->var_pf_mv_dx); + float dy2 = (float)(*m_pState->var_pf_mv_dy); + + float len_mult = (float)*m_pState->var_pf_mv_l; + if (dx < 0) dx = 0; + if (dy < 0) dy = 0; + if (dx > 1) dx = 1; + if (dy > 1) dy = 1; + //dx = dx * 1.0f/(float)nX; + //dy = dy * 1.0f/(float)nY; + float inv_texsize = 1.0f/(float)m_nTexSizeX; + float min_len = 1.0f*inv_texsize; + + WFVERTEX v[(64+1)*2]; + ZeroMemory(v, sizeof(WFVERTEX)*(64+1)*2); + v[0].Diffuse = D3DCOLOR_RGBA_01((float)*m_pState->var_pf_mv_r,(float)*m_pState->var_pf_mv_g,(float)*m_pState->var_pf_mv_b,(float)*m_pState->var_pf_mv_a); + for (x=1; x<(nX+1)*2; x++) + v[x].Diffuse = v[0].Diffuse; + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + + for (y=0; y 0.0001f && fy < 0.9999f) + { + int n = 0; + for (x=0; x 0.0001f && fx < 0.9999f) + { + float fx2, fy2; + ReversePropagatePoint(fx, fy, &fx2, &fy2); // NOTE: THIS IS REALLY A REVERSE-PROPAGATION + //fx2 = fx*2 - fx2; + //fy2 = fy*2 - fy2; + //fx2 = fx + 1.0f/(float)m_nTexSize; + //fy2 = 1-(fy + 1.0f/(float)m_nTexSize); + + // enforce minimum trail lengths: + { + float dx = (fx2 - fx); + float dy = (fy2 - fy); + dx *= len_mult; + dy *= len_mult; + float len = sqrtf(dx*dx + dy*dy); + + if (len > min_len) + { + + } + else if (len > 0.00000001f) + { + len = min_len/len; + dx *= len; + dy *= len; + } + else + { + dx = min_len; + dy = min_len; + } + + fx2 = fx + dx; + fy2 = fy + dy; + } + /**/ + + v[n].x = fx * 2.0f - 1.0f; + v[n].y = fy * 2.0f - 1.0f; + v[n+1].x = fx2 * 2.0f - 1.0f; + v[n+1].y = fy2 * 2.0f - 1.0f; + + // actually, project it in the reverse direction + //v[n+1].x = v[n].x*2.0f - v[n+1].x;// + dx*2; + //v[n+1].y = v[n].y*2.0f - v[n+1].y;// + dy*2; + //v[n].x += dx*2; + //v[n].y += dy*2; + + n += 2; + } + } + + // draw it + lpDevice->DrawPrimitiveUP(D3DPT_LINELIST, n/2, v, sizeof(WFVERTEX)); + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + } + } +} + +/* +void CPlugin::UpdateSongInfo() +{ + if (m_bShowSongTitle || m_bSongTitleAnims) + { + char szOldSongMessage[512]; + lstrcpy(szOldSongMessage, m_szSongMessage); + + if (::GetWindowText(m_hWndParent, m_szSongMessage, sizeof(m_szSongMessage))) + { + // remove ' - Winamp' at end + if (strlen(m_szSongMessage) > 9) + { + int check_pos = strlen(m_szSongMessage) - 9; + if (lstrcmp(" - Winamp", (char *)(m_szSongMessage + check_pos)) == 0) + m_szSongMessage[check_pos] = 0; + } + + // remove ' - Winamp [Paused]' at end + if (strlen(m_szSongMessage) > 18) + { + int check_pos = strlen(m_szSongMessage) - 18; + if (lstrcmp(" - Winamp [Paused]", (char *)(m_szSongMessage + check_pos)) == 0) + m_szSongMessage[check_pos] = 0; + } + + // remove song # and period from beginning + char *p = m_szSongMessage; + while (*p >= '0' && *p <= '9') p++; + if (*p == '.' && *(p+1) == ' ') + { + p += 2; + int pos = 0; + while (*p != 0) + { + m_szSongMessage[pos++] = *p; + p++; + } + m_szSongMessage[pos++] = 0; + } + + // fix &'s for display + /* + { + int pos = 0; + int len = strlen(m_szSongMessage); + while (m_szSongMessage[pos]) + { + if (m_szSongMessage[pos] == '&') + { + for (int x=len; x>=pos; x--) + m_szSongMessage[x+1] = m_szSongMessage[x]; + len++; + pos++; + } + pos++; + } + }*/ + /* + if (m_bSongTitleAnims && + ((lstrcmp(szOldSongMessage, m_szSongMessage) != 0) || (GetFrame()==0))) + { + // launch song title animation + LaunchSongTitleAnim(); + + /* + m_supertext.bRedrawSuperText = true; + m_supertext.bIsSongTitle = true; + lstrcpy(m_supertext.szText, m_szSongMessage); + lstrcpy(m_supertext.nFontFace, m_szTitleFontFace); + m_supertext.fFontSize = (float)m_nTitleFontSize; + m_supertext.bBold = m_bTitleFontBold; + m_supertext.bItal = m_bTitleFontItalic; + m_supertext.fX = 0.5f; + m_supertext.fY = 0.5f; + m_supertext.fGrowth = 1.0f; + m_supertext.fDuration = m_fSongTitleAnimDuration; + m_supertext.nColorR = 255; + m_supertext.nColorG = 255; + m_supertext.nColorB = 255; + + m_supertext.fStartTime = GetTime(); + */ +/* } + } + else + { + sprintf(m_szSongMessage, ""); + } + } + + m_nTrackPlaying = SendMessage(m_hWndParent,WM_USER, 0, 125); + + // append song time + if (m_bShowSongTime && m_nSongPosMS >= 0) + { + float time_s = m_nSongPosMS*0.001f; + + int minutes = (int)(time_s/60); + time_s -= minutes*60; + int seconds = (int)time_s; + time_s -= seconds; + int dsec = (int)(time_s*100); + + sprintf(m_szSongTime, "%d:%02d.%02d", minutes, seconds, dsec); + } + + // append song length + if (m_bShowSongLen && m_nSongLenMS > 0) + { + int len_s = m_nSongLenMS/1000; + int minutes = len_s/60; + int seconds = len_s - minutes*60; + + char buf[512]; + sprintf(buf, " / %d:%02d", minutes, seconds); + lstrcat(m_szSongTime, buf); + } +} +*/ + +bool CPlugin::ReversePropagatePoint(float fx, float fy, float *fx2, float *fy2) +{ + //float fy = y/(float)nMotionVectorsY; + int y0 = (int)(fy*m_nGridY); + float dy = fy*m_nGridY - y0; + + //float fx = x/(float)nMotionVectorsX; + int x0 = (int)(fx*m_nGridX); + float dx = fx*m_nGridX - x0; + + int x1 = x0 + 1; + int y1 = y0 + 1; + + if (x0 < 0) return false; + if (y0 < 0) return false; + //if (x1 < 0) return false; + //if (y1 < 0) return false; + //if (x0 > m_nGridX) return false; + //if (y0 > m_nGridY) return false; + if (x1 > m_nGridX) return false; + if (y1 > m_nGridY) return false; + + float tu, tv; + tu = m_verts[y0*(m_nGridX+1)+x0].tu * (1-dx)*(1-dy); + tv = m_verts[y0*(m_nGridX+1)+x0].tv * (1-dx)*(1-dy); + tu += m_verts[y0*(m_nGridX+1)+x1].tu * (dx)*(1-dy); + tv += m_verts[y0*(m_nGridX+1)+x1].tv * (dx)*(1-dy); + tu += m_verts[y1*(m_nGridX+1)+x0].tu * (1-dx)*(dy); + tv += m_verts[y1*(m_nGridX+1)+x0].tv * (1-dx)*(dy); + tu += m_verts[y1*(m_nGridX+1)+x1].tu * (dx)*(dy); + tv += m_verts[y1*(m_nGridX+1)+x1].tv * (dx)*(dy); + + *fx2 = tu; + *fy2 = 1.0f - tv; + return true; +} + +void CPlugin::GetSafeBlurMinMax(CState* pState, float* blur_min, float* blur_max) +{ + blur_min[0] = (float)*pState->var_pf_blur1min; + blur_min[1] = (float)*pState->var_pf_blur2min; + blur_min[2] = (float)*pState->var_pf_blur3min; + blur_max[0] = (float)*pState->var_pf_blur1max; + blur_max[1] = (float)*pState->var_pf_blur2max; + blur_max[2] = (float)*pState->var_pf_blur3max; + + // check that precision isn't wasted in later blur passes [...min-max gap can't grow!] + // also, if min-max are close to each other, push them apart: + const float fMinDist = 0.1f; + if (blur_max[0] - blur_min[0] < fMinDist) { + float avg = (blur_min[0] + blur_max[0])*0.5f; + blur_min[0] = avg - fMinDist*0.5f; + blur_max[0] = avg - fMinDist*0.5f; + } + blur_max[1] = min(blur_max[0], blur_max[1]); + blur_min[1] = max(blur_min[0], blur_min[1]); + if (blur_max[1] - blur_min[1] < fMinDist) { + float avg = (blur_min[1] + blur_max[1])*0.5f; + blur_min[1] = avg - fMinDist*0.5f; + blur_max[1] = avg - fMinDist*0.5f; + } + blur_max[2] = min(blur_max[1], blur_max[2]); + blur_min[2] = max(blur_min[1], blur_min[2]); + if (blur_max[2] - blur_min[2] < fMinDist) { + float avg = (blur_min[2] + blur_max[2])*0.5f; + blur_min[2] = avg - fMinDist*0.5f; + blur_max[2] = avg - fMinDist*0.5f; + } +} + +void CPlugin::BlurPasses() +{ + #if (NUM_BLUR_TEX>0) + + // Note: Blur is currently a little funky. It blurs the *current* frame after warp; + // this way, it lines up well with the composite pass. However, if you switch + // presets instantly, to one whose *warp* shader uses the blur texture, + // it will be outdated (just for one frame). Oh well. + // This also means that when sampling the blurred textures in the warp shader, + // they are one frame old. This isn't too big a deal. Getting them to match + // up for the composite pass is probably more important. + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + int passes = min(NUM_BLUR_TEX, m_nHighestBlurTexUsedThisFrame*2); + if (passes==0) + return; + + LPDIRECT3DSURFACE9 pBackBuffer=NULL;//, pZBuffer=NULL; + lpDevice->GetRenderTarget( 0, &pBackBuffer ); + + //lpDevice->SetFVF( MYVERTEX_FORMAT ); + lpDevice->SetVertexShader( m_BlurShaders[0].vs.ptr ); + lpDevice->SetVertexDeclaration(m_pMyVertDecl); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + DWORD wrap = D3DTADDRESS_CLAMP;//D3DTADDRESS_WRAP;// : D3DTADDRESS_CLAMP; + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, wrap); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, wrap); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSW, wrap); + lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MAXANISOTROPY, 1); + + IDirect3DSurface9* pNewTarget = NULL; + + // clear texture bindings + for (int i=0; i<16; i++) + lpDevice->SetTexture(i, NULL); + + // set up fullscreen quad + MYVERTEX v[4]; + + v[0].x = -1; + v[0].y = -1; + v[1].x = 1; + v[1].y = -1; + v[2].x = -1; + v[2].y = 1; + v[3].x = 1; + v[3].y = 1; + + v[0].tu = 0; //kiv: upside-down? + v[0].tv = 0; + v[1].tu = 1; + v[1].tv = 0; + v[2].tu = 0; + v[2].tv = 1; + v[3].tu = 1; + v[3].tv = 1; + + const float w[8] = { 4.0f, 3.8f, 3.5f, 2.9f, 1.9f, 1.2f, 0.7f, 0.3f }; //<- user can specify these + float edge_darken = (float)*m_pState->var_pf_blur1_edge_darken; + float blur_min[3], blur_max[3]; + GetSafeBlurMinMax(m_pState, blur_min, blur_max); + + float fscale[3]; + float fbias[3]; + + // figure out the progressive scale & bias needed, at each step, + // to go from one [min..max] range to the next. + float temp_min, temp_max; + fscale[0] = 1.0f / (blur_max[0] - blur_min[0]); + fbias [0] = -blur_min[0] * fscale[0]; + temp_min = (blur_min[1] - blur_min[0]) / (blur_max[0] - blur_min[0]); + temp_max = (blur_max[1] - blur_min[0]) / (blur_max[0] - blur_min[0]); + fscale[1] = 1.0f / (temp_max - temp_min); + fbias [1] = -temp_min * fscale[1]; + temp_min = (blur_min[2] - blur_min[1]) / (blur_max[1] - blur_min[1]); + temp_max = (blur_max[2] - blur_min[1]) / (blur_max[1] - blur_min[1]); + fscale[2] = 1.0f / (temp_max - temp_min); + fbias [2] = -temp_min * fscale[2]; + + // note: warped blit just rendered from VS0 to VS1. + for (i=0; iGetSurfaceLevel(0, &pNewTarget) != D3D_OK) + return; + lpDevice->SetRenderTarget(0, pNewTarget); + pNewTarget->Release(); + + // hook up correct source texture - assume there is only one, at stage 0 + lpDevice->SetTexture(0, (i==0) ? m_lpVS[0] : m_lpBlur[i-1]); + + // set pixel shader + lpDevice->SetPixelShader (m_BlurShaders[i%2].ps.ptr); + + // set constants + LPD3DXCONSTANTTABLE pCT = m_BlurShaders[i%2].ps.CT; + D3DXHANDLE* h = m_BlurShaders[i%2].ps.params.const_handles; + + int srcw = (i==0) ? GetWidth() : m_nBlurTexW[i-1]; + int srch = (i==0) ? GetHeight() : m_nBlurTexH[i-1]; + D3DXVECTOR4 srctexsize = D3DXVECTOR4( (float)srcw, (float)srch, 1.0f/(float)srcw, 1.0f/(float)srch ); + + float fscale_now = fscale[i/2]; + float fbias_now = fbias[i/2]; + + if (i%2==0) + { + // pass 1 (long horizontal pass) + //------------------------------------- + const float w1 = w[0] + w[1]; + const float w2 = w[2] + w[3]; + const float w3 = w[4] + w[5]; + const float w4 = w[6] + w[7]; + const float d1 = 0 + 2*w[1]/w1; + const float d2 = 2 + 2*w[3]/w2; + const float d3 = 4 + 2*w[5]/w3; + const float d4 = 6 + 2*w[7]/w4; + const float w_div = 0.5f/(w1+w2+w3+w4); + //------------------------------------- + //float4 _c0; // source texsize (.xy), and inverse (.zw) + //float4 _c1; // w1..w4 + //float4 _c2; // d1..d4 + //float4 _c3; // scale, bias, w_div, 0 + //------------------------------------- + if (h[0]) pCT->SetVector( lpDevice, h[0], &srctexsize ); + if (h[1]) pCT->SetVector( lpDevice, h[1], &D3DXVECTOR4( w1,w2,w3,w4 )); + if (h[2]) pCT->SetVector( lpDevice, h[2], &D3DXVECTOR4( d1,d2,d3,d4 )); + if (h[3]) pCT->SetVector( lpDevice, h[3], &D3DXVECTOR4( fscale_now,fbias_now,w_div,0)); + } + else + { + // pass 2 (short vertical pass) + //------------------------------------- + const float w1 = w[0]+w[1] + w[2]+w[3]; + const float w2 = w[4]+w[5] + w[6]+w[7]; + const float d1 = 0 + 2*((w[2]+w[3])/w1); + const float d2 = 2 + 2*((w[6]+w[7])/w2); + const float w_div = 1.0f/((w1+w2)*2); + //------------------------------------- + //float4 _c0; // source texsize (.xy), and inverse (.zw) + //float4 _c5; // w1,w2,d1,d2 + //float4 _c6; // w_div, edge_darken_c1, edge_darken_c2, edge_darken_c3 + //------------------------------------- + if (h[0]) pCT->SetVector( lpDevice, h[0], &srctexsize ); + if (h[5]) pCT->SetVector( lpDevice, h[5], &D3DXVECTOR4( w1,w2,d1,d2 )); + if (h[6]) + { + // note: only do this first time; if you do it many times, + // then the super-blurred levels will have big black lines along the top & left sides. + if (i==1) + pCT->SetVector( lpDevice, h[6], &D3DXVECTOR4( w_div,(1-edge_darken),edge_darken,5.0f )); //darken edges + else + pCT->SetVector( lpDevice, h[6], &D3DXVECTOR4( w_div,1.0f,0.0f,5.0f )); // don't darken + } + } + + // draw fullscreen quad + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v, sizeof(MYVERTEX)); + + // clear texture bindings + lpDevice->SetTexture(0, NULL); + } + + lpDevice->SetRenderTarget(0, pBackBuffer); + pBackBuffer->Release(); + lpDevice->SetPixelShader( NULL ); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetTexture(0, NULL); + lpDevice->SetFVF( MYVERTEX_FORMAT ); + #endif + + m_nHighestBlurTexUsedThisFrame = 0; +} + +void CPlugin::ComputeGridAlphaValues() +{ + float fBlend = m_pState->m_fBlendProgress;//max(0,min(1,(m_pState->m_fBlendProgress*1.6f - 0.3f))); + /*switch(code) //if (nPassOverride==0) + { + //case 8: + //case 9: + //case 12: + //case 13: + // note - these are the 4 cases where the old preset uses a warp shader, but new preset doesn't. + fBlend = 1-fBlend; // <-- THIS IS THE KEY - FLIPS THE ALPHAS AND EVERYTHING ELSE JUST WORKS. + break; + }*/ + //fBlend = 1-fBlend; // <-- THIS IS THE KEY - FLIPS THE ALPHAS AND EVERYTHING ELSE JUST WORKS. + bool bBlending = m_pState->m_bBlending;//(fBlend >= 0.0001f && fBlend <= 0.9999f); + + + // warp stuff + float fWarpTime = GetTime() * m_pState->m_fWarpAnimSpeed; + float fWarpScaleInv = 1.0f / m_pState->m_fWarpScale.eval(GetTime()); + float f[4]; + f[0] = 11.68f + 4.0f*cosf(fWarpTime*1.413f + 10); + f[1] = 8.77f + 3.0f*cosf(fWarpTime*1.113f + 7); + f[2] = 10.54f + 3.0f*cosf(fWarpTime*1.233f + 3); + f[3] = 11.49f + 4.0f*cosf(fWarpTime*0.933f + 5); + + // texel alignment + float texel_offset_x = 0.5f / (float)m_nTexSizeX; + float texel_offset_y = 0.5f / (float)m_nTexSizeY; + + int num_reps = (m_pState->m_bBlending) ? 2 : 1; + int start_rep = 0; + + // FIRST WE HAVE 1-2 PASSES FOR CRUNCHING THE PER-VERTEX EQUATIONS + for (int rep=start_rep; repvar_pf_zoom); + float fZoomExp = (float)(*pState->var_pf_zoomexp); + float fRot = (float)(*pState->var_pf_rot); + float fWarp = (float)(*pState->var_pf_warp); + float fCX = (float)(*pState->var_pf_cx); + float fCY = (float)(*pState->var_pf_cy); + float fDX = (float)(*pState->var_pf_dx); + float fDY = (float)(*pState->var_pf_dy); + float fSX = (float)(*pState->var_pf_sx); + float fSY = (float)(*pState->var_pf_sy); + + int n = 0; + + for (int y=0; y<=m_nGridY; y++) + { + for (int x=0; x<=m_nGridX; x++) + { + // Note: x, y, z are now set at init. time - no need to mess with them! + //m_verts[n].x = i/(float)m_nGridX*2.0f - 1.0f; + //m_verts[n].y = j/(float)m_nGridY*2.0f - 1.0f; + //m_verts[n].z = 0.0f; + + if (pState->m_pp_codehandle) + { + // restore all the variables to their original states, + // run the user-defined equations, + // then move the results into local vars for computation as floats + + *pState->var_pv_x = (double)(m_verts[n].x* 0.5f*m_fAspectX + 0.5f); + *pState->var_pv_y = (double)(m_verts[n].y*-0.5f*m_fAspectY + 0.5f); + *pState->var_pv_rad = (double)m_vertinfo[n].rad; + *pState->var_pv_ang = (double)m_vertinfo[n].ang; + *pState->var_pv_zoom = *pState->var_pf_zoom; + *pState->var_pv_zoomexp = *pState->var_pf_zoomexp; + *pState->var_pv_rot = *pState->var_pf_rot; + *pState->var_pv_warp = *pState->var_pf_warp; + *pState->var_pv_cx = *pState->var_pf_cx; + *pState->var_pv_cy = *pState->var_pf_cy; + *pState->var_pv_dx = *pState->var_pf_dx; + *pState->var_pv_dy = *pState->var_pf_dy; + *pState->var_pv_sx = *pState->var_pf_sx; + *pState->var_pv_sy = *pState->var_pf_sy; + //*pState->var_pv_time = *pState->var_pv_time; // (these are all now initialized + //*pState->var_pv_bass = *pState->var_pv_bass; // just once per frame) + //*pState->var_pv_mid = *pState->var_pv_mid; + //*pState->var_pv_treb = *pState->var_pv_treb; + //*pState->var_pv_bass_att = *pState->var_pv_bass_att; + //*pState->var_pv_mid_att = *pState->var_pv_mid_att; + //*pState->var_pv_treb_att = *pState->var_pv_treb_att; + +#ifndef _NO_EXPR_ + NSEEL_code_execute(pState->m_pp_codehandle); +#endif + + fZoom = (float)(*pState->var_pv_zoom); + fZoomExp = (float)(*pState->var_pv_zoomexp); + fRot = (float)(*pState->var_pv_rot); + fWarp = (float)(*pState->var_pv_warp); + fCX = (float)(*pState->var_pv_cx); + fCY = (float)(*pState->var_pv_cy); + fDX = (float)(*pState->var_pv_dx); + fDY = (float)(*pState->var_pv_dy); + fSX = (float)(*pState->var_pv_sx); + fSY = (float)(*pState->var_pv_sy); + } + + float fZoom2 = powf(fZoom, powf(fZoomExp, m_vertinfo[n].rad*2.0f - 1.0f)); + + // initial texcoords, w/built-in zoom factor + float fZoom2Inv = 1.0f/fZoom2; + float u = m_verts[n].x*m_fAspectX*0.5f*fZoom2Inv + 0.5f; + float v = -m_verts[n].y*m_fAspectY*0.5f*fZoom2Inv + 0.5f; + //float u_orig = u; + //float v_orig = v; + //m_verts[n].tr = u_orig + texel_offset_x; + //m_verts[n].ts = v_orig + texel_offset_y; + + // stretch on X, Y: + u = (u - fCX)/fSX + fCX; + v = (v - fCY)/fSY + fCY; + + // warping: + //if (fWarp > 0.001f || fWarp < -0.001f) + //{ + u += fWarp*0.0035f*sinf(fWarpTime*0.333f + fWarpScaleInv*(m_verts[n].x*f[0] - m_verts[n].y*f[3])); + v += fWarp*0.0035f*cosf(fWarpTime*0.375f - fWarpScaleInv*(m_verts[n].x*f[2] + m_verts[n].y*f[1])); + u += fWarp*0.0035f*cosf(fWarpTime*0.753f - fWarpScaleInv*(m_verts[n].x*f[1] - m_verts[n].y*f[2])); + v += fWarp*0.0035f*sinf(fWarpTime*0.825f + fWarpScaleInv*(m_verts[n].x*f[0] + m_verts[n].y*f[3])); + //} + + // rotation: + float u2 = u - fCX; + float v2 = v - fCY; + + float cos_rot = cosf(fRot); + float sin_rot = sinf(fRot); + u = u2*cos_rot - v2*sin_rot + fCX; + v = u2*sin_rot + v2*cos_rot + fCY; + + // translation: + u -= fDX; + v -= fDY; + + // undo aspect ratio fix: + u = (u-0.5f)*m_fInvAspectX + 0.5f; + v = (v-0.5f)*m_fInvAspectY + 0.5f; + + // final half-texel-offset translation: + u += texel_offset_x; + v += texel_offset_y; + + if (rep==0) + { + // UV's for m_pState + m_verts[n].tu = u; + m_verts[n].tv = v; + m_verts[n].Diffuse = 0xFFFFFFFF; + } + else + { + // blend to UV's for m_pOldState + float mix2 = m_vertinfo[n].a*fBlend + m_vertinfo[n].c;//fCosineBlend2; + mix2 = max(0,min(1,mix2)); + // if fBlend un-flipped, then mix2 is 0 at the beginning of a blend, 1 at the end... + // and alphas are 0 at the beginning, 1 at the end. + m_verts[n].tu = m_verts[n].tu*(mix2) + u*(1-mix2); + m_verts[n].tv = m_verts[n].tv*(mix2) + v*(1-mix2); + // this sets the alpha values for blending between two presets: + m_verts[n].Diffuse = 0x00FFFFFF | (((DWORD)(mix2*255))<<24); + } + + n++; + } + } + + } +} + +void CPlugin::WarpedBlit_NoShaders(int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling) +{ + MungeFPCW(NULL); // puts us in single-precision mode & disables exceptions + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + if (!wcscmp(m_pState->m_szDesc, INVALID_PRESET_DESC)) + { + // if no valid preset loaded, clear the target to black, and return + lpDevice->Clear(0, NULL, D3DCLEAR_TARGET, 0x00000000, 1.0f, 0); + return; + } + + lpDevice->SetTexture(0, m_lpVS[0]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetPixelShader( NULL ); + lpDevice->SetFVF( MYVERTEX_FORMAT ); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + // stages 0 and 1 always just use bilinear filtering. + lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + + // note: this texture stage state setup works for 0 or 1 texture. + // if you set a texture, it will be modulated with the current diffuse color. + // if you don't set a texture, it will just use the current diffuse color. + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + DWORD texaddr = (*m_pState->var_pf_wrap > m_fSnapPoint) ? D3DTADDRESS_WRAP : D3DTADDRESS_CLAMP; + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, texaddr); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, texaddr); + lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSW, texaddr); + + // decay + float fDecay = (float)(*m_pState->var_pf_decay); + + //if (m_pState->m_bBlending) + // fDecay = fDecay*(fCosineBlend) + (1.0f-fCosineBlend)*((float)(*m_pOldState->var_pf_decay)); + + if (m_n16BitGamma > 0 && + (GetBackBufFormat()==D3DFMT_R5G6B5 || GetBackBufFormat()==D3DFMT_X1R5G5B5 || GetBackBufFormat()==D3DFMT_A1R5G5B5 || GetBackBufFormat()==D3DFMT_A4R4G4B4) && + fDecay < 0.9999f) + { + fDecay = min(fDecay, (32.0f - m_n16BitGamma)/32.0f); + } + + D3DCOLOR cDecay = D3DCOLOR_RGBA_01(fDecay,fDecay,fDecay,1); + + // hurl the triangle strips at the video card + int poly; + for (poly=0; poly<(m_nGridX+1)*2; poly++) + m_verts_temp[poly].Diffuse = cDecay; + + if (bAlphaBlend) + { + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + if (bFlipAlpha) + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_SRCALPHA); + } + else + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + } + } + else + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + int nAlphaTestValue = 0; + if (bFlipCulling) + nAlphaTestValue = 1-nAlphaTestValue; + + // Hurl the triangles at the video card. + // We're going to un-index it, so that we don't stress any crappy (AHEM intel g33) + // drivers out there. + // If we're blending, we'll skip any polygon that is all alpha-blended out. + // This also respects the MaxPrimCount limit of the video card. + MYVERTEX tempv[1024 * 3]; + int max_prims_per_batch = min( GetCaps()->MaxPrimitiveCount, (sizeof(tempv)/sizeof(tempv[0]))/3) - 4; + int primCount = m_nGridX*m_nGridY*2; + int src_idx = 0; + int prims_sent = 0; + while (src_idx < primCount*3) + { + int prims_queued = 0; + int i=0; + while (prims_queued < max_prims_per_batch && src_idx < primCount*3) + { + // copy 3 verts + for (int j=0; j<3; j++) + { + tempv[i++] = m_verts[ m_indices_list[src_idx++] ]; + // don't forget to flip sign on Y and factor in the decay color!: + tempv[i-1].y *= -1; + tempv[i-1].Diffuse = (cDecay & 0x00FFFFFF) | (tempv[i-1].Diffuse & 0xFF000000); + } + if (bCullTiles) + { + DWORD d1 = (tempv[i-3].Diffuse >> 24); + DWORD d2 = (tempv[i-2].Diffuse >> 24); + DWORD d3 = (tempv[i-1].Diffuse >> 24); + bool bIsNeeded; + if (nAlphaTestValue) + bIsNeeded = ((d1 & d2 & d3) < 255);//(d1 < 255) || (d2 < 255) || (d3 < 255); + else + bIsNeeded = ((d1|d2|d3) > 0);//(d1 > 0) || (d2 > 0) || (d3 > 0); + if (!bIsNeeded) + i -= 3; + else + prims_queued++; + } + else + prims_queued++; + } + if (prims_queued > 0) + lpDevice->DrawPrimitiveUP( D3DPT_TRIANGLELIST, prims_queued, tempv, sizeof(MYVERTEX) ); + } + + /* + if (!bCullTiles) + { + assert(!bAlphaBlend); //not handled yet + + // draw normally - just a full triangle strip for each half-row of cells + // (even if we are blending, it is between two pre-pixel-shader presets, + // so the blend all happens exclusively in the per-vertex equations.) + for (int strip=0; stripDrawPrimitiveUP(D3DPT_TRIANGLESTRIP, m_nGridX, (void*)m_verts_temp, sizeof(MYVERTEX)); + } + } + else + { + // we're blending to/from a new pixel-shader enabled preset; + // only draw the cells needed! (an optimization) + int nAlphaTestValue = 0; + if (bFlipCulling) + nAlphaTestValue = 1-nAlphaTestValue; + + int idx[2048]; + for (int y=0; y> 24); + DWORD d2 = (m_verts[ref_vert+m_nGridX+1].Diffuse >> 24); + if (nAlphaTestValue) + bWasNeeded = (d1 < 255) || (d2 < 255); + else + bWasNeeded = (d1 > 0) || (d2 > 0); + for (i=0; i> 24); + DWORD d2 = (m_verts[ref_vert+1+m_nGridX+1].Diffuse >> 24); + if (nAlphaTestValue) + bIsNeeded = (d1 < 255) || (d2 < 255); + else + bIsNeeded = (d1 > 0) || (d2 > 0); + + if (bIsNeeded || bWasNeeded) + { + idx[count++] = nVert; + idx[count++] = nVert+1; + idx[count++] = nVert+m_nGridX+1; + idx[count++] = nVert+m_nGridX+1; + idx[count++] = nVert+1; + idx[count++] = nVert+m_nGridX+2; + } + bWasNeeded = bIsNeeded; + + nVert++; + ref_vert++; + } + lpDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, (m_nGridX+1)*2, count/3, (void*)idx, D3DFMT_INDEX32, (void*)m_verts_temp, sizeof(MYVERTEX)); + } + }/**/ + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); +} + +void CPlugin::WarpedBlit_Shaders(int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling) +{ + // if nPass==0, it draws old preset (blending 1 of 2). + // if nPass==1, it draws new preset (blending 2 of 2, OR done blending) + + MungeFPCW(NULL); // puts us in single-precision mode & disables exceptions + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + if (!wcscmp(m_pState->m_szDesc, INVALID_PRESET_DESC)) + { + // if no valid preset loaded, clear the target to black, and return + lpDevice->Clear(0, NULL, D3DCLEAR_TARGET, 0x00000000, 1.0f, 0); + return; + } + + //float fBlend = m_pState->m_fBlendProgress;//max(0,min(1,(m_pState->m_fBlendProgress*1.6f - 0.3f))); + //if (nPassOverride==0) + // fBlend = 1-fBlend; // <-- THIS IS THE KEY - FLIPS THE ALPHAS AND EVERYTHING ELSE JUST WORKS. + //bool bBlending = m_pState->m_bBlending;//(fBlend >= 0.0001f && fBlend <= 0.9999f); + + //lpDevice->SetTexture(0, m_lpVS[0]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( MYVERTEX_FORMAT ); + + // texel alignment + float texel_offset_x = 0.5f / (float)m_nTexSizeX; + float texel_offset_y = 0.5f / (float)m_nTexSizeY; + + int nAlphaTestValue = 0; + if (bFlipCulling) + nAlphaTestValue = 1-nAlphaTestValue; + + if (bAlphaBlend) + { + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + if (bFlipAlpha) + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_SRCALPHA); + } + else + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + } + } + else + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + int pass = nPass; + { + // PASS 0: draw using *blended per-vertex motion vectors*, but with the OLD warp shader. + // PASS 1: draw using *blended per-vertex motion vectors*, but with the NEW warp shader. + PShaderInfo* si = (pass==0) ? &m_OldShaders.warp : &m_shaders.warp; + CState* state = (pass==0) ? m_pOldState : m_pState; + + lpDevice->SetVertexDeclaration(m_pMyVertDecl); + lpDevice->SetVertexShader(m_fallbackShaders_vs.warp.ptr); + lpDevice->SetPixelShader (si->ptr); + + ApplyShaderParams( &(si->params), si->CT, state ); + + // Hurl the triangles at the video card. + // We're going to un-index it, so that we don't stress any crappy (AHEM intel g33) + // drivers out there. + // We divide it into the two halves of the screen (top/bottom) so we can hack + // the 'ang' values along the angle-wrap seam, halfway through the draw. + // If we're blending, we'll skip any polygon that is all alpha-blended out. + // This also respects the MaxPrimCount limit of the video card. + MYVERTEX tempv[1024 * 3]; + int max_prims_per_batch = min( GetCaps()->MaxPrimitiveCount, (sizeof(tempv)/sizeof(tempv[0]))/3) - 4; + for (int half=0; half<2; half++) + { + // hack / restore the ang values along the angle-wrap [0 <-> 2pi] seam... + float new_ang = half ? 3.1415926535897932384626433832795f : -3.1415926535897932384626433832795f; + int y_offset = (m_nGridY/2) * (m_nGridX+1); + for (int x=0; x> 24); + DWORD d2 = (tempv[i-2].Diffuse >> 24); + DWORD d3 = (tempv[i-1].Diffuse >> 24); + bool bIsNeeded; + if (nAlphaTestValue) + bIsNeeded = ((d1 & d2 & d3) < 255);//(d1 < 255) || (d2 < 255) || (d3 < 255); + else + bIsNeeded = ((d1|d2|d3) > 0);//(d1 > 0) || (d2 > 0) || (d3 > 0); + if (!bIsNeeded) + i -= 3; + else + prims_queued++; + } + else + prims_queued++; + } + if (prims_queued > 0) + lpDevice->DrawPrimitiveUP( D3DPT_TRIANGLELIST, prims_queued, tempv, sizeof(MYVERTEX) ); + } + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + RestoreShaderParams(); +} + +void CPlugin::DrawCustomShapes() +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + //lpDevice->SetTexture(0, m_lpVS[0]);//NULL); + //lpDevice->SetVertexShader( SPRITEVERTEX_FORMAT ); + + int num_reps = (m_pState->m_bBlending) ? 2 : 1; + for (int rep=0; repm_fBlendProgress : (1-m_pState->m_fBlendProgress); + + for (int i=0; im_shape[i].enabled) + { + /* + int bAdditive = 0; + int nSides = 3;//3 + ((int)GetTime() % 8); + int bThickOutline = 0; + float x = 0.5f + 0.1f*cosf(GetTime()*0.8f+1); + float y = 0.5f + 0.1f*sinf(GetTime()*0.8f+1); + float rad = 0.15f + 0.07f*sinf(GetTime()*1.1f+3); + float ang = GetTime()*1.5f; + + // inside colors + float r = 1; + float g = 0; + float b = 0; + float a = 0.4f;//0.1f + 0.1f*sinf(GetTime()*0.31f); + + // outside colors + float r2 = 0; + float g2 = 1; + float b2 = 0; + float a2 = 0; + + // border colors + float border_r = 1; + float border_g = 1; + float border_b = 1; + float border_a = 0.5f; + */ + + for (int instance=0; instancem_shape[i].instances; instance++) + { + // 1. execute per-frame code + LoadCustomShapePerFrameEvallibVars(pState, i, instance); + + #ifndef _NO_EXPR_ + if (pState->m_shape[i].m_pf_codehandle) + { + NSEEL_code_execute(pState->m_shape[i].m_pf_codehandle); + } + #endif + + // save changes to t1-t8 this frame + /* + pState->m_shape[i].t_values_after_init_code[0] = *pState->m_shape[i].var_pf_t1; + pState->m_shape[i].t_values_after_init_code[1] = *pState->m_shape[i].var_pf_t2; + pState->m_shape[i].t_values_after_init_code[2] = *pState->m_shape[i].var_pf_t3; + pState->m_shape[i].t_values_after_init_code[3] = *pState->m_shape[i].var_pf_t4; + pState->m_shape[i].t_values_after_init_code[4] = *pState->m_shape[i].var_pf_t5; + pState->m_shape[i].t_values_after_init_code[5] = *pState->m_shape[i].var_pf_t6; + pState->m_shape[i].t_values_after_init_code[6] = *pState->m_shape[i].var_pf_t7; + pState->m_shape[i].t_values_after_init_code[7] = *pState->m_shape[i].var_pf_t8; + */ + + int sides = (int)(*pState->m_shape[i].var_pf_sides); + if (sides<3) sides=3; + if (sides>100) sides=100; + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, ((int)(*pState->m_shape[i].var_pf_additive) != 0) ? D3DBLEND_ONE : D3DBLEND_INVSRCALPHA); + + SPRITEVERTEX v[512]; // for textured shapes (has texcoords) + WFVERTEX v2[512]; // for untextured shapes + borders + + v[0].x = (float)(*pState->m_shape[i].var_pf_x* 2-1);// * ASPECT; + v[0].y = (float)(*pState->m_shape[i].var_pf_y*-2+1); + v[0].z = 0; + v[0].tu = 0.5f; + v[0].tv = 0.5f; + v[0].Diffuse = + ((((int)(*pState->m_shape[i].var_pf_a * 255 * alpha_mult)) & 0xFF) << 24) | + ((((int)(*pState->m_shape[i].var_pf_r * 255)) & 0xFF) << 16) | + ((((int)(*pState->m_shape[i].var_pf_g * 255)) & 0xFF) << 8) | + ((((int)(*pState->m_shape[i].var_pf_b * 255)) & 0xFF) ); + v[1].Diffuse = + ((((int)(*pState->m_shape[i].var_pf_a2 * 255 * alpha_mult)) & 0xFF) << 24) | + ((((int)(*pState->m_shape[i].var_pf_r2 * 255)) & 0xFF) << 16) | + ((((int)(*pState->m_shape[i].var_pf_g2 * 255)) & 0xFF) << 8) | + ((((int)(*pState->m_shape[i].var_pf_b2 * 255)) & 0xFF) ); + + for (int j=1; jm_shape[i].var_pf_rad*cosf(t*3.1415927f*2 + (float)*pState->m_shape[i].var_pf_ang + 3.1415927f*0.25f)*m_fAspectY; // DON'T TOUCH! + v[j].y = v[0].y + (float)*pState->m_shape[i].var_pf_rad*sinf(t*3.1415927f*2 + (float)*pState->m_shape[i].var_pf_ang + 3.1415927f*0.25f); // DON'T TOUCH! + v[j].z = 0; + v[j].tu = 0.5f + 0.5f*cosf(t*3.1415927f*2 + (float)*pState->m_shape[i].var_pf_tex_ang + 3.1415927f*0.25f)/((float)*pState->m_shape[i].var_pf_tex_zoom) * m_fAspectY; // DON'T TOUCH! + v[j].tv = 0.5f + 0.5f*sinf(t*3.1415927f*2 + (float)*pState->m_shape[i].var_pf_tex_ang + 3.1415927f*0.25f)/((float)*pState->m_shape[i].var_pf_tex_zoom); // DON'T TOUCH! + v[j].Diffuse = v[1].Diffuse; + } + v[sides+1] = v[1]; + + if ((int)(*pState->m_shape[i].var_pf_textured) != 0) + { + // draw textured version + lpDevice->SetTexture(0, m_lpVS[0]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, sides, (void*)v, sizeof(SPRITEVERTEX)); + } + else + { + // no texture + for (j=0; j < sides+2; j++) + { + v2[j].x = v[j].x; + v2[j].y = v[j].y; + v2[j].z = v[j].z; + v2[j].Diffuse = v[j].Diffuse; + } + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, sides, (void*)v2, sizeof(WFVERTEX)); + } + + // DRAW BORDER + if (*pState->m_shape[i].var_pf_border_a > 0) + { + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + + v2[0].Diffuse = + ((((int)(*pState->m_shape[i].var_pf_border_a * 255 * alpha_mult)) & 0xFF) << 24) | + ((((int)(*pState->m_shape[i].var_pf_border_r * 255)) & 0xFF) << 16) | + ((((int)(*pState->m_shape[i].var_pf_border_g * 255)) & 0xFF) << 8) | + ((((int)(*pState->m_shape[i].var_pf_border_b * 255)) & 0xFF) ); + for (j=0; jm_shape[i].var_pf_thick) != 0) ? 4 : 1; + float x_inc = 2.0f / (float)m_nTexSizeX; + float y_inc = 2.0f / (float)m_nTexSizeY; + for (int it=0; itDrawPrimitiveUP(D3DPT_LINESTRIP, sides, (void*)&v2[1], sizeof(WFVERTEX)); + } + } + + lpDevice->SetTexture(0, m_lpVS[0]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + } + } + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); +} + +void CPlugin::LoadCustomShapePerFrameEvallibVars(CState* pState, int i, int instance) +{ + *pState->m_shape[i].var_pf_time = (double)(GetTime() - m_fStartTime); + *pState->m_shape[i].var_pf_frame = (double)GetFrame(); + *pState->m_shape[i].var_pf_fps = (double)GetFps(); + *pState->m_shape[i].var_pf_progress = (GetTime() - m_fPresetStartTime) / (m_fNextPresetTime - m_fPresetStartTime); + *pState->m_shape[i].var_pf_bass = (double)mysound.imm_rel[0]; + *pState->m_shape[i].var_pf_mid = (double)mysound.imm_rel[1]; + *pState->m_shape[i].var_pf_treb = (double)mysound.imm_rel[2]; + *pState->m_shape[i].var_pf_bass_att = (double)mysound.avg_rel[0]; + *pState->m_shape[i].var_pf_mid_att = (double)mysound.avg_rel[1]; + *pState->m_shape[i].var_pf_treb_att = (double)mysound.avg_rel[2]; + for (int vi=0; vim_shape[i].var_pf_q[vi] = *pState->var_pf_q[vi]; + for (vi=0; vim_shape[i].var_pf_t[vi] = pState->m_shape[i].t_values_after_init_code[vi]; + *pState->m_shape[i].var_pf_x = pState->m_shape[i].x; + *pState->m_shape[i].var_pf_y = pState->m_shape[i].y; + *pState->m_shape[i].var_pf_rad = pState->m_shape[i].rad; + *pState->m_shape[i].var_pf_ang = pState->m_shape[i].ang; + *pState->m_shape[i].var_pf_tex_zoom = pState->m_shape[i].tex_zoom; + *pState->m_shape[i].var_pf_tex_ang = pState->m_shape[i].tex_ang; + *pState->m_shape[i].var_pf_sides = pState->m_shape[i].sides; + *pState->m_shape[i].var_pf_additive = pState->m_shape[i].additive; + *pState->m_shape[i].var_pf_textured = pState->m_shape[i].textured; + *pState->m_shape[i].var_pf_instances = pState->m_shape[i].instances; + *pState->m_shape[i].var_pf_instance = instance; + *pState->m_shape[i].var_pf_thick = pState->m_shape[i].thickOutline; + *pState->m_shape[i].var_pf_r = pState->m_shape[i].r; + *pState->m_shape[i].var_pf_g = pState->m_shape[i].g; + *pState->m_shape[i].var_pf_b = pState->m_shape[i].b; + *pState->m_shape[i].var_pf_a = pState->m_shape[i].a; + *pState->m_shape[i].var_pf_r2 = pState->m_shape[i].r2; + *pState->m_shape[i].var_pf_g2 = pState->m_shape[i].g2; + *pState->m_shape[i].var_pf_b2 = pState->m_shape[i].b2; + *pState->m_shape[i].var_pf_a2 = pState->m_shape[i].a2; + *pState->m_shape[i].var_pf_border_r = pState->m_shape[i].border_r; + *pState->m_shape[i].var_pf_border_g = pState->m_shape[i].border_g; + *pState->m_shape[i].var_pf_border_b = pState->m_shape[i].border_b; + *pState->m_shape[i].var_pf_border_a = pState->m_shape[i].border_a; +} + +void CPlugin::LoadCustomWavePerFrameEvallibVars(CState* pState, int i) +{ + *pState->m_wave[i].var_pf_time = (double)(GetTime() - m_fStartTime); + *pState->m_wave[i].var_pf_frame = (double)GetFrame(); + *pState->m_wave[i].var_pf_fps = (double)GetFps(); + *pState->m_wave[i].var_pf_progress = (GetTime() - m_fPresetStartTime) / (m_fNextPresetTime - m_fPresetStartTime); + *pState->m_wave[i].var_pf_bass = (double)mysound.imm_rel[0]; + *pState->m_wave[i].var_pf_mid = (double)mysound.imm_rel[1]; + *pState->m_wave[i].var_pf_treb = (double)mysound.imm_rel[2]; + *pState->m_wave[i].var_pf_bass_att = (double)mysound.avg_rel[0]; + *pState->m_wave[i].var_pf_mid_att = (double)mysound.avg_rel[1]; + *pState->m_wave[i].var_pf_treb_att = (double)mysound.avg_rel[2]; + for (int vi=0; vim_wave[i].var_pf_q[vi] = *pState->var_pf_q[vi]; + for (vi=0; vim_wave[i].var_pf_t[vi] = pState->m_wave[i].t_values_after_init_code[vi]; + *pState->m_wave[i].var_pf_r = pState->m_wave[i].r; + *pState->m_wave[i].var_pf_g = pState->m_wave[i].g; + *pState->m_wave[i].var_pf_b = pState->m_wave[i].b; + *pState->m_wave[i].var_pf_a = pState->m_wave[i].a; + *pState->m_wave[i].var_pf_samples = pState->m_wave[i].samples; +} + +// does a better-than-linear smooth on a wave. Roughly doubles the # of points. +int SmoothWave(WFVERTEX* vi, int nVertsIn, WFVERTEX* vo) +{ + const float c1 = -0.15f; + const float c2 = 1.15f; + const float c3 = 1.15f; + const float c4 = -0.15f; + const float inv_sum = 1.0f/(c1+c2+c3+c4); + + int j = 0; + + int i_below = 0; + int i_above; + int i_above2 = 1; + for (int i=0; iSetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + + // note: read in all sound data from CPluginShell's m_sound + int num_reps = (m_pState->m_bBlending) ? 2 : 1; + for (int rep=0; repm_fBlendProgress : (1-m_pState->m_fBlendProgress); + + for (int i=0; im_wave[i].enabled) + { + int nSamples = pState->m_wave[i].samples; + int max_samples = pState->m_wave[i].bSpectrum ? 512 : NUM_WAVEFORM_SAMPLES; + if (nSamples > max_samples) + nSamples = max_samples; + nSamples -= pState->m_wave[i].sep; + + // 1. execute per-frame code + LoadCustomWavePerFrameEvallibVars(pState, i); + + // 2.a. do just a once-per-frame init for the *per-point* *READ-ONLY* variables + // (the non-read-only ones will be reset/restored at the start of each vertex) + *pState->m_wave[i].var_pp_time = *pState->m_wave[i].var_pf_time; + *pState->m_wave[i].var_pp_fps = *pState->m_wave[i].var_pf_fps; + *pState->m_wave[i].var_pp_frame = *pState->m_wave[i].var_pf_frame; + *pState->m_wave[i].var_pp_progress = *pState->m_wave[i].var_pf_progress; + *pState->m_wave[i].var_pp_bass = *pState->m_wave[i].var_pf_bass; + *pState->m_wave[i].var_pp_mid = *pState->m_wave[i].var_pf_mid; + *pState->m_wave[i].var_pp_treb = *pState->m_wave[i].var_pf_treb; + *pState->m_wave[i].var_pp_bass_att = *pState->m_wave[i].var_pf_bass_att; + *pState->m_wave[i].var_pp_mid_att = *pState->m_wave[i].var_pf_mid_att; + *pState->m_wave[i].var_pp_treb_att = *pState->m_wave[i].var_pf_treb_att; + + NSEEL_code_execute(pState->m_wave[i].m_pf_codehandle); + + for (int vi=0; vim_wave[i].var_pp_q[vi] = *pState->m_wave[i].var_pf_q[vi]; + for (vi=0; vim_wave[i].var_pp_t[vi] = *pState->m_wave[i].var_pf_t[vi]; + + nSamples = (int)*pState->m_wave[i].var_pf_samples; + nSamples = min(512, nSamples); + + if ((nSamples >= 2) || (pState->m_wave[i].bUseDots && nSamples >= 1)) + { + int j; + float tempdata[2][512]; + float mult = ((pState->m_wave[i].bSpectrum) ? 0.15f : 0.004f) * pState->m_wave[i].scaling * pState->m_fWaveScale.eval(-1); + float *pdata1 = (pState->m_wave[i].bSpectrum) ? m_sound.fSpectrum[0] : m_sound.fWaveform[0]; + float *pdata2 = (pState->m_wave[i].bSpectrum) ? m_sound.fSpectrum[1] : m_sound.fWaveform[1]; + + // initialize tempdata[2][512] + int j0 = (pState->m_wave[i].bSpectrum) ? 0 : (max_samples - nSamples)/2/**(1-pState->m_wave[i].bSpectrum)*/ - pState->m_wave[i].sep/2; + int j1 = (pState->m_wave[i].bSpectrum) ? 0 : (max_samples - nSamples)/2/**(1-pState->m_wave[i].bSpectrum)*/ + pState->m_wave[i].sep/2; + float t = (pState->m_wave[i].bSpectrum) ? (max_samples - pState->m_wave[i].sep)/(float)nSamples : 1; + float mix1 = powf(pState->m_wave[i].smoothing*0.98f, 0.5f); // lower exponent -> more default smoothing + float mix2 = 1-mix1; + // SMOOTHING: + tempdata[0][0] = pdata1[j0]; + tempdata[1][0] = pdata2[j1]; + for (j=1; j=0; j--) + { + tempdata[0][j] = tempdata[0][j]*mix2 + tempdata[0][j+1]*mix1; + tempdata[1][j] = tempdata[1][j]*mix2 + tempdata[1][j+1]*mix1; + } + // finally, scale to final size: + for (j=0; jm_wave[i].var_pp_sample = t; + *pState->m_wave[i].var_pp_value1 = value1; + *pState->m_wave[i].var_pp_value2 = value2; + *pState->m_wave[i].var_pp_x = 0.5f + value1; + *pState->m_wave[i].var_pp_y = 0.5f + value2; + *pState->m_wave[i].var_pp_r = *pState->m_wave[i].var_pf_r; + *pState->m_wave[i].var_pp_g = *pState->m_wave[i].var_pf_g; + *pState->m_wave[i].var_pp_b = *pState->m_wave[i].var_pf_b; + *pState->m_wave[i].var_pp_a = *pState->m_wave[i].var_pf_a; + + #ifndef _NO_EXPR_ + NSEEL_code_execute(pState->m_wave[i].m_pp_codehandle); + #endif + + v[j].x = (float)(*pState->m_wave[i].var_pp_x* 2-1)*m_fInvAspectX; + v[j].y = (float)(*pState->m_wave[i].var_pp_y*-2+1)*m_fInvAspectY; + v[j].z = 0; + v[j].Diffuse = + ((((int)(*pState->m_wave[i].var_pp_a * 255 * alpha_mult)) & 0xFF) << 24) | + ((((int)(*pState->m_wave[i].var_pp_r * 255)) & 0xFF) << 16) | + ((((int)(*pState->m_wave[i].var_pp_g * 255)) & 0xFF) << 8) | + ((((int)(*pState->m_wave[i].var_pp_b * 255)) & 0xFF) ); + } + + + + // save changes to t1-t8 this frame + /* + pState->m_wave[i].t_values_after_init_code[0] = *pState->m_wave[i].var_pp_t1; + pState->m_wave[i].t_values_after_init_code[1] = *pState->m_wave[i].var_pp_t2; + pState->m_wave[i].t_values_after_init_code[2] = *pState->m_wave[i].var_pp_t3; + pState->m_wave[i].t_values_after_init_code[3] = *pState->m_wave[i].var_pp_t4; + pState->m_wave[i].t_values_after_init_code[4] = *pState->m_wave[i].var_pp_t5; + pState->m_wave[i].t_values_after_init_code[5] = *pState->m_wave[i].var_pp_t6; + pState->m_wave[i].t_values_after_init_code[6] = *pState->m_wave[i].var_pp_t7; + pState->m_wave[i].t_values_after_init_code[7] = *pState->m_wave[i].var_pp_t8; + */ + + // 3. smooth it + WFVERTEX v2[2048]; + WFVERTEX *pVerts = v; + if (!pState->m_wave[i].bUseDots) + { + nSamples = SmoothWave(v, nSamples, v2); + pVerts = v2; + } + + // 4. draw it + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, pState->m_wave[i].bAdditive ? D3DBLEND_ONE : D3DBLEND_INVSRCALPHA); + + float ptsize = (float)((m_nTexSizeX >= 1024) ? 2 : 1) + (pState->m_wave[i].bDrawThick ? 1 : 0); + if (pState->m_wave[i].bUseDots) + lpDevice->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&ptsize) ); + + int its = (pState->m_wave[i].bDrawThick && !pState->m_wave[i].bUseDots) ? 4 : 1; + float x_inc = 2.0f / (float)m_nTexSizeX; + float y_inc = 2.0f / (float)m_nTexSizeY; + for (int it=0; itDrawPrimitiveUP(pState->m_wave[i].bUseDots ? D3DPT_POINTLIST : D3DPT_LINESTRIP, nSamples - (pState->m_wave[i].bUseDots ? 0 : 1), (void*)pVerts, sizeof(WFVERTEX)); + } + + ptsize = 1.0f; + if (pState->m_wave[i].bUseDots) + lpDevice->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&ptsize) ); + } + } + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); +} + +void CPlugin::DrawWave(float *fL, float *fR) +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + + int i; + WFVERTEX v1[576+1], v2[576+1]; + + /* + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_SHADEMODE, D3DSHADE_GOURAUD); //D3DSHADE_FLAT + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_SPECULARENABLE, FALSE); + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_CULLMODE, D3DCULL_NONE); + if (m_D3DDevDesc.dpcTriCaps.dwRasterCaps & D3DPRASTERCAPS_DITHER) + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_DITHERENABLE, TRUE); + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_ZENABLE, D3DZB_FALSE); + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_LIGHTING, FALSE); + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_COLORVERTEX, TRUE); + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_FILLMODE, D3DFILL_WIREFRAME); // vs. SOLID + m_lpD3DDev->SetRenderState(D3DRENDERSTATE_AMBIENT, D3DCOLOR_RGBA_01(1,1,1,1)); + + hr = m_lpD3DDev->SetTexture(0, NULL); + if (hr != D3D_OK) + { + //dumpmsg("Draw(): ERROR: SetTexture"); + //IdentifyD3DError(hr); + } + */ + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, (*m_pState->var_pf_wave_additive) ? D3DBLEND_ONE : D3DBLEND_INVSRCALPHA); + + //float cr = m_pState->m_waveR.eval(GetTime()); + //float cg = m_pState->m_waveG.eval(GetTime()); + //float cb = m_pState->m_waveB.eval(GetTime()); + float cr = (float)(*m_pState->var_pf_wave_r); + float cg = (float)(*m_pState->var_pf_wave_g); + float cb = (float)(*m_pState->var_pf_wave_b); + float cx = (float)(*m_pState->var_pf_wave_x); + float cy = (float)(*m_pState->var_pf_wave_y); // note: it was backwards (top==1) in the original milkdrop, so we keep it that way! + float fWaveParam = (float)(*m_pState->var_pf_wave_mystery); + + /*if (m_pState->m_bBlending) + { + cr = cr*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_r)); + cg = cg*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_g)); + cb = cb*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_b)); + cx = cx*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_x)); + cy = cy*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_y)); + fWaveParam = fWaveParam*(m_pState->m_fBlendProgress) + (1.0f-m_pState->m_fBlendProgress)*((float)(*m_pOldState->var_pf_wave_mystery)); + }*/ + + if (cr < 0) cr = 0; + if (cg < 0) cg = 0; + if (cb < 0) cb = 0; + if (cr > 1) cr = 1; + if (cg > 1) cg = 1; + if (cb > 1) cb = 1; + + // maximize color: + if (*m_pState->var_pf_wave_brighten) + { + float fMaximizeWaveColorAmount = 1.0f; + float max = cr; + if (max < cg) max = cg; + if (max < cb) max = cb; + if (max > 0.01f) + { + cr = cr/max*fMaximizeWaveColorAmount + cr*(1.0f - fMaximizeWaveColorAmount); + cg = cg/max*fMaximizeWaveColorAmount + cg*(1.0f - fMaximizeWaveColorAmount); + cb = cb/max*fMaximizeWaveColorAmount + cb*(1.0f - fMaximizeWaveColorAmount); + } + } + + float fWavePosX = cx*2.0f - 1.0f; // go from 0..1 user-range to -1..1 D3D range + float fWavePosY = cy*2.0f - 1.0f; + + float bass_rel = mysound.imm[0]; + float mid_rel = mysound.imm[1]; + float treble_rel = mysound.imm[2]; + + int sample_offset = 0; + int new_wavemode = (int)(*m_pState->var_pf_wave_mode) % NUM_WAVES; // since it can be changed from per-frame code! + + int its = (m_pState->m_bBlending && (new_wavemode != m_pState->m_nOldWaveMode)) ? 2 : 1; + int nVerts1 = 0; + int nVerts2 = 0; + int nBreak1 = -1; + int nBreak2 = -1; + float alpha1, alpha2; + + for (int it=0; itm_nOldWaveMode; + int nVerts = NUM_WAVEFORM_SAMPLES; // allowed to peek ahead 64 (i.e. left is [i], right is [i+64]) + int nBreak = -1; + + float fWaveParam2 = fWaveParam; + //std::string fWaveParam; // kill its scope + if ((wave==0 || wave==1 || wave==4) && (fWaveParam2 < -1 || fWaveParam2 > 1)) + { + //fWaveParam2 = max(fWaveParam2, -1.0f); + //fWaveParam2 = min(fWaveParam2, 1.0f); + fWaveParam2 = fWaveParam2*0.5f + 0.5f; + fWaveParam2 -= floorf(fWaveParam2); + fWaveParam2 = fabsf(fWaveParam2); + fWaveParam2 = fWaveParam2*2-1; + } + + WFVERTEX *v = (it==0) ? v1 : v2; + ZeroMemory(v, sizeof(WFVERTEX)*nVerts); + + float alpha = (float)(*m_pState->var_pf_wave_a);//m_pState->m_fWaveAlpha.eval(GetTime()); + + switch(wave) + { + case 0: + // circular wave + + nVerts /= 2; + sample_offset = (NUM_WAVEFORM_SAMPLES-nVerts)/2;//mysound.GoGoAlignatron(nVerts * 12/10); // only call this once nVerts is final! + + if (m_pState->m_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + { + float inv_nverts_minus_one = 1.0f/(float)(nVerts-1); + + for (i=0; im_bBlending) + { + nVerts++; + memcpy(&v[nVerts-1], &v[0], sizeof(WFVERTEX)); + } + + break; + + case 1: + // x-y osc. that goes around in a spiral, in time + + alpha *= 1.25f; + if (m_pState->m_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + nVerts /= 2; + + for (i=0; im_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + for (i=0; im_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + for (i=0; i m_nTexSizeX/3) + nVerts = m_nTexSizeX/3; + + sample_offset = (NUM_WAVEFORM_SAMPLES-nVerts)/2;//mysound.GoGoAlignatron(nVerts + 25); // only call this once nVerts is final! + + /* + if (treble_rel > treb_thresh_for_wave6) + { + //alpha = 1.0f; + treb_thresh_for_wave6 = treble_rel * 1.025f; + } + else + { + alpha *= 0.2f; + treb_thresh_for_wave6 *= 0.996f; // fixme: make this fps-independent + } + */ + + if (m_pState->m_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + { + float w1 = 0.45f + 0.5f*(fWaveParam2*0.5f + 0.5f); // 0.1 - 0.9 + float w2 = 1.0f - w1; + + float inv_nverts = 1.0f/(float)(nVerts); + + for (i=0; i1) + { + v[i].x = v[i].x*w2 + w1*(v[i-1].x*2.0f - v[i-2].x); + v[i].y = v[i].y*w2 + w1*(v[i-1].y*2.0f - v[i-2].y); + } + } + + /* + // center on Y + float avg_y = 0; + for (i=0; im_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + { + float cos_rot = cosf(GetTime()*0.3f); + float sin_rot = sinf(GetTime()*0.3f); + + for (i=0; i m_nTexSizeX/3) + nVerts = m_nTexSizeX/3; + + if (wave==8) + nVerts = 256; + else + sample_offset = (NUM_WAVEFORM_SAMPLES-nVerts)/2;//mysound.GoGoAlignatron(nVerts); // only call this once nVerts is final! + + if (m_pState->m_bModWaveAlphaByVolume) + alpha *= ((mysound.imm_rel[0] + mysound.imm_rel[1] + mysound.imm_rel[2])*0.333f - m_pState->m_fModWaveAlphaStart.eval(GetTime()))/(m_pState->m_fModWaveAlphaEnd.eval(GetTime()) - m_pState->m_fModWaveAlphaStart.eval(GetTime())); + if (alpha < 0) alpha = 0; + if (alpha > 1) alpha = 1; + //color = D3DCOLOR_RGBA_01(cr, cg, cb, alpha); + + { + float ang = 1.57f*fWaveParam2; // from -PI/2 to PI/2 + float dx = cosf(ang); + float dy = sinf(ang); + + float edge_x[2], edge_y[2]; + + //edge_x[0] = fWavePosX - dx*3.0f; + //edge_y[0] = fWavePosY - dy*3.0f; + //edge_x[1] = fWavePosX + dx*3.0f; + //edge_y[1] = fWavePosY + dy*3.0f; + edge_x[0] = fWavePosX*cosf(ang + 1.57f) - dx*3.0f; + edge_y[0] = fWavePosX*sinf(ang + 1.57f) - dy*3.0f; + edge_x[1] = fWavePosX*cosf(ang + 1.57f) + dx*3.0f; + edge_y[1] = fWavePosX*sinf(ang + 1.57f) + dy*3.0f; + + for (i=0; i<2; i++) // for each point defining the line + { + // clip the point against 4 edges of screen + // be a bit lenient (use +/-1.1 instead of +/-1.0) + // so the dual-wave doesn't end too soon, after the channels are moved apart + for (int j=0; j<4; j++) + { + float t; + bool bClip = false; + + switch(j) + { + case 0: + if (edge_x[i] > 1.1f) + { + t = (1.1f - edge_x[1-i]) / (edge_x[i] - edge_x[1-i]); + bClip = true; + } + break; + case 1: + if (edge_x[i] < -1.1f) + { + t = (-1.1f - edge_x[1-i]) / (edge_x[i] - edge_x[1-i]); + bClip = true; + } + break; + case 2: + if (edge_y[i] > 1.1f) + { + t = (1.1f - edge_y[1-i]) / (edge_y[i] - edge_y[1-i]); + bClip = true; + } + break; + case 3: + if (edge_y[i] < -1.1f) + { + t = (-1.1f - edge_y[1-i]) / (edge_y[i] - edge_y[1-i]); + bClip = true; + } + break; + } + + if (bClip) + { + float dx = edge_x[i] - edge_x[1-i]; + float dy = edge_y[i] - edge_y[1-i]; + edge_x[i] = edge_x[1-i] + dx*t; + edge_y[i] = edge_y[1-i] + dy*t; + } + } + } + + dx = (edge_x[1] - edge_x[0]) / (float)nVerts; + dy = (edge_y[1] - edge_y[0]) / (float)nVerts; + float ang2 = atan2f(dy,dx); + float perp_dx = cosf(ang2 + 1.57f); + float perp_dy = sinf(ang2 + 1.57f); + + if (wave == 6) + for (i=0; ivar_pf_wave_usedots) ? D3DPT_POINTLIST : D3DPT_LINESTRIP; + //m_lpD3DDev->DrawPrimitive(primtype, D3DFVF_LVERTEX, (LPVOID)v, nVerts, NULL); + + for (i=0; im_fBlendProgress); + float mix2 = 1.0f - mix; + + // blend 2 waveforms + if (nVerts2 > 0) + { + // note: this won't yet handle the case where (nBreak1 > 0 && nBreak2 > 0) + // in this case, code must break wave into THREE segments + float m = (nVerts2-1)/(float)nVerts1; + float x,y; + for (int i=0; i 0) + { + alpha1 = alpha1*(mix) + alpha2*(1.0f-mix); + } + + // apply color & alpha + // ALSO reverse all y values, to stay consistent with the pre-VMS milkdrop, + // which DIDN'T: + v1[0].Diffuse = D3DCOLOR_RGBA_01(cr, cg, cb, alpha1); + for (i=0; ivar_pf_wave_usedots) ? D3DPT_POINTLIST : D3DPT_LINESTRIP; + float x_inc = 2.0f / (float)m_nTexSizeX; + float y_inc = 2.0f / (float)m_nTexSizeY; + int drawing_its = ((*m_pState->var_pf_wave_thick || *m_pState->var_pf_wave_usedots) && (m_nTexSizeX >= 512)) ? 4 : 1; + + for (int it=0; itvar_pf_wave_usedots) + lpDevice->DrawPrimitiveUP(D3DPT_POINTLIST, nVerts1, (void*)pVerts, sizeof(WFVERTEX)); + else + lpDevice->DrawPrimitiveUP(D3DPT_LINESTRIP, nVerts1-1, (void*)pVerts, sizeof(WFVERTEX)); + } + else + { + if (*m_pState->var_pf_wave_usedots) + { + lpDevice->DrawPrimitiveUP(D3DPT_POINTLIST, nBreak1, (void*)pVerts, sizeof(WFVERTEX)); + lpDevice->DrawPrimitiveUP(D3DPT_POINTLIST, nVerts1-nBreak1, (void*)&pVerts[nBreak1], sizeof(WFVERTEX)); + } + else + { + lpDevice->DrawPrimitiveUP(D3DPT_LINESTRIP, nBreak1-1, (void*)pVerts, sizeof(WFVERTEX)); + lpDevice->DrawPrimitiveUP(D3DPT_LINESTRIP, nVerts1-nBreak1-1, (void*)&pVerts[nBreak1], sizeof(WFVERTEX)); + } + } + } + } + +SKIP_DRAW_WAVE: + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); +} + +void CPlugin::DrawSprites() +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( WFVERTEX_FORMAT ); + + if (*m_pState->var_pf_darken_center) + { + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);//SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + + WFVERTEX v3[6]; + ZeroMemory(v3, sizeof(WFVERTEX)*6); + + // colors: + v3[0].Diffuse = D3DCOLOR_RGBA_01(0, 0, 0, 3.0f/32.0f); + v3[1].Diffuse = D3DCOLOR_RGBA_01(0, 0, 0, 0.0f/32.0f); + v3[2].Diffuse = v3[1].Diffuse; + v3[3].Diffuse = v3[1].Diffuse; + v3[4].Diffuse = v3[1].Diffuse; + v3[5].Diffuse = v3[1].Diffuse; + + // positioning: + float fHalfSize = 0.05f; + v3[0].x = 0.0f; + v3[1].x = 0.0f - fHalfSize*m_fAspectY; + v3[2].x = 0.0f; + v3[3].x = 0.0f + fHalfSize*m_fAspectY; + v3[4].x = 0.0f; + v3[5].x = v3[1].x; + v3[0].y = 0.0f; + v3[1].y = 0.0f; + v3[2].y = 0.0f - fHalfSize; + v3[3].y = 0.0f; + v3[4].y = 0.0f + fHalfSize; + v3[5].y = v3[1].y; + //v3[0].tu = 0; v3[1].tu = 1; v3[2].tu = 0; v3[3].tu = 1; + //v3[0].tv = 1; v3[1].tv = 1; v3[2].tv = 0; v3[3].tv = 0; + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 4, (LPVOID)v3, sizeof(WFVERTEX)); + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + } + + // do borders + { + float fOuterBorderSize = (float)*m_pState->var_pf_ob_size; + float fInnerBorderSize = (float)*m_pState->var_pf_ib_size; + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + + for (int it=0; it<2; it++) + { + WFVERTEX v3[4]; + ZeroMemory(v3, sizeof(WFVERTEX)*4); + + // colors: + float r = (it==0) ? (float)*m_pState->var_pf_ob_r : (float)*m_pState->var_pf_ib_r; + float g = (it==0) ? (float)*m_pState->var_pf_ob_g : (float)*m_pState->var_pf_ib_g; + float b = (it==0) ? (float)*m_pState->var_pf_ob_b : (float)*m_pState->var_pf_ib_b; + float a = (it==0) ? (float)*m_pState->var_pf_ob_a : (float)*m_pState->var_pf_ib_a; + if (a > 0.001f) + { + v3[0].Diffuse = D3DCOLOR_RGBA_01(r,g,b,a); + v3[1].Diffuse = v3[0].Diffuse; + v3[2].Diffuse = v3[0].Diffuse; + v3[3].Diffuse = v3[0].Diffuse; + + // positioning: + float fInnerRad = (it==0) ? 1.0f - fOuterBorderSize : 1.0f - fOuterBorderSize - fInnerBorderSize; + float fOuterRad = (it==0) ? 1.0f : 1.0f - fOuterBorderSize; + v3[0].x = fInnerRad; + v3[1].x = fOuterRad; + v3[2].x = fOuterRad; + v3[3].x = fInnerRad; + v3[0].y = fInnerRad; + v3[1].y = fOuterRad; + v3[2].y = -fOuterRad; + v3[3].y = -fInnerRad; + + for (int rot=0; rot<4; rot++) + { + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, (LPVOID)v3, sizeof(WFVERTEX)); + + // rotate by 90 degrees + for (int v=0; v<4; v++) + { + float t = 1.570796327f; + float x = v3[v].x; + float y = v3[v].y; + v3[v].x = x*cosf(t) - y*sinf(t); + v3[v].y = x*sinf(t) + y*cosf(t); + } + } + } + } + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + } +} + +/* +bool CPlugin::SetMilkdropRenderTarget(LPDIRECTDRAWSURFACE7 lpSurf, int w, int h, char *szErrorMsg) +{ + HRESULT hr = m_lpD3DDev->SetRenderTarget(0, lpSurf, 0); + if (hr != D3D_OK) + { + //if (szErrorMsg && szErrorMsg[0]) dumpmsg(szErrorMsg); + //IdentifyD3DError(hr); + return false; + } + + //DDSURFACEDESC2 ddsd; + //ddsd.dwSize = sizeof(ddsd); + //lpSurf->GetSurfaceDesc(&ddsd); + + D3DVIEWPORT7 viewData; + ZeroMemory(&viewData, sizeof(D3DVIEWPORT7)); + viewData.dwWidth = w; // not: in windowed mode, when lpSurf is the back buffer, chances are good that w,h are smaller than the full surface size (since real size is fullscreen, but we're only using a portion of it as big as the window). + viewData.dwHeight = h; + hr = m_lpD3DDev->SetViewport(&viewData); + + return true; +} +*/ + +void CPlugin::DrawUserSprites() // from system memory, to back buffer. +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, NULL); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + + //lpDevice->SetRenderState(D3DRS_WRAP0, 0); + //lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); + //lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP); + //lpDevice->SetSamplerState(0, D3DSAMP_ADDRESSW, D3DTADDRESS_WRAP); + + // reset these to the standard safe mode: + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + /* + lpDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); //D3DSHADE_GOURAUD + lpDevice->SetRenderState(D3DRS_SPECULARENABLE, FALSE); + lpDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); + if (m_D3DDevDesc.dpcTriCaps.dwRasterCaps & D3DPRASTERCAPS_DITHER) + lpDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); + lpDevice->SetRenderState(D3DRS_LIGHTING, FALSE); + lpDevice->SetRenderState(D3DRS_COLORVERTEX, TRUE); + lpDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID); // vs. wireframe + lpDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_RGBA_01(1,1,1,1)); + lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTFG_LINEAR ); + lpDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTFN_LINEAR ); + lpDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTFP_LINEAR ); + */ + + for (int iSlot=0; iSlot < NUM_TEX; iSlot++) + { + if (m_texmgr.m_tex[iSlot].pSurface) + { + int k; + + // set values of input variables: + *(m_texmgr.m_tex[iSlot].var_time) = (double)(GetTime() - m_texmgr.m_tex[iSlot].fStartTime); + *(m_texmgr.m_tex[iSlot].var_frame) = (double)(GetFrame() - m_texmgr.m_tex[iSlot].nStartFrame); + *(m_texmgr.m_tex[iSlot].var_fps) = (double)GetFps(); + *(m_texmgr.m_tex[iSlot].var_progress) = (double)m_pState->m_fBlendProgress; + *(m_texmgr.m_tex[iSlot].var_bass) = (double)mysound.imm_rel[0]; + *(m_texmgr.m_tex[iSlot].var_mid) = (double)mysound.imm_rel[1]; + *(m_texmgr.m_tex[iSlot].var_treb) = (double)mysound.imm_rel[2]; + *(m_texmgr.m_tex[iSlot].var_bass_att) = (double)mysound.avg_rel[0]; + *(m_texmgr.m_tex[iSlot].var_mid_att) = (double)mysound.avg_rel[1]; + *(m_texmgr.m_tex[iSlot].var_treb_att) = (double)mysound.avg_rel[2]; + + // evaluate expressions + #ifndef _NO_EXPR_ + if (m_texmgr.m_tex[iSlot].m_codehandle) + { + NSEEL_code_execute(m_texmgr.m_tex[iSlot].m_codehandle); + } + #endif + + bool bKillSprite = (*m_texmgr.m_tex[iSlot].var_done != 0.0); + bool bBurnIn = (*m_texmgr.m_tex[iSlot].var_burn != 0.0); + + // Remember the original backbuffer and zbuffer + LPDIRECT3DSURFACE9 pBackBuffer=NULL;//, pZBuffer=NULL; + lpDevice->GetRenderTarget( 0, &pBackBuffer ); + //lpDevice->GetDepthStencilSurface( &pZBuffer ); + + if (/*bKillSprite &&*/ bBurnIn) + { + // set up to render [from NULL] to VS1 (for burn-in). + + lpDevice->SetTexture(0, NULL); + + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpVS[1]->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + return; + lpDevice->SetRenderTarget(0, pNewTarget ); + //lpDevice->SetDepthStencilSurface( NULL ); + pNewTarget->Release(); + + lpDevice->SetTexture(0, NULL); + } + + // finally, use the results to draw the sprite. + if (lpDevice->SetTexture(0, m_texmgr.m_tex[iSlot].pSurface) != D3D_OK) + return; + + SPRITEVERTEX v3[4]; + ZeroMemory(v3, sizeof(SPRITEVERTEX)*4); + + /* + int dest_w, dest_h; + { + LPDIRECT3DSURFACE9 pRT; + lpDevice->GetRenderTarget( 0, &pRT ); + + D3DSURFACE_DESC desc; + pRT->GetDesc(&desc); + dest_w = desc.Width; + dest_h = desc.Height; + pRT->Release(); + }*/ + + float x = min(1000.0f, max(-1000.0f, (float)(*m_texmgr.m_tex[iSlot].var_x) * 2.0f - 1.0f )); + float y = min(1000.0f, max(-1000.0f, (float)(*m_texmgr.m_tex[iSlot].var_y) * 2.0f - 1.0f )); + float sx = min(1000.0f, max(-1000.0f, (float)(*m_texmgr.m_tex[iSlot].var_sx) )); + float sy = min(1000.0f, max(-1000.0f, (float)(*m_texmgr.m_tex[iSlot].var_sy) )); + float rot = (float)(*m_texmgr.m_tex[iSlot].var_rot); + int flipx = (*m_texmgr.m_tex[iSlot].var_flipx == 0.0) ? 0 : 1; + int flipy = (*m_texmgr.m_tex[iSlot].var_flipy == 0.0) ? 0 : 1; + float repeatx = min(100.0f, max(0.01f, (float)(*m_texmgr.m_tex[iSlot].var_repeatx) )); + float repeaty = min(100.0f, max(0.01f, (float)(*m_texmgr.m_tex[iSlot].var_repeaty) )); + + int blendmode = min(4, max(0, ((int)(*m_texmgr.m_tex[iSlot].var_blendmode)))); + float r = min(1.0f, max(0.0f, ((float)(*m_texmgr.m_tex[iSlot].var_r)))); + float g = min(1.0f, max(0.0f, ((float)(*m_texmgr.m_tex[iSlot].var_g)))); + float b = min(1.0f, max(0.0f, ((float)(*m_texmgr.m_tex[iSlot].var_b)))); + float a = min(1.0f, max(0.0f, ((float)(*m_texmgr.m_tex[iSlot].var_a)))); + + // set x,y coords + v3[0+flipx].x = -sx; + v3[1-flipx].x = sx; + v3[2+flipx].x = -sx; + v3[3-flipx].x = sx; + v3[0+flipy*2].y = -sy; + v3[1+flipy*2].y = -sy; + v3[2-flipy*2].y = sy; + v3[3-flipy*2].y = sy; + + // first aspect ratio: adjust for non-1:1 images + { + float aspect = m_texmgr.m_tex[iSlot].img_h / (float)m_texmgr.m_tex[iSlot].img_w; + + if (aspect < 1) + for (k=0; k<4; k++) v3[k].y *= aspect; // wide image + else + for (k=0; k<4; k++) v3[k].x /= aspect; // tall image + } + + // 2D rotation + { + float cos_rot = cosf(rot); + float sin_rot = sinf(rot); + for (k=0; k<4; k++) + { + float x2 = v3[k].x*cos_rot - v3[k].y*sin_rot; + float y2 = v3[k].x*sin_rot + v3[k].y*cos_rot; + v3[k].x = x2; + v3[k].y = y2; + } + } + + // translation + for (k=0; k<4; k++) + { + v3[k].x += x; + v3[k].y += y; + } + + // second aspect ratio: normalize to width of screen + { + float aspect = GetWidth() / (float)(GetHeight()); + + if (aspect > 1) + for (k=0; k<4; k++) v3[k].y *= aspect; + else + for (k=0; k<4; k++) v3[k].x /= aspect; + } + + // third aspect ratio: adjust for burn-in + if (bKillSprite && bBurnIn) // final render-to-VS1 + { + float aspect = GetWidth()/(float)(GetHeight()*4.0f/3.0f); + if (aspect < 1.0f) + for (k=0; k<4; k++) v3[k].x *= aspect; + else + for (k=0; k<4; k++) v3[k].y /= aspect; + } + + // finally, flip 'y' for annoying DirectX + //for (k=0; k<4; k++) v3[k].y *= -1.0f; + + // set u,v coords + { + float dtu = 0.5f;// / (float)m_texmgr.m_tex[iSlot].tex_w; + float dtv = 0.5f;// / (float)m_texmgr.m_tex[iSlot].tex_h; + v3[0].tu = -dtu; + v3[1].tu = dtu;///*m_texmgr.m_tex[iSlot].img_w / (float)m_texmgr.m_tex[iSlot].tex_w*/ - dtu; + v3[2].tu = -dtu; + v3[3].tu = dtu;///*m_texmgr.m_tex[iSlot].img_w / (float)m_texmgr.m_tex[iSlot].tex_w*/ - dtu; + v3[0].tv = -dtv; + v3[1].tv = -dtv; + v3[2].tv = dtv;///*m_texmgr.m_tex[iSlot].img_h / (float)m_texmgr.m_tex[iSlot].tex_h*/ - dtv; + v3[3].tv = dtv;///*m_texmgr.m_tex[iSlot].img_h / (float)m_texmgr.m_tex[iSlot].tex_h*/ - dtv; + + // repeat on x,y + for (k=0; k<4; k++) + { + v3[k].tu = (v3[k].tu - 0.0f)*repeatx + 0.5f; + v3[k].tv = (v3[k].tv - 0.0f)*repeaty + 0.5f; + } + } + + // blendmodes src alpha: dest alpha: + // 0 blend r,g,b=modulate a=opacity SRCALPHA INVSRCALPHA + // 1 decal r,g,b=modulate a=modulate D3DBLEND_ONE D3DBLEND_ZERO + // 2 additive r,g,b=modulate a=modulate D3DBLEND_ONE D3DBLEND_ONE + // 3 srccolor r,g,b=no effect a=no effect SRCCOLOR INVSRCCOLOR + // 4 colorkey r,g,b=modulate a=no effect + switch(blendmode) + { + case 0: + default: + // alpha blend + + /* + Q. I am rendering with alpha blending and setting the alpha + of the diffuse vertex component to determine the opacity. + It works when there is no texture set, but as soon as I set + a texture the alpha that I set is no longer applied. Why? + + The problem originates in the texture blending stages, rather + than in the subsequent alpha blending. Alpha can come from + several possible sources. If this has not been specified, + then the alpha will be taken from the texture, if one is selected. + If no texture is selected, then the default will use the alpha + channel of the diffuse vertex component. + + Explicitly specifying the diffuse vertex component as the source + for alpha will insure that the alpha is drawn from the alpha value + you set, whether a texture is selected or not: + + pDevice->SetSamplerState(D3DSAMP_ALPHAOP,D3DTOP_SELECTARG1); + pDevice->SetSamplerState(D3DSAMP_ALPHAARG1,D3DTA_DIFFUSE); + + If you later need to use the texture alpha as the source, set + D3DSAMP_ALPHAARG1 to D3DTA_TEXTURE. + */ + + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + for (k=0; k<4; k++) v3[k].Diffuse = D3DCOLOR_RGBA_01(r,g,b,a); + break; + case 1: + // decal + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + //lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + //lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + for (k=0; k<4; k++) v3[k].Diffuse = D3DCOLOR_RGBA_01(r*a,g*a,b*a,1); + break; + case 2: + // additive + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + for (k=0; k<4; k++) v3[k].Diffuse = D3DCOLOR_RGBA_01(r*a,g*a,b*a,1); + break; + case 3: + // srccolor + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); + for (k=0; k<4; k++) v3[k].Diffuse = D3DCOLOR_RGBA_01(1,1,1,1); + break; + case 4: + // color keyed texture: use the alpha value in the texture to + // determine which texels get drawn. + /*lpDevice->SetRenderState(D3DRS_ALPHAREF, 0); + lpDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_NOTEQUAL); + lpDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE); + */ + + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + // also, smoothly blend this in-between texels: + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + for (k=0; k<4; k++) v3[k].Diffuse = D3DCOLOR_RGBA_01(r,g,b,a); + break; + } + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (LPVOID)v3, sizeof(SPRITEVERTEX)); + + if (/*bKillSprite &&*/ bBurnIn) // final render-to-VS1 + { + // Change the rendertarget back to the original setup + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderTarget( 0, pBackBuffer ); + //lpDevice->SetDepthStencilSurface( pZBuffer ); + lpDevice->SetTexture(0, m_texmgr.m_tex[iSlot].pSurface); + + // undo aspect ratio changes (that were used to fit it to VS1): + { + float aspect = GetWidth()/(float)(GetHeight()*4.0f/3.0f); + if (aspect < 1.0f) + for (k=0; k<4; k++) v3[k].x /= aspect; + else + for (k=0; k<4; k++) v3[k].y *= aspect; + } + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (LPVOID)v3, sizeof(SPRITEVERTEX)); + } + + SafeRelease(pBackBuffer); + //SafeRelease(pZBuffer); + + if (bKillSprite) + { + KillSprite(iSlot); + } + + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + // reset these to the standard safe mode: + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); +} + +void CPlugin::UvToMathSpace(float u, float v, float* rad, float* ang) +{ + // (screen space = -1..1 on both axes; corresponds to UV space) + // uv space = [0..1] on both axes + // "math" space = what the preset authors are used to: + // upper left = [0,0] + // bottom right = [1,1] + // rad == 1 at corners of screen + // ang == 0 at three o'clock, and increases counter-clockwise (to 6.28). + float px = (u*2-1) * m_fAspectX; // probably 1.0 + float py = (v*2-1) * m_fAspectY; // probably <1 + + *rad = sqrtf(px*px + py*py) / sqrtf(m_fAspectX*m_fAspectX + m_fAspectY*m_fAspectY); + *ang = atan2f(py, px); + if (*ang < 0) + *ang += 6.2831853071796f; +} + +void CPlugin::RestoreShaderParams() +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + for (int i=0; i<2; i++) + { + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSW, D3DTADDRESS_WRAP);//texaddr); + lpDevice->SetSamplerState(i, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(i, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(i, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + } + + for (i=0; i<4; i++) + lpDevice->SetTexture( i, NULL ); + + lpDevice->SetVertexShader(NULL); + //lpDevice->SetVertexDeclaration(NULL); -directx debug runtime complains heavily about this + lpDevice->SetPixelShader(NULL); + +} + +void CPlugin::ApplyShaderParams(CShaderParams* p, LPD3DXCONSTANTTABLE pCT, CState* pState) +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + + //if (p->texbind_vs >= 0) lpDevice->SetTexture( p->texbind_vs , m_lpVS[0] ); + //if (p->texbind_noise >= 0) lpDevice->SetTexture( p->texbind_noise, m_pTexNoise ); + + // bind textures + for (int i=0; im_texture_bindings)/sizeof(p->m_texture_bindings[0]); i++) + { + if (p->m_texcode[i] == TEX_VS) + lpDevice->SetTexture(i, m_lpVS[0]); + else + lpDevice->SetTexture(i, p->m_texture_bindings[i].texptr); + + // also set up sampler stage, if anything is bound here... + if (p->m_texcode[i]==TEX_VS || p->m_texture_bindings[i].texptr) + { + bool bAniso = false; + DWORD HQFilter = bAniso ? D3DTEXF_ANISOTROPIC : D3DTEXF_LINEAR; + DWORD wrap = p->m_texture_bindings[i].bWrap ? D3DTADDRESS_WRAP : D3DTADDRESS_CLAMP; + DWORD filter = p->m_texture_bindings[i].bBilinear ? HQFilter : D3DTEXF_POINT; + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSU, wrap); + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSV, wrap); + lpDevice->SetSamplerState(i, D3DSAMP_ADDRESSW, wrap); + lpDevice->SetSamplerState(i, D3DSAMP_MAGFILTER, filter); + lpDevice->SetSamplerState(i, D3DSAMP_MINFILTER, filter); + lpDevice->SetSamplerState(i, D3DSAMP_MIPFILTER, filter); + //lpDevice->SetSamplerState(i, D3DSAMP_MAXANISOTROPY, bAniso ? 4 : 1); //FIXME:ANISO + } + + // finally, if it was a blur texture, note that + if (p->m_texcode[i] >= TEX_BLUR1 && p->m_texcode[i] <= TEX_BLUR_LAST) + m_nHighestBlurTexUsedThisFrame = max(m_nHighestBlurTexUsedThisFrame, ((int)p->m_texcode[i] - (int)TEX_BLUR1) + 1); + } + + // bind "texsize_XYZ" params + int N = p->texsize_params.size(); + for (i=0; itexsize_params[i]); + pCT->SetVector( lpDevice, q->texsize_param, &D3DXVECTOR4((float)q->w,(float)q->h,1.0f/q->w,1.0f/q->h)); + } + + float time_since_preset_start = GetTime() - pState->GetPresetStartTime(); + float time_since_preset_start_wrapped = time_since_preset_start - (int)(time_since_preset_start/10000)*10000; + float time = GetTime() - m_fStartTime; + float progress = (GetTime() - m_fPresetStartTime) / (m_fNextPresetTime - m_fPresetStartTime); + float mip_x = logf((float)GetWidth())/logf(2.0f); + float mip_y = logf((float)GetWidth())/logf(2.0f); + float mip_avg = 0.5f*(mip_x + mip_y); + float aspect_x = 1; + float aspect_y = 1; + if (GetWidth() > GetHeight()) + aspect_y = GetHeight()/(float)GetWidth(); + else + aspect_x = GetWidth()/(float)GetHeight(); + + float blur_min[3], blur_max[3]; + GetSafeBlurMinMax(pState, blur_min, blur_max); + + // bind float4's + if (p->rand_frame ) pCT->SetVector( lpDevice, p->rand_frame , &m_rand_frame ); + if (p->rand_preset) pCT->SetVector( lpDevice, p->rand_preset, &pState->m_rand_preset ); + D3DXHANDLE* h = p->const_handles; + if (h[0]) pCT->SetVector( lpDevice, h[0], &D3DXVECTOR4( aspect_x, aspect_y, 1.0f/aspect_x, 1.0f/aspect_y )); + if (h[1]) pCT->SetVector( lpDevice, h[1], &D3DXVECTOR4(0, 0, 0, 0 )); + if (h[2]) pCT->SetVector( lpDevice, h[2], &D3DXVECTOR4(time_since_preset_start_wrapped, GetFps(), (float)GetFrame(), progress)); + if (h[3]) pCT->SetVector( lpDevice, h[3], &D3DXVECTOR4(mysound.imm_rel[0], mysound.imm_rel[1], mysound.imm_rel[2], 0.3333f*(mysound.imm_rel[0], mysound.imm_rel[1], mysound.imm_rel[2]) )); + if (h[4]) pCT->SetVector( lpDevice, h[4], &D3DXVECTOR4(mysound.avg_rel[0], mysound.avg_rel[1], mysound.avg_rel[2], 0.3333f*(mysound.avg_rel[0], mysound.avg_rel[1], mysound.avg_rel[2]) )); + if (h[5]) pCT->SetVector( lpDevice, h[5], &D3DXVECTOR4( blur_max[0]-blur_min[0], blur_min[0], blur_max[1]-blur_min[1], blur_min[1] )); + if (h[6]) pCT->SetVector( lpDevice, h[6], &D3DXVECTOR4( blur_max[2]-blur_min[2], blur_min[2], blur_min[0], blur_max[0] )); + if (h[7]) pCT->SetVector( lpDevice, h[7], &D3DXVECTOR4((float)m_nTexSizeX, (float)m_nTexSizeY, 1.0f/(float)m_nTexSizeX, 1.0f/(float)m_nTexSizeY )); + if (h[8]) pCT->SetVector( lpDevice, h[8], &D3DXVECTOR4( 0.5f+0.5f*cosf(time* 0.329f+1.2f), + 0.5f+0.5f*cosf(time* 1.293f+3.9f), + 0.5f+0.5f*cosf(time* 5.070f+2.5f), + 0.5f+0.5f*cosf(time*20.051f+5.4f) + )); + if (h[9]) pCT->SetVector( lpDevice, h[9], &D3DXVECTOR4( 0.5f+0.5f*sinf(time* 0.329f+1.2f), + 0.5f+0.5f*sinf(time* 1.293f+3.9f), + 0.5f+0.5f*sinf(time* 5.070f+2.5f), + 0.5f+0.5f*sinf(time*20.051f+5.4f) + )); + if (h[10]) pCT->SetVector( lpDevice, h[10], &D3DXVECTOR4( 0.5f+0.5f*cosf(time*0.0050f+2.7f), + 0.5f+0.5f*cosf(time*0.0085f+5.3f), + 0.5f+0.5f*cosf(time*0.0133f+4.5f), + 0.5f+0.5f*cosf(time*0.0217f+3.8f) + )); + if (h[11]) pCT->SetVector( lpDevice, h[11], &D3DXVECTOR4( 0.5f+0.5f*sinf(time*0.0050f+2.7f), + 0.5f+0.5f*sinf(time*0.0085f+5.3f), + 0.5f+0.5f*sinf(time*0.0133f+4.5f), + 0.5f+0.5f*sinf(time*0.0217f+3.8f) + )); + if (h[12]) pCT->SetVector( lpDevice, h[12], &D3DXVECTOR4( mip_x, mip_y, mip_avg, 0 )); + if (h[13]) pCT->SetVector( lpDevice, h[13], &D3DXVECTOR4( blur_min[1], blur_max[1], blur_min[2], blur_max[2] )); + + // write q vars + int num_q_float4s = sizeof(p->q_const_handles)/sizeof(p->q_const_handles[0]); + for (i=0; iq_const_handles[i]) + pCT->SetVector( lpDevice, p->q_const_handles[i], &D3DXVECTOR4( + (float)*pState->var_pf_q[i*4+0], + (float)*pState->var_pf_q[i*4+1], + (float)*pState->var_pf_q[i*4+2], + (float)*pState->var_pf_q[i*4+3] )); + } + + // write matrices + for (i=0; i<20; i++) + { + if (p->rot_mat[i]) + { + D3DXMATRIX mx,my,mz,mxlate,temp; + + pMatrixRotationX(&mx, pState->m_rot_base[i].x + pState->m_rot_speed[i].x*time); + pMatrixRotationY(&my, pState->m_rot_base[i].y + pState->m_rot_speed[i].y*time); + pMatrixRotationZ(&mz, pState->m_rot_base[i].z + pState->m_rot_speed[i].z*time); + pMatrixTranslation(&mxlate, pState->m_xlate[i].x, pState->m_xlate[i].y, pState->m_xlate[i].z); + + pMatrixMultiply(&temp, &mx, &mxlate); + pMatrixMultiply(&temp, &temp, &mz); + pMatrixMultiply(&temp, &temp, &my); + + pCT->SetMatrix(lpDevice, p->rot_mat[i], &temp); + } + } + // the last 4 are totally random, each frame + for (i=20; i<24; i++) + { + if (p->rot_mat[i]) + { + D3DXMATRIX mx,my,mz,mxlate,temp; + + pMatrixRotationX(&mx, FRAND * 6.28f); + pMatrixRotationY(&my, FRAND * 6.28f); + pMatrixRotationZ(&mz, FRAND * 6.28f); + pMatrixTranslation(&mxlate, FRAND, FRAND, FRAND); + + pMatrixMultiply(&temp, &mx, &mxlate); + pMatrixMultiply(&temp, &temp, &mz); + pMatrixMultiply(&temp, &temp, &my); + + pCT->SetMatrix(lpDevice, p->rot_mat[i], &temp); + } + } +} + +void CPlugin::ShowToUser_NoShaders()//int bRedraw, int nPassOverride) +{ + // note: this one has to draw the whole screen! (one big quad) + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, m_lpVS[1]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetPixelShader( NULL ); + lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + + // stages 0 and 1 always just use bilinear filtering. + lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + lpDevice->SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + + // note: this texture stage state setup works for 0 or 1 texture. + // if you set a texture, it will be modulated with the current diffuse color. + // if you don't set a texture, it will just use the current diffuse color. + lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); + lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + float fZoom = 1.0f; + SPRITEVERTEX v3[4]; + ZeroMemory(v3, sizeof(SPRITEVERTEX)*4); + + // extend the poly we draw by 1 pixel around the viewable image area, + // in case the video card wraps u/v coords with a +0.5-texel offset + // (otherwise, a 1-pixel-wide line of the image would wrap at the top and left edges). + float fOnePlusInvWidth = 1.0f + 1.0f/(float)GetWidth(); + float fOnePlusInvHeight = 1.0f + 1.0f/(float)GetHeight(); + v3[0].x = -fOnePlusInvWidth; + v3[1].x = fOnePlusInvWidth; + v3[2].x = -fOnePlusInvWidth; + v3[3].x = fOnePlusInvWidth; + v3[0].y = fOnePlusInvHeight; + v3[1].y = fOnePlusInvHeight; + v3[2].y = -fOnePlusInvHeight; + v3[3].y = -fOnePlusInvHeight; + + //float aspect = GetWidth() / (float)(GetHeight()/(ASPECT)/**4.0f/3.0f*/); + float aspect = GetWidth() / (float)(GetHeight()*m_fInvAspectY/**4.0f/3.0f*/); + float x_aspect_mult = 1.0f; + float y_aspect_mult = 1.0f; + + if (aspect>1) + y_aspect_mult = aspect; + else + x_aspect_mult = 1.0f/aspect; + + for (int n=0; n<4; n++) + { + v3[n].x *= x_aspect_mult; + v3[n].y *= y_aspect_mult; + } + + { + float shade[4][3] = { + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f } }; // for each vertex, then each comp. + + float fShaderAmount = m_pState->m_fShader.eval(GetTime()); + + if (fShaderAmount > 0.001f) + { + for (int i=0; i<4; i++) + { + shade[i][0] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0143f + 3 + i*21 + m_fRandStart[3]); + shade[i][1] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0107f + 1 + i*13 + m_fRandStart[1]); + shade[i][2] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0129f + 6 + i*9 + m_fRandStart[2]); + float max = ((shade[i][0] > shade[i][1]) ? shade[i][0] : shade[i][1]); + if (shade[i][2] > max) max = shade[i][2]; + for (int k=0; k<3; k++) + { + shade[i][k] /= max; + shade[i][k] = 0.5f + 0.5f*shade[i][k]; + } + for (k=0; k<3; k++) + { + shade[i][k] = shade[i][k]*(fShaderAmount) + 1.0f*(1.0f - fShaderAmount); + } + v3[i].Diffuse = D3DCOLOR_RGBA_01(shade[i][0],shade[i][1],shade[i][2],1); + } + } + + float fVideoEchoZoom = (float)(*m_pState->var_pf_echo_zoom);//m_pState->m_fVideoEchoZoom.eval(GetTime()); + float fVideoEchoAlpha = (float)(*m_pState->var_pf_echo_alpha);//m_pState->m_fVideoEchoAlpha.eval(GetTime()); + int nVideoEchoOrientation = (int) (*m_pState->var_pf_echo_orient) % 4;//m_pState->m_nVideoEchoOrientation; + float fGammaAdj = (float)(*m_pState->var_pf_gamma);//m_pState->m_fGammaAdj.eval(GetTime()); + + if (m_pState->m_bBlending && + m_pState->m_fVideoEchoAlpha.eval(GetTime()) > 0.01f && + m_pState->m_fVideoEchoAlphaOld > 0.01f && + m_pState->m_nVideoEchoOrientation != m_pState->m_nVideoEchoOrientationOld) + { + if (m_pState->m_fBlendProgress < m_fSnapPoint) + { + nVideoEchoOrientation = m_pState->m_nVideoEchoOrientationOld; + fVideoEchoAlpha *= 1.0f - 2.0f*CosineInterp(m_pState->m_fBlendProgress); + } + else + { + fVideoEchoAlpha *= 2.0f*CosineInterp(m_pState->m_fBlendProgress) - 1.0f; + } + } + + if (fVideoEchoAlpha > 0.001f) + { + // video echo + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + + for (int i=0; i<2; i++) + { + fZoom = (i==0) ? 1.0f : fVideoEchoZoom; + + float temp_lo = 0.5f - 0.5f/fZoom; + float temp_hi = 0.5f + 0.5f/fZoom; + v3[0].tu = temp_lo; + v3[0].tv = temp_hi; + v3[1].tu = temp_hi; + v3[1].tv = temp_hi; + v3[2].tu = temp_lo; + v3[2].tv = temp_lo; + v3[3].tu = temp_hi; + v3[3].tv = temp_lo; + + // flipping + if (i==1) + { + for (int j=0; j<4; j++) + { + if (nVideoEchoOrientation % 2) + v3[j].tu = 1.0f - v3[j].tu; + if (nVideoEchoOrientation >= 2) + v3[j].tv = 1.0f - v3[j].tv; + } + } + + float mix = (i==1) ? fVideoEchoAlpha : 1.0f - fVideoEchoAlpha; + for (int k=0; k<4; k++) + v3[k].Diffuse = D3DCOLOR_RGBA_01(mix*shade[k][0],mix*shade[k][1],mix*shade[k][2],1); + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + if (i==0) + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + } + + if (fGammaAdj > 0.001f) + { + // draw layer 'i' a 2nd (or 3rd, or 4th...) time, additively + int nRedraws = (int)(fGammaAdj - 0.0001f); + float gamma; + + for (int nRedraw=0; nRedraw < nRedraws; nRedraw++) + { + if (nRedraw == nRedraws-1) + gamma = fGammaAdj - (int)(fGammaAdj - 0.0001f); + else + gamma = 1.0f; + + for (int k=0; k<4; k++) + v3[k].Diffuse = D3DCOLOR_RGBA_01(gamma*mix*shade[k][0],gamma*mix*shade[k][1],gamma*mix*shade[k][2],1); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + } + } + } + } + else + { + // no video echo + v3[0].tu = 0; v3[1].tu = 1; v3[2].tu = 0; v3[3].tu = 1; + v3[0].tv = 1; v3[1].tv = 1; v3[2].tv = 0; v3[3].tv = 0; + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + + // draw it iteratively, solid the first time, and additively after that + int nPasses = (int)(fGammaAdj - 0.001f) + 1; + float gamma; + + for (int nPass=0; nPass < nPasses; nPass++) + { + if (nPass == nPasses - 1) + gamma = fGammaAdj - (float)nPass; + else + gamma = 1.0f; + + for (int k=0; k<4; k++) + v3[k].Diffuse = D3DCOLOR_RGBA_01(gamma*shade[k][0],gamma*shade[k][1],gamma*shade[k][2],1); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + if (nPass==0) + { + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + } + } + } + + SPRITEVERTEX v3[4]; + ZeroMemory(v3, sizeof(SPRITEVERTEX)*4); + float fOnePlusInvWidth = 1.0f + 1.0f/(float)GetWidth(); + float fOnePlusInvHeight = 1.0f + 1.0f/(float)GetHeight(); + v3[0].x = -fOnePlusInvWidth; + v3[1].x = fOnePlusInvWidth; + v3[2].x = -fOnePlusInvWidth; + v3[3].x = fOnePlusInvWidth; + v3[0].y = fOnePlusInvHeight; + v3[1].y = fOnePlusInvHeight; + v3[2].y = -fOnePlusInvHeight; + v3[3].y = -fOnePlusInvHeight; + for (int i=0; i<4; i++) v3[i].Diffuse = D3DCOLOR_RGBA_01(1,1,1,1); + + if (*m_pState->var_pf_brighten && + (GetCaps()->SrcBlendCaps & D3DPBLENDCAPS_INVDESTCOLOR ) && + (GetCaps()->DestBlendCaps & D3DPBLENDCAPS_DESTCOLOR) + ) + { + // square root filter + + //lpDevice->SetRenderState(D3DRS_COLORVERTEX, FALSE); //? + //lpDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); //? + + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + + // first, a perfect invert + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVDESTCOLOR); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + // then modulate by self (square it) + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_DESTCOLOR); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + // then another perfect invert + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVDESTCOLOR); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + } + + if (*m_pState->var_pf_darken && + (GetCaps()->DestBlendCaps & D3DPBLENDCAPS_DESTCOLOR) + ) + { + // squaring filter + + //lpDevice->SetRenderState(D3DRS_COLORVERTEX, FALSE); //? + //lpDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); //? + + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_DESTCOLOR); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + //lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_DESTCOLOR); + //lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + //lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + } + + if (*m_pState->var_pf_solarize && + (GetCaps()->SrcBlendCaps & D3DPBLENDCAPS_DESTCOLOR ) && + (GetCaps()->DestBlendCaps & D3DPBLENDCAPS_INVDESTCOLOR) + ) + { + //lpDevice->SetRenderState(D3DRS_COLORVERTEX, FALSE); //? + //lpDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); //? + + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVDESTCOLOR); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_DESTCOLOR); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + } + + if (*m_pState->var_pf_invert && + (GetCaps()->SrcBlendCaps & D3DPBLENDCAPS_INVDESTCOLOR ) + ) + { + //lpDevice->SetRenderState(D3DRS_COLORVERTEX, FALSE); //? + //lpDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); //? + + lpDevice->SetTexture(0, NULL); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVDESTCOLOR); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO); + + lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, (void*)v3, sizeof(SPRITEVERTEX)); + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + } +} + +void CPlugin::ShowToUser_Shaders(int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling)//int bRedraw, int nPassOverride, bool bFlipAlpha) +{ + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + //lpDevice->SetTexture(0, m_lpVS[1]); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( MYVERTEX_FORMAT ); + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + float fZoom = 1.0f; + + float aspect = GetWidth() / (float)(GetHeight()*m_fInvAspectY/**4.0f/3.0f*/); + float x_aspect_mult = 1.0f; + float y_aspect_mult = 1.0f; + + if (aspect>1) + y_aspect_mult = aspect; + else + x_aspect_mult = 1.0f/aspect; + + // hue shader + float shade[4][3] = { + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f }, + { 1.0f, 1.0f, 1.0f } }; // for each vertex, then each comp. + + float fShaderAmount = 1;//since we don't know if shader uses it or not! m_pState->m_fShader.eval(GetTime()); + + if (fShaderAmount > 0.001f || m_pState->m_bBlending) + { + // pick 4 colors for the 4 corners + for (int i=0; i<4; i++) + { + shade[i][0] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0143f + 3 + i*21 + m_fRandStart[3]); + shade[i][1] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0107f + 1 + i*13 + m_fRandStart[1]); + shade[i][2] = 0.6f + 0.3f*sinf(GetTime()*30.0f*0.0129f + 6 + i*9 + m_fRandStart[2]); + float max = ((shade[i][0] > shade[i][1]) ? shade[i][0] : shade[i][1]); + if (shade[i][2] > max) max = shade[i][2]; + for (int k=0; k<3; k++) + { + shade[i][k] /= max; + shade[i][k] = 0.5f + 0.5f*shade[i][k]; + } + // note: we now pass the raw hue shader colors down; the shader can only use a certain % if it wants. + //for (k=0; k<3; k++) + // shade[i][k] = shade[i][k]*(fShaderAmount) + 1.0f*(1.0f - fShaderAmount); + //m_comp_verts[i].Diffuse = D3DCOLOR_RGBA_01(shade[i][0],shade[i][1],shade[i][2],1); + } + + // interpolate the 4 colors & apply to all the verts + for (int j=0; jx*0.5f + 0.5f; + float y = p->y*0.5f + 0.5f; + + float col[3] = { 1, 1, 1 }; + if (fShaderAmount > 0.001f) + { + for (int c=0; c<3; c++) + col[c] = shade[0][c]*( x)*( y) + + shade[1][c]*(1-x)*( y) + + shade[2][c]*( x)*(1-y) + + shade[3][c]*(1-x)*(1-y); + } + + // TO DO: improve interp here? + // TO DO: during blend, only send the triangles needed + + // if blending, also set up the alpha values - pull them from the alphas used for the Warped Blit + double alpha = 1; + if (m_pState->m_bBlending) + { + x *= (m_nGridX + 1); + y *= (m_nGridY + 1); + x = max(min(x,m_nGridX-1),0); + y = max(min(y,m_nGridY-1),0); + int nx = (int)x; + int ny = (int)y; + double dx = x - nx; + double dy = y - ny; + double alpha00 = (m_verts[(ny )*(m_nGridX+1) + (nx )].Diffuse >> 24); + double alpha01 = (m_verts[(ny )*(m_nGridX+1) + (nx+1)].Diffuse >> 24); + double alpha10 = (m_verts[(ny+1)*(m_nGridX+1) + (nx )].Diffuse >> 24); + double alpha11 = (m_verts[(ny+1)*(m_nGridX+1) + (nx+1)].Diffuse >> 24); + alpha = alpha00*(1-dx)*(1-dy) + + alpha01*( dx)*(1-dy) + + alpha10*(1-dx)*( dy) + + alpha11*( dx)*( dy); + alpha /= 255.0f; + //if (bFlipAlpha) + // alpha = 1-alpha; + + //alpha = (m_verts[y*(m_nGridX+1) + x].Diffuse >> 24) / 255.0f; + } + p->Diffuse = D3DCOLOR_RGBA_01(col[0],col[1],col[2],alpha); + } + } + } + + int nAlphaTestValue = 0; + if (bFlipCulling) + nAlphaTestValue = 1-nAlphaTestValue; + + if (bAlphaBlend) + { + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + if (bFlipAlpha) + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_SRCALPHA); + } + else + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + } + } + else + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + // Now do the final composite blit, fullscreen; + // or do it twice, alpha-blending, if we're blending between two sets of shaders. + + int pass = nPass; + { + // PASS 0: draw using *blended per-vertex motion vectors*, but with the OLD comp shader. + // PASS 1: draw using *blended per-vertex motion vectors*, but with the NEW comp shader. + PShaderInfo* si = (pass==0) ? &m_OldShaders.comp : &m_shaders.comp; + CState* state = (pass==0) ? m_pOldState : m_pState; + + lpDevice->SetVertexDeclaration(m_pMyVertDecl); + lpDevice->SetVertexShader(m_fallbackShaders_vs.comp.ptr); + lpDevice->SetPixelShader (si->ptr); + + ApplyShaderParams( &(si->params), si->CT, state ); + + // Hurl the triangles at the video card. + // We're going to un-index it, so that we don't stress any crappy (AHEM intel g33) + // drivers out there. Not a big deal - only ~800 polys / 24kb of data. + // If we're blending, we'll skip any polygon that is all alpha-blended out. + // This also respects the MaxPrimCount limit of the video card. + MYVERTEX tempv[1024 * 3]; + int primCount = (FCGSX-2)*(FCGSY-2)*2; // although, some might not be drawn! + int max_prims_per_batch = min( GetCaps()->MaxPrimitiveCount, (sizeof(tempv)/sizeof(tempv[0]))/3) - 4; + int src_idx = 0; + while (src_idx < primCount*3) + { + int prims_queued = 0; + int i=0; + while (prims_queued < max_prims_per_batch && src_idx < primCount*3) + { + // copy 3 verts + for (int j=0; j<3; j++) + tempv[i++] = m_comp_verts[ m_comp_indices[src_idx++] ]; + if (bCullTiles) + { + DWORD d1 = (tempv[i-3].Diffuse >> 24); + DWORD d2 = (tempv[i-2].Diffuse >> 24); + DWORD d3 = (tempv[i-1].Diffuse >> 24); + bool bIsNeeded; + if (nAlphaTestValue) + bIsNeeded = ((d1 & d2 & d3) < 255);//(d1 < 255) || (d2 < 255) || (d3 < 255); + else + bIsNeeded = ((d1|d2|d3) > 0);//(d1 > 0) || (d2 > 0) || (d3 > 0); + if (!bIsNeeded) + i -= 3; + else + prims_queued++; + } + else + prims_queued++; + } + if (prims_queued > 0) + lpDevice->DrawPrimitiveUP( D3DPT_TRIANGLELIST, prims_queued, tempv, sizeof(MYVERTEX) ); + } + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + RestoreShaderParams(); +} + +void CPlugin::ShowSongTitleAnim(int w, int h, float fProgress) +{ + int i,x,y; + + if (!m_lpDDSTitle) // this *can* be NULL, if not much video mem! + return; + + LPDIRECT3DDEVICE9 lpDevice = GetDevice(); + if (!lpDevice) + return; + + lpDevice->SetTexture(0, m_lpDDSTitle); + lpDevice->SetVertexShader( NULL ); + lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + + SPRITEVERTEX v3[128]; + ZeroMemory(v3, sizeof(SPRITEVERTEX)*128); + + if (m_supertext.bIsSongTitle) + { + // positioning: + float fSizeX = 50.0f / (float)m_supertext.nFontSizeUsed * powf(1.5f, m_supertext.fFontSize - 2.0f); + float fSizeY = fSizeX * m_nTitleTexSizeY/(float)m_nTitleTexSizeX;// * m_nWidth/(float)m_nHeight; + + if (fSizeX > 0.88f) + { + fSizeY *= 0.88f/fSizeX; + fSizeX = 0.88f; + } + + //fixme + if (fProgress < 1.0f)//(w!=h) // regular render-to-backbuffer + { + //float aspect = w/(float)(h*4.0f/3.0f); + //fSizeY *= aspect; + } + else // final render-to-VS0 + { + //float aspect = GetWidth()/(float)(GetHeight()*4.0f/3.0f); + //if (aspect < 1.0f) + //{ + // fSizeX *= aspect; + // fSizeY *= aspect; + //} + + //fSizeY *= -1; + } + + //if (fSizeX > 0.92f) fSizeX = 0.92f; + //if (fSizeY > 0.92f) fSizeY = 0.92f; + i = 0; + float vert_clip = VERT_CLIP;//1.0f;//0.45f; // warning: visible clipping has been observed at 0.4! + for (y=0; y<8; y++) + { + for (x=0; x<16; x++) + { + v3[i].tu = x/15.0f; + v3[i].tv = (y/7.0f - 0.5f)*vert_clip + 0.5f; + v3[i].x = (v3[i].tu*2.0f - 1.0f)*fSizeX; + v3[i].y = (v3[i].tv*2.0f - 1.0f)*fSizeY; + if (fProgress >= 1.0f) + v3[i].y += 1.0f/(float)m_nTexSizeY; //this is a pretty hacky guess @ getting it to align... + i++; + } + } + + // warping + float ramped_progress = max(0.0f, 1-fProgress*1.5f); + float t2 = powf(ramped_progress, 1.8f)*1.3f; + for (y=0; y<8; y++) + { + for (x=0; x<16; x++) + { + i = y*16+x; + v3[i].x += t2*0.070f*sinf(GetTime()*0.31f + v3[i].x*0.39f - v3[i].y*1.94f); + v3[i].x += t2*0.044f*sinf(GetTime()*0.81f - v3[i].x*1.91f + v3[i].y*0.27f); + v3[i].x += t2*0.061f*sinf(GetTime()*1.31f + v3[i].x*0.61f + v3[i].y*0.74f); + v3[i].y += t2*0.061f*sinf(GetTime()*0.37f + v3[i].x*1.83f + v3[i].y*0.69f); + v3[i].y += t2*0.070f*sinf(GetTime()*0.67f + v3[i].x*0.42f - v3[i].y*1.39f); + v3[i].y += t2*0.087f*sinf(GetTime()*1.07f + v3[i].x*3.55f + v3[i].y*0.89f); + } + } + + // scale down over time + float scale = 1.01f/(powf(fProgress, 0.21f) + 0.01f); + for (i=0; i<128; i++) + { + v3[i].x *= scale; + v3[i].y *= scale; + } + } + else + { + // positioning: + float fSizeX = (float)m_nTexSizeX/1024.0f * 100.0f / (float)m_supertext.nFontSizeUsed * powf(1.033f, m_supertext.fFontSize - 50.0f); + float fSizeY = fSizeX * m_nTitleTexSizeY/(float)m_nTitleTexSizeX; + + //fixme + if (fProgress < 1.0f)//w!=h) // regular render-to-backbuffer + { + //float aspect = w/(float)(h*4.0f/3.0f); + //fSizeY *= aspect; + } + else // final render-to-VS0 + { + //float aspect = GetWidth()/(float)(GetHeight()*4.0f/3.0f); + //if (aspect < 1.0f) + //{ + // fSizeX *= aspect; + // fSizeY *= aspect; + //} + //fSizeY *= -1; + } + + //if (fSize > 0.92f) fSize = 0.92f; + i = 0; + float vert_clip = VERT_CLIP;//0.67f; // warning: visible clipping has been observed at 0.5 (for very short strings) and even 0.6 (for wingdings)! + for (y=0; y<8; y++) + { + for (x=0; x<16; x++) + { + v3[i].tu = x/15.0f; + v3[i].tv = (y/7.0f - 0.5f)*vert_clip + 0.5f; + v3[i].x = (v3[i].tu*2.0f - 1.0f)*fSizeX; + v3[i].y = (v3[i].tv*2.0f - 1.0f)*fSizeY; + if (fProgress >= 1.0f) + v3[i].y += 1.0f/(float)m_nTexSizeY; //this is a pretty hacky guess @ getting it to align... + i++; + } + } + + // apply 'growth' factor and move to user-specified (x,y) + //if (fabsf(m_supertext.fGrowth-1.0f) > 0.001f) + { + float t = (1.0f)*(1-fProgress) + (fProgress)*(m_supertext.fGrowth); + float dx = (m_supertext.fX*2-1); + float dy = (m_supertext.fY*2-1); + if (w!=h) // regular render-to-backbuffer + { + float aspect = w/(float)(h*4.0f/3.0f); + if (aspect < 1) + dx /= aspect; + else + dy *= aspect; + } + + for (i=0; i<128; i++) + { + // note: (x,y) are in (-1,1) range, but m_supertext.f{X|Y} are in (0..1) range + v3[i].x = (v3[i].x)*t + dx; + v3[i].y = (v3[i].y)*t + dy; + } + } + } + + WORD indices[7*15*6]; + i = 0; + for (y=0; y<7; y++) + { + for (x=0; x<15; x++) + { + indices[i++] = y*16 + x; + indices[i++] = y*16 + x + 1; + indices[i++] = y*16 + x + 16; + indices[i++] = y*16 + x + 1; + indices[i++] = y*16 + x + 16; + indices[i++] = y*16 + x + 17; + } + } + + // final flip on y + //for (i=0; i<128; i++) + // v3[i].y *= -1.0f; + for (i=0; i<128; i++) + //v3[i].y /= ASPECT_Y; + v3[i].y *= m_fInvAspectY; + + for (int it=0; it<2; it++) + { + // colors + { + float t; + + if (m_supertext.bIsSongTitle) + t = powf(fProgress, 0.3f)*1.0f; + else + t = CosineInterp(min(1.0f, (fProgress/m_supertext.fFadeTime))); + + if (it==0) + v3[0].Diffuse = D3DCOLOR_RGBA_01(t,t,t,t); + else + v3[0].Diffuse = D3DCOLOR_RGBA_01(t*m_supertext.nColorR/255.0f,t*m_supertext.nColorG/255.0f,t*m_supertext.nColorB/255.0f,t); + + for (i=1; i<128; i++) + v3[i].Diffuse = v3[0].Diffuse; + } + + // nudge down & right for shadow, up & left for solid text + float offset_x = 0, offset_y = 0; + switch(it) + { + case 0: + offset_x = 2.0f/(float)m_nTitleTexSizeX; + offset_y = 2.0f/(float)m_nTitleTexSizeY; + break; + case 1: + offset_x = -4.0f/(float)m_nTitleTexSizeX; + offset_y = -4.0f/(float)m_nTitleTexSizeY; + break; + } + + for (i=0; i<128; i++) + { + v3[i].x += offset_x; + v3[i].y += offset_y; + } + + if (it == 0) + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO);//SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); + } + else + { + lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);//SRCALPHA); + lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); + } + + lpDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 128, 15*7*6/3, indices, D3DFMT_INDEX16, v3, sizeof(SPRITEVERTEX)); + } + + lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/plugin.cpp b/src/MilkDrop2/vis_milk2/plugin.cpp new file mode 100644 index 0000000000..57d8dc9609 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/plugin.cpp @@ -0,0 +1,9637 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ +/* + ########################################################################################## + + NOTE: + + The DX9 SDK include & lib files for building MilkDrop 2 are right here, in the subdirectory: + .\dx9sdk_summer04\ + + The summer 2004 SDK statically links you to d3dx9.lib (5,820 kb). It bloats vis_milk2.dll + a bit, but we (Ben Allison / Ryan Geiss) decided it's worth the stability. We tinkered + with using the February 2005 sdk, which lets you dynamically link to d3dx9_31.dll (?), + but decided to skip it because it would cause too much hassle/confusion among users. + + Summer 2004 sdk: http://www.microsoft.com/downloads/details.aspx?FamilyID=fd044a42-9912-42a3-9a9e-d857199f888e&DisplayLang=en + Feb 2005 sdk: http://www.microsoft.com/downloads/details.aspx?FamilyId=77960733-06E9-47BA-914A-844575031B81&displaylang=en + + ########################################################################################## +*/ + +/* +Order of Function Calls +----------------------- + The only code that will be called by the plugin framework are the + 12 virtual functions in plugin.h. But in what order are they called? + A breakdown follows. A function name in { } means that it is only + called under certain conditions. + + Order of function calls... + + When the PLUGIN launches + ------------------------ + INITIALIZATION + OverrideDefaults + MyPreInitialize + MyReadConfig + << DirectX gets initialized at this point >> + AllocateMyNonDx9Stuff + AllocateMyDX9Stuff + RUNNING + +--> { CleanUpMyDX9Stuff + AllocateMyDX9Stuff } // called together when user resizes window or toggles fullscreen<->windowed. + | MyRenderFn + | MyRenderUI + | { MyWindowProc } // called, between frames, on mouse/keyboard/system events. 100% threadsafe. + +----<< repeat >> + CLEANUP + CleanUpMyDX9Stuff + CleanUpMyNonDx9Stuff + << DirectX gets uninitialized at this point >> + + When the CONFIG PANEL launches + ------------------------------ + INITIALIZATION + OverrideDefaults + MyPreInitialize + MyReadConfig + << DirectX gets initialized at this point >> + RUNNING + { MyConfigTabProc } // called on startup & on keyboard events + CLEANUP + [ MyWriteConfig ] // only called if user clicked 'OK' to exit + << DirectX gets uninitialized at this point >> +*/ + +/* + NOTES + ----- + + + + To do + ----- + -VMS VERSION: + -based on vms 1.05, but the 'fix slow text' option has been added. + that includes m_lpDDSText, CTextManager (m_text), changes to + DrawDarkTranslucentBox, the replacement of all DrawText calls + (now routed through m_text), and adding the 'fix slow text' cb + to the config panel. + + -KILLED FEATURES: + -vj mode + + -NEW FEATURES FOR 1.04: + -added the following variables for per-frame scripting: (all booleans, except 'gamma') + wave_usedots, wave_thick, wave_additive, wave_brighten + gamma, darken_center, wrap, invert, brighten, darken, solarize + (also, note that echo_zoom, echo_alpha, and echo_orient were already in there, + but weren't covered in the documentation!) + d -fixed: spectrum w/512 samples + 256 separation -> infinite spike + d -reverted dumb changes to aspect ratio stuff + d -reverted wave_y fix; now it's backwards, just like it's always been + (i.e. for wave's y position, 0=bottom and 1=top, which is opposite + to the convention in the rest of milkdrop. decided to keep the + 'bug' so presets don't need modified.) + d -fixed: Krash: Inconsistency bug - pressing Escape while in the code windows + for custom waves completely takes you out of the editing menus, + rather than back to the custom wave menu + d -when editing code: fix display of '&' character + d -internal texture size now has a little more bias toward a finer texture, + based on the window size, when set to 'Auto'. (Before, for example, + to reach 1024x1024, the window had to be 768x768 or greater; now, it + only has to be 640x640 (25% of the way there). I adjusted it because + before, at in-between resolutions like 767x767, it looked very grainy; + now it will always look nice and crisp, at any window size, but still + won't cause too much aliasing (due to downsampling for display). + d -fixed: rova: + When creating presets have commented code // in the per_pixel section when cause error in preset. + Example nothing in per_frame and just comments in the per_pixel. EXamples on repuest I have a few. + d -added kill keys: + -CTRL+K kills all running sprites + -CTRL+T kills current song title anim + -CTRL+Y kills current custom message + d -notice to sprite users: + -in milk_img.ini, color key can't be a range anymore; it's + now limited to just a single color. 'colorkey_lo' and + 'colorkey_hi' have been replaced with just one setting, + 'colorkey'. + d -song titles + custom messages are working again + ? -fixed?: crashes on window resize [out of mem] + -Rova: BTW the same bug as krash with the window resizing. + -NOT due to the 'integrate w/winamp' option. + -> might be fixed now (had forgotten to release m_lpDDSText) + + d -added checkbox to config screen to automatically turn SCROLL LOCK on @ startup + d -added alphanumeric seeking to the playlist; while playlist is up, + you can now press A-Z and 0-9 to seek to the next song in the playlist + that starts with that character. + d - + d - + d - + d - + d - + ? - + ? - + ? - + d - + d - + d - + d - + d - + + -now when playlist is up, SHIFT+A-Z seeks upward (while lowercase/regular a-z seeks downward). + -custom shapes: + -OH MY GOD + -increased max. # of custom shapes (and waves) from 3 to 4 + -added 'texture' option, which allows you to use the last frame as a texture on the shape + -added "tex_ang" and "tex_zoom" params to control the texture coords + -each frame, custom shapes now draw BEFORE regular waveform + custom waves + -added init + per-frame vars: "texture", "additive", "thick", "tex_ang", "tex_zoom" + -fixed valid characters for filenames when importing/exporting custom shapes/waves; + also, it now gives error messages on error in import/export. + -cranked max. meshsize up to 96x72 + -Krash, Rova: now the 'q' variables, as modified by the preset per-frame equations, are again + readable by the custom waves + custom shapes. Sorry about that. Should be the end of the + 'q' confusion. + -added 'meshx' and 'meshy' [read-only] variables to the preset init, per-frame, and per-pixel + equations (...and inc'd the size of the global variable pool by 2). + -removed t1-t8 vars for Custom Shapes; they were unnecessary (since there's no per-point code there). + -protected custom waves from trying to draw when # of sample minus the separation is < 2 + (or 1 if drawing with dots) + -fixed some [minor] preset-blending bugs in the custom wave code + -created a visual map for the flow of values for the q1-q8 and t1-t8 variables: + q_and_t_vars.gif (or something). + -fixed clipping of onscreen text in low-video-memory situations. Now, if there isn't enough + video memory to create an offscreen texture that is at least 75% of the size of the + screen (or to create at least a 256x256 one), it won't bother using one, and will instead draw text directly to the screen. + Otherwise, if the texture is from 75%-99% of the screen size, text will now at least + appear in the correct position on the screen so that it will be visible; this will mean + that the right- and bottom-aligned text will no longer be fully right/bottom-aligned + to the edge of the screen. + -fixed blurry text + -VJ mode is partially restored; the rest will come with beta 7 or the final release. At the time of beta 6, VJ mode still has some glitches in it, but I'm working on them. Most notably, it doesn't resize the text image when you resize the window; that's next on my list. + + -now sprites can burn-in on any frame, not just on the last frame. + set 'burn' to one (in the sprite code) on any frame to make it burn in. + this will break some older sprites, but it's super easy to fix, and + I think it's worth it. =) thanks to papaw00dy for the suggestion! + -fixed the asymptotic-value bug with custom waves using spectral data & having < 512 samples (thanks to telek's example!) + -fixed motion vectors' reversed Y positioning. + -fixed truncation ("...") of long custom messages + -fixed that pesky bug w/the last line of code on a page + -fixed the x-positioning of custom waves & shapes. Before, if you were + saving some coordinates from the preset's per-frame equations (say in q1 and q2) + and then you set "x = q1; y = q2;" in a custom shape's per-frame code + (or in a custom wave's per-point code), the x position wouldn't really be + in the right place, because of aspect ratio multiplications. Before, you had + to actually write "x = (q1-0.5)*0.75 + 0.5; y = q2;" to get it to line up; + now it's fixed, though, and you can just write "x = q1; y = q2;". + -fixed some bugs where the plugin start up, in windowed mode, on the wrong window + (and hence run super slow). + -fixed some bugs w/a munged window frame when the "integrate with winamp" option + was checked. + + -preset ratings are no longer read in all at once; instead, they are scanned in + 1 per frame until they're all in. This fixes the long pauses when you switch + to a directory that has many hundreds of presets. If you want to switch + back to the old way (read them all in at once), there is an option for it + in the config panel. + -cranked max. mesh size up to 128x96 + -fixed bug in custom shape per-frame code, where t1-t8 vars were not + resetting, at the beginning of each frame, to the values that they had + @ the end of the custom shape init code's execution. + - + - + - + + + beta 2 thread: http://forums.winamp.com/showthread.php?threadid=142635 + beta 3 thread: http://forums.winamp.com/showthread.php?threadid=142760 + beta 4 thread: http://forums.winamp.com/showthread.php?threadid=143500 + beta 6 thread: http://forums.winamp.com/showthread.php?threadid=143974 + (+read about beat det: http://forums.winamp.com/showthread.php?threadid=102205) + +@ -code editing: when cursor is on 1st posn. in line, wrong line is highlighted!? + -requests: + -random sprites (...they can just write a prog for this, tho) + -Text-entry mode. + -Like your favorite online game, hit T or something to enter 'text entry' mode. Type a message, then either hit ESC to clear and cancel text-entry mode, or ENTER to display the text on top of the vis. Easier for custom messages than editing the INI file (and probably stopping or minimizing milkdrop to do it) and reloading. + -OR SKIP IT; EASY TO JUST EDIT, RELOAD, AND HIT 00. + -add 'AA' parameter to custom message text file? + -when mem is low, fonts get kicked out -> white boxes + -probably happening b/c ID3DXFont can't create a + temp surface to use to draw text, since all the + video memory is gobbled up. +* -add to installer: q_and_t_vars.gif +* -presets: + 1. pick final set + a. OK-do a pass weeding out slow presets (crank mesh size up) + b. OK-do 2nd pass; rate them & delete crappies + c. OK-merge w/set from 1.03; check for dupes; delete more suckies + 2. OK-check for cpu-guzzlers + 3. OK-check for big ones (>= 8kb) + 4. check for ultra-spastic-when-audio-quiet ones + 5. update all ratings + 6. zip 'em up for safekeeping +* -docs: + -link to milkdrop.co.uk + -preset authoring: + -there are 11 variable pools: + preset: + a) preset init & per-frame code + b) preset per-pixel code + custom wave 1: + c) init & per-frame code + d) per-point code + custom wave 2: + e) init & per-frame code + f) per-point code + custom wave 3: + g) init & per-frame code + h) per-point code + i) custom shape 1: init & per-frame code + j) custom shape 2: init & per-frame code + k) custom shape 3: init & per-frame code + + -all of these have predefined variables, the values of many of which + trickle down from init code, to per-frame code, to per-pixel code, + when the same variable is defined for each of these. + -however, variables that you define ("my_var = 5;") do NOT trickle down. + To allow you to pass custom values from, say, your per-frame code + to your per-pixel code, the variables q1 through q8 were created. + For custom waves and custom shapes, t1 through t8 work similarly. + -q1-q8: + -purpose: to allow [custom] values to carry from {the preset init + and/or per-frame equations}, TO: {the per-pixel equations}, + {custom waves}, and {custom shapes}. + -are first set in preset init code. + -are reset, at the beginning of each frame, to the values that + they had at the end of the preset init code. + -can be modified in per-frame code... + -changes WILL be passed on to the per-pixel code + -changes WILL pass on to the q1-q8 vars in the custom waves + & custom shapes code + -changes will NOT pass on to the next frame, though; + use your own (custom) variables for that. + -can be modified in per-pixel code... + -changes will pass on to the next *pixel*, but no further + -changes will NOT pass on to the q1-q8 vars in the custom + waves or custom shapes code. + -changes will NOT pass on to the next frame, after the + last pixel, though. + -CUSTOM SHAPES: q1-q8... + -are readable in both the custom shape init & per-frame code + -start with the same values as q1-q8 had at the end of the *preset* + per-frame code, this frame + -can be modified in the init code, but only for a one-time + pass-on to the per-frame code. For all subsequent frames + (after the first), the per-frame code will get the q1-q8 + values as described above. + -can be modified in the custom shape per-frame code, but only + as temporary variables; the changes will not pass on anywhere. + -CUSTOM WAVES: q1-q8... + -are readable in the custom wave init, per-frame, and per-point code + -start with the same values as q1-q8 had at the end of the *preset* + per-frame code, this frame + -can be modified in the init code, but only for a one-time + pass-on to the per-frame code. For all subsequent frames + (after the first), the per-frame code will get the q1-q8 + values as described above. + -can be modified in the custom wave per-frame code; changes will + pass on to the per-point code, but that's it. + -can be modified in the per-point code, and the modified values + will pass on from point to point, but won't carry beyond that. + -CUSTOM WAVES: t1-t8... + -allow you to generate & save values in the custom wave init code, + that can pass on to the per-frame and, more sigificantly, + per-point code (since it's in a different variable pool). + -... + + + + !-whatever the values of q1-q8 were at the end of the per-frame and per-pixel + code, these are copied to the q1-q8 variables in the custom wave & custom + shape code, for that frame. However, those values are separate. + For example, if you modify q1-q8 in the custom wave #1 code, those changes + will not be visible anywhere else; if you modify q1-q8 in the custom shape + #2 code, same thing. However, if you modify q1-q8 in the per-frame custom + wave code, those modified values WILL be visible to the per-point custom + wave code, and can be modified within it; but after the last point, + the values q1-q8 will be discarded; on the next frame, in custom wave #1 + per-frame code, the values will be freshly copied from the values of the + main q1-q8 after the preset's per-frame and per-point code have both been + executed. + -monitor: + -can be read/written in preset init code & preset per-frame code. + -not accessible from per-pixel code. + -if you write it on one frame, then that value persists to the next frame. + -t1-t8: + - + - + - + -regular docs: + -put in the stuff recommended by VMS (vidcap, etc.) + -add to troubleshooting: + 1) desktop mode icons not appearing? or + onscreen text looking like colored boxes? + -> try freeing up some video memory. lower your res; drop to 16 bit; + etc. TURN OFF AUTO SONGTITLES. + 1) slow desktop/fullscr mode? -> try disabling auto songtitles + desktop icons. + also try reducing texsize to 256x256, since that eats memory that the text surface could claim. + 2) + 3) + * -presets: + -add new + -fix 3d presets (bring gammas back down to ~1.0) + -check old ones, make sure they're ok + -"Rovastar - Bytes" + -check wave_y + * -document custom waves & shapes + * -slow text is mostly fixed... =( + -desktop icons + playlist both have begin/end around them now, but in desktop mode, + if you bring up playlist or Load menu, fps drops in half; press Esc, and fps doesn't go back up. + - + - + - + -DONE / v1.04: + -updated to VMS 1.05 + -[list benefits...] + - + - + -3d mode: + a) SWAPPED DEFAULT L/R LENS COLORS! All images on the web are left=red, right=blue! + b) fixed image display when viewing a 3D preset in a non-4:3 aspect ratio window + c) gamma now works for 3d presets! (note: you might have to update your old presets. + if they were 3D presets, the gamma was ignored and 1.0 was used; now, + if gamma was >1.0 in the old preset, it will probably appear extremely bright.) + d) added SHIFT+F9 and CTRL+C9 to inc/dec stereo separation + e) added default stereo separation to config panel + -cranked up the max. mesh size (was 48x36, now 64x48) and the default mesh size + (was 24x18, now 32x24) + -fixed aspect ratio for final display + -auto-texsize is now computed slightly differently; for vertically or horizontally-stretched + windows, the texsize is now biased more toward the larger dimension (vs. just the + average). + -added anisotropic filtering (for machines that support it) + -fixed bug where the values of many variables in the preset init code were not set prior + to execution of the init code (e.g. time, bass, etc. were all broken!) + -added various preset blend effects. In addition to the old uniform fade, there is + now a directional wipe, radial wipe, and plasma fade. + -FIXED SLOW TEXT for DX8 (at least, on the geforce 4). + Not using DT_RIGHT or DT_BOTTOM was the key. + + + -why does text kill it in desktop mode? + -text is SLOOW + -to do: add (and use) song title font + tooltip font + -re-test: menus, text, boxes, etc. + -re-test: TIME + -testing: + -make sure sound works perfectly. (had to repro old pre-vms sound analysis!) + -autogamma: currently assumes/requires that GetFrame() resets to 0 on a mode change + (i.e. windowed -> fullscreen)... is that the case? + -restore motion vectors + - + - + -restore lost surfaces + -test bRedraw flag (desktop mode/paused) + -search for //? in milkdropfs.cpp and fix things + + problem: no good soln for VJ mode + problem: D3DX won't give you solid background for your text. + soln: (for later-) create wrapper fn that draws w/solid bkg. + + SOLN?: use D3DX to draw all text (plugin.cpp stuff AND playlist); + then, for VJ mode, create a 2nd DxContext + w/its own window + windowproc + fonts. (YUCK) + 1) config panel: test, and add WM_HELP's (copy from tooltips) + 2) keyboard input: test; and... + -need to reset UI_MODE when playlist is turned on, and + -need to reset m_show_playlist when UI_MODE is changed. (?) + -(otherwise they can both show @ same time and will fight + for keys and draw over each other) + 3) comment out most of D3D stuff in milkdropfs.cpp, and then + get it running w/o any milkdrop, but with text, etc. + 4) sound + + Issues / To Do Later + -------------------- + 1) sprites: color keying stuff probably won't work any more... + 2) scroll lock: pull code from Monkey + 3) m_nGridY should not always be m_nGridX*3/4! + 4) get solid backgrounds for menus, waitstring code, etc. + (make a wrapper function!) + + 99) at end: update help screen + + Things that will be different + ----------------------------- + 1) font sizes are no longer relative to size of window; they are absolute. + 2) 'don't clear screen at startup' option is gone + 3) 'always on top' option is gone + 4) text will not be black-on-white when an inverted-color preset is showing + + -VJ mode: + -notes + 1. (remember window size/pos, and save it from session to session? nah.) + 2. (kiv: scroll lock) + 3. (VJ window + desktop mode:) + -ok w/o VJ mode + -w/VJ mode, regardless of 'fix slow text' option, probs w/focus; + click on vj window, and plugin window flashes to top of Z order! + -goes away if you comment out 1st call to PushWindowToJustBeforeDesktop()... + -when you disable PushWindowToJustBeforeDesktop: + -..and click on EITHER window, milkdrop jumps in front of the taskbar. + -..and click on a non-MD window, nothing happens. + d-FIXED somehow, magically, while fixing bugs w/true fullscreen mode! + 4. (VJ window + true fullscreen mode:) + d-make sure VJ window gets placed on the right monitor, at startup, + and respects taskbar posn. + d-bug - start in windowed mode, then dbl-clk to go [true] fullscreen + on 2nd monitor, all with VJ mode on, and it excepts somewhere + in m_text.DrawNow() in a call to DrawPrimitive()! + FIXED - had to check m_vjd3d8_device->TestCooperativeLevel + each frame, and destroy/reinit if device needed reset. + d-can't resize VJ window when grfx window is running true fullscreen! + -FIXED, by dropping the Sleep(30)/return when m_lost_focus + was true, and by not consuming WM_NCACTIVATE in true fullscreen + mode when m_hTextWnd was present, since DX8 doesn't do its + auto-minimize thing in that case. + + + +*/ + +#include "api.h" +#include "plugin.h" +#include "utility.h" +#include "support.h" +#include "resource.h" +#include "defines.h" +#include "shell_defines.h" +#include +#include +#include // for beginthread, etc. +#include +#include +#include "../nu/AutoCharFn.h" + +#define FRAND ((warand() % 7381)/7380.0f) + +void NSEEL_HOSTSTUB_EnterMutex(){} +void NSEEL_HOSTSTUB_LeaveMutex(){} + +// note: these must match layouts in support.h!! +D3DVERTEXELEMENT9 g_MyVertDecl[] = +{ + { 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 }, + { 0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 }, + { 0, 16, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 }, + { 0, 32, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1 }, + D3DDECL_END() +}; +D3DVERTEXELEMENT9 g_WfVertDecl[] = +{ + { 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 }, + { 0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 }, + D3DDECL_END() +}; +D3DVERTEXELEMENT9 g_SpriteVertDecl[] = +{ + // matches D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 + { 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 }, + { 0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 }, + { 0, 16, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 }, + D3DDECL_END() +}; + +//extern CSoundData* pg_sound; // declared in main.cpp +extern CPlugin g_plugin; // declared in main.cpp (note: was 'pg') + +// from support.cpp: +extern bool g_bDebugOutput; +extern bool g_bDumpFileCleared; + +// for __UpdatePresetList: +volatile HANDLE g_hThread; // only r/w from our MAIN thread +volatile bool g_bThreadAlive; // set true by MAIN thread, and set false upon exit from 2nd thread. +volatile int g_bThreadShouldQuit; // set by MAIN thread to flag 2nd thread that it wants it to exit. +static CRITICAL_SECTION g_cs; + +#define IsAlphabetChar(x) ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z')) +#define IsAlphanumericChar(x) ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z') || (x >= '0' && x <= '9') || x == '.') +#define IsNumericChar(x) (x >= '0' && x <= '9') + +const unsigned char LC2UC[256] = { + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,255, + 33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64, + 97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112, + 113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112, + 113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128, + 129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144, + 145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160, + 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, + 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192, + 193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208, + 209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,243,244,245,246,247,248,249,250,251,252,253,254,255, +}; + +/* + * Copies the given string TO the clipboard. + */ +void copyStringToClipboardA(const char * source) +{ + int ok = OpenClipboard(NULL); + if (!ok) + return; + + HGLOBAL clipbuffer; + EmptyClipboard(); + clipbuffer = GlobalAlloc(GMEM_DDESHARE, (lstrlenA(source)+1)*sizeof(char)); + char* buffer = (char*)GlobalLock(clipbuffer); + lstrcpyA(buffer, source); + GlobalUnlock(clipbuffer); + SetClipboardData(CF_TEXT, clipbuffer); + CloseClipboard(); +} + +void copyStringToClipboardW(const wchar_t * source) +{ + int ok = OpenClipboard(NULL); + if (!ok) + return; + + HGLOBAL clipbuffer; + EmptyClipboard(); + clipbuffer = GlobalAlloc(GMEM_DDESHARE, (lstrlenW(source)+1)*sizeof(wchar_t)); + wchar_t* buffer = (wchar_t*)GlobalLock(clipbuffer); + lstrcpyW(buffer, source); + GlobalUnlock(clipbuffer); + SetClipboardData(CF_UNICODETEXT, clipbuffer); + CloseClipboard(); +} + +/* + * Suppose there is a string on the clipboard. + * This function copies it FROM there. + */ +char * getStringFromClipboardA() +{ + int ok = OpenClipboard(NULL); + if (!ok) + return NULL; + + HANDLE hData = GetClipboardData(CF_TEXT); + char* buffer = (char*)GlobalLock(hData); + GlobalUnlock(hData); + CloseClipboard(); + return buffer; +} + +wchar_t * getStringFromClipboardW() +{ + int ok = OpenClipboard(NULL); + if (!ok) + return NULL; + + HANDLE hData = GetClipboardData(CF_UNICODETEXT); + wchar_t* buffer = (wchar_t*)GlobalLock(hData); + GlobalUnlock(hData); + CloseClipboard(); + return buffer; +} + +void ConvertCRsToLFCA(const char* src, char* dst) +{ + while (*src) + { + char ch = *src; + if (*src==13 && *(src+1)==10) + { + *dst++ = LINEFEED_CONTROL_CHAR; + src += 2; + } + else + { + *dst++ = *src++; + } + } + *dst = 0; +} + +void ConvertCRsToLFCW(const wchar_t* src, wchar_t* dst) +{ + while (*src) + { + wchar_t ch = *src; + if (*src==13 && *(src+1)==10) + { + *dst++ = LINEFEED_CONTROL_CHAR; + src += 2; + } + else + { + *dst++ = *src++; + } + } + *dst = 0; +} + +void ConvertLFCToCRsA(const char* src, char* dst) +{ + while (*src) + { + char ch = *src; + if (*src==LINEFEED_CONTROL_CHAR) + { + *dst++ = 13; + *dst++ = 10; + src++; + } + else + { + *dst++ = *src++; + } + } + *dst = 0; +} + +void ConvertLFCToCRsW(const wchar_t* src, wchar_t* dst) +{ + while (*src) + { + wchar_t ch = *src; + if (*src==LINEFEED_CONTROL_CHAR) + { + *dst++ = 13; + *dst++ = 10; + src++; + } + else + { + *dst++ = *src++; + } + } + *dst = 0; +} + +int mystrcmpiW(const wchar_t *s1, const wchar_t *s2) +{ + // returns 1 if s1 comes before s2 + // returns 0 if equal + // returns -1 if s1 comes after s2 + // treats all characters/symbols by their ASCII values, + // except that it DOES ignore case. + + int i=0; + + while (LC2UC[s1[i]] == LC2UC[s2[i]] && s1[i] != 0) + i++; + + //FIX THIS! + + if (s1[i]==0 && s2[i]==0) + return 0; + else if (s1[i]==0) + return -1; + else if (s2[i]==0) + return 1; + else + return (LC2UC[s1[i]] < LC2UC[s2[i]]) ? -1 : 1; +} + +bool ReadFileToString(const wchar_t* szBaseFilename, char* szDestText, int nMaxBytes, bool bConvertLFsToSpecialChar) +{ + wchar_t szFile[MAX_PATH]; + swprintf(szFile, L"%s%s", g_plugin.m_szMilkdrop2Path, szBaseFilename); + + // read in all chars. Replace char combos: { 13; 13+10; 10 } with LINEFEED_CONTROL_CHAR, if bConvertLFsToSpecialChar is true. + FILE* f = _wfopen(szFile, L"rb"); + if (!f) + { + wchar_t buf[1024], title[64]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_UNABLE_TO_READ_DATA_FILE_X), szFile); + g_plugin.dumpmsg(buf); + MessageBoxW(NULL, buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + int len = 0; + int x; + char prev_ch = 0; + while ( (x = fgetc(f)) >= 0 && len < nMaxBytes-4 ) + { + char orig_ch = (char)x; + char ch = orig_ch; + bool bSkipChar = false; + if (bConvertLFsToSpecialChar) + { + if (ch==10) + { + if (prev_ch==13) + bSkipChar = true; + else + ch = LINEFEED_CONTROL_CHAR; + } + else if (ch==13) + ch = LINEFEED_CONTROL_CHAR; + } + + if (!bSkipChar) + szDestText[len++] = ch; + prev_ch = orig_ch; + } + szDestText[len] = 0; + szDestText[len++] = ' '; // make sure there is some whitespace after + fclose(f); + return true; +} + +// these callback functions are called by menu.cpp whenever the user finishes editing an eval_ expression. +void OnUserEditedPerFrame(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_PRESET_CODE, 0); +} + +void OnUserEditedPerPixel(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_PRESET_CODE, 0); +} + +void OnUserEditedPresetInit(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_PRESET_CODE, 1); +} + +void OnUserEditedWavecode(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_WAVE_CODE, 0); +} + +void OnUserEditedWavecodeInit(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_WAVE_CODE, 1); +} + +void OnUserEditedShapecode(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_SHAPE_CODE, 0); +} + +void OnUserEditedShapecodeInit(LPARAM param1, LPARAM param2) +{ + g_plugin.m_pState->RecompileExpressions(RECOMPILE_SHAPE_CODE, 1); +} + +void OnUserEditedWarpShaders(LPARAM param1, LPARAM param2) +{ + g_plugin.m_bNeedRescanTexturesDir = true; + g_plugin.ClearErrors(ERR_PRESET); + if (g_plugin.m_nMaxPSVersion == 0) + return; + if (!g_plugin.RecompilePShader(g_plugin.m_pState->m_szWarpShadersText, &g_plugin.m_shaders.warp, SHADER_WARP, false, g_plugin.m_pState->m_nWarpPSVersion)) + { + // switch to fallback + g_plugin.m_fallbackShaders_ps.warp.ptr->AddRef(); + g_plugin.m_fallbackShaders_ps.warp.CT->AddRef(); + g_plugin.m_shaders.warp = g_plugin.m_fallbackShaders_ps.warp; + } +} + +void OnUserEditedCompShaders(LPARAM param1, LPARAM param2) +{ + g_plugin.m_bNeedRescanTexturesDir = true; + g_plugin.ClearErrors(ERR_PRESET); + if (g_plugin.m_nMaxPSVersion == 0) + return; + if (!g_plugin.RecompilePShader(g_plugin.m_pState->m_szCompShadersText, &g_plugin.m_shaders.comp, SHADER_COMP, false, g_plugin.m_pState->m_nCompPSVersion)) + { + // switch to fallback + g_plugin.m_fallbackShaders_ps.comp.ptr->AddRef(); + g_plugin.m_fallbackShaders_ps.comp.CT->AddRef(); + g_plugin.m_shaders.comp = g_plugin.m_fallbackShaders_ps.comp; + } +} + +// Modify the help screen text here. +// Watch the # of lines, though; if there are too many, they will get cut off; +// and watch the length of the lines, since there is no wordwrap. +// A good guideline: your entire help screen should be visible when fullscreen +// @ 640x480 and using the default help screen font. +wchar_t* g_szHelp = 0; +int g_szHelp_W = 0; + +// this is for integrating modern skins (with their Random button) +// and having it match our Scroll Lock (preset lock) state... +#define IPC_CB_VISRANDOM 628 + +//---------------------------------------------------------------------- + +void CPlugin::OverrideDefaults() +{ + // Here, you have the option of overriding the "default defaults" + // for the stuff on tab 1 of the config panel, replacing them + // with custom defaults for your plugin. + // To override any of the defaults, just uncomment the line + // and change the value. + // DO NOT modify these values from any function but this one! + + // This example plugin only changes the default width/height + // for fullscreen mode; the "default defaults" are just + // 640 x 480. + // If your plugin is very dependent on smooth animation and you + // wanted it plugin to have the 'save cpu' option OFF by default, + // for example, you could set 'm_save_cpu' to 0 here. + + // m_start_fullscreen = 0; // 0 or 1 + // m_start_desktop = 0; // 0 or 1 + // m_fake_fullscreen_mode = 0; // 0 or 1 + // m_max_fps_fs = 30; // 1-120, or 0 for 'unlimited' + // m_max_fps_dm = 30; // 1-120, or 0 for 'unlimited' + // m_max_fps_w = 30; // 1-120, or 0 for 'unlimited' + // m_show_press_f1_msg = 1; // 0 or 1 + m_allow_page_tearing_w = 0; // 0 or 1 + // m_allow_page_tearing_fs = 0; // 0 or 1 + // m_allow_page_tearing_dm = 1; // 0 or 1 + // m_minimize_winamp = 1; // 0 or 1 + // m_desktop_textlabel_boxes = 1; // 0 or 1 + // m_save_cpu = 0; // 0 or 1 + + // lstrcpy(m_fontinfo[0].szFace, "Trebuchet MS"); // system font + // m_fontinfo[0].nSize = 18; + // m_fontinfo[0].bBold = 0; + // m_fontinfo[0].bItalic = 0; + // lstrcpy(m_fontinfo[1].szFace, "Times New Roman"); // decorative font + // m_fontinfo[1].nSize = 24; + // m_fontinfo[1].bBold = 0; + // m_fontinfo[1].bItalic = 1; + + // Don't override default FS mode here; shell is now smart and sets it to match + // the current desktop display mode, by default. + + //m_disp_mode_fs.Width = 1024; // normally 640 + //m_disp_mode_fs.Height = 768; // normally 480 + // use either D3DFMT_X8R8G8B8 or D3DFMT_R5G6B5. + // The former will match to any 32-bit color format available, + // and the latter will match to any 16-bit color available, + // if that exact format can't be found. + //m_disp_mode_fs.Format = D3DFMT_UNKNOWN; //<- this tells config panel & visualizer to use current display mode as a default!! //D3DFMT_X8R8G8B8; + // m_disp_mode_fs.RefreshRate = 60; +} + +//---------------------------------------------------------------------- + +void CPlugin::MyPreInitialize() +{ + // Initialize EVERY data member you've added to CPlugin here; + // these will be the default values. + // If you want to initialize any of your variables with random values + // (using rand()), be sure to seed the random number generator first! + // (If you want to change the default values for settings that are part of + // the plugin shell (framework), do so from OverrideDefaults() above.) + + // seed the system's random number generator w/the current system time: + //srand((unsigned)time(NULL)); -don't - let winamp do it + + // attempt to load a unicode F1 help message otherwise revert to the ansi version + g_szHelp = (wchar_t*)GetTextResource(IDR_TEXT2,1); + if(!g_szHelp) g_szHelp = (wchar_t*)GetTextResource(IDR_TEXT1,0); + else g_szHelp_W = 1; + + // CONFIG PANEL SETTINGS THAT WE'VE ADDED (TAB #2) + m_bFirstRun = true; + m_bInitialPresetSelected = false; + m_fBlendTimeUser = 1.7f; + m_fBlendTimeAuto = 2.7f; + m_fTimeBetweenPresets = 16.0f; + m_fTimeBetweenPresetsRand = 10.0f; + m_bSequentialPresetOrder = false; + m_bHardCutsDisabled = true; + m_fHardCutLoudnessThresh = 2.5f; + m_fHardCutHalflife = 60.0f; + //m_nWidth = 1024; + //m_nHeight = 768; + //m_nDispBits = 16; + m_nCanvasStretch = 0; + m_nTexSizeX = -1; // -1 means "auto" + m_nTexSizeY = -1; // -1 means "auto" + m_nTexBitsPerCh = 8; + m_nGridX = 48;//32; + m_nGridY = 36;//24; + + m_bShowPressF1ForHelp = true; + //lstrcpy(m_szMonitorName, "[don't use multimon]"); + m_bShowMenuToolTips = true; // NOTE: THIS IS CURRENTLY HARDWIRED TO TRUE - NO OPTION TO CHANGE + m_n16BitGamma = 2; + m_bAutoGamma = true; + //m_nFpsLimit = -1; + m_bEnableRating = true; + //m_bInstaScan = false; + m_bSongTitleAnims = true; + m_fSongTitleAnimDuration = 1.7f; + m_fTimeBetweenRandomSongTitles = -1.0f; + m_fTimeBetweenRandomCustomMsgs = -1.0f; + m_nSongTitlesSpawned = 0; + m_nCustMsgsSpawned = 0; + m_nFramesSinceResize = 0; + + //m_bAlways3D = false; + //m_fStereoSep = 1.0f; + //m_bAlwaysOnTop = false; + //m_bFixSlowText = true; + //m_bWarningsDisabled = false; + m_bWarningsDisabled2 = false; + //m_bAnisotropicFiltering = true; + m_bPresetLockOnAtStartup = false; + m_bPreventScollLockHandling = false; + m_nMaxPSVersion_ConfigPanel = -1; // -1 = auto, 0 = disable shaders, 2 = ps_2_0, 3 = ps_3_0 + m_nMaxPSVersion_DX9 = -1; // 0 = no shader support, 2 = ps_2_0, 3 = ps_3_0 + m_nMaxPSVersion = -1; // this one will be the ~min of the other two. 0/2/3. + m_nMaxImages = 32; + m_nMaxBytes = 16000000; + + #ifdef _DEBUG + m_dwShaderFlags = D3DXSHADER_DEBUG|(1<<16); + #else + m_dwShaderFlags = (1<<16);//D3DXSHADER_SKIPOPTIMIZATION|D3DXSHADER_NO_PRESHADER; + #endif + //m_pFragmentLinker = NULL; + //m_pCompiledFragments = NULL; + m_pShaderCompileErrors = NULL; + //m_vs_warp = NULL; + //m_ps_warp = NULL; + //m_vs_comp = NULL; + //m_ps_comp = NULL; + ZeroMemory(&m_shaders, sizeof(PShaderSet)); + ZeroMemory(&m_OldShaders, sizeof(PShaderSet)); + ZeroMemory(&m_NewShaders, sizeof(PShaderSet)); + ZeroMemory(&m_fallbackShaders_vs, sizeof(VShaderSet)); + ZeroMemory(&m_fallbackShaders_ps, sizeof(PShaderSet)); + ZeroMemory(m_BlurShaders, sizeof(m_BlurShaders)); + m_bWarpShaderLock = false; + m_bCompShaderLock = false; + m_bNeedRescanTexturesDir = true; + + // vertex declarations: + m_pSpriteVertDecl = NULL; + m_pWfVertDecl = NULL; + m_pMyVertDecl = NULL; + + m_gdi_title_font_doublesize = NULL; + m_d3dx_title_font_doublesize = NULL; + + // RUNTIME SETTINGS THAT WE'VE ADDED + m_prev_time = GetTime() - 0.0333f; // note: this will be updated each frame, at bottom of MyRenderFn. + m_bTexSizeWasAutoPow2 = false; + m_bTexSizeWasAutoExact = false; + //m_bPresetLockedByUser = false; NOW SET IN DERIVED SETTINGS + m_bPresetLockedByCode = false; + m_fStartTime = 0.0f; + m_fPresetStartTime = 0.0f; + m_fNextPresetTime = -1.0f; // negative value means no time set (...it will be auto-set on first call to UpdateTime) + m_nLoadingPreset = 0; + m_nPresetsLoadedTotal = 0; + m_fSnapPoint = 0.5f; + m_pState = &m_state_DO_NOT_USE[0]; + m_pOldState = &m_state_DO_NOT_USE[1]; + m_pNewState = &m_state_DO_NOT_USE[2]; + m_UI_mode = UI_REGULAR; + m_bShowShaderHelp = false; + + m_nMashSlot = 0; //0..MASH_SLOTS-1 + for (int mash=0; mash0) + for (i=0; i MAX_GRID_X) + m_nGridX = MAX_GRID_X; + if (m_nGridY > MAX_GRID_Y) + m_nGridY = MAX_GRID_Y; + if (m_fTimeBetweenPresetsRand < 0) + m_fTimeBetweenPresetsRand = 0; + if (m_fTimeBetweenPresets < 0.1f) + m_fTimeBetweenPresets = 0.1f; + + // DERIVED SETTINGS + m_bPresetLockedByUser = m_bPresetLockOnAtStartup; + //m_bMilkdropScrollLockState = m_bPresetLockOnAtStartup; +} + +//---------------------------------------------------------------------- + +void CPlugin::MyWriteConfig() +{ + // Write the user's settings to the .INI file. + // This gets called only when the user runs the config panel and hits OK. + // If you've added any controls to the config panel, write their value out + // to the .INI file here. + + // use this function declared in to write a value of this type: + // ----------------- ----------- ---------------------------- + // WritePrivateProfileInt Win32 API int + // WritePrivateProfileInt utility.h bool + // WritePrivateProfileInt utility.h BOOL + // WritePrivateProfileFloat utility.h float + // WritePrivateProfileString Win32 API string + + // ex: WritePrivateProfileInt(m_fog_enabled ,"fog_enabled" ,GetConfigIniFile(),"settings"); + + wchar_t *pIni = GetConfigIniFile(); + + // constants: + WritePrivateProfileStringW(L"settings",L"bConfigured",L"1",pIni); + + //note: m_szPresetDir is not written here; it is written manually, whenever it changes. + + wchar_t szSectionName[] = L"settings"; + + WritePrivateProfileIntW(m_bSongTitleAnims, L"bSongTitleAnims", pIni, L"settings"); + WritePrivateProfileIntW(m_bHardCutsDisabled, L"bHardCutsDisabled", pIni, L"settings"); + WritePrivateProfileIntW(m_bEnableRating, L"bEnableRating", pIni, L"settings"); + //WritePrivateProfileIntW(m_bInstaScan, "bInstaScan", pIni, "settings"); + WritePrivateProfileIntW(g_bDebugOutput, L"bDebugOutput", pIni, L"settings"); + + //itePrivateProfileInt(m_bShowPresetInfo, "bShowPresetInfo", pIni, "settings"); + //itePrivateProfileInt(m_bShowSongInfo, "bShowSongInfo", pIni, "settings"); + //itePrivateProfileInt(m_bFixPinkBug, "bFixPinkBug", pIni, "settings"); + + WritePrivateProfileIntW(m_bShowPressF1ForHelp, L"bShowPressF1ForHelp", pIni, L"settings"); + //itePrivateProfileInt(m_bShowMenuToolTips, "bShowMenuToolTips", pIni, "settings"); + WritePrivateProfileIntW(m_n16BitGamma, L"n16BitGamma", pIni, L"settings"); + WritePrivateProfileIntW(m_bAutoGamma, L"bAutoGamma", pIni, L"settings"); + + //WritePrivateProfileIntW(m_bAlways3D, "bAlways3D", pIni, "settings"); + //WritePrivateProfileFloat(m_fStereoSep, "fStereoSep", pIni, "settings"); + //WritePrivateProfileIntW(m_bFixSlowText, "bFixSlowText", pIni, "settings"); + //itePrivateProfileInt(m_bAlwaysOnTop, "bAlwaysOnTop", pIni, "settings"); + //WritePrivateProfileIntW(m_bWarningsDisabled, "bWarningsDisabled", pIni, "settings"); + WritePrivateProfileIntW(m_bWarningsDisabled2, L"bWarningsDisabled2", pIni, L"settings"); + //WritePrivateProfileIntW(m_bAnisotropicFiltering, "bAnisotropicFiltering",pIni, "settings"); + WritePrivateProfileIntW(m_bPresetLockOnAtStartup,L"bPresetLockOnAtStartup",pIni,L"settings"); + WritePrivateProfileIntW(m_bPreventScollLockHandling,L"m_bPreventScollLockHandling",pIni,L"settings"); + // note: this is also written @ exit of the visualizer + + WritePrivateProfileIntW(m_nCanvasStretch, L"nCanvasStretch", pIni, L"settings"); + WritePrivateProfileIntW(m_nTexSizeX, L"nTexSize", pIni, L"settings"); + WritePrivateProfileIntW(m_nTexBitsPerCh, L"nTexBitsPerCh", pIni, L"settings"); + WritePrivateProfileIntW(m_nGridX, L"nMeshSize", pIni, L"settings"); + WritePrivateProfileIntW(m_nMaxPSVersion_ConfigPanel, L"MaxPSVersion", pIni, L"settings"); + WritePrivateProfileIntW(m_nMaxImages, L"MaxImages", pIni, L"settings"); + WritePrivateProfileIntW(m_nMaxBytes , L"MaxBytes", pIni, L"settings"); + + WritePrivateProfileFloatW(m_fBlendTimeAuto, L"fBlendTimeAuto", pIni, L"settings"); + WritePrivateProfileFloatW(m_fBlendTimeUser, L"fBlendTimeUser", pIni, L"settings"); + WritePrivateProfileFloatW(m_fTimeBetweenPresets, L"fTimeBetweenPresets", pIni, L"settings"); + WritePrivateProfileFloatW(m_fTimeBetweenPresetsRand, L"fTimeBetweenPresetsRand", pIni, L"settings"); + WritePrivateProfileFloatW(m_fHardCutLoudnessThresh, L"fHardCutLoudnessThresh", pIni, L"settings"); + WritePrivateProfileFloatW(m_fHardCutHalflife, L"fHardCutHalflife", pIni, L"settings"); + WritePrivateProfileFloatW(m_fSongTitleAnimDuration, L"fSongTitleAnimDuration", pIni, L"settings"); + WritePrivateProfileFloatW(m_fTimeBetweenRandomSongTitles,L"fTimeBetweenRandomSongTitles",pIni, L"settings"); + WritePrivateProfileFloatW(m_fTimeBetweenRandomCustomMsgs,L"fTimeBetweenRandomCustomMsgs",pIni, L"settings"); +} + +//---------------------------------------------------------------------- + +void ConvertLLCto1310(char* d, const char *s) +{ + // src and dest can NOT be the same pointer. + assert(s != d); + + while (*s) + { + if (*s == LINEFEED_CONTROL_CHAR) + { + *d++ = 13; + *d++ = 10; + } + else + { + *d++ = *s; + } + s++; + }; + *d = 0; +} + +void StripComments(char* str) +{ + if (!str || !str[0] || !str[1]) + return; + + char c0 = str[0]; + char c1 = str[1]; + char* dest = str; + char* p = &str[1]; + bool bIgnoreTilEndOfLine = false; + bool bIgnoreTilCloseComment = false; //this one takes precedence + int nCharsToSkip = 0; + while (1) + { + // handle '//' comments + if (!bIgnoreTilCloseComment && c0=='/' && c1=='/') + bIgnoreTilEndOfLine = true; + if (bIgnoreTilEndOfLine && (c0==10 || c0==13)) + { + bIgnoreTilEndOfLine = false; + nCharsToSkip = 0; + } + + // handle /* */ comments + if (!bIgnoreTilEndOfLine && c0=='/' && c1=='*') + bIgnoreTilCloseComment = true; + if (bIgnoreTilCloseComment && c0=='*' && c1=='/') + { + bIgnoreTilCloseComment = false; + nCharsToSkip = 2; + } + + if (!bIgnoreTilEndOfLine && !bIgnoreTilCloseComment) + { + if (nCharsToSkip > 0) + nCharsToSkip--; + else + *dest++ = c0; + } + + if (c1==0) + break; + + p++; + c0 = c1; + c1 = *p; + } + + *dest++ = 0; +} + +int CPlugin::AllocateMyNonDx9Stuff() +{ + // This gets called only once, when your plugin is actually launched. + // If only the config panel is launched, this does NOT get called. + // (whereas MyPreInitialize() still does). + // If anything fails here, return FALSE to safely exit the plugin, + // but only after displaying a messagebox giving the user some information + // about what went wrong. + + /* + if (!m_hBlackBrush) + m_hBlackBrush = CreateSolidBrush(RGB(0,0,0)); + */ + + g_hThread = INVALID_HANDLE_VALUE; + g_bThreadAlive = false; + g_bThreadShouldQuit = false; + InitializeCriticalSection(&g_cs); + + // read in 'm_szShaderIncludeText' + bool bSuccess = true; + bSuccess = ReadFileToString(L"data\\include.fx", m_szShaderIncludeText, sizeof(m_szShaderIncludeText)-4, false); + if (!bSuccess) return false; + StripComments(m_szShaderIncludeText); + m_nShaderIncludeTextLen = lstrlen(m_szShaderIncludeText); + bSuccess |= ReadFileToString(L"data\\warp_vs.fx", m_szDefaultWarpVShaderText, sizeof(m_szDefaultWarpVShaderText), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\warp_ps.fx", m_szDefaultWarpPShaderText, sizeof(m_szDefaultWarpPShaderText), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\comp_vs.fx", m_szDefaultCompVShaderText, sizeof(m_szDefaultCompVShaderText), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\comp_ps.fx", m_szDefaultCompPShaderText, sizeof(m_szDefaultCompPShaderText), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\blur_vs.fx", m_szBlurVS, sizeof(m_szBlurVS), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\blur1_ps.fx", m_szBlurPSX, sizeof(m_szBlurPSX), true); + if (!bSuccess) return false; + bSuccess |= ReadFileToString(L"data\\blur2_ps.fx", m_szBlurPSY, sizeof(m_szBlurPSY), true); + if (!bSuccess) return false; + + BuildMenus(); + + m_bMMX = CheckForMMX(); + //m_bSSE = CheckForSSE(); + + m_pState->Default(); + m_pOldState->Default(); + m_pNewState->Default(); + + //LoadRandomPreset(0.0f); -avoid this here; causes some DX9 stuff to happen. + + return true; +} + +//---------------------------------------------------------------------- + +void CancelThread(int max_wait_time_ms) +{ + g_bThreadShouldQuit = true; + int waited = 0; + while (g_bThreadAlive && waited < max_wait_time_ms) + { + Sleep(30); + waited += 30; + } + + if (g_bThreadAlive) + { + TerminateThread(g_hThread,0); + g_bThreadAlive = false; + } + + if (g_hThread != INVALID_HANDLE_VALUE) + CloseHandle(g_hThread); + g_hThread = INVALID_HANDLE_VALUE; +} + +void CPlugin::CleanUpMyNonDx9Stuff() +{ + // This gets called only once, when your plugin exits. + // Be sure to clean up any objects here that were + // created/initialized in AllocateMyNonDx9Stuff. + + //sound.Finish(); + + // NOTE: DO NOT DELETE m_gdi_titlefont_doublesize HERE!!! + + DeleteCriticalSection(&g_cs); + + CancelThread(0); + + m_menuPreset .Finish(); + m_menuWave .Finish(); + m_menuAugment .Finish(); + m_menuCustomWave.Finish(); + m_menuCustomShape.Finish(); + m_menuMotion .Finish(); + m_menuPost .Finish(); + for (int i=0; i 0.5f) + return powf(x*2-1, fExp)*0.5f + 0.5f; + + return (1-powf(1-x*2, fExp))*0.5f; +} + +int GetNearestPow2Size(int w, int h) +{ + float fExp = logf( max(w,h)*0.75f + 0.25f*min(w,h) ) / logf(2.0f); + float bias = 0.55f; + if (fExp + bias >= 11.0f) // ..don't jump to 2048x2048 quite as readily + bias = 0.5f; + int nExp = (int)(fExp + bias); + int log2size = (int)powf(2.0f, (float)nExp); + return log2size; +} + +int CPlugin::AllocateMyDX9Stuff() +{ + // (...aka OnUserResizeWindow) + // (...aka OnToggleFullscreen) + + // Allocate and initialize all your DX9 and D3DX stuff here: textures, + // surfaces, vertex/index buffers, D3DX fonts, and so on. + // If anything fails here, return FALSE to safely exit the plugin, + // but only after displaying a messagebox giving the user some information + // about what went wrong. If the error is NON-CRITICAL, you don't *have* + // to return; just make sure that the rest of the code will be still safely + // run (albeit with degraded features). + // If you run out of video memory, you might want to show a short messagebox + // saying what failed to allocate and that the reason is a lack of video + // memory, and then call SuggestHowToFreeSomeMem(), which will show them + // a *second* messagebox that (intelligently) suggests how they can free up + // some video memory. + // Don't forget to account for each object you create/allocate here by cleaning + // it up in CleanUpMyDX9Stuff! + // IMPORTANT: + // Note that the code here isn't just run at program startup! + // When the user toggles between fullscreen and windowed modes + // or resizes the window, the base class calls this function before + // destroying & recreating the plugin window and DirectX object, and then + // calls AllocateMyDX9Stuff afterwards, to get your plugin running again. + + wchar_t buf[32768], title[64]; + + m_nFramesSinceResize = 0; + + int nNewCanvasStretch = (m_nCanvasStretch == 0) ? 100 : m_nCanvasStretch; + + DWORD PSVersion = GetCaps()->PixelShaderVersion & 0xFFFF; // 0x0300, etc. + if (PSVersion >= 0x0300) + m_nMaxPSVersion_DX9 = MD2_PS_3_0; + else if (PSVersion > 0x0200) + m_nMaxPSVersion_DX9 = MD2_PS_2_X; + else if (PSVersion >= 0x0200) + m_nMaxPSVersion_DX9 = MD2_PS_2_0; + else + m_nMaxPSVersion_DX9 = MD2_PS_NONE; + + if (m_nMaxPSVersion_ConfigPanel == -1) + m_nMaxPSVersion = m_nMaxPSVersion_DX9; + else + { + // to still limit their choice by what HW reports: + //m_nMaxPSVersion = min(m_nMaxPSVersion_DX9, m_nMaxPSVersion_ConfigPanel); + + // to allow them to override: + m_nMaxPSVersion = m_nMaxPSVersion_ConfigPanel; + } + + /* + Auto mode: do a check against a few known, *SLOW* DX9/ps_2_0 cards to see + if we should run them without pixel shaders instead. + Here is valve's list of the cards they run DX8 on (mostly because they're too slow under DX9 + ps_2_0): + NVIDIA GeForce FX 5200� 31.12% + ATI Radeon 9200�������� 21.29% + NVIDIA GeForce FX 5500� 11.27% + NVIDIA GeForce4��������� 7.74% + NVIDIA GeForce FX 5700�� 7.12% + NVIDIA GeForce FX 5600�� 5.16% + SiS 661FX_760_741������� 3.34% + NVIDIA GeForce FX 5900�� 3.24% + NVIDIA GeForce3��������� 2.09% + ATI Radeon 9000��������� 1.98% + other������������������� 5.66% + [ from http://www.steampowered.com/status/survey.html ] + see also: + http://en.wikipedia.org/wiki/Radeon + http://en.wikipedia.org/wiki/Geforce_fx + */ + + const char* szGPU = GetDriverDescription(); + /* known examples of this string: + "ATI MOBILITY RADEON X600" + "RADEON X800 Series " <- note the spaces at the end + "Sapphire RADEON X700" + "NVIDIA GeForce Go 6200 " <- note the spaces at the end + "NVIDIA GeForce 6800 GT" + "Intel(R) 82865G Graphics Controller" + "Mobile Intel(R) 915GM/GMS,910GML Express Chipset Family" + + might want to consider adding these to the list: [from http://www.intel.com/support/graphics/sb/cs-014257.htm ] + (...they should support PS2.0, but not sure if they're fast...) + "Mobile Intel(R) 945GM Express Chipset Family" + "Mobile Intel(R) 915GM/GMS,910GML Express Chipset" + "Intel(R) 945G Express Chipset" + "Intel(R) 82915G/82910GL Express Chipset Family" + + or these, if they seem to be reporting that they do support ps_2_0, which would be very bogus info: + "Intel(R) 82865G Graphics Controller" + "Intel(R) 82852/82855 Graphics Controller Family" + "Intel(R) 82845G Graphics Controller" + "Intel(R) 82830M Graphics Controller" + "Intel(R) 82815 Graphics Controller" + "Intel(R) 82810 Graphics Controller" + */ + + // GREY LIST - slow ps_2_0 cards + // In Canvas Stretch==Auto mode, for these cards, if they (claim to) run ps_2_0, + // we run at half-res (cuz they're slow). + // THE GENERAL GUIDELINE HERE: + // It should be at least as fast as a GeForce FX 5700 or my GeForce 6200 (TC) + // if it's to run without stretch. + if (m_nCanvasStretch==0)// && m_nMaxPSVersion_DX9 > 0) + { + // put cards on this list if you see them successfully run ps_2_0 (using override) + // and they run well at a low resolution (512x512 or less). + if ( + strstr(szGPU, "GeForce 4" ) || // probably not even ps_2_0 + strstr(szGPU, "GeForce FX 52" ) || // chip's computer (FX 5200) - does do ps_2_0, but slow + strstr(szGPU, "GeForce FX 53" ) || + strstr(szGPU, "GeForce FX 54" ) || + strstr(szGPU, "GeForce FX 55" ) || //GeForce FX 5600 is 13 GB/s - 2.5x as fast as my 6200! + strstr(szGPU, "GeForce FX 56" ) || + //...GeForce FX 5700 and up, we let those run at full-res on ps_2_0... + strstr(szGPU, "GeForce FX 56" ) || + strstr(szGPU, "GeForce FX 56" ) || + strstr(szGPU, "SiS 300/305/630/540/730") || // mom's computer - just slow. + strstr(szGPU, "Radeon 8" ) || // no shader model 2. + strstr(szGPU, "Radeon 90" ) || // from Valve. no shader model 2. + strstr(szGPU, "Radeon 91" ) || // no shader model 2. + strstr(szGPU, "Radeon 92" ) || // from Valve. no shader model 2. + strstr(szGPU, "Radeon 93" ) || // no shader model 2. + strstr(szGPU, "Radeon 94" ) || // no shader model 2. + // guessing that 9500+ are ok - they're all ps_2_0 and the 9600 is like an FX 5900. + strstr(szGPU, "Radeon 9550") || // *maybe* - kiv - super budget R200 chip. def. ps_2_0 but possibly very slow. + strstr(szGPU, "Radeon X300") || // *maybe* - kiv - super budget R200 chip def. ps_2_0 but possibly very slow. + 0) + { + nNewCanvasStretch = 200; + } + } + + /* pix pipes + core Fill(G) membw(GB/s) + Radeon 9600 Pro 400 4 1.6 9.6 + Radeon 9600 XT 500 4 2.0 9.6 + GeForce FX 5600 Ultra 400 4 1.6 12.8 + GeForce FX 5700 Ultra 475 4 1.9 14.4 + GeForce FX 5900 XT 400 4 1.6 22.4 + GeForce FX 5900 450 4 1.8 27.2 + GeForce FX 5950 Ultra 475 4 2.9 30 + GeForce 6200 TC-32 350 4 1.1 5.6 (TurboDonkey) + GeForce 6600 GT 500 8 2.0 16 + GeForce 6800 Ultra 400 16 6.4 35 + ATI Radeon X800 XT PE 520 16 8.3 36 + ATI Radeon X850 XT PE 540 16 8.6 38 + + Entry-level GPU 5200, 5300, 5500 + Mid-Range GPU 5600, 5700 + High-end GPU 5800, 5900, 5950 + + Entry-level GPU 6200, 6500 + Mid-Range GPU 6600 + High-end GPU 6800 + + Entry-level GPU + Mid-Range GPU + High-end GPU + + R200: only ps_1_4. Radeon 8500-9250. + R300: ps_2_0. Radeon 9500-9800, X300-X600, X1050. 9600 fast enough (~FX5900). 9500/9700 ~ GeForce 4 Ti. + R420: ps_2_0 Radeon X700-8750 - ALL FAST ENOUGH. X700 is same speed as a GeForce 6600. + + 6600 ~ X700 + GeForce 4 < X300 / X600 / 9600 + GeForce 4 Ti > Radeon 8500 + FX 5900 = Radeon 9600 + FX 5900 Ultra << [half] Radeon 9800 Pro + GeForce FX < Radeon 9700/9800 + */ + + // BLACK LIST + // In Pixel Shaders==Auto mode, for these cards, we avoid ps_2_0 completely. + // There shouldn't be much on this list... feel free to put anything you KNOW doesn't do ps_2_0 (why not), + // and to put anything that is slow to begin with, and HAS BUGGY DRIVERS (INTEL). + if (m_nMaxPSVersion_ConfigPanel==-1) + { + if (strstr(szGPU, "GeForce2" ) || // from Valve + strstr(szGPU, "GeForce3" ) || // from Valve + strstr(szGPU, "GeForce4" ) || // from Valve + strstr(szGPU, "Radeon 7" ) || // from Valve + strstr(szGPU, "Radeon 8" ) || + strstr(szGPU, "SiS 661FX_760_741") || // from Valve + //FOR NOW, FOR THESE, ASSUME INTEL EITHER DOESN'T DO PS_2_0, + //OR DRIVERS SUCK AND IT WOULDN'T WORK ANYWAY! + (strstr(szGPU,"Intel") && strstr(szGPU,"945G")) || + (strstr(szGPU,"Intel") && strstr(szGPU,"915G")) || // ben allison's laptop - snow, freezing when you try ps_2_0 + (strstr(szGPU,"Intel") && strstr(szGPU,"910G")) || + (strstr(szGPU,"Intel") && strstr(szGPU,"8291")) || // gonna guess that this supports ps_2_0 but is SLOW + (strstr(szGPU,"Intel") && strstr(szGPU,"8281")) || // definitely DOESN'T support pixel shaders + (strstr(szGPU,"Intel") && strstr(szGPU,"8283")) || // definitely DOESN'T support pixel shaders + (strstr(szGPU,"Intel") && strstr(szGPU,"8284")) || // definitely DOESN'T support pixel shaders + (strstr(szGPU,"Intel") && strstr(szGPU,"8285")) || // definitely DOESN'T support pixel shaders + (strstr(szGPU,"Intel") && strstr(szGPU,"8286")) || // definitely DOESN'T support pixel shaders. Ben Allison's desktop (865) - no image w/ps_2_0. Plus Nes's desktop - no ps_2_0. + 0) + { + m_nMaxPSVersion = MD2_PS_NONE; + //if (m_nCanvasStretch==0) + // nNewCanvasStretch = 100; + } + } + + /*char fname[512]; + sprintf(fname, "%s%s", GetPluginsDirPath(), TEXTURE_NAME); + if (D3DXCreateTextureFromFile(GetDevice(), fname, &m_object_tex) != S_OK) + { + // just give a warning, and move on + m_object_tex = NULL; // (make sure pointer wasn't mangled by some bad driver) + + char msg[1024]; + sprintf(msg, "Unable to load texture:\r%s", fname); + MessageBox(GetPluginWindow(), msg, "WARNING", MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + //return false; + }*/ + + // Note: this code used to be in OnResizeGraphicsWindow(). + + // SHADERS + //------------------------------------- + if (m_nMaxPSVersion > MD2_PS_NONE) + { + // Create vertex declarations (since we're not using FVF anymore) + if (D3D_OK != GetDevice()->CreateVertexDeclaration( g_MyVertDecl, &m_pMyVertDecl )) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_CREATE_MY_VERTEX_DECLARATION,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,sizeof(title)), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (D3D_OK != GetDevice()->CreateVertexDeclaration( g_WfVertDecl, &m_pWfVertDecl )) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_CREATE_WF_VERTEX_DECLARATION,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,sizeof(title)), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (D3D_OK != GetDevice()->CreateVertexDeclaration( g_SpriteVertDecl, &m_pSpriteVertDecl )) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_CREATE_SPRITE_VERTEX_DECLARATION,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,sizeof(title)), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + // Load the FALLBACK shaders... + if (!RecompilePShader(m_szDefaultWarpPShaderText, &m_fallbackShaders_ps.warp, SHADER_WARP, true, 2)) + { + wchar_t szSM[64]; + switch(m_nMaxPSVersion_DX9) + { + case MD2_PS_2_0: + case MD2_PS_2_X: + WASABI_API_LNGSTRINGW_BUF(IDS_SHADER_MODEL_2,szSM,64); break; + case MD2_PS_3_0: WASABI_API_LNGSTRINGW_BUF(IDS_SHADER_MODEL_3,szSM,64); break; + case MD2_PS_4_0: WASABI_API_LNGSTRINGW_BUF(IDS_SHADER_MODEL_4,szSM,64); break; + default: + swprintf(szSM, WASABI_API_LNGSTRINGW(IDS_UKNOWN_CASE_X), m_nMaxPSVersion_DX9); + break; + } + if (m_nMaxPSVersion_ConfigPanel >= MD2_PS_NONE && m_nMaxPSVersion_DX9 < m_nMaxPSVersion_ConfigPanel) + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_USING_X),szSM,PSVersion); + else + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_HARDWARE_MIS_REPORT),szSM,PSVersion); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompileVShader(m_szDefaultWarpVShaderText, &m_fallbackShaders_vs.warp, SHADER_WARP, true)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_FALLBACK_WV_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompileVShader(m_szDefaultCompVShaderText, &m_fallbackShaders_vs.comp, SHADER_COMP, true)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_FALLBACK_CV_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompilePShader(m_szDefaultCompPShaderText, &m_fallbackShaders_ps.comp, SHADER_COMP, true, 2)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_FALLBACK_CP_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + // Load the BLUR shaders... + if (!RecompileVShader(m_szBlurVS, &m_BlurShaders[0].vs, SHADER_BLUR, true)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_BLUR1_VERTEX_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompilePShader(m_szBlurPSX, &m_BlurShaders[0].ps, SHADER_BLUR, true, 2)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_BLUR1_PIXEL_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompileVShader(m_szBlurVS, &m_BlurShaders[1].vs, SHADER_BLUR, true)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_BLUR2_VERTEX_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (!RecompilePShader(m_szBlurPSY, &m_BlurShaders[1].ps, SHADER_BLUR, true, 2)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_COMPILE_BLUR2_PIXEL_SHADER,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + } + + // create m_lpVS[2] + { + int log2texsize = GetNearestPow2Size(GetWidth(), GetHeight()); + + // auto-guess texsize + if (m_bTexSizeWasAutoExact) + { + // note: in windowed mode, the winamp window could be weird sizes, + // so the plugin shell now gives us a slightly enlarged size, + // which pads it out to the nearest 32x32 block size, + // and then on display, it intelligently crops the image. + // This is pretty likely to work on non-shitty GPUs. + // but some shitty ones will still only do powers of 2! + // So if we are running out of video memory here or experience + // other problems, though, we can make our VS's smaller; + // which will work, although it will lead to stretching. + m_nTexSizeX = GetWidth(); + m_nTexSizeY = GetHeight(); + } + else if (m_bTexSizeWasAutoPow2) + { + m_nTexSizeX = log2texsize; + m_nTexSizeY = log2texsize; + } + + // clip texsize by max. from caps + if ((DWORD)m_nTexSizeX > GetCaps()->MaxTextureWidth && GetCaps()->MaxTextureWidth>0) + m_nTexSizeX = GetCaps()->MaxTextureWidth; + if ((DWORD)m_nTexSizeY > GetCaps()->MaxTextureHeight && GetCaps()->MaxTextureHeight>0) + m_nTexSizeY = GetCaps()->MaxTextureHeight; + + // apply canvas stretch + m_nTexSizeX = (m_nTexSizeX * 100)/nNewCanvasStretch; + m_nTexSizeY = (m_nTexSizeY * 100)/nNewCanvasStretch; + + // re-compute closest power-of-2 size, now that we've factored in the stretching... + log2texsize = GetNearestPow2Size(m_nTexSizeX, m_nTexSizeY); + if (m_bTexSizeWasAutoPow2) + { + m_nTexSizeX = log2texsize; + m_nTexSizeY = log2texsize; + } + + // snap to 16x16 blocks + m_nTexSizeX = ((m_nTexSizeX+15)/16)*16; + m_nTexSizeY = ((m_nTexSizeY+15)/16)*16; + + // determine format for VS1/VS2 + D3DFORMAT fmt; + switch(m_nTexBitsPerCh) { + case 5: fmt = D3DFMT_R5G6B5 ; break; + case 8: fmt = D3DFMT_X8R8G8B8 ; break; + case 10: fmt = D3DFMT_A2R10G10B10; break; // D3DFMT_A2W10V10U10 or D3DFMT_A2R10G10B10 or D3DFMT_A2B10G10R10 + case 16: fmt = D3DFMT_A16B16G16R16F; break; + case 32: fmt = D3DFMT_A32B32G32R32F; break; //FIXME + default: fmt = D3DFMT_X8R8G8B8 ; break; + } + + // reallocate + bool bSuccess = false; + DWORD vs_flags = D3DUSAGE_RENDERTARGET;// | D3DUSAGE_AUTOGENMIPMAP;//FIXME! (make automipgen optional) + bool bRevertedBitDepth = false; + do + { + SafeRelease(m_lpVS[0]); + SafeRelease(m_lpVS[1]); + + // create VS1 + bSuccess = (GetDevice()->CreateTexture(m_nTexSizeX, m_nTexSizeY, 1, vs_flags, fmt, D3DPOOL_DEFAULT, &m_lpVS[0], NULL) == D3D_OK); + if (!bSuccess) + { + bSuccess = (GetDevice()->CreateTexture(m_nTexSizeX, m_nTexSizeY, 1, vs_flags, GetBackBufFormat(), D3DPOOL_DEFAULT, &m_lpVS[0], NULL) == D3D_OK); + if (bSuccess) + fmt = GetBackBufFormat(); + } + + // create VS2 + if (bSuccess) + bSuccess = (GetDevice()->CreateTexture(m_nTexSizeX, m_nTexSizeY, 1, vs_flags, fmt, D3DPOOL_DEFAULT, &m_lpVS[1], NULL) == D3D_OK); + + if (!bSuccess) + { + if (m_bTexSizeWasAutoExact) + { + if (m_nTexSizeX > 256 || m_nTexSizeY > 256) + { + m_nTexSizeX /= 2; + m_nTexSizeY /= 2; + m_nTexSizeX = ((m_nTexSizeX+15)/16)*16; + m_nTexSizeY = ((m_nTexSizeY+15)/16)*16; + } + else + { + m_nTexSizeX = log2texsize; + m_nTexSizeY = log2texsize; + m_bTexSizeWasAutoExact = false; + m_bTexSizeWasAutoPow2 = true; + } + } + else if (m_bTexSizeWasAutoPow2) + { + if (m_nTexSizeX > 256) + { + m_nTexSizeX /= 2; + m_nTexSizeY /= 2; + } + else + break; + } + } + } + while (!bSuccess);// && m_nTexSizeX >= 256 && (m_bTexSizeWasAutoExact || m_bTexSizeWasAutoPow2)); + + if (!bSuccess) + { + wchar_t buf[2048]; + UINT err_id = IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM; + if (GetScreenMode() == FULLSCREEN) + err_id = IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_SMALLER_DISPLAY; + else if (!(m_bTexSizeWasAutoExact || m_bTexSizeWasAutoPow2)) + err_id = IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM_RECOMMENDATION; + + WASABI_API_LNGSTRINGW_BUF(err_id,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + else + { + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_SUCCESSFULLY_CREATED_VS0_VS1), m_nTexSizeX, m_nTexSizeY, GetWidth(), GetHeight()); + dumpmsg(buf); + } + + /* + if (m_nTexSizeX != GetWidth() || m_nTexSizeY != GetHeight()) + { + char buf[2048]; + sprintf(buf, "warning - canvas size adjusted from %dx%d to %dx%d.", GetWidth(), GetHeight(), m_nTexSizeX, m_nTexSizeY); + dumpmsg(buf); + AddError(buf, 3.2f, ERR_INIT, true); + }/**/ + + // create blur textures w/same format. A complete mip chain costs 33% more video mem then 1 full-sized VS. + #if (NUM_BLUR_TEX>0) + int w = m_nTexSizeX; + int h = m_nTexSizeY; + DWORD blurtex_flags = D3DUSAGE_RENDERTARGET;// | D3DUSAGE_AUTOGENMIPMAP;//FIXME! (make automipgen optional) + for (int i=0; iCreateTexture(w2, h2, 1, blurtex_flags, fmt, D3DPOOL_DEFAULT, &m_lpBlur[i], NULL) == D3D_OK); + m_nBlurTexW[i] = w2; + m_nBlurTexH[i] = h2; + if (!bSuccess) + { + m_nBlurTexW[i] = 1; + m_nBlurTexH[i] = 1; + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW_BUF(IDS_ERROR_CREATING_BLUR_TEXTURES,buf,sizeof(buf)), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_WARNING,title,sizeof(title)), MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + break; + } + + // add it to m_textures[]. + TexInfo x; + swprintf(x.texname, L"blur%d%s", i/2+1, (i%2) ? L"" : L"doNOTuseME"); + x.texptr = m_lpBlur[i]; + //x.texsize_param = NULL; + x.w = w2; + x.h = h2; + x.d = 1; + x.bEvictable = false; + x.nAge = m_nPresetsLoadedTotal; + x.nSizeInBytes = 0; + m_textures.push_back(x); + } + #endif + } + + + m_fAspectX = (m_nTexSizeY > m_nTexSizeX) ? m_nTexSizeX/(float)m_nTexSizeY : 1.0f; + m_fAspectY = (m_nTexSizeX > m_nTexSizeY) ? m_nTexSizeY/(float)m_nTexSizeX : 1.0f; + m_fInvAspectX = 1.0f/m_fAspectX; + m_fInvAspectY = 1.0f/m_fAspectY; + + + // BUILD VERTEX LIST for final composite blit + // note the +0.5-texel offset! + // (otherwise, a 1-pixel-wide line of the image would wrap at the top and left edges). + ZeroMemory(m_comp_verts, sizeof(MYVERTEX)*FCGSX*FCGSY); + //float fOnePlusInvWidth = 1.0f + 1.0f/(float)GetWidth(); + //float fOnePlusInvHeight = 1.0f + 1.0f/(float)GetHeight(); + float fHalfTexelW = 0.5f / (float)GetWidth(); // 2.5: 2 pixels bad @ bottom right + float fHalfTexelH = 0.5f / (float)GetHeight(); + float fDivX = 1.0f / (float)(FCGSX-2); + float fDivY = 1.0f / (float)(FCGSY-2); + for (int j=0; jx = sx; + p->y = sy; + p->z = 0; + float rad, ang; + UvToMathSpace( u, v, &rad, &ang ); + // fix-ups: + if (i==FCGSX/2-1) { + if (j < FCGSY/2-1) + ang = 3.1415926535898f*1.5f; + else if (j == FCGSY/2-1) + ang = 3.1415926535898f*1.25f; + else if (j == FCGSY/2) + ang = 3.1415926535898f*0.75f; + else + ang = 3.1415926535898f*0.5f; + } + else if (i==FCGSX/2) { + if (j < FCGSY/2-1) + ang = 3.1415926535898f*1.5f; + else if (j == FCGSY/2-1) + ang = 3.1415926535898f*1.75f; + else if (j == FCGSY/2) + ang = 3.1415926535898f*0.25f; + else + ang = 3.1415926535898f*0.5f; + } + else if (j==FCGSY/2-1) { + if (i < FCGSX/2-1) + ang = 3.1415926535898f*1.0f; + else if (i == FCGSX/2-1) + ang = 3.1415926535898f*1.25f; + else if (i == FCGSX/2) + ang = 3.1415926535898f*1.75f; + else + ang = 3.1415926535898f*2.0f; + } + else if (j==FCGSY/2) { + if (i < FCGSX/2-1) + ang = 3.1415926535898f*1.0f; + else if (i == FCGSX/2-1) + ang = 3.1415926535898f*0.75f; + else if (i == FCGSX/2) + ang = 3.1415926535898f*0.25f; + else + ang = 3.1415926535898f*0.0f; + } + p->tu = u; + p->tv = v; + //p->tu_orig = u; + //p->tv_orig = v; + p->rad = rad; + p->ang = ang; + p->Diffuse = 0xFFFFFFFF; + } + } + + // build index list for final composite blit - + // order should be friendly for interpolation of 'ang' value! + int* cur_index = &m_comp_indices[0]; + for (int y=0; y 16); + + if (hr != D3D_OK) + { + //dumpmsg("Init: -WARNING-: Title texture could not be created!"); + m_lpDDSTitle = NULL; + //SafeRelease(m_lpDDSTitle); + //return true; + } + else + { + //sprintf(buf, "Init: title texture size is %dx%d (ideal size was %dx%d)", m_nTitleTexSizeX, m_nTitleTexSizeY, m_nTexSize, m_nTexSize/4); + //dumpmsg(buf); + m_supertext.bRedrawSuperText = true; + } + } + + // ----------------- + + // create 'm_gdi_title_font_doublesize' + int songtitle_font_size = m_fontinfo[SONGTITLE_FONT].nSize * m_nTitleTexSizeX/256; + if (songtitle_font_size<6) songtitle_font_size=6; + if (!(m_gdi_title_font_doublesize = CreateFontW(songtitle_font_size, 0, 0, 0, m_fontinfo[SONGTITLE_FONT].bBold ? 900 : 400, + m_fontinfo[SONGTITLE_FONT].bItalic, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, m_fontinfo[SONGTITLE_FONT].bAntiAliased ? ANTIALIASED_QUALITY : DEFAULT_QUALITY, DEFAULT_PITCH, m_fontinfo[SONGTITLE_FONT].szFace))) + { + MessageBoxW(NULL, WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_DOUBLE_SIZED_GDI_TITLE_FONT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,sizeof(title)), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + if (pCreateFontW( GetDevice(), + songtitle_font_size, + 0, + m_fontinfo[SONGTITLE_FONT].bBold ? 900 : 400, + 1, + m_fontinfo[SONGTITLE_FONT].bItalic, + DEFAULT_CHARSET, + OUT_DEFAULT_PRECIS, + ANTIALIASED_QUALITY,//DEFAULT_QUALITY, + DEFAULT_PITCH, + m_fontinfo[SONGTITLE_FONT].szFace, + &m_d3dx_title_font_doublesize + ) != D3D_OK) + { + MessageBoxW(GetPluginWindow(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_DOUBLE_SIZED_D3DX_TITLE_FONT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,sizeof(title)), MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + // ----------------- + + m_texmgr.Init(GetDevice()); + + //dumpmsg("Init: mesh allocation"); + m_verts = new MYVERTEX[(m_nGridX+1)*(m_nGridY+1)]; + m_verts_temp = new MYVERTEX[(m_nGridX+2) * 4]; + m_vertinfo = new td_vertinfo[(m_nGridX+1)*(m_nGridY+1)]; + m_indices_strip = new int[(m_nGridX+2)*(m_nGridY*2)]; + m_indices_list = new int[m_nGridX*m_nGridY*6]; + if (!m_verts || !m_vertinfo) + { + swprintf(buf, L"couldn't allocate mesh - out of memory"); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + int nVert = 0; + float texel_offset_x = 0.5f / (float)m_nTexSizeX; + float texel_offset_y = 0.5f / (float)m_nTexSizeY; + for (y=0; y<=m_nGridY; y++) + { + for (int x=0; x<=m_nGridX; x++) + { + // precompute x,y,z + m_verts[nVert].x = x/(float)m_nGridX*2.0f - 1.0f; + m_verts[nVert].y = y/(float)m_nGridY*2.0f - 1.0f; + m_verts[nVert].z = 0.0f; + + // precompute rad, ang, being conscious of aspect ratio + m_vertinfo[nVert].rad = sqrtf(m_verts[nVert].x*m_verts[nVert].x*m_fAspectX*m_fAspectX + m_verts[nVert].y*m_verts[nVert].y*m_fAspectY*m_fAspectY); + if (y==m_nGridY/2 && x==m_nGridX/2) + m_vertinfo[nVert].ang = 0.0f; + else + m_vertinfo[nVert].ang = atan2f(m_verts[nVert].y*m_fAspectY, m_verts[nVert].x*m_fAspectX); + m_vertinfo[nVert].a = 1; + m_vertinfo[nVert].c = 0; + + m_verts[nVert].rad = m_vertinfo[nVert].rad; + m_verts[nVert].ang = m_vertinfo[nVert].ang; + m_verts[nVert].tu_orig = m_verts[nVert].x*0.5f + 0.5f + texel_offset_x; + m_verts[nVert].tv_orig = -m_verts[nVert].y*0.5f + 0.5f + texel_offset_y; + + nVert++; + } + } + + // generate triangle strips for the 4 quadrants. + // each quadrant has m_nGridY/2 strips. + // each strip has m_nGridX+2 *points* in it, or m_nGridX/2 polygons. + int xref, yref; + int nVert_strip = 0; + for (int quadrant=0; quadrant<4; quadrant++) + { + for (int slice=0; slice < m_nGridY/2; slice++) + { + for (int i=0; i < m_nGridX + 2; i++) + { + // quadrants: 2 3 + // 0 1 + xref = i/2; + yref = (i%2) + slice; + + if (quadrant & 1) + xref = m_nGridX - xref; + if (quadrant & 2) + yref = m_nGridY - yref; + + int v = xref + (yref)*(m_nGridX+1); + + m_indices_strip[nVert_strip++] = v; + } + } + } + + // also generate triangle lists for drawing the main warp mesh. + int nVert_list = 0; + for (int quadrant=0; quadrant<4; quadrant++) + { + for (int slice=0; slice < m_nGridY/2; slice++) + { + for (int i=0; i < m_nGridX/2; i++) + { + // quadrants: 2 3 + // 0 1 + xref = i; + yref = slice; + + if (quadrant & 1) + xref = m_nGridX-1 - xref; + if (quadrant & 2) + yref = m_nGridY-1 - yref; + + int v = xref + (yref)*(m_nGridX+1); + + m_indices_list[nVert_list++] = v; + m_indices_list[nVert_list++] = v +1; + m_indices_list[nVert_list++] = v+m_nGridX+1 ; + m_indices_list[nVert_list++] = v +1; + m_indices_list[nVert_list++] = v+m_nGridX+1 ; + m_indices_list[nVert_list++] = v+m_nGridX+1+1; + } + } + } + + // GENERATED TEXTURES FOR SHADERS + //------------------------------------- + if (m_nMaxPSVersion > 0) + { + // Generate noise textures + if (!AddNoiseTex(L"noise_lq", 256, 1)) return false; + if (!AddNoiseTex(L"noise_lq_lite", 32, 1)) return false; + if (!AddNoiseTex(L"noise_mq", 256, 4)) return false; + if (!AddNoiseTex(L"noise_hq", 256, 8)) return false; + + if (!AddNoiseVol(L"noisevol_lq", 32, 1)) return false; + if (!AddNoiseVol(L"noisevol_hq", 32, 4)) return false; + } + + if (!m_bInitialPresetSelected) + { + UpdatePresetList(true); //...just does its initial burst! + LoadRandomPreset(0.0f); + m_bInitialPresetSelected = true; + } + else + LoadShaders(&m_shaders, m_pState, false); // Also force-load the shaders - otherwise they'd only get compiled on a preset switch. + + return true; +} + +float fCubicInterpolate(float y0, float y1, float y2, float y3, float t) +{ + float a0,a1,a2,a3,t2; + + t2 = t*t; + a0 = y3 - y2 - y0 + y1; + a1 = y0 - y1 - a0; + a2 = y2 - y0; + a3 = y1; + + return(a0*t*t2+a1*t2+a2*t+a3); +} + +DWORD dwCubicInterpolate(DWORD y0, DWORD y1, DWORD y2, DWORD y3, float t) +{ + // performs cubic interpolation on a D3DCOLOR value. + DWORD ret = 0; + DWORD shift = 0; + for (int i=0; i<4; i++) + { + float f = fCubicInterpolate( + ((y0 >> shift) & 0xFF)/255.0f, + ((y1 >> shift) & 0xFF)/255.0f, + ((y2 >> shift) & 0xFF)/255.0f, + ((y3 >> shift) & 0xFF)/255.0f, + t + ); + if (f<0) + f = 0; + if (f>1) + f = 1; + ret |= ((DWORD)(f*255)) << shift; + shift += 8; + } + return ret; +} + +bool CPlugin::AddNoiseTex(const wchar_t* szTexName, int size, int zoom_factor) +{ + // size = width & height of the texture; + // zoom_factor = how zoomed-in the texture features should be. + // 1 = random noise + // 2 = smoothed (interp) + // 4/8/16... = cubic interp. + + wchar_t buf[2048], title[64]; + + // Synthesize noise texture(s) + LPDIRECT3DTEXTURE9 pNoiseTex = NULL; + // try twice - once with mips, once without. + for (int i=0; i<2; i++) + { + if (D3D_OK != GetDevice()->CreateTexture(size, size, i, D3DUSAGE_DYNAMIC | (i ? 0 : D3DUSAGE_AUTOGENMIPMAP), D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &pNoiseTex, NULL)) + { + if (i==1) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_CREATE_NOISE_TEXTURE,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + } + else + break; + } + + D3DLOCKED_RECT r; + if (D3D_OK != pNoiseTex->LockRect(0, &r, NULL, D3DLOCK_DISCARD)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_LOCK_NOISE_TEXTURE,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + if (r.Pitch < size*4) + { + WASABI_API_LNGSTRINGW_BUF(IDS_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + // write to the bits... + DWORD* dst = (DWORD*)r.pBits; + int dwords_per_line = r.Pitch / sizeof(DWORD); + int RANGE = (zoom_factor > 1) ? 216 : 256; + for (int y=0; y 1) + { + // first go ACROSS, blending cubically on X, but only on the main lines. + DWORD* dst = (DWORD*)r.pBits; + for (int y=0; yUnlockRect(0); + + // add it to m_textures[]. + TexInfo x; + lstrcpyW(x.texname, szTexName); + x.texptr = pNoiseTex; + //x.texsize_param = NULL; + x.w = size; + x.h = size; + x.d = 1; + x.bEvictable = false; + x.nAge = m_nPresetsLoadedTotal; + x.nSizeInBytes = 0; + m_textures.push_back(x); + + return true; +} + +bool CPlugin::AddNoiseVol(const wchar_t* szTexName, int size, int zoom_factor) +{ + // size = width & height & depth of the texture; + // zoom_factor = how zoomed-in the texture features should be. + // 1 = random noise + // 2 = smoothed (interp) + // 4/8/16... = cubic interp. + + wchar_t buf[2048], title[64]; + + // Synthesize noise texture(s) + LPDIRECT3DVOLUMETEXTURE9 pNoiseTex = NULL; + // try twice - once with mips, once without. + // NO, TRY JUST ONCE - DX9 doesn't do auto mipgen w/volume textures. (Debug runtime complains.) + for (int i=1; i<2; i++) + { + if (D3D_OK != GetDevice()->CreateVolumeTexture(size, size, size, i, D3DUSAGE_DYNAMIC | (i ? 0 : D3DUSAGE_AUTOGENMIPMAP), D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &pNoiseTex, NULL)) + { + if (i==1) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_CREATE_3D_NOISE_TEXTURE,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + } + else + break; + } + D3DLOCKED_BOX r; + if (D3D_OK != pNoiseTex->LockBox(0, &r, NULL, D3DLOCK_DISCARD)) + { + WASABI_API_LNGSTRINGW_BUF(IDS_COULD_NOT_LOCK_3D_NOISE_TEXTURE,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + if (r.RowPitch < size*4 || r.SlicePitch < size*size*4) + { + WASABI_API_LNGSTRINGW_BUF(IDS_3D_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED,buf,sizeof(buf)); + dumpmsg(buf); + MessageBoxW(GetPluginWindow(), buf, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + // write to the bits... + int dwords_per_slice = r.SlicePitch / sizeof(DWORD); + int dwords_per_line = r.RowPitch / sizeof(DWORD); + int RANGE = (zoom_factor > 1) ? 216 : 256; + for (int z=0; z 1) + { + // first go ACROSS, blending cubically on X, but only on the main lines. + DWORD* dst = (DWORD*)r.pBits; + for (int z=0; zUnlockBox(0); + + // add it to m_textures[]. + TexInfo x; + lstrcpyW(x.texname, szTexName); + x.texptr = pNoiseTex; + //x.texsize_param = NULL; + x.w = size; + x.h = size; + x.d = size; + x.bEvictable = false; + x.nAge = m_nPresetsLoadedTotal; + x.nSizeInBytes = 0; + m_textures.push_back(x); + + return true; +} + +void VShaderInfo::Clear() +{ + SafeRelease(ptr); + SafeRelease(CT); + params.Clear(); +} +void PShaderInfo::Clear() +{ + SafeRelease(ptr); + SafeRelease(CT); + params.Clear(); +} + +// global_CShaderParams_master_list: a master list of all CShaderParams classes in existence. +// ** when we evict a texture, we need to NULL out any texptrs these guys have! ** +CShaderParamsList global_CShaderParams_master_list; +CShaderParams::CShaderParams() { + global_CShaderParams_master_list.push_back(this); +} + +CShaderParams::~CShaderParams() { + int N = global_CShaderParams_master_list.size(); + for (int i=0; i0 && m_textures[i].nAge < m_nPresetsLoadedTotal-1) // note: -1 here keeps images around for the blend-from preset, too... + { + newest = min(newest, m_textures[i].nAge); + oldest = max(oldest, m_textures[i].nAge); + bAtLeastOneFound = true; + } + if (!bAtLeastOneFound) + return false; + + // find the "biggest" texture, but dilate things so that the newest textures + // are HALF as big as the oldest textures, and thus, less likely to get booted. + int biggest_bytes = 0; + int biggest_index = -1; + for (i=0; i0 && m_textures[i].nAge < m_nPresetsLoadedTotal-1) // note: -1 here keeps images around for the blend-from preset, too... + { + float size_mult = 1.0f + (m_textures[i].nAge - newest)/(float)(oldest-newest); + int bytes = (int)(m_textures[i].nSizeInBytes * size_mult); + if (bytes > biggest_bytes) + { + biggest_bytes = bytes; + biggest_index = i; + } + } + if (biggest_index == -1) + return false; + + + // evict that sucker + assert(m_textures[biggest_index].texptr); + + // notify all CShaderParams classes that we're releasing a bindable texture!! + N = global_CShaderParams_master_list.size(); + for (i=0; iOnTextureEvict( m_textures[biggest_index].texptr ); + + // 2. erase the texture itself + SafeRelease(m_textures[biggest_index].texptr); + m_textures.eraseAt(biggest_index); + + return true; +} + +GString texture_exts[] = { L"jpg", L"dds", L"png", L"tga", L"bmp", L"dib", }; +const wchar_t szExtsWithSlashes[] = L"jpg|png|dds|etc."; +typedef Vector StringVec; +bool PickRandomTexture(const wchar_t* prefix, wchar_t* szRetTextureFilename) //should be MAX_PATH chars +{ + static StringVec texfiles; + static DWORD texfiles_timestamp = 0; // update this a max of every ~2 seconds or so + + // if it's been more than a few seconds since the last textures dir scan, redo it. + // (..just enough to make sure we don't do it more than once per preset load) + //DWORD t = timeGetTime(); // in milliseconds + //if (abs(t - texfiles_timestamp) > 2000) + if (g_plugin.m_bNeedRescanTexturesDir) + { + g_plugin.m_bNeedRescanTexturesDir = false;//texfiles_timestamp = t; + texfiles.clear(); + + wchar_t szMask[MAX_PATH]; + swprintf(szMask, L"%stextures\\*.*", g_plugin.m_szMilkdrop2Path); + + WIN32_FIND_DATAW ffd = {0}; + + HANDLE hFindFile = INVALID_HANDLE_VALUE; + if( (hFindFile = FindFirstFileW(szMask, &ffd )) == INVALID_HANDLE_VALUE ) // note: returns filename -without- path + return false; + + // first, count valid texture files + do + { + if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + continue; + + wchar_t* ext = wcsrchr(ffd.cFileName, L'.'); + if (!ext) + continue; + + for (int i=0; iGetDesc(&d); + + D3DXCONSTANT_DESC cd; + + #define MAX_RAND_TEX 16 + GString RandTexName[MAX_RAND_TEX]; + + // pass 1: find all the samplers (and texture bindings). + for (UINT i=0; iGetConstant(NULL, i); + unsigned int count = 1; + pCT->GetConstantDesc(h, &cd, &count); + + // cd.Name = VS_Sampler + // cd.RegisterSet = D3DXRS_SAMPLER + // cd.RegisterIndex = 3 + if (cd.RegisterSet == D3DXRS_SAMPLER && cd.RegisterIndex >= 0 && cd.RegisterIndex < sizeof(m_texture_bindings)/sizeof(m_texture_bindings[0])) + { + assert(m_texture_bindings[cd.RegisterIndex].texptr == NULL); + + // remove "sampler_" prefix to create root file name. could still have "FW_" prefix or something like that. + wchar_t szRootName[MAX_PATH]; + if (!strncmp(cd.Name, "sampler_", 8)) + lstrcpyW(szRootName, AutoWide(&cd.Name[8])); + else + lstrcpyW(szRootName, AutoWide(cd.Name)); + + // also peel off "XY_" prefix, if it's there, to specify filtering & wrap mode. + bool bBilinear = true; + bool bWrap = true; + bool bWrapFilterSpecified = false; + if (lstrlenW(szRootName) > 3 && szRootName[2]==L'_') + { + wchar_t temp[3]; + temp[0] = szRootName[0]; + temp[1] = szRootName[1]; + temp[2] = 0; + // convert to uppercase + if (temp[0] >= L'a' && temp[0] <= L'z') + temp[0] -= L'a' - L'A'; + if (temp[1] >= L'a' && temp[1] <= L'z') + temp[1] -= L'a' - L'A'; + + if (!wcscmp(temp, L"FW")) { bWrapFilterSpecified = true; bBilinear = true; bWrap = true; } + else if (!wcscmp(temp, L"FC")) { bWrapFilterSpecified = true; bBilinear = true; bWrap = false; } + else if (!wcscmp(temp, L"PW")) { bWrapFilterSpecified = true; bBilinear = false; bWrap = true; } + else if (!wcscmp(temp, L"PC")) { bWrapFilterSpecified = true; bBilinear = false; bWrap = false; } + // also allow reverses: + else if (!wcscmp(temp, L"WF")) { bWrapFilterSpecified = true; bBilinear = true; bWrap = true; } + else if (!wcscmp(temp, L"CF")) { bWrapFilterSpecified = true; bBilinear = true; bWrap = false; } + else if (!wcscmp(temp, L"WP")) { bWrapFilterSpecified = true; bBilinear = false; bWrap = true; } + else if (!wcscmp(temp, L"CP")) { bWrapFilterSpecified = true; bBilinear = false; bWrap = false; } + + // peel off the prefix + int i = 0; + while (szRootName[i+3]) + { + szRootName[i] = szRootName[i+3]; + i++; + } + szRootName[i] = 0; + } + m_texture_bindings[ cd.RegisterIndex ].bWrap = bWrap; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = bBilinear; + + // if is "main", map it to the VS... + if (!wcscmp(L"main", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = NULL; + m_texcode[ cd.RegisterIndex ] = TEX_VS; + } + #if (NUM_BLUR_TEX >= 2) + else if (!wcscmp(L"blur1", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[1]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR1; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + #if (NUM_BLUR_TEX >= 4) + else if (!wcscmp(L"blur2", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[3]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR2; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + #if (NUM_BLUR_TEX >= 6) + else if (!wcscmp(L"blur3", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[5]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR3; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + #if (NUM_BLUR_TEX >= 8) + else if (!wcscmp("blur4", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[7]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR4; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + #if (NUM_BLUR_TEX >= 10) + else if (!wcscmp("blur5", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[9]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR5; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + #if (NUM_BLUR_TEX >= 12) + else if (!wcscmp("blur6", szRootName)) + { + m_texture_bindings[ cd.RegisterIndex ].texptr = g_plugin.m_lpBlur[11]; + m_texcode [ cd.RegisterIndex ] = TEX_BLUR6; + if (!bWrapFilterSpecified) { // when sampling blur textures, default is CLAMP + m_texture_bindings[ cd.RegisterIndex ].bWrap = false; + m_texture_bindings[ cd.RegisterIndex ].bBilinear = true; + } + } + #endif + else + { + m_texcode[ cd.RegisterIndex ] = TEX_DISK; + + // check for request for random texture. + if (!wcsncmp(L"rand", szRootName, 4) && + IsNumericChar(szRootName[4]) && + IsNumericChar(szRootName[5]) && + (szRootName[6]==0 || szRootName[6]=='_') ) + { + int rand_slot = -1; + + // peel off filename prefix ("rand13_smalltiled", for example) + wchar_t prefix[MAX_PATH]; + if (szRootName[6]==L'_') + lstrcpyW(prefix, &szRootName[7]); + else + prefix[0] = 0; + szRootName[6] = 0; + + swscanf(&szRootName[4], L"%d", &rand_slot); + if (rand_slot >= 0 && rand_slot <= 15) // otherwise, not a special filename - ignore it + { + if (!PickRandomTexture(prefix, szRootName)) + { + if (prefix[0]) + swprintf(szRootName, L"[rand%02d] %s*", rand_slot, prefix); + else + swprintf(szRootName, L"[rand%02d] *", rand_slot); + } + else + { + //chop off extension + wchar_t *p = wcsrchr(szRootName, L'.'); + if (p) + *p = 0; + } + + assert(RandTexName[rand_slot].GetLength() == 0); + RandTexName[rand_slot] = szRootName; // we'll need to remember this for texsize_ params! + } + } + + // see if .tga or .jpg has already been loaded. + // (if so, grab a pointer to it) + // (if NOT, create & load it). + int N = g_plugin.m_textures.size(); + for (int n=0; nGetConstant(NULL, i); + unsigned int count = 1; + pCT->GetConstantDesc(h, &cd, &count); + + if (cd.RegisterSet == D3DXRS_FLOAT4) + { + if (cd.Class == D3DXPC_MATRIX_COLUMNS) + { + if (!strcmp(cd.Name, "rot_s1" )) rot_mat[0] = h; + else if (!strcmp(cd.Name, "rot_s2" )) rot_mat[1] = h; + else if (!strcmp(cd.Name, "rot_s3" )) rot_mat[2] = h; + else if (!strcmp(cd.Name, "rot_s4" )) rot_mat[3] = h; + else if (!strcmp(cd.Name, "rot_d1" )) rot_mat[4] = h; + else if (!strcmp(cd.Name, "rot_d2" )) rot_mat[5] = h; + else if (!strcmp(cd.Name, "rot_d3" )) rot_mat[6] = h; + else if (!strcmp(cd.Name, "rot_d4" )) rot_mat[7] = h; + else if (!strcmp(cd.Name, "rot_f1" )) rot_mat[8] = h; + else if (!strcmp(cd.Name, "rot_f2" )) rot_mat[9] = h; + else if (!strcmp(cd.Name, "rot_f3" )) rot_mat[10] = h; + else if (!strcmp(cd.Name, "rot_f4" )) rot_mat[11] = h; + else if (!strcmp(cd.Name, "rot_vf1")) rot_mat[12] = h; + else if (!strcmp(cd.Name, "rot_vf2")) rot_mat[13] = h; + else if (!strcmp(cd.Name, "rot_vf3")) rot_mat[14] = h; + else if (!strcmp(cd.Name, "rot_vf4")) rot_mat[15] = h; + else if (!strcmp(cd.Name, "rot_uf1")) rot_mat[16] = h; + else if (!strcmp(cd.Name, "rot_uf2")) rot_mat[17] = h; + else if (!strcmp(cd.Name, "rot_uf3")) rot_mat[18] = h; + else if (!strcmp(cd.Name, "rot_uf4")) rot_mat[19] = h; + else if (!strcmp(cd.Name, "rot_rand1")) rot_mat[20] = h; + else if (!strcmp(cd.Name, "rot_rand2")) rot_mat[21] = h; + else if (!strcmp(cd.Name, "rot_rand3")) rot_mat[22] = h; + else if (!strcmp(cd.Name, "rot_rand4")) rot_mat[23] = h; + } + else if (cd.Class == D3DXPC_VECTOR) + { + if (!strcmp(cd.Name, "rand_frame")) rand_frame = h; + else if (!strcmp(cd.Name, "rand_preset")) rand_preset = h; + else if (!strncmp(cd.Name, "texsize_", 8)) + { + // remove "texsize_" prefix to find root file name. + wchar_t szRootName[MAX_PATH]; + if (!strncmp(cd.Name, "texsize_", 8)) + lstrcpyW(szRootName, AutoWide(&cd.Name[8])); + else + lstrcpyW(szRootName, AutoWide(cd.Name)); + + // check for request for random texture. + // it should be a previously-seen random index - just fetch/reuse the name. + if (!wcsncmp(L"rand", szRootName, 4) && + IsNumericChar(szRootName[4]) && + IsNumericChar(szRootName[5]) && + (szRootName[6]==0 || szRootName[6]==L'_') ) + { + int rand_slot = -1; + + // ditch filename prefix ("rand13_smalltiled", for example) + // and just go by the slot + if (szRootName[6]==L'_') + szRootName[6] = 0; + + swscanf(&szRootName[4], L"%d", &rand_slot); + if (rand_slot >= 0 && rand_slot <= 15) // otherwise, not a special filename - ignore it + if (RandTexName[rand_slot].GetLength() > 0) + lstrcpyW(szRootName, RandTexName[rand_slot].c_str()); + } + + // see if .tga or .jpg has already been loaded. + bool bTexFound = false; + int N = g_plugin.m_textures.size(); + for (int n=0; n= 0 && z < sizeof(const_handles)/sizeof(const_handles[0])) + const_handles[z] = h; + } + else if (cd.Name[0] == '_' && cd.Name[1] == 'q') + { + int z = cd.Name[2] - 'a'; + if (z >= 0 && z < sizeof(q_const_handles)/sizeof(q_const_handles[0])) + q_const_handles[z] = h; + } + } + } + } +} + +//---------------------------------------------------------------------- + +bool CPlugin::RecompileVShader(const char* szShadersText, VShaderInfo *si, int shaderType, bool bHardErrors) +{ + SafeRelease(si->ptr); + ZeroMemory(si, sizeof(VShaderInfo)); + + // LOAD SHADER + if (!LoadShaderFromMemory( szShadersText, "VS", "vs_1_1", &si->CT, (void**)&si->ptr, shaderType, bHardErrors && (GetScreenMode()==WINDOWED))) + return false; + + // Track down texture & float4 param bindings for this shader. + // Also loads any textures that need loaded. + si->params.CacheParams(si->CT, bHardErrors); + + return true; +} + +bool CPlugin::RecompilePShader(const char* szShadersText, PShaderInfo *si, int shaderType, bool bHardErrors, int PSVersion) +{ + assert(m_nMaxPSVersion > 0); + + SafeRelease(si->ptr); + ZeroMemory(si, sizeof(PShaderInfo)); + + // LOAD SHADER + // note: ps_1_4 required for dependent texture lookups. + // ps_2_0 required for tex2Dbias. + char ver[16]; + lstrcpy(ver, "ps_0_0"); + switch(PSVersion) { + case MD2_PS_NONE: + // Even though the PRESET doesn't use shaders, if MilkDrop is running where it CAN do shaders, + // we run all the old presets through (shader) emulation. + // This way, during a MilkDrop session, we are always calling either WarpedBlit() or WarpedBlit_NoPixelShaders(), + // and blending always works. + lstrcpy(ver, "ps_2_0"); + break; + case MD2_PS_2_0: lstrcpy(ver, "ps_2_0"); break; + case MD2_PS_2_X: lstrcpy(ver, "ps_2_a"); break; // we'll try ps_2_a first, LoadShaderFromMemory will try ps_2_b if compilation fails + case MD2_PS_3_0: lstrcpy(ver, "ps_3_0"); break; + case MD2_PS_4_0: lstrcpy(ver, "ps_4_0"); break; + default: assert(0); break; + } + + if (!LoadShaderFromMemory( szShadersText, "PS", ver, &si->CT, (void**)&si->ptr, shaderType, bHardErrors && (GetScreenMode()==WINDOWED))) + return false; + + // Track down texture & float4 param bindings for this shader. + // Also loads any textures that need loaded. + si->params.CacheParams(si->CT, bHardErrors); + + return true; +} + +bool CPlugin::LoadShaders(PShaderSet* sh, CState* pState, bool bTick) +{ + if (m_nMaxPSVersion <= 0) + return true; + + // load one of the pixel shaders + if (!sh->warp.ptr && pState->m_nWarpPSVersion > 0) + { + bool bOK = RecompilePShader(pState->m_szWarpShadersText, &sh->warp, SHADER_WARP, false, pState->m_nWarpPSVersion); + if (!bOK) + { + // switch to fallback shader + m_fallbackShaders_ps.warp.ptr->AddRef(); + m_fallbackShaders_ps.warp.CT->AddRef(); + memcpy(&sh->warp, &m_fallbackShaders_ps.warp, sizeof(PShaderInfo)); + // cancel any slow-preset-load + //m_nLoadingPreset = 1000; + } + + if (bTick) + return true; + } + + if (!sh->comp.ptr && pState->m_nCompPSVersion > 0) + { + bool bOK = RecompilePShader(pState->m_szCompShadersText, &sh->comp, SHADER_COMP, false, pState->m_nCompPSVersion); + if (!bOK) + { + // switch to fallback shader + m_fallbackShaders_ps.comp.ptr->AddRef(); + m_fallbackShaders_ps.comp.CT->AddRef(); + memcpy(&sh->comp, &m_fallbackShaders_ps.comp, sizeof(PShaderInfo)); + // cancel any slow-preset-load + //m_nLoadingPreset = 1000; + } + } + + return true; +} + +//---------------------------------------------------------------------- + +/* +bool CPlugin::LoadShaderFromFile( char* szFile, char* szFn, char* szProfile, + LPD3DXCONSTANTTABLE* ppConstTable, void** ppShader ) +{ + LPD3DXBUFFER pShaderByteCode; + char buf[32768]; + + if (D3D_OK != D3DXCompileShaderFromFile( + szFile, + NULL,//CONST D3DXMACRO* pDefines, + NULL,//LPD3DXINCLUDE pInclude, + szFn, + szProfile, + m_dwShaderFlags, + &pShaderByteCode, + &m_pShaderCompileErrors, + ppConstTable + )) + { + sprintf(buf, "error compiling shader:\n"); + lstrcat(buf, szFile); + if (m_pShaderCompileErrors->GetBufferSize() < sizeof(buf) - 256) + { + lstrcat(buf, "\n\n"); + lstrcat(buf, (const char *)(m_pShaderCompileErrors->GetBufferPointer())); + } + dumpmsg(buf); + MessageBox(GetPluginWindow(), buf, "MILKDROP ERROR", MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + HRESULT hr = 1; + if (szProfile[0] == 'v') + hr = GetDevice()->CreateVertexShader((const unsigned long *)(pShaderByteCode->GetBufferPointer()), (IDirect3DVertexShader9**)ppShader); + else if (szProfile[0] == 'p') + hr = GetDevice()->CreatePixelShader((const unsigned long *)(pShaderByteCode->GetBufferPointer()), (IDirect3DPixelShader9**)ppShader); + if (hr != D3D_OK) + { + sprintf(buf, "error creating shader:\n"); + lstrcat(buf, szFile); + dumpmsg(buf); + MessageBox(GetPluginWindow(), buf, "MILKDROP ERROR", MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + return false; + } + + pShaderByteCode->Release(); + + return true; +} +*/ + +bool CPlugin::LoadShaderFromMemory( const char* szOrigShaderText, char* szFn, char* szProfile, + LPD3DXCONSTANTTABLE* ppConstTable, void** ppShader, int shaderType, bool bHardErrors ) +{ + const char szWarpDefines[] = "#define rad _rad_ang.x\n" + "#define ang _rad_ang.y\n" + "#define uv _uv.xy\n" + "#define uv_orig _uv.zw\n"; + const char szCompDefines[] = "#define rad _rad_ang.x\n" + "#define ang _rad_ang.y\n" + "#define uv _uv.xy\n" + "#define uv_orig _uv.xy\n" //[sic] + "#define hue_shader _vDiffuse.xyz\n"; + const char szWarpParams[] = "float4 _vDiffuse : COLOR, float4 _uv : TEXCOORD0, float2 _rad_ang : TEXCOORD1, out float4 _return_value : COLOR0"; + const char szCompParams[] = "float4 _vDiffuse : COLOR, float2 _uv : TEXCOORD0, float2 _rad_ang : TEXCOORD1, out float4 _return_value : COLOR0"; + const char szFirstLine[] = " float3 ret = 0;"; + const char szLastLine[] = " _return_value = float4(ret.xyz, _vDiffuse.w);"; + + char szWhichShader[64]; + switch(shaderType) + { + case SHADER_WARP: lstrcpy(szWhichShader, "warp"); break; + case SHADER_COMP: lstrcpy(szWhichShader, "composite"); break; + case SHADER_BLUR: lstrcpy(szWhichShader, "blur"); break; + case SHADER_OTHER: lstrcpy(szWhichShader, "(other)"); break; + default: lstrcpy(szWhichShader, "(unknown)"); break; + } + + LPD3DXBUFFER pShaderByteCode; + wchar_t title[64]; + + *ppShader = NULL; + *ppConstTable = NULL; + + char szShaderText[128000]; + char temp[128000]; + int writePos = 0; + + // paste the universal #include + lstrcpy(&szShaderText[writePos], m_szShaderIncludeText); // first, paste in the contents of 'inputs.fx' before the actual shader text. Has 13's and 10's. + writePos += m_nShaderIncludeTextLen; + + // paste in any custom #defines for this shader type + if (shaderType == SHADER_WARP && szProfile[0]=='p') + { + lstrcpy(&szShaderText[writePos], szWarpDefines); + writePos += lstrlen(szWarpDefines); + } + else if (shaderType == SHADER_COMP && szProfile[0]=='p') + { + lstrcpy(&szShaderText[writePos], szCompDefines); + writePos += lstrlen(szCompDefines); + } + + // paste in the shader itself - converting LCC's to 13+10's. + // avoid lstrcpy b/c it might not handle the linefeed stuff...? + int shaderStartPos = writePos; + { + const char *s = szOrigShaderText; + char *d = &szShaderText[writePos]; + while (*s) + { + if (*s == LINEFEED_CONTROL_CHAR) + { + *d++ = 13; writePos++; + *d++ = 10; writePos++; + } + else + { + *d++ = *s; writePos++; + } + s++; + } + *d = 0; writePos++; + } + + // strip out all comments - but cheat a little - start at the shader test. + // (the include file was already stripped of comments) + StripComments(&szShaderText[shaderStartPos]); + + /*{ + char* p = szShaderText; + while (*p) + { + char buf[32]; + buf[0] = *p; + buf[1] = 0; + OutputDebugString(buf); + if ((rand() % 9) == 0) + Sleep(1); + p++; + } + OutputDebugString("\n"); + }/**/ + + //note: only do this stuff if type is WARP or COMP shader... not for blur, etc! + //FIXME - hints on the inputs / output / samplers etc. + // can go in the menu header, NOT the preset! =) + //then update presets + // -> be sure to update the presets on disk AND THE DEFAULT SHADERS (for loading MD1 presets) + //FIXME - then update auth. guide w/new examples, + // and a list of the invisible inputs (and one output) to each shader! + // warp: float2 uv, float2 uv_orig, rad, ang + // comp: float2 uv, rad, ang, float3 hue_shader + // test all this string code in Debug mode - make sure nothing bad is happening + + /* + 1. paste warp or comp #defines + 2. search for "void" + whitespace + szFn + [whitespace] + '(' + 3. insert params + 4. search for [whitespace] + ')'. + 5. search for final '}' (strrchr) + 6. back up one char, insert the Last Line, and add '}' and that's it. + */ + if ((shaderType == SHADER_WARP || shaderType == SHADER_COMP) && szProfile[0]=='p') + { + char* p = &szShaderText[shaderStartPos]; + + // seek to 'shader_body' and replace it with spaces + while (*p && strncmp(p, "shader_body", 11)) + p++; + if (p) + { + for (int i=0; i<11; i++) + *p++ = ' '; + } + + if (p) + { + // insert "void PS(...params...)\n" + lstrcpy(temp, p); + const char *params = (shaderType==SHADER_WARP) ? szWarpParams : szCompParams; + sprintf(p, "void %s( %s )\n", szFn, params); + p += lstrlen(p); + lstrcpy(p, temp); + + // find the starting curly brace + p = strchr(p, '{'); + if (p) + { + // skip over it + p++; + // then insert "float3 ret = 0;" + lstrcpy(temp, p); + sprintf(p, "%s\n", szFirstLine); + p += lstrlen(p); + lstrcpy(p, temp); + + // find the ending curly brace + p = strrchr(p, '}'); + // add the last line - " _return_value = float4(ret.xyz, _vDiffuse.w);" + if (p) + sprintf(p, " %s\n}\n", szLastLine); + } + } + + if (!p) + { + wchar_t temp[512]; + swprintf(temp, WASABI_API_LNGSTRINGW(IDS_ERROR_PARSING_X_X_SHADER), szProfile, szWhichShader); + dumpmsg(temp); + AddError(temp, 8.0f, ERR_PRESET, true); + return false; + } + } + + // now really try to compile it. + + bool failed=false; + int len = lstrlen(szShaderText); + if (D3D_OK != pCompileShader( + szShaderText, + len, + NULL,//CONST D3DXMACRO* pDefines, + NULL,//LPD3DXINCLUDE pInclude, + szFn, + szProfile, + m_dwShaderFlags, + &pShaderByteCode, + &m_pShaderCompileErrors, + ppConstTable + )) + { + failed=true; + } + // before we totally fail, let's try using ps_2_b instead of ps_2_a + if (failed && !strcmp(szProfile, "ps_2_a")) + { + SafeRelease(m_pShaderCompileErrors); + if (D3D_OK == pCompileShader(szShaderText, len, NULL, NULL, szFn, + "ps_2_b", m_dwShaderFlags, &pShaderByteCode, &m_pShaderCompileErrors, ppConstTable)) + { + failed=false; + } + } + + if (failed) + { + wchar_t temp[1024]; + swprintf(temp, WASABI_API_LNGSTRINGW(IDS_ERROR_COMPILING_X_X_SHADER), szProfile, szWhichShader); + if (m_pShaderCompileErrors && m_pShaderCompileErrors->GetBufferSize() < sizeof(temp) - 256) + { + lstrcatW(temp, L"\n\n"); + lstrcatW(temp, AutoWide((char*)m_pShaderCompileErrors->GetBufferPointer())); + } + SafeRelease(m_pShaderCompileErrors); + dumpmsg(temp); + if (bHardErrors) + MessageBoxW(GetPluginWindow(), temp, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + else { + AddError(temp, 8.0f, ERR_PRESET, true); + } + return false; + } + + HRESULT hr = 1; + if (szProfile[0] == 'v') + { + hr = GetDevice()->CreateVertexShader((const unsigned long *)(pShaderByteCode->GetBufferPointer()), (IDirect3DVertexShader9**)ppShader); + } + else if (szProfile[0] == 'p') + { + hr = GetDevice()->CreatePixelShader((const unsigned long *)(pShaderByteCode->GetBufferPointer()), (IDirect3DPixelShader9**)ppShader); + } + + if (hr != D3D_OK) + { + wchar_t temp[512]; + WASABI_API_LNGSTRINGW_BUF(IDS_ERROR_CREATING_SHADER,temp,sizeof(temp)); + dumpmsg(temp); + if (bHardErrors) + MessageBoxW(GetPluginWindow(), temp, WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR,title,64), MB_OK|MB_SETFOREGROUND|MB_TOPMOST ); + else { + AddError(temp, 6.0f, ERR_PRESET, true); + } + return false; + } + + pShaderByteCode->Release(); + + return true; +} + +//---------------------------------------------------------------------- + +void CPlugin::CleanUpMyDX9Stuff(int final_cleanup) +{ + // Clean up all your DX9 and D3DX textures, fonts, buffers, etc. here. + // EVERYTHING CREATED IN ALLOCATEMYDX9STUFF() SHOULD BE CLEANED UP HERE. + // The input parameter, 'final_cleanup', will be 0 if this is + // a routine cleanup (part of a window resize or switch between + // fullscr/windowed modes), or 1 if this is the final cleanup + // and the plugin is exiting. Note that even if it is a routine + // cleanup, *you still have to release ALL your DirectX stuff, + // because the DirectX device is being destroyed and recreated!* + // Also set all the pointers back to NULL; + // this is important because if we go to reallocate the DX9 + // stuff later, and something fails, then CleanUp will get called, + // but it will then be trying to clean up invalid pointers.) + // The SafeRelease() and SafeDelete() macros make your code prettier; + // they are defined here in utility.h as follows: + // #define SafeRelease(x) if (x) {x->Release(); x=NULL;} + // #define SafeDelete(x) if (x) {delete x; x=NULL;} + // IMPORTANT: + // This function ISN'T only called when the plugin exits! + // It is also called whenever the user toggles between fullscreen and + // windowed modes, or resizes the window. Basically, on these events, + // the base class calls CleanUpMyDX9Stuff before Reset()ing the DirectX + // device, and then calls AllocateMyDX9Stuff afterwards. + + + + // One funky thing here: if we're switching between fullscreen and windowed, + // or doing any other thing that causes all this stuff to get reloaded in a second, + // then if we were blending 2 presets, jump fully to the new preset. + // Otherwise the old preset wouldn't get all reloaded, and it app would crash + // when trying to use its stuff. + if (m_nLoadingPreset != 0) { + // finish up the pre-load & start the official blend + m_nLoadingPreset = 8; + LoadPresetTick(); + } + // just force this: + m_pState->m_bBlending = false; + + + + for (size_t i=0; iOnTextureEvict( m_textures[i].texptr ); + + SafeRelease(m_textures[i].texptr); + } + m_textures.clear(); + + // DON'T RELEASE blur textures - they were already released because they're in m_textures[]. + #if (NUM_BLUR_TEX>0) + for (i=0; iSetTexture(0, NULL); + GetDevice()->SetTexture(1, NULL); + }*/ + + SafeRelease(m_pSpriteVertDecl); + SafeRelease(m_pWfVertDecl); + SafeRelease(m_pMyVertDecl); + + m_shaders.comp.Clear(); + m_shaders.warp.Clear(); + m_OldShaders.comp.Clear(); + m_OldShaders.warp.Clear(); + m_NewShaders.comp.Clear(); + m_NewShaders.warp.Clear(); + m_fallbackShaders_vs.comp.Clear(); + m_fallbackShaders_ps.comp.Clear(); + m_fallbackShaders_vs.warp.Clear(); + m_fallbackShaders_ps.warp.Clear(); + m_BlurShaders[0].vs.Clear(); + m_BlurShaders[0].ps.Clear(); + m_BlurShaders[1].vs.Clear(); + m_BlurShaders[1].ps.Clear(); + /* + SafeRelease( m_shaders.comp.ptr ); + SafeRelease( m_shaders.warp.ptr ); + SafeRelease( m_OldShaders.comp.ptr ); + SafeRelease( m_OldShaders.warp.ptr ); + SafeRelease( m_NewShaders.comp.ptr ); + SafeRelease( m_NewShaders.warp.ptr ); + SafeRelease( m_fallbackShaders_vs.comp.ptr ); + SafeRelease( m_fallbackShaders_ps.comp.ptr ); + SafeRelease( m_fallbackShaders_vs.warp.ptr ); + SafeRelease( m_fallbackShaders_ps.warp.ptr ); + */ + SafeRelease( m_pShaderCompileErrors ); + //SafeRelease( m_pCompiledFragments ); + //SafeRelease( m_pFragmentLinker ); + + // 2. release stuff + SafeRelease(m_lpVS[0]); + SafeRelease(m_lpVS[1]); + SafeRelease(m_lpDDSTitle); + SafeRelease(m_d3dx_title_font_doublesize); + + // NOTE: THIS CODE IS IN THE RIGHT PLACE. + if (m_gdi_title_font_doublesize) + { + DeleteObject(m_gdi_title_font_doublesize); + m_gdi_title_font_doublesize = NULL; + } + + m_texmgr.Finish(); + + if (m_verts != NULL) + { + delete m_verts; + m_verts = NULL; + } + + if (m_verts_temp != NULL) + { + delete m_verts_temp; + m_verts_temp = NULL; + } + + if (m_vertinfo != NULL) + { + delete m_vertinfo; + m_vertinfo = NULL; + } + + if (m_indices_list != NULL) + { + delete m_indices_list; + m_indices_list = NULL; + } + + if (m_indices_strip != NULL) + { + delete m_indices_strip; + m_indices_strip = NULL; + } + + ClearErrors(); + + // This setting is closely tied to the modern skin "random" button. + // The "random" state should be preserved from session to session. + // It's pretty safe to do, because the Scroll Lock key is hard to + // accidentally click... :) + WritePrivateProfileIntW(m_bPresetLockedByUser,L"bPresetLockOnAtStartup", GetConfigIniFile(),L"settings"); +} + +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- + +void CPlugin::MyRenderFn(int redraw) +{ + EnterCriticalSection(&g_cs); + + // Render a frame of animation here. + // This function is called each frame just AFTER BeginScene(). + // For timing information, call 'GetTime()' and 'GetFps()'. + // The usual formula is like this (but doesn't have to be): + // 1. take care of timing/other paperwork/etc. for new frame + // 2. clear the background + // 3. get ready for 3D drawing + // 4. draw your 3D stuff + // 5. call PrepareFor2DDrawing() + // 6. draw your 2D stuff (overtop of your 3D scene) + // If the 'redraw' flag is 1, you should try to redraw + // the last frame; GetTime, GetFps, and GetFrame should + // all return the same values as they did on the last + // call to MyRenderFn(). Otherwise, the redraw flag will + // be zero, and you can draw a new frame. The flag is + // used to force the desktop to repaint itself when + // running in desktop mode and Winamp is paused or stopped. + + // 1. take care of timing/other paperwork/etc. for new frame + if (!redraw) + { + float dt = GetTime() - m_prev_time; + m_prev_time = GetTime(); // note: m_prev_time is not for general use! + m_bPresetLockedByCode = (m_UI_mode != UI_REGULAR); + if (m_bPresetLockedByUser || m_bPresetLockedByCode) + { + // to freeze time (at current preset time value) when menus are up or Scroll Lock is on: + //m_fPresetStartTime += dt; + //m_fNextPresetTime += dt; + // OR, to freeze time @ [preset] zero, so that when you exit menus, + // you don't run the risk of it changing the preset on you right away: + m_fPresetStartTime = GetTime(); + m_fNextPresetTime = -1.0f; // flags UpdateTime() to recompute this. + } + + //if (!m_bPresetListReady) + // UpdatePresetList(true);//UpdatePresetRatings(); // read in a few each frame, til they're all in + } + + // 2. check for lost or gained kb focus: + // (note: can't use wm_setfocus or wm_killfocus because they don't work w/embedwnd) + if (GetFrame()==0) + { + // NOTE: we skip this if we've already gotten a WM_COMMAND/ID_VIS_RANDOM message + // from the skin - if that happened, we're running windowed with a fancy + // skin with a 'rand' button. + + SetScrollLock(m_bPresetLockOnAtStartup, m_bPreventScollLockHandling); + + // make sure the 'random' button on the skin shows the right thing: + // NEVERMIND - if it's a fancy skin, it'll send us WM_COMMAND/ID_VIS_RANDOM + // and we'll match the skin's Random button state. + //SendMessage(GetWinampWindow(),WM_WA_IPC,m_bMilkdropScrollLockState, IPC_CB_VISRANDOM); + } + else + { + m_bHadFocus = m_bHasFocus; + + HWND winamp = GetWinampWindow(); + HWND plugin = GetPluginWindow(); + HWND focus = GetFocus(); + HWND cur = plugin; + + m_bHasFocus = false; + do + { + m_bHasFocus = (focus == cur); + if (m_bHasFocus) + break; + cur = GetParent(cur); + } + while (cur != NULL && cur != winamp); + + if (m_hTextWnd && focus==m_hTextWnd) + m_bHasFocus = 1; + + if (GetFocus()==NULL) + m_bHasFocus = 0; + ; + //HWND t1 = GetFocus(); + //HWND t2 = GetPluginWindow(); + //HWND t3 = GetParent(t2); + + if (m_bHadFocus==1 && m_bHasFocus==0) + { + //m_bMilkdropScrollLockState = GetKeyState(VK_SCROLL) & 1; + SetScrollLock(m_bOrigScrollLockState, m_bPreventScollLockHandling); + } + else if (m_bHadFocus==0 && m_bHasFocus==1) + { + m_bOrigScrollLockState = GetKeyState(VK_SCROLL) & 1; + SetScrollLock(m_bPresetLockedByUser, m_bPreventScollLockHandling); + } + } + + if (!redraw) + { + GetWinampSongTitle(GetWinampWindow(), m_szSongTitle, sizeof(m_szSongTitle)-1); + if (wcscmp(m_szSongTitle, m_szSongTitlePrev)) + { + lstrcpynW(m_szSongTitlePrev, m_szSongTitle, 512); + if (m_bSongTitleAnims) + LaunchSongTitleAnim(); + } + } + + // 2. Clear the background: + //DWORD clear_color = (m_fog_enabled) ? FOG_COLOR : 0xFF000000; + //GetDevice()->Clear(0, 0, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, clear_color, 1.0f, 0); + + // 5. switch to 2D drawing mode. 2D coord system: + // +--------+ Y=-1 + // | | + // | screen | Z=0: front of scene + // | | Z=1: back of scene + // +--------+ Y=1 + // X=-1 X=1 + PrepareFor2DDrawing(GetDevice()); + + if (!redraw) + DoCustomSoundAnalysis(); // emulates old pre-vms milkdrop sound analysis + + RenderFrame(redraw); // see milkdropfs.cpp + + /* + for (int i=0; i<10; i++) + { + RECT r; + r.top = GetHeight()*i/10; + r.left = 0; + r.right = GetWidth(); + r.bottom = r.top + GetFontHeight(DECORATIVE_FONT); + char buf[256]; + switch(i) + { + case 0: lstrcpy(buf, "this is a test"); break; + case 1: lstrcpy(buf, "argh"); break; + case 2: lstrcpy(buf, "!!"); break; + case 3: lstrcpy(buf, "TESTING FONTS"); break; + case 4: lstrcpy(buf, "rancid bear grease"); break; + case 5: lstrcpy(buf, "whoppers and ding dongs"); break; + case 6: lstrcpy(buf, "billy & joey"); break; + case 7: lstrcpy(buf, "."); break; + case 8: lstrcpy(buf, "---"); break; + case 9: lstrcpy(buf, "test"); break; + } + int t = (int)( 54 + 18*sin(i/10.0f*53.7f + 1) - 28*sin(i/10.0f*39.4f + 3) ); + if (((GetFrame() + i*107) % t) < t*8/9) + m_text.QueueText(GetFont(DECORATIVE_FONT), buf, r, 0, 0xFFFF00FF); + } + /**/ + + if (!redraw) + { + m_nFramesSinceResize++; + if (m_nLoadingPreset > 0) + { + LoadPresetTick(); + } + } + + LeaveCriticalSection(&g_cs); +} + +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- + +void CPlugin::DrawTooltip(wchar_t* str, int xR, int yB) +{ + // draws a string in the lower-right corner of the screen. + // note: ID3DXFont handles DT_RIGHT and DT_BOTTOM *very poorly*. + // it is best to calculate the size of the text first, + // then place it in the right spot. + // note: use DT_WORDBREAK instead of DT_WORD_ELLIPSES, otherwise certain fonts' + // calcrect (for the dark box) will be wrong. + + RECT r, r2; + SetRect(&r, 0, 0, xR-TEXT_MARGIN*2, 2048); + m_text.DrawTextW(GetFont(TOOLTIP_FONT), str, -1, &r, DT_CALCRECT, 0xFFFFFFFF, false); + r2.bottom = yB - TEXT_MARGIN; + r2.right = xR - TEXT_MARGIN; + r2.left = r2.right - (r.right-r.left); + r2.top = r2.bottom - (r.bottom-r.top); + RECT r3 = r2; r3.left -= 4; r3.top -= 2; r3.right += 2; r3.bottom += 2; + DrawDarkTranslucentBox(&r3); + m_text.DrawTextW(GetFont(TOOLTIP_FONT), str, -1, &r2, 0, 0xFFFFFFFF, false); +} + +#define MTO_UPPER_RIGHT 0 +#define MTO_UPPER_LEFT 1 +#define MTO_LOWER_RIGHT 2 +#define MTO_LOWER_LEFT 3 + +#define SelectFont(n) { \ + pFont = GetFont(n); \ + h = GetFontHeight(n); \ +} + +#define MyTextOut_BGCOLOR(str, corner, bDarkBox, boxColor) { \ + SetRect(&r, 0, 0, xR-xL, 2048); \ + m_text.DrawTextW(pFont, str, -1, &r, DT_NOPREFIX | ((corner == MTO_UPPER_RIGHT)?0:DT_SINGLELINE) | DT_WORD_ELLIPSIS | DT_CALCRECT | ((corner == MTO_UPPER_RIGHT) ? DT_RIGHT : 0), 0xFFFFFFFF, false, boxColor); \ + int w = r.right - r.left; \ + if (corner == MTO_UPPER_LEFT ) SetRect(&r, xL, *upper_left_corner_y, xL+w, *upper_left_corner_y + h); \ + else if (corner == MTO_UPPER_RIGHT) SetRect(&r, xR-w, *upper_right_corner_y, xR, *upper_right_corner_y + h); \ + else if (corner == MTO_LOWER_LEFT ) SetRect(&r, xL, *lower_left_corner_y - h, xL+w, *lower_left_corner_y); \ + else if (corner == MTO_LOWER_RIGHT) SetRect(&r, xR-w, *lower_right_corner_y - h, xR, *lower_right_corner_y); \ + m_text.DrawTextW(pFont, str, -1, &r, DT_NOPREFIX | ((corner == MTO_UPPER_RIGHT)?0:DT_SINGLELINE) | DT_WORD_ELLIPSIS | ((corner == MTO_UPPER_RIGHT) ? DT_RIGHT: 0), 0xFFFFFFFF, bDarkBox, boxColor); \ + if (corner == MTO_UPPER_LEFT ) *upper_left_corner_y += h; \ + else if (corner == MTO_UPPER_RIGHT) *upper_right_corner_y += h; \ + else if (corner == MTO_LOWER_LEFT ) *lower_left_corner_y -= h; \ + else if (corner == MTO_LOWER_RIGHT) *lower_right_corner_y -= h; \ +} + +#define MyTextOut(str, corner, bDarkBox) MyTextOut_BGCOLOR(str, corner, bDarkBox, 0xFF000000) + +#define MyTextOut_Shadow(str, corner) { \ + /* calc rect size */ \ + SetRect(&r, 0, 0, xR-xL, 2048); \ + m_text.DrawTextW(pFont, (wchar_t*)str, -1, &r, DT_NOPREFIX | DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_CALCRECT, 0xFFFFFFFF, false, 0xFF000000); \ + int w = r.right - r.left; \ + /* first the shadow */ \ + if (corner == MTO_UPPER_LEFT ) SetRect(&r, xL, *upper_left_corner_y, xL+w, *upper_left_corner_y + h); \ + else if (corner == MTO_UPPER_RIGHT) SetRect(&r, xR-w, *upper_right_corner_y, xR, *upper_right_corner_y + h); \ + else if (corner == MTO_LOWER_LEFT ) SetRect(&r, xL, *lower_left_corner_y - h, xL+w, *lower_left_corner_y); \ + else if (corner == MTO_LOWER_RIGHT) SetRect(&r, xR-w, *lower_right_corner_y - h, xR, *lower_right_corner_y); \ + r.top += 1; r.left += 1; \ + m_text.DrawTextW(pFont, (wchar_t*)str, -1, &r, DT_NOPREFIX | DT_SINGLELINE | DT_WORD_ELLIPSIS, 0xFF000000, false, 0xFF000000); \ + /* now draw real text */ \ + r.top -= 1; r.left -= 1; \ + m_text.DrawTextW(pFont, (wchar_t*)str, -1, &r, DT_NOPREFIX | DT_SINGLELINE | DT_WORD_ELLIPSIS, 0xFFFFFFFF, false, 0xFF000000); \ + if (corner == MTO_UPPER_LEFT ) *upper_left_corner_y += h; \ + else if (corner == MTO_UPPER_RIGHT) *upper_right_corner_y += h; \ + else if (corner == MTO_LOWER_LEFT ) *lower_left_corner_y -= h; \ + else if (corner == MTO_LOWER_RIGHT) *lower_right_corner_y -= h; \ +} + +void CPlugin::OnAltK() +{ + AddError(WASABI_API_LNGSTRINGW(IDS_PLEASE_EXIT_VIS_BEFORE_RUNNING_CONFIG_PANEL), 3.0f, ERR_NOTIFY, true); +} + +void CPlugin::AddError(wchar_t* szMsg, float fDuration, int category, bool bBold) +{ + if (category == ERR_NOTIFY) + ClearErrors(category); + + assert(category != ERR_ALL); + ErrorMsg x; + x.msg = szMsg; + x.birthTime = GetTime(); + x.expireTime = GetTime() + fDuration; + x.category = category; + x.bBold = bBold; + m_errors.push_back(x); +} + +void CPlugin::ClearErrors(int category) // 0=all categories +{ + int N = m_errors.size(); + for (int i=0; im_szDesc : m_pState->m_szDesc); + MyTextOut_Shadow(buf, MTO_UPPER_RIGHT); + } + + // b) preset rating + if (m_bShowRating || GetTime() < m_fShowRatingUntilThisTime) + { + // see also: SetCurrentPresetRating() in milkdrop.cpp + SelectFont(DECORATIVE_FONT); + swprintf(buf, L" %s: %d ", WASABI_API_LNGSTRINGW(IDS_RATING), (int)m_pState->m_fRating); + if (!m_bEnableRating) lstrcatW(buf, WASABI_API_LNGSTRINGW(IDS_DISABLED)); + MyTextOut_Shadow(buf, MTO_UPPER_RIGHT); + } + + // c) fps display + if (m_bShowFPS) + { + SelectFont(DECORATIVE_FONT); + swprintf(buf, L"%s: %4.2f ", WASABI_API_LNGSTRINGW(IDS_FPS), GetFps()); // leave extra space @ end, so italicized fonts don't get clipped + MyTextOut_Shadow(buf, MTO_UPPER_RIGHT); + } + + // d) debug information + if (m_bShowDebugInfo) + { + SelectFont(SIMPLE_FONT); + swprintf(buf, L" %s: %6.4f ", WASABI_API_LNGSTRINGW(IDS_PF_MONITOR), (float)(*m_pState->var_pf_monitor)); + MyTextOut_Shadow(buf, MTO_UPPER_RIGHT); + } + + // NOTE: custom timed msg comes at the end!! + } + + // 2. render text in lower-right corner + { + // waitstring tooltip: + if (m_waitstring.bActive && m_bShowMenuToolTips && m_waitstring.szToolTip[0]) + { + DrawTooltip(m_waitstring.szToolTip, xR, *lower_right_corner_y); + } + } + + // 3. render text in lower-left corner + { + wchar_t buf2[512] = {0}; + wchar_t buf3[512+1] = {0}; // add two extra spaces to end, so italicized fonts don't get clipped + + // render song title in lower-left corner: + if (m_bShowSongTitle) + { + wchar_t buf4[512] = {0}; + SelectFont(DECORATIVE_FONT); + GetWinampSongTitle(GetWinampWindow(), buf4, sizeof(buf4)); // defined in utility.h/cpp + MyTextOut_Shadow(buf4, MTO_LOWER_LEFT); + } + + // render song time & len above that: + if (m_bShowSongTime || m_bShowSongLen) + { + GetWinampSongPosAsText(GetWinampWindow(), buf); // defined in utility.h/cpp + GetWinampSongLenAsText(GetWinampWindow(), buf2); // defined in utility.h/cpp + if (m_bShowSongTime && m_bShowSongLen) + { + // only show playing position and track length if it is playing (buffer is valid) + if(buf[0]) + swprintf(buf3, L"%s / %s ", buf, buf2); + else + lstrcpynW(buf3, buf2, 512); + } + else if (m_bShowSongTime) + lstrcpynW(buf3, buf, 512); + else + lstrcpynW(buf3, buf2, 512); + + SelectFont(DECORATIVE_FONT); + MyTextOut_Shadow(buf3, MTO_LOWER_LEFT); + } + } + + // 4. render text in upper-left corner + { + wchar_t buf[64000] = {0}; // must fit the longest strings (code strings are 32768 chars) + // AND leave extra space for &->&&, and [,[,& insertion + char bufA[64000] = {0}; + + SelectFont(SIMPLE_FONT); + + // stuff for loading presets, menus, etc: + + if (m_waitstring.bActive) + { + // 1. draw the prompt string + MyTextOut(m_waitstring.szPrompt, MTO_UPPER_LEFT, true); + + // extra instructions: + bool bIsWarp = m_waitstring.bDisplayAsCode && (m_pCurMenu == &m_menuPreset) && !wcscmp(m_menuPreset.GetCurItem()->m_szName, L"[ edit warp shader ]"); + bool bIsComp = m_waitstring.bDisplayAsCode && (m_pCurMenu == &m_menuPreset) && !wcscmp(m_menuPreset.GetCurItem()->m_szName, L"[ edit composite shader ]"); + if (bIsWarp || bIsComp) + { + if (m_bShowShaderHelp) { + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESS_F9_TO_HIDE_SHADER_QREF), MTO_UPPER_LEFT, true); + } + else { + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESS_F9_TO_SHOW_SHADER_QREF), MTO_UPPER_LEFT, true); + } + *upper_left_corner_y += h*2/3; + + if (m_bShowShaderHelp) + { + // draw dark box - based on longest line & # lines... + SetRect(&r, 0, 0, 2048, 2048); + m_text.DrawTextW(pFont, WASABI_API_LNGSTRINGW(IDS_STRING615), -1, &r, DT_NOPREFIX | DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_CALCRECT, 0xFFFFFFFF, false, 0xFF000000); + RECT darkbox; + SetRect(&darkbox, xL, *upper_left_corner_y-2, xL+r.right-r.left, *upper_left_corner_y + (r.bottom-r.top)*13 + 2); + DrawDarkTranslucentBox(&darkbox); + + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING616), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING617), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING618), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING619), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING620), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING621), MTO_UPPER_LEFT, false); + if (bIsWarp) + { + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING622), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING623), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING624), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING625), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING626), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING627), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING628), MTO_UPPER_LEFT, false); + } + else if (bIsComp) + { + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING629), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING630), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING631), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING632), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING633), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING634), MTO_UPPER_LEFT, false); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_STRING635), MTO_UPPER_LEFT, false); + } + *upper_left_corner_y += h*2/3; + } + } + else if (m_UI_mode == UI_SAVEAS && (m_bWarpShaderLock || m_bCompShaderLock)) + { + wchar_t buf[256] = {0}; + int shader_msg_id = IDS_COMPOSITE_SHADER_LOCKED; + if (m_bWarpShaderLock && m_bCompShaderLock) + shader_msg_id = IDS_WARP_AND_COMPOSITE_SHADERS_LOCKED; + else if (m_bWarpShaderLock && !m_bCompShaderLock) + shader_msg_id = IDS_WARP_SHADER_LOCKED; + else + shader_msg_id = IDS_COMPOSITE_SHADER_LOCKED; + + WASABI_API_LNGSTRINGW_BUF(shader_msg_id, buf, 256); + MyTextOut_BGCOLOR(buf, MTO_UPPER_LEFT, true, 0xFF000000); + *upper_left_corner_y += h*2/3; + } + else + *upper_left_corner_y += h*2/3; + + + // 2. reformat the waitstring text for display + int bBrackets = m_waitstring.nSelAnchorPos != -1 && m_waitstring.nSelAnchorPos != m_waitstring.nCursorPos; + int bCursorBlink = ( !bBrackets && + ((int)(GetTime()*270.0f) % 100 > 50) + //((GetFrame() % 3) >= 2) + ); + + lstrcpyW(buf, m_waitstring.szText); + lstrcpyA(bufA, (char*)m_waitstring.szText); + + int temp_cursor_pos = m_waitstring.nCursorPos; + int temp_anchor_pos = m_waitstring.nSelAnchorPos; + + if (bBrackets) + { + if (m_waitstring.bDisplayAsCode) + { + // insert [] around the selection + int start = (temp_cursor_pos < temp_anchor_pos) ? temp_cursor_pos : temp_anchor_pos; + int end = (temp_cursor_pos > temp_anchor_pos) ? temp_cursor_pos - 1 : temp_anchor_pos - 1; + int len = lstrlenA(bufA); + int i; + + for (i=len; i>end; i--) + bufA[i+1] = bufA[i]; + bufA[end+1] = ']'; + len++; + + for (i=len; i>=start; i--) + bufA[i+1] = bufA[i]; + bufA[start] = '['; + len++; + } + else + { + // insert [] around the selection + int start = (temp_cursor_pos < temp_anchor_pos) ? temp_cursor_pos : temp_anchor_pos; + int end = (temp_cursor_pos > temp_anchor_pos) ? temp_cursor_pos - 1 : temp_anchor_pos - 1; + int len = lstrlenW(buf); + int i; + + for (i=len; i>end; i--) + buf[i+1] = buf[i]; + buf[end+1] = L']'; + len++; + + for (i=len; i>=start; i--) + buf[i+1] = buf[i]; + buf[start] = L'['; + len++; + } + } + else + { + // underline the current cursor position by rapidly toggling the character with an underscore + if (m_waitstring.bDisplayAsCode) + { + if (bCursorBlink) + { + if (bufA[temp_cursor_pos] == 0) + { + bufA[temp_cursor_pos] = '_'; + bufA[temp_cursor_pos+1] = 0; + } + else if (bufA[temp_cursor_pos] == LINEFEED_CONTROL_CHAR) + { + for (int i=strlen(bufA); i>=temp_cursor_pos; i--) + bufA[i+1] = bufA[i]; + bufA[temp_cursor_pos] = '_'; + } + else if (bufA[temp_cursor_pos] == '_') + bufA[temp_cursor_pos] = ' '; + else // it's a space or symbol or alphanumeric. + bufA[temp_cursor_pos] = '_'; + } + else + { + if (bufA[temp_cursor_pos] == 0) + { + bufA[temp_cursor_pos] = ' '; + bufA[temp_cursor_pos+1] = 0; + } + else if (bufA[temp_cursor_pos] == LINEFEED_CONTROL_CHAR) + { + for (int i=strlen(bufA); i>=temp_cursor_pos; i--) + bufA[i+1] = bufA[i]; + bufA[temp_cursor_pos] = ' '; + } + //else if (buf[temp_cursor_pos] == '_') + // do nothing + //else // it's a space or symbol or alphanumeric. + // do nothing + } + } + else + { + if (bCursorBlink) + { + if (buf[temp_cursor_pos] == 0) + { + buf[temp_cursor_pos] = L'_'; + buf[temp_cursor_pos+1] = 0; + } + else if (buf[temp_cursor_pos] == LINEFEED_CONTROL_CHAR) + { + for (int i=wcslen(buf); i>=temp_cursor_pos; i--) + buf[i+1] = buf[i]; + buf[temp_cursor_pos] = L'_'; + } + else if (buf[temp_cursor_pos] == L'_') + buf[temp_cursor_pos] = L' '; + else // it's a space or symbol or alphanumeric. + buf[temp_cursor_pos] = L'_'; + } + else + { + if (buf[temp_cursor_pos] == 0) + { + buf[temp_cursor_pos] = L' '; + buf[temp_cursor_pos+1] = 0; + } + else if (buf[temp_cursor_pos] == LINEFEED_CONTROL_CHAR) + { + for (int i=wcslen(buf); i>=temp_cursor_pos; i--) + buf[i+1] = buf[i]; + buf[temp_cursor_pos] = L' '; + } + //else if (buf[temp_cursor_pos] == '_') + // do nothing + //else // it's a space or symbol or alphanumeric. + // do nothing + } + } + } + + RECT rect = {0}; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + rect.top += PLAYLIST_INNER_MARGIN; + rect.left += PLAYLIST_INNER_MARGIN; + rect.right -= PLAYLIST_INNER_MARGIN; + rect.bottom -= PLAYLIST_INNER_MARGIN; + + // then draw the edit string + if (m_waitstring.bDisplayAsCode) + { + char buf2[8192] = {0}; + int top_of_page_pos = 0; + + // compute top_of_page_pos so that the line the cursor is on will show. + // also compute dims of the black rectangle while we're at it. + { + int start = 0; + int pos = 0; + int ypixels = 0; + int page = 1; + int exit_on_next_page = 0; + + RECT box = rect; + box.right = box.left; + box.bottom = box.top; + + while (bufA[pos] != 0) // for each line of text... (note that it might wrap) + { + start = pos; + while (bufA[pos] != LINEFEED_CONTROL_CHAR && bufA[pos] != 0) + pos++; + + char ch = bufA[pos]; + bufA[pos] = 0; + sprintf(buf2, " %sX", &bufA[start]); // put a final 'X' instead of ' ' b/c CALCRECT returns w==0 if string is entirely whitespace! + RECT r2 = rect; + r2.bottom = 4096; + m_text.DrawTextA(GetFont(SIMPLE_FONT), buf2, -1, &r2, DT_CALCRECT /*| DT_WORDBREAK*/, 0xFFFFFFFF, false); + int h = r2.bottom-r2.top; + ypixels += h; + bufA[pos] = ch; + + if (start > m_waitstring.nCursorPos) // make sure 'box' gets updated for each line on this page + exit_on_next_page = 1; + + if (ypixels > rect.bottom-rect.top) // this line belongs on the next page + { + if (exit_on_next_page) + { + bufA[start] = 0; // so text stops where the box stops, when we draw the text + break; + } + + ypixels = h; + top_of_page_pos = start; + page++; + + box = rect; + box.right = box.left; + box.bottom = box.top; + } + box.bottom += h; + box.right = max(box.right, box.left + r2.right-r2.left); + + if (bufA[pos]==0) + break; + pos++; + } + + // use r2 to draw a dark box: + box.top -= PLAYLIST_INNER_MARGIN; + box.left -= PLAYLIST_INNER_MARGIN; + box.right += PLAYLIST_INNER_MARGIN; + box.bottom += PLAYLIST_INNER_MARGIN; + DrawDarkTranslucentBox(&box); + *upper_left_corner_y += box.bottom - box.top + PLAYLIST_INNER_MARGIN*3; + swprintf(m_waitstring.szToolTip, WASABI_API_LNGSTRINGW(IDS_PAGE_X), page); + } + + // display multiline (replace all character 13's with a CR) + { + int start = top_of_page_pos; + int pos = top_of_page_pos; + + while (bufA[pos] != 0) + { + while (bufA[pos] != LINEFEED_CONTROL_CHAR && bufA[pos] != 0) + pos++; + + char ch = bufA[pos]; + bufA[pos] = 0; + sprintf(buf2, " %s ", &bufA[start]); + DWORD color = MENU_COLOR; + if (m_waitstring.nCursorPos >= start && m_waitstring.nCursorPos <= pos) + color = MENU_HILITE_COLOR; + rect.top += m_text.DrawTextA(GetFont(SIMPLE_FONT), buf2, -1, &rect, 0/*DT_WORDBREAK*/, color, false); + bufA[pos] = ch; + + if (rect.top > rect.bottom) + break; + + if (bufA[pos] != 0) pos++; + start = pos; + } + } + // note: *upper_left_corner_y is updated above, when the dark box is drawn. + } + else + { + wchar_t buf2[8192] = {0}; + + // display on one line + RECT box = rect; + box.bottom = 4096; + swprintf(buf2, L" %sX", buf); // put a final 'X' instead of ' ' b/c CALCRECT returns w==0 if string is entirely whitespace! + m_text.DrawTextW(GetFont(SIMPLE_FONT), buf2, -1, &box, DT_CALCRECT, MENU_COLOR, false ); + + // use r2 to draw a dark box: + box.top -= PLAYLIST_INNER_MARGIN; + box.left -= PLAYLIST_INNER_MARGIN; + box.right += PLAYLIST_INNER_MARGIN; + box.bottom += PLAYLIST_INNER_MARGIN; + DrawDarkTranslucentBox(&box); + *upper_left_corner_y += box.bottom - box.top + PLAYLIST_INNER_MARGIN*3; + + swprintf(buf2, L" %s ", buf); + m_text.DrawTextW(GetFont(SIMPLE_FONT), buf2, -1, &rect, 0, MENU_COLOR, false ); + } + } + else if (m_UI_mode == UI_MENU) + { + assert(m_pCurMenu); + SetRect(&r, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + + RECT darkbox = {0}; + m_pCurMenu->DrawMenu(r, xR, *lower_right_corner_y, 1, &darkbox); + *upper_left_corner_y += darkbox.bottom - darkbox.top + PLAYLIST_INNER_MARGIN*3; + + darkbox.right += PLAYLIST_INNER_MARGIN*2; + darkbox.bottom += PLAYLIST_INNER_MARGIN*2; + DrawDarkTranslucentBox(&darkbox); + + r.top += PLAYLIST_INNER_MARGIN; + r.left += PLAYLIST_INNER_MARGIN; + r.right += PLAYLIST_INNER_MARGIN; + r.bottom += PLAYLIST_INNER_MARGIN; + m_pCurMenu->DrawMenu(r, xR, *lower_right_corner_y); + } + else if (m_UI_mode == UI_UPGRADE_PIXEL_SHADER) + { + RECT rect = {0}; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + + if (m_pState->m_nWarpPSVersion >= m_nMaxPSVersion && + m_pState->m_nCompPSVersion >= m_nMaxPSVersion) + { + assert(m_pState->m_nMaxPSVersion == m_nMaxPSVersion); + wchar_t buf[1024] = {0}; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PRESET_USES_HIGHEST_PIXEL_SHADER_VERSION), m_nMaxPSVersion); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), buf, -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESS_ESC_TO_RETURN), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + } + else + { + if (m_pState->m_nMinPSVersion != m_pState->m_nMaxPSVersion) + { + switch(m_pState->m_nMinPSVersion) + { + case MD2_PS_NONE: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_HAS_MIXED_VERSIONS_OF_SHADERS), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_SHADERS_TO_USE_PS2), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_2_0: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_HAS_MIXED_VERSIONS_OF_SHADERS), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_SHADERS_TO_USE_PS2X), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_2_X: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_HAS_MIXED_VERSIONS_OF_SHADERS), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_SHADERS_TO_USE_PS3), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_3_0: + assert(false); + break; + default: + assert(0); + break; + } + } + else + { + switch(m_pState->m_nMinPSVersion) + { + case MD2_PS_NONE: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_DOES_NOT_USE_PIXEL_SHADERS), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_TO_USE_PS2), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_2_0: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_CURRENTLY_USES_PS2), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_TO_USE_PS2X), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_2_X: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_CURRENTLY_USES_PS2X), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_TO_USE_PS3), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + case MD2_PS_3_0: + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_PRESET_CURRENTLY_USES_PS3), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_UPGRADE_TO_USE_PS4), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + break; + default: + assert(0); + break; + } + } + } + *upper_left_corner_y = rect.top; + } + else if (m_UI_mode == UI_LOAD_DEL) + { + RECT rect; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_ARE_YOU_SURE_YOU_WANT_TO_DELETE_PRESET), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PRESET_TO_DELETE), m_presets[m_nPresetListCurPos].szFilename.c_str()); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), buf, -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + *upper_left_corner_y = rect.top; + } + else if (m_UI_mode == UI_SAVE_OVERWRITE) + { + RECT rect; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_FILE_ALREADY_EXISTS_OVERWRITE_IT), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_FILE_IN_QUESTION_X_MILK), m_waitstring.szText); + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), buf, -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, MENU_COLOR, true); + if (m_bWarpShaderLock) + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_DO_NOT_FORGET_WARP_SHADER_WAS_LOCKED), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, 0xFFFFFFFF, true, 0xFFCC0000); + if (m_bCompShaderLock) + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), WASABI_API_LNGSTRINGW(IDS_WARNING_DO_NOT_FORGET_COMPOSITE_SHADER_WAS_LOCKED), -1, &rect, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX, 0xFFFFFFFF, true, 0xFFCC0000); + *upper_left_corner_y = rect.top; + } + else if (m_UI_mode == UI_MASHUP) + { + if (m_nPresets-m_nDirs == 0) + { + // note: this error message is repeated in milkdrop.cpp in LoadRandomPreset() + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_NO_PRESET_FILE_FOUND_IN_X_MILK), m_szPresetDir); + AddError(buf, 6.0f, ERR_MISC, true); + m_UI_mode = UI_REGULAR; + } + else + { + UpdatePresetList(); // make sure list is completely ready + + // quick checks + for (int mash=0; mash= m_nPresets) + m_nMashPreset[mash] = m_nPresets-1; + + // apply changes, if it's time + if (m_nLastMashChangeFrame[mash]+MASH_APPLY_DELAY_FRAMES+1 == GetFrame()) + { + // import just a fragment of a preset!! + DWORD ApplyFlags = 0; + switch(mash) + { + case 0: ApplyFlags = STATE_GENERAL; break; + case 1: ApplyFlags = STATE_MOTION; break; + case 2: ApplyFlags = STATE_WAVE; break; + case 3: ApplyFlags = STATE_WARP; break; + case 4: ApplyFlags = STATE_COMP; break; + } + + wchar_t szFile[MAX_PATH]; + swprintf(szFile, L"%s%s", m_szPresetDir, m_presets[m_nMashPreset[mash]].szFilename.c_str()); + + m_pState->Import(szFile, GetTime(), m_pState, ApplyFlags); + + if (ApplyFlags & STATE_WARP) + SafeRelease( m_shaders.warp.ptr ); + if (ApplyFlags & STATE_COMP) + SafeRelease( m_shaders.comp.ptr ); + LoadShaders(&m_shaders, m_pState, false); + + SetMenusForPresetVersion( m_pState->m_nWarpPSVersion, m_pState->m_nCompPSVersion ); + } + } + + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESET_MASH_UP_TEXT1), MTO_UPPER_LEFT, true); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESET_MASH_UP_TEXT2), MTO_UPPER_LEFT, true); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESET_MASH_UP_TEXT3), MTO_UPPER_LEFT, true); + MyTextOut(WASABI_API_LNGSTRINGW(IDS_PRESET_MASH_UP_TEXT4), MTO_UPPER_LEFT, true); + *upper_left_corner_y += PLAYLIST_INNER_MARGIN; + + RECT rect; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + rect.top += PLAYLIST_INNER_MARGIN; + rect.left += PLAYLIST_INNER_MARGIN; + rect.right -= PLAYLIST_INNER_MARGIN; + rect.bottom -= PLAYLIST_INNER_MARGIN; + + int lines_available = (rect.bottom - rect.top - PLAYLIST_INNER_MARGIN*2) / GetFontHeight(SIMPLE_FONT); + lines_available -= MASH_SLOTS; + + if (lines_available < 10) + { + // force it + rect.bottom = rect.top + GetFontHeight(SIMPLE_FONT)*10 + 1; + lines_available = 10; + } + if (lines_available > 16) + lines_available = 16; + + if (m_bUserPagedDown) + { + m_nMashPreset[m_nMashSlot] += lines_available; + if (m_nMashPreset[m_nMashSlot] >= m_nPresets) + m_nMashPreset[m_nMashSlot] = m_nPresets - 1; + m_bUserPagedDown = false; + } + if (m_bUserPagedUp) + { + m_nMashPreset[m_nMashSlot] -= lines_available; + if (m_nMashPreset[m_nMashSlot] < m_nDirs) + m_nMashPreset[m_nMashSlot] = m_nDirs; + m_bUserPagedUp = false; + } + + int i; + int first_line = m_nMashPreset[m_nMashSlot] - (m_nMashPreset[m_nMashSlot] % lines_available); + int last_line = first_line + lines_available; + wchar_t str[512], str2[512]; + + if (last_line > m_nPresets) + last_line = m_nPresets; + + // tooltip: + if (m_bShowMenuToolTips) + { + wchar_t buf[256]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PAGE_X_OF_X), m_nMashPreset[m_nMashSlot]/lines_available+1, (m_nPresets+lines_available-1)/lines_available); + DrawTooltip(buf, xR, *lower_right_corner_y); + } + + RECT orig_rect = rect; + + RECT box; + box.top = rect.top; + box.left = rect.left; + box.right = rect.left; + box.bottom = rect.top; + + int mashNames[MASH_SLOTS] = { IDS_MASHUP_GENERAL_POSTPROC, + IDS_MASHUP_MOTION_EQUATIONS, + IDS_MASHUP_WAVEFORMS_SHAPES, + IDS_MASHUP_WARP_SHADER, + IDS_MASHUP_COMP_SHADER, + }; + + + for (int pass=0; pass<2; pass++) + { + box = orig_rect; + int w = 0; + int h = 0; + + int start_y = orig_rect.top; + for (mash=0; mashBegin(); + + rect = orig_rect; + for (i=first_line; iEnd(); + + if (pass==0) // calculating dark box + { + box.top -= PLAYLIST_INNER_MARGIN; + box.left -= PLAYLIST_INNER_MARGIN; + box.right += PLAYLIST_INNER_MARGIN; + box.bottom += PLAYLIST_INNER_MARGIN; + DrawDarkTranslucentBox(&box); + *upper_left_corner_y = box.bottom + PLAYLIST_INNER_MARGIN; + } + else + orig_rect.top += box.bottom-box.top; + } + + orig_rect.top += PLAYLIST_INNER_MARGIN; + + } + } + else if (m_UI_mode == UI_LOAD) + { + if (m_nPresets == 0) + { + // note: this error message is repeated in milkdrop.cpp in LoadRandomPreset() + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_NO_PRESET_FILE_FOUND_IN_X_MILK), m_szPresetDir); + AddError(buf, 6.0f, ERR_MISC, true); + m_UI_mode = UI_REGULAR; + } + else + { + MyTextOut(WASABI_API_LNGSTRINGW(IDS_LOAD_WHICH_PRESET_PLUS_COMMANDS), MTO_UPPER_LEFT, true); + + wchar_t buf[MAX_PATH+64]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_DIRECTORY_OF_X), m_szPresetDir); + MyTextOut(buf, MTO_UPPER_LEFT, true); + + *upper_left_corner_y += h/2; + + RECT rect; + SetRect(&rect, xL, *upper_left_corner_y, xR, *lower_left_corner_y); + rect.top += PLAYLIST_INNER_MARGIN; + rect.left += PLAYLIST_INNER_MARGIN; + rect.right -= PLAYLIST_INNER_MARGIN; + rect.bottom -= PLAYLIST_INNER_MARGIN; + + int lines_available = (rect.bottom - rect.top - PLAYLIST_INNER_MARGIN*2) / GetFontHeight(SIMPLE_FONT); + + if (lines_available < 1) + { + // force it + rect.bottom = rect.top + GetFontHeight(SIMPLE_FONT) + 1; + lines_available = 1; + } + if (lines_available > MAX_PRESETS_PER_PAGE) + lines_available = MAX_PRESETS_PER_PAGE; + + if (m_bUserPagedDown) + { + m_nPresetListCurPos += lines_available; + if (m_nPresetListCurPos >= m_nPresets) + m_nPresetListCurPos = m_nPresets - 1; + + // remember this preset's name so the next time they hit 'L' it jumps straight to it + //lstrcpy(m_szLastPresetSelected, m_presets[m_nPresetListCurPos].szFilename.c_str()); + + m_bUserPagedDown = false; + } + + if (m_bUserPagedUp) + { + m_nPresetListCurPos -= lines_available; + if (m_nPresetListCurPos < 0) + m_nPresetListCurPos = 0; + + // remember this preset's name so the next time they hit 'L' it jumps straight to it + //lstrcpy(m_szLastPresetSelected, m_presets[m_nPresetListCurPos].szFilename.c_str()); + + m_bUserPagedUp = false; + } + + int i; + int first_line = m_nPresetListCurPos - (m_nPresetListCurPos % lines_available); + int last_line = first_line + lines_available; + wchar_t str[512], str2[512]; + + if (last_line > m_nPresets) + last_line = m_nPresets; + + // tooltip: + if (m_bShowMenuToolTips) + { + wchar_t buf[256]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PAGE_X_OF_X), m_nPresetListCurPos/lines_available+1, (m_nPresets+lines_available-1)/lines_available); + DrawTooltip(buf, xR, *lower_right_corner_y); + } + + RECT orig_rect = rect; + + RECT box; + box.top = rect.top; + box.left = rect.left; + box.right = rect.left; + box.bottom = rect.top; + + for (int pass=0; pass<2; pass++) + { + //if (pass==1) + // GetFont(SIMPLE_FONT)->Begin(); + + rect = orig_rect; + for (i=first_line; im_szDesc, str)==0) + // bIsRunning = true; + } + + if (bIsRunning && m_bPresetLockedByUser) + lstrcatW(str2, WASABI_API_LNGSTRINGW(IDS_LOCKED)); + + DWORD color = bIsDir ? DIR_COLOR : PLAYLIST_COLOR_NORMAL; + if (bIsRunning) + color = bIsSelected ? PLAYLIST_COLOR_BOTH : PLAYLIST_COLOR_PLAYING_TRACK; + else if (bIsSelected) + color = PLAYLIST_COLOR_HILITE_TRACK; + + RECT r2 = rect; + rect.top += m_text.DrawTextW(GetFont(SIMPLE_FONT), str2, -1, &r2, DT_SINGLELINE | DT_END_ELLIPSIS | DT_NOPREFIX | (pass==0 ? DT_CALCRECT : 0), color, false); + + if (pass==0) // calculating dark box + { + box.right = max(box.right, box.left + r2.right-r2.left); + box.bottom += r2.bottom-r2.top; + } + } + + //if (pass==1) + // GetFont(SIMPLE_FONT)->End(); + + if (pass==0) // calculating dark box + { + box.top -= PLAYLIST_INNER_MARGIN; + box.left -= PLAYLIST_INNER_MARGIN; + box.right += PLAYLIST_INNER_MARGIN; + box.bottom += PLAYLIST_INNER_MARGIN; + DrawDarkTranslucentBox(&box); + *upper_left_corner_y = box.bottom + PLAYLIST_INNER_MARGIN; + } + } + } + } + } + + // 5. render *remaining* text to upper-right corner + { + // e) custom timed message: + if (!m_bWarningsDisabled2) + { + wchar_t buf[512] = {0}; + SelectFont(SIMPLE_FONT); + float t = GetTime(); + int N = m_errors.size(); + for (int i=0; i= m_errors[i].birthTime && t < m_errors[i].expireTime) + { + swprintf(buf, L"%s ", m_errors[i].msg.c_str()); + float age_rel = (t - m_errors[i].birthTime) / (m_errors[i].expireTime - m_errors[i].birthTime); + DWORD cr = (DWORD)(200 - 199*powf(age_rel,4)); + DWORD cg = 0;//(DWORD)(136 - 135*powf(age_rel,1)); + DWORD cb = 0; + DWORD z = 0xFF000000 | (cr<<16) | (cg<<8) | cb; + MyTextOut_BGCOLOR(buf, MTO_UPPER_RIGHT, true, m_errors[i].bBold ? z : 0xFF000000); + } + else + { + m_errors.eraseAt(i); + i--; + N--; + } + } + } + } +} + +//---------------------------------------------------------------------- + +LRESULT CPlugin::MyWindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) +{ + // You can handle Windows messages here while the plugin is running, + // such as mouse events (WM_MOUSEMOVE/WM_LBUTTONDOWN), keypresses + // (WK_KEYDOWN/WM_CHAR), and so on. + // This function is threadsafe (thanks to Winamp's architecture), + // so you don't have to worry about using semaphores or critical + // sections to read/write your class member variables. + // If you don't handle a message, let it continue on the usual path + // (to Winamp) by returning DefWindowProc(hWnd,uMsg,wParam,lParam). + // If you do handle a message, prevent it from being handled again + // (by Winamp) by returning 0. + + // IMPORTANT: For the WM_KEYDOWN, WM_KEYUP, and WM_CHAR messages, + // you must return 0 if you process the message (key), + // and 1 if you do not. DO NOT call DefWindowProc() + // for these particular messages! + + USHORT mask = 1 << (sizeof(SHORT)*8 - 1); + bool bShiftHeldDown = (GetKeyState(VK_SHIFT) & mask) != 0; + bool bCtrlHeldDown = (GetKeyState(VK_CONTROL) & mask) != 0; + + int nRepeat = 1; //updated as appropriate + int rep; + + switch (uMsg) + { + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case ID_VIS_NEXT: + NextPreset(m_fBlendTimeUser); + return 0; + case ID_VIS_PREV: + PrevPreset(m_fBlendTimeUser); + return 0; + case ID_VIS_RANDOM: + { + // note: when the vis is launched, if we're using a fancy modern skin + // (with a Random button), it will send us one of these... + // if it's NOT a fancy skin, we'll never get this message (confirmed). + + USHORT v = HIWORD(wParam); // here, v is 0 (locked) or 1 (random) or 0xFFFF (don't know / startup!) + if (v==0xFFFF) + { + // plugin just launched or changed modes - + // Winamp wants to know what our saved Random state is... + SendMessage(GetWinampWindow(), WM_WA_IPC, (m_bPresetLockOnAtStartup ? 0 : 1) << 16, IPC_CB_VISRANDOM); + + return 0; + } + + // otherwise it's 0 or 1 - user clicked the button, we should respond. + + v = v ? 1 : 0; // same here + + //see also - IPC_CB_VISRANDOM + m_bPresetLockedByUser = (v == 0); + SetScrollLock(m_bPresetLockedByUser, m_bPreventScollLockHandling); + + return 0; + } + case ID_VIS_FS: + PostMessage(hWnd, WM_USER + 1667, 0, 0); + return 0; + case ID_VIS_CFG: + ToggleHelp(); + return 0; + case ID_VIS_MENU: + POINT pt; + GetCursorPos(&pt); + SendMessage(hWnd, WM_CONTEXTMENU, (WPARAM)hWnd, (pt.y << 16) | pt.x); + return 0; + } + break; + + /* + case WM_SETFOCUS: + m_bOrigScrollLockState = GetKeyState(VK_SCROLL) & 1; + SetScrollLock(m_bMilkdropScrollLockState); + return DefWindowProc(hWnd, uMsg, wParam, lParam); + + case WM_KILLFOCUS: + m_bMilkdropScrollLockState = GetKeyState(VK_SCROLL) & 1; + SetScrollLock(m_bOrigScrollLockState); + return DefWindowProc(hWnd, uMsg, wParam, lParam); + */ + // this is used to work around a focusing issue when toggling fullscreen + // via the 'fullscreen' button in the bento (and most other) modern skin + case WM_USER+1667: + if (GetFrame() > 0) ToggleFullScreen(); + return 0; + + case WM_CHAR: // plain & simple alphanumeric keys + nRepeat = LOWORD(lParam); + if (m_waitstring.bActive) // if user is in the middle of editing a string + { + if ((wParam >= ' ' && wParam <= 'z') || wParam=='{' || wParam=='}') + { + int len; + if(m_waitstring.bDisplayAsCode) + len = lstrlenA((char*)m_waitstring.szText); + else + len = lstrlenW(m_waitstring.szText); + + if (m_waitstring.bFilterBadChars && + (wParam == '\"' || + wParam == '\\' || + wParam == '/' || + wParam == ':' || + wParam == '*' || + wParam == '?' || + wParam == '|' || + wParam == '<' || + wParam == '>' || + wParam == '&')) // NOTE: '&' is legal in filenames, but we try to avoid it since during GDI display it acts as a control code (it will not show up, but instead, underline the character following it). + { + // illegal char + AddError(WASABI_API_LNGSTRINGW(IDS_ILLEGAL_CHARACTER), 2.5f, ERR_MISC, true); + } + else if (len+nRepeat >= m_waitstring.nMaxLen) + { + // m_waitstring.szText has reached its limit + AddError(WASABI_API_LNGSTRINGW(IDS_STRING_TOO_LONG), 2.5f, ERR_MISC, true); + } + else + { + //m_fShowUserMessageUntilThisTime = GetTime(); // if there was an error message already, clear it + + if(m_waitstring.bDisplayAsCode) + { + char buf[16]; + sprintf(buf, "%c", wParam); + + if (m_waitstring.nSelAnchorPos != -1) + WaitString_NukeSelection(); + + if (m_waitstring.bOvertypeMode) + { + // overtype mode + for (rep=0; rep=m_waitstring.nCursorPos; i--) + *(ptr + i+1) = *(ptr + i); + *(ptr + m_waitstring.nCursorPos) = buf[0]; + m_waitstring.nCursorPos++; + len++; + } + } + } + else + { + wchar_t buf[16]; + swprintf(buf, L"%c", wParam); + + if (m_waitstring.nSelAnchorPos != -1) + WaitString_NukeSelection(); + + if (m_waitstring.bOvertypeMode) + { + // overtype mode + for (rep=0; rep=m_waitstring.nCursorPos; i--) + m_waitstring.szText[i+1] = m_waitstring.szText[i]; + m_waitstring.szText[m_waitstring.nCursorPos] = buf[0]; + m_waitstring.nCursorPos++; + len++; + } + } + } + } + } + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_LOAD_DEL) // waiting to confirm file delete + { + if (wParam == keyMappings[0] || wParam == keyMappings[1]) // 'y' or 'Y' + { + // first add pathname to filename + wchar_t szDelFile[512]; + swprintf(szDelFile, L"%s%s", GetPresetDir(), m_presets[m_nPresetListCurPos].szFilename.c_str()); + + DeletePresetFile(szDelFile); + //m_nCurrentPreset = -1; + } + + m_UI_mode = UI_LOAD; + + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_UPGRADE_PIXEL_SHADER) + { + if (wParam == keyMappings[0] || wParam == keyMappings[1]) // 'y' or 'Y' + { + if (m_pState->m_nMinPSVersion == m_pState->m_nMaxPSVersion) + { + switch(m_pState->m_nMinPSVersion) + { + case MD2_PS_NONE: + m_pState->m_nWarpPSVersion = MD2_PS_2_0; + m_pState->m_nCompPSVersion = MD2_PS_2_0; + m_pState->GenDefaultWarpShader(); + m_pState->GenDefaultCompShader(); + break; + case MD2_PS_2_0: + m_pState->m_nWarpPSVersion = MD2_PS_2_X; + m_pState->m_nCompPSVersion = MD2_PS_2_X; + break; + case MD2_PS_2_X: + m_pState->m_nWarpPSVersion = MD2_PS_3_0; + m_pState->m_nCompPSVersion = MD2_PS_3_0; + break; + default: + assert(0); + break; + } + } + else + { + switch(m_pState->m_nMinPSVersion) + { + case MD2_PS_NONE: + if (m_pState->m_nWarpPSVersion < MD2_PS_2_0) + { + m_pState->m_nWarpPSVersion = MD2_PS_2_0; + m_pState->GenDefaultWarpShader(); + } + if (m_pState->m_nCompPSVersion < MD2_PS_2_0) + { + m_pState->m_nCompPSVersion = MD2_PS_2_0; + m_pState->GenDefaultCompShader(); + } + break; + case MD2_PS_2_0: + m_pState->m_nWarpPSVersion = max(m_pState->m_nWarpPSVersion, MD2_PS_2_X); + m_pState->m_nCompPSVersion = max(m_pState->m_nCompPSVersion, MD2_PS_2_X); + break; + case MD2_PS_2_X: + m_pState->m_nWarpPSVersion = max(m_pState->m_nWarpPSVersion, MD2_PS_3_0); + m_pState->m_nCompPSVersion = max(m_pState->m_nCompPSVersion, MD2_PS_3_0); + break; + default: + assert(0); + break; + } + } + m_pState->m_nMinPSVersion = min(m_pState->m_nWarpPSVersion, m_pState->m_nCompPSVersion); + m_pState->m_nMaxPSVersion = max(m_pState->m_nWarpPSVersion, m_pState->m_nCompPSVersion); + + LoadShaders(&m_shaders, m_pState, false); + SetMenusForPresetVersion( m_pState->m_nWarpPSVersion, m_pState->m_nCompPSVersion ); + } + if (wParam != 13) + m_UI_mode = UI_MENU; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_SAVE_OVERWRITE) // waiting to confirm overwrite file on save + { + if (wParam == keyMappings[0] || wParam == keyMappings[1]) // 'y' or 'Y' + { + // first add pathname + extension to filename + wchar_t szNewFile[512]; + swprintf(szNewFile, L"%s%s.milk", GetPresetDir(), m_waitstring.szText); + + SavePresetAs(szNewFile); + + // exit waitstring mode + m_UI_mode = UI_REGULAR; + m_waitstring.bActive = false; + //m_bPresetLockedByCode = false; + } + else if ((wParam >= ' ' && wParam <= 'z') || wParam == 27) // 27 is the ESCAPE key + { + // go back to SAVE AS mode + m_UI_mode = UI_SAVEAS; + m_waitstring.bActive = true; + } + + return 0; // we processed (or absorbed) the key + } + else // normal handling of a simple key (all non-virtual-key hotkeys end up here) + { + if (HandleRegularKey(wParam)==0) + return 0; + } + return 1; // end case WM_CHAR + + case WM_KEYDOWN: // virtual-key codes + // Note that some keys will never reach this point, since they are + // intercepted by the plugin shell (see PluginShellWindowProc(), + // at the end of pluginshell.cpp for which ones). + // For a complete list of virtual-key codes, look up the keyphrase + // "virtual-key codes [win32]" in the msdn help. + nRepeat = LOWORD(lParam); + + switch(wParam) + { + case VK_F2: m_bShowSongTitle = !m_bShowSongTitle; return 0; // we processed (or absorbed) the key + case VK_F3: + if (m_bShowSongTime && m_bShowSongLen) + { + m_bShowSongTime = false; + m_bShowSongLen = false; + } + else if (m_bShowSongTime && !m_bShowSongLen) + { + m_bShowSongLen = true; + } + else + { + m_bShowSongTime = true; + m_bShowSongLen = false; + } + return 0; // we processed (or absorbed) the key + case VK_F4: m_bShowPresetInfo = !m_bShowPresetInfo; return 0; // we processed (or absorbed) the key + case VK_F5: m_bShowFPS = !m_bShowFPS; return 0; // we processed (or absorbed) the key + case VK_F6: m_bShowRating = !m_bShowRating; return 0; // we processed (or absorbed) the key + case VK_F7: + if (m_nNumericInputMode == NUMERIC_INPUT_MODE_CUST_MSG) + ReadCustomMessages(); // re-read custom messages + return 0; // we processed (or absorbed) the key + case VK_F8: + { + m_UI_mode = UI_CHANGEDIR; + + // enter WaitString mode + m_waitstring.bActive = true; + m_waitstring.bFilterBadChars = false; + m_waitstring.bDisplayAsCode = false; + m_waitstring.nSelAnchorPos = -1; + m_waitstring.nMaxLen = min(sizeof(m_waitstring.szText)-1, MAX_PATH - 1); + lstrcpyW(m_waitstring.szText, GetPresetDir()); + { + // for subtle beauty - remove the trailing '\' from the directory name (if it's not just "x:\") + int len = lstrlenW(m_waitstring.szText); + if (len > 3 && m_waitstring.szText[len-1] == '\\') + m_waitstring.szText[len-1] = 0; + } + WASABI_API_LNGSTRINGW_BUF(IDS_DIRECTORY_TO_JUMP_TO, m_waitstring.szPrompt, 512); + m_waitstring.szToolTip[0] = 0; + m_waitstring.nCursorPos = lstrlenW(m_waitstring.szText); // set the starting edit position + } + return 0; // we processed (or absorbed) the key + + case VK_F9: + m_bShowShaderHelp = !m_bShowShaderHelp; + return FALSE; + + case VK_SCROLL: + m_bPresetLockedByUser = GetKeyState(VK_SCROLL) & 1; + //SetScrollLock(m_bPresetLockedByUser); + SendMessage(GetWinampWindow(), WM_WA_IPC, (m_bPresetLockedByUser ? 0 : 1) << 16, IPC_CB_VISRANDOM); + //int set = m_bPresetLockedByUser ? + //PostMessage(GetWinampWindow(), WM_COMMAND, ID_VIS_RANDOM | (set << 16), 0); + + return 0; // we processed (or absorbed) the key + //case VK_F6: break; + //case VK_F7: conflict + //case VK_F8: break; + //case VK_F9: conflict + } + + // next handle the waitstring case (for string-editing), + // then the menu navigation case, + // then handle normal case (handle the message normally or pass on to winamp) + + // case 1: waitstring mode + if (m_waitstring.bActive) + { + // handle arrow keys, home, end, etc. + + USHORT mask = 1 << (sizeof(SHORT)*8 - 1); // we want the highest-order bit + bool bShiftHeldDown = (GetKeyState(VK_SHIFT) & mask) != 0; + bool bCtrlHeldDown = (GetKeyState(VK_CONTROL) & mask) != 0; + + if (wParam == VK_LEFT || wParam == VK_RIGHT || + wParam == VK_HOME || wParam == VK_END || + wParam == VK_UP || wParam == VK_DOWN) + { + if (bShiftHeldDown) + { + if (m_waitstring.nSelAnchorPos == -1) + m_waitstring.nSelAnchorPos = m_waitstring.nCursorPos; + } + else + { + m_waitstring.nSelAnchorPos = -1; + } + } + + if (bCtrlHeldDown) // copy/cut/paste + { + switch(wParam) + { + case 'c': + case 'C': + case VK_INSERT: + WaitString_Copy(); + return 0; // we processed (or absorbed) the key + case 'x': + case 'X': + WaitString_Cut(); + return 0; // we processed (or absorbed) the key + case 'v': + case 'V': + WaitString_Paste(); + return 0; // we processed (or absorbed) the key + case VK_LEFT: WaitString_SeekLeftWord(); return 0; // we processed (or absorbed) the key + case VK_RIGHT: WaitString_SeekRightWord(); return 0; // we processed (or absorbed) the key + case VK_HOME: m_waitstring.nCursorPos = 0; return 0; // we processed (or absorbed) the key + case VK_END: + if (m_waitstring.bDisplayAsCode) + { + m_waitstring.nCursorPos = lstrlenA((char*)m_waitstring.szText); + } + else + { + m_waitstring.nCursorPos = lstrlenW(m_waitstring.szText); + } + return 0; // we processed (or absorbed) the key + case VK_RETURN: + if (m_waitstring.bDisplayAsCode) + { + // CTRL+ENTER accepts the string -> finished editing + //assert(m_pCurMenu); + m_pCurMenu->OnWaitStringAccept(m_waitstring.szText); + // OnWaitStringAccept calls the callback function. See the + // calls to CMenu::AddItem from milkdrop.cpp to find the + // callback functions for different "waitstrings". + m_waitstring.bActive = false; + m_UI_mode = UI_MENU; + } + return 0; // we processed (or absorbed) the key + } + } + else // waitstring mode key pressed, and ctrl NOT held down + { + switch(wParam) + { + case VK_INSERT: + m_waitstring.bOvertypeMode = !m_waitstring.bOvertypeMode; + return 0; // we processed (or absorbed) the key + + case VK_LEFT: + for (rep=0; rep 0) + m_waitstring.nCursorPos--; + return 0; // we processed (or absorbed) the key + + case VK_RIGHT: + for (rep=0; rep 0) + { + int len; + if (m_waitstring.bDisplayAsCode) + { + len = lstrlenA((char*)m_waitstring.szText); + } + else + { + len = lstrlenW(m_waitstring.szText); + } + int src_pos = m_waitstring.nCursorPos; + int dst_pos = m_waitstring.nCursorPos - nRepeat; + int gap = nRepeat; + int copy_chars = len - m_waitstring.nCursorPos + 1; // includes NULL @ end + if (dst_pos < 0) + { + gap += dst_pos; + //copy_chars += dst_pos; + dst_pos = 0; + } + + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + for (int i=0; iGetCurItem()->m_lParam; + int ret; + switch(m_UI_mode) + { + case UI_IMPORT_WAVE : ret = m_pState->m_wave[i].Import(NULL, m_waitstring.szText, 0); break; + case UI_EXPORT_WAVE : ret = m_pState->m_wave[i].Export(NULL, m_waitstring.szText, 0); break; + case UI_IMPORT_SHAPE: ret = m_pState->m_shape[i].Import(NULL, m_waitstring.szText, 0); break; + case UI_EXPORT_SHAPE: ret = m_pState->m_shape[i].Export(NULL, m_waitstring.szText, 0); break; + } + + if (bImport) + m_pState->RecompileExpressions(1); + + //m_fShowUserMessageUntilThisTime = GetTime() - 1.0f; // if there was an error message already, clear it + if (!ret) + { + wchar_t buf[1024]; + if (m_UI_mode==UI_IMPORT_WAVE || m_UI_mode==UI_IMPORT_SHAPE) + WASABI_API_LNGSTRINGW_BUF(IDS_ERROR_IMPORTING_BAD_FILENAME, buf, 1024); + else + WASABI_API_LNGSTRINGW_BUF(IDS_ERROR_IMPORTING_BAD_FILENAME_OR_NOT_OVERWRITEABLE, buf, 1024); + AddError(WASABI_API_LNGSTRINGW(IDS_STRING_TOO_LONG), 2.5f, ERR_MISC, true); + } + + m_waitstring.bActive = false; + m_UI_mode = UI_MENU; + //m_bPresetLockedByCode = false; + } + else if (m_UI_mode == UI_SAVEAS) + { + // first add pathname + extension to filename + wchar_t szNewFile[512]; + swprintf(szNewFile, L"%s%s.milk", GetPresetDir(), m_waitstring.szText); + + if (GetFileAttributesW(szNewFile) != -1) // check if file already exists + { + // file already exists -> overwrite it? + m_waitstring.bActive = false; + m_UI_mode = UI_SAVE_OVERWRITE; + } + else + { + SavePresetAs(szNewFile); + + // exit waitstring mode + m_UI_mode = UI_REGULAR; + m_waitstring.bActive = false; + //m_bPresetLockedByCode = false; + } + } + else if (m_UI_mode == UI_EDIT_MENU_STRING) + { + if (m_waitstring.bDisplayAsCode) + { + if (m_waitstring.nSelAnchorPos != -1) + WaitString_NukeSelection(); + + int len = lstrlenA((char*)m_waitstring.szText); + char* ptr = (char*)m_waitstring.szText; + if (len + 1 < m_waitstring.nMaxLen) + { + // insert a linefeed. Use CTRL+return to accept changes in this case. + for (int pos=len+1; pos > m_waitstring.nCursorPos; pos--) + *(ptr + pos) = *(ptr + pos - 1); + *(ptr + m_waitstring.nCursorPos++) = LINEFEED_CONTROL_CHAR; + + //m_fShowUserMessageUntilThisTime = GetTime() - 1.0f; // if there was an error message already, clear it + } + else + { + // m_waitstring.szText has reached its limit + AddError(WASABI_API_LNGSTRINGW(IDS_STRING_TOO_LONG), 2.5f, ERR_MISC, true); + } + } + else + { + // finished editing + //assert(m_pCurMenu); + m_pCurMenu->OnWaitStringAccept(m_waitstring.szText); + // OnWaitStringAccept calls the callback function. See the + // calls to CMenu::AddItem from milkdrop.cpp to find the + // callback functions for different "waitstrings". + m_waitstring.bActive = false; + m_UI_mode = UI_MENU; + } + } + else if (m_UI_mode == UI_CHANGEDIR) + { + //m_fShowUserMessageUntilThisTime = GetTime(); // if there was an error message already, clear it + + // change dir + wchar_t szOldDir[512]; + wchar_t szNewDir[512]; + lstrcpyW(szOldDir, g_plugin.m_szPresetDir); + lstrcpyW(szNewDir, m_waitstring.szText); + + int len = lstrlenW(szNewDir); + if (len > 0 && szNewDir[len-1] != L'\\') + lstrcatW(szNewDir, L"\\"); + + lstrcpyW(g_plugin.m_szPresetDir, szNewDir); + + bool bSuccess = true; + if (GetFileAttributesW(g_plugin.m_szPresetDir) == -1) + bSuccess = false; + if (bSuccess) { + UpdatePresetList(false,true,false); + bSuccess = (m_nPresets > 0); + } + + if (!bSuccess) + { + // new dir. was invalid -> allow them to try again + lstrcpyW(g_plugin.m_szPresetDir, szOldDir); + + // give them a warning + AddError(WASABI_API_LNGSTRINGW(IDS_INVALID_PATH), 3.5f, ERR_MISC, true); + } + else + { + // success + lstrcpyW(g_plugin.m_szPresetDir, szNewDir); + + // save new path to registry + WritePrivateProfileStringW(L"settings",L"szPresetDir",g_plugin.m_szPresetDir,GetConfigIniFile()); + + // set current preset index to -1 because current preset is no longer in the list + m_nCurrentPreset = -1; + + // go to file load menu + m_waitstring.bActive = false; + m_UI_mode = UI_LOAD; + + ClearErrors(ERR_MISC); + } + } + return 0; // we processed (or absorbed) the key + + case VK_ESCAPE: + if (m_UI_mode == UI_LOAD_RENAME) + { + m_waitstring.bActive = false; + m_UI_mode = UI_LOAD; + } + else if ( + m_UI_mode == UI_SAVEAS || + m_UI_mode == UI_SAVE_OVERWRITE || + m_UI_mode == UI_EXPORT_SHAPE || + m_UI_mode == UI_IMPORT_SHAPE || + m_UI_mode == UI_EXPORT_WAVE || + m_UI_mode == UI_IMPORT_WAVE) + { + //m_bPresetLockedByCode = false; + m_waitstring.bActive = false; + m_UI_mode = UI_REGULAR; + } + else if (m_UI_mode == UI_EDIT_MENU_STRING) + { + m_waitstring.bActive = false; + if (m_waitstring.bDisplayAsCode) // if were editing code... + m_UI_mode = UI_MENU; // return to menu + else + m_UI_mode = UI_REGULAR; // otherwise don't (we might have been editing a filename, for example) + } + else /*if (m_UI_mode == UI_EDIT_MENU_STRING || m_UI_mode == UI_CHANGEDIR || 1)*/ + { + m_waitstring.bActive = false; + m_UI_mode = UI_REGULAR; + } + return 0; // we processed (or absorbed) the key + } + } + + // don't let keys go anywhere else + return 0; // we processed (or absorbed) the key + } + + // case 2: menu is up & gets the keyboard input + if (m_UI_mode == UI_MENU) + { + //assert(m_pCurMenu); + if (m_pCurMenu->HandleKeydown(hWnd, uMsg, wParam, lParam) == 0) + return 0; // we processed (or absorbed) the key + } + + // case 3: handle non-character keys (virtual keys) and return 0. + // if we don't handle them, return 1, and the shell will + // (passing some to the shell's key bindings, some to Winamp, + // and some to DefWindowProc) + // note: regular hotkeys should be handled in HandleRegularKey. + switch(wParam) + { + case VK_LEFT: + case VK_RIGHT: + if (m_UI_mode == UI_LOAD) + { + // it's annoying when the music skips if you hit the left arrow from the Load menu, so instead, we exit the menu + if (wParam == VK_LEFT) m_UI_mode = UI_REGULAR; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_UPGRADE_PIXEL_SHADER) + { + m_UI_mode = UI_MENU; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_MASHUP) + { + if (wParam==VK_LEFT) + m_nMashSlot = max(0, m_nMashSlot-1); + else + m_nMashSlot = min(MASH_SLOTS-1, m_nMashSlot+1); + return 0; // we processed (or absorbed) the key + } + break; + + case VK_ESCAPE: + if (m_UI_mode == UI_LOAD || m_UI_mode == UI_MENU || m_UI_mode == UI_MASHUP) + { + m_UI_mode = UI_REGULAR; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_LOAD_DEL) + { + m_UI_mode = UI_LOAD; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_UPGRADE_PIXEL_SHADER) + { + m_UI_mode = UI_MENU; + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_SAVE_OVERWRITE) + { + m_UI_mode = UI_SAVEAS; + // return to waitstring mode, leaving all the parameters as they were before: + m_waitstring.bActive = true; + return 0; // we processed (or absorbed) the key + } + /*else if (hwnd == GetPluginWindow()) // (don't close on ESC for text window) + { + dumpmsg("User pressed ESCAPE"); + //m_bExiting = true; + PostMessage(hwnd, WM_CLOSE, 0, 0); + return 0; // we processed (or absorbed) the key + }*/ + break; + + case VK_UP: + if (m_UI_mode == UI_MASHUP) + { + for (rep=0; rep 0) + m_nPresetListCurPos--; + return 0; // we processed (or absorbed) the key + + // remember this preset's name so the next time they hit 'L' it jumps straight to it + //lstrcpy(m_szLastPresetSelected, m_presets[m_nPresetListCurPos].szFilename.c_str()); + } + break; + + case VK_DOWN: + if (m_UI_mode == UI_MASHUP) + { + for (rep=0; rep frame) || + (bShiftHeldDown && m_texmgr.m_tex[x].nStartFrame < frame)) + { + newest = x; + frame = m_texmgr.m_tex[x].nStartFrame; + } + } + } + + if (newest != -1) + m_texmgr.KillTex(newest); + } + return 0; // we processed (or absorbed) the key + } + } + break; + + case VK_INSERT: // RENAME + if (m_UI_mode == UI_LOAD) + { + if (m_presets[m_nPresetListCurPos].szFilename.c_str()[0] != '*') // can't rename directories + { + // go into RENAME mode + m_UI_mode = UI_LOAD_RENAME; + m_waitstring.bActive = true; + m_waitstring.bFilterBadChars = true; + m_waitstring.bDisplayAsCode = false; + m_waitstring.nSelAnchorPos = -1; + m_waitstring.nMaxLen = min(sizeof(m_waitstring.szText)-1, MAX_PATH - lstrlenW(GetPresetDir()) - 6); // 6 for the extension + null char. We set this because win32 LoadFile, MoveFile, etc. barf if the path+filename+ext are > MAX_PATH chars. + + // initial string is the filename, minus the extension + lstrcpyW(m_waitstring.szText, m_presets[m_nPresetListCurPos].szFilename.c_str()); + RemoveExtension(m_waitstring.szText); + + // set the prompt & 'tooltip' + swprintf(m_waitstring.szPrompt, WASABI_API_LNGSTRINGW(IDS_ENTER_THE_NEW_NAME_FOR_X), m_waitstring.szText); + m_waitstring.szToolTip[0] = 0; + + // set the starting edit position + m_waitstring.nCursorPos = lstrlenW(m_waitstring.szText); + } + return 0; // we processed (or absorbed) the key + } + break; + + case VK_RETURN: + + if (m_UI_mode == UI_MASHUP) + { + m_nLastMashChangeFrame[m_nMashSlot] = GetFrame() + MASH_APPLY_DELAY_FRAMES; // causes instant apply + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_LOAD) + { + HitEnterFromLoadMenu: + + if (m_presets[m_nPresetListCurPos].szFilename.c_str()[0] == '*') + { + // CHANGE DIRECTORY + wchar_t *p = GetPresetDir(); + + if (wcscmp(m_presets[m_nPresetListCurPos].szFilename.c_str(), L"*..") == 0) + { + // back up one dir + wchar_t *p2 = wcsrchr(p, L'\\'); + if (p2) + { + *p2 = 0; + p2 = wcsrchr(p, L'\\'); + if (p2) *(p2+1) = 0; + } + } + else + { + // open subdir + lstrcatW(p, &m_presets[m_nPresetListCurPos].szFilename.c_str()[1]); + lstrcatW(p, L"\\"); + } + + WritePrivateProfileStringW(L"settings",L"szPresetDir",GetPresetDir(),GetConfigIniFile()); + + UpdatePresetList(false, true, false); + + // set current preset index to -1 because current preset is no longer in the list + m_nCurrentPreset = -1; + } + else + { + // LOAD NEW PRESET + m_nCurrentPreset = m_nPresetListCurPos; + + // first take the filename and prepend the path. (already has extension) + wchar_t s[MAX_PATH]; + lstrcpyW(s, GetPresetDir()); // note: m_szPresetDir always ends with '\' + lstrcatW(s, m_presets[m_nCurrentPreset].szFilename.c_str()); + + // now load (and blend to) the new preset + m_presetHistoryPos = (m_presetHistoryPos+1) % PRESET_HIST_LEN; + LoadPreset(s, (wParam==VK_SPACE) ? m_fBlendTimeUser : 0); + } + return 0; // we processed (or absorbed) the key + } + break; + + case VK_BACK: + // pass on to parent + //PostMessage(m_hWndParent,message,wParam,lParam); + PrevPreset(0); + m_fHardCutThresh *= 2.0f; // make it a little less likely that a random hard cut follows soon. + //m_nNumericInputDigits = 0; + //m_nNumericInputNum = 0; + return 0; + + case 'T': + if (bCtrlHeldDown) + { + // stop display of custom message or song title. + m_supertext.fStartTime = -1.0f; + return 0; + } + break; + case 'K': + if (bCtrlHeldDown) // kill all sprites + { + for (int x=0; x= 'A' && wParam <= 'Z') || (wParam >= 'a' && wParam <= 'z'))) + { + SeekToPreset((char)wParam); + return 0; // we processed (or absorbed) the key + } + else if (m_UI_mode == UI_MASHUP && wParam >= '1' && wParam <= ('0' + MASH_SLOTS)) + { + m_nMashSlot = wParam - '1'; + } + else switch(wParam) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + int digit = wParam - '0'; + m_nNumericInputNum = (m_nNumericInputNum*10) + digit; + m_nNumericInputDigits++; + + if (m_nNumericInputDigits >= 2) + { + if (m_nNumericInputMode == NUMERIC_INPUT_MODE_CUST_MSG) + LaunchCustomMessage(m_nNumericInputNum); + else if (m_nNumericInputMode == NUMERIC_INPUT_MODE_SPRITE) + LaunchSprite(m_nNumericInputNum, -1); + else if (m_nNumericInputMode == NUMERIC_INPUT_MODE_SPRITE_KILL) + { + for (int x=0; xm_fVideoEchoZoom /= 1.05f; + return 0; // we processed (or absorbed) the key + case 'Q': + m_pState->m_fVideoEchoZoom *= 1.05f; + return 0; // we processed (or absorbed) the key + case 'w': + m_pState->m_nWaveMode++; + if (m_pState->m_nWaveMode >= NUM_WAVES) m_pState->m_nWaveMode = 0; + return 0; // we processed (or absorbed) the key + case 'W': + m_pState->m_nWaveMode--; + if (m_pState->m_nWaveMode < 0) m_pState->m_nWaveMode = NUM_WAVES - 1; + return 0; // we processed (or absorbed) the key + case 'e': + m_pState->m_fWaveAlpha -= 0.1f; + if (m_pState->m_fWaveAlpha.eval(-1) < 0.0f) m_pState->m_fWaveAlpha = 0.0f; + return 0; // we processed (or absorbed) the key + case 'E': + m_pState->m_fWaveAlpha += 0.1f; + //if (m_pState->m_fWaveAlpha.eval(-1) > 1.0f) m_pState->m_fWaveAlpha = 1.0f; + return 0; // we processed (or absorbed) the key + + case 'I': m_pState->m_fZoom -= 0.01f; return 0; // we processed (or absorbed) the key + case 'i': m_pState->m_fZoom += 0.01f; return 0; // we processed (or absorbed) the key + + case 'n': + case 'N': + m_bShowDebugInfo = !m_bShowDebugInfo; + return 0; // we processed (or absorbed) the key + + case 'r': + m_bSequentialPresetOrder = !m_bSequentialPresetOrder; + { + wchar_t buf[1024], tmp[64]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PRESET_ORDER_IS_NOW_X), + WASABI_API_LNGSTRINGW_BUF((m_bSequentialPresetOrder) ? IDS_SEQUENTIAL : IDS_RANDOM, tmp, 64)); + AddError(buf, 3.0f, ERR_NOTIFY, false); + } + + // erase all history, too: + m_presetHistory[0] = m_szCurrentPresetFile; + m_presetHistoryPos = 0; + m_presetHistoryFwdFence = 1; + m_presetHistoryBackFence = 0; + + return 0; // we processed (or absorbed) the key + + + case 'u': + case 'U': + if (SendMessage(GetWinampWindow(),WM_USER,0,250)) + AddError(WASABI_API_LNGSTRINGW(IDS_SHUFFLE_IS_NOW_OFF), 3.0f, ERR_NOTIFY, false); + else + AddError(WASABI_API_LNGSTRINGW(IDS_SHUFFLE_IS_NOW_ON), 3.0f, ERR_NOTIFY, false); + + //m_fShowUserMessageUntilThisTime = GetTime() + 4.0f; + + // toggle shuffle + PostMessage(GetWinampWindow(),WM_COMMAND,40023,0); + + return 0; // we processed (or absorbed) the key + + + /* + case 'u': m_pState->m_fWarpScale /= 1.1f; break; + case 'U': m_pState->m_fWarpScale *= 1.1f; break; + case 'i': m_pState->m_fWarpAnimSpeed /= 1.1f; break; + case 'I': m_pState->m_fWarpAnimSpeed *= 1.1f; break; + */ + case 't': + case 'T': + LaunchSongTitleAnim(); + return 0; // we processed (or absorbed) the key + case 'o': m_pState->m_fWarpAmount /= 1.1f; return 0; // we processed (or absorbed) the key + case 'O': m_pState->m_fWarpAmount *= 1.1f; return 0; // we processed (or absorbed) the key + + case '!': + // randomize warp shader + { + bool bWarpLock = m_bWarpShaderLock; + wchar_t szOldPreset[MAX_PATH]; + lstrcpyW(szOldPreset, m_szCurrentPresetFile); + m_bWarpShaderLock = false; + LoadRandomPreset(0.0f); + m_bWarpShaderLock = true; + LoadPreset(szOldPreset, 0.0f); + m_bWarpShaderLock = bWarpLock; + } + break; + case '@': + // randomize comp shader + { + bool bCompLock = m_bCompShaderLock; + wchar_t szOldPreset[MAX_PATH]; + lstrcpyW(szOldPreset, m_szCurrentPresetFile); + m_bCompShaderLock = false; + LoadRandomPreset(0.0f); + m_bCompShaderLock = true; + LoadPreset(szOldPreset, 0.0f); + m_bCompShaderLock = bCompLock; + } + break; + + case 'a': + case 'A': + // load a random preset, a random warp shader, and a random comp shader. + // not quite as extreme as a mash-up. + { + bool bCompLock = m_bCompShaderLock; + bool bWarpLock = m_bWarpShaderLock; + m_bCompShaderLock = false; m_bWarpShaderLock = false; + LoadRandomPreset(0.0f); + m_bCompShaderLock = true; m_bWarpShaderLock = false; + LoadRandomPreset(0.0f); + m_bCompShaderLock = false; m_bWarpShaderLock = true; + LoadRandomPreset(0.0f); + m_bCompShaderLock = bCompLock; + m_bWarpShaderLock = bWarpLock; + } + break; + case 'd': + case 'D': + if (!m_bCompShaderLock && !m_bWarpShaderLock) { + m_bCompShaderLock = true; m_bWarpShaderLock = false; + AddError(WASABI_API_LNGSTRINGW(IDS_COMPSHADER_LOCKED), 3.0f, ERR_NOTIFY, false); + } else if (m_bCompShaderLock && !m_bWarpShaderLock) { + m_bCompShaderLock = false; m_bWarpShaderLock = true; + AddError(WASABI_API_LNGSTRINGW(IDS_WARPSHADER_LOCKED), 3.0f, ERR_NOTIFY, false); + } else if (!m_bCompShaderLock && m_bWarpShaderLock) { + m_bCompShaderLock = true; m_bWarpShaderLock = true; + AddError(WASABI_API_LNGSTRINGW(IDS_ALLSHADERS_LOCKED), 3.0f, ERR_NOTIFY, false); + } else { + m_bCompShaderLock = false; m_bWarpShaderLock = false; + AddError(WASABI_API_LNGSTRINGW(IDS_ALLSHADERS_UNLOCKED), 3.0f, ERR_NOTIFY, false); + } + break; + + // row 2 keys + // 'A' KEY IS FREE!! + // 'D' KEY IS FREE!! + /*case 'a': + m_pState->m_fVideoEchoAlpha -= 0.1f; + if (m_pState->m_fVideoEchoAlpha.eval(-1) < 0) m_pState->m_fVideoEchoAlpha = 0; + return 0; // we processed (or absorbed) the key + case 'A': + m_pState->m_fVideoEchoAlpha += 0.1f; + if (m_pState->m_fVideoEchoAlpha.eval(-1) > 1.0f) m_pState->m_fVideoEchoAlpha = 1.0f; + return 0; // we processed (or absorbed) the key + case 'd': + m_pState->m_fDecay += 0.01f; + if (m_pState->m_fDecay.eval(-1) > 1.0f) m_pState->m_fDecay = 1.0f; + return 0; // we processed (or absorbed) the key + case 'D': + m_pState->m_fDecay -= 0.01f; + if (m_pState->m_fDecay.eval(-1) < 0.9f) m_pState->m_fDecay = 0.9f; + return 0; // we processed (or absorbed) the key*/ + case 'h': + case 'H': + // instant hard cut + if (m_UI_mode == UI_MASHUP) + { + if (wParam=='h') + { + m_nMashPreset[m_nMashSlot] = m_nDirs + (warand() % (m_nPresets-m_nDirs)); + m_nLastMashChangeFrame[m_nMashSlot] = GetFrame() + MASH_APPLY_DELAY_FRAMES; // causes instant apply + } + else + { + for (int mash=0; mashm_nVideoEchoOrientation = (m_pState->m_nVideoEchoOrientation + 1) % 4; + return 0; // we processed (or absorbed) the key + case 'g': + m_pState->m_fGammaAdj -= 0.1f; + if (m_pState->m_fGammaAdj.eval(-1) < 0.0f) m_pState->m_fGammaAdj = 0.0f; + return 0; // we processed (or absorbed) the key + case 'G': + m_pState->m_fGammaAdj += 0.1f; + //if (m_pState->m_fGammaAdj > 1.0f) m_pState->m_fGammaAdj = 1.0f; + return 0; // we processed (or absorbed) the key + case 'j': + m_pState->m_fWaveScale *= 0.9f; + return 0; // we processed (or absorbed) the key + case 'J': + m_pState->m_fWaveScale /= 0.9f; + return 0; // we processed (or absorbed) the key + case 'k': + case 'K': + { + USHORT mask = 1 << (sizeof(SHORT)*8 - 1); // we want the highest-order bit + bool bShiftHeldDown = (GetKeyState(VK_SHIFT) & mask) != 0; + + if (bShiftHeldDown) + m_nNumericInputMode = NUMERIC_INPUT_MODE_SPRITE_KILL; + else + m_nNumericInputMode = NUMERIC_INPUT_MODE_SPRITE; + m_nNumericInputNum = 0; + m_nNumericInputDigits = 0; + } + return 0; // we processed (or absorbed) the key + + // row 3/misc. keys + + case '[': + m_pState->m_fXPush -= 0.005f; + return 0; // we processed (or absorbed) the key + case ']': + m_pState->m_fXPush += 0.005f; + return 0; // we processed (or absorbed) the key + case '{': + m_pState->m_fYPush -= 0.005f; + return 0; // we processed (or absorbed) the key + case '}': + m_pState->m_fYPush += 0.005f; + return 0; // we processed (or absorbed) the key + case '<': + m_pState->m_fRot += 0.02f; + return 0; // we processed (or absorbed) the key + case '>': + m_pState->m_fRot -= 0.02f; + return 0; // we processed (or absorbed) the key + + case 's': // SAVE PRESET + case 'S': + if (m_UI_mode == UI_REGULAR) + { + //m_bPresetLockedByCode = true; + m_UI_mode = UI_SAVEAS; + + // enter WaitString mode + m_waitstring.bActive = true; + m_waitstring.bFilterBadChars = true; + m_waitstring.bDisplayAsCode = false; + m_waitstring.nSelAnchorPos = -1; + m_waitstring.nMaxLen = min(sizeof(m_waitstring.szText)-1, MAX_PATH - lstrlenW(GetPresetDir()) - 6); // 6 for the extension + null char. We set this because win32 LoadFile, MoveFile, etc. barf if the path+filename+ext are > MAX_PATH chars. + lstrcpyW(m_waitstring.szText, m_pState->m_szDesc); // initial string is the filename, minus the extension + WASABI_API_LNGSTRINGW_BUF(IDS_SAVE_AS,m_waitstring.szPrompt,512); + m_waitstring.szToolTip[0] = 0; + m_waitstring.nCursorPos = lstrlenW(m_waitstring.szText); // set the starting edit position + return 0; + } + break; + + case 'l': // LOAD PRESET + case 'L': + if (m_UI_mode == UI_LOAD) + { + m_UI_mode = UI_REGULAR; + return 0; // we processed (or absorbed) the key + + } + else if ( + m_UI_mode == UI_REGULAR || + m_UI_mode == UI_MENU) + { + UpdatePresetList(); // make sure list is completely ready + m_UI_mode = UI_LOAD; + m_bUserPagedUp = false; + m_bUserPagedDown = false; + return 0; // we processed (or absorbed) the key + + } + break; + + case 'm': + case 'M': + + if (m_UI_mode == UI_MENU) + m_UI_mode = UI_REGULAR; + else if (m_UI_mode == UI_REGULAR || m_UI_mode == UI_LOAD) + m_UI_mode = UI_MENU; + + return 0; // we processed (or absorbed) the key + + case '-': + SetCurrentPresetRating(m_pState->m_fRating - 1.0f); + return 0; // we processed (or absorbed) the key + case '+': + SetCurrentPresetRating(m_pState->m_fRating + 1.0f); + return 0; // we processed (or absorbed) the key + + case '*': + m_nNumericInputDigits = 0; + m_nNumericInputNum = 0; + return 0; + + } + + if (wParam == keyMappings[3] || wParam == keyMappings[4]) // 'y' or 'Y' + { + m_nNumericInputMode = NUMERIC_INPUT_MODE_CUST_MSG; + m_nNumericInputNum = 0; + m_nNumericInputDigits = 0; + return 0; // we processed (or absorbed) the key + } + + return 1; +} + +//---------------------------------------------------------------------- + +void CPlugin::RefreshTab2(HWND hwnd) +{ + ShowWindow(GetDlgItem(hwnd, IDC_BRIGHT_SLIDER), !m_bAutoGamma); + ShowWindow(GetDlgItem(hwnd, IDC_T1), !m_bAutoGamma); + ShowWindow(GetDlgItem(hwnd, IDC_T2), !m_bAutoGamma); + ShowWindow(GetDlgItem(hwnd, IDC_T3), !m_bAutoGamma); + ShowWindow(GetDlgItem(hwnd, IDC_T4), !m_bAutoGamma); + ShowWindow(GetDlgItem(hwnd, IDC_T5), !m_bAutoGamma); +} + +int CALLBACK MyEnumFontsProc( + CONST LOGFONT *lplf, // logical-font data + CONST TEXTMETRIC *lptm, // physical-font data + DWORD dwType, // font type + LPARAM lpData // application-defined data +) +{ + SendMessage( GetDlgItem( (HWND)lpData, IDC_FONT3), CB_ADDSTRING, 0, (LPARAM)(lplf->lfFaceName)); + return 1; +} + +/* +void DoColors(HWND hwnd, int *r, int *g, int *b) +{ + static COLORREF acrCustClr[16]; + + CHOOSECOLOR cc; + ZeroMemory(&cc, sizeof(CHOOSECOLOR)); + cc.lStructSize = sizeof(CHOOSECOLOR); + cc.hwndOwner = hwnd;//NULL;//hSaverMainWindow; + cc.Flags = CC_RGBINIT | CC_FULLOPEN; + cc.rgbResult = RGB(*r,*g,*b); + cc.lpCustColors = (LPDWORD)acrCustClr; + if (ChooseColor(&cc)) + { + *r = GetRValue(cc.rgbResult); + *g = GetGValue(cc.rgbResult); + *b = GetBValue(cc.rgbResult); + } +}*/ + +wchar_t* FormImageCacheSizeString(wchar_t* itemStr, UINT sizeID) +{ + static wchar_t cacheBuf[128] = {0}; + StringCchPrintfW(cacheBuf, 128, L"%s %s", itemStr, WASABI_API_LNGSTRINGW(sizeID)); + return cacheBuf; +} + +//---------------------------------------------------------------------- + +BOOL CPlugin::MyConfigTabProc(int nPage, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) +{ + // This is the only function you need to worry about for programming + // tabs 2 through 8 on the config panel. (Tab 1 contains settings + // that are common to all plugins, and the code is located in pluginshell.cpp). + // By default, only tab 2 is enabled; to enable tabes 3+, see + // 'Enabling Additional Tabs (pages) on the Config Panel' in DOCUMENTATION.TXT. + // You should always return 0 for this function. + // Note that you don't generally have to use critical sections or semaphores + // here; Winamp controls the plugin's message queue, and only gives it message + // in between frames. + // + // Incoming parameters: + // 'nPage' indicates which tab (aka 'property page') is currently showing: 2 through 5. + // 'hwnd' is the window handle of the property page (which is a dialog of its own, + // embedded in the config dialog). + // 'msg' is the windows message being sent. The main ones are: + // + // 1) WM_INITDIALOG: This means the page is being initialized, because the + // user clicked on it. When you get this message, you should initialize + // all the controls on the page, and set them to reflect the settings + // that are stored in member variables. + // + // 2) WM_DESTROY: This is sent when a tab disappears, either because another + // tab is about to be displayed, or because the user clicked OK or Cancel. + // In any case, you should read the current settings of all the controls + // on the page, and store them in member variables. (If the user clicked + // CANCEL, these values will not get saved to disk, but for simplicity, + // we always poll the controls here.) + // + // 3) WM_HELP: This is sent when the user clicks the '?' icon (in the + // titlebar of the config panel) and then clicks on a control. When you + // get this message, you should display a MessageBox telling the user + // a little bit about that control/setting. + // + // 4) WM_COMMAND: Advanced. This notifies you when the user clicks on a + // control. Use this if you need to do certain things when the user + // changes a setting. (For example, one control might only be enabled + // when a certain checkbox is enabled; you would use EnableWindow() for + // this.) + // + // For complete details on adding your own controls to one of the pages, please see + // 'Adding Controls to the Config Panel' in DOCUMENTATION.TXT. + + int t; + float val; + + if (nPage == 2) + { + switch(msg) + { + case WM_INITDIALOG: // initialize controls here + { + char buf[2048]; + int nPos, i; + HWND ctrl; + + //-------------- pixel shaders combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_SHADERS ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_PS_AUTO_RECOMMENDED), -1); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_PS_DISABLED), MD2_PS_NONE); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_PS_SHADER_MODEL_2), MD2_PS_2_0); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_PS_SHADER_MODEL_3), MD2_PS_3_0); + SelectItemByPos(ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nMaxPSVersion_ConfigPanel); + + //-------------- texture format combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_TEXFORMAT ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_TX_8_BITS_PER_CHANNEL), 8); + //AddItem(ctrl, " 10 bits per channel", 10); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_TX_16_BITS_PER_CHANNEL), 16); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_TX_32_BITS_PER_CHANNEL), 32); + SelectItemByPos(ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nTexBitsPerCh); + + //-------------- mesh size combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_MESHSIZECOMBO ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_8X6_FAST), 8); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_16X12_FAST), 16); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_24X18), 24); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_32X24), 32); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_40X30), 40); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_48X36_DEFAULT), 48); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_64X48_SLOW), 64); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_80X60_SLOW), 80); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_96X72_SLOW), 96); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_128X96_SLOW), 128); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_160X120_SLOW), 160); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_192X144_SLOW), 192); + SelectItemByPos(ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nGridX); + + //-------------- canvas stretch combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_STRETCH ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_AUTO), 0); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_NONE_BEST_IMAGE_QUALITY), 100); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_1_25_X), 125); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_1_33_X), 133); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_1_5_X), 150); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_1_67_X), 167); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_2_X), 200); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_3_X), 300); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_4_X), 400); + SelectItemByPos(ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nCanvasStretch); + + //-------------- texture size combo box --------------------- + for (i=0; i<5; i++) + { + int size = (int)pow(2., i+8); + sprintf(buf, " %4d x %4d ", size, size); + nPos = SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_ADDSTRING, 0, (LPARAM)buf); + SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_SETITEMDATA, nPos, size); + } + + // throw the "Auto" option in there + nPos = SendMessageW( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_NEAREST_POWER_OF_2)); + SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_SETITEMDATA, nPos, -2); + nPos = SendMessageW( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_ADDSTRING, 0, (LPARAM)WASABI_API_LNGSTRINGW(IDS_EXACT_RECOMMENDED)); + SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_SETITEMDATA, nPos, -1); + + for (i=0; i<5+2; i++) + { + int size = SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_GETITEMDATA, i, 0); + if (size == m_nTexSizeX) + { + SendMessage( GetDlgItem( hwnd, IDC_TEXSIZECOMBO ), CB_SETCURSEL, i, 0); + } + } + + //---------16-bit brightness slider-------------- + + SendMessage( GetDlgItem( hwnd, IDC_BRIGHT_SLIDER), TBM_SETRANGEMIN, + FALSE, (LPARAM)(0) ); + SendMessage( GetDlgItem( hwnd, IDC_BRIGHT_SLIDER), TBM_SETRANGEMAX, + FALSE, (LPARAM)(4) ); + SendMessage( GetDlgItem( hwnd, IDC_BRIGHT_SLIDER), TBM_SETPOS, + TRUE, (LPARAM)(m_n16BitGamma) ); + for (i=0; i<5; i++) + SendMessage( GetDlgItem( hwnd, IDC_BRIGHT_SLIDER), TBM_SETTIC, 0, i); + + // append debug output filename to the checkbox's text + GetWindowText( GetDlgItem(hwnd, IDC_CB_DEBUGOUTPUT), buf, 256); + lstrcat(buf, DEBUGFILE); + SetWindowText( GetDlgItem(hwnd, IDC_CB_DEBUGOUTPUT), buf); + + // set checkboxes + CheckDlgButton(hwnd, IDC_CB_DEBUGOUTPUT, g_bDebugOutput); + //CheckDlgButton(hwnd, IDC_CB_PRESSF1, (!m_bShowPressF1ForHelp)); + //CheckDlgButton(hwnd, IDC_CB_TOOLTIPS, m_bShowMenuToolTips); + //CheckDlgButton(hwnd, IDC_CB_ALWAYS3D, m_bAlways3D); + //CheckDlgButton(hwnd, IDC_CB_FIXSLOWTEXT, m_bFixSlowText); + //CheckDlgButton(hwnd, IDC_CB_TOP, m_bAlwaysOnTop); + //CheckDlgButton(hwnd, IDC_CB_CLS, !m_bClearScreenAtStartup); + //CheckDlgButton(hwnd, IDC_CB_NOWARN, m_bWarningsDisabled); + CheckDlgButton(hwnd, IDC_CB_NOWARN2, m_bWarningsDisabled2); + //CheckDlgButton(hwnd, IDC_CB_ANISO, m_bAnisotropicFiltering); + CheckDlgButton(hwnd, IDC_CB_SCROLLON, m_bPresetLockOnAtStartup); + CheckDlgButton(hwnd, IDC_CB_SCROLLON2, m_bPreventScollLockHandling); + //CheckDlgButton(hwnd, IDC_CB_PINKFIX, m_bFixPinkBug); + CheckDlgButton(hwnd, IDC_CB_NORATING, !m_bEnableRating); + CheckDlgButton(hwnd, IDC_CB_AUTOGAMMA, m_bAutoGamma); + + RefreshTab2(hwnd); + } + break; // case WM_INITDIALOG + + case WM_COMMAND: + { + int id = LOWORD(wParam); + //g_ignore_tab2_clicks = 1; + switch (id) + { + case IDC_CB_NORATING: + m_bEnableRating = !DlgItemIsChecked(hwnd, IDC_CB_NORATING); + RefreshTab2(hwnd); + break; + + case IDC_CB_AUTOGAMMA: + m_bAutoGamma = DlgItemIsChecked(hwnd, IDC_CB_AUTOGAMMA); + RefreshTab2(hwnd); + break; + + } + //g_ignore_tab2_clicks = 0; + } // end WM_COMMAND case + break; + + case WM_DESTROY: // read controls here + { + ReadCBValue(hwnd, IDC_SHADERS , &m_nMaxPSVersion_ConfigPanel ); + ReadCBValue(hwnd, IDC_TEXFORMAT , &m_nTexBitsPerCh ); + ReadCBValue(hwnd, IDC_TEXSIZECOMBO , &m_nTexSizeX ); + ReadCBValue(hwnd, IDC_MESHSIZECOMBO, &m_nGridX ); + ReadCBValue(hwnd, IDC_STRETCH , &m_nCanvasStretch); + + // 16-bit-brightness slider - this one doesn't use item values... just item pos. + t = SendMessage( GetDlgItem( hwnd, IDC_BRIGHT_SLIDER ), TBM_GETPOS, 0, 0); + if (t != CB_ERR) m_n16BitGamma = t; + + // checkboxes + g_bDebugOutput = DlgItemIsChecked(hwnd, IDC_CB_DEBUGOUTPUT); + //m_bShowPressF1ForHelp = (!DlgItemIsChecked(hwnd, IDC_CB_PRESSF1)); + //m_bShowMenuToolTips = DlgItemIsChecked(hwnd, IDC_CB_TOOLTIPS); + //m_bClearScreenAtStartup = !DlgItemIsChecked(hwnd, IDC_CB_CLS); + //m_bAlways3D = DlgItemIsChecked(hwnd, IDC_CB_ALWAYS3D); + //m_bFixSlowText = DlgItemIsChecked(hwnd, IDC_CB_FIXSLOWTEXT); + //m_bAlwaysOnTop = DlgItemIsChecked(hwnd, IDC_CB_TOP); + //m_bWarningsDisabled = DlgItemIsChecked(hwnd, IDC_CB_NOWARN); + m_bWarningsDisabled2 = DlgItemIsChecked(hwnd, IDC_CB_NOWARN2); + //m_bAnisotropicFiltering = DlgItemIsChecked(hwnd, IDC_CB_ANISO); + m_bPresetLockOnAtStartup = DlgItemIsChecked(hwnd, IDC_CB_SCROLLON); + m_bPreventScollLockHandling = DlgItemIsChecked(hwnd, IDC_CB_SCROLLON2); + + //m_bFixPinkBug = DlgItemIsChecked(hwnd, IDC_CB_PINKFIX); + m_bEnableRating = !DlgItemIsChecked(hwnd, IDC_CB_NORATING); + m_bAutoGamma = DlgItemIsChecked(hwnd, IDC_CB_AUTOGAMMA); + + } + break; // case WM_DESTROY + + case WM_HELP: // give help box for controls here + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024], buf[2048], ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + + StringCbCopyW(title, sizeof(title), ctrl_name); + + switch(ph->iCtrlId) + { + case IDC_SHADERS: + case IDC_SHADERS_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_PIXEL_SHADERS, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_PIXEL_SHADERS_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_TEXFORMAT: + case IDC_TEXFORMAT_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_TEXFORMAT, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_TEXFORMAT_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_TEXSIZECOMBO: + case IDC_TEXSIZECOMBO_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_CANVAS_SIZE, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_CANVAS_SIZE_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_STRETCH: + case IDC_STRETCH_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_CANVAS_STRETCH, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_CANVAS_STRETCH_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_MESHSIZECOMBO: + case IDC_MESHSIZECOMBO_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_MESH_SIZE, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_MESH_SIZE_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_ALWAYS3D: + WASABI_API_LNGSTRINGW_BUF(IDS_CB_ALWAYS3D, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_NORATING: + WASABI_API_LNGSTRINGW_BUF(IDS_DISABLE_PRESET_RATING, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_DISABLE_PRESET_RATING_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_NOWARN2: + WASABI_API_LNGSTRINGW_BUF(IDS_CB_NOWARN2, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_SCROLLON: + WASABI_API_LNGSTRINGW_BUF(IDS_START_WITH_PRESET_LOCK_ON, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_START_WITH_PRESET_LOCK_ON_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_BRIGHT_SLIDER: + case IDC_BRIGHT_SLIDER_BOX: + case IDC_T1: + case IDC_T2: + case IDC_T3: + case IDC_T4: + case IDC_T5: + case IDC_CB_AUTOGAMMA: + GetWindowTextW(GetDlgItem(hwnd, IDC_BRIGHT_SLIDER_BOX), title, sizeof(title)/sizeof(*title)); + RemoveSingleAmpersands(title); + WASABI_API_LNGSTRINGW_BUF((ph->iCtrlId==IDC_CB_AUTOGAMMA?IDS_CB_AUTOGAMMA:IDS_BRIGHT_SLIDER), buf, sizeof(buf)/sizeof(*buf)); + break; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + break; // case WM_HELP + } + } + else if (nPage==3) + { + switch(msg) + { + case WM_INITDIALOG: + { + char buf[2048]; + HWND ctrl; + + //-------------- image cache max. bytes combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_MAX_BYTES ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_AUTO), -1); + AddItem(ctrl, FormImageCacheSizeString(L" 0", IDS_MB), 0); + AddItem(ctrl, FormImageCacheSizeString(L" 1", IDS_MB), 1000000); + AddItem(ctrl, FormImageCacheSizeString(L" 2", IDS_MB), 2000000); + AddItem(ctrl, FormImageCacheSizeString(L" 3", IDS_MB), 3000000); + AddItem(ctrl, FormImageCacheSizeString(L" 4", IDS_MB), 4000000); + AddItem(ctrl, FormImageCacheSizeString(L" 6", IDS_MB), 6000000); + AddItem(ctrl, FormImageCacheSizeString(L" 9", IDS_MB), 8000000); + AddItem(ctrl, FormImageCacheSizeString(L" 10", IDS_MB), 10000000); + AddItem(ctrl, FormImageCacheSizeString(L" 12", IDS_MB), 12000000); + AddItem(ctrl, FormImageCacheSizeString(L" 14", IDS_MB), 14000000); + AddItem(ctrl, FormImageCacheSizeString(L" 16", IDS_MB), 16000000); + AddItem(ctrl, FormImageCacheSizeString(L" 20", IDS_MB), 20000000); + AddItem(ctrl, FormImageCacheSizeString(L" 24", IDS_MB), 24000000); + AddItem(ctrl, FormImageCacheSizeString(L" 28", IDS_MB), 28000000); + AddItem(ctrl, FormImageCacheSizeString(L" 32", IDS_MB), 32000000); + AddItem(ctrl, FormImageCacheSizeString(L" 40", IDS_MB), 40000000); + AddItem(ctrl, FormImageCacheSizeString(L" 48", IDS_MB), 48000000); + AddItem(ctrl, FormImageCacheSizeString(L" 56", IDS_MB), 56000000); + AddItem(ctrl, FormImageCacheSizeString(L" 64", IDS_MB), 64000000); + AddItem(ctrl, FormImageCacheSizeString(L" 80", IDS_MB), 80000000); + AddItem(ctrl, FormImageCacheSizeString(L" 96", IDS_MB), 96000000); + AddItem(ctrl, FormImageCacheSizeString(L" 128", IDS_MB), 128000000); + AddItem(ctrl, FormImageCacheSizeString(L" 160", IDS_MB), 160000000); + AddItem(ctrl, FormImageCacheSizeString(L" 192", IDS_MB), 192000000); + AddItem(ctrl, FormImageCacheSizeString(L" 224", IDS_MB), 224000000); + AddItem(ctrl, FormImageCacheSizeString(L" 256", IDS_MB), 256000000); + AddItem(ctrl, FormImageCacheSizeString(L" 384", IDS_MB), 384000000); + AddItem(ctrl, FormImageCacheSizeString(L" 512", IDS_MB), 512000000); + AddItem(ctrl, FormImageCacheSizeString(L" 768", IDS_MB), 768000000); + AddItem(ctrl, FormImageCacheSizeString(L" 1", IDS_GB), 1000000000); + AddItem(ctrl, FormImageCacheSizeString(L"1.25", IDS_GB), 1250000000); + AddItem(ctrl, FormImageCacheSizeString(L" 1.5", IDS_GB), 1500000000); + AddItem(ctrl, FormImageCacheSizeString(L"1.75", IDS_GB), 1750000000); + AddItem(ctrl, FormImageCacheSizeString(L" 2", IDS_GB), 2000000000); + SelectItemByPos (ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nMaxBytes); + + //-------------- image cache max. # images combo box --------------------- + ctrl = GetDlgItem( hwnd, IDC_MAX_IMAGES ); + AddItem(ctrl, WASABI_API_LNGSTRINGW(IDS_AUTO), -1); + AddItem(ctrl, L" 0 ", 0); + AddItem(ctrl, L" 1 ", 1); + AddItem(ctrl, L" 2 ", 2); + AddItem(ctrl, L" 3 ", 3); + AddItem(ctrl, L" 4 ", 4); + AddItem(ctrl, L" 6 ", 6); + AddItem(ctrl, L" 8 ", 8); + AddItem(ctrl, L" 10 ", 10); + AddItem(ctrl, L" 12 ", 12); + AddItem(ctrl, L" 14 ", 14); + AddItem(ctrl, L" 16 ", 16); + AddItem(ctrl, L" 20 ", 20); + AddItem(ctrl, L" 24 ", 24); + AddItem(ctrl, L" 28 ", 28); + AddItem(ctrl, L" 32 ", 32); + AddItem(ctrl, L" 40 ", 40); + AddItem(ctrl, L" 48 ", 48); + AddItem(ctrl, L" 56 ", 56); + AddItem(ctrl, L" 64 ", 64); + AddItem(ctrl, L" 80 ", 80); + AddItem(ctrl, L" 96 ", 96); + AddItem(ctrl, L" 128 ",128); + AddItem(ctrl, L" 160 ",160); + AddItem(ctrl, L" 192 ",192); + AddItem(ctrl, L" 224 ",224); + AddItem(ctrl, L" 256 ",256); + AddItem(ctrl, L" 384 ",384); + AddItem(ctrl, L" 512 ",512); + AddItem(ctrl, L" 768 ",768); + AddItem(ctrl, L" 1024 ",1024); + AddItem(ctrl, L" 1536 ",1536); + AddItem(ctrl, L" 2048 ",2048); + SelectItemByPos (ctrl, 0); //as a safe default + SelectItemByValue(ctrl, m_nMaxImages); + + //sprintf(buf, " %3.2f", m_fStereoSep); + //SetWindowText( GetDlgItem( hwnd, IDC_3DSEP ), buf ); + + sprintf(buf, " %2.1f", m_fSongTitleAnimDuration); + SetWindowText(GetDlgItem( hwnd, IDC_SONGTITLEANIM_DURATION), buf); + sprintf(buf, " %2.1f", m_fTimeBetweenRandomSongTitles); + SetWindowText(GetDlgItem(hwnd, IDC_RAND_TITLE), buf); + sprintf(buf, " %2.1f", m_fTimeBetweenRandomCustomMsgs); + SetWindowText(GetDlgItem(hwnd, IDC_RAND_MSG), buf); + + CheckDlgButton(hwnd, IDC_CB_TITLE_ANIMS, m_bSongTitleAnims); + } + break; + case WM_COMMAND: + { + int id = LOWORD(wParam); + //g_ignore_tab2_clicks = 1; + switch (id) + { + case ID_SPRITE: + { + wchar_t szPath[512], szFile[512]; + lstrcpyW(szPath, GetConfigIniFile()); + wchar_t *p = wcsrchr(szPath, L'\\'); + if (p != NULL) + { + *(p+1) = 0; + lstrcpyW(szFile, szPath); + lstrcatW(szFile, IMG_INIFILE); + intptr_t ret = (intptr_t)ShellExecuteW(NULL, L"open", szFile, NULL, szPath, SW_SHOWNORMAL); + if (ret <= 32) + { + wchar_t* str = WASABI_API_LNGSTRINGW(IDS_ERROR_IN_SHELLEXECUTE); + MessageBoxW(hwnd, str, str, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + } + } + break; + + case ID_MSG: + { + wchar_t szPath[512], szFile[512]; + lstrcpyW(szPath, GetConfigIniFile()); + wchar_t *p = wcsrchr(szPath, L'\\'); + if (p != NULL) + { + *(p+1) = 0; + lstrcpyW(szFile, szPath); + lstrcatW(szFile, MSG_INIFILE); + intptr_t ret = (intptr_t)ShellExecuteW(NULL, L"open", szFile, NULL, szPath, SW_SHOWNORMAL); + if (ret <= 32) + { + wchar_t* str = WASABI_API_LNGSTRINGW(IDS_ERROR_IN_SHELLEXECUTE); + MessageBoxW(hwnd, str, str, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + } + } + break; + } + } + /*if (LOWORD(wParam)==IDLEFT) + DoColors(hwnd, &m_cLeftEye3DColor[0], &m_cLeftEye3DColor[1], &m_cLeftEye3DColor[2]); + if (LOWORD(wParam)==IDRIGHT) + DoColors(hwnd, &m_cRightEye3DColor[0], &m_cRightEye3DColor[1], &m_cRightEye3DColor[2]); + */ + break; + case WM_DESTROY: + { + ReadCBValue(hwnd, IDC_MAX_BYTES , &m_nMaxBytes ); + ReadCBValue(hwnd, IDC_MAX_IMAGES , &m_nMaxImages ); + + char buf[2048]; + + GetWindowText( GetDlgItem( hwnd, IDC_SONGTITLEANIM_DURATION ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fSongTitleAnimDuration = val; + GetWindowText( GetDlgItem( hwnd, IDC_RAND_TITLE ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fTimeBetweenRandomSongTitles = val; + GetWindowText( GetDlgItem( hwnd, IDC_RAND_MSG ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fTimeBetweenRandomCustomMsgs = val; + + m_bSongTitleAnims = DlgItemIsChecked(hwnd, IDC_CB_TITLE_ANIMS); + } + break; + case WM_HELP: // give help box for controls here + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024], buf[2048], ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + + StringCbCopyW(title, sizeof(title), ctrl_name); + + switch(ph->iCtrlId) + { + case IDC_MAX_IMAGES: + case IDC_MAX_IMAGES_CAPTION: + case IDC_MAX_BYTES: + case IDC_MAX_BYTES_CAPTION: + WASABI_API_LNGSTRINGW_BUF(IDS_MAX_IMAGES_BYTES, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_MAX_IMAGES_BYTES_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case ID_SPRITE: + WASABI_API_LNGSTRINGW_BUF(IDS_SPRITE, buf, sizeof(buf)/sizeof(*buf)); + break; + + case ID_MSG: + WASABI_API_LNGSTRINGW_BUF(IDS_MSG, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_SONGTITLEANIM_DURATION: + case IDC_SONGTITLEANIM_DURATION_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_SONGTITLEANIM_DURATION_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_SONGTITLEANIM_DURATION_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_RAND_TITLE: + case IDC_RAND_TITLE_LABEL: + WASABI_API_LNGSTRINGW_BUF(IDS_RAND_TITLE, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_RAND_TITLE_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_RAND_MSG: + case IDC_RAND_MSG_LABEL: + WASABI_API_LNGSTRINGW_BUF(IDS_RAND_MSG, title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_RAND_MSG_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_TITLE_ANIMS: + WASABI_API_LNGSTRINGW_BUF(IDS_TITLE_ANIMS_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + break; // case WM_HELP + } + } + else if (nPage==4) + { + switch(msg) + { + case WM_INITDIALOG: + { + char buf[2048]; + + // soft cuts + sprintf(buf, " %2.1f", m_fTimeBetweenPresets); + SetWindowText( GetDlgItem( hwnd, IDC_BETWEEN_TIME ), buf ); + sprintf(buf, " %2.1f", m_fTimeBetweenPresetsRand); + SetWindowText( GetDlgItem( hwnd, IDC_BETWEEN_TIME_RANDOM ), buf ); + sprintf(buf, " %2.1f", m_fBlendTimeUser); + SetWindowText( GetDlgItem( hwnd, IDC_BLEND_USER ), buf ); + sprintf(buf, " %2.1f", m_fBlendTimeAuto); + SetWindowText( GetDlgItem( hwnd, IDC_BLEND_AUTO ), buf ); + + // hard cuts + sprintf(buf, " %2.1f", m_fHardCutHalflife); + SetWindowText( GetDlgItem( hwnd, IDC_HARDCUT_BETWEEN_TIME ), buf ); + + int n = (int)((m_fHardCutLoudnessThresh - 1.25f) * 10.0f); + if (n<0) n = 0; + if (n>20) n = 20; + SendMessage( GetDlgItem( hwnd, IDC_HARDCUT_LOUDNESS), TBM_SETRANGEMIN, FALSE, (LPARAM)(0) ); + SendMessage( GetDlgItem( hwnd, IDC_HARDCUT_LOUDNESS), TBM_SETRANGEMAX, FALSE, (LPARAM)(20) ); + SendMessage( GetDlgItem( hwnd, IDC_HARDCUT_LOUDNESS), TBM_SETPOS, TRUE, (LPARAM)(n) ); + + CheckDlgButton(hwnd, IDC_CB_HARDCUTS, m_bHardCutsDisabled); + } + break; + case WM_DESTROY: + { + char buf[2048]; + + // soft cuts + GetWindowText( GetDlgItem( hwnd, IDC_BETWEEN_TIME ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fTimeBetweenPresets = val; + GetWindowText( GetDlgItem( hwnd, IDC_BETWEEN_TIME_RANDOM ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fTimeBetweenPresetsRand = val; + GetWindowText( GetDlgItem( hwnd, IDC_BLEND_AUTO ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fBlendTimeAuto = val; + GetWindowText( GetDlgItem( hwnd, IDC_BLEND_USER ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fBlendTimeUser = val; + + // hard cuts + GetWindowText( GetDlgItem( hwnd, IDC_HARDCUT_BETWEEN_TIME ), buf, sizeof(buf)); + if (_sscanf_l(buf, "%f", g_use_C_locale, &val) == 1) + m_fHardCutHalflife = val; + + t = SendMessage( GetDlgItem( hwnd, IDC_HARDCUT_LOUDNESS ), TBM_GETPOS, 0, 0); + if (t != CB_ERR) m_fHardCutLoudnessThresh = 1.25f + t/10.0f; + + m_bHardCutsDisabled = DlgItemIsChecked(hwnd, IDC_CB_HARDCUTS); + } + break; + case WM_HELP: + if (lParam) + { + HELPINFO *ph = (HELPINFO*)lParam; + wchar_t title[1024], buf[2048], ctrl_name[1024]; + GetWindowTextW(GetDlgItem(hwnd, ph->iCtrlId), ctrl_name, sizeof(ctrl_name)/sizeof(*ctrl_name)); + RemoveSingleAmpersands(ctrl_name); + buf[0] = 0; + + StringCbCopyW(title, sizeof(title), ctrl_name); + + switch(ph->iCtrlId) + { + case IDC_BETWEEN_TIME: + case IDC_BETWEEN_TIME_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_BETWEEN_TIME_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_BETWEEN_TIME_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_BETWEEN_TIME_RANDOM: + case IDC_BETWEEN_TIME_RANDOM_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_BETWEEN_TIME_RANDOM_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_BETWEEN_TIME_RANDOM_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_BLEND_AUTO: + case IDC_BLEND_AUTO_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_BLEND_AUTO_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_BLEND_AUTO_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_BLEND_USER: + case IDC_BLEND_USER_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_BLEND_USER_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_BLEND_USER_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_HARDCUT_BETWEEN_TIME: + case IDC_HARDCUT_BETWEEN_TIME_LABEL: + GetWindowTextW(GetDlgItem(hwnd, IDC_HARDCUT_BETWEEN_TIME_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_HARDCUT_BETWEEN_TIME_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_HARDCUT_LOUDNESS: + case IDC_HARDCUT_LOUDNESS_LABEL: + case IDC_HARDCUT_LOUDNESS_MIN: + case IDC_HARDCUT_LOUDNESS_MAX: + GetWindowTextW(GetDlgItem(hwnd, IDC_HARDCUT_LOUDNESS_LABEL), title, sizeof(title)/sizeof(*title)); + WASABI_API_LNGSTRINGW_BUF(IDS_HARDCUT_LOUDNESS_TEXT, buf, sizeof(buf)/sizeof(*buf)); + break; + + case IDC_CB_HARDCUTS: + WASABI_API_LNGSTRINGW_BUF(IDS_CB_HARDCUTS, buf, sizeof(buf)/sizeof(*buf)); + break; + } + + if (buf[0]) + MessageBoxW(hwnd, buf, title, MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + } + break; + } + } + return false; +} + +//---------------------------------------------------------------------- + +void CPlugin::Randomize() +{ + srand((int)(GetTime()*100)); + //m_fAnimTime = (warand() % 51234L)*0.01f; + m_fRandStart[0] = (warand() % 64841L)*0.01f; + m_fRandStart[1] = (warand() % 53751L)*0.01f; + m_fRandStart[2] = (warand() % 42661L)*0.01f; + m_fRandStart[3] = (warand() % 31571L)*0.01f; + + //CState temp; + //temp.Randomize(warand() % NUM_MODES); + //m_pState->StartBlend(&temp, m_fAnimTime, m_fBlendTimeUser); +} + +//---------------------------------------------------------------------- + +void CPlugin::SetMenusForPresetVersion(int WarpPSVersion, int CompPSVersion) +{ + int MaxPSVersion = max(WarpPSVersion, CompPSVersion); + + m_menuPreset.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_WARP_SHADER), WarpPSVersion > 0); + m_menuPreset.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_COMPOSITE_SHADER), CompPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_SUSTAIN_LEVEL), WarpPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_TEXTURE_WRAP), WarpPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_GAMMA_ADJUSTMENT), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_HUE_SHADER), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_VIDEO_ECHO_ALPHA), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_VIDEO_ECHO_ZOOM), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_VIDEO_ECHO_ORIENTATION), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_FILTER_INVERT), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_FILTER_BRIGHTEN), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_FILTER_DARKEN), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_FILTER_SOLARIZE), CompPSVersion==0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR1_MIN_COLOR_VALUE), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR1_MAX_COLOR_VALUE), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR2_MIN_COLOR_VALUE), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR2_MAX_COLOR_VALUE), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR3_MIN_COLOR_VALUE), MaxPSVersion > 0); + m_menuPost.EnableItem(WASABI_API_LNGSTRINGW(IDS_MENU_BLUR3_MAX_COLOR_VALUE), MaxPSVersion > 0); +} + +void CPlugin::BuildMenus() +{ + wchar_t buf[1024]; + + m_pCurMenu = &m_menuPreset;//&m_menuMain; + + m_menuPreset .Init(WASABI_API_LNGSTRINGW(IDS_EDIT_CURRENT_PRESET)); + m_menuMotion .Init(WASABI_API_LNGSTRINGW(IDS_MOTION)); + m_menuCustomShape.Init(WASABI_API_LNGSTRINGW(IDS_DRAWING_CUSTOM_SHAPES)); + m_menuCustomWave .Init(WASABI_API_LNGSTRINGW(IDS_DRAWING_CUSTOM_WAVES)); + m_menuWave .Init(WASABI_API_LNGSTRINGW(IDS_DRAWING_SIMPLE_WAVEFORM)); + m_menuAugment .Init(WASABI_API_LNGSTRINGW(IDS_DRAWING_BORDERS_MOTION_VECTORS)); + m_menuPost .Init(WASABI_API_LNGSTRINGW(IDS_POST_PROCESSING_MISC)); + for (int i=0; im_szPerFrameInit, MENUITEMTYPE_STRING, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_PRESET_INIT_CODE_TT, buf, 1024), + 256, 0, &OnUserEditedPresetInit, sizeof(m_pState->m_szPerFrameInit), 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_PER_FRAME_EQUATIONS), + &m_pState->m_szPerFrameExpr, MENUITEMTYPE_STRING, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_PER_FRAME_EQUATIONS_TT, buf, 1024), + 256, 0, &OnUserEditedPerFrame, sizeof(m_pState->m_szPerFrameExpr), 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_PER_VERTEX_EQUATIONS), + &m_pState->m_szPerPixelExpr, MENUITEMTYPE_STRING, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_PER_VERTEX_EQUATIONS_TT, buf, 1024), + 256, 0, &OnUserEditedPerPixel, sizeof(m_pState->m_szPerPixelExpr), 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_WARP_SHADER), + &m_pState->m_szWarpShadersText, MENUITEMTYPE_STRING, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_WARP_SHADER_TT, buf, 1024), + 256, 0, &OnUserEditedWarpShaders, sizeof(m_pState->m_szWarpShadersText), 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_COMPOSITE_SHADER), + &m_pState->m_szCompShadersText, MENUITEMTYPE_STRING, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_COMPOSITE_SHADER_TT, buf, 1024), + 256, 0, &OnUserEditedCompShaders, sizeof(m_pState->m_szCompShadersText), 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION), + (void*)UI_UPGRADE_PIXEL_SHADER, MENUITEMTYPE_UIMODE, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION_TT, buf, 1024), + 0, 0, NULL, UI_UPGRADE_PIXEL_SHADER, 0); + + m_menuPreset.AddItem(WASABI_API_LNGSTRINGW(IDS_MENU_EDIT_DO_A_PRESET_MASH_UP), + (void*)UI_MASHUP, MENUITEMTYPE_UIMODE, + WASABI_API_LNGSTRINGW_BUF(IDS_MENU_EDIT_DO_A_PRESET_MASH_UP_TT, buf, 1024), + 0, 0, NULL, UI_MASHUP, 0); + + //------------------------------------------- + + // menu items + #define MEN_T(id) WASABI_API_LNGSTRINGW(id) + #define MEN_TT(id) WASABI_API_LNGSTRINGW_BUF(id, buf, 1024) + + m_menuWave.AddItem(MEN_T(IDS_MENU_WAVE_TYPE), &m_pState->m_nWaveMode, MENUITEMTYPE_INT, MEN_TT(IDS_MENU_WAVE_TYPE_TT), 0, NUM_WAVES-1); + m_menuWave.AddItem(MEN_T(IDS_MENU_SIZE), &m_pState->m_fWaveScale, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_SIZE_TT)); + m_menuWave.AddItem(MEN_T(IDS_MENU_SMOOTH), &m_pState->m_fWaveSmoothing,MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_SMOOTH_TT), 0.0f, 0.9f); + m_menuWave.AddItem(MEN_T(IDS_MENU_MYSTERY_PARAMETER), &m_pState->m_fWaveParam, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_MYSTERY_PARAMETER_TT), -1.0f, 1.0f); + m_menuWave.AddItem(MEN_T(IDS_MENU_POSITION_X), &m_pState->m_fWaveX, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_POSITION_X_TT), 0, 1); + m_menuWave.AddItem(MEN_T(IDS_MENU_POSITION_Y), &m_pState->m_fWaveY, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_POSITION_Y_TT), 0, 1); + m_menuWave.AddItem(MEN_T(IDS_MENU_COLOR_RED), &m_pState->m_fWaveR, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_RED_TT), 0, 1); + m_menuWave.AddItem(MEN_T(IDS_MENU_COLOR_GREEN), &m_pState->m_fWaveG, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_GREEN_TT), 0, 1); + m_menuWave.AddItem(MEN_T(IDS_MENU_COLOR_BLUE), &m_pState->m_fWaveB, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_BLUE_TT), 0, 1); + m_menuWave.AddItem(MEN_T(IDS_MENU_OPACITY), &m_pState->m_fWaveAlpha, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_OPACITY_TT), 0.001f, 100.0f); + m_menuWave.AddItem(MEN_T(IDS_MENU_USE_DOTS), &m_pState->m_bWaveDots, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_USE_DOTS_TT)); + m_menuWave.AddItem(MEN_T(IDS_MENU_DRAW_THICK), &m_pState->m_bWaveThick, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_DRAW_THICK_TT)); + m_menuWave.AddItem(MEN_T(IDS_MENU_MODULATE_OPACITY_BY_VOLUME), &m_pState->m_bModWaveAlphaByVolume, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_MODULATE_OPACITY_BY_VOLUME_TT)); + m_menuWave.AddItem(MEN_T(IDS_MENU_MODULATION_TRANSPARENT_VOLUME), &m_pState->m_fModWaveAlphaStart, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_MODULATION_TRANSPARENT_VOLUME_TT), 0.0f, 2.0f); + m_menuWave.AddItem(MEN_T(IDS_MENU_MODULATION_OPAQUE_VOLUME), &m_pState->m_fModWaveAlphaEnd, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_MODULATION_OPAQUE_VOLUME_TT), 0.0f, 2.0f); + m_menuWave.AddItem(MEN_T(IDS_MENU_ADDITIVE_DRAWING), &m_pState->m_bAdditiveWaves, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_ADDITIVE_DRAWING_TT)); + m_menuWave.AddItem(MEN_T(IDS_MENU_COLOR_BRIGHTENING), &m_pState->m_bMaximizeWaveColor, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_COLOR_BRIGHTENING_TT)); + + m_menuAugment.AddItem(MEN_T(IDS_MENU_OUTER_BORDER_THICKNESS), &m_pState->m_fOuterBorderSize, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_OUTER_BORDER_THICKNESS_TT), 0, 0.5f); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_RED_OUTER), &m_pState->m_fOuterBorderR, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_RED_OUTER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_GREEN_OUTER), &m_pState->m_fOuterBorderG, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_GREEN_OUTER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_BLUE_OUTER), &m_pState->m_fOuterBorderB, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_BLUE_OUTER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_OPACITY_OUTER), &m_pState->m_fOuterBorderA, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_OPACITY_OUTER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_INNER_BORDER_THICKNESS), &m_pState->m_fInnerBorderSize, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_INNER_BORDER_THICKNESS_TT), 0, 0.5f); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_RED_OUTER), &m_pState->m_fInnerBorderR, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_RED_INNER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_GREEN_OUTER), &m_pState->m_fInnerBorderG, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_GREEN_INNER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_BLUE_OUTER), &m_pState->m_fInnerBorderB, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_BLUE_INNER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_OPACITY_OUTER), &m_pState->m_fInnerBorderA, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_OPACITY_INNER_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_MOTION_VECTOR_OPACITY), &m_pState->m_fMvA, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_MOTION_VECTOR_OPACITY_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_NUM_MOT_VECTORS_X), &m_pState->m_fMvX, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_NUM_MOT_VECTORS_X_TT), 0, 64); + m_menuAugment.AddItem(MEN_T(IDS_MENU_NUM_MOT_VECTORS_Y), &m_pState->m_fMvY, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_NUM_MOT_VECTORS_Y_TT), 0, 48); + m_menuAugment.AddItem(MEN_T(IDS_MENU_OFFSET_X), &m_pState->m_fMvDX, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_OFFSET_X_TT), -1, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_OFFSET_Y), &m_pState->m_fMvDY, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_OFFSET_Y_TT), -1, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_TRAIL_LENGTH), &m_pState->m_fMvL, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_TRAIL_LENGTH_TT), 0, 5); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_RED_OUTER), &m_pState->m_fMvR, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_RED_MOTION_VECTOR_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_GREEN_OUTER), &m_pState->m_fMvG, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_GREEN_MOTION_VECTOR_TT), 0, 1); + m_menuAugment.AddItem(MEN_T(IDS_MENU_COLOR_BLUE_OUTER), &m_pState->m_fMvB, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_COLOR_BLUE_MOTION_VECTOR_TT), 0, 1); + + m_menuMotion.AddItem(MEN_T(IDS_MENU_ZOOM_AMOUNT), &m_pState->m_fZoom, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_ZOOM_AMOUNT_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_ZOOM_EXPONENT), &m_pState->m_fZoomExponent, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_ZOOM_EXPONENT_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_WARP_AMOUNT), &m_pState->m_fWarpAmount, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_WARP_AMOUNT_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_WARP_SCALE), &m_pState->m_fWarpScale, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_WARP_SCALE_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_WARP_SPEED), &m_pState->m_fWarpAnimSpeed, MENUITEMTYPE_LOGFLOAT, MEN_TT(IDS_MENU_WARP_SPEED_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_ROTATION_AMOUNT), &m_pState->m_fRot, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_ROTATION_AMOUNT_TT), -1.00f, 1.00f); + m_menuMotion.AddItem(MEN_T(IDS_MENU_ROTATION_CENTER_OF_X), &m_pState->m_fRotCX, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_ROTATION_CENTER_OF_X_TT), -1.0f, 2.0f); + m_menuMotion.AddItem(MEN_T(IDS_MENU_ROTATION_CENTER_OF_Y), &m_pState->m_fRotCY, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_ROTATION_CENTER_OF_Y_TT), -1.0f, 2.0f); + m_menuMotion.AddItem(MEN_T(IDS_MENU_TRANSLATION_X), &m_pState->m_fXPush, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_TRANSLATION_X_TT), -1.0f, 1.0f); + m_menuMotion.AddItem(MEN_T(IDS_MENU_TRANSLATION_Y), &m_pState->m_fYPush, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_TRANSLATION_Y_TT), -1.0f, 1.0f); + m_menuMotion.AddItem(MEN_T(IDS_MENU_SCALING_X), &m_pState->m_fStretchX, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_SCALING_X_TT)); + m_menuMotion.AddItem(MEN_T(IDS_MENU_SCALING_Y), &m_pState->m_fStretchY, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_SCALING_Y_TT)); + + m_menuPost.AddItem(MEN_T(IDS_MENU_SUSTAIN_LEVEL), &m_pState->m_fDecay, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_SUSTAIN_LEVEL_TT), 0.50f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_DARKEN_CENTER), &m_pState->m_bDarkenCenter, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_DARKEN_CENTER_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_GAMMA_ADJUSTMENT), &m_pState->m_fGammaAdj, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_GAMMA_ADJUSTMENT_TT), 1.0f, 8.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_HUE_SHADER), &m_pState->m_fShader, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_HUE_SHADER_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_VIDEO_ECHO_ALPHA), &m_pState->m_fVideoEchoAlpha, MENUITEMTYPE_BLENDABLE, MEN_TT(IDS_MENU_VIDEO_ECHO_ALPHA_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_VIDEO_ECHO_ZOOM), &m_pState->m_fVideoEchoZoom, MENUITEMTYPE_LOGBLENDABLE, MEN_TT(IDS_MENU_VIDEO_ECHO_ZOOM_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_VIDEO_ECHO_ORIENTATION), &m_pState->m_nVideoEchoOrientation, MENUITEMTYPE_INT, MEN_TT(IDS_MENU_VIDEO_ECHO_ORIENTATION_TT), 0.0f, 3.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_TEXTURE_WRAP), &m_pState->m_bTexWrap, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_TEXTURE_WRAP_TT)); + //m_menuPost.AddItem("stereo 3D", &m_pState->m_bRedBlueStereo, MENUITEMTYPE_BOOL, "displays the image in stereo 3D; you need 3D glasses (with red and blue lenses) for this."); + m_menuPost.AddItem(MEN_T(IDS_MENU_FILTER_INVERT), &m_pState->m_bInvert, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_FILTER_INVERT_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_FILTER_BRIGHTEN), &m_pState->m_bBrighten, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_FILTER_BRIGHTEN_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_FILTER_DARKEN), &m_pState->m_bDarken, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_FILTER_DARKEN_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_FILTER_SOLARIZE), &m_pState->m_bSolarize, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_FILTER_SOLARIZE_TT)); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT),&m_pState->m_fBlur1EdgeDarken, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR1_MIN_COLOR_VALUE), &m_pState->m_fBlur1Min, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR1_MIN_COLOR_VALUE_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR1_MAX_COLOR_VALUE), &m_pState->m_fBlur1Max, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR1_MAX_COLOR_VALUE_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR2_MIN_COLOR_VALUE), &m_pState->m_fBlur2Min, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR2_MIN_COLOR_VALUE_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR2_MAX_COLOR_VALUE), &m_pState->m_fBlur2Max, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR2_MAX_COLOR_VALUE_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR3_MIN_COLOR_VALUE), &m_pState->m_fBlur3Min, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR3_MIN_COLOR_VALUE_TT), 0.0f, 1.0f); + m_menuPost.AddItem(MEN_T(IDS_MENU_BLUR3_MAX_COLOR_VALUE), &m_pState->m_fBlur3Max, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BLUR3_MAX_COLOR_VALUE_TT), 0.0f, 1.0f); + + for (i=0; im_wave[i].enabled, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_ENABLED_TT)); // bool + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_NUMBER_OF_SAMPLES),&m_pState->m_wave[i].samples, MENUITEMTYPE_INT, MEN_TT(IDS_MENU_NUMBER_OF_SAMPLES_TT), 2, 512); // 0-512 + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_L_R_SEPARATION), &m_pState->m_wave[i].sep, MENUITEMTYPE_INT, MEN_TT(IDS_MENU_L_R_SEPARATION_TT), 0, 256); // 0-512 + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_SCALING), &m_pState->m_wave[i].scaling, MENUITEMTYPE_LOGFLOAT, MEN_TT(IDS_MENU_SCALING_TT)); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_SMOOTH), &m_pState->m_wave[i].smoothing, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_SMOOTHING_TT), 0, 1); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_COLOR_RED), &m_pState->m_wave[i].r, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_COLOR_RED_TT), 0, 1); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_COLOR_GREEN), &m_pState->m_wave[i].g, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_COLOR_GREEN_TT), 0, 1); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_COLOR_BLUE), &m_pState->m_wave[i].b, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_COLOR_BLUE_TT), 0, 1); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_OPACITY), &m_pState->m_wave[i].a, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_OPACITY_WAVE_TT), 0, 1); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_USE_SPECTRUM), &m_pState->m_wave[i].bSpectrum, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_USE_SPECTRUM_TT)); // 0-5 [0=wave left, 1=wave center, 2=wave right; 3=spectrum left, 4=spec center, 5=spec right] + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_USE_DOTS), &m_pState->m_wave[i].bUseDots, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_USE_DOTS_WAVE_TT)); // bool + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_DRAW_THICK), &m_pState->m_wave[i].bDrawThick,MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_DRAW_THICK_WAVE_TT)); // bool + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_ADDITIVE_DRAWING), &m_pState->m_wave[i].bAdditive, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_ADDITIVE_DRAWING_WAVE_TT)); // bool + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_EXPORT_TO_FILE), (void*)UI_EXPORT_WAVE, MENUITEMTYPE_UIMODE,MEN_TT(IDS_MENU_EXPORT_TO_FILE_TT), 0, 0, NULL, UI_EXPORT_WAVE, i); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_IMPORT_FROM_FILE), (void*)UI_IMPORT_WAVE, MENUITEMTYPE_UIMODE,MEN_TT(IDS_MENU_IMPORT_FROM_FILE_TT), 0, 0, NULL, UI_IMPORT_WAVE, i); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_EDIT_INIT_CODE), &m_pState->m_wave[i].m_szInit, MENUITEMTYPE_STRING,MEN_TT(IDS_MENU_EDIT_INIT_CODE_TT), 256, 0, &OnUserEditedWavecodeInit, sizeof(m_pState->m_wave[i].m_szInit), 0); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_EDIT_PER_FRAME_CODE), &m_pState->m_wave[i].m_szPerFrame, MENUITEMTYPE_STRING, MEN_TT(IDS_MENU_EDIT_PER_FRAME_CODE_TT), 256, 0, &OnUserEditedWavecode, sizeof(m_pState->m_wave[i].m_szPerFrame), 0); + m_menuWavecode[i].AddItem(MEN_T(IDS_MENU_EDIT_PER_POINT_CODE), &m_pState->m_wave[i].m_szPerPoint, MENUITEMTYPE_STRING, MEN_TT(IDS_MENU_EDIT_PER_POINT_CODE_TT), 256, 0, &OnUserEditedWavecode, sizeof(m_pState->m_wave[i].m_szPerPoint), 0); + } + + for (i=0; im_shape[i].enabled, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_ENABLED_SHAPE_TT)); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_NUMBER_OF_INSTANCES), &m_pState->m_shape[i].instances,MENUITEMTYPE_INT, MEN_TT(IDS_MENU_NUMBER_OF_INSTANCES_TT), 1, 1024); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_NUMBER_OF_SIDES), &m_pState->m_shape[i].sides, MENUITEMTYPE_INT, MEN_TT(IDS_MENU_NUMBER_OF_SIDES_TT), 3, 100); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_DRAW_THICK), &m_pState->m_shape[i].thickOutline, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_DRAW_THICK_SHAPE_TT)); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_ADDITIVE_DRAWING), &m_pState->m_shape[i].additive, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_ADDITIVE_DRAWING_SHAPE_TT)); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_X_POSITION), &m_pState->m_shape[i].x, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_X_POSITION_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_Y_POSITION), &m_pState->m_shape[i].y, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_Y_POSITION_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_RADIUS), &m_pState->m_shape[i].rad, MENUITEMTYPE_LOGFLOAT, MEN_TT(IDS_MENU_RADIUS_TT)); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_ANGLE), &m_pState->m_shape[i].ang, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_ANGLE_TT), 0, 3.1415927f*2.0f); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_TEXTURED), &m_pState->m_shape[i].textured, MENUITEMTYPE_BOOL, MEN_TT(IDS_MENU_TEXTURED_TT)); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_TEXTURE_ZOOM), &m_pState->m_shape[i].tex_zoom, MENUITEMTYPE_LOGFLOAT, MEN_TT(IDS_MENU_TEXTURE_ZOOM_TT)); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_TEXTURE_ANGLE), &m_pState->m_shape[i].tex_ang, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_TEXTURE_ANGLE_TT), 0, 3.1415927f*2.0f); // bool + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_INNER_COLOR_RED), &m_pState->m_shape[i].r, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_INNER_COLOR_RED_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_INNER_COLOR_GREEN), &m_pState->m_shape[i].g, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_INNER_COLOR_GREEN_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_INNER_COLOR_BLUE), &m_pState->m_shape[i].b, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_INNER_COLOR_BLUE_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_INNER_OPACITY), &m_pState->m_shape[i].a, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_INNER_OPACITY_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_OUTER_COLOR_RED), &m_pState->m_shape[i].r2, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_OUTER_COLOR_RED_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_OUTER_COLOR_GREEN), &m_pState->m_shape[i].g2, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_OUTER_COLOR_GREEN_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_OUTER_COLOR_BLUE), &m_pState->m_shape[i].b2, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_OUTER_COLOR_BLUE_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_OUTER_OPACITY), &m_pState->m_shape[i].a2, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_OUTER_OPACITY_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_BORDER_COLOR_RED), &m_pState->m_shape[i].border_r, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BORDER_COLOR_RED_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_BORDER_COLOR_GREEN), &m_pState->m_shape[i].border_g, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BORDER_COLOR_GREEN_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_BORDER_COLOR_BLUE), &m_pState->m_shape[i].border_b, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BORDER_COLOR_BLUE_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_BORDER_OPACITY), &m_pState->m_shape[i].border_a, MENUITEMTYPE_FLOAT, MEN_TT(IDS_MENU_BORDER_OPACITY_TT), 0, 1); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_EXPORT_TO_FILE), NULL, MENUITEMTYPE_UIMODE, MEN_TT(IDS_MENU_EXPORT_TO_FILE_SHAPE_TT), 0, 0, NULL, UI_EXPORT_SHAPE, i); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_IMPORT_FROM_FILE), NULL, MENUITEMTYPE_UIMODE, MEN_TT(IDS_MENU_IMPORT_FROM_FILE_SHAPE_TT), 0, 0, NULL, UI_IMPORT_SHAPE, i); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_EDIT_INIT_CODE), &m_pState->m_shape[i].m_szInit, MENUITEMTYPE_STRING, MEN_TT(IDS_MENU_EDIT_INIT_CODE_SHAPE_TT), 256, 0, &OnUserEditedShapecodeInit, sizeof(m_pState->m_shape[i].m_szInit), 0); + m_menuShapecode[i].AddItem(MEN_T(IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE), &m_pState->m_shape[i].m_szPerFrame, MENUITEMTYPE_STRING, MEN_TT(IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE_TT), 256, 0, &OnUserEditedShapecode, sizeof(m_pState->m_shape[i].m_szPerFrame), 0); + //m_menuShapecode[i].AddItem("[ edit per-point code ]",&m_pState->m_shape[i].m_szPerPoint, MENUITEMTYPE_STRING, "IN: sample [0..1]; value1 [left ch], value2 [right ch], plus all vars for per-frame code / OUT: x,y; r,g,b,a; t1-t8", 256, 0, &OnUserEditedWavecode); + } +} + +void CPlugin::WriteRealtimeConfig() +{ + WritePrivateProfileIntW(m_bShowFPS, L"bShowFPS",GetConfigIniFile(), L"settings"); + WritePrivateProfileIntW(m_bShowRating, L"bShowRating",GetConfigIniFile(), L"settings"); + WritePrivateProfileIntW(m_bShowPresetInfo, L"bShowPresetInfo",GetConfigIniFile(), L"settings"); + WritePrivateProfileIntW(m_bShowSongTitle, L"bShowSongTitle",GetConfigIniFile(), L"settings"); + WritePrivateProfileIntW(m_bShowSongTime, L"bShowSongTime",GetConfigIniFile(), L"settings"); + WritePrivateProfileIntW(m_bShowSongLen, L"bShowSongLen",GetConfigIniFile(), L"settings"); +} + +void CPlugin::dumpmsg(wchar_t *s) +{ + #if _DEBUG + OutputDebugStringW(s); + if (s[0]) + { + int len = lstrlenW(s); + if (s[len-1] != L'\n') + OutputDebugStringW(L"\n"); + } + #endif +} + +void CPlugin::PrevPreset(float fBlendTime) +{ + if (m_bSequentialPresetOrder) + { + m_nCurrentPreset--; + if (m_nCurrentPreset < m_nDirs) + m_nCurrentPreset = m_nPresets-1; + if (m_nCurrentPreset >= m_nPresets) // just in case + m_nCurrentPreset = m_nDirs; + + wchar_t szFile[MAX_PATH]; + lstrcpyW(szFile, m_szPresetDir); // note: m_szPresetDir always ends with '\' + lstrcatW(szFile, m_presets[m_nCurrentPreset].szFilename.c_str()); + + LoadPreset(szFile, fBlendTime); + } + else + { + int prev = (m_presetHistoryPos-1 + PRESET_HIST_LEN) % PRESET_HIST_LEN; + if (m_presetHistoryPos != m_presetHistoryBackFence) + { + m_presetHistoryPos = prev; + LoadPreset( m_presetHistory[m_presetHistoryPos].c_str(), fBlendTime); + } + } +} + +void CPlugin::NextPreset(float fBlendTime) // if not retracing our former steps, it will choose a random one. +{ + LoadRandomPreset(fBlendTime); +} + +void CPlugin::LoadRandomPreset(float fBlendTime) +{ + // make sure file list is ok + if (m_nPresets - m_nDirs == 0) + { + if (m_nPresets - m_nDirs == 0) + { + // note: this error message is repeated in milkdropfs.cpp in DrawText() + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_NO_PRESET_FILE_FOUND_IN_X_MILK), m_szPresetDir); + AddError(buf, 6.0f, ERR_MISC, true); + + // also bring up the dir. navigation menu... + if (m_UI_mode == UI_REGULAR || m_UI_mode == UI_MENU) + { + m_UI_mode = UI_LOAD; + m_bUserPagedUp = false; + m_bUserPagedDown = false; + } + return; + } + } + + bool bHistoryEmpty = (m_presetHistoryFwdFence==m_presetHistoryBackFence); + + // if we have history to march back forward through, do that first + if (!m_bSequentialPresetOrder) + { + int next = (m_presetHistoryPos+1) % PRESET_HIST_LEN; + if (next != m_presetHistoryFwdFence && !bHistoryEmpty) + { + m_presetHistoryPos = next; + LoadPreset( m_presetHistory[m_presetHistoryPos].c_str(), fBlendTime); + return; + } + } + + // --TEMPORARY-- + // this comes in handy if you want to mass-modify a batch of presets; + // just automatically tweak values in Import, then they immediately get exported to a .MILK in a new dir. + /* + for (int i=0; i= m_nPresets) + m_nCurrentPreset = m_nDirs; + } + else + { + // pick a random file + if (!m_bEnableRating || (m_presets[m_nPresets - 1].fRatingCum < 0.1f))// || (m_nRatingReadProgress < m_nPresets)) + { + m_nCurrentPreset = m_nDirs + (warand() % (m_nPresets - m_nDirs)); + } + else + { + float cdf_pos = (warand() % 14345)/14345.0f*m_presets[m_nPresets - 1].fRatingCum; + + /* + char buf[512]; + sprintf(buf, "max = %f, rand = %f, \tvalues: ", m_presets[m_nPresets - 1].fRatingCum, cdf_pos); + for (int i=m_nDirs; i cdf_pos) + hi = mid; + else + lo = mid; + } + m_nCurrentPreset = hi; + } + } + } + + // m_pPresetAddr[m_nCurrentPreset] points to the preset file to load (w/o the path); + // first prepend the path, then load section [preset00] within that file + wchar_t szFile[MAX_PATH] = {0}; + lstrcpyW(szFile, m_szPresetDir); // note: m_szPresetDir always ends with '\' + lstrcatW(szFile, m_presets[m_nCurrentPreset].szFilename.c_str()); + + if (!bHistoryEmpty) + m_presetHistoryPos = (m_presetHistoryPos+1) % PRESET_HIST_LEN; + + LoadPreset(szFile, fBlendTime); +} + +void CPlugin::RandomizeBlendPattern() +{ + if (!m_vertinfo) + return; + + // note: we now avoid constant uniform blend b/c it's half-speed for shader blending. + // (both old & new shaders would have to run on every pixel...) + int mixtype = 1 + (warand()%3);//warand()%4; + + if (mixtype==0) + { + // constant, uniform blend + int nVert = 0; + for (int y=0; y<=m_nGridY; y++) + { + for (int x=0; x<=m_nGridX; x++) + { + m_vertinfo[nVert].a = 1; + m_vertinfo[nVert].c = 0; + nVert++; + } + } + } + else if (mixtype==1) + { + // directional wipe + float ang = FRAND*6.28f; + float vx = cosf(ang); + float vy = sinf(ang); + float band = 0.1f + 0.2f*FRAND; // 0.2 is good + float inv_band = 1.0f/band; + + int nVert = 0; + for (int y=0; y<=m_nGridY; y++) + { + float fy = (y/(float)m_nGridY)*m_fAspectY; + for (int x=0; x<=m_nGridX; x++) + { + float fx = (x/(float)m_nGridX)*m_fAspectX; + + // at t==0, mix rangse from -10..0 + // at t==1, mix ranges from 1..11 + + float t = (fx-0.5f)*vx + (fy-0.5f)*vy + 0.5f; + t = (t-0.5f)/sqrtf(2.0f) + 0.5f; + + m_vertinfo[nVert].a = inv_band * (1 + band); + m_vertinfo[nVert].c = -inv_band + inv_band*t;//(x/(float)m_nGridX - 0.5f)/band; + nVert++; + } + } + } + else if (mixtype==2) + { + // plasma transition + float band = 0.12f + 0.13f*FRAND;//0.02f + 0.18f*FRAND; + float inv_band = 1.0f/band; + + // first generate plasma array of height values + m_vertinfo[ 0].c = FRAND; + m_vertinfo[ m_nGridX].c = FRAND; + m_vertinfo[m_nGridY*(m_nGridX+1) ].c = FRAND; + m_vertinfo[m_nGridY*(m_nGridX+1) + m_nGridX].c = FRAND; + GenPlasma(0, m_nGridX, 0, m_nGridY, 0.25f); + + // then find min,max so we can normalize to [0..1] range and then to the proper 'constant offset' range. + float minc = m_vertinfo[0].c; + float maxc = m_vertinfo[0].c; + int x,y,nVert; + + nVert = 0; + for (y=0; y<=m_nGridY; y++) + { + for (x=0; x<=m_nGridX; x++) + { + if (minc > m_vertinfo[nVert].c) + minc = m_vertinfo[nVert].c; + if (maxc < m_vertinfo[nVert].c) + maxc = m_vertinfo[nVert].c; + nVert++; + } + } + + float mult = 1.0f/(maxc-minc); + nVert = 0; + for (y=0; y<=m_nGridY; y++) + { + for (x=0; x<=m_nGridX; x++) + { + float t = (m_vertinfo[nVert].c - minc)*mult; + m_vertinfo[nVert].a = inv_band * (1 + band); + m_vertinfo[nVert].c = -inv_band + inv_band*t; + nVert++; + } + } + } + else if (mixtype==3) + { + // radial blend + float band = 0.02f + 0.14f*FRAND + 0.34f*FRAND; + float inv_band = 1.0f/band; + float dir = (float)((warand()%2)*2 - 1); // 1=outside-in, -1=inside-out + + int nVert = 0; + for (int y=0; y<=m_nGridY; y++) + { + float dy = (y/(float)m_nGridY - 0.5f)*m_fAspectY; + for (int x=0; x<=m_nGridX; x++) + { + float dx = (x/(float)m_nGridX - 0.5f)*m_fAspectX; + float t = sqrtf(dx*dx + dy*dy)*1.41421f; + if (dir==-1) + t = 1-t; + + m_vertinfo[nVert].a = inv_band * (1 + band); + m_vertinfo[nVert].c = -inv_band + inv_band*t; + nVert++; + } + } + } +} + +void CPlugin::GenPlasma(int x0, int x1, int y0, int y1, float dt) +{ + int midx = (x0+x1)/2; + int midy = (y0+y1)/2; + float t00 = m_vertinfo[y0*(m_nGridX+1) + x0].c; + float t01 = m_vertinfo[y0*(m_nGridX+1) + x1].c; + float t10 = m_vertinfo[y1*(m_nGridX+1) + x0].c; + float t11 = m_vertinfo[y1*(m_nGridX+1) + x1].c; + + if (y1-y0 >= 2) + { + if (x0==0) + m_vertinfo[midy*(m_nGridX+1) + x0].c = 0.5f*(t00 + t10) + (FRAND*2-1)*dt*m_fAspectY; + m_vertinfo[midy*(m_nGridX+1) + x1].c = 0.5f*(t01 + t11) + (FRAND*2-1)*dt*m_fAspectY; + } + if (x1-x0 >= 2) + { + if (y0==0) + m_vertinfo[y0*(m_nGridX+1) + midx].c = 0.5f*(t00 + t01) + (FRAND*2-1)*dt*m_fAspectX; + m_vertinfo[y1*(m_nGridX+1) + midx].c = 0.5f*(t10 + t11) + (FRAND*2-1)*dt*m_fAspectX; + } + + if (y1-y0 >= 2 && x1-x0 >= 2) + { + // do midpoint & recurse: + t00 = m_vertinfo[midy*(m_nGridX+1) + x0].c; + t01 = m_vertinfo[midy*(m_nGridX+1) + x1].c; + t10 = m_vertinfo[y0*(m_nGridX+1) + midx].c; + t11 = m_vertinfo[y1*(m_nGridX+1) + midx].c; + m_vertinfo[midy*(m_nGridX+1) + midx].c = 0.25f*(t10 + t11 + t00 + t01) + (FRAND*2-1)*dt; + + GenPlasma(x0, midx, y0, midy, dt*0.5f); + GenPlasma(midx, x1, y0, midy, dt*0.5f); + GenPlasma(x0, midx, midy, y1, dt*0.5f); + GenPlasma(midx, x1, midy, y1, dt*0.5f); + } +} + +void CPlugin::LoadPreset(const wchar_t *szPresetFilename, float fBlendTime) +{ + // clear old error msg... + if (m_nFramesSinceResize > 4) + ClearErrors(ERR_PRESET); + + // make sure preset still exists. (might not if they are using the "back"/fwd buttons + // in RANDOM preset order and a file was renamed or deleted!) + if (GetFileAttributesW(szPresetFilename) == 0xFFFFFFFF) + { + const wchar_t *p = wcsrchr(szPresetFilename, L'\\'); + p = (p) ? p+1 : szPresetFilename; + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_PRESET_NOT_FOUND_X), p); + AddError(buf, 6.0f, ERR_PRESET, true); + return; + } + + if ( !m_bSequentialPresetOrder ) + { + // save preset in the history. keep in mind - maybe we are searching back through it already! + if ( m_presetHistoryFwdFence == m_presetHistoryPos ) + { + // we're at the forward frontier; add to history + m_presetHistory[m_presetHistoryPos] = szPresetFilename; + m_presetHistoryFwdFence = (m_presetHistoryFwdFence+1) % PRESET_HIST_LEN; + + // don't let the two fences touch + if (m_presetHistoryBackFence == m_presetHistoryFwdFence) + m_presetHistoryBackFence = (m_presetHistoryBackFence+1) % PRESET_HIST_LEN; + } + else + { + // we're retracing our steps, either forward or backward... + + } + } + + // if no preset was valid before, make sure there is no blend, because there is nothing valid to blend from. + if (!wcscmp(m_pState->m_szDesc, INVALID_PRESET_DESC)) + fBlendTime = 0; + + if (fBlendTime == 0) + { + // do it all NOW! + if (szPresetFilename != m_szCurrentPresetFile) //[sic] + lstrcpyW(m_szCurrentPresetFile, szPresetFilename); + + CState *temp = m_pState; + m_pState = m_pOldState; + m_pOldState = temp; + + DWORD ApplyFlags = STATE_ALL; + ApplyFlags ^= (m_bWarpShaderLock ? STATE_WARP : 0); + ApplyFlags ^= (m_bCompShaderLock ? STATE_COMP : 0); + + m_pState->Import(m_szCurrentPresetFile, GetTime(), m_pOldState, ApplyFlags); + + if (fBlendTime >= 0.001f) + { + RandomizeBlendPattern(); + m_pState->StartBlendFrom(m_pOldState, GetTime(), fBlendTime); + } + + m_fPresetStartTime = GetTime(); + m_fNextPresetTime = -1.0f; // flags UpdateTime() to recompute this + + // release stuff from m_OldShaders, then move m_shaders to m_OldShaders, then load the new shaders. + SafeRelease( m_OldShaders.comp.ptr ); + SafeRelease( m_OldShaders.warp.ptr ); + SafeRelease( m_OldShaders.comp.CT ); + SafeRelease( m_OldShaders.warp.CT ); + m_OldShaders = m_shaders; + ZeroMemory(&m_shaders, sizeof(PShaderSet)); + + LoadShaders(&m_shaders, m_pState, false); + + OnFinishedLoadingPreset(); + } + else + { + // set ourselves up to load the preset (and esp. compile shaders) a little bit at a time + SafeRelease( m_NewShaders.comp.ptr ); + SafeRelease( m_NewShaders.warp.ptr ); + ZeroMemory(&m_NewShaders, sizeof(PShaderSet)); + + DWORD ApplyFlags = STATE_ALL; + ApplyFlags ^= (m_bWarpShaderLock ? STATE_WARP : 0); + ApplyFlags ^= (m_bCompShaderLock ? STATE_COMP : 0); + + m_pNewState->Import(szPresetFilename, GetTime(), m_pOldState, ApplyFlags); + + m_nLoadingPreset = 1; // this will cause LoadPresetTick() to get called over the next few frames... + + m_fLoadingPresetBlendTime = fBlendTime; + lstrcpyW(m_szLoadingPreset, szPresetFilename); + } +} + +void CPlugin::OnFinishedLoadingPreset() +{ + // note: only used this if you loaded the preset *intact* (or mostly intact) + + SetMenusForPresetVersion( m_pState->m_nWarpPSVersion, m_pState->m_nCompPSVersion ); + m_nPresetsLoadedTotal++; //only increment this on COMPLETION of the load. + + for (int mash=0; mash= 0.001f) + m_pState->StartBlendFrom(m_pOldState, GetTime(), m_fLoadingPresetBlendTime); + + m_fPresetStartTime = GetTime(); + m_fNextPresetTime = -1.0f; // flags UpdateTime() to recompute this + + // release stuff from m_OldShaders, then move m_shaders to m_OldShaders, then load the new shaders. + SafeRelease( m_OldShaders.comp.ptr ); + SafeRelease( m_OldShaders.warp.ptr ); + m_OldShaders = m_shaders; + m_shaders = m_NewShaders; + ZeroMemory(&m_NewShaders, sizeof(PShaderSet)); + + // end slow-preset-load mode + m_nLoadingPreset = 0; + + OnFinishedLoadingPreset(); + } + + if (m_nLoadingPreset > 0) + m_nLoadingPreset++; +} + +void CPlugin::SeekToPreset(wchar_t cStartChar) +{ + if (cStartChar >= L'a' && cStartChar <= L'z') + cStartChar -= L'a' - L'A'; + + for (int i = m_nDirs; i < m_nPresets; i++) + { + wchar_t ch = m_presets[i].szFilename.c_str()[0]; + if (ch >= L'a' && ch <= L'z') + ch -= L'a' - L'A'; + if (ch == cStartChar) + { + m_nPresetListCurPos = i; + return; + } + } +} + +void CPlugin::FindValidPresetDir() +{ + swprintf(m_szPresetDir, L"%spresets\\", m_szMilkdrop2Path ); + if (GetFileAttributesW(m_szPresetDir) != -1) + return; + lstrcpyW(m_szPresetDir, m_szMilkdrop2Path); + if (GetFileAttributesW(m_szPresetDir) != -1) + return; + lstrcpyW(m_szPresetDir, GetPluginsDirPath()); + if (GetFileAttributesW(m_szPresetDir) != -1) + return; + lstrcpyW(m_szPresetDir, L"c:\\program files\\winamp\\"); //getting desperate here + if (GetFileAttributesW(m_szPresetDir) != -1) + return; + lstrcpyW(m_szPresetDir, L"c:\\program files\\"); //getting desperate here + if (GetFileAttributesW(m_szPresetDir) != -1) + return; + lstrcpyW(m_szPresetDir, L"c:\\"); +} + +char* NextLine(char* p) +{ + // p points to the beginning of a line + // we'll return a pointer to the first char of the next line + // if we hit a NULL char before that, we'll return NULL. + if (!p) + return NULL; + + char* s = p; + while (*s != '\r' && *s != '\n' && *s != 0) + s++; + + while (*s == '\r' || *s == '\n') + s++; + + if (*s==0) + return NULL; + + return s; +} + +static unsigned int WINAPI __UpdatePresetList(void* lpVoid) +{ + // NOTE - this is run in a separate thread!!! + + DWORD flags = (DWORD)lpVoid; + bool bForce = (flags & 1) ? true : false; + bool bTryReselectCurrentPreset = (flags & 2) ? true : false; + + WIN32_FIND_DATAW fd; + ZeroMemory(&fd, sizeof(fd)); + HANDLE h = INVALID_HANDLE_VALUE; + + int nTry = 0; + bool bRetrying = false; + + EnterCriticalSection(&g_cs); +retry: + + // make sure the path exists; if not, go to winamp plugins dir + if (GetFileAttributesW(g_plugin.m_szPresetDir) == -1) + { + //FIXME... + g_plugin.FindValidPresetDir(); + } + + // if Mask (dir) changed, do a full re-scan; + // if not, just finish our old scan. + wchar_t szMask[MAX_PATH]; + swprintf(szMask, L"%s*.*", g_plugin.m_szPresetDir); // cuz dirnames could have extensions, etc. + if (bForce || !g_plugin.m_szUpdatePresetMask[0] || wcscmp(szMask, g_plugin.m_szUpdatePresetMask)) + { + // if old dir was "" or the dir changed, reset our search + if (h != INVALID_HANDLE_VALUE) + FindClose(h); + h = INVALID_HANDLE_VALUE; + g_plugin.m_bPresetListReady = false; + lstrcpyW(g_plugin.m_szUpdatePresetMask, szMask); + ZeroMemory(&fd, sizeof(fd)); + + g_plugin.m_nPresets = 0; + g_plugin.m_nDirs = 0; + g_plugin.m_presets.clear(); + + // find first .MILK file + //if( (hFile = _findfirst(szMask, &c_file )) != -1L ) // note: returns filename -without- path + if( (h = FindFirstFileW(g_plugin.m_szUpdatePresetMask, &fd )) == INVALID_HANDLE_VALUE ) // note: returns filename -without- path + { + // --> revert back to plugins dir + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_NO_PRESET_FILES_OR_DIRS_FOUND_IN_X), g_plugin.m_szPresetDir); + g_plugin.AddError(buf, 4.0f, ERR_MISC, true); + + if (bRetrying) + { + LeaveCriticalSection(&g_cs); + g_bThreadAlive = false; + _endthreadex(0); + return 0; + } + + g_plugin.FindValidPresetDir(); + + bRetrying = true; + goto retry; + } + + g_plugin.AddError(WASABI_API_LNGSTRINGW(IDS_SCANNING_PRESETS), 8.0f, ERR_SCANNING_PRESETS, false); + } + + if (g_plugin.m_bPresetListReady) + { + LeaveCriticalSection(&g_cs); + g_bThreadAlive = false; + _endthreadex(0); + return 0; + } + + int nMaxPSVersion = g_plugin.m_nMaxPSVersion; + wchar_t szPresetDir[MAX_PATH]; + lstrcpyW(szPresetDir, g_plugin.m_szPresetDir); + + LeaveCriticalSection(&g_cs); + + PresetList temp_presets; + int temp_nDirs = 0; + int temp_nPresets = 0; + + // scan for the desired # of presets, this call... + while (!g_bThreadShouldQuit && h != INVALID_HANDLE_VALUE) + { + bool bSkip = false; + bool bIsDir = (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0; + float fRating = 0; + + wchar_t szFilename[512]; + lstrcpyW(szFilename, fd.cFileName); + + if (bIsDir) + { + // skip "." directory + if (wcscmp(fd.cFileName, L".")==0)// || lstrlen(ffd.cFileName) < 1) + bSkip = true; + else + swprintf(szFilename, L"*%s", fd.cFileName); + } + else + { + // skip normal files not ending in ".milk" + int len = lstrlenW(fd.cFileName); + if (len < 5 || wcsicmp(fd.cFileName + len - 5, L".milk") != 0) + bSkip = true; + + // if it is .milk, make sure we know how to run its pixel shaders - + // otherwise we don't want to show it in the preset list! + if (!bSkip) + { + // If the first line of the file is not "MILKDROP_PRESET_VERSION XXX", + // then it's a MilkDrop 1 era preset, so it is definitely runnable. (no shaders) + // Otherwise, check for the value "PSVERSION". It will be 0, 2, or 3. + // If missing, assume it is 2. + wchar_t szFullPath[MAX_PATH]; + swprintf(szFullPath, L"%s%s", szPresetDir, fd.cFileName); + FILE* f = _wfopen(szFullPath, L"r"); + if (!f) + bSkip = true; + else { + #define PRESET_HEADER_SCAN_BYTES 160 + char szLine[PRESET_HEADER_SCAN_BYTES]; + char *p = szLine; + + int bytes_to_read = sizeof(szLine)-1; + int count = fread(szLine, bytes_to_read, 1, f); + if (count < 1) { + fseek(f, SEEK_SET, 0); + count = fread(szLine, 1, bytes_to_read, f); + szLine[ count ] = 0; + } + else + szLine[bytes_to_read-1] = 0; + + bool bScanForPreset00AndRating = false; + bool bRatingKnown = false; + + // try to read the PSVERSION and the fRating= value. + // most presets (unless hand-edited) will have these right at the top. + // if not, [at least for fRating] use GetPrivateProfileFloat to search whole file. + // read line 1 + //p = NextLine(p);//fgets(p, sizeof(p)-1, f); + if (!strncmp(p, "MILKDROP_PRESET_VERSION", 23)) + { + p = NextLine(p);//fgets(p, sizeof(p)-1, f); + int ps_version = 2; + if (p && !strncmp(p, "PSVERSION", 9)) + { + sscanf(&p[10], "%d", &ps_version); + if (ps_version > nMaxPSVersion) + bSkip = true; + else + { + p = NextLine(p);//fgets(p, sizeof(p)-1, f); + bScanForPreset00AndRating = true; + } + } + } + else + { + // otherwise it's a MilkDrop 1 preset - we can run it. + bScanForPreset00AndRating = true; + } + + // scan up to 10 more lines in the file, looking for [preset00] and fRating=... + // (this is WAY faster than GetPrivateProfileFloat, when it works!) + int reps = (bScanForPreset00AndRating) ? 10 : 0; + for (int z=0; z 0) + fPrevPresetRatingCum += temp_presets[temp_nPresets-1].fRatingCum; + + PresetInfo x; + x.szFilename = szFilename; + x.fRatingThis = fRating; + x.fRatingCum = fPrevPresetRatingCum + fRating; + temp_presets.push_back(x); + + temp_nPresets++; + if (bIsDir) + temp_nDirs++; + } + + if (!FindNextFileW(h, &fd)) + { + FindClose(h); + h = INVALID_HANDLE_VALUE; + + break; + } + + // every so often, add some presets... + #define PRESET_UPDATE_INTERVAL 64 + if (temp_nPresets == 30 || ((temp_nPresets % PRESET_UPDATE_INTERVAL)==0)) + { + EnterCriticalSection(&g_cs); + + //g_plugin.m_presets = temp_presets; + for (int i=g_plugin.m_nPresets; i revert back to plugins dir + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_ERROR_NO_PRESET_FILES_OR_DIRS_FOUND_IN_X), g_plugin.m_szPresetDir); + g_plugin.AddError(buf, 4.0f, ERR_MISC, true); + + if (bRetrying) + { + LeaveCriticalSection(&g_cs); + g_bThreadAlive = false; + _endthreadex(0); + return 0; + } + + g_plugin.FindValidPresetDir(); + + bRetrying = true; + goto retry; + } + + if (g_plugin.m_bPresetListReady) + { + g_plugin.MergeSortPresets(0, g_plugin.m_nPresets-1); + + // update cumulative ratings, since order changed... + g_plugin.m_presets[0].fRatingCum = g_plugin.m_presets[0].fRatingThis; + for (int i=0; i32, before returning. + // also make sure you enter the CS whenever you check on it! + // (thread will update preset list every so often, with the newest presets scanned in...) + while (g_bThreadAlive) + { + Sleep(30); + + EnterCriticalSection(&g_cs); + int nPresets = g_plugin.m_nPresets; + LeaveCriticalSection(&g_cs); + + if (nPresets >= 30) + break; + } + + if (g_bThreadAlive) + { + // the load still takes a while even at THREAD_PRIORITY_ABOVE_NORMAL, + // because it is waiting on the HDD so much... + // but the OS is smart, and the CPU stays nice and zippy in other threads =) + SetThreadPriority(g_hThread,THREAD_PRIORITY_ABOVE_NORMAL); //THREAD_PRIORITY_IDLE, THREAD_PRIORITY_LOWEST, THREAD_PRIORITY_NORMAL, THREAD_PRIORITY_HIGHEST, + } + } + + return; +} + +void CPlugin::MergeSortPresets(int left, int right) +{ + // note: left..right range is inclusive + int nItems = right-left+1; + + if (nItems > 2) + { + // recurse to sort 2 halves (but don't actually recurse on a half if it only has 1 element) + int mid = (left+right)/2; + /*if (mid != left) */ MergeSortPresets(left, mid); + /*if (mid+1 != right)*/ MergeSortPresets(mid+1, right); + + // then merge results + int a = left; + int b = mid + 1; + while (a <= mid && b <= right) + { + bool bSwap; + + // merge the sorted arrays; give preference to strings that start with a '*' character + int nSpecial = 0; + if (m_presets[a].szFilename.c_str()[0] == '*') nSpecial++; + if (m_presets[b].szFilename.c_str()[0] == '*') nSpecial++; + + if (nSpecial == 1) + { + bSwap = (m_presets[b].szFilename.c_str()[0] == '*'); + } + else + { + bSwap = (mystrcmpiW(m_presets[a].szFilename.c_str(), m_presets[b].szFilename.c_str()) > 0); + } + + if (bSwap) + { + PresetInfo temp = m_presets[b]; + for (int k=b; k>a; k--) + m_presets[k] = m_presets[k-1]; + m_presets[a] = temp; + mid++; + b++; + } + a++; + } + } + else if (nItems == 2) + { + // sort 2 items; give preference to 'special' strings that start with a '*' character + int nSpecial = 0; + if (m_presets[left].szFilename.c_str()[0] == '*') nSpecial++; + if (m_presets[right].szFilename.c_str()[0] == '*') nSpecial++; + + if (nSpecial == 1) + { + if (m_presets[right].szFilename.c_str()[0] == '*') + { + PresetInfo temp = m_presets[left]; + m_presets[left] = m_presets[right]; + m_presets[right] = temp; + } + } + else if (mystrcmpiW(m_presets[left].szFilename.c_str(), m_presets[right].szFilename.c_str()) > 0) + { + PresetInfo temp = m_presets[left]; + m_presets[left] = m_presets[right]; + m_presets[right] = temp; + } + } +} + +void CPlugin::WaitString_NukeSelection() +{ + if (m_waitstring.bActive && + m_waitstring.nSelAnchorPos != -1) + { + // nuke selection. note: start & end are INCLUSIVE. + int start = (m_waitstring.nCursorPos < m_waitstring.nSelAnchorPos) ? m_waitstring.nCursorPos : m_waitstring.nSelAnchorPos; + int end = (m_waitstring.nCursorPos > m_waitstring.nSelAnchorPos) ? m_waitstring.nCursorPos - 1 : m_waitstring.nSelAnchorPos - 1; + int len = (m_waitstring.bDisplayAsCode ? lstrlenA((char*)m_waitstring.szText) : lstrlenW(m_waitstring.szText)); + int how_far_to_shift = end - start + 1; + int num_chars_to_shift = len - end; // includes NULL char + + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + for (int i=0; i m_waitstring.nSelAnchorPos) ? m_waitstring.nCursorPos - 1 : m_waitstring.nSelAnchorPos - 1; + int chars_to_copy = end - start + 1; + + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + for (int i=0; i= m_waitstring.nMaxLen) + { + chars_to_insert = m_waitstring.nMaxLen - len - 1; + + // inform user + AddError(WASABI_API_LNGSTRINGW(IDS_STRING_TOO_LONG), 2.5f, ERR_MISC, true); + } + else + { + //m_fShowUserMessageUntilThisTime = GetTime(); // if there was an error message already, clear it + } + + int i; + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + for (i=len; i >= m_waitstring.nCursorPos; i--) + *(ptr + i + chars_to_insert) = *(ptr + i); + for (i=0; i < chars_to_insert; i++) + *(ptr + i + m_waitstring.nCursorPos) = m_waitstring.szClipboard[i]; + } + else + { + for (i=len; i >= m_waitstring.nCursorPos; i--) + m_waitstring.szText[i + chars_to_insert] = m_waitstring.szText[i]; + for (i=0; i < chars_to_insert; i++) + m_waitstring.szText[i + m_waitstring.nCursorPos] = m_waitstring.szClipboardW[i]; + } + m_waitstring.nCursorPos += chars_to_insert; + } +} + +void CPlugin::WaitString_SeekLeftWord() +{ + // move to beginning of prior word + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + while (m_waitstring.nCursorPos > 0 && + !IsAlphanumericChar(*(ptr + m_waitstring.nCursorPos-1))) + m_waitstring.nCursorPos--; + + while (m_waitstring.nCursorPos > 0 && + IsAlphanumericChar(*(ptr + m_waitstring.nCursorPos-1))) + m_waitstring.nCursorPos--; + } + else + { + while (m_waitstring.nCursorPos > 0 && + !IsAlphanumericChar(m_waitstring.szText[m_waitstring.nCursorPos-1])) + m_waitstring.nCursorPos--; + + while (m_waitstring.nCursorPos > 0 && + IsAlphanumericChar(m_waitstring.szText[m_waitstring.nCursorPos-1])) + m_waitstring.nCursorPos--; + } +} + +void CPlugin::WaitString_SeekRightWord() +{ + // move to beginning of next word + + //testing lotsa stuff + + if (m_waitstring.bDisplayAsCode) + { + int len = lstrlenA((char*)m_waitstring.szText); + + char* ptr = (char*)m_waitstring.szText; + while (m_waitstring.nCursorPos < len && + IsAlphanumericChar(*(ptr + m_waitstring.nCursorPos))) + m_waitstring.nCursorPos++; + + while (m_waitstring.nCursorPos < len && + !IsAlphanumericChar(*(ptr + m_waitstring.nCursorPos))) + m_waitstring.nCursorPos++; + } + else + { + int len = lstrlenW(m_waitstring.szText); + + while (m_waitstring.nCursorPos < len && + IsAlphanumericChar(m_waitstring.szText[m_waitstring.nCursorPos])) + m_waitstring.nCursorPos++; + + while (m_waitstring.nCursorPos < len && + !IsAlphanumericChar(m_waitstring.szText[m_waitstring.nCursorPos])) + m_waitstring.nCursorPos++; + } +} + +int CPlugin::WaitString_GetCursorColumn() +{ + if (m_waitstring.bDisplayAsCode) + { + int column = 0; + char* ptr = (char*)m_waitstring.szText; + while (m_waitstring.nCursorPos - column - 1 >= 0 && + *(ptr + m_waitstring.nCursorPos - column - 1) != LINEFEED_CONTROL_CHAR) + column++; + + return column; + } + else + { + return m_waitstring.nCursorPos; + } +} + +int CPlugin::WaitString_GetLineLength() +{ + int line_start = m_waitstring.nCursorPos - WaitString_GetCursorColumn(); + int line_length = 0; + + if (m_waitstring.bDisplayAsCode) + { + char* ptr = (char*)m_waitstring.szText; + while (*(ptr + line_start + line_length) != 0 && + *(ptr + line_start + line_length) != LINEFEED_CONTROL_CHAR) + line_length++; + } + else + { + while (m_waitstring.szText[line_start + line_length] != 0 && + m_waitstring.szText[line_start + line_length] != LINEFEED_CONTROL_CHAR) + line_length++; + } + + return line_length; +} + +void CPlugin::WaitString_SeekUpOneLine() +{ + int column = g_plugin.WaitString_GetCursorColumn(); + + if (column != m_waitstring.nCursorPos) + { + // seek to very end of previous line (cursor will be at the semicolon) + m_waitstring.nCursorPos -= column + 1; + + int new_column = g_plugin.WaitString_GetCursorColumn(); + + if (new_column > column) + m_waitstring.nCursorPos -= (new_column - column); + } +} + +void CPlugin::WaitString_SeekDownOneLine() +{ + int column = g_plugin.WaitString_GetCursorColumn(); + int newpos = m_waitstring.nCursorPos; + + char* ptr = (char*)m_waitstring.szText; + while (*(ptr + newpos) != 0 && *(ptr + newpos) != LINEFEED_CONTROL_CHAR) + newpos++; + + if (*(ptr + newpos) != 0) + { + m_waitstring.nCursorPos = newpos + 1; + + while ( column > 0 && + *(ptr + m_waitstring.nCursorPos) != LINEFEED_CONTROL_CHAR && + *(ptr + m_waitstring.nCursorPos) != 0) + { + m_waitstring.nCursorPos++; + column--; + } + } +} + +void CPlugin::SavePresetAs(wchar_t *szNewFile) +{ + // overwrites the file if it was already there, + // so you should check if the file exists first & prompt user to overwrite, + // before calling this function + + if (!m_pState->Export(szNewFile)) + { + // error + AddError(WASABI_API_LNGSTRINGW(IDS_ERROR_UNABLE_TO_SAVE_THE_FILE), 6.0f, ERR_PRESET, true); + } + else + { + // pop up confirmation + AddError(WASABI_API_LNGSTRINGW(IDS_SAVE_SUCCESSFUL), 3.0f, ERR_NOTIFY, false); + + // update m_pState->m_szDesc with the new name + lstrcpyW(m_pState->m_szDesc, m_waitstring.szText); + + // refresh file listing + UpdatePresetList(false,true); + } +} + +void CPlugin::DeletePresetFile(wchar_t *szDelFile) +{ + // NOTE: this function additionally assumes that m_nPresetListCurPos indicates + // the slot that the to-be-deleted preset occupies! + + // delete file + if (!DeleteFileW(szDelFile)) + { + // error + AddError(WASABI_API_LNGSTRINGW(IDS_ERROR_UNABLE_TO_DELETE_THE_FILE), 6.0f, ERR_MISC, true); + } + else + { + // pop up confirmation + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_PRESET_X_DELETED), m_presets[m_nPresetListCurPos].szFilename.c_str()); + AddError(buf, 3.0f, ERR_NOTIFY, false); + + // refresh file listing & re-select the next file after the one deleted + int newPos = m_nPresetListCurPos; + UpdatePresetList(false,true); + m_nPresetListCurPos = max(0, min(m_nPresets-1, newPos)); + } +} + +void CPlugin::RenamePresetFile(wchar_t *szOldFile, wchar_t *szNewFile) +{ + // NOTE: this function additionally assumes that m_nPresetListCurPos indicates + // the slot that the to-be-renamed preset occupies! + + if (GetFileAttributesW(szNewFile) != -1) // check if file already exists + { + // error + AddError(WASABI_API_LNGSTRINGW(IDS_ERROR_A_FILE_ALREADY_EXISTS_WITH_THAT_FILENAME), 6.0f, ERR_PRESET, true); + + // (user remains in UI_LOAD_RENAME mode to try another filename) + } + else + { + // rename + if (!MoveFileW(szOldFile, szNewFile)) + { + // error + AddError(WASABI_API_LNGSTRINGW(IDS_ERROR_UNABLE_TO_RENAME_FILE), 6.0f, ERR_MISC, true); + } + else + { + // pop up confirmation + AddError(WASABI_API_LNGSTRINGW(IDS_RENAME_SUCCESSFUL), 3.0f, ERR_NOTIFY, false); + + // if this preset was the active one, update m_pState->m_szDesc with the new name + wchar_t buf[512]; + swprintf(buf, L"%s.milk", m_pState->m_szDesc); + if (wcscmp(m_presets[m_nPresetListCurPos].szFilename.c_str(), buf) == 0) + { + lstrcpyW(m_pState->m_szDesc, m_waitstring.szText); + } + + // refresh file listing & do a trick to make it re-select the renamed file + wchar_t buf2[512]; + lstrcpyW(buf2, m_waitstring.szText); + lstrcatW(buf2, L".milk"); + m_presets[m_nPresetListCurPos].szFilename = buf2; + UpdatePresetList(false,true,false); + + // jump to (highlight) the new file: + m_nPresetListCurPos = 0; + wchar_t* p = wcsrchr(szNewFile, L'\\'); + if (p) + { + p++; + for (int i=m_nDirs; i0) + { + for (k=0; k 5) f = 5; + + if (k==0) + m_presets[k].fRatingCum = f; + else + m_presets[k].fRatingCum = m_presets[k-1].fRatingCum + f; + + m_nRatingReadProgress++; + } +} +*/ + +void CPlugin::SetCurrentPresetRating(float fNewRating) +{ + if (!m_bEnableRating) + return; + + if (fNewRating < 0) fNewRating = 0; + if (fNewRating > 5) fNewRating = 5; + float change = (fNewRating - m_pState->m_fRating); + + // update the file on disk: + //char szPresetFileNoPath[512]; + //char szPresetFileWithPath[512]; + //sprintf(szPresetFileNoPath, "%s.milk", m_pState->m_szDesc); + //sprintf(szPresetFileWithPath, "%s%s.milk", GetPresetDir(), m_pState->m_szDesc); + WritePrivateProfileFloatW(fNewRating, L"fRating", m_szCurrentPresetFile, L"preset00"); + + // update the copy of the preset in memory + m_pState->m_fRating = fNewRating; + + // update the cumulative internal listing: + m_presets[m_nCurrentPreset].fRatingThis += change; + if (m_nCurrentPreset != -1)// && m_nRatingReadProgress >= m_nCurrentPreset) // (can be -1 if dir. changed but no new preset was loaded yet) + for (int i=m_nCurrentPreset; im_nCurrentPreset is out of range! + -soln: when adjusting rating: + 1. file to modify is m_szCurrentPresetFile + 2. only update CDF if m_nCurrentPreset is not -1 + -> set m_nCurrentPreset to -1 whenever dir. changes + -> set m_szCurrentPresetFile whenever you load a preset + */ + + // show a message + if (!m_bShowRating) + { + // see also: DrawText() in milkdropfs.cpp + m_fShowRatingUntilThisTime = GetTime() + 2.0f; + } +} + +void CPlugin::ReadCustomMessages() +{ + int n; + + // First, clear all old data + for (n=0; n 99) + nMsgNum = 99; + + if (nMsgNum < 0) + { + int count=0; + // choose randomly + for (nMsgNum=0; nMsgNum<100; nMsgNum++) + if (m_CustomMessage[nMsgNum].szText[0]) + count++; + + int sel = (warand()%count)+1; + count = 0; + for (nMsgNum=0; nMsgNum<100; nMsgNum++) + { + if (m_CustomMessage[nMsgNum].szText[0]) + count++; + if (count==sel) + break; + } + } + + if (nMsgNum < 0 || + nMsgNum >= MAX_CUSTOM_MESSAGES || + m_CustomMessage[nMsgNum].szText[0]==0) + { + return; + } + + int fontID = m_CustomMessage[nMsgNum].nFont; + + m_supertext.bRedrawSuperText = true; + m_supertext.bIsSongTitle = false; + lstrcpyW(m_supertext.szTextW, m_CustomMessage[nMsgNum].szText); + + // regular properties: + m_supertext.fFontSize = m_CustomMessage[nMsgNum].fSize; + m_supertext.fX = m_CustomMessage[nMsgNum].x + m_CustomMessage[nMsgNum].randx * ((warand()%1037)/1037.0f*2.0f - 1.0f); + m_supertext.fY = m_CustomMessage[nMsgNum].y + m_CustomMessage[nMsgNum].randy * ((warand()%1037)/1037.0f*2.0f - 1.0f); + m_supertext.fGrowth = m_CustomMessage[nMsgNum].growth; + m_supertext.fDuration = m_CustomMessage[nMsgNum].fTime; + m_supertext.fFadeTime = m_CustomMessage[nMsgNum].fFade; + + // overrideables: + if (m_CustomMessage[nMsgNum].bOverrideFace) + lstrcpyW(m_supertext.nFontFace, m_CustomMessage[nMsgNum].szFace); + else + lstrcpyW(m_supertext.nFontFace, m_CustomMessageFont[fontID].szFace); + m_supertext.bItal = (m_CustomMessage[nMsgNum].bOverrideItal) ? (m_CustomMessage[nMsgNum].bItal != 0) : (m_CustomMessageFont[fontID].bItal != 0); + m_supertext.bBold = (m_CustomMessage[nMsgNum].bOverrideBold) ? (m_CustomMessage[nMsgNum].bBold != 0) : (m_CustomMessageFont[fontID].bBold != 0); + m_supertext.nColorR = (m_CustomMessage[nMsgNum].bOverrideColorR) ? m_CustomMessage[nMsgNum].nColorR : m_CustomMessageFont[fontID].nColorR; + m_supertext.nColorG = (m_CustomMessage[nMsgNum].bOverrideColorG) ? m_CustomMessage[nMsgNum].nColorG : m_CustomMessageFont[fontID].nColorG; + m_supertext.nColorB = (m_CustomMessage[nMsgNum].bOverrideColorB) ? m_CustomMessage[nMsgNum].nColorB : m_CustomMessageFont[fontID].nColorB; + + // randomize color + m_supertext.nColorR += (int)(m_CustomMessage[nMsgNum].nRandR * ((warand()%1037)/1037.0f*2.0f - 1.0f)); + m_supertext.nColorG += (int)(m_CustomMessage[nMsgNum].nRandG * ((warand()%1037)/1037.0f*2.0f - 1.0f)); + m_supertext.nColorB += (int)(m_CustomMessage[nMsgNum].nRandB * ((warand()%1037)/1037.0f*2.0f - 1.0f)); + if (m_supertext.nColorR < 0) m_supertext.nColorR = 0; + if (m_supertext.nColorG < 0) m_supertext.nColorG = 0; + if (m_supertext.nColorB < 0) m_supertext.nColorB = 0; + if (m_supertext.nColorR > 255) m_supertext.nColorR = 255; + if (m_supertext.nColorG > 255) m_supertext.nColorG = 255; + if (m_supertext.nColorB > 255) m_supertext.nColorB = 255; + + // fix &'s for display: + /* + { + int pos = 0; + int len = lstrlen(m_supertext.szText); + while (m_supertext.szText[pos] && pos<255) + { + if (m_supertext.szText[pos] == '&') + { + for (int x=len; x>=pos; x--) + m_supertext.szText[x+1] = m_supertext.szText[x]; + len++; + pos++; + } + pos++; + } + }*/ + + m_supertext.fStartTime = GetTime(); +} + +void CPlugin::LaunchSongTitleAnim() +{ + m_supertext.bRedrawSuperText = true; + m_supertext.bIsSongTitle = true; + lstrcpyW(m_supertext.szTextW, m_szSongTitle); + //lstrcpy(m_supertext.szText, " "); + lstrcpyW(m_supertext.nFontFace, m_fontinfo[SONGTITLE_FONT].szFace); + m_supertext.fFontSize = (float)m_fontinfo[SONGTITLE_FONT].nSize; + m_supertext.bBold = m_fontinfo[SONGTITLE_FONT].bBold; + m_supertext.bItal = m_fontinfo[SONGTITLE_FONT].bItalic; + m_supertext.fX = 0.5f; + m_supertext.fY = 0.5f; + m_supertext.fGrowth = 1.0f; + m_supertext.fDuration = m_fSongTitleAnimDuration; + m_supertext.nColorR = 255; + m_supertext.nColorG = 255; + m_supertext.nColorB = 255; + + m_supertext.fStartTime = GetTime(); +} + +bool CPlugin::LaunchSprite(int nSpriteNum, int nSlot) +{ + char initcode[8192], code[8192], sectionA[64]; + char szTemp[8192]; + wchar_t img[512], section[64]; + + initcode[0] = 0; + code[0] = 0; + img[0] = 0; + swprintf(section, L"img%02d", nSpriteNum); + sprintf(sectionA, "img%02d", nSpriteNum); + + // 1. read in image filename + GetPrivateProfileStringW(section, L"img", L"", img, sizeof(img)-1, m_szImgIniFile); + if (img[0] == 0) + { + wchar_t buf[1024]; + swprintf(buf, WASABI_API_LNGSTRINGW(IDS_SPRITE_X_ERROR_COULD_NOT_FIND_IMG_OR_NOT_DEFINED), nSpriteNum); + AddError(buf, 7.0f, ERR_MISC, false); + return false; + } + + if (img[1] != L':')// || img[2] != '\\') + { + // it's not in the form "x:\blah\billy.jpg" so prepend plugin dir path. + wchar_t temp[512]; + wcscpy(temp, img); + swprintf(img, L"%s%s", m_szMilkdrop2Path, temp); + } + + // 2. get color key + //unsigned int ck_lo = (unsigned int)GetPrivateProfileInt(section, "colorkey_lo", 0x00000000, m_szImgIniFile); + //unsigned int ck_hi = (unsigned int)GetPrivateProfileInt(section, "colorkey_hi", 0x00202020, m_szImgIniFile); + // FIRST try 'colorkey_lo' (for backwards compatibility) and then try 'colorkey' + unsigned int ck = (unsigned int)GetPrivateProfileIntW(section, L"colorkey_lo", 0x00000000, m_szImgIniFile/*GetConfigIniFile()*/); + ck = (unsigned int)GetPrivateProfileIntW(section, L"colorkey", ck, m_szImgIniFile/*GetConfigIniFile()*/); + + // 3. read in init code & per-frame code + for (int n=0; n<2; n++) + { + char *pStr = (n==0) ? initcode : code; + char szLineName[32]; + int len; + + int line = 1; + int char_pos = 0; + bool bDone = false; + + while (!bDone) + { + if (n==0) + sprintf(szLineName, "init_%d", line); + else + sprintf(szLineName, "code_%d", line); + + GetPrivateProfileString(sectionA, szLineName, "~!@#$", szTemp, 8192, AutoCharFn(m_szImgIniFile)); // fixme + len = lstrlen(szTemp); + + if ((strcmp(szTemp, "~!@#$")==0) || // if the key was missing, + (len >= 8191-char_pos-1)) // or if we're out of space + { + bDone = true; + } + else + { + sprintf(&pStr[char_pos], "%s%c", szTemp, LINEFEED_CONTROL_CHAR); + } + + char_pos += len + 1; + line++; + } + pStr[char_pos++] = 0; // null-terminate + } + + if (nSlot == -1) + { + // find first empty slot; if none, chuck the oldest sprite & take its slot. + int oldest_index = 0; + int oldest_frame = m_texmgr.m_tex[0].nStartFrame; + for (int x=0; x mysound.avg[i]) + rate = 0.2f; + else + rate = 0.5f; + rate = AdjustRateToFPS(rate, 30.0f, GetFps()); + mysound.avg[i] = mysound.avg[i]*rate + mysound.imm[i]*(1-rate); + + if (GetFrame() < 50) + rate = 0.9f; + else + rate = 0.992f; + rate = AdjustRateToFPS(rate, 30.0f, GetFps()); + mysound.long_avg[i] = mysound.long_avg[i]*rate + mysound.imm[i]*(1-rate); + + + // also get bass/mid/treble levels *relative to the past* + if (fabsf(mysound.long_avg[i]) < 0.001f) + mysound.imm_rel[i] = 1.0f; + else + mysound.imm_rel[i] = mysound.imm[i] / mysound.long_avg[i]; + + if (fabsf(mysound.long_avg[i]) < 0.001f) + mysound.avg_rel[i] = 1.0f; + else + mysound.avg_rel[i] = mysound.avg[i] / mysound.long_avg[i]; + } +} + +void CPlugin::GenWarpPShaderText(char *szShaderText, float decay, bool bWrap) +{ + // find the pixel shader body and replace it with custom code. + + lstrcpy(szShaderText, m_szDefaultWarpPShaderText); + char LF = LINEFEED_CONTROL_CHAR; + char *p = strrchr( szShaderText, '{' ); + if (!p) + return; + p++; + p += sprintf(p, "%c", 1); + + p += sprintf(p, " // sample previous frame%c", LF); + p += sprintf(p, " ret = tex2D( sampler%s_main, uv ).xyz;%c", bWrap ? L"" : L"_fc", LF); + p += sprintf(p, " %c", LF); + p += sprintf(p, " // darken (decay) over time%c", LF); + p += sprintf(p, " ret *= %.2f; //or try: ret -= 0.004;%c", decay, LF); + //p += sprintf(p, " %c", LF); + //p += sprintf(p, " ret.w = vDiffuse.w; // pass alpha along - req'd for preset blending%c", LF); + p += sprintf(p, "}%c", LF); +} + +void CPlugin::GenCompPShaderText(char *szShaderText, float brightness, float ve_alpha, float ve_zoom, int ve_orient, float hue_shader, bool bBrighten, bool bDarken, bool bSolarize, bool bInvert) +{ + // find the pixel shader body and replace it with custom code. + + lstrcpy(szShaderText, m_szDefaultCompPShaderText); + char LF = LINEFEED_CONTROL_CHAR; + char *p = strrchr( szShaderText, '{' ); + if (!p) + return; + p++; + p += sprintf(p, "%c", 1); + + if (ve_alpha > 0.001f) + { + int orient_x = (ve_orient % 2) ? -1 : 1; + int orient_y = (ve_orient >= 2) ? -1 : 1; + p += sprintf(p, " float2 uv_echo = (uv - 0.5)*%.3f*float2(%d,%d) + 0.5;%c", 1.0f/ve_zoom, orient_x, orient_y, LF); + p += sprintf(p, " ret = lerp( tex2D(sampler_main, uv).xyz, %c", LF); + p += sprintf(p, " tex2D(sampler_main, uv_echo).xyz, %c", LF); + p += sprintf(p, " %.2f %c", ve_alpha, LF); + p += sprintf(p, " ); //video echo%c", LF); + p += sprintf(p, " ret *= %.2f; //gamma%c", brightness, LF); + } + else + { + p += sprintf(p, " ret = tex2D(sampler_main, uv).xyz;%c", LF); + p += sprintf(p, " ret *= %.2f; //gamma%c", brightness, LF); + } + if (hue_shader >= 1.0f) + p += sprintf(p, " ret *= hue_shader; //old hue shader effect%c", LF); + else if (hue_shader > 0.001f) + p += sprintf(p, " ret *= %.2f + %.2f*hue_shader; //old hue shader effect%c", 1-hue_shader, hue_shader, LF); + + if (bBrighten) + p += sprintf(p, " ret = sqrt(ret); //brighten%c", LF); + if (bDarken) + p += sprintf(p, " ret *= ret; //darken%c", LF); + if (bSolarize) + p += sprintf(p, " ret = ret*(1-ret)*4; //solarize%c", LF); + if (bInvert) + p += sprintf(p, " ret = 1 - ret; //invert%c", LF); + //p += sprintf(p, " ret.w = vDiffuse.w; // pass alpha along - req'd for preset blending%c", LF); + p += sprintf(p, "}%c", LF); +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/plugin.dsp b/src/MilkDrop2/vis_milk2/plugin.dsp new file mode 100644 index 0000000000..e8ed2a95cf --- /dev/null +++ b/src/MilkDrop2/vis_milk2/plugin.dsp @@ -0,0 +1,304 @@ +# Microsoft Developer Studio Project File - Name="plugin" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=plugin - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "plugin.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "plugin.mak" CFG="plugin - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "plugin - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "plugin - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "plugin - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "plugin_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\SDKs\DirectX_9_Oct_2004\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib d3dx9.lib d3d9.lib Delayimp.lib /nologo /dll /machine:I386 /out:"c:\program files\winamp\plugins\vis_milk2.dll" /libpath:"..\SDKs\DirectX_9_Oct_2004\lib" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "plugin - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PLUGIN_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\SDKs\DirectX_9_Oct_2004\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib d3dx9.lib d3d9.lib delayimp.lib /nologo /dll /debug /machine:I386 /out:"c:\program files\winamp\plugins\vis_milk2.dll" /pdbtype:sept /libpath:"..\SDKs\DirectX_9_Oct_2004\lib" + +!ENDIF + +# Begin Target + +# Name "plugin - Win32 Release" +# Name "plugin - Win32 Debug" +# Begin Group "My Plugin Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\menu.cpp +# End Source File +# Begin Source File + +SOURCE=.\milkdropfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\plugin.cpp +# End Source File +# Begin Source File + +SOURCE=.\plugin_icon.ico +# End Source File +# Begin Source File + +SOURCE=.\state.cpp +# End Source File +# Begin Source File + +SOURCE=.\support.cpp +# End Source File +# Begin Source File + +SOURCE=.\texmgr.cpp +# End Source File +# Begin Source File + +SOURCE=.\textmgr.cpp +# End Source File +# End Group +# Begin Group "My Plugin Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\defines.h +# End Source File +# Begin Source File + +SOURCE=.\md_defines.h +# End Source File +# Begin Source File + +SOURCE=.\menu.h +# End Source File +# Begin Source File + +SOURCE=.\plugin.h +# End Source File +# Begin Source File + +SOURCE=.\state.h +# End Source File +# Begin Source File + +SOURCE=.\support.h +# End Source File +# Begin Source File + +SOURCE=.\texmgr.h +# End Source File +# Begin Source File + +SOURCE=.\textmgr.h +# End Source File +# End Group +# Begin Group "Framework Files (do not edit)" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\config.cpp +# End Source File +# Begin Source File + +SOURCE=.\config2.cpp +# End Source File +# Begin Source File + +SOURCE=.\desktop_mode.cpp +# End Source File +# Begin Source File + +SOURCE=.\dxcontext.cpp +# End Source File +# Begin Source File + +SOURCE=.\dxcontext.h +# End Source File +# Begin Source File + +SOURCE=.\fft.cpp +# End Source File +# Begin Source File + +SOURCE=.\fft.h +# End Source File +# Begin Source File + +SOURCE=.\gstring.h +# End Source File +# Begin Source File + +SOURCE=.\icon_t.h +# End Source File +# Begin Source File + +SOURCE=.\plugin.rc +# End Source File +# Begin Source File + +SOURCE=.\pluginshell.cpp +# End Source File +# Begin Source File + +SOURCE=.\pluginshell.h +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# Begin Source File + +SOURCE=.\shell_defines.h +# End Source File +# Begin Source File + +SOURCE=.\utility.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility.h +# End Source File +# Begin Source File + +SOURCE=.\vis.cpp +# End Source File +# Begin Source File + +SOURCE=.\vis.h +# End Source File +# End Group +# Begin Group "evallib" + +# PROP Default_Filter "*.c;*.h" +# Begin Source File + +SOURCE=.\evallib\CAL_TAB.C +# End Source File +# Begin Source File + +SOURCE=.\evallib\cal_tab.h +# End Source File +# Begin Source File + +SOURCE=.\evallib\cfunc.c +# End Source File +# Begin Source File + +SOURCE=.\evallib\Compiler.c +# End Source File +# Begin Source File + +SOURCE=.\evallib\Compiler.h +# End Source File +# Begin Source File + +SOURCE=.\evallib\eval.c +# End Source File +# Begin Source File + +SOURCE=.\evallib\eval.h +# End Source File +# Begin Source File + +SOURCE=.\evallib\Gettok.c +# End Source File +# Begin Source File + +SOURCE=.\evallib\LEX.H +# End Source File +# Begin Source File + +SOURCE=.\evallib\Lextab.c +# End Source File +# Begin Source File + +SOURCE=.\evallib\LLSAVE.C +# End Source File +# Begin Source File + +SOURCE=.\evallib\Yylex.c +# End Source File +# End Group +# Begin Source File + +SOURCE=.\DOCUMENTATION.TXT +# End Source File +# Begin Source File + +SOURCE=.\milkdrop.nsi +# End Source File +# Begin Source File + +SOURCE=.\temp.ico +# End Source File +# End Target +# End Project diff --git a/src/MilkDrop2/vis_milk2/plugin.h b/src/MilkDrop2/vis_milk2/plugin.h new file mode 100644 index 0000000000..45fe854906 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/plugin.h @@ -0,0 +1,729 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_EXAMPLE_PLUGIN_H__ +#define __NULLSOFT_DX9_EXAMPLE_PLUGIN_H__ 1 + +#include "pluginshell.h" +#include "md_defines.h" +#include "menu.h" +#include "support.h" +#include "texmgr.h" +#include "state.h" +#include "../nu/Vector.h" + +#include "gstring.h" +#include "../ns-eel2/ns-eel.h" + + + +extern "C" int (*warand)(void); + +typedef enum { TEX_DISK, TEX_VS, TEX_BLUR0, TEX_BLUR1, TEX_BLUR2, TEX_BLUR3, TEX_BLUR4, TEX_BLUR5, TEX_BLUR6, TEX_BLUR_LAST } tex_code; +typedef enum { UI_REGULAR, UI_MENU, UI_LOAD, UI_LOAD_DEL, UI_LOAD_RENAME, UI_SAVEAS, UI_SAVE_OVERWRITE, UI_EDIT_MENU_STRING, UI_CHANGEDIR, UI_IMPORT_WAVE, UI_EXPORT_WAVE, UI_IMPORT_SHAPE, UI_EXPORT_SHAPE, UI_UPGRADE_PIXEL_SHADER, UI_MASHUP } ui_mode; +typedef struct { float rad; float ang; float a; float c; } td_vertinfo; // blending: mix = max(0,min(1,a*t + c)); +typedef char* CHARPTR; +LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + +#define MY_FFT_SAMPLES 512 // for old [pre-vms] milkdrop sound analysis +typedef struct +{ + float imm[3]; // bass, mids, treble (absolute) + float imm_rel[3]; // bass, mids, treble (relative to song; 1=avg, 0.9~below, 1.1~above) + float avg[3]; // bass, mids, treble (absolute) + float avg_rel[3]; // bass, mids, treble (relative to song; 1=avg, 0.9~below, 1.1~above) + float long_avg[3]; // bass, mids, treble (absolute) + float fWave[2][576]; + float fSpecLeft[MY_FFT_SAMPLES]; +} td_mysounddata; + +typedef struct +{ + int bActive; + int bFilterBadChars; // if true, it will filter out any characters that don't belong in a filename, plus the & symbol (because it doesn't display properly with DrawText) + int bDisplayAsCode; // if true, semicolons will be followed by a newline, for display + int nMaxLen; // can't be more than 511 + int nCursorPos; + int nSelAnchorPos; // -1 if no selection made + int bOvertypeMode; + wchar_t szText[48000]; + wchar_t szPrompt[512]; + wchar_t szToolTip[512]; + char szClipboard[48000]; + wchar_t szClipboardW[48000]; +} td_waitstr; + +typedef struct +{ + int bBold; + int bItal; + wchar_t szFace[128]; + int nColorR; // 0..255 + int nColorG; // 0..255 + int nColorB; // 0..255 +} +td_custom_msg_font; + +enum +{ + MD2_PS_NONE = 0, + MD2_PS_2_0 = 2, + MD2_PS_2_X = 3, + MD2_PS_3_0 = 4, + MD2_PS_4_0 = 5, // not supported by milkdrop +}; +/* +typedef struct +{ + char szFace[256]; + int nSize; + int bBold; + int bItalic; +} td_titlefontinfo;*/ + +typedef struct +{ + int nFont; + float fSize; // 0..100 + float x; + float y; + float randx; + float randy; + float growth; + float fTime; // total time to display the message, in seconds + float fFade; // % (0..1) of the time that is spent fading in + + // overrides + int bOverrideBold; + int bOverrideItal; + int bOverrideFace; + int bOverrideColorR; + int bOverrideColorG; + int bOverrideColorB; + int nColorR; // 0..255 + int nColorG; // 0..255 + int nColorB; // 0..255 + int nRandR; + int nRandG; + int nRandB; + int bBold; + int bItal; + wchar_t szFace[128]; + + wchar_t szText[256]; +} +td_custom_msg; + +typedef struct +{ + int bRedrawSuperText; // true if it needs redraw + int bIsSongTitle; // false for custom message, true for song title + //char szText[256]; + wchar_t szTextW[256]; + wchar_t nFontFace[128]; + int bBold; + int bItal; + float fX; + float fY; + float fFontSize; // [0..100] for custom messages, [0..4] for song titles + float fGrowth; // applies to custom messages only + int nFontSizeUsed; // height IN PIXELS + float fStartTime; + float fDuration; + float fFadeTime; // applies to custom messages only; song title fade times are handled specially + int nColorR; + int nColorG; + int nColorB; +} +td_supertext; + +typedef struct +{ + wchar_t texname[256]; // ~filename, but without path or extension! + LPDIRECT3DBASETEXTURE9 texptr; + int w,h,d; + //D3DXHANDLE texsize_param; + bool bEvictable; + int nAge; // only valid if bEvictable is true + int nSizeInBytes; // only valid if bEvictable is true +} TexInfo; + +typedef struct +{ + GString texname; // just for ref + D3DXHANDLE texsize_param; + int w,h; +} TexSizeParamInfo; + +typedef struct +{ + LPDIRECT3DBASETEXTURE9 texptr; + bool bBilinear; + bool bWrap; +} SamplerInfo; + +typedef struct +{ + GString msg; + bool bBold; // true == red bkg; false == black bkg + float birthTime; + float expireTime; + int category; +} ErrorMsg; +typedef Vector ErrorMsgList; + +typedef Vector CShaderParamsList; + +class CShaderParams +{ +public: + // float4 handles: + D3DXHANDLE rand_frame ; + D3DXHANDLE rand_preset; + D3DXHANDLE const_handles[24]; + D3DXHANDLE q_const_handles[(NUM_Q_VAR+3)/4]; + D3DXHANDLE rot_mat[24]; + + typedef Vector TexSizeParamInfoList; + TexSizeParamInfoList texsize_params; + + // sampler stages for various PS texture bindings: + //int texbind_vs; + //int texbind_disk[32]; + //int texbind_voronoi; + //... + SamplerInfo m_texture_bindings[16]; // an entry for each sampler slot. These are ALIASES - DO NOT DELETE. + tex_code m_texcode[16]; // if ==TEX_VS, forget the pointer - texture bound @ that stage is the double-buffered VS. + + void Clear(); + void CacheParams(LPD3DXCONSTANTTABLE pCT, bool bHardErrors); + void OnTextureEvict(LPDIRECT3DBASETEXTURE9 texptr); + CShaderParams(); + ~CShaderParams(); +}; + +class VShaderInfo +{ +public: + IDirect3DVertexShader9* ptr; + LPD3DXCONSTANTTABLE CT; + CShaderParams params; + VShaderInfo() { ptr=NULL; CT=NULL; params.Clear(); } + ~VShaderInfo() { Clear(); } + void Clear(); +}; + +class PShaderInfo +{ +public: + IDirect3DPixelShader9* ptr; + LPD3DXCONSTANTTABLE CT; + CShaderParams params; + PShaderInfo() { ptr=NULL; CT=NULL; params.Clear(); } + ~PShaderInfo() { Clear(); } + void Clear(); +}; + +typedef struct +{ + VShaderInfo vs; + PShaderInfo ps; +} ShaderPairInfo; + +typedef struct +{ + PShaderInfo warp; + PShaderInfo comp; +} PShaderSet; + +typedef struct +{ + VShaderInfo warp; + VShaderInfo comp; +} VShaderSet; + +/* +typedef struct +{ + void* ptr; // to IDirect3DPixelShader9 or IDirect3DVertexShader9 + LPD3DXCONSTANTTABLE CT; + CShaderParams params; +} ShaderInfo; + +typedef struct +{ + ShaderInfo warp; + ShaderInfo comp; +} ShaderSet; +*/ + +typedef struct +{ + GString szFilename; // without path + float fRatingThis; + float fRatingCum; +} PresetInfo; +typedef Vector PresetList; + + +class CPlugin : public CPluginShell +{ +public: + + //====[ 1. members added to create this specific example plugin: ]================================================ + + /// CONFIG PANEL SETTINGS THAT WE'VE ADDED (TAB #2) + bool m_bFirstRun; + float m_fBlendTimeAuto; // blend time when preset auto-switches + float m_fBlendTimeUser; // blend time when user loads a new preset + float m_fTimeBetweenPresets; // <- this is in addition to m_fBlendTimeAuto + float m_fTimeBetweenPresetsRand; // <- this is in addition to m_fTimeBetweenPresets + bool m_bSequentialPresetOrder; + bool m_bHardCutsDisabled; + float m_fHardCutLoudnessThresh; + float m_fHardCutHalflife; + float m_fHardCutThresh; + //int m_nWidth; + //int m_nHeight; + //int m_nDispBits; + int m_nCanvasStretch; // 0=Auto, 100=None, 125 = 1.25X, 133, 150, 167, 200, 300, 400 (4X). + int m_nTexSizeX; // -1 = exact match to screen; -2 = nearest power of 2. + int m_nTexSizeY; + float m_fAspectX; + float m_fAspectY; + float m_fInvAspectX; + float m_fInvAspectY; + int m_nTexBitsPerCh; + int m_nGridX; + int m_nGridY; + + bool m_bShowPressF1ForHelp; + //char m_szMonitorName[256]; + bool m_bShowMenuToolTips; + int m_n16BitGamma; + bool m_bAutoGamma; + //int m_nFpsLimit; + //int m_cLeftEye3DColor[3]; + //int m_cRightEye3DColor[3]; + bool m_bEnableRating; + //bool m_bInstaScan; + bool m_bSongTitleAnims; + float m_fSongTitleAnimDuration; + float m_fTimeBetweenRandomSongTitles; + float m_fTimeBetweenRandomCustomMsgs; + int m_nSongTitlesSpawned; + int m_nCustMsgsSpawned; + + //bool m_bAlways3D; + //float m_fStereoSep; + //bool m_bAlwaysOnTop; + //bool m_bFixSlowText; + //bool m_bWarningsDisabled; // messageboxes + bool m_bWarningsDisabled2; // warnings/errors in upper-right corner (m_szUserMessage) + //bool m_bAnisotropicFiltering; + bool m_bPresetLockOnAtStartup; + bool m_bPreventScollLockHandling; + int m_nMaxPSVersion_ConfigPanel; // -1 = auto, 0 = disable shaders, 2 = ps_2_0, 3 = ps_3_0 + int m_nMaxPSVersion_DX9; // 0 = no shader support, 2 = ps_2_0, 3 = ps_3_0 + int m_nMaxPSVersion; // this one will be the ~min of the other two. 0/2/3. + int m_nMaxImages; + int m_nMaxBytes; + + /* + char m_szFontFace[NUM_FONTS][128]; + int m_nFontSize[NUM_FONTS]; + bool m_bFontBold[NUM_FONTS]; + bool m_bFontItalic[NUM_FONTS]; + char m_szTitleFontFace[128]; + int m_nTitleFontSize; // percentage of screen width (0..100) + bool m_bTitleFontBold; + bool m_bTitleFontItalic; + */ + HFONT m_gdi_title_font_doublesize; + LPD3DXFONT m_d3dx_title_font_doublesize; + + // PIXEL SHADERS + DWORD m_dwShaderFlags; // Shader compilation/linking flags + //ID3DXFragmentLinker* m_pFragmentLinker; // Fragment linker interface + //LPD3DXBUFFER m_pCompiledFragments; // Buffer containing compiled fragments + LPD3DXBUFFER m_pShaderCompileErrors; + VShaderSet m_fallbackShaders_vs; // *these are the only vertex shaders used for the whole app.* + PShaderSet m_fallbackShaders_ps; // these are just used when the preset's pixel shaders fail to compile. + PShaderSet m_shaders; // includes shader pointers and constant tables for warp & comp shaders, for cur. preset + PShaderSet m_OldShaders; // includes shader pointers and constant tables for warp & comp shaders, for prev. preset + PShaderSet m_NewShaders; // includes shader pointers and constant tables for warp & comp shaders, for coming preset + ShaderPairInfo m_BlurShaders[2]; + bool m_bWarpShaderLock; + bool m_bCompShaderLock; + //bool LoadShaderFromFile( char* szFile, char* szFn, char* szProfile, + // LPD3DXCONSTANTTABLE* ppConstTable, void** ppShader ); + #define SHADER_WARP 0 + #define SHADER_COMP 1 + #define SHADER_BLUR 2 + #define SHADER_OTHER 3 + bool LoadShaderFromMemory( const char* szShaderText, char* szFn, char* szProfile, + LPD3DXCONSTANTTABLE* ppConstTable, void** ppShader, int shaderType, bool bHardErrors ); + bool RecompileVShader(const char* szShadersText, VShaderInfo *si, int shaderType, bool bHardErrors); + bool RecompilePShader(const char* szShadersText, PShaderInfo *si, int shaderType, bool bHardErrors, int PSVersion); + bool EvictSomeTexture(); + typedef Vector TexInfoList; + TexInfoList m_textures; + bool m_bNeedRescanTexturesDir; + // vertex declarations: + IDirect3DVertexDeclaration9* m_pSpriteVertDecl; + IDirect3DVertexDeclaration9* m_pWfVertDecl; + IDirect3DVertexDeclaration9* m_pMyVertDecl; + + D3DXVECTOR4 m_rand_frame; // 4 random floats (0..1); randomized once per frame; fed to pixel shaders. + + // RUNTIME SETTINGS THAT WE'VE ADDED + float m_prev_time; + bool m_bTexSizeWasAutoPow2; + bool m_bTexSizeWasAutoExact; + bool m_bPresetLockedByUser; + bool m_bPresetLockedByCode; + float m_fAnimTime; + float m_fStartTime; + float m_fPresetStartTime; + float m_fNextPresetTime; + float m_fSnapPoint; + CState *m_pState; // points to current CState + CState *m_pOldState; // points to previous CState + CState *m_pNewState; // points to the coming CState - we're not yet blending to it b/c we're still compiling the shaders for it! + int m_nLoadingPreset; + wchar_t m_szLoadingPreset[MAX_PATH]; + float m_fLoadingPresetBlendTime; + int m_nPresetsLoadedTotal; //important for texture eviction age-tracking... + CState m_state_DO_NOT_USE[3]; // do not use; use pState and pOldState instead. + ui_mode m_UI_mode; // can be UI_REGULAR, UI_LOAD, UI_SAVEHOW, or UI_SAVEAS + + #define MASH_SLOTS 5 + #define MASH_APPLY_DELAY_FRAMES 1 + int m_nMashSlot; //0..MASH_SLOTS-1 + //char m_szMashDir[MASH_SLOTS][MAX_PATH]; + int m_nMashPreset[MASH_SLOTS]; + int m_nLastMashChangeFrame[MASH_SLOTS]; + + //td_playlist_entry *m_szPlaylist; // array of 128-char strings + //int m_nPlaylistCurPos; + //int m_nPlaylistLength; + //int m_nTrackPlaying; + //int m_nSongPosMS; + //int m_nSongLenMS; + bool m_bUserPagedUp; + bool m_bUserPagedDown; + float m_fMotionVectorsTempDx; + float m_fMotionVectorsTempDy; + + td_waitstr m_waitstring; + void WaitString_NukeSelection(); + void WaitString_Cut(); + void WaitString_Copy(); + void WaitString_Paste(); + void WaitString_SeekLeftWord(); + void WaitString_SeekRightWord(); + int WaitString_GetCursorColumn(); + int WaitString_GetLineLength(); + void WaitString_SeekUpOneLine(); + void WaitString_SeekDownOneLine(); + + int m_nPresets; // the # of entries in the file listing. Includes directories and then files, sorted alphabetically. + int m_nDirs; // the # of presets that are actually directories. Always between 0 and m_nPresets. + int m_nPresetListCurPos;// Index of the currently-HIGHLIGHTED preset (the user must press Enter on it to select it). + int m_nCurrentPreset; // Index of the currently-RUNNING preset. + // Note that this is NOT the same as the currently-highlighted preset! (that's m_nPresetListCurPos) + // Be careful - this can be -1 if the user changed dir. & a new preset hasn't been loaded yet. + wchar_t m_szCurrentPresetFile[512]; // w/o path. this is always valid (unless no presets were found) + PresetList m_presets; + void UpdatePresetList(bool bBackground=false, bool bForce=false, bool bTryReselectCurrentPreset=true); + wchar_t m_szUpdatePresetMask[MAX_PATH]; + bool m_bPresetListReady; + //void UpdatePresetRatings(); + //int m_nRatingReadProgress; // equals 'm_nPresets' if all ratings are read in & ready to go; -1 if uninitialized; otherwise, it's still reading them in, and range is: [0 .. m_nPresets-1] + bool m_bInitialPresetSelected; + + // PRESET HISTORY + #define PRESET_HIST_LEN (64+2) // make this 2 more than the # you REALLY want to be able to go back. + GString m_presetHistory[PRESET_HIST_LEN]; //circular + int m_presetHistoryPos; + int m_presetHistoryBackFence; + int m_presetHistoryFwdFence; + void PrevPreset(float fBlendTime); + void NextPreset(float fBlendTime); // if not retracing our former steps, it will choose a random one. + void OnFinishedLoadingPreset(); + + FFT myfft; + td_mysounddata mysound; + + // stuff for displaying text to user: + //int m_nTextHeightPixels; // this is for the menu/detail font; NOT the "fancy font" + //int m_nTextHeightPixels_Fancy; + bool m_bShowFPS; + bool m_bShowRating; + bool m_bShowPresetInfo; + bool m_bShowDebugInfo; + bool m_bShowSongTitle; + bool m_bShowSongTime; + bool m_bShowSongLen; + float m_fShowRatingUntilThisTime; + //float m_fShowUserMessageUntilThisTime; + //char m_szUserMessage[512]; + //bool m_bUserMessageIsError; + + #define ERR_ALL 0 + #define ERR_INIT 1 //specifically, loading a preset + #define ERR_PRESET 2 //specifically, loading a preset + #define ERR_MISC 3 + #define ERR_NOTIFY 4 // a simple notification - not an error at all. ("shuffle is now ON." etc.) + // NOTE: each NOTIFY msg clears all the old NOTIFY messages! + #define ERR_SCANNING_PRESETS 5 + ErrorMsgList m_errors; + void AddError(wchar_t* szMsg, float fDuration, int category=ERR_ALL, bool bBold=true); + void ClearErrors(int category=ERR_ALL); // 0=all categories + + char m_szDebugMessage[512]; + wchar_t m_szSongTitle [512]; + wchar_t m_szSongTitlePrev[512]; + //HFONT m_hfont[3]; // 0=fancy font (for song titles, preset name) + // 1=legible font (the main font) + // 2=tooltip font (for tooltips in the menu system) + //HFONT m_htitlefont[NUM_TITLE_FONTS]; // ~25 different sizes + // stuff for menu system: + CMilkMenu *m_pCurMenu; // should always be valid! + CMilkMenu m_menuPreset; + CMilkMenu m_menuWave; + CMilkMenu m_menuAugment; + CMilkMenu m_menuCustomWave; + CMilkMenu m_menuCustomShape; + CMilkMenu m_menuMotion; + CMilkMenu m_menuPost; + CMilkMenu m_menuWavecode[MAX_CUSTOM_WAVES]; + CMilkMenu m_menuShapecode[MAX_CUSTOM_SHAPES]; + bool m_bShowShaderHelp; + + + + wchar_t m_szMilkdrop2Path[MAX_PATH]; // ends in a backslash + wchar_t m_szMsgIniFile[MAX_PATH]; + wchar_t m_szImgIniFile[MAX_PATH]; + wchar_t m_szPresetDir[MAX_PATH]; + float m_fRandStart[4]; + + // DIRECTX 9: + IDirect3DTexture9 *m_lpVS[2]; + #define NUM_BLUR_TEX 6 + #if (NUM_BLUR_TEX>0) + IDirect3DTexture9 *m_lpBlur[NUM_BLUR_TEX]; // each is successively 1/2 size of prev. + int m_nBlurTexW[NUM_BLUR_TEX]; + int m_nBlurTexH[NUM_BLUR_TEX]; + #endif + int m_nHighestBlurTexUsedThisFrame; + IDirect3DTexture9 *m_lpDDSTitle; // CAREFUL: MIGHT BE NULL (if not enough mem)! + int m_nTitleTexSizeX, m_nTitleTexSizeY; + MYVERTEX *m_verts; + MYVERTEX *m_verts_temp; + td_vertinfo *m_vertinfo; + int *m_indices_strip; + int *m_indices_list; + + // for final composite grid: + #define FCGSX 32 // final composite gridsize - # verts - should be EVEN. + #define FCGSY 24 // final composite gridsize - # verts - should be EVEN. + // # of grid *cells* is two less, + // since we have redundant verts along the center line in X and Y (...for clean 'ang' interp) + MYVERTEX m_comp_verts[FCGSX*FCGSY]; + int m_comp_indices[(FCGSX-2)*(FCGSY-2)*2*3]; + + bool m_bMMX; + //bool m_bSSE; + bool m_bHasFocus; + bool m_bHadFocus; + bool m_bOrigScrollLockState; + //bool m_bMilkdropScrollLockState; // saved when focus is lost; restored when focus is regained + + int m_nNumericInputMode; // NUMERIC_INPUT_MODE_CUST_MSG, NUMERIC_INPUT_MODE_SPRITE + int m_nNumericInputNum; + int m_nNumericInputDigits; + td_custom_msg_font m_CustomMessageFont[MAX_CUSTOM_MESSAGE_FONTS]; + td_custom_msg m_CustomMessage[MAX_CUSTOM_MESSAGES]; + + texmgr m_texmgr; // for user sprites + + td_supertext m_supertext; // **contains info about current Song Title or Custom Message.** + + IDirect3DTexture9 *m_tracer_tex; + + int m_nFramesSinceResize; + + char m_szShaderIncludeText[32768]; // note: this still has char 13's and 10's in it - it's never edited on screen or loaded/saved with a preset. + int m_nShaderIncludeTextLen; // # of chars, not including the final NULL. + char m_szDefaultWarpVShaderText[32768]; // THIS HAS CHAR 13/10 CONVERTED TO LINEFEED_CONTROL_CHAR + char m_szDefaultWarpPShaderText[32768]; // THIS HAS CHAR 13/10 CONVERTED TO LINEFEED_CONTROL_CHAR + char m_szDefaultCompVShaderText[32768]; // THIS HAS CHAR 13/10 CONVERTED TO LINEFEED_CONTROL_CHAR + char m_szDefaultCompPShaderText[32768]; // THIS HAS CHAR 13/10 CONVERTED TO LINEFEED_CONTROL_CHAR + char m_szBlurVS[32768]; + char m_szBlurPSX[32768]; + char m_szBlurPSY[32768]; + //const char* GetDefaultWarpShadersText() { return m_szDefaultWarpShaderText; } + //const char* GetDefaultCompShadersText() { return m_szDefaultCompShaderText; } + void GenWarpPShaderText(char *szShaderText, float decay, bool bWrap); + void GenCompPShaderText(char *szShaderText, float brightness, float ve_alpha, float ve_zoom, int ve_orient, float hue_shader, bool bBrighten, bool bDarken, bool bSolarize, bool bInvert); + + //====[ 2. methods added: ]===================================================================================== + + void RefreshTab2(HWND hwnd); + void RenderFrame(int bRedraw); + void AlignWave(int nSamples); + + void DrawTooltip(wchar_t* str, int xR, int yB); + void RandomizeBlendPattern(); + void GenPlasma(int x0, int x1, int y0, int y1, float dt); + void LoadPerFrameEvallibVars(CState* pState); + void LoadCustomWavePerFrameEvallibVars(CState* pState, int i); + void LoadCustomShapePerFrameEvallibVars(CState* pState, int i, int instance); + void WriteRealtimeConfig(); // called on Finish() + void dumpmsg(wchar_t *s); + void Randomize(); + void LoadRandomPreset(float fBlendTime); + void LoadPreset(const wchar_t *szPresetFilename, float fBlendTime); + void LoadPresetTick(); + void FindValidPresetDir(); + //char* GetConfigIniFile() { return m_szConfigIniFile; }; + wchar_t* GetMsgIniFile() { return m_szMsgIniFile; }; + wchar_t* GetPresetDir() { return m_szPresetDir; }; + void SavePresetAs(wchar_t *szNewFile); // overwrites the file if it was already there. + void DeletePresetFile(wchar_t *szDelFile); + void RenamePresetFile(wchar_t *szOldFile, wchar_t *szNewFile); + void SetCurrentPresetRating(float fNewRating); + void SeekToPreset(wchar_t cStartChar); + bool ReversePropagatePoint(float fx, float fy, float *fx2, float *fy2); + int HandleRegularKey(WPARAM wParam); + bool OnResizeGraphicsWindow(); + bool OnResizeTextWindow(); + //bool InitFont(); + //void ToggleControlWindow(); // for Desktop Mode only + //void DrawUI(); + void ClearGraphicsWindow(); // for windowed mode only + //bool Update_Overlay(); + //void UpdatePlaylist(); + void LaunchCustomMessage(int nMsgNum); + void ReadCustomMessages(); + void LaunchSongTitleAnim(); + + bool RenderStringToTitleTexture(); + void ShowSongTitleAnim(/*IDirect3DTexture9* lpRenderTarget,*/ int w, int h, float fProgress); + void DrawWave(float *fL, float *fR); + void DrawCustomWaves(); + void DrawCustomShapes(); + void DrawSprites(); + void ComputeGridAlphaValues(); + //void WarpedBlit(); + // note: 'bFlipAlpha' just flips the alpha blending in fixed-fn pipeline - not the values for culling tiles. + void WarpedBlit_Shaders (int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling); + void WarpedBlit_NoShaders(int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling); + void ShowToUser_Shaders (int nPass, bool bAlphaBlend, bool bFlipAlpha, bool bCullTiles, bool bFlipCulling); + void ShowToUser_NoShaders(); + void BlurPasses(); + void GetSafeBlurMinMax(CState* pState, float* blur_min, float* blur_max); + void RunPerFrameEquations(int code); + void DrawUserSprites(); + void MergeSortPresets(int left, int right); + void BuildMenus(); + void SetMenusForPresetVersion(int WarpPSVersion, int CompPSVersion); + //void ResetWindowSizeOnDisk(); + bool LaunchSprite(int nSpriteNum, int nSlot); + void KillSprite(int iSlot); + void DoCustomSoundAnalysis(); + void DrawMotionVectors(); + + bool LoadShaders(PShaderSet* sh, CState* pState, bool bTick); + void UvToMathSpace(float u, float v, float* rad, float* ang); + void ApplyShaderParams(CShaderParams* p, LPD3DXCONSTANTTABLE pCT, CState* pState); + void RestoreShaderParams(); + bool AddNoiseTex(const wchar_t* szTexName, int size, int zoom_factor); + bool AddNoiseVol(const wchar_t* szTexName, int size, int zoom_factor); + + + //====[ 3. virtual functions: ]=========================================================================== + + virtual void OverrideDefaults(); + virtual void MyPreInitialize(); + virtual void MyReadConfig(); + virtual void MyWriteConfig(); + virtual int AllocateMyNonDx9Stuff(); + virtual void CleanUpMyNonDx9Stuff(); + virtual int AllocateMyDX9Stuff(); + virtual void CleanUpMyDX9Stuff(int final_cleanup); + virtual void MyRenderFn(int redraw); + virtual void MyRenderUI(int *upper_left_corner_y, int *upper_right_corner_y, int *lower_left_corner_y, int *lower_right_corner_y, int xL, int xR); + virtual LRESULT MyWindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + virtual BOOL MyConfigTabProc(int nPage, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + virtual void OnAltK(); + + //====[ 4. methods from base class: ]=========================================================================== + /* + // 'GET' METHODS + // ------------------------------------------------------------ + int GetFrame(); // returns current frame # (starts at zero) + float GetTime(); // returns current animation time (in seconds) (starts at zero) (updated once per frame) + float GetFps(); // returns current estimate of framerate (frames per second) + eScrMode GetScreenMode(); // returns WINDOWED, FULLSCREEN, FAKE_FULLSCREEN, or NOT_YET_KNOWN (if called before or during OverrideDefaults()). + HWND GetWinampWindow(); // returns handle to Winamp main window + HINSTANCE GetInstance(); // returns handle to the plugin DLL module; used for things like loading resources (dialogs, bitmaps, icons...) that are built into the plugin. + char* GetPluginsDirPath(); // usually returns 'c:\\program files\\winamp\\plugins\\' + char* GetConfigIniFile(); // usually returns 'c:\\program files\\winamp\\plugins\\something.ini' - filename is determined from identifiers in 'defines.h' + + // GET METHODS THAT ONLY WORK ONCE DIRECTX IS READY + // ------------------------------------------------------------ + // The following 'Get' methods are only available after DirectX has been initialized. + // If you call these from OverrideDefaults, MyPreInitialize, or MyReadConfig, + // they will fail and return NULL (zero). + // ------------------------------------------------------------ + HWND GetPluginWindow(); // returns handle to the plugin window. NOT persistent; can change. + int GetWidth(); // returns width of plugin window interior, in pixels. + int GetHeight(); // returns height of plugin window interior, in pixels. + D3DFORMAT GetBackBufFormat(); // returns the pixelformat of the back buffer (probably D3DFMT_R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_X8R8G8B8, D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_A1R5G5B5, D3DFMT_A4R4G4B4, D3DFMT_R3G3B2, D3DFMT_A8R3G3B2, D3DFMT_X4R4G4B4, or D3DFMT_UNKNOWN) + D3DFORMAT GetBackBufZFormat(); // returns the pixelformat of the back buffer's Z buffer (probably D3DFMT_D16_LOCKABLE, D3DFMT_D32, D3DFMT_D15S1, D3DFMT_D24S8, D3DFMT_D16, D3DFMT_D24X8, D3DFMT_D24X4S4, or D3DFMT_UNKNOWN) + D3DCAPS8* GetCaps(); // returns a pointer to the D3DCAPS8 structer for the device. NOT persistent; can change. + LPDIRECT3DDEVICE8 GetDevice(); // returns a pointer to the DirectX 8 Device. NOT persistent; can change. + + // FONTS & TEXT + // ------------------------------------------------------------ + LPD3DXFONT GetFont(eFontIndex idx); // returns a handle to a D3DX font you can use to draw text on the screen + int GetFontHeight(eFontIndex idx); // returns the height of the font, in pixels + + // MISC + // ------------------------------------------------------------ + td_soundinfo m_sound; // a structure always containing the most recent sound analysis information; defined in pluginshell.h. + void SuggestHowToFreeSomeMem(); // gives the user a 'smart' messagebox that suggests how they can free up some video memory. + */ + //===================================================================================================================== +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/plugin.rc b/src/MilkDrop2/vis_milk2/plugin.rc new file mode 100644 index 0000000000..b181622743 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/plugin.rc @@ -0,0 +1,1501 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_CONFIG DIALOGEX 0, 0, 390, 292 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "(window title will be assigned at runtime)" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + CONTROL "Tab1",IDC_TABS,"SysTabControl32",TCS_HOTTRACK | WS_TABSTOP,6,7,324,255 + CONTROL "",IDC_RECT,"Static",SS_BLACKRECT | NOT WS_VISIBLE,8,20,320,240 + DEFPUSHBUTTON "OK",IDOK,335,19,50,13 + PUSHBUTTON "Cancel",IDCANCEL,335,35,50,13 + PUSHBUTTON "Defaults",ID_DEFAULTS,335,51,50,13 + PUSHBUTTON "View Docs",ID_DOCS,335,67,50,13 + PUSHBUTTON "View Website",ID_WEB,335,83,50,13 + CTEXT "For help on any setting, click the '?' in the upper-right\rcorner, and then click the item you need help with.",IDC_STATIC,6,268,186,19,SS_SUNKEN + CTEXT "(...'about' text will be placed in this box automatically, at runtime)",IDC_SZ_ABOUT,198,268,187,19,SS_SUNKEN +END + +IDD_PROPPAGE_2 DIALOGEX 0, 0, 320, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + GROUPBOX "[ More Settings: ]",IDC_FS_BOX,0,3,319,236 + RTEXT "Canvas Stretch:",IDC_STRETCH_CAPTION,5,33,56,10 + COMBOBOX IDC_STRETCH,67,30,99,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "<-- use if your graphics chip (GPU) is slow !!",IDC_STATIC,169,33,144,8 + RTEXT "Mesh Size:",IDC_MESHSIZECOMBO_CAPTION,19,49,43,10 + COMBOBOX IDC_MESHSIZECOMBO,67,47,99,123,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "<-- decrease if your processor (CPU) is slow !!",IDC_STATIC,168,50,150,8 + RTEXT "Pixel Shaders:",IDC_SHADERS_CAPTION,13,67,49,10 + COMBOBOX IDC_SHADERS,67,64,99,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "<-- don't touch this.",IDC_STATIC,168,67,144,8 + RTEXT "Canvas Size:",IDC_TEXSIZECOMBO_CAPTION,19,84,43,10 + COMBOBOX IDC_TEXSIZECOMBO,67,81,99,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "<-- don't touch this.",IDC_STATIC,168,84,144,8 + CONTROL "Start milkdrop with preset lock [scroll lock key] ON",IDC_CB_SCROLLON, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,22,116,175,10 + CONTROL "Disable preset rating (...all presets have equal chance)",IDC_CB_NORATING, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,22,129,192,10 + CONTROL "Suppress all errors/warnings (for VJ'ing)",IDC_CB_NOWARN2, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,142,143,10 + CONTROL "Prevent milkdrop from controlling the scroll lock key [default: OFF]",IDC_CB_SCROLLON2, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,22,155,227,10 + GROUPBOX "Brightness control for 16-bit-color video modes",IDC_BRIGHT_SLIDER_BOX,8,182,180,49 + CONTROL "Slider1",IDC_BRIGHT_SLIDER,"msctls_trackbar32",WS_TABSTOP,25,193,89,14 + CTEXT "0\r\n(bright)",IDC_T1,20,207,25,17 + CTEXT "2\r\n(normal)",IDC_T3,54,207,28,18 + CTEXT "3",IDC_T4,83,207,8,10 + CTEXT "4\r\n(dark)",IDC_T5,91,207,30,18 + CONTROL "guess,\r\nbased on my video card",IDC_CB_AUTOGAMMA, + "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,129,194,54,30 + CONTROL "Scan presets instantly @ startup/dir. change (can cause a pause)",IDC_CB_INSTASCAN, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,207,197,100,17 + CONTROL "Stereo 3D mode Always ON",IDC_CB_ALWAYS3D,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,203,207,103,10 + CONTROL "Use anisotropic filtering (if available) instead of bilinear interpolation",IDC_CB_ANISO, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,203,203,99,10 + CTEXT "1",IDC_T2,46,207,8,10 + COMBOBOX IDC_TEXFORMAT,205,197,99,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_DISABLED | WS_VSCROLL | WS_TABSTOP + RTEXT "Texture Format:",IDC_TEXFORMAT_CAPTION,201,198,55,10,NOT WS_VISIBLE | WS_DISABLED +END + +IDD_PROPPAGE_1 DIALOGEX 0, 0, 320, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + GROUPBOX "",IDC_STATIC,0,0,319,239 + RTEXT "Display Adapter:",IDC_DMS_ADAPTER_CAPTION,68,12,53,9 + COMBOBOX IDC_ADAPTER_DMS,126,9,185,191,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "\rDESKTOP MODE\rsettings",IDC_DMS_LABEL,3,17,60,38 + RTEXT "Max Framerate:",IDC_DMS_MAXFPS_CAPTION,63,28,58,9 + COMBOBOX IDC_DMS_MAXFPS,126,25,81,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "More &Options",ID_DM_MORE,261,25,50,15 + RTEXT "Multisampling:",IDC_DMS_MULTISAMPLING_CAPTION,5,43,46,9,NOT WS_VISIBLE | WS_DISABLED + COMBOBOX IDC_DMSMS,56,41,81,123,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_DISABLED | WS_VSCROLL | WS_TABSTOP + CONTROL "Allow Page Tearing",IDC_CB_DMSPT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,43,77,10 + CONTROL "",IDC_STATIC,"Static",SS_GRAYRECT,0,58,318,1 + RTEXT "Display Adapter:",IDC_FS_ADAPTER_CAPTION,68,66,53,9 + COMBOBOX IDC_ADAPTER_FS,126,63,185,208,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "FULLSCREEN settings",IDC_FS_LABEL,7,85,50,18 + RTEXT "Display Mode:",IDC_DISP_MODE_CAPTION,66,81,55,9 + COMBOBOX IDC_DISP_MODE,126,78,185,208,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + RTEXT "Max Framerate:",IDC_FS_MAXFPS_CAPTION,66,96,55,9 + COMBOBOX IDC_FS_MAXFPS,126,94,81,107,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Multisampling:",IDC_FS_MULTISAMPLING_CAPTION,4,112,47,9,NOT WS_VISIBLE | WS_DISABLED + COMBOBOX IDC_FSMS,56,110,81,123,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_DISABLED | WS_VSCROLL | WS_TABSTOP + CONTROL "Allow Page Tearing",IDC_CB_FSPT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,112,77,10 + CONTROL "Use Fa&ke fullscreen mode",IDC_CB_FAKE,"Button",BS_AUTOCHECKBOX | BS_TOP | WS_TABSTOP,214,112,97,10 + CONTROL "",IDC_STATIC,"Static",SS_GRAYRECT,0,127,318,1 + RTEXT "Display Adapter:",IDC_W_ADAPTER_CAPTION,68,135,53,9 + COMBOBOX IDC_ADAPTER_W,126,132,185,208,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "WINDOWED settings",IDC_W_LABEL,7,145,46,18 + RTEXT "Max Framerate:",IDC_W_MAXFPS_CAPTION,56,151,65,9 + COMBOBOX IDC_W_MAXFPS,126,148,81,107,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Multisampling:",IDC_W_MULTISAMPLING_CAPTION,5,165,46,9,NOT WS_VISIBLE | WS_DISABLED + COMBOBOX IDC_WMS,56,163,81,123,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_DISABLED | WS_VSCROLL | WS_TABSTOP + CONTROL "Allow Page Tearing",IDC_CB_WPT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,165,77,10 + CONTROL "Integrate with winamp skin",IDC_CB_SKIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,214,164,102,10 + CONTROL "",IDC_STATIC,"Static",SS_GRAYRECT,0,180,318,1 + LTEXT "Start in...",IDC_STATIC,9,192,61,8 + CONTROL "&Fullscreen",IDC_CB_FS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,9,203,48,10 + CONTROL "&Desktop Mode",IDC_CB_DMS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,9,215,61,10 + CONTROL "Sa&ve CPU by loosely enforcing Max Framerate",IDC_CB_SAVE_CPU, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,185,164,10 + CONTROL "Show '&Press F1 for Help' message at startup",IDC_CB_PRESS_F1_MSG, + "Button",BS_AUTOCHECKBOX | BS_TOP | WS_TABSTOP,78,195,159,10 + CONTROL "&Minimize Winamp when going fullscreen",IDC_CB_MIN, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,205,141,10 + CONTROL "Try to fix slow menus/text (uses more video memory)",IDC_CB_FIXSLOWTEXT, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,215,183,10 + CONTROL "V&J MODE - show text, menus in a second window",IDC_CB_VJMODE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,225,173,10 + PUSHBUTTON "Dual&Head",ID_DUALHEAD,262,200,50,15 + PUSHBUTTON "&Select Fonts",ID_FONTS,262,217,50,15 +END + +IDD_PROPPAGE_3 DIALOGEX 0, 0, 320, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + GROUPBOX "Image cache:",IDC_BRIGHT_SLIDER_BOX2,5,4,140,83 + LTEXT "Max # Images:",IDC_MAX_IMAGES_CAPTION,16,17,49,10 + COMBOBOX IDC_MAX_IMAGES,74,14,60,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Max Video Mem:",IDC_MAX_BYTES_CAPTION,16,34,55,10 + COMBOBOX IDC_MAX_BYTES,74,31,60,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Note: cache settings are only relevant if you've put gobs of textures into your milkdrop2\\textures\\ folder. Otherwise, everything fits in 1 MB of VRAM.",IDC_STATIC,13,49,126,33 + PUSHBUTTON "Edit &Sprites",ID_SPRITE,11,93,82,15 + PUSHBUTTON "&Edit Custom Messages",ID_MSG,11,110,82,15 + GROUPBOX "Song Title Animations and Custom Messages",IDC_STATIC,5,130,169,104 + LTEXT "(seconds)",IDC_STATIC,137,140,33,9 + RTEXT "Duration of song title animations:",IDC_SONGTITLEANIM_DURATION_LABEL,20,153,110,10 + EDITTEXT IDC_SONGTITLEANIM_DURATION,136,151,32,13,ES_AUTOHSCROLL + RTEXT "Time between\r\nRANDOM song title anims",IDC_RAND_TITLE_LABEL,34,166,96,17 + EDITTEXT IDC_RAND_TITLE,136,169,32,13,ES_AUTOHSCROLL + RTEXT "Time between\r\nRANDOM custom messages",IDC_RAND_MSG_LABEL,34,185,96,17 + EDITTEXT IDC_RAND_MSG,136,188,32,13,ES_AUTOHSCROLL + CONTROL "Automatically show song title anims when song changes?",IDC_CB_TITLE_ANIMS, + "Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | BS_MULTILINE | WS_TABSTOP,41,207,114,18 + GROUPBOX "Colored-lens 3D glasses",IDC_STATIC,212,66,104,58,NOT WS_VISIBLE | WS_DISABLED + PUSHBUTTON "Set &right eye lens color",IDRIGHT,226,76,82,14,NOT WS_VISIBLE | WS_DISABLED + PUSHBUTTON "Set &left eye lens color",IDLEFT,216,83,82,14,NOT WS_VISIBLE | WS_DISABLED + RTEXT "Default stereo separation (normal=1):",IDC_3DSEP_LABEL,196,101,119,10,NOT WS_VISIBLE | WS_DISABLED + EDITTEXT IDC_3DSEP,260,97,32,13,ES_AUTOHSCROLL | NOT WS_VISIBLE | WS_DISABLED + GROUPBOX "VJ Mode",IDC_STATIC,188,129,127,63,NOT WS_VISIBLE | WS_DISABLED + CONTROL "Enable &VJ Mode (creates a second window for text input and output and leaves the graphics display text-free; use this in conjunction w/multimon for live shows)",IDC_CB_SEPTEXT, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,194,143,121,44 +END + +IDD_PROPPAGE_4 DIALOGEX 0, 0, 320, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + GROUPBOX "Soft Cuts (regular, periodic preset transitions/fades)",IDC_STATIC,5,7,187,96 + RTEXT "Time between auto preset changes:",IDC_BETWEEN_TIME_LABEL,20,25,116,10 + EDITTEXT IDC_BETWEEN_TIME,142,23,32,13,ES_AUTOHSCROLL + RTEXT "Additional random time:",IDC_BETWEEN_TIME_RANDOM_LABEL,33,39,103,10 + EDITTEXT IDC_BETWEEN_TIME_RANDOM,142,38,32,13,ES_AUTOHSCROLL + RTEXT "Auto preset blend time:",IDC_BLEND_AUTO_LABEL,34,55,102,10 + EDITTEXT IDC_BLEND_AUTO,142,53,32,13,ES_AUTOHSCROLL + RTEXT "User-solicited preset blend time:",IDC_BLEND_USER_LABEL,26,70,110,10 + EDITTEXT IDC_BLEND_USER,142,68,32,13,ES_AUTOHSCROLL + LTEXT "(seconds)",IDC_STATIC,142,83,33,10 + GROUPBOX "Hard Cuts (driven by major beats)",IDC_STATIC,5,106,187,91 + RTEXT "Average time between hard cuts:",IDC_HARDCUT_BETWEEN_TIME_LABEL,20,119,116,10 + EDITTEXT IDC_HARDCUT_BETWEEN_TIME,142,117,32,13,ES_AUTOHSCROLL + LTEXT "(seconds)",IDC_STATIC,142,132,33,10 + LTEXT "Loudness threshold:",IDC_HARDCUT_LOUDNESS_LABEL,31,139,71,9 + CTEXT "min",IDC_HARDCUT_LOUDNESS_MIN,37,151,14,9 + CONTROL "Slider1",IDC_HARDCUT_LOUDNESS,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,51,150,114,16 + CTEXT "max",IDC_HARDCUT_LOUDNESS_MAX,165,151,16,9 + CONTROL "&Disable hard cuts",IDC_CB_HARDCUTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,171,72,13 +END + +IDD_PROPPAGE_5 DIALOGEX 0, 0, 320, 240 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN +END + +#if defined(APSTUDIO_INVOKED) || defined(DISABLED) +#if defined(APSTUDIO_INVOKED) +IDD_PROPPAGE_6$(DISABLED) DIALOGEX 0, 0, 320, 240 +#else +IDD_PROPPAGE_6 DIALOGEX 0, 0, 320, 240 +#endif +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN +END +#endif + +#if defined(APSTUDIO_INVOKED) || defined(DISABLED) +#if defined(APSTUDIO_INVOKED) +IDD_PROPPAGE_7$(DISABLED) DIALOGEX 0, 0, 320, 240 +#else +IDD_PROPPAGE_7 DIALOGEX 0, 0, 320, 240 +#endif +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN +END +#endif + +#if defined(APSTUDIO_INVOKED) || defined(DISABLED) +#if defined(APSTUDIO_INVOKED) +IDD_PROPPAGE_8$(DISABLED) DIALOGEX 0, 0, 320, 240 +#else +IDD_PROPPAGE_8 DIALOGEX 0, 0, 320, 240 +#endif +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_VISIBLE +EXSTYLE WS_EX_CONTROLPARENT +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN +END +#endif + +IDD_FONTDIALOG DIALOGEX 0, 0, 354, 175 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_NOPARENTNOTIFY +CAPTION "Select Fonts" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Typeset:",IDC_FONT_CAPTION,85,4,109,9 + LTEXT "Size:",IDC_FONTSIZE_CAPTION,217,4,50,10 + LTEXT "Bold",IDC_FONTOPTIONS_CAPTION,290,4,16,10 + LTEXT "Italics",IDC_FONTOPTIONS_CAPTION2,311,4,20,10 + LTEXT "AA",IDC_FONTOPTIONS_CAPTION3,336,4,11,10 + RTEXT "Simple font:",IDC_FONT_NAME_1,7,16,70,9 + COMBOBOX IDC_FONT1,85,13,127,291,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE1,217,13,65,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,293,16,9,9 + CONTROL "",IDC_FONTITAL1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,315,16,9,9 + CONTROL "",IDC_FONTAA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,337,16,9,9 + RTEXT "Decorative font:",IDC_FONT_NAME_2,7,32,70,9 + COMBOBOX IDC_FONT2,85,29,127,291,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE2,217,29,65,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,293,32,9,9 + CONTROL "",IDC_FONTITAL2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,315,32,9,9 + CONTROL "",IDC_FONTAA2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,337,32,9,9 + RTEXT "Help screen:",IDC_FONT_NAME_3,7,48,70,9 + COMBOBOX IDC_FONT3,85,45,127,291,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE3,217,45,65,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,293,48,9,9 + CONTROL "",IDC_FONTITAL3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,315,48,9,9 + CONTROL "",IDC_FONTAA3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,337,48,9,9 + RTEXT "Playlist:",IDC_FONT_NAME_4,7,65,70,9 + COMBOBOX IDC_FONT4,85,61,127,291,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE4,217,61,65,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,293,64,9,9 + CONTROL "",IDC_FONTITAL4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,315,64,9,9 + CONTROL "",IDC_FONTAA4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,337,64,9,9 + RTEXT "Font 5:",IDC_FONT_NAME_5,7,80,70,9,NOT WS_VISIBLE + COMBOBOX IDC_FONT5,85,77,127,291,CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE5,217,77,65,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD5,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,293,80,9,9 + CONTROL "",IDC_FONTITAL5,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,315,80,9,9 + CONTROL "",IDC_FONTAA5,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,337,80,9,9 + RTEXT "Font 6:",IDC_FONT_NAME_6,7,96,70,9,NOT WS_VISIBLE + COMBOBOX IDC_FONT6,85,93,127,291,CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE6,217,93,65,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD6,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,293,96,9,9 + CONTROL "",IDC_FONTITAL6,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,315,96,9,9 + CONTROL "",IDC_FONTAA6,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,337,96,9,9 + RTEXT "Font 7:",IDC_FONT_NAME_7,7,112,70,9,NOT WS_VISIBLE + COMBOBOX IDC_FONT7,85,109,127,291,CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE7,217,109,65,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD7,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,293,112,9,9 + CONTROL "",IDC_FONTITAL7,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,315,112,9,9 + CONTROL "",IDC_FONTAA7,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,337,112,9,9 + RTEXT "Font 8:",IDC_FONT_NAME_8,7,128,70,9,NOT WS_VISIBLE + COMBOBOX IDC_FONT8,85,125,127,291,CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE8,217,125,65,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD8,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,293,128,9,9 + CONTROL "",IDC_FONTITAL8,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,315,128,9,9 + CONTROL "",IDC_FONTAA8,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,337,128,9,9 + RTEXT "Font 9:",IDC_FONT_NAME_9,7,144,70,9,NOT WS_VISIBLE + COMBOBOX IDC_FONT9,85,141,127,291,CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FONTSIZE9,217,141,65,87,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_FONTBOLD9,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,293,144,9,9 + CONTROL "",IDC_FONTITAL9,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,315,144,9,9 + CONTROL "",IDC_FONTAA9,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,337,144,9,9 + CTEXT "Note: 'AA' stands for anti-aliasing (smoothing); not always available.",IDC_FONT_TEXT,7,160,235,8,SS_CENTERIMAGE + DEFPUSHBUTTON "OK",IDOK,246,158,50,13 + PUSHBUTTON "Cancel",IDCANCEL,300,158,50,13 +END + +IDD_DESKTOPMODE DIALOGEX 0, 0, 201, 105 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_NOPARENTNOTIFY | WS_EX_CONTEXTHELP +CAPTION "More Options for Desktop Mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Show icons",IDC_CB_SHOW_ICONS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,4,51,10 + CONTROL "Draw colored boxes around icon text labels",IDC_CB_BOX, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,16,154,10 + CONTROL "My desktop icons get occluded (covered) by the taskbar when I use Desktop Mode; fix it!",IDC_CB_MANUAL_SCOOT, + "Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,4,28,184,18 + LTEXT "When Windows is in [5-6-5] 16-bit color and there is no\ralpha (transparency) channel, try drawing the icons using...",IDC_DM_ALPHA_FIX_CAPTION,4,50,193,17 + COMBOBOX IDC_DM_ALPHA_FIX,4,71,193,291,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,91,88,50,13 + PUSHBUTTON "Cancel",IDCANCEL,147,88,50,13 +END + +IDD_DUALHEAD DIALOGEX 0, 0, 304, 164 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_NOPARENTNOTIFY +CAPTION "Dualhead Options" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Typically, multimon (ie. multiple monitor) setups feature two separate video cards and two separate monitors; each resulting display has its own resolution, and the desktop spans across them in some fashion.",IDC_STATIC,4,4,296,26 + LTEXT "DualHead video cards, though, feature a single card that feeds two monitors. Some of these cards treat the two monitors separately, but some of them treat them as halves of a single double-width (~2048x768) or double-height (~1024x1536) 'virtual screen'.",IDC_STATIC,4,34,296,26 + GROUPBOX "For Desktop and *Fake* Fullscreen modes:",IDC_STATIC,4,64,150,96 + LTEXT "When a single virtual display spans two real screens Horizontally:",IDC_STATIC,10,75,137,18 + COMBOBOX IDC_H_PICK,16,96,104,91,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "When a single virtual display spans two real screens Vertically:",IDC_STATIC,10,113,137,18 + COMBOBOX IDC_V_PICK,16,134,104,67,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "As a result, graphics applications can't go 'fullscreen' on just one monitor, because it's really only half of the 'screen', from Windows' point of view.",IDC_STATIC,159,64,141,32 + LTEXT "This plug-in, however, will let you get away with it, when you're in Desktop Mode or *Fake* Fullscreen Mode; it just needs to know which half of the display (left/right or top/bottom) you want to use -- or both.",IDC_STATIC,159,100,141,42 + DEFPUSHBUTTON "OK",IDOK,196,147,50,13 + PUSHBUTTON "Cancel",IDCANCEL,250,147,50,13 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_CONFIG, DIALOG + BEGIN + LEFTMARGIN, 6 + RIGHTMARGIN, 385 + TOPMARGIN, 7 + BOTTOMMARGIN, 287 + END + + IDD_FONTDIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 350 + TOPMARGIN, 4 + BOTTOMMARGIN, 171 + END + + IDD_DESKTOPMODE, DIALOG + BEGIN + LEFTMARGIN, 4 + RIGHTMARGIN, 197 + TOPMARGIN, 4 + BOTTOMMARGIN, 101 + END + + IDD_DUALHEAD, DIALOG + BEGIN + LEFTMARGIN, 4 + RIGHTMARGIN, 300 + TOPMARGIN, 4 + BOTTOMMARGIN, 160 + END +END +#endif // APSTUDIO_INVOKED + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_WINDOWED_CONTEXT_MENU MENU +BEGIN + POPUP "Options:" + BEGIN + MENUITEM "&Fullscreen\tAlt+Enter", ID_GO_FS + MENUITEM "&Desktop Mode\tAlt+D", ID_DESKTOP_MODE + MENUITEM SEPARATOR + MENUITEM "Show &Help\tF1", ID_SHOWHELP + MENUITEM "Show Playlist\tP", ID_SHOWPLAYLIST + MENUITEM SEPARATOR + MENUITEM "&Quit", ID_QUIT + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_PLUGIN_ICON ICON "plugin_icon.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// TEXT +// + +IDR_TEXT1 TEXT "text1.bin" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 2,25,3,0 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Nullsoft, Inc." + VALUE "FileDescription", "Winamp Visualization Plug-in" + VALUE "FileVersion", "2, 25, 3, 0" + VALUE "InternalName", "Nullsoft Milkdrop v2" + VALUE "LegalCopyright", "Copyright � 2001-2013 Nullsoft, Inc." + VALUE "OriginalFilename", "vis_milk2.dll" + VALUE "ProductName", "Winamp" + VALUE "ProductVersion", "1, 0, 0, 1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.K.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + 65535 "{C5D175F1-E4E4-47ee-B85C-4EDC6B026A35}" +END + +STRINGTABLE +BEGIN + IDS_ABOUT_STRING "%s by %s\n%s" + IDS_SZ_MENU_NAV_TOOLTIP "navigation: ESC: exit, Left Arrow: back, Right Arrow: select, UP/DOWN: change sel" + IDS_UNTITLED_MENU_ITEM "" + IDS_UNTITLED_MENU "" + IDS_ON "ON" + IDS_OFF "OFF" + IDS_USE_UP_DOWN_ARROW_KEYS + "(use up/down arrow keys, PGUP, PGDN to change value)" + IDS_CURRENT_VALUE_OF_X "Current value of %s:" + IDS_LOAD_FROM_FILE "Load from file: [note: preset's wave scaling, as well as q1-q8, will not be imported]" + IDS_SAVE_TO_FILE "Save to file: [note: preset's wave scaling, as well as q1-q8, will not be exported]" + IDS_ENTER_THE_NEW_STRING + "Enter the new string; hit CTRL+ENTER to apply or ESC to cancel." + IDS_MILKDROP_ERROR "MILKDROP ERROR" +END + +STRINGTABLE +BEGIN + IDS_THIS_PLUGIN_NEEDS_MUSIC_TO_RUN + "This plug-in cannot run without music.\n\nPlease play some music, through Winamp, and then try running the plug-in again." + IDS_NO_MUSIC_PLAYING "No Music Playing" + IDS_UNABLE_TO_READ_DATA_FILE_X "Unable to read the data file:\n %s" + IDS_COULD_NOT_CREATE_MY_VERTEX_DECLARATION + "Could not create my vertex declaration" + IDS_COULD_NOT_CREATE_WF_VERTEX_DECLARATION + "Could not create WF vertex declaration" + IDS_COULD_NOT_CREATE_SPRITE_VERTEX_DECLARATION + "Could not create sprite vertex declaration" + IDS_SHADER_MODEL_2 "shader model 2.0" + IDS_SHADER_MODEL_3 "shader model 3.0" + IDS_SHADER_MODEL_4 "shader model 4.0" + IDS_UKNOWN_CASE_X "(unknown case: %d)" + IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_USING_X + "Failed to compile pixel shaders using %s [PSVersion=0x%X].\n\nAfter hitting OK here, please return to the config panel (ALT+K),\ngo to the second tab, and for the Pixel Shaders option, select Auto." + IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_HARDWARE_MIS_REPORT + "Your hardware says that it supports %s [PSVersion=0x%X],\nbut it doesn't seem to do it properly -\nmaybe your display driver is just buggy.\n\nYou might want to try updating your display driver\nto the latest WHQL driver from the chipset manufacturer\n(Nvidia, ATI, etc.)." + IDS_COULD_NOT_COMPILE_FALLBACK_WV_SHADER + "Could not compile fallback warp vertex shader" + IDS_COULD_NOT_COMPILE_FALLBACK_CV_SHADER + "Could not compile fallback comp vertex shader" + IDS_COULD_NOT_COMPILE_FALLBACK_CP_SHADER + "Could not compile fallback comp pixel shader" + IDS_COULD_NOT_COMPILE_BLUR1_VERTEX_SHADER + "Could not compile blur1 vertex shader" +END + +STRINGTABLE +BEGIN + IDS_DXC_ERR_CAPSFAIL "DirectX initialization failed (GetDeviceCaps).\n\nThis means that no valid 3D-accelerated display adapter could be found\non your computer.\nIf you know this is not the case, it is possible that your graphics\nsubsystem is temporarily unstable; please try rebooting your computer,\nand then try to run the plug-in again. Otherwise, please install a\n3D-accelerated display adapter." + IDS_FS_DISPLAY_MODE_SELECTED_IS_INVALID + "The fullscreen display mode selected from the config panel\nwas invalid, for some reason. For now, the closest match\n(to the old selection) will be used.\n\nTo fix this, please return to the config panel and select a new\nfullscreen display mode.\n\nThe plug-in will now run using the best match..." + IDS_CREATEWINDOW_FAILED "CreateWindow failed" + IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS + "You are trying to enter fullscreen mode while running\nmultiple displays in a vertical or horizontal span,\nwithout using 'Fake Fullscreen Mode'. As a result,\n--the image will be stretched over both displays.--\n\nIf you would prefer the plug-in to appear on only one display\n(and still be free to operate on the other display),\nplease return to the config panel, enable 'Fake Fullscreen\nMode', click the 'DualHead' button to configure your DualHead\nsetup, and then try again.\n\nHit OK to proceed, or Cancel to exit now." + IDS_TIP "Tip" + IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS_2 + "You are trying to enter fullscreen mode while running\nmultiple displays in a vertical or horizontal span,\nbut the display mode you are entering does not stretch\nover both displays. As a result, --the image will only\nappear on one display, and the other display will be disabled.--\n\nThere are two alternatives:\n\n1. To make the fullscreen image appear on only ONE display\nAND still be free to operate on the other display,\nplease return to the config panel and enable 'Fake Fullscreen Mode',\nthen click 'DualHead' to select which screen you'd like the\nplug-in to occupy. (--RECOMMENDED--)\n\n2. To make the fullscreen image stretch across BOTH displays,\nreturn to the config panel and select a display mode that\nspans both displays (such as 2048 x 768, or 1024 x 1536).\n\nHit OK to continue, or Cancel to exit now." + IDS_UNABLE_TO_CREATE_DIRECTX_DEVICE + "Unable to create a DirectX device. (D3DERR_NOTAVAILABLE)\n\nThis could mean that you've chosen a combination of settings that is\nnot available on your video card. Try resetting the plug-in to its\ndefault settings (via the config panel's 'Default' button), and then\ntry running the plug-in again.\n\nYou might also want to close all other applications, to make sure they're\nnot interfering.\n\nIf you have made any changes to your graphics subsystem since your\nlast reboot (such as updating video drivers, installing new software,\netc.), or have witnessed any strange behaviors, TRY REBOOTING first.\n\n" + IDS_OLDER_DISPLAY_ADAPTER_CATENATION + "NOTE: If you are trying to run the plug-in on an older display adapter\n(such as a Voodoo3 card), try going to the config panel (ALT+K)\nand selecting a fullscreen display mode of a different color depth;\nand selecting a fullscreen display mode of a different color depth;\nsome of these older cards can only do 3D in particular color depths\n(such as 16-bit color, for the Voodoo 3).\n" + IDS_OLDER_DISPLAY_ADAPTER_CATENATION_2 + "NOTE: If you are trying to run the plug-in on an older display adapter\n(such as a Voodoo3 card), try changing the color depth that Windows\nis running in; some of these cards can only do 3D in particular color depths\n(such as 16-bit color, for the Voodoo3).\n" + IDS_DIRECTX_INIT_FAILED_X + "DirectX initialization failed (CreateDevice; code %d)\n\nOften this means you don't have enough free video memory.\n" + IDS_WINDOW_RESIZE_FAILED + "Window resize failed.\n\nOften this means the application ran out of video memory;\n perhaps you tried to make the window too large." + IDS_OUT_OF_VIDEO_MEMORY "OUT OF VIDEO MEMORY" + IDS_ERROR_CREATING_GDI_FONTS "Error creating GDI fonts" + IDS_ERROR_LOADING_MAIN_MENU "Error loading main menu" + IDS_ERROR_LOADING_CONTEXT_MENU "Error loading context menu" + IDS_ERROR_CREATING_DIRECT3D_DEVICE_FOR_VJ_MODE + "Error invoking Direct3D 9 for VJ mode;\nDirectX 9 could be missing or corrupt." +END + +STRINGTABLE +BEGIN + IDS_COULD_NOT_COMPILE_BLUR1_PIXEL_SHADER + "Could not compile blur1 pixel shader" + IDS_COULD_NOT_COMPILE_BLUR2_VERTEX_SHADER + "Could not compile blur2 vertex shader" + IDS_COULD_NOT_COMPILE_BLUR2_PIXEL_SHADER + "Could not compile blur2 pixel shader" + IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_SMALLER_DISPLAY + "Could not create internal canvas texture! (probably not enough video memory left)\ntry selecting a smaller display mode, or decreasing the color bit depth." + IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM_RECOMMENDATION + "Could not create internal canvas texture! (probably not enough video memory left)\n\n\nRECOMMENDATION: SET THE INTERNAL CANVAS SIZE BACK TO 'AUTO' AND TRY AGAIN" + IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM + "Could not create internal canvas texture! (probably not enough video memory left)\n" + IDS_SUCCESSFULLY_CREATED_VS0_VS1 + "Successfully created VS0/VS1 at %d x %d (ideal: %d x %d)" + IDS_ERROR_CREATING_BLUR_TEXTURES + "Error creating blur textures - probably not enough video memory." + IDS_COULD_NOT_CREATE_NOISE_TEXTURE "Could not create noise texture" + IDS_COULD_NOT_LOCK_NOISE_TEXTURE "Could not lock noise texture" + IDS_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED + "Noise texture byte layout not recognized" + IDS_COULD_NOT_CREATE_3D_NOISE_TEXTURE "Could not create 3D noise texture" + IDS_COULD_NOT_LOCK_3D_NOISE_TEXTURE "Could not lock 3D noise texture" + IDS_3D_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED + "3D noise texture byte layout not recognized" +END + +STRINGTABLE +BEGIN + IDS_MILKDROP_WARNING "MILKDROP WARNING" + IDS_ERROR_CREATING_DOUBLE_SIZED_GDI_TITLE_FONT + "Error creating double-sized GDI title font" + IDS_ERROR_CREATING_DOUBLE_SIZED_D3DX_TITLE_FONT + "Error creating double-sized d3dx title font" + IDS_RATING "Rating" + IDS_DISABLED "[disabled] " + IDS_ARE_YOU_SURE_YOU_WANT_TO_DELETE_PRESET + "Are you SURE you want to delete this preset? [y/N]" + IDS_PRESET_TO_DELETE "(preset to delete: %s)" + IDS_FILE_ALREADY_EXISTS_OVERWRITE_IT + "This file already exists. Overwrite it? [y/N]" + IDS_FILE_IN_QUESTION_X_MILK "(file in question: %s.milk)" + IDS_ERROR_NO_PRESET_FILE_FOUND_IN_X_MILK + "ERROR: No preset files found in %s*.milk" + IDS_LOAD_WHICH_PRESET_PLUS_COMMANDS + "Load which preset? (arrow keys to scroll; Esc/close, Enter/select, INS/rename; DEL/delete)" +END + +STRINGTABLE +BEGIN + IDS_ERROR_CREATING_SHADER "Error creating shader:\n" + IDS_PLEASE_EXIT_VIS_BEFORE_RUNNING_CONFIG_PANEL + "Please exit the visualizer before running the config panel." + IDS_FPS "fps" + IDS_PF_MONITOR "pf monitor" + IDS_PRESS_F9_TO_HIDE_SHADER_QREF + "-- press F9 to hide shader Quick Reference --\n" + IDS_PRESS_F9_TO_SHOW_SHADER_QREF + "-- press F9 to show shader Quick Reference --\n" + IDS_WARP_AND_COMPOSITE_SHADERS_LOCKED + "(keep in mind... warp and composite shaders were locked.)" + IDS_WARP_SHADER_LOCKED "(keep in mind... warp shader was locked.)" + IDS_COMPOSITE_SHADER_LOCKED + "(keep in mind... composite shader was locked.)" + IDS_PRESET_USES_HIGHEST_PIXEL_SHADER_VERSION + "This preset already uses the highest pixel shader version (%d) supported by your graphics chip." + IDS_PRESET_HAS_MIXED_VERSIONS_OF_SHADERS + "This preset has mixed versions of shaders in it." + IDS_UPGRADE_SHADERS_TO_USE_PS2 + "Do you want to upgrade all shaders to use (at least) pixel shader 2? [y/N]" + IDS_UPGRADE_SHADERS_TO_USE_PS3 + "Do you want to upgrade all shaders to use (at least) pixel shader 3? [y/N]" + IDS_PRESET_DOES_NOT_USE_PIXEL_SHADERS + "This preset does not currently use pixel shaders." +END + +STRINGTABLE +BEGIN + IDS_UPGRADE_TO_USE_PS2 "Do you want to upgrade it to use pixel shader 2? [y/N]" + IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET + " (WARNING: if you save it, other users with older graphics chips might not be able to use the preset." + IDS_PRESET_CURRENTLY_USES_PS2 "This preset currently uses pixel shader 2." + IDS_UPGRADE_TO_USE_PS3 "Do you want to upgrade it to use pixel shader 3? [y/N]" + IDS_PRESET_CURRENTLY_USES_PS3 "This preset currently uses pixel shader 3." + IDS_UPGRADE_TO_USE_PS4 "Do you want to upgrade it to use pixel shader 4? [y/N]" + IDS_WARNING_DO_NOT_FORGET_WARP_SHADER_WAS_LOCKED + " WARNING: do not forget WARP shader was LOCKED! " + IDS_WARNING_DO_NOT_FORGET_COMPOSITE_SHADER_WAS_LOCKED + " WARNING: do not forget COMPOSITE shader was LOCKED! " + IDS_PRESET_MASH_UP_TEXT1 + "Preset Mash-Up: use keys 1-5 to change bin;" + IDS_PRESET_CURRENTLY_USES_PS2X + "This preset currently uses pixel shader 2.X." + IDS_UPGRADE_TO_USE_PS2X "Do you want to upgrade it to use pixel shader 2.X? [y/N]" + IDS_PRESET_MASH_UP_TEXT2 + " up/down/a-z to browse presets for current bin;" + IDS_PRESET_MASH_UP_TEXT3 + " h to randomize preset (or H = all bins); " + IDS_PRESET_MASH_UP_TEXT4 " esc exits." + IDS_DIRECTORY_OF_X "Directory of: %s" +END + +STRINGTABLE +BEGIN + IDS_PAGE_X_OF_X " (page %d of %d) " + IDS_LOCKED " " + IDS_ILLEGAL_CHARACTER "(illegal character)" + IDS_STRING_TOO_LONG "(string too long)" + IDS_DIRECTORY_TO_JUMP_TO "Directory to jump to:" + IDS_ERROR_IMPORTING_BAD_FILENAME + "(error importing - bad filename, or file does not exist)" + IDS_ERROR_IMPORTING_BAD_FILENAME_OR_NOT_OVERWRITEABLE + "(error exporting - bad filename, or file can not be overwritten)" + IDS_INVALID_PATH "(invalid path)" + IDS_ENTER_THE_NEW_NAME_FOR_X "Enter the new name for ""%s"":" + IDS_PRESET_ORDER_IS_NOW_X "preset order is now %s" + IDS_SEQUENTIAL "SEQUENTIAL" + IDS_RANDOM "RANDOM" +END + +STRINGTABLE +BEGIN + IDS_SHUFFLE_IS_NOW_OFF "shuffle is now OFF" + IDS_SHUFFLE_IS_NOW_ON "shuffle is now ON" + IDS_COMPSHADER_LOCKED "COMP SHADER LOCKED." + IDS_WARPSHADER_LOCKED "WARP SHADER LOCKED." + IDS_ALLSHADERS_LOCKED "ALL SHADERS LOCKED." + IDS_ALLSHADERS_UNLOCKED "ALL SHADERS UNLOCKED." + IDS_PS_AUTO_RECOMMENDED " Auto (Recommended)" + IDS_PS_DISABLED " Disabled" + IDS_PS_SHADER_MODEL_2 " Shader Model 2" + IDS_PS_SHADER_MODEL_3 " Shader Model 3" + IDS_TX_8_BITS_PER_CHANNEL " 8 bits per channel" + IDS_TX_16_BITS_PER_CHANNEL " 16 bits - CAREFUL" + IDS_TX_32_BITS_PER_CHANNEL " 32 bits - CAREFUL" + IDS_160X120_SLOW "160 x 120 SLOW " + IDS_192X144_SLOW "192 x 144 SLOW " +END + +STRINGTABLE +BEGIN + IDS_SAVE_AS "Save as:" + IDS_AUTO " Auto " + IDS_8X6_FAST " 8 x 6 FAST " + IDS_16X12_FAST " 16 x 12 fast " + IDS_24X18 " 24 x 18 " + IDS_32X24 " 32 x 24 " + IDS_40X30 " 40 x 30 " + IDS_48X36_DEFAULT " 48 x 36 (default)" + IDS_64X48_SLOW " 64 x 48 " + IDS_80X60_SLOW " 80 x 60 slow " + IDS_96X72_SLOW " 96 x 72 SLOW " + IDS_128X96_SLOW "128 x 96 SLOW " + IDS_ERROR_IN_SHELLEXECUTE "error in ShellExecute" +END + +STRINGTABLE +BEGIN + IDS_NONE_BEST_IMAGE_QUALITY " None (best image quality) " + IDS_1_25_X " 1.25 X " + IDS_1_33_X " 1.33 X " + IDS_1_5_X " 1.5 X (...2x faster)" + IDS_1_67_X " 1.67 X (...3x faster)" + IDS_2_X " 2 X (...4x faster)" + IDS_3_X " 3 X (...9x faster)" + IDS_4_X " 4 X (...16x faster) " + IDS_NEAREST_POWER_OF_2 " Nearest power of 2 " + IDS_EXACT_RECOMMENDED " Exact (Recommended) " + IDS_PIXEL_SHADERS "Pixel Shaders" + IDS_PIXEL_SHADERS_TEXT "MilkDrop 1 did not use programmable pixel shaders - instead,\nit used the fixed-function graphics pipeline. If your graphics chip\nis older and doesn't support pixel shaders, or doesn't support the\nideal pixel shader version (2.0) for MilkDrop 2, then this should be\nauto-detected without a problem, and MilkDrop will simply skip over\nany presets that can't run on your graphics chip. (These presets will\nalso be hidden from view, in the preset list.)\n\nIf you'd like to force MilkDrop to try and allow higher (or lower)\nversions of pixel shaders, use this option.\n\nFinally, if you want to prevent MilkDrop from running any pixel shader 3,\npresets (because it's too slow for them), you can just set this option\nto version 2.0, and MilkDrop will avoid those presets." + IDS_TEXFORMAT "Texture Format" + IDS_TEXFORMAT_TEXT "This determines the precision of the colors that you see.\nHigher bit depths are better. A bit depth of 8, for example,\nmeans that in the graphics hardware, the image can have 2^8, or 256,\npossible shades (each) of red, green, and blue.\n\nA bit depth of 8 looks decent, but 16 is much better.\nHOWEVER, only high-end video cards (as of 2007) usually support\nit properly. Older cards can't do 'bilinear interpolation'\nwith 16-bit render targets, meaning that the image will get\nvery grainy and 'digital' looking, so PLEASE WATCH OUT FOR THIS.\n\n32 bits is excessive and slow, don't ever use it.\n\nNote that your monitor can only show 256 shades of each color;\nhowever, if the internal image (that is repeatedly warped and modified\nfrom frame to frame) has better color precision (~16 bits), then \nthe colors in the image will maintain their fidelity as they slowly\nerode and warp, over time." + IDS_CANVAS_SIZE "Canvas Size" + IDS_CANVAS_SIZE_TEXT "This sets the size of the image that milkdrop uses, internally,\nto drive the visuals. The bigger the value here, the crisper\nthe image you see. It's highly recommended that you set this\nto 'auto', which will determine the ideal image (texture) size\nautomatically. However, if you experience visual problems (such\nas black streaks or missing chunks in the image) due to low\nvideo memory, you might want to set this to a low value (like\n256x256 or 512x512).\n\n'Auto (exact)' means the internal texture size will exactly match\nthe number of pixels on the screen - this is the ideal case.\nIf that doesn't work, try 'Auto (nearest power of 2)' - some older\nvideo cards will have better luck with this option." +END + +STRINGTABLE +BEGIN + IDS_CANVAS_STRETCH "Canvas Stretch" + IDS_CANVAS_STRETCH_TEXT "MilkDrop works with an internal texture, or canvas, to do all of\nits graphics rendering. The speed (framerate) that MilkDrop runs\nat is inversely proportional to the number of pixels that are in\nthis canvas. So, to render things internally at a smaller resolution,\nbut stretch them up for display, you can use this option. It will\nmake the image look a bit softer and less crisp or detailed,\nbut - especially for older graphics hardware - things will run\nmuch faster.\n\nKeep in mind, a stretch factor of 2X, for example, means that there\nwill be half as manypixels to simulate on both the X and Y axes, \nso MilkDrop will actually run FOUR TIMES as fast. With a stretch\nfactor of 3X, it will run 9X as fast (hypothetically). And so on." + IDS_MAX_IMAGES_BYTES_TEXT + "This option is only relevant if you've put tons of new textures in your \nwinamp\\plugins\\milkdrop2\\textures directory. If you have (say you\nset up some kind of art kiosk with thousands of large images), this\noption lets you tweak how much video RAM MilkDrop will try to use to\ncache textures. The only point of cacheing textures is so that \nwhen loading a new preset, if the preset needs to load textures,\nif they were already loaded once and are still cached in memory, \nthe load will be much smoother.\n\nGo ahead and crank this up; MilkDrop's core internal textures will\nalways take precedence over disk textures anyway, so it's pretty safe." + IDS_MENU_EDIT_WARP_SHADER "[ edit warp shader ]" + IDS_MENU_EDIT_COMPOSITE_SHADER "[ edit composite shader ]" + IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT "blur1: edge darken amount" + IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT_TT + "keep this >0.25 to avoid edge artifacts, and <1.0 to avoid black borders." + IDS_MENU_BLUR1_MIN_COLOR_VALUE "blur1: min color value" + IDS_MENU_BLUR1_MIN_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images." + IDS_MENU_BLUR1_MAX_COLOR_VALUE "blur1: max color value" + IDS_MENU_BLUR1_MAX_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images." + IDS_MENU_BLUR2_MIN_COLOR_VALUE "blur2: min color value" + IDS_MENU_BLUR2_MIN_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images. MUST BE SUBSET OF BLUR1 RANGE." + IDS_MENU_BLUR2_MAX_COLOR_VALUE "blur2: max color value" + IDS_MENU_BLUR2_MAX_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images. MUST BE SUBSET OF BLUR1 RANGE." + IDS_MENU_BLUR3_MIN_COLOR_VALUE "blur3: min color value" +END + +STRINGTABLE +BEGIN + IDS_MESH_SIZE "Mesh Size" + IDS_MESH_SIZE_TEXT "MilkDrop uses a mesh of polygons to warp the image each frame.\nThis setting determines how finely subdivided that mesh is.\nA larger mesh size will mean finer resolution 'movement' in the\nimage; basically, it will look better. Watch out, though - \nonly crank this way up if you have a fast CPU." + IDS_CB_ALWAYS3D "Enable this to force all presets to be displayed in 3D mode.\n(Note that you need glasses with differently-colored lenses\n to see the effect.)" + IDS_DISABLE_PRESET_RATING "Disable preset rating" + IDS_DISABLE_PRESET_RATING_TEXT + "Check this to turn off the preset rating system. Normally, when MilkDrop\ngoes to randomly select a preset, it weights them based on their ratings.\nHowever, if you want all presets to have an equal chance of being chosen,\ncheck this box." + IDS_CB_NOWARN2 "Check this to disable any & all warning messages that appear in the\nupper-right corner of the screen." + IDS_START_WITH_PRESET_LOCK_ON "Start with preset lock ON" + IDS_START_WITH_PRESET_LOCK_ON_TEXT + "Check this to make MilkDrop automatically start in 'preset lock' mode,\nmeaning that the preset will not change until the user changes it\nmanually (either by pressing SPACE, hitting H for a hard cut, or by\nselecting a new preset from the 'L'oad menu).\n\nUse the SCROLL LOCK key while MilkDrop is running to toggle the preset\nlock on or off. When the SCROLL LOCK light is on, that means that the\npreset lock is also on, and vice versa." + IDS_BRIGHT_SLIDER "The brightness slider lets you control the overall brightness\nof the image. If the image is continually washed out to bright\npurple or white, you'll want to crank this down to (probably) zero.\nIf the image is chronically dark, crank this up.\n\nNote that the slider is not visible when the nearby 'guess'\ncheckbox is checked. Uncheck it to manually set the brightness.\n\nAlso note that this brightness adjustment is only a concern in\n16-bit color modes. (32-bit doesn't have this problem.) So,\nif you're running Windows in 16-bit color, this slider will affect\nwindowed, desktop, and 'fake' fullscreen modes. And if you've\nselected a 16-bit fullscreen display mode, it will affect that\ntoo." + IDS_CB_AUTOGAMMA "Check this option to ask milkdrop to make an educated guess\nfor the 'brightness control for 16-bit color' setting, based\non the vendor of your video card. This usually gets it, but\nnot always.\n\nThe slider is only visible when this option is unchecked.\n\nSee the help for the slider for more information." +END + +STRINGTABLE +BEGIN + IDS_SPRITE "Click this button to edit milk_img.ini, the file that defines\nall of the custom sprites you can invoke for display while\nmilkdrop is running. A sprite is an image that you can fade\nin or our, move around, and so on." + IDS_MSG "Click this button to edit milk_msg.ini, the file that you can\nconfigure to set up custom overlaid text messages that you can\ndisplay while milkdrop is running." + IDS_SONGTITLEANIM_DURATION_TEXT + "The duration, in seconds, of song title animations." + IDS_RAND_TITLE_TEXT "The mean (average) time, in seconds, between randomly-launched\nsong title animations. Set to a negative value to disable random\nlaunching." + IDS_RAND_MSG_TEXT "The mean (average) time, in seconds, between randomly-launched\ncustom messages (from milk_msg.ini). Set to a negative value\nto disable random launching." + IDS_TITLE_ANIMS_TEXT "Check this to automatically launch song title animations whenever\nthe track changes." + IDS_BETWEEN_TIME_TEXT "The minimum amount of time that elapses between preset changes\n(excluding hard cuts, which take priority). The old preset will\nbegin to blend or fade into a new preset after this amount of time,\nplus some random amount of time as specified below in the\n'additional random time' box. Add these two values together to\nget the maximum amount of time that will elapse between preset\nchanges." + IDS_BETWEEN_TIME_RANDOM_TEXT + "The additional random maximum # of seconds between preset fades\n(aka preset changes) (aka soft cuts)." + IDS_BLEND_AUTO_TEXT "The duration, in seconds, of a soft cut (a normal fade from one preset\nto another) that is initiated because some amount of time has passed.\nA value less than 1 will make for a very quick transition, while a value\naround 3 or 4 will allow you to see some interesting behavior during\nthe blend." + IDS_BLEND_USER_TEXT "The duration, in seconds, of a soft cut (a normal fade from one preset\nto another) that is initiated by you, when you press the 'H' key (for\na Hard cut). A value less than 1 will make for a very quick transition,\nwhile a value around 3 or 4 will allow you to see some interesting behavior\nduring the blend." + IDS_HARDCUT_BETWEEN_TIME_TEXT + "The amount of time, in seconds, between hard cuts. Hard cuts are\nset off by loud beats in the music, with (ideally) about this much\ntime in between them." + IDS_HARDCUT_LOUDNESS_TEXT + "Use this slider to adjust the sensitivity of the beat detection\nalgorithm used to detect the beats that cause hard cuts. A value\nclose to 'min' will cause the algorithm to be very sensitive (so\neven small beats will trigger it); a value close to 'max' will\ncause only the largest beats to trigger it." +END + +STRINGTABLE +BEGIN + IDS_CB_HARDCUTS "Check this to disable hard cuts; a loud beat\nwill never cause the preset to change." + IDS_EDIT_CURRENT_PRESET "--edit current preset" + IDS_MOTION "--MOTION" + IDS_DRAWING_CUSTOM_SHAPES "--drawing: custom shapes" + IDS_DRAWING_CUSTOM_WAVES "--drawing: custom waves" + IDS_DRAWING_SIMPLE_WAVEFORM "--drawing: simple waveform" + IDS_DRAWING_BORDERS_MOTION_VECTORS "--drawing: borders, motion vectors" + IDS_POST_PROCESSING_MISC "--post-processing, misc." + IDS_CUSTOM_WAVE_X "--custom wave %d" + IDS_CUSTOM_SHAPE_X "--custom shape %d" + IDS_MENU_EDIT_PRESET_INIT_CODE "[ edit preset initialization code ]" + IDS_MENU_EDIT_PRESET_INIT_CODE_TT + "read-only: zoom, rot, warp, cx, cy, dx, dy, sx, sy; decay, gamma;\n echo_zoom, echo_scale, echo_orient;\n ib_{size|r|g|b|a}, ob_{size|r|g|b|a}, mv_{x|y|dx|dy|l|r|g|b|a};\n wave_{r|g|b|a|x|y|mode|mystery|usedots|thick|additive|brighten};\n darken_center, wrap; invert, brighten, darken, solarize\n time, fps, frame, progress; {bass|mid|treb}[_att]\nwrite: q1-q8, monitor" + IDS_MENU_EDIT_PER_FRAME_EQUATIONS "[ edit per_frame equations ]" + IDS_MENU_EDIT_PER_FRAME_EQUATIONS_TT + "read-only: time, fps, frame, progress; {bass|mid|treb}[_att]\nread/write: zoom, rot, warp, cx, cy, dx, dy, sx, sy; q1-q8; monitor\n mv_{x|y|dx|dy|l|r|g|b|a}, ib_{size|r|g|b|a}, ob_{size|r|g|b|a};\n wave_{r|g|b|a|x|y|mode|mystery|usedots|thick|additive|brighten};\n darken_center, wrap; invert, brighten, darken, solarize\n decay, gamma, echo_zoom, echo_alpha, echo_orient" +END + +STRINGTABLE +BEGIN + IDS_MENU_ROTATION_AMOUNT_TT + "controls the amount of rotation. 0=none, 0.1=slightly right, -0.1=slightly clockwise, 0.1=CCW" + IDS_MENU_ROTATION_CENTER_OF_X " rot., center of (X)" + IDS_MENU_ROTATION_CENTER_OF_X_TT + "controls where the center of rotation is, horizontally. 0=left, 0.5=center, 1=right" + IDS_MENU_ROTATION_CENTER_OF_Y " rot., center of (Y)" + IDS_MENU_ROTATION_CENTER_OF_Y_TT + "controls where the center of rotation is, vertically. 0=top, 0.5=center, 1=bottom" + IDS_MENU_TRANSLATION_X "translation (X)" + IDS_MENU_TRANSLATION_X_TT + "controls amount of constant horizontal motion; -0.01 = slight shift right, 0=none, 0.01 = to left" + IDS_MENU_TRANSLATION_Y "translation (Y)" + IDS_MENU_TRANSLATION_Y_TT + "controls amount of constant vertical motion; -0.01 = slight shift downward, 0=none, 0.01 = upward" + IDS_MENU_SCALING_X "scaling (X)" + IDS_MENU_SCALING_X_TT "controls amount of constant horizontal stretching; 0.99=shrink, 1=normal, 1.01=stretch" + IDS_MENU_SCALING_Y "scaling (Y)" + IDS_MENU_SCALING_Y_TT "controls amount of constant vertical stretching; 0.99=shrink, 1=normal, 1.01=stretch" + IDS_MENU_SUSTAIN_LEVEL "sustain level" + IDS_MENU_SUSTAIN_LEVEL_TT + "controls the eventual fade to black; 1=no fade, 0.9=strong fade; 0.98=recommended." + IDS_MENU_DARKEN_CENTER "darken center" +END + +STRINGTABLE +BEGIN + IDS_MENU_DARKEN_CENTER_TT + "when ON, help keeps the image from getting too bright by continually dimming the center point" + IDS_MENU_GAMMA_ADJUSTMENT "gamma adjustment" + IDS_MENU_GAMMA_ADJUSTMENT_TT + "controls brightness; 1=normal, 2=double, 3=triple, etc." + IDS_MENU_HUE_SHADER "hue shader" + IDS_MENU_HUE_SHADER_TT "adds subtle color variations to the image. 0=off, 1=fully on" + IDS_MENU_VIDEO_ECHO_ALPHA "video echo: alpha" + IDS_MENU_VIDEO_ECHO_ALPHA_TT + "controls the opacity of the second graphics layer; 0=transparent (off), 0.5=half-mix, 1=opaque" + IDS_MENU_VIDEO_ECHO_ZOOM " video echo: zoom" + IDS_MENU_VIDEO_ECHO_ZOOM_TT + "controls the size of the second graphics layer" + IDS_MENU_VIDEO_ECHO_ORIENTATION " video echo: orientation" + IDS_MENU_VIDEO_ECHO_ORIENTATION_TT + "selects an orientation for the second graphics layer. 0=normal, 1=flip on x, 2=flip on y, 3=flip on both" + IDS_MENU_TEXTURE_WRAP "texture wrap" + IDS_MENU_TEXTURE_WRAP_TT + "sets whether or not screen elements can drift off of one side and onto the other" + IDS_MENU_FILTER_INVERT "filter: invert" +END + +STRINGTABLE +BEGIN + IDS_MENU_FILTER_INVERT_TT "inverts the colors in the image" + IDS_MENU_FILTER_BRIGHTEN "filter: brighten" + IDS_MENU_FILTER_BRIGHTEN_TT + "brightens the darker parts of the image (nonlinear; square root filter)" + IDS_MENU_FILTER_DARKEN "filter: darken" + IDS_MENU_FILTER_DARKEN_TT + "darkens the brighter parts of the image (nonlinear; squaring filter)" + IDS_MENU_FILTER_SOLARIZE "filter: solarize" + IDS_MENU_FILTER_SOLARIZE_TT "emphasizes mid-range colors" + IDS_MENU_ENABLED "enabled" + IDS_MENU_ENABLED_TT "enables or disables this custom waveform/spectrum" + IDS_MENU_NUMBER_OF_SAMPLES "number of samples" + IDS_MENU_NUMBER_OF_SAMPLES_TT + "the number of samples (points) that makes up the waveform" + IDS_MENU_L_R_SEPARATION "L/R separation" + IDS_MENU_L_R_SEPARATION_TT + "the offset between the left & right channels; useful for doing phase plots. Keep low (<32) when using w/spectrum." + IDS_MENU_SCALING "scaling" + IDS_MENU_SCALING_TT "the size of the wave (1=normal)" + IDS_MENU_SMOOTHING_TT "0=the raw wave; 1=a highly damped (smoothed) wave" +END + +STRINGTABLE +BEGIN + IDS_MENU_WAVE_TYPE "wave type" + IDS_MENU_WAVE_TYPE_TT "each value represents a different way of drawing the waveform" + IDS_MENU_SIZE "size" + IDS_MENU_SIZE_TT "relative size of the waveform" + IDS_MENU_SMOOTH "smoothing" + IDS_MENU_SMOOTH_TT "controls the smoothness of the waveform; 0=natural sound data (no smoothing), 0.9=max. smoothing" + IDS_MENU_MYSTERY_PARAMETER "mystery parameter" + IDS_MENU_MYSTERY_PARAMETER_TT + "what this one does is a secret (actually, its effect depends on the 'wave type'" + IDS_MENU_POSITION_X "position (X)" + IDS_MENU_POSITION_X_TT "position of the waveform: 0 = far left edge of screen, 0.5 = center, 1 = far right" + IDS_MENU_POSITION_Y "position (Y)" + IDS_MENU_POSITION_Y_TT "position of the waveform: 0 = very bottom of screen, 0.5 = center, 1 = top" + IDS_MENU_COLOR_RED "color (red)" + IDS_MENU_COLOR_RED_TT "amount of red color in the wave (0..1)" + IDS_MENU_COLOR_GREEN "color (green)" +END + +STRINGTABLE +BEGIN + IDS_MENU_COLOR_GREEN_TT "amount of green color in the wave (0..1)" + IDS_MENU_COLOR_BLUE "color (blue)" + IDS_MENU_COLOR_BLUE_TT "amount of blue color in the wave (0..1)" + IDS_MENU_OPACITY "opacity" + IDS_MENU_OPACITY_TT "opacity of the waveform; lower numbers = more transparent" + IDS_MENU_USE_DOTS "use dots" + IDS_MENU_USE_DOTS_TT "if true, the waveform is drawn as dots (instead of lines)" + IDS_MENU_DRAW_THICK "draw thick" + IDS_MENU_DRAW_THICK_TT "if true, the waveform's lines (or dots) are drawn with double thickness" + IDS_MENU_MODULATE_OPACITY_BY_VOLUME "modulate opacity by volume" + IDS_MENU_MODULATE_OPACITY_BY_VOLUME_TT + "if true, the waveform opacity is affected by the music's volume" + IDS_MENU_MODULATION_TRANSPARENT_VOLUME "modulation: transparent volume" + IDS_MENU_MODULATION_TRANSPARENT_VOLUME_TT + "when the relative volume hits this level, the wave becomes transparent. 1 = normal loudness, 0.5 = extremely quiet, 1.5 = extremely loud" + IDS_MENU_MODULATION_OPAQUE_VOLUME "modulation: opaque volume" + IDS_MENU_MODULATION_OPAQUE_VOLUME_TT + "when the relative volume hits this level, the wave becomes opaque. 1 = normal loudness, 0.5 = extremely quiet, 1.5 = extremely loud" + IDS_MENU_ADDITIVE_DRAWING "additive drawing" +END + +STRINGTABLE +BEGIN + IDS_MENU_ADDITIVE_DRAWING_TT + "if true, the wave is drawn additively, saturating the image at white" + IDS_MENU_COLOR_BRIGHTENING "color brightening" + IDS_MENU_COLOR_BRIGHTENING_TT + "if true, the red, green, and blue color components will be scaled up until at least one of them reaches 1.0" + IDS_MENU_OUTER_BORDER_THICKNESS "outer border thickness" + IDS_MENU_OUTER_BORDER_THICKNESS_TT + "thickness of the outer border drawn at the edges of the screen" + IDS_MENU_COLOR_RED_OUTER " color (red)" + IDS_MENU_COLOR_RED_OUTER_TT "amount of red color in the outer border" + IDS_MENU_COLOR_GREEN_OUTER " color (green)" + IDS_MENU_COLOR_GREEN_OUTER_TT "amount of green color in the outer border" + IDS_MENU_COLOR_BLUE_OUTER " color (blue)" + IDS_MENU_COLOR_BLUE_OUTER_TT "amount of blue color in the outer border" + IDS_MENU_OPACITY_OUTER " opacity" + IDS_MENU_OPACITY_OUTER_TT + "opacity of the outer border (0=transparent, 1=opaque)" + IDS_MENU_INNER_BORDER_THICKNESS "inner border thickness" +END + +STRINGTABLE +BEGIN + IDS_MENU_INNER_BORDER_THICKNESS_TT + "thickness of the inner border drawn at the edges of the screen" + IDS_MENU_COLOR_RED_INNER_TT "amount of red color in the inner border" + IDS_MENU_COLOR_GREEN_INNER_TT "amount of green color in the inner border" + IDS_MENU_COLOR_BLUE_INNER_TT "amount of blue color in the inner border" + IDS_MENU_OPACITY_INNER_TT + "opacity of the inner border (0=transparent, 1=opaque)" + IDS_MENU_MOTION_VECTOR_OPACITY "motion vector opacity" + IDS_MENU_MOTION_VECTOR_OPACITY_TT + "opacity of the motion vectors (0=transparent, 1=opaque)" + IDS_MENU_NUM_MOT_VECTORS_X " num. mot. vectors (X)" + IDS_MENU_NUM_MOT_VECTORS_X_TT "the number of motion vectors on the x-axis" + IDS_MENU_NUM_MOT_VECTORS_Y " num. mot. vectors (Y)" + IDS_MENU_NUM_MOT_VECTORS_Y_TT "the number of motion vectors on the y-axis" + IDS_MENU_OFFSET_X " offset (X)" + IDS_MENU_OFFSET_X_TT "horizontal placement offset of the motion vectors" + IDS_MENU_OFFSET_Y " offset (Y)" + IDS_MENU_OFFSET_Y_TT "vertical placement offset of the motion vectors" +END + +STRINGTABLE +BEGIN + IDS_MENU_TRAIL_LENGTH " trail length" + IDS_MENU_TRAIL_LENGTH_TT "the length of the motion vectors (1=normal)" + IDS_MENU_COLOR_RED_MOTION_VECTOR_TT + "amount of red color in the motion vectors" + IDS_MENU_COLOR_GREEN_MOTION_VECTOR_TT + "amount of green color in the motion vectors" + IDS_MENU_COLOR_BLUE_MOTION_VECTOR_TT + "amount of blue color in the motion vectors" + IDS_MENU_ZOOM_AMOUNT "zoom amount" + IDS_MENU_ZOOM_AMOUNT_TT "controls inward/outward motion. 0.9=zoom out, 1.0=no zoom, 1.1=zoom in" + IDS_MENU_ZOOM_EXPONENT " zoom exponent" + IDS_MENU_ZOOM_EXPONENT_TT "controls the curvature of the zoom; 1=normal" + IDS_MENU_WARP_AMOUNT "warp amount" + IDS_MENU_WARP_AMOUNT_TT "controls the magnitude of the warping; 0=none, 1=normal, 2=major warping..." + IDS_MENU_WARP_SCALE " warp scale" + IDS_MENU_WARP_SCALE_TT "controls the wavelength of the warp; 1=normal, less=turbulent, more=smoother" + IDS_MENU_WARP_SPEED " warp speed" + IDS_MENU_WARP_SPEED_TT "controls the speed of the warp; 1=normal, less=slower, more=faster" + IDS_MENU_ROTATION_AMOUNT "rotation amount" +END + +STRINGTABLE +BEGIN + IDS_MENU_BLUR3_MIN_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images. MUST BE SUBSET OF BLUR1, BLUR2 RANGES." + IDS_MENU_BLUR3_MAX_COLOR_VALUE "blur3: max color value" + IDS_MENU_BLUR3_MAX_COLOR_VALUE_TT + "narrowing these to just the color range you need will greatly increase color fidelity in the blurred images. MUST BE SUBSET OF BLUR1, BLUR2 RANGES." + IDS_MENU_EDIT_PER_VERTEX_EQUATIONS "[ edit per_vertex equations ]" + IDS_MENU_EDIT_PER_VERTEX_EQUATIONS_TT + "read-only: x, y, rad, ang; time, fps, frame, progress; {bass|mid|treb}[_att]\nread/write: dx, dy, zoom, rot, warp, cx, cy, sx, sy, q1-q8" + IDS_MENU_EDIT_WARP_SHADER_TT + "This pixel shader drives the warping, color, etc. of the internal image each frame.\n" + IDS_MENU_EDIT_COMPOSITE_SHADER_TT + "This pixel shader drives the final presentation of the internal image to the screen each frame.\n" + IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION + "upgrade preset's pixel shader version" + IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION_TT + "Upgrades the preset to the next-available pixel shader version." + IDS_MENU_EDIT_DO_A_PRESET_MASH_UP "do a preset mash-up" + IDS_MENU_EDIT_DO_A_PRESET_MASH_UP_TT + "Mix qualities from many different presets to create a new one." + IDS_MENU_NUMBER_OF_INSTANCES "number of instances" + IDS_MENU_NUMBER_OF_INSTANCES_TT + "the number of times (num_inst) to draw this shape. Each instance will have a different value for 'instance' in the per-frame eqs (0,1,2...)" + IDS_MENU_EDIT_INIT_CODE_SHAPE_TT + "IN: time, frame, fps, progress; q1-q8 (from preset init); x,y,rad,ang; r,g,b,a; r2,g2,b2,a2; border_{r|g|b|a}; sides, thick, additive, textured\nOUT: t1-t8; x,y,rad,ang; r,g,b,a; r2,g2,b2,a2; border_{r|g|b|a}; sides, thick, additive, textured" + IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE + "[ edit per-frame(/per-instance) code ]" + IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE_TT + "IN: instance, num_inst, time, frame, fps, progress; q1-q8 (from preset init); x,y,rad,ang; r,g,b,a; r2,g2,b2,a2; border_{r|g|b|a}; sides, thick, additive, textured\nOUT: t1-t8; x,y,rad,ang; r,g,b,a; r2,g2,b2,a2; border_{r|g|b|a}; sides, thick, additive, textured" +END + +STRINGTABLE +BEGIN + IDS_MENU_OPACITY_WAVE_TT + "opacity of the waveform; 0=transparent, 1=opaque" + IDS_MENU_USE_SPECTRUM "use spectrum" + IDS_MENU_USE_SPECTRUM_TT + "if ON, the data in value1 and value2 will constitute a frequency spectrum (instead of waveform values)" + IDS_MENU_USE_DOTS_WAVE_TT + "if ON, the samples will be overdrawn 4X to make them thicker, bolder, and more visible" + IDS_MENU_DRAW_THICK_WAVE_TT + "if ON, the samples will be overdrawn 4X to make them thicker, bolder, and more visible" + IDS_MENU_ADDITIVE_DRAWING_WAVE_TT + "if ON, the samples will add color to sature the image toward white; otherwise, they replace what's there." + IDS_MENU_EXPORT_TO_FILE "--export to file" + IDS_MENU_EXPORT_TO_FILE_TT + "export the settings for this custom waveform to a file on disk" + IDS_MENU_IMPORT_FROM_FILE "--import from file" + IDS_MENU_IMPORT_FROM_FILE_TT + "import settings for a custom waveform from a file on disk" + IDS_MENU_EDIT_INIT_CODE "[ edit initialization code ]" + IDS_MENU_EDIT_INIT_CODE_TT + "IN: time, frame, fps, progress; samples; q1-q8 (from preset init) / OUT: t1-t8" + IDS_MENU_EDIT_PER_FRAME_CODE "[ edit per-frame code ]" + IDS_MENU_EDIT_PER_FRAME_CODE_TT + "IN: time, frame, fps, progress; samples; q1-q8, t1-t8; r,g,b,a; {bass|mid|treb}[_att] / OUT: r,g,b,a; samples; t1-t8" + IDS_MENU_EDIT_PER_POINT_CODE "[ edit per-point code ]" + IDS_MENU_EDIT_PER_POINT_CODE_TT + "IN: sample [0..1]; value1 [left ch], value2 [right ch], plus all vars for per-frame code / OUT: x,y; r,g,b,a; t1-t8" +END + +STRINGTABLE +BEGIN + IDS_MENU_ENABLED_SHAPE_TT "enables or disables this shape" + IDS_MENU_NUMBER_OF_SIDES "number of sides" + IDS_MENU_NUMBER_OF_SIDES_TT + "the default number of sides that make up the polygonal shape" + IDS_MENU_DRAW_THICK_SHAPE_TT + "if ON, the border will be overdrawn 4X to make it thicker, bolder, and more visible" + IDS_MENU_ADDITIVE_DRAWING_SHAPE_TT + "if ON, the shape will add color to sature the image toward white; otherwise, it will replace what's there." + IDS_MENU_X_POSITION "x position" + IDS_MENU_X_POSITION_TT "default x position of the shape (0..1; 0=left side, 1=right side)" + IDS_MENU_Y_POSITION "y position" + IDS_MENU_Y_POSITION_TT "default y position of the shape (0..1; 0=bottom, 1=top of screen)" + IDS_MENU_RADIUS "radius" + IDS_MENU_RADIUS_TT "default radius of the shape (0+)" + IDS_MENU_ANGLE "angle" + IDS_MENU_ANGLE_TT "default rotation angle of the shape (0...3.14*2)" + IDS_MENU_TEXTURED "textured" + IDS_MENU_TEXTURED_TT "if ON, the shape will be textured with the image from the previous frame" + IDS_MENU_TEXTURE_ZOOM "texture zoom" +END + +STRINGTABLE +BEGIN + IDS_MENU_TEXTURE_ZOOM_TT + "the portion of the previous frame's image to use with the shape" + IDS_MENU_TEXTURE_ANGLE "texture angle" + IDS_MENU_TEXTURE_ANGLE_TT + "the angle at which to rotate the previous frame's image before applying it to the shape" + IDS_MENU_INNER_COLOR_RED "inner color (red)" + IDS_MENU_INNER_COLOR_RED_TT + "default amount of red color toward the center of the shape (0..1)" + IDS_MENU_INNER_COLOR_GREEN "inner color (green)" + IDS_MENU_INNER_COLOR_GREEN_TT + "default amount of green color toward the center of the shape (0..1)" + IDS_MENU_INNER_COLOR_BLUE "inner color (blue)" + IDS_MENU_INNER_COLOR_BLUE_TT + "default amount of blue color toward the center of the shape (0..1)" + IDS_MENU_INNER_OPACITY "inner opacity" + IDS_MENU_INNER_OPACITY_TT + "default opacity of the center of the shape; 0=transparent, 1=opaque" + IDS_MENU_OUTER_COLOR_RED "outer color (red)" + IDS_MENU_OUTER_COLOR_RED_TT + "default amount of red color toward the outer edge of the shape (0..1)" + IDS_MENU_OUTER_COLOR_GREEN "outer color (green)" + IDS_MENU_OUTER_COLOR_GREEN_TT + "default amount of green color toward the outer edge of the shape (0..1)" + IDS_MENU_OUTER_COLOR_BLUE "outer color (blue)" +END + +STRINGTABLE +BEGIN + IDS_MENU_OUTER_COLOR_BLUE_TT + "default amount of blue color toward the outer edge of the shape (0..1)" + IDS_MENU_OUTER_OPACITY "outer opacity" + IDS_MENU_OUTER_OPACITY_TT + "default opacity of the outer edge of the shape; 0=transparent, 1=opaque" + IDS_MENU_BORDER_COLOR_RED "border color (red)" + IDS_MENU_BORDER_COLOR_RED_TT + "default amount of red color in the shape's border (0..1)" + IDS_MENU_BORDER_COLOR_GREEN "border color (green)" + IDS_MENU_BORDER_COLOR_GREEN_TT + "default amount of green color in the shape's border (0..1)" + IDS_MENU_BORDER_COLOR_BLUE "border color (blue)" + IDS_MENU_BORDER_COLOR_BLUE_TT + "default amount of blue color in the shape's border (0..1)" + IDS_MENU_BORDER_OPACITY "border opacity" + IDS_MENU_BORDER_OPACITY_TT + "default opacity of the shape's border; 0=transparent, 1=opaque" + IDS_MENU_EXPORT_TO_FILE_SHAPE_TT + "export the settings for this custom shape to a file on disk" + IDS_MENU_IMPORT_FROM_FILE_SHAPE_TT + "import settings for a custom shape from a file on disk" + IDS_ERROR_UNABLE_TO_SAVE_THE_FILE "ERROR: unable to save the file" +END + +STRINGTABLE +BEGIN + IDS_ERROR_PRESET_NOT_FOUND_X "ERROR: preset not found: %s" + IDS_ERROR_NO_PRESET_FILES_OR_DIRS_FOUND_IN_X + "ERROR: No preset files OR directories found in %s*.milk" + IDS_SCANNING_PRESETS " scanning presets... " + IDS_SPRITE_X_ERROR_COULD_NOT_FIND_IMG_OR_NOT_DEFINED + "sprite #%d error: could not find 'img=' setting, or sprite is not defined" + IDS_WARNING_PRESET_X_ERROR_IN_PRESET_INIT_CODE + "warning: preset ""%s"": error in 'preset_init' code" + IDS_WARNING_PRESET_X_ERROR_IN_PER_FRAME_CODE + "warning: preset ""%s"": error in 'per-frame' code" + IDS_WARNING_PRESET_X_ERROR_IN_PER_VERTEX_CODE + "warning: preset ""%s"": error in 'per-vertex' code" + IDS_HZ "Hz" + IDS_HELP_MINIMIZE_WINAMP "Help on 'Minimize Winamp...' checkbox" + IDS_HELP_MINIMIZE_WINAMP_HELP + "Enable this if you can sometimes see the Winamp window flickering\nthrough, when you run the plug-in fullscreen. Enabling this option\nwill force the Winamp window to minimize whenever the plug-in goes\nfullscreen on the same monitor that the Winamp window is on.\nThe Winamp window will be restored as soon as the plug-in returns\nfrom fullscreen mode.\n\nNote that this also applies for 'fake' fullscreen mode (as well as 'real'\nfullscreen mode).\n\nKeep in mind that when running graphically demanding applications\n(such as this plug-in), it's always good to minimize (or close) as many\nother applications as possible, even if they appear to be idle." + IDS_DIRECTX_MISSING_OR_CORRUPT_TEXT + "Failed to initialize DirectX 9.0 or later.\nMilkdrop requires d3dx9_31.dll to be installed.\n\nWould you like to be taken to:\nhttp://www.microsoft.com/download/details.aspx?id=35,\nwhere you can update DirectX 9.0?\n" + IDS_PARENT_DIRECTORY "parent directory" + IDS_RAND_TITLE "Time between random song title animation" + IDS_RAND_MSG "Time between random custom messages" + IDS_MAX_IMAGES_BYTES "Image cache settings" + IDS_PAGE_X " Page %d " +END + +STRINGTABLE +BEGIN + IDS_SAVE_SUCCESSFUL "[save successful]" + IDS_ERROR_UNABLE_TO_DELETE_THE_FILE "ERROR: unable to delete the file" + IDS_PRESET_X_DELETED "[preset ""%s"" deleted]" + IDS_ERROR_A_FILE_ALREADY_EXISTS_WITH_THAT_FILENAME + "ERROR: a file already exists with that filename" + IDS_ERROR_UNABLE_TO_RENAME_FILE "ERROR: unable to rename the file" + IDS_RENAME_SUCCESSFUL "[rename successful]" + IDS_SPRITE_X_WARNING_ERROR_IN_INIT_CODE + "sprite #%d warning: error in initialization code " + IDS_SPRITE_X_WARNING_ERROR_IN_PER_FRAME_CODE + "sprite #%d warning: error in per-frame code" + IDS_SPRITE_X_ERROR_BAD_SLOT_INDEX "sprite #%d error: bad slot index" + IDS_SPRITE_X_ERROR_IMAGE_FILE_MISSING_OR_CORRUPT + "sprite #%d error: image file missing or corrupt" + IDS_SPRITE_X_ERROR_OUT_OF_MEM + "sprite #%d error: out of memory, unable to load image" + IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_INIT_CODE + "warning: preset ""%s"": error in wave %d init code" +END + +STRINGTABLE +BEGIN + IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_PER_FRAME_CODE + "warning: preset ""%s"": error in wave %d per-frame code" + IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_PER_POINT_CODE + "warning: preset ""%s"": error in wave %d per-point code" + IDS_WARNING_PRESET_X_ERROR_IN_SHAPE_X_INIT_CODE + "warning: preset ""%s"": error in shape %d init code" + IDS_WARNING_PRESET_X_ERROR_IN_SHAPE_X_PER_FRAME_CODE + "warning: preset ""%s"": error in shape %d per-frame code" + IDS_CONFIG_PANEL_BUTTON_1 "Common Settings" + IDS_CONFIG_PANEL_BUTTON_2 "MORE SETTINGS" + IDS_CONFIG_PANEL_BUTTON_3 "Artist Tools" + IDS_CONFIG_PANEL_BUTTON_4 "Transitions" + IDS_CONFIG_PANEL_BUTTON_5 " " + IDS_CONFIG_PANEL_BUTTON_6 " " + IDS_CONFIG_PANEL_BUTTON_7 " " + IDS_CONFIG_PANEL_BUTTON_8 " " + IDS_EXTRA_FONT_1_NAME "Tooltips" + IDS_EXTRA_FONT_2_NAME "Animated Songtitles" + IDS_PRESS_F1_MSG "Press F1 for Help " + IDS_GRAPHICS_SUBSYSTEM_IS_TEMPORARILY_UNSTABLE + "One or more fullscreen display adapters are behaving strangely and will not\nreport a list of display modes. It's quite possible that your graphics subsystem\nis temporarily unstable.\n\nSUGGESTED ACTION: If you have modified your multimon setup or Windows,\ndisplay settings, or have updated any display drivers or installed\nany new programs, you should probably REBOOT YOUR COMPUTER before\ntrying to configure (or run) the plug-in again." +END + +STRINGTABLE +BEGIN + IDS_UNKNOWN "UNKNOWN" + IDS_DISABLED_PAGE_TEARING "(disabled/pg. tearing)" + IDS_NONE "(none)" + IDS_UNLIMITED "(unlimited)" + IDS_X_FRAME_SEC "%2d frames/sec" + IDS_HELP_ON_X_BUTTON "Help on '%s' button" + IDS_FONTS_HELP "Click this button to alter the fonts that are used to display text\nwhile the plug-in is running." + IDS_DUAL_HEAD_HELP "Click this button for special options concerning DualHead video cards\nthat are capable of running in double-width or double-height display\nmodes. DualHead cards that support this treat the two monitors as\none giant, double-width or double-height display.\n\nThis would usually mean that when going Fullscreen, the plug-in would be\nstretched over both monitors. However, when you run the plug-in in\nDesktop Mode or in *Fake* Fullscreen Mode, you can get around this,\nand allow the plug-in to run on just one monitor, leaving you free\nto work on the other." + IDS_MULTI_SAMPLING "Help on Multisampling" + IDS_MULTI_SAMPLING_HELP "This controls the level of full-scene anti-aliasing (blending)\nthat the display adapter uses. Only newer video cards will\ntend to support this feature. Anti-aliasing softens out the\n'jaggies' that you sometimes see at the pixel level, for example,\nat the silhouette of an object, or on a wireframe object.\n\nA level of '2X' would mean that 3D rendering/rasterization is done\ninternally *at double-resolution*, and then downsampled before final\ndisplay to the user. A level of '3X' would mean that the rendering\nis done at triple-resolution, and so on.\n\nNote that, due to limitations of the DirectX 8 API, the use of multisampling\ngenerally requires that page tearing be allowed; the one exception is 'true'\nfullscreen mode, where you can have the best of both worlds: you can disable\npage tearing and enable multisampling at the same time." + IDS_MAX_FRAMERATE "Help on Max Framerate" + IDS_MAX_FRAMERATE_HELP "This controls the maximum # of times the image will be updated, per second.\nFramerate is also commonly called ""FPS"", or ""frames per second.""\n\nIf the plug-in is running too quickly for your taste, you can lower the\nmaximum framerate to slow it down. You might also want to do this if\nthe plug-in is 'hogging the CPU' and slowing down other applications.\n\nTypically, a framerate of 30 looks good; 60 looks great. The human eye\nhas a hard time processing more than 60 fps, though.\n\nNote that if the animation is rendering below the maximum framerate here,\nyour CPU will likely be in 100%% use, leaving your computer somewhat\nunresponsive. If this is the case, try lowering the max. framerate\nuntil it takes effect, and then your computer should become more responsive.\n\nAlso keep in mind that it's a good idea to try and set the max. framerate\nto the current refresh rate of your monitor (e.g. 60 Hz, 72 Hz, etc.)\nor an integer factor of that number; for example, at a 72 Hz monitor\nrefresh rate, good max. framerates would be 2, 3, 4, 6, 8, 9, 12, 18,\n24, 36, or 72." + IDS_FAKE_FULLSCREEN "Help on 'fake' fullscreen mode" + IDS_FAKE_FULLSCREEN_HELP + "When this option is enabled, the display mode is never changed by\nthe plug-in; instead, the plug-in 'fakes' fullscreen mode by simply\nthe plug-in; instead, the plug-in 'fakes' fullscreen mode by simply\nthe window on top.\n\nDUALHEAD: Fake fullscreen mode can be especially handy when you have a\ndualhead display adapter that drives two monitors, but really just treats\nthem as one giant display (e.g. **the display mode is something like 2048x768\nor 1024x1536**), where regular fullscreen mode will take over both monitors,\ncreating a very large, stretched image. HOWEVER, if you use fake\nfullscreen mode, it can (if you want) take over just one monitor, leaving\nyou free to work on the other monitor. To choose which display to favor\n(or to span both), click the 'DualHead' button and follow the instructions\nthere.\n\nTASKBAR: Note that in fake fullscreen mode, the taskbar will still be visible\n(and usable) if the plug-in does not entirely cover all displays & all monitors.\nIf you don't like it, use 'true' fullscreen mode instead, or move the taskbar\n(...there should be a place to move it to, since the plug-in doesn't cover all\nof your displays). However, if the plug-in does cover all displays and all\nmonitors, the taskbar should be nicely hidden." + IDS_FULLSCREEN_ADAPTER "Help on fullscreen display adapter selection" + IDS_FULLSCREEN_ADAPTER_HELP + "This lets you select which display adapter (video card) you'd like to\nrun the plug-in on, when it goes fullscreen. If you only have one video\ncard and monitor in your system, you will only have one choice here; but\nif you have multiple video cards, or a multi-head video card (one card\nthat drives multiple monitors), there should be two or more choices here.\n\nNote that if you have trouble running in fullscreen mode with multiple\ndisplays, you might want to try the 'fake fullscreen mode' option.\nSee its help screen for more information." +END + +STRINGTABLE +BEGIN + IDS_WINDOWED_ADPATER "Help on windowed-mode display adapter selection" + IDS_WINDOWED_ADPATER_HELP + "This lets you select which display adapter (video card) you'd like to\nrun the plug-in on, when it runs in a window. If you only have one video\ncard and monitor in your system, you will only have one choice here; but\nif you have multiple video cards, or a multi-head video card (one card\nthat drives multiple monitors), there should be two or more choices here.\n\nThe default window position will be somewhere on the monitor for the\ndisplay adapter you choose here. You can drag the window to a different\nmonitor, but it is likely to be very slow, because the pixels will have\nto be copied, via Windows, from one display to the next, each frame.\n\nSo, for best performance in windowed mode, be sure to select the monitor\nyou want it to run on here, in advance, and avoid dragging the window to\nanother monitor at runtime." + IDS_DESKTOP_ADAPTER "Help on desktop-mode display adapter selection" + IDS_DESKTOP_ADAPTER_HELP + "This lets you select which display adapter (video card & monitor) you'd like to\nrun the plug-in on, when it runs in desktop mode, replacing your windows wallpaper.\nIf you only have one video card and monitor in your system, you will only have\none choice here; but if you have multiple video cards, or a multi-head video card\n(one card that drives multiple monitors), there should be two or more choices here." + IDS_HELP_ON_X_CHECKBOX "Help on '%s' checkbox" + IDS_HELP_ON_X_CHECKBOX_HELP + "When a new frame of animation is ready for display, the plug-in\nhas a choice of whether or not to synchronize the new frame to the\nmonitor's next vertical scan.\n\nIf there is no synchronization and the new frame is shown immediately,\nthen the update might occure in 'mid-scan', so for that 1/60th of a second,\nyou'll see the old frame toward the top of the monitor, and the new frame\ntoward the bottom, with a sharp line ('tear') somewhere in between. This\nis especially visible when solid objects on the screen are changing or\nmoving rapidly, from frame to frame.\n\nHowever, if the plug-in waits until the vertical scan is complete to update\nthe image, then at the start of the next vertical scan, the entire image\nwill be ready and will (hopefully) be presented without any tearing.\n\nAlthough page tearing will often cause visible artifacts, it will allow\nthe plug-in to run at its maximum possible framerate. Generally, though,\npage tearing is considered a bad thing, to be avoided when possible.\n\nNote that this synchronization (done by DirectX and your video driver)\nis usually approximate when running in windowed (or fake fullscreen) modes;\nthus, page tearing is often minimized but can't always be completely eliminated.\n\nNote that multisampling is usually only available when page tearing is\nallowed, due to limitations of the DirectX 8 API. The one exception is\n'true' fullscreen mode; there, you can disable page tearing and still use\nmultisampling. (But not in fake fullscreen, windowed, or desktop modes.)" + IDS_FORCE_INTO_FS_MODE_HELP + "Enable this to force the plug-in to start in fullscreen\n(or 'fake fullscreen') mode.\n\n(Note that if 'fake' fullscreen mode is enabled,\nthe plug-in will start in fake fullscreen mode.)" + IDS_FORCE_INTO_DESKTOP_MODE_HELP + "Enable this to force the plug-in to start in desktop mode." + IDS_HELP_ON_F1 "Help on 'Press F1...' checkbox" + IDS_HELP_ON_F1_HELP "Disable this to prevent the 'Press F1 for Help' message\nfrom appearing when the plug-in starts." + IDS_CB_SKIN_HELP "Check this box to 'skin' the plug-in's window frame when it runs\nin a window, so that it looks like the rest of the windows that\nmake up Winamp's interface.\n\nThis feature requires Winamp 2.90 or later; if the box is greyed\nout, it means you need a newer version of Winamp." + IDS_SAVE_CPU_CHECKBOX "Help on 'Save CPU' checkbox" + IDS_SAVE_CPU_CHECKBOX_HELP + "Check this box to lower the amount of CPU (processor) that the plug-in uses\nto monitor and limit the framerate.\n\nWhen this box is unchecked, the plug-in will extremely accurately limit the\nframerate, resulting in ultra-smooth animation. However, there is some cost\nin terms of CPU time - usually in the range of 0-20%%.\n\nWhen this box is checked, though, the plug-in uses a more lenient algorithm to\nlimit the framerate, which uses virtually no CPU time. However, the framerate\nwill not be as accurately limited (it might vary over time), and animation is\nnot guaranteed to be perfectly smooth.\n\nNote that you can further decrease CPU usage by:\n 1) decreasing the maximum framerate (via the 'Max Framerate' options)\n 2) allowing page tearing (via the 'Allow Page Tearing' checkboxes)" + IDS_FS_DISPLAY_MODE "Help on fullscreen display mode selection" + IDS_FS_DISPLAY_MODE_HELP + "This lets you select which display mode you'd like to use when you\nrun the plug-in fullscreen.\n\nThe first parameter is the pixel color format, which decides\nthe total number of possible colors in the rendered image.\nRGB-555 and RGB-565 are 16-bit color formats, which have poor\ncolor resolution but are often fast. RGB-888 is a 32-bit color\nformat; it often has superior image quality, but is often slower\nand takes up twice the video memory.\n\nThe next two parameters are the width and height of the display mode,\nin pixels, also known as the 'resolution'. Higher resolutions are\nusually slower and require more video memory, but look better.\n\nThe last parameter is the refresh rate: the rate at which the\n""monitor refreshes the image you see, in Hertz (cycles per second).\nHigher refresh rates tend to be easier on the eyes." +END + +STRINGTABLE +BEGIN + IDS_TRY_TO_FIX_SLOW_TEXT "Help on 'Try to fix slow text' checkbox" + IDS_TRY_TO_FIX_SLOW_TEXT_HELP + "Many video cards - even new ones - are very slow at drawing onscreen text.\nMost application render onscreen text overtop of the final image\n*every frame*, but since MilkDrop has so many menus, this can severely\ndrop the framerate.\n\nA workaround is invoked by checking this box. Instead of drawing the\ntext every frame, it is instead drawn to a second image buffer, and then\nonly updated when the text changes. That separate image buffer is then\noverlaid onto the final image for display, each frame. By not redrawing\nthe same text over and over, MilkDrop maintains a normal framerate.\n\nThis option is good for maintaining speed, but it uses a substantial amount\nof video memory. You should probably only use it if you have 32 megabytes\n(or more) of graphics memory. If there is not enough video memory to set\nup the offscreen image buffer for cacheing the text, it will not be created,\nand MilkDrop will behave as if the box was unchecked." + IDS_VJ_MODE "Help on VJ Mode" + IDS_VJ_MODE_HELP "VJ mode is used by those who want to show MilkDrop on one display\nwhile working with it on the other display. When VJ mode is on,\ntext is drawn into a second window, instead of being overlaid on\ntop of the graphics. This leaves the 'VJ' (the person running the\nvisuals for a concert, for example) able to navigate milkdrop's menus\nand edit presets while MilkDrop runs on a second display (likely\nrunning to a projector), without the ugly menus showing up.\n\nIMPORTANT: whichever windowed mode display adapter you have selected \ndetermines which monitor the separate text window appears on, and runs\nbest on. If you try dragging (moving) it to another monitor, performance\nwill be severely impacted; instead, exit MilkDrop, return to the config\npanel, and set the windowed mode display adapter to reflect the monitor\nyou want the separate text window to appear on." + IDS_HELP_ON_X "Help on '%s'" + IDS_DMS_LABEL_HELP "These settings control the behavior of the plug-in when it is running\nin 'desktop mode'. In desktop mode, the plug-in is visible in your\nWindows background, replacing your wallpaper with the animated plug-in." + IDS_FS_LABEL_HELP "These settings control the behavior of the plug-in when it is running\nin fullscreen mode. In fullscreen mode, the plug-in changes the display\nmode to whatever you indicate here, and then uses the entire display\nto render the image.\n\nFullscreen mode also gives the plug-in certain privileges within the\ngraphics subsystem (it enters 'exclusive mode'), so performance is\nusually quite improved." + IDS_W_LABEL_HELP "These settings control the behavior of the plug-in when it is running\nin a window. In windowed mode, the plug-in renders right into a window,\njust like any other application you might have running.\n\nWhen the plug-in starts, the default window position will be somewhere\non the monitor for the display adapter you choose here.\nYou *can* drag the window to a different monitor, but it is likely to be,\nVERY slow because the pixels will have to be copied, via Windows, from\none display to the next, each frame.\n\nSo, for best performance in windowed mode, be sure to select the monitor\nyou want it to run on here, in advance, and avoid dragging the window to\nanother monitor at runtime." + IDS_DM_MORE_HELP "Click here to bring up a dialog with\nadvanced settings for Desktop Mode." + IDS_INITCONFIG_FAILED "InitConfig() failed!" + IDS_UNABLE_TO_LOAD_TABS "Unable to load tabs!" + IDS_DOCUMENTATION_FILE_NOT_FOUND + "the documentation file:\n\n\t%s\n\ncould not be found." + IDS_ACCESS_TO_DOCUMENTATION_FILE_DENIED + "access to the documentation file:\n\n\t%s\n\nwas denied." + IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_DUE_TO_NO_ASSOC + "the documentation file:\n\n\t%s\n\ncould not be accessed because there is no application\nassociated with documents of this type." + IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_CODE_X + "the documentation file:\n\n\t%s\n\ncould not be accessed (error code: %d)" +END + +STRINGTABLE +BEGIN + IDS_ERROR_OPENING_DOCUMENTATION "Error Opening Documentation" + IDS_URL_COULD_NOT_OPEN "the URL\n\n\t%s\n\ncould not be opened." + IDS_ACCESS_TO_URL_WAS_DENIED "access to the URL\n\n\t%s\n\nwas denied." + IDS_ACCESS_TO_URL_FAILED_DUE_TO_NO_ASSOC + "the URL\n\n\t%s\n\ncould not be accessed because there is no application\nassociated with documents of this type." + IDS_ACCESS_TO_URL_FAILED_CODE_X + "the URL\n\n\t%s\n\ncould not be accessed (error code: %d)" + IDS_ERROR_OPENING_URL "Error Opening URL" + IDS_RESTORE_ALL_DEFAULTS + "Are you sure you want to restore the default settings?\n\nIf you click YES, the config panel will close and the defaults will be restored." + IDS_RESTORE_ALL_DEFAULTS_TITLE "Restore Default Settings?" + IDS_OK_HELP "Click this button to save your changes and return to Winamp." + IDS_CANCEL_HELP "Click this button to cancel any changes and return to Winamp." + IDS_RESTORE_DEFAULTS_HELP + "Click this button to restore all config panel settings\nto their 'factory' defaults and then return to Winamp." + IDS_DOCUMENTATION_BUTTON_HELP + "Click this button to view the documentation for this plug-in." + IDS_VIEW_ONLINE_DOCS_HELP + "Click this button to view the website (homepage) for this plug-in\nusing your default browser." + IDS_5_6_5_TEXTURE "a 5-6-5 texture (no transparency)" + IDS_5_5_5_TEXTURE "a 5-5-5 texture (w/1 bit of transparency)" + IDS_8_8_8_TEXTURE "an 8-8-8 texture (w/8 bits of transparency)" +END + +STRINGTABLE +BEGIN + IDS_NO_ALPHA_FALLBACK "Help on ""no alpha"" fallback options" + IDS_NO_ALPHA_FALLBACK_HELP + "If you run the plug-in in desktop mode and find that your\ndesktop icons are surrounded by black boxes, then you'll\nwant to experiment with this setting. The black box means\nthat 'alpha' (transparency) is not working, probably because\nyour current video mode (that Windows is running in) does\nnot have an alpha channel. To make a long story short,\njust try different options here if you get the 'black box'\neffect, and cross your fingers that one of these works.\n\nNote that the 5-6-5 option uses half as much video memory\nas the 8-8-8 option, so if they both work, use the 5-6-5." + IDS_CB_SHOW_ICONS_HELP "When you're running in desktop mode, this option lets you\nchoose to show or hide the icons that normally sit on your\ndesktop." + IDS_CB_BOX "Help on 'Draw colored boxes...' checkbox" + IDS_CB_BOX_HELP "This option lets you choose whether or not you want to\nsee a solid-colored box around each of the text labels\nfor the icons on your desktop, while the plug-in is running.\n\nIf you turn it off, the icon text labels might be harder\nto read (depending on the current image that the plug-in is\ngenerating), but the icons will also tend to dominate the\nscreen less." + IDS_CB_MANUAL_SCOOT "Help on icon occlusion checkbox" + IDS_CB_MANUAL_SCOOT_HELP + "Normally, when you put your Windows taskbar on the Top or Left\nedge of the screen, Windows nicely scoots your desktop icons out\nfrom underneath it, so that they remain visible.\n\nThis plug-in tries to do the same thing, but on a few video cards,\nthe desktop icons might still be occluded (covered) by the taskbar\nwhen you run the plug-in in Desktop Mode (and the taskbar sits along\nthe Top or Left edge of the screen.)\n\nIf this happens to you, try checking this box - it will try a\ndifferent algorithm for placing the icons, and should manage to\nscoot them out (down or to the right) from underneath the taskbar." + IDS_SPAN_BOTH_SCREENS "span both screens" + IDS_USE_LEFT_SCREEN_ONLY "use left screen only" + IDS_USE_RIGHT_SCREEN_ONLY "use right screen only" + IDS_USE_TOP_SCREEN_ONLY "use top screen only" + IDS_USE_BOTTOM_SCREEN_ONLY "use bottom screen only" + IDS_COULD_NOT_FIND_FILE_FOR_DESKTOP_MODE_X + "Could not find the following file:\n\n %s\n\n...which is required for this plug-in to work properly in Desktop Mode.\nPlease reinstall the plug-in." + IDS_MILKDROP_ERROR_FILE_MISSING "MILKDROP ERROR - FILE MISSING" + IDS_ERROR_CREATING_GDI_DESKTOP_FONT "Error creating GDI desktop font" + IDS_ERROR_CREATING_DESKTOP_FONT "Error creating desktop font" +END + +STRINGTABLE +BEGIN + IDS_ERROR_CREATING_TEXTURE_FOR_ICON_BITMAPS + "Error creating texture for icon bitmaps" + IDS_OUTDATED_VMS_DESKTOP_DLL_NEED_TO_REINSTALL + "It appears that you have an outdated copy of the file 'vms_desktop.dll'\nin your Winamp PLUGINS directory. Please reinstall the plug-in\nto bring this file up to date." + IDS_ERROR_CREATING_HOOK_PROC_DESKTOP_ICONS_NOT_AVAILABLE + "Error creating hook procedure;\ndesktop icons will not be available." + IDS_ERROR_UPDATING_ICON_BITMAPS + "Error updating icon bitmaps; the number of unique\nicon bitmaps on your desktop exceeded the maximum.\n\nAs a result, not all icons will look correct." + IDS_ERROR_UPDATING_ICON_BITMAPS_TOO_MANY_UNIQUE_ICON_BITMAPS + "Error updating icon bitmaps: there were a lot of unique icon bitmaps,\nbut the plug-in couldn't allocate enough extra texture(s) to hold them all,\nprobably because video memory is low.\n\nAs a result, not all icons will look correct." + IDS_ERROR_UPDATING_ICON_BITMAPS_COULD_NOT_GET_LEVEL_DESCRIPTION + "Error updating icon bitmaps:\ncouldn't get level description" + IDS_ERROR_UPDATING_ICON_BITMAPS_LOCKRECT_FAILED + "Error updating icon bitmaps:\nLockRect failed" + IDS_ERROR_UPDATING_ICON_BITMAPS_LR_PBITS_IS_NULL + "Error updating icon bitmaps:\nlr.pBits == NULL" + IDS_ERROR_UPDATING_ICON_BITMAPS_UNKNOWN_PIXEL_FORMAT + "Error updating icon bitmaps:\nunknown pixel format" + IDS_ERROR_UPDATING_ICON_BITMAPS_COULDNT_GET_HDC + "Error updating icon bitmaps:\ncouldn't get HDC" + IDS_ERROR_UPDATING_ICON_BITMAPS_CALL_TO_GETDIBITS_FAILED + "Error updating icon bitmaps:\ncall #1 to GetDIBits failed." + IDS_ERROR_UPDATING_ICON_BITMAPS_CALL_2_TO_GETDIBITS_FAILED + "Error updating icon bitmaps:\ncall #2 to GetDIBits failed." + IDS_ERROR_UPDATING_ICON_BITMAPS_GETICONINFO_FAILED + "Error updating icon bitmaps:\nGetIconInfo failed." + IDS_ERROR_UPDATING_ICON_BITMAPS_SHGETFILEINFO_FAILED + "Error updating icon bitmaps:\nSHGetFileInfo failed." + IDS_UNABLE_TO_REGISTER_WINDOW_CLASS + "Unable to register the window class;\nPLEASE RESTART WINAMP." + IDS_DIRECTX_INIT_FAILED "DirectX initialization failed; unknown color format" +END + +STRINGTABLE +BEGIN + IDS_VJ_MODE_INIT_ERROR "VJ mode init error: error determining color format\nfor currently-selected Windowed Mode display adapter." + IDS_ERROR_REGISTERING_WINDOW_CLASS_FOR_TEXT_WINDOW + "Error registering window class for text window" + IDS_ERROR_CREATING_VJ_WINDOW "Error creating VJ window" + IDS_ERROR_CREATING_D3D_DEVICE_FOR_VJ_MODE + "Error creating D3D device for VJ mode" + IDS_ERROR_CREATING_D3DX_FONTS "Error creating D3DX fonts" + IDS_UNABLE_TO_INIT_DXCONTEXT + "Unable to initialize DXContext;\nprobably out of memory." + IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG + "To free up some memory, please RESTART WINAMP, then return\n to the plug-in's config panel and try setting your\n WINDOWED MODE MULTISAMPLING back to 'NONE.'\n\nThen try running the plug-in again." + IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_2 + "To free up some memory, please RESTART WINAMP, then return\n to the plug-in's config panel and try setting your\n FAKE FULLSCREEN MODE MULTISAMPLING back to 'NONE.'\n\nThen try running the plug-in again." + IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_3 + "To free up some memory, please RESTART WINAMP, then return\n to the plug-in's config panel and try setting your\n FULLSCREEN MODE MULTISAMPLING back to 'NONE.'\n\nThen try running the plug-in again." + IDS_TO_FREE_UP_VIDEO_MEMORY + "To free up some video memory, try the following:\n\n1. Try closing all other applications that might be using video memory, especially:\n\n * WINDOWS MEDIA PLAYER\n * any video conferencing software, such as NETMEETING\n * any DVD playback, TV tuner, or TV capture software\n * any video editing software\n * any software that uses Overlays, such as Drempels Desktop\n * any audio dictation software, such as Dragon NaturallySpeaking\n * any other 3D programs currently running\n\n2. Also try returning to the config panel (ALT+K) and selecting a display mode\n that uses less video memory. 16-bit display modes use half as much memory\n as 32-bit display modes, and lower-resolution display modes (such as 640 x 480)\n use proportionally less video memory.\n\nAfter making these changes, please RESTART WINAMP before trying to run\nthe plug-in again." + IDS_TO_FREE_UP_VIDEO_MEMORY_2 + "To free up some video memory, try the following:\n\n1. Try closing all other applications that might be using video memory, especially:\n\n * WINDOWS MEDIA PLAYER\n * any video conferencing software, such as NETMEETING\n * any DVD playback, TV tuner, or TV capture software\n * any video editing software\n * any software that uses Overlays, such as Drempels Desktop\n * any audio dictation software, such as Dragon NaturallySpeaking\n * any other 3D programs currently running\n\n2. Also try changing your Windows display mode to a lesser bit depth\n (i.e. 16-bit color), or a smaller resolution.\n\nAfter making these changes, please RESTART WINAMP before trying to run\nthe plug-in again." + IDS_MILKDROP_SUGGESTION "MILKDROP SUGGESTION" + IDS_DIRECTX_MISSING_OR_CORRUPT "DirectX Missing or Corrupt" + IDS_ERROR_THE_PLUGIN_IS_ALREADY_RUNNING + "Error: the plug-in is already running." +END + +STRINGTABLE +BEGIN + IDS_MB "MB" + IDS_GB "GB" + IDS_MASHUP_GENERAL_POSTPROC " 1. general, postproc: " + IDS_MASHUP_MOTION_EQUATIONS " 2. motion, equations: " + IDS_MASHUP_WAVEFORMS_SHAPES " 3. waveforms, shapes: " + IDS_MASHUP_WARP_SHADER " 4. warp shader: " + IDS_MASHUP_COMP_SHADER " 5. comp shader: " + IDS_STRING615 " tex2D(sampler_billy, uv) sample pixel from billy.jpg (must be loaded)\n" + IDS_STRING616 " pre-body: sampler sampler_billy; //loads billy.jpg" + IDS_STRING617 " float4 texsize_billy; //.xy = width and height, .zw = 1/w, 1/h" + IDS_STRING618 " sampling textures:" + IDS_STRING619 " tex2D(sampler_main, uv) //sample pixel from prior frame" + IDS_STRING620 " tex2D(sampler_billy, uv) //sample pixel from billy.jpg (must be loaded)" + IDS_STRING621 " GetBlur1(uv) //sample blurred prior-frame pixel (also 2,3)" + IDS_STRING622 " inputs: float2 uv; //warped UV coordinates [0..1]" + IDS_STRING623 " float2 uv_orig; //original UV coordinates [0..1]" +END + +STRINGTABLE +BEGIN + IDS_STRING624 " float rad; //radius [0..1]" + IDS_STRING625 " float ang; //angle [0..PI*2]" + IDS_STRING626 " // + texsize, aspect, time, fps, rand_frame, rand_preset," + IDS_STRING627 " // q1-q32/_qa-_qh, bass, treb_att, vol... - see docs" + IDS_STRING628 " output: float3 ret; //the new pixel color (r,g,b)" + IDS_STRING629 " inputs: float2 uv; //UV coordinates [0..1]" + IDS_STRING630 " float rad; //radius [0..1]" + IDS_STRING631 " float ang; //angle [0..PI*2]" + IDS_STRING632 " float3 hue_shader //for MilkDrop 1 compatibility" + IDS_STRING633 " // + texsize, aspect, time, fps, rand_frame, rand_preset," + IDS_STRING634 " // q1-q32/_qa-_qh, bass, treb_att, vol... - see docs" + IDS_STRING635 " output: float3 ret; //display pixel color (r,g,b)" + IDS_UPGRADE_SHADERS_TO_USE_PS2X + "Do you want to upgrade all shaders to use (at least) pixel shader 2.X? [y/N]" + IDS_PRESS_ESC_TO_RETURN "Press ESC to return." + IDS_COULD_NOT_LOAD_TEXTURE_X "Could not load texture: %hs.%hs" + IDS_ERROR_COMPILING_X_X_SHADER "Error compiling %hs %hs shader:\n" +END + +STRINGTABLE +BEGIN + IDS_ERROR_PARSING_X_X_SHADER "Error parsing %hs %hs shader.\n" + IDS_UNABLE_TO_RESOLVE_TEXSIZE_FOR_A_TEXTURE_NOT_IN_USE + "Unable to resolve texsize for a texture that is not in use! (%hs)" + IDS_KEY_MAPPINGS "yYYyYzZ" +END + +#endif // English (U.K.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/MilkDrop2/vis_milk2/plugin.vcproj b/src/MilkDrop2/vis_milk2/plugin.vcproj new file mode 100644 index 0000000000..84f91e70f8 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/plugin.vcproj @@ -0,0 +1,675 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/MilkDrop2/vis_milk2/plugin_icon.ico b/src/MilkDrop2/vis_milk2/plugin_icon.ico new file mode 100644 index 0000000000..a48a54f3b9 Binary files /dev/null and b/src/MilkDrop2/vis_milk2/plugin_icon.ico differ diff --git a/src/MilkDrop2/vis_milk2/pluginshell.cpp b/src/MilkDrop2/vis_milk2/pluginshell.cpp new file mode 100644 index 0000000000..55ff69b19a --- /dev/null +++ b/src/MilkDrop2/vis_milk2/pluginshell.cpp @@ -0,0 +1,3685 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +/* + TO DO + ----- + -done/v1.06: + -(nothing yet) + - + - + -to do/v1.06: + -FFT: high freq. data kinda sucks because of the 8-bit samples we get in; + look for justin to put 16-bit vis data into wa5. + -make an 'advanced view' button on config panel; hide complicated stuff + til they click that. + -put an asterisk(*) next to the 'max framerate' values that + are ideal (given the current windows display mode or selected FS dispmode). + -or add checkbox: "smart sync" + -> matches FPS limit to nearest integer divisor of refresh rate. + -debug.txt/logging support! + -audio: make it a DSP plugin? then we could get the complete, continuous waveform + and overlap our waveform windows, so we'd never miss a brief high note. + -bugs: + -vms plugins sometimes freeze after a several-minute pause; I've seen it + with most of them. hard to repro, though. + -running FS on monitor 2, hit ALT-TAB -> minimizes!!! + -but only if you let go of TAB first. Let go of ALT first and it's fine! + -> means it's related to the keyup... + -fix delayloadhelper leak; one for each launch to config panel/plugin. + -also, delayload(d3d9.dll) still leaks, if plugin has error initializing and + quits by returning false from PluginInitialize(). + -add config panel option to ignore fake-fullscreen tips + -"tip" boxes in dxcontext.cpp + -"notice" box on WM_ACTIVATEAPP? + -desktop mode: + -icon context menus: 'send to', 'cut', and 'copy' links do nothing. + -http://netez.com/2xExplorer/shellFAQ/bas_context.html + -create a 2nd texture to render all icon text labels into + (they're the sole reason that desktop mode is slow) + -in UpdateIconBitmaps, don't read the whole bitmap and THEN + realize it's a dupe; try to compare icon filename+index or somethign? + -DRAG AND DROP. COMPLICATED; MANY DETAILS. + -http://netez.com/2xExplorer/shellFAQ/adv_drag.html + -http://www.codeproject.com/shell/explorerdragdrop.asp + -hmm... you can't drag icons between the 2 desktops (ugh) + -multiple delete/open/props/etc + -delete + enter + arrow keys. + -try to solve mysteries w/ShellExecuteEx() and desktop *shortcuts* (*.lnk). + -(notice that when icons are selected, they get modulated by the + highlight color, when they should be blended 50% with that color.) + + --------------------------- + final touches: + -Tests: + -make sure desktop still functions/responds properly when winamp paused + -desktop mode + multimon: + -try desktop mode on all monitors + -try moving taskbar around; make sure icons are in the + right place, that context menus (general & for + specific icons) pop up in the right place, and that + text-off-left-edge is ok. + -try setting the 2 monitors to different/same resolutions + -check tab order of config panel controls! + -Clean All + -build in release mode to include in the ZIP + -leave only one file open in workspace: README.TXT. + -TEMPORARILY "ATTRIB -R" ALL FILES BEFORE ZIPPING THEM! + + --------------------------- + KEEP IN VIEW: + -EMBEDWND: + -kiv: on resize of embedwnd, it's out of our control; winamp + resizes the child every time the mouse position changes, + and we have to cleanup & reallocate everything, b/c we + can't tell when the resize begins & ends. + [justin said he'd fix in wa5, though] + -kiv: with embedded windows of any type (plugin, playlist, etc.) + you can't place the winamp main wnd over them. + -kiv: embedded windows are child windows and don't get the + WM_SETFOCUS or WM_KILLFOCUS messages when they get or lose + the focus. (For a workaround, see milkdrop & scroll lock key.) + -kiv: tiny bug (IGNORE): when switching between embedwnd & + no-embedding, the window gets scooted a tiny tiny bit. + -kiv: fake fullscreen mode w/multiple monitors: there is no way + to keep the taskbar from popping up [potentially overtop of + the plugin] when you click on something besides the plugin. + To get around this, use true fullscreen mode. + -kiv: max_fps implementation assumptions: + -that most computers support high-precision timer + -that no computers [regularly] sleep for more than 1-2 ms + when you call Sleep(1) after timeBeginPeriod(1). + -reminder: if vms_desktop.dll's interface needs changed, + it will have to be renamed! (version # upgrades are ok + as long as it won't break on an old version; if the + new functionality is essential, rename the DLL.) + + --------------------------- + REMEMBER: + -GF2MX + GF4 have icon scooting probs in desktop mode + (when taskbar is on upper or left edge of screen) + -Radeon is the one w/super slow text probs @ 1280x1024. + (it goes unstable after you show playlist AND helpscr; -> ~1 fps) + -Mark's win98 machine has hidden cursor (in all modes), + but no one else seems to have this problem. + -links: + -win2k-only-style desktop mode: (uses VirtualAllocEx, vs. DLL Injection) + http://www.digiwar.com/scripts/renderpage.php?section=2&subsection=2 + -http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_20096218.html +*/ + +#include "api.h" +#include "pluginshell.h" +#include "utility.h" +#include "defines.h" +#include "shell_defines.h" +#include "resource.h" +#include "vis.h" +#include +#include "../Winamp/wa_ipc.h" +#include "../nu/AutoCharFn.h" +#include +#pragma comment(lib,"winmm.lib") // for timeGetTime + +// STATE VALUES & VERTEX FORMATS FOR HELP SCREEN TEXTURE: +#define TEXT_SURFACE_NOT_READY 0 +#define TEXT_SURFACE_REQUESTED 1 +#define TEXT_SURFACE_READY 2 +#define TEXT_SURFACE_ERROR 3 +typedef struct _HELPVERTEX +{ + float x, y; // screen position + float z; // Z-buffer depth + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) + float tu, tv; // texture coordinates for texture #0 +} HELPVERTEX, *LPHELPVERTEX; +#define HELP_VERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1) +typedef struct _SIMPLEVERTEX +{ + float x, y; // screen position + float z; // Z-buffer depth + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) +} SIMPLEVERTEX, *LPSIMPLEVERTEX; +#define SIMPLE_VERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE) + +extern wchar_t* g_szHelp; +extern int g_szHelp_W; +extern winampVisModule mod1; + +// resides in vms_desktop.dll/lib: +void getItemData(int x); + + +CPluginShell::CPluginShell() +{ + // this should remain empty! +} + +CPluginShell::~CPluginShell() +{ + // this should remain empty! +} + +eScrMode CPluginShell::GetScreenMode() +{ + return m_screenmode; +}; +int CPluginShell::GetFrame() +{ + return m_frame; +}; +float CPluginShell::GetTime() +{ + return m_time; +}; +float CPluginShell::GetFps() +{ + return m_fps; +}; +HWND CPluginShell::GetPluginWindow() +{ + if (m_lpDX) return m_lpDX->GetHwnd(); else return NULL; +}; +int CPluginShell::GetWidth() +{ + if (m_lpDX) return m_lpDX->m_client_width; else return 0; +}; +int CPluginShell::GetHeight() +{ + if (m_lpDX) return m_lpDX->m_client_height; else return 0; +}; +int CPluginShell::GetCanvasMarginX() +{ + if (m_lpDX && m_screenmode==WINDOWED) return (m_lpDX->m_client_width - m_lpDX->m_REAL_client_width)/2; else return 0; +}; +int CPluginShell::GetCanvasMarginY() +{ + if (m_lpDX && m_screenmode==WINDOWED) return (m_lpDX->m_client_height - m_lpDX->m_REAL_client_height)/2; else return 0; +}; +HWND CPluginShell::GetWinampWindow() +{ + return m_hWndWinamp; +}; +HINSTANCE CPluginShell::GetInstance() +{ + return m_hInstance; +}; +wchar_t* CPluginShell::GetPluginsDirPath() +{ + return m_szPluginsDirPath; +}; +wchar_t* CPluginShell::GetConfigIniFile() +{ + return m_szConfigIniFile; +}; +char* CPluginShell::GetConfigIniFileA() +{ + return m_szConfigIniFileA; +} +int CPluginShell::GetFontHeight(eFontIndex idx) +{ + if (idx >= 0 && idx < NUM_BASIC_FONTS + NUM_EXTRA_FONTS) return m_fontinfo[idx].nSize; else return 0; +}; +int CPluginShell::GetBitDepth() +{ + return m_lpDX->GetBitDepth(); +}; +LPDIRECT3DDEVICE9 CPluginShell::GetDevice() +{ + if (m_lpDX) return m_lpDX->m_lpDevice; else return NULL; +}; +D3DCAPS9* CPluginShell::GetCaps() +{ + if (m_lpDX) return &(m_lpDX->m_caps); else return NULL; +}; +D3DFORMAT CPluginShell::GetBackBufFormat() +{ + if (m_lpDX) return m_lpDX->m_current_mode.display_mode.Format; else return D3DFMT_UNKNOWN; +}; +D3DFORMAT CPluginShell::GetBackBufZFormat() +{ + if (m_lpDX) return m_lpDX->GetZFormat(); else return D3DFMT_UNKNOWN; +}; +LPD3DXFONT CPluginShell::GetFont(eFontIndex idx) +{ + if (idx >= 0 && idx < NUM_BASIC_FONTS + NUM_EXTRA_FONTS) return m_d3dx_font[idx]; else return NULL; +}; +char* CPluginShell::GetDriverFilename() +{ + if (m_lpDX) return m_lpDX->GetDriver(); else return NULL; +}; +char* CPluginShell::GetDriverDescription() +{ + if (m_lpDX) return m_lpDX->GetDesc(); else return NULL; +}; + +int CPluginShell::InitNondx9Stuff() +{ + timeBeginPeriod(1); + m_fftobj.Init(576, NUM_FREQUENCIES); + if (!InitGDIStuff()) return false; + return AllocateMyNonDx9Stuff(); +} + +void CPluginShell::CleanUpNondx9Stuff() +{ + timeEndPeriod(1); + CleanUpMyNonDx9Stuff(); + CleanUpGDIStuff(); + m_fftobj.CleanUp(); +} + +int CPluginShell::InitGDIStuff() +{ + wchar_t title[64]; + // note: messagebox parent window should be NULL here, because lpDX is still NULL! + for (int i=0; iGetAdapterCount(); + for (int i=0; iGetAdapterIdentifier(i, /*D3DENUM_NO_WHQL_LEVEL*/ 0, &temp) == D3D_OK) && + (memcmp(&temp.DeviceIdentifier, &m_adapter_guid_windowed, sizeof(GUID))==0)) + { + ordinal_adapter = i; + break; + } + } + + // Get current display mode for windowed-mode adapter: + D3DDISPLAYMODE dm; + if (D3D_OK != m_vjd3d9->GetAdapterDisplayMode(ordinal_adapter, &dm)) + { + MessageBoxW(NULL, WASABI_API_LNGSTRINGW(IDS_VJ_MODE_INIT_ERROR), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + // And get the upper-left corner of the monitor for it: + HMONITOR hMon = m_vjd3d9->GetAdapterMonitor(ordinal_adapter); + if (hMon) + { + MONITORINFO mi; + mi.cbSize = sizeof(mi); + if (GetMonitorInfo(hMon, &mi)) + { + upper_left_corner.x = mi.rcWork.left; + upper_left_corner.y = mi.rcWork.top; + } + } + + // CREATE THE WINDOW + + RECT rect; + if (pClientRect) + { + rect = *pClientRect; + AdjustWindowRect(&rect, dwStyle, 0); // convert client->wnd + } + else + { + SetRect(&rect, 0, 0, 384, 384); + AdjustWindowRect(&rect, dwStyle, 0); // convert client->wnd + + rect.right -= rect.left; + rect.left = 0; + rect.bottom -= rect.top; + rect.top = 0; + + rect.top += upper_left_corner.y+32; + rect.left += upper_left_corner.x+32; + rect.right += upper_left_corner.x+32; + rect.bottom += upper_left_corner.y+32; + } + + WNDCLASS wc = {0}; + wc.lpfnWndProc = VJModeWndProc; // our window procedure + wc.hInstance = GetInstance(); // hInstance of DLL + wc.hIcon = LoadIcon(GetInstance(), MAKEINTRESOURCE(IDI_PLUGIN_ICON)); + wc.lpszClassName = TEXT_WINDOW_CLASSNAME; // our window class name + wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; // CS_DBLCLKS lets the window receive WM_LBUTTONDBLCLK, for toggling fullscreen mode... + wc.cbWndExtra = sizeof(DWORD); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH); + + if (!RegisterClass(&wc)) + { + MessageBoxW(NULL, WASABI_API_LNGSTRINGW(IDS_ERROR_REGISTERING_WINDOW_CLASS_FOR_TEXT_WINDOW), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + m_bTextWindowClassRegistered = true; + + //DWORD nThreadID; + //CreateThread(NULL, 0, TextWindowThread, &rect, 0, &nThreadID); + + // Create the text window + m_hTextWnd = CreateWindowEx( + 0, + TEXT_WINDOW_CLASSNAME, // our window class name + TEXT_WINDOW_CLASSNAME, // use description for a window title + dwStyle, + rect.left, rect.top, // screen position (read from config) + rect.right - rect.left, rect.bottom - rect.top, // width & height of window (need to adjust client area later) + NULL, // parent window (winamp main window) + NULL, // no menu + GetInstance(), // hInstance of DLL + NULL + ); // no window creation data + + if (!m_hTextWnd) + { + MessageBoxW(NULL, WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_VJ_WINDOW), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + SetWindowLongPtr(m_hTextWnd, GWLP_USERDATA, (LONG_PTR)this); + + GetClientRect(m_hTextWnd, &rect); + m_nTextWndWidth = rect.right-rect.left; + m_nTextWndHeight = rect.bottom-rect.top; + + + // Create the device + D3DPRESENT_PARAMETERS pres_param; + ZeroMemory(&pres_param,sizeof(pres_param)); + pres_param.BackBufferCount = 0; + pres_param.BackBufferFormat = dm.Format; + pres_param.BackBufferWidth = rect.right - rect.left; + pres_param.BackBufferHeight = rect.bottom - rect.top; + pres_param.hDeviceWindow = m_hTextWnd; + pres_param.AutoDepthStencilFormat = D3DFMT_D16; + pres_param.EnableAutoDepthStencil = FALSE; + pres_param.SwapEffect = D3DSWAPEFFECT_DISCARD; + pres_param.MultiSampleType = D3DMULTISAMPLE_NONE; + pres_param.Flags = 0; + pres_param.FullScreen_RefreshRateInHz = 0; + pres_param.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;//D3DPRESENT_INTERVAL_ONE;//D3DPRESENT_INTERVAL_IMMEDIATE;//m_current_mode.allow_page_tearing ? D3DPRESENT_INTERVAL_IMMEDIATE : D3DPRESENT_INTERVAL_ONE;//D3DPRESENT_INTERVAL_IMMEDIATE;//D3DPRESENT_INTERVAL_ONE; + //pres_param.FullScreen_PresentationInterval = 0; + pres_param.Windowed = TRUE; + + HRESULT hr; + if (D3D_OK != (hr = m_vjd3d9->CreateDevice(ordinal_adapter,//D3DADAPTER_DEFAULT, + D3DDEVTYPE_HAL, + m_hTextWnd, + D3DCREATE_SOFTWARE_VERTEXPROCESSING, + &pres_param, + &m_vjd3d9_device))) + { + m_vjd3d9_device = NULL; + MessageBoxW(m_lpDX->GetHwnd(), WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_D3D_DEVICE_FOR_VJ_MODE), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + if (!AllocateFonts(m_vjd3d9_device)) + return false; + + if (m_fix_slow_text) // note that when not doing vj mode, m_lpDDSText is allocated in AllocateDX9Stuff + AllocateTextSurface(); + + m_text.Finish(); + m_text.Init(m_vjd3d9_device, m_lpDDSText, 0); + + m_bClearVJWindow = true; + } + + return true; +} + +void CPluginShell::CleanUpVJStuff() +{ + // ALWAYS set the textures to NULL before releasing textures, + // otherwise they might still have a hanging reference! + if (m_lpDX && m_lpDX->m_lpDevice) + { + for (int i=0; i<16; i++) + m_lpDX->m_lpDevice->SetTexture(i, NULL); + } + + if (m_vjd3d9_device) + { + for (int i=0; i<16; i++) + m_vjd3d9_device->SetTexture(i, NULL); + } + + if (!m_vj_mode) + return; + + // clean up VJ mode + { + CleanUpFonts(); + SafeRelease(m_lpDDSText); + + SafeRelease(m_vjd3d9_device); + SafeRelease(m_vjd3d9); + + if (m_hTextWnd) + { + //dumpmsg("Finish: destroying text window"); + DestroyWindow(m_hTextWnd); + m_hTextWnd = NULL; + //dumpmsg("Finish: text window destroyed"); + } + + if (m_bTextWindowClassRegistered) + { + //dumpmsg("Finish: unregistering text window class"); + UnregisterClass(TEXT_WINDOW_CLASSNAME,GetInstance()); // unregister window class + m_bTextWindowClassRegistered = false; + //dumpmsg("Finish: text window class unregistered"); + } + } +} + +int CPluginShell::AllocateFonts(IDirect3DDevice9* pDevice) +{ + // Create D3DX system font: + for (int i=0; iGetHwnd() : NULL, WASABI_API_LNGSTRINGW(IDS_ERROR_CREATING_D3DX_FONTS), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + // get actual font heights + for (i=0; iDrawText(NULL, "M", -1, &r, DT_CALCRECT, 0xFFFFFFFF); + if (h>0) m_fontinfo[i].nSize = h; + } + + return true; +} + +void CPluginShell::CleanUpFonts() +{ + for (int i=0; iGetLevelDesc(0, &desc)) + { + if ((desc.Width < 256 && w >= 256) || + (desc.Height < 256 && h >= 256) || + (desc.Width /(float)w < 0.74f) || + (desc.Height/(float)h < 0.74f) + ) + { + m_lpDDSText->Release(); + m_lpDDSText = NULL; + } + } + } +} + +int CPluginShell::AllocateDX9Stuff() +{ + if (!m_vj_mode) + { + AllocateFonts(m_lpDX->m_lpDevice); + if (m_fix_slow_text) // note that when not doing vj mode, m_lpDDSText is allocated in AllocateDX9Stuff + AllocateTextSurface(); + } + + /* + // Create D3DX system font: + for (int i=0; im_lpDevice, + m_fontinfo[i].nSize, + m_fontinfo[i].nSize*4/10, + m_fontinfo[i].bBold ? 900 : 400, + 0, // mip levels + m_fontinfo[i].bItalic, + DEFAULT_CHARSET, + OUT_DEFAULT_PRECIS, + m_fontinfo[i].bAntiAliased ? ANTIALIASED_QUALITY : DEFAULT_QUALITY, + DEFAULT_PITCH, + m_fontinfo[i].szFace, + &m_d3dx_font[i] + ) != D3D_OK) + { + MessageBox(m_lpDX->GetHwnd(), "Error creating D3DX fonts", "ERROR", MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + // get actual font heights + for (i=0; iDrawText(NULL, "M", -1, &r, DT_CALCRECT, 0xFFFFFFFF); + if (h>0) m_fontinfo[i].nSize = h; + } + */ + + if (m_screenmode == DESKTOP) + if (!InitDesktopMode()) + return false; + + int ret = AllocateMyDX9Stuff(); + + // invalidate various 'caches' here: + m_playlist_top_idx = -1; // invalidating playlist cache forces recompute of playlist width + //m_icon_list.clear(); // clear desktop mode icon list, so it has to read the bitmaps back in + + if (!m_vj_mode) + { + m_text.Finish(); + m_text.Init(GetDevice(), m_lpDDSText, 1); + } + + return ret; +} + +void CPluginShell::CleanUpDX9Stuff(int final_cleanup) +{ + // ALWAYS unbind the textures before releasing textures, + // otherwise they might still have a hanging reference! + if (m_lpDX && m_lpDX->m_lpDevice) + { + for (int i=0; i<16; i++) + m_lpDX->m_lpDevice->SetTexture(i, NULL); + } + + if (m_screenmode == DESKTOP) + CleanUpDesktopMode(); + + if (!m_vj_mode) + { + for (int i=0; im_ready = false; // flag to exit + return; + } + } + + // save the new window position: + //if (wp.showCmd==SW_SHOWNORMAL) + // SaveTextWindowPos(); + } +} + +void CPluginShell::OnUserResizeWindow() +{ + // Update window properties + RECT w, c; + GetWindowRect(m_lpDX->GetHwnd(), &w); + GetClientRect(m_lpDX->GetHwnd(), &c); + + WINDOWPLACEMENT wp; + ZeroMemory(&wp, sizeof(wp)); + wp.length = sizeof(wp); + GetWindowPlacement(m_lpDX->GetHwnd(), &wp); + + // convert client rect from client coords to screen coords: + // (window rect is already in screen coords...) + POINT p; + p.x = c.left; + p.y = c.top; + if (ClientToScreen(m_lpDX->GetHwnd(), &p)) + { + c.left += p.x; + c.right += p.x; + c.top += p.y; + c.bottom += p.y; + } + + if (wp.showCmd != SW_SHOWMINIMIZED) + { + int new_REAL_client_w = c.right-c.left; + int new_REAL_client_h = c.bottom-c.top; + + // kiv: could we just resize when the *snapped* w/h changes? slightly more ideal... + if (m_lpDX->m_REAL_client_width != new_REAL_client_w || + m_lpDX->m_REAL_client_height != new_REAL_client_h) + { + //CleanUpVJStuff(); + CleanUpDX9Stuff(0); + if (!m_lpDX->OnUserResizeWindow(&w, &c)) + { + // note: a basic warning messagebox will have already been given. + // now suggest specific advice on how to regain more video memory: + SuggestHowToFreeSomeMem(); + return; + } + if (!AllocateDX9Stuff()) + { + m_lpDX->m_ready = false; // flag to exit + return; + } + /*if (!InitVJStuff()) + { + m_lpDX->m_ready = false; // flag to exit + return; + }*/ + } + + // save the new window position: + if (wp.showCmd==SW_SHOWNORMAL) + m_lpDX->SaveWindow(); + } +} + +void CPluginShell::StuffParams(DXCONTEXT_PARAMS *pParams) +{ + pParams->screenmode = m_screenmode; + pParams->display_mode = m_disp_mode_fs; + pParams->nbackbuf = 1; + pParams->m_dualhead_horz = m_dualhead_horz; + pParams->m_dualhead_vert = m_dualhead_vert; + pParams->m_skin = (m_screenmode==WINDOWED) ? m_skin : 0; + switch (m_screenmode) + { + case WINDOWED: + pParams->allow_page_tearing = m_allow_page_tearing_w; + pParams->adapter_guid = m_adapter_guid_windowed; + pParams->multisamp = m_multisample_windowed; + strcpy(pParams->adapter_devicename, m_adapter_devicename_windowed); + break; + case FULLSCREEN: + case FAKE_FULLSCREEN: + pParams->allow_page_tearing = m_allow_page_tearing_fs; + pParams->adapter_guid = m_adapter_guid_fullscreen; + pParams->multisamp = m_multisample_fullscreen; + strcpy(pParams->adapter_devicename, m_adapter_devicename_fullscreen); + break; + case DESKTOP: + pParams->allow_page_tearing = m_allow_page_tearing_dm; + pParams->adapter_guid = m_adapter_guid_desktop; + pParams->multisamp = m_multisample_desktop; + strcpy(pParams->adapter_devicename, m_adapter_devicename_desktop); + break; + } + pParams->parent_window = (m_screenmode==DESKTOP) ? m_hWndDesktopListView : NULL; +} + +void CPluginShell::ToggleDesktop() +{ + CleanUpDX9Stuff(0); + + switch (m_screenmode) + { + case WINDOWED: + case FULLSCREEN: + case FAKE_FULLSCREEN: + m_screenmode = DESKTOP; + break; + case DESKTOP: + m_screenmode = WINDOWED; + break; + } + + DXCONTEXT_PARAMS params; + StuffParams(¶ms); + + if (!m_lpDX->StartOrRestartDevice(¶ms)) + { + // note: a basic warning messagebox will have already been given. + if (m_lpDX->m_lastErr == DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY) + SuggestHowToFreeSomeMem(); + return; + } + + if (!AllocateDX9Stuff()) + { + m_lpDX->m_ready = false; // flag to exit + return; + } + + SetForegroundWindow(m_lpDX->GetHwnd()); + SetActiveWindow(m_lpDX->GetHwnd()); + SetFocus(m_lpDX->GetHwnd()); +} + +#define IPC_IS_PLAYING_VIDEO 501 // from wa_ipc.h +#define IPC_SET_VIS_FS_FLAG 631 // a vis should send this message with 1/as param to notify winamp that it has gone to or has come back from fullscreen mode + +void CPluginShell::ToggleFullScreen() +{ + CleanUpDX9Stuff(0); + + switch (m_screenmode) + { + case DESKTOP: + case WINDOWED: + m_screenmode = m_fake_fullscreen_mode ? FAKE_FULLSCREEN : FULLSCREEN; + if (m_screenmode == FULLSCREEN && SendMessage(GetWinampWindow(), WM_WA_IPC, 0, IPC_IS_PLAYING_VIDEO) > 1) + { + m_screenmode = FAKE_FULLSCREEN; + } + SendMessage(GetWinampWindow(), WM_WA_IPC, 1, IPC_SET_VIS_FS_FLAG); + break; + case FULLSCREEN: + case FAKE_FULLSCREEN: + m_screenmode = WINDOWED; + SendMessage(GetWinampWindow(), WM_WA_IPC, 0, IPC_SET_VIS_FS_FLAG); + break; + } + + DXCONTEXT_PARAMS params; + StuffParams(¶ms); + + if (!m_lpDX->StartOrRestartDevice(¶ms)) + { + // note: a basic warning messagebox will have already been given. + if (m_lpDX->m_lastErr == DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY) + SuggestHowToFreeSomeMem(); + return; + } + + if (!AllocateDX9Stuff()) + { + m_lpDX->m_ready = false; // flag to exit + return; + } + + SetForegroundWindow(m_lpDX->GetHwnd()); + SetActiveWindow(m_lpDX->GetHwnd()); + SetFocus(m_lpDX->GetHwnd()); +} + +void CPluginShell::ToggleHelp() +{ + m_show_help = 1-m_show_help; + int ret = CheckMenuItem(m_context_menu, ID_SHOWHELP, MF_BYCOMMAND | (m_show_help ? MF_CHECKED : MF_UNCHECKED)); +} + +void CPluginShell::TogglePlaylist() +{ + m_show_playlist = 1-m_show_playlist; + m_playlist_top_idx = -1; // <- invalidates playlist cache + int ret = CheckMenuItem(m_context_menu, ID_SHOWPLAYLIST, MF_BYCOMMAND | (m_show_playlist ? MF_CHECKED : MF_UNCHECKED)); +} + +int CPluginShell::InitDirectX() +{ + m_lpDX = new DXContext(m_hWndWinamp,m_hInstance,CLASSNAME,WINDOWCAPTION,CPluginShell::WindowProc,(LONG_PTR)this, m_minimize_winamp, m_szConfigIniFile); + + if (!m_lpDX) + { + wchar_t title[64]; + MessageBoxW(NULL, WASABI_API_LNGSTRINGW(IDS_UNABLE_TO_INIT_DXCONTEXT), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return FALSE; + } + + if (m_lpDX->m_lastErr != S_OK) + { + // warning messagebox will have already been given + delete m_lpDX; + return FALSE; + } + + // initialize graphics + DXCONTEXT_PARAMS params; + StuffParams(¶ms); + + if (!m_lpDX->StartOrRestartDevice(¶ms)) + { + // note: a basic warning messagebox will have already been given. + + if (m_lpDX->m_lastErr == DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY) + { + // suggest specific advice on how to regain more video memory: + SuggestHowToFreeSomeMem(); + } + + delete m_lpDX; + m_lpDX = NULL; + return FALSE; + } + + return TRUE; +} + +void CPluginShell::CleanUpDirectX() +{ + SafeDelete(m_lpDX); +} + +int CPluginShell::PluginPreInitialize(HWND hWinampWnd, HINSTANCE hWinampInstance) +{ + // PROTECTED CONFIG PANEL SETTINGS (also see 'private' settings, below) + m_start_fullscreen = 0; + m_start_desktop = 0; + m_fake_fullscreen_mode = 0; + m_max_fps_fs = 30; + m_max_fps_dm = 30; + m_max_fps_w = 30; + m_show_press_f1_msg = 1; + m_allow_page_tearing_w = 1; + m_allow_page_tearing_fs = 0; + m_allow_page_tearing_dm = 0; + m_minimize_winamp = 1; + m_desktop_show_icons = 1; + m_desktop_textlabel_boxes = 1; + m_desktop_manual_icon_scoot = 0; + m_desktop_555_fix = 2; + m_dualhead_horz = 2; + m_dualhead_vert = 1; + m_save_cpu = 1; + m_skin = 1; + m_fix_slow_text = 0; + + // initialize font settings: + wcscpy(m_fontinfo[SIMPLE_FONT ].szFace, SIMPLE_FONT_DEFAULT_FACE); + m_fontinfo[SIMPLE_FONT ].nSize = SIMPLE_FONT_DEFAULT_SIZE ; + m_fontinfo[SIMPLE_FONT ].bBold = SIMPLE_FONT_DEFAULT_BOLD ; + m_fontinfo[SIMPLE_FONT ].bItalic = SIMPLE_FONT_DEFAULT_ITAL ; + m_fontinfo[SIMPLE_FONT ].bAntiAliased = SIMPLE_FONT_DEFAULT_AA ; + wcscpy(m_fontinfo[DECORATIVE_FONT].szFace, DECORATIVE_FONT_DEFAULT_FACE); + m_fontinfo[DECORATIVE_FONT].nSize = DECORATIVE_FONT_DEFAULT_SIZE; + m_fontinfo[DECORATIVE_FONT].bBold = DECORATIVE_FONT_DEFAULT_BOLD; + m_fontinfo[DECORATIVE_FONT].bItalic = DECORATIVE_FONT_DEFAULT_ITAL; + m_fontinfo[DECORATIVE_FONT].bAntiAliased = DECORATIVE_FONT_DEFAULT_AA ; + wcscpy(m_fontinfo[HELPSCREEN_FONT].szFace, HELPSCREEN_FONT_DEFAULT_FACE); + m_fontinfo[HELPSCREEN_FONT].nSize = HELPSCREEN_FONT_DEFAULT_SIZE; + m_fontinfo[HELPSCREEN_FONT].bBold = HELPSCREEN_FONT_DEFAULT_BOLD; + m_fontinfo[HELPSCREEN_FONT].bItalic = HELPSCREEN_FONT_DEFAULT_ITAL; + m_fontinfo[HELPSCREEN_FONT].bAntiAliased = HELPSCREEN_FONT_DEFAULT_AA ; + wcscpy(m_fontinfo[PLAYLIST_FONT ].szFace, PLAYLIST_FONT_DEFAULT_FACE); + m_fontinfo[PLAYLIST_FONT ].nSize = PLAYLIST_FONT_DEFAULT_SIZE; + m_fontinfo[PLAYLIST_FONT ].bBold = PLAYLIST_FONT_DEFAULT_BOLD; + m_fontinfo[PLAYLIST_FONT ].bItalic = PLAYLIST_FONT_DEFAULT_ITAL; + m_fontinfo[PLAYLIST_FONT ].bAntiAliased = PLAYLIST_FONT_DEFAULT_AA ; + +#if (NUM_EXTRA_FONTS >= 1) + wcscpy(m_fontinfo[NUM_BASIC_FONTS + 0].szFace, EXTRA_FONT_1_DEFAULT_FACE); + m_fontinfo[NUM_BASIC_FONTS + 0].nSize = EXTRA_FONT_1_DEFAULT_SIZE; + m_fontinfo[NUM_BASIC_FONTS + 0].bBold = EXTRA_FONT_1_DEFAULT_BOLD; + m_fontinfo[NUM_BASIC_FONTS + 0].bItalic = EXTRA_FONT_1_DEFAULT_ITAL; + m_fontinfo[NUM_BASIC_FONTS + 0].bAntiAliased = EXTRA_FONT_1_DEFAULT_AA; +#endif +#if (NUM_EXTRA_FONTS >= 2) + wcscpy(m_fontinfo[NUM_BASIC_FONTS + 1].szFace, EXTRA_FONT_2_DEFAULT_FACE); + m_fontinfo[NUM_BASIC_FONTS + 1].nSize = EXTRA_FONT_2_DEFAULT_SIZE; + m_fontinfo[NUM_BASIC_FONTS + 1].bBold = EXTRA_FONT_2_DEFAULT_BOLD; + m_fontinfo[NUM_BASIC_FONTS + 1].bItalic = EXTRA_FONT_2_DEFAULT_ITAL; + m_fontinfo[NUM_BASIC_FONTS + 1].bAntiAliased = EXTRA_FONT_2_DEFAULT_AA; +#endif +#if (NUM_EXTRA_FONTS >= 3) + strcpy(m_fontinfo[NUM_BASIC_FONTS + 2].szFace, EXTRA_FONT_3_DEFAULT_FACE); + m_fontinfo[NUM_BASIC_FONTS + 2].nSize = EXTRA_FONT_3_DEFAULT_SIZE; + m_fontinfo[NUM_BASIC_FONTS + 2].bBold = EXTRA_FONT_3_DEFAULT_BOLD; + m_fontinfo[NUM_BASIC_FONTS + 2].bItalic = EXTRA_FONT_3_DEFAULT_ITAL; + m_fontinfo[NUM_BASIC_FONTS + 2].bAntiAliased = EXTRA_FONT_3_DEFAULT_AA; +#endif +#if (NUM_EXTRA_FONTS >= 4) + strcpy(m_fontinfo[NUM_BASIC_FONTS + 3].szFace, EXTRA_FONT_4_DEFAULT_FACE); + m_fontinfo[NUM_BASIC_FONTS + 3].nSize = EXTRA_FONT_4_DEFAULT_SIZE; + m_fontinfo[NUM_BASIC_FONTS + 3].bBold = EXTRA_FONT_4_DEFAULT_BOLD; + m_fontinfo[NUM_BASIC_FONTS + 3].bItalic = EXTRA_FONT_4_DEFAULT_ITAL; + m_fontinfo[NUM_BASIC_FONTS + 3].bAntiAliased = EXTRA_FONT_4_DEFAULT_AA; +#endif +#if (NUM_EXTRA_FONTS >= 5) + strcpy(m_fontinfo[NUM_BASIC_FONTS + 4].szFace, EXTRA_FONT_5_DEFAULT_FACE); + m_fontinfo[NUM_BASIC_FONTS + 4].nSize = EXTRA_FONT_5_DEFAULT_SIZE; + m_fontinfo[NUM_BASIC_FONTS + 4].bBold = EXTRA_FONT_5_DEFAULT_BOLD; + m_fontinfo[NUM_BASIC_FONTS + 4].bItalic = EXTRA_FONT_5_DEFAULT_ITAL; + m_fontinfo[NUM_BASIC_FONTS + 4].bAntiAliased = EXTRA_FONT_5_DEFAULT_AA; +#endif + + m_disp_mode_fs.Width = DEFAULT_FULLSCREEN_WIDTH; + m_disp_mode_fs.Height = DEFAULT_FULLSCREEN_HEIGHT; + m_disp_mode_fs.Format = D3DFMT_UNKNOWN; + m_disp_mode_fs.RefreshRate = 60; + // better yet - in case there is no config INI file saved yet, use the current display mode (if detectable) as the default fullscreen res: + DEVMODE dm; + dm.dmSize = sizeof(dm); + dm.dmDriverExtra = 0; + if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm)) + { + m_disp_mode_fs.Width = dm.dmPelsWidth; + m_disp_mode_fs.Height = dm.dmPelsHeight; + m_disp_mode_fs.RefreshRate = dm.dmDisplayFrequency; + m_disp_mode_fs.Format = (dm.dmBitsPerPel==16) ? D3DFMT_R5G6B5 : D3DFMT_X8R8G8B8; + } + + // PROTECTED STRUCTURES/POINTERS + for (int i=0; i= m_szPluginsDirPath && *p != L'\\') p--; + if (++p >= m_szPluginsDirPath) *p = 0; + } + + if (hWinampWnd + && (p = (wchar_t *)SendMessage(hWinampWnd, WM_WA_IPC, 0, IPC_GETINIDIRECTORYW)) + && p != (wchar_t *)1) + { + // load settings as well as coping with moving old settings to a contained folder + wchar_t m_szOldConfigIniFile[MAX_PATH] = {0}, temp[MAX_PATH] = {0}, temp2[MAX_PATH] = {0}; + swprintf(m_szOldConfigIniFile, L"%s\\Plugins\\%s", p, INIFILE); + swprintf(m_szConfigIniFile, L"%s\\Plugins\\%s%s", p, SUBDIR, INIFILE); + swprintf(temp, L"%s\\Plugins\\%s", p, SUBDIR); + swprintf(temp2, L"%s\\Plugins\\", p); + CreateDirectoryW(temp, NULL); + + if (PathFileExistsW(m_szOldConfigIniFile) && !PathFileExistsW(m_szConfigIniFile)) + { + MoveFileW(m_szOldConfigIniFile, m_szConfigIniFile); + + wchar_t m_szMsgIniFile[MAX_PATH] = {0}, m_szNewMsgIniFile[MAX_PATH] = {0}, + m_szImgIniFile[MAX_PATH] = {0}, m_szNewImgIniFile[MAX_PATH] = {0}, + m_szAdaptersFile[MAX_PATH] = {0}, m_szNewAdaptersFile[MAX_PATH] = {0}; + swprintf(m_szMsgIniFile, L"%s%s", temp2, MSG_INIFILE); + swprintf(m_szNewMsgIniFile, L"%s%s", temp, MSG_INIFILE); + swprintf(m_szImgIniFile, L"%s%s", temp2, IMG_INIFILE); + swprintf(m_szNewImgIniFile, L"%s%s", temp, IMG_INIFILE); + swprintf(m_szAdaptersFile, L"%s%s", temp2, ADAPTERSFILE); + swprintf(m_szNewAdaptersFile, L"%s%s", temp, ADAPTERSFILE); + + MoveFileW(m_szImgIniFile, m_szNewImgIniFile); + MoveFileW(m_szMsgIniFile, m_szNewMsgIniFile); + MoveFileW(m_szAdaptersFile, m_szNewAdaptersFile); + } + } + else + { + swprintf(m_szConfigIniFile, L"%s%s", m_szPluginsDirPath, INIFILE); + } + lstrcpyn(m_szConfigIniFileA,AutoCharFn(m_szConfigIniFile),MAX_PATH); + + // PRIVATE CONFIG PANEL SETTINGS + m_multisample_fullscreen = D3DMULTISAMPLE_NONE; + m_multisample_desktop = D3DMULTISAMPLE_NONE; + m_multisample_windowed = D3DMULTISAMPLE_NONE; + ZeroMemory(&m_adapter_guid_fullscreen, sizeof(GUID)); + ZeroMemory(&m_adapter_guid_desktop , sizeof(GUID)); + ZeroMemory(&m_adapter_guid_windowed , sizeof(GUID)); + m_adapter_devicename_windowed[0] = 0; + m_adapter_devicename_fullscreen[0] = 0; + m_adapter_devicename_desktop[0] = 0; + + + // PRIVATE RUNTIME SETTINGS + m_lost_focus = 0; + m_hidden = 0; + m_resizing = 0; + m_show_help = 0; + m_show_playlist = 0; + m_playlist_pos = 0; + m_playlist_pageups = 0; + m_playlist_top_idx = -1; + m_playlist_btm_idx = -1; + // m_playlist_width_pixels will be considered invalid whenever 'm_playlist_top_idx' is -1. + // m_playlist[256][256] will be considered invalid whenever 'm_playlist_top_idx' is -1. + m_exiting = 0; + m_upper_left_corner_y = 0; + m_lower_left_corner_y = 0; + m_upper_right_corner_y = 0; + m_lower_right_corner_y = 0; + m_left_edge = 0; + m_right_edge = 0; + m_force_accept_WM_WINDOWPOSCHANGING = 0; + + // PRIVATE - GDI STUFF + m_main_menu = NULL; + m_context_menu = NULL; + for (i=0; i 1) + { + m_screenmode = FAKE_FULLSCREEN; + } + } + else if (m_start_desktop) + m_screenmode = DESKTOP; + else + m_screenmode = WINDOWED; + + MyPreInitialize(); + MyReadConfig(); + + //----- + + return TRUE; +} + +int CPluginShell::PluginInitialize() +{ + // note: initialize GDI before DirectX. Also separate them because + // when we change windowed<->fullscreen, or lose the device and restore it, + // we don't want to mess with any (persistent) GDI stuff. + + if (!InitDirectX()) return FALSE; // gives its own error messages + if (!InitNondx9Stuff()) return FALSE; // gives its own error messages + if (!AllocateDX9Stuff()) return FALSE; // gives its own error messages + if (!InitVJStuff()) return FALSE; + + return TRUE; +} + +void CPluginShell::PluginQuit() +{ + CleanUpVJStuff(); + CleanUpDX9Stuff(1); + CleanUpNondx9Stuff(); + CleanUpDirectX(); + + SetFocus(m_hWndWinamp); + SetActiveWindow(m_hWndWinamp); + SetForegroundWindow(m_hWndWinamp); +} + +wchar_t* BuildSettingName(wchar_t* name, int number){ +static wchar_t temp[64]; + swprintf(temp, L"%s%d", name, number); + return temp; +} + +void CPluginShell::READ_FONT(int n){ + GetPrivateProfileStringW(L"settings",BuildSettingName(L"szFontFace",n),m_fontinfo[n].szFace,m_fontinfo[n].szFace,sizeof(m_fontinfo[n].szFace), m_szConfigIniFile); + m_fontinfo[n].nSize = GetPrivateProfileIntW(L"settings",BuildSettingName(L"nFontSize",n),m_fontinfo[n].nSize ,m_szConfigIniFile); + m_fontinfo[n].bBold = GetPrivateProfileIntW(L"settings",BuildSettingName(L"bFontBold",n),m_fontinfo[n].bBold ,m_szConfigIniFile); + m_fontinfo[n].bItalic = GetPrivateProfileIntW(L"settings",BuildSettingName(L"bFontItalic",n),m_fontinfo[n].bItalic,m_szConfigIniFile); + m_fontinfo[n].bAntiAliased = GetPrivateProfileIntW(L"settings",BuildSettingName(L"bFontAA",n),m_fontinfo[n].bItalic,m_szConfigIniFile); +} + +void CPluginShell::ReadConfig() +{ + int old_ver = GetPrivateProfileIntW(L"settings",L"version" ,-1,m_szConfigIniFile); + int old_subver = GetPrivateProfileIntW(L"settings",L"subversion",-1,m_szConfigIniFile); + + // nuke old settings from prev. version: + if (old_ver < INT_VERSION) + return; + else if (old_subver < INT_SUBVERSION) + return; + + //D3DMULTISAMPLE_TYPE m_multisample_fullscreen; + //D3DMULTISAMPLE_TYPE m_multisample_desktop; + //D3DMULTISAMPLE_TYPE m_multisample_windowed; + m_multisample_fullscreen = (D3DMULTISAMPLE_TYPE)GetPrivateProfileIntW(L"settings",L"multisample_fullscreen",m_multisample_fullscreen,m_szConfigIniFile); + m_multisample_desktop = (D3DMULTISAMPLE_TYPE)GetPrivateProfileIntW(L"settings",L"multisample_desktop",m_multisample_desktop,m_szConfigIniFile); + m_multisample_windowed = (D3DMULTISAMPLE_TYPE)GetPrivateProfileIntW(L"settings",L"multisample_windowed" ,m_multisample_windowed ,m_szConfigIniFile); + + //GUID m_adapter_guid_fullscreen + //GUID m_adapter_guid_desktop + //GUID m_adapter_guid_windowed + char str[256]; + GetPrivateProfileString("settings","adapter_guid_fullscreen","",str,sizeof(str)-1,m_szConfigIniFileA); + TextToGuid(str, &m_adapter_guid_fullscreen); + GetPrivateProfileString("settings","adapter_guid_desktop","",str,sizeof(str)-1,m_szConfigIniFileA); + TextToGuid(str, &m_adapter_guid_desktop); + GetPrivateProfileString("settings","adapter_guid_windowed","",str,sizeof(str)-1,m_szConfigIniFileA); + TextToGuid(str, &m_adapter_guid_windowed); + GetPrivateProfileString("settings","adapter_devicename_fullscreen","",m_adapter_devicename_fullscreen,sizeof(m_adapter_devicename_fullscreen)-1,m_szConfigIniFileA); + GetPrivateProfileString("settings","adapter_devicename_desktop", "",m_adapter_devicename_desktop ,sizeof(m_adapter_devicename_desktop)-1,m_szConfigIniFileA); + GetPrivateProfileString("settings","adapter_devicename_windowed", "",m_adapter_devicename_windowed ,sizeof(m_adapter_devicename_windowed)-1,m_szConfigIniFileA); + + // FONTS + READ_FONT(0); + READ_FONT(1); + READ_FONT(2); + READ_FONT(3); +#if (NUM_EXTRA_FONTS >= 1) + READ_FONT(4); +#endif +#if (NUM_EXTRA_FONTS >= 2) + READ_FONT(5); +#endif +#if (NUM_EXTRA_FONTS >= 3) + READ_FONT(6); +#endif +#if (NUM_EXTRA_FONTS >= 4) + READ_FONT(7); +#endif +#if (NUM_EXTRA_FONTS >= 5) + READ_FONT(8); +#endif + + m_start_fullscreen = GetPrivateProfileIntW(L"settings",L"start_fullscreen",m_start_fullscreen,m_szConfigIniFile); + m_start_desktop = GetPrivateProfileIntW(L"settings",L"start_desktop" ,m_start_desktop ,m_szConfigIniFile); + m_fake_fullscreen_mode = GetPrivateProfileIntW(L"settings",L"fake_fullscreen_mode",m_fake_fullscreen_mode,m_szConfigIniFile); + m_max_fps_fs = GetPrivateProfileIntW(L"settings",L"max_fps_fs",m_max_fps_fs,m_szConfigIniFile); + m_max_fps_dm = GetPrivateProfileIntW(L"settings",L"max_fps_dm",m_max_fps_dm,m_szConfigIniFile); + m_max_fps_w = GetPrivateProfileIntW(L"settings",L"max_fps_w" ,m_max_fps_w ,m_szConfigIniFile); + m_show_press_f1_msg = GetPrivateProfileIntW(L"settings",L"show_press_f1_msg",m_show_press_f1_msg,m_szConfigIniFile); + m_allow_page_tearing_w = GetPrivateProfileIntW(L"settings",L"allow_page_tearing_w",m_allow_page_tearing_w,m_szConfigIniFile); + m_allow_page_tearing_fs= GetPrivateProfileIntW(L"settings",L"allow_page_tearing_fs",m_allow_page_tearing_fs,m_szConfigIniFile); + m_allow_page_tearing_dm= GetPrivateProfileIntW(L"settings",L"allow_page_tearing_dm",m_allow_page_tearing_dm,m_szConfigIniFile); + m_minimize_winamp = GetPrivateProfileIntW(L"settings",L"minimize_winamp",m_minimize_winamp,m_szConfigIniFile); + m_desktop_show_icons = GetPrivateProfileIntW(L"settings",L"desktop_show_icons",m_desktop_show_icons,m_szConfigIniFile); + m_desktop_textlabel_boxes = GetPrivateProfileIntW(L"settings",L"desktop_textlabel_boxes",m_desktop_textlabel_boxes,m_szConfigIniFile); + m_desktop_manual_icon_scoot = GetPrivateProfileIntW(L"settings",L"desktop_manual_icon_scoot",m_desktop_manual_icon_scoot,m_szConfigIniFile); + m_desktop_555_fix = GetPrivateProfileIntW(L"settings",L"desktop_555_fix",m_desktop_555_fix,m_szConfigIniFile); + m_dualhead_horz = GetPrivateProfileIntW(L"settings",L"dualhead_horz",m_dualhead_horz,m_szConfigIniFile); + m_dualhead_vert = GetPrivateProfileIntW(L"settings",L"dualhead_vert",m_dualhead_vert,m_szConfigIniFile); + m_save_cpu = GetPrivateProfileIntW(L"settings",L"save_cpu",m_save_cpu,m_szConfigIniFile); + m_skin = GetPrivateProfileIntW(L"settings",L"skin",m_skin,m_szConfigIniFile); + m_fix_slow_text = GetPrivateProfileIntW(L"settings",L"fix_slow_text",m_fix_slow_text,m_szConfigIniFile); + m_vj_mode = GetPrivateProfileBoolW(L"settings",L"vj_mode",m_vj_mode,m_szConfigIniFile); + + //D3DDISPLAYMODE m_fs_disp_mode + m_disp_mode_fs.Width = GetPrivateProfileIntW(L"settings",L"disp_mode_fs_w", m_disp_mode_fs.Width ,m_szConfigIniFile); + m_disp_mode_fs.Height = GetPrivateProfileIntW(L"settings",L"disp_mode_fs_h",m_disp_mode_fs.Height ,m_szConfigIniFile); + m_disp_mode_fs.RefreshRate = GetPrivateProfileIntW(L"settings",L"disp_mode_fs_r",m_disp_mode_fs.RefreshRate,m_szConfigIniFile); + m_disp_mode_fs.Format = (D3DFORMAT)GetPrivateProfileIntW(L"settings",L"disp_mode_fs_f",m_disp_mode_fs.Format ,m_szConfigIniFile); + + // note: we don't call MyReadConfig() yet, because we + // want to completely finish CPluginShell's preinit (and ReadConfig) + // before calling CPlugin's preinit and ReadConfig. +} + +void CPluginShell::WRITE_FONT(int n){ + WritePrivateProfileStringW(L"settings",BuildSettingName(L"szFontFace",n),m_fontinfo[n].szFace,m_szConfigIniFile); + WritePrivateProfileIntW(m_fontinfo[n].bBold, BuildSettingName(L"bFontBold",n), m_szConfigIniFile, L"settings"); + WritePrivateProfileIntW(m_fontinfo[n].bItalic,BuildSettingName(L"bFontItalic",n), m_szConfigIniFile, L"settings"); + WritePrivateProfileIntW(m_fontinfo[n].nSize, BuildSettingName(L"nFontSize",n), m_szConfigIniFile, L"settings"); + WritePrivateProfileIntW(m_fontinfo[n].bAntiAliased, BuildSettingName(L"bFontAA",n),m_szConfigIniFile, L"settings"); +} + +void CPluginShell::WriteConfig() +{ + //D3DMULTISAMPLE_TYPE m_multisample_fullscreen; + //D3DMULTISAMPLE_TYPE m_multisample_desktop; + //D3DMULTISAMPLE_TYPE m_multisample_windowed; + WritePrivateProfileIntW((int)m_multisample_fullscreen,L"multisample_fullscreen",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW((int)m_multisample_desktop ,L"multisample_desktop" ,m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW((int)m_multisample_windowed ,L"multisample_windowed" ,m_szConfigIniFile,L"settings"); + + //GUID m_adapter_guid_fullscreen + //GUID m_adapter_guid_desktop + //GUID m_adapter_guid_windowed + char str[256]; + GuidToText(&m_adapter_guid_fullscreen, str, sizeof(str)); + WritePrivateProfileString("settings","adapter_guid_fullscreen",str,m_szConfigIniFileA); + GuidToText(&m_adapter_guid_desktop, str, sizeof(str)); + WritePrivateProfileString("settings","adapter_guid_desktop",str,m_szConfigIniFileA); + GuidToText(&m_adapter_guid_windowed, str, sizeof(str)); + WritePrivateProfileString("settings","adapter_guid_windowed" ,str,m_szConfigIniFileA); + WritePrivateProfileString("settings","adapter_devicename_fullscreen",m_adapter_devicename_fullscreen,m_szConfigIniFileA); + WritePrivateProfileString("settings","adapter_devicename_desktop" ,m_adapter_devicename_desktop ,m_szConfigIniFileA); + WritePrivateProfileString("settings","adapter_devicename_windowed" ,m_adapter_devicename_windowed ,m_szConfigIniFileA); + + // FONTS + WRITE_FONT(0); + WRITE_FONT(1); + WRITE_FONT(2); + WRITE_FONT(3); +#if (NUM_EXTRA_FONTS >= 1) + WRITE_FONT(4); +#endif +#if (NUM_EXTRA_FONTS >= 2) + WRITE_FONT(5); +#endif +#if (NUM_EXTRA_FONTS >= 3) + WRITE_FONT(6); +#endif +#if (NUM_EXTRA_FONTS >= 4) + WRITE_FONT(7); +#endif +#if (NUM_EXTRA_FONTS >= 5) + WRITE_FONT(8); +#endif + + WritePrivateProfileIntW(m_start_fullscreen,L"start_fullscreen",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_start_desktop ,L"start_desktop" ,m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_fake_fullscreen_mode,L"fake_fullscreen_mode",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_max_fps_fs,L"max_fps_fs",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_max_fps_dm,L"max_fps_dm",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_max_fps_w ,L"max_fps_w" ,m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_show_press_f1_msg,L"show_press_f1_msg",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_allow_page_tearing_w,L"allow_page_tearing_w",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_allow_page_tearing_fs,L"allow_page_tearing_fs",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_allow_page_tearing_dm,L"allow_page_tearing_dm",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_minimize_winamp,L"minimize_winamp",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_desktop_show_icons,L"desktop_show_icons",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_desktop_textlabel_boxes,L"desktop_textlabel_boxes",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_desktop_manual_icon_scoot,L"desktop_manual_icon_scoot",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_desktop_555_fix,L"desktop_555_fix",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_dualhead_horz,L"dualhead_horz",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_dualhead_vert,L"dualhead_vert",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_save_cpu,L"save_cpu",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_skin,L"skin",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_fix_slow_text,L"fix_slow_text",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_vj_mode,L"vj_mode",m_szConfigIniFile,L"settings"); + + //D3DDISPLAYMODE m_fs_disp_mode + WritePrivateProfileIntW(m_disp_mode_fs.Width ,L"disp_mode_fs_w",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_disp_mode_fs.Height ,L"disp_mode_fs_h",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_disp_mode_fs.RefreshRate,L"disp_mode_fs_r",m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(m_disp_mode_fs.Format ,L"disp_mode_fs_f",m_szConfigIniFile,L"settings"); + + WritePrivateProfileIntW(INT_VERSION ,L"version" ,m_szConfigIniFile,L"settings"); + WritePrivateProfileIntW(INT_SUBVERSION ,L"subversion" ,m_szConfigIniFile,L"settings"); + + // finally, save the plugin's unique settings: + MyWriteConfig(); +} + +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- +//---------------------------------------------------------------------- + +int CPluginShell::PluginRender(unsigned char *pWaveL, unsigned char *pWaveR)//, unsigned char *pSpecL, unsigned char *pSpecR) +{ + // return FALSE here to tell Winamp to terminate the plugin + + if (!m_lpDX || !m_lpDX->m_ready) + { + // note: 'm_ready' will go false when a device reset fatally fails + // (for example, when user resizes window, or toggles fullscreen.) + m_exiting = 1; + return false; // EXIT THE PLUGIN + } + + if (m_hTextWnd) + m_lost_focus = ((GetFocus() != GetPluginWindow()) && (GetFocus() != m_hTextWnd)); + else + m_lost_focus = (GetFocus() != GetPluginWindow()); + + if ((m_screenmode==WINDOWED && m_hidden) || + (m_screenmode==FULLSCREEN && m_lost_focus) || + (m_screenmode==WINDOWED && m_resizing) + ) + { + Sleep(30); + return true; + } + + // test for lost device + // (this happens when device is fullscreen & user alt-tabs away, + // or when monitor power-saving kicks in) + HRESULT hr = m_lpDX->m_lpDevice->TestCooperativeLevel(); + if (hr == D3DERR_DEVICENOTRESET) + { + // device WAS lost, and is now ready to be reset (and come back online): + CleanUpDX9Stuff(0); + if (m_lpDX->m_lpDevice->Reset(&m_lpDX->m_d3dpp) != D3D_OK) + { + // note: a basic warning messagebox will have already been given. + // now suggest specific advice on how to regain more video memory: + if (m_lpDX->m_lastErr == DXC_ERR_CREATEDEV_PROBABLY_OUTOFVIDEOMEMORY) + SuggestHowToFreeSomeMem(); + return false; // EXIT THE PLUGIN + } + if (!AllocateDX9Stuff()) + return false; // EXIT THE PLUGIN + } + else if (hr != D3D_OK) + { + // device is lost, and not yet ready to come back; sleep. + Sleep(30); + return true; + } + + if (m_vjd3d9_device) + { + HRESULT hr = m_vjd3d9_device->TestCooperativeLevel(); + if (hr == D3DERR_DEVICENOTRESET) + { + RECT c; + GetClientRect(m_hTextWnd, &c); + + POINT p; + p.x = c.left; + p.y = c.top; + if (ClientToScreen(m_hTextWnd, &p)) + { + c.left += p.x; + c.right += p.x; + c.top += p.y; + c.bottom += p.y; + } + + CleanUpVJStuff(); + if (!InitVJStuff(&c)) + return false; // EXIT THE PLUGIN + } + } + + if (m_screenmode==DESKTOP) + { + PushWindowToJustBeforeDesktop(GetPluginWindow()); + } + + DoTime(); + AnalyzeNewSound(pWaveL, pWaveR); + AlignWaves(); + + DrawAndDisplay(0); + + EnforceMaxFPS(); + + m_frame++; + + return true; +} + +void CPluginShell::PushWindowToJustBeforeDesktop(HWND h) +{ + // if our window isn't already at the bottom of the Z order, + // freshly send it to HWND_BOTTOM. + + // this usually gives us the Program Manager window: + HWND hWndBottom = GetWindow(h, GW_HWNDLAST); + + // then, bottommost 'normal' window is usually the one just in front of it: + if (hWndBottom == m_hWndProgMan) + hWndBottom = GetWindow(hWndBottom, GW_HWNDPREV); + + if (hWndBottom != h) + { + m_force_accept_WM_WINDOWPOSCHANGING = 1; + SetWindowPos(h, HWND_BOTTOM, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE); + m_force_accept_WM_WINDOWPOSCHANGING = 0; + } + + /* + HWND hDesktopBkgWnd = FindWindow("SHELLDLL_DefView", ""); + if (hDesktopBkgWnd) + { + HWND hWndInFrontOfIcons = GetWindow(h, GW_HWNDPREV); + if (hWndInFrontOfIcons != h) + { + m_force_accept_WM_WINDOWPOSCHANGING = 1; + SetWindowPos(hDesktopBkgWnd, h, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE); + m_force_accept_WM_WINDOWPOSCHANGING = 0; + } + } + */ + + +} + +void CPluginShell::DrawAndDisplay(int redraw) +{ + int cx = m_vjd3d9_device ? m_nTextWndWidth : m_lpDX->m_client_width; + int cy = m_vjd3d9_device ? m_nTextWndHeight : m_lpDX->m_client_height; + if (m_lpDDSText) + { + D3DSURFACE_DESC desc; + if (D3D_OK == m_lpDDSText->GetLevelDesc(0, &desc)) + { + cx = min(cx, (int)desc.Width); + cy = min(cy, (int)desc.Height); + } + } + m_upper_left_corner_y = TEXT_MARGIN + GetCanvasMarginY(); + m_upper_right_corner_y = TEXT_MARGIN + GetCanvasMarginY(); + m_lower_left_corner_y = cy - TEXT_MARGIN - GetCanvasMarginY(); + m_lower_right_corner_y = cy - TEXT_MARGIN - GetCanvasMarginY(); + m_left_edge = TEXT_MARGIN + GetCanvasMarginX(); + m_right_edge = cx - TEXT_MARGIN - GetCanvasMarginX(); + + /*if (m_screenmode == DESKTOP || m_screenmode == FAKE_FULLSCREEN) + { + // check if taskbar is above plugin window; + // if so, scoot text & icons out of the way. + // [...should always be true for Desktop Mode, + // but it's like this for code simplicity.] + int taskbar_is_above_plugin_window = 1; + HWND h = FindWindow("Shell_TrayWnd", NULL); + while (h) //(..shouldn't be very many windows to iterate through here) + { + h = GetWindow(h, GW_HWNDPREV); + if (h == GetPluginWindow()) + { + taskbar_is_above_plugin_window = 0; + break; + } + } + + if (taskbar_is_above_plugin_window) + { + // respect the taskbar area; make sure the text, desktop icons, etc. + // don't appear underneath it. + //m_upper_left_corner_y += m_lpDX->m_monitor_work_rect.top - m_lpDX->m_monitor_rect.top; + //m_upper_right_corner_y += m_lpDX->m_monitor_work_rect.top - m_lpDX->m_monitor_rect.top; + //m_lower_left_corner_y -= m_lpDX->m_monitor_rect.bottom - m_lpDX->m_monitor_work_rect.bottom; + //m_lower_right_corner_y -= m_lpDX->m_monitor_rect.bottom - m_lpDX->m_monitor_work_rect.bottom; + //m_left_edge += m_lpDX->m_monitor_work_rect.left - m_lpDX->m_monitor_rect.left; + //m_right_edge -= m_lpDX->m_monitor_rect.right - m_lpDX->m_monitor_work_rect.right; + m_lpDX->UpdateMonitorWorkRect(); + m_upper_left_corner_y = max(m_upper_left_corner_y , m_lpDX->m_monitor_work_rect.top - m_lpDX->m_monitor_rect.top + TEXT_MARGIN + GetCanvasMarginY()); + m_upper_right_corner_y = max(m_upper_right_corner_y, m_lpDX->m_monitor_work_rect.top - m_lpDX->m_monitor_rect.top + TEXT_MARGIN + GetCanvasMarginY()); + m_lower_left_corner_y = min(m_lower_left_corner_y , m_lpDX->m_client_height - (m_lpDX->m_monitor_rect.bottom - m_lpDX->m_monitor_work_rect.bottom) - TEXT_MARGIN - GetCanvasMarginY()); + m_lower_right_corner_y = min(m_lower_right_corner_y, m_lpDX->m_client_height - (m_lpDX->m_monitor_rect.bottom - m_lpDX->m_monitor_work_rect.bottom) - TEXT_MARGIN - GetCanvasMarginY()); + m_left_edge = max(m_left_edge , m_lpDX->m_monitor_work_rect.left - m_lpDX->m_monitor_rect.left + TEXT_MARGIN + GetCanvasMarginX() ); + m_right_edge = min(m_right_edge, m_lpDX->m_client_width - (m_lpDX->m_monitor_rect.right - m_lpDX->m_monitor_work_rect.right) - TEXT_MARGIN + GetCanvasMarginX()); + } + }*/ + + if (D3D_OK==m_lpDX->m_lpDevice->BeginScene()) + { + MyRenderFn(redraw); + + PrepareFor2DDrawing_B(GetDevice(), GetWidth(), GetHeight()); + + RenderDesktop(); + if (!m_vjd3d9_device) // in VJ mode, this renders to different context, so do it after BeginScene() on 2nd device. + RenderBuiltInTextMsgs(); // to m_lpDDSText? + MyRenderUI(&m_upper_left_corner_y, &m_upper_right_corner_y, &m_lower_left_corner_y, &m_lower_right_corner_y, m_left_edge, m_right_edge); + RenderPlaylist(); + + if (!m_vjd3d9_device) + m_text.DrawNow(); + + m_lpDX->m_lpDevice->EndScene(); + } + + // VJ Mode: + if (m_vj_mode && m_vjd3d9_device && !m_hidden_textwnd && D3D_OK==m_vjd3d9_device->BeginScene()) + { + if (!m_lpDDSText || m_bClearVJWindow) + m_vjd3d9_device->Clear(0, 0, D3DCLEAR_TARGET, 0xFF000000, 1.0f, 0); + m_bClearVJWindow = false; + // note: when using debug DX runtime, textwnd will flash red/green after frame 4, if no text is drawn on a frame! + + RenderBuiltInTextMsgs(); + + PrepareFor2DDrawing_B(m_vjd3d9_device, m_nTextWndWidth, m_nTextWndHeight); + + m_text.DrawNow(); + + m_vjd3d9_device->EndScene(); + } + + if (m_screenmode == DESKTOP) + { + // window is hidden after creation, until 1st frame is ready to go; + // now that it's ready, we show it. + // see dxcontext::Internal_Init()'s call to SetWindowPos() for the DESKTOP case. + if (!IsWindowVisible(GetPluginWindow())) + ShowWindow(GetPluginWindow(), SW_SHOWNORMAL); + } + + if (m_screenmode == WINDOWED && (m_lpDX->m_client_width != m_lpDX->m_REAL_client_width || m_lpDX->m_client_height != m_lpDX->m_REAL_client_height)) + { + int real_w = m_lpDX->m_REAL_client_width; // real client size, in pixels + int real_h = m_lpDX->m_REAL_client_height; + int fat_w = m_lpDX->m_client_width; // oversized VS canvas size, in pixels + int fat_h = m_lpDX->m_client_height; + int extra_w = fat_w - real_w; + int extra_h = fat_h - real_h; + RECT src, dst; + SetRect(&src, extra_w/2, extra_h/2, extra_w/2 + real_w, extra_h/2 + real_h); + SetRect(&dst, 0, 0, real_w, real_h); + m_lpDX->m_lpDevice->Present(&src, &dst,NULL,NULL); + } + else + m_lpDX->m_lpDevice->Present(NULL,NULL,NULL,NULL); + + if (m_vjd3d9_device && !m_hidden_textwnd) + m_vjd3d9_device->Present(NULL,NULL,NULL,NULL); +} + +void CPluginShell::EnforceMaxFPS() +{ + int max_fps; + switch (m_screenmode) + { + case WINDOWED: max_fps = m_max_fps_w; break; + case FULLSCREEN: max_fps = m_max_fps_fs; break; + case FAKE_FULLSCREEN: max_fps = m_max_fps_fs; break; + case DESKTOP: max_fps = m_max_fps_dm; break; + } + + if (max_fps <= 0) + return; + + float fps_lo = (float)max_fps; + float fps_hi = (float)max_fps; + + if (m_save_cpu) + { + // Find the optimal lo/hi bounds for the fps + // that will result in a maximum difference, + // in the time for a single frame, of 0.003 seconds - + // the assumed granularity for Sleep(1) - + + // Using this range of acceptable fps + // will allow us to do (sloppy) fps limiting + // using only Sleep(1), and never the + // second half of it: Sleep(0) in a tight loop, + // which sucks up the CPU (whereas Sleep(1) + // leaves it idle). + + // The original equation: + // 1/(max_fps*t1) = 1/(max*fps/t1) - 0.003 + // where: + // t1 > 0 + // max_fps*t1 is the upper range for fps + // max_fps/t1 is the lower range for fps + + float a = 1; + float b = -0.003f * max_fps; + float c = -1.0f; + float det = b*b - 4*a*c; + if (det>0) + { + float t1 = (-b + sqrtf(det)) / (2*a); + //float t2 = (-b - sqrtf(det)) / (2*a); + + if (t1 > 1.0f) + { + fps_lo = max_fps / t1; + fps_hi = max_fps * t1; + // verify: now [1.0f/fps_lo - 1.0f/fps_hi] should equal 0.003 seconds. + // note: allowing tolerance to go beyond these values for + // fps_lo and fps_hi would gain nothing. + } + } + } + + if (m_high_perf_timer_freq.QuadPart > 0) + { + LARGE_INTEGER t; + QueryPerformanceCounter(&t); + + if (m_prev_end_of_frame.QuadPart != 0) + { + int ticks_to_wait_lo = (int)((float)m_high_perf_timer_freq.QuadPart / (float)fps_hi); + int ticks_to_wait_hi = (int)((float)m_high_perf_timer_freq.QuadPart / (float)fps_lo); + int done = 0; + int loops = 0; + do + { + QueryPerformanceCounter(&t); + + __int64 t2 = t.QuadPart - m_prev_end_of_frame.QuadPart; + if (t2 > 2147483000) + done = 1; + if (t.QuadPart < m_prev_end_of_frame.QuadPart) // time wrap + done = 1; + + // this is sloppy - if your freq. is high, this can overflow (to a (-) int) in just a few minutes + // but it's ok, we have protection for that above. + int ticks_passed = (int)(t.QuadPart - m_prev_end_of_frame.QuadPart); + if (ticks_passed >= ticks_to_wait_lo) + done = 1; + + if (!done) + { + // if > 0.01s left, do Sleep(1), which will actually sleep some + // steady amount of up to 3 ms (depending on the OS), + // and do so in a nice way (cpu meter drops; laptop battery spared). + // otherwise, do a few Sleep(0)'s, which just give up the timeslice, + // but don't really save cpu or battery, but do pass a tiny + // amount of time. + + //if (ticks_left > (int)m_high_perf_timer_freq.QuadPart/500) + if (ticks_to_wait_hi - ticks_passed > (int)m_high_perf_timer_freq.QuadPart/100) + Sleep(5); + else if (ticks_to_wait_hi - ticks_passed > (int)m_high_perf_timer_freq.QuadPart/1000) + Sleep(1); + else + for (int i=0; i<10; i++) + Sleep(0); // causes thread to give up its timeslice + } + } + while (!done); + } + + m_prev_end_of_frame = t; + } + else + { + Sleep(1000/max_fps); + } +} + +void CPluginShell::DoTime() +{ + if (m_frame==0) + { + m_fps = 30; + m_time = 0; + m_time_hist_pos = 0; + } + + double new_raw_time; + float elapsed; + + if (m_high_perf_timer_freq.QuadPart != 0) + { + // get high-precision time + // precision: usually from 1..6 us (MICROseconds), depending on the cpu speed. + // (higher cpu speeds tend to have better precision here) + LARGE_INTEGER t; + if (!QueryPerformanceCounter(&t)) + { + m_high_perf_timer_freq.QuadPart = 0; // something went wrong (exception thrown) -> revert to crappy timer + } + else + { + new_raw_time = (double)t.QuadPart; + elapsed = (float)((new_raw_time - m_last_raw_time)/(double)m_high_perf_timer_freq.QuadPart); + } + } + + if (m_high_perf_timer_freq.QuadPart == 0) + { + // get low-precision time + // precision: usually 1 ms (MILLIsecond) for win98, and 10 ms for win2k. + new_raw_time = (double)(timeGetTime()*0.001); + elapsed = (float)(new_raw_time - m_last_raw_time); + } + + m_last_raw_time = new_raw_time; + int slots_to_look_back = (m_high_perf_timer_freq.QuadPart==0) ? TIME_HIST_SLOTS : TIME_HIST_SLOTS/2; + + m_time += 1.0f/m_fps; + + // timekeeping goals: + // 1. keep 'm_time' increasing SMOOTHLY: (smooth animation depends on it) + // m_time += 1.0f/m_fps; // where m_fps is a bit damped + // 2. keep m_time_hist[] 100% accurate (except for filtering out pauses), + // so that when we look take the difference between two entries, + // we get the real amount of time that passed between those 2 frames. + // m_time_hist[i] = m_last_raw_time + elapsed_corrected; + + if (m_frame > TIME_HIST_SLOTS) + { + if (m_fps < 60.0f) + slots_to_look_back = (int)(slots_to_look_back*(0.1f + 0.9f*(m_fps/60.0f))); + + if (elapsed > 5.0f/m_fps || elapsed > 1.0f || elapsed < 0) + elapsed = 1.0f / 30.0f; + + float old_hist_time = m_time_hist[(m_time_hist_pos - slots_to_look_back + TIME_HIST_SLOTS) % TIME_HIST_SLOTS]; + float new_hist_time = m_time_hist[(m_time_hist_pos - 1 + TIME_HIST_SLOTS) % TIME_HIST_SLOTS] + + elapsed; + + m_time_hist[m_time_hist_pos] = new_hist_time; + m_time_hist_pos = (m_time_hist_pos+1) % TIME_HIST_SLOTS; + + float new_fps = slots_to_look_back / (float)(new_hist_time - old_hist_time); + float damping = (m_high_perf_timer_freq.QuadPart==0) ? 0.93f : 0.87f; + + // damp heavily, so that crappy timer precision doesn't make animation jerky + if (fabsf(m_fps - new_fps) > 3.0f) + m_fps = new_fps; + else + m_fps = damping*m_fps + (1-damping)*new_fps; + } + else + { + float damping = (m_high_perf_timer_freq.QuadPart==0) ? 0.8f : 0.6f; + + if (m_frame < 2) + elapsed = 1.0f / 30.0f; + else if (elapsed > 1.0f || elapsed < 0) + elapsed = 1.0f / m_fps; + + float old_hist_time = m_time_hist[0]; + float new_hist_time = m_time_hist[(m_time_hist_pos - 1 + TIME_HIST_SLOTS) % TIME_HIST_SLOTS] + + elapsed; + + m_time_hist[m_time_hist_pos] = new_hist_time; + m_time_hist_pos = (m_time_hist_pos+1) % TIME_HIST_SLOTS; + + if (m_frame > 0) + { + float new_fps = (m_frame) / (new_hist_time - old_hist_time); + m_fps = damping*m_fps + (1-damping)*new_fps; + } + } + + // Synchronize the audio and video by telling Winamp how many milliseconds we want the audio data, + // before it's actually audible. If we set this to the amount of time it takes to display 1 frame + // (1/fps), the video and audio should be perfectly synchronized. + if (m_fps < 2.0f) + mod1.latencyMs = 500; + else if (m_fps > 125.0f) + mod1.latencyMs = 8; + else + mod1.latencyMs = (int)(1000.0f/m_fps*m_lpDX->m_frame_delay + 0.5f); +} + +void CPluginShell::AnalyzeNewSound(unsigned char *pWaveL, unsigned char *pWaveR) +{ + // we get 576 samples in from winamp. + // the output of the fft has 'num_frequencies' samples, + // and represents the frequency range 0 hz - 22,050 hz. + // usually, plugins only use half of this output (the range 0 hz - 11,025 hz), + // since >10 khz doesn't usually contribute much. + + int i; + + float temp_wave[2][576]; + + int old_i = 0; + for (i=0; i<576; i++) + { + m_sound.fWaveform[0][i] = (float)((pWaveL[i] ^ 128) - 128); + m_sound.fWaveform[1][i] = (float)((pWaveR[i] ^ 128) - 128); + + // simulating single frequencies from 200 to 11,025 Hz: + //float freq = 1.0f + 11050*(GetFrame() % 100)*0.01f; + //m_sound.fWaveform[0][i] = 10*sinf(i*freq*6.28f/44100.0f); + + // damp the input into the FFT a bit, to reduce high-frequency noise: + temp_wave[0][i] = 0.5f*(m_sound.fWaveform[0][i] + m_sound.fWaveform[0][old_i]); + temp_wave[1][i] = 0.5f*(m_sound.fWaveform[1][i] + m_sound.fWaveform[1][old_i]); + old_i = i; + } + + m_fftobj.time_to_frequency_domain(temp_wave[0], m_sound.fSpectrum[0]); + m_fftobj.time_to_frequency_domain(temp_wave[1], m_sound.fSpectrum[1]); + + // sum (left channel) spectrum up into 3 bands + // [note: the new ranges do it so that the 3 bands are equally spaced, pitch-wise] + float min_freq = 200.0f; + float max_freq = 11025.0f; + float net_octaves = (logf(max_freq/min_freq) / logf(2.0f)); // 5.7846348455575205777914165223593 + float octaves_per_band = net_octaves / 3.0f; // 1.9282116151858401925971388407864 + float mult = powf(2.0f, octaves_per_band); // each band's highest freq. divided by its lowest freq.; 3.805831305510122517035102576162 + // [to verify: min_freq * mult * mult * mult should equal max_freq.] + for (int ch=0; ch<2; ch++) + { + for (i=0; i<3; i++) + { + // old guesswork code for this: + // float exp = 2.1f; + // int start = (int)(NUM_FREQUENCIES*0.5f*powf(i/3.0f, exp)); + // int end = (int)(NUM_FREQUENCIES*0.5f*powf((i+1)/3.0f, exp)); + // results: + // old range: new range (ideal): + // bass: 0-1097 200-761 + // mids: 1097-4705 761-2897 + // treb: 4705-11025 2897-11025 + int start = (int)(NUM_FREQUENCIES * min_freq*powf(mult, (float)i)/11025.0f); + int end = (int)(NUM_FREQUENCIES * min_freq*powf(mult, (float)(i+1))/11025.0f); + if (start < 0) start = 0; + if (end > NUM_FREQUENCIES) end = NUM_FREQUENCIES; + + m_sound.imm[ch][i] = 0; + for (int j=start; j= 10) + { + sum[0] += m_sound.imm[0]; + sum[1] += m_sound.imm[1]; + sum[2] += m_sound.imm[2]; + count++; + } + } + }*/ + + // multiply by long-term, empirically-determined inverse averages: + // (for a trial of 244 songs, 10 seconds each, somewhere in the 2nd or 3rd minute, + // the average levels were: 0.326781557 0.38087377 0.199888934 + for (ch=0; ch<2; ch++) + { + m_sound.imm[ch][0] /= 0.326781557f;//0.270f; + m_sound.imm[ch][1] /= 0.380873770f;//0.343f; + m_sound.imm[ch][2] /= 0.199888934f;//0.295f; + } + + // do temporal blending to create attenuated and super-attenuated versions + for (ch=0; ch<2; ch++) + { + for (i=0; i<3; i++) + { + // m_sound.avg[i] + { + float avg_mix; + if (m_sound.imm[ch][i] > m_sound.avg[ch][i]) + avg_mix = AdjustRateToFPS(0.2f, 14.0f, m_fps); + else + avg_mix = AdjustRateToFPS(0.5f, 14.0f, m_fps); + m_sound.avg[ch][i] = m_sound.avg[ch][i]*avg_mix + m_sound.imm[ch][i]*(1-avg_mix); + } + + // m_sound.med_avg[i] + // m_sound.long_avg[i] + { + float med_mix = 0.91f;//0.800f + 0.11f*powf(t, 0.4f); // primarily used for velocity_damping + float long_mix = 0.96f;//0.800f + 0.16f*powf(t, 0.2f); // primarily used for smoke plumes + med_mix = AdjustRateToFPS(med_mix, 14.0f, m_fps); + long_mix = AdjustRateToFPS(long_mix, 14.0f, m_fps); + m_sound.med_avg[ch][i] = m_sound.med_avg[ch][i]*(med_mix) + m_sound.imm[ch][i]*(1-med_mix); + m_sound.long_avg[ch][i] = m_sound.long_avg[ch][i]*(long_mix) + m_sound.imm[ch][i]*(1-long_mix); + } + } + } +} + +void CPluginShell::PrepareFor2DDrawing_B(IDirect3DDevice9 *pDevice, int w, int h) +{ + // New 2D drawing area will have x,y coords in the range <-1,-1> .. <1,1> + // +--------+ Y=-1 + // | | + // | screen | Z=0: front of scene + // | | Z=1: back of scene + // +--------+ Y=1 + // X=-1 X=1 + // NOTE: After calling this, be sure to then call (at least): + // 1. SetVertexShader() + // 2. SetTexture(), if you need it + // before rendering primitives! + // Also, be sure your sprites have a z coordinate of 0. + + pDevice->SetRenderState(D3DRS_ZENABLE, TRUE); + pDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE); + pDevice->SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL); + pDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); + pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID); + pDevice->SetRenderState(D3DRS_FOGENABLE, FALSE); + pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); + pDevice->SetRenderState(D3DRS_CLIPPING, TRUE); + pDevice->SetRenderState(D3DRS_LIGHTING, FALSE); + pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + pDevice->SetRenderState(D3DRS_LOCALVIEWER, FALSE); + pDevice->SetRenderState(D3DRS_COLORVERTEX, TRUE); + + pDevice->SetTexture(0, NULL); + pDevice->SetTexture(1, NULL); + pDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);//D3DTEXF_LINEAR); + pDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_POINT);//D3DTEXF_LINEAR); + pDevice->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE); + pDevice->SetTextureStageState(1, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE); + pDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); + pDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT); + pDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + + pDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); + pDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE); + pDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + + pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + + // set up for 2D drawing: + { + D3DXMATRIX Ortho2D; + D3DXMATRIX Identity; + + pMatrixOrthoLH(&Ortho2D, (float)w, (float)h, 0.0f, 1.0f); + D3DXMatrixIdentity(&Identity); + + pDevice->SetTransform(D3DTS_PROJECTION, &Ortho2D); + pDevice->SetTransform(D3DTS_WORLD, &Identity); + pDevice->SetTransform(D3DTS_VIEW, &Identity); + } +} + +void CPluginShell::DrawDarkTranslucentBox(RECT* pr) +{ + // 'pr' is the rectangle that some text will occupy; + // a black box will be drawn around it, plus a bit of extra margin space. + + if (m_vjd3d9_device) + return; + + m_lpDX->m_lpDevice->SetVertexShader(NULL); + m_lpDX->m_lpDevice->SetPixelShader(NULL); + m_lpDX->m_lpDevice->SetFVF(SIMPLE_VERTEX_FORMAT); + m_lpDX->m_lpDevice->SetTexture(0, NULL); + + m_lpDX->m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); + m_lpDX->m_lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + m_lpDX->m_lpDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE); + m_lpDX->m_lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1); + m_lpDX->m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE); + + // set up a quad + SIMPLEVERTEX verts[4]; + for (int i=0; i<4; i++) + { + verts[i].x = (i%2==0) ? (float)(-m_lpDX->m_client_width /2 + pr->left) : + (float)(-m_lpDX->m_client_width /2 + pr->right); + verts[i].y = (i/2==0) ? (float)-(-m_lpDX->m_client_height/2 + pr->bottom) : + (float)-(-m_lpDX->m_client_height/2 + pr->top); + verts[i].z = 0; + verts[i].Diffuse = (m_screenmode==DESKTOP) ? 0xE0000000 : 0xD0000000; + } + + m_lpDX->m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, verts, sizeof(SIMPLEVERTEX)); + + // undo unusual state changes: + m_lpDX->m_lpDevice->SetRenderState(D3DRS_ZENABLE, TRUE); + m_lpDX->m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); +} + +void CPluginShell::RenderBuiltInTextMsgs() +{ + int _show_press_f1_NOW = (m_show_press_f1_msg && m_time < PRESS_F1_DUR); + + { + RECT r; + + if (m_show_help) + { + int y = m_upper_left_corner_y; + + SetRect(&r, 0, 0, GetWidth(), GetHeight()); + if(!g_szHelp_W) + m_d3dx_font[HELPSCREEN_FONT]->DrawTextA(NULL, (char*)g_szHelp, -1, &r, DT_CALCRECT, 0xFFFFFFFF); + else + m_d3dx_font[HELPSCREEN_FONT]->DrawTextW(NULL, g_szHelp, -1, &r, DT_CALCRECT, 0xFFFFFFFF); + + r.top += m_upper_left_corner_y; + r.left += m_left_edge; + r.right += m_left_edge + PLAYLIST_INNER_MARGIN*2; + r.bottom += m_upper_left_corner_y + PLAYLIST_INNER_MARGIN*2; + DrawDarkTranslucentBox(&r); + + r.top += PLAYLIST_INNER_MARGIN; + r.left += PLAYLIST_INNER_MARGIN; + r.right -= PLAYLIST_INNER_MARGIN; + r.bottom -= PLAYLIST_INNER_MARGIN; + if(!g_szHelp_W) + m_d3dx_font[HELPSCREEN_FONT]->DrawTextA(NULL, (char*)g_szHelp, -1, &r, 0, 0xFFFFFFFF); + else + m_d3dx_font[HELPSCREEN_FONT]->DrawTextW(NULL, g_szHelp, -1, &r, 0, 0xFFFFFFFF); + + m_upper_left_corner_y += r.bottom-r.top + PLAYLIST_INNER_MARGIN*3; + } + + // render 'Press F1 for Help' message in lower-right corner: + if (_show_press_f1_NOW) + { + int dx = (int)(160.0f * powf(m_time/(float)(PRESS_F1_DUR), (float)(PRESS_F1_EXP))); + SetRect(&r, m_left_edge, m_lower_right_corner_y - GetFontHeight(DECORATIVE_FONT), m_right_edge + dx, m_lower_right_corner_y); + m_lower_right_corner_y -= m_d3dx_font[DECORATIVE_FONT]->DrawTextW(NULL, WASABI_API_LNGSTRINGW(IDS_PRESS_F1_MSG), -1, &r, DT_RIGHT, 0xFFFFFFFF); + } + } +} + +void CPluginShell::RenderPlaylist() +{ + // draw playlist: + if (m_show_playlist) + { + RECT r; + int nSongs = SendMessage(m_hWndWinamp,WM_USER, 0, 124); + int now_playing = SendMessage(m_hWndWinamp,WM_USER, 0, 125); + + if (nSongs <= 0) + { + m_show_playlist = 0; + } + else + { + int playlist_vert_pixels = m_lower_left_corner_y - m_upper_left_corner_y; + int disp_lines = min(MAX_SONGS_PER_PAGE, (playlist_vert_pixels - PLAYLIST_INNER_MARGIN*2) / GetFontHeight(PLAYLIST_FONT)); + int total_pages = (nSongs) / disp_lines; + + if (disp_lines<=0) + return; + + // apply PgUp/PgDn keypresses since last time + m_playlist_pos -= m_playlist_pageups * disp_lines; + m_playlist_pageups = 0; + + if (m_playlist_pos < 0) + m_playlist_pos = 0; + if (m_playlist_pos >= nSongs) + m_playlist_pos = nSongs-1; + + // NOTE: 'dwFlags' is used for both DDRAW and DX9 + DWORD dwFlags = DT_SINGLELINE;// | DT_NOPREFIX | DT_WORD_ELLIPSIS; + DWORD color; + + int cur_page = (m_playlist_pos) / disp_lines; + int cur_line = (m_playlist_pos + disp_lines - 1) % disp_lines; + int new_top_idx = cur_page * disp_lines; + int new_btm_idx = new_top_idx + disp_lines; + wchar_t buf[1024] = {0}; + + // ask winamp for the song names, but DO IT BEFORE getting the DC, + // otherwise vaio will crash (~DDRAW port). + if (m_playlist_top_idx != new_top_idx || + m_playlist_btm_idx != new_btm_idx) + { + for (int i=0; im_client_width - TEXT_MARGIN*2 - PLAYLIST_INNER_MARGIN*2); + + for (int i=0; iDrawTextW(NULL, m_playlist[i], -1, &r, dwFlags | DT_CALCRECT, 0xFFFFFFFF); + int w = r.right-r.left; + if (w>0) + m_playlist_width_pixels = max(m_playlist_width_pixels, w); + } + else + { + m_playlist[i][0] = 0; + } + } + + if (m_playlist_width_pixels == 0 || + m_playlist_width_pixels > max_w) + m_playlist_width_pixels = max_w; + } + + int start = max(0, (cur_page)*disp_lines); + int end = min(nSongs, (cur_page+1)*disp_lines); + + // draw dark box around where the playlist will go: + + RECT r; + r.top = m_upper_left_corner_y; + r.left = m_left_edge; + r.right = m_left_edge + m_playlist_width_pixels + PLAYLIST_INNER_MARGIN*2; + r.bottom = m_upper_left_corner_y + (end-start)*GetFontHeight(PLAYLIST_FONT) + PLAYLIST_INNER_MARGIN*2; + DrawDarkTranslucentBox(&r); + + //m_d3dx_font[PLAYLIST_FONT]->Begin(); + + // draw playlist text + int y = m_upper_left_corner_y + PLAYLIST_INNER_MARGIN; + for (int i=start; iGetBitDepth() == 8) + color = (i==m_playlist_pos) ? + (i==now_playing ? 0xFFFFFFFF : 0xFFFFFFFF) : + (i==now_playing ? 0xFFFFFFFF : 0xFF707070); + else + color = (i==m_playlist_pos) ? + (i==now_playing ? PLAYLIST_COLOR_BOTH : PLAYLIST_COLOR_HILITE_TRACK) : + (i==now_playing ? PLAYLIST_COLOR_PLAYING_TRACK : PLAYLIST_COLOR_NORMAL); + + y += m_d3dx_font[PLAYLIST_FONT]->DrawTextW(NULL, m_playlist[i-start], -1, &r, dwFlags, color); + } + + //m_d3dx_font[PLAYLIST_FONT]->End(); + } + } +} + +void CPluginShell::SuggestHowToFreeSomeMem() +{ + // This function is called when the plugin runs out of video memory; + // it lets you show a messagebox to the user so you can (intelligently) + // suggest how to free up some video memory, based on what settings + // they've chosen. + + wchar_t str[1024]; + + if (m_lpDX->m_current_mode.multisamp != D3DMULTISAMPLE_NONE) + { + if (m_lpDX->m_current_mode.screenmode == WINDOWED) + WASABI_API_LNGSTRINGW_BUF(IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG, str, 2048); + else if (m_lpDX->m_current_mode.screenmode == FAKE_FULLSCREEN) + WASABI_API_LNGSTRINGW_BUF(IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_2, str, 2048); + else + WASABI_API_LNGSTRINGW_BUF(IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_3, str, 2048); + } + else + if (m_lpDX->m_current_mode.screenmode == FULLSCREEN) // true fullscreen + WASABI_API_LNGSTRINGW_BUF(IDS_TO_FREE_UP_VIDEO_MEMORY, str, 2048); + else // windowed, desktop mode, or fake fullscreen + WASABI_API_LNGSTRINGW_BUF(IDS_TO_FREE_UP_VIDEO_MEMORY, str, 2048); + + MessageBoxW(m_lpDX->GetHwnd(), str, WASABI_API_LNGSTRINGW(IDS_MILKDROP_SUGGESTION), MB_OK|MB_SETFOREGROUND|MB_TOPMOST); +} + +LRESULT CALLBACK CPluginShell::WindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) +{ + //if (uMsg==WM_GETDLGCODE) + // return DLGC_WANTALLKEYS|DLGC_WANTCHARS|DLGC_WANTMESSAGE; // this tells the embedwnd that we want keypresses to flow through to our client wnd. + + if (uMsg == WM_CREATE) + { + CREATESTRUCT *create = (CREATESTRUCT *)lParam; + SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)create->lpCreateParams); + } + + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hWnd,GWLP_USERDATA); + if (p) + return p->PluginShellWindowProc(hWnd, uMsg, wParam, lParam); + else + return DefWindowProcW(hWnd, uMsg, wParam, lParam); +} + +LRESULT CPluginShell::PluginShellWindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) +{ + USHORT mask = 1 << (sizeof(SHORT)*8 - 1); + //bool bShiftHeldDown = (GetKeyState(VK_SHIFT) & mask) != 0; + bool bCtrlHeldDown = (GetKeyState(VK_CONTROL) & mask) != 0; + //bool bAltHeldDown: most keys come in under WM_SYSKEYDOWN when ALT is depressed. + + int i; +#ifdef _DEBUG + char caption[256] = "WndProc: frame 0, "; + if (m_frame > 0) + { + float time = m_time; + int hours = (int)(time/3600); + time -= hours*3600; + int minutes = (int)(time/60); + time -= minutes*60; + int seconds = (int)time; + time -= seconds; + int dsec = (int)(time*100); + sprintf(caption, "WndProc: frame %d, t=%dh:%02dm:%02d.%02ds, ", m_frame, hours, minutes, seconds, dsec); + } + + if (uMsg != WM_MOUSEMOVE && + uMsg != WM_NCHITTEST && + uMsg != WM_SETCURSOR && + uMsg != WM_COPYDATA && + uMsg != WM_USER) + OutputDebugMessage(caption, hWnd, uMsg, wParam, lParam); +#endif + + switch (uMsg) + { + case WM_USER: + if (m_screenmode == DESKTOP) + { + // this function resides in vms_desktop.dll; + // its response will come later, via the WM_COPYDATA + // message (See below). + //KIV: **THIS CALL CRASHES EXPLORER IN VISTA** + getItemData(wParam); + return 0; + } + break; + + case WM_COPYDATA: + if (m_screenmode == DESKTOP) + { + // this message is vms_desktop.dll's response to + // our call to getItemData(). + PCOPYDATASTRUCT c = (PCOPYDATASTRUCT)lParam; + if (c && (c->cbData % sizeof(icon_t) == 0)) + { + icon_t *pNewIcons = (icon_t*)c->lpData; + + EnterCriticalSection(&m_desktop_cs); + + if (m_desktop_icon_state == 1 && (c->dwData & 0x80000000)) // if doing a total refresh... + { + // ...we build the list from zero + int len = c->dwData & 0xFFFF; + for (int i=0; idwData & 0x80000000)) + { + // otherwise, we alter existing things in the list: + IconList::iterator p; + int start = c->dwData & 0xFFFF; + int len = c->dwData >> 16; + + int i = 0; + for (p = m_icon_list.begin(); p != m_icon_list.end() && ix = pNewIcons[i-start].x; + p->y = pNewIcons[i-start].y; + memcpy(p->name, pNewIcons[i-start].name, sizeof(p->name)); + memcpy(p->pidl, pNewIcons[i-start].pidl, sizeof(p->pidl)); + i++; + } + + m_desktop_icon_state = 2; + m_desktop_icon_update_frame = GetFrame(); + } + + LeaveCriticalSection(&m_desktop_cs); + } + + return 0; + } + break; + + case WM_ERASEBKGND: + // Repaint window when song is paused and image needs to be repainted: + if (SendMessage(m_hWndWinamp,WM_USER,0,104)!=1 && m_lpDX && m_lpDX->m_lpDevice && GetFrame() > 0) // WM_USER/104 return codes: 1=playing, 3=paused, other=stopped + { + m_lpDX->m_lpDevice->Present(NULL,NULL,NULL,NULL); + return 0; + } + break; + + case WM_WINDOWPOSCHANGING: + if ( + m_screenmode == DESKTOP + && (!m_force_accept_WM_WINDOWPOSCHANGING) + && m_lpDX && m_lpDX->m_ready + ) + { + // unless we requested it ourselves or it's init time, + // prevent the fake desktop window from moving around + // in the Z order! (i.e., keep it on the bottom) + + // without this code, when you click on the 'real' desktop + // in a multimon setup, any windows that are overtop of the + // 'fake' desktop will flash, since they'll be covered + // up by the fake desktop window (but then shown again on + // the next frame, when we detect that the fake desktop + // window isn't on bottom & send it back to the bottom). + + LPWINDOWPOS pwp = (LPWINDOWPOS)lParam; + if (pwp) + pwp->flags |= SWP_NOOWNERZORDER | SWP_NOZORDER; + } + if (m_screenmode==WINDOWED && m_lpDX && m_lpDX->m_ready && m_lpDX->m_current_mode.m_skin) + m_lpDX->SaveWindow(); + break; + case WM_NCACTIVATE: + // *Very Important Handler!* + // -Without this code, the app would not work properly when running in true + // fullscreen mode on multiple monitors; it would auto-minimize whenever the + // user clicked on a window in another display. + if (wParam == 0 && + m_screenmode == FULLSCREEN && + m_frame > 0 && + !m_exiting && + m_lpDX && + m_lpDX->m_ready + && m_lpDX->m_lpD3D && + m_lpDX->m_lpD3D->GetAdapterCount() > 1 + ) + { + return 0; + } + break; + + case WM_DESTROY: + // note: don't post quit message here if the window is being destroyed + // and re-created on a switch between windowed & FAKE fullscreen modes. + if (!m_lpDX->TempIgnoreDestroyMessages()) + { + // this is a final exit, and not just destroy-then-recreate-the-window. + // so, flag DXContext so it knows that someone else + // will take care of destroying the window! + m_lpDX->OnTrulyExiting(); + PostQuitMessage(0); + } + return FALSE; + break; + // benski> a little hack to get the window size correct. it seems to work + case WM_USER+555: + if (m_lpDX && m_lpDX->m_ready && m_screenmode==WINDOWED && !m_resizing) + { + OnUserResizeWindow(); + m_lpDX->SaveWindow(); + } + break; + case WM_SIZE: + // clear or set activity flag to reflect focus + if (m_lpDX && m_lpDX->m_ready && m_screenmode==WINDOWED && !m_resizing) + { + m_hidden = (SIZE_MAXHIDE==wParam || SIZE_MINIMIZED==wParam) ? TRUE : FALSE; + + if (SIZE_MAXIMIZED==wParam || SIZE_RESTORED==wParam) // the window has been maximized or restored + OnUserResizeWindow(); + } + break; + + case WM_ENTERSIZEMOVE: + m_resizing = 1; + break; + + case WM_EXITSIZEMOVE: + if (m_lpDX && m_lpDX->m_ready && m_screenmode==WINDOWED) + OnUserResizeWindow(); + m_resizing = 0; + break; + + case WM_GETMINMAXINFO: + { + // don't let the window get too small + MINMAXINFO* p = (MINMAXINFO*)lParam; + if (p->ptMinTrackSize.x < 64) + p->ptMinTrackSize.x = 64; + p->ptMinTrackSize.y = p->ptMinTrackSize.x*3/4; + } + return 0; + + case WM_MOUSEMOVE: + if (m_screenmode==DESKTOP && (m_desktop_dragging==1 || m_desktop_box==1)) + { + m_desktop_drag_curpos.x = LOWORD(lParam); + m_desktop_drag_curpos.y = HIWORD(lParam); + if (m_desktop_box==1) + { + // update selection based on box coords + RECT box, temp; + box.left = min(m_desktop_drag_curpos.x, m_desktop_drag_startpos.x); + box.right = max(m_desktop_drag_curpos.x, m_desktop_drag_startpos.x); + box.top = min(m_desktop_drag_curpos.y, m_desktop_drag_startpos.y); + box.bottom = max(m_desktop_drag_curpos.y, m_desktop_drag_startpos.y); + + IconList::iterator p; + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + { + p->selected = 0; + + if (IntersectRect(&temp, &box, &p->label_rect)) + p->selected = 1; + else if (IntersectRect(&temp, &box, &p->icon_rect)) + p->selected = 1; + } + } + + // repaint window manually, if winamp is paused + if (SendMessage(m_hWndWinamp,WM_USER,0,104) != 1) + { + PushWindowToJustBeforeDesktop(GetPluginWindow()); + DrawAndDisplay(1); + } + + //return 0; + } + break; + + case WM_LBUTTONUP: + if (m_screenmode==DESKTOP) + { + if (m_desktop_dragging) + { + m_desktop_dragging = 0; + + // move selected item(s) to new cursor position + int dx = LOWORD(lParam) - m_desktop_drag_startpos.x; + int dy = HIWORD(lParam) - m_desktop_drag_startpos.y; + + if (dx!=0 || dy!=0) + { + int idx=0; + IconList::iterator p; + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + { + if (p->selected) + { + SendMessage(m_hWndDesktopListView, LVM_SETITEMPOSITION, idx, MAKELPARAM(p->x + dx, p->y + dy)); + p->x += dx; + p->y += dy; + } + idx++; + } + } + + // repaint window manually, if winamp is paused + if (SendMessage(m_hWndWinamp,WM_USER,0,104) != 1) + { + PushWindowToJustBeforeDesktop(GetPluginWindow()); + DrawAndDisplay(1); + } + } + + if (m_desktop_box) + { + m_desktop_box = 0; + + // repaint window manually, if winamp is paused + if (SendMessage(m_hWndWinamp,WM_USER,0,104) != 1) + { + PushWindowToJustBeforeDesktop(GetPluginWindow()); + DrawAndDisplay(1); + } + } + + //return 0; + } + break; + + case WM_USER + 1666: + if (wParam == 1 && lParam == 15) + { + if (m_screenmode == FULLSCREEN || m_screenmode == FAKE_FULLSCREEN) + ToggleFullScreen(); + } + return 0; + case WM_LBUTTONDOWN: + case WM_LBUTTONDBLCLK: + case WM_RBUTTONDOWN: + case WM_RBUTTONUP: + // Toggle between Fullscreen and Windowed modes on double-click + // note: this requires the 'CS_DBLCLKS' windowclass style! + if (m_screenmode != DESKTOP) + { + SetFocus(hWnd); + if (uMsg==WM_LBUTTONDBLCLK && m_frame>0) + { + ToggleFullScreen(); + return 0; + } + } + else + { + POINT pt; + pt.x = LOWORD(lParam); + pt.y = HIWORD(lParam); + + int done = 0; + + for (int pass=0; pass<2 && !done; pass++) + { + IconList::iterator p; + for (p = m_icon_list.begin(); p != m_icon_list.end(); p++) + { + RECT *pr = (pass==0) ? &p->icon_rect : &p->label_rect; + int bottom_extend = (pass==0) ? 3 : 0; // accepts clicks in the 3-pixel gap between the icon and the text label. + if (pt.x >= pr->left && + pt.x <= pr->right && + pt.y >= pr->top && + pt.y <= pr->bottom + bottom_extend) + { + switch (uMsg) + { + case WM_RBUTTONUP: + //pt.x += m_lpDX->m_monitor_rect.left; + //pt.y += m_lpDX->m_monitor_rect.top; + DoExplorerMenu(GetPluginWindow(), (LPITEMIDLIST)p->pidl, pt); + break; + case WM_LBUTTONDBLCLK: + { + char buf[MAX_PATH]; + sprintf(buf, "%s\\%s", m_szDesktopFolder, p->name); + ExecutePidl((LPITEMIDLIST)p->pidl, buf, m_szDesktopFolder, GetPluginWindow()); + } + break; + case WM_LBUTTONDOWN: + m_desktop_dragging = 1; + memcpy(m_desktop_drag_pidl, p->pidl, sizeof(m_desktop_drag_pidl)); + m_desktop_drag_startpos.x = LOWORD(lParam); + m_desktop_drag_startpos.y = HIWORD(lParam); + m_desktop_drag_curpos.x = LOWORD(lParam); + m_desktop_drag_curpos.y = HIWORD(lParam); + if (!(wParam & MK_CONTROL)) // if CTRL not held down + { + if (!p->selected) + { + DeselectDesktop(); + p->selected = 1; + } + } + else + { + p->selected = 1-p->selected; + } + break; + case WM_RBUTTONDOWN: + DeselectDesktop(); + p->selected = 1; + break; + } + + done = 1; + break; + } + } + } + + if (!done) + { + // deselect all, unless they're CTRL+clicking and missed an icon. + if (uMsg!=WM_LBUTTONDOWN || !(wParam & MK_CONTROL)) + DeselectDesktop(); + + if (uMsg==WM_RBUTTONUP)// || uMsg==WM_RBUTTONDOWN) + { + // note: can't use GetMenu and TrackPopupMenu here because the hwnd param to TrackPopupMenu must belong to current application. + + // (before sending coords to desktop window, xform them into its client coords:) + POINT pt; + pt.x = LOWORD(lParam); + pt.y = HIWORD(lParam); + ScreenToClient(m_hWndDesktopListView, &pt); + lParam = MAKELPARAM(pt.x + m_lpDX->m_monitor_rect.left, pt.y + m_lpDX->m_monitor_rect.top); + + PostMessage(m_hWndDesktopListView, uMsg, wParam, lParam); + //PostMessage(m_hWndDesktopListView, WM_CONTEXTMENU, (WPARAM)m_hWndDesktopListView, lParam); + } + else if (uMsg==WM_LBUTTONDOWN) + { + m_desktop_box = 1; + m_desktop_drag_startpos.x = LOWORD(lParam); + m_desktop_drag_startpos.y = HIWORD(lParam); + m_desktop_drag_curpos.x = LOWORD(lParam); + m_desktop_drag_curpos.y = HIWORD(lParam); + } + } + + // repaint window manually, if winamp is paused + if (SendMessage(m_hWndWinamp,WM_USER,0,104) != 1) + { + PushWindowToJustBeforeDesktop(GetPluginWindow()); + DrawAndDisplay(1); + } + + //return 0; + } + break; + + case WM_SETFOCUS: + // note: this msg never comes in when embedwnd is used, but that's ok, because that's only + // in Windowed mode, and m_lost_focus only makes us sleep when fullscreen. + m_lost_focus = 0; + break; + + case WM_KILLFOCUS: + // note: this msg never comes in when embedwnd is used, but that's ok, because that's only + // in Windowed mode, and m_lost_focus only makes us sleep when fullscreen. + m_lost_focus = 1; + break; + + case WM_SETCURSOR: + if ( + (m_screenmode == FULLSCREEN) || + (m_screenmode == FAKE_FULLSCREEN && m_lpDX->m_fake_fs_covers_all) + ) + { + // hide the cursor + SetCursor(NULL); + return TRUE; // prevent Windows from setting cursor to window class cursor + } + break; + + case WM_NCHITTEST: + // Prevent the user from selecting the menu in fullscreen mode + if (m_screenmode != WINDOWED) + return HTCLIENT; + break; + + case WM_SYSCOMMAND: + // Prevent *moving/sizing* and *entering standby mode* when in fullscreen mode + switch (wParam) + { + case SC_MOVE: + case SC_SIZE: + case SC_MAXIMIZE: + case SC_KEYMENU: + if (m_screenmode != WINDOWED) + return 1; + break; + case SC_MONITORPOWER: + if (m_screenmode == FULLSCREEN || m_screenmode == FAKE_FULLSCREEN) + return 1; + break; + } + break; + + case WM_CONTEXTMENU: + // launch popup context menu. see handler for WM_COMMAND also. + if (m_screenmode == DESKTOP) + { + // note: execution should never reach this point, + // because we don't pass WM_RBUTTONUP to DefWindowProc + // when in desktop mode! + return 0; + } + else if (m_screenmode == WINDOWED) // context menus only allowed in ~windowed modes + { + TrackPopupMenuEx(m_context_menu, TPM_VERTICAL, LOWORD(lParam), HIWORD(lParam), hWnd, NULL); + return 0; + } + break; + + case WM_COMMAND: + // handle clicks on items on context menu. + if (m_screenmode == WINDOWED) + { + switch (LOWORD(wParam)) + { + case ID_QUIT: + m_exiting = 1; + PostMessage(hWnd, WM_CLOSE, 0, 0); + return 0; + case ID_GO_FS: + if (m_frame > 0) + ToggleFullScreen(); + return 0; + case ID_DESKTOP_MODE: + if (m_frame > 0) + ToggleDesktop(); + return 0; + case ID_SHOWHELP: + ToggleHelp(); + return 0; + case ID_SHOWPLAYLIST: + TogglePlaylist(); + return 0; + } + // then allow the plugin to override any command: + if (MyWindowProc(hWnd, uMsg, wParam, lParam) == 0) + return 0; + } + break; + + /* + KEY HANDLING: the basic idea: + -in all cases, handle or capture: + -ZXCVBRS, zxcvbrs + -also make sure it's case-insensitive! (lowercase come through only as WM_CHAR; uppercase come in as both) + -(ALT+ENTER) + -(F1, ESC, UP, DN, Left, Right, SHIFT+l/r) + -(P for playlist) + -when playlist showing: steal J, HOME, END, PGUP, PGDN, UP, DOWN, ESC + -(BLOCK J, L) + -when integrated with winamp (using embedwnd), also handle these keys: + -j, l, L, CTRL+L [windowed mode only!] + -CTRL+P, CTRL+D + -CTRL+TAB + -ALT-E + -ALT+F (main menu) + -ALT+3 (id3) + */ + + case WM_SYSKEYDOWN: + if (wParam==VK_RETURN && m_frame > 0) + { + ToggleFullScreen(); + return 0; + } + // if in embedded mode (using winamp skin), pass ALT+ keys on to winamp + // ex: ALT+E, ALT+F, ALT+3... + if (m_screenmode==WINDOWED && m_lpDX->m_current_mode.m_skin) + return PostMessage(m_hWndWinamp, uMsg, wParam, lParam); // force-pass to winamp; required for embedwnd + break; + + case WM_SYSKEYUP: + if (m_screenmode==WINDOWED && m_lpDX->m_current_mode.m_skin) + return PostMessage(m_hWndWinamp, uMsg, wParam, lParam); // force-pass to winamp; required for embedwnd + break; + + case WM_SYSCHAR: + if ((wParam=='k' || wParam=='K')) + { + OnAltK(); + return 0; + } + if ((wParam=='d' || wParam=='D') && m_frame > 0) + { + ToggleDesktop(); + return 0; + } + break; + + case WM_CHAR: + // if playlist is showing, steal p/j keys from the plugin: + if (m_show_playlist) + { + switch (wParam) + { + case 'j': + case 'J': + m_playlist_pos = SendMessage(m_hWndWinamp,WM_USER, 0, 125); + return 0; + default: + { + int nSongs = SendMessage(m_hWndWinamp,WM_USER, 0, 124); + int found = 0; + int orig_pos = m_playlist_pos; + int inc = (wParam>='A' && wParam<='Z') ? -1 : 1; + while (1) + { + if (inc==1 && m_playlist_pos >= nSongs-1) + break; + if (inc==-1 && m_playlist_pos <= 0) + break; + + m_playlist_pos += inc; + + char buf[32]; + strncpy(buf, (char*)SendMessage(m_hWndWinamp, WM_USER, m_playlist_pos, 212), 31); + buf[31] = 0; + + // remove song # and period from beginning + char *p = buf; + while (*p >= '0' && *p <= '9') p++; + if (*p == '.' && *(p+1) == ' ') + { + p += 2; + int pos = 0; + while (*p != 0) + { + buf[pos++] = *p; + p++; + } + buf[pos++] = 0; + } + + int wParam2 = (wParam>='A' && wParam<='Z') ? (wParam + 'a'-'A') : (wParam + 'A'-'a'); + if (buf[0]==wParam || buf[0]==wParam2) + { + found = 1; + break; + } + } + + if (!found) + m_playlist_pos = orig_pos; + } + return 0; + } + } + + // then allow the plugin to override any keys: + if (MyWindowProc(hWnd, uMsg, wParam, lParam) == 0) + return 0; + + // finally, default key actions: + if (wParam == keyMappings[5] || wParam == keyMappings[6]) // 'z' or 'Z' + { + PostMessage(m_hWndWinamp,WM_COMMAND,40044,0); + return 0; + } + else + { + switch (wParam) + { + // WINAMP PLAYBACK CONTROL KEYS: + case 'x': + case 'X': + PostMessage(m_hWndWinamp,WM_COMMAND,40045,0); + return 0; + case 'c': + case 'C': + PostMessage(m_hWndWinamp,WM_COMMAND,40046,0); + return 0; + case 'v': + case 'V': + PostMessage(m_hWndWinamp,WM_COMMAND,40047,0); + return 0; + case 'b': + case 'B': + PostMessage(m_hWndWinamp,WM_COMMAND,40048,0); + return 0; + case 's': + case 'S': + //if (SendMessage(m_hWndWinamp,WM_USER,0,250)) + // sprintf(m_szUserMessage, "shuffle is now OFF"); // shuffle was on + //else + // sprintf(m_szUserMessage, "shuffle is now ON"); // shuffle was off + + // toggle shuffle + PostMessage(m_hWndWinamp,WM_COMMAND,40023,0); + return 0; + case 'r': + case 'R': + // toggle repeat + PostMessage(m_hWndWinamp,WM_COMMAND,40022,0); + return 0; + case 'p': + case 'P': + TogglePlaylist(); + return 0; + case 'l': + // note that this is actually correct; when you hit 'l' from the + // MAIN winamp window, you get an "open files" dialog; when you hit + // 'l' from the playlist editor, you get an "add files to playlist" dialog. + // (that sends IDC_PLAYLIST_ADDMP3==1032 to the playlist, which we can't + // do from here.) + PostMessage(m_hWndWinamp,WM_COMMAND,40029,0); + return 0; + case 'L': + PostMessage(m_hWndWinamp,WM_COMMAND,40187,0); + return 0; + case 'j': + PostMessage(m_hWndWinamp,WM_COMMAND,40194,0); + return 0; + } + + return 0;//DefWindowProc(hWnd,uMsg,wParam,lParam); + } + break; // end case WM_CHAR + + case WM_KEYUP: + + // allow the plugin to override any keys: + if (MyWindowProc(hWnd, uMsg, wParam, lParam) == 0) + return 0; + + /* + switch(wParam) + { + case VK_SOMETHING: + ... + break; + } + */ + + return 0; + break; + + case WM_KEYDOWN: + if (m_show_playlist) + { + switch (wParam) + { + case VK_ESCAPE: + if(m_show_playlist) + TogglePlaylist(); + //m_show_playlist = 0; + return 0; + + case VK_UP: + { + int nRepeat = lParam & 0xFFFF; + if (GetKeyState(VK_SHIFT) & mask) + m_playlist_pos -= 10*nRepeat; + else + m_playlist_pos -= nRepeat; + } + return 0; + + case VK_DOWN: + { + int nRepeat = lParam & 0xFFFF; + if (GetKeyState(VK_SHIFT) & mask) + m_playlist_pos += 10*nRepeat; + else + m_playlist_pos += nRepeat; + } + return 0; + + case VK_HOME: + m_playlist_pos = 0; + return 0; + + case VK_END: + m_playlist_pos = SendMessage(m_hWndWinamp,WM_USER, 0, 124) - 1; + return 0; + + case VK_PRIOR: + if (GetKeyState(VK_SHIFT) & mask) + m_playlist_pageups += 10; + else + m_playlist_pageups++; + return 0; + + case VK_NEXT: + if (GetKeyState(VK_SHIFT) & mask) + m_playlist_pageups -= 10; + else + m_playlist_pageups--; + return 0; + + case VK_RETURN: + SendMessage(m_hWndWinamp,WM_USER, m_playlist_pos, 121); // set sel + SendMessage(m_hWndWinamp,WM_COMMAND, 40045, 0); // play it + return 0; + } + } + + // allow the plugin to override any keys: + if (MyWindowProc(hWnd, uMsg, wParam, lParam) == 0) + return 0; + + switch (wParam) + { + case VK_F1: + m_show_press_f1_msg = 0; + ToggleHelp(); + return 0; + + case VK_ESCAPE: + if (m_show_help) + ToggleHelp(); + else + { + if (m_screenmode == FAKE_FULLSCREEN || m_screenmode == FULLSCREEN) + { + ToggleFullScreen(); + } + else if (m_screenmode == DESKTOP) + { + ToggleDesktop(); + } + // exit the program on escape + //m_exiting = 1; + //PostMessage(hWnd, WM_CLOSE, 0, 0); + } + return 0; + + case VK_UP: + // increase volume + { + int nRepeat = lParam & 0xFFFF; + for (i=0; im_current_mode.m_skin) + { + if (bCtrlHeldDown && ((wParam >= 'A' && wParam <= 'Z') || wParam==VK_TAB)) + { + PostMessage(m_hWndWinamp, uMsg, wParam, lParam); + return 0; + } + } + return 0; + } + + return 0; + break; + } + + return MyWindowProc(hWnd, uMsg, wParam, lParam);//DefWindowProc(hWnd, uMsg, wParam, lParam); + //return 0L; +} + +LRESULT CALLBACK CPluginShell::DesktopWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) +{ + CPluginShell* p = (CPluginShell*)GetWindowLongPtr(hWnd,GWLP_USERDATA); + if (p) + return p->PluginShellDesktopWndProc(hWnd, uMsg, wParam, lParam); + else + return DefWindowProc(hWnd, uMsg, wParam, lParam); +} + +LRESULT CPluginShell::PluginShellDesktopWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) +{ + //#ifdef _DEBUG + // OutputDebugMessage("kbfocus", hWnd, uMsg, wParam, lParam); + //#endif + + switch (uMsg) + { + case WM_KEYDOWN: + case WM_KEYUP: + case WM_CHAR: + case WM_SYSCHAR: + case WM_SYSKEYDOWN: + case WM_SYSKEYUP: + //PostMessage(GetPluginWindow(), uMsg, wParam, lParam); + PluginShellWindowProc(GetPluginWindow(), uMsg, wParam, lParam); + return 0; + break; + } + + return DefWindowProc(hWnd, uMsg, wParam, lParam); +} + +void CPluginShell::AlignWaves() +{ + // align waves, using recursive (mipmap-style) least-error matching + // note: NUM_WAVEFORM_SAMPLES must be between 32 and 576. + + int align_offset[2] = { 0, 0 }; + +#if (NUM_WAVEFORM_SAMPLES < 576) // [don't let this code bloat our DLL size if it's not going to be used] + + int nSamples = NUM_WAVEFORM_SAMPLES; + +#define MAX_OCTAVES 10 + + int octaves = (int)floorf(logf((float)(576-nSamples))/logf(2.0f)); + if (octaves < 4) + return; + if (octaves > MAX_OCTAVES) + octaves = MAX_OCTAVES; + + for (int ch=0; ch<2; ch++) + { + // only worry about matching the lower 'nSamples' samples + float temp_new[MAX_OCTAVES][576]; + float temp_old[MAX_OCTAVES][576]; + static float temp_weight[MAX_OCTAVES][576]; + static int first_nonzero_weight[MAX_OCTAVES]; + static int last_nonzero_weight[MAX_OCTAVES]; + int spls[MAX_OCTAVES]; + int space[MAX_OCTAVES]; + + memcpy(temp_new[0], m_sound.fWaveform[ch], sizeof(float)*576); + memcpy(temp_old[0], &m_oldwave[ch][m_prev_align_offset[ch]], sizeof(float)*nSamples); + spls[0] = 576; + space[0] = 576 - nSamples; + + // potential optimization: could reuse (instead of recompute) mip levels for m_oldwave[2][]? + for (int octave=1; octave1) temp_weight[octave][n] = 1; + if (temp_weight[octave][n]<0) temp_weight[octave][n] = 0; + } + + n = 0; + while (temp_weight[octave][n] == 0 && n < compare_samples) + n++; + first_nonzero_weight[octave] = n; + + n = compare_samples-1; + while (temp_weight[octave][n] == 0 && n >= 0) + n--; + last_nonzero_weight[octave] = n; + } + } + + int n1 = 0; + int n2 = space[octaves-1]; + for (octave = octaves-1; octave>=0; octave--) + { + // for example: + // space[octave] == 4 + // spls[octave] == 36 + // (so we test 32 samples, w/4 offsets) + int compare_samples = spls[octave]-space[octave]; + + int lowest_err_offset = -1; + float lowest_err_amount = 0; + for (int n=n1; n0) + err_sum += x; + else + err_sum -= x; + } + + if (lowest_err_offset == -1 || err_sum < lowest_err_amount) + { + lowest_err_offset = n; + lowest_err_amount = err_sum; + } + } + + // now use 'lowest_err_offset' to guide bounds of search in next octave: + // space[octave] == 8 + // spls[octave] == 72 + // -say 'lowest_err_offset' was 2 + // -that corresponds to samples 4 & 5 of the next octave + // -also, expand about this by 2 samples? YES. + // (so we'd test 64 samples, w/8->4 offsets) + if (octave > 0) + { + n1 = lowest_err_offset*2 -1; + n2 = lowest_err_offset*2+2+1; + if (n1 < 0) n1=0; + if (n2 > space[octave-1]) n2 = space[octave-1]; + } + else + align_offset[ch] = lowest_err_offset; + } + } +#endif + memcpy(m_oldwave[0], m_sound.fWaveform[0], sizeof(float)*576); + memcpy(m_oldwave[1], m_sound.fWaveform[1], sizeof(float)*576); + m_prev_align_offset[0] = align_offset[0]; + m_prev_align_offset[1] = align_offset[1]; + + // finally, apply the results: modify m_sound.fWaveform[2][0..576] + // by scooting the aligned samples so that they start at m_sound.fWaveform[2][0]. + for (ch=0; ch<2; ch++) + if (align_offset[ch]>0) + { + for (int i=0; iPluginShellVJModeWndProc(hWnd, uMsg, wParam, lParam); + else + return DefWindowProc(hWnd, uMsg, wParam, lParam); +} + +LRESULT CPluginShell::PluginShellVJModeWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ +#ifdef _DEBUG + if (message != WM_MOUSEMOVE && + message != WM_NCHITTEST && + message != WM_SETCURSOR && + message != WM_COPYDATA && + message != WM_USER) + { + char caption[256] = "VJWndProc: frame 0, "; + if (m_frame > 0) + { + float time = m_time; + int hours = (int)(time/3600); + time -= hours*3600; + int minutes = (int)(time/60); + time -= minutes*60; + int seconds = (int)time; + time -= seconds; + int dsec = (int)(time*100); + sprintf(caption, "VJWndProc: frame %d, t=%dh:%02dm:%02d.%02ds, ", m_frame, hours, minutes, seconds, dsec); + } + OutputDebugMessage(caption, hwnd, message, wParam, lParam); + } +#endif + + switch (message) + { + case WM_KEYDOWN: + case WM_KEYUP: + case WM_CHAR: + case WM_SYSKEYDOWN: + case WM_SYSKEYUP: + case WM_SYSCHAR: + // pass keystrokes on to plugin! + return PluginShellWindowProc(GetPluginWindow(),message,wParam,lParam); + + case WM_ERASEBKGND: + // Repaint window when song is paused and image needs to be repainted: + if (SendMessage(m_hWndWinamp,WM_USER,0,104)!=1 && m_vjd3d9_device && GetFrame() > 0) // WM_USER/104 return codes: 1=playing, 3=paused, other=stopped + { + m_vjd3d9_device->Present(NULL,NULL,NULL,NULL); + return 0; + } + break; + + /* + case WM_WINDOWPOSCHANGING: + if (m_screenmode == DESKTOP) + { + LPWINDOWPOS pwp = (LPWINDOWPOS)lParam; + if (pwp) + pwp->flags |= SWP_NOOWNERZORDER | SWP_NOZORDER; + } + break; + + case WM_ACTIVATEAPP: + // *Very Important Handler!* + // -Without this code, the app would not work properly when running in true + // fullscreen mode on multiple monitors; it would auto-minimize whenever the + // user clicked on a window in another display. + if (wParam == 1 && + m_screenmode == DESKTOP && + m_frame > 0 && + !m_exiting + ) + { + return 0; + } + break; + + /* + case WM_NCACTIVATE: + // *Very Important Handler!* + // -Without this code, the app would not work properly when running in true + // fullscreen mode on multiple monitors; it would auto-minimize whenever the + // user clicked on a window in another display. + // (NOTE: main window also handles this message this way) + if (wParam == 0 && + m_screenmode == FULLSCREEN && + m_frame > 0 && + !m_exiting && + m_lpDX && + m_lpDX->m_ready + && m_lpDX->m_lpD3D && + m_lpDX->m_lpD3D->GetAdapterCount() > 1 + ) + { + return 0; + } + break; + */ + + /* + case WM_ACTIVATEAPP: + if (wParam == 1 && + m_screenmode == DESKTOP && + m_frame > 0 && + !m_exiting && + m_vjd3d9_device + ) + { + return 0; + } + break; + */ + + /* + case WM_WINDOWPOSCHANGING: + if ( + m_screenmode == DESKTOP + && (!m_force_accept_WM_WINDOWPOSCHANGING) + && m_lpDX && m_lpDX->m_ready + ) + { + // unless we requested it ourselves or it's init time, + // prevent the fake desktop window from moving around + // in the Z order! (i.e., keep it on the bottom) + + // without this code, when you click on the 'real' desktop + // in a multimon setup, any windows that are overtop of the + // 'fake' desktop will flash, since they'll be covered + // up by the fake desktop window (but then shown again on + // the next frame, when we detect that the fake desktop + // window isn't on bottom & send it back to the bottom). + + LPWINDOWPOS pwp = (LPWINDOWPOS)lParam; + if (pwp) + pwp->flags |= SWP_NOOWNERZORDER | SWP_NOZORDER; + } + break; + */ + + case WM_CLOSE: + // if they close the VJ window (by some means other than ESC key), + // this will make the graphics window close, too. + m_exiting = 1; + if (GetPluginWindow()) + PostMessage(GetPluginWindow(), WM_CLOSE, 0, 0); + break; + + case WM_GETMINMAXINFO: + { + // don't let the window get too small + MINMAXINFO* p = (MINMAXINFO*)lParam; + if (p->ptMinTrackSize.x < 64) + p->ptMinTrackSize.x = 64; + p->ptMinTrackSize.y = p->ptMinTrackSize.x*3/4; + } + return 0; + + case WM_SIZE: + // clear or set activity flag to reflect focus + if (m_vjd3d9_device && !m_resizing_textwnd) + { + m_hidden_textwnd = (SIZE_MAXHIDE==wParam || SIZE_MINIMIZED==wParam) ? TRUE : FALSE; + + if (SIZE_MAXIMIZED==wParam || SIZE_RESTORED==wParam) // the window has been maximized or restored + OnUserResizeTextWindow(); + } + break; + + case WM_ENTERSIZEMOVE: + m_resizing_textwnd = 1; + break; + + case WM_EXITSIZEMOVE: + if (m_vjd3d9_device) + OnUserResizeTextWindow(); + m_resizing_textwnd = 0; + break; + } + + return DefWindowProc(hwnd, message, wParam, lParam); +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/pluginshell.h b/src/MilkDrop2/vis_milk2/pluginshell.h new file mode 100644 index 0000000000..84860630a0 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/pluginshell.h @@ -0,0 +1,371 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_PLUGIN_SHELL_H__ +#define __NULLSOFT_DX9_PLUGIN_SHELL_H__ 1 + +#include "shell_defines.h" +#include "dxcontext.h" +#include "fft.h" +#include "defines.h" +#include "textmgr.h" + +#include "icon_t.h" +#include "../nu/Vector.h" + +#define TIME_HIST_SLOTS 128 // # of slots used if fps > 60. half this many if fps==30. +#define MAX_SONGS_PER_PAGE 40 + +typedef struct +{ + wchar_t szFace[256]; + int nSize; // size requested @ font creation time + int bBold; + int bItalic; + int bAntiAliased; +} td_fontinfo; + +typedef struct +{ + float imm[2][3]; // bass, mids, treble, no damping, for each channel (long-term average is 1) + float avg[2][3]; // bass, mids, treble, some damping, for each channel (long-term average is 1) + float med_avg[2][3]; // bass, mids, treble, more damping, for each channel (long-term average is 1) + float long_avg[2][3]; // bass, mids, treble, heavy damping, for each channel (long-term average is 1) + float infinite_avg[2][3]; // bass, mids, treble: winamp's average output levels. (1) + float fWaveform[2][576]; // Not all 576 are valid! - only NUM_WAVEFORM_SAMPLES samples are valid for each channel (note: NUM_WAVEFORM_SAMPLES is declared in shell_defines.h) + float fSpectrum[2][NUM_FREQUENCIES]; // NUM_FREQUENCIES samples for each channel (note: NUM_FREQUENCIES is declared in shell_defines.h) +} td_soundinfo; // ...range is 0 Hz to 22050 Hz, evenly spaced. + +class CPluginShell +{ +public: + // GET METHODS + // ------------------------------------------------------------ + int GetFrame(); // returns current frame # (starts at zero) + float GetTime(); // returns current animation time (in seconds) (starts at zero) (updated once per frame) + float GetFps(); // returns current estimate of framerate (frames per second) + eScrMode GetScreenMode(); // returns WINDOWED, FULLSCREEN, FAKE_FULLSCREEN, DESKTOP, or NOT_YET_KNOWN (if called before or during OverrideDefaults()). + HWND GetWinampWindow(); // returns handle to Winamp main window + HINSTANCE GetInstance(); // returns handle to the plugin DLL module; used for things like loading resources (dialogs, bitmaps, icons...) that are built into the plugin. + wchar_t* GetPluginsDirPath(); // usually returns 'c:\\program files\\winamp\\plugins\\' + wchar_t* GetConfigIniFile(); // usually returns 'c:\\program files\\winamp\\plugins\\something.ini' - filename is determined from identifiers in 'defines.h' + char* GetConfigIniFileA(); +protected: + + // GET METHODS THAT ONLY WORK ONCE DIRECTX IS READY + // ------------------------------------------------------------ + // The following 'Get' methods are only available after DirectX has been initialized. + // If you call these from OverrideDefaults, MyPreInitialize, or MyReadConfig, + // they will return NULL (zero). + // ------------------------------------------------------------ + HWND GetPluginWindow(); // returns handle to the plugin window. NOT persistent; can change! + int GetWidth(); // returns width of plugin window interior, in pixels. Note: in windowed mode, this is a fudged, larger, aligned value, and on final display, it gets cropped. + int GetHeight(); // returns height of plugin window interior, in pixels. Note: in windowed mode, this is a fudged, larger, aligned value, and on final display, it gets cropped. + int GetBitDepth(); // returns 8, 16, 24 (rare), or 32 + LPDIRECT3DDEVICE9 GetDevice(); // returns a pointer to the DirectX 8 Device. NOT persistent; can change! + D3DCAPS9* GetCaps(); // returns a pointer to the D3DCAPS9 structer for the device. NOT persistent; can change. + D3DFORMAT GetBackBufFormat(); // returns the pixelformat of the back buffer (probably D3DFMT_R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_X8R8G8B8, D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_A1R5G5B5, D3DFMT_A4R4G4B4, D3DFMT_R3G3B2, D3DFMT_A8R3G3B2, D3DFMT_X4R4G4B4, or D3DFMT_UNKNOWN) + D3DFORMAT GetBackBufZFormat(); // returns the pixelformat of the back buffer's Z buffer (probably D3DFMT_D16_LOCKABLE, D3DFMT_D32, D3DFMT_D15S1, D3DFMT_D24S8, D3DFMT_D16, D3DFMT_D24X8, D3DFMT_D24X4S4, or D3DFMT_UNKNOWN) + char* GetDriverFilename(); // returns a text string with the filename of the current display adapter driver, such as "nv4_disp.dll" + char* GetDriverDescription(); // returns a text string describing the current display adapter, such as "NVIDIA GeForce4 Ti 4200" + + // FONTS & TEXT + // ------------------------------------------------------------ +public: + LPD3DXFONT GetFont(eFontIndex idx); // returns a D3DX font handle for drawing text; see shell_defines.h for the definition of the 'eFontIndex' enum. + int GetFontHeight(eFontIndex idx); // returns the height of the font, in pixels; see shell_defines.h for the definition of the 'eFontIndex' enum. + CTextManager m_text; +protected: + + // MISC + // ------------------------------------------------------------ + td_soundinfo m_sound; // a structure always containing the most recent sound analysis information; defined in pluginshell.h. + void SuggestHowToFreeSomeMem(); // gives the user a 'smart' messagebox that suggests how they can free up some video memory. + + // CONFIG PANEL SETTINGS + // ------------------------------------------------------------ + // *** only read/write these values during CPlugin::OverrideDefaults! *** + int m_start_fullscreen; // 0 or 1 + int m_start_desktop; // 0 or 1 + int m_fake_fullscreen_mode; // 0 or 1 + int m_max_fps_fs; // 1-120, or 0 for 'unlimited' + int m_max_fps_dm; // 1-120, or 0 for 'unlimited' + int m_max_fps_w; // 1-120, or 0 for 'unlimited' + int m_show_press_f1_msg; // 0 or 1 + int m_allow_page_tearing_w; // 0 or 1 + int m_allow_page_tearing_fs; // 0 or 1 + int m_allow_page_tearing_dm; // 0 or 1 + int m_minimize_winamp; // 0 or 1 + int m_desktop_show_icons; // 0 or 1 + int m_desktop_textlabel_boxes; // 0 or 1 + int m_desktop_manual_icon_scoot; // 0 or 1 + int m_desktop_555_fix; // 0 = 555, 1 = 565, 2 = 888 + int m_dualhead_horz; // 0 = both, 1 = left, 2 = right + int m_dualhead_vert; // 0 = both, 1 = top, 2 = bottom + int m_save_cpu; // 0 or 1 + int m_skin; // 0 or 1 + int m_fix_slow_text; // 0 or 1 + td_fontinfo m_fontinfo[NUM_BASIC_FONTS + NUM_EXTRA_FONTS]; + D3DDISPLAYMODE m_disp_mode_fs; // a D3DDISPLAYMODE struct that specifies the width, height, refresh rate, and color format to use when the plugin goes fullscreen. + + // PURE VIRTUAL FUNCTIONS (...must be implemented by derived classes) + // ------------------------------------------------------------ + virtual void OverrideDefaults() = 0; + virtual void MyPreInitialize() = 0; + virtual void MyReadConfig() = 0; + virtual void MyWriteConfig() = 0; + virtual int AllocateMyNonDx9Stuff() = 0; + virtual void CleanUpMyNonDx9Stuff() = 0; + virtual int AllocateMyDX9Stuff() = 0; + virtual void CleanUpMyDX9Stuff(int final_cleanup) = 0; + virtual void MyRenderFn(int redraw) = 0; + virtual void MyRenderUI(int *upper_left_corner_y, int *upper_right_corner_y, int *lower_left_corner_y, int *lower_right_corner_y, int xL, int xR) = 0; + virtual LRESULT MyWindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam) = 0; + virtual BOOL MyConfigTabProc(int nPage, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) = 0; + virtual void OnAltK() { }; // doesn't *have* to be implemented + +//===================================================================================================================== +private: + + // GENERAL PRIVATE STUFF + eScrMode m_screenmode; // // WINDOWED, FULLSCREEN, or FAKE_FULLSCREEN (i.e. running in a full-screen-sized window) + int m_frame; // current frame #, starting at zero + float m_time; // current animation time in seconds; starts at zero. + float m_fps; // current estimate of frames per second + HWND m_hWndWinamp; // handle to Winamp window + HINSTANCE m_hInstance; // handle to application instance + DXContext* m_lpDX; // pointer to DXContext object + wchar_t m_szPluginsDirPath[MAX_PATH]; // usually 'c:\\program files\\winamp\\plugins\\' + wchar_t m_szConfigIniFile[MAX_PATH]; // usually 'c:\\program files\\winamp\\plugins\\something.ini' - filename is determined from identifiers in 'defines.h' + char m_szConfigIniFileA[MAX_PATH]; // usually 'c:\\program files\\winamp\\plugins\\something.ini' - filename is determined from identifiers in 'defines.h' + + // FONTS + IDirect3DTexture9* m_lpDDSText; + LPD3DXFONT m_d3dx_font[NUM_BASIC_FONTS + NUM_EXTRA_FONTS]; + LPD3DXFONT m_d3dx_desktop_font; + HFONT m_font[NUM_BASIC_FONTS + NUM_EXTRA_FONTS]; + HFONT m_font_desktop; + + // PRIVATE CONFIG PANEL SETTINGS + D3DMULTISAMPLE_TYPE m_multisample_fullscreen; + D3DMULTISAMPLE_TYPE m_multisample_desktop; + D3DMULTISAMPLE_TYPE m_multisample_windowed; + GUID m_adapter_guid_fullscreen; + GUID m_adapter_guid_desktop; + GUID m_adapter_guid_windowed; + char m_adapter_devicename_fullscreen[256]; // these are also necessary sometimes, + char m_adapter_devicename_desktop[256]; // for example, when a laptop (single adapter) + char m_adapter_devicename_windowed[256]; // drives two displays! DeviceName will be \\.\Display1 and \\.\Display2 or something. + + // PRIVATE RUNTIME SETTINGS + int m_lost_focus; // ~mostly for fullscreen mode + int m_hidden; // ~mostly for windowed mode + int m_resizing; // ~mostly for windowed mode + int m_show_help; + int m_show_playlist; + int m_playlist_pos; // current selection on (plugin's) playlist menu + int m_playlist_pageups; // can be + or - + int m_playlist_top_idx; // used to track when our little playlist cache (m_playlist) needs updated. + int m_playlist_btm_idx; // used to track when our little playlist cache (m_playlist) needs updated. + int m_playlist_width_pixels; // considered invalid whenever 'm_playlist_top_idx' is -1. + wchar_t m_playlist[MAX_SONGS_PER_PAGE][256]; // considered invalid whenever 'm_playlist_top_idx' is -1. + int m_exiting; + int m_upper_left_corner_y; + int m_lower_left_corner_y; + int m_upper_right_corner_y; + int m_lower_right_corner_y; + int m_left_edge; + int m_right_edge; + int m_force_accept_WM_WINDOWPOSCHANGING; + + // PRIVATE - GDI STUFF + HMENU m_main_menu; + HMENU m_context_menu; + + // PRIVATE - DESKTOP MODE STUFF + //typedef std::list IconList; + typedef Vector IconList; + IconList m_icon_list; + IDirect3DTexture9* m_desktop_icons_texture[MAX_ICON_TEXTURES]; + HWND m_hWndProgMan; + HWND m_hWndDesktop; + HWND m_hWndDesktopListView; + char m_szDesktopFolder[MAX_PATH]; // *without* the final backslash + int m_desktop_icon_size; + int m_desktop_dragging; // '1' when user is dragging icons around + int m_desktop_box; // '1' when user is drawing a box + BYTE m_desktop_drag_pidl[1024]; // cast this to ITEMIDLIST + POINT m_desktop_drag_startpos; // applies to dragging or box-drawing + POINT m_desktop_drag_curpos; // applies to dragging or box-drawing + int m_desktop_wc_registered; + DWORD m_desktop_bk_color; + DWORD m_desktop_text_color; + DWORD m_desktop_sel_color; + DWORD m_desktop_sel_text_color; + int m_desktop_icon_state; // 0=uninit, 1=total refresh in progress, 2=ready, 3=update in progress + int m_desktop_icon_count; + int m_desktop_icon_update_frame; + CRITICAL_SECTION m_desktop_cs; + int m_desktop_icons_disabled; + int m_vms_desktop_loaded; + int m_desktop_hook_set; + bool m_bClearVJWindow; + + // PRIVATE - MORE TIMEKEEPING + protected: + double m_last_raw_time; + LARGE_INTEGER m_high_perf_timer_freq; // 0 if high-precision timer not available + private: + float m_time_hist[TIME_HIST_SLOTS]; // cumulative + int m_time_hist_pos; + LARGE_INTEGER m_prev_end_of_frame; + + // PRIVATE AUDIO PROCESSING DATA + FFT m_fftobj; + float m_oldwave[2][576]; // for wave alignment + int m_prev_align_offset[2]; // for wave alignment + int m_align_weights_ready; + +public: + CPluginShell(); + ~CPluginShell(); + + // called by vis.cpp, on behalf of Winamp: + int PluginPreInitialize(HWND hWinampWnd, HINSTANCE hWinampInstance); + int PluginInitialize(); + int PluginRender(unsigned char *pWaveL, unsigned char *pWaveR); + void PluginQuit(); + + void ToggleHelp(); + void TogglePlaylist(); + + void READ_FONT(int n); + void WRITE_FONT(int n); + + // config panel / windows messaging processes: + static LRESULT CALLBACK WindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + static LRESULT CALLBACK DesktopWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + static LRESULT CALLBACK VJModeWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + static INT_PTR CALLBACK ConfigDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + static INT_PTR CALLBACK TabCtrlProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + static INT_PTR CALLBACK FontDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + static INT_PTR CALLBACK DesktopOptionsDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + static INT_PTR CALLBACK DualheadDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + +private: + void PushWindowToJustBeforeDesktop(HWND h); + void DrawAndDisplay(int redraw); + void ReadConfig(); + void WriteConfig(); + void DoTime(); + void AnalyzeNewSound(unsigned char *pWaveL, unsigned char *pWaveR); + void AlignWaves(); + int InitDirectX(); + void CleanUpDirectX(); + int InitGDIStuff(); + void CleanUpGDIStuff(); + int AllocateDX9Stuff(); + void CleanUpDX9Stuff(int final_cleanup); + int InitNondx9Stuff(); + void CleanUpNondx9Stuff(); + int InitVJStuff(RECT* pClientRect=NULL); + void CleanUpVJStuff(); + int AllocateFonts(IDirect3DDevice9 *pDevice); + void CleanUpFonts(); + void AllocateTextSurface(); + void ToggleDesktop(); + void OnUserResizeWindow(); + void OnUserResizeTextWindow(); + void PrepareFor2DDrawing_B(IDirect3DDevice9 *pDevice, int w, int h); + void RenderBuiltInTextMsgs(); + int GetCanvasMarginX(); // returns the # of pixels that exist on the canvas, on each side, that the user will never see. Mainly here for windowed mode, where sometimes, up to 15 pixels get cropped at edges of the screen. + int GetCanvasMarginY(); // returns the # of pixels that exist on the canvas, on each side, that the user will never see. Mainly here for windowed mode, where sometimes, up to 15 pixels get cropped at edges of the screen. +public: + void ToggleFullScreen(); + void DrawDarkTranslucentBox(RECT* pr); +protected: + void RenderPlaylist(); + void StuffParams(DXCONTEXT_PARAMS *pParams); + void EnforceMaxFPS(); + + // DESKTOP MODE FUNCTIONS (found in desktop_mode.cpp) + int InitDesktopMode(); + void CleanUpDesktopMode(); + int CreateDesktopIconTexture(IDirect3DTexture9** ppTex); + void DeselectDesktop(); + void UpdateDesktopBitmaps(); + int StuffIconBitmaps(int iStartIconIdx, int iTexNum, int *show_msgs); + void RenderDesktop(); + + // SEPARATE TEXT WINDOW (FOR VJ MODE) + int m_vj_mode; + int m_hidden_textwnd; + int m_resizing_textwnd; + protected: + HWND m_hTextWnd; + private: + int m_nTextWndWidth; + int m_nTextWndHeight; + bool m_bTextWindowClassRegistered; + LPDIRECT3D9 m_vjd3d9; + LPDIRECT3DDEVICE9 m_vjd3d9_device; + //HDC m_memDC; // memory device context + //HBITMAP m_memBM, m_oldBM; + //HBRUSH m_hBlackBrush; + + // WINDOWPROC FUNCTIONS + LRESULT PluginShellWindowProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); // in windowproc.cpp + LRESULT PluginShellDesktopWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + LRESULT PluginShellVJModeWndProc(HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam); + + // CONFIG PANEL FUNCTIONS: + BOOL PluginShellConfigDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + BOOL PluginShellConfigTab1Proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + BOOL PluginShellFontDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + BOOL PluginShellDesktopOptionsDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + BOOL PluginShellDualheadDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); + bool InitConfig(HWND hDialogWnd); + void EndConfig(); + void UpdateAdapters(int screenmode); + void UpdateFSAdapterDispModes(); // (fullscreen only) + void UpdateDispModeMultiSampling(int screenmode); + void UpdateMaxFps(int screenmode); + int GetCurrentlySelectedAdapter(int screenmode); + void SaveDisplayMode(); + void SaveMultiSamp(int screenmode); + void SaveAdapter(int screenmode); + void SaveMaxFps(int screenmode); + void OnTabChanged(int nNewTab); + LPDIRECT3DDEVICE9 GetTextDevice() { return (m_vjd3d9_device) ? m_vjd3d9_device : m_lpDX->m_lpDevice; } + + // CHANGES: + friend class CShaderParams; +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/resource.h b/src/MilkDrop2/vis_milk2/resource.h new file mode 100644 index 0000000000..fccefb5c03 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/resource.h @@ -0,0 +1,877 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by plugin.rc +// +#define IDS_ABOUT_STRING 1 +#define IDS_SZ_MENU_NAV_TOOLTIP 2 +#define ID_DOCS 3 +#define IDS_UNTITLED_MENU_ITEM 3 +#define IDLEFT 4 +#define IDS_UNTITLED_MENU 4 +#define ID_WEB 5 +#define IDS_ON 5 +#define IDRIGHT 6 +#define IDS_OFF 6 +#define ID_DEFAULTS 7 +#define IDS_USE_UP_DOWN_ARROW_KEYS 7 +#define ID_MSG 8 +#define IDS_CURRENT_VALUE_OF_X 8 +#define ID_SPRITE 9 +#define IDS_LOAD_FROM_FILE 9 +#define IDS_SAVE_TO_FILE 10 +#define IDS_ENTER_THE_NEW_STRING 11 +#define IDS_MILKDROP_ERROR 14 +#define IDS_MILKDROP_WARNING 19 +#define IDS_ERROR_CREATING_DOUBLE_SIZED_GDI_TITLE_FONT 20 +#define IDS_ERROR_CREATING_DOUBLE_SIZED_D3DX_TITLE_FONT 21 +#define IDS_RATING 23 +#define IDS_DISABLED 24 +#define IDS_ARE_YOU_SURE_YOU_WANT_TO_DELETE_PRESET 26 +#define IDS_PRESET_TO_DELETE 27 +#define IDS_FILE_ALREADY_EXISTS_OVERWRITE_IT 28 +#define IDS_FILE_IN_QUESTION_X_MILK 29 +#define IDS_ERROR_NO_PRESET_FILE_FOUND_IN_X_MILK 30 +#define IDS_LOAD_WHICH_PRESET_PLUS_COMMANDS 31 +#define IDS_PAGE_X_OF_X 32 +#define IDS_LOCKED 33 +#define IDS_ILLEGAL_CHARACTER 37 +#define IDS_STRING_TOO_LONG 38 +#define IDS_DIRECTORY_TO_JUMP_TO 39 +#define IDS_ERROR_IMPORTING_BAD_FILENAME 40 +#define IDS_ERROR_IMPORTING_BAD_FILENAME_OR_NOT_OVERWRITEABLE 41 +#define IDS_INVALID_PATH 42 +#define IDS_ENTER_THE_NEW_NAME_FOR_X 43 +#define IDS_PRESET_ORDER_IS_NOW_X 44 +#define IDS_SEQUENTIAL 45 +#define IDS_RANDOM 46 +#define IDS_SAVE_AS 50 +#define IDS_AUTO 51 +#define IDS_8X6_FAST 52 +#define IDS_16X12_FAST 53 +#define IDS_24X18 54 +#define IDS_32X24 55 +#define IDS_40X30 56 +#define IDS_48X36_DEFAULT 57 +#define IDS_64X48_SLOW 58 +#define IDS_80X60_SLOW 59 +#define IDS_96X72_SLOW 60 +#define IDS_128X96_SLOW 61 +#define IDS_ERROR_IN_SHELLEXECUTE 62 +#define IDS_MESH_SIZE 65 +#define IDS_MESH_SIZE_TEXT 66 +#define IDS_CB_ALWAYS3D 67 +#define IDS_DISABLE_PRESET_RATING 70 +#define IDS_DISABLE_PRESET_RATING_TEXT 71 +#define IDS_CB_NOWARN2 73 +#define IDS_START_WITH_PRESET_LOCK_ON 76 +#define IDS_START_WITH_PRESET_LOCK_ON_TEXT 77 +#define IDS_BRIGHT_SLIDER 78 +#define IDS_CB_AUTOGAMMA 79 +#define IDS_SPRITE 80 +#define IDS_MSG 81 +#define IDS_SONGTITLEANIM_DURATION_TEXT 86 +#define IDS_RAND_TITLE_TEXT 87 +#define IDS_RAND_MSG_TEXT 88 +#define IDS_TITLE_ANIMS_TEXT 89 +#define IDS_BETWEEN_TIME_TEXT 90 +#define IDS_BETWEEN_TIME_RANDOM_TEXT 91 +#define IDS_BLEND_AUTO_TEXT 92 +#define IDS_BLEND_USER_TEXT 93 +#define IDS_HARDCUT_BETWEEN_TIME_TEXT 94 +#define IDS_HARDCUT_LOUDNESS_TEXT 95 +#define IDS_CB_HARDCUTS 96 +#define IDS_EDIT_CURRENT_PRESET 98 +#define IDS_MOTION 99 +#define IDS_DRAWING_CUSTOM_SHAPES 100 +#define IDD_DIALOG1 101 +#define IDD_CONFIG 101 +#define IDS_DRAWING_CUSTOM_WAVES 101 +#define IDD_PROPPAGE_1 102 +#define IDS_DRAWING_SIMPLE_WAVEFORM 102 +#define IDD_PROPPAGE_2 103 +#define IDS_DRAWING_BORDERS_MOTION_VECTORS 103 +#define IDS_POST_PROCESSING_MISC 104 +#define IDS_CUSTOM_WAVE_X 105 +#define IDS_CUSTOM_SHAPE_X 106 +#define IDS_MENU_EDIT_PRESET_INIT_CODE 107 +#define IDS_MENU_EDIT_PRESET_INIT_CODE_TT 108 +#define IDS_MENU_EDIT_PER_FRAME_EQUATIONS 109 +#define IDR_WINDOWED_CONTEXT_MENU 110 +#define IDS_MENU_EDIT_PER_FRAME_EQUATIONS_TT 110 +#define IDS_MENU_WAVE_TYPE 113 +#define IDD_PROPPAGE_3 114 +#define IDS_MENU_WAVE_TYPE_TT 114 +#define IDD_PROPPAGE_4 115 +#define IDS_MENU_SIZE 115 +#define IDD_PROPPAGE_5 116 +#define IDS_MENU_SIZE_TT 116 +#define IDD_PROPPAGE_6 117 +#define IDS_MENU_SMOOTH 117 +#define IDD_PROPPAGE_7 118 +#define IDS_MENU_SMOOTH_TT 118 +#define IDD_PROPPAGE_8 119 +#define IDS_MENU_MYSTERY_PARAMETER 119 +#define IDI_PLUGIN_ICON 120 +#define IDS_MENU_MYSTERY_PARAMETER_TT 120 +#define IDD_FONTDIALOG 121 +#define IDS_MENU_POSITION_X 121 +#define IDD_DESKTOPMODE 122 +#define IDS_MENU_POSITION_X_TT 122 +#define IDD_DUALHEAD 123 +#define IDS_MENU_POSITION_Y 123 +#define IDS_MENU_POSITION_Y_TT 124 +#define IDS_MENU_COLOR_RED 125 +#define IDS_MENU_COLOR_RED_TT 126 +#define IDS_MENU_COLOR_GREEN 127 +#define IDS_MENU_COLOR_GREEN_TT 128 +#define IDR_TEXT1 129 +#define IDS_MENU_COLOR_BLUE 129 +#define IDR_TEXT2 130 +#define IDS_MENU_COLOR_BLUE_TT 130 +#define IDS_MENU_OPACITY 131 +#define IDS_MENU_OPACITY_TT 132 +#define IDS_MENU_USE_DOTS 133 +#define IDS_MENU_USE_DOTS_TT 134 +#define IDS_MENU_DRAW_THICK 135 +#define IDS_MENU_DRAW_THICK_TT 136 +#define IDS_MENU_MODULATE_OPACITY_BY_VOLUME 137 +#define IDS_MENU_MODULATE_OPACITY_BY_VOLUME_TT 138 +#define IDS_MENU_MODULATION_TRANSPARENT_VOLUME 139 +#define IDS_MENU_MODULATION_TRANSPARENT_VOLUME_TT 140 +#define IDS_MENU_MODULATION_OPAQUE_VOLUME 141 +#define IDS_MENU_MODULATION_OPAQUE_VOLUME_TT 142 +#define IDS_MENU_ADDITIVE_DRAWING 143 +#define IDS_MENU_ADDITIVE_DRAWING_TT 144 +#define IDS_MENU_COLOR_BRIGHTENING 145 +#define IDS_MENU_COLOR_BRIGHTENING_TT 146 +#define IDS_MENU_OUTER_BORDER_THICKNESS 147 +#define IDS_MENU_OUTER_BORDER_THICKNESS_TT 148 +#define IDS_MENU_COLOR_RED_OUTER 149 +#define IDS_MENU_COLOR_RED_OUTER_TT 150 +#define IDS_MENU_COLOR_GREEN_OUTER 151 +#define IDS_MENU_COLOR_GREEN_OUTER_TT 152 +#define IDS_MENU_COLOR_BLUE_OUTER 153 +#define IDS_MENU_COLOR_BLUE_OUTER_TT 154 +#define IDS_MENU_OPACITY_OUTER 155 +#define IDS_MENU_OPACITY_OUTER_TT 156 +#define IDS_MENU_INNER_BORDER_THICKNESS 157 +#define IDS_MENU_INNER_BORDER_THICKNESS_TT 160 +#define IDS_MENU_COLOR_RED_INNER_TT 161 +#define IDS_MENU_COLOR_GREEN_INNER_TT 162 +#define IDS_MENU_COLOR_BLUE_INNER_TT 163 +#define IDS_MENU_OPACITY_INNER_TT 164 +#define IDS_MENU_MOTION_VECTOR_OPACITY 165 +#define IDS_MENU_MOTION_VECTOR_OPACITY_TT 167 +#define IDS_MENU_NUM_MOT_VECTORS_X 168 +#define IDS_MENU_NUM_MOT_VECTORS_X_TT 169 +#define IDS_MENU_NUM_MOT_VECTORS_Y 170 +#define IDS_MENU_NUM_MOT_VECTORS_Y_TT 171 +#define IDS_MENU_OFFSET_X 172 +#define IDS_MENU_OFFSET_X_TT 173 +#define IDS_MENU_OFFSET_Y 174 +#define IDS_MENU_OFFSET_Y_TT 175 +#define IDS_MENU_TRAIL_LENGTH 176 +#define IDS_MENU_TRAIL_LENGTH_TT 177 +#define IDS_MENU_COLOR_RED_MOTION_VECTOR_TT 178 +#define IDS_MENU_COLOR_GREEN_MOTION_VECTOR_TT 179 +#define IDS_MENU_COLOR_BLUE_MOTION_VECTOR_TT 180 +#define IDS_MENU_ZOOM_AMOUNT 181 +#define IDS_MENU_ZOOM_AMOUNT_TT 182 +#define IDS_MENU_ZOOM_EXPONENT 183 +#define IDS_MENU_ZOOM_EXPONENT_TT 184 +#define IDS_MENU_WARP_AMOUNT 185 +#define IDS_MENU_WARP_AMOUNT_TT 186 +#define IDS_MENU_WARP_SCALE 187 +#define IDS_MENU_WARP_SCALE_TT 188 +#define IDS_MENU_WARP_SPEED 189 +#define IDS_MENU_WARP_SPEED_TT 190 +#define IDS_MENU_ROTATION_AMOUNT 191 +#define IDS_MENU_ROTATION_AMOUNT_TT 192 +#define IDS_MENU_ROTATION_CENTER_OF_X 193 +#define IDS_MENU_ROTATION_CENTER_OF_X_TT 194 +#define IDS_MENU_ROTATION_CENTER_OF_Y 195 +#define IDS_MENU_ROTATION_CENTER_OF_Y_TT 196 +#define IDS_MENU_TRANSLATION_X 197 +#define IDS_MENU_TRANSLATION_X_TT 198 +#define IDS_MENU_TRANSLATION_Y 199 +#define IDS_MENU_TRANSLATION_Y_TT 200 +#define IDS_MENU_SCALING_X 201 +#define IDS_MENU_SCALING_X_TT 202 +#define IDS_MENU_SCALING_Y 203 +#define IDS_MENU_SCALING_Y_TT 204 +#define IDS_MENU_SUSTAIN_LEVEL 205 +#define IDS_MENU_SUSTAIN_LEVEL_TT 206 +#define IDS_MENU_DARKEN_CENTER 207 +#define IDS_MENU_DARKEN_CENTER_TT 208 +#define IDS_MENU_GAMMA_ADJUSTMENT 209 +#define IDS_MENU_GAMMA_ADJUSTMENT_TT 210 +#define IDS_MENU_HUE_SHADER 211 +#define IDS_MENU_HUE_SHADER_TT 212 +#define IDS_MENU_VIDEO_ECHO_ALPHA 213 +#define IDS_MENU_VIDEO_ECHO_ALPHA_TT 214 +#define IDS_MENU_VIDEO_ECHO_ZOOM 215 +#define IDS_MENU_VIDEO_ECHO_ZOOM_TT 216 +#define IDS_MENU_VIDEO_ECHO_ORIENTATION 217 +#define IDS_MENU_VIDEO_ECHO_ORIENTATION_TT 218 +#define IDS_MENU_TEXTURE_WRAP 219 +#define IDS_MENU_TEXTURE_WRAP_TT 220 +#define IDS_MENU_FILTER_INVERT 223 +#define IDS_MENU_FILTER_INVERT_TT 224 +#define IDS_MENU_FILTER_BRIGHTEN 225 +#define IDS_MENU_FILTER_BRIGHTEN_TT 226 +#define IDS_MENU_FILTER_DARKEN 227 +#define IDS_MENU_FILTER_DARKEN_TT 228 +#define IDS_MENU_FILTER_SOLARIZE 229 +#define IDS_MENU_FILTER_SOLARIZE_TT 230 +#define IDS_MENU_ENABLED 231 +#define IDS_MENU_ENABLED_TT 232 +#define IDS_MENU_NUMBER_OF_SAMPLES 233 +#define IDS_MENU_NUMBER_OF_SAMPLES_TT 234 +#define IDS_MENU_L_R_SEPARATION 235 +#define IDS_MENU_L_R_SEPARATION_TT 236 +#define IDS_MENU_SCALING 237 +#define IDS_MENU_SCALING_TT 238 +#define IDS_MENU_SMOOTHING_TT 239 +#define IDS_MENU_OPACITY_WAVE_TT 240 +#define IDS_MENU_USE_SPECTRUM 241 +#define IDS_MENU_USE_SPECTRUM_TT 242 +#define IDS_MENU_USE_DOTS_WAVE_TT 243 +#define IDS_MENU_DRAW_THICK_WAVE_TT 244 +#define IDS_MENU_ADDITIVE_DRAWING_WAVE_TT 245 +#define IDS_MENU_EXPORT_TO_FILE 246 +#define IDS_MENU_EXPORT_TO_FILE_TT 247 +#define IDS_MENU_IMPORT_FROM_FILE 248 +#define IDS_MENU_IMPORT_FROM_FILE_TT 249 +#define IDS_MENU_EDIT_INIT_CODE 250 +#define IDS_MENU_EDIT_INIT_CODE_TT 251 +#define IDS_MENU_EDIT_PER_FRAME_CODE 252 +#define IDS_MENU_EDIT_PER_FRAME_CODE_TT 253 +#define IDS_MENU_EDIT_PER_POINT_CODE 254 +#define IDS_MENU_EDIT_PER_POINT_CODE_TT 255 +#define IDS_MENU_ENABLED_SHAPE_TT 256 +#define IDS_MENU_NUMBER_OF_SIDES 257 +#define IDS_MENU_NUMBER_OF_SIDES_TT 258 +#define IDS_MENU_DRAW_THICK_SHAPE_TT 259 +#define IDS_MENU_ADDITIVE_DRAWING_SHAPE_TT 260 +#define IDS_MENU_X_POSITION 261 +#define IDS_MENU_X_POSITION_TT 262 +#define IDS_MENU_Y_POSITION 263 +#define IDS_MENU_Y_POSITION_TT 264 +#define IDS_MENU_RADIUS 265 +#define IDS_MENU_RADIUS_TT 266 +#define IDS_MENU_ANGLE 267 +#define IDS_MENU_ANGLE_TT 268 +#define IDS_MENU_TEXTURED 269 +#define IDS_MENU_TEXTURED_TT 270 +#define IDS_MENU_TEXTURE_ZOOM 271 +#define IDS_MENU_TEXTURE_ZOOM_TT 272 +#define IDS_MENU_TEXTURE_ANGLE 273 +#define IDS_MENU_TEXTURE_ANGLE_TT 274 +#define IDS_MENU_INNER_COLOR_RED 275 +#define IDS_MENU_INNER_COLOR_RED_TT 276 +#define IDS_MENU_INNER_COLOR_GREEN 277 +#define IDS_MENU_INNER_COLOR_GREEN_TT 278 +#define IDS_MENU_INNER_COLOR_BLUE 279 +#define IDS_MENU_INNER_COLOR_BLUE_TT 280 +#define IDS_MENU_INNER_OPACITY 281 +#define IDS_MENU_INNER_OPACITY_TT 282 +#define IDS_MENU_OUTER_COLOR_RED 283 +#define IDS_MENU_OUTER_COLOR_RED_TT 284 +#define IDS_MENU_OUTER_COLOR_GREEN 285 +#define IDS_MENU_OUTER_COLOR_GREEN_TT 286 +#define IDS_MENU_OUTER_COLOR_BLUE 287 +#define IDS_MENU_OUTER_COLOR_BLUE_TT 288 +#define IDS_MENU_OUTER_OPACITY 289 +#define IDS_MENU_OUTER_OPACITY_TT 290 +#define IDS_MENU_BORDER_COLOR_RED 291 +#define IDS_MENU_BORDER_COLOR_RED_TT 292 +#define IDS_MENU_BORDER_COLOR_GREEN 293 +#define IDS_MENU_BORDER_COLOR_GREEN_TT 294 +#define IDS_MENU_BORDER_COLOR_BLUE 295 +#define IDS_MENU_BORDER_COLOR_BLUE_TT 296 +#define IDS_MENU_BORDER_OPACITY 297 +#define IDS_MENU_BORDER_OPACITY_TT 298 +#define IDS_MENU_EXPORT_TO_FILE_SHAPE_TT 299 +#define IDS_MENU_IMPORT_FROM_FILE_SHAPE_TT 300 +#define IDS_ERROR_UNABLE_TO_SAVE_THE_FILE 303 +#define IDS_SAVE_SUCCESSFUL 304 +#define IDS_ERROR_UNABLE_TO_DELETE_THE_FILE 305 +#define IDS_PRESET_X_DELETED 306 +#define IDS_ERROR_A_FILE_ALREADY_EXISTS_WITH_THAT_FILENAME 307 +#define IDS_ERROR_UNABLE_TO_RENAME_FILE 308 +#define IDS_RENAME_SUCCESSFUL 309 +#define IDS_SPRITE_X_WARNING_ERROR_IN_INIT_CODE 310 +#define IDS_SPRITE_X_WARNING_ERROR_IN_PER_FRAME_CODE 311 +#define IDS_SPRITE_X_ERROR_BAD_SLOT_INDEX 312 +#define IDS_SPRITE_X_ERROR_IMAGE_FILE_MISSING_OR_CORRUPT 313 +#define IDS_SPRITE_X_ERROR_OUT_OF_MEM 314 +#define IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_INIT_CODE 319 +#define IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_PER_FRAME_CODE 320 +#define IDS_WARNING_PRESET_X_ERROR_IN_WAVE_X_PER_POINT_CODE 321 +#define IDS_WARNING_PRESET_X_ERROR_IN_SHAPE_X_INIT_CODE 322 +#define IDS_WARNING_PRESET_X_ERROR_IN_SHAPE_X_PER_FRAME_CODE 323 +#define IDS_CONFIG_PANEL_BUTTON_1 324 +#define IDS_CONFIG_PANEL_BUTTON_2 325 +#define IDS_CONFIG_PANEL_BUTTON_3 326 +#define IDS_CONFIG_PANEL_BUTTON_4 327 +#define IDS_CONFIG_PANEL_BUTTON_5 328 +#define IDS_CONFIG_PANEL_BUTTON_6 329 +#define IDS_CONFIG_PANEL_BUTTON_7 330 +#define IDS_CONFIG_PANEL_BUTTON_8 331 +#define IDS_EXTRA_FONT_1_NAME 332 +#define IDS_EXTRA_FONT_2_NAME 333 +#define IDS_PRESS_F1_MSG 334 +#define IDS_GRAPHICS_SUBSYSTEM_IS_TEMPORARILY_UNSTABLE 335 +#define IDS_UNKNOWN 336 +#define IDS_DISABLED_PAGE_TEARING 337 +#define IDS_NONE 338 +#define IDS_UNLIMITED 339 +#define IDS_X_FRAME_SEC 340 +#define IDS_HELP_ON_X_BUTTON 341 +#define IDS_FONTS_HELP 342 +#define IDS_DUAL_HEAD_HELP 343 +#define IDS_MULTI_SAMPLING 344 +#define IDS_MULTI_SAMPLING_HELP 345 +#define IDS_MAX_FRAMERATE 346 +#define IDS_MAX_FRAMERATE_HELP 347 +#define IDS_FAKE_FULLSCREEN 348 +#define IDS_FAKE_FULLSCREEN_HELP 349 +#define IDS_FULLSCREEN_ADAPTER 350 +#define IDS_FULLSCREEN_ADAPTER_HELP 351 +#define IDS_WINDOWED_ADPATER 352 +#define IDS_WINDOWED_ADPATER_HELP 353 +#define IDS_DESKTOP_ADAPTER 354 +#define IDS_DESKTOP_ADAPTER_HELP 355 +#define IDS_HELP_ON_X_CHECKBOX 356 +#define IDS_HELP_ON_X_CHECKBOX_HELP 357 +#define IDS_FORCE_INTO_FS_MODE_HELP 358 +#define IDS_FORCE_INTO_DESKTOP_MODE_HELP 359 +#define IDS_HELP_ON_F1 360 +#define IDS_HELP_ON_F1_HELP 361 +#define IDS_CB_SKIN_HELP 362 +#define IDS_SAVE_CPU_CHECKBOX 363 +#define IDS_SAVE_CPU_CHECKBOX_HELP 364 +#define IDS_FS_DISPLAY_MODE 365 +#define IDS_FS_DISPLAY_MODE_HELP 366 +#define IDS_TRY_TO_FIX_SLOW_TEXT 369 +#define IDS_TRY_TO_FIX_SLOW_TEXT_HELP 370 +#define IDS_VJ_MODE 371 +#define IDS_VJ_MODE_HELP 372 +#define IDS_HELP_ON_X 373 +#define IDS_DMS_LABEL_HELP 374 +#define IDS_FS_LABEL_HELP 375 +#define IDS_W_LABEL_HELP 376 +#define IDS_DM_MORE_HELP 377 +#define IDS_INITCONFIG_FAILED 378 +#define IDS_UNABLE_TO_LOAD_TABS 379 +#define IDS_DOCUMENTATION_FILE_NOT_FOUND 380 +#define IDS_ACCESS_TO_DOCUMENTATION_FILE_DENIED 381 +#define IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_DUE_TO_NO_ASSOC 382 +#define IDS_ACCESS_TO_DOCUMENTATION_FILE_FAILED_CODE_X 383 +#define IDS_ERROR_OPENING_DOCUMENTATION 384 +#define IDS_URL_COULD_NOT_OPEN 385 +#define IDS_ACCESS_TO_URL_WAS_DENIED 386 +#define IDS_ACCESS_TO_URL_FAILED_DUE_TO_NO_ASSOC 387 +#define IDS_ACCESS_TO_URL_FAILED_CODE_X 388 +#define IDS_ERROR_OPENING_URL 389 +#define IDS_RESTORE_ALL_DEFAULTS 390 +#define IDS_RESTORE_ALL_DEFAULTS_TITLE 391 +#define IDS_OK_HELP 392 +#define IDS_CANCEL_HELP 393 +#define IDS_RESTORE_DEFAULTS_HELP 394 +#define IDS_DOCUMENTATION_BUTTON_HELP 395 +#define IDS_VIEW_ONLINE_DOCS_HELP 396 +#define IDS_5_6_5_TEXTURE 397 +#define IDS_5_5_5_TEXTURE 398 +#define IDS_8_8_8_TEXTURE 399 +#define IDS_NO_ALPHA_FALLBACK 400 +#define IDS_NO_ALPHA_FALLBACK_HELP 401 +#define IDS_CB_SHOW_ICONS_HELP 402 +#define IDS_CB_BOX 403 +#define IDS_CB_BOX_HELP 404 +#define IDS_CB_MANUAL_SCOOT 405 +#define IDS_CB_MANUAL_SCOOT_HELP 406 +#define IDS_SPAN_BOTH_SCREENS 407 +#define IDS_USE_LEFT_SCREEN_ONLY 408 +#define IDS_USE_RIGHT_SCREEN_ONLY 409 +#define IDS_USE_TOP_SCREEN_ONLY 410 +#define IDS_USE_BOTTOM_SCREEN_ONLY 411 +#define IDS_COULD_NOT_FIND_FILE_FOR_DESKTOP_MODE_X 412 +#define IDS_MILKDROP_ERROR_FILE_MISSING 413 +#define IDS_ERROR_CREATING_GDI_DESKTOP_FONT 414 +#define IDS_ERROR_CREATING_DESKTOP_FONT 415 +#define IDS_ERROR_CREATING_TEXTURE_FOR_ICON_BITMAPS 416 +#define IDS_OUTDATED_VMS_DESKTOP_DLL_NEED_TO_REINSTALL 417 +#define IDS_ERROR_CREATING_HOOK_PROC_DESKTOP_ICONS_NOT_AVAILABLE 418 +#define IDS_ERROR_UPDATING_ICON_BITMAPS 419 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_TOO_MANY_UNIQUE_ICON_BITMAPS 420 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_COULD_NOT_GET_LEVEL_DESCRIPTION 421 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_LOCKRECT_FAILED 422 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_LR_PBITS_IS_NULL 423 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_UNKNOWN_PIXEL_FORMAT 424 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_COULDNT_GET_HDC 425 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_CALL_TO_GETDIBITS_FAILED 426 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_CALL_2_TO_GETDIBITS_FAILED 427 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_GETICONINFO_FAILED 428 +#define IDS_ERROR_UPDATING_ICON_BITMAPS_SHGETFILEINFO_FAILED 429 +#define IDS_UNABLE_TO_REGISTER_WINDOW_CLASS 430 +#define IDS_DIRECTX_INIT_FAILED 431 +#define IDS_DXC_ERR_CAPSFAIL 432 +#define IDS_FS_DISPLAY_MODE_SELECTED_IS_INVALID 433 +#define IDS_CREATEWINDOW_FAILED 434 +#define IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS 435 +#define IDS_TIP 436 +#define IDS_TRYING_TO_ENTER_FS_MODE_WITH_MULTIPLE_DISPLAYS_2 437 +#define IDS_UNABLE_TO_CREATE_DIRECTX_DEVICE 438 +#define IDS_OLDER_DISPLAY_ADAPTER_CATENATION 439 +#define IDS_OLDER_DISPLAY_ADAPTER_CATENATION_2 440 +#define IDS_DIRECTX_INIT_FAILED_X 441 +#define IDS_WINDOW_RESIZE_FAILED 442 +#define IDS_OUT_OF_VIDEO_MEMORY 443 +#define IDS_ERROR_CREATING_GDI_FONTS 444 +#define IDS_ERROR_LOADING_MAIN_MENU 445 +#define IDS_ERROR_LOADING_CONTEXT_MENU 446 +#define IDS_ERROR_CREATING_DIRECT3D_DEVICE_FOR_VJ_MODE 447 +#define IDS_VJ_MODE_INIT_ERROR 448 +#define IDS_ERROR_REGISTERING_WINDOW_CLASS_FOR_TEXT_WINDOW 449 +#define IDS_ERROR_CREATING_VJ_WINDOW 450 +#define IDS_ERROR_CREATING_D3D_DEVICE_FOR_VJ_MODE 451 +#define IDS_ERROR_CREATING_D3DX_FONTS 452 +#define IDS_UNABLE_TO_INIT_DXCONTEXT 453 +#define IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG 454 +#define IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_2 455 +#define IDS_TO_FREE_UP_SOME_MEMORY_RESTART_WINAMP_THEN_GO_TO_CONFIG_3 456 +#define IDS_TO_FREE_UP_VIDEO_MEMORY 457 +#define IDS_TO_FREE_UP_VIDEO_MEMORY_2 458 +#define IDS_MILKDROP_SUGGESTION 459 +#define IDS_DIRECTX_MISSING_OR_CORRUPT 460 +#define IDS_ERROR_THE_PLUGIN_IS_ALREADY_RUNNING 463 +#define IDS_THIS_PLUGIN_NEEDS_MUSIC_TO_RUN 464 +#define IDS_NO_MUSIC_PLAYING 465 +#define IDS_UNABLE_TO_READ_DATA_FILE_X 466 +#define IDS_COULD_NOT_CREATE_MY_VERTEX_DECLARATION 467 +#define IDS_COULD_NOT_CREATE_WF_VERTEX_DECLARATION 468 +#define IDS_COULD_NOT_CREATE_SPRITE_VERTEX_DECLARATION 469 +#define IDS_SHADER_MODEL_2 470 +#define IDS_SHADER_MODEL_3 471 +#define IDS_SHADER_MODEL_4 472 +#define IDS_UKNOWN_CASE_X 473 +#define IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_USING_X 474 +#define IDS_FAILED_TO_COMPILE_PIXEL_SHADERS_HARDWARE_MIS_REPORT 475 +#define IDS_COULD_NOT_COMPILE_FALLBACK_WV_SHADER 476 +#define IDS_COULD_NOT_COMPILE_FALLBACK_CV_SHADER 477 +#define IDS_COULD_NOT_COMPILE_FALLBACK_CP_SHADER 478 +#define IDS_COULD_NOT_COMPILE_BLUR1_VERTEX_SHADER 479 +#define IDS_COULD_NOT_COMPILE_BLUR1_PIXEL_SHADER 480 +#define IDS_COULD_NOT_COMPILE_BLUR2_VERTEX_SHADER 481 +#define IDS_COULD_NOT_COMPILE_BLUR2_PIXEL_SHADER 482 +#define IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_SMALLER_DISPLAY 483 +#define IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM_RECOMMENDATION 484 +#define IDS_COULD_NOT_CREATE_INTERNAL_CANVAS_TEXTURE_NOT_ENOUGH_VID_MEM 485 +#define IDS_SUCCESSFULLY_CREATED_VS0_VS1 486 +#define IDS_ERROR_CREATING_BLUR_TEXTURES 487 +#define IDS_COULD_NOT_CREATE_NOISE_TEXTURE 488 +#define IDS_COULD_NOT_LOCK_NOISE_TEXTURE 489 +#define IDS_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED 490 +#define IDS_COULD_NOT_CREATE_3D_NOISE_TEXTURE 491 +#define IDS_COULD_NOT_LOCK_3D_NOISE_TEXTURE 492 +#define IDS_3D_NOISE_TEXTURE_BYTE_LAYOUT_NOT_RECOGNISED 493 +#define IDS_ERROR_CREATING_SHADER 498 +#define IDS_PLEASE_EXIT_VIS_BEFORE_RUNNING_CONFIG_PANEL 499 +#define IDS_FPS 500 +#define IDS_PF_MONITOR 501 +#define IDS_PRESS_F9_TO_HIDE_SHADER_QREF 502 +#define IDS_PRESS_F9_TO_SHOW_SHADER_QREF 503 +#define IDS_WARP_AND_COMPOSITE_SHADERS_LOCKED 504 +#define IDS_WARP_SHADER_LOCKED 505 +#define IDS_COMPOSITE_SHADER_LOCKED 506 +#define IDS_PRESET_USES_HIGHEST_PIXEL_SHADER_VERSION 507 +#define IDS_PRESET_HAS_MIXED_VERSIONS_OF_SHADERS 508 +#define IDS_UPGRADE_SHADERS_TO_USE_PS2 509 +#define IDS_UPGRADE_SHADERS_TO_USE_PS3 510 +#define IDS_PRESET_DOES_NOT_USE_PIXEL_SHADERS 511 +#define IDS_UPGRADE_TO_USE_PS2 512 +#define IDS_WARNING_OLD_GPU_MIGHT_NOT_WORK_WITH_PRESET 513 +#define IDS_PRESET_CURRENTLY_USES_PS2 514 +#define IDS_UPGRADE_TO_USE_PS3 515 +#define IDS_PRESET_CURRENTLY_USES_PS3 516 +#define IDS_UPGRADE_TO_USE_PS4 517 +#define IDS_WARNING_DO_NOT_FORGET_WARP_SHADER_WAS_LOCKED 518 +#define IDS_WARNING_DO_NOT_FORGET_COMPOSITE_SHADER_WAS_LOCKED 519 +#define IDS_PRESET_MASH_UP_TEXT1 520 +#define IDS_PRESET_CURRENTLY_USES_PS2X 521 +#define IDS_UPGRADE_TO_USE_PS2X 522 +#define IDS_PRESET_MASH_UP_TEXT2 524 +#define IDS_PRESET_MASH_UP_TEXT3 525 +#define IDS_PRESET_MASH_UP_TEXT4 526 +#define IDS_DIRECTORY_OF_X 527 +#define IDS_SHUFFLE_IS_NOW_OFF 528 +#define IDS_SHUFFLE_IS_NOW_ON 529 +#define IDS_COMPSHADER_LOCKED 530 +#define IDS_WARPSHADER_LOCKED 531 +#define IDS_ALLSHADERS_LOCKED 532 +#define IDS_ALLSHADERS_UNLOCKED 533 +#define IDS_UPGRADE_TO_USE_PS2B 534 +#define IDS_PS_AUTO_RECOMMENDED 535 +#define IDS_PS_DISABLED 536 +#define IDS_PS_SHADER_MODEL_2 537 +#define IDS_PS_SHADER_MODEL_3 538 +#define IDS_TX_8_BITS_PER_CHANNEL 539 +#define IDS_TX_16_BITS_PER_CHANNEL 540 +#define IDS_TX_32_BITS_PER_CHANNEL 541 +#define IDS_160X120_SLOW 542 +#define IDS_192X144_SLOW 543 +#define IDS_NONE_BEST_IMAGE_QUALITY 544 +#define IDS_1_25_X 545 +#define IDS_1_33_X 546 +#define IDS_1_5_X 547 +#define IDS_1_67_X 548 +#define IDS_2_X 549 +#define IDS_3_X 550 +#define IDS_4_X 551 +#define IDS_NEAREST_POWER_OF_2 552 +#define IDS_EXACT_RECOMMENDED 553 +#define IDS_PIXEL_SHADERS 554 +#define IDS_PIXEL_SHADERS_TEXT 555 +#define IDS_TEXFORMAT 556 +#define IDS_TEXFORMAT_TEXT 557 +#define IDS_CANVAS_SIZE 558 +#define IDS_CANVAS_SIZE_TEXT 559 +#define IDS_CANVAS_STRETCH 560 +#define IDS_CANVAS_STRETCH_TEXT 561 +#define IDS_MAX_IMAGES_BYTES_TEXT 562 +#define IDS_MENU_EDIT_WARP_SHADER 563 +#define IDS_MENU_EDIT_COMPOSITE_SHADER 564 +#define IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT 565 +#define IDS_MENU_BLUR1_EDGE_DARKEN_AMOUNT_TT 566 +#define IDS_MENU_BLUR1_MIN_COLOR_VALUE 567 +#define IDS_MENU_BLUR1_MIN_COLOR_VALUE_TT 568 +#define IDS_MENU_BLUR1_MAX_COLOR_VALUE 569 +#define IDS_MENU_BLUR1_MAX_COLOR_VALUE_TT 570 +#define IDS_MENU_BLUR2_MIN_COLOR_VALUE 571 +#define IDS_MENU_BLUR2_MIN_COLOR_VALUE_TT 572 +#define IDS_MENU_BLUR2_MAX_COLOR_VALUE 573 +#define IDS_MENU_BLUR2_MAX_COLOR_VALUE_TT 574 +#define IDS_MENU_BLUR3_MIN_COLOR_VALUE 575 +#define IDS_MENU_BLUR3_MIN_COLOR_VALUE_TT 576 +#define IDS_MENU_BLUR3_MAX_COLOR_VALUE 577 +#define IDS_MENU_BLUR3_MAX_COLOR_VALUE_TT 578 +#define IDS_MENU_EDIT_PER_VERTEX_EQUATIONS 579 +#define IDS_MENU_EDIT_PER_VERTEX_EQUATIONS_TT 580 +#define IDS_MENU_EDIT_WARP_SHADER_TT 581 +#define IDS_MENU_EDIT_COMPOSITE_SHADER_TT 582 +#define IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION 583 +#define IDS_MENU_EDIT_UPGRADE_PRESET_PS_VERSION_TT 584 +#define IDS_MENU_EDIT_DO_A_PRESET_MASH_UP 585 +#define IDS_MENU_EDIT_DO_A_PRESET_MASH_UP_TT 586 +#define IDS_MENU_NUMBER_OF_INSTANCES 587 +#define IDS_MENU_NUMBER_OF_INSTANCES_TT 588 +#define IDS_MENU_EDIT_INIT_CODE_SHAPE_TT 589 +#define IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE 590 +#define IDS_MENU_EDIT_PER_FRAME_INSTANCE_CODE_TT 591 +#define IDS_ERROR_PRESET_NOT_FOUND_X 592 +#define IDS_ERROR_NO_PRESET_FILES_OR_DIRS_FOUND_IN_X 593 +#define IDS_SCANNING_PRESETS 594 +#define IDS_SPRITE_X_ERROR_COULD_NOT_FIND_IMG_OR_NOT_DEFINED 595 +#define IDS_WARNING_PRESET_X_ERROR_IN_PRESET_INIT_CODE 596 +#define IDS_WARNING_PRESET_X_ERROR_IN_PER_FRAME_CODE 597 +#define IDS_WARNING_PRESET_X_ERROR_IN_PER_VERTEX_CODE 598 +#define IDS_HZ 599 +#define IDS_HELP_MINIMIZE_WINAMP 600 +#define IDS_HELP_MINIMIZE_WINAMP_HELP 601 +#define IDS_DIRECTX_MISSING_OR_CORRUPT_TEXT 602 +#define IDS_PARENT_DIRECTORY 603 +#define IDS_RAND_TITLE 604 +#define IDS_RAND_MSG 605 +#define IDS_MAX_IMAGES_BYTES 606 +#define IDS_PAGE_X 607 +#define IDS_MB 608 +#define IDS_GB 609 +#define IDS_MASHUP_GENERAL_POSTPROC 610 +#define IDS_MASHUP_MOTION_EQUATIONS 611 +#define IDS_MASHUP_WAVEFORMS_SHAPES 612 +#define IDS_MASHUP_WARP_SHADER 613 +#define IDS_MASHUP_COMP_SHADER 614 +#define IDS_STRING615 615 +#define IDS_STRING616 616 +#define IDS_STRING617 617 +#define IDS_STRNG618 618 +#define IDS_STRING618 618 +#define IDS_STRING619 619 +#define IDS_STRING620 620 +#define IDS_STRING621 621 +#define IDS_STRING622 622 +#define IDS_STRING623 623 +#define IDS_STRING624 624 +#define IDS_STRING625 625 +#define IDS_STRING626 626 +#define IDS_STRING627 627 +#define IDS_STRING628 628 +#define IDS_STRING629 629 +#define IDS_STRING630 630 +#define IDS_STRING631 631 +#define IDS_STRING632 632 +#define IDS_STRING633 633 +#define IDS_STRING634 634 +#define IDS_STRING635 635 +#define IDS_UPGRADE_SHADERS_TO_USE_PS2X 636 +#define IDS_PRESS_ESC_TO_RETURN 637 +#define IDS_COULD_NOT_LOAD_TEXTURE_X 638 +#define IDS_ERROR_COMPILING_X_X_SHADER 639 +#define IDS_ERROR_PARSING_X_X_SHADER 640 +#define IDS_UNABLE_TO_RESOLVE_TEXSIZE_FOR_A_TEXTURE_NOT_IN_USE 641 +#define IDS_KEY_MAPPINGS 642 +#define IDC_CB_FOG 1000 +#define IDC_CB_SUPERTEX 1001 +#define IDC_CB_HELP_MSG 1001 +#define IDC_CB_PRESS_F1_MSG 1001 +#define IDC_DISP_MODE 1003 +#define IDC_CB_FS 1004 +#define IDC_CB_PT 1005 +#define IDC_CB_WPT 1005 +#define IDC_SZ_ABOUT 1006 +#define IDC_CB_MIN 1006 +#define IDC_ADAPTER_W 1007 +#define IDC_ADAPTER_TEXT 1008 +#define IDC_ADAPTER_W_CAPTION 1008 +#define IDC_ADAPTER_FFS 1008 +#define IDC_ADAPTER_DMS 1008 +#define IDC_DISP_MODE_TEXT 1009 +#define IDC_DISP_MODE_CAPTION 1009 +#define IDC_ADAPTER_FS 1010 +#define IDC_ADAPTER_TEXT2 1011 +#define IDC_ADAPTER_FS_CAPTION 1011 +#define IDC_FS_ADAPTER_CAPTION 1011 +#define IDC_CB_TWOPASS 1012 +#define IDC_CB_FFSPT 1012 +#define IDC_CB_DMSPT 1012 +#define IDC_CB_TRANS_HAIR 1013 +#define IDC_ADAPTER_FS_CAPTION2 1013 +#define IDC_W_ADAPTER_CAPTION 1013 +#define IDC_FONT2b 1013 +#define IDC_FONT2 1013 +#define IDC_CB_3B 1014 +#define IDC_ADD_STUFF_HERE 1014 +#define IDC_FFS_ADAPTER_CAPTION 1014 +#define IDC_DMS_ADAPTER_CAPTION 1014 +#define IDC_CB_DEBUGOUTPUT 1014 +#define IDC_FONT3b 1014 +#define IDC_FONT3 1014 +#define IDC_MQ 1015 +#define IDC_CB_FAKE 1015 +#define IDC_TEXSIZECOMBO 1015 +#define IDC_FONT4b 1015 +#define IDC_FONT4 1015 +#define IDC_DISP_MODE_TEXT2 1016 +#define IDC_CB_NO_FAKE_TIPS 1016 +#define IDC_TAB1 1016 +#define IDC_TABS 1016 +#define IDC_CB_FSPT 1016 +#define IDC_FONTSIZE 1016 +#define IDC_CB_AUTOGAMMA 1016 +#define IDC_FONT5b 1016 +#define IDC_FONT5 1016 +#define IDC_WMS 1017 +#define IDC_MESHSIZECOMBO 1017 +#define IDC_FONTSIZE3 1017 +#define IDC_DISP_MODE_TEXT3 1018 +#define IDC_MULTISAMPLING_CAPTION2 1018 +#define IDC_FS_BOX 1018 +#define IDC_W_MULTISAMPLING_CAPTION 1018 +#define IDC_BETWEEN_TIME 1018 +#define IDC_FONTSIZE4 1018 +#define IDC_FSMS 1019 +#define IDC_CB_ALWAYS3D 1019 +#define IDC_BETWEEN_TIME_RANDOM 1019 +#define IDC_FONT6b 1019 +#define IDC_FONT6 1019 +#define IDC_DISP_MODE_TEXT4 1020 +#define IDC_MULTISAMPLING_CAPTION 1020 +#define IDC_FRACTAL_RES_CAPTION 1020 +#define IDC_INITIAL_WAVEMODE_CAPTION 1020 +#define IDC_CB_DMS 1020 +#define IDC_HARDCUT_BETWEEN_TIME 1020 +#define IDC_FONTSIZE5 1020 +#define IDC_CB_SCROLLON 1020 +#define IDC_FS_LIMIT 1021 +#define IDC_FS_MAXFPS 1021 +#define IDC_FONTOPTIONS 1021 +#define IDC_TEXFORMAT 1021 +#define IDC_DISP_MODE_TEXT5 1022 +#define IDC_FRAME_DELAY_CAPTION 1022 +#define IDC_FS_FRAME_DELAY_CAPTION 1022 +#define IDC_FS_MAXFPS_CAPTION 1022 +#define IDC_FONTOPTIONS3 1022 +#define IDC_SHADERS 1022 +#define IDC_W_LIMIT 1023 +#define IDC_W_MAXFPS 1023 +#define IDC_CB_NOWARN 1023 +#define IDC_BLEND_AUTO 1023 +#define IDC_CB_SCROLLON2 1023 +#define IDC_DISP_MODE_TEXT6 1024 +#define IDC_FRAME_DELAY_CAPTION2 1024 +#define IDC_G_BOX 1024 +#define IDC_W_FRAME_DELAY_CAPTION 1024 +#define IDC_W_MAXFPS_CAPTION 1024 +#define IDC_CB_NOWARN2 1024 +#define IDC_BLEND_USER 1024 +#define IDC_W_BOX 1025 +#define IDC_CB_SAVE_CPU 1025 +#define IDC_FONT7b 1025 +#define IDC_FONT7 1025 +#define IDC_CB_ANISO 1025 +#define IDC_TABS_PLACEHOLDER 1026 +#define IDC_FFSMS 1026 +#define IDC_DMSMS 1026 +#define IDC_CB_NORATING 1026 +#define IDC_MULTISAMPLING_CAPTION3 1027 +#define IDC_FFS_MULTISAMPLING_CAPTION 1027 +#define IDC_FONTSIZE2 1027 +#define IDC_DMS_MULTISAMPLING_CAPTION 1027 +#define IDC_CB_INSTASCAN 1027 +#define IDC_FRAME_DELAY_CAPTION3 1028 +#define IDC_FFS_FRAME_DELAY_CAPTION 1028 +#define IDC_FFS_MAXFPS_CAPTION 1028 +#define IDC_FONTOPTIONS2 1028 +#define IDC_DMS_MAXFPS_CAPTION 1028 +#define IDC_STRETCH 1028 +#define IDC_FFS_LIMIT 1029 +#define IDC_FFS_MAXFPS 1029 +#define IDC_DMS_MAXFPS 1029 +#define IDC_FONTSIZE6 1029 +#define IDC_MAX_IMAGES 1029 +#define IDC_RECT 1030 +#define IDC_CB_SKIN 1030 +#define IDC_MAX_BYTES 1030 +#define IDC_Q 1031 +#define IDC_FRACTAL_RES 1031 +#define IDC_INITIAL_WAVEMODE 1031 +#define IDC_FONT8b 1031 +#define IDC_FONT8 1031 +#define IDC_CB_MIN2 1031 +#define IDC_CB_FIXSLOWTEXT 1031 +#define IDC_HS_ANIM_SPEED 1032 +#define IDC_BETWEEN_TIME_LABEL 1032 +#define IDC_FONTSIZE7 1032 +#define IDC_FS_MULTISAMPLING_CAPTION 1033 +#define IDC_BETWEEN_TIME_RANDOM_LABEL 1033 +#define IDC_HS_ANIM_SPEED_CAPTION 1034 +#define IDC_BLEND_AUTO_LABEL 1034 +#define IDC_FONT9b 1034 +#define IDC_FONT9 1034 +#define IDC_BLEND_USER_LABEL 1035 +#define IDC_FONTSIZE8 1035 +#define IDC_FFS_LABEL 1036 +#define IDC_DMS_LABEL 1036 +#define IDC_BLEND_USER_LABEL2 1036 +#define IDC_BETWEEN_TIME_LABEL2 1036 +#define IDC_RAND_TITLE_LABEL 1036 +#define IDC_HARDCUT_BETWEEN_TIME_LABEL 1036 +#define IDC_FS_LABEL 1037 +#define IDC_BLEND_USER_LABEL3 1037 +#define IDC_RAND_MSG_LABEL 1037 +#define IDC_W_LABEL 1038 +#define IDC_FONTSIZE9 1038 +#define IDC_3DSEP_LABEL 1038 +#define ID_FONTS 1039 +#define IDC_BRIGHT_SLIDER 1039 +#define IDC_FONT_CAPTION 1040 +#define ID_DM_MORE 1040 +#define IDC_FONTSIZE_CAPTION 1041 +#define ID_DUALHEAD 1041 +#define IDC_FONTOPTIONS_CAPTION 1042 +#define IDC_SYSTEM_FONT 1043 +#define IDC_CB_SEPTEXT 1043 +#define IDC_FONT_NAME_2 1043 +#define IDC_DECORATIVE_FONT 1044 +#define IDC_HARDCUT_LOUDNESS 1044 +#define IDC_FONT_NAME_1 1044 +#define IDC_CB_HARDCUTS 1045 +#define IDC_TITLE_FONT 1045 +#define IDC_FONT_NAME_3 1045 +#define IDC_CB_BOX 1046 +#define IDC_SONGTITLEANIM_DURATION 1046 +#define IDC_FONT_NAME_4 1046 +#define IDC_DM_ALPHA_FIX 1047 +#define IDC_CB_TITLE_ANIMS 1047 +#define IDC_FONT_NAME_5 1047 +#define IDC_DM_ALPHA_FIX_CAPTION 1048 +#define IDC_V_PICK 1048 +#define IDC_RAND_TITLE 1048 +#define IDC_FONT_NAME_6 1048 +#define IDC_CB_MANUAL_SCOOT 1049 +#define IDC_T1 1049 +#define IDC_RAND_MSG 1049 +#define IDC_FONT_NAME_7 1049 +#define IDC_T3 1050 +#define IDC_CB_SHOW_ICONS 1050 +#define IDC_FONT_NAME_8 1050 +#define IDC_3DSEP 1050 +#define IDC_H_PICK 1051 +#define IDC_T5 1051 +#define IDC_FONT_NAME_9 1051 +#define IDC_T2 1052 +#define IDC_FONTOPTIONS_CAPTION2 1052 +#define IDC_T4 1053 +#define IDC_FONTOPTIONS_CAPTION3 1053 +#define IDC_FONT_TEXT 1054 +#define IDC_TEXSIZECOMBO_CAPTION 1054 +#define IDC_MESHSIZECOMBO_CAPTION 1055 +#define IDC_BRIGHT_SLIDER_BOX 1056 +#define IDC_SONGTITLEANIM_DURATION_LABEL 1057 +#define IDC_TEXFORMAT_CAPTION 1057 +#define IDC_HARDCUT_LOUDNESS_LABEL 1058 +#define IDC_SHADERS_CAPTION 1058 +#define IDC_FONTSIZE1 1059 +#define IDC_HARDCUT_LOUDNESS_MIN 1059 +#define IDC_BRIGHT_SLIDER_BOX2 1059 +#define IDC_HARDCUT_LOUDNESS_MAX 1060 +#define IDC_STRETCH_CAPTION 1060 +#define IDC_CB_VJMODE 1061 +#define IDC_MAX_IMAGES_CAPTION 1061 +#define IDC_MAX_BYTES_CAPTION 1062 +#define IDC_FONTBOLD1 1063 +#define IDC_FONTITAL1 1064 +#define IDC_FONTAA1 1065 +#define IDC_FONTBOLD2 1066 +#define IDC_FONTITAL2 1067 +#define IDC_FONTAA2 1068 +#define IDC_FONTBOLD3 1069 +#define IDC_FONTITAL3 1070 +#define IDC_FONTAA3 1071 +#define IDC_FONTBOLD4 1072 +#define IDC_FONTITAL4 1073 +#define IDC_FONTAA4 1074 +#define IDC_FONTBOLD5 1075 +#define IDC_FONTITAL5 1076 +#define IDC_FONTAA5 1077 +#define IDC_FONTBOLD6 1078 +#define IDC_FONTITAL6 1079 +#define IDC_FONTAA6 1080 +#define IDC_FONTBOLD7 1084 +#define IDC_FONTITAL7 1085 +#define IDC_FONTAA7 1086 +#define IDC_FONTBOLD8 1087 +#define IDC_FONTITAL8 1088 +#define IDC_FONTAA8 1089 +#define IDC_FONTBOLD9 1090 +#define IDC_FONTITAL9 1091 +#define IDC_FONTAA9 1092 +#define IDC_FONT1b 1093 +#define IDC_FONT1 1093 +#define ID_QUIT 40006 +#define ID_GO_FS 40007 +#define ID_SHOWHELP 40008 +#define ID_SHOWPLAYLIST 40009 +#define ID_DESKTOP_MODE 40010 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 131 +#define _APS_NEXT_COMMAND_VALUE 40011 +#define _APS_NEXT_CONTROL_VALUE 1062 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/src/MilkDrop2/vis_milk2/shell_defines.h b/src/MilkDrop2/vis_milk2/shell_defines.h new file mode 100644 index 0000000000..c978ce7168 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/shell_defines.h @@ -0,0 +1,76 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_PLUGIN_SHELL_SHELL_DEFINES_H__ +#define __NULLSOFT_DX9_PLUGIN_SHELL_SHELL_DEFINES_H__ 1 + +#include + +#define DEFAULT_FULLSCREEN_WIDTH 640 +#define DEFAULT_FULLSCREEN_HEIGHT 480 +#define MAX_ICON_TEXTURES 8 +#define ICON_TEXTURE_SIZE 256 +#define DEFAULT_WINDOW_SIZE 0.625f // as a portion of the width or height of the screen (whichever is smaller) +#define DESKTOP_MODE_KEYBOARD_INPUT_WINDOW_CLASSNAME "DESKTOP MODE KEYBOARD INPUT WINDOW" +#define BGR2RGB(x) (((x>>16)&0xFF) | (x & 0xFF00) | ((x<<16)&0xFF0000)) + +#define NUM_BASIC_FONTS 4 +#define SYS_FONT 0 +#define DEC_FONT 1 +#define HELP_FONT 2 +#define DESK_FONT 3 +#define MAX_EXTRA_FONTS 5 +typedef enum +{ + SIMPLE_FONT = 0, // aka 'system' font; should be legible + DECORATIVE_FONT = 1, + HELPSCREEN_FONT = 2, + PLAYLIST_FONT = 3, + EXTRA_1 = 4, + EXTRA_2 = 5, + EXTRA_3 = 6, + EXTRA_4 = 7, + EXTRA_5 = 8 +} +eFontIndex; + +// for m_screenmode: +typedef enum +{ + NOT_YET_KNOWN = -1, + FULLSCREEN = 0, + WINDOWED = 1, + FAKE_FULLSCREEN = 2, + DESKTOP = 3 // doesn't use overlays! =) +} +eScrMode; + +#include "../Winamp/wa_ipc.h" + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/state.cpp b/src/MilkDrop2/vis_milk2/state.cpp new file mode 100644 index 0000000000..8eefe3072a --- /dev/null +++ b/src/MilkDrop2/vis_milk2/state.cpp @@ -0,0 +1,1947 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "state.h" +#include "support.h" +#include "../ns-eel2/ns-eel.h" +#include "plugin.h" +#include "utility.h" +#include +#include +#include "resource.h" + +extern CPlugin g_plugin; // declared in main.cpp + +#define FRAND ((rand() % 7381)/7380.0f) + + + +// These are intended to replace GetPrivateProfileInt/FloatString, which are very slow +// for large files (they always start from the top). (really slow - some preset loads +// were taking 90 ms because of these!) +// The trick here is that we assume the file will be ordered correctly. If not - if +// the next line doesn't have the expected token - we rescan from the top. If the line +// is never found, we use the default value, and leave MyGetPos untouched. + +#include "../nu/Vector.h" +#include "gstring.h" + +typedef Vector VarNameList; +typedef Vector IntList; + + +FILE* fLastFilePtr = NULL; +void GetFast_CLEAR() { fLastFilePtr = NULL; } +bool _GetLineByName(FILE* f, const char* szVarName, char* szRet, int nMaxRetChars) +{ + // lines in the file look like this: szVarName=szRet + // OR: szVarName szRet + // the part of the line after the '=' sign (or space) goes into szRet. + // szVarName can't have any spaces in it. + + static int MyLineNum = 0; + static VarNameList line_varName; + static IntList line_value_bytepos; + + if (f != fLastFilePtr) + { + fLastFilePtr = f; + MyLineNum = 0; + line_varName.clear(); + line_value_bytepos.clear(); + + // start from beginning of file + fseek(f, 0, SEEK_SET); + + // scan each line in the file for "szVarName=value" pairs, and store info about them. + #define MAX_VARNAME_LEN 128 + char szThisLineVarName[MAX_VARNAME_LEN]; + while (1) + { + char ch; + int pos = 0; + do + { + ch = fgetc(f); + if (pos < MAX_VARNAME_LEN-3) + szThisLineVarName[pos++] = ch; + } + while ( ch != '\r' && + ch != '\n' && + ch != ' ' && + ch != '=' && + ch != EOF ); + if (ch == EOF) + break; + + if (ch == '=' || ch == ' ') + { + szThisLineVarName[pos-1] = 0; // replace '=' with a null char. + int bytepos = ftell(f); + + //add an entry + line_varName.push_back(szThisLineVarName); + line_value_bytepos.push_back( bytepos ); + + // eat chars up to linefeed or EOF + /* + do + { + ch = fgetc(f); + } + while (ch != '\r' && ch != '\n' && ch != EOF); + */ + fgets(szRet, nMaxRetChars-3, f); // reads chars up til the next linefeed. + } + if (ch == EOF) + break; + + // eat any extra linefeed chars. + do + { + ch = fgetc(f); + } + while ((ch == '\r' || ch == '\n') && ch != EOF); + if (ch == EOF) + break; + + // back up one char + fseek(f, -1, SEEK_CUR); + + // on to next line... + } + } + + // if current line isn't the one, check all the others... + if (MyLineNum < 0 || (size_t)MyLineNum >= line_varName.size() || strcmp(line_varName[MyLineNum].c_str(), szVarName) != 0) + { + int N = line_varName.size(); + for (int i=0; i 0 + m_fModWaveAlphaEnd = 0.95f; // when relative volume hits this level, alpha -> 1 + m_fWaveR = 1.0f; + m_fWaveG = 1.0f; + m_fWaveB = 1.0f; + m_fWaveX = 0.5f; + m_fWaveY = 0.5f; + m_bMaximizeWaveColor = true; + m_fMvX = 12.0f; + m_fMvY = 9.0f; + m_fMvDX = 0.0f; + m_fMvDY = 0.0f; + m_fMvL = 0.9f; + m_fMvR = 1.0f; + m_fMvG = 1.0f; + m_fMvB = 1.0f; + m_fMvA = 1.0f; + + for (int i=0; im_fVideoEchoAlphaOld = s_from->m_fVideoEchoAlpha.eval(-1); + s_to->m_nVideoEchoOrientationOld = s_from->m_nVideoEchoOrientation; + s_to->m_nOldWaveMode = s_from->m_nWaveMode; + + /* + s_to->m_fVideoEchoAlphaOld = s_from->m_fVideoEchoAlpha.eval(-1); + s_to->m_nVideoEchoOrientationOld = s_from->m_nVideoEchoOrientation; + + s_to->m_nOldWaveMode = s_from->m_nWaveMode; + s_to->m_nWaveMode = s_from->m_nWaveMode; + s_to->m_bAdditiveWaves = s_from->m_bAdditiveWaves; + s_to->m_nVideoEchoOrientation = s_from->m_nVideoEchoOrientation; + s_to->m_fWarpAnimSpeed = s_from->m_fWarpAnimSpeed; // would req. 10 phase-matches to blend this one!!! + s_to->m_bWaveDots = s_from->m_bWaveDots; + s_to->m_bWaveThick = s_from->m_bWaveThick; + s_to->m_bModWaveAlphaByVolume = s_from->m_bModWaveAlphaByVolume; + s_to->m_bMaximizeWaveColor = s_from->m_bMaximizeWaveColor; + s_to->m_bTexWrap = s_from->m_bTexWrap; + s_to->m_bDarkenCenter = s_from->m_bDarkenCenter; + s_to->m_bRedBlueStereo = s_from->m_bRedBlueStereo; + s_to->m_bBrighten = s_from->m_bBrighten; + s_to->m_bDarken = s_from->m_bDarken; + s_to->m_bSolarize = s_from->m_bSolarize; + s_to->m_bInvert = s_from->m_bInvert; + s_to->m_fRating = s_from->m_fRating; + */ + + // expr. eval. also copies over immediately (replaces prev.) + m_bBlending = true; + m_fBlendStartTime = fAnimTime; + m_fBlendDuration = fTimespan; + + /* + //for (int e=0; em_szPerFrameExpr); + lstrcpy(s_to->m_szPerFrameExpr, szTemp); + + lstrcpy(szTemp, m_szPerPixelExpr); + lstrcpy(m_szPerPixelExpr, s_to->m_szPerPixelExpr); + lstrcpy(s_to->m_szPerPixelExpr, szTemp); + + lstrcpy(szTemp, m_szPerFrameInit); + lstrcpy(m_szPerFrameInit, s_to->m_szPerFrameInit); + lstrcpy(s_to->m_szPerFrameInit, szTemp); + } + RecompileExpressions(); + s_to->RecompileExpressions(); + + lstrcpy(m_szDesc, s_to->m_szDesc); + //lstrcpy(m_szSection, s_to->m_szSection); + */ + + // CBlendableFloats & SuperValues blend over time + m_fGammaAdj .StartBlendFrom(&s_from->m_fGammaAdj , fAnimTime, fTimespan); + m_fVideoEchoZoom .StartBlendFrom(&s_from->m_fVideoEchoZoom , fAnimTime, fTimespan); + m_fVideoEchoAlpha.StartBlendFrom(&s_from->m_fVideoEchoAlpha, fAnimTime, fTimespan); + m_fDecay .StartBlendFrom(&s_from->m_fDecay , fAnimTime, fTimespan); + m_fWaveAlpha .StartBlendFrom(&s_from->m_fWaveAlpha , fAnimTime, fTimespan); + m_fWaveScale .StartBlendFrom(&s_from->m_fWaveScale , fAnimTime, fTimespan); + m_fWaveSmoothing .StartBlendFrom(&s_from->m_fWaveSmoothing , fAnimTime, fTimespan); + m_fWaveParam .StartBlendFrom(&s_from->m_fWaveParam , fAnimTime, fTimespan); + m_fWarpScale .StartBlendFrom(&s_from->m_fWarpScale , fAnimTime, fTimespan); + m_fZoomExponent .StartBlendFrom(&s_from->m_fZoomExponent , fAnimTime, fTimespan); + m_fShader .StartBlendFrom(&s_from->m_fShader , fAnimTime, fTimespan); + m_fModWaveAlphaStart.StartBlendFrom(&s_from->m_fModWaveAlphaStart, fAnimTime, fTimespan); + m_fModWaveAlphaEnd .StartBlendFrom(&s_from->m_fModWaveAlphaEnd, fAnimTime, fTimespan); + + m_fZoom .StartBlendFrom(&s_from->m_fZoom , fAnimTime, fTimespan); + m_fRot .StartBlendFrom(&s_from->m_fRot , fAnimTime, fTimespan); + m_fRotCX .StartBlendFrom(&s_from->m_fRotCX , fAnimTime, fTimespan); + m_fRotCY .StartBlendFrom(&s_from->m_fRotCY , fAnimTime, fTimespan); + m_fXPush .StartBlendFrom(&s_from->m_fXPush , fAnimTime, fTimespan); + m_fYPush .StartBlendFrom(&s_from->m_fYPush , fAnimTime, fTimespan); + m_fWarpAmount.StartBlendFrom(&s_from->m_fWarpAmount,fAnimTime, fTimespan); + m_fStretchX .StartBlendFrom(&s_from->m_fStretchX , fAnimTime, fTimespan); + m_fStretchY .StartBlendFrom(&s_from->m_fStretchY , fAnimTime, fTimespan); + m_fWaveR .StartBlendFrom(&s_from->m_fWaveR , fAnimTime, fTimespan); + m_fWaveG .StartBlendFrom(&s_from->m_fWaveG , fAnimTime, fTimespan); + m_fWaveB .StartBlendFrom(&s_from->m_fWaveB , fAnimTime, fTimespan); + m_fWaveX .StartBlendFrom(&s_from->m_fWaveX , fAnimTime, fTimespan); + m_fWaveY .StartBlendFrom(&s_from->m_fWaveY , fAnimTime, fTimespan); + m_fOuterBorderSize .StartBlendFrom(&s_from->m_fOuterBorderSize , fAnimTime, fTimespan); + m_fOuterBorderR .StartBlendFrom(&s_from->m_fOuterBorderR , fAnimTime, fTimespan); + m_fOuterBorderG .StartBlendFrom(&s_from->m_fOuterBorderG , fAnimTime, fTimespan); + m_fOuterBorderB .StartBlendFrom(&s_from->m_fOuterBorderB , fAnimTime, fTimespan); + m_fOuterBorderA .StartBlendFrom(&s_from->m_fOuterBorderA , fAnimTime, fTimespan); + m_fInnerBorderSize .StartBlendFrom(&s_from->m_fInnerBorderSize , fAnimTime, fTimespan); + m_fInnerBorderR .StartBlendFrom(&s_from->m_fInnerBorderR , fAnimTime, fTimespan); + m_fInnerBorderG .StartBlendFrom(&s_from->m_fInnerBorderG , fAnimTime, fTimespan); + m_fInnerBorderB .StartBlendFrom(&s_from->m_fInnerBorderB , fAnimTime, fTimespan); + m_fInnerBorderA .StartBlendFrom(&s_from->m_fInnerBorderA , fAnimTime, fTimespan); + m_fMvX .StartBlendFrom(&s_from->m_fMvX , fAnimTime, fTimespan); + m_fMvY .StartBlendFrom(&s_from->m_fMvY , fAnimTime, fTimespan); + m_fMvDX .StartBlendFrom(&s_from->m_fMvDX , fAnimTime, fTimespan); + m_fMvDY .StartBlendFrom(&s_from->m_fMvDY , fAnimTime, fTimespan); + m_fMvL .StartBlendFrom(&s_from->m_fMvL , fAnimTime, fTimespan); + m_fMvR .StartBlendFrom(&s_from->m_fMvR , fAnimTime, fTimespan); + m_fMvG .StartBlendFrom(&s_from->m_fMvG , fAnimTime, fTimespan); + m_fMvB .StartBlendFrom(&s_from->m_fMvB , fAnimTime, fTimespan); + m_fMvA .StartBlendFrom(&s_from->m_fMvA , fAnimTime, fTimespan); + m_fBlur1Min .StartBlendFrom(&s_from->m_fBlur1Min , fAnimTime, fTimespan); + m_fBlur2Min .StartBlendFrom(&s_from->m_fBlur2Min , fAnimTime, fTimespan); + m_fBlur3Min .StartBlendFrom(&s_from->m_fBlur3Min , fAnimTime, fTimespan); + m_fBlur1Max .StartBlendFrom(&s_from->m_fBlur1Max , fAnimTime, fTimespan); + m_fBlur2Max .StartBlendFrom(&s_from->m_fBlur2Max , fAnimTime, fTimespan); + m_fBlur3Max .StartBlendFrom(&s_from->m_fBlur3Max , fAnimTime, fTimespan); + m_fBlur1EdgeDarken .StartBlendFrom(&s_from->m_fBlur1EdgeDarken , fAnimTime, fTimespan); + + // if motion vectors were transparent before, don't morph the # in X and Y - just + // start in the right place, and fade them in. + bool bOldStateTransparent = (s_from->m_fMvA.eval(-1) < 0.001f); + bool bNewStateTransparent = (s_to->m_fMvA.eval(-1) < 0.001f); + if (!bOldStateTransparent && bNewStateTransparent) + { + s_from->m_fMvX = s_to->m_fMvX.eval(fAnimTime); + s_from->m_fMvY = s_to->m_fMvY.eval(fAnimTime); + s_from->m_fMvDX = s_to->m_fMvDX.eval(fAnimTime); + s_from->m_fMvDY = s_to->m_fMvDY.eval(fAnimTime); + s_from->m_fMvL = s_to->m_fMvL.eval(fAnimTime); + s_from->m_fMvR = s_to->m_fMvR.eval(fAnimTime); + s_from->m_fMvG = s_to->m_fMvG.eval(fAnimTime); + s_from->m_fMvB = s_to->m_fMvB.eval(fAnimTime); + } + if (bNewStateTransparent && !bOldStateTransparent) + { + s_to->m_fMvX = s_from->m_fMvX.eval(fAnimTime); + s_to->m_fMvY = s_from->m_fMvY.eval(fAnimTime); + s_to->m_fMvDX = s_from->m_fMvDX.eval(fAnimTime); + s_to->m_fMvDY = s_from->m_fMvDY.eval(fAnimTime); + s_to->m_fMvL = s_from->m_fMvL.eval(fAnimTime); + s_to->m_fMvR = s_from->m_fMvR.eval(fAnimTime); + s_to->m_fMvG = s_from->m_fMvG.eval(fAnimTime); + s_to->m_fMvB = s_from->m_fMvB.eval(fAnimTime); + } + +} + +void WriteCode(FILE* fOut, int i, char* pStr, char* prefix, bool bPrependApostrophe = false) +{ + char szLineName[32]; + int line = 1; + int start_pos = 0; + int char_pos = 0; + + while (pStr[start_pos] != 0) + { + while ( pStr[char_pos] != 0 && + pStr[char_pos] != LINEFEED_CONTROL_CHAR) + char_pos++; + + sprintf(szLineName, "%s%d", prefix, line); + + char ch = pStr[char_pos]; + pStr[char_pos] = 0; + //if (!WritePrivateProfileString(szSectionName,szLineName,&pStr[start_pos],szIniFile)) return false; + fprintf(fOut, "%s=%s%s\n", szLineName, bPrependApostrophe ? "`" : "", &pStr[start_pos]); + pStr[char_pos] = ch; + + if (pStr[char_pos] != 0) char_pos++; + start_pos = char_pos; + line++; + } +} + +bool CState::Export(const wchar_t *szIniFile) +{ + FILE *fOut = _wfopen(szIniFile, L"w"); + if (!fOut) return false; + + // IMPORTANT: THESE MUST BE THE FIRST TWO LINES. Otherwise it is assumed to be a MilkDrop 1-era preset. + if (m_nMaxPSVersion > 0) + { + fprintf(fOut, "MILKDROP_PRESET_VERSION=%d\n", CUR_MILKDROP_PRESET_VERSION); + fprintf(fOut, "PSVERSION=%d\n" ,m_nMaxPSVersion); // the max + fprintf(fOut, "PSVERSION_WARP=%d\n",m_nWarpPSVersion); + fprintf(fOut, "PSVERSION_COMP=%d\n",m_nCompPSVersion); + } + + // just for backwards compatibility; MilkDrop 1 can read MilkDrop 2 presets, minus the new features. + // (...this section name allows the GetPrivateProfile*() functions to still work on milkdrop 1) + fprintf(fOut, "[preset00]\n"); + + fprintf(fOut, "%s=%.3f\n", "fRating", m_fRating); + fprintf(fOut, "%s=%.3f\n", "fGammaAdj", m_fGammaAdj.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fDecay", m_fDecay.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fVideoEchoZoom", m_fVideoEchoZoom.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fVideoEchoAlpha", m_fVideoEchoAlpha.eval(-1)); + fprintf(fOut, "%s=%d\n", "nVideoEchoOrientation", m_nVideoEchoOrientation); + + fprintf(fOut, "%s=%d\n", "nWaveMode", m_nWaveMode); + fprintf(fOut, "%s=%d\n", "bAdditiveWaves", m_bAdditiveWaves); + fprintf(fOut, "%s=%d\n", "bWaveDots", m_bWaveDots); + fprintf(fOut, "%s=%d\n", "bWaveThick", m_bWaveThick); + fprintf(fOut, "%s=%d\n", "bModWaveAlphaByVolume", m_bModWaveAlphaByVolume); + fprintf(fOut, "%s=%d\n", "bMaximizeWaveColor", m_bMaximizeWaveColor); + fprintf(fOut, "%s=%d\n", "bTexWrap", m_bTexWrap ); + fprintf(fOut, "%s=%d\n", "bDarkenCenter", m_bDarkenCenter ); + fprintf(fOut, "%s=%d\n", "bRedBlueStereo", m_bRedBlueStereo ); + fprintf(fOut, "%s=%d\n", "bBrighten", m_bBrighten ); + fprintf(fOut, "%s=%d\n", "bDarken", m_bDarken ); + fprintf(fOut, "%s=%d\n", "bSolarize", m_bSolarize ); + fprintf(fOut, "%s=%d\n", "bInvert", m_bInvert ); + + fprintf(fOut, "%s=%.3f\n", "fWaveAlpha", m_fWaveAlpha.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fWaveScale", m_fWaveScale.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fWaveSmoothing", m_fWaveSmoothing.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fWaveParam", m_fWaveParam.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fModWaveAlphaStart", m_fModWaveAlphaStart.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fModWaveAlphaEnd", m_fModWaveAlphaEnd.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fWarpAnimSpeed", m_fWarpAnimSpeed); + fprintf(fOut, "%s=%.3f\n", "fWarpScale", m_fWarpScale.eval(-1)); + fprintf(fOut, "%s=%.5f\n", "fZoomExponent", m_fZoomExponent.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "fShader", m_fShader.eval(-1)); + + fprintf(fOut, "%s=%.5f\n", "zoom", m_fZoom .eval(-1)); + fprintf(fOut, "%s=%.5f\n", "rot", m_fRot .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "cx", m_fRotCX .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "cy", m_fRotCY .eval(-1)); + fprintf(fOut, "%s=%.5f\n", "dx", m_fXPush .eval(-1)); + fprintf(fOut, "%s=%.5f\n", "dy", m_fYPush .eval(-1)); + fprintf(fOut, "%s=%.5f\n", "warp", m_fWarpAmount.eval(-1)); + fprintf(fOut, "%s=%.5f\n", "sx", m_fStretchX .eval(-1)); + fprintf(fOut, "%s=%.5f\n", "sy", m_fStretchY .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "wave_r", m_fWaveR .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "wave_g", m_fWaveG .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "wave_b", m_fWaveB .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "wave_x", m_fWaveX .eval(-1)); + fprintf(fOut, "%s=%.3f\n", "wave_y", m_fWaveY .eval(-1)); + + fprintf(fOut, "%s=%.3f\n", "ob_size", m_fOuterBorderSize.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ob_r", m_fOuterBorderR.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ob_g", m_fOuterBorderG.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ob_b", m_fOuterBorderB.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ob_a", m_fOuterBorderA.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ib_size", m_fInnerBorderSize.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ib_r", m_fInnerBorderR.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ib_g", m_fInnerBorderG.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ib_b", m_fInnerBorderB.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "ib_a", m_fInnerBorderA.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "nMotionVectorsX", m_fMvX.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "nMotionVectorsY", m_fMvY.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_dx", m_fMvDX.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_dy", m_fMvDY.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_l", m_fMvL.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_r", m_fMvR.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_g", m_fMvG.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_b", m_fMvB.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "mv_a", m_fMvA.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b1n", m_fBlur1Min.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b2n", m_fBlur2Min.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b3n", m_fBlur3Min.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b1x", m_fBlur1Max.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b2x", m_fBlur2Max.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b3x", m_fBlur3Max.eval(-1)); + fprintf(fOut, "%s=%.3f\n", "b1ed", m_fBlur1EdgeDarken.eval(-1)); + + for (int i=0; i= MD2_PS_2_0) + WriteCode(fOut, i, m_szWarpShadersText, "warp_", true); + if (m_nCompPSVersion >= MD2_PS_2_0) + WriteCode(fOut, i, m_szCompShadersText, "comp_", true); + + fclose(fOut); + + return true; +} + +int CWave::Export(FILE* fOut, const wchar_t *szFile, int i) +{ + FILE* f2 = fOut; + if (!fOut) + { + f2 = _wfopen(szFile, L"w"); + if (!f2) return 0; + } + + fprintf(f2, "wavecode_%d_%s=%d\n", i, "enabled", enabled); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "samples", samples); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "sep", sep ); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "bSpectrum", bSpectrum); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "bUseDots", bUseDots); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "bDrawThick", bDrawThick); + fprintf(f2, "wavecode_%d_%s=%d\n", i, "bAdditive", bAdditive); + fprintf(f2, "wavecode_%d_%s=%.5f\n", i, "scaling", scaling); + fprintf(f2, "wavecode_%d_%s=%.5f\n", i, "smoothing", smoothing); + fprintf(f2, "wavecode_%d_%s=%.3f\n", i, "r", r); + fprintf(f2, "wavecode_%d_%s=%.3f\n", i, "g", g); + fprintf(f2, "wavecode_%d_%s=%.3f\n", i, "b", b); + fprintf(f2, "wavecode_%d_%s=%.3f\n", i, "a", a); + + // READ THE CODE IN + char prefix[64]; + sprintf(prefix, "wave_%d_init", i); WriteCode(f2, i, m_szInit, prefix); + sprintf(prefix, "wave_%d_per_frame", i); WriteCode(f2, i, m_szPerFrame, prefix); + sprintf(prefix, "wave_%d_per_point", i); WriteCode(f2, i, m_szPerPoint, prefix); + + if (!fOut) + fclose(f2); // [sic] + + return 1; +} + +int CShape::Export(FILE* fOut, const wchar_t *szFile, int i) +{ + FILE* f2 = fOut; + if (!fOut) + { + f2 = _wfopen(szFile, L"w"); + if (!f2) return 0; + //fprintf(f2, "[%s]\n", szSection); + } + + fprintf(f2, "shapecode_%d_%s=%d\n", i, "enabled", enabled); + fprintf(f2, "shapecode_%d_%s=%d\n", i, "sides", sides); + fprintf(f2, "shapecode_%d_%s=%d\n", i, "additive", additive); + fprintf(f2, "shapecode_%d_%s=%d\n", i, "thickOutline",thickOutline); + fprintf(f2, "shapecode_%d_%s=%d\n", i, "textured", textured); + fprintf(f2, "shapecode_%d_%s=%d\n", i, "num_inst", instances); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "x", x); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "y", y); + fprintf(f2, "shapecode_%d_%s=%.5f\n", i, "rad", rad); + fprintf(f2, "shapecode_%d_%s=%.5f\n", i, "ang", ang); + fprintf(f2, "shapecode_%d_%s=%.5f\n", i, "tex_ang", tex_ang); + fprintf(f2, "shapecode_%d_%s=%.5f\n", i, "tex_zoom", tex_zoom); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "r", r); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "g", g); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "b", b); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "a", a); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "r2", r2); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "g2", g2); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "b2", b2); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "a2", a2); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "border_r", border_r); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "border_g", border_g); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "border_b", border_b); + fprintf(f2, "shapecode_%d_%s=%.3f\n", i, "border_a", border_a); + + char prefix[64]; + sprintf(prefix, "shape_%d_init", i); WriteCode(f2, i, m_szInit, prefix); + sprintf(prefix, "shape_%d_per_frame", i); WriteCode(f2, i, m_szPerFrame, prefix); + //sprintf(prefix, "shape_%d_per_point", i); WriteCode(f2, i, m_szPerPoint, prefix); + + if (!fOut) + fclose(f2); // [sic] + + return 1; +} + +void ReadCode(FILE* f, char* pStr, char* prefix) +{ + if (!pStr) + return; + pStr[0] = 0; + + // read in & compile arbitrary expressions + char szLineName[32]; + char szLine[MAX_BIGSTRING_LEN]; + int len; + + int line = 1; + int char_pos = 0; + bool bDone = false; + + while (!bDone) + { + sprintf(szLineName, "%s%d", prefix, line); + + GetFastString(szLineName, "~!@#$", szLine, MAX_BIGSTRING_LEN, f); // fixme + len = strlen(szLine); + + if ((strcmp(szLine, "~!@#$")==0) || // if the key was missing, + (len >= MAX_BIGSTRING_LEN-1-char_pos-1)) // or if we're out of space + { + bDone = true; + } + else + { + sprintf(&pStr[char_pos], "%s%c", (szLine[0]=='`') ? &szLine[1] : szLine, LINEFEED_CONTROL_CHAR); + if (szLine[0] == '`') + len--; + } + + char_pos += len + 1; + line++; + } + pStr[char_pos++] = 0; // null-terminate + + // read in & compile arbitrary expressions + /* + int n2 = 3 + MAX_CUSTOM_WAVES*3 + MAX_CUSTOM_SHAPES*2; + for (int n=0; n= MAX_BIGSTRING_LEN-1-char_pos-1)) // or if we're out of space + { + bDone = true; + } + else + { + sprintf(&pStr[char_pos], "%s%c", szLine, LINEFEED_CONTROL_CHAR); + } + + char_pos += len + 1; + line++; + } + pStr[char_pos++] = 0; // null-terminate + } + */ +} + +int CWave::Import(FILE* f, const wchar_t* szFile, int i) +{ + FILE* f2 = f; + if (!f) + { + f2 = _wfopen(szFile, L"rb"); + if (!f2) return 0; + GetFast_CLEAR(); + } + + char buf[64]; + sprintf(buf, "wavecode_%d_%s", i, "enabled" ); enabled = GetFastInt (buf, enabled , f2); + sprintf(buf, "wavecode_%d_%s", i, "samples" ); samples = GetFastInt (buf, samples , f2); + sprintf(buf, "wavecode_%d_%s", i, "sep" ); sep = GetFastInt (buf, sep , f2); + sprintf(buf, "wavecode_%d_%s", i, "bSpectrum" ); bSpectrum = GetFastInt (buf, bSpectrum , f2); + sprintf(buf, "wavecode_%d_%s", i, "bUseDots" ); bUseDots = GetFastInt (buf, bUseDots , f2); + sprintf(buf, "wavecode_%d_%s", i, "bDrawThick"); bDrawThick = GetFastInt (buf, bDrawThick, f2); + sprintf(buf, "wavecode_%d_%s", i, "bAdditive" ); bAdditive = GetFastInt (buf, bAdditive , f2); + sprintf(buf, "wavecode_%d_%s", i, "scaling" ); scaling = GetFastFloat(buf, scaling , f2); + sprintf(buf, "wavecode_%d_%s", i, "smoothing" ); smoothing = GetFastFloat(buf, smoothing , f2); + sprintf(buf, "wavecode_%d_%s", i, "r" ); r = GetFastFloat(buf, r , f2); + sprintf(buf, "wavecode_%d_%s", i, "g" ); g = GetFastFloat(buf, g , f2); + sprintf(buf, "wavecode_%d_%s", i, "b" ); b = GetFastFloat(buf, b , f2); + sprintf(buf, "wavecode_%d_%s", i, "a" ); a = GetFastFloat(buf, a , f2); + + // READ THE CODE IN + char prefix[64]; + sprintf(prefix, "wave_%d_init", i); ReadCode(f2, m_szInit, prefix); + sprintf(prefix, "wave_%d_per_frame", i); ReadCode(f2, m_szPerFrame, prefix); + sprintf(prefix, "wave_%d_per_point", i); ReadCode(f2, m_szPerPoint, prefix); + + if (!f) + fclose(f2); // [sic] + + return 1; +} + +int CShape::Import(FILE* f, const wchar_t* szFile, int i) +{ + FILE* f2 = f; + if (!f) + { + f2 = _wfopen(szFile, L"rb"); + if (!f2) return 0; + GetFast_CLEAR(); + } + + char buf[64]; + sprintf(buf, "shapecode_%d_%s", i, "enabled" ); enabled = GetFastInt (buf, enabled , f2); + sprintf(buf, "shapecode_%d_%s", i, "sides" ); sides = GetFastInt (buf, sides , f2); + sprintf(buf, "shapecode_%d_%s", i, "additive" ); additive = GetFastInt (buf, additive , f2); + sprintf(buf, "shapecode_%d_%s", i, "thickOutline"); thickOutline = GetFastInt (buf, thickOutline, f2); + sprintf(buf, "shapecode_%d_%s", i, "textured" ); textured = GetFastInt (buf, textured , f2); + sprintf(buf, "shapecode_%d_%s", i, "num_inst" ); instances = GetFastInt (buf, instances , f2); + sprintf(buf, "shapecode_%d_%s", i, "x" ); x = GetFastFloat(buf, x , f2); + sprintf(buf, "shapecode_%d_%s", i, "y" ); y = GetFastFloat(buf, y , f2); + sprintf(buf, "shapecode_%d_%s", i, "rad" ); rad = GetFastFloat(buf, rad , f2); + sprintf(buf, "shapecode_%d_%s", i, "ang" ); ang = GetFastFloat(buf, ang , f2); + sprintf(buf, "shapecode_%d_%s", i, "tex_ang" ); tex_ang = GetFastFloat(buf, tex_ang , f2); + sprintf(buf, "shapecode_%d_%s", i, "tex_zoom" ); tex_zoom = GetFastFloat(buf, tex_zoom , f2); + sprintf(buf, "shapecode_%d_%s", i, "r" ); r = GetFastFloat(buf, r , f2); + sprintf(buf, "shapecode_%d_%s", i, "g" ); g = GetFastFloat(buf, g , f2); + sprintf(buf, "shapecode_%d_%s", i, "b" ); b = GetFastFloat(buf, b , f2); + sprintf(buf, "shapecode_%d_%s", i, "a" ); a = GetFastFloat(buf, a , f2); + sprintf(buf, "shapecode_%d_%s", i, "r2" ); r2 = GetFastFloat(buf, r2 , f2); + sprintf(buf, "shapecode_%d_%s", i, "g2" ); g2 = GetFastFloat(buf, g2 , f2); + sprintf(buf, "shapecode_%d_%s", i, "b2" ); b2 = GetFastFloat(buf, b2 , f2); + sprintf(buf, "shapecode_%d_%s", i, "a2" ); a2 = GetFastFloat(buf, a2 , f2); + sprintf(buf, "shapecode_%d_%s", i, "border_r" ); border_r = GetFastFloat(buf, border_r , f2); + sprintf(buf, "shapecode_%d_%s", i, "border_g" ); border_g = GetFastFloat(buf, border_g , f2); + sprintf(buf, "shapecode_%d_%s", i, "border_b" ); border_b = GetFastFloat(buf, border_b , f2); + sprintf(buf, "shapecode_%d_%s", i, "border_a" ); border_a = GetFastFloat(buf, border_a , f2); + + // READ THE CODE IN + char prefix[64]; + sprintf(prefix, "shape_%d_init", i); ReadCode(f2, m_szInit, prefix); + sprintf(prefix, "shape_%d_per_frame", i); ReadCode(f2, m_szPerFrame, prefix); + + if (!f) + fclose(f2); // [sic] + + return 1; +} + +bool CState::Import(const wchar_t *szIniFile, float fTime, CState* pOldState, DWORD ApplyFlags) +{ + // if any ApplyFlags are missing, the settings will be copied from pOldState. =) + + if (!pOldState) + ApplyFlags = STATE_ALL; + + if (ApplyFlags!=STATE_ALL && this != pOldState) + { + assert(pOldState); + // in order to copy the old state, we have to byte copy it. + memcpy(this, pOldState, sizeof(CState)); + // clear all the copied code pointers, WITHOUT actually freeing it (since ptrs were copied) + // so that the Default() call below won't release pOldState's copied pointers. + // [all expressions will be recompiled @ end of this fn, whether we updated them or not] + FreeVarsAndCode(false); + } + + // apply defaults for the stuff we will overwrite. + Default(ApplyFlags);//RandomizePresetVars(); + + GetFast_CLEAR(); + + if ( (ApplyFlags & STATE_GENERAL) && // check for these 3 @ same time, + (ApplyFlags & STATE_MOTION) && // so a preset switch w/ warp/comp lock + (ApplyFlags & STATE_WAVE) // updates the name, but mash-ups don't. + ) + { + m_fPresetStartTime = fTime; + + // extract a description of the preset from the filename + { + // copy get the filename (without the path) + const wchar_t *p = wcsrchr(szIniFile, '\\'); + if (p==NULL) p = szIniFile; + lstrcpyW(m_szDesc, p+1); + + // next remove the extension + RemoveExtension(m_szDesc); + } + } + + FILE* f = _wfopen(szIniFile, L"rb"); + if (!f) + return false; + + int nMilkdropPresetVersion = GetFastInt("MILKDROP_PRESET_VERSION",100,f); + //if (ApplyFlags != STATE_ALL) + // nMilkdropPresetVersion = CUR_MILKDROP_PRESET_VERSION; //if we're mashing up, force it up to now + + + int nWarpPSVersionInFile; + int nCompPSVersionInFile; + if (nMilkdropPresetVersion < 200) { + nWarpPSVersionInFile = 0; + nCompPSVersionInFile = 0; + } + else if (nMilkdropPresetVersion == 200) { + nWarpPSVersionInFile = GetFastInt("PSVERSION", 2, f); + nCompPSVersionInFile = nWarpPSVersionInFile; + } + else { + nWarpPSVersionInFile = GetFastInt("PSVERSION_WARP", 2, f); + nCompPSVersionInFile = GetFastInt("PSVERSION_COMP", 2, f); + } + + // general: + if (ApplyFlags & STATE_GENERAL) + { + m_fRating = GetFastFloat("fRating",m_fRating,f); + m_fDecay = GetFastFloat("fDecay",m_fDecay.eval(-1),f); + m_fGammaAdj = GetFastFloat("fGammaAdj" ,m_fGammaAdj.eval(-1),f); + m_fVideoEchoZoom = GetFastFloat("fVideoEchoZoom",m_fVideoEchoZoom.eval(-1),f); + m_fVideoEchoAlpha = GetFastFloat("fVideoEchoAlpha",m_fVideoEchoAlpha.eval(-1),f); + m_nVideoEchoOrientation = GetFastInt ("nVideoEchoOrientation",m_nVideoEchoOrientation,f); + m_bRedBlueStereo = (GetFastInt ("bRedBlueStereo", m_bRedBlueStereo,f) != 0); + m_bBrighten = (GetFastInt ("bBrighten",m_bBrighten ,f) != 0); + m_bDarken = (GetFastInt ("bDarken" ,m_bDarken ,f) != 0); + m_bSolarize = (GetFastInt ("bSolarize",m_bSolarize ,f) != 0); + m_bInvert = (GetFastInt ("bInvert" ,m_bInvert ,f) != 0); + m_fShader = GetFastFloat("fShader",m_fShader.eval(-1),f); + m_fBlur1Min = GetFastFloat("b1n", m_fBlur1Min.eval(-1),f); + m_fBlur2Min = GetFastFloat("b2n", m_fBlur2Min.eval(-1),f); + m_fBlur3Min = GetFastFloat("b3n", m_fBlur3Min.eval(-1),f); + m_fBlur1Max = GetFastFloat("b1x", m_fBlur1Max.eval(-1),f); + m_fBlur2Max = GetFastFloat("b2x", m_fBlur2Max.eval(-1),f); + m_fBlur3Max = GetFastFloat("b3x", m_fBlur3Max.eval(-1),f); + m_fBlur1EdgeDarken = GetFastFloat("b1ed", m_fBlur1EdgeDarken.eval(-1),f); + } + + // wave: + if (ApplyFlags & STATE_WAVE) + { + m_nWaveMode = GetFastInt ("nWaveMode",m_nWaveMode,f); + m_bAdditiveWaves = (GetFastInt ("bAdditiveWaves",m_bAdditiveWaves,f) != 0); + m_bWaveDots = (GetFastInt ("bWaveDots",m_bWaveDots,f) != 0); + m_bWaveThick = (GetFastInt ("bWaveThick",m_bWaveThick,f) != 0); + m_bModWaveAlphaByVolume = (GetFastInt ("bModWaveAlphaByVolume",m_bModWaveAlphaByVolume,f) != 0); + m_bMaximizeWaveColor = (GetFastInt ("bMaximizeWaveColor" ,m_bMaximizeWaveColor,f) != 0); + m_fWaveAlpha = GetFastFloat("fWaveAlpha",m_fWaveAlpha.eval(-1),f); + m_fWaveScale = GetFastFloat("fWaveScale",m_fWaveScale.eval(-1),f); + m_fWaveSmoothing = GetFastFloat("fWaveSmoothing",m_fWaveSmoothing.eval(-1),f); + m_fWaveParam = GetFastFloat("fWaveParam",m_fWaveParam.eval(-1),f); + m_fModWaveAlphaStart = GetFastFloat("fModWaveAlphaStart",m_fModWaveAlphaStart.eval(-1),f); + m_fModWaveAlphaEnd = GetFastFloat("fModWaveAlphaEnd",m_fModWaveAlphaEnd.eval(-1),f); + m_fWaveR = GetFastFloat("wave_r",m_fRot.eval(-1),f); + m_fWaveG = GetFastFloat("wave_g",m_fRot.eval(-1),f); + m_fWaveB = GetFastFloat("wave_b",m_fRot.eval(-1),f); + m_fWaveX = GetFastFloat("wave_x",m_fRot.eval(-1),f); + m_fWaveY = GetFastFloat("wave_y",m_fRot.eval(-1),f); + m_fMvX = GetFastFloat("nMotionVectorsX", m_fMvX.eval(-1),f); + m_fMvY = GetFastFloat("nMotionVectorsY", m_fMvY.eval(-1),f); + m_fMvDX = GetFastFloat("mv_dx", m_fMvDX.eval(-1),f); + m_fMvDY = GetFastFloat("mv_dy", m_fMvDY.eval(-1),f); + m_fMvL = GetFastFloat("mv_l", m_fMvL.eval(-1),f); + m_fMvR = GetFastFloat("mv_r", m_fMvR.eval(-1),f); + m_fMvG = GetFastFloat("mv_g", m_fMvG.eval(-1),f); + m_fMvB = GetFastFloat("mv_b", m_fMvB.eval(-1),f); + m_fMvA = (GetFastInt ("bMotionVectorsOn",false,f) == 0) ? 0.0f : 1.0f; // for backwards compatibility + m_fMvA = GetFastFloat("mv_a", m_fMvA.eval(-1),f); + for (int i=0; i0) + g_plugin.GenWarpPShaderText(m_szWarpShadersText, m_fDecay.eval(-1), m_bTexWrap); +} +void CState::GenDefaultCompShader() +{ + if (m_nCompPSVersion>0) + g_plugin.GenCompPShaderText(m_szCompShadersText, m_fGammaAdj.eval(-1), m_fVideoEchoAlpha.eval(-1), m_fVideoEchoZoom.eval(-1), m_nVideoEchoOrientation, m_fShader.eval(-1), m_bBrighten, m_bDarken, m_bSolarize, m_bInvert); +} + +void CState::FreeVarsAndCode(bool bFree) +{ + // free the compiled expressions + if (m_pf_codehandle) + { + if (bFree) + NSEEL_code_free(m_pf_codehandle); + m_pf_codehandle = NULL; + } + if (m_pp_codehandle) + { + if (bFree) + NSEEL_code_free(m_pp_codehandle); + m_pp_codehandle = NULL; + } + + for (int i=0; i= sizeof(src). + + int i2 = 0; + int len = strlen(src); + int bComment = false; + for (int i=0; i m_fBlendStartTime + m_fBlendDuration) || (fTime < m_fBlendStartTime)) + { + m_bBlending = false; + } + + if (!m_bBlending) + { + return val; + } + else + { + float mix = (fTime - m_fBlendStartTime) / m_fBlendDuration; + return (m_fBlendFrom*(1.0f - mix) + val*mix); + } +} + +//-------------------------------------------------------------------------------- + +void CBlendableFloat::StartBlendFrom(CBlendableFloat *f_from, float fAnimTime, float fDuration) +{ + if (fDuration < 0.001f) + return; + + m_fBlendFrom = f_from->eval(fAnimTime); + m_bBlending = true; + m_fBlendStartTime = fAnimTime; + m_fBlendDuration = fDuration; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/state.h b/src/MilkDrop2/vis_milk2/state.h new file mode 100644 index 0000000000..5474f2d869 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/state.h @@ -0,0 +1,448 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 _MILKDROP_STATE_ +#define _MILKDROP_STATE_ 1 + +#include +#include +#include +#include "gstring.h" +#include "texmgr.h" + +#include // for D3DXVECTOR3 + +//#include "evallib/eval.h" +#include "../ns-eel2/ns-eel.h" +#include "md_defines.h" + +// flags for CState::RecompileExpressions(): +#define RECOMPILE_PRESET_CODE 1 +#define RECOMPILE_WAVE_CODE 2 +#define RECOMPILE_SHAPE_CODE 4 + +#define NUM_Q_VAR 32 +#define NUM_T_VAR 8 + +#define MAX_BIGSTRING_LEN 32768 + +class CBlendableFloat +{ +public: + CBlendableFloat(); + ~CBlendableFloat(); + + float operator = (float f) { + val = f; + m_bBlending = false; + return val; + }; + float operator *= (float f) { + val *= f; + m_bBlending = false; + return val; + }; + float operator /= (float f) { + val /= f; + m_bBlending = false; + return val; + }; + float operator -= (float f) { + val -= f; + m_bBlending = false; + return val; + }; + float operator += (float f) { + val += f; + m_bBlending = false; + return val; + }; + + float eval(float fTime); // call this from animation code. if fTime < 0, it will return unblended 'val'. + void StartBlendFrom(CBlendableFloat *f_from, float fAnimTime, float fDuration); + +protected: + float val; + bool m_bBlending; + float m_fBlendStartTime; + float m_fBlendDuration; + float m_fBlendFrom; +}; + +class CShape +{ +public: + int Import(FILE* f, const wchar_t* szFile, int i); + int Export(FILE* f, const wchar_t* szFile, int i); + + int enabled; + int sides; + int additive; + int thickOutline; + int textured; + int instances; + float x,y,rad,ang; + float r,g,b,a; + float r2,g2,b2,a2; + float border_r,border_g,border_b,border_a; + float tex_ang, tex_zoom; + + char m_szInit[MAX_BIGSTRING_LEN]; // note: only executed once -> don't need to save codehandle + char m_szPerFrame[MAX_BIGSTRING_LEN]; + //char m_szPerPoint[MAX_BIGSTRING_LEN]; + NSEEL_CODEHANDLE m_pf_codehandle; + //int m_pp_codehandle; + + + // for per-frame expression evaluation: + NSEEL_VMCTX m_pf_eel; + double *var_pf_time, *var_pf_fps; + double *var_pf_frame; + double *var_pf_progress; + //double *var_pf_q1, *var_pf_q2, *var_pf_q3, *var_pf_q4, *var_pf_q5, *var_pf_q6, *var_pf_q7, *var_pf_q8; + //double *var_pf_t1, *var_pf_t2, *var_pf_t3, *var_pf_t4, *var_pf_t5, *var_pf_t6, *var_pf_t7, *var_pf_t8; + double* var_pf_q[NUM_Q_VAR]; + double* var_pf_t[NUM_T_VAR]; + double *var_pf_bass, *var_pf_mid, *var_pf_treb, *var_pf_bass_att, *var_pf_mid_att, *var_pf_treb_att; + double *var_pf_r, *var_pf_g, *var_pf_b, *var_pf_a; + double *var_pf_r2, *var_pf_g2, *var_pf_b2, *var_pf_a2; + double *var_pf_border_r, *var_pf_border_g, *var_pf_border_b, *var_pf_border_a; + double *var_pf_x, *var_pf_y, *var_pf_rad, *var_pf_ang; + double *var_pf_sides, *var_pf_textured, *var_pf_additive, *var_pf_thick, *var_pf_instances, *var_pf_instance; + double *var_pf_tex_zoom, *var_pf_tex_ang; + + // for per-point expression evaluation: + /* + NSEEL_VMCTX m_pp_eel; + double *var_pp_time, *var_pp_fps; + double *var_pp_frame; + double *var_pp_progress; + double *var_pp_q1, *var_pp_q2, *var_pp_q3, *var_pp_q4, *var_pp_q5, *var_pp_q6, *var_pp_q7, *var_pp_q8; + double *var_pp_t1, *var_pp_t2, *var_pp_t3, *var_pp_t4, *var_pp_t5, *var_pp_t6, *var_pp_t7, *var_pp_t8; + double *var_pp_bass, *var_pp_mid, *var_pp_treb, *var_pp_bass_att, *var_pp_mid_att, *var_pp_treb_att; + double *var_pp_r, *var_pp_g, *var_pp_b, *var_pp_a; + double *var_pp_r2, *var_pp_g2, *var_pp_b2, *var_pp_a2; + double *var_pp_border_r, *var_pp_border_g, *var_pp_border_b, *var_pp_border_a; + double *var_pp_x, *var_pp_y, *var_pp_rad, *var_pp_ang, *var_pp_sides; + */ + + double t_values_after_init_code[NUM_T_VAR]; +}; + +class CWave +{ +public: + int Import(FILE* f, const wchar_t *szFile, int i); + int Export(FILE* f, const wchar_t* szFile, int i); + + int enabled; + int samples; + int sep; + float scaling; + float smoothing; + float x,y,r,g,b,a; + int bSpectrum; + int bUseDots; + int bDrawThick; + int bAdditive; + + char m_szInit[MAX_BIGSTRING_LEN]; // note: only executed once -> don't need to save codehandle + char m_szPerFrame[MAX_BIGSTRING_LEN]; + char m_szPerPoint[MAX_BIGSTRING_LEN]; + NSEEL_CODEHANDLE m_pf_codehandle; + NSEEL_CODEHANDLE m_pp_codehandle; + + // for per-frame expression evaluation: + NSEEL_VMCTX m_pf_eel; + double *var_pf_time, *var_pf_fps; + double *var_pf_frame; + double *var_pf_progress; + //double *var_pf_q1, *var_pf_q2, *var_pf_q3, *var_pf_q4, *var_pf_q5, *var_pf_q6, *var_pf_q7, *var_pf_q8; + //double *var_pf_t1, *var_pf_t2, *var_pf_t3, *var_pf_t4, *var_pf_t5, *var_pf_t6, *var_pf_t7, *var_pf_t8; + double* var_pf_q[NUM_Q_VAR]; + double* var_pf_t[NUM_T_VAR]; + double *var_pf_bass, *var_pf_mid, *var_pf_treb, *var_pf_bass_att, *var_pf_mid_att, *var_pf_treb_att; + double *var_pf_r, *var_pf_g, *var_pf_b, *var_pf_a; + double *var_pf_samples; + + // for per-point expression evaluation: + NSEEL_VMCTX m_pp_eel; + double *var_pp_time, *var_pp_fps; + double *var_pp_frame; + double *var_pp_progress; + //double *var_pp_q1, *var_pp_q2, *var_pp_q3, *var_pp_q4, *var_pp_q5, *var_pp_q6, *var_pp_q7, *var_pp_q8; + //double *var_pp_t1, *var_pp_t2, *var_pp_t3, *var_pp_t4, *var_pp_t5, *var_pp_t6, *var_pp_t7, *var_pp_t8; + double* var_pp_q[NUM_Q_VAR]; + double* var_pp_t[NUM_T_VAR]; + double *var_pp_bass, *var_pp_mid, *var_pp_treb, *var_pp_bass_att, *var_pp_mid_att, *var_pp_treb_att; + double *var_pp_sample, *var_pp_value1, *var_pp_value2; + double *var_pp_x, *var_pp_y, *var_pp_r, *var_pp_g, *var_pp_b, *var_pp_a; + + double t_values_after_init_code[NUM_T_VAR]; +}; + +typedef struct +{ + int type; + int in_var; + int out_var; + float constant; + float min; + float max; + float in_scale; + float amp; // for sine functions + float freq; // for sine functions + float freq2; // for sine functions + float phase; // for sine functions + float phase2; // for sine functions +} td_modifier; + +//#define MAX_EVALS 8 + +#define INVALID_PRESET_DESC L"" // this should contain invalid filename chars, so there is never a conflict... + +#define STATE_GENERAL 1 // and postproc (old presets) or blur, etc. (new presets) +#define STATE_MOTION 2 // and equations +#define STATE_WAVE 4 // waves, shapes, motion vectors +#define STATE_WARP 8 +#define STATE_COMP 16 +#define STATE_ALL (32-1) + +#define CUR_MILKDROP_PRESET_VERSION 201 +// 200: milkdrop 2 +// 201: instead of just 1 variable for shader version, it tracks 2 (comp and warp) separately. + +class CState +{ +public: + CState(); + ~CState(); + + void Default(DWORD ApplyFlags=STATE_ALL); + void Randomize(int nMode); + void StartBlendFrom(CState *s_from, float fAnimTime, float fTimespan); + bool Import(const wchar_t *szIniFile, float fTime, CState* pOldState, DWORD ApplyFlags=STATE_ALL); + bool Export(const wchar_t *szIniFile); + void RecompileExpressions(int flags=0xFFFFFFFF, int bReInit=1); + void GenDefaultWarpShader(); + void GenDefaultCompShader(); + + wchar_t m_szDesc[512]; // this is just the filename, without a path or extension. + //char m_szSection[256]; + + int m_nMinPSVersion; // the min of the warp & comp values... + int m_nMaxPSVersion; // the max of the warp & comp values... + int m_nWarpPSVersion; // 0 = milkdrop 1 era (no PS), 2 = ps_2_0, 3 = ps_3_0 + int m_nCompPSVersion; // 0 = milkdrop 1 era (no PS), 2 = ps_2_0, 3 = ps_3_0 + float m_fRating; // 0..5 + // post-processing: + CBlendableFloat m_fGammaAdj; // +0 -> +1.0 (double), +2.0 (triple)... + CBlendableFloat m_fVideoEchoZoom; + CBlendableFloat m_fVideoEchoAlpha; + float m_fVideoEchoAlphaOld; + int m_nVideoEchoOrientation; + int m_nVideoEchoOrientationOld; + + // fps-dependant: + CBlendableFloat m_fDecay; // 1.0 = none, 0.95 = heavy decay + + // other: + int m_nWaveMode; + int m_nOldWaveMode; + bool m_bAdditiveWaves; + CBlendableFloat m_fWaveAlpha; + CBlendableFloat m_fWaveScale; + CBlendableFloat m_fWaveSmoothing; + bool m_bWaveDots; + bool m_bWaveThick; + CBlendableFloat m_fWaveParam; // -1..1; 0 is normal + bool m_bModWaveAlphaByVolume; + CBlendableFloat m_fModWaveAlphaStart; // when relative volume hits this level, alpha -> 0 + CBlendableFloat m_fModWaveAlphaEnd; // when relative volume hits this level, alpha -> 1 + float m_fWarpAnimSpeed; // 1.0 = normal, 2.0 = double, 0.5 = half, etc. + CBlendableFloat m_fWarpScale; + CBlendableFloat m_fZoomExponent; + CBlendableFloat m_fShader; // 0 = no color shader, 1 = full color shader + bool m_bMaximizeWaveColor; + bool m_bTexWrap; + bool m_bDarkenCenter; + bool m_bRedBlueStereo; + bool m_bBrighten; + bool m_bDarken; + bool m_bSolarize; + bool m_bInvert; + /* + bool m_bPlates; + int m_nPlates; + CBlendableFloat m_fPlateAlpha; // 0 = off, 0.1 = barely visible, 1.0 = solid + CBlendableFloat m_fPlateR; + CBlendableFloat m_fPlateG; + CBlendableFloat m_fPlateB; + CBlendableFloat m_fPlateWidth; // 1.0=normal, 2.0=double, etc. + CBlendableFloat m_fPlateLength; // 1.0=normal, 2.0=double, etc. + float m_fPlateSpeed; // 1.0=normal, 2.0=double, etc. + bool m_bPlatesAdditive; + */ + + // map controls: + CBlendableFloat m_fZoom; + CBlendableFloat m_fRot; + CBlendableFloat m_fRotCX; + CBlendableFloat m_fRotCY; + CBlendableFloat m_fXPush; + CBlendableFloat m_fYPush; + CBlendableFloat m_fWarpAmount; + CBlendableFloat m_fStretchX; + CBlendableFloat m_fStretchY; + CBlendableFloat m_fWaveR; + CBlendableFloat m_fWaveG; + CBlendableFloat m_fWaveB; + CBlendableFloat m_fWaveX; + CBlendableFloat m_fWaveY; + CBlendableFloat m_fOuterBorderSize; + CBlendableFloat m_fOuterBorderR; + CBlendableFloat m_fOuterBorderG; + CBlendableFloat m_fOuterBorderB; + CBlendableFloat m_fOuterBorderA; + CBlendableFloat m_fInnerBorderSize; + CBlendableFloat m_fInnerBorderR; + CBlendableFloat m_fInnerBorderG; + CBlendableFloat m_fInnerBorderB; + CBlendableFloat m_fInnerBorderA; + CBlendableFloat m_fMvX; + CBlendableFloat m_fMvY; + CBlendableFloat m_fMvDX; + CBlendableFloat m_fMvDY; + CBlendableFloat m_fMvL; + CBlendableFloat m_fMvR; + CBlendableFloat m_fMvG; + CBlendableFloat m_fMvB; + CBlendableFloat m_fMvA; + CBlendableFloat m_fBlur1Min; + CBlendableFloat m_fBlur2Min; + CBlendableFloat m_fBlur3Min; + CBlendableFloat m_fBlur1Max; + CBlendableFloat m_fBlur2Max; + CBlendableFloat m_fBlur3Max; + CBlendableFloat m_fBlur1EdgeDarken; + + CShape m_shape[MAX_CUSTOM_SHAPES]; + CWave m_wave[MAX_CUSTOM_WAVES]; + + // some random stuff for driving shaders: + void RandomizePresetVars(); + D3DXVECTOR4 m_rand_preset; // 4 random floats (0..1); randomized @ preset load; fed to pixel shaders. --FIXME (blending) + D3DXVECTOR3 m_xlate[20]; + D3DXVECTOR3 m_rot_base[20]; + D3DXVECTOR3 m_rot_speed[20]; + + //COscillator m_waveR; + //COscillator m_waveG; + //COscillator m_waveB; + //COscillator m_wavePosX; // 0 = centered + //COscillator m_wavePosY; // 0 = centered + + // for arbitrary function evaluation: + NSEEL_CODEHANDLE m_pf_codehandle; + NSEEL_CODEHANDLE m_pp_codehandle; + char m_szPerFrameInit[MAX_BIGSTRING_LEN]; + char m_szPerFrameExpr[MAX_BIGSTRING_LEN]; + char m_szPerPixelExpr[MAX_BIGSTRING_LEN]; + char m_szWarpShadersText[MAX_BIGSTRING_LEN]; // pixel shader code + char m_szCompShadersText[MAX_BIGSTRING_LEN]; // pixel shader code + void FreeVarsAndCode(bool bFree = true); + void RegisterBuiltInVariables(int flags); + void StripLinefeedCharsAndComments(char *src, char *dest); + + bool m_bBlending; + float m_fBlendStartTime; + float m_fBlendDuration; + float m_fBlendProgress; // 0..1; updated every frame based on StartTime and Duration. + + // for once-per-frame expression evaluation: [although, these vars are also shared w/preset init expr eval] + NSEEL_VMCTX m_pf_eel; + double *var_pf_zoom, *var_pf_zoomexp, *var_pf_rot, *var_pf_warp, *var_pf_cx, *var_pf_cy, *var_pf_dx, *var_pf_dy, *var_pf_sx, *var_pf_sy; + double *var_pf_time, *var_pf_fps; + double *var_pf_bass, *var_pf_mid, *var_pf_treb, *var_pf_bass_att, *var_pf_mid_att, *var_pf_treb_att; + double *var_pf_wave_a, *var_pf_wave_r, *var_pf_wave_g, *var_pf_wave_b, *var_pf_wave_x, *var_pf_wave_y, *var_pf_wave_mystery, *var_pf_wave_mode; + double *var_pf_decay; + double *var_pf_frame; + //double *var_pf_q1, *var_pf_q2, *var_pf_q3, *var_pf_q4, *var_pf_q5, *var_pf_q6, *var_pf_q7, *var_pf_q8; + double* var_pf_q[NUM_Q_VAR]; + double *var_pf_progress; + double *var_pf_ob_size, *var_pf_ob_r, *var_pf_ob_g, *var_pf_ob_b, *var_pf_ob_a; + double *var_pf_ib_size, *var_pf_ib_r, *var_pf_ib_g, *var_pf_ib_b, *var_pf_ib_a; + double *var_pf_mv_x; + double *var_pf_mv_y; + double *var_pf_mv_dx; + double *var_pf_mv_dy; + double *var_pf_mv_l; + double *var_pf_mv_r; + double *var_pf_mv_g; + double *var_pf_mv_b; + double *var_pf_mv_a; + double *var_pf_monitor; + double *var_pf_echo_zoom, *var_pf_echo_alpha, *var_pf_echo_orient; + // new in v1.04: + double *var_pf_wave_usedots, *var_pf_wave_thick, *var_pf_wave_additive, *var_pf_wave_brighten; + double *var_pf_darken_center, *var_pf_gamma, *var_pf_wrap; + double *var_pf_invert, *var_pf_brighten, *var_pf_darken, *var_pf_solarize; + double *var_pf_meshx, *var_pf_meshy; + double *var_pf_pixelsx, *var_pf_pixelsy; + double *var_pf_aspectx, *var_pf_aspecty; + double *var_pf_blur1min; + double *var_pf_blur2min; + double *var_pf_blur3min; + double *var_pf_blur1max; + double *var_pf_blur2max; + double *var_pf_blur3max; + double *var_pf_blur1_edge_darken; + + // for per-vertex expression evaluation: + NSEEL_VMCTX m_pv_eel; + double *var_pv_zoom, *var_pv_zoomexp, *var_pv_rot, *var_pv_warp, *var_pv_cx, *var_pv_cy, *var_pv_dx, *var_pv_dy, *var_pv_sx, *var_pv_sy; + double *var_pv_time, *var_pv_fps; + double *var_pv_bass, *var_pv_mid, *var_pv_treb, *var_pv_bass_att, *var_pv_mid_att, *var_pv_treb_att; + double *var_pv_x, *var_pv_y, *var_pv_rad, *var_pv_ang; + double *var_pv_frame; + //double *var_pv_q1, *var_pv_q2, *var_pv_q3, *var_pv_q4, *var_pv_q5, *var_pv_q6, *var_pv_q7, *var_pv_q8; + double* var_pv_q[NUM_Q_VAR]; + double *var_pv_progress; + double *var_pv_meshx, *var_pv_meshy; + double *var_pv_pixelsx, *var_pv_pixelsy; + double *var_pv_aspectx, *var_pv_aspecty; + + double q_values_after_init_code[NUM_Q_VAR]; + double monitor_after_init_code; + + float GetPresetStartTime() { return m_fPresetStartTime; } + float m_fPresetStartTime; +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/support.cpp b/src/MilkDrop2/vis_milk2/support.cpp new file mode 100644 index 0000000000..76696daec7 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/support.cpp @@ -0,0 +1,361 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "support.h" +#include "utility.h" +#include "../Winamp/wa_ipc.h" + +bool g_bDebugOutput = false; +bool g_bDumpFileCleared = false; + +//--------------------------------------------------- +void PrepareFor3DDrawing( + IDirect3DDevice9 *pDevice, + int viewport_width, + int viewport_height, + float fov_in_degrees, + float near_clip, + float far_clip, + D3DXVECTOR3* pvEye, + D3DXVECTOR3* pvLookat, + D3DXVECTOR3* pvUp + ) +{ + // This function sets up DirectX up for 3D rendering. + // Only call it once per frame, as it is VERY slow. + // INPUTS: + // pDevice a pointer to the D3D device + // viewport_width the width of the client area of the window + // viewport_height the height of the client area of the window + // fov_in_degrees the field of view, in degrees + // near_clip the distance to the near clip plane; should be > 0! + // far_clip the distance to the far clip plane + // eye the eyepoint coordinates, in world space + // lookat the point toward which the eye is looking, in world space + // up a vector indicating which dir. is up; usually <0,1,0> + // + // What this function does NOT do: + // 1. set the current texture (SetTexture) + // 2. set up the texture stages for texturing (SetTextureStageState) + // 3. set the current vertex format (SetVertexShader) + // 4. set up the world matrix (SetTransform(D3DTS_WORLD, &my_world_matrix)) + + + // set up render state to some nice defaults: + { + // some defaults + pDevice->SetRenderState( D3DRS_ZENABLE, TRUE ); + pDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE ); + pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_LESSEQUAL ); + pDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE ); + pDevice->SetRenderState( D3DRS_CLIPPING, TRUE ); + pDevice->SetRenderState( D3DRS_LIGHTING, FALSE ); + pDevice->SetRenderState( D3DRS_COLORVERTEX, TRUE ); + pDevice->SetRenderState( D3DRS_SHADEMODE, D3DSHADE_GOURAUD ); + pDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); + pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + + // turn fog off + pDevice->SetRenderState( D3DRS_FOGENABLE, FALSE ); + pDevice->SetRenderState( D3DRS_RANGEFOGENABLE, FALSE ); + + // turn on high-quality bilinear interpolations + pDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + pDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + pDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + pDevice->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + pDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + pDevice->SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + } + + // set up view & projection matrices (but not the world matrix!) + { + // if the window is not square, instead of distorting the scene, + // clip it so that the longer dimension of the window has the + // regular FOV, and the shorter dimension has a reduced FOV. + float fov_x = fov_in_degrees * 3.1415927f/180.0f; + float fov_y = fov_in_degrees * 3.1415927f/180.0f; + float aspect = (float)viewport_height / (float)viewport_width; + if (aspect < 1) + fov_y *= aspect; + else + fov_x /= aspect; + + if (near_clip < 0.1f) + near_clip = 0.1f; + if (far_clip < near_clip + 1.0f) + far_clip = near_clip + 1.0f; + + D3DXMATRIX proj; + MakeProjectionMatrix(&proj, near_clip, far_clip, fov_x, fov_y); + pDevice->SetTransform(D3DTS_PROJECTION, &proj); + + D3DXMATRIX view; + pMatrixLookAtLH(&view, pvEye, pvLookat, pvUp); + pDevice->SetTransform(D3DTS_VIEW, &view); + + // Optimization note: "You can minimize the number of required calculations + // by concatenating your world and view matrices into a world-view matrix + // that you set as the world matrix, and then setting the view matrix + // to the identity." + //D3DXMatrixMultiply(&world, &world, &view); + //D3DXMatrixIdentity(&view); + } +} + +void PrepareFor2DDrawing(IDirect3DDevice9 *pDevice) +{ + // New 2D drawing area will have x,y coords in the range <-1,-1> .. <1,1> + // +--------+ Y=-1 + // | | + // | screen | Z=0: front of scene + // | | Z=1: back of scene + // +--------+ Y=1 + // X=-1 X=1 + // NOTE: After calling this, be sure to then call (at least): + // 1. SetVertexShader() + // 2. SetTexture(), if you need it + // before rendering primitives! + // Also, be sure your sprites have a z coordinate of 0. + pDevice->SetRenderState( D3DRS_ZENABLE, TRUE ); + pDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE ); + pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_LESSEQUAL ); + pDevice->SetRenderState( D3DRS_SHADEMODE, D3DSHADE_FLAT ); + pDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID ); + pDevice->SetRenderState( D3DRS_FOGENABLE, FALSE ); + pDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE ); + pDevice->SetRenderState( D3DRS_CLIPPING, TRUE ); + pDevice->SetRenderState( D3DRS_LIGHTING, FALSE ); + pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + pDevice->SetRenderState( D3DRS_LOCALVIEWER, FALSE ); + + pDevice->SetTexture(0, NULL); + pDevice->SetTexture(1, NULL); + pDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);//D3DTEXF_LINEAR); + pDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_POINT);//D3DTEXF_LINEAR); + pDevice->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE); + pDevice->SetTextureStageState(1, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE); + pDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE ); + pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); + pDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT ); + pDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE ); + + pDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + pDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + pDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE ); + + pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE ); + + // set up for 2D drawing: + { + D3DXMATRIX Ortho2D; + D3DXMATRIX Identity; + + pMatrixOrthoLH(&Ortho2D, 2.0f, -2.0f, 0.0f, 1.0f); + D3DXMatrixIdentity(&Identity); + + pDevice->SetTransform(D3DTS_PROJECTION, &Ortho2D); + pDevice->SetTransform(D3DTS_WORLD, &Identity); + pDevice->SetTransform(D3DTS_VIEW, &Identity); + } +} + +//--------------------------------------------------- + +void MakeWorldMatrix( D3DXMATRIX* pOut, + float xpos, float ypos, float zpos, + float sx, float sy, float sz, + float pitch, float yaw, float roll) +{ + /* + * The m_xPos, m_yPos, m_zPos variables contain the model's + * location in world coordinates. + * The m_fPitch, m_fYaw, and m_fRoll variables are floats that + * contain the model's orientation in terms of pitch, yaw, and roll + * angles, in radians. + */ + + D3DXMATRIX MatTemp; + D3DXMatrixIdentity(pOut); + + // 1. first, rotation + if (pitch || yaw || roll) + { + D3DXMATRIX MatRot; + D3DXMatrixIdentity(&MatRot); + + pMatrixRotationX(&MatTemp, pitch); // Pitch + pMatrixMultiply(&MatRot, &MatRot, &MatTemp); + pMatrixRotationY(&MatTemp, yaw); // Yaw + pMatrixMultiply(&MatRot, &MatRot, &MatTemp); + pMatrixRotationZ(&MatTemp, roll); // Roll + pMatrixMultiply(&MatRot, &MatRot, &MatTemp); + + pMatrixMultiply(pOut, pOut, &MatRot); + } + + // 2. then, scaling + pMatrixScaling(&MatTemp, sx, sy, sz); + pMatrixMultiply(pOut, pOut, &MatTemp); + + // 3. last, translation to final world pos. + pMatrixTranslation(&MatTemp, xpos, ypos, zpos); + pMatrixMultiply(pOut, pOut, &MatTemp); +} + +void MakeProjectionMatrix( D3DXMATRIX* pOut, + const float near_plane, // Distance to near clipping plane + const float far_plane, // Distance to far clipping plane + const float fov_horiz, // Horizontal field of view angle, in radians + const float fov_vert) // Vertical field of view angle, in radians +{ + float w = (float)1/tanf(fov_horiz*0.5f); // 1/tan(x) == cot(x) + float h = (float)1/tanf(fov_vert*0.5f); // 1/tan(x) == cot(x) + float Q = far_plane/(far_plane - near_plane); + + ZeroMemory(pOut, sizeof(D3DXMATRIX)); + pOut->_11 = w; + pOut->_22 = h; + pOut->_33 = Q; + pOut->_43 = -Q*near_plane; + pOut->_34 = 1; +} + +void GetWinampSongTitle(HWND hWndWinamp, wchar_t *szSongTitle, int nSize) +{ + szSongTitle[0] = 0; + lstrcpynW(szSongTitle, (wchar_t*)SendMessage(hWndWinamp, WM_WA_IPC, + SendMessage(hWndWinamp, WM_WA_IPC, 0 , IPC_GETLISTPOS), + IPC_GETPLAYLISTTITLEW), nSize); +} + +void GetWinampSongPosAsText(HWND hWndWinamp, wchar_t *szSongPos) +{ + // note: size(szSongPos[]) must be at least 64. + szSongPos[0] = 0; + int nSongPosMS = SendMessage(hWndWinamp,WM_USER,0,105); + if (nSongPosMS > 0) + { + wchar_t tmp[16]; + float time_s = nSongPosMS*0.001f; + int minutes = (int)(time_s/60); + time_s -= minutes*60; + int seconds = (int)time_s; + time_s -= seconds; + int dsec = (int)(time_s*100); + swprintf(tmp, L"%.02f", dsec/100.0f); + swprintf(szSongPos, L"%d:%02d%s", minutes, seconds, tmp+1); + } +} + +void GetWinampSongLenAsText(HWND hWndWinamp, wchar_t *szSongLen) +{ + // note: size(szSongLen[]) must be at least 64. + szSongLen[0] = 0; + int nSongLenMS = SendMessage(hWndWinamp,WM_USER,1,105)*1000; + if (nSongLenMS > 0) + { + int len_s = nSongLenMS/1000; + int minutes = len_s/60; + int seconds = len_s - minutes*60; + swprintf(szSongLen, L"%d:%02d", minutes, seconds); + } +} + +float GetWinampSongPos(HWND hWndWinamp) +{ + // returns answer in seconds + return (float)SendMessage(hWndWinamp,WM_USER,0,105)*0.001f; +} + +float GetWinampSongLen(HWND hWndWinamp) +{ + // returns answer in seconds + return (float)SendMessage(hWndWinamp,WM_USER,1,105); +} + +int GetDX9TexFormatBitsPerPixel(D3DFORMAT fmt) +{ + switch(fmt) + { + case D3DFMT_DXT1: // 64 bits for each 4x4 pixels = 4 bits per pixel. No Alpha channel. + return 4; // bytes per pixel + + case D3DFMT_DXT2: // 128 bits for each 4x4 pixels = 8 bits per pixel. RGB+A. + case D3DFMT_DXT3: // 128 bits for each 4x4 pixels = 8 bits per pixel. RGB+A. + case D3DFMT_DXT4: // 128 bits for each 4x4 pixels = 8 bits per pixel. RGB+A. + case D3DFMT_DXT5: // 128 bits for each 4x4 pixels = 8 bits per pixel. RGB+A. + case D3DFMT_R3G3B2: // 8-bit RGB texture format using 3 bits for red, 3 bits for green, and 2 bits for blue. + case D3DFMT_A8: // 8-bit alpha only. + case D3DFMT_A8P8: // 8-bit color indexed with 8 bits of alpha. + case D3DFMT_P8: // 8-bit color indexed. + case D3DFMT_L8: // 8-bit luminance only. + case D3DFMT_A4L4: // 8-bit using 4 bits each for alpha and luminance. + return 8; + + case D3DFMT_R5G6B5: // 16-bit RGB pixel format with 5 bits for red, 6 bits for green, and 5 bits for blue. + case D3DFMT_X1R5G5B5: // 16-bit pixel format where 5 bits are reserved for each color. + case D3DFMT_A1R5G5B5: // 16-bit pixel format where 5 bits are reserved for each color and 1 bit is reserved for alpha. + case D3DFMT_A4R4G4B4: // 16-bit ARGB pixel format with 4 bits for each channel. + case D3DFMT_R16F: + case D3DFMT_A8R3G3B2: // 16-bit ARGB texture format using 8 bits for alpha, 3 bits each for red and green, and 2 bits for blue. + case D3DFMT_X4R4G4B4: // 16-bit RGB pixel format using 4 bits for each color. + case D3DFMT_L16: // 16-bit luminance only. + case D3DFMT_A8L8: // 16-bit using 8 bits each for alpha and luminance. + case D3DFMT_CxV8U8: + case D3DFMT_V8U8: + case D3DFMT_L6V5U5: + return 16; + + case D3DFMT_G16R16F: + case D3DFMT_R32F: // 32-bit float format using 32 bits for the red channel. + case D3DFMT_A8R8G8B8: // 32-bit ARGB pixel format with alpha, using 8 bits per channel. + case D3DFMT_X8R8G8B8: // 32-bit RGB pixel format, where 8 bits are reserved for each color. + case D3DFMT_A8B8G8R8: // 32-bit ARGB pixel format with alpha, using 8 bits per channel. + case D3DFMT_X8B8G8R8: // 32-bit RGB pixel format, where 8 bits are reserved for each color. + case D3DFMT_G16R16: // 32-bit pixel format using 16 bits each for green and red. + case D3DFMT_A2R10G10B10: // 32-bit pixel format using 10 bits each for red, green, and blue, and 2 bits for alpha. + case D3DFMT_A2B10G10R10: // 32-bit pixel format using 10 bits for each color and 2 bits for alpha. + case D3DFMT_R8G8B8: // 24-bit RGB pixel format with 8 bits per channel. + case D3DFMT_X8L8V8U8: + case D3DFMT_Q8W8V8U8: + case D3DFMT_V16U16: + return 32; + + case D3DFMT_A16B16G16R16F: + case D3DFMT_A16B16G16R16: // 64-bit pixel format using 16 bits for each component. + case D3DFMT_G32R32F: // 64-bit float format using 32 bits for the red channel and 32 bits for the green channel. + return 64; + + case D3DFMT_A32B32G32R32F: + return 128; + } + + return 32; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/support.h b/src/MilkDrop2/vis_milk2/support.h new file mode 100644 index 0000000000..e0516142ce --- /dev/null +++ b/src/MilkDrop2/vis_milk2/support.h @@ -0,0 +1,109 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_EXAMPLE_PLUGIN_SUPPORT_H__ +#define __NULLSOFT_DX9_EXAMPLE_PLUGIN_SUPPORT_H__ 1 + +#include + +void MakeWorldMatrix( D3DXMATRIX* pOut, + float xpos, float ypos, float zpos, + float sx, float sy, float sz, + float pitch, float yaw, float roll); +void MakeProjectionMatrix( D3DXMATRIX* pOut, + const float near_plane, // Distance to near clipping plane + const float far_plane, // Distance to far clipping plane + const float fov_horiz, // Horizontal field of view angle, in radians + const float fov_vert); // Vertical field of view angle, in radians +void PrepareFor3DDrawing( + IDirect3DDevice9 *pDevice, + int viewport_width, + int viewport_height, + float fov_in_degrees, + float near_clip, + float far_clip, + D3DXVECTOR3* pvEye, + D3DXVECTOR3* pvLookat, + D3DXVECTOR3* pvUp + ); +void PrepareFor2DDrawing(IDirect3DDevice9 *pDevice); + +// Define vertex formats you'll be using here: +// note: layout must match the vertex declaration in plugin.cpp! +typedef struct _MYVERTEX +{ + float x, y, z; // screen position + Z-buffer depth + DWORD Diffuse; // diffuse color + float tu, tv; // DYNAMIC + float tu_orig, tv_orig; // STATIC + float rad, ang; // STATIC +} MYVERTEX, *LPMYVERTEX; + +// note: layout must match the vertex declaration in plugin.cpp! +typedef struct _WFVERTEX +{ + float x, y, z; + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) +} WFVERTEX, *LPWFVERTEX; + +// note: layout must match the vertex declaration in plugin.cpp! +typedef struct _SPRITEVERTEX +{ + float x, y; // screen position + float z; // Z-buffer depth + DWORD Diffuse; // diffuse color. also acts as filler; aligns struct to 16 bytes (good for random access/indexed prims) + float tu, tv; // texture coordinates for texture #0 +} SPRITEVERTEX, *LPSPRITEVERTEX; + +// Also prepare vertex format descriptors for each +// of the 3 kinds of vertices we'll be using: +// note: D3DFVF_TEXCOORDSIZEm(n): m = the dimension, n = the index +// AVOID D3DFVF_TEXCOORDSIZE4 - I've seen probs (blending between shader and non-shader presets) on vaio laptop w/6200! +#define MYVERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX3 | D3DFVF_TEXCOORDSIZE2(0) | D3DFVF_TEXCOORDSIZE2(1) | D3DFVF_TEXCOORDSIZE2(2)) +#define WFVERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE ) +#define SPRITEVERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 | D3DFVF_TEXCOORDSIZE2(0) ) + +void GetWinampSongTitle(HWND hWndWinamp, wchar_t *szSongTitle, int nSize); +void GetWinampSongPosAsText(HWND hWndWinamp, wchar_t *szSongPos); +void GetWinampSongLenAsText(HWND hWndWinamp, wchar_t *szSongLen); +float GetWinampSongPos(HWND hWndWinamp); // returns answer in seconds +float GetWinampSongLen(HWND hWndWinamp); // returns answer in seconds + +//#define PROFILING +#ifdef PROFILING + #define PROFILE_BEGIN LARGE_INTEGER tx, freq, ty; QueryPerformanceCounter(&tx); QueryPerformanceFrequency(&freq); + #define PROFILE_END(s) { QueryPerformanceCounter(&ty); float dt = (float)((double)(ty.QuadPart - tx.QuadPart) / (double)freq.QuadPart); char buf[256]; sprintf(buf, " %s = %.1f ms\n", s, dt*1000 ); OutputDebugString(buf); tx = ty; } +#else + #define PROFILE_BEGIN + #define PROFILE_END(s) +#endif + +int GetDX9TexFormatBitsPerPixel(D3DFORMAT fmt); + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/temp.ico b/src/MilkDrop2/vis_milk2/temp.ico new file mode 100644 index 0000000000..a48a54f3b9 Binary files /dev/null and b/src/MilkDrop2/vis_milk2/temp.ico differ diff --git a/src/MilkDrop2/vis_milk2/texmgr.cpp b/src/MilkDrop2/vis_milk2/texmgr.cpp new file mode 100644 index 0000000000..8ff6bc9fb5 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/texmgr.cpp @@ -0,0 +1,752 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "texmgr.h" +//#include "jpegstuff.h" +//#include "evallib/compiler.h" +#include "../ns-eel2/ns-eel.h" +#include "support.h" +#include "plugin.h" +#include "utility.h" +texmgr::texmgr() +{ +} + +texmgr::~texmgr() +{ + //Finish(); + // DO NOT RELEASE OR DELETE m_lpDD; CLIENT SHOULD DO THIS! +} + +void texmgr::Finish() +{ + for (int i=0; iRelease(); + m_tex[i].pSurface = NULL; + } + + FreeCode(i); + FreeVars(i); + */ + NSEEL_VM_free(m_tex[i].tex_eel_ctx); + } + + // DO NOT RELEASE OR DELETE m_lpDD; CLIENT SHOULD DO THIS! +} + +void texmgr::Init(LPDIRECT3DDEVICE9 lpDD) +{ + m_lpDD = lpDD; + + for (int i=0; i16 && h>16) + { + w /= 2; + h /= 2; + } + else + { + done = 1; + } + } + + break; + } + + if (done) + break; + + // TRY TO CREATE THE SURFACE IN SYSTEM MEMORY. + ZeroMemory(&ddsd, sizeof(DDSURFACEDESC2)); + ddsd.dwSize = sizeof( ddsd ); + ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH; + ddsd.ddsCaps.dwCaps = DDSCAPS_TEXTURE;//DDSCAPS_OFFSCREENPLAIN | DDSCAPS_SYSTEMMEMORY;// | DDSCAPS_3DDEVICE;// | DDSCAPS_LOCALVIDMEM | DDSCAPS_VIDEOMEMORY; + ddsd.dwWidth = w; + ddsd.dwHeight = h; + + m_tex[iSlot].pSurface = NULL; + //if (w<256 && h<256) + if (m_lpDD->CreateSurface( &ddsd, &m_tex[iSlot].pSurface, NULL ) == DD_OK) + break; + m_tex[iSlot].pSurface = NULL; + + loop++; + } + while (!done); + + if (m_tex[iSlot].pSurface == NULL) + return false; + + // find out (& remember) actual size created: + ZeroMemory(&ddsd, sizeof(ddsd)); + ddsd.dwSize = sizeof(ddsd); + m_tex[iSlot].pSurface->GetSurfaceDesc(&ddsd); + m_tex[iSlot].tex_w = ddsd.dwWidth; + m_tex[iSlot].tex_h = ddsd.dwHeight; + m_tex[iSlot].scale_x = 1.0f; + m_tex[iSlot].scale_y = 1.0f; + + memcpy(&m_tex[iSlot].ddpf, &ddsd.ddpfPixelFormat, sizeof(DDPIXELFORMAT)); + + return true; +} +*/ + +int texmgr::LoadTex(wchar_t *szFilename, int iSlot, char *szInitCode, char *szCode, float time, int frame, unsigned int ck) +{ + if (iSlot < 0) return TEXMGR_ERR_BAD_INDEX; + if (iSlot >= NUM_TEX) return TEXMGR_ERR_BAD_INDEX; + + // first, if this texture is already loaded, just add another instance. + bool bTextureInstanced = false; + { + for (int x=0; xRelease(); + m_tex[iSlot].pSurface = NULL; + }*/ + KillTex(iSlot); + + wcscpy(m_tex[iSlot].szFileName, szFilename); + + D3DXIMAGE_INFO info; + HRESULT hr = pCreateTextureFromFileExW( + m_lpDD, + szFilename, + D3DX_DEFAULT, + D3DX_DEFAULT, + D3DX_DEFAULT, // create a mip chain + 0, + D3DFMT_UNKNOWN, + D3DPOOL_DEFAULT, + D3DX_DEFAULT, + D3DX_DEFAULT, + 0xFF000000 | ck, + &info, + NULL, + &m_tex[iSlot].pSurface + ); + + if (hr != D3D_OK) + { + switch(hr) + { + case E_OUTOFMEMORY: + case D3DERR_OUTOFVIDEOMEMORY: + return TEXMGR_ERR_OUTOFMEM; + default: + return TEXMGR_ERR_BADFILE; + } + } + + m_tex[iSlot].img_w = info.Width; + m_tex[iSlot].img_h = info.Height; + + /* + unsigned int w_img; + unsigned int h_img; + unsigned int img_color_channels; + + int ret = Begin_Jpeg_Read(szFilename, &w_img, &h_img, &img_color_channels); + switch(ret) + { + case JPEGSTUFF_ERR_SUCCESS: + break; + case JPEGSTUFF_ERR_OPENING: + return TEXMGR_ERR_OPENING; + break; + case JPEGSTUFF_ERR_MISC: + return TEXMGR_ERR_FORMAT; + break; + } + + sprintf(buf, "texmgr: w=%d, h=%d, channels=%d", w_img, h_img, img_color_channels); + //g_dumpmsg(buf); + + m_tex[iSlot].img_w = w_img; + m_tex[iSlot].img_h = h_img; + + if (img_color_channels != 3) + { + // error: not 24-bit! + //g_dumpmsg("texmgr: image not 24-bit"); + End_Jpeg_Read(); + return TEXMGR_ERR_IMAGE_NOT_24_BIT; + } + + if ((w_img > 2048) || + (h_img > 2048)) // RG + { + // error: too large! + //g_dumpmsg("texmgr: image too large"); + End_Jpeg_Read(); + return TEXMGR_ERR_IMAGE_TOO_LARGE; + } + + if (!TryCreateDDrawSurface(iSlot, w_img, h_img)) + { + //g_dumpmsg("texmgr: unable to create ddraw surface"); + End_Jpeg_Read(); + return TEXMGR_ERR_CREATESURFACE_FAILED; + } + + unsigned int w_tex = m_tex[iSlot].tex_w; + unsigned int h_tex = m_tex[iSlot].tex_h; + unsigned int bpp_tex = m_tex[iSlot].ddpf.dwRGBBitCount; + + sprintf(buf, "texmgr: created ddraw surface; %d x %d x %d", w_tex, h_tex, bpp_tex); + //g_dumpmsg(buf); + + DDSURFACEDESC2 ddsd; + ZeroMemory(&ddsd, sizeof(DDSURFACEDESC2)); + ddsd.dwSize = sizeof( ddsd ); + + if (m_tex[iSlot].pSurface->Lock(0, &ddsd, DDLOCK_SURFACEMEMORYPTR|DDLOCK_WAIT|DDLOCK_NOSYSLOCK, 0) != DD_OK) + { + //g_dumpmsg("texmgr: unable to lock ddraw surface"); + End_Jpeg_Read(); + m_tex[iSlot].pSurface->Release(); + m_tex[iSlot].pSurface = NULL; + return TEXMGR_ERR_LOCKSURFACE_FAILED; + } + + // analyze surface pixel format + unsigned int zeroBits[3] = { 0, 0, 0 }; + unsigned int chopBits[3] = { 8, 8, 8 }; + unsigned int mask[3] = { ddsd.ddpfPixelFormat.dwRBitMask, ddsd.ddpfPixelFormat.dwGBitMask, ddsd.ddpfPixelFormat.dwBBitMask }; + + { + int x,y; + + for (x=0; x<3; x++) + { + for (y=0; y<32; y++) + { + if ((mask[x] & (1<>= zeroBits[x]; + for (y=0; y<32; y++) + { + if ((mask[x] & (1<> 16) & 0xFF; + unsigned int ck_g1 = (ck_lo >> 8 ) & 0xFF; + unsigned int ck_b1 = (ck_lo ) & 0xFF; + unsigned int ck_r2 = (ck_hi >> 16) & 0xFF; + unsigned int ck_g2 = (ck_hi >> 8 ) & 0xFF; + unsigned int ck_b2 = (ck_hi ) & 0xFF; + + // read jpeg in & store in directdraw surface + // 2. read image into texture + if (w_img > w_tex || h_img > h_tex) + { + // DOWNSAMPLING VERSION + + unsigned int new_w_img = min(w_tex, w_img); + unsigned int new_h_img = min(h_tex, h_img); + + { + char buf[256]; + sprintf(buf, "texmgr: downsampling image from %dx%d to %dx%d and storing in %dx%d texture.", w_img,h_img, new_w_img,new_h_img, w_tex,h_tex); + //g_dumpmsg(buf); + } + + int downsample_buf[2048*3]; + memset(downsample_buf, 0, sizeof(downsample_buf)); + + float input_lines_per_output_line = h_img/(float)new_h_img; + float lines = 0.0f; + unsigned int out_y = 0; + + for (int y=0; y<(int)h_img; y++) + { + unsigned int x; + + unsigned char *buf = Jpeg_Read_Next_Line(); + if (!buf) + { + End_Jpeg_Read(); + m_tex[iSlot].pSurface->Release(); + m_tex[iSlot].pSurface = NULL; + return TEXMGR_ERR_CORRUPT_JPEG; + } + + lines += 1.0f; + int portion = (int)(min(256, max(0, (input_lines_per_output_line - lines)*256))); + for (x=0; x> 4; + + if (portion < 256) + { + // commit this line (out_y) & start a new one + if (out_y < h_tex) + { + float input_cols_per_output_col = w_img/(float)new_w_img; + float cols = 0.0f; + int out_x = 0; + + int buf2[2048*3]; + memset(buf2, 0, new_w_img*3); + + for (x=0; x> 4; + buf2[out_x*3+1] += (downsample_buf[x*3+1] * portion) >> 4; + buf2[out_x*3+2] += (downsample_buf[x*3+2] * portion) >> 4; + + if (portion < 256) + { + cols -= input_cols_per_output_col; + portion = 256 - portion; + out_x++; + buf2[out_x*3 ] = (downsample_buf[x*3 ] * portion) >> 4; + buf2[out_x*3+1] = (downsample_buf[x*3+1] * portion) >> 4; + buf2[out_x*3+2] = (downsample_buf[x*3+2] * portion) >> 4; + } + } + + // now buf2[0..w_tex] has r,g,b colors in it (but scaled) -> SAVE TO TEXTURE. + float scale_factor = 1.0f / (float)(16 * 16 * input_cols_per_output_col * input_lines_per_output_line); + + if (bpp_tex == 16) + { + unsigned __int16 *dest16 = (unsigned __int16 *)ddsd.lpSurface; + unsigned int tex_offset = (ddsd.lPitch/2) * out_y; + for (x=0; x> chopBits[0]) & mask[0]) << zeroBits[0]) | + (((cg >> chopBits[1]) & mask[1]) << zeroBits[1]) | + (((cb >> chopBits[2]) & mask[2]) << zeroBits[2]); + if (!(cr >= ck_r1 && cr <= ck_r2 && + cg >= ck_g1 && cg <= ck_g2 && + cb >= ck_b1 && cb <= ck_b2)) + color |= ddsd.ddpfPixelFormat.dwRGBAlphaBitMask; + dest16[tex_offset++] = color; + } + } + else if (bpp_tex == 32) + { + unsigned __int32 *dest32 = (unsigned __int32 *)ddsd.lpSurface; + unsigned int tex_offset = (ddsd.lPitch/4) * out_y; + for (x=0; x= ck_r1 && cr <= ck_r2 && + cg >= ck_g1 && cg <= ck_g2 && + cb >= ck_b1 && cb <= ck_b2)) + color |= ddsd.ddpfPixelFormat.dwRGBAlphaBitMask; + dest32[tex_offset++] = color; + } + } + + out_y++; + + } + + // start next line: + lines -= input_lines_per_output_line; + portion = 256 - portion; + for (x=0; x> 4; + } + } + + m_tex[iSlot].scale_x = new_w_img/(float)w_img; + m_tex[iSlot].scale_y = new_h_img/(float)h_img; + m_tex[iSlot].img_w = new_w_img; + m_tex[iSlot].img_h = new_h_img; + w_img = new_w_img; + h_img = new_h_img; + } + else + { + // 1:1 VERSION + + if (bpp_tex == 16) + { + unsigned __int16 *dest16 = (unsigned __int16 *)ddsd.lpSurface; + for (int y=0; y<(int)h_img; y++) + { + unsigned char *buf = Jpeg_Read_Next_Line(); + if (!buf) + { + End_Jpeg_Read(); + m_tex[iSlot].pSurface->Release(); + m_tex[iSlot].pSurface = NULL; + return TEXMGR_ERR_CORRUPT_JPEG; + } + + unsigned int tex_offset = (ddsd.lPitch/2) * y; + for (unsigned int x=0; x> chopBits[0]) & mask[0]) << zeroBits[0]) | + (((cg >> chopBits[1]) & mask[1]) << zeroBits[1]) | + (((cb >> chopBits[2]) & mask[2]) << zeroBits[2]); + if (!(cr >= ck_r1 && cr <= ck_r2 && + cg >= ck_g1 && cg <= ck_g2 && + cb >= ck_b1 && cb <= ck_b2)) + color |= ddsd.ddpfPixelFormat.dwRGBAlphaBitMask; + dest16[tex_offset++] = color; + } + } + } + else if (bpp_tex == 32) + { + unsigned __int32 *dest32 = (unsigned __int32 *)ddsd.lpSurface; + for (int y=0; y<(int)h_img; y++) + { + unsigned char *buf = Jpeg_Read_Next_Line(); + if (!buf) + { + End_Jpeg_Read(); + m_tex[iSlot].pSurface->Release(); + m_tex[iSlot].pSurface = NULL; + return TEXMGR_ERR_CORRUPT_JPEG; + } + + unsigned int tex_offset = (ddsd.lPitch/4) * y; + for (unsigned int x=0; x= ck_r1 && cr <= ck_r2 && + cg >= ck_g1 && cg <= ck_g2 && + cb >= ck_b1 && cb <= ck_b2)) + color |= ddsd.ddpfPixelFormat.dwRGBAlphaBitMask; + dest32[tex_offset++] = color; + } + } + } + } + + m_tex[iSlot].pSurface->Unlock(0); + + End_Jpeg_Read(); + */ + } + + m_tex[iSlot].fStartTime = time; + m_tex[iSlot].nStartFrame = frame; + + int ret = TEXMGR_ERR_SUCCESS; + + // compile & run init. code: + if (!RunInitCode(iSlot, szInitCode)) + ret |= TEXMGR_WARN_ERROR_IN_INIT_CODE; + + // compile & save per-frame code: + strcpy(m_tex[iSlot].m_szExpr, szCode); + FreeCode(iSlot); + if (!RecompileExpressions(iSlot)) + ret |= TEXMGR_WARN_ERROR_IN_REG_CODE; + + //g_dumpmsg("texmgr: success"); + + return ret; +} + +void texmgr::KillTex(int iSlot) +{ + if (iSlot < 0) return; + if (iSlot >= NUM_TEX) return; + + // Free old resources: + if (m_tex[iSlot].pSurface) + { + // first, make sure no other sprites reference this texture! + int refcount = 0; + for (int x=0; xRelease(); + m_tex[iSlot].pSurface = NULL; + } + m_tex[iSlot].szFileName[0] = 0; + + FreeCode(iSlot); +} + +void texmgr::StripLinefeedCharsAndComments(char *src, char *dest) +{ + // replaces all LINEFEED_CONTROL_CHAR characters in src with a space in dest; + // also strips out all comments (beginning with '//' and going til end of line). + // Restriction: sizeof(dest) must be >= sizeof(src). + + int i2 = 0; + int len = strlen(src); + int bComment = false; + for (int i=0; im_szUserMessage, "warning: preset \"%s\": error in 'per_frame' code", m_szDesc); + //pg->m_fShowUserMessageUntilThisTime = pg->m_fAnimTime + 6.0f; + } + else + { + //g_dumpmsg(" -ok!"); + //pg->m_fShowUserMessageUntilThisTime = pg->m_fAnimTime; // clear any old error msg. + } + //resetVars(NULL); + + return (m_tex[iSlot].m_codehandle != 0); + + #endif + } + + return true; +} + +void texmgr::FreeVars(int iSlot) +{ + // free the built-in variables AND any user variables +} + +void texmgr::FreeCode(int iSlot) +{ + // free the compiled expressions + if (m_tex[iSlot].m_codehandle) + { + NSEEL_code_free(m_tex[iSlot].m_codehandle); + m_tex[iSlot].m_codehandle = NULL; + } +} + +void texmgr::RegisterBuiltInVariables(int iSlot) +{ + NSEEL_VMCTX eel_ctx = m_tex[iSlot].tex_eel_ctx; + NSEEL_VM_resetvars(eel_ctx); + + // input variables + m_tex[iSlot].var_time = NSEEL_VM_regvar(eel_ctx, "time"); + m_tex[iSlot].var_frame = NSEEL_VM_regvar(eel_ctx, "frame"); + m_tex[iSlot].var_fps = NSEEL_VM_regvar(eel_ctx, "fps"); + m_tex[iSlot].var_progress = NSEEL_VM_regvar(eel_ctx, "progress"); + m_tex[iSlot].var_bass = NSEEL_VM_regvar(eel_ctx, "bass"); + m_tex[iSlot].var_bass_att = NSEEL_VM_regvar(eel_ctx, "bass_att"); + m_tex[iSlot].var_mid = NSEEL_VM_regvar(eel_ctx, "mid"); + m_tex[iSlot].var_mid_att = NSEEL_VM_regvar(eel_ctx, "mid_att"); + m_tex[iSlot].var_treb = NSEEL_VM_regvar(eel_ctx, "treb"); + m_tex[iSlot].var_treb_att = NSEEL_VM_regvar(eel_ctx, "treb_att"); + + // output variables + m_tex[iSlot].var_x = NSEEL_VM_regvar(eel_ctx, "x"); + m_tex[iSlot].var_y = NSEEL_VM_regvar(eel_ctx, "y"); + m_tex[iSlot].var_sx = NSEEL_VM_regvar(eel_ctx, "sx"); + m_tex[iSlot].var_sy = NSEEL_VM_regvar(eel_ctx, "sy"); + m_tex[iSlot].var_repeatx = NSEEL_VM_regvar(eel_ctx, "repeatx"); + m_tex[iSlot].var_repeaty = NSEEL_VM_regvar(eel_ctx, "repeaty"); + m_tex[iSlot].var_rot = NSEEL_VM_regvar(eel_ctx, "rot"); + m_tex[iSlot].var_flipx = NSEEL_VM_regvar(eel_ctx, "flipx"); + m_tex[iSlot].var_flipy = NSEEL_VM_regvar(eel_ctx, "flipy"); + m_tex[iSlot].var_r = NSEEL_VM_regvar(eel_ctx, "r"); + m_tex[iSlot].var_g = NSEEL_VM_regvar(eel_ctx, "g"); + m_tex[iSlot].var_b = NSEEL_VM_regvar(eel_ctx, "b"); + m_tex[iSlot].var_a = NSEEL_VM_regvar(eel_ctx, "a"); + m_tex[iSlot].var_blendmode = NSEEL_VM_regvar(eel_ctx, "blendmode"); + m_tex[iSlot].var_done = NSEEL_VM_regvar(eel_ctx, "done"); + m_tex[iSlot].var_burn = NSEEL_VM_regvar(eel_ctx, "burn"); + +// resetVars(NULL); +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/texmgr.h b/src/MilkDrop2/vis_milk2/texmgr.h new file mode 100644 index 0000000000..b7b80c97dc --- /dev/null +++ b/src/MilkDrop2/vis_milk2/texmgr.h @@ -0,0 +1,120 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 GEISS_TEXTURE_MANAGER +#define GEISS_TEXTURE_MANAGER 1 + +#define NUM_TEX 16 + +#ifdef _DEBUG + #define D3D_DEBUG_INFO // declare this before including d3d9.h +#endif +#include +#include "../ns-eel2/ns-eel.h" +#include "md_defines.h" + +#define TEXMGR_ERROR_MASK 0x0F +#define TEXMGR_ERR_SUCCESS 0 +#define TEXMGR_ERR_BAD_INDEX 1 +/* +#define TEXMGR_ERR_OPENING 2 +#define TEXMGR_ERR_IMAGE_NOT_24_BIT 3 +#define TEXMGR_ERR_IMAGE_TOO_LARGE 4 +#define TEXMGR_ERR_CREATESURFACE_FAILED 5 +#define TEXMGR_ERR_LOCKSURFACE_FAILED 6 +#define TEXMGR_ERR_CORRUPT_JPEG 7 +*/ +#define TEXMGR_ERR_FORMAT 8 +#define TEXMGR_ERR_BADFILE 9 +#define TEXMGR_ERR_OUTOFMEM 10 +#define TEXMGR_WARNING_MASK 0xF0 +#define TEXMGR_WARN_ERROR_IN_INIT_CODE 0x10 +#define TEXMGR_WARN_ERROR_IN_REG_CODE 0x20 + +typedef struct +{ + LPDIRECT3DTEXTURE9 pSurface; + int img_w, img_h; + /* + int tex_w, tex_h; + float scale_x, scale_y; // the factors by which the original image was squished to become (img_w x img_h) texels in size. + DDPIXELFORMAT ddpf; + */ + wchar_t szFileName[512]; + float fStartTime; + int nStartFrame; + int nUserData; + + // stuff for expressions: + char m_szExpr[8192]; // for expression eval + NSEEL_CODEHANDLE m_codehandle; // for expression eval + // input variables for expression eval + double *var_time, *var_frame, *var_fps, *var_progress; + double *var_bass, *var_bass_att, *var_mid, *var_mid_att, *var_treb, *var_treb_att; + // output variables for expression eval + double *var_x, *var_y; + double *var_sx, *var_sy, *var_rot, *var_flipx, *var_flipy; + double *var_r, *var_g, *var_b, *var_a; + double *var_blendmode; + double *var_repeatx, *var_repeaty; + double *var_done, *var_burn; + NSEEL_VMCTX tex_eel_ctx; +} +td_tex; + +class texmgr +{ +public: + texmgr(); + ~texmgr(); + + // members + void Init(LPDIRECT3DDEVICE9 lpDD); // DirectDraw object + int LoadTex(wchar_t *szFilename, int iSlot, char *szInitCode, char *szCode, float time, int frame, unsigned int ck); + void KillTex(int iSlot); + void Finish(); + + // data + td_tex m_tex[NUM_TEX]; + +protected: + // members + //bool TryCreateDDrawSurface(int iSlot, int w, int h); + void FreeVars(int iSlot); + void FreeCode(int iSlot); + void RegisterBuiltInVariables(int iSlot); + bool RunInitCode(int iSlot, char *szInitCode); + bool RecompileExpressions(int iSlot); + void StripLinefeedCharsAndComments(char *src, char *dest); + + // data + LPDIRECT3DDEVICE9 m_lpDD; +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/text1.bin b/src/MilkDrop2/vis_milk2/text1.bin new file mode 100644 index 0000000000..86a2537525 Binary files /dev/null and b/src/MilkDrop2/vis_milk2/text1.bin differ diff --git a/src/MilkDrop2/vis_milk2/textmgr.cpp b/src/MilkDrop2/vis_milk2/textmgr.cpp new file mode 100644 index 0000000000..6c7058f33c --- /dev/null +++ b/src/MilkDrop2/vis_milk2/textmgr.cpp @@ -0,0 +1,696 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "textmgr.h" +#include "support.h" +#include "utility.h" + +#define MAX_MSG_CHARS (65536*2) +#define SafeRelease(x) { if (x) {x->Release(); x=NULL;} } +wchar_t g_szMsgPool[2][MAX_MSG_CHARS]; + +/* + NOTES ON CTextManager + + *** -desktop mode was SLOOOW when songtitles are on!, esp. since anim. songtitles... + -> decided to cache output of ID3DXFont by rendering to a (vidmem) texture, + ** only when things change. ** That became CTextManager. + -uses GDI-based ID3DXFont to draw text to a 2nd (VIDEO MEMORY) surface, + but each frame, it only draws what is necessary (what's changed + since last frame). It then blits that image (additively) to + the back buffer each frame. (note that dark boxes wouldn't work + w/additive drawing, since they're black, so those have to be + manually drawn (as black boxes) by the plugin shell, AS WELL AS + entered into the CTextManager queue as dark boxes, to handle + erasure, dirty rectangles, etc.) + + PROS/CONS: + (+) Supports all GDI features: italics, kerning, international fonts, formatting, &, etc. + (-) takes a lot of memory + (-) if texture can't be created @ proper size, fonts will appear too big + -> so don't use texture at all, in that case. + -> at least this way it will work well on all newer cards [w/memory] + (-) it's still going to crawl *when the text changes*, + because d3dx will upload textures to vidmem & blit them *once for each change*. + + OTHER CONCERNS/KIV: + -what if m_lpDDSText can't be created @ actual size of window? + If it's bigger, that's ok; but if it's smaller, that should result + in a clipped area for the text - hmm.... +*/ + +CTextManager::CTextManager() +{ +} + +CTextManager::~CTextManager() +{ +} + +void CTextManager::Init(LPDIRECT3DDEVICE9 lpDevice, IDirect3DTexture9* lpTextSurface, int bAdditive) +{ + m_lpDevice = lpDevice; + m_lpTextSurface = lpTextSurface; + m_blit_additively = bAdditive; + + m_b = 0; + m_nMsg[0] = 0; + m_nMsg[1] = 0; + m_next_msg_start_ptr = g_szMsgPool[m_b]; +} + +void CTextManager::Finish() +{ +} + +void CTextManager::ClearAll() +{ + m_nMsg[m_b] = 0; + m_next_msg_start_ptr = g_szMsgPool[m_b]; +} + +void CTextManager::DrawBox(LPRECT pRect, DWORD boxColor) +{ + if (!pRect) + return; + + if ((m_nMsg[m_b] < MAX_MSGS) && + (DWORD)m_next_msg_start_ptr - (DWORD)g_szMsgPool[m_b] + 0 + 1 < MAX_MSG_CHARS) + { + *m_next_msg_start_ptr = 0; + + m_msg[m_b][m_nMsg[m_b]].msg = m_next_msg_start_ptr; + m_msg[m_b][m_nMsg[m_b]].pfont = NULL; + m_msg[m_b][m_nMsg[m_b]].rect = *pRect; + m_msg[m_b][m_nMsg[m_b]].flags = 0; + m_msg[m_b][m_nMsg[m_b]].color = 0xFFFFFFFF; + m_msg[m_b][m_nMsg[m_b]].bgColor = boxColor; + m_nMsg[m_b]++; + m_next_msg_start_ptr += 1; + } +} + +int CTextManager::DrawText(LPD3DXFONT pFont, char* szText, RECT* pRect, DWORD flags, DWORD color, bool bBox, DWORD boxColor) +{ + // these aren't supported by D3DX9: + flags &= ~(DT_WORD_ELLIPSIS | DT_END_ELLIPSIS | DT_NOPREFIX); + + if (!(pFont && pRect && szText)) + return 0; + + if (flags & DT_CALCRECT) + return pFont->DrawText(NULL, szText, -1, pRect, flags, color); + + if (!m_lpDevice /*|| !m_lpTextSurface*/) + return 0; + + int len = strlen(szText); + + if ((m_nMsg[m_b] < MAX_MSGS) && + (DWORD)m_next_msg_start_ptr - (DWORD)g_szMsgPool[m_b] + len + 1 < MAX_MSG_CHARS) + { + wcscpy(m_next_msg_start_ptr, AutoWide(szText)); + + m_msg[m_b][m_nMsg[m_b]].msg = m_next_msg_start_ptr; + m_msg[m_b][m_nMsg[m_b]].pfont = pFont; + m_msg[m_b][m_nMsg[m_b]].rect = *pRect; + m_msg[m_b][m_nMsg[m_b]].flags = flags; + m_msg[m_b][m_nMsg[m_b]].color = color; + m_msg[m_b][m_nMsg[m_b]].bgColor = boxColor; + + // shrink rects on new frame's text strings; important for deletions + int h = pFont->DrawText(NULL, szText, len, &m_msg[m_b][m_nMsg[m_b]].rect, flags | DT_CALCRECT, color); + + m_nMsg[m_b]++; + m_next_msg_start_ptr += len + 1; + + if (bBox) + { + // adds a message with no text, but the rect is the same as the text, so it creates a black box + DrawBox(&m_msg[m_b][m_nMsg[m_b]-1].rect, boxColor); + // now swap it with the text that precedes it, so it draws first, and becomes a background + td_string x = m_msg[m_b][m_nMsg[m_b]-1]; + m_msg[m_b][m_nMsg[m_b]-1] = m_msg[m_b][m_nMsg[m_b]-2]; + m_msg[m_b][m_nMsg[m_b]-2] = x; + } + return h; + } + + // no room for more text? ok, but still return accurate info: + RECT r2 = *pRect; + int h = pFont->DrawText(NULL, szText, len, &r2, flags | DT_CALCRECT, color); + return h; +} + +int CTextManager::DrawTextW(LPD3DXFONT pFont, wchar_t* szText, RECT* pRect, DWORD flags, DWORD color, bool bBox, DWORD boxColor) +{ + // these aren't supported by D3DX9: + flags &= ~(DT_WORD_ELLIPSIS | DT_END_ELLIPSIS | DT_NOPREFIX); + + if (!(pFont && pRect && szText)) + return 0; + + if (flags & DT_CALCRECT) + return pFont->DrawTextW(NULL, szText, -1, pRect, flags, color); + + if (!m_lpDevice /*|| !m_lpTextSurface*/) + return 0; + + int len = wcslen(szText); + + if ((m_nMsg[m_b] < MAX_MSGS) && + (DWORD)m_next_msg_start_ptr - (DWORD)g_szMsgPool[m_b] + len + 1 < MAX_MSG_CHARS) + { + wcscpy(m_next_msg_start_ptr, szText); + + m_msg[m_b][m_nMsg[m_b]].msg = m_next_msg_start_ptr; + m_msg[m_b][m_nMsg[m_b]].pfont = pFont; + m_msg[m_b][m_nMsg[m_b]].rect = *pRect; + m_msg[m_b][m_nMsg[m_b]].flags = flags; + m_msg[m_b][m_nMsg[m_b]].color = color; + m_msg[m_b][m_nMsg[m_b]].bgColor = boxColor; + + // shrink rects on new frame's text strings; important for deletions + int h = pFont->DrawTextW(NULL, szText, len, &m_msg[m_b][m_nMsg[m_b]].rect, flags | DT_CALCRECT, color); + + m_nMsg[m_b]++; + m_next_msg_start_ptr += len + 1; + + if (bBox) + { + // adds a message with no text, but the rect is the same as the text, so it creates a black box + DrawBox(&m_msg[m_b][m_nMsg[m_b]-1].rect, boxColor); + // now swap it with the text that precedes it, so it draws first, and becomes a background + td_string x = m_msg[m_b][m_nMsg[m_b]-1]; + m_msg[m_b][m_nMsg[m_b]-1] = m_msg[m_b][m_nMsg[m_b]-2]; + m_msg[m_b][m_nMsg[m_b]-2] = x; + } + return h; + } + + // no room for more text? ok, but still return accurate info: + RECT r2 = *pRect; + int h = pFont->DrawTextW(NULL, szText, len, &r2, flags | DT_CALCRECT, color); + return h; +} + +#define MATCH(i,j) ( m_msg[m_b][i].pfont == m_msg[1-m_b][j].pfont && \ + m_msg[m_b][i].flags == m_msg[1-m_b][j].flags && \ + m_msg[m_b][i].color == m_msg[1-m_b][j].color && \ + m_msg[m_b][i].bgColor == m_msg[1-m_b][j].bgColor && \ + memcmp(&m_msg[m_b][i].rect, &m_msg[1-m_b][j].rect, sizeof(RECT))==0 && \ + wcscmp(m_msg[m_b][i].msg, m_msg[1-m_b][j].msg)==0 ) + +void CTextManager::DrawNow() +{ + if (!m_lpDevice) + return; + + if (m_nMsg[m_b] > 0 || m_nMsg[1-m_b] > 0) // second condition req'd for clearing text in VJ mode + { + D3DXMATRIX Ortho2D; + pMatrixOrthoLH(&Ortho2D, 2.0f, -2.0f, 0.0f, 1.0f); + m_lpDevice->SetTransform(D3DTS_PROJECTION, &Ortho2D); + + #define NUM_DIRTY_RECTS 3 + RECT dirty_rect[NUM_DIRTY_RECTS]; + int dirty_rects_ready = 0; + + int bRTT = (m_lpTextSurface==NULL) ? 0 : 1; + LPDIRECT3DSURFACE9 pBackBuffer=NULL;//, pZBuffer=NULL; + D3DSURFACE_DESC desc_backbuf, desc_text_surface; + + // clear added/deleted flags + void* last_dark_box = NULL; + for (int i=0; i0 && m_nMsg[1-m_b]==0)) + { + bRedrawText = 2; // redraw ALL + } + else + { + // try to synchronize the text strings from last frame + this frame, + // and label additions & deletions. algorithm will catch: + // -insertion of any # of items in one spot + // -deletion of any # of items from one spot + // -changes to 1 item + // -changes to 2 consecutive items + // (provided that the 2 text strings immediately bounding the + // additions/deletions/change(s) are left unchanged.) + // in any other case, all the text is just re-rendered. + + int i = 0; + int j = 0; + while (i < m_nMsg[m_b] && j < m_nMsg[1-m_b]) + { + // MATCH macro: first idx is record # for current stuff; second idx is record # for prev frame stuff. + if (MATCH(i,j)) + { + i++; + j++; + } + else + { + int continue_now = 0; + + // scan to see if something was added: + for (int i2=i+1; i2=m_nMsg[m_b]-chgd || j>=m_nMsg[1-m_b]-chgd) + { + // only a few items left in one of the lists -> just finish it + bRedrawText = 1; + break_now = 1; + break; + } + if (i just re-render whole thing + bRedrawText = 2; // redraw ALL + break; + } + } + + if (bRedrawText < 2) + { + while (i < m_nMsg[m_b]) + { + m_msg[m_b][i].added = 1; + bRedrawText = 1; + i++; + } + + while (j < m_nMsg[1-m_b]) + { + m_msg[1-m_b][j].deleted = 1; + bRedrawText = 1; + j++; + } + } + } + + // ------------------------------------------------------------ + + // 0. remember old render target & get surface descriptions + m_lpDevice->GetRenderTarget( 0, &pBackBuffer ); + pBackBuffer->GetDesc(&desc_backbuf); + + if (bRTT) + { + //if (m_lpDevice->GetDepthStencilSurface( &pZBuffer ) != D3D_OK) + // pZBuffer = NULL; // ok if return val != D3D_OK - just means there is no zbuffer. + if (m_lpTextSurface->GetLevelDesc(0, &desc_text_surface) != D3D_OK) + bRTT = 0; + + m_lpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE ); + m_lpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); + m_lpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT ); + m_lpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE ); + + m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + m_lpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); + m_lpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE ); + + m_lpDevice->SetRenderState( D3DRS_ZENABLE, FALSE ); + } + else + { + desc_text_surface = desc_backbuf; + } + + if (bRTT && bRedrawText) + do + { + // 1. change render target + m_lpDevice->SetTexture(0, NULL); + + IDirect3DSurface9* pNewTarget = NULL; + if (m_lpTextSurface->GetSurfaceLevel(0, &pNewTarget) != D3D_OK) + { + bRTT = 0; + break; + } + if (m_lpDevice->SetRenderTarget(0, pNewTarget) != D3D_OK) + { + pNewTarget->Release(); + bRTT = 0; + break; + } + //m_lpDevice->SetDepthStencilSurface( ??? ); + pNewTarget->Release(); + + m_lpDevice->SetTexture(0, NULL); + + // 2. clear to black + //m_lpDevice->SetTexture(0, NULL); + m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + m_lpDevice->SetVertexShader( NULL ); + m_lpDevice->SetFVF( WFVERTEX_FORMAT ); + m_lpDevice->SetPixelShader( NULL ); + WFVERTEX v3[4]; + if (bRedrawText==2) + { + DWORD clearcolor = m_msg[m_b][j].bgColor;//0xFF000000;// | ((rand()%32)<<16) | ((rand()%32)<<8) | ((rand()%32)); + for (int i=0; i<4; i++) + { + v3[i].x = -1.0f + 2.0f*(i%2); + v3[i].y = -1.0f + 2.0f*(i/2); + v3[i].z = 0; + v3[i].Diffuse = clearcolor; + } + m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v3, sizeof(WFVERTEX)); + } + else + { + // 1. erase (draw black box over) any old text items deleted. + // also, update the dirty rects; stuff that was ABOVE/BELOW these guys will need redrawn! + // (..picture them staggered) + for (int j=0; jDrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v3, sizeof(WFVERTEX)); + + //---------------------------------- + + // special case: + // if something is erased, but it's totally inside a dark box, + // then don't add it to the dirty rectangle. + td_string* pDarkBox = (td_string*)m_msg[1-m_b][j].prev_dark_box_ptr; + int add_to_dirty_rect = 1; + while (pDarkBox && add_to_dirty_rect) + { + RECT t; + UnionRect(&t, &pDarkBox->rect, &m_msg[1-m_b][j].rect); + if (EqualRect(&t, &pDarkBox->rect)) + add_to_dirty_rect = 0; + pDarkBox = (td_string*)pDarkBox->prev_dark_box_ptr; + } + + // also, update dirty rects + // first, check to see if this shares area or a border w/any of the going dirty rects, + // and if so, expand that dirty rect. + if (add_to_dirty_rect) + { + int done = 0; + RECT t; + RECT r1 = m_msg[1-m_b][j].rect; + RECT r2 = m_msg[1-m_b][j].rect; + r2.top -= 1; + r2.left -= 1; + r2.right += 1; + r2.bottom += 1; + for (i=0; i dirty_rect[i].right) + dx = r1.left - dirty_rect[i].right; + else if (dirty_rect[i].left > r1.right) + dx = dirty_rect[i].left - r1.right; + + if (r1.top > dirty_rect[i].bottom) + dy = r1.top - dirty_rect[i].bottom; + else if (dirty_rect[i].top > r1.bottom) + dy = dirty_rect[i].top - r1.bottom; + + float dist = sqrtf((float)(dx*dx + dy*dy)); + if (i==0 || dist < nearest_dist) + { + nearest_dist = dist; + nearest_id = i; + } + } + //...and expand it to include this one. + UnionRect(&t, &r1, &dirty_rect[nearest_id]); + dirty_rect[nearest_id] = t; + } + } + } + + // 2. erase AND REDRAW any of *this* frame's text that falls in dirty rects + // from erasures of *prev* frame's deleted text: + for (j=0; jDrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v3, sizeof(WFVERTEX)); + + m_msg[m_b][j].deleted = 1; + m_msg[m_b][j].added = 1; + bRedrawText = 1; + } + } + } + } + } + while (0); + + // 3. render text to TEXT surface + if (bRedrawText) + { + m_lpDevice->SetTexture(0, NULL); + m_lpDevice->SetTexture(1, NULL); + m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + m_lpDevice->SetVertexShader( NULL ); + m_lpDevice->SetPixelShader( NULL ); + m_lpDevice->SetFVF( WFVERTEX_FORMAT ); + + for (int i=0; iDrawTextW(NULL, m_msg[m_b][i].msg, -1, &m_msg[m_b][i].rect, m_msg[m_b][i].flags, m_msg[m_b][i].color); + else if (m_msg[m_b][i].added || bRedrawText==2 || !bRTT) + { + WFVERTEX v3[4]; + float x0 = -1.0f + 2.0f*m_msg[m_b][i].rect.left/(float)desc_text_surface.Width; + float x1 = -1.0f + 2.0f*m_msg[m_b][i].rect.right/(float)desc_text_surface.Width; + float y0 = -1.0f + 2.0f*m_msg[m_b][i].rect.top/(float)desc_text_surface.Height; + float y1 = -1.0f + 2.0f*m_msg[m_b][i].rect.bottom/(float)desc_text_surface.Height; + for (int k=0; k<4; k++) + { + v3[k].x = (k%2) ? x0 : x1; + v3[k].y = (k/2) ? y0 : y1; + v3[k].z = 0; + v3[k].Diffuse = m_msg[m_b][i].bgColor;//0xFF303000; + } + m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v3, sizeof(WFVERTEX)); + } + } + + if (bRTT) + { + // 4. restore render target + if (bRedrawText) + { + m_lpDevice->SetTexture(0, NULL); + m_lpDevice->SetRenderTarget( 0, pBackBuffer );//, pZBuffer ); + //m_lpDevice->SetDepthStencilSurface( pZBuffer ); + } + + // 5. blit text surface to backbuffer + m_lpDevice->SetTexture(0, m_lpTextSurface); + m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, m_blit_additively ? TRUE : FALSE); + m_lpDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE); + m_lpDevice->SetRenderState(D3DRS_DESTBLEND, m_blit_additively ? D3DBLEND_ONE : D3DBLEND_ZERO); + m_lpDevice->SetVertexShader( NULL ); + m_lpDevice->SetPixelShader( NULL ); + m_lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + + SPRITEVERTEX v3[4]; + ZeroMemory(v3, sizeof(SPRITEVERTEX)*4); + float fx = desc_text_surface.Width / (float)desc_backbuf.Width ; + float fy = desc_text_surface.Height / (float)desc_backbuf.Height; + for (int i=0; i<4; i++) + { + v3[i].x = (i%2==0) ? -1 : -1 + 2*fx; + v3[i].y = (i/2==0) ? -1 : -1 + 2*fy; + v3[i].z = 0; + v3[i].tu = ((i%2==0) ? 0.0f : 1.0f) + 0.5f/desc_text_surface.Width; // FIXES BLURRY TEXT even when bilinear interp. is on (which can't be turned off on all cards!) + v3[i].tv = ((i/2==0) ? 0.0f : 1.0f) + 0.5f/desc_text_surface.Height; // FIXES BLURRY TEXT even when bilinear interp. is on (which can't be turned off on all cards!) + v3[i].Diffuse = 0xFFFFFFFF; + } + + DWORD oldblend[3]; + //m_lpDevice->GetTextureStageState(0, D3DTSS_MAGFILTER, &oldblend[0]); + //m_lpDevice->GetTextureStageState(1, D3DTSS_MINFILTER, &oldblend[1]); + //m_lpDevice->GetTextureStageState(2, D3DTSS_MIPFILTER, &oldblend[2]); + m_lpDevice->GetSamplerState(0, D3DSAMP_MAGFILTER, &oldblend[0]); + m_lpDevice->GetSamplerState(1, D3DSAMP_MINFILTER, &oldblend[1]); + m_lpDevice->GetSamplerState(2, D3DSAMP_MIPFILTER, &oldblend[2]); + m_lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT); + m_lpDevice->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_POINT); + m_lpDevice->SetSamplerState(2, D3DSAMP_MIPFILTER, D3DTEXF_POINT); + + m_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, v3, sizeof(SPRITEVERTEX)); + + m_lpDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, oldblend[0]); + m_lpDevice->SetSamplerState(1, D3DSAMP_MINFILTER, oldblend[1]); + m_lpDevice->SetSamplerState(2, D3DSAMP_MIPFILTER, oldblend[2]); + + m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + } + + SafeRelease(pBackBuffer); + //SafeRelease(pZBuffer); + + m_lpDevice->SetTexture(0, NULL); + m_lpDevice->SetTexture(1, NULL); + m_lpDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE); + m_lpDevice->SetVertexShader( NULL ); + m_lpDevice->SetPixelShader( NULL ); + m_lpDevice->SetFVF( SPRITEVERTEX_FORMAT ); + + //D3DXMATRIX ident; + //D3DXMatrixIdentity(&ident); + //m_lpDevice->SetTransform(D3DTS_PROJECTION, &ident); + } + + // flip: + m_b = 1 - m_b; + + ClearAll(); +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/textmgr.h b/src/MilkDrop2/vis_milk2/textmgr.h new file mode 100644 index 0000000000..9a62461c81 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/textmgr.h @@ -0,0 +1,91 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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 GEISS_TEXT_DRAWING_MANAGER +#define GEISS_TEXT_DRAWING_MANAGER 1 + +#ifdef _DEBUG + #define D3D_DEBUG_INFO // declare this before including d3d9.h +#endif +#include +#include +#include "md_defines.h" +#include "..\nu\AutoWide.h" + +#define MAX_MSGS 4096 + +typedef struct +{ + wchar_t* msg; // points to some character in g_szMsgPool[2][]. + LPD3DXFONT pfont; // note: iff this string is really a dark box, pfont will be NULL! + RECT rect; + DWORD flags; + DWORD color; + DWORD bgColor; + int added, deleted; // temporary; used during DrawNow() + void* prev_dark_box_ptr; // temporary; used during DrawNow() +} +td_string; + +class CTextManager +{ +public: + CTextManager(); + ~CTextManager(); + + // note: if you can't create lpTextSurface full-size, don't create it at all! + void Init(LPDIRECT3DDEVICE9 lpDevice, IDirect3DTexture9* lpTextSurface, int bAdditive); // note: ok if lpTextSurface==NULL; in that case, text will be drawn directly to screen (but not til end anyway). + void Finish(); + + // note: pFont must persist until DrawNow() is called! + int DrawText(LPD3DXFONT pFont, char* szText, RECT* pRect, DWORD flags, DWORD color, bool bBlackBox, DWORD boxColor=0xFF000000); // actually queues the text! + int DrawText(LPD3DXFONT pFont, char* szText, int len, RECT* pRect, DWORD flags, DWORD color, bool bBox, DWORD boxColor=0xFF000000) { + return DrawTextW(pFont, AutoWide(szText), pRect, flags, color, bBox, boxColor); + }; + int DrawTextW(LPD3DXFONT pFont, wchar_t* szText, RECT* pRect, DWORD flags, DWORD color, bool bBlackBox, DWORD boxColor=0xFF000000); // actually queues the text! + int DrawTextW(LPD3DXFONT pFont, wchar_t* szText, int len, RECT* pRect, DWORD flags, DWORD color, bool bBox, DWORD boxColor=0xFF000000) { + return DrawTextW(pFont, szText, pRect, flags, color, bBox, boxColor); + }; + void DrawBox(LPRECT pRect, DWORD boxColor); + void DrawDarkBox(LPRECT pRect) { DrawBox(pRect, 0xFF000000); } + void DrawNow(); + void ClearAll(); // automatically called @ end of DrawNow() + +protected: + LPDIRECT3DDEVICE9 m_lpDevice; + IDirect3DTexture9* m_lpTextSurface; + int m_blit_additively; + + int m_nMsg[2]; + td_string m_msg[2][MAX_MSGS]; + wchar_t* m_next_msg_start_ptr; + int m_b; +}; + +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/utility.cpp b/src/MilkDrop2/vis_milk2/utility.cpp new file mode 100644 index 0000000000..0eb32500d9 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/utility.cpp @@ -0,0 +1,1255 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include "utility.h" +#include +#include +#include +#ifdef _DEBUG + #define D3D_DEBUG_INFO // declare this before including d3d9.h +#endif +#include +#include "../Winamp/wa_ipc.h" +#include "resource.h" +#include + +intptr_t myOpenURL(HWND hwnd, wchar_t *loc) +{ + if (loc) + { + bool override=false; + WASABI_API_SYSCB->syscb_issueCallback(SysCallback::BROWSER, BrowserCallback::ONOPENURL, reinterpret_cast(loc), reinterpret_cast(&override)); + if (!override) + return (intptr_t)ShellExecuteW(hwnd, L"open", loc, NULL, NULL, SW_SHOWNORMAL); + else + return 33; + } + return 33; +} + +float PowCosineInterp(float x, float pow) +{ + // input (x) & output should be in range 0..1. + // pow > 0: tends to push things toward 0 and 1 + // pow < 0: tends to push things toward 0.5. + + if (x<0) + return 0; + if (x>1) + return 1; + + int bneg = (pow < 0) ? 1 : 0; + if (bneg) + pow = -pow; + + if (pow>1000) pow=1000; + + int its = (int)pow; + for (int i=0; i 0) + { + _swscanf_l(string, L"%f", g_use_C_locale, &ret); + } + return ret; +} + +bool WritePrivateProfileFloatW(float f, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName) +{ + wchar_t szValue[32]; + _swprintf_l(szValue, L"%f", g_use_C_locale, f); + return (WritePrivateProfileStringW(szSectionName, szKeyName, szValue, szIniFile) != 0); +} + +bool WritePrivateProfileIntW(int d, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName) +{ + wchar_t szValue[32]; + swprintf(szValue, L"%d", d); + return (WritePrivateProfileStringW(szSectionName, szKeyName, szValue, szIniFile) != 0); +} + +void SetScrollLock(int bNewState, bool bPreventHandling) +{ + if(bPreventHandling) return; + + if (bNewState != (GetKeyState(VK_SCROLL) & 1)) + { + // Simulate a key press + keybd_event( VK_SCROLL, + 0x45, + KEYEVENTF_EXTENDEDKEY | 0, + 0 ); + + // Simulate a key release + keybd_event( VK_SCROLL, + 0x45, + KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, + 0); + } +} + +void RemoveExtension(wchar_t *str) +{ + wchar_t *p = wcsrchr(str, L'.'); + if (p) *p = 0; +} + +static void ShiftDown(wchar_t *str) +{ + while (*str) + { + str[0] = str[1]; + str++; + } +} + +void RemoveSingleAmpersands(wchar_t *str) +{ + while (*str) + { + if (str[0] == L'&') + { + if (str[1] == L'&') // two in a row: replace with single ampersand, move on + str++; + + ShiftDown(str); + } + else + str = CharNextW(str); + } +} + +void TextToGuid(char *str, GUID *pGUID) +{ + if (!str) return; + if (!pGUID) return; + + DWORD d[11]; + + sscanf(str, "%X %X %X %X %X %X %X %X %X %X %X", + &d[0], &d[1], &d[2], &d[3], &d[4], &d[5], &d[6], &d[7], &d[8], &d[9], &d[10]); + + pGUID->Data1 = (DWORD)d[0]; + pGUID->Data2 = (WORD)d[1]; + pGUID->Data3 = (WORD)d[2]; + pGUID->Data4[0] = (BYTE)d[3]; + pGUID->Data4[1] = (BYTE)d[4]; + pGUID->Data4[2] = (BYTE)d[5]; + pGUID->Data4[3] = (BYTE)d[6]; + pGUID->Data4[4] = (BYTE)d[7]; + pGUID->Data4[5] = (BYTE)d[8]; + pGUID->Data4[6] = (BYTE)d[9]; + pGUID->Data4[7] = (BYTE)d[10]; +} + +void GuidToText(GUID *pGUID, char *str, int nStrLen) +{ + // note: nStrLen should be set to sizeof(str). + if (!str) return; + if (!nStrLen) return; + str[0] = 0; + if (!pGUID) return; + + DWORD d[11]; + d[0] = (DWORD)pGUID->Data1; + d[1] = (DWORD)pGUID->Data2; + d[2] = (DWORD)pGUID->Data3; + d[3] = (DWORD)pGUID->Data4[0]; + d[4] = (DWORD)pGUID->Data4[1]; + d[5] = (DWORD)pGUID->Data4[2]; + d[6] = (DWORD)pGUID->Data4[3]; + d[7] = (DWORD)pGUID->Data4[4]; + d[8] = (DWORD)pGUID->Data4[5]; + d[9] = (DWORD)pGUID->Data4[6]; + d[10] = (DWORD)pGUID->Data4[7]; + + sprintf(str, "%08X %04X %04X %02X %02X %02X %02X %02X %02X %02X %02X", + d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10]); +} + +/* +int GetPentiumTimeRaw(unsigned __int64 *cpu_timestamp) +{ + // returns 0 on failure, 1 on success + // warning: watch out for wraparound! + + // note: it's probably better to use QueryPerformanceFrequency + // and QueryPerformanceCounter()! + + // get high-precision time: + __try + { + unsigned __int64 *dest = (unsigned __int64 *)cpu_timestamp; + __asm + { + _emit 0xf // these two bytes form the 'rdtsc' asm instruction, + _emit 0x31 // available on Pentium I and later. + mov esi, dest + mov [esi ], eax // lower 32 bits of tsc + mov [esi+4], edx // upper 32 bits of tsc + } + return 1; + } + __except(EXCEPTION_EXECUTE_HANDLER) + { + return 0; + } + + return 0; +} + +double GetPentiumTimeAsDouble(unsigned __int64 frequency) +{ + // returns < 0 on failure; otherwise, returns current cpu time, in seconds. + // warning: watch out for wraparound! + + // note: it's probably better to use QueryPerformanceFrequency + // and QueryPerformanceCounter()! + + if (frequency==0) + return -1.0; + + // get high-precision time: + __try + { + unsigned __int64 high_perf_time; + unsigned __int64 *dest = &high_perf_time; + __asm + { + _emit 0xf // these two bytes form the 'rdtsc' asm instruction, + _emit 0x31 // available on Pentium I and later. + mov esi, dest + mov [esi ], eax // lower 32 bits of tsc + mov [esi+4], edx // upper 32 bits of tsc + } + __int64 time_s = (__int64)(high_perf_time / frequency); // unsigned->sign conversion should be safe here + __int64 time_fract = (__int64)(high_perf_time % frequency); // unsigned->sign conversion should be safe here + // note: here, we wrap the timer more frequently (once per week) + // than it otherwise would (VERY RARELY - once every 585 years on + // a 1 GHz), to alleviate floating-point precision errors that start + // to occur when you get to very high counter values. + double ret = (time_s % (60*60*24*7)) + (double)time_fract/(double)((__int64)frequency); + return ret; + } + __except(EXCEPTION_EXECUTE_HANDLER) + { + return -1.0; + } + + return -1.0; +} +*/ + +#ifdef _DEBUG + void OutputDebugMessage(char *szStartText, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) + { + // note: this function does NOT log WM_MOUSEMOVE, WM_NCHITTEST, or WM_SETCURSOR + // messages, since they are so frequent. + // note: these identifiers were pulled from winuser.h + + //if (msg == WM_MOUSEMOVE || msg == WM_NCHITTEST || msg == WM_SETCURSOR) + // return; + + #ifdef _DEBUG + char buf[64]; + int matched = 1; + + sprintf(buf, "WM_"); + + switch(msg) + { + case 0x0001: lstrcat(buf, "CREATE"); break; + case 0x0002: lstrcat(buf, "DESTROY"); break; + case 0x0003: lstrcat(buf, "MOVE"); break; + case 0x0005: lstrcat(buf, "SIZE"); break; + case 0x0006: lstrcat(buf, "ACTIVATE"); break; + case 0x0007: lstrcat(buf, "SETFOCUS"); break; + case 0x0008: lstrcat(buf, "KILLFOCUS"); break; + case 0x000A: lstrcat(buf, "ENABLE"); break; + case 0x000B: lstrcat(buf, "SETREDRAW"); break; + case 0x000C: lstrcat(buf, "SETTEXT"); break; + case 0x000D: lstrcat(buf, "GETTEXT"); break; + case 0x000E: lstrcat(buf, "GETTEXTLENGTH"); break; + case 0x000F: lstrcat(buf, "PAINT"); break; + case 0x0010: lstrcat(buf, "CLOSE"); break; + case 0x0011: lstrcat(buf, "QUERYENDSESSION"); break; + case 0x0012: lstrcat(buf, "QUIT"); break; + case 0x0013: lstrcat(buf, "QUERYOPEN"); break; + case 0x0014: lstrcat(buf, "ERASEBKGND"); break; + case 0x0015: lstrcat(buf, "SYSCOLORCHANGE"); break; + case 0x0016: lstrcat(buf, "ENDSESSION"); break; + case 0x0018: lstrcat(buf, "SHOWWINDOW"); break; + case 0x001A: lstrcat(buf, "WININICHANGE"); break; + case 0x001B: lstrcat(buf, "DEVMODECHANGE"); break; + case 0x001C: lstrcat(buf, "ACTIVATEAPP"); break; + case 0x001D: lstrcat(buf, "FONTCHANGE"); break; + case 0x001E: lstrcat(buf, "TIMECHANGE"); break; + case 0x001F: lstrcat(buf, "CANCELMODE"); break; + case 0x0020: lstrcat(buf, "SETCURSOR"); break; + case 0x0021: lstrcat(buf, "MOUSEACTIVATE"); break; + case 0x0022: lstrcat(buf, "CHILDACTIVATE"); break; + case 0x0023: lstrcat(buf, "QUEUESYNC"); break; + case 0x0024: lstrcat(buf, "GETMINMAXINFO"); break; + case 0x0026: lstrcat(buf, "PAINTICON"); break; + case 0x0027: lstrcat(buf, "ICONERASEBKGND"); break; + case 0x0028: lstrcat(buf, "NEXTDLGCTL"); break; + case 0x002A: lstrcat(buf, "SPOOLERSTATUS"); break; + case 0x002B: lstrcat(buf, "DRAWITEM"); break; + case 0x002C: lstrcat(buf, "MEASUREITEM"); break; + case 0x002D: lstrcat(buf, "DELETEITEM"); break; + case 0x002E: lstrcat(buf, "VKEYTOITEM"); break; + case 0x002F: lstrcat(buf, "CHARTOITEM"); break; + case 0x0030: lstrcat(buf, "SETFONT"); break; + case 0x0031: lstrcat(buf, "GETFONT"); break; + case 0x0032: lstrcat(buf, "SETHOTKEY"); break; + case 0x0033: lstrcat(buf, "GETHOTKEY"); break; + case 0x0037: lstrcat(buf, "QUERYDRAGICON"); break; + case 0x0039: lstrcat(buf, "COMPAREITEM"); break; + case 0x0041: lstrcat(buf, "COMPACTING"); break; + case 0x0044: lstrcat(buf, "COMMNOTIFY"); break; + case 0x0046: lstrcat(buf, "WINDOWPOSCHANGING"); break; + case 0x0047: lstrcat(buf, "WINDOWPOSCHANGED"); break; + case 0x0048: lstrcat(buf, "POWER"); break; + case 0x004A: lstrcat(buf, "COPYDATA"); break; + case 0x004B: lstrcat(buf, "CANCELJOURNAL"); break; + + #if(WINVER >= 0x0400) + case 0x004E: lstrcat(buf, "NOTIFY"); break; + case 0x0050: lstrcat(buf, "INPUTLANGCHANGEREQUEST"); break; + case 0x0051: lstrcat(buf, "INPUTLANGCHANGE"); break; + case 0x0052: lstrcat(buf, "TCARD"); break; + case 0x0053: lstrcat(buf, "HELP"); break; + case 0x0054: lstrcat(buf, "USERCHANGED"); break; + case 0x0055: lstrcat(buf, "NOTIFYFORMAT"); break; + case 0x007B: lstrcat(buf, "CONTEXTMENU"); break; + case 0x007C: lstrcat(buf, "STYLECHANGING"); break; + case 0x007D: lstrcat(buf, "STYLECHANGED"); break; + case 0x007E: lstrcat(buf, "DISPLAYCHANGE"); break; + case 0x007F: lstrcat(buf, "GETICON"); break; + case 0x0080: lstrcat(buf, "SETICON"); break; + #endif + + case 0x0081: lstrcat(buf, "NCCREATE"); break; + case 0x0082: lstrcat(buf, "NCDESTROY"); break; + case 0x0083: lstrcat(buf, "NCCALCSIZE"); break; + case 0x0084: lstrcat(buf, "NCHITTEST"); break; + case 0x0085: lstrcat(buf, "NCPAINT"); break; + case 0x0086: lstrcat(buf, "NCACTIVATE"); break; + case 0x0087: lstrcat(buf, "GETDLGCODE"); break; + case 0x0088: lstrcat(buf, "SYNCPAINT"); break; + case 0x00A0: lstrcat(buf, "NCMOUSEMOVE"); break; + case 0x00A1: lstrcat(buf, "NCLBUTTONDOWN"); break; + case 0x00A2: lstrcat(buf, "NCLBUTTONUP"); break; + case 0x00A3: lstrcat(buf, "NCLBUTTONDBLCLK"); break; + case 0x00A4: lstrcat(buf, "NCRBUTTONDOWN"); break; + case 0x00A5: lstrcat(buf, "NCRBUTTONUP"); break; + case 0x00A6: lstrcat(buf, "NCRBUTTONDBLCLK"); break; + case 0x00A7: lstrcat(buf, "NCMBUTTONDOWN"); break; + case 0x00A8: lstrcat(buf, "NCMBUTTONUP"); break; + case 0x00A9: lstrcat(buf, "NCMBUTTONDBLCLK"); break; + case 0x0100: lstrcat(buf, "KEYDOWN"); break; + case 0x0101: lstrcat(buf, "KEYUP"); break; + case 0x0102: lstrcat(buf, "CHAR"); break; + case 0x0103: lstrcat(buf, "DEADCHAR"); break; + case 0x0104: lstrcat(buf, "SYSKEYDOWN"); break; + case 0x0105: lstrcat(buf, "SYSKEYUP"); break; + case 0x0106: lstrcat(buf, "SYSCHAR"); break; + case 0x0107: lstrcat(buf, "SYSDEADCHAR"); break; + case 0x0108: lstrcat(buf, "KEYLAST"); break; + + #if(WINVER >= 0x0400) + case 0x010D: lstrcat(buf, "IME_STARTCOMPOSITION"); break; + case 0x010E: lstrcat(buf, "IME_ENDCOMPOSITION"); break; + case 0x010F: lstrcat(buf, "IME_COMPOSITION"); break; + //case 0x010F: lstrcat(buf, "IME_KEYLAST"); break; + #endif + + case 0x0110: lstrcat(buf, "INITDIALOG"); break; + case 0x0111: lstrcat(buf, "COMMAND"); break; + case 0x0112: lstrcat(buf, "SYSCOMMAND"); break; + case 0x0113: lstrcat(buf, "TIMER"); break; + case 0x0114: lstrcat(buf, "HSCROLL"); break; + case 0x0115: lstrcat(buf, "VSCROLL"); break; + case 0x0116: lstrcat(buf, "INITMENU"); break; + case 0x0117: lstrcat(buf, "INITMENUPOPUP"); break; + case 0x011F: lstrcat(buf, "MENUSELECT"); break; + case 0x0120: lstrcat(buf, "MENUCHAR"); break; + case 0x0121: lstrcat(buf, "ENTERIDLE"); break; + #if(WINVER >= 0x0500) + case 0x0122: lstrcat(buf, "MENURBUTTONUP"); break; + case 0x0123: lstrcat(buf, "MENUDRAG"); break; + case 0x0124: lstrcat(buf, "MENUGETOBJECT"); break; + case 0x0125: lstrcat(buf, "UNINITMENUPOPUP"); break; + case 0x0126: lstrcat(buf, "MENUCOMMAND"); break; + #endif + + case 0x0132: lstrcat(buf, "CTLCOLORMSGBOX"); break; + case 0x0133: lstrcat(buf, "CTLCOLOREDIT"); break; + case 0x0134: lstrcat(buf, "CTLCOLORLISTBOX"); break; + case 0x0135: lstrcat(buf, "CTLCOLORBTN"); break; + case 0x0136: lstrcat(buf, "CTLCOLORDLG"); break; + case 0x0137: lstrcat(buf, "CTLCOLORSCROLLBAR"); break; + case 0x0138: lstrcat(buf, "CTLCOLORSTATIC"); break; + + //case 0x0200: lstrcat(buf, "MOUSEFIRST"); break; + case 0x0200: lstrcat(buf, "MOUSEMOVE"); break; + case 0x0201: lstrcat(buf, "LBUTTONDOWN"); break; + case 0x0202: lstrcat(buf, "LBUTTONUP"); break; + case 0x0203: lstrcat(buf, "LBUTTONDBLCLK"); break; + case 0x0204: lstrcat(buf, "RBUTTONDOWN"); break; + case 0x0205: lstrcat(buf, "RBUTTONUP"); break; + case 0x0206: lstrcat(buf, "RBUTTONDBLCLK"); break; + case 0x0207: lstrcat(buf, "MBUTTONDOWN"); break; + case 0x0208: lstrcat(buf, "MBUTTONUP"); break; + case 0x0209: lstrcat(buf, "MBUTTONDBLCLK"); break; + + #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) + case 0x020A: lstrcat(buf, "MOUSEWHEEL"); break; + case 0x020E: lstrcat(buf, "MOUSELAST"); break; + #else + //case 0x0209: lstrcat(buf, "MOUSELAST"); break; + #endif + + case 0x0210: lstrcat(buf, "PARENTNOTIFY"); break; + case 0x0211: lstrcat(buf, "ENTERMENULOOP"); break; + case 0x0212: lstrcat(buf, "EXITMENULOOP"); break; + + #if(WINVER >= 0x0400) + case 0x0213: lstrcat(buf, "NEXTMENU"); break; + case 0x0214: lstrcat(buf, "SIZING"); break; + case 0x0215: lstrcat(buf, "CAPTURECHANGED"); break; + case 0x0216: lstrcat(buf, "MOVING"); break; + case 0x0218: lstrcat(buf, "POWERBROADCAST"); break; + case 0x0219: lstrcat(buf, "DEVICECHANGE"); break; + #endif + + /* + case 0x0220: lstrcat(buf, "MDICREATE"); break; + case 0x0221: lstrcat(buf, "MDIDESTROY"); break; + case 0x0222: lstrcat(buf, "MDIACTIVATE"); break; + case 0x0223: lstrcat(buf, "MDIRESTORE"); break; + case 0x0224: lstrcat(buf, "MDINEXT"); break; + case 0x0225: lstrcat(buf, "MDIMAXIMIZE"); break; + case 0x0226: lstrcat(buf, "MDITILE"); break; + case 0x0227: lstrcat(buf, "MDICASCADE"); break; + case 0x0228: lstrcat(buf, "MDIICONARRANGE"); break; + case 0x0229: lstrcat(buf, "MDIGETACTIVE"); break; + */ + + case 0x0230: lstrcat(buf, "MDISETMENU"); break; + case 0x0231: lstrcat(buf, "ENTERSIZEMOVE"); break; + case 0x0232: lstrcat(buf, "EXITSIZEMOVE"); break; + case 0x0233: lstrcat(buf, "DROPFILES"); break; + case 0x0234: lstrcat(buf, "MDIREFRESHMENU"); break; + + + /* + #if(WINVER >= 0x0400) + case 0x0281: lstrcat(buf, "IME_SETCONTEXT"); break; + case 0x0282: lstrcat(buf, "IME_NOTIFY"); break; + case 0x0283: lstrcat(buf, "IME_CONTROL"); break; + case 0x0284: lstrcat(buf, "IME_COMPOSITIONFULL"); break; + case 0x0285: lstrcat(buf, "IME_SELECT"); break; + case 0x0286: lstrcat(buf, "IME_CHAR"); break; + #endif + #if(WINVER >= 0x0500) + case 0x0288: lstrcat(buf, "IME_REQUEST"); break; + #endif + #if(WINVER >= 0x0400) + case 0x0290: lstrcat(buf, "IME_KEYDOWN"); break; + case 0x0291: lstrcat(buf, "IME_KEYUP"); break; + #endif + */ + + #if(_WIN32_WINNT >= 0x0400) + case 0x02A1: lstrcat(buf, "MOUSEHOVER"); break; + case 0x02A3: lstrcat(buf, "MOUSELEAVE"); break; + #endif + + case 0x0300: lstrcat(buf, "CUT"); break; + case 0x0301: lstrcat(buf, "COPY"); break; + case 0x0302: lstrcat(buf, "PASTE"); break; + case 0x0303: lstrcat(buf, "CLEAR"); break; + case 0x0304: lstrcat(buf, "UNDO"); break; + case 0x0305: lstrcat(buf, "RENDERFORMAT"); break; + case 0x0306: lstrcat(buf, "RENDERALLFORMATS"); break; + case 0x0307: lstrcat(buf, "DESTROYCLIPBOARD"); break; + case 0x0308: lstrcat(buf, "DRAWCLIPBOARD"); break; + case 0x0309: lstrcat(buf, "PAINTCLIPBOARD"); break; + case 0x030A: lstrcat(buf, "VSCROLLCLIPBOARD"); break; + case 0x030B: lstrcat(buf, "SIZECLIPBOARD"); break; + case 0x030C: lstrcat(buf, "ASKCBFORMATNAME"); break; + case 0x030D: lstrcat(buf, "CHANGECBCHAIN"); break; + case 0x030E: lstrcat(buf, "HSCROLLCLIPBOARD"); break; + case 0x030F: lstrcat(buf, "QUERYNEWPALETTE"); break; + case 0x0310: lstrcat(buf, "PALETTEISCHANGING"); break; + case 0x0311: lstrcat(buf, "PALETTECHANGED"); break; + case 0x0312: lstrcat(buf, "HOTKEY"); break; + + #if(WINVER >= 0x0400) + case 0x0317: lstrcat(buf, "PRINT"); break; + case 0x0318: lstrcat(buf, "PRINTCLIENT"); break; + + case 0x0358: lstrcat(buf, "HANDHELDFIRST"); break; + case 0x035F: lstrcat(buf, "HANDHELDLAST"); break; + + case 0x0360: lstrcat(buf, "AFXFIRST"); break; + case 0x037F: lstrcat(buf, "AFXLAST"); break; + #endif + + case 0x0380: lstrcat(buf, "PENWINFIRST"); break; + case 0x038F: lstrcat(buf, "PENWINLAST"); break; + + default: + sprintf(buf, "unknown"); + matched = 0; + break; + } + + int n = strlen(buf); + int desired_len = 24; + int spaces_to_append = desired_len-n; + if (spaces_to_append>0) + { + for (int i=0; i PROMPT TO GO TO WEB. + wchar_t title[128]; + int ret = MessageBoxW(hwnd, + #ifndef D3D_SDK_VERSION + --- error; you need to #include --- + #endif + #if (D3D_SDK_VERSION==120) + // plugin was *built* using the DirectX 9.0 sdk, therefore, + // the dx9.0 runtime is missing or corrupt + "Failed to initialize DirectX 9.0 or later.\n" + "Milkdrop requires d3dx9_31.dll to be installed.\n" + "\n" + "Would you like to be taken to:\n" + "http://www.microsoft.com/download/details.aspx?id=35,\n" + "where you can update DirectX 9.0?\n" + XXXXXXX + #else + // plugin was *built* using some other version of the DirectX9 sdk, such as + // 9.1b; therefore, we don't know exactly what version to tell them they need + // to install; so we ask them to go get the *latest* version. + WASABI_API_LNGSTRINGW(IDS_DIRECTX_MISSING_OR_CORRUPT_TEXT) + #endif + , + WASABI_API_LNGSTRINGW_BUF(IDS_DIRECTX_MISSING_OR_CORRUPT, title, 128), + MB_YESNO|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL); + + if (ret==IDYES) + DownloadDirectX(hwnd); +} + +bool CheckForMMX() +{ + DWORD bMMX = 0; + DWORD *pbMMX = &bMMX; + __try { + __asm { + mov eax, 1 + cpuid + mov edi, pbMMX + mov dword ptr [edi], edx + } + } + __except(EXCEPTION_EXECUTE_HANDLER) + { + bMMX = 0; + } + + if (bMMX & 0x00800000) // check bit 23 + return true; + + return false; +} + +bool CheckForSSE() +{ +#ifdef _WIN64 + return true; // All x64 processors support SSE +#else + /* + The SSE instruction set was introduced with the Pentium III and features: + * Additional MMX instructions such as min/max + * Prefetch and write-through instructions for optimizing data movement + from and to the L2/L3 caches and main memory + * 8 New 128 bit XMM registers (xmm0..xmm7) and corresponding 32 bit floating point + (single precision) instructions + */ + + DWORD bSSE = 0; + DWORD *pbSSE = &bSSE; + __try { + __asm + { + mov eax, 1 + cpuid + mov edi, pbSSE + mov dword ptr [edi], edx + } + } + __except(EXCEPTION_EXECUTE_HANDLER) + { + bSSE = 0; + } + + if (bSSE & 0x02000000) // check bit 25 + return true; + + return false; +#endif +} + +void GetDesktopFolder(char *szDesktopFolder) // should be MAX_PATH len. +{ + // returns the path to the desktop folder, WITHOUT a trailing backslash. + szDesktopFolder[0] = 0; + ITEMIDLIST pidl; + ZeroMemory(&pidl, sizeof(pidl)); + if (!SHGetPathFromIDList(&pidl, szDesktopFolder)) + szDesktopFolder[0] = 0; +} + +void ExecutePidl(LPITEMIDLIST pidl, char *szPathAndFile, char *szWorkingDirectory, HWND hWnd) +{ + // This function was based on code by Jeff Prosise. + + // Note: for some reason, ShellExecuteEx fails when executing + // *shortcuts* (.lnk files) from the desktop, using their PIDLs. + // So, if that fails, we try again w/the plain old text filename + // (szPathAndFile). + + char szVerb[] = "open"; + char szFilename2[MAX_PATH]; + + sprintf(szFilename2, "%s.lnk", szPathAndFile); + + // -without the "no-verb" pass, + // certain icons still don't work (like shortcuts + // to IE, VTune...) + // -without the "context menu" pass, + // certain others STILL don't work (Netscape...) + // -without the 'ntry' pass, shortcuts (to folders/files) + // don't work + for (int verb_pass=0; verb_pass<2; verb_pass++) + { + for (int ntry=0; ntry<3; ntry++) + { + for (int context_pass=0; context_pass<2; context_pass++) + { + SHELLEXECUTEINFO sei = { sizeof(sei) }; + sei.hwnd = hWnd; + sei.fMask = SEE_MASK_FLAG_NO_UI; + if (context_pass==1) + sei.fMask |= SEE_MASK_INVOKEIDLIST; + sei.lpVerb = (verb_pass) ? NULL : szVerb; + sei.lpDirectory = szWorkingDirectory; + sei.nShow = SW_SHOWNORMAL; + + if (ntry==0) + { + // this case works for most non-shortcuts + sei.fMask |= SEE_MASK_IDLIST; + sei.lpIDList = pidl; + } + else if (ntry==1) + { + // this case is required for *shortcuts to folders* to work + sei.lpFile = szPathAndFile; + } + else if (ntry==2) + { + // this case is required for *shortcuts to files* to work + sei.lpFile = szFilename2; + } + + if (ShellExecuteEx(&sei)) + return; + } + } + } +} + +WNDPROC g_pOldWndProc; +LPCONTEXTMENU2 g_pIContext2or3; + +LRESULT CALLBACK HookWndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) +{ + //UINT uItem; + //TCHAR szBuf[MAX_PATH]; + + switch (msg) + { + case WM_DRAWITEM: + case WM_MEASUREITEM: + if(wp) break; // not menu related + case WM_INITMENUPOPUP: + g_pIContext2or3->HandleMenuMsg(msg, wp, lp); + return (msg==WM_INITMENUPOPUP ? 0 : TRUE); // handled + + /*case WM_MENUSELECT: + // if this is a shell item, get its descriptive text + uItem = (UINT) LOWORD(wp); + if(0 == (MF_POPUP & HIWORD(wp)) && uItem >= 1 && uItem <= 0x7fff) + { + g_pIContext2or3->GetCommandString(uItem-1, GCS_HELPTEXT, + NULL, szBuf, sizeof(szBuf)/sizeof(szBuf[0]) ); + + // set the status bar text + ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->SetMessageText(szBuf); + return 0; + } + break;*/ + + default: + break; + } + + // for all untreated messages, call the original wndproc + return ::CallWindowProc(g_pOldWndProc, hWnd, msg, wp, lp); +} + +BOOL DoExplorerMenu (HWND hwnd, LPITEMIDLIST pidlMain, POINT point) +{ + LPMALLOC pMalloc; + LPSHELLFOLDER psfFolder, psfNextFolder; + LPITEMIDLIST pidlItem, pidlNextItem, *ppidl; + LPCONTEXTMENU pContextMenu; + CMINVOKECOMMANDINFO ici; + UINT nCount, nCmd; + BOOL bResult; + HMENU hMenu; + + // + // Get pointers to the shell's IMalloc interface and the desktop's + // IShellFolder interface. + // + bResult = FALSE; + + if (!SUCCEEDED (SHGetMalloc (&pMalloc))) + return bResult; + + if (!SUCCEEDED (SHGetDesktopFolder (&psfFolder))) { + pMalloc->Release(); + return bResult; + } + + if (nCount = GetItemCount (pidlMain)) // nCount must be > 0 + { + // + // Initialize psfFolder with a pointer to the IShellFolder + // interface of the folder that contains the item whose context + // menu we're after, and initialize pidlItem with a pointer to + // the item's item ID. If nCount > 1, this requires us to walk + // the list of item IDs stored in pidlMain and bind to each + // subfolder referenced in the list. + // + pidlItem = pidlMain; + + while (--nCount) { + // + // Create a 1-item item ID list for the next item in pidlMain. + // + pidlNextItem = DuplicateItem (pMalloc, pidlItem); + if (pidlNextItem == NULL) { + psfFolder->Release(); + pMalloc->Release(); + return bResult; + } + + // + // Bind to the folder specified in the new item ID list. + // + if (!SUCCEEDED (psfFolder->BindToObject(pidlNextItem, NULL, IID_IShellFolder, (void**)&psfNextFolder))) // modified by RG + { + pMalloc->Free(pidlNextItem); + psfFolder->Release(); + pMalloc->Release(); + return bResult; + } + + // + // Release the IShellFolder pointer to the parent folder + // and set psfFolder equal to the IShellFolder pointer for + // the current folder. + // + psfFolder->Release(); + psfFolder = psfNextFolder; + + // + // Release the storage for the 1-item item ID list we created + // just a moment ago and initialize pidlItem so that it points + // to the next item in pidlMain. + // + pMalloc->Free(pidlNextItem); + pidlItem = GetNextItem (pidlItem); + } + + // + // Get a pointer to the item's IContextMenu interface and call + // IContextMenu::QueryContextMenu to initialize a context menu. + // + ppidl = &pidlItem; + if (SUCCEEDED (psfFolder->GetUIObjectOf(hwnd, 1, (LPCITEMIDLIST*)ppidl, IID_IContextMenu, NULL, (void**)&pContextMenu))) // modified by RG + { + // try to see if we can upgrade to an IContextMenu3 + // or IContextMenu2 interface pointer: + int level = 1; + void *pCM = NULL; + if (pContextMenu->QueryInterface(IID_IContextMenu3, &pCM) == NOERROR) + { + pContextMenu->Release(); + pContextMenu = (LPCONTEXTMENU)pCM; + level = 3; + } + else if (pContextMenu->QueryInterface(IID_IContextMenu2, &pCM) == NOERROR) + { + pContextMenu->Release(); + pContextMenu = (LPCONTEXTMENU)pCM; + level = 2; + } + + hMenu = CreatePopupMenu (); + if (SUCCEEDED (pContextMenu->QueryContextMenu(hMenu, 0, 1, 0x7FFF, CMF_EXPLORE))) + { + ClientToScreen (hwnd, &point); + + // install the subclassing "hook", for versions 2 or 3 + if (level >= 2) + { + g_pOldWndProc = (WNDPROC)SetWindowLongPtr(hwnd, GWLP_WNDPROC, (DWORD_PTR)HookWndProc); + g_pIContext2or3 = (LPCONTEXTMENU2)pContextMenu; // cast ok for ICMv3 + } + else + { + g_pOldWndProc = NULL; + g_pIContext2or3 = NULL; + } + + // + // Display the context menu. + // + nCmd = TrackPopupMenu (hMenu, TPM_LEFTALIGN | + TPM_LEFTBUTTON | TPM_RIGHTBUTTON | TPM_RETURNCMD, + point.x, point.y, 0, hwnd, NULL); + + // restore old wndProc + if (g_pOldWndProc) + { + SetWindowLongPtr(hwnd, GWL_WNDPROC, (LONG_PTR)g_pOldWndProc); + } + + // + // If a command was selected from the menu, execute it. + // + if (nCmd >= 1 && nCmd <= 0x7fff) + { + ZeroMemory(&ici, sizeof(ici)); + ici.cbSize = sizeof (CMINVOKECOMMANDINFO); + //ici.fMask = 0; + ici.hwnd = hwnd; + ici.lpVerb = MAKEINTRESOURCE (nCmd - 1); + //ici.lpParameters = NULL; + //ici.lpDirectory = NULL; + ici.nShow = SW_SHOWNORMAL; + //ici.dwHotKey = 0; + //ici.hIcon = NULL; + + if (SUCCEEDED ( pContextMenu->InvokeCommand (&ici))) + bResult = TRUE; + } + /*else if (nCmd) + { + PostMessage(hwnd, WM_COMMAND, nCmd, NULL); // our command + }*/ + } + DestroyMenu (hMenu); + pContextMenu->Release(); + } + } + + // + // Clean up and return. + // + psfFolder->Release(); + pMalloc->Release(); + + return bResult; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Note: a special thanks goes out to Jeff Prosise for writing & publishing +// the following code! +// +// FUNCTION: GetItemCount +// +// DESCRIPTION: Computes the number of item IDs in an item ID list. +// +// INPUT: pidl = Pointer to an item ID list. +// +// RETURNS: Number of item IDs in the list. +// +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +UINT GetItemCount (LPITEMIDLIST pidl) +{ + USHORT nLen; + UINT nCount; + + nCount = 0; + while ((nLen = pidl->mkid.cb) != 0) { + pidl = GetNextItem (pidl); + nCount++; + } + return nCount; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Note: a special thanks goes out to Jeff Prosise for writing & publishing +// the following code! +// +// FUNCTION: GetNextItem +// +// DESCRIPTION: Finds the next item in an item ID list. +// +// INPUT: pidl = Pointer to an item ID list. +// +// RETURNS: Pointer to the next item. +// +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +LPITEMIDLIST GetNextItem (LPITEMIDLIST pidl) +{ + USHORT nLen; + + if ((nLen = pidl->mkid.cb) == 0) + return NULL; + + return (LPITEMIDLIST) (((LPBYTE) pidl) + nLen); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Note: a special thanks goes out to Jeff Prosise for writing & publishing +// the following code! +// +// FUNCTION: DuplicateItem +// +// DESCRIPTION: Makes a copy of the next item in an item ID list. +// +// INPUT: pMalloc = Pointer to an IMalloc interface. +// pidl = Pointer to an item ID list. +// +// RETURNS: Pointer to an ITEMIDLIST containing the copied item ID. +// +// NOTES: It is the caller's responsibility to free the memory +// allocated by this function when the item ID is no longer +// needed. Example: +// +// pidlItem = DuplicateItem (pMalloc, pidl); +// . +// . +// . +// pMalloc->lpVtbl->Free (pMalloc, pidlItem); +// +// Failure to free the ITEMIDLIST will result in memory +// leaks. +// +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +LPITEMIDLIST DuplicateItem (LPMALLOC pMalloc, LPITEMIDLIST pidl) +{ + USHORT nLen; + LPITEMIDLIST pidlNew; + + nLen = pidl->mkid.cb; + if (nLen == 0) + return NULL; + + pidlNew = (LPITEMIDLIST) pMalloc->Alloc ( + nLen + sizeof (USHORT)); + if (pidlNew == NULL) + return NULL; + + CopyMemory (pidlNew, pidl, nLen); + *((USHORT*) (((LPBYTE) pidlNew) + nLen)) = 0; + + return pidlNew; +} + +//---------------------------------------------------------------------- +// A special thanks goes out to Jeroen-bart Engelen (Yeep) for providing +// his source code for getting the position & label information for all +// the icons on the desktop, as found below. See his article at +// http://www.digiwar.com/scripts/renderpage.php?section=2&subsection=2 +//---------------------------------------------------------------------- + +void FindDesktopWindows(HWND *desktop_progman, HWND *desktopview_wnd, HWND *listview_wnd) +{ + *desktop_progman = NULL; + *desktopview_wnd = NULL; + *listview_wnd = NULL; + + *desktop_progman = FindWindow(NULL, ("Program Manager")); + if(*desktop_progman == NULL) + { + //MessageBox(NULL, "Unable to get the handle to the Program Manager.", "Fatal error", MB_OK|MB_ICONERROR); + return; + } + + *desktopview_wnd = FindWindowEx(*desktop_progman, NULL, "SHELLDLL_DefView", NULL); + if(*desktopview_wnd == NULL) + { + //MessageBox(NULL, "Unable to get the handle to the desktopview.", "Fatal error", MB_OK|MB_ICONERROR); + return; + } + + // Thanks ef_ef_ef@yahoo.com for pointing out this works in NT 4 and not the way I did it originally. + *listview_wnd = FindWindowEx(*desktopview_wnd, NULL, "SysListView32", NULL); + if(*listview_wnd == NULL) + { + //MessageBox(NULL, "Unable to get the handle to the folderview.", "Fatal error", MB_OK|MB_ICONERROR); + return; + } +} + +//---------------------------------------------------------------------- + +int GetDesktopIconSize() +{ + int ret = 32; + + // reads the key: HKEY_CURRENT_USER\Control Panel, Desktop\WindowMetrics\Shell Icon Size + unsigned char buf[64]; + unsigned long len = sizeof(buf); + DWORD type; + HKEY key; + + if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\Desktop\\WindowMetrics", 0, KEY_READ, &key)) + { + if (ERROR_SUCCESS == RegQueryValueEx(key, "Shell Icon Size", NULL, &type, (unsigned char*)buf, &len) && + type == REG_SZ) + { + int x = _atoi_l((char*)buf, g_use_C_locale); + if (x>0 && x<=128) + ret = x; + } + + RegCloseKey(key); + } + + return ret; +} + +//---------------------------------------------------------------------- + +// handy functions for populating Combo Boxes: +int SelectItemByValue(HWND ctrl, DWORD value) +{ + int count = SendMessage(ctrl, CB_GETCOUNT, 0, 0); + for (int i=0; i this is a quick-fix, we should call FindFirstFile() on the system directory + d3dx9=NULL; + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_36.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_35.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_34.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_33.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_32.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_31.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_30.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_29.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_28.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_27.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_26.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_25.dll"); + if (!d3dx9) d3dx9 = LoadLibrary("d3dx9_24.dll"); + } + + if (d3dx9) + { + pCreateFontW = (D3DXCREATEFONTW) GetProcAddress(d3dx9,"D3DXCreateFontW"); + pMatrixMultiply = (D3DXMATRIXMULTIPLY) GetProcAddress(d3dx9,"D3DXMatrixMultiply"); + pMatrixTranslation = (D3DXMATRIXTRANSLATION)GetProcAddress(d3dx9,"D3DXMatrixTranslation"); + pMatrixScaling = (D3DXMATRIXSCALING)GetProcAddress(d3dx9,"D3DXMatrixScaling"); + pMatrixRotationX = (D3DXMATRIXROTATION)GetProcAddress(d3dx9,"D3DXMatrixRotationX"); + pMatrixRotationY = (D3DXMATRIXROTATION)GetProcAddress(d3dx9,"D3DXMatrixRotationY"); + pMatrixRotationZ = (D3DXMATRIXROTATION)GetProcAddress(d3dx9,"D3DXMatrixRotationZ"); + pCreateTextureFromFileExW = (D3DXCREATETEXTUREFROMFILEEXW)GetProcAddress(d3dx9,"D3DXCreateTextureFromFileExW"); + pMatrixOrthoLH = (D3DXMATRIXORTHOLH)GetProcAddress(d3dx9,"D3DXMatrixOrthoLH"); + pCompileShader = (D3DXCOMPILESHADER)GetProcAddress(d3dx9,"D3DXCompileShader"); + pMatrixLookAtLH = (D3DXMATRIXLOOKATLH)GetProcAddress(d3dx9,"D3DXMatrixLookAtLH"); + pCreateTexture = (D3DXCREATETEXTURE)GetProcAddress(d3dx9,"D3DXCreateTexture"); + + + + } + + return d3dx9; +} + +LRESULT GetWinampVersion(HWND winamp) +{ + static LRESULT version=0; + if (!version) + version=SendMessage(winamp,WM_WA_IPC,0,0); + return version; +} + +void* GetTextResource(UINT id, int no_fallback){ + void* data = 0; + HINSTANCE hinst = WASABI_API_LNG_HINST; + HRSRC rsrc = FindResource(hinst,MAKEINTRESOURCE(id),"TEXT"); + if(!rsrc && !no_fallback) rsrc = FindResource((hinst = WASABI_API_ORIG_HINST),MAKEINTRESOURCE(id),"TEXT"); + if(rsrc){ + HGLOBAL resourceHandle = LoadResource(hinst,rsrc); + data = LockResource(resourceHandle); + } + return data; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/utility.h b/src/MilkDrop2/vis_milk2/utility.h new file mode 100644 index 0000000000..13d31e4f44 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/utility.h @@ -0,0 +1,164 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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_DX9_PLUGIN_SHELL_UTILITY_H__ +#define __NULLSOFT_DX9_PLUGIN_SHELL_UTILITY_H__ 1 + +#include +#include +#include +#include + +#define SafeRelease(x) { if (x) {x->Release(); x=NULL;} } +#define SafeDelete(x) { if (x) {delete x; x=NULL;} } +#define IsNullGuid(lpGUID) ( ((int*)lpGUID)[0]==0 && ((int*)lpGUID)[1]==0 && ((int*)lpGUID)[2]==0 && ((int*)lpGUID)[3]==0 ) +#define DlgItemIsChecked(hDlg, nIDDlgItem) ((SendDlgItemMessage(hDlg, nIDDlgItem, BM_GETCHECK, (WPARAM) 0, (LPARAM) 0) == BST_CHECKED) ? true : false) +#define CosineInterp(x) (0.5f - 0.5f*cosf((x) * 3.1415926535898f)) +#define InvCosineInterp(x) (acosf(1.0f - 2.0f*(x))/3.1415926535898f) +float PowCosineInterp(float x, float pow); +float AdjustRateToFPS(float per_frame_decay_rate_at_fps1, float fps1, float actual_fps); + +//int GetPrivateProfileInt - part of Win32 API +#define GetPrivateProfileBoolW(w,x,y,z) ((bool)(GetPrivateProfileIntW(w,x,y,z) != 0)) +#define GetPrivateProfileBOOLW(w,x,y,z) ((BOOL)(GetPrivateProfileIntW(w,x,y,z) != 0)) +float GetPrivateProfileFloatW(wchar_t *szSectionName, wchar_t *szKeyName, float fDefault, wchar_t *szIniFile); +bool WritePrivateProfileIntW(int d, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName); +bool WritePrivateProfileFloatW(float f, wchar_t *szKeyName, wchar_t *szIniFile, wchar_t *szSectionName); + +extern _locale_t g_use_C_locale; +extern char keyMappings[8]; + +void SetScrollLock(int bNewState, bool bPreventHandling); +void RemoveExtension(wchar_t *str); +void RemoveSingleAmpersands(wchar_t *str); +void TextToGuid(char *str, GUID *pGUID); +void GuidToText(GUID *pGUID, char *str, int nStrLen); +//int GetPentiumTimeRaw(unsigned __int64 *cpu_timestamp); +//double GetPentiumTimeAsDouble(unsigned __int64 frequency); +#ifdef _DEBUG + void OutputDebugMessage(char *szStartText, HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam); // only available in RELEASE builds! +#endif +void MissingDirectX(HWND hwnd); +bool CheckForMMX(); +bool CheckForSSE(); +void GetDesktopFolder(char *szDesktopFolder); // should be MAX_PATH len. + +#include "icon_t.h" +#include +#include + +BOOL DoExplorerMenu (HWND hwnd, LPCTSTR pszPath, POINT point); +BOOL DoExplorerMenu (HWND hwnd, LPITEMIDLIST pidl, POINT point); +UINT GetItemCount (LPITEMIDLIST pidl); +LPITEMIDLIST GetNextItem (LPITEMIDLIST pidl); +LPITEMIDLIST DuplicateItem (LPMALLOC pMalloc, LPITEMIDLIST pidl); +void FindDesktopWindows(HWND *desktop_progman, HWND *desktopview_wnd, HWND *listview_wnd); +void ExecutePidl(LPITEMIDLIST pidl, char *szPathAndFile, char *szWorkingDirectory, HWND hWnd); +int GetDesktopIconSize(); + +// handy functions for populating Combo Boxes: +inline void AddItem(HWND ctrl, const wchar_t* text, DWORD itemdata) { + LRESULT nPos = SendMessageW( ctrl, CB_ADDSTRING, 0, (LPARAM)text); + SendMessage( ctrl, CB_SETITEMDATA, nPos, itemdata); +} +inline void SelectItemByPos(HWND ctrl, int pos) { + SendMessage(ctrl, CB_SETCURSEL, pos, 0); +} +int SelectItemByValue(HWND ctrl, DWORD value); +bool ReadCBValue(HWND hwnd, DWORD ctrl_id, int* pRetValue); + +LRESULT GetWinampVersion(HWND winamp); +void* GetTextResource(UINT id, int no_fallback); + +HMODULE FindD3DX9(HWND winamp); + +intptr_t myOpenURL(HWND hwnd, wchar_t *loc); + +typedef HRESULT (WINAPI *D3DXCREATEFONTW)(LPDIRECT3DDEVICE9, INT, UINT, UINT, UINT, BOOL, DWORD, DWORD, DWORD, DWORD, LPCWSTR, LPD3DXFONT *); +extern D3DXCREATEFONTW pCreateFontW; + +typedef D3DXMATRIX *(WINAPI *D3DXMATRIXMULTIPLY)(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2); +extern D3DXMATRIXMULTIPLY pMatrixMultiply; + +typedef D3DXMATRIX* (WINAPI *D3DXMATRIXTRANSLATION)( D3DXMATRIX *pOut, FLOAT x, FLOAT y, FLOAT z ); +extern D3DXMATRIXTRANSLATION pMatrixTranslation; + +typedef D3DXMATRIX* (WINAPI *D3DXMATRIXSCALING)( D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz ); +extern D3DXMATRIXSCALING pMatrixScaling; + +typedef D3DXMATRIX* (WINAPI *D3DXMATRIXROTATION)( D3DXMATRIX *pOut, FLOAT Angle ); +extern D3DXMATRIXROTATION pMatrixRotationX, pMatrixRotationY, pMatrixRotationZ; + +typedef HRESULT (WINAPI *D3DXCREATETEXTUREFROMFILEEXW)( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture); +extern D3DXCREATETEXTUREFROMFILEEXW pCreateTextureFromFileExW; + +typedef D3DXMATRIX* (WINAPI *D3DXMATRIXORTHOLH)(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf); +extern D3DXMATRIXORTHOLH pMatrixOrthoLH; + +typedef HRESULT (WINAPI *D3DXCOMPILESHADER)( + LPCSTR pSrcData, + UINT SrcDataLen, + CONST D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable); +extern D3DXCOMPILESHADER pCompileShader; + +typedef D3DXMATRIX* (WINAPI *D3DXMATRIXLOOKATLH)( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt, CONST D3DXVECTOR3 *pUp ); +extern D3DXMATRIXLOOKATLH pMatrixLookAtLH; + +typedef HRESULT (WINAPI *D3DXCREATETEXTURE)( + LPDIRECT3DDEVICE9 pDevice, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + LPDIRECT3DTEXTURE9* ppTexture); +extern D3DXCREATETEXTURE pCreateTexture; +#endif \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/vis.cpp b/src/MilkDrop2/vis_milk2/vis.cpp new file mode 100644 index 0000000000..a4e506e058 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/vis.cpp @@ -0,0 +1,275 @@ +/* + LICENSE + ------- +Copyright 2005-2013 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. +*/ + +#include "api.h" +#include +#include "vis.h" +#include "plugin.h" +#include "defines.h" +#include "resource.h" +#include "utility.h" + +CPlugin g_plugin; +_locale_t g_use_C_locale = 0; +char keyMappings[8]; +bool g_bFullyExited = true; + +// wasabi based services for localisation support +api_service *WASABI_API_SVC = 0; +api_language *WASABI_API_LNG = 0; +api_application *WASABI_API_APP = 0; +api_syscb *WASABI_API_SYSCB = 0; +HINSTANCE WASABI_API_LNG_HINST = 0, WASABI_API_ORIG_HINST = 0; + +void config(struct winampVisModule *this_mod); // configuration dialog +int init(struct winampVisModule *this_mod); // initialization for module +int render1(struct winampVisModule *this_mod); // rendering for module 1 +void quit(struct winampVisModule *this_mod); // deinitialization for module + +// our only plugin module in this plugin: +winampVisModule mod1 = +{ + MODULEDESC, + NULL, // hwndParent + NULL, // hDllInstance + 0, // sRate + 0, // nCh + 0, // latencyMS - tells winamp how much in advance you want the audio data, + // in ms. + 10, // delayMS - if winamp tells the plugin to render a frame and it takes + // less than this # of milliseconds, winamp will sleep (go idle) + // for the remainder. In effect, this limits the framerate of + // the plugin. A value of 10 would cause a fps limit of ~100. + // Derivation: (1000 ms/sec) / (10 ms/frame) = 100 fps. + 0, // spectrumNch + 2, // waveformNch + { 0, }, // spectrumData + { 0, }, // waveformData + config, + init, + render1, + quit +}; + +// getmodule routine from the main header. Returns NULL if an invalid module was requested, +// otherwise returns either mod1, mod2 or mod3 depending on 'which'. +winampVisModule *getModule(int which) +{ + switch (which) + { + case 0: return &mod1; + //case 1: return &mod2; + //case 2: return &mod3; + default: return NULL; + } +} + +// Module header, includes version, description, and address of the module retriever function +winampVisHeader hdr = { VIS_HDRVER, DLLDESC, getModule }; + +// use this to get our own HINSTANCE since overriding DllMain(..) causes instant crashes (should see why) +static HINSTANCE GetMyInstance() +{ + MEMORY_BASIC_INFORMATION mbi = {0}; + if(VirtualQuery(GetMyInstance, &mbi, sizeof(mbi))) + return (HINSTANCE)mbi.AllocationBase; + return NULL; +} + +// this is the only exported symbol. returns our main header. +// if you are compiling C++, the extern "C" { is necessary, so we just #ifdef it +#ifdef __cplusplus +extern "C" { +#endif + __declspec( dllexport ) winampVisHeader *winampVisGetHeader(HWND hwndParent) + { + if(!WASABI_API_LNG_HINST) + { + // loader so that we can get the localisation service api for use + WASABI_API_SVC = (api_service*)SendMessage(hwndParent, WM_WA_IPC, 0, IPC_GET_API_SERVICE); + if (WASABI_API_SVC == (api_service*)1) WASABI_API_SVC = NULL; + + waServiceFactory *sf = WASABI_API_SVC->service_getServiceByGuid(languageApiGUID); + if (sf) WASABI_API_LNG = reinterpret_cast(sf->getInterface()); + + sf = WASABI_API_SVC->service_getServiceByGuid(applicationApiServiceGuid); + if (sf) WASABI_API_APP = reinterpret_cast(sf->getInterface()); + + sf = WASABI_API_SVC->service_getServiceByGuid(syscbApiServiceGuid); + if (sf) WASABI_API_SYSCB = reinterpret_cast(sf->getInterface()); + + // need to have this initialised before we try to do anything with localisation features + WASABI_API_START_LANG(GetMyInstance(),VisMilkdropLangGUID); + + /* added for v2.25 as a quick work around to allow partial + /* keyboard mappings (mainly coming from de-de requirements) + ** [yY][Y][yY][zZ] + ** 1 2 3 4 + ** + ** 1 - does yes for the 3 different prompt types + ** 2 - does Ctrl+Y for stopping display of custom message of song title + ** 3 - something for preset editing (not 100% sure what) + ** 4 - used for the previous track sent to Winamp + */ + WASABI_API_LNGSTRING_BUF(IDS_KEY_MAPPINGS, keyMappings, 8); + + // as we're under a different thread we need to set the locale + //WASABI_API_LNG->UseUserNumericLocale(); + g_use_C_locale = WASABI_API_LNG->Get_C_NumericLocale(); + } + + return &hdr; + } +#ifdef __cplusplus +} +#endif + +bool WaitUntilPluginFinished(HWND hWndWinamp) +{ + int slept = 0; + while (!g_bFullyExited && slept < 1000) + { + Sleep(50); + slept += 50; + } + + if (!g_bFullyExited) + { + wchar_t title[64]; + MessageBoxW(hWndWinamp, WASABI_API_LNGSTRINGW(IDS_ERROR_THE_PLUGIN_IS_ALREADY_RUNNING), + WASABI_API_LNGSTRINGW_BUF(IDS_MILKDROP_ERROR, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST); + return false; + } + + return true; +} + +HWND GetDialogBoxParent(HWND winamp) +{ + HWND parent = (HWND)SendMessage(winamp, WM_WA_IPC, 0, IPC_GETDIALOGBOXPARENT); + if (!parent || parent == (HWND)1) + return winamp; + return parent; +} + +// configuration. Passed this_mod, as a "this" parameter. Allows you to make one configuration +// function that shares code for all your modules (you don't HAVE to use it though, you can make +// config1(), config2(), etc...) +void config(struct winampVisModule *this_mod) +{ + if (!g_bFullyExited) + { + g_plugin.OnAltK(); + return; + } + + g_bFullyExited = false; + g_plugin.PluginPreInitialize(this_mod->hwndParent, this_mod->hDllInstance); + WASABI_API_DIALOGBOXPARAMW(IDD_CONFIG, GetDialogBoxParent(this_mod->hwndParent), g_plugin.ConfigDialogProc, (LPARAM)&g_plugin); + g_bFullyExited = true; +} + +int (*warand)(void) = 0; + +int fallback_rand_fn(void) { + return rand(); +} + +// initialization. Registers our window class, creates our window, etc. Again, this one works for +// both modules, but you could make init1() and init2()... +// returns 0 on success, 1 on failure. +int init(struct winampVisModule *this_mod) +{ + DWORD version = GetWinampVersion(mod1.hwndParent); + + if (!warand) + { + warand = (int (*)(void))SendMessage(this_mod->hwndParent, WM_WA_IPC, 0, IPC_GET_RANDFUNC); + if ((size_t)warand <= 1) + { + warand = fallback_rand_fn; + } + } + + if (!WaitUntilPluginFinished(this_mod->hwndParent)) + { + return 1; + } + + if (GetWinampVersion(mod1.hwndParent) < 0x4000) + { + // query winamp for its playback state + LRESULT ret = SendMessage(this_mod->hwndParent, WM_USER, 0, 104); + // ret=1: playing, ret=3: paused, other: stopped + + if (ret != 1) + { + wchar_t title[64]; + MessageBoxW(this_mod->hwndParent, WASABI_API_LNGSTRINGW(IDS_THIS_PLUGIN_NEEDS_MUSIC_TO_RUN), + WASABI_API_LNGSTRINGW_BUF(IDS_NO_MUSIC_PLAYING, title, 64), + MB_OK|MB_SETFOREGROUND|MB_TOPMOST|MB_TASKMODAL ); + return 1; // failure + } + } + + g_bFullyExited = false; + + if (!g_plugin.PluginPreInitialize(this_mod->hwndParent, this_mod->hDllInstance)) + { + g_plugin.PluginQuit(); + g_bFullyExited = true; + return 1; + } + + if (!g_plugin.PluginInitialize()) + { + g_plugin.PluginQuit(); + g_bFullyExited = true; + return 1; + } + + return 0; // success +} + +// render function for oscilliscope. Returns 0 if successful, 1 if visualization should end. +int render1(struct winampVisModule *this_mod) +{ + if (g_plugin.PluginRender(this_mod->waveformData[0], this_mod->waveformData[1])) + return 0; // ok + else + return 1; // failed +} + +// cleanup (opposite of init()). Should destroy the window, unregister the window class, etc. +void quit(struct winampVisModule *this_mod) +{ + g_plugin.PluginQuit(); + g_bFullyExited = true; +} \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/vis.h b/src/MilkDrop2/vis_milk2/vis.h new file mode 100644 index 0000000000..cee91b3c65 --- /dev/null +++ b/src/MilkDrop2/vis_milk2/vis.h @@ -0,0 +1 @@ +#include "../Winamp/vis.h" \ No newline at end of file diff --git a/src/MilkDrop2/vis_milk2/vms_desktop.lib b/src/MilkDrop2/vis_milk2/vms_desktop.lib new file mode 100644 index 0000000000..4009172974 Binary files /dev/null and b/src/MilkDrop2/vis_milk2/vms_desktop.lib differ diff --git a/src/NativePresets/.gitignore b/src/NativePresets/.gitignore new file mode 100644 index 0000000000..1be0d59389 --- /dev/null +++ b/src/NativePresets/.gitignore @@ -0,0 +1 @@ +*.dylib \ No newline at end of file diff --git a/src/NativePresets/Makefile.am b/src/NativePresets/Makefile.am new file mode 100644 index 0000000000..f358b7dc42 --- /dev/null +++ b/src/NativePresets/Makefile.am @@ -0,0 +1,44 @@ +AM_CPPFLAGS = ${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-I${top_srcdir}/src/libprojectM \ +-I${top_srcdir}/src/libprojectM/Renderer \ +-I${top_srcdir}/src/libprojectM/NativePresetFactory + +AM_CFLAGS = ${my_CFLAGS} \ +-fvisibility=hidden \ +-ffunction-sections \ +-fdata-sections + +presetsdir = $(pkgdatadir)/presets + +# native presets are shared object files. +# they should get installed to $presetsdir/ +presets_LTLIBRARIES = \ + libMstressJuppyDancer.la \ + libRLGFractalDrop7c.la \ + libRovastarDarkSecret.la \ + libRovastarDriftingChaos.la \ + libRovastarFractalSpiral.la \ + libRovastarFractopiaFrantic.la + +libMstressJuppyDancer_la_SOURCES = MstressJuppyDancer.cpp +libRLGFractalDrop7c_la_SOURCES = RLGFractalDrop7c.cpp +libRovastarDarkSecret_la_SOURCES = RovastarDarkSecret.cpp +libRovastarDriftingChaos_la_SOURCES = RovastarDriftingChaos.cpp +libRovastarFractalSpiral_la_SOURCES = RovastarFractalSpiral.cpp +libRovastarFractopiaFrantic_la_SOURCES = RovastarFractopiaFrantic.cpp + +libMstressJuppyDancer_la_LDFLAGS = -avoid-version +libRLGFractalDrop7c_la_LDFLAGS = -avoid-version +libRovastarDarkSecret_la_LDFLAGS = -avoid-version +libRovastarDriftingChaos_la_LDFLAGS = -avoid-version +libRovastarFractalSpiral_la_LDFLAGS = -avoid-version +libRovastarFractopiaFrantic_la_LDFLAGS = -avoid-version + + +libMstressJuppyDancer_la_LIBADD = ../libprojectM/libprojectM.la +libRLGFractalDrop7c_la_LIBADD = ../libprojectM/libprojectM.la +libRovastarDarkSecret_la_LIBADD = ../libprojectM/libprojectM.la +libRovastarDriftingChaos_la_LIBADD = ../libprojectM/libprojectM.la +libRovastarFractalSpiral_la_LIBADD = ../libprojectM/libprojectM.la +libRovastarFractopiaFrantic_la_LIBADD = ../libprojectM/libprojectM.la diff --git a/src/NativePresets/MstressJuppyDancer.cpp b/src/NativePresets/MstressJuppyDancer.cpp new file mode 100644 index 0000000000..d19210511c --- /dev/null +++ b/src/NativePresets/MstressJuppyDancer.cpp @@ -0,0 +1,219 @@ +#include + +#include "Pipeline.hpp" +#include "Transformation.hpp" +#include "MilkdropCompatability.hpp" +#include "Waveform.hpp" +#include "NativePreset.hpp" + +class Dancer : public Waveform +{ +public: + + float meanbass; + float meanmid; + float meantreb; + float mi2_prg; + float gam; + float mi_prg; + float ba_prg; + float tr_prg; + + float dim; + float xpos; + float ypos; + + + float rand_offset1; + float rand_offset2; + float rand_offset3; + + + Dancer():Waveform(16) + { + thick = true; + smoothing = 0.5; + + meanbass = 0; + meanmid = 0; + meantreb = 0; + mi2_prg = 0; + gam = 0; + mi_prg = 0; + ba_prg = 0; + tr_prg = 0; + + dim = (rand()%20)*.01; + //dim *= 0.5; + dim += 0.4; + + + ypos = ((rand()%60)*.01)-0.3; + xpos = ((rand()%60)*.01)-0.3; + xpos+=(1-dim) * 0.5; + ypos+=(1-dim) * 0.5; + + rand_offset1= (rand()%200)*.01; + rand_offset2= (rand()%400)*.01; + rand_offset3= (rand()%600)*.01; + + } + + ColoredPoint PerPoint(ColoredPoint p, const WaveformContext context) + { + + + meanbass = 0.01*(meanbass*99+context.music->bass); + meantreb = 0.01*(meantreb*99+context.music->treb); + meanmid = 0.01*(meanmid*99+context.music->mid); + float bassdiff = (context.music->bass - meanbass)*15; + float trebdiff = (context.music->treb - meantreb)*15; + float middiff = (context.music->mid - meanmid)*15; + float ba = min(above(bassdiff,0)*bassdiff*.005,.11); + float tr = min(above(trebdiff,0)*trebdiff*.005,.11); + float mi = min(above(middiff,0)*middiff*.005,.11); + + mi2_prg = mi2_prg+mi; + gam = std::abs(gam-above(mi2_prg,5)); + mi2_prg= if_milk(above(mi2_prg,5),0,mi2_prg); + + float s = context.sample_int; + //Gambe + p.x= if_milk(equal(int(s),1),.4,.4); + p.y= if_milk(equal(int(s),1),.2+((ba+tr)*.5)*gam,.2+((ba+tr)*.5)*gam); + + p.x= if_milk(equal(int(s),2),.5+sin(ba*100)*.03,p.x); + p.y= if_milk(equal(int(s),2),.4,p.y); + + p.x= if_milk(equal(int(s),3),.6,p.x); + p.y= if_milk(equal(int(s),3),.2+((ba+tr)*.5)*(1-gam),p.y); + + p.x= if_milk(equal(int(s),4),.5+sin(ba*100)*.03,p.x); + p.y= if_milk(equal(int(s),4),.4,p.y); + + //Corpo + p.x= if_milk(equal(int(s),5),.5,p.x); + p.y= if_milk(equal(int(s),5),.6,p.y); + + //Braccia + p.x= if_milk(equal(int(s),6),.4-mi*.23,p.x); + p.y= if_milk(equal(int(s),6),.5+mi,p.y); + + p.x= if_milk(equal(int(s),7),.5,p.x); + p.y= if_milk(equal(int(s),7),.6,p.y); + + p.x= if_milk(equal(int(s),8),.6+tr*.23,p.x); + p.y= if_milk(equal(int(s),8),.5+tr,p.y); + + p.x= if_milk(equal(int(s),9),.5,p.x); + p.y= if_milk(equal(int(s),9),.6,p.y); + + //Testa + p.x= if_milk(equal(int(s),10),.5,p.x); + p.y= if_milk(equal(int(s),10),.62,p.y); + + p.x= if_milk(equal(int(s),11),.47-ba*.23,p.x); + p.y= if_milk(equal(int(s),11),.62,p.y); + p.x= if_milk(equal(int(s),12),.47-ba*.23,p.x); + p.y= if_milk(equal(int(s),12),.67+ba*.23,p.y); + + p.x= if_milk(equal(int(s),13),.53+ba*.23,p.x); + p.y= if_milk(equal(int(s),13),.67+ba*.23,p.y); + + p.x= if_milk(equal(int(s),14),.53+ba*.23,p.x); + p.y= if_milk(equal(int(s),14),.62,p.y); + + p.x= if_milk(equal(int(s),15),.50,p.x); + p.y= if_milk(equal(int(s),15),.62,p.y); + + + + mi_prg= if_milk(above(mi_prg,5),0,mi_prg+mi*.1); + ba_prg= if_milk(above(ba_prg,5),0,ba_prg+ba*.1); + tr_prg= if_milk(above(tr_prg,5),0,tr_prg+tr*.1); + + float temp_dim = dim + 0.2 * sin(mi_prg + rand_offset1); + float temp_xpos = xpos + 0.2 * cos(ba_prg + rand_offset2); + float temp_ypos = ypos + 0.2* sin(tr_prg + rand_offset3); + + p.x=p.x*temp_dim+temp_xpos; + p.y=p.y*temp_dim+temp_ypos; + + float hm=context.sample+mi2_prg; + float ht=context.sample+tr_prg; + float hb=context.sample+ba_prg; + + p.r=hm; + p.g=ht; + p.b=hb; + p.a=.8; + return p; + } +}; + +class MstressJuppyDancer : public Pipeline +{ +public: + Dancer dancer[10]; + + float q1,meanmid,middiff,mi_prg,gam, bass; + + MstressJuppyDancer() : Pipeline() + { + + for(int x = 0; x< 10; x++) + drawables.push_back(&dancer[x]); + + textureWrap = false; + screenDecay = 0.3; + + + q1 = 0; + meanmid = 0; + middiff = 0; + mi_prg = 0; + gam = 0; + + } + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + meanmid = 0.01*(meanmid*99+music.mid); + middiff = (music.mid - meanmid)*15; + float mi = min(above(middiff,0)*middiff*.005,.11); + mi_prg = mi_prg+mi; + gam = std::abs(gam-above(mi_prg,.5)); + mi_prg= if_milk(above(mi_prg,.5),0,mi_prg); + q1 = gam; + bass = music.bass; + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + + float sx = -below(p.y,0.8)*.001; + float dx = .01*bass*(1-q1*2)*below(p.y,0.8); + float rot= .051*below(p.y,0.8); + float cx=trunc(p.x*16)/16; + float cy=trunc(p.y*16)/16; + + Transforms::Scale(p,context,sx,1,cx,cy); + Transforms::Rotate(p,context,rot,cx,cy); + Transforms::Transform(p,context,dx,0); + + return p; + } + +}; + + + +typedef NativePreset MstressJuppyDancerPreset; + +extern "C" MstressJuppyDancerPreset * create(const char * url) { + return new MstressJuppyDancerPreset(std::string(url)); +} + +extern "C" void destroy(MstressJuppyDancerPreset * preset) { + delete preset; +} diff --git a/src/NativePresets/RLGFractalDrop7c.cpp b/src/NativePresets/RLGFractalDrop7c.cpp new file mode 100644 index 0000000000..17b0de0393 --- /dev/null +++ b/src/NativePresets/RLGFractalDrop7c.cpp @@ -0,0 +1,161 @@ +/* + * RovastarFractalSpiral.hpp + * + * Created on: Jun 22, 2008 + * Author: pete + */ + + +#include "Pipeline.hpp" +#include "Transformation.hpp" +#include "MilkdropCompatability.hpp" +#include "VideoEcho.hpp" +#include "NativePreset.hpp" +#include "MilkdropWaveform.hpp" + +class RLGFractalDrop7c : public Pipeline +{ +public: + + Shape shape1,shape2,shape3,shape4; + MilkdropWaveform wave; + VideoEcho videoEcho; + + float movement, t1, t2, t3, t4; + + RLGFractalDrop7c() : Pipeline() + { + drawables.push_back(&shape1); + drawables.push_back(&shape2); + drawables.push_back(&shape3); + drawables.push_back(&shape4); + drawables.push_back(&wave); + + compositeDrawables.push_back(&videoEcho); + + textureWrap = true; + screenDecay = 1.0; + + videoEcho.orientation = FlipX; + videoEcho.zoom = 1.006752; + videoEcho.a = 0.5; + + wave.mode = DoubleLine; + wave.additive = true; + wave.scale = 3.815202; + wave.smoothing = 0.9; + wave.modOpacityEnd = 1.1; + wave.modOpacityStart = 0.0; + wave.maximizeColors = true; + wave.modulateAlphaByVolume = true; + wave.r = 0.65; + wave.g = 0.65; + wave.b = 1; + wave.a = 0.1; + + movement = 0; + + t1 = (rand()%100)*0.01; + t2 = (rand()%100)*0.01; + t3 = (rand()%100)*0.01; + t4 = (rand()%100)*0.01; + + shape1.sides =3; + shape1.x = 0.37; + shape1.y = 0.5; + shape1.radius = 6.811289; + shape1.ang = 3.644249; + shape1.a = 0.5; + shape1.a2 = 0.5; + shape1.border_r = 1; + shape1.border_g = 1; + shape1.border_b = 1; + shape1.border_a = 1; + + shape2.sides =100; + shape2.additive = true; + shape2.textured = true; + + shape2.radius = 0.897961; + shape2.ang = 3.644249; + shape2.a = 0.5; + shape2.a2 = 1; + + shape3.sides =100; + shape3.additive = true; + shape3.textured = true; + shape3.radius = 0.513861; + shape3.ang = 4.209736; + shape3.a = 1; + shape3.a2 = 1; + + shape4.sides =100; + shape4.additive = true; + shape4.textured = true; + shape4.ang = 0; + shape4.a = 1; + shape4.r = 0.6; + shape4.g = 0.8; + shape4.b = 1; + shape4.a2 = 1; + } + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + movement += 0.1*max(0,music.bass+music.bass_att-2) + 0.15*pow(music.bass,3) + 0.005; + float time = context.time; + + shape1.ang = movement*(0.303 + 0.01*t1); + shape1.r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1))); + shape1.g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2))); + shape1.b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4))); + shape1.r2 = min(1,max(0, 0.02*sin(time*0.657 + 3))); + shape1.g2 = min(1,max(0, 0.02*sin(time*0.737 + 5))); + shape1.b2 = min(1,max(0, 0.02*sin(time*0.884 + 6))); + shape1.additive = ((0.5+0.15*(music.bass+music.bass_att)) > 1.0) ? true : false; + + + shape2.x = 0.37 + 0.07*sin(movement*0.15+3); + shape2.y = 0.5 + 0.03*sin(movement*0.19+1); + shape2.tex_ang = movement*(0.01 + 0.0001*t2); + shape2.r = min(1,max(0, 1 + 0.01*sin(time*0.0417 + 1))); + shape2.g = min(1,max(0, 1 + 0.01*sin(time*0.391 + 2))); + shape2.b = min(1,max(0, 1 + 0.01*sin(time*0.432 + 4))); + shape2.r2 = min(1,max(0, 0.01*sin(time*0.457 + 3))); + shape2.g2 = min(1,max(0, 0.01*sin(time*0.0437 + 5))); + shape2.b2 = min(1,max(0, 0.01*sin(time*0.484 + 6))); + + shape3.x = 0.67 + 0.05*sin(movement*0.017); + shape3.y = 0.43 + 0.09*sin(movement*0.013); + shape3.tex_ang = movement*(0.02 + 0.0001*t3); + shape3.radius = 0.222979 * (0.9 + 0.2*t4); + shape3.r = min(1,max(0,1+ 0.01*sin(time*0.417 + 1))); + shape3.g = min(1,max(0,1 + 0.01*sin(time*0.391 + 2))); + shape3.b = min(1,max(0,1 + 0.01*sin(time*0.432 + 4))); + shape3.r2 = min(1,max(0,0.01*sin(time*0.457 + 3))); + shape3.g2 = min(1,max(0,0.01*sin(time*0.437 + 5))); + shape3.b2 = min(1,max(0,0.01*sin(time*0.484 + 6))); + + shape4.x = 0.5 + 0.08*sin(movement*0.25); + shape4.y = 0.5 + 0.1*sin(movement*0.5+2); + shape4.ang = time; + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + Transforms::Zoom(p,context,1.029902,1.00); + return p; + } + +}; + + +typedef NativePreset RLGFractalDrop7Preset; + +extern "C" RLGFractalDrop7Preset * create(const char * url) { + return new RLGFractalDrop7Preset(std::string(url)); +} + +extern "C" void destroy(RLGFractalDrop7Preset * preset) { + delete preset; +} diff --git a/src/NativePresets/RovastarDarkSecret.cpp b/src/NativePresets/RovastarDarkSecret.cpp new file mode 100644 index 0000000000..0ce3bbb3c8 --- /dev/null +++ b/src/NativePresets/RovastarDarkSecret.cpp @@ -0,0 +1,162 @@ +/* + * RovastarFractopiaFrantic.hpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#include "Pipeline.hpp" +#include "MilkdropCompatability.hpp" +#include "Transformation.hpp" +#include "MilkdropWaveform.hpp" +#include "Filters.hpp" +#include "NativePreset.hpp" + +class RovastarDarkSecret : public Pipeline +{ +public: + + Shape shape1, shape2, shape3, shape4; + Border border; + Invert invert; + + RovastarDarkSecret() : Pipeline() + { + screenDecay = 0.9; + textureWrap = true; + + drawables.push_back(&border); + drawables.push_back(&shape1); + drawables.push_back(&shape2); + drawables.push_back(&shape3); + drawables.push_back(&shape4); + + compositeDrawables.push_back(&invert); + + border.outer_size = 0.015; + border.inner_size = 0.010; + border.outer_a = 1.0; + border.inner_a = 1.0; + + shape1.sides = 4; + shape1.additive = true; + shape1.radius=1.621747; + shape1.textured = true; + shape1.tex_zoom=0.424973; + shape1.a = 1; + shape1.border_a = 0.0; + shape1.r = 1; + shape1.g = 0; + shape1.b = 0; + shape1.a2 = 0; + + shape2.sides = 4; + shape2.additive = true; + shape2.radius=1.621747; + shape2.textured = true; + shape2.tex_zoom = 0.424973; + shape2.a = 1; + shape2.border_a = 0.0; + shape2.r = 1; + shape2.g = 0; + shape2.b = 1; + shape2.a2 = 0; + + + shape3.sides = 4; + shape3.additive = true; + shape3.radius=1.621747; + shape3.textured = true; + shape3.tex_zoom = 0.424973; + shape3.a = 1; + shape3.border_a = 0.0; + shape3.r = 0; + shape3.g = 1; + shape3.b = 1; + shape3.a2 = 0; + + shape4.sides = 4; + shape4.additive = false; + shape4.radius=1.621747; + shape4.textured = true; + shape4.tex_zoom = 0.424973; + shape4.a = 1; + shape4.border_a = 0.0; + shape4.r = 1; + shape4.g = 1; + shape4.b = 1; + shape4.a2 = 0; + + + q8 = 0; + q7 = 0; + oldq7 = 0; + } + + float q8, oldq8, q7, oldq7, q6; + float dx, dy; + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + + float wave_r = 0.5+ 0.2*(music.bass-1); + float wave_g = 0.5+ 0.2*(music.mid-1.2); + float wave_b = 0.5+ 0.2*(music.treb-.5); + + border.outer_r = 1-wave_r; + border.outer_g = 1-wave_g; + border.outer_b = 1-wave_b; + + border.inner_r = 0.75 + 0.25*sin(context.time*0.4123); + border.inner_g = 0.25 + 0.25*cos(context.time*0.87); + border.inner_b = 0.5+0.5*sin(1.23*context.time); + + float val = 1.2*music.bass+0.4*music.bass_att+0.1*music.treb+0.1*music.treb_att+0.1*music.mid+0.1*music.mid_att; + + q8 = oldq8 +0.003*(((pow(val,6)/context.fps) + (pow(val,5)/context.fps) + (pow(val,4)/context.fps) + (pow(val,3)/context.fps) + (pow(val,2)/context.fps) +(val)/context.fps)); + oldq8 = q8; + q7 =oldq7+ 0.001*(pow(val,7)/context.fps); + oldq7 = q7; + + dy = 0.5 + 0.01*(sin(0.786*q7)); + dx = 0.1*sin(1.143*q8); + q6 = 15+0.1*(((pow(val,6)/context.fps) + (pow(val,5)/context.fps) + (pow(val,4)/context.fps) + (pow(val,3)/context.fps) + (pow(val,2)/context.fps) +(val)/context.fps)); + + shape1.x = 0.5 + 0.1*sin(q7*0.986); + shape1.y = 0.5 + 0.1*sin(q7*0.846); + shape1.tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.05*sin(context.time); + + shape2.x = 0.5 + 0.1*sin(q7*0.986); + shape2.y = 0.5 + 0.1*sin(q7*0.846); + shape2.tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.1*sin(context.time); + + shape3.x = 0.5 + 0.1*sin(q7*0.986); + shape3.y = 0.5 + 0.1*sin(q7*0.846); + shape3.tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.15*sin(context.time); + + shape4.x = 0.5 + 0.1*sin(q7*0.986); + shape4.y = 0.5 + 0.1*sin(q7*0.846); + shape4.tex_ang = 3.1515 + 3.1415*sin(q7*0.4521) +0.2*sin(context.time);; + + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + float pdy=dy+0.008*cos((p.x-0.5 - 0.1*sin(q7))*(q6)); + Transforms::Zoom(p,context,13.290894,1); + Transforms::Transform(p,context,dx,pdy); + return p; + } +}; + + +typedef NativePreset RovastarDarkSecretPreset; + + +extern "C" RovastarDarkSecretPreset * create(const char * url) { + return new RovastarDarkSecretPreset(std::string(url)); +} + +extern "C" void destroy(RovastarDarkSecretPreset * preset) { + delete preset; +} diff --git a/src/NativePresets/RovastarDriftingChaos.cpp b/src/NativePresets/RovastarDriftingChaos.cpp new file mode 100644 index 0000000000..07ab01c7db --- /dev/null +++ b/src/NativePresets/RovastarDriftingChaos.cpp @@ -0,0 +1,142 @@ +/* + * RovastarFractopiaFrantic.hpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#include + +#include "Pipeline.hpp" +#include "MilkdropCompatability.hpp" +#include "Transformation.hpp" +#include "MilkdropWaveform.hpp" +#include "NativePreset.hpp" + +class RovastarDriftingChaos : public Pipeline +{ +public: + + Shape shape1, shape2, shape3; + MilkdropWaveform wave; + + RovastarDriftingChaos() : Pipeline() + { + screenDecay = 1.0; + textureWrap = 0; + + drawables.push_back(&shape1); + drawables.push_back(&shape2); + drawables.push_back(&shape3); + drawables.push_back(&wave); + + shape1.sides = 3; + shape1.radius=0.550000; + shape1.a = 0.1; + shape1.a2 = 0.9; + shape1.border_r = 1.0; + shape1.border_g = 1.0; + shape1.border_b = 1.0; + shape1.border_a = 0.2; + + shape2.sides = 32; + shape2.radius=0.40000; + shape2.a = 1.0; + shape2.a2 = 0.3; + shape2.border_r = 1.0; + shape2.border_g = 1.0; + shape2.border_b = 1.0; + shape2.border_a = 0.2; + + shape3.sides = 4; + shape3.radius=0.40000; + shape3.a = 0.6; + shape3.a2 = 0.4; + shape3.border_r = 1.0; + shape3.border_g = 1.0; + shape3.border_b = 1.0; + shape3.border_a = 0.2; + + } + + float xamptarg, q8, oldq8, q7, xpos, ypos,xdir, xspeed, xamp, yamp, yamptarg,yspeed,ydir; + float dx, dy, angle; + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + + float volume = 0.15*(music.bass+music.bass_att+music.treb+music.treb_att+music.mid+music.mid_att); + + xamptarg = if_milk(equal(context.frame%15,0),min(0.5*volume*music.bass_att,0.5),xamptarg); + xamp = xamp + 0.5*(xamptarg-xamp); + + xdir = if_milk(above(std::abs(xpos),xamp),-sign(xpos),if_milk(below(std::abs(xspeed),0.1),2*above(xpos,0)-1,xdir)); + xspeed += xdir*xamp - xpos - xspeed*0.055*below(std::abs(xpos),xamp); + xpos = xpos + 0.001*xspeed; + dx = xpos*0.005; + yamptarg = if_milk(equal(context.frame%15,0),min(0.3*volume*music.treb_att,0.5),yamptarg); + yamp += 0.5*(yamptarg-yamp); + ydir = if_milk(above(std::abs(ypos),yamp),-sign(ypos),if_milk(below(std::abs(yspeed),0.1),2*above(ypos,0)-1,ydir)); + + yspeed += ydir*yamp - ypos - yspeed*0.055*below(std::abs(ypos),yamp); + ypos = ypos + 0.001*yspeed; + + dy = ypos*0.005; + angle = 10*(dx-dy); + + q8 =oldq8+ 0.0003*(powf(1+1.2*music.bass+0.4*music.bass_att+0.1*music.treb+0.1*music.treb_att+0.1*music.mid+0.1*music.mid_att,6)/context.fps); + oldq8 = q8; + q7 = 0.003*(powf(1+1.2*music.bass+0.4*music.bass_att+0.1*music.treb+0.1*music.treb_att+0.1*music.mid+0.1*music.mid_att,6)/context.fps); + + shape1.ang = context.time*1.4; + shape1.x = 0.5 + 0.08*cos(context.time*1.3) + 0.03*cos(context.time*0.7); + shape1.y = 0.5 + 0.08*sin(context.time*1.4) + 0.03*sin(context.time*0.7); + shape1.r = 0.5 + 0.5*sin(q8*0.613 + 1); + shape1.g = 0.5 + 0.5*sin(q8*0.763 + 2); + shape1.b = 0.5 + 0.5*sin(q8*0.771 + 5); + shape1.r2 = 0.5 + 0.5*sin(q8*0.635 + 4); + shape1.g2 = 0.5 + 0.5*sin(q8*0.616+ 1); + shape1.b2 = 0.5 + 0.5*sin(q8*0.538 + 3); + + shape2.ang = context.time*1.7; + shape2.x = 0.5 + 0.08*cos(context.time*1.1) + 0.03*cos(context.time*0.7); + shape2.y = 0.5 + 0.08*sin(context.time*1.1) + 0.03*sin(context.time*0.7); + shape2.r = 0.5 + 0.5*sin(q8*0.713 + 1); + shape2.g = 0.5 + 0.5*sin(q8*0.563 + 2); + shape2.b = 0.5 + 0.5*sin(q8*0.654 + 5); + shape2.r2 = 0.5 + 0.5*sin(q8*0.885 + 4); + shape2.g2 = 0.5 + 0.5*sin(q8*0.556+ 1); + shape2.b2 = 0.5 + 0.5*sin(q8*0.638 + 3); + + shape3.ang = context.time*1.24; + shape3.x = 0.5 - 0.08*cos(context.time*1.07) + 0.03*cos(context.time*0.7); + shape3.y = 0.5 - 0.08*sin(context.time*1.33) + 0.03*sin(context.time*0.7); + shape3.g = 0.5 + 0.5*sin(q8*0.713 + 1); + shape3.b = 0.5 + 0.5*cos(q8*0.563 + 2); + shape3.r = 0.5 + 0.5*sin(q8*0.654 + 5); + shape3.r2 = 0.5 + 0.5*cos(q8*0.885 + 4); + shape3.g2 = 0.5 + 0.5*cos(q8*0.556+ 1); + shape3.b2 = 0.5 + 0.5*sin(q8*0.638 + 3); + + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + Transforms::Zoom(p,context,1+0.05*context.rad,1); + Transforms::Transform(p,context,dx,dy); + Transforms::Rotate(p,context,angle,0.5,0.5); + return p; + + } +}; + +typedef NativePreset RovastarDriftingChaosPreset; + +extern "C" RovastarDriftingChaosPreset * create(const char * url) { + return new RovastarDriftingChaosPreset(std::string(url)); +} + +extern "C" void destroy(RovastarDriftingChaosPreset * preset) { + delete preset; +} + diff --git a/src/NativePresets/RovastarFractalSpiral.cpp b/src/NativePresets/RovastarFractalSpiral.cpp new file mode 100644 index 0000000000..9fb73ca0b1 --- /dev/null +++ b/src/NativePresets/RovastarFractalSpiral.cpp @@ -0,0 +1,85 @@ +/* + * RovastarFractalSpiral.hpp + * + * Created on: Jun 22, 2008 + * Author: pete + */ + +#include + +#include "Pipeline.hpp" +#include "Transformation.hpp" +#include "MilkdropCompatability.hpp" +#include "NativePreset.hpp" + +class RovastarFractalSpiral : public Pipeline +{ +public: + + Border border; + + float dx, dy, cx, cy, time; + + RovastarFractalSpiral() : Pipeline() + { + drawables.push_back(&border); + + textureWrap = true; + screenDecay = 1.0; + + + border.outer_size = 0.01; + border.outer_a = 1.0; + border.inner_size = 0.02; + border.inner_a = 1.0; + } + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + time = context.time; + + border.outer_r = 0.3 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438)); + border.outer_g = 0.6- 0.4*sin(time*2.924); + border.outer_b = 0.35 - 0.3*cos(time*0.816); + cx = 0.5 - 0.1*sin(time*0.342); + cy = 0.5 + 0.1*sin(time*0.433); + + border.inner_r = 0.5 + 0.5*sin(time*3.034); + border.inner_g = 0.5 + 0.5*sin(time*2.547); + border.inner_b = 0.5 + 0.5*sin(time*1.431); + dx = -0.008*sin(time*0.23); + dy = -0.008*sin(time*0.2); + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + float q1 = 8.05+(sin(p.x+0.137*time)-cos(p.y+0.213*time)); + int val1 = std::abs(p.x*3-0.4*sin(q1)); + int val2 = std::abs(p.y*3+0.4*sin(q1)); + val1 = val1%2; + val2 = val2%2; + + float box=(1-context.rad)+ 0.5 * val1 + 0.5*val2; + + float zoom = if_milk(above(box,1),q1*.1,0.998531); + float rot = if_milk(above(box,1),1*sin(0.385*time),0.02); + + Transforms::Zoom(p,context,zoom,1.01); + Transforms::Rotate(p,context,rot,cx,cy); + Transforms::Transform(p,context,dx,dy); + + return p; + } + +}; + + +typedef NativePreset RovastarFractalSpiralPreset; + +extern "C" RovastarFractalSpiralPreset * create(const char * url) { + return new RovastarFractalSpiralPreset(std::string(url)); +} + +extern "C" void destroy(RovastarFractalSpiralPreset * preset) { + delete preset; +} diff --git a/src/NativePresets/RovastarFractopiaFrantic.cpp b/src/NativePresets/RovastarFractopiaFrantic.cpp new file mode 100644 index 0000000000..25331b1407 --- /dev/null +++ b/src/NativePresets/RovastarFractopiaFrantic.cpp @@ -0,0 +1,100 @@ +/* + * RovastarFractopiaFrantic.hpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#include "Pipeline.hpp" +#include "Transformation.hpp" +#include "NativePreset.hpp" + +class RovastarFractopiaFrantic : public Pipeline +{ +public: + + Border border; + MotionVectors vectors; + + float dx, dy; + float q4, q5, q6; + + float movement; + + RovastarFractopiaFrantic() : Pipeline() + { + drawables.push_back(&vectors); + drawables.push_back(&border); + + screenDecay = 1.0; + + vectors.x_num = 64; + vectors.y_num = 48; + vectors.r = 0.0; + vectors.g = 0.0; + vectors.b = 0.0; + vectors.a = 1.0; + vectors.x_offset = -0.002; + vectors.length = 2.0; + + border.outer_size = 0.05; + border.outer_a = 1.0; + + border.inner_size = 0.04; + border.inner_r = 0.0; + border.inner_g = 0.0; + border.inner_g = 0.0; + border.inner_a = 1.0; + + q4 = 0.249+0.5*(rand()%100*0.01); + q5 = 0.249+0.5*(rand()%100*0.01); + q6 = 0.249+0.5*(rand()%100*0.01); + + movement = 0.0; + } + + virtual void Render(const BeatDetect &music, const PipelineContext &context) + { + movement += 0.5*(((music.bass+music.bass_att + 0.075*pow((music.bass+0.6*music.bass_att+0.2*music.treb_att),3)))/(float)context.fps); + if (movement > 10000.0) + movement = 0.0; + + border.outer_r = q4+0.25*sin(movement*3.816); + border.outer_g = q4+0.25*sin(movement*0.744); + border.outer_b = q4+0.25*sin(movement*0.707); + + if(music.bass+music.bass_att > 3.0) textureWrap = 1; + else textureWrap = 0; + + vectors.y_offset = 0.03*sin(movement*0.34); + vectors.x_offset = 0.035*(sin(movement*0.217)+cos(movement*0.413)+sin(movement*0.311)); + + dx =0.01*sin(movement*5); + dy =0.0005*(music.bass+music.bass_att); + + } + + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context) + { + float myy = context.y-(0.250025); + float myx = context.x-0.5; + + Transforms::Zoom(p,context,0.98,1.503744); + + p.x = p.x - (dx + 2*(2*myx*myy)); + p.y = p.y - (dy + 2*((myy*myy) - (myx*myx))); + return p; + } + +}; + + +typedef NativePreset RovastarFractopiaFranticPreset; + +extern "C" RovastarFractopiaFranticPreset * create(const char * url) { + return new RovastarFractopiaFranticPreset(std::string(url)); +} + +extern "C" void destroy(RovastarFractopiaFranticPreset * preset) { + delete preset; +} diff --git a/src/libprojectM/BackgroundWorker.h b/src/libprojectM/BackgroundWorker.h new file mode 100644 index 0000000000..7f39ff8362 --- /dev/null +++ b/src/libprojectM/BackgroundWorker.h @@ -0,0 +1,78 @@ +// +// Created by matthew on 1/11/19. +// + +#ifndef PROJECTM_BELLEW_BACKGROUNDWORKER_H +#define PROJECTM_BELLEW_BACKGROUNDWORKER_H + + + +// Small class to encapsulate synchronization of a simple background task runner +// see projectM.cpp + +class BackgroundWorkerSync +{ + pthread_mutex_t mutex; + pthread_cond_t condition_start_work; + pthread_cond_t condition_work_done; + volatile bool there_is_work_to_do; + volatile bool finished; + +public: + BackgroundWorkerSync() : there_is_work_to_do(false), finished(false) + { + pthread_mutex_init(&mutex, NULL); + pthread_cond_init(&condition_start_work, NULL); + pthread_cond_init(&condition_work_done, NULL); + } + + // called by foreground + void wake_up_bg() + { + pthread_mutex_lock(&mutex); + there_is_work_to_do = true; + pthread_cond_signal(&condition_start_work); + pthread_mutex_unlock(&mutex); + } + + // called by foreground + void wait_for_bg_to_finish() + { + pthread_mutex_lock(&mutex); + while (there_is_work_to_do) + pthread_cond_wait(&condition_work_done, &mutex); + pthread_mutex_unlock(&mutex); + } + + // called by foreground() + void finish_up() + { + pthread_mutex_lock(&mutex); + finished = true; + pthread_cond_signal(&condition_start_work); + pthread_mutex_unlock(&mutex); + } + + // called by background + bool wait_for_work() + { + pthread_mutex_lock(&mutex); + while (!there_is_work_to_do && !finished) + pthread_cond_wait(&condition_start_work, &mutex); + pthread_mutex_unlock(&mutex); + return !finished; + } + + // called by background + void finished_work() + { + pthread_mutex_lock(&mutex); + there_is_work_to_do = false; + pthread_cond_signal(&condition_work_done); + pthread_mutex_unlock(&mutex); + } + +}; + + +#endif //PROJECTM_BELLEW_BACKGROUNDWORKER_H diff --git a/src/libprojectM/COPYING b/src/libprojectM/COPYING new file mode 100644 index 0000000000..4a162d36a8 --- /dev/null +++ b/src/libprojectM/COPYING @@ -0,0 +1,21 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2009 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +*/ + diff --git a/src/libprojectM/ChangeLog b/src/libprojectM/ChangeLog new file mode 100644 index 0000000000..8211e0d18a --- /dev/null +++ b/src/libprojectM/ChangeLog @@ -0,0 +1,96 @@ +New for version 1.1 +------------------------------------------------------ +* general performance improvements and improved video card compatability +* multi-threading during smooth preset switching +* pulse audio support +* Qt4 GUI implemented for playlist management and preset editing (jack / pulseaudio only) + +New for versoin 1.01 +------------------------------------------------------ +* Bugfixes + +New for version 1.00 +------------------------------------------------------ +This release includes months of refactoring. The code changes are immense. The list below does not even begin to explain the amount of upheaval that has occured. + +*Smooth Preset Switching + +*OpenGL Framebuffer Objects (sharper rendering) + +*PerPixel Warp effect added + +*Custom Shape Texturing via Images (imageURL property) + +*Serious Parser/Evaluator improvements for better .milk Compatability + +*projectM-engine can render to a texture instead of the framebuffer (see projectM-test/projectM-test-texture.cpp) + +*projectM-engine, projectM-xmms, projectM-jack, and projectM-test build system converted to CMake + +*3D Song title animation + +*New Configuration File (more options, more flexible) + +New for version 0.99 +------------------------------------------------------ +*config file now saved at ~/.projectM/config + +*internal rendering coordinate spaces corrected. (basically, I made some stupid decisions a long time ago, and just fixed them now) + +*xmms plugins close properly via window decorations + +*mouse cursor hidden in xmms-projectM during fullscreen + +*menus should resize relative to the screen size now + +*Fixed numerous compilation bugs + +*when the player changes to a new song, libprojectM will zoom in the title for a few seconds, then blend the title into the vis (ala milkdrop), if the player support sending the title to libprojectM (only xmms-projectM now) + + +New for version 0.98 +------------------------------------------------------ +*projectM has been refactored into a shared library called libprojectM. + -Now compiles as C++ (even though 99% of the code is C) + +*libvisual-projectM now supports libvisual 0.4.0 + +*Preset library updated (~150 new, ~25 removed) + +*Improved Rendering Engine + -rewrote per pixel mathematics + -fixed waveforms 0, 1, and 4 + -fixed Order of drawing (Vectors, Custom Shapes, Custom Waves, Waveform, Borders) + -fixed custom shape rotation and texture parameter bugs + -added support for the bDarkenCenter feature + -added pbuffer support (however, you can't use it yet) + -improved motion vectors when using pbuffers + +*Improved .milk Parser + -corrected behavior of frame, wave, and shape init_eqns + -fixed bug with multiple equations on one line + +*Menu/Help/Display System Improvements + -Replaced GLF with FTGL (TrueType) fonts. + -Added the solarize, brighten, darken, and invert filters to the post-processing menu + -(F4) new Rendering stats display + -(F5) Framerate display fixed + +*New Framerate limiter + +*n0dalus contributed some autotools patches. + +*Chris Byrne of Monstavision contributed: + -3 Memory Leak fixes! + -Performance improvements during PCM input + -Preset index code rewritten to allow presets to be added while projectM is running + +*Hai Zaar helped us clean up the autotools stuff + -Presets/fonts will be stored in $DATADIR/projectM/fonts and /presets + -The config file will be stored in $SYSCONFDIR/projectM + -By default DATADIR is $PREFIX/share and SYSCONFDIR is $PREFIX/etc + so we reccomend you run configure like so: + + ./configure --sysconfdir=/etc + + diff --git a/src/libprojectM/Common.hpp b/src/libprojectM/Common.hpp new file mode 100755 index 0000000000..45e248a1ab --- /dev/null +++ b/src/libprojectM/Common.hpp @@ -0,0 +1,248 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * $Log$ + */ + +#ifndef COMMON_HPP +#define COMMON_HPP +#include +#include +#include +#include + +#ifdef _MSC_sVER +#define strcasecmp(s, t) _strcmpi(s, t) +#endif + +#if defined(_MSC_VER ) && !defined(EYETUNE_WINRT) + #pragma warning( disable : 4244 4305 4996; once : 4018 ) + #define WIN32_LEAN_AND_MEAN + #define NOMINMAX + #include + typedef unsigned int uint; +#endif + +#ifdef DEBUG +//extern FILE *debugFile; +#endif + +#ifdef __APPLE__ +#include +extern FILE *fmemopen(void *buf, size_t len, const char *pMode); +#endif /** MACOS */ + +#include "dlldefs.h" + +#define DEFAULT_FONT_PATH "/home/carm/fonts/courier1.glf" +#define MAX_TOKEN_SIZE 512 +#define MAX_PATH_SIZE 4096 + +#define STRING_BUFFER_SIZE 1024*150 +#define STRING_LINE_SIZE 1024 + + +#ifdef __unix__ +#include +#define projectM_isnan std::isnan +#endif + +#ifdef EMSCRIPTEN +#include +#define projectM_isnan isnan +#endif + +#ifdef WIN32 +#define projectM_isnan(x) ((x) != (x)) +#endif + +#ifdef __APPLE__ +#define projectM_isnan(x) ((x) != (x)) +#endif + +#ifdef __unix__ +#define projectM_fmax fmax +#endif + +#ifdef WIN32 +#define projectM_fmax(x,y) ((x) >= (y) ? (x): (y)) +#endif + +#ifdef __APPLE__ +#define projectM_fmax(x,y) ((x) >= (y) ? (x): (y)) +#endif + +#ifdef __unix__ +#define projectM_fmin fmin +#endif + +#ifdef WIN32 +#define projectM_fmin(x,y) ((x) <= (y) ? (x): (y)) +#endif + +#ifdef __APPLE__ +#define projectM_fmin(x,y) ((x) <= (y) ? (x): (y)) +#endif + +#ifndef TRUE +#define TRUE true +#endif + +#ifndef FALSE +#define FALSE false +#endif + + +#define MAX_DOUBLE_SIZE 10000000.0 +#define MIN_DOUBLE_SIZE -10000000.0 + +#define MAX_INT_SIZE 10000000 +#define MIN_INT_SIZE -10000000 + +/* default float initial value */ +#define DEFAULT_DOUBLE_IV 0.0 + +/* default float lower bound */ +#define DEFAULT_DOUBLE_LB MIN_DOUBLE_SIZE + +/* default float upper bound */ +#define DEFAULT_DOUBLE_UB MAX_DOUBLE_SIZE + +#ifdef WIN32 +#include +#define isnan _isnan +#endif /** WIN32 */ + +/** Per-platform path separators */ +#define WIN32_PATH_SEPARATOR '\\' +#define UNIX_PATH_SEPARATOR '/' +#ifdef WIN32 +#define PATH_SEPARATOR WIN32_PATH_SEPARATOR +#else +#define PATH_SEPARATOR UNIX_PATH_SEPARATOR +#endif /** WIN32 */ +#include +#include + +const unsigned int NUM_Q_VARIABLES(32); +const std::string PROJECTM_FILE_EXTENSION("prjm"); +const std::string MILKDROP_FILE_EXTENSION("milk"); +const std::string PROJECTM_MODULE_EXTENSION("so"); + + template + void traverse(Container & container) + { + + TraverseFunctor functor; + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(pos->second); + functor(pos->second); + } + + } + + + template + void traverseVector(Container & container) + { + + TraverseFunctor functor; + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(*pos); + functor(*pos); + } + + } + + template + void traverse(Container & container, TraverseFunctor & functor) + { + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(pos->second); + functor(pos->second); + } + + } + + namespace TraverseFunctors + { + template + class Delete + { + + public: + + void operator() (Data * data) + { + assert(data); + delete(data); + } + + }; + } + + +inline std::string parseExtension(const std::string & filename) { + + const std::size_t start = filename.find_last_of('.'); + + if (start == std::string::npos || start >= (filename.length()-1)) + return ""; + std::string ext = filename.substr(start+1, filename.length()); + std::transform(ext.begin(), ext.end(), ext.begin(), tolower); + return ext; +} + +inline std::string parseFilename(const std::string & filename) { + + const std::size_t start = filename.find_last_of('/'); + + if (start == std::string::npos || start >= (filename.length()-1)) + return ""; + else + return filename.substr(start+1, filename.length()); +} + +inline double meanSquaredError(const double & x, const double & y) { + return (x-y)*(x-y); +} + + +enum PresetRatingType { + FIRST_RATING_TYPE = 0, + HARD_CUT_RATING_TYPE = FIRST_RATING_TYPE, + SOFT_CUT_RATING_TYPE, + LAST_RATING_TYPE = SOFT_CUT_RATING_TYPE, + TOTAL_RATING_TYPES = SOFT_CUT_RATING_TYPE+1 +}; + + +typedef std::vector RatingList; + +#endif diff --git a/src/projectM-engine/ConfigFile.cpp b/src/libprojectM/ConfigFile.cpp similarity index 100% rename from src/projectM-engine/ConfigFile.cpp rename to src/libprojectM/ConfigFile.cpp diff --git a/src/projectM-engine/ConfigFile.h b/src/libprojectM/ConfigFile.h similarity index 100% rename from src/projectM-engine/ConfigFile.h rename to src/libprojectM/ConfigFile.h diff --git a/src/libprojectM/HungarianMethod.hpp b/src/libprojectM/HungarianMethod.hpp new file mode 100644 index 0000000000..a6c19d3443 --- /dev/null +++ b/src/libprojectM/HungarianMethod.hpp @@ -0,0 +1,192 @@ +#ifndef HUNGARIAN_METHOD_HPP +#define HUNGARIAN_METHOD_HPP +//#include "Common.hpp" +#include +#include +#include +#include + +/// A function object which calculates the maximum-weighted bipartite matching between +/// two sets via the hungarian method. +template +class HungarianMethod { +public : +static const size_t MAX_SIZE = N; + +private: +size_t n, max_match; //n workers and n jobs +double lx[N], ly[N]; //labels of X and Y parts +int xy[N]; //xy[x] - vertex that is matched with x, +int yx[N]; //yx[y] - vertex that is matched with y +bool S[N], T[N]; //sets S and T in algorithm +double slack[N]; //as in the algorithm description +double slackx[N]; //slackx[y] such a vertex, that + // l(slackx[y]) + l(y) - w(slackx[y],y) = slack[y] +int prev[N]; //array for memorizing alternating paths + +void init_labels(const double cost[N][N]) +{ + memset(lx, 0, sizeof(lx)); + memset(ly, 0, sizeof(ly)); + for (unsigned int x = 0; x < n; x++) + for (unsigned int y = 0; y < n; y++) + lx[x] = std::max(lx[x], cost[x][y]); +} + +void augment(const double cost[N][N]) //main function of the algorithm +{ + if (max_match == n) return; //check wether matching is already perfect + unsigned int x, y, root = 0; //just counters and root vertex + int q[N], wr = 0, rd = 0; //q - queue for bfs, wr,rd - write and read + //pos in queue + memset(S, false, sizeof(S)); //init set S + memset(T, false, sizeof(T)); //init set T + memset(prev, -1, sizeof(prev)); //init set prev - for the alternating tree + for (x = 0; x < n; x++) //finding root of the tree + if (xy[x] == -1) + { + q[wr++] = root = x; + prev[x] = -2; + S[x] = true; + break; + } + + for (y = 0; y < n; y++) //initializing slack array + { + slack[y] = lx[root] + ly[y] - cost[root][y]; + slackx[y] = root; + } + while (true) //main cycle + { + while (rd < wr) //building tree with bfs cycle + { + x = q[rd++]; //current vertex from X part + for (y = 0; y < n; y++) //iterate through all edges in equality graph + if (cost[x][y] == lx[x] + ly[y] && !T[y]) + { + if (yx[y] == -1) break; //an exposed vertex in Y found, so + //augmenting path exists! + T[y] = true; //else just add y to T, + q[wr++] = yx[y]; //add vertex yx[y], which is matched + //with y, to the queue + add_to_tree(yx[y], x, cost); //add edges (x,y) and (y,yx[y]) to the tree + } + if (y < n) break; //augmenting path found! + } + if (y < n) break; //augmenting path found! + + update_labels(); //augmenting path not found, so improve labeling + wr = rd = 0; + for (y = 0; y < n; y++) + //in this cycle we add edges that were added to the equality graph as a + //result of improving the labeling, we add edge (slackx[y], y) to the tree if + //and only if !T[y] && slack[y] == 0, also with this edge we add another one + //(y, yx[y]) or augment the matching, if y was exposed + if (!T[y] && slack[y] == 0) + { + if (yx[y] == -1) //exposed vertex in Y found - augmenting path exists! + { + x = slackx[y]; + break; + } + else + { + T[y] = true; //else just add y to T, + if (!S[yx[y]]) + { + q[wr++] = yx[y]; //add vertex yx[y], which is matched with + //y, to the queue + add_to_tree(yx[y], slackx[y],cost); //and add edges (x,y) and (y, + //yx[y]) to the tree + } + } + } + if (y < n) break; //augmenting path found! + } + + if (y < n) //we found augmenting path! + { + max_match++; //increment matching + //in this cycle we inverse edges along augmenting path + for (int cx = x, cy = y, ty; cx != -2; cx = prev[cx], cy = ty) + { + ty = xy[cx]; + yx[cy] = cx; + xy[cx] = cy; + } + augment(cost); //recall function, go to step 1 of the algorithm + } +}//end of augment() function + +void update_labels() +{ + unsigned int x, y; + double delta = std::numeric_limits::max(); + for (y = 0; y < n; y++) //calculate delta using slack + if (!T[y]) + delta = std::min(delta, slack[y]); + for (x = 0; x < n; x++) //update X labels + if (S[x]) lx[x] -= delta; + for (y = 0; y < n; y++) //update Y labels + if (T[y]) ly[y] += delta; + for (y = 0; y < n; y++) //update slack array + if (!T[y]) + slack[y] -= delta; +} + +void add_to_tree(int x, int prevx, const double cost[N][N]) +//x - current vertex,prevx - vertex from X before x in the alternating path, +//so we add edges (prevx, xy[x]), (xy[x], x) +{ + S[x] = true; //add x to S + prev[x] = prevx; //we need this when augmenting + for (unsigned int y = 0; y < n; y++) //update slacks, because we add new vertex to S + if (lx[x] + ly[y] - cost[x][y] < slack[y]) + { + slack[y] = lx[x] + ly[y] - cost[x][y]; + slackx[y] = x; + } +} + +public: +/// Computes the best matching of two sets given its cost matrix. +/// See the matching() method to get the computed match result. +/// \param cost a matrix of two sets I,J where cost[i][j] is the weight of edge i->j +/// \param logicalSize the number of elements in both I and J +/// \returns the total cost of the best matching +inline double operator()(const double cost[N][N], size_t logicalSize) +{ + + n = logicalSize; + assert(n <= N); + double ret = 0; //weight of the optimal matching + max_match = 0; //number of vertices in current matching + memset(xy, -1, sizeof(xy)); + memset(yx, -1, sizeof(yx)); + init_labels(cost); //step 0 + augment(cost); //steps 1-3 + for (unsigned int x = 0; x < n; x++) //forming answer there + ret += cost[x][xy[x]]; + return ret; +} + +/// Gets the matching element in 2nd set of the ith element in the first set +/// \param i the index of the ith element in the first set (passed in operator()) +/// \returns an index j, denoting the matched jth element of the 2nd set +inline int matching(int i) const { + return xy[i]; +} + + +/// Gets the matching element in 1st set of the jth element in the 2nd set +/// \param j the index of the jth element in the 2nd set (passed in operator()) +/// \returns an index i, denoting the matched ith element of the 1st set +/// \note inverseMatching(matching(i)) == i +inline int inverseMatching(int j) const { + return yx[j]; +} + +}; + + +#endif diff --git a/src/libprojectM/IdleTextures.hpp b/src/libprojectM/IdleTextures.hpp new file mode 100644 index 0000000000..7efcac9435 --- /dev/null +++ b/src/libprojectM/IdleTextures.hpp @@ -0,0 +1,5985 @@ + +/* begin binary data: */ +const int M_bytes = 27965; + +/* begin binary data: */ +const unsigned char M_data[] = /* 27965 */ +{0x00,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00 +,0x01,0x20,0x08,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xAD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7D,0xFF,0x00 +,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xAD,0x00 +,0x00,0x00,0xFF,0xAD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC7,0xFF,0x00 +,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00 +,0x00,0xEC,0xAD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0xAC,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x13,0xFF,0x00,0x00,0x00 +,0x00,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0xAD,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xC2,0xAD,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x5A,0xFF,0x00,0x00,0x00,0x00,0x9F,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x7D,0xAD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xC2,0x00,0x00,0x00,0x00,0x6C,0x83,0x00,0x00,0x00,0xFF,0x00,0x0D,0x0D,0x0D +,0xFF,0xA3,0x37,0x37,0x37,0xFF,0x00,0x2B,0x2B,0x2B,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xA4,0xFF,0x00,0x00,0x00,0x00,0x9F,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xC5,0x83,0x00,0x00,0x00,0xFF,0x00,0x34,0x34,0x34 +,0xFF,0xA3,0x37,0x37,0x37,0xFF,0x00,0x0D,0x0D,0x0D,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x6B,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFD +,0x82,0x00,0x00,0x00,0xFF,0x01,0x10,0x10,0x10,0xFF,0xF9,0xF9,0xF9,0xFF,0xA2 +,0xFF,0xFF,0xFF,0xFF,0x01,0xF0,0xF0,0xF0,0xFF,0x04,0x04,0x04,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0x02,0xFF,0x00,0x00 +,0x00,0x00,0x9D,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00 +,0xFC,0x82,0x00,0x00,0x00,0xFF,0x00,0x1C,0x1C,0x1C,0xFF,0xA3,0xFF,0xFF,0xFF +,0xFF,0x01,0xF9,0xF9,0xF9,0xFF,0x10,0x10,0x10,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x17,0x01,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xBF,0x83,0x00,0x00,0x00,0xFF,0x00,0xB3,0xB3,0xB3,0xFF,0xA3,0xFF +,0xFF,0xFF,0xFF,0x00,0x3E,0x3E,0x3E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x37,0xFF,0x00,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x54,0x83,0x00,0x00,0x00,0xFF,0x00,0x63,0x63,0x63,0xFF,0xA3,0xFF +,0xFF,0xFF,0xFF,0x00,0xB2,0xB2,0xB2,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xBD,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x69,0x83,0x00,0x00,0x00,0xFF,0x00,0x5D,0x5D,0x5D,0xFF,0xA3,0xFF,0xFF,0xFF +,0xFF,0x00,0x87,0x87,0x87,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x80,0xFF,0x00,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x9C,0x83,0x00,0x00,0x00,0xFF,0x00,0xAA,0xAA,0xAA,0xFF,0xA3,0xFF,0xFF,0xFF +,0xFF,0x00,0x5B,0x5B,0x5B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0x66,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x00 +,0x00,0x00,0xFC,0x82,0x00,0x00,0x00,0xFF,0x01,0x0E,0x0E,0x0E,0xFF,0xF8,0xF8 +,0xF8,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0xD1,0xD1,0xD1,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xCA,0xFF,0x00,0x00,0x00,0x00,0x9D,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xE4,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03 +,0x03,0xFF,0xEF,0xEF,0xEF,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x01,0xF7,0xF7,0xF7 +,0xFF,0x0D,0x0D,0x0D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xFB +,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xBC,0x83,0x00,0x00,0x00,0xFF,0x00,0xB1,0xB1,0xB1,0xFF,0xA3,0xFF +,0xFF,0xFF,0xFF,0x00,0x1B,0x1B,0x1B,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xFE,0x00,0x00,0x00,0x15,0xFF,0x00,0x00,0x00,0x00,0x9B,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x83,0x00,0x00,0x00,0xFF,0x00,0x3A,0x3A +,0x3A,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00,0xAD,0xAD,0xAD,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x81,0x00,0x00,0x00,0x00,0x81,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x83,0x00,0x00,0x00,0xFF,0x00,0x5A,0x5A +,0x5A,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00,0x64,0x64,0x64,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x5D,0xFF,0x00,0x00,0x00,0x00,0x9B,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x83,0x00,0x00,0x00,0xFF,0x00,0x81,0x81 +,0x81,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00,0x56,0x56,0x56,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0x81,0x00,0x00,0x00,0x00,0x81,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7,0xF7,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF +,0x00,0xAD,0xAD,0xAD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA6 +,0xFF,0x00,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBB +,0x83,0x00,0x00,0x00,0xFF,0x00,0xC9,0xC9,0xC9,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF +,0x01,0xF4,0xF4,0xF4,0xFF,0x0A,0x0A,0x0A,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x10,0x81,0x00,0x00,0x00,0x00,0x82,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB9,0x83,0x00,0x00,0x00,0xFF,0x00,0xAE +,0xAE,0xAE,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x05,0x05 +,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xED,0x00,0x00,0x00 +,0x02,0xFF,0x00,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x0A,0x00,0x00,0x00,0xF8,0x82,0x00,0x00,0x00,0xFF,0x01,0x13,0x13,0x13,0xFF +,0xFD,0xFD,0xFD,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0xA8,0xA8,0xA8,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB3,0x82,0x00,0x00,0x00,0x00,0x82 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x58,0x58,0x58,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00,0x40,0x40,0x40,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x39,0xFF,0x00,0x00,0x00,0x00,0x99 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4B,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x59,0x59,0x59,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00,0x51,0x51,0x51,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5C,0x82,0x00,0x00,0x00,0x00,0x82 +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0xFA,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x0B,0x0B,0x0B,0xFF,0xF6,0xF6,0xF6,0xFF,0xA2,0xFF,0xFF +,0xFF,0xFF,0x00,0x8A,0x8A,0x8A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x83,0xFF,0x00,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x93,0x83,0x00,0x00,0x00,0xFF,0x00,0xA0,0xA0,0xA0,0xFF,0xA2,0xFF,0xFF +,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x0D,0x82,0x00,0x00,0x00,0x00 +,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB7,0x83,0x00,0x00,0x00,0xFF +,0x00,0xAB,0xAB,0xAB,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0xD3,0xD3,0xD3,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCC,0xFF,0x00,0x00,0x00,0x00 +,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDB,0x82,0x00,0x00,0x00,0xFF +,0x01,0x01,0x01,0x01,0xFF,0xE7,0xE7,0xE7,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00 +,0xA3,0xA3,0xA3,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAE,0x83 +,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x55,0x55,0x55,0xFF,0xA3,0xFF,0xFF,0xFF,0xFF,0x00 +,0x1D,0x1D,0x1D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x17,0xFF,0x00,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x22,0x83,0x00,0x00,0x00,0xFF,0x00,0x30,0x30,0x30,0xFF,0xA3,0xFF +,0xFF,0xFF,0xFF,0x00,0x4C,0x4C,0x4C,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x57,0x83,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0x10,0x00,0x00,0x00,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01,0x0A,0x0A +,0x0A,0xFF,0xF4,0xF4,0xF4,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x66,0x66,0x66 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5F,0xFF,0x00,0x00,0x00 +,0x00,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6A,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x77,0x77,0x77,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x01,0xEF,0xEF,0xEF +,0xFF,0x06,0x06,0x06,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF5 +,0x00,0x00,0x00,0x0B,0x83,0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xB4,0x83,0x00,0x00,0x00,0xFF,0x00,0xA8,0xA8,0xA8,0xFF,0xA2 +,0xFF,0xFF,0xFF,0xFF,0x00,0xB0,0xB0,0xB0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xA9,0xFF,0x00,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xB2,0x83,0x00,0x00,0x00,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0xA2 +,0xFF,0xFF,0xFF,0xFF,0x00,0x9E,0x9E,0x9E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xA9,0x84,0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x5E,0x83,0x00,0x00,0x00,0xFF,0x00,0x52,0x52,0x52,0xFF,0xA2 +,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3,0xFF,0x06,0x06,0x06,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x03,0xFF,0x00,0x00 +,0x00,0x00,0x95,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00 +,0xF3,0x82,0x00,0x00,0x00,0xFF,0x01,0x0C,0x0C,0x0C,0xFF,0xFA,0xFA,0xFA,0xFF +,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x47,0x47,0x47,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x52,0x84,0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xF8,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x09,0x09,0x09,0xFF,0xF3,0xF3,0xF3,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x43 +,0x43,0x43,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3C,0xFF,0x00 +,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x4E,0x4E,0x4E,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x01,0xEB +,0xEB,0xEB,0xFF,0x04,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xF2,0x00,0x00,0x00,0x08,0x84,0x00,0x00,0x00,0x00,0x85,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xB1,0x83,0x00,0x00,0x00,0xFF,0x00,0xA6,0xA6,0xA6 +,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x8C,0x8C,0x8C,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x85,0xFF,0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x89,0x83,0x00,0x00,0x00,0xFF,0x00,0x96,0x96,0x96 +,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x99,0x99,0x99,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xA4,0x85,0x00,0x00,0x00,0x00,0x85,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x5B,0x83,0x00,0x00,0x00,0xFF,0x00,0x4F,0x4F,0x4F +,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0xD6,0xD6,0xD6,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xCF,0xFF,0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xD1,0x83,0x00,0x00,0x00,0xFF,0x00,0xDE,0xDE,0xDE +,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x42,0x42,0x42,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x4D,0x85,0x00,0x00,0x00,0x00,0x85,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0xF7,0x82,0x00,0x00,0x00,0xFF +,0x01,0x07,0x07,0x07,0xFF,0xF1,0xF1,0xF1,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00 +,0x20,0x20,0x20,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x19,0xFF,0x00,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x1A,0x83,0x00,0x00,0x00,0xFF,0x00,0x25,0x25,0x25,0xFF,0xA2,0xFF +,0xFF,0xFF,0xFF,0x01,0xE8,0xE8,0xE8,0xFF,0x03,0x03,0x03,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x06,0x85,0x00,0x00,0x00 +,0x00,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xA3,0xA3,0xA3,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x69,0x69,0x69 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0xFF,0x00,0x00,0x00 +,0x00,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x94,0x94,0x94 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9F,0x86,0x00,0x00,0x00 +,0x00,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x4D,0x4D,0x4D,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0xB3,0xB3,0xB3 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAB,0xFF,0x00,0x00,0x00 +,0x00,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0x3D,0x3D +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x48,0x86,0x00,0x00,0x00 +,0x00,0x86,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0xF6 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x06,0x06,0x06,0xFF,0xF0,0xF0,0xF0,0xFF,0xA1 +,0xFF,0xFF,0xFF,0xFF,0x01,0xF4,0xF4,0xF4,0xFF,0x07,0x07,0x07,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x04,0xFF,0x00,0x00 +,0x00,0x00,0x91,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00 +,0xED,0x82,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF5,0xF5,0xF5,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x01,0xE4,0xE4,0xE4,0xFF,0x01,0x01,0x01,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x04,0x86,0x00 +,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAB,0x83,0x00 +,0x00,0x00,0xFF,0x00,0xA0,0xA0,0xA0,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x46 +,0x46,0x46,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3E,0xFF,0x00 +,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x44,0x44,0x44,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x8F +,0x8F,0x8F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9A,0x87,0x00 +,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x4A,0x4A,0x4A,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x8F +,0x8F,0x8F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x87,0xFF,0x00 +,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x8C,0x8C,0x8C,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x38 +,0x38,0x38,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x43,0x87,0x00 +,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00 +,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF,0x01,0x05,0x05,0x05,0xFF,0xEE,0xEE,0xEE +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xD9,0xD9,0xD9,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xD1,0xFF,0x00,0x00,0x00,0x00,0x91,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xC8,0x83,0x00,0x00,0x00,0xFF,0x00,0xD4,0xD4,0xD4 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xE0,0xE0,0xE0,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xE9,0x00,0x00,0x00,0x03,0x87,0x00,0x00,0x00,0x00 +,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA9,0x83,0x00,0x00,0x00,0xFF +,0x00,0x9D,0x9D,0x9D,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x22,0x22,0x22,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x1B,0xFF,0x00,0x00,0x00,0x00 +,0x8F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0xFD,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x1C,0x1C,0x1C,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00 +,0x8A,0x8A,0x8A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x95,0x88 +,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x47,0x47,0x47,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00 +,0x6C,0x6C,0x6C,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x64,0xFF +,0x00,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x63,0x63,0x63,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00 +,0x33,0x33,0x33,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3E,0x88 +,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x09,0x00 +,0x00,0x00,0xF3,0x82,0x00,0x00,0x00,0xFF,0x01,0x04,0x04,0x04,0xFF,0xEC,0xEC +,0xEC,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xAD,0xFF,0x00,0x00,0x00,0x00,0x8F,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x83,0x00,0x00,0x00,0xFF,0x00,0xAB,0xAB +,0xAB,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xDB,0xDB,0xDB,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xE5,0x00,0x00,0x00,0x02,0x88,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x9B,0x9B,0x9B,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6 +,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1 +,0x00,0x00,0x00,0x05,0xFF,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xE6,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEF +,0xEF,0xEF,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x85,0x85,0x85,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x90,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x83,0x00,0x00,0x00,0xFF,0x00,0x44 +,0x44,0x44,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x48,0x48,0x48,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x40,0xFF,0x00,0x00,0x00,0x00,0x8D,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x83,0x00,0x00,0x00,0xFF,0x00,0x3A +,0x3A,0x3A,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x2E,0x2E,0x2E,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x39,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF1,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEA,0xEA,0xEA,0xFF,0xA1,0xFF,0xFF,0xFF +,0xFF,0x00,0x92,0x92,0x92,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x8A,0xFF,0x00,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x76,0x83,0x00,0x00,0x00,0xFF,0x00,0x82,0x82,0x82,0xFF,0xA1,0xFF,0xFF,0xFF +,0xFF,0x00,0xD7,0xD7,0xD7,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE1,0x00,0x00,0x00,0x01,0x89,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xA3,0x83,0x00,0x00,0x00,0xFF,0x00,0x98,0x98,0x98,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xDB,0xDB,0xDB,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xD3,0xFF,0x00,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xBE,0x83,0x00,0x00,0x00,0xFF,0x00,0xC9,0xC9,0xC9,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x80,0x80,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x8B,0x8A,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x4D,0x83,0x00,0x00,0x00,0xFF,0x00,0x42,0x42,0x42,0xFF +,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x25,0x25,0x25,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x1D,0xFF,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x13,0x13,0x13,0xFF,0xFD,0xFD,0xFD,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x29 +,0x29,0x29,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x34,0x8A,0x00 +,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00 +,0x00,0xF0,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xE8,0xE8,0xE8 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x6E,0x6E,0x6E,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x66,0xFF,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x4E,0x83,0x00,0x00,0x00,0xFF,0x00,0x59,0x59,0x59 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xD2,0xD2,0xD2,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xDD,0x8B,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xA0,0x83,0x00,0x00,0x00,0xFF,0x00,0x95,0x95,0x95 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xB8,0xB8,0xB8,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB0,0xFF,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x95,0x83,0x00,0x00,0x00,0xFF,0x00,0xA0,0xA0,0xA0 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x7B,0x7B,0x7B,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x86,0x8B,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x4A,0x83,0x00,0x00,0x00,0xFF,0x00,0x3F,0x3F,0x3F +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x01,0xF7,0xF7,0xF7,0xFF,0x0A,0x0A,0x0A,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF3,0x00,0x00,0x00,0x06,0xFF +,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDD,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE7,0xE7,0xE7,0xFF,0xA1,0xFF +,0xFF,0xFF,0xFF,0x00,0x24,0x24,0x24,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x2F,0x8B,0x00,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0x05,0x00,0x00,0x00,0xEE,0x82,0x00,0x00,0x00,0xFF,0x01,0x02,0x02 +,0x02,0xFF,0xE6,0xE6,0xE6,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x4B,0x4B,0x4B +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x43,0xFF,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x25,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x30,0x30,0x30,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xCD,0xCD,0xCD +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD8,0x8C,0x00,0x00,0x00 +,0x00,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9E,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x92,0x92,0x92,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x94,0x94,0x94 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0xFF,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x77,0x77,0x77,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x76,0x76,0x76 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x81,0x8C,0x00,0x00,0x00 +,0x00,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x3C,0x3C,0x3C,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xDE,0xDE,0xDE +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD6,0xFF,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB5,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x20,0x20,0x20 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2A,0x8C,0x00,0x00,0x00 +,0x00,0x8C,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xEC +,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE4,0xE4,0xE4,0xFF,0xA1 +,0xFF,0xFF,0xFF,0xFF,0x00,0x27,0x27,0x27,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x1F,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x94 +,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x00,0x48,0xB7,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF5,0x82,0x00,0x00,0x00,0xFF,0x01,0x0C +,0x0C,0x0C,0xFF,0xFA,0xFA,0xFA,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xC8,0xC8 +,0xC8,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD3,0x8D,0x00,0x00 +,0x00,0x00,0x8D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9B,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x90,0x90,0x90,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x71,0x71 +,0x71,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x69,0xB7,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0xFD,0x94,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x05,0xB6,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x44,0x83,0x00,0x00,0x00,0xFF,0x00,0x4E,0x4E,0x4E,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x71,0x71,0x71,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x7C,0x8D,0x00,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x44,0x83,0x00,0x00,0x00,0xFF,0x00,0x39,0x39,0x39,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xBA,0xBA,0xBA,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB2,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73 +,0x96,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4B,0xB6,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x8C,0x83,0x00,0x00,0x00,0xFF,0x00,0x96,0x96,0x96,0xFF +,0xA0,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1B,0x1B,0x1B,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x26,0x8D,0x00,0x00,0x00,0x00,0x8D +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xEA,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE2,0xE2,0xE2,0xFF,0xA0,0xFF,0xFF +,0xFF,0xFF,0x01,0xF8,0xF8,0xF8,0xFF,0x0B,0x0B,0x0B,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x07,0xB6,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xCB,0x96,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA3 +,0xB6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x83,0x00,0x00,0x00,0xFF +,0x00,0xDE,0xDE,0xDE,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xC3,0xC3,0xC3,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF,0x8E,0x00,0x00,0x00,0x00 +,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x83,0x00,0x00,0x00,0xFF +,0x00,0x8D,0x8D,0x8D,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x4D,0x4D,0x4D,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x45,0xB5,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x23,0x97,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2 +,0x00,0x00,0x00,0x08,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x26,0x26,0x26,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00 +,0x6C,0x6C,0x6C,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x78,0x8E +,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x37,0x37,0x37,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00 +,0x97,0x97,0x97,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8F,0xB5 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7A,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x4D,0x4D,0x4D,0xFF,0x8E,0x9F,0x9F,0x9F,0xFF,0x00,0x34,0x34,0x34,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x52,0xB4,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x63,0x83,0x00,0x00,0x00,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0xA0 +,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x18,0x18,0x18,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x21,0x8E,0x00,0x00,0x00,0x00,0x8E,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xE8,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xE0,0xE0,0xE0,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xE0,0xE0 +,0xE0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD8,0xB5,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xD2,0x83,0x00,0x00,0x00,0xFF,0x00,0xC2,0xC2 +,0xC2,0xFF,0x8E,0xFF,0xFF,0xFF,0xFF,0x00,0x9A,0x9A,0x9A,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xAA,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0xA0,0xFF,0xFF +,0xFF,0xFF,0x00,0xBE,0xBE,0xBE,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xCA,0x8F,0x00,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x95,0x83,0x00,0x00,0x00,0xFF,0x00,0x8A,0x8A,0x8A,0xFF,0xA1,0xFF,0xFF +,0xFF,0xFF,0x00,0x2A,0x2A,0x2A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x22,0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x1C,0x1C,0x1C,0xFF,0xFE,0xFE,0xFE,0xFF,0x8E,0xFF,0xFF,0xFF +,0xFF,0x01,0xED,0xED,0xED,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x0C,0xB2,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xEF,0x82,0x00,0x00,0x00,0xFF,0x01,0x07 +,0x07,0x07,0xFF,0xF5,0xF5,0xF5,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x67,0x67 +,0x67,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x73,0x8F,0x00,0x00 +,0x00,0x00,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x34,0x34,0x34,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x73,0x73 +,0x73,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6B,0xB3,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x83,0x00,0x00,0x00,0xFF,0x00,0x72,0x72 +,0x72,0xFF,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0x4A,0x4A,0x4A,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x5A,0xB2,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x3B,0x83,0x00,0x00,0x00,0xFF,0x00,0x44,0x44,0x44,0xFF,0xA0,0xFF,0xFF +,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x14,0x14,0x14,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1D,0x8F,0x00,0x00,0x00,0x00 +,0x8F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE6,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xDD,0xDD,0xDD,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00 +,0xBD,0xBD,0xBD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB4,0xB3 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDA,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xCA,0xCA,0xCA,0xFF,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0xA2,0xA2,0xA2,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB1,0xB2,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x82,0x83,0x00,0x00,0x00,0xFF,0x00,0x8C,0x8C,0x8C,0xFF,0xA0 +,0xFF,0xFF,0xFF,0xFF,0x00,0xB9,0xB9,0xB9,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xC5,0x90,0x00,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x92,0x83,0x00,0x00,0x00,0xFF,0x00,0x87,0x87,0x87,0xFF,0xA0 +,0xFF,0xFF,0xFF,0xFF,0x01,0xF9,0xF9,0xF9,0xFF,0x0C,0x0C,0x0C,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x08,0xB1,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x83,0x00,0x00,0x00,0xFF,0x00,0x22,0x22 +,0x22,0xFF,0x91,0xFF,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x08,0x08,0x08 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x10 +,0xB1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0x83,0x00,0x00,0x00,0xFF +,0x00,0xD4,0xD4,0xD4,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x62,0x62,0x62,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6E,0x90,0x00,0x00,0x00,0x00 +,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x83,0x00,0x00,0x00,0xFF +,0x00,0x31,0x31,0x31,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x50,0x50,0x50,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x47,0xB1,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x89,0x83,0x00,0x00,0x00,0xFF,0x00,0x7A,0x7A,0x7A,0xFF +,0x92,0xFF,0xFF,0xFF,0xFF,0x00,0x52,0x52,0x52,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x61,0xB0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x14 +,0x00,0x00,0x00,0xFD,0x82,0x00,0x00,0x00,0xFF,0x00,0x1C,0x1C,0x1C,0xFF,0xA0 +,0xFF,0xFF,0xFF,0xFF,0x01,0xFA,0xFA,0xFA,0xFF,0x11,0x11,0x11,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x19,0x90,0x00,0x00 +,0x00,0x00,0x90,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0xE4,0x83,0x00,0x00,0x00,0xFF,0x00,0xDB,0xDB,0xDB,0xFF,0xA0,0xFF,0xFF,0xFF +,0xFF,0x00,0x99,0x99,0x99,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x91,0xB0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE0 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xD2,0xD2,0xD2,0xFF,0x92,0xFF,0xFF,0xFF,0xFF +,0x00,0xAA,0xAA,0xAA,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB9 +,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x83,0x00,0x00,0x00,0xFF +,0x00,0x63,0x63,0x63,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xB4,0xB4,0xB4,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC0,0x91,0x00,0x00,0x00,0x00 +,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x83,0x00,0x00,0x00,0xFF +,0x00,0x85,0x85,0x85,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xE2,0xE2,0xE2,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDA,0xB0,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x39,0x83,0x00,0x00,0x00,0xFF,0x00,0x2A,0x2A,0x2A,0xFF +,0x93,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6,0xFF,0x0C,0x0C,0x0C,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x15,0xAF,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x83,0x00,0x00,0x00,0xFF,0x00,0xAB +,0xAB,0xAB,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x5D,0x5D,0x5D,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x69,0x91,0x00,0x00,0x00,0x00,0x91,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x39,0x83,0x00,0x00,0x00,0xFF,0x00,0x2E +,0x2E,0x2E,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0x2C,0x2C,0x2C,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x24,0xAF,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x91,0x83,0x00,0x00,0x00,0xFF,0x00,0x81,0x81,0x81,0xFF,0x94,0xFF +,0xFF,0xFF,0xFF,0x00,0x59,0x59,0x59,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x68,0xAE,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0xE8,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEF,0xEF,0xEF +,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xF8,0xF8,0xF8,0xFF,0x0E,0x0E,0x0E,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x15,0x91 +,0x00,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0xE2,0x83,0x00,0x00,0x00,0xFF,0x00,0xD8,0xD8,0xD8,0xFF,0xA0,0xFF +,0xFF,0xFF,0xFF,0x00,0x76,0x76,0x76,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x6D,0xAE,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00 +,0x00,0xE6,0x83,0x00,0x00,0x00,0xFF,0x00,0xD9,0xD9,0xD9,0xFF,0x94,0xFF,0xFF +,0xFF,0xFF,0x00,0xB1,0xB1,0xB1,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xC0,0xAE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x3A,0x3A,0x3A,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xAF,0xAF +,0xAF,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBB,0x92,0x00,0x00 +,0x00,0x00,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8D,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x82,0x82,0x82,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xBF,0xBF +,0xBF,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB7,0xAE,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x83,0x00,0x00,0x00,0xFF,0x00,0x31,0x31 +,0x31,0xFF,0x95,0xFF,0xFF,0xFF,0xFF,0x01,0xF9,0xF9,0xF9,0xFF,0x10,0x10,0x10 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x1A +,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0x83,0x00,0x00,0x00,0xFF +,0x00,0x82,0x82,0x82,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x58,0x58,0x58,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x64,0x92,0x00,0x00,0x00,0x00 +,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x83,0x00,0x00,0x00,0xFF +,0x00,0x2C,0x2C,0x2C,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x01,0xFA,0xFA,0xFA,0xFF +,0x0E,0x0E,0x0E,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF7,0x00 +,0x00,0x00,0x09,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x99,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x89,0x89,0x89,0xFF,0x96,0xFF,0xFF,0xFF,0xFF,0x00,0x61 +,0x61,0x61,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x70,0xAD,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC1,0x83,0x00,0x00,0x00,0xFF,0x00,0xC9 +,0xC9,0xC9,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xF5,0xF5,0xF5,0xFF,0x0B,0x0B +,0x0B,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00 +,0x12,0x92,0x00,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xDF,0x83,0x00,0x00,0x00,0xFF,0x00,0xD5,0xD5,0xD5,0xFF,0xA0,0xFF,0xFF,0xFF +,0xFF,0x00,0x52,0x52,0x52,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x4A,0xAC,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xEC +,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE0,0xE0,0xE0,0xFF,0x96 +,0xFF,0xFF,0xFF,0xFF,0x00,0xB9,0xB9,0xB9,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xC7,0xAC,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0E,0x00 +,0x00,0x00,0xFA,0x82,0x00,0x00,0x00,0xFF,0x01,0x13,0x13,0x13,0xFF,0xFD,0xFD +,0xFD,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xAA,0xAA,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB6,0x93,0x00,0x00,0x00,0x00,0x93,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x83,0x00,0x00,0x00,0xFF,0x00,0x7F,0x7F +,0x7F,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0x9C,0x9C,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x93,0xAC,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x48,0x83,0x00,0x00,0x00,0xFF,0x00,0x39,0x39,0x39,0xFF,0x97,0xFF,0xFF +,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x15,0x15,0x15,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x20,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x50,0x83,0x00,0x00,0x00,0xFF,0x00,0x59,0x59,0x59,0xFF,0xA0,0xFF,0xFF,0xFF +,0xFF,0x00,0x53,0x53,0x53,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x5F,0x93,0x00,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x34,0x83,0x00,0x00,0x00,0xFF,0x00,0x29,0x29,0x29,0xFF,0xA0,0xFF,0xFF,0xFF +,0xFF,0x00,0xE5,0xE5,0xE5,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xDD,0xAC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x91,0x91,0x91,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0x00,0x69,0x69,0x69 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x77,0xAB,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x98,0x83,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1 +,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3,0xFF,0x09,0x09,0x09,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x0F,0x93 +,0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDD,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xD3,0xD3,0xD3,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00 +,0x2F,0x2F,0x2F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x26,0xAA +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF0,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE6,0xE6,0xE6,0xFF,0x98,0xFF,0xFF +,0xFF,0xFF,0x00,0xC1,0xC1,0xC1,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xCF,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE7,0xE7,0xE7,0xFF,0x9F,0xFF,0xFF,0xFF +,0xFF,0x00,0xA5,0xA5,0xA5,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xB1,0x94,0x00,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x87,0x83,0x00,0x00,0x00,0xFF,0x00,0x7C,0x7C,0x7C,0xFF,0xA0,0xFF,0xFF,0xFF +,0xFF,0x00,0x78,0x78,0x78,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x70,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x41,0x41,0x41,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD +,0xFF,0x1B,0x1B,0x1B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x27 +,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x83,0x00,0x00,0x00,0xFF +,0x00,0x30,0x30,0x30,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x4E,0x4E,0x4E,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5A,0x94,0x00,0x00,0x00,0x00 +,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x83,0x00,0x00,0x00,0xFF +,0x00,0x26,0x26,0x26,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xC2,0xC2,0xC2,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB9,0xAA,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xA8,0x83,0x00,0x00,0x00,0xFF,0x00,0x98,0x98,0x98,0xFF +,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0x70,0x70,0x70,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x7E,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6F +,0x83,0x00,0x00,0x00,0xFF,0x00,0x78,0x78,0x78,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF +,0x01,0xF0,0xF0,0xF0,0xFF,0x06,0x06,0x06,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x0C,0x94,0x00,0x00,0x00,0x00,0x95,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDA,0x83,0x00,0x00,0x00,0xFF,0x00,0xD0 +,0xD0,0xD0,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x10,0x10 +,0x10,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00 +,0x0A,0xA8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xF4 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x04,0x04,0x04,0xFF,0xEC,0xEC,0xEC,0xFF,0x9A +,0xFF,0xFF,0xFF,0xFF,0x00,0xC8,0xC8,0xC8,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xD6,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB7,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00 +,0xA0,0xA0,0xA0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAC,0x95 +,0x00,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x7A,0x7A,0x7A,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00 +,0x55,0x55,0x55,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4C,0xA8 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x48,0x48,0x48,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x21,0x21,0x21,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2E,0xA7,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xF6,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D +,0x0D,0x0D,0xFF,0xFA,0xFA,0xFA,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x49,0x49 +,0x49,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x55,0x95,0x00,0x00 +,0x00,0x00,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x24,0x24,0x24,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x9E,0x9E +,0x9E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x96,0xA8,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xAF,0x83,0x00,0x00,0x00,0xFF,0x00,0xA0,0xA0 +,0xA0,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x78,0x78,0x78,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x86,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x47,0x83,0x00,0x00,0x00,0xFF,0x00,0x4F,0x4F,0x4F,0xFF,0x9F,0xFF,0xFF +,0xFF,0xFF,0x01,0xED,0xED,0xED,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x0A,0x95,0x00,0x00,0x00,0x00 +,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0x83,0x00,0x00,0x00,0xFF +,0x00,0xCD,0xCD,0xCD,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xE7,0xE7,0xE7,0xFF +,0x01,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDF,0xA7 +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0xF8,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF0,0xF0,0xF0,0xFF,0x9C,0xFF,0xFF +,0xFF,0xFF,0x00,0xD0,0xD0,0xD0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xDD,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8F,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x96,0x96,0x96,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x9B,0x9B +,0x9B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA7,0x96,0x00,0x00 +,0x00,0x00,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x77,0x77,0x77,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x31,0x31 +,0x31,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x29,0xA6,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x83,0x00,0x00,0x00,0xFF,0x00,0x50,0x50 +,0x50,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x28,0x28,0x28,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x35,0xA6,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xD6,0x83,0x00,0x00,0x00,0xFF,0x00,0xDE,0xDE,0xDE,0xFF,0x9F,0xFF,0xFF +,0xFF,0xFF,0x00,0x44,0x44,0x44,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x50,0x96,0x00,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x2B,0x83,0x00,0x00,0x00,0xFF,0x00,0x21,0x21,0x21,0xFF,0xA0,0xFF,0xFF +,0xFF,0xFF,0x00,0x7B,0x7B,0x7B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x72,0xA6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB7,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xA8,0xA8,0xA8,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x80 +,0x80,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8D,0xA5,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x83,0x00,0x00,0x00,0xFF,0x00,0x26,0x26 +,0x26,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xE9,0xE9,0xE9,0xFF,0x03,0x03,0x03 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x07 +,0x96,0x00,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xCA,0xCA,0xCA,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF +,0x00,0xC4,0xC4,0xC4,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBC +,0xA5,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0xFB,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x0B,0x0B,0x0B,0xFF,0xF5,0xF5,0xF5,0xFF,0x9E,0xFF +,0xFF,0xFF,0xFF,0x00,0xD8,0xD8,0xD8,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xE3,0x00,0x00,0x00,0x01,0xA4,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x66,0x83,0x00,0x00,0x00,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0x9F,0xFF,0xFF +,0xFF,0xFF,0x00,0x96,0x96,0x96,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xA2,0x97,0x00,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x7F,0x83,0x00,0x00,0x00,0xFF,0x00,0x74,0x74,0x74,0xFF,0x9F,0xFF,0xFF +,0xFF,0xFF,0x01,0xFC,0xFC,0xFC,0xFF,0x11,0x11,0x11,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x0C,0xA4,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x66,0x83,0x00,0x00,0x00,0xFF,0x00,0x58,0x58,0x58,0xFF +,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x30,0x30,0x30,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x3D,0xA4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE +,0x83,0x00,0x00,0x00,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF +,0x00,0x3F,0x3F,0x3F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4B +,0x97,0x00,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x1F,0x1F,0x1F,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF +,0x00,0x57,0x57,0x57,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4F +,0xA4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBE,0x83,0x00,0x00,0x00,0xFF +,0x00,0xAF,0xAF,0xAF,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x87,0x87,0x87,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x94,0xA3,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF1,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x07,0x07,0x07,0xFF,0xF5,0xF5,0xF5,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xE5 +,0xE5,0xE5,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xEE,0x00,0x00,0x00,0x05,0x97,0x00,0x00,0x00,0x00,0x98,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xD2,0x83,0x00,0x00,0x00,0xFF,0x00,0xC8,0xC8,0xC8 +,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x98,0xA3,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x19,0x00,0x00,0x00,0xFD,0x82,0x00,0x00,0x00,0xFF,0x01,0x0F,0x0F,0x0F,0xFF +,0xF8,0xF8,0xF8,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0xDF,0xDF,0xDF,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE9,0x00,0x00,0x00,0x03,0xA2,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0x83,0x00,0x00,0x00,0xFF,0x00,0x44 +,0x44,0x44,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x91,0x91,0x91,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0x98,0x00,0x00,0x00,0x00,0x98,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x83,0x00,0x00,0x00,0xFF,0x00,0x71 +,0x71,0x71,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xE9,0xE9,0xE9,0xFF,0x01,0x01 +,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE1,0xA3,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x83,0x00,0x00,0x00,0xFF,0x00,0x5F,0x5F +,0x5F,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x37,0x37,0x37,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x44,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x85,0x83,0x00,0x00,0x00,0xFF,0x00,0x8C,0x8C,0x8C,0xFF,0x9F,0xFF,0xFF +,0xFF,0xFF,0x00,0x3A,0x3A,0x3A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x46,0x98,0x00,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x26,0x83,0x00,0x00,0x00,0xFF,0x01,0x1D,0x1D,0x1D,0xFF,0xFE,0xFE,0xFE +,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x34,0x34,0x34,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x2B,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xC6,0x83,0x00,0x00,0x00,0xFF,0x00,0xB7,0xB7,0xB7,0xFF,0xA2,0xFF,0xFF,0xFF +,0xFF,0x00,0x8F,0x8F,0x8F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x9C,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xD4,0xD4,0xD4,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xE1,0xE1,0xE1 +,0xFF,0x01,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEB +,0x00,0x00,0x00,0x04,0x98,0x00,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF,0x00,0xC5,0xC5,0xC5,0xFF,0x9F +,0xFF,0xFF,0xFF,0xFF,0x00,0x7E,0x7E,0x7E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x74,0xA1,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1F,0x00 +,0x00,0x00,0xFE,0x82,0x00,0x00,0x00,0xFF,0x01,0x14,0x14,0x14,0xFF,0xFB,0xFB +,0xFB,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x01,0xE5,0xE5,0xE5,0xFF,0x02,0x02,0x02 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x05 +,0xA0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0xFE,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x1C,0x1C,0x1C,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00 +,0x8C,0x8C,0x8C,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x98,0x99 +,0x00,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x6F,0x6F,0x6F,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00 +,0xC7,0xC7,0xC7,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBE,0xA1 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x75,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x67,0x67,0x67,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x00,0x3F,0x3F,0x3F,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4B,0xA0,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x5C,0x83,0x00,0x00,0x00,0xFF,0x00,0x63,0x63,0x63,0xFF,0x9F +,0xFF,0xFF,0xFF,0xFF,0x00,0x35,0x35,0x35,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x41,0x99,0x00,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x23,0x83,0x00,0x00,0x00,0xFF,0x01,0x1A,0x1A,0x1A,0xFF,0xFE +,0xFE,0xFE,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x13,0x13 +,0x13,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00 +,0x0D,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x00,0x97,0x97,0x97 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA3,0xA0,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xA4,0x83,0x00,0x00,0x00,0xFF,0x00,0xAB,0xAB,0xAB +,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xDD,0xDD,0xDD,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x02,0x99,0x00,0x00,0x00,0x00 +,0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0x83,0x00,0x00,0x00,0xFF +,0x00,0xC2,0xC2,0xC2,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x5A,0x5A,0x5A,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x51,0x9F,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x25,0x83,0x00,0x00,0x00,0xFF,0x01,0x19,0x19,0x19,0xFF +,0xFD,0xFD,0xFD,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x01,0xEA,0xEA,0xEA,0xFF,0x04 +,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2,0x00,0x00 +,0x00,0x08,0x9E,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0xEA,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEF,0xEF,0xEF,0xFF +,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x87,0x87,0x87,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x93,0x9A,0x00,0x00,0x00,0x00,0x9A,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x76,0x83,0x00,0x00,0x00,0xFF,0x00,0x6C,0x6C,0x6C,0xFF +,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0xA4,0xA4,0xA4,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x9A,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D +,0x83,0x00,0x00,0x00,0xFF,0x00,0x6F,0x6F,0x6F,0xFF,0xA6,0xFF,0xFF,0xFF,0xFF +,0x00,0x47,0x47,0x47,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x53 +,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x83,0x00,0x00,0x00,0xFF +,0x00,0x3A,0x3A,0x3A,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x30,0x30,0x30,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3C,0x9A,0x00,0x00,0x00,0x00 +,0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x83,0x00,0x00,0x00,0xFF +,0x01,0x18,0x18,0x18,0xFF,0xFD,0xFD,0xFD,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01 +,0xEB,0xEB,0xEB,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xE3,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5,0x83,0x00 +,0x00,0x00,0xFF,0x00,0xC6,0xC6,0xC6,0xFF,0xA6,0xFF,0xFF,0xFF,0xFF,0x00,0x9E +,0x9E,0x9E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAA,0x9E,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x83,0x00,0x00,0x00,0xFF,0x00,0x82 +,0x82,0x82,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xD9,0xD9,0xD9,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0x01,0x9A,0x00,0x00 +,0x00,0x00,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x37,0x37 +,0x37,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2D,0x9D,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x83,0x00,0x00,0x00,0xFF,0x00,0x1F,0x1F +,0x1F,0xFF,0xA7,0xFF,0xFF,0xFF,0xFF,0x01,0xEF,0xEF,0xEF,0xFF,0x06,0x06,0x06 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x0C +,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3,0x83,0x00,0x00,0x00,0xFF +,0x00,0xCA,0xCA,0xCA,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x82,0x82,0x82,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8E,0x9B,0x00,0x00,0x00,0x00 +,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x83,0x00,0x00,0x00,0xFF +,0x00,0x69,0x69,0x69,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x80,0x80,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x77,0x9D,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x84,0x83,0x00,0x00,0x00,0xFF,0x00,0x76,0x76,0x76,0xFF +,0xA8,0xFF,0xFF,0xFF,0xFF,0x00,0x4E,0x4E,0x4E,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x5A,0x9C,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F +,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF,0x01,0x14,0x14,0x14,0xFF,0xFD +,0xFD,0xFD,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x2B,0x2B,0x2B,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x37,0x9B,0x00,0x00,0x00,0x00,0x9B,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xFE,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x16,0x16,0x16,0xFF,0xFC,0xFC,0xFC,0xFF,0x9E,0xFF,0xFF,0xFF +,0xFF,0x00,0xCA,0xCA,0xCA,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xC0,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xCE,0xCE,0xCE,0xFF,0xA8,0xFF,0xFF,0xFF,0xFF,0x00,0xA6,0xA6,0xA6 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB2,0x9C,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x53,0x83,0x00,0x00,0x00,0xFF,0x00,0x59,0x59,0x59 +,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xD4,0xD4,0xD4,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xDF,0x9C,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xC7,0x83,0x00,0x00,0x00,0xFF,0x00,0xBD,0xBD,0xBD +,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x15,0x15,0x15,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x0F,0x9B +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x26,0x26,0x26,0xFF,0xA9,0xFF,0xFF,0xFF,0xFF,0x01,0xF4,0xF4,0xF4,0xFF,0x0A +,0x0A,0x0A,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00 +,0x00,0x10,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9B,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x7D,0x7D +,0x7D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x89,0x9C,0x00,0x00 +,0x00,0x00,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x66,0x66,0x66,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x5D,0x5D +,0x5D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x53,0x9B,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x83,0x00,0x00,0x00,0xFF,0x00,0x7E,0x7E +,0x7E,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x00,0x56,0x56,0x56,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xE2,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE7,0xE7,0xE7 +,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x26,0x26,0x26,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x32,0x9C,0x00,0x00,0x00,0x00,0x9C,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xFE,0x82,0x00,0x00,0x00,0xFF +,0x01,0x14,0x14,0x14,0xFF,0xFB,0xFB,0xFB,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00 +,0xA6,0xA6,0xA6,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0x9A +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE2,0x83,0x00 +,0x00,0x00,0xFF,0x00,0xD6,0xD6,0xD6,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x00,0xAE +,0xAE,0xAE,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB9,0x9A,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x83,0x00,0x00,0x00,0xFF,0x00,0x30 +,0x30,0x30,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xCF,0xCF,0xCF,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDB,0x9D,0x00,0x00,0x00,0x00,0x9D,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x83,0x00,0x00,0x00,0xFF,0x00,0xBA +,0xBA,0xBA,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xED,0xED,0xED,0xFF,0x02,0x02 +,0x02,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE5,0x9A,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x83,0x00,0x00,0x00,0xFF,0x00,0x2E,0x2E +,0x2E,0xFF,0xAB,0xFF,0xFF,0xFF,0xFF,0x01,0xF7,0xF7,0xF7,0xFF,0x0E,0x0E,0x0E +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x15 +,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x72,0x83,0x00,0x00,0x00,0xFF +,0x00,0x78,0x78,0x78,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x78,0x78,0x78,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x84,0x9D,0x00,0x00,0x00,0x00 +,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x83,0x00,0x00,0x00,0xFF +,0x00,0x64,0x64,0x64,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0x39,0x39,0x39,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x30,0x99,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x93,0x83,0x00,0x00,0x00,0xFF,0x00,0x86,0x86,0x86,0xFF +,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0x5E,0x5E,0x5E,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x69,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBA +,0x83,0x00,0x00,0x00,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF +,0x00,0x21,0x21,0x21,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2D +,0x9D,0x00,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1A +,0x00,0x00,0x00,0xFD,0x82,0x00,0x00,0x00,0xFF,0x01,0x12,0x12,0x12,0xFF,0xFB +,0xFB,0xFB,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x83,0x83,0x83,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x79,0x98,0x00,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0x03,0x00,0x00,0x00,0xE8,0x83,0x00,0x00,0x00,0xFF,0x00,0xDD,0xDD +,0xDD,0xFF,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xC0,0x98,0x00,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x0A,0x00,0x00,0x00,0xF8,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D +,0xFF,0xFA,0xFA,0xFA,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xCA,0xCA,0xCA,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD6,0x9E,0x00,0x00,0x00,0x00 +,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC1,0x83,0x00,0x00,0x00,0xFF +,0x00,0xB7,0xB7,0xB7,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xCC,0xCC,0xCC,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC3,0x98,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x43,0x83,0x00,0x00,0x00,0xFF,0x00,0x35,0x35,0x35,0xFF +,0xAD,0xFF,0xFF,0xFF,0xFF,0x01,0xFA,0xFA,0xFA,0xFF,0x12,0x12,0x12,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x1A,0x97,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4A,0x83,0x00,0x00,0x00,0xFF,0x00,0x4F +,0x4F,0x4F,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x73,0x73,0x73,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7F,0x9E,0x00,0x00,0x00,0x00,0x9E,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x83,0x00,0x00,0x00,0xFF,0x00,0x61 +,0x61,0x61,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x17,0x17 +,0x17,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00 +,0x10,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9B,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x8D,0x8D,0x8D,0xFF,0xAE,0xFF,0xFF,0xFF,0xFF,0x00,0x65,0x65,0x65 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x70,0x97,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x91,0x83,0x00,0x00,0x00,0xFF,0x00,0x97,0x97,0x97 +,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1D,0x1D,0x1D,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x29,0x9E,0x00,0x00,0x00,0x00 +,0x9E,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFD,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x11,0x11,0x11,0xFF,0xFA,0xFA,0xFA,0xFF,0x9E,0xFF +,0xFF,0xFF,0xFF,0x00,0x5F,0x5F,0x5F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x56,0x96,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00 +,0x00,0xED,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE3,0xE3,0xE3 +,0xFF,0xAE,0xFF,0xFF,0xFF,0xFF,0x00,0xBD,0xBD,0xBD,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xC8,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xD9,0x83,0x00,0x00,0x00,0xFF,0x00,0xDE,0xDE,0xDE,0xFF,0x9D,0xFF,0xFF,0xFF +,0xFF,0x00,0xC5,0xC5,0xC5,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xD2,0x9F,0x00,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xBF,0x83,0x00,0x00,0x00,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x9E,0xFF,0xFF,0xFF +,0xFF,0x00,0xA9,0xA9,0xA9,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x9F,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4A,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x3D,0x3D,0x3D,0xFF,0xAF,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD +,0xFF,0x18,0x18,0x18,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x20 +,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x83,0x00,0x00,0x00,0xFF +,0x00,0x26,0x26,0x26,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x6E,0x6E,0x6E,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7B,0x9F,0x00,0x00,0x00,0x00 +,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x83,0x00,0x00,0x00,0xFF +,0x00,0x5E,0x5E,0x5E,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x01,0xEE,0xEE,0xEE,0xFF +,0x03,0x03,0x03,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00 +,0x00,0x00,0x01,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x95,0x95,0x95,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0x00,0x6D +,0x6D,0x6D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x77,0x95,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x83,0x00,0x00,0x00,0xFF,0x00,0x6E +,0x6E,0x6E,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x19,0x19 +,0x19,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x24,0x9F,0x00,0x00 +,0x00,0x00,0x9F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x16,0x00,0x00,0x00 +,0xFC,0x82,0x00,0x00,0x00,0xFF,0x01,0x0F,0x0F,0x0F,0xFF,0xF9,0xF9,0xF9,0xFF +,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x3C,0x3C,0x3C,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x32,0x94,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08 +,0x00,0x00,0x00,0xF2,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xE9 +,0xE9,0xE9,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0x00,0xC5,0xC5,0xC5,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF,0x95,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xB0,0x83,0x00,0x00,0x00,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x9D,0xFF +,0xFF,0xFF,0xFF,0x00,0xC0,0xC0,0xC0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xCD,0xA0,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xBC,0x83,0x00,0x00,0x00,0xFF,0x00,0xB2,0xB2,0xB2,0xFF,0x9E,0xFF +,0xFF,0xFF,0xFF,0x00,0x85,0x85,0x85,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x7C,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x45,0x45,0x45,0xFF,0xB1,0xFF,0xFF,0xFF,0xFF,0x01,0xFE +,0xFE,0xFE,0xFF,0x1E,0x1E,0x1E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x27,0x93,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00 +,0xF3,0x82,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF5,0xF5,0xF5,0xFF +,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x69,0x69,0x69,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x76,0xA0,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x66,0x83,0x00,0x00,0x00,0xFF,0x00,0x5C,0x5C,0x5C,0xFF +,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xCF,0xCF,0xCF,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC5,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAA +,0x83,0x00,0x00,0x00,0xFF,0x00,0x9D,0x9D,0x9D,0xFF,0xB2,0xFF,0xFF,0xFF,0xFF +,0x00,0x75,0x75,0x75,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7F +,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x83,0x00,0x00,0x00,0xFF +,0x00,0x45,0x45,0x45,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xFC,0xFC,0xFC,0xFF +,0x15,0x15,0x15,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x20,0xA0 +,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x14,0x00 +,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7 +,0xF7,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x19,0x19,0x19,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x12,0x92,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xF6,0x82,0x00,0x00,0x00,0xFF +,0x01,0x06,0x06,0x06,0xFF,0xEE,0xEE,0xEE,0xFF,0xB2,0xFF,0xFF,0xFF,0xFF,0x00 +,0xCC,0xCC,0xCC,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD6,0x93 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x8C,0x8C,0x8C,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xBB,0xBB,0xBB,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC8,0xA1,0x00,0x00,0x00,0x00,0xA1 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB9,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xAF,0xAF,0xAF,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x62,0x62,0x62,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x58,0x92,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x59,0x83,0x00,0x00,0x00,0xFF,0x00,0x4C,0x4C,0x4C,0xFF,0xB4 +,0xFF,0xFF,0xFF,0xFF,0x00,0x25,0x25,0x25,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x2E,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xD4,0xD4,0xD4,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00 +,0x64,0x64,0x64,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x71,0xA1 +,0x00,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x59,0x59,0x59,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00 +,0xAB,0xAB,0xAB,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA2,0x92 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB1,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xA4,0xA4,0xA4,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF,0x00,0x7C,0x7C,0x7C,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x86,0x91,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFE,0x82,0x00,0x00,0x00,0xFF,0x00,0x1C +,0x1C,0x1C,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xFA,0xFA,0xFA,0xFF,0x12,0x12 +,0x12,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x1B,0xA1,0x00,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x12,0x00,0x00,0x00,0xFA,0x82,0x00,0x00,0x00,0xFF,0x01,0x0C,0x0C,0x0C,0xFF +,0xF6,0xF6,0xF6,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xF0,0xF0,0xF0,0xFF,0x04 +,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE9,0x00,0x00 +,0x00,0x01,0x90,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00 +,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01,0x09,0x09,0x09,0xFF,0xF3,0xF3,0xF3,0xFF +,0xB4,0xFF,0xFF,0xFF,0xFF,0x00,0xD4,0xD4,0xD4,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xDD,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F +,0x83,0x00,0x00,0x00,0xFF,0x00,0x63,0x63,0x63,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF +,0x00,0xB6,0xB6,0xB6,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC3 +,0xA2,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB6 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xAC,0xAC,0xAC,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF +,0x00,0x3E,0x3E,0x3E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x34 +,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x83,0x00,0x00,0x00,0xFF +,0x00,0x54,0x54,0x54,0xFF,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0x2C,0x2C,0x2C,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x36,0x90,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xA7,0x83,0x00,0x00,0x00,0xFF,0x00,0xAB,0xAB,0xAB,0xFF +,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x5F,0x5F,0x5F,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x6C,0xA2,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x60,0x83,0x00,0x00,0x00,0xFF,0x00,0x56,0x56,0x56,0xFF +,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x88,0x88,0x88,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x7E,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB9 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xAC,0xAC,0xAC,0xFF,0xB6,0xFF,0xFF,0xFF,0xFF +,0x00,0x84,0x84,0x84,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8D +,0x8F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xEC,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEF,0xEF,0xEF,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x01,0xF8,0xF8,0xF8,0xFF,0x0F,0x0F,0x0F,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x18,0xA2,0x00,0x00,0x00 +,0x00,0xA2,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xF9 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x0A,0x0A,0x0A,0xFF,0xF5,0xF5,0xF5,0xFF,0x9D +,0xFF,0xFF,0xFF,0xFF,0x00,0xD1,0xD1,0xD1,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xC7,0x8F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00 +,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7 +,0xF7,0xFF,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0xDB,0xDB,0xDB,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xE3,0x00,0x00,0x00,0x01,0x8E,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x37,0x83,0x00,0x00,0x00,0xFF,0x00,0x3A,0x3A,0x3A +,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xB1,0xB1,0xB1,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xBE,0xA3,0x00,0x00,0x00,0x00,0xA3,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xB4,0x83,0x00,0x00,0x00,0xFF,0x00,0xAA,0xAA,0xAA +,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x1B,0x1B,0x1B,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x13,0x8E,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x69,0x83,0x00,0x00,0x00,0xFF,0x00,0x5C,0x5C,0x5C,0xFF +,0xB8,0xFF,0xFF,0xFF,0xFF,0x00,0x34,0x34,0x34,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x3D,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E +,0x83,0x00,0x00,0x00,0xFF,0x00,0x82,0x82,0x82,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF +,0x00,0x5A,0x5A,0x5A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x67 +,0xA3,0x00,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D +,0x83,0x00,0x00,0x00,0xFF,0x00,0x53,0x53,0x53,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF +,0x00,0x64,0x64,0x64,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5A +,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x83,0x00,0x00,0x00,0xFF +,0x00,0xB4,0xB4,0xB4,0xFF,0xB8,0xFF,0xFF,0xFF,0xFF,0x00,0x8C,0x8C,0x8C,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x95,0x8E,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xC6,0x83,0x00,0x00,0x00,0xFF,0x00,0xCA,0xCA,0xCA,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6,0xFF,0x0C,0x0C,0x0C,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x14,0xA3,0x00 +,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0E,0x00,0x00 +,0x00,0xF8,0x82,0x00,0x00,0x00,0xFF,0x01,0x09,0x09,0x09,0xFF,0xF3,0xF3,0xF3 +,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xAE,0xAE,0xAE,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xA4,0x8D,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x1A,0x00,0x00,0x00,0xFD,0x82,0x00,0x00,0x00,0xFF,0x01,0x11,0x11,0x11,0xFF +,0xFA,0xFA,0xFA,0xFF,0xB8,0xFF,0xFF,0xFF,0xFF,0x01,0xE2,0xE2,0xE2,0xFF,0x01 +,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE9,0x00,0x00 +,0x00,0x03,0x8C,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00 +,0xFC,0x82,0x00,0x00,0x00,0xFF,0x01,0x14,0x14,0x14,0xFF,0xFD,0xFD,0xFD,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xAC,0xAC,0xAC,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB9,0xA4,0x00,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xB1,0x83,0x00,0x00,0x00,0xFF,0x00,0xA7,0xA7,0xA7,0xFF +,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x05,0x05,0x05,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0x02,0x8C,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x83,0x00,0x00,0x00,0xFF,0x00,0x63 +,0x63,0x63,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xE8,0xE8,0xE8,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0x3B,0x3B,0x3B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x44,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x56,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x59,0x59,0x59,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x55 +,0x55,0x55,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x62,0xA4,0x00 +,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x51,0x51,0x51,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x41 +,0x41,0x41,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x37,0x8C,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x83,0x00,0x00,0x00,0xFF,0x00,0xBB +,0xBB,0xBB,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xF8,0xF8,0xF8,0xFF,0x58,0x58 +,0x58,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x93,0x93,0x93,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x9C,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x9D,0x83,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x9C,0xFF,0xFF +,0xFF,0xFF,0x01,0xF4,0xF4,0xF4,0xFF,0x09,0x09,0x09,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00,0x11,0xA4,0x00,0x00,0x00,0x00 +,0xA4,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0xF7,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x08,0x08,0x08,0xFF,0xF2,0xF2,0xF2,0xFF,0x9D,0xFF +,0xFF,0xFF,0xFF,0x00,0x8A,0x8A,0x8A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x80,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x16,0x16,0x16,0xFF,0xFC,0xFC,0xFC,0xFF,0x9B,0xFF,0xFF +,0xFF,0xFF,0x02,0xAF,0xAF,0xAF,0xFF,0x06,0x06,0x06,0xFF,0xF0,0xF0,0xF0,0xFF +,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xE8,0xE8,0xE8,0xFF,0x03,0x03,0x03,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x05,0x8B,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE5,0x82,0x00,0x00,0x00,0xFF,0x01,0x01 +,0x01,0x01,0xFF,0xE7,0xE7,0xE7,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xA7,0xA7 +,0xA7,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB4,0xA5,0x00,0x00 +,0x00,0x00,0xA5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xA4,0xA4,0xA4,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xD4,0xD4 +,0xD4,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCA,0x8B,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x83,0x00,0x00,0x00,0xFF,0x00,0x6B,0x6B +,0x6B,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x02,0x58,0x58,0x58,0xFF,0x00,0x00,0x00 +,0xFF,0xA4,0xA4,0xA4,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x43,0x43,0x43,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4C,0x8A,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x2D,0x83,0x00,0x00,0x00,0xFF,0x00,0x30,0x30,0x30,0xFF +,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x50,0x50,0x50,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x5D,0xA5,0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x58,0x83,0x00,0x00,0x00,0xFF,0x00,0x4E,0x4E,0x4E,0xFF +,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x1E,0x1E,0x1E,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x15,0x8A,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF,0x00,0xC3,0xC3,0xC3,0xFF,0x9B +,0xFF,0xFF,0xFF,0xFF,0x03,0xF5,0xF5,0xF5,0xFF,0x0B,0x0B,0x0B,0xFF,0x00,0x00 +,0x00,0xFF,0x51,0x51,0x51,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x9B,0x9B,0x9B +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA3,0x8A,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x75,0x83,0x00,0x00,0x00,0xFF,0x00,0x78,0x78,0x78 +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xF1,0xF1,0xF1,0xFF,0x07,0x07,0x07,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x0E,0xA5 +,0x00,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00 +,0x00,0x00,0xF6,0x82,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF0,0xF0 +,0xF0,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x67,0x67,0x67,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x5D,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x27,0x83,0x00,0x00,0x00,0xFF,0x01,0x1C,0x1C,0x1C,0xFF,0xFE,0xFE,0xFE +,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xAA,0xAA,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x09,0x09,0x09,0xFF,0xF4,0xF4,0xF4,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF +,0x01,0xED,0xED,0xED,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0x08,0x89,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xBD,0x83,0x00,0x00,0x00,0xFF,0x00,0xC0,0xC0,0xC0,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0xA2,0xA2,0xA2,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xAF,0xA6,0x00,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x9D,0xFF +,0xFF,0xFF,0xFF,0x00,0xB0,0xB0,0xB0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xA6,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x73,0x73,0x73,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x53 +,0x53,0x53,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0xAB,0xAB,0xAB,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0x4B,0x4B,0x4B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x53,0x88,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00,0x00 +,0x00,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xFA,0xFA,0xFA +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x4A,0x4A,0x4A,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x58,0xA6,0x00,0x00,0x00,0x00,0xA6,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x55,0x83,0x00,0x00,0x00,0xFF,0x00,0x4B,0x4B,0x4B +,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3,0xFF,0x06,0x06,0x06,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xED,0x00,0x00,0x00,0x02,0x88 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xCB,0xCB,0xCB,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3,0xFF,0x09 +,0x09,0x09,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x58,0x58,0x58,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0xA3,0xA3,0xA3,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xAB,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x4F,0x4F,0x4F,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xEE +,0xEE,0xEE,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xF5,0x00,0x00,0x00,0x0B,0xA6,0x00,0x00,0x00,0x00,0xA6,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF +,0x01,0x06,0x06,0x06,0xFF,0xEF,0xEF,0xEF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00 +,0x43,0x43,0x43,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x39,0x87 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x23,0x23,0x23,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xA6,0xA6,0xA6,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x01,0x0C,0x0C,0x0C,0xFF,0xF7,0xF7,0xF7,0xFF,0x9B,0xFF +,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x0C,0x87,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x94,0x83,0x00,0x00,0x00,0xFF,0x00,0x97,0x97,0x97 +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0x9C,0x9C,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xAA,0xA7,0x00,0x00,0x00,0x00,0xA7,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xA8,0x83,0x00,0x00,0x00,0xFF,0x00,0x9F,0x9F,0x9F +,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x8D,0x8D,0x8D,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x83,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x87,0x83,0x00,0x00,0x00,0xFF,0x00,0x7A,0x7A,0x7A,0xFF,0x9C,0xFF,0xFF,0xFF +,0xFF,0x00,0x50,0x50,0x50,0xFF,0x84,0x00,0x00,0x00,0xFF,0x00,0xB1,0xB1,0xB1 +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x52,0x52,0x52,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x5A,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xDC,0x83,0x00,0x00,0x00,0xFF,0x00,0xDE,0xDE,0xDE,0xFF,0x9C,0xFF,0xFF,0xFF +,0xFF,0x00,0x45,0x45,0x45,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x53,0xA7,0x00,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x52,0x83,0x00,0x00,0x00,0xFF,0x00,0x48,0x48,0x48,0xFF,0x9D,0xFF,0xFF,0xFF +,0xFF,0x00,0xD6,0xD6,0xD6,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xCC,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDE,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xD2,0xD2,0xD2,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2 +,0xFF,0x08,0x08,0x08,0xFF,0x84,0x00,0x00,0x00,0xFF,0x00,0x5D,0x5D,0x5D,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xAA,0xAA,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB2,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x26,0x26,0x26,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x01,0xEA,0xEA,0xEA,0xFF,0x04,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF3,0x00,0x00,0x00,0x09,0xA7,0x00,0x00,0x00,0x00,0xA7,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xF3,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x05,0x05,0x05,0xFF,0xED,0xED,0xED,0xFF,0x9D,0xFF,0xFF,0xFF +,0xFF,0x00,0x20,0x20,0x20,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xFE,0x00,0x00,0x00,0x17,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x2A,0x2A,0x2A,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0xA4,0xA4,0xA4,0xFF,0x85,0x00,0x00,0x00,0xFF,0x01,0x10,0x10,0x10,0xFF +,0xF9,0xF9,0xF9,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6,0xFF,0x0C +,0x0C,0x0C,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00 +,0x00,0x10,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x6E,0x6E,0x6E,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x97,0x97 +,0x97,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA5,0xA8,0x00,0x00 +,0x00,0x00,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x9C,0x9C,0x9C,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x69,0x69 +,0x69,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5F,0x85,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x83,0x00,0x00,0x00,0xFF,0x00,0x82,0x82 +,0x82,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x4D,0x4D,0x4D,0xFF,0x86,0x00,0x00 +,0x00,0xFF,0x00,0xB6,0xB6,0xB6,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x5A,0x5A +,0x5A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x62,0x85,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xB3,0x83,0x00,0x00,0x00,0xFF,0x00,0xB5,0xB5 +,0xB5,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x40,0x40,0x40,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x4E,0xA8,0x00,0x00,0x00,0x00,0xA8,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x83,0x00,0x00,0x00,0xFF,0x00,0x46,0x46 +,0x46,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0xB3,0xB3,0xB3,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA9,0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0xE4,0x83,0x00,0x00,0x00,0xFF,0x00,0xDA,0xDA,0xDA +,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xF0,0xF0,0xF0,0xFF,0x06,0x06,0x06,0xFF +,0x86,0x00,0x00,0x00,0xFF,0x00,0x62,0x62,0x62,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0xB2,0xB2,0xB2,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB9 +,0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xF4,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF5,0xF5,0xF5,0xFF,0x9B,0xFF +,0xFF,0xFF,0xFF,0x01,0xE7,0xE7,0xE7,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x07,0xA8,0x00,0x00,0x00 +,0x00,0xA8,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF1 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x04,0x04,0x04,0xFF,0xEB,0xEB,0xEB,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x01,0xF5,0xF5,0xF5,0xFF,0x07,0x07,0x07,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x03,0x83,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x83,0x00,0x00,0x00,0xFF,0x00,0x32,0x32 +,0x32,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x87,0x00,0x00 +,0x00,0xFF,0x01,0x13,0x13,0x13,0xFF,0xFB,0xFB,0xFB,0xFF,0x9B,0xFF,0xFF,0xFF +,0xFF,0x01,0xF9,0xF9,0xF9,0xFF,0x10,0x10,0x10,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x15,0x83,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x43,0x83,0x00,0x00,0x00,0xFF,0x00,0x45,0x45,0x45,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x92,0x92,0x92,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xA0,0xA9,0x00,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xA3,0x83,0x00,0x00,0x00,0xFF,0x00,0x99,0x99,0x99,0xFF,0x9D +,0xFF,0xFF,0xFF,0xFF,0x00,0x46,0x46,0x46,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x3C,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x8A,0x8A,0x8A,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x4B,0x4B,0x4B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF5,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xBB,0xBB,0xBB,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x62,0x62,0x62,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x69,0x83 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x8D,0x8D,0x8D,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x3B,0x3B,0x3B,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x49,0xA9,0x00,0x00,0x00,0x00,0xA9 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x43,0x43,0x43,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x8F,0x8F,0x8F,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x85,0x82,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xEA,0x82,0x00,0x00,0x00,0xFF,0x01,0x01 +,0x01,0x01,0xFF,0xE0,0xE0,0xE0,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xEE,0xEE +,0xEE,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xF4,0x00,0x00,0x00,0x7B,0x83,0x00,0x00,0x00,0xFF,0x00,0x68,0x68,0x68,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xBA,0xBA,0xBA,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC1,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD2 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xD4,0xD4,0xD4,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF +,0x01,0xE3,0xE3,0xE3,0xFF,0x01,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xED,0x00,0x00,0x00,0x05,0xA9,0x00,0x00,0x00,0x00,0xA9,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xF0,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xE9,0xE9,0xE9,0xFF,0x9C,0xFF,0xFF,0xFF +,0xFF,0x00,0xD9,0xD9,0xD9,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xCF,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x45,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x39,0x39,0x39,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x9E,0x9E,0x9E +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xA9,0x00,0x00,0x00,0x1E +,0x83,0x00,0x00,0x00,0xFF,0x01,0x17,0x17,0x17,0xFF,0xFD,0xFD,0xFD,0xFF,0x9B +,0xFF,0xFF,0xFF,0xFF,0x01,0xFC,0xFC,0xFC,0xFF,0x15,0x15,0x15,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x1B,0x81,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x83,0x00,0x00,0x00,0xFF,0x00,0x1C,0x1C +,0x1C,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x8D,0x8D,0x8D,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x9B,0xAA,0x00,0x00,0x00,0x00,0xAA,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x83,0x00,0x00,0x00,0xFF,0x00,0x96,0x96 +,0x96,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x22,0x22,0x22,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x19,0x81,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x9D,0x83,0x00,0x00,0x00,0xFF,0x00,0x91,0x91,0x91 +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x48,0x48,0x48,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x02,0x00,0x00,0x00,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xC0,0xC0,0xC0,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x69,0x69,0x69,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x70,0x81 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x64,0x64,0x64,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x36,0x36,0x36,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x44,0xAA,0x00,0x00,0x00,0x00,0xAA +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4A,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x40,0x40,0x40,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x6C,0x6C,0x6C,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x06,0x00,0x00,0x00,0xEF,0x82,0x00,0x00,0x00,0xFF,0x01,0x02,0x02,0x02 +,0xFF,0xE7,0xE7,0xE7,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xED,0xED,0xED,0xFF +,0x04,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0xF3,0x00 +,0x00,0x00,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xC1,0xC1,0xC1 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC8,0x81,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xAA,0x83,0x00,0x00,0x00,0xFF,0x00,0xAB,0xAB,0xAB +,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xDF,0xDF,0xDF,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xEA,0x00,0x00,0x00,0x03,0xAA,0x00,0x00,0x00,0x00 +,0xAA,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xEE,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE7,0xE7,0xE7,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0xB5,0xB5,0xB5,0xFF,0x83,0x00,0x00,0x00,0xFF,0x02,0x00 +,0x00,0x00,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4D,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x41,0x41,0x41,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x9B,0x9B,0x9B +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA6,0x81,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x23,0x83,0x00,0x00,0x00,0xFF,0x01,0x1B,0x1B,0x1B +,0xFF,0xFE,0xFE,0xFE,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF +,0x1B,0x1B,0x1B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0x21,0x00 +,0x00,0x00,0x03,0x00,0x00,0x00,0xEE,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03 +,0x03,0xFF,0xEF,0xEF,0xEF,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x88,0x88,0x88 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x96,0xAB,0x00,0x00,0x00 +,0x00,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9D,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x94,0x94,0x94,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6 +,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xF0 +,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA5,0x83,0x00,0x00,0x00,0xFF,0x00,0x99 +,0x99,0x99,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x45,0x45,0x45,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x50,0x82,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF,0x00,0xC6,0xC6,0xC6,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0x71,0x71,0x71,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0x78,0x00,0x00,0x00,0x39,0x83,0x00,0x00,0x00,0xFF,0x00,0x3B,0x3B +,0x3B,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x31,0x31,0x31,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x3F,0xAB,0x00,0x00,0x00,0x00,0xAB,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x83,0x00,0x00,0x00,0xFF,0x00,0x3D,0x3D +,0x3D,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x48,0x48,0x48,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0x47,0x00,0x00,0x00,0xF3,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x04,0x04,0x04,0xFF,0xEC,0xEC,0xEC,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF +,0x01,0xEB,0xEB,0xEB,0xFF,0x04,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x07,0x82,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x7B,0x83,0x00,0x00,0x00,0xFF,0x00,0x72,0x72,0x72,0xFF,0x9C,0xFF +,0xFF,0xFF,0xFF,0x00,0xC9,0xC9,0xC9,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xCF,0x00,0x00,0x00,0x81,0x83,0x00,0x00,0x00,0xFF,0x00,0x82,0x82 +,0x82,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xDA,0xDA,0xDA,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xE6,0x00,0x00,0x00,0x02,0xAB,0x00,0x00,0x00 +,0x00,0xAB,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xEC +,0x82,0x00,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE5,0xE5,0xE5,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x92,0x92,0x92,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xD6,0x83,0x00,0x00,0x00,0xFF,0x00,0x49,0x49,0x49,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x98,0x98,0x98,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xA3,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x1F,0x1F,0x1F,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00 +,0x21,0x21,0x21,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE3,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xCA,0xCA,0xCA,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00 +,0x83,0x83,0x83,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x91,0xAC +,0x00,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9A,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x91,0x91,0x91,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00 +,0xDC,0xDC,0xDC,0xFF,0x88,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x42,0x42,0x42,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x4D,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x83 +,0x00,0x00,0x00,0xFF,0x00,0xCB,0xCB,0xCB,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x79,0x79,0x79,0xFF,0x87,0x00,0x00,0x00,0xFF,0x01,0x14,0x14,0x14,0xFF,0xFD +,0xFD,0xFD,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x2C,0x2C,0x2C,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3A,0xAC,0x00,0x00,0x00,0x00,0xAC,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x83,0x00,0x00,0x00,0xFF,0x00,0x3B +,0x3B,0x3B,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x25,0x25,0x25,0xFF,0x86,0x00 +,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF1,0xF1,0xF1,0xFF,0x9B,0xFF,0xFF +,0xFF,0xFF,0x01,0xE9,0xE9,0xE9,0xFF,0x03,0x03,0x03,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x06,0x84,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x81,0x83,0x00,0x00,0x00,0xFF,0x00,0x77,0x77,0x77,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xD1,0xD1,0xD1,0xFF,0x87,0x00,0x00,0x00,0xFF +,0x00,0x59,0x59,0x59,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xD5,0xD5,0xD5,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x01,0xAC +,0x00,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00 +,0x00,0x00,0xEA,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE3,0xE3 +,0xE3,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x6F,0x6F,0x6F,0xFF,0x86,0x00,0x00 +,0x00,0xFF,0x00,0x50,0x50,0x50,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x96,0x96 +,0x96,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA1,0x85,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x83,0x00,0x00,0x00,0xFF,0x00,0x24,0x24 +,0x24,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x28,0x28,0x28,0xFF,0x86,0x00,0x00 +,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x7E,0x7E +,0x7E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0xAD,0x00,0x00 +,0x00,0x00,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x8E,0x8E,0x8E,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xB8,0xB8 +,0xB8,0xFF,0x86,0x00,0x00,0x00,0xFF,0x00,0xA8,0xA8,0xA8,0xFF,0x9C,0xFF,0xFF +,0xFF,0xFF,0x00,0x3F,0x3F,0x3F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x4A,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xD0,0xD0,0xD0,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x80 +,0x80,0xFF,0x85,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE8,0xE8,0xE8 +,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x27,0x27,0x27,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x35,0xAD,0x00,0x00,0x00,0x00,0xAD,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x41,0x83,0x00,0x00,0x00,0xFF,0x00,0x38,0x38,0x38 +,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xF7,0xF7,0xF7,0xFF,0x0A,0x0A,0x0A,0xFF +,0x84,0x00,0x00,0x00,0xFF,0x01,0x0B,0x0B,0x0B,0xFF,0xF5,0xF5,0xF5,0xFF,0x9B +,0xFF,0xFF,0xFF,0xFF,0x01,0xE7,0xE7,0xE7,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x05,0x86,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x83,0x00,0x00,0x00,0xFF,0x00,0x7C,0x7C +,0x7C,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xD8,0xD8,0xD8,0xFF,0x85,0x00,0x00 +,0x00,0xFF,0x00,0x30,0x30,0x30,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xD0,0xD0 +,0xD0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDE,0xAE,0x00,0x00 +,0x00,0x00,0xAD,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00 +,0xE8,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE1,0xE1,0xE1,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x4B,0x4B,0x4B,0xFF,0x84,0x00,0x00,0x00,0xFF +,0x00,0x58,0x58,0x58,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x93,0x93,0x93,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9E,0x87,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x32,0x83,0x00,0x00,0x00,0xFF,0x00,0x29,0x29,0x29,0xFF +,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x30,0x30,0x30,0xFF,0x84,0x00,0x00,0x00,0xFF +,0x00,0x78,0x78,0x78,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x79,0x79,0x79,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x87,0xAE,0x00,0x00,0x00,0x00 +,0xAE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x95,0x83,0x00,0x00,0x00,0xFF +,0x00,0x8B,0x8B,0x8B,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x95,0x95,0x95,0xFF +,0x84,0x00,0x00,0x00,0xFF,0x00,0xB0,0xB0,0xB0,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0x3D,0x3D,0x3D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x48 +,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDE,0x83,0x00,0x00,0x00,0xFF +,0x00,0xD5,0xD5,0xD5,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x88,0x88,0x88,0xFF +,0x84,0x00,0x00,0x00,0xFF,0x00,0xC0,0xC0,0xC0,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF +,0x00,0x23,0x23,0x23,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x30 +,0xAE,0x00,0x00,0x00,0x00,0xAE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F +,0x83,0x00,0x00,0x00,0xFF,0x00,0x35,0x35,0x35,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0xDE,0xDE,0xDE,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x0F,0x0F,0x0F,0xFF +,0xF8,0xF8,0xF8,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xE5,0xE5,0xE5,0xFF,0x01 +,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xED,0x00,0x00 +,0x00,0x04,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x82,0x82,0x82,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xDF,0xDF +,0xDF,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xFA,0xFA,0xFA +,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0xCB,0xCB,0xCB,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xD9,0xAF,0x00,0x00,0x00,0x00,0xAE,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE6,0x83,0x00,0x00,0x00,0xFF +,0x00,0xDE,0xDE,0xDE,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x28,0x28,0x28,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x00,0x60,0x60,0x60,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0x90,0x90,0x90,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9B +,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x83,0x00,0x00,0x00,0xFF +,0x00,0x2E,0x2E,0x2E,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x00,0x38,0x38,0x38,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x00,0x4F,0x4F,0x4F,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF +,0x00,0x74,0x74,0x74,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83 +,0xAF,0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x92 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x89,0x89,0x89,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0x71,0x71,0x71,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0xB8,0xB8,0xB8,0xFF +,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x3A,0x3A,0x3A,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x45,0x89,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0xE3,0x83,0x00,0x00,0x00,0xFF,0x00,0xDA,0xDA,0xDA,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x8F,0x8F,0x8F,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x98,0x98,0x98,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1E +,0x1E,0x1E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2C,0xAF,0x00 +,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x32,0x32,0x32,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xBB +,0xBB,0xBB,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x15,0x15,0x15,0xFF,0xFB,0xFB +,0xFB,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x01,0xE2,0xE2,0xE2,0xFF,0x01,0x01,0x01 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0x04 +,0x8A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x83,0x00,0x00,0x00,0xFF +,0x00,0x87,0x87,0x87,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x01,0xE4,0xE4,0xE4,0xFF +,0x01,0x01,0x01,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0xE1,0xE1,0xE1,0xFF,0x9A +,0xFF,0xFF,0xFF,0xFF,0x00,0xC6,0xC6,0xC6,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xD5,0xB0,0x00,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE4,0x83,0x00,0x00,0x00,0xFF,0x00,0xDC +,0xDC,0xDC,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x03,0xF9,0xF9,0xF9,0xFF,0x0B,0x0B +,0x0B,0xFF,0x00,0x00,0x00,0xFF,0x69,0x69,0x69,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0x8D,0x8D,0x8D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x99 +,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0x83,0x00,0x00,0x00,0xFF +,0x00,0x33,0x33,0x33,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x02,0x3D,0x3D,0x3D,0xFF +,0x00,0x00,0x00,0xFF,0x29,0x29,0x29,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0x6F +,0x6F,0x6F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E,0xB0,0x00 +,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8F,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x86,0x86,0x86,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x02,0x4E +,0x4E,0x4E,0xFF,0x00,0x00,0x00,0xFF,0xC1,0xC1,0xC1,0xFF,0x9C,0xFF,0xFF,0xFF +,0xFF,0x00,0x37,0x37,0x37,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x42,0x8B,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE7 +,0x83,0x00,0x00,0x00,0xFF,0x00,0xDF,0xDF,0xDF,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x02,0x94,0x94,0x94,0xFF,0x00,0x00,0x00,0xFF,0x72,0x72,0x72,0xFF,0x9A,0xFF +,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1A,0x1A,0x1A,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x27,0xB0,0x00,0x00,0x00,0x00,0xB0,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x39,0x83,0x00,0x00,0x00,0xFF,0x00,0x30,0x30 +,0x30,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x02,0x98,0x98,0x98,0xFF,0x1B,0x1B,0x1B +,0xFF,0xFE,0xFE,0xFE,0xFF,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xE0,0xE0,0xE0,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE9,0x00,0x00,0x00,0x03,0x8C +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x8C,0x8C,0x8C,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x02,0xE8,0xE8,0xE8,0xFF,0x03 +,0x03,0x03,0xFF,0xBB,0xBB,0xBB,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0xC1,0xC1 +,0xC1,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD0,0xB1,0x00,0x00 +,0x00,0x00,0xB0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0xE1,0x83,0x00,0x00,0x00,0xFF,0x00,0xD9,0xD9,0xD9,0xFF,0x9B,0xFF,0xFF,0xFF +,0xFF,0x01,0xE1,0xE1,0xE1,0xFF,0x72,0x72,0x72,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF +,0x00,0x8B,0x8B,0x8B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x96 +,0x8D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x83,0x00,0x00,0x00,0xFF +,0x00,0x39,0x39,0x39,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0x4E,0x4E,0x4E,0xFF +,0xF8,0xF8,0xF8,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0x6A,0x6A,0x6A,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x79,0xB1,0x00,0x00,0x00,0x00,0xB1 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x83,0x83,0x83,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xE6,0xE6,0xE6,0xFF,0x9C +,0xFF,0xFF,0xFF,0xFF,0x00,0x34,0x34,0x34,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x40,0x8D,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00 +,0x00,0x00,0xEB,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE4,0xE4 +,0xE4,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xDD,0xDD,0xDD,0xFF,0x9A,0xFF,0xFF +,0xFF,0xFF,0x01,0xFC,0xFC,0xFC,0xFF,0x17,0x17,0x17,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x22,0xB1,0x00,0x00,0x00,0x00,0xB1,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x36,0x83,0x00,0x00,0x00,0xFF,0x00,0x2D,0x2D,0x2D +,0xFF,0xB9,0xFF,0xFF,0xFF,0xFF,0x00,0xDE,0xDE,0xDE,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x9B,0x83,0x00,0x00,0x00,0xFF,0x00,0x91,0x91,0x91,0xFF +,0xB8,0xFF,0xFF,0xFF,0xFF,0x00,0xBC,0xBC,0xBC,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xCB,0xB2,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xDF,0x83,0x00,0x00,0x00,0xFF,0x00,0xD7,0xD7,0xD7,0xFF +,0xB8,0xFF,0xFF,0xFF,0xFF,0x00,0x88,0x88,0x88,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x93,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x3E,0x3E,0x3E,0xFF,0xB8,0xFF,0xFF,0xFF,0xFF +,0x00,0x65,0x65,0x65,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x74 +,0xB2,0x00,0x00,0x00,0x00,0xB2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A +,0x83,0x00,0x00,0x00,0xFF,0x00,0x80,0x80,0x80,0xFF,0xB8,0xFF,0xFF,0xFF,0xFF +,0x00,0x32,0x32,0x32,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3D +,0x8F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xEE,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE8,0xE8,0xE8,0xFF,0xB6,0xFF +,0xFF,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x13,0x13,0x13,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1E,0xB2,0x00,0x00,0x00 +,0x00,0xB2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x2A,0x2A,0x2A,0xFF,0xB7,0xFF,0xFF,0xFF,0xFF,0x00,0xDB,0xDB,0xDB +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE5,0x00,0x00,0x00,0x01 +,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x83,0x00,0x00,0x00,0xFF +,0x00,0x97,0x97,0x97,0xFF,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0xB7,0xB7,0xB7,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC6,0xB3,0x00,0x00,0x00,0x00 +,0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDD,0x83,0x00,0x00,0x00,0xFF +,0x00,0xD4,0xD4,0xD4,0xFF,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0x85,0x85,0x85,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x4D,0x83,0x00,0x00,0x00,0xFF,0x00,0x43,0x43,0x43,0xFF +,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0x60,0x60,0x60,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x6F,0xB3,0x00,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x87,0x83,0x00,0x00,0x00,0xFF,0x00,0x7E,0x7E,0x7E,0xFF +,0xB6,0xFF,0xFF,0xFF,0xFF,0x00,0x2F,0x2F,0x2F,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x3A,0x91,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07 +,0x00,0x00,0x00,0xF2,0x82,0x00,0x00,0x00,0xFF,0x01,0x03,0x03,0x03,0xFF,0xEC +,0xEC,0xEC,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF,0x01,0xF9,0xF9,0xF9,0xFF,0x10,0x10 +,0x10,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00 +,0x1A,0xB3,0x00,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x31,0x83,0x00,0x00,0x00,0xFF,0x00,0x27,0x27,0x27,0xFF,0xB5,0xFF,0xFF,0xFF +,0xFF,0x00,0xD8,0xD8,0xD8,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE3,0x00,0x00,0x00,0x01,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x9C,0x9C,0x9C,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF +,0x00,0xB2,0xB2,0xB2,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC1 +,0xB4,0x00,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDA +,0x83,0x00,0x00,0x00,0xFF,0x00,0xD1,0xD1,0xD1,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF +,0x00,0x82,0x82,0x82,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8E +,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x83,0x00,0x00,0x00,0xFF +,0x00,0x48,0x48,0x48,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF,0x00,0x5B,0x5B,0x5B,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6A,0xB4,0x00,0x00,0x00,0x00 +,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x83,0x00,0x00,0x00,0xFF +,0x00,0x7B,0x7B,0x7B,0xFF,0xB4,0xFF,0xFF,0xFF,0xFF,0x00,0x2C,0x2C,0x2C,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x38,0x93,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x05,0x05,0x05,0xFF,0xEF,0xEF,0xEF,0xFF,0xB2,0xFF,0xFF,0xFF,0xFF,0x01,0xF7 +,0xF7,0xF7,0xFF,0x0D,0x0D,0x0D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xFC,0x00,0x00,0x00,0x16,0xB4,0x00,0x00,0x00,0x00,0xB4,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x2E,0x83,0x00,0x00,0x00,0xFF,0x00,0x25,0x25,0x25 +,0xFF,0xB3,0xFF,0xFF,0xFF,0xFF,0x00,0xD6,0xD6,0xD6,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xE1,0x00,0x00,0x00,0x01,0x94,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF +,0xB2,0xFF,0xFF,0xFF,0xFF,0x00,0xAD,0xAD,0xAD,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xBC,0xB5,0x00,0x00,0x00,0x00,0xB5,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xD7,0x83,0x00,0x00,0x00,0xFF,0x00,0xCE,0xCE,0xCE,0xFF +,0xB2,0xFF,0xFF,0xFF,0xFF,0x00,0x7F,0x7F,0x7F,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x8B,0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x4E,0x4E,0x4E,0xFF,0xB2,0xFF,0xFF,0xFF,0xFF +,0x00,0x56,0x56,0x56,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x65 +,0xB5,0x00,0x00,0x00,0x00,0xB5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x78,0x78,0x78,0xFF,0xB2,0xFF,0xFF,0xFF,0xFF +,0x00,0x29,0x29,0x29,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x35 +,0x95,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xF7,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF2,0xF2,0xF2,0xFF,0xB0,0xFF +,0xFF,0xFF,0xFF,0x01,0xF5,0xF5,0xF5,0xFF,0x0A,0x0A,0x0A,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x13,0xB5,0x00,0x00,0x00 +,0x00,0xB5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2B,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x22,0x22,0x22,0xFF,0xB1,0xFF,0xFF,0xFF,0xFF,0x00,0xD3,0xD3,0xD3 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDE,0x97,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xB0,0x83,0x00,0x00,0x00,0xFF,0x00,0xA6,0xA6,0xA6 +,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0x00,0xA8,0xA8,0xA8,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB7,0xB6,0x00,0x00,0x00,0x00,0xB6,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xD5,0x83,0x00,0x00,0x00,0xFF,0x00,0xCC,0xCC,0xCC +,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0x00,0x7D,0x7D,0x7D,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x89,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x5C,0x83,0x00,0x00,0x00,0xFF,0x00,0x53,0x53,0x53,0xFF,0xB0,0xFF,0xFF,0xFF +,0xFF,0x00,0x51,0x51,0x51,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x60,0xB6,0x00,0x00,0x00,0x00,0xB6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x7E,0x83,0x00,0x00,0x00,0xFF,0x00,0x75,0x75,0x75,0xFF,0xB0,0xFF,0xFF,0xFF +,0xFF,0x00,0x27,0x27,0x27,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x33,0x97,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xF9 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x0A,0x0A,0x0A,0xFF,0xF5,0xF5,0xF5,0xFF,0xAE +,0xFF,0xFF,0xFF,0xFF,0x01,0xF2,0xF2,0xF2,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x10,0xB6,0x00,0x00 +,0x00,0x00,0xB6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x20,0x20,0x20,0xFF,0xAF,0xFF,0xFF,0xFF,0xFF,0x00,0xD0,0xD0 +,0xD0,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDC,0x99,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xB5,0x83,0x00,0x00,0x00,0xFF,0x00,0xAC,0xAC +,0xAC,0xFF,0xAE,0xFF,0xFF,0xFF,0xFF,0x00,0xA3,0xA3,0xA3,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB2,0xB7,0x00,0x00,0x00,0x00,0xB7,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xD2,0x83,0x00,0x00,0x00,0xFF,0x00,0xC9,0xC9 +,0xC9,0xFF,0xAE,0xFF,0xFF,0xFF,0xFF,0x00,0x7A,0x7A,0x7A,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x86,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x61,0x83,0x00,0x00,0x00,0xFF,0x00,0x58,0x58,0x58,0xFF,0xAE,0xFF,0xFF +,0xFF,0xFF,0x00,0x4C,0x4C,0x4C,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x5B,0xB7,0x00,0x00,0x00,0x00,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x7C,0x83,0x00,0x00,0x00,0xFF,0x00,0x73,0x73,0x73,0xFF,0xAE,0xFF,0xFF +,0xFF,0xFF,0x00,0x24,0x24,0x24,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x30,0x99,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00 +,0xFB,0x82,0x00,0x00,0x00,0xFF,0x01,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7,0xF7,0xFF +,0xAC,0xFF,0xFF,0xFF,0xFF,0x01,0xEF,0xEF,0xEF,0xFF,0x06,0x06,0x06,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x0D,0xB7,0x00 +,0x00,0x00,0x00,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x1E,0x1E,0x1E,0xFF,0xFE,0xFE,0xFE,0xFF,0xAC,0xFF,0xFF +,0xFF,0xFF,0x00,0xCD,0xCD,0xCD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xD9,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBA,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xB1,0xB1,0xB1,0xFF,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0x9E,0x9E +,0x9E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAD,0xB8,0x00,0x00 +,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xC6,0xC6,0xC6,0xFF,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0x77,0x77 +,0x77,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83,0x9B,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x67,0x83,0x00,0x00,0x00,0xFF,0x00,0x5D,0x5D +,0x5D,0xFF,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0x47,0x47,0x47,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x56,0xB8,0x00,0x00,0x00,0x00,0xB8,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0x83,0x00,0x00,0x00,0xFF,0x00,0x70,0x70 +,0x70,0xFF,0xAC,0xFF,0xFF,0xFF,0xFF,0x00,0x21,0x21,0x21,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x2D,0x9B,0x00,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x16,0x00,0x00,0x00,0xFD,0x82,0x00,0x00,0x00,0xFF,0x01,0x10,0x10,0x10 +,0xFF,0xFA,0xFA,0xFA,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x01,0xEC,0xEC,0xEC,0xFF +,0x04,0x04,0x04,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00 +,0x00,0x00,0x0A,0xB8,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x23,0x83,0x00,0x00,0x00,0xFF,0x01,0x1B,0x1B,0x1B,0xFF,0xFE,0xFE +,0xFE,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x00,0xCB,0xCB,0xCB,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xD7,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xC0,0x83,0x00,0x00,0x00,0xFF,0x00,0xB6,0xB6,0xB6,0xFF,0xAA,0xFF,0xFF +,0xFF,0xFF,0x00,0x99,0x99,0x99,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xA8,0xB9,0x00,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xCC,0x83,0x00,0x00,0x00,0xFF,0x00,0xC3,0xC3,0xC3,0xFF,0xAA,0xFF,0xFF +,0xFF,0xFF,0x00,0x74,0x74,0x74,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x81,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x62,0x62,0x62,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x00,0x42,0x42 +,0x42,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x51,0xB9,0x00,0x00 +,0x00,0x00,0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0x00,0x1F,0x1F +,0x1F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2B,0x9D,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFE,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x13,0x13,0x13,0xFF,0xFB,0xFB,0xFB,0xFF,0xA8,0xFF,0xFF,0xFF,0xFF +,0x01,0xE8,0xE8,0xE8,0xFF,0x03,0x03,0x03,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0x08,0xB9,0x00,0x00,0x00,0x00,0xB9,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x83,0x00,0x00,0x00,0xFF,0x01,0x19 +,0x19,0x19,0xFF,0xFD,0xFD,0xFD,0xFF,0xA8,0xFF,0xFF,0xFF,0xFF,0x00,0xC8,0xC8 +,0xC8,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD4,0x9F,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0x83,0x00,0x00,0x00,0xFF,0x00,0xBB,0xBB +,0xBB,0xFF,0xA8,0xFF,0xFF,0xFF,0xFF,0x00,0x94,0x94,0x94,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA3,0xBA,0x00,0x00,0x00,0x00,0xBA,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0x83,0x00,0x00,0x00,0xFF,0x00,0xC1,0xC1 +,0xC1,0xFF,0xA8,0xFF,0xFF,0xFF,0xFF,0x00,0x72,0x72,0x72,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x71,0x83,0x00,0x00,0x00,0xFF,0x00,0x68,0x68,0x68,0xFF,0xA8,0xFF,0xFF +,0xFF,0xFF,0x00,0x3D,0x3D,0x3D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x4C,0xBA,0x00,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x73,0x83,0x00,0x00,0x00,0xFF,0x00,0x6A,0x6A,0x6A,0xFF,0xA7,0xFF,0xFF +,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1D,0x1D,0x1D,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x28,0x9F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x1E,0x83,0x00,0x00,0x00,0xFF,0x01,0x17,0x17,0x17,0xFF,0xFD,0xFD,0xFD,0xFF +,0xA6,0xFF,0xFF,0xFF,0xFF,0x01,0xE4,0xE4,0xE4,0xFF,0x01,0x01,0x01,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x06,0xBA,0x00 +,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00 +,0x00,0xFE,0x82,0x00,0x00,0x00,0xFF,0x01,0x17,0x17,0x17,0xFF,0xFD,0xFD,0xFD +,0xFF,0xA6,0xFF,0xFF,0xFF,0xFF,0x00,0xC5,0xC5,0xC5,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xD2,0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xCA,0x83,0x00,0x00,0x00,0xFF,0x00,0xC1,0xC1,0xC1,0xFF,0xA6,0xFF,0xFF,0xFF +,0xFF,0x00,0x8F,0x8F,0x8F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x9E,0xBB,0x00,0x00,0x00,0x00,0xBB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xC7,0x83,0x00,0x00,0x00,0xFF,0x00,0xBE,0xBE,0xBE,0xFF,0xA6,0xFF,0xFF,0xFF +,0xFF,0x00,0x6F,0x6F,0x6F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x7B,0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x6D,0x6D,0x6D,0xFF,0xA6,0xFF,0xFF,0xFF,0xFF,0x00,0x38,0x38,0x38 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x47,0xBB,0x00,0x00,0x00 +,0x00,0xBB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x68,0x68,0x68,0xFF,0xA5,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE +,0xFF,0x1A,0x1A,0x1A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x25 +,0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x83,0x00,0x00,0x00,0xFF +,0x01,0x1B,0x1B,0x1B,0xFF,0xFE,0xFE,0xFE,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x01 +,0xE0,0xE0,0xE0,0xFF,0x01,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xEC,0x00,0x00,0x00,0x04,0xBB,0x00,0x00,0x00,0x00,0xBB,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xFE,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x15,0x15,0x15,0xFF,0xFC,0xFC,0xFC,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF +,0x00,0xC2,0xC2,0xC2,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF +,0xA3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF +,0x00,0xC6,0xC6,0xC6,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x00,0x8A,0x8A,0x8A,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x99,0xBC,0x00,0x00,0x00,0x00 +,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x83,0x00,0x00,0x00,0xFF +,0x00,0xBB,0xBB,0xBB,0xFF,0xA4,0xFF,0xFF,0xFF,0xFF,0x00,0x6C,0x6C,0x6C,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x79,0xA3,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x7C,0x83,0x00,0x00,0x00,0xFF,0x00,0x72,0x72,0x72,0xFF +,0xA4,0xFF,0xFF,0xFF,0xFF,0x00,0x33,0x33,0x33,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x42,0xBC,0x00,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x6E,0x83,0x00,0x00,0x00,0xFF,0x00,0x65,0x65,0x65,0xFF +,0xA3,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x18,0x18,0x18,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x23,0xA3,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x28,0x83,0x00,0x00,0x00,0xFF,0x00,0x1F,0x1F,0x1F,0xFF,0xA3 +,0xFF,0xFF,0xFF,0xFF,0x00,0xDC,0xDC,0xDC,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0x03,0xBC,0x00,0x00,0x00,0x00,0xBC,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFD,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x13,0x13,0x13,0xFF,0xFB,0xFB,0xFB,0xFF,0xA2,0xFF,0xFF,0xFF +,0xFF,0x00,0xBF,0xBF,0xBF,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xCC,0xA5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xCB,0xCB,0xCB,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x85,0x85,0x85 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x94,0xBD,0x00,0x00,0x00 +,0x00,0xBD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC1,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xB9,0xB9,0xB9,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x69,0x69,0x69 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x76,0xA5,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x81,0x83,0x00,0x00,0x00,0xFF,0x00,0x77,0x77,0x77 +,0xFF,0xA2,0xFF,0xFF,0xFF,0xFF,0x00,0x2E,0x2E,0x2E,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x3D,0xBD,0x00,0x00,0x00,0x00,0xBD,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x6B,0x83,0x00,0x00,0x00,0xFF,0x00,0x62,0x62,0x62 +,0xFF,0xA1,0xFF,0xFF,0xFF,0xFF,0x01,0xFC,0xFC,0xFC,0xFF,0x16,0x16,0x16,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x21,0xA5,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x2D,0x83,0x00,0x00,0x00,0xFF,0x00,0x24,0x24,0x24,0xFF +,0xA1,0xFF,0xFF,0xFF,0xFF,0x00,0xD7,0xD7,0xD7,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0x01,0xBD,0x00,0x00,0x00,0x00,0xBD +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0xFD,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x11,0x11,0x11,0xFF,0xFA,0xFA,0xFA,0xFF,0xA0,0xFF,0xFF +,0xFF,0xFF,0x00,0xBD,0xBD,0xBD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xCA,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDA,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xD0,0xD0,0xD0,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x80 +,0x80,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8F,0xBE,0x00,0x00 +,0x00,0x00,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBE,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xB6,0xB6,0xB6,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x66,0x66 +,0x66,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x74,0xA7,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x83,0x00,0x00,0x00,0xFF,0x00,0x7D,0x7D +,0x7D,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0x00,0x29,0x29,0x29,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x38,0xBE,0x00,0x00,0x00,0x00,0xBE,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x83,0x00,0x00,0x00,0xFF,0x00,0x60,0x60 +,0x60,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x14,0x14,0x14 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1E +,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x83,0x00,0x00,0x00,0xFF +,0x00,0x29,0x29,0x29,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0x00,0xD2,0xD2,0xD2,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x01,0xBE +,0x00,0x00,0x00,0x00,0xBE,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00 +,0x00,0x00,0xFC,0x82,0x00,0x00,0x00,0xFF,0x01,0x10,0x10,0x10,0xFF,0xF9,0xF9 +,0xF9,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0xBA,0xBA,0xBA,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xC7,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xDE,0x83,0x00,0x00,0x00,0xFF,0x00,0xD6,0xD6,0xD6,0xFF,0x9E,0xFF,0xFF +,0xFF,0xFF,0x00,0x7B,0x7B,0x7B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x8A,0xBF,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xBC,0x83,0x00,0x00,0x00,0xFF,0x00,0xB3,0xB3,0xB3,0xFF,0x9E,0xFF,0xFF +,0xFF,0xFF,0x00,0x64,0x64,0x64,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x71,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x82,0x82,0x82,0xFF,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x24,0x24 +,0x24,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x33,0xBF,0x00,0x00 +,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x5D,0x5D,0x5D,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0x01,0xFB,0xFB +,0xFB,0xFF,0x12,0x12,0x12,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xFE,0x00,0x00,0x00,0x1C,0xA9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x2E,0x2E,0x2E,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF +,0x00,0xCD,0xCD,0xCD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDC +,0xC0,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x13 +,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF,0x01,0x0E,0x0E,0x0E,0xFF,0xF8 +,0xF8,0xF8,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0xB7,0xB7,0xB7,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC4,0xAA,0x00,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0xE3,0x83,0x00,0x00,0x00,0xFF,0x00,0xDB,0xDB +,0xDB,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x76,0x76,0x76,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x86,0xC0,0x00,0x00,0x00,0x00,0xC0,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xB9,0x83,0x00,0x00,0x00,0xFF,0x00,0xB0,0xB0 +,0xB0,0xFF,0x9C,0xFF,0xFF,0xFF,0xFF,0x00,0x61,0x61,0x61,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x6E,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x91,0x83,0x00,0x00,0x00,0xFF,0x00,0x87,0x87,0x87,0xFF,0x9C,0xFF,0xFF +,0xFF,0xFF,0x00,0x20,0x20,0x20,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x2F,0xC0,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x62,0x83,0x00,0x00,0x00,0xFF,0x00,0x5A,0x5A,0x5A,0xFF,0x9B,0xFF,0xFF +,0xFF,0xFF,0x01,0xFA,0xFA,0xFA,0xFF,0x11,0x11,0x11,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x1A,0xAB,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x3D,0x83,0x00,0x00,0x00,0xFF,0x00,0x34,0x34,0x34,0xFF +,0x9B,0xFF,0xFF,0xFF,0xFF,0x00,0xC8,0xC8,0xC8,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xD7,0xC1,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0xFA,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7,0xF7,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0xB4 +,0xB4,0xB4,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC2,0xAC,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE7,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xDF,0xDF,0xDF,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0x71,0x71 +,0x71,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x81,0xC1,0x00,0x00 +,0x00,0x00,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB6,0x83,0x00,0x00 +,0x00,0xFF,0x00,0xAE,0xAE,0xAE,0xFF,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0x5E,0x5E +,0x5E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6C,0xAD,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x96,0x83,0x00,0x00,0x00,0xFF,0x00,0x8C,0x8C +,0x8C,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0x01,0xFE,0xFE,0xFE,0xFF,0x1C,0x1C,0x1C +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2A,0xC1,0x00,0x00,0x00 +,0x00,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x57,0x57,0x57,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0x01,0xF8,0xF8,0xF8 +,0xFF,0x0F,0x0F,0x0F,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD +,0x00,0x00,0x00,0x18,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x39,0x39,0x39,0xFF,0x99,0xFF,0xFF,0xFF,0xFF,0x00 +,0xC3,0xC3,0xC3,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD3,0xC2 +,0x00,0x00,0x00,0x00,0xC1,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00 +,0x00,0x00,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01,0x0B,0x0B,0x0B,0xFF,0xF5,0xF5 +,0xF5,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0x00,0xB2,0xB2,0xB2,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xBF,0xAE,0x00,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x03,0x00,0x00,0x00,0xEB,0x82,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01 +,0xFF,0xE4,0xE4,0xE4,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0x00,0x6C,0x6C,0x6C,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7C,0xC2,0x00,0x00,0x00,0x00 +,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB3,0x83,0x00,0x00,0x00,0xFF +,0x00,0xAB,0xAB,0xAB,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0x00,0x5B,0x5B,0x5B,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x69,0xAF,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x9B,0x83,0x00,0x00,0x00,0xFF,0x00,0x92,0x92,0x92,0xFF +,0x97,0xFF,0xFF,0xFF,0xFF,0x01,0xFD,0xFD,0xFD,0xFF,0x18,0x18,0x18,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x25,0xC2,0x00,0x00,0x00,0x00,0xC2 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x55,0x55,0x55,0xFF,0x97,0xFF,0xFF,0xFF,0xFF,0x01,0xF7,0xF7,0xF7,0xFF,0x0D +,0x0D,0x0D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00 +,0x00,0x16,0xAF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x3E,0x3E,0x3E,0xFF,0x97,0xFF,0xFF,0xFF,0xFF,0x00,0xBE,0xBE +,0xBE,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCE,0xC3,0x00,0x00 +,0x00,0x00,0xC2,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0E,0x00,0x00,0x00 +,0xF8,0x82,0x00,0x00,0x00,0xFF,0x01,0x0A,0x0A,0x0A,0xFF,0xF4,0xF4,0xF4,0xFF +,0x96,0xFF,0xFF,0xFF,0xFF,0x00,0xAF,0xAF,0xAF,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xBC,0xB0,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05 +,0x00,0x00,0x00,0xEE,0x82,0x00,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE8 +,0xE8,0xE8,0xFF,0x96,0xFF,0xFF,0xFF,0xFF,0x00,0x67,0x67,0x67,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x77,0xC3,0x00,0x00,0x00,0x00,0xC3,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB0,0x83,0x00,0x00,0x00,0xFF,0x00,0xA8 +,0xA8,0xA8,0xFF,0x96,0xFF,0xFF,0xFF,0xFF,0x00,0x59,0x59,0x59,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x66,0xB1,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xA0,0x83,0x00,0x00,0x00,0xFF,0x00,0x97,0x97,0x97,0xFF,0x95,0xFF +,0xFF,0xFF,0xFF,0x01,0xFB,0xFB,0xFB,0xFF,0x14,0x14,0x14,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x20,0xC3,0x00,0x00,0x00,0x00,0xC3,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x5A,0x83,0x00,0x00,0x00,0xFF,0x00,0x52,0x52 +,0x52,0xFF,0x95,0xFF,0xFF,0xFF,0xFF,0x01,0xF6,0xF6,0xF6,0xFF,0x0C,0x0C,0x0C +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x14 +,0xB1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4D,0x83,0x00,0x00,0x00,0xFF +,0x00,0x43,0x43,0x43,0xFF,0x95,0xFF,0xFF,0xFF,0xFF,0x00,0xB9,0xB9,0xB9,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC9,0xC4,0x00,0x00,0x00,0x00 +,0xC3,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0xF7,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x08,0x08,0x08,0xFF,0xF3,0xF3,0xF3,0xFF,0x94,0xFF +,0xFF,0xFF,0xFF,0x00,0xAC,0xAC,0xAC,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xBA,0xB2,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00 +,0x00,0xF2,0x82,0x00,0x00,0x00,0xFF,0x01,0x04,0x04,0x04,0xFF,0xEC,0xEC,0xEC +,0xFF,0x94,0xFF,0xFF,0xFF,0xFF,0x00,0x62,0x62,0x62,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x72,0xC4,0x00,0x00,0x00,0x00,0xC4,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xAE,0x83,0x00,0x00,0x00,0xFF,0x00,0xA5,0xA5,0xA5 +,0xFF,0x94,0xFF,0xFF,0xFF,0xFF,0x00,0x56,0x56,0x56,0xFF,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x64,0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xA6,0x83,0x00,0x00,0x00,0xFF,0x00,0x9C,0x9C,0x9C,0xFF,0x93,0xFF,0xFF,0xFF +,0xFF,0x01,0xFA,0xFA,0xFA,0xFF,0x11,0x11,0x11,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1C,0xC4,0x00,0x00,0x00,0x00,0xC4 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x4F,0x4F,0x4F,0xFF,0x93,0xFF,0xFF,0xFF,0xFF,0x01,0xF5,0xF5,0xF5,0xFF,0x0A +,0x0A,0x0A,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00 +,0x00,0x12,0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x49,0x49,0x49,0xFF,0x93,0xFF,0xFF,0xFF,0xFF,0x00,0xB4,0xB4 +,0xB4,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC4,0xC5,0x00,0x00 +,0x00,0x00,0xC4,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00 +,0xF5,0x82,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07,0xFF,0xF1,0xF1,0xF1,0xFF +,0x92,0xFF,0xFF,0xFF,0xFF,0x00,0xA9,0xA9,0xA9,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB7,0xB4,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x09 +,0x00,0x00,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF,0x01,0x05,0x05,0x05,0xFF,0xEF +,0xEF,0xEF,0xFF,0x92,0xFF,0xFF,0xFF,0xFF,0x00,0x5D,0x5D,0x5D,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6D,0xC5,0x00,0x00,0x00,0x00,0xC5,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0xA3 +,0xA3,0xA3,0xFF,0x92,0xFF,0xFF,0xFF,0xFF,0x00,0x53,0x53,0x53,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0xB5,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0xA1,0xA1,0xA1,0xFF,0x91,0xFF +,0xFF,0xFF,0xFF,0x01,0xF8,0xF8,0xF8,0xFF,0x0E,0x0E,0x0E,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x18,0xC5,0x00,0x00,0x00 +,0x00,0xC5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x4C,0x4C,0x4C,0xFF,0x91,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3 +,0xFF,0x09,0x09,0x09,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA +,0x00,0x00,0x00,0x11,0xB5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x4E,0x4E,0x4E,0xFF,0x91,0xFF,0xFF,0xFF,0xFF,0x00 +,0xAF,0xAF,0xAF,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBF,0xC6 +,0x00,0x00,0x00,0x00,0xC5,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00 +,0x00,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF,0x01,0x06,0x06,0x06,0xFF,0xEF,0xEF +,0xEF,0xFF,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0xA6,0xA6,0xA6,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB5,0xB6,0x00,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x0C,0x00,0x00,0x00,0xF7,0x82,0x00,0x00,0x00,0xFF,0x01,0x07,0x07,0x07 +,0xFF,0xF2,0xF2,0xF2,0xFF,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0x58,0x58,0x58,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x68,0xC6,0x00,0x00,0x00,0x00 +,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x83,0x00,0x00,0x00,0xFF +,0x00,0xA0,0xA0,0xA0,0xFF,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0x50,0x50,0x50,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5E,0xB7,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xB0,0x83,0x00,0x00,0x00,0xFF,0x00,0xA7,0xA7,0xA7,0xFF +,0x8F,0xFF,0xFF,0xFF,0xFF,0x01,0xF5,0xF5,0xF5,0xFF,0x0B,0x0B,0x0B,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x15,0xC6,0x00 +,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x4A,0x4A,0x4A,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0x01,0xF2 +,0xF2,0xF2,0xFF,0x08,0x08,0x08,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xF9,0x00,0x00,0x00,0x0F,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x5C,0x83,0x00,0x00,0x00,0xFF,0x00,0x53,0x53,0x53,0xFF,0x8F,0xFF,0xFF,0xFF +,0xFF,0x00,0xAA,0xAA,0xAA,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xBA,0xC7,0x00,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x08,0x00,0x00,0x00,0xF3,0x82,0x00,0x00,0x00,0xFF,0x01,0x05,0x05,0x05,0xFF +,0xEE,0xEE,0xEE,0xFF,0x8E,0xFF,0xFF,0xFF,0xFF,0x00,0xA4,0xA4,0xA4,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB2,0xB8,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xF9,0x82,0x00,0x00,0x00,0xFF,0x01,0x0A +,0x0A,0x0A,0xFF,0xF5,0xF5,0xF5,0xFF,0x8E,0xFF,0xFF,0xFF,0xFF,0x00,0x53,0x53 +,0x53,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x63,0xC7,0x00,0x00 +,0x00,0x00,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x9D,0x9D,0x9D,0xFF,0x8E,0xFF,0xFF,0xFF,0xFF,0x00,0x4D,0x4D +,0x4D,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5C,0xB9,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0xB5,0x83,0x00,0x00,0x00,0xFF,0x00,0xAC,0xAC +,0xAC,0xFF,0x8D,0xFF,0xFF,0xFF,0xFF,0x01,0xF3,0xF3,0xF3,0xFF,0x09,0x09,0x09 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00,0x12 +,0xC7,0x00,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F +,0x83,0x00,0x00,0x00,0xFF,0x00,0x47,0x47,0x47,0xFF,0x8D,0xFF,0xFF,0xFF,0xFF +,0x01,0xF0,0xF0,0xF0,0xFF,0x07,0x07,0x07,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x0D,0xB9,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x62,0x83,0x00,0x00,0x00,0xFF,0x00,0x58,0x58,0x58,0xFF,0x8D,0xFF +,0xFF,0xFF,0xFF,0x00,0xA5,0xA5,0xA5,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xB5,0xC8,0x00,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0x07,0x00,0x00,0x00,0xF1,0x82,0x00,0x00,0x00,0xFF,0x01,0x04,0x04 +,0x04,0xFF,0xEC,0xEC,0xEC,0xFF,0x8C,0xFF,0xFF,0xFF,0xFF,0x00,0xA1,0xA1,0xA1 +,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAF,0xBA,0x00,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF +,0x01,0x0D,0x0D,0x0D,0xFF,0xF7,0xF7,0xF7,0xFF,0x8C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x4E,0x4E,0x4E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5E,0xC8 +,0x00,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x9A,0x9A,0x9A,0xFF,0x8C,0xFF,0xFF,0xFF,0xFF,0x00 +,0x4B,0x4B,0x4B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x59,0xBB +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBA,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xB1,0xB1,0xB1,0xFF,0x8B,0xFF,0xFF,0xFF,0xFF,0x01,0xF0,0xF0,0xF0,0xFF,0x07 +,0x07,0x07,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00 +,0x00,0x0E,0xC8,0x00,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x4C,0x83,0x00,0x00,0x00,0xFF,0x00,0x44,0x44,0x44,0xFF,0x8B,0xFF,0xFF +,0xFF,0xFF,0x01,0xEE,0xEE,0xEE,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x0C,0xBB,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x67,0x83,0x00,0x00,0x00,0xFF,0x00,0x5D,0x5D,0x5D,0xFF +,0x8B,0xFF,0xFF,0xFF,0xFF,0x00,0xA0,0xA0,0xA0,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB0,0xC9,0x00,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xEF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x03,0x03,0x03,0xFF,0xEA,0xEA,0xEA,0xFF,0x8A,0xFF,0xFF,0xFF,0xFF,0x00,0x9E +,0x9E,0x9E,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAD,0xBC,0x00 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0xFD,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x10,0x10,0x10,0xFF,0xFA,0xFA,0xFA,0xFF,0x8A,0xFF,0xFF,0xFF +,0xFF,0x00,0x49,0x49,0x49,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x59,0xC9,0x00,0x00,0x00,0x00,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xA0,0x83,0x00,0x00,0x00,0xFF,0x00,0x98,0x98,0x98,0xFF,0x8A,0xFF,0xFF,0xFF +,0xFF,0x00,0x48,0x48,0x48,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x56,0xBD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xB6,0xB6,0xB6,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0x01,0xED,0xED,0xED +,0xFF,0x05,0x05,0x05,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6 +,0x00,0x00,0x00,0x0C,0xC9,0x00,0x00,0x00,0x00,0xC9,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x49,0x83,0x00,0x00,0x00,0xFF,0x00,0x41,0x41,0x41,0xFF,0x89 +,0xFF,0xFF,0xFF,0xFF,0x01,0xED,0xED,0xED,0xFF,0x04,0x04,0x04,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF5,0x00,0x00,0x00,0x0B,0xBD,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x83,0x00,0x00,0x00,0xFF,0x00,0x63,0x63 +,0x63,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0x00,0x9B,0x9B,0x9B,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xAB,0xCA,0x00,0x00,0x00,0x00,0xC9,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xEE,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE8,0xE8,0xE8,0xFF,0x88,0xFF,0xFF,0xFF,0xFF +,0x00,0x9B,0x9B,0x9B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAA +,0xBE,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFE,0x82 +,0x00,0x00,0x00,0xFF,0x01,0x13,0x13,0x13,0xFF,0xFB,0xFB,0xFB,0xFF,0x88,0xFF +,0xFF,0xFF,0xFF,0x00,0x44,0x44,0x44,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x54,0xCA,0x00,0x00,0x00,0x00,0xCA,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x9D,0x83,0x00,0x00,0x00,0xFF,0x00,0x95,0x95,0x95,0xFF,0x88,0xFF +,0xFF,0xFF,0xFF,0x00,0x45,0x45,0x45,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x54,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0x83,0x00 +,0x00,0x00,0xFF,0x00,0xBC,0xBC,0xBC,0xFF,0x87,0xFF,0xFF,0xFF,0xFF,0x01,0xE9 +,0xE9,0xE9,0xFF,0x03,0x03,0x03,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xF3,0x00,0x00,0x00,0x09,0xCA,0x00,0x00,0x00,0x00,0xCA,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x47,0x83,0x00,0x00,0x00,0xFF,0x00,0x3F,0x3F,0x3F +,0xFF,0x87,0xFF,0xFF,0xFF,0xFF,0x01,0xEB,0xEB,0xEB,0xFF,0x04,0x04,0x04,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x09,0xBF +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x68,0x68,0x68,0xFF,0x87,0xFF,0xFF,0xFF,0xFF,0x00,0x96,0x96,0x96,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA6,0xCB,0x00,0x00,0x00,0x00,0xCA +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xEC,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x02,0x02,0x02,0xFF,0xE6,0xE6,0xE6,0xFF,0x86,0xFF,0xFF +,0xFF,0xFF,0x00,0x99,0x99,0x99,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xA7,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x17,0x17,0x17,0xFF,0xFD,0xFD,0xFD,0xFF,0x86,0xFF,0xFF,0xFF +,0xFF,0x00,0x3F,0x3F,0x3F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x4F,0xCB,0x00,0x00,0x00,0x00,0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x9A,0x83,0x00,0x00,0x00,0xFF,0x00,0x92,0x92,0x92,0xFF,0x86,0xFF,0xFF,0xFF +,0xFF,0x00,0x42,0x42,0x42,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x51,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0x83,0x00,0x00,0x00 +,0xFF,0x00,0xC1,0xC1,0xC1,0xFF,0x85,0xFF,0xFF,0xFF,0xFF,0x01,0xE6,0xE6,0xE6 +,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1 +,0x00,0x00,0x00,0x07,0xCB,0x00,0x00,0x00,0x00,0xCB,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x44,0x83,0x00,0x00,0x00,0xFF,0x00,0x3C,0x3C,0x3C,0xFF,0x85 +,0xFF,0xFF,0xFF,0xFF,0x01,0xE9,0xE9,0xE9,0xFF,0x03,0x03,0x03,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0x08,0xC1,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x83,0x00,0x00,0x00,0xFF,0x00,0x6D,0x6D +,0x6D,0xFF,0x85,0xFF,0xFF,0xFF,0xFF,0x00,0x91,0x91,0x91,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA1,0xCC,0x00,0x00,0x00,0x00,0xCB,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xEA,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x01,0x01,0x01,0xFF,0xE4,0xE4,0xE4,0xFF,0x84,0xFF,0xFF,0xFF,0xFF +,0x00,0x96,0x96,0x96,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA5 +,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x83,0x00,0x00,0x00,0xFF +,0x01,0x1B,0x1B,0x1B,0xFF,0xFE,0xFE,0xFE,0xFF,0x84,0xFF,0xFF,0xFF,0xFF,0x00 +,0x3A,0x3A,0x3A,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4A,0xCC +,0x00,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x8F,0x8F,0x8F,0xFF,0x84,0xFF,0xFF,0xFF,0xFF,0x00 +,0x3F,0x3F,0x3F,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4E,0xC3 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0xC6,0xC6,0xC6,0xFF,0x83,0xFF,0xFF,0xFF,0xFF,0x01,0xE2,0xE2,0xE2,0xFF,0x01 +,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00,0x00 +,0x00,0x05,0xCC,0x00,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x41,0x83,0x00,0x00,0x00,0xFF,0x00,0x39,0x39,0x39,0xFF,0x83,0xFF,0xFF +,0xFF,0xFF,0x01,0xE7,0xE7,0xE7,0xFF,0x02,0x02,0x02,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x07,0xC3,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x7C,0x83,0x00,0x00,0x00,0xFF,0x00,0x72,0x72,0x72,0xFF +,0x83,0xFF,0xFF,0xFF,0xFF,0x00,0x8C,0x8C,0x8C,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x9C,0xCD,0x00,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE8,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x01,0x01,0x01,0xFF,0xE2,0xE2,0xE2,0xFF,0x82,0xFF,0xFF,0xFF,0xFF,0x00,0x93 +,0x93,0x93,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA2,0xC4,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x83,0x00,0x00,0x00,0xFF,0x00,0x1F +,0x1F,0x1F,0xFF,0x83,0xFF,0xFF,0xFF,0xFF,0x00,0x35,0x35,0x35,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x45,0xCD,0x00,0x00,0x00,0x00,0xCD,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x94,0x83,0x00,0x00,0x00,0xFF,0x00,0x8D +,0x8D,0x8D,0xFF,0x82,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0x3D,0x3D,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4C,0xC5,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0xD5,0x83,0x00,0x00,0x00,0xFF,0x00,0xCB,0xCB,0xCB,0xFF,0x81,0xFF +,0xFF,0xFF,0xFF,0x00,0xDD,0xDD,0xDD,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xEA,0x00,0x00,0x00,0x03,0xCD,0x00,0x00,0x00,0x00,0xCD,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x83,0x00,0x00,0x00,0xFF,0x00,0x36,0x36 +,0x36,0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0x01,0xE5,0xE5,0xE5,0xFF,0x01,0x01,0x01 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x06 +,0xC5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x83,0x00,0x00,0x00,0xFF +,0x00,0x78,0x78,0x78,0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0x00,0x87,0x87,0x87,0xFF +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x97,0xCE,0x00,0x00,0x00,0x00 +,0xCD,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE6,0x83 +,0x00,0x00,0x00,0xFF,0x02,0xDF,0xDF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0x90,0x90 +,0x90,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9F,0xC6,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x83,0x00,0x00,0x00,0xFF,0x00,0x24,0x24 +,0x24,0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0x00,0x30,0x30,0x30,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x40,0xCE,0x00,0x00,0x00,0x00,0xCE,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x83,0x00,0x00,0x00,0xFF,0x02,0x8A,0x8A +,0x8A,0xFF,0xFF,0xFF,0xFF,0xFF,0x3A,0x3A,0x3A,0xFF,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x49,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDA +,0x83,0x00,0x00,0x00,0xFF,0x01,0xD0,0xD0,0xD0,0xFF,0xD9,0xD9,0xD9,0xFF,0x83 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x02,0xCE,0x00 +,0x00,0x00,0x00,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x83,0x00 +,0x00,0x00,0xFF,0x02,0x34,0x34,0x34,0xFF,0xE2,0xE2,0xE2,0xFF,0x01,0x01,0x01 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xED,0x00,0x00,0x00,0x05 +,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x83,0x00,0x00,0x00,0xFF +,0x01,0x7D,0x7D,0x7D,0xFF,0x82,0x82,0x82,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x92,0xCF,0x00,0x00,0x00,0x00,0xCE,0x00,0x00,0x00,0x00,0x01 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE3,0x83,0x00,0x00,0x00,0xFF,0x00,0x6B +,0x6B,0x6B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0xC8,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x83,0x00,0x00,0x00,0xFF,0x01,0x29 +,0x29,0x29,0xFF,0x2B,0x2B,0x2B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x3B,0xCF,0x00,0x00,0x00,0x00,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x8F,0x83,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0x01,0xFF,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x46,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xDF,0x87,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE3,0x00,0x00,0x00 +,0x01,0xCF,0x00,0x00,0x00,0x00,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x39,0x87,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x04 +,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x87,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x8D,0xD0,0x00,0x00,0x00,0x00,0xCF,0x00,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE1,0x86,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x9A,0xCA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x87 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x37,0xD0,0x00,0x00,0x00,0x00,0xD0 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x86,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x44,0xCA,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0xE3,0x85,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDF,0xD1,0x00 +,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x85,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEA,0x00,0x00,0x00,0x03,0xCB,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x91,0x85,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x89,0xD1,0x00,0x00,0x00,0x00,0xD1,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0xDF,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x97,0xCC,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0x85,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x32,0xD1,0x00,0x00,0x00,0x00,0xD1,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x89,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x41,0xCC,0x00,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE7,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xDA,0xD2,0x00,0x00,0x00,0x00,0xD1,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x33,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE8,0x00,0x00,0x00,0x02,0xCD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x84,0xD2,0x00,0x00,0x00,0x00 +,0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x95,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2D,0xD2,0x00,0x00,0x00,0x00 +,0xD2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x3F,0xCE,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03 +,0x00,0x00,0x00,0xEB,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD5,0xD3 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x54,0x52,0x55,0x45,0x56,0x49,0x53,0x49,0x4F,0x4E,0x2D,0x58,0x46 +,0x49,0x4C,0x45,0x2E,0x00}; +/* end binary data. size = 27965 bytes */ + + +/* begin binary data: */ +const int project_bytes = 39085; +const unsigned char project_data[] = /* 39085 */ +{0x00,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB9,0x01,0xB9 +,0x01,0x20,0x08,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xB2,0xFF +,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x90,0x00,0x00,0x00 +,0xD0,0x00,0x02,0x02,0xE9,0x00,0x00,0x00,0xFD,0x95,0x00,0x00,0x00,0xFF,0x05 +,0x00,0x01,0x01,0xF7,0x00,0x01,0x01,0xDB,0x00,0x00,0x00,0xBE,0x00,0x00,0x00 +,0xA3,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x17,0xFF,0xFF,0xFF,0xFF,0x00,0xE4 +,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xB0,0xFF,0xFF,0xFF,0x00,0x06 +,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0xFF,0x02,0x15,0x19,0xFE,0x03,0x2C,0x35,0xFF,0x05,0x3A,0x46,0xFF,0x95,0x05 +,0x3B,0x47,0xFF,0x02,0x04,0x37,0x41,0xFF,0x03,0x23,0x2A,0xFF,0x01,0x0D,0x0F +,0xFD,0x81,0x00,0x00,0x00,0xFF,0x03,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0xAA +,0x00,0x00,0x00,0x42,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x00,0xE1,0xFF +,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xB0,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x65,0x00,0x00,0x00,0xFF,0x04,0x35,0x3F,0xFF,0x0C,0x93,0xAF,0xFF +,0x9B,0x0F,0xBF,0xE4,0xFF,0x06,0x0F,0xB9,0xDD,0xFF,0x0A,0x82,0x9B,0xFF,0x04 +,0x35,0x3F,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xCE +,0x00,0x00,0x00,0x2F,0xFF,0xFF,0xFF,0xFF,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0xFF +,0xFF,0xFF,0xFF,0x00,0xB0,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x72,0x00 +,0x00,0x00,0xFF,0x0B,0x8A,0xA5,0xFF,0x9F,0x0F,0xBF,0xE4,0xFF,0x05,0x0D,0xA8 +,0xC8,0xFF,0x07,0x56,0x67,0xFF,0x00,0x02,0x03,0xFE,0x00,0x01,0x01,0xFB,0x00 +,0x00,0x00,0x80,0x00,0x00,0x00,0x05,0xFF,0xFF,0xFF,0xFF,0x00,0xDE,0xFF,0xFF +,0xFF,0x00,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x33,0x00,0x00,0x00 +,0x92,0x00,0x00,0x00,0xC7,0x90,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x00,0x30 +,0xFF,0xFF,0xFF,0xFF,0x00,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x35 +,0x00,0x00,0x00,0xFF,0x07,0x5D,0x6F,0xFF,0xA1,0x0F,0xBF,0xE4,0xFF,0x04,0x0C +,0x9A,0xB7,0xFF,0x03,0x23,0x29,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xD2 +,0x00,0x00,0x00,0x28,0xFF,0xFF,0xFF,0xFF,0x00,0xDD,0xFF,0xFF,0xFF,0x00,0x81 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x7C,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x01,0x10,0x13,0xFD,0x8D,0x02,0x16,0x1A,0xFD,0x00,0x01,0x09,0x0B,0xFE,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x01,0x01,0x64,0xFF,0xFF,0xFF,0xFF,0x00,0x98 +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x01,0x01,0xF2,0x02,0x1F +,0x26,0xFE,0x0F,0xBE,0xE3,0xFF,0xA1,0x0F,0xBF,0xE4,0xFF,0x04,0x0F,0xBB,0xE0 +,0xFF,0x08,0x61,0x73,0xFF,0x00,0x03,0x03,0xFE,0x00,0x01,0x01,0xED,0x00,0x00 +,0x00,0x35,0xFF,0xFF,0xFF,0xFF,0x00,0xDC,0xFF,0xFF,0xFF,0x00,0x04,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0xFF,0x03,0x24,0x2B,0xFE,0x0C +,0x97,0xB4,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB8,0xDC,0xFF,0x01,0x0F +,0x12,0xFD,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0x45,0xFF,0xFF,0xFF,0xFF,0x00 +,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0xFF,0x0B +,0x86,0xA0,0xFF,0xA3,0x0F,0xBF,0xE4,0xFF,0x03,0x0B,0x89,0xA4,0xFF,0x00,0x06 +,0x08,0xFD,0x00,0x01,0x01,0xF4,0x00,0x00,0x00,0x42,0xFF,0xFF,0xFF,0xFF,0x00 +,0xDB,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,0xFD,0x02 +,0x1E,0x24,0xFE,0x0E,0xB2,0xD4,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xAC +,0xCD,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x98,0xFF,0xFF,0xFF,0xFF,0x00 +,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1A,0x00,0x01,0x01,0xFA,0x03 +,0x2C,0x34,0xFF,0xA4,0x0F,0xBF,0xE4,0xFF,0x03,0x0C,0x93,0xAF,0xFF,0x01,0x0A +,0x0C,0xFD,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x50,0xFF,0xFF,0xFF,0xFF,0x00 +,0xDA,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAC,0x00,0x01,0x01,0xFF,0x0D +,0xA5,0xC5,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA9,0xCA,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x8D,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0xFF,0x0C,0x93,0xAF,0xFF,0xA4 +,0x0F,0xBF,0xE4,0xFF,0x03,0x0C,0x9B,0xB9,0xFF,0x01,0x0F,0x12,0xFD,0x00,0x01 +,0x01,0xF9,0x00,0x00,0x00,0x2F,0xFF,0xFF,0xFF,0xFF,0x00,0xD9,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0xD7,0x02,0x1A,0x1F,0xFE,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0E,0xAF,0xD1,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAE,0xFF,0xFF +,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x27,0x00,0x00 +,0x00,0xFD,0x04,0x39,0x44,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF,0x03,0x0C,0x98,0xB6 +,0xFF,0x00,0x03,0x04,0xFE,0x00,0x01,0x01,0xD7,0x00,0x00,0x00,0x0A,0xFF,0xFF +,0xFF,0xFF,0x00,0xD8,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xED,0x03,0x21 +,0x28,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x31,0x3B,0xFF,0x00,0x01,0x01 +,0xFB,0x00,0x00,0x00,0x16,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xAD,0x00,0x01,0x01,0xFF,0x0C,0x9E,0xBD,0xFF,0xA5,0x0F +,0xBF,0xE4,0xFF,0x02,0x08,0x68,0x7C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x9A,0xFF,0xFF,0xFF,0xFF,0x00,0xD8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x99,0x00,0x00,0x00,0xFF,0x0C,0x9D,0xBC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x74,0xFF,0xFF,0xFF +,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x36,0x00,0x00,0x00 +,0xFF,0x05,0x46,0x53,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF +,0x04,0x35,0x3F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x53,0xFF,0xFF,0xFF +,0xFF,0x00,0xD7,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x39,0x00,0x00,0x00 +,0xFF,0x07,0x55,0x66,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBA,0xDE,0xFF +,0x01,0x0C,0x0F,0xFE,0x00,0x01,0x01,0xD8,0xFF,0xFF,0xFF,0xFF,0x00,0x9D,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBF,0x00,0x02,0x03,0xFE,0x0D,0xA8,0xC8 +,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xAE,0xCF,0xFF,0x01,0x0F,0x12,0xFD +,0x00,0x01,0x01,0xE9,0x00,0x00,0x00,0x08,0xFF,0xFF,0xFF,0xFF,0x00,0xD6,0xFF +,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0xFF,0x00,0x00,0x01,0x01,0xD9,0x01,0x0F,0x12 +,0xFD,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x52,0x62,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3B,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x47,0x00,0x00,0x00,0xFF,0x06,0x52,0x61 +,0xFF,0xA6,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6E,0x83,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x69,0xFF,0xFF,0xFF,0xFF,0x00,0xD6,0xFF,0xFF,0xFF,0x00,0x03 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xFF,0x0A,0x85,0x9E +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBC,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x9E,0xFF,0xFF,0xFF,0xFF,0x00,0x9D,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x01,0x01,0xD0,0x01,0x07,0x08,0xFE,0x0E,0xB0,0xD2,0xFF,0xA5,0x0F,0xBF +,0xE4,0xFF,0x03,0x0E,0xB8,0xDC,0xFF,0x01,0x0E,0x11,0xFD,0x00,0x01,0x01,0xDE +,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0x00,0xD5,0xFF,0xFF,0xFF,0x00,0x03 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0xFD,0x05,0x3D,0x48 +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x28,0x30,0xFF,0x00,0x01,0x01,0xF5 +,0x00,0x00,0x00,0x0D,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0xFF,0x07,0x5E,0x71,0xFF,0x81,0x0F,0xBF +,0xE4,0xFF,0x08,0x0E,0xB4,0xD7,0xFF,0x0B,0x91,0xAD,0xFF,0x0B,0x88,0xA2,0xFF +,0x0B,0x88,0xA3,0xFF,0x0B,0x91,0xAD,0xFF,0x0C,0x9A,0xB8,0xFF,0x0D,0xA3,0xC3 +,0xFF,0x0E,0xAC,0xCE,0xFF,0x0E,0xB6,0xD9,0xFF,0x9B,0x0F,0xBF,0xE4,0xFF,0x02 +,0x08,0x62,0x75,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x59,0xFF,0xFF,0xFF +,0xFF,0x00,0xD5,0xFF,0xFF,0xFF,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xB8,0x00,0x03,0x04,0xFE,0x0E,0xB0,0xD2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x09,0x73,0x8A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x66,0xFF,0xFF +,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x03,0x00,0x01 +,0x01,0xDF,0x01,0x0D,0x0F,0xFE,0x0C,0x9E,0xBD,0xFF,0x06,0x4A,0x59,0xFF,0x01 +,0x07,0x09,0xFE,0x87,0x00,0x00,0x00,0xFF,0x08,0x00,0x02,0x02,0xFF,0x01,0x0D +,0x0F,0xFD,0x02,0x1A,0x1E,0xFE,0x03,0x26,0x2E,0xFF,0x04,0x32,0x3C,0xFF,0x05 +,0x3F,0x4B,0xFF,0x06,0x4B,0x59,0xFF,0x08,0x69,0x7D,0xFF,0x0E,0xB6,0xD9,0xFF +,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD5,0xFF,0x01,0x08,0x0A,0xFE,0x00 +,0x01,0x01,0xD1,0xFF,0xFF,0xFF,0xFF,0x00,0xD5,0xFF,0xFF,0xFF,0x00,0x81,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0xFF,0x08,0x6C,0x81 +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5,0xD8,0xFF,0x01,0x07,0x09,0xFE +,0x00,0x00,0x00,0xC9,0xFF,0xFF,0xFF,0xFF,0x00,0x9D,0xFF,0xFF,0xFF,0x00,0x11 +,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0xFF,0x00,0x01,0x02,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x01,0xC5,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x60,0x00,0x00 +,0x00,0x5E,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x82,0x00 +,0x00,0x00,0x8F,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0xAE,0x00,0x00,0x00,0xC0 +,0x00,0x00,0x00,0xD2,0x00,0x01,0x01,0xE4,0x00,0x01,0x01,0xF6,0x82,0x00,0x00 +,0x00,0xFF,0x02,0x01,0x0F,0x11,0xFD,0x08,0x6A,0x7F,0xFF,0x0F,0xB9,0xDD,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x56,0x67,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x45,0xFF,0xFF,0xFF,0xFF,0x00,0xD4,0xFF,0xFF,0xFF,0x00,0x81,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x08,0x00,0x01,0x01,0xF0,0x03,0x23,0x2A +,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x49,0x58,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x2D,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x09,0x00,0x01,0x02,0xEB,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x75,0x8D,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x19 +,0x00,0x00,0x00,0x6D,0x00,0x01,0x01,0xE8,0x00,0x00,0x00,0xFF,0x02,0x1F,0x25 +,0xFE,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA6,0xC6,0xFF +,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA9,0xFF,0xFF,0xFF,0xFF,0x00,0xD4,0xFF +,0xFF,0xFF,0x00,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x97,0x00,0x00 +,0x00,0xFF,0x0C,0x9B,0xB9,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x94,0xB1 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x90,0xFF,0xFF,0xFF,0xFF,0x00,0x9D +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x79,0x00,0x04,0x04,0xDA,0x00,0x00 +,0x00,0x3D,0x90,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x09,0x00,0x00,0x00 +,0x99,0x00,0x00,0x00,0xFF,0x09,0x75,0x8B,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02 +,0x04,0x33,0x3D,0xFF,0x00,0x01,0x01,0xFA,0x00,0x00,0x00,0x13,0xFF,0xFF,0xFF +,0xFF,0x00,0xD3,0xFF,0xFF,0xFF,0x00,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x36,0x00,0x00,0x00,0xFF,0x07,0x53,0x63,0xFF,0x91,0x0F,0xBF,0xE4,0xFF +,0x02,0x02,0x1F,0x25,0xFE,0x00,0x01,0x02,0xEE,0x00,0x00,0x00,0x07,0xFF,0xFF +,0xFF,0xFF,0x00,0xB1,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0E,0x00,0x01 +,0x02,0xEE,0x02,0x16,0x1B,0xFE,0x0F,0xBB,0xDF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0A,0x7D,0x95,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x70,0xFF,0xFF +,0xFF,0xFF,0x00,0xD3,0xFF,0xFF,0xFF,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x01,0x01,0xD7,0x01,0x0E,0x11,0xFD,0x0F,0xBB,0xE0,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x6A,0x7E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x57,0xFF +,0xFF,0xFF,0xFF,0x00,0xB2,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x75,0x00 +,0x00,0x00,0xFF,0x09,0x70,0x85,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBA +,0xDE,0xFF,0x01,0x0D,0x10,0xFD,0x00,0x01,0x01,0xD5,0xFF,0xFF,0xFF,0xFF,0x00 +,0xD3,0xFF,0xFF,0xFF,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x76 +,0x00,0x00,0x00,0xFF,0x0A,0x82,0x9C,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E +,0xB0,0xD2,0xFF,0x00,0x04,0x05,0xFE,0x00,0x00,0x00,0xBB,0xFF,0xFF,0xFF,0xFF +,0x00,0xB2,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x09,0x00,0x01,0x02,0xEC +,0x02,0x19,0x1E,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x53,0x63,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x38,0xFF,0xFF,0xFF,0xFF,0x00,0xD2,0xFF,0xFF +,0xFF,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x19,0x00,0x00,0x00 +,0xFD,0x05,0x3A,0x46,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x40,0x4C,0xFF +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x20,0xBA,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x14,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x50,0x92,0x00,0x00,0x00 +,0x60,0x00,0x00,0x00,0x00,0x1A,0xB2,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00 +,0x0D,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x2A,0x00,0x00 +,0x00,0x22,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0xA5 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0xFF,0x0C,0x97 +,0xB4,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9E,0xBD,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x9C,0x9D,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x09 +,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x5F,0x97,0x00,0x00 +,0x00,0x60,0x02,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x11 +,0xA6,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x38,0x00 +,0x00,0x00,0x55,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x5E +,0x00,0x00,0x00,0x5F,0x98,0x00,0x00,0x00,0x60,0x01,0x00,0x00,0x00,0x53,0x00 +,0x00,0x00,0x16,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0B,0x00,0x00 +,0x00,0x5B,0x00,0x00,0x00,0xAA,0x9D,0x00,0x00,0x00,0xB8,0x03,0x00,0x00,0x00 +,0xB7,0x00,0x00,0x00,0x9C,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x33,0x99,0xFF +,0xFF,0xFF,0x00,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB5,0x00,0x02 +,0x03,0xFE,0x0E,0xAF,0xD0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA5 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9B,0x93,0x00,0x00,0x00,0x48,0x07 +,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x38,0x00,0x00,0x00 +,0x31,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x1A,0x00,0x00 +,0x00,0x03,0x9C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00 +,0xAE,0x95,0x00,0x00,0x00,0xFF,0x00,0x00,0x02,0x03,0x63,0xAB,0xFF,0xFF,0xFF +,0x00,0x06,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0x73,0x00 +,0x00,0x00,0x92,0x00,0x00,0x00,0xB1,0x00,0x00,0x00,0xCF,0x00,0x01,0x01,0xEF +,0x87,0x00,0x00,0x00,0xFF,0x06,0x00,0x00,0x00,0xFE,0x00,0x01,0x01,0xF2,0x00 +,0x00,0x00,0xC6,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x35 +,0x00,0x00,0x00,0x08,0x9E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x3A,0x00 +,0x00,0x00,0xFF,0x07,0x54,0x64,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x29 +,0x31,0xFF,0x00,0x01,0x01,0xF4,0x00,0x00,0x00,0x0C,0x96,0xFF,0xFF,0xFF,0x00 +,0x06,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x5E,0x00,0x00,0x00,0x85,0x00,0x00 +,0x00,0xA6,0x00,0x00,0x00,0xC6,0x00,0x01,0x01,0xE8,0x00,0x00,0x00,0xFE,0x9D +,0x00,0x00,0x00,0xFF,0x03,0x00,0x01,0x01,0xEC,0x00,0x00,0x00,0xBA,0x00,0x00 +,0x00,0x4E,0x00,0x00,0x00,0x01,0x9E,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00 +,0x11,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0xAD,0x00,0x01,0x01,0xF0,0xA0,0x00 +,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0xFE,0x00,0x00,0x01,0xD3,0x00,0x00,0x00 +,0x85,0x00,0x00,0x00,0x0C,0x89,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x23 +,0x00,0x01,0x02,0xDD,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xFF,0x9D,0x01,0x0A +,0x0C,0xFD,0x00,0x01,0x09,0x0A,0xFD,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x01 +,0x01,0xDC,0x00,0x00,0x00,0x53,0x97,0xFF,0xFF,0xFF,0x00,0x84,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0xFF,0x08,0x6A,0x7E,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x01,0x0F,0xBE,0xE2,0xFF,0x02,0x16,0x1B,0xFE,0x9B,0x00 +,0x00,0x00,0xFF,0x04,0x00,0x01,0x01,0xF9,0x00,0x01,0x01,0xD1,0x00,0x00,0x00 +,0xA5,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x13,0x98,0xFF,0xFF,0xFF,0x00,0x04 +,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0xFF,0x04,0x34,0x3F,0xFF,0x08,0x64,0x77 +,0xFF,0x0A,0x7B,0x93,0xFF,0x8E,0x0A,0x83,0x9C,0xFF,0x04,0x09,0x70,0x86,0xFF +,0x00,0x02,0x03,0xFF,0x00,0x01,0x01,0xF8,0x00,0x00,0x00,0x97,0x00,0x00,0x00 +,0x29,0xA8,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x5A +,0x00,0x00,0x00,0xA5,0x00,0x01,0x02,0xEE,0x82,0x00,0x00,0x00,0xFF,0x0D,0x00 +,0x04,0x05,0xFE,0x02,0x18,0x1D,0xFE,0x04,0x2F,0x38,0xFF,0x05,0x46,0x53,0xFF +,0x07,0x5B,0x6D,0xFF,0x08,0x62,0x75,0xFF,0x07,0x5C,0x6E,0xFF,0x07,0x57,0x68 +,0xFF,0x06,0x51,0x61,0xFF,0x06,0x4B,0x59,0xFF,0x05,0x45,0x52,0xFF,0x05,0x40 +,0x4C,0xFF,0x04,0x2F,0x38,0xFF,0x01,0x0B,0x0D,0xFD,0x82,0x00,0x00,0x00,0xFF +,0x04,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0xD4,0x00,0x00,0x00,0xA4,0x00,0x00 +,0x00,0x66,0x00,0x00,0x00,0x11,0x9A,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00 +,0x01,0x00,0x01,0x01,0xE2,0x01,0x13,0x16,0xFE,0x0F,0xBE,0xE2,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x09,0x74,0x8B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x63,0x93,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x67 +,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xFD,0x81,0x00,0x00,0x00,0xFF,0x06,0x00 +,0x01,0x01,0xFF,0x01,0x12,0x16,0xFD,0x03,0x2C,0x35,0xFF,0x05,0x45,0x52,0xFF +,0x07,0x5D,0x6F,0xFF,0x09,0x76,0x8C,0xFF,0x0B,0x88,0xA3,0xFF,0x97,0x0B,0x89 +,0xA4,0xFF,0x07,0x0A,0x80,0x99,0xFF,0x08,0x65,0x79,0xFF,0x06,0x49,0x58,0xFF +,0x04,0x2D,0x36,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01 +,0xD9,0x00,0x00,0x00,0x5F,0x9B,0xFF,0xFF,0xFF,0x00,0x08,0x00,0x00,0x00,0x55 +,0x00,0x00,0x00,0xBC,0x00,0x00,0x01,0xFC,0x00,0x00,0x00,0xFF,0x00,0x02,0x02 +,0xFE,0x03,0x2C,0x35,0xFF,0x06,0x4C,0x5B,0xFF,0x08,0x68,0x7C,0xFF,0x0A,0x80 +,0x99,0xFF,0x9C,0x0A,0x83,0x9C,0xFF,0x05,0x09,0x76,0x8D,0xFF,0x05,0x44,0x51 +,0xFF,0x01,0x10,0x13,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xDF,0x00,0x00 +,0x00,0x41,0x87,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x01,0x02 +,0xE6,0x00,0x01,0x01,0xFF,0x08,0x64,0x77,0xFF,0x0E,0xAF,0xD0,0xFF,0x9E,0x0F +,0xBF,0xE4,0xFF,0x05,0x0E,0xB0,0xD2,0xFF,0x0B,0x8F,0xAB,0xFF,0x07,0x54,0x64 +,0xFF,0x01,0x0C,0x0E,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x94,0x96,0xFF +,0xFF,0xFF,0x00,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x01 +,0x01,0xEE,0x03,0x21,0x28,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x00,0x0B,0x92,0xAE +,0xFF,0x94,0x09,0x77,0x8E,0xFF,0x0D,0x09,0x76,0x8D,0xFF,0x09,0x70,0x86,0xFF +,0x08,0x6A,0x7E,0xFF,0x08,0x63,0x76,0xFF,0x07,0x5D,0x6F,0xFF,0x07,0x56,0x67 +,0xFF,0x06,0x4F,0x5F,0xFF,0x05,0x3A,0x46,0xFF,0x02,0x1B,0x20,0xFE,0x00,0x02 +,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0xB4,0x00 +,0x00,0x00,0x3C,0x95,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x36,0x00,0x00 +,0x00,0xFF,0x05,0x3B,0x47,0xFF,0x0F,0xBE,0xE2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x06,0x4B,0x59,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x5B,0xA8,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0xC4,0x00,0x00,0x00 +,0xFD,0x81,0x00,0x00,0x00,0xFF,0x04,0x03,0x25,0x2C,0xFF,0x07,0x5F,0x72,0xFF +,0x0C,0x93,0xAF,0xFF,0x0E,0xAC,0xCE,0xFF,0x0F,0xBE,0xE3,0xFF,0x8C,0x0F,0xBF +,0xE4,0xFF,0x04,0x0D,0xA7,0xC7,0xFF,0x0A,0x83,0x9C,0xFF,0x07,0x5F,0x72,0xFF +,0x05,0x3B,0x47,0xFF,0x02,0x16,0x1B,0xFE,0x81,0x00,0x00,0x00,0xFF,0x03,0x00 +,0x01,0x01,0xFA,0x00,0x00,0x00,0xAD,0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x05 +,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0xFF,0x0B +,0x90,0xAC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5,0xD8,0xFF,0x01,0x07 +,0x09,0xFE,0x00,0x00,0x01,0xC7,0x92,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00 +,0x3B,0x00,0x01,0x01,0xDB,0x00,0x00,0x00,0xFF,0x00,0x05,0x06,0xFE,0x05,0x3B +,0x47,0xFF,0x0A,0x7B,0x93,0xFF,0x0D,0xA3,0xC2,0xFF,0x0F,0xBA,0xDE,0xFF,0xA1 +,0x0F,0xBF,0xE4,0xFF,0x05,0x0E,0xAF,0xD0,0xFF,0x07,0x5B,0x6D,0xFF,0x01,0x0A +,0x0C,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x0A,0x97 +,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xB8,0x00,0x00 +,0x00,0xFF,0x00,0x05,0x06,0xFE,0x05,0x3A,0x46,0xFF,0x09,0x76,0x8D,0xFF,0x0E +,0xB0,0xD2,0xFF,0xA2,0x0F,0xBF,0xE4,0xFF,0x04,0x0F,0xBE,0xE2,0xFF,0x08,0x69 +,0x7D,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x72,0x86 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xFF,0x09,0x71 +,0x87,0xFF,0xA3,0x0F,0xBF,0xE4,0xFF,0x03,0x0D,0xAA,0xCB,0xFF,0x03,0x29,0x31 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x59,0x95,0xFF,0xFF,0xFF,0x00,0x85 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x94,0x00,0x00,0x00,0xFF,0x0C,0x9A +,0xB7,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x06,0x0E,0xB8,0xDB,0xFF,0x0A,0x7F,0x97 +,0xFF,0x05,0x3A,0x46,0xFF,0x00,0x03,0x04,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00 +,0x00,0x9F,0x00,0x00,0x00,0x15,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x7C,0x00,0x00,0x00,0xFF,0x0B,0x8F,0xAB,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x01 +,0x02,0x1B,0x20,0xFE,0x00,0x01,0x01,0xE0,0xA7,0xFF,0xFF,0xFF,0x00,0x06,0x00 +,0x00,0x00,0x38,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0xFF,0x00,0x05,0x06,0xFE +,0x04,0x38,0x43,0xFF,0x09,0x72,0x88,0xFF,0x0D,0xAB,0xCC,0xFF,0x96,0x0F,0xBF +,0xE4,0xFF,0x07,0x0E,0xB1,0xD3,0xFF,0x09,0x73,0x8A,0xFF,0x04,0x2E,0x37,0xFF +,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xEC,0x00,0x00,0x00 +,0x93,0x00,0x00,0x00,0x35,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x30 +,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5A,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x06 +,0x49,0x58,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2B,0x90,0xFF,0xFF,0xFF +,0x00,0x04,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0xFD,0x00,0x06,0x07,0xFE,0x08 +,0x67,0x7A,0xFF,0x0E,0xB5,0xD8,0xFF,0xA7,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xB4 +,0xD7,0xFF,0x05,0x3E,0x4A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xD1,0x00 +,0x00,0x00,0x10,0x95,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x5C,0x00,0x01 +,0x01,0xF7,0x00,0x01,0x01,0xFF,0x06,0x47,0x55,0xFF,0x0E,0xAF,0xD1,0xFF,0xA7 +,0x0F,0xBF,0xE4,0xFF,0x03,0x0D,0xA3,0xC3,0xFF,0x02,0x1E,0x24,0xFE,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x70,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x1E,0x00,0x00,0x00,0xFE,0x04,0x33,0x3D,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0E,0xAF,0xD1,0xFF,0x01,0x0F,0x11,0xFD,0x00,0x01,0x01,0xED,0x00,0x00,0x00 +,0x13,0x94,0xFF,0xFF,0xFF,0x00,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x34,0x00,0x00,0x00,0xFF,0x06,0x51,0x61,0xFF,0xB2,0x0F,0xBF,0xE4,0xFF,0x04 +,0x0D,0xA2,0xC1,0xFF,0x04,0x32,0x3C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x02 +,0xEF,0x00,0x00,0x00,0x4C,0x92,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x84 +,0x00,0x00,0x00,0xFF,0x0D,0xA5,0xC5,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x01,0x02 +,0x13,0x17,0xFE,0x00,0x00,0x00,0xCA,0xA5,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00 +,0x00,0x24,0x00,0x00,0x00,0xAB,0x00,0x00,0x00,0xFF,0x00,0x02,0x03,0xFE,0x06 +,0x4F,0x5E,0xFF,0x0E,0xAE,0xCF,0xFF,0x9C,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA9 +,0xC9,0xFF,0x08,0x65,0x79,0xFF,0x02,0x20,0x26,0xFE,0x81,0x00,0x00,0x00,0xFF +,0x02,0x00,0x01,0x01,0xD8,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x01,0x94,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x01,0xD5,0x01,0x0C,0x0E,0xFD,0x0F,0xBB,0xDF +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x93,0xAF,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x86,0x8F,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x5C,0x00 +,0x00,0x00,0xFF,0x03,0x2A,0x32,0xFF,0x0D,0xA3,0xC2,0xFF,0xAB,0x0F,0xBF,0xE4 +,0xFF,0x03,0x08,0x60,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xB5,0x00 +,0x00,0x00,0x01,0x93,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x4F,0x00,0x01 +,0x01,0xFC,0x02,0x15,0x19,0xFE,0x0B,0x92,0xAE,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF +,0x03,0x0E,0xAF,0xD0,0xFF,0x02,0x1D,0x22,0xFE,0x00,0x01,0x01,0xF8,0x00,0x00 +,0x00,0x1B,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x42,0x00,0x00,0x00 +,0xFF,0x08,0x6A,0x7E,0xFF,0xA6,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x75,0x8B,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6F,0x94,0xFF,0xFF,0xFF,0x00,0x86,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD5,0x01,0x0D,0x10,0xFD,0x0F,0xBB,0xDF +,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x03,0x0A,0x7D,0x95,0xFF,0x01,0x0F,0x11,0xFD +,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x79,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x7B,0x00,0x00,0x00,0xFF,0x0B,0x8B,0xA6,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x01,0x03,0x26,0x2E,0xFF,0x00,0x01,0x01,0xE2,0xA4,0xFF,0xFF,0xFF,0x00 +,0x04,0x00,0x00,0x00,0x2F,0x00,0x01,0x01,0xF0,0x00,0x00,0x00,0xFF,0x05,0x3C +,0x48,0xFF,0x0D,0xA2,0xC1,0xFF,0xA1,0x0F,0xBF,0xE4,0xFF,0x05,0x0C,0x9B,0xB9 +,0xFF,0x07,0x57,0x68,0xFF,0x01,0x0E,0x11,0xFD,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x01,0xC7,0x00,0x00,0x00,0x35,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x7B,0x00,0x00,0x00,0xFF,0x0A,0x84,0x9D,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0F,0xBE,0xE3,0xFF,0x02,0x15,0x19,0xFE,0x00,0x01,0x01,0xDD,0x8E,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x15,0x00,0x01,0x02,0xEE,0x01,0x0F,0x12,0xFD +,0x0E,0xB1,0xD3,0xFF,0xAD,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x47,0x55,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x81,0x92,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x39,0x00,0x01,0x01,0xF8,0x01,0x0F,0x11,0xFD,0x0D,0xA2,0xC1,0xFF,0xAC +,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x89,0xA4,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x96,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x62,0x00,0x00,0x00 +,0xFF,0x0A,0x7F,0x98,0xFF,0xA6,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB6,0xD9,0xFF +,0x01,0x07,0x08,0xFE,0x00,0x00,0x00,0xCB,0x94,0xFF,0xFF,0xFF,0x00,0x86,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0xFF,0x0A,0x81,0x9A +,0xFF,0xB4,0x0F,0xBF,0xE4,0xFF,0x04,0x0D,0xA9,0xC9,0xFF,0x03,0x23,0x29,0xFE +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0x07,0x8F,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0xFF,0x06,0x48,0x56,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3F,0x4B,0xFF,0x00,0x01,0x01,0xFC,0x00 +,0x00,0x00,0x12,0xA2,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x24,0x00,0x01 +,0x02,0xEA,0x00,0x04,0x04,0xFE,0x0B,0x87,0xA1,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF +,0x05,0x0E,0xB4,0xD7,0xFF,0x07,0x54,0x64,0xFF,0x00,0x02,0x03,0xFE,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x17,0x91,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0xFF,0x05,0x40,0x4C,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x07,0x55,0x66,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x33,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0xFF +,0x0A,0x7E,0x96,0xFF,0xAE,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB8,0xDC,0xFF,0x03 +,0x24,0x2B,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x2D,0x90,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xCC,0x00,0x04,0x05,0xFE,0x0C +,0x99,0xB6,0xFF,0xAE,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x2A,0x32,0xFF,0x00,0x01 +,0x01,0xFA,0x00,0x00,0x00,0x11,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x4C,0x00,0x00,0x00,0xFF,0x08,0x66,0x7A,0xFF,0xA7,0x0F,0xBF,0xE4,0xFF,0x02 +,0x05,0x43,0x50,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x27,0x93,0xFF,0xFF +,0xFF,0x00,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x17,0x00,0x01,0x01 +,0xFC,0x04,0x38,0x43,0xFF,0xB5,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xB7,0xDA,0xFF +,0x05,0x3D,0x49,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xAB,0x00,0x00,0x00 +,0x02,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD1,0x01,0x0A,0x0C,0xFE +,0x0F,0xB9,0xDD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7E,0x96,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x67,0xA1,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x1B,0x00,0x01,0x02,0xE1,0x00,0x02,0x02,0xFE,0x0A,0x81,0x9A,0xFF,0xA8 +,0x0F,0xBF,0xE4,0xFF,0x05,0x0D,0xA0,0xBE,0xFF,0x04,0x32,0x3C,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x01,0x01,0xF2,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x05,0x90 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC5,0x00,0x06,0x07,0xFE,0x0E,0xB5 +,0xD8,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB4,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x8A,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x09 +,0x00,0x01,0x01,0xF6,0x03,0x2C,0x35,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF,0x02,0x0B +,0x91,0xAD,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8C,0x90,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0xFF,0x07,0x53,0x63,0xFF,0xAF +,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x74,0x8B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x64,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x01,0x01 +,0xEF,0x03,0x24,0x2B,0xFE,0xA7,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x88,0xA3,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x83,0x93,0xFF,0xFF,0xFF,0x00,0x87,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB3,0x00,0x02,0x02,0xFE,0x0E,0xAD,0xCF +,0xFF,0xB5,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x05,0x40,0x4D,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x90,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x75,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0E,0xB8,0xDC,0xFF,0x01,0x08,0x0A,0xFE,0x00,0x00,0x00,0xC2,0xA1 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBB,0x00,0x00,0x00,0xFF,0x09,0x74 +,0x8B,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x04,0x0A,0x81,0x9A,0xFF,0x02,0x16,0x1B +,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xDA,0x00,0x00,0x00,0x3D,0x8F,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0xFF,0x09,0x78,0x8F +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x17,0x1C,0xFE,0x00,0x01,0x01,0xE1 +,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0xFF,0x09 +,0x6D,0x82,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x02,0x17 +,0x1C,0xFE,0x00,0x01,0x01,0xE9,0x00,0x00,0x00,0x03,0x8F,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x01,0x01,0xD8,0x01,0x09,0x0B,0xFE,0x0E,0xAF,0xD1,0xFF,0xAF,0x0F +,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD5,0xFF,0x00,0x04,0x04,0xFE,0x00,0x00,0x00 +,0xBD,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xFF +,0x0D,0xA1,0xC0,0xFF,0xA6,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBD,0xE1,0xFF,0x01 +,0x10,0x13,0xFD,0x00,0x01,0x01,0xDF,0x00,0x00,0x00,0x01,0x92,0xFF,0xFF,0xFF +,0x00,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x52,0x00,0x00,0x00,0xFF +,0x08,0x67,0x7B,0xFF,0xB6,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBA,0xDE,0xFF,0x04 +,0x30,0x39,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x73,0x8E,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0xFE,0x05,0x3D,0x48,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x46,0x53,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00 +,0x00,0x1E,0x9F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x17,0x00,0x00,0x00 +,0xFD,0x05,0x3A,0x46,0xFF,0xAD,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xB8,0xDC,0xFF +,0x07,0x5F,0x72,0xFF,0x00,0x05,0x06,0xFE,0x00,0x01,0x01,0xF9,0x00,0x00,0x00 +,0x51,0x8E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x14,0x00,0x00,0x01,0xFC +,0x04,0x34,0x3E,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x58,0x6A,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x37,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xA0,0x00,0x00,0x00,0xFF,0x0D,0xA9,0xCA,0xFF,0xB1,0x0F,0xBF,0xE4,0xFF +,0x02,0x07,0x5E,0x70,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x48,0x8E,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xFF,0x06,0x4E,0x5D +,0xFF,0xB1,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x45,0xFF,0x00,0x00,0x00,0xFD +,0x00,0x00,0x00,0x18,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x43,0x00 +,0x00,0x00,0xFF,0x07,0x5F,0x72,0xFF,0xA7,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x53 +,0x63,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3B,0x92,0xFF,0xFF,0xFF,0x00 +,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x01,0x01,0xED,0x02 +,0x1F,0x25,0xFE,0xB7,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB4,0xD7,0xFF,0x03,0x21 +,0x27,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x58,0x8E,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xC0,0x00,0x05,0x05,0xFE,0x0E,0xB3,0xD6,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x0B,0x8A,0xA5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x77,0x9F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0xFF +,0x0A,0x7C,0x94,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x03,0x0C,0x9D,0xBB,0xFF,0x01 +,0x11,0x14,0xFD,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x63,0x8E,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xB5,0x00,0x02,0x02,0xFE,0x0E,0xAD,0xCF,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9A,0xB7,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x8E,0x8B,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x02,0xE9,0x03,0x25,0x2C +,0xFF,0xB2,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA4,0xC4,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0xA6,0x8E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6D,0x00 +,0x00,0x00,0xFF,0x0A,0x85,0x9F,0xFF,0xB1,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7C +,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6E,0x82,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x03,0x00,0x01,0x01,0xE9,0x02,0x1D,0x22,0xFE,0xA7,0x0F +,0xBF,0xE4,0xFF,0x02,0x0C,0x99,0xB6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x97,0x92,0xFF,0xFF,0xFF,0x00,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x92,0x00,0x00,0x00,0xFF,0x0C,0x97,0xB5,0xFF,0xB7,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0D,0xAB,0xCC,0xFF,0x02,0x15,0x19,0xFD,0x00,0x01,0x01,0xFA,0x00,0x00,0x00 +,0x40,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0xFF +,0x09,0x75,0x8B,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBD,0xE1,0xFF,0x01 +,0x10,0x13,0xFD,0x00,0x01,0x01,0xD3,0x9F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xBE,0x00,0x05,0x06,0xFE,0x0E,0xB5,0xD8,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF +,0x03,0x0D,0xA6,0xC6,0xFF,0x02,0x18,0x1D,0xFD,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x77,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5A,0x00,0x00,0x00 +,0xFF,0x08,0x6C,0x81,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x1A,0x1F,0xFE +,0x00,0x01,0x02,0xE5,0x00,0x00,0x00,0x01,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x08,0x00,0x00,0x00,0xFF,0x05,0x46,0x53,0xFF,0xB3,0x0F,0xBF,0xE4 +,0xFF,0x02,0x03,0x2B,0x34,0xFF,0x00,0x01,0x01,0xF7,0x00,0x00,0x00,0x0E,0x8D +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAB,0x00,0x02,0x02,0xFE,0x0E,0xB7 +,0xDA,0xFF,0xB1,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB7,0xDA,0xFF,0x01,0x07,0x09 +,0xFE,0x00,0x00,0x00,0xC6,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x92 +,0x00,0x00,0x00,0xFF,0x0C,0x9A,0xB8,0xFF,0xA7,0x0F,0xBF,0xE4,0xFF,0x02,0x02 +,0x1E,0x24,0xFE,0x00,0x01,0x01,0xEE,0x00,0x00,0x00,0x06,0x91,0xFF,0xFF,0xFF +,0x00,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0xFF +,0x06,0x4F,0x5E,0xFF,0xB8,0x0F,0xBF,0xE4,0xFF,0x03,0x0D,0xA0,0xBF,0xFF,0x01 +,0x0B,0x0E,0xFD,0x00,0x01,0x01,0xF2,0x00,0x00,0x00,0x2D,0x8C,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x11,0x00,0x01,0x01,0xFA,0x04,0x31,0x3A,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x52,0x62,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x2D,0x9D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x16,0x00,0x00,0x00 +,0xFD,0x05,0x3C,0x48,0xFF,0x96,0x0F,0xBF,0xE4,0xFF,0x07,0x0E,0xB7,0xDA,0xFF +,0x0B,0x8D,0xA8,0xFF,0x0A,0x84,0x9D,0xFF,0x0A,0x7E,0x96,0xFF,0x09,0x78,0x8F +,0xFF,0x09,0x76,0x8C,0xFF,0x0C,0x95,0xB2,0xFF,0x0E,0xB8,0xDC,0xFF,0x93,0x0F +,0xBF,0xE4,0xFF,0x04,0x0E,0xAD,0xCF,0xFF,0x03,0x22,0x28,0xFE,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x01,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x0B,0x00,0x01,0x01,0xF5,0x03,0x28,0x30,0xFF,0x91,0x0F,0xBF +,0xE4,0xFF,0x02,0x07,0x5C,0x6E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3C +,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xFF,0x07 +,0x5C,0x6E,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x72,0x88,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x63,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0xBD,0x01,0x0C,0x0F,0xFD,0xB3,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x43,0x50,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x20,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x39,0x00,0x00,0x00,0xFF,0x07,0x58,0x6A,0xFF,0xA7,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x64,0x77,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x50,0x91 +,0xFF,0xFF,0xFF,0x00,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x01,0xD2,0x01 +,0x0C,0x0E,0xFD,0x0F,0xBA,0xDE,0xFF,0xB8,0x0F,0xBF,0xE4,0xFF,0x03,0x0B,0x92 +,0xAE,0xFF,0x00,0x05,0x06,0xFE,0x00,0x01,0x01,0xDA,0x00,0x00,0x00,0x08,0x8C +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB1,0x00,0x01,0x01,0xFF,0x0D,0xAB +,0xCC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB4,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x88,0x9D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4C +,0x00,0x00,0x00,0xFF,0x09,0x70,0x86,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x03,0x0D +,0xA9,0xC9,0xFF,0x09,0x6E,0x83,0xFF,0x04,0x35,0x3F,0xFF,0x00,0x04,0x05,0xFE +,0x85,0x00,0x00,0x00,0xFF,0x03,0x00,0x02,0x02,0xFE,0x03,0x21,0x28,0xFE,0x06 +,0x49,0x57,0xFF,0x0C,0x94,0xB0,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB3 +,0xD6,0xFF,0x03,0x2C,0x34,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7C,0x8C +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0xFF,0x0D,0xA3 +,0xC3,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBB,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x92,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x44 +,0x00,0x00,0x00,0xFF,0x09,0x73,0x8A,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x02,0x0E +,0xB2,0xD5,0xFF,0x00,0x05,0x05,0xFE,0x00,0x00,0x00,0xC1,0x8D,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0xCB,0x02,0x16,0x1B,0xFE,0xB3,0x0F,0xBF,0xE4,0xFF +,0x02,0x0A,0x85,0x9F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x77,0x82,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xE1,0x02,0x16,0x1A +,0xFE,0x0F,0xBE,0xE3,0xFF,0xA6,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA8,0xC8,0xFF +,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAC,0x91,0xFF,0xFF,0xFF,0x00,0x89,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xFF,0x0A,0x7F,0x97 +,0xFF,0xB9,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6D,0x82,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x8B,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x56,0x00 +,0x00,0x00,0xFF,0x08,0x69,0x7D,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x1A +,0x1F,0xFE,0x00,0x01,0x02,0xE3,0x00,0x00,0x00,0x01,0x9C,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0xFF,0x0A,0x82,0x9B,0xFF,0x92,0x0F +,0xBF,0xE4,0xFF,0x11,0x09,0x6F,0x84,0xFF,0x00,0x05,0x06,0xFE,0x00,0x00,0x00 +,0xFF,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0xB7,0x00,0x00,0x00,0x70,0x00,0x00 +,0x00,0x5A,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,0x4D,0x00 +,0x00,0x00,0x77,0x00,0x00,0x00,0xA9,0x00,0x01,0x01,0xDC,0x00,0x00,0x00,0xFE +,0x00,0x00,0x00,0xFF,0x04,0x2D,0x35,0xFF,0x0B,0x86,0xA0,0xFF,0x0F,0xBE,0xE3 +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB7,0xDA,0xFF,0x02,0x1E,0x24,0xFE +,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x3B,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x4A,0x00,0x00,0x00,0xFF,0x08,0x60,0x72,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x02,0x1D,0x23,0xFE,0x00,0x01,0x02,0xE9,0x00,0x00,0x00,0x02,0x88 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xFF,0x0B,0x89 +,0xA4,0xFF,0xB4,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3F,0x4B,0xFF,0x00,0x00,0x00 +,0xFE,0x00,0x00,0x00,0x20,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0xD9 +,0x03,0x21,0x27,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBB,0xDF,0xFF,0x01 +,0x0C,0x0E,0xFE,0x00,0x01,0x01,0xD1,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0xFF,0x0C,0x94,0xB0,0xFF,0x95,0x0F,0xBF,0xE4,0xFF +,0x01,0x0F,0xBE,0xE2,0xFF,0x0C,0x9D,0xBC,0xFF,0x8B,0x0C,0x9B,0xB9,0xFF,0x00 +,0x0D,0xA5,0xC5,0xFF,0x82,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2F,0x38,0xFF,0x00 +,0x01,0x01,0xF9,0x00,0x00,0x00,0x10,0x90,0xFF,0xFF,0xFF,0x00,0x89,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x16,0x00,0x01,0x01,0xFB,0x04,0x36,0x40,0xFF +,0xB9,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x04,0x2D,0x35,0xFF,0x00 +,0x01,0x01,0xFD,0x00,0x00,0x00,0x37,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x09,0x00,0x01,0x01,0xF3,0x03,0x25,0x2C,0xFF,0x91,0x0F,0xBF,0xE4,0xFF +,0x02,0x07,0x5E,0x71,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3E,0x9C,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0xFF,0x0B,0x8F,0xAB +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x05,0x0E,0xB1,0xD3,0xFF,0x05,0x3A,0x46,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xDB,0x00,0x00,0x00,0x52,0x00,0x00,0x00 +,0x0B,0x88,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x9A +,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0xFF,0x04,0x31,0x3B,0xFF,0x0E,0xB7,0xDA +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0C,0x9D,0xBC,0xFF,0x00,0x06,0x07,0xFE +,0x00,0x01,0x01,0xE3,0x00,0x00,0x00,0x11,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x04,0x00,0x01,0x01,0xEB,0x02,0x1C,0x21,0xFE,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x07,0x5F,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x40,0x88 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xFF,0x0B,0x8D +,0xA8,0xFF,0xB4,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x85,0x9F,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x7D,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xE8 +,0x03,0x2A,0x32,0xFF,0x9A,0x0F,0xBF,0xE4,0xFF,0x09,0x0E,0xB2,0xD4,0xFF,0x0C +,0x99,0xB6,0xFF,0x0C,0x93,0xAF,0xFF,0x0C,0x99,0xB6,0xFF,0x0D,0xA0,0xBE,0xFF +,0x0D,0xA6,0xC6,0xFF,0x0E,0xAC,0xCE,0xFF,0x0E,0xB3,0xD6,0xFF,0x0F,0xB9,0xDD +,0xFF,0x0F,0xBE,0xE3,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4B,0x59,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x29,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x30,0x00,0x00,0x00,0xFF,0x06,0x51,0x61,0xFF,0x93,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0F,0xBB,0xE0,0xFF,0x08,0x6C,0x81,0xFF,0x02,0x19,0x1E,0xFE,0x8D +,0x00,0x00,0x00,0xFF,0x05,0x04,0x2E,0x37,0xFF,0x0A,0x81,0x9A,0xFF,0x0F,0xBE +,0xE2,0xFF,0x09,0x74,0x8B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x64,0x90 +,0xFF,0xFF,0xFF,0x00,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB0,0x00 +,0x02,0x02,0xFE,0x0D,0xAC,0xCD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x00,0x09,0x72 +,0x88,0xFF,0x8E,0x06,0x4D,0x5C,0xFF,0x03,0x07,0x5B,0x6C,0xFF,0x09,0x78,0x8F +,0xFF,0x0C,0x94,0xB1,0xFF,0x0E,0xB1,0xD3,0xFF,0x94,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0D,0xA3,0xC2,0xFF,0x00,0x05,0x06,0xFE,0x00,0x01,0x01,0xD7,0x00,0x00,0x00 +,0x07,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0xFF +,0x0D,0xA1,0xC0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA3,0xC2,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x98,0x9C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x7F,0x00,0x00,0x00,0xFF,0x0C,0x9D,0xBC,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x04,0x0F,0xBA,0xDE,0xFF,0x02,0x19,0x1E,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x9E,0x00,0x00,0x00,0x0B,0x8C,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00 +,0x1A,0x00,0x00,0x00,0x9D,0x00,0x00,0x00,0xFF,0x03,0x2B,0x34,0xFF,0x0E,0xB4 +,0xD7,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x73,0x89,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0xAF,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x94 +,0x00,0x00,0x00,0xFF,0x0C,0x98,0xB6,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D +,0xA0,0xBF,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x97,0x88,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xFF,0x0B,0x89,0xA4,0xFF,0xB4 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBC,0xE0,0xFF,0x01,0x0F,0x12,0xFE,0x00,0x01 +,0x01,0xDB,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xF6,0x04,0x34,0x3E +,0xFF,0x96,0x0F,0xBF,0xE4,0xFF,0x03,0x0D,0xA9,0xC9,0xFF,0x06,0x4A,0x59,0xFF +,0x03,0x24,0x2B,0xFF,0x01,0x09,0x0B,0xFE,0x89,0x00,0x00,0x00,0xFF,0x0B,0x00 +,0x05,0x06,0xFE,0x01,0x0B,0x0D,0xFE,0x01,0x11,0x14,0xFE,0x02,0x17,0x1C,0xFE +,0x02,0x1E,0x24,0xFF,0x03,0x24,0x2B,0xFF,0x03,0x2B,0x33,0xFF,0x04,0x37,0x42 +,0xFF,0x07,0x56,0x67,0xFF,0x09,0x76,0x8D,0xFF,0x0C,0x96,0xB3,0xFF,0x0E,0xB5 +,0xD8,0xFF,0x83,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8E,0xA9,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x81,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD9 +,0x01,0x10,0x13,0xFE,0x0F,0xBD,0xE1,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x03,0x09 +,0x77,0x8E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xEF,0x00,0x00,0x00,0x93 +,0x8B,0x00,0x00,0x00,0x80,0x06,0x00,0x00,0x00,0xA1,0x00,0x01,0x01,0xF9,0x00 +,0x00,0x00,0xFF,0x04,0x2D,0x36,0xFF,0x0C,0x9A,0xB8,0xFF,0x00,0x05,0x06,0xFE +,0x00,0x00,0x00,0xC0,0x90,0xFF,0xFF,0xFF,0x00,0x8A,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0xFF,0x08,0x66,0x7A,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x00,0x09,0x70,0x85,0xFF,0x92,0x00,0x00,0x00,0xFF,0x01,0x03,0x26 +,0x2D,0xFE,0x0B,0x8B,0xA5,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x68,0x7C +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x86,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xFF,0x07,0x5D,0x6F,0xFF,0x91,0x0F,0xBF +,0xE4,0xFF,0x02,0x03,0x27,0x2E,0xFF,0x00,0x01,0x02,0xEF,0x00,0x00,0x00,0x06 +,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0xFF,0x0D +,0xAC,0xCD,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x6B,0x80,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x79,0x90,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00 +,0x85,0x00,0x00,0x00,0xFF,0x03,0x26,0x2D,0xFE,0x0E,0xB5,0xD8,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x05,0x40,0x4D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x6B,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x39,0x00,0x00,0x00,0xFF +,0x07,0x54,0x64,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x21,0x27,0xFE,0x00 +,0x01,0x02,0xEC,0x00,0x00,0x00,0x03,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x5A,0x00,0x00,0x00,0xFF,0x0A,0x85,0x9F,0xFF,0x95,0x0F,0xBF,0xE4,0xFF +,0x04,0x0E,0xB7,0xDA,0xFF,0x0D,0xA6,0xC6,0xFF,0x0C,0x94,0xB1,0xFF,0x0A,0x83 +,0x9C,0xFF,0x09,0x78,0x8F,0xFF,0x8C,0x09,0x77,0x8E,0xFF,0x07,0x0A,0x79,0x91 +,0xFF,0x0A,0x7E,0x96,0xFF,0x0A,0x82,0x9C,0xFF,0x0B,0x87,0xA1,0xFF,0x0B,0x8B +,0xA6,0xFF,0x0B,0x8F,0xAB,0xFF,0x0C,0x94,0xB0,0xFF,0x0D,0xA8,0xC8,0xFF,0x85 +,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x53,0x63,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x39,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00 +,0xFF,0x05,0x3D,0x49,0xFF,0x95,0x0F,0xBF,0xE4,0xFF,0x16,0x09,0x70,0x85,0xFF +,0x00,0x05,0x06,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xDF,0x00,0x00,0x00 +,0xBD,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x72,0x00,0x00 +,0x00,0x7A,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x8F,0x00 +,0x00,0x00,0x98,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0xAA,0x00,0x00,0x00,0xB3 +,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0xC5,0x00,0x00,0x00,0xCE,0x00,0x00,0x00 +,0xD7,0x00,0x01,0x01,0xE0,0x00,0x01,0x01,0xEA,0x00,0x01,0x01,0xF9,0x83,0x00 +,0x00,0x00,0xFF,0x06,0x02,0x15,0x19,0xFE,0x04,0x36,0x40,0xFF,0x08,0x67,0x7B +,0xFF,0x0E,0xB7,0xDA,0xFF,0x0F,0xBE,0xE2,0xFF,0x01,0x12,0x15,0xFE,0x00,0x01 +,0x01,0xDA,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7F,0x00,0x00,0x00 +,0xFF,0x0B,0x8C,0xA7,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF +,0x02,0x1F,0x25,0xFE,0x00,0x01,0x01,0xF2,0x00,0x00,0x00,0x10,0x8D,0xFF,0xFF +,0xFF,0x00,0x06,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xFE +,0x01,0x09,0x0A,0xFE,0x01,0x10,0x13,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x1E,0x8F,0xFF,0xFF,0xFF,0x00,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x05,0x00,0x01,0x01,0xEB,0x02,0x1D,0x23,0xFE,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0E,0xAF,0xD1,0xFF,0x00,0x03,0x03,0xFE,0x00,0x00,0x00,0xC6,0x8C,0x00,0x00 +,0x00,0x18,0x07,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x7B +,0x00,0x00,0x00,0xA7,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0xFF,0x04,0x38,0x43 +,0xFF,0x0E,0xB5,0xD8,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBD,0xE1,0xFF +,0x03,0x28,0x30,0xFE,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x34,0x8A,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x01,0x01,0xE9,0x02,0x1A,0x1F,0xFE +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x6B,0x80,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x4E,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA1,0x00,0x00 +,0x00,0xFF,0x0F,0xBA,0xDE,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB5,0xD8 +,0xFF,0x01,0x0F,0x11,0xFD,0x00,0x01,0x02,0xE4,0x00,0x00,0x00,0x07,0x91,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFF,0x07,0x54,0x64 +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB5,0xD7,0xFF,0x02,0x18,0x1D,0xFD +,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x2E,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x01,0x01,0xDF,0x01,0x12,0x15,0xFE,0x0F,0xBE,0xE2,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x62,0x75,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x44,0x87 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0xFF,0x0A,0x82 +,0x9B,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x99,0xB6,0xFF,0x06,0x4F,0x5E +,0xFF,0x01,0x0E,0x11,0xFE,0x99,0x00,0x00,0x00,0xFF,0x03,0x01,0x0D,0x10,0xFE +,0x04,0x35,0x3F,0xFF,0x09,0x73,0x8A,0xFF,0x0E,0xB5,0xD7,0xFF,0x81,0x0F,0xBF +,0xE4,0xFF,0x02,0x0C,0x9A,0xB7,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x97 +,0x8B,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xF7,0x04,0x34,0x3E,0xFF,0x94 +,0x0F,0xBF,0xE4,0xFF,0x03,0x0B,0x88,0xA2,0xFF,0x00,0x01,0x01,0xFF,0x00,0x01 +,0x01,0xDE,0x00,0x00,0x00,0x46,0x92,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x00,0x00 +,0x02,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x75,0x00,0x00 +,0x00,0x9F,0x00,0x00,0x00,0xC9,0x00,0x01,0x01,0xF3,0x00,0x00,0x00,0xFF,0x01 +,0x0F,0x11,0xFD,0x08,0x67,0x7B,0xFF,0x06,0x4C,0x5A,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x32,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x27,0x00 +,0x00,0x00,0xFF,0x06,0x4A,0x59,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBB +,0xDF,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xAA,0x90,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x44,0x00,0x01,0x02,0xEA,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x78,0x8F,0xFF,0xFF,0xFF,0x00,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xFF,0x0C,0x95,0xB2,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x04,0x36,0x40,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x18 +,0x8F,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xA1,0x00 +,0x00,0x00,0xFF,0x03,0x22,0x28,0xFE,0x0D,0xAB,0xCC,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0D,0xA0,0xBE,0xFF,0x00,0x04,0x05,0xFE,0x00,0x01,0x01,0xD4,0x00 +,0x00,0x00,0x06,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x91,0x00,0x00 +,0x00,0xFF,0x0C,0x95,0xB2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAD,0xCF +,0xFF,0x00,0x02,0x02,0xFE,0x00,0x00,0x00,0xA9,0x9B,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0xAC,0x00,0x03,0x03,0xFE,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x61,0x74,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x64,0x92,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xC2,0x00,0x02,0x02,0xFE,0x0C +,0x9A,0xB7,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x02 +,0x03,0xFE,0x00,0x00,0x00,0xC0,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x84,0x00,0x00,0x00,0xFF,0x0B,0x8C,0xA7,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0D,0xA3,0xC3,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9B,0x87,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0xFF,0x0A,0x7A,0x92,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x07,0x0A,0x7D,0x95,0xFF,0x00,0x02,0x03,0xFE,0x00 +,0x00,0x00,0xFF,0x00,0x01,0x01,0xD0,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0x5A,0x8D,0x00,0x00,0x00,0x48,0x11,0x00 +,0x00,0x00,0x4A,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0x5C +,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x70,0x00,0x00,0x00 +,0x98,0x00,0x00,0x00,0xCC,0x00,0x01,0x01,0xFA,0x00,0x00,0x00,0xFF,0x01,0x07 +,0x08,0xFE,0x06,0x49,0x57,0xFF,0x0E,0xAD,0xCF,0xFF,0x0F,0xBF,0xE4,0xFF,0x02 +,0x20,0x26,0xFE,0x00,0x01,0x01,0xEF,0x00,0x00,0x00,0x07,0x8A,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0xD5,0x02,0x1A,0x1F,0xFE,0x93,0x0F,0xBF,0xE4,0xFF +,0x03,0x0E,0xB6,0xD9,0xFF,0x01,0x0B,0x0D,0xFD,0x00,0x01,0x01,0xF0,0x00,0x00 +,0x00,0x24,0x99,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x00,0x00 +,0x6A,0x00,0x01,0x01,0xE6,0x00,0x00,0x00,0xFF,0x00,0x02,0x02,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x8B,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01 +,0xCF,0x01,0x0B,0x0D,0xFE,0x0F,0xBB,0xDF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0F,0xBC,0xE0,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA8,0x91,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x21,0x00,0x01,0x02,0xDD,0x00,0x00,0x00,0xFF +,0x00,0x00,0x01,0xD5,0x8F,0xFF,0xFF,0xFF,0x00,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x2F,0x00,0x00,0x00,0xFF,0x06,0x4D,0x5C,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0A,0x79,0x91,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6F +,0x91,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0xFE,0x02 +,0x15,0x19,0xFE,0x0E,0xAC,0xCE,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x63 +,0x76,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7E,0x8A,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0xFF,0x06,0x52,0x61,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x04,0x34,0x3E,0xFF,0x00,0x01,0x01,0xF7,0x00,0x00,0x00 +,0x0D,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0xFF +,0x0E,0xB3,0xD6,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x45,0xFF,0x00 +,0x00,0x00,0xFD,0x00,0x00,0x00,0x04,0x93,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x29,0x00,0x01,0x01,0xFA,0x03,0x26,0x2D,0xFE,0x0F,0xBD,0xE1,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4F,0x5F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x4F,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x29,0x00,0x00,0x00 +,0xFF,0x06,0x48,0x56,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x24,0x2C,0xFF +,0x00,0x01,0x02,0xEF,0x00,0x00,0x00,0x05,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x30,0x00,0x00,0x00,0xFF,0x07,0x5F,0x72,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0D,0xA3,0xC3,0xFF,0x00,0x02,0x02,0xFE,0x00,0x01,0x02,0xE5,0x00 +,0x00,0x00,0x34,0x9B,0xFF,0xFF,0xFF,0x00,0x08,0x00,0x00,0x00,0x0F,0x00,0x00 +,0x00,0x66,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0xFF,0x01,0x0B,0x0D,0xFD,0x09 +,0x73,0x8A,0xFF,0x08,0x66,0x7A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x53 +,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB4,0x00,0x03,0x04,0xFE,0x0F +,0xBD,0xE1,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x76,0x8D,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x6B,0x9C,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00 +,0x08,0x00,0x00,0x00,0x71,0x00,0x01,0x01,0xF1,0x00,0x00,0x00,0xFF,0x00,0x01 +,0x01,0xE3,0x00,0x00,0x00,0x01,0x82,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x76,0x00,0x00,0x00,0xFF,0x0A,0x85,0x9F,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0F,0xBE,0xE3,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA8,0x92,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x21,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x31,0x8E,0xFF,0xFF,0xFF,0x00,0x8C,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x01,0x01,0xD0,0x01,0x0A,0x0C,0xFD,0x0F,0xB9,0xDD,0xFF,0x8F,0x0F,0xBF +,0xE4,0xFF,0x02,0x0E,0xB5,0xD8,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xC9 +,0x92,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0xFF,0x03 +,0x2B,0x34,0xFF,0x0F,0xBB,0xDF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBC +,0xE0,0xFF,0x02,0x1F,0x25,0xFE,0x00,0x01,0x02,0xF5,0x00,0x00,0x00,0x16,0x8A +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xDD,0x01,0x10,0x13,0xFE,0x0F,0xBD +,0xE1,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x78,0x8F,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x5F,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x81 +,0x00,0x00,0x00,0xFF,0x0D,0xA2,0xC1,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x01,0x04 +,0x35,0x3F,0xFF,0x00,0x01,0x01,0xF7,0x95,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x84,0x00,0x00,0x00,0xFF,0x08,0x6C,0x81,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x03,0x0E,0xAF,0xD1,0xFF,0x01,0x09,0x0B,0xFD,0x00,0x01,0x01,0xDA,0x00,0x00 +,0x00,0x04,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xCE,0x01,0x09,0x0B +,0xFE,0x0F,0xB9,0xDD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x49,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x0A,0x00,0x00,0x00,0xFE,0x05,0x41,0x4E,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x09,0x70,0x85,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4D,0x9F +,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x48,0x00,0x01,0x02,0xE3,0x00,0x00 +,0x00,0xFF,0x02,0x1C,0x21,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xB1,0x8A +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0xFF,0x0D,0xA8 +,0xC8,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2F,0x38,0xFF,0x00,0x01,0x01 +,0xF8,0x00,0x00,0x00,0x10,0x9E,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x4B +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3C,0x82,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xFE,0x05,0x43,0x50,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x01,0x01,0x0C,0x0E,0xFE,0x00,0x01,0x01,0xD6,0x93 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6C,0x00,0x01,0x01,0xF6,0x00,0x00 +,0x00,0x52,0x8E,0xFF,0xFF,0xFF,0x00,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x6E,0x00,0x00,0x00,0xFF,0x0A,0x7C,0x94,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x05,0x40,0x4C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x23,0x92,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0xFF,0x06,0x4E,0x5D +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x83,0x9C,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x90,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x82,0x00 +,0x00,0x00,0xFF,0x0B,0x8A,0xA5,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5 +,0xD7,0xFF,0x00,0x05,0x06,0xFE,0x00,0x00,0x00,0xB9,0x9A,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0xFF,0x0B,0x90,0xAC,0xFF,0x8E,0x0F +,0xBF,0xE4,0xFF,0x01,0x04,0x31,0x3B,0xFF,0x00,0x01,0x02,0xF0,0x95,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x01,0x01,0xDC,0x01,0x08,0x0A,0xFD +,0x0D,0xAA,0xCB,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x6D,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x73,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0D,0xA6,0xC6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9F,0x87,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x01,0x02,0xE3,0x03,0x24,0x2B,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x05,0x3E,0x4A,0xFF,0x00,0x01,0x01,0xFC,0x00,0x00,0x00,0x0D +,0xA0,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x94,0x81 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0x14,0x89,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0xFF,0x0B,0x8E,0xAA +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBA,0xDE,0xFF,0x00,0x01,0x02,0xFF +,0x00,0x00,0x00,0xAE,0xA0,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x6D,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xC5,0x01,0x07,0x09,0xFE,0x0E,0xB8,0xDB,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x06,0x4C,0x5A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x30,0x92,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x13,0x8F,0xFF,0xFF +,0xFF,0x00,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x14,0x00,0x01,0x01 +,0xFB,0x04,0x34,0x3F,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x83,0x9C,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7C,0x92,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x04,0x00,0x00,0x00,0xBE,0x00,0x00,0x00,0xFF,0x0A,0x7B,0x93,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x28,0x30,0xFF,0x00,0x01,0x01,0xF9,0x00 +,0x00,0x00,0x1E,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x27,0x00,0x00 +,0x00,0xFF,0x05,0x46,0x53,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x40,0x4C +,0xFF,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x18,0x99,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xFF,0x0A,0x7F,0x97,0xFF,0x8E,0x0F,0xBF +,0xE4,0xFF,0x01,0x04,0x2E,0x37,0xFF,0x00,0x02,0x02,0xE8,0x96,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x45,0x00,0x00,0x00,0xFF,0x05,0x3D,0x48,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xB9,0xDD,0xFF,0x02,0x15,0x1A,0xFD,0x00,0x01 +,0x02,0xEE,0x00,0x00,0x00,0x0F,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x1B,0x00,0x00,0x00,0xFD,0x05,0x3C,0x48,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02 +,0x03,0x28,0x2F,0xFF,0x00,0x01,0x01,0xF2,0x00,0x00,0x00,0x06,0x86,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0xB9,0x01,0x07,0x08,0xFE,0x0F,0xBE,0xE3,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x01,0x04,0x34,0x3E,0xFF,0x00,0x01,0x01,0xF6,0xA3 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6E,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x6D,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4F,0x00 +,0x00,0x00,0xFF,0x09,0x76,0x8C,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA2 +,0xC1,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x88,0xA0,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x84,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0xFF,0x0A,0x7E,0x96,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0B,0x90,0xAC,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8B +,0xA4,0xFF,0xFF,0xFF,0x00,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAE +,0x00,0x01,0x01,0xFF,0x0D,0xAA,0xCB,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F +,0xBB,0xDF,0xFF,0x01,0x0B,0x0D,0xFE,0x00,0x01,0x01,0xD6,0x93,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x15,0x00,0x01,0x02,0xEB,0x01,0x0F,0x12,0xFD,0x0E +,0xB3,0xD6,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8E,0xA9,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x9E,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01 +,0xCE,0x01,0x09,0x0B,0xFE,0x0E,0xB8,0xDC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x84,0x9D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6F,0x99,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xFF,0x09,0x6D,0x82,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x01,0x03,0x2C,0x35,0xFF,0x00,0x01,0x02,0xEF,0x97 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0xFF,0x0A,0x85 +,0x9E,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7B,0x93,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x8A,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBE +,0x00,0x04,0x05,0xFE,0x0E,0xB3,0xD6,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x69,0x7D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4D,0x86,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0xFF,0x0D,0xA9,0xC9,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x49,0x58,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x10,0xA3,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6B,0x00,0x00,0x01 +,0xFC,0x00,0x00,0x00,0x70,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2C +,0x00,0x00,0x00,0xFF,0x07,0x58,0x69,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0B +,0x88,0xA3,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x68,0xA7,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x17,0x00,0x00,0x01,0xFD,0x05,0x3C,0x48,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x02,0x15,0x19,0xFE,0x00,0x01 +,0x01,0xE4,0x00,0x00,0x00,0x02,0xA3,0xFF,0xFF,0xFF,0x00,0x8D,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xFF,0x08,0x64,0x77,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4A,0x59,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x2F,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5E,0x00,0x00,0x00 +,0xFF,0x06,0x50,0x60,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x33,0x3D,0xFF +,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x28,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x72,0x00,0x00,0x00,0xFF,0x0A,0x7E,0x96,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0F,0xBB,0xDF,0xFF,0x01,0x0C,0x0E,0xFE,0x00,0x01,0x01,0xCB,0x99 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xFF,0x07,0x5B +,0x6D,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4D,0x5C,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x22,0x96,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x16 +,0x00,0x01,0x01,0xF0,0x02,0x15,0x18,0xFD,0x0E,0xB6,0xD9,0xFF,0x8E,0x0F,0xBF +,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x03,0x27,0x2E,0xFE,0x00,0x01,0x01,0xF9 +,0x00,0x00,0x00,0x1F,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x63,0x00 +,0x00,0x00,0xFF,0x09,0x74,0x8B,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA9 +,0xC9,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA4,0x86,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x6A,0x00,0x00,0x00,0xFF,0x0B,0x8B,0xA6,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x08,0x60,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x2B,0xA4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x19,0x8A,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x01,0x01,0xEE,0x03,0x27,0x2E,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x71,0x87,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x4A,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBC,0x00,0x04,0x05 +,0xFE,0x0E,0xB4,0xD7,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x58,0x6A,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x40,0xA3,0xFF,0xFF,0xFF,0x00,0x8D,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x01,0x01,0xEA,0x02,0x1B,0x20 +,0xFE,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8D,0xA8,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x88,0x94,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x01,0xC1,0x00 +,0x01,0x01,0xFF,0x0C,0x9A,0xB8,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97 +,0xB5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xAC,0x89,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFD,0x05,0x3A,0x46,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x06,0x4C,0x5B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x25,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0xFF +,0x06,0x48,0x56,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x77,0x8E,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x5A,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x66,0x00,0x00,0x00,0xFF,0x07,0x55,0x65,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x02,0x0B,0x8B,0xA6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x91,0x88,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x10,0x00,0x01,0x01,0xF9,0x04,0x31,0x3A +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x2B,0x33,0xFF,0x00,0x01,0x01,0xF4 +,0x00,0x00,0x00,0x08,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x42,0x00 +,0x00,0x00,0xFF,0x09,0x6D,0x83,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x76 +,0x8D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x51,0xB1,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xAD,0x00,0x01,0x01,0xFF,0x0E,0xB3,0xD6,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x0A,0x7D,0x95,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x5C,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0xFF +,0x09,0x77,0x8E,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBB,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x9B,0xA3,0xFF,0xFF,0xFF,0x00,0x8E,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xFF,0x0C,0x93,0xAF,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x01,0x12,0x15,0xFE,0x00 +,0x01,0x01,0xE2,0x00,0x00,0x00,0x01,0x93,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x2B,0x00,0x01,0x01,0xFB,0x03,0x2A,0x32,0xFF,0x0F,0xBE,0xE3,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3D,0x48,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00 +,0x00,0x33,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBD,0x00,0x04,0x05 +,0xFE,0x0E,0xB2,0xD4,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x91,0xAD,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x80,0x99,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x01,0x01,0xE6,0x03,0x24,0x2B,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA2 +,0xC1,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x92,0x97,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xC5,0x00,0x02,0x02,0xFE,0x0C,0x9C +,0xBA,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x22,0x29,0xFE,0x00,0x01,0x01 +,0xF4,0x00,0x00,0x00,0x0F,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAE +,0x00,0x01,0x01,0xFF,0x0D,0xAB,0xCC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x6C,0x81,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x51,0x85,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFF,0x06,0x50,0x60,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA2,0xC1,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x97,0xB1,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6A,0x00,0x00,0x00 +,0xFF,0x0A,0x83,0x9C,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9B,0xB9,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x82,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x11,0x00,0x01,0x01,0xFA,0x04,0x34,0x3F,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x03,0x21,0x27,0xFE,0x00,0x01,0x01,0xF1,0x00,0x00,0x00,0x07,0xA2 +,0xFF,0xFF,0xFF,0x00,0x8E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2D,0x00 +,0x00,0x00,0xFF,0x06,0x4B,0x59,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x54 +,0x64,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3B,0x94,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0xFF,0x0A,0x7B,0x93,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x0D,0xA0,0xBE,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00 +,0xB9,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0xFF +,0x09,0x73,0x89,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBE,0xE3,0xFF,0x02 +,0x15,0x19,0xFE,0x00,0x01,0x02,0xDB,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xAE,0x00,0x02,0x03,0xFE,0x0E,0xB8,0xDC,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF +,0x02,0x0F,0xBE,0xE3,0xFF,0x01,0x0C,0x0E,0xFE,0x00,0x00,0x00,0xCA,0x98,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0xFE,0x05,0x3F,0x4B +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x77,0x8E,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x75,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x53,0x00 +,0x00,0x00,0xFF,0x08,0x68,0x7C,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xAC +,0xCD,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA8,0x86,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x01,0x01,0xF4,0x04,0x32,0x3C,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x01 +,0x02,0x18,0x1D,0xFE,0x00,0x01,0x01,0xE0,0xB1,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x27,0x00,0x00,0x00,0xFF,0x06,0x51,0x61,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0E,0xB8,0xDC,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA9,0xA9 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB2,0x00,0x02,0x02,0xFE,0x0E,0xAF +,0xD1,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x51,0xA2,0xFF,0xFF,0xFF,0x00,0x8F,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xCC,0x01,0x09,0x0B,0xFD,0x0E,0xB8,0xDB,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x95,0x94,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x10,0x00,0x01,0x02,0xF1 +,0x02,0x1A,0x1F,0xFE,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x05 +,0x46,0x53,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x31,0x88,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x0F,0x00,0x01,0x01,0xF9,0x04,0x2E,0x37,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x59,0x6A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x35,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x77,0x00,0x00,0x00 +,0xFF,0x0B,0x92,0xAE,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x36,0x40,0xFF +,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0x08,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0xB2,0x00,0x01,0x01,0xFF,0x0D,0xA4,0xC4,0xFF,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0F,0xBB,0xDF,0xFF,0x01,0x11,0x14,0xFE,0x00,0x01,0x01,0xE3,0x00 +,0x00,0x00,0x04,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x01 +,0x01,0xF1,0x03,0x24,0x2B,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2E,0x37 +,0xFF,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0x0A,0x85,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0xCB,0x02,0x14,0x18,0xFE,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x06 +,0x4F,0x5E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x27,0xB1,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x01,0x01,0xE5,0x02,0x1F,0x25,0xFE,0x91,0x0F,0xBF,0xE4,0xFF +,0x01,0x02,0x16,0x1B,0xFE,0x00,0x00,0x00,0xD0,0xA9,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0xFF,0x09,0x70,0x85,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0D,0xA9,0xC9,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAC +,0xA2,0xFF,0xFF,0xFF,0x00,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6C +,0x00,0x00,0x00,0xFF,0x0A,0x7A,0x92,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x02 +,0x1B,0x20,0xFE,0x00,0x01,0x01,0xEB,0x00,0x00,0x00,0x04,0x94,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xFF,0x09,0x73,0x89,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9B,0xB9,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0xA0,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAD,0x00,0x01,0x01 +,0xFF,0x0D,0xA9,0xCA,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBB,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x90,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x40,0x00,0x00,0x00,0xFF,0x08,0x6A,0x7E,0xFF,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x60,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3A,0x98 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x3B,0x00,0x00,0x00,0xFF,0x06,0x4D +,0x5C,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x62,0x75,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x59,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9D +,0x00,0x00,0x00,0xFF,0x0D,0xA0,0xBF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09 +,0x6F,0x84,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x56,0x85,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0xFF,0x0E,0xAF,0xD1,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x85,0x9F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x70,0xB1,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA1,0x00,0x00,0x00 +,0xFF,0x0E,0xAC,0xCE,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x35,0x3F,0xFF +,0x00,0x01,0x01,0xF7,0x00,0x00,0x00,0x01,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x0C,0x00,0x01,0x01,0xF6,0x04,0x2E,0x37,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x04,0x2E,0x37,0xFF,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x0F,0xA1 +,0xFF,0xFF,0xFF,0x00,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x12,0x00 +,0x01,0x01,0xFA,0x04,0x32,0x3C,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5E +,0x70,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x48,0x94,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x0B,0x00,0x01,0x02,0xEB,0x02,0x14,0x18,0xFE,0x0F,0xB9 +,0xDD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2D,0x36,0xFF,0x00,0x01,0x01 +,0xF9,0x00,0x00,0x00,0x16,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x53 +,0x00,0x00,0x00,0xFF,0x08,0x67,0x7A,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03 +,0x20,0x27,0xFE,0x00,0x01,0x02,0xEA,0x00,0x00,0x00,0x03,0x97,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xFD,0x05,0x41,0x4E,0xFF,0x8E +,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x72,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC4,0x00,0x05,0x06 +,0xFE,0x0E,0xAE,0xCF,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB0,0xD2,0xFF +,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xCB,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x42,0x00,0x00,0x00,0xFF,0x07,0x5C,0x6E,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0E,0xAE,0xCF,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAD,0x85 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xFF,0x0A,0x79 +,0x91,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB7,0xDA,0xFF,0x00,0x04,0x05 +,0xFE,0x00,0x00,0x00,0xB8,0xB1,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5F +,0x00,0x00,0x00,0xFF,0x0A,0x7B,0x93,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x07 +,0x53,0x63,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x22,0xA9,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xA9,0x00,0x01,0x01,0xFF,0x0D,0xAA,0xCB,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x72,0x88,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x62,0xA1,0xFF,0xFF,0xFF,0x00,0x90,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xAB,0x00,0x01,0x01,0xFF,0x0D,0xA9,0xC9,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x02,0x0D,0xA1,0xC0,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA2,0x95,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0xFF,0x08,0x6A,0x7F +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x80,0x99,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x7D,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x07,0x00 +,0x01,0x01,0xF1,0x03,0x23,0x2A,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65 +,0x79,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x46,0x98,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x01,0x01,0xD3,0x02,0x18,0x1C,0xFE,0x8E,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0E,0xB6,0xD9,0xFF,0x00,0x05,0x06,0xFE,0x00,0x00,0x00,0xC1,0x99,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,0xFF,0x07,0x5B,0x6D,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4C,0x5B,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x3D,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x01 +,0x01,0xE6,0x02,0x18,0x1C,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x31,0x3A +,0xFF,0x00,0x01,0x01,0xF7,0x00,0x00,0x00,0x0C,0x84,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xFD,0x05,0x41,0x4E,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x04,0x32,0x3C,0xFF,0x00,0x01,0x01,0xF8,0x00,0x00,0x00,0x09 +,0xB0,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xFF,0x06 +,0x49,0x58,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x82,0x9B,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x6B,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x51,0x00,0x00,0x00,0xFF,0x08,0x69,0x7D,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0E,0xB2,0xD4,0xFF,0x00,0x04,0x05,0xFE,0x00,0x00,0x00,0xBD,0xA1,0xFF,0xFF +,0xFF,0x00,0x90,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4B,0x00,0x00,0x00 +,0xFF,0x08,0x61,0x74,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x25,0x2C,0xFF +,0x00,0x01,0x01,0xF3,0x00,0x00,0x00,0x09,0x94,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x07,0x00,0x01,0x02,0xE4,0x01,0x0F,0x12,0xFE,0x0E,0xB6,0xD9,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBD,0xE1,0xFF,0x02,0x15,0x19,0xFD,0x00 +,0x01,0x01,0xE7,0x00,0x00,0x00,0x05,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x9E,0x00,0x00,0x00,0xFF,0x0C,0x9F,0xBE,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0D,0xA9,0xC9,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA1,0x98,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0xFF,0x0E,0xAF,0xD1 +,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3E,0x4A,0xFF,0x00,0x00,0x00,0xFD +,0x00,0x00,0x00,0x1A,0x98,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x01,0x00 +,0x01,0x01,0xD7,0x01,0x0C,0x0E,0xFD,0x0E,0xB6,0xD9,0xFF,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0D,0xA0,0xBF,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9F,0x88 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xFF,0x0C,0x94 +,0xB1,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x72,0x88,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x5A,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC8 +,0x01,0x0C,0x0E,0xFE,0x0F,0xBD,0xE1,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x68,0x7C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x48,0xB1,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x01,0x01,0xDA,0x02,0x16,0x1B,0xFE,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0E,0xB7,0xDA,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xBC,0xA9,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x01,0x01,0xF1,0x03,0x26,0x2D +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x46,0xFF,0x00,0x00,0x00,0xFD +,0x00,0x00,0x00,0x1A,0xA0,0xFF,0xFF,0xFF,0x00,0x90,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x03,0x00,0x01,0x01,0xE8,0x02,0x19,0x1E,0xFE,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x08,0x67,0x7B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x55 +,0x95,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xFF,0x08 +,0x61,0x74,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x5A,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x43,0x00,0x00,0x00,0xFF,0x07,0x5B,0x6D,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02 +,0x04,0x2E,0x36,0xFF,0x00,0x01,0x02,0xF4,0x00,0x00,0x00,0x09,0x97,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7F,0x98,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x6F,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x61,0x00,0x00 +,0x00,0xFF,0x08,0x6A,0x7E,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x24,0x2B +,0xFE,0x00,0x01,0x01,0xEF,0x00,0x00,0x00,0x05,0x87,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0xFF,0x06,0x50,0x60,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0E,0xB0,0xD2,0xFF,0x00,0x02,0x03,0xFE,0x00,0x00,0x00,0xB1 +,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xFF,0x0B +,0x92,0xAE,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9E,0xBD,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x91,0xB1,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x96,0x00,0x00,0x00,0xFF,0x0D,0xA5,0xC5,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x05,0x3A,0x46,0xFF,0x00,0x01,0x01,0xFC,0x00,0x00,0x00,0x11,0xA9,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0xFF,0x0D,0xA3,0xC3,0xFF +,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7F,0x97,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x72,0xA0,0xFF,0xFF,0xFF,0x00,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x8A,0x00,0x00,0x00,0xFF,0x0B,0x91,0xAD,0xFF,0x8F,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0D,0xA9,0xCA,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAE,0x95 +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x01,0x01,0xDC,0x01,0x0A +,0x0C,0xFE,0x0E,0xB2,0xD4,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB1,0xD3 +,0xFF,0x00,0x05,0x06,0xFE,0x00,0x00,0x00,0xC8,0x88,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x02,0x00,0x01,0x01,0xE7,0x02,0x17,0x1C,0xFE,0x0F,0xBE,0xE3 +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x72,0x88,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x57,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1C,0x00 +,0x00,0x00,0xFE,0x05,0x41,0x4E,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB8 +,0xDC,0xFF,0x01,0x08,0x09,0xFD,0x00,0x00,0x00,0xC6,0x99,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x01,0xE5,0x02,0x14,0x18,0xFD,0x0F,0xBB +,0xE0,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x64,0x77,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x47,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD8 +,0x01,0x0F,0x12,0xFE,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x04 +,0x34,0x3F,0xFF,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x0F,0x84,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xFF,0x07,0x5A,0x6B,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x14,0x18,0xFE,0x00,0x01,0x01,0xDA,0xB1,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xFF,0x09,0x73,0x8A +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x76,0x8D,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x5D,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x47,0x00 +,0x00,0x00,0xFF,0x08,0x61,0x74,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB8 +,0xDC,0xFF,0x01,0x09,0x0B,0xFE,0x00,0x01,0x01,0xCE,0xA0,0xFF,0xFF,0xFF,0x00 +,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0xFF,0x06 +,0x49,0x57,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2E,0x37,0xFF,0x00,0x01 +,0x01,0xF9,0x00,0x00,0x00,0x0F,0x95,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x5A,0x00,0x00,0x00,0xFF,0x07,0x59,0x6A,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x06,0x4A,0x59,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x37,0x88,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xFF,0x0C,0x94,0xB0,0xFF +,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD4,0xFF,0x00,0x03,0x04,0xFE,0x00 +,0x00,0x00,0xB1,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x01,0xC7,0x01,0x08 +,0x0A,0xFE,0x0F,0xB9,0xDD,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x43,0x50 +,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1E,0x99,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0xFF,0x09,0x79,0x90,0xFF,0x8E,0x0F,0xBF +,0xE4,0xFF,0x02,0x0D,0xA3,0xC2,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9C +,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xFF,0x0B +,0x88,0xA3,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x75,0x8B,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x5E,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x01,0x00,0x01,0x01,0xEB,0x03,0x22,0x29,0xFE,0x90,0x0F,0xBF,0xE4,0xFF,0x01 +,0x06,0x4B,0x59,0xFF,0x00,0x00,0x00,0xFF,0xA5,0x00,0x01,0x01,0xF9,0x05,0x00 +,0x01,0x01,0xF8,0x00,0x01,0x01,0xDD,0x00,0x00,0x00,0xB5,0x00,0x00,0x00,0x8D +,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x23,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x13,0x00,0x00,0x00,0xFE,0x05,0x41,0x4E,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0E,0xB0,0xD2,0xFF,0x00,0x02,0x02,0xFE,0x00,0x00,0x00,0xAD,0xA9 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x01,0x01,0xEB,0x02,0x1F +,0x25,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x47,0x55,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x28,0x9F,0xFF,0xFF,0xFF,0x00,0x92,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xCA,0x01,0x08,0x0A,0xFE,0x0E,0xB7,0xDA,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x09,0x72,0x88,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x61,0x95,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x01,0x01,0xD3 +,0x01,0x07,0x08,0xFE,0x0E,0xAD,0xCF,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0C +,0x9C,0xBA,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA3,0x88,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xFF,0x06,0x4F,0x5F,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x45,0xFF,0x00,0x01,0x01,0xFB,0x00,0x00 +,0x00,0x12,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x74,0x00,0x00,0x00 +,0xFF,0x0A,0x84,0x9D,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x85,0x9F,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x74,0x99,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x0D,0x00,0x01,0x02,0xF1,0x03,0x20,0x27,0xFE,0x0F,0xBE,0xE3,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x21,0x28,0xFE,0x00,0x01,0x01,0xED,0x00 +,0x00,0x00,0x04,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x22,0x00,0x00 +,0x00,0xFF,0x05,0x44,0x51,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD5 +,0xFF,0x00,0x03,0x04,0xFE,0x00,0x00,0x00,0xB5,0x85,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xFF,0x0D,0xAA,0xCB,0xFF,0x8F,0x0F,0xBF +,0xE4,0xFF,0x00,0x0B,0x8E,0xAA,0xFF,0xA6,0x05,0x3B,0x47,0xFF,0x02,0x04,0x39 +,0x44,0xFF,0x02,0x20,0x26,0xFE,0x00,0x05,0x05,0xFE,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x01,0x01,0xF8,0x00,0x00,0x00,0x6A,0x85,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0xCE,0x01,0x0F,0x12,0xFE,0x0F,0xBE,0xE3,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x04,0x2F,0x38,0xFF,0x00,0x01,0x01,0xF6,0x00,0x00,0x00,0x09 +,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0xFF,0x0C +,0x9D,0xBB,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA6,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x83,0x9F,0xFF,0xFF,0xFF,0x00,0x92,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0xFF,0x09,0x78,0x8F,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB1,0xD3,0xFF,0x00,0x03,0x04,0xFE,0x00,0x00 +,0x00,0xBB,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4F,0x00,0x00,0x00 +,0xFF,0x06,0x51,0x61,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x2B,0x34,0xFF +,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0x0B,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x01,0x01,0xDA,0x01,0x0E,0x11,0xFE,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0A,0x7E,0x96,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x67,0x97 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xFF,0x05,0x46 +,0x53,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBB,0xDF,0xFF,0x01,0x0B,0x0D +,0xFD,0x00,0x00,0x00,0xCB,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x86 +,0x00,0x00,0x00,0xFF,0x0B,0x87,0xA1,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x61,0x73,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x44,0x88,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xC7,0x01,0x07,0x09,0xFE,0x0E,0xB8,0xDB,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x37,0x42,0xFF,0x00,0x01,0x01,0xFB,0x00,0x00 +,0x00,0x11,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x58,0x00,0x00,0x00 +,0xFF,0x09,0x73,0x89,0xFF,0xB9,0x0F,0xBF,0xE4,0xFF,0x05,0x0F,0xBE,0xE2,0xFF +,0x0D,0xA6,0xC6,0xFF,0x0A,0x82,0x9B,0xFF,0x02,0x19,0x1E,0xFE,0x00,0x00,0x00 +,0xFD,0x00,0x00,0x00,0x2E,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x8B +,0x00,0x00,0x00,0xFF,0x0C,0x9A,0xB8,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x6B,0x80,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4E,0xA9,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xFF,0x07,0x5B,0x6C,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBD,0xE1,0xFF,0x01,0x12,0x15,0xFE,0x00,0x01 +,0x01,0xDE,0x9F,0xFF,0xFF,0xFF,0x00,0x92,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x11,0x00,0x01,0x01,0xF9,0x04,0x30,0x39,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x04,0x38,0x43,0xFF,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x18,0x96,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC9,0x00,0x04,0x05,0xFE,0x0D,0xA8,0xC8 +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6F,0x84,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x5A,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7E,0x00 +,0x00,0x00,0xFF,0x0B,0x88,0xA2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB8 +,0xDC,0xFF,0x01,0x09,0x0A,0xFE,0x00,0x00,0x00,0xC2,0x98,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xCC,0x01,0x0A,0x0C,0xFE,0x0F,0xBB,0xDF,0xFF,0x8E,0x0F +,0xBF,0xE4,0xFF,0x02,0x06,0x49,0x57,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x22,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x18,0x00,0x01,0x01,0xF9 +,0x04,0x2E,0x37,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA0,0xBE,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x98,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x6C,0x00,0x00,0x00,0xFF,0x0A,0x7C,0x94,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x09,0x79,0x90,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x63,0x84,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0xFD,0x05,0x3B,0x47 +,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9A,0xB8,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0xA5,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x3A,0x00 +,0x00,0x00,0xFF,0x07,0x5B,0x6D,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA7 +,0xC7,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9F,0xA9,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xE5,0x02,0x18,0x1D,0xFE,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x07,0x54,0x64,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x39,0x9E,0xFF,0xFF,0xFF,0x00,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0xA9,0x00,0x01,0x01,0xFF,0x0D,0xA6,0xC6,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6E,0x96,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xFF,0x06,0x4A,0x59,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAF,0xD0,0xFF,0x00,0x02,0x03,0xFE,0x00 +,0x00,0x00,0xB5,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00 +,0x00,0xFF,0x05,0x43,0x50,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x46,0x54 +,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1E,0x97,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xFF,0x0B,0x88,0xA3,0xFF,0x8E,0x0F,0xBF +,0xE4,0xFF,0x02,0x0B,0x8B,0xA5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x79 +,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0xFF,0x0D +,0xA5,0xC5,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x1E,0x24,0xFE,0x00,0x01 +,0x01,0xEA,0x00,0x00,0x00,0x03,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x16,0x00,0x01,0x01,0xFC,0x04,0x39,0x44,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0E,0xB4,0xD7,0xFF,0x00,0x05,0x05,0xFE,0x00,0x00,0x00,0xBA,0x85,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0xC5,0x01,0x07,0x09,0xFE,0x0F,0xBB,0xDF,0xFF +,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x2E,0x36,0xFF,0x00,0x01,0x01,0xF8,0x00 +,0x00,0x00,0x10,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x01 +,0x01,0xE3,0x02,0x1A,0x1F,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x23,0x2A +,0xFE,0x00,0x01,0x01,0xED,0x00,0x00,0x00,0x06,0xA9,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xFF,0x0C,0x96,0xB3,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0C,0x98,0xB6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x94 +,0x9E,0xFF,0xFF,0xFF,0x00,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x49 +,0x00,0x00,0x00,0xFF,0x07,0x5F,0x72,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E +,0xB7,0xDA,0xFF,0x01,0x07,0x08,0xFE,0x00,0x00,0x01,0xC7,0x97,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xC6,0x01,0x07,0x08,0xFE,0x0E,0xB5,0xD8,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x36,0x40,0xFF,0x00,0x00,0x01,0xFC,0x00,0x00 +,0x00,0x14,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC9,0x01,0x07,0x09 +,0xFE,0x0E,0xB7,0xDA,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA5,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x78,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x25,0x00,0x00,0x00,0xFF,0x06,0x49,0x58,0xFF,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0F,0xBD,0xE1,0xFF,0x01,0x0F,0x11,0xFD,0x00,0x01,0x01,0xD6,0x00 +,0x00,0x00,0x01,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x43,0x00,0x00 +,0x00,0xFF,0x08,0x61,0x74,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5E,0x70 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x41,0x88,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0xB7,0x00,0x03,0x04,0xFE,0x0E,0xB1,0xD3,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x05,0x3A,0x46,0xFF,0x00,0x01,0x01,0xFC,0x00,0x00,0x00,0x14 +,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0xFF,0x0B +,0x8B,0xA6,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x78,0x8F,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x6A,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x8E,0x00,0x00,0x00,0xFF,0x0C,0x9A,0xB7,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x08,0x68,0x7C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x5C,0xA9,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xFF,0x07,0x53,0x63,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x1D,0x22,0xFE,0x00,0x01,0x01,0xEB,0x00 +,0x00,0x00,0x04,0x9D,0xFF,0xFF,0xFF,0x00,0x93,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x03,0x00,0x01,0x01,0xE6,0x02,0x18,0x1C,0xFE,0x0F,0xBE,0xE3,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x42,0x4F,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x22,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x62,0x00,0x00 +,0x00,0xFF,0x09,0x74,0x8B,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x79,0x90 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6A,0x88,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x6F,0x00,0x00,0x00,0xFF,0x0A,0x7C,0x94,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0F,0xBD,0xE1,0xFF,0x01,0x10,0x13,0xFD,0x00,0x01,0x01,0xD3 +,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x01,0xD2,0x01,0x0D,0x10,0xFD,0x0F +,0xBC,0xE0,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x59,0x6A,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x4B,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x03,0x00,0x01,0x02,0xE9,0x02,0x1E,0x24,0xFE,0x8E,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0C,0x9D,0xBB,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x95,0x88,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xFF,0x09,0x70,0x86,0xFF +,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x67,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2A,0x00,0x00 +,0x00,0xFF,0x05,0x44,0x51,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB8,0xDB +,0xFF,0x01,0x09,0x0B,0xFE,0x00,0x01,0x01,0xCE,0x84,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xFF,0x07,0x59,0x6A,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0E,0xB2,0xD5,0xFF,0x01,0x07,0x08,0xFE,0x00,0x00,0x00,0xCB +,0xAA,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xDD,0x01,0x12,0x15,0xFE,0x0F +,0xBE,0xE2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x61,0x74,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x49,0x9D,0xFF,0xFF,0xFF,0x00,0x94,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0xFF,0x0B,0x8F,0xAB,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x85,0x9F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x7B,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0C,0x00,0x01,0x01 +,0xF5,0x03,0x2B,0x34,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5,0xD8,0xFF +,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xC5,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x17,0x00,0x00,0x01,0xFD,0x04,0x38,0x43,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x07,0x53,0x63,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2D,0x97 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xFF,0x0A,0x7D +,0x95,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAD,0xCF,0xFF,0x00,0x04,0x05 +,0xFE,0x00,0x00,0x00,0xC4,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x92 +,0x00,0x00,0x00,0xFF,0x0C,0x9B,0xB9,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x02 +,0x1B,0x20,0xFE,0x00,0x01,0x01,0xE9,0x00,0x00,0x00,0x02,0x87,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x0C,0x00,0x01,0x01,0xF6,0x04,0x2D,0x35,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB6,0xD9,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00 +,0x00,0xBE,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC2,0x00,0x04,0x05 +,0xFE,0x0E,0xB1,0xD3,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4C,0x5B,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x30,0x83,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x01,0x00,0x01,0x01,0xE2,0x02,0x19,0x1D,0xFE,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x06,0x4E,0x5D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3A,0xA9 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0xFF,0x0B,0x8E +,0xAA,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA5,0xC5,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0xA4,0x9D,0xFF,0xFF,0xFF,0x00,0x94,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xFF,0x06,0x46,0x54,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x0F,0xBB,0xE0,0xFF,0x01,0x0D,0x0F,0xFE,0x00,0x01,0x01 +,0xD5,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0xFF +,0x0D,0xA3,0xC2,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x40,0x4C,0xFF,0x00 +,0x00,0x00,0xFE,0x00,0x00,0x00,0x20,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xB9,0x00,0x03,0x04,0xFE,0x0E,0xB0,0xD2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x88,0x97,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x13,0x00,0x01,0x01,0xF6,0x03,0x26,0x2E +,0xFE,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4C,0x5B,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x3D,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x39,0x00 +,0x00,0x00,0xFF,0x07,0x58,0x69,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5B +,0x6C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3D,0x88,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xA6,0x00,0x01,0x01,0xFF,0x0D,0xA8,0xC8,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x05,0x3D,0x49,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00 +,0x18,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0xFF +,0x08,0x69,0x7D,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB4,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x93,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x8C,0x00,0x00,0x00,0xFF,0x0C,0x98,0xB6,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0D,0xA0,0xBF,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAA,0xA9,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5B +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x2A,0x32,0xFF,0x00,0x01,0x01,0xF5 +,0x00,0x00,0x00,0x0B,0x9C,0xFF,0xFF,0xFF,0x00,0x95,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0xC7,0x01,0x07,0x09,0xFE,0x0E,0xB6,0xD9,0xFF,0x8F,0x0F,0xBF +,0xE4,0xFF,0x02,0x06,0x4C,0x5B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2E +,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xFF,0x07 +,0x5B,0x6C,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x83,0x9C,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x76,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x5F,0x00,0x00,0x00,0xFF,0x09,0x70,0x86,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02 +,0x02,0x1B,0x20,0xFE,0x00,0x01,0x02,0xE3,0x00,0x00,0x00,0x01,0x97,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x95,0x00,0x00,0x00,0xFF,0x0B,0x91,0xAD,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA4,0xC4,0xFF,0x00,0x01,0x01,0xFF,0x00 +,0x00,0x00,0xB5,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xE0,0x02,0x15 +,0x19,0xFE,0x0F,0xBE,0xE3,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9A,0xB7 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x91,0x88,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xFF,0x08,0x64,0x78,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0A,0x7F,0x97,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6B +,0x84,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x01,0xEB,0x02 +,0x1B,0x20,0xFE,0x0F,0xBE,0xE3,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x21 +,0x28,0xFE,0x00,0x01,0x01,0xF0,0x00,0x00,0x00,0x06,0x83,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0xFF,0x07,0x58,0x69,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x04,0x34,0x3F,0xFF,0x00,0x01,0x01,0xFC,0x00,0x00,0x00 +,0x1D,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD4,0x01,0x0C,0x0F,0xFE +,0x0F,0xBB,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6E,0x83,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x5A,0x9C,0xFF,0xFF,0xFF,0x00,0x95,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0xFF,0x09,0x76,0x8D,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8F,0xAB,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x87,0x96,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x01 +,0x01,0xDE,0x02,0x13,0x17,0xFE,0x0F,0xBD,0xE1,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF +,0x02,0x0F,0xBB,0xE0,0xFF,0x01,0x09,0x0B,0xFD,0x00,0x00,0x00,0xBF,0x88,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0D,0x00,0x01,0x01,0xF7,0x03,0x2C,0x35 +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5F,0x72,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x3E,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x23,0x00 +,0x00,0x00,0xFD,0x05,0x3A,0x45,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x40 +,0x4C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2F,0x99,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0xFF,0x0C,0x9D,0xBB,0xFF,0x8E,0x0F +,0xBF,0xE4,0xFF,0x02,0x02,0x19,0x1E,0xFE,0x00,0x01,0x02,0xE6,0x00,0x00,0x00 +,0x01,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x01,0x01,0xED +,0x03,0x20,0x27,0xFE,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB8,0xDB,0xFF,0x01 +,0x07,0x09,0xFE,0x00,0x00,0x00,0xC2,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0xFF,0x0B,0x8E,0xA9,0xFF,0xBC,0x0F,0xBF,0xE4,0xFF +,0x02,0x08,0x64,0x77,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x42,0x84,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xDD,0x01,0x0F,0x12,0xFD,0x0F,0xBB,0xDF +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x88,0xA2,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x88,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7A,0x00 +,0x00,0x00,0xFF,0x0B,0x88,0xA2,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAF +,0xD0,0xFF,0x00,0x02,0x03,0xFE,0x00,0x00,0x00,0xB5,0x9C,0xFF,0xFF,0xFF,0x00 +,0x95,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0F,0x00,0x01,0x01,0xF8,0x04 +,0x2E,0x36,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x02,0x14 +,0x17,0xFE,0x00,0x01,0x01,0xE1,0x00,0x00,0x00,0x01,0x96,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0xFF,0x0B,0x89,0xA4,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x05,0x3C,0x48,0xFF,0x00,0x01,0x01,0xFB,0x00,0x00,0x00 +,0x0C,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAA,0x00,0x01,0x01,0xFF +,0x0D,0xA8,0xC8,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA3,0xC3,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x99,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xAD,0x00,0x01,0x01,0xFF,0x0D,0xA2,0xC1,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF +,0x02,0x0C,0x99,0xB6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA6,0x99,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0xFF,0x08,0x6C,0x81 +,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x58,0x6A,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x34,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x96,0x00 +,0x00,0x00,0xFF,0x0C,0x9D,0xBB,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x41 +,0x4E,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x1B,0x84,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xFE,0x05,0x40,0x4C,0xFF,0xBC,0x0F +,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x87,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0xFF +,0x0A,0x7E,0x96,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x02 +,0x1C,0x21,0xFE,0x00,0x01,0x01,0xEE,0x00,0x00,0x00,0x09,0xA8,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xFF,0x05,0x45,0x52,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x37,0x41,0xFF,0x00,0x01,0x01,0xFC,0x00,0x00 +,0x00,0x15,0x9B,0xFF,0xFF,0xFF,0x00,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xA6,0x00,0x00,0x00,0xFF,0x0D,0xA5,0xC5,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x02,0x07,0x56,0x67,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3A,0x96,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0xFF,0x06,0x4D,0x5C +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x70,0x86,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x4F,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4F,0x00 +,0x00,0x00,0xFF,0x08,0x64,0x78,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x27 +,0x2F,0xFF,0x00,0x01,0x02,0xEF,0x00,0x00,0x00,0x06,0x97,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x3A,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5B,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x04,0x33,0x3D,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00 +,0x23,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0C,0x00,0x01,0x01,0xFC +,0x05,0x3B,0x47,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA6,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x68,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x3B,0x00,0x00,0x00,0xFF,0x07,0x58,0x6A,0xFF,0x90,0x0F,0xBF,0xE4,0xFF +,0x02,0x0A,0x82,0x9B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x70,0x85,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB8,0x00,0x03,0x04,0xFE,0x0E,0xAE,0xCF +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xB6,0xD9,0xFF,0x07,0x5C,0x6E,0xFF +,0x07,0x58,0x69,0xFF,0x07,0x54,0x64,0xFF,0x06,0x50,0x60,0xFF,0x97,0x06,0x4E +,0x5D,0xFF,0x00,0x0A,0x7A,0x92,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBE +,0xE2,0xFF,0x01,0x0C,0x0E,0xFE,0x00,0x00,0x00,0xCC,0x84,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x15,0x00,0x01,0x01,0xFA,0x04,0x2F,0x38,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x09,0x6E,0x83,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x66,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC9,0x01,0x09,0x0A,0xFE +,0x0E,0xB8,0xDC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7B,0x93,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x6B,0x9B,0xFF,0xFF,0xFF,0x00,0x96,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xFF,0x07,0x5E,0x70,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9A,0xB7,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x94,0x97,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x02,0xEA,0x03,0x26 +,0x2E,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA4,0xC4,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x97,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x06 +,0x00,0x01,0x01,0xEF,0x03,0x21,0x27,0xFE,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x6C,0x81,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4E,0x98,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x01,0xC6,0x00,0x05,0x06,0xFE,0x0E,0xAF,0xD1,0xFF,0x8E +,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8D,0xA8,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x98,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC8,0x01,0x0B,0x0D +,0xFE,0x0F,0xBE,0xE2,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB1,0xD3,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9B,0x88,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x01,0x00,0x01,0x01,0xE0,0x02,0x15,0x19,0xFE,0x0F,0xBE,0xE3,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xB9,0xDD,0xFF,0x01,0x09,0x0B,0xFE,0x00 +,0x00,0x01,0xC7,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x50,0x00,0x00 +,0x00,0xFF,0x08,0x64,0x78,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x00,0x04,0x35,0x3F +,0xFF,0x9A,0x00,0x00,0x00,0xFF,0x00,0x02,0x1F,0x26,0xFE,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x02,0x05,0x3F,0x4B,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x13,0x84 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0xFF,0x0D,0xA0 +,0xBF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB6,0xD9,0xFF,0x01,0x0A,0x0C +,0xFD,0x00,0x01,0x01,0xD5,0xA9,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x71 +,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E +,0xB7,0xDA,0xFF,0x01,0x07,0x08,0xFE,0x00,0x00,0x00,0xC6,0x9B,0xFF,0xFF,0xFF +,0x00,0x96,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x01,0x01,0xE4 +,0x02,0x16,0x1A,0xFE,0x0F,0xBE,0xE3,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x02 +,0x1D,0x22,0xFE,0x00,0x01,0x02,0xEB,0x00,0x00,0x00,0x03,0x96,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xB1,0x00,0x04,0x05,0xFE,0x0F,0xBB,0xDF,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x18,0x1D,0xFE,0x00,0x01,0x01,0xE0,0x89,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9A,0x00,0x00,0x00,0xFF,0x0C,0x9D,0xBB +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAD,0xCF,0xFF,0x00,0x02,0x02,0xFE +,0x00,0x00,0x00,0xA9,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x52,0x00 +,0x00,0x00,0xFF,0x08,0x60,0x72,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x26 +,0x2E,0xFE,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x18,0x98,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0xFF,0x0C,0x9A,0xB7,0xFF,0x8E,0x0F +,0xBF,0xE4,0xFF,0x01,0x02,0x16,0x1B,0xFE,0x00,0x00,0x00,0xCD,0x89,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x86,0x00,0x00,0x00,0xFF,0x0B,0x91,0xAD,0xFF +,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x44,0x51,0xFF,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x1E,0x84,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x01 +,0x01,0xE5,0x02,0x17,0x1B,0xFD,0x0F,0xBE,0xE2,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x04,0x0B,0x92,0xAE,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xB7,0x00,0x00 +,0x00,0x1B,0x00,0x00,0x00,0x18,0x95,0x00,0x00,0x00,0x17,0x02,0x00,0x00,0x00 +,0x9E,0x00,0x00,0x00,0xFF,0x0D,0xA6,0xC6,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02 +,0x09,0x72,0x88,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x55,0x84,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xFF,0x06,0x52,0x62,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x55,0x65,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x49,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1B,0x00,0x00 +,0x00,0xFD,0x05,0x3E,0x4A,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x43,0x50 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x21,0x9A,0xFF,0xFF,0xFF,0x00,0x97 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0xFF,0x0B,0x8D +,0xA8,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x60,0x72,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x47,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x84 +,0x00,0x00,0x00,0xFF,0x0C,0x9F,0xBE,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x06 +,0x4D,0x5C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x27,0x88,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0xFF,0x07,0x59,0x6A,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x34,0x3F,0xFF,0x00,0x01,0x01,0xF7,0x00,0x00 +,0x00,0x0D,0x97,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x01,0x01 +,0xDD,0x01,0x0E,0x10,0xFD,0x0E,0xB3,0xD6,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x80,0x99,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x95,0x98,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0xFF,0x08,0x6A,0x7E,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3D,0x49,0xFF,0x00,0x01,0x01,0xFA,0x00 +,0x00,0x00,0x06,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2B,0x00,0x00 +,0x00,0xFF,0x06,0x4C,0x5B,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x85,0x9F +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x74,0x85,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xFF,0x0B,0x88,0xA3,0xFF,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x04,0x2E,0x37,0xFF,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x24 +,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,0xFF,0x09 +,0x6D,0x82,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA6,0xC6,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x9A,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01 +,0xD8,0x01,0x0B,0x0D,0xFE,0x0E,0xB8,0xDB,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0D,0xAA,0xCB,0xFF,0x00,0x06,0x07,0xFE,0x00,0x01,0x01,0xD3,0x00,0x00,0x00 +,0x03,0xA8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC0,0x00,0x05,0x06,0xFE +,0x0E,0xB5,0xD8,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x88,0xA2,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x7B,0x9A,0xFF,0xFF,0xFF,0x00,0x97,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xFF,0x05,0x45,0x52,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA3,0xC3,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0xA0,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x80,0x00,0x00 +,0x00,0xFF,0x0C,0x9B,0xB9,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x82,0x9B +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6E,0x88,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xE4,0x02,0x16,0x1A,0xFE,0x0F,0xBE,0xE3 +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x78,0x8F,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x5F,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x57,0x00 +,0x00,0x00,0xFF,0x06,0x51,0x61,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE +,0xE3,0xFF,0x04,0x2D,0x35,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x32,0x97 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xFF,0x06,0x4D +,0x5C,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x63,0x76,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x32,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xD1 +,0x01,0x0C,0x0F,0xFD,0x0F,0xBB,0xDF,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F +,0xBB,0xDF,0xFF,0x01,0x0A,0x0C,0xFE,0x00,0x01,0x01,0xCC,0x85,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x1B,0x00,0x01,0x01,0xFC,0x05,0x3B,0x47,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x9C,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x08,0x00,0x01,0x01 +,0xF6,0x04,0x33,0x3D,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x19,0x1E,0xFE +,0x00,0x01,0x01,0xE0,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x70,0x00 +,0x00,0x00,0xFF,0x09,0x76,0x8D,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5C +,0x6E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x66,0xA8,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0xFF,0x0A,0x79,0x91,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x0F,0xBC,0xE0,0xFF,0x01,0x0E,0x11,0xFE,0x00,0x01,0x01 +,0xD7,0x9A,0xFF,0xFF,0xFF,0x00,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0xC5,0x01,0x07,0x08,0xFE,0x0E,0xB5,0xD7,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02 +,0x03,0x27,0x2E,0xFF,0x00,0x01,0x02,0xF3,0x00,0x00,0x00,0x08,0x95,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xFF,0x0C,0x9B,0xB9,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB1,0xD3,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0xA4,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x8A,0x00,0x00 +,0x00,0xFF,0x0B,0x91,0xAD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5,0xD8 +,0xFF,0x00,0x06,0x07,0xFE,0x00,0x00,0x00,0xBA,0x99,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0xBE,0x00,0x02,0x02,0xFE,0x0C,0x9C,0xBA,0xFF,0x8E,0x0F,0xBF +,0xE4,0xFF,0x03,0x0C,0x9D,0xBC,0xFF,0x00,0x02,0x03,0xFE,0x00,0x00,0x00,0xC8 +,0x00,0x00,0x00,0x01,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x01,0x00 +,0x01,0x01,0xF9,0x04,0x36,0x40,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x88 +,0xA3,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x65,0x89,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xFF,0x0A,0x85,0x9E,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x06,0x47,0x55,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x22,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAE,0x00,0x01,0x01,0xFF +,0x0C,0x9F,0xBE,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x27,0x2E,0xFF,0x00 +,0x01,0x01,0xFB,0x00,0x00,0x00,0x1D,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xB0,0x00,0x03,0x04,0xFE,0x0E,0xB5,0xD7,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF +,0x02,0x06,0x4D,0x5C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x24,0x84,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x11,0x00,0x01,0x01,0xF7,0x03,0x21,0x28 +,0xFE,0x0F,0xBE,0xE3,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB5,0xD8,0xFF +,0x01,0x0F,0x12,0xFD,0x00,0x01,0x01,0xEA,0x00,0x00,0x00,0x0D,0xA7,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x14,0x00,0x01,0x01,0xFC,0x04,0x37,0x41,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x50,0x60,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x31,0x99,0xFF,0xFF,0xFF,0x00,0x98,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x65,0x00,0x00,0x00,0xFF,0x09,0x74,0x8B,0xFF,0x8F,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x6A,0x7E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x54,0x95 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0xFF,0x0D,0xAB +,0xCC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x15,0x19,0xFE,0x00,0x00,0x01 +,0xD4,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0xFF +,0x06,0x4D,0x5C,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x40,0x4D,0xFF,0x00 +,0x00,0x01,0xFD,0x00,0x00,0x00,0x18,0x98,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x2B,0x00,0x01,0x01,0xFC,0x03,0x2C,0x34,0xFF,0x0F,0xBE,0xE3,0xFF,0x8E +,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x56,0x67,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x64,0x97,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xDD,0x02,0x1F,0x25 +,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xAF,0xD0,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x97,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1C,0x00 +,0x00,0x00,0xFE,0x05,0x41,0x4E,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x88 +,0xA3,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x78,0x85,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0xFE,0x05,0x3A,0x45,0xFF,0x90,0x0F +,0xBF,0xE4,0xFF,0x02,0x0A,0x83,0x9C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x93,0x96,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0xFF +,0x0A,0x82,0x9C,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x81,0x9A,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x69,0x85,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x8E,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x91,0x0F,0xBF,0xE4,0xFF +,0x02,0x09,0x71,0x87,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x87,0xA8,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB7,0x00,0x02,0x03,0xFE,0x0E,0xB1,0xD3 +,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x94,0xB1,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x8C,0x99,0xFF,0xFF,0xFF,0x00,0x98,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x0E,0x00,0x01,0x01,0xF7,0x03,0x2C,0x35,0xFF,0x8F,0x0F,0xBF +,0xE4,0xFF,0x02,0x0D,0xAC,0xCD,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAD +,0x94,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x02,0x02,0xED,0x03 +,0x24,0x2C,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x46,0xFF,0x00,0x00 +,0x01,0xFC,0x00,0x00,0x00,0x07,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01 +,0xD6,0x01,0x0C,0x0F,0xFE,0x0F,0xBB,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x85,0x9E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6F,0x99,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0xFF,0x09,0x79,0x90,0xFF +,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB6,0xD9,0xFF,0x02,0x13,0x17,0xFE,0x00 +,0x01,0x02,0xEE,0x00,0x00,0x00,0x1E,0x96,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0xBD,0x01,0x07,0x09,0xFE,0x8F,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x13,0x17 +,0xFD,0x00,0x00,0x00,0xCA,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC0 +,0x00,0x06,0x07,0xFE,0x0E,0xB5,0xD8,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F +,0xBB,0xE0,0xFF,0x01,0x0D,0x0F,0xFE,0x00,0x01,0x01,0xD0,0x86,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0xFF,0x0B,0x91,0xAD,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x03,0x20,0x26,0xFE,0x00,0x01 +,0x01,0xF8,0x00,0x00,0x00,0x2A,0x95,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x39,0x00,0x00,0x00,0xFF,0x08,0x6A,0x7F,0xFF,0x8D,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0E,0xB2,0xD5,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xAE,0x85,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x17,0x00,0x01,0x01,0xF6,0x03,0x21,0x28,0xFE +,0x0F,0xBE,0xE3,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBD,0xE1,0xFF,0x03 +,0x20,0x27,0xFE,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0x31,0xA7,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x5E,0x00,0x00,0x00,0xFF,0x09,0x72,0x88,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x18,0x1D,0xFE,0x00,0x01,0x01,0xE6,0x00,0x00 +,0x00,0x02,0x98,0xFF,0xFF,0xFF,0x00,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xA4,0x00,0x00,0x00,0xFF,0x0D,0xA3,0xC3,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x02,0x04,0x31,0x3A,0xFF,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x0F,0x93,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0xFF,0x08,0x61,0x74 +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5E,0x71,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x32,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x7B,0x00 +,0x00,0x00,0xFF,0x0A,0x85,0x9F,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBB +,0xDF,0xFF,0x01,0x0C,0x0F,0xFD,0x00,0x01,0x01,0xD1,0x00,0x00,0x00,0x01,0x98 +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0E,0x00,0x01,0x02,0xE9,0x01,0x10 +,0x13,0xFD,0x0E,0xB5,0xD7,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0A,0x84,0x9D +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x06,0x95,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0xFF,0x0E,0xB2,0xD5 +,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x46,0xFF,0x00,0x01,0x01,0xF8 +,0x00,0x00,0x00,0x04,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x65,0x00 +,0x00,0x00,0xFF,0x09,0x79,0x90,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4A +,0x59,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x26,0x85,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x22,0x00,0x01,0x01,0xFA,0x03,0x2A,0x32,0xFE,0x90,0x0F +,0xBF,0xE4,0xFF,0x03,0x0B,0x92,0xAE,0xFF,0x00,0x02,0x03,0xFE,0x00,0x01,0x01 +,0xD6,0x00,0x00,0x00,0x0A,0x94,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x21 +,0x00,0x00,0x00,0xFF,0x07,0x5A,0x6B,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x01,0x03 +,0x28,0x30,0xFF,0x00,0x01,0x01,0xEF,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x8B,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x91,0x0F,0xBF,0xE4,0xFF +,0x03,0x0C,0x9B,0xB9,0xFF,0x00,0x04,0x04,0xFE,0x00,0x01,0x01,0xD6,0x00,0x00 +,0x00,0x08,0xA6,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0E,0x00,0x01,0x01 +,0xF8,0x04,0x30,0x39,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5D,0x6F,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x42,0x98,0xFF,0xFF,0xFF,0x00,0x99,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xFF,0x07,0x5B,0x6D +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x74,0x8B,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x60,0x92,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0C,0x00 +,0x01,0x02,0xE3,0x01,0x0C,0x0E,0xFD,0x0E,0xAF,0xD1,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0A,0x83,0x9C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x62,0x89 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0xFF,0x05,0x42 +,0x4F,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5A,0x6B,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x61,0x99,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5E +,0x00,0x00,0x00,0xFF,0x07,0x54,0x64,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x07 +,0x55,0x66,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x93,0x95,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xAD,0x00,0x01,0x01,0xFF,0x0F,0xBB,0xDF,0xFF,0x8E +,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x60,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x2E,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x11,0x00,0x01,0x01 +,0xFA,0x04,0x35,0x3F,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8B,0xA6,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7D,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x91,0x00,0x00,0x00,0xFF,0x0A,0x82,0x9B,0xFF,0x90,0x0F,0xBF,0xE4 +,0xFF,0x02,0x08,0x65,0x79,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA0,0x94 +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0xFF,0x07,0x53 +,0x63,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4D,0x5C,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x11,0x85,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x15 +,0x00,0x01,0x01,0xF5,0x03,0x21,0x28,0xFE,0x0F,0xBE,0xE3,0xFF,0x91,0x0F,0xBF +,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8E +,0xA7,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xAD,0x00,0x01,0x01,0xFF,0x0D +,0xAC,0xCD,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA1,0xC0,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x9C,0x98,0xFF,0xFF,0xFF,0x00,0x99,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x01,0x01,0xE2,0x02,0x14,0x18,0xFE,0x0F +,0xBE,0xE2,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD5,0xFF,0x00,0x04 +,0x05,0xFE,0x00,0x00,0x00,0xBA,0x91,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00 +,0x03,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0xFF,0x09,0x71,0x87,0xFF,0x92,0x0F +,0xBF,0xE4,0xFF,0x02,0x0D,0xA6,0xC6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x8F,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC6,0x01,0x07,0x08,0xFE +,0x0E,0xB6,0xD9,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB5,0xD8,0xFF,0x01 +,0x10,0x13,0xFD,0x00,0x01,0x02,0xEB,0x00,0x00,0x00,0x0F,0x98,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xC4,0x00,0x02,0x03,0xFE,0x0C +,0x9E,0xBD,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBC,0xE0,0xFF,0x04,0x2E +,0x36,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x57,0x94,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0xC9,0x01,0x13,0x16,0xFE,0x8F,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x7F,0x97,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x59,0x8A,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0xAF,0x00,0x02,0x02,0xFE,0x0E,0xAE,0xCF,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBD,0xE1,0xFF,0x01,0x0F,0x12,0xFE,0x00 +,0x01,0x01,0xD5,0x86,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x15,0x00,0x01 +,0x01,0xF3,0x02,0x1C,0x22,0xFD,0x0F,0xBC,0xE0,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x03,0x0F,0xBE,0xE3,0xFF,0x04,0x36,0x40,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x60,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x45,0x00,0x00,0x00 +,0xFF,0x09,0x6F,0x84,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x65,0x79,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x31,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x87,0x00,0x00,0x00,0xFF,0x0A,0x80,0x99,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x04,0x2D,0x35,0xFF,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x57,0xA6,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x55,0x00,0x00 +,0x00,0xFF,0x08,0x6B,0x80,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x26,0x2D +,0xFE,0x00,0x01,0x01,0xF2,0x00,0x00,0x00,0x09,0x97,0xFF,0xFF,0xFF,0x00,0x9A +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0xFF,0x0B,0x8B +,0xA5,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3A,0x46,0xFF,0x00,0x00,0x01 +,0xFD,0x00,0x00,0x00,0x17,0x8F,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x0A +,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0xFF,0x05,0x3F,0x4B,0xFF,0x0F,0xBE,0xE2 +,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBB,0xE0,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0xA7,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x6B,0x00 +,0x00,0x00,0xFF,0x0A,0x7A,0x92,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x03,0x09,0x73 +,0x8A,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0x0B,0x98 +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x30,0x00,0x00,0x01,0xFD,0x03,0x27 +,0x2F,0xFE,0x0F,0xBA,0xDE,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xAC,0xCE +,0xFF,0x01,0x11,0x14,0xFD,0x00,0x01,0x01,0xF7,0x00,0x00,0x00,0x51,0x93,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x02,0x02,0xE8,0x03,0x2A,0x32,0xFF,0x8F,0x0F,0xBF +,0xE4,0xFF,0x02,0x0A,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x56 +,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0xFF,0x09 +,0x6D,0x82,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4E,0x5D,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x2A,0x86,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x7D,0x00,0x00,0x00,0xFF,0x09,0x72,0x88,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0E,0xB0,0xD2,0xFF,0x01,0x13,0x17,0xFD,0x00,0x01,0x01,0xF6,0x00,0x00,0x00 +,0x2E,0x92,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,0xFF +,0x0B,0x90,0xAC,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7C,0x94,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x50,0x86,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x13,0x00,0x01,0x02,0xF4,0x03,0x21,0x28,0xFE,0x0F,0xBE,0xE2,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x04,0x0D,0xA6,0xC6,0xFF,0x01,0x0D,0x10,0xFD,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x04,0xA4,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x09,0x00,0x01,0x01,0xF4,0x03,0x28,0x30,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x02,0x09,0x6E,0x83,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x83,0x97,0xFF,0xFF,0xFF,0x00,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x24,0x00,0x00,0x00,0xFF,0x05,0x43,0x50,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0A,0x7E,0x96,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6D,0x8D,0xFF,0xFF +,0xFF,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4C,0x00,0x01,0x02,0xE1 +,0x00,0x00,0x00,0xFF,0x05,0x3F,0x4B,0xFF,0x0F,0xBC,0xE0,0xFF,0x94,0x0F,0xBF +,0xE4,0xFF,0x01,0x01,0x09,0x0B,0xFD,0x00,0x00,0x00,0xBB,0x8A,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x15,0x00,0x01,0x01,0xFC,0x04,0x36,0x40,0xFF,0x91 +,0x0F,0xBF,0xE4,0xFF,0x04,0x0F,0xBE,0xE2,0xFF,0x06,0x4C,0x5A,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x01,0x01,0xD2,0x00,0x00,0x00,0x48,0x98,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5A,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x03,0x0C,0x98,0xB6,0xFF,0x01,0x0F,0x11,0xFD,0x00,0x00,0x00 +,0xFD,0x00,0x00,0x00,0x6D,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1D +,0x00,0x00,0x00,0xFD,0x05,0x40,0x4D,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09 +,0x76,0x8C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4D,0x8A,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x08,0x00,0x01,0x01,0xF2,0x03,0x29,0x31,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x8E,0xAA,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x81,0x86,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0B,0x00,0x01,0x01 +,0xE8,0x01,0x11,0x15,0xFD,0x0E,0xB7,0xDA,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0B,0x91,0xAD,0xFF,0x00,0x02,0x02,0xFE,0x00,0x01,0x01,0xF2,0x00,0x00,0x00 +,0x4B,0x90,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x24,0x00,0x01,0x01,0xF9 +,0x03,0x25,0x2C,0xFE,0x0F,0xBE,0xE3,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x02,0x0C +,0x94,0xB1,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x70,0x87,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0xFF,0x09,0x6D,0x83,0xFF,0x92 +,0x0F,0xBF,0xE4,0xFF,0x08,0x0D,0xA7,0xC7,0xFF,0x03,0x27,0x2F,0xFE,0x00,0x00 +,0x00,0xFF,0x00,0x01,0x01,0xE0,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x3D,0x00 +,0x00,0x00,0x2B,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x09,0xA0,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0xFF,0x0D,0xA6,0xC6,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x05,0x0E,0xB6,0xD9,0xFF,0x03,0x23,0x2A,0xFE,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x2F,0x00,0x00,0x00,0x0C,0x94 +,0xFF,0xFF,0xFF,0x00,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xC2,0x00 +,0x05,0x06,0xFE,0x0E,0xB4,0xD7,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xB8 +,0xDB,0xFF,0x01,0x08,0x0A,0xFE,0x00,0x01,0x01,0xCC,0x00,0x00,0x00,0x22,0x00 +,0x00,0x00,0x04,0x88,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00,0x08,0x00,0x00 +,0x00,0x4C,0x00,0x00,0x00,0x9C,0x00,0x01,0x01,0xEA,0x00,0x00,0x00,0xFF,0x01 +,0x09,0x0B,0xFD,0x09,0x70,0x86,0xFF,0x0F,0xBE,0xE3,0xFF,0x95,0x0F,0xBF,0xE4 +,0xFF,0x01,0x02,0x18,0x1D,0xFE,0x00,0x00,0x00,0xD0,0x8B,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0xB6,0x00,0x02,0x03,0xFE,0x0E,0xAF,0xD0,0xFF,0x92,0x0F +,0xBF,0xE4,0xFF,0x07,0x08,0x65,0x79,0xFF,0x00,0x03,0x04,0xFE,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x01,0xC7,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0x5C,0x00,0x00 +,0x00,0x43,0x00,0x00,0x00,0x31,0x8C,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00 +,0x1B,0x85,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xB6 +,0x00,0x00,0x00,0xFF,0x09,0x73,0x8A,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x04,0x0D +,0xA5,0xC5,0xFF,0x02,0x1A,0x1F,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8B +,0x00,0x00,0x00,0x01,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB6,0x00 +,0x00,0x00,0xFF,0x0B,0x8A,0xA5,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6E +,0x83,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x44,0x8B,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0xFF,0x0D,0xA4,0xC4,0xFF,0x8F,0x0F +,0xBF,0xE4,0xFF,0x02,0x0F,0xBE,0xE2,0xFF,0x01,0x11,0x14,0xFE,0x00,0x01,0x01 +,0xD9,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0xFF +,0x08,0x62,0x75,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x04,0x0B,0x8D,0xA8,0xFF,0x01 +,0x0D,0x10,0xFD,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x17 +,0x8D,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x38,0x00,0x01,0x01,0xE3,0x00 +,0x00,0x00,0xFF,0x0B,0x90,0xAC,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xAC +,0xCD,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8F,0x87,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x0A,0x00,0x01,0x02,0xDE,0x01,0x07,0x09,0xFE,0x0D,0xA7 +,0xC7,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBB,0xDF,0xFF,0x07,0x5F,0x72 +,0xFF,0x02,0x16,0x1A,0xFE,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x01,0x01,0xF8 +,0x00,0x01,0x01,0xEA,0x90,0x00,0x01,0x01,0xE9,0x03,0x00,0x01,0x01,0xDA,0x00 +,0x00,0x00,0xA2,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x1F,0x83,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xB1,0x84,0x00,0x01,0x01,0xE9,0x02,0x00,0x01,0x01 +,0xF3,0x00,0x00,0x00,0xFF,0x08,0x64,0x78,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x01 +,0x0E,0xAE,0xCF,0xFF,0x02,0x1F,0x25,0xFE,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x01,0x01,0xEF,0x88,0x00,0x01,0x01,0xE9,0x04,0x00,0x01,0x01,0xE8,0x00,0x00 +,0x00,0xD7,0x00,0x00,0x00,0xBA,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x1F,0x85 +,0xFF,0xFF,0xFF,0x00,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x62,0x00 +,0x00,0x00,0xFF,0x09,0x72,0x88,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x00,0x05,0x45 +,0x52,0xFF,0x81,0x00,0x00,0x00,0xFF,0x0A,0x00,0x00,0x01,0xFC,0x00,0x01,0x01 +,0xDD,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0x74,0x00,0x00 +,0x00,0x72,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0xA9,0x00 +,0x00,0x00,0xBD,0x00,0x01,0x01,0xF4,0x81,0x00,0x00,0x00,0xFF,0x02,0x03,0x21 +,0x28,0xFE,0x07,0x5E,0x71,0xFF,0x0D,0xAB,0xCC,0xFF,0x97,0x0F,0xBF,0xE4,0xFF +,0x01,0x03,0x28,0x2F,0xFF,0x00,0x01,0x01,0xE5,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x5B,0x00,0x00,0x00,0xFF,0x09,0x6E,0x83,0xFF,0x93,0x0F,0xBF +,0xE4,0xFF,0x02,0x0D,0xA8,0xC8,0xFF,0x06,0x4E,0x5D,0xFF,0x00,0x04,0x05,0xFE +,0x91,0x00,0x00,0x00,0xFF,0x02,0x00,0x01,0x01,0xD0,0x00,0x00,0x00,0x80,0x00 +,0x00,0x00,0x14,0x83,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x11,0x00,0x01 +,0x02,0xDE,0x00,0x04,0x05,0xFE,0x0C,0x97,0xB4,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF +,0x05,0x0E,0xB0,0xD2,0xFF,0x03,0x2A,0x32,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01 +,0x01,0xC8,0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x01,0x8B,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0xFF,0x05,0x46 +,0x53,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x67,0x7B,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x3B,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x44 +,0x00,0x00,0x00,0xFF,0x08,0x61,0x73,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x06 +,0x51,0x61,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2F,0x86,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x01,0x01,0xDA,0x01,0x09,0x0A,0xFD,0x0E +,0xAF,0xD1,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x06,0x0D,0xA8,0xC8,0xFF,0x03,0x28 +,0x30,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xF8,0x00,0x00,0x00,0x97,0x00 +,0x00,0x00,0x46,0x00,0x00,0x00,0x0C,0x87,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00 +,0x00,0x06,0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x9A,0x00,0x01,0x01,0xFB,0x00 +,0x05,0x06,0xFE,0x09,0x73,0x8A,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBE +,0xE3,0xFF,0x00,0x02,0x02,0xFF,0x00,0x00,0x00,0xAE,0x88,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x42,0x00,0x00,0x00,0xFF,0x04,0x34,0x3E,0xFF,0x94,0x0F +,0xBF,0xE4,0xFF,0x07,0x0F,0xBE,0xE3,0xFF,0x0C,0x93,0xAF,0xFF,0x08,0x67,0x7B +,0xFF,0x07,0x5B,0x6C,0xFF,0x06,0x4E,0x5D,0xFF,0x05,0x41,0x4E,0xFF,0x04,0x35 +,0x3F,0xFF,0x03,0x2B,0x33,0xFF,0x90,0x03,0x29,0x31,0xFF,0x05,0x02,0x1D,0x23 +,0xFE,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xFA,0x00,0x00 +,0x00,0x91,0x00,0x00,0x00,0x15,0x81,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x76,0x00,0x00,0x00,0xFF,0x02,0x19,0x1E,0xFF,0x84,0x03,0x29,0x31,0xFF,0x00 +,0x06,0x4B,0x59,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x04,0x0F,0xBE,0xE3,0xFF,0x0B +,0x8C,0xA7,0xFF,0x07,0x5C,0x6E,0xFF,0x05,0x43,0x50,0xFF,0x04,0x2D,0x36,0xFF +,0x89,0x03,0x29,0x31,0xFF,0x05,0x02,0x1B,0x21,0xFF,0x00,0x06,0x07,0xFE,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0x0F +,0x83,0xFF,0xFF,0xFF,0x00,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0D +,0x00,0x01,0x01,0xF6,0x03,0x2A,0x32,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x05,0x0D +,0xA6,0xC6,0xFF,0x09,0x6F,0x84,0xFF,0x07,0x55,0x65,0xFF,0x05,0x3B,0x47,0xFF +,0x03,0x21,0x28,0xFF,0x01,0x07,0x09,0xFE,0x85,0x00,0x00,0x00,0xFF,0x03,0x01 +,0x09,0x0B,0xFD,0x03,0x2A,0x33,0xFF,0x08,0x67,0x7B,0xFF,0x0D,0xA5,0xC5,0xFF +,0x9A,0x0F,0xBF,0xE4,0xFF,0x01,0x04,0x36,0x40,0xFF,0x00,0x01,0x01,0xF9,0x8B +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x0C,0x00,0x01,0x01,0xF6,0x03,0x2A +,0x32,0xFF,0x95,0x0F,0xBF,0xE4,0xFF,0x04,0x0E,0xAF,0xD1,0xFF,0x0C,0x93,0xAF +,0xFF,0x0A,0x80,0x99,0xFF,0x09,0x6D,0x83,0xFF,0x08,0x60,0x72,0xFF,0x8C,0x07 +,0x5F,0x72,0xFF,0x04,0x05,0x43,0x50,0xFF,0x01,0x0C,0x0E,0xFE,0x00,0x00,0x00 +,0xFF,0x00,0x01,0x02,0xE8,0x00,0x00,0x00,0x45,0x83,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x2F,0x00,0x01,0x01,0xF7,0x02,0x14,0x18,0xFD,0x0E,0xAF,0xD0 +,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x08,0x0E,0xB8,0xDC,0xFF,0x07,0x55,0x66,0xFF +,0x01,0x08,0x09,0xFD,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xD8,0x00,0x00,0x00 +,0x77,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x01,0x83,0xFF +,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x1E,0x00,0x00,0x00 +,0x5F,0x00,0x00,0x00,0xA7,0x00,0x01,0x01,0xF6,0x00,0x00,0x00,0xFF,0x05,0x3F +,0x4B,0xFF,0x0E,0xB3,0xD6,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x61,0x73 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x32,0x8B,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x03,0x00,0x01,0x02,0xE8,0x02,0x1D,0x22,0xFE,0x90,0x0F,0xBF +,0xE4,0xFF,0x02,0x0B,0x92,0xAE,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x85 +,0x87,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xFF,0x05 +,0x3E,0x4A,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x01,0x0B,0x86,0xA0,0xFF,0x03,0x28 +,0x30,0xFF,0x81,0x00,0x00,0x00,0xFF,0x09,0x00,0x00,0x00,0xFD,0x00,0x00,0x00 +,0xCF,0x00,0x00,0x00,0xB5,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x8C,0x00,0x00 +,0x00,0x86,0x00,0x00,0x00,0x9A,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0xC4,0x00 +,0x01,0x01,0xF2,0x81,0x00,0x00,0x00,0xFF,0x01,0x03,0x25,0x2C,0xFE,0x0C,0x9D +,0xBB,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBD,0xE1,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0xAC,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x9B +,0x00,0x00,0x00,0xFF,0x09,0x76,0x8C,0xFF,0xAD,0x0F,0xBF,0xE4,0xFF,0x09,0x0E +,0xB3,0xD6,0xFF,0x0B,0x87,0xA1,0xFF,0x03,0x2B,0x33,0xFE,0x00,0x00,0x00,0xFF +,0x00,0x01,0x01,0xEB,0x00,0x00,0x00,0x1D,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x23,0x00,0x00,0x00,0xFF,0x06,0x4B,0x59,0xFF,0xA8,0x0F,0xBF,0xE4,0xFF,0x05 +,0x0F,0xBE,0xE3,0xFF,0x0B,0x89,0xA4,0xFF,0x04,0x31,0x3B,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x01,0x01,0xE3,0x00,0x00,0x00,0x2F,0x82,0xFF,0xFF,0xFF,0x00,0x9C +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0xFF,0x0D,0xA1 +,0xC0,0xFF,0x94,0x0F,0xBF,0xE4,0xFF,0x05,0x0E,0xAE,0xCF,0xFF,0x0C,0x94,0xB1 +,0xFF,0x0C,0x93,0xAF,0xFF,0x0D,0xA0,0xBF,0xFF,0x0E,0xAF,0xD0,0xFF,0x0F,0xBC +,0xE0,0xFF,0x9E,0x0F,0xBF,0xE4,0xFF,0x01,0x04,0x34,0x3E,0xFF,0x00,0x01,0x01 +,0xF7,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0xFF +,0x0D,0xA6,0xC6,0xFF,0xA7,0x0F,0xBF,0xE4,0xFF,0x04,0x0F,0xBC,0xE0,0xFF,0x09 +,0x78,0x8F,0xFF,0x01,0x0B,0x0D,0xFD,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x67 +,0x83,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xFF,0x04 +,0x30,0x39,0xFF,0x0F,0xBC,0xE0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2 +,0xD4,0xFF,0x08,0x61,0x74,0xFF,0x01,0x0E,0x11,0xFD,0x82,0x00,0x00,0x00,0xFF +,0x05,0x00,0x01,0x01,0xFB,0x00,0x01,0x02,0xF2,0x00,0x02,0x02,0xEB,0x00,0x02 +,0x02,0xE4,0x00,0x02,0x02,0xEF,0x00,0x00,0x00,0xFE,0x82,0x00,0x00,0x00,0xFF +,0x01,0x03,0x23,0x2A,0xFE,0x0B,0x87,0xA1,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02 +,0x07,0x53,0x63,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x28,0x8C,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xFF,0x0C,0x99,0xB6,0xFF +,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBE,0xE3,0xFF,0x02,0x13,0x17,0xFE,0x00 +,0x01,0x01,0xDD,0x88,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA9,0x00,0x00 +,0x00,0xFF,0x08,0x6C,0x81,0xFF,0x94,0x0F,0xBF,0xE4,0xFF,0x04,0x0C,0x9B,0xB9 +,0xFF,0x08,0x6C,0x81,0xFF,0x05,0x3D,0x49,0xFF,0x02,0x13,0x17,0xFE,0x00,0x03 +,0x04,0xFE,0x83,0x00,0x00,0x00,0xFF,0x04,0x00,0x05,0x06,0xFE,0x02,0x15,0x19 +,0xFE,0x03,0x2B,0x34,0xFF,0x08,0x64,0x78,0xFF,0x0D,0xA3,0xC2,0xFF,0x93,0x0F +,0xBF,0xE4,0xFF,0x02,0x0E,0xB3,0xD6,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x9F,0x89,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0F,0x00,0x02,0x02,0xE7 +,0x01,0x0B,0x0D,0xFE,0x0E,0xAC,0xCE,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x07,0x09 +,0x76,0x8C,0xFF,0x00,0x01,0x01,0xFF,0x00,0x01,0x01,0xCB,0x00,0x00,0x00,0x07 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xD0,0x01,0x0E,0x10,0xFD,0x0F,0xBD,0xE1 +,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF,0x03,0x09,0x76,0x8C,0xFF,0x00,0x04,0x05,0xFE +,0x00,0x01,0x01,0xD8,0x00,0x00,0x00,0x09,0x81,0xFF,0xFF,0xFF,0x00,0x9C,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xFF,0x07,0x59,0x6A +,0xFF,0xB9,0x0F,0xBF,0xE4,0xFF,0x01,0x03,0x24,0x2B,0xFF,0x00,0x01,0x01,0xE3 +,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0xFF,0x08 +,0x62,0x75,0xFF,0xA9,0x0F,0xBF,0xE4,0xFF,0x03,0x0D,0xAA,0xCB,0xFF,0x02,0x16 +,0x1A,0xFE,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x32,0x83,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0xFF,0x07,0x55,0x66,0xFF,0x92,0x0F +,0xBF,0xE4,0xFF,0x0C,0x0F,0xB9,0xDD,0xFF,0x0C,0x97,0xB5,0xFF,0x09,0x76,0x8C +,0xFF,0x07,0x54,0x64,0xFF,0x05,0x3B,0x47,0xFF,0x04,0x35,0x3F,0xFF,0x04,0x30 +,0x39,0xFF,0x03,0x2B,0x34,0xFF,0x04,0x32,0x3C,0xFF,0x05,0x40,0x4D,0xFF,0x06 +,0x4F,0x5F,0xFF,0x09,0x76,0x8C,0xFF,0x0D,0xAB,0xCC,0xFF,0x94,0x0F,0xBF,0xE4 +,0xFF,0x02,0x02,0x1E,0x24,0xFE,0x00,0x01,0x01,0xED,0x00,0x00,0x00,0x03,0x8C +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0xFF,0x07,0x55 +,0x65,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x54,0x64,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x33,0x87,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0D +,0x00,0x01,0x01,0xDB,0x00,0x03,0x04,0xFE,0x0C,0x96,0xB3,0xFF,0x98,0x0F,0xBF +,0xE4,0xFF,0x03,0x0E,0xB7,0xDA,0xFF,0x0D,0xA9,0xCA,0xFF,0x0D,0xA6,0xC6,0xFF +,0x0E,0xB5,0xD8,0xFF,0x98,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA9,0xC9,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x92,0x8A,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x4E,0x00,0x00,0x00,0xFF,0x05,0x3A,0x45,0xFF,0x0F,0xBE,0xE3,0xFF,0xAF +,0x0F,0xBF,0xE4,0xFF,0x06,0x07,0x5B,0x6D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x9A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFF,0x0B +,0x8E,0xA9,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x68,0x7C,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x86,0x81,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xE0,0x01,0x12,0x16,0xFD,0x0F +,0xBD,0xE1,0xFF,0xB8,0x0F,0xBF,0xE4,0xFF,0x01,0x02,0x14,0x18,0xFE,0x00,0x00 +,0x00,0xCE,0x8C,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x01,0x01 +,0xED,0x02,0x1E,0x24,0xFE,0xAA,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB4,0xFF +,0x00,0x03,0x04,0xFE,0x00,0x00,0x00,0xBB,0x83,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x05,0x00,0x00,0x01,0xC4,0x00,0x00,0x00,0xFF,0x09,0x6E,0x83,0xFF +,0xB2,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA3,0xC3,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x9F,0x8E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01,0x01,0xDA,0x01,0x12 +,0x15,0xFE,0x0F,0xBE,0xE2,0xFF,0x8F,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x95,0xB2 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8A,0x88,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x2F,0x00,0x01,0x01,0xF8,0x02,0x15,0x1A,0xFD,0x0E,0xB2,0xD4 +,0xFF,0xB4,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9E,0xBD,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x85,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA6,0x00 +,0x00,0x00,0xFF,0x07,0x5A,0x6B,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x06,0x0F,0xBE +,0xE2,0xFF,0x04,0x34,0x3F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x42,0x00 +,0x00,0x00,0x2B,0x00,0x00,0x00,0xFF,0x06,0x4F,0x5F,0xFF,0xAB,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0F,0xBE,0xE2,0xFF,0x01,0x13,0x16,0xFE,0x00,0x00,0x00,0xCC,0x81 +,0xFF,0xFF,0xFF,0x00,0x9D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x81,0x00 +,0x00,0x00,0xFF,0x0B,0x88,0xA3,0xFF,0xB8,0x0F,0xBF,0xE4,0xFF,0x01,0x00,0x05 +,0x06,0xFE,0x00,0x00,0x00,0xBB,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x97,0x00,0x00,0x00,0xFF,0x0C,0x9A,0xB8,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF,0x02 +,0x05,0x42,0x4F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x28,0x83,0xFF,0xFF +,0xFF,0x00,0x04,0x00,0x00,0x00,0x19,0x00,0x01,0x02,0xDE,0x00,0x00,0x00,0xFF +,0x07,0x57,0x68,0xFF,0x0F,0xBE,0xE3,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x68,0x7C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4E,0x8E,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFF,0x0B,0x8D,0xA8,0xFF,0x8F +,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xBE,0xE3,0xFF,0x02,0x16,0x1B,0xFE,0x00,0x01 +,0x01,0xE1,0x89,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x65,0x00,0x00,0x00 +,0xFF,0x04,0x38,0x43,0xFF,0x0F,0xBE,0xE3,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0C,0x94,0xB0,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x77,0x8B,0xFF,0xFF +,0xFF,0x00,0x03,0x00,0x00,0x00,0x0B,0x00,0x01,0x01,0xCB,0x00,0x00,0x00,0xFF +,0x09,0x70,0x85,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x06,0x0C,0x9B,0xB9,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x94,0xFF,0xFF,0xFF,0x00,0x00,0x01,0x01,0xDA +,0x01,0x11,0x14,0xFD,0x0F,0xBE,0xE2,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x03,0x04 +,0x39,0x44,0xFF,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x05,0xFF,0xFF,0xFF,0x00 +,0x9D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0xFE,0x05 +,0x40,0x4D,0xFF,0xB7,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD4,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0xA7,0x8D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x3C,0x00,0x00,0x00,0xFF,0x07,0x57,0x68,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0B,0x8E,0xA9,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8A,0x84,0xFF,0xFF +,0xFF,0x00,0x04,0x00,0x00,0x00,0x14,0x00,0x00,0x01,0xC4,0x00,0x00,0x00,0xFF +,0x05,0x3E,0x4A,0xFF,0x0E,0xB8,0xDC,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x02,0x04 +,0x2D,0x36,0xFF,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0x09,0x8E,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0xFF,0x06,0x49,0x57,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x57,0x68,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x37,0x89,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x00 +,0xFF,0x08,0x65,0x79,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x68,0x7C,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x50,0x8C,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x16,0x00,0x01,0x01,0xDD,0x00,0x01,0x01,0xFF,0x0A,0x84,0x9D,0xFF +,0xAF,0x0F,0xBF,0xE4,0xFF,0x05,0x02,0x15,0x19,0xFE,0x00,0x01,0x01,0xE1,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x86,0x00,0x00,0x00,0xFF,0x0B,0x92,0xAE,0xFF +,0xAB,0x0F,0xBF,0xE4,0xFF,0x03,0x07,0x5E,0x70,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x2F,0xFF,0xFF,0xFF,0x00,0x9E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0xC0,0x00,0x04,0x05,0xFE,0x0E,0xB2,0xD5,0xFF,0xB6,0x0F,0xBF,0xE4,0xFF +,0x02,0x09,0x72,0x88,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x6A,0x8D,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0xE1,0x02,0x13,0x17 +,0xFE,0x0F,0xBE,0xE2,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x00,0x0E,0xB4,0xD7,0xFF +,0x94,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x02,0x17,0x1C,0xFE,0x00 +,0x01,0x01,0xE8,0x00,0x00,0x00,0x04,0x84,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00 +,0x00,0x07,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0xFF,0x03,0x29,0x31,0xFE,0x0E +,0xAE,0xCF,0xFF,0xAD,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x87,0xA1,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0xA8,0x90,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01 +,0xE5,0x03,0x25,0x2D,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x98,0xB6,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8E,0x89,0xFF,0xFF,0xFF,0x00,0x03,0x00 +,0x00,0x00,0x0B,0x00,0x01,0x01,0xD8,0x00,0x02,0x02,0xFE,0x0B,0x91,0xAD,0xFF +,0xB2,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x21,0x27,0xFE,0x00,0x01,0x01,0xEF,0x00 +,0x00,0x00,0x06,0x8D,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x24,0x00,0x01 +,0x02,0xEC,0x00,0x06,0x07,0xFE,0x0C,0x95,0xB2,0xFF,0xAE,0x0F,0xBF,0xE4,0xFF +,0x05,0x06,0x50,0x60,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x2E,0x00,0x00 +,0x00,0x33,0x00,0x00,0x00,0xFF,0x07,0x53,0x63,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF +,0x03,0x0A,0x82,0x9C,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x60,0xFF,0xFF +,0xFF,0x00,0x9E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x61,0x00,0x00,0x00 +,0xFF,0x09,0x77,0x8E,0xFF,0xB6,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x28,0x2F,0xFF +,0x00,0x01,0x01,0xF7,0x00,0x00,0x00,0x0F,0x8E,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x87,0x00,0x00,0x00,0xFF,0x0B,0x8F,0xAB,0xFF,0x92,0x0F,0xBF,0xE4 +,0xFF,0x02,0x06,0x4C,0x5A,0xFF,0x00,0x05,0x05,0xFE,0x0C,0x9D,0xBC,0xFF,0x94 +,0x0F,0xBF,0xE4,0xFF,0x02,0x08,0x60,0x72,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x4D,0x86,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x0E,0x10,0xFD,0x0A,0x7E,0x96,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0E,0xAC,0xCE,0xFF,0x01,0x0E,0x11,0xFD,0x00,0x01,0x02,0xED,0x00,0x00,0x00 +,0x1B,0x90,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xE8,0x03,0x2C,0x35,0xFF +,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x02,0x19,0x1E,0xFE,0x00,0x01,0x02,0xE5,0x00 +,0x00,0x00,0x01,0x89,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x2B,0x00,0x01 +,0x01,0xF6,0x01,0x12,0x15,0xFE,0x0D,0xAC,0xCD,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF +,0x02,0x0C,0x9A,0xB8,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x9A,0x8F,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x35,0x00,0x01,0x01,0xF5,0x01,0x0D,0x10 +,0xFD,0x0B,0x8B,0xA6,0xFF,0xAD,0x0F,0xBF,0xE4,0xFF,0x06,0x0B,0x8B,0xA5,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7A,0xFF,0xFF,0xFF,0x00,0x00,0x01,0x01 +,0xE1,0x02,0x15,0x19,0xFE,0x0F,0xBE,0xE3,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF,0x03 +,0x0D,0xA7,0xC7,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x91,0xFF,0xFF,0xFF +,0x00,0x9E,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xFF +,0x06,0x51,0x61,0xFF,0xB5,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBB,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0xA2,0x8F,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x2C,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5A,0xFF,0x92,0x0F,0xBF,0xE4,0xFF +,0x03,0x05,0x40,0x4C,0xFF,0x00,0x00,0x00,0xFF,0x03,0x28,0x30,0xFE,0x0F,0xBE +,0xE2,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA8,0xC8,0xFF,0x00,0x01,0x01 +,0xFF,0x00,0x00,0x00,0xAE,0x87,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x4D +,0x00,0x01,0x02,0xE9,0x00,0x00,0x00,0xFF,0x05,0x3D,0x49,0xFF,0x0E,0xAF,0xD0 +,0xFF,0xA8,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE3,0xFF,0x04,0x33,0x3C,0xFE +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4B,0x91,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x01,0x01,0xEF,0x04,0x32,0x3C,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x5A +,0x6B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3C,0x8A,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0xFF,0x02,0x18,0x1D,0xFD,0x0D,0xA5 +,0xC5,0xFF,0xAF,0x0F,0xBF,0xE4,0xFF,0x02,0x07,0x54,0x64,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x3E,0x90,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x47 +,0x00,0x01,0x02,0xF1,0x00,0x01,0x01,0xFF,0x07,0x55,0x65,0xFF,0x0F,0xBA,0xDE +,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x06,0x0F,0xBB,0xDF,0xFF,0x01,0x09,0x0A,0xFE +,0x00,0x00,0x00,0xC7,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00 +,0xFF,0x0C,0x97,0xB4,0xFF,0xAB,0x0F,0xBF,0xE4,0xFF,0x02,0x01,0x0B,0x0D,0xFD +,0x00,0x00,0x00,0xC3,0xFF,0xFF,0xFF,0x00,0x9F,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x01,0x01,0xF1,0x04,0x30,0x39,0xFF,0xB5,0x0F,0xBF,0xE4,0xFF,0x02,0x06,0x4B +,0x59,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x3E,0x90,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x01,0xD4,0x01,0x0F,0x11,0xFD,0x0F,0xBD,0xE1,0xFF,0x91,0x0F +,0xBF,0xE4,0xFF,0x00,0x07,0x59,0x6A,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x08 +,0x6B,0x80,0xFF,0x94,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x32,0x3C,0xFF,0x00,0x01 +,0x01,0xFB,0x00,0x00,0x00,0x15,0x87,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00 +,0x12,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0xFF,0x01,0x0E,0x11,0xFD,0x09,0x6E +,0x83,0xFF,0x0E,0xB7,0xDA,0xFF,0xA5,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xAE,0xCF +,0xFF,0x04,0x37,0x41,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x8F,0x91,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xFF,0x06,0x4B,0x59 +,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x82,0x8B,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x63,0x00 +,0x00,0x01,0xFD,0x01,0x10,0x13,0xFD,0x0C,0x9C,0xBA,0xFF,0xAD,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0D,0xA5,0xC5,0xFF,0x01,0x0B,0x0D,0xFD,0x00,0x01,0x01,0xE1,0x00 +,0x00,0x00,0x01,0x91,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x1E,0x00,0x00 +,0x01,0xC3,0x00,0x00,0x00,0xFF,0x03,0x22,0x29,0xFE,0x0C,0x9F,0xBE,0xFF,0xAB +,0x0F,0xBF,0xE4,0xFF,0x05,0x05,0x40,0x4C,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00 +,0x00,0x16,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xFF,0x07,0x58,0x69,0xFF,0xAB +,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x30,0x39,0xFF,0x00,0x01,0x01,0xF3,0x00,0x00 +,0x00,0x01,0x9F,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x01,0xEC,0x04,0x31,0x3B +,0xFF,0xB4,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x01,0x01,0xCA,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x80,0x00 +,0x00,0x00,0xFF,0x0B,0x90,0xAC,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x04,0x09,0x72 +,0x88,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFE,0x01,0x07,0x08,0xFD,0x0D +,0xA8,0xC8,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x7C,0x94,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x72,0x89,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00 +,0x53,0x00,0x01,0x02,0xEB,0x00,0x00,0x00,0xFF,0x01,0x0C,0x0E,0xFE,0x07,0x5B +,0x6C,0xFF,0x0D,0xAC,0xCD,0xFF,0xA2,0x0F,0xBF,0xE4,0xFF,0x04,0x0B,0x86,0xA0 +,0xFF,0x01,0x0F,0x12,0xFD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xA4,0x00,0x00 +,0x00,0x06,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00 +,0xFF,0x0A,0x7F,0x98,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0D,0xA1,0xC0,0xFF +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x83,0x8C,0xFF,0xFF,0xFF,0x00,0x04,0x00 +,0x00,0x00,0x50,0x00,0x01,0x01,0xF9,0x01,0x09,0x0B,0xFD,0x09,0x76,0x8D,0xFF +,0x0F,0xBE,0xE3,0xFF,0xAA,0x0F,0xBF,0xE4,0xFF,0x03,0x0E,0xB2,0xD5,0xFF,0x02 +,0x1F,0x25,0xFE,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x4B,0x93,0xFF,0xFF,0xFF +,0x00,0x05,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x7F,0x00,0x00,0x01,0xFD,0x00 +,0x05,0x06,0xFE,0x08,0x66,0x7A,0xFF,0x0E,0xB1,0xD3,0xFF,0xA9,0x0F,0xBF,0xE4 +,0xFF,0x05,0x0A,0x7A,0x92,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x61,0x00 +,0x00,0x00,0x02,0x00,0x01,0x01,0xE8,0x02,0x19,0x1E,0xFE,0xAB,0x0F,0xBF,0xE4 +,0xFF,0x02,0x07,0x55,0x65,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x25,0x9E +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0xFE,0x05,0x3E +,0x4A,0xFF,0xB3,0x0F,0xBF,0xE4,0xFF,0x03,0x08,0x6A,0x7F,0xFF,0x00,0x03,0x04 +,0xFE,0x00,0x01,0x02,0xE7,0x00,0x00,0x00,0x1B,0x91,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0xFF,0x07,0x53,0x63,0xFF,0x91,0x0F,0xBF +,0xE4,0xFF,0x04,0x09,0x79,0x90,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x98 +,0x00,0x00,0x00,0xFE,0x04,0x36,0x40,0xFF,0x93,0x0F,0xBF,0xE4,0xFF,0x02,0x0F +,0xB9,0xDD,0xFF,0x01,0x0B,0x0D,0xFE,0x00,0x01,0x01,0xD4,0x8A,0xFF,0xFF,0xFF +,0x00,0x06,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x69,0x00,0x01,0x01,0xDB,0x00 +,0x00,0x00,0xFF,0x00,0x03,0x04,0xFE,0x05,0x46,0x53,0xFF,0x0C,0x9B,0xB9,0xFF +,0x9D,0x0F,0xBF,0xE4,0xFF,0x05,0x0F,0xBE,0xE3,0xFF,0x0B,0x8B,0xA6,0xFF,0x05 +,0x3F,0x4B,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x02,0xEF,0x00,0x00,0x00,0x56 +,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xB2,0x00,0x01,0x01,0xFF,0x0E +,0xB2,0xD4,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x0B,0x87,0xA1,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x6E,0x8D,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00 +,0x3F,0x00,0x01,0x02,0xE8,0x00,0x00,0x00,0xFF,0x03,0x2C,0x34,0xFE,0x0C,0x9B +,0xB9,0xFF,0xA8,0x0F,0xBF,0xE4,0xFF,0x03,0x0B,0x88,0xA2,0xFF,0x01,0x13,0x17 +,0xFD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x76,0x96,0xFF,0xFF,0xFF,0x00,0x06 +,0x00,0x00,0x00,0x3B,0x00,0x01,0x01,0xE1,0x00,0x00,0x00,0xFF,0x00,0x03,0x04 +,0xFE,0x05,0x3B,0x47,0xFF,0x0A,0x81,0x9A,0xFF,0x0F,0xBA,0xDE,0xFF,0xA6,0x0F +,0xBF,0xE4,0xFF,0x07,0x0E,0xB2,0xD4,0xFF,0x00,0x02,0x02,0xFE,0x00,0x00,0x00 +,0xAE,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0xFF,0x0B,0x8E +,0xAA,0xFF,0x0F,0xBB,0xDF,0xFF,0xA9,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x79,0x90 +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x56,0x9D,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0x05,0x00,0x01,0x01,0xD2,0x00,0x02,0x02,0xFE,0x0C,0x97,0xB5 +,0xFF,0xB0,0x0F,0xBF,0xE4,0xFF,0x05,0x0E,0xB8,0xDC,0xFF,0x0A,0x7B,0x93,0xFF +,0x04,0x2D,0x35,0xFF,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0xD8,0x00,0x00,0x00 +,0x2C,0x92,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFF +,0x06,0x49,0x57,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x06,0x07,0x58,0x6A,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x9A,0x00,0x00,0x00,0xFF +,0x06,0x49,0x58,0xFF,0x0F,0xBC,0xE0,0xFF,0x92,0x0F,0xBF,0xE4,0xFF,0x02,0x06 +,0x4E,0x5D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x35,0x8B,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x4E,0x00,0x00,0x00,0xC1,0x81 +,0x00,0x00,0x00,0xFF,0x02,0x04,0x31,0x3B,0xFF,0x0B,0x86,0xA0,0xFF,0x0F,0xBA +,0xDE,0xFF,0x97,0x0F,0xBF,0xE4,0xFF,0x03,0x0F,0xBE,0xE2,0xFF,0x0D,0xA0,0xBF +,0xFF,0x08,0x60,0x72,0xFF,0x02,0x16,0x1B,0xFE,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xB6,0x00,0x00,0x00,0x1A,0x93,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x0E,0x00,0x01,0x01,0xF9,0x04,0x31,0x3A,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x03,0x0F,0xBB,0xDF,0xFF,0x04,0x31,0x3B,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x1F,0x8E,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00,0x0D,0x00,0x00 +,0x00,0x8B,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0xFF,0x02,0x1C,0x21,0xFE,0x06 +,0x52,0x62,0xFF,0x0B,0x88,0xA2,0xFF,0x0E,0xB8,0xDC,0xFF,0x9F,0x0F,0xBF,0xE4 +,0xFF,0x07,0x0F,0xBE,0xE3,0xFF,0x0D,0xAB,0xCC,0xFF,0x0A,0x84,0x9D,0xFF,0x06 +,0x4D,0x5C,0xFF,0x02,0x15,0x19,0xFE,0x00,0x00,0x00,0xFF,0x00,0x01,0x02,0xF1 +,0x00,0x00,0x00,0x5B,0x98,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00,0x0B,0x00 +,0x00,0x00,0x5C,0x00,0x00,0x00,0xB8,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0xFF +,0x01,0x0C,0x0E,0xFD,0x06,0x4D,0x5C,0xFF,0x0C,0x93,0xAF,0xFF,0xA5,0x0F,0xBF +,0xE4,0xFF,0x03,0x04,0x2F,0x38,0xFF,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0x07 +,0x00,0x00,0x00,0x44,0x82,0x00,0x00,0x00,0xFF,0x05,0x01,0x0A,0x0C,0xFE,0x02 +,0x1B,0x20,0xFF,0x05,0x3A,0x45,0xFF,0x08,0x69,0x7D,0xFF,0x0C,0x98,0xB6,0xFF +,0x0F,0xBD,0xE1,0xFF,0xA3,0x0F,0xBF,0xE4,0xFF,0x02,0x0C,0x9D,0xBC,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x87,0x9C,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x10,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0xFF,0x07,0x56,0x67,0xFF,0xAD +,0x0F,0xBF,0xE4,0xFF,0x08,0x0F,0xBC,0xE0,0xFF,0x0D,0xA6,0xC6,0xFF,0x0B,0x8A +,0xA5,0xFF,0x06,0x4C,0x5B,0xFF,0x01,0x09,0x0B,0xFE,0x00,0x00,0x00,0xFF,0x00 +,0x01,0x01,0xFB,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0x0A,0x93,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x72,0x00,0x00,0x00,0xFF,0x09,0x76,0x8C,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x08,0x0C,0x9A,0xB8,0xFF,0x01,0x0A,0x0C,0xFD,0x00,0x01 +,0x01,0xEA,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0xFF,0x03,0x28,0x30,0xFE,0x0B,0x91,0xAD,0xFF,0x91,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0C,0x97,0xB5,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x96,0x8E +,0xFF,0xFF,0xFF,0x00,0x08,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xA5,0x00,0x01 +,0x01,0xFC,0x00,0x00,0x00,0xFF,0x00,0x04,0x05,0xFE,0x03,0x2A,0x32,0xFF,0x07 +,0x55,0x66,0xFF,0x0A,0x80,0x99,0xFF,0x0D,0xAB,0xCC,0xFF,0x8C,0x0F,0xBF,0xE4 +,0xFF,0x07,0x0F,0xBB,0xE0,0xFF,0x0D,0xAC,0xCD,0xFF,0x0C,0x9B,0xB9,0xFF,0x0B +,0x8B,0xA5,0xFF,0x09,0x76,0x8C,0xFF,0x06,0x51,0x61,0xFF,0x03,0x2C,0x35,0xFF +,0x01,0x07,0x09,0xFE,0x81,0x00,0x00,0x00,0xFF,0x02,0x00,0x01,0x01,0xE5,0x00 +,0x00,0x00,0x88,0x00,0x00,0x00,0x2A,0x94,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0x04,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0xFF,0x06,0x52,0x61,0xFF,0x8F +,0x0C,0x95,0xB2,0xFF,0x04,0x0B,0x8C,0xA7,0xFF,0x08,0x6C,0x81,0xFF,0x03,0x29 +,0x31,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xB0,0x91,0xFF,0xFF,0xFF,0x00 +,0x02,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x96,0x00,0x01,0x01,0xE1,0x81,0x00 +,0x00,0x00,0xFF,0x0E,0x00,0x02,0x02,0xFE,0x02,0x18,0x1C,0xFD,0x04,0x34,0x3E +,0xFF,0x06,0x4E,0x5D,0xFF,0x08,0x68,0x7C,0xFF,0x0A,0x7D,0x95,0xFF,0x0A,0x85 +,0x9F,0xFF,0x0B,0x8D,0xA8,0xFF,0x0C,0x94,0xB0,0xFF,0x0C,0x9B,0xB9,0xFF,0x0D +,0xA2,0xC1,0xFF,0x0D,0xA9,0xCA,0xFF,0x0E,0xB0,0xD2,0xFF,0x0E,0xB8,0xDB,0xFF +,0x0F,0xBE,0xE3,0xFF,0x84,0x0F,0xBF,0xE4,0xFF,0x0D,0x0F,0xBE,0xE2,0xFF,0x0E +,0xB4,0xD7,0xFF,0x0D,0xAA,0xCB,0xFF,0x0D,0xA0,0xBE,0xFF,0x0C,0x96,0xB3,0xFF +,0x0B,0x8B,0xA6,0xFF,0x0A,0x82,0x9B,0xFF,0x09,0x77,0x8E,0xFF,0x09,0x6D,0x82 +,0xFF,0x08,0x63,0x76,0xFF,0x07,0x55,0x66,0xFF,0x05,0x3C,0x48,0xFF,0x03,0x21 +,0x27,0xFE,0x00,0x06,0x07,0xFE,0x82,0x00,0x00,0x00,0xFF,0x02,0x00,0x01,0x01 +,0xD7,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x1D,0x9C,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x71,0x00,0x01,0x01,0xCE,0x81,0x00,0x00 +,0x00,0xFF,0x04,0x02,0x19,0x1D,0xFE,0x06,0x4E,0x5D,0xFF,0x09,0x70,0x85,0xFF +,0x0B,0x91,0xAD,0xFF,0x0E,0xB2,0xD5,0xFF,0xA0,0x0F,0xBF,0xE4,0xFF,0x09,0x08 +,0x6A,0x7E,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x03 +,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0xA8,0x00,0x00,0x00 +,0xBD,0x00,0x00,0x00,0xD3,0x00,0x00,0x01,0xFC,0x81,0x00,0x00,0x00,0xFF,0x02 +,0x01,0x09,0x0B,0xFE,0x06,0x4A,0x59,0xFF,0x0D,0xA0,0xBF,0xFF,0xA1,0x0F,0xBF +,0xE4,0xFF,0x02,0x0F,0xBC,0xE0,0xFF,0x00,0x05,0x05,0xFE,0x00,0x00,0x00,0xB9 +,0x9B,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0xB2,0x00,0x01,0x01,0xFA,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x03,0x28,0x30,0xFF,0xAB,0x04,0x2F,0x38,0xFF,0x02 +,0x04,0x2E,0x37,0xFF,0x02,0x18,0x1D,0xFE,0x00,0x02,0x03,0xFE,0x82,0x00,0x00 +,0x00,0xFF,0x02,0x00,0x00,0x00,0xCD,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x14 +,0x94,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0xFF,0x05,0x3D,0x49,0xFF,0x8D,0x06,0x47,0x55,0xFF,0x05,0x06,0x46 +,0x54,0xFF,0x04,0x2E,0x37,0xFF,0x01,0x0A,0x0C,0xFE,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0xFD,0x00,0x00,0x00,0x43,0x81,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00 +,0x00,0x04,0x00,0x00,0x00,0x8C,0x00,0x01,0x01,0xFA,0x00,0x00,0x00,0xFF,0x01 +,0x12,0x16,0xFD,0x05,0x41,0x4E,0xFF,0x90,0x06,0x47,0x55,0xFF,0x02,0x00,0x04 +,0x04,0xFF,0x00,0x01,0x01,0xF0,0x00,0x00,0x00,0x08,0x8F,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0xB5,0x00,0x01 +,0x01,0xEE,0x82,0x00,0x00,0x00,0xFF,0x0C,0x02,0x15,0x19,0xFE,0x04,0x34,0x3F +,0xFF,0x05,0x42,0x4F,0xFF,0x06,0x4F,0x5E,0xFF,0x07,0x5B,0x6D,0xFF,0x08,0x67 +,0x7B,0xFF,0x08,0x67,0x7A,0xFF,0x07,0x5D,0x6F,0xFF,0x06,0x4E,0x5D,0xFF,0x05 +,0x3D,0x49,0xFF,0x04,0x2D,0x36,0xFF,0x02,0x1C,0x22,0xFF,0x01,0x0B,0x0D,0xFE +,0x85,0x00,0x00,0x00,0xFF,0x04,0x00,0x01,0x02,0xED,0x00,0x00,0x00,0xB9,0x00 +,0x00,0x00,0x86,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x02,0x95,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xAB,0x95,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0x04,0x94,0xFF,0xFF,0xFF,0x00,0x04 +,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xAA,0x00,0x00,0x00 +,0xCE,0x00,0x01,0x01,0xF2,0x8B,0x00,0x00,0x00,0xFF,0x05,0x00,0x05,0x06,0xFE +,0x01,0x0C,0x0F,0xFD,0x02,0x13,0x17,0xFE,0x01,0x12,0x15,0xFE,0x01,0x08,0x0A +,0xFE,0x00,0x01,0x01,0xFF,0x89,0x00,0x00,0x00,0xFF,0x05,0x00,0x00,0x00,0xFD +,0x00,0x01,0x01,0xDF,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x92,0x00,0x00,0x00 +,0x67,0x00,0x00,0x00,0x20,0xA2,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x29 +,0x00,0x00,0x00,0x85,0x00,0x01,0x01,0xDF,0x83,0x00,0x00,0x00,0xFF,0x03,0x00 +,0x06,0x07,0xFE,0x01,0x11,0x14,0xFE,0x02,0x1D,0x23,0xFF,0x03,0x28,0x30,0xFF +,0x9C,0x04,0x2F,0x38,0xFF,0x02,0x03,0x23,0x2A,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x95,0x85,0xFF,0xFF,0xFF,0x00,0x07,0x00,0x00,0x00,0x0B,0x00,0x00 +,0x00,0x46,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0xC9,0x00,0x00,0x00,0xFF,0x00 +,0x01,0x01,0xFF,0x04,0x38,0x43,0xFF,0x0B,0x8F,0xAB,0xFF,0x8E,0x0F,0xBF,0xE4 +,0xFF,0x00,0x05,0x3D,0x48,0xFF,0x90,0x04,0x2F,0x38,0xFF,0x01,0x00,0x06,0x07 +,0xFF,0x00,0x01,0x01,0xEB,0x9B,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x04,0x04,0xB3 +,0xAF,0x00,0x02,0x02,0xEA,0x05,0x00,0x02,0x02,0xE8,0x00,0x00,0x00,0xCD,0x00 +,0x00,0x00,0xAC,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x69,0x00,0x00,0x00,0x2C +,0x97,0xFF,0xFF,0xFF,0x00,0x00,0x01,0x06,0x08,0x97,0x91,0x00,0x00,0x00,0xFF +,0x03,0x00,0x01,0x01,0xF3,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x95,0x00,0x00 +,0x00,0x4F,0x84,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x21,0x00,0x00,0x00 +,0x86,0x00,0x01,0x01,0xD3,0x93,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5B +,0x92,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x28,0x00 +,0x00,0x00,0x61,0x00,0x00,0x00,0x9B,0x00,0x01,0x01,0xD5,0x00,0x01,0x01,0xF8 +,0x86,0x00,0x00,0x00,0xFF,0x09,0x00,0x00,0x00,0xFE,0x00,0x01,0x02,0xEE,0x00 +,0x00,0x00,0xD5,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x92 +,0x00,0x00,0x00,0x7B,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x4C,0x00,0x00,0x00 +,0x1E,0x9A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x2D,0x93,0x00,0x00,0x00 +,0x70,0x02,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x45,0x00,0x00,0x00,0x18,0x9B +,0xFF,0xFF,0xFF,0x00,0x1C,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x38,0x00,0x00 +,0x00,0x52,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x70,0x00 +,0x00,0x00,0x7A,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x98 +,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0xAD,0x00,0x00,0x00,0xB7,0x00,0x00,0x00 +,0xC1,0x00,0x00,0x00,0xCB,0x00,0x00,0x00,0xC9,0x00,0x00,0x00,0xBC,0x00,0x00 +,0x00,0xAE,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0x86,0x00 +,0x00,0x00,0x78,0x00,0x00,0x00,0x6B,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0x50 +,0x00,0x00,0x00,0x42,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x25,0x00,0x00,0x00 +,0x07,0xAA,0xFF,0xFF,0xFF,0x00,0x08,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x42 +,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0xB9,0x00,0x00,0x00 +,0xC6,0x00,0x00,0x00,0xD3,0x00,0x01,0x02,0xE3,0x00,0x02,0x02,0xE9,0x9C,0x00 +,0x02,0x02,0xEA,0x01,0x00,0x01,0x02,0xEA,0x00,0x00,0x00,0xC9,0x89,0xFF,0xFF +,0xFF,0x00,0x06,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xA9,0x00,0x00,0x01,0xFD +,0x00,0x00,0x00,0xFF,0x03,0x26,0x2D,0xFE,0x0A,0x7C,0x94,0xFF,0x0F,0xBC,0xE0 +,0xFF,0x8B,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x46,0x53,0xFF,0x00,0x00,0x00,0xFF +,0x00,0x01,0x02,0xF0,0x8F,0x00,0x02,0x02,0xEA,0x00,0x00,0x00,0x00,0xE8,0xEA +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0x91,0x00,0x00,0x00,0x08,0x00 +,0x00,0x00,0x00,0x01,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x06,0x92 +,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x04,0x98,0xFF,0xFF,0xFF,0x00,0x07 +,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x25,0x00,0x00,0x00 +,0x33,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x2D,0x00,0x00,0x00,0x19,0x00,0x00 +,0x00,0x04,0xFF,0xFF,0xFF,0xFF,0x00,0xD3,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x00 +,0x00,0x21,0x00,0x00,0x00,0x92,0x00,0x01,0x01,0xF5,0x00,0x00,0x00,0xFF,0x02 +,0x15,0x1A,0xFD,0x09,0x70,0x85,0xFF,0x0F,0xBE,0xE2,0xFF,0x89,0x0F,0xBF,0xE4 +,0xFF,0x02,0x0A,0x84,0x9D,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x71,0x90 +,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF +,0xFF,0xFF,0xFF,0x00,0x95,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x12,0x00 +,0x00,0x00,0x7C,0x00,0x01,0x01,0xE9,0x00,0x00,0x00,0xFF,0x03,0x2A,0x33,0xFF +,0x0D,0xA0,0xBF,0xFF,0x88,0x0F,0xBF,0xE4,0xFF,0x02,0x0F,0xB9,0xDD,0xFF,0x01 +,0x08,0x0A,0xFE,0x00,0x00,0x00,0xC4,0x90,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF +,0xFF,0x00,0xEE,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00 +,0xA2,0x00,0x00,0x00,0xD6,0x00,0x01,0x02,0xED,0x00,0x00,0x00,0xFD,0x8C,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x01,0x01,0xE4,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF +,0xFF,0x00,0x94,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x0A,0x00,0x00,0x00 +,0x8E,0x00,0x00,0x00,0xFD,0x00,0x04,0x05,0xFE,0x08,0x63,0x76,0xFF,0x0F,0xBC +,0xE0,0xFF,0x87,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x41,0x4E,0xFF,0x00,0x00,0x00 +,0xFE,0x00,0x00,0x00,0x19,0x8F,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00 +,0xED,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0xB5,0x00 +,0x00,0x00,0xFF,0x02,0x17,0x1B,0xFF,0x04,0x2E,0x37,0xFF,0x05,0x3F,0x4B,0xFF +,0x8B,0x05,0x41,0x4E,0xFF,0x02,0x03,0x27,0x2E,0xFF,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x3E,0xFF,0xFF,0xFF,0xFF,0x00,0x96,0xFF,0xFF,0xFF,0x00,0x04,0x00 +,0x00,0x00,0x37,0x00,0x01,0x01,0xD5,0x00,0x00,0x00,0xFF,0x05,0x3B,0x47,0xFF +,0x0F,0xBA,0xDE,0xFF,0x86,0x0F,0xBF,0xE4,0xFF,0x02,0x0A,0x80,0x99,0xFF,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x6B,0x8F,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF +,0xFF,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x01,0x01 +,0xD8,0x00,0x00,0x00,0xFF,0x06,0x46,0x54,0xFF,0x0F,0xBD,0xE1,0xFF,0x8D,0x0F +,0xBF,0xE4,0xFF,0x02,0x0C,0x9E,0xBD,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x97,0xFF,0xFF,0xFF,0xFF,0x00,0x97,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00 +,0x06,0x00,0x00,0x00,0xA1,0x00,0x00,0x00,0xFF,0x04,0x34,0x3E,0xFF,0x0E,0xB8 +,0xDB,0xFF,0x85,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB7,0xDA,0xFF,0x00,0x06,0x07 +,0xFE,0x00,0x00,0x00,0xBE,0x8F,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00 +,0xEC,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xFF,0x06 +,0x52,0x61,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x21,0x28,0xFE,0x00,0x01 +,0x02,0xEE,0x00,0x00,0x00,0x04,0xFF,0xFF,0xFF,0xFF,0x00,0x97,0xFF,0xFF,0xFF +,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0xFF,0x03 +,0x2C,0x34,0xFE,0x0E,0xB5,0xD7,0xFF,0x85,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3D +,0x49,0xFF,0x00,0x00,0x01,0xFD,0x00,0x00,0x00,0x15,0x8E,0xFF,0xFF,0xFF,0x00 +,0xFF,0xFF,0xFF,0xFF,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x71 +,0x00,0x00,0x00,0xFF,0x0B,0x8A,0xA5,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x08 +,0x65,0x79,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x4A,0xFF,0xFF,0xFF,0xFF +,0x00,0x99,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xFF +,0x05,0x3A,0x45,0xFF,0x0F,0xBE,0xE3,0xFF,0x84,0x0F,0xBF,0xE4,0xFF,0x02,0x0A +,0x7C,0x94,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x65,0x8E,0xFF,0xFF,0xFF +,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x44,0x00,0x00,0x00,0xFF,0x08,0x64,0x78,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02 +,0x0D,0xA7,0xC7,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0xA3,0xFF,0xFF,0xFF +,0xFF,0x00,0x9A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x00 +,0xFF,0x08,0x65,0x79,0xFF,0x84,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB5,0xD7,0xFF +,0x00,0x05,0x05,0xFE,0x00,0x00,0x00,0xB8,0x8E,0xFF,0xFF,0xFF,0x00,0xFF,0xFF +,0xFF,0xFF,0x00,0xEC,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x01 +,0x01,0xF2,0x03,0x2A,0x32,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x03,0x2B,0x34 +,0xFF,0x00,0x01,0x01,0xF4,0x00,0x00,0x00,0x09,0xFF,0xFF,0xFF,0xFF,0x00,0x99 +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0A,0x00,0x01,0x01,0xD4,0x00,0x02 +,0x02,0xFE,0x0B,0x8E,0xAA,0xFF,0x84,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x39,0x44 +,0xFF,0x00,0x01,0x01,0xFB,0x00,0x00,0x00,0x11,0x8D,0xFF,0xFF,0xFF,0x00,0xFF +,0xFF,0xFF,0xFF,0x00,0xED,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA8,0x00 +,0x01,0x01,0xFF,0x0E,0xAE,0xCF,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x6F +,0x84,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x56,0xFF,0xFF,0xFF,0xFF,0x00 +,0x9A,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x26,0x00,0x01,0x02,0xF3,0x01 +,0x12,0x15,0xFE,0x0E,0xB7,0xDA,0xFF,0x83,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x78 +,0x8F,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x5F,0x8D,0xFF,0xFF,0xFF,0x00 +,0xFF,0xFF,0xFF,0xFF,0x00,0xED,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5A +,0x00,0x00,0x00,0xFF,0x09,0x75,0x8B,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x0E +,0xAF,0xD0,0xFF,0x00,0x02,0x02,0xFE,0x00,0x00,0x00,0xAF,0xFF,0xFF,0xFF,0xFF +,0x00,0x9B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0xFF +,0x07,0x5E,0x71,0xFF,0x83,0x0F,0xBF,0xE4,0xFF,0x02,0x0E,0xB2,0xD5,0xFF,0x00 +,0x03,0x04,0xFE,0x00,0x00,0x00,0xB2,0x8D,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF +,0xFF,0x00,0xED,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x10,0x00,0x01,0x01 +,0xFC,0x05,0x3A,0x46,0xFF,0x91,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x35,0x3F,0xFF +,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x10,0xFF,0xFF,0xFF,0xFF,0x00,0x9A,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x01,0x01,0xD4,0x01,0x07,0x09 +,0xFE,0x0E,0xAC,0xCE,0xFF,0x83,0x0F,0xBF,0xE4,0xFF,0x02,0x04,0x35,0x3F,0xFF +,0x00,0x01,0x01,0xF9,0x00,0x00,0x00,0x0D,0x8C,0xFF,0xFF,0xFF,0x00,0xFF,0xFF +,0xFF,0xFF,0x00,0xEE,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xBE,0x01,0x07 +,0x08,0xFE,0x0E,0xB8,0xDC,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x77,0x8E +,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x60,0xFF,0xFF,0xFF,0xFF,0x00,0x9B +,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x47,0x00,0x00,0x00,0xFF,0x04,0x30 +,0x39,0xFF,0x83,0x07,0x59,0x6A,0xFF,0x02,0x04,0x2E,0x37,0xFF,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x59,0x8C,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00 +,0xEE,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xFF,0x0B +,0x86,0xA0,0xFF,0x90,0x0F,0xBF,0xE4,0xFF,0x02,0x09,0x70,0x85,0xFF,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x52,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xB8,0x86,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xAE,0x8C,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xEE,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xFF,0x06,0x4C,0x5A,0xFF,0x90 +,0x0F,0xBF,0xE4,0xFF,0x02,0x05,0x3F,0x4B,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00 +,0x00,0x13,0xFF,0xFF,0xFF,0xFF,0x00,0x9C,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x10,0x86,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x23,0x8C,0xFF,0xFF +,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xEF,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x01 +,0x01,0xD5,0x01,0x11,0x14,0xFD,0x0F,0xBE,0xE3,0xFF,0x8E,0x0F,0xBF,0xE4,0xFF +,0x02,0x0D,0xA8,0xC8,0xFF,0x01,0x0A,0x0C,0xFE,0x00,0x00,0x01,0xD2,0xFF,0xFF +,0xFF,0xFF,0x00,0xB3,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xEF,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x86,0x00,0x00,0x00,0xFF,0x04,0x35,0x3F +,0xFF,0x8C,0x05,0x3B,0x47,0xFF,0x04,0x05,0x3C,0x48,0xFF,0x03,0x2B,0x33,0xFF +,0x01,0x0B,0x0D,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x53,0xFF,0xFF,0xFF +,0xFF,0x00,0xB3,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xEF,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x38,0x8E,0x00,0x00,0x00,0xFF,0x03,0x00,0x00 +,0x00,0xFE,0x00,0x01,0x01,0xE7,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0x6C,0xFF +,0xFF,0xFF,0xFF,0x00,0xB4,0xFF,0xFF,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8 +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0x52,0x55,0x45,0x56,0x49,0x53,0x49 +,0x4F,0x4E,0x2D,0x58,0x46,0x49,0x4C,0x45,0x2E,0x00}; +/* end binary data. size = 39085 bytes */ + + +/* begin binary data: */ +const int headphones_bytes = 22402; +const unsigned char headphones_data[] = /* 22402 */ +{0x00,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xEB +,0x00,0x20,0x08,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xFF,0xFF +,0xFF,0xFF,0x00,0xEA,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x8B,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0x77,0x00,0x00,0x00,0x10,0xFF,0xFF,0xFF,0xFF,0x00,0xCC,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x0E,0x8B +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x8B +,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0xDF,0x00,0x00,0x00,0x34,0xFF,0xFF,0xFF,0xFF,0x00,0xC9,0xFF,0xFF,0xFF +,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x75,0x00,0x00,0x00,0xFB,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0xAC,0x8B,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00 +,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x3D,0x00,0x00,0x00,0xFB,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xF9,0x00,0x00,0x00,0x6B,0xFF,0xFF,0xFF,0xFF,0x00,0xC7,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0xB2,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x6F,0x8A,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x16,0x00 +,0x00,0x00,0xE5,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x39,0xFF,0xFF +,0xFF,0xFF,0x00,0xC6,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x28,0x00,0x00 +,0x00,0xF3,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00 +,0x38,0x89,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xBC +,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x90,0xFF,0xFF,0xFF,0xFF,0x00 +,0xC8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x56,0x84,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x11,0x88,0xFF,0xFF,0xFF,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x88,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x65,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC7,0x00 +,0x00,0x00,0x05,0xFF,0xFF,0xFF,0xFF,0x00,0xC9,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x90,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x95,0x88,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x87,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xED,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x1D,0x89,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x7A,0x00,0x00,0x00,0x20,0xFF,0xFF,0xFF,0xFF,0x00 +,0xB2,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x5D,0x00,0x00,0x00,0xC2,0x00 +,0x00,0x00,0x07,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00 +,0x00,0xC5,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00 +,0x32,0x87,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9D,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x48,0x89,0xFF,0xFF,0xFF,0x00 +,0x03,0x00,0x00,0x00,0x56,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xF2,0x00,0x00 +,0x00,0x65,0x9D,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x29,0x00,0x00,0x00 +,0x72,0x00,0x00,0x00,0x1D,0xFF,0xFF,0xFF,0xFF,0x00,0x8E,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0xB2,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x87,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1C,0x00 +,0x00,0x00,0xF0,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC8,0x00,0x00 +,0x00,0x01,0x86,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x3A,0x00,0x00,0x00 +,0xFE,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0x89,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0xEB,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x72,0x98,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x0E +,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x99,0x00,0x00,0x00,0xE1,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x57,0xEE,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00 +,0x00,0x8D,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x0F,0x9C,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x67,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC +,0x00,0x00,0x00,0x37,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6E,0x84 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x65,0x86,0xFF,0xFF,0xFF,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x85,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xD0,0x83,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xEE,0x00,0x00,0x00,0x14,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xAD,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE3,0x00,0x00,0x00 +,0x0F,0x85,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x01 +,0x8D,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x7A,0x00 +,0x00,0x00,0xC2,0x00,0x00,0x00,0xFB,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x89,0xED,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x14,0x81,0x00,0x00 +,0x00,0xFF,0x04,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x7C +,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x90,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x1B,0x00,0x00,0x00,0x2B,0x85,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0xBC,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xD7,0x00,0x00,0x00,0x08,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x03 +,0x00,0x00,0x00,0xD1,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEC,0x00 +,0x00,0x00,0x11,0x85,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x85,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x58,0x84,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x68,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x58,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x45,0x86,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0xC5,0x00,0x00,0x00 +,0x2E,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x9E +,0x00,0x00,0x00,0xFC,0x87,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBB,0xED +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x46,0x85,0x00,0x00,0x00,0xFF,0x03 +,0x00,0x00,0x00,0xEB,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0x57,0x00,0x00,0x00 +,0x03,0x8B,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x72 +,0x00,0x00,0x00,0xF3,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x03,0x85,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xF1,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x8C,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x3C,0x00,0x00,0x00,0xFE,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7D +,0x85,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x85,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCF,0x83,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xCB,0x00,0x00,0x00,0x02,0x88,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0xEC,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x97,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x44,0x81,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x16,0x87,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x93,0x00,0x00,0x00,0xF9 +,0x85,0x00,0x00,0x00,0xFF,0x01,0x10,0x10,0x10,0xFF,0x18,0x18,0x18,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xED,0xED,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x78,0x88,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xD8,0x00 +,0x00,0x00,0x57,0x00,0x00,0x00,0x01,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x12,0x00,0x00,0x00,0xEB,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x70,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x64,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x3A,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xA1,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEA +,0x00,0x00,0x00,0x09,0x84,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x84,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x48,0x84 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3B,0x89,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xAF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDE,0x00 +,0x00,0x00,0x0C,0x85,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00 +,0x00,0xD9,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8D,0x87,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xCC,0x83,0x00,0x00,0x00 +,0xFF,0x05,0x02,0x02,0x02,0xFF,0x1C,0x1C,0x1C,0xFF,0x3C,0x3C,0x3C,0xFF,0x60 +,0x60,0x60,0xFF,0x73,0x73,0x73,0xFF,0x53,0x53,0x53,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x1F,0xEC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xAA,0x81,0x00,0x00,0x00,0xFF,0x02,0x13,0x13,0x13,0xFF,0x23,0x23,0x23,0xFF +,0x05,0x05,0x05,0xFF,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD0,0x00 +,0x00,0x00,0x30,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x61,0x81,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0x1A,0x86,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xB7,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xDA,0x00,0x00,0x00,0x09,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x1C,0x00,0x00,0x00,0xFA,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6B +,0x84,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x84,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC0,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC2,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x56 +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x3E,0x86 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x7C,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0x0C,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x32,0x00,0x00,0x00,0xE4,0x82,0x00,0x00,0x00,0xFF,0x07,0x01,0x01 +,0x01,0xFF,0x20,0x20,0x20,0xFF,0x51,0x51,0x51,0xFF,0x63,0x63,0x63,0xFF,0x68 +,0x68,0x68,0xFF,0x6E,0x6E,0x6E,0xFF,0x73,0x73,0x73,0xFF,0x69,0x69,0x69,0xFF +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x52,0xEC,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xDD,0x81,0x00,0x00,0x00,0xFF,0x05,0x37,0x37,0x37,0xFF +,0x73,0x73,0x73,0xFF,0x6E,0x6E,0x6E,0xFF,0x4E,0x4E,0x4E,0xFF,0x2D,0x2D,0x2D +,0xFF,0x0B,0x0B,0x0B,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF4 +,0x00,0x00,0x00,0x51,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00 +,0x00,0x00,0xC3,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA8,0x86,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0xEF,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x80,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x9D,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDF,0x00,0x00,0x00 +,0x04,0x83,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x38,0x84,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x4B,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xCB,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8F,0x86,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0xF6,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x54,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x34 +,0x00,0x00,0x00,0xF5,0x82,0x00,0x00,0x00,0xFF,0x09,0x10,0x10,0x10,0xFF,0x44 +,0x44,0x44,0xFF,0x56,0x56,0x56,0xFF,0x5C,0x5C,0x5C,0xFF,0x61,0x61,0x61,0xFF +,0x66,0x66,0x66,0xFF,0x6C,0x6C,0x6C,0xFF,0x71,0x71,0x71,0xFF,0x73,0x73,0x73 +,0xFF,0x0C,0x0C,0x0C,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x84 +,0xEB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x10,0x82,0x00,0x00,0x00,0xFF +,0x07,0x4E,0x4E,0x4E,0xFF,0x73,0x73,0x73,0xFF,0x6F,0x6F,0x6F,0xFF,0x69,0x69 +,0x69,0xFF,0x64,0x64,0x64,0xFF,0x5D,0x5D,0x5D,0xFF,0x35,0x35,0x35,0xFF,0x09 +,0x09,0x09,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00 +,0x00,0x7B,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x2D,0x00,0x00,0x00 +,0xFB,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x44,0x86,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x5E,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE6,0x00,0x00,0x00,0x04,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x27 +,0x00,0x00,0x00,0xFD,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5A,0x83 +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x83 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xD3,0x00,0x00,0x00,0x01,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x33,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE6,0x00,0x00 +,0x00,0x09,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB3,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB7,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x08,0x00,0x00,0x00,0xD7,0x82,0x00,0x00,0x00,0xFF,0x0A,0x17,0x17,0x17 +,0xFF,0x47,0x47,0x47,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0x5A,0x5A +,0x5A,0xFF,0x5F,0x5F,0x5F,0xFF,0x64,0x64,0x64,0xFF,0x6A,0x6A,0x6A,0xFF,0x6F +,0x6F,0x6F,0xFF,0x73,0x73,0x73,0xFF,0x23,0x23,0x23,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB6,0xEB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x41,0x82,0x00,0x00,0x00,0xFF,0x08,0x65,0x65,0x65,0xFF,0x72,0x72,0x72,0xFF +,0x6D,0x6D,0x6D,0xFF,0x67,0x67,0x67,0xFF,0x62,0x62,0x62,0xFF,0x5D,0x5D,0x5D +,0xFF,0x57,0x57,0x57,0xFF,0x4F,0x4F,0x4F,0xFF,0x26,0x26,0x26,0xFF,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x8B,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD8,0x00,0x00 +,0x00,0x01,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCE,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x54,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xAB,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCA,0x83,0xFF,0xFF +,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x82,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xF8,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x5D,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x9C,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83,0x86,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x25,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xF7,0x00,0x00,0x00,0x23,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x90 +,0x82,0x00,0x00,0x00,0xFF,0x0B,0x1B,0x1B,0x1B,0xFF,0x42,0x42,0x42,0xFF,0x48 +,0x48,0x48,0xFF,0x4D,0x4D,0x4D,0xFF,0x52,0x52,0x52,0xFF,0x58,0x58,0x58,0xFF +,0x5D,0x5D,0x5D,0xFF,0x62,0x62,0x62,0xFF,0x68,0x68,0x68,0xFF,0x6D,0x6D,0x6D +,0xFF,0x72,0x72,0x72,0xFF,0x3A,0x3A,0x3A,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xE8,0xEB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x74,0x81 +,0x00,0x00,0x00,0xFF,0x0B,0x09,0x09,0x09,0xFF,0x73,0x73,0x73,0xFF,0x70,0x70 +,0x70,0xFF,0x6B,0x6B,0x6B,0xFF,0x65,0x65,0x65,0xFF,0x60,0x60,0x60,0xFF,0x5B +,0x5B,0x5B,0xFF,0x55,0x55,0x55,0xFF,0x50,0x50,0x50,0xFF,0x4B,0x4B,0x4B,0xFF +,0x2D,0x2D,0x2D,0xFF,0x02,0x02,0x02,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xFB,0x00,0x00,0x00,0x35,0x87,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x0C,0x00,0x00,0x00,0xE4,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x40,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x66,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xBD,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x33,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x25,0x82,0xFF,0xFF,0xFF +,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x82,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x62,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE6,0x00,0x00,0x00,0x04,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0F +,0x00,0x00,0x00,0xF5,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00 +,0x00,0x00,0x1E,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x85,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9A,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x42,0x00,0x00,0x00,0xFE,0x81,0x00,0x00,0x00,0xFF,0x0C,0x0C,0x0C +,0x0C,0xFF,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40,0xFF,0x46,0x46,0x46,0xFF,0x4B +,0x4B,0x4B,0xFF,0x50,0x50,0x50,0xFF,0x56,0x56,0x56,0xFF,0x5B,0x5B,0x5B,0xFF +,0x60,0x60,0x60,0xFF,0x66,0x66,0x66,0xFF,0x6B,0x6B,0x6B,0xFF,0x70,0x70,0x70 +,0xFF,0x50,0x50,0x50,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x1A +,0xEA,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA6,0x81,0x00,0x00,0x00,0xFF +,0x0C,0x1F,0x1F,0x1F,0xFF,0x73,0x73,0x73,0xFF,0x6E,0x6E,0x6E,0xFF,0x69,0x69 +,0x69,0xFF,0x63,0x63,0x63,0xFF,0x5E,0x5E,0x5E,0xFF,0x59,0x59,0x59,0xFF,0x53 +,0x53,0x53,0xFF,0x4E,0x4E,0x4E,0xFF,0x49,0x49,0x49,0xFF,0x43,0x43,0x43,0xFF +,0x2F,0x2F,0x2F,0xFF,0x01,0x01,0x01,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xD7,0x00,0x00,0x00,0x09,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x7E,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA1,0x86,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xF2,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x26,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xCD,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7F +,0x82,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x82,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xBD,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x8F,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6D +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB3,0x86,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xE4,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x38,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC5,0x81 +,0x00,0x00,0x00,0xFF,0x0D,0x02,0x02,0x02,0xFF,0x2C,0x2C,0x2C,0xFF,0x39,0x39 +,0x39,0xFF,0x3E,0x3E,0x3E,0xFF,0x44,0x44,0x44,0xFF,0x49,0x49,0x49,0xFF,0x4E +,0x4E,0x4E,0xFF,0x54,0x54,0x54,0xFF,0x59,0x59,0x59,0xFF,0x5E,0x5E,0x5E,0xFF +,0x64,0x64,0x64,0xFF,0x69,0x69,0x69,0xFF,0x6E,0x6E,0x6E,0xFF,0x67,0x67,0x67 +,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4D,0xEA,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xD9,0x81,0x00,0x00,0x00,0xFF,0x0C,0x36,0x36,0x36 +,0xFF,0x71,0x71,0x71,0xFF,0x6C,0x6C,0x6C,0xFF,0x67,0x67,0x67,0xFF,0x61,0x61 +,0x61,0xFF,0x5C,0x5C,0x5C,0xFF,0x57,0x57,0x57,0xFF,0x51,0x51,0x51,0xFF,0x4C +,0x4C,0x4C,0xFF,0x47,0x47,0x47,0xFF,0x41,0x41,0x41,0xFF,0x3C,0x3C,0x3C,0xFF +,0x1D,0x1D,0x1D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x90,0x87 +,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0xFD,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0xF5,0x00,0x00,0x00,0x0D,0x86,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x96,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8E +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x74,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xD9,0x82,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1A +,0x00,0x00,0x00,0xFD,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x36,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD5,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x4B,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x48,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD7,0x86,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0xFE,0x81,0x00,0x00,0x00,0xFF,0x0E,0x18 +,0x18,0x18,0xFF,0x32,0x32,0x32,0xFF,0x37,0x37,0x37,0xFF,0x3C,0x3C,0x3C,0xFF +,0x42,0x42,0x42,0xFF,0x47,0x47,0x47,0xFF,0x4C,0x4C,0x4C,0xFF,0x52,0x52,0x52 +,0xFF,0x57,0x57,0x57,0xFF,0x5C,0x5C,0x5C,0xFF,0x62,0x62,0x62,0xFF,0x67,0x67 +,0x67,0xFF,0x6C,0x6C,0x6C,0xFF,0x72,0x72,0x72,0xFF,0x0A,0x0A,0x0A,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7F,0xE9,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0xFE,0x81,0x00,0x00,0x00,0xFF,0x0D,0x4C +,0x4C,0x4C,0xFF,0x6F,0x6F,0x6F,0xFF,0x6A,0x6A,0x6A,0xFF,0x65,0x65,0x65,0xFF +,0x5F,0x5F,0x5F,0xFF,0x5A,0x5A,0x5A,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F +,0xFF,0x4A,0x4A,0x4A,0xFF,0x45,0x45,0x45,0xFF,0x3F,0x3F,0x3F,0xFF,0x3A,0x3A +,0x3A,0xFF,0x35,0x35,0x35,0xFF,0x0B,0x0B,0x0B,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x12,0x87,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xBA,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x63,0x86 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x2F,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xED,0x00,0x00,0x00,0x08,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x1D,0x00,0x00,0x00,0xFE,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x33,0x81,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x70,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xDB,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x3E,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE1,0x00,0x00,0x00 +,0x02,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA9,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x75,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x6E,0x81,0x00,0x00,0x00,0xFF,0x0F,0x01,0x01,0x01,0xFF,0x27,0x27,0x27,0xFF +,0x30,0x30,0x30,0xFF,0x35,0x35,0x35,0xFF,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40 +,0xFF,0x45,0x45,0x45,0xFF,0x4A,0x4A,0x4A,0xFF,0x50,0x50,0x50,0xFF,0x55,0x55 +,0x55,0xFF,0x5A,0x5A,0x5A,0xFF,0x60,0x60,0x60,0xFF,0x65,0x65,0x65,0xFF,0x6A +,0x6A,0x6A,0xFF,0x70,0x70,0x70,0xFF,0x21,0x21,0x21,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB1,0xE9,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x3D,0x82,0x00,0x00,0x00,0xFF,0x0D,0x63,0x63,0x63,0xFF,0x6D,0x6D,0x6D,0xFF +,0x68,0x68,0x68,0xFF,0x63,0x63,0x63,0xFF,0x5D,0x5D,0x5D,0xFF,0x58,0x58,0x58 +,0xFF,0x53,0x53,0x53,0xFF,0x4D,0x4D,0x4D,0xFF,0x48,0x48,0x48,0xFF,0x43,0x43 +,0x43,0xFF,0x3D,0x3D,0x3D,0xFF,0x38,0x38,0x38,0xFF,0x33,0x33,0x33,0xFF,0x26 +,0x26,0x26,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0x87,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x58,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xC5,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC7,0x82,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5F,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xC2,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x88,0x81,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x81,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB7,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x82,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA7,0x82,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7B,0x86,0xFF,0xFF,0xFF,0x00,0x04,0x00 +,0x00,0x00,0x12,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFB +,0x00,0x00,0x00,0x18,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC3,0x81 +,0x00,0x00,0x00,0xFF,0x0F,0x09,0x09,0x09,0xFF,0x28,0x28,0x28,0xFF,0x2E,0x2E +,0x2E,0xFF,0x33,0x33,0x33,0xFF,0x38,0x38,0x38,0xFF,0x3E,0x3E,0x3E,0xFF,0x43 +,0x43,0x43,0xFF,0x48,0x48,0x48,0xFF,0x4E,0x4E,0x4E,0xFF,0x53,0x53,0x53,0xFF +,0x58,0x58,0x58,0xFF,0x5E,0x5E,0x5E,0xFF,0x63,0x63,0x63,0xFF,0x68,0x68,0x68 +,0xFF,0x6E,0x6E,0x6E,0xFF,0x37,0x37,0x37,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xE3,0xE9,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x70,0x81 +,0x00,0x00,0x00,0xFF,0x0F,0x07,0x07,0x07,0xFF,0x71,0x71,0x71,0xFF,0x6B,0x6B +,0x6B,0xFF,0x66,0x66,0x66,0xFF,0x61,0x61,0x61,0xFF,0x5B,0x5B,0x5B,0xFF,0x56 +,0x56,0x56,0xFF,0x51,0x51,0x51,0xFF,0x4B,0x4B,0x4B,0xFF,0x46,0x46,0x46,0xFF +,0x41,0x41,0x41,0xFF,0x3B,0x3B,0x3B,0xFF,0x36,0x36,0x36,0xFF,0x31,0x31,0x31 +,0xFF,0x2B,0x2B,0x2B,0xFF,0x08,0x08,0x08,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB6,0x87,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x08,0x00 +,0x00,0x00,0xEE,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x26,0x86,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x60,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xC3,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x69,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC9,0x81,0xFF,0xFF,0xFF,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x03,0x00,0x00,0x00,0xF2,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x34,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xEF,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x19,0x86,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x65,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB3 +,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFE,0x81 +,0x00,0x00,0x00,0xFF,0x0F,0x13,0x13,0x13,0xFF,0x26,0x26,0x26,0xFF,0x2C,0x2C +,0x2C,0xFF,0x31,0x31,0x31,0xFF,0x36,0x36,0x36,0xFF,0x3C,0x3C,0x3C,0xFF,0x41 +,0x41,0x41,0xFF,0x46,0x46,0x46,0xFF,0x4C,0x4C,0x4C,0xFF,0x51,0x51,0x51,0xFF +,0x56,0x56,0x56,0xFF,0x5C,0x5C,0x5C,0xFF,0x61,0x61,0x61,0xFF,0x66,0x66,0x66 +,0xFF,0x6C,0x6C,0x6C,0xFF,0x4D,0x4D,0x4D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x16,0xE8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA2,0x81 +,0x00,0x00,0x00,0xFF,0x0F,0x1D,0x1D,0x1D,0xFF,0x6F,0x6F,0x6F,0xFF,0x69,0x69 +,0x69,0xFF,0x64,0x64,0x64,0xFF,0x5F,0x5F,0x5F,0xFF,0x59,0x59,0x59,0xFF,0x54 +,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x49,0x49,0x49,0xFF,0x44,0x44,0x44,0xFF +,0x3F,0x3F,0x3F,0xFF,0x39,0x39,0x39,0xFF,0x34,0x34,0x34,0xFF,0x2F,0x2F,0x2F +,0xFF,0x29,0x29,0x29,0xFF,0x14,0x14,0x14,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xFA,0x00,0x00,0x00,0x11,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x95,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x77,0x86,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xEF,0x81,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x05,0x88,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x22,0x83,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00 +,0xFB,0x00,0x00,0x00,0x0C,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x35,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0x03,0x88,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x21,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xC0,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9A,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x4C,0x82,0x00,0x00,0x00,0xFF,0x0F,0x1C,0x1C,0x1C,0xFF,0x24,0x24,0x24 +,0xFF,0x2A,0x2A,0x2A,0xFF,0x2F,0x2F,0x2F,0xFF,0x34,0x34,0x34,0xFF,0x3A,0x3A +,0x3A,0xFF,0x3F,0x3F,0x3F,0xFF,0x44,0x44,0x44,0xFF,0x4A,0x4A,0x4A,0xFF,0x4F +,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0x5A,0x5A,0x5A,0xFF,0x5F,0x5F,0x5F,0xFF +,0x64,0x64,0x64,0xFF,0x6A,0x6A,0x6A,0xFF,0x62,0x62,0x62,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x48,0xE8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xD4,0x81,0x00,0x00,0x00,0xFF,0x0F,0x33,0x33,0x33,0xFF,0x6D,0x6D,0x6D +,0xFF,0x67,0x67,0x67,0xFF,0x62,0x62,0x62,0xFF,0x5D,0x5D,0x5D,0xFF,0x57,0x57 +,0x57,0xFF,0x52,0x52,0x52,0xFF,0x4D,0x4D,0x4D,0xFF,0x47,0x47,0x47,0xFF,0x42 +,0x42,0x42,0xFF,0x3D,0x3D,0x3D,0xFF,0x37,0x37,0x37,0xFF,0x32,0x32,0x32,0xFF +,0x2D,0x2D,0x2D,0xFF,0x27,0x27,0x27,0xFF,0x1E,0x1E,0x1E,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x60,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x51,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA8,0x87,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xB6,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x2F,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xE3,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0x46,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x74 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB7,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x52,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8E +,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCB,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x2F,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x5D +,0x81,0x00,0x00,0x00,0xFF,0x11,0x01,0x01,0x01,0xFF,0x1F,0x1F,0x1F,0xFF,0x22 +,0x22,0x22,0xFF,0x28,0x28,0x28,0xFF,0x2D,0x2D,0x2D,0xFF,0x32,0x32,0x32,0xFF +,0x38,0x38,0x38,0xFF,0x3D,0x3D,0x3D,0xFF,0x42,0x42,0x42,0xFF,0x48,0x48,0x48 +,0xFF,0x4D,0x4D,0x4D,0xFF,0x52,0x52,0x52,0xFF,0x58,0x58,0x58,0xFF,0x5D,0x5D +,0x5D,0xFF,0x62,0x62,0x62,0xFF,0x68,0x68,0x68,0xFF,0x6D,0x6D,0x6D,0xFF,0x08 +,0x08,0x08,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7A,0xE7,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xFC,0x81,0x00,0x00 +,0x00,0xFF,0x10,0x48,0x48,0x48,0xFF,0x6B,0x6B,0x6B,0xFF,0x65,0x65,0x65,0xFF +,0x60,0x60,0x60,0xFF,0x5B,0x5B,0x5B,0xFF,0x55,0x55,0x55,0xFF,0x50,0x50,0x50 +,0xFF,0x4B,0x4B,0x4B,0xFF,0x45,0x45,0x45,0xFF,0x40,0x40,0x40,0xFF,0x3B,0x3B +,0x3B,0xFF,0x35,0x35,0x35,0xFF,0x30,0x30,0x30,0xFF,0x2B,0x2B,0x2B,0xFF,0x25 +,0x25,0x25,0xFF,0x20,0x20,0x20,0xFF,0x05,0x05,0x05,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x94,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x21,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD9,0x87,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x85,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x60,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA4,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0x85,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xB2,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x79,0x89,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x83,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5E,0x86 +,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF7,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x05,0x86,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x6F,0x81,0x00,0x00,0x00,0xFF,0x11,0x03,0x03,0x03,0xFF +,0x1F,0x1F,0x1F,0xFF,0x20,0x20,0x20,0xFF,0x26,0x26,0x26,0xFF,0x2B,0x2B,0x2B +,0xFF,0x30,0x30,0x30,0xFF,0x36,0x36,0x36,0xFF,0x3B,0x3B,0x3B,0xFF,0x40,0x40 +,0x40,0xFF,0x46,0x46,0x46,0xFF,0x4B,0x4B,0x4B,0xFF,0x50,0x50,0x50,0xFF,0x56 +,0x56,0x56,0xFF,0x5B,0x5B,0x5B,0xFF,0x60,0x60,0x60,0xFF,0x66,0x66,0x66,0xFF +,0x6B,0x6B,0x6B,0xFF,0x1E,0x1E,0x1E,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xAC,0xE7,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x39,0x82,0x00 +,0x00,0x00,0xFF,0x10,0x5D,0x5D,0x5D,0xFF,0x69,0x69,0x69,0xFF,0x63,0x63,0x63 +,0xFF,0x5E,0x5E,0x5E,0xFF,0x59,0x59,0x59,0xFF,0x53,0x53,0x53,0xFF,0x4E,0x4E +,0x4E,0xFF,0x49,0x49,0x49,0xFF,0x43,0x43,0x43,0xFF,0x3E,0x3E,0x3E,0xFF,0x39 +,0x39,0x39,0xFF,0x33,0x33,0x33,0xFF,0x2E,0x2E,0x2E,0xFF,0x29,0x29,0x29,0xFF +,0x23,0x23,0x23,0xFF,0x1F,0x1F,0x1F,0xFF,0x09,0x09,0x09,0xFF,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA5,0x88,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00 +,0x00,0xEF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x0C,0x86 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x54,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x91,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x66,0x83 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC4,0xFF,0xFF,0xFF,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0xEC,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3A,0x89,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xB3,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x2E,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x2C,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xCB,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x80,0x81,0x00,0x00,0x00,0xFF,0x00,0x05,0x05,0x05,0xFF,0x81,0x1F,0x1F +,0x1F,0xFF,0x0E,0x24,0x24,0x24,0xFF,0x29,0x29,0x29,0xFF,0x2E,0x2E,0x2E,0xFF +,0x34,0x34,0x34,0xFF,0x39,0x39,0x39,0xFF,0x3E,0x3E,0x3E,0xFF,0x44,0x44,0x44 +,0xFF,0x49,0x49,0x49,0xFF,0x4E,0x4E,0x4E,0xFF,0x54,0x54,0x54,0xFF,0x59,0x59 +,0x59,0xFF,0x5E,0x5E,0x5E,0xFF,0x64,0x64,0x64,0xFF,0x69,0x69,0x69,0xFF,0x33 +,0x33,0x33,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDE,0xE7,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6C,0x81,0x00,0x00,0x00,0xFF,0x11,0x05 +,0x05,0x05,0xFF,0x6B,0x6B,0x6B,0xFF,0x67,0x67,0x67,0xFF,0x61,0x61,0x61,0xFF +,0x5C,0x5C,0x5C,0xFF,0x57,0x57,0x57,0xFF,0x51,0x51,0x51,0xFF,0x4C,0x4C,0x4C +,0xFF,0x47,0x47,0x47,0xFF,0x41,0x41,0x41,0xFF,0x3C,0x3C,0x3C,0xFF,0x37,0x37 +,0x37,0xFF,0x31,0x31,0x31,0xFF,0x2C,0x2C,0x2C,0xFF,0x27,0x27,0x27,0xFF,0x21 +,0x21,0x21,0xFF,0x1F,0x1F,0x1F,0xFF,0x0B,0x0B,0x0B,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB5,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xBF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3B,0x86,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x23,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xC2,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x27,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x01,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x83,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x05,0x89,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xE4,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00 +,0x00,0x00,0x04,0x86,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x5D,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9A,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x92,0x81,0x00,0x00,0x00,0xFF,0x00,0x07,0x07,0x07,0xFF,0x81,0x1F +,0x1F,0x1F,0xFF,0x0E,0x22,0x22,0x22,0xFF,0x27,0x27,0x27,0xFF,0x2C,0x2C,0x2C +,0xFF,0x32,0x32,0x32,0xFF,0x37,0x37,0x37,0xFF,0x3C,0x3C,0x3C,0xFF,0x42,0x42 +,0x42,0xFF,0x47,0x47,0x47,0xFF,0x4C,0x4C,0x4C,0xFF,0x52,0x52,0x52,0xFF,0x57 +,0x57,0x57,0xFF,0x5C,0x5C,0x5C,0xFF,0x62,0x62,0x62,0xFF,0x67,0x67,0x67,0xFF +,0x48,0x48,0x48,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x11,0xE6 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9E,0x81,0x00,0x00,0x00,0xFF,0x0E +,0x1A,0x1A,0x1A,0xFF,0x6A,0x6A,0x6A,0xFF,0x65,0x65,0x65,0xFF,0x5F,0x5F,0x5F +,0xFF,0x5A,0x5A,0x5A,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F,0xFF,0x4A,0x4A +,0x4A,0xFF,0x45,0x45,0x45,0xFF,0x3F,0x3F,0x3F,0xFF,0x3A,0x3A,0x3A,0xFF,0x35 +,0x35,0x35,0xFF,0x2F,0x2F,0x2F,0xFF,0x2A,0x2A,0x2A,0xFF,0x25,0x25,0x25,0xFF +,0x81,0x1F,0x1F,0x1F,0xFF,0x00,0x0D,0x0D,0x0D,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC6,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x8F +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6B,0x86,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xF0,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x01,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xEF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x1C,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD5,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x15,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCD,0x87,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x8D,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x68,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA4,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x09,0x09,0x09,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x0D,0x25 +,0x25,0x25,0xFF,0x2A,0x2A,0x2A,0xFF,0x30,0x30,0x30,0xFF,0x35,0x35,0x35,0xFF +,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40,0xFF,0x45,0x45,0x45,0xFF,0x4A,0x4A,0x4A +,0xFF,0x50,0x50,0x50,0xFF,0x55,0x55,0x55,0xFF,0x5A,0x5A,0x5A,0xFF,0x60,0x60 +,0x60,0xFF,0x65,0x65,0x65,0xFF,0x5B,0x5B,0x5B,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x43,0xE6,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD0 +,0x81,0x00,0x00,0x00,0xFF,0x0E,0x2F,0x2F,0x2F,0xFF,0x68,0x68,0x68,0xFF,0x63 +,0x63,0x63,0xFF,0x5D,0x5D,0x5D,0xFF,0x58,0x58,0x58,0xFF,0x53,0x53,0x53,0xFF +,0x4D,0x4D,0x4D,0xFF,0x48,0x48,0x48,0xFF,0x43,0x43,0x43,0xFF,0x3D,0x3D,0x3D +,0xFF,0x38,0x38,0x38,0xFF,0x33,0x33,0x33,0xFF,0x2D,0x2D,0x2D,0xFF,0x28,0x28 +,0x28,0xFF,0x23,0x23,0x23,0xFF,0x81,0x1F,0x1F,0x1F,0xFF,0x00,0x10,0x10,0x10 +,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD6,0x88,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x5E,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x9C,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC1,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x24,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xCA,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x41,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xB1,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x46,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9C,0x87,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xBC,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x38,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA6,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x0A,0x0A,0x0A,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x0E,0x23,0x23,0x23 +,0xFF,0x28,0x28,0x28,0xFF,0x2E,0x2E,0x2E,0xFF,0x33,0x33,0x33,0xFF,0x38,0x38 +,0x38,0xFF,0x3E,0x3E,0x3E,0xFF,0x43,0x43,0x43,0xFF,0x48,0x48,0x48,0xFF,0x4E +,0x4E,0x4E,0xFF,0x53,0x53,0x53,0xFF,0x58,0x58,0x58,0xFF,0x5E,0x5E,0x5E,0xFF +,0x63,0x63,0x63,0xFF,0x68,0x68,0x68,0xFF,0x06,0x06,0x06,0xFF,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x75,0xE5,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x08,0x00,0x00,0x00,0xFB,0x81,0x00,0x00,0x00,0xFF,0x0E,0x43,0x43,0x43 +,0xFF,0x66,0x66,0x66,0xFF,0x61,0x61,0x61,0xFF,0x5B,0x5B,0x5B,0xFF,0x56,0x56 +,0x56,0xFF,0x51,0x51,0x51,0xFF,0x4B,0x4B,0x4B,0xFF,0x46,0x46,0x46,0xFF,0x41 +,0x41,0x41,0xFF,0x3B,0x3B,0x3B,0xFF,0x36,0x36,0x36,0xFF,0x31,0x31,0x31,0xFF +,0x2B,0x2B,0x2B,0xFF,0x26,0x26,0x26,0xFF,0x21,0x21,0x21,0xFF,0x81,0x1F,0x1F +,0x1F,0xFF,0x00,0x12,0x12,0x12,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xE6,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x31,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xC4,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x90,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x55,0x89,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xA6,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x67,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x81,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8D,0x89,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x77,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x6C,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC9,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x25,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x86,0x81,0x00,0x00,0x00,0xFF,0x00,0x06,0x06,0x06,0xFF,0x82,0x1F,0x1F +,0x1F,0xFF,0x0E,0x21,0x21,0x21,0xFF,0x26,0x26,0x26,0xFF,0x2C,0x2C,0x2C,0xFF +,0x31,0x31,0x31,0xFF,0x36,0x36,0x36,0xFF,0x3C,0x3C,0x3C,0xFF,0x41,0x41,0x41 +,0xFF,0x46,0x46,0x46,0xFF,0x4C,0x4C,0x4C,0xFF,0x51,0x51,0x51,0xFF,0x56,0x56 +,0x56,0xFF,0x5C,0x5C,0x5C,0xFF,0x61,0x61,0x61,0xFF,0x66,0x66,0x66,0xFF,0x1B +,0x1B,0x1B,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA7,0xE5,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x35,0x82,0x00,0x00,0x00,0xFF,0x0D,0x56 +,0x56,0x56,0xFF,0x64,0x64,0x64,0xFF,0x5F,0x5F,0x5F,0xFF,0x59,0x59,0x59,0xFF +,0x54,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x49,0x49,0x49,0xFF,0x44,0x44,0x44 +,0xFF,0x3F,0x3F,0x3F,0xFF,0x39,0x39,0x39,0xFF,0x34,0x34,0x34,0xFF,0x2F,0x2F +,0x2F,0xFF,0x29,0x29,0x29,0xFF,0x24,0x24,0x24,0xFF,0x82,0x1F,0x1F,0x1F,0xFF +,0x00,0x12,0x12,0x12,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE9 +,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x24,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xCA,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x5F +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x85,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x82,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x68,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x8F,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x49 +,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCB,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x22,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x65 +,0x81,0x00,0x00,0x00,0xFF,0x00,0x02,0x02,0x02,0xFF,0x83,0x1F,0x1F,0x1F,0xFF +,0x0D,0x24,0x24,0x24,0xFF,0x2A,0x2A,0x2A,0xFF,0x2F,0x2F,0x2F,0xFF,0x34,0x34 +,0x34,0xFF,0x3A,0x3A,0x3A,0xFF,0x3F,0x3F,0x3F,0xFF,0x44,0x44,0x44,0xFF,0x4A +,0x4A,0x4A,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0x5A,0x5A,0x5A,0xFF +,0x5F,0x5F,0x5F,0xFF,0x64,0x64,0x64,0xFF,0x2F,0x2F,0x2F,0xFF,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xD9,0xE5,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x68,0x81,0x00,0x00,0x00,0xFF,0x0E,0x03,0x03,0x03,0xFF,0x65,0x65,0x65 +,0xFF,0x62,0x62,0x62,0xFF,0x5D,0x5D,0x5D,0xFF,0x57,0x57,0x57,0xFF,0x52,0x52 +,0x52,0xFF,0x4D,0x4D,0x4D,0xFF,0x47,0x47,0x47,0xFF,0x42,0x42,0x42,0xFF,0x3D +,0x3D,0x3D,0xFF,0x37,0x37,0x37,0xFF,0x32,0x32,0x32,0xFF,0x2D,0x2D,0x2D,0xFF +,0x27,0x27,0x27,0xFF,0x22,0x22,0x22,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x00,0x0D +,0x0D,0x0D,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCA,0x88,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x21,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xCC,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x48,0x82,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8E,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x5E,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB1,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC1,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x46,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x8D,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x49,0x87,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCE,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x1E,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x45,0x82,0x00 +,0x00,0x00,0xFF,0x00,0x1D,0x1D,0x1D,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x0D,0x22 +,0x22,0x22,0xFF,0x28,0x28,0x28,0xFF,0x2D,0x2D,0x2D,0xFF,0x32,0x32,0x32,0xFF +,0x38,0x38,0x38,0xFF,0x3D,0x3D,0x3D,0xFF,0x42,0x42,0x42,0xFF,0x48,0x48,0x48 +,0xFF,0x4D,0x4D,0x4D,0xFF,0x52,0x52,0x52,0xFF,0x58,0x58,0x58,0xFF,0x5D,0x5D +,0x5D,0xFF,0x62,0x62,0x62,0xFF,0x43,0x43,0x43,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x0D,0xE4,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x9A,0x81,0x00,0x00,0x00,0xFF,0x0E,0x17,0x17,0x17,0xFF,0x65 +,0x65,0x65,0xFF,0x60,0x60,0x60,0xFF,0x5B,0x5B,0x5B,0xFF,0x55,0x55,0x55,0xFF +,0x50,0x50,0x50,0xFF,0x4B,0x4B,0x4B,0xFF,0x45,0x45,0x45,0xFF,0x40,0x40,0x40 +,0xFF,0x3B,0x3B,0x3B,0xFF,0x35,0x35,0x35,0xFF,0x30,0x30,0x30,0xFF,0x2B,0x2B +,0x2B,0xFF,0x25,0x25,0x25,0xFF,0x20,0x20,0x20,0xFF,0x82,0x1F,0x1F,0x1F,0xFF +,0x00,0x09,0x09,0x09,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA8 +,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x1D,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xCE,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x49 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x3F,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC4 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x35,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x8B,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4A +,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD0,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x1B,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x24 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x19,0x19,0x19,0xFF,0x82,0x1F,0x1F,0x1F,0xFF +,0x0D,0x20,0x20,0x20,0xFF,0x26,0x26,0x26,0xFF,0x2B,0x2B,0x2B,0xFF,0x30,0x30 +,0x30,0xFF,0x36,0x36,0x36,0xFF,0x3B,0x3B,0x3B,0xFF,0x40,0x40,0x40,0xFF,0x46 +,0x46,0x46,0xFF,0x4B,0x4B,0x4B,0xFF,0x50,0x50,0x50,0xFF,0x56,0x56,0x56,0xFF +,0x5B,0x5B,0x5B,0xFF,0x60,0x60,0x60,0xFF,0x56,0x56,0x56,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x3E,0xE4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xCC,0x81,0x00,0x00,0x00,0xFF,0x0D,0x2B,0x2B,0x2B,0xFF,0x63,0x63,0x63 +,0xFF,0x5E,0x5E,0x5E,0xFF,0x59,0x59,0x59,0xFF,0x53,0x53,0x53,0xFF,0x4E,0x4E +,0x4E,0xFF,0x49,0x49,0x49,0xFF,0x43,0x43,0x43,0xFF,0x3E,0x3E,0x3E,0xFF,0x39 +,0x39,0x39,0xFF,0x33,0x33,0x33,0xFF,0x2E,0x2E,0x2E,0xFF,0x29,0x29,0x29,0xFF +,0x23,0x23,0x23,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x00,0x05,0x05,0x05,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x86,0x88,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x1A,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD1,0x87 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x4A,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x8A,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x32,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x2A,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x89,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4B,0x87,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xD2,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x17,0x87 +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xFD,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x15,0x15,0x15,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x0D,0x24 +,0x24,0x24,0xFF,0x29,0x29,0x29,0xFF,0x2E,0x2E,0x2E,0xFF,0x34,0x34,0x34,0xFF +,0x39,0x39,0x39,0xFF,0x3E,0x3E,0x3E,0xFF,0x44,0x44,0x44,0xFF,0x49,0x49,0x49 +,0xFF,0x4E,0x4E,0x4E,0xFF,0x54,0x54,0x54,0xFF,0x59,0x59,0x59,0xFF,0x5E,0x5E +,0x5E,0xFF,0x63,0x63,0x63,0xFF,0x05,0x05,0x05,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x70,0xE3,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x05 +,0x00,0x00,0x00,0xF9,0x81,0x00,0x00,0x00,0xFF,0x0D,0x3F,0x3F,0x3F,0xFF,0x61 +,0x61,0x61,0xFF,0x5C,0x5C,0x5C,0xFF,0x57,0x57,0x57,0xFF,0x51,0x51,0x51,0xFF +,0x4C,0x4C,0x4C,0xFF,0x47,0x47,0x47,0xFF,0x41,0x41,0x41,0xFF,0x3C,0x3C,0x3C +,0xFF,0x37,0x37,0x37,0xFF,0x31,0x31,0x31,0xFF,0x2C,0x2C,0x2C,0xFF,0x27,0x27 +,0x27,0xFF,0x21,0x21,0x21,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x00,0x01,0x01,0x01 +,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x65,0x88,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x16,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xD3,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x4B,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x89,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x26,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDB,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE2,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x1E,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x87,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4C,0x87,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xD5,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x14,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xE3,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x10,0x10,0x10,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x0D,0x22,0x22,0x22 +,0xFF,0x27,0x27,0x27,0xFF,0x2C,0x2C,0x2C,0xFF,0x32,0x32,0x32,0xFF,0x37,0x37 +,0x37,0xFF,0x3C,0x3C,0x3C,0xFF,0x42,0x42,0x42,0xFF,0x47,0x47,0x47,0xFF,0x4C +,0x4C,0x4C,0xFF,0x52,0x52,0x52,0xFF,0x57,0x57,0x57,0xFF,0x5C,0x5C,0x5C,0xFF +,0x62,0x62,0x62,0xFF,0x18,0x18,0x18,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0xA2,0xE3,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x31,0x82,0x00 +,0x00,0x00,0xFF,0x0C,0x51,0x51,0x51,0xFF,0x5F,0x5F,0x5F,0xFF,0x5A,0x5A,0x5A +,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F,0xFF,0x4A,0x4A,0x4A,0xFF,0x45,0x45 +,0x45,0xFF,0x3F,0x3F,0x3F,0xFF,0x3A,0x3A,0x3A,0xFF,0x35,0x35,0x35,0xFF,0x2F +,0x2F,0x2F,0xFF,0x2A,0x2A,0x2A,0xFF,0x25,0x25,0x25,0xFF,0x83,0x1F,0x1F,0x1F +,0xFF,0x00,0x1C,0x1C,0x1C,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x43,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x13,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xD5,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x4C,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x87,0x89,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x1A,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xE6,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0xEE,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x12,0x89,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x85,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x4D,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD7,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x11,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xC2,0x81,0x00,0x00,0x00,0xFF,0x00,0x0B,0x0B,0x0B,0xFF,0x84,0x1F,0x1F,0x1F +,0xFF,0x0C,0x25,0x25,0x25,0xFF,0x2A,0x2A,0x2A,0xFF,0x30,0x30,0x30,0xFF,0x35 +,0x35,0x35,0xFF,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40,0xFF,0x45,0x45,0x45,0xFF +,0x4A,0x4A,0x4A,0xFF,0x50,0x50,0x50,0xFF,0x55,0x55,0x55,0xFF,0x5A,0x5A,0x5A +,0xFF,0x60,0x60,0x60,0xFF,0x2B,0x2B,0x2B,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xD4,0xE3,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x63,0x81 +,0x00,0x00,0x00,0xFF,0x0D,0x02,0x02,0x02,0xFF,0x61,0x61,0x61,0xFF,0x5D,0x5D +,0x5D,0xFF,0x58,0x58,0x58,0xFF,0x53,0x53,0x53,0xFF,0x4D,0x4D,0x4D,0xFF,0x48 +,0x48,0x48,0xFF,0x43,0x43,0x43,0xFF,0x3D,0x3D,0x3D,0xFF,0x38,0x38,0x38,0xFF +,0x33,0x33,0x33,0xFF,0x2D,0x2D,0x2D,0xFF,0x28,0x28,0x28,0xFF,0x23,0x23,0x23 +,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x00,0x18,0x18,0x18,0xFF,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x22,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x15,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD6,0x87,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x4D,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x85,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x0E,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xF1,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x00,0xF9,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x06,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x84,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x4E,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xC3,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2E,0x88,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x8B,0x81,0x00,0x00,0x00,0xFF,0x00,0x03,0x03,0x03 +,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x0C,0x23,0x23,0x23,0xFF,0x28,0x28,0x28,0xFF +,0x2E,0x2E,0x2E,0xFF,0x33,0x33,0x33,0xFF,0x38,0x38,0x38,0xFF,0x3E,0x3E,0x3E +,0xFF,0x43,0x43,0x43,0xFF,0x48,0x48,0x48,0xFF,0x4E,0x4E,0x4E,0xFF,0x53,0x53 +,0x53,0xFF,0x58,0x58,0x58,0xFF,0x5E,0x5E,0x5E,0xFF,0x3E,0x3E,0x3E,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x0A,0xE2,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x96,0x81,0x00,0x00,0x00,0xFF,0x0D,0x14 +,0x14,0x14,0xFF,0x61,0x61,0x61,0xFF,0x5B,0x5B,0x5B,0xFF,0x56,0x56,0x56,0xFF +,0x51,0x51,0x51,0xFF,0x4B,0x4B,0x4B,0xFF,0x46,0x46,0x46,0xFF,0x41,0x41,0x41 +,0xFF,0x3B,0x3B,0x3B,0xFF,0x36,0x36,0x36,0xFF,0x31,0x31,0x31,0xFF,0x2B,0x2B +,0x2B,0xFF,0x26,0x26,0x26,0xFF,0x21,0x21,0x21,0xFF,0x83,0x1F,0x1F,0x1F,0xFF +,0x00,0x13,0x13,0x13,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB +,0x00,0x00,0x00,0x04,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x3C,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB6,0x87,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x4E,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xFC,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0xFC,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x03,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x4F,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x96,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5B,0x88,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x45,0x82,0x00,0x00,0x00,0xFF,0x00,0x19,0x19,0x19,0xFF,0x83 +,0x1F,0x1F,0x1F,0xFF,0x0C,0x21,0x21,0x21,0xFF,0x26,0x26,0x26,0xFF,0x2C,0x2C +,0x2C,0xFF,0x31,0x31,0x31,0xFF,0x36,0x36,0x36,0xFF,0x3C,0x3C,0x3C,0xFF,0x41 +,0x41,0x41,0xFF,0x46,0x46,0x46,0xFF,0x4C,0x4C,0x4C,0xFF,0x51,0x51,0x51,0xFF +,0x56,0x56,0x56,0xFF,0x5C,0x5C,0x5C,0xFF,0x50,0x50,0x50,0xFF,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x39,0xE2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xC8,0x81,0x00,0x00,0x00,0xFF,0x0C,0x27,0x27,0x27,0xFF,0x5F,0x5F,0x5F +,0xFF,0x59,0x59,0x59,0xFF,0x54,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x49,0x49 +,0x49,0xFF,0x44,0x44,0x44,0xFF,0x3F,0x3F,0x3F,0xFF,0x39,0x39,0x39,0xFF,0x34 +,0x34,0x34,0xFF,0x2F,0x2F,0x2F,0xFF,0x29,0x29,0x29,0xFF,0x24,0x24,0x24,0xFF +,0x84,0x1F,0x1F,0x1F,0xFF,0x00,0x0A,0x0A,0x0A,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC4,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x69 +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x89,0x87,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x4F,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x81 +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x08,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xF8,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0xEF,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x12 +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x80,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x56,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6A +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x87,0x88,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xF6,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x11,0x11,0x11,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x0C,0x24,0x24,0x24,0xFF,0x2A +,0x2A,0x2A,0xFF,0x2F,0x2F,0x2F,0xFF,0x34,0x34,0x34,0xFF,0x3A,0x3A,0x3A,0xFF +,0x3F,0x3F,0x3F,0xFF,0x44,0x44,0x44,0xFF,0x4A,0x4A,0x4A,0xFF,0x4F,0x4F,0x4F +,0xFF,0x54,0x54,0x54,0xFF,0x5A,0x5A,0x5A,0xFF,0x5E,0x5E,0x5E,0xFF,0x03,0x03 +,0x03,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6B,0xE1,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF6,0x81,0x00,0x00,0x00 +,0xFF,0x0C,0x3A,0x3A,0x3A,0xFF,0x5D,0x5D,0x5D,0xFF,0x57,0x57,0x57,0xFF,0x52 +,0x52,0x52,0xFF,0x4D,0x4D,0x4D,0xFF,0x47,0x47,0x47,0xFF,0x42,0x42,0x42,0xFF +,0x3D,0x3D,0x3D,0xFF,0x37,0x37,0x37,0xFF,0x32,0x32,0x32,0xFF,0x2D,0x2D,0x2D +,0xFF,0x27,0x27,0x27,0xFF,0x22,0x22,0x22,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x00 +,0x02,0x02,0x02,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x95,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x5D,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x61,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7D,0x89,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x17,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xEA,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x21,0x89,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x63,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x85,0x87 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x3D,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xB4,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB9,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x08,0x08,0x08,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x0C +,0x22,0x22,0x22,0xFF,0x28,0x28,0x28,0xFF,0x2D,0x2D,0x2D,0xFF,0x32,0x32,0x32 +,0xFF,0x38,0x38,0x38,0xFF,0x3D,0x3D,0x3D,0xFF,0x42,0x42,0x42,0xFF,0x48,0x48 +,0x48,0xFF,0x4D,0x4D,0x4D,0xFF,0x52,0x52,0x52,0xFF,0x58,0x58,0x58,0xFF,0x5D +,0x5D,0x5D,0xFF,0x15,0x15,0x15,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x9D,0xE1,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x2D,0x82,0x00,0x00 +,0x00,0xFF,0x0C,0x4C,0x4C,0x4C,0xFF,0x5B,0x5B,0x5B,0xFF,0x55,0x55,0x55,0xFF +,0x50,0x50,0x50,0xFF,0x4B,0x4B,0x4B,0xFF,0x45,0x45,0x45,0xFF,0x40,0x40,0x40 +,0xFF,0x3B,0x3B,0x3B,0xFF,0x35,0x35,0x35,0xFF,0x30,0x30,0x30,0xFF,0x2B,0x2B +,0x2B,0xFF,0x25,0x25,0x25,0xFF,0x20,0x20,0x20,0xFF,0x83,0x1F,0x1F,0x1F,0xFF +,0x00,0x18,0x18,0x18,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x38 +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC2,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x30,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x96 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x54,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x26,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xDC +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD2 +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x30,0x89,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x2E,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xBB +,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x11,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xE0,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x73 +,0x81,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0xFF,0x1E,0x1E,0x1E,0xFF,0x83 +,0x1F,0x1F,0x1F,0xFF,0x0C,0x20,0x20,0x20,0xFF,0x25,0x25,0x25,0xFF,0x2B,0x2B +,0x2B,0xFF,0x30,0x30,0x30,0xFF,0x36,0x36,0x36,0xFF,0x3B,0x3B,0x3B,0xFF,0x40 +,0x40,0x40,0xFF,0x46,0x46,0x46,0xFF,0x4B,0x4B,0x4B,0xFF,0x50,0x50,0x50,0xFF +,0x56,0x56,0x56,0xFF,0x5B,0x5B,0x5B,0xFF,0x28,0x28,0x28,0xFF,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF,0xE1,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x5F,0x81,0x00,0x00,0x00,0xFF,0x0C,0x02,0x02,0x02,0xFF,0x5B,0x5B,0x5B +,0xFF,0x59,0x59,0x59,0xFF,0x53,0x53,0x53,0xFF,0x4E,0x4E,0x4E,0xFF,0x49,0x49 +,0x49,0xFF,0x43,0x43,0x43,0xFF,0x3E,0x3E,0x3E,0xFF,0x39,0x39,0x39,0xFF,0x33 +,0x33,0x33,0xFF,0x2E,0x2E,0x2E,0xFF,0x29,0x29,0x29,0xFF,0x23,0x23,0x23,0xFF +,0x84,0x1F,0x1F,0x1F,0xFF,0x00,0x0F,0x0F,0x0F,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x03,0x89,0xFF,0xFF,0xFF,0x00,0x03 +,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFC,0x00,0x00,0x00 +,0x07,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xCB,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x1F,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x35,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCE,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x3F,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x03,0x00,0x00,0x00,0xF5,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF +,0x00,0x00,0x00,0x01,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xE5,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x0E,0x88,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x2C,0x82,0x00,0x00,0x00,0xFF,0x00,0x16,0x16,0x16,0xFF,0x84 +,0x1F,0x1F,0x1F,0xFF,0x0B,0x24,0x24,0x24,0xFF,0x29,0x29,0x29,0xFF,0x2E,0x2E +,0x2E,0xFF,0x34,0x34,0x34,0xFF,0x39,0x39,0x39,0xFF,0x3E,0x3E,0x3E,0xFF,0x44 +,0x44,0x44,0xFF,0x49,0x49,0x49,0xFF,0x4E,0x4E,0x4E,0xFF,0x54,0x54,0x54,0xFF +,0x59,0x59,0x59,0xFF,0x39,0x39,0x39,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xFA,0x00,0x00,0x00,0x07,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x92,0x81,0x00,0x00,0x00,0xFF,0x0C,0x11,0x11,0x11,0xFF,0x5C,0x5C,0x5C +,0xFF,0x57,0x57,0x57,0xFF,0x51,0x51,0x51,0xFF,0x4C,0x4C,0x4C,0xFF,0x47,0x47 +,0x47,0xFF,0x41,0x41,0x41,0xFF,0x3C,0x3C,0x3C,0xFF,0x37,0x37,0x37,0xFF,0x31 +,0x31,0x31,0xFF,0x2C,0x2C,0x2C,0xFF,0x27,0x27,0x27,0xFF,0x21,0x21,0x21,0xFF +,0x84,0x1F,0x1F,0x1F,0xFF,0x00,0x07,0x07,0x07,0xFF,0x81,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xAC,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x1D +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xD7,0x87,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xF9,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xE9,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x44,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC0,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB6,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x50,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC2,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x26,0x87,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xB8,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x52,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xE6,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x0B,0x0B,0x0B,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x0B,0x22,0x22,0x22,0xFF,0x27 +,0x27,0x27,0xFF,0x2C,0x2C,0x2C,0xFF,0x32,0x32,0x32,0xFF,0x37,0x37,0x37,0xFF +,0x3C,0x3C,0x3C,0xFF,0x42,0x42,0x42,0xFF,0x47,0x47,0x47,0xFF,0x4C,0x4C,0x4C +,0xFF,0x52,0x52,0x52,0xFF,0x57,0x57,0x57,0xFF,0x4A,0x4A,0x4A,0xFF,0x82,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x34,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xC4,0x81,0x00,0x00,0x00,0xFF,0x0B,0x24,0x24,0x24,0xFF,0x5A,0x5A +,0x5A,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F,0xFF,0x4A,0x4A,0x4A,0xFF,0x45 +,0x45,0x45,0xFF,0x3F,0x3F,0x3F,0xFF,0x3A,0x3A,0x3A,0xFF,0x35,0x35,0x35,0xFF +,0x2F,0x2F,0x2F,0xFF,0x2A,0x2A,0x2A,0xFF,0x25,0x25,0x25,0xFF,0x84,0x1F,0x1F +,0x1F,0xFF,0x00,0x1D,0x1D,0x1D,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x66,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x70,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA7,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x36,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB3,0x8A,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x58,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xB0,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x9A,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x73,0x8A,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x8D,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x5C,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6D,0x81,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xB5,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x94,0x82,0x00,0x00,0x00,0xFF,0x00,0x1A,0x1A,0x1A,0xFF,0x84,0x1F,0x1F +,0x1F,0xFF,0x0B,0x25,0x25,0x25,0xFF,0x2A,0x2A,0x2A,0xFF,0x30,0x30,0x30,0xFF +,0x35,0x35,0x35,0xFF,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40,0xFF,0x45,0x45,0x45 +,0xFF,0x4A,0x4A,0x4A,0xFF,0x50,0x50,0x50,0xFF,0x55,0x55,0x55,0xFF,0x58,0x58 +,0x58,0xFF,0x02,0x02,0x02,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x66,0xDF,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xF4 +,0x81,0x00,0x00,0x00,0xFF,0x0B,0x35,0x35,0x35,0xFF,0x58,0x58,0x58,0xFF,0x53 +,0x53,0x53,0xFF,0x4D,0x4D,0x4D,0xFF,0x48,0x48,0x48,0xFF,0x43,0x43,0x43,0xFF +,0x3D,0x3D,0x3D,0xFF,0x38,0x38,0x38,0xFF,0x33,0x33,0x33,0xFF,0x2D,0x2D,0x2D +,0xFF,0x28,0x28,0x28,0xFF,0x23,0x23,0x23,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x00 +,0x12,0x12,0x12,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x20,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD2,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x4E,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6B,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7E,0x8A,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x81,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8F,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9E,0x8A,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x57,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x92,0x87 +,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0xF8,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x1B,0x88,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xFA,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x0C,0x0C,0x0C,0xFF,0x84,0x1F,0x1F,0x1F,0xFF,0x0B,0x23,0x23,0x23,0xFF,0x28 +,0x28,0x28,0xFF,0x2E,0x2E,0x2E,0xFF,0x33,0x33,0x33,0xFF,0x38,0x38,0x38,0xFF +,0x3E,0x3E,0x3E,0xFF,0x43,0x43,0x43,0xFF,0x48,0x48,0x48,0xFF,0x4E,0x4E,0x4E +,0xFF,0x53,0x53,0x53,0xFF,0x58,0x58,0x58,0xFF,0x12,0x12,0x12,0xFF,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x98,0xDF,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x29,0x82,0x00,0x00,0x00,0xFF,0x0B,0x46,0x46,0x46,0xFF,0x56,0x56 +,0x56,0xFF,0x51,0x51,0x51,0xFF,0x4B,0x4B,0x4B,0xFF,0x46,0x46,0x46,0xFF,0x41 +,0x41,0x41,0xFF,0x3B,0x3B,0x3B,0xFF,0x36,0x36,0x36,0xFF,0x31,0x31,0x31,0xFF +,0x2B,0x2B,0x2B,0xFF,0x26,0x26,0x26,0xFF,0x21,0x21,0x21,0xFF,0x83,0x1F,0x1F +,0x1F,0xFF,0x01,0x1E,0x1E,0x1E,0xFF,0x04,0x04,0x04,0xFF,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0xCB,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x35,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x04 +,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA0,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x48,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xAB +,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x65,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xC9,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x22 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC8,0x88,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xA7,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7B +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9C,0x82,0x00,0x00,0x00,0xFF +,0x00,0x1B,0x1B,0x1B,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x0B,0x21,0x21,0x21,0xFF +,0x26,0x26,0x26,0xFF,0x2C,0x2C,0x2C,0xFF,0x31,0x31,0x31,0xFF,0x36,0x36,0x36 +,0xFF,0x3C,0x3C,0x3C,0xFF,0x41,0x41,0x41,0xFF,0x46,0x46,0x46,0xFF,0x4C,0x4C +,0x4C,0xFF,0x51,0x51,0x51,0xFF,0x56,0x56,0x56,0xFF,0x24,0x24,0x24,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCB,0xDF,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x5B,0x81,0x00,0x00,0x00,0xFF,0x0B,0x01,0x01,0x01,0xFF,0x55 +,0x55,0x55,0xFF,0x54,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x49,0x49,0x49,0xFF +,0x44,0x44,0x44,0xFF,0x3F,0x3F,0x3F,0xFF,0x39,0x39,0x39,0xFF,0x34,0x34,0x34 +,0xFF,0x2F,0x2F,0x2F,0xFF,0x29,0x29,0x29,0xFF,0x24,0x24,0x24,0xFF,0x84,0x1F +,0x1F,0x1F,0xFF,0x00,0x13,0x13,0x13,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x4E,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x97,0x81,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x88,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xD6,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x13,0x8A,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD6,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x3B,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x1E,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF2,0x00,0x00 +,0x00,0x01,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xEB,0x81,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x07,0x87,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x44,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xDD,0x00,0x00,0x00,0x01,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x22 +,0x00,0x00,0x00,0xFB,0x81,0x00,0x00,0x00,0xFF,0x00,0x0C,0x0C,0x0C,0xFF,0x84 +,0x1F,0x1F,0x1F,0xFF,0x0A,0x24,0x24,0x24,0xFF,0x2A,0x2A,0x2A,0xFF,0x2F,0x2F +,0x2F,0xFF,0x34,0x34,0x34,0xFF,0x3A,0x3A,0x3A,0xFF,0x3F,0x3F,0x3F,0xFF,0x44 +,0x44,0x44,0xFF,0x4A,0x4A,0x4A,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF +,0x35,0x35,0x35,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00 +,0x00,0x00,0x04,0xDE,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x8E,0x81,0x00 +,0x00,0x00,0xFF,0x0B,0x0F,0x0F,0x0F,0xFF,0x57,0x57,0x57,0xFF,0x52,0x52,0x52 +,0xFF,0x4D,0x4D,0x4D,0xFF,0x47,0x47,0x47,0xFF,0x42,0x42,0x42,0xFF,0x3D,0x3D +,0x3D,0xFF,0x37,0x37,0x37,0xFF,0x32,0x32,0x32,0xFF,0x2D,0x2D,0x2D,0xFF,0x27 +,0x27,0x27,0xFF,0x22,0x22,0x22,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x01,0x1E,0x1E +,0x1E,0xFF,0x04,0x04,0x04,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xCF,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xF0 +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x26,0x87,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xFD,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xDD,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06,0x00 +,0x00,0x00,0xFB,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x12,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00 +,0x00,0xF3,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x1E,0x8A,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xB5,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x58,0x87,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0xDF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x42,0x89,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xA0,0x81,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01 +,0xFF,0x18,0x18,0x18,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x0A,0x22,0x22,0x22,0xFF +,0x28,0x28,0x28,0xFF,0x2D,0x2D,0x2D,0xFF,0x32,0x32,0x32,0xFF,0x38,0x38,0x38 +,0xFF,0x3D,0x3D,0x3D,0xFF,0x42,0x42,0x42,0xFF,0x48,0x48,0x48,0xFF,0x4D,0x4D +,0x4D,0xFF,0x52,0x52,0x52,0xFF,0x45,0x45,0x45,0xFF,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x2F,0xDE,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC0 +,0x81,0x00,0x00,0x00,0xFF,0x0B,0x20,0x20,0x20,0xFF,0x55,0x55,0x55,0xFF,0x50 +,0x50,0x50,0xFF,0x4B,0x4B,0x4B,0xFF,0x45,0x45,0x45,0xFF,0x40,0x40,0x40,0xFF +,0x3B,0x3B,0x3B,0xFF,0x35,0x35,0x35,0xFF,0x30,0x30,0x30,0xFF,0x2B,0x2B,0x2B +,0xFF,0x25,0x25,0x25,0xFF,0x20,0x20,0x20,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x00 +,0x13,0x13,0x13,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x52,0x89 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x5B,0x81,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xC2,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x71,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA0,0x8A,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x2C,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE8,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x01,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0xCB,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x55,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x60,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xBB,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x7E,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x89,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0xFC,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x03,0x03,0x03,0xFF,0x1C,0x1C,0x1C,0xFF,0x82,0x1F,0x1F,0x1F,0xFF +,0x0B,0x20,0x20,0x20,0xFF,0x25,0x25,0x25,0xFF,0x2B,0x2B,0x2B,0xFF,0x30,0x30 +,0x30,0xFF,0x35,0x35,0x35,0xFF,0x3B,0x3B,0x3B,0xFF,0x40,0x40,0x40,0xFF,0x46 +,0x46,0x46,0xFF,0x4B,0x4B,0x4B,0xFF,0x50,0x50,0x50,0xFF,0x53,0x53,0x53,0xFF +,0x01,0x01,0x01,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0xDD +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xF1,0x81,0x00 +,0x00,0x00,0xFF,0x0A,0x31,0x31,0x31,0xFF,0x53,0x53,0x53,0xFF,0x4E,0x4E,0x4E +,0xFF,0x49,0x49,0x49,0xFF,0x43,0x43,0x43,0xFF,0x3E,0x3E,0x3E,0xFF,0x39,0x39 +,0x39,0xFF,0x33,0x33,0x33,0xFF,0x2E,0x2E,0x2E,0xFF,0x29,0x29,0x29,0xFF,0x23 +,0x23,0x23,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x01,0x1C,0x1C,0x1C,0xFF,0x03,0x03 +,0x03,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD3,0x00,0x00,0x00 +,0x01,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xD9 +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5F,0x88,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xD4,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x41 +,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6B,0x83,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xBB,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x8F,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x0B,0x00,0x00,0x00,0xF2,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x20,0x87,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x1D,0x00,0x00,0x00,0xF9,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x66 +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x81,0x82,0x00,0x00,0x00,0xFF +,0x01,0x06,0x06,0x06,0xFF,0x1E,0x1E,0x1E,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x0A +,0x24,0x24,0x24,0xFF,0x29,0x29,0x29,0xFF,0x2E,0x2E,0x2E,0xFF,0x34,0x34,0x34 +,0xFF,0x39,0x39,0x39,0xFF,0x3E,0x3E,0x3E,0xFF,0x44,0x44,0x44,0xFF,0x49,0x49 +,0x49,0xFF,0x4E,0x4E,0x4E,0xFF,0x54,0x54,0x54,0xFF,0x10,0x10,0x10,0xFF,0x81 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x93,0xDD,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x25,0x82,0x00,0x00,0x00,0xFF,0x0A,0x42,0x42,0x42,0xFF,0x51 +,0x51,0x51,0xFF,0x4C,0x4C,0x4C,0xFF,0x47,0x47,0x47,0xFF,0x41,0x41,0x41,0xFF +,0x3C,0x3C,0x3C,0xFF,0x37,0x37,0x37,0xFF,0x31,0x31,0x31,0xFF,0x2C,0x2C,0x2C +,0xFF,0x27,0x27,0x27,0xFF,0x21,0x21,0x21,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x01 +,0x1E,0x1E,0x1E,0xFF,0x06,0x06,0x06,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x57,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x94,0x81,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0x0A,0x87,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x39,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xDD,0x00,0x00,0x00,0x01,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xB2,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x7A,0xFF,0xFF,0xFF,0x00 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x4A,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE4,0x8B +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9B,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x85,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x77,0x81 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF3,0x00,0x00,0x00,0x22,0x88,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xA9,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x0A,0x0A,0x0A,0xFF,0x1E,0x1E,0x1E,0xFF,0x81,0x1F,0x1F,0x1F +,0xFF,0x0A,0x22,0x22,0x22,0xFF,0x27,0x27,0x27,0xFF,0x2C,0x2C,0x2C,0xFF,0x32 +,0x32,0x32,0xFF,0x37,0x37,0x37,0xFF,0x3C,0x3C,0x3C,0xFF,0x42,0x42,0x42,0xFF +,0x47,0x47,0x47,0xFF,0x4C,0x4C,0x4C,0xFF,0x52,0x52,0x52,0xFF,0x20,0x20,0x20 +,0xFF,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC6,0xDD,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x57,0x82,0x00,0x00,0x00,0xFF,0x09,0x50,0x50,0x50 +,0xFF,0x4F,0x4F,0x4F,0xFF,0x4A,0x4A,0x4A,0xFF,0x45,0x45,0x45,0xFF,0x3F,0x3F +,0x3F,0xFF,0x3A,0x3A,0x3A,0xFF,0x35,0x35,0x35,0xFF,0x2F,0x2F,0x2F,0xFF,0x2A +,0x2A,0x2A,0xFF,0x25,0x25,0x25,0xFF,0x83,0x1F,0x1F,0x1F,0xFF,0x00,0x0B,0x0B +,0x0B,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xAD,0x00,0x00,0x00 +,0x01,0x88,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xFE +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x46,0x88,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0xAA,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x7C,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00 +,0xF3,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x35,0xFF,0xFF,0xFF,0x00 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0xF9,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x2C,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x39,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x13,0x87,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xC5,0x81,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xC2,0x00,0x00,0x00,0x02,0x88,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xCA,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x05,0x05,0x05,0xFF,0x19,0x19,0x19,0xFF,0x81,0x1F,0x1F,0x1F,0xFF,0x09,0x25 +,0x25,0x25,0xFF,0x2A,0x2A,0x2A,0xFF,0x30,0x30,0x30,0xFF,0x35,0x35,0x35,0xFF +,0x3A,0x3A,0x3A,0xFF,0x40,0x40,0x40,0xFF,0x45,0x45,0x45,0xFF,0x4A,0x4A,0x4A +,0xFF,0x50,0x50,0x50,0xFF,0x31,0x31,0x31,0xFF,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF5,0x00,0x00,0x00,0x03,0xDC,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x8A,0x81,0x00,0x00,0x00,0xFF,0x0A,0x0C,0x0C,0x0C,0xFF,0x53,0x53 +,0x53,0xFF,0x4D,0x4D,0x4D,0xFF,0x48,0x48,0x48,0xFF,0x43,0x43,0x43,0xFF,0x3D +,0x3D,0x3D,0xFF,0x38,0x38,0x38,0xFF,0x33,0x33,0x33,0xFF,0x2D,0x2D,0x2D,0xFF +,0x28,0x28,0x28,0xFF,0x23,0x23,0x23,0xFF,0x82,0x1F,0x1F,0x1F,0xFF,0x00,0x0E +,0x0E,0x0E,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xCE,0x00,0x00 +,0x00,0x0A,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00 +,0xE4,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x94,0x88,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0xFE,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x1D,0x8A,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x40,0x83,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xEE,0x00 +,0x00,0x00,0x02,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC0,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x73,0x8B,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xC5,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0x88,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0xF4,0x81,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x74,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x19,0x00,0x00,0x00,0xE3,0x83,0x00,0x00,0x00,0xFF,0x0B,0x10,0x10,0x10,0xFF +,0x1E,0x1E,0x1E,0xFF,0x23,0x23,0x23,0xFF,0x28,0x28,0x28,0xFF,0x2E,0x2E,0x2E +,0xFF,0x33,0x33,0x33,0xFF,0x38,0x38,0x38,0xFF,0x3E,0x3E,0x3E,0xFF,0x43,0x43 +,0x43,0xFF,0x48,0x48,0x48,0xFF,0x4E,0x4E,0x4E,0xFF,0x40,0x40,0x40,0xFF,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2A,0xDC,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xBC,0x81,0x00,0x00,0x00,0xFF,0x0D,0x1D,0x1D,0x1D,0xFF,0x51 +,0x51,0x51,0xFF,0x4B,0x4B,0x4B,0xFF,0x46,0x46,0x46,0xFF,0x41,0x41,0x41,0xFF +,0x3B,0x3B,0x3B,0xFF,0x36,0x36,0x36,0xFF,0x31,0x31,0x31,0xFF,0x2B,0x2B,0x2B +,0xFF,0x26,0x26,0x26,0xFF,0x21,0x21,0x21,0xFF,0x1F,0x1F,0x1F,0xFF,0x1B,0x1B +,0x1B,0xFF,0x07,0x07,0x07,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE7,0x00,0x00,0x00,0x1D,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA7 +,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDA,0x00,0x00,0x00,0x0A,0x88 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB6,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0xA0,0x8B,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x87,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAC,0x81,0xFF,0xFF,0xFF,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x7A,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC3,0x8B +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x41,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x1B,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x69,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00 +,0x00,0x32,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x27,0x00,0x00,0x00 +,0xCC,0x83,0x00,0x00,0x00,0xFF,0x0A,0x01,0x01,0x01,0xFF,0x0B,0x0B,0x0B,0xFF +,0x1A,0x1A,0x1A,0xFF,0x2A,0x2A,0x2A,0xFF,0x31,0x31,0x31,0xFF,0x36,0x36,0x36 +,0xFF,0x3C,0x3C,0x3C,0xFF,0x41,0x41,0x41,0xFF,0x46,0x46,0x46,0xFF,0x4B,0x4B +,0x4B,0xFF,0x45,0x45,0x45,0xFF,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x5C,0xDC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xEE,0x81,0x00,0x00,0x00 +,0xFF,0x0C,0x2D,0x2D,0x2D,0xFF,0x4F,0x4F,0x4F,0xFF,0x49,0x49,0x49,0xFF,0x44 +,0x44,0x44,0xFF,0x3F,0x3F,0x3F,0xFF,0x39,0x39,0x39,0xFF,0x34,0x34,0x34,0xFF +,0x2F,0x2F,0x2F,0xFF,0x29,0x29,0x29,0xFF,0x24,0x24,0x24,0xFF,0x1E,0x1E,0x1E +,0xFF,0x12,0x12,0x12,0xFF,0x01,0x01,0x01,0xFF,0x82,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xF7,0x00,0x00,0x00,0x37,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x6D,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00 +,0x00,0x37,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x3C,0x82,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x20,0x8A,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xDD,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x67,0x81,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x81,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x32 +,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x28,0x8B,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xBC,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA2 +,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB9,0x81,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x44,0x89,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xFB,0x85,0x00,0x00 +,0x00,0xFF,0x04,0x04,0x04,0x04,0xFF,0x0A,0x0A,0x0A,0xFF,0x0F,0x0F,0x0F,0xFF +,0x0B,0x0B,0x0B,0xFF,0x05,0x05,0x05,0xFF,0x84,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x8E,0xDB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x21,0x82,0x00 +,0x00,0x00,0xFF,0x0A,0x2E,0x2E,0x2E,0xFF,0x43,0x43,0x43,0xFF,0x44,0x44,0x44 +,0xFF,0x42,0x42,0x42,0xFF,0x3D,0x3D,0x3D,0xFF,0x37,0x37,0x37,0xFF,0x32,0x32 +,0x32,0xFF,0x29,0x29,0x29,0xFF,0x1B,0x1B,0x1B,0xFF,0x0C,0x0C,0x0C,0xFF,0x01 +,0x01,0x01,0xFF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDB,0x00,0x00 +,0x00,0x38,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 +,0x87,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83,0x88,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xCD,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x93,0x8B,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x44 +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x1B,0x81 +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x82 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD3,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x8D,0x8B,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x37,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4E,0x88,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0xE4,0x81,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xFA,0x00,0x00,0x00,0x5E,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x34,0x00,0x00,0x00,0xCD,0x8E,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0xC0,0xDB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x53,0x85,0x00,0x00,0x00 +,0xFF,0x03,0x04,0x04,0x04,0xFF,0x09,0x09,0x09,0xFF,0x06,0x06,0x06,0xFF,0x01 +,0x01,0x01,0xFF,0x86,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x97,0x00,0x00 +,0x00,0x0B,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00 +,0xA7,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xB3,0x00,0x00,0x00,0x05 +,0x88,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x81,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x18,0x8B,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xAA,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB4,0x82 +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x82 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6E,0x83,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x07,0x8B,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xA1,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE8,0x00,0x00 +,0x00,0x13,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1B,0x00,0x00,0x00 +,0xD1,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x7C,0x8B,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0xE0,0x8A +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0xC6,0xDB,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x85,0x8E,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xD1,0x00,0x00,0x00,0x48,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x12,0x00,0x00,0x00,0xC2,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0x96,0x00,0x00,0x00,0x03,0x88,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x35 +,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6B,0x8B +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0xF9,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x4E,0x82,0xFF,0xFF,0xFF,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x82,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x11,0x00,0x00,0x00,0xF7,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x58,0x8B,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00 +,0xE4,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xAC,0x89,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0xBC,0x82,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0x9B,0x00,0x00,0x00,0x04,0x8B,0xFF,0xFF,0xFF,0x00,0x05 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x53,0x00,0x00,0x00 +,0x70,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0xF7,0x82,0x00,0x00,0x00,0xFF,0x02 +,0x00,0x00,0x00,0x43,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x0A,0xDD,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xD1,0x00,0x00,0x00,0xEB +,0x89,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xDF,0x00,0x00,0x00,0x85,0x00 +,0x00,0x00,0x2B,0x8A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1D,0x00,0x00 +,0x00,0xD8,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x76,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0xDA +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x01,0x8B +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x75,0x83,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xE5,0x00,0x00,0x00,0x03,0x82,0xFF,0xFF,0xFF,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0xA3,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xC9,0x8C,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x47,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x81,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00 +,0x00,0xA2,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00 +,0x26,0x90,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xD3,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x28,0xE2,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x06,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x8B,0x82,0x00,0x00,0x00,0xFF,0x04 +,0x00,0x00,0x00,0xA3,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x42,0x00,0x00,0x00 +,0x25,0x00,0x00,0x00,0x01,0x8C,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x0C +,0x00,0x00,0x00,0xCD,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xF8,0x00,0x00,0x00 +,0x58,0x89,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xBE +,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00,0x1E,0x8B +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xE6,0x83,0x00 +,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x83,0x83,0xFF,0xFF,0xFF,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x83,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x3D,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x51,0x8C,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x99,0x83,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x5F,0x8A,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x85,0x00,0x00 +,0x00,0xFA,0x00,0x00,0x00,0x44,0x91,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0xA4,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x63,0xE4,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xA0,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x1E,0x91,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xCD +,0x00,0x00,0x00,0x3E,0x8A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x9F,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x61,0x8C,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x7A,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00 +,0x00,0x00,0x20,0x83,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x84,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xC9,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD5,0x00,0x00,0x00,0x02,0x8B,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0xC9,0x82,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00,0x42,0x8A,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x24,0x92,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x68 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9E,0xE4,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xE1,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xE2 +,0x93,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x8A,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x7F,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8D +,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0xF0,0x83 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA4,0x84,0xFF,0xFF,0xFF,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x84,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x42,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5F,0x8C +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0xDD,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x48,0x9D,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x2C,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xDA,0xE3,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x21,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA7,0x9D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x01,0x00,0x00,0x00,0x8E,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xAC,0x00,0x00,0x00,0x02,0x8C,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x8D +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFA,0x00,0x00,0x00,0x21,0x84 +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x85 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xBA,0x83,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xDF,0x00,0x00,0x00,0x07,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x27,0x00,0x00,0x00,0xED,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xFB,0x00,0x00,0x00,0x5E,0x9C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0xEE,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x16 +,0xE2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x62,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x6B,0x9C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06 +,0x00,0x00,0x00,0xA8,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC6,0x00 +,0x00,0x00,0x08,0x8C,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x20,0x00,0x00 +,0x00,0xF8,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x94,0x85,0xFF,0xFF +,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x85,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0xFE,0x83,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x88,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x3D,0x00,0x00,0x00,0xF4,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE +,0x00,0x00,0x00,0x77,0x9C,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB4,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x51,0xE2,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xA2,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x2F,0x9B +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xC0,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD2,0x00,0x00,0x00,0x15,0x8C,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xBE,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x17,0x85,0xFF,0xFF,0xFF,0x00 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x86,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0xAA,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD +,0x00,0x00,0x00,0x3C,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x36,0x00 +,0x00,0x00,0xEB,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xAC,0x00,0x00 +,0x00,0x13,0x9A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x77,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0xE2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0xE3,0x81,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF1,0x00,0x00,0x00 +,0x02,0x9A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x4B,0x00,0x00,0x00,0xE8 +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x0F,0x8D +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x72,0x84,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x84,0x86,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x86,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x25,0x00 +,0x00,0x00,0xF7,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDE,0x00,0x00 +,0x00,0x0D,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x26,0x00,0x00,0x00 +,0xDF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x49 +,0x99,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x3B,0x82,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0xCE,0xE1,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x23 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB8,0x99,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x99,0x84,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x07,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x2B,0x00,0x00,0x00,0xF8,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xE0,0x00,0x00,0x00,0x0D,0x86,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0x87,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00 +,0x6F,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x9D,0x8E,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0xCF,0x84,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x7C,0x98,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x07 +,0x00,0x00,0x00,0xF8,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x31,0xE0 +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x80,0x82,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x7C,0x99,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x93,0x83 +,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x8B,0x00,0x00 +,0x00,0x01,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00 +,0xCF,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x3F +,0x87,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x87,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xBC,0x84 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x5C,0x8E,0xFF,0xFF,0xFF,0x00,0x02 +,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0xFE,0x81,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x37,0x99,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xC2,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x98,0xDF,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xEA +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x34,0x99,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xE7,0x81,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xE5,0x00,0x00,0x00,0x46,0x8F,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x98,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8C,0x88,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x88,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xEF,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x40,0x8F,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x80,0x9A,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x68,0x82,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF3,0x00,0x00,0x00,0x0D,0xDE,0xFF,0xFF +,0xFF,0x00,0x00,0x00,0x00,0x00,0x65,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xCF,0x9B,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x48,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0x11,0x8F,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0x79,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD3,0x00 +,0x00,0x00,0x07,0x88,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x89,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x5B,0x84,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x2A,0x8F,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x04 +,0x9A,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xF6,0x82 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x67,0xDD,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xD7,0x82,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x6A,0x9C,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x34,0x90,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0xFE,0x83,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x2F,0x89,0xFF,0xFF,0xFF +,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x8A,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0xA8,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xE0,0x00,0x00,0x00,0x18,0xAD,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA3 +,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xCF,0xDD,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x4B,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF5 +,0x00,0x00,0x00,0x0F,0xAD,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x43,0x00 +,0x00,0x00,0xFA,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x6C,0x8A,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x8A,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xC7,0x84,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xCD,0x00,0x00,0x00,0x10,0xAC,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x00,0x40,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00 +,0x37,0xDC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xBD,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x9F,0xAD,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x3C,0x00,0x00,0x00,0xF2,0x84,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8A +,0x8B,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0x8B,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0xD9,0x84 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD5,0x00,0x00,0x00,0x1F,0xAB,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xDC,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x9E,0xDB,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x30,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3A,0xAC,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0xF7,0x84,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0x01,0x8B,0xFF,0xFF,0xFF,0x00 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x8C,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xE8,0x84,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xE7,0x00,0x00,0x00,0x33,0xAB,0xFF,0xFF,0xFF,0x00,0x00,0x00 +,0x00,0x00,0x7B,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6,0x00,0x00 +,0x00,0x14,0xDA,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xA3,0x82,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xD4,0xAC,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x6F,0x00,0x00,0x00,0xFD,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xBD,0x00,0x00,0x00,0x06,0x8C,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x8D,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x33 +,0x00,0x00,0x00,0xF4,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF4,0x00 +,0x00,0x00,0x4C,0xAA,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1B,0x00,0x00 +,0x00,0xFC,0x82,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA1,0xD9,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0xFB,0x82,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x6F,0xAA,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x01,0x00,0x00,0x00,0x8D,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD0 +,0x00,0x00,0x00,0x0E,0x8D,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0x8E,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x3E,0x00 +,0x00,0x00,0xEF,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC,0x00,0x00 +,0x00,0x70,0xAA,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB5,0x83,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0x45,0xD7,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x0A,0x00,0x00,0x00,0xD9,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xF7,0x00,0x00,0x00,0x12,0xA9,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x17 +,0x00,0x00,0x00,0xB4,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC3,0x00 +,0x00,0x00,0x12,0x8E,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0x8F,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x2A,0x00,0x00 +,0x00,0xE1,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xB8,0x00,0x00,0x00 +,0x1A,0xA8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x52,0x83,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xDE,0x00,0x00,0x00,0x0A,0xD6,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x96,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xA4 +,0xA9,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0xEB,0x85 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xAC,0x00,0x00,0x00,0x08,0x8F,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x90,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0xCE,0x85,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xED,0x00,0x00,0x00,0x57,0xA7,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xDD,0x83,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x8B,0xD5,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x4A +,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x23,0xA7 +,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA4,0x86,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x91,0x00,0x00,0x00,0x02,0x90,0xFF,0xFF +,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x91,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xB8,0x86,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xA6,0x00,0x00,0x00,0x10,0xA6,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x51,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFC +,0x00,0x00,0x00,0x32,0xD3,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x14,0x00 +,0x00,0x00,0xE7,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x82,0xA7,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0xE3,0x85,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x73,0x92,0xFF,0xFF,0xFF +,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x92,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x93,0x85,0x00,0x00,0x00,0xFF +,0x01,0x00,0x00,0x00,0xF4,0x00,0x00,0x00,0x23,0xA7,0xFF,0xFF,0xFF,0x00,0x00 +,0x00,0x00,0x00,0xBE,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xCE,0x00 +,0x00,0x00,0x04,0xD2,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xAE,0x83,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDF,0x00,0x00,0x00,0x09,0xA7,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0xD8,0x84,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0x4C,0x93,0xFF,0xFF,0xFF,0x00 +,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x94,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xE3,0x83,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x68,0xA8,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x2E,0x00 +,0x00,0x00,0xFC,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x76,0xD1,0xFF +,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x61,0x84,0x00,0x00,0x00,0xFF,0x00,0x00 +,0x00,0x00,0x4F,0xA9,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00 +,0x00,0xFC,0x82,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xAC,0x00,0x00,0x00 +,0x14,0x94,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0x95,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0xA3 +,0x81,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB7,0xAA,0xFF,0xFF,0xFF,0x00 +,0x00,0x00,0x00,0x00,0x98,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF6 +,0x00,0x00,0x00,0x30,0xCF,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x27,0x00 +,0x00,0x00,0xF2,0x83,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xB6,0xAB,0xFF +,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0xEF,0x00,0x00,0x00,0x5B,0x96,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0x97,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x52 +,0x00,0x00,0x00,0xD9,0x00,0x00,0x00,0x1A,0xAA,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x15,0x00,0x00,0x00,0xF0,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00 +,0x00,0xE5,0x00,0x00,0x00,0x1D,0xCD,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x1E,0x00,0x00,0x00,0xE2,0x83,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xF8 +,0x00,0x00,0x00,0x24,0xAB,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x06,0x00 +,0x00,0x00,0x93,0x00,0x00,0x00,0x1B,0x97,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00 +,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x98,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00 +,0x00,0x02,0xAC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x72,0x84,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xD3,0x00,0x00,0x00,0x0E,0xCB,0xFF,0xFF,0xFF +,0x00,0x01,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0xDA,0x84,0x00,0x00,0x00,0xFF +,0x00,0x00,0x00,0x00,0x83,0xC7,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00 +,0x89,0x00,0x00,0x00,0x00,0xC6,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x05 +,0x00,0x00,0x00,0xD9,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xBB,0x00 +,0x00,0x00,0x06,0xC9,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00 +,0x00,0xD0,0x84,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE0,0x00,0x00,0x00 +,0x09,0xC7,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00 +,0x00,0xC7,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x4C,0x85,0x00,0x00,0x00 +,0xFF,0x01,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x0B,0xC7,0xFF,0xFF,0xFF,0x00 +,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xCC,0x85,0x00,0x00,0x00,0xFF,0x00 +,0x00,0x00,0x00,0x51,0xC8,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xB4,0x85 +,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x11,0xC5,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x2E,0x00,0x00,0x00,0xE2,0x85,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xA6,0xC9,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00 +,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x14,0x00,0x00,0x00,0xE2,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00 +,0xD2,0x00,0x00,0x00,0x19,0xC3,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x4A +,0x00,0x00,0x00,0xF2,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD1,0x00 +,0x00,0x00,0x0A,0xC9,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0xC9,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x38,0x00,0x00 +,0x00,0xFA,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00 +,0x3A,0xC0,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x77 +,0x00,0x00,0x00,0xFC,0x85,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xEE,0x00 +,0x00,0x00,0x22,0xCA,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0xCA,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x6F,0x86,0x00 +,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x78,0x00,0x00,0x00 +,0x01,0xBD,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0xC5 +,0x86,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0x48,0xCB +,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xCB +,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xAB,0x87,0x00,0x00,0x00,0xFF,0x01 +,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x16,0xBA,0xFF,0xFF,0xFF,0x00,0x02,0x00 +,0x00,0x00,0x01,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0xF5,0x87,0x00,0x00,0x00 +,0xFF,0x00,0x00,0x00,0x00,0x76,0xCC,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0xCB,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00 +,0x0E,0x00,0x00,0x00,0xCE,0x87,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xE9 +,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x03,0xB7,0xFF,0xFF,0xFF,0x00,0x01,0x00 +,0x00,0x00,0x2D,0x00,0x00,0x00,0xBF,0x88,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0x84,0xCD,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0xCC,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00 +,0xD8,0x88,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xD3,0x00,0x00,0x00,0x47 +,0xB4,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0xA5,0x00 +,0x00,0x00,0xFD,0x88,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8A,0xCE,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xCD,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0xE2,0x89,0x00,0x00 +,0x00,0xFF,0x01,0x00,0x00,0x00,0xB7,0x00,0x00,0x00,0x31,0xB0,0xFF,0xFF,0xFF +,0x00,0x02,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x97,0x00,0x00,0x00,0xFA,0x89 +,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x8F,0xCF,0xFF,0xFF,0xFF,0x00,0x89 +,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xCE,0xFF,0xFF,0xFF,0x00,0x01 +,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0xEA,0x8A,0x00,0x00,0x00,0xFF,0x02,0x00 +,0x00,0x00,0xC3,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x04,0xAA,0xFF,0xFF,0xFF +,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xA9,0x00 +,0x00,0x00,0xF9,0x8A,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x95,0xD0,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xCF,0xFF +,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0xE7,0x8B,0x00,0x00 +,0x00,0xFF,0x02,0x00,0x00,0x00,0xE5,0x00,0x00,0x00,0x7D,0x00,0x00,0x00,0x18 +,0xA6,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x80,0x00 +,0x00,0x00,0xE1,0x8B,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFD,0x00,0x00 +,0x00,0x79,0xD1,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0xD0,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1E,0x00,0x00,0x00 +,0xD2,0x8C,0x00,0x00,0x00,0xFF,0x04,0x00,0x00,0x00,0xFD,0x00,0x00,0x00,0xC8 +,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x02,0x9E,0xFF,0xFF +,0xFF,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x83 +,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0xFE,0x8C,0x00,0x00,0x00,0xFF,0x01,0x00 +,0x00,0x00,0xF1,0x00,0x00,0x00,0x4C,0xD2,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00 +,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xD1,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00 +,0x00,0x0D,0x00,0x00,0x00,0xB7,0x8F,0x00,0x00,0x00,0xFF,0x04,0x00,0x00,0x00 +,0xEB,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x38,0x00,0x00 +,0x00,0x0E,0x96,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x15,0x00,0x00,0x00 +,0x3B,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0xF5,0x8F,0x00 +,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xDA,0x00,0x00,0x00,0x29,0xD3,0xFF,0xFF +,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xD2,0xFF,0xFF +,0xFF,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x96,0x93,0x00,0x00,0x00 +,0xFF,0x16,0x00,0x00,0x00,0xE3,0x00,0x00,0x00,0xB9,0x00,0x00,0x00,0x8F,0x00 +,0x00,0x00,0x67,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x35 +,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x09,0xFF,0xFF,0xFF +,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x16,0x00,0x00 +,0x00,0x21,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x42,0x00 +,0x00,0x00,0x5B,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0xA5,0x00,0x00,0x00,0xCA +,0x00,0x00,0x00,0xEF,0x93,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xB8,0x00 +,0x00,0x00,0x11,0xD4,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0xD4,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00 +,0x00,0xF1,0x9B,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xFB,0x00,0x00,0x00 +,0xFE,0x9C,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x63 +,0x00,0x00,0x00,0x01,0xD5,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0xD5,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x1C,0x00 +,0x00,0x00,0xB8,0xB8,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xA9,0x00,0x00 +,0x00,0x17,0xD7,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00 +,0x00,0x00,0xD7,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x64,0x00,0x00,0x00 +,0xF1,0xB4,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x4C +,0xD9,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00 +,0xD8,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0xAB,0x00 +,0x00,0x00,0xFE,0xB0,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xE9,0x00,0x00 +,0x00,0x78,0x00,0x00,0x00,0x0C,0xDA,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00 +,0x00,0x89,0x00,0x00,0x00,0x00,0xDA,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00 +,0x2C,0x00,0x00,0x00,0xAA,0x00,0x00,0x00,0xFE,0xAC,0x00,0x00,0x00,0xFF,0x02 +,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0x6D,0x00,0x00,0x00,0x09,0xDC,0xFF,0xFF +,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xDC,0xFF,0xFF +,0xFF,0x00,0x02,0x00,0x00,0x00,0x2B,0x00,0x00,0x00,0xA8,0x00,0x00,0x00,0xFD +,0xA8,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xD9,0x00,0x00,0x00,0x62,0x00 +,0x00,0x00,0x05,0xDE,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00 +,0x00,0x00,0x00,0xDE,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x26,0x00,0x00 +,0x00,0x81,0x00,0x00,0x00,0xD8,0xA3,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00 +,0xDE,0x00,0x00,0x00,0x8B,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x01,0xE0,0xFF +,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xE1,0xFF +,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x2F,0x00,0x00,0x00,0x86,0x00,0x00,0x00 +,0xDD,0x9D,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x00,0xDB,0x00,0x00,0x00,0x87 +,0x00,0x00,0x00,0x33,0xE4,0xFF,0xFF,0xFF,0x00,0x89,0x00,0x00,0x00,0x00,0x89 +,0x00,0x00,0x00,0x00,0xE4,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x00,0x00,0x33,0x00 +,0x00,0x00,0x70,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xD4,0x00,0x00,0x00,0xFC +,0x93,0x00,0x00,0x00,0xFF,0x04,0x00,0x00,0x00,0xE8,0x00,0x00,0x00,0xB7,0x00 +,0x00,0x00,0x86,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x24,0xE7,0xFF,0xFF,0xFF +,0x00,0x89,0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0xE8,0xFF,0xFF,0xFF +,0x00,0x14,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x69,0x00 +,0x00,0x00,0x95,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0xB6,0x00,0x00,0x00,0xC4 +,0x00,0x00,0x00,0xD3,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0xF1,0x00,0x00,0x00 +,0xFD,0x00,0x00,0x00,0xF2,0x00,0x00,0x00,0xE1,0x00,0x00,0x00,0xD1,0x00,0x00 +,0x00,0xC0,0x00,0x00,0x00,0xAF,0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0x8E,0x00 +,0x00,0x00,0x78,0x00,0x00,0x00,0x4A,0x00,0x00,0x00,0x19,0xEC,0xFF,0xFF,0xFF +,0x00,0x89,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00 +,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00 +,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +,0x00,0x00,0x00,0x00,0x54,0x52,0x55,0x45,0x56,0x49,0x53,0x49,0x4F,0x4E,0x2D +,0x58,0x46,0x49,0x4C,0x45,0x2E,0x00}; +/* end binary data. size = 22402 bytes */ + diff --git a/src/libprojectM/KeyHandler.cpp b/src/libprojectM/KeyHandler.cpp new file mode 100755 index 0000000000..3661f2bad4 --- /dev/null +++ b/src/libprojectM/KeyHandler.cpp @@ -0,0 +1,253 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include + +#include "Common.hpp" +#include "fatal.h" +#include "KeyHandler.hpp" +#include "event.h" +#include "BeatDetect.hpp" +#include "PresetChooser.hpp" +#include "Renderer.hpp" +#include "projectM.hpp" + +#include +#include "TimeKeeper.hpp" + + +class Preset; +interface_t current_interface = DEFAULT_INTERFACE; + +void selectRandom(const bool hardCut); +void selectNext(const bool hardCut); +void selectPrevious(const bool hardCut); + +void refreshConsole() { + + switch (current_interface) { + + case MENU_INTERFACE: + // unimplemented + break; + case SHELL_INTERFACE: + // unimplemented + break; + case EDITOR_INTERFACE: + // unimplemented + break; + case DEFAULT_INTERFACE: + break; + case BROWSER_INTERFACE: + // unimplemented + break; + default: + break; + } + +} + +void projectM::key_handler( projectMEvent event, + projectMKeycode keycode, projectMModifier modifier ) { + + switch( event ) { + + + case PROJECTM_KEYDOWN: + + //default_key_handler(); + switch (current_interface) + { + + case MENU_INTERFACE: +// menu_key_handler(this, event, keycode); + break; + case SHELL_INTERFACE: + //shell_key_handler(); + break; + case EDITOR_INTERFACE: +// editor_key_handler(event,keycode); + break; + case BROWSER_INTERFACE: +// browser_key_handler(event,keycode,modifier); + break; + case DEFAULT_INTERFACE: + default_key_handler(event,keycode); + break; + default: + default_key_handler(event,keycode); + break; + + } + break; + default: + break; + + } +} + +void projectM::default_key_handler( projectMEvent event, projectMKeycode keycode) { + + switch( event ) { + + case PROJECTM_KEYDOWN: + + switch( keycode ) + { + case PROJECTM_K_UP: + beatDetect->beat_sensitivity += 0.25; + if (beatDetect->beat_sensitivity > 5.0) beatDetect->beat_sensitivity = 5.0; + break; + case PROJECTM_K_DOWN: + beatDetect->beat_sensitivity -= 0.25; + if (beatDetect->beat_sensitivity < 0) beatDetect->beat_sensitivity = 0; + break; + case PROJECTM_K_h: + renderer->showhelp = !renderer->showhelp; + renderer->showstats= false; + renderer->showfps=false; + case PROJECTM_K_F1: + renderer->showhelp = !renderer->showhelp; + renderer->showstats=false; + renderer->showfps=false; + break; + case PROJECTM_K_y: + this->setShuffleEnabled(!this->isShuffleEnabled()); + break; + + case PROJECTM_K_F5: + if (!renderer->showhelp) + renderer->showfps = !renderer->showfps; + break; + case PROJECTM_K_F4: + if (!renderer->showhelp) + renderer->showstats = !renderer->showstats; + break; + case PROJECTM_K_F3: { + renderer->showpreset = !renderer->showpreset; + break; + } + case PROJECTM_K_F2: + renderer->showtitle = !renderer->showtitle; + break; +#ifndef MACOS + case PROJECTM_K_F9: +#else + case PROJECTM_K_F8: +#endif + + renderer->studio = !renderer->studio; + break; + + case PROJECTM_K_ESCAPE: { +// exit( 1 ); + break; + } + case PROJECTM_K_f: + + break; + case PROJECTM_K_a: + renderer->correction = !renderer->correction; + break; + case PROJECTM_K_b: + break; + case PROJECTM_K_n: + selectNext(true); + break; + case PROJECTM_K_N: + selectNext(false); + break; + case PROJECTM_K_r: + selectRandom(true); + break; + case PROJECTM_K_R: + selectRandom(false); + break; + case PROJECTM_K_p: + selectPrevious(true); + break; + case PROJECTM_K_P: + selectPrevious(false); + break; + case PROJECTM_K_l: + renderer->noSwitch=!renderer->noSwitch; + break; + case PROJECTM_K_s: + renderer->studio = !renderer->studio; + case PROJECTM_K_i: + break; + case PROJECTM_K_z: + break; + case PROJECTM_K_0: +// nWaveMode=0; + break; + case PROJECTM_K_6: +// nWaveMode=6; + break; + case PROJECTM_K_7: +// nWaveMode=7; + break; + case PROJECTM_K_m: + break; + case PROJECTM_K_t: + break; + case PROJECTM_K_EQUALS: + case PROJECTM_K_PLUS: + + unsigned int index; + + if (selectedPresetIndex(index)) { + + const int oldRating = getPresetRating(index, HARD_CUT_RATING_TYPE); + + if (oldRating >= 6) + break; + + const int rating = oldRating + 1; + + changePresetRating(index, rating, HARD_CUT_RATING_TYPE); + } + + break; + + case PROJECTM_K_MINUS: + if (selectedPresetIndex(index)) { + + const int oldRating = getPresetRating(index, HARD_CUT_RATING_TYPE); + + if (oldRating <= 1) + break; + + const int rating = oldRating - 1; + + changePresetRating(index, rating, HARD_CUT_RATING_TYPE); + } + break; + + default: + break; + } + default: + break; + + } +} + diff --git a/src/libprojectM/KeyHandler.hpp b/src/libprojectM/KeyHandler.hpp new file mode 100755 index 0000000000..b9a756326c --- /dev/null +++ b/src/libprojectM/KeyHandler.hpp @@ -0,0 +1,39 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: console_interface.h,v 1.1.1.1 2005/12/23 18:05:03 psperl Exp $ + * + * $Log$ + */ + +#ifndef _KEY_HANDLER_HPP +#define _KEY_HANDLER_HPP + +#include "event.h" +class projectM; +void default_key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode); +void refreshConsole(); +#if defined(__CPLUSPLUS) && !defined(MACOS) +extern "C" void key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode, projectMModifier modifier ); +#else +extern void key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode, projectMModifier modifier ); +#endif +#endif /** !_KEY_HANDLER_HPP */ diff --git a/src/libprojectM/Makefile.am b/src/libprojectM/Makefile.am new file mode 100644 index 0000000000..a7799c8f0d --- /dev/null +++ b/src/libprojectM/Makefile.am @@ -0,0 +1,53 @@ +EXTRA_DIST= +CLEANFILES= + +SUBDIRS=Renderer NativePresetFactory MilkdropPresetFactory + +AM_CPPFLAGS = \ + ${my_CFLAGS} \ + -include $(top_builddir)/config.h \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -I$(top_srcdir)/src/libprojectM \ + -I$(top_srcdir)/src/libprojectM/Renderer \ + -I$(top_srcdir)/vendor + +lib_LTLIBRARIES = libprojectM.la # public, possibly-shared library + +# link flags +libprojectM_la_LDFLAGS = $(CG_LDFLAGS) -no-undefined -version-info 4:1:1 + +# link libRenderer, MilkdropPresetFactory, NativePresetFactory, and libprojectM sources +libprojectM_la_LIBADD = \ +../libprojectM/MilkdropPresetFactory/libMilkdropPresetFactory.la \ +../libprojectM/NativePresetFactory/libNativePresetFactory.la \ +../libprojectM/Renderer/libRenderer.la +libprojectM_la_SOURCES = ConfigFile.cpp Preset.cpp PresetLoader.cpp timer.cpp \ + KeyHandler.cpp PresetChooser.cpp TimeKeeper.cpp PCM.cpp PresetFactory.cpp \ + fftsg.cpp wipemalloc.cpp PipelineMerger.cpp PresetFactoryManager.cpp projectM.cpp \ + TestRunner.cpp TestRunner.hpp \ + Common.hpp PipelineMerger.hpp PresetLoader.hpp\ + HungarianMethod.hpp Preset.hpp RandomNumberGenerators.hpp\ + IdleTextures.hpp PresetChooser.hpp TimeKeeper.hpp\ + KeyHandler.hpp PresetFactory.hpp projectM.hpp\ + BackgroundWorker.h \ + PCM.hpp PresetFactoryManager.hpp\ + projectM.hpp projectM-opengl.h \ + ConfigFile.h \ + carbontoprojectM.h \ + cocoatoprojectM.h lvtoprojectM.h\ + dlldefs.h resource.h\ + event.h sdltoprojectM.h\ + fatal.h timer.h\ + fftsg.h\ + glError.h wipemalloc.h\ + omptl/omptl_numeric_extentions_ser.h\ + omptl/omptl_algorithm_par.h omptl/omptl_numeric_par.h\ + omptl/omptl_algorithm_ser.h omptl/omptl_numeric_ser.h\ + omptl/omptl_numeric_extentions.h omptl/omptl_tools.h\ + omptl/omptl_numeric_extentions_par.h omptl/omptl omptl/omptl_numeric\ + omptl/omptl_algorithm + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libprojectM.pc +EXTRA_DIST += libprojectM.pc.in +CLEANFILES += libprojectM.pc diff --git a/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp new file mode 100644 index 0000000000..da6a4ffc83 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp @@ -0,0 +1,182 @@ +// +// C++ Implementation: BuiltinFuncs +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2007 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +/* Loads all builtin functions */ + + +/* Loads a builtin function */ +#include "BuiltinFuncs.hpp" +#include +#include +#include "fatal.h" + +std::map BuiltinFuncs::builtin_func_tree; + +int BuiltinFuncs::load_builtin_func(const std::string & name, float (*func_ptr)(float*), int num_args, int id) { + + Func * func; + int retval; + + /* Create new function */ + func = new Func(name, func_ptr, num_args, id); + + if (func == 0) + return PROJECTM_OUTOFMEM_ERROR; + + retval = insert_func( func ); + + return retval; + +} + +Func * BuiltinFuncs::find_func(const std::string & name) { + + std::map::iterator pos = builtin_func_tree.find(name); + + // Case: function not found, return null + if (pos == builtin_func_tree.end()) + return 0; + + // Case: function found, return a pointer to it + return pos->second; + +} + +#if HAVE_LLVM +#include "llvm/IR/Intrinsics.h" +#define INTRINSIC(id) llvm::Intrinsic::id +#else +#define INTRINSIC(id) 0 +#endif + +int BuiltinFuncs::load_all_builtin_func() { + + if (load_builtin_func("int", FuncWrappers::int_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("abs", FuncWrappers::abs_wrapper, 1, INTRINSIC(fabs)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("sin", FuncWrappers::sin_wrapper, 1, INTRINSIC(sin)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("cos", FuncWrappers::cos_wrapper, 1, INTRINSIC(cos)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("tan", FuncWrappers::tan_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("asin", FuncWrappers::asin_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("acos", FuncWrappers::acos_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("atan", FuncWrappers::atan_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("sqr", FuncWrappers::sqr_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("sqrt", FuncWrappers::sqrt_wrapper, 1, INTRINSIC(sqrt)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("pow", FuncWrappers::pow_wrapper, 2, INTRINSIC(pow)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("exp", FuncWrappers::exp_wrapper, 1, INTRINSIC(exp)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("log", FuncWrappers::log_wrapper, 1, INTRINSIC(log)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("log10", FuncWrappers::log10_wrapper, 1, INTRINSIC(log10)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("sign", FuncWrappers::sign_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("min", FuncWrappers::min_wrapper, 2, INTRINSIC(minnum)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("max", FuncWrappers::max_wrapper, 2, INTRINSIC(maxnum)) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("sigmoid", FuncWrappers::sigmoid_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("atan2", FuncWrappers::atan2_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("rand", FuncWrappers::rand_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("band", FuncWrappers::band_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("bor", FuncWrappers::bor_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("bnot", FuncWrappers::bnot_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("if", FuncWrappers::if_wrapper, 3) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("equal", FuncWrappers::equal_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("above", FuncWrappers::above_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("below", FuncWrappers::below_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("nchoosek", FuncWrappers::nchoosek_wrapper, 2) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("fact", FuncWrappers::fact_wrapper, 1) < 0) + return PROJECTM_ERROR; + if (load_builtin_func("print", FuncWrappers::print_wrapper, 1) < 0) + return PROJECTM_ERROR; + return PROJECTM_SUCCESS; +} + +volatile bool BuiltinFuncs::initialized = false; + +/* Initialize the builtin function database. + Should only be necessary once */ +int BuiltinFuncs::init_builtin_func_db() { + int retval; + + if (initialized) { + return 0; + } else + initialized = true; + + retval = load_all_builtin_func(); + return retval; +} + + + +/* Destroy the builtin function database. + Generally, do this on projectm exit */ +int BuiltinFuncs::destroy_builtin_func_db() { + +traverse >(builtin_func_tree); + +builtin_func_tree.clear(); +initialized = false; +return PROJECTM_SUCCESS; +} + +/* Insert a function into the database */ +int BuiltinFuncs::insert_func( Func *func ) { + + assert(func); + + if (func == 0) { + std::cerr << "Received a null function object, ignoring...." << std::endl; + return PROJECTM_ERROR; + } + +// //std::cout << "inserting function " << func->getName() << std::endl; + + const std::pair pair = std::make_pair(std::string(func->getName()), func); + + assert(pair.second); + + const std::pair::iterator, bool> inserteePair = + builtin_func_tree.insert(pair); + + if (!inserteePair.second) { + std::cerr << "Failed to insert builtin function \"" << func->getName() << "\" into collection! Bailing..." << std::endl; + abort(); + } + + return PROJECTM_SUCCESS; +} + + diff --git a/src/projectM-engine/BuiltinFuncs.hpp b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp similarity index 82% rename from src/projectM-engine/BuiltinFuncs.hpp rename to src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp index ca3266feb1..a33b33dc45 100644 --- a/src/projectM-engine/BuiltinFuncs.hpp +++ b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp @@ -18,7 +18,9 @@ #include #include #include -#include "projectM.hpp" + +#include "RandomNumberGenerators.hpp" + /* Wrappers for all the builtin functions The arg_list pointer is a list of floats. Its size is equal to the number of arguments the parameter @@ -39,11 +41,16 @@ return floor(arg_list[0]); static inline float sqr_wrapper(float * arg_list) { - -return pow(2, arg_list[0]); + return pow(arg_list[0], 2); } +static inline float sigmoid_wrapper(float * arg_list) +{ + const double t = (1+exp(-arg_list[0]*arg_list[1])); + return (fabs(t) > 0.00001) ? 1.0/t : 0; +} + static inline float sign_wrapper(float * arg_list) { return -arg_list[0]; @@ -65,11 +72,6 @@ return arg_list[0]; return arg_list[1]; } -/* consult your AI book */ -static inline float sigmoid_wrapper(float * arg_list) { -return (RR / (1 + exp( -(((float)(arg_list[0])) * arg_list[1]) / R) - R)); -} - static inline float bor_wrapper(float * arg_list) { @@ -86,9 +88,10 @@ return (float)(!(int)arg_list[0]); static inline float if_wrapper(float * arg_list) { -if ((int)arg_list[0] == 0) -return arg_list[2]; -return arg_list[1]; + if ((int)arg_list[0] == 0) + return arg_list[2]; + //std::cout <<"NOT ZERO: " << arg_list[0] << std::endl; + return arg_list[1]; } @@ -97,8 +100,8 @@ float l=1; // printf("RAND ARG:(%d)\n", (int)arg_list[0]); if ((int)arg_list[0] > 0) -l = (float)((rand()) % ((int)arg_list[0])); -//printf("VAL: %f\n", l); + l = (float) RandomNumberGenerators::uniformInteger((int)arg_list[0]); + return l; } @@ -119,12 +122,8 @@ return (arg_list[0] < arg_list[1]); } static float sin_wrapper(float * arg_list) { - - assert(arg_list); -//return .5; -float d = sinf(*arg_list); -return d; -//return (sin (arg_list[0])); + const float d = sinf(*arg_list); + return d; } @@ -177,6 +176,25 @@ return (sqrt (arg_list[0])); } +static inline float print_wrapper(float * arg_list) { + + int len = 1; + for (int i = 0; i < len; i++) + { + std::cout << arg_list[i]; + if (i != (len-1)) + std::cout << " "; + } + + if (len > 0) + std::cout << std::endl; + + if (len > 0) + return arg_list[0]; + else + return 0; +} + static inline float nchoosek_wrapper(float * arg_list) { unsigned long cnm = 1UL; int i, f; @@ -220,13 +238,14 @@ class BuiltinFuncs { static int init_builtin_func_db(); static int destroy_builtin_func_db(); static int load_all_builtin_func(); - static int load_builtin_func( const std::string & name, float (*func_ptr)(float*), int num_args ); + static int load_builtin_func( const std::string & name, float (*func_ptr)(float*), int num_args, int id=0 ); static int insert_func( Func *func ); static int remove_func( Func *func ); static Func *find_func( const std::string & name ); private: static std::map builtin_func_tree; + static volatile bool initialized; }; #endif diff --git a/src/libprojectM/MilkdropPresetFactory/BuiltinParams.cpp b/src/libprojectM/MilkdropPresetFactory/BuiltinParams.cpp new file mode 100644 index 0000000000..8d3573f921 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/BuiltinParams.cpp @@ -0,0 +1,411 @@ + +#include "fatal.h" +#include "BuiltinParams.hpp" +#include +#include +#include +#include "InitCondUtils.hpp" +#include +#include +#include "Common.hpp" + +BuiltinParams::BuiltinParams() {} + +BuiltinParams::BuiltinParams(PresetInputs & presetInputs, PresetOutputs & presetOutputs) +{ + + presetInputs.Initialize(presetOutputs.gx, presetOutputs.gy); + + int ret; + if ((ret = init_builtin_param_db(presetInputs, presetOutputs)) != PROJECTM_SUCCESS) + { + std::cout << "failed to allocate builtin parameter database with error " << ret << std::endl;; + throw ret; + } + +} + +BuiltinParams::~BuiltinParams() +{ + destroy_builtin_param_db(); +} + +/* Loads a float parameter into the builtin database */ +int BuiltinParams::load_builtin_param_float(const std::string & name, void * engine_val, void * matrix, short int flags, + float init_val, float upper_bound, float lower_bound, const std::string & alt_name) +{ + + Param * param = NULL; + CValue iv, ub, lb; + + iv.float_val = init_val; + ub.float_val = upper_bound; + lb.float_val = lower_bound; + + /* Create new parameter of type float */ + if (BUILTIN_PARAMS_DEBUG == 2) + { + printf("load_builtin_param_float: (name \"%s\") (alt_name = \"%s\") ", name.c_str(), alt_name.c_str()); + fflush(stdout); + } + +std::string lowerName(name); +std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + + if ((param = Param::create(lowerName, P_TYPE_DOUBLE, flags, engine_val, matrix, iv, ub, lb)) == NULL) + { + return PROJECTM_OUTOFMEM_ERROR; + } + + if (BUILTIN_PARAMS_DEBUG == 2) + { + printf("created..."); + fflush(stdout); + } + + /* Insert the paremeter into the database */ + + if (insert_builtin_param( param ) < 0) + { + delete param; + return PROJECTM_ERROR; + } + + if (BUILTIN_PARAMS_DEBUG == 2) + { + printf("inserted..."); + fflush(stdout); + } + + /* If this parameter has an alternate name, insert it into the database as link */ + + if (alt_name != "") + { + std::string alt_lower_name(alt_name); + std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); + insert_param_alt_name(param,alt_lower_name); + + if (BUILTIN_PARAMS_DEBUG == 2) + { + printf("alt_name inserted..."); + fflush(stdout); + } + + + } + + if (BUILTIN_PARAMS_DEBUG == 2) printf("finished\n"); + + /* Finished, return success */ + return PROJECTM_SUCCESS; +} + + + +/* Destroy the builtin parameter database. + Generally, do this on projectm exit */ +int BuiltinParams::destroy_builtin_param_db() +{ + + traverse >(builtin_param_tree); + return PROJECTM_SUCCESS; +} + + +/* Insert a parameter into the database with an alternate name */ +int BuiltinParams::insert_param_alt_name(Param * param, const std::string & alt_name) +{ + + assert(param); + + aliasMap.insert(std::make_pair(alt_name, param->name)); + + return PROJECTM_SUCCESS; +} + +Param * BuiltinParams::find_builtin_param(const std::string & name) +{ + + + + AliasMap::iterator pos = aliasMap.find(name); + Param * param = 0; + //std::cerr << "[BuiltinParams] find_builtin_param: name is " << name << std::endl; + if (pos == aliasMap.end()) + { + std::map::iterator builtinPos = builtin_param_tree.find(name); + + if (builtinPos != builtin_param_tree.end()) { + // std::cerr << "[BuiltinParams] find_builtin_param: found it directly." << std::endl; + param = builtinPos->second; + } + } + else + { + + std::map::iterator builtinPos = builtin_param_tree.find(pos->second); + + if (builtinPos != builtin_param_tree.end()) { + //std::cerr << "[BuiltinParams] find_builtin_param: found it indirectly." << std::endl; + param = builtinPos->second; + +} + } + return param; +} + + +/* Loads a integer parameter into the builtin database */ +int BuiltinParams::load_builtin_param_int(const std::string & name, void * engine_val, short int flags, + int init_val, int upper_bound, int lower_bound, const std::string &alt_name) +{ + + Param * param; + CValue iv, ub, lb; + + iv.int_val = init_val; + ub.int_val = upper_bound; + lb.int_val = lower_bound; + + // normalize to lower case as milkdrop scripts depend on this + std::string lowerName(name); + std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + + param = Param::create(lowerName, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb); + + if (param == NULL) + { + return PROJECTM_OUTOFMEM_ERROR; + } + + if (insert_builtin_param( param ) < 0) + { + delete param; + return PROJECTM_ERROR; + } + + if (alt_name != "") + { + std::string alt_lower_name(alt_name); + std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); + insert_param_alt_name(param,alt_lower_name); + + } + + return PROJECTM_SUCCESS; + +} + +int BuiltinParams::load_builtin_param_string( const std::string & name, std::string * engine_val, short int flags) { + + /* Creates a new parameter of type string */ + Param * param = Param::new_param_string(name.c_str(), flags, engine_val); + + if (insert_builtin_param( param ) < 0) + { + delete param; + return PROJECTM_ERROR; + } + return PROJECTM_SUCCESS; +} + +/* Loads a boolean parameter */ +int BuiltinParams::load_builtin_param_bool(const std:: string & name, void * engine_val, short int flags, + int init_val, const std::string &alt_name) +{ + + Param * param; + CValue iv, ub, lb; + + iv.int_val = init_val; + ub.int_val = TRUE; + lb.int_val = false; + +std::string lowerName(name); +std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); + + param = Param::create(lowerName, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb); + + if (param == NULL) + { + return PROJECTM_OUTOFMEM_ERROR; + } + + if (insert_builtin_param(param) < 0) + { + delete param; + return PROJECTM_ERROR; + } + + if (alt_name != "") + { + std::string alt_lower_name(alt_name); + std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); + insert_param_alt_name(param,alt_lower_name); + } + + return PROJECTM_SUCCESS; + +} + +/* Inserts a parameter into the builtin database */ +int BuiltinParams::insert_builtin_param( Param *param ) +{ + std::pair::iterator, bool> inserteePos = builtin_param_tree.insert(std::make_pair(param->name, param)); + + return inserteePos.second; +} + + + +/* Initialize the builtin parameter database. + Should only be necessary once */ +int BuiltinParams::init_builtin_param_db(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) +{ + + if (BUILTIN_PARAMS_DEBUG) + { + printf("init_builtin_param: loading database..."); + fflush(stdout); + } + + /* Loads all builtin parameters into the database */ + if (load_all_builtin_param(presetInputs, presetOutputs) < 0) + { + if (BUILTIN_PARAMS_DEBUG) printf("failed loading builtin parameters (FATAL)\n"); + return PROJECTM_ERROR; + } + + if (BUILTIN_PARAMS_DEBUG) printf("success!\n"); + + /* Finished, no errors */ + return PROJECTM_SUCCESS; +} + + + +/* Loads all builtin parameters, limits are also defined here */ +int BuiltinParams::load_all_builtin_param(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) +{ + + load_builtin_param_float("frating", (void*)&presetOutputs.fRating, NULL, P_FLAG_NONE, 0.0 , 5.0, 0.0, ""); + load_builtin_param_float("fwavescale", (void*)&presetOutputs.wave.scale, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("gamma", (void*)&presetOutputs.fGammaAdj, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fGammaAdj"); + load_builtin_param_float("echo_zoom", (void*)&presetOutputs.videoEcho.zoom, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fVideoEchoZoom"); + load_builtin_param_float("echo_alpha", (void*)&presetOutputs.videoEcho.a, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fvideoechoalpha"); + load_builtin_param_float("wave_a", (void*)&presetOutputs.wave.a, NULL, P_FLAG_NONE, 0.2, 1.0, 0, "fwavealpha"); // TEMP FIX: min = 0.2 because some presets have fWaveAlpha=0.0 which is invisible + load_builtin_param_float("fwavesmoothing", (void*)&presetOutputs.wave.smoothing, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fmodwavealphastart", (void*)&presetOutputs.wave.modOpacityStart, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fmodwavealphaend", (void*)&presetOutputs.wave.modOpacityEnd, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fWarpAnimSpeed", (void*)&presetOutputs.fWarpAnimSpeed, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fWarpScale", (void*)&presetOutputs.fWarpScale, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + // load_builtin_param_float("warp", (void*)&presetOutputs.warp, warp_mesh, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, ""); + + load_builtin_param_float("fshader", (void*)&presetOutputs.fShader, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("decay", (void*)&presetOutputs.screenDecay, NULL, P_FLAG_NONE, 0.0, 1.0, 0, "fdecay"); + + load_builtin_param_int("echo_orient", (void*)&presetOutputs.videoEcho.orientation, P_FLAG_NONE, 0, 3, 0, "nVideoEchoOrientation"); + load_builtin_param_int("wave_mode", (void*)&presetOutputs.wave.mode, P_FLAG_NONE, 0, 7, 0, "nwavemode"); + + load_builtin_param_bool("wave_additive", (void*)&presetOutputs.wave.additive, P_FLAG_NONE, false, "bAdditiveWaves"); + load_builtin_param_bool("bmodwavealphabyvolume", (void*)&presetOutputs.wave.modulateAlphaByVolume, P_FLAG_NONE, false, ""); + load_builtin_param_bool("wave_brighten", (void*)&presetOutputs.wave.maximizeColors, P_FLAG_NONE, false, "bMaximizeWaveColor"); + load_builtin_param_bool("wrap", (void*)&presetOutputs.textureWrap, P_FLAG_NONE, false, "btexwrap"); + load_builtin_param_bool("darken_center", (void*)&presetOutputs.bDarkenCenter, P_FLAG_NONE, false, "bdarkencenter"); + load_builtin_param_bool("bredbluestereo", (void*)&presetOutputs.bRedBlueStereo, P_FLAG_NONE, false, ""); + load_builtin_param_bool("brighten", (void*)&presetOutputs.bBrighten, P_FLAG_NONE, false, "bbrighten"); + load_builtin_param_bool("darken", (void*)&presetOutputs.bDarken, P_FLAG_NONE, false, "bdarken"); + load_builtin_param_bool("solarize", (void*)&presetOutputs.bSolarize, P_FLAG_NONE, false, "bsolarize"); + load_builtin_param_bool("invert", (void*)&presetOutputs.bInvert, P_FLAG_NONE, false, "binvert"); + load_builtin_param_bool("bmotionvectorson", (void*)&presetOutputs.bMotionVectorsOn, P_FLAG_NONE, false, ""); + load_builtin_param_bool("wave_dots", (void*)&presetOutputs.wave.dots, P_FLAG_NONE, false, "bwavedots"); + load_builtin_param_bool("wave_thick", (void*)&presetOutputs.wave.thick, P_FLAG_NONE, false, "bwavethick"); + load_builtin_param_float("warp", (void*)&presetOutputs.warp, presetOutputs.warp_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("zoom", (void*)&presetOutputs.zoom, presetOutputs.zoom_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("rot", (void*)&presetOutputs.rot, presetOutputs.rot_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + /// @note added huge bug fix here potentially by prevening zoomexp_mesh from being freed when presets dealloc + load_builtin_param_float("zoomexp", (void*)&presetOutputs.zoomexp, presetOutputs.zoomexp_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE , 0.0, MAX_DOUBLE_SIZE, 0, "fzoomexponent"); + + load_builtin_param_float("cx", (void*)&presetOutputs.cx, presetOutputs.cx_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("cy", (void*)&presetOutputs.cy, presetOutputs.cy_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("dx", (void*)&presetOutputs.dx, presetOutputs.dx_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("dy", (void*)&presetOutputs.dy, presetOutputs.dy_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("sx", (void*)&presetOutputs.sx, presetOutputs.sx_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("sy", (void*)&presetOutputs.sy, presetOutputs.sy_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + + + load_builtin_param_float("b1n", (void*)&presetOutputs.blur1n, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b2n", (void*)&presetOutputs.blur2n, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b3n", (void*)&presetOutputs.blur3n, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b1x", (void*)&presetOutputs.blur1x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b2x", (void*)&presetOutputs.blur2x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b3x", (void*)&presetOutputs.blur3x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("b1ed", (void*)&presetOutputs.blur1ed, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + + load_builtin_param_float("wave_r", (void*)&presetOutputs.wave.r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_g", (void*)&presetOutputs.wave.g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_b", (void*)&presetOutputs.wave.b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_x", (void*)&presetOutputs.wave.x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_y", (void*)&presetOutputs.wave.y, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_mystery", (void*)&presetOutputs.wave.mystery, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, "fWaveParam"); + + load_builtin_param_float("ob_size", (void*)&presetOutputs.border.outer_size, NULL, P_FLAG_NONE, 0.0, 0.5, 0, ""); + load_builtin_param_float("ob_r", (void*)&presetOutputs.border.outer_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_g", (void*)&presetOutputs.border.outer_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_b", (void*)&presetOutputs.border.outer_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_a", (void*)&presetOutputs.border.outer_a, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + + load_builtin_param_float("ib_size", (void*)&presetOutputs.border.inner_size, NULL,P_FLAG_NONE, 0.0, .5, 0.0, ""); + load_builtin_param_float("ib_r", (void*)&presetOutputs.border.inner_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_g", (void*)&presetOutputs.border.inner_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_b", (void*)&presetOutputs.border.inner_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_a", (void*)&presetOutputs.border.inner_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + + load_builtin_param_float("mv_r", (void*)&presetOutputs.mv.r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("mv_g", (void*)&presetOutputs.mv.g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("mv_b", (void*)&presetOutputs.mv.b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("mv_x", (void*)&presetOutputs.mv.x_num, NULL,P_FLAG_NONE, 0.0, 64.0, 0.0, "nmotionvectorsx"); + load_builtin_param_float("mv_y", (void*)&presetOutputs.mv.y_num, NULL,P_FLAG_NONE, 0.0, 48.0, 0.0, "nmotionvectorsy"); + load_builtin_param_float("mv_l", (void*)&presetOutputs.mv.length, NULL,P_FLAG_NONE, 0.0, 5.0, 0.0, ""); + load_builtin_param_float("mv_dx", (void*)&presetOutputs.mv.x_offset, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("mv_dy", (void*)&presetOutputs.mv.y_offset, NULL,P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("mv_a", (void*)&presetOutputs.mv.a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + + load_builtin_param_float("time", (void*)&presetInputs.time, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); + load_builtin_param_float("bass", (void*)&presetInputs.bass, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); + load_builtin_param_float("mid", (void*)&presetInputs.mid, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + + load_builtin_param_float("treb", (void*)&presetInputs.treb, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + + + load_builtin_param_float("bass_att", (void*)&presetInputs.bass_att, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("mid_att", (void*)&presetInputs.mid_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("treb_att", (void*)&presetInputs.treb_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_int("frame", (void*)&presetInputs.frame, P_FLAG_READONLY, 0, MAX_INT_SIZE, 0, ""); + load_builtin_param_float("progress", (void*)&presetInputs.progress, NULL,P_FLAG_READONLY, 0.0, 1, 0, ""); + load_builtin_param_int("fps", (void*)&presetInputs.fps, P_FLAG_READONLY, 15, MAX_INT_SIZE, 0, ""); + + load_builtin_param_float("x", (void*)&presetInputs.x_per_pixel, presetInputs.origx, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("y", (void*)&presetInputs.y_per_pixel, presetInputs.origy, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX |P_FLAG_READONLY | P_FLAG_NONE, + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("ang", (void*)&presetInputs.ang_per_pixel, presetInputs.origtheta, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("rad", (void*)&presetInputs.rad_per_pixel, presetInputs.origrad, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + + for (unsigned int i = 0; i < NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + load_builtin_param_float(os.str().c_str(), (void*)&presetOutputs.q[i], NULL, P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + + } + + /* variables added in 1.04 */ + load_builtin_param_int("meshx", (void*)&presetInputs.gx, P_FLAG_READONLY, 32, 96, 8, ""); + load_builtin_param_int("meshy", (void*)&presetInputs.gy, P_FLAG_READONLY, 24, 72, 6, ""); + + return PROJECTM_SUCCESS; + +} + diff --git a/src/projectM-engine/BuiltinParams.hpp b/src/libprojectM/MilkdropPresetFactory/BuiltinParams.hpp similarity index 91% rename from src/projectM-engine/BuiltinParams.hpp rename to src/libprojectM/MilkdropPresetFactory/BuiltinParams.hpp index b0c943e56a..dbe60f10e2 100644 --- a/src/projectM-engine/BuiltinParams.hpp +++ b/src/libprojectM/MilkdropPresetFactory/BuiltinParams.hpp @@ -31,7 +31,7 @@ #include "PresetFrameIO.hpp" #include "Param.hpp" #include -#include "Algorithms.hpp" +#include class BuiltinParams { @@ -43,7 +43,7 @@ class BuiltinParams { /** Construct a new builtin parameter database with variables references given by * the preset input and output structures */ - BuiltinParams(const PresetInputs & presetInputs, PresetOutputs & presetOutputs); + BuiltinParams(PresetInputs & presetInputs, PresetOutputs & presetOutputs); ~BuiltinParams(); @@ -63,11 +63,14 @@ class BuiltinParams { int lower_bound, const std::string & alt_name ); int load_builtin_param_bool( const std::string & name, void *engine_val, short int flags, int init_val, const std::string & alt_name ); + + int load_builtin_param_string( const std::string & name, std::string * engine_val, short int flags); + int insert_builtin_param( Param *param ); template - void traverse(Fun & fun) { - Algorithms::traverse(builtin_param_tree, fun); + void apply(Fun & fun) { + traverse(builtin_param_tree, fun); } diff --git a/src/projectM-engine/CValue.hpp b/src/libprojectM/MilkdropPresetFactory/CValue.hpp similarity index 100% rename from src/projectM-engine/CValue.hpp rename to src/libprojectM/MilkdropPresetFactory/CValue.hpp diff --git a/src/libprojectM/MilkdropPresetFactory/CustomShape.cpp b/src/libprojectM/MilkdropPresetFactory/CustomShape.cpp new file mode 100755 index 0000000000..2f1b423e35 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/CustomShape.cpp @@ -0,0 +1,255 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed i the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include "Common.hpp" +#include "fatal.h" + +#include "CustomShape.hpp" +#include "Eval.hpp" +#include "Expr.hpp" +#include "InitCond.hpp" +#include "Param.hpp" +#include "PerFrameEqn.hpp" +#include "Preset.hpp" +#include +#include "ParamUtils.hpp" +#include "InitCondUtils.hpp" +#include "wipemalloc.h" + + + +CustomShape::CustomShape() : Shape() +{ + CustomShape(0); +} + +CustomShape::CustomShape ( int _id ) : Shape() +{ + + Param * param; + + this->id = _id; + this->per_frame_count = 0; + + /* Start: Load custom shape parameters */ + param = Param::new_param_float ( "r", P_FLAG_NONE, &this->r, NULL, 1.0, 0.0, 0.5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "g", P_FLAG_NONE, &this->g, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "b", P_FLAG_NONE, &this->b, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "a", P_FLAG_NONE, &this->a, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "border_r", P_FLAG_NONE, &this->border_r, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "border_g", P_FLAG_NONE, &this->border_g, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "border_b", P_FLAG_NONE, &this->border_b, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "border_a", P_FLAG_NONE, &this->border_a, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "r2", P_FLAG_NONE, &this->r2, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "g2", P_FLAG_NONE, &this->g2, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "b2", P_FLAG_NONE, &this->b2, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "a2", P_FLAG_NONE, &this->a2, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "x", P_FLAG_NONE, &this->x, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "y", P_FLAG_NONE, &this->y, NULL, 1.0, 0.0, .5 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_bool ( "thickoutline", P_FLAG_NONE, &this->thickOutline, 1, 0, 0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_bool ( "enabled", P_FLAG_NONE, &this->enabled, 1, 0, 0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_int ( "sides", P_FLAG_NONE, &this->sides, 100, 3, 3 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_bool ( "additive", P_FLAG_NONE, &this->additive, 1, 0, 0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_bool ( "textured", P_FLAG_NONE, &this->textured, 1, 0, 0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "rad", P_FLAG_NONE, &this->radius, NULL, MAX_DOUBLE_SIZE, 0, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "ang", P_FLAG_NONE, &this->ang, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "tex_zoom", P_FLAG_NONE, &this->tex_zoom, NULL, MAX_DOUBLE_SIZE, .00000000001, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "tex_ang", P_FLAG_NONE, &this->tex_ang, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + + param = Param::new_param_float ( "t1", P_FLAG_TVAR, &this->t1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t2", P_FLAG_TVAR, &this->t2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t3", P_FLAG_TVAR, &this->t3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t4", P_FLAG_TVAR, &this->t4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t5", P_FLAG_TVAR, &this->t5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t6", P_FLAG_TVAR, &this->t6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t7", P_FLAG_TVAR, &this->t7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + param = Param::new_param_float ( "t8", P_FLAG_TVAR, &this->t8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert( param, &this->param_tree ) ) + { + abort(); + } + + for (unsigned int i = 1; i <= NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + param = Param::new_param_float ( os.str().c_str(), P_FLAG_QVAR, &this->q[i], NULL, MAX_DOUBLE_SIZE, + -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert ( param, &this->param_tree ) ) + { + abort(); + } + } + + param = Param::new_param_string ( "imageurl", P_FLAG_NONE, &this->imageUrl); + if ( !ParamUtils::insert( param, &this->text_properties_tree ) ) + { + abort(); + } + +} + +/* Frees a custom shape form object */ +CustomShape::~CustomShape() +{ + + traverseVector > ( per_frame_eqn_tree ); + traverse > ( init_cond_tree ); + traverse > ( param_tree ); + traverse > ( per_frame_init_eqn_tree ); + traverse > ( text_properties_tree ); + +} + +void CustomShape::loadUnspecInitConds() +{ + + InitCondUtils::LoadUnspecInitCond fun ( this->init_cond_tree, this->per_frame_init_eqn_tree ); + traverse ( param_tree, fun ); +} + +void CustomShape::evalInitConds() +{ + // NOTE: This is verified to be same behavior as trunk + for ( std::map::iterator pos = per_frame_init_eqn_tree.begin(); + pos != per_frame_init_eqn_tree.end();++pos ) + pos->second->evaluate(); +} diff --git a/src/libprojectM/MilkdropPresetFactory/CustomShape.hpp b/src/libprojectM/MilkdropPresetFactory/CustomShape.hpp new file mode 100755 index 0000000000..d4ea2e01b4 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/CustomShape.hpp @@ -0,0 +1,90 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Encapsulation of a custom shape + * + * $Log$ + */ + +#ifndef _CUSTOM_SHAPE_H +#define _CUSTOM_SHAPE_H + +#define CUSTOM_SHAPE_DEBUG 0 +#include +#include "Param.hpp" +#include "PerFrameEqn.hpp" +#include "InitCond.hpp" +#include "Renderer/Renderable.hpp" +#include + +class Preset; + + +class CustomShape : public Shape { +public: + /* Numerical id */ + int id; + int per_frame_count; + + /* Parameter tree associated with this custom shape */ + std::map param_tree; + + /* Engine variables */ + + bool enabled; + + /* stupid t variables */ + float t1; + float t2; + float t3; + float t4; + float t5; + float t6; + float t7; + float t8; + + /* stupider q variables */ + float q[NUM_Q_VARIABLES]; + + // Data structure to hold per frame / per frame init equations + std::map init_cond_tree; + std::vector per_frame_eqn_tree; + std::map per_frame_init_eqn_tree; + + std::map text_properties_tree; + + + /// Allocate a new custom shape, including param associations, per point equations, and initial values. + /// \param id an integer id to associate with this custom wave. Future line parsing uses this as a reference key. + CustomShape(int _id ); + CustomShape(); + virtual ~CustomShape(); + + void loadUnspecInitConds(); + void evalInitConds(); + + }; + + +#endif /** !_CUSTOM_SHAPE_H */ + diff --git a/src/libprojectM/MilkdropPresetFactory/CustomWave.cpp b/src/libprojectM/MilkdropPresetFactory/CustomWave.cpp new file mode 100755 index 0000000000..89df661ba9 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/CustomWave.cpp @@ -0,0 +1,549 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include + +#include + +#include "Common.hpp" +#include "fatal.h" + +#include "CustomWave.hpp" +#include "Eval.hpp" +#include "Expr.hpp" +#include "InitCond.hpp" +#include "Param.hpp" +#include "PerFrameEqn.hpp" +#include "PerPointEqn.hpp" +#include "Preset.hpp" +#include +#include "ParamUtils.hpp" +#include "InitCondUtils.hpp" +#include "wipemalloc.h" +#define MAX_SAMPLE_SIZE 4096 + + +CustomWave::CustomWave(int _id) : Waveform(512), + id(_id), + per_frame_count(0), + r(0), + g(0), + b(0), + a(0), + per_point_program(nullptr) +{ + + Param * param; + + /// @bug deprecate the use of wipemalloc + this->r_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + this->g_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + this->b_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + this->a_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + this->x_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + this->y_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); + + /* Start: Load custom wave parameters */ + + if ((param = Param::new_param_float("r", P_FLAG_NONE | P_FLAG_PER_POINT, &this->r, this->r_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, ¶m_tree)) + { + /// @bug make exception + abort(); + } + + if ((param = Param::new_param_float("g", P_FLAG_NONE | P_FLAG_PER_POINT, &this->g, this->g_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, ¶m_tree)) + { + ; + /// @bug make exception + abort(); + } + + if ((param = Param::new_param_float("b", P_FLAG_NONE | P_FLAG_PER_POINT, &this->b, this->b_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + /// @bug make exception + abort(); + } + + if ((param = Param::new_param_float("a", P_FLAG_NONE | P_FLAG_PER_POINT, &this->a, this->a_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + /// @bug make exception + abort(); + } + + if ((param = Param::new_param_float("x", P_FLAG_NONE | P_FLAG_PER_POINT, &this->x, this->x_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + /// @bug make exception + abort(); + } + + if ((param = Param::new_param_float("y", P_FLAG_NONE | P_FLAG_PER_POINT, &this->y, this->y_mesh, 1.0, 0.0, .5)) == NULL) + { + ; + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + + /// @bug make exception + abort(); + + } + + if ((param = Param::new_param_bool("enabled", P_FLAG_NONE, &this->enabled, 1, 0, 0)) == NULL) + { + ; + /// @bug make exception + abort(); + + + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + + /// @bug make exception + abort(); + + } + + if ((param = Param::new_param_int("sep", P_FLAG_NONE, &this->sep, 100, -100, 0)) == NULL) + { + ; + /// @bug make exception + abort(); + + + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + /// @bug make exception + abort(); + + + } + + if ((param = Param::new_param_bool("bspectrum", P_FLAG_NONE, &this->spectrum, 1, 0, 0)) == NULL) + { + /// @bug make exception + abort(); + + + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + /// @bug make exception + abort(); + + } + + if ((param = Param::new_param_bool("bdrawthick", P_FLAG_NONE, &this->thick, 1, 0, 0)) == NULL) + { + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + /// @bug make exception + abort(); + + } + + if ((param = Param::new_param_bool("busedots", P_FLAG_NONE, &this->dots, 1, 0, 0)) == NULL) + { + + /// @bug make exception + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_bool("badditive", P_FLAG_NONE, &this->additive, 1, 0, 0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_int("samples", P_FLAG_NONE, &this->samples, 2048, 1, 512)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("sample", P_FLAG_READONLY | P_FLAG_NONE, + &this->sample, NULL, 1.0, 0.0, 0.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + abort(); + } + + if ((param = Param::new_param_float("value1", P_FLAG_READONLY | P_FLAG_NONE, &this->v1, NULL, 1.0, -1.0, 0.0)) == NULL) + { + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + abort(); + } + + if ((param = Param::new_param_float("value2", P_FLAG_READONLY | P_FLAG_NONE, &this->v2, NULL, 1.0, -1.0, 0.0)) == NULL) + { + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("smoothing", P_FLAG_NONE, &this->smoothing, NULL, 1.0, 0.0, 0.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("scaling", P_FLAG_NONE, &this->scaling, NULL, MAX_DOUBLE_SIZE, 0.0, 1.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("t1", P_FLAG_TVAR, &this->t1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("t2", P_FLAG_TVAR, &this->t2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + abort(); + } + + if ((param = Param::new_param_float("t3", P_FLAG_TVAR, &this->t3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + + abort(); + } + if ((param = Param::new_param_float("t4", P_FLAG_TVAR, &this->t4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + abort(); + } + if ((param = Param::new_param_float("t5", P_FLAG_TVAR, &this->t5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + abort(); + } + + if ((param = Param::new_param_float("t6", P_FLAG_TVAR, &this->t6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + + abort(); + } + if ((param = Param::new_param_float("t7", P_FLAG_TVAR, &this->t7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + if ((param = Param::new_param_float("t8", P_FLAG_TVAR, &this->t8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) + { + ; + abort(); + } + + if (!ParamUtils::insert(param, &this->param_tree)) + { + ; + abort(); + } + + for (unsigned int i = 1; i <= NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + param = Param::new_param_float ( os.str().c_str(), P_FLAG_QVAR, &this->q[i], NULL, MAX_DOUBLE_SIZE, + -MAX_DOUBLE_SIZE, 0.0 ); + if ( !ParamUtils::insert ( param, &this->param_tree ) ) + { + abort(); + } + } + + /* End of parameter loading. Note that the read only parameters associated + with custom waves (ie, sample) are variables stored in PresetFrameIO.hpp, + and not specific to the custom wave datastructure. */ + +} + +CustomWave::~CustomWave() +{ + + + for (std::vector::iterator pos = per_point_eqn_tree.begin(); pos != per_point_eqn_tree.end(); ++pos) + delete(*pos); + + for (std::vector::iterator pos = per_frame_eqn_tree.begin(); pos != per_frame_eqn_tree.end(); ++pos) + delete(*pos); + + for (std::map::iterator pos = init_cond_tree.begin(); pos != init_cond_tree.end(); ++pos) + delete(pos->second); + + for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) + delete(pos->second); + + for (std::map::iterator pos = param_tree.begin(); pos != param_tree.end(); ++pos) + delete(pos->second); + + free(r_mesh); + free(g_mesh); + free(b_mesh); + free(a_mesh); + free(x_mesh); + free(y_mesh); +} + + + + +// Comments: index is not passed, so we assume monotonic increment by 1 is ok here +int CustomWave::add_per_point_eqn(char * name, Expr * gen_expr) +{ + + PerPointEqn * per_point_eqn; + int index; + Param * param = NULL; + + /* Argument checks */ + if (gen_expr == NULL) + return PROJECTM_FAILURE; + if (name == NULL) + return PROJECTM_FAILURE; + + if (CUSTOM_WAVE_DEBUG) printf("add_per_point_eqn: per pixel equation (name = \"%s\")\n", name); + + /* Search for the parameter so we know what matrix the per pixel equation is referencing */ + + if ((param = ParamUtils::find(name,¶m_tree)) == NULL) + { + if (CUSTOM_WAVE_DEBUG) printf("add_per_point_eqn: failed to allocate a new parameter!\n"); + return PROJECTM_FAILURE; + + } + + /* Get largest index in the tree */ + index = per_point_eqn_tree.size(); + + /* Create the per point equation given the index, parameter, and general expression */ + if ((per_point_eqn = new PerPointEqn(index, param, gen_expr)) == NULL) + return PROJECTM_FAILURE; + if (CUSTOM_WAVE_DEBUG) + printf("add_per_point_eqn: created new equation (index = %d) (name = \"%s\")\n", per_point_eqn->index, param->name.c_str()); + + /* Insert the per pixel equation into the preset per pixel database */ + + per_point_eqn_tree.push_back(per_point_eqn); + + /* Done */ + return PROJECTM_SUCCESS; +} + + +void CustomWave::evalInitConds() +{ + + for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) + { + assert(pos->second); + pos->second->evaluate(); + } + +} + +ColoredPoint CustomWave::PerPoint(ColoredPoint p, const WaveformContext context) +{ + if (nullptr == per_point_program) + { + // see comment in MilkdropPreset, collect a list of assignments into one ProgramExpr + // which (theoretically) could be compiled together. + std::vector steps; + for (auto pos = per_point_eqn_tree.begin(); pos != per_point_eqn_tree.end();++pos) + steps.push_back((*pos)->assign_expr); + Expr *program_expr = Expr::create_program_expr(steps, false); + Expr *jit = nullptr; +#if HAVE_LLVM + char buffer[100]; + sprintf(buffer, "wave_%d", id); + if (!steps.empty()) + jit = Expr::jit(program_expr, buffer); +#endif + per_point_program = jit ? jit : program_expr; + } + + r_mesh[context.sample_int] = r; + g_mesh[context.sample_int] = g; + b_mesh[context.sample_int] = b; + a_mesh[context.sample_int] = a; + x_mesh[context.sample_int] = x; + y_mesh[context.sample_int] = y; + sample = context.sample; + v1 = context.left; + v2 = context.right; + + per_point_program->eval(context.sample_int, -1); + + p.a = a_mesh[context.sample_int]; + p.r = r_mesh[context.sample_int]; + p.g = g_mesh[context.sample_int]; + p.b = b_mesh[context.sample_int]; + p.x = x_mesh[context.sample_int]; + p.y = y_mesh[context.sample_int]; + + return p; +} + + +void CustomWave::loadUnspecInitConds() +{ + + InitCondUtils::LoadUnspecInitCond fun(this->init_cond_tree, this->per_frame_init_eqn_tree); + traverse(param_tree, fun); +} + diff --git a/src/libprojectM/MilkdropPresetFactory/CustomWave.hpp b/src/libprojectM/MilkdropPresetFactory/CustomWave.hpp new file mode 100755 index 0000000000..f7f30e59af --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/CustomWave.hpp @@ -0,0 +1,126 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Encapsulation of a custom wave + * + * $Log$ + */ + +#ifndef _CUSTOM_WAVE_H +#define _CUSTOM_WAVE_H + +#define CUSTOM_WAVE_DEBUG 0 + +class CustomWave; +class Expr; +class PerPointEqn; +class Preset; + +#include + +#include "Common.hpp" +#include "Param.hpp" +#include "PerFrameEqn.hpp" +#include "Renderer/Waveform.hpp" + +#include + +class CustomWave : public Waveform +{ +public: + + /** Empty constructor leaves wave in undefined state **/ + //CustomWave() {} + + /** Initializes a custom wave id given the integer id */ + CustomWave(int id); + + /** Destructor is necessary so we can free the per point matrices **/ + virtual ~CustomWave(); + + ColoredPoint PerPoint(ColoredPoint p, const WaveformContext context); + + /* Numerical id */ + int id; + int per_frame_count; + + /* Parameter tree associated with this custom wave */ + std::map param_tree; + + /* Engine variables */ + float x; /* x position for per point equations */ + float y; /* y position for per point equations */ + float r; /* red color value */ + float g; /* green color value */ + float b; /* blue color value */ + float a; /* alpha color value */ + float * x_mesh; + float * y_mesh; + float * r_mesh; + float * b_mesh; + float * g_mesh; + float * a_mesh; + + bool enabled; /* if true then wave is visible, hidden otherwise */ + + float sample; + + /* stupid t variables */ + float t1; + float t2; + float t3; + float t4; + float t5; + float t6; + float t7; + float t8; + + + /* stupider q variables */ + float q[NUM_Q_VARIABLES]; + + float v1,v2; + + /* Data structures to hold per frame and per point equations */ + std::map init_cond_tree; + std::vector per_frame_eqn_tree; + std::vector per_point_eqn_tree; + Expr *per_point_program; + std::map per_frame_init_eqn_tree; + + /* Denotes the index of the last character for each string buffer */ + int per_point_eqn_string_index; + int per_frame_eqn_string_index; + int per_frame_init_eqn_string_index; + + int add_per_point_eqn(char * name, Expr * gen_expr); + void evalCustomWaveInitConditions(Preset *preset); + + + void loadUnspecInitConds(); + + void evalInitConds(); + +}; + +#endif /** !_CUSTOM_WAVE_H */ diff --git a/src/projectM-engine/Eval.cpp b/src/libprojectM/MilkdropPresetFactory/Eval.cpp similarity index 77% rename from src/projectM-engine/Eval.cpp rename to src/libprojectM/MilkdropPresetFactory/Eval.cpp index a2cdf359a8..00b3d65a0b 100755 --- a/src/projectM-engine/Eval.cpp +++ b/src/libprojectM/MilkdropPresetFactory/Eval.cpp @@ -20,10 +20,9 @@ */ /* Evaluation Code */ -#include -#include +#include +#include -#include "projectM.hpp" #include "Common.hpp" #include "fatal.h" @@ -31,9 +30,10 @@ #include "Expr.hpp" #include "Param.hpp" #include "Func.hpp" -#include "BuiltinFuncs.hpp" #include "wipemalloc.h" +#include "BuiltinFuncs.hpp" + InfixOp *Eval::infix_add = NULL; InfixOp *Eval::infix_minus = NULL; InfixOp *Eval::infix_div = NULL; @@ -47,18 +47,20 @@ InfixOp *Eval::infix_positive = NULL; /* Initializes all infix operators */ int Eval::init_infix_ops() { - Eval::infix_add = new InfixOp(INFIX_ADD, 4); - Eval::infix_minus = new InfixOp(INFIX_MINUS, 3); - Eval::infix_div = new InfixOp(INFIX_DIV, 2); - Eval::infix_or = new InfixOp(INFIX_OR, 5); - Eval::infix_and = new InfixOp(INFIX_AND,4); - Eval::infix_mod = new InfixOp(INFIX_MOD, 1); - Eval::infix_mult = new InfixOp(INFIX_MULT, 2); - - /* Prefix operators */ - Eval::infix_positive = new InfixOp(INFIX_ADD, 0); - Eval::infix_negative = new InfixOp(INFIX_MINUS, 0); + if (nullptr == Eval::infix_add) + { + Eval::infix_add = new InfixOp(INFIX_ADD, 4); + Eval::infix_minus = new InfixOp(INFIX_MINUS, 3); + Eval::infix_div = new InfixOp(INFIX_DIV, 2); + Eval::infix_or = new InfixOp(INFIX_OR, 5); + Eval::infix_and = new InfixOp(INFIX_AND, 4); + Eval::infix_mod = new InfixOp(INFIX_MOD, 1); + Eval::infix_mult = new InfixOp(INFIX_MULT, 2); + /* Prefix operators */ + Eval::infix_positive = new InfixOp(INFIX_ADD, 0); + Eval::infix_negative = new InfixOp(INFIX_MINUS, 0); + } return PROJECTM_SUCCESS; } diff --git a/src/libprojectM/MilkdropPresetFactory/Eval.hpp b/src/libprojectM/MilkdropPresetFactory/Eval.hpp new file mode 100755 index 0000000000..f1a4fa9dbf --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Eval.hpp @@ -0,0 +1,64 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Expression evaluators + * + * $Log$ + */ + +/* Eval.hpp: evaluation functions of expressions */ + +#ifndef __EVAL_H +#define __EVAL_H + +#include "fatal.h" +#include "Func.hpp" +#include "Param.hpp" + +#define INFIX_ADD 0 +#define INFIX_MINUS 1 +#define INFIX_MOD 2 +#define INFIX_DIV 3 +#define INFIX_MULT 4 +#define INFIX_OR 5 +#define INFIX_AND 6 + +class DLLEXPORT InfixOp; + +class Eval { +public: + static InfixOp *infix_add, + *infix_minus, + *infix_div, + *infix_mult, + *infix_or, + *infix_and, + *infix_mod, + *infix_negative, + *infix_positive; + + static int init_infix_ops(); + static int destroy_infix_ops(); + }; + +#endif /** !_EVAL_H */ diff --git a/src/libprojectM/MilkdropPresetFactory/Expr.cpp b/src/libprojectM/MilkdropPresetFactory/Expr.cpp new file mode 100755 index 0000000000..decdc249ec --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Expr.cpp @@ -0,0 +1,1455 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "wipemalloc.h" + +#include "Expr.hpp" +#include + +#include "Eval.hpp" +#include "BuiltinFuncs.hpp" + +#include "JitContext.hpp" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* A function expression in prefix form */ +class PrefunExpr : public Expr +{ +public: + Func *function; + float (*func_ptr)(float *); + int num_args; + Expr **expr_list; + +protected: + PrefunExpr() : Expr(FUNCTION) {} +public: + PrefunExpr(Func *func, Expr **expr_list); + ~PrefunExpr() override; + + /* Evaluates functions in prefix form */ + Expr *_optimize() override; + float eval(int mesh_i, int mesh_j) override; + std::ostream& to_string(std::ostream &out) override; +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override; +#endif +}; + + +/* Evaluates functions in prefix form */ +float PrefunExpr::eval ( int mesh_i, int mesh_j ) +{ + assert ( func_ptr ); +#ifdef WIN32 + float arg_list[3]; // variable length array not supported by MSVC +#else + float arg_list[num_args]; // variable length array supported by GCC +#endif /** WIN32 */ + + //printf("numargs %d", num_args); + + /* Evaluate each argument before calling the function itself */ + for ( int i = 0; i < num_args; i++ ) + { + arg_list[i] = expr_list[i]->eval ( mesh_i, mesh_j ); + //printf("numargs %x", arg_list[i]); + } + /* Now we call the function, passing a list of + floats as its argument */ + + const float value = ( func_ptr ) ( arg_list ); + return value; +} + + +#if HAVE_LLVM +llvm::Value *PrefunExpr::_llvm(JitContext &jitx) +{ + if (nullptr != function && 0 != function->llvm_intrinsic) + { + if (num_args == 1) + { + llvm::Value *x = Expr::llvm(jitx, expr_list[0]); + if (nullptr == x) + return nullptr; + return jitx.CallIntrinsic((llvm::Intrinsic::ID)function->llvm_intrinsic, x); + } + else if (num_args == 2) + { + llvm::Value *x = Expr::llvm(jitx, expr_list[0]); + llvm::Value *y = Expr::llvm(jitx, expr_list[1]); + if (nullptr == x || nullptr == y) + return nullptr; + return jitx.CallIntrinsic2((llvm::Intrinsic::ID)function->llvm_intrinsic, x, y); + } + } + + // TODO : change wrapper functions from float (*fn)(float *) to float (*fn)(float), float (*fn)(float, float) etc + // For now handle a few C library functions w/o LLVM intrinsics + if (func_ptr == FuncWrappers::tan_wrapper || func_ptr == FuncWrappers::asin_wrapper || func_ptr == FuncWrappers::acos_wrapper || func_ptr == FuncWrappers::atan_wrapper) + { + llvm::Value *x = Expr::llvm(jitx, expr_list[0]); + if (nullptr == x) + return nullptr; + std::vector arg_types; + arg_types.push_back(jitx.floatType); // float + auto prefun_type = llvm::FunctionType::get(jitx.floatType, arg_types, false); + auto prefun_ptr_type = llvm::PointerType::get(prefun_type,1); + float (*clib_fn)(float); + if (func_ptr == FuncWrappers::tan_wrapper) + clib_fn = tanf; + else if (func_ptr == FuncWrappers::asin_wrapper) + clib_fn = asinf; + else if (func_ptr == FuncWrappers::acos_wrapper) + clib_fn = acosf; + else + clib_fn = atanf; + llvm::Constant *fn_const = llvm::ConstantInt::get(llvm::Type::getInt64Ty(jitx.context), (uint64_t)clib_fn); + auto function_ptr = llvm::ConstantExpr::getIntToPtr(fn_const , prefun_ptr_type); + std::vector args; + args.push_back(x); + return jitx.builder.CreateCall(function_ptr, args); + } + + // fallback, call function wrapper e.g. float (*fn)(float *) + llvm::AllocaInst *array = jitx.builder.CreateAlloca(jitx.floatType, jitx.CreateConstant(num_args)); + for ( unsigned i = 0; i < (unsigned)num_args; i++ ) + { + llvm::Value *v = Expr::llvm(jitx,expr_list[i]); + if (nullptr == v) + return nullptr; + llvm::ConstantInt *idx = llvm::ConstantInt::get(llvm::Type::getInt32Ty(jitx.context), i); + jitx.builder.CreateStore(v, jitx.builder.CreateGEP(jitx.floatType, array, idx)); + } + + std::vector arg_types; + arg_types.push_back(llvm::PointerType::get(jitx.floatType,1)); // float * + auto prefun_type = llvm::FunctionType::get(jitx.floatType, arg_types, false); + auto prefun_ptr_type = llvm::PointerType::get(prefun_type,1); + llvm::Constant *fn_const = llvm::ConstantInt::get(llvm::Type::getInt64Ty(jitx.context), (uint64_t)func_ptr); + auto function_ptr = llvm::ConstantExpr::getIntToPtr(fn_const , prefun_ptr_type); + + std::vector args; + args.push_back(array); + return jitx.builder.CreateCall(function_ptr, args); +} +#endif + + +class PrefunExprOne : public PrefunExpr +{ +public: + PrefunExprOne(Func *function, Expr **expr_list_) : PrefunExpr(function,expr_list_) {} + float eval ( int mesh_i, int mesh_j ) + { + float val = expr_list[0]->eval ( mesh_i, mesh_j ); + return (func_ptr)(&val); + } +}; + + +class IfAboveExpr : public PrefunExpr +{ +public: + IfAboveExpr(Expr *a, Expr *b, Expr *t, Expr *e) : PrefunExpr() + { + num_args = 4; + expr_list = (Expr **)malloc(num_args*sizeof(Expr *)); + expr_list[0] = a; + expr_list[1] = b; + expr_list[2] = t; + expr_list[3] = e; + } + float eval ( int mesh_i, int mesh_j ) override + { + // see above_wrapper(), below_wrapper() + float aval = expr_list[0]->eval(mesh_i,mesh_j); + float bval = expr_list[1]->eval(mesh_i,mesh_j); + if (aval > bval) + return expr_list[2]->eval(mesh_i,mesh_j); + else + return expr_list[3]->eval(mesh_i,mesh_j); + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *aValue = Expr::llvm(jitx, expr_list[0]); + llvm::Value *bValue = Expr::llvm(jitx, expr_list[1]); + if (nullptr == aValue || nullptr == bValue) + return nullptr; + llvm::Value *condition = jitx.builder.CreateFCmpUGT(aValue, bValue); + jitx.StartTernary(condition); + jitx.withThen(); + llvm::Value *thenValue = Expr::llvm(jitx, expr_list[2]); + jitx.withElse(); + llvm::Value *elseValue = Expr::llvm(jitx, expr_list[3]); + if (nullptr == thenValue || nullptr == elseValue) + return nullptr; + return jitx.FinishTernary(thenValue, elseValue); + } +#endif +}; + + +class IfEqualExpr : public PrefunExpr +{ +public: + IfEqualExpr(Expr *a, Expr *b, Expr *t, Expr *e) : PrefunExpr() + { + num_args = 4; + expr_list = (Expr **)malloc(num_args*sizeof(Expr *)); + expr_list[0] = a; + expr_list[1] = b; + expr_list[2] = t; + expr_list[3] = e; + } + float eval ( int mesh_i, int mesh_j ) override + { + // see above_wrapper(), below_wrapper() + float aval = expr_list[0]->eval(mesh_i,mesh_j); + float bval = expr_list[1]->eval(mesh_i,mesh_j); + if (aval == bval) + return expr_list[2]->eval(mesh_i,mesh_j); + else + return expr_list[3]->eval(mesh_i,mesh_j); + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *aValue = Expr::llvm(jitx, expr_list[0]); + llvm::Value *bValue = Expr::llvm(jitx, expr_list[1]); + if (nullptr == aValue || nullptr == bValue) + return nullptr; + llvm::Value *condition = jitx.builder.CreateFCmpUEQ(aValue, bValue); + jitx.StartTernary(condition); + jitx.withThen(); + llvm::Value *thenValue = Expr::llvm(jitx, expr_list[2]); + jitx.withElse(); + llvm::Value *elseValue = Expr::llvm(jitx, expr_list[3]); + if (nullptr == thenValue || nullptr == elseValue) + return nullptr; + return jitx.FinishTernary(thenValue, elseValue); + } +#endif +}; + + +// short circuiting IF +class IfExpr : public PrefunExpr +{ +public: + IfExpr(Func *function, Expr **expr_list_) : PrefunExpr(function,expr_list_) {} + + float eval ( int mesh_i, int mesh_j ) + { + // see if_wrapper() + float val = expr_list[0]->eval ( mesh_i, mesh_j ); + if (val == 0) + return expr_list[2]->eval ( mesh_i, mesh_j ); + return expr_list[1]->eval ( mesh_i, mesh_j ); + } + + Expr *_optimize() override + { + Expr *opt = PrefunExpr::_optimize(); + if (opt != this) + return opt; + if (expr_list[0]->clazz!=FUNCTION) + return this; + auto *compExpr = (PrefunExpr *)expr_list[0]; + if (compExpr->func_ptr == FuncWrappers::above_wrapper || compExpr->func_ptr == FuncWrappers::below_wrapper || + compExpr->func_ptr == FuncWrappers::equal_wrapper) + { + Expr *ret; + if (compExpr->func_ptr == FuncWrappers::above_wrapper) + ret = new IfAboveExpr(compExpr->expr_list[0], compExpr->expr_list[1], expr_list[1], expr_list[2]); + else if (compExpr->func_ptr == FuncWrappers::below_wrapper) + ret = new IfAboveExpr(compExpr->expr_list[1], compExpr->expr_list[0], expr_list[1], expr_list[2]); + else + ret = new IfEqualExpr(compExpr->expr_list[0], compExpr->expr_list[1], expr_list[1], expr_list[2]); + compExpr->expr_list[0] = nullptr; + compExpr->expr_list[1] = nullptr; + expr_list[1] = nullptr; + expr_list[2] = nullptr; + return ret; + } + return this; + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *testValue = Expr::llvm(jitx, expr_list[0]); + if (nullptr == testValue) + return nullptr; + llvm::Value *condition = jitx.builder.CreateFCmpUNE(testValue, jitx.CreateConstant(0.0f)); + jitx.StartTernary(condition); + jitx.withThen(); + llvm::Value *thenValue = Expr::llvm(jitx, expr_list[1]); + jitx.withElse(); + llvm::Value *elseValue = Expr::llvm(jitx, expr_list[2]); + if (nullptr == thenValue || nullptr == elseValue) + return nullptr; + return jitx.FinishTernary(thenValue, elseValue); + // CONSIDER use switch if left and right are both constant? + //return jitx.builder.CreateSelect(jitx.builder.CreateICmpNEQ(zeroInt,expr0), expr1, expr2); + } +#endif +}; + + +class SinExpr : public PrefunExpr +{ +public: + SinExpr(Func *function, Expr **expr_list_) : PrefunExpr(function,expr_list_) {} + float eval ( int mesh_i, int mesh_j ) override + { + float val = expr_list[0]->eval ( mesh_i, mesh_j ); + return sinf(val); + } +}; + + +class CosExpr : public PrefunExpr +{ +public: + CosExpr(Func *function, Expr **expr_list_) : PrefunExpr(function,expr_list_) {} + float eval ( int mesh_i, int mesh_j ) override + { + float val = expr_list[0]->eval ( mesh_i, mesh_j ); + return cosf(val); + } +}; + + +class LogExpr : public PrefunExpr +{ +public: + LogExpr(Func *function, Expr **expr_list_) : PrefunExpr(function,expr_list_) {} + float eval ( int mesh_i, int mesh_j ) override + { + float val = expr_list[0]->eval( mesh_i, mesh_j ); + return logf(val); + } +}; + + +class ConstantExpr : public Expr +{ + float constant; +public: + explicit ConstantExpr( float value ) : Expr(CONSTANT), constant(value) {} + ConstantExpr( int type, Term *term ) : Expr(CONSTANT), constant(term->constant) {} + bool isConstant() + { + return true; + } + float eval(int mesh_i, int mesh_j ) + { + return constant; + } + std::ostream &to_string(std::ostream &out) + { + out << constant; return out; + } + +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + return jitx.CreateConstant(constant); + } +#endif +}; + + +class MultAndAddExpr : public Expr +{ + Expr *a, *b, *c; +public: + MultAndAddExpr(Expr *_a, Expr *_b, Expr *_c) : Expr(OTHER), + a(_a), b(_b), c(_c) + { + } + ~MultAndAddExpr() override { + Expr::delete_expr(a); + Expr::delete_expr(b); + Expr::delete_expr(c); + } + float eval(int mesh_i, int mesh_j) override + { + float a_value = a->eval(mesh_i,mesh_j); + float b_value = b->eval(mesh_i,mesh_j); + float c_value = c->eval(mesh_i,mesh_j); + return a_value * b_value + c_value; + } + std::ostream &to_string(std::ostream &out) override + { + out << "(" << a << " * " << b << ") + " << c; + return out; + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *avalue = Expr::llvm(jitx, a); + llvm::Value *bvalue = Expr::llvm(jitx, b); + llvm::Value *cvalue = Expr::llvm(jitx, c); + if (nullptr == avalue || nullptr == bvalue || nullptr == cvalue) + return nullptr; + return jitx.CallIntrinsic3(llvm::Intrinsic::fma,avalue,bvalue,cvalue); + } +#endif +}; + +class MultConstExpr : public Expr +{ + Expr *expr; + float c; +public: + MultConstExpr(Expr *_expr, float _c) : Expr(OTHER), + expr(_expr), c(_c) + { + } + ~MultConstExpr() override + { + Expr::delete_expr(expr); + } + float eval(int mesh_i, int mesh_j) override + { + float value = expr->eval(mesh_i,mesh_j); + return value * c; + } + std::ostream &to_string(std::ostream &out) override + { + out << "(" << expr << " * " << c << ") + " << c; + return out; + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *value = Expr::llvm(jitx, expr); + if (nullptr == value) + return nullptr; + if (c == 1.0f) + return value; + if (c == 0.0f) + return jitx.CreateConstant(0.0f); + return jitx.builder.CreateFMul(jitx.CreateConstant(c), value); + } +#endif +}; + +std::ostream &TreeExpr::to_string(std::ostream &out) +{ + if (NULL == infix_op) + { + out << gen_expr; + } + else + { + out << "(" << left << " "; + switch ( infix_op->type ) + { + case INFIX_ADD: + out << "+"; break; + case INFIX_MINUS: + out << "-"; break; + case INFIX_MULT: + out << "*"; break; + case INFIX_MOD: + out << "%"; break; + case INFIX_OR: + out << "|"; break; + case INFIX_AND: + out << "&"; break; + case INFIX_DIV: + out << "/"; break; + default: + out << "infix_op_ERROR"; break; + } + out << " " << right << ")"; + } + return out; +} + +/* NOTE: Parser.cpp directly manipulates TreeExpr, so it is easier to _optimizer AFTER parsing + * than while building up the tree initially + */ +Expr *TreeExpr::_optimize() +{ + if (infix_op == NULL) + { + Expr *opt = gen_expr->_optimize(); + if (opt != gen_expr) + Expr::delete_expr(gen_expr); + gen_expr = NULL; + return opt; + } + if (left != NULL) + { + Expr *l = left->_optimize(); + if (l != left) + Expr::delete_expr(left); + left = l; + } + if (right != NULL) + { + Expr *r = right->_optimize(); + if (r != right) + Expr::delete_expr(right); + right = r; + } + if (left == NULL) + { + Expr *opt = right; + right = NULL; + return opt; + } + if (right == NULL) + { + Expr *opt = left; + left = NULL; + return opt; + } + if (left->isConstant() && right->isConstant()) + return Expr::const_to_expr(eval(-1, -1)); + + // this is gratuitious, but a*b+c is super common, so as proof-of-concept, let's make a special Expr + if (infix_op->type == INFIX_ADD && + ((left->clazz == TREE && ((TreeExpr *)left)->infix_op->type == INFIX_MULT) || + (right->clazz == TREE && ((TreeExpr *)right)->infix_op->type == INFIX_MULT))) + { + Expr *a, *b, *c; + if (left->clazz == TREE && ((TreeExpr *)left)->infix_op->type == INFIX_MULT) + std::swap(left,right); + a = ((TreeExpr *)right)->left; + b = ((TreeExpr *)right)->right; + c = left; + ((TreeExpr *)right)->left = NULL; + ((TreeExpr *)right)->right = NULL; + left = NULL; + return new MultAndAddExpr(a,b,c); + } + + if (infix_op->type == INFIX_MULT && (left->isConstant() || right->isConstant())) + { + if (right->isConstant()) + std::swap(left, right); + float c = left->eval(-1,-1); + Expr *expr = right; + right = left = nullptr; + return new MultConstExpr(expr, c); + } + + return this; +} + +/* Evaluates an expression tree */ +float TreeExpr::eval ( int mesh_i, int mesh_j ) +{ + float left_arg, right_arg; + + /* shouldn't be null if we've called _optimize() */ + assert(NULL != infix_op); + + left_arg = left->eval ( mesh_i, mesh_j ); + right_arg = right->eval ( mesh_i, mesh_j ); + + switch ( infix_op->type ) + { + case INFIX_ADD: + return ( left_arg + right_arg ); + case INFIX_MINUS: + return ( left_arg - right_arg ); + case INFIX_MULT: + return ( left_arg * right_arg ); + case INFIX_MOD: + if ( ( int ) right_arg == 0 ) + { + return 0; + } + return ( ( int ) left_arg % ( int ) right_arg ); + case INFIX_OR: + return ( ( int ) left_arg | ( int ) right_arg ); + case INFIX_AND: + return ( ( int ) left_arg & ( int ) right_arg ); + case INFIX_DIV: + if ( right_arg == 0 ) + { + return MAX_DOUBLE_SIZE; + } + return ( left_arg / right_arg ); + default: + return EVAL_ERROR; + } +} + +#if HAVE_LLVM +llvm::Value *TreeExpr::_llvm(JitContext &jitx) +{ + llvm::Value *lhs = Expr::llvm(jitx, left); + llvm::Value *rhs = Expr::llvm(jitx, right); + if (nullptr == lhs || nullptr == rhs) + return nullptr; + switch ( infix_op->type ) + { + case INFIX_ADD: + return jitx.builder.CreateFAdd(lhs, rhs); + case INFIX_MINUS: + return jitx.builder.CreateFSub(lhs, rhs); + case INFIX_MULT: + return jitx.builder.CreateFMul(lhs, rhs); + case INFIX_MOD: + { + llvm::Type *int32_ty = llvm::IntegerType::get(jitx.context,32); + llvm::Value *rhsInt = jitx.builder.CreateFPToSI(jitx.CallIntrinsic(llvm::Intrinsic::floor, rhs), int32_ty); + // BUG??? Calling CreateICmpNE without the floor() (just FPToSI()) causes stack overflow, bug in llvm::ConstantFoldCompareInstruction()? + llvm::Value *condNotZero = jitx.builder.CreateICmpNE(jitx.CreateConstant(0), rhsInt, "ifcond"); + jitx.StartTernary(condNotZero); + jitx.withThen(); + llvm::Value *lhsInt = jitx.builder.CreateFPToSI(jitx.CallIntrinsic(llvm::Intrinsic::floor, lhs), int32_ty); + // TODO check the semantics of C operator % (might not be the same as srem) + llvm::Value *thenValue = jitx.builder.CreateSIToFP(jitx.builder.CreateSRem(lhsInt,rhsInt), jitx.floatType); + jitx.withElse(); + llvm::Value *elseValue = jitx.CreateConstant(0.0f); + return jitx.FinishTernary(thenValue, elseValue); + } + case INFIX_OR: + { + // bit-wise integer OR + llvm::Type *int32_ty = llvm::IntegerType::get(jitx.context,32); + llvm::Value *lhsInt = jitx.builder.CreateFPToSI(lhs, int32_ty); + llvm::Value *rhsInt = jitx.builder.CreateFPToSI(rhs, int32_ty); + llvm::Value *i = jitx.builder.CreateOr(lhsInt,rhsInt); + return jitx.builder.CreateSIToFP(i, jitx.floatType); + } + case INFIX_AND: + { + // bit-wise integer AND + llvm::Type *int32_ty = llvm::IntegerType::get(jitx.context, 32); + llvm::Value *lhsInt = jitx.builder.CreateFPToSI(lhs, int32_ty); + llvm::Value *rhsInt = jitx.builder.CreateFPToSI(rhs, int32_ty); + llvm::Value *i = jitx.builder.CreateAnd(lhsInt, rhsInt); + return jitx.builder.CreateSIToFP(i, jitx.floatType); + } + case INFIX_DIV: + { + if (right->isConstant()) + { + float f = right->eval(-1,-1); + if (1.0f == f) + return lhs; + else if (0.0f != f) + return jitx.builder.CreateFDiv(lhs,rhs); + } + llvm::Value *condNotZero = jitx.builder.CreateFCmpUNE(jitx.CreateConstant(0.0f), rhs, "ifcond"); + jitx.StartTernary(condNotZero); + jitx.withThen(); + llvm::Value *thenValue = jitx.builder.CreateFDiv(lhs,rhs); + jitx.withElse(); + llvm::Value *elseValue = jitx.CreateConstant((float)MAX_DOUBLE_SIZE); + return jitx.FinishTernary(thenValue, elseValue); + } + default: + return nullptr; + } +} +#endif + +/* Converts a float value to a general expression */ +Expr * Expr::const_to_expr ( float val ) +{ + return new ConstantExpr( val ); +} + +/* Converts a regular parameter to an expression */ +Expr * Expr::param_to_expr ( Param * param ) +{ + if ( param == nullptr ) + return nullptr; + return (LValue *)param; +} + +/* Converts a prefix function to an expression */ +Expr * Expr::prefun_to_expr( Func *function, Expr ** expr_list ) +{ + float (*func_ptr)(float *)= function->func_ptr; + int num_args = function->getNumArgs(); + PrefunExpr *prefun_expr; + // NOTE: all these PrefunExpr subclasses are a only helpful if we don't JIT + if (num_args == 1) + { + if (func_ptr == FuncWrappers::sin_wrapper) + prefun_expr = new SinExpr(function, expr_list); + else if (func_ptr == (float (*)(float *)) FuncWrappers::cos_wrapper) + prefun_expr = new CosExpr(function, expr_list); + else if (func_ptr == (float (*)(float *)) FuncWrappers::log_wrapper) + prefun_expr = new LogExpr(function, expr_list); + else + prefun_expr = new PrefunExprOne(function, expr_list); + } + else if (num_args == 3) + { + if (func_ptr == FuncWrappers::if_wrapper) + prefun_expr = new IfExpr(function, expr_list); + else + prefun_expr = new PrefunExpr(function, expr_list); + } + else + { + prefun_expr = new PrefunExpr(function, expr_list); + } + return prefun_expr; +} + +/* Creates a new tree expression */ +TreeExpr::TreeExpr ( InfixOp * _infix_op, Expr * _gen_expr, Expr * _left, Expr * _right ) : + Expr( TREE ), + infix_op ( _infix_op ), gen_expr ( _gen_expr ), + left ( _left ), right ( _right ) {} + +class TreeExprAdd : public TreeExpr +{ +public: + TreeExprAdd( Expr * _left, Expr * _right ) : + TreeExpr( Eval::infix_add, nullptr, _left, _right) {} + float eval( int mesh_i, int mesh_j) + { + return left->eval(mesh_i, mesh_j) + right->eval(mesh_i, mesh_j); + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *l = Expr::llvm(jitx, left); + llvm::Value *r = Expr::llvm(jitx, right); + if (nullptr == l || nullptr == r) + return nullptr; + return jitx.builder.CreateFAdd(l,r); + } +#endif +}; + +class TreeExprMinus : public TreeExpr +{ +public: + TreeExprMinus( Expr * _left, Expr * _right ) : + TreeExpr( Eval::infix_minus, nullptr, _left, _right) {} + float eval( int mesh_i, int mesh_j) + { + return left->eval(mesh_i, mesh_j) - right->eval(mesh_i, mesh_j); + } +}; + +class TreeExprMult : public TreeExpr +{ +public: + TreeExprMult( Expr * _left, Expr * _right ) : + TreeExpr( Eval::infix_mult, nullptr, (TreeExpr *)_left, (TreeExpr *)_right) {} // TODO fix TreeExpr constructor to avoid bogus cast + float eval( int mesh_i, int mesh_j) + { + return left->eval(mesh_i, mesh_j) * right->eval(mesh_i, mesh_j); + } +}; + +// NOTE: Parser expects left and right to be TreeExpr, but other code paths don't require this +TreeExpr * TreeExpr::create( InfixOp * _infix_op, Expr * _gen_expr, TreeExpr * _left, TreeExpr * _right ) +{ + if ( NULL != _infix_op ) + { + // TODO move to TreeExpr::optimize() + if ( _infix_op->type == INFIX_ADD ) + return new TreeExprAdd( _left, _right); + if ( _infix_op->type == INFIX_MINUS ) + return new TreeExprMinus( _left, _right); + if ( _infix_op->type == INFIX_MULT ) + return new TreeExprMult( _left, _right); + } + return new TreeExpr( _infix_op, _gen_expr, _left, _right ); +} + +TreeExpr * TreeExpr::create( InfixOp * _infix_op, Expr * _left, Expr * _right ) +{ + assert( nullptr != _infix_op ); + // TODO move to TreeExpr::optimize() + if ( _infix_op->type == INFIX_ADD ) + return new TreeExprAdd( _left, _right); + if ( _infix_op->type == INFIX_MINUS ) + return new TreeExprMinus( _left, _right); + if ( _infix_op->type == INFIX_MULT ) + return new TreeExprMult( _left, _right); + return new TreeExpr( _infix_op, nullptr, _left, _right ); +} + +/* Frees a function in prefix notation */ +PrefunExpr::~PrefunExpr() +{ + int i; + + /* Free every element in expression list */ + for ( i = 0 ; i < num_args; i++ ) + { + Expr::delete_expr(expr_list[i]); + } + free ( expr_list ); +} + +/* Frees a tree expression */ +TreeExpr::~TreeExpr() +{ + + /* free left tree */ + if ( left != NULL ) + { + Expr::delete_expr(left); + } + + /* free general expression object */ + if ( gen_expr != NULL ) + { + Expr::delete_expr(gen_expr); + } + + /* Note that infix operators are always + stored in memory unless the program + exits, so we don't remove them here */ + + /* free right tree */ + if ( right != NULL ) + { + Expr::delete_expr(right); + } +} + +/* Initializes an infix operator */ +InfixOp::InfixOp ( int _type, int _precedence ) +{ + this->type = _type; + this->precedence = _precedence; +} + + +PrefunExpr::PrefunExpr(Func *func, Expr **expr_list_) : Expr(FUNCTION), + function(func), func_ptr(func->func_ptr), num_args(func->getNumArgs()), expr_list(expr_list_) +{ + assert(func_ptr); +} + +// consider: move method to FunctionWrappers? +bool isConstantFn(float (* fn)(float *)) +{ + return fn != FuncWrappers::print_wrapper && + fn != FuncWrappers::rand_wrapper; +} + +Expr *PrefunExpr::_optimize() +{ + bool constant_args = true; + for (int i=0 ; i < num_args ; i++) + { + Expr *orig = expr_list[i]; + expr_list[i] = orig->_optimize(); + if (orig != expr_list[i]) + Expr::delete_expr(orig); + constant_args = constant_args && expr_list[i]->isConstant(); + } + if (constant_args && isConstantFn(func_ptr)) + { + return Expr::const_to_expr(eval(-1, -1)); + } + return this; +} + +std::ostream& PrefunExpr::to_string(std::ostream& out) +{ + char comma = ' '; + out << "("; + for (int i=0 ; i < num_args ; i++) + { + out << comma; + out << expr_list[i]; + comma = ','; + } + out << ")"; + return out; +} + + + + +class AssignExpr : public Expr +{ +protected: + LValue *lhs; + Expr *rhs; +public: + AssignExpr(LValue *lhs_, Expr *rhs_): Expr(ASSIGN), lhs(lhs_), rhs(rhs_) {} + + ~AssignExpr() override + { + Expr::delete_expr(lhs); + Expr::delete_expr(rhs); + } + + Expr *_optimize() override + { + Expr *t = rhs->_optimize(); + if (t != rhs) + Expr::delete_expr(rhs); + rhs = t; + return this; + } + + float eval(int mesh_i, int mesh_j) override + { + float v = rhs->eval( mesh_i, mesh_j ); + lhs->set( v ); + return v; + } + + LValue *getLValue() { return lhs; } + + std::ostream& to_string(std::ostream &out) override + { + out << lhs << " = " << rhs; + return out; + } + +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *value = Expr::llvm(jitx, rhs); + if (nullptr == value) + return nullptr; + // TODO optimze to only call set_matrix() once at end of program + Expr::generate_set_call(jitx, this->lhs, value); + return value; + } +#endif +}; + + +Expr *Expr::create_assignment(class LValue *lhs, Expr *rhs) +{ + return new AssignExpr(lhs, rhs); +} + + +class AssignMatrixExpr : public AssignExpr +{ +public: + AssignMatrixExpr(LValue *lhs_, Expr *rhs_) : AssignExpr(lhs_, rhs_) {} + + float eval(int mesh_i, int mesh_j) override + { + float v = rhs->eval(mesh_i, mesh_j); + lhs->set_matrix(mesh_i, mesh_j, v); + return v; + } + + std::ostream &to_string(std::ostream &out) override + { + out << lhs << "[i,j] = " << rhs; + return out; + } + +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *value = Expr::llvm(jitx, rhs); + if (nullptr == value) + return nullptr; + // TODO optimze to only call set_matrix() once at end of program + LValue *lvalue = this->lhs; + lvalue->_llvm_set_matrix(jitx, value); + return value; + } +#endif +}; + + +Expr *Expr::create_matrix_assignment(class LValue *lhs, Expr *rhs) +{ + return new AssignMatrixExpr(lhs, rhs); +} + + + +/* caller only has to delete returned expression. optimize() will delete unused nodes in original expr; + * CONSIDER delete old expr for caller? + */ +Expr *Expr::optimize(Expr *expr) +{ + Expr *optimized = expr->_optimize(); + if (optimized != expr) + Expr::delete_expr(expr); + return optimized; +} + + +class ProgramExpr : public Expr +{ +protected: + std::vector steps; + bool own; +public: + ProgramExpr(std::vector &steps_, bool ownSteps) : Expr(PROGRAM), steps(steps_), own(ownSteps) + { + } + ~ProgramExpr() override + { + if (!own) + return; + for (auto it=steps.begin() ; iteval(mesh_i,mesh_j); + return f; + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Value *v = jitx.CreateConstant(0.0f); + for (auto it=steps.begin() ; it &steps_, bool ownSteps) +{ + return new ProgramExpr(steps_, ownSteps); +} + + + + +// TESTS + +#include + +#ifndef NDEBUG + +#define TEST(cond) if (!verify(#cond,cond)) return false + + +struct ExprTest : public Test +{ + bool eq(float a, float b) + { + return std::abs(a-b) < (std::abs(a)+std::abs(b) + 1)/1000.0f; + } + + Expr *constant(float f) + { + return Expr::const_to_expr(3.0f); + } + + ExprTest() : Test("ExprTest") + {} + +public: + bool optimize_constant_expr() + { + BuiltinFuncs::init_builtin_func_db(); + Func *sin_fn = BuiltinFuncs::find_func("sin"); + Func *rand_fn = BuiltinFuncs::find_func("rand"); + + TreeExpr *a = TreeExpr::create(nullptr, Expr::const_to_expr( 1.0 ), nullptr, nullptr); + TreeExpr *b = TreeExpr::create(nullptr, Expr::const_to_expr( 2.0 ), nullptr, nullptr); + Expr *c = TreeExpr::create(Eval::infix_add, nullptr, a, b); + Expr *x = Expr::optimize(c); + TEST(x != c); + c = nullptr; + TEST(x->clazz == CONSTANT); + TEST(3.0f == x->eval(-1,-1)); + Expr::delete_expr(x); + + Expr **expr_array = (Expr **)malloc(sizeof(Expr *)); + expr_array[0] = TreeExpr::create(nullptr, Expr::const_to_expr( (float)M_PI ), nullptr, nullptr); + Expr *sin = Expr::prefun_to_expr(sin_fn, expr_array); + x = Expr::optimize(sin); + TEST(x != sin); + sin = nullptr; + TEST(x->clazz == CONSTANT); + TEST(sinf( (float)M_PI ) == x->eval(-1,-10)); + Expr::delete_expr(x); + + // make sure rand() is not optimized away + expr_array = (Expr **)malloc(sizeof(Expr *)); + expr_array[0] = TreeExpr::create(nullptr, Expr::const_to_expr( (float)M_PI ), nullptr, nullptr); + Expr *rand = Expr::prefun_to_expr(rand_fn, expr_array); + x = Expr::optimize(rand); + TEST(x == rand); + rand = nullptr; + TEST(x->clazz != CONSTANT); + Expr::delete_expr(x); + + return true; + } + +#if HAVE_LLVM + bool jit() + { + Func *if_fn = BuiltinFuncs::find_func("if"); + Func *sin_fn = BuiltinFuncs::find_func("sin"); + Func *rand_fn = BuiltinFuncs::find_func("rand"); + + { + Expr *CONST = Expr::const_to_expr(3.0f); + Expr *jitExpr = Expr::jit(CONST); + TEST(3.0f == jitExpr->eval(-1,-1)); + delete jitExpr; // jitExpr now owns CONST, TODO make behavior consistent with optimize() + } + + { + Param *PARAM = Param::createUser("test"); + PARAM->set_param(4.0f); + Expr *jitExpr = Expr::jit(PARAM); + TEST(4.0f == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + { + Expr *CONST = Expr::const_to_expr(3.0f); + Param *PARAM = Param::createUser("test"); + PARAM->set_param(4.0f); + Expr *MULT = new TreeExprMult(CONST, PARAM); + Expr *jitExpr = Expr::jit(MULT); + TEST(12.0f == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + { + Expr *CONST = Expr::const_to_expr(3.0f); + Param *PARAM = Param::createUser("test"); + PARAM->set_param(4.0f); + Expr *ASSIGN = new AssignMatrixExpr(PARAM, CONST); + Expr *jitExpr = Expr::jit(ASSIGN); + TEST(3.0f == jitExpr->eval(-1,-1)); + TEST(3.0f == PARAM->eval(-1,-1)); + delete jitExpr; + } + + { + Expr *CONST = Expr::const_to_expr(3.0f); + Expr **expr_list = (Expr **)malloc(1 * sizeof(Expr *)); + SinExpr *SIN = new SinExpr(sin_fn, expr_list); + SIN->num_args = 1; + SIN->func_ptr = FuncWrappers::sin_wrapper; + SIN->expr_list = (Expr **)malloc(1 * sizeof(Expr *)); + SIN->expr_list[0] = CONST; + Expr *jitExpr = Expr::jit(SIN); + TEST(sinf(3.0f) == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + // test_prefun_if: + { + Expr *CONST1 = Expr::const_to_expr(1.0f); + Expr *CONST2 = Expr::const_to_expr(2.0f); + Expr *CONST3 = Expr::const_to_expr(3.0f); + Expr **expr_list = (Expr **)malloc(3 * sizeof(Expr *)); + expr_list[0] = CONST1; + expr_list[1] = CONST2; + expr_list[2] = CONST3; + PrefunExpr *IF = new IfExpr(if_fn, expr_list); // TODO constructor + Expr *jitExpr = Expr::jit(IF); + TEST(2.0f == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + //test_ternary_mod_1: + { + Expr *CONST2 = Expr::const_to_expr(2.0f); + Expr *CONST3 = Expr::const_to_expr(3.0f); + TreeExpr *MOD = TreeExpr::create(Eval::infix_mod, CONST3, CONST2); + Expr *jitExpr = Expr::jit(MOD); + TEST(1.0f == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + //test_ternary_mod_2: + { + Expr *CONST0 = Expr::const_to_expr(0.0f); + Expr *CONST3 = Expr::const_to_expr(3.0f); + TreeExpr *MOD = TreeExpr::create(Eval::infix_mod, CONST3, CONST0); + Expr *jitExpr = Expr::jit(MOD); + TEST(0.0f == jitExpr->eval(-1,-1)); + delete jitExpr; + } + + return true; + } +#endif + + bool test() override + { + Eval::init_infix_ops(); + bool result = true; + result &= optimize_constant_expr(); +#if HAVE_LLVM + result &= jit(); +#endif + return result; + } +}; + +Test* Expr::test() +{ + return new ExprTest(); +} + +#else + +Test* Expr::test() +{ + return nullptr; +} + +#endif + + + +#if HAVE_LLVM +using namespace llvm; + + +class JitExpr : public Expr +{ + ExecutionEngine *engine; + Expr *expr; + float (*fn)(int,int); + +public: + JitExpr(ExecutionEngine *engine_, Expr *orig, float (*fn_)(int,int)) : Expr(JIT), engine(engine_), expr(orig), fn(fn_) + { + + } + + float eval(int mesh_i, int mesh_j) override + { + return fn(mesh_i, mesh_j); + } + + ~JitExpr() override + { + Expr::delete_expr(expr); + delete engine; + } + + Value *_llvm(JitContext &jit) override + { + assert(false); + return nullptr; + } +}; + + +__attribute__((noinline)) float eval_thunk(Expr *e, int i, int j) +{ + return e->eval(i,j); +} + +__attribute__((noinline)) void set_matrix_thunk(LValue *lvalue, int i, int j, float v) +{ + + lvalue->set_matrix(i, j, v); +} + +__attribute__((noinline)) void set_thunk(LValue *lvalue, float v) +{ + + lvalue->set(v); +} + +LLVMContext *llvmGLobalContext; + +LLVMContext& getGlobalContext() +{ + if (nullptr == llvmGLobalContext) + { + InitializeNativeTarget(); + LLVMInitializeX86TargetInfo(); + LLVMInitializeX86Target(); + LLVMInitializeX86TargetMC(); + LLVMInitializeNativeAsmPrinter(); + LLVMInitializeNativeAsmParser(); + + llvmGLobalContext = new LLVMContext(); + } + return *llvmGLobalContext; +} + + +Value * Expr::generate_eval_call(JitContext &jitx, Expr *expr, const char *name) +{ + // turn this into "void *" + ConstantInt * thisConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)expr, false); + + // thunk_expr into float ()(void *,int, int) + // use eval_thunk + ConstantInt * thunkConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)eval_thunk, false); + // TODO create type once + std::vector exprEvalFunctionArgs; + exprEvalFunctionArgs.push_back(IntegerType::getInt64Ty(jitx.context)); // Expr * + exprEvalFunctionArgs.push_back(IntegerType::getInt32Ty(jitx.context)); + exprEvalFunctionArgs.push_back(IntegerType::getInt32Ty(jitx.context)); + auto evalFunctionType = FunctionType::get(jitx.floatType, exprEvalFunctionArgs, false); + auto evalFunctionPtrType = PointerType::get(evalFunctionType,1); + + Value* thunkFunctionPtr = llvm::ConstantExpr::getIntToPtr(thunkConstant , evalFunctionPtrType); + + std::vector args; + args.push_back(thisConstant); + args.push_back(jitx.mesh_i); + args.push_back(jitx.mesh_j); + Value *ret = jitx.builder.CreateCall(thunkFunctionPtr, args, name); + return ret; +} + + +Value * Expr::generate_set_call(JitContext &jitx, Expr *expr, Value *value) +{ + // turn expr into "void *" + ConstantInt * thisConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)expr, false); + + // thunk_expr into float ()(void *,int, int, float) + // use eval_thunk + ConstantInt * thunkConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)set_thunk, false); + // TODO create type once + std::vector setMatrixFunctionArgs; + setMatrixFunctionArgs.push_back(IntegerType::getInt64Ty(jitx.context)); // Expr * + setMatrixFunctionArgs.push_back(jitx.floatType); + auto evalFunctionType = FunctionType::get(llvm::Type::getVoidTy(jitx.context), setMatrixFunctionArgs, false); + auto evalFunctionPtrType = PointerType::get(evalFunctionType,1); + + Value* thunkFunctionPtr = llvm::ConstantExpr::getIntToPtr(thunkConstant , evalFunctionPtrType); + + std::vector args; + args.push_back(thisConstant); + args.push_back(value); + jitx.builder.CreateCall(thunkFunctionPtr, args); + return value; +} + + +Value * Expr::generate_set_matrix_call(JitContext &jitx, Expr *expr, Value *value) +{ + // turn expr into "void *" + ConstantInt * thisConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)expr, false); + + // thunk_expr into float ()(void *,int, int, float) + // use eval_thunk + ConstantInt * thunkConstant = ConstantInt::get(IntegerType::getInt64Ty(jitx.context), (uint64_t)set_matrix_thunk, false); + // TODO create type once + std::vector setMatrixFunctionArgs; + setMatrixFunctionArgs.push_back(IntegerType::getInt64Ty(jitx.context)); // Expr * + setMatrixFunctionArgs.push_back(IntegerType::getInt32Ty(jitx.context)); + setMatrixFunctionArgs.push_back(IntegerType::getInt32Ty(jitx.context)); + setMatrixFunctionArgs.push_back(jitx.floatType); + auto evalFunctionType = FunctionType::get(llvm::Type::getVoidTy(jitx.context), setMatrixFunctionArgs, false); + auto evalFunctionPtrType = PointerType::get(evalFunctionType,1); + + Value* thunkFunctionPtr = llvm::ConstantExpr::getIntToPtr(thunkConstant , evalFunctionPtrType); + + std::vector args; + args.push_back(thisConstant); + args.push_back(jitx.mesh_i); + args.push_back(jitx.mesh_j); + args.push_back(value); + jitx.builder.CreateCall(thunkFunctionPtr, args); + return value; +} + + +/* this is mostly a passthrough, but can be used to intercept calls to Param */ +Value *Expr::llvm(JitContext &jitx, Expr *root) +{ + if (root->clazz == PARAMETER) + { + return jitx.getSymbolValue((Param *)root); + } + Value *value = root->_llvm(jitx); + if (root->clazz == ASSIGN) + jitx.assignSymbolValue((Param *)((AssignExpr *)root)->getLValue(), value); + return value; +} + + +Expr *Expr::jit(Expr *root, std::string name) +{ +#ifdef NEVER_JIT + return root; +#endif + LLVMContext &Context = getGlobalContext(); + + // Create some module to put our function into it. + JitContext jitx(name); + + std::vector arg_typess; + arg_typess.push_back(IntegerType::get(Context,32)); + arg_typess.push_back(IntegerType::get(Context,32)); + Constant* c = jitx.module->getOrInsertFunction("Expr_eval", + Type::getFloatTy(Context), + IntegerType::get(Context,32), + IntegerType::get(Context,32)); + auto *expr_eval_fun = cast(c); + BasicBlock *BB = BasicBlock::Create(Context, "EntryBlock", expr_eval_fun); + jitx.builder.SetInsertPoint(BB); + jitx.mesh_i = &expr_eval_fun->arg_begin()[0]; + jitx.mesh_j = &expr_eval_fun->arg_begin()[1]; + + // Generate IR Code! + Value *retValue = Expr::llvm(jitx, root); + if (nullptr == retValue) + { + // module is still owned by module_ptr and should be cleaned up + return nullptr; + } + jitx.builder.CreateRet(retValue); + + +#ifdef DEBUG_LLVM + outs() << "MODULE\n\n" << *jitx.module << "\n\n"; outs().flush(); +#endif + + // and JIT! + jitx.OptimizePass(); + +#ifdef DEBUG_LLVM + outs() << "MODULE OPTIMIZED\n\n" << *jitx.module << "\n\n"; outs().flush(); +#endif + + ExecutionEngine* executionEngine = EngineBuilder(std::move(jitx.module_ptr)).create(); + + auto fn = (float (*)(int,int))executionEngine->getFunctionAddress("Expr_eval"); + + return new JitExpr(executionEngine, root, fn); +} +#endif diff --git a/src/libprojectM/MilkdropPresetFactory/Expr.hpp b/src/libprojectM/MilkdropPresetFactory/Expr.hpp new file mode 100755 index 0000000000..2757289ca0 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Expr.hpp @@ -0,0 +1,182 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Expression + * + * $Log$ + */ + +#ifndef _EXPR_H +#define _EXPR_H + +#include "config.h" +#include "dlldefs.h" +#include "CValue.hpp" +#include "Func.hpp" +#include +#include + +class Test; +class Param; +class LValue; +class JitContext; + +#ifdef HAVE_LLVM +namespace llvm { + class Value; +} +#endif + +#define CONST_STACK_ELEMENT 0 +#define EXPR_STACK_ELEMENT 1 + +#define EVAL_ERROR -1 + +/* Infix Operator Function */ +class InfixOp +{ +public: + int type; + int precedence; + + InfixOp( int type, int precedence ); +}; + +/** Term */ +class Term +{ +public: + float constant; /* static variable */ + Param *param; /* pointer to a changing variable */ + + Term() { this->constant = 0; this->param = 0; } +}; + + +enum ExprClass +{ + TREE, CONSTANT, PARAMETER, FUNCTION, ASSIGN, PROGRAM, JIT, OTHER +}; + +class Expr +{ +public: + ExprClass clazz; + explicit Expr(ExprClass c) : clazz(c) {}; + virtual ~Expr() = default; + + virtual bool isConstant() { return false; }; + virtual float eval(int mesh_i, int mesh_j) = 0; + virtual std::ostream& to_string(std::ostream &out) + { + std::cout << "nyi"; return out; + } + + static Test *test(); + static Expr *const_to_expr( float val ); + static Expr *param_to_expr( Param *param ); + static Expr *prefun_to_expr( Func *func, Expr **expr_list ); + static Expr *create_assignment(class LValue *lhs, Expr *rhs); + static Expr *create_matrix_assignment(class LValue *lhs, Expr *rhs); + // TODO eventually the ownSteps param needs to go away (but for now the individual expressions might be held by the preset) + static Expr *create_program_expr(std::vector &steps_, bool ownSteps); + + static void delete_expr(Expr *expr) { if (nullptr != expr) expr->_delete_from_tree(); } + static Expr *optimize(Expr *root); + static Expr *jit(Expr *root, std::string name="Expr::jit"); + +public: // but don't call these from outside Expr.cpp + + virtual Expr *_optimize() { return this; }; +#if HAVE_LLVM + static llvm::Value *llvm(JitContext &jit, Expr *); + virtual llvm::Value *_llvm(JitContext &jit) = 0; //ONLY called by llvm() + static llvm::Value *generate_eval_call(JitContext &jit, Expr *expr, const char *name=nullptr); + static llvm::Value *generate_set_call(JitContext &jitx, Expr *expr, llvm::Value *value); + static llvm::Value *generate_set_matrix_call(JitContext &jitx, Expr *expr, llvm::Value *value); +#endif + + // override if this expr is not 'owned' by the containg expression tree + virtual void _delete_from_tree() + { + delete this; + } +}; + + +inline std::ostream& operator<<(std::ostream& out, Expr *expr) +{ + if (nullptr == expr) + out << "NULL"; + else + expr->to_string(out); + return out; +} + + +/* A binary expression tree ordered by operator precedence */ +class TreeExpr : public Expr +{ +protected: + TreeExpr( InfixOp *infix_op, Expr *gen_expr, Expr *left, Expr *right ); +public: + static TreeExpr *create( InfixOp *infix_op, Expr *gen_expr, TreeExpr *left, TreeExpr *right ); + static TreeExpr *create( InfixOp *infix_op, Expr *left, Expr *right ); + + InfixOp * infix_op; /* null if leaf */ + Expr * gen_expr; + // NOTE: before optimize() left and right will always be TreeExpr + Expr *left, *right; + // these are for type-safe access in Parser.cpp + TreeExpr *leftTree() { return dynamic_cast(left); } + TreeExpr *rightTree() { return dynamic_cast(right); } + + ~TreeExpr() override; + + Expr *_optimize() override; + float eval(int mesh_i, int mesh_j) override; +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override; +#endif + std::ostream& to_string(std::ostream &out) override; +}; + + +class LValue : public Expr +{ +public: + explicit LValue(ExprClass c) : Expr(c) {}; + virtual void set(float value) = 0; + virtual void set_matrix(int mesh_i, int mesh_j, float value) = 0; +#if HAVE_LLVM + virtual llvm::Value *_llvm_set_matrix(JitContext &jitx, llvm::Value *rhs) + { + Expr::generate_set_matrix_call(jitx, this, rhs); + return rhs; + } +#endif +}; + + + +#endif /** _EXPR_H */ diff --git a/src/projectM-engine/Func.cpp b/src/libprojectM/MilkdropPresetFactory/Func.cpp similarity index 90% rename from src/projectM-engine/Func.cpp rename to src/libprojectM/MilkdropPresetFactory/Func.cpp index 71a9b293af..76226a8abf 100755 --- a/src/projectM-engine/Func.cpp +++ b/src/libprojectM/MilkdropPresetFactory/Func.cpp @@ -30,8 +30,8 @@ #include "Func.hpp" #include -Func::Func (const std::string & _name, float (*_func_ptr)(float*), int _num_args): - name(_name), func_ptr(_func_ptr), num_args(_num_args) {} +Func::Func (const std::string & _name, float (*_func_ptr)(float*), int _num_args, int llvm_id): + func_ptr(_func_ptr), name(_name), num_args(_num_args), llvm_intrinsic(llvm_id) {} /* Frees a function type, real complicated... */ Func::~Func() {} diff --git a/src/libprojectM/MilkdropPresetFactory/Func.hpp b/src/libprojectM/MilkdropPresetFactory/Func.hpp new file mode 100755 index 0000000000..20460714f7 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Func.hpp @@ -0,0 +1,64 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Function + * + * $Log$ + */ + +#ifndef _FUNC_H +#define _FUNC_H + +#include "Common.hpp" +#include + +/* Function Type */ +class DLLEXPORT Func { +public: + + /// Create a new function wrapper object + /// \param name a name to uniquely identify the function. + /// \param func_ptr a pointer to a function of floating point arguments + /// \param num_args the number of floating point arguments this function requires + Func(const std::string & name, float (*func_ptr)(float*), int num_args, int llvm_id=0 ); + + /* Public Prototypes */ + ~Func(); + + inline const std::string & getName() const { + return name; + } + + inline int getNumArgs() const { + return num_args; + } + + float (*func_ptr)(float*); +private: + std::string name; + int num_args; +public: + int llvm_intrinsic; +}; + +#endif /** !_FUNC_H */ diff --git a/src/libprojectM/MilkdropPresetFactory/IdlePreset.cpp b/src/libprojectM/MilkdropPresetFactory/IdlePreset.cpp new file mode 100644 index 0000000000..0783f059c3 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/IdlePreset.cpp @@ -0,0 +1,210 @@ +#include "IdlePreset.hpp" +#include +#include +#include "MilkdropPreset.hpp" +const std::string IdlePresets::IDLE_PRESET_NAME + ("Geiss & Sperl - Feedback (projectM idle HDR mix).milk"); + +std::string IdlePresets::presetText() { + +std::ostringstream out; + +out << "[preset00]\n" << +"fRating=2.000000\n" << +"fGammaAdj=1.700000\n" << +"fDecay=0.940000\n" << +"fVideoEchoZoom=1.000000\n" << +"fVideoEchoAlpha=0.000000\n" << +"nVideoEchoOrientation=0\n" << +"nWaveMode=0\n" << +"bAdditiveWaves=1\n" << +"bWaveDots=0\n" << +"bWaveThick=0\n" << +"bModWaveAlphaByVolume=0\n" << +"bMaximizeWaveColor=0\n" << +"bTexWrap=1\n" << +"bDarkenCenter=0\n" << +"bRedBlueStereo=0\n" << +"bBrighten=0\n" << +"bDarken=0\n" << +"bSolarize=0\n" << +"bInvert=0\n" << +"fWaveAlpha=0.001000\n" << +"fWaveScale=0.010000\n" << +"fWaveSmoothing=0.630000\n" << +"fWaveParam=-1.000000\n" << +"fModWaveAlphaStart=0.710000\n" << +"fModWaveAlphaEnd=1.300000\n" << +"fWarpAnimSpeed=1.000000\n" << +"fWarpScale=1.331000\n" << +"fZoomExponent=1.000000\n" << +"fShader=0.000000\n" << +"zoom=13.290894\n" << +"rot=-0.020000\n" << +"cx=0.500000\n" << +"cy=0.500000\n" << +"dx=-0.280000\n" << +"dy=-0.320000\n" << +"warp=0.010000\n" << +"sx=1.000000\n" << +"sy=1.000000\n" << +"wave_r=0.650000\n" << +"wave_g=0.650000\n" << +"wave_b=0.650000\n" << +"wave_x=0.500000\n" << +"wave_y=0.500000\n" << +"ob_size=0.000000\n" << +"ob_r=0.010000\n" << +"ob_g=0.000000\n" << +"ob_b=0.000000\n" << +"ob_a=1.000000\n" << +"ib_size=0.000000\n" << +"ib_r=0.950000\n" << +"ib_g=0.850000\n" << +"ib_b=0.650000\n" << +"ib_a=1.000000\n" << +"nMotionVectorsX=64.000000\n" << +"nMotionVectorsY=0.000000\n" << +"mv_dx=0.000000\n" << +"mv_dy=0.000000\n" << +"mv_l=0.900000\n" << +"mv_r=1.000000\n" << +"mv_g=1.000000\n" << +"mv_b=1.000000\n" << +"mv_a=0.000000\n" << +"shapecode_3_enabled=1\n" << +"shapecode_3_sides=20\n" << +"shapecode_3_additive=0\n" << +"shapecode_3_thickOutline=0\n" << +"shapecode_3_textured=1\n" << +"shapecode_3_ImageURL=M.tga\n" << +"shapecode_3_x=0.68\n" << +"shapecode_3_y=0.5\n" << +"shapecode_3_rad=0.41222\n" << +"shapecode_3_ang=0\n" << +"shapecode_3_tex_ang=0\n" << +"shapecode_3_tex_zoom=0.71\n" << +"shapecode_3_r=1\n" << +"shapecode_3_g=1\n" << +"shapecode_3_b=1\n" << +"shapecode_3_a=1\n" << +"shapecode_3_r2=1\n" << +"shapecode_3_g2=1\n" << +"shapecode_3_b2=1\n" << +"shapecode_3_a2=1\n" << +"shapecode_3_border_r=0\n" << +"shapecode_3_border_g=0\n" << +"shapecode_3_border_b=0\n" << +"shapecode_3_border_a=0\n" << +"shape_3_per_frame1=x = x + q1;\n" << +"shape_3_per_frame2=y = y + q2;\n" << +"shape_3_per_frame3=r =0.5 + 0.5*sin(q8*0.613 + 1);\n" << +"shape_3_per_frame4=g = 0.5 + 0.5*sin(q8*0.763 + 2);\n" << +"shape_3_per_frame5=b = 0.5 + 0.5*sin(q8*0.771 + 5);\n" << +"shape_3_per_frame6=r2 = 0.5 + 0.5*sin(q8*0.635 + 4);\n" << +"shape_3_per_frame7=g2 = 0.5 + 0.5*sin(q8*0.616+ 1);\n" << +"shape_3_per_frame8=b2 = 0.5 + 0.5*sin(q8*0.538 + 3);\n" << +"shapecode_4_enabled=1\n" << +"shapecode_4_sides=4\n" << +"shapecode_4_additive=0\n" << +"shapecode_4_thickOutline=0\n" << +"shapecode_4_textured=1\n" << +"shapecode_4_ImageURL=headphones.tga\n" << +"shapecode_4_x=0.68\n" << +"shapecode_4_y=0.58\n" << +"shapecode_4_rad=0.6\n" << +"shapecode_4_ang=0\n" << +"shapecode_4_tex_ang=0\n" << +"shapecode_4_tex_zoom=0.71\n" << +"shapecode_4_r=1\n" << +"shapecode_4_g=1\n" << +"shapecode_4_b=1\n" << +"shapecode_4_a=1\n" << +"shapecode_4_r2=1\n" << +"shapecode_4_g2=1\n" << +"shapecode_4_b2=1\n" << +"shapecode_4_a2=1\n" << +"shapecode_4_border_r=0\n" << +"shapecode_4_border_g=0\n" << +"shapecode_4_border_b=0\n" << +"shapecode_4_border_a=0\n" << +"shape_4_per_frame1=x = x + q1;\n" << +"shape_4_per_frame2=y = y + q2;\n" << +"shape_4_per_frame3=rad = rad + bass * 0.1;\n" << +"shape_4_per_frame4=a = q3;\n" << +"shape_4_per_frame5=a2 = q3;\n" << +// disabling projectM logo thingey +// "shapecode_6_enabled=1\n" << +// "shapecode_6_sides=4\n" << +// "shapecode_6_additive=0\n" << +// "shapecode_6_thickOutline=0\n" << +// "shapecode_6_textured=1\n" << +// "shapecode_6_ImageURL=project.tga\n" << +// "shapecode_6_x=0.38\n" << +// "shapecode_6_y=0.435\n" << +// "shapecode_6_rad=0.8\n" << +// "shapecode_6_ang=0\n" << +// "shapecode_6_tex_ang=0\n" << +// "shapecode_6_tex_zoom=0.71\n" << +// "shapecode_6_r=1\n" << +// "shapecode_6_g=1\n" << +// "shapecode_6_b=1\n" << +// "shapecode_6_a=1\n" << +// "shapecode_6_r2=1\n" << +// "shapecode_6_g2=1\n" << +// "shapecode_6_b2=1\n" << +// "shapecode_6_a2=1\n" << +// "shapecode_6_border_r=0\n" << +// "shapecode_6_border_g=0\n" << +// "shapecode_6_border_b=0\n" << +// "shapecode_6_border_a=0\n" << +// "shape_6_per_frame1=x = x + q1;\n" << +// "shape_6_per_frame2=y = y + q2;\n" << +// "shape_6_per_frame3=a = q3;\n" << +// "shape_6_per_frame4=a2 = q3;\n" << +"per_frame_1=ob_r = 0.5 + 0.4*sin(time*1.324);\n" << +"per_frame_2=ob_g = 0.5 + 0.4*cos(time*1.371);\n" << +"per_frame_3=ob_b = 0.5+0.4*sin(2.332*time);\n" << +"per_frame_4=ib_r = 0.5 + 0.25*sin(time*1.424);\n" << +"per_frame_5=ib_g = 0.25 + 0.25*cos(time*1.871);\n" << +"per_frame_6=ib_b = 1-ob_b;\n" << +"per_frame_7=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att);\n" << +"per_frame_8=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg);\n" << +"per_frame_9=xamp = xamp + 0.5*(xamptarg-xamp);\n" << +"per_frame_10=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));\n" << +"per_frame_11=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);\n" << +"per_frame_12=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);\n" << +"per_frame_13=xpos = xpos + 0.001*xspeed;\n" << +"per_frame_14=dx = xpos*0.05;\n" << +"per_frame_15=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg);\n" << +"per_frame_16=yamp = yamp + 0.5*(yamptarg-yamp);\n" << +"per_frame_17=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));\n" << +"per_frame_18=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);\n" << +"per_frame_19=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);\n" << +"per_frame_20=ypos = ypos + 0.001*yspeed;\n" << +"per_frame_21=dy = ypos*0.05;\n" << +"per_frame_22=wave_a = 0;\n" << +"per_frame_23=q8 = oldq8 + 0.0003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps);\n" << +"per_frame_24=oldq8 = q8;\n" << +"per_frame_25=q7 = 0.003*(pow(1+1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps);\n" << +"per_frame_26=rot = 0.4 + 1.5*sin(time*0.273) + 0.4*sin(time*0.379+3);\n" << +"per_frame_27=q1 = 0.05*sin(time*1.14);\n" << +"per_frame_28=q2 = 0.03*sin(time*0.93+2);\n" << +"per_frame_29=q3 = if(above(frame,60),1, frame/60.0);\n" << +"per_frame_30=oldq8 = if(above(oldq8,1000),0,oldq8);\n" << +"per_pixel_1=zoom =( log(sqrt(2)-rad) -0.24)*1;\n"; + +return out.str(); + +} + +std::unique_ptr IdlePresets::allocate(MilkdropPresetFactory *factory, const std::string & name, PresetOutputs & presetOutputs) +{ + + if (name == IDLE_PRESET_NAME) { + std::istringstream in(presetText()); + return std::unique_ptr(new MilkdropPreset(factory, in, IDLE_PRESET_NAME, presetOutputs)); + } + else + return std::unique_ptr(); +} diff --git a/src/libprojectM/MilkdropPresetFactory/IdlePreset.hpp b/src/libprojectM/MilkdropPresetFactory/IdlePreset.hpp new file mode 100644 index 0000000000..537d29dd9c --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/IdlePreset.hpp @@ -0,0 +1,22 @@ +#ifndef IDLE_PRESET_HPP +#define IDLE_PRESET_HPP +#include +#include + +class MilkdropPresetFactory; +class PresetOutputs; +class Preset; + +/// A preset that does not depend on the file system to be loaded. This allows projectM to render +/// something (ie. self indulgent project advertising) even when no valid preset directory is found. +class IdlePresets { + + public: + /// Allocate a new idle preset instance + /// \returns a newly allocated auto pointer of an idle preset instance + static std::unique_ptr allocate(MilkdropPresetFactory *factory, const std::string & path, PresetOutputs & outputs); + private: + static std::string presetText(); + static const std::string IDLE_PRESET_NAME; +}; +#endif diff --git a/src/libprojectM/MilkdropPresetFactory/InitCond.cpp b/src/libprojectM/MilkdropPresetFactory/InitCond.cpp new file mode 100755 index 0000000000..051433ffe0 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/InitCond.cpp @@ -0,0 +1,107 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/* Library functions to manipulate initial condition values */ + +#include +#include +#include + +#include "Common.hpp" +#include "fatal.h" + +#include "Expr.hpp" +#include "InitCond.hpp" +#include "Param.hpp" +#include + +#include "wipemalloc.h" +#include +#include + +char InitCond::init_cond_string_buffer[STRING_BUFFER_SIZE]; +int InitCond::init_cond_string_buffer_index = 0; + +/* Creates a new initial condition */ +InitCond::InitCond( Param * _param, CValue _init_val ):param(_param), init_val(_init_val) +{ + assert(param); +} + +/* Frees initial condition structure */ +InitCond::~InitCond() {} + +void InitCond::evaluate() +{ + evaluate(false); +} + +/* Evaluate an initial conditon */ +void InitCond::evaluate(bool evalUser) +{ + assert(this); + assert(param); + + if (param->flags & P_FLAG_USERDEF && !evalUser) + return; + + /* Has side-effect of also setting matrix flag to zero. This ensures + its constant value will be used rather than a matrix value + */ + param->set_param(init_val); +} + +/* WIP */ +void InitCond::init_cond_to_string() +{ + int string_length; + char string[MAX_TOKEN_SIZE]; + + /* Create a string "param_name=val" */ + switch (param->type) { + + case P_TYPE_BOOL: + sprintf(string, "%s=%d\n", param->name.c_str(), init_val.bool_val); + break; + case P_TYPE_INT: + sprintf(string, "%s=%d\n", param->name.c_str(), init_val.int_val); + break; + case P_TYPE_DOUBLE: + sprintf(string, "%s=%f\n", param->name.c_str(), init_val.float_val); + break; + default: + return; + } + + /* Compute the length of the string */ + string_length = strlen(string); + + /* Buffer overflow check */ + if ((init_cond_string_buffer_index + string_length + 1) > (STRING_BUFFER_SIZE - 1)) + return; + + /* Copy the string into the initial condition string buffer */ + memcpy(init_cond_string_buffer + init_cond_string_buffer_index, string, string_length + 1); + + /* Increment the string buffer, offset by one for the null terminator, which will be + overwritten by the next call to this function */ + init_cond_string_buffer_index+= string_length + 1; +} + diff --git a/src/projectM-engine/InitCond.hpp b/src/libprojectM/MilkdropPresetFactory/InitCond.hpp similarity index 100% rename from src/projectM-engine/InitCond.hpp rename to src/libprojectM/MilkdropPresetFactory/InitCond.hpp diff --git a/src/projectM-engine/InitCondUtils.hpp b/src/libprojectM/MilkdropPresetFactory/InitCondUtils.hpp similarity index 81% rename from src/projectM-engine/InitCondUtils.hpp rename to src/libprojectM/MilkdropPresetFactory/InitCondUtils.hpp index ecbdbcf47b..e63cda7a06 100644 --- a/src/projectM-engine/InitCondUtils.hpp +++ b/src/libprojectM/MilkdropPresetFactory/InitCondUtils.hpp @@ -3,11 +3,12 @@ #include #include "InitCond.hpp" #include +#include namespace InitCondUtils { class LoadUnspecInitCond { public: - + LoadUnspecInitCond(std::map & initCondTree, std::map & perFrameInitEqnTree): m_initCondTree(initCondTree), m_perFrameInitEqnTree(perFrameInitEqnTree) {} @@ -24,10 +25,6 @@ inline void LoadUnspecInitCond::operator() (Param * param) { InitCond * init_cond = 0; CValue init_val; - assert(param); - assert(param->engine_val); - - /* Don't count these parameters as initial conditions */ if (param->flags & P_FLAG_READONLY) return; @@ -47,15 +44,7 @@ inline void LoadUnspecInitCond::operator() (Param * param) { if (m_perFrameInitEqnTree.find(param->name) != m_perFrameInitEqnTree.end()) return; - // Set an initial vialue via correct union member - if (param->type == P_TYPE_BOOL) - init_val.bool_val = param->default_init_val.bool_val; - else if (param->type == P_TYPE_INT) - init_val.int_val = param->default_init_val.int_val; - - else if (param->type == P_TYPE_DOUBLE) { - init_val.float_val = param->default_init_val.float_val; - } + init_val = param->default_init_val; //printf("%s\n", param->name); /* Create new initial condition */ @@ -72,7 +61,7 @@ inline void LoadUnspecInitCond::operator() (Param * param) { } else assert(m_initCondTree.find(param->name)->second); - + } } #endif diff --git a/src/libprojectM/MilkdropPresetFactory/JitContext.hpp b/src/libprojectM/MilkdropPresetFactory/JitContext.hpp new file mode 100644 index 0000000000..f518b592ea --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/JitContext.hpp @@ -0,0 +1,219 @@ +// +// Created by matthew on 1/26/19. +// + +#ifndef PROJECTM_JITCONTEXT_H +#define PROJECTM_JITCONTEXT_H + +#if HAVE_LLVM +#include "llvm/ADT/APFloat.h" +#include "llvm/ADT/STLExtras.h" +#include "llvm/ExecutionEngine/ExecutionEngine.h" +#include "llvm/ExecutionEngine/GenericValue.h" +#include "llvm/IR/BasicBlock.h" +#include "llvm/IR/Constants.h" +#include "llvm/IR/DerivedTypes.h" +#include "llvm/IR/Function.h" +#include "llvm/IR/IRBuilder.h" +#include "llvm/IR/LegacyPassManager.h" +#include "llvm/IR/LLVMContext.h" +#include "llvm/IR/Module.h" +#include "llvm/IR/Type.h" +#include "llvm/IR/Verifier.h" +#include "llvm/Support/TargetSelect.h" +#include "llvm/Target/TargetMachine.h" +#include "llvm/Transforms/InstCombine/InstCombine.h" +#include "llvm/Transforms/Scalar.h" +#include "llvm/Transforms/Scalar/GVN.h" + + +llvm::LLVMContext& getGlobalContext(); + +// Wrapper for one module which corresponds to one jit'd Expr +// TODO consider associating one JitContext with one Preset +struct Symbol +{ + llvm::Value *value = nullptr; + llvm::Value *assigned_value = nullptr; +}; + +struct JitContext +{ + // NOTE: the module is either "owned" by module_ptr OR executionEngine + llvm::LLVMContext &context; + std::unique_ptr module_ptr; + std::unique_ptr fpm; + llvm::Module *module; + llvm::IRBuilder builder; + llvm::Type *floatType; + llvm::Value *mesh_i; + llvm::Value *mesh_j; + std::map symbols; + + + JitContext(std::string name="LLVMModule") : + context(getGlobalContext()), builder(getGlobalContext()) + { + floatType = llvm::Type::getFloatTy(context); + module_ptr = llvm::make_unique(name, context); + module = module_ptr.get(); + + llvm::FastMathFlags fmf; + fmf.set(); + builder.setFastMathFlags(fmf); + +// module->setDataLayout(getTargetMachine().createDataLayout()); + + // Create a new pass manager attached to it. + fpm = llvm::make_unique(module); + fpm->add(llvm::createInstructionCombiningPass()); + fpm->add(llvm::createReassociatePass()); + fpm->add(llvm::createGVNPass()); + fpm->add(llvm::createCFGSimplificationPass()); + fpm->doInitialization(); + } + + ~JitContext() + { + traverse >(symbols); + } + + // helpers + + void OptimizePass() + { + auto end = module->end(); + for (auto it = module->begin(); it != end; ++it) + fpm->run(*it); + } + + llvm::Value *CreateConstant(float x) + { + return llvm::ConstantFP::get(floatType, x); + } + llvm::Value *CreateConstant(int i32) + { + return llvm::ConstantInt::get(llvm::Type::getInt32Ty(context), (uint64_t)(int64_t)i32); + } + llvm::Constant *CreateFloatPtr(float *p) + { + llvm::ConstantInt *pv = llvm::ConstantInt::get(llvm::Type::getInt64Ty(context), (uint64_t)p); + return llvm::ConstantExpr::getIntToPtr(pv , llvm::PointerType::get(floatType, 1)); + } + llvm::Value *CallIntrinsic(llvm::Intrinsic::ID id, llvm::Value *value) + { + std::vector arg_type; + arg_type.push_back(floatType); + llvm::Function *function = llvm::Intrinsic::getDeclaration(module, id, arg_type); + std::vector arg; + arg.push_back(value); + return builder.CreateCall(function, arg); + } + llvm::Value *CallIntrinsic2(llvm::Intrinsic::ID id, llvm::Value *x, llvm::Value *y) + { + std::vector arg_type; + arg_type.push_back(floatType); + arg_type.push_back(floatType); + llvm::Function *function = llvm::Intrinsic::getDeclaration(module, id, arg_type); + std::vector arg; + arg.push_back(x); + arg.push_back(y); + return builder.CreateCall(function, arg); + } + llvm::Value *CallIntrinsic3(llvm::Intrinsic::ID id, llvm::Value *x, llvm::Value *y, llvm::Value *z) + { + std::vector arg_type; + arg_type.push_back(floatType); + arg_type.push_back(floatType); + arg_type.push_back(floatType); + llvm::Function *function = llvm::Intrinsic::getDeclaration(module, id, arg_type); + std::vector arg; + arg.push_back(x); + arg.push_back(y); + arg.push_back(z); + return builder.CreateCall(function, arg); + } + + std::vector parent; + std::vector then_block; + std::vector else_block; + std::vector merge_block; + + void StartTernary(llvm::Value *condition) + { + parent.push_back(builder.GetInsertBlock()->getParent()); + then_block.push_back(llvm::BasicBlock::Create(context, "then", parent.back())); + else_block.push_back(llvm::BasicBlock::Create(context, "else")); + merge_block.push_back(llvm::BasicBlock::Create(context, "fi")); + builder.CreateCondBr(condition, then_block.back(), else_block.back()); + } + void withThen() + { + builder.SetInsertPoint(then_block.back()); + } + void withElse() + { + // finish the withThen block, remember the last block of the THEN (may have changed) + llvm::BasicBlock *lastBlockOfThen = &parent.back()->getBasicBlockList().back(); + then_block.back() = lastBlockOfThen; + builder.CreateBr(merge_block.back()); + parent.back()->getBasicBlockList().push_back(else_block.back()); + builder.SetInsertPoint(else_block.back()); + } + llvm::Value *FinishTernary(llvm::Value *thenValue, llvm::Value *elseValue) + { + // finish the withElse block, remember the last block of the ELSE + llvm::BasicBlock *lastBlockOfElse = &parent.back()->getBasicBlockList().back(); + else_block.back() = lastBlockOfElse; + builder.CreateBr(merge_block.back()); + parent.back()->getBasicBlockList().push_back(merge_block.back()); + builder.SetInsertPoint(merge_block.back()); + llvm::PHINode *mergeValue = builder.CreatePHI(floatType, 2, "iftmp"); + mergeValue->addIncoming(thenValue, then_block.back()); + mergeValue->addIncoming(elseValue, else_block.back()); + parent.pop_back(); + then_block.pop_back(); + else_block.pop_back(); + merge_block.pop_back(); + return mergeValue; + } + + llvm::Value *getSymbolValue(Param *p) + { + auto it = symbols.find(p); + Symbol *sym = (it == symbols.end()) ? nullptr : it->second; + if (sym && sym->value) + return sym->value; + llvm::Value *v = p->_llvm(*this); + // don't remember this value if we are in a conditional + if (!merge_block.empty()) + return v; + if (nullptr == sym) + { + sym = new Symbol(); + symbols.insert(std::make_pair(p, sym)); + } + sym->value = v; + return v; + } + // TODO: we optimize READ of parameters, but not WRITE + // It would help to delay writing to parameters until the last write (or end of function) + // NOTE: be careful of the fact that milkdrop allows assignments inside conditionals + // I don't think the projectM parser handles this yet (?) but just be aware + void assignSymbolValue(Param *p, llvm::Value *v) + { + v->setName(p->name); + auto it = symbols.find(p); + Symbol *sym = (it == symbols.end()) ? nullptr : it->second; + if (nullptr == sym) + { + sym = new Symbol(); + symbols.insert(std::make_pair(p, sym)); + } + sym->value = v; + sym->assigned_value = v; + } +}; +#endif + +#endif //PROJECTM_JITCONTEXT_H diff --git a/src/libprojectM/MilkdropPresetFactory/Makefile.am b/src/libprojectM/MilkdropPresetFactory/Makefile.am new file mode 100644 index 0000000000..9be2d4669a --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Makefile.am @@ -0,0 +1,20 @@ +noinst_LTLIBRARIES=libMilkdropPresetFactory.la + +libMilkdropPresetFactory_la_SOURCES= \ +BuiltinFuncs.cpp Func.cpp BuiltinParams.cpp IdlePreset.cpp Parser.cpp \ +InitCond.cpp PerFrameEqn.cpp CustomShape.cpp \ +PerPixelEqn.cpp CustomWave.cpp MilkdropPreset.cpp PerPointEqn.cpp \ +Eval.cpp MilkdropPresetFactory.cpp PresetFrameIO.cpp \ +Expr.cpp Param.cpp \ +BuiltinFuncs.hpp Func.hpp ParamUtils.hpp\ +BuiltinParams.hpp IdlePreset.hpp Parser.hpp\ +CValue.hpp InitCond.hpp PerFrameEqn.hpp\ +CustomShape.hpp InitCondUtils.hpp PerPixelEqn.hpp\ +CustomWave.hpp MilkdropPreset.hpp PerPointEqn.hpp\ +Eval.hpp MilkdropPresetFactory.hpp PresetFrameIO.hpp\ +Expr.hpp Param.hpp JitContext.hpp + + +libMilkdropPresetFactory_la_CPPFLAGS = ${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-I$(top_srcdir)/src/libprojectM diff --git a/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.cpp b/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.cpp new file mode 100755 index 0000000000..739183de5d --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.cpp @@ -0,0 +1,530 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include + +#ifdef WIN32 +#include "dirent.h" +#else +#include +#endif /** WIN32 */ +#include + +#include "MilkdropPreset.hpp" +#include "Parser.hpp" +#include "ParamUtils.hpp" +#include "InitCondUtils.hpp" +#include "fatal.h" +#include +#include +#include + +#include "PresetFrameIO.hpp" + +#include "PresetFactoryManager.hpp" +#include "MilkdropPresetFactory.hpp" + +#ifdef __SSE2__ +#include +#endif + + +MilkdropPreset::MilkdropPreset(MilkdropPresetFactory *factory, std::istream & in, const std::string & presetName, PresetOutputs & presetOutputs): + Preset(presetName), + builtinParams(_presetInputs, presetOutputs), + per_pixel_program(nullptr), + _factory(factory), + _presetOutputs(presetOutputs) +{ + initialize(in); +} + + +MilkdropPreset::MilkdropPreset(MilkdropPresetFactory *factory, const std::string & absoluteFilePath, const std::string & presetName, PresetOutputs & presetOutputs): + Preset(presetName), + builtinParams(_presetInputs, presetOutputs), + per_pixel_program(nullptr), + _filename(parseFilename(absoluteFilePath)), + _absoluteFilePath(absoluteFilePath), + _factory(factory), + _presetOutputs(presetOutputs) +{ + + initialize(absoluteFilePath); +} + + +MilkdropPreset::~MilkdropPreset() +{ + + traverse >(init_cond_tree); + + traverse >(per_frame_init_eqn_tree); + + traverse >(per_pixel_eqn_tree); + Expr::delete_expr(per_pixel_program); + + traverseVector >(per_frame_eqn_tree); + + traverse >(user_param_tree); + + /// Testing deletion of render items by the preset. would be nice if it worked, + /// and seems to be working if you use a mutex on the preset switching. + + for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); + pos != customWaves.end(); ++pos ) { + // __android_log_print(ANDROID_LOG_ERROR, "projectM", "not freeing wave %x", *pos); + delete(*pos); + } + + for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); + pos != customShapes.end(); ++pos ) { +//__android_log_print(ANDROID_LOG_ERROR, "projectM", "not freeing shape %x", *pos); + + delete(*pos); + } + customWaves.clear(); + customShapes.clear(); + + if (nullptr != _factory) + _factory->releasePreset(this); +} + +/* Adds a per pixel equation according to its string name. This + will be used only by the parser */ + +int MilkdropPreset::add_per_pixel_eqn(char * name, Expr * gen_expr) +{ + + PerPixelEqn * per_pixel_eqn = NULL; + int index; + Param * param = NULL; + + assert(gen_expr); + assert(name); + + if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: per pixel equation (name = \"%s\")\n", name); + + /* Search for the parameter so we know what matrix the per pixel equation is referencing */ + + param = ParamUtils::find(name, &this->builtinParams, &this->user_param_tree); + if ( !param ) + { + if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: failed to allocate a new parameter!\n"); + return PROJECTM_FAILURE; + } + + index = per_pixel_eqn_tree.size(); + + /* Create the per pixel equation given the index, parameter, and general expression */ + if ((per_pixel_eqn = new PerPixelEqn(index, param, gen_expr)) == NULL) + { + if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: failed to create new per pixel equation!\n"); + return PROJECTM_FAILURE; + } + + + + /* Insert the per pixel equation into the preset per pixel database */ + std::pair::iterator, bool> inserteeOption = per_pixel_eqn_tree.insert + (std::make_pair(per_pixel_eqn->index, per_pixel_eqn)); + + if (!inserteeOption.second) + { + printf("failed to add per pixel eqn!\n"); + delete(per_pixel_eqn); + return PROJECTM_FAILURE; + } + + /* Done */ + return PROJECTM_SUCCESS; +} + +void MilkdropPreset::evalCustomShapeInitConditions() +{ + + for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) { + assert(*pos); + (*pos)->evalInitConds(); + } +} + + +void MilkdropPreset::evalCustomWaveInitConditions() +{ + + for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) { + assert(*pos); + (*pos)->evalInitConds(); +} +} + + +void MilkdropPreset::evalCustomWavePerFrameEquations() +{ + + for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) + { + + std::map & init_cond_tree2 = (*pos)->init_cond_tree; + for (std::map::iterator _pos = init_cond_tree2.begin(); _pos != init_cond_tree2.end(); ++_pos) + { + assert(_pos->second); + _pos->second->evaluate(); + } + + std::vector & per_frame_eqn_tree2 = (*pos)->per_frame_eqn_tree; + for (std::vector::iterator _pos = per_frame_eqn_tree2.begin(); _pos != per_frame_eqn_tree2.end(); ++_pos) + { + (*_pos)->evaluate(); + } + } + +} + +void MilkdropPreset::evalCustomShapePerFrameEquations() +{ + + for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) + { + + std::map & init_cond_tree2 = (*pos)->init_cond_tree; + for (std::map::iterator _pos = init_cond_tree2.begin(); _pos != init_cond_tree2.end(); ++_pos) + { + assert(_pos->second); + _pos->second->evaluate(); + } + + std::vector & per_frame_eqn_tree2 = (*pos)->per_frame_eqn_tree; + for (std::vector::iterator _pos = per_frame_eqn_tree2.begin(); _pos != per_frame_eqn_tree2.end(); ++_pos) + { + (*_pos)->evaluate(); + } + } + +} + +void MilkdropPreset::evalPerFrameInitEquations() +{ + + for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) + { + assert(pos->second); + pos->second->evaluate(); + } + +} + +void MilkdropPreset::evalPerFrameEquations() +{ + + for (std::map::iterator pos = init_cond_tree.begin(); pos != init_cond_tree.end(); ++pos) + { + assert(pos->second); + pos->second->evaluate(); + } + + for (std::vector::iterator pos = per_frame_eqn_tree.begin(); pos != per_frame_eqn_tree.end(); ++pos) + { + (*pos)->evaluate(); + } + +} + +void MilkdropPreset::preloadInitialize() { + + /// @note commented this out because it should be unnecessary + // Clear equation trees + //init_cond_tree.clear(); + //user_param_tree.clear(); + //per_frame_eqn_tree.clear(); + //per_pixel_eqn_tree.clear(); + //per_frame_init_eqn_tree.clear(); + + +} + +void MilkdropPreset::postloadInitialize() +{ + /* It's kind of ugly to reset these values here. Should definitely be placed in the parser somewhere */ + this->per_frame_eqn_count = 0; + this->per_frame_init_eqn_count = 0; + + this->loadBuiltinParamsUnspecInitConds(); + this->loadCustomWaveUnspecInitConds(); + this->loadCustomShapeUnspecInitConds(); + + +/// @bug are you handling all the q variables conditions? in particular, the un-init case? +//m_presetOutputs.q1 = 0; +//m_presetOutputs.q2 = 0; +//m_presetOutputs.q3 = 0; +//m_presetOutputs.q4 = 0; +//m_presetOutputs.q5 = 0; +//m_presetOutputs.q6 = 0; +//m_presetOutputs.q7 = 0; +//m_presetOutputs.q8 = 0; + +} + +void MilkdropPreset::Render(const BeatDetect &music, const PipelineContext &context) +{ + _presetInputs.update(music, context); + + evaluateFrame(); + pipeline().Render(music, context); + +} + +void MilkdropPreset::initialize(const std::string & pathname) +{ + preloadInitialize(); + +if (MILKDROP_PRESET_DEBUG) + std::cerr << "[Preset] loading file \"" << pathname << "\"..." << std::endl; + + loadPresetFile(pathname); + + postloadInitialize(); + + if (!presetOutputs().compositeShader.programSource.empty()) + pipeline().compositeShaderFilename = pathname; + if (!presetOutputs().warpShader.programSource.empty()) + pipeline().warpShaderFilename = pathname; +} + +void MilkdropPreset::initialize(std::istream & in) +{ + int retval; + + preloadInitialize(); + + if ((retval = readIn(in)) < 0) + { + + if (MILKDROP_PRESET_DEBUG) + std::cerr << "[Preset] failed to load from stream " << std::endl; + + /// @bug how should we handle this problem? a well define exception? + throw PresetFactoryException("failed to read from input stream"); + } + + postloadInitialize(); +} + +void MilkdropPreset::loadBuiltinParamsUnspecInitConds() { + + InitCondUtils::LoadUnspecInitCond loadUnspecInitCond(this->init_cond_tree, this->per_frame_init_eqn_tree); + + this->builtinParams.apply(loadUnspecInitCond); + traverse(user_param_tree, loadUnspecInitCond); + +} + +void MilkdropPreset::loadCustomWaveUnspecInitConds() +{ + + for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) + { + assert(*pos); + (*pos)->loadUnspecInitConds(); + } + +} + +void MilkdropPreset::loadCustomShapeUnspecInitConds() +{ + + for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); + pos != customShapes.end(); ++pos) + { + assert(*pos); + (*pos)->loadUnspecInitConds(); + } +} + + +void MilkdropPreset::evaluateFrame() +{ + + // Evaluate all equation objects according to milkdrop flow diagram + + evalPerFrameInitEquations(); + evalPerFrameEquations(); + + // Important step to ensure custom shapes and waves don't stamp on the q variable values + // calculated by the per frame (init) and per pixel equations. + transfer_q_variables(customWaves); + transfer_q_variables(customShapes); + + initialize_PerPixelMeshes(); + + evalPerPixelEqns(); + + evalCustomWaveInitConditions(); + evalCustomWavePerFrameEquations(); + + evalCustomShapeInitConditions(); + evalCustomShapePerFrameEquations(); + + // Setup pointers of the custom waves and shapes to the preset outputs instance + /// @slow an extra O(N) per frame, could do this during eval + _presetOutputs.customWaves = PresetOutputs::cwave_container(customWaves); + _presetOutputs.customShapes = PresetOutputs::cshape_container(customShapes); + +} + + +#ifdef __SSE2__ +inline void init_mesh(float **mesh, const float value, const int gx, const int gy) +{ + __m128 mvalue = _mm_set_ps1(value); + for (int x = 0; x < gx; x++) + for (int y = 0; y < gy; y += 4) + _mm_store_ps(&mesh[x][y], mvalue); +} +#else +inline void init_mesh(float **mesh, const float value, const int gx, const int gy) +{ + for (int x=0; x steps; + for (std::map::iterator pos = per_pixel_eqn_tree.begin(); pos != per_pixel_eqn_tree.end(); ++pos) + steps.push_back(pos->second->assign_expr); + Expr *program_expr = Expr::create_program_expr(steps, false); + Expr *jit = nullptr; +#if HAVE_LLVM + std::string module_name = this->_filename + "_per_pixel"; + if (!steps.empty()) + jit = Expr::jit(program_expr, module_name); +#endif + per_pixel_program = jit ? jit : program_expr; + } + + for (int mesh_x = 0; mesh_x < presetInputs().gx; mesh_x++) + for (int mesh_y = 0; mesh_y < presetInputs().gy; mesh_y++) + per_pixel_program->eval( mesh_x, mesh_y ); +} + +int MilkdropPreset::readIn(std::istream & fs) { + + presetOutputs().compositeShader.programSource.clear(); + presetOutputs().warpShader.programSource.clear(); + + /* Parse any comments */ + if (Parser::parse_top_comment(fs) < 0) + { + if (MILKDROP_PRESET_DEBUG) + std::cerr << "[Preset::readIn] no left bracket found..." << std::endl; + return PROJECTM_FAILURE; + } + + /* Parse the preset name and a left bracket */ + char tmp_name[MAX_TOKEN_SIZE]; + + if (Parser::parse_preset_name(fs, tmp_name) < 0) + { + std::cerr << "[Preset::readIn] loading of preset name failed" << std::endl; + return PROJECTM_ERROR; + } + + /// @note We ignore the preset name because [preset00] is just not so useful + + // Loop through each line in file, trying to successfully parse the file. + // If a line does not parse correctly, keep trucking along to next line. + int retval; + while ((retval = Parser::parse_line(fs, this)) != EOF) + { + if (retval == PROJECTM_PARSE_ERROR) + { + // std::cerr << "[Preset::readIn()] parse error in file \"" << this->absoluteFilePath() << "\"" << std::endl; + } + } + +// std::cerr << "loadPresetFile: finished line parsing successfully" << std::endl; + + /* Now the preset has been loaded. + Evaluation calls can be made at appropiate + times in the frame loop */ + +return PROJECTM_SUCCESS; +} + +/* loadPresetFile: private function that loads a specific preset denoted + by the given pathname */ +int MilkdropPreset::loadPresetFile(const std::string & pathname) +{ + + + /* Open the file corresponding to pathname */ + std::ifstream fs(pathname.c_str()); + if (!fs || fs.eof()) { + + std::ostringstream oss; + oss << "Problem reading file from path: \"" << pathname << "\""; + + throw PresetFactoryException(oss.str()); + + } + + return readIn(fs); + +} + +const std::string & MilkdropPreset::name() const { + + return filename(); +} + diff --git a/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.hpp b/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.hpp new file mode 100644 index 0000000000..c10fa43c3c --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/MilkdropPreset.hpp @@ -0,0 +1,236 @@ + +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * MilkdropPreset + * + * $Log$ + */ + +#ifndef _MilkdropPreset_HPP +#define _MilkdropPreset_HPP + +#include "Common.hpp" +#include +#include +#include + +#define MILKDROP_PRESET_DEBUG 0 /* 0 for no debugging, 1 for normal, 2 for insane */ + +#include "CustomShape.hpp" +#include "CustomWave.hpp" +#include "Expr.hpp" +#include "PerPixelEqn.hpp" +#include "PerFrameEqn.hpp" +#include "BuiltinParams.hpp" +#include "PresetFrameIO.hpp" +#include "InitCond.hpp" +#include "Preset.hpp" + +class MilkdropPresetFactory; +class CustomWave; +class CustomShape; +class InitCond; + + +class MilkdropPreset : public Preset +{ + +public: + + + /// Load a MilkdropPreset by filename with input and output buffers specified. + /// \param absoluteFilePath the absolute file path of a MilkdropPreset to load from the file system + /// \param MilkdropPresetName a descriptive name for the MilkdropPreset. Usually just the file name + /// \param MilkdropPresetInputs a reference to read only projectM engine variables + /// \param MilkdropPresetOutputs initialized and filled with data parsed from a MilkdropPreset + MilkdropPreset(MilkdropPresetFactory *factory, const std::string & absoluteFilePath, const std::string & milkdropPresetName, PresetOutputs & presetOutputs); + + /// Load a MilkdropPreset from an input stream with input and output buffers specified. + /// \param in an already initialized input stream to read the MilkdropPreset file from + /// \param MilkdropPresetName a descriptive name for the MilkdropPreset. Usually just the file name + /// \param MilkdropPresetInputs a reference to read only projectM engine variables + /// \param MilkdropPresetOutputs initialized and filled with data parsed from a MilkdropPreset + MilkdropPreset(MilkdropPresetFactory *factory, std::istream & in, const std::string & milkdropPresetName, PresetOutputs & presetOutputs); + + ~MilkdropPreset(); + + /// All "builtin" parameters for this MilkdropPreset. Anything *but* user defined parameters and + /// custom waves / shapes objects go here. + /// @bug encapsulate + BuiltinParams builtinParams; + + + /// Used by parser to find/create custom waves and shapes. May be refactored + template + static CustomObject * find_custom_object(int id, std::vector & customObjects); + + + int per_pixel_eqn_string_index; + int per_frame_eqn_string_index; + int per_frame_init_eqn_string_index; + + int per_frame_eqn_count, + per_frame_init_eqn_count; + + + /// Used by parser + /// @bug refactor + int add_per_pixel_eqn( char *name, Expr *gen_expr ); + + /// Accessor method to retrieve the absolute file path of the loaded MilkdropPreset + /// \returns a file path string + std::string absoluteFilePath() const + { + return _absoluteFilePath; + } + + + /// Accessor method for the MilkdropPreset outputs instance associated with this MilkdropPreset + /// \returns A MilkdropPreset output instance with values computed from most recent evaluateFrame() + PresetOutputs & presetOutputs() const + { + + return _presetOutputs; + } + + const PresetInputs & presetInputs() const + { + + return _presetInputs; + } + + +// @bug encapsulate + + PresetOutputs::cwave_container customWaves; + PresetOutputs::cshape_container customShapes; + + /// @bug encapsulate + /* Data structures that contain equation and initial condition information */ + std::vector per_frame_eqn_tree; /* per frame equations */ + std::map per_pixel_eqn_tree; /* per pixel equation tree */ + Expr *per_pixel_program; + std::map per_frame_init_eqn_tree; /* per frame initial equations */ + std::map init_cond_tree; /* initial conditions */ + std::map user_param_tree; /* user parameter splay tree */ + + + PresetOutputs & pipeline() { return _presetOutputs; } + + void Render(const BeatDetect &music, const PipelineContext &context); + const std::string & name() const; + const std::string & filename() const { return _filename; } +private: + std::string _filename; + PresetInputs _presetInputs; + /// Evaluates the MilkdropPreset for a frame given the current values of MilkdropPreset inputs / outputs + /// All calculated values are stored in the associated MilkdropPreset outputs instance + void evaluateFrame(); + + // The absolute file path of the MilkdropPreset + std::string _absoluteFilePath; + + // The absolute path of the MilkdropPreset + std::string _absolutePath; + + void initialize(const std::string & pathname); + void initialize(std::istream & in); + + int loadPresetFile(const std::string & pathname); + + void loadBuiltinParamsUnspecInitConds(); + void loadCustomWaveUnspecInitConds(); + void loadCustomShapeUnspecInitConds(); + + void evalCustomWavePerFrameEquations(); + void evalCustomShapePerFrameEquations(); + void evalPerFrameInitEquations(); + void evalCustomWaveInitConditions(); + void evalCustomShapeInitConditions(); + void evalPerPixelEqns(); + void evalPerFrameEquations(); + void initialize_PerPixelMeshes(); + int readIn(std::istream & fs); + + void preloadInitialize(); + void postloadInitialize(); + + MilkdropPresetFactory *_factory; + PresetOutputs & _presetOutputs; + +template +void transfer_q_variables(std::vector & customObjects); + +friend class MilkdropPresetFactory; +}; + + +template +void MilkdropPreset::transfer_q_variables(std::vector & customObjects) +{ + CustomObject * custom_object; + + for (typename std::vector::iterator pos = customObjects.begin(); pos != customObjects.end();++pos) { + + custom_object = *pos; + for (unsigned int i = 0; i < NUM_Q_VARIABLES; i++) + custom_object->q[i] = _presetOutputs.q[i]; + } + + +} + +template +CustomObject * MilkdropPreset::find_custom_object(int id, std::vector & customObjects) +{ + + CustomObject * custom_object = NULL; + + + for (typename std::vector::iterator pos = customObjects.begin(); pos != customObjects.end();++pos) { + if ((*pos)->id == id) { + custom_object = *pos; + break; + } + } + + if (custom_object == NULL) + { + + if ((custom_object = new CustomObject(id)) == NULL) + { + return NULL; + } + + customObjects.push_back(custom_object); + + } + + assert(custom_object); + return custom_object; +} + + + +#endif /** !_MilkdropPreset_HPP */ diff --git a/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.cpp b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.cpp new file mode 100644 index 0000000000..ad966948e9 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.cpp @@ -0,0 +1,242 @@ +// +// C++ Implementation: MilkdropPresetFactory +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// +// +#include "MilkdropPresetFactory.hpp" +#include "MilkdropPreset.hpp" +#include "BuiltinFuncs.hpp" +#include "Eval.hpp" +#include "IdlePreset.hpp" +#include "PresetFrameIO.hpp" + +MilkdropPresetFactory::MilkdropPresetFactory(int gx_, int gy_): gx(gx_), gy(gy_), _presetOutputsCache(nullptr) +{ + /* Initializes the builtin function database */ + BuiltinFuncs::init_builtin_func_db(); + + /* Initializes all infix operators */ + Eval::init_infix_ops(); +} + +MilkdropPresetFactory::~MilkdropPresetFactory() { + +// std::cerr << "[~MilkdropPresetFactory] destroy infix ops" << std::endl; + Eval::destroy_infix_ops(); +// std::cerr << "[~MilkdropPresetFactory] destroy builtin func" << std::endl; + BuiltinFuncs::destroy_builtin_func_db(); +// std::cerr << "[~MilkdropPresetFactory] delete preset out puts" << std::endl; + delete(_presetOutputsCache); +// std::cerr << "[~MilkdropPresetFactory] done" << std::endl; +} + +/* Reinitializes the engine variables to a default (conservative and sane) value */ +void resetPresetOutputs(PresetOutputs * presetOutputs) +{ + + presetOutputs->zoom=1.0; + presetOutputs->zoomexp = 1.0; + presetOutputs->rot= 0.0; + presetOutputs->warp= 0.0; + + presetOutputs->sx= 1.0; + presetOutputs->sy= 1.0; + presetOutputs->dx= 0.0; + presetOutputs->dy= 0.0; + presetOutputs->cx= 0.5; + presetOutputs->cy= 0.5; + + presetOutputs->screenDecay=.98; + + presetOutputs->wave.r= 1.0; + presetOutputs->wave.g= 0.2; + presetOutputs->wave.b= 0.0; + presetOutputs->wave.x= 0.5; + presetOutputs->wave.y= 0.5; + presetOutputs->wave.mystery= 0.0; + + presetOutputs->border.outer_size= 0.0; + presetOutputs->border.outer_r= 0.0; + presetOutputs->border.outer_g= 0.0; + presetOutputs->border.outer_b= 0.0; + presetOutputs->border.outer_a= 0.0; + + presetOutputs->border.inner_size = 0.0; + presetOutputs->border.inner_r = 0.0; + presetOutputs->border.inner_g = 0.0; + presetOutputs->border.inner_b = 0.0; + presetOutputs->border.inner_a = 0.0; + + presetOutputs->mv.a = 0.0; + presetOutputs->mv.r = 0.0; + presetOutputs->mv.g = 0.0; + presetOutputs->mv.b = 0.0; + presetOutputs->mv.length = 1.0; + presetOutputs->mv.x_num = 16.0; + presetOutputs->mv.y_num = 12.0; + presetOutputs->mv.x_offset = 0.02; + presetOutputs->mv.y_offset = 0.02; + + + /* PER_FRAME CONSTANTS END */ + presetOutputs->fRating = 0; + presetOutputs->fGammaAdj = 1.0; + presetOutputs->videoEcho.zoom = 1.0; + presetOutputs->videoEcho.a = 0; + presetOutputs->videoEcho.orientation = Normal; + + presetOutputs->wave.additive = false; + presetOutputs->wave.dots = false; + presetOutputs->wave.thick = false; + presetOutputs->wave.modulateAlphaByVolume = 0; + presetOutputs->wave.maximizeColors = 0; + presetOutputs->textureWrap = 0; + presetOutputs->bDarkenCenter = 0; + presetOutputs->bRedBlueStereo = 0; + presetOutputs->bBrighten = 0; + presetOutputs->bDarken = 0; + presetOutputs->bSolarize = 0; + presetOutputs->bInvert = 0; + presetOutputs->bMotionVectorsOn = 1; + + presetOutputs->wave.a =1.0; + presetOutputs->wave.scale = 1.0; + presetOutputs->wave.smoothing = 0; + presetOutputs->wave.mystery = 0; + presetOutputs->wave.modOpacityEnd = 0; + presetOutputs->wave.modOpacityStart = 0; + presetOutputs->fWarpAnimSpeed = 0; + presetOutputs->fWarpScale = 0; + presetOutputs->fShader = 0; + + /* PER_PIXEL CONSTANT END */ + /* Q VARIABLES START */ + + for (int i = 0;i< 32;i++) + presetOutputs->q[i] = 0; + +// for ( std::vector::iterator pos = presetOutputs->customWaves.begin(); +// pos != presetOutputs->customWaves.end(); ++pos ) +// if ( *pos != 0 ) delete ( *pos ); + +// for ( std::vector::iterator pos = presetOutputs->customShapes.begin(); +// pos != presetOutputs->customShapes.end(); ++pos ) +// if ( *pos != 0 ) delete ( *pos ); + + presetOutputs->customWaves.clear(); + presetOutputs->customShapes.clear(); + + /* Q VARIABLES END */ + +} + + +/* Reinitializes the engine variables to a default (conservative and sane) value */ +void MilkdropPresetFactory::reset() +{ + + if (_presetOutputsCache) + resetPresetOutputs(_presetOutputsCache); +} + +PresetOutputs* MilkdropPresetFactory::createPresetOutputs(int gx, int gy) +{ + + PresetOutputs *presetOutputs = new PresetOutputs(); + + presetOutputs->Initialize(gx,gy); + + /* PER FRAME CONSTANTS BEGIN */ + presetOutputs->zoom=1.0; + presetOutputs->zoomexp = 1.0; + presetOutputs->rot= 0.0; + presetOutputs->warp= 0.0; + + presetOutputs->sx= 1.0; + presetOutputs->sy= 1.0; + presetOutputs->dx= 0.0; + presetOutputs->dy= 0.0; + presetOutputs->cx= 0.5; + presetOutputs->cy= 0.5; + + presetOutputs->screenDecay=.98; + + +//_presetInputs.meshx = 0; +//_presetInputs.meshy = 0; + + + /* PER_FRAME CONSTANTS END */ + presetOutputs->fRating = 0; + presetOutputs->fGammaAdj = 1.0; + presetOutputs->videoEcho.zoom = 1.0; + presetOutputs->videoEcho.a = 0; + presetOutputs->videoEcho.orientation = Normal; + + presetOutputs->textureWrap = 0; + presetOutputs->bDarkenCenter = 0; + presetOutputs->bRedBlueStereo = 0; + presetOutputs->bBrighten = 0; + presetOutputs->bDarken = 0; + presetOutputs->bSolarize = 0; + presetOutputs->bInvert = 0; + presetOutputs->bMotionVectorsOn = 1; + + presetOutputs->fWarpAnimSpeed = 0; + presetOutputs->fWarpScale = 0; + presetOutputs->fShader = 0; + + /* PER_PIXEL CONSTANTS BEGIN */ + + /* PER_PIXEL CONSTANT END */ + + /* Q AND T VARIABLES START */ + + for (unsigned int i = 0;iq[i] = 0; + + /* Q AND T VARIABLES END */ + return presetOutputs; +} + + +std::unique_ptr MilkdropPresetFactory::allocate(const std::string & url, const std::string & name, const std::string & author) { + + PresetOutputs *presetOutputs; + // use cached PresetOutputs if there is one, otherwise allocate + if (_presetOutputsCache) + { + presetOutputs = _presetOutputsCache; + _presetOutputsCache = nullptr; + } + else + { + presetOutputs = createPresetOutputs(gx,gy); + } + + resetPresetOutputs(presetOutputs); + + std::string path; + if (PresetFactory::protocol(url, path) == PresetFactory::IDLE_PRESET_PROTOCOL) { + return IdlePresets::allocate(this, path, *presetOutputs); + } else + return std::unique_ptr(new MilkdropPreset(this, url, name, *presetOutputs)); +} + +// this gives the preset a way to return the PresetOutput w/o dependency on class projectM behavior +void MilkdropPresetFactory::releasePreset(Preset *preset_) +{ + MilkdropPreset *preset = (MilkdropPreset *)preset_; + // return PresetOutputs to the cache + if (nullptr == _presetOutputsCache) + _presetOutputsCache = &preset->_presetOutputs; + else + delete &preset->_presetOutputs; +} diff --git a/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.hpp b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.hpp new file mode 100644 index 0000000000..76802b1709 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.hpp @@ -0,0 +1,46 @@ +// +// C++ Interface: MilkdropPresetFactory +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#ifndef __MILKDROP_PRESET_FACTORY_HPP +#define __MILKDROP_PRESET_FACTORY_HPP + +#include +#include "../PresetFactory.hpp" +class DLLEXPORT PresetOutputs; +class DLLEXPORT PresetInputs; + +class MilkdropPresetFactory : public PresetFactory { + +public: + + MilkdropPresetFactory(int gx, int gy); + + virtual ~MilkdropPresetFactory(); + + std::unique_ptr allocate(const std::string & url, const std::string & name = std::string(), + const std::string & author = std::string()); + + std::string supportedExtensions() const { return "milk prjm"; } + + // called by ~MilkdropPreset + void releasePreset(Preset *preset); + +private: + static PresetOutputs* createPresetOutputs(int gx, int gy); + void reset(); + int gx; + int gy; + PresetOutputs * _presetOutputsCache; + //PresetInputs _presetInputs; +}; + +#endif diff --git a/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.xcodeproj/project.pbxproj b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..794d500ba3 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/MilkdropPresetFactory.xcodeproj/project.pbxproj @@ -0,0 +1,290 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXFileReference section */ + 161789D0207A68A200D3B0C8 /* CustomShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CustomShape.cpp; sourceTree = ""; }; + 161789D1207A68A200D3B0C8 /* Func.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Func.cpp; sourceTree = ""; }; + 161789D2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPreset.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-MilkdropPreset.lo"; sourceTree = ""; }; + 161789D3207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPixelEqn.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-PerPixelEqn.lo"; sourceTree = ""; }; + 161789D4207A68A200D3B0C8 /* MilkdropPreset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MilkdropPreset.cpp; sourceTree = ""; }; + 161789D5207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Eval.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-Eval.o"; sourceTree = ""; }; + 161789D6207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomShape.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-CustomShape.o"; sourceTree = ""; }; + 161789D7207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinFuncs.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-BuiltinFuncs.lo"; sourceTree = ""; }; + 161789D8207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerFrameEqn.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-PerFrameEqn.lo"; sourceTree = ""; }; + 161789D9207A68A200D3B0C8 /* .DS_Store */ = {isa = PBXFileReference; lastKnownFileType = file; path = .DS_Store; sourceTree = ""; }; + 161789DA207A68A200D3B0C8 /* PerPointEqn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PerPointEqn.cpp; sourceTree = ""; }; + 161789DB207A68A200D3B0C8 /* Parser.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Parser.hpp; sourceTree = ""; }; + 161789DC207A68A200D3B0C8 /* PresetFrameIO.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PresetFrameIO.hpp; sourceTree = ""; }; + 161789DD207A68A200D3B0C8 /* Eval.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Eval.hpp; sourceTree = ""; }; + 161789DE207A68A200D3B0C8 /* IdlePreset.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = IdlePreset.hpp; sourceTree = ""; }; + 161789DF207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Param.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-Param.lo"; sourceTree = ""; }; + 161789E0207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPointEqn.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-PerPointEqn.lo"; sourceTree = ""; }; + 161789E1207A68A200D3B0C8 /* PerFrameEqn.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PerFrameEqn.hpp; sourceTree = ""; }; + 161789E2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPresetFactory.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-MilkdropPresetFactory.lo"; sourceTree = ""; }; + 161789E3207A68A200D3B0C8 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 161789E4207A68A200D3B0C8 /* BuiltinParams.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = BuiltinParams.hpp; sourceTree = ""; }; + 161789E5207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinParams.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-BuiltinParams.o"; sourceTree = ""; }; + 161789E6207A68A200D3B0C8 /* PerPixelEqn.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PerPixelEqn.hpp; sourceTree = ""; }; + 161789E7207A68A200D3B0C8 /* MilkdropPresetFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MilkdropPresetFactory.cpp; sourceTree = ""; }; + 161789E8207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPointEqn.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-PerPointEqn.o"; sourceTree = ""; }; + 161789E9207A68A200D3B0C8 /* BuiltinFuncs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltinFuncs.cpp; sourceTree = ""; }; + 161789EA207A68A200D3B0C8 /* CValue.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CValue.hpp; sourceTree = ""; }; + 161789EB207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerFrameEqn.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-PerFrameEqn.o"; sourceTree = ""; }; + 161789EC207A68A200D3B0C8 /* Expr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = ""; }; + 161789ED207A68A200D3B0C8 /* Param.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Param.hpp; sourceTree = ""; }; + 161789EE207A68A200D3B0C8 /* CustomWave.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CustomWave.hpp; sourceTree = ""; }; + 161789EF207A68A200D3B0C8 /* InitCond.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InitCond.cpp; sourceTree = ""; }; + 161789F0207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Param.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-Param.o"; sourceTree = ""; }; + 161789F1207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomWave.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-CustomWave.o"; sourceTree = ""; }; + 161789F2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Func.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-Func.o"; sourceTree = ""; }; + 161789F3207A68A200D3B0C8 /* Makefile.am */ = {isa = PBXFileReference; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; + 161789F4207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PresetFrameIO.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-PresetFrameIO.o"; sourceTree = ""; }; + 161789F5207A68A200D3B0C8 /* BuiltinParams.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltinParams.cpp; sourceTree = ""; }; + 161789F6207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomShape.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-CustomShape.lo"; sourceTree = ""; }; + 161789F7207A68A200D3B0C8 /* PerPixelEqn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PerPixelEqn.cpp; sourceTree = ""; }; + 161789F8207A68A200D3B0C8 /* MilkdropPresetFactory.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MilkdropPresetFactory.hpp; sourceTree = ""; }; + 161789F9207A68A200D3B0C8 /* BuiltinFuncs.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = BuiltinFuncs.hpp; sourceTree = ""; }; + 161789FA207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Parser.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-Parser.lo"; sourceTree = ""; }; + 161789FB207A68A200D3B0C8 /* Param.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Param.cpp; sourceTree = ""; }; + 161789FC207A68A200D3B0C8 /* Expr.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Expr.hpp; sourceTree = ""; }; + 161789FD207A68A200D3B0C8 /* CustomWave.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CustomWave.cpp; sourceTree = ""; }; + 161789FE207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinFuncs.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-BuiltinFuncs.o"; sourceTree = ""; }; + 161789FF207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PresetFrameIO.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-PresetFrameIO.lo"; sourceTree = ""; }; + 16178A00207A68A200D3B0C8 /* InitCond.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = InitCond.hpp; sourceTree = ""; }; + 16178A01207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPixelEqn.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-PerPixelEqn.o"; sourceTree = ""; }; + 16178A02207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPreset.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-MilkdropPreset.o"; sourceTree = ""; }; + 16178A03207A68A200D3B0C8 /* libMilkdropPresetFactory_la-InitCond.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-InitCond.lo"; sourceTree = ""; }; + 16178A04207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomWave.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-CustomWave.lo"; sourceTree = ""; }; + 16178A05207A68A200D3B0C8 /* ParamUtils.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ParamUtils.hpp; sourceTree = ""; }; + 16178A06207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPresetFactory.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-MilkdropPresetFactory.o"; sourceTree = ""; }; + 16178A07207A68A200D3B0C8 /* libMilkdropPresetFactory_la-InitCond.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-InitCond.o"; sourceTree = ""; }; + 16178A08207A68A200D3B0C8 /* CustomShape.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CustomShape.hpp; sourceTree = ""; }; + 16178A09207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Expr.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-Expr.lo"; sourceTree = ""; }; + 16178A0A207A68A200D3B0C8 /* Func.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Func.hpp; sourceTree = ""; }; + 16178A0B207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Func.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-Func.lo"; sourceTree = ""; }; + 16178A0C207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Parser.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-Parser.o"; sourceTree = ""; }; + 16178A0D207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Expr.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-Expr.o"; sourceTree = ""; }; + 16178A0E207A68A200D3B0C8 /* MilkdropPreset.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MilkdropPreset.hpp; sourceTree = ""; }; + 16178A0F207A68A200D3B0C8 /* .deps */ = {isa = PBXFileReference; lastKnownFileType = folder; path = .deps; sourceTree = ""; }; + 16178A10207A68A200D3B0C8 /* libMilkdropPresetFactory.la */ = {isa = PBXFileReference; lastKnownFileType = text; path = libMilkdropPresetFactory.la; sourceTree = ""; }; + 16178A11207A68A200D3B0C8 /* .libs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = .libs; sourceTree = ""; }; + 16178A12207A68A200D3B0C8 /* Makefile.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; + 16178A13207A68A200D3B0C8 /* PerPointEqn.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PerPointEqn.hpp; sourceTree = ""; }; + 16178A14207A68A200D3B0C8 /* Parser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Parser.cpp; sourceTree = ""; }; + 16178A15207A68A200D3B0C8 /* PresetFrameIO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PresetFrameIO.cpp; sourceTree = ""; }; + 16178A16207A68A200D3B0C8 /* Eval.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Eval.cpp; sourceTree = ""; }; + 16178A17207A68A200D3B0C8 /* IdlePreset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = IdlePreset.cpp; sourceTree = ""; }; + 16178A18207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinParams.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-BuiltinParams.lo"; sourceTree = ""; }; + 16178A19207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Eval.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-Eval.lo"; sourceTree = ""; }; + 16178A1A207A68A200D3B0C8 /* libMilkdropPresetFactory_la-IdlePreset.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libMilkdropPresetFactory_la-IdlePreset.lo"; sourceTree = ""; }; + 16178A1B207A68A200D3B0C8 /* PerFrameEqn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PerFrameEqn.cpp; sourceTree = ""; }; + 16178A1C207A68A200D3B0C8 /* InitCondUtils.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = InitCondUtils.hpp; sourceTree = ""; }; + 16178A1D207A68A200D3B0C8 /* libMilkdropPresetFactory_la-IdlePreset.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libMilkdropPresetFactory_la-IdlePreset.o"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 161789CA207A68A200D3B0C8 = { + isa = PBXGroup; + children = ( + 161789D0207A68A200D3B0C8 /* CustomShape.cpp */, + 161789D1207A68A200D3B0C8 /* Func.cpp */, + 161789D2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPreset.lo */, + 161789D3207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPixelEqn.lo */, + 161789D4207A68A200D3B0C8 /* MilkdropPreset.cpp */, + 161789D5207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Eval.o */, + 161789D6207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomShape.o */, + 161789D7207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinFuncs.lo */, + 161789D8207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerFrameEqn.lo */, + 161789D9207A68A200D3B0C8 /* .DS_Store */, + 161789DA207A68A200D3B0C8 /* PerPointEqn.cpp */, + 161789DB207A68A200D3B0C8 /* Parser.hpp */, + 161789DC207A68A200D3B0C8 /* PresetFrameIO.hpp */, + 161789DD207A68A200D3B0C8 /* Eval.hpp */, + 161789DE207A68A200D3B0C8 /* IdlePreset.hpp */, + 161789DF207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Param.lo */, + 161789E0207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPointEqn.lo */, + 161789E1207A68A200D3B0C8 /* PerFrameEqn.hpp */, + 161789E2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPresetFactory.lo */, + 161789E3207A68A200D3B0C8 /* Makefile */, + 161789E4207A68A200D3B0C8 /* BuiltinParams.hpp */, + 161789E5207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinParams.o */, + 161789E6207A68A200D3B0C8 /* PerPixelEqn.hpp */, + 161789E7207A68A200D3B0C8 /* MilkdropPresetFactory.cpp */, + 161789E8207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPointEqn.o */, + 161789E9207A68A200D3B0C8 /* BuiltinFuncs.cpp */, + 161789EA207A68A200D3B0C8 /* CValue.hpp */, + 161789EB207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerFrameEqn.o */, + 161789EC207A68A200D3B0C8 /* Expr.cpp */, + 161789ED207A68A200D3B0C8 /* Param.hpp */, + 161789EE207A68A200D3B0C8 /* CustomWave.hpp */, + 161789EF207A68A200D3B0C8 /* InitCond.cpp */, + 161789F0207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Param.o */, + 161789F1207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomWave.o */, + 161789F2207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Func.o */, + 161789F3207A68A200D3B0C8 /* Makefile.am */, + 161789F4207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PresetFrameIO.o */, + 161789F5207A68A200D3B0C8 /* BuiltinParams.cpp */, + 161789F6207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomShape.lo */, + 161789F7207A68A200D3B0C8 /* PerPixelEqn.cpp */, + 161789F8207A68A200D3B0C8 /* MilkdropPresetFactory.hpp */, + 161789F9207A68A200D3B0C8 /* BuiltinFuncs.hpp */, + 161789FA207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Parser.lo */, + 161789FB207A68A200D3B0C8 /* Param.cpp */, + 161789FC207A68A200D3B0C8 /* Expr.hpp */, + 161789FD207A68A200D3B0C8 /* CustomWave.cpp */, + 161789FE207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinFuncs.o */, + 161789FF207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PresetFrameIO.lo */, + 16178A00207A68A200D3B0C8 /* InitCond.hpp */, + 16178A01207A68A200D3B0C8 /* libMilkdropPresetFactory_la-PerPixelEqn.o */, + 16178A02207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPreset.o */, + 16178A03207A68A200D3B0C8 /* libMilkdropPresetFactory_la-InitCond.lo */, + 16178A04207A68A200D3B0C8 /* libMilkdropPresetFactory_la-CustomWave.lo */, + 16178A05207A68A200D3B0C8 /* ParamUtils.hpp */, + 16178A06207A68A200D3B0C8 /* libMilkdropPresetFactory_la-MilkdropPresetFactory.o */, + 16178A07207A68A200D3B0C8 /* libMilkdropPresetFactory_la-InitCond.o */, + 16178A08207A68A200D3B0C8 /* CustomShape.hpp */, + 16178A09207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Expr.lo */, + 16178A0A207A68A200D3B0C8 /* Func.hpp */, + 16178A0B207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Func.lo */, + 16178A0C207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Parser.o */, + 16178A0D207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Expr.o */, + 16178A0E207A68A200D3B0C8 /* MilkdropPreset.hpp */, + 16178A0F207A68A200D3B0C8 /* .deps */, + 16178A10207A68A200D3B0C8 /* libMilkdropPresetFactory.la */, + 16178A11207A68A200D3B0C8 /* .libs */, + 16178A12207A68A200D3B0C8 /* Makefile.in */, + 16178A13207A68A200D3B0C8 /* PerPointEqn.hpp */, + 16178A14207A68A200D3B0C8 /* Parser.cpp */, + 16178A15207A68A200D3B0C8 /* PresetFrameIO.cpp */, + 16178A16207A68A200D3B0C8 /* Eval.cpp */, + 16178A17207A68A200D3B0C8 /* IdlePreset.cpp */, + 16178A18207A68A200D3B0C8 /* libMilkdropPresetFactory_la-BuiltinParams.lo */, + 16178A19207A68A200D3B0C8 /* libMilkdropPresetFactory_la-Eval.lo */, + 16178A1A207A68A200D3B0C8 /* libMilkdropPresetFactory_la-IdlePreset.lo */, + 16178A1B207A68A200D3B0C8 /* PerFrameEqn.cpp */, + 16178A1C207A68A200D3B0C8 /* InitCondUtils.hpp */, + 16178A1D207A68A200D3B0C8 /* libMilkdropPresetFactory_la-IdlePreset.o */, + ); + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXLegacyTarget section */ + 161789CF207A68A200D3B0C8 /* MilkdropPresetFactory */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = 16178A1E207A68A200D3B0C8 /* Build configuration list for PBXLegacyTarget "MilkdropPresetFactory" */; + buildPhases = ( + ); + buildToolPath = /usr/bin/make; + buildWorkingDirectory = /Users/cyber/dev/projectm/src/libprojectM/MilkdropPresetFactory; + dependencies = ( + ); + name = MilkdropPresetFactory; + passBuildSettingsInEnvironment = 1; + productName = MilkdropPresetFactory; + }; +/* End PBXLegacyTarget section */ + +/* Begin PBXProject section */ + 161789CB207A68A200D3B0C8 /* Project object */ = { + isa = PBXProject; + attributes = { + }; + buildConfigurationList = 161789CE207A68A200D3B0C8 /* Build configuration list for PBXProject "MilkdropPresetFactory" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 161789CA207A68A200D3B0C8; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 161789CF207A68A200D3B0C8 /* MilkdropPresetFactory */, + ); + }; +/* End PBXProject section */ + +/* Begin XCBuildConfiguration section */ + 161789CC207A68A200D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx10.6; + }; + name = Debug; + }; + 161789CD207A68A200D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + COPY_PHASE_STRIP = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + SDKROOT = macosx10.6; + }; + name = Release; + }; + 16178A1F207A68A200D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = MilkdropPresetFactory; + }; + name = Debug; + }; + 16178A20207A68A200D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = MilkdropPresetFactory; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 161789CE207A68A200D3B0C8 /* Build configuration list for PBXProject "MilkdropPresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 161789CC207A68A200D3B0C8 /* Debug */, + 161789CD207A68A200D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16178A1E207A68A200D3B0C8 /* Build configuration list for PBXLegacyTarget "MilkdropPresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16178A1F207A68A200D3B0C8 /* Debug */, + 16178A20207A68A200D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 161789CB207A68A200D3B0C8 /* Project object */; +} diff --git a/src/libprojectM/MilkdropPresetFactory/Param.cpp b/src/libprojectM/MilkdropPresetFactory/Param.cpp new file mode 100755 index 0000000000..25e6d0bca7 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Param.cpp @@ -0,0 +1,472 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +/* Basic Parameter Functions */ + +#include +#include +#include +#include + +#include "fatal.h" +#include "Common.hpp" + +#include "CustomShape.hpp" +#include "Eval.hpp" +#include "Expr.hpp" +#include "InitCond.hpp" +#include "Param.hpp" +#include "Preset.hpp" +#include +#include +#include +#include "JitContext.hpp" + +/** Constructor */ +Param::Param( const std::string &_name, short int _type, short int _flags, void * _engine_val, void * _matrix, + CValue _default_init_val, CValue _upper_bound, CValue _lower_bound): + LValue(PARAMETER), + name(_name), + type(_type), + flags (_flags), + matrix_flag (0), + engine_val(_engine_val), + matrix (_matrix), + default_init_val (_default_init_val), + upper_bound (_upper_bound), + lower_bound (_lower_bound), + local_value(0.0) +{ +} + + +/* Creates a user defined parameter */ +Param::Param(const std::string &_name) : LValue(PARAMETER), + name(_name), + type(P_TYPE_DOUBLE), + flags(P_FLAG_USERDEF), + matrix_flag(0), + matrix(0), + local_value(0.0) +{ + engine_val = (float *)&local_value; + + default_init_val.float_val = DEFAULT_DOUBLE_IV; + upper_bound.float_val = DEFAULT_DOUBLE_UB; + lower_bound.float_val = DEFAULT_DOUBLE_LB; + + /// @note may have fixed a recent bug. testing + *((float*)engine_val) = default_init_val.float_val; + } + +/* Free's a parameter type */ +Param::~Param() { + if (PARAM_DEBUG) printf("~Param: freeing \"%s\".\n", name.c_str()); +} + + +/* Returns nonzero if the string is valid parameter name */ +bool Param::is_valid_param_string( const char * string ) { + + if (string == NULL) + return false; + + /* This ensures the first character is non numeric */ + if ( ((*string) >= 48) && ((*string) <= 57)) + return false; + + /* These probably should never happen */ + if (*string == '.') + return false; + + if (*string == '+') + return false; + + if (*string == '-') + return false; + + /* Could also add checks for other symbols. May do later */ + + return true; + +} + + + +/* Loads a float parameter into the builtin database */ +Param * Param::new_param_float(const char * name, short int flags, void * engine_val, void * matrix, + float upper_bound, float lower_bound, float init_val) { + + Param * param; + CValue iv, ub, lb; + assert(engine_val); + + iv.float_val = init_val; + ub.float_val = upper_bound; + lb.float_val = lower_bound; + + if ((param = Param::create(name, P_TYPE_DOUBLE, flags, engine_val, matrix,iv, ub, lb)) == NULL) + return NULL; + + + /* Finished, return success */ + return param; +} + +/* Creates a new parameter of type int */ +Param * Param::new_param_int(const char * name, short int flags, void * engine_val, + int upper_bound, int lower_bound, int init_val) { + + Param * param; + CValue iv, ub, lb; + assert(engine_val); + + iv.int_val = init_val; + ub.int_val = upper_bound; + lb.int_val = lower_bound; + + if ((param = Param::create(name, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb)) == NULL) + return NULL; + + + /* Finished, return success */ + return param; +} + +/* Creates a new parameter of type bool */ +Param * Param::new_param_bool(const char * name, short int flags, void * engine_val, + bool upper_bound, bool lower_bound, bool init_val) { + + Param * param; + CValue iv, ub, lb; + assert(engine_val); + + iv.bool_val = init_val; + ub.bool_val = upper_bound; + lb.bool_val = lower_bound; + + if ((param = Param::create(name, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb)) == NULL) + return NULL; + + + /* Finished, return success */ + return param; +} + +/* Creates a new parameter of type string */ +Param * Param::new_param_string(const char * name, short int flags, void * engine_val) { + + Param * param; + CValue iv, ub, lb; + assert(engine_val); + + iv.bool_val = 0; + ub.bool_val = 0; + lb.bool_val = 0; + + if ((param = Param::create(name, P_TYPE_STRING, flags, engine_val, NULL, iv, ub, lb)) == NULL) + return NULL; + + + /* Finished, return success */ + return param; +} + + +/* + * I made Param extend Expr just to avoid inheritence of multiple virtual classes, + * however, this is really the subclass that knows how to interact with Expr + */ + +struct _Param : public Param +{ + _Param( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) + { + if (flags & P_FLAG_ALWAYS_MATRIX) + matrix_flag = true; + } + explicit _Param( const std::string &name_) : Param(name_) {} + + void _delete_from_tree() override + { + /* do nothing, as the param isn't owned by the expresion tree */ + } + + void set(float value) override + { + set_param(value); + } + void set_matrix(int mesh_i, int mesh_j, float value) override + { + set_param(value); + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jit) override + { + return Expr::generate_eval_call(jit, this, name.c_str()); + } +#endif +}; + + +class _BoolParam : public _Param +{ +public: + _BoolParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + + float eval(int mesh_i, int mesh_j) override + { + return *(bool *)engine_val ? 1 : 0; + } +}; + +class _IntParam : public _Param +{ +public: + _IntParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + float eval(int mesh_i, int mesh_j) override + { + return *(int *)engine_val; + } +}; + +class _StringParam : public _Param +{ +public: + _StringParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + float eval(int mesh_i, int mesh_j) override + { + return 0; + } +}; + +class _FloatParam : public _Param +{ +public: + _FloatParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + explicit _FloatParam( const std::string &name_) : _Param(name_) {} + float eval(int mesh_i, int mesh_j) override + { + return *(float *)engine_val; + } +#if HAVE_LLVM + llvm::Value *_llvm(JitContext &jitx) override + { + llvm::Constant *ptr = jitx.CreateFloatPtr((float *)engine_val); + return jitx.builder.CreateLoad(ptr, name); + } + virtual llvm::Value *_llvm_set_matrix(JitContext &jitx, llvm::Value *rhs) + { + llvm::Constant *ptr = jitx.CreateFloatPtr((float *)engine_val); + jitx.builder.CreateStore(rhs, ptr, false); + return rhs; + } +#endif +}; + +/*This isn't that useful yet. Maybe later +class _AlwaysMatrixParam : public _FloatParam +{ +public: + _AlwaysMatrixParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _FloatParam(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) + { + matrix_flag = true; + } + float eval(int mesh_i, int mesh_j) override + { + assert( mesh_i >=0 && mesh_j >= 0 ); + return ((float **)matrix)[mesh_i][mesh_j]; + } + void set_matrix(int mesh_i, int mesh_j, float value) override + { + assert( mesh_i >=0 && mesh_j >= 0); + // Yup, presets write to read-only ALWAYS_MATRIX parameters + // assert(!(flags & P_FLAG_READONLY)); + ((float **)matrix)[mesh_i][mesh_j] = value; + } +};*/ + +class _MeshParam : public _Param +{ +public: + _MeshParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + float eval(int mesh_i, int mesh_j) override + { + assert( type == P_TYPE_DOUBLE ); + // see issue 64: There are presets with per_point equations that read from pre_frame/per_pixel parameters, + // e.g. per_point1=dx=dx*1.01 + // any this means that we get called with (i>=0,j==-1) + if ( matrix_flag && mesh_i >= 0 && mesh_j >= 0) + return ( ( ( float** ) matrix ) [mesh_i][mesh_j] ); + return * ( ( float* ) ( engine_val ) ); + } + void set_matrix(int mesh_i, int mesh_j, float value) override + { + if (nullptr == matrix) + { + *(float *)engine_val = value; + } + else + { + ((float **) matrix)[mesh_i][mesh_j] = value; + matrix_flag = true; + } + } +}; + + +// TODO merge PointsParam/MeshParam +class _PointsParam : public _Param +{ +public: + _PointsParam( const std::string &name_, short int type_, short int flags_, + void * eqn_val_, void *matrix_, + CValue default_init_val_, CValue upper_bound_, + CValue lower_bound_) : + _Param(name_, type_, flags_, eqn_val_, matrix_, default_init_val_, upper_bound_, lower_bound_) {} + float eval(int mesh_i, int mesh_j) override + { + assert( mesh_j == -1 ); + assert( type == P_TYPE_DOUBLE ); + if ( matrix_flag && mesh_i >= 0 ) + return ( ( ( float* ) matrix ) [mesh_i] ); + return * ( ( float* ) ( engine_val ) ); + } + void set_matrix(int mesh_i, int mesh_j, float value) override + { + if (nullptr == matrix) + { + *(float *)engine_val = value; + } + else + { + ((float *) matrix)[mesh_i] = value; + matrix_flag = true; + } + } +}; + + +Param * Param::create( const std::string &name, short int type, short int flags, + void * eqn_val, void *matrix, + CValue default_init_val, CValue upper_bound, + CValue lower_bound) +{ + if (type == P_TYPE_BOOL) + { + assert(nullptr == matrix); + assert(0 == (flags & (P_FLAG_PER_PIXEL|P_FLAG_PER_POINT))); + return new _BoolParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } + if (type == P_TYPE_INT) + { + assert(nullptr == matrix); + assert(0 ==(flags & (P_FLAG_PER_PIXEL|P_FLAG_PER_POINT))); + return new _IntParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } + if (type == P_TYPE_STRING) + { + assert(0 == (flags & (P_FLAG_PER_PIXEL|P_FLAG_PER_POINT))); + return new _StringParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } + assert(type == P_TYPE_DOUBLE); + if (matrix == nullptr) + { + assert(0 == (flags & (P_FLAG_PER_PIXEL|P_FLAG_PER_POINT))); + return new _FloatParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } + assert( flags & (P_FLAG_PER_PIXEL|P_FLAG_PER_POINT) ); + if (flags & P_FLAG_PER_PIXEL) + { + return new _MeshParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } + else + { + return new _PointsParam( name, type, flags, eqn_val, matrix, default_init_val, upper_bound, lower_bound ); + } +} + +Param * Param::createUser( const std::string &name ) +{ + return new _FloatParam( name ); +} + + +// TESTS + + +#include + +#ifndef NDEBUG + +struct ParamTest : public Test +{ + ParamTest() : Test("ParamTest") + {} + +public: + bool test() override + { + return true; + } +}; + +Test* Param::test() +{ + return new ParamTest(); +} + +#else + +Test* Param::test() +{ + return nullptr; +} + +#endif \ No newline at end of file diff --git a/src/libprojectM/MilkdropPresetFactory/Param.hpp b/src/libprojectM/MilkdropPresetFactory/Param.hpp new file mode 100755 index 0000000000..92823329a3 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Param.hpp @@ -0,0 +1,190 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Parameter used within a preset + * + * $Log$ + */ + +#ifndef _PARAM_H +#define _PARAM_H + +/* Debug level, zero for none */ +#define PARAM_DEBUG 0 + +#define P_CREATE 1 +#define P_NONE 0 + +#define P_TYPE_BOOL 0 +#define P_TYPE_INT 1 +#define P_TYPE_DOUBLE 2 +#define P_TYPE_STRING 3 + +#define P_FLAG_NONE 0 +#define P_FLAG_READONLY 1 +#define P_FLAG_USERDEF (1 << 1) +#define P_FLAG_QVAR (1 << 2) +#define P_FLAG_TVAR (1 << 3) +#define P_FLAG_ALWAYS_MATRIX (1 << 4) +#define P_FLAG_PER_PIXEL (1 << 6) +#define P_FLAG_PER_POINT (1 << 7) + + +#include "Expr.hpp" +#include "Common.hpp" +#include +#include +class InitCond; +class Param; +class Preset; +class Test; + + +#ifdef __SSE2__ +#include +#endif + +/* Parameter Type */ +class Param : public LValue +{ +protected: + Param(const std::string &name, short int type, short int flags, + void * eqn_val, void *matrix, + CValue default_init_val, CValue upper_bound, + CValue lower_bound); + + /// Create a user defined floating point parameter + explicit Param( const std::string &name ); + +public: + std::string name; /* name of the parameter, not necessary but useful neverthless */ + short int type; /* parameter number type (int, bool, or float) */ + short int flags; /* read, write, user defined, etc */ +protected: + short int matrix_flag; /* for optimization purposes */ + void * engine_val; /* pointer to the engine variable */ + void * matrix; /* per pixel / per point matrix for this variable */ +public: + CValue default_init_val; /* a default initial condition value */ +protected: + CValue upper_bound; /* this parameter's upper bound */ + CValue lower_bound; /* this parameter's lower bound */ + + // for a local variable, engine_val can point here + float local_value; + +public: + /// Create a new parameter + static Param * create(const std::string &name, short int type, short int flags, + void * eqn_val, void *matrix, CValue default_init_val, CValue upper_bound, + CValue lower_bound); + + static Param * createUser(const std::string &name); + + static Test *test(); + + virtual ~Param(); + + static bool is_valid_param_string( const char *string ); + void set_param( float val ); + void set_param( CValue val ); + void set_param( std::string &text) { *((std::string*)engine_val) = text; } + + static Param *new_param_float( const char *name, short int flags, void *engine_val, + void *matrix, float upper_bound, + float lower_bound, + float init_val ); + + static Param * new_param_int(const char * name, short int flags, void * engine_val, + int upper_bound, int lower_bound, int init_val ); + static Param * new_param_bool(const char * name, short int flags, void * engine_val, + bool upper_bound, bool lower_bound, bool init_val ); + static Param * new_param_string(const char * name, short int flags, void * engine_val); +#if HAVE_LLVM + virtual llvm::Value *_llvm(JitContext &jit) = 0; +#endif +}; + + +/* Sets the parameter engine value to value val. + clipping occurs if necessary */ +inline void Param::set_param( float val) +{ + matrix_flag = false; + switch (type) + { + case P_TYPE_BOOL: + if (val < 0) + *((bool*)engine_val) = false; + else if (val > 0) + *((bool*)engine_val) = true; + else + *((bool*)engine_val) = false; + break; + case P_TYPE_INT: + /* Make sure value is an integer */ + val = floor(val); + if (val < lower_bound.int_val) + *((int*)engine_val) = lower_bound.int_val; + else if (val > upper_bound.int_val) + *((int*)engine_val) = upper_bound.int_val; + else + *((int*)engine_val) = (int)val; + break; + case P_TYPE_DOUBLE: + /* Make sure value is an integer */ + if (val < lower_bound.float_val) + *((float*)engine_val) = lower_bound.float_val; + else if (val > upper_bound.float_val) + *((float*)engine_val) = upper_bound.float_val; + else + *((float*)engine_val) = val; + break; + default: + //abort(); + break; + } +} + +inline void Param::set_param( CValue val) +{ + matrix_flag = false; + switch (type) + { + case P_TYPE_BOOL: + set_param( val.bool_val ); + break; + case P_TYPE_INT: + set_param( val.int_val ); + break; + case P_TYPE_DOUBLE: + set_param( val.float_val ); + break; + default: + //abort(); + break; + } +} + +#endif /** !_PARAM_TYPES_H */ + diff --git a/src/projectM-engine/ParamUtils.hpp b/src/libprojectM/MilkdropPresetFactory/ParamUtils.hpp similarity index 95% rename from src/projectM-engine/ParamUtils.hpp rename to src/libprojectM/MilkdropPresetFactory/ParamUtils.hpp index d02a47c366..39f8678d49 100644 --- a/src/projectM-engine/ParamUtils.hpp +++ b/src/libprojectM/MilkdropPresetFactory/ParamUtils.hpp @@ -8,9 +8,7 @@ #include "Param.hpp" #include #include - - -class BuiltinParams; +#include "BuiltinParams.hpp" class ParamUtils { @@ -48,7 +46,7 @@ class ParamUtils return NULL; /* Now, create the user defined parameter given the passed name */ - if ((param = new Param(name)) == NULL) + if ((param = Param::createUser(name)) == NULL) return NULL; /* Finally, insert the new parameter into this preset's parameter tree */ diff --git a/src/projectM-engine/Parser.cpp b/src/libprojectM/MilkdropPresetFactory/Parser.cpp similarity index 81% rename from src/projectM-engine/Parser.cpp rename to src/libprojectM/MilkdropPresetFactory/Parser.cpp index 08897dc460..8cbd3ab866 100755 --- a/src/projectM-engine/Parser.cpp +++ b/src/libprojectM/MilkdropPresetFactory/Parser.cpp @@ -29,7 +29,6 @@ #include "Common.hpp" #include "fatal.h" -#include "BuiltinFuncs.hpp" #include "CustomWave.hpp" #include "CustomShape.hpp" #include "Expr.hpp" @@ -37,7 +36,6 @@ #include "Func.hpp" #include "InitCond.hpp" #include "Param.hpp" -#include "Preset.hpp" #include "Parser.hpp" #include "PerFrameEqn.hpp" #include "PerPixelEqn.hpp" @@ -47,6 +45,7 @@ #include "wipemalloc.h" #include #include +#include "BuiltinFuncs.hpp" /* Grabs the next token from the file. The second argument points to the raw string */ @@ -61,7 +60,7 @@ int Parser::per_frame_eqn_count; int Parser::per_frame_init_eqn_count; int Parser::last_custom_wave_id; int Parser::last_custom_shape_id; -char Parser::last_eqn_type[MAX_TOKEN_SIZE]; +char Parser::last_eqn_type[MAX_TOKEN_SIZE+1]; int Parser::last_token_size; std::string Parser::lastLinePrefix(""); @@ -71,7 +70,7 @@ bool Parser::tokenWrapAroundEnabled(false); token_t Parser::parseToken(std::istream & fs, char * string) { - char c; + int c; int i; if (string != NULL) @@ -184,11 +183,11 @@ token_t Parser::parseToken(std::istream & fs, char * string) else { c = fs.get(); if ( c != '=') - buffer << c; + buffer << (char)c; } } - if (PARSE_DEBUG) std::cerr << "parseToken: parsed away equal sign, line prefix is \"" << buffer.str() + if (PARSE_DEBUG) std::cerr << "parseToken: parsed away equal sign, line prefix is \"" << buffer.str() << "\"" << std::endl; --i; @@ -197,20 +196,18 @@ token_t Parser::parseToken(std::istream & fs, char * string) int buf_size = (int)buffer.str().length(); // <= to also remove equal sign parsing from stream for (int k = 0; k <= buf_size; k++) { - if (fs) + if (fs) fs.unget(); - else - abort(); + else { + std::cerr << "about to abort! buf_size was " << buf_size << std::endl; + // aborting kills the process, so instead of that we return a constant indicating an error, and hope that the lib bails gracefully + //abort(); + return tStringTooLong; + } } return tEOL; } - - - // if (fs && fs.get() == '\n') { - // line_mode = UNSET_LINE_MODE; - // return tEOL; - // } else if (fs) - //fs.unget(); + break; } @@ -236,25 +233,13 @@ token_t Parser::parseToken(std::istream & fs, char * string) i--; break; default: - - if (string != NULL) - { - /// @bug remove this nonsense - if (c == '\r') - { - std::cerr << "R" << std::endl; - abort(); - } - if (c == '\b') - { - std::cerr << "B" << std::endl; - abort(); - } + if (c == EOF) + std::cerr << "shouldn't happen: " << c << "(LINE " << line_count << ")" << std::endl; string[i] = tolower(c); //string[i+1] = 0; //std::cerr << "string is \n\"" << string << "\"" << std::endl; } - } + } @@ -266,15 +251,15 @@ token_t Parser::parseToken(std::istream & fs, char * string) /* Parse input in the form of "exp, exp, exp, ...)" Returns a general expression list */ -GenExpr **Parser::parse_prefix_args(std::istream & fs, int num_args, Preset * preset) +Expr **Parser::parse_prefix_args(std::istream & fs, int num_args, MilkdropPreset * preset) { int i, j; - GenExpr ** expr_list; /* List of arguments to function */ - GenExpr * gen_expr; + Expr ** expr_list; /* List of arguments to function */ + Expr * gen_expr; /* Malloc the expression list */ - expr_list = (GenExpr**)wipemalloc(sizeof(GenExpr*)*num_args); + expr_list = (Expr**)wipemalloc(sizeof(Expr*)*num_args); /* Malloc failed */ if (expr_list == NULL) @@ -291,7 +276,7 @@ GenExpr **Parser::parse_prefix_args(std::istream & fs, int num_args, Preset * p { //if (PARSE_DEBUG) printf("parse_prefix_args: failed to get parameter # %d for function (LINE %d)\n", i+1, line_count); for (j = 0; j < i; j++) - delete expr_list[j]; + Expr::delete_expr(expr_list[j]); free(expr_list); expr_list = NULL; return NULL; @@ -336,25 +321,18 @@ int Parser::parse_preset_name(std::istream & fs, char * name) if ((token = parseToken(fs, name)) != tRBr) return PROJECTM_PARSE_ERROR; -#ifdef DEBUG - if (PARSE_DEBUG) DWRITE("parse_preset_name: parsed preset (name = \"%s\")\n", name); -#endif - return PROJECTM_SUCCESS; } /* Parses per pixel equations */ -int Parser::parse_per_pixel_eqn(std::istream & fs, Preset * preset, char * init_string) +int Parser::parse_per_pixel_eqn(std::istream & fs, MilkdropPreset * preset, char * init_string) { char string[MAX_TOKEN_SIZE]; - GenExpr * gen_expr; + Expr * gen_expr; -#ifdef DEBUG - if (PARSE_DEBUG) DWRITE("parse_per_pixel: per_pixel equation parsing start...(LINE %d)\n", line_count); -#endif if (init_string != 0) { @@ -365,10 +343,6 @@ int Parser::parse_per_pixel_eqn(std::istream & fs, Preset * preset, char * init if (parseToken(fs, string) != tEq) { /* parse per pixel operator name */ -#ifdef DEBUG - if (PARSE_DEBUG) DWRITE("parse_per_pixel: equal operator expected after per pixel operator \"%s\", but not found (LINE %d)\n", - string, line_count); -#endif return PROJECTM_PARSE_ERROR; } } @@ -376,9 +350,6 @@ int Parser::parse_per_pixel_eqn(std::istream & fs, Preset * preset, char * init /* Parse right side of equation as an expression */ if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { -#ifdef DEBUG - if (PARSE_DEBUG) DWRITE("parse_per_pixel: equation evaluated to null? (LINE %d)\n", line_count); -#endif return PROJECTM_PARSE_ERROR; } @@ -387,9 +358,9 @@ int Parser::parse_per_pixel_eqn(std::istream & fs, Preset * preset, char * init { if (PARSE_DEBUG) { - DWRITE( "parse_per_pixel: no param associated with \"%s\" (LINE %d)", string, line_count); + } - delete gen_expr; + Expr::delete_expr(gen_expr); return PROJECTM_PARSE_ERROR; } @@ -397,7 +368,7 @@ int Parser::parse_per_pixel_eqn(std::istream & fs, Preset * preset, char * init } /* Parses an equation line, this function is way too big, should add some helper functions */ -int Parser::parse_line(std::istream & fs, Preset * preset) +int Parser::parse_line(std::istream & fs, MilkdropPreset * preset) { char eqn_string[MAX_TOKEN_SIZE]; @@ -408,7 +379,7 @@ int Parser::parse_line(std::istream & fs, Preset * preset) /* Clear the string line buffer */ memset(string_line_buffer, 0, STRING_LINE_SIZE); string_line_buffer_index = 0; - + tokenWrapAroundEnabled = false; token = parseToken( fs, eqn_string ); @@ -457,25 +428,37 @@ int Parser::parse_line(std::istream & fs, Preset * preset) // std::cerr << "parse_line: tEQ case, fs.peek()=\'" << fs.peek() << "\'" << std::endl; if (!fs) return PROJECTM_PARSE_ERROR; - + // char z = fs.get(); char tmpChar; if ((tmpChar = fs.get()) == '\n') { tokenWrapAroundEnabled = false; - return PROJECTM_PARSE_ERROR; + return PROJECTM_PARSE_ERROR; } else if (tmpChar == '\r') { tokenWrapAroundEnabled = false; return PROJECTM_PARSE_ERROR; } else fs.unget(); - // if (z == 2) -// ; - // return PROJECTM_PARSE_ERROR; - //else - // fs.unget(); + /* CASE: WARP CODE */ + if (!strncmp(eqn_string, WARP_STRING, WARP_STRING_LENGTH)) + { + //std::cout << "parsing warp string block\n" << std::endl; + parse_string_block(fs, &preset->presetOutputs().warpShader.programSource); + return PROJECTM_SUCCESS; + } + + + /* CASE: COMPOSITE CODE */ + if (!strncmp(eqn_string, COMPOSITE_STRING, COMPOSITE_STRING_LENGTH)) + { + //std::cout << "parsing composite string block\n" << std::endl; + parse_string_block(fs, &preset->presetOutputs().compositeShader.programSource); + return PROJECTM_SUCCESS; + } + /* CASE: PER FRAME INIT EQUATION */ if (!strncmp(eqn_string, PER_FRAME_INIT_STRING, PER_FRAME_INIT_STRING_LENGTH)) { @@ -493,12 +476,6 @@ int Parser::parse_line(std::istream & fs, Preset * preset) /* Insert the equation in the per frame equation tree */ preset->per_frame_init_eqn_tree.insert(std::make_pair(init_cond->param->name, init_cond)); - if (update_string_buffer(preset->per_frame_init_eqn_string_buffer, - &preset->per_frame_init_eqn_string_index) < 0) - { - - return PROJECTM_FAILURE; - } line_mode = PER_FRAME_INIT_LINE_MODE; return PROJECTM_SUCCESS; } @@ -522,11 +499,7 @@ int Parser::parse_line(std::istream & fs, Preset * preset) } /* Insert the equation in the per frame equation tree */ - preset->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn_count, per_frame_eqn)); - - if (update_string_buffer(preset->per_frame_eqn_string_buffer, - &preset->per_frame_eqn_string_index) < 0) - return PROJECTM_FAILURE; + preset->per_frame_eqn_tree.push_back(per_frame_eqn); return PROJECTM_SUCCESS; @@ -535,7 +508,7 @@ int Parser::parse_line(std::istream & fs, Preset * preset) /* Wavecode initial condition case */ if (!strncmp(eqn_string, WAVECODE_STRING, WAVECODE_STRING_LENGTH)) { - + line_mode = CUSTOM_WAVE_WAVECODE_LINE_MODE; return parse_wavecode(eqn_string, fs, preset); @@ -588,23 +561,19 @@ int Parser::parse_line(std::istream & fs, Preset * preset) } - if (update_string_buffer(preset->per_pixel_eqn_string_buffer, - &preset->per_pixel_eqn_string_index) < 0) - return PROJECTM_FAILURE; - if (PARSE_DEBUG) printf("parse_line: finished parsing per pixel equation (LINE %d)\n", line_count); return PROJECTM_SUCCESS; } /* Sometimes equations are written implicitly in milkdrop files, in the form - per_frame_1 = p1 = eqn1; p2 = eqn2; p3 = eqn3;..; + per_frame_1 = p1 = eqn1; p2 = eqn2; p3 = eqn3;..; which is analagous to: per_frame_1 = p1 = eqn1; per_frame_2 = p2 = eqn2; per_frame_3 = p3 = eqn3; ...; - The following line mode hack allows such implicit declaration of the + The following line mode hack allows such implicit declaration of the prefix that specifies the equation type. An alternative method may be to associate each equation line as list of equations separated by semicolons (and a new line ends the list). Instead, however, a global @@ -625,11 +594,8 @@ int Parser::parse_line(std::istream & fs, Preset * preset) } /* Insert the equation in the per frame equation tree */ - preset->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn_count, per_frame_eqn)); + preset->per_frame_eqn_tree.push_back(per_frame_eqn); - if (update_string_buffer(preset->per_frame_eqn_string_buffer, - &preset->per_frame_eqn_string_index) < 0) - return PROJECTM_FAILURE; return PROJECTM_SUCCESS; @@ -649,11 +615,6 @@ int Parser::parse_line(std::istream & fs, Preset * preset) /* Insert the equation in the per frame equation tree */ preset->per_frame_init_eqn_tree.insert(std::make_pair(init_cond->param->name, init_cond)); - - if (update_string_buffer(preset->per_frame_init_eqn_string_buffer, - &preset->per_frame_init_eqn_string_index) < 0) - return PROJECTM_FAILURE; - return PROJECTM_SUCCESS; } else if (line_mode == PER_PIXEL_LINE_MODE) @@ -684,7 +645,7 @@ int Parser::parse_line(std::istream & fs, Preset * preset) CustomWave * custom_wave; /* Retrieve custom shape associated with this id */ - if ((custom_wave = Preset::find_custom_object(last_custom_wave_id, preset->customWaves)) == NULL) + if ((custom_wave = MilkdropPreset::find_custom_object(last_custom_wave_id, preset->customWaves)) == NULL) return PROJECTM_FAILURE; return parse_wave_per_frame_eqn(fs, custom_wave, preset); @@ -706,7 +667,7 @@ int Parser::parse_line(std::istream & fs, Preset * preset) CustomShape * custom_shape; /* Retrieve custom shape associated with this id */ - if ((custom_shape = Preset::find_custom_object(last_custom_shape_id, preset->customShapes)) == NULL) + if ((custom_shape = MilkdropPreset::find_custom_object(last_custom_shape_id, preset->customShapes)) == NULL) return PROJECTM_FAILURE; return parse_shape_per_frame_eqn(fs, custom_shape, preset); @@ -754,19 +715,17 @@ int Parser::parse_line(std::istream & fs, Preset * preset) } - /* Parses a general expression, this function is the meat of the parser */ -GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Preset * preset) +Expr * Parser::_parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, MilkdropPreset * preset) { - int i; char string[MAX_TOKEN_SIZE]; token_t token; - GenExpr * gen_expr; + Expr * gen_expr; float val; Param * param = NULL; Func * func; - GenExpr ** expr_list; + Expr ** expr_list; switch (token = parseToken(fs,string)) { @@ -779,11 +738,11 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre if (PARSE_DEBUG) { std::cerr << "parse_gen_expr: found prefix function (name = \"" - << func->name << "\") (LINE " << line_count << ")" << std::endl; + << func->getName() << "\") (LINE " << line_count << ")" << std::endl; } /* Parse the functions arguments */ - if ((expr_list = parse_prefix_args(fs, func->num_args, preset)) == NULL) + if ((expr_list = parse_prefix_args(fs, func->getNumArgs(), preset)) == NULL) { if (PARSE_DEBUG) { @@ -792,27 +751,24 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre } if ( tree_expr != NULL ) { - delete tree_expr; + Expr::delete_expr(tree_expr); } return NULL; } /* Convert function to expression */ - if ((gen_expr = GenExpr::prefun_to_expr((float (*)(void *))func->func_ptr, expr_list, func->num_args)) == NULL) + if ((gen_expr = Expr::prefun_to_expr(func, expr_list)) == NULL) { if (PARSE_DEBUG) printf("parse_prefix_args: failed to convert prefix function to general expression (LINE %d) \n", line_count); if (tree_expr) - delete tree_expr; - for (i = 0; i < func->num_args;i++) - delete expr_list[i]; + Expr::delete_expr(tree_expr); + for (i = 0; i < func->getNumArgs();i++) + Expr::delete_expr(expr_list[i]); free(expr_list); - expr_list = NULL; return NULL; } - - token = parseToken(fs, string); if (*string != 0) @@ -832,7 +788,7 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre std::cerr << "token prefix is " << *string << std::endl; if (PARSE_DEBUG) printf("parse_gen_expr: implicit multiplication case unimplemented!\n"); if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -842,8 +798,8 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { if (PARSE_DEBUG) printf("parse_gen_expr: found left parentice, but failed to create new expression tree \n"); - if (tree_expr); - delete tree_expr; + if (tree_expr) + Expr::delete_expr(tree_expr); return NULL; } @@ -859,7 +815,7 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre if (PARSE_DEBUG) printf("parse_gen_expr: plus used as prefix (LINE %d)\n", line_count); /* Treat prefix plus as implict 0 preceding operator */ - gen_expr = GenExpr::const_to_expr(0); + gen_expr = Expr::const_to_expr(0); return parse_infix_op(fs, tPositive, insert_gen_expr(gen_expr, &tree_expr), preset); } @@ -870,7 +826,7 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre { /* Use the negative infix operator, but first add an implicit zero to the operator tree */ - gen_expr = GenExpr::const_to_expr(0); + gen_expr = Expr::const_to_expr(0); //return parse_gen_expr(fs, insert_gen_expr(gen_expr, &tree_expr), preset); return parse_infix_op(fs, tNegative, insert_gen_expr(gen_expr, &tree_expr), preset); } @@ -896,23 +852,18 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre /* CASE 0: Empty string, parse error */ if (*string == 0) { - if (PARSE_DEBUG) - { - DWRITE( "parse_gen_expr: empty string coupled with infix op (ERROR!) (LINE %d) \n", line_count); - - } if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } /* CASE 1: Check if string is a just a floating point number */ if (string_to_float(string, &val) != PROJECTM_PARSE_ERROR) { - if ((gen_expr = GenExpr::const_to_expr(val)) == NULL) + if ((gen_expr = Expr::const_to_expr(val)) == NULL) { if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -931,7 +882,7 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre if ((param = ParamUtils::find(std::string(string), ¤t_shape->param_tree)) == NULL) { if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } } @@ -944,9 +895,9 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre /* Convert parameter to an expression */ - if ((gen_expr = GenExpr::param_to_expr(param)) == NULL) + if ((gen_expr = Expr::param_to_expr(param)) == NULL) { - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -965,7 +916,7 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre if ((param = ParamUtils::find(std::string(string), ¤t_wave->param_tree)) == NULL) { if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } } @@ -978,9 +929,9 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre } /* Convert parameter to an expression */ - if ((gen_expr = GenExpr::param_to_expr(param)) == NULL) + if ((gen_expr = Expr::param_to_expr(param)) == NULL) { - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -1001,9 +952,9 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre } /* Convert parameter to an expression */ - if ((gen_expr = GenExpr::param_to_expr(param)) == NULL) + if ((gen_expr = Expr::param_to_expr(param)) == NULL) { - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -1021,15 +972,27 @@ GenExpr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, Pre } if (tree_expr) - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } } +Expr * Parser::parse_gen_expr ( std::istream & fs, TreeExpr * tree_expr, MilkdropPreset * preset) +{ + Expr *gen_expr = _parse_gen_expr( fs, tree_expr, preset ); + if (nullptr == gen_expr) + return nullptr; + //std::cout << gen_expr << std::endl; + Expr *opt = Expr::optimize(gen_expr); + gen_expr = nullptr; + //std::cout << opt << std::endl << std::endl; + return opt; +} + /* Inserts expressions into tree according to operator precedence. - If root is null, a new tree is created, with gen_expr as only element */ + If root is null, a new tree is created, with infix_op as only element */ TreeExpr * Parser::insert_infix_op(InfixOp * infix_op, TreeExpr **root) { @@ -1045,7 +1008,7 @@ TreeExpr * Parser::insert_infix_op(InfixOp * infix_op, TreeExpr **root) if (*root == NULL) { - new_root = new TreeExpr(infix_op, NULL, NULL, NULL); + new_root = TreeExpr::create(infix_op, NULL, NULL, NULL); *root = new_root; return new_root; } @@ -1055,7 +1018,7 @@ TreeExpr * Parser::insert_infix_op(InfixOp * infix_op, TreeExpr **root) if ((*root)->infix_op == NULL) { - new_root = new TreeExpr(infix_op, NULL, *root, NULL); + new_root = TreeExpr::create(infix_op, NULL, *root, NULL); (*root) = new_root; return new_root; } @@ -1066,7 +1029,7 @@ TreeExpr * Parser::insert_infix_op(InfixOp * infix_op, TreeExpr **root) if (infix_op->precedence > (*root)->infix_op->precedence) { - new_root = new TreeExpr(infix_op, NULL, *root, NULL); + new_root = TreeExpr::create(infix_op, NULL, *root, NULL); (*root) = new_root; return new_root; } @@ -1081,7 +1044,7 @@ TreeExpr * Parser::insert_infix_op(InfixOp * infix_op, TreeExpr **root) } -TreeExpr * Parser::insert_gen_expr(GenExpr * gen_expr, TreeExpr ** root) +TreeExpr * Parser::insert_gen_expr(Expr * gen_expr, TreeExpr ** root) { TreeExpr * new_root; @@ -1099,7 +1062,7 @@ TreeExpr * Parser::insert_gen_expr(GenExpr * gen_expr, TreeExpr ** root) if (*root == NULL) { - new_root = new TreeExpr(NULL, gen_expr, NULL, NULL); + new_root = TreeExpr::create(NULL, gen_expr, NULL, NULL); *root = new_root; return new_root; } @@ -1113,14 +1076,14 @@ TreeExpr * Parser::insert_gen_expr(GenExpr * gen_expr, TreeExpr ** root) } /* A recursive helper function to insert general expression elements into the operator tree */ -int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) +int Parser::insert_gen_rec(Expr * gen_expr, TreeExpr * root) { /* Trivial Case: root is null */ if (root == NULL) { - //if (PARSE_DEBUG) printf("insert_gen_rec: root is null, returning failure\n"); + if (PARSE_DEBUG) printf("insert_gen_rec: root is null, returning failure\n"); return PROJECTM_FAILURE; } @@ -1131,7 +1094,7 @@ int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) if ((root->left == NULL) && (root->infix_op != NULL)) { - root->left = new TreeExpr(NULL, gen_expr, NULL, NULL); + root->left = TreeExpr::create(NULL, gen_expr, NULL, NULL); return PROJECTM_SUCCESS; } @@ -1141,7 +1104,7 @@ int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) if ((root->right == NULL) && (root->infix_op != NULL)) { - root->right = new TreeExpr(NULL, gen_expr, NULL, NULL); + root->right = TreeExpr::create(NULL, gen_expr, NULL, NULL); return PROJECTM_SUCCESS; } @@ -1149,8 +1112,8 @@ int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) this succeeds then return. If it fails, try recursing down to the right */ - if (insert_gen_rec(gen_expr, root->left) == PROJECTM_FAILURE) - return insert_gen_rec(gen_expr, root->right); + if (insert_gen_rec(gen_expr, root->leftTree()) == PROJECTM_FAILURE) + return insert_gen_rec(gen_expr, root->rightTree()); /* Impossible for control flow to reach here, but in the world of C programming, who knows... */ @@ -1177,14 +1140,14 @@ int Parser::insert_infix_rec(InfixOp * infix_op, TreeExpr * root) I don't think this will ever happen */ if (root->left == NULL) { - root->left = new TreeExpr(infix_op, NULL, root->left, NULL); + root->left = TreeExpr::create(infix_op, NULL, root->leftTree(), NULL); return PROJECTM_SUCCESS; } /* Right tree is empty, attach this operator to it */ if (root->right == NULL) { - root->right = new TreeExpr(infix_op, NULL, root->right, NULL); + root->right = TreeExpr::create(infix_op, NULL, root->rightTree(), NULL); return PROJECTM_SUCCESS; } @@ -1195,29 +1158,29 @@ int Parser::insert_infix_rec(InfixOp * infix_op, TreeExpr * root) then insert the expression here, attaching the old right branch to the left of the new expression */ - if (root->right->infix_op == NULL) + if (root->rightTree()->infix_op == NULL) { - root->right = new TreeExpr(infix_op, NULL, root->right, NULL); + root->right = TreeExpr::create(infix_op, NULL, root->rightTree(), NULL); return PROJECTM_SUCCESS; } /* Traverse deeper if the inserting operator precedence is less than the the root's right operator precedence */ - if (infix_op->precedence < root->right->infix_op->precedence) - return insert_infix_rec(infix_op, root->right); + if (infix_op->precedence < root->rightTree()->infix_op->precedence) + return insert_infix_rec(infix_op, root->rightTree()); /* Otherwise, insert the operator here */ - root->right = new TreeExpr(infix_op, NULL, root->right, NULL); + root->right = TreeExpr::create(infix_op, NULL, root->rightTree(), NULL); return PROJECTM_SUCCESS; } /* Parses an infix operator */ -GenExpr * Parser::parse_infix_op(std::istream & fs, token_t token, TreeExpr * tree_expr, Preset * preset) +Expr * Parser::parse_infix_op(std::istream & fs, token_t token, TreeExpr * tree_expr, MilkdropPreset * preset) { - GenExpr * gen_expr; + Expr * gen_expr; switch (token) { @@ -1226,31 +1189,31 @@ GenExpr * Parser::parse_infix_op(std::istream & fs, token_t token, TreeExpr * t if (PARSE_DEBUG) printf("parse_infix_op: found addition operator (LINE %d)\n", line_count); if (PARSE_DEBUG) std::cerr << "WRAP AROUND IS " << tokenWrapAroundEnabled << std::endl; - return parse_gen_expr(fs, insert_infix_op(Eval::infix_add, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_add, &tree_expr), preset); case tMinus: if (PARSE_DEBUG) printf("parse_infix_op: found subtraction operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_minus, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_minus, &tree_expr), preset); case tMult: if (PARSE_DEBUG) printf("parse_infix_op: found multiplication operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_mult, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_mult, &tree_expr), preset); case tDiv: if (PARSE_DEBUG) printf("parse_infix_op: found division operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_div, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_div, &tree_expr), preset); case tMod: if (PARSE_DEBUG) printf("parse_infix_op: found modulo operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_mod, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_mod, &tree_expr), preset); case tOr: if (PARSE_DEBUG) printf("parse_infix_op: found bitwise or operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_or, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_or, &tree_expr), preset); case tAnd: if (PARSE_DEBUG) printf("parse_infix_op: found bitwise and operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_and, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_and, &tree_expr), preset); case tPositive: if (PARSE_DEBUG) printf("parse_infix_op: found positive operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_positive, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_positive, &tree_expr), preset); case tNegative: if (PARSE_DEBUG) printf("parse_infix_op: found negative operator (LINE %d)\n", line_count); - return parse_gen_expr(fs, insert_infix_op(Eval::infix_negative, &tree_expr), preset); + return _parse_gen_expr(fs, insert_infix_op(Eval::infix_negative, &tree_expr), preset); case tEOL: case tEOF: @@ -1258,12 +1221,12 @@ GenExpr * Parser::parse_infix_op(std::istream & fs, token_t token, TreeExpr * t case tRPr: case tComma: if (PARSE_DEBUG) printf("parse_infix_op: terminal found (LINE %d)\n", line_count); - gen_expr = new GenExpr(TREE_T, (void*)tree_expr); + gen_expr = tree_expr; assert(gen_expr); return gen_expr; default: if (PARSE_DEBUG) printf("parse_infix_op: operator or terminal expected, but not found (LINE %d)\n", line_count); - delete tree_expr; + Expr::delete_expr(tree_expr); return NULL; } @@ -1279,7 +1242,7 @@ int Parser::parse_int(std::istream & fs, int * int_ptr) char string[MAX_TOKEN_SIZE]; token_t token; int sign; - char * end_ptr = " "; + char * end_ptr = (char*)" "; token = parseToken(fs, string); @@ -1288,11 +1251,11 @@ int Parser::parse_int(std::istream & fs, int * int_ptr) { case tMinus: sign = -1; - token = parseToken(fs, string); + parseToken(fs, string); break; case tPlus: sign = 1; - token = parseToken(fs, string); + parseToken(fs, string); break; default: sign = 1; @@ -1304,7 +1267,7 @@ int Parser::parse_int(std::istream & fs, int * int_ptr) return PROJECTM_PARSE_ERROR; /* Convert the string to an integer. *end_ptr - should end up pointing to null terminator of 'string' + should end up pointing to null terminator of 'string' if the conversion was successful. */ // printf("STRING: \"%s\"\n", string); @@ -1320,16 +1283,15 @@ int Parser::parse_int(std::istream & fs, int * int_ptr) /* Parses a floating point number */ int Parser::string_to_float(char * string, float * float_ptr) { - char ** error_ptr; - + if (*string == 0) return PROJECTM_PARSE_ERROR; - + error_ptr = (char**)wipemalloc(sizeof(char**)); - + (*float_ptr) = strtod(string, error_ptr); - + /* These imply a succesful parse of the string */ if ((**error_ptr == '\0') || (**error_ptr == '\r')) { @@ -1354,7 +1316,7 @@ int Parser::parse_float(std::istream & fs, float * float_ptr) int sign; error_ptr =(char**) wipemalloc(sizeof(char**)); - + token = parseToken(fs, string); switch (token) @@ -1379,7 +1341,7 @@ int Parser::parse_float(std::istream & fs, float * float_ptr) } (*float_ptr) = sign*strtod(string, error_ptr); - + /* No conversion was performed */ if ((**error_ptr == '\0') || (**error_ptr == '\r')) { @@ -1398,13 +1360,13 @@ int Parser::parse_float(std::istream & fs, float * float_ptr) } /* Parses a per frame equation. That is, interprets a stream of data as a per frame equation */ -PerFrameEqn * Parser::parse_per_frame_eqn(std::istream & fs, int index, Preset * preset) +PerFrameEqn * Parser::parse_per_frame_eqn(std::istream & fs, int index, MilkdropPreset * preset) { char string[MAX_TOKEN_SIZE]; Param * param; PerFrameEqn * per_frame_eqn; - GenExpr * gen_expr; + Expr * gen_expr; if (parseToken(fs, string) != tEq) @@ -1439,7 +1401,7 @@ PerFrameEqn * Parser::parse_per_frame_eqn(std::istream & fs, int index, Preset if ((per_frame_eqn = new PerFrameEqn(index, param, gen_expr)) == NULL) { if (PARSE_DEBUG) printf("parse_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); - delete gen_expr; + Expr::delete_expr(gen_expr); return NULL; } @@ -1449,14 +1411,14 @@ PerFrameEqn * Parser::parse_per_frame_eqn(std::istream & fs, int index, Preset } /* Parses an 'implicit' per frame equation. That is, interprets a stream of data as a per frame equation without a prefix */ -PerFrameEqn * Parser::parse_implicit_per_frame_eqn(std::istream & fs, char * param_string, int index, Preset * preset) +PerFrameEqn * Parser::parse_implicit_per_frame_eqn(std::istream & fs, char * param_string, int index, MilkdropPreset * preset) { Param * param; PerFrameEqn * per_frame_eqn; - GenExpr * gen_expr; + Expr * gen_expr; - if (fs == NULL) + if (fs.fail()) return NULL; if (param_string == NULL) return NULL; @@ -1492,7 +1454,7 @@ PerFrameEqn * Parser::parse_implicit_per_frame_eqn(std::istream & fs, char * pa if ((per_frame_eqn = new PerFrameEqn(index, param, gen_expr)) == NULL) { if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); - delete gen_expr; + Expr::delete_expr(gen_expr); return NULL; } @@ -1502,7 +1464,7 @@ PerFrameEqn * Parser::parse_implicit_per_frame_eqn(std::istream & fs, char * pa } /* Parses an initial condition */ -InitCond * Parser::parse_init_cond(std::istream & fs, char * name, Preset * preset) +InitCond * Parser::parse_init_cond(std::istream & fs, char * name, MilkdropPreset * preset) { Param * param; @@ -1531,10 +1493,10 @@ InitCond * Parser::parse_init_cond(std::istream & fs, char * name, Preset * pre /* At this point, a parameter has been created or was found in the database. */ - if (PARSE_DEBUG) printf("parse_init_cond: parsing initial condition value... (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parsed_init_cond: parsing initial condition value... (LINE %d)\n", line_count); /* integer value (boolean is an integer in C) */ - if ( (param->type == P_TYPE_BOOL)) + if (param->type == P_TYPE_BOOL) { int bool_test; if ((parse_int(fs, &bool_test)) == PROJECTM_PARSE_ERROR) @@ -1545,7 +1507,7 @@ InitCond * Parser::parse_init_cond(std::istream & fs, char * name, Preset * pre init_val.bool_val = bool_test; } - else if ((param->type == P_TYPE_INT)) + else if (param->type == P_TYPE_INT) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { @@ -1582,23 +1544,29 @@ InitCond * Parser::parse_init_cond(std::istream & fs, char * name, Preset * pre return init_cond; } -/* Parses a per frame init equation, not sure if this works right now */ -InitCond * Parser::parse_per_frame_init_eqn(std::istream & fs, Preset * preset, std::map * database) + +void Parser::parse_string_block(std::istream & fs, std::string * out_string) { + std::set skipList; + skipList.insert('`'); + readStringUntil(fs, out_string, false, skipList); + + //std::cout << "out_string:\n " << *out_string << "\n" << std::endl; + +} + +InitCond * Parser::parse_per_frame_init_eqn(std::istream & fs, MilkdropPreset * preset, std::map * database) { char name[MAX_TOKEN_SIZE]; Param * param = NULL; CValue init_val; InitCond * init_cond; - GenExpr * gen_expr; + Expr * gen_expr; float val; token_t token; - - if (preset == NULL) - return NULL; - if (fs == NULL) - return NULL; + assert(preset); + assert(!fs.fail()); if ((token = parseToken(fs, name)) != tEq) return NULL; @@ -1636,10 +1604,10 @@ InitCond * Parser::parse_per_frame_init_eqn(std::istream & fs, Preset * preset, } /* Compute initial condition value */ - val = gen_expr->eval_gen_expr(-1,-1); + val = gen_expr->eval(-1,-1); /* Free the general expression now that we are done with it */ - delete gen_expr; + Expr::delete_expr(gen_expr); /* integer value (boolean is an integer in C) */ if (param->type == P_TYPE_BOOL) @@ -1647,7 +1615,7 @@ InitCond * Parser::parse_per_frame_init_eqn(std::istream & fs, Preset * preset, init_val.bool_val = (bool)val; } - else if ((param->type == P_TYPE_INT)) + else if (param->type == P_TYPE_INT) { init_val.int_val = (int)val; } @@ -1679,7 +1647,124 @@ InitCond * Parser::parse_per_frame_init_eqn(std::istream & fs, Preset * preset, return init_cond; } -int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) +bool Parser::scanForComment(std::istream & fs) { + + int c; + c = fs.get(); + + if (c == '/') { + while (true) + { + if (!fs || fs.eof()) + return true; + else + c = fs.get(); + if (c == EOF) + return true; + + if (c == '\n') + { + return true; + } + } + } else { + fs.unget(); + return false; + } +} + +void Parser::readStringUntil(std::istream & fs, std::string * out_buffer, bool wrapAround, const std::set & skipList) { + + int c; + + /* Loop until a delimiter is found, or the maximum string size is found */ + while (true) + { + + if (!fs || fs.eof()) + c = EOF; + else + c = fs.get(); + + /* Now interpret the character */ + switch (c) + { + case '/': + { + bool commentExisted = scanForComment(fs); + if (!commentExisted) { + out_buffer->push_back(c); + break; + } else { + line_count++; + out_buffer->push_back('\n'); + return; + } + } + case '\n': + if (!out_buffer->empty() && ((*out_buffer)[out_buffer->length() -1] == '\n')) + return; + + line_count++; + if (wrapAround) + { + std::ostringstream buffer; + + // if (PARSE_DEBUG) std::cerr << "token wrap! line " << line_count << std::endl; + while (c != '=') + { + + if (!fs || fs.eof()) + { + line_count = 1; + line_mode = UNSET_LINE_MODE; + // if (PARSE_DEBUG) std::cerr << "token wrap: end of file" << std::endl; + return; + } + + else { + c = fs.get(); + if ( c != '=') + buffer << c; + } + + } + + + if (!wrapsToNextLine(buffer.str())) { + int buf_size = (int)buffer.str().length(); + // <= to also remove equal sign parsing from stream + for (int k = 0; k <= buf_size; k++) { + if (fs) + fs.unget(); + else + abort(); + } + return; + } + + break; + } else + out_buffer->push_back(c); + return; + case EOF: + line_count = 1; + return; + default: + + if (out_buffer != NULL) + { + if (skipList.find(c) == skipList.end()) + out_buffer->push_back(c); + + } + } + + } + + +} +int Parser::parse_wavecode(char * token, std::istream & fs, MilkdropPreset * preset) { char * var_string; @@ -1690,7 +1775,7 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) Param * param; assert(preset); - assert(fs); + assert(!fs.fail()); assert(token); /* token should be in the form wavecode_N_var, such as wavecode_1_samples */ @@ -1704,7 +1789,7 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) if (PARSE_DEBUG) printf("parse_wavecode: wavecode id = %d, parameter = \"%s\"\n", id, var_string); /* Retrieve custom wave information from preset, allocating new one if necessary */ - if ((custom_wave = Preset::find_custom_object(id, preset->customWaves)) == NULL) + if ((custom_wave = MilkdropPreset::find_custom_object(id, preset->customWaves)) == NULL) { std::cerr << "parse_wavecode: failed to load (or create) custom wave (id = " << id << ")!\n" << std::endl; @@ -1722,7 +1807,7 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) /* integer value (boolean is an integer in C) */ - if ((param->type == P_TYPE_BOOL)) + if (param->type == P_TYPE_BOOL) { int bool_test; if ((parse_int(fs, &bool_test)) == PROJECTM_PARSE_ERROR) @@ -1733,7 +1818,7 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) } init_val.bool_val = bool_test; } - else if ((param->type == P_TYPE_INT)) + else if (param->type == P_TYPE_INT) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { @@ -1761,16 +1846,15 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) } /* Create new initial condition */ - if ((init_cond = new InitCond(param, init_val)) == NULL) + init_cond = new InitCond(param, init_val); + + if (init_cond == NULL) { if (PARSE_DEBUG) printf("parse_wavecode: new_init_cond failed!\n"); return PROJECTM_FAILURE; } - std::pair::iterator, bool> inserteePair = - custom_wave->init_cond_tree.insert(std::make_pair(init_cond->param->name, init_cond)); - - assert(inserteePair.second); + custom_wave->init_cond_tree.insert(std::make_pair(init_cond->param->name, init_cond)); line_mode = CUSTOM_WAVE_WAVECODE_LINE_MODE; @@ -1778,7 +1862,7 @@ int Parser::parse_wavecode(char * token, std::istream & fs, Preset * preset) return PROJECTM_SUCCESS; } -int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) +int Parser::parse_shapecode(char * token, std::istream & fs, MilkdropPreset * preset) { char * var_string; @@ -1787,14 +1871,13 @@ int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) int id; CValue init_val; Param * param; - + + /* Null argument checks */ - if (preset == NULL) - return PROJECTM_FAILURE; - if (fs == NULL) - return PROJECTM_FAILURE; - if (token == NULL) - return PROJECTM_FAILURE; + assert(preset); + assert(fs); + assert(token); + /* token should be in the form shapecode_N_var, such as shapecode_1_samples */ @@ -1810,7 +1893,7 @@ int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) /* Retrieve custom shape information from preset. The 3rd argument if true creates a custom shape if one does not exist */ - if ((custom_shape = Preset::find_custom_object(id, preset->customShapes)) == NULL) + if ((custom_shape = MilkdropPreset::find_custom_object(id, preset->customShapes)) == NULL) { if (PARSE_DEBUG) printf("parse_shapecode: failed to load (or create) custom shape (id = %d)!\n", id); return PROJECTM_FAILURE; @@ -1825,7 +1908,7 @@ int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) fs >> text; - *((std::string*)param->engine_val) = text; + param->set_param(text); if (PARSE_DEBUG) std::cerr << "parse_shapecode: found image url, text is \"" << text << "\"" << std::endl; @@ -1846,7 +1929,7 @@ int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) /* integer value (boolean is an integer in C) */ - if ((param->type == P_TYPE_BOOL)) + if (param->type == P_TYPE_BOOL) { int bool_test; if ((parse_int(fs, &bool_test)) == PROJECTM_PARSE_ERROR) @@ -1856,7 +1939,7 @@ int Parser::parse_shapecode(char * token, std::istream & fs, Preset * preset) } init_val.bool_val = bool_test; } - else if ((param->type == P_TYPE_INT)) + else if (param->type == P_TYPE_INT) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { @@ -1902,14 +1985,8 @@ int Parser::parse_wavecode_prefix(char * token, int * id, char ** var_string) int len, i, j; - if (token == NULL) - return PROJECTM_FAILURE; - /* - if (*var_string == NULL) - return PROJECTM_FAILURE; - */ - if (id == NULL) - return PROJECTM_FAILURE; + assert(id); + assert(token); len = strlen(token); @@ -2072,7 +2149,7 @@ int Parser::parse_shape_prefix(char * token, int * id, char ** eqn_string) } /* Parses custom wave equations */ -int Parser::parse_wave(char * token, std::istream & fs, Preset * preset) +int Parser::parse_wave(char * token, std::istream & fs, MilkdropPreset * preset) { int id; @@ -2082,7 +2159,7 @@ int Parser::parse_wave(char * token, std::istream & fs, Preset * preset) if (token == NULL) return PROJECTM_FAILURE; - if (fs == NULL) + if (fs.fail()) return PROJECTM_FAILURE; if (preset == NULL) return PROJECTM_FAILURE; @@ -2100,18 +2177,18 @@ int Parser::parse_wave(char * token, std::istream & fs, Preset * preset) } -int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char * eqn_type, char * init_string) +int Parser::parse_wave_helper(std::istream & fs, MilkdropPreset * preset, int id, char * eqn_type, char * init_string) { Param * param; - GenExpr * gen_expr; + Expr * gen_expr; char string[MAX_TOKEN_SIZE]; PerFrameEqn * per_frame_eqn; CustomWave * custom_wave; InitCond * init_cond; /* Retrieve custom wave associated with this id */ - if ((custom_wave = Preset::find_custom_object(id, preset->customWaves)) == NULL) + if ((custom_wave = MilkdropPreset::find_custom_object(id, preset->customWaves)) == NULL) { if (PARSE_DEBUG) printf("parse_wave_helper: custom wave id %d not found!\n", id); return PROJECTM_FAILURE; @@ -2133,12 +2210,6 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char /* Insert the equation in the per frame equation tree */ custom_wave->per_frame_init_eqn_tree.insert(std::make_pair(init_cond->param->name,init_cond)); - if (update_string_buffer(custom_wave->per_frame_init_eqn_string_buffer, - &custom_wave->per_frame_init_eqn_string_index) < 0) - { - if (PARSE_DEBUG) printf("parse_wave_helper: failed to update string buffer (LINE %d)\n", line_count); - return PROJECTM_FAILURE; - } line_mode = CUSTOM_WAVE_PER_FRAME_INIT_LINE_MODE; init_cond->evaluate(true); return PROJECTM_SUCCESS; @@ -2191,11 +2262,11 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char if ((per_frame_eqn = new PerFrameEqn(custom_wave->per_frame_count++, param, gen_expr)) == NULL) { if (PARSE_DEBUG) printf("parse_wave (per_frame): failed to create a new per frame eqn, out of memory?\n"); - delete gen_expr; + Expr::delete_expr(gen_expr); return PROJECTM_FAILURE; } - custom_wave->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn->index, per_frame_eqn)); + custom_wave->per_frame_eqn_tree.push_back(per_frame_eqn); if (PARSE_DEBUG) printf("parse_wave (per_frame): equation %d associated with custom wave %d [success]\n", per_frame_eqn->index, custom_wave->id); @@ -2203,9 +2274,6 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char /* Need to add stuff to string buffer so the editor can read the equations. Why not make a nice little helper function for this? - here it is: */ - if (update_string_buffer(custom_wave->per_frame_eqn_string_buffer, &custom_wave->per_frame_eqn_string_index) < 0) - return PROJECTM_FAILURE; - line_mode = CUSTOM_WAVE_PER_FRAME_LINE_MODE; return PROJECTM_SUCCESS; } @@ -2220,7 +2288,7 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char /// HACK the parse_line code already parsed the per_pixel variable name. This handles that case /// Parser needs reworked. Don't have time for it. So this is the result. if (init_string) - strncpy(string, init_string, strlen(init_string)); + strncpy(string, init_string, strlen(init_string)+1); else { if (parseToken(fs, string) != tEq) @@ -2236,7 +2304,6 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { if (PARSE_DEBUG) printf("parse_wave_helper (per_point): equation evaluated to null? (LINE %d)\n", line_count); - return PROJECTM_PARSE_ERROR; } @@ -2244,15 +2311,13 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char /* Add the per point equation */ if (custom_wave->add_per_point_eqn(string, gen_expr) < 0) { - delete gen_expr; - + Expr::delete_expr(gen_expr); return PROJECTM_PARSE_ERROR; } // This tells the parser we are no longer parsing a custom wave current_wave = NULL; - if (update_string_buffer(custom_wave->per_point_eqn_string_buffer, &custom_wave->per_point_eqn_string_index) < 0) - return PROJECTM_FAILURE; + line_mode = CUSTOM_WAVE_PER_POINT_LINE_MODE; if (PARSE_DEBUG) printf("parse_wave_helper (per_point): [finished] (custom wave id = %d)\n", custom_wave->id); @@ -2263,21 +2328,16 @@ int Parser::parse_wave_helper(std::istream & fs, Preset * preset, int id, char } /* Parses custom shape equations */ -int Parser::parse_shape(char * token, std::istream & fs, Preset * preset) +int Parser::parse_shape(char * token, std::istream & fs, MilkdropPreset * preset) { int id; char * eqn_type; CustomShape * custom_shape; - - if (token == NULL) - - return PROJECTM_FAILURE; - if (fs == NULL) - return PROJECTM_FAILURE; - if (preset == NULL) - return PROJECTM_FAILURE; + assert(preset); + assert(!fs.fail()); + assert(token); /* Grab custom shape id and equation type (per frame or per point) from string token */ if (parse_shape_prefix(token, &id, &eqn_type) < 0) @@ -2287,7 +2347,7 @@ int Parser::parse_shape(char * token, std::istream & fs, Preset * preset) } /* Retrieve custom shape associated with this id */ - if ((custom_shape = Preset::find_custom_object(id,preset->customShapes)) == NULL) + if ((custom_shape = MilkdropPreset::find_custom_object(id,preset->customShapes)) == NULL) return PROJECTM_FAILURE; @@ -2309,53 +2369,7 @@ int Parser::parse_shape(char * token, std::istream & fs, Preset * preset) } /* Helper function to update the string buffers used by the editor */ -int Parser::update_string_buffer(char * buffer, int * index) -{ - int string_length; - int skip_size; - - if (!buffer) - return PROJECTM_FAILURE; - if (!index) - return PROJECTM_FAILURE; - - - /* If the string line buffer used by the parser is already full then quit */ - if (string_line_buffer_index == (STRING_LINE_SIZE-1)) - return PROJECTM_FAILURE; - - if ((skip_size = get_string_prefix_len(string_line_buffer)) == PROJECTM_FAILURE) - return PROJECTM_FAILURE; - - string_line_buffer[string_line_buffer_index++] = '\n'; - - // string_length = strlen(string_line_buffer + strlen(eqn_string)+1); - if (skip_size >= STRING_LINE_SIZE) - return PROJECTM_FAILURE; - - string_length = strlen(string_line_buffer + skip_size); - - if (skip_size > (STRING_LINE_SIZE-1)) - return PROJECTM_FAILURE; - - /* Add line to string buffer */ - strncpy(buffer + (*index), - string_line_buffer + skip_size, string_length); - - /* Buffer full, quit */ - if ((*index) > (STRING_BUFFER_SIZE - 1)) - { - if (PARSE_DEBUG) printf("update_string_buffer: string buffer full!\n"); - return PROJECTM_FAILURE; - } - - /* Otherwise, increment string index by the added string length */ - (*index)+=string_length; - - return PROJECTM_SUCCESS; - -} /* Helper function: returns the length of the prefix portion in the line @@ -2398,11 +2412,11 @@ int Parser::get_string_prefix_len(char * string) if (string[i] == 0) return PROJECTM_FAILURE; - /* Finished succesfully, return the length */ + /* Finished successfully, return the length */ return i; } -int Parser::parse_shape_per_frame_init_eqn(std::istream & fs, CustomShape * custom_shape, Preset * preset) +int Parser::parse_shape_per_frame_init_eqn(std::istream & fs, CustomShape * custom_shape, MilkdropPreset * preset) { InitCond * init_cond; @@ -2415,22 +2429,20 @@ int Parser::parse_shape_per_frame_init_eqn(std::istream & fs, CustomShape * cus return PROJECTM_PARSE_ERROR; } - /* Insert the equation in the per frame equation tree */ - custom_shape->per_frame_init_eqn_tree.insert(std::make_pair(init_cond->param->name,init_cond)); - if (update_string_buffer(custom_shape->per_frame_init_eqn_string_buffer, - &custom_shape->per_frame_init_eqn_string_index) < 0) - return PROJECTM_FAILURE; + /// \idea possibly a good place to update a string buffer; line_mode = CUSTOM_SHAPE_PER_FRAME_INIT_LINE_MODE; init_cond->evaluate(true); + + delete init_cond; return PROJECTM_SUCCESS; } -int Parser::parse_shape_per_frame_eqn(std::istream & fs, CustomShape * custom_shape, Preset * preset) +int Parser::parse_shape_per_frame_eqn(std::istream & fs, CustomShape * custom_shape, MilkdropPreset * preset) { Param * param; - GenExpr * gen_expr; + Expr * gen_expr; PerFrameEqn * per_frame_eqn; char string[MAX_TOKEN_SIZE]; @@ -2476,27 +2488,23 @@ int Parser::parse_shape_per_frame_eqn(std::istream & fs, CustomShape * custom_sh if ((per_frame_eqn = new PerFrameEqn(custom_shape->per_frame_count++, param, gen_expr)) == NULL) { if (PARSE_DEBUG) printf("parse_shape (per_frame): failed to create a new per frame eqn, out of memory?\n"); - delete gen_expr; + Expr::delete_expr(gen_expr); return PROJECTM_FAILURE; } - custom_shape->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn->index, per_frame_eqn)); + custom_shape->per_frame_eqn_tree.push_back(per_frame_eqn); - /* Need to add stuff to string buffer so the editor can read the equations. - Why not make a nice little helper function for this? - here it is: */ - - if (update_string_buffer(custom_shape->per_frame_eqn_string_buffer, &custom_shape->per_frame_eqn_string_index) < 0) - return PROJECTM_FAILURE; + /// \idea add string buffer update for easy >> and << line_mode = CUSTOM_SHAPE_PER_FRAME_LINE_MODE; return PROJECTM_SUCCESS; } -int Parser::parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wave, Preset * preset) +int Parser::parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wave, MilkdropPreset * preset) { Param * param; - GenExpr * gen_expr; + Expr * gen_expr; PerFrameEqn * per_frame_eqn; char string[MAX_TOKEN_SIZE]; @@ -2542,11 +2550,11 @@ int Parser::parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wav if ((per_frame_eqn = new PerFrameEqn(custom_wave->per_frame_count++, param, gen_expr)) == NULL) { if (PARSE_DEBUG) printf("parse_wave (per_frame): failed to create a new per frame eqn, out of memory?\n"); - delete gen_expr; + Expr::delete_expr(gen_expr); return PROJECTM_FAILURE; } - custom_wave->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn->index, per_frame_eqn)); + custom_wave->per_frame_eqn_tree.push_back(per_frame_eqn); if (PARSE_DEBUG) printf("parse_wave (per_frame): equation %d associated with custom wave %d [success]\n", per_frame_eqn->index, custom_wave->id); @@ -2554,9 +2562,6 @@ int Parser::parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wav /* Need to add stuff to string buffer so the editor can read the equations. Why not make a nice little helper function for this? - here it is: */ - if (update_string_buffer(custom_wave->per_frame_eqn_string_buffer, &custom_wave->per_frame_eqn_string_index) < 0) - return PROJECTM_FAILURE; - line_mode = CUSTOM_WAVE_PER_FRAME_LINE_MODE; return PROJECTM_SUCCESS; } @@ -2564,10 +2569,10 @@ int Parser::parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wav bool Parser::wrapsToNextLine(const std::string & str) { -std::size_t lastLineEndIndex = +std::size_t lastLineEndIndex = lastLinePrefix.find_last_not_of("0123456789"); -std::size_t thisLineEndIndex = +std::size_t thisLineEndIndex = str.find_last_not_of("0123456789"); std::size_t startIndex = 0; @@ -2577,3 +2582,144 @@ else return false; } + + + + + + + +// TESTS + + +#include + +#ifndef NDEBUG + +#include + +#define TEST(cond) if (!verify(#cond,cond)) return false +#define TEST2(str,cond) if (!verify(str,cond)) return false + +struct ParserTest : public Test +{ + ParserTest() : Test("ParserTest") + {} + + MilkdropPreset *preset; + std::istringstream is; + std::istringstream &ss(const char *s) { return is = std::istringstream(s); } + + bool eq(float a, float b) + { + return std::abs(a-b) < (std::abs(a)+std::abs(b) + 1)/1000.0f; + } + +public: + + bool test_float() + { + float f=-1.0f; + TEST(PROJECTM_SUCCESS == Parser::parse_float(ss("1.1"),&f)); + TEST(1.1f == f); + TEST(PROJECTM_SUCCESS == Parser::parse_float(ss("+1.2"),&f)); + TEST(PROJECTM_SUCCESS == Parser::parse_float(ss("-1.3"),&f)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_float(ss(""),&f)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_float(ss("\n"),&f)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_float(ss("+"),&f)); + return true; + } + + bool test_int() + { + int i=-1; + TEST(PROJECTM_SUCCESS == Parser::parse_int(ss("1"),&i)); + TEST(1 == i); + TEST(PROJECTM_SUCCESS == Parser::parse_int(ss("+2"),&i)); + TEST(PROJECTM_SUCCESS == Parser::parse_int(ss("-3"),&i)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_int(ss(""),&i)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_int(ss("\n"),&i)); + TEST(PROJECTM_PARSE_ERROR == Parser::parse_int(ss("+"),&i)); + return true; + } + + bool eval_expr(float expected, const char *s) + { + float result; + Expr *expr_parse = Parser::parse_gen_expr(ss(s),nullptr,preset); + TEST(expr_parse != nullptr); + // Expr doesn't really expect to run 'non-optimized' expressions any longer + Expr *expr = Expr::optimize(expr_parse); + expr_parse = nullptr; + if (!ParserTest::eq(expected, result=expr->eval(-1,-1))) + { + std::cout << "failed: expected " << expected << " found " << result << std::endl; + return false; + } + Expr::delete_expr(expr); + return true; + } + + bool test_eqn() + { + TEST(eval_expr(1.0f, "1.0")); + TEST(eval_expr(-1.0f, "-(1.0)")); // unary` + TEST(eval_expr(0.5f, "5/10.000")); // binary + TEST(eval_expr(1.0f, "sin(3.14159/2)")); + preset->presetOutputs().rot = 0.99f; + TEST(eval_expr(0.99f, "rot")); + return true; + } + + // test multi-line expression, and multi-expression line + bool test_lines() + { + // TODO + return true; + } + + bool test_params() + { + // TODO + return true; + } + + + bool _test() + { + bool success = true; + success &= test_float(); + success &= test_int(); + success &= test_eqn(); + success &= test_lines(); + success &= test_params(); + return success; + } + + bool test() override + { + // load IdlePreset + PresetLoader *presetLoader = new PresetLoader ( 400, 400, "" ); + std::unique_ptr preset_ptr = presetLoader->loadPreset("idle://Geiss & Sperl - Feedback (projectM idle HDR mix).milk"); + preset = (MilkdropPreset *)preset_ptr.get(); + + bool success = _test(); + + delete presetLoader; + return success; + } +}; + +Test* Parser::test() +{ + return new ParserTest(); +} + +#else + +Test* Parser::test() +{ + return nullptr; +} + +#endif diff --git a/src/libprojectM/MilkdropPresetFactory/Parser.hpp b/src/libprojectM/MilkdropPresetFactory/Parser.hpp new file mode 100755 index 0000000000..edcf5c3572 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/Parser.hpp @@ -0,0 +1,195 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * MilkdropPreset parser + * + * $Log$ + */ + +#ifndef _PARSER_H +#define _PARSER_H +//#define PARSE_DEBUG 2 +#define PARSE_DEBUG 0 + +#include + +#include "Expr.hpp" +#include "PerFrameEqn.hpp" +#include "InitCond.hpp" +#include "MilkdropPreset.hpp" + +/* Strings that prefix (and denote the type of) equations */ +#define PER_FRAME_STRING "per_frame_" +#define PER_FRAME_STRING_LENGTH 10 + +#define PER_PIXEL_STRING "per_pixel_" +#define PER_PIXEL_STRING_LENGTH 10 + +#define PER_FRAME_INIT_STRING "per_frame_init_" +#define PER_FRAME_INIT_STRING_LENGTH 15 + +#define WAVECODE_STRING "wavecode_" +#define WAVECODE_STRING_LENGTH 9 + +#define WAVE_STRING "wave_" +#define WAVE_STRING_LENGTH 5 + +#define PER_POINT_STRING "per_point" +#define PER_POINT_STRING_LENGTH 9 + +#define PER_FRAME_STRING_NO_UNDERSCORE "per_frame" +#define PER_FRAME_STRING_NO_UNDERSCORE_LENGTH 9 + +#define SHAPECODE_STRING "shapecode_" +#define SHAPECODE_STRING_LENGTH 10 + + +#define WARP_STRING "warp_" +#define WARP_STRING_LENGTH 5 + +#define COMPOSITE_STRING "comp_" +#define COMPOSITE_STRING_LENGTH 5 + +#define SHAPE_STRING "shape_" +#define SHAPE_STRING_LENGTH 6 + +#define SHAPE_INIT_STRING "init" +#define SHAPE_INIT_STRING_LENGTH 4 + +#define WAVE_INIT_STRING "init" +#define WAVE_INIT_STRING_LENGTH 4 + +#include + +typedef enum { + UNSET_LINE_MODE, + PER_FRAME_LINE_MODE, + PER_PIXEL_LINE_MODE, + PER_FRAME_INIT_LINE_MODE, + INIT_COND_LINE_MODE, + CUSTOM_WAVE_PER_POINT_LINE_MODE, + CUSTOM_WAVE_PER_FRAME_LINE_MODE, + CUSTOM_WAVE_WAVECODE_LINE_MODE, + CUSTOM_SHAPE_SHAPECODE_LINE_MODE, + CUSTOM_SHAPE_PER_FRAME_LINE_MODE, + CUSTOM_SHAPE_PER_FRAME_INIT_LINE_MODE, + CUSTOM_WAVE_PER_FRAME_INIT_LINE_MODE +} line_mode_t; + +/** Token enumeration type */ +typedef enum { + tEOL, /* end of a line, usually a '/n' or '/r' */ + tEOF, /* end of file */ + tLPr, /* ( */ + tRPr, /* ) */ + tLBr, /* [ */ + tRBr, /* ] */ + tEq, /* = */ + tPlus, /* + */ + tMinus, /* - */ + tMult, /* * */ + tMod, /* % */ + tDiv, /* / */ + tOr, /* | */ + tAnd, /* & */ + tComma, /* , */ + tPositive, /* + as a prefix operator */ + tNegative, /* - as a prefix operator */ + tSemiColon, /* ; */ + tStringTooLong, /* special token to indicate an invalid string length */ + tStringBufferFilled /* the string buffer for this line is maxed out */ + } token_t; + +class Test; +class CustomShape; +class CustomWave; +class Expr; +class InfixOp; +class PerFrameEqn; +class MilkdropPreset; +class TreeExpr; + +class Parser { +public: + static std::string lastLinePrefix; + static line_mode_t line_mode; + static CustomWave *current_wave; + static CustomShape *current_shape; + static int string_line_buffer_index; + static char string_line_buffer[STRING_LINE_SIZE]; + static unsigned int line_count; + static int per_frame_eqn_count; + static int per_frame_init_eqn_count; + static int last_custom_wave_id; + static int last_custom_shape_id; + static char last_eqn_type[MAX_TOKEN_SIZE+1]; + static int last_token_size; + static bool tokenWrapAroundEnabled; + + static Test *test(); + static PerFrameEqn *parse_per_frame_eqn( std::istream & fs, int index, + MilkdropPreset * preset); + static int parse_per_pixel_eqn( std::istream & fs, MilkdropPreset * preset, + char * init_string); + static InitCond *parse_init_cond( std::istream & fs, char * name, MilkdropPreset * preset ); + static int parse_preset_name( std::istream & fs, char * name ); + static int parse_top_comment( std::istream & fs ); + static int parse_line( std::istream & fs, MilkdropPreset * preset ); + + static int get_string_prefix_len(char * string); + static TreeExpr * insert_gen_expr(Expr * gen_expr, TreeExpr ** root); + static TreeExpr * insert_infix_op(InfixOp * infix_op, TreeExpr ** root); + static token_t parseToken(std::istream & fs, char * string); + static Expr ** parse_prefix_args(std::istream & fs, int num_args, MilkdropPreset * preset); + static Expr * parse_infix_op(std::istream & fs, token_t token, TreeExpr * tree_expr, MilkdropPreset * preset); + static Expr * parse_sign_arg(std::istream & fs); + static int parse_float(std::istream & fs, float * float_ptr); + static int parse_int(std::istream & fs, int * int_ptr); + static int insert_gen_rec(Expr * gen_expr, TreeExpr * root); + static int insert_infix_rec(InfixOp * infix_op, TreeExpr * root); + static Expr * parse_gen_expr(std::istream & fs, TreeExpr * tree_expr, MilkdropPreset * preset); + static PerFrameEqn * parse_implicit_per_frame_eqn(std::istream & fs, char * param_string, int index, MilkdropPreset * preset); + static InitCond * parse_per_frame_init_eqn(std::istream & fs, MilkdropPreset * preset, std::map * database); + static int parse_wavecode_prefix(char * token, int * id, char ** var_string); + static int parse_wavecode(char * token, std::istream & fs, MilkdropPreset * preset); + static int parse_wave_prefix(char * token, int * id, char ** eqn_string); + static int parse_wave_helper(std::istream & fs, MilkdropPreset * preset, int id, char * eqn_type, char * init_string); + static int parse_shapecode(char * eqn_string, std::istream & fs, MilkdropPreset * preset); + static int parse_shapecode_prefix(char * token, int * id, char ** var_string); + static void parse_string_block(std::istream & fs, std::string * out_string); + static bool scanForComment(std::istream & fs); + static int parse_wave(char * eqn_string, std::istream & fs, MilkdropPreset * preset); + static int parse_shape(char * eqn_string, std::istream & fs, MilkdropPreset * preset); + static int parse_shape_prefix(char * token, int * id, char ** eqn_string); + static void readStringUntil(std::istream & fs, std::string * out_buffer, bool wrapAround = true, const std::set & skipList = std::set()) ; + + static int string_to_float(char * string, float * float_ptr); + static int parse_shape_per_frame_init_eqn(std::istream & fs, CustomShape * custom_shape, MilkdropPreset * preset); + static int parse_shape_per_frame_eqn(std::istream & fs, CustomShape * custom_shape, MilkdropPreset * preset); + static int parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wave, MilkdropPreset * preset); + static bool wrapsToNextLine(const std::string & str); +private: + static Expr * _parse_gen_expr(std::istream & fs, TreeExpr * tree_expr, MilkdropPreset * preset); + }; + +#endif /** !_PARSER_H */ diff --git a/src/projectM-engine/PerFrameEqn.cpp b/src/libprojectM/MilkdropPresetFactory/PerFrameEqn.cpp similarity index 77% rename from src/projectM-engine/PerFrameEqn.cpp rename to src/libprojectM/MilkdropPresetFactory/PerFrameEqn.cpp index 30e23422b8..9a49b1e63a 100755 --- a/src/projectM-engine/PerFrameEqn.cpp +++ b/src/libprojectM/MilkdropPresetFactory/PerFrameEqn.cpp @@ -36,32 +36,31 @@ #include /* Evaluate an equation */ -void PerFrameEqn::evaluate() { - +void PerFrameEqn::evaluate() +{ if (PER_FRAME_EQN_DEBUG) { printf("per_frame_%d=%s= ", index, param->name.c_str()); fflush(stdout); } - //*((float*)per_frame_eqn->param->engine_val) = eval_gen_expr(per_frame_eqn->gen_expr); + //*((float*)per_frame_eqn->param->engine_val) = eval(per_frame_eqn->gen_expr); assert(gen_expr); assert(param); - param->set_param(gen_expr->eval_gen_expr(-1,-1)); + float v = gen_expr->eval(-1,-1); + param->set_param(v); - if (PER_FRAME_EQN_DEBUG) printf(" = %.4f\n", *((float*)param->engine_val)); - + if (PER_FRAME_EQN_DEBUG) printf(" = %.4f\n", v); } /* Frees perframe equation structure. Warning: assumes gen_expr pointer is not freed by anyone else! */ -PerFrameEqn::~PerFrameEqn() { - - delete gen_expr; - - // param is freed in param_tree container of some other class +PerFrameEqn::~PerFrameEqn() +{ + Expr::delete_expr(gen_expr); + // param is freed in param_tree container of some other class } /* Create a new per frame equation */ -PerFrameEqn::PerFrameEqn(int _index, Param * _param, GenExpr * _gen_expr) : +PerFrameEqn::PerFrameEqn(int _index, Param * _param, Expr * _gen_expr) : index(_index), param(_param), gen_expr(_gen_expr) {} diff --git a/src/projectM-engine/PerFrameEqn.hpp b/src/libprojectM/MilkdropPresetFactory/PerFrameEqn.hpp similarity index 90% rename from src/projectM-engine/PerFrameEqn.hpp rename to src/libprojectM/MilkdropPresetFactory/PerFrameEqn.hpp index 39640805d1..4b703acb8a 100755 --- a/src/projectM-engine/PerFrameEqn.hpp +++ b/src/libprojectM/MilkdropPresetFactory/PerFrameEqn.hpp @@ -31,7 +31,7 @@ #define PER_FRAME_EQN_DEBUG 0 -class GenExpr; +class Expr; class Param; class PerFrameEqn; @@ -39,9 +39,9 @@ class PerFrameEqn { public: int index; /* a unique id for each per frame eqn (generated by order in preset files) */ Param *param; /* parameter to be assigned a value */ - GenExpr *gen_expr; /* expression that paremeter is equal to */ + Expr *gen_expr; /* expression that paremeter is equal to */ - PerFrameEqn(int index, Param * param, GenExpr * gen_expr); + PerFrameEqn(int index, Param * param, Expr * gen_expr); ~PerFrameEqn(); /// Evaluate the per frame equation diff --git a/src/libprojectM/MilkdropPresetFactory/PerPixelEqn.cpp b/src/libprojectM/MilkdropPresetFactory/PerPixelEqn.cpp new file mode 100755 index 0000000000..47d44cf274 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/PerPixelEqn.cpp @@ -0,0 +1,57 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include +#include + +#include "fatal.h" +#include "Common.hpp" + +#include "Expr.hpp" +#include "Eval.hpp" +#include "Param.hpp" +#include "PerPixelEqn.hpp" +#include + +#include "wipemalloc.h" +#include + +/* Evaluates a per pixel equation */ +void PerPixelEqn::evaluate(int mesh_i, int mesh_j) +{ + assign_expr->eval( mesh_i, mesh_j ); +} + +PerPixelEqn::PerPixelEqn(int _index, Param * param, Expr * gen_expr):index(_index) +{ + assert(index >= 0); + assert(param != 0); + assert(gen_expr != 0); + assign_expr = Expr::create_matrix_assignment(param, gen_expr); +} + + +PerPixelEqn::~PerPixelEqn() +{ + Expr::delete_expr(assign_expr); +} diff --git a/src/projectM-engine/PerPixelEqn.hpp b/src/libprojectM/MilkdropPresetFactory/PerPixelEqn.hpp similarity index 88% rename from src/projectM-engine/PerPixelEqn.hpp rename to src/libprojectM/MilkdropPresetFactory/PerPixelEqn.hpp index 10af5af967..06e72dadc4 100755 --- a/src/projectM-engine/PerPixelEqn.hpp +++ b/src/libprojectM/MilkdropPresetFactory/PerPixelEqn.hpp @@ -43,7 +43,7 @@ #define WARP_OP 9 #define NUM_OPS 10 /* obviously, this number is dependent on the number of existing per pixel operations */ -class GenExpr; +class Expr; class Param; class PerPixelEqn; class Preset; @@ -51,15 +51,14 @@ class Preset; class PerPixelEqn { public: int index; /* used for splay tree ordering. */ - int flags; /* primarily to specify if this variable is user-defined */ - Param *param; - GenExpr *gen_expr; void evalPerPixelEqns( Preset *preset ); void evaluate(int mesh_i, int mesh_j); + virtual ~PerPixelEqn(); - PerPixelEqn(int index, Param * param, GenExpr * gen_expr); + PerPixelEqn(int index, Param * param, Expr * gen_expr); + Expr *assign_expr; }; diff --git a/src/libprojectM/MilkdropPresetFactory/PerPointEqn.cpp b/src/libprojectM/MilkdropPresetFactory/PerPointEqn.cpp new file mode 100755 index 0000000000..3c44966f80 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/PerPointEqn.cpp @@ -0,0 +1,56 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include + +#include +#include "fatal.h" +#include "Common.hpp" + +#include "CustomWave.hpp" +#include "Eval.hpp" +#include "Expr.hpp" +#include "Param.hpp" +#include "PerPixelEqn.hpp" +#include "PerPointEqn.hpp" +#include +#include +#include "wipemalloc.h" + +/* Evaluates a per point equation for the current custom wave given by interface_wave ptr */ +void PerPointEqn::evaluate(int i) +{ + assign_expr->eval( i, -1 ); +} + +PerPointEqn::PerPointEqn(int _index, Param * param, Expr * gen_expr): + index(_index) +{ + assign_expr = Expr::create_matrix_assignment(param, gen_expr); +} + + +PerPointEqn::~PerPointEqn() +{ + Expr::delete_expr(assign_expr); +} diff --git a/src/projectM-engine/PerPointEqn.hpp b/src/libprojectM/MilkdropPresetFactory/PerPointEqn.hpp similarity index 87% rename from src/projectM-engine/PerPointEqn.hpp rename to src/libprojectM/MilkdropPresetFactory/PerPointEqn.hpp index 90ba5ca1c8..6d78e89e11 100755 --- a/src/projectM-engine/PerPointEqn.hpp +++ b/src/libprojectM/MilkdropPresetFactory/PerPointEqn.hpp @@ -30,19 +30,17 @@ #define _PER_POINT_EQN_H class CustomWave; -class GenExpr; +class Expr; class Param; class PerPointEqn; class PerPointEqn { public: int index; - int samples; // the number of samples to iterate over - Param *param; - GenExpr * gen_expr; + Expr * assign_expr; ~PerPointEqn(); void evaluate(int i); - PerPointEqn( int index, Param *param, GenExpr *gen_expr, int samples); + PerPointEqn( int index, Param *param, Expr *gen_expr ); }; diff --git a/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.cpp b/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.cpp new file mode 100644 index 0000000000..79d1ac37b5 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.cpp @@ -0,0 +1,664 @@ +#include "PresetFrameIO.hpp" +#include "wipemalloc.h" +#include +#include +#include +#include +#include "Renderer/BeatDetect.hpp" + +#ifdef __SSE2__ +#include +#endif + + +PresetInputs::PresetInputs() : PipelineContext() +{ +} + + +void PresetInputs::update(const BeatDetect & music, const PipelineContext & context) { + + // Reflect new values form the beat detection unit + this->bass = music.bass; + this->mid = music.mid; + this->treb = music.treb; + this->bass_att = music.bass_att; + this->mid_att = music.mid_att; + this->treb_att = music.treb_att; + + // Reflect new values from the pipeline context + this->fps = context.fps; + this->time = context.time; + + this->frame = context.frame; + this->progress = context.progress; +} + + +float **alloc_mesh(size_t gx, size_t gy) +{ + // round gy up to multiple 4 (for possible SSE optimization) + gy = (gy+3) & ~(size_t)3; + + float **mesh = (float **)wipe_aligned_alloc(gx * sizeof(float *)); + float *m = (float *)wipe_aligned_alloc(gx * gy * sizeof(float)); + for (unsigned int x = 0; x < gx; x++ ) + mesh[x] = m + (gy * x); + return mesh; +} + +float **free_mesh(float **mesh) +{ + wipe_aligned_free(mesh[0]); + wipe_aligned_free(mesh); + return NULL; +} + +void copy_mesh(float **dst, float **src, int gx, int gy) +{ + memcpy(dst[0], src[0], gx*gy*sizeof(float)); +} + + +void PresetInputs::Initialize ( int _gx, int _gy ) +{ + int x, y; + + this->gx = _gx; + this->gy = _gy; + + + /// @bug no clue if this block belongs here + // *** + progress = 0; + frame = 1; + + x_per_pixel = 0; + y_per_pixel = 0; + rad_per_pixel = 0; + ang_per_pixel = 0; + // *** + + this->x_mesh = alloc_mesh(gx, gy); + this->y_mesh = alloc_mesh(gx, gy); + this->rad_mesh = alloc_mesh(gx, gy); + this->theta_mesh= alloc_mesh(gx, gy); + this->origtheta = alloc_mesh(gx, gy); + this->origrad = alloc_mesh(gx, gy); + this->origx = alloc_mesh(gx, gy); + this->origy = alloc_mesh(gx, gy); + + for ( x=0;xorigx[x][y]=x/ ( float ) ( gx-1 ); + this->origy[x][y]= - ( ( y/ ( float ) ( gy-1 ) )-1 ); + this->origrad[x][y]=hypot ( ( this->origx[x][y]-.5 ) *2, ( this->origy[x][y]-.5 ) *2 ) * .7071067; + this->origtheta[x][y]=atan2 ( ( ( this->origy[x][y]-.5 ) *2 ), ( ( this->origx[x][y]-.5 ) *2 ) ); + } + } +} + + +PresetOutputs::PresetOutputs() : Pipeline() +{} + + +PresetOutputs::~PresetOutputs() +{ + assert(this->gx > 0); + + this->rad_mesh = free_mesh(this->rad_mesh); + this->sx_mesh = free_mesh(this->sx_mesh); + this->sy_mesh = free_mesh(this->sy_mesh); + this->dy_mesh = free_mesh(this->dy_mesh); + this->dx_mesh = free_mesh(this->dx_mesh); + this->cy_mesh = free_mesh(this->cy_mesh); + this->cx_mesh = free_mesh(this->cx_mesh); + this->warp_mesh = free_mesh(this->warp_mesh); + this->zoom_mesh = free_mesh(this->zoom_mesh); + this->zoomexp_mesh = free_mesh(this->zoomexp_mesh); + this->rot_mesh = free_mesh(this->rot_mesh); + this->orig_x = free_mesh(this->orig_x); + this->orig_y = free_mesh(this->orig_y); + + customWaves.clear(); + customShapes.clear(); + drawables.clear(); +} + + +void PresetOutputs::Render(const BeatDetect &music, const PipelineContext &context) +{ + PerPixelMath(context); + + drawables.clear(); + + drawables.push_back(&mv); + + for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); + pos != customShapes.end(); ++pos) + { + if ((*pos)->enabled==1) + drawables.push_back((*pos)); + } + + for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); + pos != customWaves.end(); ++pos) + { + if ((*pos)->enabled==1) + drawables.push_back((*pos)); + } + + drawables.push_back(&wave); + + if (bDarkenCenter==1) + drawables.push_back(&darkenCenter); + drawables.push_back(&border); + + compositeDrawables.clear(); + compositeDrawables.push_back(&videoEcho); + + if (bBrighten==1) + compositeDrawables.push_back(&brighten); + + if (bDarken==1) + compositeDrawables.push_back(&darken); + + if (bSolarize==1) + compositeDrawables.push_back(&solarize); + + if (bInvert==1) + compositeDrawables.push_back(&invert); +} + + +// N.B. The more optimization that can be done on this method, the better! This is called a lot and can probably be improved. +void PresetOutputs::PerPixelMath_c(const PipelineContext &context) +{ + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y++) + { + const float fZoom2 = std::pow(this->zoom_mesh[x][y], std::pow(this->zoomexp_mesh[x][y], + rad_mesh[x][y] * 2.0f - 1.0f)); + const float fZoom2Inv = 1.0f / fZoom2; + this->x_mesh[x][y] = this->orig_x[x][y] * 0.5f * fZoom2Inv + 0.5f; + this->x_mesh[x][y] = (this->x_mesh[x][y] - this->cx_mesh[x][y]) / this->sx_mesh[x][y] + this->cx_mesh[x][y]; + this->y_mesh[x][y] = this->orig_y[x][y] * 0.5f * fZoom2Inv + 0.5f; + this->y_mesh[x][y] = (this->y_mesh[x][y] - this->cy_mesh[x][y]) / this->sy_mesh[x][y] + this->cy_mesh[x][y]; + } + } + + const float fWarpTime = context.time * this->fWarpAnimSpeed; + const float fWarpScaleInv = 1.0f / this->fWarpScale; + float f[4]; + f[0] = 11.68f + 4.0f * cosf(fWarpTime * 1.413f + 10); + f[1] = 8.77f + 3.0f * cosf(fWarpTime * 1.113f + 7); + f[2] = 10.54f + 3.0f * cosf(fWarpTime * 1.233f + 3); + f[3] = 11.49f + 4.0f * cosf(fWarpTime * 0.933f + 5); + + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y++) + { + const float orig_x2 = this->orig_x[x][y]; + const float orig_y2 = this->orig_y[x][y]; + const float warp_mesh2 = this->warp_mesh[x][y] * 0.0035f; + + this->x_mesh[x][y] += + (warp_mesh2 * sinf(fWarpTime * 0.333f + fWarpScaleInv * (orig_x2 * f[0] - orig_y2 * f[3]))) + + (warp_mesh2 * cosf(fWarpTime * 0.753f - fWarpScaleInv * (orig_x2 * f[1] - orig_y2 * f[2]))); + + this->y_mesh[x][y] += + (warp_mesh2 * cosf(fWarpTime * 0.375f - fWarpScaleInv * (orig_x2 * f[2] + orig_y2 * f[1]))) + + (warp_mesh2 * sinf(fWarpTime * 0.825f + fWarpScaleInv * (orig_x2 * f[0] + orig_y2 * f[3]))); + } + } + + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y++) + { + const float u2 = this->x_mesh[x][y] - this->cx_mesh[x][y]; + const float v2 = this->y_mesh[x][y] - this->cy_mesh[x][y]; + + const float rot2 = this->rot_mesh[x][y]; + const float cos_rot = cosf(rot2); + const float sin_rot = sinf(rot2); + + this->x_mesh[x][y] = u2 * cos_rot - v2 * sin_rot + this->cx_mesh[x][y] - this->dx_mesh[x][y]; + this->y_mesh[x][y] = u2 * sin_rot + v2 * cos_rot + this->cy_mesh[x][y] - this->dy_mesh[x][y]; + } + } +} + + +#ifdef __SSE2__ + +// is there an SSE way to do this? +inline __m128 _mm_pow(__m128 x, __m128 y) +{ + float X[4]; + float Y[4]; + _mm_store_ps(X,x); + _mm_store_ps(Y,y); + X[0] = __builtin_powf(X[0],Y[0]); + X[1] = __builtin_powf(X[1],Y[1]); + X[2] = __builtin_powf(X[2],Y[2]); + X[3] = __builtin_powf(X[3],Y[3]); + return _mm_load_ps(X); +} +inline void _mm_sincosf(__m128 x, __m128 &sinx, __m128 &cosx) +{ + float X[4], S[4], C[4]; + _mm_store_ps(X,x); + S[0] = sinf(X[0]); + C[0] = cosf(X[0]); + S[1] = sinf(X[1]); + C[1] = cosf(X[1]); + S[2] = sinf(X[2]); + C[2] = cosf(X[2]); + S[3] = sinf(X[3]); + C[3] = cosf(X[3]); + sinx = _mm_load_ps(S); + cosx = _mm_load_ps(C); +} +inline __m128 _mm_sinf(__m128 x) +{ + float X[4]; + _mm_store_ps(X,x); + X[0] = sinf(X[0]); + X[1] = sinf(X[1]); + X[2] = sinf(X[2]); + X[3] = sinf(X[3]); + return _mm_load_ps(X); +} +inline __m128 _mm_cosf(__m128 x) +{ + float X[4]; + _mm_store_ps(X,x); + X[0] = cosf(X[0]); + X[1] = cosf(X[1]); + X[2] = cosf(X[2]); + X[3] = cosf(X[3]); + return _mm_load_ps(X); +} + + +void PresetOutputs::PerPixelMath_sse(const PipelineContext &context) +{ + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y += 4) + { + // fZoom2 = std::pow(this->zoom_mesh[x][y], std::pow(this->zoomexp_mesh[x][y], + // rad_mesh[x][y] * 2.0f - 1.0f)); + __m128 rad_mesh_scaled = + _mm_sub_ps( + _mm_mul_ps( + _mm_load_ps(&this->rad_mesh[x][y]), + _mm_set_ps1(2.0f)), + _mm_set_ps1(1.0f)); + __m128 zoom_mesh2 = _mm_load_ps(&this->zoom_mesh[x][y]); + __m128 zoomexp_mesh2 = _mm_load_ps(&this->zoomexp_mesh[x][y]); + __m128 fZoom2 = _mm_pow(zoom_mesh2, _mm_pow(zoomexp_mesh2, rad_mesh_scaled)); + // fZoom2Inv = 1.0f / fZoom2; + __m128 fZoomInv = _mm_rcp_ps(fZoom2); + + // this->x_mesh[x][y] = this->orig_x[x][y] * 0.5f * fZoom2Inv + 0.5f; + __m128 x_mesh2 = + _mm_add_ps( + _mm_mul_ps( + _mm_load_ps(&this->orig_x[x][y]), + _mm_mul_ps(fZoomInv,_mm_set_ps1(0.5f))), // CONSIDER: common sub-expression + _mm_set_ps1(0.5f)); + // this->x_mesh[x][y] = (this->x_mesh[x][y] - this->cx_mesh[x][y]) / this->sx_mesh[x][y] + this->cx_mesh[x][y]; + __m128 cx_mesh2 = _mm_load_ps(&this->cx_mesh[x][y]); + __m128 sx_mesh2 = _mm_load_ps(&this->sx_mesh[x][y]); + _mm_store_ps(&this->x_mesh[x][y], + _mm_add_ps( + _mm_div_ps( + _mm_sub_ps(x_mesh2,cx_mesh2), + sx_mesh2), + cx_mesh2 + )); + + // this->y_mesh[x][y] = this->orig_y[x][y] * 0.5f * fZoom2Inv + 0.5f; + __m128 y_mesh2 = + _mm_add_ps( + _mm_mul_ps( + _mm_load_ps(&this->orig_y[x][y]), + _mm_mul_ps(fZoomInv,_mm_set_ps1(0.5f))), + _mm_set_ps1(0.5f)); + // this->y_mesh[x][y] = (this->y_mesh[x][y] - this->cy_mesh[x][y]) / this->sy_mesh[x][y] + this->cy_mesh[x][y]; + __m128 cy_mesh2 = _mm_load_ps(&this->cy_mesh[x][y]); + __m128 sy_mesh2 = _mm_load_ps(&this->sy_mesh[x][y]); + _mm_store_ps(&this->y_mesh[x][y], + _mm_add_ps( + _mm_div_ps( + _mm_sub_ps(y_mesh2,cy_mesh2), + sy_mesh2), + cy_mesh2 + )); + } + } + + const float fWarpTime = context.time * this->fWarpAnimSpeed; + const float fWarpScaleInv = 1.0f / this->fWarpScale; + const float f[4] = + { + 11.68f + 4.0f * cosf(fWarpTime * 1.413f + 10), + 8.77f + 3.0f * cosf(fWarpTime * 1.113f + 7), + 10.54f + 3.0f * cosf(fWarpTime * 1.233f + 3), + 11.49f + 4.0f * cosf(fWarpTime * 0.933f + 5) + }; + + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y+=4) + { + //float orig_x = this->orig_x[x][y]; + //float orig_y = this->orig_y[x][y]; + //float warp_mesh = this->warp_mesh[x][y] * 0.0035f; + const __m128 orig_x2 = _mm_load_ps(&this->orig_x[x][y]); + const __m128 orig_y2 = _mm_load_ps(&this->orig_y[x][y]); + const __m128 warp_mesh2 = _mm_mul_ps(_mm_load_ps(&this->warp_mesh[x][y]), _mm_set_ps1(0.0035f)); + + // this->x_mesh[x][y] += + // (warp_mesh * sinf(fWarpTime * 0.333f + fWarpScaleInv * (orig_x * f[0] - orig_y * f[3]))) + + // (warp_mesh * cosf(fWarpTime * 0.753f - fWarpScaleInv * (orig_x * f[1] - orig_y * f[2]))); + _mm_store_ps(&this->x_mesh[x][y], + _mm_add_ps(_mm_load_ps(&this->x_mesh[x][y]), + _mm_add_ps( + _mm_mul_ps(warp_mesh2, _mm_sinf( + _mm_add_ps( + _mm_set_ps1(fWarpTime*0.333f), + _mm_mul_ps(_mm_set_ps1(fWarpScaleInv), + _mm_sub_ps( + _mm_mul_ps(orig_x2, _mm_set_ps1(f[0])), + _mm_mul_ps(orig_y2, _mm_set_ps1(f[3])) + ))))), + _mm_mul_ps(warp_mesh2, _mm_cosf( + _mm_sub_ps( + _mm_set_ps1(fWarpTime*0.753f), + _mm_mul_ps(_mm_set_ps1(fWarpScaleInv), + _mm_sub_ps( + _mm_mul_ps(orig_x2, _mm_set_ps1(f[1])), + _mm_mul_ps(orig_y2, _mm_set_ps1(f[2])) + )))))))); + + // this->y_mesh[x][y] += + // (warp_mesh * cosf(fWarpTime * 0.375f - fWarpScaleInv * (orig_x * f[2] + orig_y * f[1]))) + + // (warp_mesh * sinf(fWarpTime * 0.825f + fWarpScaleInv * (orig_x * f[0] + orig_y * f[3]))); + _mm_store_ps(&this->y_mesh[x][y], + _mm_add_ps(_mm_load_ps(&this->y_mesh[x][y]), + _mm_add_ps( + _mm_mul_ps(warp_mesh2, _mm_cosf( + _mm_sub_ps( + _mm_set_ps1(fWarpTime*0.375f), + _mm_mul_ps(_mm_set_ps1(fWarpScaleInv), + _mm_add_ps( + _mm_mul_ps(orig_x2, _mm_set_ps1(f[2])), + _mm_mul_ps(orig_y2, _mm_set_ps1(f[1])) + ))))), + _mm_mul_ps(warp_mesh2, _mm_sinf( + _mm_add_ps( + _mm_set_ps1(fWarpTime*0.825f), + _mm_mul_ps(_mm_set_ps1(fWarpScaleInv), + _mm_add_ps( + _mm_mul_ps(orig_x2, _mm_set_ps1(f[0])), + _mm_mul_ps(orig_y2, _mm_set_ps1(f[3])) + )))))))); + } + } + for (int x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y+=4) + { + // const float u2 = this->x_mesh[x][y] - this->cx_mesh[x][y]; + // const float v2 = this->y_mesh[x][y] - this->cy_mesh[x][y]; + const __m128 u2 = _mm_sub_ps(_mm_load_ps(&this->x_mesh[x][y]),_mm_load_ps(&this->cx_mesh[x][y])); + const __m128 v2 = _mm_sub_ps(_mm_load_ps(&this->y_mesh[x][y]),_mm_load_ps(&this->cy_mesh[x][y])); + + // const float rot = this->rot_mesh[x][y]; + // const float cos_rot = cosf(rot); + // const float sin_rot = sinf(rot); + __m128 sin_rot, cos_rot; + _mm_sincosf(_mm_load_ps(&this->rot_mesh[x][y]), sin_rot, cos_rot); + + // this->x_mesh[x][y] = u2 * cos_rot - v2 * sin_rot + this->cx_mesh[x][y] - this->dx_mesh[x][y]; + _mm_store_ps(&this->x_mesh[x][y], + _mm_add_ps( + _mm_sub_ps(_mm_mul_ps(u2, cos_rot), _mm_mul_ps(v2,sin_rot)), + _mm_sub_ps(_mm_load_ps(&this->cx_mesh[x][y]), _mm_load_ps(&this->dx_mesh[x][y])) + )); + // this->y_mesh[x][y] = u2 * sin_rot + v2 * cos_rot + this->cy_mesh[x][y] - this->dy_mesh[x][y]; + _mm_store_ps(&this->y_mesh[x][y], + _mm_add_ps( + _mm_add_ps(_mm_mul_ps(u2, sin_rot), _mm_mul_ps(v2,cos_rot)), + _mm_sub_ps(_mm_load_ps(&this->cy_mesh[x][y]), _mm_load_ps(&this->dy_mesh[x][y])) + )); + } + } +} +#endif + + +void PresetOutputs::PerPixelMath(const PipelineContext &context) +{ +#ifdef __SSE2__ + PerPixelMath_sse(context); +#else + PerPixelMath_c(context); +#endif +} + + +void PresetOutputs::Initialize ( int _gx, int _gy ) +{ + assert(_gx > 0); + + this->gx = _gx; + this->gy = _gy; + + staticPerPixel = true; + + assert(this->gx > 0); + int x; + this->x_mesh = alloc_mesh( gx, gy ); + this->y_mesh = alloc_mesh( gx, gy ); + this->sx_mesh = alloc_mesh( gx, gy ); + this->sy_mesh = alloc_mesh( gx, gy ); + this->dx_mesh = alloc_mesh( gx, gy ); + this->dy_mesh = alloc_mesh( gx, gy ); + this->cx_mesh = alloc_mesh( gx, gy ); + this->cy_mesh = alloc_mesh( gx, gy ); + this->zoom_mesh = alloc_mesh( gx, gy ); + this->zoomexp_mesh = alloc_mesh( gx, gy ); + this->rot_mesh = alloc_mesh( gx, gy ); + + this->warp_mesh = alloc_mesh( gx, gy ); + this->rad_mesh = alloc_mesh( gx, gy ); + this->orig_x = alloc_mesh( gx, gy ); + this->orig_y = alloc_mesh( gx, gy ); + + //initialize reference grid values + for (x = 0; x < gx; x++) + { + for (int y = 0; y < gy; y++) + { + float origx = x / (float) (gx - 1); + float origy = -((y / (float) (gy - 1)) - 1); + + rad_mesh[x][y]=hypot ( ( origx-.5 ) *2, ( origy-.5 ) *2 ) * .7071067; + orig_x[x][y] = (origx - .5) * 2; + orig_y[x][y] = (origy - .5) * 2; + } + } +} + + +PresetInputs::~PresetInputs() +{ + this->origx = free_mesh ( this->origx ); + this->origy = free_mesh ( this->origy ); + this->origrad = free_mesh ( this->origrad ); + this->origtheta = free_mesh ( this->origtheta ); + this->x_mesh = free_mesh ( this->x_mesh ); + this->y_mesh = free_mesh ( this->y_mesh ); + this->rad_mesh = free_mesh ( this->rad_mesh ); + this->theta_mesh = free_mesh ( this->theta_mesh ); +} + + +void PresetInputs::resetMesh() +{ + assert ( x_mesh ); + assert ( y_mesh ); + assert ( rad_mesh ); + assert ( theta_mesh ); + + copy_mesh(this->x_mesh, this->origx, gx, gy); + copy_mesh(this->y_mesh, this->origy, gx, gy); + copy_mesh(this->rad_mesh, this->origrad, gx, gy); + copy_mesh(this->theta_mesh, this->origtheta, gx, gy); +} + + +#ifdef USE_MERGE_PRESET_CODE +void PresetMerger::MergePresets(PresetOutputs & A, PresetOutputs & B, double ratio, int gx, int gy) +{ + +double invratio = 1.0 - ratio; + //Merge Simple Waveforms + // + // All the mess is because of Waveform 7, which is two lines. + // + + + //Merge Custom Shapes and Custom Waves + + for (PresetOutputs::cshape_container::iterator pos = A.customShapes.begin(); + pos != A.customShapes.end(); ++pos) + { + (*pos)->a *= invratio; + (*pos)->a2 *= invratio; + (*pos)->border_a *= invratio; + } + + for (PresetOutputs::cshape_container::iterator pos = B.customShapes.begin(); + pos != B.customShapes.end(); ++pos) + { + (*pos)->a *= ratio; + (*pos)->a2 *= ratio; + (*pos)->border_a *= ratio; + + A.customShapes.push_back(*pos); + + } + for (PresetOutputs::cwave_container::iterator pos = A.customWaves.begin(); + pos != A.customWaves.end(); ++pos) + { + (*pos)->a *= invratio; + for (int x=0; x < (*pos)->samples; x++) + { + (*pos)->a_mesh[x]= (*pos)->a_mesh[x]*invratio; + } + } + + for (PresetOutputs::cwave_container::iterator pos = B.customWaves.begin(); + pos != B.customWaves.end(); ++pos) + { + (*pos)->a *= ratio; + for (int x=0; x < (*pos)->samples; x++) + { + (*pos)->a_mesh[x]= (*pos)->a_mesh[x]*ratio; + } + A.customWaves.push_back(*pos); + } + + + //Interpolate Per-Pixel mesh + + for (int x=0;x 0.5) + { + A.videoEcho.orientation = B.videoEcho.orientation; + A.textureWrap = B.textureWrap; + A.bDarkenCenter = B.bDarkenCenter; + A.bRedBlueStereo = B.bRedBlueStereo; + A.bBrighten = B.bBrighten; + A.bDarken = B.bDarken; + A.bSolarize = B.bSolarize; + A.bInvert = B.bInvert; + A.bMotionVectorsOn = B.bMotionVectorsOn; + } + + return; +} +#endif diff --git a/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.hpp b/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.hpp new file mode 100644 index 0000000000..d9bc4ddf47 --- /dev/null +++ b/src/libprojectM/MilkdropPresetFactory/PresetFrameIO.hpp @@ -0,0 +1,150 @@ +#ifndef PRESET_FRAME_IO_HPP +#define PRESET_FRAME_IO_HPP +#include +#include "Renderer/MilkdropWaveform.hpp" +#include "Renderer/Pipeline.hpp" +#include "Renderer/Filters.hpp" +#include "CustomShape.hpp" +#include "CustomWave.hpp" +#include "Renderer/VideoEcho.hpp" + + +/// Container for all *read only* engine variables a preset requires to +/// evaluate milkdrop equations. Every preset object needs a reference to one of these. +class PresetInputs : public PipelineContext { + +public: + /* PER_PIXEL VARIBLES BEGIN */ + + float x_per_pixel; + float y_per_pixel; + float rad_per_pixel; + float ang_per_pixel; + + /* PER_PIXEL VARIBLES END */ + + float bass; + float mid; + float treb; + float bass_att; + float mid_att; + float treb_att; + + /* variables were added in milkdrop 1.04 */ + int gx, gy; + + float **x_mesh; + float **y_mesh; + float **rad_mesh; + float **theta_mesh; + + float **origtheta; //grid containing interpolated mesh reference values + float **origrad; + float **origx; //original mesh + float **origy; + + void resetMesh(); + + ~PresetInputs(); + PresetInputs(); + + /// Initializes this preset inputs given a mesh size. + /// \param gx the width of the mesh + /// \param gy the height of the mesh + /// \note This must be called before reading values from this class + void Initialize(int _gx, int _gy); + + /// Updates this preset inputs with the latest values from the + /// the pipeline context and beat detection unit + void update (const BeatDetect & music, const PipelineContext & context); + + private: +}; + + +/// Container class for all preset writeable engine variables. This is the important glue +/// between the presets and renderer to facilitate smooth preset switching +/// Every preset object needs a reference to one of these. +class PresetOutputs : public Pipeline { +public: + typedef std::vector cwave_container; + typedef std::vector cshape_container; + + cwave_container customWaves; + cshape_container customShapes; + + void Initialize(int _gx, int _gy); + PresetOutputs(); + ~PresetOutputs(); + virtual void Render(const BeatDetect &music, const PipelineContext &context); + void PerPixelMath( const PipelineContext &context); + /* PER FRAME VARIABLES BEGIN */ + + float zoom; + float zoomexp; + float rot; + float warp; + + float sx; + float sy; + float dx; + float dy; + float cx; + float cy; + + VideoEcho videoEcho; + + MilkdropWaveform wave; + Border border; + MotionVectors mv; + DarkenCenter darkenCenter; + + Brighten brighten; + Darken darken; + Invert invert; + Solarize solarize; + + + int gy,gx; + /* PER_FRAME VARIABLES END */ + + float fRating; + float fGammaAdj; + + bool bDarkenCenter; + bool bRedBlueStereo; + bool bBrighten; + bool bDarken; + bool bSolarize; + bool bInvert; + bool bMotionVectorsOn; + + float fWarpAnimSpeed; + float fWarpScale; + float fShader; + + float **zoom_mesh; + float **zoomexp_mesh; + float **rot_mesh; + + float **sx_mesh; + float **sy_mesh; + float **dx_mesh; + float **dy_mesh; + float **cx_mesh; + float **cy_mesh; + float **warp_mesh; + + float **orig_x; //original mesh + float **orig_y; + float **rad_mesh; + +private: + void PerPixelMath_c( const PipelineContext &context); +#ifdef __SSE2__ + void PerPixelMath_sse( const PipelineContext &context); +#endif +}; + + +#endif diff --git a/src/libprojectM/NativePresetFactory/Makefile.am b/src/libprojectM/NativePresetFactory/Makefile.am new file mode 100644 index 0000000000..3eec0f6477 --- /dev/null +++ b/src/libprojectM/NativePresetFactory/Makefile.am @@ -0,0 +1,10 @@ +noinst_LTLIBRARIES=libNativePresetFactory.la + +libNativePresetFactory_la_SOURCES= \ + NativePreset.hpp NativePresetFactory.hpp \ + MilkdropCompatability.hpp NativePresetFactory.cpp \ + MilkdropCompatability.hpp NativePreset.hpp NativePresetFactory.hpp + +libNativePresetFactory_la_CPPFLAGS = ${my_CFLAGS} \ + -include $(top_builddir)/config.h \ + -I$(top_srcdir)/src/libprojectM diff --git a/src/libprojectM/NativePresetFactory/MilkdropCompatability.hpp b/src/libprojectM/NativePresetFactory/MilkdropCompatability.hpp new file mode 100644 index 0000000000..f5517e1471 --- /dev/null +++ b/src/libprojectM/NativePresetFactory/MilkdropCompatability.hpp @@ -0,0 +1,42 @@ +/* + * MilkdropCompatability.hpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#ifndef MILKDROPCOMPATABILITY_HPP_ +#define MILKDROPCOMPATABILITY_HPP_ + +inline float sign(float a) +{ + return a < 0.0 ? -1.0 : 1.0; +} + +inline float above(float a, float b) +{ + return a > b ? 1 : 0; +} +inline float equal(float a, float b) +{ + return a == b ? 1 : 0; +} +inline float below(float a, float b) +{ + return a < b ? 1 : 0; +} +inline float min(float a, float b) +{ + return a < b ? a : b; +} + +inline float max(float a, float b) +{ + return a > b ? a : b; +} + +inline float if_milk(float a, float b, float c) +{ + return (a==1.0) ? b : c; +} +#endif /* MILKDROPCOMPATABILITY_HPP_ */ diff --git a/src/libprojectM/NativePresetFactory/NativePreset.hpp b/src/libprojectM/NativePresetFactory/NativePreset.hpp new file mode 100644 index 0000000000..6b2d6cf38b --- /dev/null +++ b/src/libprojectM/NativePresetFactory/NativePreset.hpp @@ -0,0 +1,38 @@ +/* + * Preset.hpp + * + * Created on: Aug 5, 2008 + * Author: carm + */ + +#ifndef __NATIVE_PRESET_HPP_ +#define __NATIVE_PRESET_HPP_ + +#include + +#include "BeatDetect.hpp" +#include "Pipeline.hpp" +#include "PipelineContext.hpp" +#include "Preset.hpp" + +/// A templated preset class to build different various hard coded presets and +/// compile them into object files to be loaded into a playlist +template +class NativePreset : public Preset { +public: + + inline NativePreset(const std::string & name=std::string(), + const std::string & author = std::string()) : Preset(name, author) {} + + virtual ~NativePreset() {} + + inline PipelineT & pipeline() { return _pipeline; } + inline virtual void Render(const BeatDetect &music, const PipelineContext &context) { + _pipeline.Render(music, context); + } + +private: + PipelineT _pipeline; +}; + +#endif diff --git a/src/libprojectM/NativePresetFactory/NativePresetFactory.cpp b/src/libprojectM/NativePresetFactory/NativePresetFactory.cpp new file mode 100644 index 0000000000..d39d0a05ee --- /dev/null +++ b/src/libprojectM/NativePresetFactory/NativePresetFactory.cpp @@ -0,0 +1,119 @@ +// +// C++ Implementation: NativePresetFactory +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +extern "C" { +# include +} + +#include "NativePresetFactory.hpp" + +typedef void Handle; +typedef void DestroyFunctor(Preset*); +typedef Preset * CreateFunctor(const char * url); + +class LibraryPreset : public Preset { +public: + LibraryPreset(Preset * preset, DestroyFunctor * destroyFun) : Preset(preset->name(), preset->author()), _internalPreset(preset), _destroyFunctor(destroyFun) {} + inline Pipeline & pipeline() { return _internalPreset->pipeline(); } + inline virtual ~LibraryPreset() { _destroyFunctor(_internalPreset); } + inline void Render(const BeatDetect &music, const PipelineContext &context) { + return _internalPreset->Render(music, context); + } +private: + Preset * _internalPreset; + DestroyFunctor * _destroyFunctor; +}; + +class PresetLibrary { + + public: + PresetLibrary(Handle * h, CreateFunctor * create, DestroyFunctor * destroy) : + _handle(h), _createFunctor(create), _destroyFunctor(destroy) {} + + Handle * handle() { return _handle; } + CreateFunctor * createFunctor() { return _createFunctor; } + DestroyFunctor * destroyFunctor() { return _destroyFunctor; } + + ~PresetLibrary() { + dlclose(handle()); + } + + private: + Handle * _handle; + CreateFunctor * _createFunctor; + DestroyFunctor * _destroyFunctor; + +}; + +NativePresetFactory::NativePresetFactory() {} + +NativePresetFactory::~NativePresetFactory() { + +for (PresetLibraryMap::iterator pos = _libraries.begin(); pos != _libraries.end(); ++pos) { + std::cerr << "deleting preset library" << std::endl; + delete(pos->second); +} + + +} + +PresetLibrary * NativePresetFactory::loadLibrary(const std::string & url) { + + if (_libraries.count(url)) + return _libraries[url]; + + // load the preset library + void* handle = dlopen(url.c_str(), RTLD_LAZY); + if (!handle) { + std::cerr << "[NativePresetFactory] Cannot load library: " << dlerror() << '\n'; + return 0; + } + + // reset errors + dlerror(); + + // load the symbols + CreateFunctor * create = (CreateFunctor*) dlsym(handle, "create"); + const char * dlsym_error = dlerror(); + if (dlsym_error) { + std::cerr << "[NativePresetFactory] Cannot load symbol create: " << dlsym_error << '\n'; + return 0; + } + + DestroyFunctor * destroy = (DestroyFunctor*) dlsym(handle, "destroy"); + dlsym_error = dlerror(); + if (dlsym_error) { + std::cerr << "[NativePresetFactory] Cannot load symbol destroy: " << dlsym_error << '\n'; + return 0; + } + + std::cerr << "[NativePresetFactory] creating preset library from url " << url << std::endl; + + PresetLibrary * library = new PresetLibrary(handle, create, destroy); + + _libraries.insert(std::make_pair(url, library)); + return library; +} + + +std::unique_ptr NativePresetFactory::allocate + (const std::string & url, const std::string & name, const std::string & author) { + + PresetLibrary * library; + + if ((library = loadLibrary(url)) == 0) + return std::unique_ptr(); + + return std::unique_ptr(new LibraryPreset + (library->createFunctor()(url.c_str()), library->destroyFunctor())); + +} diff --git a/src/libprojectM/NativePresetFactory/NativePresetFactory.hpp b/src/libprojectM/NativePresetFactory/NativePresetFactory.hpp new file mode 100644 index 0000000000..591f9bec01 --- /dev/null +++ b/src/libprojectM/NativePresetFactory/NativePresetFactory.hpp @@ -0,0 +1,41 @@ +// +// C++ Interface: NativePresetFactory +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#ifndef __NATIVE_PRESET_FACTORY_HPP +#define __NATIVE_PRESET_FACTORY_HPP + +#include +#include "PresetFactory.hpp" + +class PresetLibrary; + +class NativePresetFactory : public PresetFactory { + +public: + + NativePresetFactory(); + + virtual ~NativePresetFactory(); + + virtual std::unique_ptr allocate(const std::string & url, const std::string & name = std::string(), + const std::string & author = std::string()); + + virtual std::string supportedExtensions() const { return "so dylib"; } + +private: + PresetLibrary * loadLibrary(const std::string & url); + typedef std::map PresetLibraryMap; + PresetLibraryMap _libraries; + +}; + +#endif diff --git a/src/libprojectM/NativePresetFactory/NativePresetFactory.xcodeproj/project.pbxproj b/src/libprojectM/NativePresetFactory/NativePresetFactory.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5b039a2633 --- /dev/null +++ b/src/libprojectM/NativePresetFactory/NativePresetFactory.xcodeproj/project.pbxproj @@ -0,0 +1,160 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXFileReference section */ + 16178A27207A68A200D3B0C8 /* MilkdropCompatability.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MilkdropCompatability.hpp; sourceTree = ""; }; + 16178A28207A68A200D3B0C8 /* .DS_Store */ = {isa = PBXFileReference; lastKnownFileType = file; path = .DS_Store; sourceTree = ""; }; + 16178A29207A68A200D3B0C8 /* libNativePresetFactory_la-NativePresetFactory.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; path = "libNativePresetFactory_la-NativePresetFactory.o"; sourceTree = ""; }; + 16178A2A207A68A200D3B0C8 /* NativePresetFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NativePresetFactory.cpp; sourceTree = ""; }; + 16178A2B207A68A200D3B0C8 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 16178A2C207A68A200D3B0C8 /* Makefile.am */ = {isa = PBXFileReference; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; + 16178A2D207A68A200D3B0C8 /* libNativePresetFactory_la-NativePresetFactory.lo */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libNativePresetFactory_la-NativePresetFactory.lo"; sourceTree = ""; }; + 16178A2E207A68A200D3B0C8 /* libNativePresetFactory.la */ = {isa = PBXFileReference; lastKnownFileType = text; path = libNativePresetFactory.la; sourceTree = ""; }; + 16178A2F207A68A200D3B0C8 /* NativePreset.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = NativePreset.hpp; sourceTree = ""; }; + 16178A30207A68A200D3B0C8 /* .deps */ = {isa = PBXFileReference; lastKnownFileType = folder; path = .deps; sourceTree = ""; }; + 16178A31207A68A200D3B0C8 /* .libs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = .libs; sourceTree = ""; }; + 16178A32207A68A200D3B0C8 /* Makefile.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; + 16178A33207A68A200D3B0C8 /* NativePresetFactory.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = NativePresetFactory.hpp; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 16178A21207A68A200D3B0C8 = { + isa = PBXGroup; + children = ( + 16178A27207A68A200D3B0C8 /* MilkdropCompatability.hpp */, + 16178A28207A68A200D3B0C8 /* .DS_Store */, + 16178A29207A68A200D3B0C8 /* libNativePresetFactory_la-NativePresetFactory.o */, + 16178A2A207A68A200D3B0C8 /* NativePresetFactory.cpp */, + 16178A2B207A68A200D3B0C8 /* Makefile */, + 16178A2C207A68A200D3B0C8 /* Makefile.am */, + 16178A2D207A68A200D3B0C8 /* libNativePresetFactory_la-NativePresetFactory.lo */, + 16178A2E207A68A200D3B0C8 /* libNativePresetFactory.la */, + 16178A2F207A68A200D3B0C8 /* NativePreset.hpp */, + 16178A30207A68A200D3B0C8 /* .deps */, + 16178A31207A68A200D3B0C8 /* .libs */, + 16178A32207A68A200D3B0C8 /* Makefile.in */, + 16178A33207A68A200D3B0C8 /* NativePresetFactory.hpp */, + ); + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXLegacyTarget section */ + 16178A26207A68A200D3B0C8 /* NativePresetFactory */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = 16178A34207A68A200D3B0C8 /* Build configuration list for PBXLegacyTarget "NativePresetFactory" */; + buildPhases = ( + ); + buildToolPath = /usr/bin/make; + buildWorkingDirectory = /Users/cyber/dev/projectm/src/libprojectM/NativePresetFactory; + dependencies = ( + ); + name = NativePresetFactory; + passBuildSettingsInEnvironment = 1; + productName = NativePresetFactory; + }; +/* End PBXLegacyTarget section */ + +/* Begin PBXProject section */ + 16178A22207A68A200D3B0C8 /* Project object */ = { + isa = PBXProject; + attributes = { + }; + buildConfigurationList = 16178A25207A68A200D3B0C8 /* Build configuration list for PBXProject "NativePresetFactory" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 16178A21207A68A200D3B0C8; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 16178A26207A68A200D3B0C8 /* NativePresetFactory */, + ); + }; +/* End PBXProject section */ + +/* Begin XCBuildConfiguration section */ + 16178A23207A68A200D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx10.6; + }; + name = Debug; + }; + 16178A24207A68A200D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + COPY_PHASE_STRIP = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + SDKROOT = macosx10.6; + }; + name = Release; + }; + 16178A35207A68A200D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = NativePresetFactory; + }; + name = Debug; + }; + 16178A36207A68A200D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = NativePresetFactory; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 16178A25207A68A200D3B0C8 /* Build configuration list for PBXProject "NativePresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16178A23207A68A200D3B0C8 /* Debug */, + 16178A24207A68A200D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16178A34207A68A200D3B0C8 /* Build configuration list for PBXLegacyTarget "NativePresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16178A35207A68A200D3B0C8 /* Debug */, + 16178A36207A68A200D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 16178A22207A68A200D3B0C8 /* Project object */; +} diff --git a/src/libprojectM/PCM.cpp b/src/libprojectM/PCM.cpp new file mode 100755 index 0000000000..c88be2cc03 --- /dev/null +++ b/src/libprojectM/PCM.cpp @@ -0,0 +1,386 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: PCM.c,v 1.3 2006/03/13 20:35:26 psperl Exp $ + * + * Takes sound data from wherever and hands it back out. + * Returns PCM Data or spectrum data, or the derivative of the PCM data + */ + +#include +#include + +#include "Common.hpp" +#include "wipemalloc.h" +#include "fftsg.h" +#include "PCM.hpp" +#include + +int PCM::maxsamples = 2048; + +//initPCM(int samples) +// +//Initializes the PCM buffer to +// number of samples specified. +#include +PCM::PCM() { + _initPCM( 2048 ); + + #ifdef DEBUG + std::cerr << "[PCM] MAX SAMPLES:" << maxsamples << std::endl; + #endif + } + +void PCM::_initPCM(int samples) { + int i; + + waveSmoothing = 0; + + //Allocate memory for PCM data buffer + assert(samples == 2048); + PCMd = (float **)wipemalloc(2 * sizeof(float *)); + PCMd[0] = (float *)wipemalloc(samples * sizeof(float)); + PCMd[1] = (float *)wipemalloc(samples * sizeof(float)); + + //maxsamples=samples; + newsamples=0; + numsamples = maxsamples; + + //Initialize buffers to 0 + for (i=0;imaxsamples = 2048; +// this->numsamples = 0; +// this->pcmdataL = NULL; +// this->pcmdataR = NULL; + + /** Allocate PCM data structures */ + pcmdataL=(float *)wipemalloc(this->maxsamples*sizeof(float)); + pcmdataR=(float *)wipemalloc(this->maxsamples*sizeof(float)); + +} + +PCM::~PCM() { + + free(pcmdataL); + free(pcmdataR); + free(w); + free(ip); + + free(PCMd[0]); + free(PCMd[1]); + free(PCMd); + +} + +#include + +void PCM::addPCMfloat(const float *PCMdata, int samples) +{ + int i,j; + + for(i=0;imaxsamples) newsamples=maxsamples; + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + + +void PCM::addPCMfloat_2ch(const float *PCMdata, int samples) +{ + int i,j; + + for(i=0;imaxsamples) + newsamples=maxsamples; + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + + +void PCM::addPCM16Data(const short* pcm_data, short samples) { + int i, j; + + for (i = 0; i < samples; ++i) { + j=i+start; + PCMd[0][j % maxsamples]=(pcm_data[i * 2 + 0]/16384.0); + PCMd[1][j % maxsamples]=(pcm_data[i * 2 + 1]/16384.0); + } + + start = (start + samples) % maxsamples; + + newsamples+=samples; + if (newsamples>maxsamples) newsamples=maxsamples; + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + + +void PCM::addPCM16(short PCMdata[2][512]) +{ + int i,j; + int samples=512; + + for(i=0;imaxsamples) newsamples=maxsamples; + + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + + +void PCM::addPCM8( unsigned char PCMdata[2][1024]) +{ + int i,j; + int samples=1024; + + + for(i=0;imaxsamples) newsamples=maxsamples; + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + +void PCM::addPCM8_512( const unsigned char PCMdata[2][512]) +{ + int i,j; + int samples=512; + + + for(i=0;imaxsamples) newsamples=maxsamples; + numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); + getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); + getPCM(vdataL,512,0,1,0,0); + getPCM(vdataR,512,1,1,0,0); +} + + +//puts sound data requested at provided pointer +// +//samples is number of PCM samples to return +//freq = 0 gives PCM data +//freq = 1 gives FFT data +//smoothing is the smoothing coefficient + +//returned values are normalized from -1 to 1 + +void PCM::getPCM(float *PCMdata, int samples, int channel, int freq, float smoothing, int derive) +{ + int index; + + index=start-1; + + if (index<0) index=maxsamples+index; + + PCMdata[0]=PCMd[channel][index]; + + for(int i=1;i::const_iterator pos = a.drawables.begin(); + pos != a.drawables.end(); ++pos ) + { + ( *pos )->masterAlpha = invratio; + out.drawables.push_back ( *pos ); + } + + for ( std::vector::const_iterator pos = b.drawables.begin(); + pos != b.drawables.end();++pos ) + { + ( *pos )->masterAlpha = ratio; + out.drawables.push_back ( *pos ); + } + + if(ratio < 0.5) + { + const double local_ratio = (invratio - 0.5) * 2; + + for (std::vector::const_iterator pos = a.compositeDrawables.begin(); + pos != a.compositeDrawables.end(); ++pos) + { + (*pos)->masterAlpha = local_ratio; + out.compositeDrawables.push_back(*pos); + } + } + else + { + const double local_ratio = (ratio - 0.5) * 2; + + for (std::vector::const_iterator pos = b.compositeDrawables.begin(); + pos != b.compositeDrawables.end();++pos) + { + (*pos)->masterAlpha = local_ratio; + out.compositeDrawables.push_back(*pos); + } + } + + /* + for (RenderItemMatchList::iterator pos = results.matches.begin(); pos != results.matches.end(); ++pos) { + + RenderItem * itemA = pos->first; + RenderItem * itemB = pos->second; + + RenderItem * itemC = mergeFunction(itemA, itemB, ratio); + + if (itemC == 0) { + itemA->masterAlpha = ratio; + out.drawables.push_back(itemA); + itemB->masterAlpha = invratio; + out.drawables.push_back(itemB); + } else + out.drawables.push_back(itemC); + + } + + + for (std::vector::const_iterator pos = results.unmatchedLeft.begin(); + pos != results.unmatchedLeft.end(); ++pos) + { + (*pos)->masterAlpha = invratio; + out.drawables.push_back(*pos); + } + + for (std::vector::const_iterator pos = results.unmatchedRight.begin(); + pos != results.unmatchedRight.end(); ++pos) + { + (*pos)->masterAlpha = ratio; + out.drawables.push_back(*pos); + } + */ + + if (a.staticPerPixel && b.staticPerPixel) + { + out.staticPerPixel = true; + for (int x=0;x inline static T lerp(T a, T b, float ratio) +{ + return a * ratio + b * (1 - ratio); +} + +public: + + static void mergePipelines(const Pipeline &a, const Pipeline &b, Pipeline &out, + RenderItemMatcher::MatchResults & matching, RenderItemMergeFunction & merger, float ratio); + +private : + +static const double s; +static const double e; + +}; + + +#endif diff --git a/src/libprojectM/Preset.cpp b/src/libprojectM/Preset.cpp new file mode 100755 index 0000000000..84e823af6f --- /dev/null +++ b/src/libprojectM/Preset.cpp @@ -0,0 +1,23 @@ +/* + * Preset.cpp + * + * Created on: Aug 5, 2008 + * Author: struktured + */ + +#include "Preset.hpp" + +Preset::~Preset() {} + +Preset::Preset(const std::string & presetName, const std::string & presetAuthor): + _name(presetName), _author(presetAuthor) {} + +void Preset::setName(const std::string & value) { _name = value; } + +const std::string & Preset::name() const { return _name; } + +void Preset::setAuthor(const std::string & value) { _author = value; } + +const std::string & Preset::author() const { return _author; } + + diff --git a/src/libprojectM/Preset.hpp b/src/libprojectM/Preset.hpp new file mode 100644 index 0000000000..4171e97575 --- /dev/null +++ b/src/libprojectM/Preset.hpp @@ -0,0 +1,38 @@ +/* + * Preset.hpp + * + * Created on: Aug 5, 2008 + * Author: carm + */ + +#ifndef PRESET_HPP_ +#define PRESET_HPP_ + +#include + +#include "Renderer/BeatDetect.hpp" +#include "Renderer/Pipeline.hpp" +#include "Renderer/PipelineContext.hpp" + +class Preset { +public: + + + Preset(const std::string & name=std::string(), const std::string & author = std::string()); + virtual ~Preset(); + + void setName(const std::string & value); + const std::string & name() const; + + void setAuthor(const std::string & value); + const std::string & author() const; + + virtual Pipeline & pipeline() = 0; + virtual void Render(const BeatDetect &music, const PipelineContext &context) = 0; + +private: + std::string _name; + std::string _author; +}; + +#endif /* PRESET_HPP_ */ diff --git a/src/projectM-engine/PresetChooser.cpp b/src/libprojectM/PresetChooser.cpp similarity index 100% rename from src/projectM-engine/PresetChooser.cpp rename to src/libprojectM/PresetChooser.cpp diff --git a/src/libprojectM/PresetChooser.hpp b/src/libprojectM/PresetChooser.hpp new file mode 100644 index 0000000000..f09fc79d06 --- /dev/null +++ b/src/libprojectM/PresetChooser.hpp @@ -0,0 +1,241 @@ +#ifndef PRESET_CHOOSER_HPP +#define PRESET_CHOOSER_HPP + +#include "Preset.hpp" + +#include "PresetLoader.hpp" +#include "RandomNumberGenerators.hpp" +#include +#include +#include +class PresetChooser; + +/// A simple iterator class to traverse back and forth a preset directory +class PresetIterator { + +public: + PresetIterator() {} + + /// Instantiate a preset iterator at the given starting position + PresetIterator(std::size_t start); + + /// Move iterator forward + void operator++(); + + /// Move iterator backword + void operator--() ; + + /// Not equal comparator + bool operator !=(const PresetIterator & presetPos) const ; + + /// Equality comparator + bool operator ==(const PresetIterator & presetPos) const ; + + /// Returns an integer value representing the iterator position + /// @bug might become internal + /// \brief Returns the indexing value used by the current iterator. + std::size_t operator*() const; + + /// Allocate a new preset given this iterator's associated preset name + /// \param presetInputs the preset inputs to associate with the preset upon construction + /// \param presetOutputs the preset outputs to associate with the preset upon construction + /// \returns an autopointer of the newly allocated preset + std::unique_ptr allocate(); + + /// Set the chooser asocciated with this iterator + void setChooser(const PresetChooser & chooser); + +private: + std::size_t _currentIndex; + const PresetChooser * _presetChooser; + +}; + +/// Provides functions and iterators to select presets. Requires a preset loader upon construction +class PresetChooser { + +public: + typedef PresetIterator iterator; + + /// Initializes a chooser with an established preset loader. + /// \param presetLoader an initialized preset loader to choose presets from + /// \note The preset loader is refreshed via events or otherwise outside this class's scope + PresetChooser(const PresetLoader & presetLoader, bool softCutRatingsEnabled); + + inline void setSoftCutRatingsEnabled(bool enabled) { + _softCutRatingsEnabled = enabled; + } + + /// Choose a preset via the passed in index. Must be between 0 and num valid presets in directory + /// \param index An index lying in the interval [0, this->getNumPresets()) + /// \param presetInputs the preset inputs to associate with the preset upon construction + /// \param presetOutputs the preset outputs to associate with the preset upon construction + /// \returns an auto pointer of the newly allocated preset + std::unique_ptr directoryIndex(std::size_t index) const; + + /// Gets the number of presets last believed to exist in the preset loader's filename collection + /// \returns the number of presets in the collection + std::size_t size() const; + + /// An STL-esque iterator to begin traversing presets from a directory + /// \param index the index to begin iterating at. Assumed valid between [0, num presets) + /// \returns the position of the first preset in the collection + PresetIterator begin(unsigned int index) const; + + /// An STL-esque iterator to begin traversing presets from a directory + /// \returns the position of the first preset in the collection + PresetIterator begin(); + + /// An STL-esque iterator to retrieve an end position from a directory + /// \returns the end position of the collection + PresetIterator end() const; + + /// Perform a weighted sample to select a preset (uses preset rating values) + /// \returns an iterator to the randomly selected preset + iterator weightedRandom(bool hardCut) const; + + /// True if no presets in directory + bool empty() const; + + + inline void nextPreset(PresetIterator & presetPos); + inline void previousPreset(PresetIterator & presetPos); + +private: + std::vector sampleWeights; + const PresetLoader * _presetLoader; + bool _softCutRatingsEnabled; +}; + + +inline PresetChooser::PresetChooser(const PresetLoader & presetLoader, bool softCutRatingsEnabled):_presetLoader(&presetLoader), _softCutRatingsEnabled(softCutRatingsEnabled) { + +} + +inline std::size_t PresetChooser::size() const { + return _presetLoader->size(); +} + +inline void PresetIterator::setChooser(const PresetChooser & chooser) { + _presetChooser = &chooser; +} + +inline std::size_t PresetIterator::operator*() const { + return _currentIndex; +} + +inline PresetIterator::PresetIterator(std::size_t start):_currentIndex(start) {} + +inline void PresetIterator::operator++() { + assert(_currentIndex < _presetChooser->size()); + _currentIndex++; +} + +inline void PresetIterator::operator--() { + assert(_currentIndex > 0); + _currentIndex--; +} + +inline bool PresetIterator::operator !=(const PresetIterator & presetPos) const { + return (*presetPos != **this); +} + + +inline bool PresetIterator::operator ==(const PresetIterator & presetPos) const { + return (*presetPos == **this); +} + +inline std::unique_ptr PresetIterator::allocate() { + return _presetChooser->directoryIndex(_currentIndex); +} + +inline void PresetChooser::nextPreset(PresetIterator & presetPos) { + + if (this->empty()) { + return; + } + + // Case: idle preset currently running, selected first preset of chooser + else if (presetPos == this->end()) + presetPos = this->begin(); + else + ++(presetPos); + + // Case: already at last preset, loop to beginning + if (((presetPos) == this->end())) { + presetPos = this->begin(); + } + +} + + +inline void PresetChooser::previousPreset(PresetIterator & presetPos) { + if (this->empty()) + return; + + // Case: idle preset currently running, selected last preset of chooser + else if (presetPos == this->end()) { + --(presetPos); + } + + else if (presetPos != this->begin()) { + --(presetPos); + } + + else { + presetPos = this->end(); + --(presetPos); + } +} + +inline PresetIterator PresetChooser::begin() { + PresetIterator pos(0); + pos.setChooser(*this); + return pos; +} + +inline PresetIterator PresetChooser::begin(unsigned int index) const{ + PresetIterator pos(index); + pos.setChooser(*this); + return pos; +} + +inline PresetIterator PresetChooser::end() const { + PresetIterator pos(_presetLoader->size()); + pos.setChooser(*this); + return pos; +} + + +inline bool PresetChooser::empty() const { + return _presetLoader->size() == 0; +} + +inline std::unique_ptr PresetChooser::directoryIndex(std::size_t index) const { + + return _presetLoader->loadPreset(index); +} + + +inline PresetChooser::iterator PresetChooser::weightedRandom(bool hardCut) const { + + + + + // TODO make a sophisticated function object interface to determine why a certain rating + // category is chosen, or weighted distribution thereover. + const PresetRatingType ratingType = hardCut || (!_softCutRatingsEnabled) ? + HARD_CUT_RATING_TYPE : SOFT_CUT_RATING_TYPE; + + const std::size_t ratingsTypeIndex = static_cast(ratingType); + + const std::vector & weights = _presetLoader->getPresetRatings()[ratingsTypeIndex]; + + const std::size_t index = RandomNumberGenerators::weightedRandom + (weights, + _presetLoader->getPresetRatingsSums()[ratingsTypeIndex]); + + return begin(index); +} + +#endif diff --git a/src/libprojectM/PresetFactory.cpp b/src/libprojectM/PresetFactory.cpp new file mode 100644 index 0000000000..aa4fc98c0a --- /dev/null +++ b/src/libprojectM/PresetFactory.cpp @@ -0,0 +1,24 @@ +#include "PresetFactory.hpp" + +const std::string PresetFactory::IDLE_PRESET_PROTOCOL("idle"); + +std::string PresetFactory::protocol(const std::string & url, std::string & path) { + +#ifdef __APPLE__ + // NOTE: Brian changed this from url.find_first_of to url.find, since presumably we want to find the first occurence of + // :// and not the first occurence of any colon or forward slash. At least that fixed a bug in the Mac OS X build. + std::size_t pos = url.find("://"); +#else + std::size_t pos = url.find_first_of("://"); +#endif + if (pos == std::string::npos) + return std::string(); + else { + path = url.substr(pos + 3, url.length()); +// std::cout << "[PresetFactory] path is " << path << std::endl; + std::cout << "[PresetFactory] url is " << url << std::endl; + return url.substr(0, pos); + } + +} + diff --git a/src/libprojectM/PresetFactory.hpp b/src/libprojectM/PresetFactory.hpp new file mode 100644 index 0000000000..07bb30b524 --- /dev/null +++ b/src/libprojectM/PresetFactory.hpp @@ -0,0 +1,42 @@ +// +// C++ Interface: PresetFactory +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#include "Preset.hpp" +#include + +#ifndef __PRESET_FACTORY_HPP +#define __PRESET_FACTORY_HPP + +class PresetFactory { + +public: + static const std::string IDLE_PRESET_PROTOCOL; + static std::string protocol(const std::string & url, std::string & path); + + inline PresetFactory() {} + + inline virtual ~PresetFactory() {} + + /// Constructs a new preset given an url and optional meta data + /// \param url a locational identifier referencing the preset + /// \param name the preset name + /// \param author the preset author + /// \returns a valid preset object + virtual std::unique_ptr allocate(const std::string & url, const std::string & name=std::string(), + const std::string & author=std::string()) = 0; + + /// Returns a space separated list of supported extensions + virtual std::string supportedExtensions() const = 0; + +}; + +#endif diff --git a/src/libprojectM/PresetFactoryManager.cpp b/src/libprojectM/PresetFactoryManager.cpp new file mode 100644 index 0000000000..c8baa29670 --- /dev/null +++ b/src/libprojectM/PresetFactoryManager.cpp @@ -0,0 +1,109 @@ +// +// C++ Implementation: PresetFactoryManager +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// +#include "PresetFactoryManager.hpp" + +#ifndef DISABLE_MILKDROP_PRESETS +#include "MilkdropPresetFactory/MilkdropPresetFactory.hpp" +#endif + +#ifndef DISABLE_NATIVE_PRESETS +#include "NativePresetFactory/NativePresetFactory.hpp" +#endif + +#include "Common.hpp" +#include +PresetFactoryManager::PresetFactoryManager() : _gx(0), _gy(0), initialized(false) {} + +PresetFactoryManager::~PresetFactoryManager() { + for (std::vector::iterator pos = _factoryList.begin(); + pos != _factoryList.end(); ++pos) { + assert(*pos); + delete(*pos); + } + + initialized = false; +} + +void PresetFactoryManager::initialize(int gx, int gy) { + _gx = gx; + _gy = gy; + + if (!initialized) { + initialized = true; + } else { + std::cout << "already initialized " << std::endl; + return; + } + + PresetFactory * factory; + + #ifndef DISABLE_MILKDROP_PRESETS + factory = new MilkdropPresetFactory(_gx, _gy); + registerFactory(factory->supportedExtensions(), factory); + #endif + + #ifndef DISABLE_NATIVE_PRESETS + factory = new NativePresetFactory(); + registerFactory(factory->supportedExtensions(), factory); + #endif +} + +// Current behavior if a conflict is occurs is to override the previous request + +void PresetFactoryManager::registerFactory(const std::string & extensions, PresetFactory * factory) { + + std::stringstream ss(extensions); + std::string extension; + + _factoryList.push_back(factory); + + while (ss >> extension) { + if (_factoryMap.count(extension)) { + std::cerr << "[PresetFactoryManager] Warning: extension \"" << extension << + "\" already has a factory. New factory handler ignored." << std::endl; + } else { + _factoryMap.insert(std::make_pair(extension, factory)); + } + } +} + + + +std::unique_ptr PresetFactoryManager::allocate(const std::string & url, const std::string & name) +{ + try { + const std::string extension = parseExtension (url); + + return factory(extension).allocate(url, name); + } catch (const PresetFactoryException & e) { + throw e; + } catch (const std::exception & e) { + throw PresetFactoryException(e.what()); + } catch (...) { + throw PresetFactoryException("uncaught preset factory exception"); + } + return std::unique_ptr(); +} + +PresetFactory & PresetFactoryManager::factory(const std::string & extension) { + + if (!extensionHandled(extension)) { + std::ostringstream os; + os << "No preset factory associated with \"" << extension << "\"." << std::endl; + throw PresetFactoryException(os.str()); + } + return *_factoryMap[extension]; +} + +bool PresetFactoryManager::extensionHandled(const std::string & extension) const { + return _factoryMap.count(extension); +} diff --git a/src/libprojectM/PresetFactoryManager.hpp b/src/libprojectM/PresetFactoryManager.hpp new file mode 100644 index 0000000000..7a9867acbf --- /dev/null +++ b/src/libprojectM/PresetFactoryManager.hpp @@ -0,0 +1,60 @@ +// +// C++ Implementation: PresetFactoryManager +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2008 +// +// Copyright: See COPYING file that comes with this distribution +// +// +#ifndef __PRESET_FACTORY_MANAGER_HPP +#define __PRESET_FACTORY_MANAGER_HPP +#include "PresetFactory.hpp" + +/// A simple exception class to strongly type all preset factory related issues +class PresetFactoryException : public std::exception +{ + public: + inline PresetFactoryException(const std::string & message) : _message(message) {} + virtual ~PresetFactoryException() throw() {} + const std::string & message() const { return _message; } + + private: + std::string _message; +}; + +/// A manager of preset factories +class PresetFactoryManager { + + public: + PresetFactoryManager(); + ~PresetFactoryManager(); + + /// Initializes the manager with mesh sizes specified + /// \param gx the width of the mesh + /// \param gy the height of the mesh + /// \note This must be called once before any other methods + void initialize(int gx, int gy); + + /// Requests a factory given a preset extension type + /// \param extension a string denoting the preset suffix type + /// \throws PresetFactoryException if the extension is unhandled + /// \returns a valid preset factory associated with the extension + PresetFactory & factory(const std::string & extension); + + /// Tests if an extension has been registered with a factory + /// \param extension the file name extension to verify + /// \returns true if a factory exists, false otherwise + bool extensionHandled(const std::string & extension) const; + std::unique_ptr allocate(const std::string & url, const std::string & name); + + private: + int _gx, _gy; + mutable std::map _factoryMap; + mutable std::vector _factoryList; + void registerFactory(const std::string & extension, PresetFactory * factory); + volatile bool initialized; +}; +#endif diff --git a/src/libprojectM/PresetLoader.cpp b/src/libprojectM/PresetLoader.cpp new file mode 100644 index 0000000000..a685d22cbc --- /dev/null +++ b/src/libprojectM/PresetLoader.cpp @@ -0,0 +1,280 @@ +// +// C++ Implementation: PresetLoader +// +// Description: +// +// +// Author: Carmelo Piccione , (C) 2007 +// +// Copyright: See COPYING file that comes with this distribution +// +// +#include "PresetLoader.hpp" +#include "Preset.hpp" +#include "PresetFactory.hpp" +#include +#include +#include + +#ifdef __unix__ +extern "C" +{ +#include +} +#endif + +#ifdef __APPLE__ +extern "C" +{ +#include +} +#endif + +#include +#include "fatal.h" + +#include "Common.hpp" + +PresetLoader::PresetLoader (int gx, int gy, std::string dirname = std::string()) :_dirname ( dirname ), _dir ( 0 ) +{ + _presetFactoryManager.initialize(gx,gy); + // Do one scan + if ( _dirname != std::string() ) + rescan(); + else + clear(); +} + +PresetLoader::~PresetLoader() +{ + if ( _dir ) + closedir ( _dir ); +} + +void PresetLoader::setScanDirectory ( std::string dirname ) +{ + _dirname = dirname; +} + + +void PresetLoader::rescan() +{ + // std::cerr << "Rescanning..." << std::endl; + + // Clear the directory entry collection + clear(); + + // If directory already opened, close it first + if ( _dir ) + { + closedir ( _dir ); + _dir = 0; + } + + // Allocate a new a stream given the current directory name + if ( ( _dir = opendir ( _dirname.c_str() ) ) == NULL ) + { + handleDirectoryError(); + return; // no files loaded. _entries is empty + } + + struct dirent * dir_entry; + std::set alphaSortedFileSet; + std::set alphaSortedPresetNameSet; + + while ( ( dir_entry = readdir ( _dir ) ) != NULL ) + { + if (dir_entry->d_name[0] == 0) + continue; + + std::ostringstream out; + // Convert char * to friendly string + std::string filename ( dir_entry->d_name ); + + // Verify extension is projectm or milkdrop + if (!_presetFactoryManager.extensionHandled(parseExtension(filename))) + continue; + + if ( filename.length() > 0 && filename[0] == '.' ) + continue; + + // Create full path name + out << _dirname << PATH_SEPARATOR << filename; + + // Add to our directory entry collection + alphaSortedFileSet.insert ( out.str() ); + alphaSortedPresetNameSet.insert ( filename ); + + // the directory entry struct is freed elsewhere + } + + // Push all entries in order from the file set to the file entries member (which is an indexed vector) + for ( std::set::iterator pos = alphaSortedFileSet.begin(); + pos != alphaSortedFileSet.end();++pos ) + _entries.push_back ( *pos ); + + // Push all preset names in similar fashion + for ( std::set::iterator pos = alphaSortedPresetNameSet.begin(); + pos != alphaSortedPresetNameSet.end();++pos ) + _presetNames.push_back ( *pos ); + + // Give all presets equal rating of 3 - why 3? I don't know + _ratings = std::vector(TOTAL_RATING_TYPES, RatingList( _presetNames.size(), 3 )); + _ratingsSums = std::vector(TOTAL_RATING_TYPES, 3 * _presetNames.size()); + + + assert ( _entries.size() == _presetNames.size() ); + + + +} + + +std::unique_ptr PresetLoader::loadPreset ( unsigned int index ) const +{ + + // Check that index isn't insane + assert ( index < _entries.size() ); + return _presetFactoryManager.allocate + ( _entries[index], _presetNames[index] ); + +} + + +std::unique_ptr PresetLoader::loadPreset ( const std::string & url ) const +{ +// std::cout << "Loading preset " << url << std::endl; + + try { + /// @bug probably should not use url for preset name + return _presetFactoryManager.allocate + (url, url); + } catch (const std::exception & e) { + throw PresetFactoryException(e.what()); + } catch (...) { + throw PresetFactoryException("preset factory exception of unknown cause"); + } + return std::unique_ptr(); +} + +void PresetLoader::handleDirectoryError() +{ + +#ifdef WIN32 + std::cerr << "[PresetLoader] warning: errno unsupported on win32 platforms. fix me" << std::endl; +#else + + switch ( errno ) + { + case ENOENT: + std::cerr << "[PresetLoader] ENOENT error. The path \"" << this->_dirname << "\" probably does not exist. \"man open\" for more info." << std::endl; + break; + case ENOMEM: + std::cerr << "[PresetLoader] out of memory! Are you running Windows?" << std::endl; + abort(); + case ENOTDIR: + std::cerr << "[PresetLoader] directory specified is not a preset directory! Trying to continue..." << std::endl; + break; + case ENFILE: + std::cerr << "[PresetLoader] Your system has reached its open file limit. Trying to continue..." << std::endl; + break; + case EMFILE: + std::cerr << "[PresetLoader] too many files in use by projectM! Bailing!" << std::endl; + break; + case EACCES: + std::cerr << "[PresetLoader] permissions issue reading the specified preset directory." << std::endl; + break; + default: + break; + } +#endif +} + +void PresetLoader::setRating(unsigned int index, int rating, const PresetRatingType ratingType) +{ + const unsigned int ratingTypeIndex = static_cast(ratingType); + assert (index < _ratings[ratingTypeIndex].size()); + + _ratingsSums[ratingTypeIndex] -= _ratings[ratingTypeIndex][index]; + + _ratings[ratingTypeIndex][index] = rating; + _ratingsSums[ratingType] += rating; + +} + + +unsigned int PresetLoader::addPresetURL ( const std::string & url, const std::string & presetName, const std::vector & ratings) +{ + _entries.push_back(url); + _presetNames.push_back ( presetName ); + + assert(ratings.size() == TOTAL_RATING_TYPES); + assert(ratings.size() == _ratings.size()); + + for (unsigned int i = 0; i < _ratings.size(); i++) + _ratings[i].push_back(ratings[i]); + + for (unsigned int i = 0; i < ratings.size(); i++) + _ratingsSums[i] += ratings[i]; + + return _entries.size()-1; +} + +void PresetLoader::removePreset ( unsigned int index ) +{ + + _entries.erase ( _entries.begin() + index ); + _presetNames.erase ( _presetNames.begin() + index ); + + for (unsigned int i = 0; i < _ratingsSums.size(); i++) { + _ratingsSums[i] -= _ratings[i][index]; + _ratings[i].erase ( _ratings[i].begin() + index ); + } + + +} + +const std::string & PresetLoader::getPresetURL ( unsigned int index ) const +{ + return _entries[index]; +} + +const std::string & PresetLoader::getPresetName ( unsigned int index ) const +{ + return _presetNames[index]; +} + +int PresetLoader::getPresetRating ( unsigned int index, const PresetRatingType ratingType ) const +{ + return _ratings[ratingType][index]; +} + +const std::vector & PresetLoader::getPresetRatings () const +{ + return _ratings; +} + +const std::vector & PresetLoader::getPresetRatingsSums() const { + return _ratingsSums; +} + +void PresetLoader::setPresetName(unsigned int index, std::string name) { + _presetNames[index] = name; +} + +void PresetLoader::insertPresetURL ( unsigned int index, const std::string & url, const std::string & presetName, const RatingList & ratings) +{ + _entries.insert ( _entries.begin() + index, url ); + _presetNames.insert ( _presetNames.begin() + index, presetName ); + + + + for (unsigned int i = 0; i < _ratingsSums.size();i++) { + _ratingsSums[i] += _ratings[i][index]; + _ratings[i].insert ( _ratings[i].begin() + index, ratings[i] ); + } + + assert ( _entries.size() == _presetNames.size() ); + + +} diff --git a/src/libprojectM/PresetLoader.hpp b/src/libprojectM/PresetLoader.hpp new file mode 100644 index 0000000000..b6ca278299 --- /dev/null +++ b/src/libprojectM/PresetLoader.hpp @@ -0,0 +1,122 @@ +#ifndef __PRESET_LOADER_HPP +#define __PRESET_LOADER_HPP + +#include // used for path / filename stuff +#include // for auto pointers +#include + +#ifdef WIN32 +#include "dirent.h" +#endif + +#ifdef __unix__ +#include +#endif + +#ifdef EMSCRIPTEN +#include +#endif + +#ifdef __APPLE__ +#include +#endif + +#include +#include +#include "PresetFactoryManager.hpp" + +class Preset; +class PresetFactory; + + +class PresetLoader { + public: + + + /// Initializes the preset loader with the target directory specified + PresetLoader(int gx, int gy, std::string dirname); + + ~PresetLoader(); + + /// Load a preset by specifying its unique identifier given when the preset url + /// was added to this loader + std::unique_ptr loadPreset(unsigned int index) const; + std::unique_ptr loadPreset ( const std::string & url ) const; + /// Add a preset to the loader's collection. + /// \param url an url referencing the preset + /// \param presetName a name for the preset + /// \param rating an integer representing the goodness of the preset + /// \returns The unique index assigned to the preset in the collection. Used with loadPreset + unsigned int addPresetURL ( const std::string & url, const std::string & presetName, const RatingList & ratings); + + /// Add a preset to the loader's collection. + /// \param index insertion index + /// \param url an url referencing the preset + /// \param presetName a name for the preset + /// \param rating an integer representing the goodness of the preset + void insertPresetURL (unsigned int index, const std::string & url, const std::string & presetName, const RatingList & ratings); + + /// Clears all presets from the collection + inline void clear() { + _entries.clear(); _presetNames.clear(); + _ratings = std::vector(TOTAL_RATING_TYPES, RatingList()); + clearRatingsSum(); + } + + inline void clearRatingsSum() { + _ratingsSums = std::vector(TOTAL_RATING_TYPES, 0); + } + + const std::vector & getPresetRatings() const; + const std::vector & getPresetRatingsSums() const; + + /// Removes a preset from the loader + /// \param index the unique identifier of the preset url to be removed + void removePreset(unsigned int index); + + /// Sets the rating of a preset to a new value + void setRating(unsigned int index, int rating, const PresetRatingType ratingType); + + /// Get a preset rating given an index + int getPresetRating ( unsigned int index, const PresetRatingType ratingType) const; + + /// Get a preset url given an index + const std::string & getPresetURL ( unsigned int index) const; + + /// Get a preset name given an index + const std::string & getPresetName ( unsigned int index) const; + + /// Returns the number of presets in the active directory + inline std::size_t size() const { + return _entries.size(); + } + + /// Sets the directory where the loader will search for files + void setScanDirectory(std::string pathname); + + /// Returns the directory path associated with this preset chooser + inline const std::string & directoryName() const { + return _dirname; + } + + /// Rescans the active preset directory + void rescan(); + void setPresetName(unsigned int index, std::string name); + private: + void handleDirectoryError(); + std::string _dirname; + DIR * _dir; + std::vector _ratingsSums; + mutable PresetFactoryManager _presetFactoryManager; + + // vector chosen for speed, but not great for reverse index lookups + std::vector _entries; + std::vector _presetNames; + + // Indexed by ratingType, preset position. + std::vector _ratings; + + +}; + +#endif diff --git a/src/libprojectM/RandomNumberGenerators.hpp b/src/libprojectM/RandomNumberGenerators.hpp new file mode 100644 index 0000000000..ce6d5cbaef --- /dev/null +++ b/src/libprojectM/RandomNumberGenerators.hpp @@ -0,0 +1,121 @@ +#ifndef RANDOM_NUMBER_GENERATORS_HPP +#define RANDOM_NUMBER_GENERATORS_HPP +#include +#include +#include +#include + +#define WEIGHTED_RANDOM_DEBUG 0 + +namespace RandomNumberGenerators { + +inline float uniform() +/* Uniform random number generator x(n+1)= a*x(n) mod c + with a = pow(7,5) and c = pow(2,31)-1. + Copyright (c) Tao Pang 1997. */ + { + const int ia=16807,ic=2147483647,iq=127773,ir=2836; + int il,ih,it; + float rc; + static int iseed = rand(); + ih = iseed/iq; + il = iseed%iq; + it = ia*il-ir*ih; + if (it > 0) + { + iseed = it; + } + else + { + iseed = ic+it; + } + rc = ic; + return iseed/rc; + } + +inline float gaussian(float mean, float sigma) +{ + + float x1, x2, w, y1; + + do { + x1 = 2.0 * uniform() - 1.0; + x2 = 2.0 * uniform() - 1.0; + w = x1 * x1 + x2 * x2; + } while ( w >= 1.0 ); + + w = sqrt( (-2.0 * log( w ) ) / w ); + y1 = x1 * w; + + float ret = y1*sigma + mean; + + return ret; +} + +inline std::size_t uniformInteger(std::size_t upperBound=1) { + + + /// @bug there was a man entry about how this leads to a lousy uniform + /// @bug distribution in practice. should probably review + assert(upperBound > 0); + return ((rand()) % ((int)upperBound)); +} + + + + +/// Randomizes from probabilistically weighted distribution. Thus, +/// sum of passed in weights should be 1.0 +inline std::size_t weightedRandomNormalized(std::vector weights) { + + // Choose a random bounded mass between 0 and 1 + float cutoff = ((float)(rand())) / (float)RAND_MAX; + + //std::cout << "cutoff : " << cutoff << std::endl; + + // Sum up mass, stopping when cutoff is reached. This is the typical + // weighted sampling algorithm. + float mass = 0; + for (std::size_t i = 0; i< weights.size() ; i++) { + mass += weights[i]; + //std::cout << "mass: " << mass << std::endl; + if (mass >= cutoff) + return i; + } + + // Just in case something slips through the cracks + return weights.size()-1; +} + +inline std::size_t weightedRandom(const std::vector & weights, unsigned int weightTotalHint = 0) { + + + if (weightTotalHint == 0) { + for (std::size_t i = 0; i < weights.size();i++) + weightTotalHint += weights[i]; + } + + const int sampledSum = uniformInteger(weightTotalHint); + int sum = 0; + if (WEIGHTED_RANDOM_DEBUG) std::cout << "[RNG::weightedRandom()] weightTotal = " << weightTotalHint << + std::endl; + + for (std::size_t i = 0; i < weights.size();i++) { + if (WEIGHTED_RANDOM_DEBUG) + std::cout << "[RNG::weightedRandom()] weight[" << i << "] = " << weights[i] << + std::endl; + + sum += weights[i]; + if (sampledSum <= sum) { + if (WEIGHTED_RANDOM_DEBUG) + std::cout << "[RNG::weightedRandom()] sampled index " << i << "(" << + "running sum = " << sum << ", sampled sum = " << sampledSum << std::endl; + return i; + } + } + + return weights.size()-1; +} + +} +#endif diff --git a/src/projectM-engine/BeatDetect.cpp b/src/libprojectM/Renderer/BeatDetect.cpp similarity index 86% rename from src/projectM-engine/BeatDetect.cpp rename to src/libprojectM/Renderer/BeatDetect.cpp index dd3d795cf2..d987f207b6 100755 --- a/src/projectM-engine/BeatDetect.cpp +++ b/src/libprojectM/Renderer/BeatDetect.cpp @@ -32,13 +32,15 @@ #include "wipemalloc.h" #include "Common.hpp" -#include "projectM.hpp" -#include "BeatDetect.hpp" #include "PCM.hpp" +#include +#include "BeatDetect.hpp" -DLLEXPORT BeatDetect::BeatDetect() { +BeatDetect::BeatDetect(PCM *_pcm) { int x,y; + this->pcm=_pcm; + this->vol_instant=0; this->vol_history=0; @@ -63,21 +65,19 @@ DLLEXPORT BeatDetect::BeatDetect() { this->treb = 0; this->mid = 0; this->bass = 0; - this->bass_old = 0; - this->beat_sensitivity = 8.00; + this->vol_old = 0; + this->beat_sensitivity = 10.00; this->treb_att = 0; this->mid_att = 0; this->bass_att = 0; + this->vol_att = 0; this->vol = 0; - - this->pcm = new PCM(); + + } -DLLEXPORT BeatDetect::~BeatDetect() { - - // Free the pcm buffer - if (pcm) - delete(pcm); +BeatDetect::~BeatDetect() +{ } @@ -88,10 +88,11 @@ void BeatDetect::reset() { this->treb_att = 0; this->mid_att = 0; this->bass_att = 0; + this->vol_att = 0; } void BeatDetect::detectFromSamples() { - bass_old = bass; + vol_old = vol; bass=0;mid=0;treb=0; getBeatVals(pcm->pcmdataL,pcm->pcmdataR); @@ -156,24 +157,30 @@ void BeatDetect::getBeatVals( float *vdataL,float *vdataR ) { bass=(beat_instant[0])/(1.5*beat_history[0]); - if ( isnan( treb ) ) { + + if ( projectM_isnan( treb ) ) { treb = 0.0; } - if ( isnan( mid ) ) { + if ( projectM_isnan( mid ) ) { mid = 0.0; } - if ( isnan( bass ) ) { + if ( projectM_isnan( bass ) ) { bass = 0.0; } treb_att=.6 * treb_att + .4 * treb; mid_att=.6 * mid_att + .4 * mid; bass_att=.6 * bass_att + .4 * bass; - - DWRITE( "BeatDetect::getBeatVals: treb: %f\tmid: %f\tbass: %f\n", - treb, mid, bass ); - DWRITE( "BeatDetect::getBeatVals: treb_att: %f\tmid_att: %f\tbass_att: %f\n", - treb_att, mid_att, bass_att ); - + vol_att=.6 * vol_att + .4 * vol; + + if(bass_att>100)bass_att=100; + if(bass >100)bass=100; + if(mid_att>100)mid_att=100; + if(mid >100)mid=100; + if(treb_att>100)treb_att=100; + if(treb >100)treb=100; + if(vol_att>100)vol_att=100; + if(vol>100)vol=100; + // *vol=(beat_instant[3])/(beat_history[3]); beat_buffer_pos++; if( beat_buffer_pos>79)beat_buffer_pos=0; diff --git a/src/libprojectM/Renderer/BeatDetect.hpp b/src/libprojectM/Renderer/BeatDetect.hpp new file mode 100755 index 0000000000..99c8e7e86c --- /dev/null +++ b/src/libprojectM/Renderer/BeatDetect.hpp @@ -0,0 +1,90 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Beat detection class. Takes decompressed sound buffers and returns + * various characteristics + * + * $Log$ + * + */ + +#ifndef _BEAT_DETECT_H +#define _BEAT_DETECT_H + +#include "../PCM.hpp" +#include "../dlldefs.h" +#include +#include + + +class DLLEXPORT BeatDetect +{ + public: + float treb ; + float mid ; + float bass ; + float vol_old ; + float beat_sensitivity; + float treb_att ; + float mid_att ; + float bass_att ; + float vol; + float vol_att ; + + PCM *pcm; + + /** Methods */ + BeatDetect(PCM *pcm); + ~BeatDetect(); + void initBeatDetect(); + void reset(); + void detectFromSamples(); + void getBeatVals ( float *vdataL, float *vdataR ); + float getPCMScale() + { + // added to address https://github.com/projectM-visualizer/projectm/issues/161 + // Returning 1.0 results in using the raw PCM data, which can make the presets look pretty unresponsive + // if the application volume is low. +#ifdef WIN32 +// this is broken? +#undef max + //work0around +#endif /** WIN32 */ + return 0.5f / std::max(0.0001f,sqrtf(vol_history)); + } + + private: + /** Vars */ + float beat_buffer[32][80], + beat_instant[32], + beat_history[32]; + float beat_val[32], + beat_att[32], + beat_variance[32]; + int beat_buffer_pos; + float vol_buffer[80], + vol_instant; + float vol_history; +}; + +#endif /** !_BEAT_DETECT_H */ diff --git a/src/libprojectM/Renderer/Filters.cpp b/src/libprojectM/Renderer/Filters.cpp new file mode 100644 index 0000000000..a8329773ca --- /dev/null +++ b/src/libprojectM/Renderer/Filters.cpp @@ -0,0 +1,138 @@ +/* + * Filters.cpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#include "Common.hpp" +#include "projectM-opengl.h" +#include "Filters.hpp" +#include "ShaderEngine.hpp" +#include + +void Brighten::InitVertexAttrib() { + float points[4][2] = {{-0.5, -0.5}, + {-0.5, 0.5}, + { 0.5, 0.5}, + { 0.5, -0.5}}; + + glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void Brighten::Draw(RenderContext &context) +{ + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glBindVertexArray(m_vaoID); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBlendFunc(GL_ZERO, GL_DST_COLOR); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBindVertexArray(0); +} + +void Darken::InitVertexAttrib() { + float points[4][2] = {{-0.5, -0.5}, + {-0.5, 0.5}, + { 0.5, 0.5}, + { 0.5, -0.5}}; + + glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void Darken::Draw(RenderContext &context) +{ + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + + glBlendFunc(GL_ZERO, GL_DST_COLOR); + + glBindVertexArray(m_vaoID); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} + +void Invert::InitVertexAttrib() { + float points[4][2] = {{-0.5, -0.5}, + {-0.5, 0.5}, + { 0.5, 0.5}, + { 0.5, -0.5}}; + + glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void Invert::Draw(RenderContext &context) +{ + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + + glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); + + glBindVertexArray(m_vaoID); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} + +void Solarize::InitVertexAttrib() { + float points[4][2] = {{-0.5, -0.5}, + {-0.5, 0.5}, + { 0.5, 0.5}, + { 0.5, -0.5}}; + + glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void Solarize::Draw(RenderContext &context) +{ + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + + glBlendFunc(GL_ZERO, GL_ONE_MINUS_DST_COLOR); + + glBindVertexArray(m_vaoID); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBlendFunc(GL_DST_COLOR, GL_ONE); + glDrawArrays(GL_TRIANGLE_FAN,0,4); + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} diff --git a/src/libprojectM/Renderer/Filters.hpp b/src/libprojectM/Renderer/Filters.hpp new file mode 100644 index 0000000000..f9ca25aa35 --- /dev/null +++ b/src/libprojectM/Renderer/Filters.hpp @@ -0,0 +1,45 @@ +/* + * Filters.hpp + * + * Created on: Jun 18, 2008 + * Author: pete + */ + +#ifndef FILTERS_HPP_ +#define FILTERS_HPP_ + +#include "Renderable.hpp" + +class Brighten : public RenderItem +{ +public: + Brighten(){ Init(); } + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +class Darken : public RenderItem +{ +public: + Darken(){ Init(); } + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +class Invert : public RenderItem +{ +public: + Invert(){ Init(); } + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +class Solarize : public RenderItem +{ +public: + Solarize(){ Init(); } + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +#endif /* FILTERS_HPP_ */ diff --git a/src/libprojectM/Renderer/Makefile.am b/src/libprojectM/Renderer/Makefile.am new file mode 100644 index 0000000000..60a2c28205 --- /dev/null +++ b/src/libprojectM/Renderer/Makefile.am @@ -0,0 +1,55 @@ + +noinst_LTLIBRARIES = libRenderer.la + +libRenderer_la_SOURCES = \ + SOIL2/image_DXT.c \ + SOIL2/image_helper.c \ + SOIL2/SOIL2.c \ + SOIL2/etc1_utils.c \ + MilkdropWaveform.cpp \ + PerPixelMesh.cpp \ + Pipeline.cpp \ + Renderer.cpp \ + ShaderEngine.cpp \ + Texture.cpp \ + Waveform.cpp \ + Filters.cpp \ + PerlinNoise.cpp \ + PerlinNoiseWithAlpha.cpp \ + PipelineContext.cpp \ + Renderable.cpp \ + BeatDetect.cpp \ + Shader.cpp \ + TextureManager.cpp \ + VideoEcho.cpp \ + RenderItemDistanceMetric.cpp \ + RenderItemMatcher.cpp \ + BeatDetect.hpp PipelineContext.hpp ShaderEngine.hpp\ + RenderItemDistanceMetric.hpp TextureManager.hpp\ + Filters.hpp RenderItemMatcher.hpp Transformation.hpp\ + MilkdropWaveform.hpp RenderItemMergeFunction.hpp Texture.hpp\ + PerPixelMesh.hpp Renderable.hpp VideoEcho.hpp\ + PerlinNoise.hpp PerlinNoiseWithAlpha.hpp Renderer.hpp Waveform.hpp\ + Pipeline.hpp Shader.hpp\ + SOIL2/SOIL2.h SOIL2/stbi_DDS.h\ + SOIL2/etc1_utils.h SOIL2/stbi_DDS_c.h\ + SOIL2/image_DXT.h SOIL2/stbi_ext.h\ + SOIL2/image_helper.h SOIL2/stbi_ext_c.h\ + SOIL2/pkm_helper.h SOIL2/stbi_pkm.h\ + SOIL2/pvr_helper.h SOIL2/stbi_pkm_c.h\ + SOIL2/stb_image.h SOIL2/stbi_pvr.h\ + SOIL2/stb_image_write.h SOIL2/stbi_pvr_c.h\ + hlslparser/src/CodeWriter.cpp hlslparser/src/Engine.h \ + hlslparser/src/HLSLParser.h hlslparser/src/HLSLTree.cpp \ + hlslparser/src/CodeWriter.h hlslparser/src/GLSLGenerator.cpp \ + hlslparser/src/HLSLTokenizer.cpp hlslparser/src/HLSLTree.h \ + hlslparser/src/Engine.cpp hlslparser/src/GLSLGenerator.h hlslparser/src/HLSLParser.cpp \ + hlslparser/src/HLSLTokenizer.h + +libRenderer_la_CPPFLAGS = ${my_CFLAGS} \ + -include $(top_builddir)/config.h \ + -I$(top_srcdir)/src/libprojectM/Renderer/hlslparser/src \ + -I$(top_srcdir)/src/libprojectM + +libRenderer_la_LDFLAGS = \ + ${FTGL_LIBS} diff --git a/src/libprojectM/Renderer/MilkdropWaveform.cpp b/src/libprojectM/Renderer/MilkdropWaveform.cpp new file mode 100644 index 0000000000..39a70bf665 --- /dev/null +++ b/src/libprojectM/Renderer/MilkdropWaveform.cpp @@ -0,0 +1,389 @@ +/* + * MilkdropWaveform.cpp + * + * Created on: Jun 25, 2008 + * Author: pete + */ +#include +#include "projectM-opengl.h" +#include +#include "MilkdropWaveform.hpp" +#include "math.h" +#include "BeatDetect.hpp" +#include "ShaderEngine.hpp" +#include + +MilkdropWaveform::MilkdropWaveform(): RenderItem(), + x(0.5), y(0.5), r(1), g(0), b(0), a(1), mystery(0), mode(Line), additive(false), dots(false), thick(false), + modulateAlphaByVolume(false), maximizeColors(false), scale(10), smoothing(0), + modOpacityStart(0), modOpacityEnd(1), rot(0), samples(0), loop(false) { + + Init(); +} + +MilkdropWaveform::~MilkdropWaveform() { +} + +void MilkdropWaveform::InitVertexAttrib() { + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); + +} + + +void MilkdropWaveform::Draw(RenderContext &context) +{ + WaveformMath(context); + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * samples * 2, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * samples * 2, wavearray, GL_DYNAMIC_DRAW); + + if (two_waves) { + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * samples * 2, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * samples * 2, wavearray2, GL_DYNAMIC_DRAW); + } + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glUseProgram(context.programID_v2f_c4f); + + glm::mat4 mat_first_translation = glm::mat4(1.0); + mat_first_translation[3][0] = -0.5; + mat_first_translation[3][1] = -0.5; + + glm::mat4 mat_scale = glm::mat4(1.0); + mat_scale[0][0] = aspectScale; + + float s = glm::sin(glm::radians(-rot)); + float c = glm::cos(glm::radians(-rot)); + glm::mat4 mat_rotation = glm::mat4( c,-s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + glm::mat4 mat_second_translation = glm::mat4(1.0); + mat_second_translation[3][0] = 0.5; + mat_second_translation[3][1] = 0.5; + + glm::mat4 mat_vertex = context.mat_ortho; + mat_vertex = mat_first_translation * mat_vertex; + mat_vertex = mat_scale * mat_vertex; + mat_vertex = mat_rotation * mat_vertex; + mat_vertex = mat_second_translation * mat_vertex; + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(mat_vertex)); + + if(modulateAlphaByVolume) ModulateOpacityByVolume(context); + else temp_a = a; + MaximizeColors(context); + +#ifndef GL_TRANSITION + if(dots==1) glEnable(GL_LINE_STIPPLE); +#endif + + //Thick wave drawing + if (thick==1) glLineWidth( (context.texsize < 512 ) ? 2 : 2*context.texsize/512); + else glLineWidth( (context.texsize < 512 ) ? 1 : context.texsize/512); + + //Additive wave drawing (vice overwrite) + if (additive==1)glBlendFunc(GL_SRC_ALPHA, GL_ONE); + else glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBindVertexArray(m_vaoID); + + if (loop) + glDrawArrays(GL_LINE_LOOP,0,samples); + else + glDrawArrays(GL_LINE_STRIP,0,samples); + + + if (two_waves) + { + if (loop) + glDrawArrays(GL_LINE_LOOP,0,samples); + else + glDrawArrays(GL_LINE_STRIP,0,samples); + } + + glBindVertexArray(0); + +#ifndef GL_TRANSITION + if(dots==1) glDisable(GL_LINE_STIPPLE); +#endif + +} + +void MilkdropWaveform::ModulateOpacityByVolume(RenderContext &context) +{ + + //modulate volume by opacity + // + //set an upper and lower bound and linearly + //calculate the opacity from 0=lower to 1=upper + //based on current volume + + if (context.beatDetect->vol<= modOpacityStart) temp_a=0.0; + else if (context.beatDetect->vol>=modOpacityEnd) temp_a=a; + else temp_a=a*((context.beatDetect->vol-modOpacityStart)/(modOpacityEnd-modOpacityStart)); + +} + +void MilkdropWaveform::MaximizeColors(RenderContext &context) +{ + float wave_r_switch=0, wave_g_switch=0, wave_b_switch=0; + //wave color brightening + // + //forces max color value to 1.0 and scales + // the rest accordingly + if(mode==Blob2 || mode==Blob5) + switch(context.texsize) + { + case 256: temp_a *= 0.07f; break; + case 512: temp_a *= 0.09f; break; + case 1024: temp_a *= 0.11f; break; + case 2048: temp_a *= 0.13f; break; + } + else if(mode==Blob3) + { + switch(context.texsize) + { + case 256: temp_a *= 0.075f; break; + case 512: temp_a *= 0.15f; break; + case 1024: temp_a *= 0.22f; break; + case 2048: temp_a *= 0.33f; break; + } + temp_a*=1.3f; + temp_a*=std::pow(context.beatDetect->treb , 2.0f); + } + + if (maximizeColors==true) + { + if(r>=g && r>=b) //red brightest + { + wave_b_switch=b*(1/r); + wave_g_switch=g*(1/r); + wave_r_switch=1.0; + } + else if (b>=g && b>=r) //blue brightest + { + wave_r_switch=r*(1/b); + wave_g_switch=g*(1/b); + wave_b_switch=1.0; + + } + + else if (g>=b && g>=r) //green brightest + { + wave_b_switch=b*(1/g); + wave_r_switch=r*(1/g); + wave_g_switch=1.0; + } + + + glVertexAttrib4f(1, wave_r_switch, wave_g_switch, wave_b_switch, temp_a * masterAlpha); + } + else + { + glVertexAttrib4f(1, r, g, b, temp_a * masterAlpha); + } +} + + +void MilkdropWaveform::WaveformMath(RenderContext &context) +{ + float *pcmdataR = context.beatDetect->pcm->pcmdataR; + float *pcmdataL = context.beatDetect->pcm->pcmdataL; + // scale PCM data based on vol_history to make it more or less independent of the application output volume + const float vol_scale = context.beatDetect->getPCMScale(); + + float r2, theta; + + float wave_x_temp=0; + float wave_y_temp=0; + + float cos_rot; + float sin_rot; + + const float temp_y = -1*(y-1.0f); + + two_waves = false; + loop = false; + + switch(mode) + { + + case Circle: + { + loop = true; + rot = 0; + aspectScale=1.0; + + samples = context.beatDetect->pcm->numsamples; + + float inv_nverts_minus_one = 1.0f/(float)(samples); + + float last_value = vol_scale * (pcmdataR[samples-1]+pcmdataL[samples-1]); + float first_value = vol_scale * (pcmdataR[0]+pcmdataL[0]); + float offset = first_value-last_value; + + for ( int i=0;i1) + { + xx[i] = xx[i]*w2 + w1*(xx[i-1]*2.0f - xx[i-2]); + yy[i] = yy[i]*w2 + w1*(yy[i-1]*2.0f - yy[i-2]); + } + wavearray[i][0]=xx[i]; + wavearray[i][1]=yy[i]; + } } + break; + + case Blob5://EXPERIMENTAL + + rot = 0; + aspectScale =1.0; + + cos_rot = cosf(context.time*0.3f); + sin_rot = sinf(context.time*0.3f); + samples = 512-32; + + for ( int i=0;i<512-32;i++) + { + float x0 = (vol_scale*pcmdataR[i]*vol_scale*pcmdataL[i+32] + vol_scale*pcmdataL[i+32]*vol_scale*pcmdataR[i]); + float y0 = (vol_scale*pcmdataR[i]*vol_scale*pcmdataR[i] - vol_scale*pcmdataL[i+32]*vol_scale*pcmdataL[i+32]); + wavearray[i][0]=((x0*cos_rot - y0*sin_rot)*scale*0.5f*(context.aspectCorrect ? context.aspectRatio : 1.0f) + x); + wavearray[i][1]=( (x0*sin_rot + y0*cos_rot)*scale*0.5f + temp_y); + } + break; + + case Line://single waveform + + + wave_x_temp=-2*0.4142f*(fabs(fabs(mystery)-.5f)-.5f); + + rot = -mystery*90; + aspectScale =1.0f+wave_x_temp; + wave_x_temp=-1*(x-1.0f); + samples = context.beatDetect->pcm->numsamples; + + for ( int i=0;i< samples;i++) + { + + wavearray[i][0]=i/(float) samples; + wavearray[i][1]=vol_scale*pcmdataR[i]*.04f*scale+wave_x_temp; + + } + // printf("%f %f\n",renderTarget->texsize*wave_y_temp,wave_y_temp); + + break; + + case DoubleLine://dual waveforms + + + wave_x_temp=-2*0.4142f*(fabs(fabs(mystery)-.5f)-.5f); + + rot = -mystery*90; + aspectScale =1.0f+wave_x_temp; + + + samples = context.beatDetect->pcm->numsamples; + two_waves = true; + + const float y_adj = y*y*.5f; + + wave_y_temp=-1*(x-1); + + for ( int i=0;i +#include +#include "PerPixelMesh.hpp" +#include "omptl/omptl" +#include "omptl/omptl_algorithm" + +PerPixelMesh::PerPixelMesh(int _width, int _height) : width(_width), height(_height), size (_width * _height), + p(_width * _height, PixelPoint(0,0)), + p_original(_width * _height, PixelPoint(0,0)), + identity(_width * _height, PerPixelContext(0,0,0,0,0,0)) + { + for (int j=0;j + +struct PixelPoint +{ + float x; + float y; + + PixelPoint(float _x, float _y); +}; + +struct PerPixelContext +{ + float x; + float y; + float rad; + float theta; + + int i; + int j; + + PerPixelContext(float x, float _y, float _rad, float _theta, int _i, int _j); +}; + +class PerPixelMesh +{ +public: + int width; + int height; + int size; + + std::vector p; + std::vector p_original; + std::vector identity; + + PerPixelMesh(int _width, int _height); + + void Reset(); +}; + + + +#endif diff --git a/src/libprojectM/Renderer/PerlinNoise.cpp b/src/libprojectM/Renderer/PerlinNoise.cpp new file mode 100644 index 0000000000..fac88da3d1 --- /dev/null +++ b/src/libprojectM/Renderer/PerlinNoise.cpp @@ -0,0 +1,70 @@ +/* + * PerlinNoise.cpp + * + * Created on: Jul 11, 2008 + * Author: pete + */ + +#include "PerlinNoise.hpp" +#include +#include + +PerlinNoise::PerlinNoise() +{ + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_lq[x][y][0] = noise(x , y); + noise_lq[x][y][1] = noise_lq[x][y][0]; + noise_lq[x][y][2] = noise_lq[x][y][0]; + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + noise_lq_lite[x][y][0] = noise(4*x,16*y); + noise_lq_lite[x][y][1] = noise_lq_lite[x][y][0]; + noise_lq_lite[x][y][2] = noise_lq_lite[x][y][0]; + } + } + + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_mq[x][y][0] = InterpolatedNoise((float)x/(float)2.0,(float)y/(float)2.0); + noise_mq[x][y][1] = noise_mq[x][y][0]; + noise_mq[x][y][2] = noise_mq[x][y][0]; + } + } + + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_hq[x][y][0] = InterpolatedNoise((float)x/(float)3.0,(float)y/(float)3.0); + noise_hq[x][y][1] = noise_hq[x][y][0]; + noise_hq[x][y][2] = noise_hq[x][y][0]; + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + for (int z = 0; z < 32;z++) { + noise_lq_vol[x][y][z][0] = noise(x,y,z); + noise_lq_vol[x][y][z][1] = noise_lq_vol[x][y][z][0]; + noise_lq_vol[x][y][z][2] = noise_lq_vol[x][y][z][0]; + } + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + for (int z = 0; z < 32;z++) { + noise_hq_vol[x][y][z][0] = noise(x,y,z); + noise_hq_vol[x][y][z][1] = noise_hq_vol[x][y][z][0]; + noise_hq_vol[x][y][z][2] = noise_hq_vol[x][y][z][0]; + } + } + } +} + +PerlinNoise::~PerlinNoise() +{ + // TODO Auto-generated destructor stub +} diff --git a/src/libprojectM/Renderer/PerlinNoise.hpp b/src/libprojectM/Renderer/PerlinNoise.hpp new file mode 100644 index 0000000000..a999f899ed --- /dev/null +++ b/src/libprojectM/Renderer/PerlinNoise.hpp @@ -0,0 +1,170 @@ +/* + * PerlinNoise.hpp + * + * Created on: Jul 11, 2008 + * Author: pete + */ + +#ifndef PERLINNOISE_HPP_ +#define PERLINNOISE_HPP_ + +#include + +class PerlinNoise +{ +public: + + float noise_lq[256][256][3]; + float noise_lq_lite[32][32][3]; + float noise_mq[256][256][3]; + float noise_hq[256][256][3]; + float noise_lq_vol[32][32][32][3]; + float noise_hq_vol[32][32][32][3]; + + + PerlinNoise(); + virtual ~PerlinNoise(); + +private: + + static inline float noise( int x) + { + x = (x<<13)^x; + return (((x * (x * x * 15731 + 789221) + 1376312589) & 0x7fffffff) / 2147483648.0); + } + + static inline float noise(int x, int y) + { + int n = x + y * 57; + return noise(n); + } + + static inline float noise(int x, int y, int z) + { + int n = x + y * 57 + z * 141; + return noise(n); + } + + static inline float cubic_interp(float v0, float v1, float v2, float v3, float x) + { + float P = (v3 - v2) - (v0 - v1); + float Q = (v0 - v1) - P; + float R = v2 - v0; + + return P*pow(x,3) + Q * pow(x,2) + R*x + v1; + } + + static inline float InterpolatedNoise(float x, float y) + { + int integer_X = int(x); + float fractional_X = x - integer_X; + + int integer_Y = int(y); + float fractional_Y = y - integer_Y; + + float a0 = noise(integer_X - 1, integer_Y - 1); + float a1 = noise(integer_X, integer_Y - 1); + float a2 = noise(integer_X + 1, integer_Y - 1); + float a3 = noise(integer_X + 2, integer_Y - 1); + + float x0 = noise(integer_X - 1, integer_Y); + float x1 = noise(integer_X, integer_Y); + float x2 = noise(integer_X + 1, integer_Y); + float x3 = noise(integer_X + 2, integer_Y); + + float y0 = noise(integer_X + 0, integer_Y + 1); + float y1 = noise(integer_X, integer_Y + 1); + float y2 = noise(integer_X + 1, integer_Y + 1); + float y3 = noise(integer_X + 2, integer_Y + 1); + + float b0 = noise(integer_X - 1, integer_Y + 2); + float b1 = noise(integer_X, integer_Y + 2); + float b2 = noise(integer_X + 1, integer_Y + 2); + float b3 = noise(integer_X + 2, integer_Y + 2); + + float i0 = cubic_interp(a0 , a1, a2, a3, fractional_X); + float i1 = cubic_interp(x0 , x1, x2, x3, fractional_X); + float i2 = cubic_interp(y0 , y1, y2, y3, fractional_X); + float i3 = cubic_interp(b0 , b1, b2, b3, fractional_X); + + return cubic_interp(i0, i1 , i2 , i3, fractional_Y); + + } + + static inline float perlin_octave_3d(float x,float y, float z,int width, int seed, float period) + { + float freq=1/(float)(period); + + int num=(int)(width*freq); + int step_x=(int)(x*freq); + int step_y=(int)(y*freq); + int step_z=(int)(z*freq); + float zone_x=x*freq-step_x; + float zone_y=y*freq-step_y; + float zone_z=z*freq-step_z; + + int boxB=step_x+step_y+step_z*num; + int boxC=step_x+step_y+step_z*(num+1); + int boxD=step_x+step_y+step_z*(num+2); + int boxA=step_x+step_y+step_z*(num-1); + + float u,a,b,v,noisedata,box; + + box = boxA; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float A=cubic_interp(u,a,b,v,zone_y); + + box = boxB; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float B=cubic_interp(u,a,b,v,zone_y); + + box = boxC; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float C=cubic_interp(u,a,b,v,zone_y); + + box = boxD; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float D=cubic_interp(u,a,b,v,zone_y); + + float value =cubic_interp(A,B,C,D,zone_z); + + return value; + } + + + static inline float perlin_noise_3d(int x, int y, int z, int width, int octaves, int seed, float persistance, float basePeriod) + { + float p = persistance; + float val = 0.0; + + for (int i = 0; i +#include + +/* The reason for this cousin class is that in Open GLES 2.0 environments, +the glTexImage2d cannot convert from GL_RGB into GL_RGBA +so the TextureManager has to use something that is pre-RGBA +*/ +PerlinNoiseWithAlpha::PerlinNoiseWithAlpha() +{ + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_lq[x][y][0] = noise(x , y); + noise_lq[x][y][1] = noise_lq[x][y][0]; + noise_lq[x][y][2] = noise_lq[x][y][0]; + noise_lq[x][y][3] = 1.f; + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + noise_lq_lite[x][y][0] = noise(4*x,16*y); + noise_lq_lite[x][y][1] = noise_lq_lite[x][y][0]; + noise_lq_lite[x][y][2] = noise_lq_lite[x][y][0]; + noise_lq_lite[x][y][3] = 1.f; + } + } + + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_mq[x][y][0] = InterpolatedNoise((float)x/(float)2.0,(float)y/(float)2.0); + noise_mq[x][y][1] = noise_mq[x][y][0]; + noise_mq[x][y][2] = noise_mq[x][y][0]; + noise_mq[x][y][3] = 1.f; + } + } + + for (int x = 0; x < 256;x++) { + for (int y = 0; y < 256;y++) { + noise_hq[x][y][0] = InterpolatedNoise((float)x/(float)3.0,(float)y/(float)3.0); + noise_hq[x][y][1] = noise_hq[x][y][0]; + noise_hq[x][y][2] = noise_hq[x][y][0]; + noise_hq[x][y][3] = 1.f; + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + for (int z = 0; z < 32;z++) { + noise_lq_vol[x][y][z][0] = noise(x,y,z); + noise_lq_vol[x][y][z][1] = noise_lq_vol[x][y][z][0]; + noise_lq_vol[x][y][z][2] = noise_lq_vol[x][y][z][0]; + noise_lq_vol[x][y][z][3] = 1.f; + } + } + } + + for (int x = 0; x < 32;x++) { + for (int y = 0; y < 32;y++) { + for (int z = 0; z < 32;z++) { + noise_hq_vol[x][y][z][0] = noise(x,y,z); + noise_hq_vol[x][y][z][1] = noise_hq_vol[x][y][z][0]; + noise_hq_vol[x][y][z][2] = noise_hq_vol[x][y][z][0]; + noise_hq_vol[x][y][z][3] = 1.f; + } + } + } +} + +PerlinNoiseWithAlpha::~PerlinNoiseWithAlpha() +{ + // TODO Auto-generated destructor stub +} diff --git a/src/libprojectM/Renderer/PerlinNoiseWithAlpha.hpp b/src/libprojectM/Renderer/PerlinNoiseWithAlpha.hpp new file mode 100644 index 0000000000..92f3b123b3 --- /dev/null +++ b/src/libprojectM/Renderer/PerlinNoiseWithAlpha.hpp @@ -0,0 +1,176 @@ +/* + * PerlinNoise.hpp + * + * Created and based on PerlinNoise.hpp + * Created on: Sep 14, 2019 + * Author: hibengler + */ + + +/* The reason for this cousin class is that in Open GLES 2.0 environments, +the glTexImage2d cannot convert from GL_RGB into GL_RGBA +so the TextureManager has to use something that is pre-RGBA +*/ +#ifndef PERLINNOISEWITHALPHA_HPP_ +#define PERLINNOISEWITHALPHA_HPP_ + +#include + +class PerlinNoiseWithAlpha +{ +public: + + float noise_lq[256][256][4]; + float noise_lq_lite[32][32][4]; + float noise_mq[256][256][4]; + float noise_hq[256][256][4]; + float noise_lq_vol[32][32][32][4]; + float noise_hq_vol[32][32][32][4]; + + + PerlinNoiseWithAlpha(); + virtual ~PerlinNoiseWithAlpha(); + +private: + + static inline float noise( int x) + { + x = (x<<13)^x; + return (((x * (x * x * 15731 + 789221) + 1376312589) & 0x7fffffff) / 2147483648.0); + } + + static inline float noise(int x, int y) + { + int n = x + y * 57; + return noise(n); + } + + static inline float noise(int x, int y, int z) + { + int n = x + y * 57 + z * 141; + return noise(n); + } + + static inline float cubic_interp(float v0, float v1, float v2, float v3, float x) + { + float P = (v3 - v2) - (v0 - v1); + float Q = (v0 - v1) - P; + float R = v2 - v0; + + return P*pow(x,3) + Q * pow(x,2) + R*x + v1; + } + + static inline float InterpolatedNoise(float x, float y) + { + int integer_X = int(x); + float fractional_X = x - integer_X; + + int integer_Y = int(y); + float fractional_Y = y - integer_Y; + + float a0 = noise(integer_X - 1, integer_Y - 1); + float a1 = noise(integer_X, integer_Y - 1); + float a2 = noise(integer_X + 1, integer_Y - 1); + float a3 = noise(integer_X + 2, integer_Y - 1); + + float x0 = noise(integer_X - 1, integer_Y); + float x1 = noise(integer_X, integer_Y); + float x2 = noise(integer_X + 1, integer_Y); + float x3 = noise(integer_X + 2, integer_Y); + + float y0 = noise(integer_X + 0, integer_Y + 1); + float y1 = noise(integer_X, integer_Y + 1); + float y2 = noise(integer_X + 1, integer_Y + 1); + float y3 = noise(integer_X + 2, integer_Y + 1); + + float b0 = noise(integer_X - 1, integer_Y + 2); + float b1 = noise(integer_X, integer_Y + 2); + float b2 = noise(integer_X + 1, integer_Y + 2); + float b3 = noise(integer_X + 2, integer_Y + 2); + + float i0 = cubic_interp(a0 , a1, a2, a3, fractional_X); + float i1 = cubic_interp(x0 , x1, x2, x3, fractional_X); + float i2 = cubic_interp(y0 , y1, y2, y3, fractional_X); + float i3 = cubic_interp(b0 , b1, b2, b3, fractional_X); + + return cubic_interp(i0, i1 , i2 , i3, fractional_Y); + + } + + static inline float perlin_octave_3d(float x,float y, float z,int width, int seed, float period) + { + float freq=1/(float)(period); + + int num=(int)(width*freq); + int step_x=(int)(x*freq); + int step_y=(int)(y*freq); + int step_z=(int)(z*freq); + float zone_x=x*freq-step_x; + float zone_y=y*freq-step_y; + float zone_z=z*freq-step_z; + + int boxB=step_x+step_y+step_z*num; + int boxC=step_x+step_y+step_z*(num+1); + int boxD=step_x+step_y+step_z*(num+2); + int boxA=step_x+step_y+step_z*(num-1); + + float u,a,b,v,noisedata,box; + + box = boxA; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float A=cubic_interp(u,a,b,v,zone_y); + + box = boxB; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float B=cubic_interp(u,a,b,v,zone_y); + + box = boxC; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float C=cubic_interp(u,a,b,v,zone_y); + + box = boxD; + noisedata=(box+seed); + u=cubic_interp(noise(noisedata-num-1),noise(noisedata-num),noise(noisedata-num+1),noise(noisedata-num+2),zone_x); + a=cubic_interp(noise(noisedata-1),noise(noisedata),noise(noisedata+1),noise(noisedata+2),zone_x); + b=cubic_interp(noise(noisedata+num -1),noise(noisedata+num),noise(noisedata+1+num),noise(noisedata+2+num),zone_x); + v=cubic_interp(noise(noisedata+2*num -1),noise(noisedata+2*num),noise(noisedata+1+2*num),noise(noisedata+2+2*num),zone_x); + float D=cubic_interp(u,a,b,v,zone_y); + + float value =cubic_interp(A,B,C,D,zone_z); + + return value; + } + + + static inline float perlin_noise_3d(int x, int y, int z, int width, int octaves, int seed, float persistance, float basePeriod) + { + float p = persistance; + float val = 0.0; + + for (int i = 0; igx = _gx; + this->gy = _gy; + + this->x_mesh = alloc_mesh(gx, gy); + this->y_mesh = alloc_mesh(gx, gy); +} + +Pipeline::~Pipeline() +{ + if (staticPerPixel) + { + free_mesh(x_mesh); + free_mesh(y_mesh); + } +} + +PixelPoint Pipeline::PerPixel(PixelPoint p, const PerPixelContext context) +{return p;} diff --git a/src/libprojectM/Renderer/Pipeline.hpp b/src/libprojectM/Renderer/Pipeline.hpp new file mode 100644 index 0000000000..8078261299 --- /dev/null +++ b/src/libprojectM/Renderer/Pipeline.hpp @@ -0,0 +1,61 @@ +#ifndef Pipeline_HPP +#define Pipeline_HPP + +#include +#include "PerPixelMesh.hpp" +#include "Renderable.hpp" +#include "Filters.hpp" +#include "PipelineContext.hpp" +#include "Shader.hpp" +#include "../Common.hpp" +//This class is the input to projectM's renderer +// +//Most implemenatations should implement PerPixel in order to get multi-threaded +//dynamic PerPixel equations. If you MUST (ie Milkdrop compatability), you can use the +//setStaticPerPixel function and fill in x_mesh and y_mesh yourself. +class Pipeline +{ +public: + + //static per pixel stuff + bool staticPerPixel; + int gx; + int gy; + + float** x_mesh; + float** y_mesh; + //end static per pixel + + bool textureWrap; + float screenDecay; + + //variables passed to pixel shaders + float q[NUM_Q_VARIABLES]; + + //blur settings n=bias x=scale + float blur1n; + float blur2n; + float blur3n; + float blur1x; + float blur2x; + float blur3x; + float blur1ed; + + Shader warpShader; + std::string warpShaderFilename; + Shader compositeShader; + std::string compositeShaderFilename; + + std::vector drawables; + std::vector compositeDrawables; + + Pipeline(); + void setStaticPerPixel(int _gx, int _gy); + virtual ~Pipeline(); + virtual PixelPoint PerPixel(PixelPoint p, const PerPixelContext context); +}; + +float **alloc_mesh(size_t gx, size_t gy); +float **free_mesh(float **mesh); + +#endif diff --git a/src/libprojectM/Renderer/PipelineContext.cpp b/src/libprojectM/Renderer/PipelineContext.cpp new file mode 100644 index 0000000000..2233147563 --- /dev/null +++ b/src/libprojectM/Renderer/PipelineContext.cpp @@ -0,0 +1,11 @@ +/* + * PipelineContext.cpp + * + * Created on: Jun 22, 2008 + * Author: pete + */ + +#include "PipelineContext.hpp" + +PipelineContext::PipelineContext() {} +PipelineContext::~PipelineContext() {} diff --git a/src/libprojectM/Renderer/PipelineContext.hpp b/src/libprojectM/Renderer/PipelineContext.hpp new file mode 100644 index 0000000000..e528195e76 --- /dev/null +++ b/src/libprojectM/Renderer/PipelineContext.hpp @@ -0,0 +1,24 @@ +/* + * PipelineContext.hpp + * + * Created on: Jun 22, 2008 + * Author: pete + */ + +#ifndef PIPELINECONTEXT_HPP_ +#define PIPELINECONTEXT_HPP_ + +class PipelineContext +{ +public: + int fps; + float time; + float presetStartTime; + int frame; + float progress; + + PipelineContext(); + virtual ~PipelineContext(); +}; + +#endif /* PIPELINECONTEXT_HPP_ */ diff --git a/src/libprojectM/Renderer/RenderItemDistanceMetric.cpp b/src/libprojectM/Renderer/RenderItemDistanceMetric.cpp new file mode 100644 index 0000000000..e032ba558d --- /dev/null +++ b/src/libprojectM/Renderer/RenderItemDistanceMetric.cpp @@ -0,0 +1,13 @@ +/* + * RenderItemDistanceMetric.cpp + * + * Created on: Feb 18, 2009 + * Author: struktured + */ + +#include "RenderItemDistanceMetric.hpp" + +// Assumes [0, 1] distance space because it's easy to manage with overflow +// Underflow is obviously possible though. +const double RenderItemDistanceMetric::NOT_COMPARABLE_VALUE + (1.0); diff --git a/src/libprojectM/Renderer/RenderItemDistanceMetric.hpp b/src/libprojectM/Renderer/RenderItemDistanceMetric.hpp new file mode 100644 index 0000000000..bc88096003 --- /dev/null +++ b/src/libprojectM/Renderer/RenderItemDistanceMetric.hpp @@ -0,0 +1,150 @@ +/* + * RenderItemDistanceMetric.h + * + * Created on: Feb 16, 2009 + * Author: struktured + */ + +#ifndef RenderItemDISTANCEMETRIC_H_ +#define RenderItemDISTANCEMETRIC_H_ + +#include "Common.hpp" +#include "Renderable.hpp" +#include +#include +#include + + +/// Compares two render items and returns zero if they are virtually equivalent and large values +/// when they are dissimilar. If two render items cannot be compared, NOT_COMPARABLE_VALUE is returned. +class RenderItemDistanceMetric : public std::binary_function { +public: + virtual ~RenderItemDistanceMetric() { } + const static double NOT_COMPARABLE_VALUE; + virtual double operator()(const RenderItem * r1, const RenderItem * r2) const = 0; + virtual TypeIdPair typeIdPair() const = 0; +}; + +// A base class to construct render item distance metrics. Just specify your two concrete +// render item types as template parameters and override the computeDistance() function. +template +class RenderItemDistance : public RenderItemDistanceMetric { + +protected: +// Override to create your own distance fmetric for your specified custom types. +virtual double computeDistance(const R1 * r1, const R2 * r2) const = 0; + +public: + +inline virtual double operator()(const RenderItem * r1, const RenderItem * r2) const { + if (supported(r1, r2)) + return computeDistance(dynamic_cast(r1), dynamic_cast(r2)); + else if (supported(r2,r1)) + return computeDistance(dynamic_cast(r2), dynamic_cast(r1)); + else + return NOT_COMPARABLE_VALUE; +} + +// Returns true if and only if r1 and r2 are the same type as or derived from R1, R2 respectively +inline bool supported(const RenderItem * r1, const RenderItem * r2) const { + return dynamic_cast(r1) && dynamic_cast(r2); + //return typeid(r1) == typeid(const R1 *) && typeid(r2) == typeid(const R2 *); +} + +inline TypeIdPair typeIdPair() const { + return TypeIdPair(typeid(const R1*).name(), typeid(const R2*).name()); +} + +}; + + +class RTIRenderItemDistance : public RenderItemDistance { +public: + + RTIRenderItemDistance() {} + virtual ~RTIRenderItemDistance() {} + +protected: + virtual inline double computeDistance(const RenderItem * lhs, const RenderItem * rhs) const { + if (typeid(*lhs) == typeid(*rhs)) { + //std::cerr << typeid(*lhs).name() << " and " << typeid(*rhs).name() << "are comparable" << std::endl; + + return 0.0; + } + else { + //std::cerr << typeid(*lhs).name() << " and " << typeid(*rhs).name() << "not comparable" << std::endl; + return NOT_COMPARABLE_VALUE; + } + } + + +}; + + + +class ShapeXYDistance : public RenderItemDistance { + +public: + + ShapeXYDistance() {} + virtual ~ShapeXYDistance() {} + +protected: + + virtual inline double computeDistance(const Shape * lhs, const Shape * rhs) const { + return (meanSquaredError(lhs->x, rhs->x) + meanSquaredError(lhs->y, rhs->y)) / 2; + } + +}; + + +class MasterRenderItemDistance : public RenderItemDistance { + +typedef std::map DistanceMetricMap; +public: + + MasterRenderItemDistance() {} + virtual ~MasterRenderItemDistance() { + for (DistanceMetricMap::iterator it = _distanceMetricMap.begin(); it != _distanceMetricMap.end(); ++it) + delete (it->second); + _distanceMetricMap.clear(); + } + + inline void addMetric(RenderItemDistanceMetric * fun) { + _distanceMetricMap[fun->typeIdPair()] = fun; + } + +protected: + virtual inline double computeDistance(const RenderItem * lhs, const RenderItem * rhs) const { + + RenderItemDistanceMetric * metric; + + TypeIdPair pair(typeid(lhs), typeid(rhs)); + + + // If specialized metric exists, use it to get higher granularity + // of correctness + if (_distanceMetricMap.count(pair)) { + metric = _distanceMetricMap[pair]; + } else if (_distanceMetricMap.count(pair = TypeIdPair(typeid(rhs), typeid(lhs)))) { + metric = _distanceMetricMap[pair]; + } else { // Failing that, use rtti && shape distance if its a shape type + + const double rttiError = _rttiDistance(lhs,rhs); + + /// @bug This is a non elegant approach to supporting shape distance + if (rttiError == 0 && _shapeXYDistance.supported(lhs,rhs)) + return _shapeXYDistance(lhs, rhs); + else return rttiError; + } + + return (*metric)(lhs, rhs); + } + +private: + mutable RTIRenderItemDistance _rttiDistance; + mutable ShapeXYDistance _shapeXYDistance; + mutable DistanceMetricMap _distanceMetricMap; +}; + +#endif /* RenderItemDISTANCEMETRIC_H_ */ diff --git a/src/libprojectM/Renderer/RenderItemMatcher.cpp b/src/libprojectM/Renderer/RenderItemMatcher.cpp new file mode 100644 index 0000000000..dca233284b --- /dev/null +++ b/src/libprojectM/Renderer/RenderItemMatcher.cpp @@ -0,0 +1,34 @@ +#include "RenderItemMatcher.hpp" + +double RenderItemMatcher::computeMatching(const RenderItemList & lhs, const RenderItemList & rhs) const { + for (unsigned int i = 0; i < lhs.size();i++) { + unsigned int j; + for (j = 0; j < rhs.size();j++) + _weights[i][j] = _distanceFunction(lhs[i], rhs[j]); + for (; j < lhs.size();j++) + _weights[i][j] = RenderItemDistanceMetric::NOT_COMPARABLE_VALUE; + } + + + const double error = _hungarianMethod(_weights, lhs.size()); + //std::cout << "[computeMatching] total error is " << error << std::endl; + return error; +} + + + +void RenderItemMatcher::setMatches + (const RenderItemList & lhs_src, const RenderItemList & rhs_src) const { + + for (unsigned int i = 0; i < lhs_src.size();i++) { + const int j = _hungarianMethod.matching(i); + + // hack + if (true || _weights[i][j] == RenderItemDistanceMetric::NOT_COMPARABLE_VALUE) { + _results.unmatchedLeft.push_back(lhs_src[i]); + _results.unmatchedRight.push_back(rhs_src[i]); + } else { + _results.matches.push_back(std::make_pair(lhs_src[i], rhs_src[j])); + } + } +} diff --git a/src/libprojectM/Renderer/RenderItemMatcher.hpp b/src/libprojectM/Renderer/RenderItemMatcher.hpp new file mode 100644 index 0000000000..d427add0a4 --- /dev/null +++ b/src/libprojectM/Renderer/RenderItemMatcher.hpp @@ -0,0 +1,77 @@ +/* + * RenderItemMatcher.hpp + * + * Created on: Feb 16, 2009 + * Author: struktured + */ + +#ifndef RenderItemMatcher_HPP +#define RenderItemMatcher_HPP + +#include "RenderItemDistanceMetric.hpp" +#include +#include +#include +#include "HungarianMethod.hpp" + +typedef std::vector > RenderItemMatchList; + +class MatchResults; + +class RenderItemMatcher : public std::binary_function { + +public: + +struct MatchResults { + RenderItemMatchList matches; + std::vector unmatchedLeft; + std::vector unmatchedRight; + + double error; +}; + + static const std::size_t MAXIMUM_SET_SIZE = 1000; + + /// Computes an optimal matching between two renderable item sets. + /// @param lhs the "left-hand side" list of render items. + /// @param rhs the "right-hand side" list of render items. + /// Sets a list of match pairs, possibly self referencing, and an error estimate of the matching. + inline virtual void operator()(const RenderItemList & lhs, const RenderItemList & rhs) const { + + // Ensure the first argument is greater than next to aid the helper function's logic. + if (lhs.size() >= rhs.size()) { + _results.error = computeMatching(lhs, rhs); + setMatches(lhs, rhs); + } else { + _results.error = computeMatching(rhs, lhs); + setMatches(rhs, lhs); + } + + + } + + RenderItemMatcher() {} + virtual ~RenderItemMatcher() {} + + inline MatchResults & matchResults() { return _results; } + + inline double weight(int i, int j) const { return _weights[i][j]; } + + MasterRenderItemDistance & distanceFunction() { return _distanceFunction; } + +private: + mutable HungarianMethod _hungarianMethod; + mutable double _weights[MAXIMUM_SET_SIZE][MAXIMUM_SET_SIZE]; + + mutable MatchResults _results; + + /// @idea interface this entirely allow overriding of its type. + mutable MasterRenderItemDistance _distanceFunction; + + double computeMatching(const RenderItemList & lhs, const RenderItemList & rhs) const; + + void setMatches(const RenderItemList & lhs_src, const RenderItemList & rhs_src) const; + +}; + +#endif diff --git a/src/libprojectM/Renderer/RenderItemMergeFunction.hpp b/src/libprojectM/Renderer/RenderItemMergeFunction.hpp new file mode 100644 index 0000000000..8467365762 --- /dev/null +++ b/src/libprojectM/Renderer/RenderItemMergeFunction.hpp @@ -0,0 +1,241 @@ +/* + * RenderItemMergeFunction.hpp + * + * Created on: Feb 16, 2009 + * Author: struktured + */ + +#ifndef RenderItemMergeFunction_HPP_ +#define RenderItemMergeFunction_HPP_ + +#include "Common.hpp" +#include "Renderable.hpp" +#include "Waveform.hpp" +#include +#include +#include + + +template +inline T interpolate(T a, T b, float ratio) +{ + return (ratio*a + (1-ratio)*b) * 0.5; +} + +template <> +inline int interpolate(int a, int b, float ratio) +{ + return (int)(ratio*(float)a + (1-ratio)*(float)b) * 0.5; +} + +template <> +inline bool interpolate(bool a, bool b, float ratio) +{ + return (ratio >= 0.5) ? a : b; +} + + +/// Merges two render items and returns zero if they are virtually equivalent and large values +/// when they are dissimilar. If two render items cannot be compared, NOT_COMPARABLE_VALUE is returned. +class RenderItemMergeFunction { +public: + virtual ~RenderItemMergeFunction() {} + virtual RenderItem * operator()(const RenderItem * r1, const RenderItem * r2, double ratio) const = 0; + virtual TypeIdPair typeIdPair() const = 0; +}; + +/// A base class to construct render item distance mergeFunctions. Just specify your two concrete +/// render item types as template parameters and override the computeMerge() function. +template +class RenderItemMerge : public RenderItemMergeFunction { + +protected: +/// Override to create your own distance mergeFunction for your specified custom types. +virtual R3 * computeMerge(const R1 * r1, const R2 * r2, double ratio) const = 0; + +public: + +inline virtual R3 * operator()(const RenderItem * r1, const RenderItem * r2, double ratio) const { + if (supported(r1, r2)) + return computeMerge(dynamic_cast(r1), dynamic_cast(r2), ratio); + else if (supported(r2,r1)) + return computeMerge(dynamic_cast(r2), dynamic_cast(r1), ratio); + else + return 0; +} + +/// Returns true if and only if r1 and r2 are of type R1 and R2 respectively. +inline bool supported(const RenderItem * r1, const RenderItem * r2) const { + return typeid(r1) == typeid(const R1 *) && typeid(r2) == typeid(const R2 *); +} + +inline TypeIdPair typeIdPair() const { + return TypeIdPair(typeid(const R1*).name(), typeid(const R2*).name()); +} + +}; + + +class ShapeMerge : public RenderItemMerge { + +public: + + ShapeMerge() {} + virtual ~ShapeMerge() {} + +protected: + + virtual inline Shape * computeMerge(const Shape * lhs, const Shape * rhs, double ratio) const { + + Shape * ret = new Shape(); + Shape & target = *ret; + + target.x = interpolate(lhs->x, rhs->x, ratio); + target.y = interpolate(lhs->y, rhs->y, ratio); + target.a = interpolate(lhs->a, rhs->a, ratio); + target.a2 = interpolate(lhs->a2, rhs->a2, ratio); + target.r = interpolate(lhs->r, rhs->r, ratio); + target.r2 = interpolate(lhs->r2, rhs->r2, ratio); + target.g = interpolate(lhs->g, rhs->g, ratio); + target.g2 = interpolate(lhs->g2, rhs->g2, ratio); + target.b = interpolate(lhs->b, rhs->b, ratio); + target.b2 = interpolate(lhs->b2, rhs->b2, ratio); + + target.ang = interpolate(lhs->ang, rhs->ang, ratio); + target.radius = interpolate(lhs->radius, rhs->radius, ratio); + + target.tex_ang = interpolate(lhs->tex_ang, rhs->tex_ang, ratio); + target.tex_zoom = interpolate(lhs->tex_zoom, rhs->tex_zoom, ratio); + + target.border_a = interpolate(lhs->border_a, rhs->border_a, ratio); + target.border_r = interpolate(lhs->border_r, rhs->border_r, ratio); + target.border_g = interpolate(lhs->border_g, rhs->border_g, ratio); + target.border_b = interpolate(lhs->border_b, rhs->border_b, ratio); + + target.sides = interpolate(lhs->sides, rhs->sides, ratio); + + target.additive = interpolate(lhs->additive, rhs->additive, ratio); + target.textured = interpolate(lhs->textured, rhs->textured, ratio); + target.thickOutline = interpolate(lhs->thickOutline, rhs->thickOutline, ratio); + target.enabled = interpolate(lhs->enabled, rhs->enabled, ratio); + + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + target.imageUrl = (ratio > 0.5) ? lhs->imageUrl : rhs->imageUrl; + + return ret; + } +}; + +class BorderMerge : public RenderItemMerge { + + public: + + BorderMerge() {} + virtual ~BorderMerge() {} + + protected: + + virtual inline Border * computeMerge(const Border * lhs, const Border * rhs, double ratio) const + { + Border * ret = new Border(); + + Border & target = *ret; + + target.inner_a = interpolate(lhs->inner_a, rhs->inner_a, ratio); + target.inner_r = interpolate(lhs->inner_r, rhs->inner_r, ratio); + target.inner_g = interpolate(lhs->inner_g, rhs->inner_g, ratio); + target.inner_b = interpolate(lhs->inner_b, rhs->inner_b, ratio); + target.inner_size = interpolate(lhs->inner_size, rhs->inner_size, ratio); + + target.outer_a = interpolate(lhs->outer_a, rhs->outer_a, ratio); + target.outer_r = interpolate(lhs->outer_r, rhs->outer_r, ratio); + target.outer_g = interpolate(lhs->outer_g, rhs->outer_g, ratio); + target.outer_b = interpolate(lhs->outer_b, rhs->outer_b, ratio); + target.outer_size = interpolate(lhs->outer_size, rhs->outer_size, ratio); + + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + + return ret; + } +}; + + +class WaveformMerge : public RenderItemMerge { + + public: + + WaveformMerge() {} + virtual ~WaveformMerge() {} + + protected: + + /// @BUG unimplemented + virtual inline Waveform * computeMerge(const Waveform * lhs, const Waveform * rhs, double ratio) const + { + return 0; +/* + Waveform * ret = new Waveform(); + Waveform & target = *ret; + + target.additive = interpolate(lhs->additive, rhs->additive, ratio); + target.dots = interpolate(lhs->dots, rhs->dots, ratio); + target.samples = (rhs->samples > lhs-> samples) ? lhs->samples : rhs->samples; + target.scaling = interpolate(lhs->scaling, rhs->scaling, ratio); + target.sep = interpolate(lhs->sep, rhs->sep, ratio); + target.smoothing = interpolate(lhs->smoothing, rhs->smoothing, ratio); + target.spectrum = interpolate(lhs->spectrum, rhs->spectrum, ratio); + target.thick = interpolate(lhs->thick, rhs->thick, ratio); + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + + return ret; +*/ + } +}; + + +/// Use as the top level merge function. It stores a map of all other +/// merge functions, using the function that fits best with the +/// incoming type parameters. +class MasterRenderItemMerge : public RenderItemMerge { + +typedef std::map MergeFunctionMap; +public: + + MasterRenderItemMerge() {} + virtual ~MasterRenderItemMerge() { + for (MergeFunctionMap::iterator it = _mergeFunctionMap.begin(); it != _mergeFunctionMap.end(); ++it) + delete (it->second); + _mergeFunctionMap.clear(); + } + + inline void add(RenderItemMergeFunction * fun) { + _mergeFunctionMap[fun->typeIdPair()] = fun; + } + +protected: + virtual inline RenderItem * computeMerge(const RenderItem * lhs, const RenderItem * rhs, double ratio) const { + + RenderItemMergeFunction * mergeFunction; + + TypeIdPair pair(typeid(lhs), typeid(rhs)); + if (_mergeFunctionMap.count(pair)) { + mergeFunction = _mergeFunctionMap[pair]; + } else if (_mergeFunctionMap.count(pair = TypeIdPair(typeid(rhs), typeid(lhs)))) { + mergeFunction = _mergeFunctionMap[pair]; + } else { + mergeFunction = 0; + } + + // If specialized mergeFunction exists, use it to get higher granularity + // of correctness + if (mergeFunction) + return (*mergeFunction)(lhs, rhs, ratio); + else + return 0; + } + +private: + mutable MergeFunctionMap _mergeFunctionMap; +}; + +#endif /* RenderItemMergeFunction_HPP_ */ diff --git a/src/libprojectM/Renderer/Renderable.cpp b/src/libprojectM/Renderer/Renderable.cpp new file mode 100644 index 0000000000..29c0f0d257 --- /dev/null +++ b/src/libprojectM/Renderer/Renderable.cpp @@ -0,0 +1,431 @@ + +#include "Common.hpp" +#include "Renderable.hpp" +#include "Texture.hpp" +#include +#include "ShaderEngine.hpp" +#include + +typedef float floatPair[2]; +typedef float floatTriple[3]; +typedef float floatQuad[4]; + +RenderContext::RenderContext() + : time(0),texsize(512), aspectRatio(1), aspectCorrect(false){}; + +RenderItem::RenderItem():masterAlpha(1){} + +void RenderItem::Init() { + glGenVertexArrays(1, &m_vaoID); + glGenBuffers(1, &m_vboID); + + glBindVertexArray(m_vaoID); + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + InitVertexAttrib(); + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); +} + +RenderItem::~RenderItem() { + glDeleteBuffers(1, &m_vboID); + glDeleteVertexArrays(1, &m_vaoID); +} + + +DarkenCenter::DarkenCenter():RenderItem(){ + Init(); +} + +MotionVectors::MotionVectors():RenderItem() { + Init(); +} + +Border::Border():RenderItem() { + Init(); +} + +void DarkenCenter::InitVertexAttrib() { + float points_colors[6][6] = { + { 0.5, 0.5, 0, 0, 0, (3.0f/32.0f) * masterAlpha}, + { 0.45, 0.5, 0, 0, 0, 0}, + { 0.5, 0.45, 0, 0, 0, 0}, + { 0.55, 0.5, 0, 0, 0, 0}, + { 0.5, 0.55, 0, 0, 0, 0}, + { 0.45, 0.5, 0, 0, 0, 0}}; + + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*6, (void*)0); // points + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, sizeof(float)*6, (void*)(sizeof(float)*2)); // colors + + glBufferData(GL_ARRAY_BUFFER, sizeof(points_colors), points_colors, GL_STATIC_DRAW); + +} + + +void DarkenCenter::Draw(RenderContext &context) + { + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glBindVertexArray(m_vaoID); + + glDrawArrays(GL_TRIANGLE_FAN,0,6); + + glBindVertexArray(0); +} + +Shape::Shape():RenderItem() +{ + sides = 4; + thickOutline = false; + enabled = true; + additive = false; + textured = false; + + tex_zoom = 1.0; + tex_ang = 0.0; + + x = 0.5; + y = 0.5; + radius = 1.0; + ang = 0.0; + + r = 0.0; /* red color value */ + g = 0.0; /* green color value */ + b = 0.0; /* blue color value */ + a = 0.0; /* alpha color value */ + + r2 = 0.0; /* red color value */ + g2 = 0.0; /* green color value */ + b2 = 0.0; /* blue color value */ + a2 = 0.0; /* alpha color value */ + + border_r = 0.0; /* red color value */ + border_g = 0.0; /* green color value */ + border_b = 0.0; /* blue color value */ + border_a = 0.0; /* alpha color value */ + + + glGenVertexArrays(1, &m_vaoID_texture); + glGenBuffers(1, &m_vboID_texture); + + glGenVertexArrays(1, &m_vaoID_not_texture); + glGenBuffers(1, &m_vboID_not_texture); + + glBindVertexArray(m_vaoID_texture); + glBindBuffer(GL_ARRAY_BUFFER, m_vboID_texture); + + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + glEnableVertexAttribArray(2); + + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(struct_data), (void*)0); // Positions + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, sizeof(struct_data), (void*)(sizeof(float)*2)); // Colors + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(struct_data), (void*)(sizeof(float)*6)); // Textures + + glBindVertexArray(m_vaoID_not_texture); + glBindBuffer(GL_ARRAY_BUFFER, m_vboID_not_texture); + + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(struct_data), (void*)0); // points + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, sizeof(struct_data), (void*)(sizeof(float)*2)); // Colors + + Init(); +} + +Shape::~Shape() { + glDeleteBuffers(1, &m_vboID_texture); + glDeleteVertexArrays(1, &m_vaoID_texture); + + glDeleteBuffers(1, &m_vboID_not_texture); + glDeleteVertexArrays(1, &m_vaoID_not_texture); +} + +void Shape::InitVertexAttrib() { + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); // points + glDisableVertexAttribArray(1); +} + + +void Shape::Draw(RenderContext &context) +{ + + float xval, yval; + float t; + + float temp_radius= radius*(.707*.707*.707*1.04); + + //Additive Drawing or Overwrite + if ( additive==0) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + else glBlendFunc(GL_SRC_ALPHA, GL_ONE); + + xval= x; + yval= -(y-1); + + struct_data *buffer_data = new struct_data[sides+2]; + + if ( textured) + { + if (imageUrl !="") + { + TextureSamplerDesc tex = context.textureManager->getTexture(imageUrl, GL_CLAMP_TO_EDGE, GL_LINEAR); + if (tex.first != NULL) + { + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, tex.first->texID); + glBindSampler(0, tex.second->samplerID); + + context.aspectRatio=1.0; + } + } + + + //Define the center point of the shape + buffer_data[0].color_r = r; + buffer_data[0].color_g = g; + buffer_data[0].color_b = b; + buffer_data[0].color_a = a * masterAlpha; + buffer_data[0].tex_x = 0.5; + buffer_data[0].tex_y = 0.5; + buffer_data[0].point_x = xval; + buffer_data[0].point_y = yval; + + for ( int i=1;i< sides+2;i++) + { + buffer_data[i].color_r=r2; + buffer_data[i].color_g=g2; + buffer_data[i].color_b=b2; + buffer_data[i].color_a=a2 * masterAlpha; + + t = (i-1)/(float) sides; + buffer_data[i].tex_x =0.5f + 0.5f*cosf(t*3.1415927f*2 + tex_ang + 3.1415927f*0.25f)*(context.aspectCorrect ? context.aspectRatio : 1.0)/ tex_zoom; + buffer_data[i].tex_y = 0.5f + 0.5f*sinf(t*3.1415927f*2 + tex_ang + 3.1415927f*0.25f)/ tex_zoom; + buffer_data[i].point_x=temp_radius*cosf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)*(context.aspectCorrect ? context.aspectRatio : 1.0)+xval; + buffer_data[i].point_y=temp_radius*sinf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)+yval; + + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID_texture); + + glBufferData(GL_ARRAY_BUFFER, sizeof(struct_data)*(sides+2), NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(struct_data)*(sides+2), buffer_data, GL_DYNAMIC_DRAW); + + glUseProgram(context.programID_v2f_c4f_t2f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_t2f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + glUniform1i(context.uniform_v2f_c4f_t2f_frag_texture_sampler, 0); + + glBindVertexArray(m_vaoID_texture); + glDrawArrays(GL_TRIANGLE_FAN, 0, sides+2); + glBindVertexArray(0); + } + else + {//Untextured (use color values) + + //Define the center point of the shape + buffer_data[0].color_r=r; + buffer_data[0].color_g=g; + buffer_data[0].color_b=b; + buffer_data[0].color_a=a * masterAlpha; + buffer_data[0].point_x=xval; + buffer_data[0].point_y=yval; + + + for ( int i=1;i< sides+2;i++) + { + buffer_data[i].color_r=r2; + buffer_data[i].color_g=g2; + buffer_data[i].color_b=b2; + buffer_data[i].color_a=a2 * masterAlpha; + t = (i-1)/(float) sides; + buffer_data[i].point_x=temp_radius*cosf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)*(context.aspectCorrect ? context.aspectRatio : 1.0)+xval; + buffer_data[i].point_y=temp_radius*sinf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)+yval; + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID_not_texture); + + glBufferData(GL_ARRAY_BUFFER, sizeof(struct_data)*(sides+2), NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(struct_data)*(sides+2), buffer_data, GL_DYNAMIC_DRAW); + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glBindVertexArray(m_vaoID_not_texture); + glDrawArrays(GL_TRIANGLE_FAN,0,sides+2); + glBindVertexArray(0); + } + + + floatPair *points = new float[sides+1][2]; + + for ( int i=0;i< sides;i++) + { + t = (i-1)/(float) sides; + points[i][0]= temp_radius*cosf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)*(context.aspectCorrect ? context.aspectRatio : 1.0)+xval; + points[i][1]= temp_radius*sinf(t*3.1415927f*2 + ang + 3.1415927f*0.25f)+yval; + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(floatPair)*(sides), NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(floatPair)*(sides), points, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glVertexAttrib4f(1, border_r, border_g, border_b, border_a * masterAlpha); + + if (thickOutline==1) glLineWidth(context.texsize < 512 ? 1 : 2*context.texsize/512); + + glBindVertexArray(m_vaoID); + glDrawArrays(GL_LINE_LOOP,0,sides); + glBindVertexArray(0); + + glBindTexture(GL_TEXTURE_2D, 0); + glBindSampler(0, 0); + + if (thickOutline==1) glLineWidth(context.texsize < 512 ? 1 : context.texsize/512); + + delete[] buffer_data; + delete[] points; +} + +void MotionVectors::InitVertexAttrib() { + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void MotionVectors::Draw(RenderContext &context) +{ + float intervalx=1.0/x_num; + float intervaly=1.0/y_num; + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + if (x_num + y_num < 600) + { + int size = x_num * y_num ; + + floatPair *points = new float[size][2]; + + for (int x=0;x<(int)x_num;x++) + { + for(int y=0;y<(int)y_num;y++) + { + float lx, ly; + lx = x_offset+x*intervalx; + ly = y_offset+y*intervaly; + + points[(x * (int)y_num) + y][0] = lx; + points[(x * (int)y_num) + y][1] = ly; + } + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(floatPair) * size, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(floatPair) * size, points, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + delete[] points; + + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + #ifndef GL_TRANSITION + if (length <= 0.0) { + glPointSize(1.0); + } else { + glPointSize(length); + } + #endif + + glUniform1f(context.uniform_v2f_c4f_vertex_point_size, length); + glVertexAttrib4f(1, r, g, b, a * masterAlpha); + + glBindVertexArray(m_vaoID); + + glDrawArrays(GL_POINTS,0,size); + + glBindVertexArray(0); + } +} + +void Border::InitVertexAttrib() { + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, (void*)0); + glDisableVertexAttribArray(1); +} + +void Border::Draw(RenderContext &context) +{ + //Draw Borders + float of=outer_size*.5; + float iff=inner_size*.5; + float texof=1.0-of; + + float points[40] = { + // Outer + 0,0, of,0, + 0,1, of,texof, + 1,1, texof,texof, + 1,0, texof,of, + of,0, of,of, + + // Inner + of,of, of+iff,of, + of,texof, of+iff,texof-iff, + texof,texof, texof-iff,texof-iff, + texof,of, texof-iff,of+iff, + of+iff,of, of+iff,of+iff, + }; + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 40, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 40, points, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + glVertexAttrib4f(1, outer_r, outer_g, outer_b, outer_a * masterAlpha); + + //no additive drawing for borders + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBindVertexArray(m_vaoID); + + glDrawArrays(GL_TRIANGLE_STRIP, 0, 10); + + glVertexAttrib4f(1, inner_r, inner_g, inner_b, inner_a * masterAlpha); + + // 1st pass for inner + glDrawArrays(GL_TRIANGLE_STRIP, 10, 10); + + // 2nd pass for inner + glDrawArrays(GL_TRIANGLE_STRIP, 10, 10); + + glBindVertexArray(0); +} diff --git a/src/libprojectM/Renderer/Renderable.hpp b/src/libprojectM/Renderer/Renderable.hpp new file mode 100644 index 0000000000..799125dbaf --- /dev/null +++ b/src/libprojectM/Renderer/Renderable.hpp @@ -0,0 +1,178 @@ +#ifndef Renderable_HPP +#define Renderable_HPP +#include +#include +#include "TextureManager.hpp" +#include "projectM-opengl.h" +#include + +class BeatDetect; + + +class RenderContext +{ +public: + float time; + int texsize; + float aspectRatio; + bool aspectCorrect; + BeatDetect *beatDetect; + TextureManager *textureManager; + GLuint programID_v2f_c4f; + GLuint programID_v2f_c4f_t2f; + GLint uniform_v2f_c4f_vertex_tranformation; + GLint uniform_v2f_c4f_vertex_point_size; + GLint uniform_v2f_c4f_t2f_vertex_tranformation; + GLint uniform_v2f_c4f_t2f_frag_texture_sampler; + glm::mat4 mat_ortho; + + RenderContext(); +}; + +class RenderItem +{ +public: + RenderItem(); + ~RenderItem(); + + float masterAlpha; + virtual void InitVertexAttrib() = 0; + virtual void Draw(RenderContext &context) = 0; + +protected: + virtual void Init(); + + GLuint m_vboID; + GLuint m_vaoID; +}; + +typedef std::vector RenderItemList; + +class DarkenCenter : public RenderItem +{ +public: + DarkenCenter(); + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +class Shape : public RenderItem +{ +public: + std::string imageUrl; + int sides; + bool thickOutline; + bool enabled; + bool additive; + bool textured; + + float tex_zoom; + float tex_ang; + + float x; /* x position */ + float y; /* y position */ + float radius; + float ang; + + float r; /* red color value */ + float g; /* green color value */ + float b; /* blue color value */ + float a; /* alpha color value */ + + float r2; /* red color value */ + float g2; /* green color value */ + float b2; /* blue color value */ + float a2; /* alpha color value */ + + float border_r; /* red color value */ + float border_g; /* green color value */ + float border_b; /* blue color value */ + float border_a; /* alpha color value */ + + + Shape(); + ~Shape(); + void InitVertexAttrib(); + virtual void Draw(RenderContext &context); + +private: + + struct struct_data { + float point_x; + float point_y; + float color_r; + float color_g; + float color_b; + float color_a; + float tex_x; + float tex_y; + }; + + GLuint m_vboID_texture; + GLuint m_vaoID_texture; + + GLuint m_vboID_not_texture; + GLuint m_vaoID_not_texture; +}; + +class Text : RenderItem +{ +}; + +class MotionVectors : public RenderItem +{ +public: + float r; + float g; + float b; + float a; + float length; + float x_num; + float y_num; + float x_offset; + float y_offset; + + void InitVertexAttrib(); + void Draw(RenderContext &context); + MotionVectors(); +}; + +class Border : public RenderItem +{ +public: + float outer_size; + float outer_r; + float outer_g; + float outer_b; + float outer_a; + + float inner_size; + float inner_r; + float inner_g; + float inner_b; + float inner_a; + + void InitVertexAttrib(); + void Draw(RenderContext &context); + Border(); +}; + +struct TypeIdPair { + TypeIdPair(const std::type_info & info1, const std::type_info & info2): id1(info1.name()), id2(info2.name()) {} + TypeIdPair(const std::string & _id1, const std::string & _id2): id1(_id1), id2(_id2) {} + std::string id1; + std::string id2; + inline bool operator<(const TypeIdPair & rhs) const { + return this->id1 < rhs.id1 || (this->id1 == rhs.id1 && this->id2 < rhs.id2); + } + + inline bool operator>(const TypeIdPair & rhs) const { + return !operator<(rhs) && !operator==(rhs); + } + + inline bool operator==(const TypeIdPair & rhs) const { + return this->id1 == rhs.id1 && this->id2 == rhs.id2; + } +}; + +#endif diff --git a/src/libprojectM/Renderer/Renderer.cpp b/src/libprojectM/Renderer/Renderer.cpp new file mode 100644 index 0000000000..7b46f79527 --- /dev/null +++ b/src/libprojectM/Renderer/Renderer.cpp @@ -0,0 +1,1058 @@ +#include "Renderer.hpp" +#include "wipemalloc.h" +#include "math.h" +#include "Common.hpp" +#include "KeyHandler.hpp" +#include "TextureManager.hpp" +#include +#include +#include +#include +#include "omptl/omptl" +#include "omptl/omptl_algorithm" +#include +#include + + +Pipeline* Renderer::currentPipe; + +class Preset; + +Renderer::Renderer(int width, int height, int gx, int gy, BeatDetect *_beatDetect, std::string _presetURL, + std::string _titlefontURL, std::string _menufontURL, const std::string& datadir) : + mesh(gx, gy), m_presetName("None"), m_datadir(datadir), vw(width), vh(height), + title_fontURL(_titlefontURL), menu_fontURL(_menufontURL), presetURL(_presetURL) +{ + this->totalframes = 1; + this->noSwitch = false; + this->showfps = false; + this->showtitle = false; + this->showpreset = false; + this->showhelp = false; + this->showstats = false; + this->studio = false; + this->realfps = 0; + /* Set up the v xoffset and vy offset to 0 which is normal Only used for VR */ + this->vstartx = 0; + this->vstarty = 0; + + this->drawtitle = 0; + + //this->title = "Unknown"; + + /** Other stuff... */ + this->correction = true; + + /// @bug put these on member init list + this->textureManager = NULL; + this->beatDetect = _beatDetect; + + textureRenderToTexture = 0; + +#ifdef USE_FTGL + /** Load the standard fonts if they do exist */ + struct stat buffer; + + if (stat( title_fontURL.c_str(), &buffer )) { + std::cout << "Could not open font file: " << title_fontURL << std::endl; + exit(1); + } + if (stat( menu_fontURL.c_str(), &buffer )) { + std::cout << "Could not open font file: " << menu_fontURL << std::endl; + exit(1); + } + + title_font = new FTGLPixmapFont(title_fontURL.c_str()); + other_font = new FTGLPixmapFont(menu_fontURL.c_str()); + poly_font = new FTGLExtrdFont(title_fontURL.c_str()); + + if(title_font->Error()) { + fprintf(stderr, "Failed to open font %s\n", title_fontURL.c_str()); + } else { + title_font->UseDisplayList(true); + } + + other_font->UseDisplayList(true); + + if(poly_font->Error()) { + fprintf(stderr, "Failed to open font %s\n", title_fontURL.c_str()); + } else { + poly_font->UseDisplayList(true); + poly_font->Depth(20); + poly_font->FaceSize(72); + } + +#endif /** USE_FTGL */ + + + int size = (mesh.height - 1) *mesh.width * 4 * 2; + p = ( float * ) wipemalloc ( size * sizeof ( float ) ); + + + for (int j = 0; j < mesh.height - 1; j++) + { + int base = j * mesh.width * 4 * 2; + + + for (int i = 0; i < mesh.width; i++) + { + int index = j * mesh.width + i; + int index2 = (j + 1) * mesh.width + i; + + int strip = base + i * 8; + p[strip + 0] = mesh.identity[index].x; + p[strip + 1] = mesh.identity[index].y; + + p[strip + 4] = mesh.identity[index2].x; + p[strip + 5] = mesh.identity[index2].y; + } + } + + renderContext.programID_v2f_c4f = shaderEngine.programID_v2f_c4f; + renderContext.programID_v2f_c4f_t2f = shaderEngine.programID_v2f_c4f_t2f; + + renderContext.uniform_v2f_c4f_vertex_tranformation = shaderEngine.uniform_v2f_c4f_vertex_tranformation; + renderContext.uniform_v2f_c4f_vertex_point_size = shaderEngine.uniform_v2f_c4f_vertex_point_size; + renderContext.uniform_v2f_c4f_t2f_vertex_tranformation = shaderEngine.uniform_v2f_c4f_t2f_vertex_tranformation; + renderContext.uniform_v2f_c4f_t2f_frag_texture_sampler = shaderEngine.uniform_v2f_c4f_t2f_frag_texture_sampler; + + // Interpolation VAO/VBO's + glGenBuffers(1, &m_vbo_Interpolation); + glGenVertexArrays(1, &m_vao_Interpolation); + + glBindVertexArray(m_vao_Interpolation); + glBindBuffer(GL_ARRAY_BUFFER, m_vbo_Interpolation); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)0); // Positions + + glDisableVertexAttribArray(1); + + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)(sizeof(float)*2)); // Textures + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + + // CompositeOutput VAO/VBO's + glGenBuffers(1, &m_vbo_CompositeOutput); + glGenVertexArrays(1, &m_vao_CompositeOutput); + + float composite_buffer_data[8][2] = + { + { -0.5, -0.5 }, + { 0, 1 }, + { -0.5, 0.5 }, + { 0, 0 }, + { 0.5, 0.5 }, + { 1, 0 }, + { 0.5, -0.5 }, + { 1, 1 } }; + + + glBindVertexArray(m_vao_CompositeOutput); + glBindBuffer(GL_ARRAY_BUFFER, m_vbo_CompositeOutput); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 8 * 2, composite_buffer_data, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)0); // Positions + + glDisableVertexAttribArray(1); + + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)(sizeof(float)*2)); // Textures + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + + + // CompositeShaderOutput VAO/VBO's + glGenBuffers(1, &m_vbo_CompositeShaderOutput); + glGenVertexArrays(1, &m_vao_CompositeShaderOutput); + + glBindVertexArray(m_vao_CompositeShaderOutput); + glBindBuffer(GL_ARRAY_BUFFER, m_vbo_CompositeShaderOutput); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(composite_shader_vertex), (void*)0); // Positions + + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, sizeof(composite_shader_vertex), (void*)(sizeof(float)*2)); // Colors + + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(composite_shader_vertex), (void*)(sizeof(float)*6)); // UV + + glEnableVertexAttribArray(3); + glVertexAttribPointer(3, 2, GL_FLOAT, GL_FALSE, sizeof(composite_shader_vertex), (void*)(sizeof(float)*8)); // RAD ANG + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); +} + +std::string Renderer::SetPipeline(Pipeline &pipeline) +{ + currentPipe = &pipeline; + shaderEngine.reset(); + if (!shaderEngine.loadPresetShaders(pipeline, m_presetName)) { + return "Shader compilation error"; + } + + return std::string(); +} + +void Renderer::ResetTextures() +{ + textureManager->Clear(); + + reset(vw, vh); + + textureManager->Preload(); +} + +void Renderer::SetupPass1(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + totalframes++; + glViewport(0, 0, texsizeX, texsizeY); + + renderContext.mat_ortho = glm::ortho(0.0f, 1.0f, 0.0f, 1.0f, -40.0f, 40.0f); +} + +void Renderer::RenderItems(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + renderContext.time = pipelineContext.time; + renderContext.texsize = nearestPower2(std::max(texsizeX, texsizeY)); + renderContext.aspectCorrect = correction; + renderContext.aspectRatio = aspect; + renderContext.textureManager = textureManager; + renderContext.beatDetect = beatDetect; + + for (std::vector::const_iterator pos = pipeline.drawables.begin(); pos != pipeline.drawables.end(); ++pos) + { + if (*pos != NULL) + { + (*pos)->Draw(renderContext); + } + } +} + +void Renderer::FinishPass1() +{ + draw_title_to_texture(); + + textureManager->updateMainTexture(); +} + +void Renderer::Pass2(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + //BEGIN PASS 2 + // + //end of texture rendering + //now we copy the texture from the FBO or framebuffer to + //video texture memory and render fullscreen. + + /** Reset the viewport size */ + if (textureRenderToTexture) + { + glViewport(0, 0, texsizeX, texsizeY); + } + else + glViewport(vstartx, vstarty, this->vw, this->vh); + + if (shaderEngine.enableCompositeShader(currentPipe->compositeShader, pipeline, pipelineContext)) { + CompositeShaderOutput(pipeline, pipelineContext); + } else { + CompositeOutput(pipeline, pipelineContext); + } + +/* FTGL does not support OpenGL ES +#ifndef EMSCRIPTEN + glMatrixMode(GL_MODELVIEW); +#endif + glLoadIdentity(); + glTranslatef(-0.5, -0.5, 0); + + // When console refreshes, there is a chance the preset has been changed by the user + refreshConsole(); + draw_title_to_screen(false); + if (this->showhelp % 2) + draw_help(); + if (this->showtitle % 2) + draw_title(); + if (this->showfps % 2) + draw_fps(this->realfps); + if (this->showpreset % 2) + draw_preset(); + if (this->showstats % 2) + draw_stats(); + glTranslatef(0.5, 0.5, 0); +*/ + + if (textureRenderToTexture) { + glBindTexture(GL_TEXTURE_2D, textureRenderToTexture); + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texsizeX, texsizeY); + glBindTexture(GL_TEXTURE_2D, 0); + } +} + +void Renderer::RenderFrame(const Pipeline &pipeline, +const PipelineContext &pipelineContext) +{ + RenderFrameOnlyPass1(pipeline,pipelineContext); + + Pass2(pipeline, pipelineContext); +} + +void Renderer::RenderFrameOnlyPass1(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + shaderEngine.RenderBlurTextures(pipeline, pipelineContext); + + SetupPass1(pipeline, pipelineContext); + + Interpolation(pipeline, pipelineContext); + + RenderItems(pipeline, pipelineContext); + + FinishPass1(); +} + + +void Renderer::RenderFrameOnlyPass2(const Pipeline &pipeline, const PipelineContext &pipelineContext,int xoffset,int yoffset,int eye) +{ + /* draw in a certain range of the screen */ + vstartx = xoffset; + vstarty = yoffset; + // ignore eye + Pass2(pipeline, pipelineContext); + vstartx = 0; + vstarty = 0; +} + + + + +void Renderer::Interpolation(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureManager->getMainTexture()->texID); + + //Texture wrapping( clamp vs. wrap) + if (pipeline.textureWrap == 0) + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + } + else + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + } + + int size = (mesh.height - 1) * mesh.width * 4 * 2; + + if (pipeline.staticPerPixel) + { + for (int j = 0; j < mesh.height - 1; j++) + { + int base = j * mesh.width * 2 * 4; + + for (int i = 0; i < mesh.width; i++) + { + int strip = base + i * 8; + p[strip + 2] = pipeline.x_mesh[i][j]; + p[strip + 3] = pipeline.y_mesh[i][j]; + + p[strip + 6] = pipeline.x_mesh[i][j+1]; + p[strip + 7] = pipeline.y_mesh[i][j+1]; + } + } + + } + else + { + mesh.Reset(); + omptl::transform(mesh.p.begin(), mesh.p.end(), mesh.identity.begin(), mesh.p.begin(), &Renderer::PerPixel); + + for (int j = 0; j < mesh.height - 1; j++) + { + int base = j * mesh.width * 2 * 4; + + for (int i = 0; i < mesh.width; i++) + { + int strip = base + i * 8; + int index = j * mesh.width + i; + int index2 = (j + 1) * mesh.width + i; + + p[strip + 2] = mesh.p[index].x; + p[strip + 3] = mesh.p[index].y; + + p[strip + 6] = mesh.p[index2].x; + p[strip + 7] = mesh.p[index2].y; + + + } + } + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vbo_Interpolation); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * size, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * size, p, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + shaderEngine.enableWarpShader(currentPipe->warpShader, pipeline, pipelineContext, renderContext.mat_ortho); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, pipeline.screenDecay); + + glBlendFunc(GL_SRC_ALPHA, GL_ZERO); + + glBindVertexArray(m_vao_Interpolation); + + for (int j = 0; j < mesh.height - 1; j++) + glDrawArrays(GL_TRIANGLE_STRIP,j* mesh.width* 2,mesh.width*2); + + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBindTexture(GL_TEXTURE_2D, 0); +} + +Renderer::~Renderer() +{ + + if (textureManager) + delete (textureManager); + + //std::cerr << "grid assign end" << std::endl; + + free(p); + +#ifdef USE_FTGL + // std::cerr << "freeing title fonts" << std::endl; + if (title_font) + delete title_font; + if (poly_font) + delete poly_font; + if (other_font) + delete other_font; + // std::cerr << "freeing title fonts finished" << std::endl; +#endif + // std::cerr << "exiting destructor" << std::endl; + + glDeleteBuffers(1, &m_vbo_Interpolation); + glDeleteVertexArrays(1, &m_vao_Interpolation); + + glDeleteBuffers(1, &m_vbo_CompositeOutput); + glDeleteVertexArrays(1, &m_vao_CompositeOutput); + + glDeleteTextures(1, &textureRenderToTexture); +} + +void Renderer::reset(int w, int h) +{ + aspect = (float) h / (float) w; + this -> vw = w; + this -> vh = h; + + glCullFace(GL_BACK); + +#ifndef GL_TRANSITION + glEnable(GL_LINE_SMOOTH); +#endif + + glClearColor(0, 0, 0, 0); + + glViewport(vstartx,vstarty, w, h); + + glEnable(GL_BLEND); + + texsizeX = w; + texsizeY = h; + + // snap to 16x16 blocks + texsizeX = ((texsizeX-15)/16)*16; + texsizeY = ((texsizeY-15)/16)*16; + + m_fAspectX = (texsizeY > texsizeX) ? (float)texsizeX/(float)texsizeY : 1.0f; + m_fAspectY = (texsizeX > texsizeY) ? (float)texsizeY/(float)texsizeX : 1.0f; + m_fInvAspectX = 1.0f/m_fAspectX; + m_fInvAspectY = 1.0f/m_fAspectY; + + InitCompositeShaderVertex(); + + if (textureManager != NULL) { + delete textureManager; + } + textureManager = new TextureManager(presetURL, texsizeX, texsizeY, m_datadir); + + shaderEngine.setParams(texsizeX, texsizeY, beatDetect, textureManager); + shaderEngine.reset(); + shaderEngine.loadPresetShaders(*currentPipe, m_presetName); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glClear(GL_COLOR_BUFFER_BIT); +} + +GLuint Renderer::initRenderToTexture() +{ + if (textureRenderToTexture == 0) { + glGenTextures(1, &textureRenderToTexture); + glBindTexture(GL_TEXTURE_2D, textureRenderToTexture); + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, texsizeX, texsizeY, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL ); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glBindTexture(GL_TEXTURE_2D, 0); + } + + return textureRenderToTexture; +} + +void Renderer::draw_title_to_texture() +{ +#ifdef USE_FTGL + if (this->drawtitle > 100) + { + draw_title_to_screen(true); + this->drawtitle = 0; + } +#endif /** USE_FTGL */ +} + +float title_y; + +void Renderer::draw_title_to_screen(bool flip) +{ + +#ifdef USE_FTGL + if (this->drawtitle > 0) + { + + glEnable(GL_DEPTH_TEST); + glClear(GL_DEPTH_BUFFER_BIT); + + int draw; + if (drawtitle >= 80) + draw = 80; + else + draw = drawtitle; + + float easein = ((80 - draw) * .0125); + float easein2 = easein * easein; + + if (drawtitle == 1) + { + title_y = (float) rand() / RAND_MAX; + title_y *= 2; + title_y -= 1; + title_y *= .6; + } + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + //glBlendFunc(GL_SRC_ALPHA_SATURATE,GL_ONE); + glColor4f(1.0, 1.0, 1.0, 1.0); + + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + + glFrustum(-1, 1, -1 * (float) vh / (float) vw, 1 * (float) vh / (float) vw, 1, 1000); + if (flip) + glScalef(1, -1, 1); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); + + glTranslatef(-850, title_y * 850 * vh / vw, easein2 * 900 - 900); + + glRotatef(easein2 * 360, 1, 0, 0); + + poly_font->Render(this->title.c_str()); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + this->drawtitle++; + + glPopMatrix(); + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + + glMatrixMode(GL_MODELVIEW); + + glDisable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + + glDisable(GL_COLOR_MATERIAL); + + glDisable(GL_LIGHTING); + glDisable(GL_POLYGON_SMOOTH); + } +#endif /** USE_FTGL */ +} + +void Renderer::draw_title() +{ +#ifdef USE_FTGL + //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); + + glColor4f(1.0, 1.0, 1.0, 1.0); + // glPushMatrix(); + // glTranslatef(this->vw*.001,this->vh*.03, -1); + // glScalef(this->vw*.015,this->vh*.025,0); + + glRasterPos2f(0.01, 0.05); + title_font->FaceSize((unsigned) (20 * (this->vh / 512.0))); + + title_font->Render(this->title.c_str()); + // glPopMatrix(); + //glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + +#endif /** USE_FTGL */ +} + +void Renderer::draw_preset() +{ +#ifdef USE_FTGL + //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); + + glColor4f(1.0, 1.0, 1.0, 1.0); + // glPushMatrix(); + //glTranslatef(this->vw*.001,this->vh*-.01, -1); + //glScalef(this->vw*.003,this->vh*.004,0); + + + glRasterPos2f(0.01, 0.01); + + title_font->FaceSize((unsigned) (12 * (this->vh / 512.0))); + if (this->noSwitch) + title_font->Render("[LOCKED] "); + title_font->FaceSize((unsigned) (20 * (this->vh / 512.0))); + + title_font->Render(this->presetName().c_str()); + + //glPopMatrix(); + // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); +#endif /** USE_FTGL */ +} + +void Renderer::draw_help() +{ + +#ifdef USE_FTGL + //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); + + glColor4f(1.0, 1.0, 1.0, 1.0); + glPushMatrix(); + glTranslatef(0, 1, 0); + //glScalef(this->vw*.02,this->vh*.02 ,0); + + + title_font->FaceSize((unsigned) (18 * (this->vh / 512.0))); + + glRasterPos2f(0.01, -0.05); + title_font->Render("Help"); + + glRasterPos2f(0.01, -0.09); + title_font->Render("----------------------------"); + + glRasterPos2f(0.01, -0.13); + title_font->Render("F1: This help menu"); + + glRasterPos2f(0.01, -0.17); + title_font->Render("F2: Show song title"); + + glRasterPos2f(0.01, -0.21); + title_font->Render("F3: Show preset name"); + + glRasterPos2f(0.01, -0.25); + title_font->Render("F4: Show Rendering Settings"); + + glRasterPos2f(0.01, -0.29); + title_font->Render("F5: Show FPS"); + + glRasterPos2f(0.01, -0.35); + title_font->Render("F: Fullscreen"); + + glRasterPos2f(0.01, -0.39); + title_font->Render("L: Lock/Unlock Preset"); + + glRasterPos2f(0.01, -0.43); + title_font->Render("M: Show Menu"); + + glRasterPos2f(0.01, -0.49); + title_font->Render("R: Random preset"); + glRasterPos2f(0.01, -0.53); + title_font->Render("N: Next preset"); + + glRasterPos2f(0.01, -0.57); + title_font->Render("P: Previous preset"); + + glPopMatrix(); + // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + +#endif /** USE_FTGL */ +} + +void Renderer::draw_stats() +{ + +#ifdef USE_FTGL + char buffer[128]; + float offset = (this->showfps % 2 ? -0.05 : 0.0); + // glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); + + glColor4f(1.0, 1.0, 1.0, 1.0); + glPushMatrix(); + glTranslatef(0.01, 1, 0); + glRasterPos2f(0, -.05 + offset); + other_font->Render(this->correction ? " aspect: corrected" : " aspect: stretched"); + sprintf(buffer, " (%f)", this->aspect); + other_font->Render(buffer); + + glRasterPos2f(0, -.09 + offset); + other_font->FaceSize((unsigned) (18 * (vh / 512.0))); + + sprintf(buffer, " texsize: %d", renderTarget->texsize); + other_font->Render(buffer); + + glRasterPos2f(0, -.13 + offset); + sprintf(buffer, " viewport: +%d,%d %d x %d", vstartx,vstarty,vw, vh); + + other_font->Render(buffer); + glRasterPos2f(0, -.17 + offset); + other_font->Render((renderTarget->useFBO ? " FBO: on" : " FBO: off")); + + glRasterPos2f(0, -.21 + offset); + sprintf(buffer, " mesh: %d x %d", mesh.width, mesh.height); + other_font->Render(buffer); + + glRasterPos2f(0, -.25 + offset); + sprintf(buffer, " textures: %.1fkB", textureManager->getTextureMemorySize() / 1000.0f); + other_font->Render(buffer); + + glRasterPos2f(0, -.29 + offset); + sprintf(buffer, "shader profile: %s", shaderEngine.profileName.c_str()); + other_font->Render(buffer); + + glRasterPos2f(0, -.33 + offset); + sprintf(buffer, " warp shader: %s", currentPipe->warpShader.enabled ? "on" : "off"); + other_font->Render(buffer); + + glRasterPos2f(0, -.37 + offset); + sprintf(buffer, " comp shader: %s", currentPipe->compositeShader.enabled ? "on" : "off"); + other_font->Render(buffer); + + glPopMatrix(); + // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + + +#endif /** USE_FTGL */ +} +void Renderer::draw_fps() +{ +#ifdef USE_FTGL + char bufferfps[20]; + sprintf(bufferfps, "%.1f fps", realfps); + // glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); + + glColor4f(1.0, 1.0, 1.0, 1.0); + glPushMatrix(); + glTranslatef(0.01, 1, 0); + glRasterPos2f(0, -0.05); + title_font->FaceSize((unsigned) (20 * (this->vh / 512.0))); + title_font->Render(bufferfps); + + glPopMatrix(); + // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + +#endif /** USE_FTGL */ +} + +void Renderer::CompositeOutput(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureManager->getMainTexture()->texID); + + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + renderContext.mat_ortho = glm::ortho(-0.5f, 0.5f, -0.5f, 0.5f, -40.0f, 40.0f); + + shaderEngine.enableCompositeShader(currentPipe->compositeShader, pipeline, pipelineContext); + + glUniformMatrix4fv(shaderEngine.uniform_v2f_c4f_t2f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(renderContext.mat_ortho)); + glUniform1i(shaderEngine.uniform_v2f_c4f_t2f_frag_texture_sampler, 0); + + //Overwrite anything on the screen + glBlendFunc(GL_ONE, GL_ZERO); + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + + glBindVertexArray(m_vao_CompositeOutput); + + glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + for (std::vector::const_iterator pos = pipeline.compositeDrawables.begin(); pos + != pipeline.compositeDrawables.end(); ++pos) + (*pos)->Draw(renderContext); + + glBindTexture(GL_TEXTURE_2D, 0); +} + +/** + * Calculates the nearest power of two to the given number using the + * appropriate rule + */ +int Renderer::nearestPower2( int value ) { + + int x = value; + int power = 0; + + if ( x == 0 ) { + return 0; + } + + while ( ( x & 0x01 ) != 1 ) { + x >>= 1; + } + + if ( x == 1 ) { + return value; + } else { + x = value; + while ( x != 0 ) { + x >>= 1; + power++; + } + if ( ( ( 1 << power ) - value ) <= ( value - ( 1 << ( power - 1 ) ) ) ) { + return 1 << power; + } else { + return 1 << ( power - 1 ); + } + } + return 0; +} + +float Renderer::SquishToCenter(float x, float fExp) +{ + if (x > 0.5f) + return powf(x*2-1, fExp)*0.5f + 0.5f; + + return (1-powf(1-x*2, fExp))*0.5f; +} + +void Renderer::UvToMathSpace(float u, float v, float* rad, float* ang) +{ + // (screen space = -1..1 on both axes; corresponds to UV space) + // uv space = [0..1] on both axes + // "math" space = what the preset authors are used to: + // upper left = [0,0] + // bottom right = [1,1] + // rad == 1 at corners of screen + // ang == 0 at three o'clock, and increases counter-clockwise (to 6.28). + float px = (u*2-1) * m_fAspectX; // probably 1.0 + float py = (v*2-1) * m_fAspectY; // probably <1 + + *rad = sqrtf(px*px + py*py) / sqrtf(m_fAspectX*m_fAspectX + m_fAspectY*m_fAspectY); + *ang = atan2f(py, px); + if (*ang < 0) + *ang += 6.2831853071796f; +} + +void Renderer::InitCompositeShaderVertex() { + + // BUILD VERTEX LIST for final composite blit + memset(m_comp_verts, 0, sizeof(composite_shader_vertex)*FCGSX*FCGSY); + float fDivX = 1.0f / (float)(FCGSX-2); + float fDivY = 1.0f / (float)(FCGSY-2); + for (int j=0; jx = sx; + pComp->y = sy; + + float rad, ang; + UvToMathSpace( u, v, &rad, &ang ); + // fix-ups: + if (i==FCGSX/2-1) { + if (j < FCGSY/2-1) + ang = 3.1415926535898f*1.5f; + else if (j == FCGSY/2-1) + ang = 3.1415926535898f*1.25f; + else if (j == FCGSY/2) + ang = 3.1415926535898f*0.75f; + else + ang = 3.1415926535898f*0.5f; + } + else if (i==FCGSX/2) { + if (j < FCGSY/2-1) + ang = 3.1415926535898f*1.5f; + else if (j == FCGSY/2-1) + ang = 3.1415926535898f*1.75f; + else if (j == FCGSY/2) + ang = 3.1415926535898f*0.25f; + else + ang = 3.1415926535898f*0.5f; + } + else if (j==FCGSY/2-1) { + if (i < FCGSX/2-1) + ang = 3.1415926535898f*1.0f; + else if (i == FCGSX/2-1) + ang = 3.1415926535898f*1.25f; + else if (i == FCGSX/2) + ang = 3.1415926535898f*1.75f; + else + ang = 3.1415926535898f*2.0f; + } + else if (j==FCGSY/2) { + if (i < FCGSX/2-1) + ang = 3.1415926535898f*1.0f; + else if (i == FCGSX/2-1) + ang = 3.1415926535898f*0.75f; + else if (i == FCGSX/2) + ang = 3.1415926535898f*0.25f; + else + ang = 3.1415926535898f*0.0f; + } + pComp->tu = u; + pComp->tv = v; + + pComp->rad = rad; + pComp->ang = ang; + } + } + + // build index list for final composite blit - + // order should be friendly for interpolation of 'ang' value! + int* cur_index = &m_comp_indices[0]; + for (int y=0; y shade[i][1]) ? shade[i][0] : shade[i][1]); + if (shade[i][2] > max) max = shade[i][2]; + for (int k=0; k<3; k++) + { + shade[i][k] /= max; + shade[i][k] = 0.5f + 0.5f*shade[i][k]; + } + } + + // interpolate the 4 colors & apply to all the verts + for (int j=0; jx*0.5f + 0.5f; + float y = pComp->y*0.5f + 0.5f; + + float col[3] = { 1, 1, 1 }; + for (int c=0; c<3; c++) + col[c] = shade[0][c]*( x)*( y) + + shade[1][c]*(1-x)*( y) + + shade[2][c]*( x)*(1-y) + + shade[3][c]*(1-x)*(1-y); + + pComp->Diffuse[0] = col[0]; + pComp->Diffuse[1] = col[1]; + pComp->Diffuse[2] = col[2]; + pComp->Diffuse[3] = 1.0; + } + } + + + const int primCount = (FCGSX-2)*(FCGSY-2)*6; + composite_shader_vertex tempv[primCount]; + memset(tempv, 0, sizeof(composite_shader_vertex) * primCount); + int src_idx = 0; + for (int i=0; i +#include +#include "projectM-opengl.h" +#include "Pipeline.hpp" +#include "PerPixelMesh.hpp" +#include "Transformation.hpp" +#include "ShaderEngine.hpp" + +#ifdef USE_FTGL +#ifdef WIN32 +#include +#include +#include +#else +#include +#endif +#endif /** USE_FTGL */ + +// for final composite grid: +#define FCGSX 32 // final composite gridsize - # verts - should be EVEN. +#define FCGSY 24 // final composite gridsize - # verts - should be EVEN. + // # of grid *cells* is two less, + // since we have redundant verts along the center line in X and Y (...for clean 'ang' interp) +typedef struct +{ + float x, y; // screen position + Z-buffer depth + float Diffuse[4]; // diffuse color + float tu, tv; // DYNAMIC + float rad, ang; // STATIC +} composite_shader_vertex; + + +class Texture; +class BeatDetect; +class TextureManager; + +class Renderer +{ + +public: + + bool showfps; + bool showtitle; + bool showpreset; + bool showhelp; + bool showstats; + + bool studio; + bool correction; + + bool noSwitch; + + int totalframes; + float realfps; + + std::string title; + int drawtitle; + int texsizeX; + int texsizeY; + float m_fAspectX; + float m_fAspectY; + float m_fInvAspectX; + float m_fInvAspectY; + + Renderer(int width, int height, int gx, int gy, BeatDetect *_beatDetect, std::string presetURL, std::string title_fontURL, std::string menu_fontURL, const std::string& datadir = ""); + ~Renderer(); + + void RenderFrame(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void RenderFrameOnlyPass1(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void RenderFrameOnlyPass2(const Pipeline &pipeline, const PipelineContext &pipelineContext,int xoffset,int yoffset,int eye); + void ResetTextures(); + void reset(int w, int h); + GLuint initRenderToTexture(); + + + std::string SetPipeline(Pipeline &pipeline); + + void setPresetName(const std::string& theValue) + { + m_presetName = theValue; + } + + std::string presetName() const + { + return m_presetName; + } + +private: + + PerPixelMesh mesh; + BeatDetect *beatDetect; + TextureManager *textureManager; + static Pipeline* currentPipe; + RenderContext renderContext; + //per pixel equation variables + ShaderEngine shaderEngine; + std::string m_presetName; + std::string m_datadir; + + float* p; + + int vstartx; /* view start x position - normally 0, but could be different if doing a subset of the window - like + for virtual reality */ + int vstarty; /* view start y position - normally 0, but could be different if doing a subset of the window - like + for virtual reality */ + /* these are currently set only for rendering to the screen, not to the textbuffer */ + + int vw; + int vh; + + float aspect; + + std::string title_fontURL; + std::string menu_fontURL; + std::string presetURL; + + GLuint m_vbo_Interpolation; + GLuint m_vao_Interpolation; + + GLuint m_vbo_CompositeOutput; + GLuint m_vao_CompositeOutput; + + GLuint m_vbo_CompositeShaderOutput; + GLuint m_vao_CompositeShaderOutput; + +#ifdef USE_FTGL + FTGLPixmapFont *title_font; + FTGLPixmapFont *other_font; + FTGLExtrdFont *poly_font; +#endif /** USE_FTGL */ + + void SetupPass1(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void Interpolation(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void RenderItems(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void FinishPass1(); + void Pass2 (const Pipeline &pipeline, const PipelineContext &pipelineContext); + void CompositeShaderOutput(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void CompositeOutput(const Pipeline &pipeline, const PipelineContext &pipelineContext); + + inline static PixelPoint PerPixel(PixelPoint p, PerPixelContext &context) + { + return currentPipe->PerPixel(p,context); + } + + void rescale_per_pixel_matrices(); + + void draw_fps(); + void draw_stats(); + void draw_help(); + void draw_preset(); + void draw_title(); + void draw_title_to_screen(bool flip); + void draw_title_to_texture(); + + int nearestPower2( int value ); + + GLuint textureRenderToTexture; + + void InitCompositeShaderVertex(); + float SquishToCenter(float x, float fExp); + void UvToMathSpace(float u, float v, float* rad, float* ang); + composite_shader_vertex m_comp_verts[FCGSX*FCGSY]; + int m_comp_indices[(FCGSX-2)*(FCGSY-2)*6]; + +}; + +#endif diff --git a/src/libprojectM/Renderer/Renderer.xcodeproj/project.pbxproj b/src/libprojectM/Renderer/Renderer.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..ca544e3bf9 --- /dev/null +++ b/src/libprojectM/Renderer/Renderer.xcodeproj/project.pbxproj @@ -0,0 +1,449 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 16BFF38B1F7A9A180063C312 /* BeatDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF37A1F77B5EE0063C312 /* BeatDetect.cpp */; }; + 16BFF38C1F7A9A180063C312 /* FBO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3701F77B5EC0063C312 /* FBO.cpp */; }; + 16BFF38D1F7A9A180063C312 /* Filters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3731F77B5EC0063C312 /* Filters.cpp */; }; + 16BFF38E1F7A9A180063C312 /* MilkdropWaveform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3761F77B5ED0063C312 /* MilkdropWaveform.cpp */; }; + 16BFF38F1F7A9A180063C312 /* PerlinNoise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3771F77B5ED0063C312 /* PerlinNoise.cpp */; }; + 16BFF3901F7A9A180063C312 /* PerPixelMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF37E1F77B5EF0063C312 /* PerPixelMesh.cpp */; }; + 16BFF3911F7A9A180063C312 /* Pipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3621F77B5EA0063C312 /* Pipeline.cpp */; }; + 16BFF3921F7A9A180063C312 /* PipelineContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3811F77B5F00063C312 /* PipelineContext.cpp */; }; + 16BFF3931F7A9A180063C312 /* Renderable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3631F77B5EB0063C312 /* Renderable.cpp */; }; + 16BFF3941F7A9A180063C312 /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3641F77B5EB0063C312 /* Renderer.cpp */; }; + 16BFF3951F7A9A180063C312 /* RenderItemDistanceMetric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3741F77B5EC0063C312 /* RenderItemDistanceMetric.cpp */; }; + 16BFF3961F7A9A180063C312 /* RenderItemMatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3661F77B5EB0063C312 /* RenderItemMatcher.cpp */; }; + 16BFF3971F7A9A180063C312 /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF35F1F77B5EA0063C312 /* Shader.cpp */; }; + 16BFF3981F7A9A180063C312 /* ShaderEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF37B1F77B5EE0063C312 /* ShaderEngine.cpp */; }; + 16BFF3991F7A9A180063C312 /* TextureManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF36A1F77B5EB0063C312 /* TextureManager.cpp */; }; + 16BFF39A1F7A9A180063C312 /* UserTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3791F77B5EE0063C312 /* UserTexture.cpp */; }; + 16BFF39B1F7A9A180063C312 /* VideoEcho.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF3781F77B5ED0063C312 /* VideoEcho.cpp */; }; + 16BFF39C1F7A9A180063C312 /* Waveform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16BFF37C1F77B5EE0063C312 /* Waveform.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 16BFF3591F77B5EA0063C312 /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = SOURCE_ROOT; }; + 16BFF35A1F77B5EA0063C312 /* Transformation.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Transformation.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF35B1F77B5EA0063C312 /* RenderItemDistanceMetric.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = RenderItemDistanceMetric.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF35C1F77B5EA0063C312 /* PerPixelMesh.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PerPixelMesh.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF35D1F77B5EA0063C312 /* Pipeline.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Pipeline.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF35E1F77B5EA0063C312 /* PipelineContext.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PipelineContext.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF35F1F77B5EA0063C312 /* Shader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Shader.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3601F77B5EA0063C312 /* VideoEcho.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = VideoEcho.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3611F77B5EA0063C312 /* MilkdropWaveform.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MilkdropWaveform.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3621F77B5EA0063C312 /* Pipeline.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Pipeline.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3631F77B5EB0063C312 /* Renderable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Renderable.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3641F77B5EB0063C312 /* Renderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Renderer.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3651F77B5EB0063C312 /* Renderer.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Renderer.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3661F77B5EB0063C312 /* RenderItemMatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RenderItemMatcher.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3671F77B5EB0063C312 /* Shader.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Shader.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3681F77B5EB0063C312 /* Waveform.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Waveform.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3691F77B5EB0063C312 /* Renderable.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Renderable.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF36A1F77B5EB0063C312 /* TextureManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureManager.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF36B1F77B5EB0063C312 /* BeatDetect.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = BeatDetect.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF36C1F77B5EB0063C312 /* SOIL2 */ = {isa = PBXFileReference; lastKnownFileType = folder; path = SOIL2; sourceTree = SOURCE_ROOT; }; + 16BFF36D1F77B5EB0063C312 /* RenderItemMatcher.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = RenderItemMatcher.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF36E1F77B5EB0063C312 /* UserTexture.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = UserTexture.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF36F1F77B5EC0063C312 /* TextureManager.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = TextureManager.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3701F77B5EC0063C312 /* FBO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FBO.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3721F77B5EC0063C312 /* PerlinNoise.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PerlinNoise.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3731F77B5EC0063C312 /* Filters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Filters.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3741F77B5EC0063C312 /* RenderItemDistanceMetric.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RenderItemDistanceMetric.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3751F77B5ED0063C312 /* FBO.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = FBO.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3761F77B5ED0063C312 /* MilkdropWaveform.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MilkdropWaveform.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3771F77B5ED0063C312 /* PerlinNoise.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PerlinNoise.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3781F77B5ED0063C312 /* VideoEcho.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VideoEcho.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3791F77B5EE0063C312 /* UserTexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UserTexture.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF37A1F77B5EE0063C312 /* BeatDetect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BeatDetect.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF37B1F77B5EE0063C312 /* ShaderEngine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderEngine.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF37C1F77B5EE0063C312 /* Waveform.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Waveform.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF37D1F77B5EF0063C312 /* Filters.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Filters.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF37E1F77B5EF0063C312 /* PerPixelMesh.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PerPixelMesh.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF37F1F77B5EF0063C312 /* RenderItemMergeFunction.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = RenderItemMergeFunction.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3801F77B5F00063C312 /* ShaderEngine.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ShaderEngine.hpp; sourceTree = SOURCE_ROOT; }; + 16BFF3811F77B5F00063C312 /* PipelineContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PipelineContext.cpp; sourceTree = SOURCE_ROOT; }; + 16BFF3821F7A99840063C312 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 16BFF3871F7A99EB0063C312 /* liblibRenderer xcode.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "liblibRenderer xcode.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 16BFF39D1F7A9BF20063C312 /* projectM.cg */ = {isa = PBXFileReference; lastKnownFileType = text; path = projectM.cg; sourceTree = ""; }; + 16BFF39E1F7A9BFB0063C312 /* blur.cg */ = {isa = PBXFileReference; lastKnownFileType = text; path = blur.cg; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 16BFF3841F7A99EB0063C312 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 16BFF3441F77B4240063C312 = { + isa = PBXGroup; + children = ( + 16BFF39D1F7A9BF20063C312 /* projectM.cg */, + 16BFF39E1F7A9BFB0063C312 /* blur.cg */, + 16BFF3821F7A99840063C312 /* Makefile */, + 16BFF3581F77B5E00063C312 /* Source */, + 16BFF34E1F77B4240063C312 /* Products */, + ); + sourceTree = ""; + }; + 16BFF34E1F77B4240063C312 /* Products */ = { + isa = PBXGroup; + children = ( + 16BFF3871F7A99EB0063C312 /* liblibRenderer xcode.a */, + ); + name = Products; + sourceTree = ""; + }; + 16BFF3581F77B5E00063C312 /* Source */ = { + isa = PBXGroup; + children = ( + 16BFF37A1F77B5EE0063C312 /* BeatDetect.cpp */, + 16BFF36B1F77B5EB0063C312 /* BeatDetect.hpp */, + 16BFF3591F77B5EA0063C312 /* config.h */, + 16BFF3701F77B5EC0063C312 /* FBO.cpp */, + 16BFF3751F77B5ED0063C312 /* FBO.hpp */, + 16BFF3731F77B5EC0063C312 /* Filters.cpp */, + 16BFF37D1F77B5EF0063C312 /* Filters.hpp */, + 16BFF3761F77B5ED0063C312 /* MilkdropWaveform.cpp */, + 16BFF3611F77B5EA0063C312 /* MilkdropWaveform.hpp */, + 16BFF3771F77B5ED0063C312 /* PerlinNoise.cpp */, + 16BFF3721F77B5EC0063C312 /* PerlinNoise.hpp */, + 16BFF37E1F77B5EF0063C312 /* PerPixelMesh.cpp */, + 16BFF35C1F77B5EA0063C312 /* PerPixelMesh.hpp */, + 16BFF3621F77B5EA0063C312 /* Pipeline.cpp */, + 16BFF35D1F77B5EA0063C312 /* Pipeline.hpp */, + 16BFF3811F77B5F00063C312 /* PipelineContext.cpp */, + 16BFF35E1F77B5EA0063C312 /* PipelineContext.hpp */, + 16BFF3631F77B5EB0063C312 /* Renderable.cpp */, + 16BFF3691F77B5EB0063C312 /* Renderable.hpp */, + 16BFF3641F77B5EB0063C312 /* Renderer.cpp */, + 16BFF3651F77B5EB0063C312 /* Renderer.hpp */, + 16BFF3741F77B5EC0063C312 /* RenderItemDistanceMetric.cpp */, + 16BFF35B1F77B5EA0063C312 /* RenderItemDistanceMetric.hpp */, + 16BFF3661F77B5EB0063C312 /* RenderItemMatcher.cpp */, + 16BFF36D1F77B5EB0063C312 /* RenderItemMatcher.hpp */, + 16BFF37F1F77B5EF0063C312 /* RenderItemMergeFunction.hpp */, + 16BFF35F1F77B5EA0063C312 /* Shader.cpp */, + 16BFF3671F77B5EB0063C312 /* Shader.hpp */, + 16BFF37B1F77B5EE0063C312 /* ShaderEngine.cpp */, + 16BFF3801F77B5F00063C312 /* ShaderEngine.hpp */, + 16BFF36C1F77B5EB0063C312 /* SOIL2 */, + 16BFF36A1F77B5EB0063C312 /* TextureManager.cpp */, + 16BFF36F1F77B5EC0063C312 /* TextureManager.hpp */, + 16BFF35A1F77B5EA0063C312 /* Transformation.hpp */, + 16BFF3791F77B5EE0063C312 /* UserTexture.cpp */, + 16BFF36E1F77B5EB0063C312 /* UserTexture.hpp */, + 16BFF3781F77B5ED0063C312 /* VideoEcho.cpp */, + 16BFF3601F77B5EA0063C312 /* VideoEcho.hpp */, + 16BFF37C1F77B5EE0063C312 /* Waveform.cpp */, + 16BFF3681F77B5EB0063C312 /* Waveform.hpp */, + ); + path = Source; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 16BFF3851F7A99EB0063C312 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXLegacyTarget section */ + 16BFF3541F77B5510063C312 /* libRenderer make */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = 16BFF3551F77B5510063C312 /* Build configuration list for PBXLegacyTarget "libRenderer make" */; + buildPhases = ( + ); + buildToolPath = /usr/bin/make; + dependencies = ( + ); + name = "libRenderer make"; + passBuildSettingsInEnvironment = 1; + productName = libRenderer; + }; +/* End PBXLegacyTarget section */ + +/* Begin PBXNativeTarget section */ + 16BFF3861F7A99EB0063C312 /* libRenderer xcode */ = { + isa = PBXNativeTarget; + buildConfigurationList = 16BFF3881F7A99EB0063C312 /* Build configuration list for PBXNativeTarget "libRenderer xcode" */; + buildPhases = ( + 16BFF3831F7A99EB0063C312 /* Sources */, + 16BFF3841F7A99EB0063C312 /* Frameworks */, + 16BFF3851F7A99EB0063C312 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "libRenderer xcode"; + productName = "libRenderer xcode"; + productReference = 16BFF3871F7A99EB0063C312 /* liblibRenderer xcode.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 16BFF3451F77B4240063C312 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0900; + ORGANIZATIONNAME = projectM; + TargetAttributes = { + 16BFF3541F77B5510063C312 = { + CreatedOnToolsVersion = 9.0; + ProvisioningStyle = Automatic; + }; + 16BFF3861F7A99EB0063C312 = { + CreatedOnToolsVersion = 9.0; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 16BFF3481F77B4240063C312 /* Build configuration list for PBXProject "Renderer" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 16BFF3441F77B4240063C312; + productRefGroup = 16BFF34E1F77B4240063C312 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 16BFF3541F77B5510063C312 /* libRenderer make */, + 16BFF3861F7A99EB0063C312 /* libRenderer xcode */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 16BFF3831F7A99EB0063C312 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 16BFF3941F7A9A180063C312 /* Renderer.cpp in Sources */, + 16BFF38B1F7A9A180063C312 /* BeatDetect.cpp in Sources */, + 16BFF38C1F7A9A180063C312 /* FBO.cpp in Sources */, + 16BFF38D1F7A9A180063C312 /* Filters.cpp in Sources */, + 16BFF38E1F7A9A180063C312 /* MilkdropWaveform.cpp in Sources */, + 16BFF38F1F7A9A180063C312 /* PerlinNoise.cpp in Sources */, + 16BFF3901F7A9A180063C312 /* PerPixelMesh.cpp in Sources */, + 16BFF3911F7A9A180063C312 /* Pipeline.cpp in Sources */, + 16BFF3921F7A9A180063C312 /* PipelineContext.cpp in Sources */, + 16BFF3931F7A9A180063C312 /* Renderable.cpp in Sources */, + 16BFF3951F7A9A180063C312 /* RenderItemDistanceMetric.cpp in Sources */, + 16BFF3961F7A9A180063C312 /* RenderItemMatcher.cpp in Sources */, + 16BFF3971F7A9A180063C312 /* Shader.cpp in Sources */, + 16BFF3981F7A9A180063C312 /* ShaderEngine.cpp in Sources */, + 16BFF3991F7A9A180063C312 /* TextureManager.cpp in Sources */, + 16BFF39A1F7A9A180063C312 /* UserTexture.cpp in Sources */, + 16BFF39B1F7A9A180063C312 /* VideoEcho.cpp in Sources */, + 16BFF39C1F7A9A180063C312 /* Waveform.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 16BFF34F1F77B4240063C312 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 16BFF3501F77B4240063C312 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + }; + name = Release; + }; + 16BFF3561F77B5510063C312 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 16BFF3571F77B5510063C312 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 16BFF3891F7A99EB0063C312 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + PRODUCT_NAME = "$(TARGET_NAME)"; + USER_HEADER_SEARCH_PATHS = "${PROJECT_DIR}/.. /usr/local/include/**"; + }; + name = Debug; + }; + 16BFF38A1F7A99EB0063C312 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + PRODUCT_NAME = "$(TARGET_NAME)"; + USER_HEADER_SEARCH_PATHS = "${PROJECT_DIR}/.. /usr/local/include/**"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 16BFF3481F77B4240063C312 /* Build configuration list for PBXProject "Renderer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16BFF34F1F77B4240063C312 /* Debug */, + 16BFF3501F77B4240063C312 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16BFF3551F77B5510063C312 /* Build configuration list for PBXLegacyTarget "libRenderer make" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16BFF3561F77B5510063C312 /* Debug */, + 16BFF3571F77B5510063C312 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16BFF3881F7A99EB0063C312 /* Build configuration list for PBXNativeTarget "libRenderer xcode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16BFF3891F7A99EB0063C312 /* Debug */, + 16BFF38A1F7A99EB0063C312 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 16BFF3451F77B4240063C312 /* Project object */; +} diff --git a/src/libprojectM/Renderer/SOIL2/SOIL2.c b/src/libprojectM/Renderer/SOIL2/SOIL2.c new file mode 100644 index 0000000000..64dbf27ad0 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/SOIL2.c @@ -0,0 +1,2996 @@ +/* + Fork by Martin Lucas Golini + + Original author + Jonathan Dummer + 2007-07-26-10.36 + + Simple OpenGL Image Library 2 + + Public Domain + using Sean Barret's stb_image as a base + + Thanks to: + * Sean Barret - for the awesome stb_image + * Dan Venkitachalam - for finding some non-compliant DDS files, and patching some explicit casts + * everybody at gamedev.net +*/ + +#define SOIL_CHECK_FOR_GL_ERRORS 0 + +#if defined( __APPLE_CC__ ) || defined ( __APPLE__ ) + #include + + #if defined( __IPHONE__ ) || ( defined( TARGET_OS_IPHONE ) && TARGET_OS_IPHONE ) || ( defined( TARGET_IPHONE_SIMULATOR ) && TARGET_IPHONE_SIMULATOR ) + #define SOIL_PLATFORM_IOS + #include + #else + #define SOIL_PLATFORM_OSX + #endif +#elif defined( __ANDROID__ ) || defined( ANDROID ) + #define SOIL_PLATFORM_ANDROID +#elif ( defined ( linux ) || defined( __linux__ ) || defined( __FreeBSD__ ) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined( __DragonFly__ ) || defined( __SVR4 ) ) + #define SOIL_X11_PLATFORM +#endif + +#if ( defined( SOIL_PLATFORM_IOS ) || defined( SOIL_PLATFORM_ANDROID ) ) && ( !defined( SOIL_GLES1 ) && !defined( SOIL_GLES2 ) ) + #define SOIL_GLES2 +#endif + +#if ( defined( SOIL_GLES2 ) || defined( SOIL_GLES1 ) ) && !defined( SOIL_NO_EGL ) && !defined( SOIL_PLATFORM_IOS ) + #include +#endif + +#if defined( SOIL_GLES2 ) + #ifdef SOIL_PLATFORM_IOS + #include + #include + #else + #include + #include + #endif + + #define APIENTRY GL_APIENTRY +#elif defined( SOIL_GLES1 ) + #ifndef GL_GLEXT_PROTOTYPES + #define GL_GLEXT_PROTOTYPES + #endif + #ifdef SOIL_PLATFORM_IOS + #include + #include + #else + #include + #include + #endif + + #define APIENTRY GL_APIENTRY +#else + +#if defined( __WIN32__ ) || defined( _WIN32 ) || defined( WIN32 ) + #define SOIL_PLATFORM_WIN32 + #define WIN32_LEAN_AND_MEAN + #include + #include + #include + + #ifndef GL_UNSIGNED_SHORT_4_4_4_4 + #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 + #endif + #ifndef GL_UNSIGNED_SHORT_5_5_5_1 + #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 + #endif + #ifndef GL_UNSIGNED_SHORT_5_6_5 + #define GL_UNSIGNED_SHORT_5_6_5 0x8363 + #endif +#elif defined(__APPLE__) || defined(__APPLE_CC__) + /* I can't test this Apple stuff! */ + #include + #include + #define APIENTRY +#elif defined( SOIL_X11_PLATFORM ) + #include + #include +#else + #include +#endif + +#endif + +#ifndef GL_BGRA +#define GL_BGRA 0x80E1 +#endif + +#ifndef GL_RG +#define GL_RG 0x8227 +#endif + +#include "SOIL2.h" +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" +#define STB_IMAGE_WRITE_IMPLEMENTATION +#include "stb_image_write.h" +#include "image_helper.h" +#include "image_DXT.h" +#include "pvr_helper.h" +#include "pkm_helper.h" + +#include +#include + +/* error reporting */ +const char *result_string_pointer = "SOIL initialized"; + +/* for loading cube maps */ +enum{ + SOIL_CAPABILITY_UNKNOWN = -1, + SOIL_CAPABILITY_NONE = 0, + SOIL_CAPABILITY_PRESENT = 1 +}; +static int has_cubemap_capability = SOIL_CAPABILITY_UNKNOWN; +int query_cubemap_capability( void ); +#define SOIL_TEXTURE_WRAP_R 0x8072 +#define SOIL_CLAMP_TO_EDGE 0x812F +#define SOIL_NORMAL_MAP 0x8511 +#define SOIL_REFLECTION_MAP 0x8512 +#define SOIL_TEXTURE_CUBE_MAP 0x8513 +#define SOIL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define SOIL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define SOIL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define SOIL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define SOIL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define SOIL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define SOIL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +/* for non-power-of-two texture */ +#define SOIL_IS_POW2( v ) ( ( v & ( v - 1 ) ) == 0 ) +static int has_NPOT_capability = SOIL_CAPABILITY_UNKNOWN; +int query_NPOT_capability( void ); +/* for texture rectangles */ +static int has_tex_rectangle_capability = SOIL_CAPABILITY_UNKNOWN; +int query_tex_rectangle_capability( void ); +#define SOIL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define SOIL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 +/* for using DXT compression */ +static int has_DXT_capability = SOIL_CAPABILITY_UNKNOWN; +int query_DXT_capability( void ); +#define SOIL_RGB_S3TC_DXT1 0x83F0 +#define SOIL_RGBA_S3TC_DXT1 0x83F1 +#define SOIL_RGBA_S3TC_DXT3 0x83F2 +#define SOIL_RGBA_S3TC_DXT5 0x83F3 +typedef void (APIENTRY * P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); +static P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC soilGlCompressedTexImage2D = NULL; + +typedef void (APIENTRY *P_SOIL_GLGENERATEMIPMAPPROC)(GLenum target); +static P_SOIL_GLGENERATEMIPMAPPROC soilGlGenerateMipmap = NULL; + +static int has_gen_mipmap_capability = SOIL_CAPABILITY_UNKNOWN; +static int query_gen_mipmap_capability( void ); + +static int has_PVR_capability = SOIL_CAPABILITY_UNKNOWN; +int query_PVR_capability( void ); +static int has_BGRA8888_capability = SOIL_CAPABILITY_UNKNOWN; +int query_BGRA8888_capability( void ); +static int has_ETC1_capability = SOIL_CAPABILITY_UNKNOWN; +int query_ETC1_capability( void ); + +/* GL_IMG_texture_compression_pvrtc */ +#define SOIL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#define SOIL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 +#define SOIL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#define SOIL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 +#define SOIL_GL_ETC1_RGB8_OES 0x8D64 + +#if defined( SOIL_X11_PLATFORM ) || defined( SOIL_PLATFORM_WIN32 ) || defined( SOIL_PLATFORM_OSX ) +typedef const GLubyte *(APIENTRY * P_SOIL_glGetStringiFunc) (GLenum, GLuint); +static P_SOIL_glGetStringiFunc soilGlGetStringiFunc = NULL; + +static int isAtLeastGL3() +{ + static int is_gl3 = SOIL_CAPABILITY_UNKNOWN; + + if ( SOIL_CAPABILITY_UNKNOWN == is_gl3 ) + { + const char * verstr = (const char *) glGetString( GL_VERSION ); + is_gl3 = ( verstr && ( atoi(verstr) >= 3 ) ); + } + + return is_gl3; +} +#endif + +#ifdef SOIL_PLATFORM_WIN32 +static int soilTestWinProcPointer(const PROC pTest) +{ + ptrdiff_t iTest; + if(!pTest) return 0; + iTest = (ptrdiff_t)pTest; + if(iTest == 1 || iTest == 2 || iTest == 3 || iTest == -1) return 0; + return 1; +} +#endif + +void * SOIL_GL_GetProcAddress(const char *proc) +{ + void *func = NULL; + +#if defined( SOIL_PLATFORM_IOS ) + func = dlsym( RTLD_DEFAULT, proc ); +#elif defined( SOIL_GLES2 ) || defined( SOIL_GLES1 ) + #ifndef SOIL_NO_EGL + func = eglGetProcAddress( proc ); + #else + func = NULL; + #endif +#elif defined( SOIL_PLATFORM_WIN32 ) + func = wglGetProcAddress( proc ); + + if (!soilTestWinProcPointer((const PROC)func)) + func = NULL; +#elif defined( SOIL_PLATFORM_OSX ) + /* I can't test this Apple stuff! */ + CFBundleRef bundle; + CFURLRef bundleURL = + CFURLCreateWithFileSystemPath( + kCFAllocatorDefault, + CFSTR("/System/Library/Frameworks/OpenGL.framework"), + kCFURLPOSIXPathStyle, + true ); + CFStringRef extensionName = + CFStringCreateWithCString( + kCFAllocatorDefault, + proc, + kCFStringEncodingASCII ); + bundle = CFBundleCreate( kCFAllocatorDefault, bundleURL ); + assert( bundle != NULL ); + + func = CFBundleGetFunctionPointerForName( bundle, extensionName ); + + CFRelease( bundleURL ); + CFRelease( extensionName ); + CFRelease( bundle ); +#elif defined( SOIL_X11_PLATFORM ) + func = +#if !defined(GLX_VERSION_1_4) + glXGetProcAddressARB +#else + glXGetProcAddress +#endif + ( (const GLubyte *)proc ); +#endif + + return func; +} + +/* Based on the SDL2 implementation */ +int SOIL_GL_ExtensionSupported(const char *extension) +{ + const char *extensions; + const char *start; + const char *where, *terminator; + + /* Extension names should not have spaces. */ + where = strchr(extension, ' '); + + if (where || *extension == '\0') + { + return 0; + } + + #if defined( SOIL_X11_PLATFORM ) || defined( SOIL_PLATFORM_WIN32 ) || defined( SOIL_PLATFORM_OSX ) + /* Lookup the available extensions */ + if ( isAtLeastGL3() ) + { + GLint num_exts = 0; + GLint i; + + if ( NULL == soilGlGetStringiFunc ) + { + soilGlGetStringiFunc = (P_SOIL_glGetStringiFunc)SOIL_GL_GetProcAddress("glGetStringi"); + + if ( NULL == soilGlGetStringiFunc ) + { + return 0; + } + } + + #ifndef GL_NUM_EXTENSIONS + #define GL_NUM_EXTENSIONS 0x821D + #endif + glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts); + for (i = 0; i < num_exts; i++) + { + const char *thisext = (const char *) soilGlGetStringiFunc(GL_EXTENSIONS, i); + + if (strcmp(thisext, extension) == 0) + { + return 1; + } + } + + return 0; + } + #endif + + /* Try the old way with glGetString(GL_EXTENSIONS) ... */ + extensions = (const char *) glGetString(GL_EXTENSIONS); + + if (!extensions) + { + return 0; + } + + /* + * It takes a bit of care to be fool-proof about parsing the OpenGL + * extensions string. Don't be fooled by sub-strings, etc. + */ + start = extensions; + + for (;;) { + where = strstr(start, extension); + + if (!where) + break; + + terminator = where + strlen(extension); + + if (where == start || *(where - 1) == ' ') + if (*terminator == ' ' || *terminator == '\0') + return 1; + + start = terminator; + } + + return 0; +} + +/* other functions */ +unsigned int + SOIL_internal_create_OGL_texture + ( + const unsigned char *const data, + int *width, int *height, int channels, + unsigned int reuse_texture_ID, + unsigned int flags, + unsigned int opengl_texture_type, + unsigned int opengl_texture_target, + unsigned int texture_check_size_enum + ); + +/* and the code magic begins here [8^) */ +unsigned int + SOIL_load_OGL_texture + ( + const char *filename, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags, + int *width, + int *height + ) +{ + /* variables */ + unsigned char* img; + int channels; + unsigned int tex_id; + /* does the user want direct uploading of the image as a DDS file? */ + if( flags & SOIL_FLAG_DDS_LOAD_DIRECT ) + { + /* 1st try direct loading of the image as a DDS file + note: direct uploading will only load what is in the + DDS file, no MIPmaps will be generated, the image will + not be flipped, etc. */ + tex_id = SOIL_direct_load_DDS( filename, reuse_texture_ID, flags, 0 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if( flags & SOIL_FLAG_PVR_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_PVR( filename, reuse_texture_ID, flags, 0 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if( flags & SOIL_FLAG_ETC1_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_ETC1( filename, reuse_texture_ID, flags ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + /* try to load the image */ + img = SOIL_load_image( filename, width, height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* OK, make it a texture! */ + tex_id = SOIL_internal_create_OGL_texture( + img, width, height, channels, + reuse_texture_ID, flags, + GL_TEXTURE_2D, GL_TEXTURE_2D, + GL_MAX_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_load_OGL_HDR_texture + ( + const char *filename, + int fake_HDR_format, + int rescale_to_max, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* img = NULL; + int width, height, channels; + unsigned int tex_id; + /* no direct uploading of the image as a DDS file */ + /* error check */ + if( (fake_HDR_format != SOIL_HDR_RGBE) && + (fake_HDR_format != SOIL_HDR_RGBdivA) && + (fake_HDR_format != SOIL_HDR_RGBdivA2) ) + { + result_string_pointer = "Invalid fake HDR format specified"; + return 0; + } + + /* check if the image is HDR */ + if ( stbi_is_hdr( filename ) ) + { + /* try to load the image (only the HDR type) */ + img = stbi_load( filename, &width, &height, &channels, 4 ); + } + + /* channels holds the original number of channels, which may have been forced */ + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* the load worked, do I need to convert it? */ + if( fake_HDR_format == SOIL_HDR_RGBdivA ) + { + RGBE_to_RGBdivA( img, width, height, rescale_to_max ); + } else if( fake_HDR_format == SOIL_HDR_RGBdivA2 ) + { + RGBE_to_RGBdivA2( img, width, height, rescale_to_max ); + } + /* OK, make it a texture! */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + reuse_texture_ID, flags, + GL_TEXTURE_2D, GL_TEXTURE_2D, + GL_MAX_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_load_OGL_texture_from_memory + ( + const unsigned char *const buffer, + unsigned int buffer_length, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags, + int * width, + int * height + ) +{ + /* variables */ + unsigned char* img; + int channels; + unsigned int tex_id; + /* does the user want direct uploading of the image as a DDS file? */ + if( flags & SOIL_FLAG_DDS_LOAD_DIRECT ) + { + /* 1st try direct loading of the image as a DDS file + note: direct uploading will only load what is in the + DDS file, no MIPmaps will be generated, the image will + not be flipped, etc. */ + tex_id = SOIL_direct_load_DDS_from_memory( + buffer, buffer_length, + reuse_texture_ID, flags, 0 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if( flags & SOIL_FLAG_PVR_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_PVR_from_memory( + buffer, buffer_length, + reuse_texture_ID, flags, 0 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if( flags & SOIL_FLAG_ETC1_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_ETC1_from_memory( + buffer, buffer_length, + reuse_texture_ID, flags ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + /* try to load the image */ + img = SOIL_load_image_from_memory( + buffer, buffer_length, + width, height, &channels, + force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* OK, make it a texture! */ + tex_id = SOIL_internal_create_OGL_texture( + img, width, height, channels, + reuse_texture_ID, flags, + GL_TEXTURE_2D, GL_TEXTURE_2D, + GL_MAX_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_load_OGL_cubemap + ( + const char *x_pos_file, + const char *x_neg_file, + const char *y_pos_file, + const char *y_neg_file, + const char *z_pos_file, + const char *z_neg_file, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* img; + int width, height, channels; + unsigned int tex_id; + /* error checking */ + if( (x_pos_file == NULL) || + (x_neg_file == NULL) || + (y_pos_file == NULL) || + (y_neg_file == NULL) || + (z_pos_file == NULL) || + (z_neg_file == NULL) ) + { + result_string_pointer = "Invalid cube map files list"; + return 0; + } + /* capability checking */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + result_string_pointer = "No cube map capability present"; + return 0; + } + /* 1st face: try to load the image */ + img = SOIL_load_image( x_pos_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, and create a texture ID if necessary */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + reuse_texture_ID, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_X, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image( x_neg_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_X, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image( y_pos_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_Y, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image( y_neg_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image( z_pos_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_Z, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image( z_neg_file, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Z, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_load_OGL_cubemap_from_memory + ( + const unsigned char *const x_pos_buffer, + int x_pos_buffer_length, + const unsigned char *const x_neg_buffer, + int x_neg_buffer_length, + const unsigned char *const y_pos_buffer, + int y_pos_buffer_length, + const unsigned char *const y_neg_buffer, + int y_neg_buffer_length, + const unsigned char *const z_pos_buffer, + int z_pos_buffer_length, + const unsigned char *const z_neg_buffer, + int z_neg_buffer_length, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* img; + int width, height, channels; + unsigned int tex_id; + /* error checking */ + if( (x_pos_buffer == NULL) || + (x_neg_buffer == NULL) || + (y_pos_buffer == NULL) || + (y_neg_buffer == NULL) || + (z_pos_buffer == NULL) || + (z_neg_buffer == NULL) ) + { + result_string_pointer = "Invalid cube map buffers list"; + return 0; + } + /* capability checking */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + result_string_pointer = "No cube map capability present"; + return 0; + } + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + x_pos_buffer, x_pos_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, and create a texture ID if necessary */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + reuse_texture_ID, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_X, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + x_neg_buffer, x_neg_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_X, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + y_pos_buffer, y_pos_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_Y, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + y_neg_buffer, y_neg_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + z_pos_buffer, z_pos_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_POSITIVE_Z, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* continue? */ + if( tex_id != 0 ) + { + /* 1st face: try to load the image */ + img = SOIL_load_image_from_memory( + z_neg_buffer, z_neg_buffer_length, + &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* upload the texture, but reuse the assigned texture ID */ + tex_id = SOIL_internal_create_OGL_texture( + img, &width, &height, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Z, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + /* and nuke the image data */ + SOIL_free_image_data( img ); + } + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_load_OGL_single_cubemap + ( + const char *filename, + const char face_order[6], + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* img; + int width, height, channels, i; + unsigned int tex_id = 0; + /* error checking */ + if( filename == NULL ) + { + result_string_pointer = "Invalid single cube map file name"; + return 0; + } + /* does the user want direct uploading of the image as a DDS file? */ + if( flags & SOIL_FLAG_DDS_LOAD_DIRECT ) + { + /* 1st try direct loading of the image as a DDS file + note: direct uploading will only load what is in the + DDS file, no MIPmaps will be generated, the image will + not be flipped, etc. */ + tex_id = SOIL_direct_load_DDS( filename, reuse_texture_ID, flags, 1 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if ( flags & SOIL_FLAG_PVR_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_PVR( filename, reuse_texture_ID, flags, 1 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if ( flags & SOIL_FLAG_ETC1_LOAD_DIRECT ) + { + return 0; + } + + /* face order checking */ + for( i = 0; i < 6; ++i ) + { + if( (face_order[i] != 'N') && + (face_order[i] != 'S') && + (face_order[i] != 'W') && + (face_order[i] != 'E') && + (face_order[i] != 'U') && + (face_order[i] != 'D') ) + { + result_string_pointer = "Invalid single cube map face order"; + return 0; + }; + } + /* capability checking */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + result_string_pointer = "No cube map capability present"; + return 0; + } + /* 1st off, try to load the full image */ + img = SOIL_load_image( filename, &width, &height, &channels, force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* now, does this image have the right dimensions? */ + if( (width != 6*height) && + (6*width != height) ) + { + SOIL_free_image_data( img ); + result_string_pointer = "Single cubemap image must have a 6:1 ratio"; + return 0; + } + /* try the image split and create */ + tex_id = SOIL_create_OGL_single_cubemap( + img, width, height, channels, + face_order, reuse_texture_ID, flags + ); + /* nuke the temporary image data and return the texture handle */ + SOIL_free_image_data( img ); + return tex_id; +} + +unsigned int + SOIL_load_OGL_single_cubemap_from_memory + ( + const unsigned char *const buffer, + int buffer_length, + const char face_order[6], + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* img; + int width, height, channels, i; + unsigned int tex_id = 0; + /* error checking */ + if( buffer == NULL ) + { + result_string_pointer = "Invalid single cube map buffer"; + return 0; + } + /* does the user want direct uploading of the image as a DDS file? */ + if( flags & SOIL_FLAG_DDS_LOAD_DIRECT ) + { + /* 1st try direct loading of the image as a DDS file + note: direct uploading will only load what is in the + DDS file, no MIPmaps will be generated, the image will + not be flipped, etc. */ + tex_id = SOIL_direct_load_DDS_from_memory( + buffer, buffer_length, + reuse_texture_ID, flags, 1 ); + if( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if ( flags & SOIL_FLAG_PVR_LOAD_DIRECT ) + { + tex_id = SOIL_direct_load_PVR_from_memory( + buffer, buffer_length, + reuse_texture_ID, flags, 1 ); + if ( tex_id ) + { + /* hey, it worked!! */ + return tex_id; + } + } + + if ( flags & SOIL_FLAG_ETC1_LOAD_DIRECT ) + { + return 0; + } + + /* face order checking */ + for( i = 0; i < 6; ++i ) + { + if( (face_order[i] != 'N') && + (face_order[i] != 'S') && + (face_order[i] != 'W') && + (face_order[i] != 'E') && + (face_order[i] != 'U') && + (face_order[i] != 'D') ) + { + result_string_pointer = "Invalid single cube map face order"; + return 0; + }; + } + /* capability checking */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + result_string_pointer = "No cube map capability present"; + return 0; + } + /* 1st off, try to load the full image */ + img = SOIL_load_image_from_memory( + buffer, buffer_length, + &width, &height, &channels, + force_channels ); + /* channels holds the original number of channels, which may have been forced */ + if( (force_channels >= 1) && (force_channels <= 4) ) + { + channels = force_channels; + } + if( NULL == img ) + { + /* image loading failed */ + result_string_pointer = stbi_failure_reason(); + return 0; + } + /* now, does this image have the right dimensions? */ + if( (width != 6*height) && + (6*width != height) ) + { + SOIL_free_image_data( img ); + result_string_pointer = "Single cubemap image must have a 6:1 ratio"; + return 0; + } + /* try the image split and create */ + tex_id = SOIL_create_OGL_single_cubemap( + img, width, height, channels, + face_order, reuse_texture_ID, flags + ); + /* nuke the temporary image data and return the texture handle */ + SOIL_free_image_data( img ); + return tex_id; +} + +unsigned int + SOIL_create_OGL_single_cubemap + ( + const unsigned char *const data, + int width, int height, int channels, + const char face_order[6], + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* variables */ + unsigned char* sub_img; + int dw, dh, sz, i; + unsigned int tex_id; + /* error checking */ + if( data == NULL ) + { + result_string_pointer = "Invalid single cube map image data"; + return 0; + } + /* face order checking */ + for( i = 0; i < 6; ++i ) + { + if( (face_order[i] != 'N') && + (face_order[i] != 'S') && + (face_order[i] != 'W') && + (face_order[i] != 'E') && + (face_order[i] != 'U') && + (face_order[i] != 'D') ) + { + result_string_pointer = "Invalid single cube map face order"; + return 0; + }; + } + /* capability checking */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + result_string_pointer = "No cube map capability present"; + return 0; + } + /* now, does this image have the right dimensions? */ + if( (width != 6*height) && + (6*width != height) ) + { + result_string_pointer = "Single cubemap image must have a 6:1 ratio"; + return 0; + } + /* which way am I stepping? */ + if( width > height ) + { + dw = height; + dh = 0; + } else + { + dw = 0; + dh = width; + } + sz = dw+dh; + sub_img = (unsigned char *)malloc( sz*sz*channels ); + /* do the splitting and uploading */ + tex_id = reuse_texture_ID; + for( i = 0; i < 6; ++i ) + { + int x, y, idx = 0; + unsigned int cubemap_target = 0; + /* copy in the sub-image */ + for( y = i*dh; y < i*dh+sz; ++y ) + { + for( x = i*dw*channels; x < (i*dw+sz)*channels; ++x ) + { + sub_img[idx++] = data[y*width*channels+x]; + } + } + /* what is my texture target? + remember, this coordinate system is + LHS if viewed from inside the cube! */ + switch( face_order[i] ) + { + case 'N': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_POSITIVE_Z; + break; + case 'S': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Z; + break; + case 'W': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_NEGATIVE_X; + break; + case 'E': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_POSITIVE_X; + break; + case 'U': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_POSITIVE_Y; + break; + case 'D': + cubemap_target = SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Y; + break; + } + /* upload it as a texture */ + tex_id = SOIL_internal_create_OGL_texture( + sub_img, &sz, &sz, channels, + tex_id, flags, + SOIL_TEXTURE_CUBE_MAP, + cubemap_target, + SOIL_MAX_CUBE_MAP_TEXTURE_SIZE ); + } + /* and nuke the image and sub-image data */ + SOIL_free_image_data( sub_img ); + /* and return the handle, such as it is */ + return tex_id; +} + +unsigned int + SOIL_create_OGL_texture + ( + const unsigned char *const data, + int *width, int *height, int channels, + unsigned int reuse_texture_ID, + unsigned int flags + ) +{ + /* wrapper function for 2D textures */ + return SOIL_internal_create_OGL_texture( + data, width, height, channels, + reuse_texture_ID, flags, + GL_TEXTURE_2D, GL_TEXTURE_2D, + GL_MAX_TEXTURE_SIZE ); +} + +#if SOIL_CHECK_FOR_GL_ERRORS +void check_for_GL_errors( const char *calling_location ) +{ + /* check for errors */ + GLenum err_code = glGetError(); + while( GL_NO_ERROR != err_code ) + { + printf( "OpenGL Error @ %s: %i", calling_location, err_code ); + err_code = glGetError(); + } +} +#else +void check_for_GL_errors( const char *calling_location ) +{ + /* no check for errors */ +} +#endif + +static void createMipmaps(const unsigned char *const img, + int width, int height, int channels, + unsigned int flags, + unsigned int opengl_texture_target, + unsigned int internal_texture_format, + unsigned int original_texture_format, + int DXT_mode) +{ + if ( ( flags & SOIL_FLAG_GL_MIPMAPS ) && query_gen_mipmap_capability() == SOIL_CAPABILITY_PRESENT ) + { + soilGlGenerateMipmap(opengl_texture_target); + } + else + { + int MIPlevel = 1; + int MIPwidth = (width+1) / 2; + int MIPheight = (height+1) / 2; + unsigned char *resampled = (unsigned char*)malloc( channels*MIPwidth*MIPheight ); + + while( ((1< 0; --i ) + { + unsigned char temp = img[index1]; + img[index1] = img[index2]; + img[index2] = temp; + ++index1; + ++index2; + } + } + } + /* does the user want me to scale the colors into the NTSC safe RGB range? */ + if( flags & SOIL_FLAG_NTSC_SAFE_RGB ) + { + scale_image_RGB_to_NTSC_safe( img, iwidth, iheight, channels ); + } + /* does the user want me to convert from straight to pre-multiplied alpha? + (and do we even _have_ alpha?) */ + if( flags & SOIL_FLAG_MULTIPLY_ALPHA ) + { + int i; + switch( channels ) + { + case 2: + for( i = 0; i < 2*iwidth*iheight; i += 2 ) + { + img[i] = (img[i] * img[i+1] + 128) >> 8; + } + break; + case 4: + for( i = 0; i < 4*iwidth*iheight; i += 4 ) + { + img[i+0] = (img[i+0] * img[i+3] + 128) >> 8; + img[i+1] = (img[i+1] * img[i+3] + 128) >> 8; + img[i+2] = (img[i+2] * img[i+3] + 128) >> 8; + } + break; + default: + /* no other number of channels contains alpha data */ + break; + } + } + + /* do I need to make it a power of 2? */ + if( + ( ( flags & SOIL_FLAG_POWER_OF_TWO) && ( !SOIL_IS_POW2(iwidth) || !SOIL_IS_POW2(iheight) ) ) || /* user asked for it and the texture is not power of 2 */ + ( (flags & SOIL_FLAG_MIPMAPS)&& !( ( flags & SOIL_FLAG_GL_MIPMAPS ) && + query_gen_mipmap_capability() == SOIL_CAPABILITY_PRESENT && + query_NPOT_capability() == SOIL_CAPABILITY_PRESENT ) ) || /* need it for the MIP-maps when mipmaps required + and not GL mipmaps required and supported */ + (iwidth > max_supported_size) || /* it's too big, (make sure it's */ + (iheight > max_supported_size) ) /* 2^n for later down-sampling) */ + { + int new_width = 1; + int new_height = 1; + while( new_width < iwidth ) + { + new_width *= 2; + } + while( new_height < iheight ) + { + new_height *= 2; + } + /* still? */ + if( (new_width != iwidth) || (new_height != iheight) ) + { + /* yep, resize */ + unsigned char *resampled = (unsigned char*)malloc( channels*new_width*new_height ); + up_scale_image( + NULL != img ? img : data, iwidth, iheight, channels, + resampled, new_width, new_height ); + + /* nuke the old guy ( if a copy exists ), then point it at the new guy */ + SOIL_free_image_data( img ); + img = resampled; + *width = new_width; + *height = new_height; + iwidth = new_width; + iheight = new_height; + } + } + /* now, if it is too large... */ + if( (iwidth > max_supported_size) || (iheight > max_supported_size) ) + { + /* I've already made it a power of two, so simply use the MIPmapping + code to reduce its size to the allowable maximum. */ + unsigned char *resampled; + int reduce_block_x = 1, reduce_block_y = 1; + int new_width, new_height; + if( iwidth > max_supported_size ) + { + reduce_block_x = iwidth / max_supported_size; + } + if( iheight > max_supported_size ) + { + reduce_block_y = iheight / max_supported_size; + } + new_width = iwidth / reduce_block_x; + new_height = iheight / reduce_block_y; + resampled = (unsigned char*)malloc( channels*new_width*new_height ); + /* perform the actual reduction */ + mipmap_image( NULL != img ? img : data, iwidth, iheight, channels, + resampled, reduce_block_x, reduce_block_y ); + /* nuke the old guy, then point it at the new guy */ + SOIL_free_image_data( img ); + img = resampled; + *width = new_width; + *height = new_height; + iwidth = new_width; + iheight = new_height; + } + /* does the user want us to use YCoCg color space? */ + if( flags & SOIL_FLAG_CoCg_Y ) + { + /* this will only work with RGB and RGBA images */ + convert_RGB_to_YCoCg( img, iwidth, iheight, channels ); + } + /* create the OpenGL texture ID handle + (note: allowing a forced texture ID lets me reload a texture) */ + tex_id = reuse_texture_ID; + if( tex_id == 0 ) + { + glGenTextures( 1, &tex_id ); + } + check_for_GL_errors( "glGenTextures" ); + /* Note: sometimes glGenTextures fails (usually no OpenGL context) */ + if( tex_id ) + { + /* and what type am I using as the internal texture format? */ + switch( channels ) + { + case 1: + original_texture_format = GL_LUMINANCE; + break; + case 2: + original_texture_format = GL_LUMINANCE_ALPHA; + break; + case 3: + original_texture_format = GL_RGB; + break; + case 4: + original_texture_format = GL_RGBA; + break; + } + internal_texture_format = original_texture_format; + /* does the user want me to, and can I, save as DXT? */ + if( flags & SOIL_FLAG_COMPRESS_TO_DXT ) + { + DXT_mode = query_DXT_capability(); + if( DXT_mode == SOIL_CAPABILITY_PRESENT ) + { + /* I can use DXT, whether I compress it or OpenGL does */ + if( (channels & 1) == 1 ) + { + /* 1 or 3 channels = DXT1 */ + internal_texture_format = SOIL_RGB_S3TC_DXT1; + } else + { + /* 2 or 4 channels = DXT5 */ + internal_texture_format = SOIL_RGBA_S3TC_DXT5; + } + } + } + /* bind an OpenGL texture ID */ + glBindTexture( opengl_texture_type, tex_id ); + check_for_GL_errors( "glBindTexture" ); + + /* set the unpack aligment */ + glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpack_aligment); + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT,1); + } + + /* upload the main image */ + if( DXT_mode == SOIL_CAPABILITY_PRESENT ) + { + /* user wants me to do the DXT conversion! */ + int DDS_size; + unsigned char *DDS_data = NULL; + if( (channels & 1) == 1 ) + { + /* RGB, use DXT1 */ + DDS_data = convert_image_to_DXT1( NULL != img ? img : data, iwidth, iheight, channels, &DDS_size ); + } else + { + /* RGBA, use DXT5 */ + DDS_data = convert_image_to_DXT5( NULL != img ? img : data, iwidth, iheight, channels, &DDS_size ); + } + if( DDS_data ) + { + soilGlCompressedTexImage2D( + opengl_texture_target, 0, + internal_texture_format, iwidth, iheight, 0, + DDS_size, DDS_data ); + check_for_GL_errors( "glCompressedTexImage2D" ); + SOIL_free_image_data( DDS_data ); + /* printf( "Internal DXT compressor\n" ); */ + } else + { + /* my compression failed, try the OpenGL driver's version */ + glTexImage2D( + opengl_texture_target, 0, + internal_texture_format, iwidth, iheight, 0, + original_texture_format, GL_UNSIGNED_BYTE, NULL != img ? img : data ); + check_for_GL_errors( "glTexImage2D" ); + /* printf( "OpenGL DXT compressor\n" ); */ + } + } else + { + /* user want OpenGL to do all the work! */ + glTexImage2D( + opengl_texture_target, 0, + internal_texture_format, iwidth, iheight, 0, + original_texture_format, GL_UNSIGNED_BYTE, NULL != img ? img : data ); + + check_for_GL_errors( "glTexImage2D" ); + /*printf( "OpenGL DXT compressor\n" ); */ + } + + /* are any MIPmaps desired? */ + if( flags & SOIL_FLAG_MIPMAPS || flags & SOIL_FLAG_GL_MIPMAPS ) + { + createMipmaps( NULL != img ? img : data, iwidth, iheight, channels, flags, opengl_texture_target, internal_texture_format, original_texture_format, DXT_mode ); + + /* instruct OpenGL to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + check_for_GL_errors( "GL_TEXTURE_MIN/MAG_FILTER" ); + } else + { + /* instruct OpenGL _NOT_ to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + check_for_GL_errors( "GL_TEXTURE_MIN/MAG_FILTER" ); + } + + /* recover the unpack aligment */ + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_aligment); + } + + /* does the user want clamping, or wrapping? */ + if( flags & SOIL_FLAG_TEXTURE_REPEATS ) + { + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, GL_REPEAT ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, GL_REPEAT ); + if( opengl_texture_type == SOIL_TEXTURE_CUBE_MAP ) + { + /* SOIL_TEXTURE_WRAP_R is invalid if cubemaps aren't supported */ + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, GL_REPEAT ); + } + check_for_GL_errors( "GL_TEXTURE_WRAP_*" ); + } else + { + unsigned int clamp_mode = SOIL_CLAMP_TO_EDGE; + /* unsigned int clamp_mode = GL_CLAMP; */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, clamp_mode ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, clamp_mode ); + if( opengl_texture_type == SOIL_TEXTURE_CUBE_MAP ) + { + /* SOIL_TEXTURE_WRAP_R is invalid if cubemaps aren't supported */ + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, clamp_mode ); + } + check_for_GL_errors( "GL_TEXTURE_WRAP_*" ); + } + /* done */ + result_string_pointer = "Image loaded as an OpenGL texture"; + } else + { + /* failed */ + result_string_pointer = "Failed to generate an OpenGL texture name; missing OpenGL context?"; + } + + SOIL_free_image_data( img ); + + return tex_id; +} + +int + SOIL_save_screenshot + ( + const char *filename, + int image_type, + int x, int y, + int width, int height + ) +{ + unsigned char *pixel_data; + int i, j; + int save_result; + + /* error checks */ + if( (width < 1) || (height < 1) ) + { + result_string_pointer = "Invalid screenshot dimensions"; + return 0; + } + if( (x < 0) || (y < 0) ) + { + result_string_pointer = "Invalid screenshot location"; + return 0; + } + if( filename == NULL ) + { + result_string_pointer = "Invalid screenshot filename"; + return 0; + } + + /* Get the data from OpenGL */ + pixel_data = (unsigned char*)malloc( 3*width*height ); + glReadPixels (x, y, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixel_data); + + /* invert the image */ + for( j = 0; j*2 < height; ++j ) + { + int index1 = j * width * 3; + int index2 = (height - 1 - j) * width * 3; + for( i = width * 3; i > 0; --i ) + { + unsigned char temp = pixel_data[index1]; + pixel_data[index1] = pixel_data[index2]; + pixel_data[index2] = temp; + ++index1; + ++index2; + } + } + + /* save the image */ + save_result = SOIL_save_image( filename, image_type, width, height, 3, pixel_data); + + /* And free the memory */ + SOIL_free_image_data( pixel_data ); + return save_result; +} + +unsigned char* + SOIL_load_image + ( + const char *filename, + int *width, int *height, int *channels, + int force_channels + ) +{ + unsigned char *result = stbi_load( filename, + width, height, channels, force_channels ); + if( result == NULL ) + { + result_string_pointer = stbi_failure_reason(); + } else + { + result_string_pointer = "Image loaded"; + } + return result; +} + +unsigned char* + SOIL_load_image_from_memory + ( + const unsigned char *const buffer, + int buffer_length, + int *width, int *height, int *channels, + int force_channels + ) +{ + unsigned char *result = stbi_load_from_memory( + buffer, buffer_length, + width, height, channels, + force_channels ); + if( result == NULL ) + { + result_string_pointer = stbi_failure_reason(); + } else + { + result_string_pointer = "Image loaded from memory"; + } + return result; +} + +int + SOIL_save_image + ( + const char *filename, + int image_type, + int width, int height, int channels, + const unsigned char *const data + ) +{ + int save_result; + + /* error check */ + if( (width < 1) || (height < 1) || + (channels < 1) || (channels > 4) || + (data == NULL) || + (filename == NULL) ) + { + return 0; + } + if( image_type == SOIL_SAVE_TYPE_BMP ) + { + save_result = stbi_write_bmp( filename, + width, height, channels, (void*)data ); + } else + if( image_type == SOIL_SAVE_TYPE_TGA ) + { + save_result = stbi_write_tga( filename, + width, height, channels, (void*)data ); + } else + if( image_type == SOIL_SAVE_TYPE_DDS ) + { + save_result = save_image_as_DDS( filename, + width, height, channels, (const unsigned char *const)data ); + } else + if( image_type == SOIL_SAVE_TYPE_PNG ) + { + save_result = stbi_write_png( filename, + width, height, channels, (const unsigned char *const)data, 0 ); + } else + { + save_result = 0; + } + + if( save_result == 0 ) + { + result_string_pointer = "Saving the image failed"; + } else + { + result_string_pointer = "Image saved"; + } + return save_result; +} + +void + SOIL_free_image_data + ( + unsigned char *img_data + ) +{ + if ( img_data ) + free( (void*)img_data ); +} + +const char* + SOIL_last_result + ( + void + ) +{ + return result_string_pointer; +} + +unsigned int SOIL_direct_load_DDS_from_memory( + const unsigned char *const buffer, + unsigned int buffer_length, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ) +{ + /* variables */ + DDS_header header; + unsigned int buffer_index = 0; + unsigned int tex_ID = 0; + /* file reading variables */ + unsigned int S3TC_type = 0; + unsigned char *DDS_data; + unsigned int DDS_main_size; + unsigned int DDS_full_size; + unsigned int width, height; + int mipmaps, cubemap, uncompressed, block_size = 16; + unsigned int flag; + unsigned int cf_target, ogl_target_start, ogl_target_end; + unsigned int opengl_texture_type; + int i; + /* 1st off, does the filename even exist? */ + if( NULL == buffer ) + { + /* we can't do it! */ + result_string_pointer = "NULL buffer"; + return 0; + } + if( buffer_length < sizeof( DDS_header ) ) + { + /* we can't do it! */ + result_string_pointer = "DDS file was too small to contain the DDS header"; + return 0; + } + /* try reading in the header */ + memcpy ( (void*)(&header), (const void *)buffer, sizeof( DDS_header ) ); + buffer_index = sizeof( DDS_header ); + /* guilty until proven innocent */ + result_string_pointer = "Failed to read a known DDS header"; + /* validate the header (warning, "goto"'s ahead, shield your eyes!!) */ + flag = ('D'<<0)|('D'<<8)|('S'<<16)|(' '<<24); + if( header.dwMagic != flag ) {goto quick_exit;} + if( header.dwSize != 124 ) {goto quick_exit;} + /* I need all of these */ + flag = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + if( (header.dwFlags & flag) != flag ) {goto quick_exit;} + /* According to the MSDN spec, the dwFlags should contain + DDSD_LINEARSIZE if it's compressed, or DDSD_PITCH if + uncompressed. Some DDS writers do not conform to the + spec, so I need to make my reader more tolerant */ + /* I need one of these */ + flag = DDPF_FOURCC | DDPF_RGB; + if( (header.sPixelFormat.dwFlags & flag) == 0 ) {goto quick_exit;} + if( header.sPixelFormat.dwSize != 32 ) {goto quick_exit;} + if( (header.sCaps.dwCaps1 & DDSCAPS_TEXTURE) == 0 ) {goto quick_exit;} + /* make sure it is a type we can upload */ + if( (header.sPixelFormat.dwFlags & DDPF_FOURCC) && + !( + (header.sPixelFormat.dwFourCC == (('D'<<0)|('X'<<8)|('T'<<16)|('1'<<24))) || + (header.sPixelFormat.dwFourCC == (('D'<<0)|('X'<<8)|('T'<<16)|('3'<<24))) || + (header.sPixelFormat.dwFourCC == (('D'<<0)|('X'<<8)|('T'<<16)|('5'<<24))) + ) ) + { + goto quick_exit; + } + /* OK, validated the header, let's load the image data */ + result_string_pointer = "DDS header loaded and validated"; + width = header.dwWidth; + height = header.dwHeight; + uncompressed = 1 - (header.sPixelFormat.dwFlags & DDPF_FOURCC) / DDPF_FOURCC; + cubemap = (header.sCaps.dwCaps2 & DDSCAPS2_CUBEMAP) / DDSCAPS2_CUBEMAP; + if( uncompressed ) + { + S3TC_type = GL_RGB; + block_size = 3; + if( header.sPixelFormat.dwFlags & DDPF_ALPHAPIXELS ) + { + S3TC_type = GL_RGBA; + block_size = 4; + } + DDS_main_size = width * height * block_size; + } else + { + /* can we even handle direct uploading to OpenGL DXT compressed images? */ + if( query_DXT_capability() != SOIL_CAPABILITY_PRESENT ) + { + /* we can't do it! */ + result_string_pointer = "Direct upload of S3TC images not supported by the OpenGL driver"; + return 0; + } + /* well, we know it is DXT1/3/5, because we checked above */ + switch( (header.sPixelFormat.dwFourCC >> 24) - '0' ) + { + case 1: + S3TC_type = SOIL_RGBA_S3TC_DXT1; + block_size = 8; + break; + case 3: + S3TC_type = SOIL_RGBA_S3TC_DXT3; + block_size = 16; + break; + case 5: + S3TC_type = SOIL_RGBA_S3TC_DXT5; + block_size = 16; + break; + } + DDS_main_size = ((width+3)>>2)*((height+3)>>2)*block_size; + } + if( cubemap ) + { + /* does the user want a cubemap? */ + if( !loading_as_cubemap ) + { + /* we can't do it! */ + result_string_pointer = "DDS image was a cubemap"; + return 0; + } + /* can we even handle cubemaps with the OpenGL driver? */ + if( query_cubemap_capability() != SOIL_CAPABILITY_PRESENT ) + { + /* we can't do it! */ + result_string_pointer = "Direct upload of cubemap images not supported by the OpenGL driver"; + return 0; + } + ogl_target_start = SOIL_TEXTURE_CUBE_MAP_POSITIVE_X; + ogl_target_end = SOIL_TEXTURE_CUBE_MAP_NEGATIVE_Z; + opengl_texture_type = SOIL_TEXTURE_CUBE_MAP; + } else + { + /* does the user want a non-cubemap? */ + if( loading_as_cubemap ) + { + /* we can't do it! */ + result_string_pointer = "DDS image was not a cubemap"; + return 0; + } + ogl_target_start = GL_TEXTURE_2D; + ogl_target_end = GL_TEXTURE_2D; + opengl_texture_type = GL_TEXTURE_2D; + } + if( (header.sCaps.dwCaps1 & DDSCAPS_MIPMAP) && (header.dwMipMapCount > 1) ) + { + int shift_offset; + mipmaps = header.dwMipMapCount - 1; + DDS_full_size = DDS_main_size; + if( uncompressed ) + { + /* uncompressed DDS, simple MIPmap size calculation */ + shift_offset = 0; + } else + { + /* compressed DDS, MIPmap size calculation is block based */ + shift_offset = 2; + } + for( i = 1; i <= mipmaps; ++ i ) + { + int w, h; + w = width >> (shift_offset + i); + h = height >> (shift_offset + i); + if( w < 1 ) + { + w = 1; + } + if( h < 1 ) + { + h = 1; + } + DDS_full_size += w*h*block_size; + } + } else + { + mipmaps = 0; + DDS_full_size = DDS_main_size; + } + DDS_data = (unsigned char*)malloc( DDS_full_size ); + /* got the image data RAM, create or use an existing OpenGL texture handle */ + tex_ID = reuse_texture_ID; + if( tex_ID == 0 ) + { + glGenTextures( 1, &tex_ID ); + } + /* bind an OpenGL texture ID */ + glBindTexture( opengl_texture_type, tex_ID ); + /* do this for each face of the cubemap! */ + for( cf_target = ogl_target_start; cf_target <= ogl_target_end; ++cf_target ) + { + if( buffer_index + DDS_full_size <= buffer_length ) + { + unsigned int byte_offset = DDS_main_size; + memcpy( (void*)DDS_data, (const void*)(&buffer[buffer_index]), DDS_full_size ); + buffer_index += DDS_full_size; + /* upload the main chunk */ + if( uncompressed ) + { + /* and remember, DXT uncompressed uses BGR(A), + so swap to RGB(A) for ALL MIPmap levels */ + for( i = 0; i < (int)DDS_full_size; i += block_size ) + { + unsigned char temp = DDS_data[i]; + DDS_data[i] = DDS_data[i+2]; + DDS_data[i+2] = temp; + } + glTexImage2D( + cf_target, 0, + S3TC_type, width, height, 0, + S3TC_type, GL_UNSIGNED_BYTE, DDS_data ); + } else + { + soilGlCompressedTexImage2D( + cf_target, 0, + S3TC_type, width, height, 0, + DDS_main_size, DDS_data ); + } + /* upload the mipmaps, if we have them */ + for( i = 1; i <= mipmaps; ++i ) + { + int w, h, mip_size; + w = width >> i; + h = height >> i; + if( w < 1 ) + { + w = 1; + } + if( h < 1 ) + { + h = 1; + } + /* upload this mipmap */ + if( uncompressed ) + { + mip_size = w*h*block_size; + glTexImage2D( + cf_target, i, + S3TC_type, w, h, 0, + S3TC_type, GL_UNSIGNED_BYTE, &DDS_data[byte_offset] ); + } else + { + mip_size = ((w+3)/4)*((h+3)/4)*block_size; + soilGlCompressedTexImage2D( + cf_target, i, + S3TC_type, w, h, 0, + mip_size, &DDS_data[byte_offset] ); + } + /* and move to the next mipmap */ + byte_offset += mip_size; + } + /* it worked! */ + result_string_pointer = "DDS file loaded"; + } else + { + glDeleteTextures( 1, & tex_ID ); + tex_ID = 0; + cf_target = ogl_target_end + 1; + result_string_pointer = "DDS file was too small for expected image data"; + } + }/* end reading each face */ + SOIL_free_image_data( DDS_data ); + if( tex_ID ) + { + /* did I have MIPmaps? */ + if( mipmaps > 0 ) + { + /* instruct OpenGL to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + } else + { + /* instruct OpenGL _NOT_ to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + } + /* does the user want clamping, or wrapping? */ + if( flags & SOIL_FLAG_TEXTURE_REPEATS ) + { + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, GL_REPEAT ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, GL_REPEAT ); + } else + { + unsigned int clamp_mode = SOIL_CLAMP_TO_EDGE; + /* unsigned int clamp_mode = GL_CLAMP; */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, clamp_mode ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, clamp_mode ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, clamp_mode ); + } + } + +quick_exit: + /* report success or failure */ + return tex_ID; +} + +unsigned int SOIL_direct_load_DDS( + const char *filename, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ) +{ + FILE *f; + unsigned char *buffer; + size_t buffer_length, bytes_read; + unsigned int tex_ID = 0; + /* error checks */ + if( NULL == filename ) + { + result_string_pointer = "NULL filename"; + return 0; + } + f = fopen( filename, "rb" ); + if( NULL == f ) + { + /* the file doesn't seem to exist (or be open-able) */ + result_string_pointer = "Can not find DDS file"; + return 0; + } + fseek( f, 0, SEEK_END ); + buffer_length = ftell( f ); + fseek( f, 0, SEEK_SET ); + buffer = (unsigned char *) malloc( buffer_length ); + if( NULL == buffer ) + { + result_string_pointer = "malloc failed"; + fclose( f ); + return 0; + } + bytes_read = fread( (void*)buffer, 1, buffer_length, f ); + fclose( f ); + if( bytes_read < buffer_length ) + { + /* huh? */ + buffer_length = bytes_read; + } + /* now try to do the loading */ + tex_ID = SOIL_direct_load_DDS_from_memory( + (const unsigned char *const)buffer, (int)buffer_length, + reuse_texture_ID, flags, loading_as_cubemap ); + SOIL_free_image_data( buffer ); + return tex_ID; +} + +unsigned int SOIL_direct_load_PVR_from_memory( + const unsigned char *const buffer, + int buffer_length, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ) +{ + PVR_Texture_Header* header = (PVR_Texture_Header*)buffer; + int num_surfs = 1; + GLuint tex_ID = 0; + GLenum PVR_format = 0; + GLenum PVR_type = GL_RGB; + unsigned int opengl_texture_type = loading_as_cubemap ? SOIL_TEXTURE_CUBE_MAP : GL_TEXTURE_2D; + int is_PVRTC_supported = query_PVR_capability() == SOIL_CAPABILITY_PRESENT; + int is_BGRA8888_supported = query_BGRA8888_capability() == SOIL_CAPABILITY_PRESENT; + int is_compressed_format_supported = 0; + int is_compressed_format = 0; + int mipmaps = 0; + int i; + GLint unpack_aligment; + + // Check the header size + if ( header->dwHeaderSize != sizeof(PVR_Texture_Header) ) { + if ( header->dwHeaderSize == PVRTEX_V1_HEADER_SIZE ) { + result_string_pointer = "this is an old pvr ( update the PVR file )"; + + if ( loading_as_cubemap ) { + if( header->dwpfFlags & PVRTEX_CUBEMAP ) { + num_surfs = 6; + } else { + result_string_pointer = "tried to load a non-cubemap PVR as cubemap"; + return 0; + } + } + } else { + result_string_pointer = "invalid PVR header"; + + return 0; + } + } else { + if ( loading_as_cubemap ) { + // Header V2 + if( header->dwNumSurfs < 1 ) { + if( header->dwpfFlags & PVRTEX_CUBEMAP ) { + num_surfs = 6; + } else { + result_string_pointer = "tried to load a non-cubemap PVR as cubemap"; + return 0; + } + } else { + num_surfs = header->dwNumSurfs; + } + } + } + + // Check the magic identifier + if ( header->dwPVR != PVRTEX_IDENTIFIER ) { + result_string_pointer = "invalid PVR header"; + return 0; + } + + /* Only accept untwiddled data UNLESS texture format is PVRTC */ + if ( ((header->dwpfFlags & PVRTEX_TWIDDLE) == PVRTEX_TWIDDLE) + && ((header->dwpfFlags & PVRTEX_PIXELTYPE)!=OGL_PVRTC2) + && ((header->dwpfFlags & PVRTEX_PIXELTYPE)!=OGL_PVRTC4) ) + { + // We need to load untwiddled textures -- hw will twiddle for us. + result_string_pointer = "pvr is not compressed ( untwiddled texture )"; + return 0; + } + + switch( header->dwpfFlags & PVRTEX_PIXELTYPE ) + { + case OGL_RGBA_4444: + PVR_format = GL_UNSIGNED_SHORT_4_4_4_4; + PVR_type = GL_RGBA; + break; + case OGL_RGBA_5551: + PVR_format = GL_UNSIGNED_SHORT_5_5_5_1; + PVR_type = GL_RGBA; + break; + case OGL_RGBA_8888: + PVR_format = GL_UNSIGNED_BYTE; + PVR_type = GL_RGBA; + break; + case OGL_RGB_565: + PVR_format = GL_UNSIGNED_SHORT_5_6_5; + PVR_type = GL_RGB; + break; + case OGL_RGB_555: + result_string_pointer = "failed: pixel type OGL_RGB_555 not supported."; + return 0; + case OGL_RGB_888: + PVR_format = GL_UNSIGNED_BYTE; + PVR_type = GL_RGB; + break; + case OGL_I_8: + PVR_format = GL_UNSIGNED_BYTE; + PVR_type = GL_LUMINANCE; + break; + case OGL_AI_88: + PVR_format = GL_UNSIGNED_BYTE; + PVR_type = GL_LUMINANCE_ALPHA; + break; + case MGLPT_PVRTC2: + case OGL_PVRTC2: + if(is_PVRTC_supported) { + is_compressed_format_supported = is_compressed_format = 1; + PVR_format = header->dwAlphaBitMask==0 ? SOIL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG : SOIL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG ; // PVRTC2 + } else { + result_string_pointer = "error: PVRTC2 not supported.Decompress the texture first."; + return 0; + } + break; + case MGLPT_PVRTC4: + case OGL_PVRTC4: + if(is_PVRTC_supported) { + is_compressed_format_supported = is_compressed_format = 1; + PVR_format = header->dwAlphaBitMask==0 ? SOIL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG : SOIL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG ; // PVRTC4 + } else { + result_string_pointer = "error: PVRTC4 not supported. Decompress the texture first."; + return 0; + } + break; + case OGL_BGRA_8888: + if(is_BGRA8888_supported) { + PVR_format = GL_UNSIGNED_BYTE; + PVR_type = GL_BGRA; + break; + } else { + result_string_pointer = "Unable to load GL_BGRA texture as extension GL_IMG_texture_format_BGRA8888 is unsupported."; + return 0; + } + default: // NOT SUPPORTED + result_string_pointer = "failed: pixel type not supported."; + return 0; + } + + #ifdef SOIL_GLES1 + // check that this data is cube map data or not. + if( loading_as_cubemap ) { + result_string_pointer = "cube map textures are not available in GLES1.x."; + return 0; + } + #endif + + // load the texture up + tex_ID = reuse_texture_ID; + if( tex_ID == 0 ) + { + glGenTextures( 1, &tex_ID ); + } + + glBindTexture( opengl_texture_type, tex_ID ); + + if( glGetError() ) { + result_string_pointer = "failed: glBindTexture() failed."; + return 0; + } + + glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpack_aligment); + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT,1); // Never have row-aligned in headers + } + + #define _MAX( a, b ) (( a <= b )? b : a) + for(i=0; idwHeaderSize + header->dwTextureDataSize * i; + char *cur_texture_ptr = 0; + int mipmap_level; + unsigned int width= header->dwWidth, height = header->dwHeight; + unsigned int compressed_image_size = 0; + + mipmaps = ( ( flags & SOIL_FLAG_MIPMAPS ) && (header->dwpfFlags & PVRTEX_MIPMAP) ) ? header->dwMipMapCount : 0; + + for(mipmap_level = 0; mipmap_level <= mipmaps; width = _MAX(width/2, (unsigned int)1), height = _MAX(height/2, (unsigned int)1), mipmap_level++ ) { + // Do Alpha-swap if needed + cur_texture_ptr = texture_ptr; + + // Load the Texture + /* If the texture is PVRTC then use GLCompressedTexImage2D */ + if( is_compressed_format ) { + /* Calculate how many bytes this MIP level occupies */ + if ((header->dwpfFlags & PVRTEX_PIXELTYPE)==OGL_PVRTC2) { + compressed_image_size = ( _MAX(width, PVRTC2_MIN_TEXWIDTH) * _MAX(height, PVRTC2_MIN_TEXHEIGHT) * header->dwBitCount + 7 ) / 8; + } else {// PVRTC4 case + compressed_image_size = ( _MAX(width, PVRTC4_MIN_TEXWIDTH) * _MAX(height, PVRTC4_MIN_TEXHEIGHT) * header->dwBitCount + 7 ) / 8; + } + + if ( is_compressed_format_supported ) { + /* Load compressed texture data at selected MIP level */ + if ( loading_as_cubemap ) { + soilGlCompressedTexImage2D( SOIL_TEXTURE_CUBE_MAP_POSITIVE_X + i, mipmap_level, PVR_format, width, height, 0, compressed_image_size, cur_texture_ptr ); + } else { + soilGlCompressedTexImage2D( opengl_texture_type, mipmap_level, PVR_format, width, height, 0, compressed_image_size, cur_texture_ptr ); + } + } else { + result_string_pointer = "failed: GPU doesnt support compressed textures"; + } + } else { + /* Load uncompressed texture data at selected MIP level */ + if ( loading_as_cubemap ) { + glTexImage2D( SOIL_TEXTURE_CUBE_MAP_POSITIVE_X + i, mipmap_level, PVR_type, width, height, 0, PVR_type, PVR_format, cur_texture_ptr ); + } else { + glTexImage2D( opengl_texture_type, mipmap_level, PVR_type, width, height, 0, PVR_type, PVR_format, cur_texture_ptr ); + } + } + + if( glGetError() ) { + result_string_pointer = "failed: glCompressedTexImage2D() failed."; + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_aligment); + } + return 0; + } + + // offset the texture pointer by one mip-map level + /* PVRTC case */ + if ( is_compressed_format ) { + texture_ptr += compressed_image_size; + } else { + /* New formula that takes into account bit counts inferior to 8 (e.g. 1 bpp) */ + texture_ptr += (width * height * header->dwBitCount + 7) / 8; + } + } + } + #undef _MAX + + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_aligment); + } + + if( tex_ID ) + { + /* did I have MIPmaps? */ + if( mipmaps ) + { + /* instruct OpenGL to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + } else + { + /* instruct OpenGL _NOT_ to use the MIPmaps */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + } + + /* does the user want clamping, or wrapping? */ + if( flags & SOIL_FLAG_TEXTURE_REPEATS ) + { + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, GL_REPEAT ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, GL_REPEAT ); + } else + { + unsigned int clamp_mode = SOIL_CLAMP_TO_EDGE; + /* unsigned int clamp_mode = GL_CLAMP; */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, clamp_mode ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, clamp_mode ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, clamp_mode ); + } + } + + return tex_ID; +} + +unsigned int SOIL_direct_load_PVR( + const char *filename, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ) +{ + FILE *f; + unsigned char *buffer; + size_t buffer_length, bytes_read; + unsigned int tex_ID = 0; + /* error checks */ + if( NULL == filename ) + { + result_string_pointer = "NULL filename"; + return 0; + } + f = fopen( filename, "rb" ); + if( NULL == f ) + { + /* the file doesn't seem to exist (or be open-able) */ + result_string_pointer = "Can not find PVR file"; + return 0; + } + fseek( f, 0, SEEK_END ); + buffer_length = ftell( f ); + fseek( f, 0, SEEK_SET ); + buffer = (unsigned char *) malloc( buffer_length ); + if( NULL == buffer ) + { + result_string_pointer = "malloc failed"; + fclose( f ); + return 0; + } + bytes_read = fread( (void*)buffer, 1, buffer_length, f ); + fclose( f ); + if( bytes_read < buffer_length ) + { + /* huh? */ + buffer_length = bytes_read; + } + /* now try to do the loading */ + tex_ID = SOIL_direct_load_PVR_from_memory( + (const unsigned char *const)buffer, (int)buffer_length, + reuse_texture_ID, flags, loading_as_cubemap ); + SOIL_free_image_data( buffer ); + return tex_ID; +} + +unsigned int SOIL_direct_load_ETC1_from_memory( + const unsigned char *const buffer, + int buffer_length, + unsigned int reuse_texture_ID, + int flags ) +{ + GLuint tex_ID = 0; + PKMHeader* header = (PKMHeader*)buffer; + unsigned int opengl_texture_type = GL_TEXTURE_2D; + unsigned int width; + unsigned int height; + unsigned long compressed_image_size = buffer_length - PKM_HEADER_SIZE; + char *texture_ptr = (char*)buffer + PKM_HEADER_SIZE; + GLint unpack_aligment; + + if ( query_ETC1_capability() != SOIL_CAPABILITY_PRESENT ) { + result_string_pointer = "error: ETC1 not supported. Decompress the texture first."; + return 0; + } + + if ( 0 != strcmp( header->aName, "PKM 10" ) ) { + result_string_pointer = "error: PKM 10 header not found."; + return 0; + } + + width = (header->iWidthMSB << 8) | header->iWidthLSB; + height = (header->iHeightMSB << 8) | header->iHeightLSB; + compressed_image_size = (((width + 3) & ~3) * ((height + 3) & ~3)) >> 1; + + // load the texture up + tex_ID = reuse_texture_ID; + if( tex_ID == 0 ) + { + glGenTextures( 1, &tex_ID ); + } + + glBindTexture( opengl_texture_type, tex_ID ); + + if( glGetError() ) { + result_string_pointer = "failed: glBindTexture() failed."; + return 0; + } + + glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpack_aligment); + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT,1); // Never have row-aligned in headers + } + + soilGlCompressedTexImage2D( opengl_texture_type, 0, SOIL_GL_ETC1_RGB8_OES, width, height, 0, compressed_image_size, texture_ptr ); + + if( glGetError() ) { + result_string_pointer = "failed: glCompressedTexImage2D() failed."; + + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_aligment); + } + return 0; + } + + if ( 1 != unpack_aligment ) + { + glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_aligment); + } + + if( tex_ID ) + { + /* No MIPmaps for ETC1 */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + + /* does the user want clamping, or wrapping? */ + if( flags & SOIL_FLAG_TEXTURE_REPEATS ) + { + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, GL_REPEAT ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, GL_REPEAT ); + } else + { + unsigned int clamp_mode = SOIL_CLAMP_TO_EDGE; + /* unsigned int clamp_mode = GL_CLAMP; */ + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_S, clamp_mode ); + glTexParameteri( opengl_texture_type, GL_TEXTURE_WRAP_T, clamp_mode ); + glTexParameteri( opengl_texture_type, SOIL_TEXTURE_WRAP_R, clamp_mode ); + } + } + + return tex_ID; +} + +unsigned int SOIL_direct_load_ETC1(const char *filename, + unsigned int reuse_texture_ID, + int flags ) +{ + FILE *f; + unsigned char *buffer; + size_t buffer_length, bytes_read; + unsigned int tex_ID = 0; + /* error checks */ + if( NULL == filename ) + { + result_string_pointer = "NULL filename"; + return 0; + } + f = fopen( filename, "rb" ); + if( NULL == f ) + { + /* the file doesn't seem to exist (or be open-able) */ + result_string_pointer = "Can not find PVR file"; + return 0; + } + fseek( f, 0, SEEK_END ); + buffer_length = ftell( f ); + fseek( f, 0, SEEK_SET ); + buffer = (unsigned char *) malloc( buffer_length ); + if( NULL == buffer ) + { + result_string_pointer = "malloc failed"; + fclose( f ); + return 0; + } + bytes_read = fread( (void*)buffer, 1, buffer_length, f ); + fclose( f ); + if( bytes_read < buffer_length ) + { + /* huh? */ + buffer_length = bytes_read; + } + /* now try to do the loading */ + tex_ID = SOIL_direct_load_ETC1_from_memory( + (const unsigned char *const)buffer, (int)buffer_length, + reuse_texture_ID, flags ); + SOIL_free_image_data( buffer ); + return tex_ID; +} + +int query_NPOT_capability( void ) +{ + /* check for the capability */ + if( has_NPOT_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if( + (0 == SOIL_GL_ExtensionSupported( + "GL_ARB_texture_non_power_of_two" ) ) + && + (0 == SOIL_GL_ExtensionSupported( + "GL_OES_texture_npot" ) ) + ) + { + /* not there, flag the failure */ + has_NPOT_capability = SOIL_CAPABILITY_NONE; + } else + { + /* it's there! */ + has_NPOT_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do non-power-of-two textures or not */ + return has_NPOT_capability; +} + +int query_tex_rectangle_capability( void ) +{ + /* check for the capability */ + if( has_tex_rectangle_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if( + (0 == SOIL_GL_ExtensionSupported( + "GL_ARB_texture_rectangle" ) ) + && + (0 == SOIL_GL_ExtensionSupported( + "GL_EXT_texture_rectangle" ) ) + && + (0 == SOIL_GL_ExtensionSupported( + "GL_NV_texture_rectangle" ) ) + ) + { + /* not there, flag the failure */ + has_tex_rectangle_capability = SOIL_CAPABILITY_NONE; + } else + { + /* it's there! */ + has_tex_rectangle_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do texture rectangles or not */ + return has_tex_rectangle_capability; +} + +int query_cubemap_capability( void ) +{ + /* check for the capability */ + if( has_cubemap_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if( + (0 == SOIL_GL_ExtensionSupported( + "GL_ARB_texture_cube_map" ) ) + && + (0 == SOIL_GL_ExtensionSupported( + "GL_EXT_texture_cube_map" ) ) + ) + { + /* not there, flag the failure */ + has_cubemap_capability = SOIL_CAPABILITY_NONE; + } else + { + /* it's there! */ + has_cubemap_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do cubemaps or not */ + return has_cubemap_capability; +} + +static P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC get_glCompressedTexImage2D_addr() +{ + /* and find the address of the extension function */ + P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC ext_addr = NULL; + +#if defined( SOIL_PLATFORM_WIN32 ) || defined( SOIL_PLATFORM_OSX ) || defined( SOIL_X11_PLATFORM ) + ext_addr = (P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC)SOIL_GL_GetProcAddress( "glCompressedTexImage2D" ); +#else + ext_addr = (P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC)&glCompressedTexImage2D; +#endif + + return ext_addr; +} + +int query_DXT_capability( void ) +{ + /* check for the capability */ + if( has_DXT_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if ( 0 == SOIL_GL_ExtensionSupported( + "GL_EXT_texture_compression_s3tc" ) && + 0 == SOIL_GL_ExtensionSupported( + "WEBGL_compressed_texture_s3tc ") && + 0 == SOIL_GL_ExtensionSupported( + "WEBKIT_WEBGL_compressed_texture_s3tc") && + 0 == SOIL_GL_ExtensionSupported( + "MOZ_WEBGL_compressed_texture_s3tc" + ) + ) + { + /* not there, flag the failure */ + has_DXT_capability = SOIL_CAPABILITY_NONE; + } else + { + P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC ext_addr = get_glCompressedTexImage2D_addr(); + + /* Flag it so no checks needed later */ + if( NULL == ext_addr ) + { + /* hmm, not good!! This should not happen, but does on my + laptop's VIA chipset. The GL_EXT_texture_compression_s3tc + spec requires that ARB_texture_compression be present too. + this means I can upload and have the OpenGL drive do the + conversion, but I can't use my own routines or load DDS files + from disk and upload them directly [8^( */ + has_DXT_capability = SOIL_CAPABILITY_NONE; + } else + { + /* all's well! */ + soilGlCompressedTexImage2D = ext_addr; + has_DXT_capability = SOIL_CAPABILITY_PRESENT; + } + } + } + /* let the user know if we can do DXT or not */ + return has_DXT_capability; +} + +int query_PVR_capability( void ) +{ + /* check for the capability */ + if( has_PVR_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if (0 == SOIL_GL_ExtensionSupported( + "GL_IMG_texture_compression_pvrtc" ) ) + { + /* not there, flag the failure */ + has_PVR_capability = SOIL_CAPABILITY_NONE; + } else + { + if ( NULL == soilGlCompressedTexImage2D ) { + soilGlCompressedTexImage2D = get_glCompressedTexImage2D_addr(); + } + + /* it's there! */ + has_PVR_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do cubemaps or not */ + return has_PVR_capability; +} + +int query_BGRA8888_capability( void ) +{ + /* check for the capability */ + if( has_BGRA8888_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if (0 == SOIL_GL_ExtensionSupported( + "GL_IMG_texture_format_BGRA8888" ) ) + { + /* not there, flag the failure */ + has_BGRA8888_capability = SOIL_CAPABILITY_NONE; + } else + { + /* it's there! */ + has_BGRA8888_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do cubemaps or not */ + return has_BGRA8888_capability; +} + +int query_ETC1_capability( void ) +{ + /* check for the capability */ + if( has_ETC1_capability == SOIL_CAPABILITY_UNKNOWN ) + { + /* we haven't yet checked for the capability, do so */ + if (0 == SOIL_GL_ExtensionSupported( + "GL_OES_compressed_ETC1_RGB8_texture" ) ) + { + /* not there, flag the failure */ + has_ETC1_capability = SOIL_CAPABILITY_NONE; + } else + { + if ( NULL == soilGlCompressedTexImage2D ) { + soilGlCompressedTexImage2D = get_glCompressedTexImage2D_addr(); + } + + /* it's there! */ + has_ETC1_capability = SOIL_CAPABILITY_PRESENT; + } + } + /* let the user know if we can do cubemaps or not */ + return has_ETC1_capability; +} + +int query_gen_mipmap_capability( void ) +{ + /* check for the capability */ + P_SOIL_GLGENERATEMIPMAPPROC ext_addr = NULL; + + if( has_gen_mipmap_capability == SOIL_CAPABILITY_UNKNOWN ) + { + if ( 0 == SOIL_GL_ExtensionSupported( + "GL_ARB_framebuffer_object" ) + && + 0 == SOIL_GL_ExtensionSupported( + "GL_EXT_framebuffer_object" ) + && 0 == SOIL_GL_ExtensionSupported( + "GL_OES_framebuffer_object" ) + ) + { + /* not there, flag the failure */ + has_gen_mipmap_capability = SOIL_CAPABILITY_NONE; + } + else + { + #if !defined( SOIL_GLES1 ) && !defined( SOIL_GLES2 ) + + ext_addr = (P_SOIL_GLGENERATEMIPMAPPROC)SOIL_GL_GetProcAddress("glGenerateMipmap"); + + if(ext_addr == NULL) + { + ext_addr = (P_SOIL_GLGENERATEMIPMAPPROC)SOIL_GL_GetProcAddress("glGenerateMipmapEXT"); + } + + #elif defined( SOIL_GLES2 ) + ext_addr = &glGenerateMipmap; + #else /** SOIL_GLES1 */ + ext_addr = &glGenerateMipmapOES; + #endif + } + + if(ext_addr == NULL) + { + /* this should never happen */ + has_gen_mipmap_capability = SOIL_CAPABILITY_NONE; + } else + { + /* it's there! */ + has_gen_mipmap_capability = SOIL_CAPABILITY_PRESENT; + soilGlGenerateMipmap = ext_addr; + } + } + + return has_gen_mipmap_capability; +} diff --git a/src/libprojectM/Renderer/SOIL2/SOIL2.h b/src/libprojectM/Renderer/SOIL2/SOIL2.h new file mode 100755 index 0000000000..ddaa1b10b4 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/SOIL2.h @@ -0,0 +1,500 @@ +/** + @mainpage SOIL2 + + Fork by Martin Lucas Golini + + Original author Jonathan Dummer + 2007-07-26-10.36 + + Simple OpenGL Image Library 2 + + A tiny c library for uploading images as + textures into OpenGL. Also saving and + loading of images is supported. + + I'm using Sean's Tool Box image loader as a base: + http://www.nothings.org/ + + I'm upgrading it to load TGA and DDS files, and a direct + path for loading DDS files straight into OpenGL textures, + when applicable. + + Image Formats: + - BMP load & save + - TGA load & save + - DDS load & save + - PNG load & save + - JPG load + - PSD load + - HDR load + - PIC load + + OpenGL Texture Features: + - resample to power-of-two sizes + - MIPmap generation + - compressed texture S3TC formats (if supported) + - can pre-multiply alpha for you, for better compositing + - can flip image about the y-axis (except pre-compressed DDS files) + + Thanks to: + * Sean Barret - for the awesome stb_image + * Dan Venkitachalam - for finding some non-compliant DDS files, and patching some explicit casts + * everybody at gamedev.net +**/ + +#ifndef HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY +#define HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY + +#ifdef __cplusplus +extern "C" { +#endif + +/** + The format of images that may be loaded (force_channels). + SOIL_LOAD_AUTO leaves the image in whatever format it was found. + SOIL_LOAD_L forces the image to load as Luminous (greyscale) + SOIL_LOAD_LA forces the image to load as Luminous with Alpha + SOIL_LOAD_RGB forces the image to load as Red Green Blue + SOIL_LOAD_RGBA forces the image to load as Red Green Blue Alpha +**/ +enum +{ + SOIL_LOAD_AUTO = 0, + SOIL_LOAD_L = 1, + SOIL_LOAD_LA = 2, + SOIL_LOAD_RGB = 3, + SOIL_LOAD_RGBA = 4 +}; + +/** + Passed in as reuse_texture_ID, will cause SOIL to + register a new texture ID using glGenTextures(). + If the value passed into reuse_texture_ID > 0 then + SOIL will just re-use that texture ID (great for + reloading image assets in-game!) +**/ +enum +{ + SOIL_CREATE_NEW_ID = 0 +}; + +/** + flags you can pass into SOIL_load_OGL_texture() + and SOIL_create_OGL_texture(). + (note that if SOIL_FLAG_DDS_LOAD_DIRECT is used + the rest of the flags with the exception of + SOIL_FLAG_TEXTURE_REPEATS will be ignored while + loading already-compressed DDS files.) + + SOIL_FLAG_POWER_OF_TWO: force the image to be POT + SOIL_FLAG_MIPMAPS: generate mipmaps for the texture + SOIL_FLAG_TEXTURE_REPEATS: otherwise will clamp + SOIL_FLAG_MULTIPLY_ALPHA: for using (GL_ONE,GL_ONE_MINUS_SRC_ALPHA) blending + SOIL_FLAG_INVERT_Y: flip the image vertically + SOIL_FLAG_COMPRESS_TO_DXT: if the card can display them, will convert RGB to DXT1, RGBA to DXT5 + SOIL_FLAG_DDS_LOAD_DIRECT: will load DDS files directly without _ANY_ additional processing ( if supported ) + SOIL_FLAG_NTSC_SAFE_RGB: clamps RGB components to the range [16,235] + SOIL_FLAG_CoCg_Y: Google YCoCg; RGB=>CoYCg, RGBA=>CoCgAY + SOIL_FLAG_TEXTURE_RECTANGE: uses ARB_texture_rectangle ; pixel indexed & no repeat or MIPmaps or cubemaps + SOIL_FLAG_PVR_LOAD_DIRECT: will load PVR files directly without _ANY_ additional processing ( if supported ) +**/ +enum +{ + SOIL_FLAG_POWER_OF_TWO = 1, + SOIL_FLAG_MIPMAPS = 2, + SOIL_FLAG_TEXTURE_REPEATS = 4, + SOIL_FLAG_MULTIPLY_ALPHA = 8, + SOIL_FLAG_INVERT_Y = 16, + SOIL_FLAG_COMPRESS_TO_DXT = 32, + SOIL_FLAG_DDS_LOAD_DIRECT = 64, + SOIL_FLAG_NTSC_SAFE_RGB = 128, + SOIL_FLAG_CoCg_Y = 256, + SOIL_FLAG_TEXTURE_RECTANGLE = 512, + SOIL_FLAG_PVR_LOAD_DIRECT = 1024, + SOIL_FLAG_ETC1_LOAD_DIRECT = 2048, + SOIL_FLAG_GL_MIPMAPS = 4096 +}; + +/** + The types of images that may be saved. + (TGA supports uncompressed RGB / RGBA) + (BMP supports uncompressed RGB) + (DDS supports DXT1 and DXT5) + (PNG supports RGB / RGBA) +**/ +enum +{ + SOIL_SAVE_TYPE_TGA = 0, + SOIL_SAVE_TYPE_BMP = 1, + SOIL_SAVE_TYPE_PNG = 2, + SOIL_SAVE_TYPE_DDS = 3 +}; + +/** + Defines the order of faces in a DDS cubemap. + I recommend that you use the same order in single + image cubemap files, so they will be interchangeable + with DDS cubemaps when using SOIL. +**/ +#define SOIL_DDS_CUBEMAP_FACE_ORDER "EWUDNS" + +/** + The types of internal fake HDR representations + + SOIL_HDR_RGBE: RGB * pow( 2.0, A - 128.0 ) + SOIL_HDR_RGBdivA: RGB / A + SOIL_HDR_RGBdivA2: RGB / (A*A) +**/ +enum +{ + SOIL_HDR_RGBE = 0, + SOIL_HDR_RGBdivA = 1, + SOIL_HDR_RGBdivA2 = 2 +}; + +/** + Loads an image from disk into an OpenGL texture. + \param filename the name of the file to upload as a texture + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_texture + ( + const char *filename, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags, + int *width, + int *height); + +/** + Loads 6 images from disk into an OpenGL cubemap texture. + \param x_pos_file the name of the file to upload as the +x cube face + \param x_neg_file the name of the file to upload as the -x cube face + \param y_pos_file the name of the file to upload as the +y cube face + \param y_neg_file the name of the file to upload as the -y cube face + \param z_pos_file the name of the file to upload as the +z cube face + \param z_neg_file the name of the file to upload as the -z cube face + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_cubemap + ( + const char *x_pos_file, + const char *x_neg_file, + const char *y_pos_file, + const char *y_neg_file, + const char *z_pos_file, + const char *z_neg_file, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Loads 1 image from disk and splits it into an OpenGL cubemap texture. + \param filename the name of the file to upload as a texture + \param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc. + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_single_cubemap + ( + const char *filename, + const char face_order[6], + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Loads an HDR image from disk into an OpenGL texture. + \param filename the name of the file to upload as a texture + \param fake_HDR_format SOIL_HDR_RGBE, SOIL_HDR_RGBdivA, SOIL_HDR_RGBdivA2 + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_HDR_texture + ( + const char *filename, + int fake_HDR_format, + int rescale_to_max, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Loads an image from RAM into an OpenGL texture. + \param buffer the image data in RAM just as if it were still in a file + \param buffer_length the size of the buffer in bytes + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_texture_from_memory + (const unsigned char *const buffer, + unsigned int buffer_length, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags, + int * width, + int * height + ); + +/** + Loads 6 images from memory into an OpenGL cubemap texture. + \param x_pos_buffer the image data in RAM to upload as the +x cube face + \param x_pos_buffer_length the size of the above buffer + \param x_neg_buffer the image data in RAM to upload as the +x cube face + \param x_neg_buffer_length the size of the above buffer + \param y_pos_buffer the image data in RAM to upload as the +x cube face + \param y_pos_buffer_length the size of the above buffer + \param y_neg_buffer the image data in RAM to upload as the +x cube face + \param y_neg_buffer_length the size of the above buffer + \param z_pos_buffer the image data in RAM to upload as the +x cube face + \param z_pos_buffer_length the size of the above buffer + \param z_neg_buffer the image data in RAM to upload as the +x cube face + \param z_neg_buffer_length the size of the above buffer + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_cubemap_from_memory + ( + const unsigned char *const x_pos_buffer, + int x_pos_buffer_length, + const unsigned char *const x_neg_buffer, + int x_neg_buffer_length, + const unsigned char *const y_pos_buffer, + int y_pos_buffer_length, + const unsigned char *const y_neg_buffer, + int y_neg_buffer_length, + const unsigned char *const z_pos_buffer, + int z_pos_buffer_length, + const unsigned char *const z_neg_buffer, + int z_neg_buffer_length, + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Loads 1 image from RAM and splits it into an OpenGL cubemap texture. + \param buffer the image data in RAM just as if it were still in a file + \param buffer_length the size of the buffer in bytes + \param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc. + \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_load_OGL_single_cubemap_from_memory + ( + const unsigned char *const buffer, + int buffer_length, + const char face_order[6], + int force_channels, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Creates a 2D OpenGL texture from raw image data. Note that the raw data is + _NOT_ freed after the upload (so the user can load various versions). + \param data the raw data to be uploaded as an OpenGL texture + \param width the pointer of the width of the image in pixels ( if the texture size change, width will be overrided with the new width ) + \param height the pointer of the height of the image in pixels ( if the texture size change, height will be overrided with the new height ) + \param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_create_OGL_texture + ( + const unsigned char *const data, + int *width, int *height, int channels, + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Creates an OpenGL cubemap texture by splitting up 1 image into 6 parts. + \param data the raw data to be uploaded as an OpenGL texture + \param width the width of the image in pixels + \param height the height of the image in pixels + \param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA + \param face_order the order of the faces in the file, and combination of NSWEUD, for North, South, Up, etc. + \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) + \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT + \return 0-failed, otherwise returns the OpenGL texture handle +**/ +unsigned int + SOIL_create_OGL_single_cubemap + ( + const unsigned char *const data, + int width, int height, int channels, + const char face_order[6], + unsigned int reuse_texture_ID, + unsigned int flags + ); + +/** + Captures the OpenGL window (RGB) and saves it to disk + \return 0 if it failed, otherwise returns 1 +**/ +int + SOIL_save_screenshot + ( + const char *filename, + int image_type, + int x, int y, + int width, int height + ); + +/** + Loads an image from disk into an array of unsigned chars. + Note that *channels return the original channel count of the + image. If force_channels was other than SOIL_LOAD_AUTO, + the resulting image has force_channels, but *channels may be + different (if the original image had a different channel + count). + \return 0 if failed, otherwise returns 1 +**/ +unsigned char* + SOIL_load_image + ( + const char *filename, + int *width, int *height, int *channels, + int force_channels + ); + +/** + Loads an image from memory into an array of unsigned chars. + Note that *channels return the original channel count of the + image. If force_channels was other than SOIL_LOAD_AUTO, + the resulting image has force_channels, but *channels may be + different (if the original image had a different channel + count). + \return 0 if failed, otherwise returns 1 +**/ +unsigned char* + SOIL_load_image_from_memory + ( + const unsigned char *const buffer, + int buffer_length, + int *width, int *height, int *channels, + int force_channels + ); + +/** + Saves an image from an array of unsigned chars (RGBA) to disk + \return 0 if failed, otherwise returns 1 +**/ +int + SOIL_save_image + ( + const char *filename, + int image_type, + int width, int height, int channels, + const unsigned char *const data + ); + +/** + Frees the image data (note, this is just C's "free()"...this function is + present mostly so C++ programmers don't forget to use "free()" and call + "delete []" instead [8^) +**/ +void + SOIL_free_image_data + ( + unsigned char *img_data + ); + +/** + This function resturn a pointer to a string describing the last thing + that happened inside SOIL. It can be used to determine why an image + failed to load. +**/ +const char* + SOIL_last_result + ( + void + ); + +/** @return The address of the GL function proc, or NULL if the function is not found. */ +void * + SOIL_GL_GetProcAddress + ( + const char *proc + ); + +/** @return 1 if an OpenGL extension is supported for the current context, 0 otherwise. */ +int + SOIL_GL_ExtensionSupported + ( + const char *extension + ); + +/** Loads the DDS texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_DDS( + const char *filename, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ); + +/** Loads the DDS texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_DDS_from_memory( + const unsigned char *const buffer, + unsigned int buffer_length, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ); + +/** Loads the PVR texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_PVR( + const char *filename, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ); + +/** Loads the PVR texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_PVR_from_memory( + const unsigned char *const buffer, + int buffer_length, + unsigned int reuse_texture_ID, + int flags, + int loading_as_cubemap ); + +/** Loads the PVR texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_ETC1(const char *filename, + unsigned int reuse_texture_ID, + int flags ); + +/** Loads the PVR texture directly to the GPU memory ( if supported ) */ +unsigned int SOIL_direct_load_ETC1_from_memory(const unsigned char *const buffer, + int buffer_length, + unsigned int reuse_texture_ID, + int flags ); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY */ diff --git a/src/libprojectM/Renderer/SOIL2/etc1_utils.c b/src/libprojectM/Renderer/SOIL2/etc1_utils.c new file mode 100644 index 0000000000..c6a6be23f0 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/etc1_utils.c @@ -0,0 +1,680 @@ +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "etc1_utils.h" + +#include + +/* From http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt + + The number of bits that represent a 4x4 texel block is 64 bits if + is given by ETC1_RGB8_OES. + + The data for a block is a number of bytes, + + {q0, q1, q2, q3, q4, q5, q6, q7} + + where byte q0 is located at the lowest memory address and q7 at + the highest. The 64 bits specifying the block is then represented + by the following 64 bit integer: + + int64bit = 256*(256*(256*(256*(256*(256*(256*q0+q1)+q2)+q3)+q4)+q5)+q6)+q7; + + ETC1_RGB8_OES: + + a) bit layout in bits 63 through 32 if diffbit = 0 + + 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 + ----------------------------------------------- + | base col1 | base col2 | base col1 | base col2 | + | R1 (4bits)| R2 (4bits)| G1 (4bits)| G2 (4bits)| + ----------------------------------------------- + + 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 + --------------------------------------------------- + | base col1 | base col2 | table | table |diff|flip| + | B1 (4bits)| B2 (4bits)| cw 1 | cw 2 |bit |bit | + --------------------------------------------------- + + + b) bit layout in bits 63 through 32 if diffbit = 1 + + 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 + ----------------------------------------------- + | base col1 | dcol 2 | base col1 | dcol 2 | + | R1' (5 bits) | dR2 | G1' (5 bits) | dG2 | + ----------------------------------------------- + + 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 + --------------------------------------------------- + | base col 1 | dcol 2 | table | table |diff|flip| + | B1' (5 bits) | dB2 | cw 1 | cw 2 |bit |bit | + --------------------------------------------------- + + + c) bit layout in bits 31 through 0 (in both cases) + + 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 + ----------------------------------------------- + | most significant pixel index bits | + | p| o| n| m| l| k| j| i| h| g| f| e| d| c| b| a| + ----------------------------------------------- + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + -------------------------------------------------- + | least significant pixel index bits | + | p| o| n| m| l| k| j| i| h| g| f| e| d| c | b | a | + -------------------------------------------------- + + + Add table 3.17.2: Intensity modifier sets for ETC1 compressed textures: + + table codeword modifier table + ------------------ ---------------------- + 0 -8 -2 2 8 + 1 -17 -5 5 17 + 2 -29 -9 9 29 + 3 -42 -13 13 42 + 4 -60 -18 18 60 + 5 -80 -24 24 80 + 6 -106 -33 33 106 + 7 -183 -47 47 183 + + + Add table 3.17.3 Mapping from pixel index values to modifier values for + ETC1 compressed textures: + + pixel index value + --------------- + msb lsb resulting modifier value + ----- ----- ------------------------- + 1 1 -b (large negative value) + 1 0 -a (small negative value) + 0 0 a (small positive value) + 0 1 b (large positive value) + + + */ + +static const int kModifierTable[] = { +/* 0 */2, 8, -2, -8, +/* 1 */5, 17, -5, -17, +/* 2 */9, 29, -9, -29, +/* 3 */13, 42, -13, -42, +/* 4 */18, 60, -18, -60, +/* 5 */24, 80, -24, -80, +/* 6 */33, 106, -33, -106, +/* 7 */47, 183, -47, -183 }; + +static const int kLookup[8] = { 0, 1, 2, 3, -4, -3, -2, -1 }; + +static inline etc1_byte clamp(int x) { + return (etc1_byte) (x >= 0 ? (x < 255 ? x : 255) : 0); +} + +static +inline int convert4To8(int b) { + int c = b & 0xf; + return (c << 4) | c; +} + +static +inline int convert5To8(int b) { + int c = b & 0x1f; + return (c << 3) | (c >> 2); +} + +static +inline int convert6To8(int b) { + int c = b & 0x3f; + return (c << 2) | (c >> 4); +} + +static +inline int divideBy255(int d) { + return (d + 128 + (d >> 8)) >> 8; +} + +static +inline int convert8To4(int b) { + //int c = b & 0xff; + return divideBy255(b * 15); +} + +static +inline int convert8To5(int b) { + //int c = b & 0xff; + return divideBy255(b * 31); +} + +static +inline int convertDiff(int base, int diff) { + return convert5To8((0x1f & base) + kLookup[0x7 & diff]); +} + +static +void decode_subblock(etc1_byte* pOut, int r, int g, int b, const int* table, + etc1_uint32 low, etc1_bool second, etc1_bool flipped) { + int baseX = 0; + int baseY = 0; + int i; + + if (second) { + if (flipped) { + baseY = 2; + } else { + baseX = 2; + } + } + for (i = 0; i < 8; i++) { + int x, y; + if (flipped) { + x = baseX + (i >> 1); + y = baseY + (i & 1); + } else { + x = baseX + (i >> 2); + y = baseY + (i & 3); + } + int k = y + (x * 4); + int offset = ((low >> k) & 1) | ((low >> (k + 15)) & 2); + int delta = table[offset]; + etc1_byte* q = pOut + 3 * (x + 4 * y); + *q++ = clamp(r + delta); + *q++ = clamp(g + delta); + *q++ = clamp(b + delta); + } +} + +// Input is an ETC1 compressed version of the data. +// Output is a 4 x 4 square of 3-byte pixels in form R, G, B + +void etc1_decode_block(const etc1_byte* pIn, etc1_byte* pOut) { + etc1_uint32 high = (pIn[0] << 24) | (pIn[1] << 16) | (pIn[2] << 8) | pIn[3]; + etc1_uint32 low = (pIn[4] << 24) | (pIn[5] << 16) | (pIn[6] << 8) | pIn[7]; + int r1, r2, g1, g2, b1, b2; + if (high & 2) { + // differential + int rBase = high >> 27; + int gBase = high >> 19; + int bBase = high >> 11; + r1 = convert5To8(rBase); + r2 = convertDiff(rBase, high >> 24); + g1 = convert5To8(gBase); + g2 = convertDiff(gBase, high >> 16); + b1 = convert5To8(bBase); + b2 = convertDiff(bBase, high >> 8); + } else { + // not differential + r1 = convert4To8(high >> 28); + r2 = convert4To8(high >> 24); + g1 = convert4To8(high >> 20); + g2 = convert4To8(high >> 16); + b1 = convert4To8(high >> 12); + b2 = convert4To8(high >> 8); + } + int tableIndexA = 7 & (high >> 5); + int tableIndexB = 7 & (high >> 2); + const int* tableA = kModifierTable + tableIndexA * 4; + const int* tableB = kModifierTable + tableIndexB * 4; + etc1_bool flipped = (high & 1) != 0; + decode_subblock(pOut, r1, g1, b1, tableA, low, 0, flipped); + decode_subblock(pOut, r2, g2, b2, tableB, low, 1, flipped); +} + +typedef struct { + etc1_uint32 high; + etc1_uint32 low; + etc1_uint32 score; // Lower is more accurate +} etc_compressed; + +static +inline void take_best(etc_compressed* a, const etc_compressed* b) { + if (a->score > b->score) { + *a = *b; + } +} + +static +void etc_average_colors_subblock(const etc1_byte* pIn, etc1_uint32 inMask, + etc1_byte* pColors, etc1_bool flipped, etc1_bool second) { + int r = 0; + int g = 0; + int b = 0; + int y, x; + + if (flipped) { + int by = 0; + if (second) { + by = 2; + } + for ( y = 0; y < 2; y++) { + int yy = by + y; + for ( x = 0; x < 4; x++) { + int i = x + 4 * yy; + if (inMask & (1 << i)) { + const etc1_byte* p = pIn + i * 3; + r += *(p++); + g += *(p++); + b += *(p++); + } + } + } + } else { + int bx = 0; + if (second) { + bx = 2; + } + for ( y = 0; y < 4; y++) { + for ( x = 0; x < 2; x++) { + int xx = bx + x; + int i = xx + 4 * y; + if (inMask & (1 << i)) { + const etc1_byte* p = pIn + i * 3; + r += *(p++); + g += *(p++); + b += *(p++); + } + } + } + } + pColors[0] = (etc1_byte)((r + 4) >> 3); + pColors[1] = (etc1_byte)((g + 4) >> 3); + pColors[2] = (etc1_byte)((b + 4) >> 3); +} + +static +inline int square(int x) { + return x * x; +} + +static etc1_uint32 chooseModifier(const etc1_byte* pBaseColors, + const etc1_byte* pIn, etc1_uint32 *pLow, int bitIndex, + const int* pModifierTable) { + etc1_uint32 bestScore = ~0; + int bestIndex = 0; + int pixelR = pIn[0]; + int pixelG = pIn[1]; + int pixelB = pIn[2]; + int r = pBaseColors[0]; + int g = pBaseColors[1]; + int b = pBaseColors[2]; + int i; + for ( i = 0; i < 4; i++) { + int modifier = pModifierTable[i]; + int decodedG = clamp(g + modifier); + etc1_uint32 score = (etc1_uint32) (6 * square(decodedG - pixelG)); + if (score >= bestScore) { + continue; + } + int decodedR = clamp(r + modifier); + score += (etc1_uint32) (3 * square(decodedR - pixelR)); + if (score >= bestScore) { + continue; + } + int decodedB = clamp(b + modifier); + score += (etc1_uint32) square(decodedB - pixelB); + if (score < bestScore) { + bestScore = score; + bestIndex = i; + } + } + etc1_uint32 lowMask = (((bestIndex >> 1) << 16) | (bestIndex & 1)) + << bitIndex; + *pLow |= lowMask; + return bestScore; +} + +static +void etc_encode_subblock_helper(const etc1_byte* pIn, etc1_uint32 inMask, + etc_compressed* pCompressed, etc1_bool flipped, etc1_bool second, + const etc1_byte* pBaseColors, const int* pModifierTable) { + int score = pCompressed->score; + int y, x; + if (flipped) { + int by = 0; + if (second) { + by = 2; + } + for ( y = 0; y < 2; y++) { + int yy = by + y; + for ( x = 0; x < 4; x++) { + int i = x + 4 * yy; + if (inMask & (1 << i)) { + score += chooseModifier(pBaseColors, pIn + i * 3, + &pCompressed->low, yy + x * 4, pModifierTable); + } + } + } + } else { + int bx = 0; + if (second) { + bx = 2; + } + for ( y = 0; y < 4; y++) { + for ( x = 0; x < 2; x++) { + int xx = bx + x; + int i = xx + 4 * y; + if (inMask & (1 << i)) { + score += chooseModifier(pBaseColors, pIn + i * 3, + &pCompressed->low, y + xx * 4, pModifierTable); + } + } + } + } + pCompressed->score = score; +} + +static etc1_bool inRange4bitSigned(int color) { + return color >= -4 && color <= 3; +} + +static void etc_encodeBaseColors(etc1_byte* pBaseColors, + const etc1_byte* pColors, etc_compressed* pCompressed) { + int r1, g1, b1, r2 = 0, g2 = 0, b2 = 0; // 8 bit base colors for sub-blocks + etc1_bool differential; + { + int r51 = convert8To5(pColors[0]); + int g51 = convert8To5(pColors[1]); + int b51 = convert8To5(pColors[2]); + int r52 = convert8To5(pColors[3]); + int g52 = convert8To5(pColors[4]); + int b52 = convert8To5(pColors[5]); + + r1 = convert5To8(r51); + g1 = convert5To8(g51); + b1 = convert5To8(b51); + + int dr = r52 - r51; + int dg = g52 - g51; + int db = b52 - b51; + + differential = inRange4bitSigned(dr) && inRange4bitSigned(dg) + && inRange4bitSigned(db); + if (differential) { + r2 = convert5To8(r51 + dr); + g2 = convert5To8(g51 + dg); + b2 = convert5To8(b51 + db); + pCompressed->high |= (r51 << 27) | ((7 & dr) << 24) | (g51 << 19) + | ((7 & dg) << 16) | (b51 << 11) | ((7 & db) << 8) | 2; + } + } + + if (!differential) { + int r41 = convert8To4(pColors[0]); + int g41 = convert8To4(pColors[1]); + int b41 = convert8To4(pColors[2]); + int r42 = convert8To4(pColors[3]); + int g42 = convert8To4(pColors[4]); + int b42 = convert8To4(pColors[5]); + r1 = convert4To8(r41); + g1 = convert4To8(g41); + b1 = convert4To8(b41); + r2 = convert4To8(r42); + g2 = convert4To8(g42); + b2 = convert4To8(b42); + pCompressed->high |= (r41 << 28) | (r42 << 24) | (g41 << 20) | (g42 + << 16) | (b41 << 12) | (b42 << 8); + } + pBaseColors[0] = r1; + pBaseColors[1] = g1; + pBaseColors[2] = b1; + pBaseColors[3] = r2; + pBaseColors[4] = g2; + pBaseColors[5] = b2; +} + +static +void etc_encode_block_helper(const etc1_byte* pIn, etc1_uint32 inMask, + const etc1_byte* pColors, etc_compressed* pCompressed, etc1_bool flipped) { + int i; + + pCompressed->score = ~0; + pCompressed->high = (flipped ? 1 : 0); + pCompressed->low = 0; + + etc1_byte pBaseColors[6]; + + etc_encodeBaseColors(pBaseColors, pColors, pCompressed); + + int originalHigh = pCompressed->high; + + const int* pModifierTable = kModifierTable; + for ( i = 0; i < 8; i++, pModifierTable += 4) { + etc_compressed temp; + temp.score = 0; + temp.high = originalHigh | (i << 5); + temp.low = 0; + etc_encode_subblock_helper(pIn, inMask, &temp, flipped, 0, + pBaseColors, pModifierTable); + take_best(pCompressed, &temp); + } + pModifierTable = kModifierTable; + etc_compressed firstHalf = *pCompressed; + for ( i = 0; i < 8; i++, pModifierTable += 4) { + etc_compressed temp; + temp.score = firstHalf.score; + temp.high = firstHalf.high | (i << 2); + temp.low = firstHalf.low; + etc_encode_subblock_helper(pIn, inMask, &temp, flipped, 1, + pBaseColors + 3, pModifierTable); + if (i == 0) { + *pCompressed = temp; + } else { + take_best(pCompressed, &temp); + } + } +} + +static void writeBigEndian(etc1_byte* pOut, etc1_uint32 d) { + pOut[0] = (etc1_byte)(d >> 24); + pOut[1] = (etc1_byte)(d >> 16); + pOut[2] = (etc1_byte)(d >> 8); + pOut[3] = (etc1_byte) d; +} + +// Input is a 4 x 4 square of 3-byte pixels in form R, G, B +// inmask is a 16-bit mask where bit (1 << (x + y * 4)) tells whether the corresponding (x,y) +// pixel is valid or not. Invalid pixel color values are ignored when compressing. +// Output is an ETC1 compressed version of the data. + +void etc1_encode_block(const etc1_byte* pIn, etc1_uint32 inMask, + etc1_byte* pOut) { + etc1_byte colors[6]; + etc1_byte flippedColors[6]; + etc_average_colors_subblock(pIn, inMask, colors, 0, 0); + etc_average_colors_subblock(pIn, inMask, colors + 3, 0, 1); + etc_average_colors_subblock(pIn, inMask, flippedColors, 1, 0); + etc_average_colors_subblock(pIn, inMask, flippedColors + 3, 1, 1); + + etc_compressed a, b; + etc_encode_block_helper(pIn, inMask, colors, &a, 0); + etc_encode_block_helper(pIn, inMask, flippedColors, &b, 1); + take_best(&a, &b); + writeBigEndian(pOut, a.high); + writeBigEndian(pOut + 4, a.low); +} + +// Return the size of the encoded image data (does not include size of PKM header). + +etc1_uint32 etc1_get_encoded_data_size(etc1_uint32 width, etc1_uint32 height) { + return (((width + 3) & ~3) * ((height + 3) & ~3)) >> 1; +} + +// Encode an entire image. +// pIn - pointer to the image data. Formatted such that the Red component of +// pixel (x,y) is at pIn + pixelSize * x + stride * y + redOffset; +// pOut - pointer to encoded data. Must be large enough to store entire encoded image. + +int etc1_encode_image(const etc1_byte* pIn, etc1_uint32 width, etc1_uint32 height, + etc1_uint32 pixelSize, etc1_uint32 stride, etc1_byte* pOut) { + if (pixelSize < 2 || pixelSize > 3) { + return -1; + } + static const unsigned short kYMask[] = { 0x0, 0xf, 0xff, 0xfff, 0xffff }; + static const unsigned short kXMask[] = { 0x0, 0x1111, 0x3333, 0x7777, + 0xffff }; + etc1_byte block[ETC1_DECODED_BLOCK_SIZE]; + etc1_byte encoded[ETC1_ENCODED_BLOCK_SIZE]; + etc1_uint32 y, x, cy, cx; + + etc1_uint32 encodedWidth = (width + 3) & ~3; + etc1_uint32 encodedHeight = (height + 3) & ~3; + + for ( y = 0; y < encodedHeight; y += 4) { + etc1_uint32 yEnd = height - y; + if (yEnd > 4) { + yEnd = 4; + } + int ymask = kYMask[yEnd]; + for ( x = 0; x < encodedWidth; x += 4) { + etc1_uint32 xEnd = width - x; + if (xEnd > 4) { + xEnd = 4; + } + int mask = ymask & kXMask[xEnd]; + for ( cy = 0; cy < yEnd; cy++) { + etc1_byte* q = block + (cy * 4) * 3; + const etc1_byte* p = pIn + pixelSize * x + stride * (y + cy); + if (pixelSize == 3) { + memcpy(q, p, xEnd * 3); + } else { + for ( cx = 0; cx < xEnd; cx++) { + int pixel = (p[1] << 8) | p[0]; + *q++ = convert5To8(pixel >> 11); + *q++ = convert6To8(pixel >> 5); + *q++ = convert5To8(pixel); + p += pixelSize; + } + } + } + etc1_encode_block(block, mask, encoded); + memcpy(pOut, encoded, sizeof(encoded)); + pOut += sizeof(encoded); + } + } + return 0; +} + +// Decode an entire image. +// pIn - pointer to encoded data. +// pOut - pointer to the image data. Will be written such that the Red component of +// pixel (x,y) is at pIn + pixelSize * x + stride * y + redOffset. Must be +// large enough to store entire image. + + +int etc1_decode_image(const etc1_byte* pIn, etc1_byte* pOut, + etc1_uint32 width, etc1_uint32 height, + etc1_uint32 pixelSize, etc1_uint32 stride) { + if (pixelSize < 2 || pixelSize > 3) { + return -1; + } + etc1_byte block[ETC1_DECODED_BLOCK_SIZE]; + + etc1_uint32 encodedWidth = (width + 3) & ~3; + etc1_uint32 encodedHeight = (height + 3) & ~3; + + etc1_uint32 y, x, cy, cx; + + for ( y = 0; y < encodedHeight; y += 4) { + etc1_uint32 yEnd = height - y; + if (yEnd > 4) { + yEnd = 4; + } + for ( x = 0; x < encodedWidth; x += 4) { + etc1_uint32 xEnd = width - x; + if (xEnd > 4) { + xEnd = 4; + } + etc1_decode_block(pIn, block); + pIn += ETC1_ENCODED_BLOCK_SIZE; + for ( cy = 0; cy < yEnd; cy++) { + const etc1_byte* q = block + (cy * 4) * 3; + etc1_byte* p = pOut + pixelSize * x + stride * (y + cy); + if (pixelSize == 3) { + memcpy(p, q, xEnd * 3); + } else { + for ( cx = 0; cx < xEnd; cx++) { + etc1_byte r = *q++; + etc1_byte g = *q++; + etc1_byte b = *q++; + etc1_uint32 pixel = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); + *p++ = (etc1_byte) pixel; + *p++ = (etc1_byte) (pixel >> 8); + } + } + } + } + } + return 0; +} + +static const char kMagic[] = { 'P', 'K', 'M', ' ', '1', '0' }; + +static const etc1_uint32 ETC1_PKM_FORMAT_OFFSET = 6; +static const etc1_uint32 ETC1_PKM_ENCODED_WIDTH_OFFSET = 8; +static const etc1_uint32 ETC1_PKM_ENCODED_HEIGHT_OFFSET = 10; +static const etc1_uint32 ETC1_PKM_WIDTH_OFFSET = 12; +static const etc1_uint32 ETC1_PKM_HEIGHT_OFFSET = 14; + +static const etc1_uint32 ETC1_RGB_NO_MIPMAPS = 0; + +static void writeBEUint16(etc1_byte* pOut, etc1_uint32 data) { + pOut[0] = (etc1_byte) (data >> 8); + pOut[1] = (etc1_byte) data; +} + +static etc1_uint32 readBEUint16(const etc1_byte* pIn) { + return (pIn[0] << 8) | pIn[1]; +} + +// Format a PKM header + +void etc1_pkm_format_header(etc1_byte* pHeader, etc1_uint32 width, etc1_uint32 height) { + memcpy(pHeader, kMagic, sizeof(kMagic)); + etc1_uint32 encodedWidth = (width + 3) & ~3; + etc1_uint32 encodedHeight = (height + 3) & ~3; + writeBEUint16(pHeader + ETC1_PKM_FORMAT_OFFSET, ETC1_RGB_NO_MIPMAPS); + writeBEUint16(pHeader + ETC1_PKM_ENCODED_WIDTH_OFFSET, encodedWidth); + writeBEUint16(pHeader + ETC1_PKM_ENCODED_HEIGHT_OFFSET, encodedHeight); + writeBEUint16(pHeader + ETC1_PKM_WIDTH_OFFSET, width); + writeBEUint16(pHeader + ETC1_PKM_HEIGHT_OFFSET, height); +} + +// Check if a PKM header is correctly formatted. + +etc1_bool etc1_pkm_is_valid(const etc1_byte* pHeader) { + if (memcmp(pHeader, kMagic, sizeof(kMagic))) { + return 0; + } + etc1_uint32 format = readBEUint16(pHeader + ETC1_PKM_FORMAT_OFFSET); + etc1_uint32 encodedWidth = readBEUint16(pHeader + ETC1_PKM_ENCODED_WIDTH_OFFSET); + etc1_uint32 encodedHeight = readBEUint16(pHeader + ETC1_PKM_ENCODED_HEIGHT_OFFSET); + etc1_uint32 width = readBEUint16(pHeader + ETC1_PKM_WIDTH_OFFSET); + etc1_uint32 height = readBEUint16(pHeader + ETC1_PKM_HEIGHT_OFFSET); + return format == ETC1_RGB_NO_MIPMAPS && + encodedWidth >= width && encodedWidth - width < 4 && + encodedHeight >= height && encodedHeight - height < 4; +} + +// Read the image width from a PKM header + +etc1_uint32 etc1_pkm_get_width(const etc1_byte* pHeader) { + return readBEUint16(pHeader + ETC1_PKM_WIDTH_OFFSET); +} + +// Read the image height from a PKM header + +etc1_uint32 etc1_pkm_get_height(const etc1_byte* pHeader){ + return readBEUint16(pHeader + ETC1_PKM_HEIGHT_OFFSET); +} diff --git a/src/libprojectM/Renderer/SOIL2/etc1_utils.h b/src/libprojectM/Renderer/SOIL2/etc1_utils.h new file mode 100644 index 0000000000..2c7ab903a0 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/etc1_utils.h @@ -0,0 +1,106 @@ +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef __etc1_h__ +#define __etc1_h__ + +#define ETC1_ENCODED_BLOCK_SIZE 8 +#define ETC1_DECODED_BLOCK_SIZE 48 + +#ifndef ETC1_RGB8_OES +#define ETC1_RGB8_OES 0x8D64 +#endif + +typedef unsigned char etc1_byte; +typedef int etc1_bool; +typedef unsigned int etc1_uint32; + +#ifdef __cplusplus +extern "C" { +#endif + +// Encode a block of pixels. +// +// pIn is a pointer to a ETC_DECODED_BLOCK_SIZE array of bytes that represent a +// 4 x 4 square of 3-byte pixels in form R, G, B. Byte (3 * (x + 4 * y) is the R +// value of pixel (x, y). +// +// validPixelMask is a 16-bit mask where bit (1 << (x + y * 4)) indicates whether +// the corresponding (x,y) pixel is valid. Invalid pixel color values are ignored when compressing. +// +// pOut is an ETC1 compressed version of the data. + +void etc1_encode_block(const etc1_byte* pIn, etc1_uint32 validPixelMask, etc1_byte* pOut); + +// Decode a block of pixels. +// +// pIn is an ETC1 compressed version of the data. +// +// pOut is a pointer to a ETC_DECODED_BLOCK_SIZE array of bytes that represent a +// 4 x 4 square of 3-byte pixels in form R, G, B. Byte (3 * (x + 4 * y) is the R +// value of pixel (x, y). + +void etc1_decode_block(const etc1_byte* pIn, etc1_byte* pOut); + +// Return the size of the encoded image data (does not include size of PKM header). + +etc1_uint32 etc1_get_encoded_data_size(etc1_uint32 width, etc1_uint32 height); + +// Encode an entire image. +// pIn - pointer to the image data. Formatted such that +// pixel (x,y) is at pIn + pixelSize * x + stride * y; +// pOut - pointer to encoded data. Must be large enough to store entire encoded image. +// pixelSize can be 2 or 3. 2 is an GL_UNSIGNED_SHORT_5_6_5 image, 3 is a GL_BYTE RGB image. +// returns non-zero if there is an error. + +int etc1_encode_image(const etc1_byte* pIn, etc1_uint32 width, etc1_uint32 height, + etc1_uint32 pixelSize, etc1_uint32 stride, etc1_byte* pOut); + +// Decode an entire image. +// pIn - pointer to encoded data. +// pOut - pointer to the image data. Will be written such that +// pixel (x,y) is at pIn + pixelSize * x + stride * y. Must be +// large enough to store entire image. +// pixelSize can be 2 or 3. 2 is an GL_UNSIGNED_SHORT_5_6_5 image, 3 is a GL_BYTE RGB image. +// returns non-zero if there is an error. + +int etc1_decode_image(const etc1_byte* pIn, etc1_byte* pOut, + etc1_uint32 width, etc1_uint32 height, + etc1_uint32 pixelSize, etc1_uint32 stride); + +// Size of a PKM header, in bytes. + +#define ETC_PKM_HEADER_SIZE 16 + +// Format a PKM header + +void etc1_pkm_format_header(etc1_byte* pHeader, etc1_uint32 width, etc1_uint32 height); + +// Check if a PKM header is correctly formatted. + +etc1_bool etc1_pkm_is_valid(const etc1_byte* pHeader); + +// Read the image width from a PKM header + +etc1_uint32 etc1_pkm_get_width(const etc1_byte* pHeader); + +// Read the image height from a PKM header + +etc1_uint32 etc1_pkm_get_height(const etc1_byte* pHeader); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/src/libprojectM/Renderer/SOIL2/image_DXT.c b/src/libprojectM/Renderer/SOIL2/image_DXT.c new file mode 100755 index 0000000000..eb90be67bc --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/image_DXT.c @@ -0,0 +1,632 @@ +/* + Jonathan Dummer + 2007-07-31-10.32 + + simple DXT compression / decompression code + + public domain +*/ + +#include "image_DXT.h" +#include +#include +#include +#include + +/* set this =1 if you want to use the covarince matrix method... + which is better than my method of using standard deviations + overall, except on the infintesimal chance that the power + method fails for finding the largest eigenvector */ +#define USE_COV_MAT 1 + +/********* Function Prototypes *********/ +/* + Takes a 4x4 block of pixels and compresses it into 8 bytes + in DXT1 format (color only, no alpha). Speed is valued + over prettyness, at least for now. +*/ +void compress_DDS_color_block( + int channels, + const unsigned char *const uncompressed, + unsigned char compressed[8] ); +/* + Takes a 4x4 block of pixels and compresses the alpha + component it into 8 bytes for use in DXT5 DDS files. + Speed is valued over prettyness, at least for now. +*/ +void compress_DDS_alpha_block( + const unsigned char *const uncompressed, + unsigned char compressed[8] ); + +/********* Actual Exposed Functions *********/ +int + save_image_as_DDS + ( + const char *filename, + int width, int height, int channels, + const unsigned char *const data + ) +{ + /* variables */ + FILE *fout; + unsigned char *DDS_data; + DDS_header header; + int DDS_size; + /* error check */ + if( (NULL == filename) || + (width < 1) || (height < 1) || + (channels < 1) || (channels > 4) || + (data == NULL ) ) + { + return 0; + } + /* Convert the image */ + if( (channels & 1) == 1 ) + { + /* no alpha, just use DXT1 */ + DDS_data = convert_image_to_DXT1( data, width, height, channels, &DDS_size ); + } else + { + /* has alpha, so use DXT5 */ + DDS_data = convert_image_to_DXT5( data, width, height, channels, &DDS_size ); + } + /* save it */ + memset( &header, 0, sizeof( DDS_header ) ); + header.dwMagic = ('D' << 0) | ('D' << 8) | ('S' << 16) | (' ' << 24); + header.dwSize = 124; + header.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT | DDSD_LINEARSIZE; + header.dwWidth = width; + header.dwHeight = height; + header.dwPitchOrLinearSize = DDS_size; + header.sPixelFormat.dwSize = 32; + header.sPixelFormat.dwFlags = DDPF_FOURCC; + if( (channels & 1) == 1 ) + { + header.sPixelFormat.dwFourCC = ('D' << 0) | ('X' << 8) | ('T' << 16) | ('1' << 24); + } else + { + header.sPixelFormat.dwFourCC = ('D' << 0) | ('X' << 8) | ('T' << 16) | ('5' << 24); + } + header.sCaps.dwCaps1 = DDSCAPS_TEXTURE; + /* write it out */ + fout = fopen( filename, "wb"); + fwrite( &header, sizeof( DDS_header ), 1, fout ); + fwrite( DDS_data, 1, DDS_size, fout ); + fclose( fout ); + /* done */ + free( DDS_data ); + return 1; +} + +unsigned char* convert_image_to_DXT1( + const unsigned char *const uncompressed, + int width, int height, int channels, + int *out_size ) +{ + unsigned char *compressed; + int i, j, x, y; + unsigned char ublock[16*3]; + unsigned char cblock[8]; + int index = 0, chan_step = 1; + int block_count = 0; + /* error check */ + *out_size = 0; + if( (width < 1) || (height < 1) || + (NULL == uncompressed) || + (channels < 1) || (channels > 4) ) + { + return NULL; + } + /* for channels == 1 or 2, I do not step forward for R,G,B values */ + if( channels < 3 ) + { + chan_step = 0; + } + /* get the RAM for the compressed image + (8 bytes per 4x4 pixel block) */ + *out_size = ((width+3) >> 2) * ((height+3) >> 2) * 8; + compressed = (unsigned char*)malloc( *out_size ); + /* go through each block */ + for( j = 0; j < height; j += 4 ) + { + for( i = 0; i < width; i += 4 ) + { + /* copy this block into a new one */ + int idx = 0; + int mx = 4, my = 4; + if( j+4 >= height ) + { + my = height - j; + } + if( i+4 >= width ) + { + mx = width - i; + } + for( y = 0; y < my; ++y ) + { + for( x = 0; x < mx; ++x ) + { + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels]; + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels+chan_step]; + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels+chan_step+chan_step]; + } + for( x = mx; x < 4; ++x ) + { + ublock[idx++] = ublock[0]; + ublock[idx++] = ublock[1]; + ublock[idx++] = ublock[2]; + } + } + for( y = my; y < 4; ++y ) + { + for( x = 0; x < 4; ++x ) + { + ublock[idx++] = ublock[0]; + ublock[idx++] = ublock[1]; + ublock[idx++] = ublock[2]; + } + } + /* compress the block */ + ++block_count; + compress_DDS_color_block( 3, ublock, cblock ); + /* copy the data from the block into the main block */ + for( x = 0; x < 8; ++x ) + { + compressed[index++] = cblock[x]; + } + } + } + return compressed; +} + +unsigned char* convert_image_to_DXT5( + const unsigned char *const uncompressed, + int width, int height, int channels, + int *out_size ) +{ + unsigned char *compressed; + int i, j, x, y; + unsigned char ublock[16*4]; + unsigned char cblock[8]; + int index = 0, chan_step = 1; + int block_count = 0, has_alpha; + /* error check */ + *out_size = 0; + if( (width < 1) || (height < 1) || + (NULL == uncompressed) || + (channels < 1) || ( channels > 4) ) + { + return NULL; + } + /* for channels == 1 or 2, I do not step forward for R,G,B vales */ + if( channels < 3 ) + { + chan_step = 0; + } + /* # channels = 1 or 3 have no alpha, 2 & 4 do have alpha */ + has_alpha = 1 - (channels & 1); + /* get the RAM for the compressed image + (16 bytes per 4x4 pixel block) */ + *out_size = ((width+3) >> 2) * ((height+3) >> 2) * 16; + compressed = (unsigned char*)malloc( *out_size ); + /* go through each block */ + for( j = 0; j < height; j += 4 ) + { + for( i = 0; i < width; i += 4 ) + { + /* local variables, and my block counter */ + int idx = 0; + int mx = 4, my = 4; + if( j+4 >= height ) + { + my = height - j; + } + if( i+4 >= width ) + { + mx = width - i; + } + for( y = 0; y < my; ++y ) + { + for( x = 0; x < mx; ++x ) + { + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels]; + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels+chan_step]; + ublock[idx++] = uncompressed[(j+y)*width*channels+(i+x)*channels+chan_step+chan_step]; + ublock[idx++] = + has_alpha * uncompressed[(j+y)*width*channels+(i+x)*channels+channels-1] + + (1-has_alpha)*255; + } + for( x = mx; x < 4; ++x ) + { + ublock[idx++] = ublock[0]; + ublock[idx++] = ublock[1]; + ublock[idx++] = ublock[2]; + ublock[idx++] = ublock[3]; + } + } + for( y = my; y < 4; ++y ) + { + for( x = 0; x < 4; ++x ) + { + ublock[idx++] = ublock[0]; + ublock[idx++] = ublock[1]; + ublock[idx++] = ublock[2]; + ublock[idx++] = ublock[3]; + } + } + /* now compress the alpha block */ + compress_DDS_alpha_block( ublock, cblock ); + /* copy the data from the compressed alpha block into the main buffer */ + for( x = 0; x < 8; ++x ) + { + compressed[index++] = cblock[x]; + } + /* then compress the color block */ + ++block_count; + compress_DDS_color_block( 4, ublock, cblock ); + /* copy the data from the compressed color block into the main buffer */ + for( x = 0; x < 8; ++x ) + { + compressed[index++] = cblock[x]; + } + } + } + return compressed; +} + +/********* Helper Functions *********/ +int convert_bit_range( int c, int from_bits, int to_bits ) +{ + int b = (1 << (from_bits - 1)) + c * ((1 << to_bits) - 1); + return (b + (b >> from_bits)) >> from_bits; +} + +int rgb_to_565( int r, int g, int b ) +{ + return + (convert_bit_range( r, 8, 5 ) << 11) | + (convert_bit_range( g, 8, 6 ) << 05) | + (convert_bit_range( b, 8, 5 ) << 00); +} + +void rgb_888_from_565( unsigned int c, int *r, int *g, int *b ) +{ + *r = convert_bit_range( (c >> 11) & 31, 5, 8 ); + *g = convert_bit_range( (c >> 05) & 63, 6, 8 ); + *b = convert_bit_range( (c >> 00) & 31, 5, 8 ); +} + +void compute_color_line_STDEV( + const unsigned char *const uncompressed, + int channels, + float point[3], float direction[3] ) +{ + const float inv_16 = 1.0f / 16.0f; + int i; + float sum_r = 0.0f, sum_g = 0.0f, sum_b = 0.0f; + float sum_rr = 0.0f, sum_gg = 0.0f, sum_bb = 0.0f; + float sum_rg = 0.0f, sum_rb = 0.0f, sum_gb = 0.0f; + /* calculate all data needed for the covariance matrix + ( to compare with _rygdxt code) */ + for( i = 0; i < 16*channels; i += channels ) + { + sum_r += uncompressed[i+0]; + sum_rr += uncompressed[i+0] * uncompressed[i+0]; + sum_g += uncompressed[i+1]; + sum_gg += uncompressed[i+1] * uncompressed[i+1]; + sum_b += uncompressed[i+2]; + sum_bb += uncompressed[i+2] * uncompressed[i+2]; + sum_rg += uncompressed[i+0] * uncompressed[i+1]; + sum_rb += uncompressed[i+0] * uncompressed[i+2]; + sum_gb += uncompressed[i+1] * uncompressed[i+2]; + } + /* convert the sums to averages */ + sum_r *= inv_16; + sum_g *= inv_16; + sum_b *= inv_16; + /* and convert the squares to the squares of the value - avg_value */ + sum_rr -= 16.0f * sum_r * sum_r; + sum_gg -= 16.0f * sum_g * sum_g; + sum_bb -= 16.0f * sum_b * sum_b; + sum_rg -= 16.0f * sum_r * sum_g; + sum_rb -= 16.0f * sum_r * sum_b; + sum_gb -= 16.0f * sum_g * sum_b; + /* the point on the color line is the average */ + point[0] = sum_r; + point[1] = sum_g; + point[2] = sum_b; + #if USE_COV_MAT + /* + The following idea was from ryg. + (https://mollyrocket.com/forums/viewtopic.php?t=392) + The method worked great (less RMSE than mine) most of + the time, but had some issues handling some simple + boundary cases, like full green next to full red, + which would generate a covariance matrix like this: + + | 1 -1 0 | + | -1 1 0 | + | 0 0 0 | + + For a given starting vector, the power method can + generate all zeros! So no starting with {1,1,1} + as I was doing! This kind of error is still a + slight posibillity, but will be very rare. + */ + /* use the covariance matrix directly + (1st iteration, don't use all 1.0 values!) */ + sum_r = 1.0f; + sum_g = 2.718281828f; + sum_b = 3.141592654f; + direction[0] = sum_r*sum_rr + sum_g*sum_rg + sum_b*sum_rb; + direction[1] = sum_r*sum_rg + sum_g*sum_gg + sum_b*sum_gb; + direction[2] = sum_r*sum_rb + sum_g*sum_gb + sum_b*sum_bb; + /* 2nd iteration, use results from the 1st guy */ + sum_r = direction[0]; + sum_g = direction[1]; + sum_b = direction[2]; + direction[0] = sum_r*sum_rr + sum_g*sum_rg + sum_b*sum_rb; + direction[1] = sum_r*sum_rg + sum_g*sum_gg + sum_b*sum_gb; + direction[2] = sum_r*sum_rb + sum_g*sum_gb + sum_b*sum_bb; + /* 3rd iteration, use results from the 2nd guy */ + sum_r = direction[0]; + sum_g = direction[1]; + sum_b = direction[2]; + direction[0] = sum_r*sum_rr + sum_g*sum_rg + sum_b*sum_rb; + direction[1] = sum_r*sum_rg + sum_g*sum_gg + sum_b*sum_gb; + direction[2] = sum_r*sum_rb + sum_g*sum_gb + sum_b*sum_bb; + #else + /* use my standard deviation method + (very robust, a tiny bit slower and less accurate) */ + direction[0] = sqrt( sum_rr ); + direction[1] = sqrt( sum_gg ); + direction[2] = sqrt( sum_bb ); + /* which has a greater component */ + if( sum_gg > sum_rr ) + { + /* green has greater component, so base the other signs off of green */ + if( sum_rg < 0.0f ) + { + direction[0] = -direction[0]; + } + if( sum_gb < 0.0f ) + { + direction[2] = -direction[2]; + } + } else + { + /* red has a greater component */ + if( sum_rg < 0.0f ) + { + direction[1] = -direction[1]; + } + if( sum_rb < 0.0f ) + { + direction[2] = -direction[2]; + } + } + #endif +} + +void LSE_master_colors_max_min( + int *cmax, int *cmin, + int channels, + const unsigned char *const uncompressed ) +{ + int i, j; + /* the master colors */ + int c0[3], c1[3]; + /* used for fitting the line */ + float sum_x[] = { 0.0f, 0.0f, 0.0f }; + float sum_x2[] = { 0.0f, 0.0f, 0.0f }; + float dot_max = 1.0f, dot_min = -1.0f; + float vec_len2 = 0.0f; + float dot; + /* error check */ + if( (channels < 3) || (channels > 4) ) + { + return; + } + compute_color_line_STDEV( uncompressed, channels, sum_x, sum_x2 ); + vec_len2 = 1.0f / ( 0.00001f + + sum_x2[0]*sum_x2[0] + sum_x2[1]*sum_x2[1] + sum_x2[2]*sum_x2[2] ); + /* finding the max and min vector values */ + dot_max = + ( + sum_x2[0] * uncompressed[0] + + sum_x2[1] * uncompressed[1] + + sum_x2[2] * uncompressed[2] + ); + dot_min = dot_max; + for( i = 1; i < 16; ++i ) + { + dot = + ( + sum_x2[0] * uncompressed[i*channels+0] + + sum_x2[1] * uncompressed[i*channels+1] + + sum_x2[2] * uncompressed[i*channels+2] + ); + if( dot < dot_min ) + { + dot_min = dot; + } else if( dot > dot_max ) + { + dot_max = dot; + } + } + /* and the offset (from the average location) */ + dot = sum_x2[0]*sum_x[0] + sum_x2[1]*sum_x[1] + sum_x2[2]*sum_x[2]; + dot_min -= dot; + dot_max -= dot; + /* post multiply by the scaling factor */ + dot_min *= vec_len2; + dot_max *= vec_len2; + /* OK, build the master colors */ + for( i = 0; i < 3; ++i ) + { + /* color 0 */ + c0[i] = (int)(0.5f + sum_x[i] + dot_max * sum_x2[i]); + if( c0[i] < 0 ) + { + c0[i] = 0; + } else if( c0[i] > 255 ) + { + c0[i] = 255; + } + /* color 1 */ + c1[i] = (int)(0.5f + sum_x[i] + dot_min * sum_x2[i]); + if( c1[i] < 0 ) + { + c1[i] = 0; + } else if( c1[i] > 255 ) + { + c1[i] = 255; + } + } + /* down_sample (with rounding?) */ + i = rgb_to_565( c0[0], c0[1], c0[2] ); + j = rgb_to_565( c1[0], c1[1], c1[2] ); + if( i > j ) + { + *cmax = i; + *cmin = j; + } else + { + *cmax = j; + *cmin = i; + } +} + +void + compress_DDS_color_block + ( + int channels, + const unsigned char *const uncompressed, + unsigned char compressed[8] + ) +{ + /* variables */ + int i; + int next_bit; + int enc_c0, enc_c1; + int c0[4], c1[4]; + float color_line[] = { 0.0f, 0.0f, 0.0f, 0.0f }; + float vec_len2 = 0.0f, dot_offset = 0.0f; + /* stupid order */ + int swizzle4[] = { 0, 2, 3, 1 }; + /* get the master colors */ + LSE_master_colors_max_min( &enc_c0, &enc_c1, channels, uncompressed ); + /* store the 565 color 0 and color 1 */ + compressed[0] = (enc_c0 >> 0) & 255; + compressed[1] = (enc_c0 >> 8) & 255; + compressed[2] = (enc_c1 >> 0) & 255; + compressed[3] = (enc_c1 >> 8) & 255; + /* zero out the compressed data */ + compressed[4] = 0; + compressed[5] = 0; + compressed[6] = 0; + compressed[7] = 0; + /* reconstitute the master color vectors */ + rgb_888_from_565( enc_c0, &c0[0], &c0[1], &c0[2] ); + rgb_888_from_565( enc_c1, &c1[0], &c1[1], &c1[2] ); + /* the new vector */ + vec_len2 = 0.0f; + for( i = 0; i < 3; ++i ) + { + color_line[i] = (float)(c1[i] - c0[i]); + vec_len2 += color_line[i] * color_line[i]; + } + if( vec_len2 > 0.0f ) + { + vec_len2 = 1.0f / vec_len2; + } + /* pre-proform the scaling */ + color_line[0] *= vec_len2; + color_line[1] *= vec_len2; + color_line[2] *= vec_len2; + /* compute the offset (constant) portion of the dot product */ + dot_offset = color_line[0]*c0[0] + color_line[1]*c0[1] + color_line[2]*c0[2]; + /* store the rest of the bits */ + next_bit = 8*4; + for( i = 0; i < 16; ++i ) + { + /* find the dot product of this color, to place it on the line + (should be [-1,1]) */ + int next_value = 0; + float dot_product = + color_line[0] * uncompressed[i*channels+0] + + color_line[1] * uncompressed[i*channels+1] + + color_line[2] * uncompressed[i*channels+2] - + dot_offset; + /* map to [0,3] */ + next_value = (int)( dot_product * 3.0f + 0.5f ); + if( next_value > 3 ) + { + next_value = 3; + } else if( next_value < 0 ) + { + next_value = 0; + } + /* OK, store this value */ + compressed[next_bit >> 3] |= swizzle4[ next_value ] << (next_bit & 7); + next_bit += 2; + } + /* done compressing to DXT1 */ +} + +void + compress_DDS_alpha_block + ( + const unsigned char *const uncompressed, + unsigned char compressed[8] + ) +{ + /* variables */ + int i; + int next_bit; + int a0, a1; + float scale_me; + /* stupid order */ + int swizzle8[] = { 1, 7, 6, 5, 4, 3, 2, 0 }; + /* get the alpha limits (a0 > a1) */ + a0 = a1 = uncompressed[3]; + for( i = 4+3; i < 16*4; i += 4 ) + { + if( uncompressed[i] > a0 ) + { + a0 = uncompressed[i]; + } else if( uncompressed[i] < a1 ) + { + a1 = uncompressed[i]; + } + } + /* store those limits, and zero the rest of the compressed dataset */ + compressed[0] = a0; + compressed[1] = a1; + /* zero out the compressed data */ + compressed[2] = 0; + compressed[3] = 0; + compressed[4] = 0; + compressed[5] = 0; + compressed[6] = 0; + compressed[7] = 0; + /* store the all of the alpha values */ + next_bit = 8*2; + scale_me = 7.9999f / (a0 - a1); + for( i = 3; i < 16*4; i += 4 ) + { + /* convert this alpha value to a 3 bit number */ + int svalue; + int value = (int)((uncompressed[i] - a1) * scale_me); + svalue = swizzle8[ value&7 ]; + /* OK, store this value, start with the 1st byte */ + compressed[next_bit >> 3] |= svalue << (next_bit & 7); + if( (next_bit & 7) > 5 ) + { + /* spans 2 bytes, fill in the start of the 2nd byte */ + compressed[1 + (next_bit >> 3)] |= svalue >> (8 - (next_bit & 7) ); + } + next_bit += 3; + } + /* done compressing to DXT1 */ +} diff --git a/src/libprojectM/Renderer/SOIL2/image_DXT.h b/src/libprojectM/Renderer/SOIL2/image_DXT.h new file mode 100755 index 0000000000..ce7716425c --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/image_DXT.h @@ -0,0 +1,123 @@ +/* + Jonathan Dummer + 2007-07-31-10.32 + + simple DXT compression / decompression code + + public domain +*/ + +#ifndef HEADER_IMAGE_DXT +#define HEADER_IMAGE_DXT + +/** + Converts an image from an array of unsigned chars (RGB or RGBA) to + DXT1 or DXT5, then saves the converted image to disk. + \return 0 if failed, otherwise returns 1 +**/ +int +save_image_as_DDS +( + const char *filename, + int width, int height, int channels, + const unsigned char *const data +); + +/** + take an image and convert it to DXT1 (no alpha) +**/ +unsigned char* +convert_image_to_DXT1 +( + const unsigned char *const uncompressed, + int width, int height, int channels, + int *out_size +); + +/** + take an image and convert it to DXT5 (with alpha) +**/ +unsigned char* +convert_image_to_DXT5 +( + const unsigned char *const uncompressed, + int width, int height, int channels, + int *out_size +); + +/** A bunch of DirectDraw Surface structures and flags **/ +typedef struct +{ + unsigned int dwMagic; + unsigned int dwSize; + unsigned int dwFlags; + unsigned int dwHeight; + unsigned int dwWidth; + unsigned int dwPitchOrLinearSize; + unsigned int dwDepth; + unsigned int dwMipMapCount; + unsigned int dwReserved1[ 11 ]; + + /* DDPIXELFORMAT */ + struct + { + unsigned int dwSize; + unsigned int dwFlags; + unsigned int dwFourCC; + unsigned int dwRGBBitCount; + unsigned int dwRBitMask; + unsigned int dwGBitMask; + unsigned int dwBBitMask; + unsigned int dwAlphaBitMask; + } + sPixelFormat; + + /* DDCAPS2 */ + struct + { + unsigned int dwCaps1; + unsigned int dwCaps2; + unsigned int dwDDSX; + unsigned int dwReserved; + } + sCaps; + unsigned int dwReserved2; +} +DDS_header ; + +/* the following constants were copied directly off the MSDN website */ + +/* The dwFlags member of the original DDSURFACEDESC2 structure + can be set to one or more of the following values. */ +#define DDSD_CAPS 0x00000001 +#define DDSD_HEIGHT 0x00000002 +#define DDSD_WIDTH 0x00000004 +#define DDSD_PITCH 0x00000008 +#define DDSD_PIXELFORMAT 0x00001000 +#define DDSD_MIPMAPCOUNT 0x00020000 +#define DDSD_LINEARSIZE 0x00080000 +#define DDSD_DEPTH 0x00800000 + +/* DirectDraw Pixel Format */ +#define DDPF_ALPHAPIXELS 0x00000001 +#define DDPF_FOURCC 0x00000004 +#define DDPF_RGB 0x00000040 + +/* The dwCaps1 member of the DDSCAPS2 structure can be + set to one or more of the following values. */ +#define DDSCAPS_COMPLEX 0x00000008 +#define DDSCAPS_TEXTURE 0x00001000 +#define DDSCAPS_MIPMAP 0x00400000 + +/* The dwCaps2 member of the DDSCAPS2 structure can be + set to one or more of the following values. */ +#define DDSCAPS2_CUBEMAP 0x00000200 +#define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400 +#define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800 +#define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000 +#define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000 +#define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000 +#define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000 +#define DDSCAPS2_VOLUME 0x00200000 + +#endif /* HEADER_IMAGE_DXT */ diff --git a/src/libprojectM/Renderer/SOIL2/image_helper.c b/src/libprojectM/Renderer/SOIL2/image_helper.c new file mode 100755 index 0000000000..80da4fa861 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/image_helper.c @@ -0,0 +1,435 @@ +/* + Jonathan Dummer + + image helper functions + + MIT license +*/ + +#include "image_helper.h" +#include +#include + +/* Upscaling the image uses simple bilinear interpolation */ +int + up_scale_image + ( + const unsigned char* const orig, + int width, int height, int channels, + unsigned char* resampled, + int resampled_width, int resampled_height + ) +{ + float dx, dy; + int x, y, c; + + /* error(s) check */ + if ( (width < 1) || (height < 1) || + (resampled_width < 2) || (resampled_height < 2) || + (channels < 1) || + (NULL == orig) || (NULL == resampled) ) + { + /* signify badness */ + return 0; + } + /* + for each given pixel in the new map, find the exact location + from the original map which would contribute to this guy + */ + dx = (width - 1.0f) / (resampled_width - 1.0f); + dy = (height - 1.0f) / (resampled_height - 1.0f); + for ( y = 0; y < resampled_height; ++y ) + { + /* find the base y index and fractional offset from that */ + float sampley = y * dy; + int inty = (int)sampley; + /* if( inty < 0 ) { inty = 0; } else */ + if( inty > height - 2 ) { inty = height - 2; } + sampley -= inty; + for ( x = 0; x < resampled_width; ++x ) + { + float samplex = x * dx; + int intx = (int)samplex; + int base_index; + /* find the base x index and fractional offset from that */ + /* if( intx < 0 ) { intx = 0; } else */ + if( intx > width - 2 ) { intx = width - 2; } + samplex -= intx; + /* base index into the original image */ + base_index = (inty * width + intx) * channels; + for ( c = 0; c < channels; ++c ) + { + /* do the sampling */ + float value = 0.5f; + value += orig[base_index] + *(1.0f-samplex)*(1.0f-sampley); + value += orig[base_index+channels] + *(samplex)*(1.0f-sampley); + value += orig[base_index+width*channels] + *(1.0f-samplex)*(sampley); + value += orig[base_index+width*channels+channels] + *(samplex)*(sampley); + /* move to the next channel */ + ++base_index; + /* save the new value */ + resampled[y*resampled_width*channels+x*channels+c] = + (unsigned char)(value); + } + } + } + /* done */ + return 1; +} + +int + mipmap_image + ( + const unsigned char* const orig, + int width, int height, int channels, + unsigned char* resampled, + int block_size_x, int block_size_y + ) +{ + int mip_width, mip_height; + int i, j, c; + + /* error check */ + if( (width < 1) || (height < 1) || + (channels < 1) || (orig == NULL) || + (resampled == NULL) || + (block_size_x < 1) || (block_size_y < 1) ) + { + /* nothing to do */ + return 0; + } + mip_width = width / block_size_x; + mip_height = height / block_size_y; + if( mip_width < 1 ) + { + mip_width = 1; + } + if( mip_height < 1 ) + { + mip_height = 1; + } + for( j = 0; j < mip_height; ++j ) + { + for( i = 0; i < mip_width; ++i ) + { + for( c = 0; c < channels; ++c ) + { + const int index = (j*block_size_y)*width*channels + (i*block_size_x)*channels + c; + int sum_value; + int u,v; + int u_block = block_size_x; + int v_block = block_size_y; + int block_area; + /* do a bit of checking so we don't over-run the boundaries + (necessary for non-square textures!) */ + if( block_size_x * (i+1) > width ) + { + u_block = width - i*block_size_y; + } + if( block_size_y * (j+1) > height ) + { + v_block = height - j*block_size_y; + } + block_area = u_block*v_block; + /* for this pixel, see what the average + of all the values in the block are. + note: start the sum at the rounding value, not at 0 */ + sum_value = block_area >> 1; + for( v = 0; v < v_block; ++v ) + for( u = 0; u < u_block; ++u ) + { + sum_value += orig[index + v*width*channels + u*channels]; + } + resampled[j*mip_width*channels + i*channels + c] = sum_value / block_area; + } + } + } + return 1; +} + +int + scale_image_RGB_to_NTSC_safe + ( + unsigned char* orig, + int width, int height, int channels + ) +{ + const float scale_lo = 16.0f - 0.499f; + const float scale_hi = 235.0f + 0.499f; + int i, j; + int nc = channels; + unsigned char scale_LUT[256]; + /* error check */ + if( (width < 1) || (height < 1) || + (channels < 1) || (orig == NULL) ) + { + /* nothing to do */ + return 0; + } + /* set up the scaling Look Up Table */ + for( i = 0; i < 256; ++i ) + { + scale_LUT[i] = (unsigned char)((scale_hi - scale_lo) * i / 255.0f + scale_lo); + } + /* for channels = 2 or 4, ignore the alpha component */ + nc -= 1 - (channels & 1); + /* OK, go through the image and scale any non-alpha components */ + for( i = 0; i < width*height*channels; i += channels ) + { + for( j = 0; j < nc; ++j ) + { + orig[i+j] = scale_LUT[orig[i+j]]; + } + } + return 1; +} + +unsigned char clamp_byte( int x ) { return ( (x) < 0 ? (0) : ( (x) > 255 ? 255 : (x) ) ); } + +/* + This function takes the RGB components of the image + and converts them into YCoCg. 3 components will be + re-ordered to CoYCg (for optimum DXT1 compression), + while 4 components will be ordered CoCgAY (for DXT5 + compression). +*/ +int + convert_RGB_to_YCoCg + ( + unsigned char* orig, + int width, int height, int channels + ) +{ + int i; + /* error check */ + if( (width < 1) || (height < 1) || + (channels < 3) || (channels > 4) || + (orig == NULL) ) + { + /* nothing to do */ + return -1; + } + /* do the conversion */ + if( channels == 3 ) + { + for( i = 0; i < width*height*3; i += 3 ) + { + int r = orig[i+0]; + int g = (orig[i+1] + 1) >> 1; + int b = orig[i+2]; + int tmp = (2 + r + b) >> 2; + /* Co */ + orig[i+0] = clamp_byte( 128 + ((r - b + 1) >> 1) ); + /* Y */ + orig[i+1] = clamp_byte( g + tmp ); + /* Cg */ + orig[i+2] = clamp_byte( 128 + g - tmp ); + } + } else + { + for( i = 0; i < width*height*4; i += 4 ) + { + int r = orig[i+0]; + int g = (orig[i+1] + 1) >> 1; + int b = orig[i+2]; + unsigned char a = orig[i+3]; + int tmp = (2 + r + b) >> 2; + /* Co */ + orig[i+0] = clamp_byte( 128 + ((r - b + 1) >> 1) ); + /* Cg */ + orig[i+1] = clamp_byte( 128 + g - tmp ); + /* Alpha */ + orig[i+2] = a; + /* Y */ + orig[i+3] = clamp_byte( g + tmp ); + } + } + /* done */ + return 0; +} + +/* + This function takes the YCoCg components of the image + and converts them into RGB. See above. +*/ +int + convert_YCoCg_to_RGB + ( + unsigned char* orig, + int width, int height, int channels + ) +{ + int i; + /* error check */ + if( (width < 1) || (height < 1) || + (channels < 3) || (channels > 4) || + (orig == NULL) ) + { + /* nothing to do */ + return -1; + } + /* do the conversion */ + if( channels == 3 ) + { + for( i = 0; i < width*height*3; i += 3 ) + { + int co = orig[i+0] - 128; + int y = orig[i+1]; + int cg = orig[i+2] - 128; + /* R */ + orig[i+0] = clamp_byte( y + co - cg ); + /* G */ + orig[i+1] = clamp_byte( y + cg ); + /* B */ + orig[i+2] = clamp_byte( y - co - cg ); + } + } else + { + for( i = 0; i < width*height*4; i += 4 ) + { + int co = orig[i+0] - 128; + int cg = orig[i+1] - 128; + unsigned char a = orig[i+2]; + int y = orig[i+3]; + /* R */ + orig[i+0] = clamp_byte( y + co - cg ); + /* G */ + orig[i+1] = clamp_byte( y + cg ); + /* B */ + orig[i+2] = clamp_byte( y - co - cg ); + /* A */ + orig[i+3] = a; + } + } + /* done */ + return 0; +} + +float +find_max_RGBE +( + unsigned char *image, + int width, int height +) +{ + float max_val = 0.0f; + unsigned char *img = image; + int i, j; + for( i = width * height; i > 0; --i ) + { + /* float scale = powf( 2.0f, img[3] - 128.0f ) / 255.0f; */ + float scale = (float)ldexp( 1.0f / 255.0f, (int)(img[3]) - 128 ); + for( j = 0; j < 3; ++j ) + { + if( img[j] * scale > max_val ) + { + max_val = img[j] * scale; + } + } + /* next pixel */ + img += 4; + } + return max_val; +} + +int +RGBE_to_RGBdivA +( + unsigned char *image, + int width, int height, + int rescale_to_max +) +{ + /* local variables */ + int i, iv; + unsigned char *img = image; + float scale = 1.0f; + /* error check */ + if( (!image) || (width < 1) || (height < 1) ) + { + return 0; + } + /* convert (note: no negative numbers, but 0.0 is possible) */ + if( rescale_to_max ) + { + scale = 255.0f / find_max_RGBE( image, width, height ); + } + for( i = width * height; i > 0; --i ) + { + /* decode this pixel, and find the max */ + float r,g,b,e, m; + /* e = scale * powf( 2.0f, img[3] - 128.0f ) / 255.0f; */ + e = scale * (float)ldexp( 1.0f / 255.0f, (int)(img[3]) - 128 ); + r = e * img[0]; + g = e * img[1]; + b = e * img[2]; + m = (r > g) ? r : g; + m = (b > m) ? b : m; + /* and encode it into RGBdivA */ + iv = (m != 0.0f) ? (int)(255.0f / m) : 1; + iv = (iv < 1) ? 1 : iv; + img[3] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * r + 0.5f); + img[0] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * g + 0.5f); + img[1] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * b + 0.5f); + img[2] = (iv > 255) ? 255 : iv; + /* and on to the next pixel */ + img += 4; + } + return 1; +} + +int +RGBE_to_RGBdivA2 +( + unsigned char *image, + int width, int height, + int rescale_to_max +) +{ + /* local variables */ + int i, iv; + unsigned char *img = image; + float scale = 1.0f; + /* error check */ + if( (!image) || (width < 1) || (height < 1) ) + { + return 0; + } + /* convert (note: no negative numbers, but 0.0 is possible) */ + if( rescale_to_max ) + { + scale = 255.0f * 255.0f / find_max_RGBE( image, width, height ); + } + for( i = width * height; i > 0; --i ) + { + /* decode this pixel, and find the max */ + float r,g,b,e, m; + /* e = scale * powf( 2.0f, img[3] - 128.0f ) / 255.0f; */ + e = scale * (float)ldexp( 1.0f / 255.0f, (int)(img[3]) - 128 ); + r = e * img[0]; + g = e * img[1]; + b = e * img[2]; + m = (r > g) ? r : g; + m = (b > m) ? b : m; + /* and encode it into RGBdivA */ + iv = (m != 0.0f) ? (int)sqrtf( 255.0f * 255.0f / m ) : 1; + iv = (iv < 1) ? 1 : iv; + img[3] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * img[3] * r / 255.0f + 0.5f); + img[0] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * img[3] * g / 255.0f + 0.5f); + img[1] = (iv > 255) ? 255 : iv; + iv = (int)(img[3] * img[3] * b / 255.0f + 0.5f); + img[2] = (iv > 255) ? 255 : iv; + /* and on to the next pixel */ + img += 4; + } + return 1; +} diff --git a/src/libprojectM/Renderer/SOIL2/image_helper.h b/src/libprojectM/Renderer/SOIL2/image_helper.h new file mode 100755 index 0000000000..abb257c342 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/image_helper.h @@ -0,0 +1,115 @@ +/* + Jonathan Dummer + + Image helper functions + + MIT license +*/ + +#ifndef HEADER_IMAGE_HELPER +#define HEADER_IMAGE_HELPER + +#ifdef __cplusplus +extern "C" { +#endif + +/** + This function upscales an image. + Not to be used to create MIPmaps, + but to make it square, + or to make it a power-of-two sized. +**/ +int + up_scale_image + ( + const unsigned char* const orig, + int width, int height, int channels, + unsigned char* resampled, + int resampled_width, int resampled_height + ); + +/** + This function downscales an image. + Used for creating MIPmaps, + the incoming image should be a + power-of-two sized. +**/ +int + mipmap_image + ( + const unsigned char* const orig, + int width, int height, int channels, + unsigned char* resampled, + int block_size_x, int block_size_y + ); + +/** + This function takes the RGB components of the image + and scales each channel from [0,255] to [16,235]. + This makes the colors "Safe" for display on NTSC + displays. Note that this is _NOT_ a good idea for + loading images like normal- or height-maps! +**/ +int + scale_image_RGB_to_NTSC_safe + ( + unsigned char* orig, + int width, int height, int channels + ); + +/** + This function takes the RGB components of the image + and converts them into YCoCg. 3 components will be + re-ordered to CoYCg (for optimum DXT1 compression), + while 4 components will be ordered CoCgAY (for DXT5 + compression). +**/ +int + convert_RGB_to_YCoCg + ( + unsigned char* orig, + int width, int height, int channels + ); + +/** + This function takes the YCoCg components of the image + and converts them into RGB. See above. +**/ +int + convert_YCoCg_to_RGB + ( + unsigned char* orig, + int width, int height, int channels + ); + +/** + Converts an HDR image from an array + of unsigned chars (RGBE) to RGBdivA + \return 0 if failed, otherwise returns 1 +**/ +int + RGBE_to_RGBdivA + ( + unsigned char *image, + int width, int height, + int rescale_to_max + ); + +/** + Converts an HDR image from an array + of unsigned chars (RGBE) to RGBdivA2 + \return 0 if failed, otherwise returns 1 +**/ +int + RGBE_to_RGBdivA2 + ( + unsigned char *image, + int width, int height, + int rescale_to_max + ); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_IMAGE_HELPER */ diff --git a/src/libprojectM/Renderer/SOIL2/pkm_helper.h b/src/libprojectM/Renderer/SOIL2/pkm_helper.h new file mode 100644 index 0000000000..0143e3f37c --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/pkm_helper.h @@ -0,0 +1,19 @@ +#ifndef PKM_HELPER_H +#define PKM_HELPER_H + +typedef struct { + char aName[6]; + unsigned short iBlank; + unsigned char iPaddedWidthMSB; + unsigned char iPaddedWidthLSB; + unsigned char iPaddedHeightMSB; + unsigned char iPaddedHeightLSB; + unsigned char iWidthMSB; + unsigned char iWidthLSB; + unsigned char iHeightMSB; + unsigned char iHeightLSB; +} PKMHeader; + +#define PKM_HEADER_SIZE 16 + +#endif diff --git a/src/libprojectM/Renderer/SOIL2/pvr_helper.h b/src/libprojectM/Renderer/SOIL2/pvr_helper.h new file mode 100644 index 0000000000..bace1f38fd --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/pvr_helper.h @@ -0,0 +1,264 @@ +#ifndef PVR_HELPER_H +#define PVR_HELPER_H + +// Taken from PowerVR SDK + +/*!*************************************************************************** + Describes the header of a PVR header-texture + *****************************************************************************/ +typedef struct +{ + unsigned int dwHeaderSize; /*!< size of the structure */ + unsigned int dwHeight; /*!< height of surface to be created */ + unsigned int dwWidth; /*!< width of input surface */ + unsigned int dwMipMapCount; /*!< number of mip-map levels requested */ + unsigned int dwpfFlags; /*!< pixel format flags */ + unsigned int dwTextureDataSize; /*!< Total size in bytes */ + unsigned int dwBitCount; /*!< number of bits per pixel */ + unsigned int dwRBitMask; /*!< mask for red bit */ + unsigned int dwGBitMask; /*!< mask for green bits */ + unsigned int dwBBitMask; /*!< mask for blue bits */ + unsigned int dwAlphaBitMask; /*!< mask for alpha channel */ + unsigned int dwPVR; /*!< magic number identifying pvr file */ + unsigned int dwNumSurfs; /*!< the number of surfaces present in the pvr */ +} PVR_Texture_Header; + +/***************************************************************************** + * ENUMS + *****************************************************************************/ + +enum PixelType +{ + MGLPT_ARGB_4444 = 0x00, + MGLPT_ARGB_1555, + MGLPT_RGB_565, + MGLPT_RGB_555, + MGLPT_RGB_888, + MGLPT_ARGB_8888, + MGLPT_ARGB_8332, + MGLPT_I_8, + MGLPT_AI_88, + MGLPT_1_BPP, + MGLPT_VY1UY0, + MGLPT_Y1VY0U, + MGLPT_PVRTC2, + MGLPT_PVRTC4, + MGLPT_PVRTC2_2, + MGLPT_PVRTC2_4, + + OGL_RGBA_4444= 0x10, + OGL_RGBA_5551, + OGL_RGBA_8888, + OGL_RGB_565, + OGL_RGB_555, + OGL_RGB_888, + OGL_I_8, + OGL_AI_88, + OGL_PVRTC2, + OGL_PVRTC4, + + // OGL_BGRA_8888 extension + OGL_BGRA_8888, + + D3D_DXT1 = 0x20, + D3D_DXT2, + D3D_DXT3, + D3D_DXT4, + D3D_DXT5, + + D3D_RGB_332, + D3D_AI_44, + D3D_LVU_655, + D3D_XLVU_8888, + D3D_QWVU_8888, + + //10 bits per channel + D3D_ABGR_2101010, + D3D_ARGB_2101010, + D3D_AWVU_2101010, + + //16 bits per channel + D3D_GR_1616, + D3D_VU_1616, + D3D_ABGR_16161616, + + //HDR formats + D3D_R16F, + D3D_GR_1616F, + D3D_ABGR_16161616F, + + //32 bits per channel + D3D_R32F, + D3D_GR_3232F, + D3D_ABGR_32323232F, + + // Ericsson + ETC_RGB_4BPP, + ETC_RGBA_EXPLICIT, + ETC_RGBA_INTERPOLATED, + + // DX10 + + + ePT_DX10_R32G32B32A32_FLOAT= 0x50, + ePT_DX10_R32G32B32A32_UINT , + ePT_DX10_R32G32B32A32_SINT, + + ePT_DX10_R32G32B32_FLOAT, + ePT_DX10_R32G32B32_UINT, + ePT_DX10_R32G32B32_SINT, + + ePT_DX10_R16G16B16A16_FLOAT , + ePT_DX10_R16G16B16A16_UNORM, + ePT_DX10_R16G16B16A16_UINT , + ePT_DX10_R16G16B16A16_SNORM , + ePT_DX10_R16G16B16A16_SINT , + + ePT_DX10_R32G32_FLOAT , + ePT_DX10_R32G32_UINT , + ePT_DX10_R32G32_SINT , + + ePT_DX10_R10G10B10A2_UNORM , + ePT_DX10_R10G10B10A2_UINT , + + ePT_DX10_R11G11B10_FLOAT , + + ePT_DX10_R8G8B8A8_UNORM , + ePT_DX10_R8G8B8A8_UNORM_SRGB , + ePT_DX10_R8G8B8A8_UINT , + ePT_DX10_R8G8B8A8_SNORM , + ePT_DX10_R8G8B8A8_SINT , + + ePT_DX10_R16G16_FLOAT , + ePT_DX10_R16G16_UNORM , + ePT_DX10_R16G16_UINT , + ePT_DX10_R16G16_SNORM , + ePT_DX10_R16G16_SINT , + + ePT_DX10_R32_FLOAT , + ePT_DX10_R32_UINT , + ePT_DX10_R32_SINT , + + ePT_DX10_R8G8_UNORM , + ePT_DX10_R8G8_UINT , + ePT_DX10_R8G8_SNORM , + ePT_DX10_R8G8_SINT , + + ePT_DX10_R16_FLOAT , + ePT_DX10_R16_UNORM , + ePT_DX10_R16_UINT , + ePT_DX10_R16_SNORM , + ePT_DX10_R16_SINT , + + ePT_DX10_R8_UNORM, + ePT_DX10_R8_UINT, + ePT_DX10_R8_SNORM, + ePT_DX10_R8_SINT, + + ePT_DX10_A8_UNORM, + ePT_DX10_R1_UNORM, + ePT_DX10_R9G9B9E5_SHAREDEXP, + ePT_DX10_R8G8_B8G8_UNORM, + ePT_DX10_G8R8_G8B8_UNORM, + + ePT_DX10_BC1_UNORM, + ePT_DX10_BC1_UNORM_SRGB, + + ePT_DX10_BC2_UNORM, + ePT_DX10_BC2_UNORM_SRGB, + + ePT_DX10_BC3_UNORM, + ePT_DX10_BC3_UNORM_SRGB, + + ePT_DX10_BC4_UNORM, + ePT_DX10_BC4_SNORM, + + ePT_DX10_BC5_UNORM, + ePT_DX10_BC5_SNORM, + + //ePT_DX10_B5G6R5_UNORM, // defined but obsolete - won't actually load in DX10 + //ePT_DX10_B5G5R5A1_UNORM, + //ePT_DX10_B8G8R8A8_UNORM, + //ePT_DX10_B8G8R8X8_UNORM, + + // OpenVG + + /* RGB{A,X} channel ordering */ + ePT_VG_sRGBX_8888 = 0x90, + ePT_VG_sRGBA_8888, + ePT_VG_sRGBA_8888_PRE, + ePT_VG_sRGB_565, + ePT_VG_sRGBA_5551, + ePT_VG_sRGBA_4444, + ePT_VG_sL_8, + ePT_VG_lRGBX_8888, + ePT_VG_lRGBA_8888, + ePT_VG_lRGBA_8888_PRE, + ePT_VG_lL_8, + ePT_VG_A_8, + ePT_VG_BW_1, + + /* {A,X}RGB channel ordering */ + ePT_VG_sXRGB_8888, + ePT_VG_sARGB_8888, + ePT_VG_sARGB_8888_PRE, + ePT_VG_sARGB_1555, + ePT_VG_sARGB_4444, + ePT_VG_lXRGB_8888, + ePT_VG_lARGB_8888, + ePT_VG_lARGB_8888_PRE, + + /* BGR{A,X} channel ordering */ + ePT_VG_sBGRX_8888, + ePT_VG_sBGRA_8888, + ePT_VG_sBGRA_8888_PRE, + ePT_VG_sBGR_565, + ePT_VG_sBGRA_5551, + ePT_VG_sBGRA_4444, + ePT_VG_lBGRX_8888, + ePT_VG_lBGRA_8888, + ePT_VG_lBGRA_8888_PRE, + + /* {A,X}BGR channel ordering */ + ePT_VG_sXBGR_8888, + ePT_VG_sABGR_8888 , + ePT_VG_sABGR_8888_PRE, + ePT_VG_sABGR_1555, + ePT_VG_sABGR_4444, + ePT_VG_lXBGR_8888, + ePT_VG_lABGR_8888, + ePT_VG_lABGR_8888_PRE, + + // max cap for iterating + END_OF_PIXEL_TYPES, + + MGLPT_NOTYPE = 0xff + +}; + +/***************************************************************************** + * constants + *****************************************************************************/ + +#define PVRTEX_MIPMAP (1<<8) // has mip map levels +#define PVRTEX_TWIDDLE (1<<9) // is twiddled +#define PVRTEX_BUMPMAP (1<<10) // has normals encoded for a bump map +#define PVRTEX_TILING (1<<11) // is bordered for tiled pvr +#define PVRTEX_CUBEMAP (1<<12) // is a cubemap/skybox +#define PVRTEX_FALSEMIPCOL (1<<13) // +#define PVRTEX_VOLUME (1<<14) +#define PVRTEX_PIXELTYPE 0xff // pixel type is always in the last 16bits of the flags +#define PVRTEX_IDENTIFIER 0x21525650 // the pvr identifier is the characters 'P','V','R' + +#define PVRTEX_V1_HEADER_SIZE 44 // old header size was 44 for identification purposes + +#define PVRTC2_MIN_TEXWIDTH 16 +#define PVRTC2_MIN_TEXHEIGHT 8 +#define PVRTC4_MIN_TEXWIDTH 8 +#define PVRTC4_MIN_TEXHEIGHT 8 +#define ETC_MIN_TEXWIDTH 4 +#define ETC_MIN_TEXHEIGHT 4 +#define DXT_MIN_TEXWIDTH 4 +#define DXT_MIN_TEXHEIGHT 4 + +#endif diff --git a/src/libprojectM/Renderer/SOIL2/stb_image.h b/src/libprojectM/Renderer/SOIL2/stb_image.h new file mode 100644 index 0000000000..a098542c75 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stb_image.h @@ -0,0 +1,6531 @@ +/* stb_image - v2.05 - public domain image loader - http://nothings.org/stb_image.h + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8-bit-per-channel (16 bpc not supported) + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + + Revision 2.00 release notes: + + - Progressive JPEG is now supported. + + - PPM and PGM binary formats are now supported, thanks to Ken Miller. + + - x86 platforms now make use of SSE2 SIMD instructions for + JPEG decoding, and ARM platforms can use NEON SIMD if requested. + This work was done by Fabian "ryg" Giesen. SSE2 is used by + default, but NEON must be enabled explicitly; see docs. + + With other JPEG optimizations included in this version, we see + 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup + on a JPEG on an ARM machine, relative to previous versions of this + library. The same results will not obtain for all JPGs and for all + x86/ARM machines. (Note that progressive JPEGs are significantly + slower to decode than regular JPEGs.) This doesn't mean that this + is the fastest JPEG decoder in the land; rather, it brings it + closer to parity with standard libraries. If you want the fastest + decode, look elsewhere. (See "Philosophy" section of docs below.) + + See final bullet items below for more info on SIMD. + + - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing + the memory allocator. Unlike other STBI libraries, these macros don't + support a context parameter, so if you need to pass a context in to + the allocator, you'll have to store it in a global or a thread-local + variable. + + - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and + STBI_NO_LINEAR. + STBI_NO_HDR: suppress implementation of .hdr reader format + STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API + + - You can suppress implementation of any of the decoders to reduce + your code footprint by #defining one or more of the following + symbols before creating the implementation. + + STBI_NO_JPEG + STBI_NO_PNG + STBI_NO_BMP + STBI_NO_PSD + STBI_NO_TGA + STBI_NO_GIF + STBI_NO_HDR + STBI_NO_PIC + STBI_NO_PNM (.ppm and .pgm) + + - You can request *only* certain decoders and suppress all other ones + (this will be more forward-compatible, as addition of new decoders + doesn't require you to disable them explicitly): + + STBI_ONLY_JPEG + STBI_ONLY_PNG + STBI_ONLY_BMP + STBI_ONLY_PSD + STBI_ONLY_TGA + STBI_ONLY_GIF + STBI_ONLY_HDR + STBI_ONLY_PIC + STBI_ONLY_PNM (.ppm and .pgm) + + Note that you can define multiples of these, and you will get all + of them ("only x" and "only y" is interpreted to mean "only x&y"). + + - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still + want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB + + - Compilation of all SIMD code can be suppressed with + #define STBI_NO_SIMD + It should not be necessary to disable SIMD unless you have issues + compiling (e.g. using an x86 compiler which doesn't support SSE + intrinsics or that doesn't support the method used to detect + SSE2 support at run-time), and even those can be reported as + bugs so I can refine the built-in compile-time checking to be + smarter. + + - The old STBI_SIMD system which allowed installing a user-defined + IDCT etc. has been removed. If you need this, don't upgrade. My + assumption is that almost nobody was doing this, and those who + were will find the built-in SIMD more satisfactory anyway. + + - RGB values computed for JPEG images are slightly different from + previous versions of stb_image. (This is due to using less + integer precision in SIMD.) The C code has been adjusted so + that the same RGB values will be computed regardless of whether + SIMD support is available, so your app should always produce + consistent results. But these results are slightly different from + previous versions. (Specifically, about 3% of available YCbCr values + will compute different RGB results from pre-1.49 versions by +-1; + most of the deviating values are one smaller in the G channel.) + + - If you must produce consistent results with previous versions of + stb_image, #define STBI_JPEG_OLD and you will get the same results + you used to; however, you will not get the SIMD speedups for + the YCbCr-to-RGB conversion step (although you should still see + significant JPEG speedup from the other changes). + + Please note that STBI_JPEG_OLD is a temporary feature; it will be + removed in future versions of the library. It is only intended for + near-term back-compatibility use. + + + Latest revision history: + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) additional corruption checking + stbi_set_flip_vertically_on_load + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPEG, including x86 SSE2 & ARM NEON SIMD + progressive JPEG + PGM/PPM support + STBI_MALLOC,STBI_REALLOC,STBI_FREE + STBI_NO_*, STBI_ONLY_* + GIF bugfix + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support (both grayscale and paletted) + optimize PNG + fix bug in interlaced PNG with user-specified channel count + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Bug fixes & warning fixes + Sean Barrett (jpeg, png, bmp) Marc LeBlanc + Nicolas Schulz (hdr, psd) Christpher Lloyd + Jonathan Dummer (tga) Dave Moore + Jean-Marc Lienher (gif) Won Chun + Tom Seddon (pic) the Horde3D community + Thatcher Ulrich (psd) Janez Zemva + Ken Miller (pgm, ppm) Jonathan Blow + Laurent Gomila + Aruelien Pocheville + Extensions, features Ryamond Barbiero + Jetro Lauha (stbi_info) David Woo + Martin "SpartanJ" Golini (stbi_info) Martin Golini + James "moose2000" Brown (iPhone PNG) Roy Eltham + Ben "Disch" Wenger (io callbacks) Luke Graham + Omar Cornut (1/2/4-bit PNG) Thomas Ruf + Nicolas Guillemot (vertical flip) John Bartholomew + Ken Hamada + Optimizations & bugfixes Cort Stratton + Fabian "ryg" Giesen Blazej Dariusz Roszkowski + Arseny Kapoulkine Thibault Reuille + Paul Du Bois + Guillaume George + If your name should be here but Jerry Jansson + isn't, let Sean know. Hayaki Saito + Johan Duparc + Ronny Chevalier + Michal Cichon + Tero Hanninen + Sergio Gonzalez + Cass Everitt + Engin Manap + Martins Mozeiko + Joseph Thomson + Phil Jordan + +License: + This software is in the public domain. Where that dedication is not + recognized, you are granted a perpetual, irrevocable license to copy + and modify this file however you want. + +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 16-bit-per-channel PNG +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - no 1-bit BMP +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data) +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *comp -- outputs # of image components in image file +// int req_comp -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'req_comp' if req_comp is non-zero, or *comp otherwise. +// If req_comp is non-zero, *comp has the number of components that _would_ +// have been output otherwise. E.g. if you set req_comp to 4, you will always +// get RGBA output, but you can check *comp to see if it's trivially opaque +// because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *comp will be unchanged. The function stbi_failure_reason() +// can be queried for an extremely brief, end-user unfriendly explanation +// of why the load failed. Define STBI_NO_FAILURE_STRINGS to avoid +// compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy to use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// make more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// The output of the JPEG decoder is slightly different from versions where +// SIMD support was introduced (that is, for versions before 1.49). The +// difference is only +-1 in the 8-bit RGB channels, and only on a small +// fraction of pixels. You can force the pre-1.49 behavior by defining +// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path +// and hence cost some performance. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image now supports loading HDR images in general, and currently +// the Radiance .HDR file format, although the support is provided +// generically. You can still load any file through the existing interface; +// if you attempt to load an HDR file, it will be automatically remapped to +// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// By default we convert iphone-formatted PNGs back to RGB, even though +// they are internally encoded differently. You can disable this conversion +// by by calling stbi_convert_iphone_png_to_rgb(0), in which case +// you will always just get the native iphone "format" through (which +// is BGR stored in RGB). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// + + +#ifndef STBI_NO_STDIO +#include +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for req_comp + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +typedef unsigned char stbi_uc; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_HDR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// NOT THREADSAFE +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); + +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + +// flip the image vertically, so the first pixel in the output array is the bottom left +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +#ifndef STBI_NO_DDS +#include "stbi_DDS.h" +#endif + +#ifndef STBI_NO_PVR +#include "stbi_pvr.h" +#endif + +#ifndef STBI_NO_PKM +#include "stbi_pkm.h" +#endif + +#ifndef STBI_NO_EXT +#include "stbi_ext.h" +#endif + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include +#include // ptrdiff_t on osx +#include +#include + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include // ldexp +#endif + +#ifndef STBI_NO_STDIO +#include +#endif + +#ifndef STBI_ASSERT +#include +#define STBI_ASSERT(x) assert(x) +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + + +#ifdef _MSC_VER +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && defined(STBI_REALLOC) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,sz) realloc(p,sz) +#define STBI_FREE(p) free(p) +#endif + +// x86/x64 detection +#if defined(__x86_64__) || defined(_M_X64) +#define STBI__X64_TARGET +#elif defined(__i386) || defined(_M_IX86) +#define STBI__X86_TARGET +#endif + +#if defined(__GNUC__) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// NOTE: not clear do we actually need this for the 64-bit path? +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; +// this is just broken and gcc are jerks for not fixing it properly +// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) +#define STBI_NO_SIMD +#endif + +#if defined(__MINGW32__) && !defined(__x86_64__) && !defined(STBI_NO_SIMD) +#define STBI_MINGW_ENABLE_SSE2 +#define STBI_FORCE_STACK_ALIGN __attribute__((force_align_arg_pointer)) +#else +#define STBI_FORCE_STACK_ALIGN +#endif + +#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) +// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET +// +// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the +// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. +// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not +// simultaneously enabling "-mstackrealign". +// +// See https://github.com/nothings/stb/issues/81 for more information. +// +// So default to no SSE2 on 32-bit MinGW. If you've read this far and added +// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && defined(STBI__X86_TARGET) +#define STBI_SSE2 +#include + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +static int stbi__sse2_available() +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +static int stbi__sse2_available() +{ +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later + // GCC 4.8+ has a nice way to do this + return __builtin_cpu_supports("sse2"); +#else + // portable way to do this, preferably without using GCC inline ASM? + // just bail for now. + return 0; +#endif +} +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +// assume GCC or Clang on ARM targets +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + fseek((FILE*) user, n, SEEK_CUR); +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; +} + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static stbi_uc *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static stbi_uc *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static stbi_uc *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_DDS +#include "stbi_DDS.h" +static int stbi__dds_test(stbi__context *s); +static stbi_uc *stbi__dds_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +#endif + +#ifndef STBI_NO_PVR +#include "stbi_pvr.h" +static int stbi__pvr_test(stbi__context *s); +static stbi_uc *stbi__pvr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +#endif + +#ifndef STBI_NO_PKM +#include "stbi_pkm.h" +static int stbi__pkm_test(stbi__context *s); +static stbi_uc *stbi__pkm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +#endif + +// this is not threadsafe +static const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static int stbi__vertically_flip_on_load = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load = flag_true_if_should_flip; +} + +static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_DDS + if (stbi__dds_test(s)) return stbi__dds_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PVR + if (stbi__pvr_test(s)) return stbi__pvr_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PKM + if (stbi__pkm_test(s)) return stbi__pkm_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +static unsigned char *stbi__load_flip(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result = stbi__load_main(s, x, y, comp, req_comp); + + if (stbi__vertically_flip_on_load && result != NULL) { + int w = *x, h = *y; + int depth = req_comp ? req_comp : *comp; + int row,col,z; + stbi_uc temp; + + // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once + for (row = 0; row < (h>>1); row++) { + for (col = 0; col < w; col++) { + for (z = 0; z < depth; z++) { + temp = result[(row * w + col) * depth + z]; + result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; + result[((h - row - 1) * w + col) * depth + z] = temp; + } + } + } + } + + return result; +} + +static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) +{ + if (stbi__vertically_flip_on_load && result != NULL) { + int w = *x, h = *y; + int depth = req_comp ? req_comp : *comp; + int row,col,z; + float temp; + + // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once + for (row = 0; row < (h>>1); row++) { + for (col = 0; col < w; col++) { + for (z = 0; z < depth; z++) { + temp = result[(row * w + col) * depth + z]; + result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; + result[((h - row - 1) * w + col) * depth + z] = temp; + } + } + } + } +} + + +#ifndef STBI_NO_STDIO + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_flip(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} +#endif //!STBI_NO_STDIO + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_flip(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__load_flip(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp); + if (hdr_data) + stbi__float_postprocess(hdr_data,x,y,comp,req_comp); + return hdr_data; + } + #endif + data = stbi__load_flip(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_file(&s,f); + return stbi__hdr_test(&s); + #else + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + return 0; + #endif +} + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +#ifndef STBI_NO_LINEAR +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} + +static void stbi__skip(stbi__context *s, int n) +{ + if (n < 0) { + s->img_buffer = s->img_buffer_end; + return; + } + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} + +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} + +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} + +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} + +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} + +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + return z + (stbi__get16le(s) << 16); +} + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + + +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} + +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc(req_comp * x * y); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define COMBO(a,b) ((a)*8+(b)) + #define CASE(a,b) case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (COMBO(img_n, req_comp)) { + CASE(1,2) dest[0]=src[0], dest[1]=255; + break; + CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; + break; + CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; + break; + CASE(2,1) dest[0]=src[0]; + break; + CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; + break; + CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; + break; + CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; + break; + CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); + break; + CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; + break; + CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); + break; + CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; + break; + CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; + break; + default: STBI_ASSERT(0); + } + #undef CASE + } + + STBI_FREE(data); + return good; +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output = (float *) stbi__malloc(x * y * comp * sizeof(float)); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output = (stbi_uc *) stbi__malloc(x * y * comp); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi_uc dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0,code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) + for (j=0; j < count[i]; ++j) + h->size[k++] = (stbi_uc) (i+1); + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (-1 << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + + sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB + k = stbi_lrot(j->code_buffer, n); + STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & ~sgn); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + diff = t ? stbi__extend_receive(j, t) : 0; + + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc << j->succ_low); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) << shift); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) << shift); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else { + // r=15 s=0 should write 16 0s, so we just do + // a run of 15 0s and then write s (which is 0), + // so we don't have to do anything special here + } + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k++]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } else { + if (r == 0) { + *p = (short) s; + break; + } + --r; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) << 12) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0] << 2; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4; + int t = q & 15,i; + if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); + L -= 65; + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + stbi__skip(z->s, stbi__get16be(z->s)-2); + return 1; + } + return 0; +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + c = stbi__get8(s); + if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + for (i=0; i < s->img_n; ++i) { + z->img_comp[i].id = stbi__get8(s); + if (z->img_comp[i].id != i+1) // JFIF requires + if (z->img_comp[i].id != i) // some version of jpegtran outputs non-JFIF-compliant files! + return stbi__err("bad component ID","Corrupt JPEG"); + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].raw_data = stbi__malloc(z->img_comp[i].w2 * z->img_comp[i].h2+15); + + if (z->img_comp[i].raw_data == NULL) { + for(--i; i >= 0; --i) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].data = NULL; + } + return stbi__err("outofmem", "Out of memory"); + } + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + z->img_comp[i].linebuf = NULL; + if (z->progressive) { + z->img_comp[i].coeff_w = (z->img_comp[i].w2 + 7) >> 3; + z->img_comp[i].coeff_h = (z->img_comp[i].h2 + 7) >> 3; + z->img_comp[i].raw_coeff = STBI_MALLOC(z->img_comp[i].coeff_w * z->img_comp[i].coeff_h * 64 * sizeof(short) + 15); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } else { + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + for (m = 0; m < 4; m++) { + j->img_comp[m].raw_data = NULL; + j->img_comp[m].raw_coeff = NULL; + } + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + // handle 0s at the end of image data from IP Kamera 9060 + while (!stbi__at_eof(j->s)) { + int x = stbi__get8(j->s); + if (x == 255) { + j->marker = stbi__get8(j->s); + break; + } else if (x != 0) { + return stbi__err("junk before marker", "Corrupt JPEG"); + } + } + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + } else { + if (!stbi__process_marker(j, m)) return 0; + } + m = stbi__get_marker(j); + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +#ifdef STBI_JPEG_OLD +// this is the same YCbCr-to-RGB calculation that stb_image has used +// historically before the algorithm changes in 1.49 +#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 16) + 32768; // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr*float2fixed(1.40200f); + g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); + b = y_fixed + cb*float2fixed(1.77200f); + r >>= 16; + g >>= 16; + b >>= 16; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#else +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + int i; + for (i=0; i < j->s->img_n; ++i) { + if (j->img_comp[i].raw_data) { + STBI_FREE(j->img_comp[i].raw_data); + j->img_comp[i].raw_data = NULL; + j->img_comp[i].data = NULL; + } + if (j->img_comp[i].raw_coeff) { + STBI_FREE(j->img_comp[i].raw_coeff); + j->img_comp[i].raw_coeff = 0; + j->img_comp[i].coeff = 0; + } + if (j->img_comp[i].linebuf) { + STBI_FREE(j->img_comp[i].linebuf); + j->img_comp[i].linebuf = NULL; + } + } +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n; + + if (z->s->img_n == 3 && n < 3) + decode_n = 1; + else + decode_n = z->s->img_n; + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4]; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc(n * z->s->img_x * z->s->img_y + 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n; // report original components, not output + return output; + } +} + +static unsigned char * STBI_FORCE_STACK_ALIGN stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + return load_jpeg_image(&j, x,y,comp,req_comp); +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); + stbi__rewind(s); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__jpeg j; + j.s = s; + return stbi__jpeg_info_raw(&j, x, y, comp); +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[288]; + stbi__uint16 value[288]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + if (sizes[i] > (1 << i)) + return stbi__err("bad sizes", "Corrupt PNG"); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int k2 = stbi__bit_reverse(next_code[s],s); + while (k2 < (1 << STBI__ZFAST_BITS)) { + z->fast[k2] = fastv; + k2 += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + if (z->zbuffer >= z->zbuffer_end) return 0; + return *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); + z->code_buffer |= stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s == 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + STBI_ASSERT(z->size[b] == s); + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) stbi__fill_bits(a); + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + int cur, limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (int) (z->zout - z->zout_start); + limit = (int) (z->zout_end - z->zout_start); + while (cur + n > limit) + limit *= 2; + q = (char *) STBI_REALLOC(z->zout_start, limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + return 1; + } + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (zout + len > a->zout_end) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + if (len) { do *zout++ = v; while (--len); } + } else { + if (len) { do *zout++ = *p++; while (--len); } + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < hlit + hdist) { + int c = stbi__zhuffman_decode(a, &z_codelength); + if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else if (c == 16) { + c = stbi__zreceive(a,2)+3; + memset(lencodes+n, lencodes[n-1], c); + n += c; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + memset(lencodes+n, 0, c); + n += c; + } else { + STBI_ASSERT(c == 18); + c = stbi__zreceive(a,7)+11; + memset(lencodes+n, 0, c); + n += c; + } + } + if (n != hlit+hdist) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncomperssed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + STBI_ASSERT(a->num_bits == 0); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +// @TODO: should statically initialize these for optimal thread safety +static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; +static void stbi__init_zdefaults(void) +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncomperssed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + if (s->img_x == x && s->img_y == y) { + if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } else { // interlaced: + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior = cur - stride; + int filter = *raw++; + int filter_bytes = img_n; + int width = x; + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + STBI_ASSERT(img_width_bytes <= x); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*img_n; + #define CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); + break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); + break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); + break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); + break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); + break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); + break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); + break; + } + #undef CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ + for (k=0; k < img_n; ++k) + switch (filter) { + CASE(STBI__F_none) cur[k] = raw[k]; + break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); + break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); + break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); + break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); + break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); + break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); + break; + } + #undef CASE + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + // insert alpha = 255 + stbi_uc *cur2 = a->out + stride*j; + int i2; + if (img_n == 1) { + for (i2=x-1; i2 >= 0; --i2) { + cur2[i2*2+1] = 255; + cur2[i2*2+0] = cur2[i2]; + } + } else { + STBI_ASSERT(img_n == 3); + for (i2=x-1; i2 >= 0; --i2) { + cur2[i2*4+3] = 255; + cur2[i2*4+2] = cur2[i2*3+2]; + cur2[i2*4+1] = cur2[i2*3+1]; + cur2[i2*4+0] = cur2[i2*3+0]; + } + } + } + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc(a->s->img_x * a->s->img_y * out_n); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_n + out_x*out_n, + a->out + (j*x+i)*out_n, out_n); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc(pixel_count * pal_img_n); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load = 0; +static int stbi__de_iphone_flag = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag = flag_true_if_should_convert; +} + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + p[0] = p[2] * 255 / a; + p[1] = p[1] * 255 / a; + p[2] = t * 255 / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, depth=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + depth = stbi__get8(s); if (depth != 1 && depth != 2 && depth != 4 && depth != 8) return stbi__err("1/2/4/8-bit only","PNG not supported: 1/2/4/8-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + if (scan == STBI__SCAN_header) return 1; + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + // if SCAN_header, have to scan to see if we have a tRNS + } + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + for (k=0; k < s->img_n; ++k) + tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + p = (stbi_uc *) STBI_REALLOC(z->idata, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, depth, color, interlace)) return 0; + if (has_trans) + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } + STBI_FREE(z->expanded); z->expanded = NULL; + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp) +{ + unsigned char *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + result = stbi__convert_format(result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_out_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static unsigned char *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) n += 16, z >>= 16; + if (z >= 0x00100) n += 8, z >>= 8; + if (z >= 0x00010) n += 4, z >>= 4; + if (z >= 0x00004) n += 2, z >>= 2; + if (z >= 0x00002) n += 1, z >>= 1; + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +static int stbi__shiftsigned(int v, int shift, int bits) +{ + int result; + int z=0; + + if (shift < 0) v <<= -shift; + else v >>= shift; + result = v; + + z = bits; + while (z < 8) { + result += v >> z; + z += bits; + } + return result; +} + +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, fake_a=0; + stbi_uc pal[256][4]; + int psize=0,i,j,compress=0,width; + int bpp, flip_vertically, pad, target, offset, hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + offset = stbi__get32le(s); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + bpp = stbi__get16le(s); + if (bpp == 1) return stbi__errpuc("monochrome", "BMP type not supported: 1-bit"); + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + if (hsz == 12) { + if (bpp < 24) + psize = (offset - 14 - 24) / 3; + } else { + compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (bpp == 16 || bpp == 32) { + mr = mg = mb = 0; + if (compress == 0) { + if (bpp == 32) { + mr = 0xffu << 16; + mg = 0xffu << 8; + mb = 0xffu << 0; + ma = 0xffu << 24; + fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255 + STBI_NOTUSED(fake_a); + } else { + mr = 31u << 10; + mg = 31u << 5; + mb = 31u << 0; + } + } else if (compress == 3) { + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + // not documented, but generated by photoshop and handled by mspaint + if (mr == mg && mg == mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + STBI_ASSERT(hsz == 108 || hsz == 124); + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + ma = stbi__get32le(s); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + if (bpp < 16) + psize = (offset - 14 - hsz) >> 2; + } + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + out = (stbi_uc *) stbi__malloc(target * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, offset - 14 - hsz - psize * (hsz == 12 ? 3 : 4)); + if (bpp == 4) width = (s->img_x + 1) >> 1; + else if (bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, offset - 14 - hsz); + if (bpp == 24) width = 3 * s->img_x; + else if (bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (bpp == 24) { + easy = 1; + } else if (bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + if (target == 4) out[z++] = a; + } + } else { + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); + int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i], p1[i] = p2[i], p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if( sz > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + sz = stbi__get8(s); // image type + // only RGB or grey allowed, +/- RLE + if ((sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11)) return 0; + stbi__skip(s,9); + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + sz = stbi__get8(s); // bits per pixel + // only RGB or RGBA or grey allowed + if ((sz != 8) && (sz != 16) && (sz != 24) && (sz != 32)) { + stbi__rewind(s); + return 0; + } + tga_comp = sz; + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp / 8; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if ( sz > 1 ) return 0; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0; // only RGB or grey allowed, +/- RLE + stbi__get16be(s); // discard palette start + stbi__get16be(s); // discard palette length + stbi__get8(s); // discard bits per palette color entry + stbi__get16be(s); // discard x origin + stbi__get16be(s); // discard y origin + if ( stbi__get16be(s) < 1 ) return 0; // test width + if ( stbi__get16be(s) < 1 ) return 0; // test height + sz = stbi__get8(s); // bits per pixel + if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) ) + res = 0; + else + res = 1; + stbi__rewind(s); + return res; +} + +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp = tga_bits_per_pixel / 8; + int tga_inverted = stbi__get8(s); + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4]; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + /* int tga_alpha_bits = tga_inverted & 15; */ + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // error check + if ( //(tga_indexed) || + (tga_width < 1) || (tga_height < 1) || + (tga_image_type < 1) || (tga_image_type > 3) || + ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16) && + (tga_bits_per_pixel != 24) && (tga_bits_per_pixel != 32)) + ) + { + return NULL; // we don't report this as a bad TGA because we don't even know if it's TGA + } + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) + { + tga_comp = tga_palette_bits / 8; + } + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + tga_data = (unsigned char*)stbi__malloc( (size_t)tga_width * tga_height * tga_comp ); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE) { + for (i=0; i < tga_height; ++i) { + int y2 = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + y2*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc( tga_palette_len * tga_palette_bits / 8 ); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (!stbi__getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in 1 byte, then perform the lookup + int pal_idx = stbi__get8(s); + if ( pal_idx >= tga_palette_len ) + { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_bits_per_pixel / 8; + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else + { + // read in the data raw + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB + if (tga_comp >= 3) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + int pixelCount; + int channelCount, compression; + int channel, i, count, len; + int w,h; + stbi_uc *out; + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + // Make sure the depth is 8 bits. + if (stbi__get16be(s) != 8) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Create the destination image. + out = (stbi_uc *) stbi__malloc(channelCount * w*h); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < channelCount; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++) *p = (channel == 3 ? 255 : 0), p += channelCount; + } else { + // Read the RLE data. + count = 0; + while (count < pixelCount) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + count += len; + while (len) { + *p = stbi__get8(s); + p += channelCount; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len ^= 0x0FF; + len += 2; + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += channelCount; + len--; + } + } + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < channelCount; channel++) { + stbi_uc *p; + + p = out + channel; + if (channel > channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++) *p = channel == 3 ? 255 : 0, p += channelCount; + } else { + // Read the data. + for (i = 0; i < pixelCount; i++) + *p = stbi__get8(s), p += channelCount; + } + } + } + + if (req_comp && req_comp != channelCount) { + out = stbi__convert_format(out, channelCount, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = channelCount; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; ytype) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;xchannel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; ichannel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;ichannel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;ichannel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static stbi_uc *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp) +{ + stbi_uc *result; + int i, x,y; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if ((1 << 28) / x < y) return stbi__errpuc("too large", "Image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc(x*y*4); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + result=0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[4096]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif g; + if (!stbi__gif_header(s, &g, comp, 1)) { + stbi__rewind( s ); + return 0; + } + if (x) *x = g.w; + if (y) *y = g.h; + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + p = &g->out[g->cur_x + g->cur_y]; + c = &g->color_table[g->codes[code].suffix * 4]; + + if (c[3] >= 128) { + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + if (lzw_cs > 12) return NULL; + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (code = 0; code < clear; code++) { + g->codes[code].prefix = -1; + g->codes[code].first = (stbi_uc) code; + g->codes[code].suffix = (stbi_uc) code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code2 = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code2 == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code2 == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code2 <= avail) { + if (first) return stbi__errpuc("no clear code", "Corrupt GIF"); + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 4096) return stbi__errpuc("too many codes", "Corrupt GIF"); + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code2 == avail) ? p->first : g->codes[code2].first; + } else if (code2 == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code2); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code2; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +static void stbi__fill_gif_background(stbi__gif *g) +{ + int i; + stbi_uc *c = g->pal[g->bgindex]; + // @OPTIMIZE: write a dword at a time + for (i = 0; i < g->w * g->h * 4; i += 4) { + stbi_uc *p = &g->out[i]; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp) +{ + int i; + stbi_uc *old_out = 0; + + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + stbi__fill_gif_background(g); + } else { + // animated-gif-only path + if (((g->eflags & 0x1C) >> 2) == 3) { + old_out = g->out; + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + memcpy(g->out, old_out, g->w*g->h*4); + } + } + + for (;;) { + switch (stbi__get8(s)) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + for (i=0; i < 256; ++i) // @OPTIMIZE: stbi__jpeg_reset only the previous transparent + g->pal[i][3] = 255; + if (g->transparent >= 0 && (g->eflags & 0x01)) + g->pal[g->transparent][3] = 0; + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (o == NULL) return NULL; + + if (req_comp && req_comp != 4) + o = stbi__convert_format(o, 4, req_comp, g->w, g->h); + return o; + } + + case 0x21: // Comment Extension. + { + int len; + if (stbi__get8(s) == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + stbi__get16le(s); // delay + g->transparent = stbi__get8(s); + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) + stbi__skip(s, len); + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + + u = stbi__gif_load_next(s, &g, comp, req_comp); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + } + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s) +{ + const char *signature = "#?RADIANCE\n"; + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s); + stbi__rewind(s); + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + + + // Check identifier + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + // Read data + hdr_data = (float *) stbi__malloc(height * width * req_comp * sizeof(float)); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) scanline = (stbi_uc *) stbi__malloc(width * 4); + + for (k = 0; k < 4; ++k) { + i = 0; + while (i < width) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') { + stbi__rewind( s ); + return 0; + } + stbi__skip(s,12); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) { + stbi__rewind( s ); + return 0; + } + if (hsz == 12) { + *x = stbi__get16le(s); + *y = stbi__get16le(s); + } else { + *x = stbi__get32le(s); + *y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) { + stbi__rewind( s ); + return 0; + } + *comp = stbi__get16le(s) / 8; + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + if (stbi__get16be(s) != 8) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained; + stbi__pic_packet packets[10]; + + stbi__skip(s, 92); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) return 0; + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) +// Does not support 16-bit-per-channel + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) + return 0; + *x = s->img_x; + *y = s->img_y; + *comp = s->img_n; + + out = (stbi_uc *) stbi__malloc(s->img_n * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + stbi__getn(s, out, s->img_n * s->img_x * s->img_y); + + if (req_comp && req_comp != s->img_n) { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv; + char c, p, t; + + stbi__rewind( s ); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + + if (maxv > 255) + return stbi__err("max value > 255", "PPM image not 8-bit"); + else + return 1; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +// add in my DDS loading support +#ifndef STBI_NO_DDS +#include "stbi_DDS_c.h" +#endif + +// add in my pvr loading support +#ifndef STBI_NO_PVR +#include "stbi_pvr_c.h" +#endif + +// add in my pkm ( ETC1 ) loading support +#ifndef STBI_NO_PKM +#include "stbi_pkm_c.h" +#endif + +#ifndef STBI_NO_EXT +#include "stbi_ext_c.h" +#endif + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) extra corruption checking (mmozeiko) + stbi_set_flip_vertically_on_load (nguillemot) + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 (2008-08-02) + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 (2006-11-19) + first released version +*/ diff --git a/src/libprojectM/Renderer/SOIL2/stb_image_write.h b/src/libprojectM/Renderer/SOIL2/stb_image_write.h new file mode 100644 index 0000000000..22de40b937 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stb_image_write.h @@ -0,0 +1,730 @@ +/* stb_image_write - v0.98 - public domain - http://nothings.org/stb/stb_image_write.h + writes out PNG/BMP/TGA images to C stdio - Sean Barrett 2010 + no warranty implied; use at your own risk + + + Before #including, + + #define STB_IMAGE_WRITE_IMPLEMENTATION + + in the file that you want to have the implementation. + + Will probably not work correctly with strict-aliasing optimizations. + +ABOUT: + + This header file is a library for writing images to C stdio. It could be + adapted to write to memory or a general streaming interface; let me know. + + The PNG output is not optimal; it is 20-50% larger than the file + written by a decent optimizing implementation. This library is designed + for source code compactness and simplicitly, not optimal image file size + or run-time performance. + +BUILDING: + + You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. + You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace + malloc,realloc,free. + You can define STBIW_MEMMOVE() to replace memmove() + +USAGE: + + There are four functions, one for each image file format: + + int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const void *data); + + Each function returns 0 on failure and non-0 on success. + + The functions create an image file defined by the parameters. The image + is a rectangle of pixels stored from left-to-right, top-to-bottom. + Each pixel contains 'comp' channels of data stored interleaved with 8-bits + per channel, in the following order: 1=Y, 2=YA, 3=RGB, 4=RGBA. (Y is + monochrome color.) The rectangle is 'w' pixels wide and 'h' pixels tall. + The *data pointer points to the first byte of the top-left-most pixel. + For PNG, "stride_in_bytes" is the distance in bytes from the first byte of + a row of pixels to the first byte of the next row of pixels. + + PNG creates output files with the same number of components as the input. + The BMP format expands Y to RGB in the file format and does not + output alpha. + + PNG supports writing rectangles of data even when the bytes storing rows of + data are not consecutive in memory (e.g. sub-rectangles of a larger image), + by supplying the stride between the beginning of adjacent rows. The other + formats do not. (Thus you cannot write a native-format BMP through the BMP + writer, both because it is in BGR order and because it may have padding + at the end of the line.) + + HDR expects linear float data. Since the format is always 32-bit rgb(e) + data, alpha (if provided) is discarded, and for monochrome data it is + replicated across all three channels. + +CREDITS: + + PNG/BMP/TGA + Sean Barrett + HDR + Baldur Karlsson + TGA monochrome: + Jean-Sebastien Guay + misc enhancements: + Tim Kelsey + bugfixes: + github:Chribba +*/ + +#ifndef INCLUDE_STB_IMAGE_WRITE_H +#define INCLUDE_STB_IMAGE_WRITE_H + +#ifdef __cplusplus +extern "C" { +#endif + +extern int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +extern int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); +extern int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); +extern int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + +#ifdef __cplusplus +} +#endif + +#endif//INCLUDE_STB_IMAGE_WRITE_H + +#ifdef STB_IMAGE_WRITE_IMPLEMENTATION + +#include +#include +#include +#include +#include + +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && defined(STBIW_REALLOC) +// ok +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) +// ok +#else +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC." +#endif + +#ifndef STBIW_MALLOC +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,sz) realloc(p,sz) +#define STBIW_FREE(p) free(p) +#endif +#ifndef STBIW_MEMMOVE +#define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) +#endif + + +#ifndef STBIW_ASSERT +#include +#define STBIW_ASSERT(x) assert(x) +#endif + +typedef unsigned int stbiw_uint32; +typedef int stb_image_write_test[sizeof(stbiw_uint32)==4 ? 1 : -1]; + +static void writefv(FILE *f, const char *fmt, va_list v) +{ + while (*fmt) { + switch (*fmt++) { + case ' ': break; + case '1': { unsigned char x = (unsigned char) va_arg(v, int); fputc(x,f); break; } + case '2': { int x = va_arg(v,int); unsigned char b[2]; + b[0] = (unsigned char) x; b[1] = (unsigned char) (x>>8); + fwrite(b,2,1,f); break; } + case '4': { stbiw_uint32 x = va_arg(v,int); unsigned char b[4]; + b[0]=(unsigned char)x; b[1]=(unsigned char)(x>>8); + b[2]=(unsigned char)(x>>16); b[3]=(unsigned char)(x>>24); + fwrite(b,4,1,f); break; } + default: + STBIW_ASSERT(0); + return; + } + } +} + +static void write3(FILE *f, unsigned char a, unsigned char b, unsigned char c) +{ + unsigned char arr[3]; + arr[0] = a, arr[1] = b, arr[2] = c; + fwrite(arr, 3, 1, f); +} + +static void write_pixels(FILE *f, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +{ + unsigned char bg[3] = { 255, 0, 255}, px[3]; + stbiw_uint32 zero = 0; + int i,j,k, j_end; + + if (y <= 0) + return; + + if (vdir < 0) + j_end = -1, j = y-1; + else + j_end = y, j = 0; + + for (; j != j_end; j += vdir) { + for (i=0; i < x; ++i) { + unsigned char *d = (unsigned char *) data + (j*x+i)*comp; + if (write_alpha < 0) + fwrite(&d[comp-1], 1, 1, f); + switch (comp) { + case 1: fwrite(d, 1, 1, f); + break; + case 2: if (expand_mono) + write3(f, d[0],d[0],d[0]); // monochrome bmp + else + fwrite(d, 1, 1, f); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k=0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3])/255; + write3(f, px[1-rgb_dir],px[1],px[1+rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + write3(f, d[1-rgb_dir],d[1],d[1+rgb_dir]); + break; + } + if (write_alpha > 0) + fwrite(&d[comp-1], 1, 1, f); + } + fwrite(&zero,scanline_pad,1,f); + } +} + +static int outfile(char const *filename, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) +{ + FILE *f; + if (y < 0 || x < 0) return 0; + f = fopen(filename, "wb"); + if (f) { + va_list v; + va_start(v, fmt); + writefv(f, fmt, v); + va_end(v); + write_pixels(f,rgb_dir,vdir,x,y,comp,data,alpha,pad,expand_mono); + fclose(f); + } + return f != NULL; +} + +int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) +{ + int pad = (-x*3) & 3; + return outfile(filename,-1,-1,x,y,comp,1,(void *) data,0,pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header + 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header +} + +int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +{ + int has_alpha = (comp == 2 || comp == 4); + int colorbytes = has_alpha ? comp-1 : comp; + int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 + return outfile(filename, -1,-1, x, y, comp, 0, (void *) data, has_alpha, 0, + "111 221 2222 11", 0,0,format, 0,0,0, 0,0,x,y, (colorbytes+has_alpha)*8, has_alpha*8); +} + +// ************************************************************************************************* +// Radiance RGBE HDR writer +// by Baldur Karlsson +#define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) + +void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) +{ + int exponent; + float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); + + if (maxcomp < 1e-32) { + rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; + } else { + float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; + + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); + rgbe[3] = (unsigned char)(exponent + 128); + } +} + +void stbiw__write_run_data(FILE *f, int length, unsigned char databyte) +{ + unsigned char lengthbyte = (unsigned char) (length+128); + STBIW_ASSERT(length+128 <= 255); + fwrite(&lengthbyte, 1, 1, f); + fwrite(&databyte, 1, 1, f); +} + +void stbiw__write_dump_data(FILE *f, int length, unsigned char *data) +{ + unsigned char lengthbyte = (unsigned char )(length & 0xff); + STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code + fwrite(&lengthbyte, 1, 1, f); + fwrite(data, length, 1, f); +} + +void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scratch, const float *scanline) +{ + unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; + unsigned char rgbe[4]; + float linear[3]; + int x; + + scanlineheader[2] = (width&0xff00)>>8; + scanlineheader[3] = (width&0x00ff); + + /* skip RLE for images too small or large */ + if (width < 8 || width >= 32768) { + for (x=0; x < width; x++) { + switch (comp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*comp + 2]; + linear[1] = scanline[x*comp + 1]; + linear[0] = scanline[x*comp + 0]; + break; + case 2: /* fallthrough */ + case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + fwrite(rgbe, 4, 1, f); + } + } else { + int c,r; + /* encode into scratch buffer */ + for (x=0; x < width; x++) { + switch(comp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*comp + 2]; + linear[1] = scanline[x*comp + 1]; + linear[0] = scanline[x*comp + 0]; + break; + case 2: /* fallthrough */ + case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + scratch[x + width*0] = rgbe[0]; + scratch[x + width*1] = rgbe[1]; + scratch[x + width*2] = rgbe[2]; + scratch[x + width*3] = rgbe[3]; + } + + fwrite(scanlineheader, 4, 1, f); + + /* RLE each component separately */ + for (c=0; c < 4; c++) { + unsigned char *comp2 = &scratch[width*c]; + + x = 0; + while (x < width) { + // find first run + r = x; + while (r+2 < width) { + if (comp2[r] == comp2[r+1] && comp2[r] == comp2[r+2]) + break; + ++r; + } + if (r+2 >= width) + r = width; + // dump up to first run + while (x < r) { + int len = r-x; + if (len > 128) len = 128; + stbiw__write_dump_data(f, len, &comp2[x]); + x += len; + } + // if there's a run, output it + if (r+2 < width) { // same test as what we break out of in search loop, so only true if we break'd + // find next byte after run + while (r < width && comp2[r] == comp2[x]) + ++r; + // output run up to r + while (x < r) { + int len = r-x; + if (len > 127) len = 127; + stbiw__write_run_data(f, len, comp2[x]); + x += len; + } + } + } + } + } +} + +int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +{ + int i; + FILE *f; + if (y <= 0 || x <= 0 || data == NULL) return 0; + f = fopen(filename, "wb"); + if (f) { + /* Each component is stored separately. Allocate scratch space for full output scanline. */ + unsigned char *scratch = (unsigned char *) STBIW_MALLOC(x*4); + fprintf(f, "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n" ); + fprintf(f, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n" , y, x); + for(i=0; i < y; i++) + stbiw__write_hdr_scanline(f, x, comp, scratch, data + comp*i*x); + STBIW_FREE(scratch); + fclose(f); + } + return f != NULL; +} + +///////////////////////////////////////////////////////// +// PNG + +// stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() +#define stbiw__sbraw(a) ((int *) (a) - 2) +#define stbiw__sbm(a) stbiw__sbraw(a)[0] +#define stbiw__sbn(a) stbiw__sbraw(a)[1] + +#define stbiw__sbneedgrow(a,n) ((a)==0 || stbiw__sbn(a)+n >= stbiw__sbm(a)) +#define stbiw__sbmaybegrow(a,n) (stbiw__sbneedgrow(a,(n)) ? stbiw__sbgrow(a,n) : 0) +#define stbiw__sbgrow(a,n) stbiw__sbgrowf((void **) &(a), (n), sizeof(*(a))) + +#define stbiw__sbpush(a, v) (stbiw__sbmaybegrow(a,1), (a)[stbiw__sbn(a)++] = (v)) +#define stbiw__sbcount(a) ((a) ? stbiw__sbn(a) : 0) +#define stbiw__sbfree(a) ((a) ? STBIW_FREE(stbiw__sbraw(a)),0 : 0) + +static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) +{ + int m = *arr ? 2*stbiw__sbm(*arr)+increment : increment+1; + void *p = STBIW_REALLOC(*arr ? stbiw__sbraw(*arr) : 0, itemsize * m + sizeof(int)*2); + STBIW_ASSERT(p); + if (p) { + if (!*arr) ((int *) p)[1] = 0; + *arr = (void *) ((int *) p + 2); + stbiw__sbm(*arr) = m; + } + return *arr; +} + +static unsigned char *stbiw__zlib_flushf(unsigned char *data, unsigned int *bitbuffer, int *bitcount) +{ + while (*bitcount >= 8) { + stbiw__sbpush(data, (unsigned char) *bitbuffer); + *bitbuffer >>= 8; + *bitcount -= 8; + } + return data; +} + +static int stbiw__zlib_bitrev(int code, int codebits) +{ + int res=0; + while (codebits--) { + res = (res << 1) | (code & 1); + code >>= 1; + } + return res; +} + +static unsigned int stbiw__zlib_countm(unsigned char *a, unsigned char *b, int limit) +{ + int i; + for (i=0; i < limit && i < 258; ++i) + if (a[i] != b[i]) break; + return i; +} + +static unsigned int stbiw__zhash(unsigned char *data) +{ + stbiw_uint32 hash = data[0] + (data[1] << 8) + (data[2] << 16); + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + return hash; +} + +#define stbiw__zlib_flush() (out = stbiw__zlib_flushf(out, &bitbuf, &bitcount)) +#define stbiw__zlib_add(code,codebits) \ + (bitbuf |= (code) << bitcount, bitcount += (codebits), stbiw__zlib_flush()) +#define stbiw__zlib_huffa(b,c) stbiw__zlib_add(stbiw__zlib_bitrev(b,c),c) +// default huffman tables +#define stbiw__zlib_huff1(n) stbiw__zlib_huffa(0x30 + (n), 8) +#define stbiw__zlib_huff2(n) stbiw__zlib_huffa(0x190 + (n)-144, 9) +#define stbiw__zlib_huff3(n) stbiw__zlib_huffa(0 + (n)-256,7) +#define stbiw__zlib_huff4(n) stbiw__zlib_huffa(0xc0 + (n)-280,8) +#define stbiw__zlib_huff(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : (n) <= 255 ? stbiw__zlib_huff2(n) : (n) <= 279 ? stbiw__zlib_huff3(n) : stbiw__zlib_huff4(n)) +#define stbiw__zlib_huffb(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : stbiw__zlib_huff2(n)) + +#define stbiw__ZHASH 16384 + +unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) +{ + static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; + static unsigned char lengtheb[]= { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; + static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; + static unsigned char disteb[] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13 }; + unsigned int bitbuf=0; + int i,j, bitcount=0; + unsigned char *out = NULL; + unsigned char **hash_table[stbiw__ZHASH]; // 64KB on the stack! + if (quality < 5) quality = 5; + + stbiw__sbpush(out, 0x78); // DEFLATE 32K window + stbiw__sbpush(out, 0x5e); // FLEVEL = 1 + stbiw__zlib_add(1,1); // BFINAL = 1 + stbiw__zlib_add(1,2); // BTYPE = 1 -- fixed huffman + + for (i=0; i < stbiw__ZHASH; ++i) + hash_table[i] = NULL; + + i=0; + while (i < data_len-3) { + // hash next 3 bytes of data to be compressed + int h = stbiw__zhash(data+i)&(stbiw__ZHASH-1), best=3; + unsigned char *bestloc = 0; + unsigned char **hlist = hash_table[h]; + int n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32768) { // if entry lies within window + int d = stbiw__zlib_countm(hlist[j], data+i, data_len-i); + if (d >= best) best=d,bestloc=hlist[j]; + } + } + // when hash table entry is too long, delete half the entries + if (hash_table[h] && stbiw__sbn(hash_table[h]) == 2*quality) { + STBIW_MEMMOVE(hash_table[h], hash_table[h]+quality, sizeof(hash_table[h][0])*quality); + stbiw__sbn(hash_table[h]) = quality; + } + stbiw__sbpush(hash_table[h],data+i); + + if (bestloc) { + // "lazy matching" - check match at *next* byte, and if it's better, do cur byte as literal + h = stbiw__zhash(data+i+1)&(stbiw__ZHASH-1); + hlist = hash_table[h]; + n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32767) { + int e = stbiw__zlib_countm(hlist[j], data+i+1, data_len-i-1); + if (e > best) { // if next match is better, bail on current match + bestloc = NULL; + break; + } + } + } + } + + if (bestloc) { + int d = (int) (data+i - bestloc); // distance back + STBIW_ASSERT(d <= 32767 && best <= 258); + for (j=0; best > lengthc[j+1]-1; ++j); + stbiw__zlib_huff(j+257); + if (lengtheb[j]) stbiw__zlib_add(best - lengthc[j], lengtheb[j]); + for (j=0; d > distc[j+1]-1; ++j); + stbiw__zlib_add(stbiw__zlib_bitrev(j,5),5); + if (disteb[j]) stbiw__zlib_add(d - distc[j], disteb[j]); + i += best; + } else { + stbiw__zlib_huffb(data[i]); + ++i; + } + } + // write out final bytes + for (;i < data_len; ++i) + stbiw__zlib_huffb(data[i]); + stbiw__zlib_huff(256); // end of block + // pad with 0 bits to byte boundary + while (bitcount) + stbiw__zlib_add(0,1); + + for (i=0; i < stbiw__ZHASH; ++i) + (void) stbiw__sbfree(hash_table[i]); + + { + // compute adler32 on input + unsigned int i2=0, s1=1, s2=0, blocklen = data_len % 5552; + int j2=0; + while (j2 < data_len) { + for (i2=0; i2 < blocklen; ++i2) s1 += data[j2+i2], s2 += s1; + s1 %= 65521, s2 %= 65521; + j2 += blocklen; + blocklen = 5552; + } + stbiw__sbpush(out, (unsigned char) (s2 >> 8)); + stbiw__sbpush(out, (unsigned char) s2); + stbiw__sbpush(out, (unsigned char) (s1 >> 8)); + stbiw__sbpush(out, (unsigned char) s1); + } + *out_len = stbiw__sbn(out); + // make returned pointer freeable + STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); + return (unsigned char *) stbiw__sbraw(out); +} + +unsigned int stbiw__crc32(unsigned char *buffer, int len) +{ + static unsigned int crc_table[256]; + unsigned int crc = ~0u; + int i,j; + if (crc_table[1] == 0) + for(i=0; i < 256; i++) + for (crc_table[i]=i, j=0; j < 8; ++j) + crc_table[i] = (crc_table[i] >> 1) ^ (crc_table[i] & 1 ? 0xedb88320 : 0); + for (i=0; i < len; ++i) + crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; + return ~crc; +} + +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=(unsigned char)(a),(o)[1]=(unsigned char)(b),(o)[2]=(unsigned char)(c),(o)[3]=(unsigned char)(d),(o)+=4) +#define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); +#define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) + +static void stbiw__wpcrc(unsigned char **data, int len) +{ + unsigned int crc = stbiw__crc32(*data - len - 4, len+4); + stbiw__wp32(*data, crc); +} + +static unsigned char stbiw__paeth(int a, int b, int c) +{ + int p = a + b - c, pa = abs(p-a), pb = abs(p-b), pc = abs(p-c); + if (pa <= pb && pa <= pc) return (unsigned char) a; + if (pb <= pc) return (unsigned char) b; + return (unsigned char) c; +} + +unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) +{ + int ctype[5] = { -1, 0, 4, 2, 6 }; + unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; + unsigned char *out,*o, *filt, *zlib; + signed char *line_buffer; + int i,j,k,p,zlen; + + if (stride_bytes == 0) + stride_bytes = x * n; + + filt = (unsigned char *) STBIW_MALLOC((x*n+1) * y); if (!filt) return 0; + line_buffer = (signed char *) STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } + for (j=0; j < y; ++j) { + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int *mymap = j ? mapping : firstmap; + int best = 0, bestval = 0x7fffffff; + for (p=0; p < 2; ++p) { + for (k= p?best:0; k < 5; ++k) { + int type = mymap[k],est=0; + unsigned char *z = pixels + stride_bytes*j; + for (i=0; i < n; ++i) + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; + case 3: line_buffer[i] = z[i] - (z[i-stride_bytes]>>1); break; + case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-stride_bytes],0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + for (i=n; i < x*n; ++i) { + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i] - z[i-n]; break; + case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; + case 3: line_buffer[i] = z[i] - ((z[i-n] + z[i-stride_bytes])>>1); break; + case 4: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-stride_bytes], z[i-stride_bytes-n]); break; + case 5: line_buffer[i] = z[i] - (z[i-n]>>1); break; + case 6: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; + } + } + if (p) break; + for (i=0; i < x*n; ++i) + est += abs((signed char) line_buffer[i]); + if (est < bestval) { bestval = est; best = k; } + } + } + // when we get here, best contains the filter type, and line_buffer contains the data + filt[j*(x*n+1)] = (unsigned char) best; + STBIW_MEMMOVE(filt+j*(x*n+1)+1, line_buffer, x*n); + } + STBIW_FREE(line_buffer); + zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, 8); // increase 8 to get smaller but use more memory + STBIW_FREE(filt); + if (!zlib) return 0; + + // each tag requires 12 bytes of overhead + out = (unsigned char *) STBIW_MALLOC(8 + 12+13 + 12+zlen + 12); + if (!out) return 0; + *out_len = 8 + 12+13 + 12+zlen + 12; + + o=out; + STBIW_MEMMOVE(o,sig,8); o+= 8; + stbiw__wp32(o, 13); // header length + stbiw__wptag(o, "IHDR"); + stbiw__wp32(o, x); + stbiw__wp32(o, y); + *o++ = 8; + *o++ = (unsigned char) ctype[n]; + *o++ = 0; + *o++ = 0; + *o++ = 0; + stbiw__wpcrc(&o,13); + + stbiw__wp32(o, zlen); + stbiw__wptag(o, "IDAT"); + STBIW_MEMMOVE(o, zlib, zlen); + o += zlen; + STBIW_FREE(zlib); + stbiw__wpcrc(&o, zlen); + + stbiw__wp32(o,0); + stbiw__wptag(o, "IEND"); + stbiw__wpcrc(&o,0); + + STBIW_ASSERT(o == out + *out_len); + + return out; +} + +int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) +{ + FILE *f; + int len; + unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); + if (!png) return 0; + f = fopen(filename, "wb"); + if (!f) { STBIW_FREE(png); return 0; } + fwrite(png, 1, len, f); + fclose(f); + STBIW_FREE(png); + return 1; +} +#endif // STB_IMAGE_WRITE_IMPLEMENTATION + +/* Revision history + 0.98 (2015-04-08) + added STBIW_MALLOC, STBIW_ASSERT etc + 0.97 (2015-01-18) + fixed HDR asserts, rewrote HDR rle logic + 0.96 (2015-01-17) + add HDR output + fix monochrome BMP + 0.95 (2014-08-17) + add monochrome TGA output + 0.94 (2014-05-31) + rename private functions to avoid conflicts with stb_image.h + 0.93 (2014-05-27) + warning fixes + 0.92 (2010-08-01) + casts to unsigned char to fix warnings + 0.91 (2010-07-17) + first public release + 0.90 first internal release +*/ diff --git a/src/libprojectM/Renderer/SOIL2/stbi_DDS.h b/src/libprojectM/Renderer/SOIL2/stbi_DDS.h new file mode 100755 index 0000000000..79435fa6e2 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_DDS.h @@ -0,0 +1,34 @@ +/* + adding DDS loading support to stbi +*/ + +#ifndef HEADER_STB_IMAGE_DDS_AUGMENTATION +#define HEADER_STB_IMAGE_DDS_AUGMENTATION + +/* is it a DDS file? */ +extern int stbi__dds_test_memory (stbi_uc const *buffer, int len); +extern int stbi__dds_test_callbacks (stbi_io_callbacks const *clbk, void *user); + +extern stbi_uc *stbi__dds_load_from_path (const char *filename, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__dds_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__dds_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +extern int stbi__dds_test_filename (char const *filename); +extern int stbi__dds_test_file (FILE *f); +extern stbi_uc *stbi__dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +#endif + +extern int stbi__dds_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int *iscompressed); +extern int stbi__dds_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int *iscompressed); + + +#ifndef STBI_NO_STDIO +extern int stbi__dds_info_from_path (char const *filename, int *x, int *y, int *comp, int *iscompressed); +extern int stbi__dds_info_from_file (FILE *f, int *x, int *y, int *comp, int *iscompressed); +#endif + +/* +// +//// end header file /////////////////////////////////////////////////////*/ +#endif /* HEADER_STB_IMAGE_DDS_AUGMENTATION */ diff --git a/src/libprojectM/Renderer/SOIL2/stbi_DDS_c.h b/src/libprojectM/Renderer/SOIL2/stbi_DDS_c.h new file mode 100755 index 0000000000..82494aa2df --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_DDS_c.h @@ -0,0 +1,591 @@ + +/// DDS file support, does decoding, _not_ direct uploading +/// (use SOIL for that ;-) + +#include "image_DXT.h" + +static int stbi__dds_test(stbi__context *s) +{ + // check the magic number + if (stbi__get8(s) != 'D') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != 'D') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != 'S') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != ' ') { + stbi__rewind(s); + return 0; + } + + // check header size + if (stbi__get32le(s) != 124) { + stbi__rewind(s); + return 0; + } + + // Also rewind because the loader needs to read the header + stbi__rewind(s); + + return 1; +} +#ifndef STBI_NO_STDIO + +int stbi__dds_test_filename (char const *filename) +{ + int r; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + r = stbi__dds_test_file(f); + fclose(f); + return r; +} + +int stbi__dds_test_file (FILE *f) +{ + stbi__context s; + int r,n = ftell(f); + stbi__start_file(&s,f); + r = stbi__dds_test(&s); + fseek(f,n,SEEK_SET); + return r; +} +#endif + +int stbi__dds_test_memory (stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__dds_test(&s); +} + +int stbi__dds_test_callbacks (stbi_io_callbacks const *clbk, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__dds_test(&s); +} + +// helper functions +int stbi_convert_bit_range( int c, int from_bits, int to_bits ) +{ + int b = (1 << (from_bits - 1)) + c * ((1 << to_bits) - 1); + return (b + (b >> from_bits)) >> from_bits; +} +void stbi_rgb_888_from_565( unsigned int c, int *r, int *g, int *b ) +{ + *r = stbi_convert_bit_range( (c >> 11) & 31, 5, 8 ); + *g = stbi_convert_bit_range( (c >> 05) & 63, 6, 8 ); + *b = stbi_convert_bit_range( (c >> 00) & 31, 5, 8 ); +} +void stbi_decode_DXT1_block( + unsigned char uncompressed[16*4], + unsigned char compressed[8] ) +{ + int next_bit = 4*8; + int i, r, g, b; + int c0, c1; + unsigned char decode_colors[4*4]; + // find the 2 primary colors + c0 = compressed[0] + (compressed[1] << 8); + c1 = compressed[2] + (compressed[3] << 8); + stbi_rgb_888_from_565( c0, &r, &g, &b ); + decode_colors[0] = r; + decode_colors[1] = g; + decode_colors[2] = b; + decode_colors[3] = 255; + stbi_rgb_888_from_565( c1, &r, &g, &b ); + decode_colors[4] = r; + decode_colors[5] = g; + decode_colors[6] = b; + decode_colors[7] = 255; + if( c0 > c1 ) + { + // no alpha, 2 interpolated colors + decode_colors[8] = (2*decode_colors[0] + decode_colors[4]) / 3; + decode_colors[9] = (2*decode_colors[1] + decode_colors[5]) / 3; + decode_colors[10] = (2*decode_colors[2] + decode_colors[6]) / 3; + decode_colors[11] = 255; + decode_colors[12] = (decode_colors[0] + 2*decode_colors[4]) / 3; + decode_colors[13] = (decode_colors[1] + 2*decode_colors[5]) / 3; + decode_colors[14] = (decode_colors[2] + 2*decode_colors[6]) / 3; + decode_colors[15] = 255; + } else + { + // 1 interpolated color, alpha + decode_colors[8] = (decode_colors[0] + decode_colors[4]) / 2; + decode_colors[9] = (decode_colors[1] + decode_colors[5]) / 2; + decode_colors[10] = (decode_colors[2] + decode_colors[6]) / 2; + decode_colors[11] = 255; + decode_colors[12] = 0; + decode_colors[13] = 0; + decode_colors[14] = 0; + decode_colors[15] = 0; + } + // decode the block + for( i = 0; i < 16*4; i += 4 ) + { + int idx = ((compressed[next_bit>>3] >> (next_bit & 7)) & 3) * 4; + next_bit += 2; + uncompressed[i+0] = decode_colors[idx+0]; + uncompressed[i+1] = decode_colors[idx+1]; + uncompressed[i+2] = decode_colors[idx+2]; + uncompressed[i+3] = decode_colors[idx+3]; + } + // done +} +void stbi_decode_DXT23_alpha_block( + unsigned char uncompressed[16*4], + unsigned char compressed[8] ) +{ + int i, next_bit = 0; + // each alpha value gets 4 bits + for( i = 3; i < 16*4; i += 4 ) + { + uncompressed[i] = stbi_convert_bit_range( + (compressed[next_bit>>3] >> (next_bit&7)) & 15, + 4, 8 ); + next_bit += 4; + } +} +void stbi_decode_DXT45_alpha_block( + unsigned char uncompressed[16*4], + unsigned char compressed[8] ) +{ + int i, next_bit = 8*2; + unsigned char decode_alpha[8]; + // each alpha value gets 3 bits, and the 1st 2 bytes are the range + decode_alpha[0] = compressed[0]; + decode_alpha[1] = compressed[1]; + if( decode_alpha[0] > decode_alpha[1] ) + { + // 6 step intermediate + decode_alpha[2] = (6*decode_alpha[0] + 1*decode_alpha[1]) / 7; + decode_alpha[3] = (5*decode_alpha[0] + 2*decode_alpha[1]) / 7; + decode_alpha[4] = (4*decode_alpha[0] + 3*decode_alpha[1]) / 7; + decode_alpha[5] = (3*decode_alpha[0] + 4*decode_alpha[1]) / 7; + decode_alpha[6] = (2*decode_alpha[0] + 5*decode_alpha[1]) / 7; + decode_alpha[7] = (1*decode_alpha[0] + 6*decode_alpha[1]) / 7; + } else + { + // 4 step intermediate, pluss full and none + decode_alpha[2] = (4*decode_alpha[0] + 1*decode_alpha[1]) / 5; + decode_alpha[3] = (3*decode_alpha[0] + 2*decode_alpha[1]) / 5; + decode_alpha[4] = (2*decode_alpha[0] + 3*decode_alpha[1]) / 5; + decode_alpha[5] = (1*decode_alpha[0] + 4*decode_alpha[1]) / 5; + decode_alpha[6] = 0; + decode_alpha[7] = 255; + } + for( i = 3; i < 16*4; i += 4 ) + { + int idx = 0, bit; + bit = (compressed[next_bit>>3] >> (next_bit&7)) & 1; + idx += bit << 0; + ++next_bit; + bit = (compressed[next_bit>>3] >> (next_bit&7)) & 1; + idx += bit << 1; + ++next_bit; + bit = (compressed[next_bit>>3] >> (next_bit&7)) & 1; + idx += bit << 2; + ++next_bit; + uncompressed[i] = decode_alpha[idx & 7]; + } + // done +} +void stbi_decode_DXT_color_block( + unsigned char uncompressed[16*4], + unsigned char compressed[8] ) +{ + int next_bit = 4*8; + int i, r, g, b; + int c0, c1; + unsigned char decode_colors[4*3]; + // find the 2 primary colors + c0 = compressed[0] + (compressed[1] << 8); + c1 = compressed[2] + (compressed[3] << 8); + stbi_rgb_888_from_565( c0, &r, &g, &b ); + decode_colors[0] = r; + decode_colors[1] = g; + decode_colors[2] = b; + stbi_rgb_888_from_565( c1, &r, &g, &b ); + decode_colors[3] = r; + decode_colors[4] = g; + decode_colors[5] = b; + // Like DXT1, but no choicees: + // no alpha, 2 interpolated colors + decode_colors[6] = (2*decode_colors[0] + decode_colors[3]) / 3; + decode_colors[7] = (2*decode_colors[1] + decode_colors[4]) / 3; + decode_colors[8] = (2*decode_colors[2] + decode_colors[5]) / 3; + decode_colors[9] = (decode_colors[0] + 2*decode_colors[3]) / 3; + decode_colors[10] = (decode_colors[1] + 2*decode_colors[4]) / 3; + decode_colors[11] = (decode_colors[2] + 2*decode_colors[5]) / 3; + // decode the block + for( i = 0; i < 16*4; i += 4 ) + { + int idx = ((compressed[next_bit>>3] >> (next_bit & 7)) & 3) * 3; + next_bit += 2; + uncompressed[i+0] = decode_colors[idx+0]; + uncompressed[i+1] = decode_colors[idx+1]; + uncompressed[i+2] = decode_colors[idx+2]; + } + // done +} + +static int stbi__dds_info( stbi__context *s, int *x, int *y, int *comp, int *iscompressed ) { + unsigned int flags; + int is_compressed,has_alpha; + DDS_header header={0}; + + if( sizeof( DDS_header ) != 128 ) + { + return 0; + } + + stbi__getn( s, (stbi_uc*)(&header), 128 ); + + if( header.dwMagic != (('D' << 0) | ('D' << 8) | ('S' << 16) | (' ' << 24)) ) { + stbi__rewind( s ); + return 0; + } + if( header.dwSize != 124 ) { + stbi__rewind( s ); + return 0; + } + flags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + if( (header.dwFlags & flags) != flags ) { + stbi__rewind( s ); + return 0; + } + if( header.sPixelFormat.dwSize != 32 ) { + stbi__rewind( s ); + return 0; + } + flags = DDPF_FOURCC | DDPF_RGB; + if( (header.sPixelFormat.dwFlags & flags) == 0 ) { + stbi__rewind( s ); + return 0; + } + if( (header.sCaps.dwCaps1 & DDSCAPS_TEXTURE) == 0 ) { + stbi__rewind( s ); + return 0; + } + + is_compressed = (header.sPixelFormat.dwFlags & DDPF_FOURCC) / DDPF_FOURCC; + has_alpha = (header.sPixelFormat.dwFlags & DDPF_ALPHAPIXELS) / DDPF_ALPHAPIXELS; + + *x = header.dwWidth; + *y = header.dwHeight; + + if ( !is_compressed ) { + *comp = 3; + + if ( has_alpha ) + *comp = 4; + } + else + *comp = 4; + + if ( iscompressed ) + *iscompressed = is_compressed; + + return 1; +} + +int stbi__dds_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int *iscompressed) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__dds_info( &s, x, y, comp, iscompressed ); +} + +int stbi__dds_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int *iscompressed) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__dds_info( &s, x, y, comp, iscompressed ); +} + +#ifndef STBI_NO_STDIO +int stbi__dds_info_from_path(char const *filename, int *x, int *y, int *comp, int *iscompressed) +{ + int res; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + res = stbi__dds_info_from_file( f, x, y, comp, iscompressed ); + fclose(f); + return res; +} + +int stbi__dds_info_from_file(FILE *f, int *x, int *y, int *comp, int *iscompressed) +{ + stbi__context s; + int res; + long n = ftell(f); + stbi__start_file(&s, f); + res = stbi__dds_info(&s, x, y, comp, iscompressed); + fseek(f, n, SEEK_SET); + return res; +} +#endif + +static stbi_uc * stbi__dds_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + // all variables go up front + stbi_uc *dds_data = NULL; + stbi_uc block[16*4]; + stbi_uc compressed[8]; + unsigned int flags; + int DXT_family; + int has_alpha, has_mipmap; + int is_compressed, cubemap_faces; + int block_pitch, num_blocks; + DDS_header header={0}; + int i, sz, cf; + // load the header + if( sizeof( DDS_header ) != 128 ) + { + return NULL; + } + stbi__getn( s, (stbi_uc*)(&header), 128 ); + // and do some checking + if( header.dwMagic != (('D' << 0) | ('D' << 8) | ('S' << 16) | (' ' << 24)) ) return NULL; + if( header.dwSize != 124 ) return NULL; + flags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + if( (header.dwFlags & flags) != flags ) return NULL; + /* According to the MSDN spec, the dwFlags should contain + DDSD_LINEARSIZE if it's compressed, or DDSD_PITCH if + uncompressed. Some DDS writers do not conform to the + spec, so I need to make my reader more tolerant */ + if( header.sPixelFormat.dwSize != 32 ) return NULL; + flags = DDPF_FOURCC | DDPF_RGB; + if( (header.sPixelFormat.dwFlags & flags) == 0 ) return NULL; + if( (header.sCaps.dwCaps1 & DDSCAPS_TEXTURE) == 0 ) return NULL; + // get the image data + s->img_x = header.dwWidth; + s->img_y = header.dwHeight; + s->img_n = 4; + is_compressed = (header.sPixelFormat.dwFlags & DDPF_FOURCC) / DDPF_FOURCC; + has_alpha = (header.sPixelFormat.dwFlags & DDPF_ALPHAPIXELS) / DDPF_ALPHAPIXELS; + has_mipmap = (header.sCaps.dwCaps1 & DDSCAPS_MIPMAP) && (header.dwMipMapCount > 1); + cubemap_faces = (header.sCaps.dwCaps2 & DDSCAPS2_CUBEMAP) / DDSCAPS2_CUBEMAP; + /* I need cubemaps to have square faces */ + cubemap_faces &= (s->img_x == s->img_y); + cubemap_faces *= 5; + cubemap_faces += 1; + block_pitch = (s->img_x+3) >> 2; + num_blocks = block_pitch * ((s->img_y+3) >> 2); + /* let the user know what's going on */ + *x = s->img_x; + *y = s->img_y; + *comp = s->img_n; + /* is this uncompressed? */ + if( is_compressed ) + { + /* compressed */ + // note: header.sPixelFormat.dwFourCC is something like (('D'<<0)|('X'<<8)|('T'<<16)|('1'<<24)) + DXT_family = 1 + (header.sPixelFormat.dwFourCC >> 24) - '1'; + if( (DXT_family < 1) || (DXT_family > 5) ) return NULL; + /* check the expected size...oops, nevermind... + those non-compliant writers leave + dwPitchOrLinearSize == 0 */ + // passed all the tests, get the RAM for decoding + sz = (s->img_x)*(s->img_y)*4*cubemap_faces; + dds_data = (unsigned char*)malloc( sz ); + /* do this once for each face */ + for( cf = 0; cf < cubemap_faces; ++ cf ) + { + // now read and decode all the blocks + for( i = 0; i < num_blocks; ++i ) + { + // where are we? + int bx, by, bw=4, bh=4; + int ref_x = 4 * (i % block_pitch); + int ref_y = 4 * (i / block_pitch); + // get the next block's worth of compressed data, and decompress it + if( DXT_family == 1 ) + { + // DXT1 + stbi__getn( s, compressed, 8 ); + stbi_decode_DXT1_block( block, compressed ); + } else if( DXT_family < 4 ) + { + // DXT2/3 + stbi__getn( s, compressed, 8 ); + stbi_decode_DXT23_alpha_block ( block, compressed ); + stbi__getn( s, compressed, 8 ); + stbi_decode_DXT_color_block ( block, compressed ); + } else + { + // DXT4/5 + stbi__getn( s, compressed, 8 ); + stbi_decode_DXT45_alpha_block ( block, compressed ); + stbi__getn( s, compressed, 8 ); + stbi_decode_DXT_color_block ( block, compressed ); + } + // is this a partial block? + if( ref_x + 4 > (int)s->img_x ) + { + bw = s->img_x - ref_x; + } + if( ref_y + 4 > (int)s->img_y ) + { + bh = s->img_y - ref_y; + } + // now drop our decompressed data into the buffer + for( by = 0; by < bh; ++by ) + { + int idx = 4*((ref_y+by+cf*s->img_x)*s->img_x + ref_x); + for( bx = 0; bx < bw*4; ++bx ) + { + + dds_data[idx+bx] = block[by*16+bx]; + } + } + } + /* done reading and decoding the main image... + stbi__skip MIPmaps if present */ + if( has_mipmap ) + { + int block_size = 16; + if( DXT_family == 1 ) + { + block_size = 8; + } + for( i = 1; i < (int)header.dwMipMapCount; ++i ) + { + int mx = s->img_x >> (i + 2); + int my = s->img_y >> (i + 2); + if( mx < 1 ) + { + mx = 1; + } + if( my < 1 ) + { + my = 1; + } + stbi__skip( s, mx*my*block_size ); + } + } + }/* per cubemap face */ + } else + { + /* uncompressed */ + DXT_family = 0; + s->img_n = 3; + if( has_alpha ) + { + s->img_n = 4; + } + *comp = s->img_n; + sz = s->img_x*s->img_y*s->img_n*cubemap_faces; + dds_data = (unsigned char*)malloc( sz ); + /* do this once for each face */ + for( cf = 0; cf < cubemap_faces; ++ cf ) + { + /* read the main image for this face */ + stbi__getn( s, &dds_data[cf*s->img_x*s->img_y*s->img_n], s->img_x*s->img_y*s->img_n ); + /* done reading and decoding the main image... + stbi__skip MIPmaps if present */ + if( has_mipmap ) + { + for( i = 1; i < (int)header.dwMipMapCount; ++i ) + { + int mx = s->img_x >> i; + int my = s->img_y >> i; + if( mx < 1 ) + { + mx = 1; + } + if( my < 1 ) + { + my = 1; + } + stbi__skip( s, mx*my*s->img_n ); + } + } + } + /* data was BGR, I need it RGB */ + for( i = 0; i < sz; i += s->img_n ) + { + unsigned char temp = dds_data[i]; + dds_data[i] = dds_data[i+2]; + dds_data[i+2] = temp; + } + } + /* finished decompressing into RGBA, + adjust the y size if we have a cubemap + note: sz is already up to date */ + s->img_y *= cubemap_faces; + *y = s->img_y; + // did the user want something else, or + // see if all the alpha values are 255 (i.e. no transparency) + has_alpha = 0; + if( s->img_n == 4) + { + for( i = 3; (i < sz) && (has_alpha == 0); i += 4 ) + { + has_alpha |= (dds_data[i] < 255); + } + } + if( (req_comp <= 4) && (req_comp >= 1) ) + { + // user has some requirements, meet them + if( req_comp != s->img_n ) + { + dds_data = stbi__convert_format( dds_data, s->img_n, req_comp, s->img_x, s->img_y ); + *comp = req_comp; + } + } else + { + // user had no requirements, only drop to RGB is no alpha + if( (has_alpha == 0) && (s->img_n == 4) ) + { + dds_data = stbi__convert_format( dds_data, 4, 3, s->img_x, s->img_y ); + *comp = 3; + } + } + // OK, done + return dds_data; +} + +#ifndef STBI_NO_STDIO +stbi_uc *stbi__dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__dds_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__dds_load_from_path (const char *filename, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *data; + FILE *f = fopen(filename, "rb"); + if (!f) return NULL; + data = stbi__dds_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return data; +} +#endif + +stbi_uc *stbi__dds_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__dds_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__dds_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__dds_load(&s,x,y,comp,req_comp); +} diff --git a/src/libprojectM/Renderer/SOIL2/stbi_ext.h b/src/libprojectM/Renderer/SOIL2/stbi_ext.h new file mode 100644 index 0000000000..de0ecc8791 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_ext.h @@ -0,0 +1,28 @@ +#ifndef HEADER_STB_IMAGE_EXT +#define HEADER_STB_IMAGE_EXT + +enum { + STBI_unknown= 0, + STBI_jpeg = 1, + STBI_png = 2, + STBI_bmp = 3, + STBI_gif = 4, + STBI_tga = 5, + STBI_psd = 6, + STBI_pic = 7, + STBI_pnm = 8, + STBI_dds = 9, + STBI_pvr = 10, + STBI_pkm = 11, + STBI_hdr = 12 +}; + +extern int stbi_test_from_memory (stbi_uc const *buffer, int len); +extern int stbi_test_from_callbacks (stbi_io_callbacks const *clbk, void *user); + +#ifndef STBI_NO_STDIO +extern int stbi_test (char const *filename); +extern int stbi_test_from_file (FILE *f); +#endif + +#endif /* HEADER_STB_IMAGE_EXT */ diff --git a/src/libprojectM/Renderer/SOIL2/stbi_ext_c.h b/src/libprojectM/Renderer/SOIL2/stbi_ext_c.h new file mode 100644 index 0000000000..224f436bcb --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_ext_c.h @@ -0,0 +1,74 @@ + +static int stbi_test_main(stbi__context *s) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return STBI_jpeg; + #endif + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return STBI_png; + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return STBI_bmp; + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return STBI_gif; + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return STBI_psd; + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return STBI_pic; + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return STBI_pnm; + #endif + #ifndef STBI_NO_DDS + if (stbi__dds_test(s)) return STBI_dds; + #endif + #ifndef STBI_NO_PVR + if (stbi__pvr_test(s)) return STBI_pvr; + #endif + #ifndef STBI_NO_PKM + if (stbi__pkm_test(s)) return STBI_pkm; + #endif + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) return STBI_hdr; + #endif + #ifndef STBI_NO_TGA + if (stbi__tga_test(s)) return STBI_tga; + #endif + return STBI_unknown; +} + +#ifndef STBI_NO_STDIO +int stbi_test_from_file(FILE *f) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi_test_main(&s); +} + +int stbi_test(char const *filename) +{ + FILE *f = fopen(filename, "rb"); + int result; + if (!f) return STBI_unknown; + result = stbi_test_from_file(f); + fclose(f); + return result; +} +#endif //!STBI_NO_STDIO + +int stbi_test_from_memory(stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi_test_main(&s); +} + +int stbi_test_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi_test_main(&s); +} diff --git a/src/libprojectM/Renderer/SOIL2/stbi_pkm.h b/src/libprojectM/Renderer/SOIL2/stbi_pkm.h new file mode 100644 index 0000000000..7d9eaf69aa --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_pkm.h @@ -0,0 +1,34 @@ +/* + adding PKM loading support to stbi +*/ + +#ifndef HEADER_STB_IMAGE_PKM_AUGMENTATION +#define HEADER_STB_IMAGE_PKM_AUGMENTATION + +/* is it a PKM file? */ +extern int stbi__pkm_test_memory (stbi_uc const *buffer, int len); +extern int stbi__pkm_test_callbacks (stbi_io_callbacks const *clbk, void *user); + +extern stbi_uc *stbi__pkm_load_from_path (char const *filename, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__pkm_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__pkm_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +extern int stbi__pkm_test_filename (char const *filename); +extern int stbi__pkm_test_file (FILE *f); +extern stbi_uc *stbi__pkm_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +#endif + +extern int stbi__pkm_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp); +extern int stbi__pkm_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); + + +#ifndef STBI_NO_STDIO +extern int stbi__pkm_info_from_path (char const *filename, int *x, int *y, int *comp); +extern int stbi__pkm_info_from_file (FILE *f, int *x, int *y, int *comp); +#endif + +/* +// +//// end header file /////////////////////////////////////////////////////*/ +#endif /* HEADER_STB_IMAGE_PKM_AUGMENTATION */ diff --git a/src/libprojectM/Renderer/SOIL2/stbi_pkm_c.h b/src/libprojectM/Renderer/SOIL2/stbi_pkm_c.h new file mode 100644 index 0000000000..106eb90d0b --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_pkm_c.h @@ -0,0 +1,227 @@ +#include "pkm_helper.h" +#include "etc1_utils.h" + +static int stbi__pkm_test(stbi__context *s) +{ + // check the magic number + if (stbi__get8(s) != 'P') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != 'K') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != 'M') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != ' ') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != '1') { + stbi__rewind(s); + return 0; + } + + if (stbi__get8(s) != '0') { + stbi__rewind(s); + return 0; + } + + stbi__rewind(s); + return 1; +} + +#ifndef STBI_NO_STDIO + +int stbi__pkm_test_filename (char const *filename) +{ + int r; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + r = stbi__pkm_test_file(f); + fclose(f); + return r; +} + +int stbi__pkm_test_file (FILE *f) +{ + stbi__context s; + int r,n = ftell(f); + stbi__start_file(&s,f); + r = stbi__pkm_test(&s); + fseek(f,n,SEEK_SET); + return r; +} +#endif + +int stbi__pkm_test_memory (stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pkm_test(&s); +} + +int stbi__pkm_test_callbacks (stbi_io_callbacks const *clbk, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pkm_test(&s); +} + +static int stbi__pkm_info(stbi__context *s, int *x, int *y, int *comp ) +{ + PKMHeader header; + unsigned int width, height; + + stbi__getn( s, (stbi_uc*)(&header), sizeof(PKMHeader) ); + + if ( 0 != strcmp( header.aName, "PKM 10" ) ) { + stbi__rewind(s); + return 0; + } + + width = (header.iWidthMSB << 8) | header.iWidthLSB; + height = (header.iHeightMSB << 8) | header.iHeightLSB; + + *x = s->img_x = width; + *y = s->img_y = height; + *comp = s->img_n = 3; + + stbi__rewind(s); + + return 1; +} + +int stbi__pkm_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp ) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pkm_info( &s, x, y, comp ); +} + +int stbi__pkm_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pkm_info( &s, x, y, comp ); +} + +#ifndef STBI_NO_STDIO +int stbi__pkm_info_from_path(char const *filename, int *x, int *y, int *comp) +{ + int res; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + res = stbi__pkm_info_from_file( f, x, y, comp ); + fclose(f); + return res; +} + +int stbi__pkm_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + stbi__context s; + int res; + long n = ftell(f); + stbi__start_file(&s, f); + res = stbi__pkm_info(&s, x, y, comp); + fseek(f, n, SEEK_SET); + return res; +} +#endif + +static stbi_uc * stbi__pkm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *pkm_data = NULL; + stbi_uc *pkm_res_data = NULL; + PKMHeader header; + unsigned int width; + unsigned int height; + unsigned int align = 0; + unsigned int bpr; + unsigned int size; + unsigned int compressedSize; + + int res; + + stbi__getn( s, (stbi_uc*)(&header), sizeof(PKMHeader) ); + + if ( 0 != strcmp( header.aName, "PKM 10" ) ) { + return NULL; + } + + width = (header.iWidthMSB << 8) | header.iWidthLSB; + height = (header.iHeightMSB << 8) | header.iHeightLSB; + + *x = s->img_x = width; + *y = s->img_y = height; + *comp = s->img_n = 3; + + compressedSize = etc1_get_encoded_data_size(width, height); + + pkm_data = (stbi_uc *)malloc(compressedSize); + stbi__getn( s, pkm_data, compressedSize ); + + bpr = ((width * 3) + align) & ~align; + size = bpr * height; + pkm_res_data = (stbi_uc *)malloc(size); + + res = etc1_decode_image((const etc1_byte*)pkm_data, (etc1_byte*)pkm_res_data, width, height, 3, bpr); + + free( pkm_data ); + + if ( 0 == res ) { + if( (req_comp <= 4) && (req_comp >= 1) ) { + // user has some requirements, meet them + if( req_comp != s->img_n ) { + pkm_res_data = stbi__convert_format( pkm_res_data, s->img_n, req_comp, s->img_x, s->img_y ); + *comp = req_comp; + } + } + + return (stbi_uc *)pkm_res_data; + } else { + free( pkm_res_data ); + } + + return NULL; +} + +#ifndef STBI_NO_STDIO +stbi_uc *stbi__pkm_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__pkm_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__pkm_load_from_path (char const*filename, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *data; + FILE *f = fopen(filename, "rb"); + if (!f) return NULL; + data = stbi__pkm_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return data; +} +#endif + +stbi_uc *stbi__pkm_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pkm_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__pkm_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pkm_load(&s,x,y,comp,req_comp); +} diff --git a/src/libprojectM/Renderer/SOIL2/stbi_pvr.h b/src/libprojectM/Renderer/SOIL2/stbi_pvr.h new file mode 100644 index 0000000000..5e84a3f185 --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_pvr.h @@ -0,0 +1,34 @@ +/* + adding PVR loading support to stbi +*/ + +#ifndef HEADER_STB_IMAGE_PVR_AUGMENTATION +#define HEADER_STB_IMAGE_PVR_AUGMENTATION + +/* is it a PVR file? */ +extern int stbi__pvr_test_memory (stbi_uc const *buffer, int len); +extern int stbi__pvr_test_callbacks (stbi_io_callbacks const *clbk, void *user); + +extern stbi_uc *stbi__pvr_load_from_path (char const *filename, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__pvr_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); +extern stbi_uc *stbi__pvr_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +extern int stbi__pvr_test_filename (char const *filename); +extern int stbi__pvr_test_file (FILE *f); +extern stbi_uc *stbi__pvr_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +#endif + +extern int stbi__pvr_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int *iscompressed); +extern int stbi__pvr_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int *iscompressed); + + +#ifndef STBI_NO_STDIO +extern int stbi__pvr_info_from_path (char const *filename, int *x, int *y, int *comp, int *iscompressed); +extern int stbi__pvr_info_from_file (FILE *f, int *x, int *y, int *comp, int *iscompressed); +#endif + +/* +// +//// end header file /////////////////////////////////////////////////////*/ +#endif /* HEADER_STB_IMAGE_PVR_AUGMENTATION */ diff --git a/src/libprojectM/Renderer/SOIL2/stbi_pvr_c.h b/src/libprojectM/Renderer/SOIL2/stbi_pvr_c.h new file mode 100644 index 0000000000..134585ff1b --- /dev/null +++ b/src/libprojectM/Renderer/SOIL2/stbi_pvr_c.h @@ -0,0 +1,1001 @@ +#include "pvr_helper.h" + +static int stbi__pvr_test(stbi__context *s) +{ + // check header size + if (stbi__get32le(s) != sizeof(PVR_Texture_Header)) { + stbi__rewind(s); + return 0; + } + + // stbi__skip until the magic number + stbi__skip(s, 10*4); + + // check the magic number + if ( stbi__get32le(s) != PVRTEX_IDENTIFIER ) { + stbi__rewind(s); + return 0; + } + + // Also rewind because the loader needs to read the header + stbi__rewind(s); + + return 1; +} + +#ifndef STBI_NO_STDIO + +int stbi__pvr_test_filename (char const *filename) +{ + int r; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + r = stbi__pvr_test_file(f); + fclose(f); + return r; +} + +int stbi__pvr_test_file (FILE *f) +{ + stbi__context s; + int r,n = ftell(f); + stbi__start_file(&s,f); + r = stbi__pvr_test(&s); + fseek(f,n,SEEK_SET); + return r; +} +#endif + +int stbi__pvr_test_memory (stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pvr_test(&s); +} + +int stbi__pvr_test_callbacks (stbi_io_callbacks const *clbk, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pvr_test(&s); +} + +static int stbi__pvr_info(stbi__context *s, int *x, int *y, int *comp, int * iscompressed ) +{ + PVR_Texture_Header header={0}; + + stbi__getn( s, (stbi_uc*)(&header), sizeof(PVR_Texture_Header) ); + + // Check the header size + if ( header.dwHeaderSize != sizeof(PVR_Texture_Header) ) { + stbi__rewind( s ); + return 0; + } + + // Check the magic identifier + if ( header.dwPVR != PVRTEX_IDENTIFIER ) { + stbi__rewind(s); + return 0; + } + + *x = s->img_x = header.dwWidth; + *y = s->img_y = header.dwHeight; + *comp = s->img_n = ( header.dwBitCount + 7 ) / 8; + + if ( iscompressed ) + *iscompressed = 0; + + switch ( header.dwpfFlags & PVRTEX_PIXELTYPE ) + { + case OGL_RGBA_4444: + s->img_n = 2; + break; + case OGL_RGBA_5551: + s->img_n = 2; + break; + case OGL_RGBA_8888: + s->img_n = 4; + break; + case OGL_RGB_565: + s->img_n = 2; + break; + case OGL_RGB_888: + s->img_n = 3; + break; + case OGL_I_8: + s->img_n = 1; + break; + case OGL_AI_88: + s->img_n = 2; + break; + case OGL_PVRTC2: + s->img_n = 4; + if ( iscompressed ) + *iscompressed = 1; + break; + case OGL_PVRTC4: + s->img_n = 4; + if ( iscompressed ) + *iscompressed = 1; + break; + case OGL_RGB_555: + default: + stbi__rewind(s); + return 0; + } + + *comp = s->img_n; + + return 1; +} + +int stbi__pvr_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int * iscompressed ) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pvr_info( &s, x, y, comp, iscompressed ); +} + +int stbi__pvr_info_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int * iscompressed) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pvr_info( &s, x, y, comp, iscompressed ); +} + +#ifndef STBI_NO_STDIO +int stbi__pvr_info_from_path(char const *filename, int *x, int *y, int *comp, int * iscompressed) +{ + int res; + FILE *f = fopen(filename, "rb"); + if (!f) return 0; + res = stbi__pvr_info_from_file( f, x, y, comp, iscompressed ); + fclose(f); + return res; +} + +int stbi__pvr_info_from_file(FILE *f, int *x, int *y, int *comp, int * iscompressed) +{ + stbi__context s; + int res; + long n = ftell(f); + stbi__start_file(&s, f); + res = stbi__pvr_info(&s, x, y, comp, iscompressed); + fseek(f, n, SEEK_SET); + return res; +} +#endif + +/****************************************************************************** + Taken from: + @File PVRTDecompress.cpp + @Title PVRTDecompress + @Copyright Copyright (C) Imagination Technologies Limited. + @Platform ANSI compatible + @Description PVRTC Texture Decompression. +******************************************************************************/ + +typedef unsigned char PVRTuint8; +typedef unsigned short PVRTuint16; +typedef unsigned int PVRTuint32; + +/***************************************************************************** + * defines and consts + *****************************************************************************/ +#define PT_INDEX (2) // The Punch-through index + +#define BLK_Y_SIZE (4) // always 4 for all 2D block types + +#define BLK_X_MAX (8) // Max X dimension for blocks + +#define BLK_X_2BPP (8) // dimensions for the two formats +#define BLK_X_4BPP (4) + +#define WRAP_COORD(Val, Size) ((Val) & ((Size)-1)) + +#define POWER_OF_2(X) util_number_is_power_2(X) + +/* + Define an expression to either wrap or clamp large or small vals to the + legal coordinate range +*/ +#define PVRT_MIN(a,b) (((a) < (b)) ? (a) : (b)) +#define PVRT_MAX(a,b) (((a) > (b)) ? (a) : (b)) +#define PVRT_CLAMP(x, l, h) (PVRT_MIN((h), PVRT_MAX((x), (l)))) + +#define LIMIT_COORD(Val, Size, AssumeImageTiles) \ + ((AssumeImageTiles)? WRAP_COORD((Val), (Size)): PVRT_CLAMP((Val), 0, (Size)-1)) + +/***************************************************************************** + * Useful typedefs + *****************************************************************************/ +typedef PVRTuint32 U32; +typedef PVRTuint8 U8; + +/*********************************************************** + DECOMPRESSION ROUTINES +************************************************************/ + +/*!*********************************************************************** + @Struct AMTC_BLOCK_STRUCT + @Brief +*************************************************************************/ +typedef struct +{ + // Uses 64 bits pre block + U32 PackedData[2]; +}AMTC_BLOCK_STRUCT; + + /*!*********************************************************************** + @Function util_number_is_power_2 + @Input input A number + @Returns TRUE if the number is an integer power of two, else FALSE. + @Description Check that a number is an integer power of two, i.e. + 1, 2, 4, 8, ... etc. + Returns FALSE for zero. +*************************************************************************/ +int util_number_is_power_2( unsigned input ) +{ + unsigned minus1; + + if( !input ) return 0; + + minus1 = input - 1; + return ( (input | minus1) == (input ^ minus1) ) ? 1 : 0; +} + +/*!*********************************************************************** + @Function Unpack5554Colour + @Input pBlock + @Input ABColours + @Description Given a block, extract the colour information and convert + to 5554 formats +*************************************************************************/ +static void Unpack5554Colour(const AMTC_BLOCK_STRUCT *pBlock, + int ABColours[2][4]) +{ + U32 RawBits[2]; + + int i; + + // Extract A and B + RawBits[0] = pBlock->PackedData[1] & (0xFFFE); // 15 bits (shifted up by one) + RawBits[1] = pBlock->PackedData[1] >> 16; // 16 bits + + // step through both colours + for(i = 0; i < 2; i++) + { + // If completely opaque + if(RawBits[i] & (1<<15)) + { + // Extract R and G (both 5 bit) + ABColours[i][0] = (RawBits[i] >> 10) & 0x1F; + ABColours[i][1] = (RawBits[i] >> 5) & 0x1F; + + /* + The precision of Blue depends on A or B. If A then we need to + replicate the top bit to get 5 bits in total + */ + ABColours[i][2] = RawBits[i] & 0x1F; + if(i==0) + { + ABColours[0][2] |= ABColours[0][2] >> 4; + } + + // set 4bit alpha fully on... + ABColours[i][3] = 0xF; + } + else // Else if colour has variable translucency + { + /* + Extract R and G (both 4 bit). + (Leave a space on the end for the replication of bits + */ + ABColours[i][0] = (RawBits[i] >> (8-1)) & 0x1E; + ABColours[i][1] = (RawBits[i] >> (4-1)) & 0x1E; + + // replicate bits to truly expand to 5 bits + ABColours[i][0] |= ABColours[i][0] >> 4; + ABColours[i][1] |= ABColours[i][1] >> 4; + + // grab the 3(+padding) or 4 bits of blue and add an extra padding bit + ABColours[i][2] = (RawBits[i] & 0xF) << 1; + + /* + expand from 3 to 5 bits if this is from colour A, or 4 to 5 bits if from + colour B + */ + if(i==0) + { + ABColours[0][2] |= ABColours[0][2] >> 3; + } + else + { + ABColours[0][2] |= ABColours[0][2] >> 4; + } + + // Set the alpha bits to be 3 + a zero on the end + ABColours[i][3] = (RawBits[i] >> 11) & 0xE; + } + } +} + +/*!*********************************************************************** + @Function UnpackModulations + @Input pBlock + @Input Do2bitMode + @Input ModulationVals + @Input ModulationModes + @Input StartX + @Input StartY + @Description Given the block and the texture type and it's relative + position in the 2x2 group of blocks, extract the bit + patterns for the fully defined pixels. +*************************************************************************/ +static void UnpackModulations(const AMTC_BLOCK_STRUCT *pBlock, + const int Do2bitMode, + int ModulationVals[8][16], + int ModulationModes[8][16], + int StartX, + int StartY) +{ + int BlockModMode; + U32 ModulationBits; + + int x, y; + + BlockModMode= pBlock->PackedData[1] & 1; + ModulationBits = pBlock->PackedData[0]; + + // if it's in an interpolated mode + if(Do2bitMode && BlockModMode) + { + /* + run through all the pixels in the block. Note we can now treat all the + "stored" values as if they have 2bits (even when they didn't!) + */ + for(y = 0; y < BLK_Y_SIZE; y++) + { + for(x = 0; x < BLK_X_2BPP; x++) + { + ModulationModes[y+StartY][x+StartX] = BlockModMode; + + // if this is a stored value... + if(((x^y)&1) == 0) + { + ModulationVals[y+StartY][x+StartX] = ModulationBits & 3; + ModulationBits >>= 2; + } + } + } + } + else if(Do2bitMode) // else if direct encoded 2bit mode - i.e. 1 mode bit per pixel + { + for(y = 0; y < BLK_Y_SIZE; y++) + { + for(x = 0; x < BLK_X_2BPP; x++) + { + ModulationModes[y+StartY][x+StartX] = BlockModMode; + + // double the bits so 0=> 00, and 1=>11 + if(ModulationBits & 1) + { + ModulationVals[y+StartY][x+StartX] = 0x3; + } + else + { + ModulationVals[y+StartY][x+StartX] = 0x0; + } + ModulationBits >>= 1; + } + } + } + else // else its the 4bpp mode so each value has 2 bits + { + for(y = 0; y < BLK_Y_SIZE; y++) + { + for(x = 0; x < BLK_X_4BPP; x++) + { + ModulationModes[y+StartY][x+StartX] = BlockModMode; + + ModulationVals[y+StartY][x+StartX] = ModulationBits & 3; + ModulationBits >>= 2; + } + } + } + + // make sure nothing is left over + assert(ModulationBits==0); +} + +/*!*********************************************************************** + @Function InterpolateColours + @Input ColourP + @Input ColourQ + @Input ColourR + @Input ColourS + @Input Do2bitMode + @Input x + @Input y + @Modified Result + @Description This performs a HW bit accurate interpolation of either the + A or B colours for a particular pixel. + + NOTE: It is assumed that the source colours are in ARGB 5554 + format - This means that some "preparation" of the values will + be necessary. +*************************************************************************/ +static void InterpolateColours(const int ColourP[4], + const int ColourQ[4], + const int ColourR[4], + const int ColourS[4], + const int Do2bitMode, + const int x, + const int y, + int Result[4]) +{ + int u, v, uscale; + int k; + + int tmp1, tmp2; + + int P[4], Q[4], R[4], S[4]; + + // Copy the colours + for(k = 0; k < 4; k++) + { + P[k] = ColourP[k]; + Q[k] = ColourQ[k]; + R[k] = ColourR[k]; + S[k] = ColourS[k]; + } + + // put the x and y values into the right range + v = (y & 0x3) | ((~y & 0x2) << 1); + + if(Do2bitMode) + u = (x & 0x7) | ((~x & 0x4) << 1); + else + u = (x & 0x3) | ((~x & 0x2) << 1); + + // get the u and v scale amounts + v = v - BLK_Y_SIZE/2; + + if(Do2bitMode) + { + u = u - BLK_X_2BPP/2; + uscale = 8; + } + else + { + u = u - BLK_X_4BPP/2; + uscale = 4; + } + + for(k = 0; k < 4; k++) + { + tmp1 = P[k] * uscale + u * (Q[k] - P[k]); + tmp2 = R[k] * uscale + u * (S[k] - R[k]); + + tmp1 = tmp1 * 4 + v * (tmp2 - tmp1); + + Result[k] = tmp1; + } + + // Lop off the appropriate number of bits to get us to 8 bit precision + if(Do2bitMode) + { + // do RGB + for(k = 0; k < 3; k++) + { + Result[k] >>= 2; + } + + Result[3] >>= 1; + } + else + { + // do RGB (A is ok) + for(k = 0; k < 3; k++) + { + Result[k] >>= 1; + } + } + + // sanity check + for(k = 0; k < 4; k++) + { + assert(Result[k] < 256); + } + + + /* + Convert from 5554 to 8888 + + do RGB 5.3 => 8 + */ + for(k = 0; k < 3; k++) + { + Result[k] += Result[k] >> 5; + } + + Result[3] += Result[3] >> 4; + + // 2nd sanity check + for(k = 0; k < 4; k++) + { + assert(Result[k] < 256); + } + +} + +/*!*********************************************************************** + @Function GetModulationValue + @Input x + @Input y + @Input Do2bitMode + @Input ModulationVals + @Input ModulationModes + @Input Mod + @Input DoPT + @Description Get the modulation value as a numerator of a fraction of 8ths +*************************************************************************/ +static void GetModulationValue(int x, + int y, + const int Do2bitMode, + const int ModulationVals[8][16], + const int ModulationModes[8][16], + int *Mod, + int *DoPT) +{ + static const int RepVals0[4] = {0, 3, 5, 8}; + static const int RepVals1[4] = {0, 4, 4, 8}; + + int ModVal; + + // Map X and Y into the local 2x2 block + y = (y & 0x3) | ((~y & 0x2) << 1); + + if(Do2bitMode) + x = (x & 0x7) | ((~x & 0x4) << 1); + else + x = (x & 0x3) | ((~x & 0x2) << 1); + + // assume no PT for now + *DoPT = 0; + + // extract the modulation value. If a simple encoding + if(ModulationModes[y][x]==0) + { + ModVal = RepVals0[ModulationVals[y][x]]; + } + else if(Do2bitMode) + { + // if this is a stored value + if(((x^y)&1)==0) + ModVal = RepVals0[ModulationVals[y][x]]; + else if(ModulationModes[y][x] == 1) // else average from the neighbours if H&V interpolation.. + { + ModVal = (RepVals0[ModulationVals[y-1][x]] + + RepVals0[ModulationVals[y+1][x]] + + RepVals0[ModulationVals[y][x-1]] + + RepVals0[ModulationVals[y][x+1]] + 2) / 4; + } + else if(ModulationModes[y][x] == 2) // else if H-Only + { + ModVal = (RepVals0[ModulationVals[y][x-1]] + + RepVals0[ModulationVals[y][x+1]] + 1) / 2; + } + else // else it's V-Only + { + ModVal = (RepVals0[ModulationVals[y-1][x]] + + RepVals0[ModulationVals[y+1][x]] + 1) / 2; + } + } + else // else it's 4BPP and PT encoding + { + ModVal = RepVals1[ModulationVals[y][x]]; + + *DoPT = ModulationVals[y][x] == PT_INDEX; + } + + *Mod =ModVal; +} + +/*!*********************************************************************** + @Function TwiddleUV + @Input YSize Y dimension of the texture in pixels + @Input XSize X dimension of the texture in pixels + @Input YPos Pixel Y position + @Input XPos Pixel X position + @Returns The twiddled offset of the pixel + @Description Given the Block (or pixel) coordinates and the dimension of + the texture in blocks (or pixels) this returns the twiddled + offset of the block (or pixel) from the start of the map. + + NOTE the dimensions of the texture must be a power of 2 +*************************************************************************/ +static int DisableTwiddlingRoutine = 0; + +static U32 TwiddleUV(U32 YSize, U32 XSize, U32 YPos, U32 XPos) +{ + U32 Twiddled; + + U32 MinDimension; + U32 MaxValue; + + U32 SrcBitPos; + U32 DstBitPos; + + int ShiftCount; + + assert(YPos < YSize); + assert(XPos < XSize); + + assert(POWER_OF_2(YSize)); + assert(POWER_OF_2(XSize)); + + if(YSize < XSize) + { + MinDimension = YSize; + MaxValue = XPos; + } + else + { + MinDimension = XSize; + MaxValue = YPos; + } + + // Nasty hack to disable twiddling + if(DisableTwiddlingRoutine) + return (YPos* XSize + XPos); + + // Step through all the bits in the "minimum" dimension + SrcBitPos = 1; + DstBitPos = 1; + Twiddled = 0; + ShiftCount = 0; + + while(SrcBitPos < MinDimension) + { + if(YPos & SrcBitPos) + { + Twiddled |= DstBitPos; + } + + if(XPos & SrcBitPos) + { + Twiddled |= (DstBitPos << 1); + } + + + SrcBitPos <<= 1; + DstBitPos <<= 2; + ShiftCount += 1; + + } + + // prepend any unused bits + MaxValue >>= ShiftCount; + + Twiddled |= (MaxValue << (2*ShiftCount)); + + return Twiddled; +} + +/***********************************************************/ +/* +// Decompress +// +// Takes the compressed input data and outputs the equivalent decompressed +// image. +*/ +/***********************************************************/ + +static void Decompress(AMTC_BLOCK_STRUCT *pCompressedData, + const int Do2bitMode, + const int XDim, + const int YDim, + const int AssumeImageTiles, + unsigned char* pResultImage) +{ + int x, y; + int i, j; + + int BlkX, BlkY; + int BlkXp1, BlkYp1; + int XBlockSize; + int BlkXDim, BlkYDim; + + int StartX, StartY; + + int ModulationVals[8][16]; + int ModulationModes[8][16]; + + int Mod, DoPT; + + unsigned int uPosition; + + /* + // local neighbourhood of blocks + */ + AMTC_BLOCK_STRUCT *pBlocks[2][2]; + + AMTC_BLOCK_STRUCT *pPrevious[2][2] = {{NULL, NULL}, {NULL, NULL}}; + + /* + // Low precision colours extracted from the blocks + */ + struct + { + int Reps[2][4]; + }Colours5554[2][2]; + + /* + // Interpolated A and B colours for the pixel + */ + int ASig[4], BSig[4]; + + int Result[4]; + + if(Do2bitMode) + { + XBlockSize = BLK_X_2BPP; + } + else + { + XBlockSize = BLK_X_4BPP; + } + + + /* + // For MBX don't allow the sizes to get too small + */ + BlkXDim = PVRT_MAX(2, XDim / XBlockSize); + BlkYDim = PVRT_MAX(2, YDim / BLK_Y_SIZE); + + /* + // Step through the pixels of the image decompressing each one in turn + // + // Note that this is a hideously inefficient way to do this! + */ + for(y = 0; y < YDim; y++) + { + for(x = 0; x < XDim; x++) + { + /* + // map this pixel to the top left neighbourhood of blocks + */ + BlkX = (x - XBlockSize/2); + BlkY = (y - BLK_Y_SIZE/2); + + BlkX = LIMIT_COORD(BlkX, XDim, AssumeImageTiles); + BlkY = LIMIT_COORD(BlkY, YDim, AssumeImageTiles); + + + BlkX /= XBlockSize; + BlkY /= BLK_Y_SIZE; + + //BlkX = LIMIT_COORD(BlkX, BlkXDim, AssumeImageTiles); + //BlkY = LIMIT_COORD(BlkY, BlkYDim, AssumeImageTiles); + + + /* + // compute the positions of the other 3 blocks + */ + BlkXp1 = LIMIT_COORD(BlkX+1, BlkXDim, AssumeImageTiles); + BlkYp1 = LIMIT_COORD(BlkY+1, BlkYDim, AssumeImageTiles); + + /* + // Map to block memory locations + */ + pBlocks[0][0] = pCompressedData +TwiddleUV(BlkYDim, BlkXDim, BlkY, BlkX); + pBlocks[0][1] = pCompressedData +TwiddleUV(BlkYDim, BlkXDim, BlkY, BlkXp1); + pBlocks[1][0] = pCompressedData +TwiddleUV(BlkYDim, BlkXDim, BlkYp1, BlkX); + pBlocks[1][1] = pCompressedData +TwiddleUV(BlkYDim, BlkXDim, BlkYp1, BlkXp1); + + + /* + // extract the colours and the modulation information IF the previous values + // have changed. + */ + if(memcmp(pPrevious, pBlocks, 4*sizeof(void*)) != 0) + { + StartY = 0; + for(i = 0; i < 2; i++) + { + StartX = 0; + for(j = 0; j < 2; j++) + { + Unpack5554Colour(pBlocks[i][j], Colours5554[i][j].Reps); + + UnpackModulations(pBlocks[i][j], + Do2bitMode, + ModulationVals, + ModulationModes, + StartX, StartY); + + StartX += XBlockSize; + }/*end for j*/ + + StartY += BLK_Y_SIZE; + }/*end for i*/ + + /* + // make a copy of the new pointers + */ + memcpy(pPrevious, pBlocks, 4*sizeof(void*)); + }/*end if the blocks have changed*/ + + + /* + // decompress the pixel. First compute the interpolated A and B signals + */ + InterpolateColours(Colours5554[0][0].Reps[0], + Colours5554[0][1].Reps[0], + Colours5554[1][0].Reps[0], + Colours5554[1][1].Reps[0], + Do2bitMode, x, y, + ASig); + + InterpolateColours(Colours5554[0][0].Reps[1], + Colours5554[0][1].Reps[1], + Colours5554[1][0].Reps[1], + Colours5554[1][1].Reps[1], + Do2bitMode, x, y, + BSig); + + GetModulationValue(x,y, Do2bitMode, (const int (*)[16])ModulationVals, (const int (*)[16])ModulationModes, + &Mod, &DoPT); + + /* + // compute the modulated colour + */ + for(i = 0; i < 4; i++) + { + Result[i] = ASig[i] * 8 + Mod * (BSig[i] - ASig[i]); + Result[i] >>= 3; + } + if(DoPT) + { + Result[3] = 0; + } + + /* + // Store the result in the output image + */ + uPosition = (x+y*XDim)<<2; + pResultImage[uPosition+0] = (unsigned char)Result[0]; + pResultImage[uPosition+1] = (unsigned char)Result[1]; + pResultImage[uPosition+2] = (unsigned char)Result[2]; + pResultImage[uPosition+3] = (unsigned char)Result[3]; + + }/*end for x*/ + }/*end for y*/ + +} + +static stbi_uc * stbi__pvr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *pvr_data = NULL; + stbi_uc *pvr_res_data = NULL; + PVR_Texture_Header header={0}; + int iscompressed = 0; + int bitmode = 0; + unsigned int levelSize = 0; + + stbi__getn( s, (stbi_uc*)(&header), sizeof(PVR_Texture_Header) ); + + // Check the header size + if ( header.dwHeaderSize != sizeof(PVR_Texture_Header) ) { + return NULL; + } + + // Check the magic identifier + if ( header.dwPVR != PVRTEX_IDENTIFIER ) { + return NULL; + } + + *x = s->img_x = header.dwWidth; + *y = s->img_y = header.dwHeight; + + /* Get if the texture is compressed and the texture mode ( 2bpp or 4bpp ) */ + switch ( header.dwpfFlags & PVRTEX_PIXELTYPE ) + { + case OGL_RGBA_4444: + s->img_n = 2; + break; + case OGL_RGBA_5551: + s->img_n = 2; + break; + case OGL_RGBA_8888: + s->img_n = 4; + break; + case OGL_RGB_565: + s->img_n = 2; + break; + case OGL_RGB_888: + s->img_n = 3; + break; + case OGL_I_8: + s->img_n = 1; + break; + case OGL_AI_88: + s->img_n = 2; + break; + case OGL_PVRTC2: + bitmode = 1; + s->img_n = 4; + iscompressed = 1; + break; + case OGL_PVRTC4: + s->img_n = 4; + iscompressed = 1; + break; + case OGL_RGB_555: + default: + return NULL; + } + + *comp = s->img_n; + + // Load only the first mip map level + levelSize = (s->img_x * s->img_y * header.dwBitCount + 7) / 8; + + // get the raw data + pvr_data = (stbi_uc *)malloc( levelSize ); + stbi__getn( s, pvr_data, levelSize ); + + // if compressed decompress as RGBA + if ( iscompressed ) { + pvr_res_data = (stbi_uc *)malloc( s->img_x * s->img_y * 4 ); + Decompress( (AMTC_BLOCK_STRUCT*)pvr_data, bitmode, s->img_x, s->img_y, 1, (unsigned char*)pvr_res_data ); + free( pvr_data ); + } else { + // otherwise use the raw data + pvr_res_data = pvr_data; + } + + if( (req_comp <= 4) && (req_comp >= 1) ) { + // user has some requirements, meet them + if( req_comp != s->img_n ) { + pvr_res_data = stbi__convert_format( pvr_res_data, s->img_n, req_comp, s->img_x, s->img_y ); + *comp = req_comp; + } + } + + return pvr_res_data; +} + +#ifndef STBI_NO_STDIO +stbi_uc *stbi__pvr_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__pvr_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__pvr_load_from_path (char const*filename, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *data; + FILE *f = fopen(filename, "rb"); + if (!f) return NULL; + data = stbi__pvr_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return data; +} +#endif + +stbi_uc *stbi__pvr_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer, len); + return stbi__pvr_load(&s,x,y,comp,req_comp); +} + +stbi_uc *stbi__pvr_load_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__pvr_load(&s,x,y,comp,req_comp); +} diff --git a/src/libprojectM/Renderer/Shader.cpp b/src/libprojectM/Renderer/Shader.cpp new file mode 100644 index 0000000000..9bea3bba4a --- /dev/null +++ b/src/libprojectM/Renderer/Shader.cpp @@ -0,0 +1,10 @@ +/* + * Shader.cpp + * + * Created on: Jun 29, 2008 + * Author: pete + */ + +#include "Shader.hpp" + +Shader::Shader() {} diff --git a/src/libprojectM/Renderer/Shader.hpp b/src/libprojectM/Renderer/Shader.hpp new file mode 100644 index 0000000000..bccf5ecfc0 --- /dev/null +++ b/src/libprojectM/Renderer/Shader.hpp @@ -0,0 +1,27 @@ +/* + * Shader.hpp + * + * Created on: Jun 29, 2008 + * Author: pete + */ + +#ifndef SHADER_HPP_ +#define SHADER_HPP_ + +#include +#include +#include "Texture.hpp" + +class Shader +{ +public: + + std::map textures; + + std::string programSource; + std::string presetPath; + + Shader(); +}; + +#endif /* SHADER_HPP_ */ diff --git a/src/libprojectM/Renderer/ShaderEngine.cpp b/src/libprojectM/Renderer/ShaderEngine.cpp new file mode 100644 index 0000000000..b5910ee436 --- /dev/null +++ b/src/libprojectM/Renderer/ShaderEngine.cpp @@ -0,0 +1,1327 @@ +/* + * ShaderEngine.cpp + * + * Created on: Jul 18, 2008 + * Author: pete + */ +#include +#include +#include "ShaderEngine.hpp" +#include "BeatDetect.hpp" +#include "Texture.hpp" +#include "HLSLParser.h" +#include "GLSLGenerator.h" +#include // glm::mat4 +#include // glm::translate, glm::rotate, glm::scale, glm::perspective +#include +#include +#include + +#ifdef USE_GLES + #define GLSL_VERSION "300 es" + #define SHADER_VERSION M4::GLSLGenerator::Version_300_ES +#else + #define GLSL_VERSION "330" + #define SHADER_VERSION M4::GLSLGenerator::Version_330 +#endif + + +#define FRAND ((rand() % 7381)/7380.0f) + + +std::string presetWarpVertexShader( + "#version " + GLSL_VERSION + "\n" + "layout(location = 0) in vec2 vertex_position;\n" + "layout(location = 1) in vec4 vertex_color;\n" + "layout(location = 2) in vec2 vertex_texture;\n" + "" + "uniform mat4 vertex_transformation;\n" + "" + "out vec4 frag_COLOR;\n" + "out vec4 frag_TEXCOORD0;\n" + "out vec2 frag_TEXCOORD1;\n" + "" + "void main(){\n" + " vec4 position = vertex_transformation * vec4(vertex_position, 0.0, 1.0);\n" + " gl_Position = position;\n" + " frag_COLOR = vertex_color;\n" + " frag_TEXCOORD0.xy = vertex_texture;\n" + " frag_TEXCOORD0.zw = position.xy;\n" + " frag_TEXCOORD1 = vec2(0.0, 0.0);\n" + "}\n"); + +std::string presetCompVertexShader( + "#version " + GLSL_VERSION + "\n" + "layout(location = 0) in vec2 vertex_position;\n" + "layout(location = 1) in vec4 vertex_color;\n" + "layout(location = 2) in vec2 vertex_texture;\n" + "layout(location = 3) in vec2 vertex_rad_ang;\n" + "" + "out vec4 frag_COLOR;\n" + "out vec2 frag_TEXCOORD0;\n" + "out vec2 frag_TEXCOORD1;\n" + "" + "void main(){\n" + " vec4 position = vec4(vertex_position, 0.0, 1.0);\n" + " gl_Position = position;\n" + " frag_COLOR = vertex_color;\n" + " frag_TEXCOORD0 = vertex_texture;\n" + " frag_TEXCOORD1 = vertex_rad_ang;\n" + "}\n"); + + +const std::string ShaderEngine::v2f_c4f_vert( + "#version " + GLSL_VERSION + "\n" + "" + "layout(location = 0) in vec2 vertex_position;\n" + "layout(location = 1) in vec4 vertex_color;\n" + "" + "uniform mat4 vertex_transformation;\n" + "uniform float vertex_point_size;\n" + "" + "out vec4 fragment_color;\n" + "" + "void main(){\n" + " gl_Position = vertex_transformation * vec4(vertex_position, 0.0, 1.0);\n" + " gl_PointSize = vertex_point_size;\n" + " fragment_color = vertex_color;\n" + "}\n"); + +const std::string ShaderEngine::v2f_c4f_frag( + "#version " + GLSL_VERSION + "\n" + "precision mediump float;\n" + "" + "in vec4 fragment_color;\n" + "out vec4 color;\n" + "" + "void main(){\n" + " color = fragment_color;\n" + "}\n"); + +const std::string ShaderEngine::v2f_c4f_t2f_vert( + "#version " + GLSL_VERSION + "\n" + "layout(location = 0) in vec2 vertex_position;\n" + "layout(location = 1) in vec4 vertex_color;\n" + "layout(location = 2) in vec2 vertex_texture;\n" + "" + "uniform mat4 vertex_transformation;\n" + "" + "out vec4 fragment_color;\n" + "out vec2 fragment_texture;\n" + "" + "void main(){\n" + " gl_Position = vertex_transformation * vec4(vertex_position, 0.0, 1.0);\n" + " fragment_color = vertex_color;\n" + " fragment_texture = vertex_texture;\n" + "}\n"); + +const std::string ShaderEngine::v2f_c4f_t2f_frag( + "#version " + GLSL_VERSION + "\n" + "precision mediump float;\n" + "" + "in vec4 fragment_color;\n" + "in vec2 fragment_texture;\n" + "" + "uniform sampler2D texture_sampler;\n" + "" + "out vec4 color;\n" + "" + "void main(){\n" + " color = fragment_color * texture(texture_sampler, fragment_texture.st);\n" + "}\n"); + + +std::string PresetShaderIncludes = "" +"#define M_PI 3.14159265359\n" +"#define M_PI_2 6.28318530718\n" +"#define M_INV_PI_2 0.159154943091895\n" + +"uniform float4 rand_frame; // random float4, updated each frame\n" +"uniform float4 rand_preset; // random float4, updated once per *preset*\n" +"uniform float4 _c0; // .xy: multiplier to use on UV's to paste an image fullscreen, *aspect-aware*; .zw = inverse.\n" +"uniform float4 _c1, _c2, _c3, _c4;\n" +"uniform float4 _c5; //.xy = scale,bias for reading blur1; .zw = scale,bias for reading blur2; \n" +"uniform float4 _c6; //.xy = scale,bias for reading blur3; .zw = blur1_min,blur1_max\n" +"uniform float4 _c7; // .xy ~= float2(1024,768); .zw ~= float2(1/1024.0, 1/768.0)\n" +"uniform float4 _c8; // .xyzw ~= 0.5 + 0.5*cos(time * float4(~0.3, ~1.3, ~5, ~20))\n" +"uniform float4 _c9; // .xyzw ~= same, but using sin()\n" +"uniform float4 _c10; // .xyzw ~= 0.5 + 0.5*cos(time * float4(~0.005, ~0.008, ~0.013, ~0.022))\n" +"uniform float4 _c11; // .xyzw ~= same, but using sin()\n" +"uniform float4 _c12; // .xyz = mip info for main image (.x=#across, .y=#down, .z=avg); .w = unused\n" +"uniform float4 _c13; //.xy = blur2_min,blur2_max; .zw = blur3_min, blur3_max.\n" +"uniform float4 _qa; // q vars bank 1 [q1-q4]\n" +"uniform float4 _qb; // q vars bank 2 [q5-q8]\n" +"uniform float4 _qc; // q vars ...\n" +"uniform float4 _qd; // q vars\n" +"uniform float4 _qe; // q vars\n" +"uniform float4 _qf; // q vars\n" +"uniform float4 _qg; // q vars\n" +"uniform float4 _qh; // q vars bank 8 [q29-q32]\n" + +"// note: in general, don't use the current time w/the *dynamic* rotations!\n" +"uniform float4x3 rot_s1; // four random, static rotations. randomized @ preset load time.\n" +"uniform float4x3 rot_s2; // minor translation component (<1).\n" +"uniform float4x3 rot_s3;\n" +"uniform float4x3 rot_s4;\n" + +"uniform float4x3 rot_d1; // four random, slowly changing rotations.\n" +"uniform float4x3 rot_d2; \n" +"uniform float4x3 rot_d3;\n" +"uniform float4x3 rot_d4;\n" +"uniform float4x3 rot_f1; // faster-changing.\n" +"uniform float4x3 rot_f2;\n" +"uniform float4x3 rot_f3;\n" +"uniform float4x3 rot_f4;\n" +"uniform float4x3 rot_vf1; // very-fast-changing.\n" +"uniform float4x3 rot_vf2;\n" +"uniform float4x3 rot_vf3;\n" +"uniform float4x3 rot_vf4;\n" +"uniform float4x3 rot_uf1; // ultra-fast-changing.\n" +"uniform float4x3 rot_uf2;\n" +"uniform float4x3 rot_uf3;\n" +"uniform float4x3 rot_uf4;\n" + +"uniform float4x3 rot_rand1; // random every frame\n" +"uniform float4x3 rot_rand2;\n" +"uniform float4x3 rot_rand3;\n" +"uniform float4x3 rot_rand4;\n" + +"#define time _c2.x\n" +"#define fps _c2.y\n" +"#define frame _c2.z\n" +"#define progress _c2.w\n" +"#define bass _c3.x\n" +"#define mid _c3.y\n" +"#define treb _c3.z\n" +"#define vol _c3.w\n" +"#define bass_att _c4.x\n" +"#define mid_att _c4.y\n" +"#define treb_att _c4.z\n" +"#define vol_att _c4.w\n" +"#define q1 _qa.x\n" +"#define q2 _qa.y\n" +"#define q3 _qa.z\n" +"#define q4 _qa.w\n" +"#define q5 _qb.x\n" +"#define q6 _qb.y\n" +"#define q7 _qb.z\n" +"#define q8 _qb.w\n" +"#define q9 _qc.x\n" +"#define q10 _qc.y\n" +"#define q11 _qc.z\n" +"#define q12 _qc.w\n" +"#define q13 _qd.x\n" +"#define q14 _qd.y\n" +"#define q15 _qd.z\n" +"#define q16 _qd.w\n" +"#define q17 _qe.x\n" +"#define q18 _qe.y\n" +"#define q19 _qe.z\n" +"#define q20 _qe.w\n" +"#define q21 _qf.x\n" +"#define q22 _qf.y\n" +"#define q23 _qf.z\n" +"#define q24 _qf.w\n" +"#define q25 _qg.x\n" +"#define q26 _qg.y\n" +"#define q27 _qg.z\n" +"#define q28 _qg.w\n" +"#define q29 _qh.x\n" +"#define q30 _qh.y\n" +"#define q31 _qh.z\n" +"#define q32 _qh.w\n" + +"#define aspect _c0\n" +"#define texsize _c7 // .xy = (w,h); .zw = (1/(float)w, 1/(float)h)\n" +"#define roam_cos _c8\n" +"#define roam_sin _c9\n" +"#define slow_roam_cos _c10\n" +"#define slow_roam_sin _c11\n" +"#define mip_x _c12.x\n" +"#define mip_y _c12.y\n" +"#define mip_xy _c12.xy\n" +"#define mip_avg _c12.z\n" +"#define blur1_min _c6.z\n" +"#define blur1_max _c6.w\n" +"#define blur2_min _c13.x\n" +"#define blur2_max _c13.y\n" +"#define blur3_min _c13.z\n" +"#define blur3_max _c13.w\n" + +"#define sampler_FC_main sampler_fc_main\n" +"#define sampler_PC_main sampler_pc_main\n" +"#define sampler_FW_main sampler_fw_main\n" +"#define sampler_PW_main sampler_pw_main\n" + +"#define GetMain(uv) (tex2D(sampler_main,uv).xyz)\n" +"#define GetPixel(uv) (tex2D(sampler_main,uv).xyz)\n" +"#define GetBlur1(uv) (tex2D(sampler_blur1,uv).xyz*_c5.x + _c5.y)\n" +"#define GetBlur2(uv) (tex2D(sampler_blur2,uv).xyz*_c5.z + _c5.w)\n" +"#define GetBlur3(uv) (tex2D(sampler_blur3,uv).xyz*_c6.x + _c6.y)\n" + +"#define lum(x) (dot(x,float3(0.32,0.49,0.29)))\n" +"#define tex2d tex2D\n" +"#define tex3d tex3D\n" +; + + +std::string blur_vert( + "#version " + GLSL_VERSION + "\n" + "layout(location = 0) in vec2 vertex_position;\n" + "layout(location = 1) in vec2 vertex_texture;\n" + "" + "out vec2 fragment_texture;\n" + "" + "void main(){\n" + " gl_Position = vec4(vertex_position, 0.0, 1.0);\n" + " fragment_texture = vertex_texture;\n" + "}\n"); + + +std::string blur1_frag( + "#version " + GLSL_VERSION + "\n" + "precision mediump float;\n" + "" + "in vec2 fragment_texture;\n" + "" + "uniform sampler2D texture_sampler;\n" + "uniform vec4 _c0; // source texsize (.xy), and inverse (.zw)\n" + "uniform vec4 _c1; // w1..w4\n" + "uniform vec4 _c2; // d1..d4\n" + "uniform vec4 _c3; // scale, bias, w_div\n" + "" + "out vec4 color;\n" + "" + "void main(){\n" + "" + " // LONG HORIZ. PASS 1:\n" + " #define srctexsize _c0\n" + " #define w1 _c1.x\n" + " #define w2 _c1.y\n" + " #define w3 _c1.z\n" + " #define w4 _c1.w\n" + " #define d1 _c2.x\n" + " #define d2 _c2.y\n" + " #define d3 _c2.z\n" + " #define d4 _c2.w\n" + " #define fscale _c3.x\n" + " #define fbias _c3.y\n" + " #define w_div _c3.z\n" + "" + " // note: if you just take one sample at exactly uv.xy, you get an avg of 4 pixels.\n" + " vec2 uv2 = fragment_texture.xy + srctexsize.zw*vec2(1.0,1.0); // + moves blur UP, LEFT by 1-pixel increments\n" + "" + " vec3 blur = \n" + " ( texture( texture_sampler, uv2 + vec2( d1*srctexsize.z,0) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(-d1*srctexsize.z,0) ).xyz)*w1 +\n" + " ( texture( texture_sampler, uv2 + vec2( d2*srctexsize.z,0) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(-d2*srctexsize.z,0) ).xyz)*w2 +\n" + " ( texture( texture_sampler, uv2 + vec2( d3*srctexsize.z,0) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(-d3*srctexsize.z,0) ).xyz)*w3 +\n" + " ( texture( texture_sampler, uv2 + vec2( d4*srctexsize.z,0) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(-d4*srctexsize.z,0) ).xyz)*w4\n" + " ;\n" + " blur.xyz *= w_div;\n" + "" + " blur.xyz = blur.xyz*fscale + fbias;\n" + "" + " color.xyz = blur;\n" + " color.w = 1.0;\n" + "}\n"); + +std::string blur2_frag( + "#version " + GLSL_VERSION + "\n" + "precision mediump float;\n" + "" + "in vec2 fragment_texture;\n" + "" + "uniform sampler2D texture_sampler;\n" + "uniform vec4 _c0; // source texsize (.xy), and inverse (.zw)\n" + "uniform vec4 _c5; // w1,w2,d1,d2\n" + "uniform vec4 _c6; // w_div, edge_darken_c1, edge_darken_c2, edge_darken_c3\n" + "" + "out vec4 color;\n" + "" + "void main(){\n" + "" + " //SHORT VERTICAL PASS 2:\n" + " #define srctexsize _c0\n" + " #define w1 _c5.x\n" + " #define w2 _c5.y\n" + " #define d1 _c5.z\n" + " #define d2 _c5.w\n" + " #define edge_darken_c1 _c6.y\n" + " #define edge_darken_c2 _c6.z\n" + " #define edge_darken_c3 _c6.w\n" + " #define w_div _c6.x\n" + "" + " // note: if you just take one sample at exactly uv.xy, you get an avg of 4 pixels.\n" + " vec2 uv2 = fragment_texture.xy + srctexsize.zw*vec2(0,0); // + moves blur UP, LEFT by TWO-pixel increments! (since texture is 1/2 the size of blur1_ps)\n" + "" + " vec3 blur = \n" + " ( texture( texture_sampler, uv2 + vec2(0, d1*srctexsize.w) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(0,-d1*srctexsize.w) ).xyz)*w1 +\n" + " ( texture( texture_sampler, uv2 + vec2(0, d2*srctexsize.w) ).xyz\n" + " + texture( texture_sampler, uv2 + vec2(0,-d2*srctexsize.w) ).xyz)*w2\n" + " ;\n" + " blur.xyz *= w_div;\n" + "" + " // tone it down at the edges: (only happens on 1st X pass!)\n" + " float t = min( min(fragment_texture.x, fragment_texture.y), 1.0-max(fragment_texture.x, fragment_texture.y) );\n" + " t = sqrt(t);\n" + " t = edge_darken_c1 + edge_darken_c2*clamp(t*edge_darken_c3, 0.0, 1.0);\n" + " blur.xyz *= t;\n" + "" + " color.xyz = blur;\n" + " color.w = 1.0;\n" + "}\n"); + + + +ShaderEngine::ShaderEngine() : presetCompShaderLoaded(false), presetWarpShaderLoaded(false) +{ + programID_v2f_c4f = CompileShaderProgram(v2f_c4f_vert, v2f_c4f_frag, "v2f_c4f"); + programID_v2f_c4f_t2f = CompileShaderProgram(v2f_c4f_t2f_vert, v2f_c4f_t2f_frag, "v2f_c4f_t2f"); + + programID_blur1 = CompileShaderProgram(blur_vert, blur1_frag, "blur1"); + programID_blur2 = CompileShaderProgram(blur_vert, blur2_frag, "blur2"); + + uniform_v2f_c4f_vertex_tranformation = glGetUniformLocation(programID_v2f_c4f, "vertex_transformation"); + uniform_v2f_c4f_vertex_point_size = glGetUniformLocation(programID_v2f_c4f, "vertex_point_size"); + uniform_v2f_c4f_t2f_vertex_tranformation = glGetUniformLocation(programID_v2f_c4f_t2f, "vertex_transformation"); + uniform_v2f_c4f_t2f_frag_texture_sampler = glGetUniformLocation(programID_v2f_c4f_t2f, "texture_sampler"); + + uniform_blur1_sampler = glGetUniformLocation(programID_blur1, "texture_sampler"); + uniform_blur1_c0 = glGetUniformLocation(programID_blur1, "_c0"); + uniform_blur1_c1 = glGetUniformLocation(programID_blur1, "_c1"); + uniform_blur1_c2 = glGetUniformLocation(programID_blur1, "_c2"); + uniform_blur1_c3 = glGetUniformLocation(programID_blur1, "_c3"); + + uniform_blur2_sampler = glGetUniformLocation(programID_blur2, "texture_sampler"); + uniform_blur2_c0 = glGetUniformLocation(programID_blur2, "_c0"); + uniform_blur2_c5 = glGetUniformLocation(programID_blur2, "_c5"); + uniform_blur2_c6 = glGetUniformLocation(programID_blur2, "_c6"); + + // Initialize Blur vao/vbo + float pointsBlur[16] = { + -1.0, -1.0, 0.0, 1.0, + 1.0, -1.0, 1.0, 1.0, + -1.0, 1.0, 0.0, 0.0, + 1.0, 1.0, 1.0, 0.0}; + + glGenBuffers(1, &vboBlur); + glGenVertexArrays(1, &vaoBlur); + + glBindVertexArray(vaoBlur); + glBindBuffer(GL_ARRAY_BUFFER, vboBlur); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 8 * 2, pointsBlur, GL_STATIC_DRAW); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)0); // Positions + + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)(sizeof(float)*2)); // Textures + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); +} + +ShaderEngine::~ShaderEngine() +{ + glDeleteProgram(programID_v2f_c4f); + glDeleteProgram(programID_v2f_c4f_t2f); + + glDeleteProgram(programID_blur1); + glDeleteProgram(programID_blur2); + + glDeleteBuffers(1, &vboBlur); + glDeleteVertexArrays(1, &vaoBlur); + + disablePresetShaders(); +} + +bool ShaderEngine::checkCompileStatus(GLuint shader, const std::string & shaderTitle) { + GLint status; + glGetShaderiv(shader, GL_COMPILE_STATUS, &status); + if (status == GL_TRUE) + return true; // success + + int InfoLogLength; + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &InfoLogLength); + if ( InfoLogLength > 0 ){ + std::vector FragmentShaderErrorMessage(InfoLogLength+1); + glGetShaderInfoLog(shader, InfoLogLength, NULL, &FragmentShaderErrorMessage[0]); + std::cerr << "Failed to compile shader '" << shaderTitle << "'. Error: " << &FragmentShaderErrorMessage[0] << std::endl; + } + + return false; +} + +void ShaderEngine::setParams(const int _texsizeX, const int _texsizeY, BeatDetect *_beatDetect, + TextureManager *_textureManager) +{ + this->beatDetect = _beatDetect; + this->textureManager = _textureManager; + + aspectX = 1; + aspectY = 1; + if (_texsizeX > _texsizeY) + aspectY = (float)_texsizeY/(float)_texsizeX; + else + aspectX = (float)_texsizeX/(float)_texsizeY; + + this->texsizeX = _texsizeX; + this->texsizeY = _texsizeY; +} + + +// compile a user-defined shader from a preset. returns program ID if successful. +GLuint ShaderEngine::compilePresetShader(const PresentShaderType shaderType, Shader &pmShader, const std::string &shaderFilename) { + std::string program = pmShader.programSource; + + if (program.length() <= 0) + return GL_FALSE; + + // replace "}" with return statement (this can probably be optimized for the GLSL conversion...) + size_t found = program.rfind('}'); + if (found != std::string::npos) + { + //std::cout << "last '}' found at: " << int(found) << std::endl; + program.replace(int(found), 1, "_return_value = float4(ret.xyz, 1.0);\n" + "}\n"); + } + else + return GL_FALSE; + + // replace shader_body with entry point function + found = program.find("shader_body"); + if (found != std::string::npos) + { + //std::cout << "first 'shader_body' found at: " << int(found) << std::endl; + if (shaderType == PresentWarpShader) { + program.replace(int(found), 11, "void PS(float4 _vDiffuse : COLOR, float4 _uv : TEXCOORD0, float2 _rad_ang : TEXCOORD1, out float4 _return_value : COLOR)\n"); + + } else { + program.replace(int(found), 11, "void PS(float4 _vDiffuse : COLOR, float2 _uv : TEXCOORD0, float2 _rad_ang : TEXCOORD1, out float4 _return_value : COLOR)\n"); + + } + } + else + return GL_FALSE; + + // replace "{" with some variable declarations + found = program.find('{',found); + if (found != std::string::npos) + { + //std::cout << "first '{' found at: " << int(found) << std::endl; + const char *progMain = \ + "{\n" + "float3 ret = 0;\n"; + program.replace(int(found), 1, progMain); + } + else + return GL_FALSE; + + pmShader.textures.clear(); + + + // Add builtin textures + pmShader.textures["main"] = textureManager->getTexture("main", GL_REPEAT, GL_LINEAR); + pmShader.textures["fc_main"] = textureManager->getTexture("main", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["pc_main"] = textureManager->getTexture("main", GL_CLAMP_TO_EDGE, GL_NEAREST); + pmShader.textures["fw_main"] = textureManager->getTexture("main", GL_REPEAT, GL_LINEAR); + pmShader.textures["pw_main"] = textureManager->getTexture("main", GL_REPEAT, GL_NEAREST); + + pmShader.textures["noise_lq"] = textureManager->getTexture("noise_lq", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["noise_lq_lite"] = textureManager->getTexture("noise_lq_lite", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["noise_mq"] = textureManager->getTexture("noise_mq", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["noise_hq"] = textureManager->getTexture("noise_hq", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["noisevol_lq"] = textureManager->getTexture("noisevol_lq", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["noisevol_hq"] = textureManager->getTexture("noisevol_hq", GL_CLAMP_TO_EDGE, GL_LINEAR); + + + + // set up texture samplers for all samplers references in the shader program + found = 0; + found = program.find("sampler_", found); + while (found != std::string::npos) + { + found += 8; + size_t end = program.find_first_of(" ;,\n\r)", found); + + if (end != std::string::npos) + { + std::string sampler = program.substr((int) found, (int) end - found); + std::string lowerCaseName(sampler); + std::transform(lowerCaseName.begin(), lowerCaseName.end(), lowerCaseName.begin(), tolower); + + TextureSamplerDesc texDesc = textureManager->getTexture(sampler, GL_REPEAT, GL_LINEAR); + + if (texDesc.first == NULL) + { + if (lowerCaseName.substr(0, 4) == "rand" || lowerCaseName.substr(2, 5) == "_rand") + { + texDesc = textureManager->getRandomTextureName(sampler); + } + else + { + texDesc = textureManager->tryLoadingTexture(sampler); + } + } + + if (texDesc.first == NULL) + { + std::cerr << "Texture loading error for: " << sampler << std::endl; + } + else + { + std::map::const_iterator iter = pmShader.textures.cbegin(); + for ( ; iter != pmShader.textures.cend(); ++iter) + { + if (iter->first == sampler) + break; + } + + if (iter == pmShader.textures.cend()) + pmShader.textures[sampler] = texDesc; + } + } + + found = program.find("sampler_", found); + } + + textureManager->clearRandomTextures(); + + found = program.find("GetBlur3"); + if (found != std::string::npos) + { + blur1_enabled = blur2_enabled = blur3_enabled = true; + pmShader.textures["blur3"] = textureManager->getTexture("blur3", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["blur2"] = textureManager->getTexture("blur2", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["blur1"] = textureManager->getTexture("blur1", GL_CLAMP_TO_EDGE, GL_LINEAR); + } + else + { + found = program.find("GetBlur2"); + if (found != std::string::npos) + { + blur1_enabled = blur2_enabled = true; + pmShader.textures["blur2"] = textureManager->getTexture("blur2", GL_CLAMP_TO_EDGE, GL_LINEAR); + pmShader.textures["blur1"] = textureManager->getTexture("blur1", GL_CLAMP_TO_EDGE, GL_LINEAR); + } + else + { + found = program.find("GetBlur1"); + if (found != std::string::npos) + { + blur1_enabled = true; + pmShader.textures["blur1"] = textureManager->getTexture("blur1", GL_CLAMP_TO_EDGE, GL_LINEAR); + } + } + } + + std::string fullSource; + + // prepend our HLSL template to the actual program source + fullSource.append(PresetShaderIncludes); + + if (shaderType == PresentWarpShader) { + fullSource.append( "#define rad _rad_ang.x\n" + "#define ang _rad_ang.y\n" + "#define uv _uv.xy\n" + "#define uv_orig _uv.zw\n"); + } else { + fullSource.append( "#define rad _rad_ang.x\n" + "#define ang _rad_ang.y\n" + "#define uv _uv.xy\n" + "#define uv_orig _uv.xy\n" + "#define hue_shader _vDiffuse.xyz\n"); + } + + + fullSource.append(program); + + std::string shaderTypeString; + switch(shaderType) { + case PresentWarpShader: shaderTypeString = "Warp"; break; + case PresentCompositeShader: shaderTypeString = "Comp"; break; + case PresentBlur1Shader: shaderTypeString = "Blur1"; break; + case PresentBlur2Shader: shaderTypeString = "Blur2"; break; + default: shaderTypeString = "Other"; + } + + M4::GLSLGenerator generator; + M4::Allocator allocator; + + M4::HLSLTree tree( &allocator ); + M4::HLSLParser parser(&allocator, &tree); + + // preprocess define macros + std::string sourcePreprocessed; + if (!parser.ApplyPreprocessor(shaderFilename.c_str(), fullSource.c_str(), fullSource.size(), sourcePreprocessed)) { + std::cerr << "Failed to preprocess HLSL(step1) " << shaderTypeString << " shader" << std::endl; + +#if !DUMP_SHADERS_ON_ERROR + std::cerr << "Source: " << std::endl << fullSource << std::endl; +#else + std::ofstream out("/tmp/shader_" + shaderTypeString + "_step1.txt"); + out << fullSource; + out.close(); +#endif + return GL_FALSE; + } + + // Remove previous shader declarations + std::smatch matches; + while(std::regex_search(sourcePreprocessed, matches, std::regex("sampler(2D|3D|)(\\s+|\\().*"))) { + sourcePreprocessed.replace(matches.position(), matches.length(), ""); + } + + // Remove previous texsize declarations + while(std::regex_search(sourcePreprocessed, matches, std::regex("float4\\s+texsize_.*"))) { + sourcePreprocessed.replace(matches.position(), matches.length(), ""); + } + + // Declare samplers + std::set texsizes; + std::map::const_iterator iter_samplers = pmShader.textures.cbegin(); + for ( ; iter_samplers != pmShader.textures.cend(); ++iter_samplers) + { + Texture * texture = iter_samplers->second.first; + + if (texture->type == GL_TEXTURE_3D) { + sourcePreprocessed.insert(0, "uniform sampler3D sampler_" + iter_samplers->first + ";\n"); + } else { + sourcePreprocessed.insert(0, "uniform sampler2D sampler_" + iter_samplers->first + ";\n"); + } + + texsizes.insert(iter_samplers->first); + texsizes.insert(texture->name); + } + + // Declare texsizes + std::set::const_iterator iter_texsizes = texsizes.cbegin(); + for ( ; iter_texsizes != texsizes.cend(); ++iter_texsizes) + { + sourcePreprocessed.insert(0, "uniform float4 texsize_" + *iter_texsizes + ";\n"); + } + + + // transpile from HLSL (aka preset shader aka directX shader) to GLSL (aka OpenGL shader lang) + + // parse + if( !parser.Parse(shaderFilename.c_str(), sourcePreprocessed.c_str(), sourcePreprocessed.size()) ) { + std::cerr << "Failed to parse HLSL(step2) " << shaderTypeString << " shader" << std::endl; + +#if !DUMP_SHADERS_ON_ERROR + std::cerr << "Source: " << std::endl << sourcePreprocessed << std::endl; +#else + std::ofstream out2("/tmp/shader_" + shaderTypeString + "_step2.txt"); + out2 << sourcePreprocessed; + out2.close(); +#endif + return GL_FALSE; + } + + // generate GLSL + if (!generator.Generate(&tree, M4::GLSLGenerator::Target_FragmentShader, SHADER_VERSION, "PS")) { + std::cerr << "Failed to transpile HLSL(step3) " << shaderTypeString << " shader to GLSL" << std::endl; +#if !DUMP_SHADERS_ON_ERROR + std::cerr << "Source: " << std::endl << sourcePreprocessed << std::endl; +#else + std::ofstream out2("/tmp/shader_" + shaderTypeString + "_step2.txt"); + out2 << sourcePreprocessed; + out2.close(); +#endif + return GL_FALSE; + } + + // now we have GLSL source for the preset shader program (hopefully it's valid!) + // copmile the preset shader fragment shader with the standard vertex shader and cross our fingers + GLuint ret = 0; + if (shaderType == PresentWarpShader) { + ret = CompileShaderProgram(presetWarpVertexShader, generator.GetResult(), shaderTypeString); // returns new program + } else { + ret = CompileShaderProgram(presetCompVertexShader, generator.GetResult(), shaderTypeString); // returns new program + } + + if (ret != GL_FALSE) { + std::cerr << "Successful compilation of " << shaderTypeString << std::endl; + } else { + std::cerr << "Compilation error (step3) of " << shaderTypeString << std::endl; + +#if !DUMP_SHADERS_ON_ERROR + std::cerr << "Source:" << std::endl << generator.GetResult() << std::endl; +#else + std::ofstream out3("/tmp/shader_" + shaderTypeString + "_step3.txt"); + out3 << generator.GetResult(); + out3.close(); +#endif + } + + return ret; +} + + +void ShaderEngine::SetupShaderVariables(GLuint program, const Pipeline &pipeline, const PipelineContext &context) +{ + // pass info from projectM to the shader uniforms + // these are the inputs: http://www.geisswerks.com/milkdrop/milkdrop_preset_authoring.html#3f6 + + float time_since_preset_start = context.time - context.presetStartTime; + float time_since_preset_start_wrapped = time_since_preset_start - (int)(time_since_preset_start/10000)*10000; + float mip_x = logf((float)texsizeX)/logf(2.0f); + float mip_y = logf((float)texsizeX)/logf(2.0f); + float mip_avg = 0.5f*(mip_x + mip_y); + + glUniform4f(glGetUniformLocation(program, "rand_frame"), (rand() % 100) * .01, (rand() % 100) * .01, (rand()% 100) * .01, (rand() % 100) * .01); + glUniform4f(glGetUniformLocation(program, "rand_preset"), rand_preset[0], rand_preset[1], rand_preset[2], rand_preset[3]); + + glUniform4f(glGetUniformLocation(program, "_c0"), aspectX, aspectY, 1 / aspectX, 1 / aspectY); + glUniform4f(glGetUniformLocation(program, "_c1"), 0.0, 0.0, 0.0, 0.0); + glUniform4f(glGetUniformLocation(program, "_c2"), time_since_preset_start_wrapped, context.fps, context.frame, context.progress); + glUniform4f(glGetUniformLocation(program, "_c3"), beatDetect->bass/100, beatDetect->mid/100, beatDetect->treb/100, beatDetect->vol/100); + glUniform4f(glGetUniformLocation(program, "_c4"), beatDetect->bass_att/100, beatDetect->mid_att/100, beatDetect->treb_att/100, beatDetect->vol_att/100); + glUniform4f(glGetUniformLocation(program, "_c5"), pipeline.blur1x-pipeline.blur1n, pipeline.blur1n, pipeline.blur2x-pipeline.blur2n, pipeline.blur2n); + glUniform4f(glGetUniformLocation(program, "_c6"), pipeline.blur3x-pipeline.blur3n, pipeline.blur3n, pipeline.blur1n, pipeline.blur1x); + glUniform4f(glGetUniformLocation(program, "_c7"), texsizeX, texsizeY, 1 / (float) texsizeX, 1 / (float) texsizeY); + + glUniform4f(glGetUniformLocation(program, "_c8"), 0.5f+0.5f*cosf(context.time* 0.329f+1.2f), + 0.5f+0.5f*cosf(context.time* 1.293f+3.9f), + 0.5f+0.5f*cosf(context.time* 5.070f+2.5f), + 0.5f+0.5f*cosf(context.time*20.051f+5.4f)); + + glUniform4f(glGetUniformLocation(program, "_c9"), 0.5f+0.5f*sinf(context.time* 0.329f+1.2f), + 0.5f+0.5f*sinf(context.time* 1.293f+3.9f), + 0.5f+0.5f*sinf(context.time* 5.070f+2.5f), + 0.5f+0.5f*sinf(context.time*20.051f+5.4f)); + + glUniform4f(glGetUniformLocation(program, "_c10"), 0.5f+0.5f*cosf(context.time*0.0050f+2.7f), + 0.5f+0.5f*cosf(context.time*0.0085f+5.3f), + 0.5f+0.5f*cosf(context.time*0.0133f+4.5f), + 0.5f+0.5f*cosf(context.time*0.0217f+3.8f)); + + glUniform4f(glGetUniformLocation(program, "_c11"), 0.5f+0.5f*sinf(context.time*0.0050f+2.7f), + 0.5f+0.5f*sinf(context.time*0.0085f+5.3f), + 0.5f+0.5f*sinf(context.time*0.0133f+4.5f), + 0.5f+0.5f*sinf(context.time*0.0217f+3.8f)); + + glUniform4f(glGetUniformLocation(program, "_c12"), mip_x, mip_y, mip_avg, 0 ); + glUniform4f(glGetUniformLocation(program, "_c13"), pipeline.blur2n, pipeline.blur2x, pipeline.blur3n, pipeline.blur3x); + + + glm::mat4 temp_mat[24]; + + // write matrices + for (int i=0; i<20; i++) + { + glm::mat4 mx, my, mz, mxlate; + + mx = glm::rotate(glm::mat4(1.0f), rot_base[i].x + rot_speed[i].x*context.time, glm::vec3(1.0f, 0.0f, 0.0f)); + my = glm::rotate(glm::mat4(1.0f), rot_base[i].y + rot_speed[i].y*context.time, glm::vec3(0.0f, 1.0f, 0.0f)); + mz = glm::rotate(glm::mat4(1.0f), rot_base[i].z + rot_speed[i].z*context.time, glm::vec3(0.0f, 0.0f, 1.0f)); + + mxlate = glm::translate(glm::mat4(1.0f), glm::vec3(xlate[i].x, xlate[i].y, xlate[i].z)); + + temp_mat[i] = mxlate * mx; + temp_mat[i] = mz * temp_mat[i]; + temp_mat[i] = my * temp_mat[i]; + } + + // the last 4 are totally random, each frame + for (int i=20; i<24; i++) + { + glm::mat4 mx, my, mz, mxlate; + + mx = glm::rotate(glm::mat4(1.0f), FRAND * 6.28f, glm::vec3(1.0f, 0.0f, 0.0f)); + my = glm::rotate(glm::mat4(1.0f), FRAND * 6.28f, glm::vec3(0.0f, 1.0f, 0.0f)); + mz = glm::rotate(glm::mat4(1.0f), FRAND * 6.28f, glm::vec3(0.0f, 0.0f, 1.0f)); + + mxlate = glm::translate(glm::mat4(1.0f), glm::vec3(FRAND, FRAND, FRAND)); + + temp_mat[i] = mxlate * mx; + temp_mat[i] = mz * temp_mat[i]; + temp_mat[i] = my * temp_mat[i]; + } + + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_s1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[0]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_s2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[1]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_s3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[2]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_s4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[3]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_d1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[4]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_d2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[5]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_d3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[6]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_d4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[7]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_f1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[8]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_f2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[9]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_f3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[10]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_f4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[11]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_vf1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[12]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_vf2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[13]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_vf3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[14]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_vf4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[15]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_uf1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[16]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_uf2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[17]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_uf3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[18]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_uf4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[19]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_rand1"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[20]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_rand2"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[21]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_rand3"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[22]))); + glUniformMatrix3x4fv(glGetUniformLocation(program, "rot_rand4"), 1, GL_FALSE, glm::value_ptr(glm::mat3x4(temp_mat[23]))); + + // set program uniform "_q[a-h]" values (_qa.x, _qa.y, _qa.z, _qa.w, _qb.x, _qb.y ... ) alias q[1-32] + for (int i=0; i < 32; i+=4) { + std::string varName = "_q"; + varName.push_back('a' + i/4); + glUniform4f(glGetUniformLocation(program, varName.c_str()), pipeline.q[i], pipeline.q[i+1], pipeline.q[i+2], pipeline.q[i+3]); + } +} + +void ShaderEngine::SetupTextures(GLuint program, const Shader &shader) +{ + + unsigned int texNum = 0; + std::map texsizes; + + // Set samplers + for (std::map::const_iterator iter_samplers = shader.textures.begin(); iter_samplers + != shader.textures.end(); ++iter_samplers) + { + std::string texName = iter_samplers->first; + Texture * texture = iter_samplers->second.first; + Sampler * sampler = iter_samplers->second.second; + std::string samplerName = "sampler_" + texName; + + // https://www.khronos.org/opengl/wiki/Sampler_(GLSL)#Binding_textures_to_samplers + GLint param = glGetUniformLocation(program, samplerName.c_str()); + if (param < 0) { + // unused uniform have been optimized out by glsl compiler + continue; + } + + texsizes[texName] = texture; + texsizes[texture->name] = texture; + + glActiveTexture(GL_TEXTURE0 + texNum); + glBindTexture(texture->type, texture->texID); + glBindSampler(texNum, sampler->samplerID); + + glUniform1i(param, texNum); + texNum++; + } + + + // Set texsizes + std::map::const_iterator iter_textures = texsizes.cbegin(); + for ( ; iter_textures != texsizes.cend(); ++iter_textures) + { + Texture * texture = iter_textures->second; + + std::string texsizeName = "texsize_" + iter_textures->first; + GLint textSizeParam = glGetUniformLocation(program, texsizeName.c_str()); + if (textSizeParam >= 0) { + glUniform4f(textSizeParam, texture->width, texture->height, + 1 / (float) texture->width, 1 / (float) texture->height); + } else { + // unused uniform have been optimized out by glsl compiler + continue; + } + } +} + + +void ShaderEngine::RenderBlurTextures(const Pipeline &pipeline, const PipelineContext &pipelineContext) +{ + unsigned int passes = 0; + if (blur3_enabled) { + passes = 6; + } else if (blur2_enabled) { + passes = 4; + } else if (blur1_enabled) { + passes = 2; + } else { + return; + } + + const float w[8] = { 4.0f, 3.8f, 3.5f, 2.9f, 1.9f, 1.2f, 0.7f, 0.3f }; //<- user can specify these + float edge_darken = pipeline.blur1ed; + float blur_min[3], blur_max[3]; + + blur_min[0] = pipeline.blur1n; + blur_min[1] = pipeline.blur2n; + blur_min[2] = pipeline.blur3n; + blur_max[0] = pipeline.blur1x; + blur_max[1] = pipeline.blur2x; + blur_max[2] = pipeline.blur3x; + + // check that precision isn't wasted in later blur passes [...min-max gap can't grow!] + // also, if min-max are close to each other, push them apart: + const float fMinDist = 0.1f; + if (blur_max[0] - blur_min[0] < fMinDist) { + float avg = (blur_min[0] + blur_max[0])*0.5f; + blur_min[0] = avg - fMinDist*0.5f; + blur_max[0] = avg - fMinDist*0.5f; + } + blur_max[1] = std::min(blur_max[0], blur_max[1]); + blur_min[1] = std::max(blur_min[0], blur_min[1]); + if (blur_max[1] - blur_min[1] < fMinDist) { + float avg = (blur_min[1] + blur_max[1])*0.5f; + blur_min[1] = avg - fMinDist*0.5f; + blur_max[1] = avg - fMinDist*0.5f; + } + blur_max[2] = std::min(blur_max[1], blur_max[2]); + blur_min[2] = std::max(blur_min[1], blur_min[2]); + if (blur_max[2] - blur_min[2] < fMinDist) { + float avg = (blur_min[2] + blur_max[2])*0.5f; + blur_min[2] = avg - fMinDist*0.5f; + blur_max[2] = avg - fMinDist*0.5f; + } + + float fscale[3]; + float fbias[3]; + + // figure out the progressive scale & bias needed, at each step, + // to go from one [min..max] range to the next. + float temp_min, temp_max; + fscale[0] = 1.0f / (blur_max[0] - blur_min[0]); + fbias [0] = -blur_min[0] * fscale[0]; + temp_min = (blur_min[1] - blur_min[0]) / (blur_max[0] - blur_min[0]); + temp_max = (blur_max[1] - blur_min[0]) / (blur_max[0] - blur_min[0]); + fscale[1] = 1.0f / (temp_max - temp_min); + fbias [1] = -temp_min * fscale[1]; + temp_min = (blur_min[2] - blur_min[1]) / (blur_max[1] - blur_min[1]); + temp_max = (blur_max[2] - blur_min[1]) / (blur_max[1] - blur_min[1]); + fscale[2] = 1.0f / (temp_max - temp_min); + fbias [2] = -temp_min * fscale[2]; + + const std::vector & blurTextures = textureManager->getBlurTextures(); + const Texture * mainTexture = textureManager->getMainTexture(); + + glBlendFunc(GL_ONE, GL_ZERO); + glBindVertexArray(vaoBlur); + + for (unsigned int i=0; iwidth, blurTextures[i]->height); + + // hook up correct source texture - assume there is only one, at stage 0 + glActiveTexture(GL_TEXTURE0); + if (i == 0) { + glBindTexture(GL_TEXTURE_2D, mainTexture->texID); + } else { + glBindTexture(GL_TEXTURE_2D, blurTextures[i-1]->texID); + } + + float srcw = (i==0) ? mainTexture->width : blurTextures[i-1]->width; + float srch = (i==0) ? mainTexture->height : blurTextures[i-1]->height; + + + float fscale_now = fscale[i/2]; + float fbias_now = fbias[i/2]; + + // set constants + if (i%2==0) + { + // pass 1 (long horizontal pass) + //------------------------------------- + const float w1 = w[0] + w[1]; + const float w2 = w[2] + w[3]; + const float w3 = w[4] + w[5]; + const float w4 = w[6] + w[7]; + const float d1 = 0 + 2*w[1]/w1; + const float d2 = 2 + 2*w[3]/w2; + const float d3 = 4 + 2*w[5]/w3; + const float d4 = 6 + 2*w[7]/w4; + const float w_div = 0.5f/(w1+w2+w3+w4); + //------------------------------------- + //float4 _c0; // source texsize (.xy), and inverse (.zw) + //float4 _c1; // w1..w4 + //float4 _c2; // d1..d4 + //float4 _c3; // scale, bias, w_div, 0 + //------------------------------------- + glUniform4f(uniform_blur1_c0, srcw, srch, 1.0f/srcw, 1.0f/srch); + glUniform4f(uniform_blur1_c1, w1,w2,w3,w4); + glUniform4f(uniform_blur1_c2, d1,d2,d3,d4); + glUniform4f(uniform_blur1_c3, fscale_now, fbias_now, w_div, 0.0); + } + else + { + // pass 2 (short vertical pass) + //------------------------------------- + const float w1 = w[0]+w[1] + w[2]+w[3]; + const float w2 = w[4]+w[5] + w[6]+w[7]; + const float d1 = 0 + 2*((w[2]+w[3])/w1); + const float d2 = 2 + 2*((w[6]+w[7])/w2); + const float w_div = 1.0f/((w1+w2)*2); + //------------------------------------- + //float4 _c0; // source texsize (.xy), and inverse (.zw) + //float4 _c5; // w1,w2,d1,d2 + //float4 _c6; // w_div, edge_darken_c1, edge_darken_c2, edge_darken_c3 + //------------------------------------- + glUniform4f(uniform_blur2_c0, srcw, srch, 1.0f/srcw, 1.0f/srch); + glUniform4f(uniform_blur2_c5, w1,w2,d1,d2); + // note: only do this first time; if you do it many times, + // then the super-blurred levels will have big black lines along the top & left sides. + if (i==1) + glUniform4f(uniform_blur2_c6, w_div, (1-edge_darken), edge_darken, 5.0f); //darken edges + else + glUniform4f(uniform_blur2_c6, w_div, 1.0f, 0.0f, 5.0f); // don't darken + } + + // draw fullscreen quad + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + + // save to blur texture + glBindTexture(GL_TEXTURE_2D, blurTextures[i]->texID); + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, blurTextures[i]->width, blurTextures[i]->height); + } + + glBindVertexArray(0); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBindTexture(GL_TEXTURE_2D, 0); +} + +bool ShaderEngine::linkProgram(GLuint programID) { + glLinkProgram(programID); + + GLint program_linked; + glGetProgramiv(programID, GL_LINK_STATUS, &program_linked); + if (program_linked == GL_TRUE) { + return true; // success + } + + int InfoLogLength; + glGetProgramiv(programID, GL_INFO_LOG_LENGTH, &InfoLogLength); + if ( InfoLogLength > 0 ){ + std::vector ProgramErrorMessage(InfoLogLength+1); + glGetProgramInfoLog(programID, InfoLogLength, NULL, &ProgramErrorMessage[0]); + std::cerr << "Failed to link program: " << &ProgramErrorMessage[0] << std::endl; + } + + return false; +} + + +bool ShaderEngine::loadPresetShaders(Pipeline &pipeline, const std::string & presetName) { + + bool ok = true; + + // blur programs + blur1_enabled = false; + blur2_enabled = false; + blur3_enabled = false; + + m_presetName = presetName; + + // compile and link warp and composite shaders from pipeline + if (!pipeline.warpShader.programSource.empty()) { + programID_presetWarp = loadPresetShader(PresentWarpShader, pipeline.warpShader, pipeline.warpShaderFilename); + if (programID_presetWarp != GL_FALSE) { + uniform_vertex_transf_warp_shader = glGetUniformLocation(programID_presetWarp, "vertex_transformation"); + presetWarpShaderLoaded = true; + } else { + ok = false; + } + } + + if (!pipeline.compositeShader.programSource.empty()) { + programID_presetComp = loadPresetShader(PresentCompositeShader, pipeline.compositeShader, pipeline.compositeShaderFilename); + if (programID_presetComp != GL_FALSE) { + presetCompShaderLoaded = true; + } else { + ok = false; + } + } + +// std::cout << "Preset composite shader active: " << presetCompShaderLoaded << ", preset warp shader active: " << presetWarpShaderLoaded << std::endl; + + return ok; +} + +GLuint ShaderEngine::loadPresetShader(const ShaderEngine::PresentShaderType shaderType, Shader &presetShader, std::string &shaderFilename) { + GLuint program = compilePresetShader(shaderType, presetShader, shaderFilename); + + if (program == GL_FALSE) { + // failed to compile + return GL_FALSE; + } + + return program; +} + +// deactivate preset shaders +void ShaderEngine::disablePresetShaders() { + if (presetCompShaderLoaded) + glDeleteProgram(programID_presetComp); + + if (presetWarpShaderLoaded) + glDeleteProgram(programID_presetWarp); + + presetCompShaderLoaded = false; + presetWarpShaderLoaded = false; +} + +void ShaderEngine::reset() +{ + disablePresetShaders(); + rand_preset[0] = FRAND; + rand_preset[1] = FRAND; + rand_preset[2] = FRAND; + rand_preset[3] = FRAND; + + unsigned int k = 0; + do + { + for (int i=0; i<4; i++) + { + float xlate_mult = 1; + float rot_mult = 0.9f*powf(k/8.0f, 3.2f); + xlate[k].x = (FRAND*2-1)*xlate_mult; + xlate[k].y = (FRAND*2-1)*xlate_mult; + xlate[k].z = (FRAND*2-1)*xlate_mult; + rot_base[k].x = FRAND*6.28f; + rot_base[k].y = FRAND*6.28f; + rot_base[k].z = FRAND*6.28f; + rot_speed[k].x = (FRAND*2-1)*rot_mult; + rot_speed[k].y = (FRAND*2-1)*rot_mult; + rot_speed[k].z = (FRAND*2-1)*rot_mult; + k++; + } + } + while (k < sizeof(xlate)/sizeof(xlate[0])); +} + +GLuint ShaderEngine::CompileShaderProgram(const std::string & VertexShaderCode, const std::string & FragmentShaderCode, const std::string & shaderTypeString){ + +#if defined(WIN32) && !defined(EYETUNE_WINRT) + GLenum err = glewInit(); +#endif /** WIN32 */ + + // Create the shaders + GLuint VertexShaderID = glCreateShader(GL_VERTEX_SHADER); + GLuint FragmentShaderID = glCreateShader(GL_FRAGMENT_SHADER); + + + // Compile Vertex Shader + char const * VertexSourcePointer = VertexShaderCode.c_str(); + glShaderSource(VertexShaderID, 1, &VertexSourcePointer , NULL); + glCompileShader(VertexShaderID); + checkCompileStatus(VertexShaderID, "Vertex: " + shaderTypeString); + + + // Compile Fragment Shader + char const * FragmentSourcePointer = FragmentShaderCode.c_str(); + glShaderSource(FragmentShaderID, 1, &FragmentSourcePointer , NULL); + glCompileShader(FragmentShaderID); + checkCompileStatus(FragmentShaderID, "Fragment: " + shaderTypeString); + + + // Link the program + GLuint programID = glCreateProgram(); + + glAttachShader(programID, VertexShaderID); + glAttachShader(programID, FragmentShaderID); + bool linkOK = linkProgram(programID); + + glDetachShader(programID, VertexShaderID); + glDetachShader(programID, FragmentShaderID); + + glDeleteShader(VertexShaderID); + glDeleteShader(FragmentShaderID); + + return linkOK ? programID : GL_FALSE; +} + +void ShaderEngine::validateProgram(const GLuint programID) { + GLint Result = GL_FALSE; + int InfoLogLength; + + glValidateProgram(programID); + + // Check the program + glGetProgramiv(programID, GL_VALIDATE_STATUS, &Result); + glGetProgramiv(programID, GL_INFO_LOG_LENGTH, &InfoLogLength); + if ( InfoLogLength > 0 ){ + std::vector ProgramErrorMessage(InfoLogLength+1); + glGetProgramInfoLog(programID, InfoLogLength, NULL, &ProgramErrorMessage[0]); + fprintf(stderr, "%s\n", &ProgramErrorMessage[0]); + } +} + +// use the appropriate shader program for rendering the interpolation. +// it will use the preset shader if available, otherwise the textured shader +bool ShaderEngine::enableWarpShader(Shader &shader, const Pipeline &pipeline, const PipelineContext &pipelineContext, const glm::mat4 & mat_ortho) { + if (presetWarpShaderLoaded) { + glUseProgram(programID_presetWarp); + + SetupTextures(programID_presetWarp, shader); + + SetupShaderVariables(programID_presetWarp, pipeline, pipelineContext); + + glUniformMatrix4fv(uniform_vertex_transf_warp_shader, 1, GL_FALSE, glm::value_ptr(mat_ortho)); + +#if OGL_DEBUG + validateProgram(programID_presetWarp); +#endif + + return true; + } + + glUseProgram(programID_v2f_c4f_t2f); + + glUniformMatrix4fv(uniform_v2f_c4f_t2f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(mat_ortho)); + glUniform1i(uniform_v2f_c4f_t2f_frag_texture_sampler, 0); + + return false; +} + +bool ShaderEngine::enableCompositeShader(Shader &shader, const Pipeline &pipeline, const PipelineContext &pipelineContext) { + if (presetCompShaderLoaded) { + glUseProgram(programID_presetComp); + + SetupTextures(programID_presetComp, shader); + + SetupShaderVariables(programID_presetComp, pipeline, pipelineContext); + +#if OGL_DEBUG + validateProgram(programID_presetComp); +#endif + + return true; + } + + glUseProgram(programID_v2f_c4f_t2f); + + return false; +} diff --git a/src/libprojectM/Renderer/ShaderEngine.hpp b/src/libprojectM/Renderer/ShaderEngine.hpp new file mode 100644 index 0000000000..09caa5d0e3 --- /dev/null +++ b/src/libprojectM/Renderer/ShaderEngine.hpp @@ -0,0 +1,122 @@ +/* + * ShaderEngine.hpp + * + * Created on: Jul 18, 2008 + * Author: pete + */ + +#ifndef SHADERENGINE_HPP_ +#define SHADERENGINE_HPP_ + +#include "Common.hpp" +#include "projectM-opengl.h" + +class ShaderEngine; +#include "Pipeline.hpp" +#include "PipelineContext.hpp" +#include "TextureManager.hpp" +#include "BeatDetect.hpp" + +#include +#include +#include +#include +#include "Shader.hpp" +#include + + +class ShaderEngine +{ +public: + enum PresentShaderType + { + PresentCompositeShader, + PresentWarpShader, + PresentBlur1Shader, + PresentBlur2Shader, + }; + + ShaderEngine(); + virtual ~ShaderEngine(); + bool loadPresetShaders(Pipeline &pipeline, const std::string &presetName); + bool enableWarpShader(Shader &shader, const Pipeline &pipeline, const PipelineContext &pipelineContext, const glm::mat4 & mat_ortho); + bool enableCompositeShader(Shader &shader, const Pipeline &pipeline, const PipelineContext &pipelineContext); + void RenderBlurTextures(const Pipeline &pipeline, const PipelineContext &pipelineContext); + void setParams(const int _texsizeX, const int texsizeY, BeatDetect *beatDetect, TextureManager *_textureManager); + void reset(); + + static GLuint CompileShaderProgram(const std::string & VertexShaderCode, const std::string & FragmentShaderCode, const std::string & shaderTypeString); + static bool checkCompileStatus(GLuint shader, const std::string & shaderTitle); + static bool linkProgram(GLuint programID); + + + GLuint programID_v2f_c4f; + GLuint programID_v2f_c4f_t2f; + + GLint uniform_v2f_c4f_vertex_tranformation; + GLint uniform_v2f_c4f_vertex_point_size; + GLint uniform_v2f_c4f_t2f_vertex_tranformation; + GLint uniform_v2f_c4f_t2f_frag_texture_sampler; + + const static std::string v2f_c4f_vert; + const static std::string v2f_c4f_frag; + const static std::string v2f_c4f_t2f_vert; + const static std::string v2f_c4f_t2f_frag; + +private: + int texsizeX; + int texsizeY; + float aspectX; + float aspectY; + BeatDetect *beatDetect; + TextureManager *textureManager; + GLint uniform_vertex_transf_warp_shader; + + GLuint programID_warp_fallback; + GLuint programID_comp_fallback; + GLuint programID_blur1; + GLuint programID_blur2; + + bool blur1_enabled; + bool blur2_enabled; + bool blur3_enabled; + + GLint uniform_blur1_sampler; + GLint uniform_blur1_c0; + GLint uniform_blur1_c1; + GLint uniform_blur1_c2; + GLint uniform_blur1_c3; + + GLint uniform_blur2_sampler; + GLint uniform_blur2_c0; + GLint uniform_blur2_c5; + GLint uniform_blur2_c6; + + GLuint vboBlur; + GLuint vaoBlur; + + float rand_preset[4]; + glm::vec3 xlate[20]; + glm::vec3 rot_base[20]; + glm::vec3 rot_speed[20]; + + void SetupShaderVariables(GLuint program, const Pipeline &pipeline, const PipelineContext &pipelineContext); + void SetupTextures(GLuint program, const Shader &shader); + GLuint compilePresetShader(const ShaderEngine::PresentShaderType shaderType, Shader &shader, const std::string &shaderFilename); + + void disablePresetShaders(); + GLuint loadPresetShader(const PresentShaderType shaderType, Shader &shader, std::string &shaderFilename); + + void deletePresetShader(Shader &shader); + void validateProgram(const GLuint programID); + + + // programs generated from preset shader code + GLuint programID_presetComp, programID_presetWarp; + + bool presetCompShaderLoaded, presetWarpShaderLoaded; + + std::string m_presetName; +}; + +#endif /* SHADERENGINE_HPP_ */ diff --git a/src/libprojectM/Renderer/Texture.cpp b/src/libprojectM/Renderer/Texture.cpp new file mode 100644 index 0000000000..7e1d895bb0 --- /dev/null +++ b/src/libprojectM/Renderer/Texture.cpp @@ -0,0 +1,72 @@ +#include "Texture.hpp" + +Sampler::Sampler(const GLint _wrap_mode, const GLint _filter_mode) : + wrap_mode(_wrap_mode), + filter_mode(_filter_mode) +{ + glGenSamplers(1, &samplerID); + glSamplerParameteri(samplerID, GL_TEXTURE_MIN_FILTER, _filter_mode); + glSamplerParameteri(samplerID, GL_TEXTURE_MAG_FILTER, _filter_mode); + glSamplerParameteri(samplerID, GL_TEXTURE_WRAP_S, _wrap_mode); + glSamplerParameteri(samplerID, GL_TEXTURE_WRAP_T, _wrap_mode); +} + + +Sampler::~Sampler() +{ + glDeleteSamplers(1, &samplerID); +} + + + +Texture::Texture(const std::string &_name, const int _width, const int _height, const bool _userTexture) : + type(GL_TEXTURE_2D), + name(_name), + width(_width), + height(_height), + userTexture(_userTexture) +{ + glGenTextures(1, &texID); + glBindTexture(GL_TEXTURE_2D, texID); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, _width, _height, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); + glBindTexture(GL_TEXTURE_2D, 0); +} + +Texture::Texture(const std::string &_name, const GLuint _texID, const GLenum _type, const int _width, const int _height, const bool _userTexture) : + texID(_texID), + type(_type), + name(_name), + width(_width), + height(_height), + userTexture(_userTexture) +{ +} + + +Texture::~Texture() +{ + glDeleteTextures(1, &texID); + + for(std::vector::const_iterator iter = samplers.begin(); iter != samplers.end(); iter++) + { + delete (*iter); + } +} + + +Sampler* Texture::getSampler(const GLint _wrap_mode, const GLint _filter_mode) +{ + for(std::vector::const_iterator iter = samplers.begin(); iter != samplers.end(); iter++) + { + if ((*iter)->wrap_mode == _wrap_mode && (*iter)->filter_mode == _filter_mode) + { + return *iter; + } + } + + // Sampler not found -> adding it + Sampler * sampler = new Sampler(_wrap_mode, _filter_mode); + samplers.push_back(sampler); + + return sampler; +} diff --git a/src/libprojectM/Renderer/Texture.hpp b/src/libprojectM/Renderer/Texture.hpp new file mode 100644 index 0000000000..8bf08f0689 --- /dev/null +++ b/src/libprojectM/Renderer/Texture.hpp @@ -0,0 +1,43 @@ +#ifndef TEXTURE_HPP_ +#define TEXTURE_HPP_ + +#include +#include +#include "projectM-opengl.h" + + +class Sampler +{ +public: + GLuint samplerID; + GLint wrap_mode; + GLint filter_mode; + + Sampler(const GLint _wrap_mode, const GLint _filter_mode); + ~Sampler(); +}; + + +class Texture +{ +public: + + GLuint texID; + GLenum type; + + std::string name; + int width; + int height; + bool userTexture; + std::vector samplers; + + Texture(const std::string & _name, const int _width, const int _height, const bool _userTexture); + Texture(const std::string & _name, const GLuint _texID, const GLenum _type, const int _width, const int _height, const bool _userTexture); + ~Texture(); + + Sampler *getSampler(const GLint _wrap_mode, const GLint _filter_mode); +}; + +typedef std::pair TextureSamplerDesc; + +#endif /* TEXTURE_HPP_ */ diff --git a/src/libprojectM/Renderer/TextureManager.cpp b/src/libprojectM/Renderer/TextureManager.cpp new file mode 100644 index 0000000000..9f4ab41f97 --- /dev/null +++ b/src/libprojectM/Renderer/TextureManager.cpp @@ -0,0 +1,478 @@ +#include +#include +#include + +#include "projectM-opengl.h" + +#include "SOIL2/SOIL2.h" + +#ifdef WIN32 +#include "dirent.h" +#endif + +#ifdef __unix__ +#include +#endif +#ifdef EMSCRIPTEN +#include +#endif + +#ifdef __APPLE__ +#include +#endif +#include "TextureManager.hpp" +#include "Common.hpp" +#include "IdleTextures.hpp" +#include "Texture.hpp" +/* OpenGL ES 2.0 cant handle converting textures fro GL_RGB to GL_RGBA via glTexImage2D +http://docs.gl/es2/glTexImage2D + +This causes a GLError INVALID_OPERATION(0x502) whenever making a new Renderer or resizing it. + +So because of this, we switch to a PerlinNoiseWithAlpha class to generate the noise textures. +*/ +#ifdef GL_ES_VERSION_2_0 +#include "PerlinNoiseWithAlpha.hpp" +#define NOISE_INTERNAL_DATA_FORMAT GL_RGBA +#else +#include "PerlinNoise.hpp" +#define NOISE_INTERNAL_DATA_FORMAT GL_RGB +#endif + + +#define NUM_BLUR_TEX 6 + + +TextureManager::TextureManager(const std::string _presetsURL, const int texsizeX, const int texsizeY, std::string datadir): + presetsURL(_presetsURL) +{ + extensions.push_back(".jpg"); + extensions.push_back(".dds"); + extensions.push_back(".png"); + extensions.push_back(".tga"); + extensions.push_back(".bmp"); + extensions.push_back(".dib"); + + Preload(); + // if not data directory specified from user code + // we use the built-in default directory (unix prefix based) + if (datadir.empty()) +#ifdef WIN32 + datadir = "."; +#else + datadir = DATADIR_PATH; +#endif /** WIN32 */ + + loadTextureDir(datadir + "/presets"); + loadTextureDir(datadir + "/textures"); + loadTextureDir(_presetsURL); + + // Create main texture ans associated samplers + mainTexture = new Texture("main", texsizeX, texsizeY, false); + mainTexture->getSampler(GL_REPEAT, GL_LINEAR); + mainTexture->getSampler(GL_REPEAT, GL_NEAREST); + mainTexture->getSampler(GL_CLAMP_TO_EDGE, GL_LINEAR); + mainTexture->getSampler(GL_CLAMP_TO_EDGE, GL_NEAREST); + textures["main"] = mainTexture; + + // Initialize blur textures + int w = texsizeX; + int h = texsizeY; + for (int i=0; igetSampler(GL_CLAMP_TO_EDGE, GL_LINEAR); + textures[texname] = textureBlur; + blurTextures.push_back(textureBlur); + } + +#ifdef GL_ES_VERSION_2_0 + std::unique_ptr noise(new PerlinNoiseWithAlpha()); +#else + std::unique_ptr noise(new PerlinNoise()); +#endif + + GLuint noise_texture_lq_lite; + glGenTextures(1, &noise_texture_lq_lite); + glBindTexture(GL_TEXTURE_2D, noise_texture_lq_lite); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT, noise->noise_lq_lite); + Texture * textureNoise_lq_lite = new Texture("noise_lq_lite", noise_texture_lq_lite, GL_TEXTURE_2D, 32, 32, false); + textureNoise_lq_lite->getSampler(GL_REPEAT, GL_LINEAR); + textures["noise_lq_lite"] = textureNoise_lq_lite; + + GLuint noise_texture_lq; + glGenTextures(1, &noise_texture_lq); + glBindTexture(GL_TEXTURE_2D, noise_texture_lq); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT, noise->noise_lq); + Texture * textureNoise_lq = new Texture("noise_lq", noise_texture_lq, GL_TEXTURE_2D, 256, 256, false); + textureNoise_lq->getSampler(GL_REPEAT, GL_LINEAR); + textures["noise_lq"] = textureNoise_lq; + + GLuint noise_texture_mq; + glGenTextures(1, &noise_texture_mq); + glBindTexture(GL_TEXTURE_2D, noise_texture_mq); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT, noise->noise_mq); + Texture * textureNoise_mq = new Texture("noise_mq", noise_texture_mq, GL_TEXTURE_2D, 256, 256, false); + textureNoise_mq->getSampler(GL_REPEAT, GL_LINEAR); + textures["noise_mq"] = textureNoise_mq; + + GLuint noise_texture_hq; + glGenTextures(1, &noise_texture_hq); + glBindTexture(GL_TEXTURE_2D, noise_texture_hq); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT, noise->noise_hq); + Texture * textureNoise_hq = new Texture("noise_hq", noise_texture_hq, GL_TEXTURE_2D, 256, 256, false); + textureNoise_hq->getSampler(GL_REPEAT, GL_LINEAR); + textures["noise_hq"] = textureNoise_hq; + + GLuint noise_texture_lq_vol; + glGenTextures( 1, &noise_texture_lq_vol ); + glBindTexture( GL_TEXTURE_3D, noise_texture_lq_vol ); + glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, 32 ,32 ,32 ,0 ,NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT ,noise->noise_lq_vol); + Texture * textureNoise_lq_vol = new Texture("noisevol_lq", noise_texture_lq_vol, GL_TEXTURE_3D, 32, 32, false); + textureNoise_lq_vol->getSampler(GL_REPEAT, GL_LINEAR); + textures["noisevol_lq"] = textureNoise_lq_vol; + + GLuint noise_texture_hq_vol; + glGenTextures( 1, &noise_texture_hq_vol ); + glBindTexture( GL_TEXTURE_3D, noise_texture_hq_vol ); + glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, 32, 32, 32, 0, NOISE_INTERNAL_DATA_FORMAT, GL_FLOAT, noise->noise_hq_vol); + + Texture * textureNoise_hq_vol = new Texture("noisevol_hq", noise_texture_hq_vol, GL_TEXTURE_3D, 32, 32, false); + textureNoise_hq_vol->getSampler(GL_REPEAT, GL_LINEAR); + textures["noisevol_hq"] = textureNoise_hq_vol; + +} + +TextureManager::~TextureManager() +{ + Clear(); +} + +void TextureManager::Preload() +{ + int width, height; + + unsigned int tex = SOIL_load_OGL_texture_from_memory( + M_data, + M_bytes, + SOIL_LOAD_AUTO, + SOIL_CREATE_NEW_ID, + SOIL_FLAG_POWER_OF_TWO + | SOIL_FLAG_MULTIPLY_ALPHA + ,&width,&height); + + + Texture * newTex = new Texture("M", tex, GL_TEXTURE_2D, width, height, true); + newTex->getSampler(GL_CLAMP_TO_EDGE, GL_LINEAR); + textures["M"] = newTex; + + // tex = SOIL_load_OGL_texture_from_memory( + // project_data, + // project_bytes, + // SOIL_LOAD_AUTO, + // SOIL_CREATE_NEW_ID, + // SOIL_FLAG_POWER_OF_TWO + // | SOIL_FLAG_MULTIPLY_ALPHA + // ,&width,&height); + + // newTex = new Texture("project", tex, GL_TEXTURE_2D, width, height, true); + // newTex->getSampler(GL_CLAMP_TO_EDGE, GL_LINEAR); + // textures["project"] = newTex; + + tex = SOIL_load_OGL_texture_from_memory( + headphones_data, + headphones_bytes, + SOIL_LOAD_AUTO, + SOIL_CREATE_NEW_ID, + SOIL_FLAG_POWER_OF_TWO + | SOIL_FLAG_MULTIPLY_ALPHA + ,&width,&height); + + newTex = new Texture("headphones", tex, GL_TEXTURE_2D, width, height, true); + newTex->getSampler(GL_CLAMP_TO_EDGE, GL_LINEAR); + textures["headphones"] = newTex; +} + +void TextureManager::Clear() +{ + for(std::map::const_iterator iter = textures.begin(); iter != textures.end(); iter++) + delete(iter->second); + + textures.clear(); +} + + +TextureSamplerDesc TextureManager::getTexture(const std::string fullName, const GLenum defaultWrap, const GLenum defaultFilter) +{ + std::string fileName = fullName; + std::string unqualifiedName; + GLint wrap_mode; + GLint filter_mode; + + // Remove extension + std::string lowerCaseFileName(fullName); + std::transform(lowerCaseFileName.begin(), lowerCaseFileName.end(), lowerCaseFileName.begin(), tolower); + for (size_t x = 0; x < extensions.size(); x++) + { + size_t found = lowerCaseFileName.find(extensions[x]); + if (found != std::string::npos) + { + fileName.replace(int(found), extensions[x].size(), ""); + break; + } + } + + ExtractTextureSettings(fileName, wrap_mode, filter_mode, unqualifiedName); + if (textures.find(unqualifiedName) == textures.end()) + { + return TextureSamplerDesc(NULL, NULL); + } + + if (fileName == unqualifiedName) { + // Warp and filter mode not specified in sampler name + // applying default + wrap_mode = defaultWrap; + filter_mode = defaultFilter; + } + + Texture * texture = textures[unqualifiedName]; + Sampler * sampler = texture->getSampler(wrap_mode, filter_mode); + + return TextureSamplerDesc(texture, sampler); +} + + +TextureSamplerDesc TextureManager::tryLoadingTexture(const std::string name) +{ + TextureSamplerDesc texDesc; + GLint wrap_mode; + GLint filter_mode; + std::string unqualifiedName; + + ExtractTextureSettings(name, wrap_mode, filter_mode, unqualifiedName); + + for (size_t x = 0; x < extensions.size(); x++) + { + std::string filename = unqualifiedName + extensions[x]; + std::string fullURL = presetsURL + PATH_SEPARATOR + filename; + + texDesc = loadTexture(name, fullURL); + + if (texDesc.first != NULL) + { + break; + } + } + + return texDesc; +} + +TextureSamplerDesc TextureManager::loadTexture(const std::string name, const std::string fileName) +{ + int width, height; + + unsigned int tex = SOIL_load_OGL_texture( + fileName.c_str(), + SOIL_LOAD_AUTO, + SOIL_CREATE_NEW_ID, + SOIL_FLAG_MULTIPLY_ALPHA + ,&width,&height); + + if (tex == 0) + { + return TextureSamplerDesc(NULL, NULL); + } + + GLint wrap_mode; + GLint filter_mode; + std::string unqualifiedName; + + ExtractTextureSettings(name, wrap_mode, filter_mode, unqualifiedName); + Texture * newTexture = new Texture(unqualifiedName, tex, GL_TEXTURE_2D, width, height, true); + Sampler * sampler = newTexture->getSampler(wrap_mode, filter_mode); + + if (textures.find(name) != textures.end()) { + delete textures[name]; + } + + textures[name] = newTexture; + + return TextureSamplerDesc(newTexture, sampler); +} + + +void TextureManager::loadTextureDir(const std::string &dirname) +{ + DIR * m_dir; + + // Allocate a new a stream given the current directory name + if ((m_dir = opendir(dirname.c_str())) == NULL) + { +// std::cout<<"No Textures Loaded from "<d_name); + + if (filename.length() > 0 && filename[0] == '.') + continue; + + std::string lowerCaseFileName(filename); + std::transform(lowerCaseFileName.begin(), lowerCaseFileName.end(), lowerCaseFileName.begin(), tolower); + + // Remove extension + for (size_t x = 0; x < extensions.size(); x++) + { + size_t found = lowerCaseFileName.find(extensions[x]); + if (found != std::string::npos) + { + std::string name = filename; + name.replace(int(found), extensions[x].size(), ""); + + // Create full path name + std::string fullname = dirname + PATH_SEPARATOR + filename; + loadTexture(name, fullname); + + break; + } + } + } + + if (m_dir) + { + closedir(m_dir); + m_dir = 0; + } +} + +TextureSamplerDesc TextureManager::getRandomTextureName(std::string random_id) +{ + GLint wrap_mode; + GLint filter_mode; + std::string unqualifiedName; + + ExtractTextureSettings(random_id, wrap_mode, filter_mode, unqualifiedName); + + std::vector user_texture_names; + size_t separator = unqualifiedName.find("_"); + std::string textureNameFilter; + + if (separator != std::string::npos) + { + textureNameFilter = unqualifiedName.substr(separator+1); + unqualifiedName = unqualifiedName.substr(0, separator); + } + + for(std::map::const_iterator iter = textures.begin(); iter != textures.end(); iter++) + { + if (iter->second->userTexture) { + if (textureNameFilter.empty() || iter->first.find(textureNameFilter) == 0) + user_texture_names.push_back(iter->first); + } + } + + if (user_texture_names.size() > 0) + { + std::string random_name = user_texture_names[rand() % user_texture_names.size()]; + random_textures.push_back(random_id); + + Texture * randomTexture = new Texture(*textures[random_name]); + Sampler * sampler = randomTexture->getSampler(wrap_mode, filter_mode); + randomTexture->name = unqualifiedName; + textures[random_id] = randomTexture; + + return TextureSamplerDesc(randomTexture, sampler); + } + + return TextureSamplerDesc(NULL, NULL); +} + +void TextureManager::clearRandomTextures() +{ + for (std::vector::iterator pos = random_textures.begin(); pos != random_textures.end(); ++pos) + { + textures.erase(*pos); + } + random_textures.clear(); + +} + +void TextureManager::ExtractTextureSettings(const std::string qualifiedName, GLint & _wrap_mode, GLint & _filter_mode, std::string & name) +{ + std::string lowerQualifiedName(qualifiedName); + std::transform(lowerQualifiedName.begin(), lowerQualifiedName.end(), lowerQualifiedName.begin(), tolower); + + _wrap_mode = GL_REPEAT; + _filter_mode = GL_LINEAR; + + if (lowerQualifiedName.substr(0,3) == "fc_") + { + name = qualifiedName.substr(3); + _filter_mode = GL_LINEAR; + _wrap_mode = GL_CLAMP_TO_EDGE; + } + else if (lowerQualifiedName.substr(0,3) == "fw_") + { + name = qualifiedName.substr(3); + _filter_mode = GL_LINEAR; + _wrap_mode = GL_REPEAT; + } + else if (lowerQualifiedName.substr(0,3) == "pc_") + { + name = qualifiedName.substr(3); + _filter_mode = GL_NEAREST; + _wrap_mode = GL_CLAMP_TO_EDGE; + } + else if (lowerQualifiedName.substr(0,3) == "pw_") + { + name = qualifiedName.substr(3); + _filter_mode = GL_NEAREST; + _wrap_mode = GL_REPEAT; + } + else + { + name = qualifiedName; + } +} + +const Texture * TextureManager::getMainTexture() const { + return mainTexture; +} + +const std::vector & TextureManager::getBlurTextures() const { + return blurTextures; +} + + +void TextureManager::updateMainTexture() +{ + glBindTexture(GL_TEXTURE_2D, mainTexture->texID); + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, mainTexture->width, mainTexture->height); + glBindTexture(GL_TEXTURE_2D, 0); +} diff --git a/src/libprojectM/Renderer/TextureManager.hpp b/src/libprojectM/Renderer/TextureManager.hpp new file mode 100644 index 0000000000..10b68e6766 --- /dev/null +++ b/src/libprojectM/Renderer/TextureManager.hpp @@ -0,0 +1,43 @@ +#ifndef TextureManager_HPP +#define TextureManager_HPP + +#include +#include +#include +#include +#include "projectM-opengl.h" +#include "Texture.hpp" + + +class TextureManager +{ + std::string presetsURL; + std::map textures; + std::vector blurTextures; + Texture * mainTexture; + + std::vector random_textures; + void loadTextureDir(const std::string & dirname); + TextureSamplerDesc loadTexture(const std::string name, const std::string imageUrl); + void ExtractTextureSettings(const std::string qualifiedName, GLint &_wrap_mode, GLint &_filter_mode, std::string & name); + std::vector extensions; + +public: + TextureManager(std::string _presetsURL, const int texsizeX, const int texsizeY, + std::string datadir = ""); + ~TextureManager(); + + void Clear(); + void Preload(); + TextureSamplerDesc tryLoadingTexture(const std::string name); + TextureSamplerDesc getTexture(const std::string fullName, const GLenum defaultWrap, const GLenum defaultFilter); + const Texture * getMainTexture() const; + const std::vector & getBlurTextures() const; + + void updateMainTexture(); + + TextureSamplerDesc getRandomTextureName(std::string rand_name); + void clearRandomTextures(); +}; + +#endif diff --git a/src/libprojectM/Renderer/Transformation.hpp b/src/libprojectM/Renderer/Transformation.hpp new file mode 100644 index 0000000000..33940b7140 --- /dev/null +++ b/src/libprojectM/Renderer/Transformation.hpp @@ -0,0 +1,66 @@ +#ifndef Transformation_HPP +#define Transformation_HPP + +#include "PerPixelMesh.hpp" +#include + + +class Transforms +{ +public: + + inline static void Zoom(PixelPoint &p, const PerPixelContext &context, float zoom, float zoomExponent) + { + float fZoom2 = powf( zoom, powf( zoomExponent, context.rad*2.0f - 1.0f)); + float fZoom2Inv = 1.0f/fZoom2; + p.x -= 0.5; + p.y -= 0.5; + p.x *= fZoom2Inv; + p.y *= fZoom2Inv; + p.x += 0.5; + p.y += 0.5; + } + + inline static void Transform(PixelPoint &p, const PerPixelContext &context, float dx, float dy) + { + p.x -= dx; + p.y -= dy; + } + + inline static void Scale(PixelPoint &p, const PerPixelContext &context, float sy, float sx, float cx, float cy) + { + p.x = (p.x - cx)/sx + cx; + p.y = (p.y - cy)/sy + cy; + } + + inline static void Rotate(PixelPoint &p, const PerPixelContext &context, float angle, float cx, float cy) + { + float u2 = p.x - cx; + float v2 = p.y - cy; + + float cos_rot = cosf(angle); + float sin_rot = sinf(angle); + + p.x = u2*cos_rot - v2*sin_rot + cx; + p.y = u2*sin_rot + v2*cos_rot + cy; + } + + inline static void Warp(PixelPoint &p, const PerPixelContext &context, float time, float speed, float scale, float warp) + { + float fWarpTime = time * speed; + float fWarpScaleInv = 1.0f / scale; + float f[4]; + f[0] = 11.68f + 4.0f*cosf(fWarpTime*1.413f + 10); + f[1] = 8.77f + 3.0f*cosf(fWarpTime*1.113f + 7); + f[2] = 10.54f + 3.0f*cosf(fWarpTime*1.233f + 3); + f[3] = 11.49f + 4.0f*cosf(fWarpTime*0.933f + 5); + + p.x += warp*0.0035f*sinf(fWarpTime*0.333f + fWarpScaleInv*(context.x*f[0] - context.y*f[3])); + p.y += warp*0.0035f*cosf(fWarpTime*0.375f - fWarpScaleInv*(context.x*f[2] + context.y*f[1])); + p.x += warp*0.0035f*cosf(fWarpTime*0.753f - fWarpScaleInv*(context.x*f[1] - context.y*f[2])); + p.y += warp*0.0035f*sinf(fWarpTime*0.825f + fWarpScaleInv*(context.x*f[0] + context.y*f[3])); + } + +}; + +#endif diff --git a/src/libprojectM/Renderer/VideoEcho.cpp b/src/libprojectM/Renderer/VideoEcho.cpp new file mode 100644 index 0000000000..fa165aa46e --- /dev/null +++ b/src/libprojectM/Renderer/VideoEcho.cpp @@ -0,0 +1,106 @@ +/* + * VideoEcho.cpp + * + * Created on: Jun 29, 2008 + * Author: pete + */ + +#include "VideoEcho.hpp" +#include "ShaderEngine.hpp" +#include + +VideoEcho::VideoEcho(): a(0), zoom(1), orientation(Normal) +{ + Init(); +} + +VideoEcho::~VideoEcho() +{ +} + +void VideoEcho::InitVertexAttrib() { + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)0); // Positions + + glDisableVertexAttribArray(1); + + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)(sizeof(float)*2)); // Textures +} + +void VideoEcho::Draw(RenderContext &context) +{ + int flipx=1, flipy=1; + switch (orientation) + { + case Normal: flipx=1;flipy=1;break; + case FlipX: flipx=-1;flipy=1;break; + case FlipY: flipx=1;flipy=-1;break; + case FlipXY: flipx=-1;flipy=-1;break; + default: flipx=1;flipy=1; break; + } + + float buffer_data[8][2] = { + {-0.5f*flipx, -0.5f*flipy}, + {0.0, 1.0}, + + {-0.5f*flipx, 0.5f*flipy}, + {0.0, 0.0}, + + { 0.5f*flipx, 0.5f*flipy}, + {1.0, 0.0}, + + { 0.5f*flipx, -0.5f*flipy}, + {1.0, 1.0} + }; + + glm::mat4 mat_first_translation = glm::mat4(1.0); + mat_first_translation[3][0] = -0.5; + mat_first_translation[3][1] = -0.5; + + glm::mat4 mat_scale = glm::mat4(1.0); + mat_scale[0][0] = 1.0/zoom; + mat_scale[1][1] = 1.0/zoom; + + glm::mat4 mat_second_translation = glm::mat4(1.0); + mat_second_translation[3][0] = 0.5; + mat_second_translation[3][1] = 0.5; + + for (int i = 1; i < 8; i+=2) { + glm::vec4 texture = glm::vec4(buffer_data[i][0], buffer_data[i][1], 0, 1); + texture = mat_first_translation * texture; + texture = mat_scale * texture; + texture = mat_second_translation * texture; + + buffer_data[i][0] = texture[0]; + buffer_data[i][1] = texture[1]; + } + + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 16, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 16, buffer_data, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glUseProgram(context.programID_v2f_c4f_t2f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_t2f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + glUniform1i(context.uniform_v2f_c4f_t2f_frag_texture_sampler, 0); + + + //Now Blend the Video Echo + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, a * masterAlpha); + + glBindVertexArray(m_vaoID); + + //draw video echo + glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + + glBindVertexArray(0); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} diff --git a/src/libprojectM/Renderer/VideoEcho.hpp b/src/libprojectM/Renderer/VideoEcho.hpp new file mode 100644 index 0000000000..9e74be7f6e --- /dev/null +++ b/src/libprojectM/Renderer/VideoEcho.hpp @@ -0,0 +1,34 @@ +/* + * VideoEcho.hpp + * + * Created on: Jun 29, 2008 + * Author: pete + */ + +#ifndef VIDEOECHO_HPP_ +#define VIDEOECHO_HPP_ + +#include "projectM-opengl.h" +#include "Renderable.hpp" +#include "Common.hpp" + +enum Orientation +{ + Normal=0, FlipX, FlipY, FlipXY +}; + +class VideoEcho: public RenderItem +{ +public: + VideoEcho(); + virtual ~VideoEcho(); + + float a; + float zoom; + Orientation orientation; + + void InitVertexAttrib(); + void Draw(RenderContext &context); +}; + +#endif /* VIDEOECHO_HPP_ */ diff --git a/src/libprojectM/Renderer/Waveform.cpp b/src/libprojectM/Renderer/Waveform.cpp new file mode 100644 index 0000000000..15154557b4 --- /dev/null +++ b/src/libprojectM/Renderer/Waveform.cpp @@ -0,0 +1,127 @@ +/* + * Waveform.hpp + * + * Created on: Jun 25, 2008 + * Author: pete + */ + +#include "projectM-opengl.h" +#include "Waveform.hpp" +#include +#include +#include "BeatDetect.hpp" +#include "ShaderEngine.hpp" +#include +#ifdef WIN32 +#include +#endif /** WIN32 */ + +typedef float floatPair[2]; + +Waveform::Waveform(int _samples) +: RenderItem(),samples(_samples), points(_samples), pointContext(_samples) +{ + + spectrum = false; /* spectrum data or pcm data */ + dots = false; /* draw wave as dots or lines */ + thick = false; /* draw thicker lines */ + additive = false; /* add color values together */ + + scaling= 1; /* scale factor of waveform */ + smoothing = 0; /* smooth factor of waveform */ + sep = 0; + + Init(); +} + +void Waveform::InitVertexAttrib() { + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(ColoredPoint), (void*)0); // points + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, sizeof(ColoredPoint), (void*)(sizeof(float)*2)); // colors +} + +void Waveform::Draw(RenderContext &context) + { + // scale PCM data based on vol_history to make it more or less independent of the application output volume + const float vol_scale = context.beatDetect->getPCMScale(); + + float *value1 = new float[samples]; + float *value2 = new float[samples]; + context.beatDetect->pcm->getPCM( value1, samples, 0, spectrum, smoothing, 0); + context.beatDetect->pcm->getPCM( value2, samples, 1, spectrum, smoothing, 0); + + float mult= scaling*( spectrum ? 0.015f :1.0f); +#ifdef WIN32 + std::transform(&value1[0], &value1[samples], &value1[0], bind2nd(std::multiplies(), mult)); + std::transform(&value2[0], &value2[samples], &value2[0], bind2nd(std::multiplies(), mult)); +#else + std::transform(&value1[0], &value1[samples], &value1[0], std::bind2nd(std::multiplies(), mult)); + std::transform(&value2[0], &value2[samples], &value2[0], std::bind2nd(std::multiplies(), mult)); +#endif /** WIN32 */ + + WaveformContext waveContext(samples, context.beatDetect); + + for(int x=0;x< samples;x++) + { + waveContext.sample = x/(float)(samples - 1); + waveContext.sample_int = x; + waveContext.left = vol_scale * value1[x]; + waveContext.right = vol_scale * value2[x]; + + points[x] = PerPoint(points[x],waveContext); + } + + std::vector points_transf = points; + + for (std::vector::iterator iter = points_transf.begin(); iter != points_transf.end(); ++iter) { + (*iter).y = -( (*iter).y-1); + (*iter).a *= masterAlpha; + } + + glBindBuffer(GL_ARRAY_BUFFER, m_vboID); + + glBufferData(GL_ARRAY_BUFFER, sizeof(ColoredPoint) * samples, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(ColoredPoint) * samples, &points_transf[0], GL_DYNAMIC_DRAW); + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + glUseProgram(context.programID_v2f_c4f); + + glUniformMatrix4fv(context.uniform_v2f_c4f_vertex_tranformation, 1, GL_FALSE, glm::value_ptr(context.mat_ortho)); + + if (additive) glBlendFunc(GL_SRC_ALPHA, GL_ONE); + else glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + if (thick) + { + glLineWidth(context.texsize <= 512 ? 2 : 2*context.texsize/512); + +#ifndef GL_TRANSITION + glPointSize(context.texsize <= 512 ? 2 : 2*context.texsize/512); +#endif + glUniform1f(context.uniform_v2f_c4f_vertex_point_size, context.texsize <= 512 ? 2 : 2*context.texsize/512); + } + else + { +#ifndef GL_TRANSITION + glPointSize(context.texsize <= 512 ? 1 : context.texsize/512); +#endif + glUniform1f(context.uniform_v2f_c4f_vertex_point_size, context.texsize <= 512 ? 1 : context.texsize/512); + } + + glBindVertexArray(m_vaoID); + + if (dots) glDrawArrays(GL_POINTS,0,samples); + else glDrawArrays(GL_LINE_STRIP,0,samples); + + glBindVertexArray(0); + + glLineWidth(context.texsize < 512 ? 1 : context.texsize/512); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + delete[] value1; + delete[] value2; + } diff --git a/src/libprojectM/Renderer/Waveform.hpp b/src/libprojectM/Renderer/Waveform.hpp new file mode 100644 index 0000000000..3bfca0db98 --- /dev/null +++ b/src/libprojectM/Renderer/Waveform.hpp @@ -0,0 +1,65 @@ +/* + * Waveform.hpp + * + * Created on: Jun 25, 2008 + * Author: pete + */ + +#ifndef WAVEFORM_HPP_ +#define WAVEFORM_HPP_ + +#include "Renderable.hpp" +#include + +class ColoredPoint +{ +public: + float x; + float y; + float r; + float g; + float b; + float a; + + ColoredPoint():x(0.5),y(0.5),r(1),g(1),b(1),a(1){} +}; + +class WaveformContext +{ +public: + float sample; + int samples; + int sample_int; + float left; + float right; + BeatDetect *music; + + WaveformContext(int _samples, BeatDetect *_music):samples(_samples),music(_music){} +}; + + +class Waveform : public RenderItem +{ +public: + + int samples; /* number of samples associated with this wave form. Usually powers of 2 */ + bool spectrum; /* spectrum data or pcm data */ + bool dots; /* draw wave as dots or lines */ + bool thick; /* draw thicker lines */ + bool additive; /* add color values together */ + + float scaling; /* scale factor of waveform */ + float smoothing; /* smooth factor of waveform */ + int sep; /* no idea what this is yet... */ + + Waveform(int _samples); + void InitVertexAttrib(); + void Draw(RenderContext &context); + +private: + virtual ColoredPoint PerPoint(ColoredPoint p, const WaveformContext context)=0; + std::vector points; + std::vector pointContext; + +}; +#endif /* WAVEFORM_HPP_ */ diff --git a/src/libprojectM/Renderer/hlslparser/.gitignore b/src/libprojectM/Renderer/hlslparser/.gitignore new file mode 100644 index 0000000000..69b6369f54 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/.gitignore @@ -0,0 +1,17 @@ +*.user +*.ncb +*.suo +*.tlog +*.lastbuildstate +*.unsuccessfulbuild +*.ipch +*.resources +*.pdb +*.aps +*.bak +/Debug +/Release +*.log +*.sdf +*.opensdf +/build diff --git a/src/libprojectM/Renderer/hlslparser/.travis.yml b/src/libprojectM/Renderer/hlslparser/.travis.yml new file mode 100644 index 0000000000..1d0d181174 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/.travis.yml @@ -0,0 +1,7 @@ +os: + - linux + - osx +sudo: required +dist: trusty +language: cpp +script: make diff --git a/src/libprojectM/Renderer/hlslparser/LICENSE b/src/libprojectM/Renderer/hlslparser/LICENSE new file mode 100644 index 0000000000..7439620b25 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2014 Unknown Worlds Entertainment, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/libprojectM/Renderer/hlslparser/README.md b/src/libprojectM/Renderer/hlslparser/README.md new file mode 100644 index 0000000000..391d2f133e --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/README.md @@ -0,0 +1,54 @@ +HLSLParser +========== + +This is a fork of [Unknownworld's hlslparser](https://github.com/unknownworlds/hlslparser) adapted to our needs in [The Witness](http://the-witness.net). We currently use it to translate pseudo-HLSL shaders (using the legacy D3D9 syntax) to HLSL10 and Metal Shading Language (MSL). There's also a GLSL translator available that we do not use yet, but that is being maintained by community contributions. + +The HLSL parser has been extended with many HLSL10 features, but retaining the original HLSL C-based syntax. + +For example, the following functions in our HLSL dialect: + +```C +float tex2Dcmp(sampler2DShadow s, float3 texcoord_comparevalue); +float4 tex2DMSfetch(sampler2DMS s, int2 texcoord, int sample); +int2 tex2Dsize(sampler2D s); +``` + +Are equivalent to these methods in HLSL10: + +```C++ +float Texture2D::SampleCmp(SamplerComparisonState s, float2 texcoord, float comparevalue); +float4 Texture2DMS::Load(int2 texcoord, int sample); +void Texture2D::GetDimensions(out uint w, out uint h); +``` + + + +Here are the original release notes: + + +> HLSL Parser and GLSL code generator +> +> This is the code we used in Natural Selection 2 to convert HLSL shader code to +GLSL for use with OpenGL. The code is pulled from a larger codebase and has some +dependencies which have been replaced with stubs. These dependencies are all very +basic (array classes, memory allocators, etc.) so replacing them with our own +equivalent should be simple if you want to use this code. +> +> The parser is designed to work with HLSL code written in the legacy Direct3D 9 +style (e.g. D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY should be used with D3D11). +The parser works with cbuffers for uniforms, so in addition to generating GLSL, +there is a class provided for generating D3D9-compatible HLSL which doesn't +support cbuffers. The GLSL code requires version 3.1 for support of uniform blocks. +The parser is designed to catch all errors and generate "clean" GLSL which can +then be compiled without any errors. +> +> The HLSL parsing is done though a basic recursive descent parser coded by hand +rather than using a parser generator. We believe makes the code easier to +understand and work with. +> +> To get consistent results from Direct3D and OpenGL, our engine renders in OpenGL +"upside down". This is automatically added into the generated GLSL vertex shaders. +> +> Although this code was written specifically for our use, we hope that it may be +useful as an educational tool or a base for someone who wants to do something +similar. diff --git a/src/libprojectM/Renderer/hlslparser/hlslparser.sln b/src/libprojectM/Renderer/hlslparser/hlslparser.sln new file mode 100644 index 0000000000..55fce6cc69 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/hlslparser.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hlslparser", "hlslparser.vcxproj", "{FAA5AD82-3351-479F-A315-F287EBD0A816}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FAA5AD82-3351-479F-A315-F287EBD0A816}.Debug|Win32.ActiveCfg = Debug|Win32 + {FAA5AD82-3351-479F-A315-F287EBD0A816}.Debug|Win32.Build.0 = Debug|Win32 + {FAA5AD82-3351-479F-A315-F287EBD0A816}.Release|Win32.ActiveCfg = Release|Win32 + {FAA5AD82-3351-479F-A315-F287EBD0A816}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj b/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj new file mode 100644 index 0000000000..47154e3cba --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj @@ -0,0 +1,90 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {FAA5AD82-3351-479F-A315-F287EBD0A816} + hlslparser + + + + Application + true + v120 + MultiByte + + + Application + false + v120 + true + MultiByte + + + + + + + + + + + + + + + Level3 + Disabled + true + + + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj.filters b/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj.filters new file mode 100644 index 0000000000..0109126f30 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/hlslparser.vcxproj.filters @@ -0,0 +1,72 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/src/libprojectM/Renderer/hlslparser/premake4.lua b/src/libprojectM/Renderer/hlslparser/premake4.lua new file mode 100644 index 0000000000..b51682c90e --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/premake4.lua @@ -0,0 +1,18 @@ +solution "HLSLParser" + location "build" + configurations { "Debug", "Release" } + + project "HLSLParser" + kind "ConsoleApp" + language "C++" + files { "src/**.h", "src/**.cpp" } + + configuration "Debug" + targetdir "bin/debug" + defines { "DEBUG" } + flags { "Symbols" } + + configuration "Release" + targetdir "bin/release" + defines { "NDEBUG" } + flags { "Optimize" } \ No newline at end of file diff --git a/src/libprojectM/Renderer/hlslparser/src/CodeWriter.cpp b/src/libprojectM/Renderer/hlslparser/src/CodeWriter.cpp new file mode 100755 index 0000000000..a612dc0515 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/CodeWriter.cpp @@ -0,0 +1,150 @@ +//============================================================================= +// +// Render/CodeWriter.cpp +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +//#include "Engine/Assert.h" +//#include "Engine/String.h" +#include "Engine.h" + +#include "CodeWriter.h" + +#include + +namespace M4 +{ + +static const int _maxLineLength = 2048; + +CodeWriter::CodeWriter(bool writeFileNames) +{ + m_currentLine = 1; + m_currentFileName = NULL; + m_spacesPerIndent = 4; + m_writeLines = false; + m_writeFileNames = writeFileNames; +} + +void CodeWriter::BeginLine(int indent, const char* fileName, int lineNumber) +{ + if (m_writeLines) + { + bool outputLine = false; + bool outputFile = false; + + // Output a line number pragma if necessary. + if (fileName != NULL && m_currentFileName != fileName) + { + m_currentFileName = fileName; + fileName = m_currentFileName; + outputFile = true; + } + if (lineNumber != -1 && m_currentLine != lineNumber) + { + m_currentLine = lineNumber; + outputLine = true; + } + if (outputLine || outputFile) + { + char buffer[256]; + String_Printf(buffer, sizeof(buffer), "#line %d", lineNumber); + m_buffer += buffer; + if (outputFile && m_writeFileNames) + { + m_buffer += " \""; + m_buffer += fileName; + m_buffer += "\"\n\n"; + } + else + { + m_buffer += "\n\n"; + } + } + } + + // Handle the indentation. + for (int i = 0; i < indent * m_spacesPerIndent; ++i) + { + m_buffer += " "; + } +} + +void CodeWriter::EndLine(const char* text) +{ + if (text != NULL) + { + m_buffer += text; + } + m_buffer += "\n"; + ++m_currentLine; +} + +void CodeWriter::Write(const char* format, ...) +{ + va_list args; + va_start(args, format); + + char buffer[_maxLineLength]; + String_PrintfArgList(buffer, sizeof(buffer), format, args); + + m_buffer += buffer; + + va_end(args); +} + +void CodeWriter::WriteLine(int indent, const char* format, ...) +{ + va_list args; + va_start(args, format); + + char buffer[_maxLineLength]; + + int result = String_PrintfArgList(buffer, sizeof(buffer), format, args); + ASSERT(result != -1); + (void) result; + + for (int i = 0; i < indent * m_spacesPerIndent; ++i) + { + m_buffer += " "; + } + m_buffer += buffer; + + EndLine(); + + va_end(args); +} + +void CodeWriter::WriteLineTagged(int indent, const char* fileName, int lineNumber, const char* format, ...) +{ + va_list args; + va_start(args, format); + + BeginLine(indent, fileName, lineNumber); + + char buffer[_maxLineLength]; + int result = String_PrintfArgList(buffer, sizeof(buffer), format, args); + ASSERT(result != -1); + (void) result; + + m_buffer += buffer; + + EndLine(); + + va_end(args); +} + +const char* CodeWriter::GetResult() const +{ + return m_buffer.c_str(); +} + +void CodeWriter::Reset() +{ + m_buffer.clear(); +} + +} diff --git a/src/libprojectM/Renderer/hlslparser/src/CodeWriter.h b/src/libprojectM/Renderer/hlslparser/src/CodeWriter.h new file mode 100755 index 0000000000..8a4e1473d6 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/CodeWriter.h @@ -0,0 +1,60 @@ +//============================================================================= +// +// Render/CodeWriter.h +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +#ifndef CODE_WRITER_H +#define CODE_WRITER_H + +#include "Engine.h" +#include + +#if defined(__GNUC__) +#define M4_PRINTF_ATTR(string_index, first_to_check) __attribute__((format(printf, string_index, first_to_check))) +#else +#define M4_PRINTF_ATTR(string_index, first_to_check) +#endif + +namespace M4 +{ + +class Allocator; + +/** + * This class is used for outputting code. It handles indentation and inserting #line markers + * to match the desired output line numbers. + */ +class CodeWriter +{ + +public: + CodeWriter(bool writeFileNames = true); + + void BeginLine(int indent, const char* fileName = NULL, int lineNumber = -1); + M4_PRINTF_ATTR(2, 3) void Write(const char* format, ...); + void EndLine(const char* text = NULL); + + M4_PRINTF_ATTR(3, 4) void WriteLine(int indent, const char* format, ...); + M4_PRINTF_ATTR(5, 6) void WriteLineTagged(int indent, const char* fileName, int lineNumber, const char* format, ...); + + const char* GetResult() const; + void Reset(); + +private: + + std::string m_buffer; + int m_currentLine; + const char* m_currentFileName; + int m_spacesPerIndent; + bool m_writeLines; + bool m_writeFileNames; + +}; + +} + +#endif \ No newline at end of file diff --git a/src/libprojectM/Renderer/hlslparser/src/Engine.cpp b/src/libprojectM/Renderer/hlslparser/src/Engine.cpp new file mode 100755 index 0000000000..a7e4f0edde --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/Engine.cpp @@ -0,0 +1,185 @@ + +#include "Engine.h" + +#include // vsnprintf +#include // strcmp, strcasecmp +#include // strtod, strtol + + +namespace M4 { + +// Engine/String.cpp + +int String_PrintfArgList(char * buffer, int size, const char * format, va_list args) { + + va_list tmp; + va_copy(tmp, args); + +#if _MSC_VER >= 1400 + int n = vsnprintf_s(buffer, size, _TRUNCATE, format, tmp); +#else + int n = vsnprintf(buffer, size, format, tmp); +#endif + + va_end(tmp); + + if (n < 0 || n > size) return -1; + return n; +} + +int String_Printf(char * buffer, int size, const char * format, ...) { + + va_list args; + va_start(args, format); + + int n = String_PrintfArgList(buffer, size, format, args); + + va_end(args); + + return n; +} + +int String_FormatFloat(char * buffer, int size, float value) { + return String_Printf(buffer, size, "%f", value); +} + +bool String_Equal(const char * a, const char * b) { + if (a == b) return true; + if (a == NULL || b == NULL) return false; + return strcmp(a, b) == 0; +} + +bool String_EqualNoCase(const char * a, const char * b) { + if (a == b) return true; + if (a == NULL || b == NULL) return false; +#if _MSC_VER + return _stricmp(a, b) == 0; +#else + return strcasecmp(a, b) == 0; +#endif +} + +double String_ToDouble(const char * str, char ** endptr) { + return strtod(str, endptr); +} + +int String_ToInteger(const char * str, char ** endptr) { + return strtol(str, endptr, 10); +} + +//int String_ToIntegerHex(const char * str, char ** endptr) { +// return strtol(str, endptr, 16); +//} + + + +// Engine/Log.cpp + +void Log_Error(const char * format, ...) { + va_list args; + va_start(args, format); + Log_ErrorArgList(format, args); + va_end(args); +} + +void Log_ErrorArgList(const char * format, va_list args) { +#if 1 // @@ Don't we need to do this? + va_list tmp; + va_copy(tmp, args); + vprintf( format, args ); + va_end(tmp); +#else + vprintf( format, args ); +#endif +} + + +// Engine/StringPool.cpp + +StringPool::StringPool(Allocator * allocator) : stringArray(allocator) { +} +StringPool::~StringPool() { + for (int i = 0; i < stringArray.GetSize(); i++) { + free((void *)stringArray[i]); + stringArray[i] = NULL; + } +} + +const char * StringPool::AddString(const char * string) { + for (int i = 0; i < stringArray.GetSize(); i++) { + if (String_Equal(stringArray[i], string)) return stringArray[i]; + } +#if _MSC_VER + const char * dup = _strdup(string); +#else + const char * dup = strdup(string); +#endif + stringArray.PushBack(dup); + return dup; +} + +// @@ From mprintf.cpp +static char *mprintf_valist(int size, const char *fmt, va_list args) { + ASSERT(size > 0); + char *res = NULL; + va_list tmp; + + while (1) { + res = new char[size]; + if (!res) return NULL; + + va_copy(tmp, args); + int len = vsnprintf(res, size, fmt, tmp); + va_end(tmp); + + if ((len >= 0) && (size >= len + 1)) { + break; + } + + delete [] res; + + if (len > -1 ) { + size = len + 1; + } + else { + size *= 2; + } + } + + return res; +} + +const char * StringPool::AddStringFormatList(const char * format, va_list args) { + va_list tmp; + va_copy(tmp, args); + const char * string = mprintf_valist(256, format, tmp); + va_end(tmp); + + for (int i = 0; i < stringArray.GetSize(); i++) { + if (String_Equal(stringArray[i], string)) { + delete [] string; + return stringArray[i]; + } + } + + stringArray.PushBack(string); + return string; +} + +const char * StringPool::AddStringFormat(const char * format, ...) { + va_list args; + va_start(args, format); + const char * string = AddStringFormatList(format, args); + va_end(args); + + return string; +} + +bool StringPool::GetContainsString(const char * string) const { + for (int i = 0; i < stringArray.GetSize(); i++) { + if (String_Equal(stringArray[i], string)) return true; + } + return false; +} + +} // M4 namespace diff --git a/src/libprojectM/Renderer/hlslparser/src/Engine.h b/src/libprojectM/Renderer/hlslparser/src/Engine.h new file mode 100755 index 0000000000..d8d82bac19 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/Engine.h @@ -0,0 +1,194 @@ +#ifndef ENGINE_H +#define ENGINE_H + +#if _MSC_VER +#define _CRT_SECURE_NO_WARNINGS 1 +#endif + +#include // va_list, vsnprintf +#include // malloc +#include // for placement new + +#ifndef NULL +#define NULL 0 +#endif + +#ifndef va_copy +#define va_copy(a, b) (a) = (b) +#endif + +// Engine/Assert.h +#include + +#define ASSERT(...) // (assert(__VA_ARGS__)) + +namespace M4 { + + +// Engine/Allocator.h + +class Allocator { +public: + template T * New() { + return (T *)malloc(sizeof(T)); + } + template T * New(size_t count) { + return (T *)malloc(sizeof(T) * count); + } + template void Delete(T * ptr) { + free((void *)ptr); + } + template T * Realloc(T * ptr, size_t count) { + return (T *)realloc(ptr, sizeof(T) * count); + } +}; + + +// Engine/String.h + +int String_Printf(char * buffer, int size, const char * format, ...); +int String_PrintfArgList(char * buffer, int size, const char * format, va_list args); +int String_FormatFloat(char * buffer, int size, float value); +bool String_Equal(const char * a, const char * b); +bool String_EqualNoCase(const char * a, const char * b); +double String_ToDouble(const char * str, char ** end); +int String_ToInteger(const char * str, char ** end); + + +// Engine/Log.h + +void Log_Error(const char * format, ...); +void Log_ErrorArgList(const char * format, va_list args); + + +// Engine/Array.h + +template +void ConstructRange(T * buffer, int new_size, int old_size) { + for (int i = old_size; i < new_size; i++) { + new(buffer+i) T; // placement new + } +} + +template +void ConstructRange(T * buffer, int new_size, int old_size, const T & val) { + for (int i = old_size; i < new_size; i++) { + new(buffer+i) T(val); // placement new + } +} + +template +void DestroyRange(T * buffer, int new_size, int old_size) { + for (int i = new_size; i < old_size; i++) { + (buffer+i)->~T(); // Explicit call to the destructor + } +} + + +template +class Array { +public: + Array(Allocator * _allocator) : allocator(_allocator), buffer(NULL), size(0), capacity(0) {} + + void PushBack(const T & val) { + ASSERT(&val < buffer || &val >= buffer+size); + + int old_size = size; + int new_size = size + 1; + + SetSize(new_size); + + ConstructRange(buffer, new_size, old_size, val); + } + T & PushBackNew() { + int old_size = size; + int new_size = size + 1; + + SetSize(new_size); + + ConstructRange(buffer, new_size, old_size); + + return buffer[old_size]; + } + void Resize(int new_size) { + int old_size = size; + + DestroyRange(buffer, new_size, old_size); + + SetSize(new_size); + + ConstructRange(buffer, new_size, old_size); + } + + int GetSize() const { return size; } + const T & operator[](int i) const { ASSERT(i < size); return buffer[i]; } + T & operator[](int i) { ASSERT(i < size); return buffer[i]; } + +private: + + // Change array size. + void SetSize(int new_size) { + size = new_size; + + if (new_size > capacity) { + int new_buffer_size; + if (capacity == 0) { + // first allocation is exact + new_buffer_size = new_size; + } + else { + // following allocations grow array by 25% + new_buffer_size = new_size + (new_size >> 2); + } + + SetCapacity(new_buffer_size); + } + } + + // Change array capacity. + void SetCapacity(int new_capacity) { + ASSERT(new_capacity >= size); + + if (new_capacity == 0) { + // free the buffer. + if (buffer != NULL) { + allocator->Delete(buffer); + buffer = NULL; + } + } + else { + // realloc the buffer + buffer = allocator->Realloc(buffer, new_capacity); + } + + capacity = new_capacity; + } + + +private: + Allocator * allocator; // @@ Do we really have to keep a pointer to this? + T * buffer; + int size; + int capacity; +}; + + +// Engine/StringPool.h + +// @@ Implement this with a hash table! +struct StringPool { + StringPool(Allocator * allocator); + ~StringPool(); + + const char * AddString(const char * string); + const char * AddStringFormat(const char * fmt, ...); + const char * AddStringFormatList(const char * fmt, va_list args); + bool GetContainsString(const char * string) const; + + Array stringArray; +}; + + +} // M4 namespace + +#endif // ENGINE_H diff --git a/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.cpp b/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.cpp new file mode 100755 index 0000000000..aa55b84347 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.cpp @@ -0,0 +1,2151 @@ +//============================================================================= +// +// Render/GLSLGenerator.cpp +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +#include "GLSLGenerator.h" +#include "HLSLParser.h" +#include "HLSLTree.h" + +//#include "Engine/String.h" +//#include "Engine/Log.h" +#include "Engine.h" + +#include +#include +#include +#include +#include + +namespace M4 +{ + +static const HLSLType kFloatType(HLSLBaseType_Float); +static const HLSLType kUintType(HLSLBaseType_Uint); +static const HLSLType kIntType(HLSLBaseType_Int); +static const HLSLType kBoolType(HLSLBaseType_Bool); + +// These are reserved words in GLSL that aren't reserved in HLSL. +const char* GLSLGenerator::s_reservedWord[] = + { + "output", + "input", + "mod", + "mix", + "fract", + "dFdx", + "dFdy", + "filter", + "main", + }; + +static const char* GetTypeName(const HLSLType& type) +{ + switch (type.baseType) + { + case HLSLBaseType_Void: return "void"; + case HLSLBaseType_Float: return "float"; + case HLSLBaseType_Float2: return "vec2"; + case HLSLBaseType_Float3: return "vec3"; + case HLSLBaseType_Float4: return "vec4"; + case HLSLBaseType_Float2x4: return "mat4x2"; + case HLSLBaseType_Float2x3: return "mat3x2"; + case HLSLBaseType_Float2x2: return "mat2"; + case HLSLBaseType_Float3x4: return "mat4x3"; + case HLSLBaseType_Float3x3: return "mat3"; + case HLSLBaseType_Float3x2: return "mat2x3"; + case HLSLBaseType_Float4x4: return "mat4"; + case HLSLBaseType_Float4x3: return "mat3x4"; + case HLSLBaseType_Float4x2: return "mat2x4"; + case HLSLBaseType_Bool: return "bool"; + case HLSLBaseType_Bool2: return "bvec2"; + case HLSLBaseType_Bool3: return "bvec3"; + case HLSLBaseType_Bool4: return "bvec4"; + case HLSLBaseType_Int: return "int"; + case HLSLBaseType_Int2: return "ivec2"; + case HLSLBaseType_Int3: return "ivec3"; + case HLSLBaseType_Int4: return "ivec4"; + case HLSLBaseType_Uint: return "uint"; + case HLSLBaseType_Uint2: return "uvec2"; + case HLSLBaseType_Uint3: return "uvec3"; + case HLSLBaseType_Uint4: return "uvec4"; + case HLSLBaseType_Texture: return "texture"; + case HLSLBaseType_Sampler: return "sampler"; + case HLSLBaseType_Sampler2D: return "sampler2D"; + case HLSLBaseType_Sampler3D: return "sampler3D"; + case HLSLBaseType_SamplerCube: return "samplerCube"; + case HLSLBaseType_Sampler2DMS: return "sampler2DMS"; + case HLSLBaseType_Sampler2DArray: return "sampler2DArray"; + case HLSLBaseType_UserDefined: return type.typeName; + default: + ASSERT(0); + return "?"; + } +} + +static bool GetCanImplicitCast(const HLSLType& srcType, const HLSLType& dstType) +{ + return srcType.baseType == dstType.baseType; +} + +static int GetFunctionArguments(HLSLFunctionCall* functionCall, HLSLExpression* expression[], int maxArguments) +{ + HLSLExpression* argument = functionCall->argument; + int numArguments = 0; + while (argument != NULL) + { + if (numArguments < maxArguments) + { + expression[numArguments] = argument; + } + argument = argument->nextExpression; + ++numArguments; + } + return numArguments; +} + +GLSLGenerator::GLSLGenerator() : + m_writer(/* writeFileNames= */ false) +{ + m_tree = NULL; + m_entryName = NULL; + m_target = Target_VertexShader; + m_version = Version_330; + m_versionLegacy = false; + m_inAttribPrefix = NULL; + m_outAttribPrefix = NULL; + m_error = false; + m_matrixRowFunction[0] = 0; + m_matrixCtorFunction[0] = 0; + m_matrixMulFunction[0] = 0; + m_clipFunction[0] = 0; + m_tex2DlodFunction[0] = 0; + m_tex2DbiasFunction[0] = 0; + m_tex3DlodFunction[0] = 0; + m_texCUBEbiasFunction[0] = 0; + m_texCUBElodFunction[ 0 ] = 0; + m_scalarSwizzle2Function[0] = 0; + m_scalarSwizzle3Function[0] = 0; + m_scalarSwizzle4Function[0] = 0; + m_sinCosFunction[0] = 0; + m_bvecTernary[ 0 ] = 0; + m_outputPosition = false; + m_outputTargets = 0; +} + +bool GLSLGenerator::Generate(HLSLTree* tree, Target target, Version version, const char* entryName, const Options& options) +{ + + m_tree = tree; + m_entryName = entryName; + m_target = target; + m_version = version; + m_versionLegacy = (version == Version_110 || version == Version_100_ES); + m_options = options; + + globalVarsAssignments.clear(); + + ChooseUniqueName("matrix_row", m_matrixRowFunction, sizeof(m_matrixRowFunction)); + ChooseUniqueName("matrix_ctor", m_matrixCtorFunction, sizeof(m_matrixCtorFunction)); + ChooseUniqueName("matrix_mul", m_matrixMulFunction, sizeof(m_matrixMulFunction)); + ChooseUniqueName("clip", m_clipFunction, sizeof(m_clipFunction)); + ChooseUniqueName("tex2Dlod", m_tex2DlodFunction, sizeof(m_tex2DlodFunction)); + ChooseUniqueName("tex2Dbias", m_tex2DbiasFunction, sizeof(m_tex2DbiasFunction)); + ChooseUniqueName("tex2Dgrad", m_tex2DgradFunction, sizeof(m_tex2DgradFunction)); + ChooseUniqueName("tex3Dlod", m_tex3DlodFunction, sizeof(m_tex3DlodFunction)); + ChooseUniqueName("texCUBEbias", m_texCUBEbiasFunction, sizeof(m_texCUBEbiasFunction)); + ChooseUniqueName( "texCUBElod", m_texCUBElodFunction, sizeof( m_texCUBElodFunction ) ); + + for (int i = 0; i < s_numReservedWords; ++i) + { + ChooseUniqueName( s_reservedWord[i], m_reservedWord[i], sizeof(m_reservedWord[i]) ); + } + + ChooseUniqueName("m_scalar_swizzle2", m_scalarSwizzle2Function, sizeof(m_scalarSwizzle2Function)); + ChooseUniqueName("m_scalar_swizzle3", m_scalarSwizzle3Function, sizeof(m_scalarSwizzle3Function)); + ChooseUniqueName("m_scalar_swizzle4", m_scalarSwizzle4Function, sizeof(m_scalarSwizzle4Function)); + + ChooseUniqueName("sincos", m_sinCosFunction, sizeof(m_sinCosFunction)); + + ChooseUniqueName( "bvecTernary", m_bvecTernary, sizeof( m_bvecTernary ) ); + + if (target == Target_VertexShader) + { + m_inAttribPrefix = ""; + m_outAttribPrefix = "frag_"; + } + else + { + m_inAttribPrefix = "frag_"; + m_outAttribPrefix = "rast_"; + } + + m_tree->ReplaceUniformsAssignments(); + + HLSLRoot* root = m_tree->GetRoot(); + HLSLStatement* statement = root->statement; + + // Find the entry point function. + HLSLFunction* entryFunction = FindFunction(root, m_entryName); + if (entryFunction == NULL) + { + Error("Entry point '%s' doesn't exist", m_entryName); + return false; + } + + if (m_version == Version_110) + { + m_writer.WriteLine(0, "#version 110"); + } + else if (m_version == Version_140) + { + m_writer.WriteLine(0, "#version 140"); + + // Pragmas for NVIDIA. + m_writer.WriteLine(0, "#pragma optionNV(fastmath on)"); + //m_writer.WriteLine(0, "#pragma optionNV(fastprecision on)"); + m_writer.WriteLine(0, "#pragma optionNV(ifcvt none)"); + m_writer.WriteLine(0, "#pragma optionNV(inline all)"); + m_writer.WriteLine(0, "#pragma optionNV(strict on)"); + m_writer.WriteLine(0, "#pragma optionNV(unroll all)"); + } + else if (m_version == Version_150) + { + m_writer.WriteLine(0, "#version 150"); + } + else if (m_version == Version_330) + { + m_writer.WriteLine(0, "#version 330"); + } + else if (m_version == Version_100_ES) + { + m_writer.WriteLine(0, "#version 100"); + m_writer.WriteLine(0, "precision highp float;"); + } + else if (m_version == Version_300_ES) + { + m_writer.WriteLine(0, "#version 300 es"); + m_writer.WriteLine(0, "precision highp float;"); + m_writer.WriteLine(0, "precision highp sampler3D;"); + } + else + { + Error("Unrecognized target version"); + return false; + } + + // Output the special function used to access rows in a matrix. + m_writer.WriteLine(0, "vec2 %s(mat2 m, int i) { return vec2( m[0][i], m[1][i] ); }", m_matrixRowFunction); + m_writer.WriteLine(0, "vec3 %s(mat3 m, int i) { return vec3( m[0][i], m[1][i], m[2][i] ); }", m_matrixRowFunction); + m_writer.WriteLine(0, "vec4 %s(mat4 m, int i) { return vec4( m[0][i], m[1][i], m[2][i], m[3][i] ); }", m_matrixRowFunction); + + // Output the special function used to do matrix cast for OpenGL 2.0 + if (m_version == Version_110) + { + m_writer.WriteLine(0, "mat3 %s(mat4 m) { return mat3(m[0][0], m[0][1], m[0][2], m[1][0], m[1][1], m[1][2], m[2][0], m[2][1], m[2][2]); }", m_matrixCtorFunction); + } + + // Output the special functions used for matrix multiplication lowering + // They make sure glsl-optimizer can fold expressions better + if (m_tree->NeedsFunction("mul") && (m_options.flags & Flag_LowerMatrixMultiplication)) + { + m_writer.WriteLine(0, "vec2 %s(mat2 m, vec2 v) { return m[0] * v.x + m[1] * v.y; }", m_matrixMulFunction); + m_writer.WriteLine(0, "vec2 %s(vec2 v, mat2 m) { return vec2(dot(m[0], v), dot(m[1], v)); }", m_matrixMulFunction); + m_writer.WriteLine(0, "vec3 %s(mat3 m, vec3 v) { return m[0] * v.x + m[1] * v.y + m[2] * v.z; }", m_matrixMulFunction); + m_writer.WriteLine(0, "vec3 %s(vec3 v, mat3 m) { return vec3(dot(m[0], v), dot(m[1], v), dot(m[2], v)); }", m_matrixMulFunction); + m_writer.WriteLine(0, "vec4 %s(mat4 m, vec4 v) { return m[0] * v.x + m[1] * v.y + m[2] * v.z + m[3] * v.w; }", m_matrixMulFunction); + m_writer.WriteLine(0, "vec4 %s(vec4 v, mat4 m) { return vec4(dot(m[0], v), dot(m[1], v), dot(m[2], v), dot(m[3], v)); }", m_matrixMulFunction); + } + + // Output the special function used to emulate HLSL clip. + if (m_tree->NeedsFunction("clip")) + { + const char* discard = m_target == Target_FragmentShader ? "discard" : ""; + m_writer.WriteLine(0, "void %s(float x) { if (x < 0.0) %s; }", m_clipFunction, discard); + m_writer.WriteLine(0, "void %s(vec2 x) { if (any(lessThan(x, vec2(0.0, 0.0)))) %s; }", m_clipFunction, discard); + m_writer.WriteLine(0, "void %s(vec3 x) { if (any(lessThan(x, vec3(0.0, 0.0, 0.0)))) %s; }", m_clipFunction, discard); + m_writer.WriteLine(0, "void %s(vec4 x) { if (any(lessThan(x, vec4(0.0, 0.0, 0.0, 0.0)))) %s; }", m_clipFunction, discard); + } + + // Output the special function used to emulate tex2Dlod. + if (m_tree->NeedsFunction("tex2Dlod")) + { + const char* function = "textureLod"; + + if (m_version == Version_110) + { + m_writer.WriteLine(0, "#extension GL_ARB_shader_texture_lod : require"); + function = "texture2DLod"; + } + else if (m_version == Version_100_ES) + { + m_writer.WriteLine(0, "#extension GL_EXT_shader_texture_lod : require"); + function = "texture2DLodEXT"; + } + + m_writer.WriteLine(0, "vec4 %s(sampler2D samp, vec4 texCoord) { return %s(samp, texCoord.xy, texCoord.w); }", m_tex2DlodFunction, function); + } + + // Output the special function used to emulate tex2Dgrad. + if (m_tree->NeedsFunction("tex2Dgrad")) + { + const char* function = "textureGrad"; + + if (m_version == Version_110) + { + m_writer.WriteLine(0, "#extension GL_ARB_shader_texture_lod : require"); + function = "texture2DGradARB"; + } + else if (m_version == Version_100_ES) + { + m_writer.WriteLine(0, "#extension GL_EXT_shader_texture_lod : require"); + function = "texture2DGradEXT"; + } + + m_writer.WriteLine(0, "vec4 %s(sampler2D samp, vec2 texCoord, vec2 dx, vec2 dy) { return %s(samp, texCoord, dx, dy); }", m_tex2DgradFunction, function); + } + + // Output the special function used to emulate tex2Dbias. + if (m_tree->NeedsFunction("tex2Dbias")) + { + if (target == Target_FragmentShader) + { + m_writer.WriteLine(0, "vec4 %s(sampler2D samp, vec4 texCoord) { return %s(samp, texCoord.xy, texCoord.w); }", m_tex2DbiasFunction, m_versionLegacy ? "texture2D" : "texture" ); + } + else + { + // Bias value is not supported in vertex shader. + m_writer.WriteLine(0, "vec4 %s(sampler2D samp, vec4 texCoord) { return texture(samp, texCoord.xy); }", m_tex2DbiasFunction ); + } + } + + // Output the special function used to emulate tex2DMSfetch. + if (m_tree->NeedsFunction("tex2DMSfetch")) + { + m_writer.WriteLine(0, "vec4 tex2DMSfetch(sampler2DMS samp, ivec2 texCoord, int sample) {"); + m_writer.WriteLine(1, "return texelFetch(samp, texCoord, sample);"); + m_writer.WriteLine(0, "}"); + } + + // Output the special function used to emulate tex3Dlod. + if (m_tree->NeedsFunction("tex3Dlod")) + { + m_writer.WriteLine(0, "vec4 %s(sampler3D samp, vec4 texCoord) { return %s(samp, texCoord.xyz, texCoord.w); }", m_tex3DlodFunction, m_versionLegacy ? "texture3D" : "texture" ); + } + + // Output the special function used to emulate texCUBEbias. + if (m_tree->NeedsFunction("texCUBEbias")) + { + if (target == Target_FragmentShader) + { + m_writer.WriteLine(0, "vec4 %s(samplerCube samp, vec4 texCoord) { return %s(samp, texCoord.xyz, texCoord.w); }", m_texCUBEbiasFunction, m_versionLegacy ? "textureCube" : "texture" ); + } + else + { + // Bias value is not supported in vertex shader. + m_writer.WriteLine(0, "vec4 %s(samplerCube samp, vec4 texCoord) { return texture(samp, texCoord.xyz); }", m_texCUBEbiasFunction ); + } + } + + // Output the special function used to emulate texCUBElod + if (m_tree->NeedsFunction("texCUBElod")) + { + const char* function = "textureLod"; + + if (m_version == Version_110) + { + m_writer.WriteLine(0, "#extension GL_ARB_shader_texture_lod : require"); + function = "textureCubeLod"; + } + else if (m_version == Version_100_ES) + { + m_writer.WriteLine(0, "#extension GL_EXT_shader_texture_lod : require"); + function = "textureCubeLodEXT"; + } + + m_writer.WriteLine( 0, "vec4 %s(samplerCube samp, vec4 texCoord) { return %s(samp, texCoord.xyz, texCoord.w); }", m_texCUBElodFunction, function); + } + + m_writer.WriteLine(0, "vec2 %s(float x) { return vec2(x, x); }", m_scalarSwizzle2Function); + m_writer.WriteLine(0, "ivec2 %s(int x) { return ivec2(x, x); }", m_scalarSwizzle2Function); + + m_writer.WriteLine(0, "vec3 %s(float x) { return vec3(x, x, x); }", m_scalarSwizzle3Function); + m_writer.WriteLine(0, "ivec3 %s(int x) { return ivec3(x, x, x); }", m_scalarSwizzle3Function); + + m_writer.WriteLine(0, "vec4 %s(float x) { return vec4(x, x, x, x); }", m_scalarSwizzle4Function); + m_writer.WriteLine(0, "ivec4 %s(int x) { return ivec4(x, x, x, x); }", m_scalarSwizzle4Function); + + if (!m_versionLegacy) + { + m_writer.WriteLine(0, "uvec2 %s(uint x) { return uvec2(x, x); }", m_scalarSwizzle2Function); + m_writer.WriteLine(0, "uvec3 %s(uint x) { return uvec3(x, x, x); }", m_scalarSwizzle3Function); + m_writer.WriteLine(0, "uvec4 %s(uint x) { return uvec4(x, x, x, x); }", m_scalarSwizzle4Function); + } + + if (m_tree->NeedsFunction("sincos")) + { + const char* floatTypes[] = { "float", "vec2", "vec3", "vec4" }; + for (int i = 0; i < 4; ++i) + { + m_writer.WriteLine(0, "void %s(%s x, out %s s, out %s c) { s = sin(x); c = cos(x); }", m_sinCosFunction, + floatTypes[i], floatTypes[i], floatTypes[i]); + } + } + + // special function to emulate ?: with bool{2,3,4} condition type + m_writer.WriteLine( 0, "vec2 %s(bvec2 cond, vec2 trueExpr, vec2 falseExpr) { vec2 ret; ret.x = cond.x ? trueExpr.x : falseExpr.x; ret.y = cond.y ? trueExpr.y : falseExpr.y; return ret; }", m_bvecTernary ); + m_writer.WriteLine( 0, "vec3 %s(bvec3 cond, vec3 trueExpr, vec3 falseExpr) { vec3 ret; ret.x = cond.x ? trueExpr.x : falseExpr.x; ret.y = cond.y ? trueExpr.y : falseExpr.y; ret.z = cond.z ? trueExpr.z : falseExpr.z; return ret; }", m_bvecTernary ); + m_writer.WriteLine( 0, "vec4 %s(bvec4 cond, vec4 trueExpr, vec4 falseExpr) { vec4 ret; ret.x = cond.x ? trueExpr.x : falseExpr.x; ret.y = cond.y ? trueExpr.y : falseExpr.y; ret.z = cond.z ? trueExpr.z : falseExpr.z; ret.w = cond.w ? trueExpr.w : falseExpr.w; return ret; }", m_bvecTernary ); + + m_tree->EnumerateMatrixCtorsNeeded(matrixCtors); + for(matrixCtor & ctor : matrixCtors) + { + std::string id = GetTypeName(HLSLType(ctor.matrixType)); + id += "_from"; + for(HLSLBaseType argType : ctor.argumentTypes) + { + id += "_"; + id += GetTypeName(HLSLType(argType)); + } + matrixCtorsId[ctor] = id; + } + + OutputMatrixCtors(); + + // Output the extension used for dFdx/dFdy in GLES2 + if (m_version == Version_100_ES && (m_tree->NeedsFunction("ddx") || m_tree->NeedsFunction("ddy"))) + { + m_writer.WriteLine(0, "#extension GL_OES_standard_derivatives : require"); + } + + OutputAttributes(entryFunction); + + if (m_target == Target_FragmentShader) + { + if (!m_outputTargets) + Error("Fragment shader must output a color"); + + if (!m_versionLegacy) + m_writer.WriteLine(0, "out vec4 rast_FragData[%d];", m_outputTargets); + } + + OutputStatements(0, statement); + OutputEntryCaller(entryFunction); + + m_tree = NULL; + + // The GLSL compilers don't check for this, so generate our own error message. + if (target == Target_VertexShader && !m_outputPosition) + { + Error("Vertex shader must output a position"); + } + + return !m_error; + +} + +const char* GLSLGenerator::GetResult() const +{ + return m_writer.GetResult(); +} + +void GLSLGenerator::OutputExpressionList(HLSLExpression* expression, HLSLArgument* argument) +{ + int numExpressions = 0; + while (expression != NULL) + { + if (numExpressions > 0) + { + m_writer.Write(", "); + } + + HLSLType* expectedType = NULL; + if (argument != NULL) + { + expectedType = &argument->type; + argument = argument->nextArgument; + } + + OutputExpression(expression, expectedType); + expression = expression->nextExpression; + ++numExpressions; + } +} + +const HLSLType* commonScalarType(const HLSLType& lhs, const HLSLType& rhs) +{ + if (!IsScalarType(lhs) || !IsScalarType(rhs)) + return NULL; + + if (lhs.baseType == HLSLBaseType_Float || rhs.baseType == HLSLBaseType_Float) + return &kFloatType; + + if (lhs.baseType == HLSLBaseType_Uint || rhs.baseType == HLSLBaseType_Uint) + return &kUintType; + + if (lhs.baseType == HLSLBaseType_Int || rhs.baseType == HLSLBaseType_Int) + return &kIntType; + + if (lhs.baseType == HLSLBaseType_Bool || rhs.baseType == HLSLBaseType_Bool) + return &kBoolType; + + return NULL; +} + +void GLSLGenerator::OutputExpression(HLSLExpression* expression, const HLSLType* dstType) +{ + + bool cast = dstType != NULL && !GetCanImplicitCast(expression->expressionType, *dstType); + if (expression->nodeType == HLSLNodeType_CastingExpression) + { + // No need to include a cast if the expression is already doing it. + cast = false; + } + + if (cast) + { + OutputCast(*dstType); + m_writer.Write("("); + } + + HLSLBuffer* bufferAccess = (m_options.flags & Flag_EmulateConstantBuffer) ? GetBufferAccessExpression(expression) : 0; + + if (bufferAccess) + { + OutputBufferAccessExpression(bufferAccess, expression, expression->expressionType, 0); + } + else if (expression->nodeType == HLSLNodeType_IdentifierExpression) + { + HLSLIdentifierExpression* identifierExpression = static_cast(expression); + OutputIdentifier(identifierExpression->name); + } + else if (expression->nodeType == HLSLNodeType_ConstructorExpression) + { + HLSLConstructorExpression* constructorExpression = static_cast(expression); + + bool matrixCtorNeeded = false; + if (IsMatrixType(constructorExpression->type.baseType)) + { + matrixCtor ctor = matrixCtorBuilder(constructorExpression->type, constructorExpression->argument); + if (std::find(matrixCtors.cbegin(), matrixCtors.cend(), ctor) != matrixCtors.cend()) + { + matrixCtorNeeded = true; + } + } + + if (matrixCtorNeeded) + { + // Matrix contructors needs to be adapted since GLSL access a matrix as m[c][r] while HLSL is m[r][c] + matrixCtor ctor = matrixCtorBuilder(constructorExpression->type, constructorExpression->argument); + m_writer.Write("%s(", matrixCtorsId[ctor].c_str()); + OutputExpressionList(constructorExpression->argument); + m_writer.Write(")"); + } + else + { + m_writer.Write("%s(", GetTypeName(constructorExpression->type)); + OutputExpressionList(constructorExpression->argument); + m_writer.Write(")"); + } + } + else if (expression->nodeType == HLSLNodeType_CastingExpression) + { + HLSLCastingExpression* castingExpression = static_cast(expression); + OutputCast(castingExpression->type); + m_writer.Write("("); + OutputExpression(castingExpression->expression); + m_writer.Write(")"); + } + else if (expression->nodeType == HLSLNodeType_LiteralExpression) + { + HLSLLiteralExpression* literalExpression = static_cast(expression); + switch (literalExpression->type) + { + case HLSLBaseType_Float: + { + // Don't use printf directly so that we don't use the system locale. + char buffer[64]; + String_FormatFloat(buffer, sizeof(buffer), literalExpression->fValue); + m_writer.Write("%s", buffer); + } + break; + case HLSLBaseType_Int: + case HLSLBaseType_Uint: + m_writer.Write("%d", literalExpression->iValue); + break; + case HLSLBaseType_Bool: + m_writer.Write("%s", literalExpression->bValue ? "true" : "false"); + break; + default: + ASSERT(0); + } + } + else if (expression->nodeType == HLSLNodeType_UnaryExpression) + { + HLSLUnaryExpression* unaryExpression = static_cast(expression); + const char* op = "?"; + bool pre = true; + const HLSLType* dstType2 = NULL; + switch (unaryExpression->unaryOp) + { + case HLSLUnaryOp_Negative: op = "-"; break; + case HLSLUnaryOp_Positive: op = "+"; break; + case HLSLUnaryOp_Not: op = "!"; dstType2 = &unaryExpression->expressionType; break; + case HLSLUnaryOp_PreIncrement: op = "++"; break; + case HLSLUnaryOp_PreDecrement: op = "--"; break; + case HLSLUnaryOp_PostIncrement: op = "++"; pre = false; break; + case HLSLUnaryOp_PostDecrement: op = "--"; pre = false; break; + case HLSLUnaryOp_BitNot: op = "~"; break; + } + m_writer.Write("("); + if (pre) + { + m_writer.Write("%s", op); + OutputExpression(unaryExpression->expression, dstType2); + } + else + { + OutputExpression(unaryExpression->expression, dstType2); + m_writer.Write("%s", op); + } + m_writer.Write(")"); + } + else if (expression->nodeType == HLSLNodeType_BinaryExpression) + { + HLSLBinaryExpression* binaryExpression = static_cast(expression); + const char* op = "?"; + const HLSLType* dstType1 = NULL; + const HLSLType* dstType2 = NULL; + + // + bool vectorExpression = IsVectorType( binaryExpression->expression1->expressionType ) || IsVectorType( binaryExpression->expression2->expressionType ); + if( vectorExpression && IsCompareOp( binaryExpression->binaryOp )) + { + switch (binaryExpression->binaryOp) + { + case HLSLBinaryOp_Less: m_writer.Write("lessThan("); break; + case HLSLBinaryOp_Greater: m_writer.Write("greaterThan("); break; + case HLSLBinaryOp_LessEqual: m_writer.Write("lessThanEqual("); break; + case HLSLBinaryOp_GreaterEqual: m_writer.Write("greaterThanEqual("); break; + case HLSLBinaryOp_Equal: m_writer.Write("equal("); break; + case HLSLBinaryOp_NotEqual: m_writer.Write("notEqual("); break; + default: + ASSERT(0); // is so, check isCompareOp + } + + if( IsVectorType( binaryExpression->expression1->expressionType ) && IsScalarType( binaryExpression->expression2->expressionType ) ) + dstType2 = &binaryExpression->expression1->expressionType; + else if( IsScalarType( binaryExpression->expression1->expressionType ) && IsVectorType( binaryExpression->expression2->expressionType ) ) + dstType1 = &binaryExpression->expression2->expressionType; + // TODO if both expressions are vector but with different dimension handle it here or in parser? + + OutputExpression(binaryExpression->expression1, dstType1); + m_writer.Write(", "); + OutputExpression(binaryExpression->expression2, dstType2); + m_writer.Write(")"); + } + else + { + switch (binaryExpression->binaryOp) + { + case HLSLBinaryOp_Add: op = " + "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_Sub: op = " - "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_Mul: op = " * "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_Div: op = " / "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_Mod: op = " % "; dstType1 = dstType2 = &kIntType; break; + case HLSLBinaryOp_Less: op = " < "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_Greater: op = " > "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_LessEqual: op = " <= "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_GreaterEqual: op = " >= "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_Equal: op = " == "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_NotEqual: op = " != "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_Assign: op = " = "; dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_AddAssign: op = " += "; dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_SubAssign: op = " -= "; dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_MulAssign: op = " *= "; dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_DivAssign: op = " /= "; dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_And: op = " && "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_Or: op = " || "; dstType1 = dstType2 = &binaryExpression->expressionType; break; + case HLSLBinaryOp_BitAnd: op = " & "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_BitOr: op = " | "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + case HLSLBinaryOp_BitXor: op = " ^ "; dstType1 = dstType2 = commonScalarType(binaryExpression->expression1->expressionType, binaryExpression->expression2->expressionType); break; + default: + ASSERT(0); + } + m_writer.Write("("); + OutputExpression(binaryExpression->expression1, dstType1); + m_writer.Write("%s", op); + OutputExpression(binaryExpression->expression2, dstType2); + m_writer.Write(")"); + } + } + else if (expression->nodeType == HLSLNodeType_ConditionalExpression) + { + HLSLConditionalExpression* conditionalExpression = static_cast(expression); + if( IsVectorType( conditionalExpression->condition->expressionType ) ) + { + m_writer.Write( "%s", m_bvecTernary ); + m_writer.Write( "( " ); + OutputExpression( conditionalExpression->condition ); + m_writer.Write( ", " ); + OutputExpression( conditionalExpression->trueExpression, &conditionalExpression->expressionType ); + m_writer.Write( ", " ); + OutputExpression( conditionalExpression->falseExpression, &conditionalExpression->expressionType ); + m_writer.Write( " )" ); + } + else + { + m_writer.Write( "((" ); + OutputExpression( conditionalExpression->condition, &kBoolType ); + m_writer.Write( ")?(" ); + OutputExpression( conditionalExpression->trueExpression, dstType ); + m_writer.Write( "):(" ); + OutputExpression( conditionalExpression->falseExpression, dstType ); + m_writer.Write( "))" ); + } + } + else if (expression->nodeType == HLSLNodeType_MemberAccess) + { + + HLSLMemberAccess* memberAccess = static_cast(expression); + + if (memberAccess->object->expressionType.baseType == HLSLBaseType_Float || + memberAccess->object->expressionType.baseType == HLSLBaseType_Int || + memberAccess->object->expressionType.baseType == HLSLBaseType_Uint) + { + // Handle swizzling on scalar values. + size_t swizzleLength = strlen(memberAccess->field); + if (swizzleLength == 2) + { + m_writer.Write("%s", m_scalarSwizzle2Function); + } + else if (swizzleLength == 3) + { + m_writer.Write("%s", m_scalarSwizzle3Function); + } + else if (swizzleLength == 4) + { + m_writer.Write("%s", m_scalarSwizzle4Function); + } + m_writer.Write("("); + OutputExpression(memberAccess->object); + m_writer.Write(")"); + } + else + { + m_writer.Write("("); + OutputExpression(memberAccess->object); + m_writer.Write(")"); + + if( IsMatrixType(memberAccess->object->expressionType.baseType)) + { + // Handle HLSL matrix "swizzling". + // TODO: Properly handle multiple element selection such as _m00_m12 + const char* n = memberAccess->field; + while (n[0] != 0) + { + if ( n[0] != '_' ) + { + ASSERT(0); + break; + } + ++n; + char base = '1'; + if (n[0] == 'm') + { + base = '0'; + ++n; + } + if (isdigit(n[0]) && isdigit(n[1]) ) + { + m_writer.Write("[%d][%d]", n[1] - base, n[0] - base); + n += 2; + } + else + { + ASSERT(0); + break; + } + } + } + else + { + m_writer.Write(".%s", memberAccess->field); + } + + } + + } + else if (expression->nodeType == HLSLNodeType_ArrayAccess) + { + HLSLArrayAccess* arrayAccess = static_cast(expression); + + if (!arrayAccess->array->expressionType.array && + IsMatrixType(arrayAccess->array->expressionType.baseType) ) + { + // GLSL access a matrix as m[c][r] while HLSL is m[r][c], so use our + // special row access function to convert. + m_writer.Write("%s(", m_matrixRowFunction); + OutputExpression(arrayAccess->array); + m_writer.Write(","); + OutputExpression(arrayAccess->index); + m_writer.Write(")"); + } + else + { + OutputExpression(arrayAccess->array); + m_writer.Write("["); + OutputExpression(arrayAccess->index); + m_writer.Write("]"); + } + + } + else if (expression->nodeType == HLSLNodeType_FunctionCall) + { + HLSLFunctionCall* functionCall = static_cast(expression); + + // Handle intrinsic funtions that are different between HLSL and GLSL. + bool handled = false; + const char* functionName = functionCall->function->name; + + if (String_Equal(functionName, "mul")) + { + HLSLExpression* argument[2]; + if (GetFunctionArguments(functionCall, argument, 2) != 2) + { + Error("mul expects 2 arguments"); + return; + } + + const HLSLType& type0 = functionCall->function->argument->type; + const HLSLType& type1 = functionCall->function->argument->nextArgument->type; + + if (IsVectorType(type0.baseType) && IsVectorType(type1.baseType)) + { + m_writer.Write("dot(("); + OutputExpression(argument[0], &type0); + m_writer.Write("),("); + OutputExpression(argument[1], &type1); + m_writer.Write("))"); + } + else + { + m_writer.Write("(("); + OutputExpression(argument[0], &type0); + m_writer.Write(")*("); + OutputExpression(argument[1], &type1); + m_writer.Write("))"); + } + + handled = true; + } + else if (String_Equal(functionName, "saturate")) + { + HLSLExpression* argument[1]; + if (GetFunctionArguments(functionCall, argument, 1) != 1) + { + Error("saturate expects 1 argument"); + return; + } + m_writer.Write("clamp("); + OutputExpression(argument[0]); + HLSLBaseType baseType = argument[0]->expressionType.baseType; + switch (baseType) { + case HLSLBaseType_Float: + case HLSLBaseType_Float2: + case HLSLBaseType_Float3: + case HLSLBaseType_Float4: + m_writer.Write(", 0.0, 1.0)"); + break; + + case HLSLBaseType_Int: + case HLSLBaseType_Int2: + case HLSLBaseType_Int3: + case HLSLBaseType_Int4: + case HLSLBaseType_Uint: + case HLSLBaseType_Uint2: + case HLSLBaseType_Uint3: + case HLSLBaseType_Uint4: + m_writer.Write(", 0, 1)"); + break; + + default: + Error("saturate unhandled type: %s", GetTypeName(argument[0]->expressionType)); + break; + } + handled = true; + } + else if (String_Equal(functionName, "rsqrt")) + { + HLSLExpression* argument[1]; + if (GetFunctionArguments(functionCall, argument, 1) != 1) + { + Error("rsqrt expects 1 argument"); + return; + } + m_writer.Write("inversesqrt("); + OutputExpression(argument[0]); + m_writer.Write(")"); + handled = true; + } + + if (!handled) + { + OutputIdentifier(functionName); + m_writer.Write("("); + OutputExpressionList(functionCall->argument, functionCall->function->argument); + m_writer.Write(")"); + } + } + else + { + m_writer.Write(""); + } + + if (cast) + { + if (IsVectorType(dstType->baseType) || IsMatrixType(dstType->baseType)) + { + CompleteConstructorArguments(expression, dstType->baseType); + } + + m_writer.Write(")"); + } + +} + +void GLSLGenerator::OutputIdentifier(const char* name) +{ + + // Remap intrinstic functions. + if (String_Equal(name, "tex2D")) + { + name = m_versionLegacy ? "texture2D" : "texture"; + } + else if (String_Equal(name, "tex2Dproj")) + { + name = m_versionLegacy ? "texture2DProj" : "textureProj"; + } + else if (String_Equal(name, "texCUBE")) + { + name = m_versionLegacy ? "textureCube" : "texture"; + } + else if (String_Equal(name, "tex3D")) + { + name = m_versionLegacy ? "texture3D" : "texture"; + } + else if (String_Equal(name, "clip")) + { + name = m_clipFunction; + } + else if (String_Equal(name, "tex2Dlod")) + { + name = m_tex2DlodFunction; + } + else if (String_Equal(name, "tex2Dbias")) + { + name = m_tex2DbiasFunction; + } + else if (String_Equal(name, "tex2Dgrad")) + { + name = m_tex2DgradFunction; + } + else if (String_Equal(name, "tex2DArray")) + { + name = "texture"; + } + else if (String_Equal(name, "texCUBEbias")) + { + name = m_texCUBEbiasFunction; + } + else if( String_Equal( name, "texCUBElod" ) ) + { + name = m_texCUBElodFunction; + } + else if (String_Equal(name, "atan2")) + { + name = "atan"; + } + else if (String_Equal(name, "sincos")) + { + name = m_sinCosFunction; + } + else if (String_Equal(name, "fmod")) + { + // mod is not the same as fmod if the parameter is negative! + // The equivalent of fmod(x, y) is x - y * floor(x/y) + // We use the mod version for performance. + name = "mod"; + } + else if (String_Equal(name, "lerp")) + { + name = "mix"; + } + else if (String_Equal(name, "frac")) + { + name = "fract"; + } + else if (String_Equal(name, "ddx")) + { + name = "dFdx"; + } + else if (String_Equal(name, "ddy")) + { + name = "dFdy"; + } + else + { + // The identifier could be a GLSL reserved word (if it's not also a HLSL reserved word). + name = GetSafeIdentifierName(name); + } + m_writer.Write("%s", name); + +} + +void GLSLGenerator::OutputArguments(HLSLArgument* argument) +{ + int numArgs = 0; + while (argument != NULL) + { + if (numArgs > 0) + { + m_writer.Write(", "); + } + + switch (argument->modifier) + { + case HLSLArgumentModifier_In: + m_writer.Write("in "); + break; + case HLSLArgumentModifier_Out: + m_writer.Write("out "); + break; + case HLSLArgumentModifier_Inout: + m_writer.Write("inout "); + break; + default: + break; + } + + OutputDeclaration(argument->type, argument->name); + argument = argument->nextArgument; + ++numArgs; + } +} + +void GLSLGenerator::OutputStatements(int indent, HLSLStatement* statement, const HLSLType* returnType) +{ + + while (statement != NULL) + { + if (statement->hidden) + { + statement = statement->nextStatement; + continue; + } + + if (statement->nodeType == HLSLNodeType_Declaration) + { + HLSLDeclaration* declaration = static_cast(statement); + + // GLSL doesn't seem have texture uniforms, so just ignore them. + if (declaration->type.baseType != HLSLBaseType_Texture) + { + bool skipAssignment = true; + if (indent != 0) + { + skipAssignment = false; + } + + m_writer.BeginLine(indent, declaration->fileName, declaration->line); + if (indent == 0 && (declaration->type.flags & HLSLTypeFlag_Uniform)) + { + // At the top level, we need the "uniform" keyword. + m_writer.Write("uniform "); + skipAssignment = false; + } + OutputDeclaration(declaration, skipAssignment); + m_writer.EndLine(";"); + } + } + else if (statement->nodeType == HLSLNodeType_Struct) + { + HLSLStruct* structure = static_cast(statement); + m_writer.WriteLine(indent, "struct %s {", structure->name); + HLSLStructField* field = structure->field; + while (field != NULL) + { + m_writer.BeginLine(indent + 1, field->fileName, field->line); + OutputDeclaration(field->type, field->name); + m_writer.Write(";"); + m_writer.EndLine(); + field = field->nextField; + } + m_writer.WriteLine(indent, "};"); + } + else if (statement->nodeType == HLSLNodeType_Buffer) + { + HLSLBuffer* buffer = static_cast(statement); + OutputBuffer(indent, buffer); + } + else if (statement->nodeType == HLSLNodeType_Function) + { + HLSLFunction* function = static_cast(statement); + + // Use an alternate name for the function which is supposed to be entry point + // so that we can supply our own function which will be the actual entry point. + const char* functionName = GetSafeIdentifierName(function->name); + const char* returnTypeName = GetTypeName(function->returnType); + + m_writer.BeginLine(indent, function->fileName, function->line); + m_writer.Write("%s %s(", returnTypeName, functionName); + + OutputArguments(function->argument); + + if (function->forward) + { + m_writer.WriteLine(indent, ");"); + } + else + { + m_writer.Write(") {"); + m_writer.EndLine(); + + OutputStatements(indent + 1, function->statement, &function->returnType); + m_writer.WriteLine(indent, "}"); + } + } + else if (statement->nodeType == HLSLNodeType_ExpressionStatement) + { + HLSLExpressionStatement* expressionStatement = static_cast(statement); + m_writer.BeginLine(indent, statement->fileName, statement->line); + OutputExpression(expressionStatement->expression); + m_writer.EndLine(";"); + } + else if (statement->nodeType == HLSLNodeType_ReturnStatement) + { + HLSLReturnStatement* returnStatement = static_cast(statement); + if (returnStatement->expression != NULL) + { + m_writer.BeginLine(indent, returnStatement->fileName, returnStatement->line); + m_writer.Write("return "); + OutputExpression(returnStatement->expression, returnType); + m_writer.EndLine(";"); + } + else + { + m_writer.WriteLineTagged(indent, returnStatement->fileName, returnStatement->line, "return;"); + } + } + else if (statement->nodeType == HLSLNodeType_DiscardStatement) + { + HLSLDiscardStatement* discardStatement = static_cast(statement); + if (m_target == Target_FragmentShader) + { + m_writer.WriteLineTagged(indent, discardStatement->fileName, discardStatement->line, "discard;"); + } + } + else if (statement->nodeType == HLSLNodeType_BreakStatement) + { + HLSLBreakStatement* breakStatement = static_cast(statement); + m_writer.WriteLineTagged(indent, breakStatement->fileName, breakStatement->line, "break;"); + } + else if (statement->nodeType == HLSLNodeType_ContinueStatement) + { + HLSLContinueStatement* continueStatement = static_cast(statement); + m_writer.WriteLineTagged(indent, continueStatement->fileName, continueStatement->line, "continue;"); + } + else if (statement->nodeType == HLSLNodeType_IfStatement) + { + HLSLIfStatement* ifStatement = static_cast(statement); + m_writer.BeginLine(indent, ifStatement->fileName, ifStatement->line); + m_writer.Write("if ("); + OutputExpression(ifStatement->condition, &kBoolType); + m_writer.Write(") {"); + m_writer.EndLine(); + OutputStatements(indent + 1, ifStatement->statement, returnType); + m_writer.WriteLine(indent, "}"); + if (ifStatement->elseStatement != NULL) + { + m_writer.WriteLine(indent, "else {"); + OutputStatements(indent + 1, ifStatement->elseStatement, returnType); + m_writer.WriteLine(indent, "}"); + } + } + else if (statement->nodeType == HLSLNodeType_ForStatement) + { + HLSLForStatement* forStatement = static_cast(statement); + m_writer.BeginLine(indent, forStatement->fileName, forStatement->line); + m_writer.Write("for ("); + if (forStatement->initialization != NULL) + { + OutputDeclaration(forStatement->initialization, false); + } + else + { + OutputExpression(forStatement->initializationWithoutType); + } + m_writer.Write("; "); + OutputExpression(forStatement->condition, &kBoolType); + m_writer.Write("; "); + OutputExpression(forStatement->increment); + m_writer.Write(") {"); + m_writer.EndLine(); + OutputStatements(indent + 1, forStatement->statement, returnType); + m_writer.WriteLine(indent, "}"); + } + else if (statement->nodeType == HLSLNodeType_WhileStatement) + { + HLSLWhileStatement* whileStatement = static_cast(statement); + m_writer.BeginLine(indent, whileStatement->fileName, whileStatement->line); + m_writer.Write("while ("); + OutputExpression(whileStatement->condition, &kBoolType); + m_writer.Write(") {"); + m_writer.EndLine(); + OutputStatements(indent + 1, whileStatement->statement, returnType); + m_writer.WriteLine(indent, "}"); + } + else if (statement->nodeType == HLSLNodeType_BlockStatement) + { + HLSLBlockStatement* blockStatement = static_cast(statement); + m_writer.WriteLine(indent, "{"); + OutputStatements(indent + 1, blockStatement->statement, returnType); + m_writer.WriteLine(indent, "}"); + } + else + { + // Unhanded statement type. + ASSERT(0); + } + + statement = statement->nextStatement; + + } + +} + +void GLSLGenerator::OutputBuffer(int indent, HLSLBuffer* buffer) +{ + // Empty uniform blocks cause compilation errors on NVIDIA, so don't emit them. + if (buffer->field == NULL) + return; + + if (m_options.flags & Flag_EmulateConstantBuffer) + { + unsigned int size = 0; + LayoutBuffer(buffer, size); + + unsigned int uniformSize = (size + 3) / 4; + + m_writer.WriteLineTagged(indent, buffer->fileName, buffer->line, "uniform vec4 %s%s[%d];", m_options.constantBufferPrefix, buffer->name, uniformSize); + } + else + { + m_writer.WriteLineTagged(indent, buffer->fileName, buffer->line, "layout (std140) uniform %s%s {", m_options.constantBufferPrefix, buffer->name); + HLSLDeclaration* field = buffer->field; + while (field != NULL) + { + m_writer.BeginLine(indent + 1, field->fileName, field->line); + OutputDeclaration(field->type, field->name); + m_writer.Write(";"); + m_writer.EndLine(); + field = (HLSLDeclaration*)field->nextStatement; + } + m_writer.WriteLine(indent, "};"); + } +} + +inline void alignForWrite(unsigned int& offset, unsigned int size) +{ + ASSERT(size <= 4); + + if (offset / 4 != (offset + size - 1) / 4) + offset = (offset + 3) & ~3; +} + +void GLSLGenerator::LayoutBuffer(HLSLBuffer* buffer, unsigned int& offset) +{ + for (HLSLDeclaration* field = buffer->field; field; field = (HLSLDeclaration*)field->nextStatement) + { + LayoutBuffer(field->type, offset); + } +} + +void GLSLGenerator::LayoutBuffer(const HLSLType& type, unsigned int& offset) +{ + LayoutBufferAlign(type, offset); + + if (type.array) + { + int arraySize = 0; + m_tree->GetExpressionValue(type.arraySize, arraySize); + + unsigned int elementSize = 0; + LayoutBufferElement(type, elementSize); + + unsigned int alignedElementSize = (elementSize + 3) & ~3; + + offset += alignedElementSize * arraySize; + } + else + { + LayoutBufferElement(type, offset); + } +} + +void GLSLGenerator::LayoutBufferElement(const HLSLType& type, unsigned int& offset) +{ + if (type.baseType == HLSLBaseType_Float) + { + offset += 1; + } + else if (type.baseType == HLSLBaseType_Float2) + { + offset += 2; + } + else if (type.baseType == HLSLBaseType_Float3) + { + offset += 3; + } + else if (type.baseType == HLSLBaseType_Float4) + { + offset += 4; + } + else if (type.baseType == HLSLBaseType_Float4x4) + { + offset += 16; + } + else if (type.baseType == HLSLBaseType_UserDefined) + { + HLSLStruct * st = m_tree->FindGlobalStruct(type.typeName); + + if (st) + { + for (HLSLStructField* field = st->field; field; field = field->nextField) + { + LayoutBuffer(field->type, offset); + } + } + else + { + Error("Unknown type %s", type.typeName); + } + } + else + { + Error("Constant buffer layout is not supported for %s", GetTypeName(type)); + } +} + +void GLSLGenerator::LayoutBufferAlign(const HLSLType& type, unsigned int& offset) +{ + if (type.array) + { + alignForWrite(offset, 4); + } + else if (type.baseType == HLSLBaseType_Float) + { + alignForWrite(offset, 1); + } + else if (type.baseType == HLSLBaseType_Float2) + { + alignForWrite(offset, 2); + } + else if (type.baseType == HLSLBaseType_Float3) + { + alignForWrite(offset, 3); + } + else if (type.baseType == HLSLBaseType_Float4) + { + alignForWrite(offset, 4); + } + else if (type.baseType == HLSLBaseType_Float4x4) + { + alignForWrite(offset, 4); + } + else if (type.baseType == HLSLBaseType_UserDefined) + { + alignForWrite(offset, 4); + } + else + { + Error("Constant buffer layout is not supported for %s", GetTypeName(type)); + } +} + +HLSLBuffer* GLSLGenerator::GetBufferAccessExpression(HLSLExpression* expression) +{ + if (expression->nodeType == HLSLNodeType_IdentifierExpression) + { + HLSLIdentifierExpression* identifierExpression = static_cast(expression); + + if (identifierExpression->global) + { + HLSLDeclaration * declaration = m_tree->FindGlobalDeclaration(identifierExpression->name); + + if (declaration && declaration->buffer) + return declaration->buffer; + } + } + else if (expression->nodeType == HLSLNodeType_MemberAccess) + { + HLSLMemberAccess* memberAccess = static_cast(expression); + + if (memberAccess->object->expressionType.baseType == HLSLBaseType_UserDefined) + return GetBufferAccessExpression(memberAccess->object); + } + else if (expression->nodeType == HLSLNodeType_ArrayAccess) + { + HLSLArrayAccess* arrayAccess = static_cast(expression); + + if (arrayAccess->array->expressionType.array) + return GetBufferAccessExpression(arrayAccess->array); + } + + return 0; +} + +void GLSLGenerator::OutputBufferAccessExpression(HLSLBuffer* buffer, HLSLExpression* expression, const HLSLType& type, unsigned int postOffset) +{ + if (type.array) + { + Error("Constant buffer access is not supported for arrays (use indexing instead)"); + } + else if (type.baseType == HLSLBaseType_Float) + { + m_writer.Write("%s%s[", m_options.constantBufferPrefix, buffer->name); + unsigned int index = OutputBufferAccessIndex(expression, postOffset); + m_writer.Write("%d].%c", index / 4, "xyzw"[index % 4]); + } + else if (type.baseType == HLSLBaseType_Float2) + { + m_writer.Write("%s%s[", m_options.constantBufferPrefix, buffer->name); + unsigned int index = OutputBufferAccessIndex(expression, postOffset); + m_writer.Write("%d].%s", index / 4, index % 4 == 0 ? "xy" : index % 4 == 1 ? "yz" : "zw"); + } + else if (type.baseType == HLSLBaseType_Float3) + { + m_writer.Write("%s%s[", m_options.constantBufferPrefix, buffer->name); + unsigned int index = OutputBufferAccessIndex(expression, postOffset); + m_writer.Write("%d].%s", index / 4, index % 4 == 0 ? "xyz" : "yzw"); + } + else if (type.baseType == HLSLBaseType_Float4) + { + m_writer.Write("%s%s[", m_options.constantBufferPrefix, buffer->name); + unsigned int index = OutputBufferAccessIndex(expression, postOffset); + ASSERT(index % 4 == 0); + m_writer.Write("%d]", index / 4); + } + else if (type.baseType == HLSLBaseType_Float4x4) + { + m_writer.Write("mat4("); + for (int i = 0; i < 4; ++i) + { + m_writer.Write("%s%s[", m_options.constantBufferPrefix, buffer->name); + unsigned int index = OutputBufferAccessIndex(expression, postOffset + i * 4); + ASSERT(index % 4 == 0); + m_writer.Write("%d]%c", index / 4, i == 3 ? ')' : ','); + } + } + else if (type.baseType == HLSLBaseType_UserDefined) + { + HLSLStruct * st = m_tree->FindGlobalStruct(type.typeName); + + if (st) + { + m_writer.Write("%s(", st->name); + + unsigned int offset = postOffset; + + for (HLSLStructField* field = st->field; field; field = field->nextField) + { + OutputBufferAccessExpression(buffer, expression, field->type, offset); + + if (field->nextField) + m_writer.Write(","); + + LayoutBuffer(field->type, offset); + } + + m_writer.Write(")"); + } + else + { + Error("Unknown type %s", type.typeName); + } + } + else + { + Error("Constant buffer layout is not supported for %s", GetTypeName(type)); + } +} + +unsigned int GLSLGenerator::OutputBufferAccessIndex(HLSLExpression* expression, unsigned int postOffset) +{ + if (expression->nodeType == HLSLNodeType_IdentifierExpression) + { + HLSLIdentifierExpression* identifierExpression = static_cast(expression); + ASSERT(identifierExpression->global); + + HLSLDeclaration * declaration = m_tree->FindGlobalDeclaration(identifierExpression->name); + ASSERT(declaration); + + HLSLBuffer * buffer = declaration->buffer; + ASSERT(buffer); + + unsigned int offset = 0; + + for (HLSLDeclaration* field = buffer->field; field; field = (HLSLDeclaration*)field->nextStatement) + { + if (field == declaration) + { + LayoutBufferAlign(field->type, offset); + break; + } + + LayoutBuffer(field->type, offset); + } + + return offset + postOffset; + } + else if (expression->nodeType == HLSLNodeType_MemberAccess) + { + HLSLMemberAccess* memberAccess = static_cast(expression); + + const HLSLType& type = memberAccess->object->expressionType; + ASSERT(type.baseType == HLSLBaseType_UserDefined); + + HLSLStruct * st = m_tree->FindGlobalStruct(type.typeName); + + if (st) + { + unsigned int offset = 0; + + for (HLSLStructField* field = st->field; field; field = field->nextField) + { + if (field->name == memberAccess->field) + { + LayoutBufferAlign(field->type, offset); + break; + } + + LayoutBuffer(field->type, offset); + } + + return offset + OutputBufferAccessIndex(memberAccess->object, postOffset); + } + else + { + Error("Unknown type %s", type.typeName); + } + } + else if (expression->nodeType == HLSLNodeType_ArrayAccess) + { + HLSLArrayAccess* arrayAccess = static_cast(expression); + + const HLSLType& type = arrayAccess->array->expressionType; + ASSERT(type.array); + + unsigned int elementSize = 0; + LayoutBufferElement(type, elementSize); + + unsigned int alignedElementSize = (elementSize + 3) & ~3; + + int arrayIndex = 0; + if (m_tree->GetExpressionValue(arrayAccess->index, arrayIndex)) + { + unsigned int offset = arrayIndex * alignedElementSize; + + return offset + OutputBufferAccessIndex(arrayAccess->array, postOffset); + } + else + { + m_writer.Write("%d*(", alignedElementSize / 4); + OutputExpression(arrayAccess->index); + m_writer.Write(")+"); + + return OutputBufferAccessIndex(arrayAccess->array, postOffset); + } + } + else + { + ASSERT(!"IsBufferAccessExpression should have returned false"); + } + + return 0; +} + +HLSLFunction* GLSLGenerator::FindFunction(HLSLRoot* root, const char* name) +{ + HLSLStatement* statement = root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Function) + { + HLSLFunction* function = static_cast(statement); + if (String_Equal(function->name, name)) + { + return function; + } + } + statement = statement->nextStatement; + } + return NULL; +} + +HLSLStruct* GLSLGenerator::FindStruct(HLSLRoot* root, const char* name) +{ + HLSLStatement* statement = root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Struct) + { + HLSLStruct* structDeclaration = static_cast(statement); + if (String_Equal(structDeclaration->name, name)) + { + return structDeclaration; + } + } + statement = statement->nextStatement; + } + return NULL; +} + + +const char* GLSLGenerator::GetAttribQualifier(AttributeModifier modifier) +{ + if (m_versionLegacy) + { + if (m_target == Target_VertexShader) + return (modifier == AttributeModifier_In) ? "attribute" : "varying"; + else + return (modifier == AttributeModifier_In) ? "varying" : "out"; + } + else + { + return (modifier == AttributeModifier_In) ? "in" : "out"; + } +} + +void GLSLGenerator::OutputAttribute(const HLSLType& type, const char* semantic, AttributeModifier modifier) +{ + const char* qualifier = GetAttribQualifier(modifier); + const char* prefix = (modifier == AttributeModifier_In) ? m_inAttribPrefix : m_outAttribPrefix; + + HLSLRoot* root = m_tree->GetRoot(); + if (type.baseType == HLSLBaseType_UserDefined) + { + // If the argument is a struct with semantics specified, we need to + // grab them. + HLSLStruct* structDeclaration = FindStruct(root, type.typeName); + ASSERT(structDeclaration != NULL); + HLSLStructField* field = structDeclaration->field; + while (field != NULL) + { + if (field->semantic != NULL && GetBuiltInSemantic(field->semantic, modifier) == NULL) + { + m_writer.Write( "%s ", qualifier ); + char attribName[ 64 ]; + String_Printf( attribName, 64, "%s%s", prefix, field->semantic ); + OutputDeclaration( field->type, attribName ); + m_writer.EndLine(";"); + } + field = field->nextField; + } + } + else if (semantic != NULL && GetBuiltInSemantic(semantic, modifier) == NULL) + { + m_writer.Write( "%s ", qualifier ); + char attribName[ 64 ]; + String_Printf( attribName, 64, "%s%s", prefix, semantic ); + OutputDeclaration( type, attribName ); + m_writer.EndLine(";"); + } +} + +void GLSLGenerator::OutputAttributes(HLSLFunction* entryFunction) +{ + // Write out the input/output attributes to the shader. + HLSLArgument* argument = entryFunction->argument; + while (argument != NULL) + { + if (argument->modifier == HLSLArgumentModifier_None || argument->modifier == HLSLArgumentModifier_In) + OutputAttribute(argument->type, argument->semantic, AttributeModifier_In); + if (argument->modifier == HLSLArgumentModifier_Out) + OutputAttribute(argument->type, argument->semantic, AttributeModifier_Out); + + argument = argument->nextArgument; + } + + // Write out the output attributes from the shader. + OutputAttribute(entryFunction->returnType, entryFunction->semantic, AttributeModifier_Out); +} + +void GLSLGenerator::OutputSetOutAttribute(const char* semantic, const char* resultName) +{ + int outputIndex = -1; + const char* builtInSemantic = GetBuiltInSemantic(semantic, AttributeModifier_Out, &outputIndex); + if (builtInSemantic != NULL) + { + if (String_Equal(builtInSemantic, "gl_Position")) + { + if (m_options.flags & Flag_FlipPositionOutput) + { + // Mirror the y-coordinate when we're outputing from + // the vertex shader so that we match the D3D texture + // coordinate origin convention in render-to-texture + // operations. + // We also need to convert the normalized device + // coordinates from the D3D convention of 0 to 1 to the + // OpenGL convention of -1 to 1. + m_writer.WriteLine(1, "vec4 temp = %s;", resultName); + m_writer.WriteLine(1, "%s = temp * vec4(1,-1,2,1) - vec4(0,0,temp.w,0);", builtInSemantic); + } + else + { + m_writer.WriteLine(1, "%s = %s;", builtInSemantic, resultName); + } + + m_outputPosition = true; + } + else if (String_Equal(builtInSemantic, "gl_FragDepth")) + { + // If the value goes outside of the 0 to 1 range, the + // fragment will be rejected unlike in D3D, so clamp it. + m_writer.WriteLine(1, "%s = clamp(float(%s), 0.0, 1.0);", builtInSemantic, resultName); + } + else if (outputIndex >= 0) + { + m_writer.WriteLine(1, "%s[%d] = %s;", builtInSemantic, outputIndex, resultName); + } + else + { + m_writer.WriteLine(1, "%s = %s;", builtInSemantic, resultName); + } + } + else if (m_target == Target_FragmentShader) + { + Error("Output attribute %s does not map to any built-ins", semantic); + } + else + { + m_writer.WriteLine(1, "%s%s = %s;", m_outAttribPrefix, semantic, resultName); + } +} + +void GLSLGenerator::OutputEntryCaller(HLSLFunction* entryFunction) +{ + HLSLRoot* root = m_tree->GetRoot(); + + m_writer.WriteLine(0, "void main() {"); + + // Create local variables for each of the parameters we'll need to pass + // into the entry point function. + HLSLArgument* argument = entryFunction->argument; + while (argument != NULL) + { + m_writer.BeginLine(1); + OutputDeclaration(argument->type, argument->name); + m_writer.EndLine(";"); + + if (argument->modifier != HLSLArgumentModifier_Out) + { + // Set the value for the local variable. + if (argument->type.baseType == HLSLBaseType_UserDefined) + { + HLSLStruct* structDeclaration = FindStruct(root, argument->type.typeName); + ASSERT(structDeclaration != NULL); + HLSLStructField* field = structDeclaration->field; + while (field != NULL) + { + if (field->semantic != NULL) + { + const char* builtInSemantic = GetBuiltInSemantic(field->semantic, AttributeModifier_In); + if (builtInSemantic) + { + m_writer.WriteLine(1, "%s.%s = %s;", GetSafeIdentifierName(argument->name), GetSafeIdentifierName(field->name), builtInSemantic); + } + else + { + m_writer.WriteLine(1, "%s.%s = %s%s;", GetSafeIdentifierName(argument->name), GetSafeIdentifierName(field->name), m_inAttribPrefix, field->semantic); + } + } + field = field->nextField; + } + } + else if (argument->semantic != NULL) + { + const char* builtInSemantic = GetBuiltInSemantic(argument->semantic, AttributeModifier_In); + if (builtInSemantic) + { + m_writer.WriteLine(1, "%s = %s;", GetSafeIdentifierName(argument->name), builtInSemantic); + } + else + { + m_writer.WriteLine(1, "%s = %s%s;", GetSafeIdentifierName(argument->name), m_inAttribPrefix, argument->semantic); + } + } + } + + argument = argument->nextArgument; + } + + + // Initialize global variables + for(HLSLDeclaration *declaration : globalVarsAssignments) + { + m_writer.BeginLine(1, declaration->fileName, declaration->line); + OutputDeclarationBody( declaration->type, GetSafeIdentifierName( declaration->name ) ); + + OutputDeclarationAssignment(declaration); + m_writer.EndLine(";"); + } + + + const char* resultName = "result"; + + // Call the original entry function. + m_writer.BeginLine(1); + if (entryFunction->returnType.baseType != HLSLBaseType_Void) + m_writer.Write("%s %s = ", GetTypeName(entryFunction->returnType), resultName); + m_writer.Write("%s(", m_entryName); + + int numArgs = 0; + argument = entryFunction->argument; + while (argument != NULL) + { + if (numArgs > 0) + { + m_writer.Write(", "); + } + + m_writer.Write("%s", GetSafeIdentifierName(argument->name)); + + argument = argument->nextArgument; + ++numArgs; + } + m_writer.EndLine(");"); + + // Copy values from the result into the out attributes as necessary. + argument = entryFunction->argument; + while (argument != NULL) + { + if (argument->modifier == HLSLArgumentModifier_Out && argument->semantic) + OutputSetOutAttribute(argument->semantic, GetSafeIdentifierName(argument->name)); + + argument = argument->nextArgument; + } + + if (entryFunction->returnType.baseType == HLSLBaseType_UserDefined) + { + HLSLStruct* structDeclaration = FindStruct(root, entryFunction->returnType.typeName); + ASSERT(structDeclaration != NULL); + HLSLStructField* field = structDeclaration->field; + while (field != NULL) + { + char fieldResultName[1024]; + String_Printf( fieldResultName, sizeof(fieldResultName), "%s.%s", resultName, field->name ); + OutputSetOutAttribute( field->semantic, fieldResultName ); + field = field->nextField; + } + } + else if (entryFunction->semantic != NULL) + { + OutputSetOutAttribute(entryFunction->semantic, resultName); + } + + m_writer.WriteLine(0, "}"); +} + +void GLSLGenerator::OutputDeclaration(HLSLDeclaration* declaration, const bool skipAssignment) +{ + OutputDeclarationType( declaration->type ); + + HLSLDeclaration* lastDecl = nullptr; + while( declaration ) + { + if( lastDecl ) + m_writer.Write( ", " ); + + OutputDeclarationBody( declaration->type, GetSafeIdentifierName( declaration->name ) ); + + if( declaration->assignment != NULL ) + { + if (!skipAssignment) + { + OutputDeclarationAssignment(declaration); + } + else + { + globalVarsAssignments.push_back(declaration); + } + } + + lastDecl = declaration; + declaration = declaration->nextDeclaration; + } +} + +void GLSLGenerator::OutputDeclarationAssignment(HLSLDeclaration* declaration) +{ + m_writer.Write( " = " ); + if( declaration->type.array ) + { + m_writer.Write( "%s[]( ", GetTypeName( declaration->type ) ); + OutputExpressionList( declaration->assignment ); + m_writer.Write( " )" ); + } + else + { + bool matrixCtorNeeded = false; + if (IsMatrixType(declaration->type.baseType)) + { + matrixCtor ctor = matrixCtorBuilder(declaration->type, declaration->assignment); + if (std::find(matrixCtors.cbegin(), matrixCtors.cend(), ctor) != matrixCtors.cend()) + { + matrixCtorNeeded = true; + } + } + + if (matrixCtorNeeded) + { + // Matrix contructors needs to be adapted since GLSL access a matrix as m[c][r] while HLSL is m[r][c] + matrixCtor ctor = matrixCtorBuilder(declaration->type, declaration->assignment); + m_writer.Write("%s(", matrixCtorsId[ctor].c_str()); + OutputExpressionList(declaration->assignment); + m_writer.Write(")"); + } + else + { + m_writer.Write( "%s( ", GetTypeName( declaration->type ) ); + OutputExpressionList( declaration->assignment ); + m_writer.Write( " )" ); + } + } +} + +void GLSLGenerator::OutputDeclaration(const HLSLType& type, const char* name) +{ + OutputDeclarationType( type ); + OutputDeclarationBody( type, name ); +} + +void GLSLGenerator::OutputDeclarationType( const HLSLType& type ) +{ + m_writer.Write( "%s ", GetTypeName( type ) ); +} + +void GLSLGenerator::OutputDeclarationBody( const HLSLType& type, const char* name ) +{ + if( !type.array ) + { + m_writer.Write( "%s", GetSafeIdentifierName( name ) ); + } + else + { + m_writer.Write( "%s[", GetSafeIdentifierName( name ) ); + if( type.arraySize != NULL ) + { + OutputExpression( type.arraySize ); + } + m_writer.Write( "]" ); + } +} + +void GLSLGenerator::OutputCast(const HLSLType& type) +{ + if (m_version == Version_110 && type.baseType == HLSLBaseType_Float3x3) + m_writer.Write("%s", m_matrixCtorFunction); + else + OutputDeclaration(type, ""); +} + +void GLSLGenerator::Error(const char* format, ...) +{ + // It's not always convenient to stop executing when an error occurs, + // so just track once we've hit an error and stop reporting them until + // we successfully bail out of execution. + if (m_error) + { + return; + } + m_error = true; + + va_list arg; + va_start(arg, format); + Log_ErrorArgList(format, arg); + va_end(arg); +} + +const char* GLSLGenerator::GetSafeIdentifierName(const char* name) const +{ + for (int i = 0; i < s_numReservedWords; ++i) + { + if (String_Equal(s_reservedWord[i], name)) + { + return m_reservedWord[i]; + } + } + return name; +} + +bool GLSLGenerator::ChooseUniqueName(const char* base, char* dst, int dstLength) const +{ + for (int i = 0; i < 1024; ++i) + { + String_Printf(dst, dstLength, "%s%d", base, i); + if (!m_tree->GetContainsString(dst)) + { + return true; + } + } + return false; +} + +const char* GLSLGenerator::GetBuiltInSemantic(const char* semantic, AttributeModifier modifier, int* outputIndex) +{ + if (outputIndex) + *outputIndex = -1; + + if (m_target == Target_VertexShader && modifier == AttributeModifier_Out && String_Equal(semantic, "POSITION")) + return "gl_Position"; + + if (m_target == Target_VertexShader && modifier == AttributeModifier_Out && String_Equal(semantic, "SV_Position")) + return "gl_Position"; + + if (m_target == Target_VertexShader && modifier == AttributeModifier_Out && String_Equal(semantic, "PSIZE")) + return "gl_PointSize"; + + if (m_target == Target_VertexShader && modifier == AttributeModifier_In && String_Equal(semantic, "SV_InstanceID")) + return "gl_InstanceID"; + + if (m_target == Target_FragmentShader && modifier == AttributeModifier_Out && String_Equal(semantic, "SV_Depth")) + return "gl_FragDepth"; + + if (m_target == Target_FragmentShader && modifier == AttributeModifier_In && String_Equal(semantic, "SV_Position")) + return "gl_FragCoord"; + + if (m_target == Target_FragmentShader && modifier == AttributeModifier_Out) + { + int index = -1; + + if (strncmp(semantic, "COLOR", 5) == 0) + index = atoi(semantic + 5); + else if (strncmp(semantic, "SV_Target", 9) == 0) + index = atoi(semantic + 9); + + if (index >= 0) + { + if (m_outputTargets <= index) + m_outputTargets = index + 1; + + if (outputIndex) + *outputIndex = index; + + return m_versionLegacy ? "gl_FragData" : "rast_FragData"; + } + } + + return NULL; +} + +void GLSLGenerator::CompleteConstructorArguments(HLSLExpression* expression, HLSLBaseType dstType) +{ + int nbComponentsProvided = 0; + int nbComponentsNeeded = 0; + + const BaseTypeDescription& dstTypeDesc = baseTypeDescriptions[dstType]; + nbComponentsNeeded = dstTypeDesc.numComponents * dstTypeDesc.height; + + const BaseTypeDescription& srcTypeDesc = baseTypeDescriptions[expression->expressionType.baseType]; + nbComponentsProvided = srcTypeDesc.numComponents * srcTypeDesc.height; + if (IsMatrixType(expression->expressionType.baseType) || + IsVectorType(expression->expressionType.baseType) ) + { + for(int i = nbComponentsProvided; i < nbComponentsNeeded; i++) + { + m_writer.Write(", 0"); + } + } +} + + +void GLSLGenerator::OutputMatrixCtors() { + for(matrixCtor & ctor : matrixCtors) + { + m_writer.Write("%s %s(", + GetTypeName(HLSLType(ctor.matrixType)), + matrixCtorsId[ctor].c_str()); + int argNum = 0; + for(HLSLBaseType argType : ctor.argumentTypes) + { + if (argNum == 0) + { + m_writer.Write("%s %c", GetTypeName(HLSLType(argType)), 'a' + argNum); + } + else + { + m_writer.Write(", %s %c", GetTypeName(HLSLType(argType)), 'a' + argNum); + } + argNum++; + } + m_writer.Write( ") { return %s(", GetTypeName(HLSLType(ctor.matrixType))); + + const BaseTypeDescription& ctorTypeDesc = baseTypeDescriptions[ctor.matrixType]; + std::vector args(ctorTypeDesc.numComponents * ctorTypeDesc.height, "0"); + int argNumIn = 0; + int argNumOut = 0; + for(HLSLBaseType argType : ctor.argumentTypes) + { + std::string arg; + arg += 'a' + argNumIn; + + if (IsScalarType(argType)) + { + int index = (argNumOut % ctorTypeDesc.height) * (ctorTypeDesc.numComponents) + + (argNumOut / ctorTypeDesc.height); + args[index] = arg; + argNumOut++; + } + else if (IsVectorType(argType)) + { + const BaseTypeDescription& argTypeDesc = baseTypeDescriptions[argType]; + for(int dim = 0; dim < argTypeDesc.numComponents; dim++) + { + std::string argVect = arg + "."; + argVect += "xyzw"[dim]; + int index = (argNumOut % ctorTypeDesc.height) * (ctorTypeDesc.numComponents) + + (argNumOut / ctorTypeDesc.height); + args[index] = argVect; + argNumOut++; + } + } + + argNumIn++; + } + + bool first = true; + for(std::string & arg : args) + { + if (!first) + { + m_writer.Write(",%s", arg.c_str()); + } + else + { + m_writer.Write("%s", arg.c_str()); + } + first = false; + } + + m_writer.Write("); }"); + m_writer.EndLine(); + } +} + + +} diff --git a/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.h b/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.h new file mode 100755 index 0000000000..0984252313 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/GLSLGenerator.h @@ -0,0 +1,172 @@ +//============================================================================= +// +// Render/GLSLGenerator.h +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +#ifndef GLSL_GENERATOR_H +#define GLSL_GENERATOR_H + +#include "CodeWriter.h" +#include "HLSLTree.h" + +namespace M4 +{ + +class GLSLGenerator +{ + +public: + enum Target + { + Target_VertexShader, + Target_FragmentShader, + }; + + enum Version + { + Version_110, // OpenGL 2.0 + Version_140, // OpenGL 3.1 + Version_150, // OpenGL 3.2 + Version_330, // OpenGL 3.3 + Version_100_ES, // OpenGL ES 2.0 + Version_300_ES, // OpenGL ES 3.0 + }; + + enum Flags + { + Flag_FlipPositionOutput = 1 << 0, + Flag_EmulateConstantBuffer = 1 << 1, + Flag_PackMatrixRowMajor = 1 << 2, + Flag_LowerMatrixMultiplication = 1 << 3, + }; + + struct Options + { + unsigned int flags; + const char* constantBufferPrefix; + + Options() + { + flags = 0; + constantBufferPrefix = ""; + } + }; + + GLSLGenerator(); + + bool Generate(HLSLTree* tree, Target target, Version versiom, const char* entryName, const Options& options = Options()); + const char* GetResult() const; + +private: + + enum AttributeModifier + { + AttributeModifier_In, + AttributeModifier_Out, + }; + + void OutputExpressionList(HLSLExpression* expression, HLSLArgument* argument = NULL); + void OutputExpression(HLSLExpression* expression, const HLSLType* dstType = NULL); + void OutputIdentifier(const char* name); + void OutputArguments(HLSLArgument* argument); + + /** + * If the statements are part of a function, then returnType can be used to specify the type + * that a return statement is expected to produce so that correct casts will be generated. + */ + void OutputStatements(int indent, HLSLStatement* statement, const HLSLType* returnType = NULL); + + void OutputAttribute(const HLSLType& type, const char* semantic, AttributeModifier modifier); + void OutputAttributes(HLSLFunction* entryFunction); + void OutputEntryCaller(HLSLFunction* entryFunction); + void OutputDeclaration(HLSLDeclaration* declaration, const bool skipAssignment); + void OutputDeclarationType( const HLSLType& type ); + void OutputDeclarationBody( const HLSLType& type, const char* name ); + void OutputDeclaration(const HLSLType& type, const char* name); + void OutputDeclarationAssignment(HLSLDeclaration* declaration); + void OutputCast(const HLSLType& type); + + void OutputSetOutAttribute(const char* semantic, const char* resultName); + + void LayoutBuffer(HLSLBuffer* buffer, unsigned int& offset); + void LayoutBuffer(const HLSLType& type, unsigned int& offset); + void LayoutBufferElement(const HLSLType& type, unsigned int& offset); + void LayoutBufferAlign(const HLSLType& type, unsigned int& offset); + + HLSLBuffer* GetBufferAccessExpression(HLSLExpression* expression); + void OutputBufferAccessExpression(HLSLBuffer* buffer, HLSLExpression* expression, const HLSLType& type, unsigned int postOffset); + unsigned int OutputBufferAccessIndex(HLSLExpression* expression, unsigned int postOffset); + + void OutputBuffer(int indent, HLSLBuffer* buffer); + + HLSLFunction* FindFunction(HLSLRoot* root, const char* name); + HLSLStruct* FindStruct(HLSLRoot* root, const char* name); + + void Error(const char* format, ...); + + /** GLSL contains some reserved words that don't exist in HLSL. This function will + * sanitize those names. */ + const char* GetSafeIdentifierName(const char* name) const; + + /** Generates a name of the format "base+n" where n is an integer such that the name + * isn't used in the syntax tree. */ + bool ChooseUniqueName(const char* base, char* dst, int dstLength) const; + + const char* GetBuiltInSemantic(const char* semantic, AttributeModifier modifier, int* outputIndex = 0); + const char* GetAttribQualifier(AttributeModifier modifier); + void CompleteConstructorArguments(HLSLExpression* expression, HLSLBaseType dstType); + void OutputMatrixCtors(); + +private: + + static const int s_numReservedWords = 9; + static const char* s_reservedWord[s_numReservedWords]; + + CodeWriter m_writer; + + HLSLTree* m_tree; + const char* m_entryName; + Target m_target; + Version m_version; + bool m_versionLegacy; + Options m_options; + + bool m_outputPosition; + int m_outputTargets; + + const char* m_outAttribPrefix; + const char* m_inAttribPrefix; + + char m_matrixRowFunction[64]; + char m_matrixCtorFunction[64]; + char m_matrixMulFunction[64]; + char m_clipFunction[64]; + char m_tex2DlodFunction[64]; + char m_tex2DbiasFunction[64]; + char m_tex2DgradFunction[64]; + char m_tex3DlodFunction[64]; + char m_texCUBEbiasFunction[64]; + char m_texCUBElodFunction[ 64 ]; + char m_scalarSwizzle2Function[64]; + char m_scalarSwizzle3Function[64]; + char m_scalarSwizzle4Function[64]; + char m_sinCosFunction[64]; + char m_bvecTernary[ 64 ]; + + bool m_error; + + char m_reservedWord[s_numReservedWords][64]; + + std::vector matrixCtors; + std::map matrixCtorsId; + std::vector globalVarsAssignments; + +}; + +} + +#endif diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLParser.cpp b/src/libprojectM/Renderer/hlslparser/src/HLSLParser.cpp new file mode 100755 index 0000000000..99bcb313cf --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLParser.cpp @@ -0,0 +1,4447 @@ +//============================================================================= +// +// Render/HLSLParser.cpp +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +//#include "Engine/String.h" +#include "Engine.h" + +#include "HLSLParser.h" +#include "HLSLTree.h" + +#include +#include +#include +#include +#include +#include +#include +#if defined WIN32 && !defined alloca +#include +#endif /** WIN32 */ + + +namespace M4 +{ + +enum CompareFunctionsResult +{ + FunctionsEqual, + Function1Better, + Function2Better +}; + + +/** This structure stores a HLSLFunction-like declaration for an intrinsic function */ +struct Intrinsic +{ + explicit Intrinsic(const char* name, HLSLBaseType returnType) + { + function.name = name; + function.returnType.baseType = returnType; + function.numArguments = 0; + } + explicit Intrinsic(const char* name, HLSLBaseType returnType, HLSLBaseType arg1) + { + function.name = name; + function.returnType.baseType = returnType; + function.numArguments = 1; + function.argument = argument + 0; + argument[0].type.baseType = arg1; + argument[0].type.flags = HLSLTypeFlag_Const; + } + explicit Intrinsic(const char* name, HLSLBaseType returnType, HLSLBaseType arg1, HLSLBaseType arg2) + { + function.name = name; + function.returnType.baseType = returnType; + function.argument = argument + 0; + function.numArguments = 2; + argument[0].type.baseType = arg1; + argument[0].type.flags = HLSLTypeFlag_Const; + argument[0].nextArgument = argument + 1; + argument[1].type.baseType = arg2; + argument[1].type.flags = HLSLTypeFlag_Const; + } + explicit Intrinsic(const char* name, HLSLBaseType returnType, HLSLBaseType arg1, HLSLBaseType arg2, HLSLBaseType arg3) + { + function.name = name; + function.returnType.baseType = returnType; + function.argument = argument + 0; + function.numArguments = 3; + argument[0].type.baseType = arg1; + argument[0].type.flags = HLSLTypeFlag_Const; + argument[0].nextArgument = argument + 1; + argument[1].type.baseType = arg2; + argument[1].type.flags = HLSLTypeFlag_Const; + argument[1].nextArgument = argument + 2; + argument[2].type.baseType = arg3; + argument[2].type.flags = HLSLTypeFlag_Const; + } + explicit Intrinsic(const char* name, HLSLBaseType returnType, HLSLBaseType arg1, HLSLBaseType arg2, HLSLBaseType arg3, HLSLBaseType arg4) + { + function.name = name; + function.returnType.baseType = returnType; + function.argument = argument + 0; + function.numArguments = 4; + argument[0].type.baseType = arg1; + argument[0].type.flags = HLSLTypeFlag_Const; + argument[0].nextArgument = argument + 1; + argument[1].type.baseType = arg2; + argument[1].type.flags = HLSLTypeFlag_Const; + argument[1].nextArgument = argument + 2; + argument[2].type.baseType = arg3; + argument[2].type.flags = HLSLTypeFlag_Const; + argument[2].nextArgument = argument + 3; + argument[3].type.baseType = arg4; + argument[3].type.flags = HLSLTypeFlag_Const; + } + HLSLFunction function; + HLSLArgument argument[4]; +}; + +Intrinsic SamplerIntrinsic(const char* name, HLSLBaseType returnType, HLSLBaseType arg1, HLSLBaseType samplerType, HLSLBaseType arg2) +{ + Intrinsic i(name, returnType, arg1, arg2); + i.argument[0].type.samplerType = samplerType; + return i; +} + + + +static const int _numberTypeRank[NumericType_Count][NumericType_Count] = +{ + //F B I U + { 0, 4, 4, 4 }, // NumericType_Float + { 5, 0, 5, 5 }, // NumericType_Bool + { 2, 4, 0, 1 }, // NumericType_Int + { 2, 4, 1, 0 } // NumericType_Uint +}; + + +struct EffectStateValue +{ + const char * name; + int value; +}; + +static const EffectStateValue textureFilteringValues[] = { + {"None", 0}, + {"Point", 1}, + {"Linear", 2}, + {"Anisotropic", 3}, + {NULL, 0} +}; + +static const EffectStateValue textureAddressingValues[] = { + {"Wrap", 1}, + {"Mirror", 2}, + {"Clamp", 3}, + {"Border", 4}, + {"MirrorOnce", 5}, + {NULL, 0} +}; + +static const EffectStateValue booleanValues[] = { + {"False", 0}, + {"True", 1}, + {NULL, 0} +}; + +static const EffectStateValue cullValues[] = { + {"None", 1}, + {"CW", 2}, + {"CCW", 3}, + {NULL, 0} +}; + +static const EffectStateValue cmpValues[] = { + {"Never", 1}, + {"Less", 2}, + {"Equal", 3}, + {"LessEqual", 4}, + {"Greater", 5}, + {"NotEqual", 6}, + {"GreaterEqual", 7}, + {"Always", 8}, + {NULL, 0} +}; + +static const EffectStateValue blendValues[] = { + {"Zero", 1}, + {"One", 2}, + {"SrcColor", 3}, + {"InvSrcColor", 4}, + {"SrcAlpha", 5}, + {"InvSrcAlpha", 6}, + {"DestAlpha", 7}, + {"InvDestAlpha", 8}, + {"DestColor", 9}, + {"InvDestColor", 10}, + {"SrcAlphaSat", 11}, + {"BothSrcAlpha", 12}, + {"BothInvSrcAlpha", 13}, + {"BlendFactor", 14}, + {"InvBlendFactor", 15}, + {"SrcColor2", 16}, // Dual source blending. D3D9Ex only. + {"InvSrcColor2", 17}, + {NULL, 0} +}; + +static const EffectStateValue blendOpValues[] = { + {"Add", 1}, + {"Subtract", 2}, + {"RevSubtract", 3}, + {"Min", 4}, + {"Max", 5}, + {NULL, 0} +}; + +static const EffectStateValue fillModeValues[] = { + {"Point", 1}, + {"Wireframe", 2}, + {"Solid", 3}, + {NULL, 0} +}; + +static const EffectStateValue stencilOpValues[] = { + {"Keep", 1}, + {"Zero", 2}, + {"Replace", 3}, + {"IncrSat", 4}, + {"DecrSat", 5}, + {"Invert", 6}, + {"Incr", 7}, + {"Decr", 8}, + {NULL, 0} +}; + +// These are flags. +static const EffectStateValue colorMaskValues[] = { + {"False", 0}, + {"Red", 1<<0}, + {"Green", 1<<1}, + {"Blue", 1<<2}, + {"Alpha", 1<<3}, + {"X", 1<<0}, + {"Y", 1<<1}, + {"Z", 1<<2}, + {"W", 1<<3}, + {NULL, 0} +}; + +static const EffectStateValue integerValues[] = { + {NULL, 0} +}; + +static const EffectStateValue floatValues[] = { + {NULL, 0} +}; + + +struct EffectState +{ + const char * name; + int d3drs; + const EffectStateValue * values; +}; + +static const EffectState samplerStates[] = { + {"AddressU", 1, textureAddressingValues}, + {"AddressV", 2, textureAddressingValues}, + {"AddressW", 3, textureAddressingValues}, + // "BorderColor", 4, D3DCOLOR + {"MagFilter", 5, textureFilteringValues}, + {"MinFilter", 6, textureFilteringValues}, + {"MipFilter", 7, textureFilteringValues}, + {"MipMapLodBias", 8, floatValues}, + {"MaxMipLevel", 9, integerValues}, + {"MaxAnisotropy", 10, integerValues}, + {"sRGBTexture", 11, booleanValues}, +}; + +static const EffectState effectStates[] = { + {"VertexShader", 0, NULL}, + {"PixelShader", 0, NULL}, + {"AlphaBlendEnable", 27, booleanValues}, + {"SrcBlend", 19, blendValues}, + {"DestBlend", 20, blendValues}, + {"BlendOp", 171, blendOpValues}, + {"SeparateAlphaBlendEanble", 206, booleanValues}, + {"SrcBlendAlpha", 207, blendValues}, + {"DestBlendAlpha", 208, blendValues}, + {"BlendOpAlpha", 209, blendOpValues}, + {"AlphaTestEnable", 15, booleanValues}, + {"AlphaRef", 24, integerValues}, + {"AlphaFunc", 25, cmpValues}, + {"CullMode", 22, cullValues}, + {"ZEnable", 7, booleanValues}, + {"ZWriteEnable", 14, booleanValues}, + {"ZFunc", 23, cmpValues}, + {"StencilEnable", 52, booleanValues}, + {"StencilFail", 53, stencilOpValues}, + {"StencilZFail", 54, stencilOpValues}, + {"StencilPass", 55, stencilOpValues}, + {"StencilFunc", 56, cmpValues}, + {"StencilRef", 57, integerValues}, + {"StencilMask", 58, integerValues}, + {"StencilWriteMask", 59, integerValues}, + {"TwoSidedStencilMode", 185, booleanValues}, + {"CCW_StencilFail", 186, stencilOpValues}, + {"CCW_StencilZFail", 187, stencilOpValues}, + {"CCW_StencilPass", 188, stencilOpValues}, + {"CCW_StencilFunc", 189, cmpValues}, + {"ColorWriteEnable", 168, colorMaskValues}, + {"FillMode", 8, fillModeValues}, + {"MultisampleAlias", 161, booleanValues}, + {"MultisampleMask", 162, integerValues}, + {"ScissorTestEnable", 174, booleanValues}, + {"SlopeScaleDepthBias", 175, floatValues}, + {"DepthBias", 195, floatValues} +}; + + +static const EffectStateValue witnessCullModeValues[] = { + {"None", 0}, + {"Back", 1}, + {"Front", 2}, + {NULL, 0} +}; + +static const EffectStateValue witnessFillModeValues[] = { + {"Solid", 0}, + {"Wireframe", 1}, + {NULL, 0} +}; + +static const EffectStateValue witnessBlendModeValues[] = { + {"Disabled", 0}, + {"AlphaBlend", 1}, // src * a + dst * (1-a) + {"Add", 2}, // src + dst + {"Mixed", 3}, // src + dst * (1-a) + {"Multiply", 4}, // src * dst + {"Multiply2", 5}, // 2 * src * dst + {NULL, 0} +}; + +static const EffectStateValue witnessDepthFuncValues[] = { + {"LessEqual", 0}, + {"Less", 1}, + {"Equal", 2}, + {"Greater", 3}, + {"Always", 4}, + {NULL, 0} +}; + +static const EffectStateValue witnessStencilModeValues[] = { + {"Disabled", 0}, + {"Set", 1}, + {"Test", 2}, + {NULL, 0} +}; + +/* not used +static const EffectStateValue witnessFilterModeValues[] = { + {"Point", 0}, + {"Linear", 1}, + {"Mipmap_Nearest", 2}, + {"Mipmap_Best", 3}, // Quality of mipmap filtering depends on render settings. + {"Anisotropic", 4}, // Aniso without mipmaps for reflection maps. + {NULL, 0} +}; + +static const EffectStateValue witnessWrapModeValues[] = { + {"Repeat", 0}, + {"Clamp", 1}, + {"ClampToBorder", 2}, + {NULL, 0} +}; +*/ + +static const EffectState pipelineStates[] = { + {"VertexShader", 0, NULL}, + {"PixelShader", 0, NULL}, + + // Depth_Stencil_State + {"DepthWrite", 0, booleanValues}, + {"DepthEnable", 0, booleanValues}, + {"DepthFunc", 0, witnessDepthFuncValues}, + {"StencilMode", 0, witnessStencilModeValues}, + + // Raster_State + {"CullMode", 0, witnessCullModeValues}, + {"FillMode", 0, witnessFillModeValues}, + {"MultisampleEnable", 0, booleanValues}, + {"PolygonOffset", 0, booleanValues}, + + // Blend_State + {"BlendMode", 0, witnessBlendModeValues}, + {"ColorWrite", 0, booleanValues}, + {"AlphaWrite", 0, booleanValues}, + {"AlphaTest", 0, booleanValues}, // This is really alpha to coverage. +}; + + + + + +#define INTRINSIC_FLOAT1_FUNCTION(name) \ + Intrinsic( name, HLSLBaseType_Float, HLSLBaseType_Float ), \ + Intrinsic( name, HLSLBaseType_Float2, HLSLBaseType_Float2 ), \ + Intrinsic( name, HLSLBaseType_Float3, HLSLBaseType_Float3 ), \ + Intrinsic( name, HLSLBaseType_Float4, HLSLBaseType_Float4 ) + +#define INTRINSIC_FLOAT2_FUNCTION(name) \ + Intrinsic( name, HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float ), \ + Intrinsic( name, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2 ), \ + Intrinsic( name, HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3 ), \ + Intrinsic( name, HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4 ) + +#define INTRINSIC_FLOAT3_FUNCTION(name) \ + Intrinsic( name, HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float ), \ + Intrinsic( name, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2 ), \ + Intrinsic( name, HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3 ), \ + Intrinsic( name, HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4 ) + +#if 0 +// @@ IC: For some reason this is not working with the Visual Studio compiler: +#define SAMPLER_INTRINSIC_FUNCTION(name, sampler, arg1) \ + SamplerIntrinsic( name, HLSLBaseType_Float4, sampler, HLSLBaseType_Float, arg1) +#else +#define SAMPLER_INTRINSIC_FUNCTION(name, sampler, arg1) \ + Intrinsic( name, HLSLBaseType_Float4, sampler, arg1) +#endif + +const Intrinsic _intrinsic[] = + { + INTRINSIC_FLOAT1_FUNCTION( "abs" ), + INTRINSIC_FLOAT1_FUNCTION( "acos" ), + + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float4 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float2x4 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float2x3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float2x2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float3x4 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float3x3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float3x2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float4x4 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float4x3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Float4x2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Bool ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Int ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Int2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Int3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Int4 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Uint ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Uint2 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Uint3 ), + Intrinsic( "any", HLSLBaseType_Bool, HLSLBaseType_Uint4 ), + + INTRINSIC_FLOAT1_FUNCTION( "asin" ), + INTRINSIC_FLOAT1_FUNCTION( "atan" ), + INTRINSIC_FLOAT2_FUNCTION( "atan2" ), + INTRINSIC_FLOAT3_FUNCTION( "clamp" ), + INTRINSIC_FLOAT1_FUNCTION( "cos" ), + INTRINSIC_FLOAT1_FUNCTION( "tan" ), + + INTRINSIC_FLOAT3_FUNCTION( "lerp" ), + INTRINSIC_FLOAT3_FUNCTION( "smoothstep" ), + + INTRINSIC_FLOAT1_FUNCTION( "floor" ), + INTRINSIC_FLOAT1_FUNCTION( "ceil" ), + INTRINSIC_FLOAT1_FUNCTION( "frac" ), + + INTRINSIC_FLOAT2_FUNCTION( "fmod" ), + + Intrinsic( "clip", HLSLBaseType_Void, HLSLBaseType_Float ), + Intrinsic( "clip", HLSLBaseType_Void, HLSLBaseType_Float2 ), + Intrinsic( "clip", HLSLBaseType_Void, HLSLBaseType_Float3 ), + Intrinsic( "clip", HLSLBaseType_Void, HLSLBaseType_Float4 ), + + Intrinsic( "dot", HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float ), + Intrinsic( "dot", HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float2 ), + Intrinsic( "dot", HLSLBaseType_Float, HLSLBaseType_Float3, HLSLBaseType_Float3 ), + Intrinsic( "dot", HLSLBaseType_Float, HLSLBaseType_Float4, HLSLBaseType_Float4 ), + + Intrinsic( "cross", HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3 ), + + Intrinsic( "length", HLSLBaseType_Float, HLSLBaseType_Float ), + Intrinsic( "length", HLSLBaseType_Float, HLSLBaseType_Float2 ), + Intrinsic( "length", HLSLBaseType_Float, HLSLBaseType_Float3 ), + Intrinsic( "length", HLSLBaseType_Float, HLSLBaseType_Float4 ), + + INTRINSIC_FLOAT2_FUNCTION( "max" ), + INTRINSIC_FLOAT2_FUNCTION( "min" ), + + // @@ Add all combinations. + // https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-mul + + // scalar = mul(scalar, scalar) + Intrinsic( "mul", HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float), + + // vector = mul(scalar, vector) + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float, HLSLBaseType_Float4), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float, HLSLBaseType_Float3), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float, HLSLBaseType_Float2), + + // matrix = mul(scalar, matrix) + Intrinsic( "mul", HLSLBaseType_Float4x4, HLSLBaseType_Float, HLSLBaseType_Float4x4), + Intrinsic( "mul", HLSLBaseType_Float4x3, HLSLBaseType_Float, HLSLBaseType_Float4x3), + Intrinsic( "mul", HLSLBaseType_Float4x2, HLSLBaseType_Float, HLSLBaseType_Float4x2), + + Intrinsic( "mul", HLSLBaseType_Float3x4, HLSLBaseType_Float, HLSLBaseType_Float3x4), + Intrinsic( "mul", HLSLBaseType_Float3x3, HLSLBaseType_Float, HLSLBaseType_Float3x3), + Intrinsic( "mul", HLSLBaseType_Float3x2, HLSLBaseType_Float, HLSLBaseType_Float3x2), + + Intrinsic( "mul", HLSLBaseType_Float2x4, HLSLBaseType_Float, HLSLBaseType_Float2x4), + Intrinsic( "mul", HLSLBaseType_Float2x3, HLSLBaseType_Float, HLSLBaseType_Float2x3), + Intrinsic( "mul", HLSLBaseType_Float2x2, HLSLBaseType_Float, HLSLBaseType_Float2x2), + + // vector = mul(vector, scalar) + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float), + + // scalar = mul(vector, vector) it's a dot product ! + Intrinsic( "mul", HLSLBaseType_Float, HLSLBaseType_Float4, HLSLBaseType_Float4), + Intrinsic( "mul", HLSLBaseType_Float, HLSLBaseType_Float3, HLSLBaseType_Float3), + Intrinsic( "mul", HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float2), + + // vector = mul(vector, matrix) + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4x4), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float4, HLSLBaseType_Float4x3), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float4, HLSLBaseType_Float4x2), + + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float3, HLSLBaseType_Float3x4), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3x3), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3x2), + + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float2x4), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float2x3), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2x2), + + // matrix = mul(matrix,scalar) + Intrinsic( "mul", HLSLBaseType_Float4x4, HLSLBaseType_Float4x4, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float3x4, HLSLBaseType_Float3x4, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float2x4, HLSLBaseType_Float2x4, HLSLBaseType_Float), + + Intrinsic( "mul", HLSLBaseType_Float4x3, HLSLBaseType_Float4x3, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float3x3, HLSLBaseType_Float3x3, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float2x3, HLSLBaseType_Float2x3, HLSLBaseType_Float), + + Intrinsic( "mul", HLSLBaseType_Float4x2, HLSLBaseType_Float4x2, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float3x2, HLSLBaseType_Float3x2, HLSLBaseType_Float), + Intrinsic( "mul", HLSLBaseType_Float2x2, HLSLBaseType_Float2x2, HLSLBaseType_Float), + + // vector = mul(matrix, vector) + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float4x4, HLSLBaseType_Float4), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float3x4, HLSLBaseType_Float4), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float2x4, HLSLBaseType_Float4), + + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float4x3, HLSLBaseType_Float3), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float3x3, HLSLBaseType_Float3), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float2x3, HLSLBaseType_Float3), + + Intrinsic( "mul", HLSLBaseType_Float4, HLSLBaseType_Float4x2, HLSLBaseType_Float2), + Intrinsic( "mul", HLSLBaseType_Float3, HLSLBaseType_Float3x2, HLSLBaseType_Float2), + Intrinsic( "mul", HLSLBaseType_Float2, HLSLBaseType_Float2x2, HLSLBaseType_Float2), + + // matrix = mul(matrix, matrix<4,M) + Intrinsic( "mul", HLSLBaseType_Float4x4, HLSLBaseType_Float4x4, HLSLBaseType_Float4x4 ), + Intrinsic( "mul", HLSLBaseType_Float4x3, HLSLBaseType_Float4x4, HLSLBaseType_Float4x3 ), + Intrinsic( "mul", HLSLBaseType_Float4x2, HLSLBaseType_Float4x4, HLSLBaseType_Float4x2 ), + + Intrinsic( "mul", HLSLBaseType_Float3x4, HLSLBaseType_Float3x4, HLSLBaseType_Float4x4 ), + Intrinsic( "mul", HLSLBaseType_Float3x3, HLSLBaseType_Float3x4, HLSLBaseType_Float4x3 ), + Intrinsic( "mul", HLSLBaseType_Float3x2, HLSLBaseType_Float3x4, HLSLBaseType_Float4x2 ), + + Intrinsic( "mul", HLSLBaseType_Float2x4, HLSLBaseType_Float2x4, HLSLBaseType_Float4x4 ), + Intrinsic( "mul", HLSLBaseType_Float2x3, HLSLBaseType_Float2x4, HLSLBaseType_Float4x3 ), + Intrinsic( "mul", HLSLBaseType_Float2x2, HLSLBaseType_Float2x4, HLSLBaseType_Float4x2 ), + + // matrix = mul(matrix, matrix<3,M>) + Intrinsic( "mul", HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float3x4 ), + Intrinsic( "mul", HLSLBaseType_Float4x3, HLSLBaseType_Float4x3, HLSLBaseType_Float3x3 ), + Intrinsic( "mul", HLSLBaseType_Float4x2, HLSLBaseType_Float4x3, HLSLBaseType_Float3x2 ), + + Intrinsic( "mul", HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x4 ), + Intrinsic( "mul", HLSLBaseType_Float3x3, HLSLBaseType_Float3x3, HLSLBaseType_Float3x3 ), + Intrinsic( "mul", HLSLBaseType_Float3x2, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2 ), + + Intrinsic( "mul", HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float3x4 ), + Intrinsic( "mul", HLSLBaseType_Float2x3, HLSLBaseType_Float2x3, HLSLBaseType_Float3x3 ), + Intrinsic( "mul", HLSLBaseType_Float2x2, HLSLBaseType_Float2x3, HLSLBaseType_Float3x2 ), + + // matrix = mul(matrix, matrix<2,M>) + Intrinsic( "mul", HLSLBaseType_Float4x4, HLSLBaseType_Float4x2, HLSLBaseType_Float2x4 ), + Intrinsic( "mul", HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, HLSLBaseType_Float2x3 ), + Intrinsic( "mul", HLSLBaseType_Float4x2, HLSLBaseType_Float4x2, HLSLBaseType_Float2x2 ), + + Intrinsic( "mul", HLSLBaseType_Float3x4, HLSLBaseType_Float3x2, HLSLBaseType_Float2x4 ), + Intrinsic( "mul", HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, HLSLBaseType_Float2x3 ), + Intrinsic( "mul", HLSLBaseType_Float3x2, HLSLBaseType_Float3x2, HLSLBaseType_Float2x2 ), + + Intrinsic( "mul", HLSLBaseType_Float2x4, HLSLBaseType_Float2x2, HLSLBaseType_Float2x4 ), + Intrinsic( "mul", HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, HLSLBaseType_Float2x3 ), + Intrinsic( "mul", HLSLBaseType_Float2x2, HLSLBaseType_Float2x2, HLSLBaseType_Float2x2 ), + + + Intrinsic( "transpose", HLSLBaseType_Float2x2, HLSLBaseType_Float2x2 ), + Intrinsic( "transpose", HLSLBaseType_Float3x3, HLSLBaseType_Float3x3 ), + Intrinsic( "transpose", HLSLBaseType_Float4x4, HLSLBaseType_Float4x4 ), + + INTRINSIC_FLOAT2_FUNCTION( "modf" ), + + INTRINSIC_FLOAT1_FUNCTION( "normalize" ), + INTRINSIC_FLOAT2_FUNCTION( "pow" ), + INTRINSIC_FLOAT1_FUNCTION( "saturate" ), + INTRINSIC_FLOAT1_FUNCTION( "sin" ), + INTRINSIC_FLOAT1_FUNCTION( "sqrt" ), + INTRINSIC_FLOAT1_FUNCTION( "rsqrt" ), + INTRINSIC_FLOAT1_FUNCTION( "rcp" ), + INTRINSIC_FLOAT1_FUNCTION( "exp" ), + INTRINSIC_FLOAT1_FUNCTION( "exp2" ), + INTRINSIC_FLOAT1_FUNCTION( "log" ), + INTRINSIC_FLOAT1_FUNCTION( "log2" ), + + INTRINSIC_FLOAT1_FUNCTION( "ddx" ), + INTRINSIC_FLOAT1_FUNCTION( "ddy" ), + + INTRINSIC_FLOAT1_FUNCTION( "sign" ), + INTRINSIC_FLOAT2_FUNCTION( "step" ), + INTRINSIC_FLOAT2_FUNCTION( "reflect" ), + + INTRINSIC_FLOAT1_FUNCTION("isnan"), + INTRINSIC_FLOAT1_FUNCTION("isinf"), + + Intrinsic("asuint", HLSLBaseType_Uint, HLSLBaseType_Float), + + SAMPLER_INTRINSIC_FUNCTION("tex2D", HLSLBaseType_Sampler2D, HLSLBaseType_Float2), + + Intrinsic("tex2Dproj", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Float4), + + SAMPLER_INTRINSIC_FUNCTION("tex2Dlod", HLSLBaseType_Sampler2D, HLSLBaseType_Float4), + + Intrinsic("tex2Dlod", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Float4, HLSLBaseType_Int2), // With offset. + + SAMPLER_INTRINSIC_FUNCTION("tex2Dbias", HLSLBaseType_Sampler2D, HLSLBaseType_Float4), + + Intrinsic("tex2Dgrad", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2), + Intrinsic("tex2Dgather", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Float2, HLSLBaseType_Int), + Intrinsic("tex2Dgather", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Float2, HLSLBaseType_Int2, HLSLBaseType_Int), // With offset. + Intrinsic("tex2Dsize", HLSLBaseType_Int2, HLSLBaseType_Sampler2D), + Intrinsic("tex2Dfetch", HLSLBaseType_Float4, HLSLBaseType_Sampler2D, HLSLBaseType_Int3), // u,v,mipmap + + Intrinsic("tex2Dcmp", HLSLBaseType_Float4, HLSLBaseType_Sampler2DShadow, HLSLBaseType_Float4), // @@ IC: This really takes a float3 (uvz) and returns a float. + + Intrinsic("tex2DMSfetch", HLSLBaseType_Float4, HLSLBaseType_Sampler2DMS, HLSLBaseType_Int2, HLSLBaseType_Int), + Intrinsic("tex2DMSsize", HLSLBaseType_Int3, HLSLBaseType_Sampler2DMS), + + Intrinsic("tex2DArray", HLSLBaseType_Float4, HLSLBaseType_Sampler2DArray, HLSLBaseType_Float3), + + Intrinsic("tex3D", HLSLBaseType_Float4, HLSLBaseType_Sampler3D, HLSLBaseType_Float3), + Intrinsic("tex3Dlod", HLSLBaseType_Float4, HLSLBaseType_Sampler3D, HLSLBaseType_Float4), + Intrinsic("tex3Dbias", HLSLBaseType_Float4, HLSLBaseType_Sampler3D, HLSLBaseType_Float4), + Intrinsic("tex3Dsize", HLSLBaseType_Int3, HLSLBaseType_Sampler3D), + + Intrinsic("texCUBE", HLSLBaseType_Float4, HLSLBaseType_SamplerCube, HLSLBaseType_Float3), + Intrinsic("texCUBElod", HLSLBaseType_Float4, HLSLBaseType_SamplerCube, HLSLBaseType_Float4), + Intrinsic("texCUBEbias", HLSLBaseType_Float4, HLSLBaseType_SamplerCube, HLSLBaseType_Float4), + Intrinsic("texCUBEsize", HLSLBaseType_Int, HLSLBaseType_SamplerCube), + + Intrinsic( "sincos", HLSLBaseType_Void, HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float ), + Intrinsic( "sincos", HLSLBaseType_Void, HLSLBaseType_Float2, HLSLBaseType_Float, HLSLBaseType_Float2 ), + Intrinsic( "sincos", HLSLBaseType_Void, HLSLBaseType_Float3, HLSLBaseType_Float, HLSLBaseType_Float3 ), + Intrinsic( "sincos", HLSLBaseType_Void, HLSLBaseType_Float4, HLSLBaseType_Float, HLSLBaseType_Float4 ), + + Intrinsic( "mad", HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float, HLSLBaseType_Float ), + Intrinsic( "mad", HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2 ), + Intrinsic( "mad", HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3 ), + Intrinsic( "mad", HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4, HLSLBaseType_Float4 ), + }; + +const int _numIntrinsics = sizeof(_intrinsic) / sizeof(Intrinsic); + +// The order in this array must match up with HLSLBinaryOp +const int _binaryOpPriority[] = + { + 2, 1, // &&, || + 8, 8, // +, - + 9, 9, // *, / + 7, 7, // <, >, + 7, 7, // <=, >=, + 6, 6, // ==, != + 5, 3, 4, // &, |, ^ + }; + + +// IC: I'm not sure this table is right, but any errors should be caught by the backend compiler. +// Also, this is operator dependent. The type resulting from (float4 * float4x4) is not the same as (float4 + float4x4). +// We should probably distinguish between component-wise operator and only allow same dimensions +HLSLBaseType _binaryOpTypeLookup[HLSLBaseType_NumericCount][HLSLBaseType_NumericCount] = + { + { // float + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4 + }, + { // float2 + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2 + }, + { // float3 + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3, + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3, + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3 + }, + { // float4 + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4 + }, + { // float2x4 + HLSLBaseType_Float2x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float2x3 + HLSLBaseType_Float2x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Float2x3, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float2x2 + HLSLBaseType_Float2x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Float2x2, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float2x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float3x4 + HLSLBaseType_Float3x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float3x3 + HLSLBaseType_Float3x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Float3x3, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float3x2 + HLSLBaseType_Float3x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Float3x2, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float3x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float4x4 + HLSLBaseType_Float4x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x4, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float4x3 + HLSLBaseType_Float4x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Float4x3, HLSLBaseType_Unknown, + HLSLBaseType_Float4x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x3, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // float4x2 + HLSLBaseType_Float4x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Float4x2, + HLSLBaseType_Float4x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Float4x2, HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown + }, + { // bool + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // bool2 + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // bool3 + HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Int3, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Int3, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint3, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // bool4 + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // int + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int2, + HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // int2 + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int2, + HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int2, HLSLBaseType_Int2, + HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2 + }, + { // int3 + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Int3, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int3, + HLSLBaseType_Int3, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int3, + HLSLBaseType_Uint3, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint3 + }, + { // int4 + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Int4, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Int4, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4, + HLSLBaseType_Uint4, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // uint + HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Float2x4, HLSLBaseType_Float2x3, HLSLBaseType_Float2x2, + HLSLBaseType_Float3x4, HLSLBaseType_Float3x3, HLSLBaseType_Float3x2, + HLSLBaseType_Float4x4, HLSLBaseType_Float4x3, HLSLBaseType_Float4x2, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4, + HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + { // uint2 + HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, HLSLBaseType_Float2, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, + HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, + HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2, HLSLBaseType_Uint2 + }, + { // uint3 + HLSLBaseType_Float3, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float3, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Uint3, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint3, + HLSLBaseType_Uint3, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint3, + HLSLBaseType_Uint3, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint3 + }, + { // uint4 + HLSLBaseType_Float4, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Unknown, HLSLBaseType_Unknown, HLSLBaseType_Unknown, + HLSLBaseType_Uint4, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4, + HLSLBaseType_Uint4, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4, + HLSLBaseType_Uint4, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 + }, + }; + +// Priority of the ? : operator. +const int _conditionalOpPriority = 1; + +static const char* GetTypeName(const HLSLType& type) +{ + if (type.baseType == HLSLBaseType_UserDefined) + { + return type.typeName; + } + else + { + return baseTypeDescriptions[type.baseType].typeName; + } +} + +static const char* GetBinaryOpName(HLSLBinaryOp binaryOp) +{ + switch (binaryOp) + { + case HLSLBinaryOp_And: return "&&"; + case HLSLBinaryOp_Or: return "||"; + case HLSLBinaryOp_Add: return "+"; + case HLSLBinaryOp_Sub: return "-"; + case HLSLBinaryOp_Mul: return "*"; + case HLSLBinaryOp_Div: return "/"; + case HLSLBinaryOp_Mod: return "%"; + case HLSLBinaryOp_Less: return "<"; + case HLSLBinaryOp_Greater: return ">"; + case HLSLBinaryOp_LessEqual: return "<="; + case HLSLBinaryOp_GreaterEqual: return ">="; + case HLSLBinaryOp_Equal: return "=="; + case HLSLBinaryOp_NotEqual: return "!="; + case HLSLBinaryOp_BitAnd: return "&"; + case HLSLBinaryOp_BitOr: return "|"; + case HLSLBinaryOp_BitXor: return "^"; + case HLSLBinaryOp_Assign: return "="; + case HLSLBinaryOp_AddAssign: return "+="; + case HLSLBinaryOp_SubAssign: return "-="; + case HLSLBinaryOp_MulAssign: return "*="; + case HLSLBinaryOp_DivAssign: return "/="; + default: + ASSERT(0); + return "???"; + } +} + + +/* + * 1.) Match + * 2.) Scalar dimension promotion (scalar -> vector/matrix) + * 3.) Conversion + * 4.) Conversion + scalar dimension promotion + * 5.) Truncation (vector -> scalar or lower component vector, matrix -> scalar or lower component matrix) + * 6.) Conversion + truncation + */ +static int GetTypeCastRank(HLSLTree * tree, const HLSLType& srcType, const HLSLType& dstType) +{ + /*if (srcType.array != dstType.array || srcType.arraySize != dstType.arraySize) + { + return -1; + }*/ + + if (srcType.array != dstType.array) + { + return -1; + } + + if (srcType.array == true) + { + ASSERT(dstType.array == true); + int srcArraySize = -1; + int dstArraySize = -1; + + tree->GetExpressionValue(srcType.arraySize, srcArraySize); + tree->GetExpressionValue(dstType.arraySize, dstArraySize); + + if (srcArraySize != dstArraySize) { + return -1; + } + } + + if (srcType.baseType == HLSLBaseType_UserDefined && dstType.baseType == HLSLBaseType_UserDefined) + { + return strcmp(srcType.typeName, dstType.typeName) == 0 ? 0 : -1; + } + + if (srcType.baseType == dstType.baseType) + { + if (IsSamplerType(srcType.baseType)) + { + return srcType.samplerType == dstType.samplerType ? 0 : -1; + } + + return 0; + } + + const BaseTypeDescription& srcDesc = baseTypeDescriptions[srcType.baseType]; + const BaseTypeDescription& dstDesc = baseTypeDescriptions[dstType.baseType]; + if (srcDesc.numericType == NumericType_NaN || dstDesc.numericType == NumericType_NaN) + { + return -1; + } + + // Result bits: T R R R P H C (T = truncation, R = conversion rank, P = dimension promotion, H = height promotion, C = component promotion) + int result = _numberTypeRank[srcDesc.numericType][dstDesc.numericType] << 3; + + if (srcDesc.numDimensions == 0 && dstDesc.numDimensions > 0) + { + // Scalar dimension promotion + result |= (1 << 2); + } + else if ((srcDesc.numDimensions == dstDesc.numDimensions && (srcDesc.numComponents > dstDesc.numComponents || srcDesc.height > dstDesc.height)) || + (srcDesc.numDimensions > 0 && dstDesc.numDimensions == 0)) + { + // Truncation + result |= (1 << 6); + } + else if (srcDesc.numDimensions != dstDesc.numDimensions) + { + // Can't convert + return -1; + } + else if (srcDesc.height != dstDesc.height) + { + // Scalar height promotion + result |= (1 << 1); + } + else if (srcDesc.numComponents != dstDesc.numComponents) + { + // Scalar components promotion + result |= (1 << 0); + } + + return result; + +} + +static bool GetFunctionCallCastRanks(HLSLTree* tree, const HLSLFunctionCall* call, const HLSLFunction* function, int* rankBuffer) +{ + + if (function == NULL || function->numArguments < call->numArguments) + { + // Function not viable + return false; + } + + const HLSLExpression* expression = call->argument; + const HLSLArgument* argument = function->argument; + + for (int i = 0; i < call->numArguments; ++i) + { + int rank = GetTypeCastRank(tree, expression->expressionType, argument->type); + if (rank == -1) + { + return false; + } + + rankBuffer[i] = rank; + + argument = argument->nextArgument; + expression = expression->nextExpression; + } + + for (int i = call->numArguments; i < function->numArguments; ++i) + { + if (argument->defaultValue == NULL) + { + // Function not viable. + return false; + } + } + + return true; + +} + +struct CompareRanks +{ + bool operator() (const int& rank1, const int& rank2) { return rank1 > rank2; } +}; + +static CompareFunctionsResult CompareFunctions(HLSLTree* tree, const HLSLFunctionCall* call, const HLSLFunction* function1, const HLSLFunction* function2) +{ + +#if defined WIN32 && !defined alloca + int* function1Ranks = static_cast(_alloca(sizeof(int) * call->numArguments)); + int* function2Ranks = static_cast(_alloca(sizeof(int) * call->numArguments)); +#else + int* function1Ranks = static_cast(alloca(sizeof(int) * call->numArguments)); + int* function2Ranks = static_cast(alloca(sizeof(int) * call->numArguments)); +#endif /** WIN32 */ + + const bool function1Viable = GetFunctionCallCastRanks(tree, call, function1, function1Ranks); + const bool function2Viable = GetFunctionCallCastRanks(tree, call, function2, function2Ranks); + + // Both functions have to be viable to be able to compare them + if (!(function1Viable && function2Viable)) + { + if (function1Viable) + { + return Function1Better; + } + else if (function2Viable) + { + return Function2Better; + } + else + { + return FunctionsEqual; + } + } + + std::sort(function1Ranks, function1Ranks + call->numArguments, CompareRanks()); + std::sort(function2Ranks, function2Ranks + call->numArguments, CompareRanks()); + + for (int i = 0; i < call->numArguments; ++i) + { + if (function1Ranks[i] < function2Ranks[i]) + { + return Function1Better; + } + else if (function2Ranks[i] < function1Ranks[i]) + { + return Function2Better; + } + } + +// // Dump matched function argument types +// std::string arg1; +// std::string arg2; +// const HLSLArgument* argument1 = function1->argument; +// const HLSLArgument* argument2 = function2->argument; +// for (int i = 0; i < call->numArguments; ++i) +// { +// arg1 += GetTypeName(argument1->type); +// arg1 += " "; +// arg2 += GetTypeName(argument2->type); +// arg2 += " "; + +// argument1 = argument1->nextArgument; +// argument2 = argument2->nextArgument; +// } + +// std::cout << "(" << arg1 << ") vs (" << arg2 << ")" << std::endl; + + + return FunctionsEqual; + +} + +static bool GetBinaryOpResultType(HLSLBinaryOp binaryOp, const HLSLType& type1, const HLSLType& type2, HLSLType& result) +{ + + if (type1.baseType < HLSLBaseType_FirstNumeric || type1.baseType > HLSLBaseType_LastNumeric || type1.array || + type2.baseType < HLSLBaseType_FirstNumeric || type2.baseType > HLSLBaseType_LastNumeric || type2.array) + { + return false; + } + + if (binaryOp == HLSLBinaryOp_BitAnd || binaryOp == HLSLBinaryOp_BitOr || binaryOp == HLSLBinaryOp_BitXor) + { + if (type1.baseType < HLSLBaseType_FirstInteger || type1.baseType > HLSLBaseType_LastInteger) + { + return false; + } + } + + switch (binaryOp) + { + case HLSLBinaryOp_And: + case HLSLBinaryOp_Or: + case HLSLBinaryOp_Less: + case HLSLBinaryOp_Greater: + case HLSLBinaryOp_LessEqual: + case HLSLBinaryOp_GreaterEqual: + case HLSLBinaryOp_Equal: + case HLSLBinaryOp_NotEqual: + { + int numComponents = std::max( baseTypeDescriptions[ type1.baseType ].numComponents, baseTypeDescriptions[ type2.baseType ].numComponents ); + result.baseType = HLSLBaseType( HLSLBaseType_Bool + numComponents - 1 ); + break; + } + case HLSLBinaryOp_Mod: + result.baseType = HLSLBaseType_Int; + break; + + default: + result.baseType = _binaryOpTypeLookup[type1.baseType - HLSLBaseType_FirstNumeric][type2.baseType - HLSLBaseType_FirstNumeric]; + break; + } + + result.typeName = NULL; + result.array = false; + result.arraySize = NULL; + result.flags = (type1.flags & type2.flags) & HLSLTypeFlag_Const; // Propagate constness. + + return result.baseType != HLSLBaseType_Unknown; + +} + +HLSLParser::HLSLParser(Allocator* allocator, HLSLTree* tree) : + m_userTypes(allocator), + m_variables(allocator), + m_functions(allocator), + m_macros(allocator) +{ + m_numGlobals = 0; + m_tree = tree; +} + +bool HLSLParser::Accept(int token) +{ + if (m_tokenizer.GetToken() == token) + { + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::Accept(const char* token) +{ + if (m_tokenizer.GetToken() == HLSLToken_Identifier && String_Equal( token, m_tokenizer.GetIdentifier() ) ) + { + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::Expect(int token) +{ + if (!Accept(token)) + { + char want[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(token, want); + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected '%s' near '%s'", want, near); + return false; + } + return true; +} + +bool HLSLParser::Expect(const char * token) +{ + if (!Accept(token)) + { + const char * want = token; + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected '%s' near '%s'", want, near); + return false; + } + return true; +} + + +bool HLSLParser::AcceptIdentifier(const char*& identifier) +{ + if (m_tokenizer.GetToken() == HLSLToken_Identifier) + { + identifier = m_tree->AddString( m_tokenizer.GetIdentifier() ); + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::ExpectIdentifier(const char*& identifier) +{ + if (!AcceptIdentifier(identifier)) + { + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected identifier near '%s'", near); + identifier = ""; + return false; + } + return true; +} + +bool HLSLParser::AcceptFloat(float& value) +{ + if (m_tokenizer.GetToken() == HLSLToken_FloatLiteral) + { + value = m_tokenizer.GetFloat(); + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::AcceptInt(int& value) +{ + if (m_tokenizer.GetToken() == HLSLToken_IntLiteral) + { + value = m_tokenizer.GetInt(); + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::ParseTopLevel(HLSLStatement*& statement) +{ + HLSLAttribute * attributes = NULL; + ParseAttributeBlock(attributes); + + int line = GetLineNumber(); + const char* fileName = GetFileName(); + + HLSLType type; + //HLSLBaseType type; + //const char* typeName = NULL; + //int typeFlags = false; + + bool doesNotExpectSemicolon = false; + + if (Accept(HLSLToken_Struct)) + { + // Struct declaration. + + const char* structName = NULL; + if (!ExpectIdentifier(structName)) + { + return false; + } + if (FindUserDefinedType(structName) != NULL) + { + m_tokenizer.Error("struct %s already defined", structName); + return false; + } + + if (!Expect('{')) + { + return false; + } + + HLSLStruct* structure = m_tree->AddNode(fileName, line); + structure->name = structName; + + m_userTypes.PushBack(structure); + + HLSLStructField* lastField = NULL; + + // Add the struct to our list of user defined types. + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + HLSLStructField* field = NULL; + if (!ParseFieldDeclaration(field)) + { + return false; + } + ASSERT(field != NULL); + if (lastField == NULL) + { + structure->field = field; + } + else + { + lastField->nextField = field; + } + lastField = field; + } + + statement = structure; + } + else if (Accept(HLSLToken_CBuffer) || Accept(HLSLToken_TBuffer)) + { + // cbuffer/tbuffer declaration. + + HLSLBuffer* buffer = m_tree->AddNode(fileName, line); + AcceptIdentifier(buffer->name); + + // Optional register assignment. + if (Accept(':')) + { + if (!Expect(HLSLToken_Register) || !Expect('(') || !ExpectIdentifier(buffer->registerName) || !Expect(')')) + { + return false; + } + // TODO: Check that we aren't re-using a register. + } + + // Fields. + if (!Expect('{')) + { + return false; + } + HLSLDeclaration* lastField = NULL; + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + HLSLDeclaration* field = NULL; + if (!ParseDeclaration(field)) + { + m_tokenizer.Error("Expected variable declaration"); + return false; + } + DeclareVariable( field->name, field->type ); + field->buffer = buffer; + if (buffer->field == NULL) + { + buffer->field = field; + } + else + { + lastField->nextStatement = field; + } + lastField = field; + + if (!Expect(';')) { + return false; + } + } + + statement = buffer; + } + else if (AcceptType(true, type)) + { + // Global declaration (uniform or function). + const char* globalName = NULL; + if (!ExpectIdentifier(globalName)) + { + return false; + } + + if (Accept('(')) + { + // Function declaration. + + HLSLFunction* function = m_tree->AddNode(fileName, line); + function->name = globalName; + function->returnType.baseType = type.baseType; + function->returnType.typeName = type.typeName; + function->attributes = attributes; + + BeginScope(); + + if (!ParseArgumentList(function->argument, function->numArguments, function->numOutputArguments)) + { + return false; + } + + const HLSLFunction* declaration = FindFunction(function); + + // Forward declaration + if (Accept(';')) + { + // Add a function entry so that calls can refer to it + if (!declaration) + { + m_functions.PushBack( function ); + statement = function; + } + EndScope(); + return true; + } + + // Optional semantic. + if (Accept(':') && !ExpectIdentifier(function->semantic)) + { + return false; + } + + if (declaration) + { + if (declaration->forward || declaration->statement) + { + m_tokenizer.Error("Duplicate function definition"); + return false; + } + + const_cast(declaration)->forward = function; + } + else + { + m_functions.PushBack( function ); + } + + if (!Expect('{') || !ParseBlock(function->statement, function->returnType)) + { + return false; + } + + EndScope(); + + // Note, no semi-colon at the end of a function declaration. + statement = function; + + return true; + } + else + { + HLSLDeclaration * firstDeclaration = NULL; + HLSLDeclaration * lastDeclaration = NULL; + + do { + if (firstDeclaration != NULL) { + if (!ExpectIdentifier(globalName)) + { + return false; + } + } + + // Uniform declaration. + HLSLDeclaration* declaration = m_tree->AddNode(fileName, line); + declaration->name = globalName; + declaration->type = type; + + // Handle array syntax. + if (Accept('[')) + { + if (!Accept(']')) + { + if (!ParseExpression(declaration->type.arraySize) || !Expect(']')) + { + return false; + } + } + declaration->type.array = true; + } + + // Handle optional register. + if (Accept(':')) + { + // @@ Currently we support either a semantic or a register, but not both. + if (AcceptIdentifier(declaration->semantic)) { + // nothing + } + else if (!Expect(HLSLToken_Register) || !Expect('(') || !ExpectIdentifier(declaration->registerName) || !Expect(')')) + { + return false; + } + } + + DeclareVariable( globalName, declaration->type ); + + if (!ParseDeclarationAssignment(declaration)) + { + return false; + } + if (firstDeclaration == NULL) firstDeclaration = declaration; + if (lastDeclaration != NULL) lastDeclaration->nextDeclaration = declaration; + lastDeclaration = declaration; + + } while(Accept(',')); + + statement = firstDeclaration; + } + } + else if (ParseTechnique(statement)) { + doesNotExpectSemicolon = true; + } + else if (ParsePipeline(statement)) { + doesNotExpectSemicolon = true; + } + else if (ParseStage(statement)) { + doesNotExpectSemicolon = true; + } + + if (statement != NULL) { + statement->attributes = attributes; + } + + return doesNotExpectSemicolon || Expect(';'); +} + +bool HLSLParser::ParseStatementOrBlock(HLSLStatement*& firstStatement, const HLSLType& returnType, bool scoped/*=true*/) +{ + if (scoped) + { + BeginScope(); + } + if (Accept('{')) + { + if (!ParseBlock(firstStatement, returnType)) + { + return false; + } + } + else + { + if (!ParseStatement(firstStatement, returnType)) + { + return false; + } + } + if (scoped) + { + EndScope(); + } + return true; +} + +bool HLSLParser::ParseBlock(HLSLStatement*& firstStatement, const HLSLType& returnType) +{ + HLSLStatement* lastStatement = NULL; + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + HLSLStatement* statement = NULL; + if (!ParseStatement(statement, returnType)) + { + return false; + } + if (statement != NULL) + { + if (firstStatement == NULL) + { + firstStatement = statement; + } + else + { + lastStatement->nextStatement = statement; + } + lastStatement = statement; + while (lastStatement->nextStatement) lastStatement = lastStatement->nextStatement; + } + } + return true; +} + +bool HLSLParser::ParseStatement(HLSLStatement*& statement, const HLSLType& returnType) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + // Empty statements. + if (Accept(';')) + { + return true; + } + + HLSLAttribute * attributes = NULL; + ParseAttributeBlock(attributes); // @@ Leak if not assigned to node? + +#if 0 // @@ Work in progress. + // Static statements: @if only for now. + if (Accept('@')) + { + if (Accept(HLSLToken_If)) + { + //HLSLIfStatement* ifStatement = m_tree->AddNode(fileName, line); + //ifStatement->isStatic = true; + //ifStatement->attributes = attributes; + + HLSLExpression * condition = NULL; + + m_allowUndeclaredIdentifiers = true; // Not really correct... better to push to stack? + if (!Expect('(') || !ParseExpression(condition) || !Expect(')')) + { + m_allowUndeclaredIdentifiers = false; + return false; + } + m_allowUndeclaredIdentifiers = false; + + if ((condition->expressionType.flags & HLSLTypeFlag_Const) == 0) + { + m_tokenizer.Error("Syntax error: @if condition is not constant"); + return false; + } + + int conditionValue; + if (!m_tree->GetExpressionValue(condition, conditionValue)) + { + m_tokenizer.Error("Syntax error: Cannot evaluate @if condition"); + return false; + } + + if (!conditionValue) m_disableSemanticValidation = true; + + HLSLStatement * ifStatements = NULL; + HLSLStatement * elseStatements = NULL; + + if (!ParseStatementOrBlock(ifStatements, returnType, /*scoped=*/false)) + { + m_disableSemanticValidation = false; + return false; + } + if (Accept(HLSLToken_Else)) + { + if (conditionValue) m_disableSemanticValidation = true; + + if (!ParseStatementOrBlock(elseStatements, returnType, /*scoped=*/false)) + { + m_disableSemanticValidation = false; + return false; + } + } + m_disableSemanticValidation = false; + + if (conditionValue) statement = ifStatements; + else statement = elseStatements; + + // @@ Free the pruned statements? + + return true; + } + else { + m_tokenizer.Error("Syntax error: unexpected token '@'"); + } + } +#endif + + // If statement. + if (Accept(HLSLToken_If)) + { + HLSLIfStatement* ifStatement = m_tree->AddNode(fileName, line); + ifStatement->attributes = attributes; + if (!Expect('(') || !ParseExpression(ifStatement->condition) || !Expect(')')) + { + return false; + } + statement = ifStatement; + if (!ParseStatementOrBlock(ifStatement->statement, returnType)) + { + return false; + } + if (Accept(HLSLToken_Else)) + { + return ParseStatementOrBlock(ifStatement->elseStatement, returnType); + } + return true; + } + + // For statement. + if (Accept(HLSLToken_For)) + { + HLSLForStatement* forStatement = m_tree->AddNode(fileName, line); + forStatement->attributes = attributes; + if (!Expect('(')) + { + return false; + } + BeginScope(); + if (!ParseDeclaration(forStatement->initialization) && !ParseExpression(forStatement->initializationWithoutType)) + { + return false; + } + if (!Expect(';')) + { + return false; + } + ParseExpression(forStatement->condition); + if (!Expect(';')) + { + return false; + } + ParseExpression(forStatement->increment); + if (!Expect(')')) + { + return false; + } + statement = forStatement; + if (!ParseStatementOrBlock(forStatement->statement, returnType)) + { + return false; + } + EndScope(); + return true; + } + + // While statement. + if (Accept(HLSLToken_While)) + { + HLSLWhileStatement* whileStatement = m_tree->AddNode(fileName, line); + whileStatement->attributes = attributes; + if (!Expect('(') || !ParseExpression(whileStatement->condition) || !Expect(')')) + { + return false; + } + statement = whileStatement; + if (!ParseStatementOrBlock(whileStatement->statement, returnType)) + { + return false; + } + return true; + } + + + if (attributes != NULL) + { + // @@ Error. Unexpected attribute. We only support attributes associated to if and for statements. + } + + // Block statement. + if (Accept('{')) + { + HLSLBlockStatement* blockStatement = m_tree->AddNode(fileName, line); + statement = blockStatement; + BeginScope(); + bool success = ParseBlock(blockStatement->statement, returnType); + EndScope(); + return success; + } + + // Discard statement. + if (Accept(HLSLToken_Discard)) + { + HLSLDiscardStatement* discardStatement = m_tree->AddNode(fileName, line); + statement = discardStatement; + return Expect(';'); + } + + // Break statement. + if (Accept(HLSLToken_Break)) + { + HLSLBreakStatement* breakStatement = m_tree->AddNode(fileName, line); + statement = breakStatement; + return Expect(';'); + } + + // Continue statement. + if (Accept(HLSLToken_Continue)) + { + HLSLContinueStatement* continueStatement = m_tree->AddNode(fileName, line); + statement = continueStatement; + return Expect(';'); + } + + // Return statement + if (Accept(HLSLToken_Return)) + { + HLSLReturnStatement* returnStatement = m_tree->AddNode(fileName, line); + if (!Accept(';') && !ParseExpression(returnStatement->expression)) + { + return false; + } + // Check that the return expression can be cast to the return type of the function. + HLSLType voidType(HLSLBaseType_Void); + if (!CheckTypeCast(returnStatement->expression ? returnStatement->expression->expressionType : voidType, returnType)) + { + return false; + } + + statement = returnStatement; + return Expect(';'); + } + + HLSLDeclaration* declaration = NULL; + HLSLExpression* expression = NULL; + + if (ParseDeclaration(declaration)) + { + statement = declaration; + } + else if (ParseExpression(expression)) + { + HLSLExpressionStatement* expressionStatement; + expressionStatement = m_tree->AddNode(fileName, line); + expressionStatement->expression = expression; + statement = expressionStatement; + } + + // Some statements are separated by a colon instead of a semicolon + if (Accept(',')) { + return true; + } + + return Expect(';'); +} + + +// IC: This is only used in block statements, or within control flow statements. So, it doesn't support semantics or layout modifiers. +// @@ We should add suport for semantics for inline input/output declarations. +bool HLSLParser::ParseDeclaration(HLSLDeclaration*& declaration) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + HLSLType type; + if (!AcceptType(/*allowVoid=*/false, type)) + { + return false; + } + + bool allowUnsizedArray = true; // @@ Really? + + HLSLDeclaration * firstDeclaration = NULL; + HLSLDeclaration * lastDeclaration = NULL; + + do { + const char* name; + if (!ExpectIdentifier(name)) + { + // TODO: false means we didn't accept a declaration and we had an error! + return false; + } + // Handle array syntax. + if (Accept('[')) + { + type.array = true; + // Optionally allow no size to the specified for the array. + if (Accept(']') && allowUnsizedArray) + { + return true; + } + if (!ParseExpression(type.arraySize) || !Expect(']')) + { + return false; + } + } + + HLSLDeclaration * declaration2 = m_tree->AddNode(fileName, line); + declaration2->type = type; + declaration2->name = name; + + DeclareVariable( declaration2->name, declaration2->type ); + + // Handle option assignment of the declared variables(s). + if (!ParseDeclarationAssignment( declaration2 )) { + return false; + } + + if (firstDeclaration == NULL) firstDeclaration = declaration2; + if (lastDeclaration != NULL) lastDeclaration->nextDeclaration = declaration2; + lastDeclaration = declaration2; + + } while(Accept(',')); + + declaration = firstDeclaration; + + return true; +} + +bool HLSLParser::ParseDeclarationAssignment(HLSLDeclaration* declaration) +{ + if (Accept('=')) + { + // Handle array initialization syntax. + if (declaration->type.array) + { + int numValues = 0; + if (!Expect('{') || !ParseExpressionList('}', true, declaration->assignment, numValues)) + { + return false; + } + } + else if (IsSamplerType(declaration->type.baseType)) + { + if (!ParseSamplerState(declaration->assignment)) + { + return false; + } + } + else if (!ParseExpression(declaration->assignment)) + { + return false; + } + } + return true; +} + +bool HLSLParser::ParseFieldDeclaration(HLSLStructField*& field) +{ + field = m_tree->AddNode( GetFileName(), GetLineNumber() ); + if (!ExpectDeclaration(false, field->type, field->name)) + { + return false; + } + // Handle optional semantics. + if (Accept(':')) + { + if (!ExpectIdentifier(field->semantic)) + { + return false; + } + } + return Expect(';'); +} + +// @@ Add support for packoffset to general declarations. +/*bool HLSLParser::ParseBufferFieldDeclaration(HLSLBufferField*& field) +{ + field = m_tree->AddNode( GetFileName(), GetLineNumber() ); + if (AcceptDeclaration(false, field->type, field->name)) + { + // Handle optional packoffset. + if (Accept(':')) + { + if (!Expect("packoffset")) + { + return false; + } + const char* constantName = NULL; + const char* swizzleMask = NULL; + if (!Expect('(') || !ExpectIdentifier(constantName) || !Expect('.') || !ExpectIdentifier(swizzleMask) || !Expect(')')) + { + return false; + } + } + return Expect(';'); + } + return false; +}*/ + +bool HLSLParser::CheckTypeCast(const HLSLType& srcType, const HLSLType& dstType) +{ + if (GetTypeCastRank(m_tree, srcType, dstType) == -1) + { + const char* srcTypeName = GetTypeName(srcType); + const char* dstTypeName = GetTypeName(dstType); + m_tokenizer.Error("Cannot implicitly convert from '%s' to '%s'", srcTypeName, dstTypeName); + return false; + } + return true; +} + +bool HLSLParser::ParseExpression(HLSLExpression*& expression) +{ + if (!ParseBinaryExpression(0, expression)) + { + return false; + } + + HLSLBinaryOp assignOp; + if (AcceptAssign(assignOp)) + { + HLSLExpression* expression2 = NULL; + if (!ParseExpression(expression2)) + { + return false; + } + HLSLBinaryExpression* binaryExpression = m_tree->AddNode(expression->fileName, expression->line); + binaryExpression->binaryOp = assignOp; + binaryExpression->expression1 = expression; + binaryExpression->expression2 = expression2; + // This type is not strictly correct, since the type should be a reference. + // However, for our usage of the types it should be sufficient. + binaryExpression->expressionType = expression->expressionType; + + if (!CheckTypeCast(expression2->expressionType, expression->expressionType)) + { + const char* srcTypeName = GetTypeName(expression2->expressionType); + const char* dstTypeName = GetTypeName(expression->expressionType); + m_tokenizer.Error("Cannot implicitly convert from '%s' to '%s'", srcTypeName, dstTypeName); + return false; + } + + expression = binaryExpression; + } + + return true; +} + +bool HLSLParser::AcceptBinaryOperator(int priority, HLSLBinaryOp& binaryOp) +{ + int token = m_tokenizer.GetToken(); + switch (token) + { + case HLSLToken_AndAnd: binaryOp = HLSLBinaryOp_And; break; + case HLSLToken_BarBar: binaryOp = HLSLBinaryOp_Or; break; + case '+': binaryOp = HLSLBinaryOp_Add; break; + case '-': binaryOp = HLSLBinaryOp_Sub; break; + case '*': binaryOp = HLSLBinaryOp_Mul; break; + case '/': binaryOp = HLSLBinaryOp_Div; break; + case '%': binaryOp = HLSLBinaryOp_Mod; break; + case '<': binaryOp = HLSLBinaryOp_Less; break; + case '>': binaryOp = HLSLBinaryOp_Greater; break; + case HLSLToken_LessEqual: binaryOp = HLSLBinaryOp_LessEqual; break; + case HLSLToken_GreaterEqual: binaryOp = HLSLBinaryOp_GreaterEqual; break; + case HLSLToken_EqualEqual: binaryOp = HLSLBinaryOp_Equal; break; + case HLSLToken_NotEqual: binaryOp = HLSLBinaryOp_NotEqual; break; + case '&': binaryOp = HLSLBinaryOp_BitAnd; break; + case '|': binaryOp = HLSLBinaryOp_BitOr; break; + case '^': binaryOp = HLSLBinaryOp_BitXor; break; + default: + return false; + } + if (_binaryOpPriority[binaryOp] > priority) + { + m_tokenizer.Next(); + return true; + } + return false; +} + +bool HLSLParser::AcceptUnaryOperator(bool pre, HLSLUnaryOp& unaryOp) +{ + int token = m_tokenizer.GetToken(); + if (token == HLSLToken_PlusPlus) + { + unaryOp = pre ? HLSLUnaryOp_PreIncrement : HLSLUnaryOp_PostIncrement; + } + else if (token == HLSLToken_MinusMinus) + { + unaryOp = pre ? HLSLUnaryOp_PreDecrement : HLSLUnaryOp_PostDecrement; + } + else if (pre && token == '-') + { + unaryOp = HLSLUnaryOp_Negative; + } + else if (pre && token == '+') + { + unaryOp = HLSLUnaryOp_Positive; + } + else if (pre && token == '!') + { + unaryOp = HLSLUnaryOp_Not; + } + else if (pre && token == '~') + { + unaryOp = HLSLUnaryOp_Not; + } + else + { + return false; + } + m_tokenizer.Next(); + return true; +} + +bool HLSLParser::AcceptAssign(HLSLBinaryOp& binaryOp) +{ + if (Accept('=')) + { + binaryOp = HLSLBinaryOp_Assign; + } + else if (Accept(HLSLToken_PlusEqual)) + { + binaryOp = HLSLBinaryOp_AddAssign; + } + else if (Accept(HLSLToken_MinusEqual)) + { + binaryOp = HLSLBinaryOp_SubAssign; + } + else if (Accept(HLSLToken_TimesEqual)) + { + binaryOp = HLSLBinaryOp_MulAssign; + } + else if (Accept(HLSLToken_DivideEqual)) + { + binaryOp = HLSLBinaryOp_DivAssign; + } + else + { + return false; + } + return true; +} + +bool HLSLParser::ParseBinaryExpression(int priority, HLSLExpression*& expression) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + char needsExpressionEndChar; + + if (!ParseTerminalExpression(expression, needsExpressionEndChar)) + { + return false; + } + + // reset priority cause openned parenthesis + if( needsExpressionEndChar != 0 ) + priority = 0; + + bool acceptBinaryOp = false; + HLSLBinaryOp binaryOp; + while (1) + { + if (acceptBinaryOp || AcceptBinaryOperator(priority, binaryOp)) + { + acceptBinaryOp = false; + HLSLExpression* expression2 = NULL; + ASSERT( binaryOp < sizeof(_binaryOpPriority) / sizeof(int) ); + if (!ParseBinaryExpression(_binaryOpPriority[binaryOp], expression2)) + { + return false; + } + HLSLBinaryExpression* binaryExpression = m_tree->AddNode(fileName, line); + binaryExpression->binaryOp = binaryOp; + binaryExpression->expression1 = expression; + binaryExpression->expression2 = expression2; + if (!GetBinaryOpResultType( binaryOp, expression->expressionType, expression2->expressionType, binaryExpression->expressionType )) + { + const char* typeName1 = GetTypeName( binaryExpression->expression1->expressionType ); + const char* typeName2 = GetTypeName( binaryExpression->expression2->expressionType ); + m_tokenizer.Error("binary '%s' : no global operator found which takes types '%s' and '%s' (or there is no acceptable conversion)", + GetBinaryOpName(binaryOp), typeName1, typeName2); + + return false; + } + + // Propagate constness. + binaryExpression->expressionType.flags = (expression->expressionType.flags | expression2->expressionType.flags) & HLSLTypeFlag_Const; + + expression = binaryExpression; + } + else if (_conditionalOpPriority > priority && Accept('?')) + { + + HLSLConditionalExpression* conditionalExpression = m_tree->AddNode(fileName, line); + conditionalExpression->condition = expression; + + HLSLExpression* expression1 = NULL; + HLSLExpression* expression2 = NULL; + if (!ParseBinaryExpression(_conditionalOpPriority, expression1) || !Expect(':') || !ParseBinaryExpression(_conditionalOpPriority, expression2)) + { + return false; + } + + // Make sure both cases have compatible types. + if (GetTypeCastRank(m_tree, expression1->expressionType, expression2->expressionType) == -1) + { + const char* srcTypeName = GetTypeName(expression2->expressionType); + const char* dstTypeName = GetTypeName(expression1->expressionType); + m_tokenizer.Error("':' no possible conversion from '%s' to '%s'", srcTypeName, dstTypeName); + return false; + } + + conditionalExpression->trueExpression = expression1; + conditionalExpression->falseExpression = expression2; + conditionalExpression->expressionType = expression1->expressionType; + + expression = conditionalExpression; + } + else + { + break; + } + + // First: try if next is a binary op before exiting the loop + if (AcceptBinaryOperator(priority, binaryOp)) + { + acceptBinaryOp = true; + continue; + } + + if( needsExpressionEndChar != 0 ) + { + if( !Expect(needsExpressionEndChar) ) + return false; + needsExpressionEndChar = 0; + } + } + + return needsExpressionEndChar == 0 || Expect(needsExpressionEndChar); +} + +bool HLSLParser::ParsePartialConstructor(HLSLExpression*& expression, HLSLBaseType type, const char* typeName) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + HLSLConstructorExpression* constructorExpression = m_tree->AddNode(fileName, line); + constructorExpression->type.baseType = type; + constructorExpression->type.typeName = typeName; + int numArguments = 0; + if (!ParseExpressionList(')', false, constructorExpression->argument, numArguments)) + { + return false; + } + constructorExpression->expressionType = constructorExpression->type; + constructorExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = constructorExpression; + return true; +} + +bool HLSLParser::ParseTerminalExpression(HLSLExpression*& expression, char& needsExpressionEndChar) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + needsExpressionEndChar = 0; + + HLSLUnaryOp unaryOp; + if (AcceptUnaryOperator(true, unaryOp)) + { + HLSLUnaryExpression* unaryExpression = m_tree->AddNode(fileName, line); + unaryExpression->unaryOp = unaryOp; + if (!ParseTerminalExpression(unaryExpression->expression, needsExpressionEndChar)) + { + return false; + } + if (unaryOp == HLSLUnaryOp_BitNot) + { + if (unaryExpression->expression->expressionType.baseType < HLSLBaseType_FirstInteger || + unaryExpression->expression->expressionType.baseType > HLSLBaseType_LastInteger) + { + const char * typeName = GetTypeName(unaryExpression->expression->expressionType); + m_tokenizer.Error("unary '~' : no global operator found which takes type '%s' (or there is no acceptable conversion)", typeName); + return false; + } + } + if (unaryOp == HLSLUnaryOp_Not) + { + if (unaryExpression->expression->expressionType.baseType != HLSLBaseType_Bool) + { + // Insert a cast to bool + HLSLCastingExpression* castingExpression = m_tree->AddNode(fileName, line); + castingExpression->type.baseType = HLSLBaseType_Bool; + castingExpression->expression = unaryExpression->expression; + castingExpression->expressionType.baseType = HLSLBaseType_Bool; + + unaryExpression->expression = castingExpression; + expression = unaryExpression; + } + + unaryExpression->expressionType = HLSLType(HLSLBaseType_Bool); + + // Propagate constness. + unaryExpression->expressionType.flags = unaryExpression->expression->expressionType.flags & HLSLTypeFlag_Const; + } + + if (unaryOp == HLSLUnaryOp_Negative || unaryOp == HLSLUnaryOp_Positive) + { + if (unaryExpression->expression->expressionType.baseType <= HLSLBaseType_Bool4 && + unaryExpression->expression->expressionType.baseType >= HLSLBaseType_Bool) + { + // Insert a cast bool to int + int numComponents = baseTypeDescriptions[ unaryExpression->expression->expressionType.baseType ].numComponents; + HLSLBaseType baseType = HLSLBaseType( HLSLBaseType_Int + numComponents - 1 ); + + unaryExpression->expressionType = unaryExpression->expression->expressionType; + + HLSLCastingExpression* castingExpression = m_tree->AddNode(fileName, line); + castingExpression->type.baseType = baseType; + castingExpression->expression = unaryExpression->expression; + castingExpression->expressionType.baseType = baseType; + + unaryExpression->expression = castingExpression; + expression = unaryExpression; + } + else + { + unaryExpression->expressionType = unaryExpression->expression->expressionType; + } + } + else + { + unaryExpression->expressionType = unaryExpression->expression->expressionType; + } + expression = unaryExpression; + return true; + } + + // Expressions inside parenthesis or casts. + char expressionEndChar = 0; + if (Accept('(')) + { + expressionEndChar = ')'; + } + else if (Accept('{')) + { + expressionEndChar = '}'; + } + + + if (expressionEndChar != 0) + { + // Check for a casting operator. + HLSLType type; + if (AcceptType(false, type)) + { + // This is actually a type constructor like (float2(... + if (Accept('(')) + { + needsExpressionEndChar = expressionEndChar; + return ParsePartialConstructor(expression, type.baseType, type.typeName); + } + HLSLCastingExpression* castingExpression = m_tree->AddNode(fileName, line); + castingExpression->type = type; + expression = castingExpression; + castingExpression->expressionType = type; + return Expect(')') && ParseExpression(castingExpression->expression); + } + + int numArguments = 0; + if (!ParseExpressionList(expressionEndChar, false, expression, numArguments)) + { + return false; + } + + if (expressionEndChar == ')') + { + // Allows comma separated expression lists, HLSL compiler keeps the last one + HLSLExpression* lastExpression = expression; + while(lastExpression->nextExpression != NULL) { + lastExpression = lastExpression->nextExpression; + } + } + } + else + { + // Terminal values. + float fValue = 0.0f; + int iValue = 0; + + if (AcceptFloat(fValue)) + { + HLSLLiteralExpression* literalExpression = m_tree->AddNode(fileName, line); + literalExpression->type = HLSLBaseType_Float; + literalExpression->fValue = fValue; + literalExpression->expressionType.baseType = literalExpression->type; + literalExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = literalExpression; + return true; + } + else if (AcceptInt(iValue)) + { + HLSLLiteralExpression* literalExpression = m_tree->AddNode(fileName, line); + literalExpression->type = HLSLBaseType_Int; + literalExpression->iValue = iValue; + literalExpression->expressionType.baseType = literalExpression->type; + literalExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = literalExpression; + return true; + } + else if (Accept(HLSLToken_True)) + { + HLSLLiteralExpression* literalExpression = m_tree->AddNode(fileName, line); + literalExpression->type = HLSLBaseType_Bool; + literalExpression->bValue = true; + literalExpression->expressionType.baseType = literalExpression->type; + literalExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = literalExpression; + return true; + } + else if (Accept(HLSLToken_False)) + { + HLSLLiteralExpression* literalExpression = m_tree->AddNode(fileName, line); + literalExpression->type = HLSLBaseType_Bool; + literalExpression->bValue = false; + literalExpression->expressionType.baseType = literalExpression->type; + literalExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = literalExpression; + return true; + } + + // Type constructor. + HLSLType type; + if (AcceptType(/*allowVoid=*/false, type)) + { + Expect('('); + if (!ParsePartialConstructor(expression, type.baseType, type.typeName)) + { + return false; + } + } + else + { + HLSLIdentifierExpression* identifierExpression = m_tree->AddNode(fileName, line); + if (!ExpectIdentifier(identifierExpression->name)) + { + return false; + } + + bool undeclaredIdentifier = false; + + const HLSLType* identifierType = FindVariable(identifierExpression->name, identifierExpression->global); + if (identifierType != NULL) + { + identifierExpression->expressionType = *identifierType; + } + else + { + if (GetIsFunction(identifierExpression->name)) + { + // Functions are always global scope. + identifierExpression->global = true; + } + else + { + undeclaredIdentifier = true; + } + } + + if (undeclaredIdentifier) + { + if (m_allowUndeclaredIdentifiers) + { + HLSLLiteralExpression* literalExpression = m_tree->AddNode(fileName, line); + literalExpression->bValue = false; + literalExpression->type = HLSLBaseType_Bool; + literalExpression->expressionType.baseType = literalExpression->type; + literalExpression->expressionType.flags = HLSLTypeFlag_Const; + expression = literalExpression; + } + else + { + m_tokenizer.Error("Undeclared identifier '%s'", identifierExpression->name); + return false; + } + } + else { + expression = identifierExpression; + } + } + } + + bool done = false; + while (!done) + { + done = true; + + // Post fix unary operator + HLSLUnaryOp unaryOp2; + while (AcceptUnaryOperator(false, unaryOp2)) + { + HLSLUnaryExpression* unaryExpression = m_tree->AddNode(fileName, line); + unaryExpression->unaryOp = unaryOp2; + unaryExpression->expression = expression; + unaryExpression->expressionType = unaryExpression->expression->expressionType; + expression = unaryExpression; + done = false; + } + + // Member access operator. + while (Accept('.')) + { + HLSLMemberAccess* memberAccess = m_tree->AddNode(fileName, line); + memberAccess->object = expression; + if (!ExpectIdentifier(memberAccess->field)) + { + return false; + } + if (!GetMemberType( expression->expressionType, memberAccess)) + { + m_tokenizer.Error("Couldn't access '%s'", memberAccess->field); + return false; + } + expression = memberAccess; + done = false; + } + + // Handle array access. + while (Accept('[')) + { + HLSLArrayAccess* arrayAccess = m_tree->AddNode(fileName, line); + arrayAccess->array = expression; + if (!ParseExpression(arrayAccess->index) || !Expect(']')) + { + return false; + } + + if (expression->expressionType.array) + { + arrayAccess->expressionType = expression->expressionType; + arrayAccess->expressionType.array = false; + arrayAccess->expressionType.arraySize = NULL; + } + else + { + switch (expression->expressionType.baseType) + { + case HLSLBaseType_Float2: + case HLSLBaseType_Float3: + case HLSLBaseType_Float4: + arrayAccess->expressionType.baseType = HLSLBaseType_Float; + break; + case HLSLBaseType_Float4x4: + case HLSLBaseType_Float3x4: + case HLSLBaseType_Float2x4: + arrayAccess->expressionType.baseType = HLSLBaseType_Float4; + break; + case HLSLBaseType_Float4x3: + case HLSLBaseType_Float3x3: + case HLSLBaseType_Float2x3: + arrayAccess->expressionType.baseType = HLSLBaseType_Float3; + break; + case HLSLBaseType_Float4x2: + case HLSLBaseType_Float3x2: + case HLSLBaseType_Float2x2: + arrayAccess->expressionType.baseType = HLSLBaseType_Float2; + break; + case HLSLBaseType_Bool2: + case HLSLBaseType_Bool3: + case HLSLBaseType_Bool4: + arrayAccess->expressionType.baseType = HLSLBaseType_Bool; + break; + case HLSLBaseType_Int2: + case HLSLBaseType_Int3: + case HLSLBaseType_Int4: + arrayAccess->expressionType.baseType = HLSLBaseType_Int; + break; + case HLSLBaseType_Uint2: + case HLSLBaseType_Uint3: + case HLSLBaseType_Uint4: + arrayAccess->expressionType.baseType = HLSLBaseType_Uint; + break; + default: + m_tokenizer.Error("array, matrix, vector, or indexable object type expected in index expression"); + return false; + } + } + + expression = arrayAccess; + done = false; + } + + // Handle function calls. Note, HLSL functions aren't like C function + // pointers -- we can only directly call on an identifier, not on an + // expression. + if (Accept('(')) + { + HLSLFunctionCall* functionCall = m_tree->AddNode(fileName, line); + done = false; + if (!ParseExpressionList(')', false, functionCall->argument, functionCall->numArguments)) + { + return false; + } + + if (expression->nodeType != HLSLNodeType_IdentifierExpression) + { + m_tokenizer.Error("Expected function identifier"); + return false; + } + + const HLSLIdentifierExpression* identifierExpression = static_cast(expression); + const HLSLFunction* function = MatchFunctionCall( functionCall, identifierExpression->name ); + if (function == NULL) + { + return false; + } + + functionCall->function = function; + functionCall->expressionType = function->returnType; + expression = functionCall; + } + + } + return true; + +} + +bool HLSLParser::ParseExpressionList(int endToken, bool allowEmptyEnd, HLSLExpression*& firstExpression, int& numExpressions) +{ + numExpressions = 0; + HLSLExpression* lastExpression = NULL; + while (!Accept(endToken)) + { + if (CheckForUnexpectedEndOfStream(endToken)) + { + return false; + } + if (numExpressions > 0 && !Expect(',')) + { + return false; + } + // It is acceptable for the final element in the initialization list to + // have a trailing comma in some cases, like array initialization such as {1, 2, 3,} + if (allowEmptyEnd && Accept(endToken)) + { + break; + } + HLSLExpression* expression = NULL; + if (!ParseExpression(expression)) + { + return false; + } + if (firstExpression == NULL) + { + firstExpression = expression; + } + else + { + lastExpression->nextExpression = expression; + } + lastExpression = expression; + ++numExpressions; + } + return true; +} + +bool HLSLParser::ParseArgumentList(HLSLArgument*& firstArgument, int& numArguments, int& numOutputArguments) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + HLSLArgument* lastArgument = NULL; + numArguments = 0; + + while (!Accept(')')) + { + if (CheckForUnexpectedEndOfStream(')')) + { + return false; + } + if (numArguments > 0 && !Expect(',')) + { + return false; + } + + HLSLArgument* argument = m_tree->AddNode(fileName, line); + + if (Accept(HLSLToken_Uniform)) { argument->modifier = HLSLArgumentModifier_Uniform; } + else if (Accept(HLSLToken_In)) { argument->modifier = HLSLArgumentModifier_In; } + else if (Accept(HLSLToken_Out)) { argument->modifier = HLSLArgumentModifier_Out; } + else if (Accept(HLSLToken_InOut)) { argument->modifier = HLSLArgumentModifier_Inout; } + else if (Accept(HLSLToken_Const)) { argument->modifier = HLSLArgumentModifier_Const; } + + if (!ExpectDeclaration(/*allowUnsizedArray=*/true, argument->type, argument->name)) + { + return false; + } + + DeclareVariable( argument->name, argument->type ); + + // Optional semantic. + if (Accept(':') && !ExpectIdentifier(argument->semantic)) + { + return false; + } + + if (Accept('=') && !ParseExpression(argument->defaultValue)) + { + // @@ Print error! + return false; + } + + if (lastArgument != NULL) + { + lastArgument->nextArgument = argument; + } + else + { + firstArgument = argument; + } + lastArgument = argument; + + ++numArguments; + if (argument->modifier == HLSLArgumentModifier_Out || argument->modifier == HLSLArgumentModifier_Inout) + { + ++numOutputArguments; + } + } + return true; +} + + +bool HLSLParser::ParseSamplerState(HLSLExpression*& expression) +{ + if (!Expect(HLSLToken_SamplerState)) + { + return false; + } + + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + HLSLSamplerState* samplerState = m_tree->AddNode(fileName, line); + + if (!Expect('{')) + { + return false; + } + + HLSLStateAssignment* lastStateAssignment = NULL; + + // Parse state assignments. + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + + HLSLStateAssignment* stateAssignment = NULL; + if (!ParseStateAssignment(stateAssignment, /*isSamplerState=*/true, /*isPipeline=*/false)) + { + return false; + } + ASSERT(stateAssignment != NULL); + if (lastStateAssignment == NULL) + { + samplerState->stateAssignments = stateAssignment; + } + else + { + lastStateAssignment->nextStateAssignment = stateAssignment; + } + lastStateAssignment = stateAssignment; + samplerState->numStateAssignments++; + } + + expression = samplerState; + return true; +} + +bool HLSLParser::ParseTechnique(HLSLStatement*& statement) +{ + if (!Accept(HLSLToken_Technique)) { + return false; + } + + const char* techniqueName = NULL; + if (!ExpectIdentifier(techniqueName)) + { + return false; + } + + if (!Expect('{')) + { + return false; + } + + HLSLTechnique* technique = m_tree->AddNode(GetFileName(), GetLineNumber()); + technique->name = techniqueName; + + //m_techniques.PushBack(technique); + + HLSLPass* lastPass = NULL; + + // Parse state assignments. + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + + HLSLPass* pass = NULL; + if (!ParsePass(pass)) + { + return false; + } + ASSERT(pass != NULL); + if (lastPass == NULL) + { + technique->passes = pass; + } + else + { + lastPass->nextPass = pass; + } + lastPass = pass; + technique->numPasses++; + } + + statement = technique; + return true; +} + +bool HLSLParser::ParsePass(HLSLPass*& pass) +{ + if (!Accept(HLSLToken_Pass)) { + return false; + } + + // Optional pass name. + const char* passName = NULL; + AcceptIdentifier(passName); + + if (!Expect('{')) + { + return false; + } + + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + pass = m_tree->AddNode(fileName, line); + pass->name = passName; + + HLSLStateAssignment* lastStateAssignment = NULL; + + // Parse state assignments. + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + + HLSLStateAssignment* stateAssignment = NULL; + if (!ParseStateAssignment(stateAssignment, /*isSamplerState=*/false, /*isPipelineState=*/false)) + { + return false; + } + ASSERT(stateAssignment != NULL); + if (lastStateAssignment == NULL) + { + pass->stateAssignments = stateAssignment; + } + else + { + lastStateAssignment->nextStateAssignment = stateAssignment; + } + lastStateAssignment = stateAssignment; + pass->numStateAssignments++; + } + return true; +} + + +bool HLSLParser::ParsePipeline(HLSLStatement*& statement) +{ + if (!Accept("pipeline")) { + return false; + } + + // Optional pipeline name. + const char* pipelineName = NULL; + AcceptIdentifier(pipelineName); + + if (!Expect('{')) + { + return false; + } + + HLSLPipeline* pipeline = m_tree->AddNode(GetFileName(), GetLineNumber()); + pipeline->name = pipelineName; + + HLSLStateAssignment* lastStateAssignment = NULL; + + // Parse state assignments. + while (!Accept('}')) + { + if (CheckForUnexpectedEndOfStream('}')) + { + return false; + } + + HLSLStateAssignment* stateAssignment = NULL; + if (!ParseStateAssignment(stateAssignment, /*isSamplerState=*/false, /*isPipeline=*/true)) + { + return false; + } + ASSERT(stateAssignment != NULL); + if (lastStateAssignment == NULL) + { + pipeline->stateAssignments = stateAssignment; + } + else + { + lastStateAssignment->nextStateAssignment = stateAssignment; + } + lastStateAssignment = stateAssignment; + pipeline->numStateAssignments++; + } + + statement = pipeline; + return true; +} + + +const EffectState* GetEffectState(const char* name, bool isSamplerState, bool isPipeline) +{ + const EffectState* validStates = effectStates; + int count = sizeof(effectStates)/sizeof(effectStates[0]); + + if (isPipeline) + { + validStates = pipelineStates; + count = sizeof(pipelineStates) / sizeof(pipelineStates[0]); + } + + if (isSamplerState) + { + validStates = samplerStates; + count = sizeof(samplerStates)/sizeof(samplerStates[0]); + } + + // Case insensitive comparison. + for (int i = 0; i < count; i++) + { + if (String_EqualNoCase(name, validStates[i].name)) + { + return &validStates[i]; + } + } + + return NULL; +} + +static const EffectStateValue* GetStateValue(const char* name, const EffectState* state) +{ + // Case insensitive comparison. + for (int i = 0; ; i++) + { + const EffectStateValue & value = state->values[i]; + if (value.name == NULL) break; + + if (String_EqualNoCase(name, value.name)) + { + return &value; + } + } + + return NULL; +} + + +bool HLSLParser::ParseStateName(bool isSamplerState, bool isPipelineState, const char*& name, const EffectState *& state) +{ + if (m_tokenizer.GetToken() != HLSLToken_Identifier) + { + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected identifier near '%s'", near); + return false; + } + + state = GetEffectState(m_tokenizer.GetIdentifier(), isSamplerState, isPipelineState); + if (state == NULL) + { + m_tokenizer.Error("Syntax error: unexpected identifier '%s'", m_tokenizer.GetIdentifier()); + return false; + } + + m_tokenizer.Next(); + return true; +} + +bool HLSLParser::ParseColorMask(int& mask) +{ + mask = 0; + + do { + if (m_tokenizer.GetToken() == HLSLToken_IntLiteral) { + mask |= m_tokenizer.GetInt(); + } + else if (m_tokenizer.GetToken() == HLSLToken_Identifier) { + const char * ident = m_tokenizer.GetIdentifier(); + const EffectStateValue * stateValue = colorMaskValues; + while (stateValue->name != NULL) { + if (String_EqualNoCase(stateValue->name, ident)) { + mask |= stateValue->value; + break; + } + ++stateValue; + } + } + else { + return false; + } + m_tokenizer.Next(); + } while (Accept('|')); + + return true; +} + +bool HLSLParser::ParseStateValue(const EffectState * state, HLSLStateAssignment* stateAssignment) +{ + const bool expectsExpression = state->values == colorMaskValues; + const bool expectsInteger = state->values == integerValues; + const bool expectsFloat = state->values == floatValues; + const bool expectsBoolean = state->values == booleanValues; + + if (!expectsExpression && !expectsInteger && !expectsFloat && !expectsBoolean) + { + if (m_tokenizer.GetToken() != HLSLToken_Identifier) + { + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected identifier near '%s'", near); + stateAssignment->iValue = 0; + return false; + } + } + + if (state->values == NULL) + { + if (strcmp(m_tokenizer.GetIdentifier(), "compile") != 0) + { + m_tokenizer.Error("Syntax error: unexpected identifier '%s' expected compile statement", m_tokenizer.GetIdentifier()); + stateAssignment->iValue = 0; + return false; + } + + // @@ Parse profile name, function name, argument expressions. + + // Skip the rest of the compile statement. + while(m_tokenizer.GetToken() != ';') + { + m_tokenizer.Next(); + } + } + else { + if (expectsInteger) + { + if (!AcceptInt(stateAssignment->iValue)) + { + m_tokenizer.Error("Syntax error: expected integer near '%s'", m_tokenizer.GetIdentifier()); + stateAssignment->iValue = 0; + return false; + } + } + else if (expectsFloat) + { + if (!AcceptFloat(stateAssignment->fValue)) + { + m_tokenizer.Error("Syntax error: expected float near '%s'", m_tokenizer.GetIdentifier()); + stateAssignment->iValue = 0; + return false; + } + } + else if (expectsBoolean) + { + const EffectStateValue * stateValue = GetStateValue(m_tokenizer.GetIdentifier(), state); + + if (stateValue != NULL) + { + stateAssignment->iValue = stateValue->value; + + m_tokenizer.Next(); + } + else if (AcceptInt(stateAssignment->iValue)) + { + stateAssignment->iValue = (stateAssignment->iValue != 0); + } + else { + m_tokenizer.Error("Syntax error: expected bool near '%s'", m_tokenizer.GetIdentifier()); + stateAssignment->iValue = 0; + return false; + } + } + else if (expectsExpression) + { + if (!ParseColorMask(stateAssignment->iValue)) + { + m_tokenizer.Error("Syntax error: expected color mask near '%s'", m_tokenizer.GetIdentifier()); + stateAssignment->iValue = 0; + return false; + } + } + else + { + // Expect one of the allowed values. + const EffectStateValue * stateValue = GetStateValue(m_tokenizer.GetIdentifier(), state); + + if (stateValue == NULL) + { + m_tokenizer.Error("Syntax error: unexpected value '%s' for state '%s'", m_tokenizer.GetIdentifier(), state->name); + stateAssignment->iValue = 0; + return false; + } + + stateAssignment->iValue = stateValue->value; + + m_tokenizer.Next(); + } + } + + return true; +} + +bool HLSLParser::ParseStateAssignment(HLSLStateAssignment*& stateAssignment, bool isSamplerState, bool isPipelineState) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + stateAssignment = m_tree->AddNode(fileName, line); + + const EffectState * state; + if (!ParseStateName(isSamplerState, isPipelineState, stateAssignment->stateName, state)) { + return false; + } + + //stateAssignment->name = m_tree->AddString(m_tokenizer.GetIdentifier()); + stateAssignment->stateName = state->name; + stateAssignment->d3dRenderState = state->d3drs; + + if (!Expect('=')) { + return false; + } + + if (!ParseStateValue(state, stateAssignment)) { + return false; + } + + if (!Expect(';')) { + return false; + } + + return true; +} + + +bool HLSLParser::ParseAttributeList(HLSLAttribute*& firstAttribute) +{ + const char* fileName = GetFileName(); + int line = GetLineNumber(); + + HLSLAttribute * lastAttribute = firstAttribute; + do { + const char * identifier = NULL; + if (!ExpectIdentifier(identifier)) { + return false; + } + + HLSLAttribute * attribute = m_tree->AddNode(fileName, line); + + if (strcmp(identifier, "unroll") == 0) attribute->attributeType = HLSLAttributeType_Unroll; + else if (strcmp(identifier, "flatten") == 0) attribute->attributeType = HLSLAttributeType_Flatten; + else if (strcmp(identifier, "branch") == 0) attribute->attributeType = HLSLAttributeType_Branch; + else if (strcmp(identifier, "nofastmath") == 0) attribute->attributeType = HLSLAttributeType_NoFastMath; + + // @@ parse arguments, () not required if attribute constructor has no arguments. + + if (firstAttribute == NULL) + { + firstAttribute = attribute; + } + else + { + lastAttribute->nextAttribute = attribute; + } + lastAttribute = attribute; + + } while(Accept(',')); + + return true; +} + +// Attributes can have all these forms: +// [A] statement; +// [A,B] statement; +// [A][B] statement; +// These are not supported yet: +// [A] statement [B]; +// [A()] statement; +// [A(a)] statement; +bool HLSLParser::ParseAttributeBlock(HLSLAttribute*& attribute) +{ + HLSLAttribute ** lastAttribute = &attribute; + while (*lastAttribute != NULL) { lastAttribute = &(*lastAttribute)->nextAttribute; } + + if (!Accept('[')) + { + return false; + } + + // Parse list of attribute constructors. + ParseAttributeList(*lastAttribute); + + if (!Expect(']')) + { + return false; + } + + // Parse additional [] blocks. + ParseAttributeBlock(*lastAttribute); + + return true; +} + +bool HLSLParser::ParseStage(HLSLStatement*& statement) +{ + if (!Accept("stage")) + { + return false; + } + + // Required stage name. + const char* stageName = NULL; + if (!ExpectIdentifier(stageName)) + { + return false; + } + + if (!Expect('{')) + { + return false; + } + + HLSLStage* stage = m_tree->AddNode(GetFileName(), GetLineNumber()); + stage->name = stageName; + + BeginScope(); + + HLSLType voidType(HLSLBaseType_Void); + if (!Expect('{') || !ParseBlock(stage->statement, voidType)) + { + return false; + } + + EndScope(); + + // @@ To finish the stage definition we should traverse the statements recursively (including function calls) and find all the input/output declarations. + + statement = stage; + return true; +} + + + + +bool HLSLParser::Parse(const char* fileName, const char* buffer, size_t length) +{ + HLSLRoot* root = m_tree->GetRoot(); + HLSLStatement* lastStatement = NULL; + + m_tokenizer = HLSLTokenizer(fileName, buffer, length); + while (!Accept(HLSLToken_EndOfStream)) + { + HLSLStatement* statement = NULL; + if (!ParseTopLevel(statement)) + { + return false; + } + if (statement != NULL) + { + if (lastStatement == NULL) + { + root->statement = statement; + } + else + { + lastStatement->nextStatement = statement; + } + lastStatement = statement; + while (lastStatement->nextStatement) lastStatement = lastStatement->nextStatement; + } + } + return true; +} + + +bool HLSLParser::ParsePreprocessorDefine() +{ + int line = GetLineNumber(); + const char* fileName = GetFileName(); + + // Define identifier parsing: + // Don't use AcceptIdentifier to be able to check for whitespace after define name + // This is required to separate define name and value as both could contains parenthesis + const char* macroName = NULL; + m_tokenizer.Next(); + if (m_tokenizer.GetToken() == HLSLToken_Identifier) + { + macroName = m_tree->AddString( m_tokenizer.GetIdentifier() ); + } + else + { + char near[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(near); + m_tokenizer.Error("Syntax error: expected identifier near '%s'", near); + return false; + } + + bool macroWithArguments = !m_tokenizer.NextIsWhitespace(); + + // Macro declaration + HLSLMacro* macro = m_tree->AddNode(fileName, line); + macro->name = macroName; + m_macros.PushBack(macro); + + // Prepare next token + m_tokenizer.Next(); + + std::string value; + if (macroWithArguments) + { + // Macro with arguments + if (Accept('(')) + { + unsigned int numArguments = 0; + HLSLArgument* lastArgument = NULL; + + while (!Accept(')')) + { + if (CheckForUnexpectedEndOfStream(')')) + { + return false; + } + if (numArguments > 0 && !Expect(',')) + { + return false; + } + + HLSLArgument* argument = m_tree->AddNode(fileName, line); + if (!ExpectIdentifier(argument->name)) + { + return false; + } + + if (lastArgument != NULL) + { + lastArgument->nextArgument = argument; + } + else + { + macro->argument = argument; + } + lastArgument = argument; + + ++numArguments; + } + + macro->numArguments = numArguments; + } + + // Macro value + while(m_tokenizer.GetToken() != HLSLToken_EndOfLine) + { + bool addOriginalSource = true; + + if (m_tokenizer.GetToken() == HLSLToken_Identifier) + { + // Search for macro attributes + HLSLArgument* argument = macro->argument; + unsigned argNum = 0; + while(argument != NULL) + { + if (String_Equal(argument->name, m_tokenizer.GetIdentifier())) + { + value.append("#" + std::to_string(argNum) + "#"); + addOriginalSource = false; + break; + } + + argument = argument->nextArgument; + argNum++; + } + } + + if (addOriginalSource) + { + value.append(m_tokenizer.getLastPos(true), + m_tokenizer.getCurrentPos() - m_tokenizer.getLastPos(true)); + } + + m_tokenizer.Next(false); + } + + + } + else + { + // Macro value + while(m_tokenizer.GetToken() != HLSLToken_EndOfLine) + { + const char * start = m_tokenizer.getLastPos(true); + + std::string valueAdd(start, m_tokenizer.getCurrentPos() - start); + value.append(valueAdd); + + m_tokenizer.Next(false); + } + } + + // Remove extra parenthesis + if (value[0] == '(') + { + value.erase(value.length()-1, 1); + value.erase(0, 1); + } + + macro->value = value; + + return true; +} + + +bool HLSLParser::ApplyPreprocessor(const char* fileName, const char* buffer, size_t length, + std::string & sourcePreprocessed) { + + m_tokenizer = HLSLTokenizer(fileName, buffer, length); + + // Fisrt pass, grab #define + while (m_tokenizer.GetToken() != HLSLToken_EndOfStream) + { + if (m_tokenizer.GetToken() == HLSLToken_PreprocessorDefine) + { + ParsePreprocessorDefine(); + } + + m_tokenizer.Next(); + } + + + // Second pass, propagate macros definitions across macros values + int index = 0; + while (index < m_macros.GetSize()) + { + HLSLMacro * macro = m_macros[index]; + m_tokenizer = HLSLTokenizer(fileName, macro->value.c_str(), macro->value.length()); + std::string valueProcessed; + + while (m_tokenizer.GetToken() != HLSLToken_EndOfStream) + { + bool addOriginalSource = true; + if (m_tokenizer.GetToken() == HLSLToken_Identifier) + { + HLSLMacro * matchedMacro = ProcessMacroFromIdentifier(valueProcessed, addOriginalSource); + if (matchedMacro != NULL) + { + // Check if macro is just an alias + // macros value must be equal to matched macro name + if (macro->value == matchedMacro->name) + { + macro->macroAliased = matchedMacro; + } + } + } + + if (addOriginalSource) + { + valueProcessed.append(m_tokenizer.getLastPos(true), + m_tokenizer.getCurrentPos() - m_tokenizer.getLastPos(true)); + } + + m_tokenizer.Next(); + } + + if (valueProcessed == "main") + { + valueProcessed = "sampler_fw_main"; + } + + if (valueProcessed != macro->value) + { + // Define value referenced another define, it was replaced + // try again until there is no replacement + macro->value = valueProcessed; + + } + else + { + index++; + } + } + + // Third pass, macro aliases get original value and arguments + index = 0; + while (index < m_macros.GetSize()) + { + HLSLMacro * macro = m_macros[index]; + + if (macro->macroAliased != NULL) + { + macro->argument = macro->macroAliased->argument; + macro->numArguments = macro->macroAliased->numArguments; + macro->value = macro->macroAliased->value; + } + + index++; + } + + // Fouth pass, search and replace preprocessor directives + std::stack isCodeActive; + isCodeActive.push(true); + m_tokenizer = HLSLTokenizer(fileName, buffer, length); + sourcePreprocessed.clear(); + while (m_tokenizer.GetToken() != HLSLToken_EndOfStream) + { + bool addOriginalSource = true; + + if (m_tokenizer.GetToken() == HLSLToken_PreprocessorIf) + { + while (m_tokenizer.GetToken() != HLSLToken_IntLiteral && m_tokenizer.GetToken() != HLSLToken_EndOfLine) + { + m_tokenizer.Next(false); + } + + if (m_tokenizer.GetToken() == HLSLToken_IntLiteral) + { + isCodeActive.push(m_tokenizer.GetInt() != 0); + } + else + { + m_tokenizer.Error("#if evaluation failed: not an integer"); + return false; + } + addOriginalSource = false; + } + else if (m_tokenizer.GetToken() == HLSLToken_PreprocessorElse) + { + // Invert stack state + bool state = isCodeActive.top(); + isCodeActive.pop(); + isCodeActive.push(!state); + addOriginalSource = false; + } + else if (m_tokenizer.GetToken() == HLSLToken_PreprocessorEndif) + { + isCodeActive.pop(); + addOriginalSource = false; + } + else if (m_tokenizer.GetToken() == HLSLToken_PreprocessorDefine) + { + // Skip macros definition + while(m_tokenizer.GetToken() != HLSLToken_EndOfLine) + { + m_tokenizer.Next(false); + } + + addOriginalSource = false; + } + else if (m_tokenizer.GetToken() == HLSLToken_Identifier && isCodeActive.top()) + { + ProcessMacroFromIdentifier(sourcePreprocessed, addOriginalSource); + } + else if (!isCodeActive.top()) + { + addOriginalSource = false; + } + + if (addOriginalSource) + { + sourcePreprocessed.append(m_tokenizer.getLastPos(false), + m_tokenizer.getCurrentPos() - m_tokenizer.getLastPos(false)); + } + + m_tokenizer.Next(); + } + + + return isCodeActive.size() == 1; +} + + +HLSLMacro * HLSLParser::ProcessMacroFromIdentifier(std::string & sourcePreprocessed, bool & addOriginalSource) +{ + // Search a define matching + for (int i = m_macros.GetSize() - 1; i >= 0; --i) + { + if (String_Equal(m_macros[i]->name, m_tokenizer.GetIdentifier())) + { + if (m_macros[i]->argument == NULL) + { + // Macro without arguments + sourcePreprocessed.append("("); + sourcePreprocessed.append(m_macros[i]->value); + sourcePreprocessed.append(")"); + addOriginalSource = false; + } + else + { + // Macro with arguments + const char * savePos = m_tokenizer.getLastPos(false); + + m_tokenizer.Next(); + + if (ProcessMacroArguments(m_macros[i], sourcePreprocessed)) + { + // Macro replaced + addOriginalSource = false; + } + else + { + // Macro signatures does not match: writing back readed parts + sourcePreprocessed.append(savePos, + m_tokenizer.getLastPos(false) - savePos); + + m_tokenizer.ReturnToPos(m_tokenizer.getLastPos(false)); + + addOriginalSource = true; + } + } + + return m_macros[i]; + } + } + + return NULL; +} + + + +bool HLSLParser::ProcessMacroArguments(HLSLMacro* macro, std::string & sourcePreprocessed) +{ + unsigned scopeLevel = 0; + std::vector argumentsValues; + std::string argValue; + bool firstToken = true; + + // Parse arguments values + while(m_tokenizer.GetToken() != HLSLToken_EndOfStream) { + bool addToValue = true; + + if (firstToken && m_tokenizer.GetToken() != '(') + { + break; + } + else if (m_tokenizer.GetToken() == '(') + { + scopeLevel++; + if (scopeLevel == 1) + { + addToValue = false; + } + } + else if (m_tokenizer.GetToken() == ')') + { + scopeLevel--; + if (scopeLevel == 0) + { + argumentsValues.push_back(argValue); + break; + } + } + else if (m_tokenizer.GetToken() == ',') + { + if (scopeLevel == 1) + { + argumentsValues.push_back(argValue); + argValue.clear(); + addToValue = false; + } + } + else if (m_tokenizer.GetToken() == HLSLToken_Identifier) + { + ProcessMacroFromIdentifier(argValue, addToValue); + } + + if (addToValue) + { + argValue.append(m_tokenizer.getLastPos(false), + m_tokenizer.getCurrentPos() - m_tokenizer.getLastPos(false)); + } + + m_tokenizer.Next(); + firstToken = false; + } + + // Arguments count does not match + if (argumentsValues.size() != macro->numArguments) { + return false; + } + + // Surround macro definition with parenthesis + sourcePreprocessed.append("("); + + // Write arguments value + unsigned index = 0; + std::string arg; + bool argFound = false; + while(index < macro->value.length()) + { + if (macro->value[index] == '#' && !argFound) + { + argFound = true; + arg.clear(); + } + else if (macro->value[index] == '#' && argFound) + { + unsigned indexArg = std::stoi(arg); + if (indexArg < argumentsValues.size()) + { + sourcePreprocessed.append(argumentsValues[indexArg]); + } + argFound = false; + } + else if (argFound) + { + arg += macro->value[index]; + } + else + { + sourcePreprocessed += macro->value[index]; + } + + index++; + } + + // Surround macro definition with parenthesis + sourcePreprocessed.append(")"); + + return true; +} + + +bool HLSLParser::AcceptTypeModifier(int& flags) +{ + if (Accept(HLSLToken_Const)) + { + flags |= HLSLTypeFlag_Const; + return true; + } + else if (Accept(HLSLToken_Static)) + { + flags |= HLSLTypeFlag_Static; + return true; + } + else if (Accept(HLSLToken_Uniform)) + { + flags |= HLSLTypeFlag_Uniform; + return true; + } + else if (Accept(HLSLToken_Inline)) + { + //flags |= HLSLTypeFlag_Uniform; // @@ Ignored. In HLSL all functions are inline. + return true; + } + /*else if (Accept("in")) + { + flags |= HLSLTypeFlag_Input; + return true; + } + else if (Accept("out")) + { + flags |= HLSLTypeFlag_Output; + return true; + }*/ + + // Not an usage keyword. + return false; +} + +bool HLSLParser::AcceptInterpolationModifier(int& flags) +{ + if (Accept("linear")) + { + flags |= HLSLTypeFlag_Linear; + return true; + } + else if (Accept("centroid")) + { + flags |= HLSLTypeFlag_Centroid; + return true; + } + else if (Accept("nointerpolation")) + { + flags |= HLSLTypeFlag_NoInterpolation; + return true; + } + else if (Accept("noperspective")) + { + flags |= HLSLTypeFlag_NoPerspective; + return true; + } + else if (Accept("sample")) + { + flags |= HLSLTypeFlag_Sample; + return true; + } + + return false; +} + + +bool HLSLParser::AcceptType(bool allowVoid, HLSLType& type/*, bool acceptFlags*/) +{ + //if (type.flags != NULL) + { + type.flags = 0; + while(AcceptTypeModifier(type.flags) || AcceptInterpolationModifier(type.flags)) {} + } + + int token = m_tokenizer.GetToken(); + + // Check built-in types. + type.baseType = HLSLBaseType_Void; + switch (token) + { + case HLSLToken_Float: + case HLSLToken_Float1: + case HLSLToken_Float1x1: + case HLSLToken_Half: + case HLSLToken_Half1: + case HLSLToken_Half1x1: + case HLSLToken_Double: + case HLSLToken_Double1: + case HLSLToken_Double1x1: + type.baseType = HLSLBaseType_Float; + break; + case HLSLToken_Float2: + case HLSLToken_Float2x1: + case HLSLToken_Half2: + case HLSLToken_Half2x1: + case HLSLToken_Double2: + case HLSLToken_Double2x1: + type.baseType = HLSLBaseType_Float2; + break; + case HLSLToken_Float3: + case HLSLToken_Float3x1: + case HLSLToken_Half3: + case HLSLToken_Half3x1: + case HLSLToken_Double3: + case HLSLToken_Double3x1: + type.baseType = HLSLBaseType_Float3; + break; + case HLSLToken_Float4: + case HLSLToken_Float4x1: + case HLSLToken_Half4: + case HLSLToken_Half4x1: + case HLSLToken_Double4: + case HLSLToken_Double4x1: + type.baseType = HLSLBaseType_Float4; + break; + case HLSLToken_Float2x4: + case HLSLToken_Half2x4: + case HLSLToken_Double2x4: + type.baseType = HLSLBaseType_Float2x4; + break; + case HLSLToken_Float2x3: + case HLSLToken_Half2x3: + case HLSLToken_Double2x3: + type.baseType = HLSLBaseType_Float2x3; + break; + case HLSLToken_Float2x2: + case HLSLToken_Half2x2: + case HLSLToken_Double2x2: + type.baseType = HLSLBaseType_Float2x2; + break; + case HLSLToken_Float3x4: + case HLSLToken_Half3x4: + case HLSLToken_Double3x4: + type.baseType = HLSLBaseType_Float3x4; + break; + case HLSLToken_Float3x3: + case HLSLToken_Half3x3: + case HLSLToken_Double3x3: + type.baseType = HLSLBaseType_Float3x3; + break; + case HLSLToken_Float3x2: + case HLSLToken_Half3x2: + case HLSLToken_Double3x2: + type.baseType = HLSLBaseType_Float3x2; + break; + case HLSLToken_Float4x4: + case HLSLToken_Half4x4: + case HLSLToken_Double4x4: + type.baseType = HLSLBaseType_Float4x4; + break; + case HLSLToken_Float4x3: + case HLSLToken_Half4x3: + case HLSLToken_Double4x3: + type.baseType = HLSLBaseType_Float4x3; + break; + case HLSLToken_Float4x2: + case HLSLToken_Half4x2: + case HLSLToken_Double4x2: + type.baseType = HLSLBaseType_Float4x2; + break; + case HLSLToken_Bool: + type.baseType = HLSLBaseType_Bool; + break; + case HLSLToken_Bool2: + type.baseType = HLSLBaseType_Bool2; + break; + case HLSLToken_Bool3: + type.baseType = HLSLBaseType_Bool3; + break; + case HLSLToken_Bool4: + type.baseType = HLSLBaseType_Bool4; + break; + case HLSLToken_Int: + type.baseType = HLSLBaseType_Int; + break; + case HLSLToken_Int2: + type.baseType = HLSLBaseType_Int2; + break; + case HLSLToken_Int3: + type.baseType = HLSLBaseType_Int3; + break; + case HLSLToken_Int4: + type.baseType = HLSLBaseType_Int4; + break; + case HLSLToken_Uint: + type.baseType = HLSLBaseType_Uint; + break; + case HLSLToken_Uint2: + type.baseType = HLSLBaseType_Uint2; + break; + case HLSLToken_Uint3: + type.baseType = HLSLBaseType_Uint3; + break; + case HLSLToken_Uint4: + type.baseType = HLSLBaseType_Uint4; + break; + case HLSLToken_Texture: + type.baseType = HLSLBaseType_Texture; + break; + case HLSLToken_Sampler: + type.baseType = HLSLBaseType_Sampler2D; // @@ IC: For now we assume that generic samplers are always sampler2D + break; + case HLSLToken_Sampler2D: + type.baseType = HLSLBaseType_Sampler2D; + break; + case HLSLToken_Sampler3D: + type.baseType = HLSLBaseType_Sampler3D; + break; + case HLSLToken_SamplerCube: + type.baseType = HLSLBaseType_SamplerCube; + break; + case HLSLToken_Sampler2DShadow: + type.baseType = HLSLBaseType_Sampler2DShadow; + break; + case HLSLToken_Sampler2DMS: + type.baseType = HLSLBaseType_Sampler2DMS; + break; + case HLSLToken_Sampler2DArray: + type.baseType = HLSLBaseType_Sampler2DArray; + break; + } + if (type.baseType != HLSLBaseType_Void) + { + m_tokenizer.Next(); + + if (IsSamplerType(type.baseType)) + { + // Parse optional sampler type. + if (Accept('<')) + { + int token2 = m_tokenizer.GetToken(); + if (token2 == HLSLToken_Float || token2 == HLSLToken_Float1) + { + type.samplerType = HLSLBaseType_Float; + } + else + { + m_tokenizer.Error("Expected half or float."); + return false; + } + m_tokenizer.Next(); + + if (!Expect('>')) + { + m_tokenizer.Error("Syntax error: '>' expected for sampler type"); + return false; + } + } + } + return true; + } + + if (allowVoid && Accept(HLSLToken_Void)) + { + type.baseType = HLSLBaseType_Void; + return true; + } + if (token == HLSLToken_Identifier) + { + const char* identifier = m_tree->AddString( m_tokenizer.GetIdentifier() ); + if (FindUserDefinedType(identifier) != NULL) + { + m_tokenizer.Next(); + type.baseType = HLSLBaseType_UserDefined; + type.typeName = identifier; + return true; + } + } + return false; +} + +bool HLSLParser::ExpectType(bool allowVoid, HLSLType& type) +{ + if (!AcceptType(allowVoid, type)) + { + m_tokenizer.Error("Expected type"); + return false; + } + return true; +} + +bool HLSLParser::AcceptDeclaration(bool allowUnsizedArray, HLSLType& type, const char*& name) +{ + if (!AcceptType(/*allowVoid=*/false, type)) + { + return false; + } + + if (!ExpectIdentifier(name)) + { + // TODO: false means we didn't accept a declaration and we had an error! + return false; + } + // Handle array syntax. + if (Accept('[')) + { + type.array = true; + // Optionally allow no size to the specified for the array. + if (Accept(']') && allowUnsizedArray) + { + return true; + } + if (!ParseExpression(type.arraySize) || !Expect(']')) + { + return false; + } + } + return true; +} + +bool HLSLParser::ExpectDeclaration(bool allowUnsizedArray, HLSLType& type, const char*& name) +{ + if (!AcceptDeclaration(allowUnsizedArray, type, name)) + { + m_tokenizer.Error("Expected declaration"); + return false; + } + return true; +} + +const HLSLStruct* HLSLParser::FindUserDefinedType(const char* name) const +{ + // Pointer comparison is sufficient for strings since they exist in the + // string pool. + for (int i = 0; i < m_userTypes.GetSize(); ++i) + { + if (m_userTypes[i]->name == name) + { + return m_userTypes[i]; + } + } + return NULL; +} + +bool HLSLParser::CheckForUnexpectedEndOfStream(int endToken) +{ + if (Accept(HLSLToken_EndOfStream)) + { + char what[HLSLTokenizer::s_maxIdentifier]; + m_tokenizer.GetTokenName(endToken, what); + m_tokenizer.Error("Unexpected end of file while looking for '%s'", what); + return true; + } + return false; +} + +int HLSLParser::GetLineNumber() const +{ + return m_tokenizer.GetLineNumber(); +} + +const char* HLSLParser::GetFileName() +{ + return m_tree->AddString( m_tokenizer.GetFileName() ); +} + +void HLSLParser::BeginScope() +{ + // Use NULL as a sentinel that indices a new scope level. + Variable& variable = m_variables.PushBackNew(); + variable.name = NULL; +} + +void HLSLParser::EndScope() +{ + int numVariables = m_variables.GetSize() - 1; + while (m_variables[numVariables].name != NULL) + { + --numVariables; + ASSERT(numVariables >= 0); + } + m_variables.Resize(numVariables); +} + +const HLSLType* HLSLParser::FindVariable(const char* name, bool& global) const +{ + for (int i = m_variables.GetSize() - 1; i >= 0; --i) + { + if (m_variables[i].name == name) + { + global = (i < m_numGlobals); + return &m_variables[i].type; + } + } + return NULL; +} + +const HLSLFunction* HLSLParser::FindFunction(const char* name) const +{ + for (int i = 0; i < m_functions.GetSize(); ++i) + { + if (m_functions[i]->name == name) + { + return m_functions[i]; + } + } + return NULL; +} + +static bool AreTypesEqual(HLSLTree* tree, const HLSLType& lhs, const HLSLType& rhs) +{ + return GetTypeCastRank(tree, lhs, rhs) == 0; +} + +static bool AreArgumentListsEqual(HLSLTree* tree, HLSLArgument* lhs, HLSLArgument* rhs) +{ + while (lhs && rhs) + { + if (!AreTypesEqual(tree, lhs->type, rhs->type)) + return false; + + if (lhs->modifier != rhs->modifier) + return false; + + if (lhs->semantic != rhs->semantic || lhs->sv_semantic != rhs->sv_semantic) + return false; + + lhs = lhs->nextArgument; + rhs = rhs->nextArgument; + } + + return lhs == NULL && rhs == NULL; +} + +const HLSLFunction* HLSLParser::FindFunction(const HLSLFunction* fun) const +{ + for (int i = 0; i < m_functions.GetSize(); ++i) + { + if (m_functions[i]->name == fun->name && + AreTypesEqual(m_tree, m_functions[i]->returnType, fun->returnType) && + AreArgumentListsEqual(m_tree, m_functions[i]->argument, fun->argument)) + { + return m_functions[i]; + } + } + return NULL; +} + +void HLSLParser::DeclareVariable(const char* name, const HLSLType& type) +{ + if (m_variables.GetSize() == m_numGlobals) + { + ++m_numGlobals; + } + Variable& variable = m_variables.PushBackNew(); + variable.name = name; + variable.type = type; +} + +bool HLSLParser::GetIsFunction(const char* name) const +{ + for (int i = 0; i < m_functions.GetSize(); ++i) + { + // == is ok here because we're passed the strings through the string pool. + if (m_functions[i]->name == name) + { + return true; + } + } + for (int i = 0; i < _numIntrinsics; ++i) + { + // Intrinsic names are not in the string pool (since they are compile time + // constants, so we need full string compare). + if (String_Equal(name, _intrinsic[i].function.name)) + { + return true; + } + } + + return false; +} + +const HLSLFunction* HLSLParser::MatchFunctionCall(const HLSLFunctionCall* functionCall, const char* name) +{ + const HLSLFunction* matchedFunction = NULL; + + int numMatchedOverloads = 0; + bool nameMatches = false; + + // Get the user defined functions with the specified name. + for (int i = 0; i < m_functions.GetSize(); ++i) + { + const HLSLFunction* function = m_functions[i]; + if (function->name == name) + { + nameMatches = true; + + CompareFunctionsResult result = CompareFunctions( m_tree, functionCall, function, matchedFunction ); + if (result == Function1Better) + { + matchedFunction = function; + numMatchedOverloads = 1; + } + else if (result == FunctionsEqual) + { + ++numMatchedOverloads; + } + } + } + + // Get the intrinsic functions with the specified name. + for (int i = 0; i < _numIntrinsics; ++i) + { + const HLSLFunction* function = &_intrinsic[i].function; + if (String_Equal(function->name, name)) + { + nameMatches = true; + + CompareFunctionsResult result = CompareFunctions( m_tree, functionCall, function, matchedFunction ); + if (result == Function1Better) + { + matchedFunction = function; + numMatchedOverloads = 1; + } + else if (result == FunctionsEqual) + { + ++numMatchedOverloads; + } + } + } + + if (matchedFunction != NULL && numMatchedOverloads > 1) + { + // Multiple overloads match. + m_tokenizer.Error("'%s' %d overloads have similar conversions", name, numMatchedOverloads); + return NULL; + } + else if (matchedFunction == NULL) + { + if (nameMatches) + { + m_tokenizer.Error("'%s' no overloaded function matched all of the arguments", name); + } + else + { + m_tokenizer.Error("Undeclared identifier '%s'", name); + } + } + + return matchedFunction; +} + +bool HLSLParser::GetMemberType(const HLSLType& objectType, HLSLMemberAccess * memberAccess) +{ + const char* fieldName = memberAccess->field; + + if (objectType.baseType == HLSLBaseType_UserDefined) + { + const HLSLStruct* structure = FindUserDefinedType( objectType.typeName ); + ASSERT(structure != NULL); + + const HLSLStructField* field = structure->field; + while (field != NULL) + { + if (field->name == fieldName) + { + memberAccess->expressionType = field->type; + return true; + } + field = field->nextField; + } + + return false; + } + + if (baseTypeDescriptions[objectType.baseType].numericType == NumericType_NaN) + { + // Currently we don't have an non-numeric types that allow member access. + return false; + } + + int swizzleLength = 0; + + if (baseTypeDescriptions[objectType.baseType].numDimensions <= 1) + { + // Check for a swizzle on the scalar/vector types. + for (int i = 0; fieldName[i] != 0; ++i) + { + if (fieldName[i] != 'x' && fieldName[i] != 'y' && fieldName[i] != 'z' && fieldName[i] != 'w' && + fieldName[i] != 'r' && fieldName[i] != 'g' && fieldName[i] != 'b' && fieldName[i] != 'a') + { + m_tokenizer.Error("Invalid swizzle '%s'", fieldName); + return false; + } + ++swizzleLength; + } + ASSERT(swizzleLength > 0); + } + else + { + + // Check for a matrix element access (e.g. _m00 or _11) + + const char* n = fieldName; + while (n[0] == '_') + { + ++n; + int base = 1; + if (n[0] == 'm') + { + base = 0; + ++n; + } + if (!isdigit(n[0]) || !isdigit(n[1])) + { + return false; + } + + int r = (n[0] - '0') - base; + int c = (n[1] - '0') - base; + if (r >= baseTypeDescriptions[objectType.baseType].height || + c >= baseTypeDescriptions[objectType.baseType].numComponents) + { + return false; + } + ++swizzleLength; + n += 2; + + } + + if (n[0] != 0) + { + return false; + } + + } + + if (swizzleLength > 4) + { + m_tokenizer.Error("Invalid swizzle '%s'", fieldName); + return false; + } + + static const HLSLBaseType floatType[] = { HLSLBaseType_Float, HLSLBaseType_Float2, HLSLBaseType_Float3, HLSLBaseType_Float4 }; + static const HLSLBaseType intType[] = { HLSLBaseType_Int, HLSLBaseType_Int2, HLSLBaseType_Int3, HLSLBaseType_Int4 }; + static const HLSLBaseType uintType[] = { HLSLBaseType_Uint, HLSLBaseType_Uint2, HLSLBaseType_Uint3, HLSLBaseType_Uint4 }; + static const HLSLBaseType boolType[] = { HLSLBaseType_Bool, HLSLBaseType_Bool2, HLSLBaseType_Bool3, HLSLBaseType_Bool4 }; + + switch (baseTypeDescriptions[objectType.baseType].numericType) + { + case NumericType_Float: + memberAccess->expressionType.baseType = floatType[swizzleLength - 1]; + break; + case NumericType_Int: + memberAccess->expressionType.baseType = intType[swizzleLength - 1]; + break; + case NumericType_Uint: + memberAccess->expressionType.baseType = uintType[swizzleLength - 1]; + break; + case NumericType_Bool: + memberAccess->expressionType.baseType = boolType[swizzleLength - 1]; + break; + default: + ASSERT(0); + } + + memberAccess->swizzle = true; + + return true; +} + +} diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLParser.h b/src/libprojectM/Renderer/hlslparser/src/HLSLParser.h new file mode 100755 index 0000000000..6e7b3d802d --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLParser.h @@ -0,0 +1,151 @@ +//============================================================================= +// +// Render/HLSLParser.h +// +// Created by Max McGuire (max@unknownworlds.com) +// Copyright (c) 2013, Unknown Worlds Entertainment, Inc. +// +//============================================================================= + +#ifndef HLSL_PARSER_H +#define HLSL_PARSER_H + +//#include "Engine/StringPool.h" +//#include "Engine/Array.h" +#include "Engine.h" + +#include "HLSLTokenizer.h" +#include "HLSLTree.h" +#include + +namespace M4 +{ + +struct EffectState; + +class HLSLParser +{ + +public: + + HLSLParser(Allocator* allocator, HLSLTree *tree); + + bool Parse(const char *fileName, const char *buffer, size_t length); + bool ApplyPreprocessor(const char* fileName, const char* buffer, size_t length, std::string & sourcePreprocessed); + +private: + + bool Accept(int token); + bool Expect(int token); + + /** + * Special form of Accept for accepting a word that is not actually a token + * but will be treated like one. This is useful for HLSL keywords that are + * only tokens in specific contexts (like in/inout in parameter lists). + */ + bool Accept(const char* token); + bool Expect(const char* token); + + bool AcceptIdentifier(const char*& identifier); + bool ExpectIdentifier(const char*& identifier); + bool AcceptFloat(float& value); + bool AcceptInt(int& value); + bool AcceptType(bool allowVoid, HLSLType& type); + bool ExpectType(bool allowVoid, HLSLType& type); + bool AcceptBinaryOperator(int priority, HLSLBinaryOp& binaryOp); + bool AcceptUnaryOperator(bool pre, HLSLUnaryOp& unaryOp); + bool AcceptAssign(HLSLBinaryOp& binaryOp); + bool AcceptTypeModifier(int & typeFlags); + bool AcceptInterpolationModifier(int& flags); + + /** + * Handles a declaration like: "float2 name[5]". If allowUnsizedArray is true, it is + * is acceptable for the declaration to not specify the bounds of the array (i.e. name[]). + */ + bool AcceptDeclaration(bool allowUnsizedArray, HLSLType& type, const char*& name); + bool ExpectDeclaration(bool allowUnsizedArray, HLSLType& type, const char*& name); + + bool ParseTopLevel(HLSLStatement*& statement); + bool ParseBlock(HLSLStatement*& firstStatement, const HLSLType& returnType); + bool ParseStatementOrBlock(HLSLStatement*& firstStatement, const HLSLType& returnType, bool scoped = true); + bool ParseStatement(HLSLStatement*& statement, const HLSLType& returnType); + bool ParseDeclaration(HLSLDeclaration*& declaration); + bool ParseFieldDeclaration(HLSLStructField*& field); + //bool ParseBufferFieldDeclaration(HLSLBufferField*& field); + bool ParseExpression(HLSLExpression*& expression); + bool ParseBinaryExpression(int priority, HLSLExpression*& expression); + bool ParseTerminalExpression(HLSLExpression*& expression, char &needsExpressionEndChar); + bool ParseExpressionList(int endToken, bool allowEmptyEnd, HLSLExpression*& firstExpression, int& numExpressions); + bool ParseArgumentList(HLSLArgument*& firstArgument, int& numArguments, int& numOutputArguments); + bool ParseDeclarationAssignment(HLSLDeclaration* declaration); + bool ParsePartialConstructor(HLSLExpression*& expression, HLSLBaseType type, const char* typeName); + + bool ParseStateName(bool isSamplerState, bool isPipelineState, const char*& name, const EffectState *& state); + bool ParseColorMask(int& mask); + bool ParseStateValue(const EffectState * state, HLSLStateAssignment* stateAssignment); + bool ParseStateAssignment(HLSLStateAssignment*& stateAssignment, bool isSamplerState, bool isPipelineState); + bool ParseSamplerState(HLSLExpression*& expression); + bool ParseTechnique(HLSLStatement*& statement); + bool ParsePass(HLSLPass*& pass); + bool ParsePipeline(HLSLStatement*& pipeline); + bool ParseStage(HLSLStatement*& stage); + bool ParsePreprocessorDefine(); + + bool ParseAttributeList(HLSLAttribute*& attribute); + bool ParseAttributeBlock(HLSLAttribute*& attribute); + + bool CheckForUnexpectedEndOfStream(int endToken); + + const HLSLStruct* FindUserDefinedType(const char* name) const; + + void BeginScope(); + void EndScope(); + + void DeclareVariable(const char* name, const HLSLType& type); + + /** Returned pointer is only valid until Declare or Begin/EndScope is called. */ + const HLSLType* FindVariable(const char* name, bool& global) const; + + const HLSLFunction* FindFunction(const char* name) const; + const HLSLFunction* FindFunction(const HLSLFunction* fun) const; + + bool GetIsFunction(const char* name) const; + + /** Finds the overloaded function that matches the specified call. */ + const HLSLFunction* MatchFunctionCall(const HLSLFunctionCall* functionCall, const char* name); + + /** Gets the type of the named field on the specified object type (fieldName can also specify a swizzle. ) */ + bool GetMemberType(const HLSLType& objectType, HLSLMemberAccess * memberAccess); + + bool CheckTypeCast(const HLSLType& srcType, const HLSLType& dstType); + + const char* GetFileName(); + int GetLineNumber() const; + + bool ProcessMacroArguments(HLSLMacro* macro, std::string & sourcePreprocessed); + HLSLMacro *ProcessMacroFromIdentifier(std::string & sourcePreprocessed, bool &addOriginalSource); + +private: + + struct Variable + { + const char* name; + HLSLType type; + }; + + HLSLTokenizer m_tokenizer; + Array m_userTypes; + Array m_variables; + Array m_functions; + Array m_macros; + int m_numGlobals; + + HLSLTree* m_tree; + + bool m_allowUndeclaredIdentifiers = false; + // not used bool m_disableSemanticValidation = false; +}; + +} + +#endif diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.cpp b/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.cpp new file mode 100755 index 0000000000..6580ac8721 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.cpp @@ -0,0 +1,716 @@ +//#include "Engine/Log.h" +//#include "Engine/String.h" +#include "Engine.h" + +#include "HLSLTokenizer.h" + +#include +#include +#include +#include +#include + +namespace M4 +{ + +// The order here must match the order in the Token enum. +static const char* _reservedWords[] = + { + "float", + "float1", + "float1x1", + "float2", + "float2x1", + "float3", + "float3x1", + "float4", + "float4x1", + "float2x4", + "float2x3", + "float2x2", + "float3x4", + "float3x3", + "float3x2", + "float4x4", + "float4x3", + "float4x2", + + "half", + "half1", + "half1x1", + "half2", + "half2x1", + "half3", + "half3x1", + "half4", + "half4x1", + "half2x4", + "half2x3", + "half2x2", + "half3x4", + "half3x3", + "half3x2", + "half4x4", + "half4x3", + "half4x2", + + "double", + "double1", + "double1x1", + "double2", + "double2x1", + "double3", + "double3x1", + "double4", + "double4x1", + "double2x4", + "double2x3", + "double2x2", + "double3x4", + "double3x3", + "double3x2", + "double4x4", + "double4x3", + "double4x2", + + "bool", + "bool2", + "bool3", + "bool4", + "int", + "int2", + "int3", + "int4", + "uint", + "uint2", + "uint3", + "uint4", + "texture", + "sampler", + "sampler2D", + "sampler3D", + "samplerCUBE", + "sampler2DShadow", + "sampler2DMS", + "sampler2DArray", + "if", + "else", + "for", + "while", + "break", + "true", + "false", + "void", + "struct", + "cbuffer", + "tbuffer", + "register", + "return", + "continue", + "discard", + "const", + "static", + "inline", + "#define", + "#if", + "#else", + "#endif", + "uniform", + "in", + "out", + "inout", + "sampler_state", + "technique", + "pass", + }; + +static bool GetIsSymbol(char c) +{ + switch (c) + { + case ';': + case ':': + case '(': case ')': + case '[': case ']': + case '{': case '}': + case '-': case '+': + case '*': case '/': case '%': + case '?': + case '!': + case ',': + case '=': + case '.': + case '<': case '>': + case '|': case '&': case '^': case '~': + case '@': + return true; + } + return false; +} + +/** Returns true if the character is a valid token separator at the end of a number type token */ +static bool GetIsNumberSeparator(char c) +{ + return c == 0 || isspace(c) || GetIsSymbol(c); +} + +HLSLTokenizer::HLSLTokenizer(const char* fileName, const char* buffer, size_t length) +{ + m_buffer = buffer; + m_bufferPrevious = m_buffer; + m_bufferEnd = buffer + length; + m_fileName = fileName; + m_lineNumber = 1; + m_tokenLineNumber = 1; + m_error = false; + Next(); +} + +void HLSLTokenizer::Next(const bool EOLSkipping) +{ + m_bufferPrevious = m_buffer; + + while( SkipWhitespace(EOLSkipping) || SkipComment(&m_buffer, EOLSkipping) || ScanLineDirective() || SkipPragmaDirective() ) + { + } + + if (m_error) + { + m_token = HLSLToken_EndOfStream; + return; + } + + if (!EOLSkipping && m_buffer[0] == '\n') + { + m_token = HLSLToken_EndOfLine; + return; + } + + m_tokenLineNumber = m_lineNumber; + + if (m_buffer >= m_bufferEnd || *m_buffer == '\0') + { + m_token = HLSLToken_EndOfStream; + return; + } + + const char* start = m_buffer; + + // +=, -=, *=, /=, ==, <=, >= + if (m_buffer[0] == '+' && m_buffer[1] == '=') + { + m_token = HLSLToken_PlusEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '-' && m_buffer[1] == '=') + { + m_token = HLSLToken_MinusEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '*' && m_buffer[1] == '=') + { + m_token = HLSLToken_TimesEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '/' && m_buffer[1] == '=') + { + m_token = HLSLToken_DivideEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '=' && m_buffer[1] == '=') + { + m_token = HLSLToken_EqualEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '!' && m_buffer[1] == '=') + { + m_token = HLSLToken_NotEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '<' && m_buffer[1] == '=') + { + m_token = HLSLToken_LessEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '>' && m_buffer[1] == '=') + { + m_token = HLSLToken_GreaterEqual; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '&' && m_buffer[1] == '&') + { + m_token = HLSLToken_AndAnd; + m_buffer += 2; + return; + } + else if (m_buffer[0] == '|' && m_buffer[1] == '|') + { + m_token = HLSLToken_BarBar; + m_buffer += 2; + return; + } + + // ++, -- + if ((m_buffer[0] == '-' || m_buffer[0] == '+') && (m_buffer[1] == m_buffer[0])) + { + m_token = (m_buffer[0] == '+') ? HLSLToken_PlusPlus : HLSLToken_MinusMinus; + m_buffer += 2; + return; + } + + // Check for the start of a number. + if (ScanNumber()) + { + return; + } + + if (GetIsSymbol(m_buffer[0])) + { + m_token = static_cast(m_buffer[0]); + ++m_buffer; + return; + } + + // Must be an identifier or a reserved word. + while (m_buffer < m_bufferEnd && m_buffer[0] != 0 && !GetIsSymbol(m_buffer[0]) && !isspace(m_buffer[0])) + { + ++m_buffer; + } + + size_t length = m_buffer - start; + memcpy(m_identifier, start, length); + m_identifier[length] = 0; + + const int numReservedWords = sizeof(_reservedWords) / sizeof(const char*); + for (int i = 0; i < numReservedWords; ++i) + { + if (strcmp(_reservedWords[i], m_identifier) == 0) + { + m_token = 256 + i; + return; + } + } + + m_token = HLSLToken_Identifier; + +} + +bool HLSLTokenizer::NextIsWhitespace() +{ + return isspace(m_buffer[0]); +} + +const char* HLSLTokenizer::getLastPos(const bool trimmed) +{ + const char * start = m_bufferPrevious; + + if (trimmed) + { + // Skip white space + while(isspace(start[0])) { + start++; + } + } + + return start; +} + + +bool HLSLTokenizer::SkipWhitespace(const bool EOLSkipping) +{ + bool result = false; + while (m_buffer < m_bufferEnd && isspace(m_buffer[0]) && + (EOLSkipping || (!EOLSkipping && m_buffer[0] != '\n'))) + { + result = true; + if (m_buffer[0] == '\n') + { + ++m_lineNumber; + } + ++m_buffer; + } + return result; +} + +bool HLSLTokenizer::SkipComment(const char** buffer, const bool EOLSkipping) +{ + bool result = false; + if ((*buffer)[0] == '/') + { + if ((*buffer)[1] == '/') + { + // Single line comment. + result = true; + *buffer += 2; + while (*buffer < m_bufferEnd) + { + if ((*buffer)[0] == '\n') + { + ++m_lineNumber; + if (EOLSkipping) + { + ++*buffer; + } + break; + } + ++*buffer; + } + } + else if ((*buffer)[1] == '*') + { + // Multi-line comment. + result = true; + *buffer += 2; + while (*buffer < m_bufferEnd) + { + if ((*buffer)[0] == '\n') + { + ++m_lineNumber; + } + if ((*buffer)[0] == '*' && (*buffer)[1] == '/') + { + break; + } + ++*buffer; + } + if (*buffer < m_bufferEnd) + { + *buffer += 2; + } + } + } + return result; +} + +bool HLSLTokenizer::SkipPragmaDirective() +{ + bool result = false; + if( m_bufferEnd - m_buffer > 7 && *m_buffer == '#' ) + { + const char* ptr = m_buffer + 1; + while( isspace( *ptr ) ) + ptr++; + + if( strncmp( ptr, "pragma", 6 ) == 0 && isspace( ptr[ 6 ] ) ) + { + m_buffer = ptr + 6; + result = true; + while( m_buffer < m_bufferEnd ) + { + if( *( m_buffer++ ) == '\n' ) + { + ++m_lineNumber; + break; + } + } + } + } + return result; +} + +bool HLSLTokenizer::ScanNumber() +{ + + // Don't treat the + or - as part of the number. + if (m_buffer[0] == '+' || m_buffer[0] == '-') + { + return false; + } + + // Parse hex literals. + if (m_bufferEnd - m_buffer > 2 && m_buffer[0] == '0' && m_buffer[1] == 'x') + { + char* hEnd = NULL; + int iValue = strtol(m_buffer+2, &hEnd, 16); + if (GetIsNumberSeparator(hEnd[0])) + { + m_buffer = hEnd; + m_token = HLSLToken_IntLiteral; + m_iValue = iValue; + return true; + } + } + + char* fEnd = NULL; + double fValue = String_ToDouble(m_buffer, &fEnd); + + if (fEnd == m_buffer) + { + return false; + } + + char* iEnd = NULL; + int iValue = String_ToInteger(m_buffer, &iEnd); + + // If the character after the number is an f then the f is treated as part + // of the number (to handle 1.0f syntax). + if( ( fEnd[ 0 ] == 'f' || fEnd[ 0 ] == 'h' ) && fEnd < m_bufferEnd ) + { + ++fEnd; + } + + if( fEnd > iEnd && GetIsNumberSeparator( fEnd[ 0 ] ) ) + { + m_buffer = fEnd; + m_token = HLSLToken_FloatLiteral; + m_fValue = static_cast(fValue); + return true; + } + else if (iEnd > m_buffer && GetIsNumberSeparator(iEnd[0])) + { + m_buffer = iEnd; + m_token = HLSLToken_IntLiteral; + m_iValue = iValue; + return true; + } + + return false; +} + +bool HLSLTokenizer::ScanLineDirective() +{ + + if (m_bufferEnd - m_buffer > 5 && strncmp(m_buffer, "#line", 5) == 0 && isspace(m_buffer[5])) + { + + m_buffer += 5; + + while (m_buffer < m_bufferEnd && isspace(m_buffer[0])) + { + if (m_buffer[0] == '\n') + { + Error("Syntax error: expected line number after #line"); + return false; + } + ++m_buffer; + } + + char* iEnd = NULL; + int lineNumber = String_ToInteger(m_buffer, &iEnd); + + if (!isspace(*iEnd)) + { + Error("Syntax error: expected line number after #line"); + return false; + } + + m_buffer = iEnd; + while (m_buffer < m_bufferEnd && isspace(m_buffer[0])) + { + char c = m_buffer[0]; + ++m_buffer; + if (c == '\n') + { + m_lineNumber = lineNumber; + return true; + } + } + + if (m_buffer >= m_bufferEnd) + { + m_lineNumber = lineNumber; + return true; + } + + if (m_buffer[0] != '"') + { + Error("Syntax error: expected '\"' after line number near #line"); + return false; + } + + ++m_buffer; + + int i = 0; + while (i + 1 < s_maxIdentifier && m_buffer < m_bufferEnd && m_buffer[0] != '"') + { + if (m_buffer[0] == '\n') + { + Error("Syntax error: expected '\"' before end of line near #line"); + return false; + } + + m_lineDirectiveFileName[i] = *m_buffer; + ++m_buffer; + ++i; + } + + m_lineDirectiveFileName[i] = 0; + + if (m_buffer >= m_bufferEnd) + { + Error("Syntax error: expected '\"' before end of file near #line"); + return false; + } + + if (i + 1 >= s_maxIdentifier) + { + Error("Syntax error: file name too long near #line"); + return false; + } + + // Skip the closing quote + ++m_buffer; + + while (m_buffer < m_bufferEnd && m_buffer[0] != '\n') + { + if (!isspace(m_buffer[0])) + { + Error("Syntax error: unexpected input after file name near #line"); + return false; + } + ++m_buffer; + } + + // Skip new line + ++m_buffer; + + m_lineNumber = lineNumber; + m_fileName = m_lineDirectiveFileName; + + return true; + + } + + return false; + +} + +int HLSLTokenizer::GetToken() const +{ + return m_token; +} + +float HLSLTokenizer::GetFloat() const +{ + return m_fValue; +} + +int HLSLTokenizer::GetInt() const +{ + return m_iValue; +} + +const char* HLSLTokenizer::GetIdentifier() const +{ + return m_identifier; +} + +int HLSLTokenizer::GetLineNumber() const +{ + return m_tokenLineNumber; +} + +const char* HLSLTokenizer::GetFileName() const +{ + return m_fileName; +} + +void HLSLTokenizer::Error(const char* format, ...) +{ + // It's not always convenient to stop executing when an error occurs, + // so just track once we've hit an error and stop reporting them until + // we successfully bail out of execution. + if (m_error) + { + return; + } + m_error = true; + + + char buffer[1024]; + va_list args; + va_start(args, format); + vsnprintf(buffer, sizeof(buffer) - 1, format, args); + va_end(args); + + Log_Error("%s(%d) : %s\n", m_fileName, m_lineNumber, buffer); +} + +void HLSLTokenizer::GetTokenName(char buffer[s_maxIdentifier]) const +{ + if (m_token == HLSLToken_FloatLiteral) + { + sprintf(buffer, "%f", m_fValue); + } + else if (m_token == HLSLToken_IntLiteral) + { + sprintf(buffer, "%d", m_iValue); + } + else if (m_token == HLSLToken_Identifier) + { + strcpy(buffer, m_identifier); + } + else + { + GetTokenName(m_token, buffer); + } +} + +void HLSLTokenizer::GetTokenName(int token, char buffer[s_maxIdentifier]) +{ + if (token < 256) + { + buffer[0] = (char)token; + buffer[1] = 0; + } + else if (token < HLSLToken_LessEqual) + { + strcpy(buffer, _reservedWords[token - 256]); + } + else + { + switch (token) + { + case HLSLToken_PlusPlus: + strcpy(buffer, "++"); + break; + case HLSLToken_MinusMinus: + strcpy(buffer, "--"); + break; + case HLSLToken_PlusEqual: + strcpy(buffer, "+="); + break; + case HLSLToken_MinusEqual: + strcpy(buffer, "-="); + break; + case HLSLToken_TimesEqual: + strcpy(buffer, "*="); + break; + case HLSLToken_DivideEqual: + strcpy(buffer, "/="); + break; + case HLSLToken_FloatLiteral: + strcpy(buffer, "float"); + break; + case HLSLToken_IntLiteral: + strcpy(buffer, "int"); + break; + case HLSLToken_Identifier: + strcpy(buffer, "identifier"); + break; + case HLSLToken_EndOfStream: + strcpy(buffer, ""); + break; + default: + strcpy(buffer, "unknown"); + break; + } + } + +} + +void HLSLTokenizer::ReturnToPos(const char * pos) +{ + m_buffer = pos; +} + + +} diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.h b/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.h new file mode 100755 index 0000000000..ba7f33577c --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLTokenizer.h @@ -0,0 +1,226 @@ +#ifndef HLSL_TOKENIZER_H +#define HLSL_TOKENIZER_H + +namespace M4 +{ + +/** In addition to the values in this enum, all of the ASCII characters are +valid tokens. */ +enum HLSLToken +{ + // Built-in types. + HLSLToken_Float = 256, + HLSLToken_Float1, + HLSLToken_Float1x1, + HLSLToken_Float2, + HLSLToken_Float2x1, + HLSLToken_Float3, + HLSLToken_Float3x1, + HLSLToken_Float4, + HLSLToken_Float4x1, + HLSLToken_Float2x4, + HLSLToken_Float2x3, + HLSLToken_Float2x2, + HLSLToken_Float3x4, + HLSLToken_Float3x3, + HLSLToken_Float3x2, + HLSLToken_Float4x4, + HLSLToken_Float4x3, + HLSLToken_Float4x2, + + HLSLToken_Half, + HLSLToken_Half1, + HLSLToken_Half1x1, + HLSLToken_Half2, + HLSLToken_Half2x1, + HLSLToken_Half3, + HLSLToken_Half3x1, + HLSLToken_Half4, + HLSLToken_Half4x1, + HLSLToken_Half2x4, + HLSLToken_Half2x3, + HLSLToken_Half2x2, + HLSLToken_Half3x4, + HLSLToken_Half3x3, + HLSLToken_Half3x2, + HLSLToken_Half4x4, + HLSLToken_Half4x3, + HLSLToken_Half4x2, + + HLSLToken_Double, + HLSLToken_Double1, + HLSLToken_Double1x1, + HLSLToken_Double2, + HLSLToken_Double2x1, + HLSLToken_Double3, + HLSLToken_Double3x1, + HLSLToken_Double4, + HLSLToken_Double4x1, + HLSLToken_Double2x4, + HLSLToken_Double2x3, + HLSLToken_Double2x2, + HLSLToken_Double3x4, + HLSLToken_Double3x3, + HLSLToken_Double3x2, + HLSLToken_Double4x4, + HLSLToken_Double4x3, + HLSLToken_Double4x2, + + HLSLToken_Bool, + HLSLToken_Bool2, + HLSLToken_Bool3, + HLSLToken_Bool4, + HLSLToken_Int, + HLSLToken_Int2, + HLSLToken_Int3, + HLSLToken_Int4, + HLSLToken_Uint, + HLSLToken_Uint2, + HLSLToken_Uint3, + HLSLToken_Uint4, + HLSLToken_Texture, + HLSLToken_Sampler, + HLSLToken_Sampler2D, + HLSLToken_Sampler3D, + HLSLToken_SamplerCube, + HLSLToken_Sampler2DShadow, + HLSLToken_Sampler2DMS, + HLSLToken_Sampler2DArray, + + // Reserved words. + HLSLToken_If, + HLSLToken_Else, + HLSLToken_For, + HLSLToken_While, + HLSLToken_Break, + HLSLToken_True, + HLSLToken_False, + HLSLToken_Void, + HLSLToken_Struct, + HLSLToken_CBuffer, + HLSLToken_TBuffer, + HLSLToken_Register, + HLSLToken_Return, + HLSLToken_Continue, + HLSLToken_Discard, + HLSLToken_Const, + HLSLToken_Static, + HLSLToken_Inline, + HLSLToken_PreprocessorDefine, + HLSLToken_PreprocessorIf, + HLSLToken_PreprocessorElse, + HLSLToken_PreprocessorEndif, + + // Input modifiers. + HLSLToken_Uniform, + HLSLToken_In, + HLSLToken_Out, + HLSLToken_InOut, + + // Effect keywords. + HLSLToken_SamplerState, + HLSLToken_Technique, + HLSLToken_Pass, + + // Multi-character symbols. + HLSLToken_LessEqual, + HLSLToken_GreaterEqual, + HLSLToken_EqualEqual, + HLSLToken_NotEqual, + HLSLToken_PlusPlus, + HLSLToken_MinusMinus, + HLSLToken_PlusEqual, + HLSLToken_MinusEqual, + HLSLToken_TimesEqual, + HLSLToken_DivideEqual, + HLSLToken_AndAnd, // && + HLSLToken_BarBar, // || + + // Other token types. + HLSLToken_FloatLiteral, + HLSLToken_IntLiteral, + HLSLToken_Identifier, + + HLSLToken_EndOfLine, + + HLSLToken_EndOfStream, +}; + +class HLSLTokenizer +{ + +public: + HLSLTokenizer() { } + + /// Maximum string length of an identifier. + static const int s_maxIdentifier = 255 + 1; + + /** The file name is only used for error reporting. */ + HLSLTokenizer(const char* fileName, const char* buffer, size_t length); + + /** Advances to the next token in the stream. */ + void Next(const bool EOLSkipping = true); + + /** Returns the current token in the stream. */ + int GetToken() const; + + /** Returns the number of the current token. */ + float GetFloat() const; + int GetInt() const; + + /** Returns the identifier for the current token. */ + const char* GetIdentifier() const; + + /** Returns the line number where the current token began. */ + int GetLineNumber() const; + + /** Returns the file name where the current token began. */ + const char* GetFileName() const; + + /** Gets a human readable text description of the current token. */ + void GetTokenName(char buffer[s_maxIdentifier]) const; + + /** Reports an error using printf style formatting. The current line number + is included. Only the first error reported will be output. */ + void Error(const char* format, ...); + + /** Gets a human readable text description of the specified token. */ + static void GetTokenName(int token, char buffer[s_maxIdentifier]); + + /** Returns true if the next caracterer is a whitespace. */ + bool NextIsWhitespace(); + + const char* getLastPos(const bool trimmed); + const char* getCurrentPos() { return m_buffer; } + + void ReturnToPos(const char * pos); + +private: + + bool SkipWhitespace(const bool EOLSkipping); + bool SkipComment(const char **buffer, const bool EOLSkipping); + bool SkipPragmaDirective(); + bool ScanNumber(); + bool ScanLineDirective(); + +private: + + const char* m_fileName; + const char* m_buffer; + const char* m_bufferPrevious; + const char* m_bufferEnd; + int m_lineNumber; + bool m_error; + + int m_token; + float m_fValue; + int m_iValue; + char m_identifier[s_maxIdentifier]; + char m_lineDirectiveFileName[s_maxIdentifier]; + int m_tokenLineNumber; + +}; + +} + +#endif diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLTree.cpp b/src/libprojectM/Renderer/hlslparser/src/HLSLTree.cpp new file mode 100755 index 0000000000..770009bf15 --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLTree.cpp @@ -0,0 +1,2055 @@ +//#include "Engine/Assert.h" +#include "Engine.h" + +#include "HLSLTree.h" +#include +#include +#include +#include + +namespace M4 +{ + +HLSLTree::HLSLTree(Allocator* allocator) : + m_allocator(allocator), m_stringPool(allocator) +{ + m_firstPage = m_allocator->New(); + m_firstPage->next = NULL; + + m_currentPage = m_firstPage; + m_currentPageOffset = 0; + + m_root = AddNode(NULL, 1); +} + +HLSLTree::~HLSLTree() +{ + NodePage* page = m_firstPage; + while (page != NULL) + { + NodePage* next = page->next; + m_allocator->Delete(page); + page = next; + } +} + +void HLSLTree::AllocatePage() +{ + NodePage* newPage = m_allocator->New(); + newPage->next = NULL; + m_currentPage->next = newPage; + m_currentPageOffset = 0; + m_currentPage = newPage; +} + +const char* HLSLTree::AddString(const char* string) +{ + return m_stringPool.AddString(string); +} + +const char* HLSLTree::AddStringFormat(const char* format, ...) +{ + va_list args; + va_start(args, format); + const char * string = m_stringPool.AddStringFormatList(format, args); + va_end(args); + return string; +} + +bool HLSLTree::GetContainsString(const char* string) const +{ + return m_stringPool.GetContainsString(string); +} + +HLSLRoot* HLSLTree::GetRoot() const +{ + return m_root; +} + +void* HLSLTree::AllocateMemory(size_t size) +{ + if (m_currentPageOffset + size > s_nodePageSize) + { + AllocatePage(); + } + void* buffer = m_currentPage->buffer + m_currentPageOffset; + m_currentPageOffset += size; + return buffer; +} + +// @@ This doesn't do any parameter matching. Simply returns the first function with that name. +HLSLFunction * HLSLTree::FindFunction(const char * name) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Function) + { + HLSLFunction * function = (HLSLFunction *)statement; + if (String_Equal(name, function->name)) + { + return function; + } + } + + statement = statement->nextStatement; + } + + return NULL; +} + +HLSLDeclaration * HLSLTree::FindGlobalDeclaration(const char * name, HLSLBuffer ** buffer_out/*=NULL*/) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Declaration) + { + HLSLDeclaration * declaration = (HLSLDeclaration *)statement; + if (String_Equal(name, declaration->name)) + { + if (buffer_out) *buffer_out = NULL; + return declaration; + } + } + else if (statement->nodeType == HLSLNodeType_Buffer) + { + HLSLBuffer* buffer = (HLSLBuffer*)statement; + + HLSLDeclaration* field = buffer->field; + while (field != NULL) + { + ASSERT(field->nodeType == HLSLNodeType_Declaration); + if (String_Equal(name, field->name)) + { + if (buffer_out) *buffer_out = buffer; + return field; + } + field = (HLSLDeclaration*)field->nextStatement; + } + } + + statement = statement->nextStatement; + } + + if (buffer_out) *buffer_out = NULL; + return NULL; +} + +HLSLStruct * HLSLTree::FindGlobalStruct(const char * name) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Struct) + { + HLSLStruct * declaration = (HLSLStruct *)statement; + if (String_Equal(name, declaration->name)) + { + return declaration; + } + } + + statement = statement->nextStatement; + } + + return NULL; +} + +HLSLTechnique * HLSLTree::FindTechnique(const char * name) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Technique) + { + HLSLTechnique * technique = (HLSLTechnique *)statement; + if (String_Equal(name, technique->name)) + { + return technique; + } + } + + statement = statement->nextStatement; + } + + return NULL; +} + +HLSLPipeline * HLSLTree::FindFirstPipeline() +{ + return FindNextPipeline(NULL); +} + +HLSLPipeline * HLSLTree::FindNextPipeline(HLSLPipeline * current) +{ + HLSLStatement * statement = current ? current : m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Pipeline) + { + return (HLSLPipeline *)statement; + } + + statement = statement->nextStatement; + } + + return NULL; +} + +HLSLPipeline * HLSLTree::FindPipeline(const char * name) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Pipeline) + { + HLSLPipeline * pipeline = (HLSLPipeline *)statement; + if (String_Equal(name, pipeline->name)) + { + return pipeline; + } + } + + statement = statement->nextStatement; + } + + return NULL; +} + +HLSLBuffer * HLSLTree::FindBuffer(const char * name) +{ + HLSLStatement * statement = m_root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Buffer) + { + HLSLBuffer * buffer = (HLSLBuffer *)statement; + if (String_Equal(name, buffer->name)) + { + return buffer; + } + } + + statement = statement->nextStatement; + } + + return NULL; +} + + + +bool HLSLTree::GetExpressionValue(HLSLExpression * expression, int & value) +{ + ASSERT (expression != NULL); + + // Expression must be constant. + if ((expression->expressionType.flags & HLSLTypeFlag_Const) == 0) + { + return false; + } + + // We are expecting an integer scalar. @@ Add support for type conversion from other scalar types. + if (expression->expressionType.baseType != HLSLBaseType_Int && + expression->expressionType.baseType != HLSLBaseType_Bool) + { + return false; + } + + if (expression->expressionType.array) + { + return false; + } + + if (expression->nodeType == HLSLNodeType_BinaryExpression) + { + HLSLBinaryExpression * binaryExpression = (HLSLBinaryExpression *)expression; + + int value1, value2; + if (!GetExpressionValue(binaryExpression->expression1, value1) || + !GetExpressionValue(binaryExpression->expression2, value2)) + { + return false; + } + + switch(binaryExpression->binaryOp) + { + case HLSLBinaryOp_And: + value = value1 && value2; + return true; + case HLSLBinaryOp_Or: + value = value1 || value2; + return true; + case HLSLBinaryOp_Add: + value = value1 + value2; + return true; + case HLSLBinaryOp_Sub: + value = value1 - value2; + return true; + case HLSLBinaryOp_Mul: + value = value1 * value2; + return true; + case HLSLBinaryOp_Div: + value = value1 / value2; + return true; + case HLSLBinaryOp_Mod: + value = value1 % value2; + return true; + case HLSLBinaryOp_Less: + value = value1 < value2; + return true; + case HLSLBinaryOp_Greater: + value = value1 > value2; + return true; + case HLSLBinaryOp_LessEqual: + value = value1 <= value2; + return true; + case HLSLBinaryOp_GreaterEqual: + value = value1 >= value2; + return true; + case HLSLBinaryOp_Equal: + value = value1 == value2; + return true; + case HLSLBinaryOp_NotEqual: + value = value1 != value2; + return true; + case HLSLBinaryOp_BitAnd: + value = value1 & value2; + return true; + case HLSLBinaryOp_BitOr: + value = value1 | value2; + return true; + case HLSLBinaryOp_BitXor: + value = value1 ^ value2; + return true; + case HLSLBinaryOp_Assign: + case HLSLBinaryOp_AddAssign: + case HLSLBinaryOp_SubAssign: + case HLSLBinaryOp_MulAssign: + case HLSLBinaryOp_DivAssign: + // IC: These are not valid on non-constant expressions and should fail earlier when querying expression value. + return false; + } + } + else if (expression->nodeType == HLSLNodeType_UnaryExpression) + { + HLSLUnaryExpression * unaryExpression = (HLSLUnaryExpression *)expression; + + if (!GetExpressionValue(unaryExpression->expression, value)) + { + return false; + } + + switch(unaryExpression->unaryOp) + { + case HLSLUnaryOp_Negative: + value = -value; + return true; + case HLSLUnaryOp_Positive: + // nop. + return true; + case HLSLUnaryOp_Not: + value = !value; + return true; + case HLSLUnaryOp_BitNot: + value = ~value; + return true; + case HLSLUnaryOp_PostDecrement: + case HLSLUnaryOp_PostIncrement: + case HLSLUnaryOp_PreDecrement: + case HLSLUnaryOp_PreIncrement: + // IC: These are not valid on non-constant expressions and should fail earlier when querying expression value. + return false; + } + } + else if (expression->nodeType == HLSLNodeType_IdentifierExpression) + { + HLSLIdentifierExpression * identifier = (HLSLIdentifierExpression *)expression; + + HLSLDeclaration * declaration = FindGlobalDeclaration(identifier->name); + if (declaration == NULL) + { + return false; + } + if ((declaration->type.flags & HLSLTypeFlag_Const) == 0) + { + return false; + } + + return GetExpressionValue(declaration->assignment, value); + } + else if (expression->nodeType == HLSLNodeType_LiteralExpression) + { + HLSLLiteralExpression * literal = (HLSLLiteralExpression *)expression; + + if (literal->expressionType.baseType == HLSLBaseType_Int) value = literal->iValue; + else if (literal->expressionType.baseType == HLSLBaseType_Bool) value = (int)literal->bValue; + else return false; + + return true; + } + + return false; +} + +bool HLSLTree::NeedsFunction(const char* name) +{ + // Early out + if (!GetContainsString(name)) + return false; + + struct NeedsFunctionVisitor: HLSLTreeVisitor + { + const char* name; + bool result; + + virtual void VisitTopLevelStatement(HLSLStatement * node) + { + if (!node->hidden) + HLSLTreeVisitor::VisitTopLevelStatement(node); + } + + virtual void VisitFunctionCall(HLSLFunctionCall * node) + { + result = result || String_Equal(name, node->function->name); + + HLSLTreeVisitor::VisitFunctionCall(node); + } + }; + + NeedsFunctionVisitor visitor; + visitor.name = name; + visitor.result = false; + + visitor.VisitRoot(m_root); + + return visitor.result; +} + +int GetVectorDimension(HLSLType & type) +{ + if (type.baseType >= HLSLBaseType_FirstNumeric && + type.baseType <= HLSLBaseType_LastNumeric) + { + if (type.baseType == HLSLBaseType_Float) return 1; + if (type.baseType == HLSLBaseType_Float2) return 2; + if (type.baseType == HLSLBaseType_Float3) return 3; + if (type.baseType == HLSLBaseType_Float4) return 4; + + } + return 0; +} + +// Returns dimension, 0 if invalid. +int HLSLTree::GetExpressionValue(HLSLExpression * expression, float values[4]) +{ + ASSERT (expression != NULL); + + // Expression must be constant. + if ((expression->expressionType.flags & HLSLTypeFlag_Const) == 0) + { + return 0; + } + + if (expression->expressionType.baseType == HLSLBaseType_Int || + expression->expressionType.baseType == HLSLBaseType_Bool) + { + int int_value; + if (GetExpressionValue(expression, int_value)) { + for (int i = 0; i < 4; i++) values[i] = (float)int_value; // @@ Warn if conversion is not exact. + return 1; + } + + return 0; + } + if (expression->expressionType.baseType >= HLSLBaseType_FirstInteger && expression->expressionType.baseType <= HLSLBaseType_LastInteger) + { + // @@ Add support for uints? + // @@ Add support for int vectors? + return 0; + } + if (expression->expressionType.baseType > HLSLBaseType_LastNumeric) + { + return 0; + } + + // @@ Not supported yet, but we may need it? + if (expression->expressionType.array) + { + return false; + } + + if (expression->nodeType == HLSLNodeType_BinaryExpression) + { + HLSLBinaryExpression * binaryExpression = (HLSLBinaryExpression *)expression; + int dim = GetVectorDimension(binaryExpression->expressionType); + + float values1[4], values2[4]; + int dim1 = GetExpressionValue(binaryExpression->expression1, values1); + int dim2 = GetExpressionValue(binaryExpression->expression2, values2); + + if (dim1 == 0 || dim2 == 0) + { + return 0; + } + + if (dim1 != dim2) + { + // Brodacast scalar to vector size. + if (dim1 == 1) + { + for (int i = 1; i < dim2; i++) values1[i] = values1[0]; + dim1 = dim2; + } + else if (dim2 == 1) + { + for (int i = 1; i < dim1; i++) values2[i] = values2[0]; + dim2 = dim1; + } + else + { + return 0; + } + } + ASSERT(dim == dim1); + + switch(binaryExpression->binaryOp) + { + case HLSLBinaryOp_Add: + for (int i = 0; i < dim; i++) values[i] = values1[i] + values2[i]; + return dim; + case HLSLBinaryOp_Sub: + for (int i = 0; i < dim; i++) values[i] = values1[i] - values2[i]; + return dim; + case HLSLBinaryOp_Mul: + for (int i = 0; i < dim; i++) values[i] = values1[i] * values2[i]; + return dim; + case HLSLBinaryOp_Div: + for (int i = 0; i < dim; i++) values[i] = values1[i] / values2[i]; + return dim; + case HLSLBinaryOp_Mod: + for (int i = 0; i < dim; i++) values[i] = int(values1[i]) % int(values2[i]); + return dim; + default: + return 0; + } + } + else if (expression->nodeType == HLSLNodeType_UnaryExpression) + { + HLSLUnaryExpression * unaryExpression = (HLSLUnaryExpression *)expression; + int dim = GetVectorDimension(unaryExpression->expressionType); + + int dim1 = GetExpressionValue(unaryExpression->expression, values); + if (dim1 == 0) + { + return 0; + } + ASSERT(dim == dim1); + + switch(unaryExpression->unaryOp) + { + case HLSLUnaryOp_Negative: + for (int i = 0; i < dim; i++) values[i] = -values[i]; + return dim; + case HLSLUnaryOp_Positive: + // nop. + return dim; + default: + return 0; + } + } + else if (expression->nodeType == HLSLNodeType_ConstructorExpression) + { + HLSLConstructorExpression * constructor = (HLSLConstructorExpression *)expression; + + int dim = GetVectorDimension(constructor->expressionType); + + int idx = 0; + HLSLExpression * arg = constructor->argument; + while (arg != NULL) + { + float tmp[4]; + int n = GetExpressionValue(arg, tmp); + for (int i = 0; i < n; i++) values[idx + i] = tmp[i]; + idx += n; + + arg = arg->nextExpression; + } + ASSERT(dim == idx); + + return dim; + } + else if (expression->nodeType == HLSLNodeType_IdentifierExpression) + { + HLSLIdentifierExpression * identifier = (HLSLIdentifierExpression *)expression; + + HLSLDeclaration * declaration = FindGlobalDeclaration(identifier->name); + if (declaration == NULL) + { + return 0; + } + if ((declaration->type.flags & HLSLTypeFlag_Const) == 0) + { + return 0; + } + + return GetExpressionValue(declaration->assignment, values); + } + else if (expression->nodeType == HLSLNodeType_LiteralExpression) + { + HLSLLiteralExpression * literal = (HLSLLiteralExpression *)expression; + + if (literal->expressionType.baseType == HLSLBaseType_Float) values[0] = literal->fValue; + else if (literal->expressionType.baseType == HLSLBaseType_Bool) values[0] = literal->bValue; + else if (literal->expressionType.baseType == HLSLBaseType_Int) values[0] = (float)literal->iValue; // @@ Warn if conversion is not exact. + else return 0; + + return 1; + } + + return 0; +} + +bool HLSLTree::ReplaceUniformsAssignments() +{ + struct ReplaceUniformsAssignmentsVisitor: HLSLTreeVisitor + { + HLSLTree * tree; + std::map uniforms; + std::map uniformsReplaced; + bool withinAssignment; + + virtual void VisitDeclaration(HLSLDeclaration * node) + { + HLSLTreeVisitor::VisitDeclaration(node); + + // Enumerate uniforms + if (node->type.flags & HLSLTypeFlag_Uniform) + { + uniforms[node->name] = node; + } + } + + virtual void VisitFunction(HLSLFunction * node) + { + uniformsReplaced.clear(); + + // Detect uniforms assignments + HLSLTreeVisitor::VisitFunction(node); + + // Declare uniforms replacements + std::map::const_iterator iter = uniformsReplaced.cbegin(); + for ( ; iter != uniformsReplaced.cend(); ++iter) + { + HLSLDeclaration * uniformDeclaration = uniforms[iter->first]; + HLSLDeclaration * declaration = tree->AddNode(node->fileName, node->line); + + declaration->name = tree->AddString(iter->second.c_str()); + declaration->type = uniformDeclaration->type; + + // Add declaration within function statements + declaration->nextStatement = node->statement; + node->statement = declaration; + } + } + + virtual void VisitBinaryExpression(HLSLBinaryExpression * node) + { + // Visit expression 2 first to not replace possible uniform reading + VisitExpression(node->expression2); + + if (IsAssignOp(node->binaryOp)) + { + withinAssignment = true; + } + + VisitExpression(node->expression1); + + withinAssignment = false; + } + + virtual void VisitIdentifierExpression(HLSLIdentifierExpression * node) + { + if (withinAssignment) + { + // Check if variable is a uniform + if (uniforms.find(node->name) != uniforms.end()) + { + // Check if variable is not already replaced + if (uniformsReplaced.find(node->name) == uniformsReplaced.end()) + { + std::string newName(node->name); + do + { + newName.insert(0, "new"); + } + while(tree->GetContainsString(newName.c_str())); + + uniformsReplaced[node->name] = newName; + } + } + } + + // Check if variable need to be replaced + if (uniformsReplaced.find(node->name) != uniformsReplaced.end()) + { + // Replace + node->name = tree->AddString( uniformsReplaced[node->name].c_str() ); + } + } + }; + + ReplaceUniformsAssignmentsVisitor visitor; + visitor.tree = this; + visitor.withinAssignment = false; + visitor.VisitRoot(m_root); + + return true; +} + + +matrixCtor matrixCtorBuilder(HLSLType type, HLSLExpression * arguments) { + matrixCtor ctor; + + ctor.matrixType = type.baseType; + + // Fetch all arguments + HLSLExpression* argument = arguments; + while (argument != NULL) + { + ctor.argumentTypes.push_back(argument->expressionType.baseType); + argument = argument->nextExpression; + } + + return ctor; +} + +void HLSLTree::EnumerateMatrixCtorsNeeded(std::vector & matrixCtors) { + + struct EnumerateMatrixCtorsVisitor: HLSLTreeVisitor + { + std::vector matrixCtorsNeeded; + + virtual void VisitConstructorExpression(HLSLConstructorExpression * node) + { + if (IsMatrixType(node->expressionType.baseType)) + { + matrixCtor ctor = matrixCtorBuilder(node->expressionType, node->argument); + + if (std::find(matrixCtorsNeeded.cbegin(), matrixCtorsNeeded.cend(), ctor) == matrixCtorsNeeded.cend()) + { + matrixCtorsNeeded.push_back(ctor); + } + } + + HLSLTreeVisitor::VisitConstructorExpression(node); + } + + virtual void VisitDeclaration(HLSLDeclaration * node) + { + if ( IsMatrixType(node->type.baseType) && + (node->type.flags & HLSLArgumentModifier_Uniform) == 0 ) + { + matrixCtor ctor = matrixCtorBuilder(node->type, node->assignment); + + // No special constructor needed if it already a matrix + bool matrixArgument = false; + for(HLSLBaseType & type: ctor.argumentTypes) + { + if (IsMatrixType(type)) + { + matrixArgument = true; + break; + } + } + + if ( !matrixArgument && + std::find(matrixCtorsNeeded.cbegin(), matrixCtorsNeeded.cend(), ctor) == matrixCtorsNeeded.cend()) + { + matrixCtorsNeeded.push_back(ctor); + } + } + + HLSLTreeVisitor::VisitDeclaration(node); + } + }; + + EnumerateMatrixCtorsVisitor visitor; + visitor.VisitRoot(m_root); + + matrixCtors = visitor.matrixCtorsNeeded; +} + + +void HLSLTreeVisitor::VisitType(HLSLType & type) +{ +} + +void HLSLTreeVisitor::VisitRoot(HLSLRoot * root) +{ + HLSLStatement * statement = root->statement; + while (statement != NULL) { + VisitTopLevelStatement(statement); + statement = statement->nextStatement; + } +} + +void HLSLTreeVisitor::VisitTopLevelStatement(HLSLStatement * node) +{ + if (node->nodeType == HLSLNodeType_Declaration) { + VisitDeclaration((HLSLDeclaration *)node); + } + else if (node->nodeType == HLSLNodeType_Struct) { + VisitStruct((HLSLStruct *)node); + } + else if (node->nodeType == HLSLNodeType_Buffer) { + VisitBuffer((HLSLBuffer *)node); + } + else if (node->nodeType == HLSLNodeType_Function) { + VisitFunction((HLSLFunction *)node); + } + else if (node->nodeType == HLSLNodeType_Technique) { + VisitTechnique((HLSLTechnique *)node); + } + else if (node->nodeType == HLSLNodeType_Pipeline) { + VisitPipeline((HLSLPipeline *)node); + } + else { + ASSERT(0); + } +} + +void HLSLTreeVisitor::VisitStatements(HLSLStatement * statement) +{ + while (statement != NULL) { + VisitStatement(statement); + statement = statement->nextStatement; + } +} + +void HLSLTreeVisitor::VisitStatement(HLSLStatement * node) +{ + // Function statements + if (node->nodeType == HLSLNodeType_Declaration) { + VisitDeclaration((HLSLDeclaration *)node); + } + else if (node->nodeType == HLSLNodeType_ExpressionStatement) { + VisitExpressionStatement((HLSLExpressionStatement *)node); + } + else if (node->nodeType == HLSLNodeType_ReturnStatement) { + VisitReturnStatement((HLSLReturnStatement *)node); + } + else if (node->nodeType == HLSLNodeType_DiscardStatement) { + VisitDiscardStatement((HLSLDiscardStatement *)node); + } + else if (node->nodeType == HLSLNodeType_BreakStatement) { + VisitBreakStatement((HLSLBreakStatement *)node); + } + else if (node->nodeType == HLSLNodeType_ContinueStatement) { + VisitContinueStatement((HLSLContinueStatement *)node); + } + else if (node->nodeType == HLSLNodeType_IfStatement) { + VisitIfStatement((HLSLIfStatement *)node); + } + else if (node->nodeType == HLSLNodeType_ForStatement) { + VisitForStatement((HLSLForStatement *)node); + } + else if (node->nodeType == HLSLNodeType_WhileStatement) { + VisitWhileStatement((HLSLWhileStatement *)node); + } + else if (node->nodeType == HLSLNodeType_BlockStatement) { + VisitBlockStatement((HLSLBlockStatement *)node); + } + else { + ASSERT(0); + } +} + +void HLSLTreeVisitor::VisitDeclaration(HLSLDeclaration * node) +{ + VisitType(node->type); + /*do { + VisitExpression(node->assignment); + node = node->nextDeclaration; + } while (node);*/ + if (node->assignment != NULL) { + VisitExpression(node->assignment); + } + if (node->nextDeclaration != NULL) { + VisitDeclaration(node->nextDeclaration); + } +} + +void HLSLTreeVisitor::VisitStruct(HLSLStruct * node) +{ + HLSLStructField * field = node->field; + while (field != NULL) { + VisitStructField(field); + field = field->nextField; + } +} + +void HLSLTreeVisitor::VisitStructField(HLSLStructField * node) +{ + VisitType(node->type); +} + +void HLSLTreeVisitor::VisitBuffer(HLSLBuffer * node) +{ + HLSLDeclaration * field = node->field; + while (field != NULL) { + ASSERT(field->nodeType == HLSLNodeType_Declaration); + VisitDeclaration(field); + ASSERT(field->nextDeclaration == NULL); + field = (HLSLDeclaration *)field->nextStatement; + } +} + +/*void HLSLTreeVisitor::VisitBufferField(HLSLBufferField * node) +{ + VisitType(node->type); +}*/ + +void HLSLTreeVisitor::VisitFunction(HLSLFunction * node) +{ + VisitType(node->returnType); + + HLSLArgument * argument = node->argument; + while (argument != NULL) { + VisitArgument(argument); + argument = argument->nextArgument; + } + + VisitStatements(node->statement); +} + +void HLSLTreeVisitor::VisitArgument(HLSLArgument * node) +{ + VisitType(node->type); + if (node->defaultValue != NULL) { + VisitExpression(node->defaultValue); + } +} + +void HLSLTreeVisitor::VisitExpressionStatement(HLSLExpressionStatement * node) +{ + VisitExpression(node->expression); +} + +void HLSLTreeVisitor::VisitExpression(HLSLExpression * node) +{ + VisitType(node->expressionType); + + if (node->nodeType == HLSLNodeType_UnaryExpression) { + VisitUnaryExpression((HLSLUnaryExpression *)node); + } + else if (node->nodeType == HLSLNodeType_BinaryExpression) { + VisitBinaryExpression((HLSLBinaryExpression *)node); + } + else if (node->nodeType == HLSLNodeType_ConditionalExpression) { + VisitConditionalExpression((HLSLConditionalExpression *)node); + } + else if (node->nodeType == HLSLNodeType_CastingExpression) { + VisitCastingExpression((HLSLCastingExpression *)node); + } + else if (node->nodeType == HLSLNodeType_LiteralExpression) { + VisitLiteralExpression((HLSLLiteralExpression *)node); + } + else if (node->nodeType == HLSLNodeType_IdentifierExpression) { + VisitIdentifierExpression((HLSLIdentifierExpression *)node); + } + else if (node->nodeType == HLSLNodeType_ConstructorExpression) { + VisitConstructorExpression((HLSLConstructorExpression *)node); + } + else if (node->nodeType == HLSLNodeType_MemberAccess) { + VisitMemberAccess((HLSLMemberAccess *)node); + } + else if (node->nodeType == HLSLNodeType_ArrayAccess) { + VisitArrayAccess((HLSLArrayAccess *)node); + } + else if (node->nodeType == HLSLNodeType_FunctionCall) { + VisitFunctionCall((HLSLFunctionCall *)node); + } + // Acoget-TODO: This was missing. Did adding it break anything? + else if (node->nodeType == HLSLNodeType_SamplerState) { + VisitSamplerState((HLSLSamplerState *)node); + } + else { + ASSERT(0); + } +} + +void HLSLTreeVisitor::VisitReturnStatement(HLSLReturnStatement * node) +{ + VisitExpression(node->expression); +} + +void HLSLTreeVisitor::VisitDiscardStatement(HLSLDiscardStatement * node) {} +void HLSLTreeVisitor::VisitBreakStatement(HLSLBreakStatement * node) {} +void HLSLTreeVisitor::VisitContinueStatement(HLSLContinueStatement * node) {} + +void HLSLTreeVisitor::VisitIfStatement(HLSLIfStatement * node) +{ + VisitExpression(node->condition); + VisitStatements(node->statement); + if (node->elseStatement) { + VisitStatements(node->elseStatement); + } +} + +void HLSLTreeVisitor::VisitForStatement(HLSLForStatement * node) +{ + if (node->initialization) { + VisitDeclaration(node->initialization); + } + if (node->condition) { + VisitExpression(node->condition); + } + if (node->increment) { + VisitExpression(node->increment); + } + VisitStatements(node->statement); +} + +void HLSLTreeVisitor::VisitWhileStatement(HLSLWhileStatement * node) +{ + if (node->condition) { + VisitExpression(node->condition); + } + VisitStatements(node->statement); +} + +void HLSLTreeVisitor::VisitBlockStatement(HLSLBlockStatement * node) +{ + VisitStatements(node->statement); +} + +void HLSLTreeVisitor::VisitUnaryExpression(HLSLUnaryExpression * node) +{ + VisitExpression(node->expression); +} + +void HLSLTreeVisitor::VisitBinaryExpression(HLSLBinaryExpression * node) +{ + VisitExpression(node->expression1); + VisitExpression(node->expression2); +} + +void HLSLTreeVisitor::VisitConditionalExpression(HLSLConditionalExpression * node) +{ + VisitExpression(node->condition); + VisitExpression(node->falseExpression); + VisitExpression(node->trueExpression); +} + +void HLSLTreeVisitor::VisitCastingExpression(HLSLCastingExpression * node) +{ + VisitType(node->type); + VisitExpression(node->expression); +} + +void HLSLTreeVisitor::VisitLiteralExpression(HLSLLiteralExpression * node) {} +void HLSLTreeVisitor::VisitIdentifierExpression(HLSLIdentifierExpression * node) {} + +void HLSLTreeVisitor::VisitConstructorExpression(HLSLConstructorExpression * node) +{ + HLSLExpression * argument = node->argument; + while (argument != NULL) { + VisitExpression(argument); + argument = argument->nextExpression; + } +} + +void HLSLTreeVisitor::VisitMemberAccess(HLSLMemberAccess * node) +{ + VisitExpression(node->object); +} + +void HLSLTreeVisitor::VisitArrayAccess(HLSLArrayAccess * node) +{ + VisitExpression(node->array); + VisitExpression(node->index); +} + +void HLSLTreeVisitor::VisitFunctionCall(HLSLFunctionCall * node) +{ + HLSLExpression * argument = node->argument; + while (argument != NULL) { + VisitExpression(argument); + argument = argument->nextExpression; + } +} + +void HLSLTreeVisitor::VisitStateAssignment(HLSLStateAssignment * node) {} + +void HLSLTreeVisitor::VisitSamplerState(HLSLSamplerState * node) +{ + HLSLStateAssignment * stateAssignment = node->stateAssignments; + while (stateAssignment != NULL) { + VisitStateAssignment(stateAssignment); + stateAssignment = stateAssignment->nextStateAssignment; + } +} + +void HLSLTreeVisitor::VisitPass(HLSLPass * node) +{ + HLSLStateAssignment * stateAssignment = node->stateAssignments; + while (stateAssignment != NULL) { + VisitStateAssignment(stateAssignment); + stateAssignment = stateAssignment->nextStateAssignment; + } +} + +void HLSLTreeVisitor::VisitTechnique(HLSLTechnique * node) +{ + HLSLPass * pass = node->passes; + while (pass != NULL) { + VisitPass(pass); + pass = pass->nextPass; + } +} + +void HLSLTreeVisitor::VisitPipeline(HLSLPipeline * node) +{ + // @@ ? +} + +void HLSLTreeVisitor::VisitFunctions(HLSLRoot * root) +{ + HLSLStatement * statement = root->statement; + while (statement != NULL) { + if (statement->nodeType == HLSLNodeType_Function) { + VisitFunction((HLSLFunction *)statement); + } + + statement = statement->nextStatement; + } +} + +void HLSLTreeVisitor::VisitParameters(HLSLRoot * root) +{ + HLSLStatement * statement = root->statement; + while (statement != NULL) { + if (statement->nodeType == HLSLNodeType_Declaration) { + VisitDeclaration((HLSLDeclaration *)statement); + } + + statement = statement->nextStatement; + } +} + + +class ResetHiddenFlagVisitor : public HLSLTreeVisitor +{ +public: + virtual void VisitTopLevelStatement(HLSLStatement * statement) + { + statement->hidden = true; + + if (statement->nodeType == HLSLNodeType_Buffer) + { + VisitBuffer((HLSLBuffer*)statement); + } + } + + // Hide buffer fields. + virtual void VisitDeclaration(HLSLDeclaration * node) + { + node->hidden = true; + } + + virtual void VisitArgument(HLSLArgument * node) + { + node->hidden = false; // Arguments are visible by default. + } +}; + +class MarkVisibleStatementsVisitor : public HLSLTreeVisitor +{ +public: + HLSLTree * tree; + MarkVisibleStatementsVisitor(HLSLTree * _tree) : tree(_tree) {} + + virtual void VisitFunction(HLSLFunction * node) + { + node->hidden = false; + HLSLTreeVisitor::VisitFunction(node); + + if (node->forward) + VisitFunction(node->forward); + } + + virtual void VisitFunctionCall(HLSLFunctionCall * node) + { + HLSLTreeVisitor::VisitFunctionCall(node); + + if (node->function->hidden) + { + VisitFunction(const_cast(node->function)); + } + } + + virtual void VisitIdentifierExpression(HLSLIdentifierExpression * node) + { + HLSLTreeVisitor::VisitIdentifierExpression(node); + + if (node->global) + { + HLSLDeclaration * declaration = tree->FindGlobalDeclaration(node->name); + if (declaration != NULL && declaration->hidden) + { + declaration->hidden = false; + VisitDeclaration(declaration); + } + } + } + + virtual void VisitType(HLSLType & type) + { + if (type.baseType == HLSLBaseType_UserDefined) + { + HLSLStruct * globalStruct = tree->FindGlobalStruct(type.typeName); + if (globalStruct != NULL) + { + globalStruct->hidden = false; + VisitStruct(globalStruct); + } + } + } + +}; + + +void PruneTree(HLSLTree* tree, const char* entryName0, const char* entryName1/*=NULL*/) +{ + HLSLRoot* root = tree->GetRoot(); + + // Reset all flags. + ResetHiddenFlagVisitor reset; + reset.VisitRoot(root); + + // Mark all the statements necessary for these entrypoints. + HLSLFunction* entry = tree->FindFunction(entryName0); + if (entry != NULL) + { + MarkVisibleStatementsVisitor mark(tree); + mark.VisitFunction(entry); + } + + if (entryName1 != NULL) + { + entry = tree->FindFunction(entryName1); + if (entry != NULL) + { + MarkVisibleStatementsVisitor mark(tree); + mark.VisitFunction(entry); + } + } + + // Mark buffers visible, if any of their fields is visible. + HLSLStatement * statement = root->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_Buffer) + { + HLSLBuffer* buffer = (HLSLBuffer*)statement; + + HLSLDeclaration* field = buffer->field; + while (field != NULL) + { + ASSERT(field->nodeType == HLSLNodeType_Declaration); + if (!field->hidden) + { + buffer->hidden = false; + break; + } + field = (HLSLDeclaration*)field->nextStatement; + } + } + + statement = statement->nextStatement; + } +} + + +void SortTree(HLSLTree * tree) +{ + // Stable sort so that statements are in this order: + // structs, declarations, functions, techniques. + // but their relative order is preserved. + + HLSLRoot* root = tree->GetRoot(); + + HLSLStatement* structs = NULL; + HLSLStatement* lastStruct = NULL; + HLSLStatement* constDeclarations = NULL; + HLSLStatement* lastConstDeclaration = NULL; + HLSLStatement* declarations = NULL; + HLSLStatement* lastDeclaration = NULL; + HLSLStatement* functions = NULL; + HLSLStatement* lastFunction = NULL; + HLSLStatement* other = NULL; + HLSLStatement* lastOther = NULL; + + HLSLStatement* statement = root->statement; + while (statement != NULL) { + HLSLStatement* nextStatement = statement->nextStatement; + statement->nextStatement = NULL; + + if (statement->nodeType == HLSLNodeType_Struct) { + if (structs == NULL) structs = statement; + if (lastStruct != NULL) lastStruct->nextStatement = statement; + lastStruct = statement; + } + else if (statement->nodeType == HLSLNodeType_Declaration || statement->nodeType == HLSLNodeType_Buffer) { + if (statement->nodeType == HLSLNodeType_Declaration && (((HLSLDeclaration *)statement)->type.flags & HLSLTypeFlag_Const)) { + if (constDeclarations == NULL) constDeclarations = statement; + if (lastConstDeclaration != NULL) lastConstDeclaration->nextStatement = statement; + lastConstDeclaration = statement; + } + else { + if (declarations == NULL) declarations = statement; + if (lastDeclaration != NULL) lastDeclaration->nextStatement = statement; + lastDeclaration = statement; + } + } + else if (statement->nodeType == HLSLNodeType_Function) { + if (functions == NULL) functions = statement; + if (lastFunction != NULL) lastFunction->nextStatement = statement; + lastFunction = statement; + } + else { + if (other == NULL) other = statement; + if (lastOther != NULL) lastOther->nextStatement = statement; + lastOther = statement; + } + + statement = nextStatement; + } + + // Chain all the statements in the order that we want. + HLSLStatement * firstStatement = structs; + HLSLStatement * lastStatement = lastStruct; + + if (constDeclarations != NULL) { + if (firstStatement == NULL) firstStatement = constDeclarations; + else lastStatement->nextStatement = constDeclarations; + lastStatement = lastConstDeclaration; + } + + if (declarations != NULL) { + if (firstStatement == NULL) firstStatement = declarations; + else lastStatement->nextStatement = declarations; + lastStatement = lastDeclaration; + } + + if (functions != NULL) { + if (firstStatement == NULL) firstStatement = functions; + else lastStatement->nextStatement = functions; + lastStatement = lastFunction; + } + + if (other != NULL) { + if (firstStatement == NULL) firstStatement = other; + else lastStatement->nextStatement = other; + lastStatement = lastOther; + } + + root->statement = firstStatement; +} + + + + + +// First and last can be the same. +void AddStatements(HLSLRoot * root, HLSLStatement * before, HLSLStatement * first, HLSLStatement * last) +{ + if (before == NULL) { + last->nextStatement = root->statement; + root->statement = first; + } + else { + last->nextStatement = before->nextStatement; + before->nextStatement = first; + } +} + +void AddSingleStatement(HLSLRoot * root, HLSLStatement * before, HLSLStatement * statement) +{ + AddStatements(root, before, statement, statement); +} + + + +// @@ This is very game-specific. Should be moved to pipeline_parser or somewhere else. +void GroupParameters(HLSLTree * tree) +{ + // Sort parameters based on semantic and group them in cbuffers. + + HLSLRoot* root = tree->GetRoot(); + + HLSLDeclaration * firstPerItemDeclaration = NULL; + HLSLDeclaration * lastPerItemDeclaration = NULL; + + HLSLDeclaration * instanceDataDeclaration = NULL; + + HLSLDeclaration * firstPerPassDeclaration = NULL; + HLSLDeclaration * lastPerPassDeclaration = NULL; + + HLSLDeclaration * firstPerItemSampler = NULL; + HLSLDeclaration * lastPerItemSampler = NULL; + + HLSLDeclaration * firstPerPassSampler = NULL; + HLSLDeclaration * lastPerPassSampler = NULL; + + HLSLStatement * statementBeforeBuffers = NULL; + + HLSLStatement* previousStatement = NULL; + HLSLStatement* statement = root->statement; + while (statement != NULL) + { + HLSLStatement* nextStatement = statement->nextStatement; + + if (statement->nodeType == HLSLNodeType_Struct) // Do not remove this, or it will mess the else clause below. + { + statementBeforeBuffers = statement; + } + else if (statement->nodeType == HLSLNodeType_Declaration) + { + HLSLDeclaration* declaration = (HLSLDeclaration*)statement; + + // We insert buffers after the last const declaration. + if ((declaration->type.flags & HLSLTypeFlag_Const) != 0) + { + statementBeforeBuffers = statement; + } + + // Do not move samplers or static/const parameters. + if ((declaration->type.flags & (HLSLTypeFlag_Static|HLSLTypeFlag_Const)) == 0) + { + // Unlink statement. + statement->nextStatement = NULL; + if (previousStatement != NULL) previousStatement->nextStatement = nextStatement; + else root->statement = nextStatement; + + while(declaration != NULL) + { + HLSLDeclaration* nextDeclaration = declaration->nextDeclaration; + + if (declaration->semantic != NULL && String_EqualNoCase(declaration->semantic, "PER_INSTANCED_ITEM")) + { + ASSERT(instanceDataDeclaration == NULL); + instanceDataDeclaration = declaration; + } + else + { + // Select group based on type and semantic. + HLSLDeclaration ** first, ** last; + if (declaration->semantic == NULL || String_EqualNoCase(declaration->semantic, "PER_ITEM") || String_EqualNoCase(declaration->semantic, "PER_MATERIAL")) + { + if (IsSamplerType(declaration->type)) + { + first = &firstPerItemSampler; + last = &lastPerItemSampler; + } + else + { + first = &firstPerItemDeclaration; + last = &lastPerItemDeclaration; + } + } + else + { + if (IsSamplerType(declaration->type)) + { + first = &firstPerPassSampler; + last = &lastPerPassSampler; + } + else + { + first = &firstPerPassDeclaration; + last = &lastPerPassDeclaration; + } + } + + // Add declaration to new list. + if (*first == NULL) *first = declaration; + else (*last)->nextStatement = declaration; + *last = declaration; + } + + // Unlink from declaration list. + declaration->nextDeclaration = NULL; + + // Reset attributes. + declaration->registerName = NULL; + //declaration->semantic = NULL; // @@ Don't do this! + + declaration = nextDeclaration; + } + } + } + /*else + { + if (statementBeforeBuffers == NULL) { + // This is the location where we will insert our buffers. + statementBeforeBuffers = previousStatement; + } + }*/ + + if (statement->nextStatement == nextStatement) { + previousStatement = statement; + } + statement = nextStatement; + } + + + // Add instance data declaration at the end of the per_item buffer. + if (instanceDataDeclaration != NULL) + { + if (firstPerItemDeclaration == NULL) firstPerItemDeclaration = instanceDataDeclaration; + else lastPerItemDeclaration->nextStatement = instanceDataDeclaration; + } + + + // Add samplers. + if (firstPerItemSampler != NULL) { + AddStatements(root, statementBeforeBuffers, firstPerItemSampler, lastPerItemSampler); + statementBeforeBuffers = lastPerItemSampler; + } + if (firstPerPassSampler != NULL) { + AddStatements(root, statementBeforeBuffers, firstPerPassSampler, lastPerPassSampler); + statementBeforeBuffers = lastPerPassSampler; + } + + + // @@ We are assuming per_item and per_pass buffers don't already exist. @@ We should assert on that. + + if (firstPerItemDeclaration != NULL) + { + // Create buffer statement. + HLSLBuffer * perItemBuffer = tree->AddNode(firstPerItemDeclaration->fileName, firstPerItemDeclaration->line-1); + perItemBuffer->name = tree->AddString("per_item"); + perItemBuffer->registerName = tree->AddString("b0"); + perItemBuffer->field = firstPerItemDeclaration; + + // Set declaration buffer pointers. + HLSLDeclaration * field = perItemBuffer->field; + while (field != NULL) + { + field->buffer = perItemBuffer; + field = (HLSLDeclaration *)field->nextStatement; + } + + // Add buffer to statements. + AddSingleStatement(root, statementBeforeBuffers, perItemBuffer); + statementBeforeBuffers = perItemBuffer; + } + + if (firstPerPassDeclaration != NULL) + { + // Create buffer statement. + HLSLBuffer * perPassBuffer = tree->AddNode(firstPerPassDeclaration->fileName, firstPerPassDeclaration->line-1); + perPassBuffer->name = tree->AddString("per_pass"); + perPassBuffer->registerName = tree->AddString("b1"); + perPassBuffer->field = firstPerPassDeclaration; + + // Set declaration buffer pointers. + HLSLDeclaration * field = perPassBuffer->field; + while (field != NULL) + { + field->buffer = perPassBuffer; + field = (HLSLDeclaration *)field->nextStatement; + } + + // Add buffer to statements. + AddSingleStatement(root, statementBeforeBuffers, perPassBuffer); + } +} + + +class FindArgumentVisitor : public HLSLTreeVisitor +{ +public: + bool found; + const char * name; + + FindArgumentVisitor() + { + found = false; + name = NULL; + } + + bool FindArgument(const char * _name, HLSLFunction * function) + { + this->found = false; + this->name = _name; + VisitStatements(function->statement); + return found; + } + + virtual void VisitStatements(HLSLStatement * statement) override + { + while (statement != NULL && !found) + { + VisitStatement(statement); + statement = statement->nextStatement; + } + } + + virtual void VisitIdentifierExpression(HLSLIdentifierExpression * node) override + { + if (node->name == name) + { + found = true; + } + } +}; + + +void HideUnusedArguments(HLSLFunction * function) +{ + FindArgumentVisitor visitor; + + // For each argument. + HLSLArgument * arg = function->argument; + while (arg != NULL) + { + if (!visitor.FindArgument(arg->name, function)) + { + arg->hidden = true; + } + + arg = arg->nextArgument; + } +} + +bool EmulateAlphaTest(HLSLTree* tree, const char* entryName, float alphaRef/*=0.5*/) +{ + // Find all return statements of this entry point. + HLSLFunction* entry = tree->FindFunction(entryName); + if (entry != NULL) + { + HLSLStatement ** ptr = &entry->statement; + HLSLStatement * statement = entry->statement; + while (statement != NULL) + { + if (statement->nodeType == HLSLNodeType_ReturnStatement) + { + HLSLReturnStatement * returnStatement = (HLSLReturnStatement *)statement; + HLSLBaseType returnType = returnStatement->expression->expressionType.baseType; + + // Build statement: "if (%s.a < 0.5) discard;" + + HLSLDiscardStatement * discard = tree->AddNode(statement->fileName, statement->line); + + HLSLExpression * alpha = NULL; + if (returnType == HLSLBaseType_Float4) + { + // @@ If return expression is a constructor, grab 4th argument. + // That's not as easy, since we support 'float4(float3, float)' or 'float4(float, float3)', extracting + // the latter is not that easy. + /*if (returnStatement->expression->nodeType == HLSLNodeType_ConstructorExpression) { + HLSLConstructorExpression * constructor = (HLSLConstructorExpression *)returnStatement->expression; + //constructor-> + } + */ + + if (alpha == NULL) { + HLSLMemberAccess * access = tree->AddNode(statement->fileName, statement->line); + access->expressionType = HLSLType(HLSLBaseType_Float); + access->object = returnStatement->expression; // @@ Is reference OK? Or should we clone expression? + access->field = tree->AddString("a"); + access->swizzle = true; + + alpha = access; + } + } + else if (returnType == HLSLBaseType_Float) + { + alpha = returnStatement->expression; // @@ Is reference OK? Or should we clone expression? + } + else + { + return false; + } + + HLSLLiteralExpression * threshold = tree->AddNode(statement->fileName, statement->line); + threshold->expressionType = HLSLType(HLSLBaseType_Float); + threshold->fValue = alphaRef; + threshold->type = HLSLBaseType_Float; + + HLSLBinaryExpression * condition = tree->AddNode(statement->fileName, statement->line); + condition->expressionType = HLSLType(HLSLBaseType_Bool); + condition->binaryOp = HLSLBinaryOp_Less; + condition->expression1 = alpha; + condition->expression2 = threshold; + + // Insert statement. + HLSLIfStatement * st = tree->AddNode(statement->fileName, statement->line); + st->condition = condition; + st->statement = discard; + st->nextStatement = statement; + *ptr = st; + } + + ptr = &statement->nextStatement; + statement = statement->nextStatement; + } + } + + return true; +} + +bool NeedsFlattening(HLSLExpression * expr, int level = 0) { + if (expr == NULL) { + return false; + } + if (expr->nodeType == HLSLNodeType_UnaryExpression) { + HLSLUnaryExpression * unaryExpr = (HLSLUnaryExpression *)expr; + return NeedsFlattening(unaryExpr->expression, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_BinaryExpression) { + HLSLBinaryExpression * binaryExpr = (HLSLBinaryExpression *)expr; + if (IsAssignOp(binaryExpr->binaryOp)) { + return NeedsFlattening(binaryExpr->expression2, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else { + return NeedsFlattening(binaryExpr->expression1, level+1) || NeedsFlattening(binaryExpr->expression2, level+1) || NeedsFlattening(expr->nextExpression, level); + } + } + else if (expr->nodeType == HLSLNodeType_ConditionalExpression) { + HLSLConditionalExpression * conditionalExpr = (HLSLConditionalExpression *)expr; + return NeedsFlattening(conditionalExpr->condition, level+1) || NeedsFlattening(conditionalExpr->trueExpression, level+1) || NeedsFlattening(conditionalExpr->falseExpression, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_CastingExpression) { + HLSLCastingExpression * castingExpr = (HLSLCastingExpression *)expr; + return NeedsFlattening(castingExpr->expression, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_LiteralExpression) { + return NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_IdentifierExpression) { + return NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_ConstructorExpression) { + HLSLConstructorExpression * constructorExpr = (HLSLConstructorExpression *)expr; + return NeedsFlattening(constructorExpr->argument, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_MemberAccess) { + return NeedsFlattening(expr->nextExpression, level+1); + } + else if (expr->nodeType == HLSLNodeType_ArrayAccess) { + HLSLArrayAccess * arrayAccess = (HLSLArrayAccess *)expr; + return NeedsFlattening(arrayAccess->array, level+1) || NeedsFlattening(arrayAccess->index, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else if (expr->nodeType == HLSLNodeType_FunctionCall) { + HLSLFunctionCall * functionCall = (HLSLFunctionCall *)expr; + if (functionCall->function->numOutputArguments > 0) { + if (level > 0) { + return true; + } + } + return NeedsFlattening(functionCall->argument, level+1) || NeedsFlattening(expr->nextExpression, level); + } + else { + //assert(false); + return false; + } +} + + +struct StatementList { + HLSLStatement * head = NULL; + HLSLStatement * tail = NULL; + void append(HLSLStatement * st) { + if (head == NULL) { + tail = head = st; + } + tail->nextStatement = st; + tail = st; + } +}; + + + class ExpressionFlattener : public HLSLTreeVisitor + { + public: + HLSLTree * m_tree; + int tmp_index; + HLSLStatement ** statement_pointer; + HLSLFunction * current_function; + + ExpressionFlattener() + { + m_tree = NULL; + tmp_index = 0; + statement_pointer = NULL; + current_function = NULL; + } + + void FlattenExpressions(HLSLTree * tree) + { + m_tree = tree; + VisitRoot(tree->GetRoot()); + } + + // Visit all statements updating the statement_pointer so that we can insert and replace statements. @@ Add this to the default visitor? + virtual void VisitFunction(HLSLFunction * node) override + { + current_function = node; + statement_pointer = &node->statement; + VisitStatements(node->statement); + statement_pointer = NULL; + current_function = NULL; + } + + virtual void VisitIfStatement(HLSLIfStatement * node) override + { + if (NeedsFlattening(node->condition, 1)) { + assert(false); // @@ Add statements before if statement. + } + + statement_pointer = &node->statement; + VisitStatements(node->statement); + if (node->elseStatement) { + statement_pointer = &node->elseStatement; + VisitStatements(node->elseStatement); + } + } + + virtual void VisitForStatement(HLSLForStatement * node) override + { + if (NeedsFlattening(node->initialization->assignment, 1)) { + assert(false); // @@ Add statements before for statement. + } + if (NeedsFlattening(node->condition, 1) || NeedsFlattening(node->increment, 1)) { + assert(false); // @@ These are tricky to implement. Need to handle all loop exits. + } + + statement_pointer = &node->statement; + VisitStatements(node->statement); + } + + virtual void VisitBlockStatement(HLSLBlockStatement * node) override + { + statement_pointer = &node->statement; + VisitStatements(node->statement); + } + + virtual void VisitStatements(HLSLStatement * statement) override + { + while (statement != NULL) { + VisitStatement(statement); + statement_pointer = &statement->nextStatement; + statement = statement->nextStatement; + } + } + + // This is usually a function call or assignment. + virtual void VisitExpressionStatement(HLSLExpressionStatement * node) override + { + if (NeedsFlattening(node->expression, 0)) + { + StatementList statements; + Flatten(node->expression, statements, false); + + // Link beginning of statement list. + *statement_pointer = statements.head; + + // Link end of statement list. + HLSLStatement * tail = statements.tail; + tail->nextStatement = node->nextStatement; + + // Update statement pointer. + statement_pointer = &tail->nextStatement; + + // @@ Delete node? + } + } + + virtual void VisitDeclaration(HLSLDeclaration * node) override + { + // Skip global declarations. + if (statement_pointer == NULL) return; + + if (NeedsFlattening(node->assignment, 1)) + { + StatementList statements; + HLSLIdentifierExpression * ident = Flatten(node->assignment, statements, true); + + // @@ Delete node->assignment? + + node->assignment = ident; + statements.append(node); + + // Link beginning of statement list. + *statement_pointer = statements.head; + + // Link end of statement list. + HLSLStatement * tail = statements.tail; + tail->nextStatement = node->nextStatement; + + // Update statement pointer. + statement_pointer = &tail->nextStatement; + } + } + + virtual void VisitReturnStatement(HLSLReturnStatement * node) override + { + if (NeedsFlattening(node->expression, 1)) + { + StatementList statements; + HLSLIdentifierExpression * ident = Flatten(node->expression, statements, true); + + // @@ Delete node->expression? + + node->expression = ident; + statements.append(node); + + // Link beginning of statement list. + *statement_pointer = statements.head; + + // Link end of statement list. + HLSLStatement * tail = statements.tail; + tail->nextStatement = node->nextStatement; + + // Update statement pointer. + statement_pointer = &tail->nextStatement; + } + } + + + HLSLDeclaration * BuildTemporaryDeclaration(HLSLExpression * expr) + { + assert(expr->expressionType.baseType != HLSLBaseType_Void); + + HLSLDeclaration * declaration = m_tree->AddNode(expr->fileName, expr->line); + declaration->name = m_tree->AddStringFormat("tmp%d", tmp_index++); + declaration->type = expr->expressionType; + declaration->assignment = expr; + + return declaration; + } + + HLSLExpressionStatement * BuildExpressionStatement(HLSLExpression * expr) + { + HLSLExpressionStatement * statement = m_tree->AddNode(expr->fileName, expr->line); + statement->expression = expr; + return statement; + } + + HLSLIdentifierExpression * AddExpressionStatement(HLSLExpression * expr, StatementList & statements, bool wantIdent) + { + if (wantIdent) { + HLSLDeclaration * declaration = BuildTemporaryDeclaration(expr); + statements.append(declaration); + + HLSLIdentifierExpression * ident = m_tree->AddNode(expr->fileName, expr->line); + ident->name = declaration->name; + ident->expressionType = declaration->type; + return ident; + } + else { + HLSLExpressionStatement * statement = BuildExpressionStatement(expr); + statements.append(statement); + return NULL; + } + } + + HLSLIdentifierExpression * Flatten(HLSLExpression * expr, StatementList & statements, bool wantIdent = true) + { + if (!NeedsFlattening(expr, wantIdent)) { + return AddExpressionStatement(expr, statements, wantIdent); + } + + if (expr->nodeType == HLSLNodeType_UnaryExpression) { + assert(expr->nextExpression == NULL); + + HLSLUnaryExpression * unaryExpr = (HLSLUnaryExpression *)expr; + + HLSLIdentifierExpression * tmp = Flatten(unaryExpr->expression, statements, true); + + HLSLUnaryExpression * newUnaryExpr = m_tree->AddNode(unaryExpr->fileName, unaryExpr->line); + newUnaryExpr->unaryOp = unaryExpr->unaryOp; + newUnaryExpr->expression = tmp; + newUnaryExpr->expressionType = unaryExpr->expressionType; + + return AddExpressionStatement(newUnaryExpr, statements, wantIdent); + } + else if (expr->nodeType == HLSLNodeType_BinaryExpression) { + assert(expr->nextExpression == NULL); + + HLSLBinaryExpression * binaryExpr = (HLSLBinaryExpression *)expr; + + if (IsAssignOp(binaryExpr->binaryOp)) { + // Flatten right hand side only. + HLSLIdentifierExpression * tmp2 = Flatten(binaryExpr->expression2, statements, true); + + HLSLBinaryExpression * newBinaryExpr = m_tree->AddNode(binaryExpr->fileName, binaryExpr->line); + newBinaryExpr->binaryOp = binaryExpr->binaryOp; + newBinaryExpr->expression1 = binaryExpr->expression1; + newBinaryExpr->expression2 = tmp2; + newBinaryExpr->expressionType = binaryExpr->expressionType; + + return AddExpressionStatement(newBinaryExpr, statements, wantIdent); + } + else { + HLSLIdentifierExpression * tmp1 = Flatten(binaryExpr->expression1, statements, true); + HLSLIdentifierExpression * tmp2 = Flatten(binaryExpr->expression2, statements, true); + + HLSLBinaryExpression * newBinaryExpr = m_tree->AddNode(binaryExpr->fileName, binaryExpr->line); + newBinaryExpr->binaryOp = binaryExpr->binaryOp; + newBinaryExpr->expression1 = tmp1; + newBinaryExpr->expression2 = tmp2; + newBinaryExpr->expressionType = binaryExpr->expressionType; + + return AddExpressionStatement(newBinaryExpr, statements, wantIdent); + } + } + else if (expr->nodeType == HLSLNodeType_ConditionalExpression) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_CastingExpression) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_LiteralExpression) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_IdentifierExpression) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_ConstructorExpression) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_MemberAccess) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_ArrayAccess) { + assert(false); + } + else if (expr->nodeType == HLSLNodeType_FunctionCall) { + HLSLFunctionCall * functionCall = (HLSLFunctionCall *)expr; + + // @@ Output function as is? + // @@ We have to flatten function arguments! This is tricky, need to handle input/output arguments. + assert(!NeedsFlattening(functionCall->argument)); + + return AddExpressionStatement(expr, statements, wantIdent); + } + else { + assert(false); + } + return NULL; + } + }; + + +void FlattenExpressions(HLSLTree* tree) { + ExpressionFlattener flattener; + flattener.FlattenExpressions(tree); +} + +} // M4 + diff --git a/src/libprojectM/Renderer/hlslparser/src/HLSLTree.h b/src/libprojectM/Renderer/hlslparser/src/HLSLTree.h new file mode 100755 index 0000000000..5b1ae6175f --- /dev/null +++ b/src/libprojectM/Renderer/hlslparser/src/HLSLTree.h @@ -0,0 +1,1091 @@ +#ifndef HLSL_TREE_H +#define HLSL_TREE_H + +//#include "Engine/StringPool.h" +#include "Engine.h" + +#include +#include +#include +#include + +namespace M4 +{ + +enum HLSLNodeType +{ + HLSLNodeType_Root, + HLSLNodeType_Declaration, + HLSLNodeType_Struct, + HLSLNodeType_StructField, + HLSLNodeType_Buffer, + HLSLNodeType_BufferField, + HLSLNodeType_Function, + HLSLNodeType_Argument, + HLSLNodeType_Macro, + HLSLNodeType_ExpressionStatement, + HLSLNodeType_Expression, + HLSLNodeType_ReturnStatement, + HLSLNodeType_DiscardStatement, + HLSLNodeType_BreakStatement, + HLSLNodeType_ContinueStatement, + HLSLNodeType_IfStatement, + HLSLNodeType_ForStatement, + HLSLNodeType_WhileStatement, + HLSLNodeType_BlockStatement, + HLSLNodeType_UnaryExpression, + HLSLNodeType_BinaryExpression, + HLSLNodeType_ConditionalExpression, + HLSLNodeType_CastingExpression, + HLSLNodeType_LiteralExpression, + HLSLNodeType_IdentifierExpression, + HLSLNodeType_ConstructorExpression, + HLSLNodeType_MemberAccess, + HLSLNodeType_ArrayAccess, + HLSLNodeType_FunctionCall, + HLSLNodeType_StateAssignment, + HLSLNodeType_SamplerState, + HLSLNodeType_Pass, + HLSLNodeType_Technique, + HLSLNodeType_Attribute, + HLSLNodeType_Pipeline, + HLSLNodeType_Stage, +}; + + +enum HLSLBaseType +{ + HLSLBaseType_Unknown, + HLSLBaseType_Void, + HLSLBaseType_Float, + HLSLBaseType_FirstNumeric = HLSLBaseType_Float, + HLSLBaseType_Float2, + HLSLBaseType_Float3, + HLSLBaseType_Float4, + + HLSLBaseType_Float2x4, + HLSLBaseType_Float2x3, + HLSLBaseType_Float2x2, + + HLSLBaseType_Float3x4, + HLSLBaseType_Float3x3, + HLSLBaseType_Float3x2, + + HLSLBaseType_Float4x4, + HLSLBaseType_Float4x3, + HLSLBaseType_Float4x2, + + HLSLBaseType_Bool, + HLSLBaseType_FirstInteger = HLSLBaseType_Bool, + HLSLBaseType_Bool2, + HLSLBaseType_Bool3, + HLSLBaseType_Bool4, + HLSLBaseType_Int, + HLSLBaseType_Int2, + HLSLBaseType_Int3, + HLSLBaseType_Int4, + HLSLBaseType_Uint, + HLSLBaseType_Uint2, + HLSLBaseType_Uint3, + HLSLBaseType_Uint4, + /*HLSLBaseType_Short, // @@ Separate dimension from Base type, this is getting out of control. + HLSLBaseType_Short2, + HLSLBaseType_Short3, + HLSLBaseType_Short4, + HLSLBaseType_Ushort, + HLSLBaseType_Ushort2, + HLSLBaseType_Ushort3, + HLSLBaseType_Ushort4,*/ + HLSLBaseType_LastInteger = HLSLBaseType_Uint4, + HLSLBaseType_LastNumeric = HLSLBaseType_Uint4, + HLSLBaseType_Texture, + HLSLBaseType_Sampler, // @@ use type inference to determine sampler type. + HLSLBaseType_Sampler2D, + HLSLBaseType_Sampler3D, + HLSLBaseType_SamplerCube, + HLSLBaseType_Sampler2DShadow, + HLSLBaseType_Sampler2DMS, + HLSLBaseType_Sampler2DArray, + HLSLBaseType_UserDefined, // struct + HLSLBaseType_Expression, // type argument for defined() sizeof() and typeof(). + HLSLBaseType_Auto, + + HLSLBaseType_Count, + HLSLBaseType_NumericCount = HLSLBaseType_LastNumeric - HLSLBaseType_FirstNumeric + 1 +}; + + + +enum NumericType +{ + NumericType_Float, + NumericType_Bool, + NumericType_Int, + NumericType_Uint, + NumericType_Count, + NumericType_NaN, +}; + + +struct BaseTypeDescription +{ + const char* typeName; + NumericType numericType; + int numComponents; + int numDimensions; + int height; + int binaryOpRank; +}; + +const BaseTypeDescription baseTypeDescriptions[HLSLBaseType_Count] = + { + { "unknown type", NumericType_NaN, 0, 0, 0, -1 }, // HLSLBaseType_Unknown + { "void", NumericType_NaN, 0, 0, 0, -1 }, // HLSLBaseType_Void + { "float", NumericType_Float, 1, 0, 1, 0 }, // HLSLBaseType_Float + { "float2", NumericType_Float, 2, 1, 1, 0 }, // HLSLBaseType_Float2 + { "float3", NumericType_Float, 3, 1, 1, 0 }, // HLSLBaseType_Float3 + { "float4", NumericType_Float, 4, 1, 1, 0 }, // HLSLBaseType_Float4 + + { "float2x4", NumericType_Float, 2, 2, 4, 0 }, // HLSLBaseType_Float2x4 + { "float2x3", NumericType_Float, 2, 2, 3, 0 }, // HLSLBaseType_Float2x3 + { "float2x2", NumericType_Float, 2, 2, 2, 0 }, // HLSLBaseType_Float2x2 + + { "float3x4", NumericType_Float, 3, 2, 4, 0 }, // HLSLBaseType_Float3x4 + { "float3x3", NumericType_Float, 3, 2, 3, 0 }, // HLSLBaseType_Float3x3 + { "float3x2", NumericType_Float, 3, 2, 2, 0 }, // HLSLBaseType_Float3x2 + + { "float4x4", NumericType_Float, 4, 2, 4, 0 }, // HLSLBaseType_Float4x4 + { "float4x3", NumericType_Float, 4, 2, 3, 0 }, // HLSLBaseType_Float4x3 + { "float4x2", NumericType_Float, 4, 2, 2, 0 }, // HLSLBaseType_Float4x2 + + { "bool", NumericType_Bool, 1, 0, 1, 4 }, // HLSLBaseType_Bool + { "bool2", NumericType_Bool, 2, 1, 1, 4 }, // HLSLBaseType_Bool2 + { "bool3", NumericType_Bool, 3, 1, 1, 4 }, // HLSLBaseType_Bool3 + { "bool4", NumericType_Bool, 4, 1, 1, 4 }, // HLSLBaseType_Bool4 + + { "int", NumericType_Int, 1, 0, 1, 3 }, // HLSLBaseType_Int + { "int2", NumericType_Int, 2, 1, 1, 3 }, // HLSLBaseType_Int2 + { "int3", NumericType_Int, 3, 1, 1, 3 }, // HLSLBaseType_Int3 + { "int4", NumericType_Int, 4, 1, 1, 3 }, // HLSLBaseType_Int4 + + { "uint", NumericType_Uint, 1, 0, 1, 2 }, // HLSLBaseType_Uint + { "uint2", NumericType_Uint, 2, 1, 1, 2 }, // HLSLBaseType_Uint2 + { "uint3", NumericType_Uint, 3, 1, 1, 2 }, // HLSLBaseType_Uint3 + { "uint4", NumericType_Uint, 4, 1, 1, 2 }, // HLSLBaseType_Uint4 + + { "texture", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Texture + { "sampler", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler + { "sampler2D", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler2D + { "sampler3D", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler3D + { "samplerCUBE", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_SamplerCube + { "sampler2DShadow", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler2DShadow + { "sampler2DMS", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler2DMS + { "sampler2DArray", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_Sampler2DArray + { "user defined", NumericType_NaN, 1, 0, 0, -1 }, // HLSLBaseType_UserDefined + { "expression", NumericType_NaN, 1, 0, 0, -1 } // HLSLBaseType_Expression + }; + +extern const HLSLBaseType ScalarBaseType[HLSLBaseType_Count]; + +inline bool IsSamplerType(HLSLBaseType baseType) +{ + return baseType == HLSLBaseType_Sampler || + baseType == HLSLBaseType_Sampler2D || + baseType == HLSLBaseType_Sampler3D || + baseType == HLSLBaseType_SamplerCube || + baseType == HLSLBaseType_Sampler2DShadow || + baseType == HLSLBaseType_Sampler2DMS || + baseType == HLSLBaseType_Sampler2DArray; +} + +inline bool IsMatrixType(HLSLBaseType baseType) +{ + return baseType == HLSLBaseType_Float2x4 || baseType == HLSLBaseType_Float2x3 || baseType == HLSLBaseType_Float2x2 || + baseType == HLSLBaseType_Float3x4 || baseType == HLSLBaseType_Float3x3 || baseType == HLSLBaseType_Float3x2 || + baseType == HLSLBaseType_Float4x4 || baseType == HLSLBaseType_Float4x3 || baseType == HLSLBaseType_Float4x2; +} + +inline bool IsScalarType( HLSLBaseType baseType ) +{ + return baseType == HLSLBaseType_Float || + baseType == HLSLBaseType_Bool || + baseType == HLSLBaseType_Int || + baseType == HLSLBaseType_Uint; +} + +inline bool IsVectorType( HLSLBaseType baseType ) +{ + return baseType == HLSLBaseType_Float2 || + baseType == HLSLBaseType_Float3 || + baseType == HLSLBaseType_Float4 || + baseType == HLSLBaseType_Bool2 || + baseType == HLSLBaseType_Bool3 || + baseType == HLSLBaseType_Bool4 || + baseType == HLSLBaseType_Int2 || + baseType == HLSLBaseType_Int3 || + baseType == HLSLBaseType_Int4 || + baseType == HLSLBaseType_Uint2 || + baseType == HLSLBaseType_Uint3 || + baseType == HLSLBaseType_Uint4; +} + + +enum HLSLBinaryOp +{ + HLSLBinaryOp_And, + HLSLBinaryOp_Or, + HLSLBinaryOp_Add, + HLSLBinaryOp_Sub, + HLSLBinaryOp_Mul, + HLSLBinaryOp_Div, + HLSLBinaryOp_Mod, + HLSLBinaryOp_Less, + HLSLBinaryOp_Greater, + HLSLBinaryOp_LessEqual, + HLSLBinaryOp_GreaterEqual, + HLSLBinaryOp_Equal, + HLSLBinaryOp_NotEqual, + HLSLBinaryOp_BitAnd, + HLSLBinaryOp_BitOr, + HLSLBinaryOp_BitXor, + HLSLBinaryOp_Assign, + HLSLBinaryOp_AddAssign, + HLSLBinaryOp_SubAssign, + HLSLBinaryOp_MulAssign, + HLSLBinaryOp_DivAssign, +}; + +inline bool IsCompareOp( HLSLBinaryOp op ) +{ + return op == HLSLBinaryOp_Less || + op == HLSLBinaryOp_Greater || + op == HLSLBinaryOp_LessEqual || + op == HLSLBinaryOp_GreaterEqual || + op == HLSLBinaryOp_Equal || + op == HLSLBinaryOp_NotEqual; +} + +inline bool IsArithmeticOp( HLSLBinaryOp op ) +{ + return op == HLSLBinaryOp_Add || + op == HLSLBinaryOp_Sub || + op == HLSLBinaryOp_Mul || + op == HLSLBinaryOp_Div || + op == HLSLBinaryOp_Mod; +} + +inline bool IsLogicOp( HLSLBinaryOp op ) +{ + return op == HLSLBinaryOp_And || + op == HLSLBinaryOp_Or; +} + +inline bool IsAssignOp( HLSLBinaryOp op ) +{ + return op == HLSLBinaryOp_Assign || + op == HLSLBinaryOp_AddAssign || + op == HLSLBinaryOp_SubAssign || + op == HLSLBinaryOp_MulAssign || + op == HLSLBinaryOp_DivAssign; +} + + +enum HLSLUnaryOp +{ + HLSLUnaryOp_Negative, // -x + HLSLUnaryOp_Positive, // +x + HLSLUnaryOp_Not, // !x + HLSLUnaryOp_PreIncrement, // ++x + HLSLUnaryOp_PreDecrement, // --x + HLSLUnaryOp_PostIncrement, // x++ + HLSLUnaryOp_PostDecrement, // x++ + HLSLUnaryOp_BitNot, // ~x +}; + +enum HLSLArgumentModifier +{ + HLSLArgumentModifier_None, + HLSLArgumentModifier_In, + HLSLArgumentModifier_Out, + HLSLArgumentModifier_Inout, + HLSLArgumentModifier_Uniform, + HLSLArgumentModifier_Const, +}; + +enum HLSLTypeFlags +{ + HLSLTypeFlag_None = 0, + HLSLTypeFlag_Const = 0x01, + HLSLTypeFlag_Static = 0x02, + HLSLTypeFlag_Uniform = 0x04, + //HLSLTypeFlag_Extern = 0x10, + //HLSLTypeFlag_Volatile = 0x20, + //HLSLTypeFlag_Shared = 0x40, + //HLSLTypeFlag_Precise = 0x80, + + HLSLTypeFlag_Input = 0x100, + HLSLTypeFlag_Output = 0x200, + + // Interpolation modifiers. + HLSLTypeFlag_Linear = 0x10000, + HLSLTypeFlag_Centroid = 0x20000, + HLSLTypeFlag_NoInterpolation = 0x40000, + HLSLTypeFlag_NoPerspective = 0x80000, + HLSLTypeFlag_Sample = 0x100000, + + // Misc. + HLSLTypeFlag_NoPromote = 0x200000, +}; + +enum HLSLAttributeType +{ + HLSLAttributeType_Unknown, + HLSLAttributeType_Unroll, + HLSLAttributeType_Branch, + HLSLAttributeType_Flatten, + HLSLAttributeType_NoFastMath, +}; + +enum HLSLAddressSpace +{ + HLSLAddressSpace_Undefined, + HLSLAddressSpace_Constant, + HLSLAddressSpace_Device, + HLSLAddressSpace_Thread, + HLSLAddressSpace_Shared, +}; + + +struct HLSLNode; +struct HLSLRoot; +struct HLSLStatement; +struct HLSLAttribute; +struct HLSLDeclaration; +struct HLSLStruct; +struct HLSLStructField; +struct HLSLBuffer; +struct HLSLFunction; +struct HLSLArgument; +struct HLSLExpressionStatement; +struct HLSLExpression; +struct HLSLBinaryExpression; +struct HLSLLiteralExpression; +struct HLSLIdentifierExpression; +struct HLSLConstructorExpression; +struct HLSLFunctionCall; +struct HLSLArrayAccess; +struct HLSLAttribute; + +struct HLSLType +{ + explicit HLSLType(HLSLBaseType _baseType = HLSLBaseType_Unknown) + { + baseType = _baseType; + samplerType = HLSLBaseType_Float; + typeName = NULL; + array = false; + arraySize = NULL; + flags = 0; + addressSpace = HLSLAddressSpace_Undefined; + } + HLSLBaseType baseType; + HLSLBaseType samplerType; // Half or Float + const char* typeName; // For user defined types. + bool array; + HLSLExpression* arraySize; + int flags; + HLSLAddressSpace addressSpace; +}; + +inline bool IsSamplerType(const HLSLType & type) +{ + return IsSamplerType(type.baseType); +} + +inline bool IsScalarType(const HLSLType & type) +{ + return IsScalarType(type.baseType); +} + +inline bool IsVectorType(const HLSLType & type) +{ + return IsVectorType(type.baseType); +} + + +/** Base class for all nodes in the HLSL AST */ +struct HLSLNode +{ + HLSLNodeType nodeType; + const char* fileName; + int line; +}; + +struct HLSLRoot : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_Root; + HLSLRoot() { statement = NULL; } + HLSLStatement* statement; // First statement. +}; + +struct HLSLStatement : public HLSLNode +{ + HLSLStatement() + { + nextStatement = NULL; + attributes = NULL; + hidden = false; + } + HLSLStatement* nextStatement; // Next statement in the block. + HLSLAttribute* attributes; + mutable bool hidden; +}; + +struct HLSLAttribute : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_Attribute; + HLSLAttribute() + { + attributeType = HLSLAttributeType_Unknown; + argument = NULL; + nextAttribute = NULL; + } + HLSLAttributeType attributeType; + HLSLExpression* argument; + HLSLAttribute* nextAttribute; +}; + +struct HLSLDeclaration : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Declaration; + HLSLDeclaration() + { + name = NULL; + registerName = NULL; + semantic = NULL; + nextDeclaration = NULL; + assignment = NULL; + buffer = NULL; + } + const char* name; + HLSLType type; + const char* registerName; // @@ Store register index? + const char* semantic; + HLSLDeclaration* nextDeclaration; // If multiple variables declared on a line. + HLSLExpression* assignment; + HLSLBuffer* buffer; +}; + +struct HLSLStruct : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Struct; + HLSLStruct() + { + name = NULL; + field = NULL; + } + const char* name; + HLSLStructField* field; // First field in the structure. +}; + +struct HLSLStructField : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_StructField; + HLSLStructField() + { + name = NULL; + semantic = NULL; + sv_semantic = NULL; + nextField = NULL; + hidden = false; + } + const char* name; + HLSLType type; + const char* semantic; + const char* sv_semantic; + HLSLStructField* nextField; // Next field in the structure. + bool hidden; +}; + +/** A cbuffer or tbuffer declaration. */ +struct HLSLBuffer : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Buffer; + HLSLBuffer() + { + name = NULL; + registerName = NULL; + field = NULL; + } + const char* name; + const char* registerName; + HLSLDeclaration* field; +}; + + +/** Function declaration */ +struct HLSLFunction : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Function; + HLSLFunction() + { + name = NULL; + semantic = NULL; + sv_semantic = NULL; + statement = NULL; + argument = NULL; + numArguments = 0; + numOutputArguments = 0; + forward = NULL; + } + const char* name; + HLSLType returnType; + const char* semantic; + const char* sv_semantic; + int numArguments; + int numOutputArguments; // Includes out and inout arguments. + HLSLArgument* argument; + HLSLStatement* statement; + HLSLFunction* forward; // Which HLSLFunction this one forward-declares +}; + +/** Declaration of an argument to a function. */ +struct HLSLArgument : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_Argument; + HLSLArgument() + { + name = NULL; + modifier = HLSLArgumentModifier_None; + semantic = NULL; + sv_semantic = NULL; + defaultValue = NULL; + nextArgument = NULL; + hidden = false; + } + const char* name; + HLSLArgumentModifier modifier; + HLSLType type; + const char* semantic; + const char* sv_semantic; + HLSLExpression* defaultValue; + HLSLArgument* nextArgument; + bool hidden; +}; + +/** Macro declaration */ +struct HLSLMacro : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Macro; + HLSLMacro() + { + name = NULL; + argument = NULL; + numArguments = 0; + macroAliased = NULL; + } + const char* name; + HLSLArgument* argument; + unsigned int numArguments; + std::string value; + HLSLMacro* macroAliased; +}; + +/** A expression which forms a complete statement. */ +struct HLSLExpressionStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_ExpressionStatement; + HLSLExpressionStatement() + { + expression = NULL; + } + HLSLExpression* expression; +}; + +struct HLSLReturnStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_ReturnStatement; + HLSLReturnStatement() + { + expression = NULL; + } + HLSLExpression* expression; +}; + +struct HLSLDiscardStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_DiscardStatement; +}; + +struct HLSLBreakStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_BreakStatement; +}; + +struct HLSLContinueStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_ContinueStatement; +}; + +struct HLSLIfStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_IfStatement; + HLSLIfStatement() + { + condition = NULL; + statement = NULL; + elseStatement = NULL; + isStatic = false; + } + HLSLExpression* condition; + HLSLStatement* statement; + HLSLStatement* elseStatement; + bool isStatic; +}; + +struct HLSLForStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_ForStatement; + HLSLForStatement() + { + initialization = NULL; + condition = NULL; + increment = NULL; + statement = NULL; + } + HLSLDeclaration* initialization; + HLSLExpression* initializationWithoutType; + HLSLExpression* condition; + HLSLExpression* increment; + HLSLStatement* statement; +}; + +struct HLSLWhileStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_WhileStatement; + HLSLWhileStatement() + { + condition = NULL; + statement = NULL; + } + HLSLExpression* condition; + HLSLStatement* statement; +}; + +struct HLSLBlockStatement : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_BlockStatement; + HLSLBlockStatement() + { + statement = NULL; + } + HLSLStatement* statement; +}; + + +/** Base type for all types of expressions. */ +struct HLSLExpression : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_Expression; + HLSLExpression() + { + nextExpression = NULL; + } + HLSLType expressionType; + HLSLExpression* nextExpression; // Used when the expression is part of a list, like in a function call. +}; + +struct HLSLUnaryExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_UnaryExpression; + HLSLUnaryExpression() + { + expression = NULL; + } + HLSLUnaryOp unaryOp; + HLSLExpression* expression; +}; + +struct HLSLBinaryExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_BinaryExpression; + HLSLBinaryExpression() + { + expression1 = NULL; + expression2 = NULL; + } + HLSLBinaryOp binaryOp; + HLSLExpression* expression1; + HLSLExpression* expression2; +}; + +/** ? : construct */ +struct HLSLConditionalExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_ConditionalExpression; + HLSLConditionalExpression() + { + condition = NULL; + trueExpression = NULL; + falseExpression = NULL; + } + HLSLExpression* condition; + HLSLExpression* trueExpression; + HLSLExpression* falseExpression; +}; + +struct HLSLCastingExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_CastingExpression; + HLSLCastingExpression() + { + expression = NULL; + } + HLSLType type; + HLSLExpression* expression; +}; + +/** Float, integer, boolean, etc. literal constant. */ +struct HLSLLiteralExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_LiteralExpression; + HLSLBaseType type; // Note, not all types can be literals. + union + { + bool bValue; + float fValue; + int iValue; + }; +}; + +/** An identifier, typically a variable name or structure field name. */ +struct HLSLIdentifierExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_IdentifierExpression; + HLSLIdentifierExpression() + { + name = NULL; + global = false; + } + const char* name; + bool global; // This is a global variable. +}; + +/** float2(1, 2) */ +struct HLSLConstructorExpression : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_ConstructorExpression; + HLSLConstructorExpression() + { + argument = NULL; + } + HLSLType type; + HLSLExpression* argument; +}; + +/** object.member **/ +struct HLSLMemberAccess : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_MemberAccess; + HLSLMemberAccess() + { + object = NULL; + field = NULL; + swizzle = false; + } + HLSLExpression* object; + const char* field; + bool swizzle; +}; + +/** array[index] **/ +struct HLSLArrayAccess : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_ArrayAccess; + HLSLArrayAccess() + { + array = NULL; + index = NULL; + } + HLSLExpression* array; + HLSLExpression* index; +}; + +struct HLSLFunctionCall : public HLSLExpression +{ + static const HLSLNodeType s_type = HLSLNodeType_FunctionCall; + HLSLFunctionCall() + { + function = NULL; + argument = NULL; + numArguments = 0; + } + const HLSLFunction* function; + HLSLExpression* argument; + int numArguments; +}; + +struct HLSLStateAssignment : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_StateAssignment; + HLSLStateAssignment() + { + stateName = NULL; + sValue = NULL; + nextStateAssignment = NULL; + } + + const char* stateName; + int d3dRenderState; + union { + int iValue; + float fValue; + const char * sValue; + }; + HLSLStateAssignment* nextStateAssignment; +}; + +struct HLSLSamplerState : public HLSLExpression // @@ Does this need to be an expression? Does it have a type? I guess type is useful. +{ + static const HLSLNodeType s_type = HLSLNodeType_SamplerState; + HLSLSamplerState() + { + numStateAssignments = 0; + stateAssignments = NULL; + } + + int numStateAssignments; + HLSLStateAssignment* stateAssignments; +}; + +struct HLSLPass : public HLSLNode +{ + static const HLSLNodeType s_type = HLSLNodeType_Pass; + HLSLPass() + { + name = NULL; + numStateAssignments = 0; + stateAssignments = NULL; + nextPass = NULL; + } + + const char* name; + int numStateAssignments; + HLSLStateAssignment* stateAssignments; + HLSLPass* nextPass; +}; + +struct HLSLTechnique : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Technique; + HLSLTechnique() + { + name = NULL; + numPasses = 0; + passes = NULL; + } + + const char* name; + int numPasses; + HLSLPass* passes; +}; + +struct HLSLPipeline : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Pipeline; + HLSLPipeline() + { + name = NULL; + numStateAssignments = 0; + stateAssignments = NULL; + } + + const char* name; + int numStateAssignments; + HLSLStateAssignment* stateAssignments; +}; + +struct HLSLStage : public HLSLStatement +{ + static const HLSLNodeType s_type = HLSLNodeType_Stage; + HLSLStage() + { + name = NULL; + statement = NULL; + inputs = NULL; + outputs = NULL; + } + + const char* name; + HLSLStatement* statement; + HLSLDeclaration* inputs; + HLSLDeclaration* outputs; +}; + +struct matrixCtor { + HLSLBaseType matrixType; + std::vector argumentTypes; + + bool operator==(const matrixCtor & other) const + { + return matrixType == other.matrixType && + argumentTypes == other.argumentTypes; + } + + bool operator<(const matrixCtor & other) const + { + if (matrixType < other.matrixType) + { + return true; + } + else if (matrixType > other.matrixType) + { + return false; + } + + return argumentTypes < other.argumentTypes; + } +}; + + +/** + * Abstract syntax tree for parsed HLSL code. + */ +class HLSLTree +{ + +public: + + explicit HLSLTree(Allocator* allocator); + ~HLSLTree(); + + /** Adds a string to the string pool used by the tree. */ + const char* AddString(const char* string); + const char* AddStringFormat(const char* string, ...); + + /** Returns true if the string is contained within the tree. */ + bool GetContainsString(const char* string) const; + + /** Returns the root block in the tree */ + HLSLRoot* GetRoot() const; + + /** Adds a new node to the tree with the specified type. */ + template + T* AddNode(const char* fileName, int line) + { + HLSLNode* node = new (AllocateMemory(sizeof(T))) T(); + node->nodeType = T::s_type; + node->fileName = fileName; + node->line = line; + return static_cast(node); + } + + HLSLFunction * FindFunction(const char * name); + HLSLDeclaration * FindGlobalDeclaration(const char * name, HLSLBuffer ** buffer_out = NULL); + HLSLStruct * FindGlobalStruct(const char * name); + HLSLTechnique * FindTechnique(const char * name); + HLSLPipeline * FindFirstPipeline(); + HLSLPipeline * FindNextPipeline(HLSLPipeline * current); + HLSLPipeline * FindPipeline(const char * name); + HLSLBuffer * FindBuffer(const char * name); + + bool GetExpressionValue(HLSLExpression * expression, int & value); + int GetExpressionValue(HLSLExpression * expression, float values[4]); + + bool NeedsFunction(const char * name); + bool ReplaceUniformsAssignments(); + void EnumerateMatrixCtorsNeeded(std::vector & matrixCtors); + +private: + + void* AllocateMemory(size_t size); + void AllocatePage(); + +private: + + static const size_t s_nodePageSize = 1024 * 4; + + struct NodePage + { + NodePage* next; + char buffer[s_nodePageSize]; + }; + + Allocator* m_allocator; + StringPool m_stringPool; + HLSLRoot* m_root; + + NodePage* m_firstPage; + NodePage* m_currentPage; + size_t m_currentPageOffset; + +}; + + + +class HLSLTreeVisitor +{ +public: + virtual void VisitType(HLSLType & type); + + virtual void VisitRoot(HLSLRoot * node); + virtual void VisitTopLevelStatement(HLSLStatement * node); + virtual void VisitStatements(HLSLStatement * statement); + virtual void VisitStatement(HLSLStatement * node); + virtual void VisitDeclaration(HLSLDeclaration * node); + virtual void VisitStruct(HLSLStruct * node); + virtual void VisitStructField(HLSLStructField * node); + virtual void VisitBuffer(HLSLBuffer * node); + //virtual void VisitBufferField(HLSLBufferField * node); + virtual void VisitFunction(HLSLFunction * node); + virtual void VisitArgument(HLSLArgument * node); + virtual void VisitExpressionStatement(HLSLExpressionStatement * node); + virtual void VisitExpression(HLSLExpression * node); + virtual void VisitReturnStatement(HLSLReturnStatement * node); + virtual void VisitDiscardStatement(HLSLDiscardStatement * node); + virtual void VisitBreakStatement(HLSLBreakStatement * node); + virtual void VisitContinueStatement(HLSLContinueStatement * node); + virtual void VisitIfStatement(HLSLIfStatement * node); + virtual void VisitForStatement(HLSLForStatement * node); + virtual void VisitWhileStatement(HLSLWhileStatement * node); + virtual void VisitBlockStatement(HLSLBlockStatement * node); + virtual void VisitUnaryExpression(HLSLUnaryExpression * node); + virtual void VisitBinaryExpression(HLSLBinaryExpression * node); + virtual void VisitConditionalExpression(HLSLConditionalExpression * node); + virtual void VisitCastingExpression(HLSLCastingExpression * node); + virtual void VisitLiteralExpression(HLSLLiteralExpression * node); + virtual void VisitIdentifierExpression(HLSLIdentifierExpression * node); + virtual void VisitConstructorExpression(HLSLConstructorExpression * node); + virtual void VisitMemberAccess(HLSLMemberAccess * node); + virtual void VisitArrayAccess(HLSLArrayAccess * node); + virtual void VisitFunctionCall(HLSLFunctionCall * node); + virtual void VisitStateAssignment(HLSLStateAssignment * node); + virtual void VisitSamplerState(HLSLSamplerState * node); + virtual void VisitPass(HLSLPass * node); + virtual void VisitTechnique(HLSLTechnique * node); + virtual void VisitPipeline(HLSLPipeline * node); + + + virtual void VisitFunctions(HLSLRoot * root); + virtual void VisitParameters(HLSLRoot * root); + + HLSLFunction * FindFunction(HLSLRoot * root, const char * name); + HLSLDeclaration * FindGlobalDeclaration(HLSLRoot * root, const char * name); + HLSLStruct * FindGlobalStruct(HLSLRoot * root, const char * name); +}; + + +// Tree transformations: +extern void PruneTree(HLSLTree* tree, const char* entryName0, const char* entryName1 = NULL); +extern void SortTree(HLSLTree* tree); +extern void GroupParameters(HLSLTree* tree); +extern void HideUnusedArguments(HLSLFunction * function); +extern bool EmulateAlphaTest(HLSLTree* tree, const char* entryName, float alphaRef = 0.5f); +extern void FlattenExpressions(HLSLTree* tree); + +extern matrixCtor matrixCtorBuilder(HLSLType type, HLSLExpression *arguments); + + +} // M4 + +#endif diff --git a/src/libprojectM/TestRunner.cpp b/src/libprojectM/TestRunner.cpp new file mode 100644 index 0000000000..91c5821afe --- /dev/null +++ b/src/libprojectM/TestRunner.cpp @@ -0,0 +1,43 @@ +// +// Created by matthew on 1/7/19. +// + +#include +#include +#include +#include + +std::vector TestRunner::tests; + + +bool TestRunner::run() +{ + if (tests.empty()) + { + // We still call register/run tests in NDEBUG (useful for performance testing) + // but tests may choose to comment out body to save space + tests.push_back(Param::test()); + tests.push_back(Parser::test()); + tests.push_back(Expr::test()); + } + + int count = 0; + bool successful = true; + for (auto it=tests.begin() ; it < tests.end() ; it++ ) + { + if (nullptr == (*it)) + continue; + count++; + std::cout << "TestRunner: " << (*it)->getName() << " started" << std::endl; + std::cout.flush(); + bool result = (*it)->test(); + successful &= result; + if (result) + std::cout << "TestRunner: " << (*it)->getName() << " passed" << std::endl; + else + std::cout << "TestRunner: " << (*it)->getName() << " FAILED" << std::endl; + } + if (0 == count) + std::cout << "TestRunner: no tests found to run" << std::endl; + return successful; +} \ No newline at end of file diff --git a/src/libprojectM/TestRunner.hpp b/src/libprojectM/TestRunner.hpp new file mode 100644 index 0000000000..aaf1ebe8f9 --- /dev/null +++ b/src/libprojectM/TestRunner.hpp @@ -0,0 +1,48 @@ +// +// Created by matthew on 1/7/19. +// +// This is a place to collect/run non-graphical unit tests +// CONSIDER using some framework like googletest etc, but for now didn't want new dependencies +// + +#ifndef PROJECTM_LUA_TESTRUNNER_H +#define PROJECTM_LUA_TESTRUNNER_H + + +#include +#include + + +class Test +{ +public: + const std::string getName() { return name; }; +#ifdef NDEBUG + virtual bool test() {return true;} +#else + virtual bool test() = 0; +#endif + virtual ~Test() = default; +protected: + explicit Test(std::string name_) : name(name_) {}; + const std::string name; + + bool verify(const char *test, bool success) + { + if (!success) + std::cout << "failed " << test << std::endl; + return success; + } +}; + + +class TestRunner +{ +public: + static bool run(); +private: + static std::vector tests; +}; + + +#endif //PROJECTM_LUA_TESTRUNNER_H diff --git a/src/libprojectM/TimeKeeper.cpp b/src/libprojectM/TimeKeeper.cpp new file mode 100644 index 0000000000..cb0b6996a8 --- /dev/null +++ b/src/libprojectM/TimeKeeper.cpp @@ -0,0 +1,116 @@ +#ifndef WIN32 +#include +#else +#endif /** !WIN32 */ +#include + +#include "TimeKeeper.hpp" +#include "RandomNumberGenerators.hpp" + +TimeKeeper::TimeKeeper(double presetDuration, double smoothDuration, double easterEgg) + { + _smoothDuration = smoothDuration; + _presetDuration = presetDuration; + _easterEgg = easterEgg; + +#ifndef WIN32 + projectm_gettimeofday ( &this->startTime, NULL ); +#else + startTime = GetTickCount(); +#endif /** !WIN32 */ + + UpdateTimers(); + } + + void TimeKeeper::UpdateTimers() + { +#ifndef WIN32 + _currentTime = getTicks ( &startTime ) * 0.001; +#else + _currentTime = getTicks ( startTime ) * 0.001; +#endif /** !WIN32 */ + + _presetFrameA++; + _presetFrameB++; + + } + + void TimeKeeper::StartPreset() + { + _isSmoothing = false; + _presetTimeA = _currentTime; + _presetFrameA = 1; + _presetDurationA = sampledPresetDuration(); + } + void TimeKeeper::StartSmoothing() + { + _isSmoothing = true; + _presetTimeB = _currentTime; + _presetFrameB = 1; + _presetDurationB = sampledPresetDuration(); + } + void TimeKeeper::EndSmoothing() + { + _isSmoothing = false; + _presetTimeA = _presetTimeB; + _presetFrameA = _presetFrameB; + _presetDurationA = _presetDurationB; + } + + bool TimeKeeper::CanHardCut() + { + return ((_currentTime - _presetTimeA) > HARD_CUT_DELAY); + } + + double TimeKeeper::SmoothRatio() + { + return (_currentTime - _presetTimeB) / _smoothDuration; + } + bool TimeKeeper::IsSmoothing() + { + return _isSmoothing; + } + + double TimeKeeper::GetRunningTime() + { + return _currentTime; + } + + double TimeKeeper::PresetProgressA() + { + if (_isSmoothing) return 1.0; + else return (_currentTime - _presetTimeA) / _presetDurationA; + } + double TimeKeeper::PresetProgressB() + { + return (_currentTime - _presetTimeB) / _presetDurationB; + } + +int TimeKeeper::PresetFrameB() + { + return _presetFrameB; + } + +int TimeKeeper::PresetFrameA() + { + return _presetFrameA; + } + +int TimeKeeper::PresetTimeB() + { + return _presetTimeB; + } + +int TimeKeeper::PresetTimeA() + { + return _presetTimeA; + } + +double TimeKeeper::sampledPresetDuration() { +#ifdef WIN32 + return _presetDuration; +#else + return fmax(1, fmin(60, RandomNumberGenerators::gaussian + (_presetDuration, _easterEgg))); +#endif +} diff --git a/src/libprojectM/TimeKeeper.hpp b/src/libprojectM/TimeKeeper.hpp new file mode 100644 index 0000000000..9d0ce6d9e1 --- /dev/null +++ b/src/libprojectM/TimeKeeper.hpp @@ -0,0 +1,70 @@ +#ifndef TimeKeeper_HPP +#define TimeKeeper_HPP + +#ifndef WIN32 +#include +#endif + +#include "timer.h" + +#define HARD_CUT_DELAY 3 + +class TimeKeeper +{ + +public: + + TimeKeeper(double presetDuration, double smoothDuration, double easterEgg); + + void UpdateTimers(); + + void StartPreset(); + void StartSmoothing(); + void EndSmoothing(); + + bool CanHardCut(); + + double SmoothRatio(); + bool IsSmoothing(); + + double GetRunningTime(); + + double PresetProgressA(); + double PresetProgressB(); + + int PresetFrameA(); + int PresetFrameB(); + + int PresetTimeA(); + int PresetTimeB(); + + double sampledPresetDuration(); + + void ChangePresetDuration(int seconds) { _presetDuration = seconds; } + +#ifndef WIN32 + /* The first ticks value of the application */ + struct timeval startTime; +#else + long startTime; +#endif /** !WIN32 */ + +private: + + double _easterEgg; + double _presetDuration; + double _presetDurationA; + double _presetDurationB; + double _smoothDuration; + + double _currentTime; + double _presetTimeA; + double _presetTimeB; + int _presetFrameA; + int _presetFrameB; + + bool _isSmoothing; + + +}; +#endif diff --git a/src/libprojectM/carbontoprojectM.h b/src/libprojectM/carbontoprojectM.h new file mode 100755 index 0000000000..f3b25bf9d0 --- /dev/null +++ b/src/libprojectM/carbontoprojectM.h @@ -0,0 +1,89 @@ +r/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: carbontoprojectM.hpp,v 1.2 2004/11/12 15:12:58 cvs Exp $ + * + * Translates CARBON -> projectM variables + * + * $Log$ + */ + +#ifndef _CARBONTOPROJECTM_H +#define _CARBONTOPROJECTM_H + +#ifdef WIN32 +#else +#endif + +projectMKeycode carbon2pmKeycode( NSEvent *event ) { + projectMKeycode char_code = (projectMKeycode)(event->message & charCodeMask); + switch ( char_code ) { + case kFunctionKeyCharCode: { + switch ( ( event->message << 16 ) >> 24 ) { + case 111: { + return PROJECTM_K_F12; + } + case 103: { + return PROJECTM_K_F11; + } + case 109: { + return PROJECTM_K_F10; + } + case 101: { + return PROJECTM_K_F9; + } + case 100: { + return PROJECTM_K_F8; + } + case 98: { + return PROJECTM_K_F7; + } + case 97: { + return PROJECTM_K_F6; + } + case 96: { + return PROJECTM_K_F5; + } + case 118: { + return PROJECTM_K_F4; + } + case 99: { + return PROJECTM_K_F3; + } + case 120: { + return PROJECTM_K_F2; + } + case 122: { + return PROJECTM_K_F1; + } + } + } + default: { + return char_code; + } + } + } + +projectMModifier carbon2pmModifier( NSEvent *event ) { + return (projectMModifier)PROJECTM_K_LSHIFT; + } + +#endif /** _CARBONTOPROJECTM_H */ diff --git a/src/libprojectM/cocoatoprojectM.h b/src/libprojectM/cocoatoprojectM.h new file mode 100644 index 0000000000..e591cbe6a0 --- /dev/null +++ b/src/libprojectM/cocoatoprojectM.h @@ -0,0 +1,67 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * + * Translates cocoa -> projectM variables + * + * $Log$ + */ + +#ifndef _CARBONTOPROJECTM_H +#define _CARBONTOPROJECTM_H + +#ifdef WIN32 +#else +#endif + +projectMKeycode cocoa2pmKeycode( NSEvent *event ) { + projectMKeycode char_code = (projectMKeycode)[event keyCode]; + switch ( char_code ) { + case kVK_F1: + case kVK_ANSI_H: + return PROJECTM_K_F1; + case kVK_F2: + return PROJECTM_K_F2; + case kVK_F3: + return PROJECTM_K_F3; + case kVK_F4: + return PROJECTM_K_F4; + default: + // try and get ascii code + NSString *chars = [event charactersIgnoringModifiers]; + if ([chars length]) { + return (projectMKeycode)[chars characterAtIndex:0]; + } + return char_code; + } +} + +projectMModifier cocoa2pmModifier( NSEvent *event ) { + NSUInteger mod = [event modifierFlags]; + if (mod & NSShiftKeyMask) + return (projectMModifier)PROJECTM_K_LSHIFT; + if (mod & NSControlKeyMask) + return (projectMModifier)PROJECTM_K_LCTRL; + + return (projectMModifier)0; +} + +#endif /** _CARBONTOPROJECTM_H */ diff --git a/src/libprojectM/config.inp.in.in b/src/libprojectM/config.inp.in.in new file mode 100644 index 0000000000..831d5a770a --- /dev/null +++ b/src/libprojectM/config.inp.in.in @@ -0,0 +1,22 @@ +# config.inp +# Configuration File for projectM + +#Texture Size = 1024 # Size of internal rendering texture + +Mesh X = 220 # Width of PerPixel Equation mesh +Mesh Y = 125 # Height of PerPixel Equation mesh +FPS = 35 # Frames Per Second +Fullscreen = false +Window Width = 512 # startup window width +Window Height = 512 # startup window height + +Smooth Transition Duration = 5 # in seconds +Preset Duration = 30 # in seconds +Easter Egg Parameter = 1 + +Hard Cut Sensitivity = 10 # Lower to make hard cuts more frequent +Aspect Correction = true # Custom Shape Aspect Correction + +Preset Path = %datadir%/@PACKAGE@/presets # preset location +Title Font = Vera.ttf +Menu Font = VeraMono.ttf diff --git a/src/projectM-engine/dlldefs.h b/src/libprojectM/dlldefs.h similarity index 100% rename from src/projectM-engine/dlldefs.h rename to src/libprojectM/dlldefs.h diff --git a/src/libprojectM/event.h b/src/libprojectM/event.h new file mode 100755 index 0000000000..88949f2fc9 --- /dev/null +++ b/src/libprojectM/event.h @@ -0,0 +1,154 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: event.h,v 1.2 2004/10/08 10:54:27 cvs Exp $ + * + * projectM keycodes. Enables translation from various event schemes such as Win32, SDL + * &c. + * + * $Log: event.h,v $ + */ + +#ifndef _PROJECTM_EVENT_H +#define _PROJECTM_EVENT_H + +typedef enum { + /** Event types */ + PROJECTM_KEYUP, + PROJECTM_KEYDOWN, + PROJECTM_VIDEORESIZE, + PROJECTM_VIDEOQUIT, + } projectMEvent; + +typedef enum { + /** Keycodes */ + PROJECTM_K_RETURN, + PROJECTM_K_RIGHT, + PROJECTM_K_LEFT, + PROJECTM_K_UP, + PROJECTM_K_DOWN, + PROJECTM_K_PAGEUP, + PROJECTM_K_PAGEDOWN, + PROJECTM_K_INSERT, + PROJECTM_K_DELETE, + PROJECTM_K_ESCAPE, + PROJECTM_K_LSHIFT, + PROJECTM_K_RSHIFT, + PROJECTM_K_CAPSLOCK, + PROJECTM_K_LCTRL, + PROJECTM_K_HOME, + PROJECTM_K_END, + PROJECTM_K_BACKSPACE, + + PROJECTM_K_F1, + PROJECTM_K_F2, + PROJECTM_K_F3, + PROJECTM_K_F4, + PROJECTM_K_F5, + PROJECTM_K_F6, + PROJECTM_K_F7, + PROJECTM_K_F8, + PROJECTM_K_F9, + PROJECTM_K_F10, + PROJECTM_K_F11, + PROJECTM_K_F12, + + PROJECTM_K_0 = 48, + PROJECTM_K_1, + PROJECTM_K_2, + PROJECTM_K_3, + PROJECTM_K_4, + PROJECTM_K_5, + PROJECTM_K_6, + PROJECTM_K_7, + PROJECTM_K_8, + PROJECTM_K_9, + + PROJECTM_K_A = 65, + PROJECTM_K_B, + PROJECTM_K_C, + PROJECTM_K_D, + PROJECTM_K_E, + PROJECTM_K_F, + PROJECTM_K_G, + PROJECTM_K_H, + PROJECTM_K_I, + PROJECTM_K_J, + PROJECTM_K_K, + PROJECTM_K_L, + PROJECTM_K_M, + PROJECTM_K_N, + PROJECTM_K_O, + PROJECTM_K_P, + PROJECTM_K_Q, + PROJECTM_K_R, + PROJECTM_K_S, + PROJECTM_K_T, + PROJECTM_K_U, + PROJECTM_K_V, + PROJECTM_K_W, + PROJECTM_K_X, + PROJECTM_K_Y, + PROJECTM_K_Z, + + PROJECTM_K_a = 97, + PROJECTM_K_b, + PROJECTM_K_c, + PROJECTM_K_d, + PROJECTM_K_e, + PROJECTM_K_f, + PROJECTM_K_g, + PROJECTM_K_h, + PROJECTM_K_i, + PROJECTM_K_j, + PROJECTM_K_k, + PROJECTM_K_l, + PROJECTM_K_m, + PROJECTM_K_n, + PROJECTM_K_o, + PROJECTM_K_p, + PROJECTM_K_q, + PROJECTM_K_r, + PROJECTM_K_s, + PROJECTM_K_t, + PROJECTM_K_u, + PROJECTM_K_v, + PROJECTM_K_w, + PROJECTM_K_x, + PROJECTM_K_y, + PROJECTM_K_z, + PROJECTM_K_NONE, + PROJECTM_K_PLUS, + PROJECTM_K_MINUS, + PROJECTM_K_EQUALS + } projectMKeycode; + +typedef enum { + /** Modifiers */ + PROJECTM_KMOD_LSHIFT, + PROJECTM_KMOD_RSHIFT, + PROJECTM_KMOD_CAPS, + PROJECTM_KMOD_LCTRL, + PROJECTM_KMOD_RCTRL, + } projectMModifier; + +#endif /** !_PROJECTM_EVENT_H */ + diff --git a/src/projectM-engine/fatal.h b/src/libprojectM/fatal.h similarity index 100% rename from src/projectM-engine/fatal.h rename to src/libprojectM/fatal.h diff --git a/src/projectM-engine/fftsg.cpp b/src/libprojectM/fftsg.cpp similarity index 100% rename from src/projectM-engine/fftsg.cpp rename to src/libprojectM/fftsg.cpp diff --git a/src/projectM-engine/fftsg.h b/src/libprojectM/fftsg.h similarity index 100% rename from src/projectM-engine/fftsg.h rename to src/libprojectM/fftsg.h diff --git a/src/projectM-engine/fonts b/src/libprojectM/fonts similarity index 100% rename from src/projectM-engine/fonts rename to src/libprojectM/fonts diff --git a/src/libprojectM/glError.h b/src/libprojectM/glError.h new file mode 100644 index 0000000000..a6d0940ea9 --- /dev/null +++ b/src/libprojectM/glError.h @@ -0,0 +1,31 @@ +// +// File: glError.h +// Author: fatray +// +// Created on 02 December 2007, 16:08 +// + +#ifndef _GLERROR_H +#define _GLERROR_H + +// no need to include GL in here, +// if someone wants GL errors they probably already included it. + + +/* + * if we are debugging, print all glErrors to stderr. + * Remeber that glErrors are buffered, this just prints any in the buffer. + */ +#ifdef NDEBUG +#define glError() +#else +#define glError() { \ + GLenum err; \ + while ((err = glGetError()) != GL_NO_ERROR) \ + fprintf(stderr, "glError: %s at %s:%u\n", \ + (char *)gluErrorString(err), __FILE__, __LINE__); \ +} +#endif /* glError */ + +#endif /* _GLERROR_H */ + diff --git a/src/libprojectM/gles.sh b/src/libprojectM/gles.sh new file mode 100755 index 0000000000..b3a30d5f5e --- /dev/null +++ b/src/libprojectM/gles.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +search() { +find . \( -name "*.h" -o -name "*.c" -o -name "*.cpp" -o -name "*.cxx" \) -exec grep -Hn "$*" {} \; | grep -v -E '\.\/glx?ew' | grep -v ./Renderer/SOIL2/SOIL2.c | grep -v FBO.cpp +} + +listIssues() { +search SDL_WM_GrabInput +search SDL_WarpMouse +search SDL_GL +search GL_CLAMP +search glColor|grep -v glColor4f +search glPushAttrib +search glPolygonMode +search GL_QUADS |grep glDrawArrays +search SDL_Init +search SDL_OPENGL +search SDL_ShowCursor +search glClearDepth +search SDL_Quit +search gluBuild2DMipmaps +search glTexImage2D +search glBegin +search glX +search glRect +search glNewList +} + +listIssues|sort -u diff --git a/src/projectM-engine/libprojectM.dsp b/src/libprojectM/libprojectM.dsp similarity index 100% rename from src/projectM-engine/libprojectM.dsp rename to src/libprojectM/libprojectM.dsp diff --git a/src/projectM-engine/libprojectM.opt b/src/libprojectM/libprojectM.opt similarity index 100% rename from src/projectM-engine/libprojectM.opt rename to src/libprojectM/libprojectM.opt diff --git a/src/libprojectM/libprojectM.pc.in b/src/libprojectM/libprojectM.pc.in new file mode 100644 index 0000000000..aaa5097d0d --- /dev/null +++ b/src/libprojectM/libprojectM.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +pkgdatadir=@datarootdir@/@PACKAGE_NAME@ +sysconfdir=@datarootdir@/@PACKAGE_NAME@ + +Name: libprojectM +Version: @PACKAGE_VERSION@ +Description: projectM - OpenGL Milkdrop +Requires: +Libs: -L${libdir} -lprojectM +Cflags: -I${includedir} diff --git a/src/projectM-engine/libprojectM.plg b/src/libprojectM/libprojectM.plg similarity index 100% rename from src/projectM-engine/libprojectM.plg rename to src/libprojectM/libprojectM.plg diff --git a/src/libprojectM/libprojectM.rc b/src/libprojectM/libprojectM.rc new file mode 100644 index 0000000000..11c5d52f7a --- /dev/null +++ b/src/libprojectM/libprojectM.rc @@ -0,0 +1,61 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE 9, 1 +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/libprojectM/libprojectM.sln b/src/libprojectM/libprojectM.sln new file mode 100644 index 0000000000..3050a0ae7b --- /dev/null +++ b/src/libprojectM/libprojectM.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprojectM", "libprojectM.vcproj", "{31B91091-431A-4842-8682-2A04B51C980A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/libprojectM/libprojectM.suo b/src/libprojectM/libprojectM.suo new file mode 100644 index 0000000000..05819a5fd4 Binary files /dev/null and b/src/libprojectM/libprojectM.suo differ diff --git a/src/libprojectM/libprojectM.vcproj b/src/libprojectM/libprojectM.vcproj new file mode 100644 index 0000000000..dd1ffb5c55 --- /dev/null +++ b/src/libprojectM/libprojectM.vcproj @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..496eeb813a --- /dev/null +++ b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj @@ -0,0 +1,1116 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 1612C9C2207A859800862A3A /* Func.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B1207A859700862A3A /* Func.cpp */; }; + 1612C9C3207A859800862A3A /* MilkdropPresetFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B2207A859700862A3A /* MilkdropPresetFactory.cpp */; }; + 1612C9C4207A859800862A3A /* BuiltinParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B3207A859700862A3A /* BuiltinParams.cpp */; }; + 1612C9C5207A859800862A3A /* Eval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B4207A859700862A3A /* Eval.cpp */; }; + 1612C9C6207A859800862A3A /* Parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B5207A859700862A3A /* Parser.cpp */; }; + 1612C9C7207A859800862A3A /* IdlePreset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B6207A859700862A3A /* IdlePreset.cpp */; }; + 1612C9C8207A859800862A3A /* CustomWave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B7207A859700862A3A /* CustomWave.cpp */; }; + 1612C9C9207A859800862A3A /* CustomShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B8207A859700862A3A /* CustomShape.cpp */; }; + 1612C9CA207A859800862A3A /* PresetFrameIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9B9207A859700862A3A /* PresetFrameIO.cpp */; }; + 1612C9CB207A859800862A3A /* PerPixelEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BA207A859700862A3A /* PerPixelEqn.cpp */; }; + 1612C9CC207A859800862A3A /* InitCond.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BB207A859700862A3A /* InitCond.cpp */; }; + 1612C9CD207A859800862A3A /* MilkdropPreset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BC207A859700862A3A /* MilkdropPreset.cpp */; }; + 1612C9CE207A859800862A3A /* PerFrameEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BD207A859700862A3A /* PerFrameEqn.cpp */; }; + 1612C9CF207A859800862A3A /* BuiltinFuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BE207A859700862A3A /* BuiltinFuncs.cpp */; }; + 1612C9D0207A859800862A3A /* Param.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9BF207A859700862A3A /* Param.cpp */; }; + 1612C9D1207A859800862A3A /* PerPointEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9C0207A859700862A3A /* PerPointEqn.cpp */; }; + 1612C9D2207A859800862A3A /* Expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9C1207A859700862A3A /* Expr.cpp */; }; + 1612C9D5207A85B300862A3A /* NativePresetFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9D4207A85B300862A3A /* NativePresetFactory.cpp */; }; + 1612C9EC207A860000862A3A /* KeyHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AC5207A68A600D3B0C8 /* KeyHandler.cpp */; }; + 1612C9FF207A878900862A3A /* event.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9EE207A878800862A3A /* event.h */; }; + 1612CA00207A878900862A3A /* cocoatoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9EF207A878800862A3A /* cocoatoprojectM.h */; }; + 1612CA01207A878900862A3A /* fatal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F0207A878800862A3A /* fatal.h */; }; + 1612CA02207A878900862A3A /* glError.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F1207A878800862A3A /* glError.h */; }; + 1612CA03207A878900862A3A /* glew.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F2207A878800862A3A /* glew.h */; }; + 1612CA04207A878900862A3A /* lvtoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F3207A878800862A3A /* lvtoprojectM.h */; }; + 1612CA05207A878900862A3A /* ConfigFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F4207A878800862A3A /* ConfigFile.h */; }; + 1612CA06207A878900862A3A /* sdltoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F5207A878800862A3A /* sdltoprojectM.h */; }; + 1612CA07207A878900862A3A /* wipemalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F6207A878800862A3A /* wipemalloc.h */; }; + 1612CA08207A878900862A3A /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F7207A878800862A3A /* timer.h */; }; + 1612CA09207A878900862A3A /* fftsg.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F8207A878800862A3A /* fftsg.h */; }; + 1612CA0A207A878900862A3A /* dlldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9F9207A878800862A3A /* dlldefs.h */; }; + 1612CA0B207A878900862A3A /* glxew.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9FA207A878800862A3A /* glxew.h */; }; + 1612CA0C207A878900862A3A /* win32-dirent.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9FB207A878800862A3A /* win32-dirent.h */; }; + 1612CA0D207A878900862A3A /* carbontoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9FC207A878800862A3A /* carbontoprojectM.h */; }; + 1612CA0E207A878900862A3A /* projectM-opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9FD207A878900862A3A /* projectM-opengl.h */; }; + 1612CA0F207A878900862A3A /* resource.h in Headers */ = {isa = PBXBuildFile; fileRef = 1612C9FE207A878900862A3A /* resource.h */; }; + 1612CA29207B9ED500862A3A /* PerPointEqn.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA15207B9ED400862A3A /* PerPointEqn.hpp */; }; + 1612CA2A207B9ED500862A3A /* BuiltinFuncs.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA16207B9ED400862A3A /* BuiltinFuncs.hpp */; }; + 1612CA2B207B9ED500862A3A /* Expr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA17207B9ED400862A3A /* Expr.hpp */; }; + 1612CA2C207B9ED500862A3A /* MilkdropPresetFactory.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA18207B9ED400862A3A /* MilkdropPresetFactory.hpp */; }; + 1612CA2D207B9ED500862A3A /* CustomWave.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA19207B9ED400862A3A /* CustomWave.hpp */; }; + 1612CA2E207B9ED500862A3A /* CustomShape.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1A207B9ED400862A3A /* CustomShape.hpp */; }; + 1612CA2F207B9ED500862A3A /* BuiltinParams.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1B207B9ED400862A3A /* BuiltinParams.hpp */; }; + 1612CA30207B9ED500862A3A /* CValue.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1C207B9ED400862A3A /* CValue.hpp */; }; + 1612CA31207B9ED500862A3A /* Func.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1D207B9ED400862A3A /* Func.hpp */; }; + 1612CA32207B9ED500862A3A /* Eval.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1E207B9ED400862A3A /* Eval.hpp */; }; + 1612CA33207B9ED500862A3A /* InitCondUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA1F207B9ED400862A3A /* InitCondUtils.hpp */; }; + 1612CA34207B9ED500862A3A /* PerPixelEqn.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA20207B9ED400862A3A /* PerPixelEqn.hpp */; }; + 1612CA35207B9ED500862A3A /* IdlePreset.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA21207B9ED400862A3A /* IdlePreset.hpp */; }; + 1612CA36207B9ED500862A3A /* PerFrameEqn.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA22207B9ED400862A3A /* PerFrameEqn.hpp */; }; + 1612CA37207B9ED500862A3A /* Parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA23207B9ED500862A3A /* Parser.hpp */; }; + 1612CA38207B9ED500862A3A /* PresetFrameIO.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA24207B9ED500862A3A /* PresetFrameIO.hpp */; }; + 1612CA39207B9ED500862A3A /* MilkdropPreset.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA25207B9ED500862A3A /* MilkdropPreset.hpp */; }; + 1612CA3A207B9ED500862A3A /* InitCond.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA26207B9ED500862A3A /* InitCond.hpp */; }; + 1612CA3B207B9ED500862A3A /* Param.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA27207B9ED500862A3A /* Param.hpp */; }; + 1612CA3C207B9ED500862A3A /* ParamUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1612CA28207B9ED500862A3A /* ParamUtils.hpp */; }; + 166854422105E4EC0042793A /* etc1_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9E4207A85DC00862A3A /* etc1_utils.c */; }; + 166854432105E4EF0042793A /* image_DXT.c in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9E6207A85DC00862A3A /* image_DXT.c */; }; + 166854442105E4FC0042793A /* image_helper.c in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9E7207A85DC00862A3A /* image_helper.c */; }; + 166854452105E4FC0042793A /* SOIL2.c in Sources */ = {isa = PBXBuildFile; fileRef = 1612C9E5207A85DC00862A3A /* SOIL2.c */; }; + 166854462105E4FC0042793A /* BeatDetect.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172820C33DF300947E7E /* BeatDetect.hpp */; }; + 166854482105E4FC0042793A /* Filters.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172920C33DF300947E7E /* Filters.hpp */; }; + 1668544B2105E4FC0042793A /* PerlinNoise.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172E20C33DF300947E7E /* PerlinNoise.hpp */; }; + 1668544C2105E4FC0042793A /* PerPixelMesh.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173420C33DF400947E7E /* PerPixelMesh.hpp */; }; + 1668544D2105E4FC0042793A /* Pipeline.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173520C33DF400947E7E /* Pipeline.hpp */; }; + 1668544E2105E4FC0042793A /* PipelineContext.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172620C33DF300947E7E /* PipelineContext.hpp */; }; + 1668544F2105E4FC0042793A /* Renderable.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172420C33DF300947E7E /* Renderable.hpp */; }; + 166854502105E4FC0042793A /* RenderContext.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687174D20C33E1000947E7E /* RenderContext.hpp */; }; + 166854512105E4FC0042793A /* Renderer.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172C20C33DF300947E7E /* Renderer.hpp */; }; + 166854522105E4FC0042793A /* RenderItemDistanceMetric.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172A20C33DF300947E7E /* RenderItemDistanceMetric.hpp */; }; + 166854532105E4FC0042793A /* RenderItemMatcher.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172720C33DF300947E7E /* RenderItemMatcher.hpp */; }; + 166854542105E4FC0042793A /* RenderItemMergeFunction.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173320C33DF300947E7E /* RenderItemMergeFunction.hpp */; }; + 166854552105E4FC0042793A /* Shader.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172B20C33DF300947E7E /* Shader.hpp */; }; + 166854572105E4FC0042793A /* ShaderEngine.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173620C33DF400947E7E /* ShaderEngine.hpp */; }; + 166854582105E4FC0042793A /* TextureManager.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172320C33DF300947E7E /* TextureManager.hpp */; }; + 166854592105E4FD0042793A /* Transformation.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173220C33DF300947E7E /* Transformation.hpp */; }; + 1668545B2105E4FD0042793A /* VideoEcho.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687172F20C33DF300947E7E /* VideoEcho.hpp */; }; + 1668545C2105E4FD0042793A /* Waveform.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 1687173020C33DF300947E7E /* Waveform.hpp */; }; + 1668545D2105E4FD0042793A /* CodeWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C689520BB1FE0000AFC1B /* CodeWriter.cpp */; }; + 1668545E2105E4FD0042793A /* Engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C688F20BB1FDF000AFC1B /* Engine.cpp */; }; + 1668545F2105E4FD0042793A /* GLSLGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C689120BB1FDF000AFC1B /* GLSLGenerator.cpp */; }; + 166854612105E4FD0042793A /* HLSLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C689220BB1FDF000AFC1B /* HLSLParser.cpp */; }; + 166854622105E4FD0042793A /* HLSLTokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C689420BB1FE0000AFC1B /* HLSLTokenizer.cpp */; }; + 166854632105E4FD0042793A /* HLSLTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168C689320BB1FE0000AFC1B /* HLSLTree.cpp */; }; + 166854652105E4FD0042793A /* BeatDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854202105E4BC0042793A /* BeatDetect.cpp */; }; + 166854662105E4FD0042793A /* Filters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854222105E4BD0042793A /* Filters.cpp */; }; + 166854682105E4FD0042793A /* MilkdropWaveform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668542D2105E4BD0042793A /* MilkdropWaveform.cpp */; }; + 166854692105E4FD0042793A /* PerlinNoise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668541B2105E4BC0042793A /* PerlinNoise.cpp */; }; + 1668546A2105E4FD0042793A /* PerPixelMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854232105E4BD0042793A /* PerPixelMesh.cpp */; }; + 1668546B2105E4FD0042793A /* Pipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854252105E4BD0042793A /* Pipeline.cpp */; }; + 1668546C2105E4FD0042793A /* PipelineContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668542C2105E4BD0042793A /* PipelineContext.cpp */; }; + 1668546D2105E4FD0042793A /* Renderable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668542B2105E4BD0042793A /* Renderable.cpp */; }; + 1668546F2105E4FD0042793A /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854282105E4BD0042793A /* Renderer.cpp */; }; + 166854702105E4FD0042793A /* RenderItemDistanceMetric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854212105E4BC0042793A /* RenderItemDistanceMetric.cpp */; }; + 166854712105E4FD0042793A /* RenderItemMatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668541C2105E4BC0042793A /* RenderItemMatcher.cpp */; }; + 166854722105E4FD0042793A /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668541F2105E4BC0042793A /* Shader.cpp */; }; + 166854732105E4FD0042793A /* ShaderEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854292105E4BD0042793A /* ShaderEngine.cpp */; }; + 166854742105E4FD0042793A /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668542A2105E4BD0042793A /* Texture.cpp */; }; + 166854752105E4FD0042793A /* TextureManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854242105E4BD0042793A /* TextureManager.cpp */; }; + 166854762105E4FD0042793A /* VideoEcho.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1668541D2105E4BC0042793A /* VideoEcho.cpp */; }; + 166854772105E4FD0042793A /* Waveform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 166854262105E4BD0042793A /* Waveform.cpp */; }; + 1687173820C33DF400947E7E /* TextureManager.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172320C33DF300947E7E /* TextureManager.hpp */; }; + 1687173920C33DF400947E7E /* Renderable.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172420C33DF300947E7E /* Renderable.hpp */; }; + 1687173B20C33DF400947E7E /* PipelineContext.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172620C33DF300947E7E /* PipelineContext.hpp */; }; + 1687173C20C33DF400947E7E /* RenderItemMatcher.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172720C33DF300947E7E /* RenderItemMatcher.hpp */; }; + 1687173D20C33DF400947E7E /* BeatDetect.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172820C33DF300947E7E /* BeatDetect.hpp */; }; + 1687173E20C33DF400947E7E /* Filters.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172920C33DF300947E7E /* Filters.hpp */; }; + 1687173F20C33DF400947E7E /* RenderItemDistanceMetric.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172A20C33DF300947E7E /* RenderItemDistanceMetric.hpp */; }; + 1687174020C33DF400947E7E /* Shader.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172B20C33DF300947E7E /* Shader.hpp */; }; + 1687174120C33DF400947E7E /* Renderer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172C20C33DF300947E7E /* Renderer.hpp */; }; + 1687174220C33DF400947E7E /* MilkdropWaveform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172D20C33DF300947E7E /* MilkdropWaveform.hpp */; }; + 1687174320C33DF400947E7E /* PerlinNoise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172E20C33DF300947E7E /* PerlinNoise.hpp */; }; + 1687174420C33DF400947E7E /* VideoEcho.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687172F20C33DF300947E7E /* VideoEcho.hpp */; }; + 1687174520C33DF400947E7E /* Waveform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173020C33DF300947E7E /* Waveform.hpp */; }; + 1687174720C33DF400947E7E /* Transformation.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173220C33DF300947E7E /* Transformation.hpp */; }; + 1687174820C33DF400947E7E /* RenderItemMergeFunction.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173320C33DF300947E7E /* RenderItemMergeFunction.hpp */; }; + 1687174920C33DF400947E7E /* PerPixelMesh.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173420C33DF400947E7E /* PerPixelMesh.hpp */; }; + 1687174A20C33DF400947E7E /* Pipeline.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173520C33DF400947E7E /* Pipeline.hpp */; }; + 1687174B20C33DF400947E7E /* ShaderEngine.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687173620C33DF400947E7E /* ShaderEngine.hpp */; }; + 1687174E20C33E1000947E7E /* RenderContext.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1687174D20C33E1000947E7E /* RenderContext.hpp */; }; + 16A49E5E207A7CAE00E508EA /* ConfigFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178ABD207A68A500D3B0C8 /* ConfigFile.cpp */; }; + 16A49E62207A7CAE00E508EA /* fftsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AB5207A68A400D3B0C8 /* fftsg.cpp */; }; + 16A49E69207A7CAE00E508EA /* PCM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AC1207A68A600D3B0C8 /* PCM.cpp */; }; + 16A49E6B207A7CAE00E508EA /* PipelineMerger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AA1207A68A300D3B0C8 /* PipelineMerger.cpp */; }; + 16A49E6D207A7CAE00E508EA /* Preset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178A98207A68A300D3B0C8 /* Preset.cpp */; }; + 16A49E6F207A7CAE00E508EA /* PresetChooser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AAE207A68A400D3B0C8 /* PresetChooser.cpp */; }; + 16A49E71207A7CAE00E508EA /* PresetFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AA5207A68A300D3B0C8 /* PresetFactory.cpp */; }; + 16A49E73207A7CAE00E508EA /* PresetFactoryManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178ABA207A68A500D3B0C8 /* PresetFactoryManager.cpp */; }; + 16A49E75207A7CAE00E508EA /* PresetLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178A9B207A68A300D3B0C8 /* PresetLoader.cpp */; }; + 16A49E78207A7CAE00E508EA /* projectM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AA0207A68A300D3B0C8 /* projectM.cpp */; }; + 16A49E7D207A7CAE00E508EA /* TimeKeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AB8207A68A500D3B0C8 /* TimeKeeper.cpp */; }; + 16A49E7F207A7CAE00E508EA /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178AB6207A68A400D3B0C8 /* timer.cpp */; }; + 16A49E81207A7CAE00E508EA /* wipemalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16178ABC207A68A500D3B0C8 /* wipemalloc.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1612C9A4207A855D00862A3A /* libMilkdropPresetFactory.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMilkdropPresetFactory.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 1612C9AC207A856A00862A3A /* libNativePresetFactory.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libNativePresetFactory.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 1612C9B1207A859700862A3A /* Func.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Func.cpp; path = MilkdropPresetFactory/Func.cpp; sourceTree = ""; }; + 1612C9B2207A859700862A3A /* MilkdropPresetFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MilkdropPresetFactory.cpp; path = MilkdropPresetFactory/MilkdropPresetFactory.cpp; sourceTree = ""; }; + 1612C9B3207A859700862A3A /* BuiltinParams.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BuiltinParams.cpp; path = MilkdropPresetFactory/BuiltinParams.cpp; sourceTree = ""; }; + 1612C9B4207A859700862A3A /* Eval.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Eval.cpp; path = MilkdropPresetFactory/Eval.cpp; sourceTree = ""; }; + 1612C9B5207A859700862A3A /* Parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Parser.cpp; path = MilkdropPresetFactory/Parser.cpp; sourceTree = ""; }; + 1612C9B6207A859700862A3A /* IdlePreset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IdlePreset.cpp; path = MilkdropPresetFactory/IdlePreset.cpp; sourceTree = ""; }; + 1612C9B7207A859700862A3A /* CustomWave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomWave.cpp; path = MilkdropPresetFactory/CustomWave.cpp; sourceTree = ""; }; + 1612C9B8207A859700862A3A /* CustomShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomShape.cpp; path = MilkdropPresetFactory/CustomShape.cpp; sourceTree = ""; }; + 1612C9B9207A859700862A3A /* PresetFrameIO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PresetFrameIO.cpp; path = MilkdropPresetFactory/PresetFrameIO.cpp; sourceTree = ""; }; + 1612C9BA207A859700862A3A /* PerPixelEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerPixelEqn.cpp; path = MilkdropPresetFactory/PerPixelEqn.cpp; sourceTree = ""; }; + 1612C9BB207A859700862A3A /* InitCond.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InitCond.cpp; path = MilkdropPresetFactory/InitCond.cpp; sourceTree = ""; }; + 1612C9BC207A859700862A3A /* MilkdropPreset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MilkdropPreset.cpp; path = MilkdropPresetFactory/MilkdropPreset.cpp; sourceTree = ""; }; + 1612C9BD207A859700862A3A /* PerFrameEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerFrameEqn.cpp; path = MilkdropPresetFactory/PerFrameEqn.cpp; sourceTree = ""; }; + 1612C9BE207A859700862A3A /* BuiltinFuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BuiltinFuncs.cpp; path = MilkdropPresetFactory/BuiltinFuncs.cpp; sourceTree = ""; }; + 1612C9BF207A859700862A3A /* Param.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Param.cpp; path = MilkdropPresetFactory/Param.cpp; sourceTree = ""; }; + 1612C9C0207A859700862A3A /* PerPointEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerPointEqn.cpp; path = MilkdropPresetFactory/PerPointEqn.cpp; sourceTree = ""; }; + 1612C9C1207A859700862A3A /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Expr.cpp; path = MilkdropPresetFactory/Expr.cpp; sourceTree = ""; }; + 1612C9D4207A85B300862A3A /* NativePresetFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NativePresetFactory.cpp; path = NativePresetFactory/NativePresetFactory.cpp; sourceTree = ""; }; + 1612C9E4207A85DC00862A3A /* etc1_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = etc1_utils.c; path = Renderer/SOIL2/etc1_utils.c; sourceTree = ""; }; + 1612C9E5207A85DC00862A3A /* SOIL2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SOIL2.c; path = Renderer/SOIL2/SOIL2.c; sourceTree = ""; }; + 1612C9E6207A85DC00862A3A /* image_DXT.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = image_DXT.c; path = Renderer/SOIL2/image_DXT.c; sourceTree = ""; }; + 1612C9E7207A85DC00862A3A /* image_helper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = image_helper.c; path = Renderer/SOIL2/image_helper.c; sourceTree = ""; }; + 1612C9EE207A878800862A3A /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event.h; sourceTree = ""; }; + 1612C9EF207A878800862A3A /* cocoatoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoatoprojectM.h; sourceTree = ""; }; + 1612C9F0207A878800862A3A /* fatal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fatal.h; sourceTree = ""; }; + 1612C9F1207A878800862A3A /* glError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glError.h; sourceTree = ""; }; + 1612C9F2207A878800862A3A /* glew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glew.h; sourceTree = ""; }; + 1612C9F3207A878800862A3A /* lvtoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lvtoprojectM.h; sourceTree = ""; }; + 1612C9F4207A878800862A3A /* ConfigFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigFile.h; sourceTree = ""; }; + 1612C9F5207A878800862A3A /* sdltoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdltoprojectM.h; sourceTree = ""; }; + 1612C9F6207A878800862A3A /* wipemalloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wipemalloc.h; sourceTree = ""; }; + 1612C9F7207A878800862A3A /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = ""; }; + 1612C9F8207A878800862A3A /* fftsg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fftsg.h; sourceTree = ""; }; + 1612C9F9207A878800862A3A /* dlldefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dlldefs.h; sourceTree = ""; }; + 1612C9FA207A878800862A3A /* glxew.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glxew.h; sourceTree = ""; }; + 1612C9FB207A878800862A3A /* win32-dirent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "win32-dirent.h"; sourceTree = ""; }; + 1612C9FC207A878800862A3A /* carbontoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = carbontoprojectM.h; sourceTree = ""; }; + 1612C9FD207A878900862A3A /* projectM-opengl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "projectM-opengl.h"; sourceTree = ""; }; + 1612C9FE207A878900862A3A /* resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = ""; }; + 1612CA15207B9ED400862A3A /* PerPointEqn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PerPointEqn.hpp; path = MilkdropPresetFactory/PerPointEqn.hpp; sourceTree = ""; }; + 1612CA16207B9ED400862A3A /* BuiltinFuncs.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BuiltinFuncs.hpp; path = MilkdropPresetFactory/BuiltinFuncs.hpp; sourceTree = ""; }; + 1612CA17207B9ED400862A3A /* Expr.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Expr.hpp; path = MilkdropPresetFactory/Expr.hpp; sourceTree = ""; }; + 1612CA18207B9ED400862A3A /* MilkdropPresetFactory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MilkdropPresetFactory.hpp; path = MilkdropPresetFactory/MilkdropPresetFactory.hpp; sourceTree = ""; }; + 1612CA19207B9ED400862A3A /* CustomWave.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CustomWave.hpp; path = MilkdropPresetFactory/CustomWave.hpp; sourceTree = ""; }; + 1612CA1A207B9ED400862A3A /* CustomShape.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CustomShape.hpp; path = MilkdropPresetFactory/CustomShape.hpp; sourceTree = ""; }; + 1612CA1B207B9ED400862A3A /* BuiltinParams.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BuiltinParams.hpp; path = MilkdropPresetFactory/BuiltinParams.hpp; sourceTree = ""; }; + 1612CA1C207B9ED400862A3A /* CValue.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CValue.hpp; path = MilkdropPresetFactory/CValue.hpp; sourceTree = ""; }; + 1612CA1D207B9ED400862A3A /* Func.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Func.hpp; path = MilkdropPresetFactory/Func.hpp; sourceTree = ""; }; + 1612CA1E207B9ED400862A3A /* Eval.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Eval.hpp; path = MilkdropPresetFactory/Eval.hpp; sourceTree = ""; }; + 1612CA1F207B9ED400862A3A /* InitCondUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitCondUtils.hpp; path = MilkdropPresetFactory/InitCondUtils.hpp; sourceTree = ""; }; + 1612CA20207B9ED400862A3A /* PerPixelEqn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PerPixelEqn.hpp; path = MilkdropPresetFactory/PerPixelEqn.hpp; sourceTree = ""; }; + 1612CA21207B9ED400862A3A /* IdlePreset.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = IdlePreset.hpp; path = MilkdropPresetFactory/IdlePreset.hpp; sourceTree = ""; }; + 1612CA22207B9ED400862A3A /* PerFrameEqn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PerFrameEqn.hpp; path = MilkdropPresetFactory/PerFrameEqn.hpp; sourceTree = ""; }; + 1612CA23207B9ED500862A3A /* Parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Parser.hpp; path = MilkdropPresetFactory/Parser.hpp; sourceTree = ""; }; + 1612CA24207B9ED500862A3A /* PresetFrameIO.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PresetFrameIO.hpp; path = MilkdropPresetFactory/PresetFrameIO.hpp; sourceTree = ""; }; + 1612CA25207B9ED500862A3A /* MilkdropPreset.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MilkdropPreset.hpp; path = MilkdropPresetFactory/MilkdropPreset.hpp; sourceTree = ""; }; + 1612CA26207B9ED500862A3A /* InitCond.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitCond.hpp; path = MilkdropPresetFactory/InitCond.hpp; sourceTree = ""; }; + 1612CA27207B9ED500862A3A /* Param.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Param.hpp; path = MilkdropPresetFactory/Param.hpp; sourceTree = ""; }; + 1612CA28207B9ED500862A3A /* ParamUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ParamUtils.hpp; path = MilkdropPresetFactory/ParamUtils.hpp; sourceTree = ""; }; + 16178A98207A68A300D3B0C8 /* Preset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Preset.cpp; sourceTree = ""; }; + 16178A9B207A68A300D3B0C8 /* PresetLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresetLoader.cpp; sourceTree = ""; }; + 16178AA0207A68A300D3B0C8 /* projectM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = projectM.cpp; sourceTree = ""; }; + 16178AA1207A68A300D3B0C8 /* PipelineMerger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PipelineMerger.cpp; sourceTree = ""; }; + 16178AA5207A68A300D3B0C8 /* PresetFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresetFactory.cpp; sourceTree = ""; }; + 16178AAE207A68A400D3B0C8 /* PresetChooser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresetChooser.cpp; sourceTree = ""; }; + 16178AB5207A68A400D3B0C8 /* fftsg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fftsg.cpp; sourceTree = ""; }; + 16178AB6207A68A400D3B0C8 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = ""; }; + 16178AB8207A68A500D3B0C8 /* TimeKeeper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeKeeper.cpp; sourceTree = ""; }; + 16178ABA207A68A500D3B0C8 /* PresetFactoryManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresetFactoryManager.cpp; sourceTree = ""; }; + 16178ABC207A68A500D3B0C8 /* wipemalloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wipemalloc.cpp; sourceTree = ""; }; + 16178ABD207A68A500D3B0C8 /* ConfigFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigFile.cpp; sourceTree = ""; }; + 16178AC1207A68A600D3B0C8 /* PCM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PCM.cpp; sourceTree = ""; }; + 16178AC5207A68A600D3B0C8 /* KeyHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyHandler.cpp; sourceTree = ""; }; + 16178AF7207A691100D3B0C8 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 16178B12207A6F4000D3B0C8 /* libRenderer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRenderer.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 1668541B2105E4BC0042793A /* PerlinNoise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerlinNoise.cpp; path = Renderer/PerlinNoise.cpp; sourceTree = ""; }; + 1668541C2105E4BC0042793A /* RenderItemMatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderItemMatcher.cpp; path = Renderer/RenderItemMatcher.cpp; sourceTree = ""; }; + 1668541D2105E4BC0042793A /* VideoEcho.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoEcho.cpp; path = Renderer/VideoEcho.cpp; sourceTree = ""; }; + 1668541F2105E4BC0042793A /* Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Shader.cpp; path = Renderer/Shader.cpp; sourceTree = ""; }; + 166854202105E4BC0042793A /* BeatDetect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatDetect.cpp; path = Renderer/BeatDetect.cpp; sourceTree = ""; }; + 166854212105E4BC0042793A /* RenderItemDistanceMetric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderItemDistanceMetric.cpp; path = Renderer/RenderItemDistanceMetric.cpp; sourceTree = ""; }; + 166854222105E4BD0042793A /* Filters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Filters.cpp; path = Renderer/Filters.cpp; sourceTree = ""; }; + 166854232105E4BD0042793A /* PerPixelMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerPixelMesh.cpp; path = Renderer/PerPixelMesh.cpp; sourceTree = ""; }; + 166854242105E4BD0042793A /* TextureManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextureManager.cpp; path = Renderer/TextureManager.cpp; sourceTree = ""; }; + 166854252105E4BD0042793A /* Pipeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pipeline.cpp; path = Renderer/Pipeline.cpp; sourceTree = ""; }; + 166854262105E4BD0042793A /* Waveform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Waveform.cpp; path = Renderer/Waveform.cpp; sourceTree = ""; }; + 166854282105E4BD0042793A /* Renderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Renderer.cpp; path = Renderer/Renderer.cpp; sourceTree = ""; }; + 166854292105E4BD0042793A /* ShaderEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ShaderEngine.cpp; path = Renderer/ShaderEngine.cpp; sourceTree = ""; }; + 1668542A2105E4BD0042793A /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Texture.cpp; path = Renderer/Texture.cpp; sourceTree = ""; }; + 1668542B2105E4BD0042793A /* Renderable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Renderable.cpp; path = Renderer/Renderable.cpp; sourceTree = ""; }; + 1668542C2105E4BD0042793A /* PipelineContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PipelineContext.cpp; path = Renderer/PipelineContext.cpp; sourceTree = ""; }; + 1668542D2105E4BD0042793A /* MilkdropWaveform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MilkdropWaveform.cpp; path = Renderer/MilkdropWaveform.cpp; sourceTree = ""; }; + 1687172320C33DF300947E7E /* TextureManager.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = TextureManager.hpp; path = Renderer/TextureManager.hpp; sourceTree = ""; }; + 1687172420C33DF300947E7E /* Renderable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Renderable.hpp; path = Renderer/Renderable.hpp; sourceTree = ""; }; + 1687172620C33DF300947E7E /* PipelineContext.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PipelineContext.hpp; path = Renderer/PipelineContext.hpp; sourceTree = ""; }; + 1687172720C33DF300947E7E /* RenderItemMatcher.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderItemMatcher.hpp; path = Renderer/RenderItemMatcher.hpp; sourceTree = ""; }; + 1687172820C33DF300947E7E /* BeatDetect.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BeatDetect.hpp; path = Renderer/BeatDetect.hpp; sourceTree = ""; }; + 1687172920C33DF300947E7E /* Filters.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Filters.hpp; path = Renderer/Filters.hpp; sourceTree = ""; }; + 1687172A20C33DF300947E7E /* RenderItemDistanceMetric.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderItemDistanceMetric.hpp; path = Renderer/RenderItemDistanceMetric.hpp; sourceTree = ""; }; + 1687172B20C33DF300947E7E /* Shader.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Shader.hpp; path = Renderer/Shader.hpp; sourceTree = ""; }; + 1687172C20C33DF300947E7E /* Renderer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Renderer.hpp; path = Renderer/Renderer.hpp; sourceTree = ""; }; + 1687172D20C33DF300947E7E /* MilkdropWaveform.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MilkdropWaveform.hpp; path = Renderer/MilkdropWaveform.hpp; sourceTree = ""; }; + 1687172E20C33DF300947E7E /* PerlinNoise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PerlinNoise.hpp; path = Renderer/PerlinNoise.hpp; sourceTree = ""; }; + 1687172F20C33DF300947E7E /* VideoEcho.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = VideoEcho.hpp; path = Renderer/VideoEcho.hpp; sourceTree = ""; }; + 1687173020C33DF300947E7E /* Waveform.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Waveform.hpp; path = Renderer/Waveform.hpp; sourceTree = ""; }; + 1687173220C33DF300947E7E /* Transformation.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Transformation.hpp; path = Renderer/Transformation.hpp; sourceTree = ""; }; + 1687173320C33DF300947E7E /* RenderItemMergeFunction.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderItemMergeFunction.hpp; path = Renderer/RenderItemMergeFunction.hpp; sourceTree = ""; }; + 1687173420C33DF400947E7E /* PerPixelMesh.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PerPixelMesh.hpp; path = Renderer/PerPixelMesh.hpp; sourceTree = ""; }; + 1687173520C33DF400947E7E /* Pipeline.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Pipeline.hpp; path = Renderer/Pipeline.hpp; sourceTree = ""; }; + 1687173620C33DF400947E7E /* ShaderEngine.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ShaderEngine.hpp; path = Renderer/ShaderEngine.hpp; sourceTree = ""; }; + 1687174D20C33E1000947E7E /* RenderContext.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderContext.hpp; path = Renderer/RenderContext.hpp; sourceTree = ""; }; + 168C688F20BB1FDF000AFC1B /* Engine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Engine.cpp; path = Renderer/hlslparser/src/Engine.cpp; sourceTree = ""; }; + 168C689120BB1FDF000AFC1B /* GLSLGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GLSLGenerator.cpp; path = Renderer/hlslparser/src/GLSLGenerator.cpp; sourceTree = ""; }; + 168C689220BB1FDF000AFC1B /* HLSLParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HLSLParser.cpp; path = Renderer/hlslparser/src/HLSLParser.cpp; sourceTree = ""; }; + 168C689320BB1FE0000AFC1B /* HLSLTree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HLSLTree.cpp; path = Renderer/hlslparser/src/HLSLTree.cpp; sourceTree = ""; }; + 168C689420BB1FE0000AFC1B /* HLSLTokenizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HLSLTokenizer.cpp; path = Renderer/hlslparser/src/HLSLTokenizer.cpp; sourceTree = ""; }; + 168C689520BB1FE0000AFC1B /* CodeWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CodeWriter.cpp; path = Renderer/hlslparser/src/CodeWriter.cpp; sourceTree = ""; }; + 16A49E57207A7C8C00E508EA /* libprojectM.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libprojectM.a; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1612C9A1207A855D00862A3A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1612C9A9207A856A00862A3A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16178B0F207A6F4000D3B0C8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16A49E54207A7C8C00E508EA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1612C9B0207A857F00862A3A /* MilkdropPresetFactory */ = { + isa = PBXGroup; + children = ( + 1612C9BE207A859700862A3A /* BuiltinFuncs.cpp */, + 1612C9B3207A859700862A3A /* BuiltinParams.cpp */, + 1612C9B8207A859700862A3A /* CustomShape.cpp */, + 1612C9B7207A859700862A3A /* CustomWave.cpp */, + 1612C9B4207A859700862A3A /* Eval.cpp */, + 1612C9C1207A859700862A3A /* Expr.cpp */, + 1612C9B1207A859700862A3A /* Func.cpp */, + 1612C9B6207A859700862A3A /* IdlePreset.cpp */, + 1612C9BB207A859700862A3A /* InitCond.cpp */, + 1612C9BC207A859700862A3A /* MilkdropPreset.cpp */, + 1612C9B2207A859700862A3A /* MilkdropPresetFactory.cpp */, + 1612C9BF207A859700862A3A /* Param.cpp */, + 1612C9B5207A859700862A3A /* Parser.cpp */, + 1612C9BD207A859700862A3A /* PerFrameEqn.cpp */, + 1612C9BA207A859700862A3A /* PerPixelEqn.cpp */, + 1612C9C0207A859700862A3A /* PerPointEqn.cpp */, + 1612C9B9207A859700862A3A /* PresetFrameIO.cpp */, + 1612CA16207B9ED400862A3A /* BuiltinFuncs.hpp */, + 1612CA1B207B9ED400862A3A /* BuiltinParams.hpp */, + 1612CA1A207B9ED400862A3A /* CustomShape.hpp */, + 1612CA19207B9ED400862A3A /* CustomWave.hpp */, + 1612CA1C207B9ED400862A3A /* CValue.hpp */, + 1612CA1E207B9ED400862A3A /* Eval.hpp */, + 1612CA17207B9ED400862A3A /* Expr.hpp */, + 1612CA1D207B9ED400862A3A /* Func.hpp */, + 1612CA21207B9ED400862A3A /* IdlePreset.hpp */, + 1612CA26207B9ED500862A3A /* InitCond.hpp */, + 1612CA1F207B9ED400862A3A /* InitCondUtils.hpp */, + 1612CA25207B9ED500862A3A /* MilkdropPreset.hpp */, + 1612CA18207B9ED400862A3A /* MilkdropPresetFactory.hpp */, + 1612CA27207B9ED500862A3A /* Param.hpp */, + 1612CA28207B9ED500862A3A /* ParamUtils.hpp */, + 1612CA23207B9ED500862A3A /* Parser.hpp */, + 1612CA22207B9ED400862A3A /* PerFrameEqn.hpp */, + 1612CA20207B9ED400862A3A /* PerPixelEqn.hpp */, + 1612CA15207B9ED400862A3A /* PerPointEqn.hpp */, + 1612CA24207B9ED500862A3A /* PresetFrameIO.hpp */, + ); + name = MilkdropPresetFactory; + sourceTree = ""; + }; + 1612C9D3207A85A400862A3A /* NativePresetFactory */ = { + isa = PBXGroup; + children = ( + 1612C9D4207A85B300862A3A /* NativePresetFactory.cpp */, + ); + name = NativePresetFactory; + sourceTree = ""; + }; + 1612C9ED207A877D00862A3A /* Headers */ = { + isa = PBXGroup; + children = ( + 1612C9FC207A878800862A3A /* carbontoprojectM.h */, + 1612C9EF207A878800862A3A /* cocoatoprojectM.h */, + 1612C9F4207A878800862A3A /* ConfigFile.h */, + 1612C9F9207A878800862A3A /* dlldefs.h */, + 1612C9EE207A878800862A3A /* event.h */, + 1612C9F0207A878800862A3A /* fatal.h */, + 1612C9F8207A878800862A3A /* fftsg.h */, + 1612C9F1207A878800862A3A /* glError.h */, + 1612C9F2207A878800862A3A /* glew.h */, + 1612C9FA207A878800862A3A /* glxew.h */, + 1612C9F3207A878800862A3A /* lvtoprojectM.h */, + 1612C9FD207A878900862A3A /* projectM-opengl.h */, + 1612C9FE207A878900862A3A /* resource.h */, + 1612C9F5207A878800862A3A /* sdltoprojectM.h */, + 1612C9F7207A878800862A3A /* timer.h */, + 1612C9FB207A878800862A3A /* win32-dirent.h */, + 1612C9F6207A878800862A3A /* wipemalloc.h */, + ); + name = Headers; + sourceTree = ""; + }; + 161789B7207A675B00D3B0C8 = { + isa = PBXGroup; + children = ( + 1612C9D3207A85A400862A3A /* NativePresetFactory */, + 1612C9B0207A857F00862A3A /* MilkdropPresetFactory */, + 16178B3F207A6FD900D3B0C8 /* Renderer */, + 161789C9207A689400D3B0C8 /* libProjectM */, + 161789C1207A675B00D3B0C8 /* Products */, + 16178AF6207A691100D3B0C8 /* Frameworks */, + ); + sourceTree = ""; + }; + 161789C1207A675B00D3B0C8 /* Products */ = { + isa = PBXGroup; + children = ( + 16178B12207A6F4000D3B0C8 /* libRenderer.a */, + 16A49E57207A7C8C00E508EA /* libprojectM.a */, + 1612C9A4207A855D00862A3A /* libMilkdropPresetFactory.a */, + 1612C9AC207A856A00862A3A /* libNativePresetFactory.a */, + ); + name = Products; + sourceTree = ""; + }; + 161789C9207A689400D3B0C8 /* libProjectM */ = { + isa = PBXGroup; + children = ( + 1612C9ED207A877D00862A3A /* Headers */, + 16178AA0207A68A300D3B0C8 /* projectM.cpp */, + 16178ABD207A68A500D3B0C8 /* ConfigFile.cpp */, + 16178AB5207A68A400D3B0C8 /* fftsg.cpp */, + 16178AC5207A68A600D3B0C8 /* KeyHandler.cpp */, + 16178AC1207A68A600D3B0C8 /* PCM.cpp */, + 16178AA1207A68A300D3B0C8 /* PipelineMerger.cpp */, + 16178A98207A68A300D3B0C8 /* Preset.cpp */, + 16178AAE207A68A400D3B0C8 /* PresetChooser.cpp */, + 16178AA5207A68A300D3B0C8 /* PresetFactory.cpp */, + 16178ABA207A68A500D3B0C8 /* PresetFactoryManager.cpp */, + 16178A9B207A68A300D3B0C8 /* PresetLoader.cpp */, + 16178AB8207A68A500D3B0C8 /* TimeKeeper.cpp */, + 16178AB6207A68A400D3B0C8 /* timer.cpp */, + 16178ABC207A68A500D3B0C8 /* wipemalloc.cpp */, + ); + name = libProjectM; + sourceTree = ""; + }; + 16178AF6207A691100D3B0C8 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 16178AF7207A691100D3B0C8 /* OpenGL.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 16178B3F207A6FD900D3B0C8 /* Renderer */ = { + isa = PBXGroup; + children = ( + 166854412105E4C20042793A /* etc */, + 1687172220C33DDF00947E7E /* headers */, + 168C689F20BB265D000AFC1B /* hlslparser */, + 166854202105E4BC0042793A /* BeatDetect.cpp */, + 166854222105E4BD0042793A /* Filters.cpp */, + 1668542D2105E4BD0042793A /* MilkdropWaveform.cpp */, + 1668541B2105E4BC0042793A /* PerlinNoise.cpp */, + 166854232105E4BD0042793A /* PerPixelMesh.cpp */, + 166854252105E4BD0042793A /* Pipeline.cpp */, + 1668542C2105E4BD0042793A /* PipelineContext.cpp */, + 1668542B2105E4BD0042793A /* Renderable.cpp */, + 166854282105E4BD0042793A /* Renderer.cpp */, + 166854212105E4BC0042793A /* RenderItemDistanceMetric.cpp */, + 1668541C2105E4BC0042793A /* RenderItemMatcher.cpp */, + 1668541F2105E4BC0042793A /* Shader.cpp */, + 166854292105E4BD0042793A /* ShaderEngine.cpp */, + 1668542A2105E4BD0042793A /* Texture.cpp */, + 166854242105E4BD0042793A /* TextureManager.cpp */, + 1668541D2105E4BC0042793A /* VideoEcho.cpp */, + 166854262105E4BD0042793A /* Waveform.cpp */, + ); + name = Renderer; + sourceTree = ""; + }; + 166854412105E4C20042793A /* etc */ = { + isa = PBXGroup; + children = ( + 1612C9E4207A85DC00862A3A /* etc1_utils.c */, + 1612C9E6207A85DC00862A3A /* image_DXT.c */, + 1612C9E7207A85DC00862A3A /* image_helper.c */, + 1612C9E5207A85DC00862A3A /* SOIL2.c */, + ); + name = etc; + sourceTree = ""; + }; + 1687172220C33DDF00947E7E /* headers */ = { + isa = PBXGroup; + children = ( + 1687172820C33DF300947E7E /* BeatDetect.hpp */, + 1687172920C33DF300947E7E /* Filters.hpp */, + 1687172D20C33DF300947E7E /* MilkdropWaveform.hpp */, + 1687172E20C33DF300947E7E /* PerlinNoise.hpp */, + 1687173420C33DF400947E7E /* PerPixelMesh.hpp */, + 1687173520C33DF400947E7E /* Pipeline.hpp */, + 1687172620C33DF300947E7E /* PipelineContext.hpp */, + 1687172420C33DF300947E7E /* Renderable.hpp */, + 1687174D20C33E1000947E7E /* RenderContext.hpp */, + 1687172C20C33DF300947E7E /* Renderer.hpp */, + 1687172A20C33DF300947E7E /* RenderItemDistanceMetric.hpp */, + 1687172720C33DF300947E7E /* RenderItemMatcher.hpp */, + 1687173320C33DF300947E7E /* RenderItemMergeFunction.hpp */, + 1687172B20C33DF300947E7E /* Shader.hpp */, + 1687173620C33DF400947E7E /* ShaderEngine.hpp */, + 1687172320C33DF300947E7E /* TextureManager.hpp */, + 1687173220C33DF300947E7E /* Transformation.hpp */, + 1687172F20C33DF300947E7E /* VideoEcho.hpp */, + 1687173020C33DF300947E7E /* Waveform.hpp */, + ); + name = headers; + sourceTree = ""; + }; + 168C689F20BB265D000AFC1B /* hlslparser */ = { + isa = PBXGroup; + children = ( + 168C689520BB1FE0000AFC1B /* CodeWriter.cpp */, + 168C688F20BB1FDF000AFC1B /* Engine.cpp */, + 168C689120BB1FDF000AFC1B /* GLSLGenerator.cpp */, + 168C689220BB1FDF000AFC1B /* HLSLParser.cpp */, + 168C689420BB1FE0000AFC1B /* HLSLTokenizer.cpp */, + 168C689320BB1FE0000AFC1B /* HLSLTree.cpp */, + ); + name = hlslparser; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 1612C9A2207A855D00862A3A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1612CA30207B9ED500862A3A /* CValue.hpp in Headers */, + 1612CA2D207B9ED500862A3A /* CustomWave.hpp in Headers */, + 1612CA3B207B9ED500862A3A /* Param.hpp in Headers */, + 1612CA34207B9ED500862A3A /* PerPixelEqn.hpp in Headers */, + 1612CA2C207B9ED500862A3A /* MilkdropPresetFactory.hpp in Headers */, + 1612CA2A207B9ED500862A3A /* BuiltinFuncs.hpp in Headers */, + 1612CA36207B9ED500862A3A /* PerFrameEqn.hpp in Headers */, + 1612CA32207B9ED500862A3A /* Eval.hpp in Headers */, + 1612CA35207B9ED500862A3A /* IdlePreset.hpp in Headers */, + 1612CA3A207B9ED500862A3A /* InitCond.hpp in Headers */, + 1612CA3C207B9ED500862A3A /* ParamUtils.hpp in Headers */, + 1612CA37207B9ED500862A3A /* Parser.hpp in Headers */, + 1612CA33207B9ED500862A3A /* InitCondUtils.hpp in Headers */, + 1612CA31207B9ED500862A3A /* Func.hpp in Headers */, + 1612CA2B207B9ED500862A3A /* Expr.hpp in Headers */, + 1612CA29207B9ED500862A3A /* PerPointEqn.hpp in Headers */, + 1612CA38207B9ED500862A3A /* PresetFrameIO.hpp in Headers */, + 1612CA2E207B9ED500862A3A /* CustomShape.hpp in Headers */, + 1612CA2F207B9ED500862A3A /* BuiltinParams.hpp in Headers */, + 1612CA39207B9ED500862A3A /* MilkdropPreset.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1612C9AA207A856A00862A3A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16178B10207A6F4000D3B0C8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1687174320C33DF400947E7E /* PerlinNoise.hpp in Headers */, + 1687173820C33DF400947E7E /* TextureManager.hpp in Headers */, + 1687173B20C33DF400947E7E /* PipelineContext.hpp in Headers */, + 1687173E20C33DF400947E7E /* Filters.hpp in Headers */, + 1687174920C33DF400947E7E /* PerPixelMesh.hpp in Headers */, + 1687174720C33DF400947E7E /* Transformation.hpp in Headers */, + 1687173D20C33DF400947E7E /* BeatDetect.hpp in Headers */, + 1687173F20C33DF400947E7E /* RenderItemDistanceMetric.hpp in Headers */, + 1687174E20C33E1000947E7E /* RenderContext.hpp in Headers */, + 1687174B20C33DF400947E7E /* ShaderEngine.hpp in Headers */, + 1687173C20C33DF400947E7E /* RenderItemMatcher.hpp in Headers */, + 1687174A20C33DF400947E7E /* Pipeline.hpp in Headers */, + 1687174120C33DF400947E7E /* Renderer.hpp in Headers */, + 1687173920C33DF400947E7E /* Renderable.hpp in Headers */, + 1687174020C33DF400947E7E /* Shader.hpp in Headers */, + 1687174820C33DF400947E7E /* RenderItemMergeFunction.hpp in Headers */, + 1687174520C33DF400947E7E /* Waveform.hpp in Headers */, + 1687174220C33DF400947E7E /* MilkdropWaveform.hpp in Headers */, + 1687174420C33DF400947E7E /* VideoEcho.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16A49E55207A7C8C00E508EA /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1612CA03207A878900862A3A /* glew.h in Headers */, + 1612CA0A207A878900862A3A /* dlldefs.h in Headers */, + 1612CA02207A878900862A3A /* glError.h in Headers */, + 1612CA08207A878900862A3A /* timer.h in Headers */, + 1612CA01207A878900862A3A /* fatal.h in Headers */, + 1612CA04207A878900862A3A /* lvtoprojectM.h in Headers */, + 1612C9FF207A878900862A3A /* event.h in Headers */, + 1612CA05207A878900862A3A /* ConfigFile.h in Headers */, + 1612CA0C207A878900862A3A /* win32-dirent.h in Headers */, + 1612CA0F207A878900862A3A /* resource.h in Headers */, + 1612CA00207A878900862A3A /* cocoatoprojectM.h in Headers */, + 1612CA07207A878900862A3A /* wipemalloc.h in Headers */, + 1612CA06207A878900862A3A /* sdltoprojectM.h in Headers */, + 1612CA09207A878900862A3A /* fftsg.h in Headers */, + 1612CA0E207A878900862A3A /* projectM-opengl.h in Headers */, + 1612CA0B207A878900862A3A /* glxew.h in Headers */, + 1612CA0D207A878900862A3A /* carbontoprojectM.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 1612C9A3207A855D00862A3A /* MilkdropPresetFactory */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1612C9A5207A855D00862A3A /* Build configuration list for PBXNativeTarget "MilkdropPresetFactory" */; + buildPhases = ( + 1612C9A0207A855D00862A3A /* Sources */, + 1612C9A1207A855D00862A3A /* Frameworks */, + 1612C9A2207A855D00862A3A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MilkdropPresetFactory; + productName = MilkdropPresetFactory; + productReference = 1612C9A4207A855D00862A3A /* libMilkdropPresetFactory.a */; + productType = "com.apple.product-type.library.static"; + }; + 1612C9AB207A856A00862A3A /* NativePresetFactory */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1612C9AD207A856A00862A3A /* Build configuration list for PBXNativeTarget "NativePresetFactory" */; + buildPhases = ( + 1612C9A8207A856A00862A3A /* Sources */, + 1612C9A9207A856A00862A3A /* Frameworks */, + 1612C9AA207A856A00862A3A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = NativePresetFactory; + productName = NativePresetFactory; + productReference = 1612C9AC207A856A00862A3A /* libNativePresetFactory.a */; + productType = "com.apple.product-type.library.static"; + }; + 16178B11207A6F4000D3B0C8 /* Renderer */ = { + isa = PBXNativeTarget; + buildConfigurationList = 16178B13207A6F4000D3B0C8 /* Build configuration list for PBXNativeTarget "Renderer" */; + buildPhases = ( + 16178B0E207A6F4000D3B0C8 /* Sources */, + 16178B0F207A6F4000D3B0C8 /* Frameworks */, + 16178B10207A6F4000D3B0C8 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Renderer; + productName = Renderer; + productReference = 16178B12207A6F4000D3B0C8 /* libRenderer.a */; + productType = "com.apple.product-type.library.static"; + }; + 16A49E56207A7C8C00E508EA /* projectM */ = { + isa = PBXNativeTarget; + buildConfigurationList = 16A49E58207A7C8C00E508EA /* Build configuration list for PBXNativeTarget "projectM" */; + buildPhases = ( + 16A49E53207A7C8C00E508EA /* Sources */, + 16A49E54207A7C8C00E508EA /* Frameworks */, + 16A49E55207A7C8C00E508EA /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = projectM; + productName = libprojectM; + productReference = 16A49E57207A7C8C00E508EA /* libprojectM.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 161789B8207A675B00D3B0C8 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = MVSTG; + TargetAttributes = { + 1612C9A3207A855D00862A3A = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + 1612C9AB207A856A00862A3A = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + 16178B11207A6F4000D3B0C8 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + 16A49E56207A7C8C00E508EA = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 161789BB207A675B00D3B0C8 /* Build configuration list for PBXProject "libprojectM" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 161789B7207A675B00D3B0C8; + productRefGroup = 161789C1207A675B00D3B0C8 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 16178B11207A6F4000D3B0C8 /* Renderer */, + 16A49E56207A7C8C00E508EA /* projectM */, + 1612C9A3207A855D00862A3A /* MilkdropPresetFactory */, + 1612C9AB207A856A00862A3A /* NativePresetFactory */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 1612C9A0207A855D00862A3A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1612C9CD207A859800862A3A /* MilkdropPreset.cpp in Sources */, + 1612C9CF207A859800862A3A /* BuiltinFuncs.cpp in Sources */, + 1612C9C2207A859800862A3A /* Func.cpp in Sources */, + 1612C9CA207A859800862A3A /* PresetFrameIO.cpp in Sources */, + 1612C9C5207A859800862A3A /* Eval.cpp in Sources */, + 1612C9D1207A859800862A3A /* PerPointEqn.cpp in Sources */, + 1612C9C7207A859800862A3A /* IdlePreset.cpp in Sources */, + 1612C9D0207A859800862A3A /* Param.cpp in Sources */, + 1612C9CC207A859800862A3A /* InitCond.cpp in Sources */, + 1612C9C8207A859800862A3A /* CustomWave.cpp in Sources */, + 1612C9C9207A859800862A3A /* CustomShape.cpp in Sources */, + 1612C9CE207A859800862A3A /* PerFrameEqn.cpp in Sources */, + 1612C9C4207A859800862A3A /* BuiltinParams.cpp in Sources */, + 1612C9D2207A859800862A3A /* Expr.cpp in Sources */, + 1612C9C6207A859800862A3A /* Parser.cpp in Sources */, + 1612C9C3207A859800862A3A /* MilkdropPresetFactory.cpp in Sources */, + 1612C9CB207A859800862A3A /* PerPixelEqn.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1612C9A8207A856A00862A3A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1612C9D5207A85B300862A3A /* NativePresetFactory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16178B0E207A6F4000D3B0C8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 166854442105E4FC0042793A /* image_helper.c in Sources */, + 166854452105E4FC0042793A /* SOIL2.c in Sources */, + 166854462105E4FC0042793A /* BeatDetect.hpp in Sources */, + 166854482105E4FC0042793A /* Filters.hpp in Sources */, + 1668544B2105E4FC0042793A /* PerlinNoise.hpp in Sources */, + 1668544C2105E4FC0042793A /* PerPixelMesh.hpp in Sources */, + 1668544D2105E4FC0042793A /* Pipeline.hpp in Sources */, + 1668544E2105E4FC0042793A /* PipelineContext.hpp in Sources */, + 1668544F2105E4FC0042793A /* Renderable.hpp in Sources */, + 166854502105E4FC0042793A /* RenderContext.hpp in Sources */, + 166854512105E4FC0042793A /* Renderer.hpp in Sources */, + 166854522105E4FC0042793A /* RenderItemDistanceMetric.hpp in Sources */, + 166854532105E4FC0042793A /* RenderItemMatcher.hpp in Sources */, + 166854542105E4FC0042793A /* RenderItemMergeFunction.hpp in Sources */, + 166854552105E4FC0042793A /* Shader.hpp in Sources */, + 166854572105E4FC0042793A /* ShaderEngine.hpp in Sources */, + 166854582105E4FC0042793A /* TextureManager.hpp in Sources */, + 166854592105E4FD0042793A /* Transformation.hpp in Sources */, + 1668545B2105E4FD0042793A /* VideoEcho.hpp in Sources */, + 1668545C2105E4FD0042793A /* Waveform.hpp in Sources */, + 1668545D2105E4FD0042793A /* CodeWriter.cpp in Sources */, + 1668545E2105E4FD0042793A /* Engine.cpp in Sources */, + 1668545F2105E4FD0042793A /* GLSLGenerator.cpp in Sources */, + 166854612105E4FD0042793A /* HLSLParser.cpp in Sources */, + 166854622105E4FD0042793A /* HLSLTokenizer.cpp in Sources */, + 166854632105E4FD0042793A /* HLSLTree.cpp in Sources */, + 166854652105E4FD0042793A /* BeatDetect.cpp in Sources */, + 166854662105E4FD0042793A /* Filters.cpp in Sources */, + 166854682105E4FD0042793A /* MilkdropWaveform.cpp in Sources */, + 166854692105E4FD0042793A /* PerlinNoise.cpp in Sources */, + 1668546A2105E4FD0042793A /* PerPixelMesh.cpp in Sources */, + 1668546B2105E4FD0042793A /* Pipeline.cpp in Sources */, + 1668546C2105E4FD0042793A /* PipelineContext.cpp in Sources */, + 1668546D2105E4FD0042793A /* Renderable.cpp in Sources */, + 1668546F2105E4FD0042793A /* Renderer.cpp in Sources */, + 166854702105E4FD0042793A /* RenderItemDistanceMetric.cpp in Sources */, + 166854712105E4FD0042793A /* RenderItemMatcher.cpp in Sources */, + 166854722105E4FD0042793A /* Shader.cpp in Sources */, + 166854732105E4FD0042793A /* ShaderEngine.cpp in Sources */, + 166854742105E4FD0042793A /* Texture.cpp in Sources */, + 166854752105E4FD0042793A /* TextureManager.cpp in Sources */, + 166854762105E4FD0042793A /* VideoEcho.cpp in Sources */, + 166854772105E4FD0042793A /* Waveform.cpp in Sources */, + 166854422105E4EC0042793A /* etc1_utils.c in Sources */, + 166854432105E4EF0042793A /* image_DXT.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 16A49E53207A7C8C00E508EA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 16A49E5E207A7CAE00E508EA /* ConfigFile.cpp in Sources */, + 16A49E62207A7CAE00E508EA /* fftsg.cpp in Sources */, + 16A49E69207A7CAE00E508EA /* PCM.cpp in Sources */, + 1612C9EC207A860000862A3A /* KeyHandler.cpp in Sources */, + 16A49E6B207A7CAE00E508EA /* PipelineMerger.cpp in Sources */, + 16A49E6D207A7CAE00E508EA /* Preset.cpp in Sources */, + 16A49E6F207A7CAE00E508EA /* PresetChooser.cpp in Sources */, + 16A49E71207A7CAE00E508EA /* PresetFactory.cpp in Sources */, + 16A49E73207A7CAE00E508EA /* PresetFactoryManager.cpp in Sources */, + 16A49E75207A7CAE00E508EA /* PresetLoader.cpp in Sources */, + 16A49E78207A7CAE00E508EA /* projectM.cpp in Sources */, + 16A49E7D207A7CAE00E508EA /* TimeKeeper.cpp in Sources */, + 16A49E7F207A7CAE00E508EA /* timer.cpp in Sources */, + 16A49E81207A7CAE00E508EA /* wipemalloc.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1612C9A6207A855D00862A3A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + 1612C9A7207A855D00862A3A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Release; + }; + 1612C9AE207A856A00862A3A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + 1612C9AF207A856A00862A3A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Release; + }; + 161789C2207A675B00D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 1; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "GL_SILENCE_DEPRECATION=1", + "USE_THREADS=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../..", + "$(SRCROOT)/Renderer", + "$(SRCROOT)/", + "$(inherited)", + /usr/local/include, + "$(SRCROOT)/Renderer/hlslparser/src", + ); + LIBRARY_SEARCH_PATHS = /Library/Frameworks; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ""; + }; + name = Debug; + }; + 161789C3207A675B00D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "USE_THREADS=1", + "GL_SILENCE_DEPRECATION=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../..", + "$(SRCROOT)/Renderer", + "$(SRCROOT)/", + "$(inherited)", + /usr/local/include, + "$(SRCROOT)/Renderer/hlslparser/src", + ); + LIBRARY_SEARCH_PATHS = /Library/Frameworks; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ""; + }; + name = Release; + }; + 16178B14207A6F4000D3B0C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + "GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = ( + "DATADIR_PATH=\\\"\".\"\\\"", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 16178B15207A6F4000D3B0C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DATADIR_PATH=\\\"\"/usr/local/share/projectM\"\\\"", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 16A49E59207A7C8C00E508EA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + "$(USER_LIBRARY_DIR)/Frameworks", + "$(PROJECT_DIR)", + "$(SRCROOT)", + ); + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = projectM; + }; + name = Debug; + }; + 16A49E5A207A7C8C00E508EA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + "$(USER_LIBRARY_DIR)/Frameworks", + "$(PROJECT_DIR)", + "$(SRCROOT)", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_NAME = projectM; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1612C9A5207A855D00862A3A /* Build configuration list for PBXNativeTarget "MilkdropPresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1612C9A6207A855D00862A3A /* Debug */, + 1612C9A7207A855D00862A3A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1612C9AD207A856A00862A3A /* Build configuration list for PBXNativeTarget "NativePresetFactory" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1612C9AE207A856A00862A3A /* Debug */, + 1612C9AF207A856A00862A3A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 161789BB207A675B00D3B0C8 /* Build configuration list for PBXProject "libprojectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 161789C2207A675B00D3B0C8 /* Debug */, + 161789C3207A675B00D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16178B13207A6F4000D3B0C8 /* Build configuration list for PBXNativeTarget "Renderer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16178B14207A6F4000D3B0C8 /* Debug */, + 16178B15207A6F4000D3B0C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 16A49E58207A7C8C00E508EA /* Build configuration list for PBXNativeTarget "projectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 16A49E59207A7C8C00E508EA /* Debug */, + 16A49E5A207A7C8C00E508EA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 161789B8207A675B00D3B0C8 /* Project object */; +} diff --git a/src/projectM-engine/lvtoprojectM.h b/src/libprojectM/lvtoprojectM.h similarity index 100% rename from src/projectM-engine/lvtoprojectM.h rename to src/libprojectM/lvtoprojectM.h diff --git a/src/libprojectM/omptl/Example.cpp b/src/libprojectM/omptl/Example.cpp new file mode 100644 index 0000000000..2872ac6d46 --- /dev/null +++ b/src/libprojectM/omptl/Example.cpp @@ -0,0 +1,42 @@ +#include + +#include +#include + +#include +#include +#include +#include + +const unsigned N = 100 * (1 << 20); + +template +struct Sqrt +{ + T operator()(const T &x) const { return std::sqrt(x); } +}; + +int main (int argc, char * const argv[]) +{ + // Number of threads is derived from environment + // variable "OMP_NUM_THREADS" + std::cout << "Threads: " << omp_get_max_threads() << std::endl; + + std::vector v1(N); + + omptl::generate(v1.begin(), v1.end(), std::rand); + omptl::sort(v1.begin(), v1.end()); + omptl::random_shuffle(v1.begin(), v1.end()); + + std::vector v2(N); + omptl::transform(v1.begin(), v1.end(), v2.begin(), Sqrt()); + std::cout << "Nr 3's: " << omptl::count(v2.begin(), v2.end(), 3) + << std::endl; + std::cout << "Sum: " + << omptl::accumulate(v2.begin(), v2.end(), 0) << std::endl; + + std::cout << *v1.begin() << std::endl; + + return 0; +} + diff --git a/src/libprojectM/omptl/License.txt b/src/libprojectM/omptl/License.txt new file mode 100644 index 0000000000..8add30ad59 --- /dev/null +++ b/src/libprojectM/omptl/License.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/src/libprojectM/omptl/omptl b/src/libprojectM/omptl/omptl new file mode 100644 index 0000000000..1c845959a1 --- /dev/null +++ b/src/libprojectM/omptl/omptl @@ -0,0 +1,54 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#ifndef OMPTL +#define OMPTL 1 + +#ifndef _OPENMP + #define par_generate generate +#else + +#ifdef OMPTL_NO_DEBUG + #define OMPTL_ASSERT(X) +#else + #include + #define OMPTL_ASSERT(X) assert(X) +#endif + +// For debugging +#ifndef _OMPTL_DEBUG_NO_OMP + #include +#else + #define omp_get_max_threads() (2) +#endif + +#endif /* ifndef _OPENMP */ + +struct _Pfunc +{ + static unsigned Pfunc() + { + #ifdef _OPENMP + assert(omp_get_max_threads() > 0); + return omp_get_max_threads(); + #else + return 0; + #endif + } +}; + +#endif /* OMPTL */ diff --git a/src/libprojectM/omptl/omptl_algorithm b/src/libprojectM/omptl/omptl_algorithm new file mode 100644 index 0000000000..c34b4a1442 --- /dev/null +++ b/src/libprojectM/omptl/omptl_algorithm @@ -0,0 +1,561 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +#ifndef OMPTL_ALGORITHM +#define OMPTL_ALGORITHM 1 + +#include +#include "omptl" + +namespace omptl +{ + +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator copy(InputIterator first, InputIterator last, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, + BidirectionalIterator1 last, + BidirectionalIterator2 result, + const unsigned P = _Pfunc::Pfunc()); + +/* + * Note: implementation assumes that + * ::std::iterator_traits::difference_type(0) will + * return a difference_type representing zero. + */ +template +typename ::std::iterator_traits::difference_type +count(InputIterator first, InputIterator last, const EqualityComparable& value, + const unsigned P = _Pfunc::Pfunc()); + +template +void count(InputIterator first, InputIterator last, + const EqualityComparable& value, + Size& n, const unsigned P = _Pfunc::Pfunc()); + +template +typename InputIterator::difference_type +count_if(InputIterator first, InputIterator last, Predicate pred, + const unsigned P = _Pfunc::Pfunc()); + +template +void count_if(InputIterator first, InputIterator last, + Predicate pred, Size& n, const unsigned P = _Pfunc::Pfunc()); + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P = _Pfunc::Pfunc()); + +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +template +void fill(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator fill_n(OutputIterator first, Size n, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +/* + * find suffers from a loss of efficiency when executed in parallel! + */ +template +InputIterator find(InputIterator first, InputIterator last, + const EqualityComparable& value, + const unsigned P = _Pfunc::Pfunc()); + +/* + * find_if suffers from a loss of efficiency when executed in parallel! + */ +template +InputIterator find_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator1 +find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate comp, const unsigned P = _Pfunc::Pfunc() ); + +template +ForwardIterator1 find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P = _Pfunc::Pfunc() ); + +/* + * find_first_of suffers from a loss of efficiency when executed in parallel! + */ +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + BinaryPredicate comp, + const unsigned P = _Pfunc::Pfunc()); + +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + const unsigned P = _Pfunc::Pfunc()); + +// Calls to UnaryFunction f must be completely independent +template +UnaryFunction for_each(InputIterator first, InputIterator last, UnaryFunction f, + const unsigned P = _Pfunc::Pfunc()); + +// Not parallellized, Generator is explicitly allowed and expected to return +// different results on subsequent calls. Order is therefor respected unless +// the programmer explicitly accepts responsibility and calls par_generate. +template +void generate(ForwardIterator first, ForwardIterator last, Generator gen); + +template +void par_generate(ForwardIterator first, ForwardIterator last, Generator gen, + const unsigned P = _Pfunc::Pfunc()); + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +// Warning: includes loses some efficiency in parallel. +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + StrictWeakOrdering comp, const unsigned P = _Pfunc::Pfunc()); + +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + const unsigned P = _Pfunc::Pfunc()); + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + BinaryPredicate comp, + const unsigned P = _Pfunc::Pfunc()); + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator +lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, + BinaryPredicate binary_pred, const unsigned P = _Pfunc::Pfunc()); + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, + const unsigned P = _Pfunc::Pfunc()); + +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void partial_sort(RandomAccessIterator first, + RandomAccessIterator middle, + RandomAccessIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +void partial_sort(RandomAccessIterator first, + RandomAccessIterator middle, + RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +RandomAccessIterator +partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, + RandomAccessIterator result_last, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +RandomAccessIterator +partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, + RandomAccessIterator result_last, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator partition(ForwardIterator first, ForwardIterator last, + Predicate pred, + const unsigned P = _Pfunc::Pfunc()); + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator +stable_partition(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P = _Pfunc::Pfunc()); + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + RandomNumberGenerator &rgen, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator remove(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, + Predicate pred, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator remove_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator remove_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const unsigned P = _Pfunc::Pfunc()); + +template +void replace(ForwardIterator first, ForwardIterator last, const T& old_value, + const T& new_value, const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator replace_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& old_value, + const T& new_value, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator replace_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const T& new_value, + const unsigned P = _Pfunc::Pfunc()); + +template +void replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, + const T& new_value, + const unsigned P = _Pfunc::Pfunc()); + +template +void reverse(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator reverse_copy(BidirectionalIterator first, + BidirectionalIterator last, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator rotate( ForwardIterator first, ForwardIterator middle, + ForwardIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator rotate_copy(ForwardIterator first, ForwardIterator middle, + ForwardIterator last, OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +// search suffers from a loss of efficiency when executed in parallel! +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, + BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P = _Pfunc::Pfunc()); + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, BinaryPredicate binary_pred, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, + const unsigned P = _Pfunc::Pfunc()); + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, + const unsigned P = _Pfunc::Pfunc()); + +} // namespace omptl + +#ifdef _OPENMP + #include "omptl_algorithm_par.h" +#else + #include "omptl_algorithm_ser.h" +#endif + +#endif /* OMPTL_ALGORITHM */ diff --git a/src/libprojectM/omptl/omptl_algorithm_par.h b/src/libprojectM/omptl/omptl_algorithm_par.h new file mode 100644 index 0000000000..2b33564c47 --- /dev/null +++ b/src/libprojectM/omptl/omptl_algorithm_par.h @@ -0,0 +1,2133 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +#include +#include +#include +#include + +#include "omptl_tools.h" +#include "omptl_numeric" + +#include + +namespace omptl +{ + +/* + * Not (yet) paralellized due to data dependance. + */ +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + return ::std::adjacent_find(first, last); +} + +/* + * Not (yet) paralellized due to data dependance. + */ +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::adjacent_find(first, last, binary_pred); +} + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + return ::std::binary_search(first, last, value, comp); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + bool result = 0; + #pragma omp parallel for reduction(|:result) + for (int t = 0; t < int(P); ++t) + result |= ::std::binary_search(partitions[t].first, + partitions[t].second, + value, comp); + + return result; +} + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::binary_search(first, last, value, ::std::less()); +} + +template +struct Copy_ +{ + template + static IteratorOut _copy(IteratorIn first, IteratorIn last, + IteratorOut result, const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::copy(first, last, result); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first, last, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, result, + dest_partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + IteratorOut tmp; + *( (t == int(P-1)) ? &result : &tmp ) + = ::std::copy(source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t]); + } + + return result; + } +}; + +template +struct Copy_< ::std::input_iterator_tag, IteratorOutTag > +{ + template + static OutputIterator _copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) + { + return ::std::copy(first, last, result); + } +}; + +template +struct Copy_ +{ + template + static OutputIterator _copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) + { + return ::std::copy(first, last, result); + } +}; + +template +OutputIterator copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ + return ::omptl::Copy_< + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category> + ::_copy(first, last, result, P); +} + +template +BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, + BidirectionalIterator1 last, + BidirectionalIterator2 result, + const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + return ::std::copy_backward(first, last, result); + + ::std::vector< ::std::pair > source_partitions(P); + ::omptl::_partition_range(first, last, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, result, + dest_partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + BidirectionalIterator2 tmp; + *( (t == int(P-1)) ? &result : &tmp ) = + ::std::copy_backward( source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t] ); + } + + return result; +} + +template +struct Count_ +{ + template + static typename ::std::iterator_traits::difference_type + count(Iterator first, Iterator last, const EqualityComparable& value, + const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::count(first, last, value); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + typename ::std::iterator_traits::difference_type + result = 0; + #pragma omp parallel for reduction(+:result) + for (int t = 0; t < int(P); ++t) + result += ::std::count( partitions[t].first, + partitions[t].second, value ); + + return result; + } +}; + +template <> +struct Count_< ::std::input_iterator_tag > +{ + template + static typename ::std::iterator_traits::difference_type + count(Iterator first, Iterator last, const EqualityComparable& value, + const unsigned P) + { + return ::std::count(first, last, value); + } +}; + +template +typename ::std::iterator_traits::difference_type +count(InputIterator first, InputIterator last, + const EqualityComparable& value, const unsigned P) +{ + return ::omptl::Count_::iterator_category>:: + count(first, last, value, P); +} + +template +void count(InputIterator first, InputIterator last, + const EqualityComparable& value, Size& n, const unsigned P) +{ + n = ::omptl::count(first, last, value, P); +} + + +template +struct Count_if_ +{ + template + static typename ::std::iterator_traits::difference_type + count_if(Iterator first, Iterator last, Predicate pred, + const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::count_if(first, last, pred); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + typename ::std::iterator_traits::difference_type + result = 0; + + #pragma omp parallel for reduction(+:result) + for (int t = 0; t < int(P); ++t) + result += ::std::count_if(partitions[t].first, + partitions[t].second, pred); + + return result; + } +}; + +template <> +struct Count_if_< ::std::input_iterator_tag > +{ + template + typename ::std::iterator_traits::difference_type + static count_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P) + { + return ::std::count_if(first, last, pred); + } +}; + +template +typename ::std::iterator_traits::difference_type +count_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P) +{ + return ::omptl::Count_if_::iterator_category>:: + count_if(first, last, pred, P); +} + +template +void count_if(InputIterator first, InputIterator last, + Predicate pred, Size& n, const unsigned P) +{ + n = ::omptl::count_if(first, last, pred, P); +} + +template +struct Equal_ +{ + template + static bool _equal(Iterator1 first1, Iterator1 last1, + Iterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::equal(first1, last1, first2, binary_pred); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first1, last1, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, first2, + dest_partitions, P); + + bool result = true; + #pragma omp parallel for reduction(&:result) + for (int t = 0; t < int(P); ++t) + result &= ::std::equal( source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t],binary_pred); + + return result; + } +}; + +template +struct Equal_ +{ + template + static bool _equal(InputIterator1 first1, InputIterator1 last1, + Iterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::equal(first1, last1, first2, binary_pred); + } +}; + +template +struct Equal_ +{ + template + static bool _equal(Iterator1 first1, Iterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::equal(first1, last1, first2, binary_pred); + } +}; + +template<> +struct Equal_ +{ + template + static bool _equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::equal(first1, last1, first2, binary_pred); + } +}; + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, const unsigned P) +{ +// return ::std::equal(first1, last1, first2, binary_pred); + + return ::omptl::Equal_< + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category> + ::_equal(first1, last1, first2, binary_pred, P); +} + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + + return ::omptl::equal(first1, last1, first2, ::std::equal_to()); +} + +//TODO +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::equal_range(first, last, value, comp); +} + +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + + return ::omptl::equal_range(first, last, value, ::std::less(), P); +} + +template +void fill(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + assert(P > 0u); + if (_linear_serial_is_faster(first, last, P)) + { + ::std::fill(first, last, value); + return; + } + assert(std::distance(first, last) >= 0); + assert(2*(int)P <= std::distance(first, last)); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::fill(partitions[t].first, partitions[t].second, value); +} + +template +struct Fill_n_ +{ + template + static Iterator fill_n(Iterator first, Size n, const T& value, + const unsigned P) + { + assert(P > 0u); + Iterator last = first; + std::advance(last, n); + if (_linear_serial_is_faster(first, last, P)) + return ::std::fill_n(first, n, value); + + const Size range = (n / P) + ( (n % P) ? 1 : 0 ); + ::std::vector ranges(P); + ::std::fill_n(ranges.begin(), P - 1, range); + ranges[P - 1] = n - (P - 1) * range; + + ::std::vector partitions(P); + partitions[0] = first; + for (unsigned int i = 1; i < P; ++i) + { + partitions[i] = partitions[i - 1]; + ::std::advance(partitions[i], range); + } + + Iterator result; + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + Iterator tmp; + *( (t == int(P-1)) ? &result : &tmp ) + = ::std::fill_n(partitions[t], + ranges[t], value); + } + + return result; + } +}; + +template <> +struct Fill_n_< ::std::output_iterator_tag > +{ + template + static OutputIterator fill_n(OutputIterator first, Size n, + const T& value, const unsigned P) + { + return ::std::fill_n(first, n, value); + } +}; + +template +OutputIterator fill_n(OutputIterator first, Size n, + const T& value, const unsigned P) +{ + return ::omptl::Fill_n_::iterator_category>:: + fill_n(first, n, value, P); +} + + +template +struct Find_ +{ + template + static Iterator find(Iterator first, Iterator last, + const EqualityComparable& value, + const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::find(first, last, value); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + results[t] = ::std::find(partitions[t].first, + partitions[t].second, value); + if (results[t] == partitions[t].second) + results[t] = last; + } + + typename std::vector::iterator result = + ::std::find_if(results.begin(),results.end(), + ::std::bind2nd(::std::not_equal_to(), last) ); + + if ( result != results.end() ) + return *result; + + return last; + } +}; + +template <> +struct Find_< ::std::input_iterator_tag > +{ + template + static InputIterator find(InputIterator first, InputIterator last, + const EqualityComparable& value, const unsigned P) + { + return std::find(first, last, value); + } +}; + +template +InputIterator find(InputIterator first, InputIterator last, + const EqualityComparable& value, const unsigned P) +{ + return ::omptl::Find_< typename + ::std::iterator_traits::iterator_category>:: + find(first, last, value, P); +} + +template +struct Find_if_ +{ + template + static Iterator find_if(Iterator first, Iterator last, Predicate pred, + const unsigned P, IteratorTag) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::find_if(first, last, pred); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + results[t] = ::std::find_if(partitions[t].first, + partitions[t].second, pred); + + if (results[t] == partitions[t].second) + results[t] = last; + } + + const typename ::std::vector::iterator result + = ::std::find_if(results.begin(), results.end(), + ::std::bind2nd(::std::not_equal_to(), last) ); + + if ( result != results.end() ) + return *result; + + return last; + } +}; + +template <> +struct Find_if_< ::std::input_iterator_tag > +{ + template + static InputIterator _find_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P) + { + return ::std::find_if(first, last, pred); + } +}; + +template +InputIterator find_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P) +{ + return ::omptl::Find_if_::iterator_category>:: + find_if(first, last, pred, P); +} + +// TODO +template +ForwardIterator1 find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate comp, const unsigned P) +{ + return ::std::find_end(first1, last1, first2, last2, comp); +} + +template +ForwardIterator1 find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P) +{ +// typedef typename ::std::iterator_traits::value_type VT; +// return ::omptl::find_end(first1, last1, first2, last2, ::std::less()); + return ::std::find_end(first1, last1, first2, last2); +} + +// find_first_of suffers from a loss of efficiency, and potentially a loss of +// performance when executed in parallel! +template +struct Find_first_of_ +{ + template + static Iterator + find_first_of(Iterator first1, Iterator last1, + ForwardIterator first2, ForwardIterator last2, + BinaryPredicate comp, const unsigned P) + { + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::find_first_of(first1, last1, + first2, last2, comp); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first1, last1, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + results[t] = ::std::find_first_of(partitions[t].first, + partitions[t].second, + first2, last2, comp); + if (results[t] == partitions[t].second) + results[t] = last1; + } + + const typename ::std::vector::iterator result + = ::std::find_if(results.begin(),results.end(), + ::std::bind2nd(::std::not_equal_to(), last1)); + + if ( result != results.end() ) + return *result; + + return last1; + } +}; + +template <> +struct Find_first_of_< ::std::input_iterator_tag > +{ + template + static InputIterator + find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + BinaryPredicate comp, const unsigned P) + { + return ::std::find_first_of(first1, last1, first2, last2, comp); + } +}; + +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + BinaryPredicate comp, const unsigned P) +{ + return ::omptl::Find_first_of_::iterator_category>:: + find_first_of(first1, last1, first2, last2, comp, P); +} + +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::find_first_of(first1, last1, first2, last2, + ::std::equal_to()); +} + +template +struct For_each_ +{ + template + static UnaryFunction for_each(Iterator first, Iterator last, + UnaryFunction f, const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::for_each(first, last, f); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::for_each(partitions[t].first, + partitions[t].second, f); + + return f; + } +}; + +template <> +struct For_each_< ::std::input_iterator_tag > +{ + template + static UnaryFunction for_each(InputIterator first, InputIterator last, + UnaryFunction f, const unsigned P) + { + return ::std::for_each(first, last, f); + } +}; + +template +UnaryFunction for_each(InputIterator first, InputIterator last, + UnaryFunction f, const unsigned P) +{ + return ::omptl::For_each_::iterator_category>:: + for_each(first, last, f, P); +} + +template +void generate(ForwardIterator first, ForwardIterator last, Generator gen) +{ + ::std::generate(first, last, gen); +} + +template +void par_generate(ForwardIterator first, ForwardIterator last, + Generator gen, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + { + ::std::generate(first, last, gen); + return; + } + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::generate(partitions[t].first, partitions[t].second, gen); +} + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::push_heap(first, last, comp); +} + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ +// ::std::less::value_type>(), + return ::std::push_heap(first, last); +} + +template +inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::pop_heap(first, last, comp); +} + +template +inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ +// ::std::less::value_type> + return ::std::pop_heap(first, last); +} + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::make_heap(first, last, comp); +} + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ +// ::std::less::value_type>(), + return ::std::make_heap(first, last); +} + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::sort_heap(first, last, comp); +} + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ +// ::std::less::value_type> + return ::std::sort_heap(first, last); +} + +template +struct Includes_ +{ + template + static bool includes(Iterator1 first1, Iterator1 last1, + Iterator2 first2, Iterator2 last2, + StrictWeakOrdering comp, const unsigned P) + { + if (_linear_serial_is_faster(first2, last2, P)) + return ::std::includes(first1, last1, + first2, last2, comp); + + /* + * Includes is parallelized by splitting the second range + * (needles), rather than the first (the haystack). + */ + ::std::vector< ::std::pair >partitions(P); + ::omptl::_partition_range(first2, last2, partitions, P); + + bool result = true; + + // Hence, all needles should be found in the haystack + #pragma omp parallel for reduction(&:result) + for (int t = 0; t < int(P); ++t) + result &= ::std::includes(first1, last1, + partitions[t].first, + partitions[t].second, comp); + + return result; + } +}; + +template +struct Includes_< ::std::input_iterator_tag, Iterator2Tag > +{ + template + static bool includes(InputIterator1 first1, InputIterator1 last1, + Iterator2 first2, Iterator2 last2, + StrictWeakOrdering comp, const unsigned P) + { + return ::std::includes(first1, last1, first2, last2, comp); + } +}; + +template +struct Includes_ +{ + template + static bool includes(Iterator1 first1, Iterator1 last1, + InputIterator2 first2, InputIterator2 last2, + StrictWeakOrdering comp, const unsigned P) + { + return ::std::includes(first1, last1, first2, last2, comp); + } +}; + +template <> +struct Includes_< ::std::input_iterator_tag, ::std::input_iterator_tag > +{ + template + static bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + StrictWeakOrdering comp, const unsigned P) + { + return ::std::includes(first1, last1, first2, last2, comp); + } +}; + +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + StrictWeakOrdering comp, const unsigned P) +{ + typedef typename + ::std::iterator_traits::iterator_category IC1; + typedef typename + ::std::iterator_traits::iterator_category IC2; + + return ::omptl::Includes_ + ::includes(first1, last1, first2, last2, comp, P); +} + +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::includes(first1, last1, first2, last2, + ::std::less()); +} + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + BinaryPredicate comp, const unsigned P) +{ + return ::std::lexicographical_compare(first1, last1, + first2, last2, comp); +} + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + const unsigned P) +{ +// ::std::less::value_type> + return ::std::lexicographical_compare(first1, last1, first2, last2); +} + +template +ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, + const unsigned P) +{ + if (_logn_serial_is_faster(first, last, P)) + return ::std::lower_bound(first, last, value, comp); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::lower_bound(partitions[t].first, + partitions[t].second, + value, comp); + + const typename ::std::vector::iterator result = + ::std::find_if(results.begin(), results.end(), + ::std::bind2nd(::std::not_equal_to(), last) ); + + if (result != results.end()) + return *result; + + return last; +} + +template +ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + return ::omptl::lower_bound(first, last, value, ::std::less(), P); +} + +// Not parallelized, dependencies between data. +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::merge(first1, last1, first2, last2, result, comp); +} + +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ +// ::std::less::value_type> + return ::std::merge(first1, last1, first2, last2, result); +} + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + return ::std::min_element(first, last, comp); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::min_element(partitions[t].first, + partitions[t].second, comp); + + ForwardIterator result = results[0]; + for (unsigned int i = 1; i < P; ++i) + if ( (result != last) && (results[i] != last) && + comp(*results[i], *result) ) + result = results[i]; + + return result; +} + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + typedef typename + ::std::iterator_traits::value_type value_type; + return ::omptl::min_element(first, last, ::std::less(), P); +} + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + return ::std::max_element(first, last, comp); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::max_element(partitions[t].first, + partitions[t].second, comp); + + ForwardIterator result = results[0]; + for (unsigned int i = 1; i < P; ++i) + { + if ( (result != last) && (results[i] != last) && + comp(*result, *results[i]) ) + result = results[i]; + } + + return result; +} + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + typedef typename + ::std::iterator_traits::value_type value_type; + return ::omptl::max_element(first, last, ::std::less(), P); +} + +template +struct Mismatch_ +{ + template + static ::std::pair + mismatch(Iterator1 first1, Iterator1 last1, Iterator2 first2, + BinaryPredicate binary_pred, const unsigned P) + { + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::mismatch(first1, last1, + first2, binary_pred); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first1, last1, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, first2, + dest_partitions, P); + + ::std::vector< ::std::pair > results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::mismatch(source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t], + binary_pred); + + // This could have been done more elegantly with select1st + for (unsigned int i = 0; i < P - 1; ++i) + if (results[i].first != source_partitions[i].second) + return results[i]; + + return results[P - 1]; + } +}; + + +template +struct Mismatch_ +{ + template + static ::std::pair + mismatch(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::mismatch(first1, last1, first2, binary_pred); + } +}; + +template +struct Mismatch_< ::std::input_iterator_tag, Iterator2Tag > +{ + template + static ::std::pair + mismatch(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::mismatch(first1, last1, first2, binary_pred); + } +}; + +template <> +struct Mismatch_< ::std::input_iterator_tag, ::std::input_iterator_tag > +{ + template + static ::std::pair + mismatch(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) + { + return ::std::mismatch(first1, last1, first2, binary_pred); + } +}; + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::omptl::Mismatch_< + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category>:: + mismatch(first1, last1, first2, binary_pred, P); +} + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::mismatch(first1, last1, first2,::std::equal_to(),P); +} + +// TODO How can this be parallelized ? +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::nth_element(first, nth, last, comp); +} + +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, const unsigned P) +{ +// typedef typename +// ::std::iterator_traits::value_type +// ::std::less + + ::std::nth_element(first, nth, last); +} + +template +void partial_sort(RandomAccessIterator first, + RandomAccessIterator middle, + RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + const typename + ::std::iterator_traits::difference_type + N = ::std::distance(first, last); + assert(N >= 0); + + if (2*(int)P < N) + { + ::omptl::_pivot_range(first, last, *middle); + ::omptl::sort(first, middle, comp, P); + } + else + ::std::partial_sort(first, last, middle); +} + +template +void partial_sort(RandomAccessIterator first, RandomAccessIterator middle, + RandomAccessIterator last, const unsigned P) +{ + + typedef typename + ::std::iterator_traits::value_type VT; + ::omptl::partial_sort(first, middle, last, ::std::less(), P); +} + + +// Not parallelized due to dependencies. +template +RandomAccessIterator +partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, + RandomAccessIterator result_last, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::partial_sort_copy(first, last, + result_first, result_last, comp); +} + +// Not parallelized due to dependencies. +template +RandomAccessIterator +partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, + RandomAccessIterator result_last, const unsigned P) +{ +// ::std::less::value_type>(), + + return ::std::partial_sort_copy(first, last, + result_first, result_last); +} + +// Not (yet) parallelized, not straightforward due to possible dependencies +// between subtasks. +template +ForwardIterator partition(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::partition(first, last, pred); +} + +// Not (yet) parallelized, not straightforward due to possible dependencies +// between subtasks. +template +ForwardIterator stable_partition(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::stable_partition(first, last, pred); +} + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::next_permutation(first, last, comp); +} + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ +// ::std::less::value_type> + return ::std::next_permutation(first, last); +} + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::prev_permutation(first, last, comp); +} + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ +// ::std::less::value_type>(), + return ::std::prev_permutation(first, last); +} + + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + ::std::random_shuffle(first, last); +} + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + RandomNumberGenerator& rgen, const unsigned P) +{ + ::std::random_shuffle(first, last, rgen); +} + +// Not (yet) parallelized, not straightforward due to possible dependencies +// between subtasks. +template +ForwardIterator remove( ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + return ::std::remove(first, last, value); +} + +// Not (yet) parallelized, not straightforward due to possible dependencies +// between subtasks. +template +ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::remove_if(first, last, pred); +} + +// Not parallelized due to possible complications with OutputIterators. +// No par_remove_copy exists due to possible dependencies between subtasks. +template +OutputIterator remove_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& value, + const unsigned P) +{ + return ::std::remove_copy(first, last, result, value); +} + +// Not parallelized due to possible complications with OutputIterators. +// No par_remove_copy_if exists due to possible dependencies between subtasks. +template +OutputIterator remove_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const unsigned P) +{ + return ::std::remove_copy(first, last, result, pred); +} + +template +void replace(ForwardIterator first, ForwardIterator last, const T& old_value, + const T& new_value, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + { + ::std::replace(first, last, old_value, new_value); + return; + } + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::replace(partitions[t].first, partitions[t].second, + old_value, new_value); +} + +template +struct Replace_copy_if_ +{ + template + static Iterator2 + replace_copy_if(Iterator1 first, Iterator1 last, + Iterator2 result, Predicate pred, + const T& new_value, const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::replace_copy_if(first, last, result, + pred, new_value); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first, last, source_partitions, P); + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, result, + dest_partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + Iterator2 tmp; + *( (t == int(P-1)) ? &result : &tmp ) + = ::std::replace_copy_if( + source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t], + pred, new_value); + } + + return result; + } + +}; + +template +struct Replace_copy_if_< ::std::input_iterator_tag, Iterator2Tag> +{ + template + static Iterator2 + replace_copy_if(Iterator1 first, Iterator1 last, + Iterator2 result, Predicate pred, + const T& new_value, const unsigned P) + { + return ::std::replace_copy_if(first, last, result, + pred, new_value); + } +}; + +template +struct Replace_copy_if_< Iterator1Tag, ::std::output_iterator_tag> +{ + template + static OutputIterator + replace_copy_if(Iterator1 first, Iterator1 last, + OutputIterator result, Predicate pred, + const T& new_value, const unsigned P) + { + return ::std::replace_copy_if(first, last, result, + pred, new_value); + } +}; + +template <> +struct Replace_copy_if_< ::std::input_iterator_tag, ::std::output_iterator_tag> +{ + template + static OutputIterator + replace_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const T& new_value, const unsigned P) + { + return ::std::replace_copy_if(first, last, result, + pred, new_value); + } +}; + +template +OutputIterator replace_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const T& new_value, const unsigned P) +{ + return ::omptl::Replace_copy_if_< + typename ::std::iterator_traits< InputIterator>::iterator_category, + typename ::std::iterator_traits::iterator_category> + ::replace_copy_if(first, last, result, pred, new_value, P); +} + +template +OutputIterator replace_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& old_value, + const T& new_value, const unsigned P) +{ + return ::omptl::replace_copy_if(first, last, result, + ::std::bind2nd(::std::equal_to(), old_value), + new_value, P); +} + +template +void replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, + const T& new_value, const unsigned P) +{ + if (_linear_serial_is_faster(first, last, P)) + return ::std::replace_if(first, last, pred, new_value); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::replace_if(partitions[t].first, partitions[t].second, + pred, new_value); +} + +// TODO +template +void reverse(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ + ::std::reverse(first, last); +} + +// TODO +template +OutputIterator reverse_copy(BidirectionalIterator first, + BidirectionalIterator last, + OutputIterator result, + const unsigned P) +{ + return ::std::reverse_copy(first, last, result); +} + +// TODO +template +ForwardIterator rotate( ForwardIterator first, ForwardIterator middle, + ForwardIterator last, + const unsigned P) +{ + return ::std::rotate(first, middle, last); +} + +// TODO +template +OutputIterator rotate_copy(ForwardIterator first, ForwardIterator middle, + ForwardIterator last, OutputIterator result, + const unsigned P) +{ + return ::std::rotate(first, middle, last, result); +} +/* +This can't be right - partitioning the range might cut valid subsequences +in [first1-last1] +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate binary_pred, const unsigned P) +{ + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::search(first1, last1, first2, last2, + binary_pred); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first1, last1, partitions, P); + + ::std::vector results(P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + results[t] = ::std::search(partitions[t].first, + partitions[t].second, + first2, last2, binary_pred); + + + } + + const typename ::std::vector::iterator + result = ::std::find_if(results.begin(), results.end(), + ::std::bind2nd(::std::not_equal_to(), + last1)); + + if (result != results.end()) + return *result; + + return last1; +} +*/ + +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::search(first1, last1, first2, last2, binary_pred); +} + +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P) +{ +// typedef typename +// ::std::iterator_traits::value_type VT; +// return ::omptl::search(first1, last1, first2, last2, +// ::std::equal_to(), P); + + return ::std::search(first1, last1, first2, last2); +} + +// TODO +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::search_n(first, last, count, value, binary_pred); +} + +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, const unsigned P) +{ +// ::std::equal_to::value_type> + return ::std::search_n(first, last, count, value); +} + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_difference(first1, last1, + first2, last2, result, comp); +} + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_difference(first1, last1, first2, last2, result); +} + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_intersection( first1, last1, + first2, last2, result, comp); +} + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_intersection( first1, last1, first2, last2, result); +} + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_symmetric_difference( first1, last1, + first2, last2, result, comp); +} + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_symmetric_difference( first1, last1, + first2, last2, result); +} + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_union(first1, last1, first2, last2, result, comp); +} + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_union(first1, last1, first2, last2, result); +} + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + if ( ::omptl::_nlogn_serial_is_faster(first, last, P) ) + { + ::std::sort(first, last, comp); + return; + } + + // Generate pivots + typedef typename + ::std::iterator_traits::value_type value_type; + + ::std::vector pivots; + _find_pivots(first, last, pivots, P); + + // Sort sufficiently to respect pivot order + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range_by_pivots(first, last, pivots, + partitions, comp, P); + + // Sort + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + ::std::sort(partitions[t].first, partitions[t].second, comp); +} + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + typedef typename + ::std::iterator_traits::value_type VT; + ::omptl::sort(first, last, std::less(), P); +} + +/* +template +void _par_stable_sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + if ( ::omptl::_nlogn_serial_is_faster(first, last, P) ) + { + ::std::stable_sort(first, last, comp); + return; + } + + // Generate pivots + ::std::vector::value_type> + pivots; + _find_pivots(first, last, pivots, P); + + // Sort sufficiently to respect pivot order + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range_stable_by_pivots(first, last, pivots, + partitions, comp, P); + + // Sort + #pragma omp parallel for // default(none) shared(partitions) + for (int t = 0; t < int(P); ++t) + ::std::stable_sort(partitions[t].first, + partitions[t].second, comp); +} + +template +void _stable_sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::stable_sort(first, last, comp); +} + +template +void _stable_sort(RandomAccessIterator first, RandomAccessIterator last, + std::less::value_type> + comp, const unsigned P) +{ + ::omptl::_par_stable_sort(first, last, comp, P); +} + +// template +// void _stable_sort(RandomAccessIterator first, RandomAccessIterator last, +// std::greater< +// typename ::std::iterator_traits::value_type> comp, +// const unsigned P) +// { +// ::omptl::_par_stable_sort(first, last, comp, P); +// } +*/ + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::stable_sort(first, last, comp); +} + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + typedef typename + ::std::iterator_traits::value_type VT; + ::omptl::stable_sort(first, last, std::less(), P); +} + +template +ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, const unsigned P) +{ + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::swap_ranges(first1, last1, first2); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first1, last1, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, first2, + dest_partitions, P); + + ForwardIterator2 result; + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + ForwardIterator2 tmp; + *( (t == int(P-1)) ? &result : &tmp ) + = ::std::swap_ranges(source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t]); + } + + return result; +} + +template +struct Transform_ +{ + template + static IteratorOut transform(IteratorIn first, IteratorIn last, + IteratorOut result, UnaryFunction op, + const unsigned P) + { + if (_linear_serial_is_faster(first, last, P)) + return ::std::transform(first, last, result, op); + + ::std::vector< ::std::pair > + source_partitions(P); + ::omptl::_partition_range(first, last, source_partitions, P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions, result, + dest_partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + IteratorOut tmp; + *( (t == int(P-1)) ? &result : &tmp ) + = ::std::transform(source_partitions[t].first, + source_partitions[t].second, + dest_partitions[t], op); + } + + return result; + } +}; + +template +struct Transform_ +{ + template + static OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P) + { + return ::std::transform(first, last, result, op); + } +}; + +template +struct Transform_< ::std::input_iterator_tag, IteratorOutTag > +{ + template + OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P) + { + return ::std::transform(first, last, result, op); + } +}; + +template <> +struct Transform_< ::std::input_iterator_tag, ::std::output_iterator_tag > +{ + template + OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P) + { + return ::std::transform(first, last, result, op); + } +}; + +template +OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P) +{ + return ::omptl::Transform_< + typename ::std::iterator_traits< InputIterator>::iterator_category, + typename ::std::iterator_traits::iterator_category>:: + transform(first, last, result, op, P); +} + +template +struct Transform2_ +{ + template + static IteratorOut transform(Iterator1 first1, Iterator1 last1, + Iterator2 first2, IteratorOut result, + BinaryFunction binary_op, const unsigned P) + { + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::transform(first1, last1, first2, + result, binary_op); + + ::std::vector< ::std::pair > + source_partitions1(P); + ::omptl::_partition_range(first1, last1, source_partitions1, P); + + ::std::vector source_partitions2(P); + ::omptl::_copy_partitions(source_partitions1, first2, + source_partitions2 , P); + + ::std::vector dest_partitions(P); + ::omptl::_copy_partitions(source_partitions1, result, + dest_partitions, P); + + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + { + IteratorOut tmp; + *( (t == int(P-1)) ? &result : &tmp ) = + ::std::transform(source_partitions1[t].first, + source_partitions1[t].second, + source_partitions2[t], + dest_partitions[t], binary_op); + } + + return result; + } +}; + +template +struct Transform2_< ::std::input_iterator_tag, Iterator2Tag, IteratorOutTag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +struct Transform2_< Iterator1Tag, ::std::input_iterator_tag, IteratorOutTag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +struct Transform2_< Iterator1Tag, Iterator2Tag, ::std::output_iterator_tag> +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +struct Transform2_< ::std::input_iterator_tag, + ::std::input_iterator_tag, IteratorOutTag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +struct Transform2_< Iterator1Tag, ::std:: input_iterator_tag, + ::std::output_iterator_tag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +struct Transform2_< ::std:: input_iterator_tag, Iterator2Tag, + ::std::output_iterator_tag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template <> +struct Transform2_< ::std:: input_iterator_tag, ::std:: input_iterator_tag, + ::std::output_iterator_tag > +{ + template + static OutputIterator + transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) + { + return ::std::transform(first1, last1, first2, + result, binary_op); + } +}; + +template +OutputIterator transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) +{ + return ::omptl::Transform2_< + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category>:: + transform(first1, last1, first2, result, binary_op, P); +} + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::unique(first, last, binary_pred); +} + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ +// ::std::equal_to::value_type>(), + return ::std::unique(first, last); +} + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, BinaryPredicate binary_pred, + const unsigned P) +{ + return ::std::unique_copy(first, last, result, binary_pred); +} + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ +// ::std::equal_to::value_type>(), + return ::std::unique_copy(first, last, result); +} + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, + const unsigned P) +{ + if (_logn_serial_is_faster(first, last, P)) + return ::std::upper_bound(first, last, value, comp); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::upper_bound(partitions[t].first, + partitions[t].second, + value, comp); + + // There has to be a better way... + for (unsigned int i = P - 1; i > 0; --i) + if (results[i] != partitions[i].second) + return results[i]; + + return results[0]; +} + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::upper_bound(first, last, value, ::std::less(), P); +} + +} /* namespace omptl */ + diff --git a/src/libprojectM/omptl/omptl_algorithm_ser.h b/src/libprojectM/omptl/omptl_algorithm_ser.h new file mode 100644 index 0000000000..61c5966900 --- /dev/null +++ b/src/libprojectM/omptl/omptl_algorithm_ser.h @@ -0,0 +1,771 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +namespace omptl +{ + +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + return ::std::adjacent_find(first, last); +} + +template +ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::adjacent_find(first, last, binary_pred); +} + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::binary_search(first, last, value, comp); +} + +template +bool binary_search(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P) +{ + return ::std::binary_search(first, last, value); +} + +template +OutputIterator copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ + return ::std::copy(first, last, result); +} + +template +BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, + BidirectionalIterator1 last, + BidirectionalIterator2 result, + const unsigned P) +{ + return ::std::copy_backward(first, last, result); +} + +template +typename ::std::iterator_traits::difference_type +count(InputIterator first, InputIterator last, const EqualityComparable& value, + const unsigned P) +{ + return ::std::count(first, last, value); +} + +template +void count(InputIterator first, InputIterator last, + const EqualityComparable& value, Size& n, const unsigned P) +{ + return ::std::count_if(first, last, value, n); +} + +template +typename InputIterator::difference_type +count_if(InputIterator first, InputIterator last, Predicate pred, + const unsigned P) +{ + return ::std::count_if(first, last, pred); +} + +template +void count_if(InputIterator first, InputIterator last, + Predicate pred, Size& n, const unsigned P) +{ + return ::std::count_if(first, last, pred, n); +} + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate binary_pred, + const unsigned P) +{ + return ::std::equal(first1, last1, first2, binary_pred); +} + +template +bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P) +{ + return ::std::equal(first1, last1, first2); +} + +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::equal_range(first, last, value, comp); +} + +template +::std::pair +equal_range(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P) +{ + return ::std::equal_range(first, last, value); +} + +template +void fill(ForwardIterator first, ForwardIterator last, const T& value, + const unsigned P) +{ + ::std::fill(first, last, value); +} + +template +OutputIterator fill_n(OutputIterator first, Size n, const T& value, + const unsigned P) +{ + return ::std::fill_n(first, n, value); +} + +template +InputIterator find(InputIterator first, InputIterator last, + const EqualityComparable& value, const unsigned P) +{ + return ::std::find(first, last, value); +} + +template +InputIterator find_if(InputIterator first, InputIterator last, + Predicate pred, const unsigned P) +{ + return ::std::find_if(first, last, pred); +} + +template +ForwardIterator1 find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate comp, const unsigned P) +{ + return ::std::find_end(first1, last1, first2, last2, comp); +} + +template +ForwardIterator1 find_end(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P) +{ + return ::std::find_end(first1, last1, first2, last2); +} + +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + BinaryPredicate comp, const unsigned P) +{ + return ::std::find_first_of(first1, last1, first2, last2, comp); +} + +template +InputIterator find_first_of(InputIterator first1, InputIterator last1, + ForwardIterator first2, ForwardIterator last2, + const unsigned P) +{ + return ::std::find_first_of(first1, last1, first2, last2); +} + +template +UnaryFunction for_each(InputIterator first, InputIterator last, UnaryFunction f, + const unsigned P) +{ + return ::std::for_each(first, last, f); +} + +template +void generate(ForwardIterator first, ForwardIterator last, Generator gen) +{ + ::std::generate(first, last, gen); +} + +template +void par_generate(ForwardIterator first, ForwardIterator last, Generator gen, + const unsigned P) +{ + ::std::generate(first, last, gen); +} + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::push_heap(first, last, comp); +} + +template +void push_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + ::std::push_heap(first, last); +} + +template +void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::pop_heap(first, last, comp); +} + +template +void pop_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + ::std::pop_heap(first, last); +} + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::make_heap(first, last, comp); +} + +template +void make_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + ::std::make_heap(first, last); +} + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + ::std::sort_heap(first, last, comp); +} + +template +void sort_heap(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + ::std::sort_heap(first, last); +} + +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::includes(first1, last1, first2, last2, comp); +} + +template +bool includes(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, const unsigned P) +{ + return ::std::includes(first1, last1, first2, last2); +} + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + BinaryPredicate comp, const unsigned P) +{ + return ::std::lexicographical_compare(first1, last1, first2, last2, comp); +} + +template +bool lexicographical_compare(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + const unsigned P) +{ + return ::std::lexicographical_compare(first1, last1, first2, last2); +} + +template +ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, const unsigned P) +{ + return ::std::lower_bound(first, last, value, comp); +} + +template +ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + return ::std::lower_bound(first, last, value); +} + +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::mismatch(first1, last1, first2, last2, result, comp); +} + +template +OutputIterator merge(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::mismatch(first1, last1, first2, last2, result); +} + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, const unsigned P) +{ + return ::std::min_element(first, last, comp); +} + +template +ForwardIterator min_element(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + return ::std::min_element(first, last); +} + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + BinaryPredicate comp, const unsigned P) +{ + return ::std::max_element(first, last, comp); +} + +template +ForwardIterator max_element(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + return ::std::max_element(first, last); +} + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::mismatch(first1, last1, first2, binary_pred); +} + +template +::std::pair +mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, + const unsigned P) +{ + return ::std::mismatch(first1, last1, first2); +} + +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::nth_element(first, nth, last, comp); +} + +template +void nth_element(RandomAccessIterator first, RandomAccessIterator nth, + RandomAccessIterator last, const unsigned P) +{ + return ::std::nth_element(first, nth, last); +} + +template +void partial_sort(RandomAccessIterator first, RandomAccessIterator middle, + RandomAccessIterator last, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::partial_sort(first, middle, last, comp); +} + +template +void partial_sort(RandomAccessIterator first, RandomAccessIterator middle, + RandomAccessIterator last, const unsigned P) +{ + return ::std::partial_sort(first, middle, last); +} + +template +RandomAccessIterator partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, RandomAccessIterator result_last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::partial_sort_copy(first, last, + result_first, result_last, comp); +} + +template +RandomAccessIterator partial_sort_copy(InputIterator first, InputIterator last, + RandomAccessIterator result_first, + RandomAccessIterator result_last, const unsigned P) +{ + return ::std::partial_sort_copy(first, last, result_first, result_last); +} + +template +ForwardIterator partition(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::partition(first, last, pred); +} + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::next_permutation(first, last, comp); +} + +template +bool next_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ + return ::std::next_permutation(first, last); +} + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::prev_permutation(first, last, comp); +} + +template +bool prev_permutation(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ + return ::std::prev_permutation(first, last); +} + +template +ForwardIterator stable_partition(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::stable_partition(first, last, pred); +} + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + return ::std::random_shuffle(first, last); +} + +template +void random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + RandomNumberGenerator &rgen, const unsigned P) +{ + return ::std::random_shuffle(first, last, rgen); +} + +template +ForwardIterator remove(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + return ::std::remove(first, last, value); +} + +template +ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, + Predicate pred, const unsigned P) +{ + return ::std::remove_if(first, last, pred); +} + +template +OutputIterator remove_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& value, + const unsigned P) +{ + return ::std::remove_copy(first, last, result, value); +} + +template +OutputIterator remove_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const unsigned P) +{ + return ::std::remove_copy_if(first, last, result, pred); +} + +template +void replace(ForwardIterator first, ForwardIterator last, const T& old_value, + const T& new_value, const unsigned P) +{ + return ::std::replace(first, last, old_value, new_value); +} + +template +OutputIterator replace_copy(InputIterator first, InputIterator last, + OutputIterator result, const T& old_value, + const T& new_value, const unsigned P) +{ + return ::std::replace_copy(first, last, result, old_value, new_value); +} + +template +OutputIterator replace_copy_if(InputIterator first, InputIterator last, + OutputIterator result, Predicate pred, + const T& new_value, const unsigned P) +{ + return ::std::replace_copy_if(first, last, result, pred, new_value); +} + +template +void replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, + const T& new_value, const unsigned P) +{ + return ::std::replace_if(first, last, pred, new_value); +} + +template +void reverse(BidirectionalIterator first, BidirectionalIterator last, + const unsigned P) +{ + return ::std::reverse(first, last); +} + +template +OutputIterator reverse_copy(BidirectionalIterator first, + BidirectionalIterator last, + OutputIterator result, const unsigned P) +{ + return ::std::reverse_copy(first, last, result); +} + +template +ForwardIterator rotate( ForwardIterator first, ForwardIterator middle, + ForwardIterator last, const unsigned P) +{ + return ::std::rotate(first, middle, last); +} + +template +OutputIterator rotate_copy(ForwardIterator first, ForwardIterator middle, + ForwardIterator last, OutputIterator result, + const unsigned P) +{ + return ::std::rotate_copy(first, middle, last, result); +} + +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::search(first1, last1, first2, last2, binary_pred); +} + +template +ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + const unsigned P) +{ + return ::std::search(first1, last1, first2, last2); +} + +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::search_n(first, last, count, value, binary_pred); +} + +template +ForwardIterator search_n(ForwardIterator first, ForwardIterator last, + Integer count, const T& value, const unsigned P) +{ + return ::std::search_n(first, last, count, value); +} + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_difference(first1, last1, first2, last2, result,comp); +} + +template +OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_difference(first1, last1, first2, last2, result); +} + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_intersection(first1, last1, + first2, last2, result, comp); +} + +template +OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_intersection(first1, last1, first2, last2, result); +} + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_symmetric_difference(first1, last1, + first2, last2, result, comp); +} + +template +OutputIterator +set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_symmetric_difference(first1, last1, + first2, last2, result); +} + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::set_union(first1, last1, first2, last2, result, comp); +} + +template +OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + OutputIterator result, const unsigned P) +{ + return ::std::set_union(first1, last1, first2, last2, result); +} + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + return ::std::stable_sort(first, last); +} + +template +void stable_sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::stable_sort(first, last, comp); +} + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + const unsigned P) +{ + return ::std::sort(first, last); +} + +template +void sort(RandomAccessIterator first, RandomAccessIterator last, + StrictWeakOrdering comp, const unsigned P) +{ + return ::std::sort(first, last, comp); +} + +template +ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, const unsigned P) +{ + return ::std::swap_ranges(first1, last1, first2); +} + +template +OutputIterator transform(InputIterator first, InputIterator last, + OutputIterator result, UnaryFunction op, + const unsigned P) +{ + return ::std::transform(first, last, result, op); +} + +template +OutputIterator transform(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator result, + BinaryFunction binary_op, const unsigned P) +{ + return ::std::transform(first1, last1, first2, result, binary_op); +} + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + BinaryPredicate binary_pred, const unsigned P) +{ + return ::std::unique(first, last, binary_pred); +} + +template +ForwardIterator unique(ForwardIterator first, ForwardIterator last, + const unsigned P) +{ + return ::std::unique(first, last); +} + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, BinaryPredicate binary_pred, + const unsigned P) +{ + return ::std::unique_copy(first, last, result, binary_pred); +} + +template +OutputIterator unique_copy(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ + return ::std::unique_copy(first, last, result); +} + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, StrictWeakOrdering comp, + const unsigned P) +{ + return ::std::upper_bound(first, last, value, comp); +} + +template +ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, + const T& value, const unsigned P) +{ + return ::std::upper_bound(first, last, value); +} + +} // namespace omptl diff --git a/src/libprojectM/omptl/omptl_numeric b/src/libprojectM/omptl/omptl_numeric new file mode 100644 index 0000000000..ee27c9c9f1 --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric @@ -0,0 +1,83 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#ifndef OMPTL_NUMERIC +#define OMPTL_NUMERIC 1 + +#include +#include "omptl" + +namespace omptl +{ + +template +T accumulate(InputIterator first, InputIterator last, T init, + const unsigned P = _Pfunc::Pfunc()); + +template +T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, + const unsigned P = _Pfunc::Pfunc()); + +/* + * Not (yet) paralellized due to data dependance. + */ +template +OutputIterator +adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, BinaryFunction binary_op, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, + const unsigned P = _Pfunc::Pfunc()); + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P = _Pfunc::Pfunc()); + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + const unsigned P = _Pfunc::Pfunc()); + +// Not paralellized due to dependencies and complications with OutputIterators. +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, BinaryOperation binary_op, + const unsigned P = _Pfunc::Pfunc()); + +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P = _Pfunc::Pfunc()); + +} // namespace omptl + +#ifdef _OPENMP + #include "omptl_numeric_par.h" +#else + #include "omptl_numeric_ser.h" +#endif + +#include "omptl_numeric_extentions.h" + +#endif /* OMPTL_NUMERIC */ diff --git a/src/libprojectM/omptl/omptl_numeric_extentions.h b/src/libprojectM/omptl/omptl_numeric_extentions.h new file mode 100644 index 0000000000..8ad7719994 --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric_extentions.h @@ -0,0 +1,113 @@ +// Copyright (C) 2007 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#include + +namespace omptl +{ + +// Extentions + +template +T transform_accumulate(Iterator first, Iterator last, T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = _Pfunc::Pfunc()); + +template +T transform_accumulate(Iterator first, Iterator last, T init, + UnaryFunction unary_op, const unsigned P = _Pfunc::Pfunc()); + +// "Manhattan" distance +template +typename ::std::iterator_traits::value_type +L1(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P = _Pfunc::Pfunc()); + +// "Euclidean" distance +template +typename ::std::iterator_traits::value_type +L2(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P = _Pfunc::Pfunc()); + +// "Euclidean" length +template +typename ::std::iterator_traits::value_type +L2(InputIterator first, InputIterator last, const unsigned P = _Pfunc::Pfunc()); + +} // namespace + +#ifdef _OPENMP + #include "omptl_numeric_extentions_par.h" +#else + #include "omptl_numeric_extentions_ser.h" +#endif + +namespace omptl +{ + +// "Manhattan" distance +template +typename ::std::iterator_traits::value_type +L1(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::omptl::inner_product(first1, last1, first2, VT(0), + std::plus(), std::minus(), P); +} + +template +struct _MinusSq +{ + T operator()(const T &lhs, const T &rhs) const + { + const T d = lhs - rhs; + return d*d; + } +}; + +// "Euclidean" distance +template +typename ::std::iterator_traits::value_type +L2(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::std::sqrt(::omptl::inner_product(first1, last1, first2, VT(0), + std::plus(), _MinusSq(), P)); +} + +template +struct _Sq +{ + T operator()(const T &d) const + { + return d*d; + } +}; + +// "Euclidean" length +template +typename ::std::iterator_traits::value_type +L2(InputIterator first, InputIterator last, const unsigned P) +{ + typedef typename ::std::iterator_traits::value_type VT; + return ::std::sqrt(::omptl::transform_accumulate(first, last, VT(0), + _Sq(), std::plus(), P)); +} + +} /* namespace _OMPTL_EXTENTION_NAMESPACE */ diff --git a/src/libprojectM/omptl/omptl_numeric_extentions_par.h b/src/libprojectM/omptl/omptl_numeric_extentions_par.h new file mode 100644 index 0000000000..5d152470dd --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric_extentions_par.h @@ -0,0 +1,144 @@ +// Copyright (C) 2007 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +namespace omptl +{ + +// transform_accumulate +template +T _ser_transform_accumulate(Iterator first, Iterator last, T init, + UnaryFunction unary_op, BinaryFunction binary_op) +{ + // serial version + while (first != last) + { + init = binary_op(unary_op(*first), init); + ++first; + } + + return init; +} + +template +T _par_transform_accumulate(Iterator first, Iterator last, + const T init, const T par_init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = omp_get_max_threads()) +{ + assert(P > 0u); + if (_linear_serial_is_faster(first, last, P)) + return _ser_transform_accumulate(first, last, init, + unary_op, binary_op); + assert(2*(int)P <= std::distance(first, last)); + + ::std::vector< ::std::pair > partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = _ser_transform_accumulate(partitions[t].first, + partitions[t].second, par_init, + unary_op, binary_op); + + return ::std::accumulate(results.begin(), results.end(), + init, binary_op); +} + +template +T _transform_accumulate(Iterator first, Iterator last, + const T init, UnaryFunction unary_op, + ::std::plus binary_op, + const unsigned P = omp_get_max_threads()) +{ + return ::omptl::_par_transform_accumulate(first, last, init, + typename UnaryFunction::result_type(0), + unary_op, binary_op, P); +} + +template +T _transform_accumulate(Iterator first, Iterator last, const T init, + UnaryFunction unary_op, + ::std::multipliesbinary_op, + const unsigned P = omp_get_max_threads()) +{ + return ::omptl::_par_transform_accumulate(first, last, init, + typename UnaryFunction::result_type(1), + unary_op, binary_op, P); +} + +template +T _transform_accumulate(Iterator first, Iterator last, const T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = omp_get_max_threads()) +{ + return ::omptl::_ser_transform_accumulate(first, last, init, + unary_op,binary_op); +} + +template +struct _TransformAccumulate +{ + template + static typename BinaryFunction::result_type + transform_accumulate(Iterator first, Iterator last, const T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = omp_get_max_threads()) + { + return ::omptl::_transform_accumulate(first, last, init, + unary_op, binary_op, P); + } +}; + +template <> +struct _TransformAccumulate< ::std::input_iterator_tag > +{ + template + static typename BinaryFunction::result_type + transform_accumulate(Iterator first, Iterator last, const T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = omp_get_max_threads()) + { + return ::omptl::_ser_transform_accumulate(first, last, init, + unary_op, binary_op); + } +}; + +template +T transform_accumulate(Iterator first, Iterator last, const T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P = omp_get_max_threads()) +{ + return ::omptl::_TransformAccumulate + ::iterator_category> + ::transform_accumulate(first, last, init, + unary_op, binary_op, P); +} + +template +T transform_accumulate(Iterator first, Iterator last, + const T init, UnaryFunction unary_op, + const unsigned P=omp_get_max_threads()) +{ + typedef typename UnaryFunction::result_type RT; + return ::omptl::transform_accumulate(first, last, init, unary_op, + ::std::plus(), P); +} + +} /* namespace omptl */ diff --git a/src/libprojectM/omptl/omptl_numeric_extentions_ser.h b/src/libprojectM/omptl/omptl_numeric_extentions_ser.h new file mode 100644 index 0000000000..b71479e086 --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric_extentions_ser.h @@ -0,0 +1,46 @@ +// Copyright (C) 2007 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +namespace omptl +{ + +// transform_accumulate +template +T transform_accumulate(Iterator first, Iterator last, T init, + UnaryFunction unary_op, BinaryFunction binary_op, + const unsigned P) +{ + // serial version + while (first != last) + { + init = binary_op(unary_op(*first), init); + ++first; + } + + return init; +} + +template +T transform_accumulate(Iterator first, Iterator last, + T init, UnaryFunction unary_op, + const unsigned P) +{ + return omptl::transform_accumulate(first, last, init, unary_op, + std::plus()); +} + +} /* namespace std */ diff --git a/src/libprojectM/omptl/omptl_numeric_par.h b/src/libprojectM/omptl/omptl_numeric_par.h new file mode 100644 index 0000000000..9552691ed8 --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric_par.h @@ -0,0 +1,286 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#ifndef OMPTL_NUMERIC_H +#define OMPTL_NUMERIC_H 1 + +#include +#include +#include + +#include "omptl_algorithm" +#include "omptl_tools.h" + +namespace omptl +{ + +template +struct _Accumulate +{ + template + static T accumulate(InputIterator first, InputIterator last, T init, + T par_init, BinaryFunction binary_op, const unsigned P) + { + assert(P > 0u); + if (_linear_serial_is_faster(first, last, P)) + return ::std::accumulate(first, last, init, binary_op); + assert(2*(int)P <= std::distance(first, last)); + + ::std::vector< ::std::pair > + partitions(P); + ::omptl::_partition_range(first, last, partitions, P); + + ::std::vector results(P); + #pragma omp parallel for + for (int t = 0; t < int(P); ++t) + results[t] = ::std::accumulate( partitions[t].first, + partitions[t].second, + par_init, binary_op); + + return ::std::accumulate(results.begin(), results.end(), + init, binary_op); + } +}; + +template <> +struct _Accumulate< ::std::input_iterator_tag > +{ + template + static T accumulate(InputIterator first, InputIterator last, T init, + T par_init, BinaryFunction binary_op, const unsigned P) + { + return ::std::accumulate(first, last, init, binary_op); + } +}; + +template +struct _AccumulateOp +{ + template + static T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, const unsigned P) + { + assert(P > 0u); + return ::std::accumulate(first, last, init, binary_op); + } +}; + +template +struct _AccumulateOp::value_type> > +{ + typedef ::std::plus::value_type> + BinaryFunction; + + template + static T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, const unsigned P) + { + assert(P > 0u); + return ::omptl::_Accumulate< typename + ::std::iterator_traits::iterator_category>:: + accumulate(first, last, init, T(0), binary_op, P); + } +}; + +template +struct _AccumulateOp::value_type> > +{ + typedef ::std::multiplies::value_type> + BinaryFunction; + + template + static T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, const unsigned P) + { + assert(P > 0u); + return ::omptl::_Accumulate::iterator_category>:: + accumulate(first, last, init, T(1), binary_op, P); + } +}; + +template +T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, const unsigned P) +{ + assert(P > 0u); + return ::omptl::_AccumulateOp:: + accumulate(first, last, init, binary_op, P); +} + +template +T accumulate(InputIterator first, InputIterator last, T init, const unsigned P) +{ + assert(P > 0u); + typedef typename std::iterator_traits::value_type VT; + + return ::omptl::accumulate(first, last, init, std::plus(), P); +} + +template +OutputIterator adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, + BinaryFunction binary_op, const unsigned P) +{ + return ::std::adjacent_difference(first, last, result, binary_op); +} + +template +OutputIterator adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ +// ::std::minus::value_type>() + return ::std::adjacent_difference(first, last, result); +} + +template +struct _InnerProduct +{ + template + static T inner_product( InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, + BinaryFunction2 binary_op2, const unsigned P) + { + return ::std::inner_product(first1, last1, first2, init, + binary_op1, binary_op2); + } + + template + static T inner_product(Iterator1 first1, Iterator1 last1, + Iterator2 first2, T init, + ::std::plus binary_op1, + BinaryFunction2 binary_op2, const unsigned P) + { + assert(P > 0u); + if (_linear_serial_is_faster(first1, last1, P)) + return ::std::inner_product(first1, last1, first2, + init, binary_op1, binary_op2); + + assert(2*(int)P <= std::distance(first1, last1)); + + ::std::vector< ::std::pair > + partitions1(P); + ::omptl::_partition_range(first1, last1, partitions1, P); + ::std::vector partitions2(P); + ::omptl::_copy_partitions(partitions1, first2, partitions2, P); + + #pragma omp parallel for reduction(+:init) + for (int t = 0; t < int(P); ++t) + init += ::std::inner_product( partitions1[t].first, + partitions1[t].second, + partitions2[t], T(0.0), + binary_op1, binary_op2); + + return init; + } +}; + +template +struct _InnerProduct< ::std::input_iterator_tag, Iterator2Tag> +{ + template + static T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P) + { + return ::std::inner_product(first1, last1, first2, init, + binary_op1, binary_op2); + } +}; + +template +struct _InnerProduct +{ + template + static T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P) + { + return ::std::inner_product(first1, last1, first2, init, + binary_op1, binary_op2); + } +}; + +template <> +struct _InnerProduct< ::std::input_iterator_tag, ::std::input_iterator_tag > +{ + template + static T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P) + { + return ::std::inner_product(first1, last1, first2, init, + binary_op1, binary_op2); + } +}; + + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P) +{ + return _InnerProduct< + typename ::std::iterator_traits::iterator_category, + typename ::std::iterator_traits::iterator_category> + ::inner_product(first1, last1, first2, init, + binary_op1, binary_op2, P); +} + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, const unsigned P) +{ + return ::omptl::inner_product(first1, last1, first2, init, + ::std::plus(), ::std::multiplies(), P); +} + +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, BinaryOperation binary_op, + const unsigned P) +{ + return ::std::partial_sum(first, last, result, binary_op); +} + +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ +// ::std::plus::value_type>(), + return ::std::partial_sum(first, last, result); +} + +} // namespace omptl + +#endif /* OMPTL_NUMERIC_H */ diff --git a/src/libprojectM/omptl/omptl_numeric_ser.h b/src/libprojectM/omptl/omptl_numeric_ser.h new file mode 100644 index 0000000000..393bc46955 --- /dev/null +++ b/src/libprojectM/omptl/omptl_numeric_ser.h @@ -0,0 +1,87 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +namespace omptl +{ + +template +T accumulate(InputIterator first, InputIterator last, T init, + const unsigned P) +{ + return ::std::accumulate(first, last, init); +} + +template +T accumulate(InputIterator first, InputIterator last, T init, + BinaryFunction binary_op, const unsigned P) +{ + return ::std::accumulate(first, last, init, binary_op); +} + +/* + * Not (yet) paralellized due to data dependance. + */ +template +OutputIterator adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, BinaryFunction binary_op, + const unsigned P) +{ + return ::std::adjacent_difference(first, last, result, binary_op); +} + +template +OutputIterator adjacent_difference(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ + return ::std::adjacent_difference(first, last, result); +} + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, + BinaryFunction1 binary_op1, BinaryFunction2 binary_op2, + const unsigned P) +{ + return ::std::inner_product(first1, last1, first2, init, + binary_op1, binary_op2); +} + +template +T inner_product(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, T init, const unsigned P) +{ + return ::std::inner_product(first1, last1, first2, init); +} + +// Not paralellized due to dependencies and complications with OutputIterators. +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, BinaryOperation binary_op, + const unsigned P) +{ + return ::std::partial_sum(first, last, result, binary_op); +} + +template +OutputIterator partial_sum(InputIterator first, InputIterator last, + OutputIterator result, const unsigned P) +{ + return ::std::partial_sum(first, last, result); +} + +} // namespace omptl diff --git a/src/libprojectM/omptl/omptl_tools.h b/src/libprojectM/omptl/omptl_tools.h new file mode 100644 index 0000000000..a27c4d4779 --- /dev/null +++ b/src/libprojectM/omptl/omptl_tools.h @@ -0,0 +1,399 @@ +// Copyright (C) 2006 Fokko Beekhof +// Email contact: Fokko.Beekhof@cui.unige.ch + +// The OMPTL library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +#ifndef OMPTL_TOOLS_H +#define OMPTL_TOOLS_H 1 + +#include +#include +#include +#include +#include + +namespace omptl +{ + +// Log of the number of operations that is expected to run faster in a single +// thread. +const unsigned C = 12; + +template +T log2N_(T n) +{ + if (n == 0) + return 0; + + const unsigned b[] = +#if (WORD_BIT == 32) + {0x2u, 0xCu, 0xF0u, 0xFF00u, 0xFFFF0000u}; +#else // 64-bit + {0x2u, 0xCu, 0xF0u, 0xFF00u, 0xFFFF0000u, 0xFFFFFFFF00000000u}; + assert(WORD_BIT == 64); +#endif + const T S[] = {1u, 2u, 4u, 8u, 16u, 32u, 64u, 128u}; + + T result = 0u; // result of log2(v) will go here + for (int i = static_cast(sizeof(T)); i >= 0; --i) + { + if (n & b[i]) + { + n >>= S[i]; + result |= S[i]; + } + } + + return result; +} + +template +bool _linear_serial_is_faster(Iterator first, Iterator last, + const unsigned P) +{ + assert(P > 0u); + assert(::std::distance(first, last) >= 0); + const unsigned N = ::std::distance(first, last); + + return (N < 2u*P) || (log2N_(N) < C); +} + +template +bool _logn_serial_is_faster(Iterator first, Iterator last, + const unsigned P) +{ + assert(P > 0u); + assert(::std::distance(first, last) >= 0); + const unsigned N = ::std::distance(first, last); + + return (N < 2u*P) || (log2N_(N) < (1 << C)); +} + +template +bool _nlogn_serial_is_faster(Iterator first, Iterator last, + const unsigned P) +{ + assert(P > 0u); + assert(::std::distance(first, last) >= 0); + const unsigned N = ::std::distance(first, last); + + return (N < 2u*P) || (N*log2N_(N) < (1 << C)); +} + +template +void _copy_partitions(const ::std::vector< ::std::pair > + &source_partitions, Iterator2 first, + ::std::vector &dest_partitions, const unsigned P) +{ + assert(source_partitions.size() == P); + assert(dest_partitions.size() == P); + for (unsigned i = 0; i < P; ++i) + { + dest_partitions[i] = first; + + // The last "advance" is very important, it may create space + // if it is an InsertIterator or something like that. + ::std::advance(first, ::std::distance( + source_partitions[i].first, + source_partitions[i].second) ); + } +} + +// Divide a given range into P partitions +template +void _partition_range(Iterator first, Iterator last, + ::std::vector< ::std::pair > &partitions, + const unsigned P) +{ + assert(partitions.size() == P); + + typedef ::std::pair Partition; + + const unsigned N = ::std::distance(first, last); + const unsigned range = N / P + ((N%P)? 1 : 0); + assert(2u*P <= N); + assert(range <= N); + + // All but last partition have same range + Iterator currentLast = first; + ::std::advance(currentLast, range); + for (unsigned i = 0; i < P - 1; ++i) + { + partitions[i] = Partition(first, currentLast); + first = currentLast; + ::std::advance(currentLast, range); + } + + // Last range may be shorter + assert(::std::distance(first, last) <= range); + partitions[P - 1] = Partition(first, last); +} + +// Given a range, re-arrange the items such that all elements smaller than +// the pivot precede all other values. Returns an Iterator to the first +// element not smaller than the pivot. +template +Iterator _stable_pivot_range(Iterator first, Iterator last, + const typename ::std::iterator_traits::value_type pivot, + StrictWeakOrdering comp = std::less< + typename ::std::iterator_traits::value_type>()) +{ + Iterator pivotIt = last; + while (first < last) + { + if (comp(*first, pivot)) + ++first; + else + { + Iterator high = first; + while ( (++high < last) && !comp(*high, pivot) ) + /* nop */; + if (high < last) + ::std::iter_swap(first, last); + first = pivotIt = ++high; + } + } + + return pivotIt; +} + +template +Iterator _pivot_range(Iterator first, Iterator last, + const typename ::std::iterator_traits::value_type pivot, + StrictWeakOrdering comp) +{ + while (first < last) + { + if (comp(*first, pivot)) + ++first; + else + { + while ( (first < --last) && !comp(*last, pivot) ) + /* nop */; + ::std::iter_swap(first, last); + } + } + + return last; +} + +template +void _partition_range_by_pivots(Iterator first, Iterator last, + const ::std::vector::value_type> &pivots, + ::std::vector< ::std::pair > &partitions, + StrictWeakOrdering comp, const unsigned P) +{ + assert(partitions.size() == P); + typedef ::std::pair Partition; + ::std::vector ptable(P); + ::std::vector::value_type> + pvts(pivots.size()); + + ::std::vector borders; + + ::std::vector used(pivots.size()); + ::std::fill(used.begin(), used.end(), false); + + borders.push_back(first); + borders.push_back(last); + partitions[0].first = first; + partitions[0].second = last; + for (unsigned p = 1; (1 << p) <= (int)P; ++p) + { + const int PROC = (1 << p); + const int PIVOTS = (1 << (p-1)); + assert(PIVOTS <= (int)pivots.size()); + + #pragma omp parallel for //default(none) shared(used, pvts) + for (int t = 0; t < PIVOTS; ++t) + { + const int index = int(P / PROC) + + 2 * t * int(P / PROC) - 1; + assert(index < (int)pivots.size()); + assert(!used[index]); + used[index] = true; + pvts[t] = pivots[index]; +/*::std::cout << "pvts T: " << t << " --> " << index << + " " << pvts[t] << ::std::endl;*/ + } + + #pragma omp parallel for //default(none) private(comp) +// shared(ptable, pvts, partitions) + for (int t = 0; t < PIVOTS; ++t) + ptable[t] = _pivot_range(partitions[t].first, + partitions[t].second, + pvts[t], comp); + + for (int i = 0; i < PIVOTS; ++i) + { +// ::std::cout << "ADD: " << ::std::distance(first, ptable[t]) << ::std::endl; + borders.push_back(ptable[i]); + } + + ::std::sort(borders.begin(), borders.end()); + + for (unsigned i = 0; i < borders.size() - 1; ++i) + { + partitions[i].first = borders[i]; + partitions[i].second = borders[i + 1]; + } + +/*::std::cout << "PASS: " << p << ::std::endl; + for (t = 0; t < (1 << p); ++t) +::std::cout << t << ": " << ::std::distance(first, partitions[t].first) + << " - " << ::std::distance(first, partitions[t].second) + << ::std::endl;*/ + } + + for (unsigned i = 0; i < pivots.size(); ++i) + if(!used[i]) + pvts[i] = pivots[i]; + + #pragma omp parallel for // default(none) private(t, comp) +// shared(used, ptable, pvts, partitions) + for (int t = 0; t < int(pivots.size()); ++t) + if (!used[t]) + ptable[t] = _pivot_range(partitions[t].first, + partitions[t].second, + pvts[t], comp); + + + for (unsigned i = 0; i < pivots.size(); ++i) + { + if (!used[i]) + { +// ::std::cout << "LAST ADD: " << ::std::distance(first, ptable[i]) +// << ::std::endl; + borders.push_back(ptable[i]); + } + } + + ::std::sort(borders.begin(), borders.end()); + + assert(borders.size() - 1 == P); + for (unsigned i = 0; i < P; ++i) + { + partitions[i].first = borders[i]; + partitions[i].second = borders[i + 1]; + } + +// ::std::cout << "LAST: " << p << ::std::endl; +// for (t = 0; t < P; ++t) +// ::std::cout << t << ": " << ::std::distance(first, partitions[t].first) +// << " - " << ::std::distance(first, partitions[t].second) +// << ::std::endl; + +} + +template +void _partition_range_stable_by_pivots(Iterator first, Iterator last, + const ::std::vector::value_type> &pivots, + ::std::vector< ::std::pair > &partitions, + std::less::value_type> comp, + const unsigned P) +{ + typedef ::std::pair Partition; + + Iterator start = first; + for (unsigned i = 0; i < P - 1; ++i) + { + Iterator low = start; + + while (low < last) + { + // Find a value not lower than the pivot. + while( (*low < pivots[i]) && (low < last) ) + ::std::advance(low, 1); + + // Entire range scanned ? + if (low == last) break; + + // Find a value lower than the pivot, starting from + // low, working our way up. + Iterator high = low; + ::std::advance(high, 1); + while( !(*high < pivots[i]) && (high < last) ) + ::std::advance(high, 1); + + // Entire range scanned ? + if (high == last) break; + + // Swap values + assert( !(*low +void _find_pivots(RandomAccessIterator first, RandomAccessIterator last, + ::std::vector::value_type> &pivots, + const unsigned P, unsigned SAMPLE_RATIO = 10) +{ + assert(SAMPLE_RATIO > 0); + const unsigned N = ::std::distance(first, last); + assert(N >= 2u*P); + + // Adjust the constant. Erm. + while (SAMPLE_RATIO * (P + 1) > N) + SAMPLE_RATIO /= 2; + + pivots.clear(); + pivots.reserve(P - 1); + + typedef typename + ::std::iterator_traits::value_type value_type; + + ::std::vector samples; + const unsigned NSAMPLES = SAMPLE_RATIO * P + SAMPLE_RATIO; + samples.reserve(NSAMPLES); + + for (unsigned i = 0; i < NSAMPLES; ++i) + { + const unsigned offset = i * (N-1) / (NSAMPLES - 1); + assert(offset < N); + samples.push_back(*(first + offset)); +// std::cout << "offset: " << offset << " sample: " << samples[i] << std::endl; + } + assert(samples.size() == NSAMPLES); + + // Sort samples to create relative ordering in data + ::std::sort(samples.begin(), samples.end()); + + // Take pivots from sampled data + for (unsigned i = 1; i < P; ++i) + { + pivots.push_back(samples[i * samples.size() / P]); +/*std::cout << "pivot: " << i << " idx: " << (i * samples.size() / P) + << " " << pivots[i-1] << std::endl;*/ + } + assert(pivots.size() == P - 1); +} + +} // namespace omptl + +#endif /* OMPTL_TOOLS_H */ diff --git a/src/libprojectM/projectM-opengl.h b/src/libprojectM/projectM-opengl.h new file mode 100644 index 0000000000..3e565f2cd2 --- /dev/null +++ b/src/libprojectM/projectM-opengl.h @@ -0,0 +1,48 @@ +/** + Include appropriate OpenGL headers for this platform. +**/ + +#ifndef __PROJECTM_OPENGL_H__ +#define __PROJECTM_OPENGL_H__ + +// stuff that needs to be ported to newer GL calls +#define GL_TRANSITION + +// Enable openGL extra checks, better not be enabled in release build +#define OGL_DEBUG 0 + +// Unlock FPS for rendering benchmarks, it disables Vblank/Vsync and prints drawned frames count within a 5s test run +#define UNLOCK_FPS 0 + +// If a shader compilation failure occurs, it dumps shader source into /tmp instead of stderr +#define DUMP_SHADERS_ON_ERROR 0 + +#ifdef __APPLE__ +# include +# include +#elif defined(EYETUNE_WINRT) +#define GL_GLEXT_PROTOTYPES +#include +#include +#include +#include +#include +#include +#elif defined(_WIN32) +# include +#include "glew.h" +#include "wglew.h" +#else /* linux/unix/other */ +# ifdef USE_GLES +# include +# else +# if !defined(GL_GLEXT_PROTOTYPES) +# define GL_GLEXT_PROTOTYPES +# endif +# include +# include +# endif +#endif + + +#endif // __PROJECTM_OPENGL_H__ diff --git a/src/libprojectM/projectM.cpp b/src/libprojectM/projectM.cpp new file mode 100755 index 0000000000..fcda10c7e3 --- /dev/null +++ b/src/libprojectM/projectM.cpp @@ -0,0 +1,986 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2004 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +*/ + +#include "RenderItemMatcher.hpp" +#include "RenderItemMergeFunction.hpp" +#include "fatal.h" +#include "Common.hpp" + +#ifdef WIN32 +#include "dirent.h" +#endif + +#include "timer.h" +#include +#ifdef __unix__ +#include "time.h" +#endif + +#ifdef WIN32 +#include +#endif +#include "PipelineContext.hpp" +#include +#include "projectM.hpp" +#include "BeatDetect.hpp" +#include "Preset.hpp" +#include "PipelineMerger.hpp" +#include "PCM.hpp" //Sound data handler (buffering, FFT, etc.) + +#include + +#include "Renderer.hpp" +#include "PresetChooser.hpp" +#include "ConfigFile.h" +#include "TextureManager.hpp" +#include "TimeKeeper.hpp" +#include "RenderItemMergeFunction.hpp" + +#ifdef USE_THREADS +#include "pthread.h" + +#include "BackgroundWorker.h" + +pthread_t thread; +BackgroundWorkerSync worker_sync; + +#ifdef SYNC_PRESET_SWITCHES +pthread_mutex_t preset_mutex; +#endif +#endif + +projectM::~projectM() +{ +#ifdef USE_THREADS + void *status; + std::cout << "[projectM] thread "; + printf("cl"); + worker_sync.finish_up(); + printf("e"); + pthread_join(thread, &status); + printf("n"); + #ifdef SYNC_PRESET_SWITCHES + pthread_mutex_destroy( &preset_mutex ); + #endif + printf("up"); + std::cout << std::endl; +#endif + destroyPresetTools(); + + if ( renderer ) + delete ( renderer ); + if ( beatDetect ) + delete ( beatDetect ); + if ( _pcm ) { + delete ( _pcm ); + _pcm = 0; + } + + if(timeKeeper) { + delete timeKeeper; + timeKeeper = NULL; + } + + delete(_pipelineContext); + delete(_pipelineContext2); +} + +unsigned projectM::initRenderToTexture() +{ + return renderer->initRenderToTexture(); +} + +void projectM::projectM_resetTextures() +{ + renderer->ResetTextures(); +} + + +projectM::projectM ( std::string config_file, int flags) : + _pcm(0), beatDetect ( 0 ), renderer ( 0 ), _pipelineContext(new PipelineContext()), _pipelineContext2(new PipelineContext()), m_presetPos(0), + timeKeeper(NULL), m_flags(flags), _matcher(NULL), _merger(NULL) +{ + readConfig(config_file); + projectM_reset(); + projectM_resetGL(_settings.windowWidth, _settings.windowHeight); + +} + +projectM::projectM(Settings settings, int flags): + _pcm(0), beatDetect ( 0 ), renderer ( 0 ), _pipelineContext(new PipelineContext()), _pipelineContext2(new PipelineContext()), m_presetPos(0), + timeKeeper(NULL), m_flags(flags), _matcher(NULL), _merger(NULL) +{ + readSettings(settings); + projectM_reset(); + projectM_resetGL(_settings.windowWidth, _settings.windowHeight); +} + + +bool projectM::writeConfig(const std::string & configFile, const Settings & settings) { + + ConfigFile config ( configFile ); + + config.add("Mesh X", settings.meshX); + config.add("Mesh Y", settings.meshY); + config.add("Texture Size", settings.textureSize); + config.add("FPS", settings.fps); + config.add("Window Width", settings.windowWidth); + config.add("Window Height", settings.windowHeight); + config.add("Smooth Preset Duration", settings.smoothPresetDuration); + config.add("Preset Duration", settings.presetDuration); + config.add("Preset Path", settings.presetURL); + config.add("Title Font", settings.titleFontURL); + config.add("Menu Font", settings.menuFontURL); + config.add("Hard Cut Sensitivity", settings.beatSensitivity); + config.add("Aspect Correction", settings.aspectCorrection); + config.add("Easter Egg Parameter", settings.easterEgg); + config.add("Shuffle Enabled", settings.shuffleEnabled); + config.add("Soft Cut Ratings Enabled", settings.softCutRatingsEnabled); + std::fstream file(configFile.c_str()); + if (file) { + file << config; + return true; + } else + return false; +} + + + +void projectM::readConfig (const std::string & configFile ) +{ + std::cout << "[projectM] config file: " << configFile << std::endl; + + ConfigFile config ( configFile ); + _settings.meshX = config.read ( "Mesh X", 32 ); + _settings.meshY = config.read ( "Mesh Y", 24 ); + _settings.textureSize = config.read ( "Texture Size", 512 ); + _settings.fps = config.read ( "FPS", 35 ); + _settings.windowWidth = config.read ( "Window Width", 512 ); + _settings.windowHeight = config.read ( "Window Height", 512 ); + _settings.smoothPresetDuration = config.read + ( "Smooth Preset Duration", config.read("Smooth Transition Duration", 10)); + _settings.presetDuration = config.read ( "Preset Duration", 15 ); + +#ifdef __unix__ + _settings.presetURL = config.read ( "Preset Path", "/usr/local/share/projectM/presets" ); +#endif + +#ifdef __APPLE__ + /// @bug awful hardcoded hack- need to add intelligence to cmake wrt bundling - carm + _settings.presetURL = config.read ( "Preset Path", "../Resources/presets" ); +#endif + +#ifdef WIN32 + _settings.presetURL = config.read ( "Preset Path", "/usr/local/share/projectM/presets" ); +#endif + +#ifdef __APPLE__ + _settings.titleFontURL = config.read + ( "Title Font", "../Resources/fonts/Vera.tff"); + _settings.menuFontURL = config.read + ( "Menu Font", "../Resources/fonts/VeraMono.ttf"); +#endif + +#ifdef __unix__ + _settings.titleFontURL = config.read + ( "Title Font", "/usr/local/share/projectM/fonts/Vera.tff" ); + _settings.menuFontURL = config.read + ( "Menu Font", "/usr/local/share/projectM/fonts/VeraMono.tff" ); +#endif + +#ifdef WIN32 + _settings.titleFontURL = config.read + ( "Title Font", projectM_FONT_TITLE ); + _settings.menuFontURL = config.read + ( "Menu Font", projectM_FONT_MENU ); +#endif + + + _settings.shuffleEnabled = config.read ( "Shuffle Enabled", true); + + _settings.easterEgg = config.read ( "Easter Egg Parameter", 0.0); + _settings.softCutRatingsEnabled = + config.read ( "Soft Cut Ratings Enabled", false); + + projectM_init ( _settings.meshX, _settings.meshY, _settings.fps, + _settings.textureSize, _settings.windowWidth,_settings.windowHeight); + + _settings.beatSensitivity = beatDetect->beat_sensitivity = config.read ( "Hard Cut Sensitivity", 10.0 ); + + + if ( config.read ( "Aspect Correction", true ) ) + { + _settings.aspectCorrection = true; + renderer->correction = true; + } + else + { + _settings.aspectCorrection = false; + renderer->correction = false; + } + + +} + + +void projectM::readSettings (const Settings & settings ) +{ + _settings.meshX = settings.meshX; + _settings.meshY = settings.meshY; + _settings.textureSize = settings.textureSize; + _settings.fps = settings.fps; + _settings.windowWidth = settings.windowWidth; + _settings.windowHeight = settings.windowHeight; + _settings.smoothPresetDuration = settings.smoothPresetDuration; + _settings.presetDuration = settings.presetDuration; + _settings.softCutRatingsEnabled = settings.softCutRatingsEnabled; + + _settings.presetURL = settings.presetURL; + _settings.titleFontURL = settings.titleFontURL; + _settings.menuFontURL = settings.menuFontURL; + _settings.shuffleEnabled = settings.shuffleEnabled; + _settings.datadir = settings.datadir; + + _settings.easterEgg = settings.easterEgg; + + projectM_init ( _settings.meshX, _settings.meshY, _settings.fps, + _settings.textureSize, _settings.windowWidth,_settings.windowHeight); + + + _settings.beatSensitivity = settings.beatSensitivity; + _settings.aspectCorrection = settings.aspectCorrection; + +} + +#ifdef USE_THREADS +static void *thread_callback(void *prjm) +{ + projectM *p = (projectM *)prjm; + p->thread_func(prjm); + return NULL; +} + + +void *projectM::thread_func(void *vptr_args) +{ + // printf("in thread: %f\n", timeKeeper->PresetProgressB()); + while (true) + { + if (!worker_sync.wait_for_work()) + return NULL; + evaluateSecondPreset(); + worker_sync.finished_work(); + } +} +#endif + +void projectM::evaluateSecondPreset() +{ + pipelineContext2().time = timeKeeper->GetRunningTime(); + pipelineContext2().presetStartTime = timeKeeper->PresetTimeB(); + pipelineContext2().frame = timeKeeper->PresetFrameB(); + pipelineContext2().progress = timeKeeper->PresetProgressB(); + + m_activePreset2->Render(*beatDetect, pipelineContext2()); +} + +void projectM::renderFrame() +{ + Pipeline pipeline; + Pipeline *comboPipeline; + + comboPipeline = renderFrameOnlyPass1(&pipeline); + + renderFrameOnlyPass2(comboPipeline,0,0,0); + + projectM::renderFrameEndOnSeparatePasses(comboPipeline); +} + + + + + + + + +Pipeline * projectM::renderFrameOnlyPass1(Pipeline *pPipeline) /*pPipeline is a pointer to a Pipeline for use in pass 2. returns the pointer if it was used, else returns NULL */ +{ +#ifdef SYNC_PRESET_SWITCHES + pthread_mutex_lock(&preset_mutex); +#endif + +#ifdef DEBUG + char fname[1024]; + FILE *f = NULL; + int index = 0; + int x, y; +#endif + + timeKeeper->UpdateTimers(); +/* + if (timeKeeper->IsSmoothing()) + { + printf("Smoothing A:%f, B:%f, S:%f\n", timeKeeper->PresetProgressA(), timeKeeper->PresetProgressB(), timeKeeper->SmoothRatio()); + } + else + { + printf(" A:%f\n", timeKeeper->PresetProgressA()); + }*/ + + mspf= ( int ) ( 1000.0/ ( float ) settings().fps ); //milliseconds per frame + + /// @bug who is responsible for updating this now?" + pipelineContext().time = timeKeeper->GetRunningTime(); + pipelineContext().presetStartTime = timeKeeper->PresetTimeA(); + pipelineContext().frame = timeKeeper->PresetFrameA(); + pipelineContext().progress = timeKeeper->PresetProgressA(); + + beatDetect->detectFromSamples(); + + //m_activePreset->evaluateFrame(); + + //if the preset isn't locked and there are more presets + if ( renderer->noSwitch==false && !m_presetChooser->empty() ) + { + //if preset is done and we're not already switching + if ( timeKeeper->PresetProgressA()>=1.0 && !timeKeeper->IsSmoothing()) + { + if (settings().shuffleEnabled) + selectRandom(false); + else + selectNext(false); + } + + else if ((beatDetect->vol-beatDetect->vol_old>beatDetect->beat_sensitivity ) && + timeKeeper->CanHardCut()) + { + // printf("Hard Cut\n"); + if (settings().shuffleEnabled) + selectRandom(true); + else + selectNext(true); + } + } + + + if ( timeKeeper->IsSmoothing() && timeKeeper->SmoothRatio() <= 1.0 && !m_presetChooser->empty() ) + { + // printf("start thread\n"); + assert ( m_activePreset2.get() ); + +#ifdef USE_THREADS + worker_sync.wake_up_bg(); +#endif + + m_activePreset->Render(*beatDetect, pipelineContext()); + +#ifdef USE_THREADS + worker_sync.wait_for_bg_to_finish(); +#else + evaluateSecondPreset(); +#endif + + + pPipeline->setStaticPerPixel(settings().meshX, settings().meshY); + + assert(_matcher); + PipelineMerger::mergePipelines( m_activePreset->pipeline(), + m_activePreset2->pipeline(), *pPipeline, + _matcher->matchResults(), + *_merger, timeKeeper->SmoothRatio()); + + renderer->RenderFrameOnlyPass1(*pPipeline, pipelineContext()); + + + return pPipeline; + + } + else + { + + + if ( timeKeeper->IsSmoothing() && timeKeeper->SmoothRatio() > 1.0 ) + { + //printf("End Smooth\n"); + m_activePreset = std::move(m_activePreset2); + timeKeeper->EndSmoothing(); + } + //printf("Normal\n"); + + m_activePreset->Render(*beatDetect, pipelineContext()); + renderer->RenderFrameOnlyPass1 (m_activePreset->pipeline(), pipelineContext()); + return NULL; // indicating no transition + + } + + // std::cout<< m_activePreset->absoluteFilePath()<presetName = m_activePreset->absoluteFilePath(); + + + + +} + + + + + +/* eye is 0,or 1, or who knows?*/ +void projectM::renderFrameOnlyPass2(Pipeline *pPipeline,int xoffset,int yoffset,int eye) /*pPipeline can be null if we re not in transition */ +{ +/* eye is currently ignored */ + + +#ifdef DEBUG + char fname[1024]; + FILE *f = NULL; + int index = 0; + int x, y; +#endif + + if (pPipeline) +// if ( timeKeeper->IsSmoothing() && timeKeeper->SmoothRatio() <= 1.0 && !m_presetChooser->empty() ) + { + // printf("start thread\n"); + assert ( m_activePreset2.get() ); + + + /* was other stuff */ + + renderer->RenderFrameOnlyPass2(*pPipeline, pipelineContext(),xoffset,yoffset,eye); + + } + else + { + + + renderer->RenderFrameOnlyPass2 (m_activePreset->pipeline(), pipelineContext(),xoffset,yoffset,eye); + + + } + +} + + + + +void projectM::renderFrameEndOnSeparatePasses(Pipeline *pPipeline) { + + if (pPipeline) { + // mergePipelines() sets masterAlpha for each RenderItem, reset it before we forget + for (RenderItem *drawable : pPipeline->drawables) { + drawable->masterAlpha = 1.0; + } + pPipeline->drawables.clear(); + } + + count++; +#ifndef WIN32 + /** Frame-rate limiter */ + /** Compute once per preset */ + if ( this->count%100==0 ) + { + this->renderer->realfps=100.0/ ( ( getTicks ( &timeKeeper->startTime )-this->fpsstart ) /1000 ); + this->fpsstart=getTicks ( &timeKeeper->startTime ); + } + +#ifndef UNLOCK_FPS + int timediff = getTicks ( &timeKeeper->startTime )-this->timestart; + + if ( timediff < this->mspf ) + { + // printf("%s:",this->mspf-timediff); + int sleepTime = ( unsigned int ) ( this->mspf-timediff ) * 1000; + // DWRITE ( "usleep: %d\n", sleepTime ); + if ( sleepTime > 0 && sleepTime < 100000 ) + { + if ( usleep ( sleepTime ) != 0 ) {}} + } + this->timestart=getTicks ( &timeKeeper->startTime ); +#endif + +#endif /** !WIN32 */ +#ifdef SYNC_PRESET_SWITCHES + pthread_mutex_unlock(&preset_mutex); +#endif +return; +} + +void projectM::projectM_reset() +{ + this->mspf = 0; + this->timed = 0; + this->timestart = 0; + this->count = 0; + + this->fpsstart = 0; + + projectM_resetengine(); +} + +void projectM::projectM_init ( int gx, int gy, int fps, int texsize, int width, int height ) +{ + /** Initialise start time */ + timeKeeper = new TimeKeeper(_settings.presetDuration,_settings.smoothPresetDuration, _settings.easterEgg); + + /** Nullify frame stash */ + + /** Initialise per-pixel matrix calculations */ + /** We need to initialise this before the builtin param db otherwise bass/mid etc won't bind correctly */ + assert ( !beatDetect ); + + if (!_pcm) + _pcm = new PCM(); + assert(pcm()); + beatDetect = new BeatDetect ( _pcm ); + + if ( _settings.fps > 0 ) + mspf= ( int ) ( 1000.0/ ( float ) _settings.fps ); + else mspf = 0; + + this->renderer = new Renderer ( width, height, gx, gy, beatDetect, settings().presetURL, settings().titleFontURL, settings().menuFontURL, settings().datadir ); + + initPresetTools(gx, gy); + + +#ifdef USE_THREADS + + #ifdef SYNC_PRESET_SWITCHES + pthread_mutex_init(&preset_mutex, NULL); +#endif + + if (pthread_create(&thread, NULL, thread_callback, this) != 0) + { + + std::cerr << "[projectM] failed to allocate a thread! try building with option USE_THREADS turned off" << std::endl;; + exit(EXIT_FAILURE); + } +#endif + + /// @bug order of operatoins here is busted + //renderer->setPresetName ( m_activePreset->name() ); + timeKeeper->StartPreset(); + assert(pcm()); + + pipelineContext().fps = fps; + pipelineContext2().fps = fps; + +} + +/* Reinitializes the engine variables to a default (conservative and sane) value */ +void projectM::projectM_resetengine() +{ + + if ( beatDetect != NULL ) + { + beatDetect->reset(); + } + +} + +/** Resets OpenGL state */ +void projectM::projectM_resetGL ( int w, int h ) +{ + /** sanity check **/ + assert(w > 0); + assert(h > 0); + + /** Stash the new dimensions */ + _settings.windowWidth = w; + _settings.windowHeight = h; + renderer->reset ( w,h ); +} + +/** Sets the title to display */ +void projectM::projectM_setTitle ( std::string title ) { + + if ( title != renderer->title ) + { + renderer->title=title; + renderer->drawtitle=1; + } +} + + +int projectM::initPresetTools(int gx, int gy) +{ + + /* Set the seed to the current time in seconds */ + srand ( time ( NULL ) ); + + std::string url = (m_flags & FLAG_DISABLE_PLAYLIST_LOAD) ? std::string() : settings().presetURL; + + if ( ( m_presetLoader = new PresetLoader ( gx, gy, url) ) == 0 ) + { + m_presetLoader = 0; + std::cerr << "[projectM] error allocating preset loader" << std::endl; + return PROJECTM_FAILURE; + } + + if ( ( m_presetChooser = new PresetChooser ( *m_presetLoader, settings().softCutRatingsEnabled ) ) == 0 ) + { + delete ( m_presetLoader ); + + m_presetChooser = 0; + m_presetLoader = 0; + + std::cerr << "[projectM] error allocating preset chooser" << std::endl; + return PROJECTM_FAILURE; + } + + // Start the iterator + if (!m_presetPos) + m_presetPos = new PresetIterator(); + + // Initialize a preset queue position as well + // m_presetQueuePos = new PresetIterator(); + + // Start at end ptr- this allows next/previous to easily be done from this position. + *m_presetPos = m_presetChooser->end(); + + // Load idle preset +// std::cerr << "[projectM] Allocating idle preset..." << std::endl; + m_activePreset = m_presetLoader->loadPreset + ("idle://Geiss & Sperl - Feedback (projectM idle HDR mix).milk"); + + renderer->SetPipeline(m_activePreset->pipeline()); + + // Case where no valid presets exist in directory. Could also mean + // playlist initialization was deferred + if (m_presetChooser->empty()) + { + //std::cerr << "[projectM] warning: no valid files found in preset directory \"" + ///< m_presetLoader->directoryName() << "\"" << std::endl; + } + + _matcher = new RenderItemMatcher(); + _merger = new MasterRenderItemMerge(); + //_merger->add(new WaveFormMergeFunction()); + _merger->add(new ShapeMerge()); + _merger->add(new BorderMerge()); + //_merger->add(new BorderMergeFunction()); + + /// @bug These should be requested by the preset factories. + _matcher->distanceFunction().addMetric(new ShapeXYDistance()); + + //std::cerr << "[projectM] Idle preset allocated." << std::endl; + + projectM_resetengine(); + + //std::cerr << "[projectM] engine has been reset." << std::endl; + return PROJECTM_SUCCESS; +} + +void projectM::destroyPresetTools() +{ + + if ( m_presetPos ) + delete ( m_presetPos ); + + m_presetPos = 0; + + if ( m_presetChooser ) + delete ( m_presetChooser ); + + m_presetChooser = 0; + + if ( m_presetLoader ) + delete ( m_presetLoader ); + + m_presetLoader = 0; + + if (_matcher) { + delete _matcher; + _matcher = NULL; + } + + if (_merger) { + delete _merger; + _merger = NULL; + } +} + +/// @bug queuePreset case isn't handled +void projectM::removePreset(unsigned int index) { + + size_t chooserIndex = **m_presetPos; + + m_presetLoader->removePreset(index); + + + // Case: no more presets, set iterator to end + if (m_presetChooser->empty()) + *m_presetPos = m_presetChooser->end(); + + // Case: chooser index has become one less due to removal of an index below it + else if (chooserIndex > index) { + chooserIndex--; + *m_presetPos = m_presetChooser->begin(chooserIndex); + } + + // Case: we have deleted the active preset position + // Set iterator to end of chooser + else if (chooserIndex == index) { + *m_presetPos = m_presetChooser->end(); + } + + + +} + +unsigned int projectM::addPresetURL ( const std::string & presetURL, const std::string & presetName, const RatingList & ratings) +{ + bool restorePosition = false; + + if (*m_presetPos == m_presetChooser->end()) + restorePosition = true; + + int index = m_presetLoader->addPresetURL ( presetURL, presetName, ratings); + + if (restorePosition) + *m_presetPos = m_presetChooser->end(); + + return index; +} + +void projectM::selectPreset(unsigned int index, bool hardCut) +{ + + if (m_presetChooser->empty()) + return; + + + *m_presetPos = m_presetChooser->begin(index); + switchPreset(hardCut); +} + +void projectM::switchPreset(const bool hardCut) { + std::string result; + + if (!hardCut) { + result = switchPreset(m_activePreset2); + } else { + result = switchPreset(m_activePreset); + if (result.empty()) + timeKeeper->StartPreset(); + } + + if (result.empty() && !hardCut) { + timeKeeper->StartSmoothing(); + } + + if (result.empty()) { + presetSwitchedEvent(hardCut, **m_presetPos); + errorLoadingCurrentPreset = false; + } else { + presetSwitchFailedEvent(hardCut, **m_presetPos, result); + errorLoadingCurrentPreset = true; + + } +} + + +void projectM::selectRandom(const bool hardCut) { + + if (m_presetChooser->empty()) + return; + + *m_presetPos = m_presetChooser->weightedRandom(hardCut); + + switchPreset(hardCut); + +} + +void projectM::selectPrevious(const bool hardCut) { + + if (m_presetChooser->empty()) + return; + + + m_presetChooser->previousPreset(*m_presetPos); + + switchPreset(hardCut); +} + +void projectM::selectNext(const bool hardCut) { + + if (m_presetChooser->empty()) + return; + + m_presetChooser->nextPreset(*m_presetPos); + + switchPreset(hardCut); +} + +/** +* Switches to the target preset. +* @param targetPreset +* @return a message indicating an error, empty otherwise. +*/ +std::string projectM::switchPreset(std::unique_ptr & targetPreset) { + + std::string result; + +#ifdef SYNC_PRESET_SWITCHES + pthread_mutex_lock(&preset_mutex); +#endif + try { + targetPreset = m_presetPos->allocate(); + } catch (const PresetFactoryException & e) { +#ifdef SYNC_PRESET_SWITCHES + pthread_mutex_unlock(&preset_mutex); +#endif + std::cerr << "problem allocating target preset: " << e.message() << std::endl; + return e.message(); + } + +// Set preset name here- event is not done because at the moment this function is oblivious to smooth/hard switches + renderer->setPresetName(targetPreset->name()); + result = renderer->SetPipeline(targetPreset->pipeline()); + +#ifdef SYNC_PRESET_SWITCHES + pthread_mutex_unlock(&preset_mutex); +#endif + + return result; +} + +void projectM::setPresetLock ( bool isLocked ) +{ + renderer->noSwitch = isLocked; +} + +bool projectM::isPresetLocked() const +{ + return renderer->noSwitch; +} + +std::string projectM::getPresetURL ( unsigned int index ) const +{ + return m_presetLoader->getPresetURL(index); +} + +int projectM::getPresetRating ( unsigned int index, const PresetRatingType ratingType) const +{ + return m_presetLoader->getPresetRating(index, ratingType); +} + +std::string projectM::getPresetName ( unsigned int index ) const +{ + return m_presetLoader->getPresetName(index); +} + +void projectM::clearPlaylist ( ) +{ + m_presetLoader->clear(); + *m_presetPos = m_presetChooser->end(); +} + +void projectM::selectPresetPosition(unsigned int index) { + *m_presetPos = m_presetChooser->begin(index); +} + +bool projectM::selectedPresetIndex(unsigned int & index) const { + + if (*m_presetPos == m_presetChooser->end()) + return false; + + index = **m_presetPos; + return true; +} + + +bool projectM::presetPositionValid() const { + + return (*m_presetPos != m_presetChooser->end()); +} + +unsigned int projectM::getPlaylistSize() const +{ + return m_presetLoader->size(); +} + +void projectM::changePresetRating (unsigned int index, int rating, const PresetRatingType ratingType) { + m_presetLoader->setRating(index, rating, ratingType); + presetRatingChanged(index, rating, ratingType); +} + +void projectM::insertPresetURL(unsigned int index, const std::string & presetURL, const std::string & presetName, const RatingList & ratings) +{ + bool atEndPosition = false; + + int newSelectedIndex = 0; + + + if (*m_presetPos == m_presetChooser->end()) // Case: preset not selected + { + atEndPosition = true; + } + + else if (**m_presetPos < index) // Case: inserting before selected preset + { + newSelectedIndex = **m_presetPos; + } + + else if (**m_presetPos > index) // Case: inserting after selected preset + { + newSelectedIndex++; + } + + else // Case: inserting at selected preset + { + newSelectedIndex++; + } + + m_presetLoader->insertPresetURL (index, presetURL, presetName, ratings); + + if (atEndPosition) + *m_presetPos = m_presetChooser->end(); + else + *m_presetPos = m_presetChooser->begin(newSelectedIndex); + + +} + +void projectM::changePresetName ( unsigned int index, std::string name ) { + m_presetLoader->setPresetName(index, name); +} + + +void projectM::changeTextureSize(int size) { + _settings.textureSize = size; + + delete renderer; + renderer = new Renderer(_settings.windowWidth, _settings.windowHeight, + _settings.meshX, _settings.meshY, + beatDetect, _settings.presetURL, + _settings.titleFontURL, _settings.menuFontURL, + _settings.datadir); +} + +void projectM::changePresetDuration(int seconds) { + timeKeeper->ChangePresetDuration(seconds); +} +void projectM::getMeshSize(int *w, int *h) { + *w = _settings.meshX; + *h = _settings.meshY; +} + diff --git a/src/projectM-engine/projectM.dsp b/src/libprojectM/projectM.dsp similarity index 100% rename from src/projectM-engine/projectM.dsp rename to src/libprojectM/projectM.dsp diff --git a/src/libprojectM/projectM.hpp b/src/libprojectM/projectM.hpp new file mode 100644 index 0000000000..2f6206c40b --- /dev/null +++ b/src/libprojectM/projectM.hpp @@ -0,0 +1,365 @@ +/* + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: projectM.hpp,v 1.1.1.1 2005/12/23 18:05:11 psperl Exp $ + * + * Encapsulation of ProjectM engine + * + * $Log$ + */ + +#ifndef _PROJECTM_HPP +#define _PROJECTM_HPP + +#ifdef WIN32 +#include "dirent.h" +#else +#include +#endif /** WIN32 */ +#include +#include +#include +#include +#ifndef WIN32 +#include +#endif +#include + +#ifdef __APPLE__ +//#include +//#include +//#include +#else +#ifdef WIN32 +#include +#endif /** WIN32 */ + +#endif /** MACOS */ +#ifdef WIN32 +#define inline +#endif /** WIN32 */ + +#ifdef WIN32 +// libs required for win32 +#pragma comment(lib, "psapi.lib") +#pragma comment(lib, "kernel32.lib") +#endif /** WIN32 */ + +#include "dlldefs.h" +#include "event.h" +#include "fatal.h" + +class PipelineContext; +#include "PCM.hpp" +class BeatDetect; +class PCM; +class Func; +class Renderer; +class Preset; +class PresetIterator; +class PresetChooser; +class PresetLoader; +class TimeKeeper; +class Pipeline; +class RenderItemMatcher; +class MasterRenderItemMerge; + +#include "Common.hpp" + +#include +#ifdef WIN32 +#pragma warning (disable:4244) +#pragma warning (disable:4305) +#endif /** WIN32 */ + +#ifdef __APPLE__2 +#define inline +#endif + +/** KEEP THIS UP TO DATE! */ +#define PROJECTM_VERSION "2.0.00" +#define PROJECTM_TITLE "projectM 2.0.00" + +/** Interface types */ +typedef enum { + MENU_INTERFACE, + SHELL_INTERFACE, + EDITOR_INTERFACE, + DEFAULT_INTERFACE, + BROWSER_INTERFACE + } interface_t; + +/// A functor class that allows users of this library to specify random preset behavior +class RandomizerFunctor { + + public: + RandomizerFunctor(PresetChooser & chooser) ; + virtual ~RandomizerFunctor(); + virtual double operator() (int index); + private: + const PresetChooser & m_chooser; +}; + +class DLLEXPORT projectM +{ +public: + static const int FLAG_NONE = 0; + static const int FLAG_DISABLE_PLAYLIST_LOAD = 1 << 0; + + struct Settings { + int meshX; + int meshY; + int fps; + int textureSize; + int windowWidth; + int windowHeight; + std::string presetURL; + std::string titleFontURL; + std::string menuFontURL; + std::string datadir; + int smoothPresetDuration; + int presetDuration; + float beatSensitivity; + bool aspectCorrection; + float easterEgg; + bool shuffleEnabled; + bool softCutRatingsEnabled; + + Settings() : + meshX(32), + meshY(24), + fps(35), + textureSize(512), + windowWidth(512), + windowHeight(512), + smoothPresetDuration(10), + presetDuration(15), + beatSensitivity(10.0), + aspectCorrection(true), + easterEgg(0.0), + shuffleEnabled(true), + softCutRatingsEnabled(false) {} + }; + + projectM(std::string config_file, int flags = FLAG_NONE); + projectM(Settings settings, int flags = FLAG_NONE); + + void projectM_resetGL( int width, int height ); + void projectM_resetTextures(); + void projectM_setTitle( std::string title ); + void renderFrame(); + Pipeline * renderFrameOnlyPass1(Pipeline *pPipeline); + void renderFrameOnlyPass2(Pipeline *pPipeline,int xoffset,int yoffset,int eye); + void renderFrameEndOnSeparatePasses(Pipeline *pPipeline); + unsigned initRenderToTexture(); + void key_handler( projectMEvent event, + projectMKeycode keycode, projectMModifier modifier ); + + virtual ~projectM(); + + void changeTextureSize(int size); + void changePresetDuration(int seconds); + void getMeshSize(int *w, int *h); + + const Settings & settings() const { + return _settings; + } + + /// Writes a settings configuration to the specified file + static bool writeConfig(const std::string & configFile, const Settings & settings); + + + /// Sets preset iterator position to the passed in index + void selectPresetPosition(unsigned int index); + + /// Plays a preset immediately + void selectPreset(unsigned int index, bool hardCut = true); + + /// Removes a preset from the play list. If it is playing then it will continue as normal until next switch + void removePreset(unsigned int index); + + /// Sets the randomization functor. If set to null, the traversal will move in order according to the playlist + void setRandomizer(RandomizerFunctor * functor); + + /// Tell projectM to play a particular preset when it chooses to switch + /// If the preset is locked the queued item will be not switched to until the lock is released + /// Subsequent calls to this function effectively nullifies previous calls. + void queuePreset(unsigned int index); + + /// Returns true if a preset is queued up to play next + bool isPresetQueued() const; + + /// Removes entire playlist, The currently loaded preset will end up sticking until new presets are added + void clearPlaylist(); + + /// Turn on or off a lock that prevents projectM from switching to another preset + void setPresetLock(bool isLocked); + + /// Returns true if the active preset is locked + bool isPresetLocked() const; + + /// Returns index of currently active preset. In the case where the active + /// preset was removed from the playlist, this function will return the element + /// before active preset (thus the next in order preset is invariant with respect + /// to the removal) + bool selectedPresetIndex(unsigned int & index) const; + + /// Add a preset url to the play list. Appended to bottom. Returns index of preset + unsigned int addPresetURL(const std::string & presetURL, const std::string & presetName, const RatingList & ratingList); + + /// Insert a preset url to the play list at the suggested index. + void insertPresetURL(unsigned int index, + const std::string & presetURL, const std::string & presetName, const RatingList & ratingList); + + /// Returns true if the selected preset position points to an actual preset in the + /// currently loaded playlist + bool presetPositionValid() const; + + /// Returns the url associated with a preset index + std::string getPresetURL(unsigned int index) const; + + /// Returns the preset name associated with a preset index + std::string getPresetName ( unsigned int index ) const; + + void changePresetName ( unsigned int index, std::string name ); + + /// Returns the rating associated with a preset index + int getPresetRating (unsigned int index, const PresetRatingType ratingType) const; + + void changePresetRating (unsigned int index, int rating, const PresetRatingType ratingType); + + /// Returns the size of the play list + unsigned int getPlaylistSize() const; + + void evaluateSecondPreset(); + + inline void setShuffleEnabled(bool value) + { + _settings.shuffleEnabled = value; + + /// idea@ call a virtualfunction shuffleChanged() + } + + + inline bool isShuffleEnabled() const + { + return _settings.shuffleEnabled; + } + + /// Occurs when active preset has switched. Switched to index is returned + virtual void presetSwitchedEvent(bool isHardCut, size_t index) const {}; + virtual void shuffleEnabledValueChanged(bool isEnabled) const {}; + virtual void presetSwitchFailedEvent(bool hardCut, unsigned int index, const std::string & message) const {}; + + + /// Occurs whenever preset rating has changed via changePresetRating() method + virtual void presetRatingChanged(unsigned int index, int rating, PresetRatingType ratingType) const {}; + + + inline PCM * pcm() { + return _pcm; + } + void *thread_func(void *vptr_args); + PipelineContext & pipelineContext() { return *_pipelineContext; } + PipelineContext & pipelineContext2() { return *_pipelineContext2; } + + + void selectPrevious(const bool); + void selectNext(const bool); + void selectRandom(const bool); + + int getWindowWidth() { return _settings.windowWidth; } + int getWindowHeight() { return _settings.windowHeight; } + bool getErrorLoadingCurrentPreset() const { return errorLoadingCurrentPreset; } + +// WINRT requires the render object +#if !defined(EYETUNE_WINRT) +private: +#endif + Renderer *renderer; +private: + PCM * _pcm; + double sampledPresetDuration(); + BeatDetect * beatDetect; + PipelineContext * _pipelineContext; + PipelineContext * _pipelineContext2; + Settings _settings; + + + int wvw; //windowed dimensions + int wvh; + + /** Timing information */ + int mspf; + int timed; + int timestart; + int count; + float fpsstart; + + void readConfig(const std::string &configFile); + void readSettings(const Settings &settings); + void projectM_init(int gx, int gy, int fps, int texsize, int width, int height); + void projectM_reset(); + + void projectM_initengine(); + void projectM_resetengine(); + + /// Initializes preset loading / management libraries + int initPresetTools(int gx, int gy); + + /// Deinitialize all preset related tools. Usually done before projectM cleanup + void destroyPresetTools(); + + void default_key_handler( projectMEvent event, projectMKeycode keycode ); + /// The current position of the directory iterator + PresetIterator * m_presetPos; + + /// Required by the preset chooser. Manages a loaded preset directory + PresetLoader * m_presetLoader; + + /// Provides accessor functions to choose presets + PresetChooser * m_presetChooser; + + /// Currently loaded preset + std::unique_ptr m_activePreset; + + /// Destination preset when smooth preset switching + std::unique_ptr m_activePreset2; + + TimeKeeper *timeKeeper; + + int m_flags; + + RenderItemMatcher * _matcher; + MasterRenderItemMerge * _merger; + + bool running; + bool errorLoadingCurrentPreset; + + Pipeline* currentPipe; + + std::string switchPreset(std::unique_ptr & targetPreset); + void switchPreset(const bool hardCut); + + + +}; +#endif diff --git a/src/libprojectM/resource.h b/src/libprojectM/resource.h new file mode 100644 index 0000000000..a0b6e96015 --- /dev/null +++ b/src/libprojectM/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by libprojectM.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/src/libprojectM/sdltoprojectM.h b/src/libprojectM/sdltoprojectM.h new file mode 100755 index 0000000000..7e0da03129 --- /dev/null +++ b/src/libprojectM/sdltoprojectM.h @@ -0,0 +1,165 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: sdltoprojectM.hpp,v 1.1 2004/10/08 00:35:28 cvs Exp $ + * + * Translates SDL -> projectM variables + * + * $Log: sdltoprojectM.hpp,v $ + * Revision 1.1 2004/10/08 00:35:28 cvs + * Moved and imported + * + * Revision 1.1.1.1 2004/10/04 12:56:00 cvs + * Imported + * + */ + +#ifndef _SDLTOPROJECTM_H +#define _SDLTOPROJECTM_H + +#include "event.h" + + //#include "projectM/projectM.hpp" +#ifdef WIN32 +#include +#else +#include +#endif + +inline projectMEvent sdl2pmEvent( SDL_Event *event ) { \ + + switch ( event->type ) { \ + case SDL_WINDOWEVENT_RESIZED: + return PROJECTM_VIDEORESIZE; \ + case SDL_KEYUP: \ + return PROJECTM_KEYUP; \ + case SDL_KEYDOWN: \ + return PROJECTM_KEYDOWN; \ + default: + return PROJECTM_KEYUP; \ + } \ + } \ + +inline projectMKeycode sdl2pmKeycode( SDL_Keycode keycode ) { \ + switch ( keycode ) { \ + case SDLK_F1: \ + return PROJECTM_K_F1; \ + case SDLK_F2: \ + return PROJECTM_K_F2; \ + case SDLK_F3: \ + return PROJECTM_K_F3; \ + case SDLK_F4: \ + return PROJECTM_K_F4; \ + case SDLK_F5: \ + return PROJECTM_K_F5; \ + case SDLK_F6: \ + return PROJECTM_K_F6; \ + case SDLK_F7: \ + return PROJECTM_K_F7; \ + case SDLK_F8: \ + return PROJECTM_K_F8; \ + case SDLK_F9: \ + return PROJECTM_K_F9; \ + case SDLK_F10: \ + return PROJECTM_K_F10; \ + case SDLK_F11: \ + return PROJECTM_K_F11; \ + case SDLK_F12: \ + return PROJECTM_K_F12; \ + case SDLK_ESCAPE: \ + return PROJECTM_K_ESCAPE; + case SDLK_a: + return PROJECTM_K_a; + case SDLK_b: + return PROJECTM_K_b; + case SDLK_c: + return PROJECTM_K_c; + case SDLK_d: + return PROJECTM_K_d; + case SDLK_e: + return PROJECTM_K_e; + case SDLK_f: + return PROJECTM_K_f; + case SDLK_g: + return PROJECTM_K_g; + case SDLK_h: + return PROJECTM_K_h; + case SDLK_i: + return PROJECTM_K_i; + case SDLK_j: + return PROJECTM_K_j; + case SDLK_k: + return PROJECTM_K_k; + case SDLK_l: + return PROJECTM_K_l; + case SDLK_m: + return PROJECTM_K_m; + case SDLK_n: + return PROJECTM_K_n; + case SDLK_o: + return PROJECTM_K_o; + case SDLK_p: + return PROJECTM_K_p; + case SDLK_q: + return PROJECTM_K_q; + case SDLK_r: + return PROJECTM_K_r; + case SDLK_s: + return PROJECTM_K_s; + case SDLK_t: + return PROJECTM_K_t; + case SDLK_u: + return PROJECTM_K_u; + case SDLK_v: + return PROJECTM_K_v; + case SDLK_w: + return PROJECTM_K_w; + case SDLK_x: + return PROJECTM_K_x; + case SDLK_y: + return PROJECTM_K_y; + case SDLK_z: + return PROJECTM_K_z; + case SDLK_UP: + return PROJECTM_K_UP; + case SDLK_RETURN: + return PROJECTM_K_RETURN; + case SDLK_RIGHT: + return PROJECTM_K_RIGHT; + case SDLK_LEFT: + return PROJECTM_K_LEFT; + case SDLK_DOWN: + return PROJECTM_K_DOWN; + case SDLK_PAGEUP: + return PROJECTM_K_PAGEUP; + case SDLK_PAGEDOWN: + return PROJECTM_K_PAGEDOWN; + + default: \ + return PROJECTM_K_NONE; \ + } \ + } \ + +inline projectMModifier sdl2pmModifier( SDL_Keymod mod ) { \ + return PROJECTM_KMOD_LSHIFT; \ + } \ + +#endif /** _SDLTOPROJECTM_H */ diff --git a/src/projectM-engine/timer.cpp b/src/libprojectM/timer.cpp old mode 100755 new mode 100644 similarity index 76% rename from src/projectM-engine/timer.cpp rename to src/libprojectM/timer.cpp index e9e1dafc72..c91ef1daaf --- a/src/projectM-engine/timer.cpp +++ b/src/libprojectM/timer.cpp @@ -23,22 +23,51 @@ * * Platform-independent timer */ - +#include #include "timer.h" #include + #ifndef WIN32 /** Get number of ticks since the given timestamp */ + + +extern "C" { + +fspec_gettimeofday pprojectm_gettimeofday = nullptr; + +int projectm_gettimeofday(struct timeval *tv, struct timezone *tz) { +if (pprojectm_gettimeofday) { + return (*pprojectm_gettimeofday)(tv,tz); + } +return gettimeofday(tv,tz); +} +} + +struct timeval GetCurrentTime() { + struct timeval now; + + projectm_gettimeofday(&now, NULL); + return now; + } + unsigned int getTicks( struct timeval *start ) { struct timeval now; unsigned int ticks; - gettimeofday(&now, NULL); + projectm_gettimeofday(&now, NULL); ticks=(now.tv_sec-start->tv_sec)*1000+(now.tv_usec-start->tv_usec)/1000; return(ticks); } + #else + unsigned int getTicks( long start ) { return GetTickCount() - start; } + + #endif /** !WIN32 */ + + + diff --git a/src/projectM-engine/timer.h b/src/libprojectM/timer.h old mode 100755 new mode 100644 similarity index 85% rename from src/projectM-engine/timer.h rename to src/libprojectM/timer.h index 2c797593f0..e1315d65f5 --- a/src/projectM-engine/timer.h +++ b/src/libprojectM/timer.h @@ -38,12 +38,27 @@ #ifndef _TIMER_H #define _TIMER_H + + #ifndef WIN32 #include unsigned int getTicks( struct timeval *start ); + +extern "C" { +typedef int (*fspec_gettimeofday)(struct timeval *tv, struct timezone *tz); +int projectm_gettimeofday(struct timeval *tv, struct timezone *tz); +extern fspec_gettimeofday pprojectm_gettimeofday; + +} + + + + +struct timeval GetCurrentTime(); #else #include unsigned int getTicks( long start ); + #endif /** !WIN32 */ #endif /** _TIMER_H */ diff --git a/src/libprojectM/wipemalloc.cpp b/src/libprojectM/wipemalloc.cpp new file mode 100755 index 0000000000..840df36096 --- /dev/null +++ b/src/libprojectM/wipemalloc.cpp @@ -0,0 +1,109 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: wipemalloc.c,v 1.1.1.1 2005/12/23 18:05:05 psperl Exp $ + * + * Clean memory allocator + */ + +#include "wipemalloc.h" +#include + + +void *wipemalloc( size_t count ) +{ + void *mem = malloc( count ); + if ( mem != NULL ) + { + memset( mem, 0, count ); + } + else + { + printf( "wipemalloc() failed to allocate %d bytes\n", (int)count ); + } + return mem; +} + + +/** Safe memory deallocator */ +void wipefree( void *ptr ) +{ + if ( ptr != NULL ) + free( ptr ); +} + + +void *wipe_aligned_alloc( size_t align, size_t size ) +{ + void *mem = NULL; + +#if HAVE_ALIGNED_ALLOC==1 + + mem = aligned_alloc( align, size ); + +#elif HAVE_POSIX_MEMALIGN==1 + + if (posix_memalign(&mem, align, size)) + mem = NULL; + +#else + + // only support powers of 2 for align + assert( (align & (align-1)) == 0 ); + assert( (size % align) == 0 ); + void *allocated = malloc(size + align - 1 + sizeof(void*)); + if (allocated) + { + mem = (void*) (((size_t)allocated + sizeof(void*) + align -1) & ~(align-1)); + ((void**)mem)[-1] = allocated; + } + +#endif + + if (mem) + { + memset( mem, 0, size ); + } + else + { + printf( "wipe_aligned_alloc() failed to allocate %d bytes\n", (int)size ); + } + return mem; +} + + +void wipe_aligned_free( void *p ) +{ +#if HAVE_ALIGNED_ALLOC==1 || HAVE_POSIX_MEMALIGN==1 + + if (p != NULL) + free(p); + +#else + + if (p != NULL) + { + void *allocated = ((void**)p)[-1]; + free(allocated); + } + +#endif +} diff --git a/src/projectM-engine/wipemalloc.h b/src/libprojectM/wipemalloc.h similarity index 87% rename from src/projectM-engine/wipemalloc.h rename to src/libprojectM/wipemalloc.h index 6ff625d36e..26b9fa0f25 100755 --- a/src/projectM-engine/wipemalloc.h +++ b/src/libprojectM/wipemalloc.h @@ -57,4 +57,8 @@ void *wipemalloc( size_t count ); void wipefree( void *ptr ); +/** wipe_aligned_malloc() must be matched with aligned_free() */ + void *wipe_aligned_alloc( size_t align, size_t count); + inline void *wipe_aligned_alloc( size_t count ) { return wipe_aligned_alloc(16,count); } + void wipe_aligned_free( void *ptr ); #endif /** !_WIPEMALLOC_H */ diff --git a/src/linux/projectmDev10.kdevelop b/src/linux/projectmDev10.kdevelop deleted file mode 100644 index 6880101ceb..0000000000 --- a/src/linux/projectmDev10.kdevelop +++ /dev/null @@ -1,246 +0,0 @@ - - - - Carmelo Piccione, Peter Sperl - carmelo.piccione@gmail.com, psperl@gmail.com - 1 - KDevCustomProject - C++ - - projectmDev10 - ../../ - false -<<<<<<< .mine - - -======= - - ->>>>>>> .r389 - kdevsubversion - - - - custom - /usr/local/bin/xmms -<<<<<<< .mine - - - -======= - - - /home/pete/trunk/src ->>>>>>> .r389 - false - false - true - true - false - - /home/carm/projects/dev-1.0/src/ - - - *.java - *.h - *.H - *.hh - *.hxx - *.hpp - *.c - *.C - *.cc - *.cpp - *.c++ - *.cxx - Makefile - CMakeLists.txt - - - - make -<<<<<<< .mine - /home/carm/projects/trunk/src/projectM-engine -======= - /home/pete/trunk/src/projectM-engine ->>>>>>> .r389 - - - 0 - - - - default - - - - - - true - 1 - 0 - false - make - - - default - - - - - - - - - - - - - true - false - false - - - - true - true - 10 - - - - - ada - ada_bugs_gcc - bash - bash_bugs - clanlib - fortran_bugs_gcc - gnome1 - gnustep - gtk - gtk_bugs - haskell - haskell_bugs_ghc - java_bugs_gcc - java_bugs_sun - kde2book - opengl - pascal_bugs_fp - php - php_bugs - perl - perl_bugs - python - python_bugs - qt-kdev3 - ruby - ruby_bugs - sdl - sw - w3c-dom-level2-html - w3c-svg - w3c-uaag10 - wxwidgets_bugs - - - Guide to the Qt Translation Tools - Qt Assistant Manual - Qt Designer Manual - Qt Reference Documentation - qmake User Guide - - - KDE Libraries (Doxygen) - - - - - - - - - - - - - false - 3 - 3 - /usr/qt/3 - EmbeddedKDevDesigner - /usr/qt/3/bin/qmake - /usr/qt/3/bin/designer - - - - true - false - true - 250 - 400 - 250 - false - 0 - false - true - true - std=_GLIBCXX_STD;__gnu_cxx=std - true - true - true - true - true - true - true - true - .; - true - true - true - true - - - - set - m_,_ - theValue - true - true - - - false - true - Vertical - - - - - - .hpp - .cpp - - - - - false - false - *.o,*.lo,CVS - - - false - false - - - - - - - - - - - - /home/carm/projects/projectM/dev-1.0/tags - - - diff --git a/src/linux/projectmDev10.kdevelop.filelist b/src/linux/projectmDev10.kdevelop.filelist deleted file mode 100644 index 240dbec963..0000000000 --- a/src/linux/projectmDev10.kdevelop.filelist +++ /dev/null @@ -1 +0,0 @@ -# KDevelop Custom Project File List diff --git a/src/linux/projectmDev10.kdevses b/src/linux/projectmDev10.kdevses deleted file mode 100644 index 9727cb81b0..0000000000 --- a/src/linux/projectmDev10.kdevses +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/macos/Makefile.dist b/src/macos/Makefile.dist deleted file mode 100644 index 9cb1d34c52..0000000000 --- a/src/macos/Makefile.dist +++ /dev/null @@ -1,21 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: - rm -rf build diff --git a/src/macos/projectM-iTunes-Info.plist b/src/macos/projectM-iTunes-Info.plist deleted file mode 100755 index bd114c3119..0000000000 --- a/src/macos/projectM-iTunes-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.projectM.projectM-iTunes - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - hvpl - CFBundleName - projectM - CFBundleSignature - hook - CFBundleVersion - 1.0 - - diff --git a/src/macos/projectM-wxvis-Info.plist b/src/macos/projectM-wxvis-Info.plist deleted file mode 100644 index 4b59e8dcbb..0000000000 --- a/src/macos/projectM-wxvis-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.projectM.wxprojectM - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/src/macos/projectM.icns b/src/macos/projectM.icns deleted file mode 100755 index 841b713431..0000000000 Binary files a/src/macos/projectM.icns and /dev/null differ diff --git a/src/macos/projectM.xcodeproj/descarte.mode1 b/src/macos/projectM.xcodeproj/descarte.mode1 deleted file mode 100755 index 9470056f84..0000000000 --- a/src/macos/projectM.xcodeproj/descarte.mode1 +++ /dev/null @@ -1,1338 +0,0 @@ - - - - - ActivePerspectiveName - Project - AllowedModules - - - BundleLoadPath - - MaxInstances - n - Module - PBXSmartGroupTreeModule - Name - Groups and Files Outline View - - - BundleLoadPath - - MaxInstances - n - Module - PBXNavigatorGroup - Name - Editor - - - BundleLoadPath - - MaxInstances - n - Module - XCTaskListModule - Name - Task List - - - BundleLoadPath - - MaxInstances - n - Module - XCDetailModule - Name - File and Smart Group Detail Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXBuildResultsModule - Name - Detailed Build Results Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXProjectFindModule - Name - Project Batch Find Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXRunSessionModule - Name - Run Log - - - BundleLoadPath - - MaxInstances - n - Module - PBXBookmarksModule - Name - Bookmarks Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXClassBrowserModule - Name - Class Browser - - - BundleLoadPath - - MaxInstances - n - Module - PBXCVSModule - Name - Source Code Control Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXDebugBreakpointsModule - Name - Debug Breakpoints Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCDockableInspector - Name - Inspector - - - BundleLoadPath - - MaxInstances - n - Module - PBXOpenQuicklyModule - Name - Open Quickly Tool - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugSessionModule - Name - Debugger - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugCLIModule - Name - Debug Console - - - Description - DefaultDescriptionKey - DockingSystemVisible - - Extension - mode1 - FavBarConfig - - PBXProjectModuleGUID - 0C4C740909DDBCB700126FB8 - XCBarModuleItemNames - - XCBarModuleItems - - - FirstTimeWindowDisplayed - - Identifier - com.apple.perspectives.project.mode1 - MajorVersion - 31 - MinorVersion - 1 - Name - Default - Notifications - - OpenEditors - - PerspectiveWidths - - -1 - -1 - - Perspectives - - - ChosenToolbarItems - - active-target-popup - action - NSToolbarFlexibleSpaceItem - buildOrClean - build-and-runOrDebug - com.apple.ide.PBXToolbarStopButton - get-info - toggle-editor - NSToolbarFlexibleSpaceItem - com.apple.pbx.toolbar.searchfield - - ControllerClassBaseName - - IconName - WindowOfProjectWithEditor - Identifier - perspective.project - IsVertical - - Layout - - - BecomeActive - - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 08FB7794FE84155DC02AAC07 - 0C4C748409DDC6FF00126FB8 - 1C37FBAC04509CD000000102 - 0C74DBBC0C207ECC0043103D - 0C74DBD20C2082390043103D - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 25 - 18 - 15 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 749}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 767}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 0 130 1440 808 0 0 1440 938 - - Module - PBXSmartGroupTreeModule - Proportion - 203pt - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20306471E060097A5F4 - PBXProjectModuleLabel - - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CE0B20406471E060097A5F4 - PBXProjectModuleLabel - - - SplitCount - 1 - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {1232, 0}} - RubberWindowFrame - 0 130 1440 808 0 0 1440 938 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20506471E060097A5F4 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{0, 5}, {1232, 762}} - RubberWindowFrame - 0 130 1440 808 0 0 1440 938 - - Module - XCDetailModule - Proportion - 762pt - - - Proportion - 1232pt - - - Name - Project - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - XCModuleDock - PBXNavigatorGroup - XCDetailModule - - TableOfContents - - 0C74DBC30C207F490043103D - 1CE0B1FE06471DED0097A5F4 - 0C74DBC40C207F490043103D - 1CE0B20306471E060097A5F4 - 1CE0B20506471E060097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default - - - ControllerClassBaseName - - IconName - WindowOfProject - Identifier - perspective.morph - IsVertical - 0 - Layout - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 11E0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 29B97314FDCFA39411CA2CEA - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 337}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 1 - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 355}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 373 269 690 397 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 100% - - - Name - Morph - PreferredWidth - 300 - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - - TableOfContents - - 11E0B1FE06471DED0097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default.short - - - PerspectivesBarVisible - - ShelfIsVisible - - SourceDescription - file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec' - StatusbarIsVisible - - TimeStamp - 0.0 - ToolbarDisplayMode - 1 - ToolbarIsVisible - - ToolbarSizeMode - 1 - Type - Perspectives - UpdateMessage - The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? - WindowJustification - 5 - WindowOrderList - - 0C4C740A09DDBCB700126FB8 - /Users/descarte/tmp/sandbox/trunk/src/macos/projectM.xcodeproj - - WindowString - 0 130 1440 808 0 0 1440 938 - WindowTools - - - FirstTimeWindowDisplayed - - Identifier - windowTool.build - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528F0623707200166675 - PBXProjectModuleLabel - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {832, 0}} - RubberWindowFrame - 300 362 832 402 0 0 1440 938 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - BecomeActive - - ContentConfiguration - - PBXBuildLogShowsTranscriptDefaultKey - {{0, 5}, {832, 351}} - PBXProjectModuleGUID - XCMainBuildResultsModuleGUID - PBXProjectModuleLabel - Build - XCBuildResultsTrigger_Collapse - 1021 - XCBuildResultsTrigger_Open - 1011 - - GeometryConfiguration - - Frame - {{0, 5}, {832, 356}} - RubberWindowFrame - 300 362 832 402 0 0 1440 938 - - Module - PBXBuildResultsModule - Proportion - 356pt - - - Proportion - 361pt - - - Name - Build Results - ServiceClasses - - PBXBuildResultsModule - - StatusbarIsVisible - - TableOfContents - - 0C4C740A09DDBCB700126FB8 - 0C74DBC50C207F490043103D - 1CD0528F0623707200166675 - XCMainBuildResultsModuleGUID - - ToolbarConfiguration - xcode.toolbar.config.build - WindowString - 300 362 832 402 0 0 1440 938 - WindowToolGUID - 0C4C740A09DDBCB700126FB8 - WindowToolIsVisible - - - - Identifier - windowTool.debugger - Layout - - - Dock - - - ContentConfiguration - - Debugger - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {317, 164}} - {{317, 0}, {377, 164}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {694, 164}} - {{0, 164}, {694, 216}} - - - - LauncherConfigVersion - 8 - PBXProjectModuleGUID - 1C162984064C10D400B95A72 - PBXProjectModuleLabel - Debug - GLUTExamples (Underwater) - - GeometryConfiguration - - DebugConsoleDrawerSize - {100, 120} - DebugConsoleVisible - None - DebugConsoleWindowFrame - {{200, 200}, {500, 300}} - DebugSTDIOWindowFrame - {{200, 200}, {500, 300}} - Frame - {{0, 0}, {694, 380}} - RubberWindowFrame - 321 238 694 422 0 0 1440 878 - - Module - PBXDebugSessionModule - Proportion - 100% - - - Proportion - 100% - - - Name - Debugger - ServiceClasses - - PBXDebugSessionModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CD10A99069EF8BA00B06720 - 1C0AD2AB069F1E9B00FABCE6 - 1C162984064C10D400B95A72 - 1C0AD2AC069F1E9B00FABCE6 - - ToolbarConfiguration - xcode.toolbar.config.debug - WindowString - 321 238 694 422 0 0 1440 878 - WindowToolGUID - 1CD10A99069EF8BA00B06720 - WindowToolIsVisible - 0 - - - Identifier - windowTool.find - Layout - - - Dock - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CDD528C0622207200134675 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CD0528D0623707200166675 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {781, 167}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXNavigatorGroup - Proportion - 781pt - - - Proportion - 50% - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528E0623707200166675 - PBXProjectModuleLabel - Project Find - - GeometryConfiguration - - Frame - {{8, 0}, {773, 254}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXProjectFindModule - Proportion - 50% - - - Proportion - 428pt - - - Name - Project Find - ServiceClasses - - PBXProjectFindModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C530D57069F1CE1000CFCEE - 1C530D58069F1CE1000CFCEE - 1C530D59069F1CE1000CFCEE - 1CDD528C0622207200134675 - 1C530D5A069F1CE1000CFCEE - 1CE0B1FE06471DED0097A5F4 - 1CD0528E0623707200166675 - - WindowString - 62 385 781 470 0 0 1440 878 - WindowToolGUID - 1C530D57069F1CE1000CFCEE - WindowToolIsVisible - 0 - - - Identifier - MENUSEPARATOR - - - Identifier - windowTool.debuggerConsole - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAAC065D492600B07095 - PBXProjectModuleLabel - Debugger Console - - GeometryConfiguration - - Frame - {{0, 0}, {440, 358}} - RubberWindowFrame - 650 41 440 400 0 0 1280 1002 - - Module - PBXDebugCLIModule - Proportion - 358pt - - - Proportion - 358pt - - - Name - Debugger Console - ServiceClasses - - PBXDebugCLIModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAAD065D492600B07095 - 1C78EAAE065D492600B07095 - 1C78EAAC065D492600B07095 - - WindowString - 650 41 440 400 0 0 1280 1002 - - - FirstTimeWindowDisplayed - - Identifier - windowTool.run - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - LauncherConfigVersion - 3 - PBXProjectModuleGUID - 1CD0528B0623707200166675 - PBXProjectModuleLabel - Run - Runner - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {493, 168}} - {{0, 173}, {493, 270}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {406, 443}} - {{411, 0}, {517, 443}} - - - - - GeometryConfiguration - - Frame - {{0, 0}, {659, 214}} - RubberWindowFrame - 450 494 659 255 0 0 1440 938 - - Module - PBXRunSessionModule - Proportion - 214pt - - - Proportion - 214pt - - - Name - Run Log - ServiceClasses - - PBXRunSessionModule - - StatusbarIsVisible - - TableOfContents - - 1C0AD2B3069F1EA900FABCE6 - 0CBE3C240A741C1A00F42C68 - 1CD0528B0623707200166675 - 0CBE3C250A741C1A00F42C68 - - ToolbarConfiguration - xcode.toolbar.config.run - WindowString - 450 494 659 255 0 0 1440 938 - WindowToolGUID - 1C0AD2B3069F1EA900FABCE6 - WindowToolIsVisible - - - - Identifier - windowTool.scm - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAB2065D492600B07095 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1C78EAB3065D492600B07095 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {452, 0}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD052920623707200166675 - PBXProjectModuleLabel - SCM - - GeometryConfiguration - - ConsoleFrame - {{0, 259}, {452, 0}} - Frame - {{0, 7}, {452, 259}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - TableConfiguration - - Status - 30 - FileName - 199 - Path - 197.09500122070312 - - TableFrame - {{0, 0}, {452, 250}} - - Module - PBXCVSModule - Proportion - 262pt - - - Proportion - 266pt - - - Name - SCM - ServiceClasses - - PBXCVSModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAB4065D492600B07095 - 1C78EAB5065D492600B07095 - 1C78EAB2065D492600B07095 - 1CD052920623707200166675 - - ToolbarConfiguration - xcode.toolbar.config.scm - WindowString - 743 379 452 308 0 0 1280 1002 - - - Identifier - windowTool.breakpoints - IsVertical - 0 - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C77FABC04509CD000000102 - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - no - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 168 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 1C77FABC04509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {168, 350}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 0 - - GeometryConfiguration - - Frame - {{0, 0}, {185, 368}} - GroupTreeTableConfiguration - - MainColumn - 168 - - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 185pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CA1AED706398EBD00589147 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{190, 0}, {554, 368}} - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - XCDetailModule - Proportion - 554pt - - - Proportion - 368pt - - - MajorVersion - 2 - MinorVersion - 0 - Name - Breakpoints - ServiceClasses - - PBXSmartGroupTreeModule - XCDetailModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CDDB66807F98D9800BB5817 - 1CDDB66907F98D9800BB5817 - 1CE0B1FE06471DED0097A5F4 - 1CA1AED706398EBD00589147 - - ToolbarConfiguration - xcode.toolbar.config.breakpoints - WindowString - 315 424 744 409 0 0 1440 878 - WindowToolGUID - 1CDDB66807F98D9800BB5817 - WindowToolIsVisible - 1 - - - Identifier - windowTool.debugAnimator - Layout - - - Dock - - - Module - PBXNavigatorGroup - Proportion - 100% - - - Proportion - 100% - - - Name - Debug Visualizer - ServiceClasses - - PBXNavigatorGroup - - StatusbarIsVisible - 1 - ToolbarConfiguration - xcode.toolbar.config.debugAnimator - WindowString - 100 100 700 500 0 0 1280 1002 - - - Identifier - windowTool.bookmarks - Layout - - - Dock - - - Module - PBXBookmarksModule - Proportion - 100% - - - Proportion - 100% - - - Name - Bookmarks - ServiceClasses - - PBXBookmarksModule - - StatusbarIsVisible - 0 - WindowString - 538 42 401 187 0 0 1280 1002 - - - Identifier - windowTool.classBrowser - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - OptionsSetName - Hierarchy, all classes - PBXProjectModuleGUID - 1CA6456E063B45B4001379D8 - PBXProjectModuleLabel - Class Browser - NSObject - - GeometryConfiguration - - ClassesFrame - {{0, 0}, {374, 96}} - ClassesTreeTableConfiguration - - PBXClassNameColumnIdentifier - 208 - PBXClassBookColumnIdentifier - 22 - - Frame - {{0, 0}, {630, 331}} - MembersFrame - {{0, 105}, {374, 395}} - MembersTreeTableConfiguration - - PBXMemberTypeIconColumnIdentifier - 22 - PBXMemberNameColumnIdentifier - 216 - PBXMemberTypeColumnIdentifier - 97 - PBXMemberBookColumnIdentifier - 22 - - PBXModuleWindowStatusBarHidden2 - 1 - RubberWindowFrame - 385 179 630 352 0 0 1440 878 - - Module - PBXClassBrowserModule - Proportion - 332pt - - - Proportion - 332pt - - - Name - Class Browser - ServiceClasses - - PBXClassBrowserModule - - StatusbarIsVisible - 0 - TableOfContents - - 1C0AD2AF069F1E9B00FABCE6 - 1C0AD2B0069F1E9B00FABCE6 - 1CA6456E063B45B4001379D8 - - ToolbarConfiguration - xcode.toolbar.config.classbrowser - WindowString - 385 179 630 352 0 0 1440 878 - WindowToolGUID - 1C0AD2AF069F1E9B00FABCE6 - WindowToolIsVisible - 0 - - - - diff --git a/src/macos/projectM.xcodeproj/descarte.pbxuser b/src/macos/projectM.xcodeproj/descarte.pbxuser deleted file mode 100755 index e9d71954be..0000000000 --- a/src/macos/projectM.xcodeproj/descarte.pbxuser +++ /dev/null @@ -1,184 +0,0 @@ -// !$*UTF8*$! -{ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - activeBuildConfigurationName = Release; - activeExecutable = 0C3EBFC70C06389F0041F14F /* projectM-wxvis */; - activeTarget = 0C4C745B09DDC4B900126FB8 /* projectM-iTunes */; - addToTargets = ( - 0C4C745B09DDC4B900126FB8 /* projectM-iTunes */, - ); - breakpointsGroup = 0C4C740209DDBC4700126FB8 /* XCBreakpointsBucket */; - codeSenseManager = 0C4C736D09DDBB7100126FB8 /* Code sense */; - executables = ( - 0C4C742F09DDC18200126FB8 /* projectM-sdlvis */, - 0C3EBFC70C06389F0041F14F /* projectM-wxvis */, - ); - perUserDictionary = { - PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; - PBXFileTableDataSourceColumnWidthsKey = ( - 22, - 300, - 881, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXExecutablesDataSource_ActiveFlagID, - PBXExecutablesDataSource_NameID, - PBXExecutablesDataSource_CommentsID, - ); - }; - PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = 1; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 993, - 20, - 48, - 43, - 43, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - PBXFileDataSource_Target_ColumnID, - ); - }; - PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 200, - 813, - 20, - 48, - 43, - 43, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXTargetDataSource_PrimaryAttribute, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - ); - }; - PBXPerProjectTemplateStateSaveDate = 203456204; - PBXWorkspaceStateSaveDate = 203456204; - }; - sourceControlManager = 0C4C736C09DDBB7100126FB8 /* Source Control */; - userBuildSettings = { - }; - }; - 0C3EBFC50C06389F0041F14F /* projectM-wxvis */ = { - activeExec = 0; - executables = ( - 0C3EBFC70C06389F0041F14F /* projectM-wxvis */, - ); - }; - 0C3EBFC70C06389F0041F14F /* projectM-wxvis */ = { - isa = PBXExecutable; - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - autoAttachOnCrash = 1; - configStateDict = { - }; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - libgmallocEnabled = 0; - name = "projectM-wxvis"; - sourceDirectories = ( - ); - }; - 0C3EBFC80C06389F0041F14F /* projectM-wxvis-Info.plist */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {706, 638}}"; - sepNavSelRange = "{0, 624}"; - sepNavVisRect = "{{0, 0}, {706, 638}}"; - sepNavWindowFrame = "{{15, 166}, {745, 767}}"; - }; - }; - 0C4C736C09DDBB7100126FB8 /* Source Control */ = { - isa = PBXSourceControlManager; - fallbackIsa = XCSourceControlManager; - isSCMEnabled = 0; - scmConfiguration = { - }; - scmType = ""; - }; - 0C4C736D09DDBB7100126FB8 /* Code sense */ = { - isa = PBXCodeSenseManager; - indexTemplatePath = ""; - }; - 0C4C740209DDBC4700126FB8 /* XCBreakpointsBucket */ = { - isa = XCBreakpointsBucket; - name = "Project Breakpoints"; - objects = ( - ); - }; - 0C4C742D09DDC18200126FB8 /* projectM-sdlvis */ = { - activeExec = 0; - executables = ( - 0C4C742F09DDC18200126FB8 /* projectM-sdlvis */, - ); - }; - 0C4C742F09DDC18200126FB8 /* projectM-sdlvis */ = { - isa = PBXExecutable; - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - autoAttachOnCrash = 1; - configStateDict = { - }; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - dylibVariantSuffix = ""; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - libgmallocEnabled = 0; - name = "projectM-sdlvis"; - sourceDirectories = ( - ); - }; - 0C4C745B09DDC4B900126FB8 /* projectM-iTunes */ = { - activeExec = 0; - }; - 0C4C745D09DDC4BA00126FB8 /* projectM-iTunes-Info.plist */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 429}}"; - sepNavSelRange = "{614, 0}"; - sepNavVisRect = "{{0, 0}, {711, 429}}"; - sepNavWindowFrame = "{{15, 375}, {750, 558}}"; - }; - }; - 0C4C867D09DDCE2400126FB8 /* All Executables */ = { - activeExec = 0; - }; - D2AAC045055464E500DB518D /* projectM-engine */ = { - activeExec = 0; - }; -} diff --git a/src/macos/projectM.xcodeproj/project.pbxproj b/src/macos/projectM.xcodeproj/project.pbxproj deleted file mode 100755 index af6e7012d3..0000000000 --- a/src/macos/projectM.xcodeproj/project.pbxproj +++ /dev/null @@ -1,3811 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXAggregateTarget section */ - 0C4C867D09DDCE2400126FB8 /* All Executables */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 0C4C868709DDCE7D00126FB8 /* Build configuration list for PBXAggregateTarget "All Executables" */; - buildPhases = ( - ); - dependencies = ( - ); - name = "All Executables"; - productName = "All Executables"; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXApplicationTarget section */ - 0C4C742D09DDC18200126FB8 /* projectM-sdlvis */ = { - isa = PBXApplicationTarget; - buildConfigurationList = 0C4C743109DDC18B00126FB8 /* Build configuration list for PBXApplicationTarget "projectM-sdlvis" */; - buildPhases = ( - 0C4C742809DDC18200126FB8 /* Headers */, - 0C4C742909DDC18200126FB8 /* Resources */, - 0C4C742A09DDC18200126FB8 /* Sources */, - 0C4C742B09DDC18200126FB8 /* Frameworks */, - 0C4C742C09DDC18200126FB8 /* Rez */, - ); - dependencies = ( - 0C4C868D09DDCEAA00126FB8 /* PBXTargetDependency */, - ); - name = "projectM-sdlvis"; - productInstallPath = "$(USER_APPS_DIR)"; - productName = sdlprojectM; - productReference = 0C4C742E09DDC18200126FB8 /* sdlprojectM.app */; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - - CFBundleGetInfoString - - CFBundleIconFile - - CFBundleIdentifier - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - - CFBundlePackageType - APPL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - NSMainNibFile - SDLMain.nib - NSPrincipalClass - NSApplication - - -"; - }; -/* End PBXApplicationTarget section */ - -/* Begin PBXBuildFile section */ - 0C4C83DD09DDC91100126FB8 /* ---ar()mo-- - Spirit of East v2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748909DDC6FF00126FB8 /* ---ar()mo-- - Spirit of East v2.milk */; }; - 0C4C83DE09DDC91100126FB8 /* Aderrasi - Agitator.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748A09DDC6FF00126FB8 /* Aderrasi - Agitator.milk */; }; - 0C4C83DF09DDC91100126FB8 /* Aderrasi - Aimless (Gravity Directive Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748B09DDC6FF00126FB8 /* Aderrasi - Aimless (Gravity Directive Mix).milk */; }; - 0C4C83E009DDC91100126FB8 /* Aderrasi - Aimless (Spirogravity Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748C09DDC6FF00126FB8 /* Aderrasi - Aimless (Spirogravity Mix).milk */; }; - 0C4C83E109DDC91100126FB8 /* Aderrasi - Airhandler (Menagerie Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748D09DDC6FF00126FB8 /* Aderrasi - Airhandler (Menagerie Mix).milk */; }; - 0C4C83E209DDC91100126FB8 /* Aderrasi - Airs (Windy Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748E09DDC6FF00126FB8 /* Aderrasi - Airs (Windy Mix).milk */; }; - 0C4C83E309DDC91100126FB8 /* Aderrasi - Airs.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C748F09DDC6FF00126FB8 /* Aderrasi - Airs.milk */; }; - 0C4C83E409DDC91100126FB8 /* Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749009DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk */; }; - 0C4C83E509DDC91100126FB8 /* Aderrasi - Anchorpulse (Verified Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749109DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Verified Mix).milk */; }; - 0C4C83E609DDC91100126FB8 /* Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749209DDC6FF00126FB8 /* Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk */; }; - 0C4C83E709DDC91100126FB8 /* Aderrasi - Antidote (Aqualung Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749309DDC6FF00126FB8 /* Aderrasi - Antidote (Aqualung Mix).milk */; }; - 0C4C83E809DDC91100126FB8 /* Aderrasi - Antidote (Side Effects Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749409DDC6FF00126FB8 /* Aderrasi - Antidote (Side Effects Mix).milk */; }; - 0C4C83E909DDC91100126FB8 /* Aderrasi - Antidote.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749509DDC6FF00126FB8 /* Aderrasi - Antidote.milk */; }; - 0C4C83EA09DDC91100126FB8 /* Aderrasi - Antique Abyss.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749609DDC6FF00126FB8 /* Aderrasi - Antique Abyss.milk */; }; - 0C4C83EB09DDC91100126FB8 /* Aderrasi - Arise! (Padded Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749709DDC6FF00126FB8 /* Aderrasi - Arise! (Padded Mix).milk */; }; - 0C4C83EC09DDC91100126FB8 /* Aderrasi - Ashes Of Air (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749809DDC6FF00126FB8 /* Aderrasi - Ashes Of Air (Remix).milk */; }; - 0C4C83ED09DDC91100126FB8 /* Aderrasi - Bitterfeld (Crystal Border Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749909DDC6FF00126FB8 /* Aderrasi - Bitterfeld (Crystal Border Mix).milk */; }; - 0C4C83EE09DDC91100126FB8 /* Aderrasi - Blender.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749A09DDC6FF00126FB8 /* Aderrasi - Blender.milk */; }; - 0C4C83EF09DDC91100126FB8 /* Aderrasi - Bow To Gravity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749B09DDC6FF00126FB8 /* Aderrasi - Bow To Gravity.milk */; }; - 0C4C83F009DDC91100126FB8 /* Aderrasi - Brakefreak.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749C09DDC6FF00126FB8 /* Aderrasi - Brakefreak.milk */; }; - 0C4C83F109DDC91100126FB8 /* Aderrasi - Candy Avian.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749D09DDC6FF00126FB8 /* Aderrasi - Candy Avian.milk */; }; - 0C4C83F209DDC91100126FB8 /* Aderrasi - Causeway Of Dreams (Nightmare Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749E09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (Nightmare Mix).milk */; }; - 0C4C83F309DDC91100126FB8 /* Aderrasi - Causeway Of Dreams (REMix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C749F09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (REMix).milk */; }; - 0C4C83F409DDC91100126FB8 /* Aderrasi - Causeway Of Dreams.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A009DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams.milk */; }; - 0C4C83F509DDC91100126FB8 /* Aderrasi - Chromatic Abyss (The Other Side).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A109DDC6FF00126FB8 /* Aderrasi - Chromatic Abyss (The Other Side).milk */; }; - 0C4C83F609DDC91100126FB8 /* Aderrasi - Circlefacade.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A209DDC6FF00126FB8 /* Aderrasi - Circlefacade.milk */; }; - 0C4C83F709DDC91100126FB8 /* Aderrasi - Contortion (Xenomorph Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A309DDC6FF00126FB8 /* Aderrasi - Contortion (Xenomorph Mix).milk */; }; - 0C4C83F809DDC91100126FB8 /* Aderrasi - Contortion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A409DDC6FF00126FB8 /* Aderrasi - Contortion.milk */; }; - 0C4C83F909DDC91100126FB8 /* Aderrasi - Crystal Storm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A509DDC6FF00126FB8 /* Aderrasi - Crystal Storm.milk */; }; - 0C4C83FA09DDC91100126FB8 /* Aderrasi - Dark Matter (Converse Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A609DDC6FF00126FB8 /* Aderrasi - Dark Matter (Converse Mix).milk */; }; - 0C4C83FB09DDC91100126FB8 /* Aderrasi - Elastoid.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A709DDC6FF00126FB8 /* Aderrasi - Elastoid.milk */; }; - 0C4C83FC09DDC91100126FB8 /* Aderrasi - Floater Society.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A809DDC6FF00126FB8 /* Aderrasi - Floater Society.milk */; }; - 0C4C83FD09DDC91100126FB8 /* Aderrasi - Flowing Form.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74A909DDC6FF00126FB8 /* Aderrasi - Flowing Form.milk */; }; - 0C4C83FE09DDC91100126FB8 /* Aderrasi - Making Time (Swamp Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AA09DDC6FF00126FB8 /* Aderrasi - Making Time (Swamp Mix).milk */; }; - 0C4C83FF09DDC91100126FB8 /* Aderrasi - Multiviola.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AB09DDC6FF00126FB8 /* Aderrasi - Multiviola.milk */; }; - 0C4C840009DDC91100126FB8 /* Aderrasi - Negative Sun III.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AC09DDC6FF00126FB8 /* Aderrasi - Negative Sun III.milk */; }; - 0C4C840109DDC91100126FB8 /* Aderrasi - Paintsphere.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AD09DDC6FF00126FB8 /* Aderrasi - Paintsphere.milk */; }; - 0C4C840209DDC91100126FB8 /* Aderrasi - Spillswirl.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AE09DDC6FF00126FB8 /* Aderrasi - Spillswirl.milk */; }; - 0C4C840309DDC91100126FB8 /* Aderrasi - What Cannot Be Undone.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74AF09DDC6FF00126FB8 /* Aderrasi - What Cannot Be Undone.milk */; }; - 0C4C840409DDC91100126FB8 /* Aderrasi - What cannot be.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B009DDC6FF00126FB8 /* Aderrasi - What cannot be.milk */; }; - 0C4C840509DDC91100126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B109DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk */; }; - 0C4C840609DDC91100126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B209DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk */; }; - 0C4C840709DDC91100126FB8 /* Bmelgren - Godhead.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B309DDC6FF00126FB8 /* Bmelgren - Godhead.milk */; }; - 0C4C840809DDC91100126FB8 /* Bmelgren - Hmmm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B409DDC6FF00126FB8 /* Bmelgren - Hmmm.milk */; }; - 0C4C840909DDC91100126FB8 /* Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B509DDC6FF00126FB8 /* Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk */; }; - 0C4C840A09DDC91100126FB8 /* Bmelgren - Take This Highway.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B609DDC6FF00126FB8 /* Bmelgren - Take This Highway.milk */; }; - 0C4C840B09DDC91100126FB8 /* che - adela the flower.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B709DDC6FF00126FB8 /* che - adela the flower.milk */; }; - 0C4C840C09DDC91100126FB8 /* che - barcode infidelity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B809DDC6FF00126FB8 /* che - barcode infidelity.milk */; }; - 0C4C840D09DDC91100126FB8 /* che - burning hus (oil mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74B909DDC6FF00126FB8 /* che - burning hus (oil mix).milk */; }; - 0C4C840E09DDC91100126FB8 /* Che - Burning Hus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BA09DDC6FF00126FB8 /* Che - Burning Hus.milk */; }; - 0C4C840F09DDC91100126FB8 /* Che - Escape.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BB09DDC6FF00126FB8 /* Che - Escape.milk */; }; - 0C4C841009DDC91100126FB8 /* Che - Geology.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BC09DDC6FF00126FB8 /* Che - Geology.milk */; }; - 0C4C841109DDC91100126FB8 /* che - terracarbon stream.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BD09DDC6FF00126FB8 /* che - terracarbon stream.milk */; }; - 0C4C841209DDC91100126FB8 /* Che - Watch & Fly.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BE09DDC6FF00126FB8 /* Che - Watch & Fly.milk */; }; - 0C4C841309DDC91100126FB8 /* CrystalHigh - mad ravetriping.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74BF09DDC6FF00126FB8 /* CrystalHigh - mad ravetriping.milk */; }; - 0C4C841409DDC91100126FB8 /* DaNOnE - Highway to Heaven (rotating).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C009DDC6FF00126FB8 /* DaNOnE - Highway to Heaven (rotating).milk */; }; - 0C4C841509DDC91100126FB8 /* EMPR - Random - Changing Polyevolution.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C109DDC6FF00126FB8 /* EMPR - Random - Changing Polyevolution.milk */; }; - 0C4C841609DDC91100126FB8 /* EMPR - Random - Light Speed Racer.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C209DDC6FF00126FB8 /* EMPR - Random - Light Speed Racer.milk */; }; - 0C4C841709DDC91100126FB8 /* EMPR - Random - Look mama I'm on TV! 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C309DDC6FF00126FB8 /* EMPR - Random - Look mama I'm on TV! 2.milk */; }; - 0C4C841809DDC91100126FB8 /* EMPR - Random - They're so cute Dad can I keep one!.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C409DDC6FF00126FB8 /* EMPR - Random - They're so cute Dad can I keep one!.milk */; }; - 0C4C841909DDC91100126FB8 /* EMPR - Random - Turbulence Sandwich.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C509DDC6FF00126FB8 /* EMPR - Random - Turbulence Sandwich.milk */; }; - 0C4C841A09DDC91100126FB8 /* EvilJim - Follow the ball.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C609DDC6FF00126FB8 /* EvilJim - Follow the ball.milk */; }; - 0C4C841B09DDC91100126FB8 /* EvilJim - Ice Drops.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C709DDC6FF00126FB8 /* EvilJim - Ice Drops.milk */; }; - 0C4C841C09DDC91100126FB8 /* Fvese & Idiot24-7 - Rearview Mirror.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C809DDC6FF00126FB8 /* Fvese & Idiot24-7 - Rearview Mirror.milk */; }; - 0C4C841D09DDC91100126FB8 /* Fvese - 0 To 60.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74C909DDC6FF00126FB8 /* Fvese - 0 To 60.milk */; }; - 0C4C841E09DDC91100126FB8 /* Fvese - A Blur.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CA09DDC6FF00126FB8 /* Fvese - A Blur.milk */; }; - 0C4C841F09DDC91100126FB8 /* Fvese - Lifesavor Anyone.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CB09DDC6FF00126FB8 /* Fvese - Lifesavor Anyone.milk */; }; - 0C4C842009DDC91100126FB8 /* Fvese - Multi Circle.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CC09DDC6FF00126FB8 /* Fvese - Multi Circle.milk */; }; - 0C4C842109DDC91100126FB8 /* Fvese - New meetings.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CD09DDC6FF00126FB8 /* Fvese - New meetings.milk */; }; - 0C4C842209DDC91100126FB8 /* Fvese - Quicksand.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CE09DDC6FF00126FB8 /* Fvese - Quicksand.milk */; }; - 0C4C842309DDC91100126FB8 /* Fvese - Round and Round (geiss gamma mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74CF09DDC6FF00126FB8 /* Fvese - Round and Round (geiss gamma mix).milk */; }; - 0C4C842409DDC91100126FB8 /* Fvese - simple.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D009DDC6FF00126FB8 /* Fvese - simple.milk */; }; - 0C4C842509DDC91100126FB8 /* Fvese - Stand Still!.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D109DDC6FF00126FB8 /* Fvese - Stand Still!.milk */; }; - 0C4C842609DDC91100126FB8 /* Fvese - The Tunnel (Final Stage Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D209DDC6FF00126FB8 /* Fvese - The Tunnel (Final Stage Mix).milk */; }; - 0C4C842709DDC91100126FB8 /* Fvese - Window Reflection 6.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D309DDC6FF00126FB8 /* Fvese - Window Reflection 6.milk */; }; - 0C4C842809DDC91100126FB8 /* Fvese - Zoom Effects (Remix 2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D409DDC6FF00126FB8 /* Fvese - Zoom Effects (Remix 2).milk */; }; - 0C4C842909DDC91100126FB8 /* Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D509DDC6FF00126FB8 /* Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk */; }; - 0C4C842A09DDC91100126FB8 /* Geiss & Rovastar - Notions Of Tonality 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D609DDC6FF00126FB8 /* Geiss & Rovastar - Notions Of Tonality 2.milk */; }; - 0C4C842B09DDC91100126FB8 /* Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D709DDC6FF00126FB8 /* Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk */; }; - 0C4C842C09DDC91100126FB8 /* Geiss - Aieeeeee!!!.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D809DDC6FF00126FB8 /* Geiss - Aieeeeee!!!.milk */; }; - 0C4C842D09DDC91100126FB8 /* Geiss - Anomaly 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74D909DDC6FF00126FB8 /* Geiss - Anomaly 1.milk */; }; - 0C4C842E09DDC91100126FB8 /* Geiss - Anomaly 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DA09DDC6FF00126FB8 /* Geiss - Anomaly 2.milk */; }; - 0C4C842F09DDC91100126FB8 /* Geiss - Approach.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DB09DDC6FF00126FB8 /* Geiss - Approach.milk */; }; - 0C4C843009DDC91100126FB8 /* Geiss - Asymptote.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DC09DDC6FF00126FB8 /* Geiss - Asymptote.milk */; }; - 0C4C843109DDC91100126FB8 /* Geiss - Bass Kaleidosphere.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DD09DDC6FF00126FB8 /* Geiss - Bass Kaleidosphere.milk */; }; - 0C4C843209DDC91100126FB8 /* Geiss - Bass Zoom.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DE09DDC6FF00126FB8 /* Geiss - Bass Zoom.milk */; }; - 0C4C843309DDC91100126FB8 /* Geiss - Bipolar 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74DF09DDC6FF00126FB8 /* Geiss - Bipolar 1.milk */; }; - 0C4C843409DDC91100126FB8 /* Geiss - Bipolar 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E009DDC6FF00126FB8 /* Geiss - Bipolar 2.milk */; }; - 0C4C843509DDC91100126FB8 /* Geiss - Bipolar 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E109DDC6FF00126FB8 /* Geiss - Bipolar 3.milk */; }; - 0C4C843609DDC91100126FB8 /* Geiss - Bipolar 4.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E209DDC6FF00126FB8 /* Geiss - Bipolar 4.milk */; }; - 0C4C843709DDC91100126FB8 /* Geiss - Bipolar 5.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E309DDC6FF00126FB8 /* Geiss - Bipolar 5.milk */; }; - 0C4C843809DDC91100126FB8 /* Geiss - Blasto.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E409DDC6FF00126FB8 /* Geiss - Blasto.milk */; }; - 0C4C843909DDC91100126FB8 /* Geiss - Bonfire.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E509DDC6FF00126FB8 /* Geiss - Bonfire.milk */; }; - 0C4C843A09DDC91100126FB8 /* Geiss - Bright Fiber Matrix 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E609DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 1.milk */; }; - 0C4C843B09DDC91100126FB8 /* Geiss - Bright Fiber Matrix 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E709DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 2.milk */; }; - 0C4C843C09DDC91100126FB8 /* Geiss - Calligraphy.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E809DDC6FF00126FB8 /* Geiss - Calligraphy.milk */; }; - 0C4C843D09DDC91100126FB8 /* Geiss - Cartographie.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74E909DDC6FF00126FB8 /* Geiss - Cartographie.milk */; }; - 0C4C843E09DDC91100126FB8 /* Geiss - Casino.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74EA09DDC6FF00126FB8 /* Geiss - Casino.milk */; }; - 0C4C843F09DDC91100126FB8 /* Geiss - Cepiasound.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74EB09DDC6FF00126FB8 /* Geiss - Cepiasound.milk */; }; - 0C4C844009DDC91100126FB8 /* Geiss - Churn.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74EC09DDC6FF00126FB8 /* Geiss - Churn.milk */; }; - 0C4C844109DDC91100126FB8 /* Geiss - Color Tones 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74ED09DDC6FF00126FB8 /* Geiss - Color Tones 1.milk */; }; - 0C4C844209DDC91100126FB8 /* Geiss - Color Tones 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74EE09DDC6FF00126FB8 /* Geiss - Color Tones 2.milk */; }; - 0C4C844309DDC91100126FB8 /* Geiss - Constant Velocity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74EF09DDC6FF00126FB8 /* Geiss - Constant Velocity.milk */; }; - 0C4C844409DDC91100126FB8 /* Geiss - Coral.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F009DDC6FF00126FB8 /* Geiss - Coral.milk */; }; - 0C4C844509DDC91100126FB8 /* Geiss - Corpus Callosum.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F109DDC6FF00126FB8 /* Geiss - Corpus Callosum.milk */; }; - 0C4C844609DDC91100126FB8 /* Geiss - Cosmic Dust 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F209DDC6FF00126FB8 /* Geiss - Cosmic Dust 1.milk */; }; - 0C4C844709DDC91100126FB8 /* Geiss - Cosmic Dust 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F309DDC6FF00126FB8 /* Geiss - Cosmic Dust 2.milk */; }; - 0C4C844809DDC91100126FB8 /* Geiss - Cruzin'.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F409DDC6FF00126FB8 /* Geiss - Cruzin'.milk */; }; - 0C4C844909DDC91100126FB8 /* Geiss - Cycloid 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F509DDC6FF00126FB8 /* Geiss - Cycloid 1.milk */; }; - 0C4C844A09DDC91100126FB8 /* Geiss - Cycloid 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F609DDC6FF00126FB8 /* Geiss - Cycloid 2.milk */; }; - 0C4C844B09DDC91100126FB8 /* Geiss - Davod The Pod.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F709DDC6FF00126FB8 /* Geiss - Davod The Pod.milk */; }; - 0C4C844C09DDC91100126FB8 /* Geiss - De La Moutard 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F809DDC6FF00126FB8 /* Geiss - De La Moutard 1.milk */; }; - 0C4C844D09DDC91100126FB8 /* Geiss - De La Moutard 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74F909DDC6FF00126FB8 /* Geiss - De La Moutard 2.milk */; }; - 0C4C844E09DDC91100126FB8 /* Geiss - Demonic Distortion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FA09DDC6FF00126FB8 /* Geiss - Demonic Distortion.milk */; }; - 0C4C844F09DDC91100126FB8 /* Geiss - Descent.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FB09DDC6FF00126FB8 /* Geiss - Descent.milk */; }; - 0C4C845009DDC91100126FB8 /* Geiss - Destruction.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FC09DDC6FF00126FB8 /* Geiss - Destruction.milk */; }; - 0C4C845109DDC91100126FB8 /* Geiss - Diffraction.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FD09DDC6FF00126FB8 /* Geiss - Diffraction.milk */; }; - 0C4C845209DDC91100126FB8 /* Geiss - Digital Smoke.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FE09DDC6FF00126FB8 /* Geiss - Digital Smoke.milk */; }; - 0C4C845309DDC91100126FB8 /* Geiss - Downward Spiral.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C74FF09DDC6FF00126FB8 /* Geiss - Downward Spiral.milk */; }; - 0C4C845409DDC91100126FB8 /* Geiss - Drift.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750009DDC6FF00126FB8 /* Geiss - Drift.milk */; }; - 0C4C845509DDC91100126FB8 /* Geiss - Dynamic Swirls 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750109DDC6FF00126FB8 /* Geiss - Dynamic Swirls 1.milk */; }; - 0C4C845609DDC91100126FB8 /* Geiss - Dynamic Swirls 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750209DDC6FF00126FB8 /* Geiss - Dynamic Swirls 2.milk */; }; - 0C4C845709DDC91100126FB8 /* Geiss - Eddies 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750309DDC6FF00126FB8 /* Geiss - Eddies 1.milk */; }; - 0C4C845809DDC91100126FB8 /* Geiss - Eddies 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750409DDC6FF00126FB8 /* Geiss - Eddies 2.milk */; }; - 0C4C845909DDC91100126FB8 /* Geiss - Eggs.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750509DDC6FF00126FB8 /* Geiss - Eggs.milk */; }; - 0C4C845A09DDC91100126FB8 /* Geiss - El Cubismo.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750609DDC6FF00126FB8 /* Geiss - El Cubismo.milk */; }; - 0C4C845B09DDC91100126FB8 /* Geiss - Feedback 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750709DDC6FF00126FB8 /* Geiss - Feedback 2.milk */; }; - 0C4C845C09DDC91100126FB8 /* Geiss - Feedback.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750809DDC6FF00126FB8 /* Geiss - Feedback.milk */; }; - 0C4C845D09DDC91100126FB8 /* Geiss - Festive.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750909DDC6FF00126FB8 /* Geiss - Festive.milk */; }; - 0C4C845E09DDC91100126FB8 /* Geiss - Fiberglass.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750A09DDC6FF00126FB8 /* Geiss - Fiberglass.milk */; }; - 0C4C845F09DDC91100126FB8 /* Geiss - Flotsam.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750B09DDC6FF00126FB8 /* Geiss - Flotsam.milk */; }; - 0C4C846009DDC91100126FB8 /* Geiss - Flower Blossom.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750C09DDC6FF00126FB8 /* Geiss - Flower Blossom.milk */; }; - 0C4C846109DDC91100126FB8 /* Geiss - Flower.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750D09DDC6FF00126FB8 /* Geiss - Flower.milk */; }; - 0C4C846209DDC91100126FB8 /* Geiss - Fog Tunnel.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750E09DDC6FF00126FB8 /* Geiss - Fog Tunnel.milk */; }; - 0C4C846309DDC91100126FB8 /* Geiss - Four Kinds of Amphetamines.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C750F09DDC6FF00126FB8 /* Geiss - Four Kinds of Amphetamines.milk */; }; - 0C4C846409DDC91100126FB8 /* Geiss - Galaxy 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751009DDC6FF00126FB8 /* Geiss - Galaxy 1.milk */; }; - 0C4C846509DDC91100126FB8 /* Geiss - Galaxy 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751109DDC6FF00126FB8 /* Geiss - Galaxy 2.milk */; }; - 0C4C846609DDC91100126FB8 /* Geiss - Greenland.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751209DDC6FF00126FB8 /* Geiss - Greenland.milk */; }; - 0C4C846709DDC91100126FB8 /* Geiss - Happy Drops.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751309DDC6FF00126FB8 /* Geiss - Happy Drops.milk */; }; - 0C4C846809DDC91100126FB8 /* Geiss - Heavenly 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751409DDC6FF00126FB8 /* Geiss - Heavenly 1.milk */; }; - 0C4C846909DDC91100126FB8 /* Geiss - Heavenly 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751509DDC6FF00126FB8 /* Geiss - Heavenly 2.milk */; }; - 0C4C846A09DDC91100126FB8 /* Geiss - Heavenly 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751609DDC6FF00126FB8 /* Geiss - Heavenly 3.milk */; }; - 0C4C846B09DDC91100126FB8 /* Geiss - High Dynamic Range.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751709DDC6FF00126FB8 /* Geiss - High Dynamic Range.milk */; }; - 0C4C846C09DDC91100126FB8 /* Geiss - Hovering.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751809DDC6FF00126FB8 /* Geiss - Hovering.milk */; }; - 0C4C846D09DDC91100126FB8 /* Geiss - Hurricane.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751909DDC6FF00126FB8 /* Geiss - Hurricane.milk */; }; - 0C4C846E09DDC91100126FB8 /* Geiss - Hyperion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751A09DDC6FF00126FB8 /* Geiss - Hyperion.milk */; }; - 0C4C846F09DDC91100126FB8 /* Geiss - Inkblot.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751B09DDC6FF00126FB8 /* Geiss - Inkblot.milk */; }; - 0C4C847009DDC91100126FB8 /* Geiss - Iris.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751C09DDC6FF00126FB8 /* Geiss - Iris.milk */; }; - 0C4C847109DDC91100126FB8 /* Geiss - Journey.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751D09DDC6FF00126FB8 /* Geiss - Journey.milk */; }; - 0C4C847209DDC91100126FB8 /* Geiss - Julia Fractal 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751E09DDC6FF00126FB8 /* Geiss - Julia Fractal 1.milk */; }; - 0C4C847309DDC91100126FB8 /* Geiss - Julia Fractal 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C751F09DDC6FF00126FB8 /* Geiss - Julia Fractal 2.milk */; }; - 0C4C847409DDC91100126FB8 /* Geiss - Luz.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752009DDC6FF00126FB8 /* Geiss - Luz.milk */; }; - 0C4C847509DDC91100126FB8 /* Geiss - Many Colors 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752109DDC6FF00126FB8 /* Geiss - Many Colors 1.milk */; }; - 0C4C847609DDC91100126FB8 /* Geiss - Many Colors 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752209DDC6FF00126FB8 /* Geiss - Many Colors 2.milk */; }; - 0C4C847709DDC91100126FB8 /* Geiss - Mega Swirl 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752309DDC6FF00126FB8 /* Geiss - Mega Swirl 1.milk */; }; - 0C4C847809DDC91100126FB8 /* Geiss - Mega Swirl 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752409DDC6FF00126FB8 /* Geiss - Mega Swirl 2.milk */; }; - 0C4C847909DDC91100126FB8 /* Geiss - Mega Swirl 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752509DDC6FF00126FB8 /* Geiss - Mega Swirl 3.milk */; }; - 0C4C847A09DDC91100126FB8 /* Geiss - Microcosm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752609DDC6FF00126FB8 /* Geiss - Microcosm.milk */; }; - 0C4C847B09DDC91100126FB8 /* Geiss - Monotone Ripples.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752709DDC6FF00126FB8 /* Geiss - Monotone Ripples.milk */; }; - 0C4C847C09DDC91100126FB8 /* Geiss - Music Box.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752809DDC6FF00126FB8 /* Geiss - Music Box.milk */; }; - 0C4C847D09DDC91100126FB8 /* Geiss - Nautilus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752909DDC6FF00126FB8 /* Geiss - Nautilus.milk */; }; - 0C4C847E09DDC91100126FB8 /* Geiss - Octopus Blue.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752A09DDC6FF00126FB8 /* Geiss - Octopus Blue.milk */; }; - 0C4C847F09DDC91100126FB8 /* Geiss - Octopus Ever Changing.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752B09DDC6FF00126FB8 /* Geiss - Octopus Ever Changing.milk */; }; - 0C4C848009DDC91100126FB8 /* Geiss - Octopus Fat and Ever Changing.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752C09DDC6FF00126FB8 /* Geiss - Octopus Fat and Ever Changing.milk */; }; - 0C4C848109DDC91100126FB8 /* Geiss - Octopus Gold with Dots.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752D09DDC6FF00126FB8 /* Geiss - Octopus Gold with Dots.milk */; }; - 0C4C848209DDC91100126FB8 /* Geiss - Octopus Gold.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752E09DDC6FF00126FB8 /* Geiss - Octopus Gold.milk */; }; - 0C4C848309DDC91100126FB8 /* Geiss - Octopus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C752F09DDC6FF00126FB8 /* Geiss - Octopus.milk */; }; - 0C4C848409DDC91100126FB8 /* Geiss - Oldskool Mellowstyle.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753009DDC6FF00126FB8 /* Geiss - Oldskool Mellowstyle.milk */; }; - 0C4C848509DDC91100126FB8 /* Geiss - Pelota De Fuego.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753109DDC6FF00126FB8 /* Geiss - Pelota De Fuego.milk */; }; - 0C4C848609DDC91100126FB8 /* Geiss - Pinch.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753209DDC6FF00126FB8 /* Geiss - Pinch.milk */; }; - 0C4C848709DDC91100126FB8 /* Geiss - Pistons.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753309DDC6FF00126FB8 /* Geiss - Pistons.milk */; }; - 0C4C848809DDC91100126FB8 /* Geiss - Planet 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753409DDC6FF00126FB8 /* Geiss - Planet 1.milk */; }; - 0C4C848909DDC91100126FB8 /* Geiss - Planet 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753509DDC6FF00126FB8 /* Geiss - Planet 2.milk */; }; - 0C4C848A09DDC91100126FB8 /* Geiss - Quasilinear Submanifolds.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753609DDC6FF00126FB8 /* Geiss - Quasilinear Submanifolds.milk */; }; - 0C4C848B09DDC91100126FB8 /* Geiss - Reducto Absurdum.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753709DDC6FF00126FB8 /* Geiss - Reducto Absurdum.milk */; }; - 0C4C848C09DDC91100126FB8 /* Geiss - Reducto Ad Nauseum.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753809DDC6FF00126FB8 /* Geiss - Reducto Ad Nauseum.milk */; }; - 0C4C848D09DDC91100126FB8 /* Geiss - Rocket.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753909DDC6FF00126FB8 /* Geiss - Rocket.milk */; }; - 0C4C848E09DDC91100126FB8 /* Geiss - Runoff.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753A09DDC6FF00126FB8 /* Geiss - Runoff.milk */; }; - 0C4C848F09DDC91100126FB8 /* Geiss - Scary.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753B09DDC6FF00126FB8 /* Geiss - Scary.milk */; }; - 0C4C849009DDC91100126FB8 /* Geiss - Script.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753C09DDC6FF00126FB8 /* Geiss - Script.milk */; }; - 0C4C849109DDC91100126FB8 /* Geiss - Serpent.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753D09DDC6FF00126FB8 /* Geiss - Serpent.milk */; }; - 0C4C849209DDC91100126FB8 /* Geiss - Shake.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753E09DDC6FF00126FB8 /* Geiss - Shake.milk */; }; - 0C4C849309DDC91100126FB8 /* Geiss - Shift.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C753F09DDC6FF00126FB8 /* Geiss - Shift.milk */; }; - 0C4C849409DDC91100126FB8 /* Geiss - Sinews 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754009DDC70000126FB8 /* Geiss - Sinews 1.milk */; }; - 0C4C849509DDC91100126FB8 /* Geiss - Sinews 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754109DDC70000126FB8 /* Geiss - Sinews 2.milk */; }; - 0C4C849609DDC91100126FB8 /* Geiss - Smoke.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754209DDC70000126FB8 /* Geiss - Smoke.milk */; }; - 0C4C849709DDC91100126FB8 /* Geiss - Solar Flare (Blue).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754309DDC70000126FB8 /* Geiss - Solar Flare (Blue).milk */; }; - 0C4C849809DDC91100126FB8 /* Geiss - Solar Flare (Reptile).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754409DDC70000126FB8 /* Geiss - Solar Flare (Reptile).milk */; }; - 0C4C849909DDC91100126FB8 /* Geiss - Solar Flare.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754509DDC70000126FB8 /* Geiss - Solar Flare.milk */; }; - 0C4C849A09DDC91100126FB8 /* Geiss - Sound And The Fury.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754609DDC70000126FB8 /* Geiss - Sound And The Fury.milk */; }; - 0C4C849B09DDC91100126FB8 /* Geiss - Space Voyage (High-Warp).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754709DDC70000126FB8 /* Geiss - Space Voyage (High-Warp).milk */; }; - 0C4C849C09DDC91100126FB8 /* Geiss - Space Voyage Bright.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754809DDC70000126FB8 /* Geiss - Space Voyage Bright.milk */; }; - 0C4C849D09DDC91100126FB8 /* Geiss - Space Voyage.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754909DDC70000126FB8 /* Geiss - Space Voyage.milk */; }; - 0C4C849E09DDC91100126FB8 /* Geiss - Spacedust.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754A09DDC70000126FB8 /* Geiss - Spacedust.milk */; }; - 0C4C849F09DDC91100126FB8 /* Geiss - Starfish 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754B09DDC70000126FB8 /* Geiss - Starfish 1.milk */; }; - 0C4C84A009DDC91100126FB8 /* Geiss - Starfish 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754C09DDC70000126FB8 /* Geiss - Starfish 2.milk */; }; - 0C4C84A109DDC91100126FB8 /* Geiss - Sunsets.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754D09DDC70000126FB8 /* Geiss - Sunsets.milk */; }; - 0C4C84A209DDC91100126FB8 /* Geiss - Supernova 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754E09DDC70000126FB8 /* Geiss - Supernova 1.milk */; }; - 0C4C84A309DDC91100126FB8 /* Geiss - Supernova 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C754F09DDC70000126FB8 /* Geiss - Supernova 2.milk */; }; - 0C4C84A409DDC91100126FB8 /* Geiss - Surface.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755009DDC70000126FB8 /* Geiss - Surface.milk */; }; - 0C4C84A509DDC91100126FB8 /* Geiss - Swirl 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755109DDC70000126FB8 /* Geiss - Swirl 1.milk */; }; - 0C4C84A609DDC91100126FB8 /* Geiss - Swirl 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755209DDC70000126FB8 /* Geiss - Swirl 2.milk */; }; - 0C4C84A709DDC91100126FB8 /* Geiss - Swirlie 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755309DDC70000126FB8 /* Geiss - Swirlie 1.milk */; }; - 0C4C84A809DDC91100126FB8 /* Geiss - Swirlie 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755409DDC70000126FB8 /* Geiss - Swirlie 2.milk */; }; - 0C4C84A909DDC91100126FB8 /* Geiss - Swirlie 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755509DDC70000126FB8 /* Geiss - Swirlie 3.milk */; }; - 0C4C84AA09DDC91100126FB8 /* Geiss - Swirlie 4.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755609DDC70000126FB8 /* Geiss - Swirlie 4.milk */; }; - 0C4C84AB09DDC91100126FB8 /* Geiss - Swirlie 5.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755709DDC70000126FB8 /* Geiss - Swirlie 5.milk */; }; - 0C4C84AC09DDC91100126FB8 /* Geiss - Symmetry.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755809DDC70000126FB8 /* Geiss - Symmetry.milk */; }; - 0C4C84AD09DDC91100126FB8 /* Geiss - The Fatty Lumpkin Sunkle Tweaker.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755909DDC70000126FB8 /* Geiss - The Fatty Lumpkin Sunkle Tweaker.milk */; }; - 0C4C84AE09DDC91100126FB8 /* Geiss - Three And A Half Kinds Of Amphetamines.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755A09DDC70000126FB8 /* Geiss - Three And A Half Kinds Of Amphetamines.milk */; }; - 0C4C84AF09DDC91100126FB8 /* Geiss - Three Kinds Of Amphetamines.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755B09DDC70000126FB8 /* Geiss - Three Kinds Of Amphetamines.milk */; }; - 0C4C84B009DDC91100126FB8 /* Geiss - Tokamak.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755C09DDC70000126FB8 /* Geiss - Tokamak.milk */; }; - 0C4C84B109DDC91100126FB8 /* Geiss - Tornado.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755D09DDC70000126FB8 /* Geiss - Tornado.milk */; }; - 0C4C84B209DDC91100126FB8 /* Geiss - Toy.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755E09DDC70000126FB8 /* Geiss - Toy.milk */; }; - 0C4C84B309DDC91100126FB8 /* Geiss - Trampoline.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C755F09DDC70000126FB8 /* Geiss - Trampoline.milk */; }; - 0C4C84B409DDC91100126FB8 /* Geiss - Tube.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756009DDC70000126FB8 /* Geiss - Tube.milk */; }; - 0C4C84B509DDC91100126FB8 /* Geiss - Two-Pointed Pulsagon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756109DDC70000126FB8 /* Geiss - Two-Pointed Pulsagon.milk */; }; - 0C4C84B609DDC91100126FB8 /* Geiss - Ultrafast.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756209DDC70000126FB8 /* Geiss - Ultrafast.milk */; }; - 0C4C84B709DDC91100126FB8 /* Geiss - Volume Zoom.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756309DDC70000126FB8 /* Geiss - Volume Zoom.milk */; }; - 0C4C84B809DDC91100126FB8 /* Geiss - Vortex 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756409DDC70000126FB8 /* Geiss - Vortex 1.milk */; }; - 0C4C84B909DDC91100126FB8 /* Geiss - Vortex 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756509DDC70000126FB8 /* Geiss - Vortex 2.milk */; }; - 0C4C84BA09DDC91100126FB8 /* Geiss - Warp Of Dali 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756609DDC70000126FB8 /* Geiss - Warp Of Dali 1.milk */; }; - 0C4C84BB09DDC91100126FB8 /* Geiss - Warp Of Dali 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756709DDC70000126FB8 /* Geiss - Warp Of Dali 2.milk */; }; - 0C4C84BC09DDC91100126FB8 /* Geiss - Warp Of Dali Bright.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756809DDC70000126FB8 /* Geiss - Warp Of Dali Bright.milk */; }; - 0C4C84BD09DDC91100126FB8 /* Geiss - Waterfall.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756909DDC70000126FB8 /* Geiss - Waterfall.milk */; }; - 0C4C84BE09DDC91100126FB8 /* Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756A09DDC70000126FB8 /* Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk */; }; - 0C4C84BF09DDC91100126FB8 /* Idiot & Che - Various Abstract Effects.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756B09DDC70000126FB8 /* Idiot & Che - Various Abstract Effects.milk */; }; - 0C4C84C009DDC91100126FB8 /* Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756C09DDC70000126FB8 /* Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk */; }; - 0C4C84C109DDC91100126FB8 /* Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756D09DDC70000126FB8 /* Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk */; }; - 0C4C84C209DDC91100126FB8 /* Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756E09DDC70000126FB8 /* Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk */; }; - 0C4C84C309DDC91100126FB8 /* Idiot - 9-7-02 (Remix) (sustain fixed).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C756F09DDC70000126FB8 /* Idiot - 9-7-02 (Remix) (sustain fixed).milk */; }; - 0C4C84C409DDC91100126FB8 /* Idiot - Cortex (Spiritual Visions Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757009DDC70000126FB8 /* Idiot - Cortex (Spiritual Visions Mix).milk */; }; - 0C4C84C509DDC91100126FB8 /* idiot - Dwarf of Annon (before the star).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757109DDC70000126FB8 /* idiot - Dwarf of Annon (before the star).milk */; }; - 0C4C84C609DDC91100126FB8 /* Idiot - Madness Within The Void (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757209DDC70000126FB8 /* Idiot - Madness Within The Void (Remix).milk */; }; - 0C4C84C709DDC91100126FB8 /* Idiot - MOTIVATION!.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757309DDC70000126FB8 /* Idiot - MOTIVATION!.milk */; }; - 0C4C84C809DDC91100126FB8 /* idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757409DDC70000126FB8 /* idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk */; }; - 0C4C84C909DDC91100126FB8 /* idiot - Nothing Yet - 03 - The worst of the pack.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757509DDC70000126FB8 /* idiot - Nothing Yet - 03 - The worst of the pack.milk */; }; - 0C4C84CA09DDC91100126FB8 /* idiot - Nucleus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757609DDC70000126FB8 /* idiot - Nucleus.milk */; }; - 0C4C84CB09DDC91100126FB8 /* idiot - Shadows of Annon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757709DDC70000126FB8 /* idiot - Shadows of Annon.milk */; }; - 0C4C84CC09DDC91100126FB8 /* idiot - Sinful Code (unchained style).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757809DDC70000126FB8 /* idiot - Sinful Code (unchained style).milk */; }; - 0C4C84CD09DDC91100126FB8 /* idiot - Some big word I learned.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757909DDC70000126FB8 /* idiot - Some big word I learned.milk */; }; - 0C4C84CE09DDC91100126FB8 /* idiot - Spectrum.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757A09DDC70000126FB8 /* idiot - Spectrum.milk */; }; - 0C4C84CF09DDC91100126FB8 /* Idiot - Tentacle Dreams (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757B09DDC70000126FB8 /* Idiot - Tentacle Dreams (Remix).milk */; }; - 0C4C84D009DDC91100126FB8 /* Idiot - Texture Boxes (Remix 2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757C09DDC70000126FB8 /* Idiot - Texture Boxes (Remix 2).milk */; }; - 0C4C84D109DDC91100126FB8 /* Idiot - Texture Boxes (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757D09DDC70000126FB8 /* Idiot - Texture Boxes (Remix).milk */; }; - 0C4C84D209DDC91100126FB8 /* Idiot - Typomatic (Remix 2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757E09DDC70000126FB8 /* Idiot - Typomatic (Remix 2).milk */; }; - 0C4C84D309DDC91100126FB8 /* idiot - Waterfalls (remix2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C757F09DDC70000126FB8 /* idiot - Waterfalls (remix2).milk */; }; - 0C4C84D409DDC91100126FB8 /* idiot - Waterfalls.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758009DDC70000126FB8 /* idiot - Waterfalls.milk */; }; - 0C4C84D509DDC91100126FB8 /* Idiot - What Is.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758109DDC70000126FB8 /* Idiot - What Is.milk */; }; - 0C4C84D609DDC91100126FB8 /* Idiot - What Shall Come.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758209DDC70000126FB8 /* Idiot - What Shall Come.milk */; }; - 0C4C84D709DDC91100126FB8 /* Idiot24-7 - Ascending to heaven 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758309DDC70000126FB8 /* Idiot24-7 - Ascending to heaven 2.milk */; }; - 0C4C84D809DDC91100126FB8 /* Idiot24-7 - Just plain cool 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758409DDC70000126FB8 /* Idiot24-7 - Just plain cool 3.milk */; }; - 0C4C84D909DDC91100126FB8 /* Idiot24-7 - Meeting place.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758509DDC70000126FB8 /* Idiot24-7 - Meeting place.milk */; }; - 0C4C84DA09DDC91100126FB8 /* Illusion & Che - Return Of The King.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758609DDC70000126FB8 /* Illusion & Che - Return Of The King.milk */; }; - 0C4C84DB09DDC91100126FB8 /* Illusion & Che - The Piper.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758709DDC70000126FB8 /* Illusion & Che - The Piper.milk */; }; - 0C4C84DC09DDC91100126FB8 /* Illusion & Rovastar - Clouded Bottle.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758809DDC70000126FB8 /* Illusion & Rovastar - Clouded Bottle.milk */; }; - 0C4C84DD09DDC91100126FB8 /* Illusion & Rovastar - Snowflake Delight.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758909DDC70000126FB8 /* Illusion & Rovastar - Snowflake Delight.milk */; }; - 0C4C84DE09DDC91100126FB8 /* Illusion & Rovastar - Snowflake Return.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758A09DDC70000126FB8 /* Illusion & Rovastar - Snowflake Return.milk */; }; - 0C4C84DF09DDC91100126FB8 /* illusion & studio music - charged bliss.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758B09DDC70000126FB8 /* illusion & studio music - charged bliss.milk */; }; - 0C4C84E009DDC91100126FB8 /* illusion & techno - double highway.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758C09DDC70000126FB8 /* illusion & techno - double highway.milk */; }; - 0C4C84E109DDC91100126FB8 /* Illusion & Unchained - Frozen Eye 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758D09DDC70000126FB8 /* Illusion & Unchained - Frozen Eye 1.milk */; }; - 0C4C84E209DDC91100126FB8 /* Illusion & Unchained - Invade My Mind.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758E09DDC70000126FB8 /* Illusion & Unchained - Invade My Mind.milk */; }; - 0C4C84E309DDC91100126FB8 /* Illusion & Unchained - Re-Enter Homeworld.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C758F09DDC70000126FB8 /* Illusion & Unchained - Re-Enter Homeworld.milk */; }; - 0C4C84E409DDC91100126FB8 /* Illusion - Figure Eight.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759009DDC70000126FB8 /* Illusion - Figure Eight.milk */; }; - 0C4C84E509DDC91100126FB8 /* Illusion - Heavenly Eye.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759109DDC70000126FB8 /* Illusion - Heavenly Eye.milk */; }; - 0C4C84E609DDC91100126FB8 /* Jess - Trying To Trap A Twister.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759209DDC70000126FB8 /* Jess - Trying To Trap A Twister.milk */; }; - 0C4C84E709DDC91100126FB8 /* Krash & Idiot - Memories Of The Castle.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759309DDC70000126FB8 /* Krash & Idiot - Memories Of The Castle.milk */; }; - 0C4C84E809DDC91100126FB8 /* Krash & Illusion - Indecisive Mosaic.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759409DDC70000126FB8 /* Krash & Illusion - Indecisive Mosaic.milk */; }; - 0C4C84E909DDC91100126FB8 /* Krash & Illusion - Spiral Movement.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759509DDC70000126FB8 /* Krash & Illusion - Spiral Movement.milk */; }; - 0C4C84EA09DDC91100126FB8 /* Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759609DDC70000126FB8 /* Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk */; }; - 0C4C84EB09DDC91100126FB8 /* Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759709DDC70000126FB8 /* Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk */; }; - 0C4C84EC09DDC91100126FB8 /* Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759809DDC70000126FB8 /* Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk */; }; - 0C4C84ED09DDC91100126FB8 /* Krash & Rovastar - Switching Polygons.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759909DDC70000126FB8 /* Krash & Rovastar - Switching Polygons.milk */; }; - 0C4C84EE09DDC91100126FB8 /* Krash & Rovastar - The Devil Is In The Details.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759A09DDC70000126FB8 /* Krash & Rovastar - The Devil Is In The Details.milk */; }; - 0C4C84EF09DDC91100126FB8 /* Krash & TEcHNO - Rhythmic Mantas.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759B09DDC70000126FB8 /* Krash & TEcHNO - Rhythmic Mantas.milk */; }; - 0C4C84F009DDC91100126FB8 /* Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759C09DDC70000126FB8 /* Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk */; }; - 0C4C84F109DDC91100126FB8 /* Krash - 3D Shapes Demo 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759D09DDC70000126FB8 /* Krash - 3D Shapes Demo 2.milk */; }; - 0C4C84F209DDC91100126FB8 /* Krash - 3D Shapes Demo.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759E09DDC70000126FB8 /* Krash - 3D Shapes Demo.milk */; }; - 0C4C84F309DDC91100126FB8 /* Krash - cardiac rhythm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C759F09DDC70000126FB8 /* Krash - cardiac rhythm.milk */; }; - 0C4C84F409DDC91100126FB8 /* Krash - Chronoshift.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A009DDC70000126FB8 /* Krash - Chronoshift.milk */; }; - 0C4C84F509DDC91100126FB8 /* Krash - Digital Flame.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A109DDC70000126FB8 /* Krash - Digital Flame.milk */; }; - 0C4C84F609DDC91100126FB8 /* Krash - Dynamic Borders 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A209DDC70000126FB8 /* Krash - Dynamic Borders 1.milk */; }; - 0C4C84F709DDC91100126FB8 /* Krash - Framed Geometry.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A309DDC70000126FB8 /* Krash - Framed Geometry.milk */; }; - 0C4C84F809DDC91100126FB8 /* Krash - Heatwaves.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A409DDC70000126FB8 /* Krash - Heatwaves.milk */; }; - 0C4C84F909DDC91100126FB8 /* Krash - Interwoven (Nightmare Weft Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A509DDC70000126FB8 /* Krash - Interwoven (Nightmare Weft Mix).milk */; }; - 0C4C84FA09DDC91100126FB8 /* Krash - interwoven (nightmare weft).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A609DDC70000126FB8 /* Krash - interwoven (nightmare weft).milk */; }; - 0C4C84FB09DDC91100126FB8 /* Krash - interwoven.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A709DDC70000126FB8 /* Krash - interwoven.milk */; }; - 0C4C84FC09DDC91100126FB8 /* Krash - Molten Indecision (Rozzor Hot Fast tweak).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A809DDC70000126FB8 /* Krash - Molten Indecision (Rozzor Hot Fast tweak).milk */; }; - 0C4C84FD09DDC91100126FB8 /* Krash - molten indecision.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75A909DDC70000126FB8 /* Krash - molten indecision.milk */; }; - 0C4C84FE09DDC91100126FB8 /* Krash - Pulse.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AA09DDC70000126FB8 /* Krash - Pulse.milk */; }; - 0C4C84FF09DDC91100126FB8 /* Krash - Season's Greetings 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AB09DDC70000126FB8 /* Krash - Season's Greetings 2.milk */; }; - 0C4C850009DDC91100126FB8 /* Krash - Snowflake Halo.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AC09DDC70000126FB8 /* Krash - Snowflake Halo.milk */; }; - 0C4C850109DDC91100126FB8 /* Krash - systolic pressure.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AD09DDC70000126FB8 /* Krash - systolic pressure.milk */; }; - 0C4C850209DDC91100126FB8 /* Krash - Twisting Indecision.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AE09DDC70000126FB8 /* Krash - Twisting Indecision.milk */; }; - 0C4C850309DDC91100126FB8 /* Krash - Vinyl Disk.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75AF09DDC70000126FB8 /* Krash - Vinyl Disk.milk */; }; - 0C4C850409DDC91100126FB8 /* Krash - War Machine (Shifting Complexity Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B009DDC70000126FB8 /* Krash - War Machine (Shifting Complexity Mix).milk */; }; - 0C4C850509DDC91100126FB8 /* Krash - Windowframe To Mega Swirl 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B109DDC70000126FB8 /* Krash - Windowframe To Mega Swirl 2.milk */; }; - 0C4C850609DDC91100126FB8 /* Krash and Fvese - Molten Indecision (Fvese Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B209DDC70000126FB8 /* Krash and Fvese - Molten Indecision (Fvese Remix).milk */; }; - 0C4C850709DDC91100126FB8 /* Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B309DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk */; }; - 0C4C850809DDC91100126FB8 /* Krash and Rovastar - Rainbow Orb.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B409DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb.milk */; }; - 0C4C850909DDC91100126FB8 /* Krash and Telek - Real Noughts and Crosses (Random Ending).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B509DDC70000126FB8 /* Krash and Telek - Real Noughts and Crosses (Random Ending).milk */; }; - 0C4C850A09DDC91100126FB8 /* Mstress & Darius - Pursuing The Sunset.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B609DDC70000126FB8 /* Mstress & Darius - Pursuing The Sunset.milk */; }; - 0C4C850B09DDC91100126FB8 /* Mstress & Juppy - Dancer.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B709DDC70000126FB8 /* Mstress & Juppy - Dancer.milk */; }; - 0C4C850C09DDC91100126FB8 /* Mstress & Juppy - Dancers In The Dark.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B809DDC70000126FB8 /* Mstress & Juppy - Dancers In The Dark.milk */; }; - 0C4C850D09DDC91100126FB8 /* Mstress & Zylot - Acid UFO.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75B909DDC70000126FB8 /* Mstress & Zylot - Acid UFO.milk */; }; - 0C4C850E09DDC91100126FB8 /* Mstress - Acid Universes (Big Bang Interferences Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BA09DDC70000126FB8 /* Mstress - Acid Universes (Big Bang Interferences Mix).milk */; }; - 0C4C850F09DDC91100126FB8 /* mstress - Acid Universes.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BB09DDC70000126FB8 /* mstress - Acid Universes.milk */; }; - 0C4C851009DDC91100126FB8 /* Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BC09DDC70000126FB8 /* Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk */; }; - 0C4C851109DDC91100126FB8 /* Mstress - Aurora Boreale.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BD09DDC70000126FB8 /* Mstress - Aurora Boreale.milk */; }; - 0C4C851209DDC91100126FB8 /* Mstress - Curtain.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BE09DDC70000126FB8 /* Mstress - Curtain.milk */; }; - 0C4C851309DDC91100126FB8 /* Mstress - Snowing Fiber City.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75BF09DDC70000126FB8 /* Mstress - Snowing Fiber City.milk */; }; - 0C4C851409DDC91100126FB8 /* Mstress - Super nova self control.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C009DDC70000126FB8 /* Mstress - Super nova self control.milk */; }; - 0C4C851509DDC91100126FB8 /* neuro - blackhole bass.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C109DDC70000126FB8 /* neuro - blackhole bass.milk */; }; - 0C4C851609DDC91100126FB8 /* nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C209DDC70000126FB8 /* nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk */; }; - 0C4C851709DDC91100126FB8 /* nil & EMPR - Electron Flow (Copper Wire Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C309DDC70000126FB8 /* nil & EMPR - Electron Flow (Copper Wire Mix).milk */; }; - 0C4C851809DDC91100126FB8 /* nil & EMPR - Ruby Nirvana.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C409DDC70000126FB8 /* nil & EMPR - Ruby Nirvana.milk */; }; - 0C4C851909DDC91100126FB8 /* nil - Can't Stop the Blithering.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C509DDC70000126FB8 /* nil - Can't Stop the Blithering.milk */; }; - 0C4C851A09DDC91100126FB8 /* nil - Can't Stop the Cramming.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C609DDC70000126FB8 /* nil - Can't Stop the Cramming.milk */; }; - 0C4C851B09DDC91100126FB8 /* nil - Cid and Lucy.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C709DDC70000126FB8 /* nil - Cid and Lucy.milk */; }; - 0C4C851C09DDC91100126FB8 /* nil - Did You Speak with the Orb.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C809DDC70000126FB8 /* nil - Did You Speak with the Orb.milk */; }; - 0C4C851D09DDC91100126FB8 /* nil - Disco Comet.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75C909DDC70000126FB8 /* nil - Disco Comet.milk */; }; - 0C4C851E09DDC91100126FB8 /* nil - Singularity in My Oscilloscope.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CA09DDC70000126FB8 /* nil - Singularity in My Oscilloscope.milk */; }; - 0C4C851F09DDC91100126FB8 /* nil - Tim Leary's Amazing Waterslide.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CB09DDC70000126FB8 /* nil - Tim Leary's Amazing Waterslide.milk */; }; - 0C4C852009DDC91100126FB8 /* nil - Vortex of Vortices.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CC09DDC70000126FB8 /* nil - Vortex of Vortices.milk */; }; - 0C4C852109DDC91100126FB8 /* nil - Wyrm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CD09DDC70000126FB8 /* nil - Wyrm.milk */; }; - 0C4C852209DDC91100126FB8 /* Reenen - phoenix.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CE09DDC70000126FB8 /* Reenen - phoenix.milk */; }; - 0C4C852309DDC91100126FB8 /* Rocke - Answer.42.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75CF09DDC70000126FB8 /* Rocke - Answer.42.milk */; }; - 0C4C852409DDC91100126FB8 /* Rocke - Answer42.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D009DDC70000126FB8 /* Rocke - Answer42.milk */; }; - 0C4C852509DDC91100126FB8 /* Rocke - Cold Love (Tei Zwaa).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D109DDC70000126FB8 /* Rocke - Cold Love (Tei Zwaa).milk */; }; - 0C4C852609DDC91100126FB8 /* Rocke - Personal Comet.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D209DDC70000126FB8 /* Rocke - Personal Comet.milk */; }; - 0C4C852709DDC91100126FB8 /* Rovastar & Aderrasi - Clockwork Organism.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D309DDC70000126FB8 /* Rovastar & Aderrasi - Clockwork Organism.milk */; }; - 0C4C852809DDC91100126FB8 /* Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D409DDC70000126FB8 /* Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk */; }; - 0C4C852909DDC91100126FB8 /* Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D509DDC70000126FB8 /* Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk */; }; - 0C4C852A09DDC91100126FB8 /* Rovastar & Che - Asylum Animations.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D609DDC70000126FB8 /* Rovastar & Che - Asylum Animations.milk */; }; - 0C4C852B09DDC91100126FB8 /* Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D709DDC70000126FB8 /* Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk */; }; - 0C4C852C09DDC91100126FB8 /* Rovastar & EvilJim - Bass Tube of Light.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D809DDC70000126FB8 /* Rovastar & EvilJim - Bass Tube of Light.milk */; }; - 0C4C852D09DDC91100126FB8 /* Rovastar & Fvese - Dark Subconscious.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75D909DDC70000126FB8 /* Rovastar & Fvese - Dark Subconscious.milk */; }; - 0C4C852E09DDC91100126FB8 /* Rovastar & Fvese - Deadly Flower.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DA09DDC70000126FB8 /* Rovastar & Fvese - Deadly Flower.milk */; }; - 0C4C852F09DDC91100126FB8 /* Rovastar & Fvese - Mosaic Waves.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DB09DDC70000126FB8 /* Rovastar & Fvese - Mosaic Waves.milk */; }; - 0C4C853009DDC91100126FB8 /* Rovastar & Fvese - Paranormal Static.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DC09DDC70000126FB8 /* Rovastar & Fvese - Paranormal Static.milk */; }; - 0C4C853109DDC91100126FB8 /* Rovastar & Fvese - Stranger Minds (Astral Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DD09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds (Astral Mix).milk */; }; - 0C4C853209DDC91100126FB8 /* Rovastar & Fvese - Stranger Minds.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DE09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds.milk */; }; - 0C4C853309DDC91100126FB8 /* Rovastar & Geiss - Approach (Vectrip Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75DF09DDC70000126FB8 /* Rovastar & Geiss - Approach (Vectrip Mix).milk */; }; - 0C4C853409DDC91100126FB8 /* Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E009DDC70000126FB8 /* Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk */; }; - 0C4C853509DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E109DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk */; }; - 0C4C853609DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E209DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk */; }; - 0C4C853709DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E309DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk */; }; - 0C4C853809DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E409DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk */; }; - 0C4C853909DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E509DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk */; }; - 0C4C853A09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E609DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk */; }; - 0C4C853B09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E709DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk */; }; - 0C4C853C09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E809DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk */; }; - 0C4C853D09DDC91100126FB8 /* Rovastar & Geiss - Hurricane Nightmare.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75E909DDC70000126FB8 /* Rovastar & Geiss - Hurricane Nightmare.milk */; }; - 0C4C853E09DDC91100126FB8 /* Rovastar & Geiss - Ice Planet.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75EA09DDC70000126FB8 /* Rovastar & Geiss - Ice Planet.milk */; }; - 0C4C853F09DDC91100126FB8 /* Rovastar & Geiss - Notions Of Tonality.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75EB09DDC70000126FB8 /* Rovastar & Geiss - Notions Of Tonality.milk */; }; - 0C4C854009DDC91100126FB8 /* Rovastar & Geiss - Octoplasm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75EC09DDC70000126FB8 /* Rovastar & Geiss - Octoplasm.milk */; }; - 0C4C854109DDC91100126FB8 /* Rovastar & Geiss - Octotrip (MultiTrip Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75ED09DDC70000126FB8 /* Rovastar & Geiss - Octotrip (MultiTrip Mix).milk */; }; - 0C4C854209DDC91100126FB8 /* Rovastar & Geiss - Octotrip.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75EE09DDC70000126FB8 /* Rovastar & Geiss - Octotrip.milk */; }; - 0C4C854309DDC91100126FB8 /* Rovastar & Geiss - Surface (Vectrip Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75EF09DDC70000126FB8 /* Rovastar & Geiss - Surface (Vectrip Mix).milk */; }; - 0C4C854409DDC91100126FB8 /* Rovastar & Idiot24-7 - Balk Acid.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F009DDC70000126FB8 /* Rovastar & Idiot24-7 - Balk Acid.milk */; }; - 0C4C854509DDC91100126FB8 /* Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F109DDC70000126FB8 /* Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk */; }; - 0C4C854609DDC91100126FB8 /* Rovastar & Illusion - Shifting Sphere.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F209DDC70000126FB8 /* Rovastar & Illusion - Shifting Sphere.milk */; }; - 0C4C854709DDC91100126FB8 /* Rovastar & Krash - Cerebral Demons.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F309DDC70000126FB8 /* Rovastar & Krash - Cerebral Demons.milk */; }; - 0C4C854809DDC91100126FB8 /* Rovastar & Krash - Flowing Synergy.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F409DDC70000126FB8 /* Rovastar & Krash - Flowing Synergy.milk */; }; - 0C4C854909DDC91100126FB8 /* Rovastar & Krash - Interwoven (Contra Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F509DDC70000126FB8 /* Rovastar & Krash - Interwoven (Contra Mix).milk */; }; - 0C4C854A09DDC91100126FB8 /* Rovastar & Krash - Sweetness & Light.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F609DDC70000126FB8 /* Rovastar & Krash - Sweetness & Light.milk */; }; - 0C4C854B09DDC91100126FB8 /* Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F709DDC70000126FB8 /* Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk */; }; - 0C4C854C09DDC91100126FB8 /* Rovastar & Rocke - Headspin.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F809DDC70000126FB8 /* Rovastar & Rocke - Headspin.milk */; }; - 0C4C854D09DDC91100126FB8 /* Rovastar & Rocke - Sugar Spun Sister.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75F909DDC70000126FB8 /* Rovastar & Rocke - Sugar Spun Sister.milk */; }; - 0C4C854E09DDC91100126FB8 /* Rovastar & StudioMusic - More Cherished Desires.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FA09DDC70000126FB8 /* Rovastar & StudioMusic - More Cherished Desires.milk */; }; - 0C4C854F09DDC91100126FB8 /* Rovastar & StudioMusic - Twisted Spider Web.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FB09DDC70000126FB8 /* Rovastar & StudioMusic - Twisted Spider Web.milk */; }; - 0C4C855009DDC91100126FB8 /* Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FC09DDC70000126FB8 /* Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk */; }; - 0C4C855109DDC91100126FB8 /* Rovastar & Telek - Cosmic Fireworks.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FD09DDC70000126FB8 /* Rovastar & Telek - Cosmic Fireworks.milk */; }; - 0C4C855209DDC91100126FB8 /* Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FE09DDC70000126FB8 /* Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk */; }; - 0C4C855309DDC91100126FB8 /* Rovastar & Unchained - Centre Of Gravity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C75FF09DDC70000126FB8 /* Rovastar & Unchained - Centre Of Gravity.milk */; }; - 0C4C855409DDC91100126FB8 /* Rovastar & Unchained - Demonology (Vampire Soul Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760009DDC70000126FB8 /* Rovastar & Unchained - Demonology (Vampire Soul Mix).milk */; }; - 0C4C855509DDC91100126FB8 /* Rovastar & Unchained - Oddball World.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760109DDC70000126FB8 /* Rovastar & Unchained - Oddball World.milk */; }; - 0C4C855609DDC91100126FB8 /* Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760209DDC70000126FB8 /* Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk */; }; - 0C4C855709DDC91100126FB8 /* Rovastar & Unchained - Xen Traffic.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760309DDC70000126FB8 /* Rovastar & Unchained - Xen Traffic.milk */; }; - 0C4C855809DDC91100126FB8 /* Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760409DDC70000126FB8 /* Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk */; }; - 0C4C855909DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760509DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk */; }; - 0C4C855A09DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760609DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk */; }; - 0C4C855B09DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760709DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk */; }; - 0C4C855C09DDC91100126FB8 /* Rovastar & Zylot - Narell's Fever.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760809DDC70000126FB8 /* Rovastar & Zylot - Narell's Fever.milk */; }; - 0C4C855D09DDC91100126FB8 /* Rovastar & Zylot - Passion Flower.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760909DDC70000126FB8 /* Rovastar & Zylot - Passion Flower.milk */; }; - 0C4C855E09DDC91100126FB8 /* Rovastar & Zylot - Sea Of Zigrot.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760A09DDC70000126FB8 /* Rovastar & Zylot - Sea Of Zigrot.milk */; }; - 0C4C855F09DDC91100126FB8 /* Rovastar - A Million Miles From Earth (Drift Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760B09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Drift Mix).milk */; }; - 0C4C856009DDC91100126FB8 /* Rovastar - A Million Miles from Earth (Pathfinder Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760C09DDC70000126FB8 /* Rovastar - A Million Miles from Earth (Pathfinder Mix).milk */; }; - 0C4C856109DDC91100126FB8 /* Rovastar - A Million Miles From Earth (Wormhole Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760D09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Wormhole Mix).milk */; }; - 0C4C856209DDC91100126FB8 /* Rovastar - A Million Miles from Earth.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760E09DDC70000126FB8 /* Rovastar - A Million Miles from Earth.milk */; }; - 0C4C856309DDC91100126FB8 /* Rovastar - Altars Of Harlequin's Maddess.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C760F09DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Maddess.milk */; }; - 0C4C856409DDC91100126FB8 /* Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761009DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk */; }; - 0C4C856509DDC91100126FB8 /* Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761109DDC70000126FB8 /* Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk */; }; - 0C4C856609DDC91100126FB8 /* Rovastar - Altars Of Madness (Boxfresh Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761209DDC70100126FB8 /* Rovastar - Altars Of Madness (Boxfresh Mix).milk */; }; - 0C4C856709DDC91100126FB8 /* Rovastar - Altars Of Madness (Duel Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761309DDC70100126FB8 /* Rovastar - Altars Of Madness (Duel Mix).milk */; }; - 0C4C856809DDC91100126FB8 /* Rovastar - Altars Of Madness (Surealist Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761409DDC70100126FB8 /* Rovastar - Altars Of Madness (Surealist Mix).milk */; }; - 0C4C856909DDC91100126FB8 /* Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761509DDC70100126FB8 /* Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk */; }; - 0C4C856A09DDC91100126FB8 /* Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761609DDC70100126FB8 /* Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk */; }; - 0C4C856B09DDC91100126FB8 /* Rovastar - Altars Of Madness.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761709DDC70100126FB8 /* Rovastar - Altars Of Madness.milk */; }; - 0C4C856C09DDC91100126FB8 /* Rovastar - Attacking Freedom.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761809DDC70100126FB8 /* Rovastar - Attacking Freedom.milk */; }; - 0C4C856D09DDC91100126FB8 /* Rovastar - Bellanova (New Wave Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761909DDC70100126FB8 /* Rovastar - Bellanova (New Wave Mix).milk */; }; - 0C4C856E09DDC91100126FB8 /* Rovastar - Biohazard Warning.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761A09DDC70100126FB8 /* Rovastar - Biohazard Warning.milk */; }; - 0C4C856F09DDC91100126FB8 /* Rovastar - Braindance 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761B09DDC70100126FB8 /* Rovastar - Braindance 1.milk */; }; - 0C4C857009DDC91100126FB8 /* Rovastar - Bytes.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761C09DDC70100126FB8 /* Rovastar - Bytes.milk */; }; - 0C4C857109DDC91100126FB8 /* Rovastar - Chapel Of Ghouls.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761D09DDC70100126FB8 /* Rovastar - Chapel Of Ghouls.milk */; }; - 0C4C857209DDC91100126FB8 /* Rovastar - Chemical Spirituality.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761E09DDC70100126FB8 /* Rovastar - Chemical Spirituality.milk */; }; - 0C4C857309DDC91100126FB8 /* Rovastar - Clouded Judgement 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C761F09DDC70100126FB8 /* Rovastar - Clouded Judgement 3.milk */; }; - 0C4C857409DDC91100126FB8 /* Rovastar - Cosmic Echoes 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762009DDC70100126FB8 /* Rovastar - Cosmic Echoes 1.milk */; }; - 0C4C857509DDC91100126FB8 /* Rovastar - Cosmic Echoes 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762109DDC70100126FB8 /* Rovastar - Cosmic Echoes 2.milk */; }; - 0C4C857609DDC91100126FB8 /* Rovastar - Cosmic Havoc.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762209DDC70100126FB8 /* Rovastar - Cosmic Havoc.milk */; }; - 0C4C857709DDC91100126FB8 /* Rovastar - Cosmic Mosaic (Active Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762309DDC70100126FB8 /* Rovastar - Cosmic Mosaic (Active Mix).milk */; }; - 0C4C857809DDC91100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762409DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk */; }; - 0C4C857909DDC91100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762509DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Mix).milk */; }; - 0C4C857A09DDC91100126FB8 /* Rovastar - Decreasing Dreams (Extended Movement Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762609DDC70100126FB8 /* Rovastar - Decreasing Dreams (Extended Movement Mix).milk */; }; - 0C4C857B09DDC91100126FB8 /* Rovastar - Dreamcatcher.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762709DDC70100126FB8 /* Rovastar - Dreamcatcher.milk */; }; - 0C4C857C09DDC91100126FB8 /* Rovastar - eclectic interface (despair mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762809DDC70100126FB8 /* Rovastar - eclectic interface (despair mix).milk */; }; - 0C4C857D09DDC91100126FB8 /* Rovastar - Explosive Minds.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762909DDC70100126FB8 /* Rovastar - Explosive Minds.milk */; }; - 0C4C857E09DDC91100126FB8 /* Rovastar - Forgotten Moon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762A09DDC70100126FB8 /* Rovastar - Forgotten Moon.milk */; }; - 0C4C857F09DDC91100126FB8 /* Rovastar - Frozen Rapture .milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762B09DDC70100126FB8 /* Rovastar - Frozen Rapture .milk */; }; - 0C4C858009DDC91100126FB8 /* Rovastar - Future Speakers.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762C09DDC70100126FB8 /* Rovastar - Future Speakers.milk */; }; - 0C4C858109DDC91100126FB8 /* Rovastar - Halcyon Dreams 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762D09DDC70100126FB8 /* Rovastar - Halcyon Dreams 3.milk */; }; - 0C4C858209DDC91100126FB8 /* Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762E09DDC70100126FB8 /* Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk */; }; - 0C4C858309DDC91100126FB8 /* Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C762F09DDC70100126FB8 /* Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk */; }; - 0C4C858409DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763009DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk */; }; - 0C4C858509DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763109DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk */; }; - 0C4C858609DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763209DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 1.milk */; }; - 0C4C858709DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763309DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 2.milk */; }; - 0C4C858809DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763409DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 3.milk */; }; - 0C4C858909DDC91100126FB8 /* Rovastar - Harlequin's Fractal Encounter 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763509DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter 2.milk */; }; - 0C4C858A09DDC91100126FB8 /* Rovastar - Harlequin's Fractal Encounter.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763609DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter.milk */; }; - 0C4C858B09DDC91100126FB8 /* Rovastar - Harlequin's Liquid Dragon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763709DDC70100126FB8 /* Rovastar - Harlequin's Liquid Dragon.milk */; }; - 0C4C858C09DDC91100126FB8 /* Rovastar - Harlequin's Living Wall.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763809DDC70100126FB8 /* Rovastar - Harlequin's Living Wall.milk */; }; - 0C4C858D09DDC91100126FB8 /* Rovastar - Harlequin's Spirit (Twisted Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763909DDC70100126FB8 /* Rovastar - Harlequin's Spirit (Twisted Mix).milk */; }; - 0C4C858E09DDC91100126FB8 /* Rovastar - Harlequin's Spirit.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763A09DDC70100126FB8 /* Rovastar - Harlequin's Spirit.milk */; }; - 0C4C858F09DDC91100126FB8 /* Rovastar - Hyperspace (Frozen Rapture Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763B09DDC70100126FB8 /* Rovastar - Hyperspace (Frozen Rapture Mix).milk */; }; - 0C4C859009DDC91100126FB8 /* Rovastar - Hyperspace (Hyper Speed Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763C09DDC70100126FB8 /* Rovastar - Hyperspace (Hyper Speed Mix).milk */; }; - 0C4C859109DDC91100126FB8 /* Rovastar - Hyperspace.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763D09DDC70100126FB8 /* Rovastar - Hyperspace.milk */; }; - 0C4C859209DDC91100126FB8 /* Rovastar - Inner Thoughts (Clouded Judgement Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763E09DDC70100126FB8 /* Rovastar - Inner Thoughts (Clouded Judgement Mix).milk */; }; - 0C4C859309DDC91100126FB8 /* Rovastar - Inner Thoughts (Dark Secret Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C763F09DDC70100126FB8 /* Rovastar - Inner Thoughts (Dark Secret Mix).milk */; }; - 0C4C859409DDC91100126FB8 /* Rovastar - Inner Thoughts (Distant Memories Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764009DDC70100126FB8 /* Rovastar - Inner Thoughts (Distant Memories Mix).milk */; }; - 0C4C859509DDC91100126FB8 /* Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764109DDC70100126FB8 /* Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk */; }; - 0C4C859609DDC91100126FB8 /* Rovastar - Inner Thoughts (Strange Cargo Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764209DDC70100126FB8 /* Rovastar - Inner Thoughts (Strange Cargo Mix).milk */; }; - 0C4C859709DDC91100126FB8 /* Rovastar - Intense Desire.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764309DDC70100126FB8 /* Rovastar - Intense Desire.milk */; }; - 0C4C859809DDC91100126FB8 /* Rovastar - Jester's Awakening.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764409DDC70100126FB8 /* Rovastar - Jester's Awakening.milk */; }; - 0C4C859909DDC91100126FB8 /* Rovastar - Jester's Calling 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764509DDC70100126FB8 /* Rovastar - Jester's Calling 2.milk */; }; - 0C4C859A09DDC91100126FB8 /* Rovastar - Jester's Calling 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764609DDC70100126FB8 /* Rovastar - Jester's Calling 3.milk */; }; - 0C4C859B09DDC91100126FB8 /* Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764709DDC70100126FB8 /* Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk */; }; - 0C4C859C09DDC91100126FB8 /* Rovastar - Kalideostars (Altars Of Madness MIx).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764809DDC70100126FB8 /* Rovastar - Kalideostars (Altars Of Madness MIx).milk */; }; - 0C4C859D09DDC91100126FB8 /* Rovastar - Kalideostars (Round Round Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764909DDC70100126FB8 /* Rovastar - Kalideostars (Round Round Mix).milk */; }; - 0C4C859E09DDC91100126FB8 /* Rovastar - Kalideostars.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764A09DDC70100126FB8 /* Rovastar - Kalideostars.milk */; }; - 0C4C859F09DDC91100126FB8 /* Rovastar - LabFunk.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764B09DDC70100126FB8 /* Rovastar - LabFunk.milk */; }; - 0C4C85A009DDC91100126FB8 /* Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764C09DDC70100126FB8 /* Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk */; }; - 0C4C85A109DDC91100126FB8 /* Rovastar - Magic Carpet.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764D09DDC70100126FB8 /* Rovastar - Magic Carpet.milk */; }; - 0C4C85A209DDC91100126FB8 /* Rovastar - Mosaics Of Ages.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764E09DDC70100126FB8 /* Rovastar - Mosaics Of Ages.milk */; }; - 0C4C85A309DDC91100126FB8 /* Rovastar - Multiverse Starfield 1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C764F09DDC70100126FB8 /* Rovastar - Multiverse Starfield 1.milk */; }; - 0C4C85A409DDC91100126FB8 /* Rovastar - Multiverse Starfield 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765009DDC70100126FB8 /* Rovastar - Multiverse Starfield 3.milk */; }; - 0C4C85A509DDC91100126FB8 /* Rovastar - Omnipresence Resurrection (Raw Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765109DDC70100126FB8 /* Rovastar - Omnipresence Resurrection (Raw Mix).milk */; }; - 0C4C85A609DDC91100126FB8 /* Rovastar - Omnipresence Resurrection.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765209DDC70100126FB8 /* Rovastar - Omnipresence Resurrection.milk */; }; - 0C4C85A709DDC91100126FB8 /* Rovastar - Oozing Resistance.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765309DDC70100126FB8 /* Rovastar - Oozing Resistance.milk */; }; - 0C4C85A809DDC91100126FB8 /* Rovastar - Pandora's Volcano.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765409DDC70100126FB8 /* Rovastar - Pandora's Volcano.milk */; }; - 0C4C85A909DDC91100126FB8 /* Rovastar - Paradigm Sphere.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765509DDC70100126FB8 /* Rovastar - Paradigm Sphere.milk */; }; - 0C4C85AA09DDC91100126FB8 /* Rovastar - Parallel Universe.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765609DDC70100126FB8 /* Rovastar - Parallel Universe.milk */; }; - 0C4C85AB09DDC91100126FB8 /* Rovastar - paranormal diffusion analyser.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765709DDC70100126FB8 /* Rovastar - paranormal diffusion analyser.milk */; }; - 0C4C85AC09DDC91100126FB8 /* Rovastar - Power Trip.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765809DDC70100126FB8 /* Rovastar - Power Trip.milk */; }; - 0C4C85AD09DDC91100126FB8 /* Rovastar - Ritual Of Life.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765909DDC70100126FB8 /* Rovastar - Ritual Of Life.milk */; }; - 0C4C85AE09DDC91100126FB8 /* Rovastar - Sea Life (Evoluation Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765A09DDC70100126FB8 /* Rovastar - Sea Life (Evoluation Mix).milk */; }; - 0C4C85AF09DDC91100126FB8 /* Rovastar - Sea Life.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765B09DDC70100126FB8 /* Rovastar - Sea Life.milk */; }; - 0C4C85B009DDC91100126FB8 /* Rovastar - Sea Shells.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765C09DDC70100126FB8 /* Rovastar - Sea Shells.milk */; }; - 0C4C85B109DDC91100126FB8 /* Rovastar - Shadows Portal.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765D09DDC70100126FB8 /* Rovastar - Shadows Portal.milk */; }; - 0C4C85B209DDC91100126FB8 /* Rovastar - Snapshot Of Space.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765E09DDC70100126FB8 /* Rovastar - Snapshot Of Space.milk */; }; - 0C4C85B309DDC91100126FB8 /* Rovastar - Solarized Space (Space DNA Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C765F09DDC70100126FB8 /* Rovastar - Solarized Space (Space DNA Mix).milk */; }; - 0C4C85B409DDC91100126FB8 /* Rovastar - Solarized Space.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766009DDC70100126FB8 /* Rovastar - Solarized Space.milk */; }; - 0C4C85B509DDC91100126FB8 /* Rovastar - Space (Twisted Dimension Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766109DDC70100126FB8 /* Rovastar - Space (Twisted Dimension Mix).milk */; }; - 0C4C85B609DDC91100126FB8 /* Rovastar - Space.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766209DDC70100126FB8 /* Rovastar - Space.milk */; }; - 0C4C85B709DDC91100126FB8 /* Rovastar - Starquake (Sunquake Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766309DDC70100126FB8 /* Rovastar - Starquake (Sunquake Mix).milk */; }; - 0C4C85B809DDC91100126FB8 /* Rovastar - The Awakening.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766409DDC70100126FB8 /* Rovastar - The Awakening.milk */; }; - 0C4C85B909DDC91100126FB8 /* Rovastar - The Chaos Of Colours (Drifting Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766509DDC70100126FB8 /* Rovastar - The Chaos Of Colours (Drifting Mix).milk */; }; - 0C4C85BA09DDC91100126FB8 /* Rovastar - The Chaos Of Colours.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766609DDC70100126FB8 /* Rovastar - The Chaos Of Colours.milk */; }; - 0C4C85BB09DDC91100126FB8 /* Rovastar - The Shroomery.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766709DDC70100126FB8 /* Rovastar - The Shroomery.milk */; }; - 0C4C85BC09DDC91100126FB8 /* Rovastar - Timeless Voyage.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766809DDC70100126FB8 /* Rovastar - Timeless Voyage.milk */; }; - 0C4C85BD09DDC91100126FB8 /* Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766909DDC70100126FB8 /* Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk */; }; - 0C4C85BE09DDC91100126FB8 /* Rovastar - Trippy S..milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766A09DDC70100126FB8 /* Rovastar - Trippy S..milk */; }; - 0C4C85BF09DDC91100126FB8 /* Rovastar - Trippy S.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766B09DDC70100126FB8 /* Rovastar - Trippy S.milk */; }; - 0C4C85C009DDC91100126FB8 /* Rovastar - twisted bytes.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766C09DDC70100126FB8 /* Rovastar - twisted bytes.milk */; }; - 0C4C85C109DDC91100126FB8 /* Rovastar - Violent Relaxation.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766D09DDC70100126FB8 /* Rovastar - Violent Relaxation.milk */; }; - 0C4C85C209DDC91100126FB8 /* Rovastar - Visions Beyond.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766E09DDC70100126FB8 /* Rovastar - Visions Beyond.milk */; }; - 0C4C85C309DDC91100126FB8 /* Rovastar - Visions Of The Future.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C766F09DDC70100126FB8 /* Rovastar - Visions Of The Future.milk */; }; - 0C4C85C409DDC91100126FB8 /* Rovastar - VooV's Brainwaves.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767009DDC70100126FB8 /* Rovastar - VooV's Brainwaves.milk */; }; - 0C4C85C509DDC91100126FB8 /* Rovastar - VooV's Movement (After Dark Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767109DDC70100126FB8 /* Rovastar - VooV's Movement (After Dark Mix).milk */; }; - 0C4C85C609DDC91100126FB8 /* Rovastar - VooV's Movement.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767209DDC70100126FB8 /* Rovastar - VooV's Movement.milk */; }; - 0C4C85C709DDC91100126FB8 /* Rovastar - VooV's Organic Light.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767309DDC70100126FB8 /* Rovastar - VooV's Organic Light.milk */; }; - 0C4C85C809DDC91100126FB8 /* Rovastar - Xeper.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767409DDC70100126FB8 /* Rovastar - Xeper.milk */; }; - 0C4C85C909DDC91100126FB8 /* Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767509DDC70100126FB8 /* Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk */; }; - 0C4C85CA09DDC91100126FB8 /* Rovastar and Krash - Rainbow Deflection.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767609DDC70100126FB8 /* Rovastar and Krash - Rainbow Deflection.milk */; }; - 0C4C85CB09DDC91100126FB8 /* Rovastar and Unchained - Braindance Visions.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767709DDC70100126FB8 /* Rovastar and Unchained - Braindance Visions.milk */; }; - 0C4C85CC09DDC91100126FB8 /* Rovastar and Unchained - Life After Pie (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767809DDC70100126FB8 /* Rovastar and Unchained - Life After Pie (Remix).milk */; }; - 0C4C85CD09DDC91100126FB8 /* Rozzer & Neuro - Starover (Semicolon Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767909DDC70100126FB8 /* Rozzer & Neuro - Starover (Semicolon Mix).milk */; }; - 0C4C85CE09DDC91100126FB8 /* Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767A09DDC70100126FB8 /* Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk */; }; - 0C4C85CF09DDC91100126FB8 /* Rozzor & Aderrasi - Canon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767B09DDC70100126FB8 /* Rozzor & Aderrasi - Canon.milk */; }; - 0C4C85D009DDC91100126FB8 /* Rozzor & Che - Inside The House Of Nil.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767C09DDC70100126FB8 /* Rozzor & Che - Inside The House Of Nil.milk */; }; - 0C4C85D109DDC91100126FB8 /* Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767D09DDC70100126FB8 /* Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk */; }; - 0C4C85D209DDC91100126FB8 /* Rozzor & Zylot - Rainbow River.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767E09DDC70100126FB8 /* Rozzor & Zylot - Rainbow River.milk */; }; - 0C4C85D309DDC91100126FB8 /* Rozzor - Color Breaks its Boycott (shape mod).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C767F09DDC70100126FB8 /* Rozzor - Color Breaks its Boycott (shape mod).milk */; }; - 0C4C85D409DDC91100126FB8 /* Rozzor - Learning Curve (Invert tweak).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768009DDC70100126FB8 /* Rozzor - Learning Curve (Invert tweak).milk */; }; - 0C4C85D509DDC91100126FB8 /* Rozzor and che - Inside the House of nil.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768109DDC70100126FB8 /* Rozzor and che - Inside the House of nil.milk */; }; - 0C4C85D609DDC91100126FB8 /* Rozzor and Idiot - Any Other Deep Rising.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768209DDC70100126FB8 /* Rozzor and Idiot - Any Other Deep Rising.milk */; }; - 0C4C85D709DDC91100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768309DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk */; }; - 0C4C85D809DDC91100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768409DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk */; }; - 0C4C85D909DDC91100126FB8 /* Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768509DDC70100126FB8 /* Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk */; }; - 0C4C85DA09DDC91100126FB8 /* Rozzor and Zylot - Associative Order.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768609DDC70100126FB8 /* Rozzor and Zylot - Associative Order.milk */; }; - 0C4C85DB09DDC91100126FB8 /* Scanner (@ztec)2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768709DDC70100126FB8 /* Scanner (@ztec)2.milk */; }; - 0C4C85DC09DDC91100126FB8 /* Studio Music - Cherished Desires.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768809DDC70100126FB8 /* Studio Music - Cherished Desires.milk */; }; - 0C4C85DD09DDC91100126FB8 /* Studio Music and Unchained - Rapid Alteration.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768909DDC70100126FB8 /* Studio Music and Unchained - Rapid Alteration.milk */; }; - 0C4C85DE09DDC91100126FB8 /* StudioMusic & Unchained - Entity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768A09DDC70100126FB8 /* StudioMusic & Unchained - Entity.milk */; }; - 0C4C85DF09DDC91100126FB8 /* StudioMusic & Unchained - Minor Alteration.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768B09DDC70100126FB8 /* StudioMusic & Unchained - Minor Alteration.milk */; }; - 0C4C85E009DDC91100126FB8 /* StudioMusic & Unchained - So Much Love.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768C09DDC70100126FB8 /* StudioMusic & Unchained - So Much Love.milk */; }; - 0C4C85E109DDC91100126FB8 /* StudioMusic & Unchained - State Of Discretion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768D09DDC70100126FB8 /* StudioMusic & Unchained - State Of Discretion.milk */; }; - 0C4C85E209DDC91100126FB8 /* StudioMusic & Unchained - Wrenched Fate.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768E09DDC70100126FB8 /* StudioMusic & Unchained - Wrenched Fate.milk */; }; - 0C4C85E309DDC91100126FB8 /* StudioMusic - Harmonic Bliss (elated mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C768F09DDC70100126FB8 /* StudioMusic - Harmonic Bliss (elated mix).milk */; }; - 0C4C85E409DDC91100126FB8 /* StudioMusic - It's Only Make Believe.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769009DDC70100126FB8 /* StudioMusic - It's Only Make Believe.milk */; }; - 0C4C85E509DDC91100126FB8 /* StudioMusic - Numerosity.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769109DDC70100126FB8 /* StudioMusic - Numerosity.milk */; }; - 0C4C85E609DDC91100126FB8 /* StudioMusic - Twisted Galaxy.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769209DDC70100126FB8 /* StudioMusic - Twisted Galaxy.milk */; }; - 0C4C85E709DDC91100126FB8 /* StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769309DDC70100126FB8 /* StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk */; }; - 0C4C85E809DDC91100126FB8 /* TEcHNO and SandStorm - Psychodelic Highway.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769409DDC70100126FB8 /* TEcHNO and SandStorm - Psychodelic Highway.milk */; }; - 0C4C85E909DDC91100126FB8 /* Telek - City Helix Lattice.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769509DDC70100126FB8 /* Telek - City Helix Lattice.milk */; }; - 0C4C85EA09DDC91100126FB8 /* Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769609DDC70100126FB8 /* Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk */; }; - 0C4C85EB09DDC91100126FB8 /* Telek - Flicker (@xis).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769709DDC70100126FB8 /* Telek - Flicker (@xis).milk */; }; - 0C4C85EC09DDC91100126FB8 /* Telek - Flicker.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769809DDC70100126FB8 /* Telek - Flicker.milk */; }; - 0C4C85ED09DDC91100126FB8 /* Telek - Globetrotting (Sailors Delight Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769909DDC70100126FB8 /* Telek - Globetrotting (Sailors Delight Mix).milk */; }; - 0C4C85EE09DDC91100126FB8 /* Telek - Lost Star (Flash).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769A09DDC70100126FB8 /* Telek - Lost Star (Flash).milk */; }; - 0C4C85EF09DDC91100126FB8 /* Telek - Recirculate (Cool).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769B09DDC70100126FB8 /* Telek - Recirculate (Cool).milk */; }; - 0C4C85F009DDC91100126FB8 /* Telek - Sine Wave.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769C09DDC70100126FB8 /* Telek - Sine Wave.milk */; }; - 0C4C85F109DDC91100126FB8 /* Telek - Slow Shift Matrix (bb4.5).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769D09DDC70100126FB8 /* Telek - Slow Shift Matrix (bb4.5).milk */; }; - 0C4C85F209DDC91100126FB8 /* Telek - Slow Shift Matrix (Ethereal Drift).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769E09DDC70100126FB8 /* Telek - Slow Shift Matrix (Ethereal Drift).milk */; }; - 0C4C85F309DDC91100126FB8 /* Telek - Slow Shift Matrix.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C769F09DDC70100126FB8 /* Telek - Slow Shift Matrix.milk */; }; - 0C4C85F409DDC91100126FB8 /* Telek - Slow Thing (Spiderman Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A009DDC70100126FB8 /* Telek - Slow Thing (Spiderman Mix).milk */; }; - 0C4C85F509DDC91100126FB8 /* Telek - Spiral Tabletop (New and Improved!).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A109DDC70100126FB8 /* Telek - Spiral Tabletop (New and Improved!).milk */; }; - 0C4C85F609DDC91100126FB8 /* Telek - Spokes (More Dynamic).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A209DDC70100126FB8 /* Telek - Spokes (More Dynamic).milk */; }; - 0C4C85F709DDC91100126FB8 /* Telek - Target Practice (tracking retreat slide).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A309DDC70100126FB8 /* Telek - Target Practice (tracking retreat slide).milk */; }; - 0C4C85F809DDC91100126FB8 /* Telek EMPR - Scanner - Trust me I've got a Melways.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A409DDC70100126FB8 /* Telek EMPR - Scanner - Trust me I've got a Melways.milk */; }; - 0C4C85F909DDC91100126FB8 /* TobiasWolfBoi - Cataract.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A509DDC70100126FB8 /* TobiasWolfBoi - Cataract.milk */; }; - 0C4C85FA09DDC91100126FB8 /* TobiasWolfBoi - The Pit.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A609DDC70100126FB8 /* TobiasWolfBoi - The Pit.milk */; }; - 0C4C85FB09DDC91100126FB8 /* Tschoey - Music Flower.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A709DDC70100126FB8 /* Tschoey - Music Flower.milk */; }; - 0C4C85FC09DDC91100126FB8 /* Unchained & Che - Oddnezz 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A809DDC70100126FB8 /* Unchained & Che - Oddnezz 3.milk */; }; - 0C4C85FD09DDC91100126FB8 /* Unchained & Che - Oddnezz 4 (Done it again).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76A909DDC70100126FB8 /* Unchained & Che - Oddnezz 4 (Done it again).milk */; }; - 0C4C85FE09DDC91100126FB8 /* Unchained & CTho - Bad Vibes.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AA09DDC70100126FB8 /* Unchained & CTho - Bad Vibes.milk */; }; - 0C4C85FF09DDC91100126FB8 /* Unchained & Illusion - Dual Wave 3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AB09DDC70100126FB8 /* Unchained & Illusion - Dual Wave 3.milk */; }; - 0C4C860009DDC91100126FB8 /* Unchained & Illusion - Logic Morph.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AC09DDC70100126FB8 /* Unchained & Illusion - Logic Morph.milk */; }; - 0C4C860109DDC91100126FB8 /* Unchained & Illusion - Spirit Morph.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AD09DDC70100126FB8 /* Unchained & Illusion - Spirit Morph.milk */; }; - 0C4C860209DDC91100126FB8 /* Unchained & Rovastar - For The Seagull.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AE09DDC70100126FB8 /* Unchained & Rovastar - For The Seagull.milk */; }; - 0C4C860309DDC91100126FB8 /* Unchained & Rovastar - Luckless.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76AF09DDC70100126FB8 /* Unchained & Rovastar - Luckless.milk */; }; - 0C4C860409DDC91100126FB8 /* Unchained & Rovastar - Rainbow Obscura.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B009DDC70100126FB8 /* Unchained & Rovastar - Rainbow Obscura.milk */; }; - 0C4C860509DDC91100126FB8 /* Unchained & Rovastar - Slow Solstice.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B109DDC70100126FB8 /* Unchained & Rovastar - Slow Solstice.milk */; }; - 0C4C860609DDC91100126FB8 /* Unchained & Rovastar - Triptionary.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B209DDC70100126FB8 /* Unchained & Rovastar - Triptionary.milk */; }; - 0C4C860709DDC91100126FB8 /* Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B309DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk */; }; - 0C4C860809DDC91100126FB8 /* Unchained & Rovastar - Wormhole Pillars.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B409DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars.milk */; }; - 0C4C860909DDC91100126FB8 /* Unchained & Rovastar - Xen Traffic.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B509DDC70100126FB8 /* Unchained & Rovastar - Xen Traffic.milk */; }; - 0C4C860A09DDC91100126FB8 /* Unchained - A Matter Of Taste (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B609DDC70100126FB8 /* Unchained - A Matter Of Taste (Remix).milk */; }; - 0C4C860B09DDC91100126FB8 /* Unchained - All You Can Eat.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B709DDC70100126FB8 /* Unchained - All You Can Eat.milk */; }; - 0C4C860C09DDC91100126FB8 /* Unchained - Bad Karma Oddnezz Style.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B809DDC70100126FB8 /* Unchained - Bad Karma Oddnezz Style.milk */; }; - 0C4C860D09DDC91100126FB8 /* Unchained - Beat Demo (Demonology Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76B909DDC70100126FB8 /* Unchained - Beat Demo (Demonology Mix).milk */; }; - 0C4C860E09DDC91100126FB8 /* Unchained - Beat Demo 1.0.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BA09DDC70100126FB8 /* Unchained - Beat Demo 1.0.milk */; }; - 0C4C860F09DDC91100126FB8 /* Unchained - Beat Demo 10.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BB09DDC70100126FB8 /* Unchained - Beat Demo 10.milk */; }; - 0C4C861009DDC91100126FB8 /* Unchained - Beat Demo 2.0.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BC09DDC70100126FB8 /* Unchained - Beat Demo 2.0.milk */; }; - 0C4C861109DDC91100126FB8 /* Unchained - Beat Demo 2.1.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BD09DDC70100126FB8 /* Unchained - Beat Demo 2.1.milk */; }; - 0C4C861209DDC91100126FB8 /* Unchained - Beat Demo 2.2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BE09DDC70100126FB8 /* Unchained - Beat Demo 2.2.milk */; }; - 0C4C861309DDC91100126FB8 /* Unchained - Beat Demo 2.3.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76BF09DDC70100126FB8 /* Unchained - Beat Demo 2.3.milk */; }; - 0C4C861409DDC91100126FB8 /* Unchained - Cartoon Factory.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C009DDC70100126FB8 /* Unchained - Cartoon Factory.milk */; }; - 0C4C861509DDC91100126FB8 /* Unchained - Cranked On Failure.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C109DDC70100126FB8 /* Unchained - Cranked On Failure.milk */; }; - 0C4C861609DDC91100126FB8 /* Unchained - Custom Gramatix (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C209DDC70100126FB8 /* Unchained - Custom Gramatix (Remix).milk */; }; - 0C4C861709DDC91100126FB8 /* Unchained - Deeper Logic.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C309DDC70100126FB8 /* Unchained - Deeper Logic.milk */; }; - 0C4C861809DDC91100126FB8 /* Unchained - elite vectronics.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C409DDC70100126FB8 /* Unchained - elite vectronics.milk */; }; - 0C4C861909DDC91100126FB8 /* Unchained - Free to Feel (Valium Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C509DDC70200126FB8 /* Unchained - Free to Feel (Valium Remix).milk */; }; - 0C4C861A09DDC91100126FB8 /* Unchained - French Clothing.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C609DDC70200126FB8 /* Unchained - French Clothing.milk */; }; - 0C4C861B09DDC91100126FB8 /* Unchained - Games With Light & Sound.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C709DDC70200126FB8 /* Unchained - Games With Light & Sound.milk */; }; - 0C4C861C09DDC91100126FB8 /* Unchained - Ghostlight Whisper.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C809DDC70200126FB8 /* Unchained - Ghostlight Whisper.milk */; }; - 0C4C861D09DDC91100126FB8 /* Unchained - God Of The Game (Remix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76C909DDC70200126FB8 /* Unchained - God Of The Game (Remix).milk */; }; - 0C4C861E09DDC91100126FB8 /* Unchained - Goo Kung Fu.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CA09DDC70200126FB8 /* Unchained - Goo Kung Fu.milk */; }; - 0C4C861F09DDC91100126FB8 /* Unchained - Goofy Beat Detection.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CB09DDC70200126FB8 /* Unchained - Goofy Beat Detection.milk */; }; - 0C4C862009DDC91100126FB8 /* Unchained - Housed In A Childish Mind.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CC09DDC70200126FB8 /* Unchained - Housed In A Childish Mind.milk */; }; - 0C4C862109DDC91100126FB8 /* Unchained - In Memory Of Peg.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CD09DDC70200126FB8 /* Unchained - In Memory Of Peg.milk */; }; - 0C4C862209DDC91100126FB8 /* Unchained - Invariant Under Rigorous Motions.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CE09DDC70200126FB8 /* Unchained - Invariant Under Rigorous Motions.milk */; }; - 0C4C862309DDC91100126FB8 /* Unchained - Jaded Emotion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76CF09DDC70200126FB8 /* Unchained - Jaded Emotion.milk */; }; - 0C4C862409DDC91100126FB8 /* Unchained - Jaundice.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D009DDC70200126FB8 /* Unchained - Jaundice.milk */; }; - 0C4C862509DDC91100126FB8 /* Unchained - Making a Science of It 4.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D109DDC70200126FB8 /* Unchained - Making a Science of It 4.milk */; }; - 0C4C862609DDC91100126FB8 /* Unchained - Morat's Final Voyage.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D209DDC70200126FB8 /* Unchained - Morat's Final Voyage.milk */; }; - 0C4C862709DDC91100126FB8 /* Unchained - Non-Professional Music Analyzer.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D309DDC70200126FB8 /* Unchained - Non-Professional Music Analyzer.milk */; }; - 0C4C862809DDC91100126FB8 /* Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D409DDC70200126FB8 /* Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk */; }; - 0C4C862909DDC91100126FB8 /* Unchained - Perverted Dialect.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D509DDC70200126FB8 /* Unchained - Perverted Dialect.milk */; }; - 0C4C862A09DDC91100126FB8 /* Unchained - Picture Of Exile.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D609DDC70200126FB8 /* Unchained - Picture Of Exile.milk */; }; - 0C4C862B09DDC91100126FB8 /* Unchained - Picture Of Nectar.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D709DDC70200126FB8 /* Unchained - Picture Of Nectar.milk */; }; - 0C4C862C09DDC91100126FB8 /* Unchained - Picture Of Poison.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D809DDC70200126FB8 /* Unchained - Picture Of Poison.milk */; }; - 0C4C862D09DDC91100126FB8 /* Unchained - ReAwoke.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76D909DDC70200126FB8 /* Unchained - ReAwoke.milk */; }; - 0C4C862E09DDC91100126FB8 /* Unchained - Resistance.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DA09DDC70200126FB8 /* Unchained - Resistance.milk */; }; - 0C4C862F09DDC91100126FB8 /* Unchained - Ribald Ballad.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DB09DDC70200126FB8 /* Unchained - Ribald Ballad.milk */; }; - 0C4C863009DDC91100126FB8 /* Unchained - Shaping The Grid.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DC09DDC70200126FB8 /* Unchained - Shaping The Grid.milk */; }; - 0C4C863109DDC91100126FB8 /* Unchained - Subjective Experience Of The Manifold.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DD09DDC70200126FB8 /* Unchained - Subjective Experience Of The Manifold.milk */; }; - 0C4C863209DDC91100126FB8 /* Unchained - Unclaimed Wreckage 2 (Shamanic).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DE09DDC70200126FB8 /* Unchained - Unclaimed Wreckage 2 (Shamanic).milk */; }; - 0C4C863309DDC91100126FB8 /* Unchained - Unclaimed Wreckage.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76DF09DDC70200126FB8 /* Unchained - Unclaimed Wreckage.milk */; }; - 0C4C863409DDC91100126FB8 /* Unchained - Unified Drag 2.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E009DDC70200126FB8 /* Unchained - Unified Drag 2.milk */; }; - 0C4C863509DDC91100126FB8 /* Unchained - ventilation.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E109DDC70200126FB8 /* Unchained - ventilation.milk */; }; - 0C4C863609DDC91100126FB8 /* Unchained - Working the Grid.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E209DDC70200126FB8 /* Unchained - Working the Grid.milk */; }; - 0C4C863709DDC91100126FB8 /* Vovan - Bass With Flover.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E309DDC70200126FB8 /* Vovan - Bass With Flover.milk */; }; - 0C4C863809DDC91100126FB8 /* Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E409DDC70200126FB8 /* Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk */; }; - 0C4C863909DDC91100126FB8 /* Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E509DDC70200126FB8 /* Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk */; }; - 0C4C863A09DDC91100126FB8 /* Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E609DDC70200126FB8 /* Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk */; }; - 0C4C863B09DDC91100126FB8 /* Zylot & Krash - Extremophile.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E709DDC70200126FB8 /* Zylot & Krash - Extremophile.milk */; }; - 0C4C863C09DDC91100126FB8 /* Zylot & Mstress - Celebrate.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E809DDC70200126FB8 /* Zylot & Mstress - Celebrate.milk */; }; - 0C4C863D09DDC91100126FB8 /* Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76E909DDC70200126FB8 /* Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk */; }; - 0C4C863E09DDC91100126FB8 /* Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76EA09DDC70200126FB8 /* Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk */; }; - 0C4C863F09DDC91100126FB8 /* Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76EB09DDC70200126FB8 /* Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk */; }; - 0C4C864009DDC91100126FB8 /* Zylot & Wulfson - Pulse Beat.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76EC09DDC70200126FB8 /* Zylot & Wulfson - Pulse Beat.milk */; }; - 0C4C864109DDC91100126FB8 /* Zylot - Azirphaeli's Mirror.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76ED09DDC70200126FB8 /* Zylot - Azirphaeli's Mirror.milk */; }; - 0C4C864209DDC91100126FB8 /* Zylot - Block Of Sound (Abstract Architecture Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76EE09DDC70200126FB8 /* Zylot - Block Of Sound (Abstract Architecture Mix).milk */; }; - 0C4C864309DDC91100126FB8 /* Zylot - Block Of Sound (Fractal Construction Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76EF09DDC70200126FB8 /* Zylot - Block Of Sound (Fractal Construction Mix).milk */; }; - 0C4C864409DDC91100126FB8 /* Zylot - Burning Passion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F009DDC70200126FB8 /* Zylot - Burning Passion.milk */; }; - 0C4C864509DDC91100126FB8 /* Zylot - Color Of Music.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F109DDC70200126FB8 /* Zylot - Color Of Music.milk */; }; - 0C4C864609DDC91100126FB8 /* Zylot - Crystal Ball (Magical Reaction Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F209DDC70200126FB8 /* Zylot - Crystal Ball (Magical Reaction Mix).milk */; }; - 0C4C864709DDC91100126FB8 /* Zylot - De(-a)range(d)(ment) complex.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F309DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) complex.milk */; }; - 0C4C864809DDC91100126FB8 /* Zylot - De(-a)range(d)(ment) strain.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F409DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) strain.milk */; }; - 0C4C864909DDC91100126FB8 /* Zylot - Digiscape Advanced Processor.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F509DDC70200126FB8 /* Zylot - Digiscape Advanced Processor.milk */; }; - 0C4C864A09DDC91100126FB8 /* Zylot - Ether Storm.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F609DDC70200126FB8 /* Zylot - Ether Storm.milk */; }; - 0C4C864B09DDC91100126FB8 /* Zylot - Global Earthquake.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F709DDC70200126FB8 /* Zylot - Global Earthquake.milk */; }; - 0C4C864C09DDC91100126FB8 /* Zylot - Hollow Shell.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F809DDC70200126FB8 /* Zylot - Hollow Shell.milk */; }; - 0C4C864D09DDC91100126FB8 /* Zylot - Inside The Planar Portal.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76F909DDC70200126FB8 /* Zylot - Inside The Planar Portal.milk */; }; - 0C4C864E09DDC91100126FB8 /* Zylot - light of the path.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FA09DDC70200126FB8 /* Zylot - light of the path.milk */; }; - 0C4C864F09DDC91100126FB8 /* Zylot - Magladon.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FB09DDC70200126FB8 /* Zylot - Magladon.milk */; }; - 0C4C865009DDC91100126FB8 /* Zylot - Magma Crawl.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FC09DDC70200126FB8 /* Zylot - Magma Crawl.milk */; }; - 0C4C865109DDC91100126FB8 /* Zylot - Magma Vein.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FD09DDC70200126FB8 /* Zylot - Magma Vein.milk */; }; - 0C4C865209DDC91100126FB8 /* Zylot - Mixing Pot.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FE09DDC70200126FB8 /* Zylot - Mixing Pot.milk */; }; - 0C4C865309DDC91100126FB8 /* Zylot - New Star.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C76FF09DDC70200126FB8 /* Zylot - New Star.milk */; }; - 0C4C865409DDC91100126FB8 /* Zylot - PinWheel.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770009DDC70200126FB8 /* Zylot - PinWheel.milk */; }; - 0C4C865509DDC91100126FB8 /* Zylot - Present for Saddam.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770109DDC70200126FB8 /* Zylot - Present for Saddam.milk */; }; - 0C4C865609DDC91100126FB8 /* Zylot - Puddle Of Music.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770209DDC70200126FB8 /* Zylot - Puddle Of Music.milk */; }; - 0C4C865709DDC91100126FB8 /* Zylot - Rainbow Planet Under Attack.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770309DDC70200126FB8 /* Zylot - Rainbow Planet Under Attack.milk */; }; - 0C4C865809DDC91100126FB8 /* Zylot - Riding The Sound Waves.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770409DDC70200126FB8 /* Zylot - Riding The Sound Waves.milk */; }; - 0C4C865909DDC91100126FB8 /* Zylot - Rush.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770509DDC70200126FB8 /* Zylot - Rush.milk */; }; - 0C4C865A09DDC91100126FB8 /* Zylot - S Pulse Virus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770609DDC70200126FB8 /* Zylot - S Pulse Virus.milk */; }; - 0C4C865B09DDC91100126FB8 /* Zylot - S. Pulse Virus.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770709DDC70200126FB8 /* Zylot - S. Pulse Virus.milk */; }; - 0C4C865C09DDC91100126FB8 /* Zylot - String.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770809DDC70200126FB8 /* Zylot - String.milk */; }; - 0C4C865D09DDC91100126FB8 /* Zylot - Tangent Universe (Collapsed With Artifact Mix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770909DDC70200126FB8 /* Zylot - Tangent Universe (Collapsed With Artifact Mix).milk */; }; - 0C4C865E09DDC91100126FB8 /* Zylot - The Deeper.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770A09DDC70200126FB8 /* Zylot - The Deeper.milk */; }; - 0C4C865F09DDC91100126FB8 /* Zylot - The Inner Workings of my New Computer.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770B09DDC70200126FB8 /* Zylot - The Inner Workings of my New Computer.milk */; }; - 0C4C866009DDC91100126FB8 /* Zylot - Tunnel Of Illusion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770C09DDC70200126FB8 /* Zylot - Tunnel Of Illusion.milk */; }; - 0C4C866109DDC91100126FB8 /* Zylot - Visionarie (geiss aspect ratio fix).milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770D09DDC70200126FB8 /* Zylot - Visionarie (geiss aspect ratio fix).milk */; }; - 0C4C866209DDC91100126FB8 /* Zylot - Visionarie.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770E09DDC70200126FB8 /* Zylot - Visionarie.milk */; }; - 0C4C866309DDC91100126FB8 /* Zylot - Waves Of Blood.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C770F09DDC70200126FB8 /* Zylot - Waves Of Blood.milk */; }; - 0C4C866409DDC91100126FB8 /* Zylot - Winding Path Over The Blue Abyss.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C771009DDC70200126FB8 /* Zylot - Winding Path Over The Blue Abyss.milk */; }; - 0C4C866509DDC91100126FB8 /* Zylot and Rovastar - Iouo Stone Morphic Fusion.milk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C4C771109DDC70200126FB8 /* Zylot and Rovastar - Iouo Stone Morphic Fusion.milk */; }; - 0C4C866F09DDCDB600126FB8 /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2AAC046055464E500DB518D /* libprojectM.a */; }; - 0C4C867009DDCDBA00126FB8 /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2AAC046055464E500DB518D /* libprojectM.a */; }; - 0C74DBCE0C20822A0043103D /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 0C74DBCD0C20822A0043103D /* PkgInfo */; }; - 0C74DBD00C2082310043103D /* PkgInfo in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0C74DBCD0C20822A0043103D /* PkgInfo */; }; - 0CB611D00C1F2D1E0060821A /* Vera.ttf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0CB611CE0C1F2D1E0060821A /* Vera.ttf */; }; - 0CB611D10C1F2D1E0060821A /* VeraMono.ttf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0CB611CF0C1F2D1E0060821A /* VeraMono.ttf */; }; - 0CB611D20C1F2D440060821A /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2AAC046055464E500DB518D /* libprojectM.a */; }; - 0CBE3BDD0A74118500F42C68 /* projectMvis.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0CBE3BDC0A74118500F42C68 /* projectMvis.cc */; }; - 0CBFA8420C1AB0F2007E9382 /* BeatDetect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8320C1AB0F2007E9382 /* BeatDetect.cpp */; }; - 0CBFA8430C1AB0F2007E9382 /* BeatDetect.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8330C1AB0F2007E9382 /* BeatDetect.h */; }; - 0CBFA8440C1AB0F2007E9382 /* browser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8340C1AB0F2007E9382 /* browser.cpp */; }; - 0CBFA8450C1AB0F2007E9382 /* browser.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8350C1AB0F2007E9382 /* browser.h */; }; - 0CBFA8470C1AB0F2007E9382 /* builtin_funcs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8370C1AB0F2007E9382 /* builtin_funcs.h */; }; - 0CBFA8480C1AB0F2007E9382 /* carbontoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8380C1AB0F2007E9382 /* carbontoprojectM.h */; }; - 0CBFA8490C1AB0F2007E9382 /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8390C1AB0F2007E9382 /* common.h */; }; - 0CBFA84A0C1AB0F2007E9382 /* compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA83A0C1AB0F2007E9382 /* compare.h */; }; - 0CBFA84B0C1AB0F2007E9382 /* console_interface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA83B0C1AB0F2007E9382 /* console_interface.cpp */; }; - 0CBFA84C0C1AB0F2007E9382 /* console_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA83C0C1AB0F2007E9382 /* console_interface.h */; }; - 0CBFA84D0C1AB0F2007E9382 /* CustomShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA83D0C1AB0F2007E9382 /* CustomShape.cpp */; }; - 0CBFA84E0C1AB0F2007E9382 /* CustomShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA83E0C1AB0F2007E9382 /* CustomShape.h */; }; - 0CBFA84F0C1AB0F2007E9382 /* CustomWave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA83F0C1AB0F2007E9382 /* CustomWave.cpp */; }; - 0CBFA8500C1AB0F2007E9382 /* CustomWave.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8400C1AB0F2007E9382 /* CustomWave.h */; }; - 0CBFA8510C1AB0F2007E9382 /* CValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8410C1AB0F2007E9382 /* CValue.h */; }; - 0CBFA8640C1AB102007E9382 /* dlldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8520C1AB102007E9382 /* dlldefs.h */; }; - 0CBFA8650C1AB102007E9382 /* editor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8530C1AB102007E9382 /* editor.cpp */; }; - 0CBFA8660C1AB102007E9382 /* editor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8540C1AB102007E9382 /* editor.h */; }; - 0CBFA8670C1AB102007E9382 /* Eval.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8550C1AB102007E9382 /* Eval.cpp */; }; - 0CBFA8680C1AB102007E9382 /* Eval.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8560C1AB102007E9382 /* Eval.h */; }; - 0CBFA8690C1AB102007E9382 /* event.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8570C1AB102007E9382 /* event.h */; }; - 0CBFA86A0C1AB102007E9382 /* Expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8580C1AB102007E9382 /* Expr.cpp */; }; - 0CBFA86B0C1AB102007E9382 /* Expr.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8590C1AB102007E9382 /* Expr.h */; }; - 0CBFA86C0C1AB102007E9382 /* fatal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA85A0C1AB102007E9382 /* fatal.h */; }; - 0CBFA86D0C1AB102007E9382 /* fftsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA85B0C1AB102007E9382 /* fftsg.cpp */; }; - 0CBFA86E0C1AB102007E9382 /* fftsg.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA85C0C1AB102007E9382 /* fftsg.h */; }; - 0CBFA86F0C1AB102007E9382 /* Func.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA85D0C1AB102007E9382 /* Func.cpp */; }; - 0CBFA8700C1AB102007E9382 /* Func.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA85E0C1AB102007E9382 /* Func.h */; }; - 0CBFA8710C1AB102007E9382 /* glConsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA85F0C1AB102007E9382 /* glConsole.cpp */; }; - 0CBFA8720C1AB102007E9382 /* glConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8600C1AB102007E9382 /* glConsole.h */; }; - 0CBFA8740C1AB102007E9382 /* InitCond.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8620C1AB102007E9382 /* InitCond.cpp */; }; - 0CBFA8750C1AB102007E9382 /* InitCond.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8630C1AB102007E9382 /* InitCond.h */; }; - 0CBFA8790C1AB116007E9382 /* lvtoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8760C1AB116007E9382 /* lvtoprojectM.h */; }; - 0CBFA87A0C1AB116007E9382 /* menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8770C1AB116007E9382 /* menu.cpp */; }; - 0CBFA87B0C1AB116007E9382 /* menu.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8780C1AB116007E9382 /* menu.h */; }; - 0CBFA8970C1AB12E007E9382 /* Param.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA87C0C1AB12E007E9382 /* Param.cpp */; }; - 0CBFA8980C1AB12E007E9382 /* Param.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA87D0C1AB12E007E9382 /* Param.h */; }; - 0CBFA8990C1AB12E007E9382 /* Parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA87E0C1AB12E007E9382 /* Parser.cpp */; }; - 0CBFA89A0C1AB12E007E9382 /* Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA87F0C1AB12E007E9382 /* Parser.h */; }; - 0CBFA89B0C1AB12E007E9382 /* pbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8800C1AB12E007E9382 /* pbuffer.cpp */; }; - 0CBFA89C0C1AB12E007E9382 /* pbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8810C1AB12E007E9382 /* pbuffer.h */; }; - 0CBFA89D0C1AB12E007E9382 /* PCM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8820C1AB12E007E9382 /* PCM.cpp */; }; - 0CBFA89E0C1AB12E007E9382 /* PCM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8830C1AB12E007E9382 /* PCM.h */; }; - 0CBFA89F0C1AB12E007E9382 /* PerFrameEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8840C1AB12E007E9382 /* PerFrameEqn.cpp */; }; - 0CBFA8A00C1AB12E007E9382 /* PerFrameEqn.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8850C1AB12E007E9382 /* PerFrameEqn.h */; }; - 0CBFA8A10C1AB12E007E9382 /* PerPixelEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8860C1AB12E007E9382 /* PerPixelEqn.cpp */; }; - 0CBFA8A20C1AB12E007E9382 /* PerPixelEqn.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8870C1AB12E007E9382 /* PerPixelEqn.h */; }; - 0CBFA8A30C1AB12E007E9382 /* PerPointEqn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8880C1AB12E007E9382 /* PerPointEqn.cpp */; }; - 0CBFA8A40C1AB12E007E9382 /* PerPointEqn.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8890C1AB12E007E9382 /* PerPointEqn.h */; }; - 0CBFA8A50C1AB12E007E9382 /* Preset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA88A0C1AB12E007E9382 /* Preset.cpp */; }; - 0CBFA8A60C1AB12E007E9382 /* Preset.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA88B0C1AB12E007E9382 /* Preset.h */; }; - 0CBFA8A70C1AB12E007E9382 /* projectM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA88C0C1AB12E007E9382 /* projectM.cpp */; }; - 0CBFA8A80C1AB12E007E9382 /* projectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA88D0C1AB12E007E9382 /* projectM.h */; }; - 0CBFA8A90C1AB12E007E9382 /* sdltoprojectM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA88E0C1AB12E007E9382 /* sdltoprojectM.h */; }; - 0CBFA8AA0C1AB12E007E9382 /* SplayNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA88F0C1AB12E007E9382 /* SplayNode.cpp */; }; - 0CBFA8AB0C1AB12E007E9382 /* SplayNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8900C1AB12E007E9382 /* SplayNode.h */; }; - 0CBFA8AC0C1AB12E007E9382 /* SplayTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8910C1AB12E007E9382 /* SplayTree.cpp */; }; - 0CBFA8AD0C1AB12E007E9382 /* SplayTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8920C1AB12E007E9382 /* SplayTree.h */; }; - 0CBFA8AE0C1AB12E007E9382 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8930C1AB12E007E9382 /* timer.cpp */; }; - 0CBFA8AF0C1AB12E007E9382 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8940C1AB12E007E9382 /* timer.h */; }; - 0CBFA8B00C1AB12E007E9382 /* wipemalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8950C1AB12E007E9382 /* wipemalloc.cpp */; }; - 0CBFA8B10C1AB12E007E9382 /* wipemalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CBFA8960C1AB12E007E9382 /* wipemalloc.h */; }; - 0CBFA8C70C1AB2F3007E9382 /* wxvisApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8C10C1AB2F3007E9382 /* wxvisApp.cpp */; }; - 0CBFA8C80C1AB2F3007E9382 /* wxvisCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8C30C1AB2F3007E9382 /* wxvisCanvas.cpp */; }; - 0CBFA8C90C1AB2F3007E9382 /* wxvisFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8C50C1AB2F3007E9382 /* wxvisFrame.cpp */; }; - 0CBFA8D50C1AB4FE007E9382 /* iprojectM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8D40C1AB4FE007E9382 /* iprojectM.cpp */; }; - 0CBFA8D90C1AB50E007E9382 /* iTunesAPI.c in Sources */ = {isa = PBXBuildFile; fileRef = 0CBFA8D60C1AB50E007E9382 /* iTunesAPI.c */; }; - 0CCF40050C0A2F870030828E /* projectM.icns in Resources */ = {isa = PBXBuildFile; fileRef = 0CCF40040C0A2F870030828E /* projectM.icns */; }; - 0CDBB8220C1F4540007A1868 /* libglew.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0CDBB8210C1F4540007A1868 /* libglew.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 0C3EBFE20C0639750041F14F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = libprojectM; - }; - 0C4C868C09DDCEAA00126FB8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = libprojectM; - }; - 0C4C868E09DDCEAC00126FB8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = libprojectM; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 0C4C83C809DDC7BD00126FB8 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = fonts; - dstSubfolderSpec = 7; - files = ( - 0CB611D00C1F2D1E0060821A /* Vera.ttf in CopyFiles */, - 0CB611D10C1F2D1E0060821A /* VeraMono.ttf in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C83D909DDC8FC00126FB8 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = presets; - dstSubfolderSpec = 7; - files = ( - 0C4C83DD09DDC91100126FB8 /* ---ar()mo-- - Spirit of East v2.milk in CopyFiles */, - 0C4C83DE09DDC91100126FB8 /* Aderrasi - Agitator.milk in CopyFiles */, - 0C4C83DF09DDC91100126FB8 /* Aderrasi - Aimless (Gravity Directive Mix).milk in CopyFiles */, - 0C4C83E009DDC91100126FB8 /* Aderrasi - Aimless (Spirogravity Mix).milk in CopyFiles */, - 0C4C83E109DDC91100126FB8 /* Aderrasi - Airhandler (Menagerie Mix).milk in CopyFiles */, - 0C4C83E209DDC91100126FB8 /* Aderrasi - Airs (Windy Mix).milk in CopyFiles */, - 0C4C83E309DDC91100126FB8 /* Aderrasi - Airs.milk in CopyFiles */, - 0C4C83E409DDC91100126FB8 /* Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk in CopyFiles */, - 0C4C83E509DDC91100126FB8 /* Aderrasi - Anchorpulse (Verified Mix).milk in CopyFiles */, - 0C4C83E609DDC91100126FB8 /* Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk in CopyFiles */, - 0C4C83E709DDC91100126FB8 /* Aderrasi - Antidote (Aqualung Mix).milk in CopyFiles */, - 0C4C83E809DDC91100126FB8 /* Aderrasi - Antidote (Side Effects Mix).milk in CopyFiles */, - 0C4C83E909DDC91100126FB8 /* Aderrasi - Antidote.milk in CopyFiles */, - 0C4C83EA09DDC91100126FB8 /* Aderrasi - Antique Abyss.milk in CopyFiles */, - 0C4C83EB09DDC91100126FB8 /* Aderrasi - Arise! (Padded Mix).milk in CopyFiles */, - 0C4C83EC09DDC91100126FB8 /* Aderrasi - Ashes Of Air (Remix).milk in CopyFiles */, - 0C4C83ED09DDC91100126FB8 /* Aderrasi - Bitterfeld (Crystal Border Mix).milk in CopyFiles */, - 0C4C83EE09DDC91100126FB8 /* Aderrasi - Blender.milk in CopyFiles */, - 0C4C83EF09DDC91100126FB8 /* Aderrasi - Bow To Gravity.milk in CopyFiles */, - 0C4C83F009DDC91100126FB8 /* Aderrasi - Brakefreak.milk in CopyFiles */, - 0C4C83F109DDC91100126FB8 /* Aderrasi - Candy Avian.milk in CopyFiles */, - 0C4C83F209DDC91100126FB8 /* Aderrasi - Causeway Of Dreams (Nightmare Mix).milk in CopyFiles */, - 0C4C83F309DDC91100126FB8 /* Aderrasi - Causeway Of Dreams (REMix).milk in CopyFiles */, - 0C4C83F409DDC91100126FB8 /* Aderrasi - Causeway Of Dreams.milk in CopyFiles */, - 0C4C83F509DDC91100126FB8 /* Aderrasi - Chromatic Abyss (The Other Side).milk in CopyFiles */, - 0C4C83F609DDC91100126FB8 /* Aderrasi - Circlefacade.milk in CopyFiles */, - 0C4C83F709DDC91100126FB8 /* Aderrasi - Contortion (Xenomorph Mix).milk in CopyFiles */, - 0C4C83F809DDC91100126FB8 /* Aderrasi - Contortion.milk in CopyFiles */, - 0C4C83F909DDC91100126FB8 /* Aderrasi - Crystal Storm.milk in CopyFiles */, - 0C4C83FA09DDC91100126FB8 /* Aderrasi - Dark Matter (Converse Mix).milk in CopyFiles */, - 0C4C83FB09DDC91100126FB8 /* Aderrasi - Elastoid.milk in CopyFiles */, - 0C4C83FC09DDC91100126FB8 /* Aderrasi - Floater Society.milk in CopyFiles */, - 0C4C83FD09DDC91100126FB8 /* Aderrasi - Flowing Form.milk in CopyFiles */, - 0C4C83FE09DDC91100126FB8 /* Aderrasi - Making Time (Swamp Mix).milk in CopyFiles */, - 0C4C83FF09DDC91100126FB8 /* Aderrasi - Multiviola.milk in CopyFiles */, - 0C4C840009DDC91100126FB8 /* Aderrasi - Negative Sun III.milk in CopyFiles */, - 0C4C840109DDC91100126FB8 /* Aderrasi - Paintsphere.milk in CopyFiles */, - 0C4C840209DDC91100126FB8 /* Aderrasi - Spillswirl.milk in CopyFiles */, - 0C4C840309DDC91100126FB8 /* Aderrasi - What Cannot Be Undone.milk in CopyFiles */, - 0C4C840409DDC91100126FB8 /* Aderrasi - What cannot be.milk in CopyFiles */, - 0C4C840509DDC91100126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk in CopyFiles */, - 0C4C840609DDC91100126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk in CopyFiles */, - 0C4C840709DDC91100126FB8 /* Bmelgren - Godhead.milk in CopyFiles */, - 0C4C840809DDC91100126FB8 /* Bmelgren - Hmmm.milk in CopyFiles */, - 0C4C840909DDC91100126FB8 /* Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk in CopyFiles */, - 0C4C840A09DDC91100126FB8 /* Bmelgren - Take This Highway.milk in CopyFiles */, - 0C4C840B09DDC91100126FB8 /* che - adela the flower.milk in CopyFiles */, - 0C4C840C09DDC91100126FB8 /* che - barcode infidelity.milk in CopyFiles */, - 0C4C840D09DDC91100126FB8 /* che - burning hus (oil mix).milk in CopyFiles */, - 0C4C840E09DDC91100126FB8 /* Che - Burning Hus.milk in CopyFiles */, - 0C4C840F09DDC91100126FB8 /* Che - Escape.milk in CopyFiles */, - 0C4C841009DDC91100126FB8 /* Che - Geology.milk in CopyFiles */, - 0C4C841109DDC91100126FB8 /* che - terracarbon stream.milk in CopyFiles */, - 0C4C841209DDC91100126FB8 /* Che - Watch & Fly.milk in CopyFiles */, - 0C4C841309DDC91100126FB8 /* CrystalHigh - mad ravetriping.milk in CopyFiles */, - 0C4C841409DDC91100126FB8 /* DaNOnE - Highway to Heaven (rotating).milk in CopyFiles */, - 0C4C841509DDC91100126FB8 /* EMPR - Random - Changing Polyevolution.milk in CopyFiles */, - 0C4C841609DDC91100126FB8 /* EMPR - Random - Light Speed Racer.milk in CopyFiles */, - 0C4C841709DDC91100126FB8 /* EMPR - Random - Look mama I'm on TV! 2.milk in CopyFiles */, - 0C4C841809DDC91100126FB8 /* EMPR - Random - They're so cute Dad can I keep one!.milk in CopyFiles */, - 0C4C841909DDC91100126FB8 /* EMPR - Random - Turbulence Sandwich.milk in CopyFiles */, - 0C4C841A09DDC91100126FB8 /* EvilJim - Follow the ball.milk in CopyFiles */, - 0C4C841B09DDC91100126FB8 /* EvilJim - Ice Drops.milk in CopyFiles */, - 0C4C841C09DDC91100126FB8 /* Fvese & Idiot24-7 - Rearview Mirror.milk in CopyFiles */, - 0C4C841D09DDC91100126FB8 /* Fvese - 0 To 60.milk in CopyFiles */, - 0C4C841E09DDC91100126FB8 /* Fvese - A Blur.milk in CopyFiles */, - 0C4C841F09DDC91100126FB8 /* Fvese - Lifesavor Anyone.milk in CopyFiles */, - 0C4C842009DDC91100126FB8 /* Fvese - Multi Circle.milk in CopyFiles */, - 0C4C842109DDC91100126FB8 /* Fvese - New meetings.milk in CopyFiles */, - 0C4C842209DDC91100126FB8 /* Fvese - Quicksand.milk in CopyFiles */, - 0C4C842309DDC91100126FB8 /* Fvese - Round and Round (geiss gamma mix).milk in CopyFiles */, - 0C4C842409DDC91100126FB8 /* Fvese - simple.milk in CopyFiles */, - 0C4C842509DDC91100126FB8 /* Fvese - Stand Still!.milk in CopyFiles */, - 0C4C842609DDC91100126FB8 /* Fvese - The Tunnel (Final Stage Mix).milk in CopyFiles */, - 0C4C842709DDC91100126FB8 /* Fvese - Window Reflection 6.milk in CopyFiles */, - 0C4C842809DDC91100126FB8 /* Fvese - Zoom Effects (Remix 2).milk in CopyFiles */, - 0C4C842909DDC91100126FB8 /* Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk in CopyFiles */, - 0C4C842A09DDC91100126FB8 /* Geiss & Rovastar - Notions Of Tonality 2.milk in CopyFiles */, - 0C4C842B09DDC91100126FB8 /* Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk in CopyFiles */, - 0C4C842C09DDC91100126FB8 /* Geiss - Aieeeeee!!!.milk in CopyFiles */, - 0C4C842D09DDC91100126FB8 /* Geiss - Anomaly 1.milk in CopyFiles */, - 0C4C842E09DDC91100126FB8 /* Geiss - Anomaly 2.milk in CopyFiles */, - 0C4C842F09DDC91100126FB8 /* Geiss - Approach.milk in CopyFiles */, - 0C4C843009DDC91100126FB8 /* Geiss - Asymptote.milk in CopyFiles */, - 0C4C843109DDC91100126FB8 /* Geiss - Bass Kaleidosphere.milk in CopyFiles */, - 0C4C843209DDC91100126FB8 /* Geiss - Bass Zoom.milk in CopyFiles */, - 0C4C843309DDC91100126FB8 /* Geiss - Bipolar 1.milk in CopyFiles */, - 0C4C843409DDC91100126FB8 /* Geiss - Bipolar 2.milk in CopyFiles */, - 0C4C843509DDC91100126FB8 /* Geiss - Bipolar 3.milk in CopyFiles */, - 0C4C843609DDC91100126FB8 /* Geiss - Bipolar 4.milk in CopyFiles */, - 0C4C843709DDC91100126FB8 /* Geiss - Bipolar 5.milk in CopyFiles */, - 0C4C843809DDC91100126FB8 /* Geiss - Blasto.milk in CopyFiles */, - 0C4C843909DDC91100126FB8 /* Geiss - Bonfire.milk in CopyFiles */, - 0C4C843A09DDC91100126FB8 /* Geiss - Bright Fiber Matrix 1.milk in CopyFiles */, - 0C4C843B09DDC91100126FB8 /* Geiss - Bright Fiber Matrix 2.milk in CopyFiles */, - 0C4C843C09DDC91100126FB8 /* Geiss - Calligraphy.milk in CopyFiles */, - 0C4C843D09DDC91100126FB8 /* Geiss - Cartographie.milk in CopyFiles */, - 0C4C843E09DDC91100126FB8 /* Geiss - Casino.milk in CopyFiles */, - 0C4C843F09DDC91100126FB8 /* Geiss - Cepiasound.milk in CopyFiles */, - 0C4C844009DDC91100126FB8 /* Geiss - Churn.milk in CopyFiles */, - 0C4C844109DDC91100126FB8 /* Geiss - Color Tones 1.milk in CopyFiles */, - 0C4C844209DDC91100126FB8 /* Geiss - Color Tones 2.milk in CopyFiles */, - 0C4C844309DDC91100126FB8 /* Geiss - Constant Velocity.milk in CopyFiles */, - 0C4C844409DDC91100126FB8 /* Geiss - Coral.milk in CopyFiles */, - 0C4C844509DDC91100126FB8 /* Geiss - Corpus Callosum.milk in CopyFiles */, - 0C4C844609DDC91100126FB8 /* Geiss - Cosmic Dust 1.milk in CopyFiles */, - 0C4C844709DDC91100126FB8 /* Geiss - Cosmic Dust 2.milk in CopyFiles */, - 0C4C844809DDC91100126FB8 /* Geiss - Cruzin'.milk in CopyFiles */, - 0C4C844909DDC91100126FB8 /* Geiss - Cycloid 1.milk in CopyFiles */, - 0C4C844A09DDC91100126FB8 /* Geiss - Cycloid 2.milk in CopyFiles */, - 0C4C844B09DDC91100126FB8 /* Geiss - Davod The Pod.milk in CopyFiles */, - 0C4C844C09DDC91100126FB8 /* Geiss - De La Moutard 1.milk in CopyFiles */, - 0C4C844D09DDC91100126FB8 /* Geiss - De La Moutard 2.milk in CopyFiles */, - 0C4C844E09DDC91100126FB8 /* Geiss - Demonic Distortion.milk in CopyFiles */, - 0C4C844F09DDC91100126FB8 /* Geiss - Descent.milk in CopyFiles */, - 0C4C845009DDC91100126FB8 /* Geiss - Destruction.milk in CopyFiles */, - 0C4C845109DDC91100126FB8 /* Geiss - Diffraction.milk in CopyFiles */, - 0C4C845209DDC91100126FB8 /* Geiss - Digital Smoke.milk in CopyFiles */, - 0C4C845309DDC91100126FB8 /* Geiss - Downward Spiral.milk in CopyFiles */, - 0C4C845409DDC91100126FB8 /* Geiss - Drift.milk in CopyFiles */, - 0C4C845509DDC91100126FB8 /* Geiss - Dynamic Swirls 1.milk in CopyFiles */, - 0C4C845609DDC91100126FB8 /* Geiss - Dynamic Swirls 2.milk in CopyFiles */, - 0C4C845709DDC91100126FB8 /* Geiss - Eddies 1.milk in CopyFiles */, - 0C4C845809DDC91100126FB8 /* Geiss - Eddies 2.milk in CopyFiles */, - 0C4C845909DDC91100126FB8 /* Geiss - Eggs.milk in CopyFiles */, - 0C4C845A09DDC91100126FB8 /* Geiss - El Cubismo.milk in CopyFiles */, - 0C4C845B09DDC91100126FB8 /* Geiss - Feedback 2.milk in CopyFiles */, - 0C4C845C09DDC91100126FB8 /* Geiss - Feedback.milk in CopyFiles */, - 0C4C845D09DDC91100126FB8 /* Geiss - Festive.milk in CopyFiles */, - 0C4C845E09DDC91100126FB8 /* Geiss - Fiberglass.milk in CopyFiles */, - 0C4C845F09DDC91100126FB8 /* Geiss - Flotsam.milk in CopyFiles */, - 0C4C846009DDC91100126FB8 /* Geiss - Flower Blossom.milk in CopyFiles */, - 0C4C846109DDC91100126FB8 /* Geiss - Flower.milk in CopyFiles */, - 0C4C846209DDC91100126FB8 /* Geiss - Fog Tunnel.milk in CopyFiles */, - 0C4C846309DDC91100126FB8 /* Geiss - Four Kinds of Amphetamines.milk in CopyFiles */, - 0C4C846409DDC91100126FB8 /* Geiss - Galaxy 1.milk in CopyFiles */, - 0C4C846509DDC91100126FB8 /* Geiss - Galaxy 2.milk in CopyFiles */, - 0C4C846609DDC91100126FB8 /* Geiss - Greenland.milk in CopyFiles */, - 0C4C846709DDC91100126FB8 /* Geiss - Happy Drops.milk in CopyFiles */, - 0C4C846809DDC91100126FB8 /* Geiss - Heavenly 1.milk in CopyFiles */, - 0C4C846909DDC91100126FB8 /* Geiss - Heavenly 2.milk in CopyFiles */, - 0C4C846A09DDC91100126FB8 /* Geiss - Heavenly 3.milk in CopyFiles */, - 0C4C846B09DDC91100126FB8 /* Geiss - High Dynamic Range.milk in CopyFiles */, - 0C4C846C09DDC91100126FB8 /* Geiss - Hovering.milk in CopyFiles */, - 0C4C846D09DDC91100126FB8 /* Geiss - Hurricane.milk in CopyFiles */, - 0C4C846E09DDC91100126FB8 /* Geiss - Hyperion.milk in CopyFiles */, - 0C4C846F09DDC91100126FB8 /* Geiss - Inkblot.milk in CopyFiles */, - 0C4C847009DDC91100126FB8 /* Geiss - Iris.milk in CopyFiles */, - 0C4C847109DDC91100126FB8 /* Geiss - Journey.milk in CopyFiles */, - 0C4C847209DDC91100126FB8 /* Geiss - Julia Fractal 1.milk in CopyFiles */, - 0C4C847309DDC91100126FB8 /* Geiss - Julia Fractal 2.milk in CopyFiles */, - 0C4C847409DDC91100126FB8 /* Geiss - Luz.milk in CopyFiles */, - 0C4C847509DDC91100126FB8 /* Geiss - Many Colors 1.milk in CopyFiles */, - 0C4C847609DDC91100126FB8 /* Geiss - Many Colors 2.milk in CopyFiles */, - 0C4C847709DDC91100126FB8 /* Geiss - Mega Swirl 1.milk in CopyFiles */, - 0C4C847809DDC91100126FB8 /* Geiss - Mega Swirl 2.milk in CopyFiles */, - 0C4C847909DDC91100126FB8 /* Geiss - Mega Swirl 3.milk in CopyFiles */, - 0C4C847A09DDC91100126FB8 /* Geiss - Microcosm.milk in CopyFiles */, - 0C4C847B09DDC91100126FB8 /* Geiss - Monotone Ripples.milk in CopyFiles */, - 0C4C847C09DDC91100126FB8 /* Geiss - Music Box.milk in CopyFiles */, - 0C4C847D09DDC91100126FB8 /* Geiss - Nautilus.milk in CopyFiles */, - 0C4C847E09DDC91100126FB8 /* Geiss - Octopus Blue.milk in CopyFiles */, - 0C4C847F09DDC91100126FB8 /* Geiss - Octopus Ever Changing.milk in CopyFiles */, - 0C4C848009DDC91100126FB8 /* Geiss - Octopus Fat and Ever Changing.milk in CopyFiles */, - 0C4C848109DDC91100126FB8 /* Geiss - Octopus Gold with Dots.milk in CopyFiles */, - 0C4C848209DDC91100126FB8 /* Geiss - Octopus Gold.milk in CopyFiles */, - 0C4C848309DDC91100126FB8 /* Geiss - Octopus.milk in CopyFiles */, - 0C4C848409DDC91100126FB8 /* Geiss - Oldskool Mellowstyle.milk in CopyFiles */, - 0C4C848509DDC91100126FB8 /* Geiss - Pelota De Fuego.milk in CopyFiles */, - 0C4C848609DDC91100126FB8 /* Geiss - Pinch.milk in CopyFiles */, - 0C4C848709DDC91100126FB8 /* Geiss - Pistons.milk in CopyFiles */, - 0C4C848809DDC91100126FB8 /* Geiss - Planet 1.milk in CopyFiles */, - 0C4C848909DDC91100126FB8 /* Geiss - Planet 2.milk in CopyFiles */, - 0C4C848A09DDC91100126FB8 /* Geiss - Quasilinear Submanifolds.milk in CopyFiles */, - 0C4C848B09DDC91100126FB8 /* Geiss - Reducto Absurdum.milk in CopyFiles */, - 0C4C848C09DDC91100126FB8 /* Geiss - Reducto Ad Nauseum.milk in CopyFiles */, - 0C4C848D09DDC91100126FB8 /* Geiss - Rocket.milk in CopyFiles */, - 0C4C848E09DDC91100126FB8 /* Geiss - Runoff.milk in CopyFiles */, - 0C4C848F09DDC91100126FB8 /* Geiss - Scary.milk in CopyFiles */, - 0C4C849009DDC91100126FB8 /* Geiss - Script.milk in CopyFiles */, - 0C4C849109DDC91100126FB8 /* Geiss - Serpent.milk in CopyFiles */, - 0C4C849209DDC91100126FB8 /* Geiss - Shake.milk in CopyFiles */, - 0C4C849309DDC91100126FB8 /* Geiss - Shift.milk in CopyFiles */, - 0C4C849409DDC91100126FB8 /* Geiss - Sinews 1.milk in CopyFiles */, - 0C4C849509DDC91100126FB8 /* Geiss - Sinews 2.milk in CopyFiles */, - 0C4C849609DDC91100126FB8 /* Geiss - Smoke.milk in CopyFiles */, - 0C4C849709DDC91100126FB8 /* Geiss - Solar Flare (Blue).milk in CopyFiles */, - 0C4C849809DDC91100126FB8 /* Geiss - Solar Flare (Reptile).milk in CopyFiles */, - 0C4C849909DDC91100126FB8 /* Geiss - Solar Flare.milk in CopyFiles */, - 0C4C849A09DDC91100126FB8 /* Geiss - Sound And The Fury.milk in CopyFiles */, - 0C4C849B09DDC91100126FB8 /* Geiss - Space Voyage (High-Warp).milk in CopyFiles */, - 0C4C849C09DDC91100126FB8 /* Geiss - Space Voyage Bright.milk in CopyFiles */, - 0C4C849D09DDC91100126FB8 /* Geiss - Space Voyage.milk in CopyFiles */, - 0C4C849E09DDC91100126FB8 /* Geiss - Spacedust.milk in CopyFiles */, - 0C4C849F09DDC91100126FB8 /* Geiss - Starfish 1.milk in CopyFiles */, - 0C4C84A009DDC91100126FB8 /* Geiss - Starfish 2.milk in CopyFiles */, - 0C4C84A109DDC91100126FB8 /* Geiss - Sunsets.milk in CopyFiles */, - 0C4C84A209DDC91100126FB8 /* Geiss - Supernova 1.milk in CopyFiles */, - 0C4C84A309DDC91100126FB8 /* Geiss - Supernova 2.milk in CopyFiles */, - 0C4C84A409DDC91100126FB8 /* Geiss - Surface.milk in CopyFiles */, - 0C4C84A509DDC91100126FB8 /* Geiss - Swirl 1.milk in CopyFiles */, - 0C4C84A609DDC91100126FB8 /* Geiss - Swirl 2.milk in CopyFiles */, - 0C4C84A709DDC91100126FB8 /* Geiss - Swirlie 1.milk in CopyFiles */, - 0C4C84A809DDC91100126FB8 /* Geiss - Swirlie 2.milk in CopyFiles */, - 0C4C84A909DDC91100126FB8 /* Geiss - Swirlie 3.milk in CopyFiles */, - 0C4C84AA09DDC91100126FB8 /* Geiss - Swirlie 4.milk in CopyFiles */, - 0C4C84AB09DDC91100126FB8 /* Geiss - Swirlie 5.milk in CopyFiles */, - 0C4C84AC09DDC91100126FB8 /* Geiss - Symmetry.milk in CopyFiles */, - 0C4C84AD09DDC91100126FB8 /* Geiss - The Fatty Lumpkin Sunkle Tweaker.milk in CopyFiles */, - 0C4C84AE09DDC91100126FB8 /* Geiss - Three And A Half Kinds Of Amphetamines.milk in CopyFiles */, - 0C4C84AF09DDC91100126FB8 /* Geiss - Three Kinds Of Amphetamines.milk in CopyFiles */, - 0C4C84B009DDC91100126FB8 /* Geiss - Tokamak.milk in CopyFiles */, - 0C4C84B109DDC91100126FB8 /* Geiss - Tornado.milk in CopyFiles */, - 0C4C84B209DDC91100126FB8 /* Geiss - Toy.milk in CopyFiles */, - 0C4C84B309DDC91100126FB8 /* Geiss - Trampoline.milk in CopyFiles */, - 0C4C84B409DDC91100126FB8 /* Geiss - Tube.milk in CopyFiles */, - 0C4C84B509DDC91100126FB8 /* Geiss - Two-Pointed Pulsagon.milk in CopyFiles */, - 0C4C84B609DDC91100126FB8 /* Geiss - Ultrafast.milk in CopyFiles */, - 0C4C84B709DDC91100126FB8 /* Geiss - Volume Zoom.milk in CopyFiles */, - 0C4C84B809DDC91100126FB8 /* Geiss - Vortex 1.milk in CopyFiles */, - 0C4C84B909DDC91100126FB8 /* Geiss - Vortex 2.milk in CopyFiles */, - 0C4C84BA09DDC91100126FB8 /* Geiss - Warp Of Dali 1.milk in CopyFiles */, - 0C4C84BB09DDC91100126FB8 /* Geiss - Warp Of Dali 2.milk in CopyFiles */, - 0C4C84BC09DDC91100126FB8 /* Geiss - Warp Of Dali Bright.milk in CopyFiles */, - 0C4C84BD09DDC91100126FB8 /* Geiss - Waterfall.milk in CopyFiles */, - 0C4C84BE09DDC91100126FB8 /* Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk in CopyFiles */, - 0C4C84BF09DDC91100126FB8 /* Idiot & Che - Various Abstract Effects.milk in CopyFiles */, - 0C4C84C009DDC91100126FB8 /* Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk in CopyFiles */, - 0C4C84C109DDC91100126FB8 /* Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk in CopyFiles */, - 0C4C84C209DDC91100126FB8 /* Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk in CopyFiles */, - 0C4C84C309DDC91100126FB8 /* Idiot - 9-7-02 (Remix) (sustain fixed).milk in CopyFiles */, - 0C4C84C409DDC91100126FB8 /* Idiot - Cortex (Spiritual Visions Mix).milk in CopyFiles */, - 0C4C84C509DDC91100126FB8 /* idiot - Dwarf of Annon (before the star).milk in CopyFiles */, - 0C4C84C609DDC91100126FB8 /* Idiot - Madness Within The Void (Remix).milk in CopyFiles */, - 0C4C84C709DDC91100126FB8 /* Idiot - MOTIVATION!.milk in CopyFiles */, - 0C4C84C809DDC91100126FB8 /* idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk in CopyFiles */, - 0C4C84C909DDC91100126FB8 /* idiot - Nothing Yet - 03 - The worst of the pack.milk in CopyFiles */, - 0C4C84CA09DDC91100126FB8 /* idiot - Nucleus.milk in CopyFiles */, - 0C4C84CB09DDC91100126FB8 /* idiot - Shadows of Annon.milk in CopyFiles */, - 0C4C84CC09DDC91100126FB8 /* idiot - Sinful Code (unchained style).milk in CopyFiles */, - 0C4C84CD09DDC91100126FB8 /* idiot - Some big word I learned.milk in CopyFiles */, - 0C4C84CE09DDC91100126FB8 /* idiot - Spectrum.milk in CopyFiles */, - 0C4C84CF09DDC91100126FB8 /* Idiot - Tentacle Dreams (Remix).milk in CopyFiles */, - 0C4C84D009DDC91100126FB8 /* Idiot - Texture Boxes (Remix 2).milk in CopyFiles */, - 0C4C84D109DDC91100126FB8 /* Idiot - Texture Boxes (Remix).milk in CopyFiles */, - 0C4C84D209DDC91100126FB8 /* Idiot - Typomatic (Remix 2).milk in CopyFiles */, - 0C4C84D309DDC91100126FB8 /* idiot - Waterfalls (remix2).milk in CopyFiles */, - 0C4C84D409DDC91100126FB8 /* idiot - Waterfalls.milk in CopyFiles */, - 0C4C84D509DDC91100126FB8 /* Idiot - What Is.milk in CopyFiles */, - 0C4C84D609DDC91100126FB8 /* Idiot - What Shall Come.milk in CopyFiles */, - 0C4C84D709DDC91100126FB8 /* Idiot24-7 - Ascending to heaven 2.milk in CopyFiles */, - 0C4C84D809DDC91100126FB8 /* Idiot24-7 - Just plain cool 3.milk in CopyFiles */, - 0C4C84D909DDC91100126FB8 /* Idiot24-7 - Meeting place.milk in CopyFiles */, - 0C4C84DA09DDC91100126FB8 /* Illusion & Che - Return Of The King.milk in CopyFiles */, - 0C4C84DB09DDC91100126FB8 /* Illusion & Che - The Piper.milk in CopyFiles */, - 0C4C84DC09DDC91100126FB8 /* Illusion & Rovastar - Clouded Bottle.milk in CopyFiles */, - 0C4C84DD09DDC91100126FB8 /* Illusion & Rovastar - Snowflake Delight.milk in CopyFiles */, - 0C4C84DE09DDC91100126FB8 /* Illusion & Rovastar - Snowflake Return.milk in CopyFiles */, - 0C4C84DF09DDC91100126FB8 /* illusion & studio music - charged bliss.milk in CopyFiles */, - 0C4C84E009DDC91100126FB8 /* illusion & techno - double highway.milk in CopyFiles */, - 0C4C84E109DDC91100126FB8 /* Illusion & Unchained - Frozen Eye 1.milk in CopyFiles */, - 0C4C84E209DDC91100126FB8 /* Illusion & Unchained - Invade My Mind.milk in CopyFiles */, - 0C4C84E309DDC91100126FB8 /* Illusion & Unchained - Re-Enter Homeworld.milk in CopyFiles */, - 0C4C84E409DDC91100126FB8 /* Illusion - Figure Eight.milk in CopyFiles */, - 0C4C84E509DDC91100126FB8 /* Illusion - Heavenly Eye.milk in CopyFiles */, - 0C4C84E609DDC91100126FB8 /* Jess - Trying To Trap A Twister.milk in CopyFiles */, - 0C4C84E709DDC91100126FB8 /* Krash & Idiot - Memories Of The Castle.milk in CopyFiles */, - 0C4C84E809DDC91100126FB8 /* Krash & Illusion - Indecisive Mosaic.milk in CopyFiles */, - 0C4C84E909DDC91100126FB8 /* Krash & Illusion - Spiral Movement.milk in CopyFiles */, - 0C4C84EA09DDC91100126FB8 /* Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk in CopyFiles */, - 0C4C84EB09DDC91100126FB8 /* Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk in CopyFiles */, - 0C4C84EC09DDC91100126FB8 /* Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk in CopyFiles */, - 0C4C84ED09DDC91100126FB8 /* Krash & Rovastar - Switching Polygons.milk in CopyFiles */, - 0C4C84EE09DDC91100126FB8 /* Krash & Rovastar - The Devil Is In The Details.milk in CopyFiles */, - 0C4C84EF09DDC91100126FB8 /* Krash & TEcHNO - Rhythmic Mantas.milk in CopyFiles */, - 0C4C84F009DDC91100126FB8 /* Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk in CopyFiles */, - 0C4C84F109DDC91100126FB8 /* Krash - 3D Shapes Demo 2.milk in CopyFiles */, - 0C4C84F209DDC91100126FB8 /* Krash - 3D Shapes Demo.milk in CopyFiles */, - 0C4C84F309DDC91100126FB8 /* Krash - cardiac rhythm.milk in CopyFiles */, - 0C4C84F409DDC91100126FB8 /* Krash - Chronoshift.milk in CopyFiles */, - 0C4C84F509DDC91100126FB8 /* Krash - Digital Flame.milk in CopyFiles */, - 0C4C84F609DDC91100126FB8 /* Krash - Dynamic Borders 1.milk in CopyFiles */, - 0C4C84F709DDC91100126FB8 /* Krash - Framed Geometry.milk in CopyFiles */, - 0C4C84F809DDC91100126FB8 /* Krash - Heatwaves.milk in CopyFiles */, - 0C4C84F909DDC91100126FB8 /* Krash - Interwoven (Nightmare Weft Mix).milk in CopyFiles */, - 0C4C84FA09DDC91100126FB8 /* Krash - interwoven (nightmare weft).milk in CopyFiles */, - 0C4C84FB09DDC91100126FB8 /* Krash - interwoven.milk in CopyFiles */, - 0C4C84FC09DDC91100126FB8 /* Krash - Molten Indecision (Rozzor Hot Fast tweak).milk in CopyFiles */, - 0C4C84FD09DDC91100126FB8 /* Krash - molten indecision.milk in CopyFiles */, - 0C4C84FE09DDC91100126FB8 /* Krash - Pulse.milk in CopyFiles */, - 0C4C84FF09DDC91100126FB8 /* Krash - Season's Greetings 2.milk in CopyFiles */, - 0C4C850009DDC91100126FB8 /* Krash - Snowflake Halo.milk in CopyFiles */, - 0C4C850109DDC91100126FB8 /* Krash - systolic pressure.milk in CopyFiles */, - 0C4C850209DDC91100126FB8 /* Krash - Twisting Indecision.milk in CopyFiles */, - 0C4C850309DDC91100126FB8 /* Krash - Vinyl Disk.milk in CopyFiles */, - 0C4C850409DDC91100126FB8 /* Krash - War Machine (Shifting Complexity Mix).milk in CopyFiles */, - 0C4C850509DDC91100126FB8 /* Krash - Windowframe To Mega Swirl 2.milk in CopyFiles */, - 0C4C850609DDC91100126FB8 /* Krash and Fvese - Molten Indecision (Fvese Remix).milk in CopyFiles */, - 0C4C850709DDC91100126FB8 /* Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk in CopyFiles */, - 0C4C850809DDC91100126FB8 /* Krash and Rovastar - Rainbow Orb.milk in CopyFiles */, - 0C4C850909DDC91100126FB8 /* Krash and Telek - Real Noughts and Crosses (Random Ending).milk in CopyFiles */, - 0C4C850A09DDC91100126FB8 /* Mstress & Darius - Pursuing The Sunset.milk in CopyFiles */, - 0C4C850B09DDC91100126FB8 /* Mstress & Juppy - Dancer.milk in CopyFiles */, - 0C4C850C09DDC91100126FB8 /* Mstress & Juppy - Dancers In The Dark.milk in CopyFiles */, - 0C4C850D09DDC91100126FB8 /* Mstress & Zylot - Acid UFO.milk in CopyFiles */, - 0C4C850E09DDC91100126FB8 /* Mstress - Acid Universes (Big Bang Interferences Mix).milk in CopyFiles */, - 0C4C850F09DDC91100126FB8 /* mstress - Acid Universes.milk in CopyFiles */, - 0C4C851009DDC91100126FB8 /* Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk in CopyFiles */, - 0C4C851109DDC91100126FB8 /* Mstress - Aurora Boreale.milk in CopyFiles */, - 0C4C851209DDC91100126FB8 /* Mstress - Curtain.milk in CopyFiles */, - 0C4C851309DDC91100126FB8 /* Mstress - Snowing Fiber City.milk in CopyFiles */, - 0C4C851409DDC91100126FB8 /* Mstress - Super nova self control.milk in CopyFiles */, - 0C4C851509DDC91100126FB8 /* neuro - blackhole bass.milk in CopyFiles */, - 0C4C851609DDC91100126FB8 /* nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk in CopyFiles */, - 0C4C851709DDC91100126FB8 /* nil & EMPR - Electron Flow (Copper Wire Mix).milk in CopyFiles */, - 0C4C851809DDC91100126FB8 /* nil & EMPR - Ruby Nirvana.milk in CopyFiles */, - 0C4C851909DDC91100126FB8 /* nil - Can't Stop the Blithering.milk in CopyFiles */, - 0C4C851A09DDC91100126FB8 /* nil - Can't Stop the Cramming.milk in CopyFiles */, - 0C4C851B09DDC91100126FB8 /* nil - Cid and Lucy.milk in CopyFiles */, - 0C4C851C09DDC91100126FB8 /* nil - Did You Speak with the Orb.milk in CopyFiles */, - 0C4C851D09DDC91100126FB8 /* nil - Disco Comet.milk in CopyFiles */, - 0C4C851E09DDC91100126FB8 /* nil - Singularity in My Oscilloscope.milk in CopyFiles */, - 0C4C851F09DDC91100126FB8 /* nil - Tim Leary's Amazing Waterslide.milk in CopyFiles */, - 0C4C852009DDC91100126FB8 /* nil - Vortex of Vortices.milk in CopyFiles */, - 0C4C852109DDC91100126FB8 /* nil - Wyrm.milk in CopyFiles */, - 0C4C852209DDC91100126FB8 /* Reenen - phoenix.milk in CopyFiles */, - 0C4C852309DDC91100126FB8 /* Rocke - Answer.42.milk in CopyFiles */, - 0C4C852409DDC91100126FB8 /* Rocke - Answer42.milk in CopyFiles */, - 0C4C852509DDC91100126FB8 /* Rocke - Cold Love (Tei Zwaa).milk in CopyFiles */, - 0C4C852609DDC91100126FB8 /* Rocke - Personal Comet.milk in CopyFiles */, - 0C4C852709DDC91100126FB8 /* Rovastar & Aderrasi - Clockwork Organism.milk in CopyFiles */, - 0C4C852809DDC91100126FB8 /* Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk in CopyFiles */, - 0C4C852909DDC91100126FB8 /* Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk in CopyFiles */, - 0C4C852A09DDC91100126FB8 /* Rovastar & Che - Asylum Animations.milk in CopyFiles */, - 0C4C852B09DDC91100126FB8 /* Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk in CopyFiles */, - 0C4C852C09DDC91100126FB8 /* Rovastar & EvilJim - Bass Tube of Light.milk in CopyFiles */, - 0C4C852D09DDC91100126FB8 /* Rovastar & Fvese - Dark Subconscious.milk in CopyFiles */, - 0C4C852E09DDC91100126FB8 /* Rovastar & Fvese - Deadly Flower.milk in CopyFiles */, - 0C4C852F09DDC91100126FB8 /* Rovastar & Fvese - Mosaic Waves.milk in CopyFiles */, - 0C4C853009DDC91100126FB8 /* Rovastar & Fvese - Paranormal Static.milk in CopyFiles */, - 0C4C853109DDC91100126FB8 /* Rovastar & Fvese - Stranger Minds (Astral Mix).milk in CopyFiles */, - 0C4C853209DDC91100126FB8 /* Rovastar & Fvese - Stranger Minds.milk in CopyFiles */, - 0C4C853309DDC91100126FB8 /* Rovastar & Geiss - Approach (Vectrip Mix).milk in CopyFiles */, - 0C4C853409DDC91100126FB8 /* Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk in CopyFiles */, - 0C4C853509DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk in CopyFiles */, - 0C4C853609DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk in CopyFiles */, - 0C4C853709DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk in CopyFiles */, - 0C4C853809DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk in CopyFiles */, - 0C4C853909DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk in CopyFiles */, - 0C4C853A09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk in CopyFiles */, - 0C4C853B09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk in CopyFiles */, - 0C4C853C09DDC91100126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk in CopyFiles */, - 0C4C853D09DDC91100126FB8 /* Rovastar & Geiss - Hurricane Nightmare.milk in CopyFiles */, - 0C4C853E09DDC91100126FB8 /* Rovastar & Geiss - Ice Planet.milk in CopyFiles */, - 0C4C853F09DDC91100126FB8 /* Rovastar & Geiss - Notions Of Tonality.milk in CopyFiles */, - 0C4C854009DDC91100126FB8 /* Rovastar & Geiss - Octoplasm.milk in CopyFiles */, - 0C4C854109DDC91100126FB8 /* Rovastar & Geiss - Octotrip (MultiTrip Mix).milk in CopyFiles */, - 0C4C854209DDC91100126FB8 /* Rovastar & Geiss - Octotrip.milk in CopyFiles */, - 0C4C854309DDC91100126FB8 /* Rovastar & Geiss - Surface (Vectrip Mix).milk in CopyFiles */, - 0C4C854409DDC91100126FB8 /* Rovastar & Idiot24-7 - Balk Acid.milk in CopyFiles */, - 0C4C854509DDC91100126FB8 /* Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk in CopyFiles */, - 0C4C854609DDC91100126FB8 /* Rovastar & Illusion - Shifting Sphere.milk in CopyFiles */, - 0C4C854709DDC91100126FB8 /* Rovastar & Krash - Cerebral Demons.milk in CopyFiles */, - 0C4C854809DDC91100126FB8 /* Rovastar & Krash - Flowing Synergy.milk in CopyFiles */, - 0C4C854909DDC91100126FB8 /* Rovastar & Krash - Interwoven (Contra Mix).milk in CopyFiles */, - 0C4C854A09DDC91100126FB8 /* Rovastar & Krash - Sweetness & Light.milk in CopyFiles */, - 0C4C854B09DDC91100126FB8 /* Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk in CopyFiles */, - 0C4C854C09DDC91100126FB8 /* Rovastar & Rocke - Headspin.milk in CopyFiles */, - 0C4C854D09DDC91100126FB8 /* Rovastar & Rocke - Sugar Spun Sister.milk in CopyFiles */, - 0C4C854E09DDC91100126FB8 /* Rovastar & StudioMusic - More Cherished Desires.milk in CopyFiles */, - 0C4C854F09DDC91100126FB8 /* Rovastar & StudioMusic - Twisted Spider Web.milk in CopyFiles */, - 0C4C855009DDC91100126FB8 /* Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk in CopyFiles */, - 0C4C855109DDC91100126FB8 /* Rovastar & Telek - Cosmic Fireworks.milk in CopyFiles */, - 0C4C855209DDC91100126FB8 /* Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk in CopyFiles */, - 0C4C855309DDC91100126FB8 /* Rovastar & Unchained - Centre Of Gravity.milk in CopyFiles */, - 0C4C855409DDC91100126FB8 /* Rovastar & Unchained - Demonology (Vampire Soul Mix).milk in CopyFiles */, - 0C4C855509DDC91100126FB8 /* Rovastar & Unchained - Oddball World.milk in CopyFiles */, - 0C4C855609DDC91100126FB8 /* Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk in CopyFiles */, - 0C4C855709DDC91100126FB8 /* Rovastar & Unchained - Xen Traffic.milk in CopyFiles */, - 0C4C855809DDC91100126FB8 /* Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk in CopyFiles */, - 0C4C855909DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk in CopyFiles */, - 0C4C855A09DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk in CopyFiles */, - 0C4C855B09DDC91100126FB8 /* Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk in CopyFiles */, - 0C4C855C09DDC91100126FB8 /* Rovastar & Zylot - Narell's Fever.milk in CopyFiles */, - 0C4C855D09DDC91100126FB8 /* Rovastar & Zylot - Passion Flower.milk in CopyFiles */, - 0C4C855E09DDC91100126FB8 /* Rovastar & Zylot - Sea Of Zigrot.milk in CopyFiles */, - 0C4C855F09DDC91100126FB8 /* Rovastar - A Million Miles From Earth (Drift Mix).milk in CopyFiles */, - 0C4C856009DDC91100126FB8 /* Rovastar - A Million Miles from Earth (Pathfinder Mix).milk in CopyFiles */, - 0C4C856109DDC91100126FB8 /* Rovastar - A Million Miles From Earth (Wormhole Mix).milk in CopyFiles */, - 0C4C856209DDC91100126FB8 /* Rovastar - A Million Miles from Earth.milk in CopyFiles */, - 0C4C856309DDC91100126FB8 /* Rovastar - Altars Of Harlequin's Maddess.milk in CopyFiles */, - 0C4C856409DDC91100126FB8 /* Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk in CopyFiles */, - 0C4C856509DDC91100126FB8 /* Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk in CopyFiles */, - 0C4C856609DDC91100126FB8 /* Rovastar - Altars Of Madness (Boxfresh Mix).milk in CopyFiles */, - 0C4C856709DDC91100126FB8 /* Rovastar - Altars Of Madness (Duel Mix).milk in CopyFiles */, - 0C4C856809DDC91100126FB8 /* Rovastar - Altars Of Madness (Surealist Mix).milk in CopyFiles */, - 0C4C856909DDC91100126FB8 /* Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk in CopyFiles */, - 0C4C856A09DDC91100126FB8 /* Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk in CopyFiles */, - 0C4C856B09DDC91100126FB8 /* Rovastar - Altars Of Madness.milk in CopyFiles */, - 0C4C856C09DDC91100126FB8 /* Rovastar - Attacking Freedom.milk in CopyFiles */, - 0C4C856D09DDC91100126FB8 /* Rovastar - Bellanova (New Wave Mix).milk in CopyFiles */, - 0C4C856E09DDC91100126FB8 /* Rovastar - Biohazard Warning.milk in CopyFiles */, - 0C4C856F09DDC91100126FB8 /* Rovastar - Braindance 1.milk in CopyFiles */, - 0C4C857009DDC91100126FB8 /* Rovastar - Bytes.milk in CopyFiles */, - 0C4C857109DDC91100126FB8 /* Rovastar - Chapel Of Ghouls.milk in CopyFiles */, - 0C4C857209DDC91100126FB8 /* Rovastar - Chemical Spirituality.milk in CopyFiles */, - 0C4C857309DDC91100126FB8 /* Rovastar - Clouded Judgement 3.milk in CopyFiles */, - 0C4C857409DDC91100126FB8 /* Rovastar - Cosmic Echoes 1.milk in CopyFiles */, - 0C4C857509DDC91100126FB8 /* Rovastar - Cosmic Echoes 2.milk in CopyFiles */, - 0C4C857609DDC91100126FB8 /* Rovastar - Cosmic Havoc.milk in CopyFiles */, - 0C4C857709DDC91100126FB8 /* Rovastar - Cosmic Mosaic (Active Mix).milk in CopyFiles */, - 0C4C857809DDC91100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk in CopyFiles */, - 0C4C857909DDC91100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Mix).milk in CopyFiles */, - 0C4C857A09DDC91100126FB8 /* Rovastar - Decreasing Dreams (Extended Movement Mix).milk in CopyFiles */, - 0C4C857B09DDC91100126FB8 /* Rovastar - Dreamcatcher.milk in CopyFiles */, - 0C4C857C09DDC91100126FB8 /* Rovastar - eclectic interface (despair mix).milk in CopyFiles */, - 0C4C857D09DDC91100126FB8 /* Rovastar - Explosive Minds.milk in CopyFiles */, - 0C4C857E09DDC91100126FB8 /* Rovastar - Forgotten Moon.milk in CopyFiles */, - 0C4C857F09DDC91100126FB8 /* Rovastar - Frozen Rapture .milk in CopyFiles */, - 0C4C858009DDC91100126FB8 /* Rovastar - Future Speakers.milk in CopyFiles */, - 0C4C858109DDC91100126FB8 /* Rovastar - Halcyon Dreams 3.milk in CopyFiles */, - 0C4C858209DDC91100126FB8 /* Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk in CopyFiles */, - 0C4C858309DDC91100126FB8 /* Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk in CopyFiles */, - 0C4C858409DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk in CopyFiles */, - 0C4C858509DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk in CopyFiles */, - 0C4C858609DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 1.milk in CopyFiles */, - 0C4C858709DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 2.milk in CopyFiles */, - 0C4C858809DDC91100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 3.milk in CopyFiles */, - 0C4C858909DDC91100126FB8 /* Rovastar - Harlequin's Fractal Encounter 2.milk in CopyFiles */, - 0C4C858A09DDC91100126FB8 /* Rovastar - Harlequin's Fractal Encounter.milk in CopyFiles */, - 0C4C858B09DDC91100126FB8 /* Rovastar - Harlequin's Liquid Dragon.milk in CopyFiles */, - 0C4C858C09DDC91100126FB8 /* Rovastar - Harlequin's Living Wall.milk in CopyFiles */, - 0C4C858D09DDC91100126FB8 /* Rovastar - Harlequin's Spirit (Twisted Mix).milk in CopyFiles */, - 0C4C858E09DDC91100126FB8 /* Rovastar - Harlequin's Spirit.milk in CopyFiles */, - 0C4C858F09DDC91100126FB8 /* Rovastar - Hyperspace (Frozen Rapture Mix).milk in CopyFiles */, - 0C4C859009DDC91100126FB8 /* Rovastar - Hyperspace (Hyper Speed Mix).milk in CopyFiles */, - 0C4C859109DDC91100126FB8 /* Rovastar - Hyperspace.milk in CopyFiles */, - 0C4C859209DDC91100126FB8 /* Rovastar - Inner Thoughts (Clouded Judgement Mix).milk in CopyFiles */, - 0C4C859309DDC91100126FB8 /* Rovastar - Inner Thoughts (Dark Secret Mix).milk in CopyFiles */, - 0C4C859409DDC91100126FB8 /* Rovastar - Inner Thoughts (Distant Memories Mix).milk in CopyFiles */, - 0C4C859509DDC91100126FB8 /* Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk in CopyFiles */, - 0C4C859609DDC91100126FB8 /* Rovastar - Inner Thoughts (Strange Cargo Mix).milk in CopyFiles */, - 0C4C859709DDC91100126FB8 /* Rovastar - Intense Desire.milk in CopyFiles */, - 0C4C859809DDC91100126FB8 /* Rovastar - Jester's Awakening.milk in CopyFiles */, - 0C4C859909DDC91100126FB8 /* Rovastar - Jester's Calling 2.milk in CopyFiles */, - 0C4C859A09DDC91100126FB8 /* Rovastar - Jester's Calling 3.milk in CopyFiles */, - 0C4C859B09DDC91100126FB8 /* Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk in CopyFiles */, - 0C4C859C09DDC91100126FB8 /* Rovastar - Kalideostars (Altars Of Madness MIx).milk in CopyFiles */, - 0C4C859D09DDC91100126FB8 /* Rovastar - Kalideostars (Round Round Mix).milk in CopyFiles */, - 0C4C859E09DDC91100126FB8 /* Rovastar - Kalideostars.milk in CopyFiles */, - 0C4C859F09DDC91100126FB8 /* Rovastar - LabFunk.milk in CopyFiles */, - 0C4C85A009DDC91100126FB8 /* Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk in CopyFiles */, - 0C4C85A109DDC91100126FB8 /* Rovastar - Magic Carpet.milk in CopyFiles */, - 0C4C85A209DDC91100126FB8 /* Rovastar - Mosaics Of Ages.milk in CopyFiles */, - 0C4C85A309DDC91100126FB8 /* Rovastar - Multiverse Starfield 1.milk in CopyFiles */, - 0C4C85A409DDC91100126FB8 /* Rovastar - Multiverse Starfield 3.milk in CopyFiles */, - 0C4C85A509DDC91100126FB8 /* Rovastar - Omnipresence Resurrection (Raw Mix).milk in CopyFiles */, - 0C4C85A609DDC91100126FB8 /* Rovastar - Omnipresence Resurrection.milk in CopyFiles */, - 0C4C85A709DDC91100126FB8 /* Rovastar - Oozing Resistance.milk in CopyFiles */, - 0C4C85A809DDC91100126FB8 /* Rovastar - Pandora's Volcano.milk in CopyFiles */, - 0C4C85A909DDC91100126FB8 /* Rovastar - Paradigm Sphere.milk in CopyFiles */, - 0C4C85AA09DDC91100126FB8 /* Rovastar - Parallel Universe.milk in CopyFiles */, - 0C4C85AB09DDC91100126FB8 /* Rovastar - paranormal diffusion analyser.milk in CopyFiles */, - 0C4C85AC09DDC91100126FB8 /* Rovastar - Power Trip.milk in CopyFiles */, - 0C4C85AD09DDC91100126FB8 /* Rovastar - Ritual Of Life.milk in CopyFiles */, - 0C4C85AE09DDC91100126FB8 /* Rovastar - Sea Life (Evoluation Mix).milk in CopyFiles */, - 0C4C85AF09DDC91100126FB8 /* Rovastar - Sea Life.milk in CopyFiles */, - 0C4C85B009DDC91100126FB8 /* Rovastar - Sea Shells.milk in CopyFiles */, - 0C4C85B109DDC91100126FB8 /* Rovastar - Shadows Portal.milk in CopyFiles */, - 0C4C85B209DDC91100126FB8 /* Rovastar - Snapshot Of Space.milk in CopyFiles */, - 0C4C85B309DDC91100126FB8 /* Rovastar - Solarized Space (Space DNA Mix).milk in CopyFiles */, - 0C4C85B409DDC91100126FB8 /* Rovastar - Solarized Space.milk in CopyFiles */, - 0C4C85B509DDC91100126FB8 /* Rovastar - Space (Twisted Dimension Mix).milk in CopyFiles */, - 0C4C85B609DDC91100126FB8 /* Rovastar - Space.milk in CopyFiles */, - 0C4C85B709DDC91100126FB8 /* Rovastar - Starquake (Sunquake Mix).milk in CopyFiles */, - 0C4C85B809DDC91100126FB8 /* Rovastar - The Awakening.milk in CopyFiles */, - 0C4C85B909DDC91100126FB8 /* Rovastar - The Chaos Of Colours (Drifting Mix).milk in CopyFiles */, - 0C4C85BA09DDC91100126FB8 /* Rovastar - The Chaos Of Colours.milk in CopyFiles */, - 0C4C85BB09DDC91100126FB8 /* Rovastar - The Shroomery.milk in CopyFiles */, - 0C4C85BC09DDC91100126FB8 /* Rovastar - Timeless Voyage.milk in CopyFiles */, - 0C4C85BD09DDC91100126FB8 /* Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk in CopyFiles */, - 0C4C85BE09DDC91100126FB8 /* Rovastar - Trippy S..milk in CopyFiles */, - 0C4C85BF09DDC91100126FB8 /* Rovastar - Trippy S.milk in CopyFiles */, - 0C4C85C009DDC91100126FB8 /* Rovastar - twisted bytes.milk in CopyFiles */, - 0C4C85C109DDC91100126FB8 /* Rovastar - Violent Relaxation.milk in CopyFiles */, - 0C4C85C209DDC91100126FB8 /* Rovastar - Visions Beyond.milk in CopyFiles */, - 0C4C85C309DDC91100126FB8 /* Rovastar - Visions Of The Future.milk in CopyFiles */, - 0C4C85C409DDC91100126FB8 /* Rovastar - VooV's Brainwaves.milk in CopyFiles */, - 0C4C85C509DDC91100126FB8 /* Rovastar - VooV's Movement (After Dark Mix).milk in CopyFiles */, - 0C4C85C609DDC91100126FB8 /* Rovastar - VooV's Movement.milk in CopyFiles */, - 0C4C85C709DDC91100126FB8 /* Rovastar - VooV's Organic Light.milk in CopyFiles */, - 0C4C85C809DDC91100126FB8 /* Rovastar - Xeper.milk in CopyFiles */, - 0C4C85C909DDC91100126FB8 /* Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk in CopyFiles */, - 0C4C85CA09DDC91100126FB8 /* Rovastar and Krash - Rainbow Deflection.milk in CopyFiles */, - 0C4C85CB09DDC91100126FB8 /* Rovastar and Unchained - Braindance Visions.milk in CopyFiles */, - 0C4C85CC09DDC91100126FB8 /* Rovastar and Unchained - Life After Pie (Remix).milk in CopyFiles */, - 0C4C85CD09DDC91100126FB8 /* Rozzer & Neuro - Starover (Semicolon Mix).milk in CopyFiles */, - 0C4C85CE09DDC91100126FB8 /* Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk in CopyFiles */, - 0C4C85CF09DDC91100126FB8 /* Rozzor & Aderrasi - Canon.milk in CopyFiles */, - 0C4C85D009DDC91100126FB8 /* Rozzor & Che - Inside The House Of Nil.milk in CopyFiles */, - 0C4C85D109DDC91100126FB8 /* Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk in CopyFiles */, - 0C4C85D209DDC91100126FB8 /* Rozzor & Zylot - Rainbow River.milk in CopyFiles */, - 0C4C85D309DDC91100126FB8 /* Rozzor - Color Breaks its Boycott (shape mod).milk in CopyFiles */, - 0C4C85D409DDC91100126FB8 /* Rozzor - Learning Curve (Invert tweak).milk in CopyFiles */, - 0C4C85D509DDC91100126FB8 /* Rozzor and che - Inside the House of nil.milk in CopyFiles */, - 0C4C85D609DDC91100126FB8 /* Rozzor and Idiot - Any Other Deep Rising.milk in CopyFiles */, - 0C4C85D709DDC91100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk in CopyFiles */, - 0C4C85D809DDC91100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk in CopyFiles */, - 0C4C85D909DDC91100126FB8 /* Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk in CopyFiles */, - 0C4C85DA09DDC91100126FB8 /* Rozzor and Zylot - Associative Order.milk in CopyFiles */, - 0C4C85DB09DDC91100126FB8 /* Scanner (@ztec)2.milk in CopyFiles */, - 0C4C85DC09DDC91100126FB8 /* Studio Music - Cherished Desires.milk in CopyFiles */, - 0C4C85DD09DDC91100126FB8 /* Studio Music and Unchained - Rapid Alteration.milk in CopyFiles */, - 0C4C85DE09DDC91100126FB8 /* StudioMusic & Unchained - Entity.milk in CopyFiles */, - 0C4C85DF09DDC91100126FB8 /* StudioMusic & Unchained - Minor Alteration.milk in CopyFiles */, - 0C4C85E009DDC91100126FB8 /* StudioMusic & Unchained - So Much Love.milk in CopyFiles */, - 0C4C85E109DDC91100126FB8 /* StudioMusic & Unchained - State Of Discretion.milk in CopyFiles */, - 0C4C85E209DDC91100126FB8 /* StudioMusic & Unchained - Wrenched Fate.milk in CopyFiles */, - 0C4C85E309DDC91100126FB8 /* StudioMusic - Harmonic Bliss (elated mix).milk in CopyFiles */, - 0C4C85E409DDC91100126FB8 /* StudioMusic - It's Only Make Believe.milk in CopyFiles */, - 0C4C85E509DDC91100126FB8 /* StudioMusic - Numerosity.milk in CopyFiles */, - 0C4C85E609DDC91100126FB8 /* StudioMusic - Twisted Galaxy.milk in CopyFiles */, - 0C4C85E709DDC91100126FB8 /* StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk in CopyFiles */, - 0C4C85E809DDC91100126FB8 /* TEcHNO and SandStorm - Psychodelic Highway.milk in CopyFiles */, - 0C4C85E909DDC91100126FB8 /* Telek - City Helix Lattice.milk in CopyFiles */, - 0C4C85EA09DDC91100126FB8 /* Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk in CopyFiles */, - 0C4C85EB09DDC91100126FB8 /* Telek - Flicker (@xis).milk in CopyFiles */, - 0C4C85EC09DDC91100126FB8 /* Telek - Flicker.milk in CopyFiles */, - 0C4C85ED09DDC91100126FB8 /* Telek - Globetrotting (Sailors Delight Mix).milk in CopyFiles */, - 0C4C85EE09DDC91100126FB8 /* Telek - Lost Star (Flash).milk in CopyFiles */, - 0C4C85EF09DDC91100126FB8 /* Telek - Recirculate (Cool).milk in CopyFiles */, - 0C4C85F009DDC91100126FB8 /* Telek - Sine Wave.milk in CopyFiles */, - 0C4C85F109DDC91100126FB8 /* Telek - Slow Shift Matrix (bb4.5).milk in CopyFiles */, - 0C4C85F209DDC91100126FB8 /* Telek - Slow Shift Matrix (Ethereal Drift).milk in CopyFiles */, - 0C4C85F309DDC91100126FB8 /* Telek - Slow Shift Matrix.milk in CopyFiles */, - 0C4C85F409DDC91100126FB8 /* Telek - Slow Thing (Spiderman Mix).milk in CopyFiles */, - 0C4C85F509DDC91100126FB8 /* Telek - Spiral Tabletop (New and Improved!).milk in CopyFiles */, - 0C4C85F609DDC91100126FB8 /* Telek - Spokes (More Dynamic).milk in CopyFiles */, - 0C4C85F709DDC91100126FB8 /* Telek - Target Practice (tracking retreat slide).milk in CopyFiles */, - 0C4C85F809DDC91100126FB8 /* Telek EMPR - Scanner - Trust me I've got a Melways.milk in CopyFiles */, - 0C4C85F909DDC91100126FB8 /* TobiasWolfBoi - Cataract.milk in CopyFiles */, - 0C4C85FA09DDC91100126FB8 /* TobiasWolfBoi - The Pit.milk in CopyFiles */, - 0C4C85FB09DDC91100126FB8 /* Tschoey - Music Flower.milk in CopyFiles */, - 0C4C85FC09DDC91100126FB8 /* Unchained & Che - Oddnezz 3.milk in CopyFiles */, - 0C4C85FD09DDC91100126FB8 /* Unchained & Che - Oddnezz 4 (Done it again).milk in CopyFiles */, - 0C4C85FE09DDC91100126FB8 /* Unchained & CTho - Bad Vibes.milk in CopyFiles */, - 0C4C85FF09DDC91100126FB8 /* Unchained & Illusion - Dual Wave 3.milk in CopyFiles */, - 0C4C860009DDC91100126FB8 /* Unchained & Illusion - Logic Morph.milk in CopyFiles */, - 0C4C860109DDC91100126FB8 /* Unchained & Illusion - Spirit Morph.milk in CopyFiles */, - 0C4C860209DDC91100126FB8 /* Unchained & Rovastar - For The Seagull.milk in CopyFiles */, - 0C4C860309DDC91100126FB8 /* Unchained & Rovastar - Luckless.milk in CopyFiles */, - 0C4C860409DDC91100126FB8 /* Unchained & Rovastar - Rainbow Obscura.milk in CopyFiles */, - 0C4C860509DDC91100126FB8 /* Unchained & Rovastar - Slow Solstice.milk in CopyFiles */, - 0C4C860609DDC91100126FB8 /* Unchained & Rovastar - Triptionary.milk in CopyFiles */, - 0C4C860709DDC91100126FB8 /* Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk in CopyFiles */, - 0C4C860809DDC91100126FB8 /* Unchained & Rovastar - Wormhole Pillars.milk in CopyFiles */, - 0C4C860909DDC91100126FB8 /* Unchained & Rovastar - Xen Traffic.milk in CopyFiles */, - 0C4C860A09DDC91100126FB8 /* Unchained - A Matter Of Taste (Remix).milk in CopyFiles */, - 0C4C860B09DDC91100126FB8 /* Unchained - All You Can Eat.milk in CopyFiles */, - 0C4C860C09DDC91100126FB8 /* Unchained - Bad Karma Oddnezz Style.milk in CopyFiles */, - 0C4C860D09DDC91100126FB8 /* Unchained - Beat Demo (Demonology Mix).milk in CopyFiles */, - 0C4C860E09DDC91100126FB8 /* Unchained - Beat Demo 1.0.milk in CopyFiles */, - 0C4C860F09DDC91100126FB8 /* Unchained - Beat Demo 10.milk in CopyFiles */, - 0C4C861009DDC91100126FB8 /* Unchained - Beat Demo 2.0.milk in CopyFiles */, - 0C4C861109DDC91100126FB8 /* Unchained - Beat Demo 2.1.milk in CopyFiles */, - 0C4C861209DDC91100126FB8 /* Unchained - Beat Demo 2.2.milk in CopyFiles */, - 0C4C861309DDC91100126FB8 /* Unchained - Beat Demo 2.3.milk in CopyFiles */, - 0C4C861409DDC91100126FB8 /* Unchained - Cartoon Factory.milk in CopyFiles */, - 0C4C861509DDC91100126FB8 /* Unchained - Cranked On Failure.milk in CopyFiles */, - 0C4C861609DDC91100126FB8 /* Unchained - Custom Gramatix (Remix).milk in CopyFiles */, - 0C4C861709DDC91100126FB8 /* Unchained - Deeper Logic.milk in CopyFiles */, - 0C4C861809DDC91100126FB8 /* Unchained - elite vectronics.milk in CopyFiles */, - 0C4C861909DDC91100126FB8 /* Unchained - Free to Feel (Valium Remix).milk in CopyFiles */, - 0C4C861A09DDC91100126FB8 /* Unchained - French Clothing.milk in CopyFiles */, - 0C4C861B09DDC91100126FB8 /* Unchained - Games With Light & Sound.milk in CopyFiles */, - 0C4C861C09DDC91100126FB8 /* Unchained - Ghostlight Whisper.milk in CopyFiles */, - 0C4C861D09DDC91100126FB8 /* Unchained - God Of The Game (Remix).milk in CopyFiles */, - 0C4C861E09DDC91100126FB8 /* Unchained - Goo Kung Fu.milk in CopyFiles */, - 0C4C861F09DDC91100126FB8 /* Unchained - Goofy Beat Detection.milk in CopyFiles */, - 0C4C862009DDC91100126FB8 /* Unchained - Housed In A Childish Mind.milk in CopyFiles */, - 0C4C862109DDC91100126FB8 /* Unchained - In Memory Of Peg.milk in CopyFiles */, - 0C4C862209DDC91100126FB8 /* Unchained - Invariant Under Rigorous Motions.milk in CopyFiles */, - 0C4C862309DDC91100126FB8 /* Unchained - Jaded Emotion.milk in CopyFiles */, - 0C4C862409DDC91100126FB8 /* Unchained - Jaundice.milk in CopyFiles */, - 0C4C862509DDC91100126FB8 /* Unchained - Making a Science of It 4.milk in CopyFiles */, - 0C4C862609DDC91100126FB8 /* Unchained - Morat's Final Voyage.milk in CopyFiles */, - 0C4C862709DDC91100126FB8 /* Unchained - Non-Professional Music Analyzer.milk in CopyFiles */, - 0C4C862809DDC91100126FB8 /* Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk in CopyFiles */, - 0C4C862909DDC91100126FB8 /* Unchained - Perverted Dialect.milk in CopyFiles */, - 0C4C862A09DDC91100126FB8 /* Unchained - Picture Of Exile.milk in CopyFiles */, - 0C4C862B09DDC91100126FB8 /* Unchained - Picture Of Nectar.milk in CopyFiles */, - 0C4C862C09DDC91100126FB8 /* Unchained - Picture Of Poison.milk in CopyFiles */, - 0C4C862D09DDC91100126FB8 /* Unchained - ReAwoke.milk in CopyFiles */, - 0C4C862E09DDC91100126FB8 /* Unchained - Resistance.milk in CopyFiles */, - 0C4C862F09DDC91100126FB8 /* Unchained - Ribald Ballad.milk in CopyFiles */, - 0C4C863009DDC91100126FB8 /* Unchained - Shaping The Grid.milk in CopyFiles */, - 0C4C863109DDC91100126FB8 /* Unchained - Subjective Experience Of The Manifold.milk in CopyFiles */, - 0C4C863209DDC91100126FB8 /* Unchained - Unclaimed Wreckage 2 (Shamanic).milk in CopyFiles */, - 0C4C863309DDC91100126FB8 /* Unchained - Unclaimed Wreckage.milk in CopyFiles */, - 0C4C863409DDC91100126FB8 /* Unchained - Unified Drag 2.milk in CopyFiles */, - 0C4C863509DDC91100126FB8 /* Unchained - ventilation.milk in CopyFiles */, - 0C4C863609DDC91100126FB8 /* Unchained - Working the Grid.milk in CopyFiles */, - 0C4C863709DDC91100126FB8 /* Vovan - Bass With Flover.milk in CopyFiles */, - 0C4C863809DDC91100126FB8 /* Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk in CopyFiles */, - 0C4C863909DDC91100126FB8 /* Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk in CopyFiles */, - 0C4C863A09DDC91100126FB8 /* Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk in CopyFiles */, - 0C4C863B09DDC91100126FB8 /* Zylot & Krash - Extremophile.milk in CopyFiles */, - 0C4C863C09DDC91100126FB8 /* Zylot & Mstress - Celebrate.milk in CopyFiles */, - 0C4C863D09DDC91100126FB8 /* Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk in CopyFiles */, - 0C4C863E09DDC91100126FB8 /* Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk in CopyFiles */, - 0C4C863F09DDC91100126FB8 /* Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk in CopyFiles */, - 0C4C864009DDC91100126FB8 /* Zylot & Wulfson - Pulse Beat.milk in CopyFiles */, - 0C4C864109DDC91100126FB8 /* Zylot - Azirphaeli's Mirror.milk in CopyFiles */, - 0C4C864209DDC91100126FB8 /* Zylot - Block Of Sound (Abstract Architecture Mix).milk in CopyFiles */, - 0C4C864309DDC91100126FB8 /* Zylot - Block Of Sound (Fractal Construction Mix).milk in CopyFiles */, - 0C4C864409DDC91100126FB8 /* Zylot - Burning Passion.milk in CopyFiles */, - 0C4C864509DDC91100126FB8 /* Zylot - Color Of Music.milk in CopyFiles */, - 0C4C864609DDC91100126FB8 /* Zylot - Crystal Ball (Magical Reaction Mix).milk in CopyFiles */, - 0C4C864709DDC91100126FB8 /* Zylot - De(-a)range(d)(ment) complex.milk in CopyFiles */, - 0C4C864809DDC91100126FB8 /* Zylot - De(-a)range(d)(ment) strain.milk in CopyFiles */, - 0C4C864909DDC91100126FB8 /* Zylot - Digiscape Advanced Processor.milk in CopyFiles */, - 0C4C864A09DDC91100126FB8 /* Zylot - Ether Storm.milk in CopyFiles */, - 0C4C864B09DDC91100126FB8 /* Zylot - Global Earthquake.milk in CopyFiles */, - 0C4C864C09DDC91100126FB8 /* Zylot - Hollow Shell.milk in CopyFiles */, - 0C4C864D09DDC91100126FB8 /* Zylot - Inside The Planar Portal.milk in CopyFiles */, - 0C4C864E09DDC91100126FB8 /* Zylot - light of the path.milk in CopyFiles */, - 0C4C864F09DDC91100126FB8 /* Zylot - Magladon.milk in CopyFiles */, - 0C4C865009DDC91100126FB8 /* Zylot - Magma Crawl.milk in CopyFiles */, - 0C4C865109DDC91100126FB8 /* Zylot - Magma Vein.milk in CopyFiles */, - 0C4C865209DDC91100126FB8 /* Zylot - Mixing Pot.milk in CopyFiles */, - 0C4C865309DDC91100126FB8 /* Zylot - New Star.milk in CopyFiles */, - 0C4C865409DDC91100126FB8 /* Zylot - PinWheel.milk in CopyFiles */, - 0C4C865509DDC91100126FB8 /* Zylot - Present for Saddam.milk in CopyFiles */, - 0C4C865609DDC91100126FB8 /* Zylot - Puddle Of Music.milk in CopyFiles */, - 0C4C865709DDC91100126FB8 /* Zylot - Rainbow Planet Under Attack.milk in CopyFiles */, - 0C4C865809DDC91100126FB8 /* Zylot - Riding The Sound Waves.milk in CopyFiles */, - 0C4C865909DDC91100126FB8 /* Zylot - Rush.milk in CopyFiles */, - 0C4C865A09DDC91100126FB8 /* Zylot - S Pulse Virus.milk in CopyFiles */, - 0C4C865B09DDC91100126FB8 /* Zylot - S. Pulse Virus.milk in CopyFiles */, - 0C4C865C09DDC91100126FB8 /* Zylot - String.milk in CopyFiles */, - 0C4C865D09DDC91100126FB8 /* Zylot - Tangent Universe (Collapsed With Artifact Mix).milk in CopyFiles */, - 0C4C865E09DDC91100126FB8 /* Zylot - The Deeper.milk in CopyFiles */, - 0C4C865F09DDC91100126FB8 /* Zylot - The Inner Workings of my New Computer.milk in CopyFiles */, - 0C4C866009DDC91100126FB8 /* Zylot - Tunnel Of Illusion.milk in CopyFiles */, - 0C4C866109DDC91100126FB8 /* Zylot - Visionarie (geiss aspect ratio fix).milk in CopyFiles */, - 0C4C866209DDC91100126FB8 /* Zylot - Visionarie.milk in CopyFiles */, - 0C4C866309DDC91100126FB8 /* Zylot - Waves Of Blood.milk in CopyFiles */, - 0C4C866409DDC91100126FB8 /* Zylot - Winding Path Over The Blue Abyss.milk in CopyFiles */, - 0C4C866509DDC91100126FB8 /* Zylot and Rovastar - Iouo Stone Morphic Fusion.milk in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CCF40020C0A2F680030828E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; - dstPath = ..; - dstSubfolderSpec = 7; - files = ( - 0C74DBD00C2082310043103D /* PkgInfo in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0C3EBFC60C06389F0041F14F /* wxprojectM.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = wxprojectM.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C3EBFC80C06389F0041F14F /* projectM-wxvis-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "projectM-wxvis-Info.plist"; sourceTree = ""; }; - 0C4C742E09DDC18200126FB8 /* sdlprojectM.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sdlprojectM.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C4C745C09DDC4B900126FB8 /* projectM.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = projectM.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C4C745D09DDC4BA00126FB8 /* projectM-iTunes-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "projectM-iTunes-Info.plist"; sourceTree = ""; }; - 0C4C748909DDC6FF00126FB8 /* ---ar()mo-- - Spirit of East v2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "---ar()mo-- - Spirit of East v2.milk"; sourceTree = ""; }; - 0C4C748A09DDC6FF00126FB8 /* Aderrasi - Agitator.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Agitator.milk"; sourceTree = ""; }; - 0C4C748B09DDC6FF00126FB8 /* Aderrasi - Aimless (Gravity Directive Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Aimless (Gravity Directive Mix).milk"; sourceTree = ""; }; - 0C4C748C09DDC6FF00126FB8 /* Aderrasi - Aimless (Spirogravity Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Aimless (Spirogravity Mix).milk"; sourceTree = ""; }; - 0C4C748D09DDC6FF00126FB8 /* Aderrasi - Airhandler (Menagerie Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Airhandler (Menagerie Mix).milk"; sourceTree = ""; }; - 0C4C748E09DDC6FF00126FB8 /* Aderrasi - Airs (Windy Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Airs (Windy Mix).milk"; sourceTree = ""; }; - 0C4C748F09DDC6FF00126FB8 /* Aderrasi - Airs.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Airs.milk"; sourceTree = ""; }; - 0C4C749009DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk"; sourceTree = ""; }; - 0C4C749109DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Verified Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Anchorpulse (Verified Mix).milk"; sourceTree = ""; }; - 0C4C749209DDC6FF00126FB8 /* Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk"; sourceTree = ""; }; - 0C4C749309DDC6FF00126FB8 /* Aderrasi - Antidote (Aqualung Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Antidote (Aqualung Mix).milk"; sourceTree = ""; }; - 0C4C749409DDC6FF00126FB8 /* Aderrasi - Antidote (Side Effects Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Antidote (Side Effects Mix).milk"; sourceTree = ""; }; - 0C4C749509DDC6FF00126FB8 /* Aderrasi - Antidote.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Antidote.milk"; sourceTree = ""; }; - 0C4C749609DDC6FF00126FB8 /* Aderrasi - Antique Abyss.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Antique Abyss.milk"; sourceTree = ""; }; - 0C4C749709DDC6FF00126FB8 /* Aderrasi - Arise! (Padded Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Arise! (Padded Mix).milk"; sourceTree = ""; }; - 0C4C749809DDC6FF00126FB8 /* Aderrasi - Ashes Of Air (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Ashes Of Air (Remix).milk"; sourceTree = ""; }; - 0C4C749909DDC6FF00126FB8 /* Aderrasi - Bitterfeld (Crystal Border Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Bitterfeld (Crystal Border Mix).milk"; sourceTree = ""; }; - 0C4C749A09DDC6FF00126FB8 /* Aderrasi - Blender.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Blender.milk"; sourceTree = ""; }; - 0C4C749B09DDC6FF00126FB8 /* Aderrasi - Bow To Gravity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Bow To Gravity.milk"; sourceTree = ""; }; - 0C4C749C09DDC6FF00126FB8 /* Aderrasi - Brakefreak.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Brakefreak.milk"; sourceTree = ""; }; - 0C4C749D09DDC6FF00126FB8 /* Aderrasi - Candy Avian.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Candy Avian.milk"; sourceTree = ""; }; - 0C4C749E09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (Nightmare Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Causeway Of Dreams (Nightmare Mix).milk"; sourceTree = ""; }; - 0C4C749F09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (REMix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Causeway Of Dreams (REMix).milk"; sourceTree = ""; }; - 0C4C74A009DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Causeway Of Dreams.milk"; sourceTree = ""; }; - 0C4C74A109DDC6FF00126FB8 /* Aderrasi - Chromatic Abyss (The Other Side).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Chromatic Abyss (The Other Side).milk"; sourceTree = ""; }; - 0C4C74A209DDC6FF00126FB8 /* Aderrasi - Circlefacade.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Circlefacade.milk"; sourceTree = ""; }; - 0C4C74A309DDC6FF00126FB8 /* Aderrasi - Contortion (Xenomorph Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Contortion (Xenomorph Mix).milk"; sourceTree = ""; }; - 0C4C74A409DDC6FF00126FB8 /* Aderrasi - Contortion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Contortion.milk"; sourceTree = ""; }; - 0C4C74A509DDC6FF00126FB8 /* Aderrasi - Crystal Storm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Crystal Storm.milk"; sourceTree = ""; }; - 0C4C74A609DDC6FF00126FB8 /* Aderrasi - Dark Matter (Converse Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Dark Matter (Converse Mix).milk"; sourceTree = ""; }; - 0C4C74A709DDC6FF00126FB8 /* Aderrasi - Elastoid.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Elastoid.milk"; sourceTree = ""; }; - 0C4C74A809DDC6FF00126FB8 /* Aderrasi - Floater Society.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Floater Society.milk"; sourceTree = ""; }; - 0C4C74A909DDC6FF00126FB8 /* Aderrasi - Flowing Form.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Flowing Form.milk"; sourceTree = ""; }; - 0C4C74AA09DDC6FF00126FB8 /* Aderrasi - Making Time (Swamp Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Making Time (Swamp Mix).milk"; sourceTree = ""; }; - 0C4C74AB09DDC6FF00126FB8 /* Aderrasi - Multiviola.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Multiviola.milk"; sourceTree = ""; }; - 0C4C74AC09DDC6FF00126FB8 /* Aderrasi - Negative Sun III.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Negative Sun III.milk"; sourceTree = ""; }; - 0C4C74AD09DDC6FF00126FB8 /* Aderrasi - Paintsphere.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Paintsphere.milk"; sourceTree = ""; }; - 0C4C74AE09DDC6FF00126FB8 /* Aderrasi - Spillswirl.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - Spillswirl.milk"; sourceTree = ""; }; - 0C4C74AF09DDC6FF00126FB8 /* Aderrasi - What Cannot Be Undone.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - What Cannot Be Undone.milk"; sourceTree = ""; }; - 0C4C74B009DDC6FF00126FB8 /* Aderrasi - What cannot be.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Aderrasi - What cannot be.milk"; sourceTree = ""; }; - 0C4C74B109DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk"; sourceTree = ""; }; - 0C4C74B209DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk"; sourceTree = ""; }; - 0C4C74B309DDC6FF00126FB8 /* Bmelgren - Godhead.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren - Godhead.milk"; sourceTree = ""; }; - 0C4C74B409DDC6FF00126FB8 /* Bmelgren - Hmmm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren - Hmmm.milk"; sourceTree = ""; }; - 0C4C74B509DDC6FF00126FB8 /* Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk"; sourceTree = ""; }; - 0C4C74B609DDC6FF00126FB8 /* Bmelgren - Take This Highway.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Bmelgren - Take This Highway.milk"; sourceTree = ""; }; - 0C4C74B709DDC6FF00126FB8 /* che - adela the flower.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "che - adela the flower.milk"; sourceTree = ""; }; - 0C4C74B809DDC6FF00126FB8 /* che - barcode infidelity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "che - barcode infidelity.milk"; sourceTree = ""; }; - 0C4C74B909DDC6FF00126FB8 /* che - burning hus (oil mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "che - burning hus (oil mix).milk"; sourceTree = ""; }; - 0C4C74BA09DDC6FF00126FB8 /* Che - Burning Hus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Che - Burning Hus.milk"; sourceTree = ""; }; - 0C4C74BB09DDC6FF00126FB8 /* Che - Escape.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Che - Escape.milk"; sourceTree = ""; }; - 0C4C74BC09DDC6FF00126FB8 /* Che - Geology.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Che - Geology.milk"; sourceTree = ""; }; - 0C4C74BD09DDC6FF00126FB8 /* che - terracarbon stream.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "che - terracarbon stream.milk"; sourceTree = ""; }; - 0C4C74BE09DDC6FF00126FB8 /* Che - Watch & Fly.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Che - Watch & Fly.milk"; sourceTree = ""; }; - 0C4C74BF09DDC6FF00126FB8 /* CrystalHigh - mad ravetriping.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "CrystalHigh - mad ravetriping.milk"; sourceTree = ""; }; - 0C4C74C009DDC6FF00126FB8 /* DaNOnE - Highway to Heaven (rotating).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "DaNOnE - Highway to Heaven (rotating).milk"; sourceTree = ""; }; - 0C4C74C109DDC6FF00126FB8 /* EMPR - Random - Changing Polyevolution.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EMPR - Random - Changing Polyevolution.milk"; sourceTree = ""; }; - 0C4C74C209DDC6FF00126FB8 /* EMPR - Random - Light Speed Racer.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EMPR - Random - Light Speed Racer.milk"; sourceTree = ""; }; - 0C4C74C309DDC6FF00126FB8 /* EMPR - Random - Look mama I'm on TV! 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EMPR - Random - Look mama I'm on TV! 2.milk"; sourceTree = ""; }; - 0C4C74C409DDC6FF00126FB8 /* EMPR - Random - They're so cute Dad can I keep one!.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EMPR - Random - They're so cute Dad can I keep one!.milk"; sourceTree = ""; }; - 0C4C74C509DDC6FF00126FB8 /* EMPR - Random - Turbulence Sandwich.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EMPR - Random - Turbulence Sandwich.milk"; sourceTree = ""; }; - 0C4C74C609DDC6FF00126FB8 /* EvilJim - Follow the ball.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EvilJim - Follow the ball.milk"; sourceTree = ""; }; - 0C4C74C709DDC6FF00126FB8 /* EvilJim - Ice Drops.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "EvilJim - Ice Drops.milk"; sourceTree = ""; }; - 0C4C74C809DDC6FF00126FB8 /* Fvese & Idiot24-7 - Rearview Mirror.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese & Idiot24-7 - Rearview Mirror.milk"; sourceTree = ""; }; - 0C4C74C909DDC6FF00126FB8 /* Fvese - 0 To 60.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - 0 To 60.milk"; sourceTree = ""; }; - 0C4C74CA09DDC6FF00126FB8 /* Fvese - A Blur.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - A Blur.milk"; sourceTree = ""; }; - 0C4C74CB09DDC6FF00126FB8 /* Fvese - Lifesavor Anyone.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Lifesavor Anyone.milk"; sourceTree = ""; }; - 0C4C74CC09DDC6FF00126FB8 /* Fvese - Multi Circle.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Multi Circle.milk"; sourceTree = ""; }; - 0C4C74CD09DDC6FF00126FB8 /* Fvese - New meetings.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - New meetings.milk"; sourceTree = ""; }; - 0C4C74CE09DDC6FF00126FB8 /* Fvese - Quicksand.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Quicksand.milk"; sourceTree = ""; }; - 0C4C74CF09DDC6FF00126FB8 /* Fvese - Round and Round (geiss gamma mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Round and Round (geiss gamma mix).milk"; sourceTree = ""; }; - 0C4C74D009DDC6FF00126FB8 /* Fvese - simple.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - simple.milk"; sourceTree = ""; }; - 0C4C74D109DDC6FF00126FB8 /* Fvese - Stand Still!.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Stand Still!.milk"; sourceTree = ""; }; - 0C4C74D209DDC6FF00126FB8 /* Fvese - The Tunnel (Final Stage Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - The Tunnel (Final Stage Mix).milk"; sourceTree = ""; }; - 0C4C74D309DDC6FF00126FB8 /* Fvese - Window Reflection 6.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Window Reflection 6.milk"; sourceTree = ""; }; - 0C4C74D409DDC6FF00126FB8 /* Fvese - Zoom Effects (Remix 2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Fvese - Zoom Effects (Remix 2).milk"; sourceTree = ""; }; - 0C4C74D509DDC6FF00126FB8 /* Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk"; sourceTree = ""; }; - 0C4C74D609DDC6FF00126FB8 /* Geiss & Rovastar - Notions Of Tonality 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss & Rovastar - Notions Of Tonality 2.milk"; sourceTree = ""; }; - 0C4C74D709DDC6FF00126FB8 /* Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk"; sourceTree = ""; }; - 0C4C74D809DDC6FF00126FB8 /* Geiss - Aieeeeee!!!.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Aieeeeee!!!.milk"; sourceTree = ""; }; - 0C4C74D909DDC6FF00126FB8 /* Geiss - Anomaly 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Anomaly 1.milk"; sourceTree = ""; }; - 0C4C74DA09DDC6FF00126FB8 /* Geiss - Anomaly 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Anomaly 2.milk"; sourceTree = ""; }; - 0C4C74DB09DDC6FF00126FB8 /* Geiss - Approach.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Approach.milk"; sourceTree = ""; }; - 0C4C74DC09DDC6FF00126FB8 /* Geiss - Asymptote.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Asymptote.milk"; sourceTree = ""; }; - 0C4C74DD09DDC6FF00126FB8 /* Geiss - Bass Kaleidosphere.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bass Kaleidosphere.milk"; sourceTree = ""; }; - 0C4C74DE09DDC6FF00126FB8 /* Geiss - Bass Zoom.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bass Zoom.milk"; sourceTree = ""; }; - 0C4C74DF09DDC6FF00126FB8 /* Geiss - Bipolar 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bipolar 1.milk"; sourceTree = ""; }; - 0C4C74E009DDC6FF00126FB8 /* Geiss - Bipolar 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bipolar 2.milk"; sourceTree = ""; }; - 0C4C74E109DDC6FF00126FB8 /* Geiss - Bipolar 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bipolar 3.milk"; sourceTree = ""; }; - 0C4C74E209DDC6FF00126FB8 /* Geiss - Bipolar 4.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bipolar 4.milk"; sourceTree = ""; }; - 0C4C74E309DDC6FF00126FB8 /* Geiss - Bipolar 5.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bipolar 5.milk"; sourceTree = ""; }; - 0C4C74E409DDC6FF00126FB8 /* Geiss - Blasto.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Blasto.milk"; sourceTree = ""; }; - 0C4C74E509DDC6FF00126FB8 /* Geiss - Bonfire.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bonfire.milk"; sourceTree = ""; }; - 0C4C74E609DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bright Fiber Matrix 1.milk"; sourceTree = ""; }; - 0C4C74E709DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Bright Fiber Matrix 2.milk"; sourceTree = ""; }; - 0C4C74E809DDC6FF00126FB8 /* Geiss - Calligraphy.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Calligraphy.milk"; sourceTree = ""; }; - 0C4C74E909DDC6FF00126FB8 /* Geiss - Cartographie.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cartographie.milk"; sourceTree = ""; }; - 0C4C74EA09DDC6FF00126FB8 /* Geiss - Casino.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Casino.milk"; sourceTree = ""; }; - 0C4C74EB09DDC6FF00126FB8 /* Geiss - Cepiasound.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cepiasound.milk"; sourceTree = ""; }; - 0C4C74EC09DDC6FF00126FB8 /* Geiss - Churn.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Churn.milk"; sourceTree = ""; }; - 0C4C74ED09DDC6FF00126FB8 /* Geiss - Color Tones 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Color Tones 1.milk"; sourceTree = ""; }; - 0C4C74EE09DDC6FF00126FB8 /* Geiss - Color Tones 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Color Tones 2.milk"; sourceTree = ""; }; - 0C4C74EF09DDC6FF00126FB8 /* Geiss - Constant Velocity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Constant Velocity.milk"; sourceTree = ""; }; - 0C4C74F009DDC6FF00126FB8 /* Geiss - Coral.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Coral.milk"; sourceTree = ""; }; - 0C4C74F109DDC6FF00126FB8 /* Geiss - Corpus Callosum.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Corpus Callosum.milk"; sourceTree = ""; }; - 0C4C74F209DDC6FF00126FB8 /* Geiss - Cosmic Dust 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cosmic Dust 1.milk"; sourceTree = ""; }; - 0C4C74F309DDC6FF00126FB8 /* Geiss - Cosmic Dust 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cosmic Dust 2.milk"; sourceTree = ""; }; - 0C4C74F409DDC6FF00126FB8 /* Geiss - Cruzin'.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cruzin'.milk"; sourceTree = ""; }; - 0C4C74F509DDC6FF00126FB8 /* Geiss - Cycloid 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cycloid 1.milk"; sourceTree = ""; }; - 0C4C74F609DDC6FF00126FB8 /* Geiss - Cycloid 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Cycloid 2.milk"; sourceTree = ""; }; - 0C4C74F709DDC6FF00126FB8 /* Geiss - Davod The Pod.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Davod The Pod.milk"; sourceTree = ""; }; - 0C4C74F809DDC6FF00126FB8 /* Geiss - De La Moutard 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - De La Moutard 1.milk"; sourceTree = ""; }; - 0C4C74F909DDC6FF00126FB8 /* Geiss - De La Moutard 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - De La Moutard 2.milk"; sourceTree = ""; }; - 0C4C74FA09DDC6FF00126FB8 /* Geiss - Demonic Distortion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Demonic Distortion.milk"; sourceTree = ""; }; - 0C4C74FB09DDC6FF00126FB8 /* Geiss - Descent.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Descent.milk"; sourceTree = ""; }; - 0C4C74FC09DDC6FF00126FB8 /* Geiss - Destruction.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Destruction.milk"; sourceTree = ""; }; - 0C4C74FD09DDC6FF00126FB8 /* Geiss - Diffraction.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Diffraction.milk"; sourceTree = ""; }; - 0C4C74FE09DDC6FF00126FB8 /* Geiss - Digital Smoke.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Digital Smoke.milk"; sourceTree = ""; }; - 0C4C74FF09DDC6FF00126FB8 /* Geiss - Downward Spiral.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Downward Spiral.milk"; sourceTree = ""; }; - 0C4C750009DDC6FF00126FB8 /* Geiss - Drift.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Drift.milk"; sourceTree = ""; }; - 0C4C750109DDC6FF00126FB8 /* Geiss - Dynamic Swirls 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Dynamic Swirls 1.milk"; sourceTree = ""; }; - 0C4C750209DDC6FF00126FB8 /* Geiss - Dynamic Swirls 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Dynamic Swirls 2.milk"; sourceTree = ""; }; - 0C4C750309DDC6FF00126FB8 /* Geiss - Eddies 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Eddies 1.milk"; sourceTree = ""; }; - 0C4C750409DDC6FF00126FB8 /* Geiss - Eddies 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Eddies 2.milk"; sourceTree = ""; }; - 0C4C750509DDC6FF00126FB8 /* Geiss - Eggs.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Eggs.milk"; sourceTree = ""; }; - 0C4C750609DDC6FF00126FB8 /* Geiss - El Cubismo.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - El Cubismo.milk"; sourceTree = ""; }; - 0C4C750709DDC6FF00126FB8 /* Geiss - Feedback 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Feedback 2.milk"; sourceTree = ""; }; - 0C4C750809DDC6FF00126FB8 /* Geiss - Feedback.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Feedback.milk"; sourceTree = ""; }; - 0C4C750909DDC6FF00126FB8 /* Geiss - Festive.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Festive.milk"; sourceTree = ""; }; - 0C4C750A09DDC6FF00126FB8 /* Geiss - Fiberglass.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Fiberglass.milk"; sourceTree = ""; }; - 0C4C750B09DDC6FF00126FB8 /* Geiss - Flotsam.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Flotsam.milk"; sourceTree = ""; }; - 0C4C750C09DDC6FF00126FB8 /* Geiss - Flower Blossom.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Flower Blossom.milk"; sourceTree = ""; }; - 0C4C750D09DDC6FF00126FB8 /* Geiss - Flower.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Flower.milk"; sourceTree = ""; }; - 0C4C750E09DDC6FF00126FB8 /* Geiss - Fog Tunnel.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Fog Tunnel.milk"; sourceTree = ""; }; - 0C4C750F09DDC6FF00126FB8 /* Geiss - Four Kinds of Amphetamines.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Four Kinds of Amphetamines.milk"; sourceTree = ""; }; - 0C4C751009DDC6FF00126FB8 /* Geiss - Galaxy 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Galaxy 1.milk"; sourceTree = ""; }; - 0C4C751109DDC6FF00126FB8 /* Geiss - Galaxy 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Galaxy 2.milk"; sourceTree = ""; }; - 0C4C751209DDC6FF00126FB8 /* Geiss - Greenland.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Greenland.milk"; sourceTree = ""; }; - 0C4C751309DDC6FF00126FB8 /* Geiss - Happy Drops.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Happy Drops.milk"; sourceTree = ""; }; - 0C4C751409DDC6FF00126FB8 /* Geiss - Heavenly 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Heavenly 1.milk"; sourceTree = ""; }; - 0C4C751509DDC6FF00126FB8 /* Geiss - Heavenly 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Heavenly 2.milk"; sourceTree = ""; }; - 0C4C751609DDC6FF00126FB8 /* Geiss - Heavenly 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Heavenly 3.milk"; sourceTree = ""; }; - 0C4C751709DDC6FF00126FB8 /* Geiss - High Dynamic Range.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - High Dynamic Range.milk"; sourceTree = ""; }; - 0C4C751809DDC6FF00126FB8 /* Geiss - Hovering.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Hovering.milk"; sourceTree = ""; }; - 0C4C751909DDC6FF00126FB8 /* Geiss - Hurricane.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Hurricane.milk"; sourceTree = ""; }; - 0C4C751A09DDC6FF00126FB8 /* Geiss - Hyperion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Hyperion.milk"; sourceTree = ""; }; - 0C4C751B09DDC6FF00126FB8 /* Geiss - Inkblot.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Inkblot.milk"; sourceTree = ""; }; - 0C4C751C09DDC6FF00126FB8 /* Geiss - Iris.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Iris.milk"; sourceTree = ""; }; - 0C4C751D09DDC6FF00126FB8 /* Geiss - Journey.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Journey.milk"; sourceTree = ""; }; - 0C4C751E09DDC6FF00126FB8 /* Geiss - Julia Fractal 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Julia Fractal 1.milk"; sourceTree = ""; }; - 0C4C751F09DDC6FF00126FB8 /* Geiss - Julia Fractal 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Julia Fractal 2.milk"; sourceTree = ""; }; - 0C4C752009DDC6FF00126FB8 /* Geiss - Luz.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Luz.milk"; sourceTree = ""; }; - 0C4C752109DDC6FF00126FB8 /* Geiss - Many Colors 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Many Colors 1.milk"; sourceTree = ""; }; - 0C4C752209DDC6FF00126FB8 /* Geiss - Many Colors 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Many Colors 2.milk"; sourceTree = ""; }; - 0C4C752309DDC6FF00126FB8 /* Geiss - Mega Swirl 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Mega Swirl 1.milk"; sourceTree = ""; }; - 0C4C752409DDC6FF00126FB8 /* Geiss - Mega Swirl 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Mega Swirl 2.milk"; sourceTree = ""; }; - 0C4C752509DDC6FF00126FB8 /* Geiss - Mega Swirl 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Mega Swirl 3.milk"; sourceTree = ""; }; - 0C4C752609DDC6FF00126FB8 /* Geiss - Microcosm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Microcosm.milk"; sourceTree = ""; }; - 0C4C752709DDC6FF00126FB8 /* Geiss - Monotone Ripples.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Monotone Ripples.milk"; sourceTree = ""; }; - 0C4C752809DDC6FF00126FB8 /* Geiss - Music Box.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Music Box.milk"; sourceTree = ""; }; - 0C4C752909DDC6FF00126FB8 /* Geiss - Nautilus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Nautilus.milk"; sourceTree = ""; }; - 0C4C752A09DDC6FF00126FB8 /* Geiss - Octopus Blue.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus Blue.milk"; sourceTree = ""; }; - 0C4C752B09DDC6FF00126FB8 /* Geiss - Octopus Ever Changing.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus Ever Changing.milk"; sourceTree = ""; }; - 0C4C752C09DDC6FF00126FB8 /* Geiss - Octopus Fat and Ever Changing.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus Fat and Ever Changing.milk"; sourceTree = ""; }; - 0C4C752D09DDC6FF00126FB8 /* Geiss - Octopus Gold with Dots.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus Gold with Dots.milk"; sourceTree = ""; }; - 0C4C752E09DDC6FF00126FB8 /* Geiss - Octopus Gold.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus Gold.milk"; sourceTree = ""; }; - 0C4C752F09DDC6FF00126FB8 /* Geiss - Octopus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Octopus.milk"; sourceTree = ""; }; - 0C4C753009DDC6FF00126FB8 /* Geiss - Oldskool Mellowstyle.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Oldskool Mellowstyle.milk"; sourceTree = ""; }; - 0C4C753109DDC6FF00126FB8 /* Geiss - Pelota De Fuego.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Pelota De Fuego.milk"; sourceTree = ""; }; - 0C4C753209DDC6FF00126FB8 /* Geiss - Pinch.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Pinch.milk"; sourceTree = ""; }; - 0C4C753309DDC6FF00126FB8 /* Geiss - Pistons.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Pistons.milk"; sourceTree = ""; }; - 0C4C753409DDC6FF00126FB8 /* Geiss - Planet 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Planet 1.milk"; sourceTree = ""; }; - 0C4C753509DDC6FF00126FB8 /* Geiss - Planet 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Planet 2.milk"; sourceTree = ""; }; - 0C4C753609DDC6FF00126FB8 /* Geiss - Quasilinear Submanifolds.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Quasilinear Submanifolds.milk"; sourceTree = ""; }; - 0C4C753709DDC6FF00126FB8 /* Geiss - Reducto Absurdum.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Reducto Absurdum.milk"; sourceTree = ""; }; - 0C4C753809DDC6FF00126FB8 /* Geiss - Reducto Ad Nauseum.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Reducto Ad Nauseum.milk"; sourceTree = ""; }; - 0C4C753909DDC6FF00126FB8 /* Geiss - Rocket.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Rocket.milk"; sourceTree = ""; }; - 0C4C753A09DDC6FF00126FB8 /* Geiss - Runoff.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Runoff.milk"; sourceTree = ""; }; - 0C4C753B09DDC6FF00126FB8 /* Geiss - Scary.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Scary.milk"; sourceTree = ""; }; - 0C4C753C09DDC6FF00126FB8 /* Geiss - Script.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Script.milk"; sourceTree = ""; }; - 0C4C753D09DDC6FF00126FB8 /* Geiss - Serpent.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Serpent.milk"; sourceTree = ""; }; - 0C4C753E09DDC6FF00126FB8 /* Geiss - Shake.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Shake.milk"; sourceTree = ""; }; - 0C4C753F09DDC6FF00126FB8 /* Geiss - Shift.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Shift.milk"; sourceTree = ""; }; - 0C4C754009DDC70000126FB8 /* Geiss - Sinews 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Sinews 1.milk"; sourceTree = ""; }; - 0C4C754109DDC70000126FB8 /* Geiss - Sinews 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Sinews 2.milk"; sourceTree = ""; }; - 0C4C754209DDC70000126FB8 /* Geiss - Smoke.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Smoke.milk"; sourceTree = ""; }; - 0C4C754309DDC70000126FB8 /* Geiss - Solar Flare (Blue).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Solar Flare (Blue).milk"; sourceTree = ""; }; - 0C4C754409DDC70000126FB8 /* Geiss - Solar Flare (Reptile).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Solar Flare (Reptile).milk"; sourceTree = ""; }; - 0C4C754509DDC70000126FB8 /* Geiss - Solar Flare.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Solar Flare.milk"; sourceTree = ""; }; - 0C4C754609DDC70000126FB8 /* Geiss - Sound And The Fury.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Sound And The Fury.milk"; sourceTree = ""; }; - 0C4C754709DDC70000126FB8 /* Geiss - Space Voyage (High-Warp).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Space Voyage (High-Warp).milk"; sourceTree = ""; }; - 0C4C754809DDC70000126FB8 /* Geiss - Space Voyage Bright.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Space Voyage Bright.milk"; sourceTree = ""; }; - 0C4C754909DDC70000126FB8 /* Geiss - Space Voyage.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Space Voyage.milk"; sourceTree = ""; }; - 0C4C754A09DDC70000126FB8 /* Geiss - Spacedust.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Spacedust.milk"; sourceTree = ""; }; - 0C4C754B09DDC70000126FB8 /* Geiss - Starfish 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Starfish 1.milk"; sourceTree = ""; }; - 0C4C754C09DDC70000126FB8 /* Geiss - Starfish 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Starfish 2.milk"; sourceTree = ""; }; - 0C4C754D09DDC70000126FB8 /* Geiss - Sunsets.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Sunsets.milk"; sourceTree = ""; }; - 0C4C754E09DDC70000126FB8 /* Geiss - Supernova 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Supernova 1.milk"; sourceTree = ""; }; - 0C4C754F09DDC70000126FB8 /* Geiss - Supernova 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Supernova 2.milk"; sourceTree = ""; }; - 0C4C755009DDC70000126FB8 /* Geiss - Surface.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Surface.milk"; sourceTree = ""; }; - 0C4C755109DDC70000126FB8 /* Geiss - Swirl 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirl 1.milk"; sourceTree = ""; }; - 0C4C755209DDC70000126FB8 /* Geiss - Swirl 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirl 2.milk"; sourceTree = ""; }; - 0C4C755309DDC70000126FB8 /* Geiss - Swirlie 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirlie 1.milk"; sourceTree = ""; }; - 0C4C755409DDC70000126FB8 /* Geiss - Swirlie 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirlie 2.milk"; sourceTree = ""; }; - 0C4C755509DDC70000126FB8 /* Geiss - Swirlie 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirlie 3.milk"; sourceTree = ""; }; - 0C4C755609DDC70000126FB8 /* Geiss - Swirlie 4.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirlie 4.milk"; sourceTree = ""; }; - 0C4C755709DDC70000126FB8 /* Geiss - Swirlie 5.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Swirlie 5.milk"; sourceTree = ""; }; - 0C4C755809DDC70000126FB8 /* Geiss - Symmetry.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Symmetry.milk"; sourceTree = ""; }; - 0C4C755909DDC70000126FB8 /* Geiss - The Fatty Lumpkin Sunkle Tweaker.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - The Fatty Lumpkin Sunkle Tweaker.milk"; sourceTree = ""; }; - 0C4C755A09DDC70000126FB8 /* Geiss - Three And A Half Kinds Of Amphetamines.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Three And A Half Kinds Of Amphetamines.milk"; sourceTree = ""; }; - 0C4C755B09DDC70000126FB8 /* Geiss - Three Kinds Of Amphetamines.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Three Kinds Of Amphetamines.milk"; sourceTree = ""; }; - 0C4C755C09DDC70000126FB8 /* Geiss - Tokamak.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Tokamak.milk"; sourceTree = ""; }; - 0C4C755D09DDC70000126FB8 /* Geiss - Tornado.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Tornado.milk"; sourceTree = ""; }; - 0C4C755E09DDC70000126FB8 /* Geiss - Toy.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Toy.milk"; sourceTree = ""; }; - 0C4C755F09DDC70000126FB8 /* Geiss - Trampoline.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Trampoline.milk"; sourceTree = ""; }; - 0C4C756009DDC70000126FB8 /* Geiss - Tube.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Tube.milk"; sourceTree = ""; }; - 0C4C756109DDC70000126FB8 /* Geiss - Two-Pointed Pulsagon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Two-Pointed Pulsagon.milk"; sourceTree = ""; }; - 0C4C756209DDC70000126FB8 /* Geiss - Ultrafast.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Ultrafast.milk"; sourceTree = ""; }; - 0C4C756309DDC70000126FB8 /* Geiss - Volume Zoom.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Volume Zoom.milk"; sourceTree = ""; }; - 0C4C756409DDC70000126FB8 /* Geiss - Vortex 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Vortex 1.milk"; sourceTree = ""; }; - 0C4C756509DDC70000126FB8 /* Geiss - Vortex 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Vortex 2.milk"; sourceTree = ""; }; - 0C4C756609DDC70000126FB8 /* Geiss - Warp Of Dali 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Warp Of Dali 1.milk"; sourceTree = ""; }; - 0C4C756709DDC70000126FB8 /* Geiss - Warp Of Dali 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Warp Of Dali 2.milk"; sourceTree = ""; }; - 0C4C756809DDC70000126FB8 /* Geiss - Warp Of Dali Bright.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Warp Of Dali Bright.milk"; sourceTree = ""; }; - 0C4C756909DDC70000126FB8 /* Geiss - Waterfall.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss - Waterfall.milk"; sourceTree = ""; }; - 0C4C756A09DDC70000126FB8 /* Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk"; sourceTree = ""; }; - 0C4C756B09DDC70000126FB8 /* Idiot & Che - Various Abstract Effects.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot & Che - Various Abstract Effects.milk"; sourceTree = ""; }; - 0C4C756C09DDC70000126FB8 /* Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk"; sourceTree = ""; }; - 0C4C756D09DDC70000126FB8 /* Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk"; sourceTree = ""; }; - 0C4C756E09DDC70000126FB8 /* Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk"; sourceTree = ""; }; - 0C4C756F09DDC70000126FB8 /* Idiot - 9-7-02 (Remix) (sustain fixed).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - 9-7-02 (Remix) (sustain fixed).milk"; sourceTree = ""; }; - 0C4C757009DDC70000126FB8 /* Idiot - Cortex (Spiritual Visions Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Cortex (Spiritual Visions Mix).milk"; sourceTree = ""; }; - 0C4C757109DDC70000126FB8 /* idiot - Dwarf of Annon (before the star).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Dwarf of Annon (before the star).milk"; sourceTree = ""; }; - 0C4C757209DDC70000126FB8 /* Idiot - Madness Within The Void (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Madness Within The Void (Remix).milk"; sourceTree = ""; }; - 0C4C757309DDC70000126FB8 /* Idiot - MOTIVATION!.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - MOTIVATION!.milk"; sourceTree = ""; }; - 0C4C757409DDC70000126FB8 /* idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk"; sourceTree = ""; }; - 0C4C757509DDC70000126FB8 /* idiot - Nothing Yet - 03 - The worst of the pack.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Nothing Yet - 03 - The worst of the pack.milk"; sourceTree = ""; }; - 0C4C757609DDC70000126FB8 /* idiot - Nucleus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Nucleus.milk"; sourceTree = ""; }; - 0C4C757709DDC70000126FB8 /* idiot - Shadows of Annon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Shadows of Annon.milk"; sourceTree = ""; }; - 0C4C757809DDC70000126FB8 /* idiot - Sinful Code (unchained style).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Sinful Code (unchained style).milk"; sourceTree = ""; }; - 0C4C757909DDC70000126FB8 /* idiot - Some big word I learned.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Some big word I learned.milk"; sourceTree = ""; }; - 0C4C757A09DDC70000126FB8 /* idiot - Spectrum.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Spectrum.milk"; sourceTree = ""; }; - 0C4C757B09DDC70000126FB8 /* Idiot - Tentacle Dreams (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Tentacle Dreams (Remix).milk"; sourceTree = ""; }; - 0C4C757C09DDC70000126FB8 /* Idiot - Texture Boxes (Remix 2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Texture Boxes (Remix 2).milk"; sourceTree = ""; }; - 0C4C757D09DDC70000126FB8 /* Idiot - Texture Boxes (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Texture Boxes (Remix).milk"; sourceTree = ""; }; - 0C4C757E09DDC70000126FB8 /* Idiot - Typomatic (Remix 2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - Typomatic (Remix 2).milk"; sourceTree = ""; }; - 0C4C757F09DDC70000126FB8 /* idiot - Waterfalls (remix2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Waterfalls (remix2).milk"; sourceTree = ""; }; - 0C4C758009DDC70000126FB8 /* idiot - Waterfalls.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "idiot - Waterfalls.milk"; sourceTree = ""; }; - 0C4C758109DDC70000126FB8 /* Idiot - What Is.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - What Is.milk"; sourceTree = ""; }; - 0C4C758209DDC70000126FB8 /* Idiot - What Shall Come.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot - What Shall Come.milk"; sourceTree = ""; }; - 0C4C758309DDC70000126FB8 /* Idiot24-7 - Ascending to heaven 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot24-7 - Ascending to heaven 2.milk"; sourceTree = ""; }; - 0C4C758409DDC70000126FB8 /* Idiot24-7 - Just plain cool 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot24-7 - Just plain cool 3.milk"; sourceTree = ""; }; - 0C4C758509DDC70000126FB8 /* Idiot24-7 - Meeting place.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Idiot24-7 - Meeting place.milk"; sourceTree = ""; }; - 0C4C758609DDC70000126FB8 /* Illusion & Che - Return Of The King.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Che - Return Of The King.milk"; sourceTree = ""; }; - 0C4C758709DDC70000126FB8 /* Illusion & Che - The Piper.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Che - The Piper.milk"; sourceTree = ""; }; - 0C4C758809DDC70000126FB8 /* Illusion & Rovastar - Clouded Bottle.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Rovastar - Clouded Bottle.milk"; sourceTree = ""; }; - 0C4C758909DDC70000126FB8 /* Illusion & Rovastar - Snowflake Delight.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Rovastar - Snowflake Delight.milk"; sourceTree = ""; }; - 0C4C758A09DDC70000126FB8 /* Illusion & Rovastar - Snowflake Return.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Rovastar - Snowflake Return.milk"; sourceTree = ""; }; - 0C4C758B09DDC70000126FB8 /* illusion & studio music - charged bliss.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "illusion & studio music - charged bliss.milk"; sourceTree = ""; }; - 0C4C758C09DDC70000126FB8 /* illusion & techno - double highway.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "illusion & techno - double highway.milk"; sourceTree = ""; }; - 0C4C758D09DDC70000126FB8 /* Illusion & Unchained - Frozen Eye 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Unchained - Frozen Eye 1.milk"; sourceTree = ""; }; - 0C4C758E09DDC70000126FB8 /* Illusion & Unchained - Invade My Mind.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Unchained - Invade My Mind.milk"; sourceTree = ""; }; - 0C4C758F09DDC70000126FB8 /* Illusion & Unchained - Re-Enter Homeworld.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion & Unchained - Re-Enter Homeworld.milk"; sourceTree = ""; }; - 0C4C759009DDC70000126FB8 /* Illusion - Figure Eight.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion - Figure Eight.milk"; sourceTree = ""; }; - 0C4C759109DDC70000126FB8 /* Illusion - Heavenly Eye.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Illusion - Heavenly Eye.milk"; sourceTree = ""; }; - 0C4C759209DDC70000126FB8 /* Jess - Trying To Trap A Twister.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Jess - Trying To Trap A Twister.milk"; sourceTree = ""; }; - 0C4C759309DDC70000126FB8 /* Krash & Idiot - Memories Of The Castle.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Idiot - Memories Of The Castle.milk"; sourceTree = ""; }; - 0C4C759409DDC70000126FB8 /* Krash & Illusion - Indecisive Mosaic.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Illusion - Indecisive Mosaic.milk"; sourceTree = ""; }; - 0C4C759509DDC70000126FB8 /* Krash & Illusion - Spiral Movement.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Illusion - Spiral Movement.milk"; sourceTree = ""; }; - 0C4C759609DDC70000126FB8 /* Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk"; sourceTree = ""; }; - 0C4C759709DDC70000126FB8 /* Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk"; sourceTree = ""; }; - 0C4C759809DDC70000126FB8 /* Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk"; sourceTree = ""; }; - 0C4C759909DDC70000126FB8 /* Krash & Rovastar - Switching Polygons.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Rovastar - Switching Polygons.milk"; sourceTree = ""; }; - 0C4C759A09DDC70000126FB8 /* Krash & Rovastar - The Devil Is In The Details.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Rovastar - The Devil Is In The Details.milk"; sourceTree = ""; }; - 0C4C759B09DDC70000126FB8 /* Krash & TEcHNO - Rhythmic Mantas.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & TEcHNO - Rhythmic Mantas.milk"; sourceTree = ""; }; - 0C4C759C09DDC70000126FB8 /* Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk"; sourceTree = ""; }; - 0C4C759D09DDC70000126FB8 /* Krash - 3D Shapes Demo 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - 3D Shapes Demo 2.milk"; sourceTree = ""; }; - 0C4C759E09DDC70000126FB8 /* Krash - 3D Shapes Demo.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - 3D Shapes Demo.milk"; sourceTree = ""; }; - 0C4C759F09DDC70000126FB8 /* Krash - cardiac rhythm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - cardiac rhythm.milk"; sourceTree = ""; }; - 0C4C75A009DDC70000126FB8 /* Krash - Chronoshift.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Chronoshift.milk"; sourceTree = ""; }; - 0C4C75A109DDC70000126FB8 /* Krash - Digital Flame.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Digital Flame.milk"; sourceTree = ""; }; - 0C4C75A209DDC70000126FB8 /* Krash - Dynamic Borders 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Dynamic Borders 1.milk"; sourceTree = ""; }; - 0C4C75A309DDC70000126FB8 /* Krash - Framed Geometry.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Framed Geometry.milk"; sourceTree = ""; }; - 0C4C75A409DDC70000126FB8 /* Krash - Heatwaves.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Heatwaves.milk"; sourceTree = ""; }; - 0C4C75A509DDC70000126FB8 /* Krash - Interwoven (Nightmare Weft Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Interwoven (Nightmare Weft Mix).milk"; sourceTree = ""; }; - 0C4C75A609DDC70000126FB8 /* Krash - interwoven (nightmare weft).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - interwoven (nightmare weft).milk"; sourceTree = ""; }; - 0C4C75A709DDC70000126FB8 /* Krash - interwoven.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - interwoven.milk"; sourceTree = ""; }; - 0C4C75A809DDC70000126FB8 /* Krash - Molten Indecision (Rozzor Hot Fast tweak).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Molten Indecision (Rozzor Hot Fast tweak).milk"; sourceTree = ""; }; - 0C4C75A909DDC70000126FB8 /* Krash - molten indecision.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - molten indecision.milk"; sourceTree = ""; }; - 0C4C75AA09DDC70000126FB8 /* Krash - Pulse.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Pulse.milk"; sourceTree = ""; }; - 0C4C75AB09DDC70000126FB8 /* Krash - Season's Greetings 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Season's Greetings 2.milk"; sourceTree = ""; }; - 0C4C75AC09DDC70000126FB8 /* Krash - Snowflake Halo.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Snowflake Halo.milk"; sourceTree = ""; }; - 0C4C75AD09DDC70000126FB8 /* Krash - systolic pressure.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - systolic pressure.milk"; sourceTree = ""; }; - 0C4C75AE09DDC70000126FB8 /* Krash - Twisting Indecision.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Twisting Indecision.milk"; sourceTree = ""; }; - 0C4C75AF09DDC70000126FB8 /* Krash - Vinyl Disk.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Vinyl Disk.milk"; sourceTree = ""; }; - 0C4C75B009DDC70000126FB8 /* Krash - War Machine (Shifting Complexity Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - War Machine (Shifting Complexity Mix).milk"; sourceTree = ""; }; - 0C4C75B109DDC70000126FB8 /* Krash - Windowframe To Mega Swirl 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash - Windowframe To Mega Swirl 2.milk"; sourceTree = ""; }; - 0C4C75B209DDC70000126FB8 /* Krash and Fvese - Molten Indecision (Fvese Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash and Fvese - Molten Indecision (Fvese Remix).milk"; sourceTree = ""; }; - 0C4C75B309DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk"; sourceTree = ""; }; - 0C4C75B409DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash and Rovastar - Rainbow Orb.milk"; sourceTree = ""; }; - 0C4C75B509DDC70000126FB8 /* Krash and Telek - Real Noughts and Crosses (Random Ending).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Krash and Telek - Real Noughts and Crosses (Random Ending).milk"; sourceTree = ""; }; - 0C4C75B609DDC70000126FB8 /* Mstress & Darius - Pursuing The Sunset.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress & Darius - Pursuing The Sunset.milk"; sourceTree = ""; }; - 0C4C75B709DDC70000126FB8 /* Mstress & Juppy - Dancer.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress & Juppy - Dancer.milk"; sourceTree = ""; }; - 0C4C75B809DDC70000126FB8 /* Mstress & Juppy - Dancers In The Dark.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress & Juppy - Dancers In The Dark.milk"; sourceTree = ""; }; - 0C4C75B909DDC70000126FB8 /* Mstress & Zylot - Acid UFO.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress & Zylot - Acid UFO.milk"; sourceTree = ""; }; - 0C4C75BA09DDC70000126FB8 /* Mstress - Acid Universes (Big Bang Interferences Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Acid Universes (Big Bang Interferences Mix).milk"; sourceTree = ""; }; - 0C4C75BB09DDC70000126FB8 /* mstress - Acid Universes.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "mstress - Acid Universes.milk"; sourceTree = ""; }; - 0C4C75BC09DDC70000126FB8 /* Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk"; sourceTree = ""; }; - 0C4C75BD09DDC70000126FB8 /* Mstress - Aurora Boreale.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Aurora Boreale.milk"; sourceTree = ""; }; - 0C4C75BE09DDC70000126FB8 /* Mstress - Curtain.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Curtain.milk"; sourceTree = ""; }; - 0C4C75BF09DDC70000126FB8 /* Mstress - Snowing Fiber City.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Snowing Fiber City.milk"; sourceTree = ""; }; - 0C4C75C009DDC70000126FB8 /* Mstress - Super nova self control.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Mstress - Super nova self control.milk"; sourceTree = ""; }; - 0C4C75C109DDC70000126FB8 /* neuro - blackhole bass.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "neuro - blackhole bass.milk"; sourceTree = ""; }; - 0C4C75C209DDC70000126FB8 /* nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk"; sourceTree = ""; }; - 0C4C75C309DDC70000126FB8 /* nil & EMPR - Electron Flow (Copper Wire Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil & EMPR - Electron Flow (Copper Wire Mix).milk"; sourceTree = ""; }; - 0C4C75C409DDC70000126FB8 /* nil & EMPR - Ruby Nirvana.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil & EMPR - Ruby Nirvana.milk"; sourceTree = ""; }; - 0C4C75C509DDC70000126FB8 /* nil - Can't Stop the Blithering.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Can't Stop the Blithering.milk"; sourceTree = ""; }; - 0C4C75C609DDC70000126FB8 /* nil - Can't Stop the Cramming.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Can't Stop the Cramming.milk"; sourceTree = ""; }; - 0C4C75C709DDC70000126FB8 /* nil - Cid and Lucy.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Cid and Lucy.milk"; sourceTree = ""; }; - 0C4C75C809DDC70000126FB8 /* nil - Did You Speak with the Orb.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Did You Speak with the Orb.milk"; sourceTree = ""; }; - 0C4C75C909DDC70000126FB8 /* nil - Disco Comet.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Disco Comet.milk"; sourceTree = ""; }; - 0C4C75CA09DDC70000126FB8 /* nil - Singularity in My Oscilloscope.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Singularity in My Oscilloscope.milk"; sourceTree = ""; }; - 0C4C75CB09DDC70000126FB8 /* nil - Tim Leary's Amazing Waterslide.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Tim Leary's Amazing Waterslide.milk"; sourceTree = ""; }; - 0C4C75CC09DDC70000126FB8 /* nil - Vortex of Vortices.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Vortex of Vortices.milk"; sourceTree = ""; }; - 0C4C75CD09DDC70000126FB8 /* nil - Wyrm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "nil - Wyrm.milk"; sourceTree = ""; }; - 0C4C75CE09DDC70000126FB8 /* Reenen - phoenix.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Reenen - phoenix.milk"; sourceTree = ""; }; - 0C4C75CF09DDC70000126FB8 /* Rocke - Answer.42.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rocke - Answer.42.milk"; sourceTree = ""; }; - 0C4C75D009DDC70000126FB8 /* Rocke - Answer42.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rocke - Answer42.milk"; sourceTree = ""; }; - 0C4C75D109DDC70000126FB8 /* Rocke - Cold Love (Tei Zwaa).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rocke - Cold Love (Tei Zwaa).milk"; sourceTree = ""; }; - 0C4C75D209DDC70000126FB8 /* Rocke - Personal Comet.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rocke - Personal Comet.milk"; sourceTree = ""; }; - 0C4C75D309DDC70000126FB8 /* Rovastar & Aderrasi - Clockwork Organism.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Aderrasi - Clockwork Organism.milk"; sourceTree = ""; }; - 0C4C75D409DDC70000126FB8 /* Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk"; sourceTree = ""; }; - 0C4C75D509DDC70000126FB8 /* Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk"; sourceTree = ""; }; - 0C4C75D609DDC70000126FB8 /* Rovastar & Che - Asylum Animations.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Che - Asylum Animations.milk"; sourceTree = ""; }; - 0C4C75D709DDC70000126FB8 /* Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk"; sourceTree = ""; }; - 0C4C75D809DDC70000126FB8 /* Rovastar & EvilJim - Bass Tube of Light.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & EvilJim - Bass Tube of Light.milk"; sourceTree = ""; }; - 0C4C75D909DDC70000126FB8 /* Rovastar & Fvese - Dark Subconscious.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Dark Subconscious.milk"; sourceTree = ""; }; - 0C4C75DA09DDC70000126FB8 /* Rovastar & Fvese - Deadly Flower.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Deadly Flower.milk"; sourceTree = ""; }; - 0C4C75DB09DDC70000126FB8 /* Rovastar & Fvese - Mosaic Waves.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Mosaic Waves.milk"; sourceTree = ""; }; - 0C4C75DC09DDC70000126FB8 /* Rovastar & Fvese - Paranormal Static.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Paranormal Static.milk"; sourceTree = ""; }; - 0C4C75DD09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds (Astral Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Stranger Minds (Astral Mix).milk"; sourceTree = ""; }; - 0C4C75DE09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Fvese - Stranger Minds.milk"; sourceTree = ""; }; - 0C4C75DF09DDC70000126FB8 /* Rovastar & Geiss - Approach (Vectrip Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Approach (Vectrip Mix).milk"; sourceTree = ""; }; - 0C4C75E009DDC70000126FB8 /* Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk"; sourceTree = ""; }; - 0C4C75E109DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk"; sourceTree = ""; }; - 0C4C75E209DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk"; sourceTree = ""; }; - 0C4C75E309DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk"; sourceTree = ""; }; - 0C4C75E409DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk"; sourceTree = ""; }; - 0C4C75E509DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk"; sourceTree = ""; }; - 0C4C75E609DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk"; sourceTree = ""; }; - 0C4C75E709DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk"; sourceTree = ""; }; - 0C4C75E809DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk"; sourceTree = ""; }; - 0C4C75E909DDC70000126FB8 /* Rovastar & Geiss - Hurricane Nightmare.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Hurricane Nightmare.milk"; sourceTree = ""; }; - 0C4C75EA09DDC70000126FB8 /* Rovastar & Geiss - Ice Planet.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Ice Planet.milk"; sourceTree = ""; }; - 0C4C75EB09DDC70000126FB8 /* Rovastar & Geiss - Notions Of Tonality.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Notions Of Tonality.milk"; sourceTree = ""; }; - 0C4C75EC09DDC70000126FB8 /* Rovastar & Geiss - Octoplasm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Octoplasm.milk"; sourceTree = ""; }; - 0C4C75ED09DDC70000126FB8 /* Rovastar & Geiss - Octotrip (MultiTrip Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Octotrip (MultiTrip Mix).milk"; sourceTree = ""; }; - 0C4C75EE09DDC70000126FB8 /* Rovastar & Geiss - Octotrip.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Octotrip.milk"; sourceTree = ""; }; - 0C4C75EF09DDC70000126FB8 /* Rovastar & Geiss - Surface (Vectrip Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Geiss - Surface (Vectrip Mix).milk"; sourceTree = ""; }; - 0C4C75F009DDC70000126FB8 /* Rovastar & Idiot24-7 - Balk Acid.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Idiot24-7 - Balk Acid.milk"; sourceTree = ""; }; - 0C4C75F109DDC70000126FB8 /* Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk"; sourceTree = ""; }; - 0C4C75F209DDC70000126FB8 /* Rovastar & Illusion - Shifting Sphere.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Illusion - Shifting Sphere.milk"; sourceTree = ""; }; - 0C4C75F309DDC70000126FB8 /* Rovastar & Krash - Cerebral Demons.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Krash - Cerebral Demons.milk"; sourceTree = ""; }; - 0C4C75F409DDC70000126FB8 /* Rovastar & Krash - Flowing Synergy.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Krash - Flowing Synergy.milk"; sourceTree = ""; }; - 0C4C75F509DDC70000126FB8 /* Rovastar & Krash - Interwoven (Contra Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Krash - Interwoven (Contra Mix).milk"; sourceTree = ""; }; - 0C4C75F609DDC70000126FB8 /* Rovastar & Krash - Sweetness & Light.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Krash - Sweetness & Light.milk"; sourceTree = ""; }; - 0C4C75F709DDC70000126FB8 /* Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk"; sourceTree = ""; }; - 0C4C75F809DDC70000126FB8 /* Rovastar & Rocke - Headspin.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Rocke - Headspin.milk"; sourceTree = ""; }; - 0C4C75F909DDC70000126FB8 /* Rovastar & Rocke - Sugar Spun Sister.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Rocke - Sugar Spun Sister.milk"; sourceTree = ""; }; - 0C4C75FA09DDC70000126FB8 /* Rovastar & StudioMusic - More Cherished Desires.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & StudioMusic - More Cherished Desires.milk"; sourceTree = ""; }; - 0C4C75FB09DDC70000126FB8 /* Rovastar & StudioMusic - Twisted Spider Web.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & StudioMusic - Twisted Spider Web.milk"; sourceTree = ""; }; - 0C4C75FC09DDC70000126FB8 /* Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk"; sourceTree = ""; }; - 0C4C75FD09DDC70000126FB8 /* Rovastar & Telek - Cosmic Fireworks.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Telek - Cosmic Fireworks.milk"; sourceTree = ""; }; - 0C4C75FE09DDC70000126FB8 /* Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk"; sourceTree = ""; }; - 0C4C75FF09DDC70000126FB8 /* Rovastar & Unchained - Centre Of Gravity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Centre Of Gravity.milk"; sourceTree = ""; }; - 0C4C760009DDC70000126FB8 /* Rovastar & Unchained - Demonology (Vampire Soul Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Demonology (Vampire Soul Mix).milk"; sourceTree = ""; }; - 0C4C760109DDC70000126FB8 /* Rovastar & Unchained - Oddball World.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Oddball World.milk"; sourceTree = ""; }; - 0C4C760209DDC70000126FB8 /* Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk"; sourceTree = ""; }; - 0C4C760309DDC70000126FB8 /* Rovastar & Unchained - Xen Traffic.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Unchained - Xen Traffic.milk"; sourceTree = ""; }; - 0C4C760409DDC70000126FB8 /* Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk"; sourceTree = ""; }; - 0C4C760509DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk"; sourceTree = ""; }; - 0C4C760609DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk"; sourceTree = ""; }; - 0C4C760709DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk"; sourceTree = ""; }; - 0C4C760809DDC70000126FB8 /* Rovastar & Zylot - Narell's Fever.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Narell's Fever.milk"; sourceTree = ""; }; - 0C4C760909DDC70000126FB8 /* Rovastar & Zylot - Passion Flower.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Passion Flower.milk"; sourceTree = ""; }; - 0C4C760A09DDC70000126FB8 /* Rovastar & Zylot - Sea Of Zigrot.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar & Zylot - Sea Of Zigrot.milk"; sourceTree = ""; }; - 0C4C760B09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Drift Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - A Million Miles From Earth (Drift Mix).milk"; sourceTree = ""; }; - 0C4C760C09DDC70000126FB8 /* Rovastar - A Million Miles from Earth (Pathfinder Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - A Million Miles from Earth (Pathfinder Mix).milk"; sourceTree = ""; }; - 0C4C760D09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Wormhole Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - A Million Miles From Earth (Wormhole Mix).milk"; sourceTree = ""; }; - 0C4C760E09DDC70000126FB8 /* Rovastar - A Million Miles from Earth.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - A Million Miles from Earth.milk"; sourceTree = ""; }; - 0C4C760F09DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Maddess.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Harlequin's Maddess.milk"; sourceTree = ""; }; - 0C4C761009DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk"; sourceTree = ""; }; - 0C4C761109DDC70000126FB8 /* Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk"; sourceTree = ""; }; - 0C4C761209DDC70100126FB8 /* Rovastar - Altars Of Madness (Boxfresh Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness (Boxfresh Mix).milk"; sourceTree = ""; }; - 0C4C761309DDC70100126FB8 /* Rovastar - Altars Of Madness (Duel Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness (Duel Mix).milk"; sourceTree = ""; }; - 0C4C761409DDC70100126FB8 /* Rovastar - Altars Of Madness (Surealist Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness (Surealist Mix).milk"; sourceTree = ""; }; - 0C4C761509DDC70100126FB8 /* Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk"; sourceTree = ""; }; - 0C4C761609DDC70100126FB8 /* Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk"; sourceTree = ""; }; - 0C4C761709DDC70100126FB8 /* Rovastar - Altars Of Madness.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Altars Of Madness.milk"; sourceTree = ""; }; - 0C4C761809DDC70100126FB8 /* Rovastar - Attacking Freedom.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Attacking Freedom.milk"; sourceTree = ""; }; - 0C4C761909DDC70100126FB8 /* Rovastar - Bellanova (New Wave Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Bellanova (New Wave Mix).milk"; sourceTree = ""; }; - 0C4C761A09DDC70100126FB8 /* Rovastar - Biohazard Warning.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Biohazard Warning.milk"; sourceTree = ""; }; - 0C4C761B09DDC70100126FB8 /* Rovastar - Braindance 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Braindance 1.milk"; sourceTree = ""; }; - 0C4C761C09DDC70100126FB8 /* Rovastar - Bytes.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Bytes.milk"; sourceTree = ""; }; - 0C4C761D09DDC70100126FB8 /* Rovastar - Chapel Of Ghouls.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Chapel Of Ghouls.milk"; sourceTree = ""; }; - 0C4C761E09DDC70100126FB8 /* Rovastar - Chemical Spirituality.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Chemical Spirituality.milk"; sourceTree = ""; }; - 0C4C761F09DDC70100126FB8 /* Rovastar - Clouded Judgement 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Clouded Judgement 3.milk"; sourceTree = ""; }; - 0C4C762009DDC70100126FB8 /* Rovastar - Cosmic Echoes 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Cosmic Echoes 1.milk"; sourceTree = ""; }; - 0C4C762109DDC70100126FB8 /* Rovastar - Cosmic Echoes 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Cosmic Echoes 2.milk"; sourceTree = ""; }; - 0C4C762209DDC70100126FB8 /* Rovastar - Cosmic Havoc.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Cosmic Havoc.milk"; sourceTree = ""; }; - 0C4C762309DDC70100126FB8 /* Rovastar - Cosmic Mosaic (Active Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Cosmic Mosaic (Active Mix).milk"; sourceTree = ""; }; - 0C4C762409DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk"; sourceTree = ""; }; - 0C4C762509DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Dark Ritual (Star Of Destiny Mix).milk"; sourceTree = ""; }; - 0C4C762609DDC70100126FB8 /* Rovastar - Decreasing Dreams (Extended Movement Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Decreasing Dreams (Extended Movement Mix).milk"; sourceTree = ""; }; - 0C4C762709DDC70100126FB8 /* Rovastar - Dreamcatcher.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Dreamcatcher.milk"; sourceTree = ""; }; - 0C4C762809DDC70100126FB8 /* Rovastar - eclectic interface (despair mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - eclectic interface (despair mix).milk"; sourceTree = ""; }; - 0C4C762909DDC70100126FB8 /* Rovastar - Explosive Minds.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Explosive Minds.milk"; sourceTree = ""; }; - 0C4C762A09DDC70100126FB8 /* Rovastar - Forgotten Moon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Forgotten Moon.milk"; sourceTree = ""; }; - 0C4C762B09DDC70100126FB8 /* Rovastar - Frozen Rapture .milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Frozen Rapture .milk"; sourceTree = ""; }; - 0C4C762C09DDC70100126FB8 /* Rovastar - Future Speakers.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Future Speakers.milk"; sourceTree = ""; }; - 0C4C762D09DDC70100126FB8 /* Rovastar - Halcyon Dreams 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Halcyon Dreams 3.milk"; sourceTree = ""; }; - 0C4C762E09DDC70100126FB8 /* Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk"; sourceTree = ""; }; - 0C4C762F09DDC70100126FB8 /* Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk"; sourceTree = ""; }; - 0C4C763009DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk"; sourceTree = ""; }; - 0C4C763109DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk"; sourceTree = ""; }; - 0C4C763209DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Dynamic Fractal 1.milk"; sourceTree = ""; }; - 0C4C763309DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Dynamic Fractal 2.milk"; sourceTree = ""; }; - 0C4C763409DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Dynamic Fractal 3.milk"; sourceTree = ""; }; - 0C4C763509DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Fractal Encounter 2.milk"; sourceTree = ""; }; - 0C4C763609DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Fractal Encounter.milk"; sourceTree = ""; }; - 0C4C763709DDC70100126FB8 /* Rovastar - Harlequin's Liquid Dragon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Liquid Dragon.milk"; sourceTree = ""; }; - 0C4C763809DDC70100126FB8 /* Rovastar - Harlequin's Living Wall.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Living Wall.milk"; sourceTree = ""; }; - 0C4C763909DDC70100126FB8 /* Rovastar - Harlequin's Spirit (Twisted Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Spirit (Twisted Mix).milk"; sourceTree = ""; }; - 0C4C763A09DDC70100126FB8 /* Rovastar - Harlequin's Spirit.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Harlequin's Spirit.milk"; sourceTree = ""; }; - 0C4C763B09DDC70100126FB8 /* Rovastar - Hyperspace (Frozen Rapture Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Hyperspace (Frozen Rapture Mix).milk"; sourceTree = ""; }; - 0C4C763C09DDC70100126FB8 /* Rovastar - Hyperspace (Hyper Speed Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Hyperspace (Hyper Speed Mix).milk"; sourceTree = ""; }; - 0C4C763D09DDC70100126FB8 /* Rovastar - Hyperspace.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Hyperspace.milk"; sourceTree = ""; }; - 0C4C763E09DDC70100126FB8 /* Rovastar - Inner Thoughts (Clouded Judgement Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Inner Thoughts (Clouded Judgement Mix).milk"; sourceTree = ""; }; - 0C4C763F09DDC70100126FB8 /* Rovastar - Inner Thoughts (Dark Secret Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Inner Thoughts (Dark Secret Mix).milk"; sourceTree = ""; }; - 0C4C764009DDC70100126FB8 /* Rovastar - Inner Thoughts (Distant Memories Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Inner Thoughts (Distant Memories Mix).milk"; sourceTree = ""; }; - 0C4C764109DDC70100126FB8 /* Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk"; sourceTree = ""; }; - 0C4C764209DDC70100126FB8 /* Rovastar - Inner Thoughts (Strange Cargo Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Inner Thoughts (Strange Cargo Mix).milk"; sourceTree = ""; }; - 0C4C764309DDC70100126FB8 /* Rovastar - Intense Desire.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Intense Desire.milk"; sourceTree = ""; }; - 0C4C764409DDC70100126FB8 /* Rovastar - Jester's Awakening.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Jester's Awakening.milk"; sourceTree = ""; }; - 0C4C764509DDC70100126FB8 /* Rovastar - Jester's Calling 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Jester's Calling 2.milk"; sourceTree = ""; }; - 0C4C764609DDC70100126FB8 /* Rovastar - Jester's Calling 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Jester's Calling 3.milk"; sourceTree = ""; }; - 0C4C764709DDC70100126FB8 /* Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk"; sourceTree = ""; }; - 0C4C764809DDC70100126FB8 /* Rovastar - Kalideostars (Altars Of Madness MIx).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Kalideostars (Altars Of Madness MIx).milk"; sourceTree = ""; }; - 0C4C764909DDC70100126FB8 /* Rovastar - Kalideostars (Round Round Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Kalideostars (Round Round Mix).milk"; sourceTree = ""; }; - 0C4C764A09DDC70100126FB8 /* Rovastar - Kalideostars.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Kalideostars.milk"; sourceTree = ""; }; - 0C4C764B09DDC70100126FB8 /* Rovastar - LabFunk.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - LabFunk.milk"; sourceTree = ""; }; - 0C4C764C09DDC70100126FB8 /* Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk"; sourceTree = ""; }; - 0C4C764D09DDC70100126FB8 /* Rovastar - Magic Carpet.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Magic Carpet.milk"; sourceTree = ""; }; - 0C4C764E09DDC70100126FB8 /* Rovastar - Mosaics Of Ages.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Mosaics Of Ages.milk"; sourceTree = ""; }; - 0C4C764F09DDC70100126FB8 /* Rovastar - Multiverse Starfield 1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Multiverse Starfield 1.milk"; sourceTree = ""; }; - 0C4C765009DDC70100126FB8 /* Rovastar - Multiverse Starfield 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Multiverse Starfield 3.milk"; sourceTree = ""; }; - 0C4C765109DDC70100126FB8 /* Rovastar - Omnipresence Resurrection (Raw Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Omnipresence Resurrection (Raw Mix).milk"; sourceTree = ""; }; - 0C4C765209DDC70100126FB8 /* Rovastar - Omnipresence Resurrection.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Omnipresence Resurrection.milk"; sourceTree = ""; }; - 0C4C765309DDC70100126FB8 /* Rovastar - Oozing Resistance.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Oozing Resistance.milk"; sourceTree = ""; }; - 0C4C765409DDC70100126FB8 /* Rovastar - Pandora's Volcano.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Pandora's Volcano.milk"; sourceTree = ""; }; - 0C4C765509DDC70100126FB8 /* Rovastar - Paradigm Sphere.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Paradigm Sphere.milk"; sourceTree = ""; }; - 0C4C765609DDC70100126FB8 /* Rovastar - Parallel Universe.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Parallel Universe.milk"; sourceTree = ""; }; - 0C4C765709DDC70100126FB8 /* Rovastar - paranormal diffusion analyser.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - paranormal diffusion analyser.milk"; sourceTree = ""; }; - 0C4C765809DDC70100126FB8 /* Rovastar - Power Trip.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Power Trip.milk"; sourceTree = ""; }; - 0C4C765909DDC70100126FB8 /* Rovastar - Ritual Of Life.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Ritual Of Life.milk"; sourceTree = ""; }; - 0C4C765A09DDC70100126FB8 /* Rovastar - Sea Life (Evoluation Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Sea Life (Evoluation Mix).milk"; sourceTree = ""; }; - 0C4C765B09DDC70100126FB8 /* Rovastar - Sea Life.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Sea Life.milk"; sourceTree = ""; }; - 0C4C765C09DDC70100126FB8 /* Rovastar - Sea Shells.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Sea Shells.milk"; sourceTree = ""; }; - 0C4C765D09DDC70100126FB8 /* Rovastar - Shadows Portal.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Shadows Portal.milk"; sourceTree = ""; }; - 0C4C765E09DDC70100126FB8 /* Rovastar - Snapshot Of Space.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Snapshot Of Space.milk"; sourceTree = ""; }; - 0C4C765F09DDC70100126FB8 /* Rovastar - Solarized Space (Space DNA Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Solarized Space (Space DNA Mix).milk"; sourceTree = ""; }; - 0C4C766009DDC70100126FB8 /* Rovastar - Solarized Space.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Solarized Space.milk"; sourceTree = ""; }; - 0C4C766109DDC70100126FB8 /* Rovastar - Space (Twisted Dimension Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Space (Twisted Dimension Mix).milk"; sourceTree = ""; }; - 0C4C766209DDC70100126FB8 /* Rovastar - Space.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Space.milk"; sourceTree = ""; }; - 0C4C766309DDC70100126FB8 /* Rovastar - Starquake (Sunquake Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Starquake (Sunquake Mix).milk"; sourceTree = ""; }; - 0C4C766409DDC70100126FB8 /* Rovastar - The Awakening.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - The Awakening.milk"; sourceTree = ""; }; - 0C4C766509DDC70100126FB8 /* Rovastar - The Chaos Of Colours (Drifting Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - The Chaos Of Colours (Drifting Mix).milk"; sourceTree = ""; }; - 0C4C766609DDC70100126FB8 /* Rovastar - The Chaos Of Colours.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - The Chaos Of Colours.milk"; sourceTree = ""; }; - 0C4C766709DDC70100126FB8 /* Rovastar - The Shroomery.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - The Shroomery.milk"; sourceTree = ""; }; - 0C4C766809DDC70100126FB8 /* Rovastar - Timeless Voyage.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Timeless Voyage.milk"; sourceTree = ""; }; - 0C4C766909DDC70100126FB8 /* Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk"; sourceTree = ""; }; - 0C4C766A09DDC70100126FB8 /* Rovastar - Trippy S..milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Trippy S..milk"; sourceTree = ""; }; - 0C4C766B09DDC70100126FB8 /* Rovastar - Trippy S.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Trippy S.milk"; sourceTree = ""; }; - 0C4C766C09DDC70100126FB8 /* Rovastar - twisted bytes.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - twisted bytes.milk"; sourceTree = ""; }; - 0C4C766D09DDC70100126FB8 /* Rovastar - Violent Relaxation.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Violent Relaxation.milk"; sourceTree = ""; }; - 0C4C766E09DDC70100126FB8 /* Rovastar - Visions Beyond.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Visions Beyond.milk"; sourceTree = ""; }; - 0C4C766F09DDC70100126FB8 /* Rovastar - Visions Of The Future.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Visions Of The Future.milk"; sourceTree = ""; }; - 0C4C767009DDC70100126FB8 /* Rovastar - VooV's Brainwaves.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - VooV's Brainwaves.milk"; sourceTree = ""; }; - 0C4C767109DDC70100126FB8 /* Rovastar - VooV's Movement (After Dark Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - VooV's Movement (After Dark Mix).milk"; sourceTree = ""; }; - 0C4C767209DDC70100126FB8 /* Rovastar - VooV's Movement.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - VooV's Movement.milk"; sourceTree = ""; }; - 0C4C767309DDC70100126FB8 /* Rovastar - VooV's Organic Light.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - VooV's Organic Light.milk"; sourceTree = ""; }; - 0C4C767409DDC70100126FB8 /* Rovastar - Xeper.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar - Xeper.milk"; sourceTree = ""; }; - 0C4C767509DDC70100126FB8 /* Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk"; sourceTree = ""; }; - 0C4C767609DDC70100126FB8 /* Rovastar and Krash - Rainbow Deflection.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar and Krash - Rainbow Deflection.milk"; sourceTree = ""; }; - 0C4C767709DDC70100126FB8 /* Rovastar and Unchained - Braindance Visions.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar and Unchained - Braindance Visions.milk"; sourceTree = ""; }; - 0C4C767809DDC70100126FB8 /* Rovastar and Unchained - Life After Pie (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rovastar and Unchained - Life After Pie (Remix).milk"; sourceTree = ""; }; - 0C4C767909DDC70100126FB8 /* Rozzer & Neuro - Starover (Semicolon Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzer & Neuro - Starover (Semicolon Mix).milk"; sourceTree = ""; }; - 0C4C767A09DDC70100126FB8 /* Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk"; sourceTree = ""; }; - 0C4C767B09DDC70100126FB8 /* Rozzor & Aderrasi - Canon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor & Aderrasi - Canon.milk"; sourceTree = ""; }; - 0C4C767C09DDC70100126FB8 /* Rozzor & Che - Inside The House Of Nil.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor & Che - Inside The House Of Nil.milk"; sourceTree = ""; }; - 0C4C767D09DDC70100126FB8 /* Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk"; sourceTree = ""; }; - 0C4C767E09DDC70100126FB8 /* Rozzor & Zylot - Rainbow River.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor & Zylot - Rainbow River.milk"; sourceTree = ""; }; - 0C4C767F09DDC70100126FB8 /* Rozzor - Color Breaks its Boycott (shape mod).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor - Color Breaks its Boycott (shape mod).milk"; sourceTree = ""; }; - 0C4C768009DDC70100126FB8 /* Rozzor - Learning Curve (Invert tweak).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor - Learning Curve (Invert tweak).milk"; sourceTree = ""; }; - 0C4C768109DDC70100126FB8 /* Rozzor and che - Inside the House of nil.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and che - Inside the House of nil.milk"; sourceTree = ""; }; - 0C4C768209DDC70100126FB8 /* Rozzor and Idiot - Any Other Deep Rising.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and Idiot - Any Other Deep Rising.milk"; sourceTree = ""; }; - 0C4C768309DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk"; sourceTree = ""; }; - 0C4C768409DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk"; sourceTree = ""; }; - 0C4C768509DDC70100126FB8 /* Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk"; sourceTree = ""; }; - 0C4C768609DDC70100126FB8 /* Rozzor and Zylot - Associative Order.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Rozzor and Zylot - Associative Order.milk"; sourceTree = ""; }; - 0C4C768709DDC70100126FB8 /* Scanner (@ztec)2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Scanner (@ztec)2.milk"; sourceTree = ""; }; - 0C4C768809DDC70100126FB8 /* Studio Music - Cherished Desires.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Studio Music - Cherished Desires.milk"; sourceTree = ""; }; - 0C4C768909DDC70100126FB8 /* Studio Music and Unchained - Rapid Alteration.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Studio Music and Unchained - Rapid Alteration.milk"; sourceTree = ""; }; - 0C4C768A09DDC70100126FB8 /* StudioMusic & Unchained - Entity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic & Unchained - Entity.milk"; sourceTree = ""; }; - 0C4C768B09DDC70100126FB8 /* StudioMusic & Unchained - Minor Alteration.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic & Unchained - Minor Alteration.milk"; sourceTree = ""; }; - 0C4C768C09DDC70100126FB8 /* StudioMusic & Unchained - So Much Love.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic & Unchained - So Much Love.milk"; sourceTree = ""; }; - 0C4C768D09DDC70100126FB8 /* StudioMusic & Unchained - State Of Discretion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic & Unchained - State Of Discretion.milk"; sourceTree = ""; }; - 0C4C768E09DDC70100126FB8 /* StudioMusic & Unchained - Wrenched Fate.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic & Unchained - Wrenched Fate.milk"; sourceTree = ""; }; - 0C4C768F09DDC70100126FB8 /* StudioMusic - Harmonic Bliss (elated mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic - Harmonic Bliss (elated mix).milk"; sourceTree = ""; }; - 0C4C769009DDC70100126FB8 /* StudioMusic - It's Only Make Believe.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic - It's Only Make Believe.milk"; sourceTree = ""; }; - 0C4C769109DDC70100126FB8 /* StudioMusic - Numerosity.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic - Numerosity.milk"; sourceTree = ""; }; - 0C4C769209DDC70100126FB8 /* StudioMusic - Twisted Galaxy.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic - Twisted Galaxy.milk"; sourceTree = ""; }; - 0C4C769309DDC70100126FB8 /* StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk"; sourceTree = ""; }; - 0C4C769409DDC70100126FB8 /* TEcHNO and SandStorm - Psychodelic Highway.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "TEcHNO and SandStorm - Psychodelic Highway.milk"; sourceTree = ""; }; - 0C4C769509DDC70100126FB8 /* Telek - City Helix Lattice.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - City Helix Lattice.milk"; sourceTree = ""; }; - 0C4C769609DDC70100126FB8 /* Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk"; sourceTree = ""; }; - 0C4C769709DDC70100126FB8 /* Telek - Flicker (@xis).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Flicker (@xis).milk"; sourceTree = ""; }; - 0C4C769809DDC70100126FB8 /* Telek - Flicker.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Flicker.milk"; sourceTree = ""; }; - 0C4C769909DDC70100126FB8 /* Telek - Globetrotting (Sailors Delight Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Globetrotting (Sailors Delight Mix).milk"; sourceTree = ""; }; - 0C4C769A09DDC70100126FB8 /* Telek - Lost Star (Flash).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Lost Star (Flash).milk"; sourceTree = ""; }; - 0C4C769B09DDC70100126FB8 /* Telek - Recirculate (Cool).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Recirculate (Cool).milk"; sourceTree = ""; }; - 0C4C769C09DDC70100126FB8 /* Telek - Sine Wave.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Sine Wave.milk"; sourceTree = ""; }; - 0C4C769D09DDC70100126FB8 /* Telek - Slow Shift Matrix (bb4.5).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Slow Shift Matrix (bb4.5).milk"; sourceTree = ""; }; - 0C4C769E09DDC70100126FB8 /* Telek - Slow Shift Matrix (Ethereal Drift).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Slow Shift Matrix (Ethereal Drift).milk"; sourceTree = ""; }; - 0C4C769F09DDC70100126FB8 /* Telek - Slow Shift Matrix.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Slow Shift Matrix.milk"; sourceTree = ""; }; - 0C4C76A009DDC70100126FB8 /* Telek - Slow Thing (Spiderman Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Slow Thing (Spiderman Mix).milk"; sourceTree = ""; }; - 0C4C76A109DDC70100126FB8 /* Telek - Spiral Tabletop (New and Improved!).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Spiral Tabletop (New and Improved!).milk"; sourceTree = ""; }; - 0C4C76A209DDC70100126FB8 /* Telek - Spokes (More Dynamic).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Spokes (More Dynamic).milk"; sourceTree = ""; }; - 0C4C76A309DDC70100126FB8 /* Telek - Target Practice (tracking retreat slide).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek - Target Practice (tracking retreat slide).milk"; sourceTree = ""; }; - 0C4C76A409DDC70100126FB8 /* Telek EMPR - Scanner - Trust me I've got a Melways.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Telek EMPR - Scanner - Trust me I've got a Melways.milk"; sourceTree = ""; }; - 0C4C76A509DDC70100126FB8 /* TobiasWolfBoi - Cataract.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "TobiasWolfBoi - Cataract.milk"; sourceTree = ""; }; - 0C4C76A609DDC70100126FB8 /* TobiasWolfBoi - The Pit.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "TobiasWolfBoi - The Pit.milk"; sourceTree = ""; }; - 0C4C76A709DDC70100126FB8 /* Tschoey - Music Flower.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Tschoey - Music Flower.milk"; sourceTree = ""; }; - 0C4C76A809DDC70100126FB8 /* Unchained & Che - Oddnezz 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Che - Oddnezz 3.milk"; sourceTree = ""; }; - 0C4C76A909DDC70100126FB8 /* Unchained & Che - Oddnezz 4 (Done it again).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Che - Oddnezz 4 (Done it again).milk"; sourceTree = ""; }; - 0C4C76AA09DDC70100126FB8 /* Unchained & CTho - Bad Vibes.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & CTho - Bad Vibes.milk"; sourceTree = ""; }; - 0C4C76AB09DDC70100126FB8 /* Unchained & Illusion - Dual Wave 3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Illusion - Dual Wave 3.milk"; sourceTree = ""; }; - 0C4C76AC09DDC70100126FB8 /* Unchained & Illusion - Logic Morph.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Illusion - Logic Morph.milk"; sourceTree = ""; }; - 0C4C76AD09DDC70100126FB8 /* Unchained & Illusion - Spirit Morph.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Illusion - Spirit Morph.milk"; sourceTree = ""; }; - 0C4C76AE09DDC70100126FB8 /* Unchained & Rovastar - For The Seagull.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - For The Seagull.milk"; sourceTree = ""; }; - 0C4C76AF09DDC70100126FB8 /* Unchained & Rovastar - Luckless.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Luckless.milk"; sourceTree = ""; }; - 0C4C76B009DDC70100126FB8 /* Unchained & Rovastar - Rainbow Obscura.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Rainbow Obscura.milk"; sourceTree = ""; }; - 0C4C76B109DDC70100126FB8 /* Unchained & Rovastar - Slow Solstice.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Slow Solstice.milk"; sourceTree = ""; }; - 0C4C76B209DDC70100126FB8 /* Unchained & Rovastar - Triptionary.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Triptionary.milk"; sourceTree = ""; }; - 0C4C76B309DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk"; sourceTree = ""; }; - 0C4C76B409DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Wormhole Pillars.milk"; sourceTree = ""; }; - 0C4C76B509DDC70100126FB8 /* Unchained & Rovastar - Xen Traffic.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained & Rovastar - Xen Traffic.milk"; sourceTree = ""; }; - 0C4C76B609DDC70100126FB8 /* Unchained - A Matter Of Taste (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - A Matter Of Taste (Remix).milk"; sourceTree = ""; }; - 0C4C76B709DDC70100126FB8 /* Unchained - All You Can Eat.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - All You Can Eat.milk"; sourceTree = ""; }; - 0C4C76B809DDC70100126FB8 /* Unchained - Bad Karma Oddnezz Style.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Bad Karma Oddnezz Style.milk"; sourceTree = ""; }; - 0C4C76B909DDC70100126FB8 /* Unchained - Beat Demo (Demonology Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo (Demonology Mix).milk"; sourceTree = ""; }; - 0C4C76BA09DDC70100126FB8 /* Unchained - Beat Demo 1.0.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 1.0.milk"; sourceTree = ""; }; - 0C4C76BB09DDC70100126FB8 /* Unchained - Beat Demo 10.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 10.milk"; sourceTree = ""; }; - 0C4C76BC09DDC70100126FB8 /* Unchained - Beat Demo 2.0.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 2.0.milk"; sourceTree = ""; }; - 0C4C76BD09DDC70100126FB8 /* Unchained - Beat Demo 2.1.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 2.1.milk"; sourceTree = ""; }; - 0C4C76BE09DDC70100126FB8 /* Unchained - Beat Demo 2.2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 2.2.milk"; sourceTree = ""; }; - 0C4C76BF09DDC70100126FB8 /* Unchained - Beat Demo 2.3.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Beat Demo 2.3.milk"; sourceTree = ""; }; - 0C4C76C009DDC70100126FB8 /* Unchained - Cartoon Factory.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Cartoon Factory.milk"; sourceTree = ""; }; - 0C4C76C109DDC70100126FB8 /* Unchained - Cranked On Failure.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Cranked On Failure.milk"; sourceTree = ""; }; - 0C4C76C209DDC70100126FB8 /* Unchained - Custom Gramatix (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Custom Gramatix (Remix).milk"; sourceTree = ""; }; - 0C4C76C309DDC70100126FB8 /* Unchained - Deeper Logic.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Deeper Logic.milk"; sourceTree = ""; }; - 0C4C76C409DDC70100126FB8 /* Unchained - elite vectronics.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - elite vectronics.milk"; sourceTree = ""; }; - 0C4C76C509DDC70200126FB8 /* Unchained - Free to Feel (Valium Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Free to Feel (Valium Remix).milk"; sourceTree = ""; }; - 0C4C76C609DDC70200126FB8 /* Unchained - French Clothing.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - French Clothing.milk"; sourceTree = ""; }; - 0C4C76C709DDC70200126FB8 /* Unchained - Games With Light & Sound.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Games With Light & Sound.milk"; sourceTree = ""; }; - 0C4C76C809DDC70200126FB8 /* Unchained - Ghostlight Whisper.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Ghostlight Whisper.milk"; sourceTree = ""; }; - 0C4C76C909DDC70200126FB8 /* Unchained - God Of The Game (Remix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - God Of The Game (Remix).milk"; sourceTree = ""; }; - 0C4C76CA09DDC70200126FB8 /* Unchained - Goo Kung Fu.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Goo Kung Fu.milk"; sourceTree = ""; }; - 0C4C76CB09DDC70200126FB8 /* Unchained - Goofy Beat Detection.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Goofy Beat Detection.milk"; sourceTree = ""; }; - 0C4C76CC09DDC70200126FB8 /* Unchained - Housed In A Childish Mind.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Housed In A Childish Mind.milk"; sourceTree = ""; }; - 0C4C76CD09DDC70200126FB8 /* Unchained - In Memory Of Peg.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - In Memory Of Peg.milk"; sourceTree = ""; }; - 0C4C76CE09DDC70200126FB8 /* Unchained - Invariant Under Rigorous Motions.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Invariant Under Rigorous Motions.milk"; sourceTree = ""; }; - 0C4C76CF09DDC70200126FB8 /* Unchained - Jaded Emotion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Jaded Emotion.milk"; sourceTree = ""; }; - 0C4C76D009DDC70200126FB8 /* Unchained - Jaundice.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Jaundice.milk"; sourceTree = ""; }; - 0C4C76D109DDC70200126FB8 /* Unchained - Making a Science of It 4.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Making a Science of It 4.milk"; sourceTree = ""; }; - 0C4C76D209DDC70200126FB8 /* Unchained - Morat's Final Voyage.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Morat's Final Voyage.milk"; sourceTree = ""; }; - 0C4C76D309DDC70200126FB8 /* Unchained - Non-Professional Music Analyzer.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Non-Professional Music Analyzer.milk"; sourceTree = ""; }; - 0C4C76D409DDC70200126FB8 /* Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk"; sourceTree = ""; }; - 0C4C76D509DDC70200126FB8 /* Unchained - Perverted Dialect.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Perverted Dialect.milk"; sourceTree = ""; }; - 0C4C76D609DDC70200126FB8 /* Unchained - Picture Of Exile.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Picture Of Exile.milk"; sourceTree = ""; }; - 0C4C76D709DDC70200126FB8 /* Unchained - Picture Of Nectar.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Picture Of Nectar.milk"; sourceTree = ""; }; - 0C4C76D809DDC70200126FB8 /* Unchained - Picture Of Poison.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Picture Of Poison.milk"; sourceTree = ""; }; - 0C4C76D909DDC70200126FB8 /* Unchained - ReAwoke.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - ReAwoke.milk"; sourceTree = ""; }; - 0C4C76DA09DDC70200126FB8 /* Unchained - Resistance.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Resistance.milk"; sourceTree = ""; }; - 0C4C76DB09DDC70200126FB8 /* Unchained - Ribald Ballad.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Ribald Ballad.milk"; sourceTree = ""; }; - 0C4C76DC09DDC70200126FB8 /* Unchained - Shaping The Grid.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Shaping The Grid.milk"; sourceTree = ""; }; - 0C4C76DD09DDC70200126FB8 /* Unchained - Subjective Experience Of The Manifold.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Subjective Experience Of The Manifold.milk"; sourceTree = ""; }; - 0C4C76DE09DDC70200126FB8 /* Unchained - Unclaimed Wreckage 2 (Shamanic).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Unclaimed Wreckage 2 (Shamanic).milk"; sourceTree = ""; }; - 0C4C76DF09DDC70200126FB8 /* Unchained - Unclaimed Wreckage.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Unclaimed Wreckage.milk"; sourceTree = ""; }; - 0C4C76E009DDC70200126FB8 /* Unchained - Unified Drag 2.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Unified Drag 2.milk"; sourceTree = ""; }; - 0C4C76E109DDC70200126FB8 /* Unchained - ventilation.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - ventilation.milk"; sourceTree = ""; }; - 0C4C76E209DDC70200126FB8 /* Unchained - Working the Grid.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Unchained - Working the Grid.milk"; sourceTree = ""; }; - 0C4C76E309DDC70200126FB8 /* Vovan - Bass With Flover.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Vovan - Bass With Flover.milk"; sourceTree = ""; }; - 0C4C76E409DDC70200126FB8 /* Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk"; sourceTree = ""; }; - 0C4C76E509DDC70200126FB8 /* Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk"; sourceTree = ""; }; - 0C4C76E609DDC70200126FB8 /* Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk"; sourceTree = ""; }; - 0C4C76E709DDC70200126FB8 /* Zylot & Krash - Extremophile.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Krash - Extremophile.milk"; sourceTree = ""; }; - 0C4C76E809DDC70200126FB8 /* Zylot & Mstress - Celebrate.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Mstress - Celebrate.milk"; sourceTree = ""; }; - 0C4C76E909DDC70200126FB8 /* Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk"; sourceTree = ""; }; - 0C4C76EA09DDC70200126FB8 /* Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk"; sourceTree = ""; }; - 0C4C76EB09DDC70200126FB8 /* Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk"; sourceTree = ""; }; - 0C4C76EC09DDC70200126FB8 /* Zylot & Wulfson - Pulse Beat.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot & Wulfson - Pulse Beat.milk"; sourceTree = ""; }; - 0C4C76ED09DDC70200126FB8 /* Zylot - Azirphaeli's Mirror.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Azirphaeli's Mirror.milk"; sourceTree = ""; }; - 0C4C76EE09DDC70200126FB8 /* Zylot - Block Of Sound (Abstract Architecture Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Block Of Sound (Abstract Architecture Mix).milk"; sourceTree = ""; }; - 0C4C76EF09DDC70200126FB8 /* Zylot - Block Of Sound (Fractal Construction Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Block Of Sound (Fractal Construction Mix).milk"; sourceTree = ""; }; - 0C4C76F009DDC70200126FB8 /* Zylot - Burning Passion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Burning Passion.milk"; sourceTree = ""; }; - 0C4C76F109DDC70200126FB8 /* Zylot - Color Of Music.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Color Of Music.milk"; sourceTree = ""; }; - 0C4C76F209DDC70200126FB8 /* Zylot - Crystal Ball (Magical Reaction Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Crystal Ball (Magical Reaction Mix).milk"; sourceTree = ""; }; - 0C4C76F309DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) complex.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - De(-a)range(d)(ment) complex.milk"; sourceTree = ""; }; - 0C4C76F409DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) strain.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - De(-a)range(d)(ment) strain.milk"; sourceTree = ""; }; - 0C4C76F509DDC70200126FB8 /* Zylot - Digiscape Advanced Processor.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Digiscape Advanced Processor.milk"; sourceTree = ""; }; - 0C4C76F609DDC70200126FB8 /* Zylot - Ether Storm.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Ether Storm.milk"; sourceTree = ""; }; - 0C4C76F709DDC70200126FB8 /* Zylot - Global Earthquake.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Global Earthquake.milk"; sourceTree = ""; }; - 0C4C76F809DDC70200126FB8 /* Zylot - Hollow Shell.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Hollow Shell.milk"; sourceTree = ""; }; - 0C4C76F909DDC70200126FB8 /* Zylot - Inside The Planar Portal.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Inside The Planar Portal.milk"; sourceTree = ""; }; - 0C4C76FA09DDC70200126FB8 /* Zylot - light of the path.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - light of the path.milk"; sourceTree = ""; }; - 0C4C76FB09DDC70200126FB8 /* Zylot - Magladon.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Magladon.milk"; sourceTree = ""; }; - 0C4C76FC09DDC70200126FB8 /* Zylot - Magma Crawl.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Magma Crawl.milk"; sourceTree = ""; }; - 0C4C76FD09DDC70200126FB8 /* Zylot - Magma Vein.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Magma Vein.milk"; sourceTree = ""; }; - 0C4C76FE09DDC70200126FB8 /* Zylot - Mixing Pot.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Mixing Pot.milk"; sourceTree = ""; }; - 0C4C76FF09DDC70200126FB8 /* Zylot - New Star.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - New Star.milk"; sourceTree = ""; }; - 0C4C770009DDC70200126FB8 /* Zylot - PinWheel.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - PinWheel.milk"; sourceTree = ""; }; - 0C4C770109DDC70200126FB8 /* Zylot - Present for Saddam.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Present for Saddam.milk"; sourceTree = ""; }; - 0C4C770209DDC70200126FB8 /* Zylot - Puddle Of Music.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Puddle Of Music.milk"; sourceTree = ""; }; - 0C4C770309DDC70200126FB8 /* Zylot - Rainbow Planet Under Attack.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Rainbow Planet Under Attack.milk"; sourceTree = ""; }; - 0C4C770409DDC70200126FB8 /* Zylot - Riding The Sound Waves.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Riding The Sound Waves.milk"; sourceTree = ""; }; - 0C4C770509DDC70200126FB8 /* Zylot - Rush.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Rush.milk"; sourceTree = ""; }; - 0C4C770609DDC70200126FB8 /* Zylot - S Pulse Virus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - S Pulse Virus.milk"; sourceTree = ""; }; - 0C4C770709DDC70200126FB8 /* Zylot - S. Pulse Virus.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - S. Pulse Virus.milk"; sourceTree = ""; }; - 0C4C770809DDC70200126FB8 /* Zylot - String.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - String.milk"; sourceTree = ""; }; - 0C4C770909DDC70200126FB8 /* Zylot - Tangent Universe (Collapsed With Artifact Mix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Tangent Universe (Collapsed With Artifact Mix).milk"; sourceTree = ""; }; - 0C4C770A09DDC70200126FB8 /* Zylot - The Deeper.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - The Deeper.milk"; sourceTree = ""; }; - 0C4C770B09DDC70200126FB8 /* Zylot - The Inner Workings of my New Computer.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - The Inner Workings of my New Computer.milk"; sourceTree = ""; }; - 0C4C770C09DDC70200126FB8 /* Zylot - Tunnel Of Illusion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Tunnel Of Illusion.milk"; sourceTree = ""; }; - 0C4C770D09DDC70200126FB8 /* Zylot - Visionarie (geiss aspect ratio fix).milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Visionarie (geiss aspect ratio fix).milk"; sourceTree = ""; }; - 0C4C770E09DDC70200126FB8 /* Zylot - Visionarie.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Visionarie.milk"; sourceTree = ""; }; - 0C4C770F09DDC70200126FB8 /* Zylot - Waves Of Blood.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Waves Of Blood.milk"; sourceTree = ""; }; - 0C4C771009DDC70200126FB8 /* Zylot - Winding Path Over The Blue Abyss.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot - Winding Path Over The Blue Abyss.milk"; sourceTree = ""; }; - 0C4C771109DDC70200126FB8 /* Zylot and Rovastar - Iouo Stone Morphic Fusion.milk */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "Zylot and Rovastar - Iouo Stone Morphic Fusion.milk"; sourceTree = ""; }; - 0C74DBCD0C20822A0043103D /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = PkgInfo; path = "../projectM-iTunes/PkgInfo"; sourceTree = SOURCE_ROOT; }; - 0CB611CE0C1F2D1E0060821A /* Vera.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Vera.ttf; sourceTree = ""; }; - 0CB611CF0C1F2D1E0060821A /* VeraMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = VeraMono.ttf; sourceTree = ""; }; - 0CBE3BDC0A74118500F42C68 /* projectMvis.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = projectMvis.cc; path = ../projectMvis/projectMvis.cc; sourceTree = SOURCE_ROOT; }; - 0CBFA8320C1AB0F2007E9382 /* BeatDetect.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = BeatDetect.cpp; path = "../projectM-engine/BeatDetect.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8330C1AB0F2007E9382 /* BeatDetect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BeatDetect.h; path = "../projectM-engine/BeatDetect.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8340C1AB0F2007E9382 /* browser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = browser.cpp; path = "../projectM-engine/browser.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8350C1AB0F2007E9382 /* browser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = browser.h; path = "../projectM-engine/browser.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8370C1AB0F2007E9382 /* builtin_funcs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = builtin_funcs.h; path = "../projectM-engine/builtin_funcs.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8380C1AB0F2007E9382 /* carbontoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = carbontoprojectM.h; path = "../projectM-engine/carbontoprojectM.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8390C1AB0F2007E9382 /* common.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = common.h; path = "../projectM-engine/common.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA83A0C1AB0F2007E9382 /* compare.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = compare.h; path = "../projectM-engine/compare.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA83B0C1AB0F2007E9382 /* console_interface.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = console_interface.cpp; path = "../projectM-engine/console_interface.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA83C0C1AB0F2007E9382 /* console_interface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = console_interface.h; path = "../projectM-engine/console_interface.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA83D0C1AB0F2007E9382 /* CustomShape.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CustomShape.cpp; path = "../projectM-engine/CustomShape.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA83E0C1AB0F2007E9382 /* CustomShape.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CustomShape.h; path = "../projectM-engine/CustomShape.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA83F0C1AB0F2007E9382 /* CustomWave.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CustomWave.cpp; path = "../projectM-engine/CustomWave.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8400C1AB0F2007E9382 /* CustomWave.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CustomWave.h; path = "../projectM-engine/CustomWave.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8410C1AB0F2007E9382 /* CValue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CValue.h; path = "../projectM-engine/CValue.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8520C1AB102007E9382 /* dlldefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = dlldefs.h; path = "../projectM-engine/dlldefs.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8530C1AB102007E9382 /* editor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = editor.cpp; path = "../projectM-engine/editor.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8540C1AB102007E9382 /* editor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = editor.h; path = "../projectM-engine/editor.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8550C1AB102007E9382 /* Eval.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Eval.cpp; path = "../projectM-engine/Eval.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8560C1AB102007E9382 /* Eval.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Eval.h; path = "../projectM-engine/Eval.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8570C1AB102007E9382 /* event.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = event.h; path = "../projectM-engine/event.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8580C1AB102007E9382 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Expr.cpp; path = "../projectM-engine/Expr.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8590C1AB102007E9382 /* Expr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Expr.h; path = "../projectM-engine/Expr.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA85A0C1AB102007E9382 /* fatal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fatal.h; path = "../projectM-engine/fatal.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA85B0C1AB102007E9382 /* fftsg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fftsg.cpp; path = "../projectM-engine/fftsg.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA85C0C1AB102007E9382 /* fftsg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fftsg.h; path = "../projectM-engine/fftsg.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA85D0C1AB102007E9382 /* Func.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Func.cpp; path = "../projectM-engine/Func.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA85E0C1AB102007E9382 /* Func.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Func.h; path = "../projectM-engine/Func.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA85F0C1AB102007E9382 /* glConsole.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = glConsole.cpp; path = "../projectM-engine/glConsole.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8600C1AB102007E9382 /* glConsole.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = glConsole.h; path = "../projectM-engine/glConsole.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8620C1AB102007E9382 /* InitCond.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = InitCond.cpp; path = "../projectM-engine/InitCond.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8630C1AB102007E9382 /* InitCond.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = InitCond.h; path = "../projectM-engine/InitCond.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8760C1AB116007E9382 /* lvtoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = lvtoprojectM.h; path = "../projectM-engine/lvtoprojectM.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8770C1AB116007E9382 /* menu.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = menu.cpp; path = "../projectM-engine/menu.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8780C1AB116007E9382 /* menu.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = menu.h; path = "../projectM-engine/menu.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA87C0C1AB12E007E9382 /* Param.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Param.cpp; path = "../projectM-engine/Param.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA87D0C1AB12E007E9382 /* Param.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Param.h; path = "../projectM-engine/Param.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA87E0C1AB12E007E9382 /* Parser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Parser.cpp; path = "../projectM-engine/Parser.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA87F0C1AB12E007E9382 /* Parser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Parser.h; path = "../projectM-engine/Parser.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8800C1AB12E007E9382 /* pbuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pbuffer.cpp; path = "../projectM-engine/pbuffer.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8810C1AB12E007E9382 /* pbuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pbuffer.h; path = "../projectM-engine/pbuffer.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8820C1AB12E007E9382 /* PCM.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PCM.cpp; path = "../projectM-engine/PCM.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8830C1AB12E007E9382 /* PCM.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PCM.h; path = "../projectM-engine/PCM.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8840C1AB12E007E9382 /* PerFrameEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PerFrameEqn.cpp; path = "../projectM-engine/PerFrameEqn.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8850C1AB12E007E9382 /* PerFrameEqn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PerFrameEqn.h; path = "../projectM-engine/PerFrameEqn.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8860C1AB12E007E9382 /* PerPixelEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PerPixelEqn.cpp; path = "../projectM-engine/PerPixelEqn.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8870C1AB12E007E9382 /* PerPixelEqn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PerPixelEqn.h; path = "../projectM-engine/PerPixelEqn.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8880C1AB12E007E9382 /* PerPointEqn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PerPointEqn.cpp; path = "../projectM-engine/PerPointEqn.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8890C1AB12E007E9382 /* PerPointEqn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PerPointEqn.h; path = "../projectM-engine/PerPointEqn.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA88A0C1AB12E007E9382 /* Preset.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Preset.cpp; path = "../projectM-engine/Preset.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA88B0C1AB12E007E9382 /* Preset.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Preset.h; path = "../projectM-engine/Preset.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA88C0C1AB12E007E9382 /* projectM.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = projectM.cpp; path = "../projectM-engine/projectM.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA88D0C1AB12E007E9382 /* projectM.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = projectM.h; path = "../projectM-engine/projectM.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA88E0C1AB12E007E9382 /* sdltoprojectM.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sdltoprojectM.h; path = "../projectM-engine/sdltoprojectM.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA88F0C1AB12E007E9382 /* SplayNode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SplayNode.cpp; path = "../projectM-engine/SplayNode.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8900C1AB12E007E9382 /* SplayNode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SplayNode.h; path = "../projectM-engine/SplayNode.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8910C1AB12E007E9382 /* SplayTree.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SplayTree.cpp; path = "../projectM-engine/SplayTree.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8920C1AB12E007E9382 /* SplayTree.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SplayTree.h; path = "../projectM-engine/SplayTree.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8930C1AB12E007E9382 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = timer.cpp; path = "../projectM-engine/timer.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8940C1AB12E007E9382 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = timer.h; path = "../projectM-engine/timer.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8950C1AB12E007E9382 /* wipemalloc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = wipemalloc.cpp; path = "../projectM-engine/wipemalloc.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8960C1AB12E007E9382 /* wipemalloc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = wipemalloc.h; path = "../projectM-engine/wipemalloc.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C10C1AB2F3007E9382 /* wxvisApp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = wxvisApp.cpp; path = "../projectM-wxvis/wxvisApp.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C20C1AB2F3007E9382 /* wxvisApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = wxvisApp.h; path = "../projectM-wxvis/wxvisApp.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C30C1AB2F3007E9382 /* wxvisCanvas.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = wxvisCanvas.cpp; path = "../projectM-wxvis/wxvisCanvas.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C40C1AB2F3007E9382 /* wxvisCanvas.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = wxvisCanvas.h; path = "../projectM-wxvis/wxvisCanvas.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C50C1AB2F3007E9382 /* wxvisFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = wxvisFrame.cpp; path = "../projectM-wxvis/wxvisFrame.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8C60C1AB2F3007E9382 /* wxvisFrame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = wxvisFrame.h; path = "../projectM-wxvis/wxvisFrame.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8D40C1AB4FE007E9382 /* iprojectM.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = iprojectM.cpp; path = "../projectM-iTunes/iprojectM.cpp"; sourceTree = SOURCE_ROOT; }; - 0CBFA8D60C1AB50E007E9382 /* iTunesAPI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = iTunesAPI.c; path = "../projectM-iTunes/macos/iTunesAPI.c"; sourceTree = SOURCE_ROOT; }; - 0CBFA8D70C1AB50E007E9382 /* iTunesAPI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = iTunesAPI.h; path = "../projectM-iTunes/macos/iTunesAPI.h"; sourceTree = SOURCE_ROOT; }; - 0CBFA8D80C1AB50E007E9382 /* iTunesVisualAPI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = iTunesVisualAPI.h; path = "../projectM-iTunes/macos/iTunesVisualAPI.h"; sourceTree = SOURCE_ROOT; }; - 0CCF40040C0A2F870030828E /* projectM.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = projectM.icns; sourceTree = ""; }; - 0CDBB8210C1F4540007A1868 /* libglew.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglew.a; path = ../../../glew/build/macos/glew/build/Release/libglew.a; sourceTree = SOURCE_ROOT; }; - D2AAC046055464E500DB518D /* libprojectM.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libprojectM.a; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 0C3EBFC40C06389F0041F14F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CB611D20C1F2D440060821A /* libprojectM.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C742B09DDC18200126FB8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0C4C866F09DDCDB600126FB8 /* libprojectM.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C745A09DDC4B900126FB8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0C4C867009DDCDBA00126FB8 /* libprojectM.a in Frameworks */, - 0CDBB8220C1F4540007A1868 /* libglew.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D289987405E68DCB004EDB86 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* projectM */ = { - isa = PBXGroup; - children = ( - 0C74DBCD0C20822A0043103D /* PkgInfo */, - 0CDBB8210C1F4540007A1868 /* libglew.a */, - 0CCF40040C0A2F870030828E /* projectM.icns */, - 0C4C748409DDC6FF00126FB8 /* fonts */, - 0C4C748809DDC6FF00126FB8 /* presets */, - 0C4C743009DDC18B00126FB8 /* projectM-sdlvis */, - 0C4C736E09DDBB8300126FB8 /* projectM-iTunes */, - 0C4C736B09DDBB7100126FB8 /* projectM-engine */, - 0C3EBFCC0C0638F50041F14F /* projectM-wxvis */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - 0C4C745D09DDC4BA00126FB8 /* projectM-iTunes-Info.plist */, - 0C3EBFC80C06389F0041F14F /* projectM-wxvis-Info.plist */, - ); - name = projectM; - sourceTree = ""; - }; - 0C3EBFCC0C0638F50041F14F /* projectM-wxvis */ = { - isa = PBXGroup; - children = ( - 0C3EBFCE0C0639130041F14F /* Sources */, - 0C3EBFCD0C0639070041F14F /* Headers */, - ); - name = "projectM-wxvis"; - sourceTree = ""; - }; - 0C3EBFCD0C0639070041F14F /* Headers */ = { - isa = PBXGroup; - children = ( - 0CBFA8C20C1AB2F3007E9382 /* wxvisApp.h */, - 0CBFA8C40C1AB2F3007E9382 /* wxvisCanvas.h */, - 0CBFA8C60C1AB2F3007E9382 /* wxvisFrame.h */, - ); - name = Headers; - sourceTree = ""; - }; - 0C3EBFCE0C0639130041F14F /* Sources */ = { - isa = PBXGroup; - children = ( - 0CBFA8C10C1AB2F3007E9382 /* wxvisApp.cpp */, - 0CBFA8C30C1AB2F3007E9382 /* wxvisCanvas.cpp */, - 0CBFA8C50C1AB2F3007E9382 /* wxvisFrame.cpp */, - ); - name = Sources; - sourceTree = ""; - }; - 0C4C736B09DDBB7100126FB8 /* projectM-engine */ = { - isa = PBXGroup; - children = ( - 0CDDC5FE0AC335E20072588B /* Sources */, - 0CDDC5FD0AC335DC0072588B /* Headers */, - ); - name = "projectM-engine"; - sourceTree = ""; - }; - 0C4C736E09DDBB8300126FB8 /* projectM-iTunes */ = { - isa = PBXGroup; - children = ( - 0C4C746309DDC4CA00126FB8 /* Sources */, - 0C4C746209DDC4C500126FB8 /* Headers */, - ); - name = "projectM-iTunes"; - sourceTree = ""; - }; - 0C4C743009DDC18B00126FB8 /* projectM-sdlvis */ = { - isa = PBXGroup; - children = ( - 0C4C743509DDC19700126FB8 /* Sources */, - ); - name = "projectM-sdlvis"; - sourceTree = ""; - }; - 0C4C743509DDC19700126FB8 /* Sources */ = { - isa = PBXGroup; - children = ( - 0CBE3BDC0A74118500F42C68 /* projectMvis.cc */, - ); - name = Sources; - sourceTree = ""; - }; - 0C4C746209DDC4C500126FB8 /* Headers */ = { - isa = PBXGroup; - children = ( - 0CBFA8D70C1AB50E007E9382 /* iTunesAPI.h */, - 0CBFA8D80C1AB50E007E9382 /* iTunesVisualAPI.h */, - ); - name = Headers; - sourceTree = ""; - }; - 0C4C746309DDC4CA00126FB8 /* Sources */ = { - isa = PBXGroup; - children = ( - 0CBFA8D40C1AB4FE007E9382 /* iprojectM.cpp */, - 0CBFA8D60C1AB50E007E9382 /* iTunesAPI.c */, - ); - name = Sources; - sourceTree = ""; - }; - 0C4C748409DDC6FF00126FB8 /* fonts */ = { - isa = PBXGroup; - children = ( - 0CB611CE0C1F2D1E0060821A /* Vera.ttf */, - 0CB611CF0C1F2D1E0060821A /* VeraMono.ttf */, - ); - name = fonts; - path = ../../fonts; - sourceTree = SOURCE_ROOT; - }; - 0C4C748809DDC6FF00126FB8 /* presets */ = { - isa = PBXGroup; - children = ( - 0C4C748909DDC6FF00126FB8 /* ---ar()mo-- - Spirit of East v2.milk */, - 0C4C748A09DDC6FF00126FB8 /* Aderrasi - Agitator.milk */, - 0C4C748B09DDC6FF00126FB8 /* Aderrasi - Aimless (Gravity Directive Mix).milk */, - 0C4C748C09DDC6FF00126FB8 /* Aderrasi - Aimless (Spirogravity Mix).milk */, - 0C4C748D09DDC6FF00126FB8 /* Aderrasi - Airhandler (Menagerie Mix).milk */, - 0C4C748E09DDC6FF00126FB8 /* Aderrasi - Airs (Windy Mix).milk */, - 0C4C748F09DDC6FF00126FB8 /* Aderrasi - Airs.milk */, - 0C4C749009DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk */, - 0C4C749109DDC6FF00126FB8 /* Aderrasi - Anchorpulse (Verified Mix).milk */, - 0C4C749209DDC6FF00126FB8 /* Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk */, - 0C4C749309DDC6FF00126FB8 /* Aderrasi - Antidote (Aqualung Mix).milk */, - 0C4C749409DDC6FF00126FB8 /* Aderrasi - Antidote (Side Effects Mix).milk */, - 0C4C749509DDC6FF00126FB8 /* Aderrasi - Antidote.milk */, - 0C4C749609DDC6FF00126FB8 /* Aderrasi - Antique Abyss.milk */, - 0C4C749709DDC6FF00126FB8 /* Aderrasi - Arise! (Padded Mix).milk */, - 0C4C749809DDC6FF00126FB8 /* Aderrasi - Ashes Of Air (Remix).milk */, - 0C4C749909DDC6FF00126FB8 /* Aderrasi - Bitterfeld (Crystal Border Mix).milk */, - 0C4C749A09DDC6FF00126FB8 /* Aderrasi - Blender.milk */, - 0C4C749B09DDC6FF00126FB8 /* Aderrasi - Bow To Gravity.milk */, - 0C4C749C09DDC6FF00126FB8 /* Aderrasi - Brakefreak.milk */, - 0C4C749D09DDC6FF00126FB8 /* Aderrasi - Candy Avian.milk */, - 0C4C749E09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (Nightmare Mix).milk */, - 0C4C749F09DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams (REMix).milk */, - 0C4C74A009DDC6FF00126FB8 /* Aderrasi - Causeway Of Dreams.milk */, - 0C4C74A109DDC6FF00126FB8 /* Aderrasi - Chromatic Abyss (The Other Side).milk */, - 0C4C74A209DDC6FF00126FB8 /* Aderrasi - Circlefacade.milk */, - 0C4C74A309DDC6FF00126FB8 /* Aderrasi - Contortion (Xenomorph Mix).milk */, - 0C4C74A409DDC6FF00126FB8 /* Aderrasi - Contortion.milk */, - 0C4C74A509DDC6FF00126FB8 /* Aderrasi - Crystal Storm.milk */, - 0C4C74A609DDC6FF00126FB8 /* Aderrasi - Dark Matter (Converse Mix).milk */, - 0C4C74A709DDC6FF00126FB8 /* Aderrasi - Elastoid.milk */, - 0C4C74A809DDC6FF00126FB8 /* Aderrasi - Floater Society.milk */, - 0C4C74A909DDC6FF00126FB8 /* Aderrasi - Flowing Form.milk */, - 0C4C74AA09DDC6FF00126FB8 /* Aderrasi - Making Time (Swamp Mix).milk */, - 0C4C74AB09DDC6FF00126FB8 /* Aderrasi - Multiviola.milk */, - 0C4C74AC09DDC6FF00126FB8 /* Aderrasi - Negative Sun III.milk */, - 0C4C74AD09DDC6FF00126FB8 /* Aderrasi - Paintsphere.milk */, - 0C4C74AE09DDC6FF00126FB8 /* Aderrasi - Spillswirl.milk */, - 0C4C74AF09DDC6FF00126FB8 /* Aderrasi - What Cannot Be Undone.milk */, - 0C4C74B009DDC6FF00126FB8 /* Aderrasi - What cannot be.milk */, - 0C4C74B109DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Centred Journey Mix.milk */, - 0C4C74B209DDC6FF00126FB8 /* Bmelgren & Krash - Rainbow Orb Peacock (Lonely Signal Gone .milk */, - 0C4C74B309DDC6FF00126FB8 /* Bmelgren - Godhead.milk */, - 0C4C74B409DDC6FF00126FB8 /* Bmelgren - Hmmm.milk */, - 0C4C74B509DDC6FF00126FB8 /* Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk */, - 0C4C74B609DDC6FF00126FB8 /* Bmelgren - Take This Highway.milk */, - 0C4C74B709DDC6FF00126FB8 /* che - adela the flower.milk */, - 0C4C74B809DDC6FF00126FB8 /* che - barcode infidelity.milk */, - 0C4C74B909DDC6FF00126FB8 /* che - burning hus (oil mix).milk */, - 0C4C74BA09DDC6FF00126FB8 /* Che - Burning Hus.milk */, - 0C4C74BB09DDC6FF00126FB8 /* Che - Escape.milk */, - 0C4C74BC09DDC6FF00126FB8 /* Che - Geology.milk */, - 0C4C74BD09DDC6FF00126FB8 /* che - terracarbon stream.milk */, - 0C4C74BE09DDC6FF00126FB8 /* Che - Watch & Fly.milk */, - 0C4C74BF09DDC6FF00126FB8 /* CrystalHigh - mad ravetriping.milk */, - 0C4C74C009DDC6FF00126FB8 /* DaNOnE - Highway to Heaven (rotating).milk */, - 0C4C74C109DDC6FF00126FB8 /* EMPR - Random - Changing Polyevolution.milk */, - 0C4C74C209DDC6FF00126FB8 /* EMPR - Random - Light Speed Racer.milk */, - 0C4C74C309DDC6FF00126FB8 /* EMPR - Random - Look mama I'm on TV! 2.milk */, - 0C4C74C409DDC6FF00126FB8 /* EMPR - Random - They're so cute Dad can I keep one!.milk */, - 0C4C74C509DDC6FF00126FB8 /* EMPR - Random - Turbulence Sandwich.milk */, - 0C4C74C609DDC6FF00126FB8 /* EvilJim - Follow the ball.milk */, - 0C4C74C709DDC6FF00126FB8 /* EvilJim - Ice Drops.milk */, - 0C4C74C809DDC6FF00126FB8 /* Fvese & Idiot24-7 - Rearview Mirror.milk */, - 0C4C74C909DDC6FF00126FB8 /* Fvese - 0 To 60.milk */, - 0C4C74CA09DDC6FF00126FB8 /* Fvese - A Blur.milk */, - 0C4C74CB09DDC6FF00126FB8 /* Fvese - Lifesavor Anyone.milk */, - 0C4C74CC09DDC6FF00126FB8 /* Fvese - Multi Circle.milk */, - 0C4C74CD09DDC6FF00126FB8 /* Fvese - New meetings.milk */, - 0C4C74CE09DDC6FF00126FB8 /* Fvese - Quicksand.milk */, - 0C4C74CF09DDC6FF00126FB8 /* Fvese - Round and Round (geiss gamma mix).milk */, - 0C4C74D009DDC6FF00126FB8 /* Fvese - simple.milk */, - 0C4C74D109DDC6FF00126FB8 /* Fvese - Stand Still!.milk */, - 0C4C74D209DDC6FF00126FB8 /* Fvese - The Tunnel (Final Stage Mix).milk */, - 0C4C74D309DDC6FF00126FB8 /* Fvese - Window Reflection 6.milk */, - 0C4C74D409DDC6FF00126FB8 /* Fvese - Zoom Effects (Remix 2).milk */, - 0C4C74D509DDC6FF00126FB8 /* Geiss & Rovastar - Julia Fractal (Vectrip Mix).milk */, - 0C4C74D609DDC6FF00126FB8 /* Geiss & Rovastar - Notions Of Tonality 2.milk */, - 0C4C74D709DDC6FF00126FB8 /* Geiss & Rovastar - Tokamak (Naked Intrusion Mix).milk */, - 0C4C74D809DDC6FF00126FB8 /* Geiss - Aieeeeee!!!.milk */, - 0C4C74D909DDC6FF00126FB8 /* Geiss - Anomaly 1.milk */, - 0C4C74DA09DDC6FF00126FB8 /* Geiss - Anomaly 2.milk */, - 0C4C74DB09DDC6FF00126FB8 /* Geiss - Approach.milk */, - 0C4C74DC09DDC6FF00126FB8 /* Geiss - Asymptote.milk */, - 0C4C74DD09DDC6FF00126FB8 /* Geiss - Bass Kaleidosphere.milk */, - 0C4C74DE09DDC6FF00126FB8 /* Geiss - Bass Zoom.milk */, - 0C4C74DF09DDC6FF00126FB8 /* Geiss - Bipolar 1.milk */, - 0C4C74E009DDC6FF00126FB8 /* Geiss - Bipolar 2.milk */, - 0C4C74E109DDC6FF00126FB8 /* Geiss - Bipolar 3.milk */, - 0C4C74E209DDC6FF00126FB8 /* Geiss - Bipolar 4.milk */, - 0C4C74E309DDC6FF00126FB8 /* Geiss - Bipolar 5.milk */, - 0C4C74E409DDC6FF00126FB8 /* Geiss - Blasto.milk */, - 0C4C74E509DDC6FF00126FB8 /* Geiss - Bonfire.milk */, - 0C4C74E609DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 1.milk */, - 0C4C74E709DDC6FF00126FB8 /* Geiss - Bright Fiber Matrix 2.milk */, - 0C4C74E809DDC6FF00126FB8 /* Geiss - Calligraphy.milk */, - 0C4C74E909DDC6FF00126FB8 /* Geiss - Cartographie.milk */, - 0C4C74EA09DDC6FF00126FB8 /* Geiss - Casino.milk */, - 0C4C74EB09DDC6FF00126FB8 /* Geiss - Cepiasound.milk */, - 0C4C74EC09DDC6FF00126FB8 /* Geiss - Churn.milk */, - 0C4C74ED09DDC6FF00126FB8 /* Geiss - Color Tones 1.milk */, - 0C4C74EE09DDC6FF00126FB8 /* Geiss - Color Tones 2.milk */, - 0C4C74EF09DDC6FF00126FB8 /* Geiss - Constant Velocity.milk */, - 0C4C74F009DDC6FF00126FB8 /* Geiss - Coral.milk */, - 0C4C74F109DDC6FF00126FB8 /* Geiss - Corpus Callosum.milk */, - 0C4C74F209DDC6FF00126FB8 /* Geiss - Cosmic Dust 1.milk */, - 0C4C74F309DDC6FF00126FB8 /* Geiss - Cosmic Dust 2.milk */, - 0C4C74F409DDC6FF00126FB8 /* Geiss - Cruzin'.milk */, - 0C4C74F509DDC6FF00126FB8 /* Geiss - Cycloid 1.milk */, - 0C4C74F609DDC6FF00126FB8 /* Geiss - Cycloid 2.milk */, - 0C4C74F709DDC6FF00126FB8 /* Geiss - Davod The Pod.milk */, - 0C4C74F809DDC6FF00126FB8 /* Geiss - De La Moutard 1.milk */, - 0C4C74F909DDC6FF00126FB8 /* Geiss - De La Moutard 2.milk */, - 0C4C74FA09DDC6FF00126FB8 /* Geiss - Demonic Distortion.milk */, - 0C4C74FB09DDC6FF00126FB8 /* Geiss - Descent.milk */, - 0C4C74FC09DDC6FF00126FB8 /* Geiss - Destruction.milk */, - 0C4C74FD09DDC6FF00126FB8 /* Geiss - Diffraction.milk */, - 0C4C74FE09DDC6FF00126FB8 /* Geiss - Digital Smoke.milk */, - 0C4C74FF09DDC6FF00126FB8 /* Geiss - Downward Spiral.milk */, - 0C4C750009DDC6FF00126FB8 /* Geiss - Drift.milk */, - 0C4C750109DDC6FF00126FB8 /* Geiss - Dynamic Swirls 1.milk */, - 0C4C750209DDC6FF00126FB8 /* Geiss - Dynamic Swirls 2.milk */, - 0C4C750309DDC6FF00126FB8 /* Geiss - Eddies 1.milk */, - 0C4C750409DDC6FF00126FB8 /* Geiss - Eddies 2.milk */, - 0C4C750509DDC6FF00126FB8 /* Geiss - Eggs.milk */, - 0C4C750609DDC6FF00126FB8 /* Geiss - El Cubismo.milk */, - 0C4C750709DDC6FF00126FB8 /* Geiss - Feedback 2.milk */, - 0C4C750809DDC6FF00126FB8 /* Geiss - Feedback.milk */, - 0C4C750909DDC6FF00126FB8 /* Geiss - Festive.milk */, - 0C4C750A09DDC6FF00126FB8 /* Geiss - Fiberglass.milk */, - 0C4C750B09DDC6FF00126FB8 /* Geiss - Flotsam.milk */, - 0C4C750C09DDC6FF00126FB8 /* Geiss - Flower Blossom.milk */, - 0C4C750D09DDC6FF00126FB8 /* Geiss - Flower.milk */, - 0C4C750E09DDC6FF00126FB8 /* Geiss - Fog Tunnel.milk */, - 0C4C750F09DDC6FF00126FB8 /* Geiss - Four Kinds of Amphetamines.milk */, - 0C4C751009DDC6FF00126FB8 /* Geiss - Galaxy 1.milk */, - 0C4C751109DDC6FF00126FB8 /* Geiss - Galaxy 2.milk */, - 0C4C751209DDC6FF00126FB8 /* Geiss - Greenland.milk */, - 0C4C751309DDC6FF00126FB8 /* Geiss - Happy Drops.milk */, - 0C4C751409DDC6FF00126FB8 /* Geiss - Heavenly 1.milk */, - 0C4C751509DDC6FF00126FB8 /* Geiss - Heavenly 2.milk */, - 0C4C751609DDC6FF00126FB8 /* Geiss - Heavenly 3.milk */, - 0C4C751709DDC6FF00126FB8 /* Geiss - High Dynamic Range.milk */, - 0C4C751809DDC6FF00126FB8 /* Geiss - Hovering.milk */, - 0C4C751909DDC6FF00126FB8 /* Geiss - Hurricane.milk */, - 0C4C751A09DDC6FF00126FB8 /* Geiss - Hyperion.milk */, - 0C4C751B09DDC6FF00126FB8 /* Geiss - Inkblot.milk */, - 0C4C751C09DDC6FF00126FB8 /* Geiss - Iris.milk */, - 0C4C751D09DDC6FF00126FB8 /* Geiss - Journey.milk */, - 0C4C751E09DDC6FF00126FB8 /* Geiss - Julia Fractal 1.milk */, - 0C4C751F09DDC6FF00126FB8 /* Geiss - Julia Fractal 2.milk */, - 0C4C752009DDC6FF00126FB8 /* Geiss - Luz.milk */, - 0C4C752109DDC6FF00126FB8 /* Geiss - Many Colors 1.milk */, - 0C4C752209DDC6FF00126FB8 /* Geiss - Many Colors 2.milk */, - 0C4C752309DDC6FF00126FB8 /* Geiss - Mega Swirl 1.milk */, - 0C4C752409DDC6FF00126FB8 /* Geiss - Mega Swirl 2.milk */, - 0C4C752509DDC6FF00126FB8 /* Geiss - Mega Swirl 3.milk */, - 0C4C752609DDC6FF00126FB8 /* Geiss - Microcosm.milk */, - 0C4C752709DDC6FF00126FB8 /* Geiss - Monotone Ripples.milk */, - 0C4C752809DDC6FF00126FB8 /* Geiss - Music Box.milk */, - 0C4C752909DDC6FF00126FB8 /* Geiss - Nautilus.milk */, - 0C4C752A09DDC6FF00126FB8 /* Geiss - Octopus Blue.milk */, - 0C4C752B09DDC6FF00126FB8 /* Geiss - Octopus Ever Changing.milk */, - 0C4C752C09DDC6FF00126FB8 /* Geiss - Octopus Fat and Ever Changing.milk */, - 0C4C752D09DDC6FF00126FB8 /* Geiss - Octopus Gold with Dots.milk */, - 0C4C752E09DDC6FF00126FB8 /* Geiss - Octopus Gold.milk */, - 0C4C752F09DDC6FF00126FB8 /* Geiss - Octopus.milk */, - 0C4C753009DDC6FF00126FB8 /* Geiss - Oldskool Mellowstyle.milk */, - 0C4C753109DDC6FF00126FB8 /* Geiss - Pelota De Fuego.milk */, - 0C4C753209DDC6FF00126FB8 /* Geiss - Pinch.milk */, - 0C4C753309DDC6FF00126FB8 /* Geiss - Pistons.milk */, - 0C4C753409DDC6FF00126FB8 /* Geiss - Planet 1.milk */, - 0C4C753509DDC6FF00126FB8 /* Geiss - Planet 2.milk */, - 0C4C753609DDC6FF00126FB8 /* Geiss - Quasilinear Submanifolds.milk */, - 0C4C753709DDC6FF00126FB8 /* Geiss - Reducto Absurdum.milk */, - 0C4C753809DDC6FF00126FB8 /* Geiss - Reducto Ad Nauseum.milk */, - 0C4C753909DDC6FF00126FB8 /* Geiss - Rocket.milk */, - 0C4C753A09DDC6FF00126FB8 /* Geiss - Runoff.milk */, - 0C4C753B09DDC6FF00126FB8 /* Geiss - Scary.milk */, - 0C4C753C09DDC6FF00126FB8 /* Geiss - Script.milk */, - 0C4C753D09DDC6FF00126FB8 /* Geiss - Serpent.milk */, - 0C4C753E09DDC6FF00126FB8 /* Geiss - Shake.milk */, - 0C4C753F09DDC6FF00126FB8 /* Geiss - Shift.milk */, - 0C4C754009DDC70000126FB8 /* Geiss - Sinews 1.milk */, - 0C4C754109DDC70000126FB8 /* Geiss - Sinews 2.milk */, - 0C4C754209DDC70000126FB8 /* Geiss - Smoke.milk */, - 0C4C754309DDC70000126FB8 /* Geiss - Solar Flare (Blue).milk */, - 0C4C754409DDC70000126FB8 /* Geiss - Solar Flare (Reptile).milk */, - 0C4C754509DDC70000126FB8 /* Geiss - Solar Flare.milk */, - 0C4C754609DDC70000126FB8 /* Geiss - Sound And The Fury.milk */, - 0C4C754709DDC70000126FB8 /* Geiss - Space Voyage (High-Warp).milk */, - 0C4C754809DDC70000126FB8 /* Geiss - Space Voyage Bright.milk */, - 0C4C754909DDC70000126FB8 /* Geiss - Space Voyage.milk */, - 0C4C754A09DDC70000126FB8 /* Geiss - Spacedust.milk */, - 0C4C754B09DDC70000126FB8 /* Geiss - Starfish 1.milk */, - 0C4C754C09DDC70000126FB8 /* Geiss - Starfish 2.milk */, - 0C4C754D09DDC70000126FB8 /* Geiss - Sunsets.milk */, - 0C4C754E09DDC70000126FB8 /* Geiss - Supernova 1.milk */, - 0C4C754F09DDC70000126FB8 /* Geiss - Supernova 2.milk */, - 0C4C755009DDC70000126FB8 /* Geiss - Surface.milk */, - 0C4C755109DDC70000126FB8 /* Geiss - Swirl 1.milk */, - 0C4C755209DDC70000126FB8 /* Geiss - Swirl 2.milk */, - 0C4C755309DDC70000126FB8 /* Geiss - Swirlie 1.milk */, - 0C4C755409DDC70000126FB8 /* Geiss - Swirlie 2.milk */, - 0C4C755509DDC70000126FB8 /* Geiss - Swirlie 3.milk */, - 0C4C755609DDC70000126FB8 /* Geiss - Swirlie 4.milk */, - 0C4C755709DDC70000126FB8 /* Geiss - Swirlie 5.milk */, - 0C4C755809DDC70000126FB8 /* Geiss - Symmetry.milk */, - 0C4C755909DDC70000126FB8 /* Geiss - The Fatty Lumpkin Sunkle Tweaker.milk */, - 0C4C755A09DDC70000126FB8 /* Geiss - Three And A Half Kinds Of Amphetamines.milk */, - 0C4C755B09DDC70000126FB8 /* Geiss - Three Kinds Of Amphetamines.milk */, - 0C4C755C09DDC70000126FB8 /* Geiss - Tokamak.milk */, - 0C4C755D09DDC70000126FB8 /* Geiss - Tornado.milk */, - 0C4C755E09DDC70000126FB8 /* Geiss - Toy.milk */, - 0C4C755F09DDC70000126FB8 /* Geiss - Trampoline.milk */, - 0C4C756009DDC70000126FB8 /* Geiss - Tube.milk */, - 0C4C756109DDC70000126FB8 /* Geiss - Two-Pointed Pulsagon.milk */, - 0C4C756209DDC70000126FB8 /* Geiss - Ultrafast.milk */, - 0C4C756309DDC70000126FB8 /* Geiss - Volume Zoom.milk */, - 0C4C756409DDC70000126FB8 /* Geiss - Vortex 1.milk */, - 0C4C756509DDC70000126FB8 /* Geiss - Vortex 2.milk */, - 0C4C756609DDC70000126FB8 /* Geiss - Warp Of Dali 1.milk */, - 0C4C756709DDC70000126FB8 /* Geiss - Warp Of Dali 2.milk */, - 0C4C756809DDC70000126FB8 /* Geiss - Warp Of Dali Bright.milk */, - 0C4C756909DDC70000126FB8 /* Geiss - Waterfall.milk */, - 0C4C756A09DDC70000126FB8 /* Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk */, - 0C4C756B09DDC70000126FB8 /* Idiot & Che - Various Abstract Effects.milk */, - 0C4C756C09DDC70000126FB8 /* Idiot & Rovastar - Altars Of Madness 2 (X.42 Mix).milk */, - 0C4C756D09DDC70000126FB8 /* Idiot & Rovastar - Rainpainting (Cave Remix (Remix)).milk */, - 0C4C756E09DDC70000126FB8 /* Idiot & Zylot - Unhealthy Love (Idiot's STDs Mix).milk */, - 0C4C756F09DDC70000126FB8 /* Idiot - 9-7-02 (Remix) (sustain fixed).milk */, - 0C4C757009DDC70000126FB8 /* Idiot - Cortex (Spiritual Visions Mix).milk */, - 0C4C757109DDC70000126FB8 /* idiot - Dwarf of Annon (before the star).milk */, - 0C4C757209DDC70000126FB8 /* Idiot - Madness Within The Void (Remix).milk */, - 0C4C757309DDC70000126FB8 /* Idiot - MOTIVATION!.milk */, - 0C4C757409DDC70000126FB8 /* idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk */, - 0C4C757509DDC70000126FB8 /* idiot - Nothing Yet - 03 - The worst of the pack.milk */, - 0C4C757609DDC70000126FB8 /* idiot - Nucleus.milk */, - 0C4C757709DDC70000126FB8 /* idiot - Shadows of Annon.milk */, - 0C4C757809DDC70000126FB8 /* idiot - Sinful Code (unchained style).milk */, - 0C4C757909DDC70000126FB8 /* idiot - Some big word I learned.milk */, - 0C4C757A09DDC70000126FB8 /* idiot - Spectrum.milk */, - 0C4C757B09DDC70000126FB8 /* Idiot - Tentacle Dreams (Remix).milk */, - 0C4C757C09DDC70000126FB8 /* Idiot - Texture Boxes (Remix 2).milk */, - 0C4C757D09DDC70000126FB8 /* Idiot - Texture Boxes (Remix).milk */, - 0C4C757E09DDC70000126FB8 /* Idiot - Typomatic (Remix 2).milk */, - 0C4C757F09DDC70000126FB8 /* idiot - Waterfalls (remix2).milk */, - 0C4C758009DDC70000126FB8 /* idiot - Waterfalls.milk */, - 0C4C758109DDC70000126FB8 /* Idiot - What Is.milk */, - 0C4C758209DDC70000126FB8 /* Idiot - What Shall Come.milk */, - 0C4C758309DDC70000126FB8 /* Idiot24-7 - Ascending to heaven 2.milk */, - 0C4C758409DDC70000126FB8 /* Idiot24-7 - Just plain cool 3.milk */, - 0C4C758509DDC70000126FB8 /* Idiot24-7 - Meeting place.milk */, - 0C4C758609DDC70000126FB8 /* Illusion & Che - Return Of The King.milk */, - 0C4C758709DDC70000126FB8 /* Illusion & Che - The Piper.milk */, - 0C4C758809DDC70000126FB8 /* Illusion & Rovastar - Clouded Bottle.milk */, - 0C4C758909DDC70000126FB8 /* Illusion & Rovastar - Snowflake Delight.milk */, - 0C4C758A09DDC70000126FB8 /* Illusion & Rovastar - Snowflake Return.milk */, - 0C4C758B09DDC70000126FB8 /* illusion & studio music - charged bliss.milk */, - 0C4C758C09DDC70000126FB8 /* illusion & techno - double highway.milk */, - 0C4C758D09DDC70000126FB8 /* Illusion & Unchained - Frozen Eye 1.milk */, - 0C4C758E09DDC70000126FB8 /* Illusion & Unchained - Invade My Mind.milk */, - 0C4C758F09DDC70000126FB8 /* Illusion & Unchained - Re-Enter Homeworld.milk */, - 0C4C759009DDC70000126FB8 /* Illusion - Figure Eight.milk */, - 0C4C759109DDC70000126FB8 /* Illusion - Heavenly Eye.milk */, - 0C4C759209DDC70000126FB8 /* Jess - Trying To Trap A Twister.milk */, - 0C4C759309DDC70000126FB8 /* Krash & Idiot - Memories Of The Castle.milk */, - 0C4C759409DDC70000126FB8 /* Krash & Illusion - Indecisive Mosaic.milk */, - 0C4C759509DDC70000126FB8 /* Krash & Illusion - Spiral Movement.milk */, - 0C4C759609DDC70000126FB8 /* Krash & Rovastar - A Million Miles from Earth (Ripple Mix).milk */, - 0C4C759709DDC70000126FB8 /* Krash & Rovastar - Altars Of Madness (Mad Ocean Mix).milk */, - 0C4C759809DDC70000126FB8 /* Krash & Rovastar - Cerebral Demons (Distant Memory Mix).milk */, - 0C4C759909DDC70000126FB8 /* Krash & Rovastar - Switching Polygons.milk */, - 0C4C759A09DDC70000126FB8 /* Krash & Rovastar - The Devil Is In The Details.milk */, - 0C4C759B09DDC70000126FB8 /* Krash & TEcHNO - Rhythmic Mantas.milk */, - 0C4C759C09DDC70000126FB8 /* Krash & Zylot - Inside The Planar Portal (Indecision Mix).milk */, - 0C4C759D09DDC70000126FB8 /* Krash - 3D Shapes Demo 2.milk */, - 0C4C759E09DDC70000126FB8 /* Krash - 3D Shapes Demo.milk */, - 0C4C759F09DDC70000126FB8 /* Krash - cardiac rhythm.milk */, - 0C4C75A009DDC70000126FB8 /* Krash - Chronoshift.milk */, - 0C4C75A109DDC70000126FB8 /* Krash - Digital Flame.milk */, - 0C4C75A209DDC70000126FB8 /* Krash - Dynamic Borders 1.milk */, - 0C4C75A309DDC70000126FB8 /* Krash - Framed Geometry.milk */, - 0C4C75A409DDC70000126FB8 /* Krash - Heatwaves.milk */, - 0C4C75A509DDC70000126FB8 /* Krash - Interwoven (Nightmare Weft Mix).milk */, - 0C4C75A609DDC70000126FB8 /* Krash - interwoven (nightmare weft).milk */, - 0C4C75A709DDC70000126FB8 /* Krash - interwoven.milk */, - 0C4C75A809DDC70000126FB8 /* Krash - Molten Indecision (Rozzor Hot Fast tweak).milk */, - 0C4C75A909DDC70000126FB8 /* Krash - molten indecision.milk */, - 0C4C75AA09DDC70000126FB8 /* Krash - Pulse.milk */, - 0C4C75AB09DDC70000126FB8 /* Krash - Season's Greetings 2.milk */, - 0C4C75AC09DDC70000126FB8 /* Krash - Snowflake Halo.milk */, - 0C4C75AD09DDC70000126FB8 /* Krash - systolic pressure.milk */, - 0C4C75AE09DDC70000126FB8 /* Krash - Twisting Indecision.milk */, - 0C4C75AF09DDC70000126FB8 /* Krash - Vinyl Disk.milk */, - 0C4C75B009DDC70000126FB8 /* Krash - War Machine (Shifting Complexity Mix).milk */, - 0C4C75B109DDC70000126FB8 /* Krash - Windowframe To Mega Swirl 2.milk */, - 0C4C75B209DDC70000126FB8 /* Krash and Fvese - Molten Indecision (Fvese Remix).milk */, - 0C4C75B309DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk */, - 0C4C75B409DDC70000126FB8 /* Krash and Rovastar - Rainbow Orb.milk */, - 0C4C75B509DDC70000126FB8 /* Krash and Telek - Real Noughts and Crosses (Random Ending).milk */, - 0C4C75B609DDC70000126FB8 /* Mstress & Darius - Pursuing The Sunset.milk */, - 0C4C75B709DDC70000126FB8 /* Mstress & Juppy - Dancer.milk */, - 0C4C75B809DDC70000126FB8 /* Mstress & Juppy - Dancers In The Dark.milk */, - 0C4C75B909DDC70000126FB8 /* Mstress & Zylot - Acid UFO.milk */, - 0C4C75BA09DDC70000126FB8 /* Mstress - Acid Universes (Big Bang Interferences Mix).milk */, - 0C4C75BB09DDC70000126FB8 /* mstress - Acid Universes.milk */, - 0C4C75BC09DDC70000126FB8 /* Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk */, - 0C4C75BD09DDC70000126FB8 /* Mstress - Aurora Boreale.milk */, - 0C4C75BE09DDC70000126FB8 /* Mstress - Curtain.milk */, - 0C4C75BF09DDC70000126FB8 /* Mstress - Snowing Fiber City.milk */, - 0C4C75C009DDC70000126FB8 /* Mstress - Super nova self control.milk */, - 0C4C75C109DDC70000126FB8 /* neuro - blackhole bass.milk */, - 0C4C75C209DDC70000126FB8 /* nil & Aderassi & EMPR - Curling Flower Space 2 (Electric Bo.milk */, - 0C4C75C309DDC70000126FB8 /* nil & EMPR - Electron Flow (Copper Wire Mix).milk */, - 0C4C75C409DDC70000126FB8 /* nil & EMPR - Ruby Nirvana.milk */, - 0C4C75C509DDC70000126FB8 /* nil - Can't Stop the Blithering.milk */, - 0C4C75C609DDC70000126FB8 /* nil - Can't Stop the Cramming.milk */, - 0C4C75C709DDC70000126FB8 /* nil - Cid and Lucy.milk */, - 0C4C75C809DDC70000126FB8 /* nil - Did You Speak with the Orb.milk */, - 0C4C75C909DDC70000126FB8 /* nil - Disco Comet.milk */, - 0C4C75CA09DDC70000126FB8 /* nil - Singularity in My Oscilloscope.milk */, - 0C4C75CB09DDC70000126FB8 /* nil - Tim Leary's Amazing Waterslide.milk */, - 0C4C75CC09DDC70000126FB8 /* nil - Vortex of Vortices.milk */, - 0C4C75CD09DDC70000126FB8 /* nil - Wyrm.milk */, - 0C4C75CE09DDC70000126FB8 /* Reenen - phoenix.milk */, - 0C4C75CF09DDC70000126FB8 /* Rocke - Answer.42.milk */, - 0C4C75D009DDC70000126FB8 /* Rocke - Answer42.milk */, - 0C4C75D109DDC70000126FB8 /* Rocke - Cold Love (Tei Zwaa).milk */, - 0C4C75D209DDC70000126FB8 /* Rocke - Personal Comet.milk */, - 0C4C75D309DDC70000126FB8 /* Rovastar & Aderrasi - Clockwork Organism.milk */, - 0C4C75D409DDC70000126FB8 /* Rovastar & Aderrasi - Oceanic Bassograph (Underwater Mix).milk */, - 0C4C75D509DDC70000126FB8 /* Rovastar & Che - Adela The Flower (Altars Of Madness Mix 2).milk */, - 0C4C75D609DDC70000126FB8 /* Rovastar & Che - Asylum Animations.milk */, - 0C4C75D709DDC70000126FB8 /* Rovastar & Che - Definitly Not For The Epileptic (Inner Per.milk */, - 0C4C75D809DDC70000126FB8 /* Rovastar & EvilJim - Bass Tube of Light.milk */, - 0C4C75D909DDC70000126FB8 /* Rovastar & Fvese - Dark Subconscious.milk */, - 0C4C75DA09DDC70000126FB8 /* Rovastar & Fvese - Deadly Flower.milk */, - 0C4C75DB09DDC70000126FB8 /* Rovastar & Fvese - Mosaic Waves.milk */, - 0C4C75DC09DDC70000126FB8 /* Rovastar & Fvese - Paranormal Static.milk */, - 0C4C75DD09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds (Astral Mix).milk */, - 0C4C75DE09DDC70000126FB8 /* Rovastar & Fvese - Stranger Minds.milk */, - 0C4C75DF09DDC70000126FB8 /* Rovastar & Geiss - Approach (Vectrip Mix).milk */, - 0C4C75E009DDC70000126FB8 /* Rovastar & Geiss - Bipolar 2 (Vectrip Mix).milk */, - 0C4C75E109DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Broken Destiny Mix).milk */, - 0C4C75E209DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk */, - 0C4C75E309DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Poltergiest Mix).milk */, - 0C4C75E409DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoke Mix).milk */, - 0C4C75E509DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Smoking Delusion Mix).milk */, - 0C4C75E609DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix Rozz.milk */, - 0C4C75E709DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Twisted Truth Mix).milk */, - 0C4C75E809DDC70000126FB8 /* Rovastar & Geiss - Dynamic Swirls 3 (Voyage Of Twisted Soul.milk */, - 0C4C75E909DDC70000126FB8 /* Rovastar & Geiss - Hurricane Nightmare.milk */, - 0C4C75EA09DDC70000126FB8 /* Rovastar & Geiss - Ice Planet.milk */, - 0C4C75EB09DDC70000126FB8 /* Rovastar & Geiss - Notions Of Tonality.milk */, - 0C4C75EC09DDC70000126FB8 /* Rovastar & Geiss - Octoplasm.milk */, - 0C4C75ED09DDC70000126FB8 /* Rovastar & Geiss - Octotrip (MultiTrip Mix).milk */, - 0C4C75EE09DDC70000126FB8 /* Rovastar & Geiss - Octotrip.milk */, - 0C4C75EF09DDC70000126FB8 /* Rovastar & Geiss - Surface (Vectrip Mix).milk */, - 0C4C75F009DDC70000126FB8 /* Rovastar & Idiot24-7 - Balk Acid.milk */, - 0C4C75F109DDC70000126FB8 /* Rovastar & Idiot24-7 - Mixed Emotions (Harlequin's Shame Mi.milk */, - 0C4C75F209DDC70000126FB8 /* Rovastar & Illusion - Shifting Sphere.milk */, - 0C4C75F309DDC70000126FB8 /* Rovastar & Krash - Cerebral Demons.milk */, - 0C4C75F409DDC70000126FB8 /* Rovastar & Krash - Flowing Synergy.milk */, - 0C4C75F509DDC70000126FB8 /* Rovastar & Krash - Interwoven (Contra Mix).milk */, - 0C4C75F609DDC70000126FB8 /* Rovastar & Krash - Sweetness & Light.milk */, - 0C4C75F709DDC70000126FB8 /* Rovastar & Rocke - Answer.42 (Trippy S. Mix).milk */, - 0C4C75F809DDC70000126FB8 /* Rovastar & Rocke - Headspin.milk */, - 0C4C75F909DDC70000126FB8 /* Rovastar & Rocke - Sugar Spun Sister.milk */, - 0C4C75FA09DDC70000126FB8 /* Rovastar & StudioMusic - More Cherished Desires.milk */, - 0C4C75FB09DDC70000126FB8 /* Rovastar & StudioMusic - Twisted Spider Web.milk */, - 0C4C75FC09DDC70000126FB8 /* Rovastar & Telek - Altars of Madness (Rolling Oceans Mix).milk */, - 0C4C75FD09DDC70000126FB8 /* Rovastar & Telek - Cosmic Fireworks.milk */, - 0C4C75FE09DDC70000126FB8 /* Rovastar & Unchained - Ambrosia Mystic (Dark Heart Mix).milk */, - 0C4C75FF09DDC70000126FB8 /* Rovastar & Unchained - Centre Of Gravity.milk */, - 0C4C760009DDC70000126FB8 /* Rovastar & Unchained - Demonology (Vampire Soul Mix).milk */, - 0C4C760109DDC70000126FB8 /* Rovastar & Unchained - Oddball World.milk */, - 0C4C760209DDC70000126FB8 /* Rovastar & Unchained - Voodoo Chess Magnet (Everglow Mix).milk */, - 0C4C760309DDC70000126FB8 /* Rovastar & Unchained - Xen Traffic.milk */, - 0C4C760409DDC70000126FB8 /* Rovastar & Zylot - Azirphaeli's Plan (Multiplan Mix).milk */, - 0C4C760509DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Cerimonial Decor).milk */, - 0C4C760609DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Many Visions Mix).milk */, - 0C4C760709DDC70000126FB8 /* Rovastar & Zylot - Crystal Ball (Too Many Visions Mix).milk */, - 0C4C760809DDC70000126FB8 /* Rovastar & Zylot - Narell's Fever.milk */, - 0C4C760909DDC70000126FB8 /* Rovastar & Zylot - Passion Flower.milk */, - 0C4C760A09DDC70000126FB8 /* Rovastar & Zylot - Sea Of Zigrot.milk */, - 0C4C760B09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Drift Mix).milk */, - 0C4C760C09DDC70000126FB8 /* Rovastar - A Million Miles from Earth (Pathfinder Mix).milk */, - 0C4C760D09DDC70000126FB8 /* Rovastar - A Million Miles From Earth (Wormhole Mix).milk */, - 0C4C760E09DDC70000126FB8 /* Rovastar - A Million Miles from Earth.milk */, - 0C4C760F09DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Maddess.milk */, - 0C4C761009DDC70000126FB8 /* Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk */, - 0C4C761109DDC70000126FB8 /* Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk */, - 0C4C761209DDC70100126FB8 /* Rovastar - Altars Of Madness (Boxfresh Mix).milk */, - 0C4C761309DDC70100126FB8 /* Rovastar - Altars Of Madness (Duel Mix).milk */, - 0C4C761409DDC70100126FB8 /* Rovastar - Altars Of Madness (Surealist Mix).milk */, - 0C4C761509DDC70100126FB8 /* Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk */, - 0C4C761609DDC70100126FB8 /* Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk */, - 0C4C761709DDC70100126FB8 /* Rovastar - Altars Of Madness.milk */, - 0C4C761809DDC70100126FB8 /* Rovastar - Attacking Freedom.milk */, - 0C4C761909DDC70100126FB8 /* Rovastar - Bellanova (New Wave Mix).milk */, - 0C4C761A09DDC70100126FB8 /* Rovastar - Biohazard Warning.milk */, - 0C4C761B09DDC70100126FB8 /* Rovastar - Braindance 1.milk */, - 0C4C761C09DDC70100126FB8 /* Rovastar - Bytes.milk */, - 0C4C761D09DDC70100126FB8 /* Rovastar - Chapel Of Ghouls.milk */, - 0C4C761E09DDC70100126FB8 /* Rovastar - Chemical Spirituality.milk */, - 0C4C761F09DDC70100126FB8 /* Rovastar - Clouded Judgement 3.milk */, - 0C4C762009DDC70100126FB8 /* Rovastar - Cosmic Echoes 1.milk */, - 0C4C762109DDC70100126FB8 /* Rovastar - Cosmic Echoes 2.milk */, - 0C4C762209DDC70100126FB8 /* Rovastar - Cosmic Havoc.milk */, - 0C4C762309DDC70100126FB8 /* Rovastar - Cosmic Mosaic (Active Mix).milk */, - 0C4C762409DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk */, - 0C4C762509DDC70100126FB8 /* Rovastar - Dark Ritual (Star Of Destiny Mix).milk */, - 0C4C762609DDC70100126FB8 /* Rovastar - Decreasing Dreams (Extended Movement Mix).milk */, - 0C4C762709DDC70100126FB8 /* Rovastar - Dreamcatcher.milk */, - 0C4C762809DDC70100126FB8 /* Rovastar - eclectic interface (despair mix).milk */, - 0C4C762909DDC70100126FB8 /* Rovastar - Explosive Minds.milk */, - 0C4C762A09DDC70100126FB8 /* Rovastar - Forgotten Moon.milk */, - 0C4C762B09DDC70100126FB8 /* Rovastar - Frozen Rapture .milk */, - 0C4C762C09DDC70100126FB8 /* Rovastar - Future Speakers.milk */, - 0C4C762D09DDC70100126FB8 /* Rovastar - Halcyon Dreams 3.milk */, - 0C4C762E09DDC70100126FB8 /* Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk */, - 0C4C762F09DDC70100126FB8 /* Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk */, - 0C4C763009DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk */, - 0C4C763109DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk */, - 0C4C763209DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 1.milk */, - 0C4C763309DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 2.milk */, - 0C4C763409DDC70100126FB8 /* Rovastar - Harlequin's Dynamic Fractal 3.milk */, - 0C4C763509DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter 2.milk */, - 0C4C763609DDC70100126FB8 /* Rovastar - Harlequin's Fractal Encounter.milk */, - 0C4C763709DDC70100126FB8 /* Rovastar - Harlequin's Liquid Dragon.milk */, - 0C4C763809DDC70100126FB8 /* Rovastar - Harlequin's Living Wall.milk */, - 0C4C763909DDC70100126FB8 /* Rovastar - Harlequin's Spirit (Twisted Mix).milk */, - 0C4C763A09DDC70100126FB8 /* Rovastar - Harlequin's Spirit.milk */, - 0C4C763B09DDC70100126FB8 /* Rovastar - Hyperspace (Frozen Rapture Mix).milk */, - 0C4C763C09DDC70100126FB8 /* Rovastar - Hyperspace (Hyper Speed Mix).milk */, - 0C4C763D09DDC70100126FB8 /* Rovastar - Hyperspace.milk */, - 0C4C763E09DDC70100126FB8 /* Rovastar - Inner Thoughts (Clouded Judgement Mix).milk */, - 0C4C763F09DDC70100126FB8 /* Rovastar - Inner Thoughts (Dark Secret Mix).milk */, - 0C4C764009DDC70100126FB8 /* Rovastar - Inner Thoughts (Distant Memories Mix).milk */, - 0C4C764109DDC70100126FB8 /* Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk */, - 0C4C764209DDC70100126FB8 /* Rovastar - Inner Thoughts (Strange Cargo Mix).milk */, - 0C4C764309DDC70100126FB8 /* Rovastar - Intense Desire.milk */, - 0C4C764409DDC70100126FB8 /* Rovastar - Jester's Awakening.milk */, - 0C4C764509DDC70100126FB8 /* Rovastar - Jester's Calling 2.milk */, - 0C4C764609DDC70100126FB8 /* Rovastar - Jester's Calling 3.milk */, - 0C4C764709DDC70100126FB8 /* Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk */, - 0C4C764809DDC70100126FB8 /* Rovastar - Kalideostars (Altars Of Madness MIx).milk */, - 0C4C764909DDC70100126FB8 /* Rovastar - Kalideostars (Round Round Mix).milk */, - 0C4C764A09DDC70100126FB8 /* Rovastar - Kalideostars.milk */, - 0C4C764B09DDC70100126FB8 /* Rovastar - LabFunk.milk */, - 0C4C764C09DDC70100126FB8 /* Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk */, - 0C4C764D09DDC70100126FB8 /* Rovastar - Magic Carpet.milk */, - 0C4C764E09DDC70100126FB8 /* Rovastar - Mosaics Of Ages.milk */, - 0C4C764F09DDC70100126FB8 /* Rovastar - Multiverse Starfield 1.milk */, - 0C4C765009DDC70100126FB8 /* Rovastar - Multiverse Starfield 3.milk */, - 0C4C765109DDC70100126FB8 /* Rovastar - Omnipresence Resurrection (Raw Mix).milk */, - 0C4C765209DDC70100126FB8 /* Rovastar - Omnipresence Resurrection.milk */, - 0C4C765309DDC70100126FB8 /* Rovastar - Oozing Resistance.milk */, - 0C4C765409DDC70100126FB8 /* Rovastar - Pandora's Volcano.milk */, - 0C4C765509DDC70100126FB8 /* Rovastar - Paradigm Sphere.milk */, - 0C4C765609DDC70100126FB8 /* Rovastar - Parallel Universe.milk */, - 0C4C765709DDC70100126FB8 /* Rovastar - paranormal diffusion analyser.milk */, - 0C4C765809DDC70100126FB8 /* Rovastar - Power Trip.milk */, - 0C4C765909DDC70100126FB8 /* Rovastar - Ritual Of Life.milk */, - 0C4C765A09DDC70100126FB8 /* Rovastar - Sea Life (Evoluation Mix).milk */, - 0C4C765B09DDC70100126FB8 /* Rovastar - Sea Life.milk */, - 0C4C765C09DDC70100126FB8 /* Rovastar - Sea Shells.milk */, - 0C4C765D09DDC70100126FB8 /* Rovastar - Shadows Portal.milk */, - 0C4C765E09DDC70100126FB8 /* Rovastar - Snapshot Of Space.milk */, - 0C4C765F09DDC70100126FB8 /* Rovastar - Solarized Space (Space DNA Mix).milk */, - 0C4C766009DDC70100126FB8 /* Rovastar - Solarized Space.milk */, - 0C4C766109DDC70100126FB8 /* Rovastar - Space (Twisted Dimension Mix).milk */, - 0C4C766209DDC70100126FB8 /* Rovastar - Space.milk */, - 0C4C766309DDC70100126FB8 /* Rovastar - Starquake (Sunquake Mix).milk */, - 0C4C766409DDC70100126FB8 /* Rovastar - The Awakening.milk */, - 0C4C766509DDC70100126FB8 /* Rovastar - The Chaos Of Colours (Drifting Mix).milk */, - 0C4C766609DDC70100126FB8 /* Rovastar - The Chaos Of Colours.milk */, - 0C4C766709DDC70100126FB8 /* Rovastar - The Shroomery.milk */, - 0C4C766809DDC70100126FB8 /* Rovastar - Timeless Voyage.milk */, - 0C4C766909DDC70100126FB8 /* Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk */, - 0C4C766A09DDC70100126FB8 /* Rovastar - Trippy S..milk */, - 0C4C766B09DDC70100126FB8 /* Rovastar - Trippy S.milk */, - 0C4C766C09DDC70100126FB8 /* Rovastar - twisted bytes.milk */, - 0C4C766D09DDC70100126FB8 /* Rovastar - Violent Relaxation.milk */, - 0C4C766E09DDC70100126FB8 /* Rovastar - Visions Beyond.milk */, - 0C4C766F09DDC70100126FB8 /* Rovastar - Visions Of The Future.milk */, - 0C4C767009DDC70100126FB8 /* Rovastar - VooV's Brainwaves.milk */, - 0C4C767109DDC70100126FB8 /* Rovastar - VooV's Movement (After Dark Mix).milk */, - 0C4C767209DDC70100126FB8 /* Rovastar - VooV's Movement.milk */, - 0C4C767309DDC70100126FB8 /* Rovastar - VooV's Organic Light.milk */, - 0C4C767409DDC70100126FB8 /* Rovastar - Xeper.milk */, - 0C4C767509DDC70100126FB8 /* Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk */, - 0C4C767609DDC70100126FB8 /* Rovastar and Krash - Rainbow Deflection.milk */, - 0C4C767709DDC70100126FB8 /* Rovastar and Unchained - Braindance Visions.milk */, - 0C4C767809DDC70100126FB8 /* Rovastar and Unchained - Life After Pie (Remix).milk */, - 0C4C767909DDC70100126FB8 /* Rozzer & Neuro - Starover (Semicolon Mix).milk */, - 0C4C767A09DDC70100126FB8 /* Rozzer & Zylot - Force Field Generator (Slowtime Tweak).milk */, - 0C4C767B09DDC70100126FB8 /* Rozzor & Aderrasi - Canon.milk */, - 0C4C767C09DDC70100126FB8 /* Rozzor & Che - Inside The House Of Nil.milk */, - 0C4C767D09DDC70100126FB8 /* Rozzor & Rovastar - Oozing Resistance (Waveform Mod).milk */, - 0C4C767E09DDC70100126FB8 /* Rozzor & Zylot - Rainbow River.milk */, - 0C4C767F09DDC70100126FB8 /* Rozzor - Color Breaks its Boycott (shape mod).milk */, - 0C4C768009DDC70100126FB8 /* Rozzor - Learning Curve (Invert tweak).milk */, - 0C4C768109DDC70100126FB8 /* Rozzor and che - Inside the House of nil.milk */, - 0C4C768209DDC70100126FB8 /* Rozzor and Idiot - Any Other Deep Rising.milk */, - 0C4C768309DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk */, - 0C4C768409DDC70100126FB8 /* Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk */, - 0C4C768509DDC70100126FB8 /* Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk */, - 0C4C768609DDC70100126FB8 /* Rozzor and Zylot - Associative Order.milk */, - 0C4C768709DDC70100126FB8 /* Scanner (@ztec)2.milk */, - 0C4C768809DDC70100126FB8 /* Studio Music - Cherished Desires.milk */, - 0C4C768909DDC70100126FB8 /* Studio Music and Unchained - Rapid Alteration.milk */, - 0C4C768A09DDC70100126FB8 /* StudioMusic & Unchained - Entity.milk */, - 0C4C768B09DDC70100126FB8 /* StudioMusic & Unchained - Minor Alteration.milk */, - 0C4C768C09DDC70100126FB8 /* StudioMusic & Unchained - So Much Love.milk */, - 0C4C768D09DDC70100126FB8 /* StudioMusic & Unchained - State Of Discretion.milk */, - 0C4C768E09DDC70100126FB8 /* StudioMusic & Unchained - Wrenched Fate.milk */, - 0C4C768F09DDC70100126FB8 /* StudioMusic - Harmonic Bliss (elated mix).milk */, - 0C4C769009DDC70100126FB8 /* StudioMusic - It's Only Make Believe.milk */, - 0C4C769109DDC70100126FB8 /* StudioMusic - Numerosity.milk */, - 0C4C769209DDC70100126FB8 /* StudioMusic - Twisted Galaxy.milk */, - 0C4C769309DDC70100126FB8 /* StudioMusic Aderrasi & nil - LA movement (Intellectual Sens.milk */, - 0C4C769409DDC70100126FB8 /* TEcHNO and SandStorm - Psychodelic Highway.milk */, - 0C4C769509DDC70100126FB8 /* Telek - City Helix Lattice.milk */, - 0C4C769609DDC70100126FB8 /* Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk */, - 0C4C769709DDC70100126FB8 /* Telek - Flicker (@xis).milk */, - 0C4C769809DDC70100126FB8 /* Telek - Flicker.milk */, - 0C4C769909DDC70100126FB8 /* Telek - Globetrotting (Sailors Delight Mix).milk */, - 0C4C769A09DDC70100126FB8 /* Telek - Lost Star (Flash).milk */, - 0C4C769B09DDC70100126FB8 /* Telek - Recirculate (Cool).milk */, - 0C4C769C09DDC70100126FB8 /* Telek - Sine Wave.milk */, - 0C4C769D09DDC70100126FB8 /* Telek - Slow Shift Matrix (bb4.5).milk */, - 0C4C769E09DDC70100126FB8 /* Telek - Slow Shift Matrix (Ethereal Drift).milk */, - 0C4C769F09DDC70100126FB8 /* Telek - Slow Shift Matrix.milk */, - 0C4C76A009DDC70100126FB8 /* Telek - Slow Thing (Spiderman Mix).milk */, - 0C4C76A109DDC70100126FB8 /* Telek - Spiral Tabletop (New and Improved!).milk */, - 0C4C76A209DDC70100126FB8 /* Telek - Spokes (More Dynamic).milk */, - 0C4C76A309DDC70100126FB8 /* Telek - Target Practice (tracking retreat slide).milk */, - 0C4C76A409DDC70100126FB8 /* Telek EMPR - Scanner - Trust me I've got a Melways.milk */, - 0C4C76A509DDC70100126FB8 /* TobiasWolfBoi - Cataract.milk */, - 0C4C76A609DDC70100126FB8 /* TobiasWolfBoi - The Pit.milk */, - 0C4C76A709DDC70100126FB8 /* Tschoey - Music Flower.milk */, - 0C4C76A809DDC70100126FB8 /* Unchained & Che - Oddnezz 3.milk */, - 0C4C76A909DDC70100126FB8 /* Unchained & Che - Oddnezz 4 (Done it again).milk */, - 0C4C76AA09DDC70100126FB8 /* Unchained & CTho - Bad Vibes.milk */, - 0C4C76AB09DDC70100126FB8 /* Unchained & Illusion - Dual Wave 3.milk */, - 0C4C76AC09DDC70100126FB8 /* Unchained & Illusion - Logic Morph.milk */, - 0C4C76AD09DDC70100126FB8 /* Unchained & Illusion - Spirit Morph.milk */, - 0C4C76AE09DDC70100126FB8 /* Unchained & Rovastar - For The Seagull.milk */, - 0C4C76AF09DDC70100126FB8 /* Unchained & Rovastar - Luckless.milk */, - 0C4C76B009DDC70100126FB8 /* Unchained & Rovastar - Rainbow Obscura.milk */, - 0C4C76B109DDC70100126FB8 /* Unchained & Rovastar - Slow Solstice.milk */, - 0C4C76B209DDC70100126FB8 /* Unchained & Rovastar - Triptionary.milk */, - 0C4C76B309DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars (Hall of Shadows mi.milk */, - 0C4C76B409DDC70100126FB8 /* Unchained & Rovastar - Wormhole Pillars.milk */, - 0C4C76B509DDC70100126FB8 /* Unchained & Rovastar - Xen Traffic.milk */, - 0C4C76B609DDC70100126FB8 /* Unchained - A Matter Of Taste (Remix).milk */, - 0C4C76B709DDC70100126FB8 /* Unchained - All You Can Eat.milk */, - 0C4C76B809DDC70100126FB8 /* Unchained - Bad Karma Oddnezz Style.milk */, - 0C4C76B909DDC70100126FB8 /* Unchained - Beat Demo (Demonology Mix).milk */, - 0C4C76BA09DDC70100126FB8 /* Unchained - Beat Demo 1.0.milk */, - 0C4C76BB09DDC70100126FB8 /* Unchained - Beat Demo 10.milk */, - 0C4C76BC09DDC70100126FB8 /* Unchained - Beat Demo 2.0.milk */, - 0C4C76BD09DDC70100126FB8 /* Unchained - Beat Demo 2.1.milk */, - 0C4C76BE09DDC70100126FB8 /* Unchained - Beat Demo 2.2.milk */, - 0C4C76BF09DDC70100126FB8 /* Unchained - Beat Demo 2.3.milk */, - 0C4C76C009DDC70100126FB8 /* Unchained - Cartoon Factory.milk */, - 0C4C76C109DDC70100126FB8 /* Unchained - Cranked On Failure.milk */, - 0C4C76C209DDC70100126FB8 /* Unchained - Custom Gramatix (Remix).milk */, - 0C4C76C309DDC70100126FB8 /* Unchained - Deeper Logic.milk */, - 0C4C76C409DDC70100126FB8 /* Unchained - elite vectronics.milk */, - 0C4C76C509DDC70200126FB8 /* Unchained - Free to Feel (Valium Remix).milk */, - 0C4C76C609DDC70200126FB8 /* Unchained - French Clothing.milk */, - 0C4C76C709DDC70200126FB8 /* Unchained - Games With Light & Sound.milk */, - 0C4C76C809DDC70200126FB8 /* Unchained - Ghostlight Whisper.milk */, - 0C4C76C909DDC70200126FB8 /* Unchained - God Of The Game (Remix).milk */, - 0C4C76CA09DDC70200126FB8 /* Unchained - Goo Kung Fu.milk */, - 0C4C76CB09DDC70200126FB8 /* Unchained - Goofy Beat Detection.milk */, - 0C4C76CC09DDC70200126FB8 /* Unchained - Housed In A Childish Mind.milk */, - 0C4C76CD09DDC70200126FB8 /* Unchained - In Memory Of Peg.milk */, - 0C4C76CE09DDC70200126FB8 /* Unchained - Invariant Under Rigorous Motions.milk */, - 0C4C76CF09DDC70200126FB8 /* Unchained - Jaded Emotion.milk */, - 0C4C76D009DDC70200126FB8 /* Unchained - Jaundice.milk */, - 0C4C76D109DDC70200126FB8 /* Unchained - Making a Science of It 4.milk */, - 0C4C76D209DDC70200126FB8 /* Unchained - Morat's Final Voyage.milk */, - 0C4C76D309DDC70200126FB8 /* Unchained - Non-Professional Music Analyzer.milk */, - 0C4C76D409DDC70200126FB8 /* Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk */, - 0C4C76D509DDC70200126FB8 /* Unchained - Perverted Dialect.milk */, - 0C4C76D609DDC70200126FB8 /* Unchained - Picture Of Exile.milk */, - 0C4C76D709DDC70200126FB8 /* Unchained - Picture Of Nectar.milk */, - 0C4C76D809DDC70200126FB8 /* Unchained - Picture Of Poison.milk */, - 0C4C76D909DDC70200126FB8 /* Unchained - ReAwoke.milk */, - 0C4C76DA09DDC70200126FB8 /* Unchained - Resistance.milk */, - 0C4C76DB09DDC70200126FB8 /* Unchained - Ribald Ballad.milk */, - 0C4C76DC09DDC70200126FB8 /* Unchained - Shaping The Grid.milk */, - 0C4C76DD09DDC70200126FB8 /* Unchained - Subjective Experience Of The Manifold.milk */, - 0C4C76DE09DDC70200126FB8 /* Unchained - Unclaimed Wreckage 2 (Shamanic).milk */, - 0C4C76DF09DDC70200126FB8 /* Unchained - Unclaimed Wreckage.milk */, - 0C4C76E009DDC70200126FB8 /* Unchained - Unified Drag 2.milk */, - 0C4C76E109DDC70200126FB8 /* Unchained - ventilation.milk */, - 0C4C76E209DDC70200126FB8 /* Unchained - Working the Grid.milk */, - 0C4C76E309DDC70200126FB8 /* Vovan - Bass With Flover.milk */, - 0C4C76E409DDC70200126FB8 /* Zylot & Aderrasi - Oceanic Bassograph (New Jersey Shore Mix.milk */, - 0C4C76E509DDC70200126FB8 /* Zylot & Boz - Spirit Energy (Angry Soul's reMix).milk */, - 0C4C76E609DDC70200126FB8 /* Zylot & Idiot24-7- ATan2 Demo (Spiraling Mad Mix).milk */, - 0C4C76E709DDC70200126FB8 /* Zylot & Krash - Extremophile.milk */, - 0C4C76E809DDC70200126FB8 /* Zylot & Mstress - Celebrate.milk */, - 0C4C76E909DDC70200126FB8 /* Zylot & Mstress - Toxic Storm On Acid Sea (The End Of The W.milk */, - 0C4C76EA09DDC70200126FB8 /* Zylot & Pinbi7 - Definitly Not For The Epileptic (Cancerous.milk */, - 0C4C76EB09DDC70200126FB8 /* Zylot & Rovastar - Crystal Ball (Cerimonial Decor Mix).milk */, - 0C4C76EC09DDC70200126FB8 /* Zylot & Wulfson - Pulse Beat.milk */, - 0C4C76ED09DDC70200126FB8 /* Zylot - Azirphaeli's Mirror.milk */, - 0C4C76EE09DDC70200126FB8 /* Zylot - Block Of Sound (Abstract Architecture Mix).milk */, - 0C4C76EF09DDC70200126FB8 /* Zylot - Block Of Sound (Fractal Construction Mix).milk */, - 0C4C76F009DDC70200126FB8 /* Zylot - Burning Passion.milk */, - 0C4C76F109DDC70200126FB8 /* Zylot - Color Of Music.milk */, - 0C4C76F209DDC70200126FB8 /* Zylot - Crystal Ball (Magical Reaction Mix).milk */, - 0C4C76F309DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) complex.milk */, - 0C4C76F409DDC70200126FB8 /* Zylot - De(-a)range(d)(ment) strain.milk */, - 0C4C76F509DDC70200126FB8 /* Zylot - Digiscape Advanced Processor.milk */, - 0C4C76F609DDC70200126FB8 /* Zylot - Ether Storm.milk */, - 0C4C76F709DDC70200126FB8 /* Zylot - Global Earthquake.milk */, - 0C4C76F809DDC70200126FB8 /* Zylot - Hollow Shell.milk */, - 0C4C76F909DDC70200126FB8 /* Zylot - Inside The Planar Portal.milk */, - 0C4C76FA09DDC70200126FB8 /* Zylot - light of the path.milk */, - 0C4C76FB09DDC70200126FB8 /* Zylot - Magladon.milk */, - 0C4C76FC09DDC70200126FB8 /* Zylot - Magma Crawl.milk */, - 0C4C76FD09DDC70200126FB8 /* Zylot - Magma Vein.milk */, - 0C4C76FE09DDC70200126FB8 /* Zylot - Mixing Pot.milk */, - 0C4C76FF09DDC70200126FB8 /* Zylot - New Star.milk */, - 0C4C770009DDC70200126FB8 /* Zylot - PinWheel.milk */, - 0C4C770109DDC70200126FB8 /* Zylot - Present for Saddam.milk */, - 0C4C770209DDC70200126FB8 /* Zylot - Puddle Of Music.milk */, - 0C4C770309DDC70200126FB8 /* Zylot - Rainbow Planet Under Attack.milk */, - 0C4C770409DDC70200126FB8 /* Zylot - Riding The Sound Waves.milk */, - 0C4C770509DDC70200126FB8 /* Zylot - Rush.milk */, - 0C4C770609DDC70200126FB8 /* Zylot - S Pulse Virus.milk */, - 0C4C770709DDC70200126FB8 /* Zylot - S. Pulse Virus.milk */, - 0C4C770809DDC70200126FB8 /* Zylot - String.milk */, - 0C4C770909DDC70200126FB8 /* Zylot - Tangent Universe (Collapsed With Artifact Mix).milk */, - 0C4C770A09DDC70200126FB8 /* Zylot - The Deeper.milk */, - 0C4C770B09DDC70200126FB8 /* Zylot - The Inner Workings of my New Computer.milk */, - 0C4C770C09DDC70200126FB8 /* Zylot - Tunnel Of Illusion.milk */, - 0C4C770D09DDC70200126FB8 /* Zylot - Visionarie (geiss aspect ratio fix).milk */, - 0C4C770E09DDC70200126FB8 /* Zylot - Visionarie.milk */, - 0C4C770F09DDC70200126FB8 /* Zylot - Waves Of Blood.milk */, - 0C4C771009DDC70200126FB8 /* Zylot - Winding Path Over The Blue Abyss.milk */, - 0C4C771109DDC70200126FB8 /* Zylot and Rovastar - Iouo Stone Morphic Fusion.milk */, - ); - name = presets; - path = ../../presets; - sourceTree = SOURCE_ROOT; - }; - 0CDDC5FD0AC335DC0072588B /* Headers */ = { - isa = PBXGroup; - children = ( - 0CBFA8330C1AB0F2007E9382 /* BeatDetect.h */, - 0CBFA8350C1AB0F2007E9382 /* browser.h */, - 0CBFA8370C1AB0F2007E9382 /* builtin_funcs.h */, - 0CBFA8380C1AB0F2007E9382 /* carbontoprojectM.h */, - 0CBFA8390C1AB0F2007E9382 /* common.h */, - 0CBFA83A0C1AB0F2007E9382 /* compare.h */, - 0CBFA83C0C1AB0F2007E9382 /* console_interface.h */, - 0CBFA83E0C1AB0F2007E9382 /* CustomShape.h */, - 0CBFA8400C1AB0F2007E9382 /* CustomWave.h */, - 0CBFA8410C1AB0F2007E9382 /* CValue.h */, - 0CBFA8520C1AB102007E9382 /* dlldefs.h */, - 0CBFA8540C1AB102007E9382 /* editor.h */, - 0CBFA8560C1AB102007E9382 /* Eval.h */, - 0CBFA8570C1AB102007E9382 /* event.h */, - 0CBFA8590C1AB102007E9382 /* Expr.h */, - 0CBFA85A0C1AB102007E9382 /* fatal.h */, - 0CBFA85C0C1AB102007E9382 /* fftsg.h */, - 0CBFA85E0C1AB102007E9382 /* Func.h */, - 0CBFA8600C1AB102007E9382 /* glConsole.h */, - 0CBFA8630C1AB102007E9382 /* InitCond.h */, - 0CBFA8760C1AB116007E9382 /* lvtoprojectM.h */, - 0CBFA8780C1AB116007E9382 /* menu.h */, - 0CBFA87D0C1AB12E007E9382 /* Param.h */, - 0CBFA87F0C1AB12E007E9382 /* Parser.h */, - 0CBFA8810C1AB12E007E9382 /* pbuffer.h */, - 0CBFA8830C1AB12E007E9382 /* PCM.h */, - 0CBFA8850C1AB12E007E9382 /* PerFrameEqn.h */, - 0CBFA8870C1AB12E007E9382 /* PerPixelEqn.h */, - 0CBFA8890C1AB12E007E9382 /* PerPointEqn.h */, - 0CBFA88B0C1AB12E007E9382 /* Preset.h */, - 0CBFA88D0C1AB12E007E9382 /* projectM.h */, - 0CBFA88E0C1AB12E007E9382 /* sdltoprojectM.h */, - 0CBFA8900C1AB12E007E9382 /* SplayNode.h */, - 0CBFA8920C1AB12E007E9382 /* SplayTree.h */, - 0CBFA8940C1AB12E007E9382 /* timer.h */, - 0CBFA8960C1AB12E007E9382 /* wipemalloc.h */, - ); - name = Headers; - sourceTree = ""; - }; - 0CDDC5FE0AC335E20072588B /* Sources */ = { - isa = PBXGroup; - children = ( - 0CBFA8320C1AB0F2007E9382 /* BeatDetect.cpp */, - 0CBFA8340C1AB0F2007E9382 /* browser.cpp */, - 0CBFA83B0C1AB0F2007E9382 /* console_interface.cpp */, - 0CBFA83D0C1AB0F2007E9382 /* CustomShape.cpp */, - 0CBFA83F0C1AB0F2007E9382 /* CustomWave.cpp */, - 0CBFA8530C1AB102007E9382 /* editor.cpp */, - 0CBFA8550C1AB102007E9382 /* Eval.cpp */, - 0CBFA8580C1AB102007E9382 /* Expr.cpp */, - 0CBFA85B0C1AB102007E9382 /* fftsg.cpp */, - 0CBFA85D0C1AB102007E9382 /* Func.cpp */, - 0CBFA85F0C1AB102007E9382 /* glConsole.cpp */, - 0CBFA8620C1AB102007E9382 /* InitCond.cpp */, - 0CBFA8770C1AB116007E9382 /* menu.cpp */, - 0CBFA87C0C1AB12E007E9382 /* Param.cpp */, - 0CBFA87E0C1AB12E007E9382 /* Parser.cpp */, - 0CBFA8800C1AB12E007E9382 /* pbuffer.cpp */, - 0CBFA8820C1AB12E007E9382 /* PCM.cpp */, - 0CBFA8840C1AB12E007E9382 /* PerFrameEqn.cpp */, - 0CBFA8860C1AB12E007E9382 /* PerPixelEqn.cpp */, - 0CBFA8880C1AB12E007E9382 /* PerPointEqn.cpp */, - 0CBFA88A0C1AB12E007E9382 /* Preset.cpp */, - 0CBFA88C0C1AB12E007E9382 /* projectM.cpp */, - 0CBFA88F0C1AB12E007E9382 /* SplayNode.cpp */, - 0CBFA8910C1AB12E007E9382 /* SplayTree.cpp */, - 0CBFA8930C1AB12E007E9382 /* timer.cpp */, - 0CBFA8950C1AB12E007E9382 /* wipemalloc.cpp */, - ); - name = Sources; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - D2AAC046055464E500DB518D /* libprojectM.a */, - 0C4C742E09DDC18200126FB8 /* sdlprojectM.app */, - 0C4C745C09DDC4B900126FB8 /* projectM.bundle */, - 0C3EBFC60C06389F0041F14F /* wxprojectM.app */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 0C4C742809DDC18200126FB8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D2AAC043055464E500DB518D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CBFA8430C1AB0F2007E9382 /* BeatDetect.h in Headers */, - 0CBFA8450C1AB0F2007E9382 /* browser.h in Headers */, - 0CBFA8470C1AB0F2007E9382 /* builtin_funcs.h in Headers */, - 0CBFA8480C1AB0F2007E9382 /* carbontoprojectM.h in Headers */, - 0CBFA8490C1AB0F2007E9382 /* common.h in Headers */, - 0CBFA84A0C1AB0F2007E9382 /* compare.h in Headers */, - 0CBFA84C0C1AB0F2007E9382 /* console_interface.h in Headers */, - 0CBFA84E0C1AB0F2007E9382 /* CustomShape.h in Headers */, - 0CBFA8500C1AB0F2007E9382 /* CustomWave.h in Headers */, - 0CBFA8510C1AB0F2007E9382 /* CValue.h in Headers */, - 0CBFA8640C1AB102007E9382 /* dlldefs.h in Headers */, - 0CBFA8660C1AB102007E9382 /* editor.h in Headers */, - 0CBFA8680C1AB102007E9382 /* Eval.h in Headers */, - 0CBFA8690C1AB102007E9382 /* event.h in Headers */, - 0CBFA86B0C1AB102007E9382 /* Expr.h in Headers */, - 0CBFA86C0C1AB102007E9382 /* fatal.h in Headers */, - 0CBFA86E0C1AB102007E9382 /* fftsg.h in Headers */, - 0CBFA8700C1AB102007E9382 /* Func.h in Headers */, - 0CBFA8720C1AB102007E9382 /* glConsole.h in Headers */, - 0CBFA8750C1AB102007E9382 /* InitCond.h in Headers */, - 0CBFA8790C1AB116007E9382 /* lvtoprojectM.h in Headers */, - 0CBFA87B0C1AB116007E9382 /* menu.h in Headers */, - 0CBFA8980C1AB12E007E9382 /* Param.h in Headers */, - 0CBFA89A0C1AB12E007E9382 /* Parser.h in Headers */, - 0CBFA89C0C1AB12E007E9382 /* pbuffer.h in Headers */, - 0CBFA89E0C1AB12E007E9382 /* PCM.h in Headers */, - 0CBFA8A00C1AB12E007E9382 /* PerFrameEqn.h in Headers */, - 0CBFA8A20C1AB12E007E9382 /* PerPixelEqn.h in Headers */, - 0CBFA8A40C1AB12E007E9382 /* PerPointEqn.h in Headers */, - 0CBFA8A60C1AB12E007E9382 /* Preset.h in Headers */, - 0CBFA8A80C1AB12E007E9382 /* projectM.h in Headers */, - 0CBFA8A90C1AB12E007E9382 /* sdltoprojectM.h in Headers */, - 0CBFA8AB0C1AB12E007E9382 /* SplayNode.h in Headers */, - 0CBFA8AD0C1AB12E007E9382 /* SplayTree.h in Headers */, - 0CBFA8AF0C1AB12E007E9382 /* timer.h in Headers */, - 0CBFA8B10C1AB12E007E9382 /* wipemalloc.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 0C3EBFC50C06389F0041F14F /* projectM-wxvis */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0C3EBFC90C0638A00041F14F /* Build configuration list for PBXNativeTarget "projectM-wxvis" */; - buildPhases = ( - 0C3EBFC20C06389F0041F14F /* Resources */, - 0C3EBFC30C06389F0041F14F /* Sources */, - 0C3EBFC40C06389F0041F14F /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 0C3EBFE30C0639750041F14F /* PBXTargetDependency */, - ); - name = "projectM-wxvis"; - productName = wxprojectM; - productReference = 0C3EBFC60C06389F0041F14F /* wxprojectM.app */; - productType = "com.apple.product-type.application"; - }; - 0C4C745B09DDC4B900126FB8 /* projectM-iTunes */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0C4C745F09DDC4BA00126FB8 /* Build configuration list for PBXNativeTarget "projectM-iTunes" */; - buildPhases = ( - 0C4C745809DDC4B900126FB8 /* Resources */, - 0C4C745909DDC4B900126FB8 /* Sources */, - 0C4C745A09DDC4B900126FB8 /* Frameworks */, - 0C4C83C809DDC7BD00126FB8 /* CopyFiles */, - 0C4C83D909DDC8FC00126FB8 /* CopyFiles */, - 0CCF40020C0A2F680030828E /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - 0C4C868F09DDCEAC00126FB8 /* PBXTargetDependency */, - ); - name = "projectM-iTunes"; - productName = iprojectM; - productReference = 0C4C745C09DDC4B900126FB8 /* projectM.bundle */; - productType = "com.apple.product-type.bundle"; - }; - D2AAC045055464E500DB518D /* projectM-engine */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "projectM-engine" */; - buildPhases = ( - D2AAC043055464E500DB518D /* Headers */, - D2AAC044055464E500DB518D /* Sources */, - D289987405E68DCB004EDB86 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "projectM-engine"; - productName = projectM; - productReference = D2AAC046055464E500DB518D /* libprojectM.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "projectM" */; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* projectM */; - projectDirPath = ""; - targets = ( - D2AAC045055464E500DB518D /* projectM-engine */, - 0C4C742D09DDC18200126FB8 /* projectM-sdlvis */, - 0C4C745B09DDC4B900126FB8 /* projectM-iTunes */, - 0C4C867D09DDCE2400126FB8 /* All Executables */, - 0C3EBFC50C06389F0041F14F /* projectM-wxvis */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 0C3EBFC20C06389F0041F14F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C742909DDC18200126FB8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C745809DDC4B900126FB8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCF40050C0A2F870030828E /* projectM.icns in Resources */, - 0C74DBCE0C20822A0043103D /* PkgInfo in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 0C4C742C09DDC18200126FB8 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 0C3EBFC30C06389F0041F14F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CBFA8C70C1AB2F3007E9382 /* wxvisApp.cpp in Sources */, - 0CBFA8C80C1AB2F3007E9382 /* wxvisCanvas.cpp in Sources */, - 0CBFA8C90C1AB2F3007E9382 /* wxvisFrame.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C742A09DDC18200126FB8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CBE3BDD0A74118500F42C68 /* projectMvis.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0C4C745909DDC4B900126FB8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CBFA8D50C1AB4FE007E9382 /* iprojectM.cpp in Sources */, - 0CBFA8D90C1AB50E007E9382 /* iTunesAPI.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D2AAC044055464E500DB518D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CBFA8420C1AB0F2007E9382 /* BeatDetect.cpp in Sources */, - 0CBFA8440C1AB0F2007E9382 /* browser.cpp in Sources */, - 0CBFA84B0C1AB0F2007E9382 /* console_interface.cpp in Sources */, - 0CBFA84D0C1AB0F2007E9382 /* CustomShape.cpp in Sources */, - 0CBFA84F0C1AB0F2007E9382 /* CustomWave.cpp in Sources */, - 0CBFA8650C1AB102007E9382 /* editor.cpp in Sources */, - 0CBFA8670C1AB102007E9382 /* Eval.cpp in Sources */, - 0CBFA86A0C1AB102007E9382 /* Expr.cpp in Sources */, - 0CBFA86D0C1AB102007E9382 /* fftsg.cpp in Sources */, - 0CBFA86F0C1AB102007E9382 /* Func.cpp in Sources */, - 0CBFA8710C1AB102007E9382 /* glConsole.cpp in Sources */, - 0CBFA8740C1AB102007E9382 /* InitCond.cpp in Sources */, - 0CBFA87A0C1AB116007E9382 /* menu.cpp in Sources */, - 0CBFA8970C1AB12E007E9382 /* Param.cpp in Sources */, - 0CBFA8990C1AB12E007E9382 /* Parser.cpp in Sources */, - 0CBFA89B0C1AB12E007E9382 /* pbuffer.cpp in Sources */, - 0CBFA89D0C1AB12E007E9382 /* PCM.cpp in Sources */, - 0CBFA89F0C1AB12E007E9382 /* PerFrameEqn.cpp in Sources */, - 0CBFA8A10C1AB12E007E9382 /* PerPixelEqn.cpp in Sources */, - 0CBFA8A30C1AB12E007E9382 /* PerPointEqn.cpp in Sources */, - 0CBFA8A50C1AB12E007E9382 /* Preset.cpp in Sources */, - 0CBFA8A70C1AB12E007E9382 /* projectM.cpp in Sources */, - 0CBFA8AA0C1AB12E007E9382 /* SplayNode.cpp in Sources */, - 0CBFA8AC0C1AB12E007E9382 /* SplayTree.cpp in Sources */, - 0CBFA8AE0C1AB12E007E9382 /* timer.cpp in Sources */, - 0CBFA8B00C1AB12E007E9382 /* wipemalloc.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0C3EBFE30C0639750041F14F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D2AAC045055464E500DB518D /* projectM-engine */; - targetProxy = 0C3EBFE20C0639750041F14F /* PBXContainerItemProxy */; - }; - 0C4C868D09DDCEAA00126FB8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D2AAC045055464E500DB518D /* projectM-engine */; - targetProxy = 0C4C868C09DDCEAA00126FB8 /* PBXContainerItemProxy */; - }; - 0C4C868F09DDCEAC00126FB8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D2AAC045055464E500DB518D /* projectM-engine */; - targetProxy = 0C4C868E09DDCEAC00126FB8 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0C3EBFCA0C0638A00041F14F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - /System/Library/Frameworks, - "$(FRAMEWORK_SEARCH_PATHS)", - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MACOS, - DEBUG, - ); - HEADER_SEARCH_PATHS = ( - /System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers, - /System/Library/Frameworks/AGL.framework/Headers, - "$(HEADER_SEARCH_PATHS)", - ); - INFOPLIST_FILE = "projectM-wxvis-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - /usr/local/lib, - "$(LIBRARY_SEARCH_PATHS)", - ); - OTHER_CFLAGS = ( - "-I/usr/local/lib/wx/include/mac-ansi-release-static-2.6", - "-I/usr/local/include/wx-2.6", - "-D__WXMAC__", - "-D_FILE_OFFSET_BITS=64", - "-D_LARGE_FILES", - "-DNO_GCC_PRAGMA", - ); - OTHER_LDFLAGS = ( - "-framework", - Carbon, - "-framework", - AGL, - "-framework", - OpenGL, - "-framework", - IOKit, - "-lprojectM", - "-lwx_mac-2.6", - "-lwx_mac_gl-2.6", - "-lz", - "-lpthread", - "-liconv", - "-lGLEW", - ); - PREBINDING = NO; - PRODUCT_NAME = "projectM-wxvis"; - USER_HEADER_SEARCH_PATHS = ".. $(USER_HEADER_SEARCH_PATHS)"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Debug; - }; - 0C3EBFCB0C0638A00041F14F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "projectM-wxvis-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - OTHER_LDFLAGS = ( - "-framework", - Carbon, - ); - PREBINDING = NO; - PRODUCT_NAME = wxprojectM; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; - 0C4C743209DDC18B00126FB8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SYSTEM_LIBRARY_DIR)/Frameworks/SDL.framework", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/AGL.framework", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/OpenGL.framework", - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - HEADER_SEARCH_PATHS = ( - /Users/descarte/tmp/libprojectM, - "$(SYSTEM_DEVELOPER_DIR)/Headers/FlatCarbon", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/OpenGL.framework", - /Users/descarte/tmp/libprojectM/src, - "$(SYSTEM_LIBRARY_DIR)/Frameworks/OpenGL.framework/Headers", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/AGL.framework/Headers", - /Library/Frameworks/SDL.framework/Headers, - ); - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-DMACOS"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SDL, - "-framework", - OpenGL, - "-framework", - AGL, - "-lSDLmain", - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = sdlprojectM; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 0C4C743309DDC18B00126FB8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = "\"/Library/Frameworks\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - HEADER_SEARCH_PATHS = "\"/Library/Frameworks/SDL.framework/Headers\""; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SDL, - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = sdlprojectM; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; - 0C4C746009DDC4BA00126FB8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - "$(NATIVE_ARCH)", - i386, - ); - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MACOS, - DEBUG, - USE_FBO, - ); - HEADER_SEARCH_PATHS = ( - /System/Library/Frameworks/AGL.framework/Headers, - /System/Library/Frameworks/OpenGL.framework/Headers, - /Developer/Headers/FlatCarbon, - ../../../glew/include, - "$(HEADER_SEARCH_PATHS)", - ); - INFOPLIST_FILE = "projectM-iTunes-Info.plist"; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - LIBRARY_SEARCH_PATHS = ( - /usr/local/lib, - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../glew/build/macos/glew/build/Release\""; - OTHER_LDFLAGS = ( - "-framework", - Carbon, - "-framework", - OpenGL, - "-framework", - AGL, - "-lGLEW", - ); - PREBINDING = NO; - PRODUCT_NAME = projectM; - USER_HEADER_SEARCH_PATHS = ".. $(USER_HEADER_SEARCH_PATHS)"; - WRAPPER_EXTENSION = bundle; - ZERO_LINK = YES; - }; - name = Debug; - }; - 0C4C746109DDC4BA00126FB8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - "$(NATIVE_ARCH)", - i386, - ); - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MACOS, - USE_FBO, - ); - HEADER_SEARCH_PATHS = ( - /System/Library/Frameworks/AGL.framework/Headers, - /System/Library/Frameworks/OpenGL.framework/Headers, - /Developer/Headers/FlatCarbon, - ../../../glew/include, - "$(HEADER_SEARCH_PATHS)", - ); - INFOPLIST_FILE = "projectM-iTunes-Info.plist"; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - LIBRARY_SEARCH_PATHS = ( - /usr/local/lib, - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../glew/build/macos/glew/build/Release\""; - OTHER_LDFLAGS = ( - "-framework", - Carbon, - "-framework", - OpenGL, - "-framework", - AGL, - ); - PREBINDING = NO; - PRODUCT_NAME = projectM; - USER_HEADER_SEARCH_PATHS = ".. $(USER_HEADER_SEARCH_PATHS)"; - WRAPPER_EXTENSION = bundle; - ZERO_LINK = YES; - }; - name = Release; - }; - 0C4C868809DDCE7D00126FB8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - PRODUCT_NAME = "All Executables"; - }; - name = Debug; - }; - 0C4C868909DDCE7D00126FB8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - PRODUCT_NAME = "All Executables"; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB91EC08733DB70010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - "$(NATIVE_ARCH)", - i386, - ); - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - MACOS, - DEBUG, - USE_FBO, - ); - GCC_USE_GCC3_PFE_SUPPORT = NO; - HEADER_SEARCH_PATHS = ( - /System/Library/Frameworks/AGL.framework/Headers, - /System/Library/Frameworks/OpenGL.framework/Headers, - /Developer/Headers/FlatCarbon, - ../../../glew/include, - "$(HEADER_SEARCH_PATHS)", - ); - INSTALL_PATH = /usr/local/lib; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - PRODUCT_NAME = projectM; - ZERO_LINK = YES; - }; - name = Debug; - }; - 1DEB91ED08733DB70010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - FRAMEWORK_SEARCH_PATHS = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PREPROCESSOR_DEFINITIONS = ( - MACOS, - "$(GCC_PREPROCESSOR_DEFINITIONS)", - USE_FBO, - ); - HEADER_SEARCH_PATHS = ( - /System/Library/Frameworks/AGL.framework/Headers, - /System/Library/Frameworks/OpenGL.framework/Headers, - /Developer/Headers/FlatCarbon, - ../../../glew/include, - "$(HEADER_SEARCH_PATHS)", - ); - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = projectM; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB91F008733DB70010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = MACOS; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Debug; - }; - 1DEB91F108733DB70010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = MACOS; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ""; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 0C3EBFC90C0638A00041F14F /* Build configuration list for PBXNativeTarget "projectM-wxvis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0C3EBFCA0C0638A00041F14F /* Debug */, - 0C3EBFCB0C0638A00041F14F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0C4C743109DDC18B00126FB8 /* Build configuration list for PBXApplicationTarget "projectM-sdlvis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0C4C743209DDC18B00126FB8 /* Debug */, - 0C4C743309DDC18B00126FB8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0C4C745F09DDC4BA00126FB8 /* Build configuration list for PBXNativeTarget "projectM-iTunes" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0C4C746009DDC4BA00126FB8 /* Debug */, - 0C4C746109DDC4BA00126FB8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0C4C868709DDCE7D00126FB8 /* Build configuration list for PBXAggregateTarget "All Executables" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0C4C868809DDCE7D00126FB8 /* Debug */, - 0C4C868909DDCE7D00126FB8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "projectM-engine" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB91EC08733DB70010E9CD /* Debug */, - 1DEB91ED08733DB70010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "projectM" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB91F008733DB70010E9CD /* Debug */, - 1DEB91F108733DB70010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/src/projectM-emscripten/Makefile.am b/src/projectM-emscripten/Makefile.am new file mode 100644 index 0000000000..949bad026e --- /dev/null +++ b/src/projectM-emscripten/Makefile.am @@ -0,0 +1,25 @@ +AM_CPPFLAGS = \ +${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-I$(top_builddir)/vendor \ +-DSYSCONFDIR=\""$(sysconfdir)"\" \ +-I${top_srcdir}/src/libprojectM \ +-I${top_srcdir}/src/libprojectM/Renderer \ +${SDL_CFLAGS} + +EMSCRIPTEN_FLAGS = -s USE_SDL=2 -s USE_WEBGL2=1 +# -s WASM=0 + +bin_PROGRAMS = projectW.bc +projectW_bc_SOURCES = ../libprojectM/KeyHandler.cpp projectM_SDL_emscripten.cpp +projectW_bc_LDADD = ${SDL_LIBS} ${top_srcdir}/src/libprojectM/libprojectM.la +projectW_bc_LDFLAGS = $(EMSCRIPTEN_FLAGS) -static +projectW_bc_PROGRAM = projectW.bc + +projectW.html: generate-html + +generate-html: + emcc -s ALLOW_MEMORY_GROWTH=1 $(EMSCRIPTEN_FLAGS) projectW.bc -o projectW.html + +run: projectW.html + emrun --browser chrome projectW.html diff --git a/src/projectM-emscripten/README b/src/projectM-emscripten/README new file mode 100644 index 0000000000..26f35c15f5 --- /dev/null +++ b/src/projectM-emscripten/README @@ -0,0 +1,27 @@ +Running on the web. + +## Prepare +* Activate the emsdk (https://github.com/juj/emsdk#installation-instructions) +* Make sure you are in the root directory of this project +* On fresh repositories: `./autogen.sh` + +## Compile +* `emconfigure ./configure --enable-emscripten` +* `emmake make` + +## Create wasm & html files +* `cd src/projectM-emscripten` +* `make run` + +## Troubleshooting + +### General + +Want to restart the process after pulling or changing config? +* `rm src/projectM-emscripten/projectW*` +* restart with emconfigure or emmake + +### OS X troubleshooting: + +#### `./autogen.sh: line 3: autoreconf: command not found` +fix via `brew install automake` diff --git a/src/projectM-emscripten/emprojectM.xcodeproj/project.pbxproj b/src/projectM-emscripten/emprojectM.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e8450d7a81 --- /dev/null +++ b/src/projectM-emscripten/emprojectM.xcodeproj/project.pbxproj @@ -0,0 +1,366 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + C34045BC1B1E111300139822 /* SDL2.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = C3E29B641B1E0BB800798B6E /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + C34E81071956B7BF001AC5B5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E81061956B7BF001AC5B5 /* CoreFoundation.framework */; }; + C37A132C195C147C00928349 /* fonts in CopyFiles */ = {isa = PBXBuildFile; fileRef = C37A132B195C145A00928349 /* fonts */; }; + C3E29B651B1E0BB800798B6E /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3E29B641B1E0BB800798B6E /* SDL2.framework */; }; + C3E29B681B1E0CCE00798B6E /* libRenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E81041956B633001AC5B5 /* libRenderer.a */; }; + C3E29B691B1E0CD300798B6E /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F9068F19567A4600C8DF0F /* libprojectM.a */; }; + C3E29B6A1B1E0CD500798B6E /* libNativePresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E81081956B7D3001AC5B5 /* libNativePresetFactory.a */; }; + C3E29B6B1B1E0CD700798B6E /* libMilkdropPresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E810A1956B7D9001AC5B5 /* libMilkdropPresetFactory.a */; }; + C3E29B6D1B1E0CEE00798B6E /* libGLEW.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C3E29B6C1B1E0CEE00798B6E /* libGLEW.a */; }; + C3E29B6F1B1E0D1B00798B6E /* presets_tryptonaut in CopyFiles */ = {isa = PBXBuildFile; fileRef = C3E29B6E1B1E0D0E00798B6E /* presets_tryptonaut */; }; + C3F90686195670EF00C8DF0F /* projectM_SDL_emscripten.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3F90685195670EF00C8DF0F /* projectM_SDL_emscripten.cpp */; }; + C3F9068A195676C500C8DF0F /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F90689195676C500C8DF0F /* OpenGL.framework */; }; + C3F9068C195676CC00C8DF0F /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F9068B195676CC00C8DF0F /* GLUT.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C34045BB1B1E110500139822 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + C34045BC1B1E111300139822 /* SDL2.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C3F90676195670BC00C8DF0F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 12; + dstPath = ""; + dstSubfolderSpec = 16; + files = ( + C37A132C195C147C00928349 /* fonts in CopyFiles */, + C3E29B6F1B1E0D1B00798B6E /* presets_tryptonaut in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + C34E81041956B633001AC5B5 /* libRenderer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRenderer.a; path = ../libprojectM/Renderer/libRenderer.a; sourceTree = ""; }; + C34E81061956B7BF001AC5B5 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + C34E81081956B7D3001AC5B5 /* libNativePresetFactory.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libNativePresetFactory.a; path = ../libprojectM/NativePresetFactory/libNativePresetFactory.a; sourceTree = ""; }; + C34E810A1956B7D9001AC5B5 /* libMilkdropPresetFactory.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMilkdropPresetFactory.a; path = ../libprojectM/MilkdropPresetFactory/libMilkdropPresetFactory.a; sourceTree = ""; }; + C37A131D195C136600928349 /* contrib */ = {isa = PBXFileReference; lastKnownFileType = folder; name = contrib; path = "../projectM-iTunes/macos/contrib"; sourceTree = ""; }; + C37A132B195C145A00928349 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = build/fonts; sourceTree = SOURCE_ROOT; }; + C3E29B641B1E0BB800798B6E /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL2.framework; sourceTree = ""; }; + C3E29B661B1E0CA000798B6E /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = "../projectM-iTunes/macos/contrib/libfreetype.a"; sourceTree = ""; }; + C3E29B6C1B1E0CEE00798B6E /* libGLEW.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libGLEW.a; path = "../projectM-iTunes/macos/contrib/libGLEW.a"; sourceTree = ""; }; + C3E29B6E1B1E0D0E00798B6E /* presets_tryptonaut */ = {isa = PBXFileReference; lastKnownFileType = folder; name = presets_tryptonaut; path = ../../../presets/presets_tryptonaut; sourceTree = ""; }; + C3F90678195670BC00C8DF0F /* emprojectM */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = emprojectM; sourceTree = BUILT_PRODUCTS_DIR; }; + C3F90685195670EF00C8DF0F /* projectM_SDL_emscripten.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = projectM_SDL_emscripten.cpp; sourceTree = SOURCE_ROOT; }; + C3F90689195676C500C8DF0F /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + C3F9068B195676CC00C8DF0F /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = System/Library/Frameworks/GLUT.framework; sourceTree = SDKROOT; }; + C3F9068F19567A4600C8DF0F /* libprojectM.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprojectM.a; path = ../libprojectM/libprojectM.a; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C3F90675195670BC00C8DF0F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C3E29B681B1E0CCE00798B6E /* libRenderer.a in Frameworks */, + C3E29B691B1E0CD300798B6E /* libprojectM.a in Frameworks */, + C3E29B6A1B1E0CD500798B6E /* libNativePresetFactory.a in Frameworks */, + C3E29B6B1B1E0CD700798B6E /* libMilkdropPresetFactory.a in Frameworks */, + C3E29B6D1B1E0CEE00798B6E /* libGLEW.a in Frameworks */, + C34E81071956B7BF001AC5B5 /* CoreFoundation.framework in Frameworks */, + C3F9068C195676CC00C8DF0F /* GLUT.framework in Frameworks */, + C3F9068A195676C500C8DF0F /* OpenGL.framework in Frameworks */, + C3E29B651B1E0BB800798B6E /* SDL2.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + C3F9066F195670BC00C8DF0F = { + isa = PBXGroup; + children = ( + C3E29B6C1B1E0CEE00798B6E /* libGLEW.a */, + C3E29B661B1E0CA000798B6E /* libfreetype.a */, + C37A131D195C136600928349 /* contrib */, + C34E810A1956B7D9001AC5B5 /* libMilkdropPresetFactory.a */, + C34E81081956B7D3001AC5B5 /* libNativePresetFactory.a */, + C3E29B641B1E0BB800798B6E /* SDL2.framework */, + C34E81061956B7BF001AC5B5 /* CoreFoundation.framework */, + C34E81041956B633001AC5B5 /* libRenderer.a */, + C3F9068F19567A4600C8DF0F /* libprojectM.a */, + C3F9068B195676CC00C8DF0F /* GLUT.framework */, + C3F90689195676C500C8DF0F /* OpenGL.framework */, + C3F9067A195670BC00C8DF0F /* emprojectM */, + C3F90679195670BC00C8DF0F /* Products */, + ); + sourceTree = ""; + }; + C3F90679195670BC00C8DF0F /* Products */ = { + isa = PBXGroup; + children = ( + C3F90678195670BC00C8DF0F /* emprojectM */, + ); + name = Products; + sourceTree = ""; + }; + C3F9067A195670BC00C8DF0F /* emprojectM */ = { + isa = PBXGroup; + children = ( + C3E29B6E1B1E0D0E00798B6E /* presets_tryptonaut */, + C37A132B195C145A00928349 /* fonts */, + C3F90685195670EF00C8DF0F /* projectM_SDL_emscripten.cpp */, + ); + path = emprojectM; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + C3F90677195670BC00C8DF0F /* emprojectM */ = { + isa = PBXNativeTarget; + buildConfigurationList = C3F90681195670BC00C8DF0F /* Build configuration list for PBXNativeTarget "emprojectM" */; + buildPhases = ( + C3F90675195670BC00C8DF0F /* Frameworks */, + C3F90674195670BC00C8DF0F /* Sources */, + C3F90676195670BC00C8DF0F /* CopyFiles */, + C34045BB1B1E110500139822 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = emprojectM; + productName = emprojectM; + productReference = C3F90678195670BC00C8DF0F /* emprojectM */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C3F90670195670BC00C8DF0F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0510; + ORGANIZATIONNAME = "Mischa Spiegelmock"; + TargetAttributes = { + C3F90677195670BC00C8DF0F = { + DevelopmentTeam = 5926VBQM6Y; + }; + }; + }; + buildConfigurationList = C3F90673195670BC00C8DF0F /* Build configuration list for PBXProject "emprojectM" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = C3F9066F195670BC00C8DF0F; + productRefGroup = C3F90679195670BC00C8DF0F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + C3F90677195670BC00C8DF0F /* emprojectM */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + C3F90674195670BC00C8DF0F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C3F90686195670EF00C8DF0F /* projectM_SDL_emscripten.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + C3F9067F195670BC00C8DF0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../libprojectM", + ); + MACOSX_DEPLOYMENT_TARGET = 10.9; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + C3F90680195670BC00C8DF0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../libprojectM", + ); + MACOSX_DEPLOYMENT_TARGET = 10.9; + SDKROOT = macosx; + }; + name = Release; + }; + C3F90682195670BC00C8DF0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(USER_LIBRARY_DIR)/Frameworks", + "$(PROJECT_DIR)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../libprojectM", + /usr/local/include, + ); + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /Users/snooz/dev/projectm/src/libprojectM, + /Users/snooz/dev/projectm/src/libprojectM/Renderer, + /Users/snooz/dev/projectm/src/libprojectM/NativePresetFactory, + /Users/snooz/dev/projectm/src/libprojectM/MilkdropPresetFactory, + "/Users/snooz/dev/projectm/src/projectM-iTunes/macos/contrib", + "/Users/bobo/dev/projectm/src/projectM-iTunes/macos/contrib", + /Users/bobo/dev/projectm/src/libprojectM/Renderer, + /Users/bobo/dev/projectm/src/libprojectM, + /Users/bobo/dev/projectm/src/libprojectM/NativePresetFactory, + /Users/bobo/dev/projectm/src/libprojectM/MilkdropPresetFactory, + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + USER_HEADER_SEARCH_PATHS = SDL2.framework/Headers; + }; + name = Debug; + }; + C3F90683195670BC00C8DF0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(USER_LIBRARY_DIR)/Frameworks", + "$(PROJECT_DIR)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../libprojectM", + /usr/local/include, + ); + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /Users/snooz/dev/projectm/src/libprojectM, + /Users/snooz/dev/projectm/src/libprojectM/Renderer, + /Users/snooz/dev/projectm/src/libprojectM/NativePresetFactory, + /Users/snooz/dev/projectm/src/libprojectM/MilkdropPresetFactory, + "/Users/snooz/dev/projectm/src/projectM-iTunes/macos/contrib", + "/Users/bobo/dev/projectm/src/projectM-iTunes/macos/contrib", + /Users/bobo/dev/projectm/src/libprojectM/Renderer, + /Users/bobo/dev/projectm/src/libprojectM, + /Users/bobo/dev/projectm/src/libprojectM/NativePresetFactory, + /Users/bobo/dev/projectm/src/libprojectM/MilkdropPresetFactory, + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + USER_HEADER_SEARCH_PATHS = SDL2.framework/Headers; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C3F90673195670BC00C8DF0F /* Build configuration list for PBXProject "emprojectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C3F9067F195670BC00C8DF0F /* Debug */, + C3F90680195670BC00C8DF0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C3F90681195670BC00C8DF0F /* Build configuration list for PBXNativeTarget "emprojectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C3F90682195670BC00C8DF0F /* Debug */, + C3F90683195670BC00C8DF0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C3F90670195670BC00C8DF0F /* Project object */; +} diff --git a/src/projectM-emscripten/emprojectM.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/src/projectM-emscripten/emprojectM.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..a7550c63ca --- /dev/null +++ b/src/projectM-emscripten/emprojectM.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/src/projectM-emscripten/projectM_SDL_emscripten.cpp b/src/projectM-emscripten/projectM_SDL_emscripten.cpp new file mode 100755 index 0000000000..282da62bbb --- /dev/null +++ b/src/projectM-emscripten/projectM_SDL_emscripten.cpp @@ -0,0 +1,228 @@ +/** + * Emscripten port of projectm-SDLvis + * Mischa Spiegelmock, 2014 + * + */ + +#include +#include + +#ifdef __APPLE__ +#include +#include "SDL.h" +#elif EMSCRIPTEN +#include +#include +#include +#endif + +const float FPS = 60; + +typedef struct { + projectM *pm; + SDL_Window *win; + SDL_Renderer *rend; + bool done; + projectM::Settings settings; + SDL_AudioDeviceID audioInputDevice; +} projectMApp; + +projectMApp app; + +int selectAudioInput(projectMApp *app) { + int i, count = SDL_GetNumAudioDevices(0); // param=isCapture (not yet functional) + + if (! count) { + fprintf(stderr, "No audio input capture devices detected\n"); + return 0; + } + + printf("count: %d\n", count); + for (i = 0; i < count; ++i) { + printf("Audio device %d: %s\n", i, SDL_GetAudioDeviceName(i, 0)); + } + + return 1; +} + +void renderFrame() { + int i; + short pcm_data[2][512]; + SDL_Event evt; + + SDL_PollEvent(&evt); + switch (evt.type) { + case SDL_KEYDOWN: + // ... + break; + case SDL_QUIT: + app.done = true; + break; + } + + +// projectMEvent evt; +// projectMKeycode key; +// projectMModifier mod; +// +// /** Process SDL events */ +// SDL_Event event; +// while ( SDL_PollEvent( &event ) ) { +// /** Translate into projectM codes and process */ +// evt = sdl2pmEvent( event ); +// key = sdl2pmKeycode( event.key.keysym.sym ); +// mod = sdl2pmModifier( (SDLMod)event.key.keysym.mod ); +// if ( evt == PROJECTM_KEYDOWN ) { +// pm->key_handler( evt, key, mod ); +// } +// } + + /** Produce some fake PCM data to stuff into projectM */ + for ( i = 0 ; i < 512 ; i++ ) { + if ( i % 2 == 0 ) { + pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + } else { + pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + } + if ( i % 2 == 1 ) { + pcm_data[0][i] = -pcm_data[0][i]; + pcm_data[1][i] = -pcm_data[1][i]; + } + } + + /** Add the waveform data */ + app.pm->pcm()->addPCM16(pcm_data); + + glClearColor( 0.0, 0.5, 0.0, 0.0 ); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + app.pm->renderFrame(); + glFlush(); + + #if SDL_MAJOR_VERSION==2 + SDL_RenderPresent(app.rend); + #elif SDL_MAJOR_VERSION==1 + SDL_GL_SwapBuffers(); + #endif +} + +int main( int argc, char *argv[] ) { + app.done = 0; + + int width = 784, + height = 784; + + + SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO); + + // get an audio input device + if (! selectAudioInput(&app)) { + fprintf(stderr, "Failed to open audio input device\n"); + return 1; + } + + // SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 ); + // SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 ); + // SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 ); + // SDL_GL_SetAttribute( SDL_GL_ACCUM_RED_SIZE, 8 ); + // SDL_GL_SetAttribute( SDL_GL_ACCUM_GREEN_SIZE, 8 ); + // SDL_GL_SetAttribute( SDL_GL_ACCUM_BLUE_SIZE, 8 ); + // SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8 ); + // SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 ); + // SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); + + #if SDL_MAJOR_VERSION==2 + app.win = SDL_CreateWindow("SDL Fun Party Time", 50, 50, width, height, 0); + app.rend = SDL_CreateRenderer(app.win, 0, SDL_RENDERER_ACCELERATED); + if (! app.rend) { + fprintf(stderr, "Failed to create renderer: %s\n", SDL_GetError()); + return PROJECTM_ERROR; + } + SDL_SetWindowTitle(app.win, "SDL Fun Party Time"); + printf("SDL init version 2\n"); + #elif SDL_MAJOR_VERSION==1 + screen = SDL_SetVideoMode(width, height, 32, SDL_OPENGL | SDL_DOUBLEBUF); + printf("SDL init version 1\n"); + if (! screen) { + fprintf(stderr, "Failed to create renderer with SDL_SetVideoMode(): %s\n", SDL_GetError()); + return PROJECTM_ERROR; + } + #endif + + #ifdef PANTS + if ( fsaa ) { + SDL_GL_GetAttribute( SDL_GL_MULTISAMPLEBUFFERS, &value ); + printf( "SDL_GL_MULTISAMPLEBUFFERS: requested 1, got %d\n", value ); + SDL_GL_GetAttribute( SDL_GL_MULTISAMPLESAMPLES, &value ); + printf( "SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa, value ); + } + #endif + + app.settings.meshX = 48; + app.settings.meshY = 32; + app.settings.fps = FPS; + app.settings.textureSize = 2048; // idk? + app.settings.windowWidth = width; + app.settings.windowHeight = height; + app.settings.smoothPresetDuration = 3; // seconds + app.settings.presetDuration = 5; // seconds + app.settings.beatSensitivity = 0.8; + app.settings.aspectCorrection = 1; + app.settings.easterEgg = 0; // ??? + app.settings.shuffleEnabled = 1; + app.settings.softCutRatingsEnabled = 1; // ??? +#ifdef EMSCRIPTEN + app.settings.presetURL = "presets"; +#else + app.settings.presetURL = "presets_tryptonaut"; + app.settings.menuFontURL = "fonts/Vera.ttf"; + app.settings.titleFontURL = "fonts/Vera.ttf"; +#endif + + // init projectM + app.pm = new projectM(app.settings); + printf("init projectM\n"); + app.pm->selectRandom(true); + printf("select random\n"); + app.pm->projectM_resetGL(width, height); + printf("resetGL\n"); + + // Allocate a new a stream given the current directory name + DIR * m_dir; + if ((m_dir = opendir("/")) == NULL) + { + printf("error opening /\n"); + } else { + + struct dirent * dir_entry; + while ((dir_entry = readdir(m_dir)) != NULL) + { + printf("%s\n", dir_entry->d_name); + } + } + + + for(int i = 0; i < app.pm->getPlaylistSize(); i++) { + printf("%d\t%s\n", i, app.pm->getPresetName(i).c_str()); + } + + // mainloop. non-emscripten version here for comparison/testing +#ifdef EMSCRIPTEN + emscripten_set_main_loop(renderFrame, 0, 0); +#else + // standard main loop + const Uint32 frame_delay = 1000/FPS; + Uint32 last_time = SDL_GetTicks(); + while (! app.done) { + renderFrame(&app); + Uint32 elapsed = SDL_GetTicks() - last_time; + if (elapsed < frame_delay) + SDL_Delay(frame_delay - elapsed); + last_time = SDL_GetTicks(); + } +#endif + + return PROJECTM_SUCCESS; +} diff --git a/src/projectM-engine/Algorithms.hpp b/src/projectM-engine/Algorithms.hpp deleted file mode 100644 index 0311bf13e2..0000000000 --- a/src/projectM-engine/Algorithms.hpp +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef PROJECTM_ALGORITHMS_HPP -#define PROJECTM_ALGORITHMS_HPP -#include -/// A collection of algorithms generically written over map style containers -namespace Algorithms -{ - - template - void traverse(Container & container) - { - - TraverseFunctor functor; - - for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) - { - assert(pos->second); - functor(pos->second); - } - - } - - - template - void traverse(Container & container, TraverseFunctor & functor) - { - - for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) - { - assert(pos->second); - functor(pos->second); - } - - } - - namespace TraverseFunctors - { - template - class DeleteFunctor - { - - public: - - void operator() (Data * data) - { - assert(data); - delete(data); - } - - }; - } - - -} -#endif diff --git a/src/projectM-engine/BeatDetect.hpp b/src/projectM-engine/BeatDetect.hpp deleted file mode 100755 index 786f742415..0000000000 --- a/src/projectM-engine/BeatDetect.hpp +++ /dev/null @@ -1,74 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Beat detection class. Takes decompressed sound buffers and returns - * various characteristics - * - * $Log$ - * - */ - -#ifndef _BEAT_DETECT_H -#define _BEAT_DETECT_H - -#include "projectM.hpp" -#include "PCM.hpp" - -class BeatDetect -{ - public: - /** Vars */ - float beat_buffer[32][80], - beat_instant[32], - beat_history[32]; - float beat_val[32], - beat_att[32], - beat_variance[32]; - int beat_buffer_pos; - float vol_buffer[80], - vol_instant, - vol_history; - - float treb ; - float mid ; - float bass ; - float bass_old ; - float beat_sensitivity; - float treb_att ; - float mid_att ; - float bass_att ; - float vol; - - PCM *pcm; - - /** Methods */ - DLLEXPORT BeatDetect(); - DLLEXPORT ~BeatDetect(); - void initBeatDetect(); - void reset(); - void detectFromSamples(); - void getBeatVals ( float *vdataL, float *vdataR ); - -}; - -#endif /** !_BEAT_DETECT_H */ diff --git a/src/projectM-engine/BuiltinFuncs.cpp b/src/projectM-engine/BuiltinFuncs.cpp deleted file mode 100644 index 8668bec3c4..0000000000 --- a/src/projectM-engine/BuiltinFuncs.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// -// C++ Implementation: BuiltinFuncs -// -// Description: -// -// -// Author: Carmelo Piccione , (C) 2007 -// -// Copyright: See COPYING file that comes with this distribution -// -// - -/* Loads all builtin functions */ - - -/* Loads a builtin function */ -#include "BuiltinFuncs.hpp" -#include -#include "Algorithms.hpp" -#include - -using namespace Algorithms; - -std::map BuiltinFuncs::builtin_func_tree; - -int BuiltinFuncs::load_builtin_func(const std::string & name, float (*func_ptr)(float*), int num_args) { - - Func * func; - int retval; - - /* Create new function */ - func = new Func(name, func_ptr, num_args); - - if (func == NULL) - return PROJECTM_OUTOFMEM_ERROR; - - retval = insert_func( func ); - - return retval; - -} - -Func * BuiltinFuncs::find_func(const std::string & name) { - - std::map::iterator pos = builtin_func_tree.find(name); - - // Case: function not found, return null - if (pos == builtin_func_tree.end()) - return 0; - - // Case: function found, return a pointer to it - return pos->second; - -} - -int BuiltinFuncs::load_all_builtin_func() { - - if (load_builtin_func("int", FuncWrappers::int_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("abs", FuncWrappers::abs_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("sin", FuncWrappers::sin_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("cos", FuncWrappers::cos_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("tan", FuncWrappers::tan_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("asin", FuncWrappers::asin_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("acos", FuncWrappers::acos_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("atan", FuncWrappers::atan_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("sqr", FuncWrappers::sqr_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("sqrt", FuncWrappers::sqrt_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("pow", FuncWrappers::pow_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("exp", FuncWrappers::exp_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("log", FuncWrappers::log_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("log10", FuncWrappers::log10_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("sign", FuncWrappers::sign_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("min", FuncWrappers::min_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("max", FuncWrappers::max_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("sigmoid", FuncWrappers::sigmoid_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("atan2", FuncWrappers::atan2_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("rand", FuncWrappers::rand_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("band", FuncWrappers::band_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("bor", FuncWrappers::bor_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("bnot", FuncWrappers::bnot_wrapper, 1) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("if", FuncWrappers::if_wrapper, 3) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("equal", FuncWrappers::equal_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("above", FuncWrappers::above_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("below", FuncWrappers::below_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("nchoosek", FuncWrappers::nchoosek_wrapper, 2) < 0) - return PROJECTM_ERROR; - if (load_builtin_func("fact", FuncWrappers::fact_wrapper, 1) < 0) - return PROJECTM_ERROR; - - return PROJECTM_SUCCESS; -} - - -/* Initialize the builtin function database. - Should only be necessary once */ -int BuiltinFuncs::init_builtin_func_db() { - int retval; - - retval = load_all_builtin_func(); - return retval; -} - - - -/* Destroy the builtin function database. - Generally, do this on projectm exit */ -int BuiltinFuncs::destroy_builtin_func_db() { - -traverse >(builtin_func_tree); - -builtin_func_tree.clear(); - -return PROJECTM_SUCCESS; -} - -/* Insert a function into the database */ -int BuiltinFuncs::insert_func( Func *func ) { - - assert(func); - std::pair::iterator, bool> inserteePair = - builtin_func_tree.insert(std::make_pair(std::string(func->name), func)); - - if (!inserteePair.second) { - std::cerr << "Failed to insert builtin function \"" << func->name << "\" into collection! Bailing..." << std::endl; - abort(); - - } - - return PROJECTM_SUCCESS; -} - - diff --git a/src/projectM-engine/BuiltinParams.cpp b/src/projectM-engine/BuiltinParams.cpp deleted file mode 100644 index 50e1f7e405..0000000000 --- a/src/projectM-engine/BuiltinParams.cpp +++ /dev/null @@ -1,390 +0,0 @@ - - -#include "BuiltinParams.hpp" -#include "projectM.hpp" -#include -#include "Algorithms.hpp" -#include "InitCondUtils.hpp" -#include - -using namespace Algorithms; - -BuiltinParams::BuiltinParams() {} - -BuiltinParams::BuiltinParams(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) -{ - - int ret; - if ((ret = init_builtin_param_db(presetInputs, presetOutputs)) != PROJECTM_SUCCESS) - { - throw ret; - } - -} - -BuiltinParams::~BuiltinParams() -{ - destroy_builtin_param_db(); -} - -/* Loads a float parameter into the builtin database */ -int BuiltinParams::load_builtin_param_float(const std::string & name, void * engine_val, void * matrix, short int flags, - float init_val, float upper_bound, float lower_bound, const std::string & alt_name) -{ - - Param * param = NULL; - CValue iv, ub, lb; - - iv.float_val = init_val; - ub.float_val = upper_bound; - lb.float_val = lower_bound; - - /* Create new parameter of type float */ - if (BUILTIN_PARAMS_DEBUG == 2) - { - printf("load_builtin_param_float: (name \"%s\") (alt_name = \"%s\") ", name.c_str(), alt_name.c_str()); - fflush(stdout); - } - -std::string lowerName(name); -std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); - - if ((param = new Param(lowerName, P_TYPE_DOUBLE, flags, engine_val, matrix, iv, ub, lb)) == NULL) - { - return PROJECTM_OUTOFMEM_ERROR; - } - - if (BUILTIN_PARAMS_DEBUG == 2) - { - printf("created..."); - fflush(stdout); - } - - /* Insert the paremeter into the database */ - - if (insert_builtin_param( param ) < 0) - { - delete param; - return PROJECTM_ERROR; - } - - if (BUILTIN_PARAMS_DEBUG == 2) - { - printf("inserted..."); - fflush(stdout); - } - - /* If this parameter has an alternate name, insert it into the database as link */ - - if (alt_name != "") - { - std::string alt_lower_name(alt_name); - std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); - insert_param_alt_name(param,alt_lower_name); - - if (BUILTIN_PARAMS_DEBUG == 2) - { - printf("alt_name inserted..."); - fflush(stdout); - } - - - } - - if (BUILTIN_PARAMS_DEBUG == 2) printf("finished\n"); - - /* Finished, return success */ - return PROJECTM_SUCCESS; -} - - - -/* Destroy the builtin parameter database. - Generally, do this on projectm exit */ -int BuiltinParams::destroy_builtin_param_db() -{ - - Algorithms::traverse >(builtin_param_tree); - return PROJECTM_SUCCESS; -} - - -/* Insert a parameter into the database with an alternate name */ -int BuiltinParams::insert_param_alt_name(Param * param, const std::string & alt_name) -{ - - assert(param); - - aliasMap.insert(std::make_pair(alt_name, param->name)); - - return PROJECTM_SUCCESS; -} - -Param * BuiltinParams::find_builtin_param(const std::string & name) -{ - - - - AliasMap::iterator pos = aliasMap.find(name); - Param * param = 0; - //std::cerr << "[BuiltinParams] find_builtin_param: name is " << name << std::endl; - if (pos == aliasMap.end()) - { - std::map::iterator builtinPos = builtin_param_tree.find(name); - - if (builtinPos != builtin_param_tree.end()) { - // std::cerr << "[BuiltinParams] find_builtin_param: found it directly." << std::endl; - param = builtinPos->second; - } - } - else - { - - std::map::iterator builtinPos = builtin_param_tree.find(pos->second); - - if (builtinPos != builtin_param_tree.end()) { - //std::cerr << "[BuiltinParams] find_builtin_param: found it indirectly." << std::endl; - param = builtinPos->second; - -} - } - return param; -} - - -/* Loads a integer parameter into the builtin database */ -int BuiltinParams::load_builtin_param_int(const std::string & name, void * engine_val, short int flags, - int init_val, int upper_bound, int lower_bound, const std::string &alt_name) -{ - - Param * param; - CValue iv, ub, lb; - - iv.int_val = init_val; - ub.int_val = upper_bound; - lb.int_val = lower_bound; - -std::string lowerName(name); -std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); - param = new Param(lowerName, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb); - - if (param == NULL) - { - return PROJECTM_OUTOFMEM_ERROR; - } - - if (insert_builtin_param( param ) < 0) - { - delete param; - return PROJECTM_ERROR; - } - - if (alt_name != "") - { - std::string alt_lower_name(alt_name); - std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); - insert_param_alt_name(param,alt_lower_name); - - } - - return PROJECTM_SUCCESS; - -} - -/* Loads a boolean parameter */ -int BuiltinParams::load_builtin_param_bool(const std:: string & name, void * engine_val, short int flags, - int init_val, const std::string &alt_name) -{ - - Param * param; - CValue iv, ub, lb; - - iv.int_val = init_val; - ub.int_val = TRUE; - lb.int_val = false; - -std::string lowerName(name); -std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), tolower); - - param = new Param(lowerName, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb); - - if (param == NULL) - { - return PROJECTM_OUTOFMEM_ERROR; - } - - if (insert_builtin_param(param) < 0) - { - delete param; - return PROJECTM_ERROR; - } - - if (alt_name != "") - { - std::string alt_lower_name(alt_name); - std::transform(alt_lower_name.begin(), alt_lower_name.end(), alt_lower_name.begin(), tolower); - insert_param_alt_name(param,alt_lower_name); - } - - return PROJECTM_SUCCESS; - -} - -/* Inserts a parameter into the builtin database */ -int BuiltinParams::insert_builtin_param( Param *param ) -{ - std::pair::iterator, bool> inserteePos = builtin_param_tree.insert(std::make_pair(param->name, param)); - - return inserteePos.second; -} - - - -/* Initialize the builtin parameter database. - Should only be necessary once */ -int BuiltinParams::init_builtin_param_db(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) -{ - - if (BUILTIN_PARAMS_DEBUG) - { - printf("init_builtin_param: loading database..."); - fflush(stdout); - } - - /* Loads all builtin parameters into the database */ - if (load_all_builtin_param(presetInputs, presetOutputs) < 0) - { - if (BUILTIN_PARAMS_DEBUG) printf("failed loading builtin parameters (FATAL)\n"); - return PROJECTM_ERROR; - } - - if (BUILTIN_PARAMS_DEBUG) printf("success!\n"); - - /* Finished, no errors */ - return PROJECTM_SUCCESS; -} - - - -/* Loads all builtin parameters, limits are also defined here */ -int BuiltinParams::load_all_builtin_param(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) -{ - - load_builtin_param_float("frating", (void*)&presetOutputs.fRating, NULL, P_FLAG_NONE, 0.0 , 5.0, 0.0, ""); - load_builtin_param_float("fwavescale", (void*)&presetOutputs.fWaveScale, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("gamma", (void*)&presetOutputs.fGammaAdj, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fGammaAdj"); - load_builtin_param_float("echo_zoom", (void*)&presetOutputs.fVideoEchoZoom, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fVideoEchoZoom"); - load_builtin_param_float("echo_alpha", (void*)&presetOutputs.fVideoEchoAlpha, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fvideoechoalpha"); - load_builtin_param_float("wave_a", (void*)&presetOutputs.fWaveAlpha, NULL, P_FLAG_NONE, 0.0, 1.0, 0, "fwavealpha"); - load_builtin_param_float("fwavesmoothing", (void*)&presetOutputs.fWaveSmoothing, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("fmodwavealphastart", (void*)&presetOutputs.fModWaveAlphaStart, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("fmodwavealphaend", (void*)&presetOutputs.fModWaveAlphaEnd, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("fWarpAnimSpeed", (void*)&presetOutputs.fWarpAnimSpeed, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("fWarpScale", (void*)&presetOutputs.fWarpScale, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - // load_builtin_param_float("warp", (void*)&presetOutputs.warp, warp_mesh, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, ""); - - load_builtin_param_float("fshader", (void*)&presetOutputs.fShader, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("decay", (void*)&presetOutputs.decay, NULL, P_FLAG_NONE, 0.0, 1.0, 0, "fdecay"); - - load_builtin_param_int("echo_orient", (void*)&presetOutputs.nVideoEchoOrientation, P_FLAG_NONE, 0, 3, 0, "nVideoEchoOrientation"); - load_builtin_param_int("wave_mode", (void*)&presetOutputs.nWaveMode, P_FLAG_NONE, 0, 7, 0, "nwavemode"); - - load_builtin_param_bool("wave_additive", (void*)&presetOutputs.bAdditiveWaves, P_FLAG_NONE, false, "bAdditiveWaves"); - load_builtin_param_bool("bmodwavealphabyvolume", (void*)&presetOutputs.bModWaveAlphaByVolume, P_FLAG_NONE, false, ""); - load_builtin_param_bool("wave_brighten", (void*)&presetOutputs.bMaximizeWaveColor, P_FLAG_NONE, false, "bMaximizeWaveColor"); - load_builtin_param_bool("wrap", (void*)&presetOutputs.bTexWrap, P_FLAG_NONE, false, "btexwrap"); - load_builtin_param_bool("darken_center", (void*)&presetOutputs.bDarkenCenter, P_FLAG_NONE, false, "bdarkencenter"); - load_builtin_param_bool("bredbluestereo", (void*)&presetOutputs.bRedBlueStereo, P_FLAG_NONE, false, ""); - load_builtin_param_bool("brighten", (void*)&presetOutputs.bBrighten, P_FLAG_NONE, false, "bbrighten"); - load_builtin_param_bool("darken", (void*)&presetOutputs.bDarken, P_FLAG_NONE, false, "bdarken"); - load_builtin_param_bool("solarize", (void*)&presetOutputs.bSolarize, P_FLAG_NONE, false, "bsolarize"); - load_builtin_param_bool("invert", (void*)&presetOutputs.bInvert, P_FLAG_NONE, false, "binvert"); - load_builtin_param_bool("bmotionvectorson", (void*)&presetOutputs.bMotionVectorsOn, P_FLAG_NONE, false, ""); - load_builtin_param_bool("wave_dots", (void*)&presetOutputs.bWaveDots, P_FLAG_NONE, false, "bwavedots"); - load_builtin_param_bool("wave_thick", (void*)&presetOutputs.bWaveThick, P_FLAG_NONE, false, "bwavethick"); - load_builtin_param_float("warp", (void*)&presetOutputs.warp, presetOutputs.warp_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("zoom", (void*)&presetOutputs.zoom, presetOutputs.zoom_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("rot", (void*)&presetOutputs.rot, presetOutputs.rot_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - /// @note added huge bug fix here potentially by prevening zoomexp_mesh from being freed when presets dealloc - load_builtin_param_float("zoomexp", (void*)&presetOutputs.zoomexp, presetOutputs.zoomexp_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE , 0.0, MAX_DOUBLE_SIZE, 0, "fzoomexponent"); - - load_builtin_param_float("cx", (void*)&presetOutputs.cx, presetOutputs.cx_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("cy", (void*)&presetOutputs.cy, presetOutputs.cy_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("dx", (void*)&presetOutputs.dx, presetOutputs.dx_mesh, P_FLAG_PER_PIXEL | P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("dy", (void*)&presetOutputs.dy, presetOutputs.dy_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("sx", (void*)&presetOutputs.sx, presetOutputs.sx_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - load_builtin_param_float("sy", (void*)&presetOutputs.sy, presetOutputs.sy_mesh, P_FLAG_PER_PIXEL |P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); - - load_builtin_param_float("wave_r", (void*)&presetOutputs.wave_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("wave_g", (void*)&presetOutputs.wave_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("wave_b", (void*)&presetOutputs.wave_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("wave_x", (void*)&presetOutputs.wave_x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("wave_y", (void*)&presetOutputs.wave_y, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("wave_mystery", (void*)&presetOutputs.wave_mystery, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, "fWaveParam"); - - load_builtin_param_float("ob_size", (void*)&presetOutputs.ob_size, NULL, P_FLAG_NONE, 0.0, 0.5, 0, ""); - load_builtin_param_float("ob_r", (void*)&presetOutputs.ob_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ob_g", (void*)&presetOutputs.ob_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ob_b", (void*)&presetOutputs.ob_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ob_a", (void*)&presetOutputs.ob_a, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - - load_builtin_param_float("ib_size", (void*)&presetOutputs.ib_size, NULL,P_FLAG_NONE, 0.0, .5, 0.0, ""); - load_builtin_param_float("ib_r", (void*)&presetOutputs.ib_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ib_g", (void*)&presetOutputs.ib_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ib_b", (void*)&presetOutputs.ib_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ib_a", (void*)&presetOutputs.ib_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - - load_builtin_param_float("mv_r", (void*)&presetOutputs.mv_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("mv_g", (void*)&presetOutputs.mv_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("mv_b", (void*)&presetOutputs.mv_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("mv_x", (void*)&presetOutputs.mv_x, NULL,P_FLAG_NONE, 0.0, 64.0, 0.0, "nmotionvectorsx"); - load_builtin_param_float("mv_y", (void*)&presetOutputs.mv_y, NULL,P_FLAG_NONE, 0.0, 48.0, 0.0, "nmotionvectorsy"); - load_builtin_param_float("mv_l", (void*)&presetOutputs.mv_l, NULL,P_FLAG_NONE, 0.0, 5.0, 0.0, ""); - load_builtin_param_float("mv_dy", (void*)&presetOutputs.mv_dy, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("mv_dx", (void*)&presetOutputs.mv_dx, NULL,P_FLAG_NONE, 0.0, 1.0, -1.0, ""); - load_builtin_param_float("mv_a", (void*)&presetOutputs.mv_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - - load_builtin_param_float("time", (void*)&presetInputs.time, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); - load_builtin_param_float("bass", (void*)&presetInputs.bass, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); - load_builtin_param_float("mid", (void*)&presetInputs.mid, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - - load_builtin_param_float("treb", (void*)&presetInputs.treb, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - - - load_builtin_param_float("mood_r", (void*)&presetInputs.mood_r, NULL,P_FLAG_READONLY, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("mood_g", (void*)&presetInputs.mood_g, NULL,P_FLAG_READONLY, 0.0, 1.0, 0, ""); - load_builtin_param_float("mood_b", (void*)&presetInputs.mood_b, NULL,P_FLAG_READONLY, 0.0, 1.0, 0, ""); - - load_builtin_param_float("bass_att", (void*)&presetInputs.bass_att, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("mid_att", (void*)&presetInputs.mid_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("treb_att", (void*)&presetInputs.treb_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_int("frame", (void*)&presetInputs.frame, P_FLAG_READONLY, 0, MAX_INT_SIZE, 0, ""); - load_builtin_param_float("progress", (void*)&presetInputs.progress, NULL,P_FLAG_READONLY, 0.0, 1, 0, ""); - load_builtin_param_int("fps", (void*)&presetInputs.fps, P_FLAG_READONLY, 15, MAX_INT_SIZE, 0, ""); - - load_builtin_param_float("x", (void*)&presetInputs.x_per_pixel, presetInputs.x_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("y", (void*)&presetInputs.y_per_pixel, presetInputs.y_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX |P_FLAG_READONLY | P_FLAG_NONE, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("ang", (void*)&presetInputs.ang_per_pixel, presetInputs.theta_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("rad", (void*)&presetInputs.rad_per_pixel, presetInputs.rad_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - - load_builtin_param_float("q1", (void*)&presetOutputs.q1, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q2", (void*)&presetOutputs.q2, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q3", (void*)&presetOutputs.q3, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q4", (void*)&presetOutputs.q4, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q5", (void*)&presetOutputs.q5, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q6", (void*)&presetOutputs.q6, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q7", (void*)&presetOutputs.q7, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q8", (void*)&presetOutputs.q8, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - - /* variables added in 1.04 */ - load_builtin_param_int("meshx", (void*)&presetInputs.gx, P_FLAG_READONLY, 32, 96, 8, ""); - load_builtin_param_int("meshy", (void*)&presetInputs.gy, P_FLAG_READONLY, 24, 72, 6, ""); - - return PROJECTM_SUCCESS; - -} - diff --git a/src/projectM-engine/CMakeLists.txt b/src/projectM-engine/CMakeLists.txt deleted file mode 100644 index ac847adfda..0000000000 --- a/src/projectM-engine/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -PROJECT(projectM) -ADD_LIBRARY(projectM SHARED projectM.cpp projectM.hpp PBuffer.cpp PBuffer.hpp InitCond.cpp InitCond.hpp - Expr.cpp PCM.cpp Parser.cpp Preset.cpp Common.hpp BeatDetect.cpp PCM.hpp PerPixelEqn.cpp Eval.hpp -Param.cpp CustomWave.cpp CustomShape.hpp CustomShape.cpp Param.hpp CustomWave.hpp BeatDetect.hpp console_interface.h -Func.hpp Func.cpp Eval.cpp wipemalloc.h PerFrameEqn.cpp PerPointEqn.cpp fftsg.cpp console_interface.cpp -CValue.hpp Expr.hpp timer.cpp wipemalloc.cpp PerFrameEqn.hpp PerPixelEqn.hpp PerPointEqn.hpp BuiltinFuncs.hpp -BuiltinFuncs.cpp compare.h event.h fatal.h fftsg.h timer.h BuiltinParams.hpp BuiltinParams.cpp Preset.hpp Renderer.cpp Renderer.hpp ParamUtils.hpp -PresetLoader.cpp PresetLoader.hpp PresetChooser.hpp PresetChooser.cpp PresetFrameIO.cpp PresetFrameIO.hpp PresetMerge.cpp PresetMerge.hpp -ConfigFile.h ConfigFile.cpp IdlePreset.hpp IdlePreset.cpp bmpLoader.h bmpLoader.c pcxLoader.c pcxLoader.h texture.cpp texture.h tgaLoader.c -tgaLoader.h TextureManager.cpp TextureManager.hpp MoodBar.hpp MoodBar.cpp) - -OPTION(USE_FTGL "Use FTGL for on-screen fonts" ON) - -ADD_DEFINITIONS(-DLINUX -DUSE_FBO) - -FIND_PACKAGE(OpenGL) - -INCLUDE(FindPkgConfig.cmake) - -TARGET_LINK_LIBRARIES(projectM GLEW m) - -IF(USE_FTGL) - pkg_search_module (FTGL ftgl) - ADD_DEFINITIONS(-DUSE_FTGL) - INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIRS}) - LINK_DIRECTORIES(${FTGL_LIBRARY_DIRS} "./") - TARGET_LINK_LIBRARIES(projectM GLEW m ftgl) -ENDIF(USE_FTGL) - -CONFIGURE_FILE("libprojectM.pc.in" "libprojectM.pc" @ONLY) -CONFIGURE_FILE("config.inp.in" "config.inp" @ONLY) - -FILE(GLOB presets "presets/*.milk") -INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/presets) -FILE(GLOB fonts "fonts/*.ttf") -INSTALL(FILES ${fonts} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/fonts) -INSTALL(FILES "${CMAKE_BINARY_DIR}/libprojectM.pc" DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) -INSTALL(FILES config.inp DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM) -INSTALL(FILES projectM.hpp PBuffer.hpp PCM.hpp BeatDetect.hpp Preset.hpp event.h console_interface.h dlldefs.h fatal.h PresetFrameIO.hpp PCM.hpp Renderer.hpp PresetChooser.hpp DESTINATION include/libprojectM) -INSTALL(TARGETS projectM DESTINATION lib) diff --git a/src/projectM-engine/Common.hpp b/src/projectM-engine/Common.hpp deleted file mode 100755 index 6d6776acd0..0000000000 --- a/src/projectM-engine/Common.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * $Log$ - */ - -#ifndef COMMON_H -#define COMMON_H - -#include - -#ifdef _MSC_VER -# define strcasecmp(s, t) _strcmpi(s, t) -#endif - -#ifdef DEBUG -extern FILE *debugFile; -#endif - -#ifdef MACOS -#include -extern FILE *fmemopen(void *buf, size_t len, const char *pMode); -#endif /** MACOS */ - -#include "dlldefs.h" - -#define DEFAULT_FONT_PATH "/home/carm/fonts/courier1.glf" -#define MAX_TOKEN_SIZE 512 -#define MAX_PATH_SIZE 4096 - -#define STRING_BUFFER_SIZE 1024*150 -#define STRING_LINE_SIZE 1024 - -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef FALSE -#define FALSE 0 -#endif - - -#define MAX_DOUBLE_SIZE 10000000.0 -#define MIN_DOUBLE_SIZE -10000000.0 - -#define MAX_INT_SIZE 10000000 -#define MIN_INT_SIZE -10000000 - -/* default float initial value */ -#define DEFAULT_DOUBLE_IV 0.0 - -/* default float lower bound */ -#define DEFAULT_DOUBLE_LB MIN_DOUBLE_SIZE - -/* default float upper bound */ -#define DEFAULT_DOUBLE_UB MAX_DOUBLE_SIZE - -#ifdef WIN32 -#include -#define isnan _isnan#endif /** WIN32 */ -#endif /** WIN32 */ - -inline void DWRITE( char *fmt, ... ) { - return; - va_list args; - va_start( args, fmt ); - va_end( args ); - } - -#endif diff --git a/src/projectM-engine/CustomShape.cpp b/src/projectM-engine/CustomShape.cpp deleted file mode 100755 index 78850bfb9a..0000000000 --- a/src/projectM-engine/CustomShape.cpp +++ /dev/null @@ -1,289 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed i the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include - -#include "Common.hpp" -#include "fatal.h" - -#include "CustomShape.hpp" -#include "Eval.hpp" -#include "Expr.hpp" -#include "InitCond.hpp" -#include "Param.hpp" -#include "PerFrameEqn.hpp" -#include "Preset.hpp" -#include -#include "ParamUtils.hpp" -#include "InitCondUtils.hpp" -#include "wipemalloc.h" -#include "Algorithms.hpp" - - -using namespace Algorithms; - - -CustomShape::CustomShape ( int id ) : imageUrl("") -{ - - Param * param; - - this->id = id; - this->per_frame_count = 0; - this->per_frame_eqn_string_index = 0; - this->per_frame_init_eqn_string_index = 0; - - /* Start: Load custom shape parameters */ - param = Param::new_param_float ( "r", P_FLAG_NONE, &this->r, NULL, 1.0, 0.0, 0.5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "g", P_FLAG_NONE, &this->g, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "b", P_FLAG_NONE, &this->b, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "a", P_FLAG_NONE, &this->a, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "border_r", P_FLAG_NONE, &this->border_r, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "border_g", P_FLAG_NONE, &this->border_g, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "border_b", P_FLAG_NONE, &this->border_b, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "border_a", P_FLAG_NONE, &this->border_a, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "r2", P_FLAG_NONE, &this->r2, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "g2", P_FLAG_NONE, &this->g2, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "b2", P_FLAG_NONE, &this->b2, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "a2", P_FLAG_NONE, &this->a2, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "x", P_FLAG_NONE, &this->x, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "y", P_FLAG_NONE, &this->y, NULL, 1.0, 0.0, .5 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_bool ( "thickoutline", P_FLAG_NONE, &this->thickOutline, 1, 0, 0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_bool ( "enabled", P_FLAG_NONE, &this->enabled, 1, 0, 0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_int ( "sides", P_FLAG_NONE, &this->sides, 100, 3, 3 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_bool ( "additive", P_FLAG_NONE, &this->additive, 1, 0, 0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_bool ( "textured", P_FLAG_NONE, &this->textured, 1, 0, 0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "rad", P_FLAG_NONE, &this->radius, NULL, MAX_DOUBLE_SIZE, 0, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "ang", P_FLAG_NONE, &this->ang, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "tex_zoom", P_FLAG_NONE, &this->tex_zoom, NULL, MAX_DOUBLE_SIZE, .00000000001, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "tex_ang", P_FLAG_NONE, &this->tex_ang, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - - param = Param::new_param_float ( "t1", P_FLAG_TVAR, &this->t1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t2", P_FLAG_TVAR, &this->t2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t3", P_FLAG_TVAR, &this->t3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t4", P_FLAG_TVAR, &this->t4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t5", P_FLAG_TVAR, &this->t5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t6", P_FLAG_TVAR, &this->t6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t7", P_FLAG_TVAR, &this->t7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "t8", P_FLAG_TVAR, &this->t8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - - param = Param::new_param_float ( "q1", P_FLAG_QVAR, &this->q1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q2", P_FLAG_QVAR, &this->q2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q3", P_FLAG_QVAR, &this->q3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q4", P_FLAG_QVAR, &this->q4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q5", P_FLAG_QVAR, &this->q5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q6", P_FLAG_QVAR, &this->q6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q7", P_FLAG_QVAR, &this->q7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q8", P_FLAG_QVAR, &this->q8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - - param = Param::new_param_string ( "imageurl", P_FLAG_NONE, &this->imageUrl); - if ( ParamUtils::insert ( param, &this->text_properties_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - -} - -/* Frees a custom shape form object */ -CustomShape::~CustomShape() -{ - - traverse > ( per_frame_eqn_tree ); - traverse > ( init_cond_tree ); - traverse > ( param_tree ); - traverse > ( per_frame_init_eqn_tree ); - -} - -void CustomShape::loadUnspecInitConds() -{ - - // NOTE: This is verified to be same behavior as trunk - - InitCondUtils::LoadUnspecInitCond fun ( this->init_cond_tree, this->per_frame_init_eqn_tree ); - traverse ( param_tree, fun ); -} - -void CustomShape::evalInitConds() -{ - - // NOTE: This is verified to be same behavior as trunk - for ( std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end();++pos ) - pos->second->evaluate(); -} diff --git a/src/projectM-engine/CustomShape.hpp b/src/projectM-engine/CustomShape.hpp deleted file mode 100755 index faad4238fb..0000000000 --- a/src/projectM-engine/CustomShape.hpp +++ /dev/null @@ -1,139 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Encapsulation of a custom shape - * - * $Log$ - */ - -#ifndef _CUSTOM_SHAPE_H -#define _CUSTOM_SHAPE_H - -#define CUSTOM_SHAPE_DEBUG 0 -#include -#include "Param.hpp" -#include "PerFrameEqn.hpp" -#include "InitCond.hpp" - -class Preset; - - -class CustomShape { -public: - /* Numerical id */ - int id; - int per_frame_count; - - /* Parameter tree associated with this custom shape */ - std::map param_tree; - - /* Engine variables */ - int sides; - bool thickOutline; - bool enabled; - bool additive; - bool textured; - - float tex_zoom; - float tex_ang; - - float x; /* x position for per point equations */ - float y; /* y position for per point equations */ - float radius; - float ang; - - float r; /* red color value */ - float g; /* green color value */ - float b; /* blue color value */ - float a; /* alpha color value */ - - float r2; /* red color value */ - float g2; /* green color value */ - float b2; /* blue color value */ - float a2; /* alpha color value */ - - float border_r; /* red color value */ - float border_g; /* green color value */ - float border_b; /* blue color value */ - float border_a; /* alpha color value */ - - /* stupid t variables */ - float t1; - float t2; - float t3; - float t4; - float t5; - float t6; - float t7; - float t8; - - /* stupider q variables */ - float q1; - float q2; - float q3; - float q4; - float q5; - float q6; - float q7; - float q8; - - // projectM exclusive parameter to load textures over a shape - std::string imageUrl; - - /// Returns any image url (usually used for texture maps) associated with the custom shape - /// Will return empty string if none is set - inline const std::string & getImageUrl() const { - return imageUrl; - } - - /* Data structure to hold per frame / per frame init equations */ - - std::map init_cond_tree; - std::map per_frame_eqn_tree; - std::map per_frame_init_eqn_tree; - std::map text_properties_tree; - - /* Denotes the index of the last character for each stdring buffer */ - int per_frame_eqn_string_index; - int per_frame_init_eqn_string_index; - - - - /* String buffers for per frame / per frame init equations */ - char per_frame_eqn_string_buffer[STRING_BUFFER_SIZE]; - char per_frame_init_eqn_string_buffer[STRING_BUFFER_SIZE]; - - /* Per point equation array */ - CustomShape( int id ); - ~CustomShape(); - - /** Checks all internal trees are built correctly */ - int checkTrees(); - - void loadUnspecInitConds(); - void evalInitConds(); - }; - - -#endif /** !_CUSTOM_SHAPE_H */ - diff --git a/src/projectM-engine/CustomWave.cpp b/src/projectM-engine/CustomWave.cpp deleted file mode 100755 index 00ba8f6ebe..0000000000 --- a/src/projectM-engine/CustomWave.cpp +++ /dev/null @@ -1,606 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include - -#include "projectM.hpp" - -#include "Common.hpp" -#include "fatal.h" - -#include "CustomWave.hpp" -#include "Eval.hpp" -#include "Expr.hpp" -#include "InitCond.hpp" -#include "Param.hpp" -#include "PerFrameEqn.hpp" -#include "PerPointEqn.hpp" -#include "Preset.hpp" -#include -#include "ParamUtils.hpp" -#include "InitCondUtils.hpp" -#include "wipemalloc.h" -#define MAX_SAMPLE_SIZE 4096 - - -CustomWave::CustomWave(int _id): - id(_id), - per_frame_count(0), - r(0), - g(0), - b(0), - a(0), - samples(512), - bSpectrum(0), - bUseDots(0), - bAdditive(0), - - scaling(1.0), - smoothing(0.0), - - per_point_eqn_string_index(0), - per_frame_eqn_string_index(0), - per_frame_init_eqn_string_index(0) - -{ - - Param * param; - - /// @bug deprecate the use of wipemalloc - this->r_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->g_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->b_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->a_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->x_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->y_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->value1 = (float*) wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->value2 = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - this->sample_mesh = (float*)wipemalloc(MAX_SAMPLE_SIZE*sizeof(float)); - - /* Start: Load custom wave parameters */ - - if ((param = Param::new_param_float("r", P_FLAG_NONE | P_FLAG_PER_POINT, &this->r, this->r_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, ¶m_tree) < 0) - { - /// @bug make exception - abort(); - } - - if ((param = Param::new_param_float("g", P_FLAG_NONE | P_FLAG_PER_POINT, &this->g, this->g_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, ¶m_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - } - - if ((param = Param::new_param_float("b", P_FLAG_NONE | P_FLAG_PER_POINT, &this->b, this->b_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - } - - if ((param = Param::new_param_float("a", P_FLAG_NONE | P_FLAG_PER_POINT, &this->a, this->a_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - } - - if ((param = Param::new_param_float("x", P_FLAG_NONE | P_FLAG_PER_POINT, &this->x, this->x_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - } - - if ((param = Param::new_param_float("y", P_FLAG_NONE | P_FLAG_PER_POINT, &this->y, this->y_mesh, 1.0, 0.0, .5)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - - /// @bug make exception - abort(); - - } - - if ((param = Param::new_param_bool("enabled", P_FLAG_NONE, &this->enabled, 1, 0, 0)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - - - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - - /// @bug make exception - abort(); - - } - - if ((param = Param::new_param_int("sep", P_FLAG_NONE, &this->sep, 100, -100, 0)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - - - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - - - } - - if ((param = Param::new_param_bool("bspectrum", P_FLAG_NONE, &this->bSpectrum, 1, 0, 0)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - - - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - - } - - if ((param = Param::new_param_bool("bdrawthick", P_FLAG_NONE, &this->bDrawThick, 1, 0, 0)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - - - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - /// @bug make exception - abort(); - - } - - if ((param = Param::new_param_bool("busedots", P_FLAG_NONE, &this->bUseDots, 1, 0, 0)) == NULL) - { - delete(this); - /// @bug make exception - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_bool("badditive", P_FLAG_NONE, &this->bAdditive, 1, 0, 0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_int("samples", P_FLAG_NONE, &this->samples, 2048, 1, 512)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("sample", P_FLAG_READONLY | P_FLAG_NONE | P_FLAG_ALWAYS_MATRIX | P_FLAG_PER_POINT, - &this->sample, this->sample_mesh, 1.0, 0.0, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - printf("failed to insert sample\n"); - delete(this); - abort(); - } - - if ((param = Param::new_param_float("value1", P_FLAG_READONLY | P_FLAG_NONE | P_FLAG_ALWAYS_MATRIX | P_FLAG_PER_POINT, &this->v1, this->value1, 1.0, -1.0, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("value2", P_FLAG_READONLY | P_FLAG_NONE | P_FLAG_ALWAYS_MATRIX | P_FLAG_PER_POINT, &this->v2, this->value2, 1.0, -1.0, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("smoothing", P_FLAG_NONE, &this->smoothing, NULL, 1.0, 0.0, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("scaling", P_FLAG_NONE, &this->scaling, NULL, MAX_DOUBLE_SIZE, 0.0, 1.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("t1", P_FLAG_PER_POINT | P_FLAG_TVAR, &this->t1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("t2", P_FLAG_PER_POINT |P_FLAG_TVAR, &this->t2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("t3", P_FLAG_PER_POINT |P_FLAG_TVAR, &this->t3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - if ((param = Param::new_param_float("t4", P_FLAG_PER_POINT |P_FLAG_TVAR, &this->t4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - if ((param = Param::new_param_float("t5", P_FLAG_TVAR, &this->t5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - if ((param = Param::new_param_float("t6", P_FLAG_TVAR | P_FLAG_PER_POINT, &this->t6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - if ((param = Param::new_param_float("t7", P_FLAG_TVAR | P_FLAG_PER_POINT, &this->t7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - if ((param = Param::new_param_float("t8", P_FLAG_TVAR | P_FLAG_PER_POINT, &this->t8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0)) == NULL) - { - delete(this); - abort(); - } - - if (ParamUtils::insert(param, &this->param_tree) < 0) - { - delete(this); - abort(); - } - - - param = Param::new_param_float ( "q1", P_FLAG_QVAR, &this->q1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q2", P_FLAG_QVAR, &this->q2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q3", P_FLAG_QVAR, &this->q3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q4", P_FLAG_QVAR, &this->q4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q5", P_FLAG_QVAR, &this->q5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q6", P_FLAG_QVAR, &this->q6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q7", P_FLAG_QVAR, &this->q7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - param = Param::new_param_float ( "q8", P_FLAG_QVAR, &this->q8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - DWRITE ( "%s\n", "failed to insert param!" ); - } - /* End of parameter loading. Note that the read only parameters associated - with custom waves (ie, sample) are variables stored in PresetFrameIO.hpp, - and not specific to the custom wave datastructure. */ - -} - -CustomWave::~CustomWave() -{ - - - for (std::map::iterator pos = per_point_eqn_tree.begin(); pos != per_point_eqn_tree.end(); ++pos) - delete(pos->second); - - for (std::map::iterator pos = per_frame_eqn_tree.begin(); pos != per_frame_eqn_tree.end(); ++pos) - delete(pos->second); - - for (std::map::iterator pos = init_cond_tree.begin(); pos != init_cond_tree.end(); ++pos) - delete(pos->second); - - for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) - delete(pos->second); - - for (std::map::iterator pos = param_tree.begin(); pos != param_tree.end(); ++pos) - delete(pos->second); - - free(r_mesh); - free(g_mesh); - free(b_mesh); - free(a_mesh); - free(x_mesh); - free(y_mesh); - free(value1); - free(value2); - free(sample_mesh); - -} - - - - -// Comments: index is not passed, so we assume monotonic increment by 1 is ok here -int CustomWave::add_per_point_eqn(char * name, GenExpr * gen_expr) -{ - - PerPointEqn * per_point_eqn; - int index; - Param * param = NULL; - - /* Argument checks */ - if (gen_expr == NULL) - return PROJECTM_FAILURE; - if (name == NULL) - return PROJECTM_FAILURE; - - if (CUSTOM_WAVE_DEBUG) printf("add_per_point_eqn: per pixel equation (name = \"%s\")\n", name); - - /* Search for the parameter so we know what matrix the per pixel equation is referencing */ - - if ((param = ParamUtils::find(name,¶m_tree)) == NULL) - { - if (CUSTOM_WAVE_DEBUG) printf("add_per_point_eqn: failed to allocate a new parameter!\n"); - return PROJECTM_FAILURE; - - } - - /* Get largest index in the tree */ - index = per_point_eqn_tree.size(); - - /* Create the per point equation given the index, parameter, and general expression */ - if ((per_point_eqn = new PerPointEqn(index, param, gen_expr, samples)) == NULL) - return PROJECTM_FAILURE; - if (CUSTOM_WAVE_DEBUG) - printf("add_per_point_eqn: created new equation (index = %d) (name = \"%s\")\n", per_point_eqn->index, per_point_eqn->param->name.c_str()); - - /* Insert the per pixel equation into the preset per pixel database */ - - per_point_eqn_tree.insert(std::make_pair(per_point_eqn->index, per_point_eqn)); - - /* Done */ - return PROJECTM_SUCCESS; -} - - -void CustomWave::evalInitConds() -{ - - for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) - { - assert(pos->second); - pos->second->evaluate(); - } - -} - -/** Evaluate per-point equations */ -void CustomWave::evalPerPointEqns() -{ - - - - assert(samples > 0); - assert(r_mesh); - assert(g_mesh); - assert(b_mesh); - assert(a_mesh); - assert(x_mesh); - assert(y_mesh); - - int k; - for (k = 0; k < samples; k++) - r_mesh[k] = r; - for (k = 0; k < samples; k++) - g_mesh[k] = g; - for (k = 0; k < samples; k++) - b_mesh[k] = b; - for (k = 0; k < samples; k++) - a_mesh[k] = a; - for (k = 0; k < samples; k++) - x_mesh[k] = x; - for (k = 0; k < samples; k++) - y_mesh[k] = y; - - /* Evaluate per pixel equations */ -for (k = 0; k < samples;k++) - for (std::map::iterator pos = per_point_eqn_tree.begin(); pos != per_point_eqn_tree.end();++pos) { - pos->second->evaluate(k); - } - -} - -void CustomWave::loadUnspecInitConds() -{ - - InitCondUtils::LoadUnspecInitCond fun(this->init_cond_tree, this->per_frame_init_eqn_tree); - Algorithms::traverse(param_tree, fun); -} - diff --git a/src/projectM-engine/CustomWave.hpp b/src/projectM-engine/CustomWave.hpp deleted file mode 100755 index dcf100be6d..0000000000 --- a/src/projectM-engine/CustomWave.hpp +++ /dev/null @@ -1,150 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Encapsulation of a custom wave - * - * $Log$ - */ - -#ifndef _CUSTOM_WAVE_H -#define _CUSTOM_WAVE_H - -#define CUSTOM_WAVE_DEBUG 0 - -#define X_POINT_OP 0 -#define Y_POINT_OP 1 -#define R_POINT_OP 2 -#define G_POINT_OP 3 -#define B_POINT_OP 4 -#define A_POINT_OP 5 -#define NUM_POINT_OPS 6 - -class CustomWave; -class GenExpr; -class PerPointEqn; -class Preset; - -#include "Common.hpp" -#include "Param.hpp" -#include "PerFrameEqn.hpp" - -#include - -class CustomWave { -public: - - /** Empty constructor leaves wave in undefined state **/ - CustomWave() {} - - /** Initializes a custom wave id given the integer id */ - CustomWave(int id); - - /** Destructor is necessary so we can free the per point matrices **/ - ~CustomWave(); - - /* Numerical id */ - int id; - int per_frame_count; - - /* Parameter tree associated with this custom wave */ - std::map param_tree; - - /* Engine variables */ - float x; /* x position for per point equations */ - float y; /* y position for per point equations */ - float r; /* red color value */ - float g; /* green color value */ - float b; /* blue color value */ - float a; /* alpha color value */ - float * x_mesh; - float * y_mesh; - float * r_mesh; - float * b_mesh; - float * g_mesh; - float * a_mesh; - float * value1; - float * value2; - float * sample_mesh; - - bool enabled; /* if nonzero then wave is visible, hidden otherwise */ - int samples; /* number of samples associated with this wave form. Usually powers of 2 */ - float sample; - bool bSpectrum; /* spectrum data or pcm data */ - bool bUseDots; /* draw wave as dots or lines */ - bool bDrawThick; /* draw thicker lines */ - bool bAdditive; /* add color values together */ - - float scaling; /* scale factor of waveform */ - float smoothing; /* smooth factor of waveform */ - int sep; /* no idea what this is yet... */ - - /* stupid t variables */ - float t1; - float t2; - float t3; - float t4; - float t5; - float t6; - float t7; - float t8; - - - /* stupider q variables */ - float q1; - float q2; - float q3; - float q4; - float q5; - float q6; - float q7; - float q8; - - float v1,v2; - - /* Data structures to hold per frame and per point equations */ - std::map init_cond_tree; - std::map per_frame_eqn_tree; - std::map per_point_eqn_tree; - std::map per_frame_init_eqn_tree; - - /* Denotes the index of the last character for each string buffer */ - int per_point_eqn_string_index; - int per_frame_eqn_string_index; - int per_frame_init_eqn_string_index; - - /* String buffers for per point and per frame equations */ - char per_point_eqn_string_buffer[STRING_BUFFER_SIZE]; - char per_frame_eqn_string_buffer[STRING_BUFFER_SIZE]; - char per_frame_init_eqn_string_buffer[STRING_BUFFER_SIZE]; - - int add_per_point_eqn(char * name, GenExpr * gen_expr); - void evalCustomWaveInitConditions(Preset *preset); - void evalPerPointEqns(); - - void loadUnspecInitConds(); - - void evalInitConds(); - -}; - -#endif /** !_CUSTOM_WAVE_H */ diff --git a/src/projectM-engine/Eval.hpp b/src/projectM-engine/Eval.hpp deleted file mode 100755 index bdf0113f1a..0000000000 --- a/src/projectM-engine/Eval.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Expression evaluators - * - * $Log$ - */ - -/* Eval.hpp: evaluation functions of expressions */ - -#ifndef _EVAL_H -#define _EVAL_H - -#include "projectM.hpp" -#include "Func.hpp" -#include "Param.hpp" - -//#define EVAL_DEBUG 2 -//#define EVAL_DEBUG_DOUBLE 2 - -#define VAL_T 1 -#define PREFUN_T 3 -#define TREE_T 4 -#define NONE_T 0 - -#define CONSTANT_TERM_T 0 -#define PARAM_TERM_T 1 - -#define INFIX_ADD 0 -#define INFIX_MINUS 1 -#define INFIX_MOD 2 -#define INFIX_DIV 3 -#define INFIX_MULT 4 -#define INFIX_OR 5 -#define INFIX_AND 6 - -class InfixOp; - -class Eval { -public: - static InfixOp *infix_add, - *infix_minus, - *infix_div, - *infix_mult, - *infix_or, - *infix_and, - *infix_mod, - *infix_negative, - *infix_positive; - - float eval_gen_expr(GenExpr * gen_expr); - inline GenExpr * opt_gen_expr(GenExpr * gen_expr, int ** param_list); - - GenExpr * const_to_expr(float val); - GenExpr * param_to_expr(Param * param); - GenExpr * prefun_to_expr(float (*func_ptr)(), GenExpr ** expr_list, int num_args); - - static TreeExpr * new_tree_expr(InfixOp * infix_op, GenExpr * gen_expr, TreeExpr * left, TreeExpr * right); - static GenExpr * new_gen_expr(int type, void * item); - static ValExpr * new_val_expr(int type, Term *term); - - static InfixOp * new_infix_op(int type, int precedence); - static int init_infix_ops(); - static int destroy_infix_ops(); - void reset_engine_vars(); - - GenExpr * clone_gen_expr(GenExpr * gen_expr); - TreeExpr * clone_tree_expr(TreeExpr * tree_expr); - ValExpr * clone_val_expr(ValExpr * val_expr); - PrefunExpr * clone_prefun_expr(PrefunExpr * prefun_expr); - }; - -#endif /** !_EVAL_H */ diff --git a/src/projectM-engine/Expr.cpp b/src/projectM-engine/Expr.cpp deleted file mode 100755 index 3026d117f6..0000000000 --- a/src/projectM-engine/Expr.cpp +++ /dev/null @@ -1,576 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include "wipemalloc.h" - -#include "Expr.hpp" -#include "Eval.hpp" -#include -#include - -float GenExpr::eval_gen_expr ( int mesh_i, int mesh_j ) -{ - float l; - - assert ( item ); - switch ( this->type ) - { - case VAL_T: - return ( ( ValExpr* ) item )->eval_val_expr ( mesh_i, mesh_j ); - case PREFUN_T: - l = ( ( PrefunExpr * ) item )->eval_prefun_expr ( mesh_i, mesh_j ); - //if (EVAL_DEBUG) DWRITE( "eval_gen_expr: prefix function return value: %f\n", l); - return l; - case TREE_T: - return ( ( TreeExpr* ) ( item ) )->eval_tree_expr ( mesh_i, mesh_j ); - default: -#ifdef EVAL_DEBUG - DWRITE ( "eval_gen_expr: general expression matched no cases!\n" ); -#endif - return EVAL_ERROR; - } - -} - -/* Evaluates functions in prefix form */ -float PrefunExpr::eval_prefun_expr ( int mesh_i, int mesh_j ) -{ - - - assert ( func_ptr ); - /* This is slightly less than safe, since - who knows if the passed argument is valid. For - speed purposes we'll go with this */ - float arg_list[this->num_args]; - -#ifdef EVAL_DEBUG_DOUBLE - DWRITE ( "fn[" ); -#endif - - //printf("numargs %d", num_args); - - /* Evaluate each argument before calling the function itself */ - for ( int i = 0; i < num_args; i++ ) - { - arg_list[i] = expr_list[i]->eval_gen_expr ( mesh_i, mesh_j ); -#ifdef EVAL_DEBUG_DOUBLE - if ( i < ( num_args - 1 ) ) - DWRITE ( ", " ); -#endif - //printf("numargs %x", arg_list[i]); - - - } - -#ifdef EVAL_DEBUG_DOUBLE - DWRITE ( "]" ); -#endif - - /* Now we call the function, passing a list of - floats as its argument */ - - return ( func_ptr ) ( arg_list ); - -} - - -/* Evaluates a value expression */ -float ValExpr::eval_val_expr ( int mesh_i, int mesh_j ) -{ - - - /* Value is a constant, return the float value */ - if ( type == CONSTANT_TERM_T ) - { -#ifdef EVAL_DEBUG - DWRITE ( "%.4f", term.constant ); -#endif - return ( term.constant ); - } - - /* Value is variable, dereference it */ - if ( type == PARAM_TERM_T ) - { - switch ( term.param->type ) - { - - case P_TYPE_BOOL: -#ifdef EVAL_DEBUG - DWRITE ( "(%s:%.4f)", term.param->name.c_str(), ( float ) ( * ( ( bool* ) ( term.param->engine_val ) ) ) ); -#endif - - - return ( float ) ( * ( ( bool* ) ( term.param->engine_val ) ) ); - case P_TYPE_INT: -#ifdef EVAL_DEBUG - DWRITE ( "(%s:%.4f)", term.param->name.c_str(), ( float ) ( * ( ( int* ) ( term.param->engine_val ) ) ) ); -#endif - - - return ( float ) ( * ( ( int* ) ( term.param->engine_val ) ) ); - case P_TYPE_DOUBLE: - - - if ( term.param->matrix_flag | ( term.param->flags & P_FLAG_ALWAYS_MATRIX ) ) - { - - /* Sanity check the matrix is there... */ - assert ( term.param->matrix != NULL ); - - /// @slow boolean check could be expensive in this critical (and common) step of evaluation - if ( mesh_i >= 0 ) - { - if ( mesh_j >= 0 ) - { - return ( ( ( float** ) term.param->matrix ) [mesh_i][mesh_j] ); - } - else - { - return ( ( ( float* ) term.param->matrix ) [mesh_i] ); - } - } - //assert(mesh_i >=0); - } - //std::cout << term.param->name << ": " << (*((float*)term.param->engine_val)) << std::endl; - return * ( ( float* ) ( term.param->engine_val ) ); - default: - return EVAL_ERROR; - } - } - /* Unknown type, return failure */ - return PROJECTM_FAILURE; -} - -/* Evaluates an expression tree */ -float TreeExpr::eval_tree_expr ( int mesh_i, int mesh_j ) -{ - - float left_arg, right_arg; - - /* A leaf node, evaluate the general expression. If the expression is null as well, return zero */ - if ( infix_op == NULL ) - { - if ( gen_expr == NULL ) - return 0; - else - return gen_expr->eval_gen_expr ( mesh_i, mesh_j ); - } - - /* Otherwise, this node is an infix operator. Evaluate - accordingly */ - -#ifdef EVAL_DEBUG - DWRITE ( "(" ); -#endif - - assert(left); - left_arg = left->eval_tree_expr ( mesh_i, mesh_j ); - -#ifdef EVAL_DEBUG - - switch ( infix_op->type ) - { - case INFIX_ADD: - DWRITE ( "+" ); - break; - case INFIX_MINUS: - DWRITE ( "-" ); - break; - case INFIX_MULT: - DWRITE ( "*" ); - break; - case INFIX_MOD: - DWRITE ( "%%" ); - break; - case INFIX_OR: - DWRITE ( "|" ); - break; - case INFIX_AND: - DWRITE ( "&" ); - break; - case INFIX_DIV: - DWRITE ( "/" ); - break; - default: - DWRITE ( "?" ); - } - -#endif - - assert(right); - right_arg = right->eval_tree_expr ( mesh_i, mesh_j ); - -#ifdef EVAL_DEBUG - DWRITE ( ")" ); -#endif - -#ifdef EVAL_DEBUG - DWRITE ( "\n" ); -#endif - - switch ( infix_op->type ) - { - case INFIX_ADD: - return ( left_arg + right_arg ); - case INFIX_MINUS: - return ( left_arg - right_arg ); - case INFIX_MULT: - return ( left_arg * right_arg ); - case INFIX_MOD: - if ( ( int ) right_arg == 0 ) - { -#ifdef EVAL_DEBUG - DWRITE ( "eval_tree_expr: modulo zero!\n" ); -#endif - return PROJECTM_DIV_BY_ZERO; - } - return ( ( int ) left_arg % ( int ) right_arg ); - case INFIX_OR: - return ( ( int ) left_arg | ( int ) right_arg ); - case INFIX_AND: - return ( ( int ) left_arg & ( int ) right_arg ); - case INFIX_DIV: - if ( right_arg == 0 ) - { -#ifdef EVAL_DEBUG - DWRITE ( "eval_tree_expr: division by zero!\n" ); -#endif - return MAX_DOUBLE_SIZE; - } - return ( left_arg / right_arg ); - default: -#ifdef EVAL_DEBUG - DWRITE ( "eval_tree_expr: unknown infix operator!\n" ); -#endif - return EVAL_ERROR; - } - - return EVAL_ERROR; -} - -/* Converts a float value to a general expression */ -GenExpr * GenExpr::const_to_expr ( float val ) -{ - - GenExpr * gen_expr; - ValExpr * val_expr; - Term term; - - term.constant = val; - - if ( ( val_expr = new ValExpr ( CONSTANT_TERM_T, &term ) ) == NULL ) - return NULL; - - gen_expr = new GenExpr ( VAL_T, ( void* ) val_expr ); - - if ( gen_expr == NULL ) - { - delete val_expr; - } - - return gen_expr; -} - -/* Converts a regular parameter to an expression */ -GenExpr * GenExpr::param_to_expr ( Param * param ) -{ - - GenExpr * gen_expr = NULL; - ValExpr * val_expr = NULL; - Term term; - - if ( param == NULL ) - return NULL; - - /* This code is still a work in progress. We need - to figure out if the initial condition is used for - each per frame equation or not. I am guessing that - it isn't, and it is thusly implemented this way */ - - /* Current guess of true behavior (08/01/03) note from carm - First try to use the per_pixel_expr (with cloning) - If it is null however, use the engine variable instead. */ - - /* 08/20/03 : Presets are now objects, as well as per pixel equations. This ends up - making the parser handle the case where parameters are essentially per pixel equation - substitutions */ - - - term.param = param; - if ( ( val_expr = new ValExpr ( PARAM_TERM_T, &term ) ) == NULL ) - return NULL; - - if ( ( gen_expr = new GenExpr ( VAL_T, ( void* ) val_expr ) ) == NULL ) - { - delete val_expr; - return NULL; - } - return gen_expr; -} - -/* Converts a prefix function to an expression */ -GenExpr * GenExpr::prefun_to_expr ( float ( *func_ptr ) ( void * ), GenExpr ** expr_list, int num_args ) -{ - - GenExpr * gen_expr; - PrefunExpr * prefun_expr; - - - /* Malloc a new prefix function expression */ - prefun_expr = new PrefunExpr(); - - if ( prefun_expr == NULL ) - return NULL; - - prefun_expr->num_args = num_args; - prefun_expr->func_ptr = ( float ( * ) ( void* ) ) func_ptr; - prefun_expr->expr_list = expr_list; - - gen_expr = new GenExpr ( PREFUN_T, ( void* ) prefun_expr ); - - if ( gen_expr == NULL ) - delete prefun_expr; - - return gen_expr; -} - -/* Creates a new tree expression */ -TreeExpr::TreeExpr ( InfixOp * _infix_op, GenExpr * _gen_expr, TreeExpr * _left, TreeExpr * _right ) : - infix_op ( _infix_op ), gen_expr ( _gen_expr ), - left ( _left ), right ( _right ) {} - - -/* Creates a new value expression */ -ValExpr::ValExpr ( int _type, Term * _term ) :type ( _type ) -{ - - - //val_expr->type = _type; - term.constant = _term->constant; - term.param = _term->param; - - //return val_expr; -} - -/* Creates a new general expression */ - -GenExpr::GenExpr ( int _type, void * _item ) :type ( _type ), item ( _item ) {} - -/* Frees a general expression */ -GenExpr::~GenExpr() -{ - - switch ( type ) - { - case VAL_T: - delete ( ( ValExpr* ) item ); - break; - case PREFUN_T: - delete ( ( PrefunExpr* ) item ); - break; - case TREE_T: - delete ( ( TreeExpr* ) item ); - break; - } -} - -/* Frees a function in prefix notation */ -PrefunExpr::~PrefunExpr() -{ - - int i; - - /* Free every element in expression list */ - for ( i = 0 ; i < num_args; i++ ) - { - delete expr_list[i]; - } - free ( expr_list ); -} - -/* Frees values of type VARIABLE and CONSTANT */ -ValExpr::~ValExpr() -{} - -/* Frees a tree expression */ -TreeExpr::~TreeExpr() -{ - - /* free left tree */ - if ( left != NULL ) - { - delete left; - } - - /* free general expression object */ - if ( gen_expr != NULL ) - { - delete gen_expr; - } - - /* Note that infix operators are always - stored in memory unless the program - exits, so we don't remove them here */ - - /* free right tree */ - if ( right != NULL ) - { - delete right; - } -} - -/* Initializes an infix operator */ -DLLEXPORT InfixOp::InfixOp ( int type, int precedence ) -{ - - this->type = type; - this->precedence = precedence; -} - -/* Clones a general expression */ -GenExpr *GenExpr::clone_gen_expr() -{ - - GenExpr * new_gen_expr; - ValExpr * val_expr; - TreeExpr * tree_expr; - PrefunExpr * prefun_expr; - - /* Out of memory */ - if ( ( new_gen_expr = ( GenExpr* ) wipemalloc ( sizeof ( GenExpr ) ) ) == NULL ) - return NULL; - - /* Case on the type of general expression */ - switch ( new_gen_expr->type = type ) - { - - case VAL_T: /* val expression */ - if ( ( val_expr = ( ( ValExpr* ) item )->clone_val_expr() ) == NULL ) - { - free ( new_gen_expr ); - new_gen_expr = NULL; - return NULL; - } - new_gen_expr->item = ( void* ) val_expr; - break; - - case PREFUN_T: /* prefix function expression */ - if ( ( prefun_expr = ( ( PrefunExpr* ) item )->clone_prefun_expr() ) == NULL ) - { - free ( new_gen_expr ); - new_gen_expr = NULL; - return NULL; - } - new_gen_expr->item = ( void* ) prefun_expr; - break; - - case TREE_T: /* tree expression */ - if ( ( tree_expr = ( ( TreeExpr* ) item )->clone_tree_expr() ) == NULL ) - { - free ( new_gen_expr ); - new_gen_expr = NULL; - return NULL; - } - new_gen_expr->item = ( void* ) tree_expr; - break; - - default: /* unknown type, ut oh.. */ - free ( new_gen_expr ); - new_gen_expr = NULL; - return NULL; - } - - return new_gen_expr; /* Return the new (cloned) general expression */ -} - - -/* Clones a tree expression */ -TreeExpr *TreeExpr::clone_tree_expr() -{ - - abort(); - TreeExpr * new_tree_expr; - - /* Out of memory */ - if ( ( new_tree_expr = ( TreeExpr* ) wipemalloc ( sizeof ( TreeExpr ) ) ) == NULL ) - return NULL; - - /* Set each argument in TreeExpr struct */ - new_tree_expr->infix_op = infix_op; /* infix operators are in shared memory */ - new_tree_expr->gen_expr = gen_expr->clone_gen_expr(); /* clone the general expression */ - new_tree_expr->left = left->clone_tree_expr(); /* clone the left tree expression */ - new_tree_expr->right = right->clone_tree_expr(); /* clone the right tree expression */ - - return new_tree_expr; /* Return the new (cloned) tree expression */ -} - -/* Clones a value expression, currently only passes the pointer to - the value that this object represents, not a pointer to a copy of the value */ -ValExpr *ValExpr::clone_val_expr() -{ - - abort(); - ValExpr * new_val_expr; - - /* Allocate space, check for out of memory */ - if ( ( new_val_expr = ( ValExpr* ) wipemalloc ( sizeof ( ValExpr ) ) ) == NULL ) - return NULL; - - /* Set the values in the ValExpr struct */ - new_val_expr->type = type; - new_val_expr->term = term; - - /* Return the new (cloned) value expression */ - return new_val_expr; -} - -/* Clones a prefix function with its arguments */ -PrefunExpr *PrefunExpr::clone_prefun_expr() -{ - - int i; - PrefunExpr * new_prefun_expr; - - /* Out of memory */ - if ( ( new_prefun_expr = ( PrefunExpr* ) wipemalloc ( sizeof ( PrefunExpr ) ) ) == NULL ) - return NULL; - - /* Set the function argument paired with its number of arguments */ - new_prefun_expr->num_args = num_args; - new_prefun_expr->func_ptr = func_ptr; - - /* Allocate space for the expression list pointers */ - if ( ( new_prefun_expr->expr_list = ( GenExpr** ) wipemalloc ( sizeof ( GenExpr* ) *new_prefun_expr->num_args ) ) == NULL ) - { - free ( new_prefun_expr ); - new_prefun_expr = NULL; - return NULL; - } - - /* Now copy each general expression from the argument expression list */ - for ( i = 0; i < new_prefun_expr->num_args;i++ ) - new_prefun_expr->expr_list[i] = expr_list[i]->clone_gen_expr(); - - /* Finally, return the new (cloned) prefix function expression */ - return new_prefun_expr; -} - -PrefunExpr::PrefunExpr() {} diff --git a/src/projectM-engine/Expr.hpp b/src/projectM-engine/Expr.hpp deleted file mode 100755 index 9d6554dac8..0000000000 --- a/src/projectM-engine/Expr.hpp +++ /dev/null @@ -1,125 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Expression - * - * $Log$ - */ - -#ifndef _EXPR_H -#define _EXPR_H - -#include "dlldefs.h" -#include "CValue.hpp" - -class Param; - -#define CONST_STACK_ELEMENT 0 -#define EXPR_STACK_ELEMENT 1 - -#define EVAL_ERROR -1 - -/* Infix Operator Function */ -class InfixOp -{ -public: - int type; - int precedence; - - DLLEXPORT InfixOp( int type, int precedence ); -}; - -/** Term */ -class Term -{ -public: - float constant; /* static variable */ - Param *param; /* pointer to a changing variable */ - - Term() { this->constant = 0; this->param = 0; } -}; - -/* General Expression Type */ -class GenExpr -{ -public: - int type; - void * item; - - ~GenExpr(); - - GenExpr( int type, void *item ); - GenExpr *clone_gen_expr(); - float eval_gen_expr(int mesh_i, int mesh_j); - - static GenExpr *const_to_expr( float val ); - static GenExpr *param_to_expr( Param *param ); - static GenExpr *prefun_to_expr( float (*func_ptr)(void *), GenExpr **expr_list, int num_args ); -}; - -/* Value expression, contains a term union */ -class ValExpr -{ -public: - int type; - Term term; - - ~ValExpr(); - ValExpr( int type, Term *term ); - ValExpr *clone_val_expr(); - - float eval_val_expr(int mesh_i, int mesh_j); -}; - -/* A binary expression tree ordered by operator precedence */ -class TreeExpr -{ -public: - InfixOp * infix_op; /* null if leaf */ - GenExpr * gen_expr; - TreeExpr *left, *right; - - ~TreeExpr(); - TreeExpr( InfixOp *infix_op, GenExpr *gen_expr, - TreeExpr *left, TreeExpr *right ); - TreeExpr *clone_tree_expr(); - float eval_tree_expr(int mesh_i, int mesh_j); -}; - -/* A function expression in prefix form */ -class PrefunExpr -{ -public: - float (*func_ptr)(void*); - int num_args; - GenExpr **expr_list; - PrefunExpr(); - ~PrefunExpr(); - PrefunExpr *clone_prefun_expr(); - - /* Evaluates functions in prefix form */ - float eval_prefun_expr(int mesh_i, int mesh_j); - -}; - -#endif /** _EXPR_H */ diff --git a/src/projectM-engine/FindPkgConfig.cmake b/src/projectM-engine/FindPkgConfig.cmake deleted file mode 100644 index afae15cb02..0000000000 --- a/src/projectM-engine/FindPkgConfig.cmake +++ /dev/null @@ -1,360 +0,0 @@ -# - a pkg-config module for CMake -# -# Usage: -# pkg_check_modules( [REQUIRED] []*) -# checks for all the given modules -# -# pkg_search_module( [REQUIRED] []*) -# checks for given modules and uses the first working one -# -# When the 'REQUIRED' argument was set, macros will fail with an error -# when module(s) could not be found -# -# It sets the following variables: -# PKG_CONFIG_FOUND ... true iff pkg-config works on the system -# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program -# _FOUND ... set to 1 iff module(s) exist -# -# For the following variables two sets of values exist; first one is the -# common one and has the given PREFIX. The second set contains flags -# which are given out when pkgconfig was called with the '--static' -# option. -# _LIBRARIES ... only the libraries (w/o the '-l') -# _LIBRARY_DIRS ... the paths of the libraries (w/o the '-L') -# _LDFLAGS ... all required linker flags -# _LDFLAGS_OTHERS ... all other linker flags -# _INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I') -# _CFLAGS ... all required cflags -# _CFLAGS_OTHERS ... the other compiler flags -# -# = for common case -# = _STATIC for static linking -# -# There are some special variables whose prefix depends on the count -# of given modules. When there is only one module, stays -# unchanged. When there are multiple modules, the prefix will be -# changed to _: -# _VERSION ... version of the module -# _PREFIX ... prefix-directory of the module -# _INCLUDEDIR ... include-dir of the module -# _LIBDIR ... lib-dir of the module -# -# = when |MODULES| == 1, else -# = _ -# -# A parameter can have the following formats: -# {MODNAME} ... matches any version -# {MODNAME}>={VERSION} ... at least version is required -# {MODNAME}={VERSION} ... exactly version is required -# {MODNAME}<={VERSION} ... modules must not be newer than -# -# Examples -# pkg_check_modules (GLIB2 glib-2.0) -# -# pkg_check_modules (GLIB2 glib-2.0>=2.10) -# requires at least version 2.10 of glib2 and defines e.g. -# GLIB2_VERSION=2.10.3 -# -# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0) -# requires both glib2 and gtk2, and defines e.g. -# FOO_glib-2.0_VERSION=2.10.3 -# FOO_gtk+-2.0_VERSION=2.8.20 -# -# pkg_check_modules (XRENDER REQUIRED xrender) -# defines e.g.: -# XRENDER_LIBRARIES=Xrender;X11 -# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp -# -# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2) - - -# Copyright (C) 2006 Enrico Scholz -# -# Redistribution and use, with or without modification, are permitted -# provided that the following conditions are met: -# -# 1. Redistributions must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# 2. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - - -### Common stuff #### -set(PKG_CONFIG_VERSION 1) -set(PKG_CONFIG_FOUND 0) - -find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") -mark_as_advanced(PKG_CONFIG_EXECUTABLE) - -if(PKG_CONFIG_EXECUTABLE) - set(PKG_CONFIG_FOUND 1) -endif(PKG_CONFIG_EXECUTABLE) - - -# Unsets the given variables -macro(_pkgconfig_unset var) - set(${var} "" CACHE INTERNAL "") -endmacro(_pkgconfig_unset) - -macro(_pkgconfig_set var value) - set(${var} ${value} CACHE INTERNAL "") -endmacro(_pkgconfig_set) - -# Invokes pkgconfig, cleans up the result and sets variables -macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp) - set(_pkgconfig_invoke_result) - - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist} - OUTPUT_VARIABLE _pkgconfig_invoke_result - RESULT_VARIABLE _pkgconfig_failed) - - if (_pkgconfig_failed) - set(_pkgconfig_${_varname} "") - _pkgconfig_unset(${_prefix}_${_varname}) - else(_pkgconfig_failed) - string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - - if (NOT ${_regexp} STREQUAL "") - string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - endif(NOT ${_regexp} STREQUAL "") - - separate_arguments(_pkgconfig_invoke_result) - - #message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}") - set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result}) - _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}") - endif(_pkgconfig_failed) -endmacro(_pkgconfig_invoke) - -# Invokes pkgconfig two times; once without '--static' and once with -# '--static' -macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp) - _pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN}) - _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN}) -endmacro(_pkgconfig_invoke_dyn) - -# Splits given arguments into options and a package list -macro(_pkgconfig_parse_options _result _is_req) - set(${_is_req} 0) - - foreach(_pkg ${ARGN}) - if (_pkg STREQUAL "REQUIRED") - set(${_is_req} 1) - endif (_pkg STREQUAL "REQUIRED") - endforeach(_pkg ${ARGN}) - - set(${_result} ${ARGN}) - list(REMOVE_ITEM ${_result} "REQUIRED") -endmacro(_pkgconfig_parse_options) - -### -macro(_pkg_check_modules_internal _is_required _is_silent _prefix) - _pkgconfig_unset(${_prefix}_FOUND) - _pkgconfig_unset(${_prefix}_VERSION) - _pkgconfig_unset(${_prefix}_PREFIX) - _pkgconfig_unset(${_prefix}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_LIBDIR) - _pkgconfig_unset(${_prefix}_LIBS) - _pkgconfig_unset(${_prefix}_LIBS_L) - _pkgconfig_unset(${_prefix}_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_CFLAGS) - _pkgconfig_unset(${_prefix}_CFLAGS_I) - _pkgconfig_unset(${_prefix}_CFLAGS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_LIBDIR) - _pkgconfig_unset(${_prefix}_STATIC_LIBS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_L) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER) - - # create a better addressable variable of the modules and calculate its size - set(_pkg_check_modules_list ${ARGN}) - list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt) - - if(PKG_CONFIG_EXECUTABLE) - # give out status message telling checked module - if (NOT ${_is_silent}) - if (_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for module '${_pkg_check_modules_list}'") - else(_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for modules '${_pkg_check_modules_list}'") - endif(_pkg_check_modules_cnt EQUAL 1) - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_packages) - set(_pkg_check_modules_failed) - - # iterate through module list and check whether they exist and match the required version - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list}) - set(_pkg_check_modules_exist_query) - - # check whether version is given - if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}") - else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - set(_pkg_check_modules_pkg_op) - set(_pkg_check_modules_pkg_ver) - endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - - # handle the operands - if (_pkg_check_modules_pkg_op STREQUAL ">=") - list(APPEND _pkg_check_modules_exist_query --atleast-version) - endif(_pkg_check_modules_pkg_op STREQUAL ">=") - - if (_pkg_check_modules_pkg_op STREQUAL "=") - list(APPEND _pkg_check_modules_exist_query --exact-version) - endif(_pkg_check_modules_pkg_op STREQUAL "=") - - if (_pkg_check_modules_pkg_op STREQUAL "<=") - list(APPEND _pkg_check_modules_exist_query --max-version) - endif(_pkg_check_modules_pkg_op STREQUAL "<=") - - # create the final query which is of the format: - # * --atleast-version - # * --exact-version - # * --max-version - # * --exists - if (_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}") - else(_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query --exists) - endif(_pkg_check_modules_pkg_op) - - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR) - - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}") - list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}") - - # execute the query - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query} - RESULT_VARIABLE _pkgconfig_retval) - - # evaluate result and tell failures - if (_pkgconfig_retval) - if(NOT ${_is_silent}) - message(STATUS " package '${_pkg_check_modules_pkg}' not found") - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_failed 1) - endif(_pkgconfig_retval) - endforeach(_pkg_check_modules_pkg) - - if(_pkg_check_modules_failed) - # fail when requested - if (${_is_required}) - message(SEND_ERROR "A required package was not found") - endif (${_is_required}) - else(_pkg_check_modules_failed) - # when we are here, we checked whether requested modules - # exist. Now, go through them and set variables - - _pkgconfig_set(${_prefix}_FOUND 1) - list(LENGTH _pkg_check_modules_packages pkg_count) - - # iterate through all modules again and set individual variables - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages}) - # handle case when there is only one package required - if (pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}") - else(pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}") - endif(pkg_count EQUAL 1) - - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir ) - - message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}") - endforeach(_pkg_check_modules_pkg) - - # set variables which are combined for multiple modules - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other ) - - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other ) - endif(_pkg_check_modules_failed) - else(PKG_CONFIG_EXECUTABLE) - if (${_is_required}) - message(SEND_ERROR "pkg-config tool not found") - endif (${_is_required}) - endif(PKG_CONFIG_EXECUTABLE) -endmacro(_pkg_check_modules_internal) - -### -### User visible macros start here -### - -### -macro(pkg_check_modules _prefix _module0) - # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - _pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN}) - _pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules}) - - _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) - endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_check_modules) - -### -macro(pkg_search_module _prefix _module0) - # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - set(_pkg_modules_found 0) - _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN}) - - message(STATUS "checking for one of the modules '${_pkg_modules_alt}'") - - # iterate through all modules and stop at the first working one. - foreach(_pkg_alt ${_pkg_modules_alt}) - if(NOT _pkg_modules_found) - _pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}") - endif(NOT _pkg_modules_found) - - if (${_prefix}_FOUND) - set(_pkg_modules_found 1) - endif(${_prefix}_FOUND) - endforeach(_pkg_alt) - - if (NOT ${_prefix}_FOUND) - if(${_pkg_is_required}) - message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found") - endif(${_pkg_is_required}) - endif(NOT ${_prefix}_FOUND) - - _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) - endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_search_module) - -### Local Variables: -### mode: cmake -### End: diff --git a/src/projectM-engine/Func.hpp b/src/projectM-engine/Func.hpp deleted file mode 100755 index 96d95cc56b..0000000000 --- a/src/projectM-engine/Func.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Function - * - * $Log$ - */ - -#ifndef _FUNC_H -#define _FUNC_H - -#include "Common.hpp" -#include - -/* Function Type */ -class Func { -public: - std::string name; - float (*func_ptr)(float*); - int num_args; - - Func(const std::string & _name, float (*func_ptr)(float*), int num_args ); - - /* Public Prototypes */ - DLLEXPORT ~Func(); - - }; - -/** Splay traversal */ -inline void free_func_helper( void *func ) { - delete (Func *)func; -} - -#endif /** !_FUNC_H */ diff --git a/src/projectM-engine/IdlePreset.cpp b/src/projectM-engine/IdlePreset.cpp deleted file mode 100644 index f7762fb3e8..0000000000 --- a/src/projectM-engine/IdlePreset.cpp +++ /dev/null @@ -1,316 +0,0 @@ -#include "IdlePreset.hpp" -#include -#include - -const std::string IdlePreset::IDLE_PRESET_NAME - ("Geiss & Sperl - Feedback (projectM idle HDR mix)"); - -std::string IdlePreset::presetText() { - -std::ostringstream out; - -out << "[preset00]\n" << -"fRating=3.000000\n" << -"fGammaAdj=1\n" << -"fDecay=0.9\n" << -"fVideoEchoZoom=0.710682\n" << -"fVideoEchoAlpha=0" -"nVideoEchoOrientation=0\n" << -"nWaveMode=6\n" << -"bAdditiveWaves=1\n" << -"bWaveDots=0\n" << -"bWaveThick=1\n" << -"bModWaveAlphaByVolume=1\n" << -"bMaximizeWaveColor=0\n" << -"bTexWrap=1\n" << -"bDarkenCenter=0\n" << -"bRedBlueStereo=0\n" << -"bBrighten=0\n" << -"bDarken=0\n" << -"bSolarize=0\n" << -"bInvert=0\n" << -"fWaveAlpha=0.311604\n" << -"fWaveScale=1.22891\n" << -"fWaveSmoothing=0\n" << -"fWaveParam=0.2\n" << -"fModWaveAlphaStart=0.71\n" << -"fModWaveAlphaEnd=1.3\n" << -"fWarpAnimSpeed=1\n" << -"fWarpScale=1\n" << -"fZoomExponent=1\n" << -"fShader=0\n" << -"zoom=0.999902\n" << -"rot=0\n" << -"cx=0.5\n" << -"cy=0.5\n" << -"dx=0\n" << -"dy=0\n" << -"warp=0.207965\n" << -"sx=1\n" << -"sy=1\n" << -"wave_r=0.65\n" << -"wave_g=0.65\n" << -"wave_b=0.65\n" << -"wave_x=0.5\n" << -"wave_y=0.5\n" << -"ob_size=0.0065\n" << -"ob_r=0\n" << -"ob_g=0\n" << -"ob_b=0\n" << -"ob_a=0\n" << -"ib_size=0.26\n" << -"ib_r=0.25\n" << -"ib_g=0.25\n" << -"ib_b=0.25\n" << -"ib_a=0\n" << -"nMotionVectorsX=64\n" << -"nMotionVectorsY=48\n" << -"mv_dx=0\n" << -"mv_dy=0\n" << -"mv_l=0.85\n" << -"mv_r=0.4999\n" << -"mv_g=0.4999\n" << -"mv_b=0.4999\n" << -"mv_a=0\n" << -"shapecode_0_enabled=1\n" << -"shapecode_0_sides=4\n" << -"shapecode_0_additive=0\n" << -"shapecode_0_thickOutline=0\n" << -"shapecode_0_textured=0\n" << -"shapecode_0_x=0.37\n" << -"shapecode_0_y=0.5\n" << -"shapecode_0_rad=4.999997\n" << -"shapecode_0_ang=3.644249\n" << -"shapecode_0_tex_ang=0\n" << -"shapecode_0_tex_zoom=1\n" << -"shapecode_0_r=0\n" << -"shapecode_0_g=0\n" << -"shapecode_0_b=0\n" << -"shapecode_0_a=0.5\n" << -"shapecode_0_r2=0\n" << -"shapecode_0_g2=0\n" << -"shapecode_0_b2=0\n" << -"shapecode_0_a2=0.3\n" << -"shapecode_0_border_r=1\n" << -"shapecode_0_border_g=1\n" << -"shapecode_0_border_b=1\n" << -"shapecode_0_border_a=1\n" << -"shape_0_init1=t1 = rand(100)*0.01;\n" << -"shape_0_init2=t2 = rand(100)*0.01;\n" << -"shape_0_per_frame1=ang = time*(0.3 + 0.1*t1);\n" << -"shape_0_per_frame2=rad = rad * (0.9 + 0.2*t2);\n" << -"shape_0_per_frame3=r = min(1,max(0,r + 0.2*sin(time*0.417 + 1)));\n" << -"shape_0_per_frame4=g = min(1,max(0,g + 0.2*sin(time*0.391 + 2)));\n" << -"shape_0_per_frame5=b = min(1,max(0,b + 0.2*sin(time*0.432 + 4)));\n" << -"shape_0_per_frame6=r2 = min(1,max(0,r2 + 0.2*sin(time*0.657 + 3)));\n" << -"shape_0_per_frame7=g2 = min(1,max(0,g2 + 0.2*sin(time*0.737 + 5)));\n" << -"shape_0_per_frame8=b2 = min(1,max(0,b2 + 0.2*sin(time*0.884 + 6)));\n" << -"shapecode_1_enabled=1\n" << -"shapecode_1_sides=5\n" << -"shapecode_1_additive=1\n" << -"shapecode_1_thickOutline=0\n" << -"shapecode_1_textured=1\n" << -"shapecode_1_x=0.37\n" << -"shapecode_1_y=0.5\n" << -"shapecode_1_rad=0.706533\n" << -"shapecode_1_ang=3.644249\n" << -"shapecode_1_tex_ang=0\n" << -"shapecode_1_tex_zoom=1\n" << -"shapecode_1_r=1\n" << -"shapecode_1_g=1\n" << -"shapecode_1_b=1\n" << -"shapecode_1_a=0.8\n" << -"shapecode_1_r2=1\n" << -"shapecode_1_g2=1\n" << -"shapecode_1_b2=1\n" << -"shapecode_1_a2=0\n" << -"shapecode_1_border_r=1\n" << -"shapecode_1_border_g=1\n" << -"shapecode_1_border_b=1\n" << -"shapecode_1_border_a=0\n" << -"shape_1_init1=t1 = rand(100)*0.01;\n" << -"shape_1_init2=t2 = rand(100)*0.01;\n" << -"shape_1_per_frame1=x = x + 0.05*sin(time*1.25+3);\n" << -"shape_1_per_frame2=y = y + 0.03*sin(time*1.49+1);\n" << -"shape_1_per_frame3=ang = time*(0.3 + 0.1*t1);\n" << -"shape_1_per_frame4=rad = rad * (0.9 + 0.2*t2);\n" << -"shape_1_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1)));\n" << -"shape_1_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2)));\n" << -"shape_1_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4)));\n" << -"shape_1_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3)));\n" << -"shape_1_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5)));\n" << -"shape_1_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6)));\n" << -"shapecode_2_enabled=1\n" << -"shapecode_2_sides=5\n" << -"shapecode_2_additive=1\n" << -"shapecode_2_thickOutline=0\n" << -"shapecode_2_textured=1\n" << -"shapecode_2_x=0.67\n" << -"shapecode_2_y=0.43\n" << -"shapecode_2_rad=0.706533\n" << -"shapecode_2_ang=4.209736\n" << -"shapecode_2_tex_ang=0\n" << -"shapecode_2_tex_zoom=1\n" << -"shapecode_2_r=1\n" << -"shapecode_2_g=1\n" << -"shapecode_2_b=1\n" << -"shapecode_2_a=0.8\n" << -"shapecode_2_r2=1\n" << -"shapecode_2_g2=1\n" << -"shapecode_2_b2=1\n" << -"shapecode_2_a2=0\n" << -"shapecode_2_border_r=1\n" << -"shapecode_2_border_g=1\n" << -"shapecode_2_border_b=1\n" << -"shapecode_2_border_a=0\n" << -"shape_2_init1=t1 = rand(100)*0.01;\n" << -"shape_2_init2=t2 = rand(100)*0.01;\n" << -"shape_2_per_frame1=x = x + 0.05*sin(time*2.17);\n" << -"shape_2_per_frame2=y = y + 0.03*sin(time*1.83);\n" << -"shape_2_per_frame3=ang = time*(0.3 + 0.1*t1);\n" << -"shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2);\n" << -"shape_2_per_frame5=r = min(1,max(0,r + 0.1*sin(time*0.417 + 1)));\n" << -"shape_2_per_frame6=g = min(1,max(0,g + 0.1*sin(time*0.391 + 2)));\n" << -"shape_2_per_frame7=b = min(1,max(0,b + 0.1*sin(time*0.432 + 4)));\n" << -"shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.1*sin(time*0.457 + 3)));\n" << -"shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.1*sin(time*0.437 + 5)));\n" << -"shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.1*sin(time*0.484 + 6)));\n" << -"shapecode_5_enabled=1\n" << -"shapecode_5_sides=16\n" << -"shapecode_5_additive=1\n" << -"shapecode_5_thickOutline=1\n" << -"shapecode_5_textured=0\n" << -"shapecode_5_x=0.68\n" << -"shapecode_5_y=0.5\n" << -"shapecode_5_rad=0.509999\n" << -"shapecode_5_ang=0\n" << -"shapecode_5_tex_ang=0\n" << -"shapecode_5_tex_zoom=1\n" << -"shapecode_5_r=1\n" << -"shapecode_5_g=0\n" << -"shapecode_5_b=0\n" << -"shapecode_5_a=0.46\n" << -"shapecode_5_r2=0\n" << -"shapecode_5_g2=1\n" << -"shapecode_5_b2=0\n" << -"shapecode_5_a2=0\n" << -"shapecode_5_border_r=0\n" << -"shapecode_5_border_g=1\n" << -"shapecode_5_border_b=1\n" << -"shapecode_5_border_a=0\n" << -"shape_5_per_frame1=ang = time*1.4;\n" << -"shape_5_per_frame2=x = x + q1;\n" << -"shape_5_per_frame3=y = y + q2;\n" << -"shape_5_per_frame4=r = 0.5 + 0.5*sin(time*0.713 + 1);\n" << -"shape_5_per_frame5=g = 0.5 + 0.5*sin(time*0.563 + 2);\n" << -"shape_5_per_frame6=b = 0.5 + 0.5*sin(time*0.654 + 5);\n" << -"shape_5_per_frame7=r2 = 0.5 + 0.5*sin(time*0.885 + 4);\n" << -"shape_5_per_frame8=g2 = 0.5 + 0.5*sin(time*0.556+ 1);\n" << -"shape_5_per_frame9=b2 = 0.5 + 0.5*sin(time*0.638 + 3);\n" << -"shapecode_3_enabled=1\n" << -"shapecode_3_sides=4\n" << -"shapecode_3_additive=0\n" << -"shapecode_3_thickOutline=0\n" << -"shapecode_3_textured=1\n" << -"shapecode_3_ImageURL=M.tga\n" << -"shapecode_3_x=0.68\n" << -"shapecode_3_y=0.5\n" << -"shapecode_3_rad=0.41222\n" << -"shapecode_3_ang=0\n" << -"shapecode_3_tex_ang=0\n" << -"shapecode_3_tex_zoom=0.71\n" << -"shapecode_3_r=1\n" << -"shapecode_3_g=1\n" << -"shapecode_3_b=1\n" << -"shapecode_3_a=1\n" << -"shapecode_3_r2=1\n" << -"shapecode_3_g2=1\n" << -"shapecode_3_b2=1\n" << -"shapecode_3_a2=1\n" << -"shapecode_3_border_r=0\n" << -"shapecode_3_border_g=0\n" << -"shapecode_3_border_b=0\n" << -"shapecode_3_border_a=0\n" << -"shape_3_per_frame1=x = x + q1;\n" << -"shape_3_per_frame2=y = y + q2;\n" << -"shape_3_per_frame3=b2 = (sin(time)+1)*0.5;\n" << -"shape_3_per_frame4=b = (sin(time)+1)*0.5;\n" << -"shape_3_per_frame5=g2 = (cos(time*0.75+1)+1)*0.5;\n" << -"shape_3_per_frame6=g = (cos(time*0.75+1)+1)*0.5;\n" << -"shape_3_per_frame7=r2 = (sin(time*1.25+2)+1)*0.5;\n" << -"shape_3_per_frame8=r = (sin(time*1.25+2)+1)*0.5;\n" << -"shape_3_per_frame9=a = q3;\n" << -"shape_3_per_frame10=a2 = q3;\n" << -"shapecode_4_enabled=1\n" << -"shapecode_4_sides=4\n" << -"shapecode_4_additive=0\n" << -"shapecode_4_thickOutline=0\n" << -"shapecode_4_textured=1\n" << -"shapecode_4_ImageURL=headphones.tga\n" << -"shapecode_4_x=0.68\n" << -"shapecode_4_y=0.58\n" << -"shapecode_4_rad=0.6\n" << -"shapecode_4_ang=0\n" << -"shapecode_4_tex_ang=0\n" << -"shapecode_4_tex_zoom=0.71\n" << -"shapecode_4_r=1\n" << -"shapecode_4_g=1\n" << -"shapecode_4_b=1\n" << -"shapecode_4_a=1\n" << -"shapecode_4_r2=1\n" << -"shapecode_4_g2=1\n" << -"shapecode_4_b2=1\n" << -"shapecode_4_a2=1\n" << -"shapecode_4_border_r=0\n" << -"shapecode_4_border_g=0\n" << -"shapecode_4_border_b=0\n" << -"shapecode_4_border_a=0\n" << -"shape_4_per_frame1=x = x + q1;\n" << -"shape_4_per_frame2=y = y + q2;\n" << -"shape_4_per_frame3=rad = rad + bass * 0.1;\n" << -"shape_4_per_frame4=a = q3;\n" << -"shape_4_per_frame5=a2 = q3;\n" << -"shapecode_6_enabled=1\n" << -"shapecode_6_sides=4\n" << -"shapecode_6_additive=0\n" << -"shapecode_6_thickOutline=0\n" << -"shapecode_6_textured=1\n" << -"shapecode_6_ImageURL=project.tga\n" << -"shapecode_6_x=0.38\n" << -"shapecode_6_y=0.435\n" << -"shapecode_6_rad=0.8\n" << -"shapecode_6_ang=0\n" << -"shapecode_6_tex_ang=0\n" << -"shapecode_6_tex_zoom=0.71\n" << -"shapecode_6_r=1\n" << -"shapecode_6_g=1\n" << -"shapecode_6_b=1\n" << -"shapecode_6_a=1\n" << -"shapecode_6_r2=1\n" << -"shapecode_6_g2=1\n" << -"shapecode_6_b2=1\n" << -"shapecode_6_a2=1\n" << -"shapecode_6_border_r=0\n" << -"shapecode_6_border_g=0\n" << -"shapecode_6_border_b=0\n" << -"shapecode_6_border_a=0\n" << -"shape_6_per_frame1=x = x + q1;\n" << -"shape_6_per_frame2=y = y + q2;\n" << -"shape_6_per_frame3=a = q3;\n" << -"shape_6_per_frame4=a2 = q3;\n" << -"per_frame_1=wave_mystery = time%5*0.2;\n" << -"per_frame_2=q1 = 0.15*sin(time*1.14);\n" << -"per_frame_3=q2 = 0.1*sin(time*0.93+2);\n" << -"per_frame_4=q3 = if(above(frame,60),1, frame/60.0);\n"; - -return out.str(); - -} - -std::auto_ptr IdlePreset::allocate(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) -{ - - std::istringstream in(presetText()); - return std::auto_ptr(new Preset(in, presetInputs, presetOutputs, IDLE_PRESET_NAME)); -} - diff --git a/src/projectM-engine/IdlePreset.hpp b/src/projectM-engine/IdlePreset.hpp deleted file mode 100644 index 4553ae9bdd..0000000000 --- a/src/projectM-engine/IdlePreset.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef IDLE_PRESET_HPP -#define IDLE_PRESET_HPP -#include -#include "PresetFrameIO.hpp" -#include "Preset.hpp" - -class IdlePreset { - - public: - /// Allocate a new idle preset instance - static std::auto_ptr allocate(const PresetInputs & presetInputs, PresetOutputs & presetOutputs); - private: - static std::string presetText(); - static const std::string IDLE_PRESET_NAME; -}; -#endif diff --git a/src/projectM-engine/InitCond.cpp b/src/projectM-engine/InitCond.cpp deleted file mode 100755 index 321756aa0d..0000000000 --- a/src/projectM-engine/InitCond.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/* Library functions to manipulate initial condition values */ - -#include -#include -#include - -#include "Common.hpp" -#include "fatal.h" - -#include "Expr.hpp" -#include "InitCond.hpp" -#include "Param.hpp" -#include - -#include "wipemalloc.h" -#include -#include - -char InitCond::init_cond_string_buffer[STRING_BUFFER_SIZE]; -int InitCond::init_cond_string_buffer_index = 0; - -/* Creates a new initial condition */ -InitCond::InitCond( Param * _param, CValue _init_val ):param(_param), init_val(_init_val) { - - - // std::cerr << "InitCond::InitCond: " << this->param->name << std::endl; - - assert(param); - assert(param->engine_val); -} - -/* Frees initial condition structure */ -InitCond::~InitCond() {} - -void InitCond::evaluate() -{ - evaluate(false); -} - -/* Evaluate an initial conditon */ -void InitCond::evaluate(bool evalUser) { - - - - assert(this); - assert(param); - -if (param->flags & P_FLAG_USERDEF && !evalUser) - return; - - /* Set matrix flag to zero. This ensures - its constant value will be used rather than a matrix value - */ -param->matrix_flag = false; - - /* Parameter is of boolean type, either true/false */ - - if (param->type == P_TYPE_BOOL) { - - // printf( "init_cond: %s = %d (TYPE BOOL)\n", param->name.c_str(), init_val.bool_val); - //std::cerr << "[InitCond] param is a boolean of with name " - // << param->name << std::endl; - - assert(param->engine_val); - - *((bool*)param->engine_val) = init_val.bool_val; - - return; - } - - /* Parameter is an integer type, just like C */ - - if ( param->type == P_TYPE_INT) { - if (INIT_COND_DEBUG) { - DWRITE( "init_cond: %s = %d (TYPE INT)\n", param->name.c_str(), init_val.int_val); - } - assert(param->engine_val); - *((int*)param->engine_val) = init_val.int_val; - return; - } - - /* Parameter is of a float type, just like C */ - - if (param->type == P_TYPE_DOUBLE) { - if (INIT_COND_DEBUG) { - DWRITE( "init_cond: %s = %f (TYPE DOUBLE) -> %f -> %X -> %X\n", param->name.c_str(), - init_val.float_val, *((float *)param->engine_val), - param, param->engine_val ); - } - assert(param->engine_val); - *((float*)param->engine_val) = init_val.float_val; - return; - } - - /* Unknown type of parameter */ - return; -} - -/* WIP */ -void InitCond::init_cond_to_string() { - - int string_length; - char string[MAX_TOKEN_SIZE]; - - /* Create a string "param_name=val" */ - switch (param->type) { - - case P_TYPE_BOOL: - sprintf(string, "%s=%d\n", param->name.c_str(), init_val.bool_val); - break; - case P_TYPE_INT: - sprintf(string, "%s=%d\n", param->name.c_str(), init_val.int_val); - break; - case P_TYPE_DOUBLE: - sprintf(string, "%s=%f\n", param->name.c_str(), init_val.float_val); - break; - default: - return; - } - - /* Compute the length of the string */ - string_length = strlen(string); - - /* Buffer overflow check */ - if ((init_cond_string_buffer_index + string_length + 1) > (STRING_BUFFER_SIZE - 1)) - return; - - /* Copy the string into the initial condition string buffer */ - strncpy(init_cond_string_buffer + init_cond_string_buffer_index, string, string_length); - - /* Increment the string buffer, offset by one for the null terminator, which will be - overwritten by the next call to this function */ - init_cond_string_buffer_index+= string_length + 1; -} - diff --git a/src/projectM-engine/Makefile.am b/src/projectM-engine/Makefile.am deleted file mode 100755 index 88b9f0087d..0000000000 --- a/src/projectM-engine/Makefile.am +++ /dev/null @@ -1,48 +0,0 @@ -lib_LTLIBRARIES = libprojectM.la - -libprojectM_la_SOURCES=\ -PCM.cc \ -beat_detect.cc \ -browser.cc \ -builtin_funcs.cc \ -console_interface.cc \ -custom_shape.cc \ -custom_wave.cc \ -editor.cc \ -eval.cc \ -fftsg.cc \ -func.cc \ -glConsole.cc \ -init_cond.cc \ -menu.cc \ -param.cc \ -parser.cc \ -pbuffer.cc \ -per_frame_eqn.cc \ -per_pixel_eqn.cc \ -preset.cc \ -projectM.cc \ -splaytree.cc \ -timer.cc \ -tree_types.cc \ -wipemalloc.cc - -libprojectMincludedir = $(includedir)/projectM -libprojectMinclude_HEADERS = projectM.h pbuffer.h event.h console_interface.h PCM.h - -libprojectM_la_LDFLAGS = -version-info 0:0:0 - -AM_LIBS = @GL_LIBS@ @FTGL_LIBS@ -AM_CXXFLAGS= -DLINUX -D__CPLUSPLUS @GL_CFLAGS@ @FTGL_CFLAGS@ - -libprojectM_la_LIBADD = $(AM_LIBS) - -libprojectMconfigdir = $(datadir)/projectM -libprojectMconfig_DATA = share/config share/config.fastcomputers share/config.slowcomputers - -libprojectMfontdir = $(datadir)/projectM/fonts -libprojectMfont_DATA = share/fonts/*.ttf - -libprojectMpresetdir = $(datadir)/projectM/presets -libprojectMpreset_DATA= share/presets/*.milk - diff --git a/src/projectM-engine/Makefile.dist b/src/projectM-engine/Makefile.dist deleted file mode 100644 index 1b8b8d0ae6..0000000000 --- a/src/projectM-engine/Makefile.dist +++ /dev/null @@ -1,24 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: - rm -rf Debug - rm -rf Release - rm projectM.ncb - rm projectM.opt diff --git a/src/projectM-engine/Makefile.in b/src/projectM-engine/Makefile.in deleted file mode 100755 index 0f72972a23..0000000000 --- a/src/projectM-engine/Makefile.in +++ /dev/null @@ -1,621 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src -DIST_COMMON = $(libprojectMinclude_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \ - $(top_srcdir)/m4/ax_check_gl.m4 \ - $(top_srcdir)/m4/ax_lang_compiler_ms.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libdir)" \ - "$(DESTDIR)$(libprojectMconfigdir)" \ - "$(DESTDIR)$(libprojectMfontdir)" \ - "$(DESTDIR)$(libprojectMpresetdir)" \ - "$(DESTDIR)$(libprojectMincludedir)" -libLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(lib_LTLIBRARIES) -am__DEPENDENCIES_1 = -libprojectM_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_libprojectM_la_OBJECTS = PCM.lo beat_detect.lo browser.lo \ - builtin_funcs.lo console_interface.lo custom_shape.lo \ - custom_wave.lo editor.lo eval.lo fftsg.lo func.lo glConsole.lo \ - init_cond.lo menu.lo param.lo parser.lo pbuffer.lo \ - per_frame_eqn.lo per_pixel_eqn.lo preset.lo projectM.lo \ - splaytree.lo timer.lo tree_types.lo wipemalloc.lo -libprojectM_la_OBJECTS = $(am_libprojectM_la_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libprojectM_la_SOURCES) -DIST_SOURCES = $(libprojectM_la_SOURCES) -libprojectMconfigDATA_INSTALL = $(INSTALL_DATA) -libprojectMfontDATA_INSTALL = $(INSTALL_DATA) -libprojectMpresetDATA_INSTALL = $(INSTALL_DATA) -DATA = $(libprojectMconfig_DATA) $(libprojectMfont_DATA) \ - $(libprojectMpreset_DATA) -libprojectMincludeHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(libprojectMinclude_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -FTGL_CFLAGS = @FTGL_CFLAGS@ -FTGL_LIBS = @FTGL_LIBS@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -POW_LIB = @POW_LIB@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -acx_pthread_config = @acx_pthread_config@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -lib_LTLIBRARIES = libprojectM.la -libprojectM_la_SOURCES = \ -PCM.cc \ -beat_detect.cc \ -browser.cc \ -builtin_funcs.cc \ -console_interface.cc \ -custom_shape.cc \ -custom_wave.cc \ -editor.cc \ -eval.cc \ -fftsg.cc \ -func.cc \ -glConsole.cc \ -init_cond.cc \ -menu.cc \ -param.cc \ -parser.cc \ -pbuffer.cc \ -per_frame_eqn.cc \ -per_pixel_eqn.cc \ -preset.cc \ -projectM.cc \ -splaytree.cc \ -timer.cc \ -tree_types.cc \ -wipemalloc.cc - -libprojectMincludedir = $(includedir)/projectM -libprojectMinclude_HEADERS = projectM.h pbuffer.h event.h console_interface.h PCM.h -libprojectM_la_LDFLAGS = -version-info 0:0:0 -AM_LIBS = @GL_LIBS@ @FTGL_LIBS@ -AM_CXXFLAGS = -DLINUX -D__CPLUSPLUS @GL_CFLAGS@ @FTGL_CFLAGS@ -libprojectM_la_LIBADD = $(AM_LIBS) -libprojectMconfigdir = $(datadir)/projectM -libprojectMconfig_DATA = share/config share/config.fastcomputers share/config.slowcomputers -libprojectMfontdir = $(datadir)/projectM/fonts -libprojectMfont_DATA = share/fonts/*.ttf -libprojectMpresetdir = $(datadir)/projectM/presets -libprojectMpreset_DATA = share/presets/*.milk -all: all-am - -.SUFFIXES: -.SUFFIXES: .cc .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libprojectM.la: $(libprojectM_la_OBJECTS) $(libprojectM_la_DEPENDENCIES) - $(CXXLINK) -rpath $(libdir) $(libprojectM_la_LDFLAGS) $(libprojectM_la_OBJECTS) $(libprojectM_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PCM.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/beat_detect.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/browser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/builtin_funcs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console_interface.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_wave.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eval.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fftsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/func.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glConsole.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init_cond.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/param.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pbuffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_frame_eqn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_pixel_eqn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projectM.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splaytree.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree_types.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wipemalloc.Plo@am__quote@ - -.cc.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cc.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cc.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-libprojectMconfigDATA: $(libprojectMconfig_DATA) - @$(NORMAL_INSTALL) - test -z "$(libprojectMconfigdir)" || $(mkdir_p) "$(DESTDIR)$(libprojectMconfigdir)" - @list='$(libprojectMconfig_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libprojectMconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libprojectMconfigdir)/$$f'"; \ - $(libprojectMconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libprojectMconfigdir)/$$f"; \ - done - -uninstall-libprojectMconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(libprojectMconfig_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libprojectMconfigdir)/$$f'"; \ - rm -f "$(DESTDIR)$(libprojectMconfigdir)/$$f"; \ - done -install-libprojectMfontDATA: $(libprojectMfont_DATA) - @$(NORMAL_INSTALL) - test -z "$(libprojectMfontdir)" || $(mkdir_p) "$(DESTDIR)$(libprojectMfontdir)" - @list='$(libprojectMfont_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libprojectMfontDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libprojectMfontdir)/$$f'"; \ - $(libprojectMfontDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libprojectMfontdir)/$$f"; \ - done - -uninstall-libprojectMfontDATA: - @$(NORMAL_UNINSTALL) - @list='$(libprojectMfont_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libprojectMfontdir)/$$f'"; \ - rm -f "$(DESTDIR)$(libprojectMfontdir)/$$f"; \ - done -install-libprojectMpresetDATA: $(libprojectMpreset_DATA) - @$(NORMAL_INSTALL) - test -z "$(libprojectMpresetdir)" || $(mkdir_p) "$(DESTDIR)$(libprojectMpresetdir)" - @list='$(libprojectMpreset_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libprojectMpresetDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libprojectMpresetdir)/$$f'"; \ - $(libprojectMpresetDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libprojectMpresetdir)/$$f"; \ - done - -uninstall-libprojectMpresetDATA: - @$(NORMAL_UNINSTALL) - @list='$(libprojectMpreset_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libprojectMpresetdir)/$$f'"; \ - rm -f "$(DESTDIR)$(libprojectMpresetdir)/$$f"; \ - done -install-libprojectMincludeHEADERS: $(libprojectMinclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(libprojectMincludedir)" || $(mkdir_p) "$(DESTDIR)$(libprojectMincludedir)" - @list='$(libprojectMinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(libprojectMincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libprojectMincludedir)/$$f'"; \ - $(libprojectMincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libprojectMincludedir)/$$f"; \ - done - -uninstall-libprojectMincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libprojectMinclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libprojectMincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(libprojectMincludedir)/$$f"; \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libprojectMconfigdir)" "$(DESTDIR)$(libprojectMfontdir)" "$(DESTDIR)$(libprojectMpresetdir)" "$(DESTDIR)$(libprojectMincludedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-libprojectMconfigDATA \ - install-libprojectMfontDATA install-libprojectMincludeHEADERS \ - install-libprojectMpresetDATA - -install-exec-am: install-libLTLIBRARIES - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-libprojectMconfigDATA uninstall-libprojectMfontDATA \ - uninstall-libprojectMincludeHEADERS \ - uninstall-libprojectMpresetDATA - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-libprojectMconfigDATA \ - install-libprojectMfontDATA install-libprojectMincludeHEADERS \ - install-libprojectMpresetDATA install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libLTLIBRARIES uninstall-libprojectMconfigDATA \ - uninstall-libprojectMfontDATA \ - uninstall-libprojectMincludeHEADERS \ - uninstall-libprojectMpresetDATA - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/projectM-engine/MoodBar.cpp b/src/projectM-engine/MoodBar.cpp deleted file mode 100644 index 71f20556a0..0000000000 --- a/src/projectM-engine/MoodBar.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// -// C++ Implementation: MoodBar -// -// Description: -// -// -// Author: Carmelo Piccione , (C) 2007 -// -// Copyright: See COPYING file that comes with this distribution -// -// - -#include "MoodBar.hpp" -#include -extern "C" { -#include -} -#include -#include -#include "PCM.hpp" - -const unsigned int MoodBar::s_bark_bands[] = -{ 100, 200, 300, 400, 510, 630, 770, 920, - 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, - 5300, 6400, 7700, 9500, 12000, 15500 }; - -void MoodBar::calculateMood - (float * rgb_left, float * rgb_right, float * rgb_avg) { - - unsigned int i; - float real_left, real_right; - float imag_left, imag_right; - - - for (i = 0; i < 24; ++i) { - m_amplitudes_left[i] = 0.f; - m_amplitudes_right[i] = 0.f; - - } - for (i = 0; i < m_numFreqs; ++i) - { - real_left = m_pcm->vdataL[2*i]; imag_left = m_pcm->vdataL[2*i + 1]; - real_right = m_pcm->vdataR[2*i]; imag_right = m_pcm->vdataR[2*i + 1]; - - m_amplitudes_left[m_barkband_table[i]] += sqrtf (real_left*real_left + imag_left*imag_left); - m_amplitudes_right[m_barkband_table[i]] += sqrtf (real_right*real_right + imag_right*imag_right); - } - - for (i = 0; i < 24; ++i) { - rgb_left[i/8] += m_amplitudes_left[i] * m_amplitudes_left[i]; - rgb_right[i/8] += m_amplitudes_right[i] * m_amplitudes_right[i]; - } - - for (i = 0; i < 3; i++) { - rgb_left[i] = sqrtf (rgb_left[i]); - rgb_right[i] = sqrtf (rgb_right[i]); - - rgb_avg[i] = (rgb_left[i] + rgb_right[i]) / 2; - rgb_avg[i] = sqrtf (rgb_avg[i]); - } - - /// @bug verify normalized values - std::cerr << "rgb_avg: " << rgb_avg[0] << "," << "," << rgb_avg[1] << "," << rgb_avg[2] << std::endl; - for (i = 0; i < 3; i++) { - assert(rgb_avg[i] <= 1.0); - assert(rgb_avg[i] >= 0.0); - } - -} - - -/* This calculates a table that caches which bark band slot each - * incoming band is supposed to go in. */ -void -MoodBar::calcBarkbandTable () -{ - unsigned int i; - unsigned int barkband = 0; - - /* Avoid divide-by-zero */ - if (!m_size || !m_rate) - return; - - if (m_barkband_table) - free (m_barkband_table); - - m_barkband_table = new unsigned int[(m_numFreqs * sizeof (unsigned int))]; - - for (i = 0; i < m_numFreqs; ++i) - { - if (barkband < 23 && 1) - //(unsigned int) GST_SPECTRUM_BAND_FREQ (i, m_size, m_rate) - // >= s_bark_bands[barkband]) - barkband++; - - m_barkband_table[i] = barkband; - - } -} diff --git a/src/projectM-engine/MoodBar.hpp b/src/projectM-engine/MoodBar.hpp deleted file mode 100644 index 0667ca2d84..0000000000 --- a/src/projectM-engine/MoodBar.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* projectM -- Milkdrop-esque visualisation SDK - Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#ifndef _MOODBAR_HPP -#define _MOODBAR_HPP - -class PCM; - -class MoodBar { -public: - - MoodBar(unsigned int numFreqs, int size, int rate, PCM * pcm) : m_numFreqs(numFreqs), m_size(size), m_rate(rate), m_pcm(pcm) { - calcBarkbandTable(); - } - - ~MoodBar() { delete(m_barkband_table); } - - /// Calculate rgb mood values for both left and right channels. - /// Out should be an array containing numFreqs pairs of real/complex values. - void calculateMood(float * rgb_left, float * rgb_right, float * rgb_avg); - -private: - unsigned int m_numFreqs; - int m_size; - int m_rate; - /* This calculates a table that caches which bark band slot each - * incoming band is supposed to go in. */ - void calcBarkbandTable (); - PCM * m_pcm; - - float m_amplitudes_left[24]; - float m_amplitudes_right[24]; - - static const unsigned int s_bark_bands[24]; - - unsigned int * m_barkband_table; - -}; - -#endif diff --git a/src/projectM-engine/PBuffer.cpp b/src/projectM-engine/PBuffer.cpp deleted file mode 100755 index 9e01b4c806..0000000000 --- a/src/projectM-engine/PBuffer.cpp +++ /dev/null @@ -1,275 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: pbuffer.c,v 1.1.1.1 2005/12/23 18:05:00 psperl Exp $ - * - * Render this methods - */ - -#include -//#include - -#include "Common.hpp" -#include "PBuffer.hpp" - -#ifdef MACOS -#include -#endif /** MACOS */ - -RenderTarget::~RenderTarget() { - - - glDeleteTextures( 1, &this->textureID[0]); - - if (usePbuffers) - { - glDeleteTextures( 1, &this->textureID[1] ); - glDeleteRenderbuffersEXT(1, &this->depthb[0]); - glDeleteFramebuffersEXT(1, &this->fbuffer[0]); - if(renderToTexture) - { - glDeleteTextures( 1, &this->textureID[2] ); - glDeleteRenderbuffersEXT(1, &this->depthb[1]); - glDeleteFramebuffersEXT(1, &this->fbuffer[1]); - } - } - -} - -GLuint RenderTarget::initRenderToTexture() -{ - if (this->usePbuffers==1) - { - this->renderToTexture=1; - - GLuint fb2, depth_rb2; - glGenFramebuffersEXT(1, &fb2); - glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, fb2 ); - glGenRenderbuffersEXT(1, &depth_rb2); - glBindRenderbufferEXT( GL_RENDERBUFFER_EXT, depth_rb2 ); - - glRenderbufferStorageEXT( GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, this->texsize,this->texsize ); - glFramebufferRenderbufferEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depth_rb2 ); - this->fbuffer[1] = fb2; - this->depthb[1]= depth_rb2; - glGenTextures(1, &this->textureID[2]); - glBindTexture(GL_TEXTURE_2D, this->textureID[2]); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, texsize, texsize, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL ); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, this->textureID[2], 0 ); - return this->textureID[2]; - } - else return -1; - -} - -/** Creates new pbuffers */ -RenderTarget::RenderTarget(int texsize, int width, int height) : usePbuffers(false) { - - int mindim = 0; - int origtexsize = 0; - this->usePbuffers = true; - this->renderToTexture = 0; - - this->texsize = texsize; - - - if(this->usePbuffers) - { - glewInit(); - - if(glewIsSupported("GL_EXT_framebuffer_object")) - { - - - - - - - GLuint fb, depth_rb, rgba_tex, other_tex; - glGenFramebuffersEXT(1, &fb); - glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, fb ); - - glGenRenderbuffersEXT(1, &depth_rb); - glBindRenderbufferEXT( GL_RENDERBUFFER_EXT, depth_rb ); - glRenderbufferStorageEXT( GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, this->texsize,this->texsize ); - glFramebufferRenderbufferEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depth_rb ); - this->fbuffer[0] = fb; - this->depthb[0]= depth_rb; - - glGenTextures(1, &other_tex); - glBindTexture(GL_TEXTURE_2D,other_tex); - glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, texsize, texsize, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL ); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - //glGenerateMipmapEXT(GL_TEXTURE_2D); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - - - - glGenTextures(1, &rgba_tex); - glBindTexture(GL_TEXTURE_2D, rgba_tex); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, texsize, texsize, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL ); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - //glGenerateMipmapEXT(GL_TEXTURE_2D); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - - - - glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, rgba_tex, 0 ); - this->textureID[0] = rgba_tex; - this->textureID[1] = other_tex; - - GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - if (status == GL_FRAMEBUFFER_COMPLETE_EXT) { - return; - } - } - else this->usePbuffers=0; - } - - - DWRITE( "using teximage hack fallback\n" ); - - /** Fallback pbuf;fer creation via teximage hack */ - /** Check the texture size against the viewport size */ - /** If the viewport is smaller, then we'll need to scale the texture size down */ - /** If the viewport is larger, scale it up */ - mindim = width < height ? width : height; - origtexsize = this->texsize; - this->texsize = nearestPower2( mindim, SCALE_MINIFY ); - - /* Create the texture that will be bound to the render this */ - if ( glIsTexture( this->textureID[0] ) ) { - DWRITE( "texture already exists\n" ); - if ( this->texsize != origtexsize ) { - DWRITE( "deleting existing texture due to resize\n" ); - glDeleteTextures( 1, &this->textureID[0] ); - } - } - - if ( !glIsTexture( this->textureID[0] ) ) { - glGenTextures(1, &this->textureID[0] ); - - DWRITE( "allocate texture: %d\ttexsize: %d x %d\n", - this->textureID[0], this->texsize, this->texsize ); - glBindTexture(GL_TEXTURE_2D, this->textureID[0] ); - //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - - glTexImage2D(GL_TEXTURE_2D, - 0, - 3, - this->texsize, this->texsize, - 0, - GL_RGB, - GL_UNSIGNED_BYTE, - NULL); - } - - this->usePbuffers=0; - return; - } - -/** Destroys the pbuffer */ - -/** Locks the pbuffer */ -void RenderTarget::lock() { - - - if(this->usePbuffers) - { - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, this->fbuffer[0]); - } - - } - -/** Unlocks the pbuffer */ -void RenderTarget::unlock() { - - - if(this->usePbuffers) - { - glBindTexture( GL_TEXTURE_2D, this->textureID[1] ); - glCopyTexSubImage2D( GL_TEXTURE_2D, - 0, 0, 0, 0, 0, - this->texsize, this->texsize ); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); - return; - } - - /** Fallback texture path */ - DWRITE( "copying framebuffer to texture\n" ); - glBindTexture( GL_TEXTURE_2D, this->textureID[0] ); - glCopyTexSubImage2D( GL_TEXTURE_2D, - 0, 0, 0, 0, 0, - this->texsize, this->texsize ); - } - -/** - * Calculates the nearest power of two to the given number using the - * appropriate rule - */ -int RenderTarget::nearestPower2( int value, TextureScale scaleRule ) { - - int x = value; - int power = 0; - - DWRITE( "nearestPower2(): %d\n", value ); - - while ( ( x & 0x01 ) != 1 ) { - x >>= 1; - } - - if ( x == 1 ) { - return value; - } else { - x = value; - while ( x != 0 ) { - x >>= 1; - power++; - } - switch ( scaleRule ) { - case SCALE_NEAREST: - if ( ( ( 1 << power ) - value ) <= ( value - ( 1 << ( power - 1 ) ) ) ) { - return 1 << power; - } else { - return 1 << ( power - 1 ); - } - case SCALE_MAGNIFY: - return 1 << power; - case SCALE_MINIFY: - return 1 << ( power - 1 ); - default: - break; - } - } - return 0; - } diff --git a/src/projectM-engine/PBuffer.hpp b/src/projectM-engine/PBuffer.hpp deleted file mode 100755 index 591b89a209..0000000000 --- a/src/projectM-engine/PBuffer.hpp +++ /dev/null @@ -1,98 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: PBuffer.hpp,v 1.1.1.1 2005/12/23 18:05:00 psperl Exp $ - * - * Opaque render target - * - */ - -#ifndef _RENDERTARGET_H -#define _RENDERTARGET_H - -#ifdef USE_FBO -#include -#endif - -#if defined(MACOS) && !defined(USE_FBO) -#include -#endif /** MACOS */ - -#ifdef WIN32 -#include -#include -#endif /** WIN32 */ - -#ifdef LINUX -#include -#include -#endif - -typedef enum { SCALE_NEAREST, SCALE_MAGNIFY, SCALE_MINIFY } TextureScale; -typedef enum { - AGL_CONTEXT, - CGL_CONTEXT, - NSGL_CONTEXT, - GLX_CONTEXT, - WGL_CONTEXT, - } ContextType; - -typedef enum { PBUFFER_PASS1, PBUFFER_PASS2 } PBufferPass; - -class RenderTarget { - - -public: - /** Texture size */ - int texsize; - - /** Application context */ - ContextType origContextType; - - - int usePbuffers; - int renderToTexture; - - ~RenderTarget(); - - RenderTarget( int texsize, int width, int height ); - void lock(); - void unlock(); - GLuint initRenderToTexture(); - int nearestPower2( int value, TextureScale scaleRule ); - - /** Opaque pbuffer context and pbuffer */ -/* -#ifdef MACOS - void *origContext; - void *pbufferContext; - void *pbuffer; -#endif -*/ - /** Render target texture ID for non-pbuffer systems */ - GLuint textureID[3]; - GLuint fbuffer[2]; - GLuint depthb[2]; - }; - - - -#endif /** !_RENDERTARGET_H */ diff --git a/src/projectM-engine/PCM.cpp b/src/projectM-engine/PCM.cpp deleted file mode 100755 index 1be8f7094b..0000000000 --- a/src/projectM-engine/PCM.cpp +++ /dev/null @@ -1,329 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: PCM.c,v 1.3 2006/03/13 20:35:26 psperl Exp $ - * - * Takes sound data from wherever and hands it back out. - * Returns PCM Data or spectrum data, or the derivative of the PCM data - */ - -#include -#include - -#include "Common.hpp" -#include "wipemalloc.h" -#include "fftsg.h" -#include "PCM.hpp" - -//initPCM(int samples) -// -//Initializes the PCM buffer to -// number of samples specified. - -PCM::PCM() { - initPCM( 2048 ); - } - -void PCM::initPCM(int samples) { - int i; - - DWRITE( "initPCM()\n" ); - - waveSmoothing = 0; - - //Allocate memory for PCM data buffer - PCMd = (float **)wipemalloc(2 * sizeof(float *)); - PCMd[0] = (float *)wipemalloc(samples * sizeof(float)); - PCMd[1] = (float *)wipemalloc(samples * sizeof(float)); - - maxsamples=samples; - newsamples=0; - numsamples = maxsamples; - - //Initialize buffers to 0 - for (i=0;imaxsamples = 2048; -// this->numsamples = 0; -// this->pcmdataL = NULL; -// this->pcmdataR = NULL; - - /** Allocate PCM data structures */ - pcmdataL=(float *)wipemalloc(this->maxsamples*sizeof(float)); - pcmdataR=(float *)wipemalloc(this->maxsamples*sizeof(float)); - -} - -PCM::~PCM() { - - free(pcmdataL); - free(pcmdataR); - free(w); - free(ip); - - free(PCMd[0]); - free(PCMd[1]); - free(PCMd); - -} - -void PCM::addPCMfloat(float *PCMdata, int samples) -{ - int i,j; - - - for(i=0;imaxsamples) newsamples=maxsamples; - numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); - getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); - getPCM(vdataL,512,0,1,0,0); - getPCM(vdataR,512,1,1,0,0); -} - -void PCM::addPCM16Data(const short* pcm_data, short samples) { - int i, j; - - for (i = 0; i < samples; ++i) { - j=i+start; - PCMd[0][j % maxsamples]=(pcm_data[i * 2 + 0]/16384.0); - PCMd[1][j % maxsamples]=(pcm_data[i * 2 + 1]/16384.0); - } - - start = (start + samples) % maxsamples; - - newsamples+=samples; - if (newsamples>maxsamples) newsamples=maxsamples; - numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); - getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); - getPCM(vdataL,512,0,1,0,0); - getPCM(vdataR,512,1,1,0,0); -} - - -void PCM::addPCM16(short PCMdata[2][512]) -{ - int i,j; - int samples=512; - - DWRITE( "start: %d\n", start ); - - for(i=0;imaxsamples) newsamples=maxsamples; - - numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); - getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); - getPCM(vdataL,512,0,1,0,0); - getPCM(vdataR,512,1,1,0,0); -} - - -void PCM::addPCM8( unsigned char PCMdata[2][512]) -{ - int i,j; - int samples=512; - - - for(i=0;imaxsamples) newsamples=maxsamples; - numsamples = getPCMnew(pcmdataR,1,0,waveSmoothing,0,0); - getPCMnew(pcmdataL,0,0,waveSmoothing,0,1); - getPCM(vdataL,512,0,1,0,0); - getPCM(vdataR,512,1,1,0,0); -} - - -//puts sound data requested at provided pointer -// -//samples is number of PCM samples to return -//freq = 0 gives PCM data -//freq = 1 gives FFT data -//smoothing is the smoothing coefficient - -//returned values are normalized from -1 to 1 - -void PCM::getPCM(float *PCMdata, int samples, int channel, int freq, float smoothing, int derive) -{ - int i,index; - - index=start-1; - - if (index<0) index=maxsamples+index; - - PCMdata[0]=PCMd[channel][index]; - - for(i=1;i -#include -#include -#include -#include "projectM.hpp" - -#include "fatal.h" -#include "Common.hpp" - -#include "CustomShape.hpp" -#include "Eval.hpp" -#include "Expr.hpp" -#include "InitCond.hpp" -#include "Param.hpp" -#include "Preset.hpp" -#include -#include - -/** Constructor */ -Param::Param( std::string _name, short int _type, short int _flags, void * _engine_val, void * _matrix, - CValue _default_init_val, CValue _upper_bound, CValue _lower_bound): - name(_name), - type(_type), - flags (_flags), - matrix_flag (0), - engine_val(_engine_val), - matrix (_matrix), - default_init_val (_default_init_val), - upper_bound (_upper_bound), - lower_bound (_lower_bound) - { - -} - - -/* Creates a user defined parameter */ -Param::Param(std::string _name) : - name(_name), - type(P_TYPE_DOUBLE), - flags(P_FLAG_USERDEF), - matrix_flag(0), - matrix(0) - { - - engine_val = new float(); - - default_init_val.float_val = DEFAULT_DOUBLE_IV; - upper_bound.float_val = DEFAULT_DOUBLE_UB; - lower_bound.float_val = DEFAULT_DOUBLE_LB; - - /// @note may have fixed a recent bug. testing - *((float*)engine_val) = default_init_val.float_val; - - -} - -/* Free's a parameter type */ -Param::~Param() { - - // I hate this, but will let it be for now - if (flags & P_FLAG_USERDEF) { - delete((double*)engine_val); - } - - if (PARAM_DEBUG) printf("~Param: freeing \"%s\".\n", name.c_str()); -} - - -/* Returns nonzero if the string is valid parameter name */ -bool Param::is_valid_param_string( const char * string ) { - - if (string == NULL) - return false; - - /* This ensures the first character is non numeric */ - if ( ((*string) >= 48) && ((*string) <= 57)) - return false; - - /* These probably should never happen */ - if (*string == '.') - return false; - - if (*string == '+') - return false; - - if (*string == '-') - return false; - - /* Could also add checks for other symbols. May do later */ - - return true; - -} - - - -/* Loads a float parameter into the builtin database */ -Param * Param::new_param_float(char * name, short int flags, void * engine_val, void * matrix, - float upper_bound, float lower_bound, float init_val) { - - Param * param; - CValue iv, ub, lb; - assert(engine_val); - - iv.float_val = init_val; - ub.float_val = upper_bound; - lb.float_val = lower_bound; - - if ((param = new Param(name, P_TYPE_DOUBLE, flags, engine_val, matrix,iv, ub, lb)) == NULL) - return NULL; - - - /* Finished, return success */ - return param; -} - -/* Creates a new parameter of type int */ -Param * Param::new_param_int(char * name, short int flags, void * engine_val, - int upper_bound, int lower_bound, int init_val) { - - Param * param; - CValue iv, ub, lb; - assert(engine_val); - - iv.int_val = init_val; - ub.int_val = upper_bound; - lb.int_val = lower_bound; - - if ((param = new Param(name, P_TYPE_INT, flags, engine_val, NULL, iv, ub, lb)) == NULL) - return NULL; - - - /* Finished, return success */ - return param; -} - -/* Creates a new parameter of type bool */ -Param * Param::new_param_bool(char * name, short int flags, void * engine_val, - int upper_bound, int lower_bound, bool init_val) { - - Param * param; - CValue iv, ub, lb; - assert(engine_val); - - iv.bool_val = init_val; - ub.bool_val = upper_bound; - lb.bool_val = lower_bound; - - if ((param = new Param(name, P_TYPE_BOOL, flags, engine_val, NULL, iv, ub, lb)) == NULL) - return NULL; - - - /* Finished, return success */ - return param; -} - -/* Creates a new parameter of type bool */ -Param * Param::new_param_string(char * name, short int flags, void * engine_val) { - - Param * param; - CValue iv, ub, lb; - assert(engine_val); - -// iv.bool_val = init_val; - // ub.bool_val = upper_bound; - // lb.bool_val = lower_bound; - - if ((param = new Param(name, P_TYPE_STRING, flags, engine_val, NULL, iv, ub, lb)) == NULL) - return NULL; - - - /* Finished, return success */ - return param; -} - - diff --git a/src/projectM-engine/Param.hpp b/src/projectM-engine/Param.hpp deleted file mode 100755 index 0ad2b614d3..0000000000 --- a/src/projectM-engine/Param.hpp +++ /dev/null @@ -1,151 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Parameter used within a preset - * - * $Log$ - */ - -#ifndef _PARAM_H -#define _PARAM_H - -/* Debug level, zero for none */ -#define PARAM_DEBUG 0 - -#define P_CREATE 1 -#define P_NONE 0 - -#define P_TYPE_BOOL 0 -#define P_TYPE_INT 1 -#define P_TYPE_DOUBLE 2 -#define P_TYPE_STRING 3 - -#define P_FLAG_NONE 0 -#define P_FLAG_READONLY 1 -#define P_FLAG_USERDEF (1 << 1) -#define P_FLAG_QVAR (1 << 2) -#define P_FLAG_TVAR (1 << 3) -#define P_FLAG_ALWAYS_MATRIX (1 << 4) -#define P_FLAG_PER_PIXEL (1 << 6) -#define P_FLAG_PER_POINT (1 << 7) - - -#include "Expr.hpp" -#include "Common.hpp" -#include -#include -class InitCond; -class Param; -class Preset; -//#include - -/* Parameter Type */ -class Param { -public: - std::string name; /* name of the parameter, not necessary but useful neverthless */ - short int type; /* parameter number type (int, bool, or float) */ - short int flags; /* read, write, user defined, etc */ - short int matrix_flag; /* for optimization purposes */ - void * engine_val; /* pointer to the engine variable */ - void * matrix; /* per pixel / per point matrix for this variable */ - CValue default_init_val; /* a default initial condition value */ - CValue upper_bound; /* this parameter's upper bound */ - CValue lower_bound; /* this parameter's lower bound */ - - /// Create a new parameter - Param(std::string name, short int type, short int flags, - void * eqn_val, void *matrix, - CValue default_init_val, CValue upper_bound, - CValue lower_bound); - - ~Param(); - - /// Create a user defined floating point parameter - Param( std::string name ); - - static bool is_valid_param_string( const char *string ); - void set_param( float val ); - - static Param *new_param_float( char *name, short int flags, void *engine_val, - void *matrix, float upper_bound, - float lower_bound, - float init_val ); - static Param *new_param_double( char *name, short int flags, void *engine_val, - void *matrix, double upper_bound, - double lower_bound, - double init_val ); - static Param * new_param_int( char * name, short int flags, void * engine_val, - int upper_bound, int lower_bound, int init_val ); - static Param * new_param_bool( char * name, short int flags, void * engine_val, - int upper_bound, int lower_bound, bool init_val ); - static Param * new_param_string(char * name, short int flags, void * engine_val); - -}; - - -/* Sets the parameter engine value to value val. - clipping occurs if necessary */ -inline void Param::set_param( float val) { - - switch (type) { - - case P_TYPE_BOOL: - if (val < 0) - *((bool*)engine_val) = false; - else if (val > 0) - *((bool*)engine_val) = true; - else - *((bool*)engine_val) = false; - break; - case P_TYPE_INT: - /* Make sure value is an integer */ - val = floor(val); - if (val < lower_bound.int_val) - *((int*)engine_val) = lower_bound.int_val; - else if (val > upper_bound.int_val) - *((int*)engine_val) = upper_bound.int_val; - else - *((int*)engine_val) = (int)val; - break; - case P_TYPE_DOUBLE: - /* Make sure value is an integer */ - - - if (val < lower_bound.float_val) - *((float*)engine_val) = lower_bound.float_val; - else if (val > upper_bound.float_val) - *((float*)engine_val) = upper_bound.float_val; - else - *((float*)engine_val) = val; - break; - default: - abort(); - break; - - } - - return; -} - -#endif /** !_PARAM_TYPES_H */ - diff --git a/src/projectM-engine/Parser.hpp b/src/projectM-engine/Parser.hpp deleted file mode 100755 index 80996d24f6..0000000000 --- a/src/projectM-engine/Parser.hpp +++ /dev/null @@ -1,182 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Preset parser - * - * $Log$ - */ - -#ifndef _PARSER_H -#define _PARSER_H -#define PARSE_DEBUG 0 -//#define PARSE_DEBUG 0 - -#include - -#include "Expr.hpp" -#include "PerFrameEqn.hpp" -#include "InitCond.hpp" -#include "Preset.hpp" - -/* Strings that prefix (and denote the type of) equations */ -#define PER_FRAME_STRING "per_frame_" -#define PER_FRAME_STRING_LENGTH 10 - -#define PER_PIXEL_STRING "per_pixel_" -#define PER_PIXEL_STRING_LENGTH 10 - -#define PER_FRAME_INIT_STRING "per_frame_init_" -#define PER_FRAME_INIT_STRING_LENGTH 15 - -#define WAVECODE_STRING "wavecode_" -#define WAVECODE_STRING_LENGTH 9 - -#define WAVE_STRING "wave_" -#define WAVE_STRING_LENGTH 5 - -#define PER_POINT_STRING "per_point" -#define PER_POINT_STRING_LENGTH 9 - -#define PER_FRAME_STRING_NO_UNDERSCORE "per_frame" -#define PER_FRAME_STRING_NO_UNDERSCORE_LENGTH 9 - -#define SHAPECODE_STRING "shapecode_" -#define SHAPECODE_STRING_LENGTH 10 - -#define SHAPE_STRING "shape_" -#define SHAPE_STRING_LENGTH 6 - -#define SHAPE_INIT_STRING "init" -#define SHAPE_INIT_STRING_LENGTH 4 - -#define WAVE_INIT_STRING "init" -#define WAVE_INIT_STRING_LENGTH 4 - -typedef enum { - UNSET_LINE_MODE, - PER_FRAME_LINE_MODE, - PER_PIXEL_LINE_MODE, - PER_FRAME_INIT_LINE_MODE, - INIT_COND_LINE_MODE, - CUSTOM_WAVE_PER_POINT_LINE_MODE, - CUSTOM_WAVE_PER_FRAME_LINE_MODE, - CUSTOM_WAVE_WAVECODE_LINE_MODE, - CUSTOM_SHAPE_SHAPECODE_LINE_MODE, - CUSTOM_SHAPE_PER_FRAME_LINE_MODE, - CUSTOM_SHAPE_PER_FRAME_INIT_LINE_MODE, - CUSTOM_WAVE_PER_FRAME_INIT_LINE_MODE -} line_mode_t; - -/** Token enumeration type */ -typedef enum { - tEOL, /* end of a line, usually a '/n' or '/r' */ - tEOF, /* end of file */ - tLPr, /* ( */ - tRPr, /* ) */ - tLBr, /* [ */ - tRBr, /* ] */ - tEq, /* = */ - tPlus, /* + */ - tMinus, /* - */ - tMult, /* * */ - tMod, /* % */ - tDiv, /* / */ - tOr, /* | */ - tAnd, /* & */ - tComma, /* , */ - tPositive, /* + as a prefix operator */ - tNegative, /* - as a prefix operator */ - tSemiColon, /* ; */ - tStringTooLong, /* special token to indicate an invalid string length */ - tStringBufferFilled /* the string buffer for this line is maxed out */ - } token_t; - -class CustomShape; -class CustomWave; -class GenExpr; -class InfixOp; -class PerFrameEqn; -class Preset; -class TreeExpr; - -class Parser { -public: - static std::string lastLinePrefix; - static line_mode_t line_mode; - static CustomWave *current_wave; - static CustomShape *current_shape; - static int string_line_buffer_index; - static char string_line_buffer[STRING_LINE_SIZE]; - static unsigned int line_count; - static int per_frame_eqn_count; - static int per_frame_init_eqn_count; - static int last_custom_wave_id; - static int last_custom_shape_id; - static char last_eqn_type[MAX_TOKEN_SIZE]; - static int last_token_size; - static bool tokenWrapAroundEnabled; - - static PerFrameEqn *parse_per_frame_eqn( std::istream & fs, int index, - Preset * preset); - static int parse_per_pixel_eqn( std::istream & fs, Preset * preset, - char * init_string); - static InitCond *parse_init_cond( std::istream & fs, char * name, Preset * preset ); - static int parse_preset_name( std::istream & fs, char * name ); - static int parse_top_comment( std::istream & fs ); - static int parse_line( std::istream & fs, Preset * preset ); - - static int get_string_prefix_len(char * string); - static TreeExpr * insert_gen_expr(GenExpr * gen_expr, TreeExpr ** root); - static TreeExpr * insert_infix_op(InfixOp * infix_op, TreeExpr ** root); - static token_t parseToken(std::istream & fs, char * string); - static GenExpr ** parse_prefix_args(std::istream & fs, int num_args, Preset * preset); - static GenExpr * parse_infix_op(std::istream & fs, token_t token, TreeExpr * tree_expr, Preset * preset); - static GenExpr * parse_sign_arg(std::istream & fs); - static int parse_float(std::istream & fs, float * float_ptr); - static int parse_int(std::istream & fs, int * int_ptr); - static int insert_gen_rec(GenExpr * gen_expr, TreeExpr * root); - static int insert_infix_rec(InfixOp * infix_op, TreeExpr * root); - static GenExpr * parse_gen_expr(std::istream & fs, TreeExpr * tree_expr, Preset * preset); - static PerFrameEqn * parse_implicit_per_frame_eqn(std::istream & fs, char * param_string, int index, Preset * preset); - static InitCond * parse_per_frame_init_eqn(std::istream & fs, Preset * preset, std::map * database); - static int parse_wavecode_prefix(char * token, int * id, char ** var_string); - static int parse_wavecode(char * token, std::istream & fs, Preset * preset); - static int parse_wave_prefix(char * token, int * id, char ** eqn_string); - static int parse_wave_helper(std::istream & fs, Preset * preset, int id, char * eqn_type, char * init_string); - static int parse_shapecode(char * eqn_string, std::istream & fs, Preset * preset); - static int parse_shapecode_prefix(char * token, int * id, char ** var_string); - - static int parse_wave(char * eqn_string, std::istream & fs, Preset * preset); - static int parse_shape(char * eqn_string, std::istream & fs, Preset * preset); - static int parse_shape_prefix(char * token, int * id, char ** eqn_string); - - static int update_string_buffer(char * buffer, int * index); - static int string_to_float(char * string, float * float_ptr); - static int parse_shape_per_frame_init_eqn(std::istream & fs, CustomShape * custom_shape, Preset * preset); - static int parse_shape_per_frame_eqn(std::istream & fs, CustomShape * custom_shape, Preset * preset); - static int parse_wave_per_frame_eqn(std::istream & fs, CustomWave * custom_wave, Preset * preset); - static bool wrapsToNextLine(const std::string & str); - }; - -#endif /** !_PARSER_H */ - diff --git a/src/projectM-engine/PerPixelEqn.cpp b/src/projectM-engine/PerPixelEqn.cpp deleted file mode 100755 index f6ac690be6..0000000000 --- a/src/projectM-engine/PerPixelEqn.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include -#include -#include "projectM.hpp" - -#include "fatal.h" -#include "Common.hpp" - -#include "Expr.hpp" -#include "Eval.hpp" -#include "Param.hpp" -#include "PerPixelEqn.hpp" -#include - -#include "wipemalloc.h" -#include -/* Evaluates a per pixel equation */ -void PerPixelEqn::evaluate(int mesh_i, int mesh_j) { - - GenExpr * eqn_ptr = 0; - - - eqn_ptr = this->gen_expr; - - float ** param_matrix = (float**)this->param->matrix; - - if (param_matrix == 0) { - assert(param->engine_val); - (*(float*)param->engine_val) = eqn_ptr->eval_gen_expr(mesh_i, mesh_j); - - } else { - - assert(!(eqn_ptr == NULL || param_matrix == NULL)); - - param_matrix[mesh_i][mesh_j] = eqn_ptr->eval_gen_expr(mesh_i, mesh_j); - - /* Now that this parameter has been referenced with a per - pixel equation, we let the evaluator know by setting - this flag */ - /// @bug review and verify this behavior - param->matrix_flag = true; - param->flags |= P_FLAG_PER_PIXEL; - } -} - -PerPixelEqn::PerPixelEqn(int _index, Param * _param, GenExpr * _gen_expr):index(_index), param(_param), gen_expr(_gen_expr) { - - assert(index >= 0); - assert(param != 0); - assert(gen_expr != 0); - -} - diff --git a/src/projectM-engine/PerPointEqn.cpp b/src/projectM-engine/PerPointEqn.cpp deleted file mode 100755 index e0c7d6e8da..0000000000 --- a/src/projectM-engine/PerPointEqn.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include - -#include "projectM.hpp" -#include -#include "fatal.h" -#include "Common.hpp" - -#include "CustomWave.hpp" -#include "Eval.hpp" -#include "Expr.hpp" -#include "Param.hpp" -#include "PerPixelEqn.hpp" -#include "PerPointEqn.hpp" -#include -#include -#include "wipemalloc.h" - -/* Evaluates a per point equation for the current custom wave given by interface_wave ptr */ -void PerPointEqn::evaluate(int i) -{ - - float * param_matrix; - GenExpr * eqn_ptr; - - // samples = CustomWave::interface_wave->samples; - - eqn_ptr = gen_expr; - - if (param->matrix == NULL) - { - assert(param->matrix_flag == false); - (*(float*)param->engine_val) = eqn_ptr->eval_gen_expr(i,-1); - - - return; - } - - else - { - param_matrix = (float*)param->matrix; - - // -1 is because per points only use one dimension - param_matrix[i] = eqn_ptr->eval_gen_expr(i, -1); - - - /* Now that this parameter has been referenced with a per - point equation, we let the evaluator know by setting - this flag */ - - if (!param->matrix_flag) - param->matrix_flag = true; - - } - -} - -PerPointEqn::PerPointEqn(int _index, Param * _param, GenExpr * _gen_expr, int _samples): - index(_index), - samples(_samples), - param(_param), - gen_expr(_gen_expr) - -{} - - -PerPointEqn::~PerPointEqn() -{ - delete gen_expr; -} diff --git a/src/projectM-engine/Preset.cpp b/src/projectM-engine/Preset.cpp deleted file mode 100755 index d0f5d4f0bb..0000000000 --- a/src/projectM-engine/Preset.cpp +++ /dev/null @@ -1,534 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include -#ifdef WIN32 -#include "win32-dirent.h" -#else -#include -#endif /** WIN32 */ -#include - -#include "Preset.hpp" -#include "Parser.hpp" -#include "ParamUtils.hpp" -#include "InitCondUtils.hpp" -#include "fatal.h" -#include -#include - - -Preset::Preset(std::istream & in, const PresetInputs & presetInputs, PresetOutputs & presetOutputs, const std::string & _presetName): - builtinParams(presetInputs, presetOutputs), - file_path(_presetName), - m_presetOutputs(presetOutputs), - m_presetInputs(presetInputs) - -{ - - m_presetOutputs.customWaves.clear(); - m_presetOutputs.customShapes.clear(); - - initialize(in); - -} - - -Preset::Preset(const std::string & filename, const PresetInputs & presetInputs, PresetOutputs & presetOutputs): - builtinParams(presetInputs, presetOutputs), - file_path(filename), - m_presetOutputs(presetOutputs), - m_presetInputs(presetInputs) -{ - - m_presetOutputs.customWaves.clear(); - m_presetOutputs.customShapes.clear(); - - initialize(filename); - -} - -Preset::~Preset() -{ - - Algorithms::traverse >(init_cond_tree); - - Algorithms::traverse >(per_frame_init_eqn_tree); - - Algorithms::traverse >(per_pixel_eqn_tree); - - Algorithms::traverse >(per_frame_eqn_tree); - - Algorithms::traverse >(user_param_tree); - - for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) - { - delete(*pos); - } - - for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) - { - delete(*pos); - } - -} - -/* Adds a per pixel equation according to its string name. This - will be used only by the parser */ - -int Preset::add_per_pixel_eqn(char * name, GenExpr * gen_expr) -{ - - PerPixelEqn * per_pixel_eqn = NULL; - int index; - Param * param = NULL; - - assert(gen_expr); - assert(name); - - if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: per pixel equation (name = \"%s\")\n", name); - - - /* Search for the parameter so we know what matrix the per pixel equation is referencing */ - - param = ParamUtils::find(name, &this->builtinParams, &this->user_param_tree); - if ( !param ) - { - if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: failed to allocate a new parameter!\n"); - return PROJECTM_FAILURE; - } - - index = per_pixel_eqn_tree.size(); - - /* Create the per pixel equation given the index, parameter, and general expression */ - if ((per_pixel_eqn = new PerPixelEqn(index, param, gen_expr)) == NULL) - { - if (PER_PIXEL_EQN_DEBUG) printf("add_per_pixel_eqn: failed to create new per pixel equation!\n"); - return PROJECTM_FAILURE; - } - - - - - /* Insert the per pixel equation into the preset per pixel database */ - std::pair::iterator, bool> inserteeOption = per_pixel_eqn_tree.insert - (std::make_pair(per_pixel_eqn->index, per_pixel_eqn)); - - if (!inserteeOption.second) - { - printf("failed to add per pixel eqn!\n"); - delete(per_pixel_eqn); - return PROJECTM_FAILURE; - } - - /* Done */ - return PROJECTM_SUCCESS; -} - -void Preset::evalCustomShapeInitConditions() -{ - - for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) { - assert(*pos); - (*pos)->evalInitConds(); - } -} - - -void Preset::evalCustomWaveInitConditions() -{ - - for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) { - assert(*pos); - (*pos)->evalInitConds(); -} -} - - -void Preset::evalCustomWavePerFrameEquations() -{ - - for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) - { - - std::map & init_cond_tree = (*pos)->init_cond_tree; - for (std::map::iterator _pos = init_cond_tree.begin(); _pos != init_cond_tree.end(); ++_pos) - { - assert(_pos->second); - _pos->second->evaluate(); - } - - std::map & per_frame_eqn_tree = (*pos)->per_frame_eqn_tree; - for (std::map::iterator _pos = per_frame_eqn_tree.begin(); _pos != per_frame_eqn_tree.end(); ++_pos) - { - assert(_pos->second); - _pos->second->evaluate(); - } - } - -} - -void Preset::evalCustomShapePerFrameEquations() -{ - - for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) - { - - std::map & init_cond_tree = (*pos)->init_cond_tree; - for (std::map::iterator _pos = init_cond_tree.begin(); _pos != init_cond_tree.end(); ++_pos) - { - assert(_pos->second); - _pos->second->evaluate(); - } - - std::map & per_frame_eqn_tree = (*pos)->per_frame_eqn_tree; - for (std::map::iterator _pos = per_frame_eqn_tree.begin(); _pos != per_frame_eqn_tree.end(); ++_pos) - { - assert(_pos->second); - _pos->second->evaluate(); - } - } - -} - -void Preset::evalPerFrameInitEquations() -{ - - for (std::map::iterator pos = per_frame_init_eqn_tree.begin(); pos != per_frame_init_eqn_tree.end(); ++pos) - { - assert(pos->second); - pos->second->evaluate(); - } - -} - -void Preset::evalPerFrameEquations() -{ - - for (std::map::iterator pos = init_cond_tree.begin(); pos != init_cond_tree.end(); ++pos) - { - assert(pos->second); - pos->second->evaluate(); - } - - for (std::map::iterator pos = per_frame_eqn_tree.begin(); pos != per_frame_eqn_tree.end(); ++pos) - { - assert(pos->second); - pos->second->evaluate(); - } - -} - -void Preset::preloadInitialize() { - - /// @note commented this out because it should be unnecessary - // Clear equation trees - //init_cond_tree.clear(); - //user_param_tree.clear(); - //per_frame_eqn_tree.clear(); - //per_pixel_eqn_tree.clear(); - //per_frame_init_eqn_tree.clear(); - - /* Set initial index values */ - this->per_pixel_eqn_string_index = 0; - this->per_frame_eqn_string_index = 0; - this->per_frame_init_eqn_string_index = 0; - - /* Clear string buffers */ - /// @bug replace with ostringstream? - memset(this->per_pixel_eqn_string_buffer, 0, STRING_BUFFER_SIZE); - memset(this->per_frame_eqn_string_buffer, 0, STRING_BUFFER_SIZE); - memset(this->per_frame_init_eqn_string_buffer, 0, STRING_BUFFER_SIZE); -} - -void Preset::postloadInitialize() { - - /* It's kind of ugly to reset these values here. Should definitely be placed in the parser somewhere */ - this->per_frame_eqn_count = 0; - this->per_frame_init_eqn_count = 0; - - this->loadBuiltinParamsUnspecInitConds(); - this->loadCustomWaveUnspecInitConds(); - this->loadCustomShapeUnspecInitConds(); - -//m_presetOutputs.q1 = 0; -//m_presetOutputs.q2 = 0; -//m_presetOutputs.q3 = 0; -//m_presetOutputs.q4 = 0; -//m_presetOutputs.q5 = 0; -//m_presetOutputs.q6 = 0; -//m_presetOutputs.q7 = 0; -//m_presetOutputs.q8 = 0; - -} - -void Preset::initialize(const std::string & pathname) -{ - int retval; - - preloadInitialize(); - std::cerr << "[Preset] loading file \"" << pathname << "\"..." << std::endl; - - if ((retval = loadPresetFile(pathname)) < 0) - { - - std::cerr << "[Preset] failed to load file \"" << - pathname << "\"!" << std::endl; - - /// @bug how should we handle this problem? a well define exception? - throw retval; - } - - postloadInitialize(); -} - -void Preset::initialize(std::istream & in) -{ - int retval; - - preloadInitialize(); - - if ((retval = readIn(in)) < 0) - { - - std::cerr << "[Preset] failed to load from stream " << std::endl; - - /// @bug how should we handle this problem? a well define exception? - throw retval; - } - - postloadInitialize(); -} - -void Preset::loadBuiltinParamsUnspecInitConds() { - - InitCondUtils::LoadUnspecInitCond loadUnspecInitCond(this->init_cond_tree, this->per_frame_init_eqn_tree); - - this->builtinParams.traverse(loadUnspecInitCond); - Algorithms::traverse(user_param_tree, loadUnspecInitCond); - -} - -void Preset::loadCustomWaveUnspecInitConds() -{ - - - for (PresetOutputs::cwave_container::iterator pos = customWaves.begin(); pos != customWaves.end(); ++pos) - { - assert(*pos); - (*pos)->loadUnspecInitConds(); - } - -} - -void Preset::loadCustomShapeUnspecInitConds() -{ - - for (PresetOutputs::cshape_container::iterator pos = customShapes.begin(); pos != customShapes.end(); ++pos) - { - assert(*pos); - (*pos)->loadUnspecInitConds(); - } -} - - -void Preset::evaluateFrame() -{ - - /* Evaluate all equation objects according to milkdrop flow diagram */ - - evalPerFrameInitEquations(); - - evalPerFrameEquations(); - - transfer_q_variables(customWaves); - transfer_q_variables(customShapes); - - initialize_PerPixelMeshes(); - - evalPerPixelEqns(); - - evalCustomWaveInitConditions(); - evalCustomWavePerFrameEquations(); - - evalCustomShapeInitConditions(); - evalCustomShapePerFrameEquations(); - - // Setup pointers of the custom waves and shapes to the preset outputs instance - /// @slow an extra O(N) per frame, could do this during eval - m_presetOutputs.customWaves = PresetOutputs::cwave_container(customWaves); - m_presetOutputs.customShapes = PresetOutputs::cshape_container(customShapes); - -} - -void Preset::initialize_PerPixelMeshes() -{ - - int x,y; - for (x=0;x::iterator pos = per_pixel_eqn_tree.begin(); - pos != per_pixel_eqn_tree.end(); ++pos) - pos->second->evaluate(mesh_x, mesh_y); - -} - -int Preset::readIn(std::istream & fs) { - - line_mode_t line_mode; - - /* Parse any comments */ - if (Parser::parse_top_comment(fs) < 0) - { - std::cerr << "[Preset::readIn] no left bracket found..." << std::endl; - return PROJECTM_FAILURE; - } - - /* Parse the preset name and a left bracket */ - char tmp_name[MAX_TOKEN_SIZE]; - - if (Parser::parse_preset_name(fs, tmp_name) < 0) - { - std::cerr << "[Preset::readIn] loading of preset name failed" << std::endl; - return PROJECTM_ERROR; - } - - this->name = std::string(tmp_name); - - // Loop through each line in file, trying to succesfully parse the file. - // If a line does not parse correctly, keep trucking along to next line. - int retval; - while ((retval = Parser::parse_line(fs, this)) != EOF) - { - if (retval == PROJECTM_PARSE_ERROR) - { - line_mode = UNSET_LINE_MODE; - std::cerr << "[Preset::readIn()] parse error in file \"" << this->absoluteFilePath() << "\"" << std::endl; - } - } - - std::cerr << "loadPresetFile: finished line parsing successfully" << std::endl; - - /* Now the preset has been loaded. - Evaluation calls can be made at appropiate - times in the frame loop */ - -return PROJECTM_SUCCESS; -} - -/* loadPresetFile: private function that loads a specific preset denoted - by the given pathname */ -int Preset::loadPresetFile(const std::string & pathname) -{ - - - /* Open the file corresponding to pathname */ - std::ifstream fs(pathname.c_str()); - if (!fs || fs.eof()) { - if (PRESET_DEBUG) - std::cerr << "loadPresetFile: loading of file \"" << pathname << "\" failed!\n"; - return PROJECTM_ERROR; - } - - return readIn(fs); - -} - diff --git a/src/projectM-engine/Preset.hpp b/src/projectM-engine/Preset.hpp deleted file mode 100644 index f39255f7c9..0000000000 --- a/src/projectM-engine/Preset.hpp +++ /dev/null @@ -1,224 +0,0 @@ - -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * Preset - * - * $Log$ - */ - -#ifndef _PRESET_HPP -#define _PRESET_HPP - -#include "Common.hpp" -#include -#include -#include - -#define PRESET_DEBUG 0 /* 0 for no debugging, 1 for normal, 2 for insane */ - -#include "CustomShape.hpp" -#include "CustomWave.hpp" -#include "Expr.hpp" -#include "PerPixelEqn.hpp" -#include "PerFrameEqn.hpp" -#include "BuiltinParams.hpp" -#include "PresetFrameIO.hpp" -#include "InitCond.hpp" - -class CustomWave; -class CustomShape; -class InitCond; - - -class Preset -{ -protected: - -public: - - - /// Load a preset by filename with input and output buffers specified. - /// This is the only proper way to allocate a new preset. - /// \param filename the absolute file path of a preset to load from the file system - /// \param presetInputs a const reference to read only projectM engine variables - /// \param presetOutputs initialized and filled with data parsed from a preset - Preset(const std::string & filename, const PresetInputs & presetInputs, PresetOutputs & presetOutputs); - - /// Load a preset from a stream with input and output buffers specified. - /// This is the only proper way to allocate a new preset. - /// \param in an already initialized input stream to read the preset file from - /// \param presetInputs a const reference to read only projectM engine variables - /// \param presetOutputs initialized and filled with data parsed from a preset - Preset(std::istream & in, const PresetInputs & presetInputs, PresetOutputs & presetOutputs, const std::string & _presetName); - - ~Preset(); - - /// Evaluates the preset for a frame given the current values of preset inputs / outputs - /// All calculated values are stored in the associated preset outputs instance - void evaluateFrame(); - - /// All "builtin" parameters for this preset. Anything *but* user defined parameters and - /// custom waves / shapes objects go here. - /// @bug encapsulate - BuiltinParams builtinParams; - - /// Preset name, very boring, like [preset00] - std::string name; - - /// Used by parser to find/create custom waves and shapes. May be refactored - template - static CustomObject * find_custom_object(int id, std::vector & customObjects); - - - int per_pixel_eqn_string_index; - int per_frame_eqn_string_index; - int per_frame_init_eqn_string_index; - - int per_frame_eqn_count, - per_frame_init_eqn_count; - - char per_pixel_eqn_string_buffer[STRING_BUFFER_SIZE]; - char per_frame_eqn_string_buffer[STRING_BUFFER_SIZE]; - char per_frame_init_eqn_string_buffer[STRING_BUFFER_SIZE]; - - /// Used by parser - /// @bug refactor - int add_per_pixel_eqn( char *name, GenExpr *gen_expr ); - - /// Accessor method to retrieve the absolute file path of the loaded preset - /// \returns a file path string - std::string absoluteFilePath() const - { - return file_path; - } - - /// Accessor method for the preset outputs instance associated with this preset - /// \returns A preset output instance with values computed from most recent evaluateFrame() - PresetOutputs & presetOutputs() const - { - - return m_presetOutputs; - } - - /// @bug encapsulate - PresetOutputs::cwave_container customWaves; - PresetOutputs::cshape_container customShapes; - - /// @bug encapsulate - /* Data structures that contain equation and initial condition information */ - std::map per_frame_eqn_tree; /* per frame equations */ - std::map per_pixel_eqn_tree; /* per pixel equation tree */ - std::map per_frame_init_eqn_tree; /* per frame initial equations */ - std::map init_cond_tree; /* initial conditions */ - std::map user_param_tree; /* user parameter splay tree */ - -private: - - // The absolute file path of the preset - std::string file_path; - - void initialize(const std::string & pathname); - void initialize(std::istream & in); - - int loadPresetFile(const std::string & pathname); - - void loadBuiltinParamsUnspecInitConds(); - void loadCustomWaveUnspecInitConds(); - void loadCustomShapeUnspecInitConds(); - - void evalCustomWavePerFrameEquations(); - void evalCustomShapePerFrameEquations(); - void evalPerFrameInitEquations(); - void evalCustomWaveInitConditions(); - void evalCustomShapeInitConditions(); - void evalPerPixelEqns(); - void evalPerFrameEquations(); - void initialize_PerPixelMeshes(); - int readIn(std::istream & fs); - - void preloadInitialize(); - void postloadInitialize(); - - PresetOutputs & m_presetOutputs; - const PresetInputs & m_presetInputs; // added for gx, gy reference. - -template -void transfer_q_variables(std::vector & customObjects); -}; - - -template -void Preset::transfer_q_variables(std::vector & customObjects) -{ - CustomObject * custom_object; - - for (typename std::vector::iterator pos = customObjects.begin(); pos != customObjects.end();++pos) { - - custom_object = *pos; - custom_object->q1 = m_presetOutputs.q1; - custom_object->q2 = m_presetOutputs.q2; - custom_object->q3 = m_presetOutputs.q3; - custom_object->q4 = m_presetOutputs.q4; - custom_object->q5 = m_presetOutputs.q5; - custom_object->q6 = m_presetOutputs.q6; - custom_object->q7 = m_presetOutputs.q7; - custom_object->q8 = m_presetOutputs.q8; - } - - -} - -template -CustomObject * Preset::find_custom_object(int id, std::vector & customObjects) -{ - - CustomObject * custom_object = NULL; - - - for (typename std::vector::iterator pos = customObjects.begin(); pos != customObjects.end();++pos) { - if ((*pos)->id == id) { - custom_object = *pos; - break; - } - } - - if (custom_object == NULL) - { - - if ((custom_object = new CustomObject(id)) == NULL) - { - return NULL; - } - - customObjects.push_back(custom_object); - - } - - assert(custom_object); - return custom_object; -} - - - -#endif /** !_PRESET_HPP */ diff --git a/src/projectM-engine/PresetChooser.hpp b/src/projectM-engine/PresetChooser.hpp deleted file mode 100644 index 5f60649638..0000000000 --- a/src/projectM-engine/PresetChooser.hpp +++ /dev/null @@ -1,240 +0,0 @@ -/** PresetChooser.hpp: - * Provides functions and iterators to select presets. Requires a preset loader upon construction. - */ - -/// @idea Weighted random based on user stats - -#ifndef PRESET_CHOOSER_HPP -#define PRESET_CHOOSER_HPP - -#include "Preset.hpp" - -#include "PresetLoader.hpp" - -#include -#include -#include - -class PresetChooser; - -/// A simple iterator class to traverse back and forth a preset directory -class PresetIterator { - -public: - PresetIterator() {} - - /// Instantiate a preset iterator at the given starting position - PresetIterator(std::size_t start); - - /// Move iterator forward - void operator++(); - - /// Move iterator backword - void operator--() ; - - /// Not equal comparator - bool operator !=(const PresetIterator & presetPos) const ; - - /// Equality comparator - bool operator ==(const PresetIterator & presetPos) const ; - - /// Returns an integer value representing the iterator position - /// @bug might become internal - /// \brief Returns the indexing value used by the current iterator. - std::size_t operator*() const; - - /// Allocate a new preset given this iterator's associated preset name - /// \param presetInputs the preset inputs to associate with the preset upon construction - /// \param presetOutputs the preset outputs to associate with the preset upon construction - /// \returns a pointer of the newly allocated preset - std::auto_ptr allocate(const PresetInputs & presetInputs, PresetOutputs & presetOutputs); - - /// Set the chooser asocciated with this iterator - void setChooser(const PresetChooser & chooser); - -private: - std::size_t m_currentIndex; - const PresetChooser * m_presetChooser; - -}; - -class PresetChooser { - -public: - typedef PresetIterator iterator; - - /// Initializes a chooser with an established preset loader. - /// \param presetLoader an initialized preset loader to choose presets from - /// \note The preset loader is refreshed via events or otherwise outside this class's scope - PresetChooser(const PresetLoader & presetLoader); - - /// Choose a preset via the passed in index. Must be between 0 and num valid presets in directory - /// \param index An index lying in the interval [0, this->getNumPresets()] - /// \param presetInputs the preset inputs to associate with the preset upon construction - /// \param presetOutputs the preset outputs to associate with the preset upon construction - std::auto_ptr directoryIndex(std::size_t index, const PresetInputs & presetInputs, - PresetOutputs & presetOutputs) const; - - /// Gets the number of presets last believed to exist in the preset loader's filename collection - /// \returns the number of presets in the collection - std::size_t getNumPresets() const; - - /// A functor, for all preset indices, returns probability 1 / (number of presets in directory) - class UniformRandomFunctor { - - public: - /// Initialize a new functor with a particular collection size - /// \param collectionSize the number of presets one is sampling over - UniformRandomFunctor(std::size_t collectionSize); - - /// Returns uniform (fixed) probability for any index - /// \param index the index position of the preset to load - float operator() (std::size_t index) const; - - private: - std::size_t m_collectionSize; - }; - - - /// An STL-esque iterator to begin traversing presets from a directory - /// \returns the position of the first preset in the collection - PresetIterator begin(); - - /// An STL-esque iterator to retrieve an end position from a directory - /// \returns the end position of the collection - PresetIterator end() const; - - /// Perform a weighted sample to select a preset given a weight functor. - /// \param presetInputs the preset inputs to associate with the preset upon construction - /// \param presetOutputs the preset outputs to associate with the preset upon construction - /// \param WeightFuncstor a functor that returns a probability for each index (see UniformRandomFunctor) - /// \returns an auto pointer of the newly allocated preset - template - std::auto_ptr weightedRandom(const PresetInputs & presetInputs, PresetOutputs & presetOutputs, WeightFunctor & weightFunctor); - - - /// Do a weighted sample given a weight functor and default construction (ie. element size) of the weight functor - /// \param presetInputs the preset inputs to associate with the preset upon construction - /// \param presetOutputs the preset outputs to associate with the preset upon construction - /// \param WeightFunctor a functor that returns a probability for each index (see UniformRandomFunctor) - /// \returns an auto pointer of the newly allocated preset - template - std::auto_ptr weightedRandom(const PresetInputs & presetInputs, PresetOutputs & preseOutputs); - - - - /// True if no presets in directory - bool empty() const; - -private: - template - std::auto_ptr doWeightedSample(WeightFunctor & weightFunctor, const PresetInputs & presetInputs, PresetOutputs & presetOutputs); - - const PresetLoader * m_presetLoader; -}; - - -inline PresetChooser::PresetChooser(const PresetLoader & presetLoader):m_presetLoader(&presetLoader) {} - -inline std::size_t PresetChooser::getNumPresets() const { - return m_presetLoader->getNumPresets(); -} - -inline void PresetIterator::setChooser(const PresetChooser & chooser) { - m_presetChooser = &chooser; -} - -inline std::size_t PresetIterator::operator*() const { - return m_currentIndex; -} - -inline PresetIterator::PresetIterator(std::size_t start):m_currentIndex(start) {} - -inline void PresetIterator::operator++() { - assert(m_currentIndex < m_presetChooser->getNumPresets()); - m_currentIndex++; -} - -inline void PresetIterator::operator--() { - assert(m_currentIndex > 0); - m_currentIndex--; -} - -inline bool PresetIterator::operator !=(const PresetIterator & presetPos) const { - return (*presetPos != **this); -} - - -inline bool PresetIterator::operator ==(const PresetIterator & presetPos) const { - return (*presetPos == **this); -} - -inline std::auto_ptr PresetIterator::allocate(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) { - return m_presetChooser->directoryIndex(m_currentIndex, presetInputs, presetOutputs); -} - -inline float PresetChooser::UniformRandomFunctor::operator() (std::size_t index) const { - return (1.0 / m_collectionSize); -} - -inline PresetChooser::UniformRandomFunctor::UniformRandomFunctor(std::size_t collectionSize):m_collectionSize(collectionSize) {} - -inline PresetIterator PresetChooser::begin() { - PresetIterator pos(0); - pos.setChooser(*this); - return pos; -} - -inline PresetIterator PresetChooser::end() const { - PresetIterator pos(m_presetLoader->getNumPresets()); - pos.setChooser(*this); - return pos; -} - -template -std::auto_ptr PresetChooser::weightedRandom(const PresetInputs & presetInputs, PresetOutputs & presetOutputs, WeightFunctor & weightFunctor) { - return doWeightedSample(weightFunctor); -} - -inline bool PresetChooser::empty() const { - return m_presetLoader->getNumPresets() == 0; - -} - -template -inline std::auto_ptr PresetChooser::weightedRandom(const PresetInputs & presetInputs, PresetOutputs & presetOutputs){ - - WeightFunctor weightFunctor(m_presetLoader->getNumPresets()); - return doWeightedSample(weightFunctor, presetInputs, presetOutputs); - -} - -inline std::auto_ptr PresetChooser::directoryIndex(std::size_t index, const PresetInputs & presetInputs, - PresetOutputs & presetOutputs) const { - - return m_presetLoader->loadPreset(index, presetInputs, presetOutputs); -} - -template -inline std::auto_ptr PresetChooser::doWeightedSample(WeightFunctor & weightFunctor, const PresetInputs & presetInputs, PresetOutputs & presetOutputs) { - - // Choose a random bounded mass between 0 and 1 - float cutoff = ((float)(random())) / RAND_MAX; - - // Sum up mass, stopping when cutoff is reached. This is the typical - // weighted sampling algorithm. - float mass = 0; - for (PresetIterator pos = this->begin();pos != this->end() ; ++pos) { - mass += weightFunctor(*pos); - if (mass >= cutoff) - return pos.allocate(presetInputs, presetOutputs); - } - - // Just in case something slips through the cracks - PresetIterator pos = this->end(); - --pos; - - return pos.allocate(presetInputs, presetOutputs); -} - -#endif diff --git a/src/projectM-engine/PresetFrameIO.cpp b/src/projectM-engine/PresetFrameIO.cpp deleted file mode 100644 index e10e6d77ec..0000000000 --- a/src/projectM-engine/PresetFrameIO.cpp +++ /dev/null @@ -1,249 +0,0 @@ -#include "PresetFrameIO.hpp" -#include "wipemalloc.h" -#include -#include -#include -PresetInputs::PresetInputs() -{ -} - -void PresetInputs::Initialize ( int gx, int gy ) -{ - int x, y; - - this->gx =gx; - this->gy= gy; - - this->x_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->x_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->y_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->y_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->rad_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->rad_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->theta_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x theta_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - - this->origtheta= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->origtheta[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->origrad= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->origrad[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->origx= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->origx[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->origy= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->origy[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - - for ( x=0;xorigx[x][y]=x/ ( float ) ( gx-1 ); - this->origy[x][y]=- ( ( y/ ( float ) ( gy-1 ) )-1 ); - this->origrad[x][y]=hypot ( ( this->origx[x][y]-.5 ) *2, ( this->origy[x][y]-.5 ) *2 ) * .7071067; - this->origtheta[x][y]=atan2 ( ( ( this->origy[x][y]-.5 ) *2 ), ( ( this->origx[x][y]-.5 ) *2 ) ); - } - } - - - -} - -PresetOutputs::PresetOutputs() -{} - -PresetOutputs::~PresetOutputs() -{ - assert(this->gx > 0); - - for ( int x = 0; x < this->gx; x++ ) - { - - - free(this->x_mesh[x]); - free(this->y_mesh[x]); - free(this->sx_mesh[x]); - free(this->sy_mesh[x]); - free(this->dy_mesh[x]); - free(this->dx_mesh[x]); - free(this->cy_mesh[x]); - free(this->cx_mesh[x]); - - free(this->warp_mesh[x]); - free(this->zoom_mesh[x]); - free(this->zoomexp_mesh[x]); - free(this->rot_mesh[x]); - - } - - free(this->x_mesh); - free(this->y_mesh); - free(this->sx_mesh); - free(this->sy_mesh); - free(this->dy_mesh); - free(this->dx_mesh); - free(this->cy_mesh); - free(this->cx_mesh); - free(this->warp_mesh); - free(this->zoom_mesh); - free(this->zoomexp_mesh); - free(this->rot_mesh); -} - -void PresetOutputs::Initialize ( int gx, int gy ) -{ - - assert(gx > 0); - this->gx = gx; - this->gy= gy; - assert(this->gx > 0); - int x; - this->x_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->x_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->y_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->y_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->sx_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->sx_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->sy_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->sy_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->dx_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->dx_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->dy_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->dy_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->cx_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->cx_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->cy_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->cy_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->zoom_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->zoom_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->zoomexp_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->zoomexp_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - this->rot_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->rot_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - - this->warp_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) ); - for ( x = 0; x < gx; x++ ) - { - this->warp_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) ); - } - - -} - -PresetInputs::~PresetInputs() -{ - for ( int x = 0; x < this->gx; x++ ) - { - - - free ( this->origtheta[x] ); - free ( this->origrad[x] ); - free ( this->origx[x] ); - free ( this->origy[x] ); - - free ( this->x_mesh[x] ); - free ( this->y_mesh[x] ); - free ( this->rad_mesh[x] ); - free ( this->theta_mesh[x] ); - - } - - - free ( this->origx ); - free ( this->origy ); - free ( this->origrad ); - free ( this->origtheta ); - - free ( this->x_mesh ); - free ( this->y_mesh ); - free ( this->rad_mesh ); - free ( this->theta_mesh ); - - this->origx = NULL; - this->origy = NULL; - this->origtheta = NULL; - this->origrad = NULL; - - this->x_mesh = NULL; - this->y_mesh = NULL; - this->rad_mesh = NULL; - this->theta_mesh = NULL; -} - - -void PresetInputs::ResetMesh() -{ - int x,y; - - assert ( x_mesh ); - assert ( y_mesh ); - assert ( rad_mesh ); - assert ( theta_mesh ); - - for ( x=0;xgx;x++ ) - { - for ( y=0;ygy;y++ ) - { - x_mesh[x][y]=this->origx[x][y]; - y_mesh[x][y]=this->origy[x][y]; - rad_mesh[x][y]=this->origrad[x][y]; - theta_mesh[x][y]=this->origtheta[x][y]; - } - } - -} diff --git a/src/projectM-engine/PresetFrameIO.hpp b/src/projectM-engine/PresetFrameIO.hpp deleted file mode 100644 index 3814fd8bff..0000000000 --- a/src/projectM-engine/PresetFrameIO.hpp +++ /dev/null @@ -1,194 +0,0 @@ -#ifndef PRESET_FRAME_IO_HPP -#define PRESET_FRAME_IO_HPP -#include -class CustomWave; -class CustomShape; - - -/// Container class for all preset writeable engine variables. This is the important glue -/// between the presets and renderer to facilitate smooth preset switching -/// Every preset object needs a reference to one of these. -class PresetOutputs { -public: - typedef std::vector cwave_container; - typedef std::vector cshape_container; - - cwave_container customWaves; - cshape_container customShapes; - - void Initialize(int gx, int gy); - PresetOutputs(); - ~PresetOutputs(); - /* PER FRAME VARIABLES BEGIN */ - float zoom; - float zoomexp; - float rot; - float warp; - - float sx; - float sy; - float dx; - float dy; - float cx; - float cy; - - float decay; - - float wave_r; - float wave_g; - float wave_b; - float wave_o; - float wave_x; - float wave_y; - float wave_mystery; - - float ob_size; - float ob_r; - float ob_g; - float ob_b; - float ob_a; - - float ib_size; - float ib_r; - float ib_g; - float ib_b; - float ib_a; - - float mv_a ; - float mv_r ; - float mv_g ; - float mv_b ; - float mv_l; - float mv_x; - float mv_y; - float mv_dy; - float mv_dx; - - int gy,gx; - /* PER_FRAME VARIABLES END */ - - float fRating; - float fGammaAdj; - float fVideoEchoZoom; - float fVideoEchoAlpha; - - int nVideoEchoOrientation; - int nWaveMode; - - bool bAdditiveWaves; - bool bWaveDots; - bool bWaveThick; - bool bModWaveAlphaByVolume; - bool bMaximizeWaveColor; - bool bTexWrap; - bool bDarkenCenter; - bool bRedBlueStereo; - bool bBrighten; - bool bDarken; - bool bSolarize; - bool bInvert; - bool bMotionVectorsOn; - - - float fWaveAlpha ; - float fWaveScale; - float fWaveSmoothing; - float fWaveParam; - float fModWaveAlphaStart; - float fModWaveAlphaEnd; - float fWarpAnimSpeed; - float fWarpScale; - float fShader; - - /* Q VARIABLES START */ - - float q1; - float q2; - float q3; - float q4; - float q5; - float q6; - float q7; - float q8; - - - /* Q VARIABLES END */ - - float **zoom_mesh; - float **zoomexp_mesh; - float **rot_mesh; - - float **sx_mesh; - float **sy_mesh; - float **dx_mesh; - float **dy_mesh; - float **cx_mesh; - float **cy_mesh; - float **warp_mesh; - - - float **x_mesh; - float **y_mesh; - - double wavearray_x[2048]; - double wavearray_y[2048]; - double wavearray2_x[2048]; - double wavearray2_y[2048]; - int wave_samples; - bool two_waves; - double wave_rot; - double wave_scale; - - -}; - -/// Container for all *read only* engine variables a preset requires to -/// evaluate milkdrop equations. Every preset object needs a reference to one of these. -class PresetInputs { - -public: - /* PER_PIXEL VARIBLES BEGIN */ - - float x_per_pixel; - float y_per_pixel; - float rad_per_pixel; - float ang_per_pixel; - - /* PER_PIXEL VARIBLES END */ - - int fps; - - - float time; - float bass; - float mid; - float treb; - float bass_att; - float mid_att; - float treb_att; - int frame; - float progress; - - - /* variables were added in milkdrop 1.04 */ - int gx,gy; - - float **x_mesh; - float **y_mesh; - float **rad_mesh; - float **theta_mesh; - - float **origtheta; //grid containing interpolated mesh reference values - float **origrad; - float **origx; //original mesh - float **origy; - - float mood_r, mood_g, mood_b; - - void ResetMesh(); - ~PresetInputs(); - PresetInputs(); - void Initialize(int gx, int gy); -}; - -#endif diff --git a/src/projectM-engine/PresetLoader.cpp b/src/projectM-engine/PresetLoader.cpp deleted file mode 100644 index fe330051a6..0000000000 --- a/src/projectM-engine/PresetLoader.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// -// C++ Implementation: PresetLoader -// -// Description: -// -// -// Author: Carmelo Piccione , (C) 2007 -// -// Copyright: See COPYING file that comes with this distribution -// -// -#include "PresetLoader.hpp" -#include "Preset.hpp" -#include -#include -#include - -extern "C" -{ -#include -#include -} -#include -#include "projectM.hpp" - -const std::string PresetLoader::PROJECTM_FILE_EXTENSION(".prjm"); -const std::string PresetLoader::MILKDROP_FILE_EXTENSION(".milk"); - -PresetLoader::PresetLoader(std::string dirname) :m_dirname(dirname), m_dir(0) -{ - // Do one scan - rescan(); -} - -PresetLoader::~PresetLoader() -{ - if (m_dir) - closedir(m_dir); -} - -void PresetLoader::setScanDirectory(std::string dirname) -{ - m_dirname = dirname; -} - - -void PresetLoader::rescan() -{ - // std::cerr << "Rescanning..." << std::endl; - - // Clear the directory entry collection - m_entries.clear(); - - // If directory already opened, close it first - if (m_dir) - { - closedir(m_dir); - m_dir = 0; - } - - // Allocate a new a stream given the current directory name - if ((m_dir = opendir(m_dirname.c_str())) == NULL) - { - handleDirectoryError(); - return; // no files loaded. m_entries is empty - } - - struct dirent * dir_entry; - std::set alphaSortedFileSet; - - while ((dir_entry = readdir(m_dir)) != NULL) - { - - std::ostringstream out; - // Convert char * to friendly string - std::string filename(dir_entry->d_name); - - // Verify extension is projectm or milkdrop - if ((filename.rfind(PROJECTM_FILE_EXTENSION) != (filename.length() - PROJECTM_FILE_EXTENSION.length())) - && (filename.rfind(MILKDROP_FILE_EXTENSION) != (filename.length() - MILKDROP_FILE_EXTENSION.length()))) - continue; - - if (filename.length() <= MILKDROP_FILE_EXTENSION.length()) - continue; - - if (filename.length() > 0 && filename[0] == '.') - continue; - - // Create full path name - out << m_dirname << PATH_SEPARATOR << filename; - - // Add to our directory entry collection - alphaSortedFileSet.insert(out.str()); - - // the directory entry struct is freed elsewhere - } - - // Push all entries in order from the file set to the file entries member (which is an indexed vector) - for (std::set::iterator pos = alphaSortedFileSet.begin(); - pos != alphaSortedFileSet.end();++pos) - m_entries.push_back(*pos); -} - -std::auto_ptr PresetLoader::loadPreset(unsigned int index, const PresetInputs & presetInputs, PresetOutputs & presetOutputs) const -{ - - // Check that index isn't insane - assert(index >= 0); - assert(index < m_entries.size()); - - // Return a new autopointer to a present - return std::auto_ptr(new Preset(m_entries[index], presetInputs, presetOutputs)); -} - -void PresetLoader::handleDirectoryError() -{ - switch (errno) - { - case ENOENT: - std::cerr << "[PresetLoader] ENOENT error. The path \"" << this->m_dirname << "\" probably does not exist. \"man open\" for more info." << std::endl; - break; - case ENOMEM: - std::cerr << "[PresetLoader] out of memory! Are you running Windows?" << std::endl; - abort(); - case ENOTDIR: - std::cerr << "[PresetLoader] directory specified is not a preset directory! Cannot continue." << std::endl; - break; - case ENFILE: - std::cerr << "[PresetLoader] Your system has reached its open file limit. Giving up..." << std::endl; - break; - case EMFILE: - std::cerr << "[PresetLoader] too many files in use by projectM! Bailing!" << std::endl; - break; - case EACCES: - std::cerr << "[PresetLoader] permissions issue reading the specified preset directory." << std::endl; - break; - default: - break; - } -} diff --git a/src/projectM-engine/PresetLoader.hpp b/src/projectM-engine/PresetLoader.hpp deleted file mode 100644 index 3e3b079abb..0000000000 --- a/src/projectM-engine/PresetLoader.hpp +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef __PRESET_LOADER_HPP -#define __PRESET_LOADER_HPP - -#include // used for path / filename stuff - -#include // for auto pointers -#include -#include -#include - -class Preset; -class PresetInputs; -class PresetOutputs; - -class PresetLoader { - public: - static const std::string PROJECTM_FILE_EXTENSION; - static const std::string MILKDROP_FILE_EXTENSION; - - /** Initializes the preset loader with the target directory specified */ - PresetLoader(std::string dirname); - - /** Destructor will remove all alllocated presets */ - ~PresetLoader(); - - /** Load a preset by specifying a filename of the directory (that is, NOT full path) */ - /** Autopointers: when you take it, I leave it */ - std::auto_ptr loadPreset(unsigned int index, const PresetInputs & presetInputs, - PresetOutputs & presetOutputs) const; - - /** Returns the number of presets in the active directory */ - inline std::size_t getNumPresets() const { - return m_entries.size(); - } - - /** Sets the directory where the loader will search for files */ - void setScanDirectory(std::string pathname); - - /// Returns the directory path associated with this preset chooser - inline const std::string & directoryName() const { - return m_dirname; - } - - /** Rescans the active preset directory */ - void rescan(); - - private: - void handleDirectoryError(); - std::string m_dirname; - DIR * m_dir; - - // vector chosen for speed, but not great for reverse index lookups - std::vector m_entries; -}; - -#endif diff --git a/src/projectM-engine/PresetMerge.cpp b/src/projectM-engine/PresetMerge.cpp deleted file mode 100644 index 01067fb83a..0000000000 --- a/src/projectM-engine/PresetMerge.cpp +++ /dev/null @@ -1,189 +0,0 @@ -#include "PresetMerge.hpp" - -void PresetMerger::MergePresets(PresetOutputs & A, PresetOutputs & B, double ratio, int gx, int gy) -{ - double invratio = ratio; - ratio = 1.0 - invratio; - - //Merge Simple Waveforms - // - // All the mess is because of Waveform 7, which is two lines. - // - A.wave_rot = A.wave_rot* invratio + B.wave_rot*ratio; - A.wave_scale = A.wave_scale* invratio + B.wave_scale*ratio; - - if (A.two_waves && B.two_waves) - { - for (int x = 0; xa *= invratio; - (*pos)->a2 *= invratio; - (*pos)->border_a *= invratio; - } - - for (PresetOutputs::cshape_container::iterator pos = B.customShapes.begin(); - pos != B.customShapes.end(); ++pos) - { - (*pos)->a *= ratio; - (*pos)->a2 *= ratio; - (*pos)->border_a *= ratio; - - A.customShapes.push_back(*pos); - - } - for (PresetOutputs::cwave_container::iterator pos = A.customWaves.begin(); - pos != A.customWaves.end(); ++pos) - { - (*pos)->a *= invratio; - for (int x=0; x < (*pos)->samples; x++) - { - (*pos)->a_mesh[x]= (*pos)->a_mesh[x]*invratio; - } - } - - for (PresetOutputs::cwave_container::iterator pos = B.customWaves.begin(); - pos != B.customWaves.end(); ++pos) - { - (*pos)->a *= ratio; - for (int x=0; x < (*pos)->samples; x++) - { - (*pos)->a_mesh[x]= (*pos)->a_mesh[x]*ratio; - } - A.customWaves.push_back(*pos); - } - - - //Interpolate Per-Pixel mesh - - for (int x=0;x 0.5) - { - A.nVideoEchoOrientation = B.nVideoEchoOrientation; - A.nWaveMode = B.nWaveMode; - A.bAdditiveWaves = B.bAdditiveWaves; - A.bWaveDots = B.bWaveDots; - A.bWaveThick = B.bWaveThick; - A.bModWaveAlphaByVolume = B.bModWaveAlphaByVolume; - A.bMaximizeWaveColor = B.bMaximizeWaveColor; - A.bTexWrap = B.bTexWrap; - A.bDarkenCenter = B.bDarkenCenter; - A.bRedBlueStereo = B.bRedBlueStereo; - A.bBrighten = B.bBrighten; - A.bDarken = B.bDarken; - A.bSolarize = B.bSolarize; - A.bInvert = B.bInvert; - A.bMotionVectorsOn = B.bMotionVectorsOn; - } - - return; -} - diff --git a/src/projectM-engine/PresetMerge.hpp b/src/projectM-engine/PresetMerge.hpp deleted file mode 100644 index a0d56a553f..0000000000 --- a/src/projectM-engine/PresetMerge.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef PRESET_MERGE_HPP -#define PRESET_MERGE_HPP -#include "Preset.hpp" - -class PresetMerger -{ -public: - static void MergePresets(PresetOutputs & A, PresetOutputs & B, double ratio, int gx, int gy); -}; - -#endif diff --git a/src/projectM-engine/Renderer.cpp b/src/projectM-engine/Renderer.cpp deleted file mode 100644 index 1dfeb20707..0000000000 --- a/src/projectM-engine/Renderer.cpp +++ /dev/null @@ -1,1801 +0,0 @@ -#include "Renderer.hpp" -#include "wipemalloc.h" -#include "math.h" -#include "Common.hpp" -#include "console_interface.h" -#include "CustomShape.hpp" -#include "CustomWave.hpp" -#include "TextureManager.hpp" -#include -#include - -class Preset; - -GLuint texture; - -Renderer::Renderer(int width, int height, int gx, int gy, RenderTarget *renderTarget, TextureManager *textureManager, BeatDetect *beatDetect, std::string _fontURL): fontURL(_fontURL), m_presetName("None") -{ - int x; int y; - - this->gx=gx; - this->gy=gy; - - this->totalframes = 1; - this->noSwitch = 0; - this->showfps = 0; - this->showtitle = 0; - this->showpreset = 0; - this->showhelp = 0; - this->showstats = 0; - this->studio = 0; - this->realfps=0; - - this->drawtitle=0; - - this->title = NULL; - - /** Other stuff... */ - this->correction = 1; - this->aspect=1.33333333; - - this->gridx=(float **)wipemalloc(gx * sizeof(float *)); - for(x = 0; x < gx; x++) - { - this->gridx[x] = (float *)wipemalloc(gy * sizeof(float)); - } - this->gridy=(float **)wipemalloc(gx * sizeof(float *)); - for(x = 0; x < gx; x++) - { - this->gridy[x] = (float *)wipemalloc(gy * sizeof(float)); - } - - this->origx2=(float **)wipemalloc(gx * sizeof(float *)); - for(x = 0; x < gx; x++) - { - this->origx2[x] = (float *)wipemalloc(gy * sizeof(float)); - } - this->origy2=(float **)wipemalloc(gx * sizeof(float *)); - for(x = 0; x < gx; x++) - { - this->origy2[x] = (float *)wipemalloc(gy * sizeof(float)); - } - - //initialize reference grid values - for (x=0;xgridx[x][y]=origx; - this->gridy[x][y]=origy; - this->origx2[x][y]=( origx-.5)*2; - this->origy2[x][y]=( origy-.5)*2; - - } - } - - /// @bug put these on member init list - this->renderTarget = renderTarget; - this->beatDetect = beatDetect; - this->textureManager = textureManager; - -#ifdef USE_FTGL - /** Reset fonts */ - title_font = NULL; - other_font = NULL; - poly_font = NULL; -#endif /** USE_FTGL */ - -} - -void Renderer::RenderFrame(PresetOutputs *presetOutputs, PresetInputs *presetInputs) -{ - totalframes++; - - DWRITE( "start Pass 1 \n" ); - - //BEGIN PASS 1 - // - //This pass is used to render our texture - //the texture is drawn to a FBO or a subsection of the framebuffer - //and then we perform our manipulations on it in pass 2 we - //will copy the image into texture memory and render the final image - - - //Lock FBO - renderTarget->lock(); - - glViewport( 0, 0, renderTarget->texsize, renderTarget->texsize ); - - glEnable( GL_TEXTURE_2D ); - - //If using FBO, sitch to FBO texture - if(this->renderTarget->usePbuffers) - { - glBindTexture( GL_TEXTURE_2D, renderTarget->textureID[1] ); - } - else - { - glBindTexture( GL_TEXTURE_2D, renderTarget->textureID[0] ); - } - - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); - - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - glOrtho(0.0, 1, 0.0, 1,-40,40); - - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - - DWRITE( "renderFrame: renderTarget->texsize: %d x %d\n", this->renderTarget->texsize, this->renderTarget->texsize ); - - if(this->renderTarget->usePbuffers) - { - //draw_motion_vectors(); //draw motion vectors - //unlockPBuffer( this->renderTarget); - //lockPBuffer( this->renderTarget, PBUFFER_PASS1 ); - } - - PerFrame(presetOutputs); - Interpolation(presetOutputs,presetInputs); - - draw_title_to_texture(); - - // if(!this->renderTarget->usePbuffers) - { - draw_motion_vectors(presetOutputs); - } - - draw_shapes(presetOutputs); - draw_custom_waves(presetOutputs); - draw_waveform(presetOutputs); - if(presetOutputs->bDarkenCenter)darken_center(); - draw_borders(presetOutputs); - - /** Restore original view state */ - glMatrixMode( GL_MODELVIEW ); - glPopMatrix(); - - glMatrixMode( GL_PROJECTION ); - glPopMatrix(); - - /** Restore all original attributes */ - // glPopAttrib(); - glFlush(); - - renderTarget->unlock(); - - -#ifdef DEBUG - GLint msd = 0, psd = 0; - glGetIntegerv( GL_MODELVIEW_STACK_DEPTH, &msd ); - glGetIntegerv( GL_PROJECTION_STACK_DEPTH, &psd ); - DWRITE( "end pass1: modelview matrix depth: %d\tprojection matrix depth: %d\n", msd, psd ); - DWRITE( "begin pass2\n" ); -#endif - - //BEGIN PASS 2 - // - //end of texture rendering - //now we copy the texture from the FBO or framebuffer to - //video texture memory and render fullscreen. - - /** Reset the viewport size */ - if(renderTarget->renderToTexture) - { - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, this->renderTarget->fbuffer[1]); - glViewport( 0, 0, this->renderTarget->texsize, this->renderTarget->texsize ); - } - else glViewport( 0, 0, this->vw, this->vh ); - - DWRITE( "viewport: %d x %d\n", this->vw, this->vh ); - - - - //glClear( GL_COLOR_BUFFER_BIT ); - - glBindTexture( GL_TEXTURE_2D, this->renderTarget->textureID[0] ); - - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(-0.5, 0.5, -0.5,0.5,-40,40); - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glLineWidth( this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512.0); - if(this->studio%2)render_texture_to_studio(presetOutputs, presetInputs); - else render_texture_to_screen(presetOutputs); - - - glMatrixMode(GL_MODELVIEW); - glTranslated(-0.5,-0.5,0); - - // When console refreshes, there is a chance the preset has been changed by the user - refreshConsole(); - draw_title_to_screen(); - if(this->showhelp%2) draw_help(); - if(this->showtitle%2) draw_title(); - if(this->showfps%2) draw_fps(this->realfps); - if(this->showpreset%2) draw_preset(); - if(this->showstats%2) draw_stats(presetInputs); - glTranslatef(0.5 ,0.5,0); - -if(renderTarget->renderToTexture) - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); - - DWRITE("End of Pass 2\n" ); -} - - -void Renderer::Interpolation(PresetOutputs *presetOutputs, PresetInputs *presetInputs) -{ - - - glColor4f(0.0, 0.0, 0.0,presetOutputs->decay); - - glEnable(GL_TEXTURE_2D); - - - for (int x=0;xgx - 1;x++){ - glBegin(GL_TRIANGLE_STRIP); - for(int y=0;ygy;y++){ - glTexCoord2f(presetOutputs->x_mesh[x][y], presetOutputs->y_mesh[x][y]); - glVertex2f(this->gridx[x][y], this->gridy[x][y]); - glTexCoord2f(presetOutputs->x_mesh[x+1][y], presetOutputs->y_mesh[x+1][y]); - glVertex2f(this->gridx[x+1][y], this->gridy[x+1][y]); - } - glEnd(); - } - - glDisable(GL_TEXTURE_2D); - -} - - -void Renderer::PerFrame(PresetOutputs *presetOutputs) -{ - - //Texture wrapping( clamp vs. wrap) - if (presetOutputs->bTexWrap==0){ - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);} - else{ glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);} - - glRasterPos2i(0,0); - // glClear(GL_COLOR_BUFFER_BIT); - glColor4d(0.0, 0.0, 0.0,1.0); - - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - -} - - -Renderer::~Renderer() { - - int x; - -#if 1 - std::cerr << "freeing grid elements" << std::endl; - assert(gx > 0); - for(x = 0; x < this->gx; x++) - { - free(this->gridx[x]); - free(this->gridy[x]); - free(this->origx2[x]); - free(this->origy2[x]); - } - - - std::cerr << "freeing grids" << std::endl; - free(this->origx2); - free(this->origy2); - free(this->gridx); - free(this->gridy); -#endif -#if 1 -std::cerr << "grid assign begin " << std::endl; - this->origx2 = NULL; - this->origy2 = NULL; - this->gridx = NULL; - this->gridy = NULL; - -std::cerr << "grid assign end" << std::endl; -#endif - - #ifdef USE_FTGL - std::cerr << "freeing title fonts" << std::endl; - if (title_font) - delete title_font; - if (poly_font) - delete poly_font; - if (other_font) - delete other_font; - std::cerr << "freeing title fonts finished" << std::endl; - #endif - std::cerr << "exiting destructor" << std::endl; -} - - -void Renderer::PerPixelMath(PresetOutputs * presetOutputs, PresetInputs * presetInputs) { - - int x,y; - float fZoom2,fZoom2Inv; - - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - fZoom2 = powf( presetOutputs->zoom_mesh[x][y], powf( presetOutputs->zoomexp_mesh[x][y], presetInputs->rad_mesh[x][y]*2.0f - 1.0f)); - fZoom2Inv = 1.0f/fZoom2; - presetOutputs->x_mesh[x][y]= this->origx2[x][y]*0.5f*fZoom2Inv + 0.5f; - presetOutputs->y_mesh[x][y]= this->origy2[x][y]*0.5f*fZoom2Inv + 0.5f; - } - } - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - presetOutputs->x_mesh[x][y] = ( presetOutputs->x_mesh[x][y] - presetOutputs->cx_mesh[x][y])/presetOutputs->sx_mesh[x][y] + presetOutputs->cx_mesh[x][y]; - } - } - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - presetOutputs->y_mesh[x][y] = ( presetOutputs->y_mesh[x][y] - presetOutputs->cy_mesh[x][y])/presetOutputs->sy_mesh[x][y] + presetOutputs->cy_mesh[x][y]; - } - } - - float fWarpTime = presetInputs->time * presetOutputs->fWarpAnimSpeed; - float fWarpScaleInv = 1.0f / presetOutputs->fWarpScale; - float f[4]; - f[0] = 11.68f + 4.0f*cosf(fWarpTime*1.413f + 10); - f[1] = 8.77f + 3.0f*cosf(fWarpTime*1.113f + 7); - f[2] = 10.54f + 3.0f*cosf(fWarpTime*1.233f + 3); - f[3] = 11.49f + 4.0f*cosf(fWarpTime*0.933f + 5); - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - presetOutputs->x_mesh[x][y] += presetOutputs->warp_mesh[x][y]*0.0035f*sinf(fWarpTime*0.333f + fWarpScaleInv*(this->origx2[x][y]*f[0] - this->origy2[x][y]*f[3])); - presetOutputs->y_mesh[x][y] += presetOutputs->warp_mesh[x][y]*0.0035f*cosf(fWarpTime*0.375f - fWarpScaleInv*(this->origx2[x][y]*f[2] + this->origy2[x][y]*f[1])); - presetOutputs->x_mesh[x][y] += presetOutputs->warp_mesh[x][y]*0.0035f*cosf(fWarpTime*0.753f - fWarpScaleInv*(this->origx2[x][y]*f[1] - this->origy2[x][y]*f[2])); - presetOutputs->y_mesh[x][y] += presetOutputs->warp_mesh[x][y]*0.0035f*sinf(fWarpTime*0.825f + fWarpScaleInv*(this->origx2[x][y]*f[0] + this->origy2[x][y]*f[3])); - } - } - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - float u2 = presetOutputs->x_mesh[x][y] - presetOutputs->cx_mesh[x][y]; - float v2 = presetOutputs->y_mesh[x][y] - presetOutputs->cy_mesh[x][y]; - - float cos_rot = cosf(presetOutputs->rot_mesh[x][y]); - float sin_rot = sinf(presetOutputs->rot_mesh[x][y]); - - presetOutputs->x_mesh[x][y] = u2*cos_rot - v2*sin_rot + presetOutputs->cx_mesh[x][y]; - presetOutputs->y_mesh[x][y] = u2*sin_rot + v2*cos_rot + presetOutputs->cy_mesh[x][y]; - - } - } - - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - presetOutputs->x_mesh[x][y] -= presetOutputs->dx_mesh[x][y]; - } - } - - - - for (x=0;xgx;x++){ - for(y=0;ygy;y++){ - presetOutputs->y_mesh[x][y] -= presetOutputs->dy_mesh[x][y]; - } - } - -} - - - -void Renderer::reset(int w, int h) -{ - this->aspect=(float)h / (float)w; - this -> vw = w; - this -> vh = h; - - /* Our shading model--Gouraud (smooth). */ - glShadeModel( GL_SMOOTH); - /* Culling. */ - // glCullFace( GL_BACK ); - // glFrontFace( GL_CCW ); - // glEnable( GL_CULL_FACE ); - /* Set the clear color. */ - glClearColor( 0, 0, 0, 0 ); - /* Setup our viewport. */ - glViewport( 0, 0, w, h ); - /* - * Change to the projection matrix and set - * our viewing volume. - */ - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - - // gluOrtho2D(0.0, (GLfloat) width, 0.0, (GLfloat) height); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - - // glFrustum(0.0, height, 0.0,width,10,40); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - glDrawBuffer(GL_BACK); - glReadBuffer(GL_BACK); - glEnable(GL_BLEND); - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glEnable( GL_LINE_SMOOTH ); - glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); - - glEnable(GL_POINT_SMOOTH); - - // glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGB,0,0,renderTarget->texsize,renderTarget->texsize,0); - //glCopyTexSubImage2D(GL_TEXTURE_2D,0,0,0,0,0,renderTarget->texsize,renderTarget->texsize); - glLineStipple(2, 0xAAAA); - - /** (Re)create the offscreen for pass 1 */ - - //REME: necesary? - //rescale_per_pixel_matrices(); - - /** Load TTF font **/ - - - -#ifdef USE_FTGL - /**f Load the standard fonts */ - if ( title_font == NULL && other_font == NULL ) { - char path[1024]; - - sprintf( path, "%s%cVera.ttf", this->fontURL.c_str(), PATH_SEPARATOR ); - title_font = new FTGLPixmapFont(path); - poly_font = new FTGLPolygonFont(path); - sprintf( path, "%s%cVeraMono.ttf", this->fontURL.c_str(), PATH_SEPARATOR ); - other_font = new FTGLPixmapFont(path); - - } -#endif /** USE_FTGL */ -} - - - - - -void Renderer::draw_custom_waves(PresetOutputs *presetOutputs) { - - int x; - - - glPointSize(this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512); - - for (PresetOutputs::cwave_container::const_iterator pos = presetOutputs->customWaves.begin(); - pos != presetOutputs->customWaves.end(); ++pos) - { - - if( (*pos)->enabled==1) - { - - if ( (*pos)->bAdditive==0) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - else glBlendFunc(GL_SRC_ALPHA, GL_ONE); - if ( (*pos)->bDrawThick==1) - { glLineWidth(this->renderTarget->texsize < 512 ? 1 : 2*this->renderTarget->texsize/512); - glPointSize(this->renderTarget->texsize < 512 ? 1 : 2*this->renderTarget->texsize/512); - - } - beatDetect->pcm->getPCM( (*pos)->value1, (*pos)->samples,0, (*pos)->bSpectrum, (*pos)->smoothing,0); - beatDetect->pcm->getPCM( (*pos)->value2, (*pos)->samples,1, (*pos)->bSpectrum, (*pos)->smoothing,0); - // printf("%f\n",pcmL[0]); - - - float mult= (*pos)->scaling*presetOutputs->fWaveScale*( (*pos)->bSpectrum ? 0.015f :1.0f); - - for(x=0;x< (*pos)->samples;x++) - { (*pos)->value1[x]*=mult;} - - for(x=0;x< (*pos)->samples;x++) - { (*pos)->value2[x]*=mult;} - - for(x=0;x< (*pos)->samples;x++) - { (*pos)->sample_mesh[x]=((float)x)/((float)( (*pos)->samples-1));} - - // printf("mid inner loop\n"); - (*pos)->evalPerPointEqns(); - - //put drawing code here - if ( (*pos)->bUseDots==1){ glBegin(GL_POINTS);} - else glBegin(GL_LINE_STRIP); - - for(x=0;x< (*pos)->samples;x++) - { - - glColor4f( (*pos)->r_mesh[x], (*pos)->g_mesh[x], (*pos)->b_mesh[x], (*pos)->a_mesh[x]); - glVertex3f( (*pos)->x_mesh[x],-( (*pos)->y_mesh[x]-1),-1); - } - - glEnd(); - glPointSize(this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512); - glLineWidth(this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512); - glDisable(GL_LINE_STIPPLE); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - // glPopMatrix(); - - } - } - - -} - - -void Renderer::draw_shapes(PresetOutputs *presetOutputs) { - - int i; - float radius; - float xval,yval; - float t; - - float aspect=this->aspect; - - for (PresetOutputs::cshape_container::const_iterator pos = presetOutputs->customShapes.begin(); - pos != presetOutputs->customShapes.end(); ++pos) - { - - if( (*pos)->enabled==1) - { - // printf("drawing shape %f\n", (*pos)->ang); - (*pos)->y=-(( (*pos)->y)-1); - radius=.5; - (*pos)->radius= (*pos)->radius*(.707*.707*.707*1.04); - //Additive Drawing or Overwrite - if ( (*pos)->additive==0) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - else glBlendFunc(GL_SRC_ALPHA, GL_ONE); - - - xval= (*pos)->x; - yval= (*pos)->y; - - - - if ( (*pos)->textured) - { - - if ((*pos)->getImageUrl() !="") - { - GLuint tex = textureManager->getTexture((*pos)->getImageUrl()); - if (tex != 0) - { - glBindTexture(GL_TEXTURE_2D, tex); - aspect=1.0; - } - } - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glMatrixMode(GL_TEXTURE); - glPushMatrix(); - glLoadIdentity(); - - glEnable(GL_TEXTURE_2D); - - - glBegin(GL_TRIANGLE_FAN); - - //Define the center point of the shape - glColor4f( (*pos)->r, (*pos)->g, (*pos)->b, (*pos)->a); - glTexCoord2f(.5,.5); - glVertex3f(xval,yval,0); - - glColor4f( (*pos)->r2, (*pos)->g2, (*pos)->b2, (*pos)->a2); - - for ( i=1;i< (*pos)->sides+2;i++) - { - - - t = (i-1)/(float) (*pos)->sides; - - glTexCoord2f( 0.5f + 0.5f*cosf(t*3.1415927f*2 + (*pos)->tex_ang + 3.1415927f*0.25f)*(this->correction ? aspect : 1.0)/ (*pos)->tex_zoom, 0.5f + 0.5f*sinf(t*3.1415927f*2 + (*pos)->tex_ang + 3.1415927f*0.25f)/ (*pos)->tex_zoom); - glVertex3f( (*pos)->radius*cosf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)*(this->correction ? aspect : 1.0)+xval, (*pos)->radius*sinf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)+yval,0); - } - glEnd(); - - - glDisable(GL_TEXTURE_2D); - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); - - //Reset Texture state since we might have changed it - if(this->renderTarget->usePbuffers) - { - glBindTexture( GL_TEXTURE_2D, renderTarget->textureID[1] ); - } - else - { - glBindTexture( GL_TEXTURE_2D, renderTarget->textureID[0] ); - } - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); - - } - else{//Untextured (use color values) - - //draw first n-1 triangular pieces - glBegin(GL_TRIANGLE_FAN); - - glColor4f( (*pos)->r, (*pos)->g, (*pos)->b, (*pos)->a); - - // glTexCoord2f(.5,.5); - glVertex3f(xval,yval,-1); - glColor4f( (*pos)->r2, (*pos)->g2, (*pos)->b2, (*pos)->a2); - - for ( i=1;i< (*pos)->sides+2;i++) - { - - t = (i-1)/(float) (*pos)->sides; - glVertex3f( (*pos)->radius*cosf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)*(this->correction ? aspect : 1.0)+xval, (*pos)->radius*sinf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)+yval,-1); - - } - glEnd(); - - - } - if (presetOutputs->bWaveThick==1) glLineWidth(this->renderTarget->texsize < 512 ? 1 : 2*this->renderTarget->texsize/512); - glBegin(GL_LINE_LOOP); - glColor4f( (*pos)->border_r, (*pos)->border_g, (*pos)->border_b, (*pos)->border_a); - - for ( i=1;i< (*pos)->sides+1;i++) - { - t = (i-1)/(float) (*pos)->sides; - glVertex3f( (*pos)->radius*cosf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)*(this->correction ? aspect : 1.0)+xval, (*pos)->radius*sinf(t*3.1415927f*2 + (*pos)->ang + 3.1415927f*0.25f)+yval,-1); - - } - glEnd(); - - if (presetOutputs->bWaveThick==1) glLineWidth(this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512); - - - } - } - - -} - - -void Renderer::WaveformMath(PresetOutputs *presetOutputs, PresetInputs *presetInputs, bool isSmoothing) { - - int x; - - float r,theta; - - float offset,scale; - - float wave_x_temp=0; - float wave_y_temp=0; - - float cos_rot; - float sin_rot; - - offset=presetOutputs->wave_x-.5; - scale=505.0/512.0; - - presetOutputs->two_waves = false; - - DWRITE( "WaveformMath: %d\n", presetOutputs->nWaveMode ); - - switch(presetOutputs->nWaveMode) - { - - case 0: - - - presetOutputs->wave_rot = 0; - presetOutputs->wave_scale =1.0; - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - - DWRITE( "nsamples: %d\n", beatDetect->pcm->numsamples ); - - presetOutputs->wave_samples = isSmoothing ? 512-32 : beatDetect->pcm->numsamples; - // presetOutputs->wave_samples= 512-32; - for ( x=0;xwave_samples-1;x++) - { float inv_nverts_minus_one = 1.0f/(float)( presetOutputs->wave_samples); - - r=(0.5 + 0.4f*.12*beatDetect->pcm->pcmdataR[x]*presetOutputs->fWaveScale + presetOutputs->wave_mystery)*.5; - theta=(x)*inv_nverts_minus_one*6.28f + presetInputs->time*0.2f; - - presetOutputs->wavearray_x[x]=(r*cos(theta)*(this->correction ? this->aspect : 1.0)+presetOutputs->wave_x); - presetOutputs->wavearray_y[x]=(r*sin(theta)+presetOutputs->wave_y); - //glVertex2f((r*cos(theta)*(this->correction ? this->aspect : 1.0)+presetOutputs->wave_x), (r*sin(theta)+presetOutputs->wave_y)); - - } - presetOutputs->wavearray_x[presetOutputs->wave_samples-1]= presetOutputs->wavearray_x[0]; - presetOutputs->wavearray_y[presetOutputs->wave_samples-1] =presetOutputs->wavearray_y[0]; - - - break; - - case 1://circularly moving waveform - - presetOutputs->wave_rot = 0; - presetOutputs->wave_scale = this->vh/(float)this->vw; - - - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - - - presetOutputs->wave_samples = 512-32; - for ( x=0;x<(512-32);x++) - { - - theta=beatDetect->pcm->pcmdataL[x+32]*0.06*presetOutputs->fWaveScale * 1.57 + presetInputs->time*2.3; - r=(0.53 + 0.43*beatDetect->pcm->pcmdataR[x]*0.12*presetOutputs->fWaveScale+ presetOutputs->wave_mystery)*.5; - - presetOutputs->wavearray_x[x]=(r*cos(theta)*(this->correction ? this->aspect : 1.0)+presetOutputs->wave_x); - presetOutputs->wavearray_y[x]=(r*sin(theta)+presetOutputs->wave_y); - // glVertex2f((r*cos(theta)*(this->correction ? this->aspect : 1.0)+presetOutputs->wave_x),(r*sin(theta)+presetOutputs->wave_y)); - } - - - - break; - - case 2://EXPERIMENTAL - - - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - presetOutputs->wave_rot = 0; - presetOutputs->wave_scale =1.0; - presetOutputs->wave_samples = 512-32; - - - for (x=0; x<512-32; x++) - { - presetOutputs->wavearray_x[x]=(beatDetect->pcm->pcmdataR[x]*presetOutputs->fWaveScale*0.5*(this->correction ? this->aspect : 1.0) + presetOutputs->wave_x); - - presetOutputs->wavearray_y[x]=(beatDetect->pcm->pcmdataL[x+32]*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y); - //glVertex2f((beatDetect->pcm->pcmdataR[x]*presetOutputs->fWaveScale*0.5*(this->correction ? this->aspect : 1.0) + presetOutputs->wave_x),( (beatDetect->pcm->pcmdataL[x+32]*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y))); - } - // glEnd(); - - break; - - case 3://EXPERIMENTAL - - - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - - presetOutputs->wave_rot = 0; - presetOutputs->wave_scale =1.0; - - - presetOutputs->wave_samples = 512-32; - - for (x=0; x<512-32; x++) - { - presetOutputs->wavearray_x[x]=(beatDetect->pcm->pcmdataR[x] * presetOutputs->fWaveScale*0.5 + presetOutputs->wave_x); - presetOutputs->wavearray_y[x]=( (beatDetect->pcm->pcmdataL[x+32]*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y)); - // glVertex2f((beatDetect->pcm->pcmdataR[x] * presetOutputs->fWaveScale*0.5 + presetOutputs->wave_x),( (beatDetect->pcm->pcmdataL[x+32]*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y))); - - } - - - break; - - case 4://single x-axis derivative waveform - { - - presetOutputs->wave_rot =-presetOutputs->wave_mystery*90; - presetOutputs->wave_scale=1.0; - - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - // glTranslatef(.5,.5, 0); - //glRotated(-presetOutputs->wave_mystery*90,0,0,1); - //glTranslatef(-.5,-.5, 0); - - - float w1 = 0.45f + 0.5f*(presetOutputs->wave_mystery*0.5f + 0.5f); - float w2 = 1.0f - w1; - float xx[512],yy[512]; - presetOutputs->wave_samples = 512-32; - - for (int i=0; i<512-32; i++) - { - xx[i] = -1.0f + 2.0f*(i/(512.0-32.0)) + presetOutputs->wave_x; - yy[i] =0.4* beatDetect->pcm->pcmdataL[i]*0.47f*presetOutputs->fWaveScale + presetOutputs->wave_y; - xx[i] += 0.4*beatDetect->pcm->pcmdataR[i]*0.44f*presetOutputs->fWaveScale; - - if (i>1) - { - xx[i] = xx[i]*w2 + w1*(xx[i-1]*2.0f - xx[i-2]); - yy[i] = yy[i]*w2 + w1*(yy[i-1]*2.0f - yy[i-2]); - } - presetOutputs->wavearray_x[i]=xx[i]; - presetOutputs->wavearray_y[i]=yy[i]; - // glVertex2f(xx[i],yy[i]); - } - - - - - } - break; - - case 5://EXPERIMENTAL - - //glTranslatef( 0, 0, -5 ); - presetOutputs->wave_rot = 0; - presetOutputs->wave_scale =1.0; - - presetOutputs->wave_y=-1*(presetOutputs->wave_y-1.0); - - cos_rot = cosf(presetInputs->time*0.3f); - sin_rot = sinf(presetInputs->time*0.3f); - presetOutputs->wave_samples = 512-32; - //glBegin(GL_LINE_STRIP); - - for (x=0; x<512-32; x++) - { - float x0 = (beatDetect->pcm->pcmdataR[x]*beatDetect->pcm->pcmdataL[x+32] + beatDetect->pcm->pcmdataL[x+32]*beatDetect->pcm->pcmdataR[x]); - float y0 = (beatDetect->pcm->pcmdataR[x]*beatDetect->pcm->pcmdataR[x] - beatDetect->pcm->pcmdataL[x+32]*beatDetect->pcm->pcmdataL[x+32]); - presetOutputs->wavearray_x[x]=((x0*cos_rot - y0*sin_rot)*presetOutputs->fWaveScale*0.5*(this->correction ? this->aspect : 1.0) + presetOutputs->wave_x); - presetOutputs->wavearray_y[x]=( (x0*sin_rot + y0*cos_rot)*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y); - // glVertex2f(((x0*cos_rot - y0*sin_rot)*presetOutputs->fWaveScale*0.5*(this->correction ? this->aspect : 1.0) + presetOutputs->wave_x),( (x0*sin_rot + y0*cos_rot)*presetOutputs->fWaveScale*0.5 + presetOutputs->wave_y)); - - } - - - - break; - - case 6://single waveform - - - - wave_x_temp=-2*0.4142*(fabs(fabs(presetOutputs->wave_mystery)-.5)-.5); - - presetOutputs->wave_rot = -presetOutputs->wave_mystery*90; - presetOutputs->wave_scale =1.0+wave_x_temp; - - //glTranslatef(.5,.5, 0); - // glRotated(-presetOutputs->wave_mystery*90,0,0,1); - - - // wave_x_temp=-2*0.4142*(fabs(fabs(presetOutputs->wave_mystery)-.5)-.5); - // glScalef(1.0+wave_x_temp,1.0,1.0); - // glTranslatef(-.5,-.5, 0); - wave_x_temp=-1*(presetOutputs->wave_x-1.0); - //presetOutputs->wave_samples = beatDetect->pcm->numsamples; - //presetOutputs->wave_samples= 512-32; - presetOutputs->wave_samples = isSmoothing ? 512-32 : beatDetect->pcm->numsamples; - - for ( x=0;x< presetOutputs->wave_samples;x++) - { - - presetOutputs->wavearray_x[x]=x/(float) presetOutputs->wave_samples; - presetOutputs->wavearray_y[x]=beatDetect->pcm->pcmdataR[x]*.04*presetOutputs->fWaveScale+wave_x_temp; - //glVertex2f(x/(float)beatDetect->pcm->numsamples, beatDetect->pcm->pcmdataR[x]*.04*presetOutputs->fWaveScale+wave_x_temp); - - - } - // printf("%f %f\n",renderTarget->texsize*wave_y_temp,wave_y_temp); - - break; - - case 7://dual waveforms - - // presetOutputs->wave_samples = beatDetect->pcm->numsamples; - //presetOutputs->wave_samples= 512-32; - wave_x_temp=-2*0.4142*(fabs(fabs(presetOutputs->wave_mystery)-.5)-.5); - // glTranslatef(.5,.5, 0); - presetOutputs->wave_rot = -presetOutputs->wave_mystery*90; - presetOutputs->wave_scale =1.0+wave_x_temp; - // glRotated(-presetOutputs->wave_mystery*90,0,0,1); - - presetOutputs->wave_samples = isSmoothing ? 512-32 : beatDetect->pcm->numsamples; - presetOutputs->two_waves = true; - //glScalef(1.0+wave_x_temp,1.0,1.0); - // glTranslatef(-.5,-.5, -1); - - double y_adj = presetOutputs->wave_y*presetOutputs->wave_y*.5; - - wave_y_temp=-1*(presetOutputs->wave_x-1); - - for ( x=0;x< presetOutputs->wave_samples ;x++) - { - presetOutputs->wavearray_x[x]=x/((float) presetOutputs->wave_samples); - presetOutputs->wavearray_y[x]= beatDetect->pcm->pcmdataL[x]*.04*presetOutputs->fWaveScale+(wave_y_temp+y_adj); - // glVertex2f(x/(float)beatDetect->pcm->numsamples, beatDetect->pcm->pcmdataL[x]*.04*presetOutputs->fWaveScale+(wave_y_temp+(presetOutputs->wave_y*presetOutputs->wave_y*.5))); - } - - for ( x=0;x< presetOutputs->wave_samples;x++) - { - - presetOutputs->wavearray2_x[x]=x/((float) presetOutputs->wave_samples); - presetOutputs->wavearray2_y[x]=beatDetect->pcm->pcmdataR[x]*.04*presetOutputs->fWaveScale+(wave_y_temp-y_adj); - // glVertex2f(x/(float)beatDetect->pcm->numsamples, beatDetect->pcm->pcmdataR[x]*.04*presetOutputs->fWaveScale+(wave_y_temp-(presetOutputs->wave_y*presetOutputs->wave_y*.5))); - } - - break; - - //default: - /* - glTranslatef( 0, 0, -1 ); - glBegin(GL_LINE_LOOP); - - for ( x=0;x<512;x++) - { - theta=(x)*(6.28/512.0); - r= (0.2+beatDetect->pcm->pcmdataL[x]*.002); - - glVertex2f(r*cos(theta)+presetOutputs->wave_x,r*sin(theta)+presetOutputs->wave_y); - } - glEnd(); - -glBegin(GL_LINE_STRIP); - - for ( x=0;x<512;x++) - { - glVertex3f(x*scale, beatDetect->pcm->pcmdataL[x]*.04*presetOutputs->fWaveScale+((presetOutputs->wave_x+.1)),-1); - } - glEnd(); - - glBegin(GL_LINE_STRIP); - - for ( x=0;x<512;x++) - { - glVertex3f(x*scale, beatDetect->pcm->pcmdataR[x]*.04*presetOutputs->fWaveScale+((presetOutputs->wave_x-.1)),-1); - - } - glEnd(); - break; - */ - } - // if (presetOutputs->bWaveThick==1) glLineWidth( (this->renderTarget->texsize < 512) ? 1 : 2*this->renderTarget->texsize/512); - //else glLineWidth( this->renderTarget->texsize < 512 ? 1 : this->renderTarget->texsize/512); - -} - -void Renderer::draw_waveform(PresetOutputs * presetOutputs) -{ - - glMatrixMode( GL_MODELVIEW ); - glPushMatrix(); - glLoadIdentity(); - - modulate_opacity_by_volume(presetOutputs); - maximize_colors(presetOutputs); - - if(presetOutputs->bWaveDots==1) glEnable(GL_LINE_STIPPLE); - - - //Thick wave drawing - if (presetOutputs->bWaveThick==1) glLineWidth( (this->renderTarget->texsize < 512 ) ? 2 : 2*this->renderTarget->texsize/512); - else glLineWidth( (this->renderTarget->texsize < 512 ) ? 1 : this->renderTarget->texsize/512); - - //Additive wave drawing (vice overwrite) - if (presetOutputs->bAdditiveWaves==0) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - else glBlendFunc(GL_SRC_ALPHA, GL_ONE); - - glTranslatef(.5,.5, 0); - glRotated(presetOutputs->wave_rot,0,0,1); - glScalef(presetOutputs->wave_scale,1.0,1.0); - glTranslatef(-.5,-.5, 0); - - glBegin(GL_LINE_STRIP); - for (int x = 0;xwave_samples;x++) - { - glVertex2f(presetOutputs->wavearray_x[x],presetOutputs->wavearray_y[x]); - } - - glEnd(); - - if (presetOutputs->two_waves) - { - glBegin(GL_LINE_STRIP); - for (int x = 0;xwave_samples;x++) - { - glVertex2f(presetOutputs->wavearray2_x[x],presetOutputs->wavearray2_y[x]); - } - - glEnd(); - } - - if(presetOutputs->bWaveDots==1) glDisable(GL_LINE_STIPPLE); - - glPopMatrix(); -} - -void Renderer::maximize_colors(PresetOutputs *presetOutputs) { - - float wave_r_switch=0,wave_g_switch=0,wave_b_switch=0; - //wave color brightening - // - //forces max color value to 1.0 and scales - // the rest accordingly - if(presetOutputs->nWaveMode==2 || presetOutputs->nWaveMode==5) - { - switch(this->renderTarget->texsize) - { - case 256: presetOutputs->wave_o *= 0.07f; break; - case 512: presetOutputs->wave_o *= 0.09f; break; - case 1024: presetOutputs->wave_o *= 0.11f; break; - case 2048: presetOutputs->wave_o *= 0.13f; break; - } - } - - else if(presetOutputs->nWaveMode==3) - { - switch(this->renderTarget->texsize) - { - case 256: presetOutputs->wave_o *= 0.075f; break; - case 512: presetOutputs->wave_o *= 0.15f; break; - case 1024: presetOutputs->wave_o *= 0.22f; break; - case 2048: presetOutputs->wave_o *= 0.33f; break; - } - presetOutputs->wave_o*=1.3f; - presetOutputs->wave_o*=powf(beatDetect->treb ,2.0f); - } - - if (presetOutputs->bMaximizeWaveColor==1) - { - if(presetOutputs->wave_r>=presetOutputs->wave_g && presetOutputs->wave_r>=presetOutputs->wave_b) //red brightest - { - wave_b_switch=presetOutputs->wave_b*(1/presetOutputs->wave_r); - wave_g_switch=presetOutputs->wave_g*(1/presetOutputs->wave_r); - wave_r_switch=1.0; - } - else if (presetOutputs->wave_b>=presetOutputs->wave_g && presetOutputs->wave_b>=presetOutputs->wave_r) //blue brightest - { - wave_r_switch=presetOutputs->wave_r*(1/presetOutputs->wave_b); - wave_g_switch=presetOutputs->wave_g*(1/presetOutputs->wave_b); - wave_b_switch=1.0; - - } - - else if (presetOutputs->wave_g>=presetOutputs->wave_b && presetOutputs->wave_g>=presetOutputs->wave_r) //green brightest - { - wave_b_switch=presetOutputs->wave_b*(1/presetOutputs->wave_g); - wave_r_switch=presetOutputs->wave_r*(1/presetOutputs->wave_g); - wave_g_switch=1.0; - } - - - glColor4f(wave_r_switch, wave_g_switch, wave_b_switch, presetOutputs->wave_o); - } - else - { - glColor4f(presetOutputs->wave_r, presetOutputs->wave_g, presetOutputs->wave_b, presetOutputs->wave_o); - } - -} - -void Renderer::darken_center() { - - float unit=0.05f; - - - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - - glBegin(GL_TRIANGLE_FAN); - glColor4f(0,0,0,3.0f/32.0f); - glVertex3f(0.5,0.5,-1); - glColor4f(0,0,0,-1); - glVertex3f(0.5-unit,0.5,-1); - glVertex3f(0.5,0.5-unit,-1); - glVertex3f(0.5+unit,0.5,-1); - glVertex3f(0.5,0.5+unit,-1); - glVertex3f(0.5-unit,0.5,-1); - glEnd(); - -} - - -void Renderer::modulate_opacity_by_volume(PresetOutputs *presetOutputs) { - - //modulate volume by opacity - // - //set an upper and lower bound and linearly - //calculate the opacity from 0=lower to 1=upper - //based on current volume - - - if (presetOutputs->bModWaveAlphaByVolume==1) - {if (beatDetect->vol<=presetOutputs->fModWaveAlphaStart) presetOutputs->wave_o=0.0; - else if (beatDetect->vol>=presetOutputs->fModWaveAlphaEnd) presetOutputs->wave_o=presetOutputs->fWaveAlpha; - else presetOutputs->wave_o=presetOutputs->fWaveAlpha*((beatDetect->vol-presetOutputs->fModWaveAlphaStart)/(presetOutputs->fModWaveAlphaEnd-presetOutputs->fModWaveAlphaStart));} - else presetOutputs->wave_o=presetOutputs->fWaveAlpha; -} - -void Renderer::draw_motion_vectors(PresetOutputs *presetOutputs) { - - int x,y; - - float offsetx=presetOutputs->mv_dx, intervalx=1.0/(float)presetOutputs->mv_x; - float offsety=presetOutputs->mv_dy, intervaly=1.0/(float)presetOutputs->mv_y; - - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glPointSize(presetOutputs->mv_l); - glColor4f(presetOutputs->mv_r, presetOutputs->mv_g, presetOutputs->mv_b, presetOutputs->mv_a); - - glBegin(GL_POINTS); - for (x=0;xmv_x;x++){ - for(y=0;ymv_y;y++){ - float lx, ly, lz; - lx = offsetx+x*intervalx; - ly = offsety+y*intervaly; - lz = -1; - glVertex2f(lx,ly); - } - } - - glEnd(); - - -} - -GLuint Renderer::initRenderToTexture() -{ - return renderTarget->initRenderToTexture(); -} - -void Renderer::draw_borders(PresetOutputs *presetOutputs) { - - //Draw Borders - float of=presetOutputs->ob_size*.5; - float iff=presetOutputs->ib_size*.5; - float texof=1.0-of; - - //no additive drawing for borders - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glColor4d(presetOutputs->ob_r,presetOutputs->ob_g,presetOutputs->ob_b,presetOutputs->ob_a); - - - - - glRectd(0,0,of,1); - glRectd(of,0,texof,of); - glRectd(texof,0,1,1); - glRectd(of,1,texof,texof); - glColor4d(presetOutputs->ib_r,presetOutputs->ib_g,presetOutputs->ib_b,presetOutputs->ib_a); - glRectd(of,of,of+iff,texof); - glRectd(of+iff,of,texof-iff,of+iff); - glRectd(texof-iff,of,texof,texof); - glRectd(of+iff,texof,texof-iff,texof-iff); - - -} - - - -void Renderer::draw_title_to_texture() { - -#ifdef USE_FTGL - if (this->drawtitle>80) - // if(1) - { - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glColor4f(1.0,1.0,1.0,1.0); - glPushMatrix(); - - glTranslatef(0,0.5, 0); - - glScalef(0.0025,-0.0025,30*.0025); - //glTranslatef(0,0, 1.0); - poly_font->FaceSize( 22); - - glRasterPos2f(0.0, 0.0); - - if ( this->title != NULL ) { - poly_font->Render(this->title ); - } else { - poly_font->Render("Unknown" ); - } - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - glPopMatrix(); - this->drawtitle=0; - } -#endif /** USE_FTGL */ -} - -void Renderer::draw_title_to_screen() { - -#ifdef USE_FTGL - if(this->drawtitle>0) - { - float easein = ((80-this->drawtitle)*.0125); - float easein2 = easein * easein; - float easein3 = .0025/((-easein2)+1.0); - - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glColor4f(1.0,1.0,1.0,1.0); - glPushMatrix(); - - - //glTranslatef(this->vw*.5,this->vh*.5 , -1.0); - glTranslatef(0,0.5 , 0); - - glScalef(easein3,easein3,30*.0025); - - glRotatef(easein2*360,1,0,0); - - - //glTranslatef(-.5*this->vw,0, 0.0); - - //poly_font->Depth(1.0); - poly_font->FaceSize(22); - - glRasterPos2f(0.0, 0.0); - if ( this->title != NULL ) { - poly_font->Render(this->title ); - } else { - poly_font->Render("Unknown" ); - } - // poly_font->Depth(0.0); - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - glPopMatrix(); - - this->drawtitle++; - - } -#endif /** USE_FTGL */ -} - -void Renderer::draw_title() { -#ifdef USE_FTGL - //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - - glColor4f(1.0,1.0,1.0,1.0); - // glPushMatrix(); - // glTranslatef(this->vw*.001,this->vh*.03, -1); - // glScalef(this->vw*.015,this->vh*.025,0); - - glRasterPos2f(0.01, 0.05); - title_font->FaceSize( (unsigned)(20*(this->vh/512.0))); - - if ( this->title != NULL ) { - title_font->Render(this->title ); - } else { - title_font->Render("Unknown" ); - } - // glPopMatrix(); - //glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - -#endif /** USE_FTGL */ -} - -void Renderer::draw_preset() { -#ifdef USE_FTGL - //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - - glColor4f(1.0,1.0,1.0,1.0); - // glPushMatrix(); - //glTranslatef(this->vw*.001,this->vh*-.01, -1); - //glScalef(this->vw*.003,this->vh*.004,0); - - - glRasterPos2f(0.01, 0.01); - - title_font->FaceSize((unsigned)(12*(this->vh/512.0))); - if(this->noSwitch) title_font->Render("[LOCKED] " ); - title_font->FaceSize((unsigned)(20*(this->vh/512.0))); - - title_font->Render(this->presetName().c_str() ); - - - - //glPopMatrix(); - // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); -#endif /** USE_FTGL */ -} - -void Renderer::draw_help( ) { - -#ifdef USE_FTGL -//glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - DWRITE("pre-help"); - glColor4f(1.0,1.0,1.0,1.0); - glPushMatrix(); - glTranslatef(0,1, 0); - //glScalef(this->vw*.02,this->vh*.02 ,0); - - - title_font->FaceSize((unsigned)( 18*(this->vh/512.0))); - - glRasterPos2f(0.01, -0.05); - title_font->Render("Help"); - - glRasterPos2f(0.01, -0.09); - title_font->Render("----------------------------"); - - glRasterPos2f(0.01, -0.13); - title_font->Render("F1: This help menu"); - - glRasterPos2f(0.01, -0.17); - title_font->Render("F2: Show song title"); - - glRasterPos2f(0.01, -0.21); - title_font->Render("F3: Show preset name"); - - glRasterPos2f(0.01, -0.25); - title_font->Render("F4: Show Rendering Settings"); - - glRasterPos2f(0.01, -0.29); - title_font->Render("F5: Show FPS"); - - glRasterPos2f(0.01, -0.35); - title_font->Render("F: Fullscreen"); - - glRasterPos2f(0.01, -0.39); - title_font->Render("L: Lock/Unlock Preset"); - - glRasterPos2f(0.01, -0.43); - title_font->Render("M: Show Menu"); - - glRasterPos2f(0.01, -0.49); - title_font->Render("R: Random preset"); - glRasterPos2f(0.01, -0.53); - title_font->Render("N: Next preset"); - - glRasterPos2f(0.01, -0.57); - title_font->Render("P: Previous preset"); - - glPopMatrix(); - // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - DWRITE("post-help"); -#endif /** USE_FTGL */ -} - -void Renderer::draw_stats(PresetInputs *presetInputs) { - -#ifdef USE_FTGL - char buffer[128]; - float offset= (this->showfps%2 ? -0.05 : 0.0); - // glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - - glColor4f(1.0,1.0,1.0,1.0); - glPushMatrix(); - glTranslatef(0.01,1, 0); - glRasterPos2f(0, -.05+offset); - other_font->Render(this->correction ? " aspect: corrected" : " aspect: stretched"); -sprintf( buffer, " (%f)", this->aspect); - other_font->Render(buffer); - - - - glRasterPos2f(0, -.09+offset); - other_font->FaceSize((unsigned)(18*(this->vh/512.0))); - - sprintf( buffer, " texsize: %d", this->renderTarget->texsize); - other_font->Render(buffer); - - glRasterPos2f(0, -.13+offset); - sprintf( buffer, "viewport: %d x %d", this->vw, this->vh); - - other_font->Render(buffer); - glRasterPos2f(0, -.17+offset); - other_font->Render((this->renderTarget->usePbuffers ? " FBO: on" : " FBO: off")); - - glRasterPos2f(0, -.21+offset); - sprintf( buffer, " mesh: %d x %d", presetInputs->gx,presetInputs->gy); - other_font->Render(buffer); - - glRasterPos2f(0, -.25+offset); - sprintf( buffer, "textures: %.1fkB", textureManager->getTextureMemorySize() /1000.0f); - other_font->Render(buffer); - - glPopMatrix(); - // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - - -#endif /** USE_FTGL */ -} -void Renderer::draw_fps( float realfps ) { -#ifdef USE_FTGL - char bufferfps[20]; - sprintf( bufferfps, "%.1f fps", realfps); - // glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - - glColor4f(1.0,1.0,1.0,1.0); - glPushMatrix(); - glTranslatef(0.01,1, 0); - glRasterPos2f(0, -0.05); - title_font->FaceSize((unsigned)(20*(this->vh/512.0))); - title_font->Render(bufferfps); - - glPopMatrix(); - // glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - -#endif /** USE_FTGL */ -} - - -//Actually draws the texture to the screen -// -//The Video Echo effect is also applied here -void Renderer::render_texture_to_screen(PresetOutputs *presetOutputs) { - - int flipx=1,flipy=1; - //glBindTexture( GL_TEXTURE_2D,this->renderTarget->textureID[0] ); - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - - // glClear(GL_DEPTH_BUFFER_BIT ); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); - - // glClear(GL_ACCUM_BUFFER_BIT); - glColor4d(0.0, 0.0, 0.0,1.0f); - - DWRITE( "rendering texture to screen\n" ); - - glBegin(GL_QUADS); - glVertex3d( 0, 0, -1 ); - glVertex4d(-0.5,-0.5,-1,1); - glVertex4d(-0.5, 0.5,-1,1); - glVertex4d(0.5, 0.5,-1,1); - glVertex4d(0.5, -0.5,-1,1); - glEnd(); - - - glEnable(GL_TEXTURE_2D); - //glBindTexture( GL_TEXTURE_2D, this->renderTarget->textureID[0] ); -// glBindTexture( GL_TEXTURE_2D, this->renderTarget->textureID ); - - // glAccum(GL_LOAD,0); - // if (bDarken==1) glBlendFunc(GL_SRC_COLOR,GL_ZERO); - - //Draw giant rectangle and texture it with our texture! - glBegin(GL_QUADS); - glTexCoord4d(0, 1,0,1); glVertex4d(-0.5,-0.5,-1,1); - glTexCoord4d(0, 0,0,1); glVertex4d(-0.5, 0.5,-1,1); - glTexCoord4d(1, 0,0,1); glVertex4d(0.5, 0.5,-1,1); - glTexCoord4d(1, 1,0,1); glVertex4d(0.5, -0.5,-1,1); - glEnd(); - - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - // if (bDarken==1) glBlendFunc(GL_SRC_COLOR,GL_ONE_MINUS_SRC_ALPHA); - - // if (bDarken==1) { glAccum(GL_ACCUM,1-fVideoEchoAlpha); glBlendFunc(GL_SRC_COLOR,GL_ZERO); } - - glMatrixMode(GL_TEXTURE); - - //draw video echo - glColor4f(0.0, 0.0, 0.0,presetOutputs->fVideoEchoAlpha); - glTranslatef(.5,.5,0); - glScalef(1.0/presetOutputs->fVideoEchoZoom,1.0/presetOutputs->fVideoEchoZoom,1); - glTranslatef(-.5,-.5,0); - - switch (((int)presetOutputs->nVideoEchoOrientation)) - { - case 0: flipx=1;flipy=1;break; - case 1: flipx=-1;flipy=1;break; - case 2: flipx=1;flipy=-1;break; - case 3: flipx=-1;flipy=-1;break; - default: flipx=1;flipy=1; break; - } - glBegin(GL_QUADS); - glTexCoord4d(0, 1,0,1); glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glTexCoord4d(0, 0,0,1); glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glTexCoord4d(1, 0,0,1); glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glTexCoord4d(1, 1,0,1); glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - - - glDisable(GL_TEXTURE_2D); - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - - if (presetOutputs->bBrighten==1) - { - glColor4f(1.0, 1.0, 1.0,1.0); - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - glBlendFunc(GL_ZERO, GL_DST_COLOR); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - } - - if (presetOutputs->bDarken==1) - { - - glColor4f(1.0, 1.0, 1.0,1.0); - glBlendFunc(GL_ZERO,GL_DST_COLOR); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - - - - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - } - - - if (presetOutputs->bSolarize) - { - - glColor4f(1.0, 1.0, 1.0,1.0); - glBlendFunc(GL_ZERO,GL_ONE_MINUS_DST_COLOR); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - glBlendFunc(GL_DST_COLOR,GL_ONE); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - - - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - } - - if (presetOutputs->bInvert) - { - glColor4f(1.0, 1.0, 1.0,1.0); - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - } -} - -void Renderer::render_texture_to_studio(PresetOutputs *presetOutputs, PresetInputs *presetInputs) { - - int x,y; - int flipx=1,flipy=1; - - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - - //glClear( GL_DEPTH_BUFFER_BIT ); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); - - // glClear(GL_ACCUM_BUFFER_BIT); - glColor4f(0.0, 0.0, 0.0,0.04); - - - glBegin(GL_QUADS); - glVertex4d(-0.5,-0.5,-1,1); - glVertex4d(-0.5, 0.5,-1,1); - glVertex4d(0.5, 0.5,-1,1); - glVertex4d(0.5, -0.5,-1,1); - glEnd(); - - - glColor4f(0.0, 0.0, 0.0,1.0); - - glBegin(GL_QUADS); - glVertex4d(-0.5,0,-1,1); - glVertex4d(-0.5, 0.5,-1,1); - glVertex4d(0.5, 0.5,-1,1); - glVertex4d(0.5, 0,-1,1); - glEnd(); - - glBegin(GL_QUADS); - glVertex4d(0,-0.5,-1,1); - glVertex4d(0, 0.5,-1,1); - glVertex4d(0.5, 0.5,-1,1); - glVertex4d(0.5, -0.5,-1,1); - glEnd(); - - glPushMatrix(); - glTranslatef(.25, .25, 0); - glScalef(.5,.5,1); - - glEnable(GL_TEXTURE_2D); - - - //Draw giant rectangle and texture it with our texture! - glBegin(GL_QUADS); - glTexCoord4d(0, 1,0,1); glVertex4d(-0.5,-0.5,-1,1); - glTexCoord4d(0, 0,0,1); glVertex4d(-0.5, 0.5,-1,1); - glTexCoord4d(1, 0,0,1); glVertex4d(0.5, 0.5,-1,1); - glTexCoord4d(1, 1,0,1); glVertex4d(0.5, -0.5,-1,1); - glEnd(); - - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - - glMatrixMode(GL_TEXTURE); - - //draw video echo - glColor4f(0.0, 0.0, 0.0,presetOutputs->fVideoEchoAlpha); - glTranslated(.5,.5,0); - glScaled(1/presetOutputs->fVideoEchoZoom,1/presetOutputs->fVideoEchoZoom,1); - glTranslated(-.5,-.5,0); - - switch (((int)presetOutputs->nVideoEchoOrientation)) - { - case 0: flipx=1;flipy=1;break; - case 1: flipx=-1;flipy=1;break; - case 2: flipx=1;flipy=-1;break; - case 3: flipx=-1;flipy=-1;break; - default: flipx=1;flipy=1; break; - } - glBegin(GL_QUADS); - glTexCoord4d(0, 1,0,1); glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glTexCoord4d(0, 0,0,1); glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glTexCoord4d(1, 0,0,1); glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glTexCoord4d(1, 1,0,1); glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - - - //glDisable(GL_TEXTURE_2D); - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - // if (bDarken==1) { glAccum(GL_ACCUM,fVideoEchoAlpha); glAccum(GL_RETURN,1);} - - - if (presetOutputs->bInvert) - { - glColor4f(1.0, 1.0, 1.0,1.0); - glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - glBegin(GL_QUADS); - glVertex4f(-0.5*flipx,-0.5*flipy,-1,1); - glVertex4f(-0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, 0.5*flipy,-1,1); - glVertex4f(0.5*flipx, -0.5*flipy,-1,1); - glEnd(); - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - } - - // glTranslated(.5,.5,0); - // glScaled(1/fVideoEchoZoom,1/fVideoEchoZoom,1); - // glTranslated(-.5,-.5,0); - //glTranslatef(0,.5*vh,0); - - - //glBlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ZERO); - - glDisable(GL_TEXTURE_2D); - glMatrixMode(GL_MODELVIEW); - glPopMatrix(); - glPushMatrix(); - glTranslatef(.25, -.25, 0); - glScalef(.5,.5,1); - glColor4f(1.0,1.0,1.0,1.0); - - for (x=0;xgx;x++){ - glBegin(GL_LINE_STRIP); - for(y=0;ygy;y++){ - glVertex4f((presetOutputs->x_mesh[x][y]-.5), (presetOutputs->y_mesh[x][y]-.5),-1,1); - //glVertex4f((origx[x+1][y]-.5) * vw, (origy[x+1][y]-.5) *vh ,-1,1); - } - glEnd(); - } - - for (y=0;ygy;y++){ - glBegin(GL_LINE_STRIP); - for(x=0;xgx;x++){ - glVertex4f((presetOutputs->x_mesh[x][y]-.5), (presetOutputs->y_mesh[x][y]-.5),-1,1); - //glVertex4f((origx[x+1][y]-.5) * vw, (origy[x+1][y]-.5) *vh ,-1,1); - } - glEnd(); - } - - glEnable( GL_TEXTURE_2D ); - - - // glTranslated(-.5,-.5,0); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - - // Waveform display -- bottom-left - glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glTranslatef(-.5,0, 0); - - glTranslatef(0,-0.10, 0); - glBegin(GL_LINE_STRIP); - glColor4f(0,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->treb_att*-7,-1); - glColor4f(1.0,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)),0 ,-1); - glColor4f(.5,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->treb*7,-1); - glEnd(); - - glTranslatef(0,-0.13, 0); - glBegin(GL_LINE_STRIP); - glColor4f(0,1.0,0.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->mid_att*-7,-1); - glColor4f(1.0,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)),0 ,-1); - glColor4f(.5,1.0,0.0,0.5); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->mid*7,-1); - glEnd(); - - - glTranslatef(0,-0.13, 0); - glBegin(GL_LINE_STRIP); - glColor4f(1.0,0.0,0.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->bass_att*-7,-1); - glColor4f(1.0,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)),0 ,-1); - glColor4f(.7,0.2,0.2,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->bass*7,-1); - glEnd(); - - glTranslatef(0,-0.13, 0); - glBegin(GL_LINES); - - glColor4f(1.0,1.0,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)),0 ,-1); - glColor4f(1.0,0.6,1.0,1.0); - glVertex3f((((this->totalframes%256)/551.0)), beatDetect->vol*7,-1); - glEnd(); - - glPopMatrix(); - - glDisable(GL_TEXTURE_2D); -} - - - diff --git a/src/projectM-engine/Renderer.hpp b/src/projectM-engine/Renderer.hpp deleted file mode 100644 index 496d46842b..0000000000 --- a/src/projectM-engine/Renderer.hpp +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef Renderer_HPP -#define Renderer_HPP - -#include "PBuffer.hpp" -#include "PresetFrameIO.hpp" -#include "BeatDetect.hpp" -#include -#include -#include -#ifdef USE_FTGL -#include -#include -#include -#endif /** USE_FTGL */ - -class BeatDetect; -class TextureManager; - -class Renderer -{ - RenderTarget *renderTarget; - BeatDetect *beatDetect; - TextureManager *textureManager; - - //per pixel equation variables - float **gridx; //grid containing interpolated mesh - float **gridy; - float **origx2; //original mesh - float **origy2; - int gx; - int gy; - - int vw; - int vh; - - float aspect; - - - - public: - - -#ifdef USE_FTGL -FTGLPixmapFont *title_font; -FTGLPixmapFont *other_font; -FTGLPolygonFont *poly_font; -#endif /** USE_FTGL */ - - int showfps; - int showtitle; - int showpreset; - int showhelp; - int showstats; - - int studio; - int correction; - - std::string fontURL; - - int noSwitch; - - int totalframes; -float realfps; -char *title; - int drawtitle; - - Renderer( int width, int height, int gx, int gy, RenderTarget *renderTarget, TextureManager *textureManager, BeatDetect *beatDetect, std::string fontURL); - ~Renderer(); - void RenderFrame(PresetOutputs *presetOutputs, PresetInputs *presetInputs); - void reset(int w, int h); - GLuint initRenderToTexture(); - void PerPixelMath(PresetOutputs *presetOutputs, PresetInputs *presetInputs); - void WaveformMath(PresetOutputs *presetOutputs, PresetInputs *presetInputs, bool isSmoothing); - - void setPresetName(const std::string& theValue) - { - m_presetName = theValue; - } - - - std::string presetName() const - { - return m_presetName; - } - - -private: - - std::string m_presetName; - - void draw_waveform(PresetOutputs * presetOutputs); - void PerFrame(PresetOutputs *presetOutputs); - void Interpolation(PresetOutputs *presetOutputs, PresetInputs *presetInputs); - - void rescale_per_pixel_matrices(); - void maximize_colors(PresetOutputs *presetOutputs); - void render_texture_to_screen(PresetOutputs *presetOutputs); - void render_texture_to_studio(PresetOutputs *presetOutputs, PresetInputs *presetInputs); - void draw_fps( float realfps ); - void draw_stats(PresetInputs *presetInputs); - void draw_help( ); - void draw_preset(); - void draw_title(); - void draw_title_to_screen(); - void maximize_colors(); - void draw_title_to_texture(); - void draw_motion_vectors(PresetOutputs *presetOutputs); - void draw_borders(PresetOutputs *presetOutputs); - void draw_shapes(PresetOutputs *presetOutputs); - void draw_custom_waves(PresetOutputs *presetOutputs); - - void modulate_opacity_by_volume(PresetOutputs *presetOutputs) ; - void darken_center(); -}; - -#endif diff --git a/src/projectM-engine/TextureManager.cpp b/src/projectM-engine/TextureManager.cpp deleted file mode 100644 index 8347ec45e6..0000000000 --- a/src/projectM-engine/TextureManager.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "TextureManager.hpp" -#include "CustomShape.hpp" -#include - -TextureManager::TextureManager(const std::string _presetURL): presetURL(_presetURL) -{ - ; -} - - -void TextureManager::unloadTextures(const PresetOutputs::cshape_container &shapes) -{ - for (PresetOutputs::cshape_container::const_iterator pos = shapes.begin(); - pos != shapes.end(); ++pos) - { - - if( (*pos)->enabled==1) - { - - if ( (*pos)->textured) - { - std::string imageUrl = (*pos)->getImageUrl(); - if (imageUrl != "") - { - std::string fullUrl = presetURL + "/" + imageUrl; - ReleaseTexture(LoadTexture(fullUrl.c_str())); - } - } - } - } -} - - -GLuint TextureManager::getTexture(const std::string imageUrl) -{ - std::string fullUrl = presetURL + "/" + imageUrl; - return LoadTexture(fullUrl.c_str()); -} - -unsigned int TextureManager::getTextureMemorySize() -{ - return GetTotalTextureSize(); -} diff --git a/src/projectM-engine/TextureManager.hpp b/src/projectM-engine/TextureManager.hpp deleted file mode 100644 index 08e37cdb4a..0000000000 --- a/src/projectM-engine/TextureManager.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef TextureManager_HPP -#define TextureManager_HPP - -#include "PresetFrameIO.hpp" -#include -#include "texture.h" -#include -#include - -class TextureManager -{ - std::string presetURL; - -public: - - TextureManager(std::string _presetURL); - void unloadTextures(const PresetOutputs::cshape_container &shapes); - GLuint getTexture(std::string imageUrl); - unsigned int getTextureMemorySize(); -}; - -#endif diff --git a/src/projectM-engine/bmpLoader.c b/src/projectM-engine/bmpLoader.c deleted file mode 100644 index bf3e9a25f1..0000000000 --- a/src/projectM-engine/bmpLoader.c +++ /dev/null @@ -1,384 +0,0 @@ -#include "bmpLoader.h" - -#include -#include -#include -#include - - -/* force 2 byte alignment of structures */ -#pragma pack(push,2) - -/*! - * This structure comes first in the bitmap file. It's a pretty boring structure really.... - */ -typedef struct -{ - /*! - * The characters identifying the bitmap. The following entries are possible: - * - * 'BM' - Windows 3.1x, 95, NT, . - * 'BA' - OS/2 Bitmap Array - * 'CI' - OS/2 Color Icon - * 'CP' - OS/2 Color Pointer - * 'IC' - OS/2 Icon - * 'PT' - OS/2 Pointer - */ - unsigned char Identifier[2]; - - /*! - * Complete file size in bytes - */ - unsigned long FileSize; - - /*! - * Reserved for later use - */ - unsigned long Reserved; - - /*! - * Offset from beginning of file to the beginning of the bitmap data - */ - unsigned long BitmapDataOffset; -} -BitmapFileHeader; - - -/*! - * This structure immediately follows the main file header. This basically describes - * the information contained within - */ -typedef struct -{ - /*! - * Length of the Bitmap Info Header used to describe the bitmap colors, compression, - * The following sizes are possible: - * - * 28h - Windows 3.1x, 95, NT, . - * 0Ch - OS/2 1.x - * F0h - OS/2 2.x - */ - unsigned long BitmapHeaderSize; - - /*! - * Horizontal width of bitmap in pixels. - */ - long Width; - - /*! - * Vertical height of bitmap in pixels. - */ - long Height; - - /*! - * Number of planes in this bitmap. - */ - unsigned short Planes; - - /*! - * Bits per pixel used to store palette entry information. This also identifies - * in an indirect way the number of possible colors. Possible values are: - * - * 1 - Monochrome bitmap - * 4 - 16 color bitmap - * 8 - 256 color bitmap - * 16 - 16bit (high color) bitmap - * 24 - 24bit (true color) bitmap - * 32 - 32bit (true color) bitmap - */ - unsigned short BitsPerPixel; - - /*! - * Compression specifications. The following values are possible: - * - * 0 - none (Also identified by BI_RGB) - * 1 - RLE 8-bit / pixel (Also identified by BI_RLE4) - * 2 - RLE 4-bit / pixel (Also identified by BI_RLE8) - * 3 - Bitfields (Also identified by BI_BITFIELDS) - */ - unsigned long Compression; - - /*! - * Size of the bitmap data in bytes. This number must be rounded to the next 4 byte boundary. - */ - unsigned long BitmapDataSize; - - /*! - * Horizontal resolution expressed in pixel per meter. - */ - unsigned long HResolution; - - /*! - * Vertical resolution expressed in pixels per meter. - */ - unsigned long VResolution; - - /*! - * Number of colors used by this bitmap. For a 8-bit / pixel - * bitmap this will be 100h or 256. - */ - unsigned long ColorsUsed; - - /*! - * Number of important colors. This number will be equal to the - * number of colors when every color is important. - */ - unsigned long ImportantColors; -} -BitmapInfoHeader; - - -/*! - * This structure is used to hold a colour map entry. - */ -typedef struct -{ - /*! blue component */ - unsigned char b; - - /*! green component */ - unsigned char g; - - /*! red component */ - unsigned char r; - - /*! some say alpha some say reserved.... */ - unsigned char a; -} -ColorMapEntry; - -#pragma pack(pop) - - - -/*! - * \brief This function loads a bitmap image - * \param filename - - */ -int LoadBmpImage(const char filename[], - unsigned char** pixels, - unsigned int* w, - unsigned int* h, - unsigned int* bpp) -{ - BitmapFileHeader FileHeader; - BitmapInfoHeader ImageHeader; - - FILE *fp = fopen( filename, "rb" ); - - /* ensure file is a happy file... */ - if( fp == NULL ) - { - return 0; - } - - /* read the bitmap file */ - fread( &FileHeader, sizeof(BitmapFileHeader), 1, fp ); - - /* - * Make sure we have a valid bitmap file - */ - if( FileHeader.Identifier[0] != 'B' || - FileHeader.Identifier[1] != 'M' ) - { - return 0; - } - - /* - * Read the image header. - */ - fread( &ImageHeader, sizeof(BitmapInfoHeader), 1, fp ); - - if( ImageHeader.Compression != 0 ) - { - printf("[ERROR] This bitmap loader does not support compressed files (yet)\n"); - return 0; - } - - /* store some useful info */ - *w = ImageHeader.Width; - *h = ImageHeader.Height; - - - /*---------------------------------------------------------------------------- 8 Bit Colour mapped images */ - - /* - * It appears as though all 8bit bmp images will have a colour map. This is - * a tad bit annoying as a grey scale image would have also been nice! - */ - if( ImageHeader.BitsPerPixel == 8 ) - { - /* pointer for colour map data */ - ColorMapEntry* map; - - /* hopefully if we have a colour map it will be a sensible 8bit one... */ - if( ImageHeader.BitsPerPixel != 8 ) - { - fprintf(stderr,"[ERROR] The bitmap file you are trying to load has a really odd colour map definition!!\n"); - } - - /* allocate space for colour map */ - map = (ColorMapEntry*) malloc( sizeof(ColorMapEntry) * 256 ); - assert( map ); - - /* read colour map */ - fread( map, sizeof(ColorMapEntry), 256, fp ); - - { - unsigned int i; - for(i=0;i<256;++i) - { - /* if not a grey colour ignore greyscale reading */ - if( i != map[i].r && - i != map[i].g && - i != map[i].b ) { - goto hacky_hacky_moo; - } - } - - /* ignore colour map */ - *bpp = 1; - free( map ); - - /* allocate memory for the pixel data */ - *pixels = (unsigned char*) malloc( (*w) * (*h) ); - assert(*pixels); - fread( *pixels, (*w) * (*h), 1, fp ); - return 1; - } - - hacky_hacky_moo: ; - - /* - * Bitmap files are rather irritatingly aligned to 4 bytes on a line.... - */ - { - unsigned int i; - unsigned int RowSize = ImageHeader.Width; - unsigned char *scanline; - - if( RowSize%4 != 0 ) - { - RowSize += (4 - RowSize%4); - } - - /* allocate enough memory for a scanline */ - scanline = (unsigned char*) malloc( RowSize ); - assert(scanline); - - /* we will expand the colour map to 24bit */ - *bpp = 3; - - /* allocate memory for the pixel data */ - *pixels = (unsigned char*) malloc( (*w) * (*h) * (*bpp) ); - assert(*pixels); - - /* loop through each scanline */ - for(i=0;i<(*h); ++i) - { - /* get a pointer to the start of the scanline in expanded data */ - unsigned char* pline = ( (*pixels) + ( 3 * (*w) * i ) ); - unsigned int j; - - /* read the scanline including padding */ - fread( scanline, RowSize, 1, fp ); - - /* go through each pixel in line */ - for( j=0; j<(*w); ++j ) - { - /* copy red from colour map to pixel data array */ - (*pline) = map[ scanline[j] ].r; - ++pline; - - /* copy green from colour map to pixel data array */ - (*pline) = map[ scanline[j] ].g; - ++pline; - - /* copy blue from colour map to pixel data array */ - (*pline) = map[ scanline[j] ].b; - ++pline; - } - } - - /* delete the dynamic data */ - free( scanline ); - free( map ); - } - fclose(fp); - return 1; - } - - - /*---------------------------------------------------------------------------- 24/32 Bit uncompressed images */ - - { - unsigned int bdepth; - unsigned int i; - unsigned int RowSize; - unsigned int padding = 0; - - /* determine the bitdepth of the actual bitmap image */ - switch( ImageHeader.BitsPerPixel ) - { - case 24: - bdepth=3; - break; - - case 32: - bdepth=4; - break; - - default: - printf("[ERROR] bitmap loader does not support this bit depth\n"); - fclose(fp); - return 0; - } - *bpp = bdepth; - - /* we will need this value a fair amount, so pre-calculate it... */ - RowSize = bdepth * ImageHeader.Width; - - /* determine the padding at the end of the scanline */ - if( (RowSize % 4) != 0 ) - { - padding = 4 - (RowSize % 4); - } - - - - /* allocate memory for the pixel data */ - *pixels = (unsigned char*) malloc( (*h) * RowSize ); - assert(*pixels); - - for( i=0; i != *h; ++i ) - { - unsigned char* end; - /* get a pointer to the start of the scanline in expanded data */ - unsigned char* pline = ( (*pixels) + ( RowSize * i ) ); - unsigned int j; - - /* read the scanline including padding */ - fread( pline, RowSize, 1, fp ); - - end = pline + RowSize; - - /* flip scanline from BGR to RGB */ - for( ; pline != end ; pline += bdepth ) - { - unsigned char temp = *pline; - pline[0] = pline[2]; - pline[2] = temp; - } - - /* now read past padding */ - for( j=0; j!= padding; ++j ) - { - fgetc(fp); - } - } - } - - fclose(fp); - - return 1; -} diff --git a/src/projectM-engine/bmpLoader.h b/src/projectM-engine/bmpLoader.h deleted file mode 100644 index 47c40969dd..0000000000 --- a/src/projectM-engine/bmpLoader.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef ROBS_BMP_LOADER___H_ -#define ROBS_BMP_LOADER___H_ - - -#ifdef __cplusplus -extern "C" { -#endif - - - -/*! - * \brief This function loads a Bitmap image file. - * \param filename - the name of the file to load - * \param pixels - pointer to the pointer that will hold the pixel data (yuck) - * \param w - the width of the image file - * \param h - the height of the image file - * \param bpp - the bytes per pixel of the image file. - * \return 1 if ok, 0 otherwise - */ -int LoadBmpImage( const char filename[], - unsigned char** pixels, - unsigned int* w, - unsigned int* h, - unsigned int* bpp); - - -#ifdef __cplusplus -} -#endif - - -#endif - diff --git a/src/projectM-engine/carbontoprojectM.h b/src/projectM-engine/carbontoprojectM.h deleted file mode 100755 index 68f2567d69..0000000000 --- a/src/projectM-engine/carbontoprojectM.h +++ /dev/null @@ -1,104 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: carbontoprojectM.hpp,v 1.2 2004/11/12 15:12:58 cvs Exp $ - * - * Translates CARBON -> projectM variables - * - * $Log$ - */ - -#ifndef _CARBONTOPROJECTM_H -#define _CARBONTOPROJECTM_H - -#include "projectM.hpp" -#ifdef WIN32 -#else -#endif - -projectMEvent carbon2pmEvent( EventRecord *event ) { \ -\ - switch ( event->what ) { \ - case updateEvt: \ - return PROJECTM_VIDEORESIZE; \ - case keyUp: \ - return PROJECTM_KEYUP; \ - case keyDown: \ - return PROJECTM_KEYDOWN; \ - default: - return PROJECTM_KEYUP; \ - } \ - } \ - -projectMKeycode carbon2pmKeycode( EventRecord *event ) { \ - projectMKeycode char_code = (projectMKeycode)(event->message & charCodeMask); \ - switch ( char_code ) { \ - case kFunctionKeyCharCode: { \ - switch ( ( event->message << 16 ) >> 24 ) { \ - case 111: { \ - return PROJECTM_K_F12; \ - } \ - case 103: { \ - return PROJECTM_K_F11; \ - } \ - case 109: { \ - return PROJECTM_K_F10; \ - } \ - case 101: { \ - return PROJECTM_K_F9; \ - } \ - case 100: { \ - return PROJECTM_K_F8; \ - } \ - case 98: { \ - return PROJECTM_K_F7; \ - } \ - case 97: { \ - return PROJECTM_K_F6; \ - } \ - case 96: { \ - return PROJECTM_K_F5; \ - } \ - case 118: { \ - return PROJECTM_K_F4; \ - } \ - case 99: { \ - return PROJECTM_K_F3; \ - } \ - case 120: { \ - return PROJECTM_K_F2; \ - } \ - case 122: { \ - return PROJECTM_K_F1; \ - } \ - } \ - } \ - default: { \ - return char_code; \ - } \ - } \ - } \ - -projectMModifier carbon2pmModifier( EventRecord *event ) { \ - return (projectMModifier)PROJECTM_K_LSHIFT; \ - } \ - -#endif /** _CARBONTOPROJECTM_H */ diff --git a/src/projectM-engine/compare.h b/src/projectM-engine/compare.h deleted file mode 100755 index b5b64b9777..0000000000 --- a/src/projectM-engine/compare.h +++ /dev/null @@ -1,114 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id$ - * - * $Log$ - */ - -#ifndef _COMPARE_H -#define _COMPARE_H -#include "wipemalloc.h" -#include "Common.hpp" - -/// @bug this will be ripped away when splaytree is more standardly written or its removed in favor of stl-esque data structure -class SplayKeyFunctions { -public: -static int compare_int(const int * num1, const int * num2); -static int compare_string(const char * string1, const char * string2); - -static void free_int(int * num); -static void free_string(char * string); -static void * copy_int(int * num); -static void * copy_string(char * string); -static int compare_string_version(const char * str1, const char * str2); -}; - - -/** tree_types.cpp */ -/* Compares integer value numbers in 32 bit range */ -inline int SplayKeyFunctions::compare_int(const int * num1, const int * num2) { - - if ((*num1) < (*num2)) - return -1; - if ((*num1) > (*num2)) - return 1; - - return 0; -} - -/* Compares strings in lexographical order */ -inline int SplayKeyFunctions::compare_string(const char * str1, const char * str2) { - - // printf("comparing \"%s\" to \"%s\"\n", str1, str2); - //return strcmp(str1, str2); - return strncmp(str1, str2, MAX_TOKEN_SIZE-1); - -} - -/* Compares a string in version order. That is, file1 < file2 < file10 */ -inline int SplayKeyFunctions::compare_string_version(const char * str1, const char * str2) { - - return strcmp( str1, str2 ); -#ifdef PANTS - return strverscmp(str1, str2); -#endif -} - - -inline void SplayKeyFunctions::free_int(int * num) { - free(num); -} - - - - inline void SplayKeyFunctions::free_string(char * string) { - free(string); -} - - - - inline void * SplayKeyFunctions::copy_int(int * num) { - - int * new_num; - - if ((new_num = (int*)wipemalloc(sizeof(int))) == NULL) - return NULL; - - *new_num = *num; - - return (void*)new_num; -} - - -inline void * SplayKeyFunctions::copy_string(char * string) { - - char * new_string; - - if ((new_string = (char*)wipemalloc(MAX_TOKEN_SIZE)) == NULL) - return NULL; - - strncpy(new_string, string, MAX_TOKEN_SIZE-1); - - return (void*)new_string; -} - -#endif /** !_COMPARE_H */ diff --git a/src/projectM-engine/config b/src/projectM-engine/config deleted file mode 100644 index bf066ae2fb..0000000000 --- a/src/projectM-engine/config +++ /dev/null @@ -1,22 +0,0 @@ -projectM Config file (ONLY CHANGE THE NUMBERS!!!!!!) ------------------------------------------------------- -Texture Size (Must be power of 2) [256,512,1024,2048, etc] -512 -Grid X Dimension (Higher is Better but much slower) 12-60 -32 -Grid Y Dimension (Higher is Better but much slower) 8-45 -24 -Windowed Width (Initial window width) -512 -Windowed Height (Initial window width) -512 -Fullscreen Width (set to your native screen resolution) -1024 -Fullscreen Height (set to your native screen resolution) -768 -FPS (Higher the Better) 30-90 is realisitc -35 -Fullscreen on Startup (1=yes, 0=no) -0 -X Server to Display projectM default is ":0.0" -:0.0 diff --git a/src/projectM-engine/config.inp.in b/src/projectM-engine/config.inp.in deleted file mode 100644 index e0c3705818..0000000000 --- a/src/projectM-engine/config.inp.in +++ /dev/null @@ -1,16 +0,0 @@ -# projectM.config -# Configuration File for projectM - -Texsize = 512 # Size of rendering -Mesh X = 32 # blah -Mesh Y = 24 # -FPS = 35 # -Fullscreen = false # comment after sale -Window Width = 512 # comment after title -Window Height = 512 # comment after weight - -Smooth Transition Duration = 5 # in seconds -Preset Duration = 15 # in seconds - -Preset Path = @CMAKE_INSTALL_PREFIX@/share/projectM/presets #preset location -Font Path = @CMAKE_INSTALL_PREFIX@/share/projectM/fonts #font location \ No newline at end of file diff --git a/src/projectM-engine/console_interface.cpp b/src/projectM-engine/console_interface.cpp deleted file mode 100755 index 34eccc115a..0000000000 --- a/src/projectM-engine/console_interface.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include - -#include "projectM.hpp" -#include "Common.hpp" -#include "fatal.h" -#include "console_interface.h" -#include "event.h" -#include "BeatDetect.hpp" -#include "PresetChooser.hpp" -#include - -class Preset; - -interface_t current_interface = DEFAULT_INTERFACE; - -void refreshConsole() { - - switch (current_interface) { - - case MENU_INTERFACE: - // unimplemented - break; - case SHELL_INTERFACE: - // unimplemented - break; - case EDITOR_INTERFACE: - // unimplemented - break; - case DEFAULT_INTERFACE: - break; - case BROWSER_INTERFACE: - // unimplemented - break; - default: - break; - } - -} - -void projectM::key_handler( projectMEvent event, - projectMKeycode keycode, projectMModifier modifier ) { - - switch( event ) { - - - - case PROJECTM_KEYDOWN: - - //default_key_handler(); - switch (current_interface) - { - - case MENU_INTERFACE: -// menu_key_handler(this, event, keycode); - break; - case SHELL_INTERFACE: - //shell_key_handler(); - break; - case EDITOR_INTERFACE: -// editor_key_handler(event,keycode); - break; - case BROWSER_INTERFACE: -// browser_key_handler(event,keycode,modifier); - break; - case DEFAULT_INTERFACE: - default_key_handler(event,keycode); - break; - default: - default_key_handler(event,keycode); - break; - - } - break; - default: - break; - - } -} - -void projectM::default_key_handler( projectMEvent event, projectMKeycode keycode) { - - switch( event ) { - - case PROJECTM_KEYDOWN: - - switch( keycode ) - { - case PROJECTM_K_UP: - beatDetect->beat_sensitivity += 0.25; - if (beatDetect->beat_sensitivity > 5.0) beatDetect->beat_sensitivity = 5.0; - break; - case PROJECTM_K_DOWN: - beatDetect->beat_sensitivity -= 0.25; - if (beatDetect->beat_sensitivity < 0) beatDetect->beat_sensitivity = 0; - break; - case PROJECTM_K_F1: - renderer->showhelp++; - renderer->showstats=0; - renderer->showfps=0; - break; - case PROJECTM_K_F5: - if(renderer->showhelp%2==0) renderer->showfps++; - break; - case PROJECTM_K_F4: - if(renderer->showhelp%2==0) renderer->showstats++; - break; - case PROJECTM_K_F3: { - renderer->showpreset++; - printf( "F3 pressed: %d\n", renderer->showpreset ); - break; - } - case PROJECTM_K_F2: - renderer->showtitle++; - break; -#ifndef MACOS - case PROJECTM_K_F9: -#else - case PROJECTM_K_F8: -#endif - renderer->studio++; - break; - - case PROJECTM_K_ESCAPE: { -// exit( 1 ); - break; - } - case PROJECTM_K_f: - - break; - case PROJECTM_K_a: - if (renderer->correction) { - renderer->correction = 0; - } else { - renderer->correction = 1; - } - break; - case PROJECTM_K_b: - break; - case PROJECTM_K_n: - - if (m_presetChooser->empty()) - break; - - // Case: idle preset currently running, selected first preset of chooser - else if (*m_presetPos == m_presetChooser->end()) { - (*m_presetPos = m_presetChooser->begin()); - } - else - ++(*m_presetPos); - - // Case: already at last preset, loop to beginning - if (((*m_presetPos) == m_presetChooser->end())) { - *m_presetPos = m_presetChooser->begin(); - } - - m_activePreset = m_presetPos->allocate(this->presetInputs, this->presetOutputs); - renderer->setPresetName(m_activePreset->absoluteFilePath()); - - presetInputs.frame = 0; - smoothFrame = 0; - break; - - case PROJECTM_K_r: - - if (m_presetChooser->empty()) - break; - - m_activePreset = m_presetChooser->weightedRandom - (this->presetInputs, this->presetOutputs); - assert(m_activePreset.get()); - - renderer->setPresetName(m_activePreset->absoluteFilePath()); - presetInputs.frame = 0; - smoothFrame = 0; - break; - case PROJECTM_K_p: - - if (m_presetChooser->empty()) - break; - - // Case: idle preset currently running, selected last preset of chooser - else if (*m_presetPos == m_presetChooser->end()) { - --(*m_presetPos); - } - - else if (*m_presetPos != m_presetChooser->begin()) { - --(*m_presetPos); - } - - else { - *m_presetPos = m_presetChooser->end(); - --(*m_presetPos); - } - - m_activePreset = m_presetPos->allocate(this->presetInputs, this->presetOutputs); - renderer->setPresetName(m_activePreset->absoluteFilePath()); - presetInputs.frame = 0; - smoothFrame = 0; - break; - case PROJECTM_K_l: - if (renderer->noSwitch==0)renderer->noSwitch=1; else renderer->noSwitch=0; - // current_interface = BROWSER_INTERFACE; - // loadBrowser(); - break; - case PROJECTM_K_e: - current_interface = EDITOR_INTERFACE; -// loadEditor(active_preset->per_frame_eqn_string_buffer,(void (*)()) reloadPerFrame, -// 80, 24, 140, 60, 0, 0); - break; - case PROJECTM_K_s: - renderer->studio++; -// current_interface = EDITOR_INTERFACE; -// loadEditor("[FILE NAME HERE]", (void (*)())savePreset, -// 50, 1, 100, 5, 0, .92); - case PROJECTM_K_i: - DWRITE( "PROJECTM_K_i\n" ); - - break; - case PROJECTM_K_z: - break; - case PROJECTM_K_0: -// nWaveMode=0; - break; - case PROJECTM_K_6: -// nWaveMode=6; - break; - case PROJECTM_K_7: -// nWaveMode=7; - break; - case PROJECTM_K_m: - renderer->showhelp=0; - renderer->showstats=0; - renderer->showfps=0; -// current_interface = MENU_INTERFACE; -// showMenu(); - break; - case PROJECTM_K_t: - break; - default: - break; - } - default: - break; - - } -} diff --git a/src/projectM-engine/console_interface.h b/src/projectM-engine/console_interface.h deleted file mode 100755 index ca9c5221db..0000000000 --- a/src/projectM-engine/console_interface.h +++ /dev/null @@ -1,39 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: console_interface.h,v 1.1.1.1 2005/12/23 18:05:03 psperl Exp $ - * - * $Log$ - */ - -#ifndef _CONSOLE_INTERFACE_H -#define _CONSOLE_INTERFACE_H - -#include "event.h" - -void default_key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode); -void refreshConsole(); -#if defined(__CPLUSPLUS) && !defined(MACOS) -xtern "C" void key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode, projectMModifier modifier ); -#else -extern void key_handler(projectM *PM, projectMEvent event, projectMKeycode keycode, projectMModifier modifier ); -#endif -#endif /** !_CONSOLE_INTERFACE_H */ diff --git a/src/projectM-engine/event.h b/src/projectM-engine/event.h deleted file mode 100755 index c480926e35..0000000000 --- a/src/projectM-engine/event.h +++ /dev/null @@ -1,151 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: event.h,v 1.2 2004/10/08 10:54:27 cvs Exp $ - * - * projectM keycodes. Enables translation from various event schemes such as Win32, SDL - * &c. - * - * $Log: event.h,v $ - */ - -#ifndef _PROJECTM_EVENT_H -#define _PROJECTM_EVENT_H - -typedef enum { - /** Event types */ - PROJECTM_KEYUP, - PROJECTM_KEYDOWN, - PROJECTM_VIDEORESIZE, - PROJECTM_VIDEOQUIT, - } projectMEvent; - -typedef enum { - /** Keycodes */ - PROJECTM_K_RETURN, - PROJECTM_K_RIGHT, - PROJECTM_K_LEFT, - PROJECTM_K_UP, - PROJECTM_K_DOWN, - PROJECTM_K_PAGEUP, - PROJECTM_K_PAGEDOWN, - PROJECTM_K_INSERT, - PROJECTM_K_DELETE, - PROJECTM_K_ESCAPE, - PROJECTM_K_LSHIFT, - PROJECTM_K_RSHIFT, - PROJECTM_K_CAPSLOCK, - PROJECTM_K_LCTRL, - PROJECTM_K_HOME, - PROJECTM_K_END, - PROJECTM_K_BACKSPACE, - - PROJECTM_K_F1, - PROJECTM_K_F2, - PROJECTM_K_F3, - PROJECTM_K_F4, - PROJECTM_K_F5, - PROJECTM_K_F6, - PROJECTM_K_F7, - PROJECTM_K_F8, - PROJECTM_K_F9, - PROJECTM_K_F10, - PROJECTM_K_F11, - PROJECTM_K_F12, - - PROJECTM_K_0 = 48, - PROJECTM_K_1, - PROJECTM_K_2, - PROJECTM_K_3, - PROJECTM_K_4, - PROJECTM_K_5, - PROJECTM_K_6, - PROJECTM_K_7, - PROJECTM_K_8, - PROJECTM_K_9, - - PROJECTM_K_A = 65, - PROJECTM_K_B, - PROJECTM_K_C, - PROJECTM_K_D, - PROJECTM_K_E, - PROJECTM_K_F, - PROJECTM_K_G, - PROJECTM_K_H, - PROJECTM_K_I, - PROJECTM_K_J, - PROJECTM_K_K, - PROJECTM_K_L, - PROJECTM_K_M, - PROJECTM_K_N, - PROJECTM_K_O, - PROJECTM_K_P, - PROJECTM_K_Q, - PROJECTM_K_R, - PROJECTM_K_S, - PROJECTM_K_T, - PROJECTM_K_U, - PROJECTM_K_V, - PROJECTM_K_W, - PROJECTM_K_X, - PROJECTM_K_Y, - PROJECTM_K_Z, - - PROJECTM_K_a = 97, - PROJECTM_K_b, - PROJECTM_K_c, - PROJECTM_K_d, - PROJECTM_K_e, - PROJECTM_K_f, - PROJECTM_K_g, - PROJECTM_K_h, - PROJECTM_K_i, - PROJECTM_K_j, - PROJECTM_K_k, - PROJECTM_K_l, - PROJECTM_K_m, - PROJECTM_K_n, - PROJECTM_K_o, - PROJECTM_K_p, - PROJECTM_K_q, - PROJECTM_K_r, - PROJECTM_K_s, - PROJECTM_K_t, - PROJECTM_K_u, - PROJECTM_K_v, - PROJECTM_K_w, - PROJECTM_K_x, - PROJECTM_K_y, - PROJECTM_K_z, - PROJECTM_K_NONE, - } projectMKeycode; - -typedef enum { - /** Modifiers */ - PROJECTM_KMOD_LSHIFT, - PROJECTM_KMOD_RSHIFT, - PROJECTM_KMOD_CAPS, - PROJECTM_KMOD_LCTRL, - PROJECTM_KMOD_RCTRL, - } projectMModifier; - -#endif /** !_PROJECTM_EVENT_H */ - diff --git a/src/projectM-engine/libprojectM.ncb b/src/projectM-engine/libprojectM.ncb deleted file mode 100755 index eed9399a58..0000000000 Binary files a/src/projectM-engine/libprojectM.ncb and /dev/null differ diff --git a/src/projectM-engine/libprojectM.pc.in b/src/projectM-engine/libprojectM.pc.in deleted file mode 100644 index ce7aed630b..0000000000 --- a/src/projectM-engine/libprojectM.pc.in +++ /dev/null @@ -1,14 +0,0 @@ -prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=@CMAKE_INSTALL_PREFIX@ -libdir=@CMAKE_INSTALL_PREFIX@/lib -includedir=@CMAKE_INSTALL_PREFIX@/include -pkgdatadir=@CMAKE_INSTALL_PREFIX@/share/projectM -sysconfdir=@CMAKE_INSTALL_PREFIX@/share/projectM - -Name: libprojectM -Version: 1.00 -Description: projectM - OpenGL Milkdrop -Requires: -Libs: -lprojectM -Cflags: - diff --git a/src/projectM-engine/libprojectM/Debug/libprojectM.pch b/src/projectM-engine/libprojectM/Debug/libprojectM.pch deleted file mode 100755 index e8c8d9c278..0000000000 Binary files a/src/projectM-engine/libprojectM/Debug/libprojectM.pch and /dev/null differ diff --git a/src/projectM-engine/libprojectM/Debug/vc60.idb b/src/projectM-engine/libprojectM/Debug/vc60.idb deleted file mode 100755 index 0f48fc1bb8..0000000000 Binary files a/src/projectM-engine/libprojectM/Debug/vc60.idb and /dev/null differ diff --git a/src/projectM-engine/libprojectM/Debug/vc60.pdb b/src/projectM-engine/libprojectM/Debug/vc60.pdb deleted file mode 100755 index 6e47e71d2a..0000000000 Binary files a/src/projectM-engine/libprojectM/Debug/vc60.pdb and /dev/null differ diff --git a/src/projectM-engine/libprojectM/libprojectM.plg b/src/projectM-engine/libprojectM/libprojectM.plg deleted file mode 100755 index 1f8cd9f102..0000000000 --- a/src/projectM-engine/libprojectM/libprojectM.plg +++ /dev/null @@ -1,16 +0,0 @@ - - -
-

Build Log

-

---------------------Configuration: libprojectM - Win32 Debug-------------------- -

-

Command Lines

- - - -

Results

-libprojectM.lib - 0 error(s), 0 warning(s) -
- - diff --git a/src/projectM-engine/pcxLoader.c b/src/projectM-engine/pcxLoader.c deleted file mode 100644 index e982fd70af..0000000000 --- a/src/projectM-engine/pcxLoader.c +++ /dev/null @@ -1,349 +0,0 @@ -#include "pcxLoader.h" - -#pragma pack(push,1) - -/* - The pcx Header structure is 128 bytes in size. The information in the structure is roughly - detailed as the following (according to the pcx file format description on www.wotsit.org) - - - Byte Item Size Description/Comments - 0 Manufacturer 1 Constant Flag, 10 = ZSoft .pcx - 1 Version 1 Version information - 0 = Version 2.5 of PC Paintbrush - 2 = Version 2.8 w/palette information - 3 = Version 2.8 w/o palette information - 4 = PC Paintbrush for Windows(Plus for - Windows uses Ver 5) - 5 = Version 3.0 and > of PC Paintbrush - and PC Paintbrush +, includes - Publisher's Paintbrush . Includes - 24-bit .PCX files - 2 Encoding 1 1 = .PCX run length encoding - 3 BitsPerPixel 1 Number of bits to represent a pixel - (per Plane) - 1, 2, 4, or 8 - 4 Window 8 Image Dimensions: Xmin,Ymin,Xmax,Ymax - 12 HDpi 2 Horizontal Resolution of image in DPI* - 14 VDpi 2 Vertical Resolution of image in DPI* - 16 Colormap 48 Color palette setting, see text - 64 Reserved 1 Should be set to 0. - 65 NPlanes 1 Number of color planes - 66 BytesPerLine 2 Number of bytes to allocate for a scanline - plane. MUST be an EVEN number. Do NOT - calculate from Xmax-Xmin. - 68 PaletteInfo 2 How to interpret palette- 1 = Color/BW, - 2 = Grayscale (ignored in PB IV/ IV +) - 70 HscreenSize 2 Horizontal screen size in pixels. New field - found only in PB IV/IV Plus - 72 VscreenSize 2 Vertical screen size in pixels. New field - found only in PB IV/IV Plus - 74 Filler 54 Blank to fill out 128 byte header. Set all - bytes to 0 - - - This then starts to look somewhat like this : -*/ -typedef struct -{ - unsigned char Manufacturer; - unsigned char Version; - unsigned char Encoding; - unsigned char BitsPerPixel; - - struct - { - unsigned short Xmin; - unsigned short Ymin; - unsigned short Xmax; - unsigned short Ymax; - } - Window; - - short HDpi; - short VDpi; - unsigned char ColorMap[48]; - unsigned char Reserved1; - unsigned char NPlanes; - short BytesPerLine; - short PaletteInfo; - short HscreenSize; - short VscreenSize; - unsigned char Filler[54]; -} -PcxHeader; - -/*! - * \brief This structure is intended to hold a single byte of information from the pcx file. This is kinda important - * because the bytes hold information about whether a run or single byte is used. This is basically a bit - * annoying so instead it is easier to create something using bit-fields that can quickly identify the bit - * flags that are set rather than using horrible bit-wise operations. I just kinda prefer it cos it's more - * readable.... - */ -typedef struct -{ - union - { - struct - { - unsigned char Count : 6; - /* if these two bits are 1, then we have a start of a byte run */ - unsigned char Flag1 : 1; - unsigned char Flag2 : 1; - }; - unsigned char byte; - }; -} -PcxByte; - -typedef struct -{ - unsigned char r; - unsigned char g; - unsigned char b; -} -PcxColour; - -#pragma pack(pop) - - -#include -#include -#include - - - -/*! - * \brief This function loads a ZSoft PCX File image file. - * \param filename - the name of the file to load - * \param pixels - pointer to the pointer that will hold the pixel data (yuck) - * \param w - the width of the image file - * \param h - the height of the image file - * \param bpp - the bytes per pixel of the image file. - * \return 1 if ok, 0 otherwise - */ -int LoadPcxImage( const char filename[], - unsigned char** pixels, - unsigned int* w, - unsigned int* h, - unsigned int* bpp) -{ - /* open the file */ - FILE* fp = fopen( filename,"rb" ); - - /* if opened OK */ - if(fp) - { - /* holds the 128 byte header */ - PcxHeader header; - - /* read the header in */ - fread(&header,128,1,fp); - - if( header.Manufacturer == 10 ) - { - /* calculate the image width & height */ - unsigned int XSIZE = header.Window.Xmax - header.Window.Xmin + 1; - unsigned int YSIZE = header.Window.Ymax - header.Window.Ymin + 1; - - /* The number of bytes per line */ - unsigned int BytesPerLine = header.BytesPerLine * header.NPlanes; - - /* simple count vars */ - unsigned int i,j,k; - - /* a temporary buffer for a scanline */ - unsigned char *tempbuffer; - - /* another temp var */ - unsigned int iCount; - - - - /* check pcx version */ - if( header.Version != 0x05 ) - { - printf("[ERROR] Only version 5 of the pcx file format is supported....\n"); - fclose(fp); - return 0; - } - - /* allocate enough space for the pixel data */ - tempbuffer = (unsigned char*) malloc ( BytesPerLine ); - assert( tempbuffer ); - - - /* allocate enough space for the pixel data */ - (*pixels) = (unsigned char*) malloc ( header.NPlanes * XSIZE * YSIZE ); - assert( *pixels ); - - /* store info */ - *w = XSIZE; - *h = YSIZE; - *bpp = header.NPlanes; - - /* Loop through until whole image is loaded.... */ - for (i = 0; i < YSIZE; ++i ) - { - j = 0; - - /* - * because the scanlines are orderer RRRGGGBBB rather than RGBRGBRGB, I'm reading and decompressing - * the file one scanline at a time. - */ - while( j < BytesPerLine ) - { - PcxByte byte; - - /* assume that at the very least we have a count of 1 */ - iCount=1; - - /* read a byte */ - fread( &byte, 1, 1, fp ); - - /* - * If the top 2 bits of the byte are 1, then the lower 6 bits represent a data count. - * The following byte will then be repeated 'count' number of times. - */ - if( byte.Flag1 && byte.Flag2 ) - { - /* see how many byte repeats we have */ - iCount = (unsigned int)byte.Count; - - /* read the data byte */ - fread( &byte, 1, 1, fp ); - } - - /* expand the compressed data... */ - for ( k = 0; k < iCount; ++k ) - { - tempbuffer[j++] = byte.byte; - } - } - - /* having read the scanline into the scanline buffer, now re-organise into RGB data in the pixel buffer */ - for( j=0; j < XSIZE; ++j ) - { - unsigned char *scanline = ((*pixels) + (XSIZE * header.NPlanes * (YSIZE-i-1))); - - for( k =0; k < header.NPlanes; ++k ) - { - scanline[ (j * header.NPlanes) + k ] = tempbuffer[ (header.BytesPerLine * k) + j ]; - } - } - } - - /* make sure we get rid of the temporary buffer memory allocation.... */ - free( tempbuffer ); - - /* if the bytes per pixel == 1, then there will be a colourmap at the end (hopefully) */ - if( header.NPlanes == 1 ) - { - unsigned char testchar=0; - - /* move to 769 bytes from the end... */ - fseek( fp, -769, SEEK_END ); - - /* read the next char */ - testchar=fgetc(fp); - - /* hopefully it will be 12, or 0x0A which indicates the presence of a colour map */ - if( testchar == 0x0C ) - { - /* allocate enough memory for the colour map */ - PcxColour* Colourmap = (PcxColour*) malloc ( 768 ); - assert(Colourmap); - - /* read the colour map data */ - fread( Colourmap, sizeof(PcxColour), 256, fp ); - - /* see notes below/... */ - testchar = 0x01; - - /* - * this is a really crap check for greyscale images. As far as I can tell, a pcx file stores - * greyscale images by storing the grey tones in the colour palette. I can't really see the point - * of expanding this to 24bit because it will then work differently to the other image loaders. - * as a result I check to see if all colours read in actually match their index in which case - * I will just ignore the colour pallette info.... - */ - for(i=0;i<256;++i) - { - if( Colourmap[i].r != i || - Colourmap[i].g != i || - Colourmap[i].b != i ) - { - testchar = 0; - break; - } - } - - /* if the test proved false, then I will expand the data out into a 24bit colour image */ - if( testchar == 0x00 ) - { - unsigned char* px_o= (*pixels); - unsigned char* end_o = px_o + (XSIZE*YSIZE); - unsigned char* px; - - tempbuffer = (unsigned char*) malloc( XSIZE*YSIZE*3 ); - assert(tempbuffer); - - px = tempbuffer; - - /* Expand the old 8bit colourmapped data into 24bit... */ - while( px_o != end_o ) - { - *px = Colourmap[ *px_o ].r; - ++px; - - *px = Colourmap[ *px_o ].g; - ++px; - - *px = Colourmap[ *px_o ].b; - ++px; - - ++px_o; - } - - /* delete the not needed 8bit data */ - free( *pixels ); - - /* store pointer to new pixel data */ - *pixels = tempbuffer; - - /* update the bytes per pixel... */ - *bpp = 3; - } - - free( Colourmap ); - } - } - - } - else - { - printf("[ERROR] %s is not a pcx file!!\n" , filename ); - fclose(fp); - return 0; - } - - fclose(fp); - - return 1; - } - return 0; -} - - - - - - - - - - - - - - - diff --git a/src/projectM-engine/pcxLoader.h b/src/projectM-engine/pcxLoader.h deleted file mode 100644 index 6d0f90ee89..0000000000 --- a/src/projectM-engine/pcxLoader.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef ROBS_PCX_LOADER___H_ -#define ROBS_PCX_LOADER___H_ - - -#ifdef __cplusplus -extern "C" { -#endif - - - -/*! - * \brief This function loads a ZSoft PCX File image file. - * \param filename - the name of the file to load - * \param pixels - pointer to the pointer that will hold the pixel data (yuck) - * \param w - the width of the image file - * \param h - the height of the image file - * \param bpp - the bytes per pixel of the image file. - * \return 1 if ok, 0 otherwise - */ -int LoadPcxImage( const char filename[], - unsigned char** pixels, - unsigned int* w, - unsigned int* h, - unsigned int* bpp); - - -#ifdef __cplusplus -} -#endif - - -#endif - diff --git a/src/projectM-engine/projectM.cpp b/src/projectM-engine/projectM.cpp deleted file mode 100755 index 2c7aaec287..0000000000 --- a/src/projectM-engine/projectM.cpp +++ /dev/null @@ -1,903 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -#include "wipemalloc.h" -#include "BuiltinFuncs.hpp" -#include "fatal.h" -#include "Common.hpp" -#include "compare.h" -#ifdef WIN32 -#include "win32-dirent.h" -#endif - -#include "timer.h" -#include -#ifdef LINUX -#include "time.h" -#endif - -//#include -#include -#include "projectM.hpp" -#include "BeatDetect.hpp" -#include "Eval.hpp" -#include "Param.hpp" -#include "Parser.hpp" -#include "Preset.hpp" -#include "PerPixelEqn.hpp" -#include "PresetMerge.hpp" -//#include "menu.h" -#include "PCM.hpp" //Sound data handler (buffering, FFT, etc.) -#include "CustomWave.hpp" -#include "CustomShape.hpp" -#include "IdlePreset.hpp" -#include "MoodBar.hpp" - -#include - -#include "Renderer.hpp" -#include "PresetChooser.hpp" -#include "ConfigFile.h" -#include "TextureManager.hpp" - - - -double presetDuration = 15; -double smoothDuration = 5; -//int smoothFrame = 0; -int oldFrame = 1; - -DLLEXPORT projectM::projectM(int gx, int gy, int fps, int texsize, int width, int height) :renderer(0), renderTarget(0), smoothFrame(0), beatDetect ( 0 ) - -{ - projectM_reset(); - projectM_init(gx, gy, fps, texsize, wvw, wvh); - projectM_resetGL( wvw, wvh ); -} - -DLLEXPORT projectM::~projectM() { - std::cerr << "[projectM] DESTROY PRESET TOOLS BEGIN" << std::endl; - destroyPresetTools(); - std::cerr << "[projectM] DESTROY PRESET TOOLS END" << std::endl; - - - std::cerr << "[projectM] 1" << std::endl; - if (renderer) - delete(renderer); -std::cerr << "[projectM] 2" << std::endl; - if (textureManager) - delete(textureManager); -std::cerr << "[projectM] 3" << std::endl; - if (beatDetect) - delete(beatDetect); -std::cerr << "[projectM] 4" << std::endl; - if (renderTarget) - delete(renderTarget); -std::cerr << "[projectM] 5" << std::endl; - -} - -DLLEXPORT projectM::projectM(std::string config_file) : - renderer(0), renderTarget(0), smoothFrame(0), beatDetect ( 0 ) -{ - projectM_reset(); - readConfig(config_file); - -} - -void projectM::readConfig(std::string config_file) -{ - - ConfigFile config(config_file); - - int gx = config.read( "Mesh X", 32 ); - int gy = config.read( "Mesh Y", 24 ); - int texsize = config.read( "Texsize", 512 ); - int fps = config.read( "FPS", 35 ); - int wvw = config.read( "Window Width", 512 ); - int wvh = config.read( "Window Height", 512 ); - smoothDuration = config.read( "Smooth Transition Duration", 5 ); - presetDuration = config.read( "Preset Duration", 15 ); - - int fullscreen; - if (config.read("Fullscreen", true)) fullscreen = 1; - else fullscreen = 0; - - presetURL = config.read( "Preset Path", "/usr/share/projectM/presets" ); - fontURL = config.read( "Font Path", "/usr/share/projectM/fonts" ); - - projectM_init(gx, gy, fps, texsize, wvw, wvh); - projectM_resetGL( wvw, wvh ); -} - - -DLLEXPORT void projectM::renderFrame() -{ - -#ifdef DEBUG - char fname[1024]; - FILE *f = NULL; - int index = 0; - int x, y; -#endif - - // printf("Start of loop at %d\n",timestart); - mspf= ( int ) ( 1000.0/ ( float ) presetInputs.fps ); //milliseconds per frame - - -#ifndef WIN32 - presetInputs.time = getTicks ( &startTime ) * 0.001; -#else - presetInputs.time = getTicks ( startTime ) * 0.001; -#endif /** !WIN32 */ - - - //DWRITE ( "frame: %d\ttime: %f\tprogress: %f\tavgtime: %d\tang: %f\trot: %f\n", - // this->presetInputs.frame, presetInputs.time, this->presetInputs.progress, this->avgtime, this->presetInputs.ang_per_pixel, - //this->presetOutputs.rot ); - - -// printf("start:%d at:%d min:%d stop:%d on:%d %d\n",startframe, frame frame-startframe,avgtime, noSwitch,progress); - presetInputs.ResetMesh(); - - - -// printf("%f %d\n",Time,frame); - - - beatDetect->detectFromSamples(); -#ifdef USE_MOODBAR - float rgb[3]; - moodBar->calculateMood(rgb); - presetInputs.mood_r = rgb[0]; - presetInputs.mood_g = rgb[1]; - presetInputs.mood_b = rgb[2]; -#endif - - DWRITE ( "=== vol: %f\tbass: %f\tmid: %f\ttreb: %f ===\n", - beatDetect->vol,beatDetect->bass,beatDetect->mid,beatDetect->treb ); - DWRITE ( "=== bass_att: %f ===\n", - beatDetect->bass_att ); - - presetInputs.bass = beatDetect->bass; - presetInputs.mid = beatDetect->mid; - presetInputs.treb = beatDetect->treb; - presetInputs.bass_att = beatDetect->bass_att; - presetInputs.mid_att = beatDetect->mid_att; - presetInputs.treb_att = beatDetect->treb_att; - - assert(m_activePreset.get()); - - m_activePreset->evaluateFrame(); - - if ( renderer->noSwitch==0 && !m_presetChooser->empty()) - { - if ( presetInputs.progress>1.0 ) - { - oldFrame = presetInputs.frame; - presetInputs.progress=0.0; - presetInputs.frame = 1; - - m_activePreset2 = m_presetChooser->weightedRandom - (presetInputs, &m_activePreset->presetOutputs() == &presetOutputs ? presetOutputs2 : presetOutputs); - assert(m_activePreset2.get()); - renderer->setPresetName(m_activePreset2->absoluteFilePath()); - - nohard=(int)(presetInputs.fps*3.5); - smoothFrame = (int)(presetInputs.fps * smoothDuration); - - printf("SOFT CUT - Smooth started\n"); - } - else if ( ( beatDetect->bass-beatDetect->bass_old>beatDetect->beat_sensitivity ) && nohard<0 && false )//@REMOVE - { - // printf("%f %d %d\n", beatDetect->bass-beatDetect->bass_old,this->frame,this->avgtime); - printf("HARD CUT"); - m_activePreset = m_presetChooser->weightedRandom - (presetInputs, presetOutputs); - assert(m_activePreset.get()); - nohard=presetInputs.fps*5; - smoothFrame=0; - presetInputs.progress=0.0; - presetInputs.frame = 1; - } - else nohard--; - } - - - - if (smoothFrame > 1 && !m_presetChooser->empty()) - { - int frame = ++presetInputs.frame; - presetInputs.frame = ++oldFrame; - presetInputs.progress= 1.0; - assert(m_activePreset.get()); - m_activePreset->evaluateFrame(); - renderer->PerPixelMath(&m_activePreset->presetOutputs(), &presetInputs); - renderer->WaveformMath(&m_activePreset->presetOutputs(), &presetInputs, true); - - presetInputs.frame = frame; - presetInputs.progress= frame /(float) avgtime; - assert(m_activePreset2.get()); - m_activePreset2->evaluateFrame(); - renderer->PerPixelMath(&m_activePreset2->presetOutputs(), &presetInputs); - renderer->WaveformMath(&m_activePreset2->presetOutputs(), &presetInputs, true); - - //double pos = -((smoothFrame / (presetInputs.fps * smoothDuration))-1); - //double ratio = 1/(1 + exp((pos-0.5)*4*M_PI)); - double ratio = smoothFrame / (presetInputs.fps * smoothDuration); - // printf("f(%f)=%f\n",pos, ratio); - PresetMerger::MergePresets(m_activePreset->presetOutputs(),m_activePreset2->presetOutputs(),ratio,presetInputs.gx, presetInputs.gy); - - //printf("Smooth:%d\n",smoothFrame); - - smoothFrame--; - - } - else - { - if (smoothFrame == 1) - { - m_activePreset = m_activePreset2; - smoothFrame=0; - printf("Smooth Finished\n"); - } - - presetInputs.frame++; //number of frames for current preset - presetInputs.progress= presetInputs.frame/ ( float ) avgtime; - m_activePreset->evaluateFrame(); - - renderer->PerPixelMath(&m_activePreset->presetOutputs(), &presetInputs); - renderer->WaveformMath(&m_activePreset->presetOutputs(), &presetInputs, false); - - } - - // std::cout<< m_activePreset->absoluteFilePath()<presetName = m_activePreset->absoluteFilePath(); - - renderer->RenderFrame ( &m_activePreset->presetOutputs(), &presetInputs ); - - count++; -#ifndef WIN32 - /** Frame-rate limiter */ - /** Compute once per preset */ - if ( this->count%100==0 ) - { - this->renderer->realfps=100.0/ ( ( getTicks ( &this->startTime )-this->fpsstart ) /1000 ); - this->fpsstart=getTicks ( &this->startTime ); - } - - int timediff = getTicks ( &this->startTime )-this->timestart; - - if ( timediff < this->mspf ) - { - // printf("%s:",this->mspf-timediff); - int sleepTime = ( unsigned int ) ( this->mspf-timediff ) * 1000; - DWRITE ( "usleep: %d\n", sleepTime ); - if ( sleepTime > 0 && sleepTime < 100000 ) - { - if ( usleep ( sleepTime ) != 0 ) {}} - } - this->timestart=getTicks ( &this->startTime ); -#endif /** !WIN32 */ - - DWRITE ( "exiting renderFrame()\n" ); -} - -DLLEXPORT void projectM::projectM_reset() -{ - -// DWRITE( "projectM_reset(): in\n" ); - - /// @bug uncertain if preset should be played with here - carm -// m_activePreset = 0; - -// if (m_activePreset) { -// delete(m_activePreset); - // m_activePreset = 0; - // } - - this->presetURL = ""; - this->fontURL = ""; - - /** Default variable settings */ - this->hasInit = 0; - - this->pcmframes = 1; - this->freqframes = 0; - - - - this->fvw = 800; - this->fvh = 600; - this->wvw = 512; - this->wvh = 512; - this->fullscreen = 0; - - /** Frames per preset */ - this->avgtime = 500; - - - - /** More other stuff */ - this->mspf = 0; - this->timed = 0; - this->timestart = 0; - this->nohard = 0; - this->count = 0; - - this->fpsstart = 0; - - projectM_resetengine(); -} - - void projectM::projectM_init ( int gx, int gy, int fps, int texsize, int width, int height ) -{ - - /** Initialise engine variables */ - - projectM_initengine(); - presetInputs.Initialize ( gx, gy ); - presetOutputs.Initialize ( gx, gy ); - presetOutputs2.Initialize ( gx, gy ); - - DWRITE ( "projectM plugin: Initializing\n" ); - - /** Initialise start time */ -#ifndef WIN32 - gettimeofday ( &this->startTime, NULL ); -#else - startTime = GetTickCount(); -#endif /** !WIN32 */ - - /** Nullify frame stash */ - - - /** Initialise per-pixel matrix calculations */ - - - presetInputs.fps = fps; - - /** We need to initialise this before the builtin param db otherwise bass/mid etc won't bind correctly */ - assert(!beatDetect); - beatDetect = new BeatDetect(); - - /* Preset loading function */ - initPresetTools(); -#if 0 - /* Load default preset directory */ -#ifdef MACOS2 - /** Probe the bundle for info */ - CFBundleRef bundle = CFBundleGetMainBundle(); - char msg[1024]; - sprintf ( msg, "bundle: %X\n", bundle ); - DWRITE ( msg ); - if ( bundle != NULL ) - { - CFPlugInRef pluginRef = CFBundleGetPlugIn ( bundle ); - if ( pluginRef != NULL ) - { - DWRITE ( "located plugin ref\n" ); - } - else - { - DWRITE ( "failed to find plugin ref\n" ); - } - - CFURLRef bundleURL = CFBundleCopyBundleURL ( bundle ); - if ( bundleURL == NULL ) - { - DWRITE ( "bundleURL failed\n" ); - } - else - { - DWRITE ( "bundleURL OK\n" ); - } - char *bundleName = - ( char * ) CFStringGetCStringPtr ( CFURLGetString ( bundleURL ), kCFStringEncodingMacRoman ); - DWRITE ( "bundleURL: %s\n", bundleName ); - - presetURL = CFBundleCopyResourceURL ( bundle, purl, NULL, NULL ); - if ( presetURL != NULL ) - { - this->presetURL = ( char * ) CFStringGetCStringPtr ( CFURLCopyPath ( presetURL ), kCFStringEncodingMacRoman ); - sprintf ( msg, "Preset: %s\n", presetURL ); - DWRITE ( msg ); - printf ( msg ); - - /** Stash the short preset name */ - - } - else - { - DWRITE ( "Failed to probe 'presets' bundle ref\n" ); - this->presetURL = NULL; - } - - fontURL = CFBundleCopyResourceURL ( bundle, furl, NULL, NULL ); - if ( fontURL != NULL ) - { - fontURL = ( char * ) CFStringGetCStringPtr ( CFURLCopyPath ( fontURL ), kCFStringEncodingMacRoman ); - sprintf ( msg, "Font: %s\n", fontURL ); - DWRITE ( msg ); - printf ( msg ); - } - else - { - DWRITE ( "Failed to probe 'fonts' bundle ref\n" ); - fontURL = NULL; - } - } - - /** Sanity check */ - if ( bundle == NULL || presetURL == NULL || fontURL == NULL ) - { - sprintf ( msg, "defaulting presets\n" ); - DWRITE ( msg ); - this->fontURL = ( char * ) wipemalloc ( sizeof ( char ) * 512 ); -// strcpy( this->fontURL, "../../fonts/" ); - strcpy ( fontURL, "/Users/descarte/tmp/projectM/fonts" ); - this->fontURL[34] = '\0'; -// loadPresetDir( "../../presets/" ); -// loadPresetDir( "/Users/descarte/tmp/projectM-1.00/presets_projectM" ); - } - else - { - printf ( "PresetDir: %s\n", this->presetURL ); - loadPresetDir ( presetURL ); - } -#else - if ( presetURL == NULL || fontURL == NULL ) - { - char msg[1024]; - sprintf ( msg, "defaulting presets\n" ); - DWRITE ( msg ); - fontURL = ( char * ) wipemalloc ( sizeof ( char ) * 512 ); -#ifdef WIN32 - strcpy ( this->fontURL, "c:\\tmp\\projectM\\fonts" ); - fontURL[24] = '\0'; -#else - strcpy ( this->fontURL, "/Users/descarte/tmp/projectM/fonts" ); - fontURL[34] = '\0'; -#endif - DWRITE ( "loading font URL directly: %s\n", this->fontURL ); -#ifdef WIN32 - // loadPresetDir( "c:\\tmp\\projectM\\presets_projectM" ); -#else - // loadPresetDir( "/Users/descarte/tmp/projectM-1.00/presets_projectM" ); -#endif - } - else - { - printf ( "PresetDir: %s\n", this->presetURL ); - //loadPresetDir( presetURL ); - } - -#endif -#endif - - mspf= ( int ) ( 1000.0/ ( float ) presetInputs.fps ); - - -// initMenu(); -//DWRITE( "post initMenu()\n" ); - - printf ( "mesh: %d %d\n", gx,gy ); - -#ifdef PANTS - printf ( "maxsamples: %d\n", this->maxsamples ); - initPCM ( this->maxsamples ); - DWRITE ( "post PCM init\n" ); -#endif - - this->avgtime=(int)(this->presetInputs.fps*presetDuration); - - this->hasInit = 1; - - this->renderTarget = new RenderTarget ( texsize, width, height ); - this->textureManager = new TextureManager(presetURL); - this->presetInputs.gx = gx; - this->presetInputs.gy = gy; - - this->renderer = new Renderer ( width, height, gx, gy, renderTarget, textureManager, beatDetect, fontURL); - - - renderer->setPresetName(m_activePreset->absoluteFilePath()); - - printf ( "exiting projectM_init()\n" ); -} - - - - -//calculate matrices for per_pixel - - - - -void projectM::projectM_initengine() -{ - - /* PER FRAME CONSTANTS BEGIN */ - this->presetOutputs.zoom=1.0; - this->presetOutputs.zoomexp= 1.0; - this->presetOutputs.rot= 0.0; - this->presetOutputs.warp= 0.0; - - this->presetOutputs.sx= 1.0; - this->presetOutputs.sy= 1.0; - this->presetOutputs.dx= 0.0; - this->presetOutputs.dy= 0.0; - this->presetOutputs.cx= 0.5; - this->presetOutputs.cy= 0.5; - - this->presetOutputs.decay=.98; - - this->presetOutputs.wave_r= 1.0; - this->presetOutputs.wave_g= 0.2; - this->presetOutputs.wave_b= 0.0; - this->presetOutputs.wave_x= 0.5; - this->presetOutputs.wave_y= 0.5; - this->presetOutputs.wave_mystery= 0.0; - - this->presetOutputs.ob_size= 0.0; - this->presetOutputs.ob_r= 0.0; - this->presetOutputs.ob_g= 0.0; - this->presetOutputs.ob_b= 0.0; - this->presetOutputs.ob_a= 0.0; - - this->presetOutputs.ib_size = 0.0; - this->presetOutputs.ib_r = 0.0; - this->presetOutputs.ib_g = 0.0; - this->presetOutputs.ib_b = 0.0; - this->presetOutputs.ib_a = 0.0; - - this->presetOutputs.mv_a = 0.0; - this->presetOutputs.mv_r = 0.0; - this->presetOutputs.mv_g = 0.0; - this->presetOutputs.mv_b = 0.0; - this->presetOutputs.mv_l = 1.0; - this->presetOutputs.mv_x = 16.0; - this->presetOutputs.mv_y = 12.0; - this->presetOutputs.mv_dy = 0.02; - this->presetOutputs.mv_dx = 0.02; - -//this->presetInputs.meshx = 0; -//this->presetInputs.meshy = 0; - - - this->presetInputs.progress = 0; - this->presetInputs.frame = 1; - - this->avgtime = 600; -//bass_thresh = 0; - - /* PER_FRAME CONSTANTS END */ - this->presetOutputs.fRating = 0; - this->presetOutputs.fGammaAdj = 1.0; - this->presetOutputs.fVideoEchoZoom = 1.0; - this->presetOutputs.fVideoEchoAlpha = 0; - this->presetOutputs.nVideoEchoOrientation = 0; - - this->presetOutputs.nWaveMode = 7; - this->presetOutputs.bAdditiveWaves = 0; - this->presetOutputs.bWaveDots = 0; - this->presetOutputs.bWaveThick = 0; - this->presetOutputs.bModWaveAlphaByVolume = 0; - this->presetOutputs.bMaximizeWaveColor = 0; - this->presetOutputs.bTexWrap = 0; - this->presetOutputs.bDarkenCenter = 0; - this->presetOutputs.bRedBlueStereo = 0; - this->presetOutputs.bBrighten = 0; - this->presetOutputs.bDarken = 0; - this->presetOutputs.bSolarize = 0; - this->presetOutputs.bInvert = 0; - this->presetOutputs.bMotionVectorsOn = 1; - - this->presetOutputs.fWaveAlpha =1.0; - this->presetOutputs.fWaveScale = 1.0; - this->presetOutputs.fWaveSmoothing = 0; - this->presetOutputs.fWaveParam = 0; - this->presetOutputs.fModWaveAlphaStart = 0; - this->presetOutputs.fModWaveAlphaEnd = 0; - this->presetOutputs.fWarpAnimSpeed = 0; - this->presetOutputs.fWarpScale = 0; - this->presetOutputs.fShader = 0; - - - /* PER_PIXEL CONSTANTS BEGIN */ - this->presetInputs.x_per_pixel = 0; - this->presetInputs.y_per_pixel = 0; - this->presetInputs.rad_per_pixel = 0; - this->presetInputs.ang_per_pixel = 0; - - /* PER_PIXEL CONSTANT END */ - - - /* Q AND T VARIABLES START */ - - this->presetOutputs.q1 = 0; - this->presetOutputs.q2 = 0; - this->presetOutputs.q3 = 0; - this->presetOutputs.q4 = 0; - this->presetOutputs.q5 = 0; - this->presetOutputs.q6 = 0; - this->presetOutputs.q7 = 0; - this->presetOutputs.q8 = 0; - - - /* Q AND T VARIABLES END */ - -//per pixel meshes - /* - // this->presetOutputs.zoom_mesh = NULL; - // this->presetOutputs.zoomexp_mesh = NULL; - //this->presetOutputs.rot_mesh = NULL; - - - // this->presetOutputs.sx_mesh = NULL; - // this->presetOutputs.sy_mesh = NULL; - // this->presetOutputs.dx_mesh = NULL; - // this->presetOutputs.dy_mesh = NULL; - // this->presetOutputs.cx_mesh = NULL; - // this->presetOutputs.cy_mesh = NULL; - - // this->presetInputs.x_mesh = NULL; - / this->presetInputs.y_mesh = NULL; - // this->presetInputs.rad_mesh = NULL; - // this->presetInputs.theta_mesh = NULL; - */ - -//custom wave per point meshes -} - -/* Reinitializes the engine variables to a default (conservative and sane) value */ -void projectM::projectM_resetengine() -{ - - this->presetOutputs.zoom=1.0; - this->presetOutputs.zoomexp= 1.0; - this->presetOutputs.rot= 0.0; - this->presetOutputs.warp= 0.0; - - this->presetOutputs.sx= 1.0; - this->presetOutputs.sy= 1.0; - this->presetOutputs.dx= 0.0; - this->presetOutputs.dy= 0.0; - this->presetOutputs.cx= 0.5; - this->presetOutputs.cy= 0.5; - - this->presetOutputs.decay=.98; - - this->presetOutputs.wave_r= 1.0; - this->presetOutputs.wave_g= 0.2; - this->presetOutputs.wave_b= 0.0; - this->presetOutputs.wave_x= 0.5; - this->presetOutputs.wave_y= 0.5; - this->presetOutputs.wave_mystery= 0.0; - - this->presetOutputs.ob_size= 0.0; - this->presetOutputs.ob_r= 0.0; - this->presetOutputs.ob_g= 0.0; - this->presetOutputs.ob_b= 0.0; - this->presetOutputs.ob_a= 0.0; - - this->presetOutputs.ib_size = 0.0; - this->presetOutputs.ib_r = 0.0; - this->presetOutputs.ib_g = 0.0; - this->presetOutputs.ib_b = 0.0; - this->presetOutputs.ib_a = 0.0; - - this->presetOutputs.mv_a = 0.0; - this->presetOutputs.mv_r = 0.0; - this->presetOutputs.mv_g = 0.0; - this->presetOutputs.mv_b = 0.0; - this->presetOutputs.mv_l = 1.0; - this->presetOutputs.mv_x = 16.0; - this->presetOutputs.mv_y = 12.0; - this->presetOutputs.mv_dy = 0.02; - this->presetOutputs.mv_dx = 0.02; - - - if ( beatDetect != NULL ) - { - beatDetect->reset(); - } - this->presetInputs.progress = 0; - this->presetInputs.frame = 1; - -// bass_thresh = 0; - - /* PER_FRAME CONSTANTS END */ - this->presetOutputs.fRating = 0; - this->presetOutputs.fGammaAdj = 1.0; - this->presetOutputs.fVideoEchoZoom = 1.0; - this->presetOutputs.fVideoEchoAlpha = 0; - this->presetOutputs.nVideoEchoOrientation = 0; - - this->presetOutputs.nWaveMode = 7; - this->presetOutputs.bAdditiveWaves = 0; - this->presetOutputs.bWaveDots = 0; - this->presetOutputs.bWaveThick = 0; - this->presetOutputs.bModWaveAlphaByVolume = 0; - this->presetOutputs.bMaximizeWaveColor = 0; - this->presetOutputs.bTexWrap = 0; - this->presetOutputs.bDarkenCenter = 0; - this->presetOutputs.bRedBlueStereo = 0; - this->presetOutputs.bBrighten = 0; - this->presetOutputs.bDarken = 0; - this->presetOutputs.bSolarize = 0; - this->presetOutputs.bInvert = 0; - this->presetOutputs.bMotionVectorsOn = 1; - - this->presetOutputs.fWaveAlpha =1.0; - this->presetOutputs.fWaveScale = 1.0; - this->presetOutputs.fWaveSmoothing = 0; - this->presetOutputs.fWaveParam = 0; - this->presetOutputs.fModWaveAlphaStart = 0; - this->presetOutputs.fModWaveAlphaEnd = 0; - this->presetOutputs.fWarpAnimSpeed = 0; - this->presetOutputs.fWarpScale = 0; - this->presetOutputs.fShader = 0; - - - /* PER_PIXEL CONSTANTS BEGIN */ - this->presetInputs.x_per_pixel = 0; - this->presetInputs.y_per_pixel = 0; - this->presetInputs.rad_per_pixel = 0; - this->presetInputs.ang_per_pixel = 0; - - /* PER_PIXEL CONSTANT END */ - - - /* Q VARIABLES START */ - - this->presetOutputs.q1 = 0; - this->presetOutputs.q2 = 0; - this->presetOutputs.q3 = 0; - this->presetOutputs.q4 = 0; - this->presetOutputs.q5 = 0; - this->presetOutputs.q6 = 0; - this->presetOutputs.q7 = 0; - this->presetOutputs.q8 = 0; - - - /* Q VARIABLES END */ - -} - -/** Resets OpenGL state */ -DLLEXPORT void projectM::projectM_resetGL ( int w, int h ) -{ - - - - DWRITE ( "projectM_resetGL(): in: %d x %d\n", w, h ); - - /** Stash the new dimensions */ - - - - renderer->reset ( w,h ); -} - -/** Sets the title to display */ -DLLEXPORT void projectM::projectM_setTitle ( char *title ) -{ - /* - if (strcmp(this->title, title)!=0) - {printf("new title\n"); - this->drawtitle=1; - - if ( this->title != NULL ) { - free( this->title ); - this->title = NULL; - } - - this->title = (char *)wipemalloc( sizeof( char ) * ( strlen( title ) + 1 ) ); - strcpy( this->title, title ); - - } - */ -} - - -int projectM::initPresetTools() -{ - - /* Initializes the builtin function database */ - BuiltinFuncs::init_builtin_func_db(); - - /* Initializes all infix operators */ - Eval::init_infix_ops(); - - /* Set the seed to the current time in seconds */ -#ifdef WIN32 - srand ( time ( NULL ) ); -#endif - - if ( ( m_presetLoader = new PresetLoader (presetURL)) == 0 ) - { - m_presetLoader = 0; - std::cerr << "[projectM] error allocating preset loader" << std::endl; - return PROJECTM_FAILURE; - } - - if ( ( m_presetChooser = new PresetChooser ( *m_presetLoader ) ) == 0 ) - { - delete ( m_presetLoader ); - - m_presetChooser = 0; - m_presetLoader = 0; - - std::cerr << "[projectM] error allocating preset chooser" << std::endl; - return PROJECTM_FAILURE; - } - - // Start the iterator - m_presetPos = new PresetIterator(); - - // Start at end ptr- this allows next/previous to easily be done from this position. - *m_presetPos = m_presetChooser->end(); - - // Load idle preset - std::cerr << "[projectM] Allocating idle preset..." << std::endl; - m_activePreset = IdlePreset::allocate(presetInputs, presetOutputs); - - // Case where no valid presets exist in directory - if (m_presetChooser->empty()) - { - std::cerr << "[projectM] warning: no valid files found in preset directory \"" - << m_presetLoader->directoryName() << "\"" << std::endl; - } - - std::cerr << "[projectM] Idle preset allocated." << std::endl; - - projectM_resetengine(); - - std::cerr << "[projectM] engine has been reset." << std::endl; - return PROJECTM_SUCCESS; -} - -void projectM::destroyPresetTools() -{ - - if (m_presetPos) - delete(m_presetPos); - - /// @slow might not be necessary - m_presetPos = 0; - - if ( m_presetChooser ) - delete ( m_presetChooser ); - - /// @slow might not be necessary - m_presetChooser = 0; - - if ( m_presetLoader ) - delete ( m_presetLoader ); - - /// @slow might not be necessary - m_presetLoader = 0; - - Eval::destroy_infix_ops(); - BuiltinFuncs::destroy_builtin_func_db(); - -} - diff --git a/src/projectM-engine/projectM.hpp b/src/projectM-engine/projectM.hpp deleted file mode 100755 index de42938bc9..0000000000 --- a/src/projectM-engine/projectM.hpp +++ /dev/null @@ -1,238 +0,0 @@ -/* - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: projectM.hpp,v 1.1.1.1 2005/12/23 18:05:11 psperl Exp $ - * - * Encapsulation of ProjectM engine - * - * $Log$ - */ - -#ifndef _PROJECTM_H -#define _PROJECTM_H - -#include "PBuffer.hpp" - -#ifdef WIN32 -#include "win32-dirent.h" -#else -#include -#endif /** WIN32 */ -#include -#include -#include -#include -#include -#ifndef WIN32 -#include -#endif -#include - -#ifdef MACOS -#include -#include -#include -#else -#ifdef WIN32 -#include -#endif /** WIN32 */ - -#endif /** MACOS */ -#ifdef WIN322 -#define inline -#endif /** WIN32 */ -#ifndef WIN32 -#include -#else -#endif /** !WIN32 */ - -#include "dlldefs.h" -#include "event.h" -#include "fatal.h" -#include "PresetFrameIO.hpp" -#include "Renderer.hpp" - -#include - -class BeatDetect; -class Func; -class Renderer; -class Preset; -class PresetIterator; -class PresetChooser; -class PresetLoader; -class TextureManager; -class MoodBar; - -#include -#ifdef WIN32 -#pragma warning (disable:4244) -#pragma warning (disable:4305) -#endif /** WIN32 */ - -#ifdef MACOS2 -#define inline -#endif - -/** KEEP THIS UP TO DATE! */ -#define PROJECTM_VERSION "1.02.00" -#define PROJECTM_TITLE "projectM 1.02.00" - -/** Per-platform path separators */ -#define WIN32_PATH_SEPARATOR '\\' -#define UNIX_PATH_SEPARATOR '/' -#ifdef WIN32 -#define PATH_SEPARATOR WIN32_PATH_SEPARATOR -#else -#define PATH_SEPARATOR UNIX_PATH_SEPARATOR -#endif /** WIN32 */ - -/** Thread state */ -typedef enum { GO, STOP } PMThreadState; - -/** Interface types */ -typedef enum { - MENU_INTERFACE, - SHELL_INTERFACE, - EDITOR_INTERFACE, - DEFAULT_INTERFACE, - BROWSER_INTERFACE - } interface_t; - - -class projectM { -public: - - Renderer *renderer; - RenderTarget *renderTarget; - TextureManager *textureManager; - - std::string presetURL; - - std::string fontURL; - - int hasInit; - - int pcmframes; - int freqframes; - - - int smoothFrame; - - -#ifndef WIN32 - /* The first ticks value of the application */ - struct timeval startTime; -#else - long startTime; -#endif /** !WIN32 */ - - /** Render target texture ID */ - - char disp[80]; - - float wave_o; - - //int texsize=1024; //size of texture to do actual graphics - int fvw; //fullscreen dimensions - int fvh; - int wvw; //windowed dimensions - int wvh; - - int fullscreen; - - int avgtime; //# frames per preset - - /** Timing information */ - int mspf; - int timed; - int timestart; - int nohard; - int count; - float fpsstart; - - /** Various toggles */ - /* PER_FRAME CONSTANTS END */ - - /** Beat detection engine */ - BeatDetect * beatDetect; - - /** Functions */ - DLLEXPORT projectM(int gx, int gy, int fps, int texsize, int width, int height); - - void projectM_init(int gx, int gy, int fps, int texsize, int width, int height); - void projectM_reset(); - DLLEXPORT void projectM_resetGL( int width, int height ); - DLLEXPORT void projectM_setTitle( char *title ); - DLLEXPORT void renderFrame(); - - - void projectM_initengine(); - void projectM_resetengine(); - - DLLEXPORT projectM(std::string config_file); - void readConfig(std::string config_file); - - - void get_title(); - - void key_handler( projectMEvent event, - projectMKeycode keycode, projectMModifier modifier ); - void default_key_handler( projectMEvent event, projectMKeycode keycode ); - - /// Initializes preset loading / management libraries - int initPresetTools(); - - /// Deinitialize all preset related tools. Usually done before projectM cleanup - void destroyPresetTools(); - - ~projectM(); - - private: - - // The current position of the directory iterator - PresetIterator * m_presetPos; - - // Required by the preset chooser. Manages a loaded preset directory - PresetLoader * m_presetLoader; - - // Provides accessor functions to choose presets - PresetChooser * m_presetChooser; - - // Currently loaded preset - std::auto_ptr m_activePreset; - - // Destination preset when smooth preset switching - std::auto_ptr m_activePreset2; - - /// Experimental mood bar instance. May or may not make it into 1.0 release - MoodBar * moodBar; - - /// All readonly variables which are passed as inputs to presets - PresetInputs presetInputs; - - /// A preset outputs container used and modified by the "current" preset - PresetOutputs presetOutputs; - - /// A preset outputs container used for smooth preset switching - PresetOutputs presetOutputs2; -}; -#endif diff --git a/src/projectM-engine/sdltoprojectM.h b/src/projectM-engine/sdltoprojectM.h deleted file mode 100755 index d2a974db03..0000000000 --- a/src/projectM-engine/sdltoprojectM.h +++ /dev/null @@ -1,165 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: sdltoprojectM.hpp,v 1.1 2004/10/08 00:35:28 cvs Exp $ - * - * Translates SDL -> projectM variables - * - * $Log: sdltoprojectM.hpp,v $ - * Revision 1.1 2004/10/08 00:35:28 cvs - * Moved and imported - * - * Revision 1.1.1.1 2004/10/04 12:56:00 cvs - * Imported - * - */ - -#ifndef _SDLTOPROJECTM_H -#define _SDLTOPROJECTM_H - -#include "event.h" - - //#include "projectM/projectM.hpp" -#ifdef WIN32 -#include -#else -#include -#endif - -inline projectMEvent sdl2pmEvent( SDL_Event event ) { \ - - switch ( event.type ) { \ - case SDL_VIDEORESIZE: - return PROJECTM_VIDEORESIZE; \ - case SDL_KEYUP: \ - return PROJECTM_KEYUP; \ - case SDL_KEYDOWN: \ - return PROJECTM_KEYDOWN; \ - default: - return PROJECTM_KEYUP; \ - } \ - } \ - -inline projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \ - switch ( keysym ) { \ - case SDLK_F1: \ - return PROJECTM_K_F1; \ - case SDLK_F2: \ - return PROJECTM_K_F2; \ - case SDLK_F3: \ - return PROJECTM_K_F3; \ - case SDLK_F4: \ - return PROJECTM_K_F4; \ - case SDLK_F5: \ - return PROJECTM_K_F5; \ - case SDLK_F6: \ - return PROJECTM_K_F6; \ - case SDLK_F7: \ - return PROJECTM_K_F7; \ - case SDLK_F8: \ - return PROJECTM_K_F8; \ - case SDLK_F9: \ - return PROJECTM_K_F9; \ - case SDLK_F10: \ - return PROJECTM_K_F10; \ - case SDLK_F11: \ - return PROJECTM_K_F11; \ - case SDLK_F12: \ - return PROJECTM_K_F12; \ - case SDLK_ESCAPE: \ - return PROJECTM_K_ESCAPE; - case SDLK_a: - return PROJECTM_K_a; - case SDLK_b: - return PROJECTM_K_b; - case SDLK_c: - return PROJECTM_K_c; - case SDLK_d: - return PROJECTM_K_d; - case SDLK_e: - return PROJECTM_K_e; - case SDLK_f: - return PROJECTM_K_f; - case SDLK_g: - return PROJECTM_K_g; - case SDLK_h: - return PROJECTM_K_h; - case SDLK_i: - return PROJECTM_K_i; - case SDLK_j: - return PROJECTM_K_j; - case SDLK_k: - return PROJECTM_K_k; - case SDLK_l: - return PROJECTM_K_l; - case SDLK_m: - return PROJECTM_K_m; - case SDLK_n: - return PROJECTM_K_n; - case SDLK_o: - return PROJECTM_K_o; - case SDLK_p: - return PROJECTM_K_p; - case SDLK_q: - return PROJECTM_K_q; - case SDLK_r: - return PROJECTM_K_r; - case SDLK_s: - return PROJECTM_K_s; - case SDLK_t: - return PROJECTM_K_t; - case SDLK_u: - return PROJECTM_K_u; - case SDLK_v: - return PROJECTM_K_v; - case SDLK_w: - return PROJECTM_K_w; - case SDLK_x: - return PROJECTM_K_x; - case SDLK_y: - return PROJECTM_K_y; - case SDLK_z: - return PROJECTM_K_z; - case SDLK_UP: - return PROJECTM_K_UP; - case SDLK_RETURN: - return PROJECTM_K_RETURN; - case SDLK_RIGHT: - return PROJECTM_K_RIGHT; - case SDLK_LEFT: - return PROJECTM_K_LEFT; - case SDLK_DOWN: - return PROJECTM_K_DOWN; - case SDLK_PAGEUP: - return PROJECTM_K_PAGEUP; - case SDLK_PAGEDOWN: - return PROJECTM_K_PAGEDOWN; - - default: \ - return PROJECTM_K_NONE; \ - } \ - } \ - -inline projectMModifier sdl2pmModifier( SDLMod mod ) { \ - return PROJECTM_KMOD_LSHIFT; \ - } \ - -#endif /** _SDLTOPROJECTM_H */ diff --git a/src/projectM-engine/texture.cpp b/src/projectM-engine/texture.cpp deleted file mode 100644 index 7d73861214..0000000000 --- a/src/projectM-engine/texture.cpp +++ /dev/null @@ -1,262 +0,0 @@ - -#include -#include -#include "bmpLoader.h" -#include "pcxLoader.h" -#include "tgaLoader.h" -#include -#include -#include -#include - - -// openGL extensions if not present, define them -#ifndef GL_COMPRESSED_RGB_S3TC_DXT1_EXT - #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 - #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 - #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 - #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 -#endif - -#ifndef GL_TEXTURE_COMPRESSED_IMAGE_SIZE -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 -#endif - -//-------------------------------------------------------------------------- -/// \brief This function takes raw image data and converts it to an openGL -/// texture. -/// \param Format - GL_RGB,GL_RGBA,GL_ALPHA -/// \param pixels - the pixel data -/// \param w - the image width -/// \param h - the image height -/// \param compressed - true for DXT compression -/// - -unsigned int MakeGlTexture(GLenum Format,const unsigned char *pixels,unsigned int w,unsigned int h,bool compressed) -{ - unsigned int texObject; - - glGenTextures(1,&texObject); - - glPixelStorei (GL_UNPACK_ALIGNMENT, 0); - glBindTexture (GL_TEXTURE_2D, texObject); - - glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - - if(compressed) { - switch(Format) { - // - case GL_RGB: - glTexImage2D (GL_TEXTURE_2D,0,GL_COMPRESSED_RGB_S3TC_DXT1_EXT,w,h,0,GL_RGB,GL_UNSIGNED_BYTE,pixels); - break; - - // - case GL_RGBA: - glTexImage2D (GL_TEXTURE_2D,0,GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,w,h,0,GL_RGBA,GL_UNSIGNED_BYTE,pixels); - break; - - // - case GL_ALPHA: - glTexImage2D (GL_TEXTURE_2D,0,GL_ALPHA,w,h,0,GL_ALPHA,GL_UNSIGNED_BYTE,pixels); - break; - - default: ; - } - } - else { - glTexImage2D (GL_TEXTURE_2D,0,Format,w,h,0,Format,GL_UNSIGNED_BYTE,pixels); - } - - return texObject; - -} - -/// this structure is used to reference count OpenGL textures -struct TexRef { - - /// the openGL texture object - unsigned int idx; - - /// the reference count - unsigned int ref; - - /// the size of the loaded texture - unsigned int size; - - /// ctor - TexRef(unsigned id_,unsigned sz) : idx(id_),ref(1),size(sz) {} - /// ctor - TexRef() : idx(0),ref(0),size(0) {} - /// ctor - TexRef(const TexRef& tr) : idx(tr.idx),ref(tr.ref),size(tr.size) {} -}; - -/// a global map of all currently loaded textures -std::map g_Textures; - -//-------------------------------------------------------------------------- -/// \brief This function loads the specified image file and returns the -/// openGL texture object for it. Only tga, bmp and pcx images are -/// supported. -/// \param filename - the image file to use for the texture -/// \return compressed - if true DXT compression will be used. -/// -unsigned int LoadTexture(const char* filename,bool compressed) { - - // check to see if file is already loaded. - std::map::iterator it = g_Textures.find(filename); - if ( it!=g_Textures.end()) { - it->second.ref++; - return it->second.idx; - } - - // if not, try to load the file. - unsigned int w=0,h=0,bpp=0; - unsigned char* pixels=0; - - int len = static_cast(strlen(filename)); - - // load a bmp - if( (filename[len-3] == 'b' || filename[len-3] == 'B') && - (filename[len-2] == 'm' || filename[len-2] == 'M') && - (filename[len-1] == 'p' || filename[len-1] == 'P') ) { - if(!LoadBmpImage(filename,&pixels,&w,&h,&bpp)) - return 0; - } - else - // load a pcx - if( (filename[len-3] == 'p' || filename[len-3] == 'P') && - (filename[len-2] == 'c' || filename[len-2] == 'C') && - (filename[len-1] == 'x' || filename[len-1] == 'X') ) { - if(!LoadPcxImage(filename,&pixels,&w,&h,&bpp)) - return 0; - } - else - // load a tga - if( (filename[len-3] == 't' || filename[len-3] == 'T') && - (filename[len-2] == 'g' || filename[len-2] == 'G') && - (filename[len-1] == 'a' || filename[len-1] == 'A') ) { - if(!LoadTgaImage(filename,&pixels,&w,&h,&bpp)) - return 0; - } - else { - std::cerr << "Unsupported image format\n"; - return 0; - } - - // generat the correct texture type for the image - unsigned int tex_object; - switch(bpp) { - case 1: - tex_object = MakeGlTexture(GL_ALPHA,pixels,w,h,compressed); - break; - case 2: - break; - case 3: - tex_object = MakeGlTexture(GL_RGB,pixels,w,h,compressed); - break; - case 4: - tex_object = MakeGlTexture(GL_RGBA,pixels,w,h,compressed); - break; - default: - break; - } - - int data_size=0; - if(compressed) { - glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_COMPRESSED_IMAGE_SIZE,&data_size); - } - else { - data_size = bpp*w*h; - } - - - // delete the pixel data because we no longer need it - free(pixels); - - // insert the texture into a map to keep track of it - g_Textures.insert( std::make_pair( std::string(filename), TexRef(tex_object,data_size) ) ); - - // return GL texture object - return tex_object; - -} - -//-------------------------------------------------------------------------- -/// \brief This function will release the specified texture (as long as -/// it's not used elsewhere. -/// \param the OpenGL texture object -/// -void ReleaseTexture(unsigned int idx) { - - // iterate through the textures to find the requested texture - std::map::iterator it=g_Textures.begin(); - for( ; it != g_Textures.end(); ++it ) { - - // when found... - if(idx == it->second.idx) { - - // if ref count is zero ... - if(--it->second.ref == 0) { - - // delete texture - glDeleteTextures(1,&(it->second.idx)); - g_Textures.erase(it); - } - return; - } - } -} - -//-------------------------------------------------------------------------- -/// \brief This function deletes all currently loaded textures -/// -void DeleteAllTextures() { - - std::map::iterator it=g_Textures.begin(); - for( ; it != g_Textures.end(); ++it ) { - glDeleteTextures(1,&it->second.idx); - } - g_Textures.clear(); -} - - -//-------------------------------------------------------------------------- -/// \brief This function returns the amount of memory used to store the -/// specified openGL texture. -/// \param idx - the openGL texture object -/// \return the amount of memory used (in bytes) -/// -unsigned int GetTextureSize(unsigned int idx) { - - // iterate through the textures to find the requested texture - std::map::iterator it=g_Textures.begin(); - for( ; it != g_Textures.end(); ++it ) { - - // when found... - if(idx == it->second.idx) { - - return it->second.size; - } - } - return 0; -} - -//-------------------------------------------------------------------------- -/// \brief This returns the amount of memory used to store all textures -/// currently loaded. The size returned is in bytes -/// \return the total amount of memory used (in bytes) -/// -unsigned int GetTotalTextureSize() { - unsigned int sz=0; - // iterate through the textures to find the requested texture - std::map::iterator it=g_Textures.begin(); - for( ; it != g_Textures.end(); ++it ) { - sz += it->second.size; - } - return sz; -} - diff --git a/src/projectM-engine/texture.h b/src/projectM-engine/texture.h deleted file mode 100644 index 05a50a7b33..0000000000 --- a/src/projectM-engine/texture.h +++ /dev/null @@ -1,48 +0,0 @@ -//-------------------------------------------------------------------------- -/// \file texture.h -/// \author Rob Bateman [robthebloke@hotmail.com] -/// \date 7-3-2005 -/// \brief This header defines some functions -/// -//-------------------------------------------------------------------------- - -#ifndef __GL_TEXTURE__H__ -#define __GL_TEXTURE__H__ - -//-------------------------------------------------------------------------- -/// \brief This function loads the specified image file and returns the -/// openGL texture object for it. Only tga, bmp and pcx images are -/// supported. -/// \param filename - the image file to use for the texture -/// \return compressed - if true DXT compression will be used. -/// -unsigned int LoadTexture(const char* filename,bool compressed=true); - -//-------------------------------------------------------------------------- -/// \brief This function will release the specified texture (as long as -/// it's not used elsewhere. -/// \param the OpenGL texture object -/// -void ReleaseTexture(unsigned int); - -//-------------------------------------------------------------------------- -/// \brief This function deletes all currently loaded textures -/// -void DeleteAllTextures(); - -//-------------------------------------------------------------------------- -/// \brief This function returns the amount of memory used to store the -/// specified openGL texture. -/// \param idx - the openGL texture object -/// \return the amount of memory used (in bytes) -/// -unsigned int GetTextureSize(unsigned int); - -//-------------------------------------------------------------------------- -/// \brief This returns the amount of memory used to store all textures -/// currently loaded. The size returned is in bytes -/// \return the total amount of memory used (in bytes) -/// -unsigned int GetTotalTextureSize(); - -#endif diff --git a/src/projectM-engine/tgaLoader.c b/src/projectM-engine/tgaLoader.c deleted file mode 100644 index 2a6afa19b5..0000000000 --- a/src/projectM-engine/tgaLoader.c +++ /dev/null @@ -1,577 +0,0 @@ - - -#include -#include -#include -#include -#include - -#ifndef IN -#define IN -#endif - -#ifndef OUT -#define OUT -#endif - - - -/* - * most compilers tend to align structure data size so that its size is 4byte - * aligned (ie, divisable by 4). This happens due to compiler optimisations that we have - * to manually prevent. This can be done with the #pragma pack() directive. Without it, - * the struct would probably end up looking like : - * - * typedef struct - * { - * // bytes 0 to 3 - * unsigned char m_ImageIdent; - * unsigned char m_ColourMapType; - * unsigned char m_ImageType; - * - * unsigned char PADDING1; - * - * // bytes 4 to 7 - * unsigned short m_ColourMapOrigin; - * unsigned short m_ColourMapSize; - * - * // bytes 8 to 11 - * unsigned char m_ColourMapESize; - * - * unsigned char PADDING2; - * - * unsigned short m_Xorigin; - * - * // bytes 12 to 15 - * unsigned short m_Yorigin; - * unsigned short m_Width; - * - * // bytes 16 to 19 - * unsigned short m_Height; - * unsigned char m_PixelIndexSize; - * unsigned char m_ImageDescByte; - * } - * tga_header; - * - * This struct is 20 bytes in size, which is going to cause us some big problems when - * trying to read an 18 byte chunk from the file. We will end up with rubbish data. - * This is why we tell compilers to align data structures to one byte. - */ -#pragma pack(push,1) - -/* -* This structure is used to hold the header of the tga image file format -*/ -typedef struct -{ - unsigned char m_ImageIdent; /* size of image identification field */ - unsigned char m_ColourMapType; /* 0 - No colour map, 1 - has colour map */ - unsigned char m_ImageType; /* 0 - No Image, 1 - 8bit, 2 - uncompress RGB ..... */ - unsigned short m_ColourMapOrigin; /* Index of first colour map entry */ - unsigned short m_ColourMapSize; /* Number of colour map entries */ - unsigned char m_ColourMapESize; /* Number of bits for each entry (24) */ - unsigned short m_Xorigin; /* x origin of image */ - unsigned short m_Yorigin; /* y origin of image */ - unsigned short m_Width; /* width of image in pixels */ - unsigned short m_Height; /* height of image in pixels */ - unsigned char m_PixelIndexSize; /* number of bits stored in each pixel index */ - unsigned char m_ImageDescByte; /* should always be zero.... */ -} -tga_header; - - -/* - * This structure is used purely for reading the RLE files. - */ -typedef struct -{ - unsigned char Count : 7; - /* if these two bits are 1, then we have a start of a byte run */ - unsigned char Flag : 1; -} -TgaByte; - -/* -* reset structure alignment back to the default -*/ -#pragma pack(pop) - - -/* - * This union is a total of 2 bytes in size. s and b both share the - * same memory so the 2byte variable can be easily split into its constituant bytes. - * By assigning 1 to the 2byte variable, we can expect the array b to hold - * b[] = { 1, 0 } on a PC (LSB) and b[] = { 0, 1 } on an o2 (MSB). It also makes - * it nice and easy to swap the variables bytes. - */ -union charToShort -{ - /* 1 x 2 byte variable */ - unsigned short s; - /* 2 x 1 byte variables */ - unsigned char b[2]; -}; - - - -/* - * This function is used to determine if the system has LSB or MSB byte ordering. - * By using a union, both the 2byte variable(short) and the array of 2 individual - * bytes (chars) will be stored in the same memory location. ie, the charToShort - * union data type is only two bytes in size and allows you to split apart a 2byte - * variable to check the ordering. - * - * The two byte variables in the tga header will have to have their byte orderings - * switched on irix and mac, hence the use of this (sneaky) function to see if we need - * to swap the data bytes. - */ -int CheckByteOrder() -{ - /* Create a 2byte check variable */ - union charToShort cs; - - /* assign 1 to the 2byte variable */ - cs.s = 1; - - /* check the first byte */ - if(cs.b[0] == 0) - return 1; - - return 0; -} - - - -/* - * This function switches the byte orderings of two byte variables. It accepts a - * pointer to the memory location you wish to swap. - */ -void Swap2Bytes(IN void *ptr) -{ - /* assign a pointer to the 2byte variable */ - unsigned char *pcs = (unsigned char*)ptr; - - /* swap the bytes around */ - unsigned char temp = pcs[0]; - pcs[0] = pcs[1]; - pcs[1] = temp; -} - -/* - * \brief This function flips pixel colours from RGB (or RGBA) to BGR/BGRA - * \param data - the pixel data to flip - * \param num_px - the number of pixels to flip - * \param bpp - the bytes per pixel, ie 1,3,4 - */ -void BGR_TO_RGB(unsigned char* data,unsigned int num_px,unsigned int bpp) -{ - /* get pointer to data end */ - unsigned char *end = data + (bpp * num_px); - - /* loop till end of data, move on by number of bytes in pixel each time */ - for( ; data != end ; data += bpp ) - { - unsigned char temp = *data; - *data = data[2]; - data[2] = temp; - } -} - -/* - * \brief This function flips an image upside down... - * \param data - the pixel data to flip - * \param rowsize - the data size of each scanline - * \param height - the number of scanlines in the image - */ -void FlipDaImage( unsigned char* data, unsigned int rowsize,unsigned int height) -{ - unsigned int mid = height/2,i,j; - unsigned char *temprow = (unsigned char*) malloc ( rowsize ); - assert( temprow ); - - for( i=0, j=(height-1); i -#include /* _findfirst and _findnext set errno iff they return -1 */ -#include -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -struct DIR -{ - long handle; /* -1 for failed rewind */ - struct _finddata_t info; - struct dirent result; /* d_name null iff first time */ - char *name; /* null-terminated char string */ -}; - -DIR *opendir(const char *name) -{ - DIR *dir = 0; - - if(name && name[0]) - { - size_t base_length = strlen(name); - const char *all = /* search pattern must end with suitable wildcard */ - strchr("/\\", name[base_length - 1]) ? "*" : "/*"; - - if((dir = (DIR *) malloc(sizeof *dir)) != 0 && - (dir->name = (char *) malloc(base_length + strlen(all) + 1)) != 0) - { - strcat(strcpy(dir->name, name), all); - - if((dir->handle = (long) _findfirst(dir->name, &dir->info)) != -1) - { - dir->result.d_name = 0; - } - else /* rollback */ - { - free(dir->name); - free(dir); - dir = 0; - } - } - else /* rollback */ - { - free(dir); - dir = 0; - errno = ENOMEM; - } - } - else - { - errno = EINVAL; - } - - return dir; -} - -int closedir(DIR *dir) -{ - int result = -1; - - if(dir) - { - if(dir->handle != -1) - { - result = _findclose(dir->handle); - } - - free(dir->name); - free(dir); - } - - if(result == -1) /* map all errors to EBADF */ - { - errno = EBADF; - } - - return result; -} - -struct dirent *readdir(DIR *dir) -{ - struct dirent *result = 0; - - if(dir && dir->handle != -1) - { - if(!dir->result.d_name || _findnext(dir->handle, &dir->info) != -1) - { - result = &dir->result; - result->d_name = dir->info.name; - } - } - else - { - errno = EBADF; - } - - return result; -} - -void rewinddir(DIR *dir) -{ - if(dir && dir->handle != -1) - { - _findclose(dir->handle); - dir->handle = (long) _findfirst(dir->name, &dir->info); - dir->result.d_name = 0; - } - else - { - errno = EBADF; - } -} - -// helper for scandir below -static void scandir_free_dir_entries(struct dirent*** namelist, int entries) { - int i; - if (!*namelist) return; - for (i = 0; i < entries; ++i) { - free((*namelist)[i]); - } - free(*namelist); - *namelist = 0; -} - -// returns the number of directory entries select or -1 if an error occurs -int scandir( - const char* dir, - struct dirent*** namelist, - int(*filter)(const struct dirent*), - int(*compar)(const void*, const void*) -) { - int entries = 0; - int max_entries = 512; // assume 2*512 = 1024 entries (used for allocation) - DIR* d; - - *namelist = 0; - - // open directory - d = opendir(dir); - if (!d) return -1; - - // iterate - while (1) { - struct dirent* ent = readdir(d); - if (!ent) break; - - // add if no filter or filter returns non-zero - if (filter && (0 == filter(ent))) continue; - - // resize our buffer if there is not enough room - if (!*namelist || entries >= max_entries) { - struct dirent** new_entries; - - max_entries *= 2; - new_entries = (struct dirent **)realloc(*namelist, max_entries); - if (!new_entries) { - scandir_free_dir_entries(namelist, entries); - closedir(d); - errno = ENOMEM; - return -1; - } - - *namelist = new_entries; - } - - // allocate new entry - (*namelist)[entries] = (struct dirent *)malloc(sizeof(struct dirent) + strlen(ent->d_name) + 1); - if (!(*namelist)[entries]) { - scandir_free_dir_entries(namelist, entries); - closedir(d); - errno = ENOMEM; - return -1; - } - - // copy entry info - *(*namelist)[entries] = *ent; - - // and then we tack the string onto the end - { - char* dest = (char*)((*namelist)[entries]) + sizeof(struct dirent); - strcpy(dest, ent->d_name); - (*namelist)[entries]->d_name = dest; - } - - ++entries; - } - - // sort - if (*namelist && compar) qsort(*namelist, entries, sizeof((*namelist)[0]), compar); - - return entries; -} - -int alphasort(const void* lhs, const void* rhs) { - const struct dirent* lhs_ent = *(struct dirent**)lhs; - const struct dirent* rhs_ent = *(struct dirent**)rhs; - return _strcmpi(lhs_ent->d_name, rhs_ent->d_name); -} - -#ifdef __cplusplus -} -#endif - -/* - - Copyright Kevlin Henney, 1997, 2003. All rights reserved. - - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose is hereby granted without fee, provided - that this copyright and permissions notice appear in all copies and - derivatives. - - This software is supplied "as is" without express or implied warranty. - - But that said, if there are any problems please get in touch. - -*/ diff --git a/src/projectM-engine/win32-dirent.h b/src/projectM-engine/win32-dirent.h deleted file mode 100755 index 7893d0bc40..0000000000 --- a/src/projectM-engine/win32-dirent.h +++ /dev/null @@ -1,59 +0,0 @@ - -#ifndef DIRENT_INCLUDED -#define DIRENT_INCLUDED - -/* - - Declaration of POSIX directory browsing functions and types for Win32. - - Author: Kevlin Henney (kevlin@acm.org, kevlin@curbralan.com) - History: Created March 1997. Updated June 2003. - Rights: See end of file. - -*/ - -#ifdef __cplusplus -extern "C" -{ -#endif - -typedef struct DIR DIR; - -static int errno; - -struct dirent -{ - char *d_name; -}; - -DIR *opendir(const char *); -int closedir(DIR *); -struct dirent *readdir(DIR *); -void rewinddir(DIR *); -int scandir( - const char* dir, - struct dirent*** namelist, - int(*filter)(const struct dirent*), - int(*compar)(const void*, const void*) ); -int alphasort(const void* lhs, const void* rhs); - -/* - - Copyright Kevlin Henney, 1997, 2003. All rights reserved. - - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose is hereby granted without fee, provided - that this copyright and permissions notice appear in all copies and - derivatives. - - This software is supplied "as is" without express or implied warranty. - - But that said, if there are any problems please get in touch. - -*/ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/projectM-engine/wipemalloc.cpp b/src/projectM-engine/wipemalloc.cpp deleted file mode 100755 index 14bcf7816a..0000000000 --- a/src/projectM-engine/wipemalloc.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: wipemalloc.c,v 1.1.1.1 2005/12/23 18:05:05 psperl Exp $ - * - * Clean memory allocator - */ - -#include "wipemalloc.h" - - void *wipemalloc( size_t count ) { - void *mem = malloc( count ); - if ( mem != NULL ) { - memset( mem, 0, count ); - } else { - printf( "wipemalloc() failed to allocate %d bytes\n", (int)count ); - } - return mem; - } - -/** Safe memory deallocator */ - void wipefree( void *ptr ) { - if ( ptr != NULL ) { - free( ptr ); - } - } diff --git a/src/projectM-iTunes-VizKit/README.TXT b/src/projectM-iTunes-VizKit/README.TXT new file mode 100644 index 0000000000..4d17da698d --- /dev/null +++ b/src/projectM-iTunes-VizKit/README.TXT @@ -0,0 +1,27 @@ +====== +VizKit + +A basic visualizer plug-in for iTunes. +------------------------------------- + +VizKit is a cross-platform (Mac OS X/Windows) samplework. +The visualization is performed with OpenGL. + + +Main features: + +- Album cover artwork texture generation +- Unicode anti-aliased texture of track title and lyrics +- Configuration dialog +- Automatic update notification + + +The distribution contains a project file for Apple's Xcode IDE +and a separate project file for Microsoft's Visual Studio IDE. +The source code files are shared. + + +http://www.imagomat.de/vizkit + +(c) 2004-2009 Heiko Wichmann + diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln new file mode 100644 index 0000000000..3766ab4e33 --- /dev/null +++ b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VizKit", "VizKit.vcproj", "{C996A961-AAE7-42DF-859F-E3434EC13885}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C996A961-AAE7-42DF-859F-E3434EC13885}.Debug|Win32.ActiveCfg = Debug|Win32 + {C996A961-AAE7-42DF-859F-E3434EC13885}.Debug|Win32.Build.0 = Debug|Win32 + {C996A961-AAE7-42DF-859F-E3434EC13885}.Release|Win32.ActiveCfg = Release|Win32 + {C996A961-AAE7-42DF-859F-E3434EC13885}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo new file mode 100644 index 0000000000..b95193d34e Binary files /dev/null and b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo differ diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj new file mode 100644 index 0000000000..9214cc8c16 --- /dev/null +++ b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj @@ -0,0 +1,976 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectM-iTunes-VizKit/Xcode Project/Info.plist b/src/projectM-iTunes-VizKit/Xcode Project/Info.plist new file mode 100644 index 0000000000..072aa2fdff --- /dev/null +++ b/src/projectM-iTunes-VizKit/Xcode Project/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + VizKit + CFBundleGetInfoString + VizKit 2.3, ©2004-2009, www.imagomat.de, Heiko Wichmann + CFBundleIconFile + + CFBundleIdentifier + de.imagomat.vizkit + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VizKit + CFBundlePackageType + hvpl + CFBundleShortVersionString + 2.3 + CFBundleSignature + hook + CFBundleVersion + 2.3 + + diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib new file mode 100644 index 0000000000..c4b887e72b --- /dev/null +++ b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib @@ -0,0 +1,8 @@ + + + + + IBVersion + 1 + + diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib new file mode 100644 index 0000000000..62777530ec --- /dev/null +++ b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBFramework Version + 677 + IBLastKnownRelativeProjectPath + VizKit.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9J61 + targetFramework + IBCarbonFramework + + diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib new file mode 100644 index 0000000000..27a6eaaca0 --- /dev/null +++ b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib @@ -0,0 +1,193 @@ + + + + + + + Item 2 + TRUE + + + vizK + 11 + 1 + Check For Update On Startup + 40 43 211 18 + 85 61 103 272 + + + 2 + 0 37 292 132 + + + vizK + 10 + 1 + Choose font for display of track information + + Popup: + + + Item 1 + TRUE + TRUE + + + + Item 3 + TRUE + + + + Font: + -2 + 29 43 243 17 + 85 50 102 293 + + + 42 21 174 313 + + + + + + 1 + © 2004-2009 Heiko Wichmann + 1 + -2 93 295 13 + 135 19 148 314 + + + vizK + 0 0 335 192 + + + vizK + 1 + 21 5 292 169 + + + 2 + 0 37 292 132 + + + 1 + Version 2.3 + 1 + -2 51 295 13 + 93 19 106 314 + + + VizKit + 1 + -2 20 295 23 + 62 19 85 314 + + + + 1 + http://www.imagomat.de/vizkit + 1 + -2 72 295 13 + 114 19 127 314 + + + 42 21 174 313 + + + + 2 + 0 37 292 132 + + + + 42 21 174 313 + + + 5 21 174 313 + + + contentResID + 0 + tabEnabled + 1 + tabName + About + userPane + + + + contentResID + 0 + tabEnabled + 1 + tabName + Font + userPane + + + + contentResID + 0 + tabEnabled + 1 + tabName + Update + userPane + + + + + + 0 0 192 335 + + + + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + TRUE + 1 + 1 + Visualizer Options + + 413 557 605 892 + 0 0 768 1024 + + + + + + + + + + + + + + + + + + + + + + + File's Owner + + OptionsDialog + + + IBCarbonFramework + 303 + diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj b/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..80800145da --- /dev/null +++ b/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj @@ -0,0 +1,1091 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 4288C457075A22CF003C29C8 /* VisualOptions.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4288C456075A22CF003C29C8 /* VisualOptions.nib */; }; + 42986573080806B20045411A /* VisualConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42986571080806B20045411A /* VisualConfiguration.cpp */; }; + 42986574080806B20045411A /* VisualConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 42986572080806B20045411A /* VisualConfiguration.h */; }; + 8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; }; + 8F229E650D5E5774006D520A /* VisualTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F229E640D5E5774006D520A /* VisualTypes.h */; }; + AC041FBA0CE44F1000072622 /* VisualProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = AC041FB80CE44F1000072622 /* VisualProgressIndicator.h */; }; + AC041FBB0CE44F1000072622 /* VisualProgressIndicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC041FB90CE44F1000072622 /* VisualProgressIndicator.cpp */; }; + AC04E6B607ED8FD000F4479D /* VisualNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC04E6B407ED8FD000F4479D /* VisualNotification.h */; }; + AC04E6B707ED8FD000F4479D /* VisualNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */; }; + AC0D105008A0117500EE4F2C /* VisualGraphicsCore.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */; }; + AC0D105108A0117500EE4F2C /* VisualGraphicsCore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */; }; + AC0D4EF10A3BF91F00C3101B /* VisualThreading.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */; }; + AC0D4EF20A3BF91F00C3101B /* VisualThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */; }; + AC0DF75D0ECCC48E00462EDC /* VisualHistogram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0DF75B0ECCC48E00462EDC /* VisualHistogram.cpp */; }; + AC0DF75E0ECCC48E00462EDC /* VisualHistogram.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0DF75C0ECCC48E00462EDC /* VisualHistogram.h */; }; + AC0F52770CEC315D00191EEA /* VisualStyledString.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0F52750CEC315D00191EEA /* VisualStyledString.h */; }; + AC0F52780CEC315D00191EEA /* VisualStyledString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0F52760CEC315D00191EEA /* VisualStyledString.cpp */; }; + AC16F683089EBDDD00C8BC79 /* VisualGraphicTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */; }; + AC19E56B0DB1F4F0005AB92D /* VisualUpdateManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC19E5690DB1F4F0005AB92D /* VisualUpdateManager.cpp */; }; + AC19E56C0DB1F4F0005AB92D /* VisualUpdateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AC19E56A0DB1F4F0005AB92D /* VisualUpdateManager.h */; }; + AC1FB8820BB8F29D001C1810 /* VisualHostCommunication.h in Headers */ = {isa = PBXBuildFile; fileRef = AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */; }; + AC1FB8830BB8F29D001C1810 /* VisualHostCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */; }; + AC213CA20F756F5200B58BAB /* VisualObjectData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC213CA00F756F5200B58BAB /* VisualObjectData.cpp */; }; + AC213CA30F756F5200B58BAB /* VisualObjectData.h in Headers */ = {isa = PBXBuildFile; fileRef = AC213CA10F756F5200B58BAB /* VisualObjectData.h */; }; + AC214F8109FD653700B24379 /* VisualInterpolation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */; }; + AC214F8209FD653700B24379 /* VisualInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214F8009FD653700B24379 /* VisualInterpolation.h */; }; + AC214FFD09FD694000B24379 /* VisualAsset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF309FD694000B24379 /* VisualAsset.cpp */; }; + AC214FFE09FD694000B24379 /* VisualAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF409FD694000B24379 /* VisualAsset.h */; }; + AC214FFF09FD694000B24379 /* VisualNurbs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF509FD694000B24379 /* VisualNurbs.cpp */; }; + AC21500009FD694000B24379 /* VisualNurbs.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF609FD694000B24379 /* VisualNurbs.h */; }; + AC21500109FD694000B24379 /* VisualStageBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF709FD694000B24379 /* VisualStageBox.cpp */; }; + AC21500209FD694000B24379 /* VisualStageBox.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF809FD694000B24379 /* VisualStageBox.h */; }; + AC21500309FD694000B24379 /* VisualStagePosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF909FD694000B24379 /* VisualStagePosition.cpp */; }; + AC21500409FD694000B24379 /* VisualStagePosition.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FFA09FD694000B24379 /* VisualStagePosition.h */; }; + AC21500509FD694000B24379 /* VisualTextureContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */; }; + AC21500609FD694000B24379 /* VisualTextureContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FFC09FD694000B24379 /* VisualTextureContainer.h */; }; + AC21508C09FD705100B24379 /* CocoaStringTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = AC21508A09FD705000B24379 /* CocoaStringTexture.m */; }; + AC21508D09FD705100B24379 /* CocoaStringTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AC21508B09FD705000B24379 /* CocoaStringTexture.h */; }; + AC243BFD07D524B4006D245A /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC243BFC07D524B4006D245A /* CoreFoundation.framework */; }; + AC29E5E50BAC6FB000206180 /* VisualNotificationKey.h in Headers */ = {isa = PBXBuildFile; fileRef = AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */; }; + AC2E84980A6CEB9F005DFF74 /* VisualAudioMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */; }; + AC2E84990A6CEB9F005DFF74 /* VisualAudioMetaData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */; }; + AC2EF1F60CE98A0D00220332 /* VisualObject.h in Headers */ = {isa = PBXBuildFile; fileRef = AC2EF1F40CE98A0D00220332 /* VisualObject.h */; }; + AC2EF1F70CE98A0D00220332 /* VisualObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC2EF1F50CE98A0D00220332 /* VisualObject.cpp */; }; + AC38BF640BAE70B4002FD4A4 /* VisualStringStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */; }; + AC3920610B59705600FEC228 /* VisualImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC39205F0B59705600FEC228 /* VisualImage.cpp */; }; + AC3920620B59705600FEC228 /* VisualImage.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3920600B59705600FEC228 /* VisualImage.h */; }; + AC3EA1620DB3F581001C1A0F /* UpdateServiceActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC3EA1600DB3F581001C1A0F /* UpdateServiceActor.cpp */; }; + AC3EA1630DB3F581001C1A0F /* UpdateServiceActor.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3EA1610DB3F581001C1A0F /* UpdateServiceActor.h */; }; + AC42D2810DC4619500FE57BD /* VisualThreadingManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC42D27F0DC4619500FE57BD /* VisualThreadingManager.cpp */; }; + AC42D2820DC4619500FE57BD /* VisualThreadingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AC42D2800DC4619500FE57BD /* VisualThreadingManager.h */; }; + AC454CC00D11CF3D002A1428 /* VisualMainAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC454CBE0D11CF3C002A1428 /* VisualMainAction.cpp */; }; + AC454CC10D11CF3D002A1428 /* VisualMainAction.h in Headers */ = {isa = PBXBuildFile; fileRef = AC454CBF0D11CF3D002A1428 /* VisualMainAction.h */; }; + AC48DDB30B87123A0003AF42 /* VisualNotificationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */; }; + AC48DDB40B87123A0003AF42 /* VisualNotificationQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */; }; + AC503DCC089C1384008CD23F /* VisualActorGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = AC503DCA089C1384008CD23F /* VisualActorGraphics.h */; }; + AC503DCD089C1384008CD23F /* VisualActorGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */; }; + AC503EBF089C2176008CD23F /* VisualGraphicTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */; }; + AC5B29FD0941E73B0040AE4E /* VisualActorState.h in Headers */ = {isa = PBXBuildFile; fileRef = AC5B29FC0941E73A0040AE4E /* VisualActorState.h */; }; + AC7955E906DBD4D60026F7BA /* Beatlight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */; }; + AC7955EA06DBD4D60026F7BA /* Beatlight.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E006DBD4D60026F7BA /* Beatlight.h */; }; + AC7955EB06DBD4D60026F7BA /* CoverArt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E106DBD4D60026F7BA /* CoverArt.cpp */; }; + AC7955EC06DBD4D60026F7BA /* CoverArt.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E206DBD4D60026F7BA /* CoverArt.h */; }; + AC7955ED06DBD4D60026F7BA /* ProcessMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */; }; + AC7955EE06DBD4D60026F7BA /* ProcessMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */; }; + AC7955EF06DBD4D60026F7BA /* TemplateAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */; }; + AC7955F006DBD4D60026F7BA /* TemplateAction.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E606DBD4D60026F7BA /* TemplateAction.h */; }; + AC7955F106DBD4D60026F7BA /* TrackTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */; }; + AC7955F206DBD4D60026F7BA /* TrackTitle.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E806DBD4D60026F7BA /* TrackTitle.h */; }; + AC7F531D07255239004BE280 /* OptionsDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7F531B07255239004BE280 /* OptionsDialog.h */; }; + AC7F531E07255239004BE280 /* OptionsDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7F531C07255239004BE280 /* OptionsDialog.cpp */; }; + AC8E20F20A0944B6000ABA6D /* VisualTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */; }; + AC8E20F30A0944B6000ABA6D /* VisualTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */; }; + AC8E20F40A0944B6000ABA6D /* VisualTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */; }; + AC8E20F50A0944B6000ABA6D /* VisualTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */; }; + AC92E7750A9EDAC200507DCF /* VisualErrorHandling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */; }; + AC9CA85E0A11C78C006299D4 /* VisualItemIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */; }; + AC9CA85F0A11C78C006299D4 /* VisualItemIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */; }; + ACAB14730D71F52900610EAE /* VisualQuickTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB14710D71F52900610EAE /* VisualQuickTime.cpp */; }; + ACAB14740D71F52900610EAE /* VisualQuickTime.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB14720D71F52900610EAE /* VisualQuickTime.h */; }; + ACAB696A0CCF5CA5009ECB49 /* VisualAnimationCluster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB69600CCF5CA5009ECB49 /* VisualAnimationCluster.cpp */; }; + ACAB696B0CCF5CA5009ECB49 /* VisualAnimationCluster.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69610CCF5CA5009ECB49 /* VisualAnimationCluster.h */; }; + ACAB696C0CCF5CA5009ECB49 /* VisualAnimationComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB69620CCF5CA5009ECB49 /* VisualAnimationComponent.cpp */; }; + ACAB696D0CCF5CA5009ECB49 /* VisualAnimationComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69630CCF5CA5009ECB49 /* VisualAnimationComponent.h */; }; + ACAB696E0CCF5CA5009ECB49 /* VisualAnimationPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69640CCF5CA5009ECB49 /* VisualAnimationPackage.h */; }; + ACAB696F0CCF5CA5009ECB49 /* VisualAnimationQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB69650CCF5CA5009ECB49 /* VisualAnimationQueue.cpp */; }; + ACAB69700CCF5CA5009ECB49 /* VisualAnimationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69660CCF5CA5009ECB49 /* VisualAnimationQueue.h */; }; + ACAB69710CCF5CA5009ECB49 /* VisualAnimationSequence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB69670CCF5CA5009ECB49 /* VisualAnimationSequence.cpp */; }; + ACAB69720CCF5CA5009ECB49 /* VisualAnimationSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69680CCF5CA5009ECB49 /* VisualAnimationSequence.h */; }; + ACAB69730CCF5CA5009ECB49 /* VisualAnimationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69690CCF5CA5009ECB49 /* VisualAnimationTypes.h */; }; + ACAB698D0CCF5D13009ECB49 /* VisualCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB698B0CCF5D13009ECB49 /* VisualCamera.cpp */; }; + ACAB698E0CCF5D13009ECB49 /* VisualCamera.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB698C0CCF5D13009ECB49 /* VisualCamera.h */; }; + ACAB69970CCF5D3E009ECB49 /* VisualPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB69950CCF5D3E009ECB49 /* VisualPreferences.cpp */; }; + ACAB69980CCF5D3E009ECB49 /* VisualPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB69960CCF5D3E009ECB49 /* VisualPreferences.h */; }; + ACAB6B180CCF8119009ECB49 /* VisualVertex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAB6B160CCF8119009ECB49 /* VisualVertex.cpp */; }; + ACAB6B190CCF8119009ECB49 /* VisualVertex.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAB6B170CCF8119009ECB49 /* VisualVertex.h */; }; + ACB63E970D8C7CCC00F05565 /* VisualNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = ACB63E950D8C7CCC00F05565 /* VisualNetwork.h */; }; + ACB63E980D8C7CCC00F05565 /* VisualNetwork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACB63E960D8C7CCC00F05565 /* VisualNetwork.cpp */; }; + ACD043230942FEDA00A0CB1D /* VisualPlayerState.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */; }; + ACD043240942FEDA00A0CB1D /* VisualPlayerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */; }; + ACD63AEB0D1E792900037877 /* VisualFontManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACD63AE90D1E792900037877 /* VisualFontManager.cpp */; }; + ACD63AEC0D1E792900037877 /* VisualFontManager.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD63AEA0D1E792900037877 /* VisualFontManager.h */; }; + ACDAA940098FFD900067AA4A /* VisualActorState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */; }; + ACE0DF5F06DBCE730018E8C0 /* BeatlightActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */; }; + ACE0DF6006DBCE730018E8C0 /* BeatlightActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */; }; + ACE0DF6106DBCE730018E8C0 /* CoverArtActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */; }; + ACE0DF6206DBCE730018E8C0 /* CoverArtActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */; }; + ACE0DF6306DBCE730018E8C0 /* ProcessMonitorActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */; }; + ACE0DF6406DBCE730018E8C0 /* ProcessMonitorActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */; }; + ACE0DF6506DBCE730018E8C0 /* TemplateActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */; }; + ACE0DF6606DBCE730018E8C0 /* TemplateActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */; }; + ACE0DF6706DBCE730018E8C0 /* TrackTitleActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */; }; + ACE0DF6806DBCE730018E8C0 /* TrackTitleActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */; }; + ACE0DF6906DBCE730018E8C0 /* VisualAudioLab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */; }; + ACE0DF6A06DBCE730018E8C0 /* VisualAudioLab.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */; }; + ACE0DF6D06DBCE730018E8C0 /* iTunesAPI.c in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */; }; + ACE0DF6E06DBCE730018E8C0 /* iTunesAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */; }; + ACE0DF6F06DBCE730018E8C0 /* iTunesVisualAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */; }; + ACE0DF7506DBCE730018E8C0 /* VisualColorTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */; }; + ACE0DF7606DBCE730018E8C0 /* VisualColorTools.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */; }; + ACE0DF7806DBCE730018E8C0 /* VisualErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */; }; + ACE0DF7B06DBCE730018E8C0 /* VisualActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */; }; + ACE0DF7C06DBCE730018E8C0 /* VisualActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4206DBCE730018E8C0 /* VisualActor.h */; }; + ACE0DF7F06DBCE730018E8C0 /* VisualDataStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */; }; + ACE0DF8006DBCE730018E8C0 /* VisualDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */; }; + ACE0DF8106DBCE730018E8C0 /* VisualDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */; }; + ACE0DF8206DBCE730018E8C0 /* VisualDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */; }; + ACE0DF8306DBCE730018E8C0 /* VisualEnsemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */; }; + ACE0DF8406DBCE730018E8C0 /* VisualEnsemble.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */; }; + ACE0DF8506DBCE730018E8C0 /* VisualGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */; }; + ACE0DF8606DBCE730018E8C0 /* VisualGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */; }; + ACE0DF8706DBCE730018E8C0 /* VisualMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */; }; + ACE0DF8806DBCE730018E8C0 /* VisualMain.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */; }; + ACE0DF8906DBCE730018E8C0 /* VisualStageControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */; }; + ACE0DF8A06DBCE730018E8C0 /* VisualStageControl.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */; }; + ACE0DFA006DBD0A00018E8C0 /* DEVROYE_.otf in Resources */ = {isa = PBXBuildFile; fileRef = ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */; }; + ACE0DFB406DBD1190018E8C0 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFAE06DBD1190018E8C0 /* AGL.framework */; }; + ACE0DFB506DBD1190018E8C0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */; }; + ACE0DFB706DBD1190018E8C0 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFB106DBD1190018E8C0 /* GLUT.framework */; }; + ACE0DFB806DBD1190018E8C0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */; }; + ACE30FA90ACE686800EC56B7 /* VisualAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */; }; + ACE30FAA0ACE686800EC56B7 /* VisualAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */; }; + ACE437100D91AB7800479608 /* VisualDownloadQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE4370E0D91AB7800479608 /* VisualDownloadQueue.cpp */; }; + ACE437110D91AB7800479608 /* VisualDownloadQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE4370F0D91AB7800479608 /* VisualDownloadQueue.h */; }; + ACE80D2D0BB84B960004DC20 /* VisualSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE80D2B0BB84B960004DC20 /* VisualSignature.h */; }; + ACE80D2E0BB84B960004DC20 /* VisualSignature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */; }; + ACE824400B88AE9400E9028B /* VisualFile.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE8243E0B88AE9400E9028B /* VisualFile.h */; }; + ACE824410B88AE9400E9028B /* VisualFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE8243F0B88AE9400E9028B /* VisualFile.cpp */; }; + ACE8D72F0BB27A8500BEBD44 /* VisualStringStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */; }; + ACEE984A0FBD35DD00111B35 /* VisualObjectMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = ACEE98480FBD35DD00111B35 /* VisualObjectMutex.h */; }; + ACEE984B0FBD35DD00111B35 /* VisualObjectMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACEE98490FBD35DD00111B35 /* VisualObjectMutex.cpp */; }; + ACF08A490B5231CA0031A029 /* VisualConvolutionFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */; }; + ACF08A4A0B5231CA0031A029 /* VisualConvolutionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */; }; + ACF08A550B5232490031A029 /* VisualAppleScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACF08A530B5232490031A029 /* VisualAppleScript.cpp */; }; + ACF08A560B5232490031A029 /* VisualAppleScript.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF08A540B5232490031A029 /* VisualAppleScript.h */; }; + ACF08A620B5232D50031A029 /* getLyrics.applescript in Resources */ = {isa = PBXBuildFile; fileRef = ACF08A570B52326E0031A029 /* getLyrics.applescript */; }; + E41E1F2E0A6BCBD1004565CB /* VisualString.h in Headers */ = {isa = PBXBuildFile; fileRef = E41E1F2C0A6BCBD1004565CB /* VisualString.h */; }; + E41E1F2F0A6BCBD1004565CB /* VisualString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */; }; + E428E9F20A4EBB010018F704 /* TrackLyricsActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */; }; + E428E9F30A4EBB010018F704 /* TrackLyricsActor.h in Headers */ = {isa = PBXBuildFile; fileRef = E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */; }; + E428E9F60A4EBB170018F704 /* TrackLyrics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */; }; + E428E9F70A4EBB170018F704 /* TrackLyrics.h in Headers */ = {isa = PBXBuildFile; fileRef = E428E9F50A4EBB170018F704 /* TrackLyrics.h */; }; + E4CF4CC70BDBC199007147F6 /* VisualConfigurationDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */; }; + E4CF4CC80BDBC199007147F6 /* VisualConfigurationDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */; }; + E4D6CC610B9F3A530004750D /* spot.png in Resources */ = {isa = PBXBuildFile; fileRef = E4D6CC600B9F3A530004750D /* spot.png */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = ../../../System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 4288C456075A22CF003C29C8 /* VisualOptions.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = VisualOptions.nib; sourceTree = SOURCE_ROOT; }; + 42986571080806B20045411A /* VisualConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualConfiguration.cpp; sourceTree = ""; }; + 42986572080806B20045411A /* VisualConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualConfiguration.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; + 8D01CCD20486CAD60068D4B7 /* VizKit.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VizKit.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 8F229E640D5E5774006D520A /* VisualTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualTypes.h; sourceTree = ""; }; + AC041FB80CE44F1000072622 /* VisualProgressIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualProgressIndicator.h; sourceTree = ""; }; + AC041FB90CE44F1000072622 /* VisualProgressIndicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualProgressIndicator.cpp; sourceTree = ""; }; + AC04E6B407ED8FD000F4479D /* VisualNotification.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualNotification.h; sourceTree = ""; }; + AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualNotification.cpp; sourceTree = ""; }; + AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualGraphicsCore.h; sourceTree = ""; }; + AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphicsCore.cpp; sourceTree = ""; }; + AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualThreading.h; sourceTree = ""; }; + AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualThreading.cpp; sourceTree = ""; }; + AC0DF75B0ECCC48E00462EDC /* VisualHistogram.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualHistogram.cpp; path = ../source/Tools/VisualHistogram.cpp; sourceTree = SOURCE_ROOT; }; + AC0DF75C0ECCC48E00462EDC /* VisualHistogram.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualHistogram.h; path = ../source/Tools/VisualHistogram.h; sourceTree = SOURCE_ROOT; }; + AC0F52750CEC315D00191EEA /* VisualStyledString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualStyledString.h; sourceTree = ""; }; + AC0F52760CEC315D00191EEA /* VisualStyledString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualStyledString.cpp; sourceTree = ""; }; + AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphicTypes.cpp; sourceTree = ""; }; + AC19E5690DB1F4F0005AB92D /* VisualUpdateManager.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualUpdateManager.cpp; path = ../source/Tools/VisualUpdateManager.cpp; sourceTree = SOURCE_ROOT; }; + AC19E56A0DB1F4F0005AB92D /* VisualUpdateManager.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualUpdateManager.h; path = ../source/Tools/VisualUpdateManager.h; sourceTree = SOURCE_ROOT; }; + AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualHostCommunication.h; path = ../source/VisualHostCommunication.h; sourceTree = SOURCE_ROOT; }; + AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualHostCommunication.cpp; path = ../source/VisualHostCommunication.cpp; sourceTree = SOURCE_ROOT; }; + AC213CA00F756F5200B58BAB /* VisualObjectData.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualObjectData.cpp; path = ../source/VisualObjectData.cpp; sourceTree = SOURCE_ROOT; }; + AC213CA10F756F5200B58BAB /* VisualObjectData.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualObjectData.h; path = ../source/VisualObjectData.h; sourceTree = SOURCE_ROOT; }; + AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualInterpolation.cpp; path = ../source/Tools/VisualInterpolation.cpp; sourceTree = SOURCE_ROOT; }; + AC214F8009FD653700B24379 /* VisualInterpolation.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualInterpolation.h; path = ../source/Tools/VisualInterpolation.h; sourceTree = SOURCE_ROOT; }; + AC214FF309FD694000B24379 /* VisualAsset.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAsset.cpp; path = ../source/VisualAsset.cpp; sourceTree = SOURCE_ROOT; }; + AC214FF409FD694000B24379 /* VisualAsset.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAsset.h; path = ../source/VisualAsset.h; sourceTree = SOURCE_ROOT; }; + AC214FF509FD694000B24379 /* VisualNurbs.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualNurbs.cpp; path = ../source/VisualNurbs.cpp; sourceTree = SOURCE_ROOT; }; + AC214FF609FD694000B24379 /* VisualNurbs.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNurbs.h; path = ../source/VisualNurbs.h; sourceTree = SOURCE_ROOT; }; + AC214FF709FD694000B24379 /* VisualStageBox.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStageBox.cpp; path = ../source/VisualStageBox.cpp; sourceTree = SOURCE_ROOT; }; + AC214FF809FD694000B24379 /* VisualStageBox.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStageBox.h; path = ../source/VisualStageBox.h; sourceTree = SOURCE_ROOT; }; + AC214FF909FD694000B24379 /* VisualStagePosition.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStagePosition.cpp; path = ../source/VisualStagePosition.cpp; sourceTree = SOURCE_ROOT; }; + AC214FFA09FD694000B24379 /* VisualStagePosition.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStagePosition.h; path = ../source/VisualStagePosition.h; sourceTree = SOURCE_ROOT; }; + AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTextureContainer.cpp; path = ../source/VisualTextureContainer.cpp; sourceTree = SOURCE_ROOT; }; + AC214FFC09FD694000B24379 /* VisualTextureContainer.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTextureContainer.h; path = ../source/VisualTextureContainer.h; sourceTree = SOURCE_ROOT; }; + AC21508A09FD705000B24379 /* CocoaStringTexture.m */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.objc; name = CocoaStringTexture.m; path = ../source/mac/CocoaStringTexture.m; sourceTree = SOURCE_ROOT; }; + AC21508B09FD705000B24379 /* CocoaStringTexture.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = CocoaStringTexture.h; path = ../source/mac/CocoaStringTexture.h; sourceTree = SOURCE_ROOT; }; + AC243BFC07D524B4006D245A /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = ../../../System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNotificationKey.h; path = ../source/VisualNotificationKey.h; sourceTree = SOURCE_ROOT; }; + AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualAudioMetaData.h; sourceTree = ""; }; + AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualAudioMetaData.cpp; sourceTree = ""; }; + AC2EF1F40CE98A0D00220332 /* VisualObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualObject.h; sourceTree = ""; }; + AC2EF1F50CE98A0D00220332 /* VisualObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualObject.cpp; sourceTree = ""; }; + AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStringStyle.h; path = ../source/Tools/VisualStringStyle.h; sourceTree = SOURCE_ROOT; }; + AC39205F0B59705600FEC228 /* VisualImage.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualImage.cpp; path = ../source/VisualImage.cpp; sourceTree = SOURCE_ROOT; }; + AC3920600B59705600FEC228 /* VisualImage.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualImage.h; path = ../source/VisualImage.h; sourceTree = SOURCE_ROOT; }; + AC3EA1600DB3F581001C1A0F /* UpdateServiceActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = UpdateServiceActor.cpp; path = ../source/Actors/UpdateServiceActor.cpp; sourceTree = SOURCE_ROOT; }; + AC3EA1610DB3F581001C1A0F /* UpdateServiceActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = UpdateServiceActor.h; path = ../source/Actors/UpdateServiceActor.h; sourceTree = SOURCE_ROOT; }; + AC42D27F0DC4619500FE57BD /* VisualThreadingManager.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualThreadingManager.cpp; path = ../source/Tools/VisualThreadingManager.cpp; sourceTree = SOURCE_ROOT; }; + AC42D2800DC4619500FE57BD /* VisualThreadingManager.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualThreadingManager.h; path = ../source/Tools/VisualThreadingManager.h; sourceTree = SOURCE_ROOT; }; + AC454CBE0D11CF3C002A1428 /* VisualMainAction.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualMainAction.cpp; path = ../source/VisualMainAction.cpp; sourceTree = SOURCE_ROOT; }; + AC454CBF0D11CF3D002A1428 /* VisualMainAction.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualMainAction.h; path = ../source/VisualMainAction.h; sourceTree = SOURCE_ROOT; }; + AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNotificationQueue.h; path = ../source/VisualNotificationQueue.h; sourceTree = SOURCE_ROOT; }; + AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualNotificationQueue.cpp; path = ../source/VisualNotificationQueue.cpp; sourceTree = SOURCE_ROOT; }; + AC503DCA089C1384008CD23F /* VisualActorGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualActorGraphics.h; sourceTree = ""; }; + AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualActorGraphics.cpp; sourceTree = ""; }; + AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualGraphicTypes.h; sourceTree = ""; }; + AC5B29FC0941E73A0040AE4E /* VisualActorState.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualActorState.h; path = ../source/VisualActorState.h; sourceTree = SOURCE_ROOT; }; + AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = Beatlight.cpp; sourceTree = ""; }; + AC7955E006DBD4D60026F7BA /* Beatlight.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = Beatlight.h; sourceTree = ""; }; + AC7955E106DBD4D60026F7BA /* CoverArt.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = CoverArt.cpp; sourceTree = ""; }; + AC7955E206DBD4D60026F7BA /* CoverArt.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = CoverArt.h; sourceTree = ""; }; + AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMonitor.cpp; sourceTree = ""; }; + AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = ProcessMonitor.h; sourceTree = ""; }; + AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateAction.cpp; sourceTree = ""; }; + AC7955E606DBD4D60026F7BA /* TemplateAction.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TemplateAction.h; sourceTree = ""; }; + AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TrackTitle.cpp; sourceTree = ""; }; + AC7955E806DBD4D60026F7BA /* TrackTitle.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TrackTitle.h; sourceTree = ""; }; + AC7F531B07255239004BE280 /* OptionsDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsDialog.h; sourceTree = ""; }; + AC7F531C07255239004BE280 /* OptionsDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptionsDialog.cpp; sourceTree = ""; }; + AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTimeline.cpp; path = ../source/Tools/Timing/VisualTimeline.cpp; sourceTree = SOURCE_ROOT; }; + AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTimeline.h; path = ../source/Tools/Timing/VisualTimeline.h; sourceTree = SOURCE_ROOT; }; + AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTiming.cpp; path = ../source/Tools/Timing/VisualTiming.cpp; sourceTree = SOURCE_ROOT; }; + AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTiming.h; path = ../source/Tools/Timing/VisualTiming.h; sourceTree = SOURCE_ROOT; }; + AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualErrorHandling.cpp; path = ../source/Tools/VisualErrorHandling.cpp; sourceTree = SOURCE_ROOT; }; + AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualItemIdentifier.h; path = ../source/Tools/VisualItemIdentifier.h; sourceTree = SOURCE_ROOT; }; + AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualItemIdentifier.cpp; path = ../source/Tools/VisualItemIdentifier.cpp; sourceTree = SOURCE_ROOT; }; + ACAB14710D71F52900610EAE /* VisualQuickTime.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualQuickTime.cpp; path = ../source/Tools/VisualQuickTime.cpp; sourceTree = SOURCE_ROOT; }; + ACAB14720D71F52900610EAE /* VisualQuickTime.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualQuickTime.h; path = ../source/Tools/VisualQuickTime.h; sourceTree = SOURCE_ROOT; }; + ACAB69600CCF5CA5009ECB49 /* VisualAnimationCluster.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimationCluster.cpp; path = ../source/Tools/Timing/VisualAnimationCluster.cpp; sourceTree = SOURCE_ROOT; }; + ACAB69610CCF5CA5009ECB49 /* VisualAnimationCluster.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationCluster.h; path = ../source/Tools/Timing/VisualAnimationCluster.h; sourceTree = SOURCE_ROOT; }; + ACAB69620CCF5CA5009ECB49 /* VisualAnimationComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimationComponent.cpp; path = ../source/Tools/Timing/VisualAnimationComponent.cpp; sourceTree = SOURCE_ROOT; }; + ACAB69630CCF5CA5009ECB49 /* VisualAnimationComponent.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationComponent.h; path = ../source/Tools/Timing/VisualAnimationComponent.h; sourceTree = SOURCE_ROOT; }; + ACAB69640CCF5CA5009ECB49 /* VisualAnimationPackage.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationPackage.h; path = ../source/Tools/Timing/VisualAnimationPackage.h; sourceTree = SOURCE_ROOT; }; + ACAB69650CCF5CA5009ECB49 /* VisualAnimationQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimationQueue.cpp; path = ../source/Tools/Timing/VisualAnimationQueue.cpp; sourceTree = SOURCE_ROOT; }; + ACAB69660CCF5CA5009ECB49 /* VisualAnimationQueue.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationQueue.h; path = ../source/Tools/Timing/VisualAnimationQueue.h; sourceTree = SOURCE_ROOT; }; + ACAB69670CCF5CA5009ECB49 /* VisualAnimationSequence.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimationSequence.cpp; path = ../source/Tools/Timing/VisualAnimationSequence.cpp; sourceTree = SOURCE_ROOT; }; + ACAB69680CCF5CA5009ECB49 /* VisualAnimationSequence.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationSequence.h; path = ../source/Tools/Timing/VisualAnimationSequence.h; sourceTree = SOURCE_ROOT; }; + ACAB69690CCF5CA5009ECB49 /* VisualAnimationTypes.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimationTypes.h; path = ../source/Tools/Timing/VisualAnimationTypes.h; sourceTree = SOURCE_ROOT; }; + ACAB698B0CCF5D13009ECB49 /* VisualCamera.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualCamera.cpp; path = ../source/VisualCamera.cpp; sourceTree = SOURCE_ROOT; }; + ACAB698C0CCF5D13009ECB49 /* VisualCamera.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualCamera.h; path = ../source/VisualCamera.h; sourceTree = SOURCE_ROOT; }; + ACAB69950CCF5D3E009ECB49 /* VisualPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualPreferences.cpp; path = ../source/VisualPreferences.cpp; sourceTree = SOURCE_ROOT; }; + ACAB69960CCF5D3E009ECB49 /* VisualPreferences.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualPreferences.h; path = ../source/VisualPreferences.h; sourceTree = SOURCE_ROOT; }; + ACAB6B160CCF8119009ECB49 /* VisualVertex.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualVertex.cpp; path = ../source/VisualVertex.cpp; sourceTree = SOURCE_ROOT; }; + ACAB6B170CCF8119009ECB49 /* VisualVertex.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualVertex.h; path = ../source/VisualVertex.h; sourceTree = SOURCE_ROOT; }; + ACB63E950D8C7CCC00F05565 /* VisualNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualNetwork.h; sourceTree = ""; }; + ACB63E960D8C7CCC00F05565 /* VisualNetwork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualNetwork.cpp; sourceTree = ""; }; + ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualPlayerState.h; path = ../source/VisualPlayerState.h; sourceTree = SOURCE_ROOT; }; + ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualPlayerState.cpp; path = ../source/VisualPlayerState.cpp; sourceTree = SOURCE_ROOT; }; + ACD63AE90D1E792900037877 /* VisualFontManager.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualFontManager.cpp; path = ../source/Tools/VisualFontManager.cpp; sourceTree = SOURCE_ROOT; }; + ACD63AEA0D1E792900037877 /* VisualFontManager.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualFontManager.h; path = ../source/Tools/VisualFontManager.h; sourceTree = SOURCE_ROOT; }; + ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualActorState.cpp; path = ../source/VisualActorState.cpp; sourceTree = SOURCE_ROOT; }; + ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = BeatlightActor.cpp; sourceTree = ""; }; + ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = BeatlightActor.h; sourceTree = ""; }; + ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = CoverArtActor.cpp; sourceTree = ""; }; + ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = CoverArtActor.h; sourceTree = ""; }; + ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMonitorActor.cpp; sourceTree = ""; }; + ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = ProcessMonitorActor.h; sourceTree = ""; }; + ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateActor.cpp; sourceTree = ""; }; + ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TemplateActor.h; sourceTree = ""; }; + ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TrackTitleActor.cpp; sourceTree = ""; }; + ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TrackTitleActor.h; sourceTree = ""; }; + ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualAudioLab.cpp; sourceTree = ""; }; + ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualAudioLab.h; sourceTree = ""; }; + ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; path = iTunesAPI.c; sourceTree = ""; }; + ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = iTunesAPI.h; sourceTree = ""; }; + ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = iTunesVisualAPI.h; sourceTree = ""; }; + ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualColorTools.cpp; sourceTree = ""; }; + ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualColorTools.h; sourceTree = ""; }; + ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualErrorHandling.h; sourceTree = ""; }; + ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualActor.cpp; path = ../VisualActor.cpp; sourceTree = ""; }; + ACE0DF4206DBCE730018E8C0 /* VisualActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualActor.h; path = ../VisualActor.h; sourceTree = ""; }; + ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualDataStore.cpp; sourceTree = ""; }; + ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualDataStore.h; sourceTree = ""; }; + ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualDispatch.cpp; sourceTree = ""; }; + ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualDispatch.h; sourceTree = ""; }; + ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualEnsemble.cpp; sourceTree = ""; }; + ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualEnsemble.h; sourceTree = ""; }; + ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphics.cpp; sourceTree = ""; }; + ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualGraphics.h; sourceTree = ""; }; + ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualMain.cpp; sourceTree = ""; }; + ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualMain.h; sourceTree = ""; }; + ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualStageControl.cpp; sourceTree = ""; }; + ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualStageControl.h; sourceTree = ""; }; + ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = DEVROYE_.otf; path = "../resources/Devroye/Devroye Open Type/DEVROYE_.otf"; sourceTree = ""; }; + ACE0DFAE06DBD1190018E8C0 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = ../../../System/Library/Frameworks/AGL.framework; sourceTree = SDKROOT; }; + ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = ../../../System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + ACE0DFB106DBD1190018E8C0 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../System/Library/Frameworks/GLUT.framework; sourceTree = SDKROOT; }; + ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = ../../../System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimation.cpp; path = Timing/VisualAnimation.cpp; sourceTree = ""; }; + ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimation.h; path = Timing/VisualAnimation.h; sourceTree = ""; }; + ACE4370E0D91AB7800479608 /* VisualDownloadQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualDownloadQueue.cpp; path = ../source/Tools/VisualDownloadQueue.cpp; sourceTree = SOURCE_ROOT; }; + ACE4370F0D91AB7800479608 /* VisualDownloadQueue.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualDownloadQueue.h; path = ../source/Tools/VisualDownloadQueue.h; sourceTree = SOURCE_ROOT; }; + ACE80D2B0BB84B960004DC20 /* VisualSignature.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualSignature.h; path = ../source/VisualSignature.h; sourceTree = SOURCE_ROOT; }; + ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualSignature.cpp; path = ../source/VisualSignature.cpp; sourceTree = SOURCE_ROOT; }; + ACE8243E0B88AE9400E9028B /* VisualFile.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualFile.h; path = ../source/VisualFile.h; sourceTree = SOURCE_ROOT; }; + ACE8243F0B88AE9400E9028B /* VisualFile.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualFile.cpp; path = ../source/VisualFile.cpp; sourceTree = SOURCE_ROOT; }; + ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStringStyle.cpp; path = ../source/Tools/VisualStringStyle.cpp; sourceTree = SOURCE_ROOT; }; + ACEE98480FBD35DD00111B35 /* VisualObjectMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualObjectMutex.h; sourceTree = ""; }; + ACEE98490FBD35DD00111B35 /* VisualObjectMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualObjectMutex.cpp; sourceTree = ""; }; + ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualConvolutionFilter.cpp; path = ../source/VisualConvolutionFilter.cpp; sourceTree = SOURCE_ROOT; }; + ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualConvolutionFilter.h; path = ../source/VisualConvolutionFilter.h; sourceTree = SOURCE_ROOT; }; + ACF08A530B5232490031A029 /* VisualAppleScript.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAppleScript.cpp; path = ../source/mac/VisualAppleScript.cpp; sourceTree = SOURCE_ROOT; }; + ACF08A540B5232490031A029 /* VisualAppleScript.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAppleScript.h; path = ../source/mac/VisualAppleScript.h; sourceTree = SOURCE_ROOT; }; + ACF08A570B52326E0031A029 /* getLyrics.applescript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.applescript; name = getLyrics.applescript; path = ../source/mac/getLyrics.applescript; sourceTree = SOURCE_ROOT; }; + E41E1F2C0A6BCBD1004565CB /* VisualString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualString.h; sourceTree = ""; }; + E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualString.cpp; sourceTree = ""; }; + E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TrackLyricsActor.cpp; path = ../source/Actors/TrackLyricsActor.cpp; sourceTree = SOURCE_ROOT; }; + E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackLyricsActor.h; path = ../source/Actors/TrackLyricsActor.h; sourceTree = SOURCE_ROOT; }; + E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TrackLyrics.cpp; path = ../source/Actions/TrackLyrics.cpp; sourceTree = SOURCE_ROOT; }; + E428E9F50A4EBB170018F704 /* TrackLyrics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackLyrics.h; path = ../source/Actions/TrackLyrics.h; sourceTree = SOURCE_ROOT; }; + E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualConfigurationDialog.cpp; path = ../source/VisualConfigurationDialog.cpp; sourceTree = SOURCE_ROOT; }; + E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualConfigurationDialog.h; path = ../source/VisualConfigurationDialog.h; sourceTree = SOURCE_ROOT; }; + E4D6CC600B9F3A530004750D /* spot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = spot.png; path = ../resources/spot.png; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */, + ACE0DFB406DBD1190018E8C0 /* AGL.framework in Frameworks */, + ACE0DFB506DBD1190018E8C0 /* Cocoa.framework in Frameworks */, + ACE0DFB706DBD1190018E8C0 /* GLUT.framework in Frameworks */, + ACE0DFB806DBD1190018E8C0 /* OpenGL.framework in Frameworks */, + AC243BFD07D524B4006D245A /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* VizKit */ = { + isa = PBXGroup; + children = ( + ACE0DF1406DBCE730018E8C0 /* Sources */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = VizKit; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + AC243BFC07D524B4006D245A /* CoreFoundation.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */, + ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */, + ACE0DFAE06DBD1190018E8C0 /* AGL.framework */, + ACE0DFB106DBD1190018E8C0 /* GLUT.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 4288C456075A22CF003C29C8 /* VisualOptions.nib */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */, + E4D6CC600B9F3A530004750D /* spot.png */, + ); + name = Resources; + path = ../resources; + sourceTree = SOURCE_ROOT; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* VizKit.bundle */, + ); + name = Products; + sourceTree = ""; + }; + AC1F9C6708A1652E00F92F64 /* Graphics */ = { + isa = PBXGroup; + children = ( + AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */, + AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */, + AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */, + AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */, + ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */, + ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */, + AC503DCA089C1384008CD23F /* VisualActorGraphics.h */, + AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */, + ACAB698C0CCF5D13009ECB49 /* VisualCamera.h */, + ACAB698B0CCF5D13009ECB49 /* VisualCamera.cpp */, + AC214FF409FD694000B24379 /* VisualAsset.h */, + AC214FF309FD694000B24379 /* VisualAsset.cpp */, + AC3920600B59705600FEC228 /* VisualImage.h */, + AC39205F0B59705600FEC228 /* VisualImage.cpp */, + AC214FFC09FD694000B24379 /* VisualTextureContainer.h */, + AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */, + AC214FFA09FD694000B24379 /* VisualStagePosition.h */, + AC214FF909FD694000B24379 /* VisualStagePosition.cpp */, + AC214FF809FD694000B24379 /* VisualStageBox.h */, + AC214FF709FD694000B24379 /* VisualStageBox.cpp */, + AC214FF609FD694000B24379 /* VisualNurbs.h */, + AC214FF509FD694000B24379 /* VisualNurbs.cpp */, + ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */, + ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */, + ACAB6B170CCF8119009ECB49 /* VisualVertex.h */, + ACAB6B160CCF8119009ECB49 /* VisualVertex.cpp */, + ); + name = Graphics; + sourceTree = ""; + }; + AC1F9C6808A1653A00F92F64 /* Messaging */ = { + isa = PBXGroup; + children = ( + ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */, + ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */, + AC5B29FC0941E73A0040AE4E /* VisualActorState.h */, + ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */, + ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */, + ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */, + AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */, + AC04E6B407ED8FD000F4479D /* VisualNotification.h */, + AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */, + AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */, + AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */, + AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */, + AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */, + ); + name = Messaging; + sourceTree = ""; + }; + AC1F9C7708A167E700F92F64 /* Main */ = { + isa = PBXGroup; + children = ( + 8F229E640D5E5774006D520A /* VisualTypes.h */, + AC213CA10F756F5200B58BAB /* VisualObjectData.h */, + AC213CA00F756F5200B58BAB /* VisualObjectData.cpp */, + ACEE98480FBD35DD00111B35 /* VisualObjectMutex.h */, + ACEE98490FBD35DD00111B35 /* VisualObjectMutex.cpp */, + AC2EF1F40CE98A0D00220332 /* VisualObject.h */, + AC2EF1F50CE98A0D00220332 /* VisualObject.cpp */, + ACE80D2B0BB84B960004DC20 /* VisualSignature.h */, + ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */, + ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */, + ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */, + AC454CBF0D11CF3D002A1428 /* VisualMainAction.h */, + AC454CBE0D11CF3C002A1428 /* VisualMainAction.cpp */, + ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */, + ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */, + ACAB69960CCF5D3E009ECB49 /* VisualPreferences.h */, + ACAB69950CCF5D3E009ECB49 /* VisualPreferences.cpp */, + 42986572080806B20045411A /* VisualConfiguration.h */, + 42986571080806B20045411A /* VisualConfiguration.cpp */, + E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */, + E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */, + ); + name = Main; + sourceTree = ""; + }; + AC1F9C7808A1684600F92F64 /* Interface */ = { + isa = PBXGroup; + children = ( + ACE0DF4206DBCE730018E8C0 /* VisualActor.h */, + ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */, + ); + name = Interface; + sourceTree = ""; + }; + AC1F9C7B08A1688200F92F64 /* Ensemble */ = { + isa = PBXGroup; + children = ( + ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */, + ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */, + ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */, + ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */, + ); + name = Ensemble; + sourceTree = ""; + }; + AC214F6709FD64E200B24379 /* Timing */ = { + isa = PBXGroup; + children = ( + ACAB695F0CCF5C72009ECB49 /* Animation */, + AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */, + AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */, + AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */, + AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */, + ); + name = Timing; + sourceTree = ""; + }; + AC7955DE06DBD4D60026F7BA /* Action */ = { + isa = PBXGroup; + children = ( + AC7955E006DBD4D60026F7BA /* Beatlight.h */, + AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */, + AC7955E206DBD4D60026F7BA /* CoverArt.h */, + AC7955E106DBD4D60026F7BA /* CoverArt.cpp */, + AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */, + AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */, + AC7955E606DBD4D60026F7BA /* TemplateAction.h */, + AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */, + AC7955E806DBD4D60026F7BA /* TrackTitle.h */, + AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */, + E428E9F50A4EBB170018F704 /* TrackLyrics.h */, + E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */, + ); + name = Action; + path = ../Actions; + sourceTree = ""; + }; + ACAB695F0CCF5C72009ECB49 /* Animation */ = { + isa = PBXGroup; + children = ( + ACAB69640CCF5CA5009ECB49 /* VisualAnimationPackage.h */, + ACAB69690CCF5CA5009ECB49 /* VisualAnimationTypes.h */, + ACAB69630CCF5CA5009ECB49 /* VisualAnimationComponent.h */, + ACAB69620CCF5CA5009ECB49 /* VisualAnimationComponent.cpp */, + ACAB69610CCF5CA5009ECB49 /* VisualAnimationCluster.h */, + ACAB69600CCF5CA5009ECB49 /* VisualAnimationCluster.cpp */, + ACAB69680CCF5CA5009ECB49 /* VisualAnimationSequence.h */, + ACAB69670CCF5CA5009ECB49 /* VisualAnimationSequence.cpp */, + ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */, + ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */, + ACAB69660CCF5CA5009ECB49 /* VisualAnimationQueue.h */, + ACAB69650CCF5CA5009ECB49 /* VisualAnimationQueue.cpp */, + ); + name = Animation; + sourceTree = ""; + }; + ACE0DF1406DBCE730018E8C0 /* Sources */ = { + isa = PBXGroup; + children = ( + ACE0DF3006DBCE730018E8C0 /* iTunes Visualizer API */, + AC1F9C7708A167E700F92F64 /* Main */, + AC1F9C7B08A1688200F92F64 /* Ensemble */, + ACE0DF2006DBCE730018E8C0 /* Actor */, + AC1F9C6808A1653A00F92F64 /* Messaging */, + AC1F9C6708A1652E00F92F64 /* Graphics */, + ACE0DF2B06DBCE730018E8C0 /* AudioLab */, + ACE0DF3A06DBCE730018E8C0 /* Tools */, + ACE0DF3406DBCE730018E8C0 /* mac */, + ); + name = Sources; + path = ../source; + sourceTree = SOURCE_ROOT; + }; + ACE0DF2006DBCE730018E8C0 /* Actor */ = { + isa = PBXGroup; + children = ( + AC1F9C7808A1684600F92F64 /* Interface */, + AC7955DE06DBD4D60026F7BA /* Action */, + ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */, + ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */, + ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */, + ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */, + ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */, + ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */, + ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */, + ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */, + ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */, + ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */, + E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */, + E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */, + AC3EA1610DB3F581001C1A0F /* UpdateServiceActor.h */, + AC3EA1600DB3F581001C1A0F /* UpdateServiceActor.cpp */, + ); + name = Actor; + path = Actors; + sourceTree = ""; + }; + ACE0DF2B06DBCE730018E8C0 /* AudioLab */ = { + isa = PBXGroup; + children = ( + AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */, + AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */, + ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */, + ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */, + ); + path = AudioLab; + sourceTree = ""; + }; + ACE0DF3006DBCE730018E8C0 /* iTunes Visualizer API */ = { + isa = PBXGroup; + children = ( + ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */, + ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */, + ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */, + ); + name = "iTunes Visualizer API"; + path = iTunesVisualAPI; + sourceTree = ""; + }; + ACE0DF3406DBCE730018E8C0 /* mac */ = { + isa = PBXGroup; + children = ( + ACF08A570B52326E0031A029 /* getLyrics.applescript */, + AC21508B09FD705000B24379 /* CocoaStringTexture.h */, + AC21508A09FD705000B24379 /* CocoaStringTexture.m */, + AC7F531B07255239004BE280 /* OptionsDialog.h */, + AC7F531C07255239004BE280 /* OptionsDialog.cpp */, + ACF08A540B5232490031A029 /* VisualAppleScript.h */, + ACF08A530B5232490031A029 /* VisualAppleScript.cpp */, + ); + path = mac; + sourceTree = ""; + }; + ACE0DF3A06DBCE730018E8C0 /* Tools */ = { + isa = PBXGroup; + children = ( + AC214F6709FD64E200B24379 /* Timing */, + ACAB14720D71F52900610EAE /* VisualQuickTime.h */, + ACAB14710D71F52900610EAE /* VisualQuickTime.cpp */, + ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */, + ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */, + ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */, + AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */, + AC214F8009FD653700B24379 /* VisualInterpolation.h */, + AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */, + AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */, + AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */, + AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */, + ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */, + E41E1F2C0A6BCBD1004565CB /* VisualString.h */, + E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */, + AC0F52750CEC315D00191EEA /* VisualStyledString.h */, + AC0F52760CEC315D00191EEA /* VisualStyledString.cpp */, + ACE8243E0B88AE9400E9028B /* VisualFile.h */, + ACE8243F0B88AE9400E9028B /* VisualFile.cpp */, + ACB63E950D8C7CCC00F05565 /* VisualNetwork.h */, + ACB63E960D8C7CCC00F05565 /* VisualNetwork.cpp */, + ACE4370F0D91AB7800479608 /* VisualDownloadQueue.h */, + ACE4370E0D91AB7800479608 /* VisualDownloadQueue.cpp */, + AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */, + AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */, + AC42D2800DC4619500FE57BD /* VisualThreadingManager.h */, + AC42D27F0DC4619500FE57BD /* VisualThreadingManager.cpp */, + ACD63AEA0D1E792900037877 /* VisualFontManager.h */, + ACD63AE90D1E792900037877 /* VisualFontManager.cpp */, + AC19E56A0DB1F4F0005AB92D /* VisualUpdateManager.h */, + AC19E5690DB1F4F0005AB92D /* VisualUpdateManager.cpp */, + AC041FB80CE44F1000072622 /* VisualProgressIndicator.h */, + AC041FB90CE44F1000072622 /* VisualProgressIndicator.cpp */, + AC0DF75C0ECCC48E00462EDC /* VisualHistogram.h */, + AC0DF75B0ECCC48E00462EDC /* VisualHistogram.cpp */, + ); + path = Tools; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ACE0DF6006DBCE730018E8C0 /* BeatlightActor.h in Headers */, + ACE0DF6206DBCE730018E8C0 /* CoverArtActor.h in Headers */, + ACE0DF6406DBCE730018E8C0 /* ProcessMonitorActor.h in Headers */, + ACE0DF6606DBCE730018E8C0 /* TemplateActor.h in Headers */, + ACE0DF6806DBCE730018E8C0 /* TrackTitleActor.h in Headers */, + ACE0DF6A06DBCE730018E8C0 /* VisualAudioLab.h in Headers */, + ACE0DF6E06DBCE730018E8C0 /* iTunesAPI.h in Headers */, + ACE0DF6F06DBCE730018E8C0 /* iTunesVisualAPI.h in Headers */, + ACE0DF7606DBCE730018E8C0 /* VisualColorTools.h in Headers */, + ACE0DF7806DBCE730018E8C0 /* VisualErrorHandling.h in Headers */, + ACE0DF7C06DBCE730018E8C0 /* VisualActor.h in Headers */, + ACE0DF8006DBCE730018E8C0 /* VisualDataStore.h in Headers */, + ACE0DF8206DBCE730018E8C0 /* VisualDispatch.h in Headers */, + ACE0DF8406DBCE730018E8C0 /* VisualEnsemble.h in Headers */, + ACE0DF8606DBCE730018E8C0 /* VisualGraphics.h in Headers */, + ACE0DF8806DBCE730018E8C0 /* VisualMain.h in Headers */, + ACE0DF8A06DBCE730018E8C0 /* VisualStageControl.h in Headers */, + AC7955EA06DBD4D60026F7BA /* Beatlight.h in Headers */, + AC7955EC06DBD4D60026F7BA /* CoverArt.h in Headers */, + AC7955EE06DBD4D60026F7BA /* ProcessMonitor.h in Headers */, + AC7955F006DBD4D60026F7BA /* TemplateAction.h in Headers */, + AC7955F206DBD4D60026F7BA /* TrackTitle.h in Headers */, + AC7F531D07255239004BE280 /* OptionsDialog.h in Headers */, + AC04E6B607ED8FD000F4479D /* VisualNotification.h in Headers */, + 42986574080806B20045411A /* VisualConfiguration.h in Headers */, + AC503DCC089C1384008CD23F /* VisualActorGraphics.h in Headers */, + AC503EBF089C2176008CD23F /* VisualGraphicTypes.h in Headers */, + AC0D105008A0117500EE4F2C /* VisualGraphicsCore.h in Headers */, + AC5B29FD0941E73B0040AE4E /* VisualActorState.h in Headers */, + ACD043230942FEDA00A0CB1D /* VisualPlayerState.h in Headers */, + AC214F8209FD653700B24379 /* VisualInterpolation.h in Headers */, + AC214FFE09FD694000B24379 /* VisualAsset.h in Headers */, + AC21500009FD694000B24379 /* VisualNurbs.h in Headers */, + AC21500209FD694000B24379 /* VisualStageBox.h in Headers */, + AC21500409FD694000B24379 /* VisualStagePosition.h in Headers */, + AC21500609FD694000B24379 /* VisualTextureContainer.h in Headers */, + AC21508D09FD705100B24379 /* CocoaStringTexture.h in Headers */, + AC8E20F30A0944B6000ABA6D /* VisualTimeline.h in Headers */, + AC8E20F50A0944B6000ABA6D /* VisualTiming.h in Headers */, + AC9CA85E0A11C78C006299D4 /* VisualItemIdentifier.h in Headers */, + AC0D4EF10A3BF91F00C3101B /* VisualThreading.h in Headers */, + E428E9F30A4EBB010018F704 /* TrackLyricsActor.h in Headers */, + E428E9F70A4EBB170018F704 /* TrackLyrics.h in Headers */, + E41E1F2E0A6BCBD1004565CB /* VisualString.h in Headers */, + AC2E84980A6CEB9F005DFF74 /* VisualAudioMetaData.h in Headers */, + ACE30FAA0ACE686800EC56B7 /* VisualAnimation.h in Headers */, + ACF08A4A0B5231CA0031A029 /* VisualConvolutionFilter.h in Headers */, + ACF08A560B5232490031A029 /* VisualAppleScript.h in Headers */, + AC3920620B59705600FEC228 /* VisualImage.h in Headers */, + AC48DDB30B87123A0003AF42 /* VisualNotificationQueue.h in Headers */, + ACE824400B88AE9400E9028B /* VisualFile.h in Headers */, + AC29E5E50BAC6FB000206180 /* VisualNotificationKey.h in Headers */, + AC38BF640BAE70B4002FD4A4 /* VisualStringStyle.h in Headers */, + ACE80D2D0BB84B960004DC20 /* VisualSignature.h in Headers */, + AC1FB8820BB8F29D001C1810 /* VisualHostCommunication.h in Headers */, + E4CF4CC80BDBC199007147F6 /* VisualConfigurationDialog.h in Headers */, + ACAB696B0CCF5CA5009ECB49 /* VisualAnimationCluster.h in Headers */, + ACAB696D0CCF5CA5009ECB49 /* VisualAnimationComponent.h in Headers */, + ACAB696E0CCF5CA5009ECB49 /* VisualAnimationPackage.h in Headers */, + ACAB69700CCF5CA5009ECB49 /* VisualAnimationQueue.h in Headers */, + ACAB69720CCF5CA5009ECB49 /* VisualAnimationSequence.h in Headers */, + ACAB69730CCF5CA5009ECB49 /* VisualAnimationTypes.h in Headers */, + ACAB698E0CCF5D13009ECB49 /* VisualCamera.h in Headers */, + ACAB69980CCF5D3E009ECB49 /* VisualPreferences.h in Headers */, + ACAB6B190CCF8119009ECB49 /* VisualVertex.h in Headers */, + AC041FBA0CE44F1000072622 /* VisualProgressIndicator.h in Headers */, + AC2EF1F60CE98A0D00220332 /* VisualObject.h in Headers */, + AC0F52770CEC315D00191EEA /* VisualStyledString.h in Headers */, + AC454CC10D11CF3D002A1428 /* VisualMainAction.h in Headers */, + ACD63AEC0D1E792900037877 /* VisualFontManager.h in Headers */, + 8F229E650D5E5774006D520A /* VisualTypes.h in Headers */, + ACAB14740D71F52900610EAE /* VisualQuickTime.h in Headers */, + ACB63E970D8C7CCC00F05565 /* VisualNetwork.h in Headers */, + ACE437110D91AB7800479608 /* VisualDownloadQueue.h in Headers */, + AC19E56C0DB1F4F0005AB92D /* VisualUpdateManager.h in Headers */, + AC3EA1630DB3F581001C1A0F /* UpdateServiceActor.h in Headers */, + AC42D2820DC4619500FE57BD /* VisualThreadingManager.h in Headers */, + AC0DF75E0ECCC48E00462EDC /* VisualHistogram.h in Headers */, + AC213CA30F756F5200B58BAB /* VisualObjectData.h in Headers */, + ACEE984A0FBD35DD00111B35 /* VisualObjectMutex.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* VizKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = AC51A928087DBF37009E663F /* Build configuration list for PBXNativeTarget "VizKit" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = VizKit; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = VizKit; + productReference = 8D01CCD20486CAD60068D4B7 /* VizKit.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = AC51A92C087DBF37009E663F /* Build configuration list for PBXProject "VizKit" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 089C166AFE841209C02AAC07 /* VizKit */; + projectDirPath = ""; + projectRoot = ..; + targets = ( + 8D01CCC60486CAD60068D4B7 /* VizKit */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ACF08A620B5232D50031A029 /* getLyrics.applescript in Resources */, + ACE0DFA006DBD0A00018E8C0 /* DEVROYE_.otf in Resources */, + 4288C457075A22CF003C29C8 /* VisualOptions.nib in Resources */, + E4D6CC610B9F3A530004750D /* spot.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ACE0DF5F06DBCE730018E8C0 /* BeatlightActor.cpp in Sources */, + ACE0DF6106DBCE730018E8C0 /* CoverArtActor.cpp in Sources */, + ACE0DF6306DBCE730018E8C0 /* ProcessMonitorActor.cpp in Sources */, + ACE0DF6506DBCE730018E8C0 /* TemplateActor.cpp in Sources */, + ACE0DF6706DBCE730018E8C0 /* TrackTitleActor.cpp in Sources */, + ACE0DF6906DBCE730018E8C0 /* VisualAudioLab.cpp in Sources */, + ACE0DF6D06DBCE730018E8C0 /* iTunesAPI.c in Sources */, + ACE0DF7506DBCE730018E8C0 /* VisualColorTools.cpp in Sources */, + ACE0DF7B06DBCE730018E8C0 /* VisualActor.cpp in Sources */, + ACE0DF7F06DBCE730018E8C0 /* VisualDataStore.cpp in Sources */, + ACE0DF8106DBCE730018E8C0 /* VisualDispatch.cpp in Sources */, + ACE0DF8306DBCE730018E8C0 /* VisualEnsemble.cpp in Sources */, + ACE0DF8506DBCE730018E8C0 /* VisualGraphics.cpp in Sources */, + ACE0DF8706DBCE730018E8C0 /* VisualMain.cpp in Sources */, + ACE0DF8906DBCE730018E8C0 /* VisualStageControl.cpp in Sources */, + AC7955E906DBD4D60026F7BA /* Beatlight.cpp in Sources */, + AC7955EB06DBD4D60026F7BA /* CoverArt.cpp in Sources */, + AC7955ED06DBD4D60026F7BA /* ProcessMonitor.cpp in Sources */, + AC7955EF06DBD4D60026F7BA /* TemplateAction.cpp in Sources */, + AC7955F106DBD4D60026F7BA /* TrackTitle.cpp in Sources */, + AC7F531E07255239004BE280 /* OptionsDialog.cpp in Sources */, + AC04E6B707ED8FD000F4479D /* VisualNotification.cpp in Sources */, + 42986573080806B20045411A /* VisualConfiguration.cpp in Sources */, + AC503DCD089C1384008CD23F /* VisualActorGraphics.cpp in Sources */, + AC16F683089EBDDD00C8BC79 /* VisualGraphicTypes.cpp in Sources */, + AC0D105108A0117500EE4F2C /* VisualGraphicsCore.cpp in Sources */, + ACD043240942FEDA00A0CB1D /* VisualPlayerState.cpp in Sources */, + ACDAA940098FFD900067AA4A /* VisualActorState.cpp in Sources */, + AC214F8109FD653700B24379 /* VisualInterpolation.cpp in Sources */, + AC214FFD09FD694000B24379 /* VisualAsset.cpp in Sources */, + AC214FFF09FD694000B24379 /* VisualNurbs.cpp in Sources */, + AC21500109FD694000B24379 /* VisualStageBox.cpp in Sources */, + AC21500309FD694000B24379 /* VisualStagePosition.cpp in Sources */, + AC21500509FD694000B24379 /* VisualTextureContainer.cpp in Sources */, + AC21508C09FD705100B24379 /* CocoaStringTexture.m in Sources */, + AC8E20F20A0944B6000ABA6D /* VisualTimeline.cpp in Sources */, + AC8E20F40A0944B6000ABA6D /* VisualTiming.cpp in Sources */, + AC9CA85F0A11C78C006299D4 /* VisualItemIdentifier.cpp in Sources */, + AC0D4EF20A3BF91F00C3101B /* VisualThreading.cpp in Sources */, + E428E9F20A4EBB010018F704 /* TrackLyricsActor.cpp in Sources */, + E428E9F60A4EBB170018F704 /* TrackLyrics.cpp in Sources */, + E41E1F2F0A6BCBD1004565CB /* VisualString.cpp in Sources */, + AC2E84990A6CEB9F005DFF74 /* VisualAudioMetaData.cpp in Sources */, + AC92E7750A9EDAC200507DCF /* VisualErrorHandling.cpp in Sources */, + ACE30FA90ACE686800EC56B7 /* VisualAnimation.cpp in Sources */, + ACF08A490B5231CA0031A029 /* VisualConvolutionFilter.cpp in Sources */, + ACF08A550B5232490031A029 /* VisualAppleScript.cpp in Sources */, + AC3920610B59705600FEC228 /* VisualImage.cpp in Sources */, + AC48DDB40B87123A0003AF42 /* VisualNotificationQueue.cpp in Sources */, + ACE824410B88AE9400E9028B /* VisualFile.cpp in Sources */, + ACE8D72F0BB27A8500BEBD44 /* VisualStringStyle.cpp in Sources */, + ACE80D2E0BB84B960004DC20 /* VisualSignature.cpp in Sources */, + AC1FB8830BB8F29D001C1810 /* VisualHostCommunication.cpp in Sources */, + E4CF4CC70BDBC199007147F6 /* VisualConfigurationDialog.cpp in Sources */, + ACAB696A0CCF5CA5009ECB49 /* VisualAnimationCluster.cpp in Sources */, + ACAB696C0CCF5CA5009ECB49 /* VisualAnimationComponent.cpp in Sources */, + ACAB696F0CCF5CA5009ECB49 /* VisualAnimationQueue.cpp in Sources */, + ACAB69710CCF5CA5009ECB49 /* VisualAnimationSequence.cpp in Sources */, + ACAB698D0CCF5D13009ECB49 /* VisualCamera.cpp in Sources */, + ACAB69970CCF5D3E009ECB49 /* VisualPreferences.cpp in Sources */, + ACAB6B180CCF8119009ECB49 /* VisualVertex.cpp in Sources */, + AC041FBB0CE44F1000072622 /* VisualProgressIndicator.cpp in Sources */, + AC2EF1F70CE98A0D00220332 /* VisualObject.cpp in Sources */, + AC0F52780CEC315D00191EEA /* VisualStyledString.cpp in Sources */, + AC454CC00D11CF3D002A1428 /* VisualMainAction.cpp in Sources */, + ACD63AEB0D1E792900037877 /* VisualFontManager.cpp in Sources */, + ACAB14730D71F52900610EAE /* VisualQuickTime.cpp in Sources */, + ACB63E980D8C7CCC00F05565 /* VisualNetwork.cpp in Sources */, + ACE437100D91AB7800479608 /* VisualDownloadQueue.cpp in Sources */, + AC19E56B0DB1F4F0005AB92D /* VisualUpdateManager.cpp in Sources */, + AC3EA1620DB3F581001C1A0F /* UpdateServiceActor.cpp in Sources */, + AC42D2810DC4619500FE57BD /* VisualThreadingManager.cpp in Sources */, + AC0DF75D0ECCC48E00462EDC /* VisualHistogram.cpp in Sources */, + AC213CA20F756F5200B58BAB /* VisualObjectData.cpp in Sources */, + ACEE984B0FBD35DD00111B35 /* VisualObjectMutex.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + AC51A929087DBF37009E663F /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(USER_LIBRARY_DIR)/iTunes/iTunes Plug-ins"; + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "TARGET_OS_MAC=1", + "DEBUG=1", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = Bundle; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; + PRODUCT_NAME = VizKit; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wshorten-64-to-32", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Development; + }; + AC51A92A087DBF37009E663F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = "TARGET_OS_MAC=1"; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Bundles"; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = Bundle; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; + PRODUCT_NAME = VizKit; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wshorten-64-to-32", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; + }; + name = Release; + }; + AC51A92D087DBF37009E663F /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_CHAR_IS_UNSIGNED_CHAR = YES; + GCC_VERSION = 4.0; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + MACOSX_DEPLOYMENT_TARGET = 10.4; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + WARNING_CFLAGS = ""; + }; + name = Development; + }; + AC51A92E087DBF37009E663F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_CHAR_IS_UNSIGNED_CHAR = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + MACOSX_DEPLOYMENT_TARGET = 10.4; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + WARNING_CFLAGS = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + AC51A928087DBF37009E663F /* Build configuration list for PBXNativeTarget "VizKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AC51A929087DBF37009E663F /* Development */, + AC51A92A087DBF37009E663F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Development; + }; + AC51A92C087DBF37009E663F /* Build configuration list for PBXProject "VizKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AC51A92D087DBF37009E663F /* Development */, + AC51A92E087DBF37009E663F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Development; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf new file mode 100644 index 0000000000..5226f28f34 Binary files /dev/null and b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf differ diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg new file mode 100644 index 0000000000..f3e8109d5f Binary files /dev/null and b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg differ diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt new file mode 100644 index 0000000000..72791e39f8 --- /dev/null +++ b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt @@ -0,0 +1,22 @@ +Here are the details of the support given in the Devroye Open Type font: + +-Scripts supported: Cyrillic, Greek, and Latin. + +-Languages supported: Cyrillic, Greek, English, Bulgarian, Baltic, Czech, Danish, German, Spanish, Finnish, French, Croatian, Hungarian, Icelandic, Italian, Dutch, Norwegian, Polish, Romanian, Slovenian, Swedish, Turkish, and Vietnamese. + +- Extended Latin A and B glyphs are also included with this version for even wider linguistic support than mentioned above. + +- The following OpenType features are supported within this version, for all the laguages and scripts listed above: +1) Small Caps +2) Caps to Small Caps +3) Oldstyle Figures +4) Standard Ligatures +5) Discretionary Ligatures +6) Historical Forms +7) Stylistic Alternates +8) Kerning +9) Tabular Figures + +- DEVROYE_.OTF contains 711 glyphs, including the Euro in both the Euro and the Currency cells. A Euro symbol substitution for OsF combinations is also included in the Small Caps feature. + +- This font was designed and generated by Apostrophe. It is free for everyone to use personally or commercially, as long as it is not resold. If you have any questions about this, you should email apostrophe@apostrophiclab.com and ask. \ No newline at end of file diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf new file mode 100644 index 0000000000..2e02b541a0 Binary files /dev/null and b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf differ diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt new file mode 100644 index 0000000000..3fb71d631d --- /dev/null +++ b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt @@ -0,0 +1,10 @@ +The fonts included in this package were made in celebration of the honorary doctorate Dr. Luc Devroye recently received in Belgium. Luc was born in Tienen, Belgium. He obtained a Ph.D. degree from the University of Texas in 1976, and since then has been a professor of Computer Science at McGill University in Montreal, Canada. He is also an associate member of the Department of Mathematics and Statistics there. Dr. Devroye is married and has 2 daughters. + +Luc's favourite pastime is the reason we are celebrating with him. Luc is a typography fan, if not THE typography fan. I emphasize this because Luc shares his passion with everyone who is interested, via his site, hosted on McGill University's servers. Luc's site, appropriately named 'On Snot and Fonts' is the proverbial starting point for anything type-related. It gets 12,000 hits a day, has not a single advertisement on it, and accommodates all levels of typographical curiosities. You can visit for yourself at: +http://cgm.cs.mcgill.ca/~luc/fonts.html + +I have known Luc for several years now. I can without hesitation say that the man is my favourite Canadian. + +If you like the fonts included here, pour yourself a glass of wine, lift it up in the air and say: "Here's to you, Luc!" + +' diff --git a/src/projectM-iTunes-VizKit/resources/spot.png b/src/projectM-iTunes-VizKit/resources/spot.png new file mode 100644 index 0000000000..c8eecdc3b1 Binary files /dev/null and b/src/projectM-iTunes-VizKit/resources/spot.png differ diff --git a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp new file mode 100644 index 0000000000..7b457b8f38 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp @@ -0,0 +1,189 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: Beatlight.cpp + * + */ + +/************************************************************************* + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + *************************************************************************/ + + +#include "Beatlight.h" + +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" +#include "VisualCamera.h" +#include "VisualActorGraphics.h" +#include "VisualTiming.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualAnimation.h" +#include "../AudioLab/VisualAudioLab.h" +#include "VisualFile.h" + + +using namespace VizKit; + + +Beatlight::Beatlight() { + VisualImage* spotLightImage = VisualImage::createWithResource(SPOTPNG); + /* + VisualFile testFile; + bool success = testFile.initWithUserDesktopDirectory(); + VisualString fileName("test.png"); + success = testFile.appendFileName(fileName); + VisualImage* spotLightImage = VisualImage::createWithFile(testFile); + */ + beatlightAsset.setImage(*spotLightImage); + delete spotLightImage; + reshape(); + +} + + +void Beatlight::showBeatlight(const bool audioIsPlaying) { + beatlightAsset.draw(this->vertexChainId); +} + + +void Beatlight::applyBehavior() { + VisualAnimation fadeOutAnimation(kAnimatedOpacity); + fadeOutAnimation.setDurationInMilliseconds(500); + fadeOutAnimation.setStartValue(1.0); + fadeOutAnimation.setStopValue(0.0); + this->beatlightAsset.addAnimation(fadeOutAnimation); +} + + +void Beatlight::showBeatMeterLight(const bool audioIsPlaying) { + uint32 elapsedMilliseconds; + uint32 accuElapsedMilliseconds; + static uint32 ageLimit = 500; + uint32 timeToLive; + float lifetimeIntensity; + char info[32]; + VisualAudioLab* theVisualAudioLab; + uint16 maxLifetimeMilliSec = 500; + + theVisualAudioLab = VisualAudioLab::getInstance(); + + //timeStoreIndex = pTiming->storeMyTime("Beatlight"); + //elapsedMilliseconds = pTiming->getMyElapsedMilliseconds(timeStoreIndex); + //accuElapsedMilliseconds += elapsedMilliseconds; + accuElapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("Meterlight"); + + //elapsedMilliseconds = accuElapsedMilliseconds - prevAccuElapsedMilliseconds; + elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceLastCall("Meterlight"); + + + if (theVisualAudioLab->getBeatMeter() == 1) { + ageLimit = maxLifetimeMilliSec; + VisualTiming::resetTimestamp("Meterlight"); + timeToLive = ageLimit; + } else { + if ((ageLimit-elapsedMilliseconds) > 0) { + ageLimit -= elapsedMilliseconds; + timeToLive = ageLimit; + } else { + timeToLive = 0; + } + } + + sprintf(info, "%d", timeToLive); + //setProcessInfo ("beatlightTimeToLive", info); + lifetimeIntensity = ((float)timeToLive / (float)maxLifetimeMilliSec); + if (lifetimeIntensity < 0.5) { + // Minimum an lifetimeIntensity ist 0.5 + // so bleibt das Licht immer etwas an + lifetimeIntensity = 0.5f; + } + + VisualCamera aCamera; + /* + beatlightSpot->xPos = aCamera.getMaxRightCoord() - 0.3f; + beatlightSpot->yPos= aCamera.getMaxTopCoord() - 0.3f; + beatlightSpot->redVal=1.0; + beatlightSpot->greenVal=0.0; + beatlightSpot->blueVal=0.0; + beatlightSpot->ageLimit=1000; + beatlightSpot->age=200; + beatlightSpot->isDead=0; + beatlightSpot->tailSize=0; + beatlightSpot->waveformIntensityVal=80; // 0-100 + beatlightSpot->lifetimeIntensity=lifetimeIntensity; + + VisualActorGraphics::drawSpot(beatlightSpot->xPos, beatlightSpot->yPos, beatlightSpot->redVal, beatlightSpot->greenVal, beatlightSpot->blueVal, beatlightSpot->waveformIntensityVal, beatlightSpot->lifetimeIntensity, beatlightSpot->tailSize); + */ +} + + +void Beatlight::reshape() { + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + this->beatlightAsset.setCamera(aCamera); + + VisualStagePosition beatlightAssetPosition = this->beatlightAsset.getPosition(); + + beatlightAssetPosition.reset(); + + VisualStageBox* beatlightAssetBox = this->beatlightAsset.getBox(); + + //double coordDepth = this->calcCoordDepth(); + + //coverArtAssetPosition.depthAlignment = kDepthCenterAligned; + //coverArtAssetBox->setCoordDepth(coordDepth); + + beatlightAssetPosition.horizontalAlignment = kLeftAligned; + beatlightAssetPosition.verticalAlignment = kBottomAligned; + beatlightAssetPosition.verticalCoordOffset = VisualActorGraphics::yPixelToCoord(220, aCamera); + + this->beatlightAsset.setPosition(beatlightAssetPosition); + + beatlightAssetBox->update(); // VisualStageBox only updates automatically on value changed, after canvas reshape event we have to update manually (before calculating scaleFactor) + beatlightAssetBox->setScalingBehaviour(kPreserveAspectRatio); + + VisualVertex* aVertex = NULL; + + beatlightAssetBox->initializeVertexChain(this->vertexChainId); + + aVertex = beatlightAssetBox->createVertex(0.0, 1.0, 0.5, 0.0, 1.0); + beatlightAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = beatlightAssetBox->createVertex(0.0, 0.0, 0.5, 0.0, 0.0); + beatlightAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = beatlightAssetBox->createVertex(1.0, 0.0, 0.5, 1.0, 0.0); + beatlightAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = beatlightAssetBox->createVertex(1.0, 1.0, 0.5, 1.0, 1.0); + beatlightAssetBox->addVertexToChain(this->vertexChainId, aVertex); + +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h new file mode 100644 index 0000000000..bc361a5d64 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h @@ -0,0 +1,94 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: Beatlight.h + * + */ + +/************************************************************************* + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + *************************************************************************/ + + +#ifndef Beatlight_h +#define Beatlight_h + + +#include "VisualTypes.h" +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" +#include "VisualNotification.h" + + +namespace VizKit { + + /** + * The Beatlight shows a moving point indicating beat impulses. + */ + class Beatlight { + + public: + + /** + * The constructor of the Beatlight action. + */ + Beatlight(); + + /** + * Shows the Beatlight. + * @param audioIsPlaying True if audio is playing, false if not. + */ + void showBeatlight(const bool audioIsPlaying); + + /** + * Shows the BeatMeterLight. + * @param audioIsPlaying True if audio is playing, false if not. + */ + void showBeatMeterLight(const bool audioIsPlaying); + + /** + * Calculates the screen position of the beatlight action. + */ + void reshape(void); + + /** By applying a fade out anmation, the behavior reflects the beat detection. */ + void applyBehavior(void); + + + private: + + /** The asset of the beatlight action (contains texture and position, too). */ + VisualAsset beatlightAsset; + + /** Identifier of the vertex chain (the vertices used for display of the beatlight texture). */ + VisualItemIdentifier vertexChainId; + + }; + +} + +#endif /* Beatlight_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp new file mode 100644 index 0000000000..6d498f6e47 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp @@ -0,0 +1,221 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CoverArt.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "CoverArt.h" +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualDispatch.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualAnimation.h" +#include "VisualTimeline.h" +#include "VisualConvolutionFilter.h" +#include "VisualFile.h" +#include "VisualString.h" +#include "VisualCamera.h" + + + +using namespace VizKit; + + +CoverArt::CoverArt() { + coverArtAsset.setOpacityValue(0.0); +} + + +CoverArt::~CoverArt() { + // null +} + + +void CoverArt::prepareCoverAction() { + VisualActorGraphics::enableDepthTest(); + double distance = this->coverArtAsset.getCamera().getMaxFarPos() - this->coverArtAsset.getCamera().getMaxNearPos(); + double distanceCenter = distance / 2.0 * -1.0; + VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox(); + double stageBoxDepth = coverArtAssetBox->getCoordDepth(); + VisualActorGraphics::translateMatrix(0.0, 0.0, distanceCenter - this->coverArtAsset.getCamera().getMaxNearPos() - (stageBoxDepth / 2.0)); +} + + +void CoverArt::showCover() { + this->coverArtAsset.draw(this->vertexChainId); +} + + +void CoverArt::finishCoverAction() { + VisualActorGraphics::disableDepthTest(); +} + + +void CoverArt::setAlbumCoverArtWorkImage(VisualImage& albumCoverArtworkImage) { + this->coverArtAsset.setImage(albumCoverArtworkImage); +/* + VisualFile aFile; + aFile.initWithUserDesktopDirectory(); + VisualString fileName("testCoverArt.png"); + bool success = false; + success = aFile.appendFileName(fileName); + albumCoverArtworkImage.writeToPNGFile(aFile); +*/ +} + + +void CoverArt::reshape() { + + VisualCamera aCamera; + aCamera.setPerspectiveProjection(3.0); + this->coverArtAsset.setCamera(aCamera); + + VisualStagePosition coverArtAssetPosition = this->coverArtAsset.getPosition(); + + coverArtAssetPosition.reset(); + + VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox(); + + double coordDepth = this->calcCoordDepth(); + + coverArtAssetPosition.depthAlignment = kDepthCenterAligned; + coverArtAssetBox->setCoordDepth(coordDepth); + + coverArtAssetPosition.horizontalAlignment = kCenterAligned; + coverArtAssetPosition.verticalAlignment = kMiddleAligned; + + coverArtAssetPosition.minMarginBottom = (double)VisualDataStore::getValueInt(VisualDataStore::kTrackInfoTextureHeight) + 5.0; + coverArtAssetPosition.minMarginBottomUnit = kPixel; + + coverArtAssetPosition.minMarginTop = 5; + coverArtAssetPosition.minMarginTopUnit = kPixel; + + coverArtAssetPosition.minMarginLeft = 5; + coverArtAssetPosition.minMarginLeftUnit = kPixel; + + coverArtAssetPosition.minMarginRight = 5; + coverArtAssetPosition.minMarginRightUnit = kPixel; + + this->coverArtAsset.setPosition(coverArtAssetPosition); + + coverArtAssetBox->update(); // VisualStageBox only updates automatically on value changed, after canvas reshape event we have to update manually (before calculating scaleFactor) + coverArtAssetBox->setScalingBehaviour(kPreserveAspectRatio); + + VisualVertex* aVertex = NULL; + + coverArtAssetBox->initializeVertexChain(this->vertexChainId); + + aVertex = coverArtAssetBox->createVertex(0.0, 1.0, 0.5, 0.0, 1.0); + coverArtAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = coverArtAssetBox->createVertex(0.0, 0.0, 0.5, 0.0, 0.0); + coverArtAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = coverArtAssetBox->createVertex(1.0, 0.0, 0.5, 1.0, 0.0); + coverArtAssetBox->addVertexToChain(this->vertexChainId, aVertex); + + aVertex = coverArtAssetBox->createVertex(1.0, 1.0, 0.5, 1.0, 1.0); + coverArtAssetBox->addVertexToChain(this->vertexChainId, aVertex); + +} + + +double CoverArt::calcCoordDepth() { + VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox(); + double ratio = 0.0; + VisualCamera aCamera; + aCamera.setPerspectiveProjection(3.0); + CoordSize3D size = aCamera.getSize(); + if (size.width > size.height) { + ratio = coverArtAssetBox->getUnscaledCoordWidth() / size.width; + } else { + ratio = coverArtAssetBox->getUnscaledCoordHeight() / size.height; + } + double zCoordAmount = size.depth; + return zCoordAmount * ratio; +} + + +void CoverArt::fadeIn(uint32 durationInMilliseconds) { + VisualAnimation fadeInAnimation(kAnimatedOpacity); + fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds); + this->coverArtAsset.addAnimation(fadeInAnimation); +} + + +void CoverArt::fadeOut(uint32 durationInMilliseconds, double stopValue) { + double distance = 1.0; + AnimationSpeed animationSpeed = VisualAnimation::calcSpeed(distance, durationInMilliseconds); + VisualAnimation fadeOutAnimation(kAnimatedOpacity); + fadeOutAnimation.setSpeed(animationSpeed); + fadeOutAnimation.setStopValue(stopValue); + this->coverArtAsset.addAnimation(fadeOutAnimation); +} + + +void CoverArt::rotate() { + VisualAnimation rotateAnimation(kAnimatedRotation); + uint32 durationInMilliseconds = 9000; + rotateAnimation.setDurationInMilliseconds(durationInMilliseconds); + rotateAnimation.setLoopMode(kLoop, kInfiniteRepetition); + this->coverArtAsset.addAnimation(rotateAnimation); +} + + +void CoverArt::scaleSize(uint32 durationInMilliseconds, double from, double to) { + VisualAnimation sizeAnimation(kAnimatedSize); + sizeAnimation.setStartValue(from); + sizeAnimation.setStopValue(to); + sizeAnimation.setDurationInMilliseconds(durationInMilliseconds); + this->coverArtAsset.addAnimation(sizeAnimation); +} + + +void CoverArt::clear() { + + VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox(); + + coverArtAssetBox->setContentPixelWidth(0); + coverArtAssetBox->setContentPixelHeight(0); + + VisualStagePosition coverArtAssetPosition = this->coverArtAsset.getPosition(); + coverArtAssetPosition.reset(); + this->coverArtAsset.setPosition(coverArtAssetPosition); + + this->coverArtAsset.removeAnimations(); + + this->coverArtAsset.setOpacityValue(0.0); +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h new file mode 100644 index 0000000000..8dca25125b --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h @@ -0,0 +1,146 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CoverArt.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef CoverArt_h +#define CoverArt_h + +#include "VisualTypes.h" +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" + + +namespace VizKit { + + /** + * The cover artwork image is displayed. + * CoverArt performs the action of the CoverArtActor. + */ + class CoverArt { + + public: + + /** + * The constructor. + */ + CoverArt(); + + /** + * The destructor. + */ + ~CoverArt(); + + /** + * Prepares the action of the cover art. + */ + void prepareCoverAction(void); + + /** + * Shows the cover art. + */ + void showCover(); + + /** + * Finishes the action of the cover art. + */ + void finishCoverAction(void); + + /** + * Sets the image with the artwork of the album cover. + * @param albumCoverArtworkImage The image with the artwork of the album cover. + */ + void setAlbumCoverArtWorkImage(VisualImage& albumCoverArtworkImage); + + /** + * Calculates the screen position of the cover art. + */ + void reshape(void); + + /** + * Starts fading in the texture of the album cover artwork. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + */ + void fadeIn(uint32 durationInMilliseconds); + + /** + * Starts fading out the texture of the album cover artwork. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + * @param stopValue The stop value of the fade out process (default = 0.0). + */ + void fadeOut(uint32 durationInMilliseconds, double stopValue = 0.0); + + /** + * Starts rotating the texture of the album cover artwork. + */ + void rotate(void); + + /** + * Calculates the coord depth. + */ + double calcCoordDepth(void); + + /** + * Scales the cover art by multiplying with the provided scaleFactor. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + * @param from The start scale factor of the animation. + * @param to The end scale factor of the animation. + */ + void scaleSize(uint32 durationInMilliseconds, double from, double to); + + /** + * Clears the memory allocated for the album cover artwork. + */ + void clear(void); + + private: + + /** The asset of the cover art (contains texture and position, too). */ + VisualAsset coverArtAsset; + + /** Identifier of the vertex chain (the vertices used for display of the album cover artwork texture). */ + VisualItemIdentifier vertexChainId; + + /** + * Returns the scale factor of the box. + * @return The scale factor of the box. + * @remarks The dimension of the stage box has to take into account the rotation and screen constraints. + * On front view the rotating bitmap should have the same dimensions on screen as in 2-D world but available canvas space must not be exceeded. + */ + //double getBoxScaleFactor(void); + + }; + +} + +#endif /* CoverArt_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp new file mode 100644 index 0000000000..87d18b7be5 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp @@ -0,0 +1,551 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: ProcessMonitor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "ProcessMonitor.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" +#include "VisualAudioLab.h" +#include "VisualGraphicTypes.h" +#include "VisualVertex.h" +#include "VisualAsset.h" +#include "VisualCamera.h" + +using namespace VizKit; + + +ProcessMonitor::ProcessMonitor() { + processMonitorAsset = new VisualAsset; + setupProgressMeterVertices(); +} + + +ProcessMonitor::~ProcessMonitor() { + cleanupProgressMeterVertices(); + delete processMonitorAsset; +} + + +void ProcessMonitor::prepareProcessMonitorShow() { + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + processMonitorAsset->setCamera(aCamera); + RGBAColor theColor; + theColor.r = 0.0; + theColor.g = 1.0; + theColor.b = 0.0; + theColor.a = 1.0; + VisualActorGraphics::prepareProcessMonitorShow(theColor); +} + + +void ProcessMonitor::showInfoStrings() { + + ProcessInfoMapIterator it; + + char finalTextString[255]; + double yNum; + double xNum; + uint8 charCountMax = 0; // in one line per column + double rowHeight, characterWidth; + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + CoordSize3D size = aCamera.getSize(); + rowHeight = size.height * (15.0f / VisualActorGraphics::getCanvasPixelHeight()); + characterWidth = size.width * (9.0f / VisualActorGraphics::getCanvasPixelWidth()); + + xNum = aCamera.getMaxLeftCoord() + characterWidth; + yNum = aCamera.getMaxTopCoord(); + + Coord coord; + + for (it = this->processInfoMap.begin(); it != this->processInfoMap.end(); it++) { + + yNum = yNum - rowHeight; + if ((yNum - rowHeight) < aCamera.getMaxBottomCoord()) { + // we reached the bottom -> go to next column to the right + yNum = aCamera.getMaxTopCoord() - rowHeight; + xNum = xNum + characterWidth + (charCountMax * characterWidth); + charCountMax = 0; + } + strcpy (finalTextString, (*it).first.c_str()); + strcat (finalTextString, ": "); + strcat (finalTextString, (*it).second.c_str()); + if (strlen(finalTextString) > charCountMax) { + charCountMax = strlen(finalTextString); + } + coord.x = xNum; + coord.y = yNum; + coord.z = 0.0; + VisualActorGraphics::showProcessInfoRow(coord, finalTextString); // constant height of font + + } + + VisualActorGraphics::showProcessInfoNote(); + +} + + +void ProcessMonitor::showAudioInfo(const uint32 elapsedAudioTime, const uint32 remainingAudioTime) { + + VisualAudioLab* theVisualAudioLab; + + uint16 numberOfAudioDataChannels; + uint32 numberOfSpectrumEntries; + uint16 maxNumberOfMusicDataHistories; + + const sint16** waveformDataMonoArray; + sint16 currMusicDataHistory; + uint16 prevMusicDataHistory; + uint32 numberOfWaveformEntries; + + const uint8*** spectrumDataArray; + //const uint32* beatHistogram; + + theVisualAudioLab = VisualAudioLab::getInstance(); + + currMusicDataHistory = theVisualAudioLab->getCurrMusicDataHistory(); + prevMusicDataHistory = theVisualAudioLab->getPrevMusicDataHistory(); + numberOfWaveformEntries = theVisualAudioLab->getNumberOfWaveformEntries(); + maxNumberOfMusicDataHistories = theVisualAudioLab->getMaxNumberOfMusicDataHistories(); + waveformDataMonoArray = theVisualAudioLab->getWaveformDataMonoArray(); + + numberOfAudioDataChannels = theVisualAudioLab->getNumberOfDataChannels(); + numberOfSpectrumEntries = theVisualAudioLab->getNumberOfSpectrumEntries(); + spectrumDataArray = theVisualAudioLab->getSpectrumDataArray(); + + VisualActorGraphics::drawWaveform(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfWaveformEntries, waveformDataMonoArray, processMonitorAsset->getCamera()); + VisualActorGraphics::resetModelViewMatrix(); + + //theVisualGraphics->drawWaveform(currMusicDataHistory, 1, numberOfWaveformEntries, waveformDataMonoArray); + VisualActorGraphics::drawSpectrumAnalyzer(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfSpectrumEntries, numberOfAudioDataChannels, spectrumDataArray, processMonitorAsset->getCamera()); + VisualActorGraphics::resetModelViewMatrix(); + VisualActorGraphics::drawSpectrogram(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfSpectrumEntries, numberOfAudioDataChannels, spectrumDataArray, processMonitorAsset->getCamera()); + VisualActorGraphics::resetModelViewMatrix(); + + //theVisualGraphics->drawWaveformSpiral(currMusicDataHistory, numberOfWaveformEntries, waveformDataMonoArray); + //beatHistogram = theVisualAudioLab->getBeatHistogram(); + //VisualActorGraphics::drawBeatHistogram(beatHistogram, processMonitorAsset->getCamera()); + //VisualActorGraphics::drawTrackProgressMeter(elapsedAudioTime, remainingAudioTime); + + //this->updateProgressMeterVertices(); + this->calcTrackProgressMeterVertices(elapsedAudioTime, remainingAudioTime); + VisualActorGraphics::drawTrackProgressMeter(&this->progressMeterBackgroundVertices, &this->progressMeterVertices, &this->progressMeterOutlineVertices); + +} + + +void ProcessMonitor::registerProcessMonitorInfoMap(const std::map* const processMonitorInfoMap) { + this->processInfoMap = *processMonitorInfoMap; +} + + +void ProcessMonitor::finishProcessMonitorShow() { + // null +} + + +void ProcessMonitor::updateProgressMeterVertices() { + + double topPos, leftPos, bottomPos, rightPos, rightProgressPos; + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + topPos = aCamera.getMaxBottomCoord() + VisualActorGraphics::yPixelToCoord(10, aCamera); + leftPos = aCamera.getMaxLeftCoord(); + bottomPos = aCamera.getMaxBottomCoord(); + rightPos = aCamera.getMaxRightCoord(); + rightProgressPos = aCamera.getMaxLeftCoord(); + RGBAColor backgroundColor = VisualActorGraphics::getBackgroundColor(); + + progressMeterBackgroundVertices[0]->vertexPosition.coord.x = leftPos; + progressMeterBackgroundVertices[0]->vertexPosition.coord.y = bottomPos; + progressMeterBackgroundVertices[0]->vertexPosition.coord.z = 0.0f; + progressMeterBackgroundVertices[0]->vertexColor.r = backgroundColor.r; + progressMeterBackgroundVertices[0]->vertexColor.g = backgroundColor.g; + progressMeterBackgroundVertices[0]->vertexColor.b = backgroundColor.b; + progressMeterBackgroundVertices[0]->vertexColor.a = backgroundColor.a; + + progressMeterBackgroundVertices[1]->vertexPosition.coord.x = rightPos; + progressMeterBackgroundVertices[1]->vertexPosition.coord.y = bottomPos; + progressMeterBackgroundVertices[1]->vertexPosition.coord.z = 0.0f; + progressMeterBackgroundVertices[1]->vertexColor.r = backgroundColor.r; + progressMeterBackgroundVertices[1]->vertexColor.g = backgroundColor.g; + progressMeterBackgroundVertices[1]->vertexColor.b = backgroundColor.b; + progressMeterBackgroundVertices[1]->vertexColor.a = backgroundColor.a; + + progressMeterBackgroundVertices[2]->vertexPosition.coord.x = rightPos; + progressMeterBackgroundVertices[2]->vertexPosition.coord.y = topPos; + progressMeterBackgroundVertices[2]->vertexPosition.coord.z = 0.0f; + progressMeterBackgroundVertices[2]->vertexColor.r = backgroundColor.r; + progressMeterBackgroundVertices[2]->vertexColor.g = backgroundColor.g; + progressMeterBackgroundVertices[2]->vertexColor.b = backgroundColor.b; + progressMeterBackgroundVertices[2]->vertexColor.a = backgroundColor.a; + + progressMeterBackgroundVertices[3]->vertexPosition.coord.x = leftPos; + progressMeterBackgroundVertices[3]->vertexPosition.coord.y = topPos; + progressMeterBackgroundVertices[3]->vertexPosition.coord.z = 0.0f; + progressMeterBackgroundVertices[3]->vertexColor.r = backgroundColor.r; + progressMeterBackgroundVertices[3]->vertexColor.g = backgroundColor.g; + progressMeterBackgroundVertices[3]->vertexColor.b = backgroundColor.b; + progressMeterBackgroundVertices[3]->vertexColor.a = backgroundColor.a; + + progressMeterVertices[0]->vertexPosition.coord.x = leftPos; + progressMeterVertices[0]->vertexPosition.coord.y = bottomPos; + progressMeterVertices[0]->vertexPosition.coord.z = 0.0f; + progressMeterVertices[0]->vertexColor.r = 1.0f; + progressMeterVertices[0]->vertexColor.g = 1.0f; + progressMeterVertices[0]->vertexColor.b = 1.0f; + progressMeterVertices[0]->vertexColor.a = 1.0f; + + progressMeterVertices[1]->vertexPosition.coord.x = rightProgressPos; + progressMeterVertices[1]->vertexPosition.coord.y = bottomPos; + progressMeterVertices[1]->vertexPosition.coord.z = 0.0f; + progressMeterVertices[1]->vertexColor.r = 1.0f; + progressMeterVertices[1]->vertexColor.g = 1.0f; + progressMeterVertices[1]->vertexColor.b = 1.0f; + progressMeterVertices[1]->vertexColor.a = 1.0f; + + progressMeterVertices[2]->vertexPosition.coord.x = rightProgressPos; + progressMeterVertices[2]->vertexPosition.coord.y = topPos; + progressMeterVertices[2]->vertexPosition.coord.z = 0.0f; + progressMeterVertices[2]->vertexColor.r = 1.0f; + progressMeterVertices[2]->vertexColor.g = 1.0f; + progressMeterVertices[2]->vertexColor.b = 1.0f; + progressMeterVertices[2]->vertexColor.a = 1.0f; + + progressMeterVertices[3]->vertexPosition.coord.x = leftPos; + progressMeterVertices[3]->vertexPosition.coord.y = topPos; + progressMeterVertices[3]->vertexPosition.coord.z = 0.0f; + progressMeterVertices[3]->vertexColor.r = 1.0f; + progressMeterVertices[3]->vertexColor.g = 1.0f; + progressMeterVertices[3]->vertexColor.b = 1.0f; + progressMeterVertices[3]->vertexColor.a = 1.0f; + + progressMeterOutlineVertices[0]->vertexPosition.coord.x = leftPos; + progressMeterOutlineVertices[0]->vertexPosition.coord.y = bottomPos; + progressMeterOutlineVertices[0]->vertexPosition.coord.z = 0.0f; + /* + progressMeterOutlineVertices[0]->vertexColor.r = 0.0f; + progressMeterOutlineVertices[0]->vertexColor.g = 0.0f; + progressMeterOutlineVertices[0]->vertexColor.b = 0.0f; + progressMeterOutlineVertices[0]->vertexColor.a = 1.0f; + */ + + + progressMeterOutlineVertices[1]->vertexPosition.coord.x = rightPos; + progressMeterOutlineVertices[1]->vertexPosition.coord.y = bottomPos; + progressMeterOutlineVertices[1]->vertexPosition.coord.z = 0.0f; + /* + progressMeterOutlineVertices[1]->vertexColor.r = 0.0f; + progressMeterOutlineVertices[1]->vertexColor.g = 0.0f; + progressMeterOutlineVertices[1]->vertexColor.b = 0.0f; + progressMeterOutlineVertices[1]->vertexColor.a = 1.0f; + */ + + progressMeterOutlineVertices[2]->vertexPosition.coord.x = rightPos; + progressMeterOutlineVertices[2]->vertexPosition.coord.y = topPos; + progressMeterOutlineVertices[2]->vertexPosition.coord.z = 0.0f; + /* + progressMeterOutlineVertices[2]->vertexColor.r = 0.0f; + progressMeterOutlineVertices[2]->vertexColor.g = 0.0f; + progressMeterOutlineVertices[2]->vertexColor.b = 0.0f; + progressMeterOutlineVertices[2]->vertexColor.a = 1.0f; + */ + + progressMeterOutlineVertices[3]->vertexPosition.coord.x = leftPos; + progressMeterOutlineVertices[3]->vertexPosition.coord.y = topPos; + progressMeterOutlineVertices[3]->vertexPosition.coord.z = 0.0f; + /* + progressMeterOutlineVertices[3]->vertexColor.r = 0.0f; + progressMeterOutlineVertices[3]->vertexColor.g = 0.0f; + progressMeterOutlineVertices[3]->vertexColor.b = 0.0f; + progressMeterOutlineVertices[3]->vertexColor.a = 1.0f; + */ +} + + +void ProcessMonitor::setupProgressMeterVertices() { + + VisualVertex* aVertex; + double topPos; + double leftPos; + double bottomPos; + double rightPos; + double rightProgressPos; + RGBAColor backgroundColor; + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + topPos = aCamera.getMaxBottomCoord() + VisualActorGraphics::yPixelToCoord(10, aCamera); + leftPos = aCamera.getMaxLeftCoord(); + bottomPos = aCamera.getMaxBottomCoord(); + rightPos = aCamera.getMaxRightCoord(); + rightProgressPos = aCamera.getMaxLeftCoord(); + backgroundColor = VisualActorGraphics::getBackgroundColor(); + + Coord coordPoint; + coordPoint.x = leftPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, bottomPos, 0.0, backgroundColor); + aVertex = new VisualVertex(coordPoint, backgroundColor); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = backgroundColor.r; + aVertex->vertexColor.g = backgroundColor.g; + aVertex->vertexColor.b = backgroundColor.b; + aVertex->vertexColor.a = backgroundColor.a; + */ + progressMeterBackgroundVertices.push_back(aVertex); + + coordPoint.x = rightPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightPos, bottomPos, 0.0, backgroundColor); + aVertex = new VisualVertex(coordPoint, backgroundColor); + /* + aVertex->vertexPosition.coord.x = rightPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = backgroundColor.r; + aVertex->vertexColor.g = backgroundColor.g; + aVertex->vertexColor.b = backgroundColor.b; + aVertex->vertexColor.a = backgroundColor.a; + */ + progressMeterBackgroundVertices.push_back(aVertex); + + coordPoint.x = rightPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightPos, topPos, 0.0, backgroundColor); + aVertex = new VisualVertex(coordPoint, backgroundColor); + /* + aVertex->vertexPosition.coord.x = rightPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = backgroundColor.r; + aVertex->vertexColor.g = backgroundColor.g; + aVertex->vertexColor.b = backgroundColor.b; + aVertex->vertexColor.a = backgroundColor.a; + */ + progressMeterBackgroundVertices.push_back(aVertex); + + coordPoint.x = leftPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, topPos, 0.0, backgroundColor); + aVertex = new VisualVertex(coordPoint, backgroundColor); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = backgroundColor.r; + aVertex->vertexColor.g = backgroundColor.g; + aVertex->vertexColor.b = backgroundColor.b; + aVertex->vertexColor.a = backgroundColor.a; + */ + progressMeterBackgroundVertices.push_back(aVertex); + + coordPoint.x = leftPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, bottomPos, 0.0, white); + aVertex = new VisualVertex(coordPoint, white); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 1.0f; + aVertex->vertexColor.g = 1.0f; + aVertex->vertexColor.b = 1.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterVertices.push_back(aVertex); + + coordPoint.x = rightProgressPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightProgressPos, bottomPos, 0.0, white); + aVertex = new VisualVertex(coordPoint, white); + /* + aVertex->vertexPosition.coord.x = rightProgressPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 1.0f; + aVertex->vertexColor.g = 1.0f; + aVertex->vertexColor.b = 1.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterVertices.push_back(aVertex); + + coordPoint.x = rightProgressPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightProgressPos, topPos, 0.0, white); + aVertex = new VisualVertex(coordPoint, white); + /* + aVertex->vertexPosition.coord.x = rightProgressPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 1.0f; + aVertex->vertexColor.g = 1.0f; + aVertex->vertexColor.b = 1.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterVertices.push_back(aVertex); + + coordPoint.x = rightProgressPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, topPos, 0.0, white); + aVertex = new VisualVertex(coordPoint, white); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 1.0f; + aVertex->vertexColor.g = 1.0f; + aVertex->vertexColor.b = 1.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterVertices.push_back(aVertex); + + coordPoint.x = leftPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, bottomPos, 0.0, black); + //aVertex = new VisualVertex(coordPoint, black); + aVertex = new VisualVertex(coordPoint); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 0.0f; + aVertex->vertexColor.g = 0.0f; + aVertex->vertexColor.b = 0.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterOutlineVertices.push_back(aVertex); + + coordPoint.x = rightPos; + coordPoint.y = bottomPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightPos, bottomPos, 0.0, black); + //aVertex = new VisualVertex(coordPoint, black); + aVertex = new VisualVertex(coordPoint); + /* + aVertex->vertexPosition.coord.x = rightPos; + aVertex->vertexPosition.coord.y = bottomPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 0.0f; + aVertex->vertexColor.g = 0.0f; + aVertex->vertexColor.b = 0.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterOutlineVertices.push_back(aVertex); + + coordPoint.x = rightPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(rightPos, topPos, 0.0, black); + //aVertex = new VisualVertex(coordPoint, black); + aVertex = new VisualVertex(coordPoint); + /* + aVertex->vertexPosition.coord.x = rightPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 0.0f; + aVertex->vertexColor.g = 0.0f; + aVertex->vertexColor.b = 0.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterOutlineVertices.push_back(aVertex); + + coordPoint.x = leftPos; + coordPoint.y = topPos; + coordPoint.z = 0.0; + //aVertex = new VisualVertex(leftPos, topPos, 0.0, black); + //aVertex = new VisualVertex(coordPoint, black); + aVertex = new VisualVertex(coordPoint); + /* + aVertex->vertexPosition.coord.x = leftPos; + aVertex->vertexPosition.coord.y = topPos; + aVertex->vertexPosition.coord.z = 0.0f; + aVertex->vertexColor.r = 0.0f; + aVertex->vertexColor.g = 0.0f; + aVertex->vertexColor.b = 0.0f; + aVertex->vertexColor.a = 1.0f; + */ + progressMeterOutlineVertices.push_back(aVertex); + +} + + +void ProcessMonitor::calcTrackProgressMeterVertices(const uint32 elapsedAudioTime, const uint32 remainingAudioTime) { + double rightProgressPos; + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + rightProgressPos = aCamera.getMaxLeftCoord() + ((aCamera.getMaxRightCoord() - aCamera.getMaxLeftCoord()) * ((float)elapsedAudioTime / (float)(remainingAudioTime + elapsedAudioTime))); + + this->progressMeterVertices[1]->vertexPosition.coord.x = rightProgressPos; + this->progressMeterVertices[2]->vertexPosition.coord.x = rightProgressPos; + +} + + +void ProcessMonitor::cleanupProgressMeterVertices() { + VertexChainIterator it; + for (it = progressMeterBackgroundVertices.begin(); it != progressMeterBackgroundVertices.end(); it++) { + delete *it; + *it = NULL; + } + progressMeterBackgroundVertices.clear(); + + for (it = progressMeterVertices.begin(); it != progressMeterVertices.end(); it++) { + delete *it; + *it = NULL; + } + progressMeterVertices.clear(); + + for (it = progressMeterOutlineVertices.begin(); it != progressMeterOutlineVertices.end(); it++) { + delete *it; + *it = NULL; + } + progressMeterOutlineVertices.clear(); +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h new file mode 100644 index 0000000000..c99b4c0dd3 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h @@ -0,0 +1,146 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: ProcessMonitor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef ProcessMonitor_h +#define ProcessMonitor_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#include +#include + + +namespace VizKit { + + class VisualAsset; // Forward declaration (to avoid include of header file). + + /** + * Shows some information on screen for diagnostical and monitoring purposes. + * ProcessMonitor performs the action of the ProcessMonitorActor. + */ + + class ProcessMonitor { + + public: + + /** + * The constructor. + */ + ProcessMonitor(); + + /** + * The destructor. + */ + ~ProcessMonitor(); + + /** + * Prepares the show of the ProcessMonitor. + */ + void prepareProcessMonitorShow(void); + + /** + * Shows the info strings of the process monitor. + */ + void showInfoStrings(void); + + /** + * Shows diagnostic info about audio data (waveform and spectrum). + * @param elapsedAudioTime The elapsed time of the current track in milliseconds. 0 if no time value is available. + * @param remainingAudioTime The remaining time of the current track in milliseconds. 0 if no time value is available. + */ + void showAudioInfo(const uint32 elapsedAudioTime, const uint32 remainingAudioTime); + + /** + * The processMonitorInfoMap is registered. + * @param processMonitorInfoMap All associative key-value-pairs of the process monitor info map. + */ + void registerProcessMonitorInfoMap(const std::map* const processMonitorInfoMap); + + /** + * Finishes the ProcessMonitor. + */ + void finishProcessMonitorShow(void); + + /** + * Updates the vertices of the components of the trackProgressMeter (e.g. after a reshape of the canvas). + */ + void updateProgressMeterVertices(void); + + private: + + /** + * Sets up the vertices of the components of the trackProgressMeter. + */ + void setupProgressMeterVertices(void); + + /** + * Calculates the vertices of the components of the trackProgressMeter. + */ + void calcTrackProgressMeterVertices(const uint32 elapsedAudioTime, const uint32 remainingAudioTime); + + /** + * Cleans up the memory allocated for the vertices of the components of the trackProgressMeter. + */ + void cleanupProgressMeterVertices(void); + + /** The ProcessInfoMap is a map of the process monitor info key-value-pairs. */ + typedef std::map ProcessInfoMap; + + /** The map of the process monitor info key-value-pairs. */ + ProcessInfoMap processInfoMap; + + /** The ProcessInfoMapIterator is an iterator of the ProcessInfoMap. */ + typedef ProcessInfoMap::iterator ProcessInfoMapIterator; + + /** Vertices of background of progress meter. */ + VertexChain progressMeterBackgroundVertices; + + /** Vertices of progress meter. */ + VertexChain progressMeterVertices; + + /** Vertices of outline of progress meter. */ + VertexChain progressMeterOutlineVertices; + + /** Asset of the process monitor. */ + VisualAsset* processMonitorAsset; + + }; + +} + + +#endif /* ProcessMonitor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp new file mode 100644 index 0000000000..84cd4b7e80 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp @@ -0,0 +1,120 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TemplateAction.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TemplateAction.h" +#include "VisualActorGraphics.h" +#include "VisualColorTools.h" +#include "VisualAsset.h" +#include "VisualCamera.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualTextureContainer.h" +#include "VisualAnimationPackage.h" + +using namespace VizKit; + + +TemplateAction::TemplateAction() { + + templateAsset = new VisualAsset; + testAsset = new VisualAsset; + + uint32 width = 256; + uint32 height = 256; + uint32* argbPixels = VisualColorTools::createARGBCheckPixels(width, height); + + VisualImage* anImage = VisualImage::createWithARGBPixelData(argbPixels, width, height); + + free(argbPixels); + argbPixels = NULL; + + VisualCamera aCamera; + aCamera.setPerspectiveProjection(3.0); + //aCamera.setOrthographicProjection(); + templateAsset->setCamera(aCamera); + + templateAsset->setImage(*anImage); + delete anImage; + + VisualStageBox* templateAssetBox = templateAsset->getBox(); + + //templateAsset->setDebugMode(true); + + + templateAssetBox->initializeVertexChain(vertexChainId); + + VisualVertex* aVertex = NULL; + aVertex = templateAssetBox->createVertex(0.0, 0.0, 1.0, 0.0, 1.0); + templateAssetBox->addVertexToChain(vertexChainId, aVertex); + + aVertex = templateAssetBox->createVertex(0.0, 0.0, 0.0, 0.0, 0.0); + templateAssetBox->addVertexToChain(vertexChainId, aVertex); + + aVertex = templateAssetBox->createVertex(1.0, 0.0, 0.0, 1.0, 0.0); + templateAssetBox->addVertexToChain(vertexChainId, aVertex); + + aVertex = templateAssetBox->createVertex(1.0, 0.0, 1.0, 1.0, 1.0); + templateAssetBox->addVertexToChain(vertexChainId, aVertex); + + VisualStagePosition testAssetPosition = this->testAsset->getPosition(); + testAssetPosition.horizontalAlignment = kRightAligned; + this->testAsset->setPosition(testAssetPosition); +} + + +TemplateAction::~TemplateAction() { + delete templateAsset; +} + + +void TemplateAction::setImage(const VisualImage& anImage) { + testAsset->setImage(anImage); +} + + +void TemplateAction::removeImage() { + testAsset->removeImage(); +} + + +void TemplateAction::show() { + //VisualActorGraphics::translateMatrix(0.0, 0.0, -3.0); + + templateAsset->draw(); + VisualActorGraphics::drawProjectionMetrics(templateAsset->getCamera()); + if (testAsset->hasImage()) { + testAsset->draw(); + } +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h new file mode 100644 index 0000000000..eb07bfdc85 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h @@ -0,0 +1,107 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TemplateAction.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TemplateAction_h +#define TemplateAction_h + + +#include "VisualTypes.h" +#include "VisualItemIdentifier.h" + + +namespace VizKit { + + class VisualAsset; // Forward declaration (to avoid include of header file). + class VisualImage; // Forward declaration (to avoid include of header file). + + /** + * Performs the action of the TemplateActor. + * A copy of header and implementation file can be made + * to add to a new concrete subclass of VisualActor. + * The example implementation of the TemplateAction can be used + * to get a feeling for working with the perspective projection of OpenGL. + */ + class TemplateAction { + + public: + + /** + * The constructor. + */ + TemplateAction(); + + /** + * The destructor. + */ + ~TemplateAction(); + + /** + * Shows the TemplateAction. + */ + void show(void); + + /** + * Sets the image of TemplateAction's testAsset. + * @param anImage The image of the template. + */ + void setImage(const VisualImage& anImage); + + /** + * Removes the image of TemplateAction's testAsset. + */ + void removeImage(void); + + private: + + /** + * Asset of the TemplateAction for visualization of spatial layout. + */ + VisualAsset* templateAsset; + + /** + * An asset for testing. + */ + VisualAsset* testAsset; + + /** + * The vertex chain of the TemplateAction's asset. + */ + VisualItemIdentifier vertexChainId; + + }; + +} + +#endif /* TemplateAction_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp new file mode 100644 index 0000000000..a17981797e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp @@ -0,0 +1,248 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackLyrics.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TrackLyrics.h" +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualDispatch.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualStyledString.h" +#include "VisualAnimation.h" +#include "VisualTimeline.h" + +#include "VisualFile.h" // test + + +using namespace VizKit; + + +TrackLyrics::TrackLyrics() { + trackLyricsAsset.setOpacityValue(0.0); +} + + +TrackLyrics::~TrackLyrics() { + // NULL +} + + +void TrackLyrics::show() { + this->trackLyricsAsset.draw(this->vertexChainId); +} + + +VisualStringStyle TrackLyrics::getTrackLyricsStringStyle() { + + VisualStringStyle stringStyle; + + VisualPreferences::getValue(VisualPreferences::kTrackLyricsFont, stringStyle.fontNameStr); + + stringStyle.fontSize = (float)(VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontSize)); + + stringStyle.fontColor.r = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorRedFloat); + stringStyle.fontColor.g = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorGreenFloat); + stringStyle.fontColor.b = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorBlueFloat); + stringStyle.fontColor.red = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorRedFloat); + stringStyle.fontColor.green = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorGreenFloat); + stringStyle.fontColor.blue = VisualPreferences::getValue(VisualPreferences::kTrackLyricsFontColorBlueFloat); + + stringStyle.horizontalAlignment = kLeftAligned; + + return stringStyle; +} + + +void TrackLyrics::setTrackLyricsImage(VisualImage& styledTrackLyricsStringImage) { + + // test + /* + VisualFile testFile; + bool success = testFile.initWithUserDesktopDirectory(); + VisualString fileName("testDaten.txt"); + success = testFile.appendFileName(fileName); + VisualString testString; + testString.initWithContentsOfFile(testFile); + bool success = lyricsImage.initWithString(testString, stringStyle); + */ + // test + + this->clear(); + this->trackLyricsAsset.setImage(styledTrackLyricsStringImage); + +/* + VisualFile aFile; + aFile.initWithUserDesktopDirectory(); + VisualString fileName("testLyrics.png"); + bool success = false; + success = aFile.appendFileName(fileName); + styledTrackLyricsStringImage.writeToPNGFile(aFile); +*/ +} + + +void TrackLyrics::reshape() { + + VisualStageBox* trackLyricsAssetBox = this->trackLyricsAsset.getBox(); + trackLyricsAssetBox->setScalingBehaviour(kPreserveAspectRatio); + + VisualStagePosition trackLyricsAssetPosition = this->trackLyricsAsset.getPosition(); + + trackLyricsAssetPosition.reset(); + + trackLyricsAssetPosition.horizontalAlignment = kCenterAligned; + trackLyricsAssetPosition.verticalAlignment = kTopAligned; + + trackLyricsAssetPosition.minMarginBottom = (double)VisualDataStore::getValueInt(VisualDataStore::kTrackInfoTextureHeight) + 5.0; + trackLyricsAssetPosition.minMarginBottomUnit = kPixel; + + trackLyricsAssetPosition.minMarginTop = 5; + trackLyricsAssetPosition.minMarginTopUnit = kPixel; + + trackLyricsAssetPosition.minMarginLeft = 5; + trackLyricsAssetPosition.minMarginLeftUnit = kPixel; + + trackLyricsAssetPosition.minMarginRight = 5; + trackLyricsAssetPosition.minMarginRightUnit = kPixel; + + this->trackLyricsAsset.setPosition(trackLyricsAssetPosition); + + VisualVertex* aVertex = NULL; + trackLyricsAssetBox->initializeVertexChain(this->vertexChainId); + + VertexColor aVertexColor; + for (uint8 i = 0; i < 4; i++) { + switch (i) { + case 0: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopLeftRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopLeftGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopLeftBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopLeftAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackLyricsAssetBox->createVertex(0.0, 1.0, 0.0, 0.0, 1.0, aVertexColor); + trackLyricsAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 1: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomLeftRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomLeftGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomLeftBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomLeftAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackLyricsAssetBox->createVertex(0.0, 0.0, 0.0, 0.0, 0.0, aVertexColor); + trackLyricsAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 2: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomRightRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomRightGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomRightBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorBottomRightAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackLyricsAssetBox->createVertex(1.0, 0.0, 0.0, 1.0, 0.0, aVertexColor); + trackLyricsAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 3: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopRightRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopRightGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopRightBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackLyricsTextureColorTopRightAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackLyricsAssetBox->createVertex(1.0, 1.0, 0.0, 1.0, 1.0, aVertexColor); + trackLyricsAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + default: + writeLog("ERR: switch case unknown"); + } + } + + char trackLyricsLayoutPos[128]; + sprintf(trackLyricsLayoutPos, "trackLyrics top: %f, left: %f, bottom: %f, right: %f", trackLyricsAssetBox->getTopCoord(), trackLyricsAssetBox->getLeftCoord(), trackLyricsAssetBox->getBottomCoord(), trackLyricsAssetBox->getRightCoord()); + setProcessInfo("TrackLyricsLayout", trackLyricsLayoutPos); + +} + + +void TrackLyrics::fadeIn(uint32 durationInMilliseconds) { + VisualAnimation fadeInAnimation(kAnimatedOpacity); + fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds); + this->trackLyricsAsset.addAnimation(fadeInAnimation); +} + + +void TrackLyrics::fadeOut(uint32 durationInMilliseconds, float clampValue) { + VisualAnimation fadeOutAnimation(kAnimatedOpacity); + fadeOutAnimation.setDurationInMilliseconds(durationInMilliseconds); + fadeOutAnimation.setStartValue(1.0); + fadeOutAnimation.setStopValue(0.0); + //VisualTimeline* fadeOutTimeline = fadeOutAnimation.getTimeline(); + //fadeOutTimeline->setInterpolationType(kSinusoidalInterpolation); + if (clampValue > 0.0) { + //fadeOutAnimation.setMinClampValue(clampValue); + } + this->trackLyricsAsset.addAnimation(fadeOutAnimation); +} + + +void TrackLyrics::clear() { + + //this->trackLyricsAsset.disposeTextureData(); + + VisualStageBox* trackLyricsAssetBox = this->trackLyricsAsset.getBox(); + + trackLyricsAssetBox->setContentPixelWidth(0); + trackLyricsAssetBox->setContentPixelHeight(0); + + VisualStagePosition trackLyricsAssetPosition = this->trackLyricsAsset.getPosition(); + trackLyricsAssetPosition.reset(); + this->trackLyricsAsset.setPosition(trackLyricsAssetPosition); + + this->trackLyricsAsset.removeAnimations(); + + this->trackLyricsAsset.setOpacityValue(0.0); +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h new file mode 100644 index 0000000000..df4ef7c4cd --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h @@ -0,0 +1,120 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackLyrics.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TrackLyrics_h +#define TrackLyrics_h + + +#include "VisualTypes.h" +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" +#include "VisualStringStyle.h" + + +namespace VizKit { + + class VisualString; // Forward declaration (to avoid include of header file). + + /** + * Shows the lyrics of the current audio track. + * TrackLyrics performs the action of the TrackLyricsActor. + */ + class TrackLyrics { + + public: + + /** + * The constructor. + */ + TrackLyrics(); + + /** + * The destructor. + */ + ~TrackLyrics(); + + /** + * Shows the track lyrics action. + */ + void show(void); + + /** + * Returns the current string style of the track lyrics string. + * @return The current string style of the track lyrics string. + */ + VisualStringStyle getTrackLyricsStringStyle(void); + + /** + * Sets the image with the track lyrics string. + * @param styledTrackLyricsStringImage The image with the track lyrics string. + */ + void setTrackLyricsImage(VisualImage& styledTrackLyricsStringImage); + + /** + * Calculates the screen position of the track lyrics texture. + */ + void reshape(void); + + /** + * Starts fading in the texture of the track lyrics. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + */ + void fadeIn(uint32 durationInMilliseconds); + + /** + * Starts fading out the texture of the track lyrics. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + * @param clampValue The clamp value of the fade out process (default = 0.0f). + */ + void fadeOut(uint32 durationInMilliseconds, float clampValue = 0.0f); + + /** + * Clears the memory allocated for the track lyrics action. + */ + void clear(void); + + private: + + /** The asset of the track lyrics action (contains texture and position too). */ + VisualAsset trackLyricsAsset; + + /** Identifier of the vertex chain (the vertices used for display of the track lyrics string texture). */ + VisualItemIdentifier vertexChainId; + + }; + +} + +#endif /* TrackLyrics_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp new file mode 100644 index 0000000000..34c184fe79 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp @@ -0,0 +1,266 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackTitle.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TrackTitle.h" +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualDispatch.h" +#include "VisualPreferences.h" +#include "VisualString.h" +#include "VisualStringStyle.h" +#include "VisualStyledString.h" +#include "VisualFile.h" +#include "VisualTimeline.h" +#include "VisualAnimation.h" +#include "VisualCamera.h" +#include "VisualConvolutionFilter.h" +#include "VisualFontManager.h" + + + +using namespace VizKit; + + +TrackTitle::TrackTitle() { + trackInfoAsset.setOpacityValue(0.0); +} + + +TrackTitle::~TrackTitle() { +} + + +void TrackTitle::show() { + this->trackInfoAsset.draw(this->vertexChainId); +} + + +VisualStringStyle TrackTitle::getTrackInfoStringStyle() { + + VisualStringStyle stringStyle; + + VisualPreferences::getValue(VisualPreferences::kTrackInfoFont, stringStyle.fontNameStr); + if (VisualFontManager::fontIsAvailableAsVisualizerResource(stringStyle.fontNameStr) == true) { + VisualFontActivationResult result = VisualFontManager::activateFont(stringStyle.fontNameStr); + if (result == fontActivationUnableToActivateFont) { + VisualPreferences::getValue(VisualPreferences::kFallbackSystemFont, stringStyle.fontNameStr); + } + } + + stringStyle.fontSize = (float)(VisualPreferences::getValue(VisualPreferences::kTrackInfoFontSize)); + + stringStyle.fontColor.r = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorRedFloat); + stringStyle.fontColor.g = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorGreenFloat); + stringStyle.fontColor.b = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorBlueFloat); + stringStyle.fontColor.red = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorRedFloat); + stringStyle.fontColor.green = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorGreenFloat); + stringStyle.fontColor.blue = VisualPreferences::getValue(VisualPreferences::kTrackInfoFontColorBlueFloat); + + stringStyle.horizontalAlignment = kLeftAligned; + + return stringStyle; +} + + +void TrackTitle::setTrackInfoImage(VisualImage& styledTrackInfoStringImage) { + this->clear(); + VisualConvolutionFilter aConvolutionFilter(VisualConvolutionFilter::kBlur); + styledTrackInfoStringImage.applyConvolutionFilter(aConvolutionFilter); + //styledTrackInfoStringImage.setBlendMode(kReplace); + this->trackInfoAsset.setImage(styledTrackInfoStringImage); +/* + VisualFile aFile; + aFile.initWithUserDesktopDirectory(); + VisualString fileName("testTrackInfo.png"); + bool success = false; + success = aFile.appendFileName(fileName); + styledTrackInfoStringImage.writeToPNGFile(aFile); +*/ +} + + +uint16 TrackTitle::getTrackInfoTextureHeightInPixels() { + uint16 heightOfTrackInfoTextureInPixels = 0; + VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox(); + VisualCamera& aCamera = this->trackInfoAsset.getCamera(); + heightOfTrackInfoTextureInPixels = VisualActorGraphics::yCoordToPixel(trackInfoAssetBox->getTopCoord(), aCamera) - VisualActorGraphics::yCoordToPixel(trackInfoAssetBox->getBottomCoord(), aCamera); + return heightOfTrackInfoTextureInPixels; +} + + +void TrackTitle::reshape() { + + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + this->trackInfoAsset.setCamera(aCamera); + + VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox(); + trackInfoAssetBox->setScalingBehaviour(kPreserveAspectRatio); + + VisualStagePosition trackInfoAssetPosition = this->trackInfoAsset.getPosition(); + + trackInfoAssetPosition.reset(); + + trackInfoAssetPosition.horizontalAlignment = kCenterAligned; + trackInfoAssetPosition.verticalAlignment = kBottomAligned; + + this->trackInfoAsset.setPosition(trackInfoAssetPosition); + + VisualVertex* aVertex = NULL; + trackInfoAssetBox->initializeVertexChain(this->vertexChainId); + + VertexColor aVertexColor; + for (uint8 i = 0; i < 4; i++) { + switch (i) { + case 0: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopLeftRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopLeftGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopLeftBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopLeftAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackInfoAssetBox->createVertex(0.0, 1.0, 0.0, 0.0, 1.0, aVertexColor); + trackInfoAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 1: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomLeftRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomLeftGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomLeftBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomLeftAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackInfoAssetBox->createVertex(0.0, 0.0, 0.0, 0.0, 0.0, aVertexColor); + trackInfoAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 2: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomRightRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomRightGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomRightBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorBottomRightAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackInfoAssetBox->createVertex(1.0, 0.0, 0.0, 1.0, 0.0, aVertexColor); + trackInfoAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + case 3: + aVertexColor.r = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopRightRed); + aVertexColor.g = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopRightGreen); + aVertexColor.b = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopRightBlue); + aVertexColor.a = VisualPreferences::getValue(VisualPreferences::kTrackInfoTextureColorTopRightAlpha); + aVertexColor.red = aVertexColor.r; + aVertexColor.green = aVertexColor.g; + aVertexColor.blue = aVertexColor.b; + aVertexColor.alpha = aVertexColor.a; + aVertex = trackInfoAssetBox->createVertex(1.0, 1.0, 0.0, 1.0, 1.0, aVertexColor); + trackInfoAssetBox->addVertexToChain(this->vertexChainId, aVertex); + break; + default: + writeLog("ERR: switch case unknown"); + } + } + + char trackLayoutPos[128]; + sprintf(trackLayoutPos, "top: %f, left: %f, bottom: %f, right: %f", trackInfoAssetBox->getTopCoord(), trackInfoAssetBox->getLeftCoord(), trackInfoAssetBox->getBottomCoord(), trackInfoAssetBox->getRightCoord()); + setProcessInfo("TrackLayout", trackLayoutPos); + +} + + +void TrackTitle::fadeIn(uint32 durationInMilliseconds) { + VisualAnimation fadeInAnimation(kAnimatedOpacity); + fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds); + this->trackInfoAsset.addAnimation(fadeInAnimation); +} + + +void TrackTitle::fadeOut(uint32 durationInMilliseconds) { + VisualAnimation fadeOutAnimation(kAnimatedOpacity); + fadeOutAnimation.setDurationInMilliseconds(durationInMilliseconds); + fadeOutAnimation.setStartValue(1.0); + fadeOutAnimation.setStopValue(0.0); + this->trackInfoAsset.addAnimation(fadeOutAnimation); +} + + +void TrackTitle::pulsate() { + VisualAnimation pulsateAnimation(kAnimatedOpacity); + uint32 durationInMilliseconds = VisualPreferences::getValue(VisualPreferences::kFadeOutTimeOnPauseInMS); + pulsateAnimation.setDurationInMilliseconds(durationInMilliseconds); + pulsateAnimation.setLoopMode(kMirroredLoop, kInfiniteRepetition); + this->trackInfoAsset.addAnimation(pulsateAnimation); +} + + +void TrackTitle::clear() { + + VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox(); + + trackInfoAssetBox->setContentPixelWidth(0); + trackInfoAssetBox->setContentPixelHeight(0); + + VisualStagePosition trackInfoAssetPosition = this->trackInfoAsset.getPosition(); + trackInfoAssetPosition.reset(); + this->trackInfoAsset.setPosition(trackInfoAssetPosition); + + this->trackInfoAsset.removeAnimations(); + + this->trackInfoAsset.setOpacityValue(0.0); +} + + +void TrackTitle::addMoveAnimation() { + VisualAnimation moveAnimation(kAnimatedLocation); + uint32 durationInMilliseconds = 15000; + moveAnimation.setDurationInMilliseconds(durationInMilliseconds); + moveAnimation.setLoopMode(kMirroredLoop, kInfiniteRepetition); + VisualStagePosition startPosition; + startPosition.horizontalAlignment = kCenterAligned; + startPosition.verticalAlignment = kBottomAligned; + VisualStagePosition stopPosition; + stopPosition.horizontalAlignment = kCenterAligned; + stopPosition.verticalAlignment = kTopAligned; + moveAnimation.setStartValue(startPosition); + moveAnimation.setStopValue(stopPosition); + this->trackInfoAsset.addAnimation(moveAnimation); +} diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h new file mode 100644 index 0000000000..b37e43fb8c --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h @@ -0,0 +1,135 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackTitle.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TrackTitle_h +#define TrackTitle_h + + +#include "VisualTypes.h" +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" +#include "VisualStringStyle.h" + + +namespace VizKit { + + class VisualString; // Forward declaration (to avoid include of header file). + + /** + * Shows the title of the current audio track. + * TrackTitle performs the action of the TrackTitleActor. + */ + class TrackTitle { + + public: + + /** + * The constructor. + */ + TrackTitle(); + + /** + * The destructor. + */ + ~TrackTitle(); + + /** + * Shows the track title action. + */ + void show(void); + + /** + * Returns the current string style of the track info string. + * @return The current string style of the track info string. + */ + VisualStringStyle getTrackInfoStringStyle(void); + + /** + * Sets the image with the track info string. + * @param styledTrackInfoStringImage The image with the track info string. + */ + void setTrackInfoImage(VisualImage& styledTrackInfoStringImage); + + /** + * Returns the height of the track title texture in pixels. + * @return The height of the track title texture in pixels. + */ + uint16 getTrackInfoTextureHeightInPixels(void); + + /** + * Calculates the screen position of the track title texture. + */ + void reshape(void); + + /** + * Starts fading in the texture of the track title. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + */ + void fadeIn(uint32 durationInMilliseconds); + + /** + * Starts fading out the texture of the track title. + * @param durationInMilliseconds The duration of the animation measured in milliseconds. + */ + void fadeOut(uint32 durationInMilliseconds); + + /** + * Starts pulsating the texture (fade in / fade out) of the track title. + */ + void pulsate(void); + + /** + * Clears the memory allocated for the track title action. + */ + void clear(void); + + /** + * Adds a move animation to the asset. + */ + void addMoveAnimation(void); + + private: + + /** The asset of the track info action (contains texture and position too). */ + VisualAsset trackInfoAsset; + + /** Identifier of the vertex chain (the vertices used for display of the track info string texture). */ + VisualItemIdentifier vertexChainId; + + }; + +} + +#endif /* TrackTitle_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp new file mode 100644 index 0000000000..7a6334c6b8 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp @@ -0,0 +1,118 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: BeatlightActor.cpp + * + */ + +/************************************************************************* + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + *************************************************************************/ + + +#include "BeatlightActor.h" + +#include "Beatlight.h" +#include "VisualErrorHandling.h" +#include "VisualPlayerState.h" +#include "VisualNotification.h" + +using namespace VizKit; + + +BeatlightActor::BeatlightActor() { + strcpy(actorName, "BEATLIGHT"); + state = kVisActOn; + beatlight = new Beatlight; + +} + + +BeatlightActor::~BeatlightActor() { + delete beatlight; + beatlight = NULL; +} + + +void BeatlightActor::init() { + VisualNotification::registerNotification(this, kBeatImpulseEvt); + VisualNotification::registerNotification(this, kCanvasReshapeEvt); +} + + +void BeatlightActor::show(const VisualPlayerState& visualPlayerState) { + bool audioIsPlaying = visualPlayerState.isAudioPlaying(); + this->beatlight->showBeatlight(audioIsPlaying); + //beatlight->showBeatMeterLight(playerState->isAudioPlaying()); +} + + + +void BeatlightActor::handleNotification(VisualNotification& aNotification) { + + // VisualActor::handleNotification(aNotification); // debug + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + + case kBeatImpulseEvt: + this->beatlight->applyBehavior(); + break; + /* + case kAudioPlayTrackChangedEvt: + this->coverArt->clear(); + this->currentAudioTrackHasCoverArt = false; + break; + + case kAudioPlayStoppedEvt: + this->coverArt->clear(); + this->currentAudioTrackHasCoverArt = false; + break; + + case kAudioPlayPausedEvt: + this->coverArt->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeOnPauseInMS), 0.15f); + break; + + case kAudioPlayResumedEvt: + this->coverArt->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnResumeInMS)); + break; + */ + case kCanvasReshapeEvt: + this->beatlight->reshape(); + break; + + default: + char notificationString[64]; + VisualNotification::convertNotificationKeyToString(notificationKey, notificationString); + char errLog[256]; + sprintf(errLog, "Unhandled VisualNotificationKey %s in file: %s (line: %d) [%s])", notificationString, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + break; + } + +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h new file mode 100644 index 0000000000..6915210918 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h @@ -0,0 +1,96 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: BeatlightActor.h + * + */ + +/************************************************************************* + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + *************************************************************************/ + +#ifndef BeatlightActor_h +#define BeatlightActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" +#include "VisualImage.h" +#include "VisualString.h" + +#include "VisualItemIdentifier.h" + + +namespace VizKit { + + class Beatlight; // Forward declaration (to avoid include of header file). + + /** + * A beat indicating VisualActor. + * A pulsating light in the lower left corner indicates beat impulses. + */ + class BeatlightActor : public VisualActor { + + public: + + /** + * The constructor of BeatlightActor. + */ + BeatlightActor(); + + /** + * The destructor of BeatlightActor. + */ + ~BeatlightActor(); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the beatlight. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + virtual void handleNotification(VisualNotification& aNotification); + + private: + + /** A Pointer to the beatlight action. */ + Beatlight* beatlight; + + }; + +} + +#endif /* BeatlightActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp new file mode 100644 index 0000000000..b85dc9091e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp @@ -0,0 +1,150 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CoverArtActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "CoverArtActor.h" +#include "CoverArt.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualTiming.h" +#include "VisualConfiguration.h" +#include "VisualImage.h" + + + +using namespace VizKit; + + +CoverArtActor::CoverArtActor() { + strcpy(actorName, "COVERART"); + state = kVisActOn; + coverArt = new CoverArt; + currentAudioTrackHasCoverArt = false; +} + + +CoverArtActor::~CoverArtActor() { + delete coverArt; +} + + +void CoverArtActor::init() { + VisualNotification::registerNotification(this, kImageWithIdentifierMsg); + VisualNotification::registerNotification(this, kAudioPlayTrackChangedEvt); + VisualNotification::registerNotification(this, kAudioPlayStoppedEvt); + VisualNotification::registerNotification(this, kAudioPlayPausedEvt); + VisualNotification::registerNotification(this, kAudioPlayResumedEvt); + VisualNotification::registerNotification(this, kAudioPlayReachedFadeOutTimeEvt); + VisualNotification::registerNotification(this, kCanvasReshapeEvt); + VisualNotification::registerNotification(this, kTrackInfoTextureChangedMsg); +} + + +void CoverArtActor::show(const VisualPlayerState& visualPlayerState) { + if ((this->currentAudioTrackHasCoverArt == true) && (this->state != kVisActOff)) { + this->coverArt->prepareCoverAction(); + this->coverArt->showCover(); + this->coverArt->finishCoverAction(); + } +} + + +void CoverArtActor::handleNotification(VisualNotification& aNotification) { + + // VisualActor::handleNotification(aNotification); // debug + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + + case kImageWithIdentifierMsg: + { + if (aNotification.getIdentifier() == VisualDataStore::albumCoverArtworkImageId) { + VisualImage* albumCoverArtworkImage = dynamic_cast(aNotification.getObject()); + this->coverArt->setAlbumCoverArtWorkImage(*albumCoverArtworkImage); + this->coverArt->reshape(); + this->currentAudioTrackHasCoverArt = true; + this->coverArt->rotate(); + this->coverArt->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnPlayInMS)); + } + } + break; + + case kAudioPlayTrackChangedEvt: + this->coverArt->clear(); + this->currentAudioTrackHasCoverArt = false; + break; + + case kAudioPlayStoppedEvt: + this->coverArt->clear(); + this->currentAudioTrackHasCoverArt = false; + break; + + case kAudioPlayPausedEvt: + this->coverArt->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeOnPauseInMS), 0.15f); + break; + + case kAudioPlayResumedEvt: + this->coverArt->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnResumeInMS)); + break; + + case kAudioPlayReachedFadeOutTimeEvt: + this->coverArt->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeBeforeEndOfTrackInMS)); + break; + + case kCanvasReshapeEvt: + if (this->currentAudioTrackHasCoverArt == true) { + this->coverArt->reshape(); + } + break; + + case kTrackInfoTextureChangedMsg: + if (this->currentAudioTrackHasCoverArt == true) { + this->coverArt->reshape(); + } + break; + + default: + char notificationString[64]; + VisualNotification::convertNotificationKeyToString(notificationKey, notificationString); + char errLog[256]; + sprintf(errLog, "Unhandled VisualNotificationKey %s in file: %s (line: %d) [%s])", notificationString, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + break; + } + +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h new file mode 100644 index 0000000000..044756ee10 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h @@ -0,0 +1,99 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CoverArtActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef CoverArtActor_h +#define CoverArtActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" + + +namespace VizKit { + + class CoverArt; + + /** + * A visual representation of the album cover art data included with the audio track. The cover rotates slowly around the y-axis. + * iTunes can handle embedded cover art data. + * The CoverArtActor is responsible for displaying cover art data if there exists any with the current track. + * The visual representation of the cover art data is created as a texture. + * The texture of the cover art can be manipulated in various ways. + * The rotation is a basic example for simplicity's sake. + */ + class CoverArtActor : public VisualActor { + + public: + + /** + * The constructor. + */ + CoverArtActor(); + + /** + * The destructor. + */ + ~CoverArtActor(); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the cover art. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + virtual void handleNotification(VisualNotification& aNotification); + + private: + + /** A pointer to the cover art action. */ + CoverArt* coverArt; + + /** True if current audio track has album cover art data. */ + bool currentAudioTrackHasCoverArt; + + }; + +} + +#endif /* CoverArtActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp new file mode 100644 index 0000000000..9f9883cfd6 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp @@ -0,0 +1,119 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: ProcessMonitorActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "ProcessMonitorActor.h" +#include "ProcessMonitor.h" +#include "VisualPlayerState.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" + + + +using namespace VizKit; + + +ProcessMonitorActor::ProcessMonitorActor() { + strcpy(actorName, "PROCESSMONITOR"); + state = kVisActOn; + showAudioInfoBool = true; + elapsedAudioTime = 0; + remainingAudioTime = 0; + processMonitor = new ProcessMonitor; +} + + +ProcessMonitorActor::~ProcessMonitorActor() { + delete processMonitor; +} + + +void ProcessMonitorActor::init() { + VisualNotification::registerNotification(this, kCanvasReshapeEvt); +} + + +void ProcessMonitorActor::show(const VisualPlayerState& visualPlayerState) { + this->elapsedAudioTime = visualPlayerState.getElapsedAudioTime(); + this->remainingAudioTime = visualPlayerState.getRemainingAudioTime(); + processMonitor->prepareProcessMonitorShow(); + + processMonitor->showInfoStrings(); + if (this->showAudioInfoBool == true) { + processMonitor->showAudioInfo(elapsedAudioTime, remainingAudioTime); + } + processMonitor->finishProcessMonitorShow(); +} + + +void ProcessMonitorActor::handleNotification(VisualNotification& aNotification) { + + //VisualActor::handleNotification(aNotification); // debug + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + case kCanvasReshapeEvt: + processMonitor->updateProgressMeterVertices(); + break; + default: + char notificationString[64]; + VisualNotification::convertNotificationKeyToString(notificationKey, notificationString); + char errLog[256]; + sprintf(errLog, "Unhandled VisualNotificationKey %s in file: %s (line: %d) [%s])", notificationString, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + break; + } + +} + + +void ProcessMonitorActor::setState(VisualActorState aVisualActorState) { + this->state = aVisualActorState; +} + + +void ProcessMonitorActor::registerProcessMonitorInfoMap(const std::map* const processMonitorInfoMap) { + processMonitor->registerProcessMonitorInfoMap(processMonitorInfoMap); +} + + +bool ProcessMonitorActor::isAudioInfoShown() { + return this->showAudioInfoBool; +} + + +void ProcessMonitorActor::setShowAudioInfo(bool requestedAudioInfoState) { + this->showAudioInfoBool = requestedAudioInfoState; +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h new file mode 100644 index 0000000000..2835f93dc7 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h @@ -0,0 +1,130 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: ProcessMonitorActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef ProcessMonitorActor_h +#define ProcessMonitorActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" + +#include +#include + + +namespace VizKit { + + class ProcessMonitor; + + /** + * This actor displays textual and graphical information useful for debugging, diagnostics and monitoring purposes. + * Visual plug-ins can be debugged by writing output to stdout. + * If it is neccessary to monitor reoccuring and changing data in realtime the data can be registered with the + * ProcessMonitorActor and refreshed with each render call. The registered output is displayed on screen. + */ + class ProcessMonitorActor : public VisualActor { + + public: + + /** + * The constructor. + */ + ProcessMonitorActor(); + + /** + * The destructor. + */ + ~ProcessMonitorActor(void); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the process monitor. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + void handleNotification(VisualNotification& aNotification); + + /** + * Sets the state of the process monitor actor. + * @param aVisualActorState The state of the process monitor actor. + */ + void setState(VisualActorState aVisualActorState); + + /** + * The processMonitorInfoMap is registered. + * @param processMonitorInfoMap All associative key-value-pairs of the process monitor info map. + */ + void registerProcessMonitorInfoMap(const std::map* const processMonitorInfoMap); + + /** + * Answers the question whether the audio info is shown or not. + * @return True if audio info is shown, false if not. + */ + bool isAudioInfoShown(void); + + /** + * Sets the state of the audio info. + * @param requestedAudioInfoState True if audio info show be shown, false if it should be hidden. + */ + void setShowAudioInfo(bool requestedAudioInfoState); + + private: + + /** A pointer to the process monitor action. */ + ProcessMonitor* processMonitor; + + /** Should the audio info be shown? */ + bool showAudioInfoBool; + + /** The elapsed time of the current audio track in milliseconds. */ + uint32 elapsedAudioTime; + + /** The remaining time of the current audio track in milliseconds. */ + uint32 remainingAudioTime; + + }; + +} + +#endif /* ProcessMonitorActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp new file mode 100644 index 0000000000..6bf7bfc6a9 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp @@ -0,0 +1,199 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TemplateActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TemplateActor.h" +#include "TemplateAction.h" +#include "VisualErrorHandling.h" +#include "VisualString.h" +#include "VisualStyledString.h" +#include "VisualNetwork.h" +#include "VisualDataStore.h" +#include "VisualFile.h" +#include "VisualNotification.h" + + +#if TARGET_OS_MAC +#include // CFReadStreamRef, CFURLRef +#endif + +#include + + + +using namespace VizKit; + + +TemplateActor::TemplateActor() { + strcpy(actorName, "TEMPLATE"); + state = kVisActOn; // state must be kVisActOn to show the action of the actor as part of the VisualEnsemble (kVisActNoShow means not being called at all) + theTemplateAction = new TemplateAction; + stringOfSimilarArtists = NULL; + similarArtistsStringCreationInProgress = false; + this->createStringOfSimilarArtists(); +} + + +TemplateActor::~TemplateActor() { + delete theTemplateAction; + similarArtistsStringVector.clear(); + if (stringOfSimilarArtists != NULL) { + delete stringOfSimilarArtists; + } +} + + +void TemplateActor::init() { + VisualNotification::registerNotification(this, kStringWithIdentifierLoadedAndCreatedMsg); + VisualNotification::registerNotification(this, kAudioPlayTrackChangedEvt); +} + + +void TemplateActor::show(const VisualPlayerState& visualPlayerState) { + theTemplateAction->show(); +} + + +void TemplateActor::handleSimilarArtistsStringCompleted() { + + if (this->stringOfSimilarArtists == NULL) return; + + VisualItemIdentifier currTrackIdentifier = VisualDataStore::getIdentifierOfCurrentTrack(); + if (currTrackIdentifier != this->similarArtistsCurrentTrackIdentifier) { + return; + } + + uint32 numberOfLines = this->stringOfSimilarArtists->getNumberOfLines(); + + for (uint32 i = 0; i < numberOfLines; i++) { + VisualString* visualString = this->stringOfSimilarArtists->createStringWithLine(i); + if (visualString) { + std::vector stringVector = visualString->splitWithDelimiter(","); + if (stringVector.size() > 2) { + this->similarArtistsStringVector.push_back(stringVector[2]); + } + delete visualString; + } + } + + VisualString* joinedString = VisualString::createJoinedString(this->similarArtistsStringVector); + if (joinedString != NULL) { + this->setStringOfSimilarArtists(*joinedString); + delete joinedString; + } +} + + +void TemplateActor::setStringOfSimilarArtists(const VisualString& similarArtists) { + VisualStyledString styledString; + styledString.initWithVisualString(similarArtists); + VisualStringStyle stringStyle; + stringStyle.horizontalAlignment = kRightAligned; + styledString.setStyle(stringStyle); + + bool success = this->similarArtistsStringImage.initWithStyledString(styledString); + if (success) { + this->theTemplateAction->setImage(this->similarArtistsStringImage); + /* + VisualFile aFile; + aFile.initWithUserDesktopDirectory(); + VisualString fileName("testSimilarArtists.png"); + success = aFile.appendFileName(fileName); + this->similarArtistsStringImage.writeToPNGFile(aFile); + */ + } +} + + +void TemplateActor::handleNotification(VisualNotification& aNotification) { + + //VisualActor::handleNotification(aNotification); // debug + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + + case kStringWithIdentifierLoadedAndCreatedMsg: + if (aNotification.getIdentifier() == this->similarArtistsStringRequestId) { + this->handleSimilarArtistsStringCompleted(); + } + break; + + case kAudioPlayTrackChangedEvt: + this->createStringOfSimilarArtists(); + break; + + default: + char notificationString[64]; + VisualNotification::convertNotificationKeyToString(notificationKey, notificationString); + char errLog[256]; + sprintf(errLog, "Unhandled VisualNotificationKey %s in file: %s (line: %d) [%s])", notificationString, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + break; + } + +} + + +void TemplateActor::createStringOfSimilarArtists() { + + if (this->similarArtistsStringCreationInProgress == true) { + return; + } + + this->similarArtistsStringCreationInProgress = true; + + this->similarArtistsStringVector.clear(); + this->theTemplateAction->removeImage(); + + this->similarArtistsCurrentTrackIdentifier = VisualDataStore::getIdentifierOfCurrentTrack(); + + VisualString* normalizedArtistNameForURLConstruction = VisualNetwork::createNormalizedURLString(VisualDataStore::getArtistOfCurrentTrack()); + if (!normalizedArtistNameForURLConstruction) { + return; + } + + VisualString similarArtistsURL; + similarArtistsURL.initWithUTF8String("http://ws.audioscrobbler.com/1.0/artist/"); + similarArtistsURL = (similarArtistsURL + *normalizedArtistNameForURLConstruction); + delete normalizedArtistNameForURLConstruction; + similarArtistsURL = (similarArtistsURL + "/similar.txt"); + if (this->stringOfSimilarArtists != NULL) { + delete this->stringOfSimilarArtists; + } + + this->stringOfSimilarArtists = VisualString::createWithContentsOfURL(similarArtistsURL.getUtf8Representation(), this->similarArtistsStringRequestId); + + this->similarArtistsStringCreationInProgress = false; +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h new file mode 100644 index 0000000000..bcc84c16e0 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h @@ -0,0 +1,132 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TemplateActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TemplateActor_h +#define TemplateActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" +#include "VisualItemIdentifier.h" +#include "VisualImage.h" + +#include + + +namespace VizKit { + + class TemplateAction; + + /** + * A template of a VisualActor. + * A copy of header and implementation file can be made + * to create a new concrete subclass of VisualActor. + */ + class TemplateActor : public VisualActor { + + public: + + /** + * The constructor. + */ + TemplateActor(); + + /** + * The destructor. + */ + ~TemplateActor(); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the template. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + virtual void handleNotification(VisualNotification& aNotification); + + /** + * Notification call when string data is completely loaded and constructed. + */ + void handleSimilarArtistsStringCompleted(); + + private: + + /** A pointer to the template action. */ + TemplateAction* theTemplateAction; + + /** Identifier for string request. */ + VisualItemIdentifier similarArtistsStringRequestId; + + VisualImage similarArtistsStringImage; + VisualString* stringOfSimilarArtists; + + /** Initiates the creation of the string of similar artists by using URL request. */ + void createStringOfSimilarArtists(void); + + /** + * Sets the similar artists and creates the bitmap image of the string. + * @param similarArtists String with similar artists. + */ + void setStringOfSimilarArtists(const VisualString& similarArtists); + + /** + * Vector with lines of similar artists. + */ + std::vector similarArtistsStringVector; + + /** + * True if similar artists string is currently created. + */ + bool similarArtistsStringCreationInProgress; + + /** + * Identifier of the current audio track for which simolar artists are queried. + */ + VisualItemIdentifier similarArtistsCurrentTrackIdentifier; + + }; + +} + +#endif /* TemplateActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp new file mode 100644 index 0000000000..bd2c33160f --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp @@ -0,0 +1,155 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackLyricsActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TrackLyricsActor.h" +#include "TrackLyrics.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" +#include "VisualConfiguration.h" +#include "VisualDispatch.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualString.h" +#include "VisualStringStyle.h" +#include "VisualImage.h" + + +using namespace VizKit; + + +TrackLyricsActor::TrackLyricsActor() { + strcpy(actorName, "TRACKLYRICS"); + state = kVisActOn; + trackLyrics = new TrackLyrics; + textureOfCurrentTrackLyricsIsAvailable = false; +} + + +TrackLyricsActor::~TrackLyricsActor() { + trackLyrics->clear(); + delete trackLyrics; +} + + +void TrackLyricsActor::init() { + VisualNotification::registerNotification(this, kGetTrackLyricsStringStyleMsg); + VisualNotification::registerNotification(this, kTrackLyricsImageMsg); + VisualNotification::registerNotification(this, kAudioPlayTrackChangedEvt); + VisualNotification::registerNotification(this, kAudioPlayStoppedEvt); + VisualNotification::registerNotification(this, kAudioPlayPausedEvt); + VisualNotification::registerNotification(this, kAudioPlayResumedEvt); + VisualNotification::registerNotification(this, kAudioPlayReachedFadeOutTimeEvt); + VisualNotification::registerNotification(this, kCanvasReshapeEvt); + VisualNotification::registerNotification(this, kTrackInfoTextureChangedMsg); +} + + +void TrackLyricsActor::show(const VisualPlayerState& visualPlayerState) { + if ((this->textureOfCurrentTrackLyricsIsAvailable == true) && (this->state != kVisActOff)) { + this->trackLyrics->show(); + } +} + + +void TrackLyricsActor::handleNotification(VisualNotification& aNotification) { + + //VisualActor::handleNotification(aNotification); // debug + + VisualString trackLyricsStr; + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + + case kGetTrackLyricsStringStyleMsg: + { + VisualStringStyle lyricsStringStyle = this->trackLyrics->getTrackLyricsStringStyle(); + aNotification.setObject(lyricsStringStyle); + } + break; + + case kTrackLyricsImageMsg: + { + VisualImage* lyricsImage = dynamic_cast(aNotification.getObject()); + this->trackLyrics->setTrackLyricsImage(*lyricsImage); + this->trackLyrics->reshape(); + //VisualDataStore::setValue(VisualDataStore::kTrackInfoTextureHeight, this->trackTitle->getTrackInfoTextureHeightInPixels()); + this->textureOfCurrentTrackLyricsIsAvailable = true; + //VisualNotification::post(kLyricsTextureIsAvailableMsg); + //VisualNotification::post(kTrackLyricsTextureChangedMsg); + this->trackLyrics->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnPlayInMS)); + } + break; + + case kAudioPlayTrackChangedEvt: + this->trackLyrics->clear(); + this->textureOfCurrentTrackLyricsIsAvailable = false; + break; + + case kAudioPlayStoppedEvt: + this->trackLyrics->clear(); + this->textureOfCurrentTrackLyricsIsAvailable = false; + break; + + case kAudioPlayPausedEvt: + this->trackLyrics->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeOnPauseInMS), 0.15f); + break; + + case kAudioPlayResumedEvt: + this->trackLyrics->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnResumeInMS)); + break; + + case kAudioPlayReachedFadeOutTimeEvt: + this->trackLyrics->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeBeforeEndOfTrackInMS)); + break; + + case kCanvasReshapeEvt: + if (textureOfCurrentTrackLyricsIsAvailable == true) { + this->trackLyrics->reshape(); + } + break; + + case kTrackInfoTextureChangedMsg: + if (textureOfCurrentTrackLyricsIsAvailable == true) { + this->trackLyrics->reshape(); + } + break; + + default: + writeLog("unhandled Notification in TrackLyricsActor"); + break; + } + +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h new file mode 100644 index 0000000000..aeba789eb2 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h @@ -0,0 +1,97 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackLyricsActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TrackLyricsActor_h +#define TrackLyricsActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" + + +namespace VizKit { + + class TrackLyrics; + + /** + * The lyrics of the audio track are displayed as texture with blended colors. + * The lyrics of the track can be manipulated in various ways. + */ + class TrackLyricsActor : public VisualActor { + + public: + + /** + * The constructor. + */ + TrackLyricsActor(); + + /** + * The destructor. + */ + ~TrackLyricsActor(); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the track lyrics. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + virtual void handleNotification(VisualNotification& aNotification); + + private: + + /** A pointer to the track lyrics action. */ + TrackLyrics* trackLyrics; + + /** True if texture of current audio track's lyrics has been created. */ + bool textureOfCurrentTrackLyricsIsAvailable; + + }; + +} + + + +#endif /* TrackLyricsActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp new file mode 100644 index 0000000000..34f8707c86 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp @@ -0,0 +1,150 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackTitleActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "TrackTitleActor.h" +#include "TrackTitle.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" +#include "VisualConfiguration.h" +#include "VisualDispatch.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualString.h" +#include "VisualStyledString.h" +#include "VisualImage.h" + + + +using namespace VizKit; + + +TrackTitleActor::TrackTitleActor() { + strcpy(actorName, "TRACKTITLE"); + state = kVisActOn; + trackTitle = new TrackTitle; + textureOfCurrentTrackTitleIsAvailable = false; +} + + +TrackTitleActor::~TrackTitleActor() { + trackTitle->clear(); + delete trackTitle; +} + + +void TrackTitleActor::init() { + VisualNotification::registerNotification(this, kGetTrackInfoStringStyleMsg); + VisualNotification::registerNotification(this, kTrackInfoImageMsg); + VisualNotification::registerNotification(this, kAudioPlayTrackChangedEvt); + VisualNotification::registerNotification(this, kAudioPlayStoppedEvt); + VisualNotification::registerNotification(this, kAudioPlayPausedEvt); + VisualNotification::registerNotification(this, kAudioPlayResumedEvt); + VisualNotification::registerNotification(this, kAudioPlayReachedFadeOutTimeEvt); + VisualNotification::registerNotification(this, kCanvasReshapeEvt); +} + + +void TrackTitleActor::show(const VisualPlayerState& visualPlayerState) { + if ((this->textureOfCurrentTrackTitleIsAvailable == true) && (this->state != kVisActOff)) { + this->trackTitle->show(); + } +} + + +void TrackTitleActor::handleNotification(VisualNotification& aNotification) { + + //VisualActor::handleNotification(aNotification); // debug + + VisualNotificationKey notificationKey = aNotification.getKey(); + + switch (notificationKey) { + + case kGetTrackInfoStringStyleMsg: + { + VisualStringStyle trackInfoStringStyle = this->trackTitle->getTrackInfoStringStyle(); + aNotification.setObject(trackInfoStringStyle); + } + break; + + case kTrackInfoImageMsg: + { + VisualImage* trackInfoImage = dynamic_cast(aNotification.getObject()); + this->trackTitle->setTrackInfoImage(*trackInfoImage); + this->trackTitle->reshape(); + VisualDataStore::setValue(VisualDataStore::kTrackInfoTextureHeight, this->trackTitle->getTrackInfoTextureHeightInPixels()); + this->textureOfCurrentTrackTitleIsAvailable = true; + VisualNotification::post(kTrackInfoTextureChangedMsg); + VisualItemIdentifier currentTrackIdentifier = VisualDataStore::getIdentifierOfCurrentTrack(); + if (this->trackTitleTrackIdentifier != currentTrackIdentifier) { + this->trackTitle->addMoveAnimation(); + this->trackTitle->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnPlayInMS)); + this->trackTitleTrackIdentifier = currentTrackIdentifier; + } + } + break; + + case kAudioPlayTrackChangedEvt: + this->trackTitle->clear(); + this->textureOfCurrentTrackTitleIsAvailable = false; + break; + + case kAudioPlayStoppedEvt: + this->trackTitle->clear(); + this->textureOfCurrentTrackTitleIsAvailable = false; + break; + + case kAudioPlayPausedEvt: + this->trackTitle->pulsate(); + break; + + case kAudioPlayResumedEvt: + this->trackTitle->fadeIn(VisualPreferences::getValue(VisualPreferences::kFadeInTimeOnResumeInMS)); + break; + + case kAudioPlayReachedFadeOutTimeEvt: + this->trackTitle->fadeOut(VisualPreferences::getValue(VisualPreferences::kFadeOutTimeBeforeEndOfTrackInMS)); + break; + + case kCanvasReshapeEvt: + this->trackTitle->reshape(); + VisualDataStore::setValue(VisualDataStore::kTrackInfoTextureHeight, this->trackTitle->getTrackInfoTextureHeightInPixels()); + break; + + default: + writeLog("unhandled Notification in TrackTitleActor"); + break; + } + +} diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h new file mode 100644 index 0000000000..f1fefb419e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h @@ -0,0 +1,101 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: TrackTitleActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef TrackTitleActor_h +#define TrackTitleActor_h + + +#include "VisualTypes.h" +#include "VisualActor.h" +#include "VisualItemIdentifier.h" + + +namespace VizKit { + + class TrackTitle; + + /** + * The title of the audio track is displayed as texture with blended colors. + * The texture of the track name can be manipulated in various ways. + * The smooth shading (Gouraud shading) from red to yellow is a simple example. + */ + class TrackTitleActor : public VisualActor { + + public: + + /** + * The constructor. + */ + TrackTitleActor(); + + /** + * The destructor. + */ + ~TrackTitleActor(); + + /** + * Initialization. + */ + virtual void init(void); + + /** + * Performs the show of the track title. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * The actor receives a notification about an event that occured. + * @param aNotification The notification passed in. + */ + virtual void handleNotification(VisualNotification& aNotification); + + private: + + /** A pointer to the track title action. */ + TrackTitle* trackTitle; + + /** True if texture of current audio track's title has been created. */ + bool textureOfCurrentTrackTitleIsAvailable; + + /** The identifier of the audio track for which the current track title has been created. */ + VisualItemIdentifier trackTitleTrackIdentifier; + + }; + +} + + +#endif /* TrackTitleActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp new file mode 100644 index 0000000000..6e42e4c233 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp @@ -0,0 +1,992 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAudioLab.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualAudioLab.h" +#include "VisualPlayerState.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" +#include "VisualTiming.h" +#include "VisualNotification.h" + +#include +#include +#include +#include + + + +using namespace VizKit; + + +VisualAudioLab* VisualAudioLab::theVisualAudioLab = NULL; // singleton + +uint16 VisualAudioLab::maxNumberOfAudioDataChannels = 0; +uint32 VisualAudioLab::numberOfAudioWaveformDataEntries = 0; +uint32 VisualAudioLab::numberOfAudioSpectrumDataEntries = 0; + +const uint8 VisualAudioLab::beatTimeTolerance = 25; +const uint16 VisualAudioLab::beatThreshold = 300; +const uint16 VisualAudioLab::beatAnalyseTimeFrame = 10000; +const uint16 VisualAudioLab::maximumBeatInterval = 2000; +const uint16 VisualAudioLab::numberOfMillisecondsOfRMSBuffer = 3000; +const uint16 VisualAudioLab::numberOfRMSBufferEntries = 2000; +const uint16 VisualAudioLab::maxNumberOfWaveformShapeHistory = 1400; +const uint16 VisualAudioLab::maxNumberOfMusicDataHistory = 40; +const uint16 VisualAudioLab::tappingBufferLength = 4096; +const uint16 VisualAudioLab::maxNumberOfBeatHistogramBins = 100; +const uint16 VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe = 200; + + +VisualAudioLab::VisualAudioLab() { + + currMusicDataHistory = -1; + rmsMonoAvg = 0.0; + rmsMonoMax = 0.0; + + totalTimeOfTrack = 0; + startTimeOfTrack = 0; + stopTimeOfTrack = 0; + elapsedTimeOfTrack = 0; + currTimestampIDOfRenderData = 0; + +} + + +VisualAudioLab::~VisualAudioLab() { + uint32 i, k; + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + free(waveformData[i][k]); + } + free(waveformData[i]); + } + free(waveformData); + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + free(waveformDataMono[i]); + } + free(waveformDataMono); + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + free(spectrumData[i][k]); + } + free(spectrumData[i]); + } + free(spectrumData); + + free(amplitudeEnvelope); + + free(mean); + + free(tappingBuffer); + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + free(rms[i]); + } + free(rms); + + free(rmsMono); + + free(beatGapHistogram); + + free(minSpectrumLevel); + + free(maxSpectrumLevel); + + free(minWaveformVal); + + free(maxWaveformVal); + + free(waveformValSum); + + free(peakWaveformValSum); + + free(prevWaveformValSum); + + free(avgWaveformValSum); + + free(avgWaveformValSumCounter); + + free(beatsRecordedInBeatAnalyseTimeFrame); + +} + + +VisualAudioLab* VisualAudioLab::getInstance() { + if (theVisualAudioLab == NULL) { + theVisualAudioLab = new VisualAudioLab; + if (theVisualAudioLab != NULL) { + theVisualAudioLab->init(); + } + } + if (theVisualAudioLab == NULL) { + writeLog("ERR init VisualAudioLab failed"); + } + return theVisualAudioLab; +} + + +void VisualAudioLab::dispose() { + if (theVisualAudioLab != 0) { + delete theVisualAudioLab; + theVisualAudioLab = 0; + } +} + + +void VisualAudioLab::init() { + uint32 i; + uint32 k; + + // waveformData + waveformData = (sint8***)malloc(VisualAudioLab::maxNumberOfMusicDataHistory * sizeof(sint8**)); + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + waveformData[i] = (sint8**)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(sint8*)); + } + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + waveformData[i][k] = (sint8*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(sint8)); + for (uint32 m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) { + waveformData[i][k][m] = 0; + } + } + } + + // waveformDataMono + waveformDataMono = (sint16**)malloc(VisualAudioLab::maxNumberOfMusicDataHistory * sizeof(sint16*)); + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + waveformDataMono[i] = (sint16*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(sint16)); + for (k = 0; k < VisualAudioLab::numberOfAudioWaveformDataEntries; k++) { + waveformDataMono[i][k] = 0; + } + } + + // spectrumData + spectrumData = (uint8***)malloc(VisualAudioLab::maxNumberOfMusicDataHistory * sizeof(uint8**)); + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + spectrumData[i] = (uint8**)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint8*)); + } + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + spectrumData[i][k] = (uint8*)malloc(VisualAudioLab::numberOfAudioSpectrumDataEntries * sizeof(uint8)); + for (uint32 m = 0; m < VisualAudioLab::numberOfAudioSpectrumDataEntries; m++) { + spectrumData[i][k][m] = 0; + } + } + } + + // amplitudeEnvelope + amplitudeEnvelope = (double*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(double)); + + // mean + mean = (sint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(sint32)); + + // tappingBuffer + tappingBuffer = (double*)malloc(tappingBufferLength * sizeof(double)); + + // rms + rms = (double**)malloc(VisualAudioLab::maxNumberOfMusicDataHistory * sizeof(double*)); + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + rms[i] = (double*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(double)); + } + + // rmsMono + rmsMono = (double*)malloc(VisualAudioLab::maxNumberOfMusicDataHistory * sizeof(double)); + + // beatGapHistogram + beatGapHistogram = (uint32*)malloc(VisualAudioLab::maxNumberOfBeatHistogramBins * sizeof(uint32)); + + // minSpectrumLevel + minSpectrumLevel = (uint8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint8)); + + // maxSpectrumLevel + maxSpectrumLevel = (uint8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint8)); + + // minWaveformVal + minWaveformVal = (sint8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(sint8)); + + // maxWaveformVal + maxWaveformVal = (sint8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(sint8)); + + // waveformValSum + waveformValSum = (uint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint32)); + + // peakWaveformValSum + peakWaveformValSum = (uint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint32)); + + // prevWaveformValSum + prevWaveformValSum = (uint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint32)); + + // avgWaveformValSum + avgWaveformValSum = (uint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint32)); + + // avgWaveformValSumCounter + avgWaveformValSumCounter = (uint32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(uint32)); + + // beatsRecordedInBeatAnalyseTimeFrame + beatsRecordedInBeatAnalyseTimeFrame = (BeatGuess*)malloc(VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe * sizeof(BeatGuess)); + + for (i = 0; i < VisualAudioLab::maxNumberOfAudioDataChannels; i++) { + avgWaveformValSumCounter[i] = 0; + minWaveformVal[i] = 0; + maxWaveformVal[i] = 0; + waveformValSum[i] = 0; + } + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + rms[i][k] = 0; + } + } +} + + +void VisualAudioLab::resetData(void) { + + uint16 i,k,m; + + //theVisualAudioLab->totalTimeOfTrack = 0; + //theVisualAudioLab->startTimeOfTrack = 0; + //theVisualAudioLab->stopTimeOfTrack = 0; + theVisualAudioLab->currTimestampIDOfRenderData = 0; + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + for (m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) { + theVisualAudioLab->waveformData[i][k][m] = 0; + } + } + } + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) { + theVisualAudioLab->waveformDataMono[i][m] = 0; + } + } + + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + for (m = 0; m < VisualAudioLab::numberOfAudioSpectrumDataEntries; m++) { + theVisualAudioLab->spectrumData[i][k][m] = 0; + } + } + } + + // other statistics + for (i = 0; i < VisualAudioLab::maxNumberOfMusicDataHistory; i++) { + for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) { + theVisualAudioLab->rms[i][k] = 0; + } + theVisualAudioLab->rmsMono[i] = 0; + } + + for (i = 0; i < 100; i++) { + theVisualAudioLab->beatGapHistogram[i] = 0; + } + + for (i = 0; i < 100; i++) { + theVisualAudioLab->beatGapHistogram[i] = 0; + } + + for (i = 0; i < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; i++) { + theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[i].timeInMillisecondsSinceStartOfTrack = 0; + theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[i].confidence = 0; + } + for (i = 0; i < numberOfRMSBufferEntries; i++) { + theVisualAudioLab->rmsBuffer[i].rmsValue = 0.0f; + theVisualAudioLab->rmsBuffer[i].timeInMillisecondsSinceStartOfTrack = 0; + } + theVisualAudioLab->currRMSValue = 0; + + VisualTiming::resetTimestamp("timeSinceStartOfTrack"); + + theVisualAudioLab->currRecordedBeat = 0; + + theVisualAudioLab->currMusicDataHistory = -1; + theVisualAudioLab->maxWaveformValMono = 0; + theVisualAudioLab->minWaveformValMono = 0; + theVisualAudioLab->rmsMonoMax = 0; + + // zero tappingBuffer + for(i=0; itappingBuffer[i] = 0; + } + +} + + +void VisualAudioLab::setTotalTimeOfCurrentTrack(const uint32 totalTimeInMS) { + theVisualAudioLab->totalTimeOfTrack = totalTimeInMS; +} + + +void VisualAudioLab::setStartTimeOfCurrentTrack(const uint32 startTimeInMS) { + theVisualAudioLab->startTimeOfTrack = startTimeInMS; +} + + +void VisualAudioLab::setStopTimeOfCurrentTrack(const uint32 stopTimeInMS) { + theVisualAudioLab->stopTimeOfTrack = stopTimeInMS; +} + + +uint32 VisualAudioLab::getCurrTimestampIDOfRenderData() { + return theVisualAudioLab->currTimestampIDOfRenderData; +} + + +void VisualAudioLab::setCurrTimestampIDOfRenderData(const uint32 timestampID) { + char timestampHitStr[64]; + if (timestampID > theVisualAudioLab->currTimestampIDOfRenderData) { + if (timestampID - theVisualAudioLab->currTimestampIDOfRenderData > 1) { + sprintf(timestampHitStr, "%d", timestampID - theVisualAudioLab->currTimestampIDOfRenderData); + setProcessInfo("AudioDataHit", timestampHitStr); + } else { + setProcessInfo("AudioDataHit", "1"); + } + } + theVisualAudioLab->currTimestampIDOfRenderData = timestampID; +} + + +bool VisualAudioLab::remainingTimeOfCurrentTrackIsKnown() { + if (theVisualAudioLab->totalTimeOfTrack == 0) { + return false; + } else { + return true; + } +} + + +uint32 VisualAudioLab::getRemainingTimeOfCurrentTrack() { + if (theVisualAudioLab->totalTimeOfTrack == 0) { + return 0; + } + + VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance(); + uint32 elapsedTime = theVisualPlayerState->getElapsedAudioTime(); + if (theVisualAudioLab->totalTimeOfTrack < elapsedTime) { + return 0; + } + return theVisualAudioLab->totalTimeOfTrack - elapsedTime; +} + + +uint32 VisualAudioLab::getTotalTimeOfCurrentTrack() { + return theVisualAudioLab->totalTimeOfTrack; +} + + +sint16 VisualAudioLab::getCurrMusicDataHistory() { + return theVisualAudioLab->currMusicDataHistory; +} + + +sint16 VisualAudioLab::getPrevMusicDataHistory() { + if ((theVisualAudioLab->currMusicDataHistory - 1) < 0) { + return VisualAudioLab::maxNumberOfMusicDataHistory - 1; + } else { + return theVisualAudioLab->currMusicDataHistory - 1; + } +} + + +uint32 VisualAudioLab::getNumberOfWaveformEntries() { + return VisualAudioLab::numberOfAudioWaveformDataEntries; +} + + +uint32 VisualAudioLab::getNumberOfSpectrumEntries() { + return VisualAudioLab::numberOfAudioSpectrumDataEntries; +} + + +uint16 VisualAudioLab::getNumberOfDataChannels() { + return VisualAudioLab::maxNumberOfAudioDataChannels; +} + + +uint16 VisualAudioLab::getMaxNumberOfMusicDataHistories() { + return VisualAudioLab::maxNumberOfMusicDataHistory; +} + + +void VisualAudioLab::incrementMusicDataHistory() { + theVisualAudioLab->currMusicDataHistory++; + if (theVisualAudioLab->currMusicDataHistory == VisualAudioLab::maxNumberOfMusicDataHistory) { + // cycled + theVisualAudioLab->currMusicDataHistory = 0; + } +} + + +void VisualAudioLab::processAudioData(uint8 numWaveformChannels, + uint16 numWaveformEntries, + const uint8* const currWaveformData, + uint8 numSpectrumChannels, + uint16 numSpectrumEntries, + const uint8* const currSpectrumData) { + + theVisualAudioLab->incrementMusicDataHistory(); + theVisualAudioLab->processWaveformData(numWaveformChannels, numWaveformEntries, currWaveformData); + theVisualAudioLab->processSpectrumData(numSpectrumChannels, numSpectrumEntries, currSpectrumData); + +} + + +void VisualAudioLab::processWaveformData(uint8 numWaveformChannels, uint16 numWaveformEntries, const uint8* const currWaveformData) { + + uint16 index; + uint8 channel; + uint16 tappingIdx; + uint32 elapsedMillisecondsSinceStartOfTrack; + uint32 elapsedMilliseconds; + uint32 sampleRate; + uint16 numberOfSamplesToAnalyse; + char infoStr[32]; + char labelStr[32]; + bool hasBeatImpulse = false; + sint8 waveformVal; // -128 ..0.. 127 + static uint16 tappingBufferHighWatermarkIdx = 0; + uint16 numberOfTappingSamplesProcessed = 0; + uint16 tappingStartSampleNum; + uint16 numberOfSamplesToInterpolate; + double lastWaveVal; + double interpolStepVal; + uint32 milliSecsForBeat; + static double deviance = 2.1; + double aRMSMonoValSum; + uint16 aRMSCount; + + elapsedMillisecondsSinceStartOfTrack = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack"); + + elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceLastCall("processWaveformData"); + + sampleRate = static_cast(static_cast(VisualAudioLab::numberOfAudioWaveformDataEntries) * (1000.0 / static_cast(elapsedMilliseconds))); + sprintf(infoStr, "%d",sampleRate); + setProcessInfo ("Audio sampleRate", infoStr); + + + // mean + + for (channel = 0; channel < numWaveformChannels; channel++) { + for (index = 0; index < numWaveformEntries; index++) { + theVisualAudioLab->mean[channel] += (abs)(currWaveformData[channel * numWaveformEntries + index] - 128); + } + theVisualAudioLab->mean[channel] = theVisualAudioLab->mean[channel] / numWaveformEntries; + } + + + theVisualAudioLab->minWaveformValMono = 0; + theVisualAudioLab->maxWaveformValMono = 0; + + + for (channel = 0; channel < numWaveformChannels; channel++) { + + tappingIdx = 0; + + theVisualAudioLab->minWaveformVal[channel] = 0; + theVisualAudioLab->maxWaveformVal[channel] = 0; + theVisualAudioLab->waveformValSum[channel] = 0; + theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] = 0.0; + + theVisualAudioLab->avgWaveformValSumCounter[channel] ++; + + // data + for (index = 0; index < numWaveformEntries; index++) { + + waveformVal = currWaveformData[channel * numWaveformEntries + index] - 128; + + theVisualAudioLab->waveformData[theVisualAudioLab->currMusicDataHistory][channel][index] = waveformVal; + + if (channel == 0) { + theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] = waveformVal; + } else { + theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] += waveformVal; + } + + theVisualAudioLab->waveformValSum[channel] += abs(waveformVal); + theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] += (double)pow(static_cast(abs(waveformVal)) - theVisualAudioLab->mean[channel], 2); + + if (waveformVal < theVisualAudioLab->minWaveformVal[channel]) { + theVisualAudioLab->minWaveformVal[channel] = waveformVal; + } + if (waveformVal > theVisualAudioLab->maxWaveformVal[channel]) { + theVisualAudioLab->maxWaveformVal[channel] = waveformVal; + } + + } + + theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] /= numWaveformEntries; + theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] = sqrt(theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel]); + + sprintf(labelStr, "RMS channel %u", channel); + sprintf(infoStr, "%10.3lf", theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel]); + setProcessInfo (labelStr, infoStr); + + sprintf(labelStr, "MAX waveform channel %u", channel); + sprintf(infoStr, "%d", theVisualAudioLab->maxWaveformVal[channel]); + setProcessInfo (labelStr, infoStr); + + theVisualAudioLab->avgWaveformValSum[channel] = \ + ((theVisualAudioLab->avgWaveformValSum[channel] * ((theVisualAudioLab->avgWaveformValSumCounter[channel])-1) + \ + theVisualAudioLab->waveformValSum[channel]) / theVisualAudioLab->avgWaveformValSumCounter[channel]); + } + + + if (theVisualAudioLab->waveformValSum[0] > theVisualAudioLab->peakWaveformValSum[0]) { + theVisualAudioLab->peakWaveformValSum[0] = theVisualAudioLab->waveformValSum[0]; + } + + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] = 0; + + for (index = 0; index < numWaveformEntries; index++) { + + theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] /= numWaveformChannels; + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] += (double)pow(static_cast(abs(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index])), 2); + if (theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] < theVisualAudioLab->minWaveformValMono) { + theVisualAudioLab->minWaveformValMono = (sint8)theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index]; + } + if (theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] > theVisualAudioLab->maxWaveformValMono) { + theVisualAudioLab->maxWaveformValMono = (sint8)theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index]; + } + } + + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] /= numWaveformEntries; + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] = sqrt(theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]); + //sprintf(infoStr, "%4.4f",theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]); + //setProcessInfo ("rms_mono", infoStr); + + /* + if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > theVisualAudioLab->rmsMonoMax) { + theVisualAudioLab->rmsMonoMax = theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]; + } + */ + + + theVisualAudioLab->rmsBuffer[theVisualAudioLab->currRMSValue].rmsValue = (float)theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]; + theVisualAudioLab->rmsBuffer[theVisualAudioLab->currRMSValue].timeInMillisecondsSinceStartOfTrack = elapsedMillisecondsSinceStartOfTrack; + theVisualAudioLab->currRMSValue++; + if (theVisualAudioLab->currRMSValue == numberOfRMSBufferEntries) { + theVisualAudioLab->currRMSValue = 0; + } + theVisualAudioLab->rmsMonoMax = 0.0; + aRMSMonoValSum = 0.0; + aRMSCount = 0; + for (index = 0; index < numberOfRMSBufferEntries; index++) { + if ((theVisualAudioLab->rmsBuffer[index].timeInMillisecondsSinceStartOfTrack > 0.0) && (theVisualAudioLab->rmsBuffer[index].timeInMillisecondsSinceStartOfTrack > (elapsedMillisecondsSinceStartOfTrack - numberOfMillisecondsOfRMSBuffer))) { + if (theVisualAudioLab->rmsBuffer[index].rmsValue > theVisualAudioLab->rmsMonoMax) { + theVisualAudioLab->rmsMonoMax = theVisualAudioLab->rmsBuffer[index].rmsValue; + } + aRMSMonoValSum += theVisualAudioLab->rmsBuffer[index].rmsValue; + aRMSCount++; + } + } + theVisualAudioLab->rmsMonoAvg = (aRMSMonoValSum / aRMSCount); + + //theVisualAudioLab->rmsMonoAvg = (theVisualAudioLab->rmsMonoAvgSum + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]) / theVisualAudioLab->rmsMonoAvgCount; + //sprintf(infoStr, "%10.3lf", theVisualAudioLab->rmsMonoAvg); + //setProcessInfo ("rmsMono avg", infoStr); + //theVisualAudioLab->rmsMonoAvgSum = theVisualAudioLab->rmsMonoAvgSum + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]; + //sprintf(infoStr, "%f",theVisualAudioLab->rmsMonoAvg); + //setProcessInfo ("rms_mono_avg", infoStr); + + //theVisualAudioLab->amplitudeEnvelope[tappingIdx] += double(waveformVal); + + // tapping + tappingStartSampleNum = tappingBufferHighWatermarkIdx; + for (index = 0; index < numWaveformEntries; index++) { + theVisualAudioLab->tappingBuffer[tappingBufferHighWatermarkIdx] = static_cast(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index]); + tappingBufferHighWatermarkIdx ++; + numberOfTappingSamplesProcessed ++; + if (tappingBufferHighWatermarkIdx == tappingBufferLength) { + tappingBufferHighWatermarkIdx = 0; + } + } + + + // sampleRate = ((float)VisualAudioLab::numberOfAudioWaveformDataEntries/(float)elapsedMilliseconds * 1000.0); + //sampleRate = (float)VisualAudioLab::numberOfAudioWaveformDataEntries * (1000.0 / (float)elapsedMilliseconds); + + // try constant sampleRate 4000 (unsure) + if (sampleRate > 4000) { + numberOfSamplesToAnalyse = (uint16)((float)numWaveformEntries/((float)sampleRate/4000.0)); + } else { + if (elapsedMilliseconds > 1000) { + elapsedMilliseconds = 1000; // Maximum an Interpolation + } + numberOfSamplesToInterpolate = (uint16)((4000.0 * ((float)elapsedMilliseconds) / 1000.0) - numWaveformEntries); + + //cout << "elapsedMilliseconds: " << elapsedMilliseconds << endl; + //cout << numberOfSamplesToInterpolate << " samples fehlen zur konstanten sample rate 6000" << endl; + + // add lost samples + + // linear interpoliert (?) + lastWaveVal = static_cast(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][numWaveformEntries-1]); + interpolStepVal = (abs)((int)(lastWaveVal / numberOfSamplesToInterpolate)); + if (lastWaveVal > 0) { + interpolStepVal = interpolStepVal*-1; + } + + for (index = 0; index < numberOfSamplesToInterpolate; index++) { + theVisualAudioLab->tappingBuffer[tappingBufferHighWatermarkIdx] = lastWaveVal + (interpolStepVal*(index+1)); + tappingBufferHighWatermarkIdx ++; + numberOfTappingSamplesProcessed ++; + if (tappingBufferHighWatermarkIdx == tappingBufferLength) { + tappingBufferHighWatermarkIdx = 0; + } + + } + + numberOfSamplesToAnalyse = numberOfTappingSamplesProcessed; + + //cout << "elapsed: " << elapsedMilliseconds << " nulls: " << numberOfSamplesToInterpolate << " count: " << numberOfSamplesToAnalyse << endl; + } + + + //numberOfSamplesToAnalyse = numberOfSamplesToAnalyse / 2; // pauschale Reduzierung der Datenmenge (?) + + double devianceNow; + devianceNow = theVisualAudioLab->rmsMonoMax - theVisualAudioLab->rmsMonoAvg; + //deviance /= 1.6; + devianceNow = devianceNow / deviance; + //sprintf(infoStr, "%lf", theVisualAudioLab->rmsMonoMax); + //setProcessInfo ("rmsMonoMax", infoStr); + //sprintf(infoStr, "%lf", theVisualAudioLab->rmsMonoAvg); + //setProcessInfo ("rmsMonoAvg", infoStr); + //if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > theVisualAudioLab->rmsMonoAvg) { + milliSecsForBeat = VisualTiming::getElapsedMilliSecsSinceReset("BeatPulse"); + if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > (theVisualAudioLab->rmsMonoAvg + deviance)) { + if (milliSecsForBeat > beatThreshold) { + // maximum bpm: 1000 / beatThreshold * 60 + // so we wait beatThreshold milliseconds until we are free to detect a new beat + hasBeatImpulse = true; + deviance += 0.05; + VisualTiming::resetTimestamp("BeatPulse"); + theVisualAudioLab->addToBeatRecords(); + } + } else { + if (milliSecsForBeat > 800) { + // we must have missed a beat, so lower deviance + deviance -= 0.05; + } + } + + storeBeatImpulse(hasBeatImpulse); + + theVisualAudioLab->calcBeatConfidence(); + + + sprintf(infoStr, "%d", theVisualAudioLab->getBestBeatMSInterval()); + setProcessInfo ("BestBeatGuess", infoStr); + +} + + +void VisualAudioLab::addToBeatRecords() { + uint32 elapsedMilliseconds; + + elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack"); + theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[theVisualAudioLab->currRecordedBeat].timeInMillisecondsSinceStartOfTrack = elapsedMilliseconds; + theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[theVisualAudioLab->currRecordedBeat].confidence = 0; + theVisualAudioLab->currRecordedBeat++; + if (theVisualAudioLab->currRecordedBeat == VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe) { + theVisualAudioLab->currRecordedBeat = 0; + } + +} + + +void VisualAudioLab::resetBeatGapHistogram() { + uint16 i; + for (i = 0; i < VisualAudioLab::maxNumberOfBeatHistogramBins; i++) { + theVisualAudioLab->beatGapHistogram[i] = 0; + } +} + + +void VisualAudioLab::addToBeatGapHistogram(uint16 gapInMilliseconds) { + uint8 beatGapHistogramIdx; + + beatGapHistogramIdx = (gapInMilliseconds / theVisualAudioLab->beatTimeTolerance); + if (beatGapHistogramIdx > (VisualAudioLab::maxNumberOfBeatHistogramBins - 1)) return; + theVisualAudioLab->beatGapHistogram[beatGapHistogramIdx]++; +} + + +void VisualAudioLab::calcBeatConfidence() { + + uint16 j; + uint32 currBeatMSInterval, checkedBeatMSInterval; + sint16 i, prevBeatIndex; + + for (i = 0; i < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; i++) { + beatsRecordedInBeatAnalyseTimeFrame[i].confidence = 0; + } + + for (i = 0; i < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; i++) { + prevBeatIndex = i - 1; + if (prevBeatIndex < 0) { + prevBeatIndex = VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; + } + currBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[i].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[prevBeatIndex].timeInMillisecondsSinceStartOfTrack; + if ((currBeatMSInterval < maximumBeatInterval) && (currBeatMSInterval > beatTimeTolerance)) { + for (j = 0; j < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; j++) { + prevBeatIndex = j - 1; + if (prevBeatIndex < 0) { + prevBeatIndex = VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; + } + checkedBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[j].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[prevBeatIndex].timeInMillisecondsSinceStartOfTrack; + if ((checkedBeatMSInterval < (currBeatMSInterval + beatTimeTolerance)) && (checkedBeatMSInterval > (currBeatMSInterval - beatTimeTolerance))) { + + beatsRecordedInBeatAnalyseTimeFrame[i].confidence++; + + } + } + } + } + +} + + +uint32 VisualAudioLab::getBestBeatMSInterval() { + uint16 maxConfidence = 0; + uint16 beatIndex = 0; + uint32 bestBeatMSInterval; + uint16 i; + for (i = 0; i < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; i++) { + if (beatsRecordedInBeatAnalyseTimeFrame[i].confidence > maxConfidence) { + maxConfidence = beatsRecordedInBeatAnalyseTimeFrame[i].confidence; + beatIndex = i; + } + } + if (beatIndex == 0) { + bestBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[beatIndex].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe].timeInMillisecondsSinceStartOfTrack; + } else { + bestBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[beatIndex].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[beatIndex - 1].timeInMillisecondsSinceStartOfTrack; + } + return bestBeatMSInterval; +} + + +uint8 VisualAudioLab::isBeatMeter(uint32 elapsedMSSinceStartOfTrack) { + uint16 confidenceVal = 0; + uint16 maxConfidence = 0; + uint16 minConfidence = 65000; + for (uint8 index = 0; index < VisualAudioLab::maxNumberOfBeatsRecordedInAnalyseTimeframe; index++) { + if (beatsRecordedInBeatAnalyseTimeFrame[index].timeInMillisecondsSinceStartOfTrack < (elapsedMSSinceStartOfTrack + 100)) { + if (beatsRecordedInBeatAnalyseTimeFrame[index].timeInMillisecondsSinceStartOfTrack > (elapsedMSSinceStartOfTrack - 100)) { + confidenceVal = beatsRecordedInBeatAnalyseTimeFrame[index].confidence; + } + } + if (beatsRecordedInBeatAnalyseTimeFrame[index].confidence > maxConfidence) { + maxConfidence = beatsRecordedInBeatAnalyseTimeFrame[index].confidence; + } + if (beatsRecordedInBeatAnalyseTimeFrame[index].confidence < minConfidence) { + minConfidence = beatsRecordedInBeatAnalyseTimeFrame[index].confidence; + } + } + //printf("confidenceVal: %u\n", confidenceVal); + //printf("b: %f\n", ((float)(maxConfidence - minConfidence) / 2.0f)); + if (confidenceVal > (minConfidence + ((float)(maxConfidence - minConfidence) / 2.0f))) { + return 1; + } else { + return 0; + } +} + + +const uint32* const VisualAudioLab::getBeatHistogram() { + return theVisualAudioLab->beatGapHistogram; +} + + +uint16 VisualAudioLab::getMaxNumberOfWaveformShapeHistory() { + return VisualAudioLab::maxNumberOfWaveformShapeHistory; +} + + +void VisualAudioLab::setMaxNumberOfAudioDataChannels(uint16 aNumberOfMaxAudioDataChannels) { + VisualAudioLab::maxNumberOfAudioDataChannels = aNumberOfMaxAudioDataChannels; +} + + +void VisualAudioLab::setNumberOfAudioWaveformDataEntries(uint32 aNumberOfAudioWaveformDataEntries) { + VisualAudioLab::numberOfAudioWaveformDataEntries = aNumberOfAudioWaveformDataEntries; +} + + +void VisualAudioLab::setNumberOfAudioSpectrumDataEntries(uint32 aNumberOfAudioSpectrumDataEntries) { + VisualAudioLab::numberOfAudioSpectrumDataEntries = aNumberOfAudioSpectrumDataEntries; +} + + +const sint16** const VisualAudioLab::getWaveformDataMonoArray() { + return const_cast(theVisualAudioLab->waveformDataMono); +} + + +const uint8*** const VisualAudioLab::getSpectrumDataArray() { + return const_cast(theVisualAudioLab->spectrumData); +} + + +void VisualAudioLab::processSpectrumData(const uint8 numSpectrumChannels, const uint16 numSpectrumEntries, const uint8* const currSpectrumData) { + uint16 index; + sint32 channel; + uint8 spectrumVal; + + for (channel = 0; channel < numSpectrumChannels; channel++) { + + for (index = 0; index < numSpectrumEntries; index++) { + + spectrumVal = currSpectrumData[channel * numSpectrumEntries + index]; + + theVisualAudioLab->spectrumData[theVisualAudioLab->currMusicDataHistory][channel][index] = spectrumVal; + + if (spectrumVal < theVisualAudioLab->minSpectrumLevel[channel]) { + theVisualAudioLab->minSpectrumLevel[channel] = spectrumVal; + } else if (spectrumVal > theVisualAudioLab->maxSpectrumLevel[channel]) { + theVisualAudioLab->maxSpectrumLevel[channel] = spectrumVal; + } + } + } + +} + + +uint8 VisualAudioLab::getDCIntensity() { + uint8 intensity; + intensity = (uint8)(((float)theVisualAudioLab->spectrumDCLevel/255.0)*100.0); + return intensity; +} + + +uint8 VisualAudioLab::getRMSIntensity() { + uint8 intensity; + intensity = (uint8)((theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] / theVisualAudioLab->rmsMonoMax) * 100.0); + return intensity; +} + + +uint8 VisualAudioLab::getWaveformDataOfChannelAtIndex(const uint16 channel, const uint16 index) { + return theVisualAudioLab->waveformData[theVisualAudioLab->currMusicDataHistory][channel][index] + 128; +} + + +uint8 VisualAudioLab::getMonoWaveformDataAtIndex(const uint16 index) { + return theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] + 128; +} + +/* +void VisualAudioLab::getMonoWaveformData(const uint8* const waveformArr, const uint8 numberOfHistories) { + uint8 historyIndex; + uint16 waveDataIndex; + sint8 aHistory; + if (numberOfHistories > VisualAudioLab::maxNumberOfMusicDataHistory) return; + aHistory = theVisualAudioLab->currMusicDataHistory; + for (historyIndex = 0; historyIndex < numberOfHistories; historyIndex++) { + aHistory++; + if (aHistory == VisualAudioLab::maxNumberOfMusicDataHistory) { + aHistory = 0; + } + for (waveDataIndex = 0; waveDataIndex < VisualAudioLab::numberOfAudioWaveformDataEntries; waveDataIndex++) { + waveformArr[aHistory * numberOfHistories + waveDataIndex] = theVisualAudioLab->waveformDataMono[aHistory][waveDataIndex]; + waveformArr[aHistory * numberOfHistories + waveDataIndex] += 128; + // + 128 (?) + } + } +} +*/ + +uint8 VisualAudioLab::getWaveformDataOfChannelAtIndexWithHistoryNum(const uint16 channel, const uint16 index, const uint16 historyNum) { + return theVisualAudioLab->waveformData[historyNum][channel][index]+128; +} + + +uint8 VisualAudioLab::getMonoWaveformDataAtIndexWithHistoryNum(const uint16 index, const uint16 historyNum) { + return theVisualAudioLab->waveformDataMono[historyNum][index]+128; +} + + +void VisualAudioLab::HannWindow(const int pNumberOfWaveformEntries, double TimeSamples[]) { + int i; + //double PI = 4 * arctan(1); + for (i = 0; i< pNumberOfWaveformEntries; i++) { + TimeSamples[i] = TimeSamples[i] * 0.5 *(1 - cos((2*3.1415926535*i) / (pNumberOfWaveformEntries-1))); + } +} + + +void VisualAudioLab::storeBeatImpulse(bool beatImpulse) { + theVisualAudioLab->isBeatImpulse = beatImpulse; + if (beatImpulse) { + theVisualAudioLab->beatTimeDeltaInMS = VisualTiming::getElapsedMilliSecsSinceReset("beatTimestamp"); + VisualTiming::resetTimestamp("beatTimestamp"); + } +} + + +void VisualAudioLab::checkForBeatImpulse() { + //if (theVisualAudioLab->isBeatImpulse) { + if (theVisualAudioLab->getBeatMeter() == 1) { + VisualNotification::post(kBeatImpulseEvt); + } +} + + +uint8 VisualAudioLab::getBeatMeter() { + uint32 elapsedMilliseconds; + uint32 elapsedMillisecondsSinceLastBeatConfirmed; + uint32 bestGuess; + //char infoStr[32]; + elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack"); + elapsedMillisecondsSinceLastBeatConfirmed = VisualTiming::getElapsedMilliSecsSinceReset("prevPositiveMeter"); + if (theVisualAudioLab->isBeatMeter(elapsedMilliseconds) != 0) { + if (elapsedMillisecondsSinceLastBeatConfirmed > beatThreshold) { + VisualTiming::resetTimestamp("prevPositiveMeter"); + return 1; + } + } else { + bestGuess = theVisualAudioLab->getBestBeatMSInterval(); + if (elapsedMillisecondsSinceLastBeatConfirmed > bestGuess) { + VisualTiming::resetTimestamp("prevPositiveMeter"); + return 1; + } + } + return 0; +} + diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h new file mode 100644 index 0000000000..c83925e241 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h @@ -0,0 +1,600 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAudioLab.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualAudioLab_h +#define VisualAudioLab_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * A collection of routines dealing with processing, analyzing and interpretation of audio data. + */ + class VisualAudioLab { + + public: + + /** + * Returns the VisualAudioLab. The VisualAudiolab is initialized if required. + * The VisualAudioLab is a singleton. + */ + static VisualAudioLab* getInstance(void); + + /** + * Disposes the VisualAudiolab. + */ + static void dispose(void); + + /** + * Processes the audio data chunks. + * With each RenderMessage iTunes delivers waveform data and spectrum data. + * The spectrum data is a fft (Fast Fourier Transform) of the waveform data. + * @param numWaveformChannels The number of waveform data channels. + * @param numWaveformEntries The number of waveform data entries per channel. + * @param currWaveformData A pointer to the waveform data. + * @param numSpectrumChannels The number of spectrum data channels. + * @param numSpectrumEntries The number of spectrum data entries per channel. + * @param currSpectrumData A pointer to the spectrum data. + */ + void processAudioData(uint8 numWaveformChannels, + uint16 numWaveformEntries, + const uint8* const currWaveformData, + uint8 numSpectrumChannels, + uint16 numSpectrumEntries, + const uint8* const currSpectrumData); + + /** + * Resets the stored values of the VisualAudioLab. + * The VisualAudioLab stores analyzed values of an audio track. + * Typically the values are resetted when a new track starts playing. + */ + void resetData(void); + + /** + * Returns the last processed timestampID of the kVisualPluginRenderMessage. + * @return The last processed timestampID of the kVisualPluginRenderMessage. + */ + uint32 getCurrTimestampIDOfRenderData(void); + + /** + * Sets the last processed timestampID of the kVisualPluginRenderMessage. + * @param timestampID The last processed timestampID of the kVisualPluginRenderMessage. + */ + void setCurrTimestampIDOfRenderData(const uint32 timestampID); + + /** + * Stores the total time of the current track. + * @param totalTimeInMS The total time of the currently playing audio track measured in milliseconds. + */ + void setTotalTimeOfCurrentTrack(const uint32 totalTimeInMS); + + /** + * Stores the start time of the current track. + * @param startTimeInMS The start time of the currently playing audio track measured in milliseconds. + */ + void setStartTimeOfCurrentTrack(const uint32 startTimeInMS); + + /** + * Stores the stop time of the current track. + * @param stopTimeInMS The stop time of the currently playing audio track measured in milliseconds. + */ + void setStopTimeOfCurrentTrack(const uint32 stopTimeInMS); + + /** + * Answers the question whether the remaining time of the current track is known. + * Streamed audio has no info about remaining time of current track. + * @return True if the remaining time of the current track is known, false if not. + */ + bool remainingTimeOfCurrentTrackIsKnown(void); + + /** + * Returns the remaining time of the currently playing audio track measured in milliseconds. + * @return The remaining time of the currently playing audio track measured in milliseconds. + */ + uint32 getRemainingTimeOfCurrentTrack(void); + + /** + * Returns the total time of the currently playing audio track measured in milliseconds. + * @return The total time of the currently playing audio track measured in milliseconds. + */ + uint32 getTotalTimeOfCurrentTrack(void); + + /** + * Returns the current music data history. + * @return The current music data history. + */ + sint16 getCurrMusicDataHistory(void); + + /** + * Returns the previous music data history. + * The previous music data history is the one that was current + * before the one that is now current. + * @return The previous music data history. + */ + sint16 getPrevMusicDataHistory(void); + + /** + * Returns the RMS (root-mean-square) intensity. + * The RMS intensity is the computed root-mean-square value. + * @return The RMS intensity. + */ + uint8 getRMSIntensity(void); + + /** + * Returns the single waveform data of a specific channel at a specific index position. + * @param channel The channel. + * @param index The index of the waveform data. + * @return The single waveform data of a specific channel at a specific index position. + */ + uint8 getWaveformDataOfChannelAtIndex(const uint16 channel, const uint16 index); + + /** + * Returns a pointer to the spectrum data array. + * @return A pointer to the spectrum data array. + */ + const uint8*** const getSpectrumDataArray(void); + + /** + * Returns a pointer to the mono waveform data array. + * The mono waveform data consists of the averaged values of the + * waveform data of all available channels. + * @return A pointer to the mono waveform data array. + */ + const sint16** const getWaveformDataMonoArray(void); + + /** + * Returns the waveform data value of a specific index position. + * @param index The index of the requested waveform data. + * @return The mono waveform data at a specific index. + */ + uint8 getMonoWaveformDataAtIndex(const uint16 index); + + /** + * Returns the waveform data of a specific channel of a specific history at a specific index. + * @param channel The cannel of the requested waveform data. + * @param index The index of the requested waveform data. + * @param historyNum The history of the requested waveform data. + * @return The waveform data of a specific channel of a specific history at a specific index. + */ + uint8 getWaveformDataOfChannelAtIndexWithHistoryNum(const uint16 channel, const uint16 index, const uint16 historyNum); + + /** + * Returns the mono waveform data of a specific history at a specific index. + * @param index The index of the requested waveform data. + * @param historyNum The history of the requested waveform data. + * @return The mono waveform data of a specific history at a specific index. + */ + uint8 getMonoWaveformDataAtIndexWithHistoryNum(const uint16 index, const uint16 historyNum); + + /** + * Returns the DC intensity. + * The DC intensity is the intensity of the direct current. + * @return The DC intensity. + */ + uint8 getDCIntensity(void); + + /** + * Checks for the beat impulse and sends a notification in case a beat impulse is detected. + */ + void checkForBeatImpulse(void); + + /** + * Answers the question whether the current timestamp suggests a beat impulse. + * @return 1 if the current timestamp suggests a beat impulse, 0 if not. + */ + uint8 getBeatMeter(void); + + /** + * Processes the sample data with a Hann window. + * @param N The number of samples. + * @param TimeSamples The sample data. + */ + void HannWindow(const int N, double TimeSamples[]); + + /** + * Returns a pointer to the waveform shape array. + * @return A pointer to the waveform shape array. + */ + const sint8* const getWaveformShapeArray(void); + + /** + * Sets the maximum number of audio data channels (2 channels means stereo). + * @param aNumberOfMaxAudioDataChannels The maximum number of audio data channels. + */ + static void setMaxNumberOfAudioDataChannels(uint16 aNumberOfMaxAudioDataChannels); + + /** + * Sets the number of audio waveform data entries. + * @param aNumberOfAudioWaveformDataEntries The number of audio waveform data entries. + */ + static void setNumberOfAudioWaveformDataEntries(uint32 aNumberOfAudioWaveformDataEntries); + + /** + * Sets the number of audio spectrum data entries. + * @param aNumberOfAudioSpectrumDataEntries The number of audio spectrum data entries. + */ + static void setNumberOfAudioSpectrumDataEntries(uint32 aNumberOfAudioSpectrumDataEntries); + + /** + * Returns the number of audio spectrum data entries. + * @return The number of audio spectrum data entries. + */ + uint32 getNumberOfAudioSpectrumDataEntries(void); + + /** + * Returns the number of waveform data entries. + * @return The number of waveform data entries. + */ + uint32 getNumberOfWaveformEntries(void); + + /** + * Returns the number of spectrum data entries. + * @return The number of spectrum data entries. + */ + uint32 getNumberOfSpectrumEntries(void); + + /** + * Returns the maximum history number. + * @return The maximum history number. + */ + uint16 getMaxNumberOfWaveformShapeHistory(void); + + /** + * Returns the number of data channels. + * @return The number of data channels. + */ + uint16 getNumberOfDataChannels(void); + + /** + * Returns the maximum number of histories in waveform data. + * @return The maximum number of histories in waveform data. + */ + uint16 getMaxNumberOfMusicDataHistories(void); + + /** + * Returns a pointer to the histogram of the gaps between detected beat events. + * @return A pointer to the histogram of the gaps between detected beat events. + */ + const uint32* const getBeatHistogram(void); + + private: + + /** The constructor. VisualAudioLab is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualAudioLab(); + + /** The destructor. VisualAudioLab is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualAudioLab(); + + /** + * Copy constructor. + * @param other Another VisualAudioLab. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualAudioLab(const VisualAudioLab& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualAudioLab& operator=(const VisualAudioLab& other); + + /** VisualAudioLab is a singleton class. Pointer to private instance is handled internally. */ + static VisualAudioLab* theVisualAudioLab; + + /** + * Allocates and initializes the buffers of the VisualAudioLab. + */ + void init(void); + + /** + * Processes the waveform data. + * @param numWaveformChannels The number of waveform data channels (e.g. two for stereo sound). + * @param numWaveformEntries The number of data points per channel. + * @param currWaveformData A pointer to the current waveform data. + */ + void processWaveformData(uint8 numWaveformChannels, uint16 numWaveformEntries, const uint8* const currWaveformData); + + /** + * Processes the spectrum data. + * @param numSpectrumChannels The number of spectrum data channels (e.g. two for stereo sound).. + * @param numSpectrumEntries The number of data points per channel. + * @param currSpectrumData A pointer to the current spectrum data. + */ + void processSpectrumData(const uint8 numSpectrumChannels, const uint16 numSpectrumEntries, const uint8* const currSpectrumData); + + /** + * Increments the current history number of music data. + * Music data is stored for a number of histories. + */ + void incrementMusicDataHistory(void); + + /** + * Stores the beat impulse. + * @param beatImpulse True if the current waveform data indicates a beat impulse, false if not. + */ + void storeBeatImpulse(bool beatImpulse); + + /** The total time of the currently playing audio track measured in milliseconds. */ + uint32 totalTimeOfTrack; + + /** The accumulated play time of the current audio track measured in milliseconds. */ + uint32 elapsedTimeOfTrack; + + /** The start time of the currently playing audio track measured in milliseconds. iTunes allows to set a custom start time for a track. */ + uint32 startTimeOfTrack; + + /** The stop time of the currently playing audio track measured in milliseconds. iTunes allows to set a custom stop time for a track. */ + uint32 stopTimeOfTrack; + + /** The last processed timestampID of the kVisualPluginRenderMessage. */ + uint32 currTimestampIDOfRenderData; + + /** The number of music data history. */ + sint8 numberOfMusicDataHistoryInt; + + /** The maximum number of audio data channels (2 channels means stereo). */ + static uint16 maxNumberOfAudioDataChannels; + + /** The number of audio waveform data entries. */ + static uint32 numberOfAudioWaveformDataEntries; + + /** The number of audio spectrum data entries. */ + static uint32 numberOfAudioSpectrumDataEntries; + + /** + * Adds the minimum and maximum waveform data value to the waveform shape. + * @param minWaveformPoint The minimum waveform data value. + * @param maxWaveformPoint The maximum waveform data value. + */ + void addToWaveformShape(sint8 minWaveformPoint, sint8 maxWaveformPoint); + + /** + * Adds a value to beatsRecordedInBeatAnalyseTimeFrame. + */ + void addToBeatRecords(void); + + /** + * Adds a value to beatGapHistogram. + * @param gapInMilliseconds The gap to previous beat detection in milliseconds. + */ + void addToBeatGapHistogram(uint16 gapInMilliseconds); + + /** + * Resets the beatGapHistogram. + */ + void resetBeatGapHistogram(void); + + /** + * Calculates the confidence of the beat estimation. + */ + void calcBeatConfidence(void); + + /** + * Returns the best guess for the beat interval in milliseconds. + * The best guess for the beat interval in milliseconds. + */ + uint32 getBestBeatMSInterval(void); + + /** + * The waveform data array. + * The waveform data array is 3-dimensional with data values, channels and history. + */ + //sint8 waveformData[maxNumberOfMusicDataHistory][kVisualMaxDataChannels][kVisualNumWaveformEntries]; + sint8*** waveformData; + + /** + * The mono waveform data array. + * The mono waveform data array is 2-dimensional with data values, and history. + */ + //sint16 waveformDataMono[maxNumberOfMusicDataHistory][kVisualNumWaveformEntries]; + sint16** waveformDataMono; + + /** + * The spectrum data array. + * The spectrum data array is 3-dimensional with data values, channels and history. + */ + //uint8 spectrumData[maxNumberOfMusicDataHistory][kVisualMaxDataChannels][kVisualNumSpectrumEntries]; + uint8*** spectrumData; + + /** The amplitude envelope array. */ + //double amplitudeEnvelope[kVisualNumWaveformEntries]; + double* amplitudeEnvelope; + + /** The mean values. */ + //SInt32 mean[kVisualMaxDataChannels]; + sint32* mean; + + /** A special buffer for beat detection. */ + //double tappingBuffer[tappingBufferLength]; + double* tappingBuffer; + + /** The rms values. */ + //double rms[maxNumberOfMusicDataHistory][kVisualMaxDataChannels]; + double** rms; + + /** The mono rms values. */ + //double rmsMono[maxNumberOfMusicDataHistory]; + double* rmsMono; + + /** The average rms value. */ + double rmsMonoAvg; + + /** A histogram of the gaps between detected beat events. */ + //uint32 beatGapHistogram[maxNumberOfBeatHistogramBins]; + uint32* beatGapHistogram; + + /** The delta between beats. */ + uint32 beatTimeDeltaInMS; + + /** The maximum mono rms value. Timeframe numberOfMillisecondsOfRMSBuffer. */ + double rmsMonoMax; + + /** The current history number. */ + sint16 currMusicDataHistory; + + /** The minimum spectrum level. 0-128. */ + //uint8 minSpectrumLevel[kVisualMaxDataChannels]; + uint8* minSpectrumLevel; + + /** The maximum spectrum level. 0-128. */ + //uint8 maxSpectrumLevel[kVisualMaxDataChannels]; + uint8* maxSpectrumLevel; + + /** The spectrum DC level. 0-256 (?). Direct Current of FFT (mono). */ + uint8 spectrumDCLevel; + + /** The average spectrum DC level. */ + float avgSpectrumDCLevel; + + /** The sum of the spectrum DC level. sum of data (for calc of avg). */ + float spectrumDCLevelSum; + + /** The minimum waveform data value. 0-255. -128 ...127. */ + //sint8 minWaveformVal[kVisualMaxDataChannels]; + sint8* minWaveformVal; + + /** The maximum waveform data value. 0-255. -128 ...127. */ + //sint8 maxWaveformVal[kVisualMaxDataChannels]; + sint8* maxWaveformVal; + + /** The minimum mono waveform data value. */ + sint8 minWaveformValMono; + + /** The maximum mono waveform data value. */ + sint8 maxWaveformValMono; + + /** The sum of the absolute waveform data values that are higher or lower than 128. */ + //uint32 waveformValSum[kVisualMaxDataChannels]; + uint32* waveformValSum; + + /** The peak values of the sum of the waveform data values. */ + //uint32 peakWaveformValSum[kVisualMaxDataChannels]; + uint32* peakWaveformValSum; + + /** The previous sum of the waveform data values. */ + //uint32 prevWaveformValSum[kVisualMaxDataChannels]; + uint32* prevWaveformValSum; + + /** The average value of the sum of the waveform data values. */ + //uint32 avgWaveformValSum[kVisualMaxDataChannels]; + uint32* avgWaveformValSum; + + /** The counter for the calculation o the average value of the sum of the waveform data values. */ + //uint32 avgWaveformValSumCounter[kVisualMaxDataChannels]; + uint32* avgWaveformValSumCounter; + + /** 1 if the current waveform data indicates a beat impulse, 0 if not. */ + bool isBeatImpulse; + + /** The smallest time a beat is considered to be the same. Measured in milliseconds. */ + static const uint8 beatTimeTolerance; + + /** The threshold after which we are free to detect a new beat. Measured in milliseconds. */ + static const uint16 beatThreshold; + + /** The time frame in which beats are recorded and analysed. Measured in milliseconds. */ + static const uint16 beatAnalyseTimeFrame; + + /** The maximum beat interval. Measured in milliseconds. */ + static const uint16 maximumBeatInterval; + + /** The number of milliseconds rms values are collected. */ + static const uint16 numberOfMillisecondsOfRMSBuffer; + + /** + * The number of records in rmsBuffer. + * Must be greater than: Audio sample rate (44100) / kVisualNumWaveformEntries * (numberOfMillisecondsOfRMSBuffer / 1000). + */ + static const uint16 numberOfRMSBufferEntries; + + static const uint16 maxNumberOfWaveformShapeHistory; + + static const uint16 maxNumberOfMusicDataHistory; + + static const uint16 tappingBufferLength; + + static const uint16 maxNumberOfBeatHistogramBins; + + static const uint16 maxNumberOfBeatsRecordedInAnalyseTimeframe; + + /** + * Struct with values concerning rms (root mean square) values. + */ + typedef struct { + float rmsValue; /**< The rms value. */ + uint32 timeInMillisecondsSinceStartOfTrack; /**< The number of milliseconds elapsed since start of audio track. */ + } RMSValue; + + /** + * Array containg rms mono values for the last numberOfMillisecondsOfRMSBuffer milliseconds. Ringbuffer. + * RMSValues with ((currentMSSinceStartOfTrack - timeInMillisecondsSinceStartOfTrack) > numberOfMillisecondsOfRMSBuffer) are discarded. + */ + RMSValue rmsBuffer[2000]; + + /** The current index of array rmsBuffer. */ + uint16 currRMSValue; + + /** The current index of array beatsRecordedInBeatAnalyseTimeFrame. */ + uint8 currRecordedBeat; + + /** + * Struct with values concerning beat estimation. + */ + typedef struct { + uint32 timeInMillisecondsSinceStartOfTrack; /**< The number of milliseconds elapsed since start of audio track. */ + uint16 confidence; /**< The strength of the beatGuess. */ + } BeatGuess; + + /** Array in which the detected beats are stored with their elapsed milliseconds timestamp since start of track. Ringbuffer. */ + //BeatGuess beatsRecordedInBeatAnalyseTimeFrame[maxNumberOfBeatsRecordedInAnalyseTimeframe]; + BeatGuess* beatsRecordedInBeatAnalyseTimeFrame; + + /** + * + * @param elapsedMSSinceStartOfTrack The number of milliseconds elapsed since start of audio track. + * @return 1 if time is in frame of beat meter, 0 if not. + */ + uint8 isBeatMeter(uint32 elapsedMSSinceStartOfTrack); + + }; + +} + +#endif /* VisualAudioLab_h */ + + diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp new file mode 100644 index 0000000000..f338c60224 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp @@ -0,0 +1,237 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAudioMetaData.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualAudioMetaData.h" +#include "VisualDataStore.h" +#include "VisualString.h" +#include "VisualErrorHandling.h" +#include "VisualMainAction.h" +#include "VisualItemIdentifier.h" + + +using namespace VizKit; + + +VisualAudioMetaData::VisualAudioMetaData() { + trackIdentifier = NULL; + init(); +} + + +VisualAudioMetaData::~VisualAudioMetaData() { + delete trackIdentifier; +} + + +VisualAudioMetaData::VisualAudioMetaData(const VisualAudioMetaData& other) { + this->copy(other); +} + + +VisualAudioMetaData& VisualAudioMetaData::operator=(const VisualAudioMetaData& other) { + + if (this == &other) return *this; + + delete this->trackIdentifier; + + this->copy(other); + + return *this; +} + + +bool VisualAudioMetaData::operator==(const VisualAudioMetaData& other) { + bool compareResult = false; + if ((this->trackSizeInBytes == other.trackSizeInBytes) && + (this->trackName == other.trackName) && + (this->trackArtist == other.trackArtist) && + (this->trackAlbum == other.trackAlbum) && + (this->isStream == other.isStream) && + (this->streamTitle == other.streamTitle)) { + compareResult = true; + } + return compareResult; +} + + +bool VisualAudioMetaData::operator!=(const VisualAudioMetaData& other) { + return !(*this == other); +} + + +void VisualAudioMetaData::copy(const VisualAudioMetaData& other) { + this->trackName = other.trackName; + this->trackArtist = other.trackArtist; + this->trackAlbum = other.trackAlbum; + this->trackLyrics = other.trackLyrics; + this->streamTitle = other.streamTitle; + this->trackSizeInBytes = other.trackSizeInBytes; + this->isStream = other.isStream; + this->trackIdentifier = new VisualItemIdentifier(*(other.trackIdentifier)); +} + + +void VisualAudioMetaData::setIsStream(bool isAStream) { + this->isStream = isAStream; +} + + +void VisualAudioMetaData::setTrackName(const VisualString& aTrackName) { + this->trackName = aTrackName; +} + + +void VisualAudioMetaData::setTrackArtist(const VisualString& aTrackArtist) { + this->trackArtist = aTrackArtist; +} + + +void VisualAudioMetaData::setTrackAlbum(const VisualString& aTrackAlbum) { + this->trackAlbum = aTrackAlbum; +} + + +void VisualAudioMetaData::setTrackLyrics(const VisualString& someTrackLyrics) { + this->trackLyrics = someTrackLyrics; +} + + +void VisualAudioMetaData::setTrackComposer(const VisualString& aComposer) { + this->trackComposer = aComposer; +} + + +void VisualAudioMetaData::setStreamTitle(const VisualString& aStreamTitle) { + this->streamTitle = aStreamTitle; +} + + +void VisualAudioMetaData::setStreamMessage(const VisualString& aStreamMessage) { + this->streamMessage = aStreamMessage; +} + + +void VisualAudioMetaData::setStreamURL(const VisualString& aStreamURL) { + this->streamURL = aStreamURL; +} + + +void VisualAudioMetaData::setTrackSizeInBytes(uint32 aTrackSizeInBytes) { + this->trackSizeInBytes = aTrackSizeInBytes; +} + + +void VisualAudioMetaData::setYear(uint16 aYear) { + this->year = aYear; +} + + +const VisualString& VisualAudioMetaData::getTrackName() { + return this->trackName; +} + + +const VisualString& VisualAudioMetaData::getTrackArtist() { + return this->trackArtist; +} + + +const VisualString& VisualAudioMetaData::getTrackAlbum() { + return this->trackAlbum; +} + + +const VisualString& VisualAudioMetaData::getTrackLyrics() { + return this->trackLyrics; +} + + +const VisualString& VisualAudioMetaData::getTrackComposer() { + return this->trackComposer; +} + + +const VisualString& VisualAudioMetaData::getStreamTitle() { + return this->streamTitle; +} + + +const VisualString& VisualAudioMetaData::getStreamMessage() { + return this->streamMessage; +} + + +const VisualString& VisualAudioMetaData::getStreamURL() { + return this->streamURL; +} + + +uint32 VisualAudioMetaData::getTrackSizeInBytes() { + return this->trackSizeInBytes; +} + + +uint16 VisualAudioMetaData::getYear() { + return this->year; +} + + +VisualItemIdentifier VisualAudioMetaData::getTrackIdentifier() { + return *this->trackIdentifier; +} + + +bool VisualAudioMetaData::getIsStream() { + return this->isStream; +} + + +void VisualAudioMetaData::init() { + this->isStream = false; + this->trackSizeInBytes = 0; + this->year = 0; + this->trackName.clear(); + this->trackArtist.clear(); + this->trackAlbum.clear(); + this->trackLyrics.clear(); + this->trackComposer.clear(); + this->streamTitle.clear(); + this->streamMessage.clear(); + this->streamURL.clear(); + if (this->trackIdentifier != NULL) { + delete this->trackIdentifier; + } + this->trackIdentifier = new VisualItemIdentifier; +} diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h new file mode 100644 index 0000000000..440ca95319 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h @@ -0,0 +1,279 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAudioMetaData.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualAudioMetaData_h +#define VisualAudioMetaData_h + + +#include "VisualTypes.h" +#include "VisualString.h" + + +namespace VizKit { + + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + + /** + * Meta data (like track name, artist name, or lyrics, etc.) of audio track or audio stream. + */ + class VisualAudioMetaData { + + public: + + /** + * Constructor. + */ + VisualAudioMetaData(); + + /** + * Destructor. + */ + ~VisualAudioMetaData(); + + /** + * Copy constructor. + * @param other Another VisualAudioMetaData. + */ + VisualAudioMetaData(const VisualAudioMetaData& other); + + /** + * Assignment operator. + */ + VisualAudioMetaData& operator=(const VisualAudioMetaData& other); + + /** + * Equality operator. + * @param other Another VisualAudioMetaData. + */ + bool operator==(const VisualAudioMetaData& other); + + /** + * Inequality operator. + * @param other Another VisualAudioMetaData. + */ + bool operator!=(const VisualAudioMetaData& other); + + /** + * Resets the values of the audio meta data to their initial default empty values. + */ + void init(void); + + /** + * Sets whether data belongs to stream or track. + * @param isAStream If true data is stream meta data. If false data is track meta data. + */ + void setIsStream(bool isAStream); + + /** + * Sets the name of the track. + * @param aTrackName The name of the track. + */ + void setTrackName(const VisualString& aTrackName); + + /** + * Sets the artist of the track. + * @param aTrackArtist The name of the track artist. + */ + void setTrackArtist(const VisualString& aTrackArtist); + + /** + * Sets the name of the album. + * @param aTrackAlbum The name of the album the track belongs to. + */ + void setTrackAlbum(const VisualString& aTrackAlbum); + + /** + * Sets the lyrics of the track. + * @param someTrackLyrics The lyrics of the track. + */ + void setTrackLyrics(const VisualString& someTrackLyrics); + + /** + * Sets the composer of the track. + * @param aComposer The composer of the track. + */ + void setTrackComposer(const VisualString& aComposer); + + /** + * Sets the title of a stream. + * @param aStreamTitle The title of a stream. + */ + void setStreamTitle(const VisualString& aStreamTitle); + + /** + * Sets the message of a stream. + * @param aStreamMessage The message of a stream. + */ + void setStreamMessage(const VisualString& aStreamMessage); + + /** + * Sets the URL of a stream. + * @param aStreamURL The URL of a stream. + */ + void setStreamURL(const VisualString& aStreamURL); + + /** + * Sets the size of the track in bytes. + * @param aTrackSizeInBytes The size of the track in bytes. + */ + void setTrackSizeInBytes(uint32 aTrackSizeInBytes); + + /** + * Sets the year of the audio data. + * @param aYear The year of the audio data. + */ + void setYear(uint16 aYear); + + /** + * Returns the name of the track. + * @return The name of the track. + */ + const VisualString& getTrackName(void); + + /** + * Returns the artist of the track. + * @return The artist of the track. + */ + const VisualString& getTrackArtist(void); + + /** + * Returns the name of the album. + * @return The name of the album the track belongs to. + */ + const VisualString& getTrackAlbum(void); + + /** + * Returns the lyrics of the track. + * @return The lyrics of the track. + */ + const VisualString& getTrackLyrics(void); + + /** + * Returns the composer of the track. + * @return The composer of the track. + */ + const VisualString& getTrackComposer(void); + + /** + * Returns the title of a stream. + * @return The title of a stream. + */ + const VisualString& getStreamTitle(void); + + /** + * Returns the message of a stream. + * @return The message of a stream. + */ + const VisualString& getStreamMessage(void); + + /** + * Returns the URL of a stream. + * @return The URL of a stream. + */ + const VisualString& getStreamURL(void); + + /** + * Returns the size of the track in bytes. + * @return The size of the track in bytes. + */ + uint32 getTrackSizeInBytes(void); + + /** + * Returns the year of the audio data in bytes. + * @return The year of the audio data in bytes. + */ + uint16 getYear(void); + + /** + * Returns the unique identifer of the track for the meta data. + * @return The unique identifer of the track for the meta data. + */ + VisualItemIdentifier getTrackIdentifier(void); + + /** + * Answers the question whether audio meta data belongs to stream or track. + * @return True if audio meta data belongs to stream. False if audio meta data belongs to track. + */ + bool getIsStream(void); + + private: + + /** True if audio meta data belongs to stream. False if audio meta data belongs to track. */ + bool isStream; + + /** Name of audio track. */ + VisualString trackName; + + /** Name of track artist. */ + VisualString trackArtist; + + /** Name of album the track belongs to. */ + VisualString trackAlbum; + + /** Lyrics of track. */ + VisualString trackLyrics; + + /** Composer of track. */ + VisualString trackComposer; + + /** Title of a stream. */ + VisualString streamTitle; + + /** Message of a stream. */ + VisualString streamMessage; + + /** URL of a stream. */ + VisualString streamURL; + + /** Size of audio track in bytes. */ + uint32 trackSizeInBytes; + + /** The year of the audio track. */ + uint16 year; + + /** The identifier of the audio track. */ + VisualItemIdentifier* trackIdentifier; + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualAudioMetaData. + */ + void copy(const VisualAudioMetaData& other); + + }; + +} + +#endif /* VisualAudioMetaData_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp new file mode 100644 index 0000000000..d947307970 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp @@ -0,0 +1,616 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAnimation.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualAnimation.h" +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" +#include "VisualTiming.h" +#include "VisualTimeline.h" +#include "VisualErrorHandling.h" +#include "VisualAnimationQueue.h" +#include "VisualGraphics.h" +#include "VisualCamera.h" + + +using namespace VizKit; + + +const uint32 VisualAnimation::maxNumberOfDebugHistoryEntries = 700; + + +VisualAnimation::VisualAnimation(AnimatedProperty theAnimatedProperty, bool aDebugMode) { + if (aDebugMode == true) { + writeLog("VisualAnimation::VisualAnimation"); + } + theTimeline = new VisualTimeline(aDebugMode); + animatedProperty = theAnimatedProperty; + remainingNumberOfRepeats = 0; + animateCallback = NULL; + animationUserData = NULL; + performAnyAdditionalActionCallback = NULL; + performAnyAdditionalActionCallbackUserData = NULL; + startDelayInMilliseconds = 0; + status = kIsNotRunning; + debugMode = aDebugMode; + currDebugHistoryEntry = 0; + collectionIdentifier = NULL; + enclosingAsset = NULL; + doStartAnimationWithCurrentPropertyValue = true; + startValue = 0.0; + stopValue = 1.0; + speed = theTimeline->getDistance() / theTimeline->getDurationInMilliseconds(); + setSpeed(speed); + if (aDebugMode == true) { + for (size_t i = 0; i < this->maxNumberOfDebugHistoryEntries; i++) { + debugHistory.push_back(0.0); + } + debugHistoryIsInitialized = true; + } else { + debugHistoryIsInitialized = false; + } + willDieCallback = NULL; + willDieCallbackUserData = NULL; +} + + +VisualAnimation::~VisualAnimation() { + delete theTimeline; + debugHistory.clear(); + if (collectionIdentifier != NULL) { + delete collectionIdentifier; + } +} + + +VisualAnimation::VisualAnimation(const VisualAnimation& other) : VisualAnimationComponent(other) { + copy(other); +} + + +VisualAnimation& VisualAnimation::operator=(const VisualAnimation& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + delete this->theTimeline; + if (this->collectionIdentifier != NULL) { + delete this->collectionIdentifier; + } + + this->copy(other); + + return *this; +} + + +VisualAnimationComponent* VisualAnimation::clone(void) const { + return new VisualAnimation(*this); +} + + +void VisualAnimation::copy(const VisualAnimation& other) { + // deep copy + if (other.debugMode == true) { + writeLog("VisualAnimation::copy"); + } + this->theTimeline = new VisualTimeline(*other.theTimeline); + this->animatedProperty = other.animatedProperty; + this->remainingNumberOfRepeats = other.remainingNumberOfRepeats; + this->animateCallback = other.animateCallback; + this->animationUserData = other.animationUserData; + this->performAnyAdditionalActionCallback = other.performAnyAdditionalActionCallback; + this->performAnyAdditionalActionCallbackUserData = other.performAnyAdditionalActionCallbackUserData; + this->startDelayInMilliseconds = other.startDelayInMilliseconds; + this->status = other.status; + this->debugMode = other.debugMode; + this->currDebugHistoryEntry = other.currDebugHistoryEntry; + this->debugHistory = other.debugHistory; + this->debugHistoryIsInitialized = other.debugHistoryIsInitialized; + this->doStartAnimationWithCurrentPropertyValue = other.doStartAnimationWithCurrentPropertyValue; + this->startValue = other.startValue; + this->stopValue = other.stopValue; + if (other.collectionIdentifier != NULL) { + this->collectionIdentifier = new VisualItemIdentifier(*(other.collectionIdentifier)); + } else { + this->collectionIdentifier = NULL; + } + this->enclosingAsset = other.enclosingAsset; + this->willDieCallback = other.willDieCallback; + this->willDieCallbackUserData = other.willDieCallbackUserData; +} + + +void VisualAnimation::setAnimateCallbackFunctionPtr(VisualAnimationAnimateCallback theCallback, void* someUserData) { + this->animateCallback = theCallback; + this->animationUserData = someUserData; +} + + +void VisualAnimation::setIdentifierOfParentCollection(const VisualItemIdentifier& aCollectionIdentifier) { + if (this->collectionIdentifier != NULL) { + delete this->collectionIdentifier; + } + this->collectionIdentifier = new VisualItemIdentifier(aCollectionIdentifier); +} + + +void VisualAnimation::handleOneCollectionItemAnimationDied() { + char errLog[256]; + sprintf(errLog, "Err: VisualAnimation is unable to handle collection animations in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return; +} + + +VisualAnimationComponent* VisualAnimation::getVisualAnimation(const VisualItemIdentifier& anAnimationIdentifier) { + if (VisualObject::getIdentifier() == anAnimationIdentifier) { + return this; + } else { + return NULL; + } +} + + +void VisualAnimation::animate() { + + double currVal = this->theTimeline->getCurrentValue(); + + if (this->debugMode == true) { + this->debugHistory[this->currDebugHistoryEntry] = currVal; + VisualCamera* aCamera = VisualCamera::createDefaultCamera(); + VisualGraphics::drawHistoryDiagram(this->debugHistory, this->currDebugHistoryEntry, 0.0, 1.0, *aCamera); + delete aCamera; + if ((this->currDebugHistoryEntry + 1) < this->maxNumberOfDebugHistoryEntries) { + this->currDebugHistoryEntry++; + } else { + this->currDebugHistoryEntry = 0; + } + char logStr[128]; + sprintf(logStr, "VisualAnimation::animate currVal: %f", currVal); + writeLog(logStr); + } + this->animateCallback(currVal, this->animationUserData); + if (this->performAnyAdditionalActionCallback != NULL) { + this->performAnyAdditionalActionCallback(this, this->performAnyAdditionalActionCallbackUserData); + } +} + + +void VisualAnimation::start() { + if (this->startDelayInMilliseconds > 0) { + return; + } + if (this->remainingNumberOfRepeats == 0) { + this->remainingNumberOfRepeats = 1; + } + this->theTimeline->start(); + this->status = kIsRunning; + this->animate(); +} + + +void VisualAnimation::stop() { + this->status = kIsReadyToDie; + if (this->collectionIdentifier != NULL) { + VisualAnimationComponent* animationCollection = VisualAnimationQueue::getVisualAnimation(*(this->collectionIdentifier)); + if (animationCollection != NULL) { + animationCollection->handleOneCollectionItemAnimationDied(); + } else { + char errLog[256]; + sprintf(errLog, "CollectionAnimation not found in in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + + } +} + + +void VisualAnimation::setDurationInMilliseconds(uint32 numberOfMilliseconds) { + this->theTimeline->setDurationInMilliseconds(numberOfMilliseconds); + this->speed = this->calcSpeed(this->theTimeline->getDistance(), this->theTimeline->getDurationInMilliseconds()); + this->durationSpeedConstraint = kDurationBound; +} + + +uint32 VisualAnimation::getDurationInMilliseconds() const { + return this->theTimeline->getDurationInMilliseconds(); +} + + +void VisualAnimation::setCurrentValue(double aCurrentValue) { + AnimationSpeed prevSpeed = this->getSpeed(); + bool adjustedDistanceAndDuration = this->theTimeline->setCurrentValue(aCurrentValue); + if (adjustedDistanceAndDuration == true) { + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } + } + // aCurrentValue might be out of range of this->startValue and this->stopValue + double maxValue = (this->startValue > this->stopValue) ? this->startValue : this->stopValue; + double minValue = (this->startValue < this->stopValue) ? this->startValue : this->stopValue; + if ((aCurrentValue < minValue) || (aCurrentValue > maxValue)) { + this->startValue = aCurrentValue; + this->doStartAnimationWithCurrentPropertyValue = true; + } + if (this->doStartAnimationWithCurrentPropertyValue == true) { + // movingDirection might need to change (we want to arrive at the stop position by way of the shortest distance) + MovingDirection movingDirection = this->theTimeline->getMovingDirection(); + double theCurrentValue = this->theTimeline->getCurrentValue(); + if ((movingDirection == kAscending) && theCurrentValue > this->stopValue) { + this->theTimeline->toggleMovingDirection(); + } else if ((movingDirection == kDescending) && theCurrentValue < this->stopValue) { + this->theTimeline->toggleMovingDirection(); + } + } + +} + + +double VisualAnimation::getCurrentValue() const { + return this->theTimeline->getCurrentValue(); +} + + +void VisualAnimation::setStartValue(double aStartValue, bool startAnimationWithCurrentPropertyValue) { + AnimationSpeed prevSpeed = this->getSpeed(); + this->theTimeline->setStartValue(aStartValue); + this->startValue = aStartValue; + this->doStartAnimationWithCurrentPropertyValue = startAnimationWithCurrentPropertyValue; + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } +} + + +void VisualAnimation::setStartValue(const VisualStagePosition& aPosition, bool startAnimationWithCurrentPropertyValue) { + AnimationSpeed prevSpeed = this->getSpeed(); + //this->theTimeline->setStartValue(aStartValue); + //this->startValue = aStartValue; + this->startValueVisualStagePosition = aPosition; + this->doStartAnimationWithCurrentPropertyValue = startAnimationWithCurrentPropertyValue; + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } +} + + +double VisualAnimation::getStartValue() const { + return this->startValue; +} + + +void VisualAnimation::setStopValue(double aStopValue) { + AnimationSpeed prevSpeed = this->getSpeed(); + theTimeline->setStopValue(aStopValue); + this->stopValue = aStopValue; + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } +} + + +void VisualAnimation::setStopValue(const VisualStagePosition& aPosition) { + AnimationSpeed prevSpeed = this->getSpeed(); + //theTimeline->setStopValue(aStopValue); + //this->stopValue = aStopValue; + this->stopValueVisualStagePosition = aPosition; + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } +} + + +double VisualAnimation::getStopValue() const { + return this->stopValue; +} + + +void VisualAnimation::setLoopMode(LoopMode aLoopMode, sint32 requestedNumberOfLoops) { + if ((aLoopMode & kMirroredLoop) == kMirroredLoop) { + theTimeline->setRepeatMode(kRepeatMirrored); + } else if ((aLoopMode & kLoop) == kLoop) { + theTimeline->setRepeatMode(kRepeatFromStart); + } + this->remainingNumberOfRepeats = requestedNumberOfLoops; +} + + +void VisualAnimation::setInterpolationType(InterpolationType anInterpolationType) { + this->theTimeline->setInterpolationType(anInterpolationType); +} + + +uint32 VisualAnimation::getStartDelayInMilliseconds() const { + return this->startDelayInMilliseconds; +} + + +void VisualAnimation::setStartDelayInMilliseconds(uint32 aStartDelayInMilliseconds) { + this->startDelayInMilliseconds = aStartDelayInMilliseconds; +} + + +void VisualAnimation::setCallbackToPerformAnyAdditionalAction(VisualAnimationPerformAnyAdditionalActionCallback theCallback, void* userData) { + this->performAnyAdditionalActionCallback = theCallback; + this->performAnyAdditionalActionCallbackUserData = userData; +} + + +void VisualAnimation::setCallbackToNotifyBeforeDeath(VisualAnimationWillDieCallback theCallback, void* userData) { + this->willDieCallback = theCallback; + this->willDieCallbackUserData = userData; +} + + +void VisualAnimation::notifyBeforeDeath() { + if (this->willDieCallback != NULL) { + this->willDieCallback(this, this->willDieCallbackUserData); + } +} + + +AnimatedProperty VisualAnimation::getAnimatedProperty() const { + return this->animatedProperty; +} + + +MovingDirection VisualAnimation::getMovingDirection(void) const { + return this->theTimeline->getMovingDirection(); +} + + +RepeatMode VisualAnimation::getRepeatMode(void) const { + return this->theTimeline->getRepeatMode(); +} + + +void VisualAnimation::update() { + if (this->status == kIsNotRunning) { + if (this->startDelayInMilliseconds > 0) { + uint32 elapsedMillisecondsOfDelay = VisualTiming::getElapsedMilliSecsSinceReset(VisualObject::getIdentifier()); + if (elapsedMillisecondsOfDelay > this->startDelayInMilliseconds) { + this->startDelayInMilliseconds = 0; + VisualTiming::resetTimestamp(VisualObject::getIdentifier()); + this->start(); + } + } + } else if (this->status == kIsRunning) { + MovingDirection movingDirection = this->theTimeline->getMovingDirection(); + TimelineUpdateResult result = this->theTimeline->update(); + bool animateFinalValue = false; + double endValue = 0.0; + if (movingDirection == kAscending) { + if (this->startValue < this->stopValue) { + endValue = this->stopValue; + } else { + endValue = this->startValue; + } + } else if (movingDirection == kDescending) { + if (this->startValue < this->stopValue) { + endValue = this->startValue; + } else { + endValue = this->stopValue; + } + } + if (result != kTimelineUpdateOK) { + if (this->debugMode == true) { + char resultStr[128]; + VisualTimeline::convertTimelineUpdateResultToString(result, resultStr); + char logStr[128]; + sprintf(logStr, "VisualAnimation::update: TimelineUpdateResult == %s", resultStr); + writeLog(logStr); + } + animateFinalValue = true; + } else { + if (movingDirection == kAscending) { + if (this->theTimeline->getCurrentValue() >= endValue) { + if (this->debugMode == true) { + writeLog("VisualAnimation::update: this->theTimeline->getCurrentValue() >= endValue"); + } + animateFinalValue = true; + } + } else if (movingDirection == kDescending) { + if (this->theTimeline->getCurrentValue() <= endValue) { + if (this->debugMode == true) { + writeLog("VisualAnimation::update: this->theTimeline->getCurrentValue() <= endValue"); + } + animateFinalValue = true; + } + } + } + if (animateFinalValue == true) { + this->animateCallback(endValue, this->animationUserData); + this->durationIsExceeded(); + } + } +} + + +bool VisualAnimation::isRunning() const { + if (this->status == kIsRunning) { + return true; + } else { + return false; + } +} + + +bool VisualAnimation::isReadyToDie(void) const { + if (this->status == kIsReadyToDie) { + return true; + } else { + return false; + } +} + + +void VisualAnimation::setDebugMode(bool requestedDebugMode) { + this->debugMode = requestedDebugMode; + this->theTimeline->setDebugMode(requestedDebugMode); + if (this->debugHistoryIsInitialized == false) { + for (size_t i = 0; i < this->maxNumberOfDebugHistoryEntries; i++) { + debugHistory.push_back(0.0); + } + this->debugHistoryIsInitialized = true; + } +} + + +void VisualAnimation::durationIsExceeded() { + if (this->remainingNumberOfRepeats != kInfiniteRepetition) { + this->decrementRemainingNumberOfRepeats(); + } +} + + +void VisualAnimation::decrementRemainingNumberOfRepeats() { + if (this->remainingNumberOfRepeats > 1) { + this->remainingNumberOfRepeats--; + } else { + this->stop(); + } +} + + +void VisualAnimation::preparePriorToAddingToAsset(VisualAsset& visualAsset) { + + VisualAnimationQueue::removeVisualAnimationsWithOwnerIdentifier(visualAsset.getIdentifier(), this->animatedProperty); + + if (this->doStartAnimationWithCurrentPropertyValue == true) { + this->setCurrentTimelineValueToCurrentPropertyValue(visualAsset, this->animatedProperty); + } + + if (this->animatedProperty == kAnimatedOpacity) { + this->setAnimateCallbackFunctionPtr(VisualAsset::animateOpacity, (void*)&visualAsset); + } else if (this->animatedProperty == kAnimatedRotation) { + this->setAnimateCallbackFunctionPtr(VisualAsset::animateRotation, (void*)&visualAsset); + } else if (this->animatedProperty == kAnimatedSize) { + this->setAnimateCallbackFunctionPtr(VisualAsset::animateScaleFactor, (void*)&visualAsset); + } else if (this->animatedProperty == kAnimatedLocation) { + visualAsset.setStartValueVisualStagePosition(this->startValueVisualStagePosition); + visualAsset.setStopValueVisualStagePosition(this->stopValueVisualStagePosition); + this->setAnimateCallbackFunctionPtr(VisualAsset::animateLocation, (void*)&visualAsset); + } + + this->enclosingAsset = &visualAsset; + +} + + +const VisualAsset* const VisualAnimation::getEnclosingAsset(void) const { + return this->enclosingAsset; +} + + +void VisualAnimation::setSpeed(AnimationSpeed animationSpeed) { + if (this->debugMode == true) { + char logStr[128]; + sprintf(logStr, "VisualAnimation::setSpeed: %f", animationSpeed); + writeLog(logStr); + } + //double timelineStartValue = 0.0; + //MovingDirection movingDirection = this->theTimeline->getMovingDirection(); + double distance = this->theTimeline->getDistance(); + uint32 newDuration = (uint32)(distance / (double)animationSpeed); + if (this->debugMode == true) { + char logStr[128]; + sprintf(logStr, "VisualAnimation::setSpeed: newDuration: %d (distance: %f)", newDuration, distance); + writeLog(logStr); + } + this->theTimeline->setDurationInMilliseconds(newDuration); + /* + if (movingDirection == kAscending) { + timelineStartValue = theTimeline->getMaxValue() - (this->theTimeline->getDurationInMilliseconds() * animationSpeed); + } else if (movingDirection == kDescending) { + timelineStartValue = theTimeline->getMinValue() + (this->theTimeline->getDurationInMilliseconds() * animationSpeed); + } + theTimeline->setStartValue(timelineStartValue); + */ + this->speed = animationSpeed; + this->durationSpeedConstraint = kSpeedBound; +} + + +AnimationSpeed VisualAnimation::getSpeed(void) const { + return this->speed; +} + + +AnimationSpeed VisualAnimation::calcSpeed(double aStartValue, double aStopValue, uint32 aDurationInMilliseconds) { + double aDistance = 0.0; + if (aStartValue < aStopValue) { + aDistance = aStopValue - aStartValue; + } else { + aDistance = aStartValue - aStopValue; + } + return VisualAnimation::calcSpeed(aDistance, aDurationInMilliseconds); +} + + +AnimationSpeed VisualAnimation::calcSpeed(double aDistance, uint32 aDurationInMilliseconds) { + return (aDistance / static_cast(aDurationInMilliseconds)); +} + + +uint32 VisualAnimation::calcDurationInMilliseconds(double aDistance, AnimationSpeed aSpeed) { + return static_cast(aDistance / static_cast(aSpeed)); +} + + +void VisualAnimation::setCurrentTimelineValueToCurrentPropertyValue(const VisualAsset& visualAsset, AnimatedProperty anAnimatedProperty) { + AnimationSpeed prevSpeed = this->getSpeed(); + bool adjustedDistanceAndDuration = false; + if (anAnimatedProperty == kAnimatedLocation) { + adjustedDistanceAndDuration = this->theTimeline->setCurrentValue(visualAsset.getCurrentAnimationValueForAnimatedLocation(this->startValueVisualStagePosition, this->stopValueVisualStagePosition)); + } else { + adjustedDistanceAndDuration = this->theTimeline->setCurrentValue(visualAsset.getCurrentAnimationValueOfProperty(anAnimatedProperty)); + } + // movingDirection might need to change (we want to arrive at the stop position by way of the shortest distance) + MovingDirection movingDirection = this->theTimeline->getMovingDirection(); + double theCurrentValue = this->theTimeline->getCurrentValue(); + if ((movingDirection == kAscending) && theCurrentValue > this->stopValue) { + this->startValue = theCurrentValue; + this->theTimeline->toggleMovingDirection(); + } else if ((movingDirection == kDescending) && theCurrentValue < this->stopValue) { + this->startValue = theCurrentValue; + this->theTimeline->toggleMovingDirection(); + } + if (adjustedDistanceAndDuration == true) { + if (this->durationSpeedConstraint == kSpeedBound) { + this->setSpeed(prevSpeed); + } + } +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h new file mode 100644 index 0000000000..0d48a9ad20 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h @@ -0,0 +1,473 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAnimation.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualAnimation_h +#define VisualAnimation_h + + +#include "VisualTypes.h" +#include "VisualAnimationComponent.h" +#include "VisualAnimationTypes.h" +#include "VisualStagePosition.h" + +#include + + +namespace VizKit { + + /** Animation callback */ + typedef void (*VisualAnimationAnimateCallback)(double currentPosition, void* userData); + + class VisualTimeline; // Forward declaration (to avoid include of header file). + + /** + * The type of looping. + */ + typedef enum { + kNoLoop = 0x0, /**< 00000000 - After the duration of the timeline has been reached, the animation stops. */ + kLoop = 0x2, /**< 00000010 - After the duration of the timeline has been reached, the timeline starts anew at the start. The timeline is always processed in forward direction. */ + kMirroredLoop = 0x3 /**< 00000011 - After the duration of the timeline has been reached, the timeline is processed in backward direction. The moving direction toggles in mirrored loop. */ + } LoopMode; + + const sint32 kInfiniteRepetition = -1; + + /** + * A VisualAnimation is constructed with an AnimatedProperty. With VisualActor::addAnimation() specific properies of an asset can be animated. A provided callback function is called for the time of the duration of the animation. + * The animation tries to reach the stop value in the amount of time set by the duration value. + */ + class VisualAnimation : public VisualAnimationComponent { + + public: + + /** + * Constructor. + * @param theAnimatedProperty The property of the asset that is affected by the animation. + * @param aDebugMode If true, the animation is in debug mode. + */ + VisualAnimation(AnimatedProperty theAnimatedProperty, bool aDebugMode = false); + + /** + * The destructor. + */ + ~VisualAnimation(); + + /** + * Copy constructor. + * @param other Reference to another VisualAnimation. + */ + VisualAnimation(const VisualAnimation& other); + + /** + * Assignment operator. + * @param other Reference to another VisualAnimation. + */ + VisualAnimation& operator=(const VisualAnimation& other); + + /** + * Copies the current VisualAnimation and returns a pointer to a new VisualAnimation. + */ + virtual VisualAnimationComponent* clone(void) const; + + /** + * Sets the callback function that is repeatedly called in animation's duration time. + * @param theCallback Pointer to c-style function (static class function). + * @param someUserData Additional data (e.g. pointer to instance variable of initialized class). + */ + void setAnimateCallbackFunctionPtr(VisualAnimationAnimateCallback theCallback, void* someUserData = NULL); + + /** + * Sets the identifier of the parent collection (the collection which the current animation is part of). + * @param aCollectionIdentifier The identifier of the parent collection. + */ + virtual void setIdentifierOfParentCollection(const VisualItemIdentifier& aCollectionIdentifier); + + /** + * Executes the appropriate action for the case that one animation of the current collection died. + * @remarks Only appropriate for collection (like cluster and sequence). VisualAnimation simply returns after printing an error message. + */ + virtual void handleOneCollectionItemAnimationDied(void); + + /** + * Returns the VisualAnimation if the VisualItemIdentifier matches. + * @param anAnimationIdentifier The identifier of the animation. + * @return The VisualAnimation with the specified VisualItemIdentifier. + * @remarks Return value can be NULL if no VisualAnimation with the specified VisualItemIdentifier is found. + */ + virtual VisualAnimationComponent* getVisualAnimation(const VisualItemIdentifier& anAnimationIdentifier); + + /** + * Executes the callback function to animate a property. + */ + virtual void animate(void); + + /** + * Starts the Animation. + * @remarks In case the start is delayed, the animation is only running after the delaying milliseconds did have passed. + */ + virtual void start(void); + + /** + * Stops the Animation. + */ + virtual void stop(void); + + /** + * Sets the duration of the animation. + * @param numberOfMilliseconds The number of milliseconds the animation spans. + */ + void setDurationInMilliseconds(uint32 numberOfMilliseconds); + + /** + * Returns the duration of the animation. + * @return The duration of the animation. + */ + uint32 getDurationInMilliseconds(void) const; + + /** + * Sets the current value of the animation. + * @param aCurrentValue The current value of the animation. + * @remarks The animation always ranges from start value to stop value (default: 0.0 to 1.0). Setting a specific current value here means that the animation starts its first step with the specific current value. + * Can be useful if an animation is supposed to continue at the point in time of a prior animation. The initial value of the constructor (0.0) does not change the current value. + */ + void setCurrentValue(double aCurrentValue); + + /** + * Returns the current value of the animation. + * @return The current value of the animation. + */ + double getCurrentValue(void) const; + + /** + * Sets the start value of the animation. + * @param aStartValue The start value of the animation. + * @param startAnimationWithCurrentPropertyValue If true, the animation starts with the current value of the animated property. Default is false as it is assumed that a set start value is meant to act as value to start the animation with. + * @remarks Default is 0.0. + */ + void setStartValue(double aStartValue, bool startAnimationWithCurrentPropertyValue = false); + + /** + * Sets the start value of the animation. + * @param aPosition The start value of the animation as position. + * @param startAnimationWithCurrentPropertyValue If true, the animation starts with the current value of the animated property. Default is false as it is assumed that a set start value is meant to act as value to start the animation with. + * @remarks Default is 0.0. + */ + void setStartValue(const VisualStagePosition& aPosition, bool startAnimationWithCurrentPropertyValue = false); + + /** + * Returns the start value of the animation. + * @return The start value of the animation. + */ + double getStartValue(void) const; + + /** + * Sets the stop value of the animation. + * @param aStopValue The stop value of the animation. + * @remarks Default is 1.0. + */ + void setStopValue(double aStopValue); + + /** + * Sets the stop value of the animation. + * @param aPosition The stop value of the animation as position. + */ + void setStopValue(const VisualStagePosition& aPosition); + + /** + * Returns the stop value of the animation. + * @return The stop value of the animation. + */ + double getStopValue(void) const; + + /** + * Sets the loop mode of the animation. + * @param aLoopMode The requested loop mode. + * @param requestedNumberOfLoops The number of times the animation should be repeated (default = 1). + */ + void setLoopMode(LoopMode aLoopMode, sint32 requestedNumberOfLoops = 1); + + /** + * Sets the type of interpolation. + * @param anInterpolationType The requested type of interpolation. + */ + void setInterpolationType(InterpolationType anInterpolationType); + + /** + * Returns the number of milliseconds until the animation is supposed to actually start. + * @return The number of milliseconds until the animation is supposed to actually start. + * @remarks The delay is set when calling setDurationInMilliseconds(). The value is used by VisualStageControl. + */ + uint32 getStartDelayInMilliseconds(void) const; + + /** + * Sets the number of milliseconds until the animation actually starts. + * @param aStartDelayInMilliseconds The number of milliseconds until the animation actually starts. + * @remarks The delay counts from the moment start() is called. + */ + void setStartDelayInMilliseconds(uint32 aStartDelayInMilliseconds); + + /** + * Sets the callback function that is repeatedly called back during animation component's duration time. + * @param theCallback Pointer to c-style function (static class function). + * @param userData Additional data (e.g. pointer to instance variable of initialized class). + */ + virtual void setCallbackToPerformAnyAdditionalAction(VisualAnimationPerformAnyAdditionalActionCallback theCallback, void* userData = NULL); + + /** + * Sets the callback function that is called right before the death of the animation component. + * @param theCallback Pointer to c-style function (static class function). + * @param userData Additional data (e.g. pointer to instance variable of initialized class). + */ + virtual void setCallbackToNotifyBeforeDeath(VisualAnimationWillDieCallback theCallback, void* userData = NULL); + + /** + * Calls any callback functions right before the death of the animation component. + */ + virtual void notifyBeforeDeath(void); + + /** + * Returns the animated property of the animation. + * @return The animated property of the animation. + */ + virtual AnimatedProperty getAnimatedProperty(void) const; + + /** + * Returns the moving direction (running direction) of the animation. + * @return The currently moving direction (running direction) of the animation. + */ + MovingDirection getMovingDirection(void) const; + + /** + * Returns the current repeat mode of the animation. + * @return The current repeat mode of the animation. + */ + RepeatMode getRepeatMode(void) const; + + /** + * Updates the state of the animation. + * @remarks Called by VisualAnimationQueue. Updates the current value of the animation. Also tests whether the animation is supposed to be started in case the start was delayed. + */ + virtual void update(void); + + /** + * Answers the question whether the animation is (still) running. + * @return True if the animation is (still) running. False otherwise. + */ + virtual bool isRunning(void) const; + + /** + * Answers the question whether the animation ended and is ready to be destroyed. + * @return True is the animation ended. False otherwise. + * @remarks The animation is redy to die when the duration is exceeded. VisualAnimationQueue acts on a true return value and deletes the VisualAnimation. + */ + virtual bool isReadyToDie(void) const; + + /** + * Sets the debug mode. + * @param requestedDebugMode The debug mode. True turns debug mode on, false turns it off. + */ + void setDebugMode(bool requestedDebugMode); + + /** + * Prepares the animation before it is added to an asset. + * @param visualAsset The asset the animation is supposed to be added to. + */ + virtual void preparePriorToAddingToAsset(VisualAsset& visualAsset); + + /** + * Returns the asset the animation has been added to. + * @return The asset the animation has been added to. + */ + virtual const VisualAsset* const getEnclosingAsset(void) const; + + /** + * Sets the speed of the animation. + * @param animationSpeed The speed of the animation (as it has been calculated by static function VisualAnimation::calcSpeed()); + */ + void setSpeed(AnimationSpeed animationSpeed); + + /** + * Returns the current speed of the animation. + * @return The current speed of the animation. + */ + AnimationSpeed getSpeed(void) const; + + /** + * Calculates the speed of an animation if it would use the passed start and stop values with the provided duration time. + * @param aStartValue A start value of an animation. + * @param aStopValue A stop value of an animation. + * @param aDurationInMilliseconds A duration of an animation measured in milliseconds. + * @return The speed of an animation. + */ + static AnimationSpeed calcSpeed(double aStartValue, double aStopValue, uint32 aDurationInMilliseconds); + + /** + * Calculates the speed of an animation of a certain distance and duration. + * @param aDistance The distance of the values of the animation. + * @param aDurationInMilliseconds Duration of the animation measured in milliseconds. + * @return The speed of the animation. + */ + static AnimationSpeed calcSpeed(double aDistance, uint32 aDurationInMilliseconds); + + /** + * Calculates the time an animation will take to travel a certain distance with a certain constant speed. + * @param aDistance The distance of the values of the animation. + * @param aSpeed Speed of the animation. + * @return The duration of the animation measured in milliseconds. + */ + static uint32 calcDurationInMilliseconds(double aDistance, AnimationSpeed aSpeed); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualAnimation. + */ + void copy(const VisualAnimation& other); + + /** The property of the asset that is affected by the animation. */ + AnimatedProperty animatedProperty; + + /** + * Internal method called when the duration time of the timeline did exceed. + */ + void durationIsExceeded(void); + + /** + * Internal method to adjust the current timeline value to the current value of the animated property. + * @param visualAsset The asset where a property is animated. + * @param anAnimatedProperty The animated property. + */ + void setCurrentTimelineValueToCurrentPropertyValue(const VisualAsset& visualAsset, AnimatedProperty anAnimatedProperty); + + /** + * Decrement the number of remaining repeats. + */ + void decrementRemainingNumberOfRepeats(void); + + /** The pointer to the timeline of the animation. */ + VisualTimeline* theTimeline; + + /** The remaining number of times the animation should pass. */ + sint32 remainingNumberOfRepeats; + + /** The callback function that is called during the animation. */ + VisualAnimationAnimateCallback animateCallback; + + /** Internally stored pointer to provided user data (e.g. pointer to instance variable of initialized class). */ + void* animationUserData; + + /** The optional callback function that is called during the animation. */ + VisualAnimationPerformAnyAdditionalActionCallback performAnyAdditionalActionCallback; + + /** The optional user data that is passed to callback function that is called during the animation. */ + void* performAnyAdditionalActionCallbackUserData; + + /** The number of milliseconds until the animation will be actually used by VisualStageControl. */ + uint32 startDelayInMilliseconds; + + bool debugMode; /**< True if in debug mode, false otherwise. */ + + static const uint32 maxNumberOfDebugHistoryEntries; /**< The maximum number of data entries stored in history for debug and monitoring purposes. */ + + uint32 currDebugHistoryEntry; /**< The current entry of the debug history. */ + + /** Data entries stored for debug and monitoring purposes. */ + typedef std::vector DebugHistory; + + /** The DebugHistoryIterator is an iterator of the DebugHistory. */ + typedef DebugHistory::iterator DebugHistoryIterator; + + /** The data entries stored for debug and monitoring purposes. */ + DebugHistory debugHistory; + + /** True if the maximum number of data entries of debugHistory are initialized, false otherwise. */ + bool debugHistoryIsInitialized; + + /** The possible status values of the VisualAnimation. */ + typedef enum { + kIsNotRunning = 0, /**< Animation is not running. */ + kIsRunning, /**< Animation is running. */ + kIsReadyToDie /**< Animation ended and will be destroyed next. */ + } VisualAnimationStatus; + + /** The status of the VisualAnimation. */ + VisualAnimationStatus status; + + /** The optional identifier of the collection of the animation (the cluster resp. sequence the current animation is part of). */ + VisualItemIdentifier* collectionIdentifier; + + /** The asset the animation has been added to. */ + const VisualAsset* enclosingAsset; + + /** The speed of the animation (the speed is driving value in case no start value has been set). */ + AnimationSpeed speed; + + /** True if the animation is supposed to start with the current value of the animated property. Default is true. By calling setStartValue() it is usually set to false. */ + bool doStartAnimationWithCurrentPropertyValue; + + /** The start value of the animation as it has been set by setStartValue(). */ + double startValue; + + /** The start value of the animation as it has been set by setStartValue(), with data type VisualStagePosition. */ + VisualStagePosition startValueVisualStagePosition; + + /** The stop value of the animation as it has been set by setStopValue(). */ + double stopValue; + + /** The stop value of the animation as it has been set by setStopValue(), with data type VisualStagePosition. */ + VisualStagePosition stopValueVisualStagePosition; + + /** + * Whether the animation is bound to speed or duration. + */ + typedef enum { + kDurationBound, /**< The speed of the animation is determined by setting the duration time. */ + kSpeedBound /**< The duration of the animation is dependent on the speed. */ + } DurationSpeedConstraint; + + /** The constraint of the animation (whether bound to speed or duration). */ + DurationSpeedConstraint durationSpeedConstraint; + + /** The optional callback function that is called right before the death of the animation cluster. */ + VisualAnimationWillDieCallback willDieCallback; + + /** The optional user data that is passed to callback function that is called right before the death of the animation cluster. */ + void* willDieCallbackUserData; + + }; + +} + +#endif /* VisualAnimation_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp new file mode 100644 index 0000000000..ea3c7e66d6 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp @@ -0,0 +1,431 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTimeline.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualTimeline.h" +#include "VisualErrorHandling.h" +#include "VisualTiming.h" +#include "VisualInterpolation.h" +#include "VisualItemIdentifier.h" + + + +using namespace VizKit; + + +VisualTimeline::VisualTimeline(bool aDebugMode) { + if (aDebugMode == true) { + writeLog("VisualTimeline::VisualTimeline"); + } + repeatMode = kRepeatFromStart; + durationIdentifier = new VisualItemIdentifier; + visualInterpolation = new VisualInterpolation; + durationInMilliseconds = 3000; + minValue = 0.0; + maxValue = 1.0; + movingDirection = kAscending; + distance = 1.0; + VisualTiming::addDurationItemToDurationMap(*durationIdentifier); + elapsedMilliseconds = 0; + offsetMilliseconds = 0; + currentValue = 0.0; + isStopped = false; + debugMode = aDebugMode; +} + + +VisualTimeline::~VisualTimeline() { + delete visualInterpolation; + delete durationIdentifier; +} + + +VisualTimeline::VisualTimeline(const VisualTimeline& other) { + copy(other); +} + + +VisualTimeline& VisualTimeline::operator=(const VisualTimeline& other) { + + if (this == &other) return *this; + + delete this->visualInterpolation; + delete this->durationIdentifier; + + this->copy(other); + + return *this; +} + + +void VisualTimeline::copy(const VisualTimeline& other) { + this->repeatMode = other.repeatMode; + this->movingDirection = other.movingDirection; + this->visualInterpolation = new VisualInterpolation(*other.visualInterpolation); + this->durationIdentifier = new VisualItemIdentifier; + VisualTiming::addDurationItemToDurationMap(*(this->durationIdentifier)); + this->durationInMilliseconds = other.durationInMilliseconds; + this->minValue = other.minValue; + this->maxValue = other.maxValue; + this->distance = other.distance; + this->elapsedMilliseconds = other.elapsedMilliseconds; + this->offsetMilliseconds = other.offsetMilliseconds; + this->currentValue = other.currentValue; + this->isStopped = other.isStopped; + this->debugMode = other.debugMode; +} + + +void VisualTimeline::setStartValue(double aStartValue) { + if (this->debugMode == true) { + char logStr[128]; + sprintf(logStr, "VisualTimeline::setStartValue: %f", aStartValue); + writeLog(logStr); + } + if (this->movingDirection == kAscending) { + this->minValue = aStartValue; + } else if (this->movingDirection == kDescending) { + this->maxValue = aStartValue; + } + if (this->maxValue < this->minValue) { + this->toggleMovingDirection(); + double temp = this->minValue; + this->minValue = this->maxValue; + this->maxValue = temp; + } + this->offsetMilliseconds = 0; + this->distance = this->maxValue - this->minValue; + if (this->currentValue < this->minValue) { + this->currentValue = this->minValue; + } + if (this->currentValue > this->maxValue) { + this->currentValue = this->maxValue; + } +} + + +void VisualTimeline::setStopValue(double aStopValue) { + if (this->debugMode == true) { + char logStr[128]; + sprintf(logStr, "VisualTimeline::setStopValue: %f", aStopValue); + writeLog(logStr); + } + if (this->movingDirection == kAscending) { + this->maxValue = aStopValue; + } else if (this->movingDirection == kDescending) { + this->minValue = aStopValue; + } + if (this->maxValue < this->minValue) { + this->toggleMovingDirection(); + double temp = this->minValue; + this->minValue = this->maxValue; + this->maxValue = temp; + } + this->offsetMilliseconds = 0; + this->distance = this->maxValue - this->minValue; + if (this->currentValue < this->minValue) { + this->currentValue = this->minValue; + } + if (this->currentValue > this->maxValue) { + this->currentValue = this->maxValue; + } +} + + +double VisualTimeline::getMinValue() const { + return this->minValue; +} + + +double VisualTimeline::getMaxValue() const { + return this->maxValue; +} + + +double VisualTimeline::getDistance(void) const { + return this->distance; +} + + +void VisualTimeline::setDurationInMilliseconds(uint32 numberOfMilliseconds) { + if (this->debugMode == true) { + char logStr[128]; + sprintf(logStr, "VisualTimeline::setDurationInMilliseconds: %d", numberOfMilliseconds); + writeLog(logStr); + } + this->durationInMilliseconds = numberOfMilliseconds; +} + + +uint32 VisualTimeline::getDurationInMilliseconds() const { + return this->durationInMilliseconds; +} + + +void VisualTimeline::setRepeatMode(RepeatMode aRepeatMode) { + this->repeatMode = aRepeatMode; +} + + +RepeatMode VisualTimeline::getRepeatMode() const { + return this->repeatMode; +} + + +bool VisualTimeline::setCurrentValue(double newCurrValue) { + + char logStr[128]; + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::setCurrentValue: %f", newCurrValue); + writeLog(logStr); + } + + bool adjustDistanceAndDuration = false; + if (newCurrValue < this->minValue) { + this->minValue = newCurrValue; + adjustDistanceAndDuration = true; + } + if (newCurrValue > this->maxValue) { + this->maxValue = newCurrValue; + adjustDistanceAndDuration = true; + } + + if (adjustDistanceAndDuration == true) { + double distanceBefore = this->distance; + this->distance = this->maxValue - this->minValue; + this->durationInMilliseconds = (uint32)((double)this->durationInMilliseconds * (distanceBefore / this->distance)); + } + + // calc offsetMilliseconds + if (this->movingDirection == kAscending) { + this->offsetMilliseconds = (uint32)((double)this->durationInMilliseconds * ((newCurrValue - this->minValue) / this->distance)); + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::setCurrentValue: offsetMilliseconds1: %d", this->offsetMilliseconds); + writeLog(logStr); + } + } else if (this->movingDirection == kDescending) { + this->offsetMilliseconds = (uint32)((double)this->durationInMilliseconds * ((this->maxValue - newCurrValue) / this->distance)); + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::setCurrentValue: offsetMilliseconds2: %d", this->offsetMilliseconds); + writeLog(logStr); + } + } + this->currentValue = newCurrValue; + VisualTiming::resetTimestamp(*(this->durationIdentifier)); + return adjustDistanceAndDuration; +} + + +TimelineUpdateResult VisualTimeline::update() { + TimelineUpdateResult result = kTimelineUpdateOK; + char logStr[256]; + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update1: this->currentValue: %f, this->offsetMilliseconds: %d, this->elapsedMilliseconds: %d", this->currentValue, this->offsetMilliseconds, this->elapsedMilliseconds); + writeLog(logStr); + } + if (this->isStopped == true) { + return kTimelineIsStopped; + } + if (this->durationInMilliseconds == 0) { + return kNoDurationTime; + } + this->elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset(*(this->durationIdentifier)) + this->offsetMilliseconds; + if (this->elapsedMilliseconds >= this->durationInMilliseconds) { + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update2: this->elapsedMilliseconds >= this->durationInMilliseconds (%d >= %d)", this->elapsedMilliseconds, this->durationInMilliseconds); + writeLog(logStr); + } + result = kElapsedTimeDidExceedDuration; + } else { + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update3: this->elapsedMilliseconds < this->durationInMilliseconds (%d < %d)", this->elapsedMilliseconds, this->durationInMilliseconds); + writeLog(logStr); + } + double interpolationValue = 0.0; + if (this->movingDirection == kAscending) { + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update4: (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds: %f (%d / %d: %f)", (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds, this->elapsedMilliseconds, this->durationInMilliseconds, (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds); + writeLog(logStr); + } + interpolationValue = this->visualInterpolation->getValueAtPosition((double)this->elapsedMilliseconds / (double)this->durationInMilliseconds); + } else if (this->movingDirection == kDescending) { + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update5: 1.0 - (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds: %f (1.0 - %d / %d: %f)", 1.0 - (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds, this->elapsedMilliseconds, this->durationInMilliseconds, (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds); + writeLog(logStr); + } + interpolationValue = this->visualInterpolation->getValueAtPosition(1.0 - (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds); + } + double expandedValue = interpolationValue * this->distance; + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update6: expandedValue: %f", expandedValue); + writeLog(logStr); + } + this->currentValue = expandedValue + this->minValue; + } + if (this->debugMode == true) { + sprintf(logStr, "VisualTimeline::update7: this->currentValue: %f", this->currentValue); + writeLog(logStr); + } + if (result == kTimelineUpdateOK) { + if (this->movingDirection == kAscending) { + if (this->currentValue >= this->maxValue) { + result = kStopValueHit; + } + } + if (this->movingDirection == kDescending) { + if (this->currentValue <= this->minValue) { + result = kStopValueHit; + } + } + } + + if ((result == kElapsedTimeDidExceedDuration) || (result == kStopValueHit)) { + if (this->repeatMode == kRepeatMirrored) { + this->toggleMovingDirection(); + } + this->reset(); + } + + return result; +} + + +double VisualTimeline::getCurrentValue() const { + return this->currentValue; +} + + +void VisualTimeline::reset() { + if (this->debugMode == true) { + writeLog("VisualTimeline::reset"); + } + VisualTiming::resetTimestamp(*(this->durationIdentifier)); + this->elapsedMilliseconds = 0; + this->offsetMilliseconds = 0; + if (this->movingDirection == kAscending) { + this->currentValue = this->minValue; + } else if (this->movingDirection == kDescending) { + this->currentValue = this->maxValue; + } +} + + +void VisualTimeline::stop() { + this->isStopped = true; +} + + +void VisualTimeline::start() { + if (this->debugMode == true) { + writeLog("VisualTimeline::start"); + } + this->isStopped = false; + this->elapsedMilliseconds = 0; + VisualTiming::resetTimestamp(*(this->durationIdentifier)); +} + + +void VisualTimeline::resume() { + if (this->debugMode == true) { + writeLog("VisualTimeline::resume"); + } + VisualTiming::resetTimestamp(*(this->durationIdentifier)); + if (this->movingDirection == kAscending) { + this->offsetMilliseconds = this->elapsedMilliseconds; + } else if (this->movingDirection == kDescending) { + this->offsetMilliseconds = this->durationInMilliseconds - this->elapsedMilliseconds; + } + this->isStopped = false; +} + + +void VisualTimeline::setInterpolationType(InterpolationType anInterpolationType) { + this->visualInterpolation->setType(anInterpolationType); +} + + +MovingDirection VisualTimeline::getMovingDirection() const { + return this->movingDirection; +} + + +void VisualTimeline::toggleMovingDirection() { + if (this->movingDirection == kAscending) { + this->movingDirection = kDescending; + } else if (this->movingDirection == kDescending) { + this->movingDirection = kAscending; + } + if (this->debugMode == true) { + char logStr[128]; + if (this->movingDirection == kAscending) { + sprintf(logStr, "VisualTimeline::toggleMovingDirection: kAscending (this->offsetMilliseconds: %d) (this->durationInMilliseconds: %d)", this->offsetMilliseconds, this->durationInMilliseconds); + } else if (this->movingDirection == kDescending) { + sprintf(logStr, "VisualTimeline::toggleMovingDirection: kDescending (this->offsetMilliseconds: %d) (this->durationInMilliseconds: %d)", this->offsetMilliseconds, this->durationInMilliseconds); + } + writeLog(logStr); + } +} + + +void VisualTimeline::setDebugMode(bool requestedDebugMode) { + this->debugMode = requestedDebugMode; +} + + +void VisualTimeline::convertTimelineUpdateResultToString(const TimelineUpdateResult aResult, char* outString) { + const char* messageString; + switch (aResult) { + case kTimelineUpdateOK: + messageString = "kTimelineUpdateOK"; + break; + case kElapsedTimeDidExceedDuration: + messageString = "kElapsedTimeDidExceedDuration"; + break; + case kStopValueHit: + messageString = "kStopValueHit"; + break; + case kTimelineIsStopped: + messageString = "kTimelineIsStopped"; + break; + case kNoDurationTime: + messageString = "kNoDurationTime"; + break; + default: + char errLog[256]; + sprintf(errLog, "unhandled TimelineUpdateResult %d in file: %s (line: %d) [%s])", aResult, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + messageString = "unknownTimelineUpdateResult"; + } + strcpy(outString, messageString); +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h new file mode 100644 index 0000000000..10109ad81a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h @@ -0,0 +1,254 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTimeline.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualTimeline_h +#define VisualTimeline_h + + +#include "VisualTypes.h" +#include "VisualAnimationTypes.h" + + +namespace VizKit { + + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + class VisualInterpolation; // Forward declaration (to avoid include of header file). + + /** Possible return values of the update() call. */ + typedef enum { + kTimelineUpdateOK, /**< No error, no special state. */ + kElapsedTimeDidExceedDuration, /**< The elapsed time exceeded the set duration time. */ + kStopValueHit, /**< The set stop value is hit or crossed (depending on the current move direction). */ + kTimelineIsStopped, /**< The VisualTimeline is stopped. */ + kNoDurationTime /**< The amount of the duration time is 0. */ + } TimelineUpdateResult; + + /** + * Time synchronized interpolation between values. + * Calculates timed interpolated values. + */ + class VisualTimeline { + + public: + + /** + * The constructor. + * @param aDebugMode If true, the timeline is in debug mode. + */ + VisualTimeline(bool aDebugMode = false); + + /** + * The destructor. + */ + ~VisualTimeline(); + + /** + * Copy constructor. + * @param other Reference to another VisualTimeline. + */ + VisualTimeline(const VisualTimeline& other); + + /** + * Assignment operator. + * @param other Reference to another VisualTimeline. + */ + VisualTimeline& operator=(const VisualTimeline& other); + + /** + * Sets the start value of the timeline. + * @param aStartValue A start value. + */ + void setStartValue(double aStartValue); + + /** + * Sets the stop value of the timeline. + * @param aStopValue A stop value. + */ + void setStopValue(double aStopValue); + + /** + * Returns the minimum value of the timeline. + * @return The minimum value of the timeline. + */ + double getMinValue(void) const; + + /** + * Returns the maximum value of the timeline. + * @return The maximum value of the timeline. + */ + double getMaxValue(void) const; + + /** + * Returns the distance of the start and stop values of the timeline. + * @return The distance of the start and stop values of the timeline. + * @remarks The distance is never a positive value. + */ + double getDistance(void) const; + + /** + * Sets the duration of the timeline. + * @param numberOfMilliseconds The number of milliseconds the timeline spans. + */ + void setDurationInMilliseconds(uint32 numberOfMilliseconds); + + /** + * Returns the duration of the timeline. + * @return The duration of the timeline. + */ + uint32 getDurationInMilliseconds(void) const; + + /** + * Sets the repeat mode of the timeline. + * @param aRepeatMode The requested repeat mode. + */ + void setRepeatMode(RepeatMode aRepeatMode); + + /** + * Returns the current repeat mode of the timeline. + * @return The current repeat mode of the timeline. + */ + RepeatMode getRepeatMode(void) const; + + /** + * Sets the current value of the timeline. + * @param newCurrValue The value to which the timeline is supposed to jump. + * @return True if the new current value was outside of current min and max value range (and distance and duration were adjusted because of that). + * @remarks The value of the timeline can be set from the outside (e.g. in case it is created new and should start with a established value). + */ + bool setCurrentValue(double newCurrValue); + + /** + * Returns the current value of the timeline. + * @return The current value of the timeline. + */ + double getCurrentValue(void) const; + + /** + * Updates the current value of the timeline. + * @return The result of the update operation expressed as enum value. + * @remarks Called on update of the animation. + */ + TimelineUpdateResult update(void); + + /** + * Resets the timeline. The timeline starts anew at start. + */ + void reset(void); + + /** + * Starts the timeline. + */ + void start(void); + + /** + * Stops the timeline. + */ + void stop(void); + + /** + * Resumes the timeline at the point in time where it was stopped the last time. + */ + void resume(void); + + /** + * Sets the type of interpolation. + * @param anInterpolationType The requested type of interpolation. + */ + void setInterpolationType(InterpolationType anInterpolationType); + + /** + * Returns the moving direction (running direction) of the timeline. + * @return The currently moving direction (running direction) of the timeline. + */ + MovingDirection getMovingDirection(void) const; + + /** + * Toggles the current moving direction of the timeline. + */ + void toggleMovingDirection(void); + + /** + * Sets the debug mode. + * @param requestedDebugMode The debug mode. True turns debug mode on, false turns it off. + */ + void setDebugMode(bool requestedDebugMode); + + /** + * Static helper function that converts a TimelineUpdateResult to the string. Possibly useful for debugging or tracing purposes. + * @param aResult A timelineUpdateResult. + * @param outString The character string value of the TimelineUpdateResult enum value. + */ + static void convertTimelineUpdateResultToString(const TimelineUpdateResult aResult, char* outString); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualTimeline. + */ + void copy(const VisualTimeline& other); + + uint32 durationInMilliseconds; /**< The duration of the timeline in milliseconds. */ + + double minValue; /**< The minimum value. */ + + double maxValue; /**< The maximum value. */ + + double distance; /**< The calculated distance between start and stop value. */ + + RepeatMode repeatMode; /**< The repeat mode of the timeline. */ + + VisualItemIdentifier* durationIdentifier; /**< The internal identifier of the timeline. */ + + MovingDirection movingDirection; /**< The moving direction of the timeline. */ + + VisualInterpolation* visualInterpolation; /**< The interpolation model. */ + + uint32 elapsedMilliseconds; /**< The elapsed milliseconds. */ + + uint32 offsetMilliseconds; /**< Internally used offset in milliseconds. */ + + double currentValue; /**< The current value as it has been evaluated the last time. */ + + bool isStopped; /**< True if the timeline has been stopped, false otherwise. */ + + bool debugMode; /**< True if in debug mode, false otherwise. */ + + }; + + +} + +#endif /* VisualTimeline_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp new file mode 100644 index 0000000000..7fbdcc9583 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp @@ -0,0 +1,313 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTiming.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualTiming.h" +#include "VisualErrorHandling.h" +#include "VisualThreading.h" +#include "VisualThreadingManager.h" + +#if TARGET_OS_MAC +#include // gettimeofday(), timeval +#endif + + + +using namespace VizKit; + + +VisualTiming* VisualTiming::theVisualTiming = NULL; + + +VisualTiming::VisualTiming() { +#if TARGET_OS_WIN + QueryPerformanceFrequency(&freq); +#endif +} + + +VisualTiming::~VisualTiming() { + for (DurationMapIterator mapIt = this->durationMap.begin(); mapIt != this->durationMap.end(); mapIt++) { + delete (*mapIt).second; + (*mapIt).second = NULL; + } + theVisualTiming->durationMap.clear(); +} + + +VisualTiming* VisualTiming::getInstance() { + if (theVisualTiming == NULL) { +#if TARGET_OS_MAC + MPCriticalRegionID timeStoreSingletonCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::timeStoreSingletonMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(timeStoreSingletonCriticalRegion, kDurationForever); +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION timeStoreSingletonCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::timeStoreSingletonMutex); + ::EnterCriticalSection(timeStoreSingletonCriticalSection); +#endif + if (theVisualTiming == NULL) { + theVisualTiming = new VisualTiming; + if (theVisualTiming == NULL) { + char errLog[256]; + sprintf(errLog, "ERR: init VisualTiming failed in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(timeStoreSingletonCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(timeStoreSingletonCriticalSection); +#endif + } + return theVisualTiming; +} + + +void VisualTiming::dispose() { + if (theVisualTiming != NULL) { + delete theVisualTiming; + theVisualTiming = NULL; + } +} + + +void VisualTiming::update() { + theVisualTiming = VisualTiming::getInstance(); +#if TARGET_OS_MAC + struct timeval tod; + sint8 retVal; + retVal = gettimeofday(&tod, NULL); + + if (retVal == 0) { + theVisualTiming->currentTime = tod.tv_sec + tod.tv_usec * 1.0E-6; + } else { + if (retVal == -1) { + //writeLog("Error in file \"%s\" (line %d): function \"%s\":\n%s\n", __FILE__, __LINE__, __func__, strerror(errno)); + writeLog("Error in setTimestamp"); + } else { + //writeLog("Unqualified error in file \"%s\" (line %d): function \"%s\"\n", __FILE__, __LINE__, __func__); + writeLog("Unqualified error in setTimestamp"); + } + } +#endif + +#if TARGET_OS_WIN + QueryPerformanceCounter(&theVisualTiming->currentTime); +#endif + +} + + +uint32 VisualTiming::getElapsedMilliSecsSinceReset(const char* const durationName) { + VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName); + theVisualTiming = VisualTiming::getInstance(); + uint32 elapsedMilliSeconds = theVisualTiming->getElapsedMilliSecsSinceReset(*visualDurationIdentifier); + delete visualDurationIdentifier; + return elapsedMilliSeconds; +} + + +uint32 VisualTiming::getElapsedMilliSecsSinceReset(const VisualItemIdentifier& visualDurationIdentifier) { + double timestampDelta; + theVisualTiming = VisualTiming::getInstance(); + +#if TARGET_OS_MAC + MPCriticalRegionID timeStoreAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::timeStoreAccessMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(timeStoreAccessCriticalRegion, kDurationForever); +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION timeStoreAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::timeStoreAccessMutex); + ::EnterCriticalSection(timeStoreAccessCriticalSection); +#endif + + DurationMapIterator it; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + if (it == theVisualTiming->durationMap.end()) { + DurationItem* durationItem; + durationItem = new DurationItem; + durationItem->firstTimestamp = theVisualTiming->currentTime; + durationItem->lastTimestamp = theVisualTiming->currentTime; + theVisualTiming->durationMap[visualDurationIdentifier] = durationItem; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + } + timestampDelta = theVisualTiming->getTimeDelta(theVisualTiming->currentTime, it->second->firstTimestamp); + it->second->lastTimestamp = theVisualTiming->currentTime; + +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(timeStoreAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(timeStoreAccessCriticalSection); +#endif + + return (uint32)(timestampDelta * 1000.0); + +} + + +uint32 VisualTiming::getElapsedMilliSecsSinceLastCall(const char* const durationName) { + VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName); + theVisualTiming = VisualTiming::getInstance(); + uint32 elapsedMilliSeconds = theVisualTiming->getElapsedMilliSecsSinceLastCall(*visualDurationIdentifier); + delete visualDurationIdentifier; + return elapsedMilliSeconds; +} + + +uint32 VisualTiming::getElapsedMilliSecsSinceLastCall(const VisualItemIdentifier& visualDurationIdentifier) { + double timestampDelta; + theVisualTiming = VisualTiming::getInstance(); + DurationMapIterator it; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + if (it == theVisualTiming->durationMap.end()) { + DurationItem* durationItem; + durationItem = new DurationItem; + durationItem->firstTimestamp = theVisualTiming->currentTime; + durationItem->lastTimestamp = theVisualTiming->currentTime; + theVisualTiming->durationMap[visualDurationIdentifier] = durationItem; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + } + timestampDelta = theVisualTiming->getTimeDelta(theVisualTiming->currentTime, it->second->lastTimestamp); + it->second->lastTimestamp = theVisualTiming->currentTime; + return (uint32)(timestampDelta * 1000.0); + +} + + +void VisualTiming::resetTimestamp(const char* const durationName) { + theVisualTiming = VisualTiming::getInstance(); + VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName); + theVisualTiming->resetTimestamp(*visualDurationIdentifier); + delete visualDurationIdentifier; +} + + +void VisualTiming::resetTimestamp(const VisualItemIdentifier& visualDurationIdentifier) { + theVisualTiming = VisualTiming::getInstance(); + DurationMapIterator it; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + if (it == theVisualTiming->durationMap.end()) { + DurationItem* durationItem; + durationItem = new DurationItem; + durationItem->firstTimestamp = theVisualTiming->currentTime; + durationItem->lastTimestamp = theVisualTiming->currentTime; + theVisualTiming->durationMap[visualDurationIdentifier] = durationItem; + } else { + it->second->firstTimestamp = theVisualTiming->currentTime; + it->second->lastTimestamp = theVisualTiming->currentTime; + } +} + + +const char* const VisualTiming::getCurrentMillisecsDateTime() { + +#if TARGET_OS_MAC + double timestampVal; +#endif +#if TARGET_OS_WIN32 + LARGE_INTEGER timestampVal; + + SYSTEMTIME timeVal; +#endif +#if TARGET_OS_MAC + struct timeval tod; + struct tm* ptm; + sint8 retVal; + + theVisualTiming = VisualTiming::getInstance(); + + retVal = gettimeofday(&tod, NULL); + + if (retVal == 0) { + timestampVal = tod.tv_sec + tod.tv_usec * 1.0E-6; + ptm = localtime ((time_t*)&tod.tv_sec); + strftime (theVisualTiming->dateTimeStr, sizeof (theVisualTiming->dateTimeStr), "%Y%m%d%H%M%S", ptm); + //printf("test33: %s\n", time_string); + //dateTimeInt = atoi(time_string); + //printf("test44: %ld\n", dateTimeInt); + } else { + if (retVal == -1) { + //writeLog("Error in file \"%s\" (line %d): function \"%s\":\n%s\n", __FILE__, __LINE__, __func__, strerror(errno)); + writeLog("Error in getCurrentMillisecsDateTime"); + } else { + //writeLog("Unqualified error in file \"%s\" (line %d): function \"%s\"\n", __FILE__, __LINE__, __func__); + writeLog("Unqualified error in getCurrentMillisecsDateTime"); + } + } +#endif + +#if TARGET_OS_WIN32 + QueryPerformanceCounter(×tampVal); + // DWORD(theVisualTiming->timestampVal * 1000 / theVisualTiming->freq) + GetSystemTime(&timeVal); + + sprintf(theVisualTiming->dateTimeStr, "%d%d%d%d%d%d", timeVal.wYear, timeVal.wMonth, timeVal.wDay, timeVal.wHour, timeVal.wMinute, timeVal.wSecond); + // SYSTEMTIME st + // GetSystemTime() +#endif + + //printf("timeTest: %ld\n", theVisualTiming->timestampVal); + return theVisualTiming->dateTimeStr; + +} + + +#if TARGET_OS_MAC +double VisualTiming::getTimeDelta(double young_timestamp, double old_timestamp) { + return (young_timestamp - old_timestamp); +#endif +#if TARGET_OS_WIN +double VisualTiming::getTimeDelta(LARGE_INTEGER young_timestamp, LARGE_INTEGER old_timestamp) { + return (young_timestamp.QuadPart - old_timestamp.QuadPart)/((double)theVisualTiming->freq.QuadPart); +#endif +} + + +void VisualTiming::addDurationItemToDurationMap(const VisualItemIdentifier& visualDurationIdentifier) { + theVisualTiming = VisualTiming::getInstance(); + DurationMapIterator it; + it = theVisualTiming->durationMap.find(visualDurationIdentifier); + if (it == theVisualTiming->durationMap.end()) { + DurationItem* durationItem = new DurationItem; + durationItem->firstTimestamp = theVisualTiming->currentTime; + durationItem->lastTimestamp = theVisualTiming->currentTime; + theVisualTiming->durationMap[visualDurationIdentifier] = durationItem; + } else { + it->second->firstTimestamp = theVisualTiming->currentTime; + it->second->lastTimestamp = theVisualTiming->currentTime; + } +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h new file mode 100644 index 0000000000..eae21bc62d --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h @@ -0,0 +1,233 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTiming.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualTiming_h +#define VisualTiming_h + + +#include "VisualTypes.h" +#include "VisualItemIdentifier.h" + +#include +#include + + +#if TARGET_OS_WIN +#include // LARGE_INTEGER +#endif + + +namespace VizKit { + + /** + * Provides facilities to deal with and calculate time values. All public methods are declared static. + */ + class VisualTiming { + + public: + + /** + * Disposes the visual timing. + */ + static void dispose(void); + + /** + * Refreshes the current timestamp. + */ + static void update(void); + + /** + * Returns the number of milliseconds that have elapsed since first call of the duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function returns the milliseconds that have passed since + * the duration item first asked for its elapsed milliseconds. + * @param durationName The identifier of the duration. + * @return The number of milliseconds that have elapsed since first call of the duration item. + */ + static uint32 getElapsedMilliSecsSinceReset(const char* const durationName); + + /** + * Returns the number of milliseconds that have elapsed since first call of the duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function returns the milliseconds that have passed since + * the duration item first asked for its elapsed milliseconds. + * @param visualDurationIdentifier The identifier of the duration. + * @return The number of milliseconds that have elapsed since first call of the duration item. + */ + static uint32 getElapsedMilliSecsSinceReset(const VisualItemIdentifier& visualDurationIdentifier); + + /** + * Returns the number of milliseconds that have elapsed since the last call of the duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function returns the milliseconds that have passed since the last render call. + * @param durationName The identifier of the duration. + * @return The number of milliseconds that have elapsed since the last call. + */ + static uint32 getElapsedMilliSecsSinceLastCall(const char* const durationName); + + /** + * Returns the number of milliseconds that have elapsed since the last call of the duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function returns the milliseconds that have passed since the last render call. + * @param visualDurationIdentifier The identifier of the duration. + * @return The number of milliseconds that have elapsed since the last call. + */ + static uint32 getElapsedMilliSecsSinceLastCall(const VisualItemIdentifier& visualDurationIdentifier); + + /** + * Resets the stored timing values for this duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function resets the timing values for this duration item. + * @param durationName The identifier of the duration. + */ + static void resetTimestamp(const char* const durationName); + + /** + * Resets the stored timing values for this duration item. + * Time is measured individually for single duration items. + * The duration items are itentified by name. + * This function resets the timing values for this duration item. + * @param visualDurationIdentifier The identifier of the duration. + */ + static void resetTimestamp(const VisualItemIdentifier& visualDurationIdentifier); + + /** + * Returns the current date and time including milliseconds. + * The date and time are represented as YYYYMMDDHHMISS000 (year-month-day-hour-minute-seconds-milliseconds). + */ + static const char* const getCurrentMillisecsDateTime(void); + + /** + * Adds a duration item to the duration map. + * @param visualDurationIdentifier The identifier of the duration item. + */ + static void addDurationItemToDurationMap(const VisualItemIdentifier& visualDurationIdentifier); + + private: + + /** + * Returns a pointer to the VisualTiming. Initializes VisualTiming if neccessary. + * VisualTiming is a singleton. + * @return A pointer to the VisualTiming. + */ + static VisualTiming* getInstance(void); + + /** + * A data entry that stores timing values of a duration item. + */ + typedef struct { +#if TARGET_OS_MAC + double firstTimestamp; /**< The timestamp of the first call of the duration item. */ + double lastTimestamp; /**< The timestamp of the last call of the duration item. */ +#endif +#if TARGET_OS_WIN + LARGE_INTEGER firstTimestamp; + LARGE_INTEGER lastTimestamp; +#endif + } DurationItem; + + /** A DurationMap is a map of duration items. */ + typedef std::map DurationMap; + + /** The map of the duration items. */ + DurationMap durationMap; + + /** A DurationMapIterator is the iterator of a DurationMap. */ + typedef DurationMap::iterator DurationMapIterator; + + /** + * Returns the difference between one timestamp and another. + * @param young_timestamp The timestamp that was recorded before old_timestamp. + * @param old_timestamp The timestamp that was recorded after young_timestamp. + * @return The difference between young_timestamp and old_timestamp. + */ +#if TARGET_OS_MAC + double getTimeDelta(double young_timestamp, double old_timestamp); +#endif +#if TARGET_OS_WIN + double getTimeDelta(LARGE_INTEGER young_timestamp, LARGE_INTEGER old_timestamp); +#endif + + /** The timestamp of the current render call. */ +#if TARGET_OS_MAC + double currentTime; +#endif +#if TARGET_OS_WIN + LARGE_INTEGER currentTime; +#endif + + /** VisualTiming is a singleton class. Pointer to private instance is handled internally. */ + static VisualTiming* theVisualTiming; + + /** The frequency of QueryPerformanceFrequency. Windows only. */ +#if TARGET_OS_WIN + LARGE_INTEGER freq; // QueryPerformanceFrequency (unsigned __int64 ?) +#endif + + /** A string representing date and time (YYYYMMDDHHMISS). */ + char dateTimeStr[32]; + + /** The constructor. VisualTiming is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualTiming(); + + /** + * The destructor. + */ + ~VisualTiming(); + + /** + * Copy constructor. + * @param other Another VisualTiming. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualTiming(const VisualTiming& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualTiming& operator=(const VisualTiming& other); + + }; + +} + + +#endif /* VisualTiming_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp new file mode 100644 index 0000000000..25d415f625 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp @@ -0,0 +1,546 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualColorTools.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualColorTools.h" +#include "VisualErrorHandling.h" + +#include // sqrt + +using namespace VizKit; + + +double VisualColorTools::min3(const double& val1, const double& val2, const double& val3) { + if (val1 < val2) { + if (val1 < val3) { + return val1; + } else { + return val3; + } + } else if (val2 < val3) { + return val2; + } + return val3; +} + + +double VisualColorTools::max3(const double& val1, const double& val2, const double& val3) { + if (val1 > val2) { + if (val1 > val3) { + return val1; + } else { + return val3; + } + } else if (val2 > val3) { + return val2; + } + return val3; +} + + +double VisualColorTools::hueToRGB(const double& v1, const double& v2, const double& hue) { + double vH = hue; + if (vH < 0) vH += 1; + if (vH > 1) vH -= 1; + if ((6 * vH) < 1) return (v1 + (v2 - v1) * 6 * vH); + if ((2 * vH) < 1) return v2; + if ((3 * vH) < 2) return (v1 + (v2 - v1) * ((2.0 / 3.0 ) - vH) * 6); + return v1; +} + + +PixelColor VisualColorTools::getPixelColor(const VertexColor& vertexColor) { + uint8 a = static_cast(vertexColor.a * 255.0); + uint8 r = static_cast(vertexColor.r * 255.0); + uint8 g = static_cast(vertexColor.g * 255.0); + uint8 b = static_cast(vertexColor.b * 255.0); + return VisualColorTools::getPixelColor(a, r, g, b); +} + + +VertexColor VisualColorTools::getVertexColor(const PixelColor& pixelColor) { + VertexColor vertexColor; + uint8 a; + uint8 r; + uint8 g; + uint8 b; + VisualColorTools::getColorComponentValues(pixelColor, a, r, g, b); + vertexColor.alpha = (double)a / 255.0; + vertexColor.red = (double)r / 255.0; + vertexColor.green = (double)g / 255.0; + vertexColor.blue = (double)b / 255.0; + vertexColor.r = vertexColor.red; + vertexColor.g = vertexColor.green; + vertexColor.b = vertexColor.blue; + vertexColor.a = vertexColor.alpha; + return vertexColor; +} + + +void VisualColorTools::getColorComponentValues(const PixelColor& pixelColor, uint8& alpha, uint8& red, uint8& green, uint8& blue) { + alpha = ((pixelColor >> 24) & 0xff); + red = ((pixelColor >> 16) & 0xff); + green = ((pixelColor >> 8) & 0xff); + blue = pixelColor & 0xff; +} + + +PixelColor VisualColorTools::getPixelColor(const uint8& alpha, const uint8& red, const uint8& green, const uint8& blue) { + PixelColor pixelColor = (alpha << 24) | (red << 16) | (green << 8) | blue; + return pixelColor; +} + + +void VisualColorTools::getMeanPixelColor(const PixelColor* colors, uint32 count, PixelColor& avgPixelColor) { + + double avg_ch_1 = 0.0; + double avg_ch_2 = 0.0; + double avg_ch_3 = 0.0; + double avg_ch_4 = 0.0; + + uint32 loopCount = 0; + for (uint32 i = 0; i < count; i++) { + + avg_ch_1 = (avg_ch_1 * (double)loopCount + (double)((colors[i] >> 24) & 0xff)) / (double)(loopCount + 1); + avg_ch_2 = (avg_ch_2 * (double)loopCount + (double)((colors[i] >> 16) & 0xff)) / (double)(loopCount + 1); + avg_ch_3 = (avg_ch_3 * (double)loopCount + (double)((colors[i] >> 8) & 0xff)) / (double)(loopCount + 1); + avg_ch_4 = (avg_ch_4 * (double)loopCount + (double)(colors[i] & 0xff)) / (double)(loopCount + 1); + + loopCount++; + } + + avgPixelColor = ((uint8)avg_ch_1 << 24) | ((uint8)avg_ch_2 << 16) | ((uint8)avg_ch_3 << 8) | (uint8)avg_ch_4; + +} + + +PixelColor VisualColorTools::getMeanRGBPixelColor(const PixelColor& colorX, const PixelColor& colorY, const uint32& count) { + + uint8 a_x, r_x, g_x, b_x; + VisualColorTools::getColorComponentValues(colorX, a_x, r_x, g_x, b_x); + + uint8 a_y, r_y, g_y, b_y; + VisualColorTools::getColorComponentValues(colorY, a_y, r_y, g_y, b_y); + + //float h_x, s_x, l_x; + //float h_y, s_y, l_y; + + //VisualColorTools::rgb2hsl((double)r_x / (double)255.0, (double)g_x / (double)255.0, (double)b_x / (double)255.0, h_x, s_x, l_x); + //VisualColorTools::rgb2hsl((double)r_y / (double)255.0, (double)g_y / (double)255.0, (double)b_y / (double)255.0, h_y, s_y, l_y); + + //float avg_h, avg_s, avg_l; + + + uint32 avg_a = 0xff000000; + + uint8 avg_r_8bit = (uint8)((double)((r_x * count) + r_y) / (double)(count + 1)); + uint8 avg_g_8bit = (uint8)((double)((g_x * count) + g_y) / (double)(count + 1)); + uint8 avg_b_8bit = (uint8)((double)((b_x * count) + b_y) / (double)(count + 1)); + + //float avg_h = (float)((float)((h_x * (float)count) + h_y) / (float)(count + 1)); + //float avg_s = (float)((float)((s_x * (float)count) + s_y) / (float)(count + 1)); + //float avg_l = (float)((float)((l_x * (float)count) + l_y) / (float)(count + 1)); + + /* + float avg_r, avg_g, avg_b; + VisualColorTools::hsl2rgb(avg_h, avg_s, avg_l, avg_r, avg_g, avg_b); + uint32 avg_r_8bit = (uint32)(avg_r * 255.0f); + uint32 avg_g_8bit = (uint32)(avg_g * 255.0f); + uint32 avg_b_8bit = (uint32)(avg_b * 255.0f); + */ + + PixelColor pixelColor = avg_a | (avg_r_8bit << 16) | (avg_g_8bit << 8) | avg_b_8bit; + + return pixelColor; + +} + + +void VisualColorTools::RGBToHSL(const double& r, const double& g, const double& b, double* h, double* s, double* l) { + + double vmin, vmax, delta; + double dr,dg,db; + + vmin = VisualColorTools::min3(r, g, b); + vmax = VisualColorTools::max3(r, g, b); + delta = vmax - vmin; + + *l = (vmax + vmin) / 2; + + if (delta == 0) { // gray + *h = 0; + *s = 0; + } else { + if (*l < 0.5) { + *s = delta / (vmax + vmin); + } else { + *s = delta / (2 - vmax - vmin); + } + + dr = (((vmax - r) / 6) + (delta / 2)) / delta; + dg = (((vmax - g) / 6) + (delta / 2)) / delta; + db = (((vmax - b) / 6) + (delta / 2)) / delta; + + if (r == vmax) { + *h = db - dg; + } else if (g == vmax) { + *h = (1.0 / 3.0) + dr - db; + } else if (b == vmax) { + *h = (2.0 / 3.0) + dg - dr; + } + + if (*h < 0) { + *h += 1; + } + if (*h > 1) { + *h -= 1; + } + } + +} + + +void VisualColorTools::HSLToRGB(const double& h, const double& s, const double& l, double* r, double* g, double* b) { + + double v1, v2; + + if (s == 0) { + *r = l * 255; + *g = l * 255; + *b = l * 255; + } else { + if (l < 0.5) { + v2 = l * (1 + s); + } else { + v2 = (l + s) - (s * l); + } + + v1 = 2 * l - v2; + + *r = 255 * VisualColorTools::hueToRGB(v1, v2, h + (1.0 / 3.0)); + *g = 255 * VisualColorTools::hueToRGB(v1, v2, h); + *b = 255 * VisualColorTools::hueToRGB(v1, v2, h - (1.0 / 3.0)); + } + +} + + +void VisualColorTools::RGBToHSV(const double& r, const double& g, const double& b, double* h, double* s, double* v) { + + double var_Min; + double var_Max; + double del_Max; + + var_Min = VisualColorTools::min3(r, g, b); + var_Max = VisualColorTools::max3(r, g, g); + del_Max = var_Max - var_Min; + + *v = var_Max; + + if (del_Max == 0) { + // gray + *h = 0; + *s = 0; + } else { + double del_R = (((var_Max - r) / 6) + (del_Max / 2)) / del_Max; + double del_G = (((var_Max - g) / 6) + (del_Max / 2)) / del_Max; + double del_B = (((var_Max - b) / 6) + (del_Max / 2)) / del_Max; + + *s = del_Max / var_Max; + + if (r == var_Max) { + *h = del_B - del_G; + } else if (g == var_Max) { + *h = (1.0 / 3.0) + del_R - del_B; + } else if (b == var_Max) { + *h = (2.0 / 3.0) + del_G - del_R; + } + + if (*h < 0) { + *h += 1; + } + if (*h > 1) { + *h -= 1; + } + } + +} + + +void VisualColorTools::HSVToRGB(const double& h, const double& s, const double& v, double* r, double* g, double* b) { + + if (s == 0) { + *r = v; + *g = v; + *b = v; + } else { + + double var_h = h * 6; + double var_i = floor(var_h); + double var_1 = v * (1 - s); + double var_2 = v * (1 - s * (var_h - var_i)); + double var_3 = v * (1 - s * (1 - (var_h - var_i))); + + if ( var_i == 0 ) { + *r = v; + *g = var_3; + *b = var_1; + } else if (var_i == 1) { + *r = var_2; + *g = v; + *b = var_1; + } else if (var_i == 2) { + *r = var_1; + *g = v; + *b = var_3; + } else if (var_i == 3) { + *r = var_1; + *g = var_2; + *b = v; + } else if (var_i == 4) { + *r = var_3; + *g = var_1; + *b = v; + } else { + *r = v; + *g = var_1; + *b = var_2; + } + + } +} + + +void VisualColorTools::convertInterleavedPixels1234To4321(PixelColor* pixels, uint32 numberOfPixels) { + + uint32 a, r, g, b; + uint32 pixel; + + for (uint32 i = 0; i < numberOfPixels; i++) { + + b = ((pixels[i] >> 24) & 0xff); + g = ((pixels[i] >> 16) & 0xff); + r = ((pixels[i] >> 8) & 0xff); + a = (pixels[i] & 0xff); + pixel = (a << 24) | (r << 16) | (g << 8) | b; + + pixels[i] = pixel; + } + +} + + +void VisualColorTools::convertInterleavedPixels1234To3214(PixelColor* pixels, uint32 numberOfPixels) { + + uint32 a, r, g, b; + uint32 pixel; + + for (uint32 i = 0; i < numberOfPixels; i++) { + + r = ((pixels[i] >> 24) & 0xff); + g = ((pixels[i] >> 16) & 0xff); + b = ((pixels[i] >> 8) & 0xff); + a = (pixels[i] & 0xff); + pixel = (a << 24) | (r << 16) | (g << 8) | b; + + pixels[i] = pixel; + } + +} + + +void VisualColorTools::convertARGBPixelToRGB(PixelColor& argbPixel) { + + uint8 a = (argbPixel >> 24) & 0xff; + if (a == 255) return; // already premultiplied + + if (a == 0) { + argbPixel = 0x00000000; + return; + } + + double alphaMultiplier = (double)a / 255.0; + + uint32 r = (argbPixel >> 16) & 0xff; + uint32 g = (argbPixel >> 8) & 0xff; + uint32 b = argbPixel & 0xff; + + r = (uint32)((double)r * alphaMultiplier); + g = (uint32)((double)g * alphaMultiplier); + b = (uint32)((double)b * alphaMultiplier); + + argbPixel = 0xff000000; + argbPixel = argbPixel | (r << 16) | (g << 8) | b; + +} + + +double VisualColorTools::getDistance(const PixelColor& colorX, const PixelColor& colorY) { + double distance = 0; + uint8 a_x, r_x, g_x, b_x; + uint8 a_y, r_y, g_y, b_y; + VisualColorTools::getColorComponentValues(colorX, a_x, r_x, g_x, b_x); + VisualColorTools::getColorComponentValues(colorY, a_y, r_y, g_y, b_y); + double r_x_double = (double)r_x / 255.0; + double g_x_double = (double)g_x / 255.0; + double b_x_double = (double)b_x / 255.0; + double r_y_double = (double)r_y / 255.0; + double g_y_double = (double)g_y / 255.0; + double b_y_double = (double)b_y / 255.0; + double delta_r = r_x_double - r_y_double; + double delta_g = g_x_double - g_y_double; + double delta_b = b_x_double - b_y_double; + distance = sqrt((delta_r * delta_r) + (delta_g * delta_g) + (delta_b * delta_b)); + return distance; +} + + +PixelColor* VisualColorTools::createARGBCheckPixels(uint32 width, uint32 height, const VertexColor& checkColor) { + return VisualColorTools::createCheckPixels(width, height, "ARGB", checkColor); +} + + +uint32* VisualColorTools::createBGRACheckPixels(uint32 width, uint32 height, const VertexColor& checkColor) { + return VisualColorTools::createCheckPixels(width, height, "BGRA", checkColor); +} + + +uint32* VisualColorTools::createRGBACheckPixels(uint32 width, uint32 height, const VertexColor& checkColor) { + return VisualColorTools::createCheckPixels(width, height, "RGBA", checkColor); +} + + +uint32* VisualColorTools::createABGRCheckPixels(uint32 width, uint32 height, const VertexColor& checkColor) { + return VisualColorTools::createCheckPixels(width, height, "ABGR", checkColor); +} + + +PixelColor* VisualColorTools::createCheckPixels(uint32 width, uint32 height, const char* const format, const VertexColor& checkColor) { + + uint8 colorChannelFormat = 0; + if (strcmp(format, "ARGB") == 0) { + colorChannelFormat = 1; + } else if (strcmp(format, "BGRA") == 0) { + colorChannelFormat = 2; + } else if (strcmp(format, "RGBA") == 0) { + colorChannelFormat = 3; + } else if (strcmp(format, "ABGR") == 0) { + colorChannelFormat = 4; + } else { + char errStr[256]; + sprintf(errStr, "Err: unknown colorChannelFormat in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return NULL; + } + + uint8 color = 0; + if (checkColor.r == 1.0 && checkColor.g == 0.0 && checkColor.b == 0.0 && checkColor.a == 1.0 && checkColor.red == 1.0 && checkColor.green == 0.0 && checkColor.blue == 0.0 && checkColor.alpha == 1.0) { + color = 1; // red + } else if (checkColor.r == 0.0 && checkColor.g == 1.0 && checkColor.b == 0.0 && checkColor.a == 1.0 && checkColor.red == 0.0 && checkColor.green == 1.0 && checkColor.blue == 0.0 && checkColor.alpha == 1.0) { + color = 2; // green + } else if (checkColor.r == 0.0 && checkColor.g == 0.0 && checkColor.b == 1.0 && checkColor.a == 1.0 && checkColor.red == 0.0 && checkColor.green == 0.0 && checkColor.blue == 1.0 && checkColor.alpha == 1.0) { + color = 3; // blue + } else if (checkColor.r == 1.0 && checkColor.g == 1.0 && checkColor.b == 1.0 && checkColor.a == 1.0 && checkColor.red == 1.0 && checkColor.green == 1.0 && checkColor.blue == 1.0 && checkColor.alpha == 1.0) { + color = 4; // white + } else { + char errStr[256]; + sprintf(errStr, "unknown checkColor in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return NULL; + } + + const uint8 numberOfChannels = 4; // ARGB, BGRA, RGBA, ABGR + PixelColor* pixels = (PixelColor*)malloc(width * height * numberOfChannels); + if (pixels == NULL) { + char errStr[256]; + sprintf(errStr, "pixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return pixels; + } + + uint32 cnt = 0; + uint32 i; + uint32 j; + uint32 c; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255; + uint8 a, r, g, b; + if (c == 255) { + a = 0xff; + } else { + a = 0x00; + } + // red or white + if ((color == 1) || (color == 4)) { + r = (uint8)c; + } else { + r = 0x00; + } + // green or white + if ((color == 2) || (color == 4)) { + g = (uint8)c; + } else { + g = 0x00; + } + // blue or white + if ((color == 3) || (color == 4)) { + b = (uint8)c; + } else { + b = 0x00; + } + switch (colorChannelFormat) { + case 1: + pixels[cnt] = (a << 24) | (r << 16) | (g << 8) | b; + break; + case 2: + pixels[cnt] = (b << 24) | (g << 16) | (r << 8) | a; + break; + case 3: + pixels[cnt] = (r << 24) | (g << 16) | (b << 8) | a; + break; + case 4: + pixels[cnt] = (a << 24) | (b << 16) | (g << 8) | r; + break; + default: + char errStr[256]; + sprintf(errStr, "unknown colorChannelFormat in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } + cnt++; + } + } + + return pixels; +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h new file mode 100644 index 0000000000..22c8752926 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h @@ -0,0 +1,263 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualColorTools.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualColorTools_h +#define VisualColorTools_h + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + + +namespace VizKit { + + /** + * Various utility functions dealing with pixel color values. + */ + class VisualColorTools { + + public: + + /** + * Converts from VertexColor to PixelColor. + * @param vertexColor The vertexColor to convert. + * @return Returns the pixel color value of the vertex color. + */ + static PixelColor getPixelColor(const VertexColor& vertexColor); + + /** + * Converts from PixelColor to VertexColor. + * @param pixelColor The pixelColor to convert. + * @return Returns the vertex color value of the pixel color. + */ + static VertexColor getVertexColor(const PixelColor& pixelColor); + + /** + * Returns the alpha, red, green, and blue color channel values. + * @param pixelColor The pixelColor to analyze. + * @param[out] alpha The 8-bit value of the alpha component. + * @param[out] red The 8-bit value of the red component. + * @param[out] green The 8-bit value of the green component. + * @param[out] blue The 8-bit value of the blue component. + */ + static void getColorComponentValues(const PixelColor& pixelColor, uint8& alpha, uint8& red, uint8& green, uint8& blue); + + /** + * Returns the Pixel color value for given alpha, red, green, and blue color channel values. + * @param[out] alpha The 8-bit value of the alpha component. + * @param[out] red The 8-bit value of the red component. + * @param[out] green The 8-bit value of the green component. + * @param[out] blue The 8-bit value of the blue component. + * @return The pixel color. + */ + static PixelColor getPixelColor(const uint8& alpha, const uint8& red, const uint8& green, const uint8& blue); + + /** + * Calculates the average pixel color for a number of pixel colors. + * @param colors Array of pixel colors. + * @param count The number of pixel colors to summarize. + * @param[out] avgPixelColor The average pixel color. + */ + static void getMeanPixelColor(const PixelColor* colors, uint32 count, PixelColor& avgPixelColor); + + /** + * Returns the weighted average value. + * @param colorX The existing color value. + * @param colorY The new incoming color value. + * @param count The number of existing color values. The new incoming color value (colorY) is weighted with 1 while the existing color value (colorX) is weighted with (count - 1). + */ + static PixelColor getMeanRGBPixelColor(const PixelColor& colorX, const PixelColor& colorY, const uint32& count); + + /** + * Converts a color from RGB to HSL. + * @param r Red color component value. + * @param g Green color component value. + * @param b Blue color component value. + * @param[out] h Hue color value. + * @param[out] s Saturation color value. + * @param[out] l Lightness color value. + */ + static void RGBToHSL(const double& r, const double& g, const double& b, double* h, double* s, double* l); + + /** + * Converts a color from HSL to RGB. + * @param h Hue color value. + * @param s Saturation color value. + * @param l Lightness color value. + * @param[out] r Red color component value. + * @param[out] g Green color component value. + * @param[out] b Blue color component value. + */ + static void HSLToRGB(const double& h, const double& s, const double& l, double* r, double* g, double* b); + + /** + * Converts a color from RGB to HSV. + * @param r Red color component value. + * @param g Green color component value. + * @param b Blue color component value. + * @param[out] h Hue color value. + * @param[out] s Saturation color value. + * @param[out] v Value color value. + */ + static void RGBToHSV(const double& r, const double& g, const double& b, double* h, double* s, double* v); + + /** + * Converts a color from HSV to RGB. + * @param h Hue color value. + * @param s Saturation color value. + * @param v Value color value. + * @param[out] r Red color component value. + * @param[out] g Green color component value. + * @param[out] b Blue color component value. + */ + static void HSVToRGB(const double& h, const double& s, const double& v, double* r, double* g, double* b); + + /** + * Performs a pixel conversion in-place. E.g. ARGB pixel data is converted to BGRA. + * @param pixels The buffer of 32bpp pixel data. + * @param numberOfPixels The number of pixels. + */ + static void convertInterleavedPixels1234To4321(PixelColor* pixels, uint32 numberOfPixels); + + /** + * Performs a pixel conversion in-place. E.g. BGRA pixel data is converted to RGBA. + * @param pixels The buffer of 32bpp pixel data. + * @param numberOfPixels The number of pixels. + */ + static void convertInterleavedPixels1234To3214(PixelColor* pixels, uint32 numberOfPixels); + + /** + * Performs a pixel conversion in-place. ARGB is converted to RGB with alpha value being premultiplied. + * @param[in,out] argbPixel An ARGB pixel (on return the ARGB pixel is converted to RGB with premultiplied alpha). + */ + static void convertARGBPixelToRGB(PixelColor& argbPixel); + + /** + * Returns the distance between two RGB pixel values. + * @param colorX One color. + * @param colorY The other color. + * @return The distance between two RGB pixel values. + */ + static double getDistance(const PixelColor& colorX, const PixelColor& colorY); + + /** + * Creates an image buffer with 8-bit per color/alpha channel ARGB pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @param checkColor The color of the check squares of the sample image. + * @return A pointer to allocated pixel data. + * @remarks The caller has to deallocate the pixel buffer by calling free(). + */ + static PixelColor* createARGBCheckPixels(uint32 width, uint32 height, const VertexColor& checkColor = red); + + /** + * Creates an image buffer with 8-bit per color/alpha channel BGRA pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @param checkColor The color of the check squares of the sample image. + * @return A pointer to allocated pixel data. + * @remarks The caller has to deallocate the pixel buffer by calling free(). + */ + static PixelColor* createBGRACheckPixels(uint32 width, uint32 height, const VertexColor& checkColor = red); + + /** + * Creates an image buffer with 8-bit per color/alpha channel RGBA pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @param checkColor The color of the check squares of the sample image. + * @return A pointer to allocated pixel data. + * @remarks The caller has to deallocate the pixel buffer by calling free(). + */ + static PixelColor* createRGBACheckPixels(uint32 width, uint32 height, const VertexColor& checkColor = red); + + /** + * Creates an image buffer with 8-bit per color/alpha channel ABGR pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @param checkColor The color of the check squares of the sample image. + * @return A pointer to allocated pixel data. + * @remarks The caller has to deallocate the pixel buffer by calling free(). + */ + static PixelColor* createABGRCheckPixels(uint32 width, uint32 height, const VertexColor& checkColor = red); + + private: + + /** The constructor. VisualColorTools is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualColorTools(); + + /** The destructor. VisualColorTools is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualColorTools(); + + /** + * Returns the minimum value of three values. + * @param val1 First value. + * @param val2 Second value. + * @param val3 Third value. + * @return The minimum value of the three values. + */ + static double min3(const double& val1, const double& val2, const double& val3); + + /** + * Returns the maximum value of three values. + * @param val1 First value. + * @param val2 Second value. + * @param val3 Third value. + * @return The maximum value of the three values. + */ + static double max3(const double& val1, const double& val2, const double& val3); + + /** + * Helper function to match hue to a red, green, or blue value. + * @param v1 First value. + * @param v2 Second value. + * @param hue Hue value. + * @return Color component value (red, green, or blue). + */ + static double hueToRGB(const double& v1, const double& v2, const double& hue); + + /** + * Internal method to create an image buffer with 8-bit per color/alpha channel pixel data in given format (ARGB, BGRA, RGBA, ABGR). + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @param format The format of the pixel data (e.g. ARGB). + * @param checkColor The color of the check squares of the sample image. + * @return A pointer to allocated pixel data. + */ + static PixelColor* createCheckPixels(uint32 width, uint32 height, const char* const format, const VertexColor& checkColor); + + }; + +} + +#endif /* VisualColorTools_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp new file mode 100644 index 0000000000..ca32a23b99 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp @@ -0,0 +1,367 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualErrorHandling.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualErrorHandling.h" +#include "VisualConfiguration.h" +#include "VisualFile.h" +#include "VisualString.h" +#include "VisualPlayerState.h" + +#include + +#if TARGET_OS_MAC +#include +#include +#endif + + +#if TARGET_OS_WIN +#include +#endif + + +#if TARGET_OS_WIN +#define PERR(bSuccess, api) {if(!(bSuccess)) printf("%s: Error %d from %s on line %d\n", __FILE__, GetLastError(), api, __LINE__);} +#endif + + +// private declaration of internally used function +#if TARGET_OS_MAC +void printframeinfo(unsigned int level, void *fp, void *ra); +#endif + + +void writeLog(const char* const infoStr) { + + bool textFile = false; +#if DEBUG + textFile = true; +#endif + + if (textFile) { + VizKit::VisualFile logFile; + bool success = logFile.initWithUserDesktopDirectory(); + if (!success) { + return; + } + VizKit::VisualString logFileName = VizKit::VisualString(VizKit::VisualConfiguration::visualizerPluginIdentifierName); + logFileName = logFileName + ".log.txt"; + success = logFile.appendFileName(logFileName); + if (!success) { + return; + } + VizKit::VisualString logFilePathString; + logFile.getFilePath(logFilePathString); + const char* const logFilePath = logFilePathString.getUtf8Representation(); + + FILE* aFile = fopen(logFilePath, "a"); + if (aFile != NULL) { + fprintf(aFile, "%s\n", infoStr); + fclose(aFile); + } + + } else { +#if TARGET_OS_MAC + printf("%s\n", infoStr); +#endif +#if TARGET_OS_WIN + HANDLE hSource; + char* szList[1]; + szList[0] = const_cast(infoStr); + hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::visualizerPluginIdentifierName); + if (hSource != NULL) { + ReportEvent(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCSTR*)szList, NULL); + DeregisterEventSource(hSource); + } +#endif + } +} + + +void writeLogW(const wchar_t* const infoStr) { +#if TARGET_OS_MAC + printf("%ls\n", infoStr); +#endif +#if TARGET_OS_WIN + HANDLE hSource; + wchar_t* szList[1]; + szList[0] = const_cast(infoStr); + hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::visualizerPluginIdentifierName); + if (hSource != NULL) { + ReportEventW(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCWSTR*)szList, NULL); + DeregisterEventSource(hSource); + } +#endif +} + + +void writeDebugLog(const char* const infoStr) { + VizKit::VisualPlayerState* state = VizKit::VisualPlayerState::getInstance(); + if (state->isInDebugMode() == true) { +#if TARGET_OS_MAC + printf("%s\n", infoStr); +#endif +#if TARGET_OS_WIN + HANDLE hSource; + char* szList[1]; + szList[0] = const_cast(infoStr); + hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::visualizerPluginIdentifierName); + if (hSource != NULL) { + ReportEvent(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCSTR*)szList, NULL); + DeregisterEventSource(hSource); + } +#endif + } +} + + + +#if TARGET_OS_WIN + +void writeLastErrorLog(char* lpszFunction) { + TCHAR szBuf[1024]; + LPVOID lpMsgBuf; + DWORD dw = GetLastError(); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, + NULL, + dw, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPSTR) &lpMsgBuf, + 0, + NULL); + + wsprintf(szBuf, "%s failed with error %d: %s", lpszFunction, dw, lpMsgBuf); + + writeLog(szBuf); + LocalFree(lpMsgBuf); +} + +#endif + + + +#if TARGET_OS_MAC + +void printframeinfo(unsigned int level, void *fp, void *ra) { + int ret; + Dl_info info; + + // Find the image containing the given address + ret = dladdr(ra, &info); + + //char demangledName[1024]; + //size_t length; + //int status; + //char* demangledNameRetChar = abi::__cxa_demangle(info.dli_sname, demangledName, &length, &status); + //printf("demangled: %s\n", demangledName); + + printf("#%u %s%s in %s, fp = %p, pc = %p\n", + level, + (ret) ? info.dli_sname : "?", // symbol name + (ret) ? "()" : "", // show as a function + (ret) ? info.dli_fname : "?", fp, ra); // shared object name +} + + +void stacktrace() { + unsigned int level = 0; + void *saved_ra = __builtin_return_address(0); + void **fp = (void **)__builtin_frame_address(0); + void *saved_fp = __builtin_frame_address(1); + + printframeinfo(level, saved_fp, saved_ra); + level++; + fp = (void**)saved_fp; + while (fp) { + saved_fp = *fp; + fp = (void**)saved_fp; + if (*fp == NULL) + break; + saved_ra = *(fp + 2); + printframeinfo(level, saved_fp, saved_ra); + level++; + } +} + +#endif + + + + +#if TARGET_OS_WIN + +/********************************************************************* + * FUNCTION: addSourceToRegistry(void) * + * * + * PURPOSE: Add a source name key, message DLL name value, and * + * message type supported value to the registry * + * * + * INPUT: source name, path of message DLL * + * * + * RETURNS: none * + *********************************************************************/ + +void addSourceToRegistry(char* pszAppname, char* pszMsgDLL) +{ + HKEY hk; /* registry key handle */ + DWORD dwData; + BOOL bSuccess; + + /* When an application uses the RegisterEventSource or OpenEventLog + function to get a handle of an event log, the event loggging service + searches for the specified source name in the registry. You can add a + new source name to the registry by opening a new registry subkey + under the Application key and adding registry values to the new + subkey. */ + + /* Create a new key for our application */ + bSuccess = RegCreateKey(HKEY_LOCAL_MACHINE, + "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\NTP", &hk); + PERR(bSuccess == ERROR_SUCCESS, "RegCreateKey"); + + /* Add the Event-ID message-file name to the subkey. */ + bSuccess = RegSetValueEx(hk, /* subkey handle */ + "EventMessageFile", /* value name */ + 0, /* must be zero */ + REG_EXPAND_SZ, /* value type */ + (LPBYTE) pszMsgDLL, /* address of value data */ + strlen(pszMsgDLL) + 1); /* length of value data */ + PERR(bSuccess == ERROR_SUCCESS, "RegSetValueEx"); + + /* Set the supported types flags and addit to the subkey. */ + dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE; + bSuccess = RegSetValueEx(hk, /* subkey handle */ + "TypesSupported", /* value name */ + 0, /* must be zero */ + REG_DWORD, /* value type */ + (LPBYTE) &dwData, /* address of value data */ + sizeof(DWORD)); /* length of value data */ + PERR(bSuccess == ERROR_SUCCESS, "RegSetValueEx"); + RegCloseKey(hk); + return; +} + +/********************************************************************* + * FUNCTION: reportAnEvent(DWORD dwIdEvent, WORD cStrings, * + * LPTSTR *ppszStrings); * + * * + * PURPOSE: add the event to the event log * + * * + * INPUT: the event ID to report in the log, the number of insert * + * strings, and an array of null-terminated insert strings * + * * + * RETURNS: none * + *********************************************************************/ + +void reportAnIEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings) +{ + HANDLE hAppLog; + BOOL bSuccess; + + /* Get a handle to the Application event log */ + hAppLog = RegisterEventSource(NULL, /* use local machine */ + "NTP"); /* source name */ + PERR(hAppLog, "RegisterEventSource"); + + /* Now report the event, which will add this event to the event log */ + bSuccess = ReportEvent(hAppLog, /* event-log handle */ + EVENTLOG_INFORMATION_TYPE, /* event type */ + 0, /* category zero */ + dwIdEvent, /* event ID */ + NULL, /* no user SID */ + cStrings, /* number of substitution strings */ + 0, /* no binary data */ + (LPCSTR*)pszStrings, /* string array */ + NULL); /* address of data */ + PERR(bSuccess, "ReportEvent"); + DeregisterEventSource(hAppLog); + return; +} + +void reportAnWEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings) +{ + HANDLE hAppLog; + BOOL bSuccess; + + /* Get a handle to the Application event log */ + hAppLog = RegisterEventSource(NULL, /* use local machine */ + "NTP"); /* source name */ + PERR(hAppLog, "RegisterEventSource"); + + /* Now report the event, which will add this event to the event log */ + bSuccess = ReportEvent(hAppLog, /* event-log handle */ + EVENTLOG_WARNING_TYPE, /* event type */ + 0, /* category zero */ + dwIdEvent, /* event ID */ + NULL, /* no user SID */ + cStrings, /* number of substitution strings */ + 0, /* no binary data */ + (LPCSTR*)pszStrings, /* string array */ + NULL); /* address of data */ + PERR(bSuccess, "ReportEvent"); + DeregisterEventSource(hAppLog); + return; +} + +void reportAnEEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings) +{ + HANDLE hAppLog; + BOOL bSuccess; + + /* Get a handle to the Application event log */ + hAppLog = RegisterEventSource(NULL, /* use local machine */ + "NTP"); /* source name */ + PERR(hAppLog, "RegisterEventSource"); + + /* Now report the event, which will add this event to the event log */ + bSuccess = ReportEvent(hAppLog, /* event-log handle */ + EVENTLOG_ERROR_TYPE, /* event type */ + 0, /* category zero */ + dwIdEvent, /* event ID */ + NULL, /* no user SID */ + cStrings, /* number of substitution strings */ + 0, /* no binary data */ + (LPCSTR*)pszStrings, /* string array */ + NULL); /* address of data */ + PERR(bSuccess, "ReportEvent"); + DeregisterEventSource(hAppLog); + return; +} + + +#endif + + + diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h new file mode 100644 index 0000000000..f3d73c13bf --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h @@ -0,0 +1,99 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualErrorHandling.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualErrorHandling_h +#define VisualErrorHandling_h + + +#include "VisualTypes.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* ErrorHandling can be used to write log information to a log file. */ + + +/** + * Writes a 8-bit string to the system log file or a log file on the Desktop. By setting internal variable textFile, the behavior of this function can be customized. + * @param infoStr The 8-bit string to write to log file. + * @remarks In case of crash stop of iTunes on Mac, the system log messages sometimes are not written completely to the system log file because the flushing of the remaining string data does not occur. + */ +void writeLog(const char* const infoStr); + +/** + * Writes a wchar_t string to the system log file. + * @param infoStr The wchar_t string to write to log file. + */ +void writeLogW(const wchar_t* const infoStr); + +/** + * Writes a string to the system log file if player is in debug mode. + * @param infoStr The string to write to log file. + */ +void writeDebugLog(const char* const infoStr); + +#if TARGET_OS_MAC +/** + * Writes the call stack (backtrace) to the system log file. + */ +void stacktrace(void); +#endif + +#if TARGET_OS_WIN + /** + * Writes the last error to the system log file. Windows-only. + * @param lpszFunction The name of the function where the error occured. + */ + void writeLastErrorLog(char* lpszFunction); + + + void addSourceToRegistry(char* pszAppname, char* pszMsgDLL); + + void reportAnIEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings); + + void reportAnWEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings); + + void reportAnEEvent(uint32 dwIdEvent, uint16 cStrings, char* pszStrings); + +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* VisualErrorHandling_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp new file mode 100644 index 0000000000..e3edfd1b28 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp @@ -0,0 +1,126 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualInterpolation.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualInterpolation.h" +#include "VisualErrorHandling.h" + +#include +#include +#include // RAND_MAX + + +#ifndef M_PI +#define M_PI 3.14159265358979323846264338327950288 +#endif + + +using namespace VizKit; + + +const double VisualInterpolation::startValue = 0.0; +const double VisualInterpolation::endValue = 1.0; + + +VisualInterpolation::VisualInterpolation(InterpolationType anInterpolationType) { + calcDistance(); + interpolationType = anInterpolationType; +} + + +VisualInterpolation::~VisualInterpolation() { + // NULL +} + + +VisualInterpolation::VisualInterpolation(const VisualInterpolation& other) { + copy(other); +} + + +VisualInterpolation& VisualInterpolation::operator=(const VisualInterpolation& other) { + if (this != &other) { + this->copy(other); + } + return *this; +} + + +void VisualInterpolation::copy(const VisualInterpolation& other) { + this->distance = other.distance; + this->interpolationType = other.interpolationType; +} + + +double VisualInterpolation::getValueAtPosition(double position) const { + double valueAtPosition = 0.0; + if (position < 0.0 || position > 1.0) { + char errLog[64]; + sprintf(errLog, "invalid position %f in file: %s (line: %d) [%s])", position, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return valueAtPosition; + } + if (interpolationType == kSinusoidalInterpolation) { + position = (-1.0 * cos(position * M_PI) / 2.0) + 0.5; + } + if (this->startValue > this->endValue) { + valueAtPosition = this->startValue - (this->distance * position); + } else if (this->startValue < this->endValue) { + valueAtPosition = this->startValue + (this->distance * position); + } else { + valueAtPosition = this->startValue; + } + return valueAtPosition; +} + + +void VisualInterpolation::setType(InterpolationType anInterpolationType) { + this->interpolationType = anInterpolationType; +} + + +void VisualInterpolation::calcDistance() { + if (this->startValue > this->endValue) { + this->distance = this->startValue - this->endValue; + } else if (this->startValue < this->endValue) { + this->distance = this->endValue - this->startValue; + } else { + this->distance = 0.0; + } +} + + +double VisualInterpolation::getRandomValue() { + return ((double)rand() / (double)RAND_MAX); +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h new file mode 100644 index 0000000000..9c7bbfa1fc --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h @@ -0,0 +1,118 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualInterpolation.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualInterpolation_h +#define VisualInterpolation_h + + +#include "VisualTypes.h" +#include "VisualAnimationTypes.h" + + +namespace VizKit { + + /** + * Interpolation between values 0.0 and 1.0. + */ + class VisualInterpolation { + + public: + + /** + * The constructor. + * @param anInterpolationType Default interpolation is linear. + */ + VisualInterpolation(InterpolationType anInterpolationType = kLinearInterpolation); + + /** + * The destructor. + */ + ~VisualInterpolation(); + + /** + * Copy constructor. + * @param other Another VisualInterpolation. + */ + VisualInterpolation(const VisualInterpolation& other); + + /** + * Assignment operator. + * @param other Another VisualInterpolation. + */ + VisualInterpolation& operator=(const VisualInterpolation& other); + + /** + * Returns the computed value at a specific position. + * @param position The position of the interpolation. Position can be between 0.0 and 1.0. + * @return The interpolated value. + */ + double getValueAtPosition(double position) const; + + /** + * Sets the type of interpolation. + * @param anInterpolationType The type of interpolation. + * @remarks Linear and sinusoidal interpolation are possible. + */ + void setType(InterpolationType anInterpolationType); + + /** + * Returns a random value between 0.0 and 1.0. + * @return A random value between 0.0 and 1.0. + */ + static double getRandomValue(void); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualInterpolation. + */ + void copy(const VisualInterpolation& other); + + void calcDistance(); /**< Internal method to compute the distance between start and end value. */ + + static const double startValue; /**< The start value. */ + + static const double endValue; /**< The end value. */ + + double distance; /**< The calculated distance between start and end value. */ + + InterpolationType interpolationType; /**< The type of interpolation used (linear, sinusoidal). */ + + }; + +} + +#endif /* VisualInterpolation_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp new file mode 100644 index 0000000000..03e276c251 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp @@ -0,0 +1,159 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualItemIdentifier.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualItemIdentifier.h" +#include "VisualErrorHandling.h" + +#include + + + +using namespace VizKit; + + +VisualItemIdentifier::VisualItemIdentifierNameTokenMap VisualItemIdentifier::visualItemIdentifierNameTokenMap; + + +VisualItemIdentifier::VisualItemIdentifier() { + name = (char*)malloc(128 * sizeof(char)); + strcpy(name, "\0"); + token = VisualItemIdentifier::getNextToken(); +} + + +VisualItemIdentifier::VisualItemIdentifier(const char* const aName, uint32 aToken) { + name = (char*)malloc(128 * sizeof(char)); + strcpy(name, aName); + token = aToken; +} + + +VisualItemIdentifier::VisualItemIdentifier(const char* const aName) { + name = (char*)malloc(128 * sizeof(char)); + strcpy(name, aName); + std::string itemIdentifierString(aName); + VisualItemIdentifierNameTokenMapIterator it = VisualItemIdentifier::visualItemIdentifierNameTokenMap.find(itemIdentifierString); + if (it != VisualItemIdentifier::visualItemIdentifierNameTokenMap.end()) { + token = it->second; + } else { + token = VisualItemIdentifier::getNextToken(); + VisualItemIdentifier::visualItemIdentifierNameTokenMap[itemIdentifierString] = token; + } +} + + +VisualItemIdentifier::~VisualItemIdentifier() { + free(name); +} + + +VisualItemIdentifier::VisualItemIdentifier(const VisualItemIdentifier& other) { + this->copy(other); +} + + +VisualItemIdentifier& VisualItemIdentifier::operator=(const VisualItemIdentifier& other) { + if (this != &other) { + free(name); + this->copy(other); + } + return *this; +} + + +bool VisualItemIdentifier::operator<(const VisualItemIdentifier& other) const { + bool compareResult = false; + if (this->token < other.token) { + compareResult = true; + } + return compareResult; +} + + +bool VisualItemIdentifier::operator==(const VisualItemIdentifier& other) const { + bool compareResult = false; + if (this->token == other.token) { + compareResult = true; + } + return compareResult; +} + + +bool VisualItemIdentifier::operator!=(const VisualItemIdentifier& other) { + return !(*this == other); +} + + +VisualItemIdentifier* VisualItemIdentifier::createVisualItemIdentifier(const char* const aName) { + VisualItemIdentifier* requestedVisualItemIdentifier = NULL; + uint32 token = 0; + std::string itemIdentifierString(aName); + VisualItemIdentifierNameTokenMapIterator it = VisualItemIdentifier::visualItemIdentifierNameTokenMap.find(itemIdentifierString); + if (it != VisualItemIdentifier::visualItemIdentifierNameTokenMap.end()) { + token = it->second; + } else { + token = VisualItemIdentifier::getNextToken(); + VisualItemIdentifier::visualItemIdentifierNameTokenMap[itemIdentifierString] = token; + } + requestedVisualItemIdentifier = new VisualItemIdentifier(aName, token); + return requestedVisualItemIdentifier; +} + + +const char* const VisualItemIdentifier::getName() { + return this->name; +} + + +void VisualItemIdentifier::copy(const VisualItemIdentifier& other) { + this->name = (char*)malloc(128 * sizeof(char)); + if (strlen(other.name) > 0) { + strcpy(this->name, other.name); + } else { + strcpy(this->name, "\0"); + } + this->token = other.token; +} + + +uint32 VisualItemIdentifier::getNextToken() { + static uint32 theToken = 1; + if (theToken > 4294967295UL) { + writeLog("ERR: getNextToken: MAX exceeded"); + theToken = 1; + } + theToken += 1; + return theToken; +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h new file mode 100644 index 0000000000..3d0aa9fd26 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h @@ -0,0 +1,158 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualItemIdentifier.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualItemIdentifier_h +#define VisualItemIdentifier_h + + +#include "VisualTypes.h" +#include + + +namespace VizKit { + + /** + * Identifier of an item (like e.g. a VisualNurbs or a VisualAnimationComponent). + * The internal token of the identifier stays the same across copy operations. Comparisons of copied instances yield equal result. Identifiers can be shared by supplying a name. If another VisualItemIdentifier with the same name has been created already, it is returned by VisualItemIdentifierRegistry's getVisualItemIdentifier(). + */ + class VisualItemIdentifier { + + public: + + /** + * The constructor. + */ + VisualItemIdentifier(); + + /** + * Another constructor. + * @param aName An optional identifier name (for shared VisualItemIdentifiers). + */ + VisualItemIdentifier(const char* const aName); + + /** + * The destructor. + */ + ~VisualItemIdentifier(); + + /** + * Copy constructor. + * @param other Another VisualItemIdentifier. + */ + VisualItemIdentifier(const VisualItemIdentifier& other); + + /** + * Assignment operator. + */ + VisualItemIdentifier& operator=(const VisualItemIdentifier& other); + + /** + * Less than operator. + * @param other Another VisualItemIdentifier. + * @remarks The less than operator is used by std::map for find() and sorting (if VisualItemIdentifier is used as key_type). + */ + bool operator<(const VisualItemIdentifier& other) const; + + /** + * Equality operator. + * @param other Another VisualItemIdentifier. + */ + bool operator==(const VisualItemIdentifier& other) const; + + /** + * Inequality operator. + * @param other Another VisualItemIdentifier. + */ + bool operator!=(const VisualItemIdentifier& other); + + /** + * Returns a VisualItemIdentifier identified by name. By using a name as token, the same identifier can be used at different places. + * @param aName The name of the VisualItemIdentifier. + * @return A pointer to a visualItemIdentifier identified by its name. + * @remarks The caller has to release the allocated memory by calling delete() on the pointer. + */ + static VisualItemIdentifier* createVisualItemIdentifier(const char* const aName); + + /** + * Returns the name (NULL if there is none). + * @return The optional identifier name. + */ + const char* const getName(void); + + private: + + /** + * Private constructor. + * @param aName Name of VisualItemIdentifier. + * @param aToken Token of VisualItemIdentifier. + */ + VisualItemIdentifier(const char* const aName, uint32 aToken); + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualItemIdentifier. + */ + void copy(const VisualItemIdentifier& other); + + /** + * The optional identifier name (for shared VisualItemIdentifiers). + */ + char* name; + + /** + * Internal method to receive the next valid token. + */ + static uint32 getNextToken(); + + /** + * The internal identifier of the VisualItemIdentifier. + * @remarks The internal identifier stays the same across copies and instances. Since it is typed as 32bit unsigned integer the number of identifiers is limited to 4294967296. + */ + uint32 token; + + /** A VisualItemIdentifierTokenNameMap is a map of names and tokens. */ + typedef std::map VisualItemIdentifierNameTokenMap; + + /** A map of names and tokens. */ + static VisualItemIdentifierNameTokenMap visualItemIdentifierNameTokenMap; + + /** A VisualItemIdentifierNameTokenMapIterator is an iterator of a VisualItemIdentifierNameTokenMap. */ + typedef VisualItemIdentifierNameTokenMap::iterator VisualItemIdentifierNameTokenMapIterator; + + }; + +} + +#endif /* VisualItemIdentifier_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp new file mode 100644 index 0000000000..f15844c785 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp @@ -0,0 +1,73 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualQuickTime.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualQuickTime.h" + + +#if TARGET_OS_WIN +#include // Header file of QuickTime 7.3 SDK for Windows (http://developer.apple.com/sdk/index.html) +#endif + +#if TARGET_OS_MAC +#include +#endif + + +using namespace VizKit; + + +uint32 VisualQuickTime::getHandleSize(void* aHandle) { + uint32 numberOfBytes = 0; + HLock((Handle)aHandle); + numberOfBytes = ::GetHandleSize((Handle)aHandle); // win: malloc.h: _msize(aHandle) (?) + HUnlock((Handle)aHandle); + return numberOfBytes; +} + + +void VisualQuickTime::disposeHandle(void* aHandle) { + ::DisposeHandle((Handle)aHandle); +} + + +bool VisualQuickTime::getPressedKeyOfEvent(void* theEvent, char& aChar) { + bool success = false; + EventRecord* eventPtr = reinterpret_cast(theEvent); + if ((eventPtr) && ((eventPtr->what == keyDown) || (eventPtr->what == autoKey))) { + aChar = (char)(eventPtr->message & charCodeMask); + success = true; + } + return success; +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h new file mode 100644 index 0000000000..e48cd42f6d --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h @@ -0,0 +1,86 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualQuickTime.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualQuickTime_h +#define VisualQuickTime_h + +#include "VisualTypes.h" + + +namespace VizKit { + + + /** + * Collection of QuickTime functionality. Access of QuickTime functionality is restricted to this class. + */ + class VisualQuickTime { + + public: + + /** + * Returns the number of bytes allocated by a Mac memory handle. + * @return The number of bytes allocated by a Mac memory handle. + * @remarks Album cover artwork data is passed to the visualizer as Mac memory handle. + */ + static uint32 getHandleSize(void* aHandle); + + /** + * Disposes a Mac memory handle. + * @param aHandle A Mac memory handle. + * @remarks Album cover artwork data is passed to the visualizer as Mac memory handle. + */ + static void disposeHandle(void* aHandle); + + /** + * Handles an OS event and returns the character that has been pressed on the keyboard. + * @param theEvent The event to handle. + * @param[out] aChar The character key that has been pressed on the keyboard. + * @return True on success, false on failure. + */ + static bool getPressedKeyOfEvent(void* theEvent, char& aChar); + + private: + + /** The constructor. VisualQuickTime is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualQuickTime(); + + /** The destructor. VisualQuickTime is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualQuickTime(); + + }; + +} + +#endif /* VisualQuickTime_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp new file mode 100644 index 0000000000..b1544bd56b --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp @@ -0,0 +1,981 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualString.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualString.h" +#include "VisualFile.h" +#include "VisualDispatch.h" +#include "VisualErrorHandling.h" +#include "VisualNetwork.h" +#include "VisualNotification.h" + + +using namespace VizKit; + + +VisualString::VisualString() { + theString = NULL; + utf8representation = NULL; + utf16representation = NULL; + numberOfCharacters = 0; + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; +} + + +VisualString::VisualString(const char* const aStringVal, sint32 numberOfBytes) { + theString = NULL; + utf8representation = NULL; + utf16representation = NULL; + numberOfCharacters = 0; + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + if (!aStringVal) return; + + if (numberOfBytes == -1) { + initWithUTF8String(aStringVal); + } else { + initWithUTF8Buffer(aStringVal, numberOfBytes); + } +} + + +VisualString::VisualString(const uint16* const aStringVal, sint32 aNumberOfCharacters) { + theString = NULL; + utf8representation = NULL; + utf16representation = NULL; + numberOfCharacters = 0; + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + if (!aStringVal) return; + + if (aNumberOfCharacters == -1) { + initWithUTF16String(aStringVal); + } else { + initWithUTF16Buffer(aStringVal, aNumberOfCharacters); + } +} + + +VisualString::VisualString(ConstStringDataRef aStringVal) { + initWithConstStringDataRef(aStringVal); +} + + +void VisualString::initWithUTF8String(const char* const aStringVal) { + this->clear(); + if (aStringVal != NULL) { + uint32 numberOfBytes = strlen(aStringVal); +#if TARGET_OS_MAC + Boolean isExternalRepresentation = false; + CFStringRef theStringRef = CFStringCreateWithBytes(kCFAllocatorDefault, (const uint8*)aStringVal, numberOfBytes, kCFStringEncodingUTF8, isExternalRepresentation); + this->numberOfCharacters = CFStringGetLength(theStringRef); + theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, theStringRef); + CFRelease(theStringRef); +#endif +#if TARGET_OS_WIN + DWORD dwFlags = 0; + int destinationSize = 0; + numberOfBytes = -1; // utf8 string is null terminated + // MSDN: If this parameter is -1, the function processes the entire input string, + // including the terminating null character. + // Therefore, the resulting Unicode string has a terminating null character, + // and the length returned by the function includes this character. + int requiredSize = MultiByteToWideChar(CP_UTF8, dwFlags, aStringVal, numberOfBytes, theString, destinationSize); + if (requiredSize > 0) { + destinationSize = requiredSize; + this->theString = (wchar_t*)malloc(destinationSize * sizeof(wchar_t)); + int sizeConverted = MultiByteToWideChar(CP_UTF8, dwFlags, aStringVal, numberOfBytes, theString, destinationSize); + this->numberOfCharacters = destinationSize - 1; + } +#endif + } + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + this->calcStatistics(); +} + + +void VisualString::initWithUTF8Buffer(const char* const aStringVal, uint32 numberOfBytes) { + this->clear(); + if (aStringVal != NULL) { +#if TARGET_OS_MAC + Boolean isExternalRepresentation = false; + CFStringRef theStringRef = CFStringCreateWithBytes(kCFAllocatorDefault, (const uint8*)aStringVal, numberOfBytes, kCFStringEncodingUTF8, isExternalRepresentation); + this->numberOfCharacters = CFStringGetLength(theStringRef); + theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, theStringRef); + CFRelease(theStringRef); +#endif +#if TARGET_OS_WIN + DWORD dwFlags = 0; + int destinationSize = 0; + int requiredSize = MultiByteToWideChar(CP_UTF8, dwFlags, aStringVal, numberOfBytes, theString, destinationSize); + if (requiredSize > 0) { + destinationSize = requiredSize; + this->theString = (wchar_t*)malloc((destinationSize + 1) * sizeof(wchar_t)); + int sizeConverted = MultiByteToWideChar(CP_UTF8, dwFlags, aStringVal, numberOfBytes, theString, destinationSize); + this->theString[destinationSize] = L'\0'; + this->numberOfCharacters = destinationSize; + } +#endif + } + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + this->calcStatistics(); +} + + +void VisualString::initWithUTF16String(const uint16* const aStringVal) { + this->clear(); + if (aStringVal != NULL) { +#if TARGET_OS_MAC + uint16 maxStringLength = 65536 - 1; + const uint16* stringPointer = aStringVal; + for (uint16 i = 0; i < (maxStringLength - 1); i++) { + if (*stringPointer == 0) { + this->numberOfCharacters = stringPointer - aStringVal; + break; + } + stringPointer++; + } + this->theString = CFStringCreateMutable(kCFAllocatorDefault, 0); + CFStringAppendCharacters(this->theString, aStringVal, (CFIndex)this->numberOfCharacters); +#endif +#if TARGET_OS_WIN + this->numberOfCharacters = wcslen((wchar_t*)aStringVal); + size_t sizeInBytes = (numberOfCharacters + 1) * sizeof(wchar_t); + this->theString = (wchar_t*)malloc(sizeInBytes); + memcpy(theString, aStringVal, sizeInBytes); +#endif + } + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + this->calcStatistics(); +} + + +void VisualString::initWithUTF16Buffer(const uint16* const aStringVal, uint32 aNumberOfCharacters) { + this->clear(); + if (aStringVal != NULL) { + this->numberOfCharacters = aNumberOfCharacters; +#if TARGET_OS_MAC + this->theString = CFStringCreateMutable(kCFAllocatorDefault, 0); + CFStringAppendCharacters(this->theString, aStringVal, (CFIndex)this->numberOfCharacters); +#endif +#if TARGET_OS_WIN + size_t sizeInBytes = (this->numberOfCharacters + 1) * sizeof(wchar_t); + this->theString = (wchar_t*)malloc(sizeInBytes); + memcpy(theString, aStringVal, this->numberOfCharacters * sizeof(wchar_t)); + this->theString[this->numberOfCharacters] = L'\0'; +#endif + } + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + this->calcStatistics(); +} + + +bool VisualString::initWithContentsOfFile(VisualFile& aFile) { + + bool success = false; + + size_t size; + success = aFile.getSize(size); + if (!success) { + return success; + } + + void* fileData = NULL; + success = aFile.getData(&fileData, size); + if (!success) { + return success; + } + + this->initWithUTF8Buffer((const char*)fileData, size); + + free(fileData); + + return success; +} + + +bool VisualString::initWithContentsOfURL(const char* const aURL, const VisualItemIdentifier& anId) { + this->clear(); + VisualString urlString(aURL); + bool success = VisualNetwork::addToDownloadQueue(urlString, this, anId); + return success; +} + + +bool VisualString::initWithConstStringDataRef(ConstStringDataRef constStringDataRef) { + + theString = NULL; + utf8representation = NULL; + utf16representation = NULL; + numberOfCharacters = 0; + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + + if (constStringDataRef != NULL) { + +#if TARGET_OS_MAC + this->numberOfCharacters = CFStringGetLength(constStringDataRef); + this->theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, constStringDataRef); +#endif + +#if TARGET_OS_WIN + numberOfCharacters = wcslen(constStringDataRef); + size_t sizeInBytes = (numberOfCharacters + 1) * sizeof(wchar_t); + theString = (wchar_t*)malloc(sizeInBytes); + memcpy(theString, constStringDataRef, sizeInBytes); +#endif + } + + numberOfNonWhitespaceCharacters = 0; + numberOfWords = 0; + numberOfLines = 0; + this->calcStatistics(); + return true; +} + + +VisualString::~VisualString() { + this->clear(); +} + + +VisualString::VisualString(const VisualString& other) : VisualObject(other) { + this->copy(other); +} + + +VisualString& VisualString::operator=(const VisualString& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + this->clear(); + + this->copy(other); + + return *this; +} + + +bool VisualString::operator<(const VisualString& other) const { + bool compareResult = false; + if (other.theString != NULL && this->theString != NULL) { +#if TARGET_OS_MAC + uint16 compareOptions = 0; + if (CFStringCompare(this->theString, other.theString, compareOptions) == kCFCompareLessThan) { +#endif +#if TARGET_OS_WIN + if (wcscmp(this->theString, other.theString) < 0) { +#endif + compareResult = true; + } + } + return compareResult; +} + + +bool VisualString::operator==(const VisualString& other) const { + bool compareResult = false; + if (other.theString != NULL && this->theString != NULL) { +#if TARGET_OS_MAC + uint16 compareOptions = 0; + if (CFStringCompare(this->theString, other.theString, compareOptions) == kCFCompareEqualTo) { +#endif +#if TARGET_OS_WIN + if (wcscmp(this->theString, other.theString) == 0) { +#endif + compareResult = true; + } + } else if (other.theString == NULL && this->theString == NULL) { + compareResult = true; + } + return compareResult; +} + + +bool VisualString::operator!=(const VisualString& other) const { + return !(*this == other); +} + + +void VisualString::copy(const VisualString& other) { + if (other.numberOfCharacters > 0) { +#if TARGET_OS_MAC + this->theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, other.theString); +#endif +#if TARGET_OS_WIN + size_t sizeInBytes = (other.numberOfCharacters + 1) * sizeof(wchar_t); + this->theString = (wchar_t *)malloc(sizeInBytes); + memcpy(theString, other.theString, sizeInBytes); +#endif + } else { + this->theString = NULL; + } + if (other.utf8representation != NULL) { + this->utf8representation = (char*)malloc(strlen(other.utf8representation) * sizeof(char)); + memcpy(this->utf8representation, other.utf8representation, strlen(other.utf8representation)); + } else { + this->utf8representation = NULL; + } + if (other.utf16representation != NULL) { + this->utf16representation = (uint16*)malloc(sizeof(other.utf16representation) * sizeof(char)); + memcpy(this->utf16representation, other.utf16representation, sizeof(other.utf16representation)); + } else { + this->utf16representation = NULL; + } + this->numberOfCharacters = other.numberOfCharacters; + this->numberOfNonWhitespaceCharacters = other.numberOfNonWhitespaceCharacters; + this->calcStatistics(); +} + + +void VisualString::clear() { + if (this->theString != NULL) { +#if TARGET_OS_MAC + CFRelease(this->theString); +#endif +#if TARGET_OS_WIN + free(this->theString); +#endif + this->theString = NULL; + } + if (this->utf8representation != NULL) { + free(this->utf8representation); + this->utf8representation = NULL; + } + if (this->utf16representation != NULL) { + free(this->utf16representation); + this->utf16representation = NULL; + } + if (arrayOfWords.size() > 0) { + arrayOfWords.clear(); + } + if (this->arrayOfLines.size() > 0) { + this->arrayOfLines.clear(); + } + this->numberOfCharacters = 0; + this->numberOfNonWhitespaceCharacters = 0; + this->numberOfWords = 0; + this->numberOfLines = 0; + this->calcStatistics(); +} + + +const VisualString& VisualString::operator+(const VisualString& other) { + VisualString* stringCopy = this->clone(); + uint32 prevNumberOfCharacters = stringCopy->numberOfCharacters; + stringCopy->numberOfCharacters += other.numberOfCharacters; + if (stringCopy->numberOfCharacters > prevNumberOfCharacters) { +#if TARGET_OS_MAC + if (prevNumberOfCharacters == 0) { + stringCopy = other.clone(); + } else { + if (other.numberOfCharacters > 0) { + CFStringAppend(stringCopy->theString, other.getCharactersPointer()); + } + } +#endif +#if TARGET_OS_WIN + size_t sizeInBytes = (stringCopy->numberOfCharacters + 1) * sizeof(wchar_t); + free(stringCopy->theString); + stringCopy->theString = (wchar_t*)malloc(sizeInBytes); + for (uint32 i = 0; i < prevNumberOfCharacters; i++) { + stringCopy->theString[i] = this->theString[i]; + } + uint32 count = 0; + for (uint32 i = prevNumberOfCharacters; i < stringCopy->numberOfCharacters; i++) { + stringCopy->theString[i] = other.theString[count]; + count++; + } + stringCopy->theString[stringCopy->numberOfCharacters] = L'\0'; +#endif + } + stringCopy->numberOfNonWhitespaceCharacters = 0; + stringCopy->numberOfWords = 0; + stringCopy->numberOfLines = 0; + stringCopy->calcStatistics(); + return *stringCopy; +} + + +const VisualString& VisualString::operator+(const char* charString) { + VisualString* stringCopy = new VisualString(*this); + uint32 prevNumberOfCharacters = stringCopy->numberOfCharacters; + stringCopy->numberOfCharacters += strlen(charString); + if (stringCopy->numberOfCharacters > prevNumberOfCharacters) { +#if TARGET_OS_MAC + if (prevNumberOfCharacters == 0) { + stringCopy->initWithUTF8String(charString); + } else { + CFStringAppendCString(stringCopy->theString, charString, kCFStringEncodingUTF8); + } +#endif +#if TARGET_OS_WIN + size_t sizeInBytes = (stringCopy->numberOfCharacters + 1) * sizeof(wchar_t); + free(stringCopy->theString); + stringCopy->theString = (wchar_t*)malloc(sizeInBytes); + for (uint32 i = 0; i < prevNumberOfCharacters; i++) { + stringCopy->theString[i] = this->theString[i]; + } + uint32 count = 0; + for (uint32 i = prevNumberOfCharacters; i < stringCopy->numberOfCharacters; i++) { + stringCopy->theString[i] = (wchar_t)charString[count]; + count++; + } + stringCopy->theString[stringCopy->numberOfCharacters] = L'\0'; +#endif + } + stringCopy->numberOfNonWhitespaceCharacters = 0; + stringCopy->numberOfWords = 0; + stringCopy->numberOfLines = 0; + stringCopy->calcStatistics(); + return *stringCopy; +} + + +VisualString* VisualString::clone(void) const { + return new VisualString(*this); +} + + +uint32 VisualString::getNumberOfCharacters() const { + return this->numberOfCharacters; +} + + +uint32 VisualString::getNumberOfNonWhitespaceCharacters() const { + return this->numberOfNonWhitespaceCharacters; +} + + +bool VisualString::isEmpty(void) const { + if (this->numberOfNonWhitespaceCharacters == 0) { + return true; + } + return false; +} + + +uint32 VisualString::getNumberOfWords(void) const { + return this->numberOfWords; +} + + +uint32 VisualString::getNumberOfLines(void) const { + return this->numberOfLines; +} + + +VisualString* VisualString::createStringWithLine(uint32 index) const { + VisualString* stringAtLine = NULL; +#if TARGET_OS_WIN + stringAtLine = new VisualString((uint16*)&this->theString[this->arrayOfLines[index].startIndex], this->arrayOfLines[index].numberOfCharacters); +#endif +#if TARGET_OS_MAC + CFStringRef string = CFStringCreateWithSubstring(kCFAllocatorDefault, this->theString, CFRangeMake(this->arrayOfLines[index].startIndex, this->arrayOfLines[index].numberOfCharacters)); + stringAtLine = new VisualString(string); + CFRelease(string); +#endif + return stringAtLine; +} + + +VisualString* VisualString::createStringWithWord(uint32 index) const { + VisualString* wordAtIndex = NULL; +#if TARGET_OS_WIN + wordAtIndex = new VisualString((uint16*)&this->theString[this->arrayOfWords[index].startIndex], this->arrayOfWords[index].numberOfCharacters); +#endif +#if TARGET_OS_MAC + CFStringRef string = CFStringCreateWithSubstring(kCFAllocatorDefault, this->theString, CFRangeMake(this->arrayOfWords[index].startIndex, this->arrayOfWords[index].numberOfCharacters)); + wordAtIndex = new VisualString(string); + CFRelease(string); +#endif + return wordAtIndex; +} + + +ConstStringDataRef VisualString::getCharactersPointer() const { + return this->theString; +} + + +const char* const VisualString::getUtf8Representation() { + if (this->utf8representation != NULL) { + free(this->utf8representation); + this->utf8representation = NULL; + } +#if TARGET_OS_MAC + if (this->theString != NULL) { + CFRange range = {0, CFStringGetLength(this->theString)}; + uint8 lossByte = 0; + Boolean isExternalRepresentation = false; + CFIndex maxBufLen = 0; + CFIndex numberOfBytes = 0; + CFIndex numberOfCharsConverted; + numberOfCharsConverted = CFStringGetBytes(this->theString, range, kCFStringEncodingUTF8, lossByte, isExternalRepresentation, NULL, maxBufLen, &numberOfBytes); + if ((numberOfCharsConverted == CFStringGetLength(this->theString)) && (numberOfBytes > 0)) { + this->utf8representation = (char*)malloc(numberOfBytes + 1); + numberOfCharsConverted = CFStringGetBytes(this->theString, range, kCFStringEncodingUTF8, lossByte, isExternalRepresentation, (uint8*)this->utf8representation, numberOfBytes, &numberOfBytes); + this->utf8representation[numberOfBytes] = '\0'; + } + } + +/* + const char* scriptPathConstCStr = CFStringGetCStringPtr(scriptFilePath.getCharactersPointer(), kCFStringEncodingUTF8); + char* scriptPathCStr = NULL; + if (scriptPathConstCStr == NULL) { + CFIndex stringLength = CFStringGetLength(scriptFileSystemPath); + CFIndex maxSize = CFStringGetMaximumSizeForEncoding(stringLength, kCFStringEncodingUTF8); + scriptPathCStr = (char*)malloc((maxSize + 1) * sizeof(char)); + bool success = CFStringGetCString(scriptFileSystemPath, scriptPathCStr, maxSize, kCFStringEncodingUTF8); + if (success == false) { + return false; + } + } + CFRelease(scriptFileSystemPath); +*/ + +#endif + +#if TARGET_OS_WIN + DWORD dwFlags = 0; + int cbMultiByte = 0; + LPCSTR lpDefaultChar = NULL; + LPBOOL lpUsedDefaultChar = NULL; + int numberOfDestinationBytes = 0; + int numberOfBytesRequired = WideCharToMultiByte(CP_UTF8, dwFlags, this->theString, this->numberOfCharacters, this->utf8representation, numberOfDestinationBytes, lpDefaultChar, lpUsedDefaultChar); + if (numberOfBytesRequired > 0) { + numberOfDestinationBytes = numberOfBytesRequired; + this->utf8representation = (char*)malloc(numberOfDestinationBytes + 1); + int bytesConverted = WideCharToMultiByte(CP_UTF8, dwFlags, this->theString, this->numberOfCharacters, this->utf8representation, numberOfDestinationBytes, lpDefaultChar, lpUsedDefaultChar); + this->utf8representation[numberOfDestinationBytes] = '\0'; + } +#endif + + return this->utf8representation; +} + + + +const uint16* const VisualString::getUtf16Representation() { +#if TARGET_OS_MAC + if (this->utf16representation != NULL) { + free(this->utf16representation); + this->utf16representation = NULL; + } + if (this->theString != NULL) { + CFIndex length = CFStringGetLength(this->theString); + this->utf16representation = (uint16*)malloc(((length + 1) * sizeof(uint16))); + CFStringGetCharacters(this->theString, CFRangeMake(0, length), this->utf16representation); + this->utf16representation[length] = 0; + } + + return this->utf16representation; +#endif +#if TARGET_OS_WIN + return (uint16*)this->theString; +#endif +} + + +VisualString VisualString::getSubstring(uint32 startIdx, uint32 numberOfSubstringCharacters) const { + VisualString subString; + if ((startIdx + numberOfSubstringCharacters) > this->numberOfCharacters) { + return subString; + } + uint32 numberOfUTF16Characters = 1; + for (uint32 i = startIdx; i < (startIdx + numberOfSubstringCharacters); i++) { + uint16 characterAtIndex = this->getCharacterAtIndex(i); + VisualString* character = VisualString::createWithUTF16Buffer(&characterAtIndex, numberOfUTF16Characters); + if (character) { + subString = subString + *character; + delete character; + } + } + return subString; +} + + +void VisualString::normalizeLineEndings() { +#if TARGET_OS_WIN + VisualString* normalizedString = new VisualString; + size_t numberOfCharacters = this->getNumberOfCharacters(); + uint32 numberOfCharactersOfSubstring = 1; + uint16 verticalTabChar = 0x000B; // 11 + uint16 lineFeedChar = 0x000A; // 10 + uint16 carriageReturnChar = 0x000D; // 13 + VisualString verticalTab; + verticalTab.initWithUTF16Buffer(&verticalTabChar, numberOfCharactersOfSubstring); + VisualString lineFeed; + lineFeed.initWithUTF16Buffer(&lineFeedChar, numberOfCharactersOfSubstring); + VisualString carriageReturn; + carriageReturn.initWithUTF16Buffer(&carriageReturnChar, numberOfCharactersOfSubstring); + + for (size_t i = 0; i < numberOfCharacters; i++) { + VisualString character = this->getSubstring(i, numberOfCharactersOfSubstring); + if ((character == carriageReturn) && (i < (numberOfCharacters - 1))) { + *normalizedString = *normalizedString + character; + VisualString nextCharacter = this->getSubstring(i + 1, numberOfCharactersOfSubstring); + if (nextCharacter != lineFeed) { + *normalizedString = *normalizedString + lineFeed; + } + } else if ((character == carriageReturn) && (i == (numberOfCharacters - 1))) { + *normalizedString = *normalizedString + character; + *normalizedString = *normalizedString + lineFeed; + } else if (character == verticalTab) { + *normalizedString = *normalizedString + carriageReturn; + *normalizedString = *normalizedString + lineFeed; + } else { + *normalizedString = *normalizedString + character; + } + } +#endif +#if TARGET_OS_MAC + VisualString* normalizedString = this->clone(); +#endif + + this->initWithUTF16Buffer(normalizedString->getUtf16Representation(), normalizedString->getNumberOfCharacters()); + + delete normalizedString; +} + + +uint16 VisualString::getCharacterAtIndex(uint32 index) const { +#if TARGET_OS_MAC + return CFStringGetCharacterAtIndex(this->theString, index); +#endif +#if TARGET_OS_WIN + return this->theString[index]; +#endif +} + + +bool VisualString::characterIsNewlineCharacter(uint16 character) { +#if TARGET_OS_MAC + uint8 uniCharArrayLength = 5; + uint16* uniCharArray = (uint16*)malloc(uniCharArrayLength * sizeof(uint16)); + uniCharArray[0] = 0x000D; // CR + uniCharArray[1] = 0x000A; // LF + uniCharArray[2] = 0x2028; // LSEP + uniCharArray[3] = 0x2029; // PSEP + uniCharArray[4] = 0x0085; // NL + for (uint8 i = 0; i < uniCharArrayLength; i++) { + if (character == uniCharArray[i]) { + return true; + } + } + delete uniCharArray; +#endif +#if TARGET_OS_WIN + if ((character == L'\n') || (character == L'\r')) { + return true; + } +#endif + return false; +} + + +bool VisualString::characterIsWhitespaceCharacter(uint16 character) { + +// word separators +// delimiters(" \t\n~;()'\"<>:{}[]+-=&*#.,/\\"); + +#if TARGET_OS_MAC + CFCharacterSetRef whitespaceAndNewlineSet = CFCharacterSetGetPredefined(kCFCharacterSetWhitespaceAndNewline); + Boolean isWhitespace = CFCharacterSetIsCharacterMember(whitespaceAndNewlineSet, character); + if (isWhitespace) { + return true; + } else { + return false; + } +#endif +#if TARGET_OS_WIN + if ((character == L' ') || (character == L'\n') || (character == L'\r') || (character == L'\t')) { + return true; + } +#endif + return false; +} + + +void VisualString::writeDebugLog() const { +#if TARGET_OS_MAC + logString(this); + CFShowStr(this->theString); +#endif +#if TARGET_OS_WIN + writeLogW(this->theString); +#endif +} + + +std::vector VisualString::splitWithDelimiter(const VisualString& delimiter) { + std::vector stringArray; + // todo +/* +#if TARGET_OS_MAC + CFArrayRef array = CFStringCreateArrayBySeparatingStrings(kCFAllocatorDefault, this->getCharactersPointer(), delimiter.getCharactersPointer()); + for (CFIndex i = 0; i < CFArrayGetCount(array); i++) { + CFStringRef stringRef = (CFStringRef)CFArrayGetValueAtIndex(array, i); + CFIndex length = CFStringGetLength(stringRef); + uint16* unicodeBuffer = (uint16*)malloc(length * sizeof(uint16)); + CFStringGetCharacters(stringRef, CFRangeMake(0, length), unicodeBuffer); + VisualString visualString; + visualString.initWithUTF16Buffer(unicodeBuffer, length); + stringArray.push_back(visualString); + free(unicodeBuffer); + } + CFRelease(array); +#endif +*/ + +//#if TARGET_OS_WIN + uint16 delimiterChar = const_cast(delimiter).getCharacterAtIndex(0); + VisualStringSubstringPointer substring; + substring.startIndex = 0; + substring.numberOfCharacters = 0; + uint32 currCharPointerEnd = 0; + uint32 prevCharPointerEnd = 0; + for (uint32 i = 0; i < this->getNumberOfCharacters(); i++) { + uint16 currChar = this->getCharacterAtIndex(i); + if (currChar == delimiterChar) { + substring.numberOfCharacters = currCharPointerEnd - prevCharPointerEnd; + uint16* unicodeBuffer = (uint16*)malloc(substring.numberOfCharacters * sizeof(uint16)); + uint16* stringBufferSrc = const_cast(this->getUtf16Representation()); + stringBufferSrc += prevCharPointerEnd; + memcpy(unicodeBuffer, stringBufferSrc, substring.numberOfCharacters * sizeof(uint16)); + VisualString visualString; + visualString.initWithUTF16Buffer(unicodeBuffer, substring.numberOfCharacters); + stringArray.push_back(visualString); + free(unicodeBuffer); + substring.startIndex = i + 1; + prevCharPointerEnd = i + 1; + } + currCharPointerEnd++; + } + substring.numberOfCharacters = currCharPointerEnd - prevCharPointerEnd; + if (substring.numberOfCharacters > 0) { + uint16* unicodeBuffer = (uint16*)malloc(substring.numberOfCharacters * sizeof(uint16)); + uint16* stringBufferSrc = const_cast(this->getUtf16Representation()); + stringBufferSrc += prevCharPointerEnd; + memcpy(unicodeBuffer, stringBufferSrc, substring.numberOfCharacters * sizeof(uint16)); + VisualString visualString; + visualString.initWithUTF16Buffer(unicodeBuffer, substring.numberOfCharacters); + stringArray.push_back(visualString); + free(unicodeBuffer); + } +//#endif + return stringArray; +} + + +void VisualString::trim() { +#if TARGET_OS_MAC + CFStringTrimWhitespace(this->theString); +#endif +} + + +VisualString* VisualString::createJoinedString(std::vector stringVector) { + VisualString string; + uint32 numberOfLines = stringVector.size(); + for (uint32 i = 0; i < numberOfLines; i++) { + string = string + stringVector[i]; + string = string + "\n"; + } + VisualString* returnString = VisualString::createWithUTF8String(string.getUtf8Representation()); + return returnString; +} + + +void VisualString::calcStatistics() { + + if (this->arrayOfWords.size() > 0) { + this->arrayOfWords.clear(); + } + if (this->arrayOfLines.size() > 0) { + this->arrayOfLines.clear(); + } + + if (this->numberOfCharacters == 0) return; + + this->numberOfNonWhitespaceCharacters = 0; + this->numberOfWords = 0; + this->numberOfLines = 0; + + bool scannerIsInWord = false; + bool scannerIsInLine = false; + sint32 lineStartPos = -1; + sint32 wordStartPos = -1; + uint32 numberOfLineCharsScanned = 0; + uint32 numberOfWordCharsScanned = 0; + + VisualStringSubstringPointer visualStringSubstringPointer; + + for (uint32 i = 0; i < this->numberOfCharacters; i++) { + if (this->characterIsNewlineCharacter(this->getCharacterAtIndex(i)) == true) { + if (scannerIsInLine == true) { + visualStringSubstringPointer.startIndex = lineStartPos; + visualStringSubstringPointer.numberOfCharacters = numberOfLineCharsScanned; + this->arrayOfLines.push_back(visualStringSubstringPointer); + this->numberOfLines++; + lineStartPos = -1; + numberOfLineCharsScanned = 0; + scannerIsInLine = false; + } + } else { + if (scannerIsInLine == false) { + scannerIsInLine = true; + lineStartPos = i; + } + numberOfLineCharsScanned++; + } + if (this->characterIsWhitespaceCharacter(this->getCharacterAtIndex(i)) == true) { + if (scannerIsInWord == true) { + visualStringSubstringPointer.startIndex = wordStartPos; + visualStringSubstringPointer.numberOfCharacters = numberOfWordCharsScanned; + this->arrayOfWords.push_back(visualStringSubstringPointer); + this->numberOfWords++; + wordStartPos = -1; + numberOfWordCharsScanned = 0; + scannerIsInWord = false; + } + } else { + if (scannerIsInWord == false) { + scannerIsInWord = true; + wordStartPos = i; + } + numberOfWordCharsScanned++; + this->numberOfNonWhitespaceCharacters++; + } + } + if (this->characterIsNewlineCharacter(this->getCharacterAtIndex(this->numberOfCharacters - 1)) == false) { + visualStringSubstringPointer.startIndex = lineStartPos; + visualStringSubstringPointer.numberOfCharacters = numberOfLineCharsScanned; + this->arrayOfLines.push_back(visualStringSubstringPointer); + this->numberOfLines++; + } + if (this->characterIsWhitespaceCharacter(this->getCharacterAtIndex(this->numberOfCharacters - 1)) == false) { + visualStringSubstringPointer.startIndex = wordStartPos; + visualStringSubstringPointer.numberOfCharacters = numberOfWordCharsScanned; + this->arrayOfWords.push_back(visualStringSubstringPointer); + this->numberOfWords++; + } + +} + + +VisualString* VisualString::createWithUTF8String(const char* const aStringVal) { + VisualString* aVisualString = new VisualString(aStringVal); + return aVisualString; +} + + +VisualString* VisualString::createWithUTF8Buffer(const char* const aStringVal, uint32 numberOfBytes) { + VisualString* aVisualString = new VisualString(aStringVal, numberOfBytes); + return aVisualString; +} + + +VisualString* VisualString::createWithUTF16String(const uint16* const aStringVal) { + VisualString* aVisualString = new VisualString(aStringVal); + return aVisualString; +} + + +VisualString* VisualString::createWithUTF16Buffer(const uint16* const aStringVal, uint32 aNumberOfCharacters) { + VisualString* aVisualString = new VisualString(aStringVal, aNumberOfCharacters); + return aVisualString; +} + + +VisualString* VisualString::createWithContentsOfFile(VisualFile& aFile) { + VisualString* aVisualString = new VisualString; + bool success = aVisualString->initWithContentsOfFile(aFile); + if (!success) { + delete aVisualString; + aVisualString = NULL; + } + return aVisualString; +} + + +VisualString* VisualString::createWithContentsOfURL(const char* const aURL, const VisualItemIdentifier& anId) { + VisualString* aVisualString = new VisualString; + bool success = aVisualString->initWithContentsOfURL(aURL, anId); + if (!success) { + delete aVisualString; + aVisualString = NULL; + } + return aVisualString; +} + + +VisualString* VisualString::createWithConstStringDataRef(ConstStringDataRef constStringDataRef) { + VisualString* aVisualString = new VisualString; + bool success = aVisualString->initWithConstStringDataRef(constStringDataRef); + if (!success) { + delete aVisualString; + aVisualString = NULL; + } + return aVisualString; +} + + +void VisualString::dataLoadDidEnd(const VisualItemIdentifier& identifier) { + if (this->hasData()) { + this->initWithUTF8Buffer((const char*)this->getData(), this->getDataSize()); + } + this->freeData(); + if (this->theString != NULL) { + VisualNotification aNotification(identifier); + aNotification.setKey(kStringWithIdentifierLoadedAndCreatedMsg); + aNotification.setPointer(this); + aNotification.post(); + } +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualString.h b/src/projectM-iTunes-VizKit/source/Tools/VisualString.h new file mode 100644 index 0000000000..adfb3adec1 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualString.h @@ -0,0 +1,442 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualString.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualString_h +#define VisualString_h + + +#include "VisualTypes.h" +#include "VisualObject.h" +#include + +#if TARGET_OS_MAC +#include // CFStringRef +#endif + + +namespace VizKit { + +#if TARGET_OS_MAC + typedef CFMutableStringRef StringDataRef; + typedef CFStringRef ConstStringDataRef; +#endif +#if TARGET_OS_WIN + typedef wchar_t* StringDataRef; + typedef const wchar_t* const ConstStringDataRef; +#endif + + class VisualFile; // Forward declaration (to avoid include of header file). + + /** + * Unicode string without styling or formatting information. + */ + class VisualString : public VisualObject { + + public: + + /** + * The constructor. + */ + VisualString(); + + /** + * A constructor that constructs a VisualString with a pointer to an UTF-8 string and the number of bytes of the string. + * @param aStringVal A pointer to the UTF-8 encoded char string value. + * @param numberOfBytes Optional indication of number of bytes of the char string. + * @remarks If the number of bytes is not specified, the string must be terminated with a NULL byte. The number of bytes is evaluated by calling strlen() then. + */ + VisualString(const char* const aStringVal, sint32 numberOfBytes = -1); + + /** + * A constructor that constructs a VisualString with a pointer to a wchar_t string and the number of characters of the string. + * @param aStringVal A pointer to the wchar_t string value. + * @param aNumberOfCharacters The number of characters of the char string. + * @remarks If the number of characters is not specified, the string must be terminated with a NULL byte. The number of characters is evaluated by calling sizeof() then. + */ + VisualString(const uint16* const aStringVal, sint32 aNumberOfCharacters = -1); + + /** + * A constructor that constructs a VisualString from a ConstStringDataRef. + * @param aStringVal A string value in ConstStringDataRef data format. + * @remarks ConstStringDataRef is the cross-platform data format of VisualString's internal string buffer. + */ + VisualString(ConstStringDataRef aStringVal); + + /** + * Initializes a VisualString with a pointer to an UTF-8 string. + * @param aStringVal A pointer to the UTF-8 encoded char string value. + * @remarks The string must be terminated with a NULL byte. + */ + void initWithUTF8String(const char* const aStringVal); + + /** + * Initializes a VisualString with a pointer to an UTF-8 string buffer. + * @param aStringVal A pointer to the UTF-8 encoded char string buffer. + * @param numberOfBytes The number of bytes of the UTF-8 encoded char string buffer. + */ + void initWithUTF8Buffer(const char* const aStringVal, uint32 numberOfBytes); + + /** + * Initializes a VisualString with a pointer to an UTF-16 string. + * @param aStringVal A pointer to the UTF-16 encoded char string value. + * @remarks The string must be terminated with a NULL byte. + */ + void initWithUTF16String(const uint16* const aStringVal); + + /** + * Initializes a VisualString with a pointer to an UTF-16 string buffer. + * @param aStringVal A pointer to the UTF-16 encoded char string buffer. + * @param aNumberOfCharacters The number of characters of the UTF-16 encoded char string buffer. + */ + void initWithUTF16Buffer(const uint16* const aStringVal, uint32 aNumberOfCharacters); + + /** + * Initializes a VisualString from the contents of a file. + * @param aFile Reference to a file. + * @return True on success, false on failure. + * @remarks The file is opened, the content is read as an UTF-8 encoded string, then the file is closed again. + */ + bool initWithContentsOfFile(VisualFile& aFile); + + /** + * Initializes a VisualString with the contents of a URL. + * @param anId An identifier. + * @param aURL A URL (aka URI). + */ + bool initWithContentsOfURL(const char* const aURL, const VisualItemIdentifier& anId); + + /** + * Initializes a VisualString with a platform native string data type (CFStringRef on Mac, wchar_t pointer on Windows). + * @param constStringDataRef On Mac a CFStringRef, on Windows a wchar_t pointer. + */ + bool initWithConstStringDataRef(ConstStringDataRef constStringDataRef); + + /** + * The destructor. + */ + ~VisualString(); + + /** + * Copy constructor. + * @param other Another VisualString. + */ + VisualString(const VisualString& other); + + /** + * Assignment operator. + */ + VisualString& operator=(const VisualString& other); + + /** + * Less than operator. + * @param other Another VisualString. + * @remarks The less than operator is used by std::map for find() and sorting (if VisualString is used as key_type). + */ + bool operator<(const VisualString& other) const; + + /** + * Equality operator. + * @param other Another VisualString. + */ + bool operator==(const VisualString& other) const; + + /** + * Inequality operator. + * @param other Another VisualString. + */ + bool operator!=(const VisualString& other) const; + + /** + * Plus operator appends another string. + * @param other Another VisualString. + */ + const VisualString& operator+(const VisualString& other); + + /** + * Plus operator appends an 8-bit char string. + * @param charString Pointer to 8-bit character string. + * @remarks The charString must be NULL-terminated so that strlen can determine the correct length of the string. + */ + const VisualString& operator+(const char* charString); + + /** + * Copies the current VisualString and returns a pointer to a new VisualString. + */ + virtual VisualString* clone(void) const; + + /** Resets internally used variables and releases allocated memory. */ + void clear(void); + + /** + * Returns the number of characters of the string. + * @return The number of characters of the string. + * @remarks The number of characters are not the number of bytes in memory but the number of glyphs or code points. + */ + uint32 getNumberOfCharacters(void) const; + + /** + * Returns the number of non-whitespace characters of the string. + * @return The number of non-whitespace characters of the string. + */ + uint32 getNumberOfNonWhitespaceCharacters(void) const; + + /** + * Returns true if the number of non-whitespace characters of the string is 0. + * @return True if the number of non-whitespace characters of the string is 0. + */ + bool isEmpty(void) const; + + /** + * Returns the number of words of the string. + * @return The number of words of the string. + */ + uint32 getNumberOfWords(void) const; + + /** + * Returns the number of lines of the string. + * @return The number of lines of the string. + * @remarks The number of lines is evaluated by counting the number of lines that contain at least one non-whitespace character. + */ + uint32 getNumberOfLines(void) const; + + /** + * Returns one line of the string. + * @param index The requested line number. The first line has an index of 0. + * @return One line of the string. + * @remarks The caller has to delete the VisualString. + */ + VisualString* createStringWithLine(uint32 index) const; + + /** + * Returns one word of the string. + * @param index The requested index number. The first word has an index of 0. + * @return One word of the string. + * @remarks The caller has to delete the VisualString. + */ + VisualString* createStringWithWord(uint32 index) const; + + /** + * Returns a pointer to the internal string data. + * @return A pointer to the internal string data. + * @remarks On Mac the string data is stored as a CFString. On Windows the string data is stored as a wchar_t type. + */ + ConstStringDataRef getCharactersPointer(void) const; + + /** + * Returns a pointer to a char buffer with utf-8 encoded string data. + * @return A pointer to a char buffer with utf-8 encoded string data. + * @remarks The memory is owned by VisualString and deallocated on destruct of VisualString instance. + */ + const char* const getUtf8Representation(void); + + /** + * Returns a pointer to a 16-bit buffer with utf-16 encoded string data. + * @return A pointer to a 16-bit buffer with utf-16 encoded string data. + * @remarks The memory is owned by VisualString and deallocated on destruct of VisualString instance. + */ + const uint16* const getUtf16Representation(void); + + /** + * Returns a substring of the VisualString. + * @param startIdx The 0-based start index of the requested substring. + * @param numberOfSubstringCharacters The number of characters to include in the substring. + */ + VisualString getSubstring(uint32 startIdx, uint32 numberOfSubstringCharacters) const; + + /** + * Normalizes the line endings of the string. + * @remarks Line endings can be incorrect when transfering audio files from MacOS to Windows (Windows expects line ending to consist of CR+LF). + */ + void normalizeLineEndings(); + + /** + * Writes information about the VisualString to the log file. + * @remarks Useful for debuggin and tracing purposes. + */ + void writeDebugLog(void) const; + + /** + * Returns an array of strings by splitting the string with a separator string (delimiter). + * @param delimiter The string to use as separator. + * @return An array with VisualStrings. + */ + std::vector splitWithDelimiter(const VisualString& delimiter); + + /** + * Remove whitespace characters from the start and end of the string. + */ + void trim(void); + + /** + * Joins the strings of the vector to create a joined string. The items of the vector are separated by newline. + * @param stringVector The vector of strings. + * @return A VisualString. + */ + static VisualString* createJoinedString(std::vector stringVector); + + /** + * Creates a VisualString from a pointer to an UTF-8 string. + * @param aStringVal A pointer to the UTF-8 encoded char string value. + * @remarks The string must be terminated with a NULL byte. The caller has to delete the VisualString. + */ + static VisualString* createWithUTF8String(const char* const aStringVal); + + /** + * Creates a VisualString from a pointer to an UTF-8 string buffer. + * @param aStringVal A pointer to the UTF-8 encoded char string buffer. + * @param numberOfBytes The number of bytes of the UTF-8 encoded char string buffer. + * @remarks The caller has to delete the VisualString. + */ + static VisualString* createWithUTF8Buffer(const char* const aStringVal, uint32 numberOfBytes); + + /** + * Creates a VisualString from a pointer to an UTF-16 string. + * @param aStringVal A pointer to the UTF-16 encoded char string value. + * @remarks The string must be terminated with a NULL byte. The caller has to delete the VisualString. + */ + static VisualString* createWithUTF16String(const uint16* const aStringVal); + + /** + * Creates a VisualString from a pointer to an UTF-16 string buffer. + * @param aStringVal A pointer to the UTF-16 encoded char string buffer. + * @param aNumberOfCharacters The number of characters of the UTF-16 encoded char string buffer. + * @remarks The caller has to delete the VisualString. + */ + static VisualString* createWithUTF16Buffer(const uint16* const aStringVal, uint32 aNumberOfCharacters); + + /** + * Creates a VisualString from the contents of a file. + * @param aFile Reference to a file. + * @remarks The file is opened, the content is read as a string, then the file is closed again. + */ + static VisualString* createWithContentsOfFile(VisualFile& aFile); + + /** + * Creates a VisualString with the contents of a URL. + * @param aURL A URL (aka URI). + * @param anId An identifier. + */ + static VisualString* createWithContentsOfURL(const char* const aURL, const VisualItemIdentifier& anId); + + /** + * Creates a VisualString with a platform native string data type (CFStringRef on Mac, wchar_t pointer on Windows). + * @param constStringDataRef On Mac a CFStringRef, on Windows a wchar_t pointer. + */ + static VisualString* createWithConstStringDataRef(ConstStringDataRef constStringDataRef); + + /** + * Notification that the loading of data ended. + * @param identifier The identifier of the data load request. + */ + virtual void dataLoadDidEnd(const VisualItemIdentifier& identifier); + + protected: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualString. + */ + void copy(const VisualString& other); + + private: + + /** A pointer to the internally stored string data. */ + StringDataRef theString; + + /** Optionally available utf-8 representation of string data. */ + char* utf8representation; + + /** Optionally available utf-16 representation of string data. */ + uint16* utf16representation; + + /** The number of characters of the string. */ + uint32 numberOfCharacters; + + /** The number of characters of the string. */ + uint32 numberOfNonWhitespaceCharacters; + + /** The number of words of the string. */ + uint32 numberOfWords; + + /** The number of lines of the string. */ + uint32 numberOfLines; + + /** Substring of the VisualString with start position and length. */ + typedef struct { + sint32 startIndex; /**< The start position of the substring. */ + uint32 numberOfCharacters; /**< The length in number of characters. */ + } VisualStringSubstringPointer; + + /** VisualStringSubstringPointers can be collected in a vector of structs. */ + typedef std::vector ArrayOfSubstringPointers; + + /** The lines (rows) of the VisualString collected as substrings. */ + ArrayOfSubstringPointers arrayOfLines; + + /** The words of the VisualString collected as substrings. */ + ArrayOfSubstringPointers arrayOfWords; + + /** The number of lines and words are calculated and stored internally. */ + void calcStatistics(void); + + /** + * Returns a single character of the string data. + * @param index The position of the character in the string. First position starts with 0. + * @return A single character of the string data. + */ + uint16 getCharacterAtIndex(uint32 index) const; + + /** + * Returns true if character is new line character. + * @param character The character to inspect. + * @return True if character is new line character, false if not. + */ + bool characterIsNewlineCharacter(uint16 character); + + /** + * Returns true if character is whitespace character. + * @param character The character to inspect. + * @return True if character is whitespace character, false if not. + */ + bool characterIsWhitespaceCharacter(uint16 character); + + }; + + /** Constant VisualString. */ + typedef const VisualString ConstVisualString; + +} + +#endif /* VisualString_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp new file mode 100644 index 0000000000..0e289f7123 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp @@ -0,0 +1,95 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStringStyle.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualStringStyle.h" + + +using namespace VizKit; + + +VisualStringStyle::VisualStringStyle() { + fontNameStr[0] = '\0'; +#if TARGET_OS_MAC + strcpy(fontNameStr, "Lucida Grande"); +#endif +#if TARGET_OS_WIN + strcpy(fontNameStr, "Tahoma"); +#endif + fontSize = 16.0; + fontColor.red = 1.0; + fontColor.green = 1.0; + fontColor.blue = 1.0; + fontColor.alpha = 1.0; + fontColor.r = 1.0; + fontColor.g = 1.0; + fontColor.b = 1.0; + fontColor.a = 1.0; + horizontalAlignment = kLeftAligned; +} + + +VisualStringStyle::~VisualStringStyle() { + // NULL +} + + +VisualStringStyle::VisualStringStyle(const VisualStringStyle& other) : VisualObject(other) { + copy(other); +} + + +VisualStringStyle& VisualStringStyle::operator=(const VisualStringStyle& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + this->copy(other); + + return *this; +} + + +VisualStringStyle* VisualStringStyle::clone(void) const { + return new VisualStringStyle(*this); +} + + +void VisualStringStyle::copy(const VisualStringStyle& other) { + strcpy(this->fontNameStr, other.fontNameStr); + this->fontSize = other.fontSize; + this->fontColor = other.fontColor; + this->horizontalAlignment = other.horizontalAlignment; +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h new file mode 100644 index 0000000000..ff49ef3bbb --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h @@ -0,0 +1,85 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStringStyle.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualStringStyle_h +#define VisualStringStyle_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" +#include "VisualObject.h" + + +namespace VizKit { + + /** + * Definition of a style for a string (text). + */ + class VisualStringStyle : public VisualObject { + public: + VisualStringStyle(); /**< Constructor. */ + ~VisualStringStyle(); /**< Destructor. */ + /** + * Copy constructor. + * @param other Reference to another VisualStringStyle. + */ + VisualStringStyle(const VisualStringStyle& other); + + /** + * Assignment operator. + * @param other Reference to another VisualStringStyle. + */ + VisualStringStyle& operator=(const VisualStringStyle& other); + char fontNameStr[512]; /**< The name of the font. */ + double fontSize; /**< The size of the font (in points). */ + RGBAColor fontColor; /**< The color of the font. */ + HorizontalAlignment horizontalAlignment; /** The horizontal alignment of the string. */ + + /** + * Copies the current VisualStringStyle and returns a pointer to a new VisualStringStyle. + */ + virtual VisualStringStyle* clone(void) const; + + private: + /** + * Copy method for assignmentVisualStringStyleoperator and copy constructor. + * @param other Another VisualString. + */ + void copy(const VisualStringStyle& other); + }; + +} + +#endif /* VisualString_h */ diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp new file mode 100644 index 0000000000..5ccd827bac --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp @@ -0,0 +1,45 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualThreading.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualThreading.h" +#include "VisualThreadingManager.h" + + +using namespace VizKit; + + +bool VisualThreading::createThread(ThreadingFuncPtr aThreadingFuncPtr, void* param, ThreadDidDieCallback callbackAfterThreadDidDie) { + return VisualThreadingManager::createThread(aThreadingFuncPtr, param, callbackAfterThreadDidDie); +} diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h new file mode 100644 index 0000000000..d2aa7ed049 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h @@ -0,0 +1,98 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualThreading.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualThreading_h +#define VisualThreading_h + + +#include "VisualTypes.h" + +#if TARGET_OS_MAC +#include // signature typedef OSStatus (*ThreadingFuncPtr)(void* parameter); +#endif + +#if TARGET_OS_WIN +#include +#endif + + +namespace VizKit { + + +#ifndef ThreadingFuncPtr_def +#define ThreadingFuncPtr_def +#if TARGET_OS_MAC +typedef OSStatus (*ThreadingFuncPtr)(void* parameter); +#endif +#if TARGET_OS_WIN +typedef DWORD (*ThreadingFuncPtr)(LPVOID lpParam); +#endif +#endif + + + /** + * Providing multi-threading functionality. + */ + class VisualThreading { + + public: + + /** + * Callback that is called after a thread died. + */ + typedef void (*ThreadDidDieCallback)(); + + /** + * Creates a new thread by calling task function. + * @param aThreadingFuncPtr Pointer to function that should be started in new thread. + * @param param Optional name for function-thread. Useful for debugging purposes. + * @param callbackAfterThreadDidDie Callback that is called after the created thread did finished execution. + * @return True on success, false on failure. + */ + static bool createThread(ThreadingFuncPtr aThreadingFuncPtr, void* param = NULL, ThreadDidDieCallback callbackAfterThreadDidDie = NULL); + + private: + + /** The constructor. VisualThreading is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualThreading(); + + /** The destructor. VisualThreading is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualThreading(); + + }; + +} + +#endif /* VisualThreading_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualActor.cpp b/src/projectM-iTunes-VizKit/source/VisualActor.cpp new file mode 100644 index 0000000000..f1374101d4 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActor.cpp @@ -0,0 +1,131 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActor.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualActor.h" +#include "VisualPlayerState.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" + + + +using namespace VizKit; + + +VisualActor::VisualActor() { + strcpy(actorName, "UNKNOWN"); + state = kVisActOn; +} + + +VisualActor::~VisualActor() { +} + + +VisualActor::VisualActor(const VisualActor& other) { + copy(other); +} + + +VisualActor& VisualActor::operator=(const VisualActor& other) { + if (this != &other) { + this->copy(other); + } + return *this; +} + + +void VisualActor::copy(const VisualActor& other) { + strcpy(this->actorName, other.actorName); + this->state = other.state; +} + + +VisualActor* VisualActor::clone(void) const { + return new VisualActor(*this); +} + + +void VisualActor::init(void) { + // hook method that can be implemented by subclass +} + + +const char* const VisualActor::getName(void) { + // interface method that does not need to be implemented by subclass + return this->actorName; +} + + +void VisualActor::show(const VisualPlayerState& visualPlayerState) { + // main interface method that should be implemented by subclass + VisualActorGraphics::doFallbackActorShow(this->actorName); +} + + +VisualActorState VisualActor::getState() { + // interface method that does not need to be implemented by subclass + return this->state; +} + + +void VisualActor::setState(VisualActorState actorState) { + // interface method that does not need to be implemented by subclass + this->state = actorState; +} + + +void VisualActor::handleNotification(VisualNotification& aNotification) { + // hook method that can be implemented by subclass + // notification is logged in case the actor registered for a notification but did not implement it + VisualNotificationKey aKey = aNotification.getKey(); + char notificationStr[64]; + char logStr[128]; + VisualNotification::convertNotificationKeyToString(aKey, notificationStr); + sprintf(logStr, "VisualActor::handleNotification: %s -- %s", this->actorName, notificationStr); + writeLog(logStr); +} + + +uint8 VisualActor::getError(char* errorString) { + uint8 errorNum = 0; + char anErrorString[256]; + + errorNum = VisualActorGraphics::getError(anErrorString); + if (errorNum > 0) { + strcpy(errorString, anErrorString); + } + return errorNum; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualActor.h b/src/projectM-iTunes-VizKit/source/VisualActor.h new file mode 100644 index 0000000000..f808eb8ef5 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActor.h @@ -0,0 +1,161 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActor.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualActor_h +#define VisualActor_h + + +#include "VisualTypes.h" +#include "VisualActorState.h" + + +namespace VizKit { + + class VisualPlayerState; // Forward declaration (to avoid include of header file). + class VisualNotification; // Forward declaration (to avoid include of header file). + + /** + * VisualActor defines the interface for each specific actor. + * VisualActor is an abstract class each actor has to implement. + * Some virtual methods are pure abstract interface methods which must be overridden by the concrete actor. + * Some virtual methods provide a default implementation which can be overridden by the concrete actor. + */ + class VisualActor { + + public: + + /** + * The constructor. + * Each actor should implement its own constructor that is called additionally. + */ + VisualActor(); + + /** + * The destructor. + * Each actor can implement its own destructor. + */ + virtual ~VisualActor(); + + /** + * Copy constructor. + */ + VisualActor(const VisualActor& other); + + /** + * Assignment operator. + */ + VisualActor& operator=(const VisualActor& other); + + /** + * Copies the current VisualActor and returns a pointer to a new VisualActor. + */ + virtual VisualActor* clone(void) const; + + /** + * Initialization method called immediately after construction. + * @remarks The initialization routine can be used to register for notifications by calling VisualNotification::registerNotification(). + */ + virtual void init(void); + + /** + * Returns the name of the actor. The name is used as identifier by the VisualStageControl. + * @remarks Virtual method that does not need to be implemented by subclass. The name of the implemented visual actor is returned if the variable actorName is set correctly. + */ + virtual const char* const getName(void); + + /** + * Asks the actor to perform individual show. + * This is the main method of the actor. + * @param visualPlayerState Read-only access to the VisualPlayerState. + * @remarks Show() is called by the VisualEnsemble as part of the showEnsemble() method. This interface method should be implemented by subclass to display the main graphic art show of the actor. + */ + virtual void show(const VisualPlayerState& visualPlayerState); + + /** + * Returns the state of the actor. + * Interface method that does not need to be implemented by subclass. + * Default implementation returns the value of the state variable. + * @return The state of the actor expressed as VisualActorState. + * @remarks If the actor's state is kVisActNoShow, it is not called by the VisualEnsemble. + */ + virtual VisualActorState getState(void); + + /** + * Sets the state of the actor. + * Interface method that does not need to be implemented by subclass. + * Default implementation sets the value of the state variable. + * @param actorState The requested state of the actor expressed as VisualActorState. + * @remarks If the actor's state is kVisActNoShow, it is not called by the VisualEnsemble. + */ + virtual void setState(VisualActorState actorState); + + /** + * The actor receives a notification. + * Each actor can register for a notification (event/message) by calling VisualNotification's registerNotification(). + * This function receives the notification. + * Hook method that can be implemented by subclass. + * @param aNotification The notification package. + * @remarks For debugging and diagnostical puposes, the subclass can explicitly call the method of the VisualActor interface class. Each notification key will be written to error log then. + */ + virtual void handleNotification(VisualNotification& aNotification); + + /** + * After the completion of the show, the actor is called to see if any errors occured. + * This method is implemented by the VisualActor interface class. It calls the OpenGL error handler. + * Should not be overridden by subclass. Subclasses can implement the method but should then call the superclass implementation inside the subclass implementation also. + * @param[out] errorString The error c-string. + * @return The error number. 0 is no error. + */ + virtual uint8 getError(char* errorString); + + protected: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualActor. + */ + void copy(const VisualActor& other); + + /** The state of the VisualActor. */ + VisualActorState state; + + /** The name of the VisualActor. */ + char actorName[64]; + + }; + +} + +#endif /* VisualActor_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp new file mode 100644 index 0000000000..36ee6f868e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp @@ -0,0 +1,339 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActorGraphics.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualActorGraphics.h" +#include "VisualDataStore.h" +#include "VisualImage.h" +#include "VisualGraphics.h" +#include "VisualActorState.h" +#include "VisualString.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" + + + +using namespace VizKit; + + +VisualActorGraphics::VisualActorGraphics() { + // null +} + + +VisualActorGraphics::~VisualActorGraphics() { +} + + +uint8 VisualActorGraphics::getError(char* errorString) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getOpenGLError(errorString); +} + + +void VisualActorGraphics::setBackgroundColor(const RGBAColor& aColorVal) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->setCanvasBackgroundColor(aColorVal); +} + + +RGBAColor VisualActorGraphics::getBackgroundColor() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getBackgroundColor(); +} + + +uint32 VisualActorGraphics::getNextFreeTextureName() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getNextFreeTextureName(); +} + + +void VisualActorGraphics::deleteTextures(const uint16 numberOfTextures, const uint32* const textureNames) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->deleteTextures(numberOfTextures, textureNames); +} + + +void VisualActorGraphics::resetModelViewMatrix() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->resetModelViewMatrix(); +} + + +void VisualActorGraphics::enableAlphaBlending() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->enableAlphaBlending(); +} + + +void VisualActorGraphics::disableBlending() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->disableBlending(); +} + + +bool VisualActorGraphics::getCoordsOfPixelPosition( + double xPixelPos, + double yPixelPos, + double zAxisPos, + double* xCoordPos, + double* yCoordPos, + double* zCoordPos) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + Pixel bottomLeftViewportOrigin = theVisualGraphics->getViewportBottomLeftOrigin(); + return theVisualGraphics->getCoordsOfPixelPosition(xPixelPos + bottomLeftViewportOrigin.x, yPixelPos + bottomLeftViewportOrigin.y, zAxisPos, xCoordPos, yCoordPos, zCoordPos); +} + + +bool VisualActorGraphics::getPixelsOfCoordPosition( + double xCoordPos, + double yCoordPos, + double zCoordPos, + double* xPixelPos, + double* yPixelPos, + double* zAxisPos) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getPixelsOfCoordPosition(xCoordPos, yCoordPos, zCoordPos, xPixelPos, yPixelPos, zAxisPos); +} + + +uint32 VisualActorGraphics::getCanvasPixelWidth() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getCanvasPixelWidth(); +} + + +uint32 VisualActorGraphics::getCanvasPixelHeight() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getCanvasPixelHeight(); +} + + +RelationalRect VisualActorGraphics::getViewportOrientationAndAspectRatio() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getViewportOrientationAndAspectRatio(); +} + + +uint16 VisualActorGraphics::xCoordToPixel(double coordPos, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->xCoordToPixel(coordPos, aCamera); +} + + +uint16 VisualActorGraphics::yCoordToPixel(double coordPos, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->yCoordToPixel(coordPos, aCamera); +} + + +double VisualActorGraphics::xPixelToCoord(const uint16 pixelPos, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->xPixelToCoord(pixelPos, aCamera); +} + + +double VisualActorGraphics::yPixelToCoord(const uint16 pixelPos, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->yPixelToCoord(pixelPos, aCamera); +} + + +Coord VisualActorGraphics::getCirclePoint(uint32 sliceIdx, uint32 slicesCount, double radius, Coord circleCenter) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->getCirclePoint(sliceIdx, slicesCount, radius, circleCenter); +} + + +void VisualActorGraphics::spotGL(double zPlane) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->spotGL(zPlane); +} + + +void VisualActorGraphics::drawSpot(const double xNum, const double yNum, const double r, const double g, const double b, uint16 waveformIntensityVal, double intensity, const uint8 tailSize) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawSpot(xNum, yNum, r, g, b, waveformIntensityVal, intensity, tailSize); +} + + +void VisualActorGraphics::drawProjectionMetrics(const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawProjectionMetrics(aCamera); +} + + +void VisualActorGraphics::loadModelViewIdentityMatrix() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->loadModelViewIdentityMatrix(); +} + + +void VisualActorGraphics::prepareProcessMonitorShow(RGBAColor& theColor) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->setColor(theColor); +} + + +void VisualActorGraphics::showProcessInfoRow(Coord coord, const char* const textRowStr) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->showProcessInfoRow(coord, textRowStr); +} + + +void VisualActorGraphics::showProcessInfoNote() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->showProcessInfoNote(); +} + + +void VisualActorGraphics::drawVertexChain(const VertexChain& vertexChain, int drawMode, BlendMode aBlendMode) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawVertexChain(vertexChain, drawMode, aBlendMode); +} + + +void VisualActorGraphics::drawWaveform(const sint16 historyNum, const uint16 maxNumberOfHistories, const uint32 numberOfWaveformEntries, const sint16** const waveformDataMonoArray, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawWaveform(historyNum, maxNumberOfHistories, numberOfWaveformEntries, const_cast(waveformDataMonoArray), aCamera); +} + + +void VisualActorGraphics::drawSpectrumAnalyzer(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawSpectrumAnalyzer(currHistoryNum, numberOfHistories, numberOfSpectrumEntries, numberOfAudioChannels, spectrumDataArray, aCamera); +} + + +void VisualActorGraphics::drawSpectrogram(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawSpectrogram(currHistoryNum, numberOfHistories, numberOfSpectrumEntries, numberOfAudioChannels, spectrumDataArray, aCamera); +} + + +void VisualActorGraphics::drawBeatHistogram(const uint32* const beatHistogram, const VisualCamera& aCamera) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawBeatHistogram(beatHistogram, aCamera); +} + + +void VisualActorGraphics::drawTrackProgressMeter(ConstVertexChainRef const progressMeterBackgroundVertices, ConstVertexChainRef const progressMeterVertices, ConstVertexChainRef const progressMeterOutlineVertices) { + + RGBAColor verticesColor; + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + RGBAColor backgroundColor = theVisualGraphics->getBackgroundColor(); + theVisualGraphics->setColor(backgroundColor); + + theVisualGraphics->drawVertexChain(*progressMeterBackgroundVertices, kGL_QUADS); + + verticesColor.r = 0.8; + verticesColor.g = 0.8; + verticesColor.b = 0.8; + verticesColor.a = 1.0; + theVisualGraphics->setColor(verticesColor); + + theVisualGraphics->drawVertexChain(*progressMeterVertices, kGL_QUADS); + + verticesColor.r = 1.0; + verticesColor.g = 1.0; + verticesColor.b = 1.0; + verticesColor.a = 1.0; + theVisualGraphics->setColor(verticesColor); + theVisualGraphics->setLineWidth(1.0); + + theVisualGraphics->drawVertexChain(*progressMeterOutlineVertices, kGL_LINE_LOOP); + +} + + +void VisualActorGraphics::doFallbackActorShow(const char* const visualActorName) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->doFallbackActorShow(visualActorName); +} + + +void VisualActorGraphics::translateMatrix(double xNum, double yNum, double zNum) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->translateMatrix(xNum, yNum, zNum); +} + + +void VisualActorGraphics::rotateMatrix(double angle, double xAmount, double yAmount, double zAmount) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->rotateMatrix(angle, xAmount, yAmount, zAmount); +} + + +void VisualActorGraphics::scaleMatrix(double xFactor, double yFactor, double zFactor) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->scaleMatrix(xFactor, yFactor, zFactor); +} + + +void VisualActorGraphics::enableDepthTest() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->enableDepthTest(); +} + + +void VisualActorGraphics::disableDepthTest() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->disableDepthTest(); +} + + +void VisualActorGraphics::enableCullFace() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->enableCullFace(); +} + + +void VisualActorGraphics::disableCullFace() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->disableCullFace(); +} + + +void VisualActorGraphics::cullFaceFront() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->cullFaceFront(); +} + + +void VisualActorGraphics::cullFaceBack() { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->cullFaceBack(); +} diff --git a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h new file mode 100644 index 0000000000..f857a17f67 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h @@ -0,0 +1,420 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActorGraphics.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualActorGraphics_h +#define VisualActorGraphics_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" // RGBAColor + + +namespace VizKit { + + class VisualImage; // Forward declaration (to avoid include of header file). + class VisualString; // Forward declaration (to avoid include of header file). + class VisualCamera; // Forward declaration (to avoid include of header file). + + /** + * The graphics related static functions for the Visual Actors. + * By gathering the graphics related calls of the Visual Actors, it is easier to track and isolate possible problems. + * All functions of VisualActorGraphics are static. + * Most of the time, functions of VisualActorGraphics are executed by VisualGraphics. + * The static functions of VisualActorGraphics are expected to change more often than the methods of the VisualGraphics class. + * The static functions of VisualActorGraphics are aggregates of graphical operations. + */ + class VisualActorGraphics { + + public: + + /** + * Returns an error string (if there was an error). + * @param[out] errorString Pointer to character buffer to receive the error string. + * @return Error Number. + */ + static uint8 getError(char* errorString); + + /** + * Sets the value of the background color. + * @param aColorVal The RGBA values. + */ + static void setBackgroundColor(const RGBAColor& aColorVal); + + /** + * Returns the value of the background color. + * @return The RGBA values of the background color. + */ + static RGBAColor getBackgroundColor(void); + + /** + * Creates an image buffer with 8-bit per channel ARGB pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @return A pointer to pointer to pixel data. + */ + static uint32* createARGBCheckPixels(uint32 width, uint32 height); + + /** + * Creates an image buffer with 8-bit per channel BGRA pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @return A pointer to pointer to pixel data. + */ + static uint32* createBGRACheckPixels(uint32 width, uint32 height); + + /** + * Creates an image buffer with 8-bit per channel RGBA pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @return A pointer to pointer to pixel data. + */ + static uint32* createRGBACheckPixels(uint32 width, uint32 height); + + /** + * Creates an image buffer with 8-bit per channel ABGR pixel data. + * @param width The width of the bitmap data. + * @param height The height of the bitmap data. + * @return A pointer to pointer to pixel data. + */ + static uint32* createABGRCheckPixels(uint32 width, uint32 height); + + /** + * Returns a free texture name/index/number/id. + * @return A free texture name/index/number. + */ + static uint32 getNextFreeTextureName(void); + + /** + * Frees memory bound by OpenGL textures. + * @param numberOfTextures The number of textures to free. + * @param textureNames Pointer to texture names (texture numbers) to free. + */ + static void deleteTextures(const uint16 numberOfTextures, const uint32* const textureNames); + + /** + * Resets the model view matrix. + */ + static void resetModelViewMatrix(void); + + /** + * Enables alpha blending. + */ + static void enableAlphaBlending(void); + + /** + * Disables blending. + */ + static void disableBlending(void); + + /** + * Maps window coordinates to object coordinates. + * @param xPixelPos The horizontal pixel position. + * @param yPixelPos The vertical pixel position. + * @param zAxisPos The position on the z-axis. + * @param xCoordPos Returns: The x-CoordPosition. + * @param yCoordPos Returns: The y-CoordPosition. + * @param zCoordPos Returns: The z-CoordPosition. + * @return True on success, false on error. + */ + static bool getCoordsOfPixelPosition( + double xPixelPos, + double yPixelPos, + double zAxisPos, + double* xCoordPos, + double* yCoordPos, + double* zCoordPos); + + /** + * Maps object coordinates to window coordinates. + * @param xCoordPos The x-CoordPosition. + * @param yCoordPos The y-CoordPosition. + * @param zCoordPos The z-CoordPosition. + * @param xPixelPos Returns: The horizontal pixel position. + * @param yPixelPos Returns: The vertical pixel position. + * @param zAxisPos Returns: The position on the z-axis. + * @return True on success, false on error. + */ + static bool getPixelsOfCoordPosition( + double xCoordPos, + double yCoordPos, + double zCoordPos, + double* xPixelPos, + double* yPixelPos, + double* zAxisPos); + + /** + * Returns the width of the canvas in pixels. + * @return The width of the canvas in pixels. + */ + static uint32 getCanvasPixelWidth(void); + + /** + * Returns the height of the canvas in pixels. + * @return The height of the canvas in pixels. + */ + static uint32 getCanvasPixelHeight(void); + + /** + * Returns the current orientation and aspect ratio of the viewport. + * @return The current orientation and aspect ratio of the viewport. + */ + static RelationalRect getViewportOrientationAndAspectRatio(void); + + /** + * Converts a horizontal coordinate to a horizontal pixel position. + * @param coordPos The canvas coord position. + * @return The canvas pixel position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static uint16 xCoordToPixel(double coordPos, const VisualCamera& aCamera); + + /** + * Converts a vertical coordinate to a horizontal pixel position. + * @param coordPos The canvas coord position. + * @return The canvas pixel position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static uint16 yCoordToPixel(double coordPos, const VisualCamera& aCamera); + + /** + * Converts a horizontal pixel position to a horizontal coordinate. + * @param pixelPos The canvas pixel position. + * @return The canvas coord position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static double xPixelToCoord(const uint16 pixelPos, const VisualCamera& aCamera); + + /** + * Converts a vertical pixel position to a vertical coordinate. + * @param pixelPos The canvas pixel position. + * @return The canvas coord position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static double yPixelToCoord(const uint16 pixelPos, const VisualCamera& aCamera); + + /** + * Returns a point on the outline of a circle. + * @param sliceIdx The index of the requested slice. + * @param slicesCount The number of slices. + * @param radius The length of the radius. Default = 1.0. + * @param circleCenter The center of the circle. Default is x = 0.0 and y = 0.0. + * @remarks The center of the circle is at 0.0, 0.0. The number of slices determine how close the circle points are located to each other. The circle points start at the rightmost position in the middle of the circle (at 3 o'clock) and go in counter clockwise direction. + */ + static Coord getCirclePoint(uint32 sliceIdx, uint32 slicesCount, double radius = 1.0, Coord circleCenter = zeroCoord); + + /** + * Draws a spot (for testing purpose). + * @param zPlane The z-Coord (optional parameter, default = 0.0). + */ + static void spotGL(double zPlane = 0.0); + + /** + * Draws a single spot. + * @param xNum The horizontal position of the spot. + * @param yNum The vertical position of the spot. + * @param r The red component of the RGB-Color. + * @param g The green component of the RGB-Color. + * @param b The blue component of the RGB-Color. + * @param waveformIntensityVal The current radius of the spot. + * @param intensity The current intensity of the spot. + * @param tailSize The current tailSize of the spot. + */ + static void drawSpot(const double xNum, const double yNum, const double r, const double g, const double b, uint16 waveformIntensityVal, double intensity, const uint8 tailSize); + + /** + * Draws some metrics in the current scene. + * @remarks For diagnostical puposes. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawProjectionMetrics(const VisualCamera& aCamera); + + /** + * Loads the identity matrix of the model view. The model view transformation are reset + * @remarks It is assumed the model view is the currently active matrix mode. + */ + static void loadModelViewIdentityMatrix(void); + + /** + * Prepares the show of the Process Monitor. + * @param theColor The requested color. + */ + static void prepareProcessMonitorShow(RGBAColor& theColor); + + /** + * Shows a row of Process Monitor Info. + * The graphical operations involved in putting a row of textual process info on screen is encapsulated within this function. + * @param coord The coord where to place the text (left start position). + * @param textRowStr Pointer to character buffer with process info string (label and value). + */ + static void showProcessInfoRow(Coord coord, const char* const textRowStr); + + /** + * Shows a note about Process Monitor. + */ + static void showProcessInfoNote(void); + + /** + * Draws a vertex chain. Useful for debugging, monitoring or diagnistic purposes. + * @param vertexChain A vector of vertices. + * @param drawMode The requested draw mode (kGL_POINTS, kGL_LINES, kGL_LINE_STRIP, kGL_LINE_LOOP, kGL_TRIANGLES, kGL_TRIANGLE_STRIP, kGL_TRIANGLE_FAN, kGL_QUADS, kGL_QUAD_STRIP, kGL_POLYGON). + * @param aBlendMode How to blend vertex chain drawing with the framebuffer data. Default kReplace. + */ + static void drawVertexChain(const VertexChain& vertexChain, int drawMode = kGL_LINE_LOOP, BlendMode aBlendMode = kReplace); + + /** + * Draws the waveform data. + * @param historyNum The index of the history the waveform data is taken from. + * @param maxNumberOfHistories Maximum number of histories stored in waveformDataMonoArray. + * @param numberOfWaveformEntries The number of waveform values. + * @param waveformDataMonoArray Pointer to waveform data of all histories. The array has two dimensions: history and index. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawWaveform(const sint16 historyNum, const uint16 maxNumberOfHistories, const uint32 numberOfWaveformEntries, const sint16** const waveformDataMonoArray, const VisualCamera& aCamera); + + /** + * Draws a graphical representation of the spectral data with subband bar graphs. + * @param currHistoryNum The index of the history the spectrum data is taken from. + * @param numberOfHistories The maximum number of histories. + * @param numberOfSpectrumEntries The number of spectrum data values. + * @param numberOfAudioChannels The number of audio channels. + * @param spectrumDataArray Pointer to spectrum data of all histories. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawSpectrumAnalyzer(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera); + + /** + * Draws a graphical representation of the spectral data as spectrogram. + * @param currHistoryNum The index of the history the spectrum data is taken from. + * @param numberOfHistories The maximum number of histories. + * @param numberOfSpectrumEntries The number of spectrum data values. + * @param numberOfAudioChannels The number of audio channels. + * @param spectrumDataArray Pointer to spectrum data of all histories. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawSpectrogram(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera); + + /** + * Draws a histogram of the beat values. + * @param beatHistogram The beat histogram. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawBeatHistogram(const uint32* const beatHistogram, const VisualCamera& aCamera); + + /** + * Draws a progress bar that advances with the progress of the currently playing audio track. + * @param progressMeterBackgroundVertices The vertices of the background of the progress meter. + * @param progressMeterVertices The vertices of the actual progress meter. + * @param progressMeterOutlineVertices The vertices of the outline of the progress meter. + */ + static void drawTrackProgressMeter(ConstVertexChainRef const progressMeterBackgroundVertices, ConstVertexChainRef const progressMeterVertices, ConstVertexChainRef const progressMeterOutlineVertices); + + /** + * The default implementation of the show() method of the VisualActor interface class. + * @param visualActorName The name of the VisualActor. + */ + static void doFallbackActorShow(const char* const visualActorName); + + /** + * Call of glTranslate(). + * @param xNum Horizontal coord value. + * @param yNum Vertical coord value. + * @param zNum Z-coord value. + */ + static void translateMatrix(double xNum, double yNum, double zNum); + + /** + * Call of glRotate(). + * @param angle The angle of the rotation. + * @param xAmount The amount of the rotation around the horizontal axis. + * @param yAmount The amount of the rotation around the vertical axis. + * @param zAmount The amount of the rotation around the z-axis. + */ + static void rotateMatrix(double angle, double xAmount, double yAmount, double zAmount); + + /** + * Call of glScale(). + * @param xFactor The scale factor in the horizontal dimension. + * @param yFactor The scale factor in the vertical dimension. + * @param zFactor The scale factor in the z-dimension. + */ + static void scaleMatrix(double xFactor, double yFactor, double zFactor); + + /** + * Enables GL_DEPTH_TEST. + */ + static void enableDepthTest(void); + + /** + * Disables GL_DEPTH_TEST. + */ + static void disableDepthTest(void); + + /** + * Enables GL_CULL_FACE. + */ + static void enableCullFace(void); + + /** + * Disables GL_CULL_FACE. + */ + static void disableCullFace(void); + + /** + * Specifies that front-facing facets can be culled. + */ + static void cullFaceFront(void); + + /** + * Specifies that back-facing facets can be culled. + */ + static void cullFaceBack(void); + + private: + + /** + * The constructor. + */ + VisualActorGraphics(); + + /** + * The destructor. + */ + ~VisualActorGraphics(); + + }; + +} + +#endif /* VisualActorGraphics_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualActorState.cpp b/src/projectM-iTunes-VizKit/source/VisualActorState.cpp new file mode 100644 index 0000000000..71c0648dd8 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActorState.cpp @@ -0,0 +1,63 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActorState.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualActorState.h" + +#include + + +using namespace VizKit; + + +void convertVisualActorStateToString(const VisualActorState aVisualActorState, char* outString) { + const char* messageString; + switch (aVisualActorState) { + case kVisActUndefinedState: + messageString = "kVisActUndefinedState"; + break; + case kVisActOff: + messageString = "kVisActOff"; + break; + case kVisActOn: + messageString = "kVisActOn"; + break; + case kVisActNoShow: + messageString = "kVisActNoShow"; + break; + default: + messageString = "unknownVisualActorState"; + } + strcpy(outString, messageString); +} diff --git a/src/projectM-iTunes-VizKit/source/VisualActorState.h b/src/projectM-iTunes-VizKit/source/VisualActorState.h new file mode 100644 index 0000000000..0efab97df3 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualActorState.h @@ -0,0 +1,64 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualActorState.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualActorState_h +#define VisualActorState_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * The VisualActorState defines the possible state of the VisualActor. + */ + typedef enum { + kVisActUndefinedState = 0, /**< Undefined state that e.g. can be used to check against previous state with initialization state. */ + kVisActOff = 1, /**< The actor is turned off. The actor is called during the show nevertheless. The actor can decide if it wants to display anything. */ + kVisActOn = 2, /**< The actor is turned on. */ + kVisActNoShow = 3 /**< The actor is turned off. The actor is not called during the show at all. Therefore the actor can not be turned on by ensemble. */ + } VisualActorState; + + /** + * Converts VisualActorState into char string. Possibly useful for debugging or tracing purposes. + * @param aVisualActorState The state to convert. + * @param outString The char string that can be printed and used for debugging output. + */ + void convertVisualActorStateToString(const VisualActorState aVisualActorState, char* outString); + +} + +#endif /* VisualActorState_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualAsset.cpp b/src/projectM-iTunes-VizKit/source/VisualAsset.cpp new file mode 100644 index 0000000000..0b7cfee04a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualAsset.cpp @@ -0,0 +1,588 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAsset.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualAsset.h" +#include "VisualItemIdentifier.h" +#include "VisualAnimationPackage.h" +#include "VisualAnimationQueue.h" +#include "VisualErrorHandling.h" +#include "VisualImage.h" +#include "VisualStageBox.h" +#include "VisualGraphics.h" +#include "VisualGraphicTypes.h" +#include "VisualVertex.h" +#include "VisualCamera.h" + + +using namespace VizKit; + + +VisualAsset::VisualAsset() { + image = NULL; + camera = NULL; + stageBox = NULL; + defaultVertexChainIdentifier = new VisualItemIdentifier; + rotationAngle = 0.0; + opacityValue = 1.0; + scaleFactor = 1.0; + init(); +} + + +VisualAsset::~VisualAsset() { + + VisualAnimationQueue::removeVisualAnimationsOfAsset(this); + + delete stageBox; + delete camera; + delete defaultVertexChainIdentifier; + if (image != NULL) { + delete image; + } + +} + + +VisualAsset::VisualAsset(const VisualAsset& other) : VisualObject(other) { + copy(other); +} + + +VisualAsset& VisualAsset::operator=(const VisualAsset& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + if (this->image != NULL) { + delete this->image; + } + delete this->stageBox; + delete this->camera; + delete this->defaultVertexChainIdentifier; + + this->copy(other); + + return *this; +} + + +bool VisualAsset::operator<(const VisualAsset& other) const { + return (this->VisualObject::getIdentifier() < other.VisualObject::getIdentifier()); +} + + +bool VisualAsset::operator==(const VisualAsset& other) const { + return (this->VisualObject::getIdentifier() == other.VisualObject::getIdentifier()); +} + + +bool VisualAsset::operator!=(const VisualAsset& other) const { + return !(*this == other); +} + + +VisualAsset* VisualAsset::clone(void) const { + return new VisualAsset(*this); +} + + +void VisualAsset::copy(const VisualAsset& other) { + + if (other.image != NULL) { + this->image = new VisualImage(*(other.image)); + } else { + this->image = NULL; + } + this->camera = new VisualCamera(*(other.camera)); + this->stageBox = new VisualStageBox(*(other.stageBox)); + + this->defaultVertexChainIdentifier = new VisualItemIdentifier(); + this->rotationAngle = other.rotationAngle; + this->opacityValue = other.opacityValue; + this->scaleFactor = other.scaleFactor; + + VisualAnimationQueue::copyAnimationsFromAssetToAsset(other, *this); +} + + +void VisualAsset::init() { + this->camera = new VisualCamera; + this->stageBox = new VisualStageBox(this); + this->setCamera(*this->camera); +} + + +VisualStageBox* VisualAsset::getBox() const { + return this->stageBox; +} + + +void VisualAsset::setCamera(const VisualCamera& cameraRef) { + *(this->camera) = cameraRef; + this->camera->activate(); + this->stageBox->setCoordDepth(cameraRef.getDepth()); + this->stageBox->update(); +} + + +VisualCamera& VisualAsset::getCamera(void) const { + return *(this->camera); +} + + +VisualStagePosition VisualAsset::getPosition() const { + return this->stageBox->getVisualStagePosition(); +} + + +void VisualAsset::setPosition(const VisualStagePosition& aPosition) { + this->stageBox->setVisualStagePosition(aPosition); +} + + +void VisualAsset::updateCoords() { + this->camera->activate(); + this->stageBox->update(); +} + + +void VisualAsset::setImage(const VisualImage& anImage) { + if (this->image != NULL) { + delete this->image; + this->image = NULL; + } + this->image = new VisualImage(anImage); + + this->stageBox->setContentPixelWidth(this->image->getWidth()); + this->stageBox->setContentPixelHeight(this->image->getHeight()); + + this->stageBox->initializeVertexChain(*(this->defaultVertexChainIdentifier)); + + VisualVertex* aVertex = NULL; + aVertex = this->stageBox->createVertex(0.0, 1.0, 0.0, 0.0, 1.0); + this->stageBox->addVertexToChain(*(this->defaultVertexChainIdentifier), aVertex); + + aVertex = this->stageBox->createVertex(0.0, 0.0, 0.0, 0.0, 0.0); + this->stageBox->addVertexToChain(*(this->defaultVertexChainIdentifier), aVertex); + + aVertex = this->stageBox->createVertex(1.0, 0.0, 0.0, 1.0, 0.0); + this->stageBox->addVertexToChain(*(this->defaultVertexChainIdentifier), aVertex); + + aVertex = this->stageBox->createVertex(1.0, 1.0, 0.0, 1.0, 1.0); + this->stageBox->addVertexToChain(*(this->defaultVertexChainIdentifier), aVertex); +} + + +bool VisualAsset::hasImage() const { + if (this->image == NULL) { + return false; + } + return true; +} + + +VisualImage* VisualAsset::getImage() const { + return this->image; +} + + +void VisualAsset::removeImage() { + if (this->image != NULL) { + delete this->image; + this->image = NULL; + this->stageBox->setContentPixelWidth(0); + this->stageBox->setContentPixelHeight(0); + } +} + + +void VisualAsset::draw(const VisualItemIdentifier& vertexChainName) const { + VertexChain* aVertexChain = this->stageBox->getVertexChain(vertexChainName); + this->doDraw(*aVertexChain); +} + + +void VisualAsset::draw() const { + size_t numberOfVertexChains = this->stageBox->getNumberOfVertexChains(); + bool defaultVertexChainFound = false; + for (size_t i = 0; i < numberOfVertexChains; i++) { + if (const_cast(this->stageBox->getVertexChainIdentifier(i)) != *(this->defaultVertexChainIdentifier)) { + VertexChain* defaultVertexChain = this->stageBox->getVertexChain(i); + this->doDraw(*defaultVertexChain); + } else { + defaultVertexChainFound = true; + } + } + if (defaultVertexChainFound == true && numberOfVertexChains == 1) { + VertexChain* defaultVertexChain = this->stageBox->getVertexChain(*(this->defaultVertexChainIdentifier)); + this->doDraw(*defaultVertexChain); + } +} + + +void VisualAsset::doDraw(const VertexChain& aVertexChain) const { + this->camera->activate(); + this->stageBox->updateIfNeeded(); + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->rotateMatrix(this->rotationAngle, 0.0, 1.0, 0.0); + if (this->image != NULL) { + this->image->draw(&aVertexChain, this->stageBox->getDebugMode()); + if (this->stageBox->getDebugMode() == true) { + theVisualGraphics->drawVertexChain(aVertexChain); + } + } else { + theVisualGraphics->drawVertexChain(aVertexChain); + } + + if (this->stageBox->getDebugMode() == true) { + theVisualGraphics->drawDebugVertexChain(aVertexChain, *(this->camera)); + this->drawBoxOutline(); + } +} + + +void VisualAsset::drawBoxOutline() const { + VertexColor yellow; + yellow.r = 1.0; + yellow.g = 1.0; + yellow.b = 0.0; + yellow.a = 1.0; + Coord coordPoint; + VisualVertex* aVertex = NULL; + // front + VertexChain* frontBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + frontBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + frontBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + frontBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + frontBoxChain->push_back(aVertex); + // back + VertexChain* backBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + backBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + backBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + backBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + backBoxChain->push_back(aVertex); + // left + VertexChain* leftBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + leftBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + leftBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + leftBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + leftBoxChain->push_back(aVertex); + // right + VertexChain* rightBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + rightBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + rightBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + rightBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + rightBoxChain->push_back(aVertex); + // top + VertexChain* topBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + topBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + topBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + topBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getTopCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + topBoxChain->push_back(aVertex); + // bottom + VertexChain* bottomBoxChain = new VertexChain; + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + bottomBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getRightCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + bottomBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getBackPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + bottomBoxChain->push_back(aVertex); + coordPoint.x = this->stageBox->getLeftCoord(); + coordPoint.y = this->stageBox->getBottomCoord(); + coordPoint.z = this->stageBox->getFrontPosition(); + aVertex = new VisualVertex(coordPoint, yellow); + bottomBoxChain->push_back(aVertex); + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawVertexChain(*frontBoxChain); + theVisualGraphics->drawVertexChain(*backBoxChain); + theVisualGraphics->drawVertexChain(*leftBoxChain); + theVisualGraphics->drawVertexChain(*rightBoxChain); + theVisualGraphics->drawVertexChain(*topBoxChain); + theVisualGraphics->drawVertexChain(*bottomBoxChain); + + for (VertexChainIterator chainIt = frontBoxChain->begin(); chainIt != frontBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = frontBoxChain->erase(chainIt); + } + delete frontBoxChain; + for (VertexChainIterator chainIt = backBoxChain->begin(); chainIt != backBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = backBoxChain->erase(chainIt); + } + delete backBoxChain; + for (VertexChainIterator chainIt = leftBoxChain->begin(); chainIt != leftBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = leftBoxChain->erase(chainIt); + } + delete leftBoxChain; + for (VertexChainIterator chainIt = rightBoxChain->begin(); chainIt != rightBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = rightBoxChain->erase(chainIt); + } + delete rightBoxChain; + for (VertexChainIterator chainIt = topBoxChain->begin(); chainIt != topBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = topBoxChain->erase(chainIt); + } + delete topBoxChain; + for (VertexChainIterator chainIt = bottomBoxChain->begin(); chainIt != bottomBoxChain->end(); chainIt++) { + delete *chainIt; + chainIt = bottomBoxChain->erase(chainIt); + } + delete bottomBoxChain; +} + + +void VisualAsset::setScaleFactor(double aScaleFactor) { + this->scaleFactor = aScaleFactor; + this->stageBox->setScaleFactor(aScaleFactor); +} + + +double VisualAsset::getScaleFactor() const { + return this->scaleFactor; +} + + +void VisualAsset::setOpacityValue(double anOpacityValue) { + this->opacityValue = anOpacityValue; + this->stageBox->setOpacityValue(anOpacityValue); +} + + +double VisualAsset::getOpacityValue() const { + return this->opacityValue; +} + + +void VisualAsset::setRotationAngle(double aRotationAngle) { + this->rotationAngle = aRotationAngle; +} + + +double VisualAsset::getRotationAngle() const { + return this->rotationAngle; +} + + +void VisualAsset::setDebugMode(bool requestedDebugMode) { + this->stageBox->setDebugMode(requestedDebugMode); +} + + +bool VisualAsset::getDebugMode(void) { + return this->stageBox->getDebugMode(); +} + + +void VisualAsset::addAnimation(VisualAnimationComponent& anAnimation) { + anAnimation.preparePriorToAddingToAsset(*this); + VisualAnimationQueue::push(anAnimation, this->VisualObject::getIdentifier()); +} + + +void VisualAsset::removeAnimations(AnimatedProperty anAnimatedProperty) { + VisualAnimationQueue::removeVisualAnimationsWithOwnerIdentifier(this->VisualObject::getIdentifier(), anAnimatedProperty); +} + + +const VisualAnimationComponent* const VisualAsset::getAnimation(const AnimatedProperty& anAnimatedProperty) const { + return VisualAnimationQueue::getFirstVisualAnimation(this->VisualObject::getIdentifier(), anAnimatedProperty); +} + + +double VisualAsset::getCurrentAnimationValueOfProperty(const AnimatedProperty& anAnimatedProperty) const { + double currentValue = 0.0; + + switch (anAnimatedProperty) { + case kAnimatedSize: + currentValue = this->scaleFactor; + break; + case kAnimatedOpacity: + currentValue = this->opacityValue; + break; + case kAnimatedRotation: + currentValue = (this->rotationAngle / 360.0); + break; + case kUndefinedAnimatedProperty: + case kCustomAnimatedProperty: + // unknown + break; + default: + char errLog[256]; + sprintf(errLog, "unknown AnimatedProperty %d in file: %s (line: %d) [%s])", anAnimatedProperty, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + + return currentValue; + +} + + +void VisualAsset::updateLocation(double currPosition) { + VisualStagePosition position = VisualStageBox::tweenVisualStagePosition(this->startValueVisualStagePosition, this->stopValueVisualStagePosition, currPosition, *this->stageBox); + this->setPosition(position); +} + + +double VisualAsset::getCurrentAnimationValueForAnimatedLocation(const VisualStagePosition& startPosition, const VisualStagePosition& stopPosition) const { + VisualStagePosition currStagePosition = this->stageBox->getVisualStagePosition(); + return 0.0; +} + + +void VisualAsset::setStartValueVisualStagePosition(const VisualStagePosition& position) { + this->startValueVisualStagePosition = position; +} + + +void VisualAsset::setStopValueVisualStagePosition(const VisualStagePosition& position) { + this->stopValueVisualStagePosition = position; +} + + +void VisualAsset::animateOpacity(double currentPosition, void* userData) { + if (reinterpret_cast(userData)->stageBox->getDebugMode() == true) { + printf("VisualAsset::animateOpacity: %f\n", currentPosition); + } + reinterpret_cast(userData)->setOpacityValue(currentPosition); +} + + +void VisualAsset::animateRotation(double currentPosition, void* userData) { + double rotationAngle = currentPosition * 360.0; + reinterpret_cast(userData)->setRotationAngle(rotationAngle); +} + + +void VisualAsset::animateScaleFactor(double currentPosition, void* userData) { + reinterpret_cast(userData)->setScaleFactor(currentPosition); +} + + +void VisualAsset::animateLocation(double currentPosition, void* userData) { + reinterpret_cast(userData)->updateLocation(currentPosition); +} diff --git a/src/projectM-iTunes-VizKit/source/VisualAsset.h b/src/projectM-iTunes-VizKit/source/VisualAsset.h new file mode 100644 index 0000000000..1fdaa21d21 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualAsset.h @@ -0,0 +1,380 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAsset.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualAsset_h +#define VisualAsset_h + + +#include "VisualTypes.h" +#include "VisualStagePosition.h" +#include "VisualAnimationTypes.h" +#include "VisualObject.h" + + +namespace VizKit { + + class VisualImage; // Forward declaration (to avoid include of header file). + class VisualStageBox; // Forward declaration (to avoid include of header file). + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + class VisualAnimationComponent; // Forward declaration (to avoid include of header file). + class VisualCamera; // Forward declaration (to avoid include of header file). + + /** + * Dimensionless asset that contains texture, boxing information, and optional animations. + */ + class VisualAsset : public VisualObject { + + public: + + /** + * The constructor. + */ + VisualAsset(); + + /** + * The destructor. + */ + ~VisualAsset(); + + /** + * Copy constructor. + * @param other Reference to another VisualAsset. + */ + VisualAsset(const VisualAsset& other); + + /** + * Assignment operator. + * @param other Reference to another VisualAsset. + */ + VisualAsset& operator=(const VisualAsset& other); + + /** + * Less than operator. + * @param other Another VisualAsset. + * @remarks The less than operator is used by std::map for find() and sorting (if VisualAsset is used as key_type). + */ + bool operator<(const VisualAsset& other) const; + + /** + * Equality operator. + * @param other Another VisualAsset. + */ + bool operator==(const VisualAsset& other) const; + + /** + * Inequality operator. + * @param other Another VisualAsset. + */ + bool operator!=(const VisualAsset& other) const; + + /** + * Copies the current VisualAsset and returns a pointer to a new VisualAsset. + */ + virtual VisualAsset* clone(void) const; + + /** + * Returns the stage box of the asset. + * The stage box is the bounding box. + * @return The stage box of the asset. + */ + VisualStageBox* getBox(void) const; + + /** + * Sets the dimensions and direction of the camera view. + * @param cameraRef Camera whose dimensions and direction should be used by asset. + */ + void setCamera(const VisualCamera& cameraRef); + + /** + * Returns the camera of the asset. + * @return The camera of the asset. + */ + VisualCamera& getCamera(void) const; + + /** + * Returns the position of the asset's stage box. + * @return The position of the asset's stage box. + */ + VisualStagePosition getPosition(void) const; + + /** + * Sets the position of the asset's stage box. + * @param aPosition The requested position of the asset's stage box. + */ + void setPosition(const VisualStagePosition& aPosition); + + /** + * Updates the coords of the assets. + * @remarks Might be useful after a resize event of the enclosing canvas for instance. + */ + void updateCoords(void); + + /** + * Sets the image of the asset. + * @param anImage Reference to the image. + * @remarks The image is copied. + */ + void setImage(const VisualImage& anImage); + + /** + * Answers the question whether the asset has image data. + * @return True if asset has image data, false if not. + */ + bool hasImage(void) const; + + /** + * Returns the image data of the asset. + * @return The image data of the asset. + */ + VisualImage* getImage(void) const; + + /** + * Removes the image of the asset. + */ + void removeImage(void); + + /** + * Draws the asset. + * @param vertexChainName The identifier of the VertexChain to draw. + */ + void draw(const VisualItemIdentifier& vertexChainName) const; + + /** + * Draws the asset. + * @remarks All vertex chains are drawn. + */ + void draw(void) const; + + /** + * Sets the scale value. + * @param aScaleFactor The factor by which the size of the asset should be multiplied when rendered. + * @remarks 1.0 means no magnification/minification. + */ + void setScaleFactor(double aScaleFactor); + + /** + * Returns the current scale factor. + * @return The current scale factor. + */ + double getScaleFactor(void) const; + + /** + * Sets the opacity value (alpha value). + * @param anOpacityValue The opacity value (alpha value). + */ + void setOpacityValue(double anOpacityValue); + + /** + * Returns the current opacity value (alpha value). + * @return The current opacity value (alpha value). + */ + double getOpacityValue(void) const; + + /** + * Sets the rotation angle value. + * @param aRotationAngle The requested rotation angle. + */ + void setRotationAngle(double aRotationAngle); + + /** + * Returns the current rotation angle value. + * @return The current rotation angle value. + */ + double getRotationAngle(void) const; + + /** + * Sets the debug mode. + * @param requestedDebugMode The debug mode. True turns debug mode on, false turns it off. + */ + void setDebugMode(bool requestedDebugMode); + + /** + * Returns the current debug mode. + * @return The current debug mode. True means debug mode is on, false means it is turned off. + */ + bool getDebugMode(void); + + /** + * Adds an animation to the asset. + * @param anAnimation Reference to an animation. + * @remarks It is ensured that only one animation animates a distinct property of the asset. When the asset is destructed, all animations of the asset are removed. + */ + void addAnimation(VisualAnimationComponent& anAnimation); + + /** + * Clears all currently running animations. + * @param anAnimatedProperty Optional parameter that specifies the animated property of the animations. + */ + void removeAnimations(AnimatedProperty anAnimatedProperty = kUndefinedAnimatedProperty); + + /** + * Returns the VisualAnimation where the animated property matches. + * @param anAnimatedProperty Parameter that specifies the animated property of the animation. + * @return The VisualAnimation where the animated property matches. + * @remarks Return value can be NULL. + */ + const VisualAnimationComponent* const getAnimation(const AnimatedProperty& anAnimatedProperty) const; + + /** + * Returns the current animation value of a property which can be animated. + * @param anAnimatedProperty Parameter that specifies the queried property of the animation. + * @return The current animation value of the property. + * @remarks The returned value can differ from the current actual value of the asset property (e\.g\. for rotation return values are clamped between 0\.0 and 1\.0 instead of 0\.0 and 360\.0). + */ + double getCurrentAnimationValueOfProperty(const AnimatedProperty& anAnimatedProperty) const; + + /** + * Returns the current animation value of an animated VisualStagePosition. + * @param startPosition The start position. + * @param stopPosition The stop position. + * @return The current animation value of the property. + * @remarks The returned value can differ from the current actual value of the asset property (e\.g\. for rotation return values are clamped between 0\.0 and 1\.0 instead of 0\.0 and 360\.0). + */ + double getCurrentAnimationValueForAnimatedLocation(const VisualStagePosition& startPosition, const VisualStagePosition& stopPosition) const; + + /** + * Updates the location for an animation. + * @param currPosition The current position of the animation. + * @remarks Location animations are tweened between startValueVisualStagePosition and stopValueVisualStagePosition. + */ + void updateLocation(double currPosition); + + /** + * Sets the start position as it is used for an animation of the VisualStagePosition property of the asset's VisualStageBox. + * @param position The start position. + */ + void setStartValueVisualStagePosition(const VisualStagePosition& position); + + /** + * Sets the start position as it is used for an animation of the VisualStagePosition property of the asset's VisualStageBox. + * @param position The start position. + */ + void setStopValueVisualStagePosition(const VisualStagePosition& position); + + /** + * Callback function that is called during animation. + * @param currentPosition The current position of the animation. + * @param userData Pointer to VisualAsset instance. + */ + static void animateOpacity(double currentPosition, void* userData); + + /** + * Callback function that is called during animation. + * @param currentPosition The current position of the animation. + * @param userData Pointer to VisualAsset instance. + */ + static void animateRotation(double currentPosition, void* userData); + + /** + * Callback function that is called during animation. + * @param currentPosition The current position of the animation. + * @param userData Pointer to VisualAsset instance. + */ + static void animateScaleFactor(double currentPosition, void* userData); + + /** + * Callback function that is called during animation. + * @param currentPosition The current position of the animation. + * @param userData Pointer to VisualAsset instance. + */ + static void animateLocation(double currentPosition, void* userData); + + private: + + /** + * Initializes the VisualAsset. + */ + void init(void); + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualAsset. + */ + void copy(const VisualAsset& other); + + /** + * Draws a vertex chain (including texture data if available). + * @param aVertexChain Vertex chain to draw. + */ + void doDraw(const VertexChain& aVertexChain) const; + + /** + * Draws the outline of the stage box. + * @remarks Useful method for debugging or diagnostic purposes. + */ + void drawBoxOutline(void) const; + + /** + * The image of the asset. + */ + VisualImage* image; + + /** + * The camera of the asset. + */ + VisualCamera* camera; + + /** + * The stage box of the asset. + */ + VisualStageBox* stageBox; + + /** + * The identifier of the default vertex chain. + * @remarks The default vertex chain is used in case no vertex chain has been initialized explicitely. + */ + VisualItemIdentifier* defaultVertexChainIdentifier; + + /** The current rotation angle. */ + double rotationAngle; + + /** The current opacity value (alpha value). */ + double opacityValue; + + /** The current scale factor value. */ + double scaleFactor; + + /** The start value of an animation of the VisualStagePosition property. */ + VisualStagePosition startValueVisualStagePosition; + + /** The stop value of an animation of the VisualStagePosition property. */ + VisualStagePosition stopValueVisualStagePosition; + + }; + +} + + +#endif /* VisualAsset_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp b/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp new file mode 100644 index 0000000000..486c7765fc --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp @@ -0,0 +1,185 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConfiguration.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" + +#if TARGET_OS_MAC +#include // CFStringRef +#endif + +#include // strlen + +using namespace VizKit; + + + +// ========= INDIVIDUAL VISUALIZER IDENTIFICATION CONFIGURATION (start) ========= // + +const char* const VisualConfiguration::visualizerPluginIdentifierName = "VizKit"; +const char* const VisualConfiguration::visualizerShowName = "VizKit"; + +void VisualConfiguration::prepareVisualizerShowNameUnicode() { + +#if TARGET_OS_WIN + wchar_t* visualizerShowNameUnicode_wchar = L"VizKit"; // utf-16 + this->visualizerShowNameUnicode = (uint16*)visualizerShowNameUnicode_wchar; +#endif + +#if TARGET_OS_MAC +/* + // if you malloc the show name, do not forget to free the allocated heap memory in VisualConfiguration's destructor + + char* visualizerShowNameUnicodePrep = (char*)malloc(10 * sizeof(char)); + visualizerShowNameUnicodePrep[0] = 'V'; + visualizerShowNameUnicodePrep[1] = 'i'; + visualizerShowNameUnicodePrep[2] = 'z'; + visualizerShowNameUnicodePrep[3] = 0x00E3; // KATAKANA LETTER ZU (Unicode: 30BA, UTF8: E3 82 BA) + visualizerShowNameUnicodePrep[4] = 0x0082; + visualizerShowNameUnicodePrep[5] = 0x00BA; + visualizerShowNameUnicodePrep[6] = 'K'; + visualizerShowNameUnicodePrep[7] = 'i'; + visualizerShowNameUnicodePrep[8] = 't'; + visualizerShowNameUnicodePrep[9] = '\0'; + + this->visualizerShowNameUnicode = (uint8*)visualizerShowNameUnicodePrep; +*/ + this->visualizerShowNameUnicode = (uint8*)VisualConfiguration::visualizerShowName; // defaults to utf8 being the same as the ascii name + +#endif +} + + +#if TARGET_OS_MAC +const char* const VisualConfiguration::kVisualPluginDomainIdentifier = "de.imagomat.vizkit"; +#endif +#if TARGET_OS_WIN +const char* const VisualConfiguration::kVisualPluginDomainIdentifier = "Imagomat"; +#endif + +const uint8 VisualConfiguration::kMajorReleaseNumber = 2; + +const uint8 VisualConfiguration::kMinorReleaseNumber = 3; + +const uint8 VisualConfiguration::kReleaseRevisionNumber = 0; + + +const char* const VisualConfiguration::kCurrentVersionInformationURL = "http://www.imagomat.de/vizkit/download/current_version.txt"; + + +// ========= INDIVIDUAL VISUALIZER IDENTIFICATION CONFIGURATION (end) ========= // + + +VisualConfiguration* VisualConfiguration::theVisualConfiguration = NULL; + + +VisualConfiguration::VisualConfiguration() { + unicodeShowName = NULL; + prepareVisualizerShowNameUnicode(); +} + + +VisualConfiguration::~VisualConfiguration() { +#if TARGET_OS_MAC + if (theVisualConfiguration->unicodeShowName != NULL) { + free(theVisualConfiguration->unicodeShowName); + } + //if (theVisualConfiguration->visualizerShowNameUnicode != NULL) { + //free(theVisualConfiguration->visualizerShowNameUnicode); + //} +#endif +} + + +VisualConfiguration* VisualConfiguration::getInstance() { + if (theVisualConfiguration == NULL) { + theVisualConfiguration = new VisualConfiguration; + } + if (theVisualConfiguration == NULL) { + writeLog("ERR: init theVisualConfiguration failed"); + } + return theVisualConfiguration; +} + + +void VisualConfiguration::dispose() { + if (theVisualConfiguration != NULL) { + delete theVisualConfiguration; + theVisualConfiguration = NULL; + } +} + + + +uint16* VisualConfiguration::getVisualizerShowNameUnicode(uint32& numberOfCharactersOfVisualizerShowNameUnicode) { + theVisualConfiguration = VisualConfiguration::getInstance(); +#if TARGET_OS_MAC + Boolean isExternalRepresentation = false; + CFStringRef unicodeNameStr = CFStringCreateWithBytes(kCFAllocatorDefault, (const UInt8*)theVisualConfiguration->visualizerShowNameUnicode, strlen((char*)theVisualConfiguration->visualizerShowNameUnicode), kCFStringEncodingUTF8, isExternalRepresentation); + numberOfCharactersOfVisualizerShowNameUnicode = CFStringGetLength(unicodeNameStr); + theVisualConfiguration->unicodeShowName = (UniChar*)malloc(numberOfCharactersOfVisualizerShowNameUnicode * sizeof(UniChar)); + CFStringGetCharacters(unicodeNameStr, CFRangeMake(0, numberOfCharactersOfVisualizerShowNameUnicode), theVisualConfiguration->unicodeShowName); + CFRelease(unicodeNameStr); +#endif +#if TARGET_OS_WIN + theVisualConfiguration->unicodeShowName = theVisualConfiguration->visualizerShowNameUnicode; + numberOfCharactersOfVisualizerShowNameUnicode = wcslen((wchar_t*)theVisualConfiguration->visualizerShowNameUnicode); +#endif + return theVisualConfiguration->unicodeShowName; +} + + +uint8 VisualConfiguration::getBCD(uint8 decimalNumber) { + + if (decimalNumber > 99) return getBCD(99); + + uint8 bcd = 16 * (decimalNumber / 10) + (decimalNumber%10); + return bcd; +} + + +uint8 VisualConfiguration::getMajorReleaseNumberAsBCD(void) { + return VisualConfiguration::getBCD(VisualConfiguration::kMajorReleaseNumber); +} + + +uint8 VisualConfiguration::getMinorReleaseNumberAsBCD(void) { + return VisualConfiguration::getBCD(VisualConfiguration::kMinorReleaseNumber); +} + + +uint8 VisualConfiguration::getReleaseRevisionNumber(void) { + return VisualConfiguration::kReleaseRevisionNumber; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualConfiguration.h b/src/projectM-iTunes-VizKit/source/VisualConfiguration.h new file mode 100644 index 0000000000..5ee16e3c23 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConfiguration.h @@ -0,0 +1,183 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConfiguration.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualConfiguration_h +#define VisualConfiguration_h + +#include "VisualTypes.h" + +#if TARGET_OS_WIN +#include "win/resource.h" +#endif + + +namespace VizKit { + + /** Common definitions and constants that must be customized for each individual plug-in. */ + class VisualConfiguration { + + public: + + /** The name of the visualizer plug-in, the identifier. */ + static const char* const visualizerPluginIdentifierName; + + /** The name of the visualizer as shown in menu of iTunes. */ + static const char* const visualizerShowName; + + /** + * The identifier of the visualizer plug-in (as used on Mac OS X for preferences identification and as CFBundleIdentifier). + * Preferences can be stored with the Options Dialog. + * The values are stored in preferences text file. + * The preferences file is located at application data (Windows); + * and on Mac OS X the preferences are stored in Preferences folder inside Library folder in user's home directory. + * The domain identifier specifies the name of the plist file on Mac OS X. + * On Windows the domain identifier specifies the name of the folder inside the application data directory. + */ + static const char* const kVisualPluginDomainIdentifier; + + /** The major release number of the visualizer (version number). Range: 0 - 99. For instance 1.2.5 means: major release number 1, minor release number 2, revision number 5. */ + static const uint8 kMajorReleaseNumber; + + /** The minor release number of the visualizer (version number). Range: 0 - 9. For instance 1.2.5 means: major release number 1, minor release number 2, revision number 5. */ + static const uint8 kMinorReleaseNumber; + + /** The revision number of the visualizer (version number). Range: 0 - 255. For instance 1.2.5 means: major release number 1, minor release number 2, revision number 5. */ + static const uint8 kReleaseRevisionNumber; + + /** + * The URL of the current version information for this visualizer. + * The text information contains three items, separated by "|": + * 1) The current version number (major.minor.revision), set each component of the version (including 0). Zero values at the end of the version are dropped when presenting the current version to the user. + * 2) Info URL (web page with general information about the visualizer or specific information about the advertized version) + * 3) Download URL (URL pointing to download file of current visualizer) + * This information is used to prompt the user with update information in case an older version is running. + * The feature is turned on/off by preference VisualPreferences::kCheckForUpdate. + */ + static const char* const kCurrentVersionInformationURL; + + /** + * Disposes the VisualConfiguration. + */ + static void dispose(void); + + /** Returns the major release number encoded as BCD value. + * @return The major release number encoded as BCD value. + * @remarks The BCD value is passed to iTunes in PlayerRegisterVisualPlugin() by setting the pluginVersion of the PlayerRegisterVisualPluginMessage. + */ + static uint8 getMajorReleaseNumberAsBCD(void); + + /** Returns the minor release number encoded as BCD value. + * @return The minor release number encoded as BCD value. + * @remarks The BCD value is passed to iTunes in PlayerRegisterVisualPlugin() by setting the pluginVersion of the PlayerRegisterVisualPluginMessage. + */ + static uint8 getMinorReleaseNumberAsBCD(void); + + /** Returns the release revision number. + * @return The release revision number. + * @remarks The release revision number is not encoded as BCD. + */ + static uint8 getReleaseRevisionNumber(void); + + /** Returns the unicode-savvy show name of the visualizer. + * @return The unicode-savvy show name of the visualizer. + */ + static uint16* getVisualizerShowNameUnicode(uint32& numberOfCharactersOfVisualizerShowNameUnicode); + +// Resources +#if TARGET_OS_WIN +#define SPOTPNG IDR_PNG_SPOT +#endif +#if TARGET_OS_MAC +#define SPOTPNG "spot.png" +#endif + + private: + + /** + * Constructs a VisualConfiguration. The VisualConfiguration acts as a singleton. Returns a pointer to the initialised VisualConfiguration. + * @return A pointer to the singleton instance. + */ + static VisualConfiguration* getInstance(void); + + /** The constructor. VisualConfiguration is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualConfiguration(); + + /** The destructor. VisualConfiguration is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualConfiguration(); + + /** + * Copy constructor. + * @param other Another VisualConfiguration. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualConfiguration(const VisualConfiguration& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualConfiguration& operator=(const VisualConfiguration& other); + + /** VisualConfiguration is a singleton class. Pointer to private instance is handled internally. */ + static VisualConfiguration* theVisualConfiguration; + + /** Internal method to prepare the unicode-savvy show name of the visualizer. */ + void prepareVisualizerShowNameUnicode(void); + + /** Returns the binary-coded decimal value of a decimal number. + * @param decimalNumber The decimal number to convert into binary-coded decimal number. + * @remarks BCD or Binary-coded decimal format is a format where each digit has a range of 0 - 9 (normal binary digits have a range of 0 - 15). Further info on encoding of version information: http://developer.apple.com/technotes/tn/tn1132.html (Technote OV 12- Version Territory) + */ + static uint8 getBCD(uint8 decimalNumber); + + /** The name of the visualizer as shown in menu of iTunes (declared as UTF-16 on Windows, declared as UTF-8 on Mac). + * @remarks Routine + */ +#if TARGET_OS_WIN + uint16* visualizerShowNameUnicode; +#endif +#if TARGET_OS_MAC + uint8* visualizerShowNameUnicode; +#endif + + /** The internally stored unicode-savvy show name of the visualizer. */ + uint16* unicodeShowName; + + }; + +} + +#endif /* VisualConfiguration_h */ + diff --git a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp new file mode 100644 index 0000000000..d20470ae11 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp @@ -0,0 +1,73 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConfigurationDialog.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualConfigurationDialog.h" + +#if TARGET_OS_WIN +#include "VisualPropertySheet.h" +#endif + +#if TARGET_OS_MAC +#include "OptionsDialog.h" +#endif + + +using namespace VizKit; + + +void VisualConfigurationDialog::show() { +#if TARGET_OS_WIN + CVisualPropertySheet* thePropertySheet = CVisualPropertySheet::getInstance(); + if (thePropertySheet != NULL) { + thePropertySheet->BringWindowToTop(); + } +#endif +#if TARGET_OS_MAC + OptionsDialog* theOptionsDialog = OptionsDialog::getInstance(); + if (theOptionsDialog != NULL) { + theOptionsDialog->show(); + } +#endif +} + + +void VisualConfigurationDialog::dispose() { +#if TARGET_OS_WIN + CVisualPropertySheet::dispose(); +#endif +#if TARGET_OS_MAC + OptionsDialog::dispose(); +#endif +} diff --git a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h new file mode 100644 index 0000000000..f43465ed75 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h @@ -0,0 +1,71 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConfigurationDialog.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualConfigurationDialog_h +#define VisualConfigurationDialog_h + +#include "VisualTypes.h" + + +namespace VizKit { + + /** Wrapper around OS specific UI implementations of the configuration dialog. */ + class VisualConfigurationDialog { + + public: + + /** + * Displays the OS specific UI of the configuration dialog. + * @remarks In case the dialog was visible already, it is brought to front. + */ + static void show(void); + + /** Disposes the OS specific UI resources of the configuration dialog. */ + static void dispose(void); + + private: + + /** The constructor. VisualConfiguration is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualConfigurationDialog(); + + /** The destructor. VisualConfiguration is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualConfigurationDialog(); + + }; + +} + +#endif /* VisualConfigurationDialog_h */ + diff --git a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp new file mode 100644 index 0000000000..f3e1f6e32d --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp @@ -0,0 +1,312 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConvolutionFilter.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualConvolutionFilter.h" +#include "VisualErrorHandling.h" + + + +using namespace VizKit; + + +VisualConvolutionFilter::VisualConvolutionFilter(const Effect effect, const uint8 colCount, const uint8 rowCount) { + + numberOfKernelValueColumns = colCount; + numberOfKernelValueRows = rowCount; + + postConvolutionScaleFactor = 1.0f; + postConvolutionBias = 0.0f; + + edgeAction = kZeroEdges; + + // If the sum of all elements of the filter is 1, the resulting image has the same brightness as the original. + + switch (effect) { + + case kNone: + break; + + case kBlur: + { + float count = (float)(colCount * rowCount); + for (uint8 i = 0; i < (colCount * rowCount); i++) { + //kernelValues.push_back(1.0f / count); + kernelValues.push_back(1.0f); + } + this->postConvolutionScaleFactor = 1.0f / count; + } + break; + + case kMotionBlur: + numberOfKernelValueColumns = 5; + numberOfKernelValueRows = 5; + for (uint8 i = 0; i < numberOfKernelValueColumns; i++) { + for (uint8 k = 0; k < numberOfKernelValueRows; k++) { + if (k == i) { + kernelValues.push_back(1.0f / (float)numberOfKernelValueColumns); + } else { + kernelValues.push_back(0.0f); + } + } + } + break; + + case kGaussianBlur: + { + float count = 16.0f; + kernelValues.push_back(1.0f / count); + kernelValues.push_back(2.0f / count); + kernelValues.push_back(1.0f / count); + kernelValues.push_back(2.0f / count); + kernelValues.push_back(4.0f / count); + kernelValues.push_back(2.0f / count); + kernelValues.push_back(1.0f / count); + kernelValues.push_back(2.0f / count); + kernelValues.push_back(1.0f / count); + } + break; + + case kLaplacian: + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(1.0f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + kernelValues.push_back(-0.125f); + break; + + case kEdgeDetect: + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(8.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + break; + + case kSharpen: + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(9.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + break; + + case kEmboss: + kernelValues.push_back(-1.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(0.0f); + kernelValues.push_back(-1.0f); + kernelValues.push_back(0.0f); + kernelValues.push_back(1.0f); + kernelValues.push_back(0.0f); + kernelValues.push_back(1.0f); + kernelValues.push_back(1.0f); + postConvolutionBias = 128.0f; + break; + + default: + char errStr[256]; + sprintf(errStr, "unknown switch case (%d) in file: %s (line: %d) [%s])", effect, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } +} + + +VisualConvolutionFilter::~VisualConvolutionFilter() { + kernelValues.clear(); +} + + +VisualConvolutionFilter::VisualConvolutionFilter(const VisualConvolutionFilter& other) { + copy(other); +} + + +VisualConvolutionFilter& VisualConvolutionFilter::operator=(const VisualConvolutionFilter& other) { + if (this != &other) { + this->copy(other); + } + return *this; +} + + +void VisualConvolutionFilter::copy(const VisualConvolutionFilter& other) { + this->kernelValues = other.kernelValues; + this->numberOfKernelValueColumns = other.numberOfKernelValueColumns; + this->numberOfKernelValueRows = other.numberOfKernelValueRows; +} + + +uint8 VisualConvolutionFilter::getNumberOfKernelValueRows() const { + return this->numberOfKernelValueRows; +} + + +uint8 VisualConvolutionFilter::getNumberOfKernelValueColumns() const { + return this->numberOfKernelValueColumns; +} + + +float VisualConvolutionFilter::getPostConvolutionScaleFactor() const { + return this->postConvolutionScaleFactor; +} + + +float VisualConvolutionFilter::getPostConvolutionBias() const { + return this->postConvolutionBias; +} + + +void VisualConvolutionFilter::copyKernelValues(float* buffer) const { + uint16 i = 0; + uint16 k = 0; + uint16 currIdx = 0; + for (i = 0; i < this->numberOfKernelValueColumns; i++) { + for (k = 0; k < this->numberOfKernelValueRows; k++) { + buffer[currIdx] = this->kernelValues[currIdx]; + currIdx++; + } + } +} + + +void VisualConvolutionFilter::applyToPixelData(const PixelColor* inPixelData, uint32 imageWidth, uint32 imageHeight, int pixelFormat, int pixelDataType, PixelColor** outPixelData, uint16 numberOfInterations) const { + + bool alpha = true; + + float* matrix = (float*)malloc(this->numberOfKernelValueRows * this->numberOfKernelValueColumns * sizeof(float)); + this->copyKernelValues(matrix); + uint8 rows2 = this->numberOfKernelValueRows / 2; + uint8 cols2 = this->numberOfKernelValueColumns / 2; + + uint32 pixelDataSizeInBytes = imageWidth * imageHeight * sizeof(PixelColor); + + uint32* filteredPixelData = (uint32*)calloc(pixelDataSizeInBytes, sizeof(char)); + + if (numberOfInterations > 1) { + memcpy(filteredPixelData, inPixelData, pixelDataSizeInBytes); + } + + for (uint16 i = 0; i < numberOfInterations; i++) { + + uint32 index = 0; + + if (numberOfInterations > 1) { + memcpy(*outPixelData, filteredPixelData, pixelDataSizeInBytes); + } + + for (uint32 y = 0; y < imageHeight; y++) { + + for (uint32 x = 0; x < imageWidth; x++) { + + float r = 0; + float g = 0; + float b = 0; + float a = 0; + + for (sint8 row = -rows2; row <= rows2; row++) { + sint32 iy = y + row; + sint32 ioffset; + if (0 <= iy && iy < static_cast(imageHeight)) + ioffset = iy * imageWidth; + else if (this->edgeAction == kClampEdges) + ioffset = y * imageWidth; + else if (this->edgeAction == kWrapEdges) + ioffset = ((iy + imageHeight) % imageHeight) * imageWidth; + else + continue; + uint32 moffset = this->numberOfKernelValueColumns * (row + rows2) + cols2; + for (sint8 col = -cols2; col <= cols2; col++) { + float f = matrix[moffset + col]; + + if (f != 0) { + sint32 ix = x + col; + if (!(0 <= ix && ix < static_cast(imageWidth))) { + if (this->edgeAction == kClampEdges) + ix = x; + else if (this->edgeAction == kWrapEdges) + ix = (x + imageWidth) % imageWidth; + else + continue; + } + uint32 rgb = (inPixelData)[ioffset + ix]; + a += f * ((rgb >> 24) & 0xff); + r += f * ((rgb >> 16) & 0xff); + g += f * ((rgb >> 8) & 0xff); + b += f * (rgb & 0xff); + } + } + } + + if (alpha) { + a *= this->postConvolutionScaleFactor + this->postConvolutionBias; + } + r *= this->postConvolutionScaleFactor + this->postConvolutionBias; + g *= this->postConvolutionScaleFactor + this->postConvolutionBias; + b *= this->postConvolutionScaleFactor + this->postConvolutionBias; + + uint32 ia = alpha ? this->clamp((uint32)(a + 0.5)) : 0xff; + uint32 ir = this->clamp((uint32)(r + 0.5)); + uint32 ig = this->clamp((uint32)(g + 0.5)); + uint32 ib = this->clamp((uint32)(b + 0.5)); + + filteredPixelData[index++] = (ia << 24) | (ir << 16) | (ig << 8) | ib; + } + } + + } + + free(matrix); + + *outPixelData = filteredPixelData; + +} + +uint32 VisualConvolutionFilter::clamp(uint32 inVal) const { + if (inVal > 255) return 255; + if (inVal < 0) return 0; + return inVal; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h new file mode 100644 index 0000000000..494deba8a4 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h @@ -0,0 +1,181 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualConvolutionFilter.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualConvolutionFilter_h +#define VisualConvolutionFilter_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#include + + +namespace VizKit { + + /** + * Convolution filter for bitmap image effects. A.k.a. kernel filter or matrix. A.k.a. correlation, impulse response, or point spread function. + */ + class VisualConvolutionFilter { + + public: + + /** Constants for various convolution filters. */ + typedef enum { + kNone = 0, + kBlur, /** < Blur filter (lowpass filter). Eliminates changes that are only a pixel wide. Rapid change from pixel to pixel is blocked while slow change is passed. */ + kMotionBlur, /** < Motion blur filter. */ + kGaussianBlur, /** < Gaussian blur filter. */ + kLaplacian, /** < Laplacian filter. */ + kEdgeDetect, /** < Filter for edge detection. */ + kSharpen, /** < Sharpens image (highpass filter). Rapid change from pixel to pixel is passed while slow change is blocked. */ + kEmboss /** < Emboss filter that gives the image a relief look (useful when bumpmapping). */ + } Effect; + + /** How to calculate edge values. */ + typedef enum { + kZeroEdges = 0, /** < Edge values are blank. */ + kClampEdges, /** < Edge values are clamped. */ + kWrapEdges /** < Edge values are wrapped around. */ + } EdgeAction; + + /** + * The constructor. + * @param effect The name of the convolution filter. + * @param colCount The number of columns of the kernel matrix. Default = 3. + * @param rowCount The number of rows of the kernel matrix. Default = 3. + * @remarks The size of the filter has to be uneven, so that it has a center (e.g. 3x3, 5x5, or 7x7). + */ + VisualConvolutionFilter(const Effect effect, const uint8 colCount = 3, const uint8 rowCount = 3); + + /** + * The destructor. + */ + ~VisualConvolutionFilter(); + + /** + * Copy constructor. + * @param other Reference to another VisualConvolutionFilter. + */ + VisualConvolutionFilter(const VisualConvolutionFilter& other); + + /** + * Assignment operator. + * @param other Reference to another VisualConvolutionFilter. + */ + VisualConvolutionFilter& operator=(const VisualConvolutionFilter& other); + + /** + * Returns the number of kernel value columns. + * @return The number of kernel value columns. + */ + uint8 getNumberOfKernelValueColumns(void) const; + + /** + * Returns the number of kernel value rows. + * @return The number of kernel value rows. + */ + uint8 getNumberOfKernelValueRows(void) const; + + /** + * Returns the post convolution scale factor. + * @return The post convolution scale factor. + * @remarks The scale factor is the factor with which each pixel is multiplied. + */ + float getPostConvolutionScaleFactor(void) const; + + /** + * Returns the post convolution bias. + * @return The post convolution bias. + * @remarks The bias is a coefficient that is added to each pixel value. + */ + float getPostConvolutionBias(void) const; + + /** + * Copies the kernel values of the convolution filter into the provided buffer. + * @param[out] buffer The buffer into which the kernel values are written. + * @remarks The caller has to make sure that the provided buffer is big enough to store columns * rows * sizeof(float) values. + */ + void copyKernelValues(float* buffer) const; + + /** + * Applies the convolution filter to the pixel data. + * @param pixelData The pixel data on which the convolution filter is about to be applied. + * @param imageWidth The width of the image. + * @param imageHeight The height of the image. + * @param pixelFormat The format of the pixel data (rgba, luminance, etc.). + * @param pixelDataType The data type of the pixel data (8-bit byte, float, etc.). + * @param outPixelData The result of the convolution operation. + * @param numberOfInterations Optional number of iterations (default = 1). + */ + void applyToPixelData(const PixelColor* pixelData, uint32 imageWidth, uint32 imageHeight, int pixelFormat, int pixelDataType, PixelColor** outPixelData, uint16 numberOfInterations = 1) const; + + private: + + /** Kernel values of convolution filters are stored in vectors of floats. */ + typedef std::vector KernelValues; + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualConvolutionFilter. + */ + void copy(const VisualConvolutionFilter& other); + + /** Kernel values. */ + KernelValues kernelValues; + + /** The number of columns of the kernel values. */ + uint8 numberOfKernelValueColumns; + + /** The number of rows of the kernel values. */ + uint8 numberOfKernelValueRows; + + /** The scaling of values applied after the convolution. */ + float postConvolutionScaleFactor; + + /** The bias of values applied after the convolution. */ + float postConvolutionBias; + + /** How the convolution filter treats edge values. */ + EdgeAction edgeAction; + + /** Clamps the incoming value between 0 and 255. */ + uint32 clamp(uint32 inVal) const; + + }; + +} + +#endif /* VisualConvolutionFilter_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp b/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp new file mode 100644 index 0000000000..26fe5f3787 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp @@ -0,0 +1,878 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualDataStore.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualDataStore.h" +#include "VisualHostCommunication.h" +#include "VisualErrorHandling.h" +#include "VisualAudioLab.h" +#include "VisualConfiguration.h" +#include "VisualPreferences.h" +#include "VisualThreading.h" +#include "VisualNotification.h" +#include "VisualString.h" +#include "VisualFile.h" +#include "VisualStyledString.h" +#include "VisualImage.h" +#include "VisualPlayerState.h" +#include "VisualQuickTime.h" + +#if TARGET_OS_MAC +#include "VisualAppleScript.h" +#endif +#if TARGET_OS_MAC +#include // HUnlock +#endif + + +#if TARGET_OS_WIN +#include "iTunesCOMInterface.h" +#endif + + +using namespace VizKit; + + +const size_t VisualDataStore::audioMetaDataHistoryCount = 2; + +bool VisualDataStore::lyricsCreationThreadIsRunning = false; + +VisualDataStore* VisualDataStore::theVisualDataStore = NULL; // singleton + + +const VisualItemIdentifier VisualDataStore::albumCoverArtworkImageId; +VisualItemIdentifier VisualDataStore::fileWithLyricsStringId; +VisualItemIdentifier VisualDataStore::trackIdentifierOfLyricsMetadata; +const VisualItemIdentifier VisualDataStore::styledTrackInfoStringId; +const VisualItemIdentifier VisualDataStore::styledTrackLyricsStringId; +const VisualItemIdentifier VisualDataStore::updateInformationStringId; + + +VisualDataStore::VisualDataStore() { + VisualAudioMetaData emptyVisualAudioMetaData; + for (uint8 i = 0; i < audioMetaDataHistoryCount; i++) { + audioMetaDataHistory.push_back(emptyVisualAudioMetaData); + } + currAudioMetaDataHistoryIdx = audioMetaDataHistoryCount - 1; + appVersionMajorNum = 0; + appVersionMinorNum = 0; +} + + +VisualDataStore::~VisualDataStore() { + + processInfoMap.clear(); + + audioMetaDataHistory.clear(); +} + + +VisualDataStore* VisualDataStore::getInstance() { + if (theVisualDataStore == NULL) { + theVisualDataStore = new VisualDataStore; + } + return theVisualDataStore; +} + + +void VisualDataStore::dispose() { + if (theVisualDataStore != NULL) { + delete theVisualDataStore; + theVisualDataStore = NULL; + } +} + + +void VisualDataStore::setValue(const ValueKey anIdentifier, const int anIntValue) { + bool found = false; + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) { + (*it)->valueInt = anIntValue; + found = true; + } + } + if (found == false) { + Value* aValue = new Value; + aValue->dataType = kIntPrefType; + aValue->key = anIdentifier; + aValue->valueInt = anIntValue; + strcpy(aValue->valueChar, "\0"); + aValue->valueBool = false; + theVisualDataStore->valueVector.push_back(aValue); + } +} + + +void VisualDataStore::setValue(const ValueKey anIdentifier, const float aFloatValue) { + bool found = false; + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) { + (*it)->valueFloat = aFloatValue; + found = true; + } + } + if (found == false) { + Value* aValue = new Value; + aValue->dataType = kFloatPrefType; + aValue->key = anIdentifier; + aValue->valueFloat = aFloatValue; + aValue->valueInt = 0; + strcpy(aValue->valueChar, "\0"); + aValue->valueBool = false; + theVisualDataStore->valueVector.push_back(aValue); + } +} + + +void VisualDataStore::setValue(const ValueKey anIdentifier, const char* const aCharValue) { + bool found = false; + + char errStr[256] = "\0"; + if (strlen(aCharValue) > 255) { + strncat(errStr, aCharValue, 255); + writeLog("char value too long"); + return; + } + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) { + strcpy((*it)->valueChar, aCharValue); + found = true; + } + } + if (found == false) { + Value* aValue = new Value; + aValue->dataType = kCharPrefType; + aValue->key = anIdentifier; + strcpy(aValue->valueChar, aCharValue); + aValue->valueInt = 0; + aValue->valueBool = false; + theVisualDataStore->valueVector.push_back(aValue); + } +} + + +void VisualDataStore::setValue(const ValueKey anIdentifier, const bool aBoolValue) { + bool found = false; + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kBoolPrefType) { + (*it)->valueBool = aBoolValue; + found = true; + } + } + if (found == false) { + Value* aValue = new Value; + aValue->dataType = kBoolPrefType; + aValue->key = anIdentifier; + aValue->valueBool = aBoolValue; + aValue->valueInt = 0; + aValue->valueFloat = 0.0f; + strcpy(aValue->valueChar, "\0"); + theVisualDataStore->valueVector.push_back(aValue); + } +} + + +int VisualDataStore::getValueInt(const ValueKey anIdentifier, bool* wasSet) { + + int prefVal = 0; + + if (wasSet != NULL) { + *wasSet = false; + } + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) { + if (wasSet != NULL) { + *wasSet = true; + } + return (*it)->valueInt; + } + } + + return prefVal; +} + + +float VisualDataStore::getValueFloat(const ValueKey anIdentifier, bool* wasSet) { + + float prefVal = 0; + + if (wasSet != NULL) { + *wasSet = false; + } + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) { + if (wasSet != NULL) { + *wasSet = true; + } + return (*it)->valueFloat; + } + } + + return prefVal; +} + + +void VisualDataStore::getValueChar(const ValueKey anIdentifier, char* outPrefVal, bool* wasSet) { + + strcpy(outPrefVal, "\0"); + + if (wasSet != NULL) { + *wasSet = false; + } + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) { + if (wasSet != NULL) { + *wasSet = true; + } + strncat(outPrefVal, (*it)->valueChar, strlen((*it)->valueChar)); + return; + } + } + +} + + +bool VisualDataStore::getValueBool(const ValueKey anIdentifier, bool* wasSet) { + + bool prefVal = false; + + if (wasSet != NULL) { + *wasSet = false; + } + + theVisualDataStore = VisualDataStore::getInstance(); + for (ValueVectorIterator it = theVisualDataStore->valueVector.begin(); it != theVisualDataStore->valueVector.end(); it++) { + if ((*it)->key == anIdentifier && (*it)->dataType == kBoolPrefType) { + if (wasSet != NULL) { + *wasSet = true; + } + return (*it)->valueBool; + } + } + + return prefVal; +} + + +void VisualDataStore::setAppVersionNum(uint8 majorVersionNum, uint8 minorVersionNum) { + theVisualDataStore = VisualDataStore::getInstance(); + theVisualDataStore->appVersionMajorNum = majorVersionNum; + theVisualDataStore->appVersionMinorNum = minorVersionNum; +} + + +uint8 VisualDataStore::getAppVersionMajorNum() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->appVersionMajorNum; +} + + +uint8 VisualDataStore::getAppVersionMinorNum() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->appVersionMinorNum; +} + + +void VisualDataStore::resetCurrAudioMetaData(void) { + theVisualDataStore = VisualDataStore::getInstance(); + theVisualDataStore->currAudioMetaData.init(); +} + + +void VisualDataStore::setAudioTrackName(const uint16* const audioTrackName, uint32 audioTrackNameLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString trackName(audioTrackName, audioTrackNameLength); + theVisualDataStore->currAudioMetaData.setTrackName(trackName); +} + + +void VisualDataStore::setAudioTrackArtistName(const uint16* const audioTrackArtistName, uint32 audioTrackArtistNameLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString trackArtistName(audioTrackArtistName, audioTrackArtistNameLength); + theVisualDataStore->currAudioMetaData.setTrackArtist(trackArtistName); +} + + +void VisualDataStore::setAudioTrackAlbumName(const uint16* const audioTrackAlbumName, uint32 audioTrackAlbumNameLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString trackAlbumName(audioTrackAlbumName, audioTrackAlbumNameLength); + theVisualDataStore->currAudioMetaData.setTrackAlbum(trackAlbumName); +} + + +void VisualDataStore::setAudioTrackComposer(const uint16* const audioTrackComposer, uint32 audioTrackComposerLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString trackComposer(audioTrackComposer, audioTrackComposerLength); + theVisualDataStore->currAudioMetaData.setTrackComposer(trackComposer); +} + + +void VisualDataStore::setAudioStreamTitle(const char* const audioStreamTitle, uint32 audioStreamTitleLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamTitle(audioStreamTitle, audioStreamTitleLength); + theVisualDataStore->currAudioMetaData.setStreamTitle(streamTitle); +} + + +void VisualDataStore::setAudioStreamTitle(const uint16* const audioStreamTitle, uint32 audioStreamTitleLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamTitle(audioStreamTitle, audioStreamTitleLength); + theVisualDataStore->currAudioMetaData.setStreamTitle(streamTitle); +} + + +void VisualDataStore::setAudioStreamMessage(const char* const audioStreamMessage, uint32 audioStreamMessageLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamMessage(audioStreamMessage, audioStreamMessageLength); + theVisualDataStore->currAudioMetaData.setStreamMessage(streamMessage); +} + + +void VisualDataStore::setAudioStreamMessage(const uint16* const audioStreamMessage, uint32 audioStreamMessageLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamMessage(audioStreamMessage, audioStreamMessageLength); + theVisualDataStore->currAudioMetaData.setStreamMessage(streamMessage); +} + + +void VisualDataStore::setAudioStreamURL(const char* const audioStreamURL, uint32 audioStreamURLLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamURL(audioStreamURL, audioStreamURLLength); + theVisualDataStore->currAudioMetaData.setStreamURL(streamURL); +} + + +void VisualDataStore::setAudioStreamURL(const uint16* const audioStreamURL, uint32 audioStreamURLLength) { + theVisualDataStore = VisualDataStore::getInstance(); + VisualString streamURL(audioStreamURL, audioStreamURLLength); + theVisualDataStore->currAudioMetaData.setStreamURL(streamURL); +} + + +void VisualDataStore::setAudioTrackSizeInBytes(int sizeInBytes) { + theVisualDataStore = VisualDataStore::getInstance(); + theVisualDataStore->currAudioMetaData.setTrackSizeInBytes(sizeInBytes); +} + + +void VisualDataStore::setAudioTrackYear(uint16 aYear) { + theVisualDataStore = VisualDataStore::getInstance(); + theVisualDataStore->currAudioMetaData.setYear(aYear); +} + + +void VisualDataStore::setAudioDataIsStream(bool isStream) { + theVisualDataStore = VisualDataStore::getInstance(); + theVisualDataStore->currAudioMetaData.setIsStream(isStream); +} + + +void VisualDataStore::setLyricsOfCurrentTrack(const VisualString& lyricsString) { + theVisualDataStore = VisualDataStore::getInstance(); + + /* + VisualFile aFile; + aFile.initWithUserDesktopDirectory(); + VisualString fileName; + fileName.initWithUTF8Buffer("lyricsTest.txt", 15); + aFile.appendFileName(fileName); + const uint16* const data = lyricsString.clone()->getUtf16Representation(); + uint32 length = lyricsString.getNumberOfCharacters(); + VisualFile::writeDataToFile((void**)&data, length * sizeof(uint16), aFile); + */ + + VisualString* normalizedLyrics = lyricsString.clone(); + if (normalizedLyrics) { + normalizedLyrics->normalizeLineEndings(); + theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].setTrackLyrics(*normalizedLyrics); + delete normalizedLyrics; + } +} + + +bool VisualDataStore::analyzeCurrentlySetMetadata() { + bool audioTrackDidChange = false; + theVisualDataStore = VisualDataStore::getInstance(); + if (theVisualDataStore->currAudioMetaData != theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]) { + theVisualDataStore->advanceAudioMetaDataHistory(); + theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx] = theVisualDataStore->currAudioMetaData; + audioTrackDidChange = true; + } + return audioTrackDidChange; +} + + +void VisualDataStore::advanceAudioMetaDataHistory() { + if ((this->currAudioMetaDataHistoryIdx + 1) >= this->audioMetaDataHistory.size()) { + this->currAudioMetaDataHistoryIdx = 0; + } else { + this->currAudioMetaDataHistoryIdx++; + } +} + + +VisualString VisualDataStore::getInfoOfCurrentAudioDataForDisplay() { + VisualString displayInfo; + if (VisualDataStore::currentlyPlayingAudioIsStream()) { + const VisualString& streamTitle = theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getStreamTitle(); + const VisualString& streamMessage = theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getStreamMessage(); + if (!streamTitle.isEmpty()) { + displayInfo = streamTitle; + } else if (!streamMessage.isEmpty()) { + displayInfo = streamMessage; + } + } else { + const VisualString& trackArtist = theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackArtist(); + if (!trackArtist.isEmpty()) { + displayInfo = trackArtist; + } + const VisualString& trackName = theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackName(); + if (!trackName.isEmpty()) { + if (!displayInfo.isEmpty()) { + char trackInfoDisplayItemsDelimiterCharacters[32]; + VisualPreferences::getValue(VisualPreferences::kTrackInfoDisplayItemsDelimiterCharacters, trackInfoDisplayItemsDelimiterCharacters); + displayInfo = (displayInfo + trackInfoDisplayItemsDelimiterCharacters); + } + displayInfo = (displayInfo + trackName); + } + } + return displayInfo; +} + + +uint32 VisualDataStore::getTrackSizeInBytes() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackSizeInBytes(); +} + + +uint16 VisualDataStore::getTrackYear() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getYear(); +} + + +VisualString VisualDataStore::getNameOfCurrentTrack() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackName(); +} + + +VisualString VisualDataStore::getArtistOfCurrentTrack() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackArtist(); +} + + +VisualString VisualDataStore::getAlbumOfCurrentTrack() { + theVisualDataStore = VisualDataStore::getInstance(); + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackAlbum(); +} + + +VisualString VisualDataStore::getLyricsOfCurrentTrack() { + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackLyrics(); +} + + +VisualItemIdentifier VisualDataStore::getIdentifierOfCurrentTrack() { + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getTrackIdentifier(); +} + + +bool VisualDataStore::currentlyPlayingAudioIsStream(void) { + return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].getIsStream(); +} + + +void VisualDataStore::setProcessInfo(const char* const labelStr, const char* const valueStr) { + std::string labelString(labelStr); + std::string valueString(valueStr); + ProcessInfoMapIterator it; + theVisualDataStore = VisualDataStore::getInstance(); + it = theVisualDataStore->processInfoMap.find(labelString); + if (it == theVisualDataStore->processInfoMap.end()) { + theVisualDataStore->processInfoMap[labelString] = valueString; + } else { + it->second = valueString; + } +} + + +const std::map* const VisualDataStore::getProcessInfoMap() { + theVisualDataStore = VisualDataStore::getInstance(); + return &theVisualDataStore->processInfoMap; +} + + +VisualImage* VisualDataStore::createCoverArtImage() { + + size_t numberOfBytes = 0; + uint16 numberOfArtworks = 0; + void* albumCoverArtworkImageData = NULL; + + numberOfArtworks = VisualHostCommunication::getCurrentTrackCoverArt(&albumCoverArtworkImageData, (uint32&)numberOfBytes); + + if (numberOfArtworks == 0) return NULL; + + VisualImage* anImage = new VisualImage; + const char* coverArtDataPtr = (const char*)albumCoverArtworkImageData; + bool success = anImage->initWithEncodedData(coverArtDataPtr, numberOfBytes); + + VisualHostCommunication::dispose(); + + if (!success) { + return NULL; + } else if (anImage->isEmpty()) { + delete anImage; + return NULL; + } + + return anImage; +} + + +bool VisualDataStore::createLyricsOfCurrentTrack() { + bool success = false; + if (VisualDataStore::lyricsCreationThreadIsRunning == true) return false; + success = VisualThreading::createThread((ThreadingFuncPtr)VisualDataStore::writeLyricsToFile); + return success; +} + + +#if TARGET_OS_MAC +OSStatus VisualDataStore::writeLyricsToFile(void* parameter) { + + bool success = true; + + VisualDataStore::lyricsCreationThreadIsRunning = true; + + VisualItemIdentifier currTrackId = VisualDataStore::getIdentifierOfCurrentTrack(); + VisualDataStore::trackIdentifierOfLyricsMetadata = currTrackId; + + bool debug = false; + + if (debug == true) { + writeLog("writeLyricsToFile (begin)"); + } + + VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance(); + + VisualString tempFileName = VisualString("VizKitLyrics.tmp.txt"); + VisualFile tempFile; + success = tempFile.initWithDirectoryOfTemporaryItems(); + if (!success) { + return (OSStatus)1001; + } + success = tempFile.appendFileName(tempFileName); + if (!success) { + return (OSStatus)1002; + } + + if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) != kIsShowing) { + return (OSStatus)1003; + } + + VisualFile appleScriptFile; + success = appleScriptFile.initWithResourcesDirectory(); + if (!success) { + return (OSStatus)1004; + } + VisualString appleScriptFileName = VisualString("getLyrics.applescript"); + success = appleScriptFile.appendFileName(appleScriptFileName); + if (!success) { + return (OSStatus)1005; + } + + if (debug == true) { + VisualString appleScriptFilePath; + appleScriptFile.getFilePath(appleScriptFilePath); + VisualString tempFilePath; + tempFile.getFilePath(tempFilePath); + char logStr[256]; + sprintf(logStr, "before executeScriptFile(), %s %s", appleScriptFilePath.getUtf8Representation(), tempFilePath.getUtf8Representation()); + writeLog(logStr); + } + + VisualAppleScript::executeScriptFile(appleScriptFile); + + if (debug == true) { + writeLog("after executeScriptFile()"); + } + + VisualNotification lyricsAreWrittenIntoTempFileNotification; + lyricsAreWrittenIntoTempFileNotification.setKey(kLyricsAreWrittenIntoTempFileMsg); + lyricsAreWrittenIntoTempFileNotification.setObject(tempFile); + lyricsAreWrittenIntoTempFileNotification.post(); + + if (debug == true) { + writeLog("---------------------- writeLyricsToFile (end)"); + } + + VisualDataStore::lyricsCreationThreadIsRunning = false; + + return noErr; +} + +#endif + +#if TARGET_OS_WIN +DWORD WINAPI VisualDataStore::writeLyricsToFile(LPVOID lpParam) { + + VisualDataStore::lyricsCreationThreadIsRunning = true; + + DWORD retVal = 0; + + IiTunes* iITunes = 0; + IITTrack* iITrack = 0; + + CoInitialize(0); + //HRESULT result = CoInitializeEx(0, COINIT_APARTMENTTHREADED); + + try + { + HRESULT hRes = ::CoCreateInstance(CLSID_iTunesApp, NULL, CLSCTX_LOCAL_SERVER, IID_IiTunes, (PVOID *)&iITunes); + + if(hRes == S_OK && iITunes) { + iITunes->get_CurrentTrack(&iITrack); + if(iITrack) { + + BSTR bstrTrack = 0; + + iITrack->get_Name((BSTR *)&bstrTrack); + + BSTR bstrLyricsTrack = ::SysAllocString((const OLECHAR*)("")); + //BSTR bstrLyricsTrack = 0; + IITFileOrCDTrack* iTrackFile; + iITrack->QueryInterface(IID_IITFileOrCDTrack, (void **)&iTrackFile); + if (iTrackFile) { + iTrackFile->get_Lyrics(&bstrLyricsTrack); + } + theVisualDataStore = VisualDataStore::getInstance(); + + uint16 trackLyricsStringLength = lstrlenW(bstrLyricsTrack); + VisualString lyrics((uint16*)bstrLyricsTrack, trackLyricsStringLength); + VisualDataStore::setLyricsOfCurrentTrack(lyrics); + //theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx].setTrackLyrics(lyrics); + //dynamic_cast(iITrack)->get_Lyrics((BSTR *)&bstrLyricsTrack); + //dynamic_cast(iITrack)->get_Lyrics((BSTR *)&theVisualDataStore->trackLyrics); + + } + } + + iITunes->Release(); + + } + catch(...) + { + try + { + if(iITunes) + iITunes->Release(); + + if(iITrack) + iITrack->Release(); + } + catch(...) + { + } + } + + CoUninitialize(); + + +/* + iTunesLib.iTunesAppClass itl = new iTunesLib.iTunesAppClass(); + string currTrack = itl.CurrentTrack.Name.ToString(); + iTunesLib.IITTrack myTrack = (iTunesLib.IITTrack)itl.CurrentTrack; + iTunesLib.IITFileOrCDTrack test = (iTunesLib.IITFileOrCDTrack)myTrack; + string myLyrics = test.Lyrics; + + MessageBox.Show("Track: "+currTrack+", Lyrics: "+myLyrics); +*/ + + VisualNotification::post(kLyricsAreAvailableInMetadataMsg); + + VisualDataStore::lyricsCreationThreadIsRunning = false; + + return retVal; +} +#endif + + + +#if TARGET_OS_MAC +OSStatus VisualDataStore::readFileAndSendNotificationWithString(void* fileWithStringContent) { + OSStatus retVal = noErr; +#endif +#if TARGET_OS_WIN +DWORD VisualDataStore::readFileAndSendNotificationWithString(LPVOID fileWithStringContent) { + DWORD retVal = 0; +#endif + + bool debug = false; + + if (debug == true) { + writeLog("readFileAndSendNotificationWithString (start)"); + } + + VisualFile* visualFile = reinterpret_cast(fileWithStringContent); + + VisualString stringContentsOfFile; + stringContentsOfFile.initWithContentsOfFile(*visualFile); + + if (debug == true) { + writeLog("after stringContentsOfFile.initWithContentsOfFile()"); + } + if (stringContentsOfFile.getNumberOfCharacters() == 0) { + if (debug == true) { + writeLog("stringContentsOfFile.getNumberOfCharacters() == 0"); + } +#if TARGET_OS_MAC + retVal = (OSStatus)1001; +#endif +#if TARGET_OS_WIN + retVal = (DWORD)1001; +#endif + return retVal; + } + + VisualNotification aNotification(visualFile->getIdentifier()); + aNotification.setKey(kStringWithIdentifierLoadedAndCreatedMsg); + aNotification.setObject(stringContentsOfFile); + + delete visualFile; + visualFile = NULL; + + aNotification.post(); + + if (debug == true) { + writeLog("readFileAndSendNotificationWithString (end)"); + } + + return retVal; +} + + +#if TARGET_OS_MAC +OSStatus VisualDataStore::readFileAndRemoveFileAndSendNotificationWithString(void* fileWithStringContent) { + OSStatus retVal = noErr; +#endif +#if TARGET_OS_WIN +DWORD VisualDataStore::readFileAndRemoveFileAndSendNotificationWithString(LPVOID fileWithStringContent) { + DWORD retVal = 0; +#endif + + bool debug = false; + + if (debug == true) { + writeLog("readFileAndRemoveFileAndSendNotificationWithString (start)"); + } + + VisualFile* visualFile = reinterpret_cast(fileWithStringContent); + + if (!visualFile) { +#if TARGET_OS_MAC + retVal = (OSStatus)1001; +#endif +#if TARGET_OS_WIN + retVal = (DWORD)1001; +#endif + return retVal; + } + + VisualString stringContentsOfFile; + stringContentsOfFile.initWithContentsOfFile(*visualFile); + + if (debug == true) { + writeLog("after stringContentsOfFile.initWithContentsOfFile()"); + } + if (stringContentsOfFile.getNumberOfCharacters() == 0) { + if (debug == true) { + writeLog("stringContentsOfFile.getNumberOfCharacters() == 0"); + } +#if TARGET_OS_MAC + retVal = (OSStatus)1002; +#endif +#if TARGET_OS_WIN + retVal = (DWORD)1002; +#endif + return retVal; + } + + VisualItemIdentifier fileIdentifier = visualFile->getIdentifier(); + VisualNotification aNotification(fileIdentifier); + aNotification.setKey(kStringWithIdentifierLoadedAndCreatedMsg); + aNotification.setObject(stringContentsOfFile); + + bool success = visualFile->remove(); + if (debug == true) { + writeLog("tempFile.remove()"); + } + if (!success) { + if (debug == true) { + writeLog("no success after remove()"); + } +#if TARGET_OS_MAC + retVal = (OSStatus)1003; +#endif +#if TARGET_OS_WIN + retVal = (DWORD)1003; +#endif + } + + delete visualFile; + visualFile = NULL; + + aNotification.post(); + + if (debug == true) { + writeLog("readFileAndRemoveFileAndSendNotificationWithString (end)"); + } + + return retVal; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualDataStore.h b/src/projectM-iTunes-VizKit/source/VisualDataStore.h new file mode 100644 index 0000000000..76a616866a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualDataStore.h @@ -0,0 +1,517 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualDataStore.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualDataStore_h +#define VisualDataStore_h + + +#include "VisualTypes.h" +#include "VisualConfiguration.h" +#include "VisualItemIdentifier.h" +#include "VisualAudioMetaData.h" + + +#if TARGET_OS_WIN +#include // DWORD WINAPI +#endif + +#include +#include +#include + + +struct ITTrackInfo; // Forward declaration (to avoid include of header file). +struct ITStreamInfo; // Forward declaration (to avoid include of header file). + +namespace VizKit { + + class VisualString; // Forward declaration (to avoid include of header file). + class VisualImage; // Forward declaration (to avoid include of header file). + + /** + * Stores essential data for the visualizer. + * The data stored is general (neither graphics related nor audio specific). + * All public methods are declared static. + */ + class VisualDataStore { + + public: + + typedef enum { + kUnknownValue = 0, + kTrackInfoTextureHeight, + kLyricsTextureHeight + } ValueKey; + + /** + * Disposes the VisualDataStore. + */ + static void dispose(void); + + /** + * Sets a persistent value (integer) which is not stored in preferences. The value is accessible during runtime. + * @param anIdentifier The identifier (key) of the preference value. + * @param anIntValue The value (integer) of the value. + */ + static void setValue(const ValueKey anIdentifier, const int anIntValue); + + /** + * Sets a persistent value (float) which is not stored in preferences. The value is accessible during runtime. + * @param anIdentifier The identifier (key) of the preference value. + * @param aFloatValue The value (float) of the value. + */ + static void setValue(const ValueKey anIdentifier, const float aFloatValue); + + /** + * Sets a persistent value (string) which is not stored in preferences. The value is accessible during runtime. + * @param anIdentifier The identifier (key) of the preference value. + * @param aCharValue The value (string) of the value. + */ + static void setValue(const ValueKey anIdentifier, const char* const aCharValue); + + /** + * Sets a persistent value (boolean) which is not stored in preferences. The value is accessible during runtime. + * @param anIdentifier The identifier (key) of the preference value. + * @param aBoolValue The value (boolean) of the value. + */ + static void setValue(const ValueKey anIdentifier, const bool aBoolValue); + + /** + * Retrieves a persistent value (integer) which was set previously but not stored in preferences. + * @param anIdentifier The identifier (key) of the preference value. + * @param wasSet Optional parameter that indicates whether the values was set previously. + * @return Returns a persistent value (integer) which was set previously but not stored in preferences. + */ + static int getValueInt(const ValueKey anIdentifier, bool* wasSet = NULL); + + /** + * Retrieves a persistent value (float) which was set previously but not stored in preferences. + * @param anIdentifier The identifier (key) of the preference value. + * @param wasSet Optional parameter that indicates whether the values was set previously. + * @return Returns a persistent value (float) which was set previously but not stored in preferences. + */ + static float getValueFloat(const ValueKey anIdentifier, bool* wasSet = NULL); + + /** + * Retrieves a persistent value (string) which was set previously but not stored in preferences. + * @param anIdentifier The identifier (key) of the preference value. + * @param[out] outPrefVal The character string value. + * @param wasSet Optional parameter that indicates whether the values was set previously. + * @return Returns a persistent value (string) which was set previously but not stored in preferences. + */ + static void getValueChar(const ValueKey anIdentifier, char* outPrefVal, bool* wasSet = NULL); + + /** + * Retrieves a persistent value (boolean) which was set previously but not stored in preferences. + * @param anIdentifier The identifier (key) of the preference value. + * @param wasSet Optional parameter that indicates whether the values was set previously. + * @return Returns a persistent value (boolean) which was set previously but not stored in preferences. + */ + static bool getValueBool(const ValueKey anIdentifier, bool* wasSet = NULL); + + /** + * Stores the major and minor version of the host application. + * @param majorVersionNum The major version number of the host application. 1st part of version number in BCD. + * @param minorVersionNum The minor version number of the host application. Minor and bug revision part of version number share a byte. + */ + static void setAppVersionNum(uint8 majorVersionNum, uint8 minorVersionNum); + + /** + * Returns the major version of the host application. + * @return The major version number of the host application. + */ + static uint8 getAppVersionMajorNum(void); + + /** + * Returns the minor version of the host application. + * @return The minor version number of the host application. + */ + static uint8 getAppVersionMinorNum(void); + + /** + * Resets the currently set audio meta data. + */ + static void resetCurrAudioMetaData(void); + + /** + * Sets the audio track name. + * @param audioTrackName The name of the current audio track. + * @param audioTrackNameLength The number of characters of the name of the current audio track. + */ + static void setAudioTrackName(const uint16* const audioTrackName, uint32 audioTrackNameLength); + + /** + * Sets the audio track artist name. + * @param audioTrackArtistName The name of the artist of the current audio track. + * @param audioTrackArtistNameLength The number of characters of the name of the artist of the current audio track. + */ + static void setAudioTrackArtistName(const uint16* const audioTrackArtistName, uint32 audioTrackArtistNameLength); + + /** + * Sets the audio track album name. + * @param audioTrackAlbumName The name of the album of the current audio track. + * @param audioTrackAlbumNameLength The number of characters of the name of the album of the current audio track. + */ + static void setAudioTrackAlbumName(const uint16* const audioTrackAlbumName, uint32 audioTrackAlbumNameLength); + + /** + * Sets the audio track composer. + * @param audioTrackComposer The name of the composer of the current audio track. + * @param audioTrackComposerLength The number of characters of the name of the composer of the current audio track. + */ + static void setAudioTrackComposer(const uint16* const audioTrackComposer, uint32 audioTrackComposerLength); + + /** + * Sets the title of an audio stream. + * @param audioStreamTitle The title of an audio stream. + * @param audioStreamTitleLength The number of characters of title of an audio stream. + */ + static void setAudioStreamTitle(const char* const audioStreamTitle, uint32 audioStreamTitleLength); + + /** + * Sets the title of an audio stream. + * @param audioStreamTitle The title of an audio stream. + * @param audioStreamTitleLength The number of characters of title of an audio stream. + */ + static void setAudioStreamTitle(const uint16* const audioStreamTitle, uint32 audioStreamTitleLength); + + /** + * Sets the message of an audio stream. + * @param audioStreamMessage The title of an audio stream. + * @param audioStreamMessageLength The number of characters of the message of an audio stream. + */ + static void setAudioStreamMessage(const char* const audioStreamMessage, uint32 audioStreamMessageLength); + + /** + * Sets the message of an audio stream. + * @param audioStreamMessage The message of an audio stream. + * @param audioStreamMessageLength The number of characters of the message of an audio stream. + */ + static void setAudioStreamMessage(const uint16* const audioStreamMessage, uint32 audioStreamMessageLength); + + /** + * Sets the URL of an audio stream. + * @param audioStreamURL The URL of an audio stream. + * @param audioStreamURLLength The number of characters of the URL of an audio stream. + */ + static void setAudioStreamURL(const char* const audioStreamURL, uint32 audioStreamURLLength); + + /** + * Sets the URL of an audio stream. + * @param audioStreamURL The URL of an audio stream. + * @param audioStreamURLLength The number of characters of the URL of an audio stream. + */ + static void setAudioStreamURL(const uint16* const audioStreamURL, uint32 audioStreamURLLength); + + /** + * Sets the size in bytes of the audio track. + * @param sizeInBytes The size in bytes of the audio track. + */ + static void setAudioTrackSizeInBytes(int sizeInBytes); + + /** + * Sets the year of the audio track. + * @param aYear The year of the audio track. + */ + static void setAudioTrackYear(uint16 aYear); + + /** + * Sets whether the current audio data is a stream. + */ + static void setAudioDataIsStream(bool isStream); + + /** + * Stores the lyrics of the current audio track. + * @param lyricsString The lyrics of the current audio track. + */ + static void setLyricsOfCurrentTrack(const VisualString& lyricsString); + + /** + * Analyzes the currently set audio track meta data. + * @return True if the track information changed (meaning: a new audio track started). + */ + static bool analyzeCurrentlySetMetadata(void); + + /** + * Returns a string with the info for the current audio data which can be used for display. + * @return String with the info for the current audio data. + */ + static VisualString getInfoOfCurrentAudioDataForDisplay(void); + + /** + * Returns the number of bytes of the current track. + * @return The number of bytes of the current track. + */ + static uint32 getTrackSizeInBytes(void); + + /** + * Returns the year of the current track. + * @return The year of the current track. + */ + static uint16 getTrackYear(void); + + /** + * Returns the name of the current audio track. + * @return The name of current track. + */ + static VisualString getNameOfCurrentTrack(void); + + /** + * Returns the name of the artist of the current audio track. + * @return The name of artist of the current track. + */ + static VisualString getArtistOfCurrentTrack(void); + + /** + * Returns the name of the album of the current audio track. + * @return The name of album of the current track. + */ + static VisualString getAlbumOfCurrentTrack(void); + + /* Returns the lyrics of the current audio track. + * After new lyrics for the current track are available, a notification is sent (kLyricsAreAvailableInMetadataMsg). + * Clients that are interested in being informed about the availability of new lyrics for the current track should register for the notification kLyricsAreAvailableInMetadataMsg. + * @return The lyrics of the current track. + */ + static VisualString getLyricsOfCurrentTrack(void); + + /* Returns the identifier of the current audio track. + * @return The identifier of the current audio track. + */ + static VisualItemIdentifier getIdentifierOfCurrentTrack(void); + + /** + * Answers the question whether currently playing audio is stream or track. + * @return True if currently playing audio is stream. False if currently playing audio is a track. + */ + static bool currentlyPlayingAudioIsStream(void); + + /** + * Creates an image of the album cover artwork of the current audio track. + * @return The image of the album cover artwork. Returns NULL if cover image is not available. + * @remarks The caller has to release the allocated memory by calling delete(). + */ + static VisualImage* createCoverArtImage(void); + + /* The lyrics are created. + * @return True on success, false on failure. + * @remarks The lyrics are created in a separate thread. + */ + static bool createLyricsOfCurrentTrack(void); + + /* A separate thread in which lyrics are written into a file on disk. + * @param parameter Additional parameters (ignored). + * @return Status. + * @remarks The target file into which the lyrics were written is added to the notification queue. + */ +#if TARGET_OS_MAC + static OSStatus writeLyricsToFile(void* parameter); +#endif +#if TARGET_OS_WIN + static DWORD WINAPI writeLyricsToFile(LPVOID lpParam); +#endif + + /* Contents of a file are read and the string contents are sent as notification. + * @param fileWithStringContent File on disk with string contents. + * @return Status. + */ +#if TARGET_OS_MAC + static OSStatus readFileAndSendNotificationWithString(void* fileWithStringContent); +#endif +#if TARGET_OS_WIN + static DWORD readFileAndSendNotificationWithString(LPVOID fileWithStringContent); +#endif + + /* Contents of a file are read, the file is deleted, and the string contents are sent as notification. + * @param fileWithStringContent File on disk with string contents. + * @return Status. + */ +#if TARGET_OS_MAC + static OSStatus readFileAndRemoveFileAndSendNotificationWithString(void* fileWithStringContent); +#endif +#if TARGET_OS_WIN + static DWORD readFileAndRemoveFileAndSendNotificationWithString(LPVOID fileWithStringContent); +#endif + /** + * Stores label and value of a process info entry that is sent later to the VisualProcessMonitor. + * @param labelStr The string of the label. + * @param valueStr The value of the process info. + */ + static void setProcessInfo(const char* const labelStr, const char* const valueStr); + + /** + * Returns a pointer to the process info map. + * @return The process info map. + */ + static const std::map* const getProcessInfoMap(); + + /** + * The identifier of the image of the album cover artwork. + */ + static const VisualItemIdentifier albumCoverArtworkImageId; + + /** + * The identifier of the file with lyrics string data. + */ + static VisualItemIdentifier fileWithLyricsStringId; + + /** + * The identifier of the track for which the lyrics data is gathered. + */ + static VisualItemIdentifier trackIdentifierOfLyricsMetadata; + + /** + * The identifier of the styled lyrics string. + */ + static const VisualItemIdentifier styledTrackLyricsStringId; + + /** + * The identifier of the styled track info string. + */ + static const VisualItemIdentifier styledTrackInfoStringId; + + /** + * The identifier of the update information string. + */ + static const VisualItemIdentifier updateInformationStringId; + + private: + + /** The constructor. VisualDataStore is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualDataStore(); + + /** The destructor. VisualDataStore is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualDataStore(); + + /** + * Constructs a VisualDataStore. The VisualDataStore internally is a singleton. Returns a pointer to the initialized VisualDataStore. + * @return A pointer to the singleton instance. + */ + static VisualDataStore* getInstance(void); + + /** + * Copy constructor. + * @param other Another VisualDataStore. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualDataStore(const VisualDataStore& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualDataStore& operator=(const VisualDataStore& other); + + /** VisualDataStore is a singleton class. Pointer to private instance is handled internally. */ + static VisualDataStore* theVisualDataStore; + + /** The format of the data that is stored with the values. */ + typedef enum { + kIntPrefType = 0, /**< Integer type. */ + kCharPrefType, /**< 8-bit character type. */ + kFloatPrefType, /**< Float type. */ + kBoolPrefType /**< Float type. */ + } ValueDataType; + + /** Stores a key-value-pair of values. The type of data of the value is set with the field dataType. */ + class Value { + public: + /** The key of the value (e.g. kTrackInfoTextureHeight). */ + ValueKey key; + /** The integer value of the value (e.g. 32). */ + int valueInt; + /** The float value of the value (e.g. 1.35). */ + float valueFloat; + /** The char value of the value (e.g. "LucidaGrande"). */ + char valueChar[256]; + /** The boolean value of the value (true or false). */ + bool valueBool; + /** The format of the value data. */ + ValueDataType dataType; + }; + + /** Values are collected as a vector of pointers to Values. */ + typedef std::vector ValueVector; + + /** The ValueVectorIterator is an iterator of the ValueVector. */ + typedef ValueVector::iterator ValueVectorIterator; + + /** Vector of values. */ + ValueVector valueVector; + + /** The major version number of the host application iTunes. */ + uint8 appVersionMajorNum; + + /** The minor version number of the host application iTunes. */ + uint8 appVersionMinorNum; + + /** The number of entries in history of meta data of audio track or stream. */ + static const size_t audioMetaDataHistoryCount; + + /** The current index of the history of meta data of audio track or stream. */ + size_t currAudioMetaDataHistoryIdx; + + /** AudioMetaData entries are collected as a vector of pointers to AudioMetaData. */ + typedef std::vector AudioMetaDataVector; + + /** The AudioMetaDataVectorIterator is an iterator of the AudioMetaDataVector. */ + typedef AudioMetaDataVector::iterator AudioMetaDataVectorIterator; + + /** Vector of AudioMetaData. */ + AudioMetaDataVector audioMetaDataHistory; + + /** Advance (increment) the history of AudioMetaData. The current index is moved one forward. */ + void advanceAudioMetaDataHistory(void); + + /** Instance variable with some temporarily current audio meta data. */ + VisualAudioMetaData currAudioMetaData; + + /** Flag that answers whether the lyrics creation thread is currently running. */ + static bool lyricsCreationThreadIsRunning; + + /** The ProcessInfoMap is a map of strings that denote key and value of process info records. */ + typedef std::map ProcessInfoMap; + + /** A map of the process monitor info key-value-pairs. */ + ProcessInfoMap processInfoMap; + + /** The ProcessInfoMapIterator is an iterator of the ProcessInfoMap. */ + typedef ProcessInfoMap::iterator ProcessInfoMapIterator; + + }; + +} + +#endif /* VisualDataStore_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp b/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp new file mode 100644 index 0000000000..584eb93cef --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp @@ -0,0 +1,291 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualDispatch.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualDispatch.h" + +#include "VisualErrorHandling.h" +#include "VisualConfiguration.h" +#include "VisualDataStore.h" +#include "VisualPlayerState.h" +#include "VisualGraphics.h" +#include "VisualTiming.h" +#include "VisualStyledString.h" +#include "VisualString.h" + +#include // cout + + + +using namespace VizKit; + + +#if TARGET_OS_MAC +// Function pointer prototypes to the Mach-O Cocoa wrappers + +typedef bool (*GetDimensionsOfStringBitmapProc)(CFStringRef stringValue, uint32* bitmapWidth, uint32* bitmapHeight, const char* const fontNameStr, double* fontSize, double red, double green, double blue, uint16 maxPixelWidth, uint16 maxPixelHeight, const char* const alignment); +GetDimensionsOfStringBitmapProc doGetDimensionsOfStringBitmap; + +typedef bool (*GetStringBitmapDataProc)(CFStringRef stringValue, uint32 bitmapWidth, uint32 bitmapHeight, const char* const fontNameStr, double fontSize, double red, double green, double blue, const char* const alignment, uint32** bitmapOut); +GetStringBitmapDataProc doGetStringBitmapData; + +typedef void (*LogStringProc)(CFStringRef aString); +LogStringProc doLogString; + + +CFBundleRef bundleRef = NULL; +#endif + + +// private declaration of internally used function +bool initCocoaBundle(); + + +void setProcessInfo(const char* const labelStr, const char* const valueStr) { + VisualDataStore::setProcessInfo(labelStr, valueStr); +} + + +void monitorRenderMessageProcess() { + + static float framesPerSecond = 0.0f; + static uint16 frameCount = 0; + uint32 elapsedMilliseconds = 0; + uint32 remainingMilliseconds = 0; + VisualPlayerState* theVisualPlayerState = NULL; + VisualGraphics* theVisualGraphics = NULL; + uint8 playState; + char cStr64[64]; + + theVisualPlayerState = VisualPlayerState::getInstance(); + + elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("fps"); + + if (elapsedMilliseconds > 1000) { + framesPerSecond = (float)frameCount / (float)elapsedMilliseconds * 1000.0f; + frameCount = 0; + VisualTiming::resetTimestamp("fps"); + } + frameCount++; + + sprintf(cStr64, "%.2f", framesPerSecond); + setProcessInfo("FramesPerSecond", cStr64); + + theVisualGraphics = VisualGraphics::getInstance(); + + setProcessInfo("RendererName",theVisualGraphics->getRendererName()); + + setProcessInfo("RendererVendor",theVisualGraphics->getRendererVendor()); + + setProcessInfo("RendererVersion",theVisualGraphics->getRendererVersion()); + + sprintf(cStr64, "%#x", theVisualGraphics->getGLVersion()); + setProcessInfo("GLVersion", cStr64); + + sprintf(cStr64, "%ld", theVisualGraphics->getMaxTextureSize()); + setProcessInfo("Maximum Texture Size", cStr64); + + // screen measurements + PixelRect screenRect = theVisualGraphics->getScreenRect(); + sprintf(cStr64, "width: %d, height: %d, refreshRate: %d", screenRect.width, screenRect.height, theVisualGraphics->getRefreshRateOfScreen()); + setProcessInfo("Screen", cStr64); + + sprintf(cStr64, "%d", theVisualGraphics->getBitsPerPixelOfScreen()); + setProcessInfo("BitsPerPixel", cStr64); + + sprintf(cStr64, "%d", theVisualGraphics->getCanvasPixelHeight()); + setProcessInfo("CanvasPixelHeight", cStr64); + + sprintf(cStr64, "%d", theVisualGraphics->getCanvasPixelWidth()); + setProcessInfo("CanvasPixelWidth", cStr64); + + BottomLeftPositionedPixelRect theCanvasRect; + theCanvasRect = theVisualGraphics->getCanvasRect(); + sprintf(cStr64, "bottom: %d, left: %d", theCanvasRect.bottomLeftPixel.y, theCanvasRect.bottomLeftPixel.x); + setProcessInfo("CanvasRectTopLeft", cStr64); + sprintf(cStr64, "width: %d, height: %d", theCanvasRect.pixelRect.width, theCanvasRect.pixelRect.height); + setProcessInfo("CanvasRectWidthHeight", cStr64); + + /* + sprintf(cStr64, "top: %.2f, left: %.2f", theVisualGraphics->getMaxTopCoordOfCanvas(), theVisualGraphics->getMaxLeftCoordOfCanvas()); + setProcessInfo("CoordMaxTopLeft", cStr64); + sprintf(cStr64, "bottom: %.2f, right: %.2f", theVisualGraphics->getMaxBottomCoordOfCanvas(), theVisualGraphics->getMaxRightCoordOfCanvas()); + setProcessInfo("CoordMaxBottomRight", cStr64); + sprintf(cStr64, "near: %.2f, far: %.2f", theVisualGraphics->getMaxNearCoordOfCanvas(), theVisualGraphics->getMaxFarCoordOfCanvas()); + setProcessInfo("CoordMaxNearFar", cStr64); + */ + + BottomLeftPositionedPixelRect bottomLeftPositionedPixelRect = theVisualGraphics->getViewportRect(); + sprintf(cStr64, "bottom: %d, left: %d, width: %d, height: %d", bottomLeftPositionedPixelRect.bottomLeftPixel.y, bottomLeftPositionedPixelRect.bottomLeftPixel.x, bottomLeftPositionedPixelRect.pixelRect.width, bottomLeftPositionedPixelRect.pixelRect.height); + setProcessInfo("ViewportRect", cStr64); + + playState = theVisualPlayerState->getAudioPlayState(); + switch (playState) { + case kAudioIsPlaying: + sprintf(cStr64, "kAudioIsPlaying"); + break; + case kAudioPlayStarted: + sprintf(cStr64, "kAudioPlayStarted"); + break; + case kAudioPlayResumed: + sprintf(cStr64, "kAudioPlayResumed"); + break; + case kAudioPlayPaused: + sprintf(cStr64, "kAudioPlayPaused"); + break; + case kAudioIsNotPlaying: + sprintf(cStr64, "kAudioIsNotPlaying"); + break; + default: + sprintf(cStr64, "unknown"); + } + setProcessInfo("AudioPlayState", cStr64); + + elapsedMilliseconds = theVisualPlayerState->getElapsedAudioTime(); + sprintf(cStr64, "%d", elapsedMilliseconds); + setProcessInfo("TrackTimeElapsed", cStr64); + + remainingMilliseconds = theVisualPlayerState->getRemainingAudioTime(); + sprintf(cStr64, "%d", remainingMilliseconds); + setProcessInfo("TrackTimeRemaining", cStr64); + +} + + +uint8 graphicsDoSupportTextureRectExtension() { + VisualGraphics* theVisualGraphics = NULL; + theVisualGraphics = VisualGraphics::getInstance(); + return (theVisualGraphics->canUseTextureRectExtension()); +} + + +#if TARGET_OS_MAC + +void setRefsToCocoaFunctionCalls() { + CFStringRef pluginName; + pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingASCII); + bundleRef = CFBundleGetBundleWithIdentifier(pluginName); + if (!bundleRef) { + writeLog("no bundleRef in setRefsToCocoaFunctionCalls"); + return; + } else { + doGetDimensionsOfStringBitmap = (GetDimensionsOfStringBitmapProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("getDimensionsOfStringBitmap")); + if (!doGetDimensionsOfStringBitmap) { + writeLog("no function pointer for doGetDimensionsOfStringBitmap"); + } + doGetStringBitmapData = (GetStringBitmapDataProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("getStringBitmapData")); + if (!doGetStringBitmapData) { + writeLog("no function pointer for doGetStringBitmapData"); + } + doLogString = (LogStringProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("logCFString")); + if (!doLogString) { + writeLog("no function pointer for doLogString"); + } + } + CFRelease(pluginName); +} + + +bool initCocoaBundle() { + bool success = true; + setRefsToCocoaFunctionCalls(); + return success; +} + + +bool getDimensionsOfCocoaStringBitmap(void* aVisualString, void* aVisualStringStyle, uint32* imageWidth, uint32* imageHeight, uint16 maxPixelWidth, uint16 maxPixelHeight, char* alignment) { + + bool success = true; + + if (!doGetDimensionsOfStringBitmap) { + initCocoaBundle(); + } + + VisualString* aString = reinterpret_cast(aVisualString); + VisualStringStyle* aStringStyle = reinterpret_cast(aVisualStringStyle); + const CFStringRef aCFStringRef = aString->getCharactersPointer(); + success = doGetDimensionsOfStringBitmap(aCFStringRef, imageWidth, imageHeight, aStringStyle->fontNameStr, &(aStringStyle->fontSize), aStringStyle->fontColor.red, aStringStyle->fontColor.green, aStringStyle->fontColor.blue, maxPixelWidth, maxPixelHeight, alignment); + + if (!success) { + writeLog("ERR: getDimensionsOfCocoaStringBitmap"); + return false; + } + + return success; +} + + +bool getCocoaStringBitmapData(void* aVisualStyledString, uint32 bitmapWidth, uint32 bitmapHeight, char* alignment, uint32** bitmapData) { + + bool success = true; + + if (!doGetStringBitmapData) { + initCocoaBundle(); + } + + VisualStyledString* aStyledString = reinterpret_cast(aVisualStyledString); + + CFStringRef aCFStringRef = aStyledString->getCharactersPointer(); + VisualStringStyle aStringStyle = aStyledString->getStyle(); + success = doGetStringBitmapData(aCFStringRef, bitmapWidth, bitmapHeight, aStringStyle.fontNameStr, aStringStyle.fontSize, aStringStyle.fontColor.red, aStringStyle.fontColor.green, aStringStyle.fontColor.blue, alignment, bitmapData); + + if (!success) { + writeLog("ERR: getCocoaStringBitmapData"); + } + + return success; +} + + +bool copyARGBBitmapDataToTexture(uint32 textureNumber, uint32 imageWidth, uint32 imageHeight, bool canUseRectExtension, uint32** bitmapData) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + return theVisualGraphics->copyARGBBitmapDataToTexture(textureNumber, imageWidth, imageHeight, canUseRectExtension, const_cast(bitmapData)); +} + + +void logString(const void* aVisualString) { + if (!doLogString) { + initCocoaBundle(); + } + const VisualString* aString = reinterpret_cast(aVisualString); + CFStringRef aCFStringRef = aString->getCharactersPointer(); + doLogString(aCFStringRef); +} + + +const char* getVisualPluginDomainIdentifier() { + return VisualConfiguration::kVisualPluginDomainIdentifier; +} + +#endif diff --git a/src/projectM-iTunes-VizKit/source/VisualDispatch.h b/src/projectM-iTunes-VizKit/source/VisualDispatch.h new file mode 100644 index 0000000000..bbbc31259a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualDispatch.h @@ -0,0 +1,133 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualDispatch.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualDispatch_h +#define VisualDispatch_h + + +#include "VisualTypes.h" + + +/* The dispatcher provides a c-callable interface to the VizKit classes for the Cocoa framework. */ + +#ifdef __cplusplus +extern "C" { +#endif + + + /** + * Adds a pair of label and value to process monitor info array. + * The label-value-pairs of the process monitor info array are printed on canvas. + * @param labelStr The label of the process monitor info text. + * @param valueStr The value of the process monitor info text. + */ + void setProcessInfo(const char* const labelStr, const char* const valueStr); + + /** + * The setProcessInfo calls of VisualMain's HandleRenderMessage. + */ + void monitorRenderMessageProcess(void); + + /** + * The function queries the system and answers whether textures can have non power of 2 dimensions. + * Textures with exact dimensions need less space. + * To stay compatible any callee has to cope with a negative answer. + * @return 1 if graphics system does support rectangular texture extension. 0 otherwise. + */ + uint8 graphicsDoSupportTextureRectExtension(void); + +#if TARGET_OS_MAC + + /** Set function pointers to Cocoa functions. Mac-only. + * To call Cocoa methods from C we have to define pointers to Cocoa methods. + */ + void setRefsToCocoaFunctionCalls(void); + + /** + * The function returns the dimensions (width and height) of a bitmap of a styled string in pixels. + * @param aVisualString The string to measure. + * @param[in,out] aVisualStringStyle The style of the string. + * @param[out] imageWidth Returns the width of the embedded track title font image (measured in pixels). + * @param[out] imageHeight Returns the height of the embedded track title font image (measured in pixels). + * @param maxPixelWidth The requested maximum width of the texture. + * @param maxPixelHeight The requested maximum height of the texture. + * @param alignment The horizontal alignment of the string. + * @return True on success, false on failure. + */ + bool getDimensionsOfCocoaStringBitmap(void* aVisualString, void* aVisualStringStyle, uint32* imageWidth, uint32* imageHeight, uint16 maxPixelWidth, uint16 maxPixelHeight, char* alignment); + + /** + * The function returns the bitmap data of a styled string. + * @param aVisualStyledString The styled string to convert into bitmap. + * @param bitmapWidth The width of the bitmap data (measured in pixels). + * @param bitmapHeight The height of the bitmap data (measured in pixels). + * @param alignment The horizontal alignment of the string. + * @param bitmapData Pointer to a pointer to the allocated bitmap data. + * @return True on success, false on failure. + */ + bool getCocoaStringBitmapData(void* aVisualStyledString, uint32 bitmapWidth, uint32 bitmapHeight, char* alignment, uint32** bitmapData); + + /** + * Copies BGRA bitmap data into a texture. + * @param textureNumber The texture number (texture name) of the texture. + * @param imageWidth The width of the bitmap data. + * @param imageHeight The height of the bitmap data. + * @param canUseRectExtension True if graphics system does support rectangular texture extension. False otherwise. + * @param bitmapData Pointer to pointer to the bitmap data + * @return True on success, false on failure. + */ + bool copyARGBBitmapDataToTexture(uint32 textureNumber, uint32 imageWidth, uint32 imageHeight, bool canUseRectExtension, uint16 format, uint16 dataType, uint32** bitmapData); + + /** + * Prints a VisualString to log. + * @param aVisualString The string that is to be printed. + * @remarks The passed-in file type is set to pointer-to-void to avoid include of VisualString c++ class definition. + */ + void logString(const void* aVisualString); + + /** + * Returns the identifier of the visualizer plug-in (as used on Mac OS X for preferences identification and as CFBundleIdentifier). + * @return The identifier of the visualizer plug-in. + */ + const char* getVisualPluginDomainIdentifier(void); + +#endif + +#ifdef __cplusplus +} +#endif + + +#endif /* VisualDispatch_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp b/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp new file mode 100644 index 0000000000..0759e72d44 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp @@ -0,0 +1,178 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualEnsemble.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualEnsemble.h" +#include "VisualNotification.h" +#include "VisualErrorHandling.h" +#include "VisualActorGraphics.h" + + + +using namespace VizKit; + + +VisualEnsemble::VisualEnsemble() { + visualActorIterIndex = 0; +} + + +VisualEnsemble::~VisualEnsemble() { + + for (VisualEnsembleActorsIterator it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) { + delete *it; + } + + visualEnsembleActors.clear(); + observerMap.clear(); +} + + +VisualEnsemble::VisualEnsemble(const VisualEnsemble& other) { + copy(other); +} + + +VisualEnsemble& VisualEnsemble::operator=(const VisualEnsemble& other) { + + if (this == &other) return *this; + + for (VisualEnsembleActorsIterator it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) { + delete *it; + } + visualEnsembleActors.clear(); + + this->copy(other); + + return *this; +} + + +void VisualEnsemble::copy(const VisualEnsemble& other) { + this->visualActorIterIndex = other.visualActorIterIndex; + this->visualEnsembleActors = other.visualEnsembleActors; + this->observerMap = other.observerMap; +} + + +void VisualEnsemble::showEnsemble(const VisualPlayerState& visualPlayerState) { + uint16 graphicErrorNum; + char graphicErrorString[256]; + VisualEnsembleActorsIterator it; + + for (it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) { + + graphicErrorNum = (*it)->getError(graphicErrorString); + if (graphicErrorNum != 0) { + const char* visualActorName; + char logStr[512]; + visualActorName = (*it)->getName(); + sprintf(logStr, "GL error: showEnsemble: detected before show of Actor: %s: %s", visualActorName, graphicErrorString); + writeLog(logStr); + } + + if ((*it)->getState() == kVisActNoShow) { + continue; + } + + VisualActorGraphics::resetModelViewMatrix(); + + (*it)->show(visualPlayerState); // show + + graphicErrorNum = (*it)->getError(graphicErrorString); + if (graphicErrorNum != 0) { + const char* visualActorName; + char logStr[512]; + visualActorName = (*it)->getName(); + sprintf(logStr, "GL error: showEnsemble: detected after show of Actor: %s: %s", visualActorName, graphicErrorString); + writeLog(logStr); + } + + } + +} + + +void VisualEnsemble::addEnsembleMember(VisualActor* aVisualActor) { + this->visualEnsembleActors.push_back(aVisualActor); +} + + +void VisualEnsemble::registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + this->observerMap.insert(std::make_pair(aNotificationKey, aVisualActor)); +} + + +void VisualEnsemble::removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + const char* firstName; + const char* secondName; + + firstName = aVisualActor->getName(); + + ObserverMapIterator it = this->observerMap.lower_bound(aNotificationKey); + while (it != this->observerMap.upper_bound(aNotificationKey)) { + secondName = it->second->getName(); + if (strcmp(firstName, secondName) == 0) { + delete it->second; + this->observerMap.erase(it++); // increment iterator, then call erase with old iterator + // after erase, accessing iterator (for increment) is invalid + } else { + it++; + } + } +} + + +void VisualEnsemble::dispatchNotification(VisualNotification& aNotification) { + ObserverMapIterator it; + VisualNotificationKey aNotificationKey = aNotification.getKey(); + + it = this->observerMap.find(aNotificationKey); + if (it == this->observerMap.end()) return; + + for (it = this->observerMap.lower_bound(aNotificationKey); it != this->observerMap.upper_bound(aNotificationKey); it++) { + it->second->handleNotification(aNotification); + } +} + + +VisualActor* VisualEnsemble::getVisualActorByName(const char* const aVisualActorName) { + for (VisualEnsembleActorsIterator it = visualEnsembleActors.begin(); it != visualEnsembleActors.end(); it++) { + if (strcmp((*it)->getName(), aVisualActorName) == 0) { + return (*it); + } + } + return NULL; +} + diff --git a/src/projectM-iTunes-VizKit/source/VisualEnsemble.h b/src/projectM-iTunes-VizKit/source/VisualEnsemble.h new file mode 100644 index 0000000000..d51e890ab7 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualEnsemble.h @@ -0,0 +1,156 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualEnsemble.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualEnsemble_h +#define VisualEnsemble_h + +#include "VisualTypes.h" +#include "VisualActor.h" +#include "VisualNotificationKey.h" + +#include +#include + + +namespace VizKit { + + /** + * The VisualEnsemble is a group of all actors. The one and only VisualEnsemble of VizKit is owned by the VisualStageControl. + * With its main method showEnsemble(), the VisualEnsemble calls each VisualActor to show(). The VisualEnsemble also passes VisualNotifications to VisualActors that are registered as observers. + */ + + class VisualEnsemble { + + public: + + /** + * The constructor. + */ + VisualEnsemble(); + + /** + * The destructor. + */ + ~VisualEnsemble(); + + /** + * Copy constructor. + */ + VisualEnsemble(const VisualEnsemble& other); + + /** + * Assignment operator. + */ + VisualEnsemble& operator=(const VisualEnsemble& other); + + /** + * Shows the show of the ensemble. + * The show method of all active actors is called. + * @param visualPlayerState Read-only access to the VisualPlayerState. + * @return 0 for no error. 1 if error occured. + */ + void showEnsemble(const VisualPlayerState& visualPlayerState); + + /** + * Adds a VisualActor to the VisualEnsemble. + * @param aVisualActor A pointer to a VisualActor. + * @remarks VisualEnsemble stores the pointer to the VisualActor and deletes the memory when VisualEnsemble is destructed. + */ + void addEnsembleMember(VisualActor* aVisualActor); + + /** + * Registers a VisualActor for a specific notification (event/message). + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + void registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + /** + * Removes a VisualActor from the list of observers for a specific notification (event/message). + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + void removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + /** + * The VisualEnsemble receives notifications that are passed to the actors of the ensemble. + * Notifications ensure loose connections between external processes and the VisualEnsemble. + * External processes can package and send a notification to the VisualEnsemble. + * The VisualEnsemble processes the notification and each registered actor receives the notification (event/message). + * @param aNotification A notification object. + */ + void dispatchNotification(VisualNotification& aNotification); + + /** + * Returns a pointer to a VisualActor whose name is aVisualActorName. + * @param aVisualActorName The name of the visual actor. + * @return A pointer to a VisualActor whose name is aVisualActorName or NULL if none is found. + */ + VisualActor* getVisualActorByName(const char* const aVisualActorName); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualEnsemble. + */ + void copy(const VisualEnsemble& other); + + /** Current index of internal iterator. */ + uint16 visualActorIterIndex; + + /** VisualEnsembleActors are collected as a vector of pointers to VisualActors. */ + typedef std::vector VisualEnsembleActors; + + /** Vector of all actors of the ensemble. */ + VisualEnsembleActors visualEnsembleActors; + + /** The VisualEnsembleActorsIterator is an iterator of the VisualEnsembleActors. */ + typedef VisualEnsembleActors::iterator VisualEnsembleActorsIterator; + + /** The ObserverMap is a multimap of notifications (event types) and actors. */ + typedef std::multimap ObserverMap; + + /** Multimap of all actors of the ensemble that are registered as observers. */ + ObserverMap observerMap; + + /** The ObserverMapIterator is an iterator of the ObserverMap. */ + typedef ObserverMap::iterator ObserverMapIterator; + + }; + +} + +#endif /* VisualEnsemble_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualFile.cpp b/src/projectM-iTunes-VizKit/source/VisualFile.cpp new file mode 100644 index 0000000000..d15bd73182 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualFile.cpp @@ -0,0 +1,684 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualFile.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualFile.h" +#include "VisualString.h" +#include "VisualErrorHandling.h" +#include "VisualConfiguration.h" + +#if TARGET_OS_MAC +#include // FSFindFolder +#endif + +#if TARGET_OS_WIN +#include // SHGetSpecialFolderPathW +//#include // _access +#endif + + +using namespace VizKit; + + +VisualFile::VisualFile() { + knownWhetherFileOrDirectoryExists = true; + doesExistBool = false; + isDirectory = false; +#if TARGET_OS_MAC + currForkRefNum = 0; +#endif +#if TARGET_OS_WIN + filePathWin[0] = L'\0'; + currHandle = NULL; +#endif +} + + +VisualFile::~VisualFile() { + this->clear(); +} + + +VisualFile::VisualFile(const VisualFile& other) : VisualObject(other) { + copy(other); +} + + +VisualFile& VisualFile::operator=(const VisualFile& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + this->clear(); + + this->copy(other); + + return *this; +} + + +bool VisualFile::initWithDirectoryOfTemporaryItems() { + + bool success = true; + + this->clear(); + +#if TARGET_OS_MAC + OSErr osErr = FSFindFolder(kUserDomain, kTemporaryFolderType, kCreateFolder, &(this->fsRef)); // ~/Library/Caches/TemporaryItems/ + if (osErr != noErr) { + success = false; + } +#endif + +#if TARGET_OS_WIN + BOOL createFolderIfNotAlreadyThere = true; + HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)filePathWin, CSIDL_INTERNET_CACHE, createFolderIfNotAlreadyThere); + if (!hr) { + success = false; + } +#endif + + isDirectory = true; + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + + return success; +} + + +bool VisualFile::initWithUserDesktopDirectory() { + + bool success = true; + + this->clear(); + +#if TARGET_OS_MAC + OSErr osErr = FSFindFolder(kUserDomain, kDesktopFolderType, kCreateFolder, &(this->fsRef)); + if (osErr != noErr) { + success = false; + } +#endif + +#if TARGET_OS_WIN + BOOL createFolderIfNotAlreadyThere = true; + HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)this->filePathWin, CSIDL_DESKTOPDIRECTORY, createFolderIfNotAlreadyThere); + if (!hr) { + success = false; + } +#endif + + isDirectory = true; + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + + return success; +} + + +bool VisualFile::initWithPreferenceStoreDirectory() { + + bool success = true; + + this->clear(); + +#if TARGET_OS_MAC + OSErr osErr = FSFindFolder(kUserDomain, kPreferencesFolderType, kCreateFolder, &(this->fsRef)); + if (osErr != noErr) { + return false; + } +#endif + +#if TARGET_OS_WIN + BOOL createFolderIfNotAlreadyThere = true; + HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)this->filePathWin, CSIDL_APPDATA, createFolderIfNotAlreadyThere); + if (!hr) { + return false; + } +#endif + + isDirectory = true; + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + + return success; +} + + +#if TARGET_OS_MAC +bool VisualFile::initWithResourcesDirectory() { + + bool success = true; + + this->clear(); + + CFStringRef pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingASCII); + CFBundleRef bundleRef = CFBundleGetBundleWithIdentifier(pluginName); + if (!bundleRef) { + return false; + } + CFURLRef resourcesDirectoryUrlRef = CFBundleCopyResourcesDirectoryURL(bundleRef); + if (!resourcesDirectoryUrlRef) { + return false; + } + + FSRef newFsRef; + Boolean CFURLGetFSRefSuccess = CFURLGetFSRef(resourcesDirectoryUrlRef, &newFsRef); + if (!CFURLGetFSRefSuccess) { + CFRelease(resourcesDirectoryUrlRef); + return false; + } else { + this->fsRef = newFsRef; + } + + CFRelease(resourcesDirectoryUrlRef); + + isDirectory = true; + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + + return success; +} +#endif + + +VisualFile* VisualFile::clone(void) const { + return new VisualFile(*this); +} + + +bool VisualFile::appendFileName(VisualString& aFileName) { + + bool success = false; + +#if TARGET_OS_MAC + OSStatus osStatus = noErr; + Boolean isDir = false; + CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &(this->fsRef)); + CFURLRef urlWithFileName = CFURLCreateCopyAppendingPathComponent(kCFAllocatorDefault, url, aFileName.getCharactersPointer(), isDir); + CFRelease(url); + FSRef newFsRef; + Boolean CFURLGetFSRefSuccess = CFURLGetFSRef(urlWithFileName, &newFsRef); + if (!CFURLGetFSRefSuccess) { + // FSRef can only be set for existing files or directories + + CFIndex fileNameLength = CFStringGetLength(aFileName.getCharactersPointer()); + const uint16* fileNameConstChars = CFStringGetCharactersPtr(aFileName.getCharactersPointer()); + uint16* fileNameChars = NULL; + if (fileNameConstChars == NULL) { + fileNameChars = (uint16*)malloc(fileNameLength * sizeof(uint16)); + CFStringGetCharacters(aFileName.getCharactersPointer(), CFRangeMake(0, fileNameLength), fileNameChars); + } + + FSCatalogInfoBitmap whichInfo = (FSCatalogInfoBitmap)NULL; + const FSCatalogInfo* catalogInfo = NULL; + FSSpec newSpec; + OSErr osErr = noErr; + + FSRef prevFsRef = this->fsRef; + if (fileNameConstChars == NULL) { + osErr = FSCreateFileUnicode(&prevFsRef, fileNameLength, fileNameChars, whichInfo, catalogInfo, &(this->fsRef), &newSpec); + } else { + osErr = FSCreateFileUnicode(&prevFsRef, fileNameLength, fileNameConstChars, whichInfo, catalogInfo, &(this->fsRef), &newSpec); + } + if (osErr != noErr) { + osStatus = 1000; + } + + if (fileNameChars != NULL) { + free(fileNameChars); + fileNameChars = NULL; + } + + } else { + this->fsRef = newFsRef; + } + + CFRelease(urlWithFileName); + + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + + if (osStatus == noErr) + { + success = true; + } + +#endif + +#if TARGET_OS_WIN + wchar_t backslash[2]; + backslash[0] = 0x5c; + backslash[1] = L'\0'; + wcscat(this->filePathWin, backslash); + wcscat(this->filePathWin, aFileName.getCharactersPointer()); + knownWhetherFileOrDirectoryExists = false; + doesExistBool = false; + success = true; +#endif + + this->isDirectory = false; + + return success; + +} + + +bool VisualFile::open() { + bool success = false; +#if TARGET_OS_MAC + OSErr osErr = FSOpenFork(&(this->fsRef), 0, NULL, fsWrDenyPerm, &(this->currForkRefNum)); + if (osErr == noErr) { + success = true; + } +#endif +#if TARGET_OS_WIN + DWORD dwDesiredAccess = GENERIC_READ; + DWORD dwShareMode = FILE_SHARE_READ; + LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL; + DWORD dwCreationDisposition = OPEN_ALWAYS; // open the file if it exists, else create new one + DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; + HANDLE hTemplateFile = NULL; + this->currHandle = CreateFileW((LPCWSTR)this->filePathWin, + dwDesiredAccess, + dwShareMode, + lpSecurityAttributes, + dwCreationDisposition, + dwFlagsAndAttributes, + hTemplateFile); + if (this->currHandle != INVALID_HANDLE_VALUE) { + knownWhetherFileOrDirectoryExists = true; + doesExistBool = true; + success = true; + } +#endif + return success; +} + + +bool VisualFile::close() { + bool success = false; +#if TARGET_OS_MAC + OSErr osErr = FSCloseFork(this->currForkRefNum); + this->currForkRefNum = 0; + if (osErr == noErr) { + success = true; + } +#endif +#if TARGET_OS_WIN + BOOL closeHandleSuccess = CloseHandle(this->currHandle); + if (closeHandleSuccess) { + success = true; + } +#endif + return success; +} + + +bool VisualFile::getData(void** dataOut, size_t& size) { + + bool success = true; + + bool debug = false; + char logStr[2048]; + + if (debug == true) { + writeLog("getData() start"); + } + + success = this->open(); + if (!success) { + return success; + } + if (debug == true) { + writeLog("aFile.open()"); + } + + uint32 numberOfBytesToReadPerFill = 0; + // some small optimization + size = 0; + success = this->getSize(size); + if (!success) { + success = false; + } else { + if (size > 4096) { + numberOfBytesToReadPerFill = 4096; + } else { + numberOfBytesToReadPerFill = 512; + } + } + if (!success) { + size = 0; + return success; + } + bool readOn = true; + uint32 actualCount = 0; + uint32 offset = 0; + uint32 numberOfBufferFills = (size / numberOfBytesToReadPerFill) + 1; + uint16 bufferFillCount = 0; + uint32 numberOfBytesRead = 0; + char* buffer = (char*)malloc(numberOfBytesToReadPerFill * numberOfBufferFills); + char* bufferStart = buffer; + sint8 readDataValue = 0; + while (readOn == true) { + actualCount = numberOfBytesToReadPerFill; + readDataValue = this->readData(buffer, actualCount, offset); + bufferFillCount++; + if (readDataValue != 1) { + readOn = false; + if (readDataValue == -1) { + if (debug == true) { + writeLog("OK: readData: eofErr"); + } + } else { + writeLog("ERR: readData"); + success = false; + } + } else { + offset += actualCount; + buffer = buffer + actualCount; + if (debug == true) { + sprintf(logStr, "OK: readData (cnt: %d, totalBytes: %d, req: %d, read: %d)", bufferFillCount, numberOfBytesRead, numberOfBytesToReadPerFill, actualCount); + writeLog(logStr); + + } + } + numberOfBytesRead += actualCount; + if (debug == true) { + printf("----------------------\n"); + printf("BUFFER:\n%s\n", bufferStart); + printf("----------------------\n"); + } + } + + success = this->close(); + if (debug == true) { + writeLog("aFile.close()"); + } + + *dataOut = (void*)bufferStart; + size = numberOfBytesRead; + + return success; + +} + + +sint8 VisualFile::readData(char* buffer, uint32& numberOfbytes, uint32 startOffset) { + sint8 retVal = 0; +#if TARGET_OS_MAC + ByteCount numberOfbytesRequested = static_cast(numberOfbytes); + //osErr = FSReadFork(this->currForkRefNum, fsFromStart, startOffset, numberOfbytesRequested, buffer, static_cast(&numberOfbytes)); + OSErr osErr = FSReadFork(this->currForkRefNum, fsFromStart, startOffset, numberOfbytesRequested, buffer, reinterpret_cast(&numberOfbytes)); + if (osErr == noErr) { + retVal = 1; + } else if (osErr == eofErr) { + retVal = -1; // eof + } +#endif +#if TARGET_OS_WIN + DWORD nNumberOfBytesToRead = numberOfbytes; + LPOVERLAPPED lpOverlapped = NULL; + DWORD numOfBytes = 0; + BOOL success = ReadFile(this->currHandle, buffer, nNumberOfBytesToRead, &numOfBytes, lpOverlapped); + if (success) { + numberOfbytes = static_cast(numOfBytes); + if (numberOfbytes == 0) { + retVal = -1; // eof + } else { + retVal = 1; + } + } +#endif + return retVal; +} + + +bool VisualFile::remove() { + bool success = true; +#if TARGET_OS_MAC + OSErr osErr = FSDeleteObject(&(this->fsRef)); + if (osErr != noErr) { + success = false; + } +#endif +#if TARGET_OS_WIN + return false; // todo +#endif + knownWhetherFileOrDirectoryExists = true; + doesExistBool = false; + return success; +} + +/* + bool VisualFile::doesExist(void) { + #if TARGET_OS_WIN + if (this->knownWhetherFileOrDirectoryExists == false) { + this->doesExistBool = + test test + + this->knownWhetherFileOrDirectoryExists = true; + } + #endif + return this->doesExistBool; + } + */ + +void VisualFile::getFilePath(VisualString& filePath) const { +#if TARGET_OS_MAC + CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &(this->fsRef)); + CFStringRef cfString = NULL; + if (url != NULL) { + cfString = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); + CFRelease(url); + } + if (cfString != NULL) { + filePath = VisualString(cfString); + CFRelease(cfString); + } +#endif +#if TARGET_OS_WIN + if (wcslen(filePathWin) > 0) { + filePath = VisualString(this->filePathWin); + } +#endif +} + + +bool VisualFile::getSize(size_t& size) const { + bool success = false; + size = 0; +#if TARGET_OS_MAC + FSCatalogInfo info; + OSErr osErr = FSGetCatalogInfo(&(this->fsRef), kFSCatInfoDataSizes, &info, NULL, NULL, NULL); + if (osErr == noErr) { + size = (size_t)(info.dataLogicalSize); // UInt64 + success = true; + } +#endif +#if TARGET_OS_WIN + DWORD dwDesiredAccess = GENERIC_READ; + DWORD dwShareMode = FILE_SHARE_READ; + LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL; + DWORD dwCreationDisposition = OPEN_ALWAYS; // open the file if it exists, else create new one + DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; + HANDLE hTemplateFile = NULL; + HANDLE fileHandle = CreateFileW((LPCWSTR)this->filePathWin, + dwDesiredAccess, + dwShareMode, + lpSecurityAttributes, + dwCreationDisposition, + dwFlagsAndAttributes, + hTemplateFile); + if (fileHandle != INVALID_HANDLE_VALUE) { + LARGE_INTEGER sizeUInt64; + BOOL GetFileSizeExSuccess = GetFileSizeEx(fileHandle, &sizeUInt64); + CloseHandle(fileHandle); + if (GetFileSizeExSuccess) { + size = (size_t)sizeUInt64.QuadPart; + success = true; + } + } +#endif + + return success; +} + + +VisualFile* VisualFile::createWithDirectoryOfTemporaryItems() { + VisualFile* aVisualFile = new VisualFile; + bool success = aVisualFile->initWithDirectoryOfTemporaryItems(); + if (!success) { + delete aVisualFile; + aVisualFile = NULL; + } + return aVisualFile; +} + + +VisualFile* VisualFile::createWithUserDesktopDirectory() { + VisualFile* aVisualFile = new VisualFile; + bool success = aVisualFile->initWithUserDesktopDirectory(); + if (!success) { + delete aVisualFile; + aVisualFile = NULL; + } + return aVisualFile; +} + + +VisualFile* VisualFile::createWithPreferenceStoreDirectory() { + VisualFile* aVisualFile = new VisualFile; + bool success = aVisualFile->initWithPreferenceStoreDirectory(); + if (!success) { + delete aVisualFile; + aVisualFile = NULL; + } + return aVisualFile; +} + + +#if TARGET_OS_MAC +VisualFile* VisualFile::createWithResourcesDirectory() { + VisualFile* aVisualFile = new VisualFile; + bool success = aVisualFile->initWithResourcesDirectory(); + if (!success) { + delete aVisualFile; + aVisualFile = NULL; + } + return aVisualFile; +} +#endif + + +void VisualFile::copy(const VisualFile& other) { + this->doesExistBool = other.doesExistBool; + this->knownWhetherFileOrDirectoryExists = other.knownWhetherFileOrDirectoryExists; + this->isDirectory = other.isDirectory; +#if TARGET_OS_MAC + this->fsRef = other.fsRef; + this->currForkRefNum = other.currForkRefNum; +#endif +#if TARGET_OS_WIN + this->currHandle = other.currHandle; +#endif +#if TARGET_OS_WIN + wcscpy(this->filePathWin, other.filePathWin); +#endif +} + + +void VisualFile::clear() { +#if TARGET_OS_MAC + this->currForkRefNum = 0; +#endif +#if TARGET_OS_WIN + this->currHandle = NULL; +#endif + this->knownWhetherFileOrDirectoryExists = true; + this->doesExistBool = false; + this->isDirectory = false; +} + + +#if TARGET_OS_WIN +bool VisualFile::getDataOfResource(int nameId, char* type, void** data, uint32& size) { + + bool success = true; + + HRSRC resInfoHandle; + HGLOBAL resHandle; + HMODULE plugInHandle; + char pluginFileName[256]; + + sprintf(pluginFileName, "%s.dll", VisualConfiguration::visualizerPluginIdentifierName); + plugInHandle = GetModuleHandle(pluginFileName); + if (plugInHandle == NULL) { + writeLog("pluginHandle is NULL"); + return false; + } + resInfoHandle = FindResource(plugInHandle, MAKEINTRESOURCE(nameId), type); + if (resInfoHandle == NULL) { + writeLog("resInfoHandle is NULL"); + return false; + } + resHandle = LoadResource(plugInHandle, resInfoHandle); + *data = LockResource(resHandle); + size = SizeofResource(plugInHandle, resInfoHandle); + + return success; +} +#endif + + +bool VisualFile::writeDataToFile(void** data, uint32 size, VisualFile& aFile) { + bool success = true; + VisualString filePathString; + aFile.getFilePath(filePathString); + const char* const filePathCString = filePathString.getUtf8Representation(); +#if TARGET_OS_WIN + FILE* file; + fopen_s(&file, filePathCString, "w+b"); + int bytesWritten = 0; + bytesWritten = fwrite(*data, sizeof(char), size, file); + fclose(file); +#endif +#if TARGET_OS_MAC + FILE* file = fopen(filePathCString, "w+b"); + size_t bytesWritten = 0; + bytesWritten = fwrite(*data, sizeof(char), size, file); + fclose(file); +#endif + return success; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualFile.h b/src/projectM-iTunes-VizKit/source/VisualFile.h new file mode 100644 index 0000000000..7bd14bc882 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualFile.h @@ -0,0 +1,269 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualFile.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualFile_h +#define VisualFile_h + + +#include "VisualTypes.h" +#include "VisualString.h" + +#if TARGET_OS_MAC +#include // FSRef +#endif + + +#if TARGET_OS_WIN +#include +#endif + + +#include "VisualObject.h" + + +namespace VizKit { + + /** + * Path information of file or directory and related operations. + */ + class VisualFile : public VisualObject { + + public: + + /** + * The constructor. + */ + VisualFile(); + + /** + * The destructor. + */ + ~VisualFile(); + + /** + * Copy constructor. + * @param other Reference to another VisualFile. + */ + VisualFile(const VisualFile& other); + + /** + * Assignment operator. + * @param other Reference to another VisualFile. + */ + VisualFile& operator=(const VisualFile& other); + + /** + * Initializes the file with the directory of temporary items. + * @return True on success, false on failure. + */ + bool initWithDirectoryOfTemporaryItems(void); + + /** + * Initializes the file with the destop directory of the current user. + * @return True on success, false on failure. + */ + bool initWithUserDesktopDirectory(void); + + /** + * Initializes the file with the directory where the preferences are stored. + * @return True on success, false on failure. + */ + bool initWithPreferenceStoreDirectory(void); + +#if TARGET_OS_MAC + /** + * Initializes the file with the directory where the resources are stored. Mac-only. + * @return True on success, false on failure. + */ + bool initWithResourcesDirectory(void); +#endif + + /** + * Copies the current VisualFile and returns a pointer to a new VisualFile. + */ + virtual VisualFile* clone(void) const; + + /** + * Appends a file name to the VisualFile. + * @param aFileName A file name. + * @return True on success, false on failure. + */ + bool appendFileName(VisualString& aFileName); + + /** + * Opens the file for write access. + * @return True on success, false on failure. + */ + bool open(void); + + /** + * Closes the file. + * @return True on success, false on failure. + * @remarks The file must have been opened first. + */ + bool close(void); + + /** + * Returns the data of the file. + * @param[out] data A pointer to a pointer to the data of the file. + * @param[out] size The size of the read data in bytes. + * @return True on success, false on failure. + * @remarks The memory has to be deallocated on the caller's side by calling free() on the returned buffer. + */ + bool getData(void** data, size_t& size); + + /** + * Deletes the file. + * @return True on success, false on failure. + * @remarks Named remove instead of delete only because delete is a keyword for c++. + */ + bool remove(void); + + //bool doesExist(void); + + /** + * Returns the file path as VisualString. + * @param[out] filePath The file path as VisualString. + */ + void getFilePath(VisualString& filePath) const; + + /** + * Returns the size of the file in bytes. + * @param[out] size The size of the file in bytes. + * @return True on success, false on failure. + */ + bool getSize(size_t& size) const; + + /** + * Creates a file with the directory of temporary items. + * @return Created instance of VisualFile. + * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer. + */ + static VisualFile* createWithDirectoryOfTemporaryItems(void); + + /** + * Creates a file with the destop directory of the current user. + * @return Created instance of VisualFile. + * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer. + */ + static VisualFile* createWithUserDesktopDirectory(void); + + /** + * Creates a file with the directory into which the preferences are stored. + * @return Created instance of VisualFile. + * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer. + */ + static VisualFile* createWithPreferenceStoreDirectory(void); + +#if TARGET_OS_MAC + /** + * Creates a file with the directory where the resources are stored. + * @return Created instance of VisualFile. + * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer. Mac-only. + */ + static VisualFile* createWithResourcesDirectory(void); +#endif + +#if TARGET_OS_WIN + /** + * Returns a pointer to the data of a resource. + * @param nameId The integer id of the name of the resource. + * @param type The type of the resource as c-string. + * @param[out] data Pointer to pointer of the data. + * @param[out] size The size of the data memory block in bytes. + * @return True on success, false on failure. + * @remarks Windows-only. On the Mac resources are stores are regular files in Resurces directory of bundle. + */ + static bool getDataOfResource(int nameId, char* type, void** data, uint32& size); +#endif + + /** + * Writes the passed in data bytes into a file. + * @param data A pointer to a pointer to the data to write into file. + * @param size The number of bytes of the data. + * @param aFile The file into which to write the data. + * @return True on success, false on failure. + */ + static bool writeDataToFile(void** data, uint32 size, VisualFile& aFile); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualImage. + */ + void copy(const VisualFile& other); + + /** Resets internally used variables and releases allocated memory. */ + void clear(void); + +#if TARGET_OS_MAC + /** The FSRef of the VisualFile. */ + FSRef fsRef; + /** Current forkRefNum used for reading and closing operations. */ + SInt16 currForkRefNum; +#endif + +#if TARGET_OS_WIN + /** The file path information of the VisualFile. */ + wchar_t filePathWin[1024]; + /** Current file handle used for reading and closing operations. */ + HANDLE currHandle; +#endif + + /** True if VisualFile denotes a directory. False if VisualFile denotes a file. */ + bool isDirectory; + + /** True if it is known whethere a file or directory at the location of the VisualFile exists. False if not known. */ + bool knownWhetherFileOrDirectoryExists; + + /** True if a file or directory at the location of the VisualFile exists. False if not. */ + bool doesExistBool; + + /** + * Reads data from the file. + * @param[in,out] buffer The buffer into which the data is to be written. + * @param[in,out] numberOfbytes The number of bytes requested. The actual number of bytes written on return. + * @param startOffset The offset from where reading is supposed to begin. + * @return 1 if still data available, 0 on error, -1 on eof. + * @remarks The buffer memory has to be allocated on the caller's side. + */ + sint8 readData(char* buffer, uint32& numberOfbytes, uint32 startOffset = 0); + + }; + +} + +#endif /* VisualImage_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp new file mode 100644 index 0000000000..8771355187 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp @@ -0,0 +1,85 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphicTypes.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualGraphicTypes.h" + +#if TARGET_OS_MAC +#include +#endif + +#if TARGET_OS_WIN +#include // OpenGL types +#include +#include +#include "win/wglext.h" +#include "win/glext.h" +#endif + + + +const int VizKit::kGL_POINTS = GL_POINTS; +const int VizKit::kGL_LINES = GL_LINES; +const int VizKit::kGL_LINE_STRIP = GL_LINE_STRIP; +const int VizKit::kGL_LINE_LOOP = GL_LINE_LOOP; +const int VizKit::kGL_TRIANGLES = GL_TRIANGLES; +const int VizKit::kGL_TRIANGLE_STRIP = GL_TRIANGLE_STRIP; +const int VizKit::kGL_TRIANGLE_FAN = GL_TRIANGLE_FAN; +const int VizKit::kGL_QUADS = GL_QUADS; +const int VizKit::kGL_QUAD_STRIP = GL_QUAD_STRIP; +const int VizKit::kGL_POLYGON = GL_POLYGON; + +const int VizKit::kGL_RGBA = GL_RGBA; +const int VizKit::kGL_BGRA = GL_BGRA_EXT; +const int VizKit::kGL_RGB = GL_RGB; +const int VizKit::kGL_LUMINANCE = GL_LUMINANCE; +const int VizKit::kGL_LUMINANCE_WITH_ALPHA = GL_LUMINANCE_ALPHA; +const int VizKit::kGL_INTENSITY = GL_INTENSITY; + +const int VizKit::kGL_UNSIGNED_BYTE = GL_UNSIGNED_BYTE; +const int VizKit::kGL_FLOAT = GL_FLOAT; +const int VizKit::kGL_UNSIGNED_INT_8_8_8_8_REV = GL_UNSIGNED_INT_8_8_8_8_REV; +const int VizKit::kGL_UNSIGNED_INT_8_8_8_8 = GL_UNSIGNED_INT_8_8_8_8; + +const int VizKit::kGL_FRONT_COLOR_BUFFER = GL_FRONT; +const int VizKit::kGL_BACK_COLOR_BUFFER = GL_BACK; + +const VizKit::VertexColor VizKit::black = {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0}; +const VizKit::VertexColor VizKit::white = {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}; +const VizKit::VertexColor VizKit::red = {1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0}; +const VizKit::VertexColor VizKit::green = {0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0}; +const VizKit::VertexColor VizKit::blue = {0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0}; +const VizKit::VertexColor VizKit::transparent = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; + +const VizKit::Coord VizKit::zeroCoord = {0.0, 0.0, 0.0}; diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h new file mode 100644 index 0000000000..8a09d81dca --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h @@ -0,0 +1,445 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphicTypes.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualGraphicTypes_h +#define VisualGraphicTypes_h + + +#include "VisualTypes.h" +#include + + +/* The common graphics related types used by VisualGraphics and VisualActorGraphics. */ + +namespace VizKit { + + class VisualVertex; // Forward declaration (to avoid include of header file). + + /** + * A pixel color contains ARGB values (alpha, red, green, blue with 8 bits for each color channel). + */ + typedef uint32 PixelColor; + + /** + * A Point2D is a position in 2-dimensional planar space. + */ + typedef struct { + double x; /**< Horizontal position. */ + double y; /**< Vertical position. */ + } Point2D; + + /** + * A pixel is a two-dimensional point relative to physical coordinate system. + */ + typedef struct { + uint32 x; /**< Horizontal position. */ + uint32 y; /**< Vertical position. */ + } Pixel; + + /** + * A colored pixel is a pixel with a color value. + */ + typedef struct { + PixelColor color; /**< Color value of the pixel. */ + uint32 x; /**< Horizontal position. */ + uint32 y; /**< Vertical position. */ + } ColoredPixel; + + /** + * A Point3D is a position in 3-dimensional space. + */ + typedef struct { + double x; /**< Horizontal position. */ + double y; /**< Vertical position. */ + double z; /**< Depth position. */ + } Point3D; + + /** + * A Coord is a three-dimensional point relative to logical coordinate system. + */ + typedef Point3D Coord; + + /** + * A RelCoord is a relative three-dimensional point in coordinate system. + * x: 0.0 means: left, 1.0 means: right; y: 0.0 means: bottom, 1.0 means: top; z: 0.0 means: front, 1.0 means: back. + */ + typedef Point3D RelCoord; + + /** + * Predefined zero coord (x = 0.0 and y = 0.0). + */ + extern const Coord zeroCoord; + + /** + * A Vector points in a direction. + */ + typedef Point3D Vector; + + /** + * A TexCoord is a coord position of a texture. + */ + typedef struct { + double s; /**< Horizontal position. */ + double t; /**< Vertical position. */ + } TexCoord; + + /** + * A RelTexCoord is a coord position of a texture. + * s: 0.0 means: left, 1.0 means: right; t: 0.0 means: bottom, 1.0 means: top. + */ + typedef TexCoord RelTexCoord; + + /** + * A two-dimensional size relative to logical coordinate system. + */ + typedef struct { + double width; /**< Horizontal size. */ + double height; /**< Vertical size. */ + } CoordSize2D; + + /** + * A three-dimensional size relative to logical coordinate system. + */ + typedef struct { + double width; /**< Horizontal size. */ + double height; /**< Vertical size. */ + double depth; /**< Size in z-dimension. */ + } CoordSize3D; + + /** + * A two-dimensional size relative to physical coordinate system. + */ + typedef struct { + uint32 width; /**< Horizontal size. */ + uint32 height; /**< Vertical size. */ + } PixelRect; + + /** + * A rectangle. + */ + typedef struct { + PixelRect pixelRect; /**< The size of the rectangle in pixels. */ + CoordSize2D coordSize; /**< The size of the rectangle in coord dimensions. */ + } Rect; + + /** + * A positioned rectangle, measured in pixels. Origin at top-left. + */ + typedef struct { + PixelRect pixelRect; /**< The size of the rectangle in pixels. */ + Pixel topLeftPixel; /**< The top-left pixel of the positioned rect. */ + } TopLeftPositionedPixelRect; + + /** + * A positioned rectangle, measured in pixels. Origin at bottom-left. + */ + typedef struct { + PixelRect pixelRect; /**< The size of the rectangle in pixels. */ + Pixel bottomLeftPixel; /**< The bottom-left pixel of the positioned rect. */ + } BottomLeftPositionedPixelRect; + + /** + * A positioned rectangle, measured in coords. Origin at bottom-left. + */ + typedef struct { + CoordSize2D coordSize; /**< The size of the rectangle in coords. */ + Coord bottomLeftCoord; /**< The top-left coord of the positioned rect. */ + } PositionedCoordRect; + + /** + * Orientation. + */ + typedef enum { + kPortrait = 0, + kLandscape, + kSquare + } Orientation; + + /** + * A relational rectangle is determined by aspect ratio of width and height and orientation. No absolute are given. + */ + typedef struct { + Orientation orientation; /**< The orientation of the rectangle. */ + double aspectRatio; /**< The aspect ratio (being > 1). */ + } RelationalRect; + + /** + * A box. + */ + typedef struct { + CoordSize3D coordSize; /**< The size of the box in coord dimensions. */ + } Box; + + /** + * A positioned box. Origin at bottom-left-front. + */ + typedef struct { + CoordSize3D coordSize; /**< The size of the rectangle in coord dimensions. */ + Coord bottomLeftFrontCoord; /**< The top-left-front coord of the positioned box. */ + } PositionedBox; + + /** + * ScalingBehaviourEnumValues enumerate the possible bit flag values of a ScalingBehaviour. + */ + enum ScalingBehaviourEnumValues { + kNoScaling = 0x1, // 00000001 + kScalingAllowed = 0x2, // 00000010 + kPreserveAspectRatio = 0x6, // 00000110 + kNonproportional = 0xA, // 00001010 + kClippingAllowed = 0x10 // 00010000 + }; + + /** + * ScalingBehaviour is the data type for specifying the scaling behaviour of a texture in combination with margins + */ + typedef uint32 ScalingBehaviour; + + /** + * Visibility specifies the visibility. Two states are possible: visible and invisible. + */ + typedef enum { + kVisible = 0, + kInvisible + } Visibility; + + /** + * ProjectionMode specifies orthographic or perspective projection. + */ + typedef enum { + kOrthographic = 0, + kPerspective + } ProjectionMode; + + /** + * Symbolic names for arbitrary positions in 3-dimensional space. + */ + typedef enum { + kTopLeft = 0, + kBottomLeft, + kBottomRight, + kTopRight + } SpacePosition; + + /** + * Stores the values of a composite color of red, green, blue and alpha. + */ + typedef struct { + double red; /**< Red value. Backing store. Value does not change except if it is set explicitely exernally. 0.0f .. 1.0f. */ + double green; /**< Green value. Backing store. Value does not change except if it is set explicitely exernally. 0.0f .. 1.0f. */ + double blue; /**< Blue value. Backing store. Value does not change except if it is set explicitely exernally. 0.0f .. 1.0f. */ + double alpha; /**< Alpha value. Backing store. Value does not change except if it is set explicitely exernally. 0.0f .. 1.0f. */ + double r; /**< Red value. 0.0f .. 1.0f. */ + double g; /**< Green value. 0.0f .. 1.0f. */ + double b; /**< Blue value. 0.0f .. 1.0f. */ + double a; /**< Alpha value. 0.0f .. 1.0f. */ + } RGBAColor; + + /** + * Stores the color values used by a vertex. + */ + typedef RGBAColor VertexColor; + + /** + * Predefined black color. + */ + extern const VertexColor black; + + /** + * Predefined white color. + */ + extern const VertexColor white; + + /** + * Predefined red color. + */ + extern const VertexColor red; + + /** + * Predefined green color. + */ + extern const VertexColor green; + + /** + * Predefined blue color. + */ + extern const VertexColor blue; + + /** + * Predefined transparent color. + */ + extern const VertexColor transparent; + + /** + * Stores the coord position values used by a vertex. + */ + typedef struct { + Coord coord; /**< Coord position of vertex. */ + RelCoord relCoord; /**< Relative coord position of vertex. x: 0.0 means: left, 1.0 means: right; y: 0.0 means: bottom, 1.0 means: top; z: 0.0 means: front, 1.0 means: back. */ + } VertexPosition; + + /** Chain of vertex positions. */ + typedef std::vector VertexPositionChain; + /** Pointer to chain of vertex positions. */ + typedef VertexPositionChain* VertexPositionChainRef; + /** Constant chain of vertex positions. */ + typedef const VertexPositionChain ConstVertexPositionChain; + /** Pointer to constant chain of vertex positions. */ + typedef const VertexPositionChainRef ConstVertexPositionChainRef; + + /** Iterator of chain of vertex positions. */ + typedef VertexPositionChain::iterator VertexPositionChainIterator; + /** Iterator of constant chain of vertex positions. */ + typedef ConstVertexPositionChain::iterator ConstVertexPositionChainIterator; + /** Constant iterator of chain of vertex positions. */ + typedef VertexPositionChain::const_iterator VertexPositionChainConstIterator; + /** Constant iterator of constant chain of vertex positions. */ + typedef ConstVertexPositionChain::const_iterator ConstVertexPositionChainConstIterator; + + /** + * Stores the s and t coordinate values of texture positions. + * Texture coordinates are referred to as s-, t-, r-, and q-coordinates to distinguish + * them from object coordinates (x, y, z, and w) and from elevator coordinates (u and v). + */ + /* + typedef struct { + double sPos; + double tPos; + double sRelativePos; + double tRelativePos; + } TexCoordPosition; + */ + typedef struct { + TexCoord coord; /**< Position of texture coord. */ + RelTexCoord relCoord; /**< Relative position of texture coord. */ + } TexCoordPosition; + + /** Chain of vertices. */ + typedef std::vector VertexChain; + /** Pointer to chain of vertices. */ + typedef VertexChain* VertexChainRef; + /** Constant chain of vertices. */ + typedef const VertexChain ConstVertexChain; + /** Pointer to constant chain of vertices. */ + typedef const VertexChainRef ConstVertexChainRef; + + /** Iterator of chain of vertices. */ + typedef VertexChain::iterator VertexChainIterator; + /** Iterator of constant chain of vertices. */ + typedef ConstVertexChain::iterator ConstVertexChainIterator; + /** Constant iterator of chain of vertices. */ + typedef VertexChain::const_iterator VertexChainConstIterator; + /** Constant iterator of constant chain of vertices. */ + typedef ConstVertexChain::const_iterator ConstVertexChainConstIterator; + + extern const int kGL_POINTS; /**< Primitive GL type GL_POINTS (mode). */ + extern const int kGL_LINES; /**< Primitive GL type GL_LINES (mode). */ + extern const int kGL_LINE_STRIP; /**< Primitive GL type GL_LINE_STRIP (mode). */ + extern const int kGL_LINE_LOOP; /**< Primitive GL type GL_LINE_LOOP (mode). */ + extern const int kGL_TRIANGLES; /**< Primitive GL type GL_TRIANGLES (mode). */ + extern const int kGL_TRIANGLE_STRIP; /**< Primitive GL type GL_TRIANGLE_STRIP (mode). */ + extern const int kGL_TRIANGLE_FAN; /**< Primitive GL type GL_TRIANGLE_FAN (mode). */ + extern const int kGL_QUADS; /**< Primitive GL type GL_QUADS (mode). */ + extern const int kGL_QUAD_STRIP; /**< Primitive GL type GL_QUAD_STRIP (mode). */ + extern const int kGL_POLYGON; /**< Primitive GL type GL_POLYGON (mode). */ + + extern const int kGL_RGBA; /**< Primitive GL type GL_RGBA (format). */ + extern const int kGL_BGRA; /**< Primitive GL type GL_BGRA (format). */ + extern const int kGL_RGB; /**< Primitive GL type GL_RGB (format). */ + extern const int kGL_LUMINANCE; /**< Primitive GL type GL_LUMINANCE (format). */ + extern const int kGL_LUMINANCE_WITH_ALPHA; /**< Primitive GL type GL_LUMINANCE_ALPHA (format). */ + extern const int kGL_INTENSITY; /**< Primitive GL type GL_INTENSITY (format). */ + + extern const int kGL_UNSIGNED_BYTE; /**< Primitive GL type GL_UNSIGNED_BYTE (data type). */ + extern const int kGL_FLOAT; /**< Primitive GL type GL_FLOAT (data type). */ + extern const int kGL_UNSIGNED_INT_8_8_8_8_REV; /**< Primitive GL type GL_UNSIGNED_INT_8_8_8_8_REV (data type). */ + extern const int kGL_UNSIGNED_INT_8_8_8_8; /**< Primitive GL type GL_UNSIGNED_INT_8_8_8_8 (data type). */ + + extern const int kGL_FRONT_COLOR_BUFFER; /**< GL enum GL_FRONT (color buffer specification for reading or drawing pixels). */ + extern const int kGL_BACK_COLOR_BUFFER; /**< GL enum GL_BACK (color buffer specification for reading or drawing pixels). */ + + /** + * The measure of box values. + */ + typedef enum { + kPixel = 0, /**< Box attribute is measured in pixels. */ + kPercent /**< Box attribute is measured in percent (of enclosing/surrounding VisualStageBox). */ + } Unit; + + /** + * Types of horizontal alignment. + */ + typedef enum { + kLeftAligned = 0, /**< Left alignment. */ + kCenterAligned, /**< Centered alignment. */ + kRightAligned /**< Right alignment. */ + } HorizontalAlignment; + + /** + * Types of vertical alignment. + */ + typedef enum { + kTopAligned = 0, /**< Top alignment. */ + kMiddleAligned, /**< Middle alignment. */ + kBottomAligned /**< Bottom alignment. */ + } VerticalAlignment; + + /** + * Types of alignment in z-dimension. + */ + typedef enum { + kFrontAligned = 0, /**< Front alignment. */ + kDepthCenterAligned, /**< Centered alignment. */ + kBackAligned /**< Back alignment. */ + } DepthAlignment; + + /** + * Whether the Nurbs is displayed in outlined mode or filled. + */ + typedef enum { + kFill = 0, /**< Fill Nurbs. */ + kOutlinePolygon /**< Draw outline. */ + } NurbsDisplayMode; + + /** + * How to blend texture data with the framebuffer data. + */ + typedef enum { + kBlend = 0, /**< Blend with framebuffer data (glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA). */ + kReplace /**< Replace framebuffer data. */ + } BlendMode; + +} + +#endif /* VisualGraphicTypes_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp new file mode 100644 index 0000000000..8603aa1318 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp @@ -0,0 +1,2684 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphics.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualGraphics.h" +#include "VisualGraphicTypes.h" +#include "VisualVertex.h" +#include "VisualErrorHandling.h" +#include "VisualGraphicsCore.h" +#include "VisualConvolutionFilter.h" +#include "VisualNurbs.h" +#include "VisualDispatch.h" +#include "VisualTiming.h" +#include "VisualColorTools.h" +#include "VisualPreferences.h" +#include "VisualFile.h" +#include "VisualInterpolation.h" +#include "VisualCamera.h" + +#include + +#include // sort on vector + +#include +#ifndef M_PI +#define M_PI 3.14159265358979323846264338327950288 +#endif + +#if TARGET_OS_MAC +#include +#include +#include +#include +#endif + +#if TARGET_OS_WIN +#include +#include +#include "win/wglext.h" +#include "win/glext.h" +#include "win/resource.h" +#endif + +#if TARGET_OS_WIN +#include +#include +#include +#endif + + + +using namespace VizKit; + + + +VisualGraphics* VisualGraphics::theVisualGraphics = NULL; // singleton + + +#if TARGET_OS_WIN +GLuint base; // Base Display List For The Font Set +#endif + + +VisualGraphics::VisualGraphics() { + isSetUpOnFullscreen = false; + + canvasBackgroundColor.r = VisualPreferences::getValue(VisualPreferences::kCanvasBackgroundColorRed); + canvasBackgroundColor.g = VisualPreferences::getValue(VisualPreferences::kCanvasBackgroundColorGreen); + canvasBackgroundColor.b = VisualPreferences::getValue(VisualPreferences::kCanvasBackgroundColorBlue); + canvasBackgroundColor.a = VisualPreferences::getValue(VisualPreferences::kCanvasBackgroundColorAlpha); + + surfaceBackgroundColor.r = VisualPreferences::getValue(VisualPreferences::kSurfaceBackgroundColorRed); + surfaceBackgroundColor.g = VisualPreferences::getValue(VisualPreferences::kSurfaceBackgroundColorGreen); + surfaceBackgroundColor.b = VisualPreferences::getValue(VisualPreferences::kSurfaceBackgroundColorBlue); + surfaceBackgroundColor.a = VisualPreferences::getValue(VisualPreferences::kSurfaceBackgroundColorAlpha); + + surfaceRect.pixelRect.width = 0; + surfaceRect.pixelRect.height = 0; + surfaceRect.bottomLeftPixel.x = 0; + surfaceRect.bottomLeftPixel.y = 0; + + surfaceRectVerticalOffsetFromBottom = 0; + +} + + +VisualGraphics::~VisualGraphics() { + + for (NurbsMapIterator it = this->nurbsMap.begin(); it != this->nurbsMap.end(); it++) { + delete it->second; + it->second = NULL; + } + nurbsMap.clear(); + +} + + +VisualGraphics* VisualGraphics::getInstance() { + if (theVisualGraphics == NULL) { + theVisualGraphics = new VisualGraphics; + } + return theVisualGraphics; +} + + +void VisualGraphics::dispose() { + + VisualGraphicsCore::dispose(); + + if (theVisualGraphics != NULL) { + delete theVisualGraphics; + theVisualGraphics = NULL; + } +} + + +bool VisualGraphics::isInitialized() { + if (theVisualGraphics == NULL) { + return false; + } else { + return true; + } +} + + +void VisualGraphics::setGraphicsDevicePort(const GRAPHICS_DEVICE thePort){ + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + theVisualGraphicsCore->setGraphicsDevicePort(thePort); +} + + +void VisualGraphics::setCanvasRect(const TopLeftPositionedPixelRect& aCanvasRect) { + this->canvasRect.pixelRect.width = aCanvasRect.pixelRect.width; + this->canvasRect.pixelRect.height = aCanvasRect.pixelRect.height; + this->canvasRect.bottomLeftPixel.x = aCanvasRect.topLeftPixel.x; + this->canvasRect.bottomLeftPixel.y = ((this->surfaceRect.pixelRect.height - aCanvasRect.pixelRect.height) / 2) + this->surfaceRect.bottomLeftPixel.y; +} + + +void VisualGraphics::setTotalVisualizerRect(TopLeftPositionedPixelRect totalVisualizerRect) { + this->surfaceRect.pixelRect.width = totalVisualizerRect.pixelRect.width; + this->surfaceRect.pixelRect.height = totalVisualizerRect.pixelRect.height; + this->surfaceRect.bottomLeftPixel.x = totalVisualizerRect.topLeftPixel.x; + this->surfaceRect.bottomLeftPixel.y = this->surfaceRectVerticalOffsetFromBottom; +} + + +void VisualGraphics::setTotalVisualizerRectVerticalOffsetFromBottom(int top, int height) { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + PixelRect canvasSurroundingRect = theVisualGraphicsCore->getCanvasSurroundingRect(); + this->surfaceRectVerticalOffsetFromBottom = canvasSurroundingRect.height - (top + height); +} + + +void VisualGraphics::isSetupForFullScreenMode(const bool isFullscreen) { + this->isSetUpOnFullscreen = isFullscreen; +} + + +BottomLeftPositionedPixelRect VisualGraphics::getCanvasRect() { + return this->canvasRect; +} + + +PixelRect VisualGraphics::getScreenRect() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + return theVisualGraphicsCore->getScreenRect(); +} + + +uint16 VisualGraphics::getBitsPerPixelOfScreen() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + return theVisualGraphicsCore->getBitsPerPixelOfScreen(); +} + + +uint16 VisualGraphics::getRefreshRateOfScreen() { + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + return theVisualGraphicsCore->getRefreshRateOfScreen(); +} + + +uint32 VisualGraphics::getCanvasPixelWidth() { + return canvasRect.pixelRect.width; +} + + +uint32 VisualGraphics::getCanvasPixelHeight() { + return canvasRect.pixelRect.height; +} + + +BottomLeftPositionedPixelRect VisualGraphics::getViewportRect() { + BottomLeftPositionedPixelRect bottomLeftPositionedPixelRect; + GLint viewportRect[4]; + glGetIntegerv(GL_VIEWPORT, viewportRect); + bottomLeftPositionedPixelRect.bottomLeftPixel.x = viewportRect[0]; + bottomLeftPositionedPixelRect.bottomLeftPixel.y = viewportRect[1]; + bottomLeftPositionedPixelRect.pixelRect.width = viewportRect[2]; + bottomLeftPositionedPixelRect.pixelRect.height = viewportRect[3]; + return bottomLeftPositionedPixelRect; +} + + +Pixel VisualGraphics::getViewportBottomLeftOrigin() { + Pixel bottomLeftPixel; + BottomLeftPositionedPixelRect bottomLeftPositionedPixelRect = this->getViewportRect(); + bottomLeftPixel.x = bottomLeftPositionedPixelRect.bottomLeftPixel.x; + bottomLeftPixel.y = bottomLeftPositionedPixelRect.bottomLeftPixel.y; + return bottomLeftPixel; +} + + +RelationalRect VisualGraphics::getViewportOrientationAndAspectRatio() { + RelationalRect relationalRect; + relationalRect.orientation = kSquare; + relationalRect.aspectRatio = 1.0; + BottomLeftPositionedPixelRect bottomLeftPositionedPixelRect = this->getViewportRect(); + if ((bottomLeftPositionedPixelRect.pixelRect.height) > (bottomLeftPositionedPixelRect.pixelRect.width)) { + relationalRect.orientation = kPortrait; + relationalRect.aspectRatio = (double)bottomLeftPositionedPixelRect.pixelRect.height / (double)bottomLeftPositionedPixelRect.pixelRect.width; + } else if ((bottomLeftPositionedPixelRect.pixelRect.width) > (bottomLeftPositionedPixelRect.pixelRect.height)) { + relationalRect.orientation = kLandscape; + relationalRect.aspectRatio = (double)bottomLeftPositionedPixelRect.pixelRect.width / (double)bottomLeftPositionedPixelRect.pixelRect.height; + } + return relationalRect; +} + + +#if TARGET_OS_WIN +void VisualGraphics::initGdiplus() { + Gdiplus::GdiplusStartupInput gdiplusStartupInput; + GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); +} + + +void VisualGraphics::terminateGdiplus() { + Gdiplus::GdiplusShutdown(gdiplusToken); +} + + +bool VisualGraphics::getGdiplusEncoderClsid(const WCHAR* format, CLSID* pClsid) { + bool success = false; + + UINT num = 0; + UINT size = 0; + + Gdiplus::ImageCodecInfo* pImageCodecInfo = NULL; + + Gdiplus::GetImageEncodersSize(&num, &size); + if (size == 0) + return success; + + pImageCodecInfo = (Gdiplus::ImageCodecInfo*)(malloc(size)); + if (pImageCodecInfo == NULL) + return success; + + GetImageEncoders(num, size, pImageCodecInfo); + + for (UINT j = 0; j < num; ++j) { + if (wcscmp(pImageCodecInfo[j].MimeType, format) == 0 ) { + *pClsid = pImageCodecInfo[j].Clsid; + free(pImageCodecInfo); + return true; // success + } + } + + free(pImageCodecInfo); + return success; // failure +} + +#endif + + +bool VisualGraphics::setupContext() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + bool success = theVisualGraphicsCore->setupContext(); + return success; +} + + +void VisualGraphics::disposeContext() { + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); +#if TARGET_OS_MAC + theVisualGraphicsCore->cleanupAGL(); +#endif +#if TARGET_OS_WIN + theVisualGraphicsCore->cleanUpWGL(); + this->killFont(); +#endif +} + + +void VisualGraphics::setCanvasViewport() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + theVisualGraphicsCore->setViewport(this->canvasRect, this->isSetUpOnFullscreen); +} + + +void VisualGraphics::setSurfaceViewport() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + theVisualGraphicsCore->setViewport(this->surfaceRect, this->isSetUpOnFullscreen); +} + + +void VisualGraphics::setOrthographicProjection(double maxLeftCoord, double maxRightCoord, double maxBottomCoord, double maxTopCoord, double maxNearPos, double maxFarPos, double zoomFactor) { + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + glOrtho(maxLeftCoord * zoomFactor, maxRightCoord * zoomFactor, maxBottomCoord * zoomFactor, maxTopCoord * zoomFactor, maxNearPos, maxFarPos); + + glMatrixMode(GL_MODELVIEW); +} + + +void VisualGraphics::setPerspectiveProjection(double maxLeftCoord, double maxRightCoord, double maxBottomCoord, double maxTopCoord, double maxNearPos, double maxFarPos, double zoomFactor) { + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + glFrustum(maxLeftCoord * zoomFactor, maxRightCoord * zoomFactor, maxBottomCoord * zoomFactor, maxTopCoord * zoomFactor, maxNearPos, maxFarPos); + + glMatrixMode(GL_MODELVIEW); +} + + +void VisualGraphics::loadModelViewIdentityMatrix() { + glLoadIdentity(); +} + + +void VisualGraphics::lookAt(Point3D eye, Point3D center, Vector up) { + gluLookAt(eye.x, eye.y, eye.z, center.x, center.y, center.z, up.x, up.y, up.z); +} + + +void VisualGraphics::setCanvasBackgroundColor(const RGBAColor& aColorVal) { + this->canvasBackgroundColor.r = aColorVal.r; + this->canvasBackgroundColor.g = aColorVal.g; + this->canvasBackgroundColor.b = aColorVal.b; + this->canvasBackgroundColor.a = aColorVal.a; +} + + +RGBAColor VisualGraphics::getBackgroundColor() { + return this->canvasBackgroundColor; +} + + +void VisualGraphics::clearCanvasBackground() { + glClearColor((GLclampf)canvasBackgroundColor.r, (GLclampf)canvasBackgroundColor.g, (GLclampf)canvasBackgroundColor.b, (GLclampf)canvasBackgroundColor.a); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +} + + +void VisualGraphics::clearSurfaceBackground() { + glClearColor((GLclampf)surfaceBackgroundColor.r, (GLclampf)surfaceBackgroundColor.g, (GLclampf)surfaceBackgroundColor.b, (GLclampf)surfaceBackgroundColor.a); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +} + + + +void VisualGraphics::setPixelStorageParams() { + glPixelStorei(GL_PACK_ROW_LENGTH, 0); + glPixelStorei(GL_PACK_ALIGNMENT, 4); + glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + glPixelStorei(GL_UNPACK_ALIGNMENT, 4); +#if TARGET_OS_MAC + glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE); +#endif +} + + +void VisualGraphics::resetModelViewMatrix() { + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslated(0.0, 0.0, 0.0); +} + + +void VisualGraphics::translateMatrix(double xNum, double yNum, double zNum) { + glTranslated(xNum, yNum, zNum); +} + + +void VisualGraphics::rotateMatrix(double angle, double xAmount, double yAmount, double zAmount) { + glRotated(angle, xAmount, yAmount, zAmount); +} + + +void VisualGraphics::scaleMatrix(double xFactor, double yFactor, double zFactor) { + glScaled(xFactor, yFactor, zFactor); +} + + +void VisualGraphics::enableTexturing(bool useRectExtension) { + if (useRectExtension == false) { + glEnable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glEnable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } +} + + +void VisualGraphics::disableTexturing(bool useRectExtension) { + if (useRectExtension == false) { + glDisable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glDisable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } +} + + +void VisualGraphics::bindTexture(uint32 textureName, bool useRectExtension) { + if (useRectExtension == false) { + glBindTexture(GL_TEXTURE_2D, (GLuint)textureName); + } else { +#if TARGET_OS_MAC + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureName); +#endif + } +} + + +void VisualGraphics::getPixelsOfCurrentTexture(bool useRectExtension, uint16 format, uint16 type, uint32** buffer) { + if (useRectExtension == false) { + glGetTexImage(GL_TEXTURE_2D, 0, format, type, *buffer); + } else { +#if TARGET_OS_MAC + glGetTexImage(GL_TEXTURE_RECTANGLE_EXT, 0, format, type, *buffer); +#endif + } +} + + +void VisualGraphics::enableAlphaBlending() { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} + + +void VisualGraphics::disableBlending() { + glDisable(GL_BLEND); +} + + +void VisualGraphics::setColor(const RGBAColor& theColor) { + glColor4d(theColor.r, theColor.g, theColor.b, theColor.a); +} + + +void VisualGraphics::setLineWidth(double width) { + glLineWidth(static_cast(width)); +} + + +void VisualGraphics::enableDepthTest() { + glEnable(GL_DEPTH_TEST); +} + + +void VisualGraphics::disableDepthTest() { + glDisable(GL_DEPTH_TEST); +} + + +void VisualGraphics::enableCullFace() { + glEnable(GL_CULL_FACE); +} + + +void VisualGraphics::disableCullFace() { + glDisable(GL_CULL_FACE); +} + + +void VisualGraphics::cullFaceFront() { + glCullFace(GL_FRONT); +} + + +void VisualGraphics::cullFaceBack() { + glCullFace(GL_BACK); +} + + +uint8 VisualGraphics::getOpenGLError (char* outErrorString) { + GLenum glErrorNum; + const GLubyte *glErrorString; + + glErrorNum = glGetError(); + if (glErrorNum != GL_NO_ERROR) { + glErrorString = gluErrorString(glErrorNum); + strcpy(outErrorString, (char*)glErrorString); + return 1; + } else { + return 0; + } +} + + +uint16 VisualGraphics::setCurrentContext() { + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + return theVisualGraphicsCore->setCurrentContext(); +} + + +void VisualGraphics::finishGLDrawing() { + VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + theVisualGraphicsCore->finishGLDrawing(); +} + + +int VisualGraphics::getCurrentColorBufferForPixelReadingOperations() { + GLint currReadBuffer; + glGetIntegerv(GL_READ_BUFFER, &currReadBuffer); + return currReadBuffer; +} + + +int VisualGraphics::getCurrentColorBufferForPixelDrawingOperations() { + GLint currDrawBuffer; + glGetIntegerv(GL_DRAW_BUFFER, &currDrawBuffer); + return currDrawBuffer; +} + + +void VisualGraphics::setColorBufferForPixelReadingOperations(int colorBuffer) { + glReadBuffer(colorBuffer); +} + + +void VisualGraphics::setColorBufferForPixelDrawingOperations(int colorBuffer) { + glDrawBuffer(colorBuffer); +} + + +void VisualGraphics::drawTexture(uint32 textureNumber, const VertexChain* const vertexChain, bool canUseRectExtension, BlendMode aBlendMode, bool debug) { + + if (aBlendMode == kBlend) { + glEnable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } + + if (canUseRectExtension == false) { + glEnable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glEnable (GL_TEXTURE_RECTANGLE_EXT); +#endif + } + + if (canUseRectExtension == false) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + } else { +#if TARGET_OS_MAC + glTexParameteri(GL_TEXTURE_RECTANGLE_EXT, GL_TEXTURE_WRAP_S, GL_CLAMP); + glTexParameteri(GL_TEXTURE_RECTANGLE_EXT, GL_TEXTURE_WRAP_T, GL_CLAMP); +#endif + } + + if (canUseRectExtension == false) { + glBindTexture (GL_TEXTURE_2D, (GLuint)textureNumber); + } else { +#if TARGET_OS_MAC + glBindTexture (GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber); +#endif + } + + if (aBlendMode == kBlend) { + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + } + + glBegin(GL_POLYGON); + + for (ConstVertexChainConstIterator it = vertexChain->begin(); it != vertexChain->end(); it++) { + glColor4d((*it)->vertexColor.r, (*it)->vertexColor.g, (*it)->vertexColor.b, (*it)->vertexColor.a); + if (debug == true) { + char logStr[128]; + sprintf(logStr, "r: %f, g: %f, b: %f, a: %f\n", (*it)->vertexColor.r, (*it)->vertexColor.g, (*it)->vertexColor.b, (*it)->vertexColor.a); + writeLog(logStr); + } + glTexCoord2d((*it)->texCoordPosition.coord.s, (*it)->texCoordPosition.coord.t); + glVertex3d((*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + if (debug == true) { + char logStr[128]; + sprintf(logStr, "x: %f, y: %f, z: %f\n", (*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + writeLog(logStr); + } + } + + glEnd(); + + if (canUseRectExtension == false) { + glDisable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glDisable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } + + if (aBlendMode == kBlend) { + glDisable(GL_BLEND); + } + +} + + +void VisualGraphics::drawVertexChain(const VertexChain& vertexChain, int drawMode, BlendMode aBlendMode) { + if (aBlendMode == kBlend) { + glEnable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } + glBegin(drawMode); + for (ConstVertexChainConstIterator it = vertexChain.begin(); it != vertexChain.end(); it++) { + if ((*it)->colorHasBeenSet() == true) { + glColor4d((*it)->vertexColor.r, (*it)->vertexColor.g, (*it)->vertexColor.b, (*it)->vertexColor.a); + } + glVertex3d((*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + //char coordLogStr[128]; + //sprintf(coordLogStr, "x: %f, y: %f, z: %f\n", (*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + //writeLog(coordLogStr); + } + glEnd(); + if (aBlendMode == kBlend) { + glDisable(GL_BLEND); + } +} + + +void VisualGraphics::drawDebugVertexChain(const VertexChain& vertexChain, const VisualCamera& aCamera) { + glColor3d(1.0, 0.0, 0.0); + glLineWidth(3.0f); + glBegin (GL_LINE_LOOP); + for (ConstVertexChainConstIterator it = vertexChain.begin(); it != vertexChain.end(); it++) { + glVertex3d((*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + } + glEnd(); + + Coord coord; + glTranslated(0.0, 0.0, 0.0); + glColor3d(1.0, 1.0, 0.0); + char posStr[64]; + for (ConstVertexChainConstIterator it = vertexChain.begin(); it != vertexChain.end(); it++) { + sprintf(posStr, "tex.x:%.2f, tex.y:%.2f", (*it)->texCoordPosition.coord.s, (*it)->texCoordPosition.coord.t); + coord.x = (*it)->vertexPosition.coord.x; + coord.y = (*it)->vertexPosition.coord.y + this->yPixelToCoord(13, aCamera);; + coord.z = (*it)->vertexPosition.coord.z; + showProcessInfoRow(coord, posStr); + sprintf(posStr, "x:%.2f, y:%.2f, z:%.2f", (*it)->vertexPosition.coord.x, (*it)->vertexPosition.coord.y, (*it)->vertexPosition.coord.z); + coord.y = (*it)->vertexPosition.coord.y; + showProcessInfoRow(coord, posStr); + } +} + + +void VisualGraphics::drawPixels(PixelColor** pixelData, double xCoord, double yCoord, uint32 width, uint32 height, uint16 format, uint16 dataType, const VisualConvolutionFilter* const aConvolutionFilter) { + + bool useGLConvolutionFilter = false; + GLfloat* kernel = NULL; + +#if TARGET_OS_WIN + // Declare function pointers + PFNGLCONVOLUTIONFILTER2DPROC glConvolutionFilter2D; + PFNGLCONVOLUTIONPARAMETERIPROC glConvolutionParameteri; + PFNGLCONVOLUTIONPARAMETERFVPROC glConvolutionParameterfv; +#endif + + if (aConvolutionFilter != NULL) { +#if TARGET_OS_WIN + // Obtain the address of the extension entry points + glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)wglGetProcAddress("glConvolutionFilter2D"); + glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)wglGetProcAddress("glConvolutionParameteri"); + glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)wglGetProcAddress("glConvolutionParameterfv"); + if (glConvolutionFilter2D) useGLConvolutionFilter = true; +#endif +#if TARGET_OS_MAC + useGLConvolutionFilter = this->capabilities.fImaging; +#endif + } + + //useGLConvolutionFilter = false; // test + + if (useGLConvolutionFilter == false && aConvolutionFilter != NULL) { + PixelColor* filteredPixels = NULL; + aConvolutionFilter->applyToPixelData(*pixelData, width, height, format, dataType, &filteredPixels); + free(*pixelData); + *pixelData = filteredPixels; + } + + if (useGLConvolutionFilter == true) { + kernel = (GLfloat*)malloc(aConvolutionFilter->getNumberOfKernelValueColumns() * aConvolutionFilter->getNumberOfKernelValueRows() * sizeof(GLfloat)); + aConvolutionFilter->copyKernelValues(kernel); + + GLfloat borderColor[4]; + borderColor[0] = 0.0f; + borderColor[1] = 0.0f; + borderColor[2] = 0.0f; + borderColor[3] = 0.0f; + +#if TARGET_OS_WIN + // Call the function via function pointer + (*glConvolutionFilter2D)(GL_CONVOLUTION_2D, GL_LUMINANCE, aConvolutionFilter->getNumberOfKernelValueColumns(), aConvolutionFilter->getNumberOfKernelValueRows(), GL_LUMINANCE, GL_FLOAT, kernel); + (*glConvolutionParameteri) (GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER); + (*glConvolutionParameterfv) (GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_COLOR, borderColor); +#else + glConvolutionFilter2D(GL_CONVOLUTION_2D, GL_LUMINANCE, aConvolutionFilter->getNumberOfKernelValueColumns(), aConvolutionFilter->getNumberOfKernelValueRows(), GL_LUMINANCE, GL_FLOAT, kernel); + glConvolutionParameteri(GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER); + glConvolutionParameterfv(GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_COLOR, borderColor); +#endif + // glConvolutionParameterfv(GL_CONVOLUTION_2D, GL_CONVOLUTION_FILTER_SCALE, filterScale); + + glEnable(GL_CONVOLUTION_2D); + + glPixelTransferf(GL_POST_CONVOLUTION_RED_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor()); + glPixelTransferf(GL_POST_CONVOLUTION_GREEN_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor()); + glPixelTransferf(GL_POST_CONVOLUTION_BLUE_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor()); + glPixelTransferf(GL_POST_CONVOLUTION_ALPHA_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor()); + + glPixelTransferf(GL_POST_CONVOLUTION_RED_BIAS, aConvolutionFilter->getPostConvolutionBias()); + glPixelTransferf(GL_POST_CONVOLUTION_GREEN_BIAS, aConvolutionFilter->getPostConvolutionBias()); + glPixelTransferf(GL_POST_CONVOLUTION_BLUE_BIAS, aConvolutionFilter->getPostConvolutionBias()); + glPixelTransferf(GL_POST_CONVOLUTION_ALPHA_BIAS, aConvolutionFilter->getPostConvolutionBias()); + + } + + glRasterPos2d(xCoord, yCoord); + + /* + When the GL_ARB_imaging extension is supported, there are distinct + raster texture coordinates for each texture unit. Each texture unit's + current raster texture coordinates are updated by glRasterPos. + */ + + this->setPixelStorageParams(); + + glDrawPixels(width, height, format, dataType, *pixelData); + + if (useGLConvolutionFilter == true) { + glDisable(GL_CONVOLUTION_2D); + free(kernel); + } + +} + + +void VisualGraphics::resample(uint16 formatIn, uint32 widthIn, uint32 heightIn, uint16 dataTypeIn, PixelColor* pixelDataIn, uint32 widthOut, uint32 heightOut, uint16 dataTypeOut, PixelColor** pixelDataOut) { + + this->setPixelStorageParams(); + gluScaleImage((GLenum)formatIn, (GLint)widthIn, (GLint)heightIn, (GLenum)dataTypeIn, (void*)pixelDataIn, (GLint)widthOut, (GLint)heightOut, (GLenum)dataTypeOut, (void*)(*pixelDataOut)); + return; + + /* + uint32 widthBlockRatio = (uint32)((double)widthIn / (double)widthOut); + uint32 heightBlockRatio = (uint32)((double)heightIn / (double)heightOut); + + uint32* pixelDataoutStore = *pixelDataOut; + + uint32 outPixelIdx = 0; + + uint32 heightIdx = 0; + uint32 startIdx = 0; + uint32 lastStartIdx = 0; + for (uint32 y = 0; y < heightOut; y++) { + heightIdx = y * heightBlockRatio; + for (uint32 x = 0; x < widthOut; x++) { + startIdx = (heightIdx * widthIn) + (x * widthBlockRatio); + if ((startIdx + widthBlockRatio) < ((heightIdx * widthIn) + widthIn)) { + VisualColorTools::getMeanPixelColor(pixelDataIn + startIdx, widthBlockRatio, pixelDataoutStore[y * widthOut + x]); + lastStartIdx = startIdx; + } else { + pixelDataoutStore[y * widthOut + x] = 0xff0000ff; + //VisualColorTools::getMeanPixelColor(pixelDataIn + lastStartIdx, widthBlockRatio, pixelDataoutStore[y * widthOut + x]); + } + } + } + */ +} + + +void VisualGraphics::readPixels(double xCoord, double yCoord, uint32 width, uint32 height, uint32** pixelData, uint16 format, uint16 dataType, const VisualCamera& aCamera) { + uint16 xPos, yPos; + xPos = xCoordToPixel(xCoord, aCamera); + yPos = yCoordToPixel(yCoord, aCamera); + this->setPixelStorageParams(); + glReadPixels(xPos, yPos, width, height, format, dataType, *pixelData); +} + + +#if TARGET_OS_WIN +bool VisualGraphics::makeTextureOfStringWin(wchar_t* stringValue, + int stringValueLength, + uint32 textureNumber, + uint32 &textureWidth, + uint32 &textureHeight, + uint32 &imageWidth, + uint32 &imageHeight, + const char* const fontName, + uint16 fontSize, + uint8 red, + uint8 green, + uint8 blue, + HorizontalAlignment alignment, + uint32 maxPixelWidth, + uint32 maxPixelHeight) { + //#define useGetDIBits + + bool success = true; + + LOGFONT lFont; + HDC hdcTemp; +#ifndef useGetDIBits + BITMAPV5HEADER bi; +#endif + BYTE* bitmapBits = NULL; + HBITMAP hbmpTemp; + HFONT trackTitleFont; + uint32 stringSizeWidth = 0; + uint32 stringSizeHeight = 0; + + char errStr[256]; + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + UINT textFormat = (DT_EXPANDTABS|DT_NOPREFIX); + switch (alignment) { + case (kLeftAligned): + textFormat |= DT_LEFT; + break; + case (kCenterAligned): + textFormat |= DT_CENTER; + break; + case (kRightAligned): + textFormat |= DT_RIGHT; + break; + default: + sprintf(errStr, "unknown switch case (%d) in file: %s (line: %d) [%s])", alignment, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } + + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + + hdcTemp = CreateCompatibleDC(theVisualGraphicsCore->getWindowDC()); + + ZeroMemory(&lFont,sizeof(LOGFONT)); + lFont.lfHeight = MulDiv(fontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72); + lFont.lfWidth = 0; + lFont.lfEscapement = 0; + lFont.lfOrientation = 0; + lFont.lfWeight = FW_DONTCARE; + lFont.lfItalic = FALSE; + lFont.lfUnderline = FALSE; + lFont.lfStrikeOut = FALSE; + lFont.lfCharSet = DEFAULT_CHARSET; + lFont.lfOutPrecision = OUT_OUTLINE_PRECIS; + lFont.lfClipPrecision = CLIP_DEFAULT_PRECIS; + lFont.lfQuality = ANTIALIASED_QUALITY; + lFont.lfPitchAndFamily = DEFAULT_PITCH; + if (strlen(fontName) > 32) { + sprintf(errStr, "length of fontName must not exceed 32 characters but is %d in file: %s (line: %d) [%s])", strlen(fontName), __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + strcpy(lFont.lfFaceName, "Arial"); // fallback font name + } else { + strcpy(lFont.lfFaceName, fontName); // length of fontName must not exceed 32 characters (incl. null terminator) + } + + trackTitleFont = CreateFontIndirect(&lFont); + + if (!trackTitleFont) { + sprintf(errStr, "Err after CreateFontIndirect() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } + + SelectObject(hdcTemp, trackTitleFont); + SetTextColor(hdcTemp, RGB((BYTE)red, (BYTE)green, (BYTE)blue)); + + RECT textDrawRect; + textDrawRect.top = 0; + textDrawRect.left = 0; + textDrawRect.right = this->getCanvasPixelWidth(); + textDrawRect.bottom = 0; + int drawTextResult = 0; + drawTextResult = DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat); + + if (textDrawRect.bottom == 0) { + sprintf(errStr, "Err (textDrawRect.bottom == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } + if (drawTextResult == 0) { + sprintf(errStr, "Err (drawTextResult == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + + stringSizeWidth = textDrawRect.right - textDrawRect.left; + stringSizeHeight = textDrawRect.bottom - textDrawRect.top; + + //SIZE stringSize; + uint16 aFontSize = fontSize; + if ((maxPixelWidth > 0) && (maxPixelHeight > 0)) { + while ((stringSizeWidth > maxPixelWidth) || (stringSizeHeight > maxPixelHeight)) { + lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72); + DeleteObject(trackTitleFont); + trackTitleFont = CreateFontIndirect(&lFont); + SelectObject(hdcTemp, trackTitleFont); + /* + BOOL textExtendSuccess = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize); + if (!textExtendSuccess) { + sprintf(errStr, "Err (!textExtendSuccess) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + */ + //stringSizeWidth = stringSize.cx; + //stringSizeHeight = stringSize.cy; + drawTextResult = DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat); + if (drawTextResult == 0) { + sprintf(errStr, "Err (drawTextResult == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + stringSizeWidth = textDrawRect.right - textDrawRect.left; + stringSizeHeight = textDrawRect.bottom - textDrawRect.top; + aFontSize = aFontSize - 1; + if (aFontSize == 0) { + sprintf(errStr, "Err (aFontSize == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + } + } else if (maxPixelWidth > 0) { + while (stringSizeWidth > maxPixelWidth) { + lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72); + DeleteObject(trackTitleFont); + trackTitleFont = CreateFontIndirect(&lFont); + SelectObject(hdcTemp, trackTitleFont); + /* + BOOL textExtendSuccess = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize); + if (!textExtendSuccess) { + sprintf(errStr, "Err (!textExtendSuccess) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + */ + //stringSizeWidth = stringSize.cx; + //stringSizeHeight = stringSize.cy; + drawTextResult = DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat); + if (drawTextResult == 0) { + sprintf(errStr, "Err (drawTextResult == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + stringSizeWidth = textDrawRect.right - textDrawRect.left; + stringSizeHeight = textDrawRect.bottom - textDrawRect.top; + aFontSize = aFontSize - 1; + if (aFontSize == 0) { + sprintf(errStr, "Err (aFontSize == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + } + } else if (maxPixelHeight > 0) { + while (stringSizeHeight > maxPixelHeight) { + lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72); + DeleteObject(trackTitleFont); + trackTitleFont = CreateFontIndirect(&lFont); + SelectObject(hdcTemp, trackTitleFont); + /* + BOOL textExtendSuccess = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize); + if (!textExtendSuccess) { + sprintf(errStr, "Err (!textExtendSuccess) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + */ + //stringSizeWidth = stringSize.cx; + //stringSizeHeight = stringSize.cy; + drawTextResult = DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat); + if (drawTextResult == 0) { + sprintf(errStr, "Err (drawTextResult == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + stringSizeWidth = textDrawRect.right - textDrawRect.left; + stringSizeHeight = textDrawRect.bottom - textDrawRect.top; + aFontSize = aFontSize - 1; + if (aFontSize == 0) { + sprintf(errStr, "Err (aFontSize == 0) in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + } + } + +#ifndef useGetDIBits + + ZeroMemory(&bi,sizeof(BITMAPV5HEADER)); + bi.bV5Size = sizeof(BITMAPV5HEADER); + bi.bV5Width = stringSizeWidth; + bi.bV5Height = stringSizeHeight; + bi.bV5Planes = 1; + bi.bV5BitCount = 32; + bi.bV5Compression = BI_BITFIELDS; + + // supported 32 BPP alpha format for Windows XP (ARGB) + bi.bV5AlphaMask = 0xFF000000; + bi.bV5RedMask = 0x00FF0000; + bi.bV5GreenMask = 0x0000FF00; + bi.bV5BlueMask = 0x000000FF; + + hbmpTemp = CreateDIBSection(hdcTemp, (BITMAPINFO *)&bi, DIB_RGB_COLORS, (void**)&bitmapBits, NULL, (DWORD)0); + + if (!hbmpTemp) { + DeleteDC(hdcTemp); + ReleaseDC(theVisualGraphicsCore->getGraphicsDevicePort(), hdcTemp); + sprintf(errStr, "err after CreateDIBSection() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return false; + } + +#endif + +#ifdef useGetDIBits + + hbmpTemp = CreateCompatibleBitmap(theVisualGraphicsCore->getWindowDC(), stringSizeWidth, stringSizeHeight); + if (!hbmpTemp) { + sprintf(errStr, "err after CreateCompatibleBitmap() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + } + +#endif + + SelectObject(hdcTemp, hbmpTemp); + SetBkMode(hdcTemp, TRANSPARENT); + + SelectObject(hdcTemp, trackTitleFont); + SetBkMode(hdcTemp, TRANSPARENT); + + SetTextColor(hdcTemp, RGB((BYTE)red, (BYTE)green, (BYTE)blue)); + SetTextAlign(hdcTemp, TA_TOP | TA_LEFT); + + DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, textFormat); + + GdiFlush(); + +#ifdef useGetDIBits + + bitmapBits = (BYTE*)malloc(stringSizeWidth * stringSizeHeight * sizeof(PixelColor)); + + BITMAPINFO bmi; + bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader); + bmi.bmiHeader.biWidth = stringSizeWidth; + bmi.bmiHeader.biHeight = stringSizeHeight; + bmi.bmiHeader.biPlanes = 1; + bmi.bmiHeader.biBitCount = 32; + bmi.bmiHeader.biCompression = BI_RGB; + + GetDIBits(hdcTemp, hbmpTemp, 0, stringSizeHeight, bitmapBits, &bmi, DIB_RGB_COLORS); + +#endif + + // set alpha bits + // alpha = 1 where not empty (where text has been rendered) + // alpha = 0 where no text + + DWORD x,y; + DWORD* lpdwPixels; + lpdwPixels = (DWORD*)bitmapBits; + for (x = 0; x < stringSizeWidth; x++) { + for (y = 0; y < stringSizeHeight; y++) { + if ((*lpdwPixels & 0x00FFFFFF) != 0x00000000) { + *lpdwPixels |= 0xFF000000; + } else { + *lpdwPixels &= 0x00FFFFFF; + } + lpdwPixels++; + } + } + + const PixelColor* pixels = (PixelColor*)bitmapBits; + this->copyARGBBitmapDataToTexture(textureNumber, stringSizeWidth, stringSizeHeight, this->canUseTextureRectExtension(), &pixels); + + DeleteObject(trackTitleFont); + +#ifdef useGetDIBits + free(bitmapBits); +#endif + + DeleteObject(hbmpTemp); + + DeleteDC(hdcTemp); + + if (this->canUseTextureRectExtension() == false) { + textureWidth = this->power2Ceiling((uint32)stringSizeWidth); + textureHeight = this->power2Ceiling((uint32)stringSizeHeight); + } else { + textureWidth = (uint32)stringSizeWidth; + textureHeight = (uint32)stringSizeHeight; + } + imageWidth = (uint32)stringSizeWidth; + imageHeight = (uint32)stringSizeHeight; + + return success; +} +#endif + + +void VisualGraphics::drawSpot(const double xNum, const double yNum, const double r, const double g, const double b, uint16 waveformIntensityVal, double intensity, const uint8 tailSize) { + + float maxRadius = 0.3f; + int slices = 40; + int i; + float scaleRatio; + //float xNum, yNum, r, g, b; + //uint8 waveformIntensityVal; + //float intensity; + float rotationVal=3.0f; + uint8 numberOfIterations; + + /* zentrale Methode zum Malen eines Lichtpunktes */ + /* xNum und yNum : Position */ + /* r, g, b : Farbe */ + /* waveformIntensityVal : Umfang (0-100) */ + /* intensity : alphaVal (0.0 - 1.0) */ + + //xNum = pLichtpunkt->xPos; + //yNum = pLichtpunkt->yPos; + //r = pLichtpunkt->redVal; + //g = pLichtpunkt->greenVal; + //b = pLichtpunkt->blueVal; + //waveformIntensityVal = pLichtpunkt->waveformIntensityVal; + //intensity = pLichtpunkt->lifetimeIntensity; + + + if (waveformIntensityVal>100) { + waveformIntensityVal = 100; // max + } + + if (intensity > 1.0) { + intensity = 1.0; //max + } + + intensity = intensity/2.2f; // max alphaVal ist < 1.0 + + slices = (int)((float)slices * ((float)waveformIntensityVal/100.0)); + + scaleRatio = (float)waveformIntensityVal/100.0f; + + + if (tailSize == 0) { + numberOfIterations = 1; + } else { + numberOfIterations = tailSize; + } + + for (int m = 1; m <= numberOfIterations; m++) { + rotationVal -=4.0f; + glLoadIdentity(); + + glScaled(1.0, 1.0, 1.0); + glRotated(rotationVal, 0.0, 0.0, 1.0); + glTranslated(xNum, yNum, 0.0); + + glScaled(scaleRatio, scaleRatio, scaleRatio); + + // Aussenschein + glBegin (GL_TRIANGLE_FAN); + + + // if (intensity>0.8) { + // // das Licht scheint langsam auf + // // (und startet nicht mit full power) + // glColor4f(r,g,b, (1.0 - intensity)); + // } else { + // glColor4f(r,g,b, intensity*(1.0/0.8)); + // } + + + //glColor4f(r,g,b, intensity); + glColor4d(r, g, b, intensity/m); + + glVertex2d(0.0, 0.0); + + glColor4d(r, g, b, 0.0); //glColor4f(r,g,b, intensity*(intensity/2.0)); // aufblenden (test) + + for (i = 0; i <= slices; i++) { + glVertex2f (maxRadius * (float)(cos ((2.0f * (float)M_PI) * (float) i/(float) slices)), + maxRadius * (float)(sin ((2.0f * (float)M_PI) * (float) i/(float) slices))); + } + + glEnd(); + + if (m==1) { + // (nur der Kopf hat einen Kern) + // Kern + glBegin (GL_TRIANGLE_FAN); + + //glColor4f (1.0, 1.0, 1.0, (intensity/3.0)); // weiss + glColor4d(1.0, 1.0, 1.0, (intensity/3.0/m)); // weiss + glVertex2d(0.0, 0.0); + + glColor4d(r, g, b, 0.0); + + for (i = 0; i <= slices; i++) { + glVertex2f ((maxRadius/4.0f) * (float)(cos ((2.0 * (float)M_PI) * (float) i/(float) slices)), + (maxRadius/4.0f) * (float)(sin ((2.0f * (float)M_PI) * (float) i/(float) slices))); + } + + glEnd(); + } + } + +} + + +void VisualGraphics::drawTriangle() { + + GLfloat topPos = 1.0f; + static GLfloat red; + GLfloat green; + GLfloat blue; + + static GLfloat rotateAngle = 0.0f; + + red = red + 0.003f; + + green = red; + blue = 1.0f - red; + + rotateAngle = rotateAngle + 0.3f; + if (rotateAngle > 360.0) { + rotateAngle = 0.0f; + } + + glRotatef(rotateAngle,0.0f,1.0f,0.0f); + + glBegin(GL_TRIANGLES); + glColor3d(red,0.0,0.0); + glVertex2d(0.0, topPos); + glColor3d(0.0,green,0.0); + glVertex2d(-1.0,-1.0); + glColor3d(0.0,0.0,blue); + glVertex2d( 1.0,-1.0); + + glEnd(); + +} + + +void VisualGraphics::spotGL(double zPlane) { + glEnable(GL_POINT_SMOOTH); + glPointSize(5.0f); + glBegin(GL_POINTS); + glColor3d(1.0, 1.0, 0.0); + glVertex3d( 0.0, 0.0, zPlane); + glEnd(); + glDisable(GL_POINT_SMOOTH); +} + + +void VisualGraphics::drawProjectionMetrics(const VisualCamera& aCamera) { + // some grey numbers along the axes of the projection space + uint32 numberOfMarks = 10; + glColor4d(0.4, 0.4, 0.4, 1.0); + char str[32]; + double distance = aCamera.getDepth(); + double nearPos = aCamera.getMaxNearPos() * -1.0; + double farPos = aCamera.getMaxFarPos() * -1.0; + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), nearPos - ((distance / numberOfMarks) * i)); + sprintf(str, "%.2f", nearPos - ((distance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxRightCoord(), aCamera.getMaxBottomCoord(), nearPos - ((distance / numberOfMarks) * i)); + sprintf(str, "%.2f", nearPos - ((distance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord(), aCamera.getMaxTopCoord(), nearPos - ((distance / numberOfMarks) * i)); + sprintf(str, "%.2f", nearPos - ((distance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxRightCoord(), aCamera.getMaxTopCoord(), nearPos - ((distance / numberOfMarks) * i)); + sprintf(str, "%.2f", nearPos - ((distance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + double verticalDistance = aCamera.getCoordHeight(); + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i), nearPos); + sprintf(str, "%.2f", aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxRightCoord() - 0.2, aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i), nearPos); + sprintf(str, "%.2f", aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + double horizontalDistance = aCamera.getCoordWidth(); + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i), aCamera.getMaxBottomCoord(), nearPos); + sprintf(str, "%.2f", aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i), aCamera.getMaxTopCoord() - 0.1, nearPos); + sprintf(str, "%.2f", aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i), farPos); + sprintf(str, "%.2f", aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxRightCoord() - 0.2, aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i), farPos); + sprintf(str, "%.2f", aCamera.getMaxBottomCoord() + ((verticalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i), aCamera.getMaxBottomCoord(), farPos); + sprintf(str, "%.2f", aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } + for (uint32 i = 0; i < numberOfMarks; i++) { + glRasterPos3d(aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i), aCamera.getMaxTopCoord(), farPos); + sprintf(str, "%.2f", aCamera.getMaxLeftCoord() + ((horizontalDistance / numberOfMarks) * i)); + this->drawCStringWithGL(str, strlen(str)); + } +} + + +Coord VisualGraphics::getCirclePoint(uint32 sliceIdx, uint32 slicesCount, double radius, Coord circleCenter) { + Coord coordPoint; + coordPoint.x = cos((2.0 * M_PI) * static_cast(sliceIdx)/static_cast(slicesCount)) * radius; + coordPoint.x += circleCenter.x; + coordPoint.y = sin((2.0 * M_PI) * static_cast(sliceIdx)/static_cast(slicesCount)) * radius; + coordPoint.y += circleCenter.y; + return coordPoint; +} + + +void VisualGraphics::drawBeatHistogram(const uint32* const beatHistogram, const VisualCamera& aCamera) { + GLdouble xPos; + GLdouble xPosIncVal; + GLdouble height; + uint32 maxval=0; + uint8 i; + for (i = 0; i < 100; i++) { + if (beatHistogram[i] > maxval) { + maxval = beatHistogram[i]; + } + } + xPos = aCamera.getMaxLeftCoord() + 0.2; + xPosIncVal = ((aCamera.getMaxRightCoord() - aCamera.getMaxLeftCoord()) / 2.0 / 100.0); + height = aCamera.getMaxTopCoord() - aCamera.getMaxBottomCoord(); + height /= 3.5; + //glLoadIdentity(); + glLineWidth(1.0f); + glColor3d(1.0, 1.0, 0.0); + //glTranslatef(0.5f, 0.0f, 0.0f); + glBegin (GL_LINE_STRIP); + xPos = xPos + xPosIncVal; + for (i = 0; i < 100; i++) { + glVertex2d(xPos, (height * ((GLdouble)beatHistogram[i] / (GLdouble)maxval))); + xPos = xPos + xPosIncVal; + glVertex2d(xPos, (height * ((GLdouble)beatHistogram[i] / (GLdouble)maxval))); + } + glEnd(); +} + + +bool VisualGraphics::canUseTextureRectExtension() { +#if TARGET_OS_MAC + /* + printf(this->capabilities.strRendererName); + printf("\n"); + printf(this->capabilities.strRendererVendor); + printf("\n"); + printf(this->capabilities.strRendererVersion); + printf("\n"); + if (this->capabilities.glVersion >= 0x0140) { + printf("Open GL 1.4\n"); + } else if (this->capabilities.glVersion >= 0x0130) { + printf("Open GL 1.3\n"); + } else if (this->capabilities.glVersion >= 0x0120) { + printf("Open GL 1.2\n"); + } else if (this->capabilities.glVersion >= 0x0110) { + printf("Open GL 1.1\n"); + } else if (this->capabilities.glVersion >= 0x0100) { + printf("Open GL 1.0\n"); + } else { + printf("Open GL ?.?"); + } + */ + //return false; // test + + if (this->capabilities.fTexRect) { + //printf("fTexRect true\n"); + return true; + } else { + //printf("fTexRect false\n"); + return false; + } + + //const GLubyte* strExt; + //strExt = glGetString (GL_EXTENSIONS); + //return false; + //return (gluCheckExtension ("GL_EXT_texture_rectangle", strExt)); +#endif +#if TARGET_OS_WIN + return false; +#endif +} + + +bool VisualGraphics::doesSupportGLConvolutionFilter() { + bool useGLConvolutionFilter = false; +#if TARGET_OS_WIN + // Declare function pointers + PFNGLCONVOLUTIONFILTER2DPROC glConvolutionFilter2D; + glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)wglGetProcAddress("glConvolutionFilter2D"); + //if (glConvolutionFilter2D) useGLConvolutionFilter = true; + // Because we want to use the software path on Windows for convolution filter, + // we generally return false on Windows for now +#endif +#if TARGET_OS_MAC + useGLConvolutionFilter = true; +#endif + return useGLConvolutionFilter; +} + + +void VisualGraphics::drawWaveform(const sint16 historyNum, const uint16 maxNumberOfHistories, const uint32 numberOfWaveformEntries, sint16** waveformDataMonoArray, const VisualCamera& aCamera) { + + if (historyNum == -1) return; + + GLdouble heightOfWaveform; + GLdouble widthOfWaveform; + GLdouble bottomCoord; + GLdouble rightCoord; + sint16 historyIdx; + uint32 i, k; + + GLdouble xPos; + GLdouble xPosIncVal; + + CoordSize3D size = aCamera.getSize(); + widthOfWaveform = size.width - this->xPixelToCoord(300, aCamera) - this->xPixelToCoord(30, aCamera); + heightOfWaveform = size.height / 7.0; + bottomCoord = aCamera.getMaxBottomCoord() + this->yPixelToCoord(10, aCamera); + rightCoord = aCamera.getMaxLeftCoord() + this->xPixelToCoord(10, aCamera) + widthOfWaveform; + xPosIncVal = widthOfWaveform / ((float)numberOfWaveformEntries * (float)maxNumberOfHistories); + + glLineWidth(1.0f); + glColor3d(0.7, 0.7, 0.7); + + glLoadIdentity(); + glTranslated(0.0, aCamera.getMaxBottomCoord() + this->xPixelToCoord(60, aCamera) + heightOfWaveform, 0.0f); + + // waveform history + historyIdx = historyNum; + xPos = rightCoord; + for (i = 0; i < maxNumberOfHistories; i++) { + glBegin(GL_LINE_STRIP); + for (k = 0; k < numberOfWaveformEntries; k++) { + //glVertex2f (xPos, static_cast(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform); + //waveformDataMonoArray[historyIdx][k] = 128; + glVertex2d(xPos, static_cast(waveformDataMonoArray[historyIdx][k]) / 128.0 * heightOfWaveform); + //glVertex2f (xPos, heightOfWaveform); + xPos -= xPosIncVal; + } + glEnd(); + if ((historyIdx - 1) < 0) { + historyIdx = maxNumberOfHistories - 1; + } else { + historyIdx--; + } + } + + // waveform of current waveform data chunk + glLoadIdentity(); + glTranslated(0.0, aCamera.getMaxBottomCoord() + this->xPixelToCoord(10, aCamera) + (heightOfWaveform / 2.0), 0.0); + + xPos = rightCoord; + xPosIncVal = widthOfWaveform / (float)numberOfWaveformEntries; + glBegin (GL_LINE_STRIP); + for (k = 0; k < numberOfWaveformEntries; k++) { + //glVertex2f(xPos, static_cast(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform); + //glVertex2f(xPos, static_cast(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform); + glVertex2d(xPos, static_cast(waveformDataMonoArray[historyNum][k]) / 128.0 * heightOfWaveform); + xPos -= xPosIncVal; + } + glEnd(); + +} + + +void VisualGraphics::drawHistoryDiagram(std::vector& aVector, size_t baseIdx, double minVal, double maxVal, const VisualCamera& aCamera) { + + bool drawBorder = true; + + theVisualGraphics = VisualGraphics::getInstance(); + + CoordSize3D size = aCamera.getSize(); + GLdouble diagramCoordWidth = size.width / 3.0; + GLdouble diagramCoordHeight = size.height / 7.0; + GLdouble topCoord = aCamera.getMaxTopCoord() - theVisualGraphics->xPixelToCoord(10, aCamera);; + GLdouble leftCoord = aCamera.getMaxLeftCoord() + theVisualGraphics->xPixelToCoord(10, aCamera); + GLdouble xCoordStepWidth = diagramCoordWidth / static_cast(aVector.size()); + + glLineWidth(1.0f); + glColor3d(0.0, 0.0, 1.0); + + glBegin (GL_LINE_STRIP); + + GLdouble xCoord = leftCoord + diagramCoordWidth; + size_t count = 0; + size_t currIdx = baseIdx; + double valueRange = maxVal - minVal; + while (count < aVector.size()) { + + glVertex2d(xCoord, topCoord - diagramCoordHeight + (static_cast(aVector[currIdx] / valueRange * diagramCoordHeight))); + xCoord -= xCoordStepWidth; + + if (currIdx == 0) { + currIdx = (aVector.size() - 1); + } else { + currIdx--; + } + count++; + } + + glEnd(); + + if (drawBorder == true) { + glLineWidth(1.0f); + glColor4d(0.0, 0.0, 1.0, 0.7); + glBegin (GL_LINE_LOOP); + glVertex2d(leftCoord, topCoord - diagramCoordHeight); + glVertex2d(leftCoord, topCoord); + glVertex2d(leftCoord + diagramCoordWidth, topCoord); + glVertex2d(leftCoord + diagramCoordWidth, topCoord - diagramCoordHeight); + glEnd(); + } + +} + + +void VisualGraphics::drawWaveformSpiral(const uint16 currHistoryNum, const uint16 numberOfWaveformEntries, const sint16* const waveformDataMonoArray) { + // eine Spriale der waveform-History + + + // neue Version der drawWaveformSpiral + //20030129 (HW) + // + + uint16 index; + uint16 historyIndex; + GLfloat waveformVal; + static GLfloat cosTwoTimesPi = 0.0f; + static GLfloat sinTwoTimesPi = 0.0f; + // float radius = 0.25; + float radius = 0.02f; + float waveRadius; + //uint8 waveformHistory[20][kVisualNumWaveformEntries]; + //uint16 timeStoreIndex; + //static uint16 accuElapsedMilliSecs; + uint32 accuElapsedMilliSecs; + //uint8 oneSecondIsOverBool = 0; + static sint8 redHistoryNum = 0; + uint16 theCurrHistoryNum; + + theCurrHistoryNum = currHistoryNum; + + if (cosTwoTimesPi == 0.0) { + cosTwoTimesPi = (float)(cos(2.0f * M_PI)); + } + + if (sinTwoTimesPi == 0.0) { + sinTwoTimesPi = (float)(sin(2.0f * M_PI)); + } + + //currMusicDataHistoryNum = pMusicStatsStruct->getCurrMusicDataHistory(); + + //timeStoreIndex = pTiming->storeMyTime("waveformSpiral"); + //accuElapsedMilliSecs += pTiming->getMyElapsedMilliseconds(timeStoreIndex); + accuElapsedMilliSecs = VisualTiming::getElapsedMilliSecsSinceReset("waveformSpiral"); + + /* + if (accuElapsedMilliSecs > 1000) { + oneSecondIsOverBool = 1; + //accuElapsedMilliSecs = 0; + //pTiming->clearMyTimeStore(timeStoreIndex); + pTiming->resetTimestamp("waveformSpiral"); + redHistoryNum = theCurrHistoryNum; + } else { + redHistoryNum--; + if (redHistoryNum == -1) { + redHistoryNum = 20; + } + } + */ + redHistoryNum--; + if (redHistoryNum == -1) { + redHistoryNum = 20; + } + + //pMusicStatsStruct->getMonoWaveformData(waveformHistory); + //pMusicStatsStruct->getMonoWaveformData((uint8*)waveformHistory, 20); + + glColor4d(0.0, 0.0, 0.0, 1.0); + glLineWidth(1.0f); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBegin (GL_LINE_STRIP); + + for (historyIndex = 0; historyIndex < 20; historyIndex++) { + + theCurrHistoryNum ++; + if (theCurrHistoryNum == 20) { + theCurrHistoryNum = 0; + } + + for (index = 0; index < numberOfWaveformEntries; index++) { + + waveformVal = waveformDataMonoArray[theCurrHistoryNum * numberOfWaveformEntries + index]; + + radius = radius + 0.00009f; + // radius = radius + (0.0004 * ((float)index2/18.0)); + // waveRadius = radius + (waveformVal/1024.0); + waveRadius = radius + ((waveformVal/255.0f) * 0.1f); + //waveRadius = radius + ((waveformVal/255.0)*0.6); + if (historyIndex == redHistoryNum) { + glColor4d(1.0, 0.0, 0.0, 1.0); // red + } else { + glColor4d(0.0, 0.0, 0.0, 1.0); + } + // nur jeder 10te Punkt wird gemalt + if (index%10 == 0) { + glVertex2f (waveRadius * (float)(cos ((2.0f * M_PI) * (float) index/(float) numberOfWaveformEntries)), + waveRadius * (float)(sin ((2.0f * M_PI) * (float) index/(float) numberOfWaveformEntries))); + } + + } + } + + glEnd(); + glDisable (GL_BLEND); + +} + + +void VisualGraphics::drawSpectrumAnalyzer(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera) { + + if (currHistoryNum == -1) return; + + GLdouble xPos; + GLdouble yPos; + GLdouble coordWidth; + GLdouble coordHeight; + uint16 index, i, k; + GLdouble spectrumVal; + uint16 numberOfSubBands = 15; + float* spectrumDataSubBands; + float maxSpectrumSum = 0; + uint32 numberOfEntriesPerBarGraph; + uint16 numberOfBlocksPerBarGraph = 10; + GLdouble heightOfCell; // heightOfCell = heightOfBlock + heightOfGapBetweenBlocks + GLdouble heightOfBlock; + GLdouble heightOfGapBetweenBlocks; + GLdouble widthOfCell; + GLdouble widthOfBlock; + + spectrumDataSubBands = (float*)malloc(numberOfSubBands * sizeof(float)); + for (i = 0; i < numberOfSubBands; i++) { + spectrumDataSubBands[i] = 0.0f; + } + numberOfEntriesPerBarGraph = numberOfSpectrumEntries / 2 / numberOfSubBands; + + // position on screen + coordWidth = this->xPixelToCoord(300, aCamera); + coordHeight = this->yPixelToCoord(70, aCamera); + heightOfCell = coordHeight / (float)numberOfBlocksPerBarGraph; + heightOfBlock = heightOfCell * 0.8; + heightOfGapBetweenBlocks = heightOfCell * 0.2; + widthOfCell = coordWidth / (float)numberOfSubBands; + widthOfBlock = widthOfCell * 0.9; + + xPos = aCamera.getMaxRightCoord() - coordWidth; + xPos -= this->xPixelToCoord(10, aCamera); + + glLineWidth(1.0f); + glColor3d(0.7,0.7,0.7); + + glLoadIdentity(); + + glPointSize(1.0f); + + glTranslated(0.0, aCamera.getMaxBottomCoord() + this->xPixelToCoord(10, aCamera), 0.0); + + // collect values for each subBand + index = 0; + for (i = 0; i < (numberOfSpectrumEntries / 2); i++) { + if ((i > 0) && (i%numberOfEntriesPerBarGraph == 0)) index++; + if (index < (numberOfSubBands - 1)) { + //spectrumDataSubBands[index] += (float)spectrumDataArray[currHistoryNum * numberOfAudioChannels * numberOfSpectrumEntries + i + 0]; // channel 0 + spectrumDataSubBands[index] += (float)spectrumDataArray[currHistoryNum][0][i]; // channel 0 + //spectrumDataSubBands[index] += (float)10; + } + } + + for (i = 0; i < numberOfSubBands; i++) { + if (spectrumDataSubBands[i] > maxSpectrumSum) { + maxSpectrumSum = spectrumDataSubBands[i]; + } + } + for (i = 0; i < numberOfSubBands; i++) { + spectrumDataSubBands[i] = spectrumDataSubBands[i] / maxSpectrumSum; // maximum value 1.0 + } + + + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBegin (GL_QUADS); + for (i = 0; i < numberOfSubBands; i++) { + spectrumVal = spectrumDataSubBands[i]; + for (k = 0; k < numberOfBlocksPerBarGraph; k++) { + if ((spectrumVal * coordHeight) > (k * heightOfCell)) { + glColor4d(0.0, 0.0, 0.0, 0.6); + } else { + glColor4d(0.8, 0.8, 0.8, 0.1); + } + yPos = (float)k * heightOfCell + (float)heightOfGapBetweenBlocks; + glVertex2d(xPos, 0.0 + yPos); + glVertex2d(xPos + widthOfBlock, 0.0 + yPos); + glVertex2d(xPos + widthOfBlock, 0.0 + yPos + heightOfBlock); + glVertex2d(xPos, 0.0 + yPos + heightOfBlock); + } + xPos += widthOfCell; + } + glEnd(); + glDisable (GL_BLEND); + + free(spectrumDataSubBands); + +} + + +void VisualGraphics::drawSpectrogram(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera) { + + if (currHistoryNum == -1) return; + + GLdouble heightOfSpectrogram; + GLdouble widthOfSpectrogram; + GLdouble bottomCoord; + GLdouble leftCoord; + GLdouble rowCoordHeight; + GLdouble xCoordStepSize; + GLdouble xCoordPos; + GLdouble yCoordPos; + uint16 i; + uint16 k; + sint16 historyIdx; + char strInC[32]; + + CoordSize3D size = aCamera.getSize(); + widthOfSpectrogram = this->xPixelToCoord(300, aCamera); + heightOfSpectrogram = size.height - this->yPixelToCoord(95, aCamera); + bottomCoord = aCamera.getMaxBottomCoord() + this->yPixelToCoord(85, aCamera); + leftCoord = aCamera.getMaxRightCoord() - widthOfSpectrogram - this->yPixelToCoord(10, aCamera); + rowCoordHeight = heightOfSpectrogram / (float)numberOfHistories; + xCoordStepSize = widthOfSpectrogram / (numberOfSpectrumEntries / 2); + + + //glEnable (GL_BLEND); + //glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + //glBlendFunc (GL_SRC_ALPHA, GL_ZERO); + sprintf(strInC, "%d", currHistoryNum); + setProcessInfo ("CurrHistoryNum", strInC); + + yCoordPos = bottomCoord; + historyIdx = currHistoryNum; + + for (i = 0; i < numberOfHistories; i++) { + xCoordPos = leftCoord; + glBegin(GL_TRIANGLE_STRIP); + for (k = 0; k < (numberOfSpectrumEntries / 2); k++) { + //glColor4f((float)spectrumDataArray[historyIdx * numberOfAudioChannels * numberOfSpectrumEntries + k + 0] / 255.0f, 0.0f, 0.0f, 0.8f); + glColor4d((float)spectrumDataArray[historyIdx][0][k] / 255.0, 0.0, 0.0, 0.8); + glVertex2d(xCoordPos, yCoordPos + rowCoordHeight); + glVertex2d(xCoordPos, yCoordPos); + xCoordPos+= xCoordStepSize; + } + glEnd(); + yCoordPos+= rowCoordHeight; + if ((historyIdx - 1) < 0) { + historyIdx = numberOfHistories - 1; + } else { + historyIdx--; + } + } + + //glDisable (GL_BLEND); + +} + + +void VisualGraphics::drawWaveformCircle (const float xNum, const float yNum, const float rotVal, const float radius) { + GLUquadricObj *qobj; + + // glLoadIdentity(); + + glRotatef(rotVal, 0.0f, 0.0f, 1.0f); + glTranslatef(xNum, yNum, 0.0f); + + // glCallList(startList); + + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + + qobj = gluNewQuadric(); + + gluQuadricDrawStyle(qobj, GLU_SILHOUETTE); + + gluDisk (qobj, 0.0, radius, 10, 1); + +} + + +void VisualGraphics::drawCStringWithGL (const char* const cString, const uint16 stringLength) { +#if TARGET_OS_MAC + for (uint16 i = 0; i < stringLength; i++) { + glutBitmapCharacter(GLUT_BITMAP_8_BY_13, cString[i]); + } +#endif +#if TARGET_OS_WIN + this->glPrint(cString); +#endif +} + + +void VisualGraphics::doFallbackActorShow(const char* const visualActorName) { + GLdouble xCoordPos, yCoordPos; + int len; + char fallbackActorString[128]; + strcpy(fallbackActorString, visualActorName); + strcat(fallbackActorString, ": unimplemented show() method in VisualActor implementation"); + len = (int)strlen(fallbackActorString); + + VisualCamera* aCamera = VisualCamera::createDefaultCamera(); + xCoordPos = aCamera->getMaxLeftCoord() + this->xPixelToCoord(10, *aCamera); + yCoordPos = aCamera->getMaxBottomCoord() + this->yPixelToCoord(62, *aCamera); + delete aCamera; + glColor3d(1.0, 1.0, 0.0); + glRasterPos3d(xCoordPos, yCoordPos, 0.0); + this->drawCStringWithGL(fallbackActorString, len); +} + + +float VisualGraphics::getCosTwoTimesPi() { + return (float)(cos (2.0f * (float)M_PI)); +} + + +float VisualGraphics::getSinTwoTimesPi() { + return (float)(sin (2.0f * (float)M_PI)); +} + + +uint32 VisualGraphics::getNextFreeTextureName() { + GLuint aTextureName; + glGenTextures(1, &aTextureName); + return (uint32)aTextureName; +} + + +void VisualGraphics::deleteTextures(const uint16 numberOfTextures, const uint32* const textureNames) { + glDeleteTextures(numberOfTextures, (GLuint*)textureNames); +} + + +void VisualGraphics::showProcessInfoRow(Coord coord, const char* const textRowStr) { + int len; + glRasterPos3d(coord.x, coord.y, coord.z); + len = (int)strlen(textRowStr); + this->drawCStringWithGL(textRowStr, len); +} + + +void VisualGraphics::showProcessInfoNote() { + char noteStr[128]; + GLdouble xCoordPos, yCoordPos; + glColor3d(1.0, 1.0, 1.0); + strcpy(noteStr, "Press [s] on the keyboard to hide Process Monitor Info"); + VisualCamera* aCamera = VisualCamera::createDefaultCamera(); + xCoordPos = aCamera->getMaxLeftCoord() + this->xPixelToCoord(10, *aCamera); + yCoordPos = aCamera->getMaxBottomCoord() + this->yPixelToCoord(36, *aCamera); + glRasterPos3d(xCoordPos, yCoordPos, 0.0); + this->drawCStringWithGL(noteStr, strlen(noteStr)); + strcpy(noteStr, "Press [a] on the keyboard to hide Process Monitor Audio Info"); + xCoordPos = aCamera->getMaxLeftCoord() + this->xPixelToCoord(10, *aCamera); + yCoordPos = aCamera->getMaxBottomCoord() + this->yPixelToCoord(18, *aCamera); + delete aCamera; + glRasterPos3d(xCoordPos, yCoordPos, 0.0); + this->drawCStringWithGL(noteStr, strlen(noteStr)); +} + + +PixelColor* VisualGraphics::clipPixelData(const PixelColor* inPixelData, const PixelRect& inPixelRect, const TopLeftPositionedPixelRect& clipRect) { + uint8 numberOfBytesPerPixel = 4; + PixelColor* clippedPixelData = (uint32*)malloc(clipRect.pixelRect.width * clipRect.pixelRect.height * numberOfBytesPerPixel); + for (uint32 y = clipRect.topLeftPixel.y; y < clipRect.pixelRect.height; y++) { + for (uint32 x = clipRect.topLeftPixel.x; x < clipRect.pixelRect.width; x++) { + clippedPixelData[y * clipRect.pixelRect.width + x] = inPixelData[y * inPixelRect.width + x]; + } + } + return clippedPixelData; +} + + +#if TARGET_OS_MAC +CGContextRef VisualGraphics::createBitmapContext(size_t pixelWidth, size_t pixelHeight) { + + size_t bitsPerComponent = 8; + + uint16 bitmapBytesPerRow = pixelWidth * 4; + uint32 bitmapByteCount = bitmapBytesPerRow * pixelHeight; + + //CGColorSpaceRef colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); // In Mac OS X v10.4 and later, this color space is no longer device-dependent and is replaced by the generic counterpart � kCGColorSpaceGenericRGB + + uint8* bitmapData = (uint8*)malloc(bitmapByteCount); + if (bitmapData == NULL) { + writeLog("bitmapData is NULL in createBitmapContext"); + return NULL; + } + memset(bitmapData, 0, bitmapByteCount); + + CGBitmapInfo bitmapInfo = (kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); + CGContextRef context = CGBitmapContextCreate(bitmapData, pixelWidth, pixelHeight, bitsPerComponent, bitmapBytesPerRow, colorSpace, bitmapInfo); + if (context == NULL) { + free (bitmapData); + writeLog("context is NULL in createBitmapContext"); + return NULL; + } + CGColorSpaceRelease(colorSpace); + + return context; +} +#endif + + +bool VisualGraphics::copyARGBBitmapDataToTexture(uint32 textureNumber, uint32 imageWidth, uint32 imageHeight, bool canUseRectExtension, const PixelColor** bitmapData, bool debug) { + + bool success = true; + + GLvoid* argbPixels = NULL; + + if (debug == true) { + argbPixels = (GLvoid*)VisualColorTools::createARGBCheckPixels(imageWidth, imageHeight); + } else { + argbPixels = (GLvoid*)*bitmapData; + } + + if (canUseRectExtension == false) { + glEnable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glEnable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } + + if (canUseRectExtension == false) { + glBindTexture(GL_TEXTURE_2D, (GLuint)textureNumber); + + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + // glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE); + + } else { +#if TARGET_OS_MAC + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber); +#endif + } + + this->setPixelStorageParams(); + + // GL_BGRA/GL_UNSIGNED_BYTE and GL_BGRA/GL_UNSIGNED_INT_8_8_8_8_REV are equivalent on little endian machines + + if (canUseRectExtension == false) { + + uint32 potWidth = this->power2Ceiling(imageWidth); + uint32 potHeight = this->power2Ceiling(imageHeight); + PixelColor* powerOfTwoPixelData = (PixelColor*)calloc(potWidth * potHeight, sizeof(PixelColor)); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, potWidth, potHeight, 0, GL_BGRA, GL_UNSIGNED_BYTE, powerOfTwoPixelData); + free(powerOfTwoPixelData); + +#if __BIG_ENDIAN__ + VisualColorTools::convertInterleavedPixels1234To4321((PixelColor*)argbPixels, imageWidth * imageHeight); +#endif + + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, imageWidth, imageHeight, GL_BGRA, GL_UNSIGNED_BYTE, argbPixels); + + } else { +#if TARGET_OS_MAC + glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, imageWidth, imageHeight, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, argbPixels); +#endif + } + + if (canUseRectExtension == false) { + glDisable (GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glDisable (GL_TEXTURE_RECTANGLE_EXT); +#endif + } + + if (debug == true) { + free(argbPixels); + } + + return success; + +} + + +#if TARGET_OS_WIN + + +void VisualGraphics::buildFont() // Build Our Bitmap Font +{ + HFONT font; // Windows Font ID + HFONT oldfont; // Used For Good House Keeping + + base = glGenLists(96); // Storage For 96 Characters + + font = CreateFont( -15, // Height Of Font + 0, // Width Of Font + 0, // Angle Of Escapement + 0, // Orientation Angle + FW_NORMAL, // Font Weight + FALSE, // Italic + FALSE, // Underline + FALSE, // Strikeout + ANSI_CHARSET, // Character Set Identifier + OUT_TT_PRECIS, // Output Precision + CLIP_DEFAULT_PRECIS, // Clipping Precision + DEFAULT_QUALITY, // Output Quality + FF_DONTCARE|DEFAULT_PITCH, // Family And Pitch + "Arial"); // Font Name + + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + + oldfont = (HFONT)SelectObject(theVisualGraphicsCore->getWindowDC(), font); // Selects The Font We Want + wglUseFontBitmaps(theVisualGraphicsCore->getWindowDC(), 32, 96, base); // Builds 96 Characters Starting At Character 32 + SelectObject(theVisualGraphicsCore->getWindowDC(), oldfont); // Selects The Font We Want + DeleteObject(font); // Delete The Font +} + + +void VisualGraphics::killFont(void) { + // Delete All 96 Characters + glDeleteLists(base, 96); +} + + +void VisualGraphics::glPrint(const char *fmt, ...) { + // Custom GL "Print" Routine + char text[256]; // Holds Our String + va_list ap; // Pointer To List Of Arguments + + if (fmt == NULL) // If There's No Text + return; // Do Nothing + + va_start(ap, fmt); // Parses The String For Variables + vsprintf(text, fmt, ap); // And Converts Symbols To Actual Numbers + va_end(ap); // Results Are Stored In Text + + glPushAttrib(GL_LIST_BIT); // Pushes The Display List Bits + glListBase(base - 32); // Sets The Base Character to 32 + glCallLists(strlen(text), GL_UNSIGNED_BYTE, text); // Draws The Display List Text + glPopAttrib(); // Pops The Display List Bits + +} + +#endif + + +const char* const VisualGraphics::getRendererName() { + return this->capabilities.strRendererName; +} + + +const char* const VisualGraphics::getRendererVendor() { + return this->capabilities.strRendererVendor; +} + + +const char* const VisualGraphics::getRendererVersion() { + return this->capabilities.strRendererVersion; +} + + +unsigned short VisualGraphics::getGLVersion() { + return this->capabilities.glVersion; +} + + +long VisualGraphics::getMaxTextureSize() { + return (long)this->capabilities.maxTextureSize; +} + + +double VisualGraphics::xPixelToCoord(uint32 pixelPos, const VisualCamera& aCamera) { + CoordSize3D size = aCamera.getSize(); + return ((double)pixelPos * (size.width / (double)this->getCanvasPixelWidth())); +} + + +double VisualGraphics::yPixelToCoord(uint32 pixelPos, const VisualCamera& aCamera) { + CoordSize3D size = aCamera.getSize(); + return ((double)pixelPos * (size.height / (double)this->getCanvasPixelHeight())); +} + + +uint16 VisualGraphics::xCoordToPixel(double coordPos, const VisualCamera& aCamera) { + CoordSize3D size = aCamera.getSize(); + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + double tempCoord = coordPos + (size.width / 2.0); + + return (uint16)(tempCoord * ((double)this->getCanvasPixelWidth() / size.width)); +} + + +uint16 VisualGraphics::yCoordToPixel(double coordPos, const VisualCamera& aCamera) { + CoordSize3D size = aCamera.getSize(); + VisualGraphicsCore* theVisualGraphicsCore; + theVisualGraphicsCore = VisualGraphicsCore::getInstance(); + double tempCoord = coordPos + (size.height / 2.0); + + return (uint16)(tempCoord * ((double)this->getCanvasPixelHeight() / size.height)); +} + + +bool VisualGraphics::getCoordsOfPixelPosition( + double xPixelPos, + double yPixelPos, + double zAxisPos, + double* xCoordPos, + double* yCoordPos, + double* zCoordPos) { + bool success = false; + + GLdouble modelviewMatrix[16]; + GLdouble projectionMatrix[16]; + GLint viewport[4]; + GLint retVal; + glGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix); + glGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix); + glGetIntegerv(GL_VIEWPORT, viewport); + retVal = gluUnProject(xPixelPos, + yPixelPos, + zAxisPos, + modelviewMatrix, + projectionMatrix, + viewport, + xCoordPos, + yCoordPos, + zCoordPos); + if (retVal == GL_TRUE) { + success = true; + } + return success; +} + + +bool VisualGraphics::getPixelsOfCoordPosition( + double xCoordPos, + double yCoordPos, + double zCoordPos, + double* xPixelPos, + double* yPixelPos, + double* zAxisPos) { + bool success = false; + + GLdouble modelviewMatrix[16]; + GLdouble projectionMatrix[16]; + GLint viewport[4]; + GLint retVal; + glGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix); + glGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix); + glGetIntegerv(GL_VIEWPORT, viewport); + /* + for (int i = 0; i < 16; i++) { + printf("modelviewMatrix: %.2f\n", modelviewMatrix[i]); + } + + for (int i = 0; i < 16; i++) { + printf("projectionMatrix: %.2f\n", projectionMatrix[i]); + } + + for (int i = 0; i < 4; i++) { + printf("viewport: %d\n", viewport[i]); + } + */ + retVal = gluProject(xCoordPos, + yCoordPos, + zCoordPos, + modelviewMatrix, + projectionMatrix, + viewport, + xPixelPos, + yPixelPos, + zAxisPos); + if (retVal == GL_TRUE) { + success = true; + } + return success; +} + + +void VisualGraphics::gatherOpenGLCapabilities() { + + const GLubyte* strExt; + + const GLubyte* strRend; + const GLubyte* strVers; + const GLubyte* strVend; + + GLint maxTextureSize; + + this->capabilities.glVersion = 0; + + // get renderer strings + strRend = glGetString (GL_RENDERER); + strncpy (this->capabilities.strRendererName, (char*)strRend, 255); + strVend = glGetString (GL_VENDOR); + strncpy (this->capabilities.strRendererVendor, (char*)strVend, 255); + strVers = glGetString (GL_VERSION); + strncpy (this->capabilities.strRendererVersion, (char*)strVers, 255); + { // get BCD version + short j = 0; + short shiftVal = 8; + while (((strVers[j] <= '9') && (strVers[j] >= '0')) || (strVers[j] == '.')) { + // get only basic version info (until first non-digit or non-.) + if ((strVers[j] <= '9') && (strVers[j] >= '0')) { + this->capabilities.glVersion += (strVers[j] - '0') << shiftVal; + shiftVal -= 4; + } + j++; + } + } + + strExt = glGetString (GL_EXTENSIONS); + //writeLog((char*)strExt); + + /* + uint16 cnt = 0; + char* token = NULL; + char* text=(char *)malloc(strlen((char *)glGetString(GL_EXTENSIONS))+1); // Allocate Memory For Our Extension String + strcpy (text,(char *)glGetString(GL_EXTENSIONS)); // Grab The Extension List, Store In Text + + token=strtok(text," "); // Parse 'text' For Words, Seperated By " " (spaces) + uint16 maxtokens = 80; + while(token!=NULL) // While The Token Isn't NULL + { + + //glColor3f(0.5f,1.0f,0.5f); // Set Color To Bright Green + //glPrint(0,96+(cnt*32)-scroll,0,"%i",cnt); // Print Current Extension Number + //glColor3f(1.0f,1.0f,0.5f); // Set Color To Yellow + //glPrint(50,96+(cnt*32)-scroll,0,token); // Print The Current Token (Parsed Extension Name) + writeLog(token); + token=strtok(NULL," "); // Search For The Next Token + cnt++; // Increase The Counter + if (cnt>maxtokens) // Is 'maxtokens' Less Than 'cnt' + { + token = NULL; // If So, Set 'maxtokens' Equal To 'cnt' + } + } + */ + + + + glGetIntegerv (GL_MAX_TEXTURE_SIZE, &maxTextureSize); + this->capabilities.maxTextureSize = (long)maxTextureSize; + + // get caps +#if TARGET_OS_MAC + glGetIntegerv (GL_MAX_TEXTURE_UNITS, + (GLint*)&this->capabilities.textureUnits); + glGetIntegerv (GL_MAX_3D_TEXTURE_SIZE, + (GLint*)&this->capabilities.max3DTextureSize); + glGetIntegerv (GL_MAX_CUBE_MAP_TEXTURE_SIZE, + (GLint*)&this->capabilities.maxCubeMapTextureSize); + + // get functionality info + this->capabilities.fSpecularVector = + gluCheckExtension ((GLubyte*)"GL_APPLE_specular_vector", strExt); + this->capabilities.fTransformHint = + gluCheckExtension ((GLubyte*)"GL_APPLE_transform_hint", strExt); + this->capabilities.fPackedPixels = + gluCheckExtension ((GLubyte*)"GL_APPLE_packed_pixels", strExt) || + gluCheckExtension ((GLubyte*)"GL_APPLE_packed_pixel", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fClientStorage = + gluCheckExtension ((GLubyte*)"GL_APPLE_client_storage", strExt); + this->capabilities.fYCbCr = + gluCheckExtension ((GLubyte*)"GL_APPLE_ycbcr_422", strExt); + this->capabilities.fTextureRange = + gluCheckExtension ((GLubyte*)"GL_APPLE_texture_range", strExt); + this->capabilities.fFence = + gluCheckExtension ((GLubyte*)"GL_APPLE_fence", strExt); + this->capabilities.fVAR = + gluCheckExtension ((GLubyte*)"GL_APPLE_vertex_array_range", strExt); + this->capabilities.fVAO = + gluCheckExtension ((GLubyte*)"GL_APPLE_vertex_array_object", strExt); + this->capabilities.fElementArray = + gluCheckExtension ((GLubyte*)"GL_APPLE_element_array", strExt); + this->capabilities.fVPEvals = + gluCheckExtension((GLubyte*)"GL_APPLE_vertex_program_evaluators",strExt); + this->capabilities.fFloatPixels = + gluCheckExtension ((GLubyte*)"GL_APPLE_float_pixels", strExt); + this->capabilities.fFlushRenderer = + gluCheckExtension ((GLubyte*)"GL_APPLE_flush_render", strExt); + this->capabilities.fPixelBuffer = + gluCheckExtension ((GLubyte*)"GL_APPLE_pixel_buffer", strExt); + this->capabilities.fImaging = + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fTransposeMatrix = + gluCheckExtension ((GLubyte*)"GL_ARB_transpose_matrix", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fMultitexture = + gluCheckExtension ((GLubyte*)"GL_ARB_multitexture", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexEnvAdd = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_add", strExt) || + gluCheckExtension ((GLubyte*)"GL_EXT_texture_env_add", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexEnvCombine = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_combine", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexEnvDot3 = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_dot3", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexEnvCrossbar = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_crossbar", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fTexCubeMap = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_cube_map", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexCompress = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_compression", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fMultisample = + gluCheckExtension ((GLubyte*)"GL_ARB_multisample", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fTexBorderClamp = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_border_clamp", strExt) || + (this->capabilities.glVersion >= 0x0130); + this->capabilities.fPointParam = + gluCheckExtension ((GLubyte*)"GL_ARB_point_parameters", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fVertexProg = + gluCheckExtension ((GLubyte*)"GL_ARB_vertex_program", strExt); + this->capabilities.fFragmentProg = + gluCheckExtension ((GLubyte*)"GL_ARB_fragment_program", strExt); + this->capabilities.fTexMirrorRepeat = + gluCheckExtension ((GLubyte*)"GL_ARB_texture_mirrored_repeat", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fDepthTex = + gluCheckExtension ((GLubyte*)"GL_ARB_depth_texture", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fShadow = + gluCheckExtension ((GLubyte*)"GL_ARB_shadow", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fShadowAmbient = + gluCheckExtension ((GLubyte*)"GL_ARB_shadow_ambient", strExt); + this->capabilities.fVertexBlend = + gluCheckExtension ((GLubyte*)"GL_ARB_vertex_blend", strExt); + this->capabilities.fWindowPos = + gluCheckExtension ((GLubyte*)"GL_ARB_window_pos", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fTex3D = + gluCheckExtension ((GLubyte*)"GL_EXT_texture3D", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fClipVolHint = + gluCheckExtension ((GLubyte*)"GL_EXT_clip_volume_hint", strExt); + this->capabilities.fRescaleNorm = + gluCheckExtension ((GLubyte*)"GL_EXT_rescale_normal", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fBlendColor = + gluCheckExtension ((GLubyte*)"GL_EXT_blend_color", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fBlendMinMax = + gluCheckExtension ((GLubyte*)"GL_EXT_blend_minmax", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fBlendSub = + gluCheckExtension ((GLubyte*)"GL_EXT_blend_subtract", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fCVA = + gluCheckExtension ((GLubyte*)"GL_EXT_compiled_vertex_array", strExt); + this->capabilities.fTexLODBias = + gluCheckExtension ((GLubyte*)"GL_EXT_texture_lod_bias", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fABGR = + gluCheckExtension ((GLubyte*)"GL_EXT_abgr", strExt); + this->capabilities.fBGRA = + gluCheckExtension ((GLubyte*)"GL_EXT_bgra", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fTexFilterAniso = + gluCheckExtension ((GLubyte*)"GL_EXT_texture_filter_anisotropic",strExt); + this->capabilities.fPaletteTex = + gluCheckExtension ((GLubyte*)"GL_EXT_paletted_texture", strExt); + this->capabilities.fShareTexPalette = + gluCheckExtension ((GLubyte*)"GL_EXT_shared_texture_palette", strExt); + this->capabilities.fSecColor = + gluCheckExtension ((GLubyte*)"GL_EXT_secondary_color", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fTexCompressS3TC = + gluCheckExtension ((GLubyte*)"GL_EXT_texture_compression_s3tc", strExt); + this->capabilities.fTexRect = + gluCheckExtension ((GLubyte*)"GL_EXT_texture_rectangle", strExt); + this->capabilities.fFogCoord = + gluCheckExtension ((GLubyte*)"GL_EXT_fog_coord", strExt); + this->capabilities.fDrawRangeElements = + gluCheckExtension ((GLubyte*)"GL_EXT_draw_range_elements", strExt); + this->capabilities.fStencilWrap = + gluCheckExtension ((GLubyte*)"GL_EXT_stencil_wrap", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fBlendFuncSep = + gluCheckExtension ((GLubyte*)"GL_EXT_blend_func_separate", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fMultiDrawArrays = + gluCheckExtension ((GLubyte*)"GL_EXT_multi_draw_arrays", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fShadowFunc = + gluCheckExtension ((GLubyte*)"GL_EXT_shadow_funcs", strExt); + this->capabilities.fStencil2Side = + gluCheckExtension ((GLubyte*)"GL_EXT_stencil_two_side", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fColorSubtable = + gluCheckExtension ((GLubyte*)"GL_EXT_color_subtable", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fConvolution = + gluCheckExtension ((GLubyte*)"GL_EXT_convolution", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fHistogram = + gluCheckExtension ((GLubyte*)"GL_EXT_histogram", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fColorTable = + gluCheckExtension ((GLubyte*)"GL_SGI_color_table", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fColorMatrix = + gluCheckExtension ((GLubyte*)"GL_SGI_color_matrix", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + this->capabilities.fTexEdgeClamp = + gluCheckExtension ((GLubyte*)"GL_SGIS_texture_edge_clamp", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fGenMipmap = + gluCheckExtension ((GLubyte*)"GL_SGIS_generate_mipmap", strExt); + this->capabilities.fTexLOD = + gluCheckExtension ((GLubyte*)"GL_SGIS_texture_lod", strExt) || + (this->capabilities.glVersion >= 0x0120); + this->capabilities.fPointCull = + gluCheckExtension ((GLubyte*)"GL_ATI_point_cull_mode", strExt); + this->capabilities.fTexMirrorOnce = + gluCheckExtension ((GLubyte*)"GL_ATI_texture_mirror_once", strExt); + this->capabilities.fPNtriangles = + gluCheckExtension ((GLubyte*)"GL_ATI_pn_triangles", strExt) || + gluCheckExtension ((GLubyte*)"GL_ATIX_pn_triangles", strExt); + this->capabilities.fTextFragShader = + gluCheckExtension ((GLubyte*)"GL_ATI_text_fragment_shader", strExt); + this->capabilities.fBlendEqSep = + gluCheckExtension ((GLubyte*)"GL_ATI_blend_equation_separate", strExt); + this->capabilities.fBlendWeightMinMax = + gluCheckExtension ((GLubyte*)"GL_ATI_blend_weighted_minmax", strExt); + this->capabilities.fCombine3 = + gluCheckExtension ((GLubyte*)"GL_ATI_texture_env_combine3", strExt); + this->capabilities.fSepStencil = + gluCheckExtension ((GLubyte*)"GL_ATI_separate_stencil", strExt); + this->capabilities.fArrayRevComps4Byte = + gluCheckExtension ((GLubyte*)"GL_ATI_array_rev_comps_in_4_bytes",strExt); + this->capabilities.fPointSprite = + gluCheckExtension ((GLubyte*)"GL_NV_point_sprite", strExt); + this->capabilities.fRegCombiners = + gluCheckExtension ((GLubyte*)"GL_NV_register_combiners", strExt); + this->capabilities.fRegCombiners2 = + gluCheckExtension ((GLubyte*)"GL_NV_register_combiners2", strExt); + this->capabilities.fTexEnvCombine4 = + gluCheckExtension ((GLubyte*)"GL_NV_texture_env_combine4", strExt); + this->capabilities.fBlendSquare = + gluCheckExtension ((GLubyte*)"GL_NV_blend_square", strExt) || + (this->capabilities.glVersion >= 0x0140); + this->capabilities.fFogDist = + gluCheckExtension ((GLubyte*)"GL_NV_fog_distance", strExt); + this->capabilities.fMultisampleFilterHint = + gluCheckExtension ((GLubyte*)"GL_NV_multisample_filter_hint", strExt); + this->capabilities.fTexGenReflect = + gluCheckExtension ((GLubyte*)"GL_NV_texgen_reflection", strExt); + this->capabilities.fTexShader = + gluCheckExtension ((GLubyte*)"GL_NV_texture_shader", strExt); + this->capabilities.fTexShader2 = + gluCheckExtension ((GLubyte*)"GL_NV_texture_shader2", strExt); + this->capabilities.fTexShader3 = + gluCheckExtension ((GLubyte*)"GL_NV_texture_shader3", strExt); + this->capabilities.fDepthClamp = + gluCheckExtension ((GLubyte*)"GL_NV_depth_clamp", strExt); + this->capabilities.fLightMaxExp = + gluCheckExtension ((GLubyte*)"GL_NV_light_max_exponent", strExt); + this->capabilities.fRasterPosClip = + gluCheckExtension ((GLubyte*)"GL_IBM_rasterpos_clip", strExt); + this->capabilities.fConvBorderModes = + gluCheckExtension ((GLubyte*)"GL_HP_convolution_border_modes", strExt) || + gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt); + + if (this->capabilities.fTexRect) { + // only check if extension supported + glGetIntegerv (GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT, (GLint*)&this->capabilities.maxRectTextureSize); + } else { + this->capabilities.maxRectTextureSize = 0; + } +#endif +} + + +uint32 VisualGraphics::power2Ceiling(uint32 n) { + uint32 i = 1; + while (i < n) i <<= 1; + return i; +} + + +VisualNurbs* VisualGraphics::createNurbsObject(const VisualItemIdentifier& identifier, uint8 sNumKnots, float* sKnots, uint8 tNumKnots, float* tKnots, uint16 sStride, uint16 tStride, uint16 sOrder, uint16 tOrder) { + + VisualNurbs* aVisualNurbs = new VisualNurbs(sNumKnots, sKnots, tNumKnots, tKnots, sStride, tStride, sOrder, tOrder); + + NurbsMapIterator it; + it = this->nurbsMap.find(identifier); + if (it == this->nurbsMap.end()) { + this->nurbsMap[identifier] = aVisualNurbs; + } else { + if (it->second) { + delete it->second; + } + it->second = aVisualNurbs; + } + return aVisualNurbs; +} + + +VisualNurbs* VisualGraphics::getNurbsObject(const VisualItemIdentifier& identifier) { + + NurbsMapIterator it = this->nurbsMap.find(identifier); + if (it != this->nurbsMap.end()) { + return it->second; + } + return NULL; +} + + +void VisualGraphics::deleteNurbsObject(const VisualItemIdentifier& identifier) { + NurbsMapIterator it = this->nurbsMap.find(identifier); + if (it != this->nurbsMap.end()) { + delete it->second; + this->nurbsMap.erase(it); + } +} + + +void VisualGraphics::copyFramebufferToTexture(uint32 textureNumber, bool canUseRectExtension, const BottomLeftPositionedPixelRect& clipRect, uint16 pixelFormat, uint16 dataType) { + + bool debug = false; + + theVisualGraphics = VisualGraphics::getInstance(); + Pixel bottomLeftViewportOrigin = this->getViewportBottomLeftOrigin(); + + if (canUseRectExtension == false) { + glEnable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glEnable (GL_TEXTURE_RECTANGLE_EXT); +#endif + } + + if (canUseRectExtension == false) { + glBindTexture(GL_TEXTURE_2D, (GLuint)textureNumber); + } else { +#if TARGET_OS_MAC + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber); +#endif + } + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + if (debug == false) { + if (canUseRectExtension == false) { + glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (bottomLeftViewportOrigin.x + clipRect.bottomLeftPixel.x), (bottomLeftViewportOrigin.y + clipRect.bottomLeftPixel.y), clipRect.pixelRect.width, clipRect.pixelRect.height, 0); + } else { +#if TARGET_OS_MAC + glCopyTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, (bottomLeftViewportOrigin.x + clipRect.bottomLeftPixel.x), (bottomLeftViewportOrigin.y + clipRect.bottomLeftPixel.y), clipRect.pixelRect.width, clipRect.pixelRect.height, 0); +#endif + } + } else { + uint32* image = NULL; +#if TARGET_OS_WIN + image = VisualColorTools::createBGRACheckPixels(clipRect.pixelRect.width, clipRect.pixelRect.height, blue); +#endif +#if TARGET_OS_MAC + image = VisualColorTools::createARGBCheckPixels(clipRect.pixelRect.width, clipRect.pixelRect.height, blue); +#endif + this->setPixelStorageParams(); + if (canUseRectExtension == false) { +#if TARGET_OS_WIN + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, clipRect.pixelRect.width, clipRect.pixelRect.height, 0, pixelFormat, dataType, (GLubyte*)image); +#endif +#if TARGET_OS_MAC + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, clipRect.pixelRect.width, clipRect.pixelRect.height, 0, pixelFormat, dataType, (GLuint*)image); +#endif + } else { +#if TARGET_OS_MAC + glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, clipRect.pixelRect.width, clipRect.pixelRect.height, 0, pixelFormat, dataType, (GLuint*)image); +#endif + } + free(image); + } + + if (canUseRectExtension == false) { + glDisable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glDisable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } + +} diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphics.h b/src/projectM-iTunes-VizKit/source/VisualGraphics.h new file mode 100644 index 0000000000..9218540637 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphics.h @@ -0,0 +1,1125 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphics.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualGraphics_h +#define VisualGraphics_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#include +#include + +#if TARGET_OS_MAC +#include // CGrafPtr +#endif + +#if TARGET_OS_WIN +#include // HWND +#endif + +#ifndef GRAPHICS_DEVICE +#if TARGET_OS_WIN +#define GRAPHICS_DEVICE HWND +#endif +#if TARGET_OS_MAC +#define GRAPHICS_DEVICE CGrafPtr +#endif +#endif + + +namespace VizKit { + + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + class VisualNurbs; // Forward declaration (to avoid include of header file). + class VisualConvolutionFilter; // Forward declaration (to avoid include of header file). + class VisualCamera; // Forward declaration (to avoid include of header file). + + /** + * Communicates with the graphics device. Language of choice is OpenGL. + * Any function needing drawing can use a method of Visual Graphics class. + * That way only the header file of Visual Graphics needs to be included + * and no strong binding to a specific graphics language is needed inside other classes than this one. + */ + class VisualGraphics { + + public: + + /** + * Returns a pointer to the instance. + * Initializes the Visual Graphics class if neccessary. + * The visual graphics class is of singleton type. + * @return A pointer to the initialized VisualGraphics. + */ + static VisualGraphics* getInstance(void); + + /** + * Cleans up the Visual Graphics singleton class. + */ + static void dispose(void); + + /** + * Answers the question whether the Visual Graphics singleton class is initialized or not. + * @return True if VisualGraphics singleton class is initialized. False if not. + */ + static bool isInitialized(void); + + /** + * Stores the port of the graphics device internally. + * @param thePort The drawing port of the graphics device. + */ + void setGraphicsDevicePort(const GRAPHICS_DEVICE thePort); + + /** + * Stores the canvas rect. + * The canvas rect defines the rectangle where the drawing takes place. + * The rectangle is passed in by iTunes and can be scaled in fullscreen mode. + * @param aCanvasRect Rectangle dimensions. + * @remarks The values of the TopLeftPositionedPixelRect are converted and stored internally as BottomLeftPositionedPixelRect values. + */ + void setCanvasRect(const TopLeftPositionedPixelRect& aCanvasRect); + + /** + * Sets the dimensions of the total visualizer rect. + * @param aRect The dimensions and position of the total visualizer rect. + */ + void setTotalVisualizerRect(TopLeftPositionedPixelRect aRect); + + /** + * Stores the vertical offset of the surface rect from the bottom of the iTunes window. + * @param top The top pixel position of the total visualizer rect. + * @param height The height of the total visualizer rect. + */ + void setTotalVisualizerRectVerticalOffsetFromBottom(int top, int height); + + /** + * Stores whether the visualizer is expected to show in fullscreen mode or in windowed mode. + * @param isFullscreen True if fullscreen mode is expected. False if windowed mode is expected. + */ + void isSetupForFullScreenMode(const bool isFullscreen); + + /** + * Returns the draw rect positioned relative to window rect. + */ + BottomLeftPositionedPixelRect getCanvasRect(void); + + /** + * Returns the current dimensions of the screen. + * @return The current dimensions of the screen. + */ + PixelRect getScreenRect(void); + + /** + * Returns the current number of bits per pixel of the frame buffer. + * @return The current number of bits per pixel of the frame buffer. + */ + uint16 getBitsPerPixelOfScreen(void); + + /** + * Returns the current refresh rate of the screen. + * Can return 0 if refresh rate can't be determined. + * @return The current refresh rate of the screen. + */ + uint16 getRefreshRateOfScreen(void); + + /** + * Returns the width of the canvas in pixels. + * @return The width of the canvas in pixels. + */ + uint32 getCanvasPixelWidth(void); + + /** + * Returns the height of the canvas in pixels. + * @return The height of the canvas in pixels. + */ + uint32 getCanvasPixelHeight(void); + + /** + * Returns the dimensions and position of the current OpenGL viewport. + * @return The dimensions and position of the current OpenGL viewport. + */ + BottomLeftPositionedPixelRect getViewportRect(void); + + /** + * Returns the bottom-left positioned origin of the viewport rect. + * @return The bottom-left positioned origin of the viewport rect. + */ + Pixel getViewportBottomLeftOrigin(void); + + /** + * Returns the current orientation and aspect ratio of the viewport. + * @return The current orientation and aspect ratio of the viewport. + */ + RelationalRect getViewportOrientationAndAspectRatio(void); + +#if TARGET_OS_WIN + /** + * Initializes Gdiplus. + */ + void initGdiplus(void); + + /** + * Terminates Gdiplus. + */ + void terminateGdiplus(void); + + /** + * Returns a gdiplus encoder. + * @param format The requested data format of the encoder. + * @param[out] pClsid The CLSID of the encoder. + * @return True on success, false on failure. + */ + static bool getGdiplusEncoderClsid(const WCHAR* format, CLSID* pClsid); +#endif + + /** + * Sets up an OpenGL context of the operating system. + * OS windowing system and OpenGL get connected. + * @return true on success, false on failure. + */ + bool setupContext(); + + /** + * Tears down the OpenGL allocations. + */ + void disposeContext(void); + + /** + * Sets up the viewport according to current dimensions of canvasRect. + */ + void setCanvasViewport(void); + + /** + * Sets up the viewport according to current dimensions of surface rect. + */ + void setSurfaceViewport(void); + + /** + * Sets up an orthographic projection mode. + * @param maxLeftCoord Maximum left coord position. + * @param maxRightCoord Maximum right coord position. + * @param maxBottomCoord Maximum bottom coord position. + * @param maxTopCoord Maximum top coord position. + * @param maxNearPos Maximum near position (position of near clipping plane). + * @param maxFarPos Maximum far position (position of far clipping plane). + * @param zoomFactor Optional zoom factor. + */ + void setOrthographicProjection(double maxLeftCoord, double maxRightCoord, double maxBottomCoord, double maxTopCoord, double maxNearPos, double maxFarPos, double zoomFactor = 1.0); + + /** + * Sets up a perspective projection mode. + * @param maxLeftCoord Maximum left coord position. + * @param maxRightCoord Maximum right coord position. + * @param maxBottomCoord Maximum bottom coord position. + * @param maxTopCoord Maximum top coord position. + * @param maxNearPos Maximum near position (position of near clipping plane). + * @param maxFarPos Maximum far position (position of far clipping plane). + * @param zoomFactor Optional zoom factor. + */ + void setPerspectiveProjection(double maxLeftCoord, double maxRightCoord, double maxBottomCoord, double maxTopCoord, double maxNearPos, double maxFarPos, double zoomFactor = 1.0); + + /** + * Loads the identity matrix of the model view. The model view transformation are reset + * @remarks It is assumed the model view is the currently active matrix mode. + */ + void loadModelViewIdentityMatrix(void); + + /** + * Performs a viewing transformation. + * @param eye The position of the eye point. + * @param center The position of the reference point. + * @param up the direction of the up vector. + */ + void lookAt(Point3D eye, Point3D center, Vector up); + + /** + * Sets the value of the canvas background color. + * @param aColorVal The RGBA values. + */ + void setCanvasBackgroundColor(const RGBAColor& aColorVal); + + /** + * Returns the value of the canvas background color. + * @return The RGBA values of the canvas background color. + */ + RGBAColor getBackgroundColor(void); + + /** + * Clears the canvas region with the background color. + */ + void clearCanvasBackground(void); + + /** + * Clears the surface region with the background color. + * @remarks The surface region is the canvas surrounding region. + */ + void clearSurfaceBackground(void); + + /** + * Specifies the storage parameters for pixel packing and unpacking (copying from GPU to CPU and vice versa). + */ + void setPixelStorageParams(void); + + /** + * Resets the model view matrix. + */ + void resetModelViewMatrix(void); + + /** + * Call of glTranslate(). + * @param xNum Horizontal coord value. + * @param yNum Vertical coord value. + * @param zNum Z-coord value. + */ + void translateMatrix(double xNum, double yNum, double zNum); + + /** + * Call of glRotate(). + * @param angle The angle of the rotation. + * @param xAmount The amount of the rotation around the horizontal axis. + * @param yAmount The amount of the rotation around the vertical axis. + * @param zAmount The amount of the rotation around the z-axis. + */ + void rotateMatrix(double angle, double xAmount, double yAmount, double zAmount); + + /** + * Call of glScale(). + * @param xFactor The scale factor in the horizontal dimension. + * @param yFactor The scale factor in the vertical dimension. + * @param zFactor The scale factor in the z-dimension. + */ + void scaleMatrix(double xFactor, double yFactor, double zFactor); + + /** + * Enables texturing by calling glEnable(GL_TEXTURE_2D) or glEnable(GL_TEXTURE_RECTANGLE_EXT). + * @param useRectExtension If true texturing is enabled with GL_TEXTURE_RECTANGLE_EXT, if false texturing is enabled with GL_TEXTURE_2D. + */ + void enableTexturing(bool useRectExtension); + + /** + * Disables texturing by calling glDisable(GL_TEXTURE_2D) or glDisable(GL_TEXTURE_RECTANGLE_EXT). + * @param useRectExtension If true texturing is disabled with GL_TEXTURE_RECTANGLE_EXT, if false texturing is disabled with GL_TEXTURE_2D. + */ + void disableTexturing(bool useRectExtension); + + /** + * Binds a texture (sets it current) by calling glBindTexture(). + * @param textureName The name/number/id of the texture. + * @param useRectExtension If true texture is bound with GL_TEXTURE_RECTANGLE_EXT, if false texture is bound with GL_TEXTURE_2D. + */ + void bindTexture(uint32 textureName, bool useRectExtension); + + /** + * Writes the pixels of the current texture (last one binded) into the provided buffer. + * @param useRectExtension If true texture has rectangular dimensions. + * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE). + * @param type The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @param[out] buffer Pointer to pointer to allocated buffer of 32bit chunks (one chunk is one pixel with four 8bit channels). + */ + void getPixelsOfCurrentTexture(bool useRectExtension, uint16 format, uint16 type, uint32** buffer); + + /** + * Enables blending by calling glEnable(GL_BLEND) followed by function glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA). + * The alpha value of the source is taken and blended with the destination color values. + */ + void enableAlphaBlending(void); + + /** + * Disables blending by calling glDisable(GL_BLEND). + */ + void disableBlending(void); + + /** + * Sets a color value by calling glColor(). + * @param theColor The color values to set. + */ + void setColor(const RGBAColor& theColor); + + /** + * Sets the line width for subsequent line drawing operations. + * @param width The requested width for subsequent line drawing operations. + */ + void setLineWidth(double width); + + /** + * Enables GL_DEPTH_TEST. + */ + void enableDepthTest(void); + + /** + * Disables GL_DEPTH_TEST. + */ + void disableDepthTest(void); + + /** + * Enables GL_CULL_FACE. + */ + void enableCullFace(void); + + /** + * Disables GL_CULL_FACE. + */ + void disableCullFace(void); + + /** + * Specifies that front-facing facets can be culled. + */ + void cullFaceFront(void); + + /** + * Specifies that back-facing facets can be culled. + */ + void cullFaceBack(void); + +#if TARGET_OS_MAC + /** + * Creates a bitmap context. + * @param pixelWidth The width of the bitmap in pixels. + * @param pixelHeight The height of the bitmap in pixels. + * @return A bitmap context. The caller has to issue a CGContextRelease() call on the context to release it. + */ + CGContextRef createBitmapContext(size_t pixelWidth, size_t pixelHeight); +#endif + + /** + * Returns an error string (if there was an error). + * @param[out] outErrorString Pointer to character buffer to receive the error string. + * @return Error number. + */ + uint8 getOpenGLError(char* outErrorString); + + /** + * Sets the current context to the one that has been set up before with the setupContext() call. + * @return errNum: 0 if no error, > 0 error. + * @remarks The context must be set back to the one set up initially with each render action in case Cover Flow did change it in the meantime. + */ + uint16 setCurrentContext(void); + + /** + * Ends the GL drawing by flushing, finishing and swaping the buffer content. + * Every executed drawing command should show its result on screen. + * The function is called at the end of each RenderMessage. + */ + void finishGLDrawing(void); + + /** + * Returns the current color buffer specification for reading pixels. + * @return The current color buffer specification for reading pixels. + */ + int getCurrentColorBufferForPixelReadingOperations(void); + + /** + * Returns the current color buffer specification for drawing pixels. + * @return The current color buffer specification for drawing pixels. + */ + int getCurrentColorBufferForPixelDrawingOperations(void); + + /** + * Sets the color buffer specification for reading pixels. + * @param colorBuffer The color buffer to use for reading pixels. + */ + void setColorBufferForPixelReadingOperations(int colorBuffer); + + /** + * Sets the color buffer specification for drawing pixels. + * @param colorBuffer The color buffer to use for drawing pixels. + */ + void setColorBufferForPixelDrawingOperations(int colorBuffer); + + /** + * Draws a texture on screen. + * If the texture is stored in texture memory, this function can be called to put the texture on screen. + * @param textureNumber The number/id/name of the texture. + * @param vertexChain A vector of vertices. + * @param canUseRectExtension True if graphics system does support rectangular texture extension. False otherwise. + * @param aBlendMode How to blend texture data with the framebuffer data. Default kBlend. + * @param debug If true the position numbers are displayed. + */ + void drawTexture(uint32 textureNumber, const VertexChain* const vertexChain, bool canUseRectExtension, BlendMode aBlendMode = kBlend, bool debug = false); + + /** + * Draws a vertex chain. Useful for debugging, monitoring or diagnistic purposes. + * @param vertexChain A vector of vertices. + * @param drawMode The requested draw mode (kGL_POINTS, kGL_LINES, kGL_LINE_STRIP, kGL_LINE_LOOP, kGL_TRIANGLES, kGL_TRIANGLE_STRIP, kGL_TRIANGLE_FAN, kGL_QUADS, kGL_QUAD_STRIP, kGL_POLYGON). + * @param aBlendMode How to blend vertex chain drawing with the framebuffer data. Default kReplace. + */ + void drawVertexChain(const VertexChain& vertexChain, int drawMode = kGL_LINE_LOOP, BlendMode aBlendMode = kReplace); + + /** + * Draws debug information of a vertex chain. Useful for debugging, monitoring or diagnistic purposes. + * @param vertexChain A vector of vertices. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawDebugVertexChain(const VertexChain& vertexChain, const VisualCamera& aCamera); + + /** + * Draws image data to framebuffer. + * @param pixelData Pointer to pointer to image data. + * @param xCoord The bottom left x coord. + * @param yCoord The bottom top y coord. + * @param width The width of the rectangle. + * @param height The height of the rectangle. + * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE). + * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @param aConvolutionFilter An optional convolution filter that is used when drawing the pixels. + */ + void drawPixels(PixelColor** pixelData, double xCoord, double yCoord, uint32 width, uint32 height, uint16 format, uint16 dataType, const VisualConvolutionFilter* const aConvolutionFilter = NULL); + + /** + * Resamples (resizes) pixel data according to the passed-in dimensions. + * @param formatIn The format of the incoming pixels (kGL_RGBA, kGL_LUMINANCE). + * @param widthIn The width of the incoming pixels. + * @param heightIn The width of the incoming pixels. + * @param dataTypeIn The data type of the incoming pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @param pixelDataIn A pointer to the incoming pixel data. + * @param widthOut The requested width of the outgoing pixels. + * @param heightOut The requested height of the outgoing pixels. + * @param dataTypeOut The requested data type of the outgoing pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @param pixelDataOut A pointer to a pointer to the outgoing pixel data. The memory has to be allocated an freed by the caller. + */ + void resample(uint16 formatIn, uint32 widthIn, uint32 heightIn, uint16 dataTypeIn, PixelColor* pixelDataIn, uint32 widthOut, uint32 heightOut, uint16 dataTypeOut, PixelColor** pixelDataOut); + + + /** + * Reads image data from framebuffer into processor memory. + * @param xCoord The bottom left x coord. + * @param yCoord The bottom top y coord. + * @param width The width of the rectangle. + * @param height The height of the rectangle. + * @param[out] pixelData Pointer to pointer of buffer to write image data to. + * @param format The format of the requested pixels (kGL_RGBA, kGL_LUMINANCE). + * @param dataType The data type of the requested pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void readPixels(double xCoord, double yCoord, uint32 width, uint32 height, uint32** pixelData, uint16 format, uint16 dataType, const VisualCamera& aCamera); + +#if TARGET_OS_WIN + /** + * Creates a texture of the track title. The function uses a DIB section. + * A custom font is loaded and the string is printed using OS specific funcionality. Windows-only. + * @param stringValue The string to plot to texture. + * @param stringValueLength The length of the string to plot to texture. + * @param textureNumber The texture number (texture name) of the generated texture. + * @param[out] textureWidth The width of the generated texture. + * @param[out] textureHeight The height of the generated texture. + * @param[out] imageWidth The width of the image data of the generated texture. + * @param[out] imageHeight The height of the image data of the generated texture. + * @param fontName The name of the font. + * @param fontSize The size of the font in points. The point size denotes the cell height of the font. + * @param red The red color component of the text font. + * @param green The green color component of the text font. + * @param blue The blue color component of the text font. + * @param alignment The horizontal alignment of the string. + * @param maxPixelWidth The requested maximum width of the texture. If 0 the argument is ignored. + * @param maxPixelHeight The requested maximum height of the texture. If 0 the argument is ignored. + * @param On Windows it is common to measure the point font height excluding internal leading. On Mac the point font size is measured including internal leading. + * @return True on success, false on failure. + */ + bool makeTextureOfStringWin(wchar_t* stringValue, int stringValueLength, uint32 textureNumber, uint32 &textureWidth, uint32 &textureHeight, uint32 &imageWidth, uint32 &imageHeight, const char* const fontName, uint16 fontSize, uint8 red, uint8 green, uint8 blue, HorizontalAlignment alignment, uint32 maxPixelWidth = 0, uint32 maxPixelHeight = 0); +#endif + + /** + * Draws a single spot. + * @param xNum The horizontal position of the spot. + * @param yNum The vertical position of the spot. + * @param r The red component of the RGB-Color. + * @param g The green component of the RGB-Color. + * @param b The blue component of the RGB-Color. + * @param waveformIntensityVal The current radius of the spot. + * @param intensity The current intensity of the spot. + * @param tailSize The current tailSize of the spot. + */ + void drawSpot(const double xNum, const double yNum, const double r, const double g, const double b, uint16 waveformIntensityVal, double intensity, const uint8 tailSize); + + /** + * Draws a triangle. + * For testing purposes. + */ + void drawTriangle(void); + + /** + * Draws a spot (for testing purpose). + * @param zPlane The z-Coord (optional parameter, default = 0.0). + */ + void spotGL(double zPlane = 0.0); + + /** + * Draws some metrics in the current scene. + * @remarks For diagnostical puposes. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawProjectionMetrics(const VisualCamera& aCamera); + + /** + * Returns a point on the outline of a circle. + * @param sliceIdx The index of the requested slice. + * @param slicesCount The number of slices. + * @param radius The length of the radius. Default = 1.0. + * @param circleCenter The center of the circle. Default is x = 0.0 and y = 0.0. + * @remarks The center of the circle is at 0.0, 0.0. The number of slices determine how close the circle points are located to each other. The circle points start at the rightmost position in the middle of the circle (at 3 o'clock) and go in counter clockwise direction. + */ + Coord getCirclePoint(uint32 sliceIdx, uint32 slicesCount, double radius = 1.0, Coord circleCenter = zeroCoord); + + /** + * Draws a histogram of the beat values. + * @param beatHistogram The beat histogram. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawBeatHistogram(const uint32* const beatHistogram, const VisualCamera& aCamera); + + /** + * The function queries the system and answers whether textures can have non power of 2 dimensions. + * @return true if graphics system does support rectangular texture extension, false otherwise. + */ + bool canUseTextureRectExtension(void); + + /** + * The function queries the system and answers whether convolution filter can be performed with OpenGL system. + * @return true if graphics system does support convolution filter, false otherwise. + */ + bool doesSupportGLConvolutionFilter(void); + + /** + * Draws the waveform data. + * @param historyNum The index of the history the waveform data is taken from. + * @param maxNumberOfHistories Maximum number of histories stored in waveformDataMonoArray. + * @param numberOfWaveformEntries The number of waveform values. + * @param waveformDataMonoArray Pointer to waveform data of all histories. The array has two dimensions: history and index. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawWaveform(const sint16 historyNum, const uint16 maxNumberOfHistories, const uint32 numberOfWaveformEntries, sint16** waveformDataMonoArray, const VisualCamera& aCamera); + + /** + * Draws the data of a vector. + * @param aVector Reference to a vextor that holds the data. + * @param baseIdx The current start index. + * @param minVal The (possible) minumum value. The value is used for calculating the vertical dimension of the diagram. + * @param maxVal The (possible) maximum value. The value is used for calculating the vertical dimension of the diagram. + * @remarks The vector can act as a ringbuffer by letting baseIdx point to the current start of the vector. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + static void drawHistoryDiagram(std::vector& aVector, size_t baseIdx, double minVal, double maxVal, const VisualCamera& aCamera); + + /** + * Draws the waveform data in spiral form. + * @param currHistoryNum The current history of the waveform data. + * @param numberOfWaveformEntries The number of waveform values. + * @param waveformDataMonoArray Pointer to waveform data of all histories. + */ + void drawWaveformSpiral(const uint16 currHistoryNum, const uint16 numberOfWaveformEntries, const sint16* const waveformDataMonoArray); + + /** + * Draws a graphical representation of the spectral data with subband bar graphs. + * @param currHistoryNum The index of the history the spectrum data is taken from. + * @param numberOfHistories The maximum number of histories. + * @param numberOfSpectrumEntries The number of spectrum data values. + * @param numberOfAudioChannels The number of audio channels. + * @param spectrumDataArray Pointer to spectrum data of all histories. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawSpectrumAnalyzer(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera); + + /** + * Draws a graphical representation of the spectral data as spectrogram. + * @param currHistoryNum The index of the history the spectrum data is taken from. + * @param numberOfHistories The maximum number of histories. + * @param numberOfSpectrumEntries The number of spectrum data values. + * @param numberOfAudioChannels The number of audio channels. + * @param spectrumDataArray Pointer to spectrum data of all histories. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + void drawSpectrogram(const sint16 currHistoryNum, const uint16 numberOfHistories, const uint32 numberOfSpectrumEntries, const uint16 numberOfAudioChannels, const uint8*** const spectrumDataArray, const VisualCamera& aCamera); + + /** + * Draws a circle representing the waveform data. + * @param xNum The horizontal position. + * @param yNum The vertical position. + * @param rotVal The degree of rotation. + * @param radius Radius. + */ + void drawWaveformCircle(const float xNum, const float yNum, const float rotVal, const float radius); + + /** + * Draws a 7bit char buffer string to screen. + * Mac uses GLUT_BITMAP_9_BY_15. Win uses Arial font created by wglUseFontBitmaps. + */ + void drawCStringWithGL(const char* const cString, const uint16 stringLength); + + /** + * The default implementation of the show() method of the VisualActor interface class. + * @param visualActorName The name of the VisualActor. + */ + void doFallbackActorShow(const char* const visualActorName); + + /** + * Returns cos(2.0 * _PI). + * @return cos(2.0 * _PI). + */ + float getCosTwoTimesPi(void); + + /** + * Returns sin(2.0 * _PI). + * @return sin(2.0 * _PI). + */ + float getSinTwoTimesPi(void); + + /** + * Returns a free texture name/index/number/id. + * @return A free texture name/index/number. + */ + uint32 getNextFreeTextureName(void); + + /** + * Frees memory bound by OpenGL textures. + * @param numberOfTextures The number of textures to free. + * @param textureNames Pointer to texture names (texture numbers) to free. + */ + void deleteTextures(const uint16 numberOfTextures, const uint32* const textureNames); + + /** + * Shows a row of Process Monitor Info. + * The graphical operations involved in putting a row of textual process info on screen is encapsulated within this function. + * @param coord The coord where to place the text (left start position). + * @param textRowStr Pointer to character buffer with process info string (label and value). + */ + void showProcessInfoRow(Coord coord, const char* const textRowStr); + + /** + * Shows a note about Process Monitor. + */ + void showProcessInfoNote(void); + + /** + * Creates clipped pixel data. + * @param inPixelData Pixel data to be clipped. + * @param inPixelRect Dimensions of pixel data. + * @param clipRect Dimensions of the clip rect. + * @returns The clipped pixel data. + * @remarks The caller has to deallocate the returned pixel data with free(). + */ + PixelColor* clipPixelData(const PixelColor* inPixelData, const PixelRect& inPixelRect, const TopLeftPositionedPixelRect& clipRect); + + /** + * Copies ARGB bitmap data into texture. + * @param textureNumber The texture number (texture name) of the generated texture. + * @param imageWidth The width of the bitmap data (width of texture might differ because of normalization to power-of-two value). + * @param imageHeight The height of the bitmap data (height of texture might differ because of normalization to power-of-two value). + * @param canUseRectExtension True if the texture does support rectangular texture extension. False otherwise. + * @param bitmapData Pointer to pointer to the bitmap data. + * @param debug If true, prebuilt pixel data is used. + * @return True on success, false on failure. + */ + bool copyARGBBitmapDataToTexture(uint32 textureNumber, uint32 imageWidth, uint32 imageHeight, bool canUseRectExtension, const PixelColor** bitmapData, bool debug = false); + +#if TARGET_OS_WIN + /** + * The function queries the system to determine if the font is installed. Windows-only. + * @param currHdc Pointer to the current device. + * @param fontName The name of the font. + * @return 1 if font is installed, 0 if font is not installed. + */ + //uint8 fontIsInstalled(HDC currHdc, const char* const fontName); + + /** + * Builds the GL font. + * The built font can be used in OpenGL as a glList. Uses wglUseFontBitmaps to build font bitmap. Windows-only. + */ + void buildFont(void); + + /** + * Destroys the built GL font. Windows-only. + */ + void killFont(void); + + /** + * Prints the character buffer with GL bitmap font. Windows-only. + * @param fmt Pointer to character buffer. + */ + void glPrint(const char *fmt, ...); +#endif + + /** + * Returns the name of the renderer of the graphic card. + * @return The name of the renderer of the graphic card. + */ + const char* const getRendererName(void); + + /** + * Returns the name of the vendor of the graphic card. + * @return The name of the vendor of the graphic card. + */ + const char* const getRendererVendor(void); + + /** + * Returns the version of the renderer. + * @return The version of the renderer. + */ + const char* const getRendererVersion(void); + + /** + * Returns the version of OpenGL. + * @return The version of OpenGL. + */ + unsigned short getGLVersion(void); + + /** + * Returns the maximum texture size. + * @return the maximum texture size. + */ + long getMaxTextureSize(void); + + /** + * Converts a horizontal pixel position to a horizontal coordinate. + * @param pixelPos The canvas pixel position. + * @return The canvas coord position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + double xPixelToCoord(uint32 pixelPos, const VisualCamera& aCamera); + + /** + * Converts a vertical pixel position to a vertical coordinate. + * @param pixelPos The canvas pixel position. + * @return The canvas coord position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + double yPixelToCoord(uint32 pixelPos, const VisualCamera& aCamera); + + /** + * Converts a horizontal coordinate to a horizontal pixel position. + * @param coordPos The canvas coord position. + * @return The canvas pixel position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + uint16 xCoordToPixel(double coordPos, const VisualCamera& aCamera); + + /** + * Converts a vertical coordinate to a horizontal pixel position. + * @param coordPos The canvas coord position. + * @return The canvas pixel position. + * @param aCamera Camera with dimensions, position, perspective projection, and orientation of stage view. + */ + uint16 yCoordToPixel(double coordPos, const VisualCamera& aCamera); + + /** + * Maps window coordinates to object coordinates. + * @param xPixelPos The horizontal pixel position. + * @param yPixelPos The vertical pixel position. + * @param zAxisPos The position on the z-axis. 0: near clipping plane, 1: far clipping plane. + * @param xCoordPos Returns: The x-CoordPosition. + * @param yCoordPos Returns: The y-CoordPosition. + * @param zCoordPos Returns: The z-CoordPosition. + * @return True on success, false on error. + */ + bool getCoordsOfPixelPosition( + double xPixelPos, + double yPixelPos, + double zAxisPos, + double* xCoordPos, + double* yCoordPos, + double* zCoordPos); + + /** + * Maps object coordinates to window coordinates. + * @param xCoordPos The x-CoordPosition. + * @param yCoordPos The y-CoordPosition. + * @param zCoordPos The z-CoordPosition. + * @param xPixelPos Returns: The horizontal pixel position. + * @param yPixelPos Returns: The vertical pixel position. + * @param zAxisPos Returns: The position on the z-axis. + * @return True on success, false on error. + */ + bool getPixelsOfCoordPosition( + double xCoordPos, + double yCoordPos, + double zCoordPos, + double* xPixelPos, + double* yPixelPos, + double* zAxisPos); + + /** + * Determines the openGL capabilities and stores them internally. + */ + void gatherOpenGLCapabilities(void); + + /** + * Creates a NURBS object and returns a pointer to it. + * @param identifier Identifier of the NURBS. The Nurbs can later be addressed by that token. + * @param sNumKnots The number of knots in horizontal direction. + * @param sKnots An array of horizontal knot values. + * @param tNumKnots The number of knots in vertical direction. + * @param tKnots An array of vertical knot values. + * @param sStride The offset between successive control points in u direction. + * @param tStride The offset between successive control points in v direction. + * @param sOrder The order of the NURBS surface in u direction. + * @param tOrder The order of the NURBS surface in v direction. + * @return The newly created NURBS object with the identifierName. + */ + VisualNurbs* createNurbsObject(const VisualItemIdentifier& identifier, uint8 sNumKnots, float* sKnots, uint8 tNumKnots, float* tKnots, uint16 sStride, uint16 tStride, uint16 sOrder, uint16 tOrder); + + /** + * Deletes a NURBS object. + * @param identifier The identifier of the NURBS. + */ + void deleteNurbsObject(const VisualItemIdentifier& identifier); + + /** + * Returns a pointer to a NURBS object. + * @param identifier The identifier of the NURBS. + * @return The NURBS object with the identifier. + */ + VisualNurbs* getNurbsObject(const VisualItemIdentifier& identifier); + + /** + * Copies the content of a screen rectangle into a texture buffer. + * @param textureNumber The number/id/name of the texture. + * @param canUseRectExtension True if graphics system does support rectangular texture extension. False otherwise. Default false. + * @param clipRect The dimensions and position of the clip rect. + * @param pixelFormat The format of the pixels (kGL_RGBA, kGL_LUMINANCE). + * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT). + * @remarks The pixels are copied from the framebuffer. + */ + void copyFramebufferToTexture(uint32 textureNumber, bool canUseRectExtension, const BottomLeftPositionedPixelRect& clipRect, uint16 pixelFormat, uint16 dataType); + + /** + * Returns the nearest power of 2 integer following the input integer. + * @param n The input integer. + * @return A power of 2 integer. + */ + uint32 power2Ceiling(uint32 n); + + /* + #if TARGET_OS_WIN + static int CALLBACK EnumFontFamExProc2( + ENUMLOGFONTEX *lpelfe, // logical-font data + NEWTEXTMETRICEX *lpntme, // physical-font data + DWORD FontType, // type of font + LPARAM lParam // application-defined data + ); + void resetFontVectorIterIndex(void); + void gatherFonts(void); + bool getNextFontName(char* fontName); + #endif + */ + + private: + + /** The constructor. VisualGraphics is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualGraphics(); + + /** The destructor. VisualGraphics is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualGraphics(); + + /** + * Copy constructor. + * @param other Another VisualGraphics. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualGraphics(const VisualGraphics& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualGraphics& operator=(const VisualGraphics& other); + + /** VisualGraphics is a singleton class. Pointer to private instance is handled internally. */ + static VisualGraphics* theVisualGraphics; + + /** The rectangle where the drawing takes place. */ + BottomLeftPositionedPixelRect canvasRect; + + /** The dimensions of the complete drawing surface which is reserved for visualizer action. */ + BottomLeftPositionedPixelRect surfaceRect; + + /** The vertical offset of the bottom-positioned surface rect. */ + uint32 surfaceRectVerticalOffsetFromBottom; + + /** True if set up on full screen, false if set up in windowed mode. */ + bool isSetUpOnFullscreen; + + /** The color of the canvas background. */ + RGBAColor canvasBackgroundColor; + + /** The color of the surface background. */ + RGBAColor surfaceBackgroundColor; + + /** + * A struct containing OpenGL capabilities. + * A collection of OpenGL capabilities. + * The capabilities are not complete and can be extended or reduced as appropriate. + */ + typedef struct { + + // current (at time of look up) device geometry + long deviceWidth; /**< Pixel width. */ + long deviceHeight; /**< Pixel height. */ + long deviceOriginX; /**< left location of device (relative to main device) */ + long deviceOriginY; /**< upper location of device (relative to main device) */ + short deviceDepth; /**< pixel depth in bits */ + short deviceRefresh; /**< integer refresh rate in Hz */ + + // Renderer info + long deviceVRAM; /**< video memory in bytes */ + long deviceTextureRAM; /**< uses current mode (geometry, pixel depth, etc.) */ + unsigned long rendererID; /**< renderer ID */ + char strRendererName [256]; /**< name of hardware renderer */ + char strRendererVendor [256]; /**< name of hardware renderer vendor */ + char strRendererVersion [256]; /**< string rep of hardware renderer version */ + bool fullScreenCapable; /**< does device support full screen */ + + // Renderer Caps + long textureUnits; /**< standard gl path max number of texture units */ + long maxTextureSize; /**< maximum 1D and 2D texture size supported */ + long max3DTextureSize; /**< maximum 3D texture size supported */ + long maxCubeMapTextureSize; /**< maximum cube map texture size supported */ + long maxRectTextureSize; /**< maximum rectangular texture size supported */ + + // OpenGL version support + unsigned short glVersion; /**< bcd gl version (ie. 1.4 is 0x0140) */ + + // Functionality + bool fSpecularVector; /**< GL_APPLE_specular_vector */ + bool fTransformHint; /**< GL_APPLE_transform_hint */ + bool fPackedPixels; /**< GL_APPLE_packed_pixels or 1.2+ */ + bool fClientStorage; /**< GL_APPLE_client_storage */ + bool fYCbCr; /**< GL_APPLE_ycbcr_422 (YUV texturing) */ + bool fTextureRange; /**< GL_APPLE_texture_range (AGP texturing) */ + bool fFence; /**< GL_APPLE_fence */ + bool fVAR; /**< GL_APPLE_vertex_array_range */ + bool fVAO; /**< GL_APPLE_vertex_array_object */ + bool fElementArray; /**< GL_APPLE_element_array */ + bool fVPEvals; /**< GL_APPLE_vertex_program_evaluators */ + bool fFloatPixels; /**< GL_APPLE_float_pixels */ + bool fFlushRenderer; /**< GL_APPLE_flush_render */ + bool fPixelBuffer; /**< GL_APPLE_pixel_buffer */ + bool fImaging; /**< GL_ARB_imaging (not required in 1.2+) */ + bool fTransposeMatrix; /**< GL_ARB_transpose_matrix or 1.3+ */ + bool fMultitexture; /**< GL_ARB_multitexture or 1.3+ */ + bool fTexEnvAdd; /**< GL_ARB_texture_env_add, GL_EXT_texture_env_add or 1.3+ */ + bool fTexEnvCombine; /**< GL_ARB_texture_env_combine or 1.3+ */ + bool fTexEnvDot3; /**< GL_ARB_texture_env_dot3 or 1.3+ */ + bool fTexEnvCrossbar; /**< GL_ARB_texture_env_crossbar or 1.4+ */ + bool fTexCubeMap; /**< GL_ARB_texture_cube_map or 1.3+ */ + bool fTexCompress; /**< GL_ARB_texture_compression or 1.3+ */ + bool fMultisample; /**< GL_ARB_multisample or 1.3+ (Anti-aliasing) */ + bool fTexBorderClamp; /**< GL_ARB_texture_border_clamp or 1.3+ */ + bool fPointParam; /**< GL_ARB_point_parameters or 1.4+ */ + bool fVertexProg; /**< GL_ARB_vertex_program */ + bool fFragmentProg; /**< GL_ARB_fragment_program */ + bool fTexMirrorRepeat; /**< GL_ARB_texture_mirrored_repeat or 1.4+ */ + bool fDepthTex; /**< GL_ARB_depth_texture or 1.4+ */ + bool fShadow; /**< GL_ARB_shadow or 1.4+ */ + bool fShadowAmbient; /**< GL_ARB_shadow_ambient */ + bool fVertexBlend; /**< GL_ARB_vertex_blend */ + bool fWindowPos; /**< GL_ARB_window_pos or 1.4+ */ + bool fTex3D; /**< GL_EXT_texture3D or 1.2+ */ + bool fClipVolHint; /**< GL_EXT_clip_volume_hint */ + bool fRescaleNorm; /**< GL_EXT_rescale_normal or 1.2+ */ + bool fBlendColor; /**< GL_EXT_blend_color or GL_ARB_imaging */ + bool fBlendMinMax; /**< GL_EXT_blend_minmax or GL_ARB_imaging */ + bool fBlendSub; /**< GL_EXT_blend_subtract or GL_ARB_imaging */ + bool fCVA; /**< GL_EXT_compiled_vertex_array */ + bool fTexLODBias; /**< GL_EXT_texture_lod_bias or 1.4+ */ + bool fABGR; /**< GL_EXT_abgr */ + bool fBGRA; /**< GL_EXT_bgra or 1.2+ */ + bool fTexFilterAniso; /**< GL_EXT_texture_filter_anisotropic */ + bool fPaletteTex; /**< GL_EXT_paletted_texture */ + bool fShareTexPalette; /**< GL_EXT_shared_texture_palette */ + bool fSecColor; /**< GL_EXT_secondary_color or 1.4+ */ + bool fTexCompressS3TC; /**< GL_EXT_texture_compression_s3tc */ + bool fTexRect; /**< GL_EXT_texture_rectangle */ + bool fFogCoord; /**< GL_EXT_fog_coord */ + bool fDrawRangeElements; /**< GL_EXT_draw_range_elements */ + bool fStencilWrap; /**< GL_EXT_stencil_wrap or 1.4+ */ + bool fBlendFuncSep; /**< GL_EXT_blend_func_separate or 1.4+ */ + bool fMultiDrawArrays; /**< GL_EXT_multi_draw_arrays or 1.4+ */ + bool fShadowFunc; /**< GL_EXT_shadow_funcs */ + bool fStencil2Side; /**< GL_EXT_stencil_two_side */ + bool fColorSubtable; /**< GL_EXT_color_subtable or GL_ARB_imaging */ + bool fConvolution; /**< GL_EXT_convolution or GL_ARB_imaging */ + bool fHistogram; /**< GL_EXT_histogram or GL_ARB_imaging */ + bool fColorTable; /**< GL_SGI_color_table or GL_ARB_imaging */ + bool fColorMatrix; /**< GL_SGI_color_matrix */ + bool fTexEdgeClamp; /**< GL_SGIS_texture_edge_clamp or 1.2+ */ + bool fGenMipmap; /**< GL_SGIS_generate_mipmap or 1.4+ */ + bool fTexLOD; /**< GL_SGIS_texture_lod or 1.2+ */ + bool fPointCull; /**< GL_ATI_point_cull_mode */ + bool fTexMirrorOnce; /**< GL_ATI_texture_mirror_once */ + bool fPNtriangles; /**< GL_ATI_pn_triangles or GL_ATIX_pn_triangles */ + bool fTextFragShader; /**< GL_ATI_text_fragment_shader */ + bool fBlendEqSep; /**< GL_ATI_blend_equation_separate */ + bool fBlendWeightMinMax; /**< GL_ATI_blend_weighted_minmax */ + bool fCombine3; /**< GL_ATI_texture_env_combine3 */ + bool fSepStencil; /**< GL_ATI_separate_stencil */ + bool fArrayRevComps4Byte; /**< GL_ATI_array_rev_comps_in_4_bytes */ + bool fPointSprite; /**< GL_NV_point_sprite */ + bool fRegCombiners; /**< GL_NV_register_combiners */ + bool fRegCombiners2; /**< GL_NV_register_combiners2 */ + bool fTexEnvCombine4; /**< GL_NV_texture_env_combine4 */ + bool fBlendSquare; /**< GL_NV_blend_square or 1.4+ */ + bool fFogDist; /**< GL_NV_fog_distance */ + bool fMultisampleFilterHint; /**< GL_NV_multisample_filter_hint */ + bool fTexGenReflect; /**< GL_NV_texgen_reflection */ + bool fTexShader; /**< GL_NV_texture_shader */ + bool fTexShader2; /**< GL_NV_texture_shader2 */ + bool fTexShader3; /**< GL_NV_texture_shader3 */ + bool fDepthClamp; /**< GL_NV_depth_clamp */ + bool fLightMaxExp; /**< GL_NV_light_max_exponent */ + bool fConvBorderModes; /**< GL_HP_convolution_border_modes or GL_ARB_imaging */ + bool fRasterPosClip; /**< GL_IBM_rasterpos_clip */ + } GLCapabilities; + + /** The capabilities. */ + GLCapabilities capabilities; + + /** A NurbsMap is a map of an identifier string and a pointer to a VisualNurbs. */ + typedef std::map NurbsMap; + + /** The nurbsMap is the map of the VisualNurbs. */ + NurbsMap nurbsMap; + + /** A NurbsMapIterator is an iterator of a NurbsMap. */ + typedef NurbsMap::iterator NurbsMapIterator; + +#if TARGET_OS_WIN + ULONG_PTR gdiplusToken; /**< Token used for starting and terminating Gdiplus */ +#endif + + }; + +} + +#endif /* VisualGraphics_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp new file mode 100644 index 0000000000..9131cab487 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp @@ -0,0 +1,413 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphicsCore.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualGraphicsCore.h" +#include "VisualErrorHandling.h" + +#if TARGET_OS_WIN +#include // sprintf +#endif + + +#if TARGET_OS_WIN +#include +#include +#endif + + +using namespace VizKit; + + +VisualGraphicsCore* VisualGraphicsCore::theVisualGraphicsCore = NULL; // singleton + + +VisualGraphicsCore::VisualGraphicsCore() { + ctx = NULL; +#if TARGET_OS_MAC + directDisplayId = CGMainDisplayID(); +#endif +#if TARGET_OS_WIN + windowDC = NULL; +#endif +} + + +VisualGraphicsCore::~VisualGraphicsCore() { + // null +} + + +VisualGraphicsCore* VisualGraphicsCore::getInstance() { + if (theVisualGraphicsCore == NULL) { + theVisualGraphicsCore = new VisualGraphicsCore; + } + return theVisualGraphicsCore; +} + + +void VisualGraphicsCore::dispose() { + if (theVisualGraphicsCore != NULL) { + delete theVisualGraphicsCore; + theVisualGraphicsCore = NULL; + } +} + + +bool VisualGraphicsCore::setupContext() { + + bool success = true; + uint8 errNum = 0; + char errLog[256]; + +#if TARGET_OS_MAC + errNum = theVisualGraphicsCore->setupAGL(); + if (errNum != 0) { + sprintf(errLog, "error %d on setupAGL in file: %s (line: %d) [%s])", errNum, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + success = false; + } +#endif + +#if TARGET_OS_WIN + errNum = theVisualGraphicsCore->setupWGL(); + if (errNum != 0) { + sprintf(errLog, "error %d on setupWGL in file: %s (line: %d) [%s])", errNum, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + success = false; + } +#endif + + return success; +} + + +#if TARGET_OS_MAC +uint8 VisualGraphicsCore::setupAGL() { + GLboolean ok; + + GLint attrib[] = {AGL_RGBA, AGL_RED_SIZE, 8, AGL_GREEN_SIZE, 8, AGL_BLUE_SIZE, 8, AGL_ALPHA_SIZE, 8, AGL_ACCELERATED, AGL_DOUBLEBUFFER, AGL_DEPTH_SIZE, 24, AGL_CLOSEST_POLICY, AGL_NONE}; + + AGLPixelFormat fmt = aglChoosePixelFormat(NULL, 0, attrib); + + if (fmt == NULL) { + return 1; + } + + theVisualGraphicsCore->ctx = aglCreateContext(fmt, NULL); + if (theVisualGraphicsCore->ctx == NULL) { + return 2; + } + + ok = aglSetDrawable(theVisualGraphicsCore->ctx, theVisualGraphicsCore->port); + if (!ok) { + return 3; + } + + ok = aglSetCurrentContext(theVisualGraphicsCore->ctx); + if (!ok) { + return 4; + } + + ok = aglUpdateContext(theVisualGraphicsCore->ctx); + if (!ok) { + return 5; + } + + GLint swapinterval = 1; + ok = aglSetInteger(theVisualGraphicsCore->ctx, AGL_SWAP_INTERVAL, &swapinterval); + if (!ok) { + return 6; + } + + aglDestroyPixelFormat(fmt); + + return 0; +} + + +void VisualGraphicsCore::cleanupAGL() { + aglSetCurrentContext(NULL); + if (theVisualGraphicsCore->ctx != NULL) { + aglSetDrawable(theVisualGraphicsCore->ctx, NULL); + aglDestroyContext(theVisualGraphicsCore->ctx); + } +} + +#endif + + +uint16 VisualGraphicsCore::setCurrentContext() { +#if TARGET_OS_MAC + GLboolean ok; + ok = aglSetCurrentContext(theVisualGraphicsCore->ctx); + if(!ok) { + return 1; + } +#endif +#if TARGET_OS_WIN + if (!wglMakeCurrent(theVisualGraphicsCore->windowDC, theVisualGraphicsCore->ctx)) { + writeLastErrorLog("setCurrentContext"); + return 1; + } +#endif + return 0; +} + + +#if TARGET_OS_WIN + +uint8 VisualGraphicsCore::setupWGL() { + + PIXELFORMATDESCRIPTOR pfd; + memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); + + pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); + pfd.nVersion = 1; + pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; + pfd.iPixelType = PFD_TYPE_RGBA; + pfd.cColorBits = 24; + pfd.cRedBits = 8; + pfd.cGreenBits = 8; + pfd.cBlueBits = 8; + pfd.cAlphaBits = 8; + pfd.cDepthBits = 24; + + pfd.iLayerType = PFD_MAIN_PLANE; + + int pixelFormat = ChoosePixelFormat(theVisualGraphicsCore->windowDC, &pfd); + if (pixelFormat == 0) { + writeLastErrorLog("setupWGL1"); + return 1; + } + + if (SetPixelFormat(theVisualGraphicsCore->windowDC, pixelFormat, &pfd) == 0) { + writeLastErrorLog("setupWGL2"); + return 2; + } + + theVisualGraphicsCore->ctx = wglCreateContext(theVisualGraphicsCore->windowDC); + if (theVisualGraphicsCore->ctx == NULL) { + writeLastErrorLog("setupWGL3"); + return 3; + } + + if (!wglMakeCurrent(theVisualGraphicsCore->windowDC, theVisualGraphicsCore->ctx)) { + writeLastErrorLog("setupWGL4"); + return 4; + } + + // enable v-sync if WGL_EXT_swap_control is supported + /* + PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; + wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT"); + if (wglSwapIntervalEXT != NULL) + wglSwapIntervalEXT(1); + */ + + return 0; +} + + +void VisualGraphicsCore::cleanUpWGL() { + + wglMakeCurrent(NULL, NULL); + + if (theVisualGraphicsCore->ctx != NULL) { + wglDeleteContext(theVisualGraphicsCore->ctx); + theVisualGraphicsCore->ctx = NULL; + } + + if (theVisualGraphicsCore->windowDC) { + ReleaseDC(theVisualGraphicsCore->port, theVisualGraphicsCore->windowDC); + theVisualGraphicsCore->windowDC = NULL; + } +} + + +HDC VisualGraphicsCore::getWindowDC() { + if (theVisualGraphicsCore->windowDC) { + return theVisualGraphicsCore->windowDC; + } else { + // if the HDC has not been set yet for the visualizer, we return the HDC of the main screen + return GetDC(NULL); + } +} + +#endif + + +void VisualGraphicsCore::setGraphicsDevicePort(const GRAPHICS_DEVICE thePort) { + theVisualGraphicsCore->port = thePort; +#if TARGET_OS_WIN + theVisualGraphicsCore->windowDC = GetDC(thePort); +#endif +} + + +GRAPHICS_DEVICE VisualGraphicsCore::getGraphicsDevicePort() { + return theVisualGraphicsCore->port; +} + + +PixelRect VisualGraphicsCore::getScreenRect() { + PixelRect screenRect; + uint32 screenWidth; + uint32 screenHeight; +#if TARGET_OS_WIN + screenWidth = GetSystemMetrics(SM_CXSCREEN); + screenHeight = GetSystemMetrics(SM_CYSCREEN); +#endif +#if TARGET_OS_MAC + screenWidth = (uint32)CGDisplayPixelsWide(theVisualGraphicsCore->directDisplayId); + screenHeight = (uint32)CGDisplayPixelsHigh(theVisualGraphicsCore->directDisplayId); +#endif + screenRect.width = screenWidth; + screenRect.height = screenHeight; + return screenRect; +} + + +uint16 VisualGraphicsCore::getBitsPerPixelOfScreen() { + uint16 bitsPerPixel; +#if TARGET_OS_WIN + bitsPerPixel = GetDeviceCaps(theVisualGraphicsCore->windowDC, BITSPIXEL); +#endif +#if TARGET_OS_MAC + bitsPerPixel = (uint16)CGDisplayBitsPerPixel(theVisualGraphicsCore->directDisplayId); +#endif + return bitsPerPixel; +} + + +uint16 VisualGraphicsCore::getRefreshRateOfScreen() { + uint16 refreshRate = 0; +#if TARGET_OS_MAC + long refreshRateLong; + CFDictionaryRef displayMode; + CFNumberRef number; + displayMode = CGDisplayCurrentMode(theVisualGraphicsCore->directDisplayId); + number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayRefreshRate); + CFNumberGetValue(number, kCFNumberLongType, &refreshRateLong); + refreshRate = (uint16)refreshRateLong; +#endif +#if TARGET_OS_WIN + refreshRate = GetDeviceCaps(theVisualGraphicsCore->windowDC, VREFRESH); +#endif + return refreshRate; +} + + +void VisualGraphicsCore::finishGLDrawing() { + //glFinish(); + //glFlush(); +#if TARGET_OS_MAC + aglSwapBuffers(theVisualGraphicsCore->ctx); +#endif +#if TARGET_OS_WIN + SwapBuffers(theVisualGraphicsCore->windowDC); +#endif +} + + +PixelRect VisualGraphicsCore::getCanvasSurroundingRect() { + PixelRect pixelSize; +#if TARGET_OS_MAC + ::Rect aRect; + GetPortBounds(theVisualGraphicsCore->port, &aRect); + pixelSize.width = aRect.right - aRect.left; + pixelSize.height = aRect.bottom - aRect.top; +#endif +#if TARGET_OS_WIN + HWND windowHandle; + RECT windowRect; + POINT aPoint; + aPoint.x = 0; + aPoint.y = 0; + + windowHandle = theVisualGraphicsCore->port; + ClientToScreen(windowHandle, &aPoint); + GetClientRect(windowHandle, &windowRect); + + windowRect.bottom += aPoint.y; + windowRect.right += aPoint.x; + pixelSize.width = windowRect.right - aPoint.x; + pixelSize.height = windowRect.bottom - aPoint.y; +#endif + return pixelSize; +} + + +void VisualGraphicsCore::setViewport(const BottomLeftPositionedPixelRect& canvasRect, const bool isFullscreen) { + + Pixel viewportBottomLeft; + viewportBottomLeft.x = 0; + viewportBottomLeft.y = 0; + +#if TARGET_OS_MAC + GLboolean ok; + GLint bufferRect[4]; + bufferRect[0] = (GLint)canvasRect.bottomLeftPixel.x; + bufferRect[1] = (GLint)canvasRect.bottomLeftPixel.y; + bufferRect[2] = (GLint)canvasRect.pixelRect.width; + bufferRect[3] = (GLint)canvasRect.pixelRect.height; + + ok = GL_FALSE; + ok = aglEnable(theVisualGraphicsCore->ctx, AGL_BUFFER_RECT); + if(!ok) { + writeLog("setViewport: unable to enable AGL_BUFFER_RECT"); + } + // adjust drawing rectange + ok = aglSetInteger(theVisualGraphicsCore->ctx, AGL_BUFFER_RECT, bufferRect); + if(!ok) { + writeLog("setViewport: aglSetInteger AGL_BUFFER_RECT != ok"); + } + ok = aglUpdateContext(theVisualGraphicsCore->ctx); + if(!ok) { + writeLog("setViewport: aglUpdateContext != ok"); + } +#endif + +#if TARGET_OS_WIN +if (isFullscreen == true) { + glEnable(GL_SCISSOR_TEST); + glScissor(canvasRect.bottomLeftPixel.x, canvasRect.bottomLeftPixel.y, (GLsizei)canvasRect.pixelRect.width, (GLsizei)canvasRect.pixelRect.height); + viewportBottomLeft.x = canvasRect.bottomLeftPixel.x; + viewportBottomLeft.y = canvasRect.bottomLeftPixel.y; +} +#endif + + glViewport((GLint)viewportBottomLeft.x, (GLint)viewportBottomLeft.y, (GLsizei)canvasRect.pixelRect.width, (GLsizei)canvasRect.pixelRect.height); + +} diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h new file mode 100644 index 0000000000..b5799d949c --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h @@ -0,0 +1,237 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualGraphicsCore.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualGraphicsCore_h +#define VisualGraphicsCore_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#if TARGET_OS_MAC +#include +#endif + +#ifndef GRAPHICS_DEVICE + #if TARGET_OS_WIN + #define GRAPHICS_DEVICE HWND + #endif + #if TARGET_OS_MAC + #define GRAPHICS_DEVICE CGrafPtr + #endif +#endif + + +#if TARGET_OS_WIN +#include // HDC +#endif + + +namespace VizKit { + + /** + * The core operations of the graphics layer are bundled with this class. VisualGraphics is the only class that accesses VisualGraphicsCore. VisualGraphicsCore is a singleton class. + */ + class VisualGraphicsCore { + + public: + + /** + * Returns a pointer to the instance. + * Initializes the Visual Graphics Core class if neccessary. + * The visual graphics core class is of singleton type. + * @return A pointer to the initialized VisualGraphicsCore. + */ + static VisualGraphicsCore* getInstance(void); + + /** + * Cleans up the Visual Graphics Core singleton class. + */ + static void dispose(void); + + /** + * Sets up an OpenGL context of the operating system. + * OS windowing system and OpenGL get connected. + * @return true on success, false on failure. + */ + bool setupContext(); + + /** + * Sets the current context to the one that has been set up before with the setupContext() call. + * @return errNum: 0 if no error, > 0 error. + * @remarks The context must be set back to the one set up initially with each render action in case Cover Flow did change it in the meantime. + */ + uint16 setCurrentContext(void); + +#if TARGET_OS_MAC + /** + * Sets up the AGL canvas. Mac-only. + * @return ErrNum. 0 on success. + */ + uint8 setupAGL(); + + /** + * Cleans up the AGL canvas. Mac-only. + */ + void cleanupAGL(void); +#endif + +#if TARGET_OS_WIN + /** + * Sets up the WGL canvas. Windows-only. + * @return Error number (0 = noErr). + */ + uint8 setupWGL(); + + /** + * Cleans up wgl. + */ + void cleanUpWGL(void); + + /** + * Returns the device context. Windows-only. + * @return The device context. + */ + HDC getWindowDC(void); +#endif + + /** + * Stores the port of the graphics device internally. + * @param thePort The drawing port of the graphics device. + * @remarks On Mac GRAPHICS_DEVICE is defined as CGrafPtr, on Windows it is defined as HWND. + */ + void setGraphicsDevicePort(const GRAPHICS_DEVICE thePort); + + /** + * Returns the port of the graphics device where the plugin performs its drawing. + * @return The port of the graphic device. + * @remarks On Mac GRAPHICS_DEVICE is defined as CGrafPtr, on Windows it is defined as HWND. + */ + GRAPHICS_DEVICE getGraphicsDevicePort(void); + + /** + * Returns the current dimensions of the screen. + * @return The current dimensions of the screen. + */ + PixelRect getScreenRect(void); + + /** + * Returns the current number of bits per pixel of the frame buffer. + * @return The current number of bits per pixel of the frame buffer. + */ + uint16 getBitsPerPixelOfScreen(void); + + /** + * Returns the current refresh rate of the screen. + * Can return 0 if refresh rate can't be determined. + * @return The current refresh rate of the screen. + */ + uint16 getRefreshRateOfScreen(void); + + /** + * Ends the GL drawing by flushing, finishing and swaping the buffer content. + * Every executed drawing command should show its result on screen. + * The function is called at the end of each RenderMessage. + */ + void finishGLDrawing(); + + /** + * Sets the viewport of the drawing area. + * @param canvasRect The draw rect, i.e. the inner rect. These are the rect dimensions as passed to the visualizer by iTunes via messages (u.showWindowMessage.drawRect, u.setWindowMessage.drawRect). + * @param isFullscreen True if the context is set up on fullscreen, false if in windowed mode. + * @remarks The canvasRect might be smaller than the graphics device / graphics port that is bount to the OpenGL context. The drawing area is clipped by AGL_BUFFER_RECT (Mac) or GL_SCISSOR_TEST (Windows). + */ + void setViewport(const BottomLeftPositionedPixelRect& canvasRect, const bool isFullscreen); + + /** + * Returns the rect of the iTunes window relative to main screen rect. + * @return The dimensions of the window rectangle. + */ + PixelRect getCanvasSurroundingRect(void); + + private: + + /** + * The constructor. VisualGraphicsCore is a singleton class. The constructor is private. New instance of class can only be created internally. + */ + VisualGraphicsCore(); + + /** + * The destructor. VisualGraphicsCore is a singleton class. The destructor is private. Instance of class can only be deleted internally. + */ + ~VisualGraphicsCore(); + + /** + * Copy constructor. + * @param other Another VisualGraphicsCore. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualGraphicsCore(const VisualGraphicsCore& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualGraphicsCore& operator=(const VisualGraphicsCore& other); + + /** VisualGraphicsCore is a singleton class. Pointer to private instance is handled internally. */ + static VisualGraphicsCore* theVisualGraphicsCore; + + /** The graphics port. + * On Mac it is defined as CGrafPtr. On Windows it is defined as HWND. + */ + GRAPHICS_DEVICE port; + +#if TARGET_OS_MAC + /** The current AGL context. Mac-only. */ + AGLContext ctx; + + /** The DisplayID of the CG display. Mac-only. */ + CGDirectDisplayID directDisplayId; +#endif + +#if TARGET_OS_WIN + /** The window RC. Windows-only. */ + HGLRC ctx; + + /** A handle to the current device. Windows-only. */ + HDC windowDC; +#endif + + }; + +} + +#endif /* VisualGraphicsCore_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp new file mode 100644 index 0000000000..598beec5f1 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp @@ -0,0 +1,113 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualHostCommunication.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#if TARGET_OS_WIN +#include // sprintf +#endif + +#include "VisualHostCommunication.h" +#include "VisualSignature.h" +#include "VisualMainAction.h" +#include "VisualErrorHandling.h" +#include "VisualQuickTime.h" + + +#include "iTunesAPI.h" // PlayerGetCurrentTrackCoverArt + + +using namespace VizKit; + + + +VisualHostCommunication* VisualHostCommunication::theVisualHostCommunication = NULL; + + +VisualHostCommunication::VisualHostCommunication() { + // null +} + + +VisualHostCommunication::~VisualHostCommunication() { + //theVisualHostCommunication->notificationQueue.clear(); +} + + +VisualHostCommunication* VisualHostCommunication::getInstance() { + if (theVisualHostCommunication == NULL) { + theVisualHostCommunication = new VisualHostCommunication; + } + return theVisualHostCommunication; +} + + +void VisualHostCommunication::dispose() { + if (theVisualHostCommunication != NULL) { + if (theVisualHostCommunication->coverArtImageDataHandle != NULL) { + VisualQuickTime::disposeHandle((Handle)(theVisualHostCommunication->coverArtImageDataHandle)); + } + delete theVisualHostCommunication; + theVisualHostCommunication = NULL; + } +} + + +int VisualHostCommunication::getCurrentTrackCoverArt(void** albumCoverArtworkImageData, uint32& numberOfBytes) { + + uint16 numberOfArtworks = 0; + OSType albumCoverArtworkFileType; + + theVisualHostCommunication = VisualHostCommunication::getInstance(); + Handle coverArtHandle = NULL; + OSStatus status = PlayerGetCurrentTrackCoverArt(VisualSignature::getAppCookie(), VisualSignature::getAppProc(), &coverArtHandle, &albumCoverArtworkFileType); + if (status != noErr) { + char errLog[256]; + sprintf(errLog, "PlayerGetCurrentTrackCoverArt err (%ld) in file: %s (line: %d) [%s])", status, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return numberOfArtworks; + } + + numberOfBytes = VisualQuickTime::getHandleSize(coverArtHandle); + + if (numberOfBytes > 0) { + numberOfArtworks = 1; + *albumCoverArtworkImageData = *coverArtHandle; + } + + if (coverArtHandle) { + theVisualHostCommunication->coverArtImageDataHandle = coverArtHandle; + } + + return numberOfArtworks; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h new file mode 100644 index 0000000000..dceae08f7b --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h @@ -0,0 +1,94 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualHostCommunication.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualHostCommunication_h +#define VisualHostCommunication_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * Collection of static methods to communicate with iTunes host application (e.g. to receive album cover artwork data). + */ + class VisualHostCommunication { + + public: + + /** + * Retrieves the cover artwork of the current audio track. + * @param[out] albumCoverArtworkImageData The image data of the album cover artwork data. + * @param[out] numberOfBytes The size in bytes of the album cover artwork data. + * @return The number of cover artworks. + */ + static int getCurrentTrackCoverArt(void** albumCoverArtworkImageData, uint32& numberOfBytes); + + /** + * Disposes the cover artwork data of the current audio track as it has been retrieved the last time with getCurrentTrackCoverArt(). + */ + static void dispose(void); + + private: + + /** VisualHostCommunication is a singleton class. Pointer to private instance is handled internally. */ + static VisualHostCommunication* theVisualHostCommunication; + + /** The constructor. VisualHostCommunication is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualHostCommunication(); + + /** The destructor. VisualHostCommunication is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualHostCommunication(); + + /** + * Returns a pointer to the instance. + * Initializes the VisualNotificationQueue class if neccessary. + * The VisualNotificationQueue is of singleton type. + * @return A pointer to the initialized VisualNotificationQueue. + */ + static VisualHostCommunication* getInstance(void); + + /** + * The Mac memory handle of the cover album artwork image data. + * @remarks Not typed as Handle to avoid MacType dependency. + */ + void* coverArtImageDataHandle; + + }; + +} + +#endif /* VisualHostCommunication_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualImage.cpp b/src/projectM-iTunes-VizKit/source/VisualImage.cpp new file mode 100644 index 0000000000..0119ffb0cc --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualImage.cpp @@ -0,0 +1,610 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualImage.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualImage.h" +#include "VisualTextureContainer.h" +#include "VisualStyledString.h" +#include "VisualFile.h" +#include "VisualGraphics.h" +#include "VisualErrorHandling.h" +#include "VisualNotification.h" +#include "VisualNetwork.h" +#include "VisualDispatch.h" +#include "VisualColorTools.h" + +#if TARGET_OS_WIN +#include +#include +#include +#endif + + +using namespace VizKit; + + + +VisualImage::VisualImage() { + visualTextureContainer = new VisualTextureContainer; + isSet = false; + blendMode = kBlend; + histogram = NULL; +} + + +VisualImage::~VisualImage() { + delete visualTextureContainer; + if (histogram != NULL) { + delete histogram; + } +} + + +VisualImage::VisualImage(const VisualImage& other) : VisualObject(other) { + copy(other); +} + + +VisualImage& VisualImage::operator=(const VisualImage& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + delete this->visualTextureContainer; + + if (this->histogram != NULL) { + delete this->histogram; + } + + this->copy(other); + + return *this; +} + + +VisualImage* VisualImage::clone(void) const { + return new VisualImage(*this); +} + + +VisualImage* VisualImage::cloneIndependently() const { + VisualTextureContainer* textureContainer = this->getTextureContainer(); + PixelColor* pixels = textureContainer->createARGBImagePixels(); + VisualImage* imageCopy = VisualImage::createWithARGBPixelData(pixels, textureContainer->getImageWidth(), textureContainer->getImageHeight()); + free(pixels); + return imageCopy; +} + + +bool VisualImage::initWithFile(VisualFile& aFile) { + bool success = this->visualTextureContainer->initWithFile(aFile); + if (success) { + this->isSet = true; + } + return success; +} + + +bool VisualImage::initWithARGBPixelData(PixelColor* argbPixels, uint32 width, uint32 height) { + bool success = true; + success = this->visualTextureContainer->initWithARGBPixelData(argbPixels, width, height); + if (success) { + this->isSet = true; + } + return success; +} + + +bool VisualImage::initWithEncodedData(const char* const bufferData, size_t size) { + bool success = this->visualTextureContainer->initWithEncodedData(bufferData, size); + if (success) { + this->isSet = true; + } + return success; +} + + +bool VisualImage::initWithStyledString(VisualStyledString& styledString) { + bool success = this->visualTextureContainer->initWithStyledString(styledString); + if (success) { + this->isSet = true; + } + return success; +} + + +#if TARGET_OS_WIN +bool VisualImage::initWithResource(int nameId) { + bool success = true; + char* type = "PNG"; + char* pngImageData = NULL; + uint32 sizeOfImageResource = 0; + success = VisualFile::getDataOfResource(nameId, type, (void**)&pngImageData, sizeOfImageResource); + if (success) { + success = this->visualTextureContainer->initWithEncodedData((const char* const)pngImageData, sizeOfImageResource); + BOOL deleteSuccess = DeleteObject(pngImageData); + } else { + char errLog[256]; + sprintf(errLog, "Err: Unable to get resource data %s in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + if (success) { + this->isSet = true; + } + return success; +} +#endif +#if TARGET_OS_MAC +bool VisualImage::initWithResource(const char* name) { + bool success = true; + VisualFile* resourceFile = VisualFile::createWithResourcesDirectory(); + VisualString resourceFileName = VisualString(name); + success = resourceFile->appendFileName(resourceFileName); + if (success) { + success = this->initWithFile(*resourceFile); + delete(resourceFile); + if (success) { + this->isSet = true; + } else { + char errLog[256]; + sprintf(errLog, "Err: Unable to load resource %s in file: %s (line: %d) [%s])", name, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } + return success; +} +#endif + + +bool VisualImage::initWithURL(VisualString& anURL, VisualItemIdentifier& anId) { + this->visualTextureContainer->clean(); + bool success = VisualNetwork::addToDownloadQueue(anURL, this, anId); + return success; +} + + +bool VisualImage::initWithLoadedEncodedData() { + bool success = false; + if (this->hasData()) { + success = this->visualTextureContainer->initWithEncodedData((const char*)this->getData(), this->getDataSize()); + } + this->freeData(); + return success; +} + + +bool VisualImage::initWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect) { + this->visualTextureContainer->clean(); + bool success = this->visualTextureContainer->initWithFramebuffer(clipRect); + return success; +} + + +void VisualImage::writeToPNGFileAsync(VisualFile& aVisualFile) { + + // Only in the main thread we can transfer the memory of the graphics card to the CPU memory + VisualNotification aNotification; + aNotification.setPointer(this); + aNotification.setObject(aVisualFile); + aNotification.setKey(kImageWriteToPNGFileMsg); + aNotification.post(); + +} + + +void VisualImage::writeToPNGFileAsyncAndDelete(VisualFile& aVisualFile) { + + // Only in the main thread we can transfer the memory of the graphics card to the CPU memory + VisualNotification aNotification; + aNotification.setPointer(this); + aNotification.setObject(aVisualFile); + aNotification.setKey(kImageWriteToPNGFileAndDeleteMsg); + aNotification.post(); + +} + + +bool VisualImage::writeToPNGFile(VisualFile& aVisualFile) const { + + bool success = true; + + PixelColor* texturePixels = this->visualTextureContainer->createARGBImagePixels(); + + uint32 imageSize = this->visualTextureContainer->getImageWidth() * this->visualTextureContainer->getImageHeight() * sizeof(PixelColor); + PixelColor* flippedImagePixels = (PixelColor*)malloc(imageSize); + for (uint32 i = 0; i < this->visualTextureContainer->getImageHeight(); i++) { + memcpy((flippedImagePixels + this->visualTextureContainer->getImageWidth() * (this->visualTextureContainer->getImageHeight() - i - 1)), (texturePixels + this->visualTextureContainer->getImageWidth() * i), this->visualTextureContainer->getImageWidth() * 4); + } + free(texturePixels); + texturePixels = NULL; + +#if TARGET_OS_MAC + + CFDictionaryRef options = NULL; + CGDataProviderRef dataProvider = CGDataProviderCreateWithData(NULL, flippedImagePixels, imageSize, NULL); + CGColorSpaceRef colorspace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); + CGBitmapInfo bitmapInfo = kCGImageAlphaFirst | kCGBitmapByteOrder32Host; + CGImageRef imageRef = CGImageCreate(this->visualTextureContainer->getImageWidth(), this->visualTextureContainer->getImageHeight(), 8, 32, this->visualTextureContainer->getImageWidth() * 4, colorspace, bitmapInfo, dataProvider, NULL, false, kCGRenderingIntentDefault); + + CFMutableDataRef destinationImageData = CFDataCreateMutable(kCFAllocatorDefault, 0); + size_t numberOfImages = 1; + CGImageDestinationRef destination = CGImageDestinationCreateWithData((CFMutableDataRef)destinationImageData, CFSTR("public.png"), numberOfImages, NULL); + + CGImageDestinationAddImage(destination, imageRef, options); + + CGImageDestinationFinalize(destination); + + CGColorSpaceRelease(colorspace); + + const UInt8* dataPointer = CFDataGetBytePtr(destinationImageData); + void** dataHandle = (void**)&dataPointer; + VisualFile::writeDataToFile(dataHandle, CFDataGetLength(destinationImageData), aVisualFile); + +#endif + +#if TARGET_OS_WIN + + INT stride = sizeof(PixelColor) * this->visualTextureContainer->getImageWidth(); + + Gdiplus::Bitmap image(this->visualTextureContainer->getImageWidth(), + this->visualTextureContainer->getImageHeight(), + stride, + PixelFormat32bppARGB, + (BYTE*)flippedImagePixels); + + IStream* pIStream = NULL; + HRESULT result = CreateStreamOnHGlobal(NULL, TRUE, (LPSTREAM*)&pIStream); + if (result != S_OK) + return false; + + CLSID pngClsid; + VisualGraphics::getGdiplusEncoderClsid(L"image/png", &pngClsid); + + Gdiplus::EncoderParameters encoderParameters; + encoderParameters.Count = 1; + encoderParameters.Parameter[0].Guid = Gdiplus::EncoderQuality; + encoderParameters.Parameter[0].Type = Gdiplus::EncoderParameterValueTypeLong; + encoderParameters.Parameter[0].NumberOfValues = 1; + + // setup compression level + + ULONG quality = 50; + encoderParameters.Parameter[0].Value = &quality; + + Gdiplus::Status saveStatus = image.Save(pIStream, &pngClsid, &encoderParameters); + if (saveStatus != Gdiplus::Ok) { + pIStream->Release(); + return false; + } + + // get the size of the stream + ULARGE_INTEGER ulnSize; + LARGE_INTEGER lnOffset; + lnOffset.QuadPart = 0; + if (pIStream->Seek(lnOffset, STREAM_SEEK_END, &ulnSize) != S_OK) { + pIStream->Release(); + return false; + } + + // now move the pointer to the beginning of the file + if (pIStream->Seek(lnOffset, STREAM_SEEK_SET, NULL) != S_OK) { + pIStream->Release(); + return false; + } + + HGLOBAL hg; + if (GetHGlobalFromStream(pIStream, &hg) == S_OK) { + + char* dataPointer = new char[(unsigned int)ulnSize.QuadPart]; + + // Read the stream directly into the buffer + ULONG ulBytesRead; + if (pIStream->Read(dataPointer, (ULONG)ulnSize.QuadPart, &ulBytesRead) != S_OK) { + pIStream->Release(); + return false; + } + + void** dataHandle = (void**)&dataPointer; + VisualFile::writeDataToFile(dataHandle, ulBytesRead, aVisualFile); + + delete[] dataPointer; + } + +#endif + + free(flippedImagePixels); + + return success; + +} + + +void VisualImage::applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter) { + this->visualTextureContainer->applyConvolutionFilter(aConvolutionFilter); +} + + +uint32 VisualImage::getWidth() const { + return this->visualTextureContainer->getImageWidth(); +} + + +uint32 VisualImage::getHeight() const { + return this->visualTextureContainer->getImageHeight(); +} + + +double VisualImage::getLogicalWidth() const { + return this->visualTextureContainer->getTextureLogicalWidth(); +} + + +double VisualImage::getLogicalHeight() const { + return this->visualTextureContainer->getTextureLogicalHeight(); +} + + +void VisualImage::draw(const VertexChain* const aVertexChain, bool debug) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->drawTexture(this->visualTextureContainer->getTextureName(), aVertexChain, this->visualTextureContainer->getUseRectExtension(), this->blendMode, debug); +} + + +bool VisualImage::isEmpty() const { + return !(this->isSet); +} + + +BlendMode VisualImage::getBlendMode(void) const { + return this->blendMode; +} + + +void VisualImage::setBlendMode(BlendMode aBlendMode) { + this->blendMode = aBlendMode; +} + + +VisualImage* VisualImage::createWithFile(VisualFile& aFile) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithFile(aFile); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +VisualImage* VisualImage::createWithARGBPixelData(PixelColor* argbPixels, uint32 width, uint32 height) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithARGBPixelData(argbPixels, width, height); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +VisualImage* VisualImage::createWithEncodedData(const char* const bufferData, uint32 size) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithEncodedData(bufferData, size); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +VisualImage* VisualImage::createWithStyledString(VisualStyledString& styledString) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithStyledString(styledString); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +#if TARGET_OS_MAC +VisualImage* VisualImage::createWithResource(const char* name) { +#endif +#if TARGET_OS_WIN +VisualImage* VisualImage::createWithResource(int nameId) { +#endif + VisualImage* anImage = new VisualImage; +#if TARGET_OS_MAC + bool success = anImage->initWithResource(name); +#endif +#if TARGET_OS_WIN + bool success = anImage->initWithResource(nameId); +#endif + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +VisualImage* VisualImage::createWithURL(VisualString& anURL, VisualItemIdentifier& anId) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithURL(anURL, anId); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +VisualImage* VisualImage::createWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect) { + VisualImage* anImage = new VisualImage; + bool success = anImage->initWithFramebuffer(clipRect); + if (!success) { + delete anImage; + anImage = NULL; + } + return anImage; +} + + +void VisualImage::resample(const PixelRect& pixelRect) { + this->visualTextureContainer->resample(pixelRect); +} + + +VisualTextureContainer* VisualImage::getTextureContainer() const { + return this->visualTextureContainer; +} + + +void VisualImage::dataLoadDidEnd(const VisualItemIdentifier& identifier) { + // Only in the main thread we can transfer the fetched encoded image to the memory of the graphics card + // (OpenGL calls must be executed in the main thread) + VisualNotification aNotification(identifier); + aNotification.setPointer(this); + aNotification.setKey(kLoadingEncodedImageDataCompletedMsg); + aNotification.post(); +} + + +void VisualImage::createHistogram() { + + VisualImageHistogramPixelColors* visualImageHistogramPixelColors = new VisualImageHistogramPixelColors; + visualImageHistogramPixelColors->visualImage = this; + + this->getRGBHistogramInputPixels(visualImageHistogramPixelColors->pixelColorValuesVector); + + bool success = false; + success = VisualThreading::createThread((ThreadingFuncPtr)VisualImage::createHistogramOfRGBPixelsThread, (void*)visualImageHistogramPixelColors); + +} + + +VisualHistogram::PixelColorHistogram* VisualImage::getHistogram() { + return this->histogram; +} + + +#if TARGET_OS_MAC +OSStatus VisualImage::createHistogramOfRGBPixelsThread(void* visualImageHistogramPixelColors) { + OSStatus retVal = noErr; +#endif +#if TARGET_OS_WIN +DWORD VisualImage::createHistogramOfRGBPixelsThread(LPVOID visualImageHistogramPixelColors) { + DWORD retVal = 0; +#endif + + VisualHistogram::PixelColorHistogram aHistogram = VisualHistogram::createHistogramOfRGBPixels(((VisualImageHistogramPixelColors*)visualImageHistogramPixelColors)->pixelColorValuesVector); + + VisualImage* image = ((VisualImageHistogramPixelColors*)visualImageHistogramPixelColors)->visualImage; + if (image->histogram != NULL) { + delete image->histogram; + image->histogram = NULL; + } + if (aHistogram.size() > 0) { + image->histogram = new VisualHistogram::PixelColorHistogram(aHistogram); + } + + delete (VisualImageHistogramPixelColors*)visualImageHistogramPixelColors; + + if (image->histogram != NULL) { + VisualNotification aNotification; + aNotification.setPointer(image); + aNotification.setKey(kImageHistogramCompletedMsg); + aNotification.post(); + } + + return retVal; +} + + +void VisualImage::getRGBHistogramInputPixels(std::vector& inputValues) const { + + VisualImage* histogramImage = this->cloneIndependently(); + + uint32 maxEdgeLength = 32; + PixelRect pixelRect; + if (this->getWidth() > this->getHeight()) { + pixelRect.height = maxEdgeLength; + pixelRect.width = (uint32)((double)pixelRect.height * ((double)this->getWidth() / (double)this->getHeight())); + } else if (this->getWidth() < this->getHeight()) { + pixelRect.width = maxEdgeLength; + pixelRect.height = (uint32)((double)pixelRect.width * ((double)this->getHeight() / (double)this->getWidth())); + } else { + pixelRect.width = maxEdgeLength; + pixelRect.height = maxEdgeLength; + } + + histogramImage->resample(pixelRect); + + VisualTextureContainer* histogramTextureContainer = histogramImage->getTextureContainer(); + + PixelColor* pixels = histogramTextureContainer->createARGBImagePixels(); + + uint32 numberOfValues = histogramTextureContainer->getImageWidth() * histogramTextureContainer->getImageHeight(); + + uint8 r, g, b, a; + PixelColor posterizedPixelColor; + for (uint32 i = 0; i < numberOfValues; i++) { + VisualColorTools::convertARGBPixelToRGB(pixels[i]); + VisualColorTools::getColorComponentValues(pixels[i], a, r, g, b); + r = r & 0xfc; + g = g & 0xfc; + b = b & 0xfc; + posterizedPixelColor = VisualColorTools::getPixelColor(a, r, g, b); + inputValues.push_back(posterizedPixelColor); + } + free(pixels); + + delete histogramImage; + +} + + +void VisualImage::copy(const VisualImage& other) { + this->visualTextureContainer = new VisualTextureContainer(*(other.visualTextureContainer)); + this->isSet = other.isSet; + this->blendMode = other.blendMode; + if (other.histogram != NULL) { + this->histogram = new VisualHistogram::PixelColorHistogram(*(other.histogram)); + } else { + this->histogram = NULL; + } +} diff --git a/src/projectM-iTunes-VizKit/source/VisualImage.h b/src/projectM-iTunes-VizKit/source/VisualImage.h new file mode 100644 index 0000000000..bf2c2f9ae1 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualImage.h @@ -0,0 +1,391 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualImage.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualImage_h +#define VisualImage_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" +#include "VisualObject.h" +#include "VisualNotification.h" +#include "VisualHistogram.h" +#include "VisualThreading.h" + +namespace VizKit { + + class VisualString; // Forward declaration (to avoid include of header file). + class VisualStyledString; // Forward declaration (to avoid include of header file). + class VisualFile; // Forward declaration (to avoid include of header file). + class VisualTextureContainer; // Forward declaration (to avoid include of header file). + class VisualConvolutionFilter; // Forward declaration (to avoid include of header file). + class VisualCamera; // Forward declaration (to avoid include of header file). + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + + + /** + * Bitmap raster image. + */ + class VisualImage : public VisualObject { + + public: + + /** + * The constructor. + */ + VisualImage(); + + /** + * The destructor. + */ + ~VisualImage(); + + /** + * Copy constructor. + * @param other Reference to another VisualImage. + */ + VisualImage(const VisualImage& other); + + /** + * Assignment operator. + * @param other Reference to another VisualImage. + */ + VisualImage& operator=(const VisualImage& other); + + /** + * Copies the current VisualImage and returns a pointer to a new VisualImage. + * @remarks Cloning the image returns an image pointing to the same framebuffer data. To create an independent image, use createIndependentCopy(). + */ + virtual VisualImage* clone(void) const; + + /** + * Creates an independent copy of the image. + * @remarks The image copy is independent of the original image. Cloning the image returns an image pointing to the same framebuffer data. + */ + VisualImage* cloneIndependently(void) const; + + /** + * Initializes the image with a file. + * @param aFile Reference to a file. + * @return True on success, false on failure. + */ + bool initWithFile(VisualFile& aFile); + + /** + * Initializes the image with a buffer of ARGB pixel data. + * @param argbPixels Pointer to ARGB pixel data. + * @param width The width of the pixel data. + * @param height The height of the pixel data. + * @return True on succes, false on failure. + * @remarks No reference to the pixel data is stored, pixel data can be savely disposed after the call. + */ + bool initWithARGBPixelData(PixelColor* argbPixels, uint32 width, uint32 height); + + /** + * Initializes the image with a data pointer to encoded image data. + * @param bufferData A pointer to the data. + * @param size The size of the data pointed to in bytes. + * @return True on success, false on failure. + */ + bool initWithEncodedData(const char* const bufferData, size_t size); + + /** + * Initializes the image with a styled string. + * @param styledString The styled string to convert into bitmap image. + * @return True on success, false on failure + */ + bool initWithStyledString(VisualStyledString& styledString); + +#if TARGET_OS_WIN + /** + * Initializes the image with a resource image. + * @param nameId The id of the resource. + * @return True on success, false on failure. + */ + bool initWithResource(int nameId); +#endif +#if TARGET_OS_MAC + /** + * Initializes the image with a resource image. + * @param name The name of the resource. + * @return True on success, false on failure. + */ + bool initWithResource(const char* name); +#endif + + /** + * Initializes the image with an URL. + * @param anURL URL of the image. + * @param anId Identifier that can be queried to track the progress of this asynchronous initialization. + * @return True on success, false on failure. + */ + bool initWithURL(VisualString& anURL, VisualItemIdentifier& anId); + + /** + * Initializes the image with loaded encoded image data. + * @return True on success, false on failure. + */ + bool initWithLoadedEncodedData(void); + + /** + * Initializes the image with contents of the current screen (framebuffer). + * @param clipRect The dimensions and position of the clip rect. + * @return True on success, false on failure. + */ + bool initWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect); + + /** + * Writes the image as PNG encoded data to a file on disk. + * @param aVisualFile Access to file the image is to be written into. + * @return True on success, false on failure. + */ + bool writeToPNGFile(VisualFile& aVisualFile) const; + + /** + * Writes the image as PNG encoded data to a file on disk asynchronously. + * @param aVisualFile Access to file the image is to be written into. + */ + void writeToPNGFileAsync(VisualFile& aVisualFile); + + /** + * Writes the image as PNG encoded data to a file on disk asynchronously and deletes the VisualImage afterwards. + * @param aVisualFile Access to file the image is to be written into. + */ + void writeToPNGFileAsyncAndDelete(VisualFile& aVisualFile); + + /** + * Applies a convolution filter to the image. + * @param aConvolutionFilter The convolution filter to apply to the image. + */ + void applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter); + + /** + * Returns the width of the bitmap image (in pixels). + * @return The width of the bitmap image (in pixels). + */ + uint32 getWidth(void) const; + + /** + * Returns the height of the bitmap image (in pixels). + * @return The height of the bitmap image (in pixels). + */ + uint32 getHeight(void) const; + + /** + * Returns the logical width of the texture. + * @return The logical width of the texture. + */ + double getLogicalWidth(void) const; + + /** + * Returns the logical height of the texture. + * @return The logical height of the texture. + */ + double getLogicalHeight(void) const; + + /** + * Draws the image. + * @param aVertexChain The chain of vertices with which the image is drawn. + * @param debug If true, details of the drawing operation can be traced for diagnostical purposes. + */ + void draw(const VertexChain* const aVertexChain, bool debug = false); + + /** + * Answers the question whether the image is empty or set. + */ + bool isEmpty(void) const; + + /** + * Returns the blend mode of the image. + * @return The blend mode of the image. + */ + BlendMode getBlendMode(void) const; + + /** + * Sets the blend mode of the image. + * @param aBlendMode The blend mode of the image. + */ + void setBlendMode(BlendMode aBlendMode); + + /** + * Creates an image with a file. + * @param aFile Reference to a file. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithFile(VisualFile& aFile); + + /** + * Creates an image with a buffer of ARGB pixel data. + * @param argbPixels Pointer to ARGB pixel data. + * @param width The width of the pixel data. + * @param height The height of the pixel data. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the allocated memory. No reference to the pixel data is stored, pixel data can be savely disposed after the call. + */ + static VisualImage* createWithARGBPixelData(PixelColor* argbPixels, uint32 width, uint32 height); + + /** + * Creates an image with a data pointer to encoded image data. + * @param bufferData A pointer to the data. + * @param size The size of the data pointed to in bytes. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the initialized image. + */ + static VisualImage* createWithEncodedData(const char* const bufferData, uint32 size); + + /** + * Creates an image with a styled string. + * @param styledString The styled string to convert into bitmap image. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithStyledString(VisualStyledString& styledString); + +#if TARGET_OS_MAC + /** + * Creates an image with a resource image. + * @param name The name of the resource. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithResource(const char* name); +#endif +#if TARGET_OS_WIN + /** + * Creates an image with a resource image. + * @param nameId The id of the resource. + * @return Initialized instance of VisualImage. NULL in case of failure. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithResource(int nameId); +#endif + + /** + * Creates an image with an URL. + * @param anURL URL of the image. + * @param anId Identifier that can be queried to track the progress of this asynchronous creation. + * @return Initialized instance of VisualImage. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithURL(VisualString& anURL, VisualItemIdentifier& anId); + + /** + * Creates an image with contents of the current screen (framebuffer). + * @param clipRect The dimensions and position of the clip rect. + * @remarks The caller has to release (delete) the allocated memory. + */ + static VisualImage* createWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect); + + /** + * Resamples the pixel data of the texture to the given dimensions of the pixelRect. + * @param pixelRect The resampling dimensions. + */ + void resample(const PixelRect& pixelRect); + + /** + * Returns a pointer to the texture container of the image. + * @return A pointer to the texture container of the image. + */ + VisualTextureContainer* getTextureContainer(void) const; + + /** + * Notification that the loading of data ended. + * @param identifier The identifier of the data load request. + */ + virtual void dataLoadDidEnd(const VisualItemIdentifier& identifier); + + /** + * Creates a histogram of RGB pixel color values. A histogram contains the salient color values of the image. + * @remarks The histogram is created asynchronously. On finish, a notification is sent (kImageHistogramCompletedMsg) on which actors can be registered. The image is downsampled and the histogram is calculated with the k-means algorithm. + */ + void createHistogram(void); + + /** + * Returns the internal histogram. + * @return The histogram. Can be NULL in case no histogram has been set. + */ + VisualHistogram::PixelColorHistogram* getHistogram(void); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualImage. + */ + void copy(const VisualImage& other); + + /** Pointer to the VisualTextureContainer. */ + VisualTextureContainer* visualTextureContainer; + + /** True if image has been set. False if image is not valid or has not been set yet. */ + bool isSet; + + /** The blend mode of the image. */ + BlendMode blendMode; + + /** + * Returns the array of RGB color pixels as required to create a histogram. + * @param[out] inputValues The pixels that can be used as input for histogram creation. + */ + void getRGBHistogramInputPixels(std::vector& inputValues) const; + + /** + * Creates a histogram of RGB pixel color values. + * @param visualImageHistogramPixelColors Pixel color values and pointer to image. + */ +#if TARGET_OS_MAC + static OSStatus createHistogramOfRGBPixelsThread(void* visualImageHistogramPixelColors); +#endif +#if TARGET_OS_WIN + static DWORD createHistogramOfRGBPixelsThread(LPVOID visualImageHistogramPixelColors); +#endif + + /** Histogram. */ + VisualHistogram::PixelColorHistogram* histogram; + + /** + * Exchange data type for histogram creation. + */ + typedef struct { + std::vector pixelColorValuesVector; /**< The RGB pixelcolor value. */ + VisualImage* visualImage; /**< Pointer to image. */ + } VisualImageHistogramPixelColors; + + }; + +} + +#endif /* VisualImage_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualMain.cpp b/src/projectM-iTunes-VizKit/source/VisualMain.cpp new file mode 100644 index 0000000000..c2aa17ce6a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualMain.cpp @@ -0,0 +1,589 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualMain.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualMain.h" +#include "VisualMainAction.h" +#include "VisualSignature.h" +#include "VisualConfiguration.h" + +#include + +using namespace VizKit; + + +void VisualMain::convertVisualPluginMessageToString(const OSType visualPluginMessage, char* outString) { + const char* messageString; + switch (visualPluginMessage) { + case kVisualPluginInitMessage: + messageString = "kVisualPluginInitMessage"; + break; + case kVisualPluginCleanupMessage: + messageString = "kVisualPluginCleanupMessage"; + break; + case kVisualPluginEnableMessage: + messageString = "kVisualPluginEnableMessage"; + break; + case kVisualPluginDisableMessage: + messageString = "kVisualPluginDisableMessage"; + break; + case kVisualPluginIdleMessage: + messageString = "kVisualPluginIdleMessage"; + break; + case kVisualPluginConfigureMessage: + messageString = "kVisualPluginConfigureMessage"; + break; + case kVisualPluginShowWindowMessage: + messageString = "kVisualPluginShowWindowMessage"; + break; + case kVisualPluginHideWindowMessage: + messageString = "kVisualPluginHideWindowMessage"; + break; + case kVisualPluginSetWindowMessage: + messageString = "kVisualPluginSetWindowMessage"; + break; + case kVisualPluginRenderMessage: + messageString = "kVisualPluginRenderMessage"; + break; + case kVisualPluginUpdateMessage: + messageString = "kVisualPluginUpdateMessage"; + break; + case kVisualPluginPlayMessage: + messageString = "kVisualPluginPlayMessage"; + break; + case kVisualPluginChangeTrackMessage: + messageString = "kVisualPluginChangeTrackMessage"; + break; + case kVisualPluginStopMessage: + messageString = "kVisualPluginStopMessage"; + break; + case kVisualPluginSetPositionMessage: + messageString = "kVisualPluginSetPositionMessage"; + break; + case kVisualPluginPauseMessage: + messageString = "kVisualPluginPauseMessage"; + break; + case kVisualPluginUnpauseMessage: + messageString = "kVisualPluginUnpauseMessage"; + break; + case kVisualPluginEventMessage: + messageString = "kVisualPluginEventMessage"; + break; + case kVisualPluginDisplayChangedMessage: + messageString = "kVisualPluginDisplayChangedMessage"; + break; + default: + messageString = "unknownVisualPluginMessage"; + } + strcpy(outString, messageString); +} + + +bool VisualMain::storeAudioTrackMetadata(const ITTrackInfo* const trackMetadata, bool isAudioStream) { + + const uint16* trackName = trackMetadata->name; + if (trackName) { + trackName += 1; + VisualMainAction::setAudioTrackName((void*)trackName, (int)trackMetadata->name[0]); + } + + const uint16* trackArtist = trackMetadata->artist; + if (trackArtist) { + trackArtist += 1; + VisualMainAction::setAudioTrackArtistName((void*)trackArtist, (int)trackMetadata->artist[0]); + } + + const uint16* trackAlbum = trackMetadata->album; + if (trackAlbum) { + trackAlbum += 1; + VisualMainAction::setAudioTrackAlbumName((void*)trackAlbum, (int)trackMetadata->album[0]); + } + + const uint16* trackComposer = trackMetadata->composer; + if (trackComposer) { + trackComposer += 1; + VisualMainAction::setAudioTrackComposer((void*)trackComposer, (int)trackMetadata->composer[0]); + } + + if (trackMetadata->year > 0) { + VisualMainAction::setAudioTrackYear(trackMetadata->year); + } + + VisualMainAction::setAudioDataIsStream(isAudioStream); + + bool audioTrackDidChange = VisualMainAction::analyzeCurrentlySetMetadata(); + + if (!isAudioStream) { + VisualMainAction::setAudioTrackSizeInBytes(static_cast(trackMetadata->sizeInBytes)); + VisualMainAction::setTotalTimeOfCurrentTrack(trackMetadata->totalTimeInMS); + VisualMainAction::setStartTimeOfCurrentTrack(trackMetadata->startTimeInMS); + VisualMainAction::setStopTimeOfCurrentTrack(trackMetadata->stopTimeInMS); + } + + return audioTrackDidChange; + +} + + +void VisualMain::storeAudioStreamMetadata(const ITStreamInfo* const streamMetadata) { + + const uint16* streamTitle = streamMetadata->streamTitle; + if (streamTitle) { + streamTitle += 1; + VisualMainAction::setAudioStreamTitle(streamTitle, (int)streamMetadata->streamTitle[0]); + } + + const uint16* streamMessage = streamMetadata->streamMessage; + if (streamMessage) { + streamMessage += 1; + VisualMainAction::setAudioStreamMessage(streamMessage, (int)streamMetadata->streamMessage[0]); + } + + const uint16* streamURL = streamMetadata->streamURL; + if (streamURL) { + streamURL += 1; + VisualMainAction::setAudioStreamURL(streamURL, (int)streamMetadata->streamURL[0]); + } + + VisualMainAction::setTotalTimeOfCurrentTrack(0); + +} + + +void VisualMain::storeAudioStreamMetadata(const ITStreamInfoV1* const streamMetadata) { + + const char* streamTitle = reinterpret_cast(streamMetadata->streamTitle); + if (streamTitle) { + streamTitle += 1; + VisualMainAction::setAudioStreamTitleV1(streamTitle, (int)streamMetadata->streamTitle[0]); + } + + const char* streamMessage = reinterpret_cast(streamMetadata->streamMessage); + if (streamMessage) { + streamMessage += 1; + VisualMainAction::setAudioStreamMessageV1(streamMessage, (int)streamMetadata->streamMessage[0]); + } + + const char* streamURL = reinterpret_cast(streamMetadata->streamURL); + if (streamURL) { + streamURL += 1; + VisualMainAction::setAudioStreamURLV1(streamURL, (int)streamMetadata->streamURL[0]); + } + + VisualMainAction::setTotalTimeOfCurrentTrack(0); + +} + + +OSStatus VisualMain::VisualPluginHandler(OSType message, VisualPluginMessageInfo* visualPluginMessageInfo, void* refCon) { + + bool debug = false; + + OSStatus status; + + UInt32 majorVersionNum; + UInt32 minorVersionNum; + + //visualPluginData = (VisualPluginData*) refCon; + + status = noErr; + + if (debug == true) { + static bool firstTimeRun = true; + static OSType oneBeforePrevMessage; + static OSType prevMessage; + static OSType messageWriteLogHistory[3]; + size_t curr = 2; + size_t prev = 1; + size_t oneBeforePrev = 0; + if (firstTimeRun == true) { + oneBeforePrevMessage = ' '; + prevMessage = ' '; + messageWriteLogHistory[oneBeforePrev] = ' '; + messageWriteLogHistory[prev] = ' '; + messageWriteLogHistory[curr] = ' '; + firstTimeRun = false; + } + bool doWriteLog = true; + if (message != messageWriteLogHistory[curr]) { + // do not log alternating messages (like render/idle/update messages during render loop) + if (message == messageWriteLogHistory[prev] && prevMessage == messageWriteLogHistory[curr]) doWriteLog = false; + if (message == messageWriteLogHistory[oneBeforePrev] && prevMessage == messageWriteLogHistory[curr] && oneBeforePrevMessage == messageWriteLogHistory[prev]) doWriteLog = false; + if (message == messageWriteLogHistory[prev] && prevMessage == messageWriteLogHistory[oneBeforePrev] && oneBeforePrevMessage == messageWriteLogHistory[curr]) doWriteLog = false; + if (doWriteLog == true) { + char visualPluginMessage[64]; + char logStr[128]; + VisualMain::convertVisualPluginMessageToString(message, visualPluginMessage); + sprintf(logStr, "VisualPluginHandler: message: %s", visualPluginMessage); + VisualMainAction::writeLogEntry(logStr); + messageWriteLogHistory[oneBeforePrev] = messageWriteLogHistory[prev]; + messageWriteLogHistory[prev] = messageWriteLogHistory[curr]; + messageWriteLogHistory[curr] = message; + oneBeforePrevMessage = prevMessage; + prevMessage = message; + } + } + } + + VisualMainAction::updateTiming(); + + switch (message) { + + case kVisualPluginInitMessage: + // Sent when the visual plugin is registered. + // The plugin should do minimal memory allocations here. + + majorVersionNum = visualPluginMessageInfo->u.initMessage.messageMajorVersion; + minorVersionNum = visualPluginMessageInfo->u.initMessage.messageMinorVersion; + + visualPluginMessageInfo->u.initMessage.options = (kVisualDoesNotNeedResolutionSwitch); + + VisualSignature::setAppCookie(visualPluginMessageInfo->u.initMessage.appCookie); + VisualSignature::setAppProc(visualPluginMessageInfo->u.initMessage.appProc); + + VisualMainAction::setAppVersionNum(visualPluginMessageInfo->u.initMessage.appVersion.majorRev, visualPluginMessageInfo->u.initMessage.appVersion.minorAndBugRev); + + VisualMainAction::handleInitMessage(kVisualMaxDataChannels, kVisualNumWaveformEntries, kVisualNumSpectrumEntries); + + //visualPluginMessageInfo->u.initMessage.refCon = (void*) visualPluginData; + + break; + + case kVisualPluginCleanupMessage: + // Sent when the visual plugin is unloaded + // This message is sent when iTunes is about to quit. + // You should free any resources allocated by your visualizer plug-in at this time. + + VisualMainAction::closeThreads(); + VisualMainAction::closePersistentStore(); + + break; + + case kVisualPluginEnableMessage: + // Sent when the visual plugin is enabled. + // iTunes currently enables all loaded visual plugins. + // The plugin should not do anything here. + + break; + + case kVisualPluginDisableMessage: + + break; + + case kVisualPluginIdleMessage: + // Sent if the plugin requests idle messages. + // Do this by setting the kVisualWantsIdleMessages option in the RegisterVisualMessage.options field. + + VisualMainAction::handleIdleAndUpdateMessage(); + + break; + + case kVisualPluginConfigureMessage: + // Sent if the plugin requests the ability for the user to configure it. + // Do this by setting the kVisualWantsConfigure option in the RegisterVisualMessage.options field. + + VisualMainAction::showConfigurationDialog(); + + break; + + case kVisualPluginShowWindowMessage: + // Sent when iTunes is going to show the visual plugin in a port. + // At this point, the plugin should allocate any large buffers it needs. + + { + VisualMainAction::setGraphicsDevice(visualPluginMessageInfo->u.showWindowMessage.GRAPHICS_DEVICE_NAME); + + VisualMainAction::setTotalVisualizerRectVerticalOffsetFromBottom(visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.top, visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.bottom - visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.top); + VisualMainAction::setTotalVisualizerRect(visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.top, visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.left, visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.bottom, visualPluginMessageInfo->u.showWindowMessage.totalVisualizerRect.right); + VisualMainAction::setDrawRect(visualPluginMessageInfo->u.showWindowMessage.drawRect.top, visualPluginMessageInfo->u.showWindowMessage.drawRect.left, visualPluginMessageInfo->u.showWindowMessage.drawRect.bottom, visualPluginMessageInfo->u.showWindowMessage.drawRect.right); + bool isFullscreen = ((visualPluginMessageInfo->u.showWindowMessage.options & kWindowIsFullScreen) > 0); + VisualMainAction::handleShowWindowMessage(isFullscreen); + } + + break; + + case kVisualPluginHideWindowMessage: + // Sent when iTunes is no longer displayed. + + VisualMainAction::handleHideWindowMessage(); + + VisualMainAction::closeThreads(); + + break; + + case kVisualPluginSetWindowMessage: + // Sent when iTunes needs to change the port or rectangle of the currently displayed visual. + + { + VisualMainAction::setTotalVisualizerRectVerticalOffsetFromBottom(visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.top, visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.bottom - visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.top); + VisualMainAction::setTotalVisualizerRect(visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.top, visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.left, visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.bottom, visualPluginMessageInfo->u.setWindowMessage.totalVisualizerRect.right); + VisualMainAction::setDrawRect(visualPluginMessageInfo->u.setWindowMessage.drawRect.top, visualPluginMessageInfo->u.setWindowMessage.drawRect.left, visualPluginMessageInfo->u.setWindowMessage.drawRect.bottom, visualPluginMessageInfo->u.setWindowMessage.drawRect.right); + bool isFullscreen = ((visualPluginMessageInfo->u.setWindowMessage.options & kWindowIsFullScreen) > 0); + VisualMainAction::handleSetWindowMessage(isFullscreen); + } + + break; + + case kVisualPluginRenderMessage: + // Sent for the visual plugin to render a frame. + + VisualMainAction::handleRenderMessage(visualPluginMessageInfo->u.renderMessage.currentPositionInMS, visualPluginMessageInfo->u.renderMessage.timeStampID, visualPluginMessageInfo->u.renderMessage.renderData->numWaveformChannels, kVisualNumWaveformEntries, (char*)visualPluginMessageInfo->u.renderMessage.renderData->waveformData, visualPluginMessageInfo->u.renderMessage.renderData->numSpectrumChannels, kVisualNumSpectrumEntries, (char*)visualPluginMessageInfo->u.renderMessage.renderData->spectrumData); + + break; + + case kVisualPluginDisplayChangedMessage: + // Something about display state changed + + break; + + case kVisualPluginUpdateMessage: + // Sent in response to an update event. + // The visual plugin should update into its remembered port. + // This will only be sent if the plugin has been previously given a ShowWindow message. + + VisualMainAction::handleIdleAndUpdateMessage(); + + break; + + case kVisualPluginPlayMessage: + // Sent when the player starts. + + { + + VisualMainAction::resetVisualAudioLabDataIfNotPaused(); + VisualMainAction::resetCurrAudioMetaData(); + + bool isAudioStream = false; + if (visualPluginMessageInfo->u.playMessage.streamInfoUnicode) { + isAudioStream = (bool)(visualPluginMessageInfo->u.playMessage.streamInfoUnicode->streamTitle[0] > 0 || + visualPluginMessageInfo->u.playMessage.streamInfoUnicode->streamMessage[0] > 0 || + visualPluginMessageInfo->u.playMessage.streamInfoUnicode->streamURL[0] > 0); + } else if (visualPluginMessageInfo->u.playMessage.streamInfo) { + isAudioStream = (bool)(visualPluginMessageInfo->u.playMessage.streamInfo->streamTitle[0] > 0 || + visualPluginMessageInfo->u.playMessage.streamInfo->streamMessage[0] > 0 || + visualPluginMessageInfo->u.playMessage.streamInfo->streamURL[0] > 0); + } + + if (isAudioStream) { + if (visualPluginMessageInfo->u.playMessage.streamInfoUnicode) { + VisualMain::storeAudioStreamMetadata(const_cast(visualPluginMessageInfo->u.playMessage.streamInfoUnicode)); + } else if (visualPluginMessageInfo->u.playMessage.streamInfo) { + VisualMain::storeAudioStreamMetadata(const_cast(visualPluginMessageInfo->u.playMessage.streamInfo)); + } + } + bool trackDidChange = VisualMain::storeAudioTrackMetadata(visualPluginMessageInfo->u.playMessage.trackInfoUnicode, isAudioStream); + + VisualMainAction::handleAudioPlayStartedEvent(trackDidChange); + + } + + break; + + case kVisualPluginChangeTrackMessage: + // Sent when the player changes the current track information. + // This is used when the information about a track changes, + // or when the CD moves onto the next track. + // The visual plugin should update any displayed information about the currently playing song. + + { + VisualMainAction::resetCurrAudioMetaData(); + + bool isAudioStream = false; + if (visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode) { + isAudioStream = (bool)(visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode->streamTitle[0] > 0 || + visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode->streamMessage[0] > 0 || + visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode->streamURL[0] > 0); + } else if (visualPluginMessageInfo->u.changeTrackMessage.streamInfo) { + isAudioStream = (bool)(visualPluginMessageInfo->u.changeTrackMessage.streamInfo->streamTitle[0] > 0 || + visualPluginMessageInfo->u.changeTrackMessage.streamInfo->streamMessage[0] > 0 || + visualPluginMessageInfo->u.changeTrackMessage.streamInfo->streamURL[0] > 0); + } + + if (isAudioStream) { + if (visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode) { + VisualMain::storeAudioStreamMetadata(const_cast(visualPluginMessageInfo->u.changeTrackMessage.streamInfoUnicode)); + } else if (visualPluginMessageInfo->u.changeTrackMessage.streamInfo) { + VisualMain::storeAudioStreamMetadata(const_cast(visualPluginMessageInfo->u.changeTrackMessage.streamInfo)); + } + } + bool trackDidChange = VisualMain::storeAudioTrackMetadata(visualPluginMessageInfo->u.changeTrackMessage.trackInfoUnicode, isAudioStream); + + if (trackDidChange) { + VisualMainAction::resetVisualAudioLabDataIfNotPaused(); + VisualMainAction::handleAudioPlayStartedEvent(trackDidChange); + } + } + + break; + + case kVisualPluginStopMessage: + // Sent when the player stops. + + VisualMainAction::handleAudioPlayStoppedEvent(); + + break; + + case kVisualPluginSetPositionMessage: + // Sent when the player changes position. + + VisualMainAction::setTrackPlayPositionInMS(visualPluginMessageInfo->u.setPositionMessage.positionTimeInMS); + + break; + + case kVisualPluginPauseMessage: + // Sent when the player pauses. + // iTunes does not currently use pause or unpause. + // A pause in iTunes is handled by stopping and remembering the position. + + VisualMainAction::handleAudioPlayStoppedEvent(); + + break; + + case kVisualPluginUnpauseMessage: + // Sent when the player unpauses. + // iTunes does not currently use pause or unpause. + // A pause in iTunes is handled by stopping and remembering the position. + + { + bool trackDidChange = false; + VisualMainAction::handleAudioPlayStartedEvent(trackDidChange); + } + + break; + + case kVisualPluginEventMessage: + // Sent to the plugin in response to a OS event. + // The plugin should return noErr for any event it handles completely, + // or an error (unimpErr) if iTunes should handle it. + + { + EventRecord* eventPtr = visualPluginMessageInfo->u.eventMessage.event; + VisualMainAction::handleOSEvent((void*)eventPtr); + } + + status = unimpErr; // each event should be passed on to iTunes + + break; + + default: + + status = unimpErr; + + break; + + } + + return status; + +} + + +OSStatus VisualMain::RegisterVisualPlugin(PluginMessageInfo* pluginMessageInfo) { + + PlayerMessageInfo playerMessageInfo; + + memset(&playerMessageInfo.u.registerVisualPluginMessage, 0, sizeof(playerMessageInfo.u.registerVisualPluginMessage)); + + playerMessageInfo.u.registerVisualPluginMessage.options = (kVisualWantsConfigure | kVisualWantsIdleMessages | kVisualProvidesUnicodeName); + + playerMessageInfo.u.registerVisualPluginMessage.name[0] = (UInt8)strlen(VisualConfiguration::visualizerShowName); + memcpy(&playerMessageInfo.u.registerVisualPluginMessage.name[1], VisualConfiguration::visualizerShowName, strlen(VisualConfiguration::visualizerShowName)); + + uint32 numberOfCharactersOfVisualizerShowNameUnicode = 0; + uint16* visualizerShowNameUnicode = VisualConfiguration::getVisualizerShowNameUnicode(numberOfCharactersOfVisualizerShowNameUnicode); + playerMessageInfo.u.registerVisualPluginMessage.unicodeName[0] = numberOfCharactersOfVisualizerShowNameUnicode; + for (uint32 i = 0; i < numberOfCharactersOfVisualizerShowNameUnicode; i++) { + playerMessageInfo.u.registerVisualPluginMessage.unicodeName[i + 1] = visualizerShowNameUnicode[i]; + } + + const UInt8 stage = 0x80; // (dev = 0x20, alpha = 0x40, beta = 0x60, final = 0x80) + SetNumVersion(&playerMessageInfo.u.registerVisualPluginMessage.pluginVersion, VisualConfiguration::getMajorReleaseNumberAsBCD(), VisualConfiguration::getMinorReleaseNumberAsBCD(), stage, VisualConfiguration::getReleaseRevisionNumber()); + + playerMessageInfo.u.registerVisualPluginMessage.handler = (VisualPluginProcPtr)VisualMain::VisualPluginHandler; + + playerMessageInfo.u.registerVisualPluginMessage.registerRefCon = 0; + + OSType visualPluginCreator = 'hook'; + playerMessageInfo.u.registerVisualPluginMessage.creator = visualPluginCreator; + + playerMessageInfo.u.registerVisualPluginMessage.timeBetweenDataInMS = 0xFFFFFFFF; // 16 milliseconds = 1 Tick, 0xFFFFFFFF = Often as possible. + playerMessageInfo.u.registerVisualPluginMessage.numWaveformChannels = 2; + playerMessageInfo.u.registerVisualPluginMessage.numSpectrumChannels = 2; + + playerMessageInfo.u.registerVisualPluginMessage.minWidth = 64; + playerMessageInfo.u.registerVisualPluginMessage.minHeight = 64; + playerMessageInfo.u.registerVisualPluginMessage.maxWidth = 32767; + playerMessageInfo.u.registerVisualPluginMessage.maxHeight = 32767; + playerMessageInfo.u.registerVisualPluginMessage.minFullScreenBitDepth = 0; /* 0 = Any */ + playerMessageInfo.u.registerVisualPluginMessage.maxFullScreenBitDepth = 0; /* 0 = Any */ + playerMessageInfo.u.registerVisualPluginMessage.windowAlignmentInBytes = 0; /* Reserved (should be zero) */ + + OSStatus status = PlayerRegisterVisualPlugin(pluginMessageInfo->u.initMessage.appCookie, pluginMessageInfo->u.initMessage.appProc, &playerMessageInfo); + + return status; + +} + + +#if TARGET_OS_MAC +OSStatus iTunesPluginMainMachO(OSType message, PluginMessageInfo* pluginMessageInfo, void* refCon) +#endif +#if TARGET_OS_WIN +OSStatus iTunesPluginMain(OSType message, PluginMessageInfo* pluginMessageInfo, void* refCon) +#endif +{ + OSStatus status; + + switch (message) { + case kPluginInitMessage: + pluginMessageInfo->u.initMessage.options = kPluginWantsDisplayNotification; + status = VisualMain::RegisterVisualPlugin(pluginMessageInfo); + break; + + case kPluginCleanupMessage: + status = noErr; + break; + + case kPluginPrepareToQuitMessage: + status = noErr; + break; + + default: + status = unimpErr; + break; + } + + return status; +} + diff --git a/src/projectM-iTunes-VizKit/source/VisualMain.h b/src/projectM-iTunes-VizKit/source/VisualMain.h new file mode 100644 index 0000000000..18cf194c4f --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualMain.h @@ -0,0 +1,164 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualMain.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualMain_h +#define VisualMain_h + +#include "iTunesVisualAPI.h" + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * Handles the events and messages passed in by iTunes. + * In its public section VisualMain contains the functions called by iTunes. + * Private static functions access the various internal classes of the visualizer. + * Essential events are: + * audio play start, audio play stop, show start, show stop, and render message. + * When displaying graphics, the visualizer spends most of its time with executing the render message. + */ + class VisualMain { + + public: + + /** + * Called by iTunes to send messages to visualizer plug-in. + * Known by iTunes via call to PlayerRegisterVisualPlugin. + These types of messages can be received: + kVisualPluginInitMessage + kVisualPluginCleanupMessage + kVisualPluginEnableMessage + kVisualPluginDisableMessage + kVisualPluginIdleMessage + kVisualPluginConfigureMessage + kVisualPluginShowWindowMessage + kVisualPluginHideWindowMessage + kVisualPluginSetWindowMessage + kVisualPluginRenderMessage + kVisualPluginUpdateMessage + kVisualPluginPlayMessage + kVisualPluginChangeTrackMessage + kVisualPluginStopMessage + kVisualPluginSetPositionMessage + kVisualPluginPauseMessage + kVisualPluginUnpauseMessage + kVisualPluginEventMessage + kVisualPluginDisplayChangedMessage + * @param message Type of message. + * @param visualPluginMessageInfo Additional data. + * @param refCon Pointer to untyped additional data. + * @return Error status. + */ + static OSStatus VisualPluginHandler(OSType message, VisualPluginMessageInfo* visualPluginMessageInfo, void* refCon); + + /** + * Called by iTunes, dispatched from main function. Registers the visualizer plug-in to iTunes. + * The function calls PlayerRegisterVisualPlugin to be registered by iTunes. + * @param pluginMessageInfo A pointer to a data structure passed in by iTunes and sent on to PlayerRegisterVisualPlugin. + * @return Status of the operation. + */ + static OSStatus RegisterVisualPlugin(PluginMessageInfo* pluginMessageInfo); + + private: + + /** The constructor. VisualMain is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualMain(); + + /** The destructor. VisualMain is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualMain(); + + /** + * Stores textual audio track information. + * @param trackMetadata Pointer to all accessible track information. + * @param isAudioStream True if track meta data belongs to audio stream. False if meta data belongs to audio track. + * @return True if audio track changed compared to previous one. False if metadata is the same as with the previous audio track. + */ + static bool storeAudioTrackMetadata(const ITTrackInfo* const trackMetadata, bool isAudioStream); + + /** + * Stores textual audio stream information. + * @param streamMetadata Pointer to all accessible stream information. + */ + static void storeAudioStreamMetadata(const ITStreamInfo* const streamMetadata); + + /** + * Stores textual audio stream information (single byte string data). + * @param streamMetadata Pointer to all accessible stream information. + */ + static void storeAudioStreamMetadata(const ITStreamInfoV1* const streamMetadata); + + /** + * Static helper function that converts a VisualPluginMessage to the string. Possibly useful for debugging or tracing purposes. + * @param visualPluginMessage The visualPluginMessage. + * @param outString The character string value of the VisualNotificationKey enum value. + */ + static void convertVisualPluginMessageToString(const OSType visualPluginMessage, char* outString); + + }; + +} + + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * C-callable function exported to iTunes. Calls the register function. + * Gets called by iTunes on init and on cleanup. + * On init the visualizer plug-in registers itself to iTunes via function RegisterVisualPlugin(). + * Message types: kPluginInitMessage, kPluginCleanupMessage. + * On Mac the function is named iTunesPluginMainMachO for Mach-O plug-in. The function returns OSStatus. + * On Windows the function is named iTunesPluginMain and declared with __declspec(dllexport). + * @param message The kind of message passed in (e.g. kPluginInitMessage). + * @param pluginMessageInfo Additional data passed in. + * @param refCon Pointer to untyped additional data. + * @return Status of the operation. + */ +#if TARGET_OS_MAC +__attribute__((visibility("default"))) +extern OSStatus iTunesPluginMainMachO(OSType message, PluginMessageInfo* pluginMessageInfo, void* refCon); +#endif +#if TARGET_OS_WIN +extern __declspec(dllexport) OSStatus iTunesPluginMain(OSType message, PluginMessageInfo* pluginMessageInfo, void* refCon); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* VisualMain_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualNotification.cpp b/src/projectM-iTunes-VizKit/source/VisualNotification.cpp new file mode 100644 index 0000000000..5e1d3f4446 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNotification.cpp @@ -0,0 +1,280 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNotification.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualNotification.h" +#include "VisualNotificationQueue.h" +#include "VisualErrorHandling.h" +#include "VisualStageControl.h" + + +using namespace VizKit; + + +VisualNotification::VisualNotification() { + notificationEnumKey = kNoNotificationKey; + notificationData = NULL; + notificationDataSize = 0; + notificationPointer = NULL; + notificationObject = NULL; +} + + +VisualNotification::VisualNotification(const VisualItemIdentifier& anIdentifier) : VisualObject(anIdentifier) { + notificationEnumKey = kNoNotificationKey; + notificationData = NULL; + notificationDataSize = 0; + notificationPointer = NULL; + notificationObject = NULL; +} + + +VisualNotification::~VisualNotification() { + if (notificationData != NULL) { + free(notificationData); + } + if (notificationObject != NULL) { + delete notificationObject; + } +} + + +VisualNotification::VisualNotification(const VisualNotification& other) : VisualObject(other) { + copy(other); +} + + +VisualNotification& VisualNotification::operator=(const VisualNotification& other) { + + if (this == &other) return *this; + + VisualObject::operator=(other); + + if (this->notificationData != NULL) { + free(this->notificationData); + } + if (this->notificationObject != NULL) { + delete this->notificationObject; + } + this->copy(other); + + return *this; +} + + +void VisualNotification::copy(const VisualNotification& other) { + this->notificationEnumKey = other.notificationEnumKey; + if (other.notificationData != NULL) { + this->notificationData = (void*)malloc(other.notificationDataSize * sizeof(char)); + memcpy(this->notificationData, other.notificationData, other.notificationDataSize); + } else { + this->notificationData = NULL; + } + this->notificationDataSize = other.notificationDataSize; + this->notificationPointer = other.notificationPointer; + if (other.notificationObject != NULL) { + this->notificationObject = other.notificationObject->clone(); + } else { + this->notificationObject = NULL; + } +} + + +VisualNotification* VisualNotification::clone(void) const { + return new VisualNotification(*this); +} + + +void VisualNotification::setKey(const VisualNotificationKey aKey) { + this->notificationEnumKey = aKey; +} + + +VisualNotificationKey VisualNotification::getKey() const { + return this->notificationEnumKey; +} + + +void VisualNotification::setData(const void* const someData, uint32 dataSizeInBytes) { + if (this->notificationData != NULL) { + free(this->notificationData); + this->notificationData = NULL; + } + this->notificationData = (void*)malloc(dataSizeInBytes * sizeof(char)); + memcpy(this->notificationData, someData, dataSizeInBytes); + this->notificationDataSize = dataSizeInBytes; +} + + +void* VisualNotification::getData(uint32& dataSizeInBytes) const { + dataSizeInBytes = this->notificationDataSize; + return this->notificationData; +} + + +void VisualNotification::setObject(const VisualObject& anObject) { + if (this->notificationObject != NULL) { + delete this->notificationObject; + } + this->notificationObject = anObject.clone(); +} + + +VisualObject* VisualNotification::getObject() const { + return this->notificationObject; +} + + +void VisualNotification::setPointer(void* pointer) { + this->notificationPointer = pointer; +} + + +void* VisualNotification::getPointer() { + return this->notificationPointer; +} + + +void VisualNotification::post() { + VisualNotificationQueue::push(*this); +} + + +void VisualNotification::post(const VisualNotificationKey aKey) { + VisualNotification aNotification; + aNotification.setKey(aKey); + VisualNotificationQueue::push(aNotification); +} + + +void VisualNotification::registerNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + VisualStageControl::registerObserverForNotification(aVisualActor, aNotificationKey); +} + + +void VisualNotification::removeNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + VisualStageControl::removeObserverOfNotification(aVisualActor, aNotificationKey); +} + + +void VisualNotification::convertNotificationKeyToString(const VisualNotificationKey aKey, char* outString) { + const char* messageString; + switch (aKey) { + case kNoNotificationKey: + messageString = "kNoNotificationKey"; + break; + case kKeyPressedEvt: + messageString = "kKeyPressedEvt"; + break; + case kAudioPlayTrackChangedEvt: + messageString = "kAudioPlayTrackChangedEvt"; + break; + case kAudioPlayStartedEvt: + messageString = "kAudioPlayStartedEvt"; + break; + case kAudioPlayStoppedEvt: + messageString = "kAudioPlayStoppedEvt"; + break; + case kAudioPlayPausedEvt: + messageString = "kAudioPlayPausedEvt"; + break; + case kAudioPlayResumedEvt: + messageString = "kAudioPlayResumedEvt"; + break; + case kAudioPlayReachedFadeOutTimeEvt: + messageString = "kAudioPlayReachedFadeOutTimeEvt"; + break; + case kToggleShowProcessMonitorMsg: + messageString = "kToggleShowProcessMonitorMsg"; + break; + case kToggleProcessMonitorAudioInfoMsg: + messageString = "kToggleProcessMonitorAudioInfoMsg"; + break; + case kCanvasReshapeEvt: + messageString = "kCanvasReshapeEvt"; + break; + case kBeatImpulseEvt: + messageString = "kBeatImpulseEvt"; + break; + case kTrackInfoImageMsg: + messageString = "kTrackInfoImageMsg"; + break; + case kTrackLyricsImageMsg: + messageString = "kTrackLyricsImageMsg"; + break; + case kLoadingEncodedImageDataCompletedMsg: + messageString = "kLoadingEncodedImageDataCompletedMsg"; + break; + case kImageHistogramCompletedMsg: + messageString = "kImageHistogramCompletedMsg"; + break; + case kImageWithIdentifierLoadedAndCreatedMsg: + messageString = "kImageWithIdentifierLoadedAndCreatedMsg"; + break; + case kImageWithIdentifierMsg: + messageString = "kImageWithIdentifierMsg"; + break; + case kImageWriteToPNGFileMsg: + messageString = "kImageWriteToPNGFileMsg"; + break; + case kImageWriteToPNGFileAndDeleteMsg: + messageString = "kImageWriteToPNGFileAndDeleteMsg"; + break; + case kGetTrackInfoStringStyleMsg: + messageString = "kGetTrackInfoStringStyleMsg"; + break; + case kGetTrackLyricsStringStyleMsg: + messageString = "kGetTrackLyricsStringStyleMsg"; + break; + case kStyledStringMsg: + messageString = "kStyledStringMsg"; + break; + case kStringWithIdentifierLoadedAndCreatedMsg: + messageString = "kStringWithIdentifierLoadedAndCreatedMsg"; + break; + case kLyricsAreWrittenIntoTempFileMsg: + messageString = "kLyricsAreWrittenIntoTempFileMsg"; + break; + case kLyricsAreAvailableInMetadataMsg: + messageString = "kLyricsAreAvailableInMetadataMsg"; + break; + case kTrackInfoTextureChangedMsg: + messageString = "kTrackInfoTextureChangedMsg"; + break; + + default: + messageString = "unknownNotificationKey"; + } + strcpy(outString, messageString); +} diff --git a/src/projectM-iTunes-VizKit/source/VisualNotification.h b/src/projectM-iTunes-VizKit/source/VisualNotification.h new file mode 100644 index 0000000000..284d37df02 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNotification.h @@ -0,0 +1,206 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNotification.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualNotification_h +#define VisualNotification_h + + +#include "VisualTypes.h" +#include "VisualNotificationKey.h" +#include "VisualObject.h" + + +namespace VizKit { + + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + class VisualActor; // Forward declaration (to avoid include of header file). + + /** + * A VisualActor is notified about events and messages with a VisualNotification. + * The VisualActor can query the VisualNotification for details. + * The VisualActor can also set a value to pass it back to the caller. + */ + class VisualNotification : public VisualObject { + + public: + + /** + * The constructor. + */ + VisualNotification(); + + /** + * Another constructor. + * @param anIdentifier Identifier of the notification. + */ + VisualNotification(const VisualItemIdentifier& anIdentifier); + + /** + * The destructor. + */ + ~VisualNotification(); + + /** + * Copy constructor. + */ + VisualNotification(const VisualNotification& other); + + /** + * Assignment operator. + */ + VisualNotification& operator=(const VisualNotification& other); + + /** + * Copies the current VisualNotification and returns a pointer to a new VisualNotification. + */ + virtual VisualNotification* clone(void) const; + + /** + * Sets the key of a notification. Notification keys are implemented as enums. + * @param aKey The enum key. + */ + void setKey(const VisualNotificationKey aKey); + + /** + * Returns the key of the notification. + * @return The key of the notification. Notification keys are implemented as enums. + */ + VisualNotificationKey getKey(void) const; + + /** + * Sets the value of a notification. + * @param someData The pointer to the memory location of the data. + * @param dataSizeInBytes The size of the data in bytes. + * @remarks The data (not only the pointer) is copied. + */ + void setData(const void* const someData, uint32 dataSizeInBytes); + + /** + * Returns the untyped data of the notification. + * @param[out] dataSizeInBytes The number of bytes the data occupies in memory. + * @return The pointer to the memory location of the data. + * @remarks To hold the data, the caller has to create and store a copy on his side. + */ + void* getData(uint32& dataSizeInBytes) const; + + /** + * Sets the object of a notification. + * @param anObject The pointer to an object. + * @remarks The object is copied by calling clone(). + */ + void setObject(const VisualObject& anObject); + + /** + * Returns a pointer to the object of the notification. + * @return A pointer to the object of the notification. + * @remarks The object does not get copied automatically. If the caller wants to retain a copy, the data has to be copied by calling its object member function clone(). + */ + VisualObject* getObject(void) const; + + /** + * Sets a pointer to some memory address. + * @param pointer A pointer to some memory address. + * @remarks If possible, copying the data is preferred (by calling setData()). + */ + void setPointer(void* pointer); + + /** + * Returns a pointer to some memory address. + * @return A pointer to some memory address. + * @remarks If possible, copying the data is preferred (by using setData() / getData()). + */ + void* getPointer(void); + + /** + * The notification is posted to the VisualNotificationQueue (pushed at the end of the VisualNotificationQueue). + */ + void post(void); + + /** + * Static helper function that converts a VisualNotificationKey to the string. Possibly useful for debugging or tracing purposes. + * @param aKey The key of a notification. + * @param outString The character string value of the VisualNotificationKey enum value. + */ + static void convertNotificationKeyToString(const VisualNotificationKey aKey, char* outString); + + /** + * Static function for convenient posting of simple enum value of VisualNotificationKey. + * @param aKey The notification key to post. + * @remarks The notification is pushed at the end of the VisualNotificationQueue. + */ + static void post(const VisualNotificationKey aKey); + + /** + * A VisualActor can register for an event/message. The notification is passed with VisualActor::handleNotification(). + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + static void registerNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + /** + * A VisualActor can be removed from the list of observers for a specific notification. + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + static void removeNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualNotification. + */ + void copy(const VisualNotification& other); + + /** Enum value of notification as uint16. */ + VisualNotificationKey notificationEnumKey; + + /** Optional data of notification. */ + void* notificationData; + + /** The length of the optional data in bytes. */ + uint32 notificationDataSize; + + /** Optional object of the notification. */ + VisualObject* notificationObject; + + /** Internally stored pointer to some memory address. */ + void* notificationPointer; + + }; + +} + +#endif /* VisualNotification_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h b/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h new file mode 100644 index 0000000000..a787415f94 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h @@ -0,0 +1,79 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNotificationKey.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualNotificationKey_h +#define VisualNotificationKey_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + /** Constants for various notifications that can be sent to VisualActors or dispatched to individual modules. */ + typedef enum { + kNoNotificationKey = 0, /**< No defined notification. */ + kKeyPressedEvt, /**< A key of the keyboard has been pressed. */ + kAudioPlayTrackChangedEvt, /**< Audio track did change. */ + kAudioPlayStartedEvt, /**< Audio play started (without changing audio track). */ + kAudioPlayStoppedEvt, /**< Audio play stopped. */ + kAudioPlayPausedEvt, /**< Audio play paused. The current audio track did not play until its end. */ + kAudioPlayResumedEvt, /**< Audio play resumed. After pause play resumed. */ + kAudioPlayReachedFadeOutTimeEvt, /**< The remaining time of the audio track is shorter than kFadeOutTimeBeforeEndOfTrackInMS. */ + kCanvasReshapeEvt, /**< The dimensions of the canvas changed. */ + kBeatImpulseEvt, /**< A beat impulse has been detected. */ + kTrackInfoImageMsg, /**< The texture of the track info string is available. */ + kTrackLyricsImageMsg, /**< The texture of the track lyrics string is available. */ + kLoadingEncodedImageDataCompletedMsg, /**< Loading of image data completed. */ + kImageHistogramCompletedMsg, /**< A histogram of an image is available. */ + kImageWithIdentifierLoadedAndCreatedMsg, /**< Loading and creation of image completed. */ + kImageWithIdentifierMsg, /**< An image with an identifier is available. */ + kImageWriteToPNGFileMsg, /**< An image is supposed to be written as PNG file on disk. */ + kImageWriteToPNGFileAndDeleteMsg, /**< An image is supposed to be written as PNG file on disk, with the VisualImage object being deleted afterwards. */ + kGetTrackInfoStringStyleMsg, /**< Evaluate the string style of the track info string. */ + kGetTrackLyricsStringStyleMsg, /**< Evaluate the string style of the lyics string. */ + kStyledStringMsg, /**< A styled string is available. */ + kStringWithIdentifierLoadedAndCreatedMsg, /**< Loading and creation of string completed. */ + kLyricsAreWrittenIntoTempFileMsg, /**< Lyrics are written into temp file (internal notification, not for actors). */ + kLyricsAreAvailableInMetadataMsg, /**< Lyrics of the current audio track are available. */ + kTrackInfoTextureChangedMsg, /**< The texture of the track info changed. */ + kToggleShowProcessMonitorMsg, /**< The ProcessMonitor values should be shown if they are hidden or hidden if they are shown. */ + kToggleProcessMonitorAudioInfoMsg /**< The audio data of the ProcessMonitor should be shown if it is hidden or hidden if it is shown. */ + + } VisualNotificationKey; + +} + +#endif /* VisualNotificationKey_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp new file mode 100644 index 0000000000..a965850115 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp @@ -0,0 +1,228 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNotificationQueue.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualNotificationQueue.h" +#include "VisualThreading.h" +#include "VisualThreadingManager.h" +#include "VisualErrorHandling.h" + + +using namespace VizKit; + + +VisualNotificationQueue* VisualNotificationQueue::visualNotificationQueueInstance = NULL; + + +VisualNotificationQueue::VisualNotificationQueue() { + // null +} + + +VisualNotificationQueue::~VisualNotificationQueue() { + notificationQueue.clear(); + inputNotificationQueue.clear(); +} + + +VisualNotificationQueue* VisualNotificationQueue::getInstance() { + if (VisualNotificationQueue::visualNotificationQueueInstance == NULL) { +#if TARGET_OS_MAC + MPCriticalRegionID visualNotificationQueueCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::notificationQueueSingletonMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(visualNotificationQueueCriticalRegion, kDurationForever); + if (status != noErr) return NULL; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION visualNotificationQueueCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::notificationQueueSingletonMutex); + ::EnterCriticalSection(visualNotificationQueueCriticalSection); +#endif + if (VisualNotificationQueue::visualNotificationQueueInstance == NULL) { + VisualNotificationQueue::visualNotificationQueueInstance = new VisualNotificationQueue; + if (VisualNotificationQueue::visualNotificationQueueInstance == NULL) { + char errLog[256]; + sprintf(errLog, "ERR: init VisualNotificationQueue failed in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(visualNotificationQueueCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(visualNotificationQueueCriticalSection); +#endif + } + return VisualNotificationQueue::visualNotificationQueueInstance; +} + + +void VisualNotificationQueue::dispose() { + if (VisualNotificationQueue::visualNotificationQueueInstance != NULL) { + delete VisualNotificationQueue::visualNotificationQueueInstance; + VisualNotificationQueue::visualNotificationQueueInstance = NULL; + } +} + + +void VisualNotificationQueue::push(VisualNotification& aNotification) { + + VisualNotificationQueue* theVisualNotificationQueue = VisualNotificationQueue::getInstance(); + +#if TARGET_OS_MAC + MPCriticalRegionID inputNotificationQueueAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::inputNotificationQueueAccessMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(inputNotificationQueueAccessCriticalRegion, kDurationForever); + if (status != noErr) return; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION inputNotificationQueueAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::inputNotificationQueueAccessMutex); + ::EnterCriticalSection(inputNotificationQueueAccessCriticalSection); +#endif + + theVisualNotificationQueue->inputNotificationQueue.push_back(aNotification); + +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(inputNotificationQueueAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(inputNotificationQueueAccessCriticalSection); +#endif + +} + + +VisualNotification VisualNotificationQueue::pop() { + VisualNotification aNotification; + VisualNotificationQueue* theVisualNotificationQueue = VisualNotificationQueue::getInstance(); + +#if TARGET_OS_MAC + MPCriticalRegionID visualNotificationQueueAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::notificationQueueAccessMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(visualNotificationQueueAccessCriticalRegion, kDurationForever); + if (status != noErr) return aNotification; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION visualNotificationQueueAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::notificationQueueAccessMutex); + ::EnterCriticalSection(visualNotificationQueueAccessCriticalSection); +#endif + + aNotification = theVisualNotificationQueue->notificationQueue.front(); + theVisualNotificationQueue->notificationQueue.pop_front(); + +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(visualNotificationQueueAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(visualNotificationQueueAccessCriticalSection); +#endif + + return aNotification; +} + + +size_t VisualNotificationQueue::size() { + + VisualNotificationQueue* theVisualNotificationQueue = VisualNotificationQueue::getInstance(); + +#if TARGET_OS_MAC + MPCriticalRegionID visualNotificationQueueAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::notificationQueueAccessMutex); + OSStatus status = noErr; + status = ::MPEnterCriticalRegion(visualNotificationQueueAccessCriticalRegion, kDurationForever); + if (status != noErr) return 0; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION visualNotificationQueueAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::notificationQueueAccessMutex); + ::EnterCriticalSection(visualNotificationQueueAccessCriticalSection); +#endif + + return theVisualNotificationQueue->notificationQueue.size(); + +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(visualNotificationQueueAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(visualNotificationQueueAccessCriticalSection); +#endif + +} + + +void VisualNotificationQueue::update() { + + VisualNotificationQueue* theVisualNotificationQueue = VisualNotificationQueue::getInstance(); + + // inputNotificationQueue +#if TARGET_OS_MAC + OSStatus status = noErr; + MPCriticalRegionID inputNotificationQueueAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::inputNotificationQueueAccessMutex); + status = ::MPEnterCriticalRegion(inputNotificationQueueAccessCriticalRegion, kDurationForever); + if (status != noErr) return; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION inputNotificationQueueAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::inputNotificationQueueAccessMutex); + ::EnterCriticalSection(inputNotificationQueueAccessCriticalSection); +#endif + + // notificationQueue +#if TARGET_OS_MAC + MPCriticalRegionID notificationQueueAccessCriticalRegion = VisualThreadingManager::getCriticalRegionID(VisualThreadingManager::notificationQueueAccessMutex); + status = ::MPEnterCriticalRegion(notificationQueueAccessCriticalRegion, kDurationForever); + if (status != noErr) return; +#endif +#if TARGET_OS_WIN + LPCRITICAL_SECTION notificationQueueAccessCriticalSection = VisualThreadingManager::getCriticalSectionPointer(VisualThreadingManager::notificationQueueAccessMutex); + ::EnterCriticalSection(notificationQueueAccessCriticalSection); +#endif + + for (NotificationQueueIterator it = theVisualNotificationQueue->inputNotificationQueue.begin(); it != theVisualNotificationQueue->inputNotificationQueue.end(); it++) { + theVisualNotificationQueue->notificationQueue.push_back(*it); + } + theVisualNotificationQueue->inputNotificationQueue.clear(); + + // notificationQueue +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(notificationQueueAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(notificationQueueAccessCriticalSection); +#endif + + // inputNotificationQueue +#if TARGET_OS_MAC + status = ::MPExitCriticalRegion(inputNotificationQueueAccessCriticalRegion); +#endif +#if TARGET_OS_WIN + ::LeaveCriticalSection(inputNotificationQueueAccessCriticalSection); +#endif +} diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h new file mode 100644 index 0000000000..dcf1538b5e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h @@ -0,0 +1,134 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNotificationQueue.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualNotificationQueue_h +#define VisualNotificationQueue_h + + +#include "VisualTypes.h" +#include "VisualNotification.h" + +#include + + +namespace VizKit { + + /** + * Queue of notifications. Singleton. + */ + class VisualNotificationQueue { + + public: + + /** + * Returns a pointer to the instance. + * Initializes the VisualNotificationQueue class if neccessary. + * The VisualNotificationQueue is of singleton type. + * @return A pointer to the initialized VisualNotificationQueue. + */ + static VisualNotificationQueue* getInstance(void); + + /** + * Cleans up the VisualNotificationQueue singleton. + */ + static void dispose(void); + + /** + * Pushes a Notification at the end of the VisualNotificationQueue. + * @param aNotification The VisualNotification. + */ + static void push(VisualNotification& aNotification); + + /** + * Erases the top VisualNotification of the VisualNotificationQueue. + */ + static VisualNotification pop(void); + + /** + * Returns the number of items currently stored in VisualNotificationQueue. + */ + static size_t size(void); + + /** + * Updates the notification queue with the most recent input notifications. + */ + static void update(void); + + private: + + /** VisualNotificationQueue is a singleton class. Pointer to private instance is handled internally. */ + static VisualNotificationQueue* visualNotificationQueueInstance; + + /** The constructor. VisualNotificationQueue is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualNotificationQueue(); + + /** The destructor. VisualNotificationQueue is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualNotificationQueue(); + + /** + * Copy constructor. + * @param other Another VisualNotificationQueue. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualNotificationQueue(const VisualNotificationQueue& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualNotificationQueue& operator=(const VisualNotificationQueue& other); + + /** A NotificationQueue is a dequeue of notifications. + * @remarks The VisualNotificationQueue stores its events as a NotificationQueue. + */ + typedef std::deque NotificationQueue; + + /** A NotificationQueueIterator is an iterator of the NotificationQueue. */ + typedef NotificationQueue::iterator NotificationQueueIterator; + + /** The queue of the notifications. */ + NotificationQueue notificationQueue; + + /** + * Input queue of notifications. + * @remarks On push the arrived notification is stored in inputNotificationQueue to exclude concurrency conflicts with processing of notificationQueue in VisualMainAction::renderAction(). + */ + NotificationQueue inputNotificationQueue; + + }; + +} + +#endif /* VisualNotificationQueue_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp b/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp new file mode 100644 index 0000000000..4169e459e9 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp @@ -0,0 +1,412 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNurbs.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualNurbs.h" +#include "VisualErrorHandling.h" +#include "VisualGraphicsCore.h" +#include "VisualGraphics.h" + + + +using namespace VizKit; + + +#ifdef __cplusplus +extern "C" { +#endif + GLvoid nurbsError(GLenum errorCode); +#ifdef __cplusplus +} +#endif + +GLvoid nurbsError(GLenum errorCode) { + const GLubyte* estring; + estring = gluErrorString(errorCode); + writeLog((char*)estring); +} + + +VisualNurbs::VisualNurbs(uint8 sKnotsCount, float* sKnotsPointer, uint8 tKnotsCount, float* tKnotsPointer, uint16 s_Stride, uint16 t_Stride, uint16 s_Order, uint16 t_Order) { + + sNumKnots = sKnotsCount; + sKnots = (GLfloat*)malloc(sKnotsCount * sizeof(GLfloat)); + for (int i = 0; i < sKnotsCount; i++) { + sKnots[i] = sKnotsPointer[i]; + } + tNumKnots = tKnotsCount; + tKnots = (GLfloat*)malloc(tKnotsCount * sizeof(GLfloat)); + for (int i = 0; i < tKnotsCount; i++) { + tKnots[i] = tKnotsPointer[i]; + } + + sStride = s_Stride; + tStride = t_Stride; + sOrder = s_Order; + tOrder = t_Order; + + nurbsObject = gluNewNurbsRenderer(); + + controlPointsVisibility = kInvisible; + controlPoints = NULL; + nurbsTexture = NULL; + +} + + +VisualNurbs::~VisualNurbs() { + if (nurbsTexture != NULL) { + delete nurbsTexture; + } + if (sKnots != NULL) { + free(sKnots); + } + if (tKnots != NULL) { + free(tKnots); + } + if (controlPoints != NULL) { + free(controlPoints); + } + gluDeleteNurbsRenderer(nurbsObject); +} + + +VisualNurbs::VisualNurbs(const VisualNurbs& other) { + copy(other); +} + + +VisualNurbs& VisualNurbs::operator=(const VisualNurbs& other) { + + if (this == &other) return *this; + + if (this->sKnots != NULL) { + free(this->sKnots); + } + if (this->tKnots != NULL) { + free(this->tKnots); + } + if (this->nurbsObject) { + gluDeleteNurbsRenderer(this->nurbsObject); + } + if (this->controlPoints != NULL) { + free(this->controlPoints); + } + + this->copy(other); + + return *this; +} + + +void VisualNurbs::copy(const VisualNurbs& other) { + this->sNumKnots = other.sNumKnots; + if (other.sKnots != NULL) { + this->sKnots = (GLfloat*)malloc(this->sNumKnots * sizeof(GLfloat)); + for (int i = 0; i < this->sNumKnots; i++) { + this->sKnots[i] = other.sKnots[i]; + } + } else { + this->sKnots = NULL; + } + this->tNumKnots = other.tNumKnots; + if (other.tKnots != NULL) { + this->tKnots = (GLfloat*)malloc(this->tNumKnots * sizeof(GLfloat)); + for (int i = 0; i < this->tNumKnots; i++) { + this->tKnots[i] = other.tKnots[i]; + } + } else { + this->tKnots = NULL; + } + + this->sStride = other.sStride; + this->tStride = other.tStride; + this->sOrder = other.sOrder; + this->tOrder = other.tOrder; + + this->nurbsObject = gluNewNurbsRenderer(); + + this->controlPointsVisibility = other.controlPointsVisibility; + uint16 numberOfControlPoints = (this->sNumKnots - this->sOrder) * (this->tNumKnots - this->tOrder); + this->controlPoints = (GLfloat*)malloc(numberOfControlPoints * sizeof(GLfloat)); + for (int i = 0; i < numberOfControlPoints; i++) { + this->controlPoints[i] = other.controlPoints[i]; + } + if (other.nurbsTexture) { + this->nurbsTexture = new NurbsTexture(*(other.nurbsTexture)); + } else { + this->nurbsTexture = NULL; + } +} + + +VisualNurbs::NurbsTexture::NurbsTexture() { + sNumKnots = 0; + sKnots = NULL; + tNumKnots = 0; + tKnots = NULL; + sStride = 0; + tStride = 0; + sOrder = 0; + tOrder = 0; + textureName = 0; + canUseRectExtension = false; + texturePoints = NULL; +} + + +VisualNurbs::NurbsTexture::~NurbsTexture() { + free(sKnots); + free(tKnots); + if (texturePoints) { + free(texturePoints); + } +} + + +VisualNurbs::NurbsTexture::NurbsTexture(const NurbsTexture& other) { + copy(other); +} + + +VisualNurbs::NurbsTexture& VisualNurbs::NurbsTexture::operator=(const VisualNurbs::NurbsTexture& other) { + + if (this == &other) return *this; + + if (this->sKnots != NULL) { + free(this->sKnots); + } + if (this->tKnots != NULL) { + free(this->tKnots); + } + if (this->texturePoints != NULL) { + free(this->texturePoints); + } + + this->copy(other); + + return *this; +} + + +void VisualNurbs::NurbsTexture::copy(const VisualNurbs::NurbsTexture& other) { + this->sNumKnots = other.sNumKnots; + if (other.sKnots != NULL) { + this->sKnots = (GLfloat*)malloc(this->sNumKnots * sizeof(GLfloat)); + for (int i = 0; i < this->sNumKnots; i++) { + this->sKnots[i] = other.sKnots[i]; + } + } else { + this->sKnots = NULL; + } + this->tNumKnots = other.tNumKnots; + if (other.tKnots != NULL) { + this->tKnots = (GLfloat*)malloc(this->tNumKnots * sizeof(GLfloat)); + for (int i = 0; i < this->tNumKnots; i++) { + this->tKnots[i] = other.tKnots[i]; + } + } else { + this->tKnots = NULL; + } + this->sStride = other.sStride; + this->tStride = other.tStride; + this->sOrder = other.sOrder; + this->tOrder = other.tOrder; + this->textureName = other.textureName; + this->canUseRectExtension = other.canUseRectExtension; + uint16 numberOfTextureControlPoints = (this->sNumKnots - this->sOrder) * (this->tNumKnots - this->tOrder); + this->texturePoints = (GLfloat*)malloc(numberOfTextureControlPoints * sizeof(GLfloat)); + for (int i = 0; i < numberOfTextureControlPoints; i++) { + this->texturePoints[i] = other.texturePoints[i]; + } +} + + +void VisualNurbs::setNurbsProperty(uint32 property, float value) { + +/* + //gluNurbsCallback(this->coverNurb, GLU_ERROR, nurbsError); +*/ + + gluNurbsProperty(this->nurbsObject, (GLenum)property, (GLfloat)value); +} + + +void VisualNurbs::setSamplingTolerance(double samplingTolerance) { + this->setNurbsProperty(GLU_SAMPLING_TOLERANCE, static_cast(samplingTolerance)); +} + + +void VisualNurbs::setDisplayMode(NurbsDisplayMode requestedDisplayMode) { + if (requestedDisplayMode == kFill) { + this->setNurbsProperty(GLU_DISPLAY_MODE, GLU_FILL); + } else if (requestedDisplayMode == kOutlinePolygon) { + this->setNurbsProperty(GLU_DISPLAY_MODE, GLU_OUTLINE_POLYGON); + } +} + + +void VisualNurbs::setControlPointsVisibility(Visibility visibility) { + this->controlPointsVisibility = visibility; +} + + +void VisualNurbs::setControlPoints(uint16 numberOfControlPoints, double* someControlPoints) { + if (this->controlPoints != NULL) { + free(this->controlPoints); + this->controlPoints = NULL; + } + this->controlPoints = (GLfloat*)malloc(numberOfControlPoints * sizeof(GLfloat)); + for (int i = 0; i < numberOfControlPoints; i++) { + this->controlPoints[i] = (GLfloat)(someControlPoints[i]); + } +} + + +void VisualNurbs::setTexture(uint8 sKnotsCount, float* sKnotsPointer, uint8 tKnotsCount, float* tKnotsPointer, uint16 s_Stride, uint16 t_Stride, uint16 s_Order, uint16 t_Order, uint32 aTextureName, bool canUseRectExtensionBool) { + + if (this->nurbsTexture != NULL) { + delete this->nurbsTexture; + this->nurbsTexture = NULL; + } + this->nurbsTexture = new NurbsTexture; + this->nurbsTexture->sNumKnots = sKnotsCount; + this->nurbsTexture->sKnots = (GLfloat*)malloc(sKnotsCount * sizeof(GLfloat)); + for (int i = 0; i < sKnotsCount; i++) { + this->nurbsTexture->sKnots[i] = sKnotsPointer[i]; + } + this->nurbsTexture->tNumKnots = tKnotsCount; + this->nurbsTexture->tKnots = (GLfloat*)malloc(tKnotsCount * sizeof(GLfloat)); + for (int i = 0; i < tKnotsCount; i++) { + this->nurbsTexture->tKnots[i] = tKnotsPointer[i]; + } + + this->nurbsTexture->sStride = s_Stride; + this->nurbsTexture->tStride = t_Stride; + this->nurbsTexture->sOrder = s_Order; + this->nurbsTexture->tOrder = t_Order; + + this->nurbsTexture->textureName = aTextureName; + this->nurbsTexture->canUseRectExtension = canUseRectExtensionBool; + +} + + +void VisualNurbs::setTextureControlPoints(uint16 numberOfTextureControlPoints, float* someTextureControlPoints) { + + if (this->nurbsTexture != NULL) { + if (this->nurbsTexture->texturePoints != NULL) { + free(this->nurbsTexture->texturePoints); + this->nurbsTexture->texturePoints = NULL; + } + this->nurbsTexture->texturePoints = (GLfloat*)malloc(numberOfTextureControlPoints * sizeof(GLfloat)); + for (int i = 0; i < numberOfTextureControlPoints; i++) { + this->nurbsTexture->texturePoints[i] = someTextureControlPoints[i]; + } + } else { + char errLog[256]; + sprintf(errLog, "no NurbsTexture available in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } +} + + +void VisualNurbs::draw() { + + if (this->nurbsTexture != NULL) { + if (this->nurbsTexture->canUseRectExtension == false) { + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, (GLuint)this->nurbsTexture->textureName); + } else { +#if TARGET_OS_MAC + glEnable(GL_TEXTURE_RECTANGLE_EXT); + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)this->nurbsTexture->textureName); +#endif + } + } + + gluBeginSurface(this->nurbsObject); + if (this->nurbsTexture != NULL) { + gluNurbsSurface(this->nurbsObject, + this->nurbsTexture->sNumKnots, + this->nurbsTexture->sKnots, + this->nurbsTexture->tNumKnots, + this->nurbsTexture->tKnots, + this->nurbsTexture->sStride, + this->nurbsTexture->tStride, + this->nurbsTexture->texturePoints, + this->nurbsTexture->sOrder, + this->nurbsTexture->tOrder, + GL_MAP2_TEXTURE_COORD_2); + } + gluNurbsSurface(this->nurbsObject, + this->sNumKnots, + this->sKnots, + this->tNumKnots, + this->tKnots, + this->sStride, + this->tStride, + this->controlPoints, + this->sOrder, + this->tOrder, + GL_MAP2_VERTEX_3); + gluEndSurface(this->nurbsObject); + + if (this->nurbsTexture != NULL) { + if (this->nurbsTexture->canUseRectExtension == false) { + glDisable(GL_TEXTURE_2D); + } else { +#if TARGET_OS_MAC + glDisable(GL_TEXTURE_RECTANGLE_EXT); +#endif + } + } + + if (this->controlPointsVisibility == kVisible) { + int cnt = 0; + glPointSize(3.0f); + glColor3d(1.0, 1.0, 0.0); + glBegin(GL_POINTS); + int i, j; + for (i = 0; i < 8; i++) { + for (j = 0; j < 8; j++) { + glVertex3f(this->controlPoints[cnt], this->controlPoints[cnt + 1], this->controlPoints[cnt + 2]); + cnt += 3; + } + } + glEnd(); + } + +} + diff --git a/src/projectM-iTunes-VizKit/source/VisualNurbs.h b/src/projectM-iTunes-VizKit/source/VisualNurbs.h new file mode 100644 index 0000000000..dadb36d639 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualNurbs.h @@ -0,0 +1,220 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualNurbs.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualNurbs_h +#define VisualNurbs_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#if TARGET_OS_MAC +#include +#endif + +#if TARGET_OS_WIN +#include +#include +#include +#endif + + +namespace VizKit { + + + /** + * Nurbs (non-uniform rational b-spline) functionality. + */ + class VisualNurbs { + + public: + + /** + * The constructor with all necessary arguments to create a NURBS. + * @param sKnotsCount The number of knots in horizontal direction. + * @param sKnotsPointer A pointer to the array of horizontal knot values. The knot values are copied. + * @param tKnotsCount The number of knots in vertical direction. + * @param tKnotsPointer A pointer to the array of vertical knot values. The knot values are copied. + * @param s_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric u direction in control. + * @param t_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric v direction in control. + * @param s_Order Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. + * @param t_Order Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. + */ + VisualNurbs(uint8 sKnotsCount, float* sKnotsPointer, uint8 tKnotsCount, float* tKnotsPointer, uint16 s_Stride, uint16 t_Stride, uint16 s_Order, uint16 t_Order); + + /** + * The destructor. + */ + ~VisualNurbs(); + + /** + * Copy constructor. + * @param other Reference to another VisualNurbs. + */ + VisualNurbs(const VisualNurbs& other); + + /** + * Assignment operator. + * @param other Reference to another VisualNurbs. + */ + VisualNurbs& operator=(const VisualNurbs& other); + + /** + * Stores the control points of the NURBS. + * @param numberOfControlPoints The number of control points. + * @param someControlPoints A pointer to an array of control points. The control points are copied. + */ + void setControlPoints(uint16 numberOfControlPoints, double* someControlPoints); + + /** + * Associates the NURBS with a texture. + * @param sKnotsCount The number of knots in horizontal direction. + * @param sKnotsPointer A pointer to the array of horizontal knot values. The knot values are copied. + * @param tKnotsCount The number of knots in vertical direction. + * @param tKnotsPointer A pointer to the array of vertical knot values. The knot values are copied. + * @param s_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric u direction in control. + * @param t_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric v direction in control. + * @param s_Order Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. + * @param t_Order Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. + * @param aTextureName The name/number/id of the texture. + * @param canUseRectExtensionBool True if graphics system does support rectangular texture extension. False if only textures with power-of-2-dimensions are allowed. + */ + void setTexture(uint8 sKnotsCount, float* sKnotsPointer, uint8 tKnotsCount, float* tKnotsPointer, uint16 s_Stride, uint16 t_Stride, uint16 s_Order, uint16 t_Order, uint32 aTextureName, bool canUseRectExtensionBool); + + /** + * Stores the control points of the texture. + * @param numberOfTextureControlPoints The number of control points. + * @param someTextureControlPoints A pointer to an array of control points. The control points are copied. + */ + void setTextureControlPoints(uint16 numberOfTextureControlPoints, float* someTextureControlPoints); + + /** + * Draws the NURBS on screen. + */ + void draw(void); + + /** + * Sets the display mode of the NURBS to filled or outlined polygon. + * @param requestedDisplayMode The requested display mode. + */ + void setDisplayMode(NurbsDisplayMode requestedDisplayMode); + + /** + * Sets the sampling tolerance of the NURBS. + * @param samplingTolerance The requested sampling tolerance. + */ + void setSamplingTolerance(double samplingTolerance); + + /** + * Stores whether the control points of the NURBS should be drawn with the NURBS (or stay invisible). + * @param visibility The requested visibility of the control points. + */ + void setControlPointsVisibility(Visibility visibility); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualNurbs. + */ + void copy(const VisualNurbs& other); + + GLUnurbsObj* nurbsObject; /**< The NURBS object. */ + + uint8 sNumKnots; /**< The number of knots in horizontal direction. */ + + float* sKnots; /**< An array of horizontal knot values. */ + + uint8 tNumKnots; /**< The number of knots in vertical direction. */ + + float* tKnots; /**< An array of vertical knot values. */ + + uint16 sStride; /**< The offset between successive control points in u direction. */ + + uint16 tStride; /**< The offset between successive control points in v direction. */ + + uint16 sOrder; /**< The order of the NURBS surface in u direction. */ + + uint16 tOrder; /**< The order of the NURBS surface in v direction. */ + + float* controlPoints; /**< An array of control points. */ + + Visibility controlPointsVisibility; /**< The visibility of the control points. */ + + void setNurbsProperty(uint32 property, float value); /**< Sets an OpenGL attribute of the NURBS object. */ + + /** + * A texture of a NURBS. + */ + class NurbsTexture { + public: + uint8 sNumKnots; /**< The number of knots in horizontal direction. */ + float* sKnots; /**< An array of horizontal knot values. */ + uint8 tNumKnots; /**< The number of knots in vertical direction. */ + float* tKnots; /**< An array of vertical knot values. */ + uint16 sStride; /**< The offset between successive control points in u direction. */ + uint16 tStride; /**< The offset between successive control points in v direction. */ + uint16 sOrder; /**< The order of the texture in u direction. */ + uint16 tOrder; /**< The order of the texture in v direction. */ + uint32 textureName; /**< The name/number/id of the texture. */ + bool canUseRectExtension; /**< True if graphics system does support rectangular texture extension. False if only textures with power-of-2-dimensions are allowed. */ + float* texturePoints; /**< An array of control points. */ + NurbsTexture(); /**< The constructor. */ + ~NurbsTexture(); /**< The destructor. */ + /** + * Copy constructor of NurbsTexture. + * @param other Reference to another NurbsTexture. + */ + NurbsTexture(const NurbsTexture& other); + /** + * Assignment operator of NurbsTexture. + * @param other Reference to another NurbsTexture. + */ + NurbsTexture& operator=(const NurbsTexture& other); + private: + /** + * Copy method for assignment operator and copy constructor. + * @param other Another NurbsTexture. + */ + void copy(const NurbsTexture& other); + }; + + NurbsTexture* nurbsTexture; /**< The texture of the NURBS. */ + + }; + +} + +#endif /* VisualNurbs_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp b/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp new file mode 100644 index 0000000000..7a5392485e --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp @@ -0,0 +1,217 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualPlayerState.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualPlayerState.h" +#include "VisualTiming.h" +#include "VisualAudioLab.h" +#include "VisualPreferences.h" +#include "VisualConfiguration.h" +#include "VisualErrorHandling.h" + + + +using namespace VizKit; + + +VisualPlayerState* VisualPlayerState::theVisualPlayerState = NULL; + + +VisualPlayerState::VisualPlayerState() { + audioPlayState = kAudioIsNotPlaying; + trackPlayPositionInMS = 0; + showMode = kIsNotShowing; + debugMode = false; + fadeOutEventHasBeenSent = false; +} + + +VisualPlayerState::~VisualPlayerState() { + // null +} + + +VisualPlayerState* VisualPlayerState::getInstance() { + if (theVisualPlayerState == NULL) { + theVisualPlayerState = new VisualPlayerState; + } + if (theVisualPlayerState == NULL) { + writeLog("ERR: init theVisualPlayerState failed"); + } + return theVisualPlayerState; +} + + +void VisualPlayerState::dispose() { + if (theVisualPlayerState != NULL) { + delete theVisualPlayerState; + theVisualPlayerState = NULL; + } +} + + +bool VisualPlayerState::isAudioPlaying() const { + if (audioPlayState == kAudioIsPlaying || audioPlayState == kAudioPlayStarted || audioPlayState == kAudioPlayResumed) { + return true; + } else { + return false; + } +} + + +AudioPlayState VisualPlayerState::getAudioPlayState() const { + return this->audioPlayState; +} + + +PlayerShowMode VisualPlayerState::getPlayerShowMode() const { + return this->showMode; +} + + +uint32 VisualPlayerState::getElapsedAudioTime() const { + return this->trackPlayPositionInMS; +} + + +bool VisualPlayerState::remainingAudioTimeIsKnown() const { + VisualAudioLab* theVisualAudioLab = VisualAudioLab::getInstance(); + return theVisualAudioLab->remainingTimeOfCurrentTrackIsKnown(); +} + + +uint32 VisualPlayerState::getRemainingAudioTime() const { + VisualAudioLab* theVisualAudioLab = VisualAudioLab::getInstance(); + return theVisualAudioLab->getRemainingTimeOfCurrentTrack(); +} + + +bool VisualPlayerState::fadeOutEventShouldBeSent() { + bool retVal = false; + if (this->fadeOutEventHasBeenSent == false) { + if (this->remainingAudioTimeIsKnown() == true) { + if (this->getRemainingAudioTime() < (uint32)VisualPreferences::getValue(VisualPreferences::kFadeOutTimeBeforeEndOfTrackInMS)) { + retVal = true; + this->fadeOutEventHasBeenSent = true; + } + } + } + return retVal; +} + + +uint32 VisualPlayerState::getElapsedAudioPlayStartTime() const { + return VisualTiming::getElapsedMilliSecsSinceReset("trackPlayStart"); +} + + +uint32 VisualPlayerState::getElapsedAudioPlayStopTime() const { + return VisualTiming::getElapsedMilliSecsSinceReset("trackPlayStop"); +} + + +bool VisualPlayerState::isInDebugMode(void) const { + return this->debugMode; +} + + +void VisualPlayerState::setAudioPlayState(AudioPlayState playState) { + this->audioPlayState = playState; + if (playState == kAudioPlayStarted) { + this->fadeOutEventHasBeenSent = false; + } +} + + +void VisualPlayerState::setPlayerShowMode(const PlayerShowMode aShowMode) { + this->showMode = aShowMode; +} + + +void VisualPlayerState::setDebugMode(bool requestedDebugMode) { + this->debugMode = requestedDebugMode; +} + + +void VisualPlayerState::setTrackPlayPositionInMS(const uint32 positionInMS) { + this->trackPlayPositionInMS = positionInMS; +} + + +void VisualPlayerState::convertAudioPlayStateToString(const AudioPlayState anAudioPlayState, char* outString) { + const char* messageString; + switch (anAudioPlayState) { + case kAudioIsNotPlaying: + messageString = "kAudioIsNotPlaying"; + break; + case kAudioPlayStarted: + messageString = "kAudioPlayStarted"; + break; + case kAudioIsPlaying: + messageString = "kAudioIsPlaying"; + break; + case kAudioPlayResumed: + messageString = "kAudioPlayResumed"; + break; + case kAudioPlayPaused: + messageString = "kAudioPlayPaused"; + break; + default: + messageString = "unknownAudioPlayState"; + } + strcpy(outString, messageString); +} + + +void VisualPlayerState::convertPlayerShowModeToString(const PlayerShowMode aShowMode, char* outString) { + const char* messageString; + switch (aShowMode) { + case kIsNotShowing: + messageString = "kIsNotShowing"; + break; + case kErrorState: + messageString = "kErrorState"; + break; + case kIsShowing: + //case kIsShowingInWindow: + messageString = "kIsShowing(InWindow)"; + break; + case kIsShowingInFullScreen: + messageString = "kIsShowingInFullScreen"; + break; + default: + messageString = "unknownShowMode"; + } + strcpy(outString, messageString); +} diff --git a/src/projectM-iTunes-VizKit/source/VisualPlayerState.h b/src/projectM-iTunes-VizKit/source/VisualPlayerState.h new file mode 100644 index 0000000000..27ebce9f62 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualPlayerState.h @@ -0,0 +1,241 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualPlayerState.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualPlayerState_h +#define VisualPlayerState_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * Constants for different modes of audio play. + * @remarks To query whether audio is playing or not, AudioPlayState can be bitwise AND'ed with kAudioIsPlaying. + */ + typedef enum { + kAudioIsNotPlaying = 0x0, /**< 00000000 - No audio is playing. */ + kAudioPlayStarted = 0x3, /**< 00000011 - Audio started playing. */ + kAudioIsPlaying = 0x1, /**< 00000001 - Audio is playing. */ + kAudioPlayResumed = 0x5, /**< 00000101 - Audio play resumed after pause. */ + kAudioPlayPaused = 0x2 /**< 00000010 - Audio play is pausing. */ + } AudioPlayState; + + /** + * Different modes of showing. Used by var showMode of VisualPlayerState. + * @remarks To query whether the visualizer is showing or not, PlayerShowMode can be bitwise AND'ed with kIsShowing. + */ + typedef enum { + kIsNotShowing = 0x0, /**< 00000000 - Default; the visualizer is not showing. */ + kErrorState = 0x80, /**< 10000000 - The visualizer is in error state. Therefore it is showing an error message or nothing. */ + kIsShowing = 0x1, /**< 00000001 - The visualizer is showing. */ + kIsShowingInWindow = 0x1, /**< 00000001 - The visualizer is showing. And it is showing in a window. */ + kIsShowingInFullScreen = 0x3 /**< 00000011 - The visualizer is showing. And it is showing fullscreen. */ + } PlayerShowMode; + + /** + * Provides access to the state of the audio player host. + */ + class VisualPlayerState { + + public: + + /** + * Constructs a VisualPlayerState. The VisualPlayerState acts as a singleton. Returns a pointer to the initialised VisualPlayerState. + * @return A pointer to the singleton instance. + */ + static VisualPlayerState* getInstance(void); + + /** + * Disposes the VisualPlayerState. + */ + static void dispose(void); + + /** + * Answers the question whether currently audio is playing. + * @return True if audio is playing, false if playing of audio is stopped. + */ + bool isAudioPlaying(void) const; + + /** + * Returns the play state of the visual player. + * @return A value of audioPlayState enum. + */ + AudioPlayState getAudioPlayState(void) const; + + /** + * Returns the current mode of the show state. + * @return The current mode of the show state. + */ + PlayerShowMode getPlayerShowMode(void) const; + + /** + * Returns the number of milliseconds of the current audio track that have been passed. 0 if no time value is available. The player position is returned. + * @return The number of milliseconds of the current audio track that have been passed. + */ + uint32 getElapsedAudioTime(void) const; + + /** + * Answers the question whether the remaining time of the current audio track is known. + * Streamed audio has no info about remaining time of current track. + * @return True if the remaining time of the current audio track is known, false if not. + */ + bool remainingAudioTimeIsKnown(void) const; + + /** + * Returns the number of milliseconds of the current audio track that are waiting to be played. 0 if no time value is available. + * @return The number of milliseconds of the current audio track that are waiting to be played. + */ + uint32 getRemainingAudioTime(void) const; + + /** + * Returns true if the fadeOut event should be sent because the remaining time is less than kAudioPlayReachedFadeOutTimeEvt. + * @return True if the fadeOut event should be sent because the remaining time is less than kAudioPlayReachedFadeOutTimeEvt. + */ + bool fadeOutEventShouldBeSent(void); + + /** + * Returns the actual number of milliseconds that have passed since the last audio play start event. + * AudioPlayStartTime and audioPlayStopTime are mutual exclusive. + * If audioPlayStartTime > 0 then audio is playing and audioPlayStopTime == 0. + * If audioPlayStopTime > 0 then audio is not playing and audioPlayStartTime == 0. + * @return The actual number of milliseconds that have passed since the last audio play start event. + */ + uint32 getElapsedAudioPlayStartTime(void) const; + + /** + * Returns the actual number of milliseconds that have passed since the last audio play stop event. + * AudioPlayStartTime and audioPlayStopTime are mutual exclusive. + * If audioPlayStartTime > 0 then audio is playing and audioPlayStopTime == 0. + * If audioPlayStopTime > 0 then audio is not playing and audioPlayStartTime == 0. + * @return The actual number of milliseconds that have passed since the last audio play stop event. + */ + uint32 getElapsedAudioPlayStopTime(void) const; + + /** + * Returns true if player is in debug mode, false otherwise. + * Useful for temporarily and dynamically activated debug mode that can be checked against in different places. + * @return True if player is in debug mode, false otherwise. + * @remarks The debug mode does not change anything fundamentally. It is only a flag that can be set and asked for. + */ + bool isInDebugMode(void) const; + + /** + * Stores the state of audio play. + * @param playState A value of audioPlayState enum. + */ + void setAudioPlayState(const AudioPlayState playState); + + /** + * Stores the current mode of the show state. + * @param aShowMode The current mode of the show state. + */ + void setPlayerShowMode(const PlayerShowMode aShowMode); + + /** + * Sets the debug mode. + * @param requestedDebugMode The debug mode. True turns debug mode on, false turns it off. + */ + void setDebugMode(bool requestedDebugMode); + + /** + * The the play position of the current track is set. + * @param positionInMS The play position in milliseconds. + */ + void setTrackPlayPositionInMS(const uint32 positionInMS); + + /** + * Static helper function that converts an audioPlayState to the string. Possibly useful for debugging or tracing purposes. + * @param anAudioPlayState An audioPlayState. + * @param outString The character string value of the AudioPlayState enum value. + */ + static void convertAudioPlayStateToString(const AudioPlayState anAudioPlayState, char* outString); + + /** + * Static helper function that converts an showMode to the string. Possibly useful for debugging or tracing purposes. + * @param aShowMode A showMode. + * @param outString The character string value of the ShowMode enum value. + */ + static void convertPlayerShowModeToString(const PlayerShowMode aShowMode, char* outString); + + private: + + /** The constructor. VisualPlayerState is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualPlayerState(); + + /** The destructor. VisualPlayerState is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualPlayerState(); + + /** + * Copy constructor. + * @param other Another VisualPlayerState. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualPlayerState(const VisualPlayerState& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualPlayerState& operator=(const VisualPlayerState& other); + + /** VisualPlayerState is a singleton class. Pointer to private instance is handled internally. */ + static VisualPlayerState* theVisualPlayerState; + + /** Uses enum audioPlayState to store the state of audio play. + * See enum audioPlayState for possible different states of audio play. + */ + AudioPlayState audioPlayState; + + /** Uses enum showMode to store the show mode. + * See enum showMode for possible different show modes. + */ + PlayerShowMode showMode; + + /** Stores whether the fadeOut event has been sent once during the play of the current audio track. */ + bool fadeOutEventHasBeenSent; + + /** The current play position of the current track (in milliseconds). */ + uint32 trackPlayPositionInMS; + + /** True if player is in debug mode, false otherwise. */ + bool debugMode; + + }; + +} + +#endif /* VisualPlayerState_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualSignature.cpp b/src/projectM-iTunes-VizKit/source/VisualSignature.cpp new file mode 100644 index 0000000000..ebc82c2dd7 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualSignature.cpp @@ -0,0 +1,64 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualSignature.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualSignature.h" + + +using namespace VizKit; + + +void* VisualSignature::appCookie = NULL; +ITAppProcPtr VisualSignature::appProc = NULL; + + + +void VisualSignature::setAppCookie(void* anAppCookie) { + VisualSignature::appCookie = anAppCookie; +} + + +void* VisualSignature::getAppCookie() { + return VisualSignature::appCookie; +} + + +void VisualSignature::setAppProc(ITAppProcPtr anAppProc) { + VisualSignature::appProc = anAppProc; +} + + +ITAppProcPtr VisualSignature::getAppProc() { + return VisualSignature::appProc; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualSignature.h b/src/projectM-iTunes-VizKit/source/VisualSignature.h new file mode 100644 index 0000000000..db3358031d --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualSignature.h @@ -0,0 +1,95 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualSignature.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualSignature_h +#define VisualSignature_h + +#include "iTunesVisualAPI.h" + +#include "VisualTypes.h" + + +namespace VizKit { + + /** + * Collection of static methods for specific data to establish communication with iTunes host application. + */ + class VisualSignature { + + public: + + /** + * Sets the appCookie. + * @param anAppCookie Pointer to an appCookie. + */ + static void setAppCookie(void* anAppCookie); + + /** + * Gets the appCookie. + * @return Pointer to appCookie. + */ + static void* getAppCookie(void); + + /** + * Sets the appProc. + * @param anAppProc Pointer to an anAppProc. + */ + static void setAppProc(ITAppProcPtr anAppProc); + + /** + * Gets the appProc. + * @return Pointer to an appProc. + */ + static ITAppProcPtr getAppProc(void); + + private: + + /** The constructor. VisualSignature is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualSignature(); + + /** The destructor. VisualSignature is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualSignature(); + + /** Pointer to AppCookie. */ + static void* appCookie; + + /** Pointer to AppProc. */ + static ITAppProcPtr appProc; + + }; + +} + +#endif /* VisualSignature_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp b/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp new file mode 100644 index 0000000000..6ef76a4e43 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp @@ -0,0 +1,1466 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStageBox.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualStageBox.h" +#include "VisualGraphics.h" +#include "VisualErrorHandling.h" +#include "VisualGraphicTypes.h" +#include "VisualVertex.h" +#include "VisualAsset.h" +#include "VisualImage.h" +#include "VisualCamera.h" + +using namespace VizKit; + + +VisualStageBox::VisualStageBox(VisualAsset* anAssetRef) { + + topCoord = 0.0; + leftCoord = 0.0; + bottomCoord = 0.0; + rightCoord = 0.0; + + this->coordWidth = 0.0; + unscaledCoordWidth = 0.0; + this->coordHeight = 0.0; + unscaledCoordHeight = 0.0; + coordDepth = 0.0; + unscaledCoordDepth = 0.0; + + contentPixelWidth = 0; + contentPixelHeight = 0; + + scalingBehaviour = kPreserveAspectRatio; + scaleFactor = 1.0; + + hasLayout = false; + + assetRef = anAssetRef; + + if (anAssetRef == NULL) { + char errLog[64]; + sprintf(errLog, "ERR: assetRef == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + + debugMode = false; + + // initially 2-D + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + frontPosition = aCamera.getMaxNearPos(); + backPosition = aCamera.getMaxNearPos(); + +} + + +VisualStageBox::~VisualStageBox() { + removeAllVertexChains(); +} + + +VisualStageBox::VisualStageBox(const VisualStageBox& other) { + copy(other); +} + + +VisualStageBox& VisualStageBox::operator=(const VisualStageBox& other) { + + if (this == &other) return *this; + + this->removeAllVertexChains(); + this->copy(other); + + return *this; +} + + +void VisualStageBox::copy(const VisualStageBox& other) { + this->topCoord = other.topCoord; + this->leftCoord = other.leftCoord; + this->bottomCoord = other.bottomCoord; + this->rightCoord = other.rightCoord; + + this->coordWidth = other.coordWidth; + this->unscaledCoordWidth = other.unscaledCoordWidth; + this->coordHeight = other.coordHeight; + this->unscaledCoordHeight = other.unscaledCoordHeight; + this->coordDepth = other.coordDepth; + this->unscaledCoordDepth = other.unscaledCoordDepth; + + this->contentPixelWidth = other.contentPixelWidth; + this->contentPixelHeight = other.contentPixelHeight; + + this->stagePosition = other.stagePosition; + this->scalingBehaviour = other.scalingBehaviour; + this->scaleFactor = other.scaleFactor; + + this->hasLayout = other.hasLayout; + + for (ConstVertexChainMapIterator mapIt = other.vertexChainMap.begin(); mapIt != other.vertexChainMap.end(); mapIt++) { + VisualItemIdentifier mapId = mapIt->first; + this->vertexChainMap[mapId] = new VertexChain; + for (ConstVertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) { + this->vertexChainMap[mapId]->push_back(new VisualVertex(**chainIt)); + } + } + + this->assetRef = other.assetRef; + + this->debugMode = other.debugMode; +} + + +void VisualStageBox::setContentPixelWidth(uint32 pixelWidth) { + if (this->contentPixelWidth != pixelWidth) { + this->contentPixelWidth = pixelWidth; + this->hasLayout = false; + } +} + + +void VisualStageBox::setContentPixelHeight(uint32 pixelHeight) { + if (this->contentPixelHeight != pixelHeight) { + this->contentPixelHeight = pixelHeight; + this->hasLayout = false; + } +} + + +void VisualStageBox::setCoordDepth(double aCoordDepth) { + if (this->coordDepth != aCoordDepth) { + this->coordDepth = aCoordDepth; + this->unscaledCoordDepth = aCoordDepth; + this->hasLayout = false; + } +} + + +void VisualStageBox::setFrontPosition(double aFrontPosition) { + if (this->frontPosition != aFrontPosition) { + this->frontPosition = aFrontPosition; + this->hasLayout = false; + } +} + + +double VisualStageBox::getFrontPosition() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->frontPosition; +} + + +void VisualStageBox::setBackPosition(double aBackPosition) { + if (this->backPosition != aBackPosition) { + this->backPosition = aBackPosition; + this->hasLayout = false; + } +} + + +double VisualStageBox::getBackPosition(void) { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->backPosition; +} + + +void VisualStageBox::setVisualStagePosition(const VisualStagePosition& aPosition) { + if (this->stagePosition != aPosition) { + this->stagePosition = aPosition; + this->hasLayout = false; + } +} + + +void VisualStageBox::setScalingBehaviour(ScalingBehaviour aScalingBehaviour) { + if (aScalingBehaviour != this->scalingBehaviour) { + this->scalingBehaviour = aScalingBehaviour; + this->hasLayout = false; + } +} + + +void VisualStageBox::setScaleFactor(double aScaleFactor) { + if (aScaleFactor != this->scaleFactor) { + this->scaleFactor = aScaleFactor; + this->hasLayout = false; + } +} + + +void VisualStageBox::setDirty() { + this->hasLayout = false; +} + + +void VisualStageBox::update() { + this->hasLayout = false; + this->calcCoords(this->assetRef->getCamera()); +} + + +void VisualStageBox::updateIfNeeded() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } +} + + +void VisualStageBox::calcCoords(const VisualCamera& aCamera) { + + double top = 0.0; + double left = 0.0; + double bottom = 0.0; + double right = 0.0; + + double marginLeftCoord = 0.0; + double marginRightCoord = 0.0; + double marginTopCoord = 0.0; + double marginBottomCoord = 0.0; + double minMarginLeftCoord = 0.0; + double minMarginRightCoord = 0.0; + double minMarginTopCoord = 0.0; + double minMarginBottomCoord = 0.0; + + double finalMarginLeftCoord = 0.0; + double finalMarginRightCoord = 0.0; + double finalMarginTopCoord = 0.0; + double finalMarginBottomCoord = 0.0; + + double prevCoordVal = 0.0; + + //printf("hwtest finalMarginLeftCoord1: %f\n", finalMarginLeftCoord); + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + //printf("hwtest contentPixelWidth: %f, getCanvasPixelWidth: %f, getCanvasCoordWidth: %f\n", (double)this->contentPixelWidth, (double)theVisualGraphics->getCanvasPixelWidth(), size.width); + + //printf("hwtest coordWidth1: %f\n", this->coordWidth); + //this->contentPixelWidth = 0; + //printf("hwtesthwtest: %ld, %f\n", this->contentPixelWidth, (double)this->contentPixelWidth); + + CoordSize3D size = aCamera.getSize(); + this->coordWidth = size.width * ((double)this->contentPixelWidth / (double)theVisualGraphics->getCanvasPixelWidth()); + //printf("hwtest coordWidth2: %f\n", this->coordWidth); + this->coordHeight = size.height * ((double)this->contentPixelHeight / (double)theVisualGraphics->getCanvasPixelHeight()); + + // calc margin values + if (this->stagePosition.marginBottom != 0.0) { + if (this->stagePosition.marginBottomUnit == kPercent) { + marginBottomCoord = size.height * (this->stagePosition.marginBottom / 100.0); + } else if (this->stagePosition.marginBottomUnit == kPixel) { + marginBottomCoord = theVisualGraphics->yPixelToCoord((uint16)this->stagePosition.marginBottom, aCamera); + } + } + + if (this->stagePosition.marginTop != 0.0) { + if (this->stagePosition.marginBottomUnit == kPercent) { + marginTopCoord = size.height * (this->stagePosition.marginBottom / 100.0); + } else if (this->stagePosition.marginTopUnit == kPixel) { + marginTopCoord = theVisualGraphics->yPixelToCoord((uint16)this->stagePosition.marginTop, aCamera); + } + } + + if (this->stagePosition.marginLeft != 0.0) { + if (this->stagePosition.marginLeftUnit == kPercent) { + marginLeftCoord = size.width * (this->stagePosition.marginLeft / 100.0); + } else if (this->stagePosition.marginLeftUnit == kPixel) { + marginLeftCoord = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.marginLeft, aCamera); + } + } + + if (this->stagePosition.marginRight != 0.0) { + if (this->stagePosition.marginRightUnit == kPercent) { + marginRightCoord = size.width * (this->stagePosition.marginRight / 100.0); + } else if (this->stagePosition.marginRightUnit == kPixel) { + marginRightCoord = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.marginRight, aCamera); + } + } + + if (this->stagePosition.minMarginBottom != 0.0) { + if (this->stagePosition.minMarginBottomUnit == kPercent) { + minMarginBottomCoord = size.height * (this->stagePosition.minMarginBottom / 100.0); + } else if (this->stagePosition.minMarginBottomUnit == kPixel) { + minMarginBottomCoord = theVisualGraphics->yPixelToCoord((uint16)this->stagePosition.minMarginBottom, aCamera); + } + } + + if (this->stagePosition.minMarginTop != 0.0) { + if (this->stagePosition.minMarginTopUnit == kPercent) { + minMarginTopCoord = size.height * (this->stagePosition.minMarginTop / 100.0); + } else if (this->stagePosition.minMarginTopUnit == kPixel) { + minMarginTopCoord = theVisualGraphics->yPixelToCoord((uint16)this->stagePosition.minMarginTop, aCamera); + } + } + + if (this->stagePosition.minMarginLeft != 0.0) { + if (this->stagePosition.minMarginLeftUnit == kPercent) { + minMarginLeftCoord = size.width * (this->stagePosition.minMarginLeft / 100.0); + } else if (this->stagePosition.minMarginLeftUnit == kPixel) { + minMarginLeftCoord = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.minMarginLeft, aCamera); + } + } + + if (this->stagePosition.minMarginRight != 0.0) { + if (this->stagePosition.minMarginRightUnit == kPercent) { + minMarginRightCoord = size.width * (this->stagePosition.minMarginRight / 100.0); + } else if (this->stagePosition.minMarginRightUnit == kPixel) { + minMarginRightCoord = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.minMarginRight, aCamera); + } + } + + //printf("hwtest finalMarginLeftCoord2: %f\n", finalMarginLeftCoord); + //printf("hwtest coordWidth102: %f\n", this->coordWidth); + + // calc finalMarginValues + if (marginTopCoord > 0.0) { + finalMarginTopCoord = marginTopCoord; + } + if (marginLeftCoord > 0.0) { + finalMarginLeftCoord = marginLeftCoord; + } + if (marginBottomCoord > 0.0) { + finalMarginBottomCoord = marginBottomCoord; + } + if (marginRightCoord > 0.0) { + finalMarginRightCoord = marginRightCoord; + } + // wider than canvas + if (this->coordWidth > (size.width - minMarginRightCoord - minMarginLeftCoord)) { + prevCoordVal = this->coordWidth; + this->coordWidth = size.width - minMarginRightCoord - minMarginLeftCoord; + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + finalMarginLeftCoord = minMarginLeftCoord; + finalMarginRightCoord = minMarginRightCoord; + } + // higher than canvas + if (this->coordHeight > (size.height - minMarginTopCoord - minMarginBottomCoord)) { + prevCoordVal = this->coordHeight; + this->coordHeight = size.height - minMarginTopCoord - minMarginBottomCoord; + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + } + finalMarginTopCoord = minMarginTopCoord; + finalMarginBottomCoord = minMarginBottomCoord; + } + + if (this->coordWidth == 0.0) { + this->coordWidth = size.width - finalMarginLeftCoord - finalMarginRightCoord; + } + if (this->coordHeight == 0.0) { + this->coordHeight = size.height - finalMarginTopCoord - finalMarginBottomCoord; + } + + // calc coordWidth and coordHeight + if ((this->scalingBehaviour & kScalingAllowed) == kScalingAllowed) { + + // < minWidth + if (this->stagePosition.minWidth > 0.0) { + prevCoordVal = this->coordWidth; + if ((this->stagePosition.minWidthUnit == kPercent) && ((this->coordWidth / size.width * 100.0) < this->stagePosition.minWidth)) { + this->coordWidth = this->stagePosition.minWidth * size.width / 100.0; + if (this->coordWidth > (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + this->coordWidth -= (minMarginLeftCoord + minMarginRightCoord); + } else { + this->coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + } else if ((this->stagePosition.minWidthUnit == kPixel) && (static_cast(theVisualGraphics->xCoordToPixel(this->coordWidth, aCamera)) < this->stagePosition.minWidth)) { + this->coordWidth = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.minWidth, aCamera); + if (this->coordWidth > (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + this->coordWidth -= (minMarginLeftCoord + minMarginRightCoord); + } else { + this->coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + } + } + + //printf("hwtest coordWidth103: %f (%f)\n", this->coordWidth, this->stagePosition.minHeight); + + // < minHeight + if (this->stagePosition.minHeight > 0.0) { + prevCoordVal = this->coordHeight; + if ((this->stagePosition.minHeightUnit == kPercent) && ((this->coordHeight / size.height * 100.0) < this->stagePosition.minHeight)) { + this->coordHeight = this->stagePosition.minHeight * size.height / 100.0; + if (this->coordHeight > (size.height - (minMarginTopCoord + minMarginBottomCoord))) { + this->coordHeight -= (minMarginTopCoord + minMarginBottomCoord); + } else { + this->coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + //printf("hwtest coordWidth103a: %f\n", this->coordWidth); + } + } + } else if ((this->stagePosition.minHeightUnit == kPixel) && (static_cast(theVisualGraphics->yCoordToPixel(this->coordHeight, aCamera)) < this->stagePosition.minHeight)) { + this->coordHeight = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.minHeight, aCamera); + if (this->coordHeight > (size.height - (minMarginTopCoord + minMarginBottomCoord))) { + this->coordHeight -= (minMarginTopCoord + minMarginBottomCoord); + } else { + this->coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + //printf("hwtest coordWidth103b: %f\n", this->coordWidth); + } + } + } + } + + // > maxWidth + if (this->stagePosition.maxWidth > 0.0) { + prevCoordVal = this->coordWidth; + if ((this->stagePosition.maxWidthUnit == kPercent) && ((this->coordWidth / size.width * 100.0) > this->stagePosition.maxWidth)) { + this->coordWidth = this->stagePosition.maxWidth * size.width / 100.0; + //printf("hwtest coordWidth103c: %f\n", this->coordWidth); + if (this->coordWidth > (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + this->coordWidth -= (minMarginLeftCoord + minMarginRightCoord); + //printf("hwtest coordWidth103d: %f\n", this->coordWidth); + } else { + this->coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord); + //printf("hwtest coordWidth103e: %f\n", this->coordWidth); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + } else if ((this->stagePosition.maxWidthUnit == kPixel) && (static_cast(theVisualGraphics->xCoordToPixel(this->coordWidth, aCamera)) > this->stagePosition.maxWidth)) { + this->coordWidth = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.maxWidth, aCamera); + if (this->coordWidth > (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + this->coordWidth -= (minMarginLeftCoord + minMarginRightCoord); + //printf("hwtest coordWidth103f: %f\n", this->coordWidth); + } else { + this->coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord); + //printf("hwtest coordWidth103g: %f\n", this->coordWidth); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + } + } + + //printf("hwtest coordWidth104: %f\n", this->coordWidth); + + // > maxHeight + if (this->stagePosition.maxHeight > 0.0) { + prevCoordVal = this->coordHeight; + if ((this->stagePosition.maxHeightUnit == kPercent) && ((this->coordHeight / size.height * 100.0) > this->stagePosition.maxHeight)) { + this->coordHeight = this->stagePosition.maxHeight * size.height / 100.0; + if (this->coordHeight > (size.height - (minMarginTopCoord + minMarginBottomCoord))) { + this->coordHeight -= (minMarginTopCoord + minMarginBottomCoord); + } else { + this->coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + } + } else if ((this->stagePosition.maxHeightUnit == kPixel) && (static_cast(theVisualGraphics->yCoordToPixel(this->coordHeight, aCamera)) > this->stagePosition.maxHeight)) { + this->coordHeight = theVisualGraphics->xPixelToCoord((uint16)this->stagePosition.maxHeight, aCamera); + if (this->coordHeight > (size.height - (minMarginTopCoord + minMarginBottomCoord))) { + this->coordHeight -= (minMarginTopCoord + minMarginBottomCoord); + } else { + this->coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord); + } + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + //this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal * (size.width / size.height)); + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + } + } + } + + //printf("hwtest coordWidth105: %f\n", this->coordWidth); + + //printf("hwtest finalMarginLeftCoord3: %f\n", finalMarginLeftCoord); + + if (!((this->scalingBehaviour & kClippingAllowed) == kClippingAllowed)) { + if (this->coordWidth > (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + prevCoordVal = this->coordWidth; + this->coordWidth = size.width - (minMarginLeftCoord + minMarginRightCoord); + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + } + } + } + if (this->coordHeight > (size.height - (minMarginTopCoord + minMarginBottomCoord))) { + prevCoordVal = this->coordHeight; + this->coordHeight = size.height - (minMarginTopCoord + minMarginBottomCoord); + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + } + } + } + +/* + if (!((this->scalingBehaviour & kClippingAllowed) == kClippingAllowed)) { + double aspectRatioCanvas = size.width / size.height; + double aspectRatioCover = coverArtTextureContainer->getImageWidth() / coverArtTextureContainer->getImageHeight(); + coordWidthUnscaled = (double)size.width * ((double)coverArtTextureContainer->getImageWidth() / (double)theVisualGraphics->getCanvasPixelWidth()); + coordHeightUnscaled = (double)size.height * ((double)coverArtTextureContainer->getImageHeight() / (double)theVisualGraphics->getCanvasPixelHeight()); + if (aspectRatioCanvas > aspectRatioCover) { + prevCoordVal = this->coordWidth; + this->coordWidth = (double)size.width; + this->coordHeight = coordHeightUnscaled * (this->coordWidth / coordWidthUnscaled); + } else { + this->coordHeight = (double)size.height; + this->coordWidth = coordWidthUnscaled * (this->coordHeight / coordHeightUnscaled); + } + } +*/ + } + + //printf("hwtest finalMarginLeftCoord4: %f\n", finalMarginLeftCoord); + + //printf("this->coordHeight: %f, this->coordWidth: %f\n", this->coordHeight, this->coordWidth); + + // recalc finalMarginCoords + if (this->stagePosition.verticalAlignment == kTopAligned) { + if (minMarginTopCoord > marginTopCoord) { + finalMarginTopCoord = minMarginTopCoord; + } else { + finalMarginTopCoord = marginTopCoord; + } + if (minMarginBottomCoord > marginBottomCoord) { + finalMarginBottomCoord = minMarginBottomCoord; + } else { + finalMarginBottomCoord = marginBottomCoord; + } + if (this->coordHeight < (size.height - (finalMarginTopCoord + finalMarginBottomCoord))) { + finalMarginBottomCoord = 0.0; + } + } else if (this->stagePosition.verticalAlignment == kMiddleAligned) { + finalMarginTopCoord = (size.height / 2.0) - (this->coordHeight / 2.0) - marginTopCoord; + finalMarginBottomCoord = (size.height / 2.0) - (this->coordHeight / 2.0) - marginBottomCoord; + if (finalMarginTopCoord < minMarginTopCoord) { + finalMarginTopCoord = minMarginTopCoord; + } + if (finalMarginBottomCoord < minMarginBottomCoord) { + finalMarginBottomCoord = minMarginBottomCoord; + } + if ((this->coordHeight / 2.0) >= (size.height / 2.0) - minMarginBottomCoord) { + finalMarginBottomCoord = minMarginBottomCoord; + finalMarginTopCoord = size.height - (finalMarginBottomCoord + this->coordHeight); + if ((finalMarginTopCoord + this->coordHeight + finalMarginBottomCoord) > size.height) { + finalMarginTopCoord = minMarginTopCoord; + prevCoordVal = this->coordHeight; + this->coordHeight = size.height - finalMarginTopCoord - finalMarginBottomCoord; + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + } + } + } + //printf("hwtest coordWidth106: %f\n", this->coordWidth); + } else if (this->stagePosition.verticalAlignment == kBottomAligned) { + if (minMarginBottomCoord > marginBottomCoord) { + finalMarginBottomCoord = minMarginBottomCoord; + } else { + finalMarginBottomCoord = marginBottomCoord; + } + if (minMarginTopCoord > marginTopCoord) { + finalMarginTopCoord = minMarginTopCoord; + } else { + finalMarginTopCoord = marginTopCoord; + } + if (this->coordHeight < (size.height - (finalMarginTopCoord + finalMarginBottomCoord))) { + finalMarginTopCoord = 0.0; + } + } + + if (this->stagePosition.horizontalAlignment == kLeftAligned) { + //printf("hwtest finalMarginLeftCoord4a: %f\n", finalMarginLeftCoord); + if (minMarginLeftCoord > marginLeftCoord) { + finalMarginLeftCoord = minMarginLeftCoord; + } else { + finalMarginLeftCoord = marginLeftCoord; + } + if (minMarginRightCoord > marginRightCoord) { + finalMarginRightCoord = minMarginRightCoord; + } else { + finalMarginRightCoord = marginRightCoord; + } + if (this->coordWidth < (size.width - (finalMarginLeftCoord + finalMarginRightCoord))) { + finalMarginRightCoord = 0.0; + } + //printf("hwtest finalMarginLeftCoord4b: %f\n", finalMarginLeftCoord); + } else if (this->stagePosition.horizontalAlignment == kCenterAligned) { +/* + if (this->coordWidth >= (size.width - (minMarginLeftCoord + minMarginRightCoord))) { + finalMarginLeftCoord = minMarginLeftCoord; + finalMarginRightCoord = minMarginRightCoord; + } else { + finalMarginLeftCoord = (size.width / 2.0) - (this->coordWidth / 2.0) - marginLeftCoord; + finalMarginRightCoord = (size.width / 2.0) - (this->coordWidth / 2.0) - marginRightCoord; + } +*/ + //printf("hwtest finalMarginLeftCoord4c1: %f , %f , %f\n", finalMarginLeftCoord, this->coordWidth, marginLeftCoord); + finalMarginLeftCoord = (size.width / 2.0) - (this->coordWidth / 2.0) - marginLeftCoord; + //printf("hwtest finalMarginLeftCoord4c2: %f\n", finalMarginLeftCoord); + finalMarginRightCoord = (size.width / 2.0) - (this->coordWidth / 2.0) - marginRightCoord; + if (finalMarginLeftCoord < minMarginLeftCoord) { + finalMarginLeftCoord = minMarginLeftCoord; + //printf("hwtest finalMarginLeftCoord4c3: %f\n", finalMarginLeftCoord); + } + if (finalMarginRightCoord < minMarginRightCoord) { + finalMarginRightCoord = minMarginRightCoord; + } + //printf("hwtest finalMarginLeftCoord4d: %f\n", finalMarginLeftCoord); + if ((this->coordWidth / 2.0) >= (size.width / 2.0) - minMarginRightCoord) { + finalMarginRightCoord = minMarginRightCoord; + finalMarginLeftCoord = size.width - (finalMarginRightCoord - this->coordWidth); + if ((finalMarginLeftCoord + this->coordWidth + finalMarginRightCoord) > size.width) { + finalMarginLeftCoord = minMarginLeftCoord; + prevCoordVal = this->coordWidth; + this->coordWidth = size.width - finalMarginLeftCoord - finalMarginRightCoord; + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordWidth / prevCoordVal); + } + } + } + } + //printf("hwtest finalMarginLeftCoord4e: %f\n", finalMarginLeftCoord); + } else if (this->stagePosition.horizontalAlignment == kRightAligned) { + //printf("hwtest finalMarginLeftCoord4f: %f\n", finalMarginLeftCoord); + if (minMarginRightCoord > marginRightCoord) { + finalMarginRightCoord = minMarginRightCoord; + } else { + finalMarginRightCoord = marginRightCoord; + } + if (minMarginLeftCoord > marginLeftCoord) { + finalMarginLeftCoord = minMarginLeftCoord; + } else { + finalMarginLeftCoord = marginLeftCoord; + } + if (this->coordWidth < (size.height - (finalMarginLeftCoord + finalMarginRightCoord))) { + finalMarginLeftCoord = 0.0; + } + //printf("hwtest finalMarginLeftCoord4g: %f\n", finalMarginLeftCoord); + } + + //printf("hwtest finalMarginLeftCoord5: %f\n", finalMarginLeftCoord); + + + //printf("hwtest left1: %f\n", left); + //printf("hwtest a: %f, b: %f\n", aCamera.getMaxLeftCoord(), finalMarginLeftCoord); + + // position + if (this->stagePosition.horizontalAlignment == kLeftAligned) { + left = aCamera.getMaxLeftCoord() + finalMarginLeftCoord; + right = left + this->coordWidth; + } else if (this->stagePosition.horizontalAlignment == kCenterAligned) { + left = aCamera.getMaxLeftCoord() + finalMarginLeftCoord; + right = aCamera.getMaxRightCoord() - finalMarginRightCoord; + } else if (this->stagePosition.horizontalAlignment == kRightAligned) { + right = aCamera.getMaxRightCoord() - finalMarginRightCoord; + left = right - this->coordWidth; + } + + //printf("hwtest left2: %f\n", left); + + if (this->stagePosition.verticalAlignment == kTopAligned) { + top = aCamera.getMaxTopCoord() - finalMarginTopCoord; + bottom = top - this->coordHeight; + } else if (this->stagePosition.verticalAlignment == kMiddleAligned) { + //printf("hwtest aCamera.getMaxTopCoord(): %f, aCamera.getMaxBottomCoord(): %f\n", aCamera.getMaxTopCoord(), aCamera.getMaxBottomCoord()); + //printf("finalMarginTopCoord: %f\n", finalMarginTopCoord); + top = aCamera.getMaxTopCoord() - finalMarginTopCoord; + bottom = aCamera.getMaxBottomCoord() + finalMarginBottomCoord; + } else if (this->stagePosition.verticalAlignment == kBottomAligned) { + bottom = aCamera.getMaxBottomCoord() + finalMarginBottomCoord; + top = bottom + this->coordHeight; + } + + //printf("hwtest coordWidth2a: %f, coordHeight2a: %f\n", this->coordWidth, this->coordHeight); + //printf("hwtest top1: %f, bottom1: %f, left1: %f, right1: %f\n", top, bottom, left, right); + +/* + if (this->stagePosition.verticalAlignment == kTop) { + bottom = aCamera.getMaxTopCoord() - this->coordHeight - finalMarginTopCoord; + } else if (this->stagePosition.verticalAlignment == kMiddle) { + bottom = aCamera.getMaxBottomCoord() + finalMarginBottomCoord + (((size.height - finalMarginBottomCoord) / 2.0) - (this->coordHeight / 2.0)); + if ((minMarginBottomCoord > marginBottomCoord) && ((aCamera.getMaxBottomCoord() - bottom) < minMarginBottomCoord)) { + //bottom = aCamera.getMaxBottomCoord() + minMarginBottomCoord; + } + } else if (this->stagePosition.verticalAlignment == kBottom) { + bottom = aCamera.getMaxBottomCoord() + finalMarginBottomCoord; + } + top = bottom + this->coordHeight; +*/ +/* + if (this->stagePosition.horizontalAlignment == kLeft) { + left = aCamera.getMaxLeftCoord() + finalMarginLeftCoord; + } else if (this->stagePosition.horizontalAlignment == kCenter) { + left = (aCamera.getMaxLeftCoord() + finalMarginLeftCoord + (size.width / 2.0)) - (this->coordWidth / 2.0); + } else if (this->stagePosition.horizontalAlignment == kRight) { + left = aCamera.getMaxRightCoord() - this->coordWidth - finalMarginRightCoord; + } + right = left + this->coordWidth; +*/ + // adjust bounds to current bounding rect + if ((this->scalingBehaviour & kScalingAllowed) == kScalingAllowed) { + + // positioning +/* + if (this->stagePosition.verticalAlignment == kTop) { + bottom = aCamera.getMaxTopCoord() - this->coordHeight - finalMarginTopCoord; + } else if (this->stagePosition.verticalAlignment == kMiddle) { + bottom = aCamera.getMaxBottomCoord() + ((size.height / 2.0) - (this->coordHeight / 2.0)); + } else if (this->stagePosition.verticalAlignment == kBottom) { + bottom = aCamera.getMaxBottomCoord() + finalMarginBottomCoord; + } + top = bottom + this->coordHeight; +*/ +/* + if (this->stagePosition.horizontalAlignment == kLeft) { + left = aCamera.getMaxLeftCoord() + finalMarginLeftCoord; + } else if (this->stagePosition.horizontalAlignment == kCenter) { + left = aCamera.getMaxLeftCoord() + ((size.width / 2.0) - (this->coordWidth / 2.0)); + } else if (this->stagePosition.horizontalAlignment == kRight) { + left = aCamera.getMaxRightCoord() - this->coordWidth - finalMarginRightCoord; + } + right = left + this->coordWidth; +*/ + // calc distances + double distanceBottom = 0.0; + if (bottom > 0.0) { + distanceBottom = (size.height / 2.0) + bottom; + } else { + distanceBottom = (aCamera.getMaxBottomCoord() - bottom) * -1.0; + } + double distanceTop = 0.0; + if (top > 0.0) { + distanceTop = aCamera.getMaxTopCoord() - top; + } else { + distanceTop = (size.height / 2.0) + (top * -1.0); + } + double distanceLeft = 0.0; + if (left > 0.0) { + distanceLeft = (size.width / 2.0) + left; + } else { + distanceLeft = (aCamera.getMaxLeftCoord() - left) * -1.0; + } + double distanceRight = 0.0; + if (right > 0.0) { + distanceRight = aCamera.getMaxRightCoord() - right; + } else { + distanceRight = (size.width / 2.0) + (right * -1.0); + } + // rescale because minMargin is exceeded? + //if ((distanceBottom < minMarginBottomCoord) || (distanceTop < minMarginTopCoord) || (distanceLeft < minMarginLeftCoord) || (distanceRight < minMarginRightCoord)) { + if (1 == 2) { + prevCoordVal = bottom; + if (this->stagePosition.verticalAlignment == kTopAligned) { + bottom = aCamera.getMaxTopCoord() - this->coordHeight - marginTopCoord; + } else if (this->stagePosition.verticalAlignment == kMiddleAligned) { + bottom = aCamera.getMaxBottomCoord() + marginBottomCoord + (((size.height - marginBottomCoord) / 2.0) - (this->coordHeight / 2.0)); + if ((minMarginBottomCoord > marginBottomCoord) && ((aCamera.getMaxBottomCoord() - bottom) < minMarginBottomCoord)) { + bottom = aCamera.getMaxBottomCoord() + minMarginBottomCoord; + } + } else if (this->stagePosition.verticalAlignment == kBottomAligned) { + bottom = aCamera.getMaxBottomCoord() + marginBottomCoord; + } + top -= (prevCoordVal - bottom); + + prevCoordVal = left; + if (this->stagePosition.horizontalAlignment == kLeftAligned) { + left = aCamera.getMaxLeftCoord() + minMarginLeftCoord; + } else if (this->stagePosition.horizontalAlignment == kCenterAligned) { + left = aCamera.getMaxLeftCoord() + marginLeftCoord + (((size.width - marginLeftCoord) / 2.0) - (this->coordWidth / 2.0)); + if ((minMarginLeftCoord > marginLeftCoord) && ((aCamera.getMaxLeftCoord() - left) < minMarginLeftCoord)) { + left = aCamera.getMaxLeftCoord() + minMarginLeftCoord; + } + } else if (this->stagePosition.horizontalAlignment == kRightAligned) { + left = aCamera.getMaxRightCoord() - this->coordWidth - marginRightCoord; + } + right -= (prevCoordVal - left); + + // scale? + if (top > (aCamera.getMaxTopCoord() - minMarginTopCoord)) { + prevCoordVal = this->coordHeight; + this->coordHeight = size.height - minMarginTopCoord - minMarginBottomCoord; + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + if (prevCoordVal > 0.0) { + this->coordWidth = this->coordWidth * (this->coordHeight / prevCoordVal); + } + if (this->stagePosition.horizontalAlignment == kLeftAligned) { + left = aCamera.getMaxLeftCoord() + marginLeftCoord; + } else if (this->stagePosition.horizontalAlignment == kCenterAligned) { + left = (aCamera.getMaxLeftCoord() + marginLeftCoord + (size.width / 2.0)) - (this->coordWidth / 2.0); + //left = aCamera.getMaxLeftCoord() + marginLeftCoord + (this->coordWidth / 2.0); + } else if (this->stagePosition.horizontalAlignment == kRightAligned) { + left = aCamera.getMaxRightCoord() - this->coordWidth - marginRightCoord; + } + right = left + this->coordWidth; + } + top = bottom + this->coordHeight; + } + if (right < (aCamera.getMaxRightCoord() - minMarginRightCoord)) { + prevCoordVal = this->coordWidth; + //this->coordWidth = size.width - minMarginLeftCoord - minMarginRightCoord; + /* + if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) { + this->coordHeight = this->coordHeight * (this->coordWidth / prevCoordVal); + if (this->stagePosition.verticalAlignment == kTop) { + top = aCamera.getMaxTopCoord() - marginTopCoord; + } else if (this->stagePosition.verticalAlignment == kMiddle) { + top = (aCamera.getMaxTopCoord() - marginTopCoord - (size.height / 2.0)) + (this->coordHeight / 2.0); + } else if (this->stagePosition.verticalAlignment == kBottom) { + top = aCamera.getMaxBottomCoord() + this->coordHeight + marginBottomCoord; + } + bottom = top - this->coordHeight; + } + */ + //left = aCamera.getMaxLeftCoord() + minMarginLeftCoord; + //right = left + this->coordWidth; + } + } + } + + //printf("hwtest coordWidth2b: %f, coordHeight2b: %f\n", this->coordWidth, this->coordHeight); + //printf("hwtest top2: %f, bottom2: %f, left2: %f, right2: %f\n", top, bottom, left, right); + + this->topCoord = top; + this->bottomCoord = bottom; + this->leftCoord = left; + this->rightCoord = right; + + if (this->stagePosition.depthAlignment == kFrontAligned) { + this->frontPosition = aCamera.getMaxNearPos(); + this->frontPosition += 0.01; + this->frontPosition *= -1.0; + this->backPosition = this->frontPosition - this->unscaledCoordDepth; + } else if (this->stagePosition.depthAlignment == kDepthCenterAligned) { + /* + double zCoordAmount = aCamera.getMaxFarPos() - aCamera.getMaxNearPos(); + double zCenter = aCamera.getMaxNearPos() + (zCoordAmount / 2.0); + this->frontPosition = zCenter - (this->coordDepth / 2.0); + this->backPosition = zCenter + (this->coordDepth / 2.0); + */ + + this->frontPosition = 0.0 + (this->unscaledCoordDepth / 2.0); + this->backPosition = 0.0 - (this->unscaledCoordDepth / 2.0); + //printf("hwtest: kDepthCenterAligned1 font: %f, back: %f\n", this->frontPosition, this->backPosition); + } else if (this->stagePosition.depthAlignment == kBackAligned) { + this->backPosition = aCamera.getMaxFarPos(); + this->frontPosition = this->backPosition - this->unscaledCoordDepth; + } + + this->coordWidth = this->rightCoord - this->leftCoord; + this->unscaledCoordWidth = this->coordWidth; + this->coordHeight = this->topCoord - this->bottomCoord; + this->unscaledCoordHeight = this->coordHeight; + + this->leftCoord += this->stagePosition.horizontalCoordOffset; + this->rightCoord += this->stagePosition.horizontalCoordOffset; + this->bottomCoord += this->stagePosition.verticalCoordOffset; + this->topCoord += this->stagePosition.verticalCoordOffset; + + //printf("hwtest coordWidth2z: %f, coordHeight2z: %f\n", this->coordWidth, this->coordHeight); + + //printf("hwtest top3: %f, bottom3: %f, left3: %f, right3: %f\n", this->topCoord, this->bottomCoord, this->leftCoord, this->rightCoord); + + this->applyScaleFactor(); + + //printf("hwtest top4: %f, bottom4: %f, left4: %f, right4: %f\n", this->topCoord, this->bottomCoord, this->leftCoord, this->rightCoord); + + this->hasLayout = true; + + this->updateVertices(); + + //printf("hwtest top5: %f, bottom5: %f, left5: %f, right5: %f\n", this->topCoord, this->bottomCoord, this->leftCoord, this->rightCoord); + + //printf("hwtest coordWidth3: %f, coordHeight3: %f\n", this->coordWidth, this->coordHeight); + +} + + +void VisualStageBox::applyScaleFactor() { + + double top = this->topCoord; + double left = this->leftCoord; + double bottom = this->bottomCoord; + double right = this->rightCoord; + double front = this->frontPosition; + double back = this->backPosition; + + if (this->stagePosition.horizontalAlignment == kLeftAligned) { + right = left + (this->unscaledCoordWidth * this->scaleFactor); + } else if (this->stagePosition.horizontalAlignment == kCenterAligned) { + double widthDelta = this->unscaledCoordWidth - (this->unscaledCoordWidth * this->scaleFactor); + widthDelta /= 2.0; + left = this->leftCoord + widthDelta; + right = this->rightCoord - widthDelta; + //printf("hwtest left: %f, right: %f\n", left, right); + } else if (this->stagePosition.horizontalAlignment == kRightAligned) { + left = right - (this->unscaledCoordWidth * this->scaleFactor); + } + + if (this->stagePosition.verticalAlignment == kTopAligned) { + bottom = top - (this->unscaledCoordHeight * this->scaleFactor); + } else if (this->stagePosition.verticalAlignment == kMiddleAligned) { + double heightDelta = this->unscaledCoordHeight - (this->unscaledCoordHeight * this->scaleFactor); + heightDelta /= 2.0; + bottom = this->bottomCoord + heightDelta; + top = this->topCoord - heightDelta; + } else if (this->stagePosition.verticalAlignment == kBottomAligned) { + top = bottom + (this->unscaledCoordHeight * this->scaleFactor); + } + + if (this->stagePosition.depthAlignment == kFrontAligned) { + back = front - (this->unscaledCoordDepth * this->scaleFactor); + } else if (this->stagePosition.depthAlignment == kDepthCenterAligned) { + //printf("hwtest: kDepthCenterAligned1: front: %f, back: %f\n", front, back); + double value = this->unscaledCoordDepth / 2.0 * this->scaleFactor; + front = 0.0 + (value); + back = 0.0 - (value); + //printf("hwtest: kDepthCenterAligned2: front: %f, back: %f\n", front, back); + } else if (this->stagePosition.depthAlignment == kBackAligned) { + front = back + (this->unscaledCoordDepth * this->scaleFactor); + } + + this->topCoord = top; + this->leftCoord = left; + this->bottomCoord = bottom; + this->rightCoord = right; + this->frontPosition = front; + this->backPosition = back; + + this->coordWidth = this->rightCoord - this->leftCoord; + this->coordHeight = this->topCoord - this->bottomCoord; + this->coordDepth = this->backPosition - this->frontPosition; + +} + + +ScalingBehaviour VisualStageBox::getScalingBehaviour() const { + return this->scalingBehaviour; +} + + +double VisualStageBox::getScaleFactor() const { + return this->scaleFactor; +} + + +double VisualStageBox::getCoordWidth() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->coordWidth; +} + + +double VisualStageBox::getUnscaledCoordWidth() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->unscaledCoordWidth; +} + + +double VisualStageBox::getCoordHeight() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->coordHeight; +} + + +double VisualStageBox::getUnscaledCoordHeight() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->unscaledCoordHeight; +} + + +double VisualStageBox::getCoordDepth() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->coordDepth; +} + + +double VisualStageBox::getUnscaledCoordDepth() { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + return this->unscaledCoordDepth; +} + + +double VisualStageBox::getTopCoord(const VisualItemIdentifier* const vertexChainName) { + double top = 0.0; + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + if (vertexChainName == NULL) { + top = this->topCoord; + } else { + VertexChain* vertexChain = this->getVertexChain(*vertexChainName); + if (vertexChain != NULL) { + for (VertexChainIterator chainIt = vertexChain->begin(); chainIt != vertexChain->end(); chainIt++) { + if ((*chainIt)->vertexPosition.coord.y > top) { + top = (*chainIt)->vertexPosition.coord.y; + } + } + } + } + return top; +} + + +double VisualStageBox::getLeftCoord(const VisualItemIdentifier* const vertexChainName) { + double left = 0.0; + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + if (vertexChainName == NULL) { + left = this->leftCoord; + } else { + VertexChain* vertexChain = this->getVertexChain(*vertexChainName); + if (vertexChain != NULL) { + for (VertexChainIterator chainIt = vertexChain->begin(); chainIt != vertexChain->end(); chainIt++) { + if ((*chainIt)->vertexPosition.coord.x < left) { + left = (*chainIt)->vertexPosition.coord.x; + } + } + } + } + return left; +} + + +double VisualStageBox::getBottomCoord(const VisualItemIdentifier* const vertexChainName) { + double bottom = 0.0; + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + if (vertexChainName == NULL) { + bottom = this->bottomCoord; + } else { + VertexChain* vertexChain = this->getVertexChain(*vertexChainName); + if (vertexChain != NULL) { + for (VertexChainIterator chainIt = vertexChain->begin(); chainIt != vertexChain->end(); chainIt++) { + if ((*chainIt)->vertexPosition.coord.y < bottom) { + bottom = (*chainIt)->vertexPosition.coord.x; + } + } + } + } + return bottom; +} + + +double VisualStageBox::getRightCoord(const VisualItemIdentifier* const vertexChainName) { + double right = 0.0; + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + if (vertexChainName == NULL) { + right = this->rightCoord; + } else { + VertexChain* vertexChain = this->getVertexChain(*vertexChainName); + if (vertexChain != NULL) { + for (VertexChainIterator chainIt = vertexChain->begin(); chainIt != vertexChain->end(); chainIt++) { + if ((*chainIt)->vertexPosition.coord.x > right) { + right = (*chainIt)->vertexPosition.coord.x; + } + } + } + } + return right; +} + + +uint32 VisualStageBox::getContentPixelWidth() const { + return this->contentPixelWidth; +} + + +uint32 VisualStageBox::getContentPixelHeight() const { + return this->contentPixelHeight; +} + + +VisualStagePosition VisualStageBox::getVisualStagePosition() const { + return this->stagePosition; +} + + +void VisualStageBox::initializeVertexChain(const VisualItemIdentifier& vertexChainName) { + this->vertexChainMap[vertexChainName] = new VertexChain; +} + + +void VisualStageBox::addVertexToChain(const VisualItemIdentifier& vertexChainName, VisualVertex* aVertex) { + this->hasLayout = false; + this->vertexChainMap[vertexChainName]->push_back(aVertex); +} + + +VertexChain* VisualStageBox::getVertexChain(const VisualItemIdentifier& vertexChainName) { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + VertexChain* vertexChainRef = NULL; + ConstVertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName); + if (mapIt != this->vertexChainMap.end()) { + vertexChainRef = mapIt->second; + } else { + char errLog[64]; + sprintf(errLog, "unable to find vertex chain to return in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + return vertexChainRef; +} + + +VertexChain* VisualStageBox::getVertexChain(size_t vertexIdx) { + if (this->hasLayout == false) { + this->calcCoords(this->assetRef->getCamera()); + } + if (vertexIdx > this->vertexChainMap.size() - 1) return NULL; + size_t count = 0; + for (VertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); mapIt++) { + if (count == vertexIdx) { + return mapIt->second; + } + count++; + } + return NULL; +} + + +const VisualItemIdentifier& VisualStageBox::getVertexChainIdentifier(size_t vertexIdx) { + if (vertexIdx > this->vertexChainMap.size() - 1) return this->notFoundIdentifier; + size_t count = 0; + for (VertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); mapIt++) { + if (count == vertexIdx) { + return mapIt->first; + } + count++; + } + return this->notFoundIdentifier; +} + + +size_t VisualStageBox::getNumberOfVertexChains(void) const { + return this->vertexChainMap.size(); +} + + +bool VisualStageBox::hasVertexChain(const VisualItemIdentifier& vertexChainName) const { + bool result = false; + ConstVertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName); + if (mapIt != this->vertexChainMap.end()) { + result = true; + } + return result; +} + + +void VisualStageBox::removeAllVertexChains() { + for (VertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); mapIt++) { + for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) { + delete *chainIt; + *chainIt = NULL; + } + mapIt->second->clear(); + } + this->vertexChainMap.clear(); +} + + +void VisualStageBox::removeVertexChain(const VisualItemIdentifier& vertexChainName) { + VertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName); + if (mapIt != this->vertexChainMap.end()) { + for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) { + delete *chainIt; + *chainIt = NULL; + } + mapIt->second->clear(); + this->vertexChainMap.erase(mapIt); + } +} + + +double VisualStageBox::getMinSRelTexCoord() { + double minSRelCoord = 1.0; + size_t numberOfVertexChains = this->getNumberOfVertexChains(); + for (size_t i = 0; i < numberOfVertexChains; i++) { + VertexChain* chain = this->getVertexChain(i); + for (VertexChainConstIterator chain_it = chain->begin(); chain_it != chain->end(); chain_it++) { + if ((*chain_it)->texCoordPosition.relCoord.s < minSRelCoord) { + minSRelCoord = (*chain_it)->texCoordPosition.relCoord.s; + } + } + } + return minSRelCoord; +} + + +double VisualStageBox::getMinTRelTexCoord() { + double minTRelCoord = 1.0; + size_t numberOfVertexChains = this->getNumberOfVertexChains(); + for (size_t i = 0; i < numberOfVertexChains; i++) { + VertexChain* chain = this->getVertexChain(i); + for (VertexChainConstIterator chain_it = chain->begin(); chain_it != chain->end(); chain_it++) { + if ((*chain_it)->texCoordPosition.relCoord.t < minTRelCoord) { + minTRelCoord = (*chain_it)->texCoordPosition.relCoord.t; + } + } + } + return minTRelCoord; +} + + +double VisualStageBox::getMaxSRelTexCoord() { + double maxSRelCoord = 0.0; + size_t numberOfVertexChains = this->getNumberOfVertexChains(); + for (size_t i = 0; i < numberOfVertexChains; i++) { + VertexChain* chain = this->getVertexChain(i); + for (VertexChainConstIterator chain_it = chain->begin(); chain_it != chain->end(); chain_it++) { + if ((*chain_it)->texCoordPosition.relCoord.s > maxSRelCoord) { + maxSRelCoord = (*chain_it)->texCoordPosition.relCoord.s; + } + } + } + return maxSRelCoord; +} + + +double VisualStageBox::getMaxTRelTexCoord() { + double maxTRelCoord = 0.0; + size_t numberOfVertexChains = this->getNumberOfVertexChains(); + for (size_t i = 0; i < numberOfVertexChains; i++) { + VertexChain* chain = this->getVertexChain(i); + for (VertexChainConstIterator chain_it = chain->begin(); chain_it != chain->end(); chain_it++) { + if ((*chain_it)->texCoordPosition.relCoord.t > maxTRelCoord) { + maxTRelCoord = (*chain_it)->texCoordPosition.relCoord.t; + } + } + } + return maxTRelCoord; +} + + +void VisualStageBox::setOpacityValue(double anOpacityValue) { + for (ConstVertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); ++mapIt) { + for (ConstVertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) { + (*chainIt)->vertexColor.r = (*chainIt)->vertexColor.red * anOpacityValue; + (*chainIt)->vertexColor.g = (*chainIt)->vertexColor.green * anOpacityValue; + (*chainIt)->vertexColor.b = (*chainIt)->vertexColor.blue * anOpacityValue; + (*chainIt)->vertexColor.a = (*chainIt)->vertexColor.alpha * anOpacityValue; + } + } +} + + +VisualVertex* VisualStageBox::createVertex(double xPos, double yPos, double zPos, double aTexCoordSPos, double aTexCoordTPos, VertexColor anRGBAColor) { + + double xCoordPos = this->getLeftCoord() + (this->getCoordWidth() * xPos); + double yCoordPos = this->getBottomCoord() + (this->getCoordHeight() * yPos); + + double zCoordDistance = this->getBackPosition() - this->getFrontPosition(); + double zCoordPos = zCoordDistance * zPos; + //printf("back: %f, front: %f\n", this->getBackPosition(), this->getFrontPosition()); // hwtest + zCoordPos += this->getFrontPosition(); + + TexCoord relTexCoord; + relTexCoord.s = aTexCoordSPos; + relTexCoord.t = aTexCoordTPos; + + const VisualImage* const anImage = this->assetRef->getImage(); + if (anImage != NULL) { + aTexCoordSPos = anImage->getLogicalWidth() * aTexCoordSPos; + aTexCoordTPos = anImage->getLogicalHeight() * aTexCoordTPos; + } + + Coord coord; + Coord relCoord; + coord.x = xCoordPos; + coord.y = yCoordPos; + coord.z = zCoordPos; + relCoord.x = xPos; + relCoord.y = yPos; + relCoord.z = zPos; + + TexCoord texCoord; + texCoord.s = aTexCoordSPos; + texCoord.t = aTexCoordTPos; + + VisualVertex* aVertex = new VisualVertex(coord, relCoord, texCoord, relTexCoord, anRGBAColor); + return aVertex; +} + + +VisualVertex* VisualStageBox::createVertex(double xPos, double yPos, double zPos, VertexColor anRGBAColor) { + + double xCoordPos = this->getLeftCoord() + (this->getCoordWidth() * xPos); + double yCoordPos = this->getBottomCoord() + (this->getCoordHeight() * yPos); + + double zCoordDistance = this->getBackPosition() - this->getFrontPosition(); + double zCoordPos = zCoordDistance * zPos; + zCoordPos += this->getFrontPosition(); + + Coord coord; + Coord relCoord; + coord.x = xCoordPos; + coord.y = yCoordPos; + coord.z = zCoordPos; + relCoord.x = xPos; + relCoord.y = yPos; + relCoord.z = zPos; + + VisualVertex* aVertex = new VisualVertex(coord, relCoord, anRGBAColor); + return aVertex; +} + + +void VisualStageBox::setDebugMode(bool requestedDebugMode) { + this->debugMode = requestedDebugMode; +} + + +bool VisualStageBox::getDebugMode() { + return this->debugMode; +} + + +void VisualStageBox::updateVertices() { + + double xOffset = this->getUnscaledCoordWidth() - this->getCoordWidth(); + xOffset *= 0.5; + double yOffset = this->getUnscaledCoordHeight() - this->getCoordHeight(); + yOffset *= 0.5; + + double zCoordDistance = this->getBackPosition() - this->getFrontPosition(); + for (VertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); mapIt++) { + for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) { + if ((*chainIt)->vertexPosition.relCoord.x != -1.0) { + (*chainIt)->vertexPosition.coord.x = this->getLeftCoord() + (this->getCoordWidth() * (*chainIt)->vertexPosition.relCoord.x); + if ((*chainIt)->vertexPosition.relCoord.x > 0.5) { + //(*chainIt)->vertexPosition.coord.x -= xOffset; + } else { + //printf("hwtest x1: %f\n", (*chainIt)->vertexPosition.coord.x); + //(*chainIt)->vertexPosition.coord.x += xOffset; + //printf("hwtest x2: %f\n", (*chainIt)->vertexPosition.coord.x); + } + } else { + //(*chainIt)->vertexPosition.coord.x = this->getRightCoord(); + //printf("coord.x == %f\n", (*chainIt)->vertexPosition.coord.x); // hwtest + } + if ((*chainIt)->vertexPosition.relCoord.y != -1.0) { + (*chainIt)->vertexPosition.coord.y = this->getBottomCoord() + (this->getCoordHeight() * (*chainIt)->vertexPosition.relCoord.y); + if ((*chainIt)->vertexPosition.relCoord.y > 0.5) { + //(*chainIt)->vertexPosition.coord.y -= yOffset; + } else { + //(*chainIt)->vertexPosition.coord.y += yOffset; + } + } else { + //(*chainIt)->vertexPosition.coord.y = this->getTopCoord(); + //printf("coord.y == %f\n", (*chainIt)->vertexPosition.coord.y); // hwtest + } + if ((*chainIt)->vertexPosition.relCoord.z != -1.0) { + (*chainIt)->vertexPosition.coord.z = zCoordDistance * (*chainIt)->vertexPosition.relCoord.z; + (*chainIt)->vertexPosition.coord.z += this->getFrontPosition(); + } else { + //(*chainIt)->vertexPosition.coord.z = this->getFrontPosition(); + } + if ((*chainIt)->texCoordPosition.relCoord.s != -1.0) { + const VisualImage* const anImage = this->assetRef->getImage(); + if (anImage != NULL) { + //double before = (*chainIt)->texCoordPosition.coord.s; + (*chainIt)->texCoordPosition.coord.s = anImage->getLogicalWidth() * (*chainIt)->texCoordPosition.relCoord.s; + //printf("before: %f, danach: %f\n", before, (*chainIt)->texCoordPosition.coord.s); + } + } + if ((*chainIt)->texCoordPosition.relCoord.t != -1.0) { + const VisualImage* const anImage = this->assetRef->getImage(); + if (anImage != NULL) { + (*chainIt)->texCoordPosition.coord.t = anImage->getLogicalHeight() * (*chainIt)->texCoordPosition.relCoord.t; + } + } + } + } +} + + +VisualStagePosition VisualStageBox::tweenVisualStagePosition(const VisualStagePosition& startPosition, const VisualStagePosition& stopPosition, double currPosition, const VisualStageBox& currentAssetBox) { + VisualStagePosition tweenedPosition(startPosition); + VisualStageBox startBox(currentAssetBox); + startBox.setVisualStagePosition(startPosition); + VisualStageBox stopBox(currentAssetBox); + stopBox.setVisualStagePosition(stopPosition); + double distanceX = stopBox.getRightCoord() - startBox.getRightCoord(); + double distanceY = stopBox.getBottomCoord() - startBox.getBottomCoord(); + tweenedPosition.horizontalCoordOffset += (distanceX * currPosition); + tweenedPosition.verticalCoordOffset += (distanceY * currPosition); + return tweenedPosition; +} diff --git a/src/projectM-iTunes-VizKit/source/VisualStageBox.h b/src/projectM-iTunes-VizKit/source/VisualStageBox.h new file mode 100644 index 0000000000..41b300f0be --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStageBox.h @@ -0,0 +1,470 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStageBox.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualStageBox_h +#define VisualStageBox_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" +#include "VisualStagePosition.h" +#include "VisualItemIdentifier.h" + + +namespace VizKit { + + class VisualItemIdentifier; // Forward declaration (to avoid include of header file). + class VisualAsset; // Forward declaration (to avoid include of header file). + class VisualCamera; // Forward declaration (to avoid include of header file). + + /** + * Position and dimensions of a box on stage. + * Used by VisualAsset as a positioning container. It is the bounding box of the visual asset. + */ + class VisualStageBox { + + public: + + /** + * The constructor. + * @param anAssetRef Pointer to the asset the stage box belongs to. + */ + VisualStageBox(VisualAsset* anAssetRef); + + /** + * The destructor. + */ + ~VisualStageBox(); + + /** + * Copy constructor. + * @param other Reference to another VisualStageBox. + */ + VisualStageBox(const VisualStageBox& other); + + /** + * Assignment operator. + * @param other Reference to another VisualStageBox. + */ + VisualStageBox& operator=(const VisualStageBox& other); + + /** + * Sets the pixel width of the image data. + * @param pixelWidth The pixel width of the image data. + */ + void setContentPixelWidth(uint32 pixelWidth); + + /** + * Sets the pixel height of the image data. + * @param pixelHeight The pixel height of the image data. + */ + void setContentPixelHeight(uint32 pixelHeight); + + /** + * Sets the depth of the stage box (in coord values). + * @param aCoordDepth The depth of the stage box. + */ + void setCoordDepth(double aCoordDepth); + + /** + * Sets value of the front position. + * @param aFrontPosition The value of the front position. + */ + void setFrontPosition(double aFrontPosition); + + /** + * Returns the value of the front position. + * @return The value of the front position. + */ + double getFrontPosition(void); + + /** + * Sets value of the back position. + * @param aBackPosition The value of the back position. + */ + void setBackPosition(double aBackPosition); + + /** + * Returns the value of the back position. + * @return The value of the back position. + */ + double getBackPosition(void); + + /** + * Sets the stage position of the box. + * @param aPosition The position that is supposed to become the current position. + */ + void setVisualStagePosition(const VisualStagePosition& aPosition); + + /** + * Specifies the scaling behaviour. + * @param aScalingBehaviour The requested scaling behaviour. + */ + void setScalingBehaviour(ScalingBehaviour aScalingBehaviour); + + /** + * Specifies the magnification/minification of the stage box when drawn. + * @param aScaleFactor The factor by which the stage box should be multiplied when rendered (1.0 means no magnification/minification). + */ + void setScaleFactor(double aScaleFactor); + + /** + * Marks the stage box for update of the coord values (e.g. after setting new relative values of vertex chains). + * @remarks To enforce immediate update of the coord values, call update(). + */ + void setDirty(void); + + /** + * Updates the coord values (e.g. after canvas reshape). + * @remarks It is preferred to just set the dirty flag by calling setDirty(). By calling setDirty() the update is deferred, the coord values are evaluated lazily. + */ + void update(void); + + /** + * Performs the updates of the coord values in case it is needed (because the values have been marked as dirty before). + */ + void updateIfNeeded(void); + + /** + * Returns the scaling attributes. + * @return The scaling attributes. + */ + ScalingBehaviour getScalingBehaviour(void) const; + + /** + * Returns the magnification/minification of the stage box when drawn. + * @return The factor by which the stage box is multiplied when rendered (1.0 means no magnification/minification). + */ + double getScaleFactor(void) const; + + /** + * Returns the width of the box. + * @return The width of the box. + */ + double getCoordWidth(void); + + /** + * Returns the width of the box (without current scaleFactor, only layout constraints taken into account). + * @return The width of the box (without current scaleFactor, only layout constraints taken into account). + */ + double getUnscaledCoordWidth(void); + + /** + * Returns the height of the box. + * @return The height of the box. + */ + double getCoordHeight(void); + + /** + * Returns the height of the box (without current scaleFactor, only layout constraints taken into account). + * @return The height of the box (without current scaleFactor, only layout constraints taken into account). + */ + double getUnscaledCoordHeight(void); + + /** + * Returns the depth of the box. + * @return The depth of the box. + */ + double getCoordDepth(void); + + /** + * Returns the depth of the box (without current scaleFactor, only layout constraints taken into account). + * @return The depth of the box (without current scaleFactor, only layout constraints taken into account). + */ + double getUnscaledCoordDepth(void); + + /** + * Returns the top coord of the box. + * @param vertexChainName The identifier of the vertex chain. If none is specified (default) then the coord position of the bounding box is returned. + * @return The top coord of the box. + */ + double getTopCoord(const VisualItemIdentifier* const vertexChainName = NULL); + + /** + * Returns the left coord of the box. + * @param vertexChainName The identifier of the vertex chain. If none is specified (default) then the coord position of the bounding box is returned. + * @return The left coord of the box. + */ + double getLeftCoord(const VisualItemIdentifier* const vertexChainName = NULL); + + /** + * Returns the bottom coord of the box. + * @param vertexChainName The identifier of the vertex chain. If none is specified (default) then the coord position of the bounding box is returned. + * @return The bottom coord of the box. + */ + double getBottomCoord(const VisualItemIdentifier* const vertexChainName = NULL); + + /** + * Returns the right coord of the box. + * @param vertexChainName The identifier of the vertex chain. If none is specified (default) then the coord position of the bounding box is returned. + * @return The right coord of the box. + */ + double getRightCoord(const VisualItemIdentifier* const vertexChainName = NULL); + + /** + * Returns the pixel width of the image data. + * @return the pixel width of the image data. + */ + uint32 getContentPixelWidth(void) const; + + /** + * Returns the pixel height of the image data. + * @return the pixel height of the image data. + */ + uint32 getContentPixelHeight(void) const; + + /** + * Returns a copy of the stage position of the box. + * @return A copy of the stage position of the box. + */ + VisualStagePosition getVisualStagePosition(void) const; + + /** + * Initializes a vertex chain. + * @param vertexChainName The identifier of the vertex chain. + */ + void initializeVertexChain(const VisualItemIdentifier& vertexChainName); + + /** + * Adds a vertex to a chain. + * @param vertexChainName The identifier of the vertex chain. + * @param aVertex The vertex to be added to the vertex chain. + */ + void addVertexToChain(const VisualItemIdentifier& vertexChainName, VisualVertex* aVertex); + + /** + * Returns the vertex chain of the asset identified by that name. + * @param vertexChainName The identifier/name (enum) of the vertex chain. + * @return The vertex chain identified by that name. + */ + VertexChain* getVertexChain(const VisualItemIdentifier& vertexChainName); + + /** + * Returns the indexed vertex chain. + * @param vertexIdx The index of the requested vertex chain. + * @return The indexed vertex chain. + */ + VertexChain* getVertexChain(size_t vertexIdx); + + /** + * Returns the identifier of an indexed vertex chain. + * @param vertexIdx The index of the requested vertex chain. + * @return The identifier of the indexed vertex chain. + */ + const VisualItemIdentifier& getVertexChainIdentifier(size_t vertexIdx); + + /** + * Returns the number of vertex chains of the VisualStageBox. + * @return The number of vertex chains of the VisualStageBox. + */ + size_t getNumberOfVertexChains(void) const; + + /** + * Answers the question whether a vertex chain with the identifier exists. + * @param vertexChainName The identifier/name (enum) of the vertex chain. + * @return True if vertex chain with the identifier exists. + */ + bool hasVertexChain(const VisualItemIdentifier& vertexChainName) const; + + /** + * Clears all vertex chains of the VisualStageBox. + */ + void removeAllVertexChains(void); + + /** + * Clears the vertex chain. + * @param vertexChainName The identifier of the VertexChain to remove. + */ + void removeVertexChain(const VisualItemIdentifier& vertexChainName); + + /** + * Returns the minimum relative s-tex coord of all vertex chains of the stage box. + * @return The minimum relative s-tex coord of all vertex chains of the stage box. + */ + double getMinSRelTexCoord(void); + + /** + * Returns the minimum relative t-tex coord of all vertex chains of the stage box. + * @return The minimum relative t-tex coord of all vertex chains of the stage box. + */ + double getMinTRelTexCoord(void); + + /** + * Returns the maximum relative s-tex coord of all vertex chains of the stage box. + * @return The maximum relative s-tex coord of all vertex chains of the stage box. + */ + double getMaxSRelTexCoord(void); + + /** + * Returns the maximum relative t-tex coord of all vertex chains of the stage box. + * @return The maximum relative t-tex coord of all vertex chains of the stage box. + */ + double getMaxTRelTexCoord(void); + + /** + * Sets the opacity value (alpha value). + * @param anOpacityValue The opacity value (alpha value). + */ + void setOpacityValue(double anOpacityValue); + + /** + * Creates and returns a vertex at the specified position. + * @param xPos Position on x-axis (0.0 means: left, 1.0 means: right). + * @param yPos Position on y-Axis (0.0 means: bottom, 1.0 means: top). + * @param zPos Position on z-Axis (0.0 means: front, 1.0 means: back). + * @param aTexCoordSPos An s position of a texture. + * @param aTexCoordTPos A t position of a texture. + * @param anRGBAColor RGBA color associated with the vertex. + * @return A vertex at the specified position. + */ + VisualVertex* createVertex(double xPos, double yPos, double zPos, double aTexCoordSPos, double aTexCoordTPos, VertexColor anRGBAColor = white); + + /** + * Creates and returns a vertex at the specified position. + * @param xPos Position on x-axis (0.0 means: left, 1.0 means: right). + * @param yPos Position on y-Axis (0.0 means: bottom, 1.0 means: top). + * @param zPos Position on z-Axis (0.0 means: front, 1.0 means: back). + * @param anRGBAColor RGBA color associated with the vertex. + * @return A vertex at the specified position. + */ + VisualVertex* createVertex(double xPos, double yPos, double zPos, VertexColor anRGBAColor = white); + + /** + * Sets the debug mode. + * @param requestedDebugMode The debug mode. True turns debug mode on, false turns it off. + */ + void setDebugMode(bool requestedDebugMode); + + /** + * Returns the current debug mode. + * @return The current debug mode. True means debug mode is on, false means it is turned off. + */ + bool getDebugMode(void); + + /** + * Calculates the VisualStagePosition according to start position, stop position and current value (between 0.0 and 1.0). + * @param startPosition The start position. + * @param stopPosition The stop position. + * @param currPosition The current value of the animation. + * @param currentAssetBox The visual stage box of the current asset which can be queried for additional info. + * @return The tweened position. + */ + static VisualStagePosition tweenVisualStagePosition(const VisualStagePosition& startPosition, const VisualStagePosition& stopPosition, double currPosition, const VisualStageBox& currentAssetBox); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualStageBox. + */ + void copy(const VisualStageBox& other); + + /** + * Calculates the coord dimension of the box according to alignment and margin settings. + * @param aCamera The camera with the dimensions of the stage. + */ + void calcCoords(const VisualCamera& aCamera); + + /** + * Applies the scale factor to the coord values. + */ + void applyScaleFactor(void); + + /** + * Updates the position of the existing vertices according to current top, left, bottom, right, front, back coordinates. + */ + void updateVertices(void); + + bool hasLayout; /**< True if calcCoords() was executed at least once, initial state is false. */ + + double topCoord; /**< The top coord value of the positioned box. */ + + double leftCoord; /**< The left coord value of the positioned box. */ + + double bottomCoord; /**< The bottom coord value of the positioned box. */ + + double rightCoord; /**< The right coord value of the positioned box. */ + + double frontPosition; /**< The value of the front position. */ + + double backPosition; /**< The value of the back position. */ + + double coordWidth; /**< The width of the box measured in coord values. */ + + double unscaledCoordWidth; /**< The width of the box measured in coord values (without scaleFactor). */ + + double coordHeight; /**< The height of the box measured in coord values. */ + + double unscaledCoordHeight; /**< The width of the box measured in coord values (without scaleFactor). */ + + double coordDepth; /**< The depth of the box measured in coord values. */ + + double unscaledCoordDepth; /**< The depth of the box measured in coord values (without scaleFactor). */ + + uint32 contentPixelWidth; /**< The width of the box measured in pixels. */ + + uint32 contentPixelHeight; /**< The height of the box measured in pixels. */ + + VisualStagePosition stagePosition; /**< The dimensionless position of the box. */ + + ScalingBehaviour scalingBehaviour; /**< Specifies the scaling behaviour. */ + + double scaleFactor; /**< The factor by which the stage box should be multiplied when rendered (1.0 means no magnification/minification). */ + + /** A VertexChainMap is a map of vertex chains. */ + typedef std::map VertexChainMap; + + /** The map of the vertex chains. */ + VertexChainMap vertexChainMap; + + /** A VertexChainMapIterator is the iterator of a VertexChainMap. */ + typedef VertexChainMap::iterator VertexChainMapIterator; + + /** A VertexChainMapIterator is the const iterator of a VertexChainMap. */ + typedef VertexChainMap::const_iterator ConstVertexChainMapIterator; + + /** A dummy identifier returned in case a search result was empty. */ + VisualItemIdentifier notFoundIdentifier; + + /** Pointer to the asset the stage box belongs to. */ + VisualAsset* assetRef; + + /** True if stage box is in debug mode, false otherwise. */ + bool debugMode; + }; + +} + +#endif /* VisualStageBox_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp b/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp new file mode 100644 index 0000000000..003af1a810 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp @@ -0,0 +1,313 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStageControl.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualStageControl.h" +#include "VisualAnimationQueue.h" +#include "VisualErrorHandling.h" +#include "VisualDataStore.h" +#include "VisualNotification.h" +#include "VisualEnsemble.h" +#include "VisualObject.h" +#include "VisualString.h" +#include "VisualStyledString.h" +#include "VisualImage.h" +#include "VisualUpdateManager.h" + +#include "VisualActor.h" +#include "BeatlightActor.h" +#include "CoverArtActor.h" +#include "ProcessMonitorActor.h" +#include "TemplateActor.h" +#include "TrackTitleActor.h" +#include "TrackLyricsActor.h" +#include "UpdateServiceActor.h" + +#include + + +using namespace VizKit; + + +VisualStageControl* VisualStageControl::theVisualStageControl = NULL; + + +VisualStageControl::VisualStageControl() { + aVisualEnsemble = NULL; +} + + +VisualStageControl::~VisualStageControl() { + if (aVisualEnsemble != NULL) { + delete aVisualEnsemble; + } +} + + +VisualStageControl* VisualStageControl::getInstance() { + if (theVisualStageControl == NULL) { + theVisualStageControl = new VisualStageControl; + if (theVisualStageControl != NULL) { + theVisualStageControl->init(); + } + } + if (theVisualStageControl == NULL) { + writeLog("ERR: init theVisualStageControl failed"); + } + return theVisualStageControl; +} + + +void VisualStageControl::dispose() { + if (theVisualStageControl != NULL) { + delete theVisualStageControl; + theVisualStageControl = NULL; + } +} + + +void VisualStageControl::init() { + + VisualActor* aVisualActor; + + this->aVisualEnsemble = new VisualEnsemble; + if (this->aVisualEnsemble == NULL) { + writeLog("ERR: this->aVisualEnsemble == NULL"); + } + + bool doLoadCoverArtActor = true; + bool doLoadProcessMonitorActor = true; + bool doLoadTrackTitleActor = true; + bool doLoadBeatlightActor = true; + bool doLoadTrackLyricsActor = true; + bool doLoadTemplateActor = true; + bool doLoadUpdateServiceActor = true; + + // CoverArtActor + if (doLoadCoverArtActor) { + aVisualActor = new CoverArtActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // ProcessMonitorActor + if (doLoadProcessMonitorActor) { + aVisualActor = new ProcessMonitorActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // TrackTitleActor + if (doLoadTrackTitleActor) { + aVisualActor = new TrackTitleActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // BeatlightActor + if (doLoadBeatlightActor) { + aVisualActor = new BeatlightActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // TrackLyricsActor + if (doLoadTrackLyricsActor) { + aVisualActor = new TrackLyricsActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // TemplateActor + if (doLoadTemplateActor) { + aVisualActor = new TemplateActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + + // UpdateServiceActor + if (doLoadUpdateServiceActor) { + aVisualActor = new UpdateServiceActor; + aVisualActor->init(); + this->aVisualEnsemble->addEnsembleMember(aVisualActor); + } + +} + + +void VisualStageControl::doEnsembleShow(const VisualPlayerState& visualPlayerState) { + theVisualStageControl = VisualStageControl::getInstance(); + ProcessMonitorActor* processMonitorActor = dynamic_cast(VisualStageControl::getVisualActorByName("PROCESSMONITOR")); + if (processMonitorActor) { + processMonitorActor->registerProcessMonitorInfoMap(VisualDataStore::getProcessInfoMap()); + } + VisualAnimationQueue::processAnimations(); + theVisualStageControl->aVisualEnsemble->showEnsemble(visualPlayerState); +} + + +VisualActor* VisualStageControl::getVisualActorByName(const char* const aVisualActorName) { + theVisualStageControl = VisualStageControl::getInstance(); + return theVisualStageControl->aVisualEnsemble->getVisualActorByName(aVisualActorName); +} + + +void VisualStageControl::registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + theVisualStageControl = VisualStageControl::getInstance(); + theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, aNotificationKey); +} + + +void VisualStageControl::removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) { + theVisualStageControl = VisualStageControl::getInstance(); + theVisualStageControl->aVisualEnsemble->removeObserverOfNotification(aVisualActor, aNotificationKey); +} + + +void VisualStageControl::dispatchNotification(VisualNotification& aNotification) { + + VisualActor* aVisualActor; + ProcessMonitorActor* aProcessMonitorActor; + VisualNotificationKey keyOfNotification; + + theVisualStageControl = VisualStageControl::getInstance(); + + keyOfNotification = aNotification.getKey(); + + switch (keyOfNotification) { + + case kToggleShowProcessMonitorMsg: + aVisualActor = theVisualStageControl->aVisualEnsemble->getVisualActorByName("PROCESSMONITOR"); + if (aVisualActor) { + aProcessMonitorActor = dynamic_cast(aVisualActor); + if (aProcessMonitorActor) { + if (aProcessMonitorActor->getState() == kVisActNoShow) { + aProcessMonitorActor->setState(kVisActOn); + } else { + aProcessMonitorActor->setState(kVisActNoShow); + } + } + } + break; + + case kToggleProcessMonitorAudioInfoMsg: + + aVisualActor = theVisualStageControl->aVisualEnsemble->getVisualActorByName("PROCESSMONITOR"); + if (aVisualActor) { + aProcessMonitorActor = dynamic_cast(aVisualActor); + if (aProcessMonitorActor) { + if (aProcessMonitorActor->isAudioInfoShown() == true) { + aProcessMonitorActor->setShowAudioInfo(false); + } else { + aProcessMonitorActor->setShowAudioInfo(true); + } + } + } + + break; + + default: + // let the whole ensemble know about the notification + if (theVisualStageControl->aVisualEnsemble) { + theVisualStageControl->aVisualEnsemble->dispatchNotification(aNotification); + } + } +} + + +void VisualStageControl::checkForFadeOutEvent() { + VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance(); + if (theVisualPlayerState->fadeOutEventShouldBeSent() == true) { + VisualNotification::post(kAudioPlayReachedFadeOutTimeEvt); + } +} + + +void VisualStageControl::handleKeyPressed(const char keyboadVal, const PlayerShowMode showMode) { + + VisualNotification aNotification; + + switch (keyboadVal) { + case 's': + case 'S': + if ((showMode & kIsShowing) == kIsShowing) { + //VisualMessaging::post(kToggleShowProcessMonitorMsg); + aNotification.setKey(kToggleShowProcessMonitorMsg); + VisualStageControl::dispatchNotification(aNotification); + } + break; + case 'a': + case 'A': + if ((showMode & kIsShowing) == kIsShowing) { + //VisualMessaging::post(kToggleProcessMonitorAudioInfoMsg); + aNotification.setKey(kToggleProcessMonitorAudioInfoMsg); + VisualStageControl::dispatchNotification(aNotification); + } + break; + case 'i': + case 'I': + { + VisualActor* aVisualActor = theVisualStageControl->aVisualEnsemble->getVisualActorByName("UPDATESERVICE"); + if (aVisualActor) { + UpdateServiceActor* anUpdateServiceActor = dynamic_cast(aVisualActor); + if (anUpdateServiceActor) { + VisualActorState actorState = anUpdateServiceActor->getState(); + if (actorState == kVisActOn) { + VisualUpdateManager::getMoreInfoAboutAvailableUpdate(); + } + } + } + } + break; + case 'd': + case 'D': + { + VisualActor* aVisualActor = theVisualStageControl->aVisualEnsemble->getVisualActorByName("UPDATESERVICE"); + if (aVisualActor) { + UpdateServiceActor* anUpdateServiceActor = dynamic_cast(aVisualActor); + if (anUpdateServiceActor) { + VisualActorState actorState = anUpdateServiceActor->getState(); + if (actorState == kVisActOn) { + VisualUpdateManager::doDownloadAvailableUpdate(); + } + } + } + } + break; + default: + // nothing + break; + } + +} diff --git a/src/projectM-iTunes-VizKit/source/VisualStageControl.h b/src/projectM-iTunes-VizKit/source/VisualStageControl.h new file mode 100644 index 0000000000..e04984d531 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStageControl.h @@ -0,0 +1,158 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStageControl.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualStageControl_h +#define VisualStageControl_h + + +#include "VisualTypes.h" +#include "VisualPlayerState.h" // PlayerShowMode +#include "VisualNotificationKey.h" + + +namespace VizKit { + + class VisualNotification; // Forward declaration (to avoid include of header file). + class VisualEnsemble; // Forward declaration (to avoid include of header file). + class VisualPlayerState; // Forward declaration (to avoid include of header file). + class VisualActor; // Forward declaration (to avoid include of header file). + + /** + * Singleton mediator that controls the show of the VisualEnsemble. + * All public methods are declared static. + * Controls the show of the VisualEnsemble and communicates with individual actors. + * The VisualStageControl can manipulate the behaviour of individual VisualActors. + */ + class VisualStageControl { + + public: + + /** + * Disposes the VisualStageControl. + */ + static void dispose(void); + + /** + * Sends each actor a message to prepare, perform and finish show. + * @param visualPlayerState Read-only access to the VisualPlayerState. + */ + static void doEnsembleShow(const VisualPlayerState& visualPlayerState); + + /** + * Returns a pointer to a VisualActor whose name is aVisualActorName. + * @param aVisualActorName The name of the visual actor. + * @return A pointer to a VisualActor whose name is aVisualActorName or NULL if none is found. + */ + static VisualActor* getVisualActorByName(const char* const aVisualActorName); + + /** + * Registers a VisualActor for a specific notification (event/message). + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + static void registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + /** + * Removes a VisualActor from the list of observers for a specific notification (event/message). + * @param aVisualActor A visual actor. + * @param aNotificationKey An enum that denotes a notification. + */ + static void removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey); + + /** + * Dispatches a VisualNotification. + * @param aNotification A notification. + */ + static void dispatchNotification(VisualNotification& aNotification); + + /** + * Checks whether the fade out event should be sent. If it should, a notification is added to the queue. + * @remarks The kAudioPlayReachedFadeOutTimeEvt event is sent if remaining audio time of track is less than kFadeOutTimeBeforeEndOfTrackInMS. + */ + static void checkForFadeOutEvent(void); + + /** + * Processes keyboard events. + * @param keyboadVal The value of the key that was pressed. + * @param showMode The show mode. + */ + static void handleKeyPressed(const char keyboadVal, const PlayerShowMode showMode); + + private: + + /** The constructor. VisualStageControl is a singleton class. The constructor is private. New instance of class can only be created internally. */ + VisualStageControl(); + + /** The destructor. VisualStageControl is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~VisualStageControl(); + + /** + * Initializes the VisualStageControl if neccessary. Returns a pointer to the VisualStageControl. + * The VisualStageControl is a singleton. + * @return A pointer to the VisualStageControl. + */ + static VisualStageControl* getInstance(void); + + /** + * Copy constructor. + * @param other Another VisualStageControl. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualStageControl(const VisualStageControl& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + VisualStageControl& operator=(const VisualStageControl& other); + + /** + * Initializes the VisualStageControl. + * @remarks In VisualStageControl's init() the VisualActors are constructed and registered for notification messages. + */ + void init(void); + + /** VisualStageControl is a singleton class. Pointer to private instance is handled internally. */ + static VisualStageControl* theVisualStageControl; + + /** A pointer to a visual ensemble. */ + VisualEnsemble* aVisualEnsemble; + + }; + +} + + +#endif /* VisualStageControl_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp b/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp new file mode 100644 index 0000000000..c5b1f65001 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp @@ -0,0 +1,186 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStagePosition.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualStagePosition.h" + + +using namespace VizKit; + + +VisualStagePosition::VisualStagePosition() { + reset(); +} + + +VisualStagePosition::~VisualStagePosition() { + // NULL +} + + +VisualStagePosition::VisualStagePosition(const VisualStagePosition& other) { + copy(other); +} + + +VisualStagePosition& VisualStagePosition::operator=(const VisualStagePosition& other) { + if (this != &other) { + this->copy(other); + } + return *this; +} + + +bool VisualStagePosition::operator==(const VisualStagePosition& other) const { + if (this->horizontalAlignment != other.horizontalAlignment) return false; + if (this->verticalAlignment != other.verticalAlignment) return false; + if (this->depthAlignment != other.depthAlignment) return false; + if (this->marginTop != other.marginTop) return false; + if (this->marginTop != other.marginTop) return false; + if (this->marginLeft != other.marginLeft) return false; + if (this->marginBottom != other.marginBottom) return false; + if (this->marginRight != other.marginRight) return false; + if (this->minMarginTop != other.minMarginTop) return false; + if (this->minMarginLeft != other.minMarginLeft) return false; + if (this->minMarginBottom != other.minMarginBottom) return false; + if (this->minMarginRight != other.minMarginRight) return false; + if (this->minWidth != other.minWidth) return false; + if (this->maxWidth != other.maxWidth) return false; + if (this->minHeight != other.minHeight) return false; + if (this->maxHeight != other.maxHeight) return false; + if (this->marginTopUnit != other.marginTopUnit) return false; + if (this->marginLeftUnit != other.marginLeftUnit) return false; + if (this->marginRightUnit != other.marginRightUnit) return false; + if (this->marginBottomUnit != other.marginBottomUnit) return false; + if (this->minMarginTopUnit != other.minMarginTopUnit) return false; + if (this->minMarginLeftUnit != other.minMarginLeftUnit) return false; + if (this->minMarginRightUnit != other.minMarginRightUnit) return false; + if (this->minMarginBottomUnit != other.minMarginBottomUnit) return false; + if (this->minWidthUnit != other.minWidthUnit) return false; + if (this->maxWidthUnit != other.maxWidthUnit) return false; + if (this->minHeightUnit != other.minHeightUnit) return false; + if (this->maxHeightUnit != other.maxHeightUnit) return false; + if (this->horizontalCoordOffset != other.horizontalCoordOffset) return false; + if (this->verticalCoordOffset != other.verticalCoordOffset) return false; + + return true; +} + + +bool VisualStagePosition::operator!=(const VisualStagePosition& other) { + return !(*this == other); +} + + +void VisualStagePosition::copy(const VisualStagePosition& other) { + + this->horizontalAlignment = other.horizontalAlignment; + this->verticalAlignment = other.verticalAlignment; + this->depthAlignment = other.depthAlignment; + + this->marginTop = other.marginTop; + this->marginLeft = other.marginLeft; + this->marginBottom = other.marginBottom; + this->marginRight = other.marginRight; + + this->minMarginTop = other.minMarginTop; + this->minMarginLeft = other.minMarginLeft; + this->minMarginBottom = other.minMarginBottom; + this->minMarginRight = other.minMarginRight; + + this->minWidth = other.minWidth; + this->maxWidth = other.maxWidth; + this->minHeight = other.minHeight; + this->maxHeight = other.maxHeight; + + this->marginTopUnit = other.marginTopUnit; + this->marginLeftUnit = other.marginLeftUnit; + this->marginRightUnit = other.marginRightUnit; + this->marginBottomUnit = other.marginBottomUnit; + + this->minMarginTopUnit = other.minMarginTopUnit; + this->minMarginLeftUnit = other.minMarginLeftUnit; + this->minMarginRightUnit = other.minMarginRightUnit; + this->minMarginBottomUnit = other.minMarginBottomUnit; + + this->minWidthUnit = other.minWidthUnit; + this->maxWidthUnit = other.maxWidthUnit; + this->minHeightUnit = other.minHeightUnit; + this->maxHeightUnit = other.maxHeightUnit; + + this->horizontalCoordOffset = other.horizontalCoordOffset; + this->verticalCoordOffset = other.verticalCoordOffset; +} + + +void VisualStagePosition::reset() { + + this->horizontalAlignment = kCenterAligned; + this->verticalAlignment = kMiddleAligned; + this->depthAlignment = kFrontAligned; + + this->marginTop = 0.0; + this->marginLeft = 0.0; + this->marginBottom = 0.0; + this->marginRight = 0.0; + + this->minMarginTop = 0.0; + this->minMarginLeft = 0.0; + this->minMarginBottom = 0.0; + this->minMarginRight = 0.0; + + this->minWidth = 5.0; + this->maxWidth = 0.0; + this->minHeight = 5.0; + this->maxHeight = 0.0; + + this->marginTopUnit = kPixel; + this->marginLeftUnit = kPixel; + this->marginRightUnit = kPixel; + this->marginBottomUnit = kPixel; + + this->minMarginTopUnit = kPixel; + this->minMarginLeftUnit = kPixel; + this->minMarginRightUnit = kPixel; + this->minMarginBottomUnit = kPixel; + + this->minWidthUnit = kPixel; + this->maxWidthUnit = kPixel; + this->minHeightUnit = kPixel; + this->maxHeightUnit = kPixel; + + this->horizontalCoordOffset = 0.0; + this->verticalCoordOffset = 0.0; + +} diff --git a/src/projectM-iTunes-VizKit/source/VisualStagePosition.h b/src/projectM-iTunes-VizKit/source/VisualStagePosition.h new file mode 100644 index 0000000000..eae03fb375 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualStagePosition.h @@ -0,0 +1,141 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualStagePosition.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualStagePosition_h +#define VisualStagePosition_h + + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + + +namespace VizKit { + + /** + * Dimensionless position of asset on stage. + */ + class VisualStagePosition { + + public: + + /** + * The constructor. + */ + VisualStagePosition(); + + /** + * The destructor. + */ + ~VisualStagePosition(); + + /** + * Copy constructor. + * @param other Another VisualStagePosition. + */ + VisualStagePosition(const VisualStagePosition& other); + + /** + * Assignment operator. + * @param other Another VisualStagePosition. + */ + VisualStagePosition& operator=(const VisualStagePosition& other); + + /** + * Equality operator. + * @param other Another VisualStagePosition. + */ + bool operator==(const VisualStagePosition& other) const; + + /** + * Inequality operator. + * @param other Another VisualStagePosition. + */ + bool operator!=(const VisualStagePosition& other); + + /** + * Resets the values of the stage position to default. + */ + void reset(void); + + HorizontalAlignment horizontalAlignment; /**< The horizontal alignment of the box. */ + VerticalAlignment verticalAlignment; /**< The vertical alignment of the box. */ + DepthAlignment depthAlignment; /**< The depth alignment of the box (z-dimension). */ + + double marginTop; /**< The top margin of the box. */ + double marginLeft; /**< The left margin of the box. */ + double marginBottom; /**< The bottom margin of the box. */ + double marginRight; /**< The right margin of the box. */ + + double minMarginTop; /**< The minimum top margin of the box. */ + double minMarginLeft; /**< The minimum left margin of the box. */ + double minMarginBottom; /**< The minimum bottom margin of the box. */ + double minMarginRight; /**< The minimum right margin of the box. */ + + double minWidth; /**< The minimum width of the box. */ + double maxWidth; /**< The maximum width of the box. */ + double minHeight; /**< The minimum height of the box. */ + double maxHeight; /**< The maximum height of the box. */ + + Unit marginTopUnit; /**< The measure of the top margin value. */ + Unit marginLeftUnit; /**< The measure of the left margin value. */ + Unit marginRightUnit; /**< The measure of the right margin value. */ + Unit marginBottomUnit; /**< The measure of the bottom margin value. */ + + Unit minMarginTopUnit; /**< The measure of the minimum top margin value. */ + Unit minMarginLeftUnit; /**< The measure of the minimum left margin value. */ + Unit minMarginRightUnit; /**< The measure of the minimum right margin value. */ + Unit minMarginBottomUnit; /**< The measure of the minimum bottom margin value. */ + + Unit minWidthUnit; /**< The measure of the minimum width value. */ + Unit maxWidthUnit; /**< The measure of the maximum width value. */ + Unit minHeightUnit; /**< The measure of the minimum height value. */ + Unit maxHeightUnit; /**< The measure of the maximum height value. */ + + double horizontalCoordOffset; /**< The horizontal offset (measured in coord values). */ + double verticalCoordOffset; /**< The vertical offset (measured in coord values). */ + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualStagePosition. + */ + void copy(const VisualStagePosition& other); + + }; + +} + +#endif /* VisualStagePosition_h */ diff --git a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp new file mode 100644 index 0000000000..6db2cc95d3 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp @@ -0,0 +1,774 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTextureContainer.cpp + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualTextureContainer.h" +#include "VisualGraphicTypes.h" +#include "VisualVertex.h" +#include "VisualConvolutionFilter.h" +#include "VisualStyledString.h" +#include "VisualFile.h" +#include "VisualGraphics.h" +#include "VisualColorTools.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" +#include "VisualCamera.h" +#if TARGET_OS_MAC +#include // CGImage... +#endif + +#if TARGET_OS_WIN +#include +#include +#include +#endif + +using namespace VizKit; + + +VisualTextureContainer::TextureRefCountMap VisualTextureContainer::textureRefCountMap; + + +VisualTextureContainer::VisualTextureContainer() { + aTextureIsSet = false; + textureName = 0; + textureRect.width = 0; + textureRect.height = 0; + logicalSize.width = 0.0; + logicalSize.height = 0.0; + imageRect.width = 0; + imageRect.height = 0; + useRectExtension = false; +} + + +VisualTextureContainer::~VisualTextureContainer() { + this->releaseTextureData(); +} + + +VisualTextureContainer::VisualTextureContainer(const VisualTextureContainer& other) { + copy(other); +} + + +VisualTextureContainer& VisualTextureContainer::operator=(const VisualTextureContainer& other) { + + if (this == &other) return *this; + + if ((this->aTextureIsSet) && (this->textureName != other.textureName)) { + this->releaseTextureData(); + } + + this->copy(other); + + return *this; +} + + +bool VisualTextureContainer::initWithFile(VisualFile& aFile) { + + bool success = true; + + this->releaseTextureData(); + + void* encodedImageData = NULL; + size_t encodedImageDataSize = 0; + success = aFile.getData(&encodedImageData, encodedImageDataSize); + if (!success) { + return success; + } + + success = this->initWithEncodedData((const char* const)encodedImageData, encodedImageDataSize); + + return success; +} + + +bool VisualTextureContainer::initWithEncodedData(const char* const bufferData, size_t size) { + + bool success = true; + bool debug = false; + + this->releaseTextureData(); + + uint32* aPixelBuffer = NULL; + +#if TARGET_OS_WIN + + HGLOBAL hGlobal = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_NODISCARD, (SIZE_T)size); + if (!hGlobal) + return false; + + BYTE* pDest = (BYTE*)::GlobalLock(hGlobal); + + memcpy(pDest, bufferData, size); + + ::GlobalUnlock(hGlobal); + + IStream* pStream = NULL; + if (::CreateStreamOnHGlobal(hGlobal, FALSE, &pStream) != S_OK) + return false; + + Gdiplus::Bitmap* bitmap = Gdiplus::Bitmap::FromStream(pStream); + bitmap->RotateFlip(Gdiplus::RotateNoneFlipY); + + this->imageRect.width = bitmap->GetWidth(); + this->imageRect.height = bitmap->GetHeight(); + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + if (this->useRectExtension == false) { + this->textureRect.width = theVisualGraphics->power2Ceiling(this->imageRect.width); + this->textureRect.height = theVisualGraphics->power2Ceiling(this->imageRect.height); + } else { + this->textureRect.width = this->imageRect.width; + this->textureRect.height = this->imageRect.height; + } + + aPixelBuffer = (uint32*)malloc(this->imageRect.width * this->imageRect.height * sizeof(uint32)); + Gdiplus::Rect rect(0, 0, this->imageRect.width, this->imageRect.height); + Gdiplus::BitmapData* bitmapData = new Gdiplus::BitmapData; + + bitmapData->Width = this->imageRect.width; + bitmapData->Height = this->imageRect.height; + bitmapData->Stride = sizeof(uint32) * bitmapData->Width; + bitmapData->PixelFormat = PixelFormat32bppARGB; + bitmapData->Scan0 = (VOID*)aPixelBuffer; + + Gdiplus::Status status = Gdiplus::Ok; + status = bitmap->LockBits(&rect, Gdiplus::ImageLockModeRead | Gdiplus::ImageLockModeUserInputBuf, PixelFormat32bppPARGB, bitmapData); + +#endif + +#if TARGET_OS_MAC + + CFDataRef dataRef = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, (UInt8*)bufferData, (CFIndex)size, kCFAllocatorDefault); + + CFDictionaryRef options = NULL; + CGImageSourceRef imageSourceRef = CGImageSourceCreateWithData(dataRef, options); + + CGImageRef imageRef = CGImageSourceCreateImageAtIndex(imageSourceRef, 0, options); + + this->imageRect.width = CGImageGetWidth(imageRef); + this->imageRect.height = CGImageGetHeight(imageRef); + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + if (this->useRectExtension == false) { + this->textureRect.width = theVisualGraphics->power2Ceiling(this->imageRect.width); + this->textureRect.height = theVisualGraphics->power2Ceiling(this->imageRect.height); + } else { + this->textureRect.width = this->imageRect.width; + this->textureRect.height = this->imageRect.height; + } + + CGContextRef contextPtr = theVisualGraphics->createBitmapContext(this->imageRect.width, this->imageRect.height); + + CGContextTranslateCTM(contextPtr, 0, this->imageRect.height); + CGContextScaleCTM(contextPtr, 1.0f, -1.0f); + + CGRect rect = CGRectMake(0, 0, this->imageRect.width, this->imageRect.height); + CGContextDrawImage(contextPtr, rect, imageRef); + + aPixelBuffer = static_cast(CGBitmapContextGetData(contextPtr)); +#endif + + PixelColor* interleavedARGBColorPixelBuffer = NULL; + + if (debug == true) { + interleavedARGBColorPixelBuffer = VisualColorTools::createARGBCheckPixels(this->textureRect.width, this->textureRect.height); + } else { + interleavedARGBColorPixelBuffer = static_cast(aPixelBuffer); + } + success = this->initWithARGBPixelData(interleavedARGBColorPixelBuffer, this->imageRect.width, this->imageRect.height); + +#if TARGET_OS_MAC + CGContextRelease(contextPtr); + CGImageRelease(imageRef); +#endif + +#if TARGET_OS_WIN + bitmap->UnlockBits(bitmapData); +#endif + + return success; + +} + + +bool VisualTextureContainer::initWithARGBPixelData(PixelColor* argbPixels, size_t imageWidth, size_t imageHeight, bool debug) { + + bool success = true; + + this->imageRect.width = imageWidth; + this->imageRect.height = imageHeight; + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + if (this->useRectExtension == false) { + this->textureRect.width = theVisualGraphics->power2Ceiling(this->imageRect.width); + this->textureRect.height = theVisualGraphics->power2Ceiling(this->imageRect.height); + } else { + this->textureRect.width = this->imageRect.width; + this->textureRect.height = this->imageRect.height; + } + + this->textureName = theVisualGraphics->getNextFreeTextureName(); + this->aTextureIsSet = true; + VisualTextureContainer::textureRefCountMap[this->textureName] = 1; + + success = theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->imageRect.width, this->imageRect.height, this->useRectExtension, const_cast(&(argbPixels)), debug); + + if (this->useRectExtension == false) { + this->logicalSize.width = (double)this->imageRect.width / (double)this->textureRect.width; + this->logicalSize.height = (double)this->imageRect.height / (double)this->textureRect.height; + } else { + this->logicalSize.width = (double)this->textureRect.width; + this->logicalSize.height = (double)this->textureRect.height; + } + + return success; +} + + +bool VisualTextureContainer::initWithBGRAPixelData(PixelColor* bgraPixels, size_t imageWidth, size_t imageHeight, bool debug) { + + uint32 numberOfPixels = imageWidth * imageHeight; + VisualColorTools::convertInterleavedPixels1234To4321(bgraPixels, numberOfPixels); + + return this->initWithARGBPixelData(bgraPixels, imageWidth, imageHeight, debug); +} + + +bool VisualTextureContainer::initWithStyledString(VisualStyledString& styledString) { + + this->releaseTextureData(); + + bool success = true; + + const VisualString* aVisualString = &(styledString); + VisualStringStyle& stringStyle = styledString.getStyle(); + if (aVisualString->getNumberOfCharacters() == 0) { + return false; + } + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + uint32 maxPixelWidth = theVisualGraphics->getCanvasPixelWidth(); + uint32 maxPixelHeight = theVisualGraphics->getCanvasPixelHeight(); + + this->textureName = theVisualGraphics->getNextFreeTextureName(); + this->aTextureIsSet = true; + VisualTextureContainer::textureRefCountMap[this->textureName] = 1; + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + +#if TARGET_OS_MAC + char alignmentStr[32]; + switch (stringStyle.horizontalAlignment) { + case (kLeftAligned): + strcpy(alignmentStr, "left"); + break; + case(kCenterAligned): + strcpy(alignmentStr, "center"); + break; + case(kRightAligned): + strcpy(alignmentStr, "right"); + break; + default: + break; + } + + success = getDimensionsOfCocoaStringBitmap((void*)aVisualString, (void*)&stringStyle, &(this->imageRect.width), &(this->imageRect.height), maxPixelWidth, maxPixelHeight, alignmentStr); + if (!success) { + return success; + } + + if (this->useRectExtension == false) { + this->textureRect.width = theVisualGraphics->power2Ceiling(this->imageRect.width); + this->textureRect.height = theVisualGraphics->power2Ceiling(this->imageRect.height); + } else { + this->textureRect.width = this->imageRect.width; + this->textureRect.height = this->imageRect.height; + } + + PixelColor* pixelBuffer = (uint32*)calloc(this->textureRect.width * this->textureRect.height, sizeof(uint32)); + + success = getCocoaStringBitmapData((void*)&styledString, this->textureRect.width, this->textureRect.height, alignmentStr, &(pixelBuffer)); + + success = theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureRect.width, this->textureRect.height, this->useRectExtension, const_cast(&(pixelBuffer))); + +#endif + +#if TARGET_OS_WIN + + wchar_t* stringValueRef = (wchar_t*)(styledString.getCharactersPointer()); + uint8 red = (uint8)(stringStyle.fontColor.r * 255.0f); + uint8 green = (uint8)(stringStyle.fontColor.g * 255.0f); + uint8 blue = (uint8)(stringStyle.fontColor.b * 255.0f); + + if (!stringValueRef) { + success = false; + return success; + } + + success = theVisualGraphics->makeTextureOfStringWin(stringValueRef, styledString.getNumberOfCharacters(), this->textureName, this->textureRect.width, this->textureRect.height, this->imageRect.width, this->imageRect.height, stringStyle.fontNameStr, (uint16)stringStyle.fontSize, red, green, blue, stringStyle.horizontalAlignment, maxPixelWidth, maxPixelHeight); + +#endif + + if (this->useRectExtension == false) { + this->logicalSize.width = (double)this->imageRect.width / (double)this->textureRect.width; + this->logicalSize.height = (double)this->imageRect.height / (double)this->textureRect.height; + } else { + this->logicalSize.width = (double)this->textureRect.width; + this->logicalSize.height = (double)this->textureRect.height; + } + + return success; +} + + +void VisualTextureContainer::clean() { + this->releaseTextureData(); +} + + +bool VisualTextureContainer::initWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect) { + + bool success = true; + + uint16 dataType; + uint16 pixelFormat = kGL_BGRA; + // BGRA on intel machines and ARGB on ppc +#if TARGET_OS_WIN + dataType = kGL_UNSIGNED_BYTE; +#else +#if __BIG_ENDIAN__ + dataType = kGL_UNSIGNED_INT_8_8_8_8_REV; +#else + dataType = kGL_UNSIGNED_INT_8_8_8_8; +#endif +#endif + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + this->releaseTextureData(); + + this->textureName = theVisualGraphics->getNextFreeTextureName(); + this->aTextureIsSet = true; + VisualTextureContainer::textureRefCountMap[this->textureName] = 1; + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + + int prevReadBuffer = theVisualGraphics->getCurrentColorBufferForPixelReadingOperations(); + theVisualGraphics->setColorBufferForPixelReadingOperations(kGL_BACK_COLOR_BUFFER); + + int prevDrawBuffer = theVisualGraphics->getCurrentColorBufferForPixelDrawingOperations(); + theVisualGraphics->setColorBufferForPixelDrawingOperations(kGL_BACK_COLOR_BUFFER); + + theVisualGraphics->enableTexturing(this->useRectExtension); + theVisualGraphics->copyFramebufferToTexture(this->textureName, this->useRectExtension, clipRect, pixelFormat, dataType); + theVisualGraphics->disableTexturing(this->useRectExtension); + + theVisualGraphics->setColorBufferForPixelDrawingOperations(prevDrawBuffer); + theVisualGraphics->setColorBufferForPixelReadingOperations(prevReadBuffer); + + this->imageRect.width = clipRect.pixelRect.width; + this->imageRect.height = clipRect.pixelRect.height; + + this->useRectExtension = theVisualGraphics->canUseTextureRectExtension(); + if (this->useRectExtension == false) { + this->textureRect.width = theVisualGraphics->power2Ceiling(this->imageRect.width); + this->textureRect.height = theVisualGraphics->power2Ceiling(this->imageRect.height); + } else { + this->textureRect.width = this->imageRect.width; + this->textureRect.height = this->imageRect.height; + } + + return success; +} + + +PixelColor* VisualTextureContainer::createARGBImagePixels(bool debug) { + + PixelColor* pixelBuffer = NULL; + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + if (debug == true) { + pixelBuffer = VisualColorTools::createARGBCheckPixels(this->textureRect.width, this->textureRect.height); + return pixelBuffer; + } + + theVisualGraphics->enableTexturing(this->useRectExtension); + theVisualGraphics->bindTexture(this->textureName, this->useRectExtension); + theVisualGraphics->setPixelStorageParams(); + + uint16 format = kGL_BGRA; + uint16 type; + + // GL_BGRA/GL_UNSIGNED_BYTE and GL_BGRA/GL_UNSIGNED_INT_8_8_8_8_REV are equivalent on little endian machines + + if (this->useRectExtension == false) { + + pixelBuffer = (PixelColor*)malloc(this->textureRect.width * this->textureRect.height * sizeof(PixelColor)); + + type = kGL_UNSIGNED_BYTE; + theVisualGraphics->getPixelsOfCurrentTexture(this->useRectExtension, format, type, &(pixelBuffer)); + +#if __BIG_ENDIAN__ + VisualColorTools::convertInterleavedPixels1234To4321(pixelBuffer, this->textureRect.width * this->textureRect.height); +#endif + + if ((this->textureRect.width != this->imageRect.width) || (this->textureRect.height != this->imageRect.height)) { + // copy actual image pixel data out of texture pixel data + Pixel topLeftPosition; + topLeftPosition.x = 0; + topLeftPosition.y = 0; + TopLeftPositionedPixelRect clipRect; + clipRect.topLeftPixel = topLeftPosition; + clipRect.pixelRect = this->imageRect; + PixelColor* clippedPixelData = theVisualGraphics->clipPixelData(pixelBuffer, this->textureRect, clipRect); + free(pixelBuffer); + pixelBuffer = clippedPixelData; + } + + } else { + + pixelBuffer = (PixelColor*)malloc(this->imageRect.width * this->imageRect.height * sizeof(PixelColor)); + + type = kGL_UNSIGNED_INT_8_8_8_8_REV; + theVisualGraphics->getPixelsOfCurrentTexture(this->useRectExtension, format, type, &pixelBuffer); + } + + theVisualGraphics->disableTexturing(this->useRectExtension); + + return pixelBuffer; +} + + +PixelColor* VisualTextureContainer::createReadPixels(const uint16 format, const uint16 type) { + + PixelColor* pixels = NULL; + PixelColor* prevPixels = NULL; + + char errStr[512]; + + double scaleFactor = 1.0; + + uint8 numberOfBytesPerChannel = 0; + uint8 numberOfChannels = 0; // channel == color resp. alpha channel + uint8 numberOfBytesPerPixel = 0; + uint32 numberOfBytesPerRow = 0; + if ((format == kGL_RGBA) || (format == kGL_BGRA)) { + numberOfChannels = 4; + } else { + sprintf(errStr, "unknown format %d in file: %s (line: %d) [%s])", format, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return pixels; + } + + if ((type == kGL_UNSIGNED_INT_8_8_8_8_REV) || (type == kGL_UNSIGNED_INT_8_8_8_8) || (type == kGL_UNSIGNED_BYTE)) { + numberOfBytesPerChannel = 1; // // 1 byte (== 8 bits) per color/channel + } else { + sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", type, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return pixels; + } + + numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels; + numberOfBytesPerRow = numberOfBytesPerPixel * this->textureRect.width; + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + Coord coord; + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + coord.x = aCamera.getMaxLeftCoord() * scaleFactor; + coord.y = (aCamera.getMaxBottomCoord() + theVisualGraphics->yPixelToCoord(this->textureRect.height, aCamera)) * scaleFactor; + coord.z = aCamera.getMaxNearPos(); + VertexChain aVertexChain; + TexCoord texCoord; + texCoord.s = 0.0; + texCoord.t = this->getTextureLogicalHeight(); + VisualVertex* topLeftFrontVertex = new VisualVertex(coord, texCoord, white); + aVertexChain.push_back(topLeftFrontVertex); + + coord.x = aCamera.getMaxLeftCoord() * scaleFactor; + coord.y = aCamera.getMaxBottomCoord() * scaleFactor; + coord.z = aCamera.getMaxNearPos(); + texCoord.s = 0.0; + texCoord.t = 0.0; + VisualVertex* bottomLeftFrontVertex = new VisualVertex(coord, texCoord, white); + aVertexChain.push_back(bottomLeftFrontVertex); + + coord.x = (aCamera.getMaxLeftCoord() + theVisualGraphics->xPixelToCoord(this->textureRect.width, aCamera)) * scaleFactor; + coord.y = aCamera.getMaxBottomCoord() * scaleFactor; + coord.z = aCamera.getMaxNearPos(); + texCoord.s = this->getTextureLogicalWidth(); + texCoord.t = 0.0; + VisualVertex* bottomRightFrontVertex = new VisualVertex(coord, texCoord, white); + aVertexChain.push_back(bottomRightFrontVertex); + + coord.x = (aCamera.getMaxLeftCoord() + theVisualGraphics->xPixelToCoord(this->textureRect.width, aCamera)) * scaleFactor; + coord.y = (aCamera.getMaxBottomCoord() + theVisualGraphics->yPixelToCoord(this->textureRect.height, aCamera)) * scaleFactor; + coord.z = aCamera.getMaxNearPos(); + texCoord.s = this->getTextureLogicalWidth(); + texCoord.t = this->getTextureLogicalHeight(); + VisualVertex* topRightFrontVertex = new VisualVertex(coord, texCoord, white); + aVertexChain.push_back(topRightFrontVertex); + + // read previous pixels + if ((format == kGL_RGBA) || (format == kGL_BGRA)) { + prevPixels = (uint32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureRect.height, numberOfBytesPerPixel); + } + theVisualGraphics->readPixels(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->textureRect.width, this->textureRect.height, &prevPixels, format, type, aCamera); + + // draw current texture + theVisualGraphics->drawTexture(this->textureName, &aVertexChain, this->getUseRectExtension(), kReplace); + + // read pixels of current texture + if ((format == kGL_RGBA) || (format == kGL_BGRA)) { + pixels = (uint32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureRect.height, numberOfBytesPerPixel); + } + theVisualGraphics->readPixels(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->textureRect.width, this->textureRect.height, &pixels, format, type, aCamera); + + // restore previous pixels + theVisualGraphics->drawPixels(&prevPixels, aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->textureRect.width, this->textureRect.height, format, type); + + for (VertexChainIterator chainIt = aVertexChain.begin(); chainIt != aVertexChain.end(); chainIt++) { + delete *chainIt; + *chainIt = NULL; + } + aVertexChain.clear(); + + free(prevPixels); + + return pixels; +} + + +void VisualTextureContainer::copy(const VisualTextureContainer& other) { + if (other.aTextureIsSet) { + VisualTextureContainer::textureRefCountMap[other.textureName]++; + } + this->aTextureIsSet = other.aTextureIsSet; + this->textureName = other.textureName; + this->textureRect = other.textureRect; + this->logicalSize = other.logicalSize; + this->imageRect = other.imageRect; + this->useRectExtension = other.useRectExtension; +} + + +uint32 VisualTextureContainer::getTextureName() const { + return this->textureName; +} + + +size_t VisualTextureContainer::getTextureWidth() const { + return this->textureRect.width; +} + + +size_t VisualTextureContainer::getTextureHeight() const { + return this->textureRect.height; +} + + +double VisualTextureContainer::getTextureLogicalWidth() const { + return this->logicalSize.width; +} + + +double VisualTextureContainer::getTextureLogicalHeight() const { + return this->logicalSize.height; +} + + +size_t VisualTextureContainer::getImageWidth() const { + return this->imageRect.width; +} + + +size_t VisualTextureContainer::getImageHeight() const { + return this->imageRect.height; +} + + +bool VisualTextureContainer::getUseRectExtension() const { + return this->useRectExtension; +} + + +void VisualTextureContainer::releaseTextureData() { + if (this->aTextureIsSet) { + VisualTextureContainer::textureRefCountMap[this->textureName]--; + if (VisualTextureContainer::textureRefCountMap[this->textureName] == 0) { + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->deleteTextures(1, &(this->textureName)); + this->textureName = 0; + this->aTextureIsSet = false; + } + } +} + + +bool VisualTextureContainer::textureIsSet() { + return this->aTextureIsSet; +} + + +void VisualTextureContainer::applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter) { + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + + uint16 dataType; + uint16 pixelFormat = kGL_BGRA; + // BGRA on intel machines and ARGB on ppc +#if TARGET_OS_WIN + dataType = kGL_UNSIGNED_BYTE; +#else +#if __BIG_ENDIAN__ + dataType = kGL_UNSIGNED_INT_8_8_8_8_REV; +#else + dataType = kGL_UNSIGNED_INT_8_8_8_8; +#endif +#endif + + if (theVisualGraphics->doesSupportGLConvolutionFilter()) { + + int prevReadBuffer = theVisualGraphics->getCurrentColorBufferForPixelReadingOperations(); + theVisualGraphics->setColorBufferForPixelReadingOperations(kGL_BACK_COLOR_BUFFER); + + int prevDrawBuffer = theVisualGraphics->getCurrentColorBufferForPixelDrawingOperations(); + theVisualGraphics->setColorBufferForPixelDrawingOperations(kGL_BACK_COLOR_BUFFER); + + uint32* prevPixels = NULL; + + char errStr[512]; + + uint8 numberOfBytesPerChannel = 0; + uint8 numberOfChannels = 0; // channel == color resp. alpha channel + uint8 numberOfBytesPerPixel = 0; + uint32 numberOfBytesPerRow = 0; + if ((pixelFormat == kGL_RGBA) || (pixelFormat == kGL_BGRA)) { + numberOfChannels = 4; + } else { + sprintf(errStr, "unknown format %d in file: %s (line: %d) [%s])", pixelFormat, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return; + } + + if ((dataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (dataType == kGL_UNSIGNED_INT_8_8_8_8) || (dataType == kGL_UNSIGNED_BYTE)) { + numberOfBytesPerChannel = 1; // // 1 byte (== 8 bits) per color/channel + } else { + sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", dataType, __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return; + } + + numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels; + numberOfBytesPerRow = numberOfBytesPerPixel * this->textureRect.width; + + // read previous pixels + if ((pixelFormat == kGL_RGBA) || (pixelFormat == kGL_BGRA)) { + prevPixels = (uint32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureRect.height, numberOfBytesPerPixel); + } + VisualCamera aCamera; + aCamera.setOrthographicProjection(); + theVisualGraphics->readPixels(aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->textureRect.width, this->textureRect.height, &prevPixels, pixelFormat, dataType, aCamera); + + PixelColor* pixels = NULL; + pixels = this->createARGBImagePixels(); + if (pixels == NULL) { + sprintf(errStr, "pixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errStr); + return; + } + + theVisualGraphics->drawPixels(&pixels, aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->imageRect.width, this->imageRect.height, pixelFormat, dataType, &aConvolutionFilter); + + free(pixels); + pixels = NULL; + + BottomLeftPositionedPixelRect clipRect; + clipRect.bottomLeftPixel.x = 0; + clipRect.bottomLeftPixel.y = 0; + clipRect.pixelRect.width = this->textureRect.width; + clipRect.pixelRect.height = this->textureRect.height; + + theVisualGraphics->enableTexturing(this->useRectExtension); + theVisualGraphics->copyFramebufferToTexture(this->textureName, this->useRectExtension, clipRect, pixelFormat, dataType); + theVisualGraphics->disableTexturing(this->useRectExtension); + + // restore previous pixels + theVisualGraphics->drawPixels(&prevPixels, aCamera.getMaxLeftCoord(), aCamera.getMaxBottomCoord(), this->textureRect.width, this->textureRect.height, pixelFormat, dataType); + + free(prevPixels); + + theVisualGraphics->setColorBufferForPixelDrawingOperations(prevDrawBuffer); + theVisualGraphics->setColorBufferForPixelReadingOperations(prevReadBuffer); + + } else { + + PixelColor* pixels = this->createARGBImagePixels(); + PixelColor* filteredPixels = NULL; + aConvolutionFilter.applyToPixelData(pixels, this->imageRect.width, this->imageRect.height, pixelFormat, dataType, &filteredPixels); + free(pixels); + pixels = NULL; + bool success = false; + const PixelColor* constFilteredPixels = const_cast(filteredPixels); + success = theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->imageRect.width, this->imageRect.height, this->useRectExtension, &constFilteredPixels); + if (filteredPixels != NULL) { + free(filteredPixels); + } + } + +} + + +void VisualTextureContainer::resample(const PixelRect& pixelRect) { + + PixelColor* pixels = this->createARGBImagePixels(); + PixelColor* pixelsOut = (PixelColor*)malloc(pixelRect.width * pixelRect.height * sizeof(PixelColor)); + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + uint16 aPixelFormat = kGL_RGBA; + uint16 dataTypeIn = kGL_UNSIGNED_BYTE; + uint16 dataTypeOut = dataTypeIn; + theVisualGraphics->resample(aPixelFormat, this->imageRect.width, this->imageRect.height, dataTypeIn, pixels, pixelRect.width, pixelRect.height, dataTypeOut, &pixelsOut); + free(pixels); + + this->initWithARGBPixelData(pixelsOut, pixelRect.width, pixelRect.height); + free(pixelsOut); + +} diff --git a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h new file mode 100644 index 0000000000..0c5a05df98 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h @@ -0,0 +1,263 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualTextureContainer.h + * + */ + +/*************************************************************************** + + Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + + This software is provided 'as-is', without any expressed or implied warranty. + In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + + 2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualTextureContainer_h +#define VisualTextureContainer_h + +#include "VisualTypes.h" +#include "VisualGraphicTypes.h" + +#include + + +namespace VizKit { + + class VisualConvolutionFilter; // Forward declaration (to avoid include of header file). + class VisualStyledString; // Forward declaration (to avoid include of header file). + class VisualFile; // Forward declaration (to avoid include of header file). + + /** + * A data container with a reference to an image texture. + */ + class VisualTextureContainer { + + public: + + /** + * The constructor. + */ + VisualTextureContainer(); + + /** + * The destructor. + */ + ~VisualTextureContainer(); + + /** + * Copy constructor. + * @param other Reference to another VisualTextureContainer. + */ + VisualTextureContainer(const VisualTextureContainer& other); + + /** + * Assignment operator. + * @param other Reference to another VisualTextureContainer. + */ + VisualTextureContainer& operator=(const VisualTextureContainer& other); + + /** + * Initializes a texture by passing a file. + * @param aFile Reference to a file. + * @return True on success, false on failure. + */ + bool initWithFile(VisualFile& aFile); + + /** + * Initializes a texture by passing a data pointer to encoded image data. + * @param bufferData A pointer to the data. + * @param size The size of the data pointed to in bytes. + * @return True on success, false on failure. + */ + bool initWithEncodedData(const char* const bufferData, size_t size); + + /** + * Initializes a texture with a buffer of ARGB pixel data. + * @param argbPixels Pointer to ARGB pixel data. + * @param imageWidth The width of the image data. + * @param imageHeight The height of the image data. + * @param debug If true, canned sample data is used. + * @return True on success, false on failure. + * @remarks No reference to the pixel data is stored, pixel data can be savely disposed after the call. + */ + bool initWithARGBPixelData(PixelColor* argbPixels, size_t imageWidth, size_t imageHeight, bool debug = false); + + /** + * Initializes a texture with a buffer of BGRA pixel data. + * @param bgraPixels Pointer to BGRA pixel data. + * @param imageWidth The width of the image data. + * @param imageHeight The height of the image data. + * @param debug If true, canned sample data is used. + * @return True on success, false on failure. + * @remarks No reference to the pixel data is stored, pixel data can be savely disposed after the call. + */ + bool initWithBGRAPixelData(PixelColor* bgraPixels, size_t imageWidth, size_t imageHeight, bool debug = false); + + /** + * Creates a texture of the passed string. + * @param styledString The styled string to plot to texture. + * @return True on success, false on failure. + */ + bool initWithStyledString(VisualStyledString& styledString); + + /** + * Cleans the texture data. + */ + void clean(void); + + /** + * Creates a texture with contents of the current screen (framebuffer). + * @param clipRect The dimensions and position of the clip rect. + * @return True on success, false on failure. + */ + bool initWithFramebuffer(const BottomLeftPositionedPixelRect& clipRect); + + /** + * Returns bitmap data of the texture. + * @param debug If true, canned sample data is returned. + * @return A pointer to the argb pixel data. + * @remarks The pixel data is returned in dimensions of the image data (not necessarily the dimensions of the texture). The caller has to release the pixel data by calling free(). + */ + PixelColor* createARGBImagePixels(bool debug = false); + + /** + * Returns the name/number/id of the current texture. + * @return The name/number/id of the current texture. + */ + uint32 getTextureName(void) const; + + /** + * Returns the width of the texture. + * @return The width of the texture. + */ + size_t getTextureWidth(void) const; + + /** + * Returns the height of the texture. + * @return The height of the texture. + */ + size_t getTextureHeight(void) const; + + /** + * Returns the logical width of the texture. + * @return The logical width of the texture. + */ + double getTextureLogicalWidth(void) const; + + /** + * Returns the logical height of the texture. + * @return The logical height of the texture. + */ + double getTextureLogicalHeight(void) const; + + /** + * Returns the number of pixels of image data in horizontal direction. + * @return The pixel width of the image data. + */ + size_t getImageWidth(void) const; + + /** + * Returns the number of pixels of image data in vertical direction. + * @return The pixel height of the image data. + */ + size_t getImageHeight(void) const; + + /** + * Returns whether the texture is drawn with rectangular texture extension. + * @return True if graphics system does support rectangular texture extension. False otherwise. + * @remarks With rectangular texure extension non-power-of-2 (npot) rectangles can be stored in texture memory. + */ + bool getUseRectExtension(void) const; + + /** + * Frees any resources possibly allocated for texture data. + */ + void releaseTextureData(void); + + /** + * Answers the question whether currently a texture is set. + * @return True if currently a texture is set. False otherwise. + */ + bool textureIsSet(void); + + /** + * Applies a convolution filter to the texture. + * @param aConvolutionFilter The convolution filter to apply to the texture. + */ + void applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter); + + /** + * Resamples the pixel data of the texture to the given dimensions of the pixelRect. + * @param pixelRect The resampling dimensions. + */ + void resample(const PixelRect& pixelRect); + + private: + + /** + * Copy method for assignment operator and copy constructor. + * @param other Another VisualTextureContainer. + */ + void copy(const VisualTextureContainer& other); + + /** + * Private method accessing the pixels via drawing and reading. + * @param format The format of the requested pixels (kGL_RGBA, kGL_LUMINANCE). + * @param type The data type of the pixel data (8-bit byte, float, etc.). + * @remarks The caller has to release the pixel data by calling free(). + */ + PixelColor* createReadPixels(const uint16 format, const uint16 type); + + /** A TextureRefCountMap is a map of texture names and ref counts. */ + typedef std::map TextureRefCountMap; + + /** The map of the texture names and ref counts. */ + static TextureRefCountMap textureRefCountMap; + + bool aTextureIsSet; /**< True if the texture container actually contains a texture. */ + + uint32 textureName; /**< The name (number, id) of the texture. */ + + PixelRect textureRect; /**< The dimensions of the texture. */ + + /** + * Logical size of a texture. The logical size of the texture depends on useRectExtension value. + */ + typedef struct { + double width; /**< Logical texture width. */ + double height; /**< Logical texture height. */ + } LogicalSize; + + LogicalSize logicalSize; /**< The logical size of the texture. */ + + PixelRect imageRect; /**< The dimensions of the image data. */ + + bool useRectExtension; /**< True if the texture is created with rectangular texture extension (npot texture). False otherwise. */ + + }; + +} + + +#endif /* VisualTextureContainer_h */ diff --git a/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp b/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp new file mode 100644 index 0000000000..a7f2ccce7d --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp @@ -0,0 +1,115 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: carbontoprojectM.hpp,v 1.2 2004/11/12 15:12:58 cvs Exp $ + * + * Translates CARBON -> projectM variables + * + * $Log$ + */ + +#ifndef _CARBONTOPROJECTM_H +#define _CARBONTOPROJECTM_H + +#include "event.h" +#ifdef WIN32 +#else +#endif + +projectMEvent carbon2pmEvent( EventRecord *event ) { + +switch ( event->what ) { + /* + case updateEvt: + return PROJECTM_VIDEORESIZE; + case keyUp: + return PROJECTM_KEYUP; + case keyDown: + return PROJECTM_KEYDOWN; +*/ + default: + return PROJECTM_KEYDOWN; + + } + } + +projectMKeycode carbon2pmKeycode( EventRecord *event ) { + + projectMKeycode char_code = (projectMKeycode)(event->message & charCodeMask); + switch ( char_code ) { + case kFunctionKeyCharCode: { + + switch ( ( event->message << 16 ) >> 24 ) { \ + case 111: { \ + return PROJECTM_K_F12; \ + } \ + case 103: { \ + return PROJECTM_K_F11; \ + } \ + case 109: { \ + return PROJECTM_K_F10; \ + } \ + case 101: { \ + return PROJECTM_K_F9; \ + } \ + case 100: { \ + return PROJECTM_K_F8; \ + } \ + case 98: { \ + return PROJECTM_K_F7; \ + } \ + case 97: { \ + return PROJECTM_K_F6; \ + } \ + case 96: { \ + return PROJECTM_K_F5; \ + } \ + case 118: { \ + return PROJECTM_K_F4; \ + } \ + case 99: { \ + return PROJECTM_K_F3; \ + } \ + case 120: { \ + return PROJECTM_K_F2; \ + } \ + case 122: { \ + return PROJECTM_K_F1; \ + } + default: + { + return PROJECTM_K_NONE; + } + } + + } + default: { + return char_code; + } + } + +} + +projectMModifier carbon2pmModifier( EventRecord *event ) { \ + return (projectMModifier)PROJECTM_K_LSHIFT; \ + } \ + +#endif /** _CARBONTOPROJECTM_H */ diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c new file mode 100644 index 0000000000..88b017a2a9 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c @@ -0,0 +1,423 @@ +// +// File: iTunesAPI.c +// +// Abstract: part of iTunes Visual SDK +// +// Version: 1.2 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright ( C ) 2000-2007 Apple Inc. All Rights Reserved. +// +#include "iTunesAPI.h" +#include "iTunesVisualAPI.h" + +// MyMemClear +// +static void MyMemClear (LogicalAddress dest, SInt32 length) +{ + register unsigned char *ptr; + + ptr = (unsigned char *) dest; + + if( length > 16 ) + { + register unsigned long *longPtr; + + while( ((unsigned long) ptr & 3) != 0 ) + { + *ptr++ = 0; + --length; + } + + longPtr = (unsigned long *) ptr; + + while( length >= 4 ) + { + *longPtr++ = 0; + length -= 4; + } + + ptr = (unsigned char *) longPtr; + } + + while( --length >= 0 ) + { + *ptr++ = 0; + } +} + + +// SetNumVersion +// +void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev) +{ + numVersion->majorRev = majorRev; + numVersion->minorAndBugRev = minorAndBugRev; + numVersion->stage = stage; + numVersion->nonRelRev = nonRelRev; +} + + +// ITCallApplication +// +static OSStatus ITCallApplicationInternal (void *appCookie, ITAppProcPtr handler, OSType message, UInt32 messageMajorVersion, UInt32 messageMinorVersion, PlayerMessageInfo *messageInfo) +{ + PlayerMessageInfo localMessageInfo; + + if (messageInfo == nil) + { + MyMemClear(&localMessageInfo, sizeof(localMessageInfo)); + + messageInfo = &localMessageInfo; + } + + messageInfo->messageMajorVersion = messageMajorVersion; + messageInfo->messageMinorVersion = messageMinorVersion; + messageInfo->messageInfoSize = sizeof(PlayerMessageInfo); + + return handler(appCookie, message, messageInfo); +} + +// ITCallApplication +// +OSStatus ITCallApplication (void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo) +{ + return ITCallApplicationInternal(appCookie, handler, message, kITPluginMajorMessageVersion, kITPluginMinorMessageVersion, messageInfo); +} + + +// PlayerSetFullScreen +// +OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.setFullScreenMessage.fullScreen = fullScreen; + + return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo); +} + + +// PlayerSetFullScreenOptions +// +OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.setFullScreenOptionsMessage.minBitDepth = minBitDepth; + messageInfo.u.setFullScreenOptionsMessage.maxBitDepth = maxBitDepth; + messageInfo.u.setFullScreenOptionsMessage.preferredBitDepth = preferredBitDepth; + messageInfo.u.setFullScreenOptionsMessage.desiredWidth = desiredWidth; + messageInfo.u.setFullScreenOptionsMessage.desiredHeight = desiredHeight; + + return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenOptionsMessage, &messageInfo); +} + +// PlayerGetCurrentTrackCoverArt +// +OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat) +{ + OSStatus status; + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getCurrentTrackCoverArtMessage.coverArt = nil; + + status = ITCallApplication(appCookie, appProc, kPlayerGetCurrentTrackCoverArtMessage, &messageInfo); + + *coverArt = messageInfo.u.getCurrentTrackCoverArtMessage.coverArt; + if (coverArtFormat) + *coverArtFormat = messageInfo.u.getCurrentTrackCoverArtMessage.coverArtFormat; + return status; +} + +// PlayerGetPluginData +// +OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) +{ + OSStatus status; + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getPluginDataMessage.dataPtr = dataPtr; + messageInfo.u.getPluginDataMessage.dataBufferSize = dataBufferSize; + + status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo); + + if (dataSize != nil) + *dataSize = messageInfo.u.getPluginDataMessage.dataSize; + + return status; +} + + +// PlayerSetPluginData +// +OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.setPluginDataMessage.dataPtr = dataPtr; + messageInfo.u.setPluginDataMessage.dataSize = dataSize; + + return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo); +} + + +// PlayerGetPluginNamedData +// +OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) +{ + OSStatus status; + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getPluginNamedDataMessage.dataName = dataName; + messageInfo.u.getPluginNamedDataMessage.dataPtr = dataPtr; + messageInfo.u.getPluginNamedDataMessage.dataBufferSize = dataBufferSize; + + status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo); + + if (dataSize != nil) + *dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize; + + return status; +} + + +// PlayerSetPluginNamedData +// +OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.setPluginNamedDataMessage.dataName = dataName; + messageInfo.u.setPluginNamedDataMessage.dataPtr = dataPtr; + messageInfo.u.setPluginNamedDataMessage.dataSize = dataSize; + + return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo); +} + + +// PlayerIdle +// +OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc) +{ + return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil); +} + + +// PlayerShowAbout +// +void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc) +{ + ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil); +} + + +// PlayerOpenURL +// +void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.openURLMessage.url = string; + messageInfo.u.openURLMessage.length = length; + + ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo); +} + +// PlayerUnregisterPlugin +// +OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) +{ + return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo); +} + + +// PlayerRegisterVisualPlugin +// +OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) +{ + return ITCallApplicationInternal(appCookie, appProc, kPlayerRegisterVisualPluginMessage, kITVisualPluginMajorMessageVersion, kITVisualPluginMinorMessageVersion, messageInfo); +} + + +// PlayerHandleMacOSEvent +// +OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled) +{ + PlayerMessageInfo messageInfo; + OSStatus status; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.handleMacOSEventMessage.theEvent = theEvent; + + status = ITCallApplication(appCookie, appProc, kPlayerHandleMacOSEventMessage, &messageInfo); + + if( eventHandled != nil ) + *eventHandled = messageInfo.u.handleMacOSEventMessage.handled; + + return status; +} + +// PlayerGetPluginFileSpec +// +#if TARGET_OS_MAC +OSStatus PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getPluginFileSpecMessage.fileSpec = pluginFileSpec; + + return ITCallApplication(appCookie, appProc, kPlayerGetPluginFileSpecMessage, &messageInfo); +} +#endif // TARGET_OS_MAC + +// PlayerGetPluginITFileSpec +// +OSStatus PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getPluginITFileSpecMessage.fileSpec = pluginFileSpec; + + return ITCallApplication(appCookie, appProc, kPlayerGetPluginITFileSpecMessage, &messageInfo); +} + +// PlayerGetFileTrackInfo +// +OSStatus PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.getFileTrackInfoMessage.fileSpec = fileSpec; + messageInfo.u.getFileTrackInfoMessage.trackInfo = trackInfo; + + return ITCallApplication(appCookie, appProc, kPlayerGetFileTrackInfoMessage, &messageInfo); +} + +// PlayerSetFileTrackInfo +// +OSStatus PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo) +{ + PlayerMessageInfo messageInfo; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + messageInfo.u.setFileTrackInfoMessage.fileSpec = fileSpec; + messageInfo.u.setFileTrackInfoMessage.trackInfo = trackInfo; + + return ITCallApplication(appCookie, appProc, kPlayerSetFileTrackInfoMessage, &messageInfo); +} + +// PlayerGetITTrackInfoSize +// +OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize) +{ + PlayerMessageInfo messageInfo; + OSStatus status; + + /* + Note: appPluginMajorVersion and appPluginMinorVersion are the versions given to the plugin by iTunes in the plugin's init message. + These versions are *not* the version of the API used when the plugin was compiled. + */ + + *itTrackInfoSize = 0; + + MyMemClear(&messageInfo, sizeof(messageInfo)); + + status = ITCallApplication(appCookie, appProc, kPlayerGetITTrackInfoSizeMessage, &messageInfo); + if( status == noErr ) + { + *itTrackInfoSize = messageInfo.u.getITTrackInfoSizeMessage.itTrackInfoSize; + } + else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 2 ) + { + // iTunes 2.0.x + + *itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->composer); + + status = noErr; + } + else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 3 ) + { + // iTunes 3.0.x + + *itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->beatsPerMinute); + + status = noErr; + } + else + { + // iTunes 4.0 and later implement the kPlayerGetITTrackInfoSizeMessage message. If you got here + // then the appPluginMajorVersion or appPluginMinorVersion are incorrect. + + status = paramErr; + } + + if( status == noErr && (*itTrackInfoSize) > sizeof(ITTrackInfo) ) + { + // iTunes is using a larger ITTrackInfo than the one when this plugin was compiled. Pin *itTrackInfoSize to the plugin's known size + + *itTrackInfoSize = sizeof(ITTrackInfo); + } + + return status; +} diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h new file mode 100644 index 0000000000..f9aa90af91 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h @@ -0,0 +1,718 @@ +// +// File: iTunesAPI.h +// +// Abstract: part of iTunes Visual SDK +// +// Version: 1.2 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright ( C ) 2000-2007 Apple Inc. All Rights Reserved. +// +#ifndef ITUNESAPI_H_ +#define ITUNESAPI_H_ + +#if PRAGMA_ONCE +#pragma once +#endif + + +#if defined(_MSC_VER) + #define TARGET_OS_MAC 0 + #define TARGET_OS_WIN32 1 +#else + #define TARGET_OS_MAC 1 + #define TARGET_OS_WIN32 0 +#endif + +#if TARGET_OS_MAC + #include + #include +#endif +#if TARGET_OS_WIN32 + #include +#endif + +#if !defined(__CONDITIONALMACROS__) +typedef unsigned long UInt32; +typedef signed long SInt32; +typedef unsigned short UInt16; +typedef signed short SInt16; +typedef unsigned char UInt8; +typedef signed char SInt8; +typedef UInt32 OptionBits; + +typedef UInt8 Str255[256]; +typedef UInt8 Str63[64]; +typedef UInt8 * StringPtr; +typedef const UInt8 * ConstStringPtr; +typedef UInt32 OSType; + +typedef SInt32 OSStatus; + +typedef UInt16 EventKind; + +typedef UInt16 EventModifiers; + +typedef UInt16 UniChar; + +typedef double Float64; + + +#if TARGET_OS_WIN32 +typedef unsigned __int64 UInt64; +#else +typedef unsigned long long UInt64; +#endif + +typedef void ** Handle; + +struct NumVersion { + UInt8 majorRev; + UInt8 minorAndBugRev; + UInt8 stage; + UInt8 nonRelRev; +}; +typedef struct NumVersion NumVersion; + +struct Point { + short v; + short h; +}; +typedef struct Point Point; + +struct Rect { + short top; + short left; + short bottom; + short right; +}; +typedef struct Rect Rect; + +struct EventRecord { + EventKind what; + UInt32 message; + UInt32 when; + Point where; + EventModifiers modifiers; +}; +typedef struct EventRecord EventRecord; + +typedef UInt8 Boolean; + +typedef UInt32 UnsignedFixed; + +typedef void * LogicalAddress; + +#define false 0 +#define true 1 +#define nil NULL + +enum { + noErr = 0, + unimpErr = -4, + readErr = -19, + writErr = -20, + openErr = -23, + closErr = -24, + dirFulErr = -33, + dskFulErr = -34, + nsvErr = -35, + ioErr = -36, + bdNamErr = -37, + fnOpnErr = -38, + eofErr = -39, + posErr = -40, + tmfoErr = -42, + fnfErr = -43, + wPrErr = -44, + fLckdErr = -45, + vLckdErr = -46, + fBsyErr = -47, + dupFNErr = -48, + opWrErr = -49, + paramErr = -50, + permErr = -54, + nsDrvErr = -56, + wrPermErr = -61, + memFullErr = -108, + dirNFErr = -120, + badMovErr = -122 +}; + +enum { + developStage = 0x20, + alphaStage = 0x40, + betaStage = 0x60, + finalStage = 0x80 +}; + +struct SoundComponentData { + long flags; + OSType format; + short numChannels; + short sampleSize; + UnsignedFixed sampleRate; + long sampleCount; + UInt8 * buffer; + long reserved; +}; +typedef struct SoundComponentData SoundComponentData; + +struct AudioStreamBasicDescription +{ + Float64 mSampleRate; + UInt32 mFormatID; + UInt32 mFormatFlags; + UInt32 mBytesPerPacket; + UInt32 mFramesPerPacket; + UInt32 mBytesPerFrame; + UInt32 mChannelsPerFrame; + UInt32 mBitsPerChannel; + UInt32 mReserved; +}; +typedef struct AudioStreamBasicDescription AudioStreamBasicDescription; + +#endif + +#if TARGET_OS_WIN32 +#define GRAPHICS_DEVICE HWND +#define GRAPHICS_DEVICE_NAME window +#else +#define GRAPHICS_DEVICE CGrafPtr +#define GRAPHICS_DEVICE_NAME port +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 4) +#elif PRAGMA_STRUCT_PACK + #pragma pack(4) +#endif + + +enum { + kITPluginMajorMessageVersion = 10, + kITPluginMinorMessageVersion = 9 +}; + +enum { + kTrackSupportsID3Tags = (1L << 0), + kTrackHasVariableBitRate = (1L << 1), + kTrackIsLocked = (1L << 3), /* Device tracks only. Track cannot be deleted or renamed */ + kTrackCanBeDownloaded = (1L << 4), /* Device tracks only. Track can be copied from device to desktop. */ + kTrackIsHidden = (1L << 5), /* Device tracks only. Track should not be displayed in the device window. */ + kTrackHasVideo = (1L << 6) /* Track has video track which can be played in iTunes */ +}; +typedef OptionBits ITTrackAttributes; + +enum { + /* + These mask values are specified in ITTrackInfo.validFields + to indicate which fields contain valid data + */ + + kITTIFieldInvalid = 0, + kITTINameFieldMask = (1L << 0), + kITTIFileNameFieldMask = (1L << 1), + kITTIArtistFieldMask = (1L << 2), + kITTIAlbumFieldMask = (1L << 3), + kITTIGenreFieldMask = (1L << 4), + kITTIKindFieldMask = (1L << 5), + kITTITrackNumberFieldsMask = (1L << 6), + kITTIYearFieldMask = (1L << 7), + kITTISoundVolumeFieldMask = (1L << 8), + kITTIEQPresetFieldMask = (1L << 9), + kITTICommentsFieldMask = (1L << 10), + kITTITotalTimeFieldMask = (1L << 11), + kITTIStartTimeFieldMask = (1L << 12), + kITTIStopTimeFieldMask = (1L << 13), + kITTISizeFieldMask = (1L << 14), + kITTIBitRateFieldMask = (1L << 15), + kITTISampleRateFieldMask = (1L << 16), + kITTIAttributesFieldMask = (1L << 17), + kITTIFileTypeFieldMask = (1L << 18), + kITTIDateFieldMask = (1L << 19), + kITTIFileCreatorFieldMask = (1L << 20), + kITTIComposerFieldMask = (1L << 21), /* Added in iTunes 3.0 */ + kITTICompilationFieldMask = (1L << 22), /* Added in iTunes 3.0 */ + kITTIDiscNumberFieldsMask = (1L << 23), /* Added in iTunes 3.0 */ + kITTITrackRatingFieldMask = (1L << 24), /* Added in iTunes 3.0 - used to be called kITTIUserRatingFieldMask */ + kITTIPlayCountFieldMask = (1L << 25), /* Added in iTunes 3.0 */ + kITTILastPlayDateFieldMask = (1L << 26), /* Added in iTunes 3.0 */ + kITTIBeatsPerMinuteFieldMask = (1L << 27), /* Added in iTunes 4.0 */ + kITTIGroupingFieldMask = (1L << 28), /* Added in iTunes 4.2 */ + kITTIGaplessAlbumFieldMask = (1L << 29), /* Added in iTunes 7.0 */ + kITTIAlbumArtistFieldMask = (1L << 30) /* Added in iTunes 7.0 */ +}; +typedef OptionBits ITTIFieldMask; + +#define kLastKnownITTIField kITTIAlbumArtistFieldMask +#define kAllKnownITTIFieldsMask ((((UInt32) kLastKnownITTIField) << 1) - 1) + +enum +{ + kITTIUserModifiableFieldsMask = kITTINameFieldMask | kITTIArtistFieldMask | kITTIAlbumFieldMask | kITTIGroupingFieldMask | kITTIGenreFieldMask | + kITTITrackNumberFieldsMask | kITTIYearFieldMask | kITTISoundVolumeFieldMask | kITTIEQPresetFieldMask | + kITTICommentsFieldMask | kITTIStartTimeFieldMask | kITTIStopTimeFieldMask | kITTIComposerFieldMask | + kITTICompilationFieldMask | kITTIDiscNumberFieldsMask | kITTITrackRatingFieldMask | kITTIBeatsPerMinuteFieldMask | + kITTIGaplessAlbumFieldMask | kITTIAlbumArtistFieldMask +}; + +typedef UniChar ITUniStr255[256]; /* Similar to Str255. First element is length of string in characters. */ +typedef UniChar * ITUniStringPtr; +typedef const UniChar * ConstITUniStringPtr; + +#if TARGET_OS_MAC + typedef FSRef ITFileSpec; +#endif + +#if TARGET_OS_WIN32 + #define kITFileSpecMaxPathLength (MAX_PATH - 1) + + typedef struct ITFileSpec + { + UInt16 length; // Length in characters + UniChar fullPath[kITFileSpecMaxPathLength]; + } ITFileSpec; +#endif + +struct ITTrackInfo { + ITTIFieldMask validFields; + UInt32 recordLength; /* Size of this structure in bytes */ + + ITUniStr255 name; + ITUniStr255 fileName; + ITUniStr255 artist; + ITUniStr255 album; + ITUniStr255 genre; + ITUniStr255 kind; + ITUniStr255 eqPresetName; + ITUniStr255 comments; + + UInt32 trackNumber; + UInt32 numTracks; + + UInt16 year; + SInt16 soundVolumeAdjustment; /* Valid range is -255 to +255 */ + + UInt32 totalTimeInMS; + UInt32 startTimeInMS; + UInt32 stopTimeInMS; + + UInt32 date; + UInt32 oldSizeInBytes; /* Deprecated in iTunes 7.1 */ + + UInt32 bitRate; + UInt32 oldSampleRateFixed; /* Deprecated in iTunes 5.0 */ + + OSType fileType; + OSType fileCreator; + + ITTrackAttributes attributes; + ITTrackAttributes validAttributes; /* Mask indicating which attributes are applicable */ + + ITUniStr255 composer; /* Added in iTunes 3.0 */ + + Boolean isCompilationTrack; /* Added in iTunes 3.0 */ + Boolean partOfGaplessAlbum; /* Added in iTunes 7.0 (was reserved) */ + + UInt16 trackRating; /* Added in iTunes 3.0. 0 = unrated, valid values are 20, 40, 60, 80 and 100. Used to be called userRating */ + + UInt16 discNumber; /* Added in iTunes 3.0 */ + UInt16 numDiscs; /* Added in iTunes 3.0 */ + + UInt32 playCount; /* Added in iTunes 3.0 */ + UInt32 lastPlayDate; /* Added in iTunes 3.0 */ + + UInt16 beatsPerMinute; /* Added in iTunes 4.0 */ + UInt16 reserved; /* Reserved. Must be zero. */ + + ITUniStr255 grouping; /* Added in iTunes 4.0 */ + + float sampleRateFloat; /* Added in iTunes 5.0 */ + + ITUniStr255 albumArtist; /* Added in iTunes 7.0 */ + + UInt64 sizeInBytes; /* Added in iTunes 7.1 */ +}; +typedef struct ITTrackInfo ITTrackInfo; + +struct ITStreamInfo { + SInt32 version; + ITUniStr255 streamTitle; + ITUniStr255 streamURL; + ITUniStr255 streamMessage; +}; +typedef struct ITStreamInfo ITStreamInfo; + +enum { + /* messages sent to plugin main */ + + kPluginInitMessage = 'init', + kPluginCleanupMessage = 'clr ', + kPluginPrepareToQuitMessage = 'prqt', + + kPluginIdleMessage = 'idle' +}; + + +enum { + /* PluginInitMessage.options */ + + kPluginWantsIdleMessages = (1L << 1), /* Send idle messages to plugin main */ + kPluginWantsToBeLeftOpen = (1L << 2), /* Don't close this plugin just because it didn't register anyone */ + kPluginWantsVolumeMessages = (1L << 3), /* The plugin wants to be notified when volumes are mounted/unmounted/renamed */ + kPluginWantsDisplayNotification = (1L << 5) /* The plugin wants to know when the display depth/size changes */ +}; + + +enum { + /* iTunes API messages */ + + kPlayerRegisterVisualPluginMessage = 'rvis', /* Register a visual plugin */ + + /* Available for all plugins */ + + kPlayerUnregisterPluginMessage = 'unrg', /* Unregister the plugin this comes from */ + kPlayerIdleMessage = 'idle', /* Give iTunes some time */ + + kPlayerShowAboutMessage = 'abou', /* Show the about box. */ + kPlayerOpenURLMessage = 'url ', /* Open a URL */ + + kPlayerSetPluginDataMessage = 'sprf', /* Set plugin preferences */ + kPlayerGetPluginDataMessage = 'gprf', /* Get plugin preferences */ + + kPlayerSetPluginNamedDataMessage = 'snpr', /* Set plugin named preferenes */ + kPlayerGetPluginNamedDataMessage = 'gnpr', /* Get plugin named preferenes */ + + kPlayerGetFileTrackInfoMessage = 'gfti', /* Query iTunes for information about a file */ + kPlayerSetFileTrackInfoMessage = 'sfti', /* Ask iTunes to set information about a file */ + + kPlayerGetITTrackInfoSizeMessage = 'itsz', /* Query iTunes for the sizeof(ITTrackInfo). This allows newer plugins to correctly workd with older versions of iTunes. */ + + kPlayerHandleMacOSEventMessage = 'evnt', /* Tell player to handle unhandled event */ + +#if TARGET_OS_MAC + kPlayerGetPluginFileSpecMessage = 'pspc', /* Get the location of the plugin executable (compatibility only) */ +#endif + + kPlayerGetPluginITFileSpecMessage = 'itfs', /* Get the location of the plugin executable (iTunes 4.1 or later) */ + + kPluginDisplayChangedMessage = 'disp' /* Something about some display has changed */ +}; + +struct PlayerMessageInfo; + +typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo); + + +/* + Plugin main Messages +*/ + +struct PluginInitMessage { + UInt32 majorVersion; /* Input */ + UInt32 minorVersion; /* Input */ + + void * appCookie; /* Input */ + ITAppProcPtr appProc; /* Input */ + + OptionBits options; /* Output, see above for values */ + void * refCon; /* Output */ +}; +typedef struct PluginInitMessage PluginInitMessage; + + +struct PluginMessageInfo { + union { + PluginInitMessage initMessage; + } u; +}; +typedef struct PluginMessageInfo PluginMessageInfo; + +/* Plugin main entry point message handler */ +typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon); + +/* Visual plugin message handler */ +struct VisualPluginMessageInfo; +typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon); + + +/* + Callbacks to iTunes +*/ +struct PlayerOpenURLMessage { + SInt8 * url; + UInt32 length; +}; +typedef struct PlayerOpenURLMessage PlayerOpenURLMessage; + +struct PlayerSetPluginDataMessage { + void * dataPtr; /* Input */ + UInt32 dataSize; /* Input */ +}; +typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage; + +struct PlayerGetPluginDataMessage { + void * dataPtr; /* Input */ + UInt32 dataBufferSize; /* Input */ + + UInt32 dataSize; /* Output */ +}; +typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage; + +struct PlayerSetPluginNamedDataMessage { + ConstStringPtr dataName; /* Input */ + + void * dataPtr; /* Input */ + UInt32 dataSize; /* Input */ +}; +typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage; + +struct PlayerGetPluginNamedDataMessage { + ConstStringPtr dataName; /* Input */ + + void * dataPtr; /* Input */ + UInt32 dataBufferSize; /* Input */ + + UInt32 dataSize; /* Output */ +}; +typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage; + +struct PlayerHandleMacOSEventMessage { + const EventRecord * theEvent; /* Input */ + + Boolean handled; /* Output */ +}; +typedef struct PlayerHandleMacOSEventMessage PlayerHandleMacOSEventMessage; + +#if TARGET_OS_MAC +struct PlayerGetPluginFileSpecMessage { + FSSpec * fileSpec; /* Output */ +}; +typedef struct PlayerGetPluginFileSpecMessage PlayerGetPluginFileSpecMessage; +#endif + +struct PlayerGetPluginITFileSpecMessage { + ITFileSpec * fileSpec; /* Output */ +}; +typedef struct PlayerGetPluginITFileSpecMessage PlayerGetPluginITFileSpecMessage; + +struct PlayerGetFileTrackInfoMessage { + const ITFileSpec * fileSpec; /* Input */ + ITTrackInfo * trackInfo; /* Output */ +}; +typedef struct PlayerGetFileTrackInfoMessage PlayerGetFileTrackInfoMessage; + +struct PlayerSetFileTrackInfoMessage { + const ITFileSpec * fileSpec; /* Input */ + const ITTrackInfo * trackInfo; /* Input */ +}; +typedef struct PlayerSetFileTrackInfoMessage PlayerSetFileTrackInfoMessage; + +struct PlayerGetITTrackInfoSizeMessage { + UInt32 itTrackInfoSize; /* Output */ +}; +typedef struct PlayerGetITTrackInfoSizeMessage PlayerGetITTrackInfoSizeMessage; + +/* + iTunes API callback visual structures +*/ +enum { + /* PlayerRegisterVisualPluginMessage.options */ + + kVisualWantsIdleMessages = (1L << 3), + kVisualWantsConfigure = (1L << 5), + kVisualProvidesUnicodeName = (1L << 6) /* Added in iTunes 7.3 */ +}; + +struct PlayerRegisterVisualPluginMessage { + /* Input from plugin */ + + Str63 name; /* Displayed in the Visual menu -- may be empty if options include kVisualProvidesUnicodeName */ + OptionBits options; /* See above */ + + OSType creator; /* Identifies the plugin */ + + NumVersion pluginVersion; /* Version number of the plugin */ + + VisualPluginProcPtr handler; /* Handler for the plugin's messages */ + void * registerRefCon; /* RefCon for the plugin's handler */ + + UInt32 timeBetweenDataInMS; /* How often to call the plugin (0xFFFFFFFF = as often as possible) */ + UInt32 numWaveformChannels; /* 0-2 waveforms requested */ + UInt32 numSpectrumChannels; /* 0-2 spectrums requested */ + + SInt16 minWidth; /* Minimum resizeable width */ + SInt16 minHeight; /* Minimum resizeable height */ + + SInt16 maxWidth; /* Maximum resizeable width */ + SInt16 maxHeight; /* Maximum resizeable height */ + + UInt16 minFullScreenBitDepth; /* 0 = Any */ + UInt16 maxFullScreenBitDepth; /* 0 = Any */ + + UInt16 windowAlignmentInBytes; /* Reserved (should be zero) */ + + ITUniStr255 unicodeName; /* options must include kVisualProvidesUnicodeName for this to be used -- Added in iTunes 7.3*/ +}; +typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage; + +struct PlayerSetFullScreenMessage { + Boolean fullScreen; +}; +typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage; + +struct PlayerSetFullScreenOptionsMessage { + SInt16 minBitDepth; /* 0 = Any */ + SInt16 maxBitDepth; /* 0 = Any */ + SInt16 preferredBitDepth; /* 0 = Current */ + + SInt16 desiredWidth; /* Must be within minWidth & maxWidth */ + SInt16 desiredHeight; /* Must be within minHeight & maxHeight */ +}; +typedef struct PlayerSetFullScreenOptionsMessage PlayerSetFullScreenOptionsMessage; + +struct PlayerGetCurrentTrackCoverArtMessage { + Handle coverArt; /* output - client must dispose */ + OSType coverArtFormat; /* output - format of cover art */ +}; +typedef struct PlayerGetCurrentTrackCoverArtMessage PlayerGetCurrentTrackCoverArtMessage; + + +// iTunes API callback union structure +struct PlayerMessageInfo { + UInt32 messageMajorVersion; /* Should be kITPluginMajorMessageVersion */ + UInt32 messageMinorVersion; /* Should be kITPluginMinorMessageVersion */ + UInt32 messageInfoSize; /* Should be sizeof(PlayerMessageInfo) */ + + union { + PlayerOpenURLMessage openURLMessage; + + PlayerSetPluginDataMessage setPluginDataMessage; + PlayerGetPluginDataMessage getPluginDataMessage; + + PlayerSetPluginNamedDataMessage setPluginNamedDataMessage; + PlayerGetPluginNamedDataMessage getPluginNamedDataMessage; + + + PlayerGetFileTrackInfoMessage getFileTrackInfoMessage; + PlayerSetFileTrackInfoMessage setFileTrackInfoMessage; + PlayerGetITTrackInfoSizeMessage getITTrackInfoSizeMessage; + + PlayerHandleMacOSEventMessage handleMacOSEventMessage; + +#if TARGET_OS_MAC + PlayerGetPluginFileSpecMessage getPluginFileSpecMessage; +#endif + + PlayerGetPluginITFileSpecMessage getPluginITFileSpecMessage; + + // visual APIs + PlayerRegisterVisualPluginMessage registerVisualPluginMessage; + PlayerSetFullScreenMessage setFullScreenMessage; + PlayerSetFullScreenOptionsMessage setFullScreenOptionsMessage; + PlayerGetCurrentTrackCoverArtMessage getCurrentTrackCoverArtMessage; + } u; +}; +typedef struct PlayerMessageInfo PlayerMessageInfo; + +extern OSStatus ITCallApplication (void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo); +extern void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev); + + +/* For all plugins */ + +extern OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); +extern OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc); + +extern void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc); +extern void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length); + +extern OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); +extern OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize); + +extern OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); +extern OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize); + +extern OSStatus PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo); +extern OSStatus PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo); + +extern OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize); + +extern OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled); + + +#if TARGET_OS_MAC +extern OSStatus PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec); +#endif +extern OSStatus PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec); + +/* iTunes APIs For visual plugins */ +enum { + kPlayerSetFullScreenMessage = 'sful', /* Set full screen mode */ + kPlayerSetFullScreenOptionsMessage = 'sfop', /* Set full screen options */ + kPlayerGetCurrentTrackCoverArtMessage = 'covr' /* Get current player track cover artwork */ +}; + +extern OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); + +extern OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen); +extern OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight); +extern OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat); + + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ITUNESAPI_H_ */ diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h new file mode 100644 index 0000000000..79db8c82da --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h @@ -0,0 +1,314 @@ +// +// File: iTunesVisualAPI.h +// +// Abstract: part of iTunes Visual SDK +// +// Version: 1.2 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright ( C ) 2000-2007 Apple Inc. All Rights Reserved. +// +#ifndef ITUNESVISUALAPI_H_ +#define ITUNESVISUALAPI_H_ + +#include "iTunesAPI.h" + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 4) +#elif PRAGMA_STRUCT_PACK + #pragma pack(4) +#endif + +struct ITTrackInfoV1 { + ITTIFieldMask validFields; + UInt32 reserved; /* Must be zero */ + + Str255 name; + Str255 fileName; + Str255 artist; + Str255 album; + + Str255 genre; + Str255 kind; + + UInt32 trackNumber; + UInt32 numTracks; + + UInt16 year; + SInt16 soundVolumeAdjustment; /* Valid range is -255 to +255 */ + + Str255 eqPresetName; + Str255 comments; + + UInt32 totalTimeInMS; + UInt32 startTimeInMS; + UInt32 stopTimeInMS; + + UInt32 sizeInBytes; + + UInt32 bitRate; + UInt32 sampleRateFixed; + + OSType fileType; + + UInt32 date; + UInt32 unusedReserved2; /* Must be zero */ + + ITTrackAttributes attributes; + ITTrackAttributes validAttributes; /* Mask indicating which attributes are applicable */ + + OSType fileCreator; +}; +typedef struct ITTrackInfoV1 ITTrackInfoV1; + +enum { + kCurrentITStreamInfoVersion = 1 +}; + +struct ITStreamInfoV1 { + SInt32 version; + Str255 streamTitle; + Str255 streamURL; + Str255 streamMessage; +}; +typedef struct ITStreamInfoV1 ITStreamInfoV1; + + +enum { + kITVisualPluginMajorMessageVersion = 10, + kITVisualPluginMinorMessageVersion = 7 +}; + +enum { + /* VisualPlugin messages */ + + kVisualPluginIdleMessage = 'null', + + kVisualPluginInitMessage = 'init', + kVisualPluginCleanupMessage = 'clr ', + + kVisualPluginConfigureMessage = 'cnfg', /* Configure the plugin (may not be enabled) */ + + kVisualPluginEnableMessage = 'von ', /* Turn on the module (automatic)*/ + kVisualPluginDisableMessage = 'voff', /* Turn off the module */ + + kVisualPluginShowWindowMessage = 'show', /* Show the plugin window (allocate large memory here!) */ + kVisualPluginHideWindowMessage = 'hide', /* Hide the plugin window (deallocate large memory here!) */ + + kVisualPluginSetWindowMessage = 'swin', /* Change the window parameters */ + + kVisualPluginRenderMessage = 'vrnd', /* Render to window */ + + kVisualPluginUpdateMessage = 'vupd', /* Update the window */ + + kVisualPluginPlayMessage = 'vply', /* Playing a track */ + kVisualPluginChangeTrackMessage = 'ctrk', /* Change track (for CD continuous play) or info about currently playing track has changed */ + kVisualPluginStopMessage = 'vstp', /* Stopping a track */ + kVisualPluginSetPositionMessage = 'setp', /* Setting the position of a track */ + + kVisualPluginPauseMessage = 'vpau', /* Pausing a track (unused - Pause is stop) */ + kVisualPluginUnpauseMessage = 'vunp', /* Unpausing a track (unused - Pause is stop) */ + + kVisualPluginEventMessage = 'vevt', /* Mac-event. */ + + kVisualPluginDisplayChangedMessage = 'dchn' /* Something about display state changed */ +}; + +/* + VisualPlugin messages +*/ + +enum { + kVisualMaxDataChannels = 2, + + kVisualNumWaveformEntries = 512, + kVisualNumSpectrumEntries = 512 +}; + +enum { + /* Set/ShowWindow options */ + + kWindowIsFullScreen = (1L << 0), + kWindowIsStretched = (1L << 1) +}; + +enum { + /* Initialize options */ + + kVisualDoesNotNeedResolutionSwitch = (1L << 0), /* Added in 7.0 */ + kVisualDoesNotNeedErase = (1L << 1) /* Added in 7.0 */ +}; + +struct RenderVisualData { + UInt8 numWaveformChannels; + UInt8 waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries]; + + UInt8 numSpectrumChannels; + UInt8 spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries]; +}; +typedef struct RenderVisualData RenderVisualData; + +struct VisualPluginInitMessage { + UInt32 messageMajorVersion; /* Input */ + UInt32 messageMinorVersion; /* Input */ + NumVersion appVersion; /* Input */ + + void * appCookie; /* Input */ + ITAppProcPtr appProc; /* Input */ + + OptionBits options; /* Output */ + void * refCon; /* Output */ +}; +typedef struct VisualPluginInitMessage VisualPluginInitMessage; + +struct VisualPluginShowWindowMessage { + GRAPHICS_DEVICE GRAPHICS_DEVICE_NAME; /* Input */ + Rect drawRect; /* Input */ + OptionBits options; /* Input */ + Rect totalVisualizerRect; /* Input -- Added in 7.0 */ +}; +typedef struct VisualPluginShowWindowMessage VisualPluginShowWindowMessage; + +struct VisualPluginSetWindowMessage { + GRAPHICS_DEVICE GRAPHICS_DEVICE_NAME; /* Input */ + Rect drawRect; /* Input */ + OptionBits options; /* Input */ + Rect totalVisualizerRect; /* Input -- Added in 7.0 */ +}; +typedef struct VisualPluginSetWindowMessage VisualPluginSetWindowMessage; + +struct VisualPluginPlayMessage { + ITTrackInfoV1 * trackInfo; /* Input */ + ITStreamInfoV1 * streamInfo; /* Input */ + SInt32 volume; /* Input */ + + UInt32 bitRate; /* Input */ + + SoundComponentData oldSoundFormat; /* Input -- deprecated in 7.1 */ + ITTrackInfo * trackInfoUnicode; /* Input */ + ITStreamInfo * streamInfoUnicode; /* Input */ + AudioStreamBasicDescription audioFormat; /* Input -- added in 7.1 */ +}; +typedef struct VisualPluginPlayMessage VisualPluginPlayMessage; + +struct VisualPluginChangeTrackMessage { + ITTrackInfoV1 * trackInfo; /* Input */ + ITStreamInfoV1 * streamInfo; /* Input */ + ITTrackInfo * trackInfoUnicode; /* Input */ + ITStreamInfo * streamInfoUnicode; /* Input */ +}; +typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage; + +struct VisualPluginRenderMessage { + RenderVisualData * renderData; /* Input */ + UInt32 timeStampID; /* Input */ + UInt32 currentPositionInMS; /* Input -- added in 4.7 */ +}; +typedef struct VisualPluginRenderMessage VisualPluginRenderMessage; + +struct VisualPluginSetPositionMessage { + UInt32 positionTimeInMS; /* Input */ +}; +typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage; + +//#if TARGET_OS_MAC // uncommented by VizKit (20071216) to allow event handling by visualizer on Windows +struct VisualPluginEventMessage { + EventRecord * event; /* Input */ +}; +//#endif +typedef struct VisualPluginEventMessage VisualPluginEventMessage; + +enum { + kVisualDisplayDepthChanged = 1 << 0, /* the display's depth has changed */ + kVisualDisplayRectChanged = 1 << 1, /* the display's location changed */ + kVisualWindowMovedMoved = 1 << 2, /* the window has moved location */ + kVisualDisplayConfigChanged = 1 << 3 /* something else about the display changed */ +}; + +struct VisualPluginDisplayChangedMessage { + UInt32 flags; /* Input */ +}; +typedef struct VisualPluginDisplayChangedMessage VisualPluginDisplayChangedMessage; + +struct VisualPluginIdleMessage { + UInt32 timeBetweenDataInMS; /* Output -- added in 4.8 */ +}; +typedef struct VisualPluginIdleMessage VisualPluginIdleMessage; + +struct VisualPluginMessageInfo { + union { + VisualPluginInitMessage initMessage; + VisualPluginShowWindowMessage showWindowMessage; + VisualPluginSetWindowMessage setWindowMessage; + VisualPluginPlayMessage playMessage; + VisualPluginChangeTrackMessage changeTrackMessage; + VisualPluginRenderMessage renderMessage; + VisualPluginSetPositionMessage setPositionMessage; +//#if TARGET_OS_MAC // uncommented by VizKit (20071216) to allow event handling by visualizer on Windows + VisualPluginEventMessage eventMessage; +//#endif + VisualPluginDisplayChangedMessage displayChangedMessage; + VisualPluginIdleMessage idleMessage; + } u; +}; +typedef struct VisualPluginMessageInfo VisualPluginMessageInfo; + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ITUNESVISUALAPI_H_ */ diff --git a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h new file mode 100644 index 0000000000..79d85c9175 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h @@ -0,0 +1,129 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CocoaStringTexture.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + + +#import +#import + + +NSAutoreleasePool* temporaryAutoreleasePool; + + +/* CocoaStringTexture generates a string texture by means of Cocoa framework. */ + +/** + * Initializes the Cocoa graphics engine for the Carbon app. + * NSApplicationLoad() is called. Without call of NSApplicationLoad() Cocoa graphics will not be generated. + * The Cocoa documentation explains about NSApplicationLoad(): + * "Startup function to call when running Cocoa code from a Carbon application. + * You typically call this before calling other Cocoa code in a Plug-in loaded into a primarily Carbon application." + * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default. + */ +__attribute__((visibility("default"))) +OSStatus initCocoaForCarbonBundle(void); + +/** + * Returns the dimensions (width and height in pixels) of an ARGB bitmap of a styled string. + * @param stringValue The string value that should be converted into a texture. + * @param[out] bitmapWidth The width of the string (in pixels). + * @param[out] bitmapHeight The height of the string (in pixels). + * @param fontNameStr The name of the font. + * @param[in,out] fontSize The font size. On return the fontSize is set and with regard to the optional contraints maxPixelWidth and maxPixelHeight. + * @param red The red color component of the text font. + * @param green The green color component of the text font. + * @param blue The blue color component of the text font. + * @param maxPixelWidth The requested maximum width of the texture. If 0 the argument is ignored. + * @param maxPixelHeight The requested maximum height of the texture. If 0 the argument is ignored. + * @param alignment The horizontal alignment of the string. Possible values: left, center, right. + * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default. +*/ +__attribute__((visibility("default"))) +bool getDimensionsOfStringBitmap(CFStringRef stringValue, UInt32* bitmapWidth, UInt32* bitmapHeight, const char* const fontNameStr, double* fontSize, double red, double green, double blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, const char* const alignment); + +/** + * Writes ARGB pixel bitmap data into provided buffer. + * @param stringValue The string value that should be converted into a texture. + * @param bitmapWidth The width of the bitmap (in pixels). The size of the bitmap can be different from the exact size of the string so that it may fit for a power-of-2 texture. + * @param bitmapHeight The height of the bitmap (in pixels). The size of the bitmap can be different from the exact size of the string so that it may fit for a power-of-2 texture. + * @param fontNameStr The name of the font. + * @param fontSize The font size. + * @param red The red color component of the text font. + * @param green The green color component of the text font. + * @param blue The blue color component of the text font. + * @param maxPixelWidth The requested maximum width of the texture. If 0 the argument is ignored. + * @param maxPixelHeight The requested maximum height of the texture. If 0 the argument is ignored. + * @param alignment The horizontal alignment of the string. Possible values: left, center, right. + * @param[out] bitmapOut Pointer to pointer to the buffer into which the pixel bitmap data is written. + * @remarks The bitmapOut buffer is assumed to have allocated sufficient memory. To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default. +*/ +__attribute__((visibility("default"))) +bool getStringBitmapData(CFStringRef stringValue, UInt32 bitmapWidth, UInt32 bitmapHeight, const char* const fontNameStr, double fontSize, double red, double green, double blue, const char* const alignment, UInt32** bitmapOut); + +/** + * Returns a list of names of installed fonts. + * @return A list of names of installed fonts. + */ +__attribute__((visibility("default"))) +NSArray* getCocoaListOfFontNames(void); + +/** + * Answers the question whether a font is currently available. + * @param fontName The name of the font. + * @return noErr if font is available. + */ +__attribute__((visibility("default"))) +Boolean cocoaFontIsAvailable(NSString* fontName); + +/** + * Activates a font by loading a font resource. + * @param fontName The name of the font. + * @return Result of operation. + */ +__attribute__((visibility("default"))) +OSStatus activateCocoaFont(NSString* fontName); + +/** + * Prints a CFString to log. + * @param aString The string that is to be printed. + * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default. + */ +__attribute__((visibility("default"))) +void logCFString(CFStringRef aString); + +/** + * Releases the temporary autorelease pool. + */ +__attribute__((visibility("default"))) +void releaseTemporaryAutoreleasePool(void); diff --git a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m new file mode 100644 index 0000000000..849b8a0d63 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m @@ -0,0 +1,493 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: CocoaStringTexture.m + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#import "CocoaStringTexture.h" + +#import + +#include "VisualDispatch.h" + + +CGContextRef CreateBitmapContext( int inWidth, int inHeight, void ** outBitmap ); + +BOOL appLoadVal = NO; + + +OSStatus initCocoaForCarbonBundle() { + + if (appLoadVal == YES) { + return noErr; + } + + appLoadVal = NSApplicationLoad(); + if (appLoadVal == NO) { + NSLog (@"VizKit: NSApplicationLoad failed\n"); + } + + return noErr; +} + + +Boolean cocoaFontIsAvailable(NSString* fontName) { + + initCocoaForCarbonBundle(); + + Boolean result = false; + + NSString* fontNameStr; + NSArray* fontArray; + NSEnumerator* e; + + NSFontManager* fontManager = [NSFontManager sharedFontManager]; + + fontArray = [fontManager availableFonts]; + e = [fontArray objectEnumerator]; + while ((fontNameStr = [e nextObject])) { + if ([fontNameStr isEqualToString:fontName]) { + result = true; + } + /* NSLog(fontNameStr); */ + } + + return result; + +} + + +OSStatus activateCocoaFont(NSString* fontName) { + + initCocoaForCarbonBundle(); + + OSStatus status = noErr; + OSErr err = noErr; + + /* assume Font is available as resource of bundle */ + FSRef fsRef; + FSSpec fsSpec; + NSBundle* appBundle = [NSBundle bundleWithIdentifier:[NSString stringWithCString:getVisualPluginDomainIdentifier() encoding:NSUTF8StringEncoding]]; + NSString* fontsPath = [appBundle resourcePath]; + fontsPath = [fontsPath stringByAppendingString: @"/DEVROYE_.otf"]; + status = FSPathMakeRef((UInt8 *)[fontsPath UTF8String], &fsRef, NULL); + if (status == noErr) { + err = FSGetCatalogInfo(&fsRef, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL); + } + if (err == noErr) { + ATSFontContainerRef anATSFontContainerRef; + status = ATSFontActivateFromFileSpecification(&fsSpec, kATSFontContextLocal, kATSFontFormatUnspecified, NULL, kATSOptionFlagsDefault, &anATSFontContainerRef); + // ATSFontActivateFromFileReference + } else { + status = 1001; + } + + return status; + +} + + +bool getDimensionsOfStringBitmap(CFStringRef stringValue, UInt32* imageWidth, UInt32* imageHeight, const char* const fontNameStr, double* fontSize, double red, double green, double blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, const char* const alignment) { + + initCocoaForCarbonBundle(); + + if (!stringValue) { + return false; + } + + NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init]; + + NSString* aFontNameStr; + + NSColor* textColor; + NSColor* boxColor; + NSColor* borderColor; + NSSize marginSize; + NSSize frameSize; + + NSMutableAttributedString* theAttributedString; + NSMutableDictionary* fontAttribs; + + NSGraphicsContext* context = NULL; + + context = [NSGraphicsContext currentContext]; + [context saveGraphicsState]; + + aFontNameStr = [[NSString alloc] initWithCStringNoCopy:(char*)fontNameStr length:strlen(fontNameStr) freeWhenDone:NO]; + + fontAttribs = [NSMutableDictionary dictionary]; + [fontAttribs setObject: [NSFont fontWithName:aFontNameStr size: (float)*fontSize] forKey:NSFontAttributeName]; + [fontAttribs setObject: [NSColor colorWithDeviceRed:(float)red green:(float)green blue:(float)blue alpha:1.0f] forKey: NSForegroundColorAttributeName]; + + theAttributedString = [[NSMutableAttributedString alloc] initWithString:(NSString*)stringValue attributes:fontAttribs]; + + frameSize = [theAttributedString size]; + if (maxPixelWidth > 0 && maxPixelHeight > 0) { + while ((frameSize.width > (float)maxPixelWidth) || (frameSize.height > (float)maxPixelHeight)) { + *fontSize -= 0.1f; + [fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:(float)*fontSize] forKey:NSFontAttributeName]; + [theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])]; + frameSize = [theAttributedString size]; + } + } else if (maxPixelWidth > 0) { + while (frameSize.width > (float)maxPixelWidth) { + *fontSize -= 0.1f; + [fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:(float)*fontSize] forKey:NSFontAttributeName]; + [theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])]; + frameSize = [theAttributedString size]; + } + } else if (maxPixelHeight > 0) { + while (frameSize.height > (float)maxPixelHeight) { + *fontSize -= 0.1f; + [fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:(float)*fontSize] forKey:NSFontAttributeName]; + [theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])]; + frameSize = [theAttributedString size]; + } + } + + if (strcmp(alignment, "left") == 0) { + [theAttributedString setAlignment:NSLeftTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } else if (strcmp(alignment, "center") == 0) { + [theAttributedString setAlignment:NSCenterTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } else if (strcmp(alignment, "right") == 0) { + [theAttributedString setAlignment:NSRightTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } + + textColor = [NSColor colorWithDeviceRed:(float)red green:(float)green blue:(float)blue alpha:1.0f]; + boxColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f]; + borderColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f]; + + marginSize.width = 4.0f; + marginSize.height = 4.0f; + + frameSize = [theAttributedString size]; + frameSize.width += marginSize.width * 2.0f; + frameSize.height += marginSize.height * 2.0f; + + *imageWidth = (UInt16)frameSize.width; + *imageHeight = (UInt16)frameSize.height; + + [theAttributedString release]; + + [aFontNameStr release]; + + [context restoreGraphicsState]; + + [localPool release]; + + return true; +} + + +bool getStringBitmapData(CFStringRef stringValue, UInt32 bitmapWidth, UInt32 bitmapHeight, const char* const fontNameStr, double fontSize, double red, double green, double blue, const char* const alignment, UInt32** bitmapOut) { + + initCocoaForCarbonBundle(); + + NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init]; + + bool success = true; + + NSString* aFontNameStr; + + NSColor* textColor; + NSColor* boxColor; + NSColor* borderColor; + NSSize frameSize; + + NSMutableAttributedString* theAttributedString; + NSMutableDictionary* fontAttribs; + + NSImage* image; + NSBitmapImageRep* bitmap; + unsigned int bytesPerRow, bitsPerPixel, i; + UInt32* from; + UInt32* to; + BOOL hasAlpha; + NSGraphicsContext* context = NULL; + float imageWidth = 0.0f; + float imageHeight = 0.0f; + + context = [NSGraphicsContext currentContext]; + [context saveGraphicsState]; + + aFontNameStr = [[NSString alloc] initWithCStringNoCopy:(char*)fontNameStr length:strlen(fontNameStr) freeWhenDone:NO]; + + fontAttribs = [NSMutableDictionary dictionary]; + [fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:(float)fontSize] forKey:NSFontAttributeName]; + [fontAttribs setObject: [NSColor colorWithDeviceRed:(float)red green:(float)green blue:(float)blue alpha:1.0f] forKey:NSForegroundColorAttributeName]; + + /* + //colorWithAlphaComponent + // CGImageCreate + // kCGImageAlphaPremultipliedFirst + // CGContextSetShouldSmoothFonts + + // http: //www.idevgames.com/forum/archive/index.php/t-5750.html (CGImageCreate) + + //http: //www.idevgames.com/forum/archive/index.php/t-7560.html + */ + + theAttributedString = [[NSMutableAttributedString alloc] initWithString:(NSString*)stringValue attributes:fontAttribs]; + + if (strcmp(alignment, "left") == 0) { + [theAttributedString setAlignment:NSLeftTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } else if (strcmp(alignment, "center") == 0) { + [theAttributedString setAlignment:NSCenterTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } else if (strcmp(alignment, "right") == 0) { + [theAttributedString setAlignment:NSRightTextAlignment range:NSMakeRange(0, [theAttributedString length])]; + } + + textColor = [NSColor colorWithDeviceRed:(float)red green:(float)green blue:(float)blue alpha:1.0f]; + + boxColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f]; + borderColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f]; + + frameSize.width = (float)bitmapWidth; + frameSize.height = (float)bitmapHeight; + + image = [[NSImage alloc] initWithSize:frameSize]; + + [image setCacheMode:NSImageCacheNever]; + +NS_DURING + [image lockFocus]; +NS_HANDLER + NSLog(@"Exception thrown in createStringBitmap (NSImage lockFocus)"); + [image release]; + [theAttributedString release]; + [aFontNameStr release]; + [context restoreGraphicsState]; + [localPool release]; + return 1002; +NS_ENDHANDLER + + /* + [boxColor set]; + NSRectFill(NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height)); + + [borderColor set]; + NSFrameRect(NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height)); + [textColor set]; + */ + + imageWidth = [theAttributedString size].width; + imageHeight = [theAttributedString size].height; + [theAttributedString drawInRect:NSMakeRect(0.0f, 0.0f, imageWidth, imageHeight)]; + + bitmap = [[NSBitmapImageRep alloc] initWithFocusedViewRect:NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height)]; + + [image unlockFocus]; + + /* colorSpaceName:NSCalibratedRGBColorSpace, NSDeviceRGBColorSpace */ + bytesPerRow = [bitmap bytesPerRow]; + bitsPerPixel = [bitmap bitsPerPixel]; + hasAlpha = [bitmap hasAlpha]; + /* flip image */ + from = (UInt32*)[bitmap bitmapData]; + to = *bitmapOut; + for (i = 0; i < bitmapHeight; i++) { + memcpy((to + (bytesPerRow / 4) * (bitmapHeight - i - 1)), (from + (bytesPerRow / 4) * i), bytesPerRow); + } + + [bitmap release]; + [image release]; + + [theAttributedString release]; + + [aFontNameStr release]; + + [context restoreGraphicsState]; + + [localPool release]; + + return success; +} + + +void logCFString(CFStringRef aString) { + initCocoaForCarbonBundle(); + NSLog(@"\"%@\"", (NSString*)aString); +} + + +CGContextRef CreateBitmapContext( int inWidth, int inHeight, void ** outBitmap ) +{ + initCocoaForCarbonBundle(); + + CGContextRef context = NULL; + CGColorSpaceRef colorSpace; + void * bitmapData; + int bitmapByteCount; + int bitmapBytesPerRow; + + /* each pixel is represented by four bytes + // (8 bits each of R, G, B, and alpha) + */ + bitmapBytesPerRow = (inWidth * 4); + bitmapByteCount = (bitmapBytesPerRow * inHeight); + + /* create an RGB color space */ + colorSpace = CGColorSpaceCreateDeviceRGB(); + + /* create the bitmap */ + bitmapData = malloc( bitmapByteCount ); + if( bitmapData != NULL ) + { + + /* create the context */ + context = CGBitmapContextCreate( bitmapData, + inWidth, + inHeight, + 8, /* bits per component */ + bitmapBytesPerRow, + colorSpace, + kCGImageAlphaPremultipliedLast); + + if( context != NULL ) + { + /* Return the bitmap to the caller */ + /* so it can later be freed */ + if( outBitmap != NULL ) + { + *outBitmap = bitmapData; + } + } + else + { + /* the context couldnt be created for some reason, + and we have no use for the bitmap without the context */ + free( bitmapData ); + } + } + + /* the context retains the color space, so we can release it */ + CGColorSpaceRelease( colorSpace ); + + return context; +} + + +NSComparisonResult fontNameListCompare(id obj1, id obj2, void *context); + +NSComparisonResult fontNameListCompare(id obj1, id obj2, void *context) { + /* Do the comparison here */ + /* (CFStringRef)CFDictionaryGetValue((CFDictionaryRef)CFArrayGetValueAtIndex(fontFamilyMembersArray, k), CFSTR("fontFamilyMemberName")); */ + return [(NSString*)[obj1 objectForKey:@"fontFamilyName"] compare:[obj2 objectForKey:@"fontFamilyName"]]; +} + + +NSArray* getCocoaListOfFontNames() { + + initCocoaForCarbonBundle(); + + temporaryAutoreleasePool = [[NSAutoreleasePool alloc] init]; + + NSString* fontFamilyName = nil; + NSArray* fontFamilyArray = nil; + NSEnumerator* fontFamilyArrayEnumerator = nil; + NSMutableArray* fontArray = nil; + NSMutableArray* fontFamilyMembersArray = nil; + NSArray* fontFamilyMembers = nil; + NSMutableDictionary* fontFamilyMembersDict = nil; + NSString* fontFamilyMemberFontName = nil; + NSString* fontFamilyMemberAttribute = nil; + NSMutableDictionary* fontFamilyDict = nil; + NSFontManager* fontManager = nil; + unsigned i = 0; + unsigned fontFamilyMembersCount = 0; + + fontArray = [[NSMutableArray alloc] init]; + + fontManager = [NSFontManager sharedFontManager]; + + fontFamilyArray = [fontManager availableFontFamilies]; + + fontFamilyArrayEnumerator = [fontFamilyArray objectEnumerator]; + while ((fontFamilyName = [fontFamilyArrayEnumerator nextObject])) { + + fontFamilyDict = [[NSMutableDictionary alloc] initWithCapacity:0]; + [fontFamilyDict setObject:fontFamilyName forKey:@"fontFamilyName"]; + + fontFamilyMembers = [[NSFontManager sharedFontManager] availableMembersOfFontFamily:fontFamilyName]; + + fontFamilyMembersCount = 0; + if (fontFamilyMembers != nil) { + fontFamilyMembersCount = [fontFamilyMembers count]; + } + + if (fontFamilyMembersCount > 0) { + + fontFamilyMembersArray = [[NSMutableArray alloc] init]; + + for (i = 0; i < fontFamilyMembersCount; i++) { + fontFamilyMembersDict = [[NSMutableDictionary alloc] initWithCapacity:0]; + + fontFamilyMemberFontName = [[NSString alloc] initWithString:[[fontFamilyMembers objectAtIndex:i] objectAtIndex:0]]; + fontFamilyMemberAttribute = [[NSString alloc] initWithString:[[fontFamilyMembers objectAtIndex:i] objectAtIndex:1]]; + + [fontFamilyMembersDict setObject:fontFamilyMemberFontName forKey:@"fontFamilyMemberName"]; + [fontFamilyMembersDict setObject:fontFamilyMemberAttribute forKey:@"fontFamilyMemberAttribute"]; + [fontFamilyMembersArray addObject:fontFamilyMembersDict]; + + [fontFamilyMemberFontName release]; + [fontFamilyMemberAttribute release]; + + [fontFamilyMembersDict release]; + } + [fontFamilyDict setObject:fontFamilyMembersArray forKey:@"fontFamilyMembersArray"]; + + [fontFamilyMembersArray release]; + + } else { + [fontFamilyDict setObject:nil forKey:@"fontFamilyMembersArray"]; + } + + [fontArray addObject:fontFamilyDict]; + + [fontFamilyDict release]; + + } + + [fontArray sortUsingFunction:fontNameListCompare context:nil]; + + [fontArray autorelease]; + + return fontArray; +} + + +void releaseTemporaryAutoreleasePool() { + initCocoaForCarbonBundle(); + + [temporaryAutoreleasePool release]; + temporaryAutoreleasePool = nil; +} diff --git a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp new file mode 100644 index 0000000000..16839c1d50 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp @@ -0,0 +1,541 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: OptionsDialog.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "OptionsDialog.h" +#include "VisualErrorHandling.h" +#include "VisualDispatch.h" +#include "VisualConfiguration.h" +#include "VisualDataStore.h" +#include "VisualPreferences.h" +#include "VisualNotification.h" +#include "VisualMainAction.h" +#include "VisualFontManager.h" +#include "VisualPlayerState.h" + + +using namespace VizKit; + + + +OptionsDialog* OptionsDialog::theOptionsDialog = NULL; // singleton + + +const OSType OptionsDialog::signatureOfOptionsDialog = 'vizK'; + +const SInt32 OptionsDialog::kFontPopUpControlId = 10; +const ControlID OptionsDialog::kFontPopUpControlID = {signatureOfOptionsDialog, kFontPopUpControlId}; + +const SInt32 OptionsDialog::kCheckForUpdateCheckboxId = 11; +const ControlID OptionsDialog::kCheckForUpdateCheckboxControlID = {signatureOfOptionsDialog, kCheckForUpdateCheckboxId}; + +const SInt32 OptionsDialog::tabControlId = 1; +const SInt32 OptionsDialog::aboutTabPaneId = 224; +const SInt32 OptionsDialog::optionsTabPaneId = 225; +const SInt32 OptionsDialog::updateTabPaneId = 226; +const ControlID OptionsDialog::tabControlID = {signatureOfOptionsDialog, tabControlId}; + +const EventTypeSpec OptionsDialog::controlHitEvent = {kEventClassControl, kEventControlHit}; +const EventTypeSpec OptionsDialog::windowCloseEvent = {kEventClassWindow, kEventWindowClose}; +const EventTypeSpec OptionsDialog::windowDragStarted = {kEventClassWindow, kEventWindowDragStarted}; +const EventTypeSpec OptionsDialog::windowDragCompleted = {kEventClassWindow, kEventWindowDragCompleted}; + + +OSStatus OptionsDialog::optionsDialogControlHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData) { + theOptionsDialog = OptionsDialog::getInstance(); + theOptionsDialog->handleEvent(inRef, inEvent, userData); + return noErr; +} + + +OSStatus OptionsDialog::optionsDialogWindowHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData) { + theOptionsDialog = OptionsDialog::getInstance(); + theOptionsDialog->handleEvent(inRef, inEvent, userData); + return noErr; +} + + +void OptionsDialog::dispose() { + + OSStatus err = noErr; + + if (theOptionsDialog != NULL) { + + if (theOptionsDialog->fontMenu != NULL) { + VisualFontManager::removeFontMenuData(theOptionsDialog->fontMenu); + DisposeMenu(theOptionsDialog->fontMenu); + theOptionsDialog->fontMenu = NULL; + } + + if (theOptionsDialog->optionsDialogWindow != NULL) { + err = RemoveEventHandler(theOptionsDialog->windowEventsHandlerRef); + err = RemoveEventHandler(theOptionsDialog->windowControlEventsHandlerRef); + DisposeEventHandlerUPP(OptionsDialog::optionsDialogControlHandler); + DisposeEventHandlerUPP(OptionsDialog::optionsDialogWindowHandler); + DisposeWindow(theOptionsDialog->optionsDialogWindow); + theOptionsDialog->optionsDialogWindow = NULL; + } + delete theOptionsDialog; + theOptionsDialog = NULL; + } + +} + + +OptionsDialog::OptionsDialog() { + + optionsDialogWindow = NULL; + + isDisplayedNow = false; + + tabPaneVector.push_back(aboutTabPaneId); + tabPaneVector.push_back(optionsTabPaneId); + tabPaneVector.push_back(updateTabPaneId); + + fontMenu = NULL; + + selectedFontSubMenu = NULL; + + trackInfoFontSubMenuSelectedIdx = -1; + trackInfoFontMenuSelectedIdx = -1; + + doGetFontList = true; + + windowEventsHandlerRef = NULL; + windowControlEventsHandlerRef = NULL; + + windowAlphaValue = 0.9f; + windowAlphaMoveValue = 0.75f; + + VisualFontManager::addFontBaseChangedObserver(OptionsDialog::fontBaseChanged); + +} + + +OptionsDialog::~OptionsDialog() { + tabPaneVector.clear(); + VisualFontManager::removeFontBaseChangedObserver(OptionsDialog::fontBaseChanged); +} + + +OptionsDialog* OptionsDialog::getInstance() { + if (theOptionsDialog == NULL) { + theOptionsDialog = new OptionsDialog; + } + return theOptionsDialog; +} + + +void OptionsDialog::show() { + + OSStatus err = noErr; + bool success = false; + + int aLastTabIndex = VisualPreferences::getValue(VisualPreferences::kPreferencePane); + if (aLastTabIndex == 0) { + aLastTabIndex = 1; + } + + if (theOptionsDialog->optionsDialogWindow == NULL) { + + success = this->loadWindowFromResource(); + if (!success) { + return; + } + + success = this->installWindowEventHandler(); + if (!success) { + return; + } + + } + + if (this->doGetFontList) { + + success = this->populateFontMenu(); + if (!success) { + return; + } + + } + + theOptionsDialog->checkTrackInfoFontMenuSelection(); + + // Check For Update checkbox control + ControlRef checkForUpdateControl = NULL; + err = GetControlByID(theOptionsDialog->optionsDialogWindow, &kCheckForUpdateCheckboxControlID, &checkForUpdateControl); + if ((err != noErr) || (!checkForUpdateControl)) { + char errLog[256]; + sprintf(errLog, "GetControlByID returned no checkForUpdateControl (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } else { + bool doCheckForUpdate = VisualPreferences::getValue(VisualPreferences::kCheckForUpdate); + if (doCheckForUpdate == true) { + SetControl32BitValue(checkForUpdateControl, (SInt32)1); + } else { + SetControl32BitValue(checkForUpdateControl, (SInt32)0); + } + } + + // Tab control + ControlRef tabControl = NULL; + err = GetControlByID(theOptionsDialog->optionsDialogWindow, &theOptionsDialog->tabControlID, &tabControl); + if ((err != noErr) || (!tabControl)) { + char errLog[256]; + sprintf(errLog, "GetControlByID returned no tabControl (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } else { + SetControl32BitValue(tabControl, aLastTabIndex); + } + this->showSelectedPaneOfTabControl(); + + ShowWindow(theOptionsDialog->optionsDialogWindow); + SelectWindow(theOptionsDialog->optionsDialogWindow); + + this->isDisplayedNow = true; + +} + + +void OptionsDialog::handleEvent(EventHandlerCallRef inRef, EventRef inEvent, void* userData) { + + UInt32 eventClass; + UInt32 eventKind; + + eventClass = GetEventClass(inEvent); + eventKind = GetEventKind(inEvent); + + OSStatus status; + + switch (eventClass) { + + case kEventClassWindow: + // window event + if (eventKind == kEventWindowClose) { + HideWindow(theOptionsDialog->optionsDialogWindow); + this->isDisplayedNow = false; + } else if (eventKind == kEventWindowDragStarted) { + status = SetWindowAlpha(theOptionsDialog->optionsDialogWindow, theOptionsDialog->windowAlphaMoveValue); + if (status != noErr) { + char errLog[256]; + sprintf(errLog, "SetWindowAlpha failed (status: %ld) in file: %s (line: %d) [%s])", status, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } else if (eventKind == kEventWindowDragCompleted) { + status = SetWindowAlpha(theOptionsDialog->optionsDialogWindow, theOptionsDialog->windowAlphaValue); + if (status != noErr) { + char errLog[256]; + sprintf(errLog, "SetWindowAlpha failed (status: %ld) in file: %s (line: %d) [%s])", status, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } + break; + + case kEventClassControl: + { + // control event + ControlID controlID; + ControlRef control = NULL; + GetEventParameter(inEvent, kEventParamDirectObject, typeControlRef, NULL, sizeof(ControlRef), NULL, &control); + GetControlID(control, &controlID); + + switch(controlID.id) { + + case tabControlId: + theOptionsDialog->showSelectedPaneOfTabControl(); + break; + + case kFontPopUpControlId: + { + SInt32 selectedMenuItem = GetControl32BitValue(control); + + theOptionsDialog->uncheckTrackInfoFontMenuSelection(); + + MenuRef selectedSubMenu = NULL; + MenuItemIndex selectedSubMenuItem = 0; + char* selectedTrackInfoFontName = NULL; + VisualFontManager::getSelectedFontName(theOptionsDialog->fontMenu, selectedMenuItem, selectedSubMenu, selectedSubMenuItem, &selectedTrackInfoFontName); + + theOptionsDialog->setTrackInfoFontMenuSelectedIdx(selectedMenuItem); + if (selectedSubMenu) { + theOptionsDialog->setTrackInfoFontSubMenuSelectedIdx(selectedSubMenuItem, selectedSubMenu); + } + + VisualPreferences::setValue(VisualPreferences::kTrackInfoFont, selectedTrackInfoFontName); + VisualPreferences::storeValues(); + free(selectedTrackInfoFontName); + + theOptionsDialog->checkTrackInfoFontMenuSelection(); + + VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance(); + if (theVisualPlayerState->getPlayerShowMode() & kIsShowing) { + VisualMainAction::postTrackInfoOfCurrentAudioData(); + } + + } + + break; + + case kCheckForUpdateCheckboxId: + { + SInt32 doCheckForUpdate = GetControl32BitValue(control); + + if (doCheckForUpdate) { + VisualPreferences::setValue(VisualPreferences::kCheckForUpdate, true); + } else { + VisualPreferences::setValue(VisualPreferences::kCheckForUpdate, false); + } + VisualPreferences::storeValues(); + } + break; + } + } + break; + } +} + + +void OptionsDialog::fontBaseChanged() { + theOptionsDialog = OptionsDialog::getInstance(); + if (theOptionsDialog->isDisplayedNow) { + bool success = theOptionsDialog->populateFontMenu(); + if (!success) { + return; + } + theOptionsDialog->checkTrackInfoFontMenuSelection(); + } else { + theOptionsDialog->doGetFontList = true; + } +} + + +bool OptionsDialog::loadWindowFromResource() { + bool success = false; + OSStatus err = noErr; + IBNibRef nibRef; + CFStringRef pluginName; + pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingASCII); + CFBundleRef thePlugin = CFBundleGetBundleWithIdentifier(pluginName); + if (!thePlugin) { + char errLog[256]; + sprintf(errLog, "CFBundleGetBundleWithIdentifier returned NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + err = CreateNibReferenceWithCFBundle(thePlugin, CFSTR("VisualOptions"), &nibRef); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "CreateNibReferenceWithCFBundle failed (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + err = CreateWindowFromNib(nibRef, CFSTR("OptionsDialog"), &(this->optionsDialogWindow)); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "CreateWindowFromNib failed (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + DisposeNibReference(nibRef); + CFRelease(pluginName); + + err = SetWindowAlpha(this->optionsDialogWindow, this->windowAlphaValue); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "SetWindowAlpha failed (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + + success = true; + return success; +} + + +bool OptionsDialog::installWindowEventHandler() { + + bool success = false; + OSStatus err = noErr; + + EventHandlerUPP inEventHandler = NewEventHandlerUPP(OptionsDialog::optionsDialogWindowHandler); + UInt32 inNumTypes = 3; + const EventTypeSpec inEventTypeSpecList[] = {windowCloseEvent, windowDragStarted, windowDragCompleted}; + void* inUserData = NULL; + + err = InstallWindowEventHandler(this->optionsDialogWindow, inEventHandler, inNumTypes, inEventTypeSpecList, inUserData, &(this->windowEventsHandlerRef)); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "InstallWindowEventHandler failed for window events (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + + inEventHandler = NewEventHandlerUPP(OptionsDialog::optionsDialogControlHandler); + const EventTypeSpec* inEventTypeSpec = &controlHitEvent; + inNumTypes = 1; + + err = InstallWindowEventHandler(this->optionsDialogWindow, inEventHandler, inNumTypes, inEventTypeSpec, inUserData, &(this->windowControlEventsHandlerRef)); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "InstallWindowEventHandler failed for control events (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + + success = true; + return success; +} + + +bool OptionsDialog::populateFontMenu() { + bool success = false; + + if (this->fontMenu != NULL) { + VisualFontManager::removeFontMenuData(this->fontMenu); + DisposeMenu(this->fontMenu); + this->fontMenu = NULL; + } + MenuAttributes fontMenuAttributes = NULL; + MenuID fontMenuID = 0; + OSStatus err = CreateNewMenu(fontMenuID, fontMenuAttributes, &(this->fontMenu)); + if (err != noErr) { + char errLog[256]; + sprintf(errLog, "CreateNewMenu failed (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return false; + } + + char currTrackInfoFont[512]; + VisualPreferences::getValue(VisualPreferences::kTrackInfoFont, currTrackInfoFont); + if (VisualFontManager::fontIsAvailableAsVisualizerResource(currTrackInfoFont) == true) { + VisualFontManager::removeFontBaseChangedObserver(OptionsDialog::fontBaseChanged); + VisualFontActivationResult result = VisualFontManager::activateFont(currTrackInfoFont); + VisualFontManager::addFontBaseChangedObserver(OptionsDialog::fontBaseChanged); + if (result == fontActivationUnableToActivateFont) { + VisualPreferences::getValue(VisualPreferences::kFallbackSystemFont, currTrackInfoFont); + } + } + CFStringRef preferredTrackInfoFont = CFStringCreateWithCString(kCFAllocatorDefault, currTrackInfoFont, kCFStringEncodingUTF8); + + CFIndex numberOfFontNames = 0; + VisualFontManager::populateFontMenu(this->fontMenu, numberOfFontNames, preferredTrackInfoFont, this->trackInfoFontMenuSelectedIdx, this->trackInfoFontSubMenuSelectedIdx, &(this->selectedFontSubMenu)); + + ControlRef fontPopUpControl = NULL; + err = GetControlByID(this->optionsDialogWindow, &kFontPopUpControlID, &fontPopUpControl); + if ((err != noErr) || (!fontPopUpControl)) { + char errLog[256]; + sprintf(errLog, "GetControlByID returned no fontPopUpControl (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return success; + } + SetControlPopupMenuHandle(fontPopUpControl, this->fontMenu); + SetControl32BitMaximum(fontPopUpControl, numberOfFontNames); + + this->doGetFontList = false; + + success = true; + return success; +} + + +void OptionsDialog::showSelectedPaneOfTabControl() { + OSStatus err = noErr; + SInt16 selectedPaneIdx = -1; + ControlID controlID; + + controlID.signature = this->signatureOfOptionsDialog; + + ControlRef tabControl = NULL; + err = GetControlByID(this->optionsDialogWindow, &(this->tabControlID), &tabControl); + if ((err != noErr) || (!tabControl)) { + char errLog[256]; + sprintf(errLog, "GetControlByID returned no tabControl (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return; + } + selectedPaneIdx = GetControlValue(tabControl); + SInt32 newValue = GetControl32BitValue(tabControl) - GetControl32BitMinimum(tabControl) + 1; + + HIViewRef newTabItemPane; + OSStatus status = noErr; + status = HIViewGetIndexedSubview(tabControl, newValue, &newTabItemPane); + + HIViewRef tabItemPane; + for (tabItemPane = HIViewGetLastSubview(tabControl); tabItemPane != NULL; tabItemPane = HIViewGetPreviousView(tabItemPane)) + HIViewSetVisible(tabItemPane, (tabItemPane == newTabItemPane)); + + VisualPreferences::setValue(VisualPreferences::kPreferencePane, selectedPaneIdx); + VisualPreferences::storeValues(); + +} + + +void OptionsDialog::setTrackInfoFontMenuSelectedIdx(UInt32 selectedIdx) { + this->trackInfoFontMenuSelectedIdx = selectedIdx; +} + + +void OptionsDialog::setTrackInfoFontSubMenuSelectedIdx(UInt32 selectedIdx, MenuRef subMenuRef) { + this->trackInfoFontSubMenuSelectedIdx = selectedIdx; + this->selectedFontSubMenu = subMenuRef; +} + + +void OptionsDialog::uncheckTrackInfoFontMenuSelection() { + CheckMenuItem(this->fontMenu, this->trackInfoFontMenuSelectedIdx, false); + if (this->trackInfoFontSubMenuSelectedIdx > -1) { + CheckMenuItem(this->selectedFontSubMenu, this->trackInfoFontSubMenuSelectedIdx, false); + } + this->trackInfoFontMenuSelectedIdx = -1; + this->trackInfoFontSubMenuSelectedIdx = -1; + this->selectedFontSubMenu = NULL; +} + + +void OptionsDialog::checkTrackInfoFontMenuSelection() { + if (this->trackInfoFontSubMenuSelectedIdx > -1) { + SetItemMark(this->fontMenu, this->trackInfoFontMenuSelectedIdx, '-'); + CheckMenuItem(this->selectedFontSubMenu, this->trackInfoFontSubMenuSelectedIdx, true); + } else { + CheckMenuItem(this->fontMenu, this->trackInfoFontMenuSelectedIdx, true); + } + ControlRef fontPopUpControl = NULL; + OSStatus err = GetControlByID(this->optionsDialogWindow, &kFontPopUpControlID, &fontPopUpControl); + if ((err != noErr) || (!fontPopUpControl)) { + char errLog[256]; + sprintf(errLog, "GetControlByID returned no fontPopUpControl (err: %ld) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + return; + } + SetControl32BitValue(fontPopUpControl, this->trackInfoFontMenuSelectedIdx); +} diff --git a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h new file mode 100644 index 0000000000..d203a643de --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h @@ -0,0 +1,262 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: OptionsDialog.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef OptionsDialog_h +#define OptionsDialog_h + +#include + +#include // UI data types + + +namespace VizKit { + + /** + * UI (Mac): Shows a configuration dialog when selecting visualizer and choosing Options... menu entry in iTunes. + */ + class OptionsDialog { + + public: + + /** + * Returns a pointer to the instance. + */ + static OptionsDialog* getInstance(void); + + /** + * Displays the options dialog on screen. + * If the options dialog is hidden it is revealed. Otherwise it is constructed. + */ + void show(void); + + /** + * Disposes the allocated resources of the options dialog. + */ + static void dispose(void); + + /** + * Handles an event that was dispatched by installed EventHandler. + * @param inRef Reference to EventHandlerCallRef. + * @param inEvent Reference to event. + * @param userData Additional data. + */ + void handleEvent(EventHandlerCallRef inRef, EventRef inEvent, void* userData); + + /** + * Callback which gets called on changes of the font base. + */ + static void fontBaseChanged(void); + + private: + + /** The constructor. OptionsDialog is a singleton class. The constructor is private. New instance of class can only be created internally. */ + OptionsDialog(); + + /** The destructor. OptionsDialog is a singleton class. The destructor is private. Instance of class can only be destructed internally. */ + ~OptionsDialog(); + + /** + * Copy constructor. + * @param other Another OptionsDialog. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + OptionsDialog(const OptionsDialog& other); + + /** + * Assignment operator. + * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern. + */ + OptionsDialog& operator=(const OptionsDialog& other); + + /** + * Callback for control actions. + * @param inRef Reference of type EventHandlerCallRef. + * @param inEvent Type of event. + * @param userData Optional additional user data. + */ + static OSStatus optionsDialogControlHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData); + + /** + * Callback for window actions. + * @param inRef Reference of type EventHandlerCallRef. + * @param inEvent Type of event. + * @param userData Optional additional user data. + */ + static OSStatus optionsDialogWindowHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData); + + /** + * Loads the window from the nib resource file. + * @return True on success, false on failure. + */ + bool loadWindowFromResource(void); + + /** + * Installs the event handler callbacks for the dialog. + * @return True on success, false on failure. + */ + bool installWindowEventHandler(void); + + /** + * Populates the font menu with the list of names of currently available fonts. + * @return True on success, false on failure. + */ + bool populateFontMenu(void); + + /** + * Removes the additonal data of the font menu. + */ + void removeFontMenuData(void); + + /** + * If true, the dialog window is currently displayed. + */ + bool isDisplayedNow; + + /** + * If true, the font list is created new at the next show event. + */ + bool doGetFontList; + + /** + * Shows the selected pane of the tab control (and hides the others). + * Unfortunately tab controls have to be made visible and invisible programmatically. + */ + void showSelectedPaneOfTabControl(void); + + /** OptionsDialog is a singleton class. Pointer to private instance is handled internally. */ + static OptionsDialog* theOptionsDialog; + + /** The four-char-code for identifying controls on this window. */ + static const OSType signatureOfOptionsDialog; + + /** The id of the tab control. */ + static const SInt32 tabControlId; + + /** The ControlID of the tab control. */ + static const ControlID tabControlID; + + /** The id of the tab pane that display about information. */ + static const SInt32 aboutTabPaneId; + + /** The id of the tab pane where font options can be set. */ + static const SInt32 optionsTabPaneId; + + /** The id of the tab pane where check for update on startup can be set. */ + static const SInt32 updateTabPaneId; + + /** The TabPaneVector is a vector of all panes of the tab control. */ + typedef std::vector TabPaneVector; + + /** The TabPaneVectorIterator is an iterator of the TabPaneVector. */ + typedef TabPaneVector::iterator TabPaneVectorIterator; + + /** A vector that contains the id's of all panes of the tab control. */ + TabPaneVector tabPaneVector; + + /** Reference of events handler for window events. */ + EventHandlerRef windowEventsHandlerRef; + + /** Reference of events handler for window control events. */ + EventHandlerRef windowControlEventsHandlerRef; + + /** Event type definition of control hit event. */ + static const EventTypeSpec controlHitEvent; + + /** Event type definition of window close event. */ + static const EventTypeSpec windowCloseEvent; + + /** Event type definition of window drag started event. */ + static const EventTypeSpec windowDragStarted; + + /** Event type definition of window drag completed event. */ + static const EventTypeSpec windowDragCompleted; + + /** The window of the dialog. */ + WindowRef optionsDialogWindow; + + /** The numeric id of the font pop up menu. */ + static const SInt32 kFontPopUpControlId; + + /** The ControlID of the font pop up menu. */ + static const ControlID kFontPopUpControlID; + + /** The numeric id of the check for update checkbox. */ + static const SInt32 kCheckForUpdateCheckboxId; + + /** The ControlID of the check for update checkbox. */ + static const ControlID kCheckForUpdateCheckboxControlID; + + /** Menu with font names. */ + MenuRef fontMenu; + + /** Sub menu of font. */ + MenuRef selectedFontSubMenu; + + /** + * Sets the selected font menu. + * @param selectedIdx The selected font menu. + */ + void setTrackInfoFontMenuSelectedIdx(UInt32 selectedIdx); + + /** + * Sets the selected font sub menu. + * @param selectedIdx The selected font sub menu. + * @param subMenuRef Reference of the font sub menu. + */ + void setTrackInfoFontSubMenuSelectedIdx(UInt32 selectedIdx, MenuRef subMenuRef); + + /** Unchecks the currently selected menu item of the font menu. */ + void uncheckTrackInfoFontMenuSelection(void); + + /** Selects the currently selected menu item of the font menu. */ + void checkTrackInfoFontMenuSelection(void); + + /** The selected index of the font submenu. */ + SInt32 trackInfoFontSubMenuSelectedIdx; + + /** The selected index of the font menu. */ + SInt32 trackInfoFontMenuSelectedIdx; + + /** The alpha (opacity) value of the window. */ + float windowAlphaValue; + + /** The alpha (opacity) value of the window when moved. */ + float windowAlphaMoveValue; + + }; + +} + +#endif /* OptionsDialog_h */ diff --git a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp new file mode 100644 index 0000000000..42b0a2d459 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp @@ -0,0 +1,63 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAppleScript.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualAppleScript.h" +#include "VisualFile.h" +#include "VisualString.h" + + +using namespace VizKit; + + +bool VisualAppleScript::executeScriptFile(VisualFile& scriptFile) { + + bool success = false; + + VisualString scriptFilePath; + scriptFile.getFilePath(scriptFilePath); + const char* const scriptPathCStr = scriptFilePath.getUtf8Representation(); + + size_t scriptPathCStrLen = strlen(scriptPathCStr); + if (scriptPathCStrLen > 0) { + char* script = (char*)malloc(scriptPathCStrLen + strlen("osascript ") + 3); + sprintf(script, "osascript \"%s\"", scriptPathCStr); + system(script); + free(script); + success = true; + } + + return success; +} + diff --git a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h new file mode 100644 index 0000000000..8a34e86624 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h @@ -0,0 +1,72 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualAppleScript.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#ifndef VisualAppleScript_h +#define VisualAppleScript_h + + +#include "VisualTypes.h" + + +namespace VizKit { + + class VisualFile; // Forward declaration (to avoid include of header file). + + /** + * Interaction with AppleScript. + */ + class VisualAppleScript { + + public: + + /** + * Executes a script file. + * @param scriptFile The script file. + */ + static bool executeScriptFile(VisualFile& scriptFile); + + private: + + /** The constructor. VisualAppleScript is a collection of static methods. Class does not need any instances. Constructor is private and not implemented. */ + VisualAppleScript(); + + /** The destructor. VisualAppleScript is a collection of static methods. Class does not need any instances. Destructor is private and not implemented. */ + ~VisualAppleScript(); + + }; + +} + +#endif /* VisualAppleScript_h */ diff --git a/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript b/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript new file mode 100644 index 0000000000..91e3caf83b --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript @@ -0,0 +1,21 @@ +-- Write lyrics of current audio track into file. +-- Simply executing script with osascript did not work with Mac OS X 10.4 +-- (directing output into file via command line shell did not work with right-to-left languages). +-- In case the script reports something like: Expected expression but found unknown token. (-2741), +-- chances are that Xcode messed up the UTF-8 encoding of the file +-- (we need left and right pointing double angle quotation mark around "class utf8"). +-- Best is to edit script file getLyrics.applescript in Scripteditor application of AppleScript. + +try + tell application "iTunes" + set lyricsString to lyrics of current track as Unicode text + set f to (path to temporary items from user domain as text) & "VizKitLyrics.tmp.txt" + -- ~/Library/Caches/TemporaryItems/ + open for access file f with write permission + write lyricsString to file f as �class utf8� + close access file f + end tell +on error errMsg number errNr + log errNr + log errMsg +end try \ No newline at end of file diff --git a/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp b/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp new file mode 100644 index 0000000000..5aa1ca0dec --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp @@ -0,0 +1,95 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: AboutPane.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "AboutPane.h" +#include "VisualDataStore.h" +#include "VisualPropertySheet.h" +#include "VisualPreferences.h" + + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + + +using namespace VizKit; + +IMPLEMENT_DYNCREATE(CAboutPane, CPropertyPage) + +CAboutPane::CAboutPane() : CPropertyPage(CAboutPane::IDD) { + //{{AFX_DATA_INIT(CAboutPane) + // + //}}AFX_DATA_INIT +} + + +CAboutPane::~CAboutPane() { +} + + +void CAboutPane::DoDataExchange(CDataExchange* pDX) { + CPropertyPage::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CAboutPane) + // + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CAboutPane, CPropertyPage) + //{{AFX_MSG_MAP(CAboutPane) + // + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +BOOL CAboutPane::OnSetActive() +{ + BOOL success; + int lastPane = 0; + + success = CPropertyPage::OnSetActive(); + + if (CVisualPropertySheet::isInitialized() == true) { + lastPane = VisualPreferences::getValue(VisualPreferences::kPreferencePane); + if (lastPane != 0) { + VisualPreferences::setValue(VisualPreferences::kPreferencePane, 0); + VisualPreferences::storeValues(); + } + } + + return success; +} diff --git a/src/projectM-iTunes-VizKit/source/win/AboutPane.h b/src/projectM-iTunes-VizKit/source/win/AboutPane.h new file mode 100644 index 0000000000..85cca68c8a --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/AboutPane.h @@ -0,0 +1,93 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: AboutPane.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#pragma once + + +#include "resource.h" +#include + + +namespace VizKit { + + /** + * UI (Windows): Pane with about information. + */ + class CAboutPane : public CPropertyPage { + + DECLARE_DYNCREATE(CAboutPane) + + public: + + /** The constructor. */ + CAboutPane(); + + /** The destructor. */ + ~CAboutPane(); + + //{{AFX_DATA(CAboutPane) + enum { IDD = IDD_DIALOG2 }; + // + //}}AFX_DATA + + //{{AFX_VIRTUAL(CAboutPane) + + /** + * Called when pane becomes active. + * @return True on success, false on failure. + */ + virtual BOOL OnSetActive(); + + protected: + + /** + * Exchange of data (DDX/DDV). + * @param pDX Pointer to data. + */ + virtual void DoDataExchange(CDataExchange* pDX); + //}}AFX_VIRTUAL + + //{{AFX_MSG(CAboutPane) + // + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + + }; + +} + +//{{AFX_INSERT_LOCATION}} + + diff --git a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp new file mode 100644 index 0000000000..712ef11d96 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp @@ -0,0 +1,158 @@ +/* + * Project: VizKit + * Version: 1.9 + + * Date: 20070503 + * File: DisplayResolutionPane.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "DisplayResolutionPane.h" +#include "VisualConfiguration.h" +#include "VisualGraphics.h" +#include "VisualDataStore.h" +#include "VisualPropertySheet.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + + +using namespace VizKit; + +IMPLEMENT_DYNCREATE(CDisplayResolutionPane, CPropertyPage) + +CDisplayResolutionPane::CDisplayResolutionPane() : CPropertyPage(CDisplayResolutionPane::IDD) { + //{{AFX_DATA_INIT(CDisplayResolutionPane) + // + //}}AFX_DATA_INIT +} + + +CDisplayResolutionPane::~CDisplayResolutionPane() { +} + + +void CDisplayResolutionPane::DoDataExchange(CDataExchange* pDX) +{ + CPropertyPage::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CDisplayResolutionPane) + // + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CDisplayResolutionPane, CPropertyPage) + //{{AFX_MSG_MAP(CDisplayResolutionPane) + ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +void CDisplayResolutionPane::OnSelchangeCombo1() { + char str[32]; + CComboBox* pCB = (CComboBox*) GetDlgItem(IDC_COMBO1); + + pCB->GetLBText(pCB->GetCurSel(), str); + + VisualGraphics* theVisualGraphics = VisualGraphics::getInstance(); + UInt16 horizontalPixels; + UInt16 verticalPixels; + UInt16 bitsPerPixel; + UInt16 refreshRate; + theVisualGraphics->matchDisplayResolutionShowStrWithPrefs(str, horizontalPixels, verticalPixels, bitsPerPixel, refreshRate); + + VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenWidth, horizontalPixels); + VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenHeight, verticalPixels); + VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenBitsPerPixel, bitsPerPixel); + VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenRefreshRate, refreshRate); + + VisualDataStore::storePreferences(); + + UInt16 minBitsPerPixel = 24; + UInt16 maxBitsPerPixel = 32; + VisualDataStore::setPreferredDisplayResolution(minBitsPerPixel, maxBitsPerPixel, bitsPerPixel, horizontalPixels, verticalPixels); + +} + + +BOOL CDisplayResolutionPane::OnInitDialog() { + + CPropertyPage::OnInitDialog(); + + UInt8 isSelected; + + CComboBox* pCB = (CComboBox*) GetDlgItem(IDC_COMBO1); + + VisualGraphics* theVisualGraphics; + theVisualGraphics = VisualGraphics::getInstance(); + theVisualGraphics->evaluateFullscreenDisplayResolution(); + //theVisualGraphics->gatherAvailableDisplayResolutions(); + + //theVisualGraphics->resetDisplayResolutionIterIndex(); + char showStr[32]; + UInt16 count = 0; + UInt16 selIdx = 0; + while(theVisualGraphics->getNextAvailableDisplayResolution(showStr, &isSelected)) { + if (isSelected == 1) { + selIdx = count; + } + if (pCB->AddString(showStr) == CB_ERR) { + AfxMessageBox("AnError occurred while adding mon res item to combo list."); + } + count++; + } + + pCB->SetCurSel(selIdx); + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zur�ckgeben +} + + +BOOL CDisplayResolutionPane::OnSetActive() +{ + BOOL success; + int lastPane = 0; + + success = CPropertyPage::OnSetActive(); + + if (CVisualPropertySheet::isInitialized() == true) { + lastPane = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kPreferencePane); + if (lastPane != 1) { + VisualDataStore::setPreferenceValueInt(VisualConfiguration::kPreferencePane, 1); + VisualDataStore::storePreferences(); + } + } + + return success; + +} diff --git a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h new file mode 100644 index 0000000000..381df159a6 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h @@ -0,0 +1,107 @@ +/* + * Project: VizKit + * Version: 1.9 + + * Date: 20070503 + * File: DisplayResolutionPane.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#if !defined(AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_) +#define AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + + +#include "resource.h" +#include + +namespace VizKit { + + /** + * UI (Windows): Pane with information about possible display resolutions. + */ + class CDisplayResolutionPane : public CPropertyPage { + + DECLARE_DYNCREATE(CDisplayResolutionPane) + + public: + + /** The constructor. */ + CDisplayResolutionPane(); + + /** The destructor. */ + ~CDisplayResolutionPane(); + + //{{AFX_DATA(CDisplayResolutionPane) +// enum { IDD = IDD_DIALOG3 }; + // + //}}AFX_DATA + + //{{AFX_VIRTUAL(CDisplayResolutionPane) + /** + * Called when pane becomes active. + * @return True on success, false on failure. + */ + virtual BOOL OnSetActive(); + + protected: + + /** + * Exchange of data (DDX/DDV). + * @param pDX Pointer to data. + */ + virtual void DoDataExchange(CDataExchange* pDX); + //}}AFX_VIRTUAL + + //{{AFX_MSG(CDisplayResolutionPane) + /** + * Called when value of dropdown menu changed. + */ + afx_msg void OnSelchangeCombo1(); + + /** + * Called when pane is initialized. + * @return True on success, false on failure. + */ + virtual BOOL OnInitDialog(); + + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + + }; + +} + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ f�gt unmittelbar vor der vorhergehenden Zeile zus�tzliche Deklarationen ein. + +#endif // AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_ diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp b/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp new file mode 100644 index 0000000000..e3dc38ddfa --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp @@ -0,0 +1,43 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: StdAfx.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +// stdafx.cpp : Quelltextdatei, die nur die Standard-Includes einbindet +// VizKit.pch ist die vorcompilierte Header-Datei +// stdafx.obj enth�lt die vorcompilierte Typinformation + +#include "stdafx.h" + + + diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.h b/src/projectM-iTunes-VizKit/source/win/StdAfx.h new file mode 100644 index 0000000000..524e4da7a7 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/StdAfx.h @@ -0,0 +1,77 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: StdAfx.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +// stdafx.h : Include-Datei f�r Standard-System-Include-Dateien, +// oder projektspezifische Include-Dateien, die h�ufig benutzt, aber +// in unregelm��igen Abst�nden ge�ndert werden. +// + +#if !defined(AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_) +#define AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#define VC_EXTRALEAN // Selten verwendete Teile der Windows-Header nicht einbinden + +#include // MFC-Kern- und -Standardkomponenten +#include // MFC-Erweiterungen + +#ifndef _AFX_NO_OLE_SUPPORT +#include // MFC OLE-Klassen +#include // MFC OLE-Dialogfeldklassen +#include // MFC Automatisierungsklassen +#endif // _AFX_NO_OLE_SUPPORT + + +#ifndef _AFX_NO_DB_SUPPORT +#include // MFC ODBC-Datenbankklassen +#endif // _AFX_NO_DB_SUPPORT + +#ifndef _AFX_NO_DAO_SUPPORT +#include // MFC DAO-Datenbankklassen +#endif // _AFX_NO_DAO_SUPPORT + +#include // MFC-Unterst�tzung f�r allgemeine Steuerelemente von Internet Explorer 4 +#ifndef _AFX_NO_AFXCMN_SUPPORT +#include // MFC-Unterst�tzung f�r g�ngige Windows-Steuerelemente +#endif // _AFX_NO_AFXCMN_SUPPORT + + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ f�gt unmittelbar vor der vorhergehenden Zeile zus�tzliche Deklarationen ein. + +#endif // !defined(AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_) diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.pch b/src/projectM-iTunes-VizKit/source/win/StdAfx.pch new file mode 100644 index 0000000000..4e81365264 Binary files /dev/null and b/src/projectM-iTunes-VizKit/source/win/StdAfx.pch differ diff --git a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp new file mode 100644 index 0000000000..0074d19b82 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp @@ -0,0 +1,166 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualPropertySheet.cpp + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + +#include "VisualPropertySheet.h" +#include "VisualDataStore.h" +#include "VisualErrorHandling.h" +#include "VisualPreferences.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + + +using namespace VizKit; + + +bool CVisualPropertySheet::propertysheetIsInitialized = false; + + +IMPLEMENT_DYNAMIC(CVisualPropertySheet, CPropertySheet) + + +BEGIN_MESSAGE_MAP(CVisualPropertySheet, CPropertySheet) + //{{AFX_MSG_MAP(CVisualPropertySheet) + ON_WM_CLOSE() + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +CVisualPropertySheet::CVisualPropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage) + :CPropertySheet(nIDCaption, pParentWnd, iSelectPage) { +} + + +CVisualPropertySheet::CVisualPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage) + :CPropertySheet(pszCaption, pParentWnd, iSelectPage) { + AddPage(&mAboutPane); + AddPage(&mOptionsPane); + AddPage(&mUpdatePane); +} + + +CVisualPropertySheet* CVisualPropertySheet::getInstance() { + static CVisualPropertySheet* theCVisualPropertySheet = NULL; + if (CVisualPropertySheet::propertysheetIsInitialized == false) { + theCVisualPropertySheet = new CVisualPropertySheet("Visualizer Options"); + BOOL success = theCVisualPropertySheet->Create(); + if (!success) { + delete theCVisualPropertySheet; + theCVisualPropertySheet = NULL; + char errLog[256]; + sprintf(errLog, "err after CVisualPropertySheet::Create() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__); + writeLog(errLog); + } + } + return theCVisualPropertySheet; +} + + +void CVisualPropertySheet::dispose() { + if (CVisualPropertySheet::propertysheetIsInitialized == true) { + CVisualPropertySheet* theCVisualPropertySheet = CVisualPropertySheet::getInstance(); + theCVisualPropertySheet->DestroyWindow(); + } +} + + +bool CVisualPropertySheet::isInitialized() { + return CVisualPropertySheet::propertysheetIsInitialized; +} + + +CVisualPropertySheet::~CVisualPropertySheet() { + CVisualPropertySheet::propertysheetIsInitialized = false; +} + + +void CVisualPropertySheet::OnClose() { + CPropertySheet::OnClose(); + DestroyWindow(); +} + + +BOOL CVisualPropertySheet::DestroyWindow() { + return CPropertySheet::DestroyWindow(); +} + + +BOOL CVisualPropertySheet::OnInitDialog() +{ + BOOL success = CPropertySheet::OnInitDialog(); + + CRect rectWnd; + CRect rectBtn; + int lastActivePage = 0; + + GetWindowRect(rectWnd); + + CWnd* pOKButton = GetDlgItem(IDOK); + pOKButton->GetWindowRect(rectBtn); + + ASSERT(pOKButton); + pOKButton->ShowWindow(SW_HIDE); + + CWnd* pCancelButton = GetDlgItem(IDCANCEL); + ASSERT(pCancelButton); + pCancelButton->ShowWindow(SW_HIDE); + + CWnd* pApplyButton = GetDlgItem(ID_APPLY_NOW); + ASSERT(pApplyButton); + pApplyButton->ShowWindow(SW_HIDE); + + rectWnd.bottom = rectBtn.top; + + MoveWindow(rectWnd); + + lastActivePage = VisualPreferences::getValue(VisualPreferences::kPreferencePane); + + if (lastActivePage != 0) { + SetActivePage(lastActivePage); + } + + CVisualPropertySheet::propertysheetIsInitialized = true; + + return success; +} + + +void CVisualPropertySheet::PostNcDestroy() { + delete this; + CPropertySheet::PostNcDestroy(); +} diff --git a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h new file mode 100644 index 0000000000..697525be23 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h @@ -0,0 +1,130 @@ +/* + * Project: VizKit + * Version: 2.3 + + * Date: 20090823 + * File: VisualPropertySheet.h + * + */ + +/*************************************************************************** + +Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit) + + +This software is provided 'as-is', without any expressed or implied warranty. +In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; + you must not claim that you wrote the original software. + If you use this software in a product, an acknowledgment + in the product documentation would be appreciated + but is not required. + +2. Altered source versions must be plainly marked as such, + and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + + ***************************************************************************/ + + +#pragma once + + +#include "resource.h" +#include + +#include "AboutPane.h" +#include "OptionsPane.h" +#include "UpdatePane.h" + + +namespace VizKit { + + /** + * UI (Windows): Property sheet which contains various panes. + */ + class CVisualPropertySheet : public CPropertySheet { + + DECLARE_DYNAMIC(CVisualPropertySheet) + + public: + + /** + * Constructs a VisualPropertySheet.\ The VisualPropertySheet internally is a singleton.\ Returns a pointer to the initialized VisualPropertySheet. + * @return A pointer to the singleton instance. + */ + static CVisualPropertySheet* getInstance(); + + /** + * Disposes the VisualPropertySheet. + */ + static void dispose(void); + + /** + * Ansers the question whether the property sheet is initialized. + * @return False if singleton instance is not initialized, true if initialized. + */ + static bool isInitialized(void); + + /** A constructor. */ + CVisualPropertySheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0); + + /** A constructor. */ + CVisualPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0); + + /** The destructor. */ + virtual ~CVisualPropertySheet(); + + //{{AFX_VIRTUAL(CVisualPropertySheet) + /** + * Called when property sheet is initialized. + * @return True on success, false on failure. + */ + virtual BOOL OnInitDialog(); + //}}AFX_VIRTUAL + + protected: + //{{AFX_MSG(CVisualPropertySheet) + afx_msg void OnClose(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + + /** + * Override of DestroyWindow(). + * @remarks We implement DestroyWindow() to note that the property sheet is destructed. + */ + virtual BOOL DestroyWindow(); + + /** + * Ansers the question whether the property sheet is initialized. + * @return False if singleton instance is not initialized, true if initialized. + */ + static bool propertysheetIsInitialized; + + /** We delete any allocated memory here. */ + virtual void PostNcDestroy(); + + private: + + /** About pane. */ + CAboutPane mAboutPane; + + /** Options pane. */ + COptionsPane mOptionsPane; + + /** Check for update pane. */ + CUpdatePane mUpdatePane; + + }; + +} + +//{{AFX_INSERT_LOCATION}} + diff --git a/src/projectM-iTunes-VizKit/source/win/VizKit.aps b/src/projectM-iTunes-VizKit/source/win/VizKit.aps new file mode 100644 index 0000000000..6956eea3b1 Binary files /dev/null and b/src/projectM-iTunes-VizKit/source/win/VizKit.aps differ diff --git a/src/projectM-iTunes-VizKit/source/win/VizKit.rc b/src/projectM-iTunes-VizKit/source/win/VizKit.rc new file mode 100644 index 0000000000..b6649e9b5f --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/VizKit.rc @@ -0,0 +1,208 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// German (Germany) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU) +#ifdef _WIN32 +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 7, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif //_WIN32\r\n" + "#include ""l.deu\\afxres.rc"" // Standardkomponenten\r\n" + "#endif\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 2,3,0,0 + PRODUCTVERSION 2,3,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040704b0" + BEGIN + VALUE "CompanyName", "www.imagomat.de" + VALUE "FileDescription", "iTunes Visualizer" + VALUE "FileVersion", "2, 3, 0, 0" + VALUE "InternalName", "VizKit" + VALUE "LegalCopyright", "Copyright (C) 2004-2009" + VALUE "OriginalFilename", "VizKit.DLL" + VALUE "ProductName", "VizKit Dynamic Link Library" + VALUE "ProductVersion", "2, 3, 0, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x407, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_DIALOG2 DIALOGEX 0, 0, 214, 79 +STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU +CAPTION "About" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + CTEXT "VizKit",IDC_STATIC,7,12,201,8 + CTEXT "� 2004-2009 Heiko Wichmann",IDC_STATIC,7,57,201,10 + CTEXT "http://www.imagomat.de/vizkit",IDC_STATIC,7,41,201,8 + CTEXT "Version 2.3",IDC_STATIC,7,23,201,9 +END + +IDD_DIALOG3 DIALOGEX 0, 0, 214, 79 +STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU +CAPTION "Font" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + COMBOBOX IDC_COMBO1,40,26,154,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + RTEXT "Font:",IDC_STATIC,15,28,15,8 +END + +IDD_DIALOG4 DIALOGEX 0, 0, 214, 78 +STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION | WS_SYSMENU +CAPTION "Update" +FONT 8, "MS Sans Serif", 400, 0, 0x0 +BEGIN + CONTROL "Check For Update On Startup",IDC_CHECK_FOR_UPDATE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,44,28,110,10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// FONTRESOURCE +// + +IDR_DEVROYEFONT FONTRESOURCE "..\\..\\resources\\Devroye\\Devroye Open Type\\DEVROYE_.otf" + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_DIALOG2, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 208 + TOPMARGIN, 7 + BOTTOMMARGIN, 72 + END + + IDD_DIALOG3, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 207 + TOPMARGIN, 7 + BOTTOMMARGIN, 72 + END + + IDD_DIALOG4, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 207 + TOPMARGIN, 7 + BOTTOMMARGIN, 71 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// PNG +// + +IDR_PNG_SPOT PNG "..\\..\\resources\\spot.png" +#endif // German (Germany) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU) +#ifdef _WIN32 +LANGUAGE 7, 1 +#pragma code_page(1252) +#endif //_WIN32 +#include "l.deu\afxres.rc" // Standardkomponenten +#endif + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/projectM-iTunes-VizKit/source/win/glext.h b/src/projectM-iTunes-VizKit/source/win/glext.h new file mode 100644 index 0000000000..57606dda50 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/glext.h @@ -0,0 +1,6712 @@ +#ifndef __glext_h_ +#define __glext_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** License Applicability. Except to the extent portions of this file are +** made subject to an alternative license as permitted in the SGI Free +** Software License B, Version 1.1 (the "License"), the contents of this +** file are subject only to the provisions of the License. You may not use +** this file except in compliance with the License. You may obtain a copy +** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** +** http://oss.sgi.com/projects/FreeB +** +** Note that, as provided in the License, the Software is distributed on an +** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** +** Original Code. The Original Code is: OpenGL Sample Implementation, +** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc. +** Copyright in any portions created by third parties is as indicated +** elsewhere herein. All Rights Reserved. +** +** Additional Notice Provisions: This software was created using the +** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has +** not been independently verified as being compliant with the OpenGL(R) +** version 1.2.1 Specification. +*/ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +/*************************************************************/ + +/* Header file version number, required by OpenGL ABI for Linux */ +/* glext.h last updated 2006/11/20 */ +/* Current version at http://www.opengl.org/registry/ */ +#define GL_GLEXT_VERSION 37 + +#ifndef GL_VERSION_1_2 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_RESCALE_NORMAL 0x803A +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#endif + +#ifndef GL_ARB_imaging +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BLEND_COLOR 0x8005 +#define GL_FUNC_ADD 0x8006 +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_BLEND_EQUATION 0x8009 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_CONVOLUTION_1D 0x8010 +#define GL_CONVOLUTION_2D 0x8011 +#define GL_SEPARABLE_2D 0x8012 +#define GL_CONVOLUTION_BORDER_MODE 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS 0x8015 +#define GL_REDUCE 0x8016 +#define GL_CONVOLUTION_FORMAT 0x8017 +#define GL_CONVOLUTION_WIDTH 0x8018 +#define GL_CONVOLUTION_HEIGHT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 +#define GL_HISTOGRAM 0x8024 +#define GL_PROXY_HISTOGRAM 0x8025 +#define GL_HISTOGRAM_WIDTH 0x8026 +#define GL_HISTOGRAM_FORMAT 0x8027 +#define GL_HISTOGRAM_RED_SIZE 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C +#define GL_HISTOGRAM_SINK 0x802D +#define GL_MINMAX 0x802E +#define GL_MINMAX_FORMAT 0x802F +#define GL_MINMAX_SINK 0x8030 +#define GL_TABLE_TOO_LARGE 0x8031 +#define GL_COLOR_MATRIX 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB +#define GL_COLOR_TABLE 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 +#define GL_PROXY_COLOR_TABLE 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 +#define GL_COLOR_TABLE_SCALE 0x80D6 +#define GL_COLOR_TABLE_BIAS 0x80D7 +#define GL_COLOR_TABLE_FORMAT 0x80D8 +#define GL_COLOR_TABLE_WIDTH 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF +#define GL_CONSTANT_BORDER 0x8151 +#define GL_REPLICATE_BORDER 0x8153 +#define GL_CONVOLUTION_BORDER_COLOR 0x8154 +#endif + +#ifndef GL_VERSION_1_3 +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_MULTISAMPLE_BIT 0x20000000 +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_SOURCE0_RGB 0x8580 +#define GL_SOURCE1_RGB 0x8581 +#define GL_SOURCE2_RGB 0x8582 +#define GL_SOURCE0_ALPHA 0x8588 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SOURCE2_ALPHA 0x858A +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_SUBTRACT 0x84E7 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF +#endif + +#ifndef GL_VERSION_1_4 +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_FOG_COORDINATE_SOURCE 0x8450 +#define GL_FOG_COORDINATE 0x8451 +#define GL_FRAGMENT_DEPTH 0x8452 +#define GL_CURRENT_FOG_COORDINATE 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 +#define GL_FOG_COORDINATE_ARRAY 0x8457 +#define GL_COLOR_SUM 0x8458 +#define GL_CURRENT_SECONDARY_COLOR 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D +#define GL_SECONDARY_COLOR_ARRAY 0x845E +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_FILTER_CONTROL 0x8500 +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_DEPTH_TEXTURE_MODE 0x884B +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_COMPARE_R_TO_TEXTURE 0x884E +#endif + +#ifndef GL_VERSION_1_5 +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 +#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE +#define GL_FOG_COORD GL_FOG_COORDINATE +#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE +#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE +#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE +#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER +#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING +#define GL_SRC0_RGB GL_SOURCE0_RGB +#define GL_SRC1_RGB GL_SOURCE1_RGB +#define GL_SRC2_RGB GL_SOURCE2_RGB +#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA +#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA +#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA +#endif + +#ifndef GL_VERSION_2_0 +#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_COORDS 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#endif + +#ifndef GL_VERSION_2_1 +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B +#endif + +#ifndef GL_ARB_multitexture +#define GL_TEXTURE0_ARB 0x84C0 +#define GL_TEXTURE1_ARB 0x84C1 +#define GL_TEXTURE2_ARB 0x84C2 +#define GL_TEXTURE3_ARB 0x84C3 +#define GL_TEXTURE4_ARB 0x84C4 +#define GL_TEXTURE5_ARB 0x84C5 +#define GL_TEXTURE6_ARB 0x84C6 +#define GL_TEXTURE7_ARB 0x84C7 +#define GL_TEXTURE8_ARB 0x84C8 +#define GL_TEXTURE9_ARB 0x84C9 +#define GL_TEXTURE10_ARB 0x84CA +#define GL_TEXTURE11_ARB 0x84CB +#define GL_TEXTURE12_ARB 0x84CC +#define GL_TEXTURE13_ARB 0x84CD +#define GL_TEXTURE14_ARB 0x84CE +#define GL_TEXTURE15_ARB 0x84CF +#define GL_TEXTURE16_ARB 0x84D0 +#define GL_TEXTURE17_ARB 0x84D1 +#define GL_TEXTURE18_ARB 0x84D2 +#define GL_TEXTURE19_ARB 0x84D3 +#define GL_TEXTURE20_ARB 0x84D4 +#define GL_TEXTURE21_ARB 0x84D5 +#define GL_TEXTURE22_ARB 0x84D6 +#define GL_TEXTURE23_ARB 0x84D7 +#define GL_TEXTURE24_ARB 0x84D8 +#define GL_TEXTURE25_ARB 0x84D9 +#define GL_TEXTURE26_ARB 0x84DA +#define GL_TEXTURE27_ARB 0x84DB +#define GL_TEXTURE28_ARB 0x84DC +#define GL_TEXTURE29_ARB 0x84DD +#define GL_TEXTURE30_ARB 0x84DE +#define GL_TEXTURE31_ARB 0x84DF +#define GL_ACTIVE_TEXTURE_ARB 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 +#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 +#endif + +#ifndef GL_ARB_transpose_matrix +#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 +#endif + +#ifndef GL_ARB_multisample +#define GL_MULTISAMPLE_ARB 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F +#define GL_SAMPLE_COVERAGE_ARB 0x80A0 +#define GL_SAMPLE_BUFFERS_ARB 0x80A8 +#define GL_SAMPLES_ARB 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB +#define GL_MULTISAMPLE_BIT_ARB 0x20000000 +#endif + +#ifndef GL_ARB_texture_env_add +#endif + +#ifndef GL_ARB_texture_cube_map +#define GL_NORMAL_MAP_ARB 0x8511 +#define GL_REFLECTION_MAP_ARB 0x8512 +#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C +#endif + +#ifndef GL_ARB_texture_compression +#define GL_COMPRESSED_ALPHA_ARB 0x84E9 +#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB +#define GL_COMPRESSED_INTENSITY_ARB 0x84EC +#define GL_COMPRESSED_RGB_ARB 0x84ED +#define GL_COMPRESSED_RGBA_ARB 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 +#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 +#endif + +#ifndef GL_ARB_texture_border_clamp +#define GL_CLAMP_TO_BORDER_ARB 0x812D +#endif + +#ifndef GL_ARB_point_parameters +#define GL_POINT_SIZE_MIN_ARB 0x8126 +#define GL_POINT_SIZE_MAX_ARB 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 +#endif + +#ifndef GL_ARB_vertex_blend +#define GL_MAX_VERTEX_UNITS_ARB 0x86A4 +#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 +#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 +#define GL_VERTEX_BLEND_ARB 0x86A7 +#define GL_CURRENT_WEIGHT_ARB 0x86A8 +#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 +#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA +#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB +#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC +#define GL_WEIGHT_ARRAY_ARB 0x86AD +#define GL_MODELVIEW0_ARB 0x1700 +#define GL_MODELVIEW1_ARB 0x850A +#define GL_MODELVIEW2_ARB 0x8722 +#define GL_MODELVIEW3_ARB 0x8723 +#define GL_MODELVIEW4_ARB 0x8724 +#define GL_MODELVIEW5_ARB 0x8725 +#define GL_MODELVIEW6_ARB 0x8726 +#define GL_MODELVIEW7_ARB 0x8727 +#define GL_MODELVIEW8_ARB 0x8728 +#define GL_MODELVIEW9_ARB 0x8729 +#define GL_MODELVIEW10_ARB 0x872A +#define GL_MODELVIEW11_ARB 0x872B +#define GL_MODELVIEW12_ARB 0x872C +#define GL_MODELVIEW13_ARB 0x872D +#define GL_MODELVIEW14_ARB 0x872E +#define GL_MODELVIEW15_ARB 0x872F +#define GL_MODELVIEW16_ARB 0x8730 +#define GL_MODELVIEW17_ARB 0x8731 +#define GL_MODELVIEW18_ARB 0x8732 +#define GL_MODELVIEW19_ARB 0x8733 +#define GL_MODELVIEW20_ARB 0x8734 +#define GL_MODELVIEW21_ARB 0x8735 +#define GL_MODELVIEW22_ARB 0x8736 +#define GL_MODELVIEW23_ARB 0x8737 +#define GL_MODELVIEW24_ARB 0x8738 +#define GL_MODELVIEW25_ARB 0x8739 +#define GL_MODELVIEW26_ARB 0x873A +#define GL_MODELVIEW27_ARB 0x873B +#define GL_MODELVIEW28_ARB 0x873C +#define GL_MODELVIEW29_ARB 0x873D +#define GL_MODELVIEW30_ARB 0x873E +#define GL_MODELVIEW31_ARB 0x873F +#endif + +#ifndef GL_ARB_matrix_palette +#define GL_MATRIX_PALETTE_ARB 0x8840 +#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 +#define GL_MAX_PALETTE_MATRICES_ARB 0x8842 +#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 +#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 +#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 +#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 +#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 +#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 +#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 +#endif + +#ifndef GL_ARB_texture_env_combine +#define GL_COMBINE_ARB 0x8570 +#define GL_COMBINE_RGB_ARB 0x8571 +#define GL_COMBINE_ALPHA_ARB 0x8572 +#define GL_SOURCE0_RGB_ARB 0x8580 +#define GL_SOURCE1_RGB_ARB 0x8581 +#define GL_SOURCE2_RGB_ARB 0x8582 +#define GL_SOURCE0_ALPHA_ARB 0x8588 +#define GL_SOURCE1_ALPHA_ARB 0x8589 +#define GL_SOURCE2_ALPHA_ARB 0x858A +#define GL_OPERAND0_RGB_ARB 0x8590 +#define GL_OPERAND1_RGB_ARB 0x8591 +#define GL_OPERAND2_RGB_ARB 0x8592 +#define GL_OPERAND0_ALPHA_ARB 0x8598 +#define GL_OPERAND1_ALPHA_ARB 0x8599 +#define GL_OPERAND2_ALPHA_ARB 0x859A +#define GL_RGB_SCALE_ARB 0x8573 +#define GL_ADD_SIGNED_ARB 0x8574 +#define GL_INTERPOLATE_ARB 0x8575 +#define GL_SUBTRACT_ARB 0x84E7 +#define GL_CONSTANT_ARB 0x8576 +#define GL_PRIMARY_COLOR_ARB 0x8577 +#define GL_PREVIOUS_ARB 0x8578 +#endif + +#ifndef GL_ARB_texture_env_crossbar +#endif + +#ifndef GL_ARB_texture_env_dot3 +#define GL_DOT3_RGB_ARB 0x86AE +#define GL_DOT3_RGBA_ARB 0x86AF +#endif + +#ifndef GL_ARB_texture_mirrored_repeat +#define GL_MIRRORED_REPEAT_ARB 0x8370 +#endif + +#ifndef GL_ARB_depth_texture +#define GL_DEPTH_COMPONENT16_ARB 0x81A5 +#define GL_DEPTH_COMPONENT24_ARB 0x81A6 +#define GL_DEPTH_COMPONENT32_ARB 0x81A7 +#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A +#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B +#endif + +#ifndef GL_ARB_shadow +#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C +#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D +#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E +#endif + +#ifndef GL_ARB_shadow_ambient +#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF +#endif + +#ifndef GL_ARB_window_pos +#endif + +#ifndef GL_ARB_vertex_program +#define GL_COLOR_SUM_ARB 0x8458 +#define GL_VERTEX_PROGRAM_ARB 0x8620 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 +#define GL_PROGRAM_LENGTH_ARB 0x8627 +#define GL_PROGRAM_STRING_ARB 0x8628 +#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E +#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F +#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 +#define GL_CURRENT_MATRIX_ARB 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 +#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B +#define GL_PROGRAM_BINDING_ARB 0x8677 +#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A +#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 +#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 +#define GL_PROGRAM_FORMAT_ARB 0x8876 +#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 +#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 +#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 +#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 +#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 +#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 +#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 +#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 +#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 +#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 +#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA +#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB +#define GL_PROGRAM_ATTRIBS_ARB 0x88AC +#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD +#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE +#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF +#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 +#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 +#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 +#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 +#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 +#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 +#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 +#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 +#define GL_MATRIX0_ARB 0x88C0 +#define GL_MATRIX1_ARB 0x88C1 +#define GL_MATRIX2_ARB 0x88C2 +#define GL_MATRIX3_ARB 0x88C3 +#define GL_MATRIX4_ARB 0x88C4 +#define GL_MATRIX5_ARB 0x88C5 +#define GL_MATRIX6_ARB 0x88C6 +#define GL_MATRIX7_ARB 0x88C7 +#define GL_MATRIX8_ARB 0x88C8 +#define GL_MATRIX9_ARB 0x88C9 +#define GL_MATRIX10_ARB 0x88CA +#define GL_MATRIX11_ARB 0x88CB +#define GL_MATRIX12_ARB 0x88CC +#define GL_MATRIX13_ARB 0x88CD +#define GL_MATRIX14_ARB 0x88CE +#define GL_MATRIX15_ARB 0x88CF +#define GL_MATRIX16_ARB 0x88D0 +#define GL_MATRIX17_ARB 0x88D1 +#define GL_MATRIX18_ARB 0x88D2 +#define GL_MATRIX19_ARB 0x88D3 +#define GL_MATRIX20_ARB 0x88D4 +#define GL_MATRIX21_ARB 0x88D5 +#define GL_MATRIX22_ARB 0x88D6 +#define GL_MATRIX23_ARB 0x88D7 +#define GL_MATRIX24_ARB 0x88D8 +#define GL_MATRIX25_ARB 0x88D9 +#define GL_MATRIX26_ARB 0x88DA +#define GL_MATRIX27_ARB 0x88DB +#define GL_MATRIX28_ARB 0x88DC +#define GL_MATRIX29_ARB 0x88DD +#define GL_MATRIX30_ARB 0x88DE +#define GL_MATRIX31_ARB 0x88DF +#endif + +#ifndef GL_ARB_fragment_program +#define GL_FRAGMENT_PROGRAM_ARB 0x8804 +#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 +#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 +#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 +#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 +#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 +#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A +#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B +#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C +#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D +#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E +#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F +#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 +#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 +#endif + +#ifndef GL_ARB_vertex_buffer_object +#define GL_BUFFER_SIZE_ARB 0x8764 +#define GL_BUFFER_USAGE_ARB 0x8765 +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 +#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F +#define GL_READ_ONLY_ARB 0x88B8 +#define GL_WRITE_ONLY_ARB 0x88B9 +#define GL_READ_WRITE_ARB 0x88BA +#define GL_BUFFER_ACCESS_ARB 0x88BB +#define GL_BUFFER_MAPPED_ARB 0x88BC +#define GL_BUFFER_MAP_POINTER_ARB 0x88BD +#define GL_STREAM_DRAW_ARB 0x88E0 +#define GL_STREAM_READ_ARB 0x88E1 +#define GL_STREAM_COPY_ARB 0x88E2 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_STATIC_READ_ARB 0x88E5 +#define GL_STATIC_COPY_ARB 0x88E6 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_DYNAMIC_READ_ARB 0x88E9 +#define GL_DYNAMIC_COPY_ARB 0x88EA +#endif + +#ifndef GL_ARB_occlusion_query +#define GL_QUERY_COUNTER_BITS_ARB 0x8864 +#define GL_CURRENT_QUERY_ARB 0x8865 +#define GL_QUERY_RESULT_ARB 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 +#define GL_SAMPLES_PASSED_ARB 0x8914 +#endif + +#ifndef GL_ARB_shader_objects +#define GL_PROGRAM_OBJECT_ARB 0x8B40 +#define GL_SHADER_OBJECT_ARB 0x8B48 +#define GL_OBJECT_TYPE_ARB 0x8B4E +#define GL_OBJECT_SUBTYPE_ARB 0x8B4F +#define GL_FLOAT_VEC2_ARB 0x8B50 +#define GL_FLOAT_VEC3_ARB 0x8B51 +#define GL_FLOAT_VEC4_ARB 0x8B52 +#define GL_INT_VEC2_ARB 0x8B53 +#define GL_INT_VEC3_ARB 0x8B54 +#define GL_INT_VEC4_ARB 0x8B55 +#define GL_BOOL_ARB 0x8B56 +#define GL_BOOL_VEC2_ARB 0x8B57 +#define GL_BOOL_VEC3_ARB 0x8B58 +#define GL_BOOL_VEC4_ARB 0x8B59 +#define GL_FLOAT_MAT2_ARB 0x8B5A +#define GL_FLOAT_MAT3_ARB 0x8B5B +#define GL_FLOAT_MAT4_ARB 0x8B5C +#define GL_SAMPLER_1D_ARB 0x8B5D +#define GL_SAMPLER_2D_ARB 0x8B5E +#define GL_SAMPLER_3D_ARB 0x8B5F +#define GL_SAMPLER_CUBE_ARB 0x8B60 +#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 +#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 +#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 +#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 +#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 +#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 +#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 +#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 +#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 +#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 +#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 +#endif + +#ifndef GL_ARB_vertex_shader +#define GL_VERTEX_SHADER_ARB 0x8B31 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A +#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D +#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 +#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A +#endif + +#ifndef GL_ARB_fragment_shader +#define GL_FRAGMENT_SHADER_ARB 0x8B30 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B +#endif + +#ifndef GL_ARB_shading_language_100 +#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C +#endif + +#ifndef GL_ARB_texture_non_power_of_two +#endif + +#ifndef GL_ARB_point_sprite +#define GL_POINT_SPRITE_ARB 0x8861 +#define GL_COORD_REPLACE_ARB 0x8862 +#endif + +#ifndef GL_ARB_fragment_program_shadow +#endif + +#ifndef GL_ARB_draw_buffers +#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 +#define GL_DRAW_BUFFER0_ARB 0x8825 +#define GL_DRAW_BUFFER1_ARB 0x8826 +#define GL_DRAW_BUFFER2_ARB 0x8827 +#define GL_DRAW_BUFFER3_ARB 0x8828 +#define GL_DRAW_BUFFER4_ARB 0x8829 +#define GL_DRAW_BUFFER5_ARB 0x882A +#define GL_DRAW_BUFFER6_ARB 0x882B +#define GL_DRAW_BUFFER7_ARB 0x882C +#define GL_DRAW_BUFFER8_ARB 0x882D +#define GL_DRAW_BUFFER9_ARB 0x882E +#define GL_DRAW_BUFFER10_ARB 0x882F +#define GL_DRAW_BUFFER11_ARB 0x8830 +#define GL_DRAW_BUFFER12_ARB 0x8831 +#define GL_DRAW_BUFFER13_ARB 0x8832 +#define GL_DRAW_BUFFER14_ARB 0x8833 +#define GL_DRAW_BUFFER15_ARB 0x8834 +#endif + +#ifndef GL_ARB_texture_rectangle +#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 +#endif + +#ifndef GL_ARB_color_buffer_float +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_FIXED_ONLY_ARB 0x891D +#endif + +#ifndef GL_ARB_half_float_pixel +#define GL_HALF_FLOAT_ARB 0x140B +#endif + +#ifndef GL_ARB_texture_float +#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 +#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 +#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 +#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 +#define GL_RGBA32F_ARB 0x8814 +#define GL_RGB32F_ARB 0x8815 +#define GL_ALPHA32F_ARB 0x8816 +#define GL_INTENSITY32F_ARB 0x8817 +#define GL_LUMINANCE32F_ARB 0x8818 +#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 +#define GL_RGBA16F_ARB 0x881A +#define GL_RGB16F_ARB 0x881B +#define GL_ALPHA16F_ARB 0x881C +#define GL_INTENSITY16F_ARB 0x881D +#define GL_LUMINANCE16F_ARB 0x881E +#define GL_LUMINANCE_ALPHA16F_ARB 0x881F +#endif + +#ifndef GL_ARB_pixel_buffer_object +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF +#endif + +#ifndef GL_EXT_abgr +#define GL_ABGR_EXT 0x8000 +#endif + +#ifndef GL_EXT_blend_color +#define GL_CONSTANT_COLOR_EXT 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 +#define GL_CONSTANT_ALPHA_EXT 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 +#define GL_BLEND_COLOR_EXT 0x8005 +#endif + +#ifndef GL_EXT_polygon_offset +#define GL_POLYGON_OFFSET_EXT 0x8037 +#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 +#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 +#endif + +#ifndef GL_EXT_texture +#define GL_ALPHA4_EXT 0x803B +#define GL_ALPHA8_EXT 0x803C +#define GL_ALPHA12_EXT 0x803D +#define GL_ALPHA16_EXT 0x803E +#define GL_LUMINANCE4_EXT 0x803F +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE12_EXT 0x8041 +#define GL_LUMINANCE16_EXT 0x8042 +#define GL_LUMINANCE4_ALPHA4_EXT 0x8043 +#define GL_LUMINANCE6_ALPHA2_EXT 0x8044 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_LUMINANCE12_ALPHA4_EXT 0x8046 +#define GL_LUMINANCE12_ALPHA12_EXT 0x8047 +#define GL_LUMINANCE16_ALPHA16_EXT 0x8048 +#define GL_INTENSITY_EXT 0x8049 +#define GL_INTENSITY4_EXT 0x804A +#define GL_INTENSITY8_EXT 0x804B +#define GL_INTENSITY12_EXT 0x804C +#define GL_INTENSITY16_EXT 0x804D +#define GL_RGB2_EXT 0x804E +#define GL_RGB4_EXT 0x804F +#define GL_RGB5_EXT 0x8050 +#define GL_RGB8_EXT 0x8051 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB12_EXT 0x8053 +#define GL_RGB16_EXT 0x8054 +#define GL_RGBA2_EXT 0x8055 +#define GL_RGBA4_EXT 0x8056 +#define GL_RGB5_A1_EXT 0x8057 +#define GL_RGBA8_EXT 0x8058 +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGBA12_EXT 0x805A +#define GL_RGBA16_EXT 0x805B +#define GL_TEXTURE_RED_SIZE_EXT 0x805C +#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D +#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E +#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F +#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 +#define GL_REPLACE_EXT 0x8062 +#define GL_PROXY_TEXTURE_1D_EXT 0x8063 +#define GL_PROXY_TEXTURE_2D_EXT 0x8064 +#define GL_TEXTURE_TOO_LARGE_EXT 0x8065 +#endif + +#ifndef GL_EXT_texture3D +#define GL_PACK_SKIP_IMAGES_EXT 0x806B +#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C +#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D +#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E +#define GL_TEXTURE_3D_EXT 0x806F +#define GL_PROXY_TEXTURE_3D_EXT 0x8070 +#define GL_TEXTURE_DEPTH_EXT 0x8071 +#define GL_TEXTURE_WRAP_R_EXT 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 +#endif + +#ifndef GL_SGIS_texture_filter4 +#define GL_FILTER4_SGIS 0x8146 +#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147 +#endif + +#ifndef GL_EXT_subtexture +#endif + +#ifndef GL_EXT_copy_texture +#endif + +#ifndef GL_EXT_histogram +#define GL_HISTOGRAM_EXT 0x8024 +#define GL_PROXY_HISTOGRAM_EXT 0x8025 +#define GL_HISTOGRAM_WIDTH_EXT 0x8026 +#define GL_HISTOGRAM_FORMAT_EXT 0x8027 +#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C +#define GL_HISTOGRAM_SINK_EXT 0x802D +#define GL_MINMAX_EXT 0x802E +#define GL_MINMAX_FORMAT_EXT 0x802F +#define GL_MINMAX_SINK_EXT 0x8030 +#define GL_TABLE_TOO_LARGE_EXT 0x8031 +#endif + +#ifndef GL_EXT_convolution +#define GL_CONVOLUTION_1D_EXT 0x8010 +#define GL_CONVOLUTION_2D_EXT 0x8011 +#define GL_SEPARABLE_2D_EXT 0x8012 +#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 +#define GL_REDUCE_EXT 0x8016 +#define GL_CONVOLUTION_FORMAT_EXT 0x8017 +#define GL_CONVOLUTION_WIDTH_EXT 0x8018 +#define GL_CONVOLUTION_HEIGHT_EXT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 +#endif + +#ifndef GL_SGI_color_matrix +#define GL_COLOR_MATRIX_SGI 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB +#endif + +#ifndef GL_SGI_color_table +#define GL_COLOR_TABLE_SGI 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 +#define GL_PROXY_COLOR_TABLE_SGI 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 +#define GL_COLOR_TABLE_SCALE_SGI 0x80D6 +#define GL_COLOR_TABLE_BIAS_SGI 0x80D7 +#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 +#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF +#endif + +#ifndef GL_SGIS_pixel_texture +#define GL_PIXEL_TEXTURE_SGIS 0x8353 +#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354 +#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355 +#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356 +#endif + +#ifndef GL_SGIX_pixel_texture +#define GL_PIXEL_TEX_GEN_SGIX 0x8139 +#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B +#endif + +#ifndef GL_SGIS_texture4D +#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130 +#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131 +#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132 +#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133 +#define GL_TEXTURE_4D_SGIS 0x8134 +#define GL_PROXY_TEXTURE_4D_SGIS 0x8135 +#define GL_TEXTURE_4DSIZE_SGIS 0x8136 +#define GL_TEXTURE_WRAP_Q_SGIS 0x8137 +#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138 +#define GL_TEXTURE_4D_BINDING_SGIS 0x814F +#endif + +#ifndef GL_SGI_texture_color_table +#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC +#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD +#endif + +#ifndef GL_EXT_cmyka +#define GL_CMYK_EXT 0x800C +#define GL_CMYKA_EXT 0x800D +#define GL_PACK_CMYK_HINT_EXT 0x800E +#define GL_UNPACK_CMYK_HINT_EXT 0x800F +#endif + +#ifndef GL_EXT_texture_object +#define GL_TEXTURE_PRIORITY_EXT 0x8066 +#define GL_TEXTURE_RESIDENT_EXT 0x8067 +#define GL_TEXTURE_1D_BINDING_EXT 0x8068 +#define GL_TEXTURE_2D_BINDING_EXT 0x8069 +#define GL_TEXTURE_3D_BINDING_EXT 0x806A +#endif + +#ifndef GL_SGIS_detail_texture +#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095 +#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096 +#define GL_LINEAR_DETAIL_SGIS 0x8097 +#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098 +#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099 +#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A +#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B +#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C +#endif + +#ifndef GL_SGIS_sharpen_texture +#define GL_LINEAR_SHARPEN_SGIS 0x80AD +#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE +#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF +#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0 +#endif + +#ifndef GL_EXT_packed_pixels +#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 +#endif + +#ifndef GL_SGIS_texture_lod +#define GL_TEXTURE_MIN_LOD_SGIS 0x813A +#define GL_TEXTURE_MAX_LOD_SGIS 0x813B +#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C +#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D +#endif + +#ifndef GL_SGIS_multisample +#define GL_MULTISAMPLE_SGIS 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F +#define GL_SAMPLE_MASK_SGIS 0x80A0 +#define GL_1PASS_SGIS 0x80A1 +#define GL_2PASS_0_SGIS 0x80A2 +#define GL_2PASS_1_SGIS 0x80A3 +#define GL_4PASS_0_SGIS 0x80A4 +#define GL_4PASS_1_SGIS 0x80A5 +#define GL_4PASS_2_SGIS 0x80A6 +#define GL_4PASS_3_SGIS 0x80A7 +#define GL_SAMPLE_BUFFERS_SGIS 0x80A8 +#define GL_SAMPLES_SGIS 0x80A9 +#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA +#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB +#define GL_SAMPLE_PATTERN_SGIS 0x80AC +#endif + +#ifndef GL_EXT_rescale_normal +#define GL_RESCALE_NORMAL_EXT 0x803A +#endif + +#ifndef GL_EXT_vertex_array +#define GL_VERTEX_ARRAY_EXT 0x8074 +#define GL_NORMAL_ARRAY_EXT 0x8075 +#define GL_COLOR_ARRAY_EXT 0x8076 +#define GL_INDEX_ARRAY_EXT 0x8077 +#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 +#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 +#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A +#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B +#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C +#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D +#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E +#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F +#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 +#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 +#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 +#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 +#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 +#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 +#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 +#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 +#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A +#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B +#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C +#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D +#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E +#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F +#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 +#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 +#endif + +#ifndef GL_EXT_misc_attribute +#endif + +#ifndef GL_SGIS_generate_mipmap +#define GL_GENERATE_MIPMAP_SGIS 0x8191 +#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 +#endif + +#ifndef GL_SGIX_clipmap +#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170 +#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171 +#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172 +#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173 +#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174 +#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175 +#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176 +#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177 +#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178 +#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D +#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E +#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F +#endif + +#ifndef GL_SGIX_shadow +#define GL_TEXTURE_COMPARE_SGIX 0x819A +#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B +#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C +#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D +#endif + +#ifndef GL_SGIS_texture_edge_clamp +#define GL_CLAMP_TO_EDGE_SGIS 0x812F +#endif + +#ifndef GL_SGIS_texture_border_clamp +#define GL_CLAMP_TO_BORDER_SGIS 0x812D +#endif + +#ifndef GL_EXT_blend_minmax +#define GL_FUNC_ADD_EXT 0x8006 +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#define GL_BLEND_EQUATION_EXT 0x8009 +#endif + +#ifndef GL_EXT_blend_subtract +#define GL_FUNC_SUBTRACT_EXT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B +#endif + +#ifndef GL_EXT_blend_logic_op +#endif + +#ifndef GL_SGIX_interlace +#define GL_INTERLACE_SGIX 0x8094 +#endif + +#ifndef GL_SGIX_pixel_tiles +#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E +#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F +#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140 +#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141 +#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142 +#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143 +#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144 +#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145 +#endif + +#ifndef GL_SGIS_texture_select +#define GL_DUAL_ALPHA4_SGIS 0x8110 +#define GL_DUAL_ALPHA8_SGIS 0x8111 +#define GL_DUAL_ALPHA12_SGIS 0x8112 +#define GL_DUAL_ALPHA16_SGIS 0x8113 +#define GL_DUAL_LUMINANCE4_SGIS 0x8114 +#define GL_DUAL_LUMINANCE8_SGIS 0x8115 +#define GL_DUAL_LUMINANCE12_SGIS 0x8116 +#define GL_DUAL_LUMINANCE16_SGIS 0x8117 +#define GL_DUAL_INTENSITY4_SGIS 0x8118 +#define GL_DUAL_INTENSITY8_SGIS 0x8119 +#define GL_DUAL_INTENSITY12_SGIS 0x811A +#define GL_DUAL_INTENSITY16_SGIS 0x811B +#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C +#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D +#define GL_QUAD_ALPHA4_SGIS 0x811E +#define GL_QUAD_ALPHA8_SGIS 0x811F +#define GL_QUAD_LUMINANCE4_SGIS 0x8120 +#define GL_QUAD_LUMINANCE8_SGIS 0x8121 +#define GL_QUAD_INTENSITY4_SGIS 0x8122 +#define GL_QUAD_INTENSITY8_SGIS 0x8123 +#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124 +#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125 +#endif + +#ifndef GL_SGIX_sprite +#define GL_SPRITE_SGIX 0x8148 +#define GL_SPRITE_MODE_SGIX 0x8149 +#define GL_SPRITE_AXIS_SGIX 0x814A +#define GL_SPRITE_TRANSLATION_SGIX 0x814B +#define GL_SPRITE_AXIAL_SGIX 0x814C +#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D +#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E +#endif + +#ifndef GL_SGIX_texture_multi_buffer +#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E +#endif + +#ifndef GL_EXT_point_parameters +#define GL_POINT_SIZE_MIN_EXT 0x8126 +#define GL_POINT_SIZE_MAX_EXT 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 +#define GL_DISTANCE_ATTENUATION_EXT 0x8129 +#endif + +#ifndef GL_SGIS_point_parameters +#define GL_POINT_SIZE_MIN_SGIS 0x8126 +#define GL_POINT_SIZE_MAX_SGIS 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128 +#define GL_DISTANCE_ATTENUATION_SGIS 0x8129 +#endif + +#ifndef GL_SGIX_instruments +#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180 +#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181 +#endif + +#ifndef GL_SGIX_texture_scale_bias +#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 +#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A +#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B +#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C +#endif + +#ifndef GL_SGIX_framezoom +#define GL_FRAMEZOOM_SGIX 0x818B +#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C +#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D +#endif + +#ifndef GL_SGIX_tag_sample_buffer +#endif + +#ifndef GL_FfdMaskSGIX +#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001 +#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002 +#endif + +#ifndef GL_SGIX_polynomial_ffd +#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194 +#define GL_TEXTURE_DEFORMATION_SGIX 0x8195 +#define GL_DEFORMATIONS_MASK_SGIX 0x8196 +#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197 +#endif + +#ifndef GL_SGIX_reference_plane +#define GL_REFERENCE_PLANE_SGIX 0x817D +#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E +#endif + +#ifndef GL_SGIX_flush_raster +#endif + +#ifndef GL_SGIX_depth_texture +#define GL_DEPTH_COMPONENT16_SGIX 0x81A5 +#define GL_DEPTH_COMPONENT24_SGIX 0x81A6 +#define GL_DEPTH_COMPONENT32_SGIX 0x81A7 +#endif + +#ifndef GL_SGIS_fog_function +#define GL_FOG_FUNC_SGIS 0x812A +#define GL_FOG_FUNC_POINTS_SGIS 0x812B +#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C +#endif + +#ifndef GL_SGIX_fog_offset +#define GL_FOG_OFFSET_SGIX 0x8198 +#define GL_FOG_OFFSET_VALUE_SGIX 0x8199 +#endif + +#ifndef GL_HP_image_transform +#define GL_IMAGE_SCALE_X_HP 0x8155 +#define GL_IMAGE_SCALE_Y_HP 0x8156 +#define GL_IMAGE_TRANSLATE_X_HP 0x8157 +#define GL_IMAGE_TRANSLATE_Y_HP 0x8158 +#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159 +#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A +#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B +#define GL_IMAGE_MAG_FILTER_HP 0x815C +#define GL_IMAGE_MIN_FILTER_HP 0x815D +#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E +#define GL_CUBIC_HP 0x815F +#define GL_AVERAGE_HP 0x8160 +#define GL_IMAGE_TRANSFORM_2D_HP 0x8161 +#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162 +#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163 +#endif + +#ifndef GL_HP_convolution_border_modes +#define GL_IGNORE_BORDER_HP 0x8150 +#define GL_CONSTANT_BORDER_HP 0x8151 +#define GL_REPLICATE_BORDER_HP 0x8153 +#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154 +#endif + +#ifndef GL_INGR_palette_buffer +#endif + +#ifndef GL_SGIX_texture_add_env +#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE +#endif + +#ifndef GL_EXT_color_subtable +#endif + +#ifndef GL_PGI_vertex_hints +#define GL_VERTEX_DATA_HINT_PGI 0x1A22A +#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B +#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C +#define GL_MAX_VERTEX_HINT_PGI 0x1A22D +#define GL_COLOR3_BIT_PGI 0x00010000 +#define GL_COLOR4_BIT_PGI 0x00020000 +#define GL_EDGEFLAG_BIT_PGI 0x00040000 +#define GL_INDEX_BIT_PGI 0x00080000 +#define GL_MAT_AMBIENT_BIT_PGI 0x00100000 +#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 +#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 +#define GL_MAT_EMISSION_BIT_PGI 0x00800000 +#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 +#define GL_MAT_SHININESS_BIT_PGI 0x02000000 +#define GL_MAT_SPECULAR_BIT_PGI 0x04000000 +#define GL_NORMAL_BIT_PGI 0x08000000 +#define GL_TEXCOORD1_BIT_PGI 0x10000000 +#define GL_TEXCOORD2_BIT_PGI 0x20000000 +#define GL_TEXCOORD3_BIT_PGI 0x40000000 +#define GL_TEXCOORD4_BIT_PGI 0x80000000 +#define GL_VERTEX23_BIT_PGI 0x00000004 +#define GL_VERTEX4_BIT_PGI 0x00000008 +#endif + +#ifndef GL_PGI_misc_hints +#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8 +#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD +#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE +#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202 +#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203 +#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204 +#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C +#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D +#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E +#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F +#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210 +#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211 +#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216 +#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217 +#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218 +#define GL_FULL_STIPPLE_HINT_PGI 0x1A219 +#define GL_CLIP_NEAR_HINT_PGI 0x1A220 +#define GL_CLIP_FAR_HINT_PGI 0x1A221 +#define GL_WIDE_LINE_HINT_PGI 0x1A222 +#define GL_BACK_NORMALS_HINT_PGI 0x1A223 +#endif + +#ifndef GL_EXT_paletted_texture +#define GL_COLOR_INDEX1_EXT 0x80E2 +#define GL_COLOR_INDEX2_EXT 0x80E3 +#define GL_COLOR_INDEX4_EXT 0x80E4 +#define GL_COLOR_INDEX8_EXT 0x80E5 +#define GL_COLOR_INDEX12_EXT 0x80E6 +#define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED +#endif + +#ifndef GL_EXT_clip_volume_hint +#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 +#endif + +#ifndef GL_SGIX_list_priority +#define GL_LIST_PRIORITY_SGIX 0x8182 +#endif + +#ifndef GL_SGIX_ir_instrument1 +#define GL_IR_INSTRUMENT1_SGIX 0x817F +#endif + +#ifndef GL_SGIX_calligraphic_fragment +#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183 +#endif + +#ifndef GL_SGIX_texture_lod_bias +#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E +#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F +#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190 +#endif + +#ifndef GL_SGIX_shadow_ambient +#define GL_SHADOW_AMBIENT_SGIX 0x80BF +#endif + +#ifndef GL_EXT_index_texture +#endif + +#ifndef GL_EXT_index_material +#define GL_INDEX_MATERIAL_EXT 0x81B8 +#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9 +#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA +#endif + +#ifndef GL_EXT_index_func +#define GL_INDEX_TEST_EXT 0x81B5 +#define GL_INDEX_TEST_FUNC_EXT 0x81B6 +#define GL_INDEX_TEST_REF_EXT 0x81B7 +#endif + +#ifndef GL_EXT_index_array_formats +#define GL_IUI_V2F_EXT 0x81AD +#define GL_IUI_V3F_EXT 0x81AE +#define GL_IUI_N3F_V2F_EXT 0x81AF +#define GL_IUI_N3F_V3F_EXT 0x81B0 +#define GL_T2F_IUI_V2F_EXT 0x81B1 +#define GL_T2F_IUI_V3F_EXT 0x81B2 +#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3 +#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4 +#endif + +#ifndef GL_EXT_compiled_vertex_array +#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 +#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 +#endif + +#ifndef GL_EXT_cull_vertex +#define GL_CULL_VERTEX_EXT 0x81AA +#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB +#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC +#endif + +#ifndef GL_SGIX_ycrcb +#define GL_YCRCB_422_SGIX 0x81BB +#define GL_YCRCB_444_SGIX 0x81BC +#endif + +#ifndef GL_SGIX_fragment_lighting +#define GL_FRAGMENT_LIGHTING_SGIX 0x8400 +#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401 +#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402 +#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403 +#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404 +#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405 +#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406 +#define GL_LIGHT_ENV_MODE_SGIX 0x8407 +#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408 +#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409 +#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A +#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B +#define GL_FRAGMENT_LIGHT0_SGIX 0x840C +#define GL_FRAGMENT_LIGHT1_SGIX 0x840D +#define GL_FRAGMENT_LIGHT2_SGIX 0x840E +#define GL_FRAGMENT_LIGHT3_SGIX 0x840F +#define GL_FRAGMENT_LIGHT4_SGIX 0x8410 +#define GL_FRAGMENT_LIGHT5_SGIX 0x8411 +#define GL_FRAGMENT_LIGHT6_SGIX 0x8412 +#define GL_FRAGMENT_LIGHT7_SGIX 0x8413 +#endif + +#ifndef GL_IBM_rasterpos_clip +#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262 +#endif + +#ifndef GL_HP_texture_lighting +#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167 +#define GL_TEXTURE_POST_SPECULAR_HP 0x8168 +#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169 +#endif + +#ifndef GL_EXT_draw_range_elements +#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 +#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 +#endif + +#ifndef GL_WIN_phong_shading +#define GL_PHONG_WIN 0x80EA +#define GL_PHONG_HINT_WIN 0x80EB +#endif + +#ifndef GL_WIN_specular_fog +#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC +#endif + +#ifndef GL_EXT_light_texture +#define GL_FRAGMENT_MATERIAL_EXT 0x8349 +#define GL_FRAGMENT_NORMAL_EXT 0x834A +#define GL_FRAGMENT_COLOR_EXT 0x834C +#define GL_ATTENUATION_EXT 0x834D +#define GL_SHADOW_ATTENUATION_EXT 0x834E +#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F +#define GL_TEXTURE_LIGHT_EXT 0x8350 +#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 +#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 +/* reuse GL_FRAGMENT_DEPTH_EXT */ +#endif + +#ifndef GL_SGIX_blend_alpha_minmax +#define GL_ALPHA_MIN_SGIX 0x8320 +#define GL_ALPHA_MAX_SGIX 0x8321 +#endif + +#ifndef GL_SGIX_impact_pixel_texture +#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX 0x8184 +#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX 0x8185 +#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX 0x8186 +#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187 +#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188 +#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX 0x8189 +#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX 0x818A +#endif + +#ifndef GL_EXT_bgra +#define GL_BGR_EXT 0x80E0 +#define GL_BGRA_EXT 0x80E1 +#endif + +#ifndef GL_SGIX_async +#define GL_ASYNC_MARKER_SGIX 0x8329 +#endif + +#ifndef GL_SGIX_async_pixel +#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C +#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D +#define GL_ASYNC_READ_PIXELS_SGIX 0x835E +#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F +#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 +#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 +#endif + +#ifndef GL_SGIX_async_histogram +#define GL_ASYNC_HISTOGRAM_SGIX 0x832C +#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D +#endif + +#ifndef GL_INTEL_texture_scissor +#endif + +#ifndef GL_INTEL_parallel_arrays +#define GL_PARALLEL_ARRAYS_INTEL 0x83F4 +#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 +#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 +#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 +#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 +#endif + +#ifndef GL_HP_occlusion_test +#define GL_OCCLUSION_TEST_HP 0x8165 +#define GL_OCCLUSION_TEST_RESULT_HP 0x8166 +#endif + +#ifndef GL_EXT_pixel_transform +#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 +#define GL_PIXEL_MAG_FILTER_EXT 0x8331 +#define GL_PIXEL_MIN_FILTER_EXT 0x8332 +#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 +#define GL_CUBIC_EXT 0x8334 +#define GL_AVERAGE_EXT 0x8335 +#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 +#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 +#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 +#endif + +#ifndef GL_EXT_pixel_transform_color_table +#endif + +#ifndef GL_EXT_shared_texture_palette +#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB +#endif + +#ifndef GL_EXT_separate_specular_color +#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 +#define GL_SINGLE_COLOR_EXT 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA +#endif + +#ifndef GL_EXT_secondary_color +#define GL_COLOR_SUM_EXT 0x8458 +#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D +#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E +#endif + +#ifndef GL_EXT_texture_perturb_normal +#define GL_PERTURB_EXT 0x85AE +#define GL_TEXTURE_NORMAL_EXT 0x85AF +#endif + +#ifndef GL_EXT_multi_draw_arrays +#endif + +#ifndef GL_EXT_fog_coord +#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 +#define GL_FOG_COORDINATE_EXT 0x8451 +#define GL_FRAGMENT_DEPTH_EXT 0x8452 +#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 +#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 +#endif + +#ifndef GL_REND_screen_coordinates +#define GL_SCREEN_COORDINATES_REND 0x8490 +#define GL_INVERTED_SCREEN_W_REND 0x8491 +#endif + +#ifndef GL_EXT_coordinate_frame +#define GL_TANGENT_ARRAY_EXT 0x8439 +#define GL_BINORMAL_ARRAY_EXT 0x843A +#define GL_CURRENT_TANGENT_EXT 0x843B +#define GL_CURRENT_BINORMAL_EXT 0x843C +#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E +#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F +#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 +#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 +#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 +#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 +#define GL_MAP1_TANGENT_EXT 0x8444 +#define GL_MAP2_TANGENT_EXT 0x8445 +#define GL_MAP1_BINORMAL_EXT 0x8446 +#define GL_MAP2_BINORMAL_EXT 0x8447 +#endif + +#ifndef GL_EXT_texture_env_combine +#define GL_COMBINE_EXT 0x8570 +#define GL_COMBINE_RGB_EXT 0x8571 +#define GL_COMBINE_ALPHA_EXT 0x8572 +#define GL_RGB_SCALE_EXT 0x8573 +#define GL_ADD_SIGNED_EXT 0x8574 +#define GL_INTERPOLATE_EXT 0x8575 +#define GL_CONSTANT_EXT 0x8576 +#define GL_PRIMARY_COLOR_EXT 0x8577 +#define GL_PREVIOUS_EXT 0x8578 +#define GL_SOURCE0_RGB_EXT 0x8580 +#define GL_SOURCE1_RGB_EXT 0x8581 +#define GL_SOURCE2_RGB_EXT 0x8582 +#define GL_SOURCE0_ALPHA_EXT 0x8588 +#define GL_SOURCE1_ALPHA_EXT 0x8589 +#define GL_SOURCE2_ALPHA_EXT 0x858A +#define GL_OPERAND0_RGB_EXT 0x8590 +#define GL_OPERAND1_RGB_EXT 0x8591 +#define GL_OPERAND2_RGB_EXT 0x8592 +#define GL_OPERAND0_ALPHA_EXT 0x8598 +#define GL_OPERAND1_ALPHA_EXT 0x8599 +#define GL_OPERAND2_ALPHA_EXT 0x859A +#endif + +#ifndef GL_APPLE_specular_vector +#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 +#endif + +#ifndef GL_APPLE_transform_hint +#define GL_TRANSFORM_HINT_APPLE 0x85B1 +#endif + +#ifndef GL_SGIX_fog_scale +#define GL_FOG_SCALE_SGIX 0x81FC +#define GL_FOG_SCALE_VALUE_SGIX 0x81FD +#endif + +#ifndef GL_SUNX_constant_data +#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 +#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 +#endif + +#ifndef GL_SUN_global_alpha +#define GL_GLOBAL_ALPHA_SUN 0x81D9 +#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA +#endif + +#ifndef GL_SUN_triangle_list +#define GL_RESTART_SUN 0x0001 +#define GL_REPLACE_MIDDLE_SUN 0x0002 +#define GL_REPLACE_OLDEST_SUN 0x0003 +#define GL_TRIANGLE_LIST_SUN 0x81D7 +#define GL_REPLACEMENT_CODE_SUN 0x81D8 +#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 +#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 +#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 +#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 +#define GL_R1UI_V3F_SUN 0x85C4 +#define GL_R1UI_C4UB_V3F_SUN 0x85C5 +#define GL_R1UI_C3F_V3F_SUN 0x85C6 +#define GL_R1UI_N3F_V3F_SUN 0x85C7 +#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 +#define GL_R1UI_T2F_V3F_SUN 0x85C9 +#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA +#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB +#endif + +#ifndef GL_SUN_vertex +#endif + +#ifndef GL_EXT_blend_func_separate +#define GL_BLEND_DST_RGB_EXT 0x80C8 +#define GL_BLEND_SRC_RGB_EXT 0x80C9 +#define GL_BLEND_DST_ALPHA_EXT 0x80CA +#define GL_BLEND_SRC_ALPHA_EXT 0x80CB +#endif + +#ifndef GL_INGR_color_clamp +#define GL_RED_MIN_CLAMP_INGR 0x8560 +#define GL_GREEN_MIN_CLAMP_INGR 0x8561 +#define GL_BLUE_MIN_CLAMP_INGR 0x8562 +#define GL_ALPHA_MIN_CLAMP_INGR 0x8563 +#define GL_RED_MAX_CLAMP_INGR 0x8564 +#define GL_GREEN_MAX_CLAMP_INGR 0x8565 +#define GL_BLUE_MAX_CLAMP_INGR 0x8566 +#define GL_ALPHA_MAX_CLAMP_INGR 0x8567 +#endif + +#ifndef GL_INGR_interlace_read +#define GL_INTERLACE_READ_INGR 0x8568 +#endif + +#ifndef GL_EXT_stencil_wrap +#define GL_INCR_WRAP_EXT 0x8507 +#define GL_DECR_WRAP_EXT 0x8508 +#endif + +#ifndef GL_EXT_422_pixels +#define GL_422_EXT 0x80CC +#define GL_422_REV_EXT 0x80CD +#define GL_422_AVERAGE_EXT 0x80CE +#define GL_422_REV_AVERAGE_EXT 0x80CF +#endif + +#ifndef GL_NV_texgen_reflection +#define GL_NORMAL_MAP_NV 0x8511 +#define GL_REFLECTION_MAP_NV 0x8512 +#endif + +#ifndef GL_EXT_texture_cube_map +#define GL_NORMAL_MAP_EXT 0x8511 +#define GL_REFLECTION_MAP_EXT 0x8512 +#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C +#endif + +#ifndef GL_SUN_convolution_border_modes +#define GL_WRAP_BORDER_SUN 0x81D4 +#endif + +#ifndef GL_EXT_texture_env_add +#endif + +#ifndef GL_EXT_texture_lod_bias +#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD +#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 +#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 +#endif + +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF +#endif + +#ifndef GL_EXT_vertex_weighting +#define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH +#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 +#define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX +#define GL_MODELVIEW1_MATRIX_EXT 0x8506 +#define GL_VERTEX_WEIGHTING_EXT 0x8509 +#define GL_MODELVIEW0_EXT GL_MODELVIEW +#define GL_MODELVIEW1_EXT 0x850A +#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B +#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C +#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D +#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E +#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F +#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 +#endif + +#ifndef GL_NV_light_max_exponent +#define GL_MAX_SHININESS_NV 0x8504 +#define GL_MAX_SPOT_EXPONENT_NV 0x8505 +#endif + +#ifndef GL_NV_vertex_array_range +#define GL_VERTEX_ARRAY_RANGE_NV 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E +#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F +#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 +#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 +#endif + +#ifndef GL_NV_register_combiners +#define GL_REGISTER_COMBINERS_NV 0x8522 +#define GL_VARIABLE_A_NV 0x8523 +#define GL_VARIABLE_B_NV 0x8524 +#define GL_VARIABLE_C_NV 0x8525 +#define GL_VARIABLE_D_NV 0x8526 +#define GL_VARIABLE_E_NV 0x8527 +#define GL_VARIABLE_F_NV 0x8528 +#define GL_VARIABLE_G_NV 0x8529 +#define GL_CONSTANT_COLOR0_NV 0x852A +#define GL_CONSTANT_COLOR1_NV 0x852B +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_SPARE0_NV 0x852E +#define GL_SPARE1_NV 0x852F +#define GL_DISCARD_NV 0x8530 +#define GL_E_TIMES_F_NV 0x8531 +#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 +#define GL_UNSIGNED_IDENTITY_NV 0x8536 +#define GL_UNSIGNED_INVERT_NV 0x8537 +#define GL_EXPAND_NORMAL_NV 0x8538 +#define GL_EXPAND_NEGATE_NV 0x8539 +#define GL_HALF_BIAS_NORMAL_NV 0x853A +#define GL_HALF_BIAS_NEGATE_NV 0x853B +#define GL_SIGNED_IDENTITY_NV 0x853C +#define GL_SIGNED_NEGATE_NV 0x853D +#define GL_SCALE_BY_TWO_NV 0x853E +#define GL_SCALE_BY_FOUR_NV 0x853F +#define GL_SCALE_BY_ONE_HALF_NV 0x8540 +#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 +#define GL_COMBINER_INPUT_NV 0x8542 +#define GL_COMBINER_MAPPING_NV 0x8543 +#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 +#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 +#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 +#define GL_COMBINER_MUX_SUM_NV 0x8547 +#define GL_COMBINER_SCALE_NV 0x8548 +#define GL_COMBINER_BIAS_NV 0x8549 +#define GL_COMBINER_AB_OUTPUT_NV 0x854A +#define GL_COMBINER_CD_OUTPUT_NV 0x854B +#define GL_COMBINER_SUM_OUTPUT_NV 0x854C +#define GL_MAX_GENERAL_COMBINERS_NV 0x854D +#define GL_NUM_GENERAL_COMBINERS_NV 0x854E +#define GL_COLOR_SUM_CLAMP_NV 0x854F +#define GL_COMBINER0_NV 0x8550 +#define GL_COMBINER1_NV 0x8551 +#define GL_COMBINER2_NV 0x8552 +#define GL_COMBINER3_NV 0x8553 +#define GL_COMBINER4_NV 0x8554 +#define GL_COMBINER5_NV 0x8555 +#define GL_COMBINER6_NV 0x8556 +#define GL_COMBINER7_NV 0x8557 +/* reuse GL_TEXTURE0_ARB */ +/* reuse GL_TEXTURE1_ARB */ +/* reuse GL_ZERO */ +/* reuse GL_NONE */ +/* reuse GL_FOG */ +#endif + +#ifndef GL_NV_fog_distance +#define GL_FOG_DISTANCE_MODE_NV 0x855A +#define GL_EYE_RADIAL_NV 0x855B +#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C +/* reuse GL_EYE_PLANE */ +#endif + +#ifndef GL_NV_texgen_emboss +#define GL_EMBOSS_LIGHT_NV 0x855D +#define GL_EMBOSS_CONSTANT_NV 0x855E +#define GL_EMBOSS_MAP_NV 0x855F +#endif + +#ifndef GL_NV_blend_square +#endif + +#ifndef GL_NV_texture_env_combine4 +#define GL_COMBINE4_NV 0x8503 +#define GL_SOURCE3_RGB_NV 0x8583 +#define GL_SOURCE3_ALPHA_NV 0x858B +#define GL_OPERAND3_RGB_NV 0x8593 +#define GL_OPERAND3_ALPHA_NV 0x859B +#endif + +#ifndef GL_MESA_resize_buffers +#endif + +#ifndef GL_MESA_window_pos +#endif + +#ifndef GL_EXT_texture_compression_s3tc +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 +#endif + +#ifndef GL_IBM_cull_vertex +#define GL_CULL_VERTEX_IBM 103050 +#endif + +#ifndef GL_IBM_multimode_draw_arrays +#endif + +#ifndef GL_IBM_vertex_array_lists +#define GL_VERTEX_ARRAY_LIST_IBM 103070 +#define GL_NORMAL_ARRAY_LIST_IBM 103071 +#define GL_COLOR_ARRAY_LIST_IBM 103072 +#define GL_INDEX_ARRAY_LIST_IBM 103073 +#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 +#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 +#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 +#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 +#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 +#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 +#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 +#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 +#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 +#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 +#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 +#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 +#endif + +#ifndef GL_SGIX_subsample +#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0 +#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1 +#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2 +#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3 +#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4 +#endif + +#ifndef GL_SGIX_ycrcb_subsample +#endif + +#ifndef GL_SGIX_ycrcba +#define GL_YCRCB_SGIX 0x8318 +#define GL_YCRCBA_SGIX 0x8319 +#endif + +#ifndef GL_SGI_depth_pass_instrument +#define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310 +#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311 +#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312 +#endif + +#ifndef GL_3DFX_texture_compression_FXT1 +#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 +#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 +#endif + +#ifndef GL_3DFX_multisample +#define GL_MULTISAMPLE_3DFX 0x86B2 +#define GL_SAMPLE_BUFFERS_3DFX 0x86B3 +#define GL_SAMPLES_3DFX 0x86B4 +#define GL_MULTISAMPLE_BIT_3DFX 0x20000000 +#endif + +#ifndef GL_3DFX_tbuffer +#endif + +#ifndef GL_EXT_multisample +#define GL_MULTISAMPLE_EXT 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F +#define GL_SAMPLE_MASK_EXT 0x80A0 +#define GL_1PASS_EXT 0x80A1 +#define GL_2PASS_0_EXT 0x80A2 +#define GL_2PASS_1_EXT 0x80A3 +#define GL_4PASS_0_EXT 0x80A4 +#define GL_4PASS_1_EXT 0x80A5 +#define GL_4PASS_2_EXT 0x80A6 +#define GL_4PASS_3_EXT 0x80A7 +#define GL_SAMPLE_BUFFERS_EXT 0x80A8 +#define GL_SAMPLES_EXT 0x80A9 +#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA +#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB +#define GL_SAMPLE_PATTERN_EXT 0x80AC +#define GL_MULTISAMPLE_BIT_EXT 0x20000000 +#endif + +#ifndef GL_SGIX_vertex_preclip +#define GL_VERTEX_PRECLIP_SGIX 0x83EE +#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF +#endif + +#ifndef GL_SGIX_convolution_accuracy +#define GL_CONVOLUTION_HINT_SGIX 0x8316 +#endif + +#ifndef GL_SGIX_resample +#define GL_PACK_RESAMPLE_SGIX 0x842C +#define GL_UNPACK_RESAMPLE_SGIX 0x842D +#define GL_RESAMPLE_REPLICATE_SGIX 0x842E +#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F +#define GL_RESAMPLE_DECIMATE_SGIX 0x8430 +#endif + +#ifndef GL_SGIS_point_line_texgen +#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 +#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 +#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 +#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 +#define GL_EYE_POINT_SGIS 0x81F4 +#define GL_OBJECT_POINT_SGIS 0x81F5 +#define GL_EYE_LINE_SGIS 0x81F6 +#define GL_OBJECT_LINE_SGIS 0x81F7 +#endif + +#ifndef GL_SGIS_texture_color_mask +#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF +#endif + +#ifndef GL_EXT_texture_env_dot3 +#define GL_DOT3_RGB_EXT 0x8740 +#define GL_DOT3_RGBA_EXT 0x8741 +#endif + +#ifndef GL_ATI_texture_mirror_once +#define GL_MIRROR_CLAMP_ATI 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 +#endif + +#ifndef GL_NV_fence +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 +#endif + +#ifndef GL_IBM_texture_mirrored_repeat +#define GL_MIRRORED_REPEAT_IBM 0x8370 +#endif + +#ifndef GL_NV_evaluators +#define GL_EVAL_2D_NV 0x86C0 +#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 +#define GL_MAP_TESSELLATION_NV 0x86C2 +#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 +#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 +#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 +#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 +#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 +#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 +#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 +#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA +#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB +#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC +#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD +#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE +#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF +#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 +#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 +#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 +#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 +#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 +#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 +#define GL_MAX_MAP_TESSELLATION_NV 0x86D6 +#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 +#endif + +#ifndef GL_NV_packed_depth_stencil +#define GL_DEPTH_STENCIL_NV 0x84F9 +#define GL_UNSIGNED_INT_24_8_NV 0x84FA +#endif + +#ifndef GL_NV_register_combiners2 +#define GL_PER_STAGE_CONSTANTS_NV 0x8535 +#endif + +#ifndef GL_NV_texture_compression_vtc +#endif + +#ifndef GL_NV_texture_rectangle +#define GL_TEXTURE_RECTANGLE_NV 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 +#endif + +#ifndef GL_NV_texture_shader +#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C +#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D +#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E +#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 +#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA +#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB +#define GL_DSDT_MAG_INTENSITY_NV 0x86DC +#define GL_SHADER_CONSISTENT_NV 0x86DD +#define GL_TEXTURE_SHADER_NV 0x86DE +#define GL_SHADER_OPERATION_NV 0x86DF +#define GL_CULL_MODES_NV 0x86E0 +#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 +#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 +#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV +#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV +#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV +#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 +#define GL_CONST_EYE_NV 0x86E5 +#define GL_PASS_THROUGH_NV 0x86E6 +#define GL_CULL_FRAGMENT_NV 0x86E7 +#define GL_OFFSET_TEXTURE_2D_NV 0x86E8 +#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 +#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA +#define GL_DOT_PRODUCT_NV 0x86EC +#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED +#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE +#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 +#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 +#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 +#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 +#define GL_HILO_NV 0x86F4 +#define GL_DSDT_NV 0x86F5 +#define GL_DSDT_MAG_NV 0x86F6 +#define GL_DSDT_MAG_VIB_NV 0x86F7 +#define GL_HILO16_NV 0x86F8 +#define GL_SIGNED_HILO_NV 0x86F9 +#define GL_SIGNED_HILO16_NV 0x86FA +#define GL_SIGNED_RGBA_NV 0x86FB +#define GL_SIGNED_RGBA8_NV 0x86FC +#define GL_SIGNED_RGB_NV 0x86FE +#define GL_SIGNED_RGB8_NV 0x86FF +#define GL_SIGNED_LUMINANCE_NV 0x8701 +#define GL_SIGNED_LUMINANCE8_NV 0x8702 +#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 +#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 +#define GL_SIGNED_ALPHA_NV 0x8705 +#define GL_SIGNED_ALPHA8_NV 0x8706 +#define GL_SIGNED_INTENSITY_NV 0x8707 +#define GL_SIGNED_INTENSITY8_NV 0x8708 +#define GL_DSDT8_NV 0x8709 +#define GL_DSDT8_MAG8_NV 0x870A +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C +#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D +#define GL_HI_SCALE_NV 0x870E +#define GL_LO_SCALE_NV 0x870F +#define GL_DS_SCALE_NV 0x8710 +#define GL_DT_SCALE_NV 0x8711 +#define GL_MAGNITUDE_SCALE_NV 0x8712 +#define GL_VIBRANCE_SCALE_NV 0x8713 +#define GL_HI_BIAS_NV 0x8714 +#define GL_LO_BIAS_NV 0x8715 +#define GL_DS_BIAS_NV 0x8716 +#define GL_DT_BIAS_NV 0x8717 +#define GL_MAGNITUDE_BIAS_NV 0x8718 +#define GL_VIBRANCE_BIAS_NV 0x8719 +#define GL_TEXTURE_BORDER_VALUES_NV 0x871A +#define GL_TEXTURE_HI_SIZE_NV 0x871B +#define GL_TEXTURE_LO_SIZE_NV 0x871C +#define GL_TEXTURE_DS_SIZE_NV 0x871D +#define GL_TEXTURE_DT_SIZE_NV 0x871E +#define GL_TEXTURE_MAG_SIZE_NV 0x871F +#endif + +#ifndef GL_NV_texture_shader2 +#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF +#endif + +#ifndef GL_NV_vertex_array_range2 +#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 +#endif + +#ifndef GL_NV_vertex_program +#define GL_VERTEX_PROGRAM_NV 0x8620 +#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 +#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 +#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 +#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 +#define GL_CURRENT_ATTRIB_NV 0x8626 +#define GL_PROGRAM_LENGTH_NV 0x8627 +#define GL_PROGRAM_STRING_NV 0x8628 +#define GL_MODELVIEW_PROJECTION_NV 0x8629 +#define GL_IDENTITY_NV 0x862A +#define GL_INVERSE_NV 0x862B +#define GL_TRANSPOSE_NV 0x862C +#define GL_INVERSE_TRANSPOSE_NV 0x862D +#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E +#define GL_MAX_TRACK_MATRICES_NV 0x862F +#define GL_MATRIX0_NV 0x8630 +#define GL_MATRIX1_NV 0x8631 +#define GL_MATRIX2_NV 0x8632 +#define GL_MATRIX3_NV 0x8633 +#define GL_MATRIX4_NV 0x8634 +#define GL_MATRIX5_NV 0x8635 +#define GL_MATRIX6_NV 0x8636 +#define GL_MATRIX7_NV 0x8637 +#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 +#define GL_CURRENT_MATRIX_NV 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 +#define GL_PROGRAM_PARAMETER_NV 0x8644 +#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 +#define GL_PROGRAM_TARGET_NV 0x8646 +#define GL_PROGRAM_RESIDENT_NV 0x8647 +#define GL_TRACK_MATRIX_NV 0x8648 +#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 +#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A +#define GL_PROGRAM_ERROR_POSITION_NV 0x864B +#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 +#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 +#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 +#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 +#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 +#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 +#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 +#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 +#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 +#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 +#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A +#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B +#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C +#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D +#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E +#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F +#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 +#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 +#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 +#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 +#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 +#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 +#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 +#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 +#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 +#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 +#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A +#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B +#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C +#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D +#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E +#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F +#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 +#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 +#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 +#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 +#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 +#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 +#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 +#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 +#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 +#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 +#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A +#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B +#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C +#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D +#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E +#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F +#endif + +#ifndef GL_SGIX_texture_coordinate_clamp +#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 +#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A +#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B +#endif + +#ifndef GL_SGIX_scalebias_hint +#define GL_SCALEBIAS_HINT_SGIX 0x8322 +#endif + +#ifndef GL_OML_interlace +#define GL_INTERLACE_OML 0x8980 +#define GL_INTERLACE_READ_OML 0x8981 +#endif + +#ifndef GL_OML_subsample +#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 +#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 +#endif + +#ifndef GL_OML_resample +#define GL_PACK_RESAMPLE_OML 0x8984 +#define GL_UNPACK_RESAMPLE_OML 0x8985 +#define GL_RESAMPLE_REPLICATE_OML 0x8986 +#define GL_RESAMPLE_ZERO_FILL_OML 0x8987 +#define GL_RESAMPLE_AVERAGE_OML 0x8988 +#define GL_RESAMPLE_DECIMATE_OML 0x8989 +#endif + +#ifndef GL_NV_copy_depth_to_color +#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E +#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F +#endif + +#ifndef GL_ATI_envmap_bumpmap +#define GL_BUMP_ROT_MATRIX_ATI 0x8775 +#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 +#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 +#define GL_BUMP_TEX_UNITS_ATI 0x8778 +#define GL_DUDV_ATI 0x8779 +#define GL_DU8DV8_ATI 0x877A +#define GL_BUMP_ENVMAP_ATI 0x877B +#define GL_BUMP_TARGET_ATI 0x877C +#endif + +#ifndef GL_ATI_fragment_shader +#define GL_FRAGMENT_SHADER_ATI 0x8920 +#define GL_REG_0_ATI 0x8921 +#define GL_REG_1_ATI 0x8922 +#define GL_REG_2_ATI 0x8923 +#define GL_REG_3_ATI 0x8924 +#define GL_REG_4_ATI 0x8925 +#define GL_REG_5_ATI 0x8926 +#define GL_REG_6_ATI 0x8927 +#define GL_REG_7_ATI 0x8928 +#define GL_REG_8_ATI 0x8929 +#define GL_REG_9_ATI 0x892A +#define GL_REG_10_ATI 0x892B +#define GL_REG_11_ATI 0x892C +#define GL_REG_12_ATI 0x892D +#define GL_REG_13_ATI 0x892E +#define GL_REG_14_ATI 0x892F +#define GL_REG_15_ATI 0x8930 +#define GL_REG_16_ATI 0x8931 +#define GL_REG_17_ATI 0x8932 +#define GL_REG_18_ATI 0x8933 +#define GL_REG_19_ATI 0x8934 +#define GL_REG_20_ATI 0x8935 +#define GL_REG_21_ATI 0x8936 +#define GL_REG_22_ATI 0x8937 +#define GL_REG_23_ATI 0x8938 +#define GL_REG_24_ATI 0x8939 +#define GL_REG_25_ATI 0x893A +#define GL_REG_26_ATI 0x893B +#define GL_REG_27_ATI 0x893C +#define GL_REG_28_ATI 0x893D +#define GL_REG_29_ATI 0x893E +#define GL_REG_30_ATI 0x893F +#define GL_REG_31_ATI 0x8940 +#define GL_CON_0_ATI 0x8941 +#define GL_CON_1_ATI 0x8942 +#define GL_CON_2_ATI 0x8943 +#define GL_CON_3_ATI 0x8944 +#define GL_CON_4_ATI 0x8945 +#define GL_CON_5_ATI 0x8946 +#define GL_CON_6_ATI 0x8947 +#define GL_CON_7_ATI 0x8948 +#define GL_CON_8_ATI 0x8949 +#define GL_CON_9_ATI 0x894A +#define GL_CON_10_ATI 0x894B +#define GL_CON_11_ATI 0x894C +#define GL_CON_12_ATI 0x894D +#define GL_CON_13_ATI 0x894E +#define GL_CON_14_ATI 0x894F +#define GL_CON_15_ATI 0x8950 +#define GL_CON_16_ATI 0x8951 +#define GL_CON_17_ATI 0x8952 +#define GL_CON_18_ATI 0x8953 +#define GL_CON_19_ATI 0x8954 +#define GL_CON_20_ATI 0x8955 +#define GL_CON_21_ATI 0x8956 +#define GL_CON_22_ATI 0x8957 +#define GL_CON_23_ATI 0x8958 +#define GL_CON_24_ATI 0x8959 +#define GL_CON_25_ATI 0x895A +#define GL_CON_26_ATI 0x895B +#define GL_CON_27_ATI 0x895C +#define GL_CON_28_ATI 0x895D +#define GL_CON_29_ATI 0x895E +#define GL_CON_30_ATI 0x895F +#define GL_CON_31_ATI 0x8960 +#define GL_MOV_ATI 0x8961 +#define GL_ADD_ATI 0x8963 +#define GL_MUL_ATI 0x8964 +#define GL_SUB_ATI 0x8965 +#define GL_DOT3_ATI 0x8966 +#define GL_DOT4_ATI 0x8967 +#define GL_MAD_ATI 0x8968 +#define GL_LERP_ATI 0x8969 +#define GL_CND_ATI 0x896A +#define GL_CND0_ATI 0x896B +#define GL_DOT2_ADD_ATI 0x896C +#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D +#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E +#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F +#define GL_NUM_PASSES_ATI 0x8970 +#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 +#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 +#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 +#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 +#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 +#define GL_SWIZZLE_STR_ATI 0x8976 +#define GL_SWIZZLE_STQ_ATI 0x8977 +#define GL_SWIZZLE_STR_DR_ATI 0x8978 +#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 +#define GL_SWIZZLE_STRQ_ATI 0x897A +#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B +#define GL_RED_BIT_ATI 0x00000001 +#define GL_GREEN_BIT_ATI 0x00000002 +#define GL_BLUE_BIT_ATI 0x00000004 +#define GL_2X_BIT_ATI 0x00000001 +#define GL_4X_BIT_ATI 0x00000002 +#define GL_8X_BIT_ATI 0x00000004 +#define GL_HALF_BIT_ATI 0x00000008 +#define GL_QUARTER_BIT_ATI 0x00000010 +#define GL_EIGHTH_BIT_ATI 0x00000020 +#define GL_SATURATE_BIT_ATI 0x00000040 +#define GL_COMP_BIT_ATI 0x00000002 +#define GL_NEGATE_BIT_ATI 0x00000004 +#define GL_BIAS_BIT_ATI 0x00000008 +#endif + +#ifndef GL_ATI_pn_triangles +#define GL_PN_TRIANGLES_ATI 0x87F0 +#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 +#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 +#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 +#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 +#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 +#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 +#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 +#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 +#endif + +#ifndef GL_ATI_vertex_array_object +#define GL_STATIC_ATI 0x8760 +#define GL_DYNAMIC_ATI 0x8761 +#define GL_PRESERVE_ATI 0x8762 +#define GL_DISCARD_ATI 0x8763 +#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 +#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 +#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 +#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 +#endif + +#ifndef GL_EXT_vertex_shader +#define GL_VERTEX_SHADER_EXT 0x8780 +#define GL_VERTEX_SHADER_BINDING_EXT 0x8781 +#define GL_OP_INDEX_EXT 0x8782 +#define GL_OP_NEGATE_EXT 0x8783 +#define GL_OP_DOT3_EXT 0x8784 +#define GL_OP_DOT4_EXT 0x8785 +#define GL_OP_MUL_EXT 0x8786 +#define GL_OP_ADD_EXT 0x8787 +#define GL_OP_MADD_EXT 0x8788 +#define GL_OP_FRAC_EXT 0x8789 +#define GL_OP_MAX_EXT 0x878A +#define GL_OP_MIN_EXT 0x878B +#define GL_OP_SET_GE_EXT 0x878C +#define GL_OP_SET_LT_EXT 0x878D +#define GL_OP_CLAMP_EXT 0x878E +#define GL_OP_FLOOR_EXT 0x878F +#define GL_OP_ROUND_EXT 0x8790 +#define GL_OP_EXP_BASE_2_EXT 0x8791 +#define GL_OP_LOG_BASE_2_EXT 0x8792 +#define GL_OP_POWER_EXT 0x8793 +#define GL_OP_RECIP_EXT 0x8794 +#define GL_OP_RECIP_SQRT_EXT 0x8795 +#define GL_OP_SUB_EXT 0x8796 +#define GL_OP_CROSS_PRODUCT_EXT 0x8797 +#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 +#define GL_OP_MOV_EXT 0x8799 +#define GL_OUTPUT_VERTEX_EXT 0x879A +#define GL_OUTPUT_COLOR0_EXT 0x879B +#define GL_OUTPUT_COLOR1_EXT 0x879C +#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D +#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E +#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F +#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 +#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 +#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 +#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 +#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 +#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 +#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 +#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 +#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 +#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 +#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA +#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB +#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC +#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD +#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE +#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF +#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 +#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 +#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 +#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 +#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 +#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 +#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 +#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 +#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 +#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 +#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA +#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB +#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC +#define GL_OUTPUT_FOG_EXT 0x87BD +#define GL_SCALAR_EXT 0x87BE +#define GL_VECTOR_EXT 0x87BF +#define GL_MATRIX_EXT 0x87C0 +#define GL_VARIANT_EXT 0x87C1 +#define GL_INVARIANT_EXT 0x87C2 +#define GL_LOCAL_CONSTANT_EXT 0x87C3 +#define GL_LOCAL_EXT 0x87C4 +#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 +#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 +#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 +#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 +#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE +#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF +#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 +#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 +#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 +#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 +#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 +#define GL_X_EXT 0x87D5 +#define GL_Y_EXT 0x87D6 +#define GL_Z_EXT 0x87D7 +#define GL_W_EXT 0x87D8 +#define GL_NEGATIVE_X_EXT 0x87D9 +#define GL_NEGATIVE_Y_EXT 0x87DA +#define GL_NEGATIVE_Z_EXT 0x87DB +#define GL_NEGATIVE_W_EXT 0x87DC +#define GL_ZERO_EXT 0x87DD +#define GL_ONE_EXT 0x87DE +#define GL_NEGATIVE_ONE_EXT 0x87DF +#define GL_NORMALIZED_RANGE_EXT 0x87E0 +#define GL_FULL_RANGE_EXT 0x87E1 +#define GL_CURRENT_VERTEX_EXT 0x87E2 +#define GL_MVP_MATRIX_EXT 0x87E3 +#define GL_VARIANT_VALUE_EXT 0x87E4 +#define GL_VARIANT_DATATYPE_EXT 0x87E5 +#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 +#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 +#define GL_VARIANT_ARRAY_EXT 0x87E8 +#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 +#define GL_INVARIANT_VALUE_EXT 0x87EA +#define GL_INVARIANT_DATATYPE_EXT 0x87EB +#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC +#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED +#endif + +#ifndef GL_ATI_vertex_streams +#define GL_MAX_VERTEX_STREAMS_ATI 0x876B +#define GL_VERTEX_STREAM0_ATI 0x876C +#define GL_VERTEX_STREAM1_ATI 0x876D +#define GL_VERTEX_STREAM2_ATI 0x876E +#define GL_VERTEX_STREAM3_ATI 0x876F +#define GL_VERTEX_STREAM4_ATI 0x8770 +#define GL_VERTEX_STREAM5_ATI 0x8771 +#define GL_VERTEX_STREAM6_ATI 0x8772 +#define GL_VERTEX_STREAM7_ATI 0x8773 +#define GL_VERTEX_SOURCE_ATI 0x8774 +#endif + +#ifndef GL_ATI_element_array +#define GL_ELEMENT_ARRAY_ATI 0x8768 +#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 +#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A +#endif + +#ifndef GL_SUN_mesh_array +#define GL_QUAD_MESH_SUN 0x8614 +#define GL_TRIANGLE_MESH_SUN 0x8615 +#endif + +#ifndef GL_SUN_slice_accum +#define GL_SLICE_ACCUM_SUN 0x85CC +#endif + +#ifndef GL_NV_multisample_filter_hint +#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 +#endif + +#ifndef GL_NV_depth_clamp +#define GL_DEPTH_CLAMP_NV 0x864F +#endif + +#ifndef GL_NV_occlusion_query +#define GL_PIXEL_COUNTER_BITS_NV 0x8864 +#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 +#define GL_PIXEL_COUNT_NV 0x8866 +#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 +#endif + +#ifndef GL_NV_point_sprite +#define GL_POINT_SPRITE_NV 0x8861 +#define GL_COORD_REPLACE_NV 0x8862 +#define GL_POINT_SPRITE_R_MODE_NV 0x8863 +#endif + +#ifndef GL_NV_texture_shader3 +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 +#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 +#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 +#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 +#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 +#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A +#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B +#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C +#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D +#define GL_HILO8_NV 0x885E +#define GL_SIGNED_HILO8_NV 0x885F +#define GL_FORCE_BLUE_TO_ONE_NV 0x8860 +#endif + +#ifndef GL_NV_vertex_program1_1 +#endif + +#ifndef GL_EXT_shadow_funcs +#endif + +#ifndef GL_EXT_stencil_two_side +#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 +#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 +#endif + +#ifndef GL_ATI_text_fragment_shader +#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 +#endif + +#ifndef GL_APPLE_client_storage +#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 +#endif + +#ifndef GL_APPLE_element_array +#define GL_ELEMENT_ARRAY_APPLE 0x8768 +#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8769 +#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x876A +#endif + +#ifndef GL_APPLE_fence +#define GL_DRAW_PIXELS_APPLE 0x8A0A +#define GL_FENCE_APPLE 0x8A0B +#endif + +#ifndef GL_APPLE_vertex_array_object +#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 +#endif + +#ifndef GL_APPLE_vertex_array_range +#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E +#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F +#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF +#endif + +#ifndef GL_APPLE_ycbcr_422 +#define GL_YCBCR_422_APPLE 0x85B9 +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#endif + +#ifndef GL_S3_s3tc +#define GL_RGB_S3TC 0x83A0 +#define GL_RGB4_S3TC 0x83A1 +#define GL_RGBA_S3TC 0x83A2 +#define GL_RGBA4_S3TC 0x83A3 +#endif + +#ifndef GL_ATI_draw_buffers +#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 +#define GL_DRAW_BUFFER0_ATI 0x8825 +#define GL_DRAW_BUFFER1_ATI 0x8826 +#define GL_DRAW_BUFFER2_ATI 0x8827 +#define GL_DRAW_BUFFER3_ATI 0x8828 +#define GL_DRAW_BUFFER4_ATI 0x8829 +#define GL_DRAW_BUFFER5_ATI 0x882A +#define GL_DRAW_BUFFER6_ATI 0x882B +#define GL_DRAW_BUFFER7_ATI 0x882C +#define GL_DRAW_BUFFER8_ATI 0x882D +#define GL_DRAW_BUFFER9_ATI 0x882E +#define GL_DRAW_BUFFER10_ATI 0x882F +#define GL_DRAW_BUFFER11_ATI 0x8830 +#define GL_DRAW_BUFFER12_ATI 0x8831 +#define GL_DRAW_BUFFER13_ATI 0x8832 +#define GL_DRAW_BUFFER14_ATI 0x8833 +#define GL_DRAW_BUFFER15_ATI 0x8834 +#endif + +#ifndef GL_ATI_pixel_format_float +#define GL_TYPE_RGBA_FLOAT_ATI 0x8820 +#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 +#endif + +#ifndef GL_ATI_texture_env_combine3 +#define GL_MODULATE_ADD_ATI 0x8744 +#define GL_MODULATE_SIGNED_ADD_ATI 0x8745 +#define GL_MODULATE_SUBTRACT_ATI 0x8746 +#endif + +#ifndef GL_ATI_texture_float +#define GL_RGBA_FLOAT32_ATI 0x8814 +#define GL_RGB_FLOAT32_ATI 0x8815 +#define GL_ALPHA_FLOAT32_ATI 0x8816 +#define GL_INTENSITY_FLOAT32_ATI 0x8817 +#define GL_LUMINANCE_FLOAT32_ATI 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 +#define GL_RGBA_FLOAT16_ATI 0x881A +#define GL_RGB_FLOAT16_ATI 0x881B +#define GL_ALPHA_FLOAT16_ATI 0x881C +#define GL_INTENSITY_FLOAT16_ATI 0x881D +#define GL_LUMINANCE_FLOAT16_ATI 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F +#endif + +#ifndef GL_NV_float_buffer +#define GL_FLOAT_R_NV 0x8880 +#define GL_FLOAT_RG_NV 0x8881 +#define GL_FLOAT_RGB_NV 0x8882 +#define GL_FLOAT_RGBA_NV 0x8883 +#define GL_FLOAT_R16_NV 0x8884 +#define GL_FLOAT_R32_NV 0x8885 +#define GL_FLOAT_RG16_NV 0x8886 +#define GL_FLOAT_RG32_NV 0x8887 +#define GL_FLOAT_RGB16_NV 0x8888 +#define GL_FLOAT_RGB32_NV 0x8889 +#define GL_FLOAT_RGBA16_NV 0x888A +#define GL_FLOAT_RGBA32_NV 0x888B +#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C +#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D +#define GL_FLOAT_RGBA_MODE_NV 0x888E +#endif + +#ifndef GL_NV_fragment_program +#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 +#define GL_FRAGMENT_PROGRAM_NV 0x8870 +#define GL_MAX_TEXTURE_COORDS_NV 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 +#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 +#define GL_PROGRAM_ERROR_STRING_NV 0x8874 +#endif + +#ifndef GL_NV_half_float +#define GL_HALF_FLOAT_NV 0x140B +#endif + +#ifndef GL_NV_pixel_data_range +#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 +#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 +#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A +#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B +#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C +#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D +#endif + +#ifndef GL_NV_primitive_restart +#define GL_PRIMITIVE_RESTART_NV 0x8558 +#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 +#endif + +#ifndef GL_NV_texture_expand_normal +#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F +#endif + +#ifndef GL_NV_vertex_program2 +#endif + +#ifndef GL_ATI_map_object_buffer +#endif + +#ifndef GL_ATI_separate_stencil +#define GL_STENCIL_BACK_FUNC_ATI 0x8800 +#define GL_STENCIL_BACK_FAIL_ATI 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 +#endif + +#ifndef GL_ATI_vertex_attrib_array_object +#endif + +#ifndef GL_OES_read_format +#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B +#endif + +#ifndef GL_EXT_depth_bounds_test +#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 +#define GL_DEPTH_BOUNDS_EXT 0x8891 +#endif + +#ifndef GL_EXT_texture_mirror_clamp +#define GL_MIRROR_CLAMP_EXT 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 +#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 +#endif + +#ifndef GL_EXT_blend_equation_separate +#define GL_BLEND_EQUATION_RGB_EXT GL_BLEND_EQUATION +#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D +#endif + +#ifndef GL_MESA_pack_invert +#define GL_PACK_INVERT_MESA 0x8758 +#endif + +#ifndef GL_MESA_ycbcr_texture +#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB +#define GL_YCBCR_MESA 0x8757 +#endif + +#ifndef GL_EXT_pixel_buffer_object +#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF +#endif + +#ifndef GL_NV_fragment_program_option +#endif + +#ifndef GL_NV_fragment_program2 +#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 +#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 +#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 +#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 +#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 +#endif + +#ifndef GL_NV_vertex_program2_option +/* reuse GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ +/* reuse GL_MAX_PROGRAM_CALL_DEPTH_NV */ +#endif + +#ifndef GL_NV_vertex_program3 +/* reuse GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ +#endif + +#ifndef GL_EXT_framebuffer_object +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 +#endif + +#ifndef GL_GREMEDY_string_marker +#endif + +#ifndef GL_EXT_packed_depth_stencil +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB8_EXT 0x8C41 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CAA +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E +#endif + +#ifndef GL_EXT_timer_query +#define GL_TIME_ELAPSED_EXT 0x88BF +#endif + +#ifndef GL_EXT_gpu_program_parameters +#endif + +#ifndef GL_APPLE_flush_buffer_range +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 +#endif + + +/*************************************************************/ + +#include +#ifndef GL_VERSION_2_0 +/* GL type for program/shader text */ +typedef char GLchar; /* native character */ +#endif + +#ifndef GL_VERSION_1_5 +/* GL types for handling large vertex buffer objects */ +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; +#endif + +#ifndef GL_ARB_vertex_buffer_object +/* GL types for handling large vertex buffer objects */ +typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; +#endif + +#ifndef GL_ARB_shader_objects +/* GL types for handling shader object handles and program/shader text */ +typedef char GLcharARB; /* native character */ +typedef unsigned int GLhandleARB; /* shader object handle */ +#endif + +/* GL types for "half" precision (s10e5) float data in host memory */ +#ifndef GL_ARB_half_float_pixel +typedef unsigned short GLhalfARB; +#endif + +#ifndef GL_NV_half_float +typedef unsigned short GLhalfNV; +#endif + +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) +#include +#if defined(__STDC__) +#if defined(__arch64__) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +#include /* Fallback option */ +#endif +#endif + +#ifndef GL_EXT_timer_query +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif + +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf); +GLAPI void APIENTRY glBlendEquation (GLenum); +GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *); +GLAPI void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glColorTableParameterfv (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glColorTableParameteriv (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glCopyColorTable (GLenum, GLenum, GLint, GLint, GLsizei); +GLAPI void APIENTRY glGetColorTable (GLenum, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetColorTableParameterfv (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetColorTableParameteriv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glColorSubTable (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyColorSubTable (GLenum, GLsizei, GLint, GLint, GLsizei); +GLAPI void APIENTRY glConvolutionFilter1D (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glConvolutionFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glConvolutionParameterf (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glConvolutionParameterfv (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glConvolutionParameteri (GLenum, GLenum, GLint); +GLAPI void APIENTRY glConvolutionParameteriv (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum, GLenum, GLint, GLint, GLsizei); +GLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glGetConvolutionFilter (GLenum, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetConvolutionParameterfv (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetConvolutionParameteriv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetSeparableFilter (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *); +GLAPI void APIENTRY glSeparableFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *); +GLAPI void APIENTRY glGetHistogram (GLenum, GLboolean, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetHistogramParameterfv (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetHistogramParameteriv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMinmax (GLenum, GLboolean, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetMinmaxParameterfv (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMinmaxParameteriv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glHistogram (GLenum, GLsizei, GLenum, GLboolean); +GLAPI void APIENTRY glMinmax (GLenum, GLenum, GLboolean); +GLAPI void APIENTRY glResetHistogram (GLenum); +GLAPI void APIENTRY glResetMinmax (GLenum); +GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); +typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); +typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); +typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); +typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target); +typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target); +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +#endif + +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glActiveTexture (GLenum); +GLAPI void APIENTRY glClientActiveTexture (GLenum); +GLAPI void APIENTRY glMultiTexCoord1d (GLenum, GLdouble); +GLAPI void APIENTRY glMultiTexCoord1dv (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord1f (GLenum, GLfloat); +GLAPI void APIENTRY glMultiTexCoord1fv (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord1i (GLenum, GLint); +GLAPI void APIENTRY glMultiTexCoord1iv (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord1s (GLenum, GLshort); +GLAPI void APIENTRY glMultiTexCoord1sv (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord2d (GLenum, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord2dv (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord2f (GLenum, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord2fv (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord2i (GLenum, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord2iv (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord2s (GLenum, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord2sv (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord3d (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord3dv (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord3f (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord3fv (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord3i (GLenum, GLint, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord3iv (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord3s (GLenum, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord3sv (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord4d (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord4dv (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord4f (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord4fv (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord4i (GLenum, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord4iv (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord4s (GLenum, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord4sv (GLenum, const GLshort *); +GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *); +GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *); +GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *); +GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *); +GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean); +GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m); +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m); +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m); +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m); +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img); +#endif + +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glFogCoordf (GLfloat); +GLAPI void APIENTRY glFogCoordfv (const GLfloat *); +GLAPI void APIENTRY glFogCoordd (GLdouble); +GLAPI void APIENTRY glFogCoorddv (const GLdouble *); +GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei); +GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); +GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat); +GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *); +GLAPI void APIENTRY glPointParameteri (GLenum, GLint); +GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *); +GLAPI void APIENTRY glSecondaryColor3b (GLbyte, GLbyte, GLbyte); +GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *); +GLAPI void APIENTRY glSecondaryColor3d (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *); +GLAPI void APIENTRY glSecondaryColor3f (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *); +GLAPI void APIENTRY glSecondaryColor3i (GLint, GLint, GLint); +GLAPI void APIENTRY glSecondaryColor3iv (const GLint *); +GLAPI void APIENTRY glSecondaryColor3s (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *); +GLAPI void APIENTRY glSecondaryColor3ub (GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *); +GLAPI void APIENTRY glSecondaryColor3ui (GLuint, GLuint, GLuint); +GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *); +GLAPI void APIENTRY glSecondaryColor3us (GLushort, GLushort, GLushort); +GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *); +GLAPI void APIENTRY glSecondaryColorPointer (GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glWindowPos2d (GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos2dv (const GLdouble *); +GLAPI void APIENTRY glWindowPos2f (GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos2fv (const GLfloat *); +GLAPI void APIENTRY glWindowPos2i (GLint, GLint); +GLAPI void APIENTRY glWindowPos2iv (const GLint *); +GLAPI void APIENTRY glWindowPos2s (GLshort, GLshort); +GLAPI void APIENTRY glWindowPos2sv (const GLshort *); +GLAPI void APIENTRY glWindowPos3d (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos3dv (const GLdouble *); +GLAPI void APIENTRY glWindowPos3f (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos3fv (const GLfloat *); +GLAPI void APIENTRY glWindowPos3i (GLint, GLint, GLint); +GLAPI void APIENTRY glWindowPos3iv (const GLint *); +GLAPI void APIENTRY glWindowPos3s (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glWindowPos3sv (const GLshort *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord); +typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord); +typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord); +typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord); +typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y); +typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v); +#endif + +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenQueries (GLsizei, GLuint *); +GLAPI void APIENTRY glDeleteQueries (GLsizei, const GLuint *); +GLAPI GLboolean APIENTRY glIsQuery (GLuint); +GLAPI void APIENTRY glBeginQuery (GLenum, GLuint); +GLAPI void APIENTRY glEndQuery (GLenum); +GLAPI void APIENTRY glGetQueryiv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetQueryObjectiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetQueryObjectuiv (GLuint, GLenum, GLuint *); +GLAPI void APIENTRY glBindBuffer (GLenum, GLuint); +GLAPI void APIENTRY glDeleteBuffers (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenBuffers (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsBuffer (GLuint); +GLAPI void APIENTRY glBufferData (GLenum, GLsizeiptr, const GLvoid *, GLenum); +GLAPI void APIENTRY glBufferSubData (GLenum, GLintptr, GLsizeiptr, const GLvoid *); +GLAPI void APIENTRY glGetBufferSubData (GLenum, GLintptr, GLsizeiptr, GLvoid *); +GLAPI GLvoid* APIENTRY glMapBuffer (GLenum, GLenum); +GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum); +GLAPI void APIENTRY glGetBufferParameteriv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetBufferPointerv (GLenum, GLenum, GLvoid* *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id); +typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); +typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); +typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data); +typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params); +#endif + +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationSeparate (GLenum, GLenum); +GLAPI void APIENTRY glDrawBuffers (GLsizei, const GLenum *); +GLAPI void APIENTRY glStencilOpSeparate (GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glStencilFuncSeparate (GLenum, GLenum, GLint, GLuint); +GLAPI void APIENTRY glStencilMaskSeparate (GLenum, GLuint); +GLAPI void APIENTRY glAttachShader (GLuint, GLuint); +GLAPI void APIENTRY glBindAttribLocation (GLuint, GLuint, const GLchar *); +GLAPI void APIENTRY glCompileShader (GLuint); +GLAPI GLuint APIENTRY glCreateProgram (void); +GLAPI GLuint APIENTRY glCreateShader (GLenum); +GLAPI void APIENTRY glDeleteProgram (GLuint); +GLAPI void APIENTRY glDeleteShader (GLuint); +GLAPI void APIENTRY glDetachShader (GLuint, GLuint); +GLAPI void APIENTRY glDisableVertexAttribArray (GLuint); +GLAPI void APIENTRY glEnableVertexAttribArray (GLuint); +GLAPI void APIENTRY glGetActiveAttrib (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); +GLAPI void APIENTRY glGetActiveUniform (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); +GLAPI void APIENTRY glGetAttachedShaders (GLuint, GLsizei, GLsizei *, GLuint *); +GLAPI GLint APIENTRY glGetAttribLocation (GLuint, const GLchar *); +GLAPI void APIENTRY glGetProgramiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetProgramInfoLog (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetShaderiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetShaderInfoLog (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetShaderSource (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI GLint APIENTRY glGetUniformLocation (GLuint, const GLchar *); +GLAPI void APIENTRY glGetUniformfv (GLuint, GLint, GLfloat *); +GLAPI void APIENTRY glGetUniformiv (GLuint, GLint, GLint *); +GLAPI void APIENTRY glGetVertexAttribdv (GLuint, GLenum, GLdouble *); +GLAPI void APIENTRY glGetVertexAttribfv (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVertexAttribiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint, GLenum, GLvoid* *); +GLAPI GLboolean APIENTRY glIsProgram (GLuint); +GLAPI GLboolean APIENTRY glIsShader (GLuint); +GLAPI void APIENTRY glLinkProgram (GLuint); +GLAPI void APIENTRY glShaderSource (GLuint, GLsizei, const GLchar* *, const GLint *); +GLAPI void APIENTRY glUseProgram (GLuint); +GLAPI void APIENTRY glUniform1f (GLint, GLfloat); +GLAPI void APIENTRY glUniform2f (GLint, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform3f (GLint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform4f (GLint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform1i (GLint, GLint); +GLAPI void APIENTRY glUniform2i (GLint, GLint, GLint); +GLAPI void APIENTRY glUniform3i (GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform4i (GLint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform1fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform2fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform3fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform4fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform1iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform2iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform3iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform4iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniformMatrix2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glValidateProgram (GLuint); +GLAPI void APIENTRY glVertexAttrib1d (GLuint, GLdouble); +GLAPI void APIENTRY glVertexAttrib1dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib1f (GLuint, GLfloat); +GLAPI void APIENTRY glVertexAttrib1fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib1s (GLuint, GLshort); +GLAPI void APIENTRY glVertexAttrib1sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib2d (GLuint, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib2dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib2f (GLuint, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib2fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib2s (GLuint, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib2sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib3d (GLuint, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib3dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib3f (GLuint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib3fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib3s (GLuint, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib3sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4Niv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4Nub (GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttrib4bv (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib4dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib4f (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib4fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib4iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4s (GLuint, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib4sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4ubv (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4usv (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttribPointer (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name); +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type); +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj); +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params); +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length); +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif + +#ifndef GL_ARB_multitexture +#define GL_ARB_multitexture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glActiveTextureARB (GLenum); +GLAPI void APIENTRY glClientActiveTextureARB (GLenum); +GLAPI void APIENTRY glMultiTexCoord1dARB (GLenum, GLdouble); +GLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord1fARB (GLenum, GLfloat); +GLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord1iARB (GLenum, GLint); +GLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord1sARB (GLenum, GLshort); +GLAPI void APIENTRY glMultiTexCoord1svARB (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord2dARB (GLenum, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord2fARB (GLenum, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord2iARB (GLenum, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord2sARB (GLenum, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord2svARB (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord3dARB (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord3fARB (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord3iARB (GLenum, GLint, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord3sARB (GLenum, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord3svARB (GLenum, const GLshort *); +GLAPI void APIENTRY glMultiTexCoord4dARB (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexCoord4fARB (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexCoord4iARB (GLenum, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexCoord4sARB (GLenum, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glMultiTexCoord4svARB (GLenum, const GLshort *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); +#endif + +#ifndef GL_ARB_transpose_matrix +#define GL_ARB_transpose_matrix 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *); +GLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *); +GLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *); +GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m); +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m); +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m); +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m); +#endif + +#ifndef GL_ARB_multisample +#define GL_ARB_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSampleCoverageARB (GLclampf, GLboolean); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); +#endif + +#ifndef GL_ARB_texture_env_add +#define GL_ARB_texture_env_add 1 +#endif + +#ifndef GL_ARB_texture_cube_map +#define GL_ARB_texture_cube_map 1 +#endif + +#ifndef GL_ARB_texture_compression +#define GL_ARB_texture_compression 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCompressedTexImage3DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage2DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage1DARB (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum, GLint, GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img); +#endif + +#ifndef GL_ARB_texture_border_clamp +#define GL_ARB_texture_border_clamp 1 +#endif + +#ifndef GL_ARB_point_parameters +#define GL_ARB_point_parameters 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPointParameterfARB (GLenum, GLfloat); +GLAPI void APIENTRY glPointParameterfvARB (GLenum, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params); +#endif + +#ifndef GL_ARB_vertex_blend +#define GL_ARB_vertex_blend 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glWeightbvARB (GLint, const GLbyte *); +GLAPI void APIENTRY glWeightsvARB (GLint, const GLshort *); +GLAPI void APIENTRY glWeightivARB (GLint, const GLint *); +GLAPI void APIENTRY glWeightfvARB (GLint, const GLfloat *); +GLAPI void APIENTRY glWeightdvARB (GLint, const GLdouble *); +GLAPI void APIENTRY glWeightubvARB (GLint, const GLubyte *); +GLAPI void APIENTRY glWeightusvARB (GLint, const GLushort *); +GLAPI void APIENTRY glWeightuivARB (GLint, const GLuint *); +GLAPI void APIENTRY glWeightPointerARB (GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glVertexBlendARB (GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights); +typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights); +typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights); +typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights); +typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights); +typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights); +typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights); +typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights); +typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count); +#endif + +#ifndef GL_ARB_matrix_palette +#define GL_ARB_matrix_palette 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint); +GLAPI void APIENTRY glMatrixIndexubvARB (GLint, const GLubyte *); +GLAPI void APIENTRY glMatrixIndexusvARB (GLint, const GLushort *); +GLAPI void APIENTRY glMatrixIndexuivARB (GLint, const GLuint *); +GLAPI void APIENTRY glMatrixIndexPointerARB (GLint, GLenum, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); +typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices); +typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices); +typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices); +typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_ARB_texture_env_combine +#define GL_ARB_texture_env_combine 1 +#endif + +#ifndef GL_ARB_texture_env_crossbar +#define GL_ARB_texture_env_crossbar 1 +#endif + +#ifndef GL_ARB_texture_env_dot3 +#define GL_ARB_texture_env_dot3 1 +#endif + +#ifndef GL_ARB_texture_mirrored_repeat +#define GL_ARB_texture_mirrored_repeat 1 +#endif + +#ifndef GL_ARB_depth_texture +#define GL_ARB_depth_texture 1 +#endif + +#ifndef GL_ARB_shadow +#define GL_ARB_shadow 1 +#endif + +#ifndef GL_ARB_shadow_ambient +#define GL_ARB_shadow_ambient 1 +#endif + +#ifndef GL_ARB_window_pos +#define GL_ARB_window_pos 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glWindowPos2dARB (GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *); +GLAPI void APIENTRY glWindowPos2fARB (GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *); +GLAPI void APIENTRY glWindowPos2iARB (GLint, GLint); +GLAPI void APIENTRY glWindowPos2ivARB (const GLint *); +GLAPI void APIENTRY glWindowPos2sARB (GLshort, GLshort); +GLAPI void APIENTRY glWindowPos2svARB (const GLshort *); +GLAPI void APIENTRY glWindowPos3dARB (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *); +GLAPI void APIENTRY glWindowPos3fARB (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *); +GLAPI void APIENTRY glWindowPos3iARB (GLint, GLint, GLint); +GLAPI void APIENTRY glWindowPos3ivARB (const GLint *); +GLAPI void APIENTRY glWindowPos3sARB (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glWindowPos3svARB (const GLshort *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); +typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v); +#endif + +#ifndef GL_ARB_vertex_program +#define GL_ARB_vertex_program 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttrib1dARB (GLuint, GLdouble); +GLAPI void APIENTRY glVertexAttrib1dvARB (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib1fARB (GLuint, GLfloat); +GLAPI void APIENTRY glVertexAttrib1fvARB (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib1sARB (GLuint, GLshort); +GLAPI void APIENTRY glVertexAttrib1svARB (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib2dARB (GLuint, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib2dvARB (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib2fARB (GLuint, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib2fvARB (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib2sARB (GLuint, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib2svARB (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib3dARB (GLuint, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib3dvARB (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib3fARB (GLuint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib3fvARB (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib3sARB (GLuint, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib3svARB (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4NivARB (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4NubARB (GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttrib4bvARB (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4dARB (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib4dvARB (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib4fARB (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib4fvARB (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib4ivARB (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4sARB (GLuint, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib4svARB (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4uivARB (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4usvARB (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttribPointerARB (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); +GLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint); +GLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint); +GLAPI void APIENTRY glProgramStringARB (GLenum, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glBindProgramARB (GLenum, GLuint); +GLAPI void APIENTRY glDeleteProgramsARB (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenProgramsARB (GLsizei, GLuint *); +GLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum, GLuint, const GLdouble *); +GLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum, GLuint, const GLfloat *); +GLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum, GLuint, const GLdouble *); +GLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum, GLuint, const GLfloat *); +GLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum, GLuint, GLdouble *); +GLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum, GLuint, GLdouble *); +GLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glGetProgramivARB (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetProgramStringARB (GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetVertexAttribdvARB (GLuint, GLenum, GLdouble *); +GLAPI void APIENTRY glGetVertexAttribfvARB (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVertexAttribivARB (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint, GLenum, GLvoid* *); +GLAPI GLboolean APIENTRY glIsProgramARB (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string); +typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); +typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs); +typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params); +typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params); +typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params); +typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params); +typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program); +#endif + +#ifndef GL_ARB_fragment_program +#define GL_ARB_fragment_program 1 +/* All ARB_fragment_program entry points are shared with ARB_vertex_program. */ +#endif + +#ifndef GL_ARB_vertex_buffer_object +#define GL_ARB_vertex_buffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindBufferARB (GLenum, GLuint); +GLAPI void APIENTRY glDeleteBuffersARB (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenBuffersARB (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsBufferARB (GLuint); +GLAPI void APIENTRY glBufferDataARB (GLenum, GLsizeiptrARB, const GLvoid *, GLenum); +GLAPI void APIENTRY glBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *); +GLAPI void APIENTRY glGetBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *); +GLAPI GLvoid* APIENTRY glMapBufferARB (GLenum, GLenum); +GLAPI GLboolean APIENTRY glUnmapBufferARB (GLenum); +GLAPI void APIENTRY glGetBufferParameterivARB (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetBufferPointervARB (GLenum, GLenum, GLvoid* *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); +typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers); +typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers); +typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage); +typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data); +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data); +typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params); +#endif + +#ifndef GL_ARB_occlusion_query +#define GL_ARB_occlusion_query 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenQueriesARB (GLsizei, GLuint *); +GLAPI void APIENTRY glDeleteQueriesARB (GLsizei, const GLuint *); +GLAPI GLboolean APIENTRY glIsQueryARB (GLuint); +GLAPI void APIENTRY glBeginQueryARB (GLenum, GLuint); +GLAPI void APIENTRY glEndQueryARB (GLenum); +GLAPI void APIENTRY glGetQueryivARB (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetQueryObjectivARB (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint, GLenum, GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id); +typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params); +#endif + +#ifndef GL_ARB_shader_objects +#define GL_ARB_shader_objects 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDeleteObjectARB (GLhandleARB); +GLAPI GLhandleARB APIENTRY glGetHandleARB (GLenum); +GLAPI void APIENTRY glDetachObjectARB (GLhandleARB, GLhandleARB); +GLAPI GLhandleARB APIENTRY glCreateShaderObjectARB (GLenum); +GLAPI void APIENTRY glShaderSourceARB (GLhandleARB, GLsizei, const GLcharARB* *, const GLint *); +GLAPI void APIENTRY glCompileShaderARB (GLhandleARB); +GLAPI GLhandleARB APIENTRY glCreateProgramObjectARB (void); +GLAPI void APIENTRY glAttachObjectARB (GLhandleARB, GLhandleARB); +GLAPI void APIENTRY glLinkProgramARB (GLhandleARB); +GLAPI void APIENTRY glUseProgramObjectARB (GLhandleARB); +GLAPI void APIENTRY glValidateProgramARB (GLhandleARB); +GLAPI void APIENTRY glUniform1fARB (GLint, GLfloat); +GLAPI void APIENTRY glUniform2fARB (GLint, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform3fARB (GLint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform4fARB (GLint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform1iARB (GLint, GLint); +GLAPI void APIENTRY glUniform2iARB (GLint, GLint, GLint); +GLAPI void APIENTRY glUniform3iARB (GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform4iARB (GLint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform1fvARB (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform2fvARB (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform3fvARB (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform4fvARB (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform1ivARB (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform2ivARB (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform3ivARB (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform4ivARB (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniformMatrix2fvARB (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3fvARB (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4fvARB (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glGetObjectParameterfvARB (GLhandleARB, GLenum, GLfloat *); +GLAPI void APIENTRY glGetObjectParameterivARB (GLhandleARB, GLenum, GLint *); +GLAPI void APIENTRY glGetInfoLogARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); +GLAPI void APIENTRY glGetAttachedObjectsARB (GLhandleARB, GLsizei, GLsizei *, GLhandleARB *); +GLAPI GLint APIENTRY glGetUniformLocationARB (GLhandleARB, const GLcharARB *); +GLAPI void APIENTRY glGetActiveUniformARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); +GLAPI void APIENTRY glGetUniformfvARB (GLhandleARB, GLint, GLfloat *); +GLAPI void APIENTRY glGetUniformivARB (GLhandleARB, GLint, GLint *); +GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); +typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname); +typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); +typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); +typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length); +typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); +typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void); +typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); +typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); +typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); +typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); +typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog); +typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj); +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); +typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params); +typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params); +typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source); +#endif + +#ifndef GL_ARB_vertex_shader +#define GL_ARB_vertex_shader 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindAttribLocationARB (GLhandleARB, GLuint, const GLcharARB *); +GLAPI void APIENTRY glGetActiveAttribARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); +GLAPI GLint APIENTRY glGetAttribLocationARB (GLhandleARB, const GLcharARB *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name); +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name); +#endif + +#ifndef GL_ARB_fragment_shader +#define GL_ARB_fragment_shader 1 +#endif + +#ifndef GL_ARB_shading_language_100 +#define GL_ARB_shading_language_100 1 +#endif + +#ifndef GL_ARB_texture_non_power_of_two +#define GL_ARB_texture_non_power_of_two 1 +#endif + +#ifndef GL_ARB_point_sprite +#define GL_ARB_point_sprite 1 +#endif + +#ifndef GL_ARB_fragment_program_shadow +#define GL_ARB_fragment_program_shadow 1 +#endif + +#ifndef GL_ARB_draw_buffers +#define GL_ARB_draw_buffers 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawBuffersARB (GLsizei, const GLenum *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs); +#endif + +#ifndef GL_ARB_texture_rectangle +#define GL_ARB_texture_rectangle 1 +#endif + +#ifndef GL_ARB_color_buffer_float +#define GL_ARB_color_buffer_float 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClampColorARB (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); +#endif + +#ifndef GL_ARB_half_float_pixel +#define GL_ARB_half_float_pixel 1 +#endif + +#ifndef GL_ARB_texture_float +#define GL_ARB_texture_float 1 +#endif + +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 +#endif + +#ifndef GL_EXT_abgr +#define GL_EXT_abgr 1 +#endif + +#ifndef GL_EXT_blend_color +#define GL_EXT_blend_color 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendColorEXT (GLclampf, GLclampf, GLclampf, GLclampf); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +#endif + +#ifndef GL_EXT_polygon_offset +#define GL_EXT_polygon_offset 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat, GLfloat); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); +#endif + +#ifndef GL_EXT_texture +#define GL_EXT_texture 1 +#endif + +#ifndef GL_EXT_texture3D +#define GL_EXT_texture3D 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexImage3DEXT (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +#endif + +#ifndef GL_SGIS_texture_filter4 +#define GL_SGIS_texture_filter4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glTexFilterFuncSGIS (GLenum, GLenum, GLsizei, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights); +typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights); +#endif + +#ifndef GL_EXT_subtexture +#define GL_EXT_subtexture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexSubImage1DEXT (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +#endif + +#ifndef GL_EXT_copy_texture +#define GL_EXT_copy_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCopyTexImage1DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +GLAPI void APIENTRY glCopyTexImage2DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +GLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei); +GLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +#endif + +#ifndef GL_EXT_histogram +#define GL_EXT_histogram 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetHistogramEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMinmaxEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glHistogramEXT (GLenum, GLsizei, GLenum, GLboolean); +GLAPI void APIENTRY glMinmaxEXT (GLenum, GLenum, GLboolean); +GLAPI void APIENTRY glResetHistogramEXT (GLenum); +GLAPI void APIENTRY glResetMinmaxEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target); +typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target); +#endif + +#ifndef GL_EXT_convolution +#define GL_EXT_convolution 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glConvolutionParameterfEXT (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glConvolutionParameteriEXT (GLenum, GLenum, GLint); +GLAPI void APIENTRY glConvolutionParameterivEXT (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum, GLenum, GLint, GLint, GLsizei); +GLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetSeparableFilterEXT (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *); +GLAPI void APIENTRY glSeparableFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); +typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params); +typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); +typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); +#endif + +#ifndef GL_SGI_color_matrix +#define GL_SGI_color_matrix 1 +#endif + +#ifndef GL_SGI_color_table +#define GL_SGI_color_table 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorTableSGI (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glColorTableParameterfvSGI (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glColorTableParameterivSGI (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glCopyColorTableSGI (GLenum, GLenum, GLint, GLint, GLsizei); +GLAPI void APIENTRY glGetColorTableSGI (GLenum, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum, GLenum, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); +typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params); +#endif + +#ifndef GL_SGIX_pixel_texture +#define GL_SGIX_pixel_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPixelTexGenSGIX (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode); +#endif + +#ifndef GL_SGIS_pixel_texture +#define GL_SGIS_pixel_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum, GLint); +GLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum, const GLint *); +GLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum, GLfloat); +GLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum, const GLfloat *); +GLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum, GLint *); +GLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params); +#endif + +#ifndef GL_SGIS_texture4D +#define GL_SGIS_texture4D 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexImage4DSGIS (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexSubImage4DSGIS (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels); +#endif + +#ifndef GL_SGI_texture_color_table +#define GL_SGI_texture_color_table 1 +#endif + +#ifndef GL_EXT_cmyka +#define GL_EXT_cmyka 1 +#endif + +#ifndef GL_EXT_texture_object +#define GL_EXT_texture_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei, const GLuint *, GLboolean *); +GLAPI void APIENTRY glBindTextureEXT (GLenum, GLuint); +GLAPI void APIENTRY glDeleteTexturesEXT (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenTexturesEXT (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsTextureEXT (GLuint); +GLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei, const GLuint *, const GLclampf *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences); +typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); +typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures); +typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures); +typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture); +typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities); +#endif + +#ifndef GL_SGIS_detail_texture +#define GL_SGIS_detail_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDetailTexFuncSGIS (GLenum, GLsizei, const GLfloat *); +GLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points); +typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points); +#endif + +#ifndef GL_SGIS_sharpen_texture +#define GL_SGIS_sharpen_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum, GLsizei, const GLfloat *); +GLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points); +typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points); +#endif + +#ifndef GL_EXT_packed_pixels +#define GL_EXT_packed_pixels 1 +#endif + +#ifndef GL_SGIS_texture_lod +#define GL_SGIS_texture_lod 1 +#endif + +#ifndef GL_SGIS_multisample +#define GL_SGIS_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSampleMaskSGIS (GLclampf, GLboolean); +GLAPI void APIENTRY glSamplePatternSGIS (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); +typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); +#endif + +#ifndef GL_EXT_rescale_normal +#define GL_EXT_rescale_normal 1 +#endif + +#ifndef GL_EXT_vertex_array +#define GL_EXT_vertex_array 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glArrayElementEXT (GLint); +GLAPI void APIENTRY glColorPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *); +GLAPI void APIENTRY glDrawArraysEXT (GLenum, GLint, GLsizei); +GLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei, GLsizei, const GLboolean *); +GLAPI void APIENTRY glGetPointervEXT (GLenum, GLvoid* *); +GLAPI void APIENTRY glIndexPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *); +GLAPI void APIENTRY glNormalPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *); +GLAPI void APIENTRY glTexCoordPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *); +GLAPI void APIENTRY glVertexPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i); +typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer); +typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params); +typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +#endif + +#ifndef GL_EXT_misc_attribute +#define GL_EXT_misc_attribute 1 +#endif + +#ifndef GL_SGIS_generate_mipmap +#define GL_SGIS_generate_mipmap 1 +#endif + +#ifndef GL_SGIX_clipmap +#define GL_SGIX_clipmap 1 +#endif + +#ifndef GL_SGIX_shadow +#define GL_SGIX_shadow 1 +#endif + +#ifndef GL_SGIS_texture_edge_clamp +#define GL_SGIS_texture_edge_clamp 1 +#endif + +#ifndef GL_SGIS_texture_border_clamp +#define GL_SGIS_texture_border_clamp 1 +#endif + +#ifndef GL_EXT_blend_minmax +#define GL_EXT_blend_minmax 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode); +#endif + +#ifndef GL_EXT_blend_subtract +#define GL_EXT_blend_subtract 1 +#endif + +#ifndef GL_EXT_blend_logic_op +#define GL_EXT_blend_logic_op 1 +#endif + +#ifndef GL_SGIX_interlace +#define GL_SGIX_interlace 1 +#endif + +#ifndef GL_SGIX_pixel_tiles +#define GL_SGIX_pixel_tiles 1 +#endif + +#ifndef GL_SGIX_texture_select +#define GL_SGIX_texture_select 1 +#endif + +#ifndef GL_SGIX_sprite +#define GL_SGIX_sprite 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSpriteParameterfSGIX (GLenum, GLfloat); +GLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum, const GLfloat *); +GLAPI void APIENTRY glSpriteParameteriSGIX (GLenum, GLint); +GLAPI void APIENTRY glSpriteParameterivSGIX (GLenum, const GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params); +#endif + +#ifndef GL_SGIX_texture_multi_buffer +#define GL_SGIX_texture_multi_buffer 1 +#endif + +#ifndef GL_EXT_point_parameters +#define GL_EXT_point_parameters 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPointParameterfEXT (GLenum, GLfloat); +GLAPI void APIENTRY glPointParameterfvEXT (GLenum, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params); +#endif + +#ifndef GL_SGIS_point_parameters +#define GL_SGIS_point_parameters 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPointParameterfSGIS (GLenum, GLfloat); +GLAPI void APIENTRY glPointParameterfvSGIS (GLenum, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params); +#endif + +#ifndef GL_SGIX_instruments +#define GL_SGIX_instruments 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLint APIENTRY glGetInstrumentsSGIX (void); +GLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei, GLint *); +GLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *); +GLAPI void APIENTRY glReadInstrumentsSGIX (GLint); +GLAPI void APIENTRY glStartInstrumentsSGIX (void); +GLAPI void APIENTRY glStopInstrumentsSGIX (GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void); +typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer); +typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p); +typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker); +typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void); +typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker); +#endif + +#ifndef GL_SGIX_texture_scale_bias +#define GL_SGIX_texture_scale_bias 1 +#endif + +#ifndef GL_SGIX_framezoom +#define GL_SGIX_framezoom 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFrameZoomSGIX (GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor); +#endif + +#ifndef GL_SGIX_tag_sample_buffer +#define GL_SGIX_tag_sample_buffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTagSampleBufferSGIX (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void); +#endif + +#ifndef GL_SGIX_polynomial_ffd +#define GL_SGIX_polynomial_ffd 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDeformationMap3dSGIX (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *); +GLAPI void APIENTRY glDeformationMap3fSGIX (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *); +GLAPI void APIENTRY glDeformSGIX (GLbitfield); +GLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points); +typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points); +typedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask); +#endif + +#ifndef GL_SGIX_reference_plane +#define GL_SGIX_reference_plane 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation); +#endif + +#ifndef GL_SGIX_flush_raster +#define GL_SGIX_flush_raster 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFlushRasterSGIX (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void); +#endif + +#ifndef GL_SGIX_depth_texture +#define GL_SGIX_depth_texture 1 +#endif + +#ifndef GL_SGIS_fog_function +#define GL_SGIS_fog_function 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFogFuncSGIS (GLsizei, const GLfloat *); +GLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points); +typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points); +#endif + +#ifndef GL_SGIX_fog_offset +#define GL_SGIX_fog_offset 1 +#endif + +#ifndef GL_HP_image_transform +#define GL_HP_image_transform 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glImageTransformParameteriHP (GLenum, GLenum, GLint); +GLAPI void APIENTRY glImageTransformParameterfHP (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glImageTransformParameterivHP (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glImageTransformParameterfvHP (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum, GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params); +#endif + +#ifndef GL_HP_convolution_border_modes +#define GL_HP_convolution_border_modes 1 +#endif + +#ifndef GL_SGIX_texture_add_env +#define GL_SGIX_texture_add_env 1 +#endif + +#ifndef GL_EXT_color_subtable +#define GL_EXT_color_subtable 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorSubTableEXT (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyColorSubTableEXT (GLenum, GLsizei, GLint, GLint, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); +#endif + +#ifndef GL_PGI_vertex_hints +#define GL_PGI_vertex_hints 1 +#endif + +#ifndef GL_PGI_misc_hints +#define GL_PGI_misc_hints 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glHintPGI (GLenum, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode); +#endif + +#ifndef GL_EXT_paletted_texture +#define GL_EXT_paletted_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorTableEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glGetColorTableEXT (GLenum, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum, GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); +typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params); +#endif + +#ifndef GL_EXT_clip_volume_hint +#define GL_EXT_clip_volume_hint 1 +#endif + +#ifndef GL_SGIX_list_priority +#define GL_SGIX_list_priority 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetListParameterfvSGIX (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetListParameterivSGIX (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glListParameterfSGIX (GLuint, GLenum, GLfloat); +GLAPI void APIENTRY glListParameterfvSGIX (GLuint, GLenum, const GLfloat *); +GLAPI void APIENTRY glListParameteriSGIX (GLuint, GLenum, GLint); +GLAPI void APIENTRY glListParameterivSGIX (GLuint, GLenum, const GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params); +#endif + +#ifndef GL_SGIX_ir_instrument1 +#define GL_SGIX_ir_instrument1 1 +#endif + +#ifndef GL_SGIX_calligraphic_fragment +#define GL_SGIX_calligraphic_fragment 1 +#endif + +#ifndef GL_SGIX_texture_lod_bias +#define GL_SGIX_texture_lod_bias 1 +#endif + +#ifndef GL_SGIX_shadow_ambient +#define GL_SGIX_shadow_ambient 1 +#endif + +#ifndef GL_EXT_index_texture +#define GL_EXT_index_texture 1 +#endif + +#ifndef GL_EXT_index_material +#define GL_EXT_index_material 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glIndexMaterialEXT (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); +#endif + +#ifndef GL_EXT_index_func +#define GL_EXT_index_func 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glIndexFuncEXT (GLenum, GLclampf); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref); +#endif + +#ifndef GL_EXT_index_array_formats +#define GL_EXT_index_array_formats 1 +#endif + +#ifndef GL_EXT_compiled_vertex_array +#define GL_EXT_compiled_vertex_array 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glLockArraysEXT (GLint, GLsizei); +GLAPI void APIENTRY glUnlockArraysEXT (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); +typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void); +#endif + +#ifndef GL_EXT_cull_vertex +#define GL_EXT_cull_vertex 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCullParameterdvEXT (GLenum, GLdouble *); +GLAPI void APIENTRY glCullParameterfvEXT (GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params); +#endif + +#ifndef GL_SGIX_ycrcb +#define GL_SGIX_ycrcb 1 +#endif + +#ifndef GL_SGIX_fragment_lighting +#define GL_SGIX_fragment_lighting 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum, GLenum); +GLAPI void APIENTRY glFragmentLightfSGIX (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glFragmentLightiSGIX (GLenum, GLenum, GLint); +GLAPI void APIENTRY glFragmentLightivSGIX (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum, GLfloat); +GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum, const GLfloat *); +GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum, GLint); +GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum, const GLint *); +GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum, GLenum, GLint); +GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glLightEnviSGIX (GLenum, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param); +#endif + +#ifndef GL_IBM_rasterpos_clip +#define GL_IBM_rasterpos_clip 1 +#endif + +#ifndef GL_HP_texture_lighting +#define GL_HP_texture_lighting 1 +#endif + +#ifndef GL_EXT_draw_range_elements +#define GL_EXT_draw_range_elements 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +#endif + +#ifndef GL_WIN_phong_shading +#define GL_WIN_phong_shading 1 +#endif + +#ifndef GL_WIN_specular_fog +#define GL_WIN_specular_fog 1 +#endif + +#ifndef GL_EXT_light_texture +#define GL_EXT_light_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glApplyTextureEXT (GLenum); +GLAPI void APIENTRY glTextureLightEXT (GLenum); +GLAPI void APIENTRY glTextureMaterialEXT (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname); +typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); +#endif + +#ifndef GL_SGIX_blend_alpha_minmax +#define GL_SGIX_blend_alpha_minmax 1 +#endif + +#ifndef GL_EXT_bgra +#define GL_EXT_bgra 1 +#endif + +#ifndef GL_SGIX_async +#define GL_SGIX_async 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glAsyncMarkerSGIX (GLuint); +GLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *); +GLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *); +GLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei); +GLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint, GLsizei); +GLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker); +typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp); +typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp); +typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); +typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); +typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker); +#endif + +#ifndef GL_SGIX_async_pixel +#define GL_SGIX_async_pixel 1 +#endif + +#ifndef GL_SGIX_async_histogram +#define GL_SGIX_async_histogram 1 +#endif + +#ifndef GL_INTEL_parallel_arrays +#define GL_INTEL_parallel_arrays 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexPointervINTEL (GLint, GLenum, const GLvoid* *); +GLAPI void APIENTRY glNormalPointervINTEL (GLenum, const GLvoid* *); +GLAPI void APIENTRY glColorPointervINTEL (GLint, GLenum, const GLvoid* *); +GLAPI void APIENTRY glTexCoordPointervINTEL (GLint, GLenum, const GLvoid* *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer); +typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer); +typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer); +typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer); +#endif + +#ifndef GL_HP_occlusion_test +#define GL_HP_occlusion_test 1 +#endif + +#ifndef GL_EXT_pixel_transform +#define GL_EXT_pixel_transform 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum, GLenum, GLint); +GLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum, GLenum, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params); +#endif + +#ifndef GL_EXT_pixel_transform_color_table +#define GL_EXT_pixel_transform_color_table 1 +#endif + +#ifndef GL_EXT_shared_texture_palette +#define GL_EXT_shared_texture_palette 1 +#endif + +#ifndef GL_EXT_separate_specular_color +#define GL_EXT_separate_specular_color 1 +#endif + +#ifndef GL_EXT_secondary_color +#define GL_EXT_secondary_color 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte, GLbyte, GLbyte); +GLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *); +GLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *); +GLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *); +GLAPI void APIENTRY glSecondaryColor3iEXT (GLint, GLint, GLint); +GLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *); +GLAPI void APIENTRY glSecondaryColor3sEXT (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *); +GLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *); +GLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint, GLuint, GLuint); +GLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *); +GLAPI void APIENTRY glSecondaryColor3usEXT (GLushort, GLushort, GLushort); +GLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *); +GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); +typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_EXT_texture_perturb_normal +#define GL_EXT_texture_perturb_normal 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTextureNormalEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode); +#endif + +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); +GLAPI void APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); +#endif + +#ifndef GL_EXT_fog_coord +#define GL_EXT_fog_coord 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFogCoordfEXT (GLfloat); +GLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *); +GLAPI void APIENTRY glFogCoorddEXT (GLdouble); +GLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *); +GLAPI void APIENTRY glFogCoordPointerEXT (GLenum, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord); +typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord); +typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord); +typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord); +typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_REND_screen_coordinates +#define GL_REND_screen_coordinates 1 +#endif + +#ifndef GL_EXT_coordinate_frame +#define GL_EXT_coordinate_frame 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTangent3bEXT (GLbyte, GLbyte, GLbyte); +GLAPI void APIENTRY glTangent3bvEXT (const GLbyte *); +GLAPI void APIENTRY glTangent3dEXT (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glTangent3dvEXT (const GLdouble *); +GLAPI void APIENTRY glTangent3fEXT (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTangent3fvEXT (const GLfloat *); +GLAPI void APIENTRY glTangent3iEXT (GLint, GLint, GLint); +GLAPI void APIENTRY glTangent3ivEXT (const GLint *); +GLAPI void APIENTRY glTangent3sEXT (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glTangent3svEXT (const GLshort *); +GLAPI void APIENTRY glBinormal3bEXT (GLbyte, GLbyte, GLbyte); +GLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *); +GLAPI void APIENTRY glBinormal3dEXT (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *); +GLAPI void APIENTRY glBinormal3fEXT (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *); +GLAPI void APIENTRY glBinormal3iEXT (GLint, GLint, GLint); +GLAPI void APIENTRY glBinormal3ivEXT (const GLint *); +GLAPI void APIENTRY glBinormal3sEXT (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glBinormal3svEXT (const GLshort *); +GLAPI void APIENTRY glTangentPointerEXT (GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glBinormalPointerEXT (GLenum, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz); +typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v); +typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz); +typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz); +typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz); +typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz); +typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz); +typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v); +typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz); +typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz); +typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz); +typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz); +typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_EXT_texture_env_combine +#define GL_EXT_texture_env_combine 1 +#endif + +#ifndef GL_APPLE_specular_vector +#define GL_APPLE_specular_vector 1 +#endif + +#ifndef GL_APPLE_transform_hint +#define GL_APPLE_transform_hint 1 +#endif + +#ifndef GL_SGIX_fog_scale +#define GL_SGIX_fog_scale 1 +#endif + +#ifndef GL_SUNX_constant_data +#define GL_SUNX_constant_data 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFinishTextureSUNX (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void); +#endif + +#ifndef GL_SUN_global_alpha +#define GL_SUN_global_alpha 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte); +GLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort); +GLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint); +GLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat); +GLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble); +GLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte); +GLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort); +GLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); +typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); +#endif + +#ifndef GL_SUN_triangle_list +#define GL_SUN_triangle_list 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glReplacementCodeuiSUN (GLuint); +GLAPI void APIENTRY glReplacementCodeusSUN (GLushort); +GLAPI void APIENTRY glReplacementCodeubSUN (GLubyte); +GLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *); +GLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *); +GLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *); +GLAPI void APIENTRY glReplacementCodePointerSUN (GLenum, GLsizei, const GLvoid* *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer); +#endif + +#ifndef GL_SUN_vertex +#define GL_SUN_vertex 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat); +GLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *, const GLfloat *); +GLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *, const GLfloat *); +GLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *, const GLubyte *, const GLfloat *); +GLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLuint *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *, const GLubyte *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +#endif + +#ifndef GL_EXT_blend_func_separate +#define GL_EXT_blend_func_separate 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +#endif + +#ifndef GL_INGR_blend_func_separate +#define GL_INGR_blend_func_separate 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +#endif + +#ifndef GL_INGR_color_clamp +#define GL_INGR_color_clamp 1 +#endif + +#ifndef GL_INGR_interlace_read +#define GL_INGR_interlace_read 1 +#endif + +#ifndef GL_EXT_stencil_wrap +#define GL_EXT_stencil_wrap 1 +#endif + +#ifndef GL_EXT_422_pixels +#define GL_EXT_422_pixels 1 +#endif + +#ifndef GL_NV_texgen_reflection +#define GL_NV_texgen_reflection 1 +#endif + +#ifndef GL_SUN_convolution_border_modes +#define GL_SUN_convolution_border_modes 1 +#endif + +#ifndef GL_EXT_texture_env_add +#define GL_EXT_texture_env_add 1 +#endif + +#ifndef GL_EXT_texture_lod_bias +#define GL_EXT_texture_lod_bias 1 +#endif + +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_EXT_texture_filter_anisotropic 1 +#endif + +#ifndef GL_EXT_vertex_weighting +#define GL_EXT_vertex_weighting 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexWeightfEXT (GLfloat); +GLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *); +GLAPI void APIENTRY glVertexWeightPointerEXT (GLsizei, GLenum, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); +typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight); +typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_NV_light_max_exponent +#define GL_NV_light_max_exponent 1 +#endif + +#ifndef GL_NV_vertex_array_range +#define GL_NV_vertex_array_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFlushVertexArrayRangeNV (void); +GLAPI void APIENTRY glVertexArrayRangeNV (GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); +typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer); +#endif + +#ifndef GL_NV_register_combiners +#define GL_NV_register_combiners 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCombinerParameterfvNV (GLenum, const GLfloat *); +GLAPI void APIENTRY glCombinerParameterfNV (GLenum, GLfloat); +GLAPI void APIENTRY glCombinerParameterivNV (GLenum, const GLint *); +GLAPI void APIENTRY glCombinerParameteriNV (GLenum, GLint); +GLAPI void APIENTRY glCombinerInputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glCombinerOutputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean); +GLAPI void APIENTRY glFinalCombinerInputNV (GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum, GLenum, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum, GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum, GLenum, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); +typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params); +#endif + +#ifndef GL_NV_fog_distance +#define GL_NV_fog_distance 1 +#endif + +#ifndef GL_NV_texgen_emboss +#define GL_NV_texgen_emboss 1 +#endif + +#ifndef GL_NV_blend_square +#define GL_NV_blend_square 1 +#endif + +#ifndef GL_NV_texture_env_combine4 +#define GL_NV_texture_env_combine4 1 +#endif + +#ifndef GL_MESA_resize_buffers +#define GL_MESA_resize_buffers 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glResizeBuffersMESA (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void); +#endif + +#ifndef GL_MESA_window_pos +#define GL_MESA_window_pos 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glWindowPos2dMESA (GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *); +GLAPI void APIENTRY glWindowPos2fMESA (GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *); +GLAPI void APIENTRY glWindowPos2iMESA (GLint, GLint); +GLAPI void APIENTRY glWindowPos2ivMESA (const GLint *); +GLAPI void APIENTRY glWindowPos2sMESA (GLshort, GLshort); +GLAPI void APIENTRY glWindowPos2svMESA (const GLshort *); +GLAPI void APIENTRY glWindowPos3dMESA (GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *); +GLAPI void APIENTRY glWindowPos3fMESA (GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *); +GLAPI void APIENTRY glWindowPos3iMESA (GLint, GLint, GLint); +GLAPI void APIENTRY glWindowPos3ivMESA (const GLint *); +GLAPI void APIENTRY glWindowPos3sMESA (GLshort, GLshort, GLshort); +GLAPI void APIENTRY glWindowPos3svMESA (const GLshort *); +GLAPI void APIENTRY glWindowPos4dMESA (GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *); +GLAPI void APIENTRY glWindowPos4fMESA (GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *); +GLAPI void APIENTRY glWindowPos4iMESA (GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glWindowPos4ivMESA (const GLint *); +GLAPI void APIENTRY glWindowPos4sMESA (GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); +typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v); +typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v); +typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v); +typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v); +typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v); +#endif + +#ifndef GL_IBM_cull_vertex +#define GL_IBM_cull_vertex 1 +#endif + +#ifndef GL_IBM_multimode_draw_arrays +#define GL_IBM_multimode_draw_arrays 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiModeDrawArraysIBM (const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint); +GLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *, const GLsizei *, GLenum, const GLvoid* const *, GLsizei, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride); +#endif + +#ifndef GL_IBM_vertex_array_lists +#define GL_IBM_vertex_array_lists 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint, const GLboolean* *, GLint); +GLAPI void APIENTRY glFogCoordPointerListIBM (GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glIndexPointerListIBM (GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glNormalPointerListIBM (GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glTexCoordPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint); +GLAPI void APIENTRY glVertexPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride); +#endif + +#ifndef GL_SGIX_subsample +#define GL_SGIX_subsample 1 +#endif + +#ifndef GL_SGIX_ycrcba +#define GL_SGIX_ycrcba 1 +#endif + +#ifndef GL_SGIX_ycrcb_subsample +#define GL_SGIX_ycrcb_subsample 1 +#endif + +#ifndef GL_SGIX_depth_pass_instrument +#define GL_SGIX_depth_pass_instrument 1 +#endif + +#ifndef GL_3DFX_texture_compression_FXT1 +#define GL_3DFX_texture_compression_FXT1 1 +#endif + +#ifndef GL_3DFX_multisample +#define GL_3DFX_multisample 1 +#endif + +#ifndef GL_3DFX_tbuffer +#define GL_3DFX_tbuffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTbufferMask3DFX (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); +#endif + +#ifndef GL_EXT_multisample +#define GL_EXT_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSampleMaskEXT (GLclampf, GLboolean); +GLAPI void APIENTRY glSamplePatternEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); +typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); +#endif + +#ifndef GL_SGIX_vertex_preclip +#define GL_SGIX_vertex_preclip 1 +#endif + +#ifndef GL_SGIX_convolution_accuracy +#define GL_SGIX_convolution_accuracy 1 +#endif + +#ifndef GL_SGIX_resample +#define GL_SGIX_resample 1 +#endif + +#ifndef GL_SGIS_point_line_texgen +#define GL_SGIS_point_line_texgen 1 +#endif + +#ifndef GL_SGIS_texture_color_mask +#define GL_SGIS_texture_color_mask 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean, GLboolean, GLboolean, GLboolean); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +#endif + +#ifndef GL_SGIX_igloo_interface +#define GL_SGIX_igloo_interface 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params); +#endif + +#ifndef GL_EXT_texture_env_dot3 +#define GL_EXT_texture_env_dot3 1 +#endif + +#ifndef GL_ATI_texture_mirror_once +#define GL_ATI_texture_mirror_once 1 +#endif + +#ifndef GL_NV_fence +#define GL_NV_fence 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenFencesNV (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsFenceNV (GLuint); +GLAPI GLboolean APIENTRY glTestFenceNV (GLuint); +GLAPI void APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glFinishFenceNV (GLuint); +GLAPI void APIENTRY glSetFenceNV (GLuint, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); +typedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); +typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); +typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); +typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +#endif + +#ifndef GL_NV_evaluators +#define GL_NV_evaluators 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *); +GLAPI void APIENTRY glMapParameterivNV (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glMapParameterfvNV (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glGetMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *); +GLAPI void APIENTRY glGetMapParameterivNV (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMapParameterfvNV (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum, GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum, GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glEvalMapsNV (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points); +typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points); +typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); +#endif + +#ifndef GL_NV_packed_depth_stencil +#define GL_NV_packed_depth_stencil 1 +#endif + +#ifndef GL_NV_register_combiners2 +#define GL_NV_register_combiners2 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum, GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params); +#endif + +#ifndef GL_NV_texture_compression_vtc +#define GL_NV_texture_compression_vtc 1 +#endif + +#ifndef GL_NV_texture_rectangle +#define GL_NV_texture_rectangle 1 +#endif + +#ifndef GL_NV_texture_shader +#define GL_NV_texture_shader 1 +#endif + +#ifndef GL_NV_texture_shader2 +#define GL_NV_texture_shader2 1 +#endif + +#ifndef GL_NV_vertex_array_range2 +#define GL_NV_vertex_array_range2 1 +#endif + +#ifndef GL_NV_vertex_program +#define GL_NV_vertex_program 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei, const GLuint *, GLboolean *); +GLAPI void APIENTRY glBindProgramNV (GLenum, GLuint); +GLAPI void APIENTRY glDeleteProgramsNV (GLsizei, const GLuint *); +GLAPI void APIENTRY glExecuteProgramNV (GLenum, GLuint, const GLfloat *); +GLAPI void APIENTRY glGenProgramsNV (GLsizei, GLuint *); +GLAPI void APIENTRY glGetProgramParameterdvNV (GLenum, GLuint, GLenum, GLdouble *); +GLAPI void APIENTRY glGetProgramParameterfvNV (GLenum, GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetProgramivNV (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetProgramStringNV (GLuint, GLenum, GLubyte *); +GLAPI void APIENTRY glGetTrackMatrixivNV (GLenum, GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribdvNV (GLuint, GLenum, GLdouble *); +GLAPI void APIENTRY glGetVertexAttribfvNV (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVertexAttribivNV (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint, GLenum, GLvoid* *); +GLAPI GLboolean APIENTRY glIsProgramNV (GLuint); +GLAPI void APIENTRY glLoadProgramNV (GLenum, GLuint, GLsizei, const GLubyte *); +GLAPI void APIENTRY glProgramParameter4dNV (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glProgramParameter4dvNV (GLenum, GLuint, const GLdouble *); +GLAPI void APIENTRY glProgramParameter4fNV (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramParameter4fvNV (GLenum, GLuint, const GLfloat *); +GLAPI void APIENTRY glProgramParameters4dvNV (GLenum, GLuint, GLuint, const GLdouble *); +GLAPI void APIENTRY glProgramParameters4fvNV (GLenum, GLuint, GLuint, const GLfloat *); +GLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei, const GLuint *); +GLAPI void APIENTRY glTrackMatrixNV (GLenum, GLuint, GLenum, GLenum); +GLAPI void APIENTRY glVertexAttribPointerNV (GLuint, GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glVertexAttrib1dNV (GLuint, GLdouble); +GLAPI void APIENTRY glVertexAttrib1dvNV (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib1fNV (GLuint, GLfloat); +GLAPI void APIENTRY glVertexAttrib1fvNV (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib1sNV (GLuint, GLshort); +GLAPI void APIENTRY glVertexAttrib1svNV (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib2dNV (GLuint, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib2dvNV (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib2fNV (GLuint, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib2fvNV (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib2sNV (GLuint, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib2svNV (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib3dNV (GLuint, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib3dvNV (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib3fNV (GLuint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib3fvNV (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib3sNV (GLuint, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib3svNV (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4dNV (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib4dvNV (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib4fNV (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib4fvNV (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib4sNV (GLuint, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib4svNV (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4ubNV (GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttribs1dvNV (GLuint, GLsizei, const GLdouble *); +GLAPI void APIENTRY glVertexAttribs1fvNV (GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glVertexAttribs1svNV (GLuint, GLsizei, const GLshort *); +GLAPI void APIENTRY glVertexAttribs2dvNV (GLuint, GLsizei, const GLdouble *); +GLAPI void APIENTRY glVertexAttribs2fvNV (GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glVertexAttribs2svNV (GLuint, GLsizei, const GLshort *); +GLAPI void APIENTRY glVertexAttribs3dvNV (GLuint, GLsizei, const GLdouble *); +GLAPI void APIENTRY glVertexAttribs3fvNV (GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glVertexAttribs3svNV (GLuint, GLsizei, const GLshort *); +GLAPI void APIENTRY glVertexAttribs4dvNV (GLuint, GLsizei, const GLdouble *); +GLAPI void APIENTRY glVertexAttribs4fvNV (GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glVertexAttribs4svNV (GLuint, GLsizei, const GLshort *); +GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint, GLsizei, const GLubyte *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences); +typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); +typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params); +typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs); +typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program); +typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id); +typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v); +typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); +typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v); +#endif + +#ifndef GL_SGIX_texture_coordinate_clamp +#define GL_SGIX_texture_coordinate_clamp 1 +#endif + +#ifndef GL_SGIX_scalebias_hint +#define GL_SGIX_scalebias_hint 1 +#endif + +#ifndef GL_OML_interlace +#define GL_OML_interlace 1 +#endif + +#ifndef GL_OML_subsample +#define GL_OML_subsample 1 +#endif + +#ifndef GL_OML_resample +#define GL_OML_resample 1 +#endif + +#ifndef GL_NV_copy_depth_to_color +#define GL_NV_copy_depth_to_color 1 +#endif + +#ifndef GL_ATI_envmap_bumpmap +#define GL_ATI_envmap_bumpmap 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexBumpParameterivATI (GLenum, const GLint *); +GLAPI void APIENTRY glTexBumpParameterfvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum, GLint *); +GLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param); +typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param); +typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); +#endif + +#ifndef GL_ATI_fragment_shader +#define GL_ATI_fragment_shader 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint); +GLAPI void APIENTRY glBindFragmentShaderATI (GLuint); +GLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint); +GLAPI void APIENTRY glBeginFragmentShaderATI (void); +GLAPI void APIENTRY glEndFragmentShaderATI (void); +GLAPI void APIENTRY glPassTexCoordATI (GLuint, GLuint, GLenum); +GLAPI void APIENTRY glSampleMapATI (GLuint, GLuint, GLenum); +GLAPI void APIENTRY glColorFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glColorFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glColorFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); +typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void); +typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void); +typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); +typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); +typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value); +#endif + +#ifndef GL_ATI_pn_triangles +#define GL_ATI_pn_triangles 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPNTrianglesiATI (GLenum, GLint); +GLAPI void APIENTRY glPNTrianglesfATI (GLenum, GLfloat); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); +#endif + +#ifndef GL_ATI_vertex_array_object +#define GL_ATI_vertex_array_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei, const GLvoid *, GLenum); +GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint); +GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint, GLuint, GLsizei, const GLvoid *, GLenum); +GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetObjectBufferivATI (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glFreeObjectBufferATI (GLuint); +GLAPI void APIENTRY glArrayObjectATI (GLenum, GLint, GLenum, GLsizei, GLuint, GLuint); +GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetArrayObjectivATI (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glVariantArrayObjectATI (GLuint, GLenum, GLsizei, GLuint, GLuint); +GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint, GLenum, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage); +typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve); +typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); +typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); +typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params); +#endif + +#ifndef GL_EXT_vertex_shader +#define GL_EXT_vertex_shader 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginVertexShaderEXT (void); +GLAPI void APIENTRY glEndVertexShaderEXT (void); +GLAPI void APIENTRY glBindVertexShaderEXT (GLuint); +GLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint); +GLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint); +GLAPI void APIENTRY glShaderOp1EXT (GLenum, GLuint, GLuint); +GLAPI void APIENTRY glShaderOp2EXT (GLenum, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glShaderOp3EXT (GLenum, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glSwizzleEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glWriteMaskEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glInsertComponentEXT (GLuint, GLuint, GLuint); +GLAPI void APIENTRY glExtractComponentEXT (GLuint, GLuint, GLuint); +GLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glSetInvariantEXT (GLuint, GLenum, const GLvoid *); +GLAPI void APIENTRY glSetLocalConstantEXT (GLuint, GLenum, const GLvoid *); +GLAPI void APIENTRY glVariantbvEXT (GLuint, const GLbyte *); +GLAPI void APIENTRY glVariantsvEXT (GLuint, const GLshort *); +GLAPI void APIENTRY glVariantivEXT (GLuint, const GLint *); +GLAPI void APIENTRY glVariantfvEXT (GLuint, const GLfloat *); +GLAPI void APIENTRY glVariantdvEXT (GLuint, const GLdouble *); +GLAPI void APIENTRY glVariantubvEXT (GLuint, const GLubyte *); +GLAPI void APIENTRY glVariantusvEXT (GLuint, const GLushort *); +GLAPI void APIENTRY glVariantuivEXT (GLuint, const GLuint *); +GLAPI void APIENTRY glVariantPointerEXT (GLuint, GLenum, GLuint, const GLvoid *); +GLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint); +GLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint); +GLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum, GLenum); +GLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum, GLenum); +GLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum, GLenum, GLenum); +GLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum, GLenum); +GLAPI GLuint APIENTRY glBindParameterEXT (GLenum); +GLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint, GLenum); +GLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint, GLenum, GLboolean *); +GLAPI void APIENTRY glGetVariantIntegervEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVariantFloatvEXT (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVariantPointervEXT (GLuint, GLenum, GLvoid* *); +GLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint, GLenum, GLboolean *); +GLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint, GLenum, GLboolean *); +GLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint, GLenum, GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void); +typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void); +typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); +typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); +typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); +typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); +typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); +typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); +typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); +typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); +typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components); +typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr); +typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr); +typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr); +typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr); +typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr); +typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr); +typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr); +typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr); +typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr); +typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr); +typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr); +typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); +typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); +typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); +typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); +typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value); +typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); +typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data); +typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +#endif + +#ifndef GL_ATI_vertex_streams +#define GL_ATI_vertex_streams 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexStream1sATI (GLenum, GLshort); +GLAPI void APIENTRY glVertexStream1svATI (GLenum, const GLshort *); +GLAPI void APIENTRY glVertexStream1iATI (GLenum, GLint); +GLAPI void APIENTRY glVertexStream1ivATI (GLenum, const GLint *); +GLAPI void APIENTRY glVertexStream1fATI (GLenum, GLfloat); +GLAPI void APIENTRY glVertexStream1fvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glVertexStream1dATI (GLenum, GLdouble); +GLAPI void APIENTRY glVertexStream1dvATI (GLenum, const GLdouble *); +GLAPI void APIENTRY glVertexStream2sATI (GLenum, GLshort, GLshort); +GLAPI void APIENTRY glVertexStream2svATI (GLenum, const GLshort *); +GLAPI void APIENTRY glVertexStream2iATI (GLenum, GLint, GLint); +GLAPI void APIENTRY glVertexStream2ivATI (GLenum, const GLint *); +GLAPI void APIENTRY glVertexStream2fATI (GLenum, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexStream2fvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glVertexStream2dATI (GLenum, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexStream2dvATI (GLenum, const GLdouble *); +GLAPI void APIENTRY glVertexStream3sATI (GLenum, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexStream3svATI (GLenum, const GLshort *); +GLAPI void APIENTRY glVertexStream3iATI (GLenum, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexStream3ivATI (GLenum, const GLint *); +GLAPI void APIENTRY glVertexStream3fATI (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexStream3fvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glVertexStream3dATI (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexStream3dvATI (GLenum, const GLdouble *); +GLAPI void APIENTRY glVertexStream4sATI (GLenum, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexStream4svATI (GLenum, const GLshort *); +GLAPI void APIENTRY glVertexStream4iATI (GLenum, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexStream4ivATI (GLenum, const GLint *); +GLAPI void APIENTRY glVertexStream4fATI (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexStream4fvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glVertexStream4dATI (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexStream4dvATI (GLenum, const GLdouble *); +GLAPI void APIENTRY glNormalStream3bATI (GLenum, GLbyte, GLbyte, GLbyte); +GLAPI void APIENTRY glNormalStream3bvATI (GLenum, const GLbyte *); +GLAPI void APIENTRY glNormalStream3sATI (GLenum, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glNormalStream3svATI (GLenum, const GLshort *); +GLAPI void APIENTRY glNormalStream3iATI (GLenum, GLint, GLint, GLint); +GLAPI void APIENTRY glNormalStream3ivATI (GLenum, const GLint *); +GLAPI void APIENTRY glNormalStream3fATI (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glNormalStream3fvATI (GLenum, const GLfloat *); +GLAPI void APIENTRY glNormalStream3dATI (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glNormalStream3dvATI (GLenum, const GLdouble *); +GLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum); +GLAPI void APIENTRY glVertexBlendEnviATI (GLenum, GLint); +GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum, GLfloat); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz); +typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords); +typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz); +typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz); +typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz); +typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz); +typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); +typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); +#endif + +#ifndef GL_ATI_element_array +#define GL_ATI_element_array 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glElementPointerATI (GLenum, const GLvoid *); +GLAPI void APIENTRY glDrawElementArrayATI (GLenum, GLsizei); +GLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum, GLuint, GLuint, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); +#endif + +#ifndef GL_SUN_mesh_array +#define GL_SUN_mesh_array 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawMeshArraysSUN (GLenum, GLint, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width); +#endif + +#ifndef GL_SUN_slice_accum +#define GL_SUN_slice_accum 1 +#endif + +#ifndef GL_NV_multisample_filter_hint +#define GL_NV_multisample_filter_hint 1 +#endif + +#ifndef GL_NV_depth_clamp +#define GL_NV_depth_clamp 1 +#endif + +#ifndef GL_NV_occlusion_query +#define GL_NV_occlusion_query 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei, GLuint *); +GLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei, const GLuint *); +GLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint); +GLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint); +GLAPI void APIENTRY glEndOcclusionQueryNV (void); +GLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint, GLenum, GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); +typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); +typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void); +typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params); +#endif + +#ifndef GL_NV_point_sprite +#define GL_NV_point_sprite 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPointParameteriNV (GLenum, GLint); +GLAPI void APIENTRY glPointParameterivNV (GLenum, const GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params); +#endif + +#ifndef GL_NV_texture_shader3 +#define GL_NV_texture_shader3 1 +#endif + +#ifndef GL_NV_vertex_program1_1 +#define GL_NV_vertex_program1_1 1 +#endif + +#ifndef GL_EXT_shadow_funcs +#define GL_EXT_shadow_funcs 1 +#endif + +#ifndef GL_EXT_stencil_two_side +#define GL_EXT_stencil_two_side 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glActiveStencilFaceEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); +#endif + +#ifndef GL_ATI_text_fragment_shader +#define GL_ATI_text_fragment_shader 1 +#endif + +#ifndef GL_APPLE_client_storage +#define GL_APPLE_client_storage 1 +#endif + +#ifndef GL_APPLE_element_array +#define GL_APPLE_element_array 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glElementPointerAPPLE (GLenum, const GLvoid *); +GLAPI void APIENTRY glDrawElementArrayAPPLE (GLenum, GLint, GLsizei); +GLAPI void APIENTRY glDrawRangeElementArrayAPPLE (GLenum, GLuint, GLuint, GLint, GLsizei); +GLAPI void APIENTRY glMultiDrawElementArrayAPPLE (GLenum, const GLint *, const GLsizei *, GLsizei); +GLAPI void APIENTRY glMultiDrawRangeElementArrayAPPLE (GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount); +#endif + +#ifndef GL_APPLE_fence +#define GL_APPLE_fence 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenFencesAPPLE (GLsizei, GLuint *); +GLAPI void APIENTRY glDeleteFencesAPPLE (GLsizei, const GLuint *); +GLAPI void APIENTRY glSetFenceAPPLE (GLuint); +GLAPI GLboolean APIENTRY glIsFenceAPPLE (GLuint); +GLAPI GLboolean APIENTRY glTestFenceAPPLE (GLuint); +GLAPI void APIENTRY glFinishFenceAPPLE (GLuint); +GLAPI GLboolean APIENTRY glTestObjectAPPLE (GLenum, GLuint); +GLAPI void APIENTRY glFinishObjectAPPLE (GLenum, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences); +typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences); +typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence); +typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); +typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); +#endif + +#ifndef GL_APPLE_vertex_array_object +#define GL_APPLE_vertex_array_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint); +GLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays); +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); +#endif + +#ifndef GL_APPLE_vertex_array_range +#define GL_APPLE_vertex_array_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexArrayRangeAPPLE (GLsizei, GLvoid *); +GLAPI void APIENTRY glFlushVertexArrayRangeAPPLE (GLsizei, GLvoid *); +GLAPI void APIENTRY glVertexArrayParameteriAPPLE (GLenum, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer); +typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer); +typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); +#endif + +#ifndef GL_APPLE_ycbcr_422 +#define GL_APPLE_ycbcr_422 1 +#endif + +#ifndef GL_S3_s3tc +#define GL_S3_s3tc 1 +#endif + +#ifndef GL_ATI_draw_buffers +#define GL_ATI_draw_buffers 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawBuffersATI (GLsizei, const GLenum *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs); +#endif + +#ifndef GL_ATI_pixel_format_float +#define GL_ATI_pixel_format_float 1 +/* This is really a WGL extension, but defines some associated GL enums. + * ATI does not export "GL_ATI_pixel_format_float" in the GL_EXTENSIONS string. + */ +#endif + +#ifndef GL_ATI_texture_env_combine3 +#define GL_ATI_texture_env_combine3 1 +#endif + +#ifndef GL_ATI_texture_float +#define GL_ATI_texture_float 1 +#endif + +#ifndef GL_NV_float_buffer +#define GL_NV_float_buffer 1 +#endif + +#ifndef GL_NV_fragment_program +#define GL_NV_fragment_program 1 +/* Some NV_fragment_program entry points are shared with ARB_vertex_program. */ +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramNamedParameter4fNV (GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramNamedParameter4dNV (GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glProgramNamedParameter4fvNV (GLuint, GLsizei, const GLubyte *, const GLfloat *); +GLAPI void APIENTRY glProgramNamedParameter4dvNV (GLuint, GLsizei, const GLubyte *, const GLdouble *); +GLAPI void APIENTRY glGetProgramNamedParameterfvNV (GLuint, GLsizei, const GLubyte *, GLfloat *); +GLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint, GLsizei, const GLubyte *, GLdouble *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v); +typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v); +typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); +typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); +#endif + +#ifndef GL_NV_half_float +#define GL_NV_half_float 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertex2hNV (GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertex2hvNV (const GLhalfNV *); +GLAPI void APIENTRY glVertex3hNV (GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertex3hvNV (const GLhalfNV *); +GLAPI void APIENTRY glVertex4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertex4hvNV (const GLhalfNV *); +GLAPI void APIENTRY glNormal3hNV (GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glNormal3hvNV (const GLhalfNV *); +GLAPI void APIENTRY glColor3hNV (GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glColor3hvNV (const GLhalfNV *); +GLAPI void APIENTRY glColor4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glColor4hvNV (const GLhalfNV *); +GLAPI void APIENTRY glTexCoord1hNV (GLhalfNV); +GLAPI void APIENTRY glTexCoord1hvNV (const GLhalfNV *); +GLAPI void APIENTRY glTexCoord2hNV (GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glTexCoord2hvNV (const GLhalfNV *); +GLAPI void APIENTRY glTexCoord3hNV (GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glTexCoord3hvNV (const GLhalfNV *); +GLAPI void APIENTRY glTexCoord4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glTexCoord4hvNV (const GLhalfNV *); +GLAPI void APIENTRY glMultiTexCoord1hNV (GLenum, GLhalfNV); +GLAPI void APIENTRY glMultiTexCoord1hvNV (GLenum, const GLhalfNV *); +GLAPI void APIENTRY glMultiTexCoord2hNV (GLenum, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glMultiTexCoord2hvNV (GLenum, const GLhalfNV *); +GLAPI void APIENTRY glMultiTexCoord3hNV (GLenum, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glMultiTexCoord3hvNV (GLenum, const GLhalfNV *); +GLAPI void APIENTRY glMultiTexCoord4hNV (GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glMultiTexCoord4hvNV (GLenum, const GLhalfNV *); +GLAPI void APIENTRY glFogCoordhNV (GLhalfNV); +GLAPI void APIENTRY glFogCoordhvNV (const GLhalfNV *); +GLAPI void APIENTRY glSecondaryColor3hNV (GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glSecondaryColor3hvNV (const GLhalfNV *); +GLAPI void APIENTRY glVertexWeighthNV (GLhalfNV); +GLAPI void APIENTRY glVertexWeighthvNV (const GLhalfNV *); +GLAPI void APIENTRY glVertexAttrib1hNV (GLuint, GLhalfNV); +GLAPI void APIENTRY glVertexAttrib1hvNV (GLuint, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttrib2hNV (GLuint, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertexAttrib2hvNV (GLuint, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttrib3hNV (GLuint, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertexAttrib3hvNV (GLuint, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttrib4hNV (GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +GLAPI void APIENTRY glVertexAttrib4hvNV (GLuint, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttribs1hvNV (GLuint, GLsizei, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttribs2hvNV (GLuint, GLsizei, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttribs3hvNV (GLuint, GLsizei, const GLhalfNV *); +GLAPI void APIENTRY glVertexAttribs4hvNV (GLuint, GLsizei, const GLhalfNV *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y); +typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z); +typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w); +typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz); +typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); +typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha); +typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s); +typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t); +typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r); +typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q); +typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s); +typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t); +typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r); +typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q); +typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog); +typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight); +typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v); +#endif + +#ifndef GL_NV_pixel_data_range +#define GL_NV_pixel_data_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPixelDataRangeNV (GLenum, GLsizei, GLvoid *); +GLAPI void APIENTRY glFlushPixelDataRangeNV (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer); +typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); +#endif + +#ifndef GL_NV_primitive_restart +#define GL_NV_primitive_restart 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPrimitiveRestartNV (void); +GLAPI void APIENTRY glPrimitiveRestartIndexNV (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void); +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); +#endif + +#ifndef GL_NV_texture_expand_normal +#define GL_NV_texture_expand_normal 1 +#endif + +#ifndef GL_NV_vertex_program2 +#define GL_NV_vertex_program2 1 +#endif + +#ifndef GL_ATI_map_object_buffer +#define GL_ATI_map_object_buffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLvoid* APIENTRY glMapObjectBufferATI (GLuint); +GLAPI void APIENTRY glUnmapObjectBufferATI (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); +#endif + +#ifndef GL_ATI_separate_stencil +#define GL_ATI_separate_stencil 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStencilOpSeparateATI (GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glStencilFuncSeparateATI (GLenum, GLenum, GLint, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +#endif + +#ifndef GL_ATI_vertex_attrib_array_object +#define GL_ATI_vertex_attrib_array_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttribArrayObjectATI (GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint); +GLAPI void APIENTRY glGetVertexAttribArrayObjectfvATI (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVertexAttribArrayObjectivATI (GLuint, GLenum, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params); +#endif + +#ifndef GL_OES_read_format +#define GL_OES_read_format 1 +#endif + +#ifndef GL_EXT_depth_bounds_test +#define GL_EXT_depth_bounds_test 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDepthBoundsEXT (GLclampd, GLclampd); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); +#endif + +#ifndef GL_EXT_texture_mirror_clamp +#define GL_EXT_texture_mirror_clamp 1 +#endif + +#ifndef GL_EXT_blend_equation_separate +#define GL_EXT_blend_equation_separate 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationSeparateEXT (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); +#endif + +#ifndef GL_MESA_pack_invert +#define GL_MESA_pack_invert 1 +#endif + +#ifndef GL_MESA_ycbcr_texture +#define GL_MESA_ycbcr_texture 1 +#endif + +#ifndef GL_EXT_pixel_buffer_object +#define GL_EXT_pixel_buffer_object 1 +#endif + +#ifndef GL_NV_fragment_program_option +#define GL_NV_fragment_program_option 1 +#endif + +#ifndef GL_NV_fragment_program2 +#define GL_NV_fragment_program2 1 +#endif + +#ifndef GL_NV_vertex_program2_option +#define GL_NV_vertex_program2_option 1 +#endif + +#ifndef GL_NV_vertex_program3 +#define GL_NV_vertex_program3 1 +#endif + +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glIsRenderbufferEXT (GLuint); +GLAPI void APIENTRY glBindRenderbufferEXT (GLenum, GLuint); +GLAPI void APIENTRY glDeleteRenderbuffersEXT (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenRenderbuffersEXT (GLsizei, GLuint *); +GLAPI void APIENTRY glRenderbufferStorageEXT (GLenum, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glGetRenderbufferParameterivEXT (GLenum, GLenum, GLint *); +GLAPI GLboolean APIENTRY glIsFramebufferEXT (GLuint); +GLAPI void APIENTRY glBindFramebufferEXT (GLenum, GLuint); +GLAPI void APIENTRY glDeleteFramebuffersEXT (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenFramebuffersEXT (GLsizei, GLuint *); +GLAPI GLenum APIENTRY glCheckFramebufferStatusEXT (GLenum); +GLAPI void APIENTRY glFramebufferTexture1DEXT (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture2DEXT (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture3DEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glFramebufferRenderbufferEXT (GLenum, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGenerateMipmapEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); +typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers); +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); +#endif + +#ifndef GL_GREMEDY_string_marker +#define GL_GREMEDY_string_marker 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string); +#endif + +#ifndef GL_EXT_packed_depth_stencil +#define GL_EXT_packed_depth_stencil 1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_EXT_stencil_clear_tag 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStencilClearTagEXT (GLsizei, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag); +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_EXT_texture_sRGB 1 +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_EXT_framebuffer_blit 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlitFramebufferEXT (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_EXT_framebuffer_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_MESAX_texture_stack 1 +#endif + +#ifndef GL_EXT_timer_query +#define GL_EXT_timer_query 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint, GLenum, GLint64EXT *); +GLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint, GLenum, GLuint64EXT *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); +#endif + +#ifndef GL_EXT_gpu_program_parameters +#define GL_EXT_gpu_program_parameters 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramEnvParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params); +#endif + +#ifndef GL_APPLE_flush_buffer_range +#define GL_APPLE_flush_buffer_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferParameteriAPPLE (GLenum, GLenum, GLint); +GLAPI void APIENTRY glFlushMappedBufferRangeAPPLE (GLenum, GLintptr, GLsizeiptr); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); +#endif + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h new file mode 100644 index 0000000000..a07780e137 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h @@ -0,0 +1,14384 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 6.00.0366 */ +/* at Wed Jun 25 17:02:20 2008 + */ +/* Compiler settings for iTunesCOMInterface.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + + +#ifndef __iTunesCOMInterface_h__ +#define __iTunesCOMInterface_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IITObject_FWD_DEFINED__ +#define __IITObject_FWD_DEFINED__ +typedef interface IITObject IITObject; +#endif /* __IITObject_FWD_DEFINED__ */ + + +#ifndef __IITSource_FWD_DEFINED__ +#define __IITSource_FWD_DEFINED__ +typedef interface IITSource IITSource; +#endif /* __IITSource_FWD_DEFINED__ */ + + +#ifndef __IITSourceCollection_FWD_DEFINED__ +#define __IITSourceCollection_FWD_DEFINED__ +typedef interface IITSourceCollection IITSourceCollection; +#endif /* __IITSourceCollection_FWD_DEFINED__ */ + + +#ifndef __IITEncoder_FWD_DEFINED__ +#define __IITEncoder_FWD_DEFINED__ +typedef interface IITEncoder IITEncoder; +#endif /* __IITEncoder_FWD_DEFINED__ */ + + +#ifndef __IITEncoderCollection_FWD_DEFINED__ +#define __IITEncoderCollection_FWD_DEFINED__ +typedef interface IITEncoderCollection IITEncoderCollection; +#endif /* __IITEncoderCollection_FWD_DEFINED__ */ + + +#ifndef __IITEQPreset_FWD_DEFINED__ +#define __IITEQPreset_FWD_DEFINED__ +typedef interface IITEQPreset IITEQPreset; +#endif /* __IITEQPreset_FWD_DEFINED__ */ + + +#ifndef __IITEQPresetCollection_FWD_DEFINED__ +#define __IITEQPresetCollection_FWD_DEFINED__ +typedef interface IITEQPresetCollection IITEQPresetCollection; +#endif /* __IITEQPresetCollection_FWD_DEFINED__ */ + + +#ifndef __IITPlaylist_FWD_DEFINED__ +#define __IITPlaylist_FWD_DEFINED__ +typedef interface IITPlaylist IITPlaylist; +#endif /* __IITPlaylist_FWD_DEFINED__ */ + + +#ifndef __IITOperationStatus_FWD_DEFINED__ +#define __IITOperationStatus_FWD_DEFINED__ +typedef interface IITOperationStatus IITOperationStatus; +#endif /* __IITOperationStatus_FWD_DEFINED__ */ + + +#ifndef __IITConvertOperationStatus_FWD_DEFINED__ +#define __IITConvertOperationStatus_FWD_DEFINED__ +typedef interface IITConvertOperationStatus IITConvertOperationStatus; +#endif /* __IITConvertOperationStatus_FWD_DEFINED__ */ + + +#ifndef __IITLibraryPlaylist_FWD_DEFINED__ +#define __IITLibraryPlaylist_FWD_DEFINED__ +typedef interface IITLibraryPlaylist IITLibraryPlaylist; +#endif /* __IITLibraryPlaylist_FWD_DEFINED__ */ + + +#ifndef __IITUserPlaylist_FWD_DEFINED__ +#define __IITUserPlaylist_FWD_DEFINED__ +typedef interface IITUserPlaylist IITUserPlaylist; +#endif /* __IITUserPlaylist_FWD_DEFINED__ */ + + +#ifndef __IITTrack_FWD_DEFINED__ +#define __IITTrack_FWD_DEFINED__ +typedef interface IITTrack IITTrack; +#endif /* __IITTrack_FWD_DEFINED__ */ + + +#ifndef __IITTrackCollection_FWD_DEFINED__ +#define __IITTrackCollection_FWD_DEFINED__ +typedef interface IITTrackCollection IITTrackCollection; +#endif /* __IITTrackCollection_FWD_DEFINED__ */ + + +#ifndef __IITVisual_FWD_DEFINED__ +#define __IITVisual_FWD_DEFINED__ +typedef interface IITVisual IITVisual; +#endif /* __IITVisual_FWD_DEFINED__ */ + + +#ifndef __IITVisualCollection_FWD_DEFINED__ +#define __IITVisualCollection_FWD_DEFINED__ +typedef interface IITVisualCollection IITVisualCollection; +#endif /* __IITVisualCollection_FWD_DEFINED__ */ + + +#ifndef __IITWindow_FWD_DEFINED__ +#define __IITWindow_FWD_DEFINED__ +typedef interface IITWindow IITWindow; +#endif /* __IITWindow_FWD_DEFINED__ */ + + +#ifndef __IITBrowserWindow_FWD_DEFINED__ +#define __IITBrowserWindow_FWD_DEFINED__ +typedef interface IITBrowserWindow IITBrowserWindow; +#endif /* __IITBrowserWindow_FWD_DEFINED__ */ + + +#ifndef __IITWindowCollection_FWD_DEFINED__ +#define __IITWindowCollection_FWD_DEFINED__ +typedef interface IITWindowCollection IITWindowCollection; +#endif /* __IITWindowCollection_FWD_DEFINED__ */ + + +#ifndef __IiTunes_FWD_DEFINED__ +#define __IiTunes_FWD_DEFINED__ +typedef interface IiTunes IiTunes; +#endif /* __IiTunes_FWD_DEFINED__ */ + + +#ifndef ___IiTunesEvents_FWD_DEFINED__ +#define ___IiTunesEvents_FWD_DEFINED__ +typedef interface _IiTunesEvents _IiTunesEvents; +#endif /* ___IiTunesEvents_FWD_DEFINED__ */ + + +#ifndef ___IITConvertOperationStatusEvents_FWD_DEFINED__ +#define ___IITConvertOperationStatusEvents_FWD_DEFINED__ +typedef interface _IITConvertOperationStatusEvents _IITConvertOperationStatusEvents; +#endif /* ___IITConvertOperationStatusEvents_FWD_DEFINED__ */ + + +#ifndef __iTunesApp_FWD_DEFINED__ +#define __iTunesApp_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class iTunesApp iTunesApp; +#else +typedef struct iTunesApp iTunesApp; +#endif /* __cplusplus */ + +#endif /* __iTunesApp_FWD_DEFINED__ */ + + +#ifndef __iTunesConvertOperationStatus_FWD_DEFINED__ +#define __iTunesConvertOperationStatus_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class iTunesConvertOperationStatus iTunesConvertOperationStatus; +#else +typedef struct iTunesConvertOperationStatus iTunesConvertOperationStatus; +#endif /* __cplusplus */ + +#endif /* __iTunesConvertOperationStatus_FWD_DEFINED__ */ + + +#ifndef __IITArtwork_FWD_DEFINED__ +#define __IITArtwork_FWD_DEFINED__ +typedef interface IITArtwork IITArtwork; +#endif /* __IITArtwork_FWD_DEFINED__ */ + + +#ifndef __IITArtworkCollection_FWD_DEFINED__ +#define __IITArtworkCollection_FWD_DEFINED__ +typedef interface IITArtworkCollection IITArtworkCollection; +#endif /* __IITArtworkCollection_FWD_DEFINED__ */ + + +#ifndef __IITURLTrack_FWD_DEFINED__ +#define __IITURLTrack_FWD_DEFINED__ +typedef interface IITURLTrack IITURLTrack; +#endif /* __IITURLTrack_FWD_DEFINED__ */ + + +#ifndef __IITAudioCDPlaylist_FWD_DEFINED__ +#define __IITAudioCDPlaylist_FWD_DEFINED__ +typedef interface IITAudioCDPlaylist IITAudioCDPlaylist; +#endif /* __IITAudioCDPlaylist_FWD_DEFINED__ */ + + +#ifndef __IITPlaylistCollection_FWD_DEFINED__ +#define __IITPlaylistCollection_FWD_DEFINED__ +typedef interface IITPlaylistCollection IITPlaylistCollection; +#endif /* __IITPlaylistCollection_FWD_DEFINED__ */ + + +#ifndef __IITIPodSource_FWD_DEFINED__ +#define __IITIPodSource_FWD_DEFINED__ +typedef interface IITIPodSource IITIPodSource; +#endif /* __IITIPodSource_FWD_DEFINED__ */ + + +#ifndef __IITFileOrCDTrack_FWD_DEFINED__ +#define __IITFileOrCDTrack_FWD_DEFINED__ +typedef interface IITFileOrCDTrack IITFileOrCDTrack; +#endif /* __IITFileOrCDTrack_FWD_DEFINED__ */ + + +#ifndef __IITPlaylistWindow_FWD_DEFINED__ +#define __IITPlaylistWindow_FWD_DEFINED__ +typedef interface IITPlaylistWindow IITPlaylistWindow; +#endif /* __IITPlaylistWindow_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "DispEx.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +void * __RPC_USER MIDL_user_allocate(size_t); +void __RPC_USER MIDL_user_free( void * ); + +/* interface __MIDL_itf_iTunesCOMInterface_0000 */ +/* [local] */ + +typedef /* [public][v1_enum][uuid] */ DECLSPEC_UUID("4B73428D-2F56-4833-8E5D-65590E45FEAD") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0001 + { kITTypeLibrary_MajorVersion = 1, + kITTypeLibrary_MinorVersion = 11 + } ITVersion; + +typedef /* [public][v1_enum][uuid] */ DECLSPEC_UUID("4C25623B-F990-4ebd-8970-F29A70084B8C") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0002 + { ITUNES_E_USERCANCEL = 0xa0040201, + ITUNES_E_OBJECTDELETED = 0xa0040202, + ITUNES_E_OBJECTLOCKED = 0xa0040203, + ITUNES_E_CONVERSIONINPROGRESS = 0xa0040204, + ITUNES_E_MUSICSTOREDISABLED = 0xa0040205, + ITUNES_E_OBJECTEXISTS = 0xa0040206, + ITUNES_E_PODCASTSDISABLED = 0xa0040207 + } ITErrors; + + + +extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_s_ifspec; + + +#ifndef __iTunesLib_LIBRARY_DEFINED__ +#define __iTunesLib_LIBRARY_DEFINED__ + +/* library iTunesLib */ +/* [helpstring][uuid][version] */ + + + + + + + + + + + + + + + + + + + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("3D502ACA-B474-4640-A2A4-C149538345EC") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0001 + { ITPlayerStateStopped = 0, + ITPlayerStatePlaying = ITPlayerStateStopped + 1, + ITPlayerStateFastForward = ITPlayerStatePlaying + 1, + ITPlayerStateRewind = ITPlayerStateFastForward + 1 + } ITPlayerState; + +typedef /* [public][public][public][v1_enum][uuid] */ DECLSPEC_UUID("5319FADA-0F39-4015-82A0-48B8B871C63C") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0002 + { ITVisualSizeSmall = 0, + ITVisualSizeMedium = ITVisualSizeSmall + 1, + ITVisualSizeLarge = ITVisualSizeMedium + 1 + } ITVisualSize; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("C8128C8D-EDE0-4f0e-AEB1-08D24A91C551") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0003 + { ITCOMDisabledReasonOther = 0, + ITCOMDisabledReasonDialog = ITCOMDisabledReasonOther + 1, + ITCOMDisabledReasonQuitting = ITCOMDisabledReasonDialog + 1 + } ITCOMDisabledReason; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("6B1BD814-CA6E-4063-9EDA-4128D31068C1") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0004 + { ITPlayButtonStatePlayDisabled = 0, + ITPlayButtonStatePlayEnabled = ITPlayButtonStatePlayDisabled + 1, + ITPlayButtonStatePauseEnabled = ITPlayButtonStatePlayEnabled + 1, + ITPlayButtonStatePauseDisabled = ITPlayButtonStatePauseEnabled + 1, + ITPlayButtonStateStopEnabled = ITPlayButtonStatePauseDisabled + 1, + ITPlayButtonStateStopDisabled = ITPlayButtonStateStopEnabled + 1 + } ITPlayButtonState; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("8AF85488-2154-4e46-B65B-1972A43493EF") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0005 + { ITPlayerButtonPrevious = 0, + ITPlayerButtonPlay = ITPlayerButtonPrevious + 1, + ITPlayerButtonNext = ITPlayerButtonPlay + 1 + } ITPlayerButton; + +typedef /* [public][v1_enum][uuid] */ DECLSPEC_UUID("2129AB11-F23F-485e-B15A-3F8573294F9A") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0006 + { ITPlayerButtonModifierKeyNone = 0, + ITPlayerButtonModifierKeyShift = 1, + ITPlayerButtonModifierKeyControl = 2, + ITPlayerButtonModifierKeyAlt = 4, + ITPlayerButtonModifierKeyCapsLock = 8 + } ITPlayerButtonModifierKey; + +typedef /* [public][v1_enum][uuid] */ DECLSPEC_UUID("3194F5F4-8F52-41e6-AB8E-4221CFE29550") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0275_0001 + { ITEventDatabaseChanged = 1, + ITEventPlayerPlay = 2, + ITEventPlayerStop = 3, + ITEventPlayerPlayingTrackChanged = 4, + ITEventUserInterfaceEnabled = 5, + ITEventCOMCallsDisabled = 6, + ITEventCOMCallsEnabled = 7, + ITEventQuitting = 8, + ITEventAboutToPromptUserToQuit = 9, + ITEventSoundVolumeChanged = 10 + } ITEvent; + +typedef /* [public][v1_enum][uuid] */ DECLSPEC_UUID("2E4D55FA-1CD3-4831-8751-0C11EC4FF6FD") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0276_0001 + { ITConvertOperationStatusChanged = 1, + ITConvertOperationComplete = 2 + } ITConvertOperationStatusEvent; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("269E36A5-1728-46e4-BF04-93032C3DD51C") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0277_0001 + { ITArtworkFormatUnknown = 0, + ITArtworkFormatJPEG = ITArtworkFormatUnknown + 1, + ITArtworkFormatPNG = ITArtworkFormatJPEG + 1, + ITArtworkFormatBMP = ITArtworkFormatPNG + 1 + } ITArtworkFormat; + + + + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("DDE76D6E-5F8C-4bda-AFA6-69E82218CFF3") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0001 + { ITPlaylistKindUnknown = 0, + ITPlaylistKindLibrary = ITPlaylistKindUnknown + 1, + ITPlaylistKindUser = ITPlaylistKindLibrary + 1, + ITPlaylistKindCD = ITPlaylistKindUser + 1, + ITPlaylistKindDevice = ITPlaylistKindCD + 1, + ITPlaylistKindRadioTuner = ITPlaylistKindDevice + 1 + } ITPlaylistKind; + +typedef /* [public][public][public][v1_enum][uuid] */ DECLSPEC_UUID("4E1D67A4-6C7A-4c7d-821C-03AF7EB10C35") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0002 + { ITPlaylistRepeatModeOff = 0, + ITPlaylistRepeatModeOne = ITPlaylistRepeatModeOff + 1, + ITPlaylistRepeatModeAll = ITPlaylistRepeatModeOne + 1 + } ITPlaylistRepeatMode; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("BB8E7701-1E77-4972-B6C4-C70AC216F468") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0003 + { ITPlaylistPrintKindPlaylist = 0, + ITPlaylistPrintKindAlbumlist = ITPlaylistPrintKindPlaylist + 1, + ITPlaylistPrintKindInsert = ITPlaylistPrintKindAlbumlist + 1 + } ITPlaylistPrintKind; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("58765E77-E34A-4d67-AC12-5B5BA33EA08F") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0004 + { ITPlaylistSearchFieldAll = 0, + ITPlaylistSearchFieldVisible = ITPlaylistSearchFieldAll + 1, + ITPlaylistSearchFieldArtists = ITPlaylistSearchFieldVisible + 1, + ITPlaylistSearchFieldAlbums = ITPlaylistSearchFieldArtists + 1, + ITPlaylistSearchFieldComposers = ITPlaylistSearchFieldAlbums + 1, + ITPlaylistSearchFieldSongNames = ITPlaylistSearchFieldComposers + 1 + } ITPlaylistSearchField; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("62BC24E6-5C77-4fb7-AA6C-B7FA40C6095D") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0285_0001 + { ITUserPlaylistSpecialKindNone = 0, + ITUserPlaylistSpecialKindPurchasedMusic = ITUserPlaylistSpecialKindNone + 1, + ITUserPlaylistSpecialKindPartyShuffle = ITUserPlaylistSpecialKindPurchasedMusic + 1, + ITUserPlaylistSpecialKindPodcasts = ITUserPlaylistSpecialKindPartyShuffle + 1, + ITUserPlaylistSpecialKindFolder = ITUserPlaylistSpecialKindPodcasts + 1, + ITUserPlaylistSpecialKindVideos = ITUserPlaylistSpecialKindFolder + 1, + ITUserPlaylistSpecialKindMusic = ITUserPlaylistSpecialKindVideos + 1, + ITUserPlaylistSpecialKindMovies = ITUserPlaylistSpecialKindMusic + 1, + ITUserPlaylistSpecialKindTVShows = ITUserPlaylistSpecialKindMovies + 1, + ITUserPlaylistSpecialKindAudiobooks = ITUserPlaylistSpecialKindTVShows + 1 + } ITUserPlaylistSpecialKind; + + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("5F35912B-E633-4930-9E25-09489BAED75A") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0288_0001 + { ITSourceKindUnknown = 0, + ITSourceKindLibrary = ITSourceKindUnknown + 1, + ITSourceKindIPod = ITSourceKindLibrary + 1, + ITSourceKindAudioCD = ITSourceKindIPod + 1, + ITSourceKindMP3CD = ITSourceKindAudioCD + 1, + ITSourceKindDevice = ITSourceKindMP3CD + 1, + ITSourceKindRadioTuner = ITSourceKindDevice + 1, + ITSourceKindSharedLibrary = ITSourceKindRadioTuner + 1 + } ITSourceKind; + + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("ACA133C5-4697-4d5f-98B1-D9881B85FE98") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0001 + { ITTrackKindUnknown = 0, + ITTrackKindFile = ITTrackKindUnknown + 1, + ITTrackKindCD = ITTrackKindFile + 1, + ITTrackKindURL = ITTrackKindCD + 1, + ITTrackKindDevice = ITTrackKindURL + 1, + ITTrackKindSharedLibrary = ITTrackKindDevice + 1 + } ITTrackKind; + +typedef /* [public][public][public][v1_enum][uuid] */ DECLSPEC_UUID("735ECC17-38CC-4d4d-A838-24AF7DCB440E") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0002 + { ITVideoKindNone = 0, + ITVideoKindMovie = ITVideoKindNone + 1, + ITVideoKindMusicVideo = ITVideoKindMovie + 1, + ITVideoKindTVShow = ITVideoKindMusicVideo + 1 + } ITVideoKind; + +typedef /* [public][public][public][public][public][v1_enum][uuid] */ DECLSPEC_UUID("5C75B72C-D066-4faa-8732-D9ED71A6CBD9") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0003 + { ITRatingKindUser = 0, + ITRatingKindComputed = ITRatingKindUser + 1 + } ITRatingKind; + +typedef /* [public][public][v1_enum][uuid] */ DECLSPEC_UUID("C20CE920-EFD9-4c1a-8036-95A895741214") +enum __MIDL___MIDL_itf_iTunesCOMInterface_0297_0001 + { ITWindowKindUnknown = 0, + ITWindowKindBrowser = ITWindowKindUnknown + 1, + ITWindowKindPlaylist = ITWindowKindBrowser + 1, + ITWindowKindEQ = ITWindowKindPlaylist + 1, + ITWindowKindArtwork = ITWindowKindEQ + 1, + ITWindowKindNowPlaying = ITWindowKindArtwork + 1 + } ITWindowKind; + + +EXTERN_C const IID LIBID_iTunesLib; + +#ifndef __IITObject_INTERFACE_DEFINED__ +#define __IITObject_INTERFACE_DEFINED__ + +/* interface IITObject */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITObject; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9FAB0E27-70D7-4e3a-9965-B0C8B8869BB6") + IITObject : public IDispatch + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectIDs( + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( + /* [in] */ BSTR name) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Index( + /* [retval][out] */ long *index) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SourceID( + /* [retval][out] */ long *sourceID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistID( + /* [retval][out] */ long *playlistID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackID( + /* [retval][out] */ long *trackID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackDatabaseID( + /* [retval][out] */ long *databaseID) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITObjectVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITObject * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITObject * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITObject * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITObject * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITObject * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITObject * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITObject * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITObject * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITObject * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITObject * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITObject * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITObject * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITObject * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITObject * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITObject * This, + /* [retval][out] */ long *databaseID); + + END_INTERFACE + } IITObjectVtbl; + + interface IITObject + { + CONST_VTBL struct IITObjectVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITObject_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITObject_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITObject_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITObject_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITObject_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITObject_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITObject_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITObject_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITObject_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITObject_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITObject_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITObject_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITObject_GetITObjectIDs_Proxy( + IITObject * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + +void __RPC_STUB IITObject_GetITObjectIDs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Name_Proxy( + IITObject * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITObject_get_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITObject_put_Name_Proxy( + IITObject * This, + /* [in] */ BSTR name); + + +void __RPC_STUB IITObject_put_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Index_Proxy( + IITObject * This, + /* [retval][out] */ long *index); + + +void __RPC_STUB IITObject_get_Index_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_SourceID_Proxy( + IITObject * This, + /* [retval][out] */ long *sourceID); + + +void __RPC_STUB IITObject_get_SourceID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_PlaylistID_Proxy( + IITObject * This, + /* [retval][out] */ long *playlistID); + + +void __RPC_STUB IITObject_get_PlaylistID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackID_Proxy( + IITObject * This, + /* [retval][out] */ long *trackID); + + +void __RPC_STUB IITObject_get_TrackID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackDatabaseID_Proxy( + IITObject * This, + /* [retval][out] */ long *databaseID); + + +void __RPC_STUB IITObject_get_TrackDatabaseID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITObject_INTERFACE_DEFINED__ */ + + +#ifndef __IITSource_INTERFACE_DEFINED__ +#define __IITSource_INTERFACE_DEFINED__ + +/* interface IITSource */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("AEC1C4D3-AEF1-4255-B892-3E3D13ADFDF9") + IITSource : public IITObject + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( + /* [retval][out] */ ITSourceKind *kind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Capacity( + /* [retval][out] */ double *capacity) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FreeSpace( + /* [retval][out] */ double *freespace) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITSource * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITSource * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITSource * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITSource * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITSource * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITSource * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITSource * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITSource * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITSource * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITSource * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITSource * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITSource * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITSource * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITSource * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITSource * This, + /* [retval][out] */ ITSourceKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capacity )( + IITSource * This, + /* [retval][out] */ double *capacity); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSpace )( + IITSource * This, + /* [retval][out] */ double *freespace); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( + IITSource * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + END_INTERFACE + } IITSourceVtbl; + + interface IITSource + { + CONST_VTBL struct IITSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITSource_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITSource_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITSource_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITSource_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITSource_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITSource_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITSource_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITSource_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITSource_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITSource_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITSource_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITSource_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITSource_get_Capacity(This,capacity) \ + (This)->lpVtbl -> get_Capacity(This,capacity) + +#define IITSource_get_FreeSpace(This,freespace) \ + (This)->lpVtbl -> get_FreeSpace(This,freespace) + +#define IITSource_get_Playlists(This,iPlaylistCollection) \ + (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Kind_Proxy( + IITSource * This, + /* [retval][out] */ ITSourceKind *kind); + + +void __RPC_STUB IITSource_get_Kind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Capacity_Proxy( + IITSource * This, + /* [retval][out] */ double *capacity); + + +void __RPC_STUB IITSource_get_Capacity_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_FreeSpace_Proxy( + IITSource * This, + /* [retval][out] */ double *freespace); + + +void __RPC_STUB IITSource_get_FreeSpace_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Playlists_Proxy( + IITSource * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + +void __RPC_STUB IITSource_get_Playlists_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITSource_INTERFACE_DEFINED__ */ + + +#ifndef __IITSourceCollection_INTERFACE_DEFINED__ +#define __IITSourceCollection_INTERFACE_DEFINED__ + +/* interface IITSourceCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITSourceCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2FF6CE20-FF87-4183-B0B3-F323D047AF41") + IITSourceCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITSource **iSource) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITSource **iSource) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITSource **iSource) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITSourceCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITSourceCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITSourceCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITSourceCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITSourceCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITSourceCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITSourceCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITSourceCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITSourceCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITSourceCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITSourceCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITSourceCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( + IITSourceCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITSource **iSource); + + END_INTERFACE + } IITSourceCollectionVtbl; + + interface IITSourceCollection + { + CONST_VTBL struct IITSourceCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITSourceCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITSourceCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITSourceCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITSourceCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITSourceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITSourceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITSourceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITSourceCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITSourceCollection_get_Item(This,index,iSource) \ + (This)->lpVtbl -> get_Item(This,index,iSource) + +#define IITSourceCollection_get_ItemByName(This,name,iSource) \ + (This)->lpVtbl -> get_ItemByName(This,name,iSource) + +#define IITSourceCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#define IITSourceCollection_get_ItemByPersistentID(This,highID,lowID,iSource) \ + (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iSource) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Count_Proxy( + IITSourceCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITSourceCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Item_Proxy( + IITSourceCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITSource **iSource); + + +void __RPC_STUB IITSourceCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_ItemByName_Proxy( + IITSourceCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITSource **iSource); + + +void __RPC_STUB IITSourceCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get__NewEnum_Proxy( + IITSourceCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITSourceCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_ItemByPersistentID_Proxy( + IITSourceCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITSource **iSource); + + +void __RPC_STUB IITSourceCollection_get_ItemByPersistentID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITSourceCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITEncoder_INTERFACE_DEFINED__ +#define __IITEncoder_INTERFACE_DEFINED__ + +/* interface IITEncoder */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITEncoder; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1CF95A1C-55FE-4f45-A2D3-85AC6C504A73") + IITEncoder : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( + /* [retval][out] */ BSTR *format) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITEncoderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITEncoder * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITEncoder * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITEncoder * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITEncoder * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITEncoder * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITEncoder * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITEncoder * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITEncoder * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( + IITEncoder * This, + /* [retval][out] */ BSTR *format); + + END_INTERFACE + } IITEncoderVtbl; + + interface IITEncoder + { + CONST_VTBL struct IITEncoderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITEncoder_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITEncoder_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITEncoder_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITEncoder_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITEncoder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITEncoder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITEncoder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITEncoder_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITEncoder_get_Format(This,format) \ + (This)->lpVtbl -> get_Format(This,format) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Name_Proxy( + IITEncoder * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITEncoder_get_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Format_Proxy( + IITEncoder * This, + /* [retval][out] */ BSTR *format); + + +void __RPC_STUB IITEncoder_get_Format_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITEncoder_INTERFACE_DEFINED__ */ + + +#ifndef __IITEncoderCollection_INTERFACE_DEFINED__ +#define __IITEncoderCollection_INTERFACE_DEFINED__ + +/* interface IITEncoderCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITEncoderCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8862BCA9-168D-4549-A9D5-ADB35E553BA6") + IITEncoderCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITEncoder **iEncoder) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITEncoder **iEncoder) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITEncoderCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITEncoderCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITEncoderCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITEncoderCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITEncoderCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITEncoderCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITEncoderCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITEncoderCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITEncoderCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITEncoderCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITEncoder **iEncoder); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITEncoderCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITEncoder **iEncoder); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITEncoderCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + END_INTERFACE + } IITEncoderCollectionVtbl; + + interface IITEncoderCollection + { + CONST_VTBL struct IITEncoderCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITEncoderCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITEncoderCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITEncoderCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITEncoderCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITEncoderCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITEncoderCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITEncoderCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITEncoderCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITEncoderCollection_get_Item(This,index,iEncoder) \ + (This)->lpVtbl -> get_Item(This,index,iEncoder) + +#define IITEncoderCollection_get_ItemByName(This,name,iEncoder) \ + (This)->lpVtbl -> get_ItemByName(This,name,iEncoder) + +#define IITEncoderCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Count_Proxy( + IITEncoderCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITEncoderCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Item_Proxy( + IITEncoderCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITEncoder **iEncoder); + + +void __RPC_STUB IITEncoderCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_ItemByName_Proxy( + IITEncoderCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITEncoder **iEncoder); + + +void __RPC_STUB IITEncoderCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get__NewEnum_Proxy( + IITEncoderCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITEncoderCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITEncoderCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITEQPreset_INTERFACE_DEFINED__ +#define __IITEQPreset_INTERFACE_DEFINED__ + +/* interface IITEQPreset */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITEQPreset; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5BE75F4F-68FA-4212-ACB7-BE44EA569759") + IITEQPreset : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Modifiable( + /* [retval][out] */ VARIANT_BOOL *isModifiable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preamp( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Preamp( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band1( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band1( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band2( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band2( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band3( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band3( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band4( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band4( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band5( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band5( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band6( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band6( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band7( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band7( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band8( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band8( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band9( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band9( + /* [in] */ double level) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band10( + /* [retval][out] */ double *level) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band10( + /* [in] */ double level) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( + /* [in] */ VARIANT_BOOL updateAllTracks) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( + /* [in] */ BSTR newName, + /* [in] */ VARIANT_BOOL updateAllTracks) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITEQPresetVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITEQPreset * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITEQPreset * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITEQPreset * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITEQPreset * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITEQPreset * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITEQPreset * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITEQPreset * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITEQPreset * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Modifiable )( + IITEQPreset * This, + /* [retval][out] */ VARIANT_BOOL *isModifiable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preamp )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Preamp )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band1 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band1 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band2 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band2 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band3 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band3 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band4 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band4 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band5 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band5 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band6 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band6 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band7 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band7 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band8 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band8 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band9 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band9 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band10 )( + IITEQPreset * This, + /* [retval][out] */ double *level); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band10 )( + IITEQPreset * This, + /* [in] */ double level); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITEQPreset * This, + /* [in] */ VARIANT_BOOL updateAllTracks); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rename )( + IITEQPreset * This, + /* [in] */ BSTR newName, + /* [in] */ VARIANT_BOOL updateAllTracks); + + END_INTERFACE + } IITEQPresetVtbl; + + interface IITEQPreset + { + CONST_VTBL struct IITEQPresetVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITEQPreset_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITEQPreset_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITEQPreset_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITEQPreset_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITEQPreset_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITEQPreset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITEQPreset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITEQPreset_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITEQPreset_get_Modifiable(This,isModifiable) \ + (This)->lpVtbl -> get_Modifiable(This,isModifiable) + +#define IITEQPreset_get_Preamp(This,level) \ + (This)->lpVtbl -> get_Preamp(This,level) + +#define IITEQPreset_put_Preamp(This,level) \ + (This)->lpVtbl -> put_Preamp(This,level) + +#define IITEQPreset_get_Band1(This,level) \ + (This)->lpVtbl -> get_Band1(This,level) + +#define IITEQPreset_put_Band1(This,level) \ + (This)->lpVtbl -> put_Band1(This,level) + +#define IITEQPreset_get_Band2(This,level) \ + (This)->lpVtbl -> get_Band2(This,level) + +#define IITEQPreset_put_Band2(This,level) \ + (This)->lpVtbl -> put_Band2(This,level) + +#define IITEQPreset_get_Band3(This,level) \ + (This)->lpVtbl -> get_Band3(This,level) + +#define IITEQPreset_put_Band3(This,level) \ + (This)->lpVtbl -> put_Band3(This,level) + +#define IITEQPreset_get_Band4(This,level) \ + (This)->lpVtbl -> get_Band4(This,level) + +#define IITEQPreset_put_Band4(This,level) \ + (This)->lpVtbl -> put_Band4(This,level) + +#define IITEQPreset_get_Band5(This,level) \ + (This)->lpVtbl -> get_Band5(This,level) + +#define IITEQPreset_put_Band5(This,level) \ + (This)->lpVtbl -> put_Band5(This,level) + +#define IITEQPreset_get_Band6(This,level) \ + (This)->lpVtbl -> get_Band6(This,level) + +#define IITEQPreset_put_Band6(This,level) \ + (This)->lpVtbl -> put_Band6(This,level) + +#define IITEQPreset_get_Band7(This,level) \ + (This)->lpVtbl -> get_Band7(This,level) + +#define IITEQPreset_put_Band7(This,level) \ + (This)->lpVtbl -> put_Band7(This,level) + +#define IITEQPreset_get_Band8(This,level) \ + (This)->lpVtbl -> get_Band8(This,level) + +#define IITEQPreset_put_Band8(This,level) \ + (This)->lpVtbl -> put_Band8(This,level) + +#define IITEQPreset_get_Band9(This,level) \ + (This)->lpVtbl -> get_Band9(This,level) + +#define IITEQPreset_put_Band9(This,level) \ + (This)->lpVtbl -> put_Band9(This,level) + +#define IITEQPreset_get_Band10(This,level) \ + (This)->lpVtbl -> get_Band10(This,level) + +#define IITEQPreset_put_Band10(This,level) \ + (This)->lpVtbl -> put_Band10(This,level) + +#define IITEQPreset_Delete(This,updateAllTracks) \ + (This)->lpVtbl -> Delete(This,updateAllTracks) + +#define IITEQPreset_Rename(This,newName,updateAllTracks) \ + (This)->lpVtbl -> Rename(This,newName,updateAllTracks) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Name_Proxy( + IITEQPreset * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITEQPreset_get_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Modifiable_Proxy( + IITEQPreset * This, + /* [retval][out] */ VARIANT_BOOL *isModifiable); + + +void __RPC_STUB IITEQPreset_get_Modifiable_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Preamp_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Preamp_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Preamp_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Preamp_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band1_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band1_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band1_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band1_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band2_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band2_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band3_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band3_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band3_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band3_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band4_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band4_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band4_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band4_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band5_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band5_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band5_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band5_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band6_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band6_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band6_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band6_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band7_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band7_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band7_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band7_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band8_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band8_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band8_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band8_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band9_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band9_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band9_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band9_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band10_Proxy( + IITEQPreset * This, + /* [retval][out] */ double *level); + + +void __RPC_STUB IITEQPreset_get_Band10_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band10_Proxy( + IITEQPreset * This, + /* [in] */ double level); + + +void __RPC_STUB IITEQPreset_put_Band10_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Delete_Proxy( + IITEQPreset * This, + /* [in] */ VARIANT_BOOL updateAllTracks); + + +void __RPC_STUB IITEQPreset_Delete_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Rename_Proxy( + IITEQPreset * This, + /* [in] */ BSTR newName, + /* [in] */ VARIANT_BOOL updateAllTracks); + + +void __RPC_STUB IITEQPreset_Rename_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITEQPreset_INTERFACE_DEFINED__ */ + + +#ifndef __IITEQPresetCollection_INTERFACE_DEFINED__ +#define __IITEQPresetCollection_INTERFACE_DEFINED__ + +/* interface IITEQPresetCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITEQPresetCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("AEF4D111-3331-48da-B0C2-B468D5D61D08") + IITEQPresetCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITEQPreset **iEQPreset) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITEQPreset **iEQPreset) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITEQPresetCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITEQPresetCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITEQPresetCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITEQPresetCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITEQPresetCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITEQPresetCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITEQPresetCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITEQPresetCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITEQPresetCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITEQPresetCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITEQPreset **iEQPreset); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITEQPresetCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITEQPreset **iEQPreset); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITEQPresetCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + END_INTERFACE + } IITEQPresetCollectionVtbl; + + interface IITEQPresetCollection + { + CONST_VTBL struct IITEQPresetCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITEQPresetCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITEQPresetCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITEQPresetCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITEQPresetCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITEQPresetCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITEQPresetCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITEQPresetCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITEQPresetCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITEQPresetCollection_get_Item(This,index,iEQPreset) \ + (This)->lpVtbl -> get_Item(This,index,iEQPreset) + +#define IITEQPresetCollection_get_ItemByName(This,name,iEQPreset) \ + (This)->lpVtbl -> get_ItemByName(This,name,iEQPreset) + +#define IITEQPresetCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Count_Proxy( + IITEQPresetCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITEQPresetCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Item_Proxy( + IITEQPresetCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITEQPreset **iEQPreset); + + +void __RPC_STUB IITEQPresetCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_ItemByName_Proxy( + IITEQPresetCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITEQPreset **iEQPreset); + + +void __RPC_STUB IITEQPresetCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get__NewEnum_Proxy( + IITEQPresetCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITEQPresetCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITEQPresetCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITPlaylist_INTERFACE_DEFINED__ +#define __IITPlaylist_INTERFACE_DEFINED__ + +/* interface IITPlaylist */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITPlaylist; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3D5E072F-2A77-4b17-9E73-E03B77CCCCA9") + IITPlaylist : public IITObject + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFirstTrack( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Print( + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Search( + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( + /* [retval][out] */ ITPlaylistKind *kind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( + /* [retval][out] */ IITSource **iSource) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( + /* [retval][out] */ long *duration) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shuffle( + /* [retval][out] */ VARIANT_BOOL *isShuffle) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shuffle( + /* [in] */ VARIANT_BOOL shouldShuffle) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( + /* [retval][out] */ double *size) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SongRepeat( + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SongRepeat( + /* [in] */ ITPlaylistRepeatMode repeatMode) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( + /* [retval][out] */ BSTR *time) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( + /* [retval][out] */ VARIANT_BOOL *isVisible) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITPlaylistVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITPlaylist * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITPlaylist * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITPlaylist * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITPlaylist * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITPlaylist * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITPlaylist * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITPlaylist * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITPlaylist * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITPlaylist * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITPlaylist * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITPlaylist * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITPlaylist * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITPlaylist * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITPlaylist * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITPlaylist * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( + IITPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( + IITPlaylist * This, + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( + IITPlaylist * This, + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITPlaylist * This, + /* [retval][out] */ ITPlaylistKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( + IITPlaylist * This, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITPlaylist * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( + IITPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShuffle); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( + IITPlaylist * This, + /* [in] */ VARIANT_BOOL shouldShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITPlaylist * This, + /* [retval][out] */ double *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( + IITPlaylist * This, + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( + IITPlaylist * This, + /* [in] */ ITPlaylistRepeatMode repeatMode); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITPlaylist * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITPlaylist * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + END_INTERFACE + } IITPlaylistVtbl; + + interface IITPlaylist + { + CONST_VTBL struct IITPlaylistVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITPlaylist_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITPlaylist_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITPlaylist_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITPlaylist_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITPlaylist_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITPlaylist_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITPlaylist_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITPlaylist_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITPlaylist_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITPlaylist_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITPlaylist_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITPlaylist_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITPlaylist_PlayFirstTrack(This) \ + (This)->lpVtbl -> PlayFirstTrack(This) + +#define IITPlaylist_Print(This,showPrintDialog,printKind,theme) \ + (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme) + +#define IITPlaylist_Search(This,searchText,searchFields,iTrackCollection) \ + (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection) + +#define IITPlaylist_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITPlaylist_get_Source(This,iSource) \ + (This)->lpVtbl -> get_Source(This,iSource) + +#define IITPlaylist_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITPlaylist_get_Shuffle(This,isShuffle) \ + (This)->lpVtbl -> get_Shuffle(This,isShuffle) + +#define IITPlaylist_put_Shuffle(This,shouldShuffle) \ + (This)->lpVtbl -> put_Shuffle(This,shouldShuffle) + +#define IITPlaylist_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITPlaylist_get_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> get_SongRepeat(This,repeatMode) + +#define IITPlaylist_put_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> put_SongRepeat(This,repeatMode) + +#define IITPlaylist_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITPlaylist_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITPlaylist_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Delete_Proxy( + IITPlaylist * This); + + +void __RPC_STUB IITPlaylist_Delete_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_PlayFirstTrack_Proxy( + IITPlaylist * This); + + +void __RPC_STUB IITPlaylist_PlayFirstTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Print_Proxy( + IITPlaylist * This, + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme); + + +void __RPC_STUB IITPlaylist_Print_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Search_Proxy( + IITPlaylist * This, + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IITPlaylist_Search_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Kind_Proxy( + IITPlaylist * This, + /* [retval][out] */ ITPlaylistKind *kind); + + +void __RPC_STUB IITPlaylist_get_Kind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Source_Proxy( + IITPlaylist * This, + /* [retval][out] */ IITSource **iSource); + + +void __RPC_STUB IITPlaylist_get_Source_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Duration_Proxy( + IITPlaylist * This, + /* [retval][out] */ long *duration); + + +void __RPC_STUB IITPlaylist_get_Duration_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Shuffle_Proxy( + IITPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShuffle); + + +void __RPC_STUB IITPlaylist_get_Shuffle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_Shuffle_Proxy( + IITPlaylist * This, + /* [in] */ VARIANT_BOOL shouldShuffle); + + +void __RPC_STUB IITPlaylist_put_Shuffle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Size_Proxy( + IITPlaylist * This, + /* [retval][out] */ double *size); + + +void __RPC_STUB IITPlaylist_get_Size_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_SongRepeat_Proxy( + IITPlaylist * This, + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode); + + +void __RPC_STUB IITPlaylist_get_SongRepeat_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_SongRepeat_Proxy( + IITPlaylist * This, + /* [in] */ ITPlaylistRepeatMode repeatMode); + + +void __RPC_STUB IITPlaylist_put_SongRepeat_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Time_Proxy( + IITPlaylist * This, + /* [retval][out] */ BSTR *time); + + +void __RPC_STUB IITPlaylist_get_Time_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Visible_Proxy( + IITPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + +void __RPC_STUB IITPlaylist_get_Visible_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Tracks_Proxy( + IITPlaylist * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IITPlaylist_get_Tracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITPlaylist_INTERFACE_DEFINED__ */ + + +#ifndef __IITOperationStatus_INTERFACE_DEFINED__ +#define __IITOperationStatus_INTERFACE_DEFINED__ + +/* interface IITOperationStatus */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITOperationStatus; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("206479C9-FE32-4f9b-A18A-475AC939B479") + IITOperationStatus : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InProgress( + /* [retval][out] */ VARIANT_BOOL *isInProgress) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITOperationStatusVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITOperationStatus * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITOperationStatus * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITOperationStatus * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITOperationStatus * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITOperationStatus * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITOperationStatus * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITOperationStatus * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InProgress )( + IITOperationStatus * This, + /* [retval][out] */ VARIANT_BOOL *isInProgress); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITOperationStatus * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + END_INTERFACE + } IITOperationStatusVtbl; + + interface IITOperationStatus + { + CONST_VTBL struct IITOperationStatusVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITOperationStatus_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITOperationStatus_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITOperationStatus_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITOperationStatus_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITOperationStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITOperationStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITOperationStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITOperationStatus_get_InProgress(This,isInProgress) \ + (This)->lpVtbl -> get_InProgress(This,isInProgress) + +#define IITOperationStatus_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_InProgress_Proxy( + IITOperationStatus * This, + /* [retval][out] */ VARIANT_BOOL *isInProgress); + + +void __RPC_STUB IITOperationStatus_get_InProgress_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_Tracks_Proxy( + IITOperationStatus * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IITOperationStatus_get_Tracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITOperationStatus_INTERFACE_DEFINED__ */ + + +#ifndef __IITConvertOperationStatus_INTERFACE_DEFINED__ +#define __IITConvertOperationStatus_INTERFACE_DEFINED__ + +/* interface IITConvertOperationStatus */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITConvertOperationStatus; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7063AAF6-ABA0-493b-B4FC-920A9F105875") + IITConvertOperationStatus : public IITOperationStatus + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConversionStatus( + /* [out] */ BSTR *trackName, + /* [out] */ long *progressValue, + /* [out] */ long *maxProgressValue) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopConversion( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackName( + /* [retval][out] */ BSTR *trackName) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProgressValue( + /* [retval][out] */ long *progressValue) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxProgressValue( + /* [retval][out] */ long *maxProgressValue) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITConvertOperationStatusVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITConvertOperationStatus * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITConvertOperationStatus * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITConvertOperationStatus * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITConvertOperationStatus * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITConvertOperationStatus * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITConvertOperationStatus * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITConvertOperationStatus * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InProgress )( + IITConvertOperationStatus * This, + /* [retval][out] */ VARIANT_BOOL *isInProgress); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITConvertOperationStatus * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConversionStatus )( + IITConvertOperationStatus * This, + /* [out] */ BSTR *trackName, + /* [out] */ long *progressValue, + /* [out] */ long *maxProgressValue); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopConversion )( + IITConvertOperationStatus * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackName )( + IITConvertOperationStatus * This, + /* [retval][out] */ BSTR *trackName); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressValue )( + IITConvertOperationStatus * This, + /* [retval][out] */ long *progressValue); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxProgressValue )( + IITConvertOperationStatus * This, + /* [retval][out] */ long *maxProgressValue); + + END_INTERFACE + } IITConvertOperationStatusVtbl; + + interface IITConvertOperationStatus + { + CONST_VTBL struct IITConvertOperationStatusVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITConvertOperationStatus_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITConvertOperationStatus_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITConvertOperationStatus_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITConvertOperationStatus_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITConvertOperationStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITConvertOperationStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITConvertOperationStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITConvertOperationStatus_get_InProgress(This,isInProgress) \ + (This)->lpVtbl -> get_InProgress(This,isInProgress) + +#define IITConvertOperationStatus_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + + +#define IITConvertOperationStatus_GetConversionStatus(This,trackName,progressValue,maxProgressValue) \ + (This)->lpVtbl -> GetConversionStatus(This,trackName,progressValue,maxProgressValue) + +#define IITConvertOperationStatus_StopConversion(This) \ + (This)->lpVtbl -> StopConversion(This) + +#define IITConvertOperationStatus_get_TrackName(This,trackName) \ + (This)->lpVtbl -> get_TrackName(This,trackName) + +#define IITConvertOperationStatus_get_ProgressValue(This,progressValue) \ + (This)->lpVtbl -> get_ProgressValue(This,progressValue) + +#define IITConvertOperationStatus_get_MaxProgressValue(This,maxProgressValue) \ + (This)->lpVtbl -> get_MaxProgressValue(This,maxProgressValue) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_GetConversionStatus_Proxy( + IITConvertOperationStatus * This, + /* [out] */ BSTR *trackName, + /* [out] */ long *progressValue, + /* [out] */ long *maxProgressValue); + + +void __RPC_STUB IITConvertOperationStatus_GetConversionStatus_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_StopConversion_Proxy( + IITConvertOperationStatus * This); + + +void __RPC_STUB IITConvertOperationStatus_StopConversion_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_TrackName_Proxy( + IITConvertOperationStatus * This, + /* [retval][out] */ BSTR *trackName); + + +void __RPC_STUB IITConvertOperationStatus_get_TrackName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_ProgressValue_Proxy( + IITConvertOperationStatus * This, + /* [retval][out] */ long *progressValue); + + +void __RPC_STUB IITConvertOperationStatus_get_ProgressValue_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_MaxProgressValue_Proxy( + IITConvertOperationStatus * This, + /* [retval][out] */ long *maxProgressValue); + + +void __RPC_STUB IITConvertOperationStatus_get_MaxProgressValue_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITConvertOperationStatus_INTERFACE_DEFINED__ */ + + +#ifndef __IITLibraryPlaylist_INTERFACE_DEFINED__ +#define __IITLibraryPlaylist_INTERFACE_DEFINED__ + +/* interface IITLibraryPlaylist */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITLibraryPlaylist; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("53AE1704-491C-4289-94A0-958815675A3D") + IITLibraryPlaylist : public IITPlaylist + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITLibraryPlaylistVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITLibraryPlaylist * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITLibraryPlaylist * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITLibraryPlaylist * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITLibraryPlaylist * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITLibraryPlaylist * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITLibraryPlaylist * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITLibraryPlaylist * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITLibraryPlaylist * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITLibraryPlaylist * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITLibraryPlaylist * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITLibraryPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( + IITLibraryPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( + IITLibraryPlaylist * This, + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( + IITLibraryPlaylist * This, + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITLibraryPlaylist * This, + /* [retval][out] */ ITPlaylistKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( + IITLibraryPlaylist * This, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITLibraryPlaylist * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( + IITLibraryPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShuffle); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( + IITLibraryPlaylist * This, + /* [in] */ VARIANT_BOOL shouldShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITLibraryPlaylist * This, + /* [retval][out] */ double *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( + IITLibraryPlaylist * This, + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( + IITLibraryPlaylist * This, + /* [in] */ ITPlaylistRepeatMode repeatMode); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITLibraryPlaylist * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITLibraryPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITLibraryPlaylist * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFile )( + IITLibraryPlaylist * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFiles )( + IITLibraryPlaylist * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddURL )( + IITLibraryPlaylist * This, + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTrack )( + IITLibraryPlaylist * This, + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack); + + END_INTERFACE + } IITLibraryPlaylistVtbl; + + interface IITLibraryPlaylist + { + CONST_VTBL struct IITLibraryPlaylistVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITLibraryPlaylist_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITLibraryPlaylist_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITLibraryPlaylist_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITLibraryPlaylist_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITLibraryPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITLibraryPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITLibraryPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITLibraryPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITLibraryPlaylist_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITLibraryPlaylist_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITLibraryPlaylist_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITLibraryPlaylist_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITLibraryPlaylist_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITLibraryPlaylist_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITLibraryPlaylist_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITLibraryPlaylist_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITLibraryPlaylist_PlayFirstTrack(This) \ + (This)->lpVtbl -> PlayFirstTrack(This) + +#define IITLibraryPlaylist_Print(This,showPrintDialog,printKind,theme) \ + (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme) + +#define IITLibraryPlaylist_Search(This,searchText,searchFields,iTrackCollection) \ + (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection) + +#define IITLibraryPlaylist_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITLibraryPlaylist_get_Source(This,iSource) \ + (This)->lpVtbl -> get_Source(This,iSource) + +#define IITLibraryPlaylist_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITLibraryPlaylist_get_Shuffle(This,isShuffle) \ + (This)->lpVtbl -> get_Shuffle(This,isShuffle) + +#define IITLibraryPlaylist_put_Shuffle(This,shouldShuffle) \ + (This)->lpVtbl -> put_Shuffle(This,shouldShuffle) + +#define IITLibraryPlaylist_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITLibraryPlaylist_get_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> get_SongRepeat(This,repeatMode) + +#define IITLibraryPlaylist_put_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> put_SongRepeat(This,repeatMode) + +#define IITLibraryPlaylist_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITLibraryPlaylist_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITLibraryPlaylist_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + + +#define IITLibraryPlaylist_AddFile(This,filePath,iStatus) \ + (This)->lpVtbl -> AddFile(This,filePath,iStatus) + +#define IITLibraryPlaylist_AddFiles(This,filePaths,iStatus) \ + (This)->lpVtbl -> AddFiles(This,filePaths,iStatus) + +#define IITLibraryPlaylist_AddURL(This,url,iURLTrack) \ + (This)->lpVtbl -> AddURL(This,url,iURLTrack) + +#define IITLibraryPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack) \ + (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFile_Proxy( + IITLibraryPlaylist * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IITLibraryPlaylist_AddFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFiles_Proxy( + IITLibraryPlaylist * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IITLibraryPlaylist_AddFiles_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddURL_Proxy( + IITLibraryPlaylist * This, + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack); + + +void __RPC_STUB IITLibraryPlaylist_AddURL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddTrack_Proxy( + IITLibraryPlaylist * This, + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack); + + +void __RPC_STUB IITLibraryPlaylist_AddTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITLibraryPlaylist_INTERFACE_DEFINED__ */ + + +#ifndef __IITUserPlaylist_INTERFACE_DEFINED__ +#define __IITUserPlaylist_INTERFACE_DEFINED__ + +/* interface IITUserPlaylist */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITUserPlaylist; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("0A504DED-A0B5-465a-8A94-50E20D7DF692") + IITUserPlaylist : public IITPlaylist + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shared( + /* [retval][out] */ VARIANT_BOOL *isShared) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shared( + /* [in] */ VARIANT_BOOL shouldBeShared) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Smart( + /* [retval][out] */ VARIANT_BOOL *isSmart) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SpecialKind( + /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( + /* [retval][out] */ IITUserPlaylist **iParentPlayList) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Parent( + /* [in] */ VARIANT *iParent) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITUserPlaylistVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITUserPlaylist * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITUserPlaylist * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITUserPlaylist * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITUserPlaylist * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITUserPlaylist * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITUserPlaylist * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITUserPlaylist * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITUserPlaylist * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITUserPlaylist * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITUserPlaylist * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITUserPlaylist * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITUserPlaylist * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITUserPlaylist * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITUserPlaylist * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITUserPlaylist * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITUserPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( + IITUserPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( + IITUserPlaylist * This, + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( + IITUserPlaylist * This, + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITUserPlaylist * This, + /* [retval][out] */ ITPlaylistKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( + IITUserPlaylist * This, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITUserPlaylist * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShuffle); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( + IITUserPlaylist * This, + /* [in] */ VARIANT_BOOL shouldShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITUserPlaylist * This, + /* [retval][out] */ double *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( + IITUserPlaylist * This, + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( + IITUserPlaylist * This, + /* [in] */ ITPlaylistRepeatMode repeatMode); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITUserPlaylist * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITUserPlaylist * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFile )( + IITUserPlaylist * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFiles )( + IITUserPlaylist * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddURL )( + IITUserPlaylist * This, + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTrack )( + IITUserPlaylist * This, + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shared )( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShared); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shared )( + IITUserPlaylist * This, + /* [in] */ VARIANT_BOOL shouldBeShared); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Smart )( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isSmart); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SpecialKind )( + IITUserPlaylist * This, + /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( + IITUserPlaylist * This, + /* [retval][out] */ IITUserPlaylist **iParentPlayList); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylist )( + IITUserPlaylist * This, + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( + IITUserPlaylist * This, + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Parent )( + IITUserPlaylist * This, + /* [in] */ VARIANT *iParent); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( + IITUserPlaylist * This); + + END_INTERFACE + } IITUserPlaylistVtbl; + + interface IITUserPlaylist + { + CONST_VTBL struct IITUserPlaylistVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITUserPlaylist_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITUserPlaylist_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITUserPlaylist_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITUserPlaylist_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITUserPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITUserPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITUserPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITUserPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITUserPlaylist_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITUserPlaylist_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITUserPlaylist_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITUserPlaylist_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITUserPlaylist_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITUserPlaylist_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITUserPlaylist_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITUserPlaylist_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITUserPlaylist_PlayFirstTrack(This) \ + (This)->lpVtbl -> PlayFirstTrack(This) + +#define IITUserPlaylist_Print(This,showPrintDialog,printKind,theme) \ + (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme) + +#define IITUserPlaylist_Search(This,searchText,searchFields,iTrackCollection) \ + (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection) + +#define IITUserPlaylist_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITUserPlaylist_get_Source(This,iSource) \ + (This)->lpVtbl -> get_Source(This,iSource) + +#define IITUserPlaylist_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITUserPlaylist_get_Shuffle(This,isShuffle) \ + (This)->lpVtbl -> get_Shuffle(This,isShuffle) + +#define IITUserPlaylist_put_Shuffle(This,shouldShuffle) \ + (This)->lpVtbl -> put_Shuffle(This,shouldShuffle) + +#define IITUserPlaylist_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITUserPlaylist_get_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> get_SongRepeat(This,repeatMode) + +#define IITUserPlaylist_put_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> put_SongRepeat(This,repeatMode) + +#define IITUserPlaylist_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITUserPlaylist_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITUserPlaylist_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + + +#define IITUserPlaylist_AddFile(This,filePath,iStatus) \ + (This)->lpVtbl -> AddFile(This,filePath,iStatus) + +#define IITUserPlaylist_AddFiles(This,filePaths,iStatus) \ + (This)->lpVtbl -> AddFiles(This,filePaths,iStatus) + +#define IITUserPlaylist_AddURL(This,url,iURLTrack) \ + (This)->lpVtbl -> AddURL(This,url,iURLTrack) + +#define IITUserPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack) \ + (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack) + +#define IITUserPlaylist_get_Shared(This,isShared) \ + (This)->lpVtbl -> get_Shared(This,isShared) + +#define IITUserPlaylist_put_Shared(This,shouldBeShared) \ + (This)->lpVtbl -> put_Shared(This,shouldBeShared) + +#define IITUserPlaylist_get_Smart(This,isSmart) \ + (This)->lpVtbl -> get_Smart(This,isSmart) + +#define IITUserPlaylist_get_SpecialKind(This,specialKind) \ + (This)->lpVtbl -> get_SpecialKind(This,specialKind) + +#define IITUserPlaylist_get_Parent(This,iParentPlayList) \ + (This)->lpVtbl -> get_Parent(This,iParentPlayList) + +#define IITUserPlaylist_CreatePlaylist(This,playlistName,iPlaylist) \ + (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist) + +#define IITUserPlaylist_CreateFolder(This,folderName,iFolder) \ + (This)->lpVtbl -> CreateFolder(This,folderName,iFolder) + +#define IITUserPlaylist_put_Parent(This,iParent) \ + (This)->lpVtbl -> put_Parent(This,iParent) + +#define IITUserPlaylist_Reveal(This) \ + (This)->lpVtbl -> Reveal(This) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFile_Proxy( + IITUserPlaylist * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IITUserPlaylist_AddFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFiles_Proxy( + IITUserPlaylist * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IITUserPlaylist_AddFiles_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddURL_Proxy( + IITUserPlaylist * This, + /* [in] */ BSTR url, + /* [retval][out] */ IITURLTrack **iURLTrack); + + +void __RPC_STUB IITUserPlaylist_AddURL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddTrack_Proxy( + IITUserPlaylist * This, + /* [in] */ VARIANT *iTrackToAdd, + /* [retval][out] */ IITTrack **iAddedTrack); + + +void __RPC_STUB IITUserPlaylist_AddTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Shared_Proxy( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShared); + + +void __RPC_STUB IITUserPlaylist_get_Shared_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Shared_Proxy( + IITUserPlaylist * This, + /* [in] */ VARIANT_BOOL shouldBeShared); + + +void __RPC_STUB IITUserPlaylist_put_Shared_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Smart_Proxy( + IITUserPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isSmart); + + +void __RPC_STUB IITUserPlaylist_get_Smart_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_SpecialKind_Proxy( + IITUserPlaylist * This, + /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind); + + +void __RPC_STUB IITUserPlaylist_get_SpecialKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Parent_Proxy( + IITUserPlaylist * This, + /* [retval][out] */ IITUserPlaylist **iParentPlayList); + + +void __RPC_STUB IITUserPlaylist_get_Parent_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreatePlaylist_Proxy( + IITUserPlaylist * This, + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITUserPlaylist_CreatePlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreateFolder_Proxy( + IITUserPlaylist * This, + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder); + + +void __RPC_STUB IITUserPlaylist_CreateFolder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Parent_Proxy( + IITUserPlaylist * This, + /* [in] */ VARIANT *iParent); + + +void __RPC_STUB IITUserPlaylist_put_Parent_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_Reveal_Proxy( + IITUserPlaylist * This); + + +void __RPC_STUB IITUserPlaylist_Reveal_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITUserPlaylist_INTERFACE_DEFINED__ */ + + +#ifndef __IITTrack_INTERFACE_DEFINED__ +#define __IITTrack_INTERFACE_DEFINED__ + +/* interface IITTrack */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITTrack; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4CB0915D-1E54-4727-BAF3-CE6CC9A225A1") + IITTrack : public IITObject + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddArtworkFromFile( + /* [in] */ BSTR filePath, + /* [retval][out] */ IITArtwork **iArtwork) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( + /* [retval][out] */ ITTrackKind *kind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Album( + /* [retval][out] */ BSTR *album) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Album( + /* [in] */ BSTR album) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( + /* [retval][out] */ BSTR *artist) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Artist( + /* [in] */ BSTR artist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( + /* [retval][out] */ long *bitrate) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BPM( + /* [retval][out] */ long *beatsPerMinute) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BPM( + /* [in] */ long beatsPerMinute) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Comment( + /* [retval][out] */ BSTR *comment) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Comment( + /* [in] */ BSTR comment) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( + /* [retval][out] */ VARIANT_BOOL *isCompilation) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Compilation( + /* [in] */ VARIANT_BOOL shouldBeCompilation) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( + /* [retval][out] */ BSTR *composer) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Composer( + /* [in] */ BSTR composer) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DateAdded( + /* [retval][out] */ DATE *dateAdded) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( + /* [retval][out] */ long *discCount) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscCount( + /* [in] */ long discCount) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( + /* [retval][out] */ long *discNumber) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscNumber( + /* [in] */ long discNumber) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( + /* [retval][out] */ long *duration) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( + /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( + /* [in] */ VARIANT_BOOL shouldBeEnabled) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQ( + /* [retval][out] */ BSTR *eq) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQ( + /* [in] */ BSTR eq) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Finish( + /* [in] */ long finish) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Finish( + /* [retval][out] */ long *finish) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( + /* [retval][out] */ BSTR *genre) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Genre( + /* [in] */ BSTR genre) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Grouping( + /* [retval][out] */ BSTR *grouping) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Grouping( + /* [in] */ BSTR grouping) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KindAsString( + /* [retval][out] */ BSTR *kind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModificationDate( + /* [retval][out] */ DATE *dateModified) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedCount( + /* [retval][out] */ long *playedCount) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedCount( + /* [in] */ long playedCount) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedDate( + /* [retval][out] */ DATE *playedDate) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedDate( + /* [in] */ DATE playedDate) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayOrderIndex( + /* [retval][out] */ long *index) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rating( + /* [retval][out] */ long *rating) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Rating( + /* [in] */ long rating) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SampleRate( + /* [retval][out] */ long *sampleRate) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( + /* [retval][out] */ long *size) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Start( + /* [retval][out] */ long *start) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Start( + /* [in] */ long start) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( + /* [retval][out] */ BSTR *time) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackCount( + /* [retval][out] */ long *trackCount) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackCount( + /* [in] */ long trackCount) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackNumber( + /* [retval][out] */ long *trackNumber) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackNumber( + /* [in] */ long trackNumber) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VolumeAdjustment( + /* [retval][out] */ long *volumeAdjustment) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VolumeAdjustment( + /* [in] */ long volumeAdjustment) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( + /* [retval][out] */ long *year) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Year( + /* [in] */ long year) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artwork( + /* [retval][out] */ IITArtworkCollection **iArtworkCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITTrackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITTrack * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITTrack * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITTrack * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITTrack * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITTrack * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITTrack * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITTrack * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITTrack * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITTrack * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITTrack * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITTrack * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITTrack * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITTrack * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITTrack * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( + IITTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( + IITTrack * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITArtwork **iArtwork); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITTrack * This, + /* [retval][out] */ ITTrackKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( + IITTrack * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( + IITTrack * This, + /* [retval][out] */ BSTR *album); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( + IITTrack * This, + /* [in] */ BSTR album); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( + IITTrack * This, + /* [retval][out] */ BSTR *artist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( + IITTrack * This, + /* [in] */ BSTR artist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( + IITTrack * This, + /* [retval][out] */ long *bitrate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( + IITTrack * This, + /* [retval][out] */ long *beatsPerMinute); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( + IITTrack * This, + /* [in] */ long beatsPerMinute); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( + IITTrack * This, + /* [retval][out] */ BSTR *comment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( + IITTrack * This, + /* [in] */ BSTR comment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( + IITTrack * This, + /* [retval][out] */ VARIANT_BOOL *isCompilation); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( + IITTrack * This, + /* [in] */ VARIANT_BOOL shouldBeCompilation); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( + IITTrack * This, + /* [retval][out] */ BSTR *composer); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( + IITTrack * This, + /* [in] */ BSTR composer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( + IITTrack * This, + /* [retval][out] */ DATE *dateAdded); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( + IITTrack * This, + /* [retval][out] */ long *discCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( + IITTrack * This, + /* [in] */ long discCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( + IITTrack * This, + /* [retval][out] */ long *discNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( + IITTrack * This, + /* [in] */ long discNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITTrack * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( + IITTrack * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( + IITTrack * This, + /* [in] */ VARIANT_BOOL shouldBeEnabled); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( + IITTrack * This, + /* [retval][out] */ BSTR *eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( + IITTrack * This, + /* [in] */ BSTR eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( + IITTrack * This, + /* [in] */ long finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( + IITTrack * This, + /* [retval][out] */ long *finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( + IITTrack * This, + /* [retval][out] */ BSTR *genre); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( + IITTrack * This, + /* [in] */ BSTR genre); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( + IITTrack * This, + /* [retval][out] */ BSTR *grouping); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( + IITTrack * This, + /* [in] */ BSTR grouping); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( + IITTrack * This, + /* [retval][out] */ BSTR *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( + IITTrack * This, + /* [retval][out] */ DATE *dateModified); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( + IITTrack * This, + /* [retval][out] */ long *playedCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( + IITTrack * This, + /* [in] */ long playedCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( + IITTrack * This, + /* [retval][out] */ DATE *playedDate); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( + IITTrack * This, + /* [in] */ DATE playedDate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( + IITTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( + IITTrack * This, + /* [retval][out] */ long *rating); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( + IITTrack * This, + /* [in] */ long rating); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( + IITTrack * This, + /* [retval][out] */ long *sampleRate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITTrack * This, + /* [retval][out] */ long *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( + IITTrack * This, + /* [retval][out] */ long *start); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( + IITTrack * This, + /* [in] */ long start); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITTrack * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( + IITTrack * This, + /* [retval][out] */ long *trackCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( + IITTrack * This, + /* [in] */ long trackCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( + IITTrack * This, + /* [retval][out] */ long *trackNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( + IITTrack * This, + /* [in] */ long trackNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( + IITTrack * This, + /* [retval][out] */ long *volumeAdjustment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( + IITTrack * This, + /* [in] */ long volumeAdjustment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( + IITTrack * This, + /* [retval][out] */ long *year); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( + IITTrack * This, + /* [in] */ long year); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( + IITTrack * This, + /* [retval][out] */ IITArtworkCollection **iArtworkCollection); + + END_INTERFACE + } IITTrackVtbl; + + interface IITTrack + { + CONST_VTBL struct IITTrackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITTrack_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITTrack_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITTrack_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITTrack_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITTrack_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITTrack_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITTrack_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITTrack_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITTrack_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITTrack_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITTrack_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITTrack_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITTrack_Play(This) \ + (This)->lpVtbl -> Play(This) + +#define IITTrack_AddArtworkFromFile(This,filePath,iArtwork) \ + (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork) + +#define IITTrack_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITTrack_get_Playlist(This,iPlaylist) \ + (This)->lpVtbl -> get_Playlist(This,iPlaylist) + +#define IITTrack_get_Album(This,album) \ + (This)->lpVtbl -> get_Album(This,album) + +#define IITTrack_put_Album(This,album) \ + (This)->lpVtbl -> put_Album(This,album) + +#define IITTrack_get_Artist(This,artist) \ + (This)->lpVtbl -> get_Artist(This,artist) + +#define IITTrack_put_Artist(This,artist) \ + (This)->lpVtbl -> put_Artist(This,artist) + +#define IITTrack_get_BitRate(This,bitrate) \ + (This)->lpVtbl -> get_BitRate(This,bitrate) + +#define IITTrack_get_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> get_BPM(This,beatsPerMinute) + +#define IITTrack_put_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> put_BPM(This,beatsPerMinute) + +#define IITTrack_get_Comment(This,comment) \ + (This)->lpVtbl -> get_Comment(This,comment) + +#define IITTrack_put_Comment(This,comment) \ + (This)->lpVtbl -> put_Comment(This,comment) + +#define IITTrack_get_Compilation(This,isCompilation) \ + (This)->lpVtbl -> get_Compilation(This,isCompilation) + +#define IITTrack_put_Compilation(This,shouldBeCompilation) \ + (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation) + +#define IITTrack_get_Composer(This,composer) \ + (This)->lpVtbl -> get_Composer(This,composer) + +#define IITTrack_put_Composer(This,composer) \ + (This)->lpVtbl -> put_Composer(This,composer) + +#define IITTrack_get_DateAdded(This,dateAdded) \ + (This)->lpVtbl -> get_DateAdded(This,dateAdded) + +#define IITTrack_get_DiscCount(This,discCount) \ + (This)->lpVtbl -> get_DiscCount(This,discCount) + +#define IITTrack_put_DiscCount(This,discCount) \ + (This)->lpVtbl -> put_DiscCount(This,discCount) + +#define IITTrack_get_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> get_DiscNumber(This,discNumber) + +#define IITTrack_put_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> put_DiscNumber(This,discNumber) + +#define IITTrack_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITTrack_get_Enabled(This,isEnabled) \ + (This)->lpVtbl -> get_Enabled(This,isEnabled) + +#define IITTrack_put_Enabled(This,shouldBeEnabled) \ + (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled) + +#define IITTrack_get_EQ(This,eq) \ + (This)->lpVtbl -> get_EQ(This,eq) + +#define IITTrack_put_EQ(This,eq) \ + (This)->lpVtbl -> put_EQ(This,eq) + +#define IITTrack_put_Finish(This,finish) \ + (This)->lpVtbl -> put_Finish(This,finish) + +#define IITTrack_get_Finish(This,finish) \ + (This)->lpVtbl -> get_Finish(This,finish) + +#define IITTrack_get_Genre(This,genre) \ + (This)->lpVtbl -> get_Genre(This,genre) + +#define IITTrack_put_Genre(This,genre) \ + (This)->lpVtbl -> put_Genre(This,genre) + +#define IITTrack_get_Grouping(This,grouping) \ + (This)->lpVtbl -> get_Grouping(This,grouping) + +#define IITTrack_put_Grouping(This,grouping) \ + (This)->lpVtbl -> put_Grouping(This,grouping) + +#define IITTrack_get_KindAsString(This,kind) \ + (This)->lpVtbl -> get_KindAsString(This,kind) + +#define IITTrack_get_ModificationDate(This,dateModified) \ + (This)->lpVtbl -> get_ModificationDate(This,dateModified) + +#define IITTrack_get_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> get_PlayedCount(This,playedCount) + +#define IITTrack_put_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> put_PlayedCount(This,playedCount) + +#define IITTrack_get_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> get_PlayedDate(This,playedDate) + +#define IITTrack_put_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> put_PlayedDate(This,playedDate) + +#define IITTrack_get_PlayOrderIndex(This,index) \ + (This)->lpVtbl -> get_PlayOrderIndex(This,index) + +#define IITTrack_get_Rating(This,rating) \ + (This)->lpVtbl -> get_Rating(This,rating) + +#define IITTrack_put_Rating(This,rating) \ + (This)->lpVtbl -> put_Rating(This,rating) + +#define IITTrack_get_SampleRate(This,sampleRate) \ + (This)->lpVtbl -> get_SampleRate(This,sampleRate) + +#define IITTrack_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITTrack_get_Start(This,start) \ + (This)->lpVtbl -> get_Start(This,start) + +#define IITTrack_put_Start(This,start) \ + (This)->lpVtbl -> put_Start(This,start) + +#define IITTrack_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITTrack_get_TrackCount(This,trackCount) \ + (This)->lpVtbl -> get_TrackCount(This,trackCount) + +#define IITTrack_put_TrackCount(This,trackCount) \ + (This)->lpVtbl -> put_TrackCount(This,trackCount) + +#define IITTrack_get_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> get_TrackNumber(This,trackNumber) + +#define IITTrack_put_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> put_TrackNumber(This,trackNumber) + +#define IITTrack_get_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment) + +#define IITTrack_put_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment) + +#define IITTrack_get_Year(This,year) \ + (This)->lpVtbl -> get_Year(This,year) + +#define IITTrack_put_Year(This,year) \ + (This)->lpVtbl -> put_Year(This,year) + +#define IITTrack_get_Artwork(This,iArtworkCollection) \ + (This)->lpVtbl -> get_Artwork(This,iArtworkCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Delete_Proxy( + IITTrack * This); + + +void __RPC_STUB IITTrack_Delete_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Play_Proxy( + IITTrack * This); + + +void __RPC_STUB IITTrack_Play_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_AddArtworkFromFile_Proxy( + IITTrack * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITArtwork **iArtwork); + + +void __RPC_STUB IITTrack_AddArtworkFromFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Kind_Proxy( + IITTrack * This, + /* [retval][out] */ ITTrackKind *kind); + + +void __RPC_STUB IITTrack_get_Kind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Playlist_Proxy( + IITTrack * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITTrack_get_Playlist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Album_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *album); + + +void __RPC_STUB IITTrack_get_Album_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Album_Proxy( + IITTrack * This, + /* [in] */ BSTR album); + + +void __RPC_STUB IITTrack_put_Album_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artist_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *artist); + + +void __RPC_STUB IITTrack_get_Artist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Artist_Proxy( + IITTrack * This, + /* [in] */ BSTR artist); + + +void __RPC_STUB IITTrack_put_Artist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BitRate_Proxy( + IITTrack * This, + /* [retval][out] */ long *bitrate); + + +void __RPC_STUB IITTrack_get_BitRate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BPM_Proxy( + IITTrack * This, + /* [retval][out] */ long *beatsPerMinute); + + +void __RPC_STUB IITTrack_get_BPM_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_BPM_Proxy( + IITTrack * This, + /* [in] */ long beatsPerMinute); + + +void __RPC_STUB IITTrack_put_BPM_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Comment_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *comment); + + +void __RPC_STUB IITTrack_get_Comment_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Comment_Proxy( + IITTrack * This, + /* [in] */ BSTR comment); + + +void __RPC_STUB IITTrack_put_Comment_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Compilation_Proxy( + IITTrack * This, + /* [retval][out] */ VARIANT_BOOL *isCompilation); + + +void __RPC_STUB IITTrack_get_Compilation_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Compilation_Proxy( + IITTrack * This, + /* [in] */ VARIANT_BOOL shouldBeCompilation); + + +void __RPC_STUB IITTrack_put_Compilation_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Composer_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *composer); + + +void __RPC_STUB IITTrack_get_Composer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Composer_Proxy( + IITTrack * This, + /* [in] */ BSTR composer); + + +void __RPC_STUB IITTrack_put_Composer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DateAdded_Proxy( + IITTrack * This, + /* [retval][out] */ DATE *dateAdded); + + +void __RPC_STUB IITTrack_get_DateAdded_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscCount_Proxy( + IITTrack * This, + /* [retval][out] */ long *discCount); + + +void __RPC_STUB IITTrack_get_DiscCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscCount_Proxy( + IITTrack * This, + /* [in] */ long discCount); + + +void __RPC_STUB IITTrack_put_DiscCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscNumber_Proxy( + IITTrack * This, + /* [retval][out] */ long *discNumber); + + +void __RPC_STUB IITTrack_get_DiscNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscNumber_Proxy( + IITTrack * This, + /* [in] */ long discNumber); + + +void __RPC_STUB IITTrack_put_DiscNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Duration_Proxy( + IITTrack * This, + /* [retval][out] */ long *duration); + + +void __RPC_STUB IITTrack_get_Duration_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Enabled_Proxy( + IITTrack * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + +void __RPC_STUB IITTrack_get_Enabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Enabled_Proxy( + IITTrack * This, + /* [in] */ VARIANT_BOOL shouldBeEnabled); + + +void __RPC_STUB IITTrack_put_Enabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_EQ_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *eq); + + +void __RPC_STUB IITTrack_get_EQ_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_EQ_Proxy( + IITTrack * This, + /* [in] */ BSTR eq); + + +void __RPC_STUB IITTrack_put_EQ_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Finish_Proxy( + IITTrack * This, + /* [in] */ long finish); + + +void __RPC_STUB IITTrack_put_Finish_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Finish_Proxy( + IITTrack * This, + /* [retval][out] */ long *finish); + + +void __RPC_STUB IITTrack_get_Finish_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Genre_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *genre); + + +void __RPC_STUB IITTrack_get_Genre_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Genre_Proxy( + IITTrack * This, + /* [in] */ BSTR genre); + + +void __RPC_STUB IITTrack_put_Genre_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Grouping_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *grouping); + + +void __RPC_STUB IITTrack_get_Grouping_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Grouping_Proxy( + IITTrack * This, + /* [in] */ BSTR grouping); + + +void __RPC_STUB IITTrack_put_Grouping_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_KindAsString_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *kind); + + +void __RPC_STUB IITTrack_get_KindAsString_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_ModificationDate_Proxy( + IITTrack * This, + /* [retval][out] */ DATE *dateModified); + + +void __RPC_STUB IITTrack_get_ModificationDate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedCount_Proxy( + IITTrack * This, + /* [retval][out] */ long *playedCount); + + +void __RPC_STUB IITTrack_get_PlayedCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedCount_Proxy( + IITTrack * This, + /* [in] */ long playedCount); + + +void __RPC_STUB IITTrack_put_PlayedCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedDate_Proxy( + IITTrack * This, + /* [retval][out] */ DATE *playedDate); + + +void __RPC_STUB IITTrack_get_PlayedDate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedDate_Proxy( + IITTrack * This, + /* [in] */ DATE playedDate); + + +void __RPC_STUB IITTrack_put_PlayedDate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayOrderIndex_Proxy( + IITTrack * This, + /* [retval][out] */ long *index); + + +void __RPC_STUB IITTrack_get_PlayOrderIndex_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Rating_Proxy( + IITTrack * This, + /* [retval][out] */ long *rating); + + +void __RPC_STUB IITTrack_get_Rating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Rating_Proxy( + IITTrack * This, + /* [in] */ long rating); + + +void __RPC_STUB IITTrack_put_Rating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_SampleRate_Proxy( + IITTrack * This, + /* [retval][out] */ long *sampleRate); + + +void __RPC_STUB IITTrack_get_SampleRate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Size_Proxy( + IITTrack * This, + /* [retval][out] */ long *size); + + +void __RPC_STUB IITTrack_get_Size_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Start_Proxy( + IITTrack * This, + /* [retval][out] */ long *start); + + +void __RPC_STUB IITTrack_get_Start_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Start_Proxy( + IITTrack * This, + /* [in] */ long start); + + +void __RPC_STUB IITTrack_put_Start_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Time_Proxy( + IITTrack * This, + /* [retval][out] */ BSTR *time); + + +void __RPC_STUB IITTrack_get_Time_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackCount_Proxy( + IITTrack * This, + /* [retval][out] */ long *trackCount); + + +void __RPC_STUB IITTrack_get_TrackCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackCount_Proxy( + IITTrack * This, + /* [in] */ long trackCount); + + +void __RPC_STUB IITTrack_put_TrackCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackNumber_Proxy( + IITTrack * This, + /* [retval][out] */ long *trackNumber); + + +void __RPC_STUB IITTrack_get_TrackNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackNumber_Proxy( + IITTrack * This, + /* [in] */ long trackNumber); + + +void __RPC_STUB IITTrack_put_TrackNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_VolumeAdjustment_Proxy( + IITTrack * This, + /* [retval][out] */ long *volumeAdjustment); + + +void __RPC_STUB IITTrack_get_VolumeAdjustment_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_VolumeAdjustment_Proxy( + IITTrack * This, + /* [in] */ long volumeAdjustment); + + +void __RPC_STUB IITTrack_put_VolumeAdjustment_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Year_Proxy( + IITTrack * This, + /* [retval][out] */ long *year); + + +void __RPC_STUB IITTrack_get_Year_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Year_Proxy( + IITTrack * This, + /* [in] */ long year); + + +void __RPC_STUB IITTrack_put_Year_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artwork_Proxy( + IITTrack * This, + /* [retval][out] */ IITArtworkCollection **iArtworkCollection); + + +void __RPC_STUB IITTrack_get_Artwork_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITTrack_INTERFACE_DEFINED__ */ + + +#ifndef __IITTrackCollection_INTERFACE_DEFINED__ +#define __IITTrackCollection_INTERFACE_DEFINED__ + +/* interface IITTrackCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITTrackCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("755D76F1-6B85-4ce4-8F5F-F88D9743DCD8") + IITTrackCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPlayOrder( + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITTrack **iTrack) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITTrack **iTrack) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITTrackCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITTrackCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITTrackCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITTrackCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITTrackCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITTrackCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITTrackCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITTrackCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITTrackCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITTrackCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPlayOrder )( + IITTrackCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITTrackCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITTrack **iTrack); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITTrackCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( + IITTrackCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITTrack **iTrack); + + END_INTERFACE + } IITTrackCollectionVtbl; + + interface IITTrackCollection + { + CONST_VTBL struct IITTrackCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITTrackCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITTrackCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITTrackCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITTrackCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITTrackCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITTrackCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITTrackCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITTrackCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITTrackCollection_get_Item(This,index,iTrack) \ + (This)->lpVtbl -> get_Item(This,index,iTrack) + +#define IITTrackCollection_get_ItemByPlayOrder(This,index,iTrack) \ + (This)->lpVtbl -> get_ItemByPlayOrder(This,index,iTrack) + +#define IITTrackCollection_get_ItemByName(This,name,iTrack) \ + (This)->lpVtbl -> get_ItemByName(This,name,iTrack) + +#define IITTrackCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#define IITTrackCollection_get_ItemByPersistentID(This,highID,lowID,iTrack) \ + (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iTrack) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Count_Proxy( + IITTrackCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITTrackCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Item_Proxy( + IITTrackCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack); + + +void __RPC_STUB IITTrackCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByPlayOrder_Proxy( + IITTrackCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITTrack **iTrack); + + +void __RPC_STUB IITTrackCollection_get_ItemByPlayOrder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByName_Proxy( + IITTrackCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITTrack **iTrack); + + +void __RPC_STUB IITTrackCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get__NewEnum_Proxy( + IITTrackCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITTrackCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByPersistentID_Proxy( + IITTrackCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITTrack **iTrack); + + +void __RPC_STUB IITTrackCollection_get_ItemByPersistentID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITTrackCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITVisual_INTERFACE_DEFINED__ +#define __IITVisual_INTERFACE_DEFINED__ + +/* interface IITVisual */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITVisual; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("340F3315-ED72-4c09-9ACF-21EB4BDF9931") + IITVisual : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ BSTR *name) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITVisualVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITVisual * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITVisual * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITVisual * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITVisual * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITVisual * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITVisual * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITVisual * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITVisual * This, + /* [retval][out] */ BSTR *name); + + END_INTERFACE + } IITVisualVtbl; + + interface IITVisual + { + CONST_VTBL struct IITVisualVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITVisual_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITVisual_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITVisual_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITVisual_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITVisual_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITVisual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITVisual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITVisual_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisual_get_Name_Proxy( + IITVisual * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITVisual_get_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITVisual_INTERFACE_DEFINED__ */ + + +#ifndef __IITVisualCollection_INTERFACE_DEFINED__ +#define __IITVisualCollection_INTERFACE_DEFINED__ + +/* interface IITVisualCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITVisualCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("88A4CCDD-114F-4043-B69B-84D4E6274957") + IITVisualCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITVisual **iVisual) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITVisual **iVisual) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITVisualCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITVisualCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITVisualCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITVisualCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITVisualCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITVisualCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITVisualCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITVisualCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITVisualCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITVisualCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITVisual **iVisual); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITVisualCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITVisual **iVisual); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITVisualCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + END_INTERFACE + } IITVisualCollectionVtbl; + + interface IITVisualCollection + { + CONST_VTBL struct IITVisualCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITVisualCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITVisualCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITVisualCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITVisualCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITVisualCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITVisualCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITVisualCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITVisualCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITVisualCollection_get_Item(This,index,iVisual) \ + (This)->lpVtbl -> get_Item(This,index,iVisual) + +#define IITVisualCollection_get_ItemByName(This,name,iVisual) \ + (This)->lpVtbl -> get_ItemByName(This,name,iVisual) + +#define IITVisualCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Count_Proxy( + IITVisualCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITVisualCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Item_Proxy( + IITVisualCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITVisual **iVisual); + + +void __RPC_STUB IITVisualCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_ItemByName_Proxy( + IITVisualCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITVisual **iVisual); + + +void __RPC_STUB IITVisualCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get__NewEnum_Proxy( + IITVisualCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITVisualCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITVisualCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITWindow_INTERFACE_DEFINED__ +#define __IITWindow_INTERFACE_DEFINED__ + +/* interface IITWindow */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITWindow; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("370D7BE0-3A89-4a42-B902-C75FC138BE09") + IITWindow : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( + /* [retval][out] */ ITWindowKind *kind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( + /* [retval][out] */ VARIANT_BOOL *isVisible) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( + /* [in] */ VARIANT_BOOL shouldBeVisible) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Resizable( + /* [retval][out] */ VARIANT_BOOL *isResizable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Minimized( + /* [retval][out] */ VARIANT_BOOL *isMinimized) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Minimized( + /* [in] */ VARIANT_BOOL shouldBeMinimized) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximizable( + /* [retval][out] */ VARIANT_BOOL *isMaximizable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximized( + /* [retval][out] */ VARIANT_BOOL *isMaximized) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Maximized( + /* [in] */ VARIANT_BOOL shouldBeMaximized) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomable( + /* [retval][out] */ VARIANT_BOOL *isZoomable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomed( + /* [retval][out] */ VARIANT_BOOL *isZoomed) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Zoomed( + /* [in] */ VARIANT_BOOL shouldBeZoomed) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Top( + /* [retval][out] */ long *top) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Top( + /* [in] */ long top) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Left( + /* [retval][out] */ long *left) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Left( + /* [in] */ long left) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bottom( + /* [retval][out] */ long *bottom) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Bottom( + /* [in] */ long bottom) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Right( + /* [retval][out] */ long *right) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Right( + /* [in] */ long right) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( + /* [retval][out] */ long *width) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Width( + /* [in] */ long width) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( + /* [retval][out] */ long *height) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Height( + /* [in] */ long height) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITWindowVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITWindow * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITWindow * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITWindow * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITWindow * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITWindow * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITWindow * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITWindow * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITWindow * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITWindow * This, + /* [retval][out] */ ITWindowKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isResizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMinimized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMinimized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMaximized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomed); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeZoomed); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( + IITWindow * This, + /* [retval][out] */ long *top); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( + IITWindow * This, + /* [in] */ long top); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( + IITWindow * This, + /* [retval][out] */ long *left); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( + IITWindow * This, + /* [in] */ long left); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( + IITWindow * This, + /* [retval][out] */ long *bottom); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( + IITWindow * This, + /* [in] */ long bottom); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( + IITWindow * This, + /* [retval][out] */ long *right); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( + IITWindow * This, + /* [in] */ long right); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + IITWindow * This, + /* [retval][out] */ long *width); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( + IITWindow * This, + /* [in] */ long width); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + IITWindow * This, + /* [retval][out] */ long *height); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( + IITWindow * This, + /* [in] */ long height); + + END_INTERFACE + } IITWindowVtbl; + + interface IITWindow + { + CONST_VTBL struct IITWindowVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITWindow_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITWindow_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITWindow_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITWindow_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITWindow_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITWindow_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITWindow_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITWindow_put_Visible(This,shouldBeVisible) \ + (This)->lpVtbl -> put_Visible(This,shouldBeVisible) + +#define IITWindow_get_Resizable(This,isResizable) \ + (This)->lpVtbl -> get_Resizable(This,isResizable) + +#define IITWindow_get_Minimized(This,isMinimized) \ + (This)->lpVtbl -> get_Minimized(This,isMinimized) + +#define IITWindow_put_Minimized(This,shouldBeMinimized) \ + (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized) + +#define IITWindow_get_Maximizable(This,isMaximizable) \ + (This)->lpVtbl -> get_Maximizable(This,isMaximizable) + +#define IITWindow_get_Maximized(This,isMaximized) \ + (This)->lpVtbl -> get_Maximized(This,isMaximized) + +#define IITWindow_put_Maximized(This,shouldBeMaximized) \ + (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized) + +#define IITWindow_get_Zoomable(This,isZoomable) \ + (This)->lpVtbl -> get_Zoomable(This,isZoomable) + +#define IITWindow_get_Zoomed(This,isZoomed) \ + (This)->lpVtbl -> get_Zoomed(This,isZoomed) + +#define IITWindow_put_Zoomed(This,shouldBeZoomed) \ + (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed) + +#define IITWindow_get_Top(This,top) \ + (This)->lpVtbl -> get_Top(This,top) + +#define IITWindow_put_Top(This,top) \ + (This)->lpVtbl -> put_Top(This,top) + +#define IITWindow_get_Left(This,left) \ + (This)->lpVtbl -> get_Left(This,left) + +#define IITWindow_put_Left(This,left) \ + (This)->lpVtbl -> put_Left(This,left) + +#define IITWindow_get_Bottom(This,bottom) \ + (This)->lpVtbl -> get_Bottom(This,bottom) + +#define IITWindow_put_Bottom(This,bottom) \ + (This)->lpVtbl -> put_Bottom(This,bottom) + +#define IITWindow_get_Right(This,right) \ + (This)->lpVtbl -> get_Right(This,right) + +#define IITWindow_put_Right(This,right) \ + (This)->lpVtbl -> put_Right(This,right) + +#define IITWindow_get_Width(This,width) \ + (This)->lpVtbl -> get_Width(This,width) + +#define IITWindow_put_Width(This,width) \ + (This)->lpVtbl -> put_Width(This,width) + +#define IITWindow_get_Height(This,height) \ + (This)->lpVtbl -> get_Height(This,height) + +#define IITWindow_put_Height(This,height) \ + (This)->lpVtbl -> put_Height(This,height) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Name_Proxy( + IITWindow * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITWindow_get_Name_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Kind_Proxy( + IITWindow * This, + /* [retval][out] */ ITWindowKind *kind); + + +void __RPC_STUB IITWindow_get_Kind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Visible_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + +void __RPC_STUB IITWindow_get_Visible_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Visible_Proxy( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeVisible); + + +void __RPC_STUB IITWindow_put_Visible_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Resizable_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isResizable); + + +void __RPC_STUB IITWindow_get_Resizable_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Minimized_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMinimized); + + +void __RPC_STUB IITWindow_get_Minimized_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Minimized_Proxy( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMinimized); + + +void __RPC_STUB IITWindow_put_Minimized_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximizable_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximizable); + + +void __RPC_STUB IITWindow_get_Maximizable_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximized_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximized); + + +void __RPC_STUB IITWindow_get_Maximized_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Maximized_Proxy( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMaximized); + + +void __RPC_STUB IITWindow_put_Maximized_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomable_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomable); + + +void __RPC_STUB IITWindow_get_Zoomable_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomed_Proxy( + IITWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomed); + + +void __RPC_STUB IITWindow_get_Zoomed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Zoomed_Proxy( + IITWindow * This, + /* [in] */ VARIANT_BOOL shouldBeZoomed); + + +void __RPC_STUB IITWindow_put_Zoomed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Top_Proxy( + IITWindow * This, + /* [retval][out] */ long *top); + + +void __RPC_STUB IITWindow_get_Top_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Top_Proxy( + IITWindow * This, + /* [in] */ long top); + + +void __RPC_STUB IITWindow_put_Top_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Left_Proxy( + IITWindow * This, + /* [retval][out] */ long *left); + + +void __RPC_STUB IITWindow_get_Left_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Left_Proxy( + IITWindow * This, + /* [in] */ long left); + + +void __RPC_STUB IITWindow_put_Left_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Bottom_Proxy( + IITWindow * This, + /* [retval][out] */ long *bottom); + + +void __RPC_STUB IITWindow_get_Bottom_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Bottom_Proxy( + IITWindow * This, + /* [in] */ long bottom); + + +void __RPC_STUB IITWindow_put_Bottom_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Right_Proxy( + IITWindow * This, + /* [retval][out] */ long *right); + + +void __RPC_STUB IITWindow_get_Right_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Right_Proxy( + IITWindow * This, + /* [in] */ long right); + + +void __RPC_STUB IITWindow_put_Right_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Width_Proxy( + IITWindow * This, + /* [retval][out] */ long *width); + + +void __RPC_STUB IITWindow_get_Width_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Width_Proxy( + IITWindow * This, + /* [in] */ long width); + + +void __RPC_STUB IITWindow_put_Width_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Height_Proxy( + IITWindow * This, + /* [retval][out] */ long *height); + + +void __RPC_STUB IITWindow_get_Height_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Height_Proxy( + IITWindow * This, + /* [in] */ long height); + + +void __RPC_STUB IITWindow_put_Height_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITWindow_INTERFACE_DEFINED__ */ + + +#ifndef __IITBrowserWindow_INTERFACE_DEFINED__ +#define __IITBrowserWindow_INTERFACE_DEFINED__ + +/* interface IITBrowserWindow */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITBrowserWindow; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C999F455-C4D5-4aa4-8277-F99753699974") + IITBrowserWindow : public IITWindow + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MiniPlayer( + /* [retval][out] */ VARIANT_BOOL *isMiniPlayer) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MiniPlayer( + /* [in] */ VARIANT_BOOL shouldBeMiniPlayer) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedPlaylist( + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectedPlaylist( + /* [in] */ VARIANT *iPlaylist) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITBrowserWindowVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITBrowserWindow * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITBrowserWindow * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITBrowserWindow * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITBrowserWindow * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITBrowserWindow * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITBrowserWindow * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITBrowserWindow * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITBrowserWindow * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITBrowserWindow * This, + /* [retval][out] */ ITWindowKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isResizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMinimized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMinimized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMaximized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomed); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeZoomed); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( + IITBrowserWindow * This, + /* [retval][out] */ long *top); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( + IITBrowserWindow * This, + /* [in] */ long top); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( + IITBrowserWindow * This, + /* [retval][out] */ long *left); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( + IITBrowserWindow * This, + /* [in] */ long left); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( + IITBrowserWindow * This, + /* [retval][out] */ long *bottom); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( + IITBrowserWindow * This, + /* [in] */ long bottom); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( + IITBrowserWindow * This, + /* [retval][out] */ long *right); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( + IITBrowserWindow * This, + /* [in] */ long right); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + IITBrowserWindow * This, + /* [retval][out] */ long *width); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( + IITBrowserWindow * This, + /* [in] */ long width); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + IITBrowserWindow * This, + /* [retval][out] */ long *height); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( + IITBrowserWindow * This, + /* [in] */ long height); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MiniPlayer )( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMiniPlayer); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MiniPlayer )( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMiniPlayer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( + IITBrowserWindow * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedPlaylist )( + IITBrowserWindow * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedPlaylist )( + IITBrowserWindow * This, + /* [in] */ VARIANT *iPlaylist); + + END_INTERFACE + } IITBrowserWindowVtbl; + + interface IITBrowserWindow + { + CONST_VTBL struct IITBrowserWindowVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITBrowserWindow_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITBrowserWindow_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITBrowserWindow_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITBrowserWindow_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITBrowserWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITBrowserWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITBrowserWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITBrowserWindow_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITBrowserWindow_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITBrowserWindow_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITBrowserWindow_put_Visible(This,shouldBeVisible) \ + (This)->lpVtbl -> put_Visible(This,shouldBeVisible) + +#define IITBrowserWindow_get_Resizable(This,isResizable) \ + (This)->lpVtbl -> get_Resizable(This,isResizable) + +#define IITBrowserWindow_get_Minimized(This,isMinimized) \ + (This)->lpVtbl -> get_Minimized(This,isMinimized) + +#define IITBrowserWindow_put_Minimized(This,shouldBeMinimized) \ + (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized) + +#define IITBrowserWindow_get_Maximizable(This,isMaximizable) \ + (This)->lpVtbl -> get_Maximizable(This,isMaximizable) + +#define IITBrowserWindow_get_Maximized(This,isMaximized) \ + (This)->lpVtbl -> get_Maximized(This,isMaximized) + +#define IITBrowserWindow_put_Maximized(This,shouldBeMaximized) \ + (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized) + +#define IITBrowserWindow_get_Zoomable(This,isZoomable) \ + (This)->lpVtbl -> get_Zoomable(This,isZoomable) + +#define IITBrowserWindow_get_Zoomed(This,isZoomed) \ + (This)->lpVtbl -> get_Zoomed(This,isZoomed) + +#define IITBrowserWindow_put_Zoomed(This,shouldBeZoomed) \ + (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed) + +#define IITBrowserWindow_get_Top(This,top) \ + (This)->lpVtbl -> get_Top(This,top) + +#define IITBrowserWindow_put_Top(This,top) \ + (This)->lpVtbl -> put_Top(This,top) + +#define IITBrowserWindow_get_Left(This,left) \ + (This)->lpVtbl -> get_Left(This,left) + +#define IITBrowserWindow_put_Left(This,left) \ + (This)->lpVtbl -> put_Left(This,left) + +#define IITBrowserWindow_get_Bottom(This,bottom) \ + (This)->lpVtbl -> get_Bottom(This,bottom) + +#define IITBrowserWindow_put_Bottom(This,bottom) \ + (This)->lpVtbl -> put_Bottom(This,bottom) + +#define IITBrowserWindow_get_Right(This,right) \ + (This)->lpVtbl -> get_Right(This,right) + +#define IITBrowserWindow_put_Right(This,right) \ + (This)->lpVtbl -> put_Right(This,right) + +#define IITBrowserWindow_get_Width(This,width) \ + (This)->lpVtbl -> get_Width(This,width) + +#define IITBrowserWindow_put_Width(This,width) \ + (This)->lpVtbl -> put_Width(This,width) + +#define IITBrowserWindow_get_Height(This,height) \ + (This)->lpVtbl -> get_Height(This,height) + +#define IITBrowserWindow_put_Height(This,height) \ + (This)->lpVtbl -> put_Height(This,height) + + +#define IITBrowserWindow_get_MiniPlayer(This,isMiniPlayer) \ + (This)->lpVtbl -> get_MiniPlayer(This,isMiniPlayer) + +#define IITBrowserWindow_put_MiniPlayer(This,shouldBeMiniPlayer) \ + (This)->lpVtbl -> put_MiniPlayer(This,shouldBeMiniPlayer) + +#define IITBrowserWindow_get_SelectedTracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection) + +#define IITBrowserWindow_get_SelectedPlaylist(This,iPlaylist) \ + (This)->lpVtbl -> get_SelectedPlaylist(This,iPlaylist) + +#define IITBrowserWindow_put_SelectedPlaylist(This,iPlaylist) \ + (This)->lpVtbl -> put_SelectedPlaylist(This,iPlaylist) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_MiniPlayer_Proxy( + IITBrowserWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMiniPlayer); + + +void __RPC_STUB IITBrowserWindow_get_MiniPlayer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_MiniPlayer_Proxy( + IITBrowserWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMiniPlayer); + + +void __RPC_STUB IITBrowserWindow_put_MiniPlayer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedTracks_Proxy( + IITBrowserWindow * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IITBrowserWindow_get_SelectedTracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedPlaylist_Proxy( + IITBrowserWindow * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITBrowserWindow_get_SelectedPlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_SelectedPlaylist_Proxy( + IITBrowserWindow * This, + /* [in] */ VARIANT *iPlaylist); + + +void __RPC_STUB IITBrowserWindow_put_SelectedPlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITBrowserWindow_INTERFACE_DEFINED__ */ + + +#ifndef __IITWindowCollection_INTERFACE_DEFINED__ +#define __IITWindowCollection_INTERFACE_DEFINED__ + +/* interface IITWindowCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITWindowCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3D8DE381-6C0E-481f-A865-E2385F59FA43") + IITWindowCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITWindow **iWindow) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITWindow **iWindow) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITWindowCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITWindowCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITWindowCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITWindowCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITWindowCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITWindowCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITWindowCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITWindowCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITWindowCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITWindowCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITWindow **iWindow); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITWindowCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITWindow **iWindow); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITWindowCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + END_INTERFACE + } IITWindowCollectionVtbl; + + interface IITWindowCollection + { + CONST_VTBL struct IITWindowCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITWindowCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITWindowCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITWindowCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITWindowCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITWindowCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITWindowCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITWindowCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITWindowCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITWindowCollection_get_Item(This,index,iWindow) \ + (This)->lpVtbl -> get_Item(This,index,iWindow) + +#define IITWindowCollection_get_ItemByName(This,name,iWindow) \ + (This)->lpVtbl -> get_ItemByName(This,name,iWindow) + +#define IITWindowCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Count_Proxy( + IITWindowCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITWindowCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Item_Proxy( + IITWindowCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITWindow **iWindow); + + +void __RPC_STUB IITWindowCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_ItemByName_Proxy( + IITWindowCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITWindow **iWindow); + + +void __RPC_STUB IITWindowCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get__NewEnum_Proxy( + IITWindowCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITWindowCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITWindowCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IiTunes_INTERFACE_DEFINED__ +#define __IiTunes_INTERFACE_DEFINED__ + +/* interface IiTunes */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + + + +EXTERN_C const IID IID_IiTunes; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9DD6680B-3EDC-40db-A771-E6FE4832E34A") + IiTunes : public IDispatch + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BackTrack( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FastForward( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextTrack( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFile( + /* [in] */ BSTR filePath) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayPause( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PreviousTrack( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rewind( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile( + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles( + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack( + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks( + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckVersion( + /* [in] */ long majorVersion, + /* [in] */ long minorVersion, + /* [retval][out] */ VARIANT_BOOL *isCompatible) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectByID( + /* [in] */ long sourceID, + /* [in] */ long playlistID, + /* [in] */ long trackID, + /* [in] */ long databaseID, + /* [retval][out] */ IITObject **iObject) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenURL( + /* [in] */ BSTR url) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GotoMusicStoreHomePage( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Authorize( + /* [in] */ long numElems, + /* [size_is][in] */ VARIANT data[ ], + /* [size_is][in] */ BSTR names[ ]) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Quit( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sources( + /* [retval][out] */ IITSourceCollection **iSourceCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Encoders( + /* [retval][out] */ IITEncoderCollection **iEncoderCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQPresets( + /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visuals( + /* [retval][out] */ IITVisualCollection **iVisualCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Windows( + /* [retval][out] */ IITWindowCollection **iWindowCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolume( + /* [retval][out] */ long *volume) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SoundVolume( + /* [in] */ long volume) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Mute( + /* [retval][out] */ VARIANT_BOOL *isMuted) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Mute( + /* [in] */ VARIANT_BOOL shouldMute) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerState( + /* [retval][out] */ ITPlayerState *playerState) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerPosition( + /* [retval][out] */ long *playerPos) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayerPosition( + /* [in] */ long playerPos) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEncoder( + /* [retval][out] */ IITEncoder **iEncoder) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEncoder( + /* [in] */ IITEncoder *iEncoder) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualsEnabled( + /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualsEnabled( + /* [in] */ VARIANT_BOOL shouldEnable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenVisuals( + /* [retval][out] */ VARIANT_BOOL *isFullScreen) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenVisuals( + /* [in] */ VARIANT_BOOL shouldUseFullScreen) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualSize( + /* [retval][out] */ ITVisualSize *visualSize) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualSize( + /* [in] */ ITVisualSize visualSize) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentVisual( + /* [retval][out] */ IITVisual **iVisual) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentVisual( + /* [in] */ IITVisual *iVisual) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQEnabled( + /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQEnabled( + /* [in] */ VARIANT_BOOL shouldEnable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEQPreset( + /* [retval][out] */ IITEQPreset **iEQPreset) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEQPreset( + /* [in] */ IITEQPreset *iEQPreset) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamTitle( + /* [retval][out] */ BSTR *streamTitle) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamURL( + /* [retval][out] */ BSTR *streamURL) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BrowserWindow( + /* [retval][out] */ IITBrowserWindow **iBrowserWindow) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQWindow( + /* [retval][out] */ IITWindow **iEQWindow) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibrarySource( + /* [retval][out] */ IITSource **iLibrarySource) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryPlaylist( + /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTrack( + /* [retval][out] */ IITTrack **iTrack) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPlaylist( + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( + /* [retval][out] */ BSTR *version) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOptions( + /* [in] */ long options) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile2( + /* [in] */ BSTR filePath, + /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles2( + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack2( + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks2( + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AppCommandMessageProcessingEnabled( + /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AppCommandMessageProcessingEnabled( + /* [in] */ VARIANT_BOOL shouldEnable) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceToForegroundOnDialog( + /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForceToForegroundOnDialog( + /* [in] */ VARIANT_BOOL forceToForegroundOnDialog) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEQPreset( + /* [in] */ BSTR eqPresetName, + /* [retval][out] */ IITEQPreset **iEQPreset) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylistInSource( + /* [in] */ BSTR playlistName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPlayerButtonsState( + /* [out] */ VARIANT_BOOL *previousEnabled, + /* [out] */ ITPlayButtonState *playPauseStopState, + /* [out] */ VARIANT_BOOL *nextEnabled) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayerButtonClicked( + /* [in] */ ITPlayerButton playerButton, + /* [in] */ long playerButtonModifierKeys) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetShuffle( + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetShuffle) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetSongRepeat( + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConvertOperationStatus( + /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SubscribeToPodcast( + /* [in] */ BSTR url) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeeds( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolderInSource( + /* [in] */ BSTR folderName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iFolder) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolumeControlEnabled( + /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryXMLPath( + /* [retval][out] */ BSTR *filePath) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ITObjectPersistentIDHigh( + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *highID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ITObjectPersistentIDLow( + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *lowID) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectPersistentIDs( + /* [in] */ VARIANT *iObject, + /* [out] */ long *highID, + /* [out] */ long *lowID) = 0; + + }; + +#else /* C style interface */ + + typedef struct IiTunesVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IiTunes * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IiTunes * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IiTunes * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IiTunes * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IiTunes * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IiTunes * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IiTunes * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BackTrack )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FastForward )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NextTrack )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Pause )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFile )( + IiTunes * This, + /* [in] */ BSTR filePath); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayPause )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PreviousTrack )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Resume )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rewind )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Stop )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFile )( + IiTunes * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFiles )( + IiTunes * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTrack )( + IiTunes * This, + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTracks )( + IiTunes * This, + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckVersion )( + IiTunes * This, + /* [in] */ long majorVersion, + /* [in] */ long minorVersion, + /* [retval][out] */ VARIANT_BOOL *isCompatible); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectByID )( + IiTunes * This, + /* [in] */ long sourceID, + /* [in] */ long playlistID, + /* [in] */ long trackID, + /* [in] */ long databaseID, + /* [retval][out] */ IITObject **iObject); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylist )( + IiTunes * This, + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenURL )( + IiTunes * This, + /* [in] */ BSTR url); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GotoMusicStoreHomePage )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateIPod )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Authorize )( + IiTunes * This, + /* [in] */ long numElems, + /* [size_is][in] */ VARIANT data[ ], + /* [size_is][in] */ BSTR names[ ]); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Quit )( + IiTunes * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sources )( + IiTunes * This, + /* [retval][out] */ IITSourceCollection **iSourceCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Encoders )( + IiTunes * This, + /* [retval][out] */ IITEncoderCollection **iEncoderCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQPresets )( + IiTunes * This, + /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visuals )( + IiTunes * This, + /* [retval][out] */ IITVisualCollection **iVisualCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Windows )( + IiTunes * This, + /* [retval][out] */ IITWindowCollection **iWindowCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoundVolume )( + IiTunes * This, + /* [retval][out] */ long *volume); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SoundVolume )( + IiTunes * This, + /* [in] */ long volume); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mute )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isMuted); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mute )( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldMute); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerState )( + IiTunes * This, + /* [retval][out] */ ITPlayerState *playerState); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerPosition )( + IiTunes * This, + /* [retval][out] */ long *playerPos); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayerPosition )( + IiTunes * This, + /* [in] */ long playerPos); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentEncoder )( + IiTunes * This, + /* [retval][out] */ IITEncoder **iEncoder); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentEncoder )( + IiTunes * This, + /* [in] */ IITEncoder *iEncoder); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisualsEnabled )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisualsEnabled )( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreenVisuals )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isFullScreen); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenVisuals )( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldUseFullScreen); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisualSize )( + IiTunes * This, + /* [retval][out] */ ITVisualSize *visualSize); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisualSize )( + IiTunes * This, + /* [in] */ ITVisualSize visualSize); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentVisual )( + IiTunes * This, + /* [retval][out] */ IITVisual **iVisual); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentVisual )( + IiTunes * This, + /* [in] */ IITVisual *iVisual); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQEnabled )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQEnabled )( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentEQPreset )( + IiTunes * This, + /* [retval][out] */ IITEQPreset **iEQPreset); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentEQPreset )( + IiTunes * This, + /* [in] */ IITEQPreset *iEQPreset); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamTitle )( + IiTunes * This, + /* [retval][out] */ BSTR *streamTitle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamURL )( + IiTunes * This, + /* [retval][out] */ BSTR *streamURL); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserWindow )( + IiTunes * This, + /* [retval][out] */ IITBrowserWindow **iBrowserWindow); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQWindow )( + IiTunes * This, + /* [retval][out] */ IITWindow **iEQWindow); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibrarySource )( + IiTunes * This, + /* [retval][out] */ IITSource **iLibrarySource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryPlaylist )( + IiTunes * This, + /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTrack )( + IiTunes * This, + /* [retval][out] */ IITTrack **iTrack); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPlaylist )( + IiTunes * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( + IiTunes * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( + IiTunes * This, + /* [retval][out] */ BSTR *version); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetOptions )( + IiTunes * This, + /* [in] */ long options); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFile2 )( + IiTunes * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFiles2 )( + IiTunes * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTrack2 )( + IiTunes * This, + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTracks2 )( + IiTunes * This, + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AppCommandMessageProcessingEnabled )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AppCommandMessageProcessingEnabled )( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceToForegroundOnDialog )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceToForegroundOnDialog )( + IiTunes * This, + /* [in] */ VARIANT_BOOL forceToForegroundOnDialog); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEQPreset )( + IiTunes * This, + /* [in] */ BSTR eqPresetName, + /* [retval][out] */ IITEQPreset **iEQPreset); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylistInSource )( + IiTunes * This, + /* [in] */ BSTR playlistName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPlayerButtonsState )( + IiTunes * This, + /* [out] */ VARIANT_BOOL *previousEnabled, + /* [out] */ ITPlayButtonState *playPauseStopState, + /* [out] */ VARIANT_BOOL *nextEnabled); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayerButtonClicked )( + IiTunes * This, + /* [in] */ ITPlayerButton playerButton, + /* [in] */ long playerButtonModifierKeys); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanSetShuffle )( + IiTunes * This, + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanSetSongRepeat )( + IiTunes * This, + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConvertOperationStatus )( + IiTunes * This, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SubscribeToPodcast )( + IiTunes * This, + /* [in] */ BSTR url); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeeds )( + IiTunes * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( + IiTunes * This, + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolderInSource )( + IiTunes * This, + /* [in] */ BSTR folderName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iFolder); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoundVolumeControlEnabled )( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryXMLPath )( + IiTunes * This, + /* [retval][out] */ BSTR *filePath); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ITObjectPersistentIDHigh )( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *highID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ITObjectPersistentIDLow )( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *lowID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectPersistentIDs )( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [out] */ long *highID, + /* [out] */ long *lowID); + + END_INTERFACE + } IiTunesVtbl; + + interface IiTunes + { + CONST_VTBL struct IiTunesVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IiTunes_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IiTunes_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IiTunes_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IiTunes_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IiTunes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IiTunes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IiTunes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IiTunes_BackTrack(This) \ + (This)->lpVtbl -> BackTrack(This) + +#define IiTunes_FastForward(This) \ + (This)->lpVtbl -> FastForward(This) + +#define IiTunes_NextTrack(This) \ + (This)->lpVtbl -> NextTrack(This) + +#define IiTunes_Pause(This) \ + (This)->lpVtbl -> Pause(This) + +#define IiTunes_Play(This) \ + (This)->lpVtbl -> Play(This) + +#define IiTunes_PlayFile(This,filePath) \ + (This)->lpVtbl -> PlayFile(This,filePath) + +#define IiTunes_PlayPause(This) \ + (This)->lpVtbl -> PlayPause(This) + +#define IiTunes_PreviousTrack(This) \ + (This)->lpVtbl -> PreviousTrack(This) + +#define IiTunes_Resume(This) \ + (This)->lpVtbl -> Resume(This) + +#define IiTunes_Rewind(This) \ + (This)->lpVtbl -> Rewind(This) + +#define IiTunes_Stop(This) \ + (This)->lpVtbl -> Stop(This) + +#define IiTunes_ConvertFile(This,filePath,iStatus) \ + (This)->lpVtbl -> ConvertFile(This,filePath,iStatus) + +#define IiTunes_ConvertFiles(This,filePaths,iStatus) \ + (This)->lpVtbl -> ConvertFiles(This,filePaths,iStatus) + +#define IiTunes_ConvertTrack(This,iTrackToConvert,iStatus) \ + (This)->lpVtbl -> ConvertTrack(This,iTrackToConvert,iStatus) + +#define IiTunes_ConvertTracks(This,iTracksToConvert,iStatus) \ + (This)->lpVtbl -> ConvertTracks(This,iTracksToConvert,iStatus) + +#define IiTunes_CheckVersion(This,majorVersion,minorVersion,isCompatible) \ + (This)->lpVtbl -> CheckVersion(This,majorVersion,minorVersion,isCompatible) + +#define IiTunes_GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject) \ + (This)->lpVtbl -> GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject) + +#define IiTunes_CreatePlaylist(This,playlistName,iPlaylist) \ + (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist) + +#define IiTunes_OpenURL(This,url) \ + (This)->lpVtbl -> OpenURL(This,url) + +#define IiTunes_GotoMusicStoreHomePage(This) \ + (This)->lpVtbl -> GotoMusicStoreHomePage(This) + +#define IiTunes_UpdateIPod(This) \ + (This)->lpVtbl -> UpdateIPod(This) + +#define IiTunes_Authorize(This,numElems,data,names) \ + (This)->lpVtbl -> Authorize(This,numElems,data,names) + +#define IiTunes_Quit(This) \ + (This)->lpVtbl -> Quit(This) + +#define IiTunes_get_Sources(This,iSourceCollection) \ + (This)->lpVtbl -> get_Sources(This,iSourceCollection) + +#define IiTunes_get_Encoders(This,iEncoderCollection) \ + (This)->lpVtbl -> get_Encoders(This,iEncoderCollection) + +#define IiTunes_get_EQPresets(This,iEQPresetCollection) \ + (This)->lpVtbl -> get_EQPresets(This,iEQPresetCollection) + +#define IiTunes_get_Visuals(This,iVisualCollection) \ + (This)->lpVtbl -> get_Visuals(This,iVisualCollection) + +#define IiTunes_get_Windows(This,iWindowCollection) \ + (This)->lpVtbl -> get_Windows(This,iWindowCollection) + +#define IiTunes_get_SoundVolume(This,volume) \ + (This)->lpVtbl -> get_SoundVolume(This,volume) + +#define IiTunes_put_SoundVolume(This,volume) \ + (This)->lpVtbl -> put_SoundVolume(This,volume) + +#define IiTunes_get_Mute(This,isMuted) \ + (This)->lpVtbl -> get_Mute(This,isMuted) + +#define IiTunes_put_Mute(This,shouldMute) \ + (This)->lpVtbl -> put_Mute(This,shouldMute) + +#define IiTunes_get_PlayerState(This,playerState) \ + (This)->lpVtbl -> get_PlayerState(This,playerState) + +#define IiTunes_get_PlayerPosition(This,playerPos) \ + (This)->lpVtbl -> get_PlayerPosition(This,playerPos) + +#define IiTunes_put_PlayerPosition(This,playerPos) \ + (This)->lpVtbl -> put_PlayerPosition(This,playerPos) + +#define IiTunes_get_CurrentEncoder(This,iEncoder) \ + (This)->lpVtbl -> get_CurrentEncoder(This,iEncoder) + +#define IiTunes_put_CurrentEncoder(This,iEncoder) \ + (This)->lpVtbl -> put_CurrentEncoder(This,iEncoder) + +#define IiTunes_get_VisualsEnabled(This,isEnabled) \ + (This)->lpVtbl -> get_VisualsEnabled(This,isEnabled) + +#define IiTunes_put_VisualsEnabled(This,shouldEnable) \ + (This)->lpVtbl -> put_VisualsEnabled(This,shouldEnable) + +#define IiTunes_get_FullScreenVisuals(This,isFullScreen) \ + (This)->lpVtbl -> get_FullScreenVisuals(This,isFullScreen) + +#define IiTunes_put_FullScreenVisuals(This,shouldUseFullScreen) \ + (This)->lpVtbl -> put_FullScreenVisuals(This,shouldUseFullScreen) + +#define IiTunes_get_VisualSize(This,visualSize) \ + (This)->lpVtbl -> get_VisualSize(This,visualSize) + +#define IiTunes_put_VisualSize(This,visualSize) \ + (This)->lpVtbl -> put_VisualSize(This,visualSize) + +#define IiTunes_get_CurrentVisual(This,iVisual) \ + (This)->lpVtbl -> get_CurrentVisual(This,iVisual) + +#define IiTunes_put_CurrentVisual(This,iVisual) \ + (This)->lpVtbl -> put_CurrentVisual(This,iVisual) + +#define IiTunes_get_EQEnabled(This,isEnabled) \ + (This)->lpVtbl -> get_EQEnabled(This,isEnabled) + +#define IiTunes_put_EQEnabled(This,shouldEnable) \ + (This)->lpVtbl -> put_EQEnabled(This,shouldEnable) + +#define IiTunes_get_CurrentEQPreset(This,iEQPreset) \ + (This)->lpVtbl -> get_CurrentEQPreset(This,iEQPreset) + +#define IiTunes_put_CurrentEQPreset(This,iEQPreset) \ + (This)->lpVtbl -> put_CurrentEQPreset(This,iEQPreset) + +#define IiTunes_get_CurrentStreamTitle(This,streamTitle) \ + (This)->lpVtbl -> get_CurrentStreamTitle(This,streamTitle) + +#define IiTunes_get_CurrentStreamURL(This,streamURL) \ + (This)->lpVtbl -> get_CurrentStreamURL(This,streamURL) + +#define IiTunes_get_BrowserWindow(This,iBrowserWindow) \ + (This)->lpVtbl -> get_BrowserWindow(This,iBrowserWindow) + +#define IiTunes_get_EQWindow(This,iEQWindow) \ + (This)->lpVtbl -> get_EQWindow(This,iEQWindow) + +#define IiTunes_get_LibrarySource(This,iLibrarySource) \ + (This)->lpVtbl -> get_LibrarySource(This,iLibrarySource) + +#define IiTunes_get_LibraryPlaylist(This,iLibraryPlaylist) \ + (This)->lpVtbl -> get_LibraryPlaylist(This,iLibraryPlaylist) + +#define IiTunes_get_CurrentTrack(This,iTrack) \ + (This)->lpVtbl -> get_CurrentTrack(This,iTrack) + +#define IiTunes_get_CurrentPlaylist(This,iPlaylist) \ + (This)->lpVtbl -> get_CurrentPlaylist(This,iPlaylist) + +#define IiTunes_get_SelectedTracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection) + +#define IiTunes_get_Version(This,version) \ + (This)->lpVtbl -> get_Version(This,version) + +#define IiTunes_SetOptions(This,options) \ + (This)->lpVtbl -> SetOptions(This,options) + +#define IiTunes_ConvertFile2(This,filePath,iStatus) \ + (This)->lpVtbl -> ConvertFile2(This,filePath,iStatus) + +#define IiTunes_ConvertFiles2(This,filePaths,iStatus) \ + (This)->lpVtbl -> ConvertFiles2(This,filePaths,iStatus) + +#define IiTunes_ConvertTrack2(This,iTrackToConvert,iStatus) \ + (This)->lpVtbl -> ConvertTrack2(This,iTrackToConvert,iStatus) + +#define IiTunes_ConvertTracks2(This,iTracksToConvert,iStatus) \ + (This)->lpVtbl -> ConvertTracks2(This,iTracksToConvert,iStatus) + +#define IiTunes_get_AppCommandMessageProcessingEnabled(This,isEnabled) \ + (This)->lpVtbl -> get_AppCommandMessageProcessingEnabled(This,isEnabled) + +#define IiTunes_put_AppCommandMessageProcessingEnabled(This,shouldEnable) \ + (This)->lpVtbl -> put_AppCommandMessageProcessingEnabled(This,shouldEnable) + +#define IiTunes_get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog) \ + (This)->lpVtbl -> get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog) + +#define IiTunes_put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog) \ + (This)->lpVtbl -> put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog) + +#define IiTunes_CreateEQPreset(This,eqPresetName,iEQPreset) \ + (This)->lpVtbl -> CreateEQPreset(This,eqPresetName,iEQPreset) + +#define IiTunes_CreatePlaylistInSource(This,playlistName,iSource,iPlaylist) \ + (This)->lpVtbl -> CreatePlaylistInSource(This,playlistName,iSource,iPlaylist) + +#define IiTunes_GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled) \ + (This)->lpVtbl -> GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled) + +#define IiTunes_PlayerButtonClicked(This,playerButton,playerButtonModifierKeys) \ + (This)->lpVtbl -> PlayerButtonClicked(This,playerButton,playerButtonModifierKeys) + +#define IiTunes_get_CanSetShuffle(This,iPlaylist,canSetShuffle) \ + (This)->lpVtbl -> get_CanSetShuffle(This,iPlaylist,canSetShuffle) + +#define IiTunes_get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat) \ + (This)->lpVtbl -> get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat) + +#define IiTunes_get_ConvertOperationStatus(This,iStatus) \ + (This)->lpVtbl -> get_ConvertOperationStatus(This,iStatus) + +#define IiTunes_SubscribeToPodcast(This,url) \ + (This)->lpVtbl -> SubscribeToPodcast(This,url) + +#define IiTunes_UpdatePodcastFeeds(This) \ + (This)->lpVtbl -> UpdatePodcastFeeds(This) + +#define IiTunes_CreateFolder(This,folderName,iFolder) \ + (This)->lpVtbl -> CreateFolder(This,folderName,iFolder) + +#define IiTunes_CreateFolderInSource(This,folderName,iSource,iFolder) \ + (This)->lpVtbl -> CreateFolderInSource(This,folderName,iSource,iFolder) + +#define IiTunes_get_SoundVolumeControlEnabled(This,isEnabled) \ + (This)->lpVtbl -> get_SoundVolumeControlEnabled(This,isEnabled) + +#define IiTunes_get_LibraryXMLPath(This,filePath) \ + (This)->lpVtbl -> get_LibraryXMLPath(This,filePath) + +#define IiTunes_get_ITObjectPersistentIDHigh(This,iObject,highID) \ + (This)->lpVtbl -> get_ITObjectPersistentIDHigh(This,iObject,highID) + +#define IiTunes_get_ITObjectPersistentIDLow(This,iObject,lowID) \ + (This)->lpVtbl -> get_ITObjectPersistentIDLow(This,iObject,lowID) + +#define IiTunes_GetITObjectPersistentIDs(This,iObject,highID,lowID) \ + (This)->lpVtbl -> GetITObjectPersistentIDs(This,iObject,highID,lowID) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_BackTrack_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_BackTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_FastForward_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_FastForward_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_NextTrack_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_NextTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Pause_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Pause_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Play_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Play_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayFile_Proxy( + IiTunes * This, + /* [in] */ BSTR filePath); + + +void __RPC_STUB IiTunes_PlayFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayPause_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_PlayPause_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PreviousTrack_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_PreviousTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Resume_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Resume_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Rewind_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Rewind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Stop_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Stop_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile_Proxy( + IiTunes * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles_Proxy( + IiTunes * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertFiles_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertTracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CheckVersion_Proxy( + IiTunes * This, + /* [in] */ long majorVersion, + /* [in] */ long minorVersion, + /* [retval][out] */ VARIANT_BOOL *isCompatible); + + +void __RPC_STUB IiTunes_CheckVersion_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetITObjectByID_Proxy( + IiTunes * This, + /* [in] */ long sourceID, + /* [in] */ long playlistID, + /* [in] */ long trackID, + /* [in] */ long databaseID, + /* [retval][out] */ IITObject **iObject); + + +void __RPC_STUB IiTunes_GetITObjectByID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylist_Proxy( + IiTunes * This, + /* [in] */ BSTR playlistName, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IiTunes_CreatePlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_OpenURL_Proxy( + IiTunes * This, + /* [in] */ BSTR url); + + +void __RPC_STUB IiTunes_OpenURL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GotoMusicStoreHomePage_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_GotoMusicStoreHomePage_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdateIPod_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_UpdateIPod_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Authorize_Proxy( + IiTunes * This, + /* [in] */ long numElems, + /* [size_is][in] */ VARIANT data[ ], + /* [size_is][in] */ BSTR names[ ]); + + +void __RPC_STUB IiTunes_Authorize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Quit_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_Quit_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Sources_Proxy( + IiTunes * This, + /* [retval][out] */ IITSourceCollection **iSourceCollection); + + +void __RPC_STUB IiTunes_get_Sources_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Encoders_Proxy( + IiTunes * This, + /* [retval][out] */ IITEncoderCollection **iEncoderCollection); + + +void __RPC_STUB IiTunes_get_Encoders_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQPresets_Proxy( + IiTunes * This, + /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection); + + +void __RPC_STUB IiTunes_get_EQPresets_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Visuals_Proxy( + IiTunes * This, + /* [retval][out] */ IITVisualCollection **iVisualCollection); + + +void __RPC_STUB IiTunes_get_Visuals_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Windows_Proxy( + IiTunes * This, + /* [retval][out] */ IITWindowCollection **iWindowCollection); + + +void __RPC_STUB IiTunes_get_Windows_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolume_Proxy( + IiTunes * This, + /* [retval][out] */ long *volume); + + +void __RPC_STUB IiTunes_get_SoundVolume_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_SoundVolume_Proxy( + IiTunes * This, + /* [in] */ long volume); + + +void __RPC_STUB IiTunes_put_SoundVolume_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Mute_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isMuted); + + +void __RPC_STUB IiTunes_get_Mute_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_Mute_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldMute); + + +void __RPC_STUB IiTunes_put_Mute_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerState_Proxy( + IiTunes * This, + /* [retval][out] */ ITPlayerState *playerState); + + +void __RPC_STUB IiTunes_get_PlayerState_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerPosition_Proxy( + IiTunes * This, + /* [retval][out] */ long *playerPos); + + +void __RPC_STUB IiTunes_get_PlayerPosition_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_PlayerPosition_Proxy( + IiTunes * This, + /* [in] */ long playerPos); + + +void __RPC_STUB IiTunes_put_PlayerPosition_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEncoder_Proxy( + IiTunes * This, + /* [retval][out] */ IITEncoder **iEncoder); + + +void __RPC_STUB IiTunes_get_CurrentEncoder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEncoder_Proxy( + IiTunes * This, + /* [in] */ IITEncoder *iEncoder); + + +void __RPC_STUB IiTunes_put_CurrentEncoder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualsEnabled_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + +void __RPC_STUB IiTunes_get_VisualsEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualsEnabled_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + +void __RPC_STUB IiTunes_put_VisualsEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_FullScreenVisuals_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isFullScreen); + + +void __RPC_STUB IiTunes_get_FullScreenVisuals_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_FullScreenVisuals_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldUseFullScreen); + + +void __RPC_STUB IiTunes_put_FullScreenVisuals_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualSize_Proxy( + IiTunes * This, + /* [retval][out] */ ITVisualSize *visualSize); + + +void __RPC_STUB IiTunes_get_VisualSize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualSize_Proxy( + IiTunes * This, + /* [in] */ ITVisualSize visualSize); + + +void __RPC_STUB IiTunes_put_VisualSize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentVisual_Proxy( + IiTunes * This, + /* [retval][out] */ IITVisual **iVisual); + + +void __RPC_STUB IiTunes_get_CurrentVisual_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentVisual_Proxy( + IiTunes * This, + /* [in] */ IITVisual *iVisual); + + +void __RPC_STUB IiTunes_put_CurrentVisual_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQEnabled_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + +void __RPC_STUB IiTunes_get_EQEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_EQEnabled_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + +void __RPC_STUB IiTunes_put_EQEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEQPreset_Proxy( + IiTunes * This, + /* [retval][out] */ IITEQPreset **iEQPreset); + + +void __RPC_STUB IiTunes_get_CurrentEQPreset_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEQPreset_Proxy( + IiTunes * This, + /* [in] */ IITEQPreset *iEQPreset); + + +void __RPC_STUB IiTunes_put_CurrentEQPreset_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamTitle_Proxy( + IiTunes * This, + /* [retval][out] */ BSTR *streamTitle); + + +void __RPC_STUB IiTunes_get_CurrentStreamTitle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamURL_Proxy( + IiTunes * This, + /* [retval][out] */ BSTR *streamURL); + + +void __RPC_STUB IiTunes_get_CurrentStreamURL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_BrowserWindow_Proxy( + IiTunes * This, + /* [retval][out] */ IITBrowserWindow **iBrowserWindow); + + +void __RPC_STUB IiTunes_get_BrowserWindow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQWindow_Proxy( + IiTunes * This, + /* [retval][out] */ IITWindow **iEQWindow); + + +void __RPC_STUB IiTunes_get_EQWindow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibrarySource_Proxy( + IiTunes * This, + /* [retval][out] */ IITSource **iLibrarySource); + + +void __RPC_STUB IiTunes_get_LibrarySource_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibraryPlaylist_Proxy( + IiTunes * This, + /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist); + + +void __RPC_STUB IiTunes_get_LibraryPlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentTrack_Proxy( + IiTunes * This, + /* [retval][out] */ IITTrack **iTrack); + + +void __RPC_STUB IiTunes_get_CurrentTrack_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentPlaylist_Proxy( + IiTunes * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IiTunes_get_CurrentPlaylist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SelectedTracks_Proxy( + IiTunes * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IiTunes_get_SelectedTracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Version_Proxy( + IiTunes * This, + /* [retval][out] */ BSTR *version); + + +void __RPC_STUB IiTunes_get_Version_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SetOptions_Proxy( + IiTunes * This, + /* [in] */ long options); + + +void __RPC_STUB IiTunes_SetOptions_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile2_Proxy( + IiTunes * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertFile2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles2_Proxy( + IiTunes * This, + /* [in] */ VARIANT *filePaths, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertFiles2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack2_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iTrackToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertTrack2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks2_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iTracksToConvert, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_ConvertTracks2_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_AppCommandMessageProcessingEnabled_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + +void __RPC_STUB IiTunes_get_AppCommandMessageProcessingEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_AppCommandMessageProcessingEnabled_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL shouldEnable); + + +void __RPC_STUB IiTunes_put_AppCommandMessageProcessingEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ForceToForegroundOnDialog_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog); + + +void __RPC_STUB IiTunes_get_ForceToForegroundOnDialog_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_ForceToForegroundOnDialog_Proxy( + IiTunes * This, + /* [in] */ VARIANT_BOOL forceToForegroundOnDialog); + + +void __RPC_STUB IiTunes_put_ForceToForegroundOnDialog_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateEQPreset_Proxy( + IiTunes * This, + /* [in] */ BSTR eqPresetName, + /* [retval][out] */ IITEQPreset **iEQPreset); + + +void __RPC_STUB IiTunes_CreateEQPreset_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylistInSource_Proxy( + IiTunes * This, + /* [in] */ BSTR playlistName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IiTunes_CreatePlaylistInSource_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetPlayerButtonsState_Proxy( + IiTunes * This, + /* [out] */ VARIANT_BOOL *previousEnabled, + /* [out] */ ITPlayButtonState *playPauseStopState, + /* [out] */ VARIANT_BOOL *nextEnabled); + + +void __RPC_STUB IiTunes_GetPlayerButtonsState_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayerButtonClicked_Proxy( + IiTunes * This, + /* [in] */ ITPlayerButton playerButton, + /* [in] */ long playerButtonModifierKeys); + + +void __RPC_STUB IiTunes_PlayerButtonClicked_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetShuffle_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetShuffle); + + +void __RPC_STUB IiTunes_get_CanSetShuffle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetSongRepeat_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iPlaylist, + /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat); + + +void __RPC_STUB IiTunes_get_CanSetSongRepeat_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ConvertOperationStatus_Proxy( + IiTunes * This, + /* [retval][out] */ IITConvertOperationStatus **iStatus); + + +void __RPC_STUB IiTunes_get_ConvertOperationStatus_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SubscribeToPodcast_Proxy( + IiTunes * This, + /* [in] */ BSTR url); + + +void __RPC_STUB IiTunes_SubscribeToPodcast_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdatePodcastFeeds_Proxy( + IiTunes * This); + + +void __RPC_STUB IiTunes_UpdatePodcastFeeds_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolder_Proxy( + IiTunes * This, + /* [in] */ BSTR folderName, + /* [retval][out] */ IITPlaylist **iFolder); + + +void __RPC_STUB IiTunes_CreateFolder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolderInSource_Proxy( + IiTunes * This, + /* [in] */ BSTR folderName, + /* [in] */ VARIANT *iSource, + /* [retval][out] */ IITPlaylist **iFolder); + + +void __RPC_STUB IiTunes_CreateFolderInSource_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolumeControlEnabled_Proxy( + IiTunes * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + +void __RPC_STUB IiTunes_get_SoundVolumeControlEnabled_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibraryXMLPath_Proxy( + IiTunes * This, + /* [retval][out] */ BSTR *filePath); + + +void __RPC_STUB IiTunes_get_LibraryXMLPath_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ITObjectPersistentIDHigh_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *highID); + + +void __RPC_STUB IiTunes_get_ITObjectPersistentIDHigh_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ITObjectPersistentIDLow_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [retval][out] */ long *lowID); + + +void __RPC_STUB IiTunes_get_ITObjectPersistentIDLow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetITObjectPersistentIDs_Proxy( + IiTunes * This, + /* [in] */ VARIANT *iObject, + /* [out] */ long *highID, + /* [out] */ long *lowID); + + +void __RPC_STUB IiTunes_GetITObjectPersistentIDs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IiTunes_INTERFACE_DEFINED__ */ + + +#ifndef ___IiTunesEvents_DISPINTERFACE_DEFINED__ +#define ___IiTunesEvents_DISPINTERFACE_DEFINED__ + +/* dispinterface _IiTunesEvents */ +/* [helpstring][uuid] */ + + +EXTERN_C const IID DIID__IiTunesEvents; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5846EB78-317E-4b6f-B0C3-11EE8C8FEEF2") + _IiTunesEvents : public IDispatch + { + }; + +#else /* C style interface */ + + typedef struct _IiTunesEventsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + _IiTunesEvents * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + _IiTunesEvents * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + _IiTunesEvents * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + _IiTunesEvents * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + _IiTunesEvents * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + _IiTunesEvents * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + _IiTunesEvents * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } _IiTunesEventsVtbl; + + interface _IiTunesEvents + { + CONST_VTBL struct _IiTunesEventsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define _IiTunesEvents_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define _IiTunesEvents_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define _IiTunesEvents_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define _IiTunesEvents_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define _IiTunesEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define _IiTunesEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define _IiTunesEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + +#endif /* ___IiTunesEvents_DISPINTERFACE_DEFINED__ */ + + +#ifndef ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__ +#define ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__ + +/* dispinterface _IITConvertOperationStatusEvents */ +/* [helpstring][uuid] */ + + +EXTERN_C const IID DIID__IITConvertOperationStatusEvents; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5C47A705-8E8A-45a1-9EED-71C993F0BF60") + _IITConvertOperationStatusEvents : public IDispatch + { + }; + +#else /* C style interface */ + + typedef struct _IITConvertOperationStatusEventsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + _IITConvertOperationStatusEvents * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + _IITConvertOperationStatusEvents * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + _IITConvertOperationStatusEvents * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + _IITConvertOperationStatusEvents * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + _IITConvertOperationStatusEvents * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + _IITConvertOperationStatusEvents * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + _IITConvertOperationStatusEvents * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } _IITConvertOperationStatusEventsVtbl; + + interface _IITConvertOperationStatusEvents + { + CONST_VTBL struct _IITConvertOperationStatusEventsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define _IITConvertOperationStatusEvents_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define _IITConvertOperationStatusEvents_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define _IITConvertOperationStatusEvents_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define _IITConvertOperationStatusEvents_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define _IITConvertOperationStatusEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define _IITConvertOperationStatusEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define _IITConvertOperationStatusEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + +#endif /* ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__ */ + + +EXTERN_C const CLSID CLSID_iTunesApp; + +#ifdef __cplusplus + +class DECLSPEC_UUID("DC0C2640-1415-4644-875C-6F4D769839BA") +iTunesApp; +#endif + +EXTERN_C const CLSID CLSID_iTunesConvertOperationStatus; + +#ifdef __cplusplus + +class DECLSPEC_UUID("D06596AD-C900-41b2-BC68-1B486450FC56") +iTunesConvertOperationStatus; +#endif + +#ifndef __IITArtwork_INTERFACE_DEFINED__ +#define __IITArtwork_INTERFACE_DEFINED__ + +/* interface IITArtwork */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITArtwork; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D0A6C1F8-BF3D-4cd8-AC47-FE32BDD17257") + IITArtwork : public IDispatch + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetArtworkFromFile( + /* [in] */ BSTR filePath) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveArtworkToFile( + /* [in] */ BSTR filePath) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( + /* [retval][out] */ ITArtworkFormat *format) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsDownloadedArtwork( + /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( + /* [in] */ BSTR description) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITArtworkVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITArtwork * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITArtwork * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITArtwork * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITArtwork * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITArtwork * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITArtwork * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITArtwork * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITArtwork * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetArtworkFromFile )( + IITArtwork * This, + /* [in] */ BSTR filePath); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveArtworkToFile )( + IITArtwork * This, + /* [in] */ BSTR filePath); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( + IITArtwork * This, + /* [retval][out] */ ITArtworkFormat *format); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloadedArtwork )( + IITArtwork * This, + /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + IITArtwork * This, + /* [retval][out] */ BSTR *description); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( + IITArtwork * This, + /* [in] */ BSTR description); + + END_INTERFACE + } IITArtworkVtbl; + + interface IITArtwork + { + CONST_VTBL struct IITArtworkVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITArtwork_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITArtwork_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITArtwork_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITArtwork_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITArtwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITArtwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITArtwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITArtwork_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITArtwork_SetArtworkFromFile(This,filePath) \ + (This)->lpVtbl -> SetArtworkFromFile(This,filePath) + +#define IITArtwork_SaveArtworkToFile(This,filePath) \ + (This)->lpVtbl -> SaveArtworkToFile(This,filePath) + +#define IITArtwork_get_Format(This,format) \ + (This)->lpVtbl -> get_Format(This,format) + +#define IITArtwork_get_IsDownloadedArtwork(This,isDownloadedArtwork) \ + (This)->lpVtbl -> get_IsDownloadedArtwork(This,isDownloadedArtwork) + +#define IITArtwork_get_Description(This,description) \ + (This)->lpVtbl -> get_Description(This,description) + +#define IITArtwork_put_Description(This,description) \ + (This)->lpVtbl -> put_Description(This,description) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_Delete_Proxy( + IITArtwork * This); + + +void __RPC_STUB IITArtwork_Delete_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SetArtworkFromFile_Proxy( + IITArtwork * This, + /* [in] */ BSTR filePath); + + +void __RPC_STUB IITArtwork_SetArtworkFromFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SaveArtworkToFile_Proxy( + IITArtwork * This, + /* [in] */ BSTR filePath); + + +void __RPC_STUB IITArtwork_SaveArtworkToFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_Format_Proxy( + IITArtwork * This, + /* [retval][out] */ ITArtworkFormat *format); + + +void __RPC_STUB IITArtwork_get_Format_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_IsDownloadedArtwork_Proxy( + IITArtwork * This, + /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork); + + +void __RPC_STUB IITArtwork_get_IsDownloadedArtwork_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_Description_Proxy( + IITArtwork * This, + /* [retval][out] */ BSTR *description); + + +void __RPC_STUB IITArtwork_get_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITArtwork_put_Description_Proxy( + IITArtwork * This, + /* [in] */ BSTR description); + + +void __RPC_STUB IITArtwork_put_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITArtwork_INTERFACE_DEFINED__ */ + + +#ifndef __IITArtworkCollection_INTERFACE_DEFINED__ +#define __IITArtworkCollection_INTERFACE_DEFINED__ + +/* interface IITArtworkCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITArtworkCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BF2742D7-418C-4858-9AF9-2981B062D23E") + IITArtworkCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITArtwork **iArtwork) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITArtworkCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITArtworkCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITArtworkCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITArtworkCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITArtworkCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITArtworkCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITArtworkCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITArtworkCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITArtworkCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITArtworkCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITArtwork **iArtwork); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITArtworkCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + END_INTERFACE + } IITArtworkCollectionVtbl; + + interface IITArtworkCollection + { + CONST_VTBL struct IITArtworkCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITArtworkCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITArtworkCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITArtworkCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITArtworkCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITArtworkCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITArtworkCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITArtworkCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITArtworkCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITArtworkCollection_get_Item(This,index,iArtwork) \ + (This)->lpVtbl -> get_Item(This,index,iArtwork) + +#define IITArtworkCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Count_Proxy( + IITArtworkCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITArtworkCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Item_Proxy( + IITArtworkCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITArtwork **iArtwork); + + +void __RPC_STUB IITArtworkCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get__NewEnum_Proxy( + IITArtworkCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITArtworkCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITArtworkCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITURLTrack_INTERFACE_DEFINED__ +#define __IITURLTrack_INTERFACE_DEFINED__ + +/* interface IITURLTrack */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITURLTrack; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1116E3B5-29FD-4393-A7BD-454E5E327900") + IITURLTrack : public IITTrack + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_URL( + /* [retval][out] */ BSTR *url) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_URL( + /* [in] */ BSTR url) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( + /* [retval][out] */ VARIANT_BOOL *isPodcast) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DownloadPodcastEpisode( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( + /* [retval][out] */ BSTR *category) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( + /* [in] */ BSTR category) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( + /* [in] */ BSTR description) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( + /* [retval][out] */ BSTR *longDescription) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( + /* [in] */ BSTR longDescription) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRating( + /* [retval][out] */ long *rating) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumRating( + /* [in] */ long rating) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRatingKind( + /* [retval][out] */ ITRatingKind *ratingKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RatingKind( + /* [retval][out] */ ITRatingKind *ratingKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITURLTrackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITURLTrack * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITURLTrack * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITURLTrack * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITURLTrack * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITURLTrack * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITURLTrack * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITURLTrack * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITURLTrack * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITURLTrack * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITURLTrack * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITURLTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITURLTrack * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITURLTrack * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITURLTrack * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITURLTrack * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITURLTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( + IITURLTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( + IITURLTrack * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITArtwork **iArtwork); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITURLTrack * This, + /* [retval][out] */ ITTrackKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( + IITURLTrack * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( + IITURLTrack * This, + /* [retval][out] */ BSTR *album); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( + IITURLTrack * This, + /* [in] */ BSTR album); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( + IITURLTrack * This, + /* [retval][out] */ BSTR *artist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( + IITURLTrack * This, + /* [in] */ BSTR artist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( + IITURLTrack * This, + /* [retval][out] */ long *bitrate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( + IITURLTrack * This, + /* [retval][out] */ long *beatsPerMinute); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( + IITURLTrack * This, + /* [in] */ long beatsPerMinute); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( + IITURLTrack * This, + /* [retval][out] */ BSTR *comment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( + IITURLTrack * This, + /* [in] */ BSTR comment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( + IITURLTrack * This, + /* [retval][out] */ VARIANT_BOOL *isCompilation); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( + IITURLTrack * This, + /* [in] */ VARIANT_BOOL shouldBeCompilation); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( + IITURLTrack * This, + /* [retval][out] */ BSTR *composer); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( + IITURLTrack * This, + /* [in] */ BSTR composer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( + IITURLTrack * This, + /* [retval][out] */ DATE *dateAdded); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( + IITURLTrack * This, + /* [retval][out] */ long *discCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( + IITURLTrack * This, + /* [in] */ long discCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( + IITURLTrack * This, + /* [retval][out] */ long *discNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( + IITURLTrack * This, + /* [in] */ long discNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITURLTrack * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( + IITURLTrack * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( + IITURLTrack * This, + /* [in] */ VARIANT_BOOL shouldBeEnabled); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( + IITURLTrack * This, + /* [retval][out] */ BSTR *eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( + IITURLTrack * This, + /* [in] */ BSTR eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( + IITURLTrack * This, + /* [in] */ long finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( + IITURLTrack * This, + /* [retval][out] */ long *finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( + IITURLTrack * This, + /* [retval][out] */ BSTR *genre); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( + IITURLTrack * This, + /* [in] */ BSTR genre); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( + IITURLTrack * This, + /* [retval][out] */ BSTR *grouping); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( + IITURLTrack * This, + /* [in] */ BSTR grouping); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( + IITURLTrack * This, + /* [retval][out] */ BSTR *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( + IITURLTrack * This, + /* [retval][out] */ DATE *dateModified); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( + IITURLTrack * This, + /* [retval][out] */ long *playedCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( + IITURLTrack * This, + /* [in] */ long playedCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( + IITURLTrack * This, + /* [retval][out] */ DATE *playedDate); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( + IITURLTrack * This, + /* [in] */ DATE playedDate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( + IITURLTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( + IITURLTrack * This, + /* [retval][out] */ long *rating); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( + IITURLTrack * This, + /* [in] */ long rating); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( + IITURLTrack * This, + /* [retval][out] */ long *sampleRate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITURLTrack * This, + /* [retval][out] */ long *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( + IITURLTrack * This, + /* [retval][out] */ long *start); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( + IITURLTrack * This, + /* [in] */ long start); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITURLTrack * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( + IITURLTrack * This, + /* [retval][out] */ long *trackCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( + IITURLTrack * This, + /* [in] */ long trackCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( + IITURLTrack * This, + /* [retval][out] */ long *trackNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( + IITURLTrack * This, + /* [in] */ long trackNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( + IITURLTrack * This, + /* [retval][out] */ long *volumeAdjustment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( + IITURLTrack * This, + /* [in] */ long volumeAdjustment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( + IITURLTrack * This, + /* [retval][out] */ long *year); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( + IITURLTrack * This, + /* [in] */ long year); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( + IITURLTrack * This, + /* [retval][out] */ IITArtworkCollection **iArtworkCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( + IITURLTrack * This, + /* [retval][out] */ BSTR *url); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( + IITURLTrack * This, + /* [in] */ BSTR url); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Podcast )( + IITURLTrack * This, + /* [retval][out] */ VARIANT_BOOL *isPodcast); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeed )( + IITURLTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DownloadPodcastEpisode )( + IITURLTrack * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( + IITURLTrack * This, + /* [retval][out] */ BSTR *category); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Category )( + IITURLTrack * This, + /* [in] */ BSTR category); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + IITURLTrack * This, + /* [retval][out] */ BSTR *description); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( + IITURLTrack * This, + /* [in] */ BSTR description); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongDescription )( + IITURLTrack * This, + /* [retval][out] */ BSTR *longDescription); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LongDescription )( + IITURLTrack * This, + /* [in] */ BSTR longDescription); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( + IITURLTrack * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRating )( + IITURLTrack * This, + /* [retval][out] */ long *rating); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumRating )( + IITURLTrack * This, + /* [in] */ long rating); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRatingKind )( + IITURLTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RatingKind )( + IITURLTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( + IITURLTrack * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + END_INTERFACE + } IITURLTrackVtbl; + + interface IITURLTrack + { + CONST_VTBL struct IITURLTrackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITURLTrack_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITURLTrack_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITURLTrack_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITURLTrack_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITURLTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITURLTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITURLTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITURLTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITURLTrack_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITURLTrack_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITURLTrack_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITURLTrack_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITURLTrack_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITURLTrack_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITURLTrack_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITURLTrack_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITURLTrack_Play(This) \ + (This)->lpVtbl -> Play(This) + +#define IITURLTrack_AddArtworkFromFile(This,filePath,iArtwork) \ + (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork) + +#define IITURLTrack_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITURLTrack_get_Playlist(This,iPlaylist) \ + (This)->lpVtbl -> get_Playlist(This,iPlaylist) + +#define IITURLTrack_get_Album(This,album) \ + (This)->lpVtbl -> get_Album(This,album) + +#define IITURLTrack_put_Album(This,album) \ + (This)->lpVtbl -> put_Album(This,album) + +#define IITURLTrack_get_Artist(This,artist) \ + (This)->lpVtbl -> get_Artist(This,artist) + +#define IITURLTrack_put_Artist(This,artist) \ + (This)->lpVtbl -> put_Artist(This,artist) + +#define IITURLTrack_get_BitRate(This,bitrate) \ + (This)->lpVtbl -> get_BitRate(This,bitrate) + +#define IITURLTrack_get_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> get_BPM(This,beatsPerMinute) + +#define IITURLTrack_put_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> put_BPM(This,beatsPerMinute) + +#define IITURLTrack_get_Comment(This,comment) \ + (This)->lpVtbl -> get_Comment(This,comment) + +#define IITURLTrack_put_Comment(This,comment) \ + (This)->lpVtbl -> put_Comment(This,comment) + +#define IITURLTrack_get_Compilation(This,isCompilation) \ + (This)->lpVtbl -> get_Compilation(This,isCompilation) + +#define IITURLTrack_put_Compilation(This,shouldBeCompilation) \ + (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation) + +#define IITURLTrack_get_Composer(This,composer) \ + (This)->lpVtbl -> get_Composer(This,composer) + +#define IITURLTrack_put_Composer(This,composer) \ + (This)->lpVtbl -> put_Composer(This,composer) + +#define IITURLTrack_get_DateAdded(This,dateAdded) \ + (This)->lpVtbl -> get_DateAdded(This,dateAdded) + +#define IITURLTrack_get_DiscCount(This,discCount) \ + (This)->lpVtbl -> get_DiscCount(This,discCount) + +#define IITURLTrack_put_DiscCount(This,discCount) \ + (This)->lpVtbl -> put_DiscCount(This,discCount) + +#define IITURLTrack_get_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> get_DiscNumber(This,discNumber) + +#define IITURLTrack_put_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> put_DiscNumber(This,discNumber) + +#define IITURLTrack_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITURLTrack_get_Enabled(This,isEnabled) \ + (This)->lpVtbl -> get_Enabled(This,isEnabled) + +#define IITURLTrack_put_Enabled(This,shouldBeEnabled) \ + (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled) + +#define IITURLTrack_get_EQ(This,eq) \ + (This)->lpVtbl -> get_EQ(This,eq) + +#define IITURLTrack_put_EQ(This,eq) \ + (This)->lpVtbl -> put_EQ(This,eq) + +#define IITURLTrack_put_Finish(This,finish) \ + (This)->lpVtbl -> put_Finish(This,finish) + +#define IITURLTrack_get_Finish(This,finish) \ + (This)->lpVtbl -> get_Finish(This,finish) + +#define IITURLTrack_get_Genre(This,genre) \ + (This)->lpVtbl -> get_Genre(This,genre) + +#define IITURLTrack_put_Genre(This,genre) \ + (This)->lpVtbl -> put_Genre(This,genre) + +#define IITURLTrack_get_Grouping(This,grouping) \ + (This)->lpVtbl -> get_Grouping(This,grouping) + +#define IITURLTrack_put_Grouping(This,grouping) \ + (This)->lpVtbl -> put_Grouping(This,grouping) + +#define IITURLTrack_get_KindAsString(This,kind) \ + (This)->lpVtbl -> get_KindAsString(This,kind) + +#define IITURLTrack_get_ModificationDate(This,dateModified) \ + (This)->lpVtbl -> get_ModificationDate(This,dateModified) + +#define IITURLTrack_get_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> get_PlayedCount(This,playedCount) + +#define IITURLTrack_put_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> put_PlayedCount(This,playedCount) + +#define IITURLTrack_get_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> get_PlayedDate(This,playedDate) + +#define IITURLTrack_put_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> put_PlayedDate(This,playedDate) + +#define IITURLTrack_get_PlayOrderIndex(This,index) \ + (This)->lpVtbl -> get_PlayOrderIndex(This,index) + +#define IITURLTrack_get_Rating(This,rating) \ + (This)->lpVtbl -> get_Rating(This,rating) + +#define IITURLTrack_put_Rating(This,rating) \ + (This)->lpVtbl -> put_Rating(This,rating) + +#define IITURLTrack_get_SampleRate(This,sampleRate) \ + (This)->lpVtbl -> get_SampleRate(This,sampleRate) + +#define IITURLTrack_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITURLTrack_get_Start(This,start) \ + (This)->lpVtbl -> get_Start(This,start) + +#define IITURLTrack_put_Start(This,start) \ + (This)->lpVtbl -> put_Start(This,start) + +#define IITURLTrack_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITURLTrack_get_TrackCount(This,trackCount) \ + (This)->lpVtbl -> get_TrackCount(This,trackCount) + +#define IITURLTrack_put_TrackCount(This,trackCount) \ + (This)->lpVtbl -> put_TrackCount(This,trackCount) + +#define IITURLTrack_get_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> get_TrackNumber(This,trackNumber) + +#define IITURLTrack_put_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> put_TrackNumber(This,trackNumber) + +#define IITURLTrack_get_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment) + +#define IITURLTrack_put_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment) + +#define IITURLTrack_get_Year(This,year) \ + (This)->lpVtbl -> get_Year(This,year) + +#define IITURLTrack_put_Year(This,year) \ + (This)->lpVtbl -> put_Year(This,year) + +#define IITURLTrack_get_Artwork(This,iArtworkCollection) \ + (This)->lpVtbl -> get_Artwork(This,iArtworkCollection) + + +#define IITURLTrack_get_URL(This,url) \ + (This)->lpVtbl -> get_URL(This,url) + +#define IITURLTrack_put_URL(This,url) \ + (This)->lpVtbl -> put_URL(This,url) + +#define IITURLTrack_get_Podcast(This,isPodcast) \ + (This)->lpVtbl -> get_Podcast(This,isPodcast) + +#define IITURLTrack_UpdatePodcastFeed(This) \ + (This)->lpVtbl -> UpdatePodcastFeed(This) + +#define IITURLTrack_DownloadPodcastEpisode(This) \ + (This)->lpVtbl -> DownloadPodcastEpisode(This) + +#define IITURLTrack_get_Category(This,category) \ + (This)->lpVtbl -> get_Category(This,category) + +#define IITURLTrack_put_Category(This,category) \ + (This)->lpVtbl -> put_Category(This,category) + +#define IITURLTrack_get_Description(This,description) \ + (This)->lpVtbl -> get_Description(This,description) + +#define IITURLTrack_put_Description(This,description) \ + (This)->lpVtbl -> put_Description(This,description) + +#define IITURLTrack_get_LongDescription(This,longDescription) \ + (This)->lpVtbl -> get_LongDescription(This,longDescription) + +#define IITURLTrack_put_LongDescription(This,longDescription) \ + (This)->lpVtbl -> put_LongDescription(This,longDescription) + +#define IITURLTrack_Reveal(This) \ + (This)->lpVtbl -> Reveal(This) + +#define IITURLTrack_get_AlbumRating(This,rating) \ + (This)->lpVtbl -> get_AlbumRating(This,rating) + +#define IITURLTrack_put_AlbumRating(This,rating) \ + (This)->lpVtbl -> put_AlbumRating(This,rating) + +#define IITURLTrack_get_AlbumRatingKind(This,ratingKind) \ + (This)->lpVtbl -> get_AlbumRatingKind(This,ratingKind) + +#define IITURLTrack_get_RatingKind(This,ratingKind) \ + (This)->lpVtbl -> get_RatingKind(This,ratingKind) + +#define IITURLTrack_get_Playlists(This,iPlaylistCollection) \ + (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_URL_Proxy( + IITURLTrack * This, + /* [retval][out] */ BSTR *url); + + +void __RPC_STUB IITURLTrack_get_URL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_URL_Proxy( + IITURLTrack * This, + /* [in] */ BSTR url); + + +void __RPC_STUB IITURLTrack_put_URL_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Podcast_Proxy( + IITURLTrack * This, + /* [retval][out] */ VARIANT_BOOL *isPodcast); + + +void __RPC_STUB IITURLTrack_get_Podcast_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_UpdatePodcastFeed_Proxy( + IITURLTrack * This); + + +void __RPC_STUB IITURLTrack_UpdatePodcastFeed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_DownloadPodcastEpisode_Proxy( + IITURLTrack * This); + + +void __RPC_STUB IITURLTrack_DownloadPodcastEpisode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Category_Proxy( + IITURLTrack * This, + /* [retval][out] */ BSTR *category); + + +void __RPC_STUB IITURLTrack_get_Category_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Category_Proxy( + IITURLTrack * This, + /* [in] */ BSTR category); + + +void __RPC_STUB IITURLTrack_put_Category_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Description_Proxy( + IITURLTrack * This, + /* [retval][out] */ BSTR *description); + + +void __RPC_STUB IITURLTrack_get_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Description_Proxy( + IITURLTrack * This, + /* [in] */ BSTR description); + + +void __RPC_STUB IITURLTrack_put_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_LongDescription_Proxy( + IITURLTrack * This, + /* [retval][out] */ BSTR *longDescription); + + +void __RPC_STUB IITURLTrack_get_LongDescription_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_LongDescription_Proxy( + IITURLTrack * This, + /* [in] */ BSTR longDescription); + + +void __RPC_STUB IITURLTrack_put_LongDescription_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_Reveal_Proxy( + IITURLTrack * This); + + +void __RPC_STUB IITURLTrack_Reveal_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_AlbumRating_Proxy( + IITURLTrack * This, + /* [retval][out] */ long *rating); + + +void __RPC_STUB IITURLTrack_get_AlbumRating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_AlbumRating_Proxy( + IITURLTrack * This, + /* [in] */ long rating); + + +void __RPC_STUB IITURLTrack_put_AlbumRating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_AlbumRatingKind_Proxy( + IITURLTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + +void __RPC_STUB IITURLTrack_get_AlbumRatingKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_RatingKind_Proxy( + IITURLTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + +void __RPC_STUB IITURLTrack_get_RatingKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Playlists_Proxy( + IITURLTrack * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + +void __RPC_STUB IITURLTrack_get_Playlists_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITURLTrack_INTERFACE_DEFINED__ */ + + +#ifndef __IITAudioCDPlaylist_INTERFACE_DEFINED__ +#define __IITAudioCDPlaylist_INTERFACE_DEFINED__ + +/* interface IITAudioCDPlaylist */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITAudioCDPlaylist; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CF496DF3-0FED-4d7d-9BD8-529B6E8A082E") + IITAudioCDPlaylist : public IITPlaylist + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( + /* [retval][out] */ BSTR *artist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( + /* [retval][out] */ VARIANT_BOOL *isCompiliation) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( + /* [retval][out] */ BSTR *composer) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( + /* [retval][out] */ long *discCount) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( + /* [retval][out] */ long *discNumber) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( + /* [retval][out] */ BSTR *genre) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( + /* [retval][out] */ long *year) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITAudioCDPlaylistVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITAudioCDPlaylist * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITAudioCDPlaylist * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITAudioCDPlaylist * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITAudioCDPlaylist * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITAudioCDPlaylist * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITAudioCDPlaylist * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITAudioCDPlaylist * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITAudioCDPlaylist * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITAudioCDPlaylist * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITAudioCDPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( + IITAudioCDPlaylist * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( + IITAudioCDPlaylist * This, + /* [in] */ VARIANT_BOOL showPrintDialog, + /* [in] */ ITPlaylistPrintKind printKind, + /* [in] */ BSTR theme); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( + IITAudioCDPlaylist * This, + /* [in] */ BSTR searchText, + /* [in] */ ITPlaylistSearchField searchFields, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITAudioCDPlaylist * This, + /* [retval][out] */ ITPlaylistKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( + IITAudioCDPlaylist * This, + /* [retval][out] */ IITSource **iSource); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( + IITAudioCDPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isShuffle); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( + IITAudioCDPlaylist * This, + /* [in] */ VARIANT_BOOL shouldShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITAudioCDPlaylist * This, + /* [retval][out] */ double *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( + IITAudioCDPlaylist * This, + /* [retval][out] */ ITPlaylistRepeatMode *repeatMode); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( + IITAudioCDPlaylist * This, + /* [in] */ ITPlaylistRepeatMode repeatMode); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITAudioCDPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( + IITAudioCDPlaylist * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *artist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( + IITAudioCDPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isCompiliation); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *composer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *discCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *discNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *genre); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *year); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( + IITAudioCDPlaylist * This); + + END_INTERFACE + } IITAudioCDPlaylistVtbl; + + interface IITAudioCDPlaylist + { + CONST_VTBL struct IITAudioCDPlaylistVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITAudioCDPlaylist_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITAudioCDPlaylist_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITAudioCDPlaylist_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITAudioCDPlaylist_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITAudioCDPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITAudioCDPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITAudioCDPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITAudioCDPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITAudioCDPlaylist_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITAudioCDPlaylist_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITAudioCDPlaylist_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITAudioCDPlaylist_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITAudioCDPlaylist_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITAudioCDPlaylist_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITAudioCDPlaylist_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITAudioCDPlaylist_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITAudioCDPlaylist_PlayFirstTrack(This) \ + (This)->lpVtbl -> PlayFirstTrack(This) + +#define IITAudioCDPlaylist_Print(This,showPrintDialog,printKind,theme) \ + (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme) + +#define IITAudioCDPlaylist_Search(This,searchText,searchFields,iTrackCollection) \ + (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection) + +#define IITAudioCDPlaylist_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITAudioCDPlaylist_get_Source(This,iSource) \ + (This)->lpVtbl -> get_Source(This,iSource) + +#define IITAudioCDPlaylist_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITAudioCDPlaylist_get_Shuffle(This,isShuffle) \ + (This)->lpVtbl -> get_Shuffle(This,isShuffle) + +#define IITAudioCDPlaylist_put_Shuffle(This,shouldShuffle) \ + (This)->lpVtbl -> put_Shuffle(This,shouldShuffle) + +#define IITAudioCDPlaylist_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITAudioCDPlaylist_get_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> get_SongRepeat(This,repeatMode) + +#define IITAudioCDPlaylist_put_SongRepeat(This,repeatMode) \ + (This)->lpVtbl -> put_SongRepeat(This,repeatMode) + +#define IITAudioCDPlaylist_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITAudioCDPlaylist_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITAudioCDPlaylist_get_Tracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_Tracks(This,iTrackCollection) + + +#define IITAudioCDPlaylist_get_Artist(This,artist) \ + (This)->lpVtbl -> get_Artist(This,artist) + +#define IITAudioCDPlaylist_get_Compilation(This,isCompiliation) \ + (This)->lpVtbl -> get_Compilation(This,isCompiliation) + +#define IITAudioCDPlaylist_get_Composer(This,composer) \ + (This)->lpVtbl -> get_Composer(This,composer) + +#define IITAudioCDPlaylist_get_DiscCount(This,discCount) \ + (This)->lpVtbl -> get_DiscCount(This,discCount) + +#define IITAudioCDPlaylist_get_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> get_DiscNumber(This,discNumber) + +#define IITAudioCDPlaylist_get_Genre(This,genre) \ + (This)->lpVtbl -> get_Genre(This,genre) + +#define IITAudioCDPlaylist_get_Year(This,year) \ + (This)->lpVtbl -> get_Year(This,year) + +#define IITAudioCDPlaylist_Reveal(This) \ + (This)->lpVtbl -> Reveal(This) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Artist_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *artist); + + +void __RPC_STUB IITAudioCDPlaylist_get_Artist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Compilation_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ VARIANT_BOOL *isCompiliation); + + +void __RPC_STUB IITAudioCDPlaylist_get_Compilation_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Composer_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *composer); + + +void __RPC_STUB IITAudioCDPlaylist_get_Composer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscCount_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *discCount); + + +void __RPC_STUB IITAudioCDPlaylist_get_DiscCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscNumber_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *discNumber); + + +void __RPC_STUB IITAudioCDPlaylist_get_DiscNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Genre_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ BSTR *genre); + + +void __RPC_STUB IITAudioCDPlaylist_get_Genre_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Year_Proxy( + IITAudioCDPlaylist * This, + /* [retval][out] */ long *year); + + +void __RPC_STUB IITAudioCDPlaylist_get_Year_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_Reveal_Proxy( + IITAudioCDPlaylist * This); + + +void __RPC_STUB IITAudioCDPlaylist_Reveal_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITAudioCDPlaylist_INTERFACE_DEFINED__ */ + + +#ifndef __IITPlaylistCollection_INTERFACE_DEFINED__ +#define __IITPlaylistCollection_INTERFACE_DEFINED__ + +/* interface IITPlaylistCollection */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITPlaylistCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("FF194254-909D-4437-9C50-3AAC2AE6305C") + IITPlaylistCollection : public IDispatch + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ long *count) = 0; + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ long index, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( + /* [in] */ BSTR name, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ IUnknown **iEnumerator) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITPlaylistCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITPlaylistCollection * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITPlaylistCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITPlaylistCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITPlaylistCollection * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITPlaylistCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITPlaylistCollection * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITPlaylistCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + IITPlaylistCollection * This, + /* [retval][out] */ long *count); + + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + IITPlaylistCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( + IITPlaylistCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + IITPlaylistCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( + IITPlaylistCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITPlaylist **iPlaylist); + + END_INTERFACE + } IITPlaylistCollectionVtbl; + + interface IITPlaylistCollection + { + CONST_VTBL struct IITPlaylistCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITPlaylistCollection_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITPlaylistCollection_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITPlaylistCollection_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITPlaylistCollection_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITPlaylistCollection_get_Count(This,count) \ + (This)->lpVtbl -> get_Count(This,count) + +#define IITPlaylistCollection_get_Item(This,index,iPlaylist) \ + (This)->lpVtbl -> get_Item(This,index,iPlaylist) + +#define IITPlaylistCollection_get_ItemByName(This,name,iPlaylist) \ + (This)->lpVtbl -> get_ItemByName(This,name,iPlaylist) + +#define IITPlaylistCollection_get__NewEnum(This,iEnumerator) \ + (This)->lpVtbl -> get__NewEnum(This,iEnumerator) + +#define IITPlaylistCollection_get_ItemByPersistentID(This,highID,lowID,iPlaylist) \ + (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iPlaylist) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Count_Proxy( + IITPlaylistCollection * This, + /* [retval][out] */ long *count); + + +void __RPC_STUB IITPlaylistCollection_get_Count_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Item_Proxy( + IITPlaylistCollection * This, + /* [in] */ long index, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITPlaylistCollection_get_Item_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_ItemByName_Proxy( + IITPlaylistCollection * This, + /* [in] */ BSTR name, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITPlaylistCollection_get_ItemByName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get__NewEnum_Proxy( + IITPlaylistCollection * This, + /* [retval][out] */ IUnknown **iEnumerator); + + +void __RPC_STUB IITPlaylistCollection_get__NewEnum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_ItemByPersistentID_Proxy( + IITPlaylistCollection * This, + /* [in] */ long highID, + /* [in] */ long lowID, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITPlaylistCollection_get_ItemByPersistentID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITPlaylistCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IITIPodSource_INTERFACE_DEFINED__ +#define __IITIPodSource_INTERFACE_DEFINED__ + +/* interface IITIPodSource */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITIPodSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CF4D8ACE-1720-4fb9-B0AE-9877249E89B0") + IITIPodSource : public IITSource + { + public: + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EjectIPod( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoftwareVersion( + /* [retval][out] */ BSTR *softwareVersion) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITIPodSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITIPodSource * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITIPodSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITIPodSource * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITIPodSource * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITIPodSource * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITIPodSource * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITIPodSource * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITIPodSource * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITIPodSource * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITIPodSource * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITIPodSource * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITIPodSource * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITIPodSource * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITIPodSource * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITIPodSource * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITIPodSource * This, + /* [retval][out] */ ITSourceKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capacity )( + IITIPodSource * This, + /* [retval][out] */ double *capacity); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSpace )( + IITIPodSource * This, + /* [retval][out] */ double *freespace); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( + IITIPodSource * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateIPod )( + IITIPodSource * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EjectIPod )( + IITIPodSource * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoftwareVersion )( + IITIPodSource * This, + /* [retval][out] */ BSTR *softwareVersion); + + END_INTERFACE + } IITIPodSourceVtbl; + + interface IITIPodSource + { + CONST_VTBL struct IITIPodSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITIPodSource_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITIPodSource_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITIPodSource_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITIPodSource_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITIPodSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITIPodSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITIPodSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITIPodSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITIPodSource_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITIPodSource_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITIPodSource_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITIPodSource_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITIPodSource_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITIPodSource_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITIPodSource_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITIPodSource_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITIPodSource_get_Capacity(This,capacity) \ + (This)->lpVtbl -> get_Capacity(This,capacity) + +#define IITIPodSource_get_FreeSpace(This,freespace) \ + (This)->lpVtbl -> get_FreeSpace(This,freespace) + +#define IITIPodSource_get_Playlists(This,iPlaylistCollection) \ + (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection) + + +#define IITIPodSource_UpdateIPod(This) \ + (This)->lpVtbl -> UpdateIPod(This) + +#define IITIPodSource_EjectIPod(This) \ + (This)->lpVtbl -> EjectIPod(This) + +#define IITIPodSource_get_SoftwareVersion(This,softwareVersion) \ + (This)->lpVtbl -> get_SoftwareVersion(This,softwareVersion) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_UpdateIPod_Proxy( + IITIPodSource * This); + + +void __RPC_STUB IITIPodSource_UpdateIPod_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_EjectIPod_Proxy( + IITIPodSource * This); + + +void __RPC_STUB IITIPodSource_EjectIPod_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITIPodSource_get_SoftwareVersion_Proxy( + IITIPodSource * This, + /* [retval][out] */ BSTR *softwareVersion); + + +void __RPC_STUB IITIPodSource_get_SoftwareVersion_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITIPodSource_INTERFACE_DEFINED__ */ + + +#ifndef __IITFileOrCDTrack_INTERFACE_DEFINED__ +#define __IITFileOrCDTrack_INTERFACE_DEFINED__ + +/* interface IITFileOrCDTrack */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITFileOrCDTrack; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("00D7FE99-7868-4cc7-AD9E-ACFD70D09566") + IITFileOrCDTrack : public IITTrack + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Location( + /* [retval][out] */ BSTR *location) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateInfoFromFile( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( + /* [retval][out] */ VARIANT_BOOL *isPodcast) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RememberBookmark( + /* [retval][out] */ VARIANT_BOOL *rememberBookmark) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RememberBookmark( + /* [in] */ VARIANT_BOOL shouldRememberBookmark) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExcludeFromShuffle( + /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExcludeFromShuffle( + /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Lyrics( + /* [retval][out] */ BSTR *lyrics) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Lyrics( + /* [in] */ BSTR lyrics) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( + /* [retval][out] */ BSTR *category) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( + /* [in] */ BSTR category) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( + /* [in] */ BSTR description) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( + /* [retval][out] */ BSTR *longDescription) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( + /* [in] */ BSTR longDescription) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BookmarkTime( + /* [retval][out] */ long *bookmarkTime) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BookmarkTime( + /* [in] */ long bookmarkTime) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VideoKind( + /* [retval][out] */ ITVideoKind *videoKind) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VideoKind( + /* [in] */ ITVideoKind videoKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SkippedCount( + /* [retval][out] */ long *skippedCount) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SkippedCount( + /* [in] */ long skippedCount) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SkippedDate( + /* [retval][out] */ DATE *skippedDate) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SkippedDate( + /* [in] */ DATE skippedDate) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PartOfGaplessAlbum( + /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PartOfGaplessAlbum( + /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumArtist( + /* [retval][out] */ BSTR *albumArtist) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumArtist( + /* [in] */ BSTR albumArtist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Show( + /* [retval][out] */ BSTR *showName) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Show( + /* [in] */ BSTR showName) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SeasonNumber( + /* [retval][out] */ long *seasonNumber) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SeasonNumber( + /* [in] */ long seasonNumber) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EpisodeID( + /* [retval][out] */ BSTR *episodeID) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EpisodeID( + /* [in] */ BSTR episodeID) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EpisodeNumber( + /* [retval][out] */ long *episodeNumber) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EpisodeNumber( + /* [in] */ long episodeNumber) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size64High( + /* [retval][out] */ long *sizeHigh) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size64Low( + /* [retval][out] */ long *sizeLow) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Unplayed( + /* [retval][out] */ VARIANT_BOOL *isUnplayed) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Unplayed( + /* [in] */ VARIANT_BOOL shouldBeUnplayed) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortAlbum( + /* [retval][out] */ BSTR *album) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortAlbum( + /* [in] */ BSTR album) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortAlbumArtist( + /* [retval][out] */ BSTR *albumArtist) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortAlbumArtist( + /* [in] */ BSTR albumArtist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortArtist( + /* [retval][out] */ BSTR *artist) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortArtist( + /* [in] */ BSTR artist) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortComposer( + /* [retval][out] */ BSTR *composer) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortComposer( + /* [in] */ BSTR composer) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortName( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortName( + /* [in] */ BSTR name) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortShow( + /* [retval][out] */ BSTR *showName) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortShow( + /* [in] */ BSTR showName) = 0; + + virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRating( + /* [retval][out] */ long *rating) = 0; + + virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumRating( + /* [in] */ long rating) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRatingKind( + /* [retval][out] */ ITRatingKind *ratingKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RatingKind( + /* [retval][out] */ ITRatingKind *ratingKind) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITFileOrCDTrackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITFileOrCDTrack * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITFileOrCDTrack * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITFileOrCDTrack * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITFileOrCDTrack * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITFileOrCDTrack * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITFileOrCDTrack * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITFileOrCDTrack * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( + IITFileOrCDTrack * This, + /* [out] */ long *sourceID, + /* [out] */ long *playlistID, + /* [out] */ long *trackID, + /* [out] */ long *databaseID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( + IITFileOrCDTrack * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sourceID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *playlistID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *trackID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *databaseID); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( + IITFileOrCDTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( + IITFileOrCDTrack * This); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( + IITFileOrCDTrack * This, + /* [in] */ BSTR filePath, + /* [retval][out] */ IITArtwork **iArtwork); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITFileOrCDTrack * This, + /* [retval][out] */ ITTrackKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( + IITFileOrCDTrack * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *album); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( + IITFileOrCDTrack * This, + /* [in] */ BSTR album); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *artist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( + IITFileOrCDTrack * This, + /* [in] */ BSTR artist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *bitrate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *beatsPerMinute); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( + IITFileOrCDTrack * This, + /* [in] */ long beatsPerMinute); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *comment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( + IITFileOrCDTrack * This, + /* [in] */ BSTR comment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isCompilation); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBeCompilation); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *composer); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( + IITFileOrCDTrack * This, + /* [in] */ BSTR composer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( + IITFileOrCDTrack * This, + /* [retval][out] */ DATE *dateAdded); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *discCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( + IITFileOrCDTrack * This, + /* [in] */ long discCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *discNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( + IITFileOrCDTrack * This, + /* [in] */ long discNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *duration); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isEnabled); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBeEnabled); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( + IITFileOrCDTrack * This, + /* [in] */ BSTR eq); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( + IITFileOrCDTrack * This, + /* [in] */ long finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *finish); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *genre); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( + IITFileOrCDTrack * This, + /* [in] */ BSTR genre); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *grouping); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( + IITFileOrCDTrack * This, + /* [in] */ BSTR grouping); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( + IITFileOrCDTrack * This, + /* [retval][out] */ DATE *dateModified); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *playedCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( + IITFileOrCDTrack * This, + /* [in] */ long playedCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( + IITFileOrCDTrack * This, + /* [retval][out] */ DATE *playedDate); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( + IITFileOrCDTrack * This, + /* [in] */ DATE playedDate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *index); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *rating); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( + IITFileOrCDTrack * This, + /* [in] */ long rating); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sampleRate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *size); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *start); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( + IITFileOrCDTrack * This, + /* [in] */ long start); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *time); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *trackCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( + IITFileOrCDTrack * This, + /* [in] */ long trackCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *trackNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( + IITFileOrCDTrack * This, + /* [in] */ long trackNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *volumeAdjustment); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( + IITFileOrCDTrack * This, + /* [in] */ long volumeAdjustment); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *year); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( + IITFileOrCDTrack * This, + /* [in] */ long year); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( + IITFileOrCDTrack * This, + /* [retval][out] */ IITArtworkCollection **iArtworkCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *location); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateInfoFromFile )( + IITFileOrCDTrack * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Podcast )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isPodcast); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeed )( + IITFileOrCDTrack * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RememberBookmark )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *rememberBookmark); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RememberBookmark )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldRememberBookmark); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExcludeFromShuffle )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExcludeFromShuffle )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lyrics )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *lyrics); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Lyrics )( + IITFileOrCDTrack * This, + /* [in] */ BSTR lyrics); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *category); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Category )( + IITFileOrCDTrack * This, + /* [in] */ BSTR category); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *description); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( + IITFileOrCDTrack * This, + /* [in] */ BSTR description); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongDescription )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *longDescription); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LongDescription )( + IITFileOrCDTrack * This, + /* [in] */ BSTR longDescription); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookmarkTime )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *bookmarkTime); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BookmarkTime )( + IITFileOrCDTrack * This, + /* [in] */ long bookmarkTime); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoKind )( + IITFileOrCDTrack * This, + /* [retval][out] */ ITVideoKind *videoKind); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoKind )( + IITFileOrCDTrack * This, + /* [in] */ ITVideoKind videoKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SkippedCount )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *skippedCount); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SkippedCount )( + IITFileOrCDTrack * This, + /* [in] */ long skippedCount); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SkippedDate )( + IITFileOrCDTrack * This, + /* [retval][out] */ DATE *skippedDate); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SkippedDate )( + IITFileOrCDTrack * This, + /* [in] */ DATE skippedDate); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfGaplessAlbum )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PartOfGaplessAlbum )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumArtist )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *albumArtist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumArtist )( + IITFileOrCDTrack * This, + /* [in] */ BSTR albumArtist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Show )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *showName); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Show )( + IITFileOrCDTrack * This, + /* [in] */ BSTR showName); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SeasonNumber )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *seasonNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SeasonNumber )( + IITFileOrCDTrack * This, + /* [in] */ long seasonNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EpisodeID )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *episodeID); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EpisodeID )( + IITFileOrCDTrack * This, + /* [in] */ BSTR episodeID); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EpisodeNumber )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *episodeNumber); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EpisodeNumber )( + IITFileOrCDTrack * This, + /* [in] */ long episodeNumber); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size64High )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sizeHigh); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size64Low )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sizeLow); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unplayed )( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isUnplayed); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Unplayed )( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBeUnplayed); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortAlbum )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *album); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortAlbum )( + IITFileOrCDTrack * This, + /* [in] */ BSTR album); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortAlbumArtist )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *albumArtist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortAlbumArtist )( + IITFileOrCDTrack * This, + /* [in] */ BSTR albumArtist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortArtist )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *artist); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortArtist )( + IITFileOrCDTrack * This, + /* [in] */ BSTR artist); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortComposer )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *composer); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortComposer )( + IITFileOrCDTrack * This, + /* [in] */ BSTR composer); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortName )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortName )( + IITFileOrCDTrack * This, + /* [in] */ BSTR name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortShow )( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *showName); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortShow )( + IITFileOrCDTrack * This, + /* [in] */ BSTR showName); + + /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( + IITFileOrCDTrack * This); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRating )( + IITFileOrCDTrack * This, + /* [retval][out] */ long *rating); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumRating )( + IITFileOrCDTrack * This, + /* [in] */ long rating); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRatingKind )( + IITFileOrCDTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RatingKind )( + IITFileOrCDTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( + IITFileOrCDTrack * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + END_INTERFACE + } IITFileOrCDTrackVtbl; + + interface IITFileOrCDTrack + { + CONST_VTBL struct IITFileOrCDTrackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITFileOrCDTrack_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITFileOrCDTrack_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITFileOrCDTrack_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITFileOrCDTrack_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITFileOrCDTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITFileOrCDTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITFileOrCDTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITFileOrCDTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) \ + (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID) + +#define IITFileOrCDTrack_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITFileOrCDTrack_put_Name(This,name) \ + (This)->lpVtbl -> put_Name(This,name) + +#define IITFileOrCDTrack_get_Index(This,index) \ + (This)->lpVtbl -> get_Index(This,index) + +#define IITFileOrCDTrack_get_SourceID(This,sourceID) \ + (This)->lpVtbl -> get_SourceID(This,sourceID) + +#define IITFileOrCDTrack_get_PlaylistID(This,playlistID) \ + (This)->lpVtbl -> get_PlaylistID(This,playlistID) + +#define IITFileOrCDTrack_get_TrackID(This,trackID) \ + (This)->lpVtbl -> get_TrackID(This,trackID) + +#define IITFileOrCDTrack_get_TrackDatabaseID(This,databaseID) \ + (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID) + + +#define IITFileOrCDTrack_Delete(This) \ + (This)->lpVtbl -> Delete(This) + +#define IITFileOrCDTrack_Play(This) \ + (This)->lpVtbl -> Play(This) + +#define IITFileOrCDTrack_AddArtworkFromFile(This,filePath,iArtwork) \ + (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork) + +#define IITFileOrCDTrack_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITFileOrCDTrack_get_Playlist(This,iPlaylist) \ + (This)->lpVtbl -> get_Playlist(This,iPlaylist) + +#define IITFileOrCDTrack_get_Album(This,album) \ + (This)->lpVtbl -> get_Album(This,album) + +#define IITFileOrCDTrack_put_Album(This,album) \ + (This)->lpVtbl -> put_Album(This,album) + +#define IITFileOrCDTrack_get_Artist(This,artist) \ + (This)->lpVtbl -> get_Artist(This,artist) + +#define IITFileOrCDTrack_put_Artist(This,artist) \ + (This)->lpVtbl -> put_Artist(This,artist) + +#define IITFileOrCDTrack_get_BitRate(This,bitrate) \ + (This)->lpVtbl -> get_BitRate(This,bitrate) + +#define IITFileOrCDTrack_get_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> get_BPM(This,beatsPerMinute) + +#define IITFileOrCDTrack_put_BPM(This,beatsPerMinute) \ + (This)->lpVtbl -> put_BPM(This,beatsPerMinute) + +#define IITFileOrCDTrack_get_Comment(This,comment) \ + (This)->lpVtbl -> get_Comment(This,comment) + +#define IITFileOrCDTrack_put_Comment(This,comment) \ + (This)->lpVtbl -> put_Comment(This,comment) + +#define IITFileOrCDTrack_get_Compilation(This,isCompilation) \ + (This)->lpVtbl -> get_Compilation(This,isCompilation) + +#define IITFileOrCDTrack_put_Compilation(This,shouldBeCompilation) \ + (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation) + +#define IITFileOrCDTrack_get_Composer(This,composer) \ + (This)->lpVtbl -> get_Composer(This,composer) + +#define IITFileOrCDTrack_put_Composer(This,composer) \ + (This)->lpVtbl -> put_Composer(This,composer) + +#define IITFileOrCDTrack_get_DateAdded(This,dateAdded) \ + (This)->lpVtbl -> get_DateAdded(This,dateAdded) + +#define IITFileOrCDTrack_get_DiscCount(This,discCount) \ + (This)->lpVtbl -> get_DiscCount(This,discCount) + +#define IITFileOrCDTrack_put_DiscCount(This,discCount) \ + (This)->lpVtbl -> put_DiscCount(This,discCount) + +#define IITFileOrCDTrack_get_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> get_DiscNumber(This,discNumber) + +#define IITFileOrCDTrack_put_DiscNumber(This,discNumber) \ + (This)->lpVtbl -> put_DiscNumber(This,discNumber) + +#define IITFileOrCDTrack_get_Duration(This,duration) \ + (This)->lpVtbl -> get_Duration(This,duration) + +#define IITFileOrCDTrack_get_Enabled(This,isEnabled) \ + (This)->lpVtbl -> get_Enabled(This,isEnabled) + +#define IITFileOrCDTrack_put_Enabled(This,shouldBeEnabled) \ + (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled) + +#define IITFileOrCDTrack_get_EQ(This,eq) \ + (This)->lpVtbl -> get_EQ(This,eq) + +#define IITFileOrCDTrack_put_EQ(This,eq) \ + (This)->lpVtbl -> put_EQ(This,eq) + +#define IITFileOrCDTrack_put_Finish(This,finish) \ + (This)->lpVtbl -> put_Finish(This,finish) + +#define IITFileOrCDTrack_get_Finish(This,finish) \ + (This)->lpVtbl -> get_Finish(This,finish) + +#define IITFileOrCDTrack_get_Genre(This,genre) \ + (This)->lpVtbl -> get_Genre(This,genre) + +#define IITFileOrCDTrack_put_Genre(This,genre) \ + (This)->lpVtbl -> put_Genre(This,genre) + +#define IITFileOrCDTrack_get_Grouping(This,grouping) \ + (This)->lpVtbl -> get_Grouping(This,grouping) + +#define IITFileOrCDTrack_put_Grouping(This,grouping) \ + (This)->lpVtbl -> put_Grouping(This,grouping) + +#define IITFileOrCDTrack_get_KindAsString(This,kind) \ + (This)->lpVtbl -> get_KindAsString(This,kind) + +#define IITFileOrCDTrack_get_ModificationDate(This,dateModified) \ + (This)->lpVtbl -> get_ModificationDate(This,dateModified) + +#define IITFileOrCDTrack_get_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> get_PlayedCount(This,playedCount) + +#define IITFileOrCDTrack_put_PlayedCount(This,playedCount) \ + (This)->lpVtbl -> put_PlayedCount(This,playedCount) + +#define IITFileOrCDTrack_get_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> get_PlayedDate(This,playedDate) + +#define IITFileOrCDTrack_put_PlayedDate(This,playedDate) \ + (This)->lpVtbl -> put_PlayedDate(This,playedDate) + +#define IITFileOrCDTrack_get_PlayOrderIndex(This,index) \ + (This)->lpVtbl -> get_PlayOrderIndex(This,index) + +#define IITFileOrCDTrack_get_Rating(This,rating) \ + (This)->lpVtbl -> get_Rating(This,rating) + +#define IITFileOrCDTrack_put_Rating(This,rating) \ + (This)->lpVtbl -> put_Rating(This,rating) + +#define IITFileOrCDTrack_get_SampleRate(This,sampleRate) \ + (This)->lpVtbl -> get_SampleRate(This,sampleRate) + +#define IITFileOrCDTrack_get_Size(This,size) \ + (This)->lpVtbl -> get_Size(This,size) + +#define IITFileOrCDTrack_get_Start(This,start) \ + (This)->lpVtbl -> get_Start(This,start) + +#define IITFileOrCDTrack_put_Start(This,start) \ + (This)->lpVtbl -> put_Start(This,start) + +#define IITFileOrCDTrack_get_Time(This,time) \ + (This)->lpVtbl -> get_Time(This,time) + +#define IITFileOrCDTrack_get_TrackCount(This,trackCount) \ + (This)->lpVtbl -> get_TrackCount(This,trackCount) + +#define IITFileOrCDTrack_put_TrackCount(This,trackCount) \ + (This)->lpVtbl -> put_TrackCount(This,trackCount) + +#define IITFileOrCDTrack_get_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> get_TrackNumber(This,trackNumber) + +#define IITFileOrCDTrack_put_TrackNumber(This,trackNumber) \ + (This)->lpVtbl -> put_TrackNumber(This,trackNumber) + +#define IITFileOrCDTrack_get_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment) + +#define IITFileOrCDTrack_put_VolumeAdjustment(This,volumeAdjustment) \ + (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment) + +#define IITFileOrCDTrack_get_Year(This,year) \ + (This)->lpVtbl -> get_Year(This,year) + +#define IITFileOrCDTrack_put_Year(This,year) \ + (This)->lpVtbl -> put_Year(This,year) + +#define IITFileOrCDTrack_get_Artwork(This,iArtworkCollection) \ + (This)->lpVtbl -> get_Artwork(This,iArtworkCollection) + + +#define IITFileOrCDTrack_get_Location(This,location) \ + (This)->lpVtbl -> get_Location(This,location) + +#define IITFileOrCDTrack_UpdateInfoFromFile(This) \ + (This)->lpVtbl -> UpdateInfoFromFile(This) + +#define IITFileOrCDTrack_get_Podcast(This,isPodcast) \ + (This)->lpVtbl -> get_Podcast(This,isPodcast) + +#define IITFileOrCDTrack_UpdatePodcastFeed(This) \ + (This)->lpVtbl -> UpdatePodcastFeed(This) + +#define IITFileOrCDTrack_get_RememberBookmark(This,rememberBookmark) \ + (This)->lpVtbl -> get_RememberBookmark(This,rememberBookmark) + +#define IITFileOrCDTrack_put_RememberBookmark(This,shouldRememberBookmark) \ + (This)->lpVtbl -> put_RememberBookmark(This,shouldRememberBookmark) + +#define IITFileOrCDTrack_get_ExcludeFromShuffle(This,excludeFromShuffle) \ + (This)->lpVtbl -> get_ExcludeFromShuffle(This,excludeFromShuffle) + +#define IITFileOrCDTrack_put_ExcludeFromShuffle(This,shouldExcludeFromShuffle) \ + (This)->lpVtbl -> put_ExcludeFromShuffle(This,shouldExcludeFromShuffle) + +#define IITFileOrCDTrack_get_Lyrics(This,lyrics) \ + (This)->lpVtbl -> get_Lyrics(This,lyrics) + +#define IITFileOrCDTrack_put_Lyrics(This,lyrics) \ + (This)->lpVtbl -> put_Lyrics(This,lyrics) + +#define IITFileOrCDTrack_get_Category(This,category) \ + (This)->lpVtbl -> get_Category(This,category) + +#define IITFileOrCDTrack_put_Category(This,category) \ + (This)->lpVtbl -> put_Category(This,category) + +#define IITFileOrCDTrack_get_Description(This,description) \ + (This)->lpVtbl -> get_Description(This,description) + +#define IITFileOrCDTrack_put_Description(This,description) \ + (This)->lpVtbl -> put_Description(This,description) + +#define IITFileOrCDTrack_get_LongDescription(This,longDescription) \ + (This)->lpVtbl -> get_LongDescription(This,longDescription) + +#define IITFileOrCDTrack_put_LongDescription(This,longDescription) \ + (This)->lpVtbl -> put_LongDescription(This,longDescription) + +#define IITFileOrCDTrack_get_BookmarkTime(This,bookmarkTime) \ + (This)->lpVtbl -> get_BookmarkTime(This,bookmarkTime) + +#define IITFileOrCDTrack_put_BookmarkTime(This,bookmarkTime) \ + (This)->lpVtbl -> put_BookmarkTime(This,bookmarkTime) + +#define IITFileOrCDTrack_get_VideoKind(This,videoKind) \ + (This)->lpVtbl -> get_VideoKind(This,videoKind) + +#define IITFileOrCDTrack_put_VideoKind(This,videoKind) \ + (This)->lpVtbl -> put_VideoKind(This,videoKind) + +#define IITFileOrCDTrack_get_SkippedCount(This,skippedCount) \ + (This)->lpVtbl -> get_SkippedCount(This,skippedCount) + +#define IITFileOrCDTrack_put_SkippedCount(This,skippedCount) \ + (This)->lpVtbl -> put_SkippedCount(This,skippedCount) + +#define IITFileOrCDTrack_get_SkippedDate(This,skippedDate) \ + (This)->lpVtbl -> get_SkippedDate(This,skippedDate) + +#define IITFileOrCDTrack_put_SkippedDate(This,skippedDate) \ + (This)->lpVtbl -> put_SkippedDate(This,skippedDate) + +#define IITFileOrCDTrack_get_PartOfGaplessAlbum(This,partOfGaplessAlbum) \ + (This)->lpVtbl -> get_PartOfGaplessAlbum(This,partOfGaplessAlbum) + +#define IITFileOrCDTrack_put_PartOfGaplessAlbum(This,shouldBePartOfGaplessAlbum) \ + (This)->lpVtbl -> put_PartOfGaplessAlbum(This,shouldBePartOfGaplessAlbum) + +#define IITFileOrCDTrack_get_AlbumArtist(This,albumArtist) \ + (This)->lpVtbl -> get_AlbumArtist(This,albumArtist) + +#define IITFileOrCDTrack_put_AlbumArtist(This,albumArtist) \ + (This)->lpVtbl -> put_AlbumArtist(This,albumArtist) + +#define IITFileOrCDTrack_get_Show(This,showName) \ + (This)->lpVtbl -> get_Show(This,showName) + +#define IITFileOrCDTrack_put_Show(This,showName) \ + (This)->lpVtbl -> put_Show(This,showName) + +#define IITFileOrCDTrack_get_SeasonNumber(This,seasonNumber) \ + (This)->lpVtbl -> get_SeasonNumber(This,seasonNumber) + +#define IITFileOrCDTrack_put_SeasonNumber(This,seasonNumber) \ + (This)->lpVtbl -> put_SeasonNumber(This,seasonNumber) + +#define IITFileOrCDTrack_get_EpisodeID(This,episodeID) \ + (This)->lpVtbl -> get_EpisodeID(This,episodeID) + +#define IITFileOrCDTrack_put_EpisodeID(This,episodeID) \ + (This)->lpVtbl -> put_EpisodeID(This,episodeID) + +#define IITFileOrCDTrack_get_EpisodeNumber(This,episodeNumber) \ + (This)->lpVtbl -> get_EpisodeNumber(This,episodeNumber) + +#define IITFileOrCDTrack_put_EpisodeNumber(This,episodeNumber) \ + (This)->lpVtbl -> put_EpisodeNumber(This,episodeNumber) + +#define IITFileOrCDTrack_get_Size64High(This,sizeHigh) \ + (This)->lpVtbl -> get_Size64High(This,sizeHigh) + +#define IITFileOrCDTrack_get_Size64Low(This,sizeLow) \ + (This)->lpVtbl -> get_Size64Low(This,sizeLow) + +#define IITFileOrCDTrack_get_Unplayed(This,isUnplayed) \ + (This)->lpVtbl -> get_Unplayed(This,isUnplayed) + +#define IITFileOrCDTrack_put_Unplayed(This,shouldBeUnplayed) \ + (This)->lpVtbl -> put_Unplayed(This,shouldBeUnplayed) + +#define IITFileOrCDTrack_get_SortAlbum(This,album) \ + (This)->lpVtbl -> get_SortAlbum(This,album) + +#define IITFileOrCDTrack_put_SortAlbum(This,album) \ + (This)->lpVtbl -> put_SortAlbum(This,album) + +#define IITFileOrCDTrack_get_SortAlbumArtist(This,albumArtist) \ + (This)->lpVtbl -> get_SortAlbumArtist(This,albumArtist) + +#define IITFileOrCDTrack_put_SortAlbumArtist(This,albumArtist) \ + (This)->lpVtbl -> put_SortAlbumArtist(This,albumArtist) + +#define IITFileOrCDTrack_get_SortArtist(This,artist) \ + (This)->lpVtbl -> get_SortArtist(This,artist) + +#define IITFileOrCDTrack_put_SortArtist(This,artist) \ + (This)->lpVtbl -> put_SortArtist(This,artist) + +#define IITFileOrCDTrack_get_SortComposer(This,composer) \ + (This)->lpVtbl -> get_SortComposer(This,composer) + +#define IITFileOrCDTrack_put_SortComposer(This,composer) \ + (This)->lpVtbl -> put_SortComposer(This,composer) + +#define IITFileOrCDTrack_get_SortName(This,name) \ + (This)->lpVtbl -> get_SortName(This,name) + +#define IITFileOrCDTrack_put_SortName(This,name) \ + (This)->lpVtbl -> put_SortName(This,name) + +#define IITFileOrCDTrack_get_SortShow(This,showName) \ + (This)->lpVtbl -> get_SortShow(This,showName) + +#define IITFileOrCDTrack_put_SortShow(This,showName) \ + (This)->lpVtbl -> put_SortShow(This,showName) + +#define IITFileOrCDTrack_Reveal(This) \ + (This)->lpVtbl -> Reveal(This) + +#define IITFileOrCDTrack_get_AlbumRating(This,rating) \ + (This)->lpVtbl -> get_AlbumRating(This,rating) + +#define IITFileOrCDTrack_put_AlbumRating(This,rating) \ + (This)->lpVtbl -> put_AlbumRating(This,rating) + +#define IITFileOrCDTrack_get_AlbumRatingKind(This,ratingKind) \ + (This)->lpVtbl -> get_AlbumRatingKind(This,ratingKind) + +#define IITFileOrCDTrack_get_RatingKind(This,ratingKind) \ + (This)->lpVtbl -> get_RatingKind(This,ratingKind) + +#define IITFileOrCDTrack_get_Playlists(This,iPlaylistCollection) \ + (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Location_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *location); + + +void __RPC_STUB IITFileOrCDTrack_get_Location_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdateInfoFromFile_Proxy( + IITFileOrCDTrack * This); + + +void __RPC_STUB IITFileOrCDTrack_UpdateInfoFromFile_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Podcast_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isPodcast); + + +void __RPC_STUB IITFileOrCDTrack_get_Podcast_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdatePodcastFeed_Proxy( + IITFileOrCDTrack * This); + + +void __RPC_STUB IITFileOrCDTrack_UpdatePodcastFeed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_RememberBookmark_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *rememberBookmark); + + +void __RPC_STUB IITFileOrCDTrack_get_RememberBookmark_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_RememberBookmark_Proxy( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldRememberBookmark); + + +void __RPC_STUB IITFileOrCDTrack_put_RememberBookmark_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_ExcludeFromShuffle_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle); + + +void __RPC_STUB IITFileOrCDTrack_get_ExcludeFromShuffle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_ExcludeFromShuffle_Proxy( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle); + + +void __RPC_STUB IITFileOrCDTrack_put_ExcludeFromShuffle_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Lyrics_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *lyrics); + + +void __RPC_STUB IITFileOrCDTrack_get_Lyrics_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Lyrics_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR lyrics); + + +void __RPC_STUB IITFileOrCDTrack_put_Lyrics_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Category_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *category); + + +void __RPC_STUB IITFileOrCDTrack_get_Category_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Category_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR category); + + +void __RPC_STUB IITFileOrCDTrack_put_Category_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Description_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *description); + + +void __RPC_STUB IITFileOrCDTrack_get_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Description_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR description); + + +void __RPC_STUB IITFileOrCDTrack_put_Description_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_LongDescription_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *longDescription); + + +void __RPC_STUB IITFileOrCDTrack_get_LongDescription_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_LongDescription_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR longDescription); + + +void __RPC_STUB IITFileOrCDTrack_put_LongDescription_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_BookmarkTime_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *bookmarkTime); + + +void __RPC_STUB IITFileOrCDTrack_get_BookmarkTime_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_BookmarkTime_Proxy( + IITFileOrCDTrack * This, + /* [in] */ long bookmarkTime); + + +void __RPC_STUB IITFileOrCDTrack_put_BookmarkTime_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_VideoKind_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ ITVideoKind *videoKind); + + +void __RPC_STUB IITFileOrCDTrack_get_VideoKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_VideoKind_Proxy( + IITFileOrCDTrack * This, + /* [in] */ ITVideoKind videoKind); + + +void __RPC_STUB IITFileOrCDTrack_put_VideoKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SkippedCount_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *skippedCount); + + +void __RPC_STUB IITFileOrCDTrack_get_SkippedCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SkippedCount_Proxy( + IITFileOrCDTrack * This, + /* [in] */ long skippedCount); + + +void __RPC_STUB IITFileOrCDTrack_put_SkippedCount_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SkippedDate_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ DATE *skippedDate); + + +void __RPC_STUB IITFileOrCDTrack_get_SkippedDate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SkippedDate_Proxy( + IITFileOrCDTrack * This, + /* [in] */ DATE skippedDate); + + +void __RPC_STUB IITFileOrCDTrack_put_SkippedDate_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_PartOfGaplessAlbum_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum); + + +void __RPC_STUB IITFileOrCDTrack_get_PartOfGaplessAlbum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_PartOfGaplessAlbum_Proxy( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum); + + +void __RPC_STUB IITFileOrCDTrack_put_PartOfGaplessAlbum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumArtist_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *albumArtist); + + +void __RPC_STUB IITFileOrCDTrack_get_AlbumArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_AlbumArtist_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR albumArtist); + + +void __RPC_STUB IITFileOrCDTrack_put_AlbumArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Show_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *showName); + + +void __RPC_STUB IITFileOrCDTrack_get_Show_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Show_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR showName); + + +void __RPC_STUB IITFileOrCDTrack_put_Show_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SeasonNumber_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *seasonNumber); + + +void __RPC_STUB IITFileOrCDTrack_get_SeasonNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SeasonNumber_Proxy( + IITFileOrCDTrack * This, + /* [in] */ long seasonNumber); + + +void __RPC_STUB IITFileOrCDTrack_put_SeasonNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_EpisodeID_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *episodeID); + + +void __RPC_STUB IITFileOrCDTrack_get_EpisodeID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_EpisodeID_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR episodeID); + + +void __RPC_STUB IITFileOrCDTrack_put_EpisodeID_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_EpisodeNumber_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *episodeNumber); + + +void __RPC_STUB IITFileOrCDTrack_get_EpisodeNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_EpisodeNumber_Proxy( + IITFileOrCDTrack * This, + /* [in] */ long episodeNumber); + + +void __RPC_STUB IITFileOrCDTrack_put_EpisodeNumber_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Size64High_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sizeHigh); + + +void __RPC_STUB IITFileOrCDTrack_get_Size64High_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Size64Low_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *sizeLow); + + +void __RPC_STUB IITFileOrCDTrack_get_Size64Low_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Unplayed_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ VARIANT_BOOL *isUnplayed); + + +void __RPC_STUB IITFileOrCDTrack_get_Unplayed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Unplayed_Proxy( + IITFileOrCDTrack * This, + /* [in] */ VARIANT_BOOL shouldBeUnplayed); + + +void __RPC_STUB IITFileOrCDTrack_put_Unplayed_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortAlbum_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *album); + + +void __RPC_STUB IITFileOrCDTrack_get_SortAlbum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortAlbum_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR album); + + +void __RPC_STUB IITFileOrCDTrack_put_SortAlbum_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortAlbumArtist_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *albumArtist); + + +void __RPC_STUB IITFileOrCDTrack_get_SortAlbumArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortAlbumArtist_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR albumArtist); + + +void __RPC_STUB IITFileOrCDTrack_put_SortAlbumArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortArtist_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *artist); + + +void __RPC_STUB IITFileOrCDTrack_get_SortArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortArtist_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR artist); + + +void __RPC_STUB IITFileOrCDTrack_put_SortArtist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortComposer_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *composer); + + +void __RPC_STUB IITFileOrCDTrack_get_SortComposer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortComposer_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR composer); + + +void __RPC_STUB IITFileOrCDTrack_put_SortComposer_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortName_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *name); + + +void __RPC_STUB IITFileOrCDTrack_get_SortName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortName_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR name); + + +void __RPC_STUB IITFileOrCDTrack_put_SortName_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortShow_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ BSTR *showName); + + +void __RPC_STUB IITFileOrCDTrack_get_SortShow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortShow_Proxy( + IITFileOrCDTrack * This, + /* [in] */ BSTR showName); + + +void __RPC_STUB IITFileOrCDTrack_put_SortShow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_Reveal_Proxy( + IITFileOrCDTrack * This); + + +void __RPC_STUB IITFileOrCDTrack_Reveal_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumRating_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ long *rating); + + +void __RPC_STUB IITFileOrCDTrack_get_AlbumRating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_AlbumRating_Proxy( + IITFileOrCDTrack * This, + /* [in] */ long rating); + + +void __RPC_STUB IITFileOrCDTrack_put_AlbumRating_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumRatingKind_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + +void __RPC_STUB IITFileOrCDTrack_get_AlbumRatingKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_RatingKind_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ ITRatingKind *ratingKind); + + +void __RPC_STUB IITFileOrCDTrack_get_RatingKind_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Playlists_Proxy( + IITFileOrCDTrack * This, + /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection); + + +void __RPC_STUB IITFileOrCDTrack_get_Playlists_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITFileOrCDTrack_INTERFACE_DEFINED__ */ + + +#ifndef __IITPlaylistWindow_INTERFACE_DEFINED__ +#define __IITPlaylistWindow_INTERFACE_DEFINED__ + +/* interface IITPlaylistWindow */ +/* [hidden][unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_IITPlaylistWindow; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("349CBB45-2E5A-4822-8E4A-A75555A186F7") + IITPlaylistWindow : public IITWindow + { + public: + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( + /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0; + + virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( + /* [retval][out] */ IITPlaylist **iPlaylist) = 0; + + }; + +#else /* C style interface */ + + typedef struct IITPlaylistWindowVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IITPlaylistWindow * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IITPlaylistWindow * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IITPlaylistWindow * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IITPlaylistWindow * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IITPlaylistWindow * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IITPlaylistWindow * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IITPlaylistWindow * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + IITPlaylistWindow * This, + /* [retval][out] */ BSTR *name); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( + IITPlaylistWindow * This, + /* [retval][out] */ ITWindowKind *kind); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isVisible); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( + IITPlaylistWindow * This, + /* [in] */ VARIANT_BOOL shouldBeVisible); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isResizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMinimized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( + IITPlaylistWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMinimized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximizable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isMaximized); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( + IITPlaylistWindow * This, + /* [in] */ VARIANT_BOOL shouldBeMaximized); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomable); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( + IITPlaylistWindow * This, + /* [retval][out] */ VARIANT_BOOL *isZoomed); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( + IITPlaylistWindow * This, + /* [in] */ VARIANT_BOOL shouldBeZoomed); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( + IITPlaylistWindow * This, + /* [retval][out] */ long *top); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( + IITPlaylistWindow * This, + /* [in] */ long top); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( + IITPlaylistWindow * This, + /* [retval][out] */ long *left); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( + IITPlaylistWindow * This, + /* [in] */ long left); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( + IITPlaylistWindow * This, + /* [retval][out] */ long *bottom); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( + IITPlaylistWindow * This, + /* [in] */ long bottom); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( + IITPlaylistWindow * This, + /* [retval][out] */ long *right); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( + IITPlaylistWindow * This, + /* [in] */ long right); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + IITPlaylistWindow * This, + /* [retval][out] */ long *width); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( + IITPlaylistWindow * This, + /* [in] */ long width); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + IITPlaylistWindow * This, + /* [retval][out] */ long *height); + + /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( + IITPlaylistWindow * This, + /* [in] */ long height); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( + IITPlaylistWindow * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( + IITPlaylistWindow * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + END_INTERFACE + } IITPlaylistWindowVtbl; + + interface IITPlaylistWindow + { + CONST_VTBL struct IITPlaylistWindowVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IITPlaylistWindow_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IITPlaylistWindow_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IITPlaylistWindow_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IITPlaylistWindow_GetTypeInfoCount(This,pctinfo) \ + (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) + +#define IITPlaylistWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) + +#define IITPlaylistWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) + +#define IITPlaylistWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) + + +#define IITPlaylistWindow_get_Name(This,name) \ + (This)->lpVtbl -> get_Name(This,name) + +#define IITPlaylistWindow_get_Kind(This,kind) \ + (This)->lpVtbl -> get_Kind(This,kind) + +#define IITPlaylistWindow_get_Visible(This,isVisible) \ + (This)->lpVtbl -> get_Visible(This,isVisible) + +#define IITPlaylistWindow_put_Visible(This,shouldBeVisible) \ + (This)->lpVtbl -> put_Visible(This,shouldBeVisible) + +#define IITPlaylistWindow_get_Resizable(This,isResizable) \ + (This)->lpVtbl -> get_Resizable(This,isResizable) + +#define IITPlaylistWindow_get_Minimized(This,isMinimized) \ + (This)->lpVtbl -> get_Minimized(This,isMinimized) + +#define IITPlaylistWindow_put_Minimized(This,shouldBeMinimized) \ + (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized) + +#define IITPlaylistWindow_get_Maximizable(This,isMaximizable) \ + (This)->lpVtbl -> get_Maximizable(This,isMaximizable) + +#define IITPlaylistWindow_get_Maximized(This,isMaximized) \ + (This)->lpVtbl -> get_Maximized(This,isMaximized) + +#define IITPlaylistWindow_put_Maximized(This,shouldBeMaximized) \ + (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized) + +#define IITPlaylistWindow_get_Zoomable(This,isZoomable) \ + (This)->lpVtbl -> get_Zoomable(This,isZoomable) + +#define IITPlaylistWindow_get_Zoomed(This,isZoomed) \ + (This)->lpVtbl -> get_Zoomed(This,isZoomed) + +#define IITPlaylistWindow_put_Zoomed(This,shouldBeZoomed) \ + (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed) + +#define IITPlaylistWindow_get_Top(This,top) \ + (This)->lpVtbl -> get_Top(This,top) + +#define IITPlaylistWindow_put_Top(This,top) \ + (This)->lpVtbl -> put_Top(This,top) + +#define IITPlaylistWindow_get_Left(This,left) \ + (This)->lpVtbl -> get_Left(This,left) + +#define IITPlaylistWindow_put_Left(This,left) \ + (This)->lpVtbl -> put_Left(This,left) + +#define IITPlaylistWindow_get_Bottom(This,bottom) \ + (This)->lpVtbl -> get_Bottom(This,bottom) + +#define IITPlaylistWindow_put_Bottom(This,bottom) \ + (This)->lpVtbl -> put_Bottom(This,bottom) + +#define IITPlaylistWindow_get_Right(This,right) \ + (This)->lpVtbl -> get_Right(This,right) + +#define IITPlaylistWindow_put_Right(This,right) \ + (This)->lpVtbl -> put_Right(This,right) + +#define IITPlaylistWindow_get_Width(This,width) \ + (This)->lpVtbl -> get_Width(This,width) + +#define IITPlaylistWindow_put_Width(This,width) \ + (This)->lpVtbl -> put_Width(This,width) + +#define IITPlaylistWindow_get_Height(This,height) \ + (This)->lpVtbl -> get_Height(This,height) + +#define IITPlaylistWindow_put_Height(This,height) \ + (This)->lpVtbl -> put_Height(This,height) + + +#define IITPlaylistWindow_get_SelectedTracks(This,iTrackCollection) \ + (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection) + +#define IITPlaylistWindow_get_Playlist(This,iPlaylist) \ + (This)->lpVtbl -> get_Playlist(This,iPlaylist) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_SelectedTracks_Proxy( + IITPlaylistWindow * This, + /* [retval][out] */ IITTrackCollection **iTrackCollection); + + +void __RPC_STUB IITPlaylistWindow_get_SelectedTracks_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_Playlist_Proxy( + IITPlaylistWindow * This, + /* [retval][out] */ IITPlaylist **iPlaylist); + + +void __RPC_STUB IITPlaylistWindow_get_Playlist_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IITPlaylistWindow_INTERFACE_DEFINED__ */ + +#endif /* __iTunesLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c new file mode 100644 index 0000000000..9402c13ee4 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c @@ -0,0 +1,175 @@ + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 6.00.0366 */ +/* at Wed Jun 25 17:02:20 2008 + */ +/* Compiler settings for iTunesCOMInterface.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, LIBID_iTunesLib,0x9E93C96F,0xCF0D,0x43f6,0x8B,0xA8,0xB8,0x07,0xA3,0x37,0x07,0x12); + + +MIDL_DEFINE_GUID(IID, IID_IITObject,0x9FAB0E27,0x70D7,0x4e3a,0x99,0x65,0xB0,0xC8,0xB8,0x86,0x9B,0xB6); + + +MIDL_DEFINE_GUID(IID, IID_IITSource,0xAEC1C4D3,0xAEF1,0x4255,0xB8,0x92,0x3E,0x3D,0x13,0xAD,0xFD,0xF9); + + +MIDL_DEFINE_GUID(IID, IID_IITSourceCollection,0x2FF6CE20,0xFF87,0x4183,0xB0,0xB3,0xF3,0x23,0xD0,0x47,0xAF,0x41); + + +MIDL_DEFINE_GUID(IID, IID_IITEncoder,0x1CF95A1C,0x55FE,0x4f45,0xA2,0xD3,0x85,0xAC,0x6C,0x50,0x4A,0x73); + + +MIDL_DEFINE_GUID(IID, IID_IITEncoderCollection,0x8862BCA9,0x168D,0x4549,0xA9,0xD5,0xAD,0xB3,0x5E,0x55,0x3B,0xA6); + + +MIDL_DEFINE_GUID(IID, IID_IITEQPreset,0x5BE75F4F,0x68FA,0x4212,0xAC,0xB7,0xBE,0x44,0xEA,0x56,0x97,0x59); + + +MIDL_DEFINE_GUID(IID, IID_IITEQPresetCollection,0xAEF4D111,0x3331,0x48da,0xB0,0xC2,0xB4,0x68,0xD5,0xD6,0x1D,0x08); + + +MIDL_DEFINE_GUID(IID, IID_IITPlaylist,0x3D5E072F,0x2A77,0x4b17,0x9E,0x73,0xE0,0x3B,0x77,0xCC,0xCC,0xA9); + + +MIDL_DEFINE_GUID(IID, IID_IITOperationStatus,0x206479C9,0xFE32,0x4f9b,0xA1,0x8A,0x47,0x5A,0xC9,0x39,0xB4,0x79); + + +MIDL_DEFINE_GUID(IID, IID_IITConvertOperationStatus,0x7063AAF6,0xABA0,0x493b,0xB4,0xFC,0x92,0x0A,0x9F,0x10,0x58,0x75); + + +MIDL_DEFINE_GUID(IID, IID_IITLibraryPlaylist,0x53AE1704,0x491C,0x4289,0x94,0xA0,0x95,0x88,0x15,0x67,0x5A,0x3D); + + +MIDL_DEFINE_GUID(IID, IID_IITUserPlaylist,0x0A504DED,0xA0B5,0x465a,0x8A,0x94,0x50,0xE2,0x0D,0x7D,0xF6,0x92); + + +MIDL_DEFINE_GUID(IID, IID_IITTrack,0x4CB0915D,0x1E54,0x4727,0xBA,0xF3,0xCE,0x6C,0xC9,0xA2,0x25,0xA1); + + +MIDL_DEFINE_GUID(IID, IID_IITTrackCollection,0x755D76F1,0x6B85,0x4ce4,0x8F,0x5F,0xF8,0x8D,0x97,0x43,0xDC,0xD8); + + +MIDL_DEFINE_GUID(IID, IID_IITVisual,0x340F3315,0xED72,0x4c09,0x9A,0xCF,0x21,0xEB,0x4B,0xDF,0x99,0x31); + + +MIDL_DEFINE_GUID(IID, IID_IITVisualCollection,0x88A4CCDD,0x114F,0x4043,0xB6,0x9B,0x84,0xD4,0xE6,0x27,0x49,0x57); + + +MIDL_DEFINE_GUID(IID, IID_IITWindow,0x370D7BE0,0x3A89,0x4a42,0xB9,0x02,0xC7,0x5F,0xC1,0x38,0xBE,0x09); + + +MIDL_DEFINE_GUID(IID, IID_IITBrowserWindow,0xC999F455,0xC4D5,0x4aa4,0x82,0x77,0xF9,0x97,0x53,0x69,0x99,0x74); + + +MIDL_DEFINE_GUID(IID, IID_IITWindowCollection,0x3D8DE381,0x6C0E,0x481f,0xA8,0x65,0xE2,0x38,0x5F,0x59,0xFA,0x43); + + +MIDL_DEFINE_GUID(IID, IID_IiTunes,0x9DD6680B,0x3EDC,0x40db,0xA7,0x71,0xE6,0xFE,0x48,0x32,0xE3,0x4A); + + +MIDL_DEFINE_GUID(IID, DIID__IiTunesEvents,0x5846EB78,0x317E,0x4b6f,0xB0,0xC3,0x11,0xEE,0x8C,0x8F,0xEE,0xF2); + + +MIDL_DEFINE_GUID(IID, DIID__IITConvertOperationStatusEvents,0x5C47A705,0x8E8A,0x45a1,0x9E,0xED,0x71,0xC9,0x93,0xF0,0xBF,0x60); + + +MIDL_DEFINE_GUID(CLSID, CLSID_iTunesApp,0xDC0C2640,0x1415,0x4644,0x87,0x5C,0x6F,0x4D,0x76,0x98,0x39,0xBA); + + +MIDL_DEFINE_GUID(CLSID, CLSID_iTunesConvertOperationStatus,0xD06596AD,0xC900,0x41b2,0xBC,0x68,0x1B,0x48,0x64,0x50,0xFC,0x56); + + +MIDL_DEFINE_GUID(IID, IID_IITArtwork,0xD0A6C1F8,0xBF3D,0x4cd8,0xAC,0x47,0xFE,0x32,0xBD,0xD1,0x72,0x57); + + +MIDL_DEFINE_GUID(IID, IID_IITArtworkCollection,0xBF2742D7,0x418C,0x4858,0x9A,0xF9,0x29,0x81,0xB0,0x62,0xD2,0x3E); + + +MIDL_DEFINE_GUID(IID, IID_IITURLTrack,0x1116E3B5,0x29FD,0x4393,0xA7,0xBD,0x45,0x4E,0x5E,0x32,0x79,0x00); + + +MIDL_DEFINE_GUID(IID, IID_IITAudioCDPlaylist,0xCF496DF3,0x0FED,0x4d7d,0x9B,0xD8,0x52,0x9B,0x6E,0x8A,0x08,0x2E); + + +MIDL_DEFINE_GUID(IID, IID_IITPlaylistCollection,0xFF194254,0x909D,0x4437,0x9C,0x50,0x3A,0xAC,0x2A,0xE6,0x30,0x5C); + + +MIDL_DEFINE_GUID(IID, IID_IITIPodSource,0xCF4D8ACE,0x1720,0x4fb9,0xB0,0xAE,0x98,0x77,0x24,0x9E,0x89,0xB0); + + +MIDL_DEFINE_GUID(IID, IID_IITFileOrCDTrack,0x00D7FE99,0x7868,0x4cc7,0xAD,0x9E,0xAC,0xFD,0x70,0xD0,0x95,0x66); + + +MIDL_DEFINE_GUID(IID, IID_IITPlaylistWindow,0x349CBB45,0x2E5A,0x4822,0x8E,0x4A,0xA7,0x55,0x55,0xA1,0x86,0xF7); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/src/projectM-iTunes-VizKit/source/win/resource.h b/src/projectM-iTunes-VizKit/source/win/resource.h new file mode 100644 index 0000000000..c111f8a911 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/resource.h @@ -0,0 +1,26 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by VizKit.rc +// +#define IDR_DEVROYEFONT 134 +#define IDD_DIALOG1 1000 +#define IDC_COMBO1 1001 +#define IDD_DIALOG2 1002 +#define IDC_BUTTON1 1002 +#define IDD_DIALOG3 1003 +#define IDC_RICHEDIT1 1003 +#define IDC_CHECK1 1004 +#define IDC_CHECK_FOR_UPDATE 1004 +#define IDR_PNG_SPOT 1005 +#define IDD_DIALOG4 1006 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 1007 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1005 +#define _APS_NEXT_SYMED_VALUE 1000 +#endif +#endif diff --git a/src/projectM-iTunes-VizKit/source/win/wglext.h b/src/projectM-iTunes-VizKit/source/win/wglext.h new file mode 100644 index 0000000000..e7195b3d75 --- /dev/null +++ b/src/projectM-iTunes-VizKit/source/win/wglext.h @@ -0,0 +1,638 @@ +#ifndef __wglext_h_ +#define __wglext_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** License Applicability. Except to the extent portions of this file are +** made subject to an alternative license as permitted in the SGI Free +** Software License B, Version 1.1 (the "License"), the contents of this +** file are subject only to the provisions of the License. You may not use +** this file except in compliance with the License. You may obtain a copy +** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** +** http://oss.sgi.com/projects/FreeB +** +** Note that, as provided in the License, the Software is distributed on an +** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** +** Original Code. The Original Code is: OpenGL Sample Implementation, +** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc. +** Copyright in any portions created by third parties is as indicated +** elsewhere herein. All Rights Reserved. +** +** Additional Notice Provisions: This software was created using the +** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has +** not been independently verified as being compliant with the OpenGL(R) +** version 1.2.1 Specification. +*/ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +/*************************************************************/ + +/* Header file version number */ +/* wglext.h last updated 2006/08/17 */ +/* Current version at http://www.opengl.org/registry/ */ +#define WGL_WGLEXT_VERSION 8 + +#ifndef WGL_ARB_buffer_region +#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 +#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 +#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 +#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 +#endif + +#ifndef WGL_ARB_multisample +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 +#endif + +#ifndef WGL_ARB_extensions_string +#endif + +#ifndef WGL_ARB_pixel_format +#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 +#define WGL_DRAW_TO_WINDOW_ARB 0x2001 +#define WGL_DRAW_TO_BITMAP_ARB 0x2002 +#define WGL_ACCELERATION_ARB 0x2003 +#define WGL_NEED_PALETTE_ARB 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 +#define WGL_SWAP_METHOD_ARB 0x2007 +#define WGL_NUMBER_OVERLAYS_ARB 0x2008 +#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 +#define WGL_TRANSPARENT_ARB 0x200A +#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 +#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 +#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 +#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A +#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B +#define WGL_SHARE_DEPTH_ARB 0x200C +#define WGL_SHARE_STENCIL_ARB 0x200D +#define WGL_SHARE_ACCUM_ARB 0x200E +#define WGL_SUPPORT_GDI_ARB 0x200F +#define WGL_SUPPORT_OPENGL_ARB 0x2010 +#define WGL_DOUBLE_BUFFER_ARB 0x2011 +#define WGL_STEREO_ARB 0x2012 +#define WGL_PIXEL_TYPE_ARB 0x2013 +#define WGL_COLOR_BITS_ARB 0x2014 +#define WGL_RED_BITS_ARB 0x2015 +#define WGL_RED_SHIFT_ARB 0x2016 +#define WGL_GREEN_BITS_ARB 0x2017 +#define WGL_GREEN_SHIFT_ARB 0x2018 +#define WGL_BLUE_BITS_ARB 0x2019 +#define WGL_BLUE_SHIFT_ARB 0x201A +#define WGL_ALPHA_BITS_ARB 0x201B +#define WGL_ALPHA_SHIFT_ARB 0x201C +#define WGL_ACCUM_BITS_ARB 0x201D +#define WGL_ACCUM_RED_BITS_ARB 0x201E +#define WGL_ACCUM_GREEN_BITS_ARB 0x201F +#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 +#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 +#define WGL_DEPTH_BITS_ARB 0x2022 +#define WGL_STENCIL_BITS_ARB 0x2023 +#define WGL_AUX_BUFFERS_ARB 0x2024 +#define WGL_NO_ACCELERATION_ARB 0x2025 +#define WGL_GENERIC_ACCELERATION_ARB 0x2026 +#define WGL_FULL_ACCELERATION_ARB 0x2027 +#define WGL_SWAP_EXCHANGE_ARB 0x2028 +#define WGL_SWAP_COPY_ARB 0x2029 +#define WGL_SWAP_UNDEFINED_ARB 0x202A +#define WGL_TYPE_RGBA_ARB 0x202B +#define WGL_TYPE_COLORINDEX_ARB 0x202C +#endif + +#ifndef WGL_ARB_make_current_read +#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 +#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 +#endif + +#ifndef WGL_ARB_pbuffer +#define WGL_DRAW_TO_PBUFFER_ARB 0x202D +#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E +#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 +#define WGL_PBUFFER_LARGEST_ARB 0x2033 +#define WGL_PBUFFER_WIDTH_ARB 0x2034 +#define WGL_PBUFFER_HEIGHT_ARB 0x2035 +#define WGL_PBUFFER_LOST_ARB 0x2036 +#endif + +#ifndef WGL_ARB_render_texture +#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 +#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 +#define WGL_TEXTURE_FORMAT_ARB 0x2072 +#define WGL_TEXTURE_TARGET_ARB 0x2073 +#define WGL_MIPMAP_TEXTURE_ARB 0x2074 +#define WGL_TEXTURE_RGB_ARB 0x2075 +#define WGL_TEXTURE_RGBA_ARB 0x2076 +#define WGL_NO_TEXTURE_ARB 0x2077 +#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 +#define WGL_TEXTURE_1D_ARB 0x2079 +#define WGL_TEXTURE_2D_ARB 0x207A +#define WGL_MIPMAP_LEVEL_ARB 0x207B +#define WGL_CUBE_MAP_FACE_ARB 0x207C +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 +#define WGL_FRONT_LEFT_ARB 0x2083 +#define WGL_FRONT_RIGHT_ARB 0x2084 +#define WGL_BACK_LEFT_ARB 0x2085 +#define WGL_BACK_RIGHT_ARB 0x2086 +#define WGL_AUX0_ARB 0x2087 +#define WGL_AUX1_ARB 0x2088 +#define WGL_AUX2_ARB 0x2089 +#define WGL_AUX3_ARB 0x208A +#define WGL_AUX4_ARB 0x208B +#define WGL_AUX5_ARB 0x208C +#define WGL_AUX6_ARB 0x208D +#define WGL_AUX7_ARB 0x208E +#define WGL_AUX8_ARB 0x208F +#define WGL_AUX9_ARB 0x2090 +#endif + +#ifndef WGL_ARB_pixel_format_float +#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 +#endif + +#ifndef WGL_EXT_make_current_read +#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 +#endif + +#ifndef WGL_EXT_pixel_format +#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 +#define WGL_DRAW_TO_WINDOW_EXT 0x2001 +#define WGL_DRAW_TO_BITMAP_EXT 0x2002 +#define WGL_ACCELERATION_EXT 0x2003 +#define WGL_NEED_PALETTE_EXT 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 +#define WGL_SWAP_METHOD_EXT 0x2007 +#define WGL_NUMBER_OVERLAYS_EXT 0x2008 +#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 +#define WGL_TRANSPARENT_EXT 0x200A +#define WGL_TRANSPARENT_VALUE_EXT 0x200B +#define WGL_SHARE_DEPTH_EXT 0x200C +#define WGL_SHARE_STENCIL_EXT 0x200D +#define WGL_SHARE_ACCUM_EXT 0x200E +#define WGL_SUPPORT_GDI_EXT 0x200F +#define WGL_SUPPORT_OPENGL_EXT 0x2010 +#define WGL_DOUBLE_BUFFER_EXT 0x2011 +#define WGL_STEREO_EXT 0x2012 +#define WGL_PIXEL_TYPE_EXT 0x2013 +#define WGL_COLOR_BITS_EXT 0x2014 +#define WGL_RED_BITS_EXT 0x2015 +#define WGL_RED_SHIFT_EXT 0x2016 +#define WGL_GREEN_BITS_EXT 0x2017 +#define WGL_GREEN_SHIFT_EXT 0x2018 +#define WGL_BLUE_BITS_EXT 0x2019 +#define WGL_BLUE_SHIFT_EXT 0x201A +#define WGL_ALPHA_BITS_EXT 0x201B +#define WGL_ALPHA_SHIFT_EXT 0x201C +#define WGL_ACCUM_BITS_EXT 0x201D +#define WGL_ACCUM_RED_BITS_EXT 0x201E +#define WGL_ACCUM_GREEN_BITS_EXT 0x201F +#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 +#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 +#define WGL_DEPTH_BITS_EXT 0x2022 +#define WGL_STENCIL_BITS_EXT 0x2023 +#define WGL_AUX_BUFFERS_EXT 0x2024 +#define WGL_NO_ACCELERATION_EXT 0x2025 +#define WGL_GENERIC_ACCELERATION_EXT 0x2026 +#define WGL_FULL_ACCELERATION_EXT 0x2027 +#define WGL_SWAP_EXCHANGE_EXT 0x2028 +#define WGL_SWAP_COPY_EXT 0x2029 +#define WGL_SWAP_UNDEFINED_EXT 0x202A +#define WGL_TYPE_RGBA_EXT 0x202B +#define WGL_TYPE_COLORINDEX_EXT 0x202C +#endif + +#ifndef WGL_EXT_pbuffer +#define WGL_DRAW_TO_PBUFFER_EXT 0x202D +#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E +#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 +#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 +#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 +#define WGL_PBUFFER_LARGEST_EXT 0x2033 +#define WGL_PBUFFER_WIDTH_EXT 0x2034 +#define WGL_PBUFFER_HEIGHT_EXT 0x2035 +#endif + +#ifndef WGL_EXT_depth_float +#define WGL_DEPTH_FLOAT_EXT 0x2040 +#endif + +#ifndef WGL_3DFX_multisample +#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 +#define WGL_SAMPLES_3DFX 0x2061 +#endif + +#ifndef WGL_EXT_multisample +#define WGL_SAMPLE_BUFFERS_EXT 0x2041 +#define WGL_SAMPLES_EXT 0x2042 +#endif + +#ifndef WGL_I3D_digital_video_control +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 +#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 +#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 +#endif + +#ifndef WGL_I3D_gamma +#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E +#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F +#endif + +#ifndef WGL_I3D_genlock +#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 +#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045 +#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046 +#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047 +#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 +#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 +#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A +#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B +#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C +#endif + +#ifndef WGL_I3D_image_buffer +#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 +#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 +#endif + +#ifndef WGL_I3D_swap_frame_lock +#endif + +#ifndef WGL_NV_render_depth_texture +#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 +#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 +#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 +#define WGL_DEPTH_COMPONENT_NV 0x20A7 +#endif + +#ifndef WGL_NV_render_texture_rectangle +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 +#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 +#endif + +#ifndef WGL_ATI_pixel_format_float +#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 +#endif + +#ifndef WGL_NV_float_buffer +#define WGL_FLOAT_COMPONENTS_NV 0x20B0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 +#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 +#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 +#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 +#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 +#endif + +#ifndef WGL_3DL_stereo_control +#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 +#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 +#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 +#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 +#endif + + +/*************************************************************/ + +#ifndef WGL_ARB_pbuffer +DECLARE_HANDLE(HPBUFFERARB); +#endif +#ifndef WGL_EXT_pbuffer +DECLARE_HANDLE(HPBUFFEREXT); +#endif + +#ifndef WGL_ARB_buffer_region +#define WGL_ARB_buffer_region 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern HANDLE WINAPI wglCreateBufferRegionARB (HDC, int, UINT); +extern VOID WINAPI wglDeleteBufferRegionARB (HANDLE); +extern BOOL WINAPI wglSaveBufferRegionARB (HANDLE, int, int, int, int); +extern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE, int, int, int, int, int, int); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); +typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); +typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); +typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); +#endif + +#ifndef WGL_ARB_multisample +#define WGL_ARB_multisample 1 +#endif + +#ifndef WGL_ARB_extensions_string +#define WGL_ARB_extensions_string 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern const char * WINAPI wglGetExtensionsStringARB (HDC); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); +#endif + +#ifndef WGL_ARB_pixel_format +#define WGL_ARB_pixel_format 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC, int, int, UINT, const int *, int *); +extern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC, int, int, UINT, const int *, FLOAT *); +extern BOOL WINAPI wglChoosePixelFormatARB (HDC, const int *, const FLOAT *, UINT, int *, UINT *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +#endif + +#ifndef WGL_ARB_make_current_read +#define WGL_ARB_make_current_read 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglMakeContextCurrentARB (HDC, HDC, HGLRC); +extern HDC WINAPI wglGetCurrentReadDCARB (void); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void); +#endif + +#ifndef WGL_ARB_pbuffer +#define WGL_ARB_pbuffer 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC, int, int, int, const int *); +extern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB); +extern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB, HDC); +extern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB); +extern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB, int, int *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); +#endif + +#ifndef WGL_ARB_render_texture +#define WGL_ARB_render_texture 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB, int); +extern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB, int); +extern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB, const int *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList); +#endif + +#ifndef WGL_ARB_pixel_format_float +#define WGL_ARB_pixel_format_float 1 +#endif + +#ifndef WGL_EXT_display_color_table +#define WGL_EXT_display_color_table 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort); +extern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *, GLuint); +extern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort); +extern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length); +typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); +#endif + +#ifndef WGL_EXT_extensions_string +#define WGL_EXT_extensions_string 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern const char * WINAPI wglGetExtensionsStringEXT (void); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); +#endif + +#ifndef WGL_EXT_make_current_read +#define WGL_EXT_make_current_read 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglMakeContextCurrentEXT (HDC, HDC, HGLRC); +extern HDC WINAPI wglGetCurrentReadDCEXT (void); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void); +#endif + +#ifndef WGL_EXT_pbuffer +#define WGL_EXT_pbuffer 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC, int, int, int, const int *); +extern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT); +extern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT, HDC); +extern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT); +extern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT, int, int *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); +#endif + +#ifndef WGL_EXT_pixel_format +#define WGL_EXT_pixel_format 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC, int, int, UINT, int *, int *); +extern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC, int, int, UINT, int *, FLOAT *); +extern BOOL WINAPI wglChoosePixelFormatEXT (HDC, const int *, const FLOAT *, UINT, int *, UINT *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +#endif + +#ifndef WGL_EXT_swap_control +#define WGL_EXT_swap_control 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglSwapIntervalEXT (int); +extern int WINAPI wglGetSwapIntervalEXT (void); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); +typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); +#endif + +#ifndef WGL_EXT_depth_float +#define WGL_EXT_depth_float 1 +#endif + +#ifndef WGL_NV_vertex_array_range +#define WGL_NV_vertex_array_range 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern void* WINAPI wglAllocateMemoryNV (GLsizei, GLfloat, GLfloat, GLfloat); +extern void WINAPI wglFreeMemoryNV (void *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); +typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); +#endif + +#ifndef WGL_3DFX_multisample +#define WGL_3DFX_multisample 1 +#endif + +#ifndef WGL_EXT_multisample +#define WGL_EXT_multisample 1 +#endif + +#ifndef WGL_OML_sync_control +#define WGL_OML_sync_control 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetSyncValuesOML (HDC, INT64 *, INT64 *, INT64 *); +extern BOOL WINAPI wglGetMscRateOML (HDC, INT32 *, INT32 *); +extern INT64 WINAPI wglSwapBuffersMscOML (HDC, INT64, INT64, INT64); +extern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC, int, INT64, INT64, INT64); +extern BOOL WINAPI wglWaitForMscOML (HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *); +extern BOOL WINAPI wglWaitForSbcOML (HDC, INT64, INT64 *, INT64 *, INT64 *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); +typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator); +typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); +typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); +#endif + +#ifndef WGL_I3D_digital_video_control +#define WGL_I3D_digital_video_control 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC, int, int *); +extern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC, int, const int *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); +typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); +#endif + +#ifndef WGL_I3D_gamma +#define WGL_I3D_gamma 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetGammaTableParametersI3D (HDC, int, int *); +extern BOOL WINAPI wglSetGammaTableParametersI3D (HDC, int, const int *); +extern BOOL WINAPI wglGetGammaTableI3D (HDC, int, USHORT *, USHORT *, USHORT *); +extern BOOL WINAPI wglSetGammaTableI3D (HDC, int, const USHORT *, const USHORT *, const USHORT *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); +#endif + +#ifndef WGL_I3D_genlock +#define WGL_I3D_genlock 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglEnableGenlockI3D (HDC); +extern BOOL WINAPI wglDisableGenlockI3D (HDC); +extern BOOL WINAPI wglIsEnabledGenlockI3D (HDC, BOOL *); +extern BOOL WINAPI wglGenlockSourceI3D (HDC, UINT); +extern BOOL WINAPI wglGetGenlockSourceI3D (HDC, UINT *); +extern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC, UINT); +extern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC, UINT *); +extern BOOL WINAPI wglGenlockSampleRateI3D (HDC, UINT); +extern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC, UINT *); +extern BOOL WINAPI wglGenlockSourceDelayI3D (HDC, UINT); +extern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC, UINT *); +extern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC, UINT *, UINT *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge); +typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay); +typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); +#endif + +#ifndef WGL_I3D_image_buffer +#define WGL_I3D_image_buffer 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern LPVOID WINAPI wglCreateImageBufferI3D (HDC, DWORD, UINT); +extern BOOL WINAPI wglDestroyImageBufferI3D (HDC, LPVOID); +extern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT); +extern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC, const LPVOID *, UINT); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); +typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); +typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); +typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count); +#endif + +#ifndef WGL_I3D_swap_frame_lock +#define WGL_I3D_swap_frame_lock 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglEnableFrameLockI3D (void); +extern BOOL WINAPI wglDisableFrameLockI3D (void); +extern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *); +extern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag); +#endif + +#ifndef WGL_I3D_swap_frame_usage +#define WGL_I3D_swap_frame_usage 1 +#ifdef WGL_WGLEXT_PROTOTYPES +extern BOOL WINAPI wglGetFrameUsageI3D (float *); +extern BOOL WINAPI wglBeginFrameTrackingI3D (void); +extern BOOL WINAPI wglEndFrameTrackingI3D (void); +extern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *, DWORD *, float *); +#endif /* WGL_WGLEXT_PROTOTYPES */ +typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage); +typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); +#endif + +#ifndef WGL_ATI_pixel_format_float +#define WGL_ATI_pixel_format_float 1 +#endif + +#ifndef WGL_NV_float_buffer +#define WGL_NV_float_buffer 1 +#endif + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/projectM-iTunes/.gitignore b/src/projectM-iTunes/.gitignore new file mode 100644 index 0000000000..8125a7c407 --- /dev/null +++ b/src/projectM-iTunes/.gitignore @@ -0,0 +1 @@ +iProjectM.pkg diff --git a/src/projectM-iTunes/CVS/Entries b/src/projectM-iTunes/CVS/Entries deleted file mode 100755 index 978d23a476..0000000000 --- a/src/projectM-iTunes/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/Info.plist/1.1/Wed Oct 6 11:02:50 2004// -/PkgInfo/1.1/Wed Oct 6 11:02:47 2004// -/iprojectM.dsp/1.3/Wed Oct 6 17:09:05 2004// -/projectM.icns/1.1/Wed Oct 6 11:02:36 2004// -D/macos//// -D/win32//// -/Makefile.macos/1.7/Sun Oct 17 18:05:20 2004// -/iprojectM.c/1.10/Sun Nov 7 17:29:04 2004// diff --git a/src/projectM-iTunes/CVS/Repository b/src/projectM-iTunes/CVS/Repository deleted file mode 100755 index 425a2f947f..0000000000 --- a/src/projectM-iTunes/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/iprojectM diff --git a/src/projectM-iTunes/CVS/Root b/src/projectM-iTunes/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-iTunes/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-iTunes/Makefile.dist b/src/projectM-iTunes/Makefile.dist deleted file mode 100644 index 07988392ec..0000000000 --- a/src/projectM-iTunes/Makefile.dist +++ /dev/null @@ -1,20 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: diff --git a/src/projectM-iTunes/config.inp b/src/projectM-iTunes/config.inp new file mode 100644 index 0000000000..e0b64770d7 --- /dev/null +++ b/src/projectM-iTunes/config.inp @@ -0,0 +1,21 @@ +# config.inp +# Configuration File for projectM + +Texture Size = 2048 # Size of internal rendering texture +Mesh X = 200 # Width of PerPixel Equation mesh +Mesh Y = 160 # Height of PerPixel Equation mesh +FPS = 60 # Frames Per Second +Fullscreen = false +Window Width = 1920 # startup window width +Window Height = 1280 # startup window height +Beat Sensitivity = 0.9 +Smooth Transition Duration = 5 # in seconds +Preset Duration = 20 # in seconds +Easter Egg Parameter = .1 + +Hard Cut Sensitivity = 10 # Lower to make hard cuts more frequent +Aspect Correction = true # Custom Shape Aspect Correction + +Preset Path = /usr/local/share/projectM/presets # preset location +Title Font = /usr/local/share/projectM/fonts/Vera.ttf +Menu Font = /usr/local/share/projectM/fonts/VeraMono.ttf diff --git a/src/projectM-iTunes/getConfigFilename.cpp b/src/projectM-iTunes/getConfigFilename.cpp new file mode 100644 index 0000000000..193c9f0158 --- /dev/null +++ b/src/projectM-iTunes/getConfigFilename.cpp @@ -0,0 +1,95 @@ +// +// File: getConfigFilename.cpp +// +// Author: fatray +// +// Created on 05 December 2007, 23:39 +// +// FIXME: portability + + +// I hacked include on to silence my compiler, is it valid? +#include +#include +#include +#include "getConfigFilename.h" +#include +#include +#include + +#define PROJECTM_PREFIX "" + +// get the full pathname of a configfile +std::string getConfigFilename() +{ + char num[512]; + FILE *in; + FILE *out; + + char* home; + // FIXME: fixed length buffers are not ideal. + char projectM_home[1024]; + char projectM_config[1024]; + + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config + strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX) + strlen(CONFIG_FILE)] = '\0'; + printf("dir:%s \n", projectM_config); + home = getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if ((in = fopen(projectM_home, "r"))) + { + printf("reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + + printf("trying to create ~/.projectM/config.inp \n"); + + projectM_home[strlen(home) + strlen("/.projectM")] = '\0'; + mkdir(projectM_home, 0755); + + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if((out = fopen(projectM_home, "w"))) + { + if ((in = fopen(projectM_config, "r"))) + { + while(fgets(num, 80, in)!=NULL) + { + fputs(num, out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r"))) + { + printf("created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + + printf("This shouldn't happen, using implementation defaults\n"); + abort(); + } + printf("Cannot find projectM default config, using implementation defaults\n"); + abort(); + } + + printf("Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r"))) + { + printf("Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config); + } + + printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); + abort(); +} + diff --git a/src/projectM-iTunes/getConfigFilename.h b/src/projectM-iTunes/getConfigFilename.h new file mode 100644 index 0000000000..cbf76cf451 --- /dev/null +++ b/src/projectM-iTunes/getConfigFilename.h @@ -0,0 +1,18 @@ +// +// File: getConfigFilename.h +// +// Author: fatray +// +// Created on 05 December 2007, 23:39 +// + +#ifndef _GETCONFIGFILENAME_H +#define _GETCONFIGFILENAME_H + +//FIXME: define this here? in .cpp? or somewhere else? +#define CONFIG_FILE "/share/projectM/config.inp" + +// get the full pathname of a configfile +std::string getConfigFilename(); + +#endif /* _GETCONFIGFILENAME_H */ diff --git a/src/projectM-iTunes/iProjectM-pkg.plist b/src/projectM-iTunes/iProjectM-pkg.plist new file mode 100644 index 0000000000..fd6c88d170 --- /dev/null +++ b/src/projectM-iTunes/iProjectM-pkg.plist @@ -0,0 +1,14 @@ + + + + + + BundleIsVersionChecked + + BundleOverwriteAction + upgrade + RootRelativeBundlePath + Library/iTunes/iTunes Plug-ins/iProjectM.bundle + + + diff --git a/src/projectM-iTunes/iProjectM/projectM Visualizer-Info.plist b/src/projectM-iTunes/iProjectM/projectM Visualizer-Info.plist new file mode 100644 index 0000000000..967713be79 --- /dev/null +++ b/src/projectM-iTunes/iProjectM/projectM Visualizer-Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + iProjectM + CFBundleIconFile + + CFBundleIdentifier + biz.int80.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + iProjectM + CFBundlePackageType + hvpl + CFBundleShortVersionString + 2.2 + CFBundleSignature + hook + CFBundleVersion + 1 + NSHumanReadableCopyright + Copyright © 2015 projectM. All rights reserved. + + diff --git a/src/projectM-iTunes/iTunes Plugin.xcodeproj/project.pbxproj b/src/projectM-iTunes/iTunes Plugin.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c50549674b --- /dev/null +++ b/src/projectM-iTunes/iTunes Plugin.xcodeproj/project.pbxproj @@ -0,0 +1,854 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 16FE0B2121157D62005F170D /* libMilkdropPresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 168F716D21125D85001806E7 /* libMilkdropPresetFactory.a */; }; + 16FE0B2221157D63005F170D /* libNativePresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 168F716F21125D85001806E7 /* libNativePresetFactory.a */; }; + 16FE0B2321157D63005F170D /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 168F716B21125D85001806E7 /* libprojectM.a */; }; + 16FE0B2421157D63005F170D /* libRenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 168F716921125D85001806E7 /* libRenderer.a */; }; + C34E811C1956D0D4001AC5B5 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E811B1956D0D4001AC5B5 /* libz.a */; }; + C34E811E1956D0D6001AC5B5 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E811D1956D0D6001AC5B5 /* libpng15.a */; }; + C34E81241956D0DA001AC5B5 /* libbz2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34E81231956D0DA001AC5B5 /* libbz2.a */; }; + C37EBD2C19A0112900220265 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F9D7B217B82CC3009E58CB /* Cocoa.framework */; }; + C37EBD3219A0112900220265 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD3019A0112900220265 /* InfoPlist.strings */; }; + C37EBD3419A0112900220265 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C37EBD3319A0112900220265 /* main.m */; }; + C37EBD3819A0112900220265 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD3619A0112900220265 /* Credits.rtf */; }; + C37EBD3B19A0112900220265 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C37EBD3A19A0112900220265 /* AppDelegate.m */; }; + C37EBD3E19A0112900220265 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD3C19A0112900220265 /* MainMenu.xib */; }; + C37EBD4019A0112900220265 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD3F19A0112900220265 /* Images.xcassets */; }; + C37EBD5B19A0118600220265 /* iTunes Visualizer.pkg in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD5A19A0118600220265 /* iTunes Visualizer.pkg */; }; + C37EBD5D19A0146F00220265 /* images in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD5C19A0146F00220265 /* images */; }; + C37EBD5F19A0164400220265 /* selectViz.png in Resources */ = {isa = PBXBuildFile; fileRef = C37EBD5E19A0164400220265 /* selectViz.png */; }; + C38E8C881B1A12540029901E /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = C38E8C871B1A12540029901E /* Preferences.xib */; }; + C38E8C8B1B1A13AE0029901E /* Preferences.m in Sources */ = {isa = PBXBuildFile; fileRef = C38E8C8A1B1A13AE0029901E /* Preferences.m */; }; + C38E8C8E1B1A14470029901E /* AudioInputDeviceList.m in Sources */ = {isa = PBXBuildFile; fileRef = C38E8C8D1B1A14470029901E /* AudioInputDeviceList.m */; }; + C3F9D7B317B82CC3009E58CB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F9D7B217B82CC3009E58CB /* Cocoa.framework */; }; + C3F9D7CF17B831F3009E58CB /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3F9D7CE17B831F3009E58CB /* OpenGL.framework */; }; + C3F9D7D317B83CCB009E58CB /* iprojectM_mac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C3F9D7D017B83CCB009E58CB /* iprojectM_mac.mm */; }; + C3F9D7D417B83CCB009E58CB /* iprojectM.mm in Sources */ = {isa = PBXBuildFile; fileRef = C3F9D7D217B83CCB009E58CB /* iprojectM.mm */; }; + C3F9D7D917B83CF1009E58CB /* iTunesAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3F9D7D617B83CF1009E58CB /* iTunesAPI.cpp */; }; + C3FAE59217B87D8700F4B110 /* getConfigFilename.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3FAE59017B87D8700F4B110 /* getConfigFilename.cpp */; }; + C3FAE5AA17B898C200F4B110 /* iProjectM-pkg.plist in plist */ = {isa = PBXBuildFile; fileRef = C3FAE5A717B898B000F4B110 /* iProjectM-pkg.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 168F716821125D85001806E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 16178B12207A6F4000D3B0C8; + remoteInfo = Renderer; + }; + 168F716A21125D85001806E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 16A49E57207A7C8C00E508EA; + remoteInfo = projectM; + }; + 168F716C21125D85001806E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1612C9A4207A855D00862A3A; + remoteInfo = MilkdropPresetFactory; + }; + 168F716E21125D85001806E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1612C9AC207A856A00862A3A; + remoteInfo = NativePresetFactory; + }; + 16FE0B1B21157D55005F170D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 16A49E56207A7C8C00E508EA; + remoteInfo = projectM; + }; + 16FE0B2521157D84005F170D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C3F9D7A717B82CC3009E58CB /* Project object */; + proxyType = 1; + remoteGlobalIDString = C3F9D7AE17B82CC3009E58CB; + remoteInfo = iProjectM; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C3FAE5A917B898BB00F4B110 /* plist */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 16; + files = ( + C3FAE5AA17B898C200F4B110 /* iProjectM-pkg.plist in plist */, + ); + name = plist; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 168F716121125D85001806E7 /* libprojectM.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libprojectM.xcodeproj; path = ../libprojectM/libprojectM.xcodeproj; sourceTree = ""; }; + 16A4214420781835006F30CE /* libRenderer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRenderer.a; path = ../libprojectM/Renderer/.libs/libRenderer.a; sourceTree = ""; }; + 16A4214520781835006F30CE /* libMilkdropPresetFactory.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMilkdropPresetFactory.a; path = ../libprojectM/MilkdropPresetFactory/.libs/libMilkdropPresetFactory.a; sourceTree = ""; }; + 16A4214620781835006F30CE /* libNativePresetFactory.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libNativePresetFactory.a; path = ../libprojectM/NativePresetFactory/.libs/libNativePresetFactory.a; sourceTree = ""; }; + 16A4214720781836006F30CE /* libprojectM.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprojectM.a; path = ../libprojectM/.libs/libprojectM.a; sourceTree = ""; }; + C34E810E1956CD2F001AC5B5 /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; + C34E81101956CD3A001AC5B5 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; + C34E81191956D0C3001AC5B5 /* contrib */ = {isa = PBXFileReference; lastKnownFileType = folder; name = contrib; path = macos/contrib; sourceTree = ""; }; + C34E811B1956D0D4001AC5B5 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = macos/contrib/libz.a; sourceTree = ""; }; + C34E811D1956D0D6001AC5B5 /* libpng15.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng15.a; path = macos/contrib/libpng15.a; sourceTree = ""; }; + C34E811F1956D0D8001AC5B5 /* libftgl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libftgl.a; path = macos/contrib/libftgl.a; sourceTree = ""; }; + C34E81211956D0D9001AC5B5 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = macos/contrib/libfreetype.a; sourceTree = ""; }; + C34E81231956D0DA001AC5B5 /* libbz2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbz2.a; path = macos/contrib/libbz2.a; sourceTree = ""; }; + C37821FF1956D82A0058A694 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; }; + C37EBD2B19A0112900220265 /* projectM Visualizer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "projectM Visualizer.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + C37EBD2F19A0112900220265 /* projectM Visualizer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "projectM Visualizer-Info.plist"; sourceTree = ""; }; + C37EBD3119A0112900220265 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + C37EBD3319A0112900220265 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + C37EBD3519A0112900220265 /* projectM Visualizer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "projectM Visualizer-Prefix.pch"; sourceTree = ""; }; + C37EBD3719A0112900220265 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + C37EBD3919A0112900220265 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + C37EBD3A19A0112900220265 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + C37EBD3D19A0112900220265 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + C37EBD3F19A0112900220265 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + C37EBD4619A0112900220265 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + C37EBD5A19A0118600220265 /* iTunes Visualizer.pkg */ = {isa = PBXFileReference; lastKnownFileType = file; path = "iTunes Visualizer.pkg"; sourceTree = ""; }; + C37EBD5C19A0146F00220265 /* images */ = {isa = PBXFileReference; lastKnownFileType = folder; name = images; path = ../images; sourceTree = ""; }; + C37EBD5E19A0164400220265 /* selectViz.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = selectViz.png; path = images/selectViz.png; sourceTree = ""; }; + C37EBD6019A01BEE00220265 /* projectM Visualizer.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "projectM Visualizer.entitlements"; sourceTree = ""; }; + C38E8C871B1A12540029901E /* Preferences.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = ""; }; + C38E8C891B1A13AE0029901E /* Preferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Preferences.h; sourceTree = ""; }; + C38E8C8A1B1A13AE0029901E /* Preferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Preferences.m; sourceTree = ""; }; + C38E8C8C1B1A14470029901E /* AudioInputDeviceList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioInputDeviceList.h; sourceTree = ""; }; + C38E8C8D1B1A14470029901E /* AudioInputDeviceList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AudioInputDeviceList.m; sourceTree = ""; }; + C3C24434195764870021FCD4 /* libGLEW.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libGLEW.a; path = macos/contrib/libGLEW.a; sourceTree = ""; }; + C3F9D7AF17B82CC3009E58CB /* iProjectM.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iProjectM.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + C3F9D7B217B82CC3009E58CB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + C3F9D7B517B82CC3009E58CB /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + C3F9D7B617B82CC3009E58CB /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + C3F9D7B717B82CC3009E58CB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + C3F9D7CE17B831F3009E58CB /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + C3F9D7D017B83CCB009E58CB /* iprojectM_mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = iprojectM_mac.mm; sourceTree = ""; }; + C3F9D7D117B83CCB009E58CB /* iprojectM.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = iprojectM.hpp; sourceTree = ""; }; + C3F9D7D217B83CCB009E58CB /* iprojectM.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = iprojectM.mm; sourceTree = ""; }; + C3F9D7D617B83CF1009E58CB /* iTunesAPI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iTunesAPI.cpp; sourceTree = ""; }; + C3F9D7D717B83CF1009E58CB /* iTunesAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iTunesAPI.h; sourceTree = ""; }; + C3F9D7D817B83CF1009E58CB /* iTunesVisualAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iTunesVisualAPI.h; sourceTree = ""; }; + C3FAE59017B87D8700F4B110 /* getConfigFilename.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = getConfigFilename.cpp; sourceTree = ""; }; + C3FAE59117B87D8700F4B110 /* getConfigFilename.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = getConfigFilename.h; sourceTree = ""; }; + C3FAE59A17B88B9000F4B110 /* projectM Visualizer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "projectM Visualizer-Info.plist"; sourceTree = ""; }; + C3FAE5A717B898B000F4B110 /* iProjectM-pkg.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "iProjectM-pkg.plist"; sourceTree = SOURCE_ROOT; }; + C3FAF97517B89F7200F4B110 /* config.inp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = config.inp; sourceTree = ""; }; + C3FAF97617B89F7200F4B110 /* shaders */ = {isa = PBXFileReference; lastKnownFileType = folder; path = shaders; sourceTree = ""; }; + C3FAF97917B8A43B00F4B110 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = ../../fonts; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C37EBD2819A0112900220265 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C37EBD2C19A0112900220265 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C3F9D7AC17B82CC3009E58CB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 16FE0B2121157D62005F170D /* libMilkdropPresetFactory.a in Frameworks */, + 16FE0B2221157D63005F170D /* libNativePresetFactory.a in Frameworks */, + 16FE0B2321157D63005F170D /* libprojectM.a in Frameworks */, + 16FE0B2421157D63005F170D /* libRenderer.a in Frameworks */, + C34E81241956D0DA001AC5B5 /* libbz2.a in Frameworks */, + C34E811E1956D0D6001AC5B5 /* libpng15.a in Frameworks */, + C34E811C1956D0D4001AC5B5 /* libz.a in Frameworks */, + C3F9D7CF17B831F3009E58CB /* OpenGL.framework in Frameworks */, + C3F9D7B317B82CC3009E58CB /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 168F716221125D85001806E7 /* Products */ = { + isa = PBXGroup; + children = ( + 168F716921125D85001806E7 /* libRenderer.a */, + 168F716B21125D85001806E7 /* libprojectM.a */, + 168F716D21125D85001806E7 /* libMilkdropPresetFactory.a */, + 168F716F21125D85001806E7 /* libNativePresetFactory.a */, + ); + name = Products; + sourceTree = ""; + }; + C37EBD2D19A0112900220265 /* projectM Visualizer */ = { + isa = PBXGroup; + children = ( + C37EBD6019A01BEE00220265 /* projectM Visualizer.entitlements */, + C37EBD5C19A0146F00220265 /* images */, + C37EBD3919A0112900220265 /* AppDelegate.h */, + C37EBD3A19A0112900220265 /* AppDelegate.m */, + C37EBD3C19A0112900220265 /* MainMenu.xib */, + C38E8C871B1A12540029901E /* Preferences.xib */, + C37EBD3F19A0112900220265 /* Images.xcassets */, + C37EBD2E19A0112900220265 /* Supporting Files */, + C38E8C891B1A13AE0029901E /* Preferences.h */, + C38E8C8A1B1A13AE0029901E /* Preferences.m */, + C38E8C8C1B1A14470029901E /* AudioInputDeviceList.h */, + C38E8C8D1B1A14470029901E /* AudioInputDeviceList.m */, + ); + path = "projectM Visualizer"; + sourceTree = ""; + }; + C37EBD2E19A0112900220265 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + C37EBD2F19A0112900220265 /* projectM Visualizer-Info.plist */, + C37EBD3019A0112900220265 /* InfoPlist.strings */, + C37EBD3319A0112900220265 /* main.m */, + C37EBD3519A0112900220265 /* projectM Visualizer-Prefix.pch */, + C37EBD3619A0112900220265 /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + C3F9D7A617B82CC3009E58CB = { + isa = PBXGroup; + children = ( + 168F716121125D85001806E7 /* libprojectM.xcodeproj */, + C37EBD5E19A0164400220265 /* selectViz.png */, + C37EBD5A19A0118600220265 /* iTunes Visualizer.pkg */, + C34E81191956D0C3001AC5B5 /* contrib */, + C3FAF97A17B8A44100F4B110 /* share */, + C3FAE5A417B88C5B00F4B110 /* libprojectM */, + C3FAE59917B88B9000F4B110 /* iProjectM */, + C3FAE59017B87D8700F4B110 /* getConfigFilename.cpp */, + C3FAE59117B87D8700F4B110 /* getConfigFilename.h */, + C3F9D7D017B83CCB009E58CB /* iprojectM_mac.mm */, + C3F9D7D117B83CCB009E58CB /* iprojectM.hpp */, + C3F9D7D217B83CCB009E58CB /* iprojectM.mm */, + C3F9D7D517B83CF1009E58CB /* iTunesVisualAPI */, + C37EBD2D19A0112900220265 /* projectM Visualizer */, + C3F9D7B117B82CC3009E58CB /* Frameworks */, + C3F9D7B017B82CC3009E58CB /* Products */, + ); + sourceTree = ""; + }; + C3F9D7B017B82CC3009E58CB /* Products */ = { + isa = PBXGroup; + children = ( + C3F9D7AF17B82CC3009E58CB /* iProjectM.bundle */, + C37EBD2B19A0112900220265 /* projectM Visualizer.app */, + ); + name = Products; + sourceTree = ""; + }; + C3F9D7B117B82CC3009E58CB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C3C24434195764870021FCD4 /* libGLEW.a */, + C37821FF1956D82A0058A694 /* libc++.1.dylib */, + C34E81231956D0DA001AC5B5 /* libbz2.a */, + C34E81211956D0D9001AC5B5 /* libfreetype.a */, + C34E811F1956D0D8001AC5B5 /* libftgl.a */, + C34E811D1956D0D6001AC5B5 /* libpng15.a */, + C34E811B1956D0D4001AC5B5 /* libz.a */, + C34E81101956CD3A001AC5B5 /* libc++.dylib */, + C34E810E1956CD2F001AC5B5 /* libstdc++.dylib */, + C3F9D7CE17B831F3009E58CB /* OpenGL.framework */, + C3F9D7B217B82CC3009E58CB /* Cocoa.framework */, + C37EBD4619A0112900220265 /* XCTest.framework */, + C3F9D7B417B82CC3009E58CB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + C3F9D7B417B82CC3009E58CB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + C3F9D7B517B82CC3009E58CB /* AppKit.framework */, + C3F9D7B617B82CC3009E58CB /* CoreData.framework */, + C3F9D7B717B82CC3009E58CB /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + C3F9D7D517B83CF1009E58CB /* iTunesVisualAPI */ = { + isa = PBXGroup; + children = ( + C3F9D7D617B83CF1009E58CB /* iTunesAPI.cpp */, + C3F9D7D717B83CF1009E58CB /* iTunesAPI.h */, + C3F9D7D817B83CF1009E58CB /* iTunesVisualAPI.h */, + ); + name = iTunesVisualAPI; + path = macos; + sourceTree = ""; + }; + C3FAE59917B88B9000F4B110 /* iProjectM */ = { + isa = PBXGroup; + children = ( + C3FAE5A717B898B000F4B110 /* iProjectM-pkg.plist */, + C3FAE59A17B88B9000F4B110 /* projectM Visualizer-Info.plist */, + ); + path = iProjectM; + sourceTree = ""; + }; + C3FAE5A417B88C5B00F4B110 /* libprojectM */ = { + isa = PBXGroup; + children = ( + 16A4214520781835006F30CE /* libMilkdropPresetFactory.a */, + 16A4214620781835006F30CE /* libNativePresetFactory.a */, + 16A4214720781836006F30CE /* libprojectM.a */, + 16A4214420781835006F30CE /* libRenderer.a */, + ); + name = libprojectM; + sourceTree = ""; + }; + C3FAF97A17B8A44100F4B110 /* share */ = { + isa = PBXGroup; + children = ( + C3FAF97917B8A43B00F4B110 /* fonts */, + C3FAF97517B89F7200F4B110 /* config.inp */, + C3FAF97617B89F7200F4B110 /* shaders */, + ); + name = share; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + C37EBD2A19A0112900220265 /* iProjectM Setup */ = { + isa = PBXNativeTarget; + buildConfigurationList = C37EBD5719A0112900220265 /* Build configuration list for PBXNativeTarget "iProjectM Setup" */; + buildPhases = ( + C37EBD2719A0112900220265 /* Sources */, + C37EBD2819A0112900220265 /* Frameworks */, + C37EBD2919A0112900220265 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 16FE0B2621157D84005F170D /* PBXTargetDependency */, + ); + name = "iProjectM Setup"; + productName = "projectM Visualizer"; + productReference = C37EBD2B19A0112900220265 /* projectM Visualizer.app */; + productType = "com.apple.product-type.application"; + }; + C3F9D7AE17B82CC3009E58CB /* iProjectM */ = { + isa = PBXNativeTarget; + buildConfigurationList = C3F9D7C117B82CC3009E58CB /* Build configuration list for PBXNativeTarget "iProjectM" */; + buildPhases = ( + C3F9D7AB17B82CC3009E58CB /* Sources */, + C3F9D7AC17B82CC3009E58CB /* Frameworks */, + C3FAE5A917B898BB00F4B110 /* plist */, + C3FAE5AB17B898F800F4B110 /* Generate Installer Package */, + ); + buildRules = ( + ); + dependencies = ( + 16FE0B1C21157D55005F170D /* PBXTargetDependency */, + ); + name = iProjectM; + productName = iProjectM; + productReference = C3F9D7AF17B82CC3009E58CB /* iProjectM.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C3F9D7A717B82CC3009E58CB /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = projectM; + TargetAttributes = { + C37EBD2A19A0112900220265 = { + DevelopmentTeam = 5926VBQM6Y; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + }; + }; + buildConfigurationList = C3F9D7AA17B82CC3009E58CB /* Build configuration list for PBXProject "iTunes Plugin" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + Base, + ); + mainGroup = C3F9D7A617B82CC3009E58CB; + productRefGroup = C3F9D7B017B82CC3009E58CB /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 168F716221125D85001806E7 /* Products */; + ProjectRef = 168F716121125D85001806E7 /* libprojectM.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + C3F9D7AE17B82CC3009E58CB /* iProjectM */, + C37EBD2A19A0112900220265 /* iProjectM Setup */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 168F716921125D85001806E7 /* libRenderer.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRenderer.a; + remoteRef = 168F716821125D85001806E7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 168F716B21125D85001806E7 /* libprojectM.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libprojectM.a; + remoteRef = 168F716A21125D85001806E7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 168F716D21125D85001806E7 /* libMilkdropPresetFactory.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libMilkdropPresetFactory.a; + remoteRef = 168F716C21125D85001806E7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 168F716F21125D85001806E7 /* libNativePresetFactory.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libNativePresetFactory.a; + remoteRef = 168F716E21125D85001806E7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + C37EBD2919A0112900220265 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C37EBD5D19A0146F00220265 /* images in Resources */, + C37EBD5F19A0164400220265 /* selectViz.png in Resources */, + C38E8C881B1A12540029901E /* Preferences.xib in Resources */, + C37EBD3219A0112900220265 /* InfoPlist.strings in Resources */, + C37EBD4019A0112900220265 /* Images.xcassets in Resources */, + C37EBD3819A0112900220265 /* Credits.rtf in Resources */, + C37EBD3E19A0112900220265 /* MainMenu.xib in Resources */, + C37EBD5B19A0118600220265 /* iTunes Visualizer.pkg in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + C3FAE5AB17B898F800F4B110 /* Generate Installer Package */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Generate Installer Package"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "POUT=\"$BUILT_PRODUCTS_DIR\"/\"$CONTENTS_FOLDER_PATH/Resources/presets\"\nPIN=\"$SRCROOT\"/../../presets\n\nmkdir -p \"$POUT\"\nfor preset_dir in \"$PIN/\"*; do\ncp \"$preset_dir/\"* \"$POUT/\"\ndone\necho \"Copied presets to $POUT\"\n\n\npkgbuild --component-plist \"$SRCROOT/iProjectM-pkg.plist\" --root \"$DSTROOT\" \"$SRCROOT/iTunes Visualizer.pkg\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + C37EBD2719A0112900220265 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C37EBD3B19A0112900220265 /* AppDelegate.m in Sources */, + C37EBD3419A0112900220265 /* main.m in Sources */, + C38E8C8B1B1A13AE0029901E /* Preferences.m in Sources */, + C38E8C8E1B1A14470029901E /* AudioInputDeviceList.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C3F9D7AB17B82CC3009E58CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C3F9D7D317B83CCB009E58CB /* iprojectM_mac.mm in Sources */, + C3F9D7D417B83CCB009E58CB /* iprojectM.mm in Sources */, + C3F9D7D917B83CF1009E58CB /* iTunesAPI.cpp in Sources */, + C3FAE59217B87D8700F4B110 /* getConfigFilename.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 16FE0B1C21157D55005F170D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = projectM; + targetProxy = 16FE0B1B21157D55005F170D /* PBXContainerItemProxy */; + }; + 16FE0B2621157D84005F170D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C3F9D7AE17B82CC3009E58CB /* iProjectM */; + targetProxy = 16FE0B2521157D84005F170D /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + C37EBD3019A0112900220265 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + C37EBD3119A0112900220265 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + C37EBD3619A0112900220265 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + C37EBD3719A0112900220265 /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + C37EBD3C19A0112900220265 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + C37EBD3D19A0112900220265 /* Base */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C37EBD5319A0112900220265 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CODE_SIGN_ENTITLEMENTS = "projectM Visualizer/projectM Visualizer.entitlements"; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "projectM Visualizer/projectM Visualizer-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "projectM Visualizer/projectM Visualizer-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libprojectM/.libs\"", + "\"$(SRCROOT)/../libprojectM/Renderer/.libs\"", + "\"$(SRCROOT)/../libprojectM/MilkdropPresetFactory/.libs\"", + "\"$(SRCROOT)/../libprojectM/NativePresetFactory/.libs\"", + "$(SRCROOT)", + "\"$(SRCROOT)/../NativePresets/.libs\"", + "\"$(SRCROOT)/..\"", + "\"$(SRCROOT)/macos/contrib\"", + "$(PROJECT_DIR)/macos/contrib", + ); + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.projectm.itunes; + PRODUCT_NAME = "projectM Visualizer"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + C37EBD5419A0112900220265 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CODE_SIGN_ENTITLEMENTS = "projectM Visualizer/projectM Visualizer.entitlements"; + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "projectM Visualizer/projectM Visualizer-Prefix.pch"; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "projectM Visualizer/projectM Visualizer-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libprojectM/.libs\"", + "\"$(SRCROOT)/../libprojectM/Renderer/.libs\"", + "\"$(SRCROOT)/../libprojectM/MilkdropPresetFactory/.libs\"", + "\"$(SRCROOT)/../libprojectM/NativePresetFactory/.libs\"", + "$(SRCROOT)", + "\"$(SRCROOT)/../NativePresets/.libs\"", + "\"$(SRCROOT)/..\"", + "\"$(SRCROOT)/macos/contrib\"", + "$(PROJECT_DIR)/macos/contrib", + ); + MACOSX_DEPLOYMENT_TARGET = 10.8; + PRODUCT_BUNDLE_IDENTIFIER = net.projectm.itunes; + PRODUCT_NAME = "projectM Visualizer"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + C3F9D7BF17B82CC3009E58CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = NO; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DYLIB_CURRENT_VERSION = 1.0.0; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_INPUT_FILETYPE = automatic; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "${SRCROOT}/.."; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks/"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_LDFLAGS = ""; + SDKROOT = macosx; + VALIDATE_PRODUCT = YES; + }; + name = Debug; + }; + C3F9D7C017B82CC3009E58CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = NO; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEPLOYMENT_LOCATION = YES; + DYLIB_CURRENT_VERSION = 1.0.0; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_INPUT_FILETYPE = automatic; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "${SRCROOT}/.."; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks/"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_LDFLAGS = ""; + SDKROOT = macosx; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + C3F9D7C217B82CC3009E58CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/macos/contrib", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ( + "${SRCROOT}/..", + "${SRCROOT}/../..", + "$(SRCROOT)/../libprojectM", + ); + INFOPLIST_FILE = "iProjectM/projectM Visualizer-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/iTunes/iTunes Plug-ins"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libprojectM/.libs\"", + "\"$(SRCROOT)/../libprojectM/Renderer/.libs\"", + "\"$(SRCROOT)/../libprojectM/MilkdropPresetFactory/.libs\"", + "\"$(SRCROOT)/../libprojectM/NativePresetFactory/.libs\"", + "$(SRCROOT)", + "\"$(SRCROOT)/../NativePresets/.libs\"", + "\"$(SRCROOT)/..\"", + "\"$(SRCROOT)/macos/contrib\"", + "$(PROJECT_DIR)/macos/contrib", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = "biz.int80.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = iProjectM; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + C3F9D7C317B82CC3009E58CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/macos/contrib", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ( + "${SRCROOT}/..", + "${SRCROOT}/../..", + "$(SRCROOT)/../libprojectM", + ); + INFOPLIST_FILE = "iProjectM/projectM Visualizer-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/iTunes/iTunes Plug-ins"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libprojectM/.libs\"", + "\"$(SRCROOT)/../libprojectM/Renderer/.libs\"", + "\"$(SRCROOT)/../libprojectM/MilkdropPresetFactory/.libs\"", + "\"$(SRCROOT)/../libprojectM/NativePresetFactory/.libs\"", + "$(SRCROOT)", + "\"$(SRCROOT)/../NativePresets/.libs\"", + "\"$(SRCROOT)/..\"", + "\"$(SRCROOT)/macos/contrib\"", + "$(PROJECT_DIR)/macos/contrib", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = "biz.int80.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = iProjectM; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C37EBD5719A0112900220265 /* Build configuration list for PBXNativeTarget "iProjectM Setup" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C37EBD5319A0112900220265 /* Debug */, + C37EBD5419A0112900220265 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C3F9D7AA17B82CC3009E58CB /* Build configuration list for PBXProject "iTunes Plugin" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C3F9D7BF17B82CC3009E58CB /* Debug */, + C3F9D7C017B82CC3009E58CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C3F9D7C117B82CC3009E58CB /* Build configuration list for PBXNativeTarget "iProjectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C3F9D7C217B82CC3009E58CB /* Debug */, + C3F9D7C317B82CC3009E58CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C3F9D7A717B82CC3009E58CB /* Project object */; +} diff --git a/src/projectM-iTunes/images/iProjectM.png b/src/projectM-iTunes/images/iProjectM.png new file mode 100644 index 0000000000..3b3852563f Binary files /dev/null and b/src/projectM-iTunes/images/iProjectM.png differ diff --git a/src/projectM-iTunes/images/iProjectM.svg b/src/projectM-iTunes/images/iProjectM.svg new file mode 100644 index 0000000000..afe3f9158d --- /dev/null +++ b/src/projectM-iTunes/images/iProjectM.svg @@ -0,0 +1,89 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/src/projectM-iTunes/images/iProjectM@2x.png b/src/projectM-iTunes/images/iProjectM@2x.png new file mode 100644 index 0000000000..55c51f8928 Binary files /dev/null and b/src/projectM-iTunes/images/iProjectM@2x.png differ diff --git a/src/projectM-iTunes/images/selectViz.png b/src/projectM-iTunes/images/selectViz.png new file mode 100644 index 0000000000..69e5bff87c Binary files /dev/null and b/src/projectM-iTunes/images/selectViz.png differ diff --git a/src/projectM-iTunes/iprojectM.cpp b/src/projectM-iTunes/iprojectM.cpp deleted file mode 100755 index 150cfc0076..0000000000 --- a/src/projectM-iTunes/iprojectM.cpp +++ /dev/null @@ -1,893 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: iprojectM.c,v 1.10 2004/11/07 17:29:04 cvs Exp $ - * - * iTunes Plugin Wrapper for projectM - */ - -#include -#ifdef WIN32 -#include -#endif - -#include -#include -#include -#include -#include -//#include - -#ifdef WIN32 - -#include "win32/iTunesVisualAPI.h" -#else -#ifdef MACOS -#include "macos/iTunesVisualAPI.h" -#include - -#endif /** MACOS */ -#endif /** WIN32 */ - -#ifdef WIN32 -// window information -HWND windowHandle; -HDC windowDC; -HGLRC windowRC; -#endif /** WIN32 */ - -#ifdef MACOS -CGrafPtr port = NULL; -AGLContext context = NULL; -int frameCount = 0; -CFDictionaryRef desktopMode = NULL; -CFDictionaryRef fullscreenMode = NULL; -int inFullScreenMode = 0; -int displayCaptured = 0; -boolean_t exactMatch; -int fullscreenWidth, fullscreenHeight; -#endif /** MACOS */ - -#ifdef MACOS -#define kTVisualPluginName "\pprojectM" -#define kTVisualPluginCreator 'hook' -#define kTVisualPluginMajorVersion 1 -#define kTVisualPluginMinorVersion 0 -#define kTVisualPluginReleaseStage finalStage -#define kTVisualPluginNonFinalRelease 0 -#endif /** MACOS */ - -/** Port dimensions */ -int windowWidth; -int windowHeight; - -/** projectM info */ -projectM *globalPM = NULL; -#ifdef DEBUG -FILE *debugFile = NULL; -#endif - -// iTunes information -RenderVisualData renderData; -int playing; -void *appCookie; -ITAppProcPtr appProc; -#ifdef WIN32 -ITTrackInfoV1 trackInfo; -ITStreamInfoV1 streamInfo; -#else -#ifdef MACOS -ITTrackInfo trackInfo; -ITStreamInfo streamInfo; -FSSpec pluginSpec; -#endif /** MACOS */ -#endif /** WIN32 */ - -#ifdef MACOS -void CleanupGL(); -#endif - -#ifdef MACOS -/** fss2path takes the FSSpec of the plugin and returns the filename */ -void fss2path( FSSpec *fss, char *path ) { - - int l; - - for ( l = 0 ; l < (fss->name[0]) ; l++ ) { - path[l] = fss->name[l + 1]; - } - path[l] = '\0'; - - DWRITE( "fss2path: '%s'\n", path ); - - if ( fss->parID != fsRtParID) { - int i, len; - CInfoPBRec pb; - - pb.dirInfo.ioNamePtr = fss->name; - pb.dirInfo.ioVRefNum = fss->vRefNum; - pb.dirInfo.ioDrParID = fss->parID; - - do { - pb.dirInfo.ioFDirIndex = -1; - pb.dirInfo.ioDrDirID = pb.dirInfo.ioDrParID; - - if ( PBGetCatInfoSync( &pb ) != noErr ) { - break; - } - - len = fss->name[0] + 1; - for ( i = l ; i >= 0 ; i-- ) path[i + len] = path[i]; - for ( i = 1 ; i < len ; i++ ) path[i - 1] = fss->name[i]; - - path[i - 1] = '/'; - l += len; - } while ( pb.dirInfo.ioDrDirID != fsRtDirID ); - - len = 9; - for ( i = l ; i >= 0 ; i-- ) path[i + len] = path[i]; - path[0] = '/'; - path[1] = 'V'; - path[2] = 'o'; - path[3] = 'l'; - path[4] = 'u'; - path[5] = 'm'; - path[6] = 'e'; - path[7] = 's'; - path[8] = '/'; - } - } -#endif - -// create OpenGL rendering context for the specified window -#ifdef WIN32 -void InitializeGL(HWND hwnd) -{ - int pixelFormat; - PIXELFORMATDESCRIPTOR pfd = { - sizeof (PIXELFORMATDESCRIPTOR), /* struct size */ - 1, /* Version number */ - PFD_DRAW_TO_WINDOW /* Flags, draw to a window, */ - | PFD_DOUBLEBUFFER /* Requires Doublebuffer hw */ - | PFD_SUPPORT_OPENGL, /* use OpenGL */ - PFD_TYPE_RGBA, /* RGBA pixel values */ - 32, /* 24-bit color */ - 0, 0, 0, /* RGB bits & shift sizes. */ - 0, 0, 0, /* Don't care about them */ - 0, 0, /* No alpha buffer info */ - 0, 0, 0, 0, 0, /* No accumulation buffer */ - 16, /* depth buffer */ - 1, /* stencil buffer */ - 0, /* No auxiliary buffers */ - PFD_MAIN_PLANE, /* Layer type */ - 0, /* Reserved (must be 0) */ - 0, /* No layer mask */ - 0, /* No visible mask */ - 0 /* No damage mask */ - }; - - windowHandle = hwnd; - windowDC = GetDC(windowHandle); - -// memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); - - pixelFormat = ChoosePixelFormat(windowDC, &pfd); - if (pixelFormat == 0) - return; - - if (SetPixelFormat(windowDC, pixelFormat, &pfd) == 0) - return; - - windowRC = wglCreateContext(windowDC); - if (windowRC == NULL) - return; - - if (!wglMakeCurrent(windowDC, windowRC)) - return; - -#ifdef PANTS - // enable v-sync if WGL_EXT_swap_control is supported - PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; - wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT"); - if (wglSwapIntervalEXT != NULL) - wglSwapIntervalEXT(1); -#endif - - /** Initialise projectM */ -#ifdef DEBUG - debugFile = fopen( "c:\\iprojectM.txt", "wb" ); -#endif - globalPM = (projectM_t *)malloc( sizeof( projectM_t ) ); - projectM_reset( globalPM ); - - globalPM->fullscreen = 0; - globalPM->usePbuffers = 1; - globalPM->renderTarget->texsize = 1024; - globalPM->showfps = 1; - - /** Initialise font and preset paths */ - globalPM->fontURL = (char *)malloc( sizeof( char ) * 1024 ); - strcpy( globalPM->fontURL, "c:\\Program Files\\iTunes\\Plug-ins\\projectM\\fonts" ); - - globalPM->presetURL = (char *)malloc( sizeof( char ) * 1024 ); - strcpy( globalPM->presetURL, "c:\\Program Files\\iTunes\\Plug-ins\\projectM\\presets" ); - - projectM_init( globalPM ); -} -#else -#ifdef MACOS -void InitializeGL( CGrafPtr destPort, int isFullScreen ) { - - AGLPixelFormat pixelFormat; - GLint attrib[64]; - - DWRITE( "InitializeGL(): in: %d\n", isFullScreen ); - - /** Stash the target port */ - port = destPort; - -#ifdef PANTS - if ( isFullScreen ) { - CGCaptureAllDisplays(); - displayCaptured = 1; - if ( fullscreenMode != NULL ) { - if ( CGDisplaySwitchToMode( kCGDirectMainDisplay, fullscreenMode ) != CGDisplayNoErr ) { - DWRITE( "%s\n", "failed to switch display to fullscreen" ); - } else { - DWRITE( "%s\n", "display switch to fullscreen ok\n" ); - } - } - } else { - /** Switch back to the previous desktop mode */ - if ( desktopMode != NULL ) { - if ( CGDisplaySwitchToMode( kCGDirectMainDisplay, desktopMode ) != CGDisplayNoErr ) { - DWRITE( "%s\n", "failed to switch display" ); - } else { - DWRITE( "%s\n", "display switch OK" ); - } - } - } -#endif - - /** Chuck out the old context if one exists */ - if ( context != NULL ) { - aglDestroyContext( context ); - context = NULL; - } - - /** Choose the OpenGL pixel format */ -#ifdef PANTS - if ( isFullScreen ) { - attrib[0] = AGL_RGBA; - attrib[1] = AGL_DOUBLEBUFFER; - attrib[2] = AGL_PIXEL_SIZE; - attrib[3] = 32; - attrib[4] = AGL_FULLSCREEN; - attrib[5] = AGL_NO_RECOVERY; - attrib[6] = AGL_SINGLE_RENDERER; - attrib[6] = AGL_NONE; - } else { -#endif - attrib[0] = AGL_RGBA; - attrib[1] = AGL_DOUBLEBUFFER; - attrib[2] = AGL_ACCELERATED; - attrib[3] = AGL_PIXEL_SIZE; - attrib[4] = 32; - attrib[5] = AGL_NO_RECOVERY; - attrib[6] = AGL_SINGLE_RENDERER; - attrib[5] = AGL_NONE; -// } - - GDHandle mainDevice = GetMainDevice(); - pixelFormat = aglChoosePixelFormat( &mainDevice, 1, attrib ); - if ( pixelFormat == 0 ) { - DWRITE( "failed to select pixel format\n" ); - exit( 1 ); - CleanupGL(); - isFullScreen = 0; - return; - } else { - DWRITE( "selected pixel format OK\n" ); - } - - context = aglCreateContext( pixelFormat, NULL ); - if ( context == NULL ) { - DWRITE( "failed to create context\n" ); - } else { - DWRITE( "created context OK\n" ); - } - -// if ( !isFullScreen ) { - if ( !aglSetDrawable( context, destPort ) ) { - DWRITE( "failed to set drawable\n" ); - } else { - DWRITE( "set drawable OK\n" ); - } -// } else { -// aglSetDrawable( context, NULL ); -// } - - if ( !aglSetCurrentContext( context ) ) { - DWRITE( "failed to make context current\n" ); - } else { - DWRITE( "set current context OK\n" ); - } - -// if ( !isFullScreen ) { - if ( !aglUpdateContext( context ) ) { - DWRITE( "failed to update context\n" ); - } else { - DWRITE( "updated context OK\n" ); - } - - if ( globalPM != NULL ) { - globalPM->fullscreen = 0; - } -#ifdef PANTS - } else { - aglSetFullScreen( context, 800, 600, 0, 0 ); - if ( globalPM != NULL ) { - globalPM->fullscreen = 1; - } - GLint displayCaps[3]; - aglGetInteger( context, AGL_FULLSCREEN, displayCaps ); - DWRITE( "dcaps: %d\t%d\t%d\n", - displayCaps[0], displayCaps[1], displayCaps[2] ); - fullscreenWidth = displayCaps[0]; - fullscreenHeight = displayCaps[1]; - } -#endif - -#ifdef WIN32 - // enable v-sync if WGL_EXT_swap_control is supported - PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; - wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT"); - if (wglSwapIntervalEXT != NULL) - wglSwapIntervalEXT(1); -#endif -#ifdef MACOS - /** Setup VSYNC */ - GLint sync = 1; - aglSetInteger ( context, AGL_SWAP_INTERVAL, &sync ); -#endif - - /** Initialise projectM */ - globalPM->projectM_init(); - } - -#endif /** MACOS */ -#endif /** WIN32 */ - -// render visualization data -void RenderGL() -{ -#ifdef WIN32 - if (windowDC == NULL || globalPM == NULL ) return; -#else -#ifdef MACOS - if ( port == NULL || context == NULL ) { - return; - } -#endif /** MACOS */ -#endif /** WIN32 */ - - /** Stuff the PCM data into projectM */ - globalPM->beatDetect->pcm->addPCM8( renderData.waveformData ); - - /** Render a frame via projectM */ - globalPM->renderFrame(); - -#if defined(DEBUG2) && defined(MACOS) - fprintf( debugFile, "port: %X\tcontext: %X\n", port, context ); - fflush( debugFile ); -#endif - -#ifdef WIN32 - /** Buffer swap to display the results */ - SwapBuffers( windowDC ); -#else -#ifdef MACOS - aglSwapBuffers( context ); -#endif /** MACOS */ -#endif /** WIN32 */ - } - -// resize rendering viewport -void ResizeGL( CGrafPtr destPort, Rect windowRect, int isFullScreen ) { - -#ifdef MACOS - GLint bufferRect[4]; -#endif - - DWRITE( "ResizeGL(): in: %d\n", isFullScreen ); - -#ifdef PANTS - if ( isFullScreen ) { -#ifdef MACOS - aglDisable( context, AGL_BUFFER_RECT ); -#endif /** MACOS */ - - /** Reset projectM */ - if ( globalPM != NULL ) { - globalPM->projectM_resetGL( fullscreenWidth, fullscreenHeight ); - } - } else { -#endif - windowWidth = windowRect.right - windowRect.left; - windowHeight = windowRect.bottom - windowRect.top; - - if (windowHeight == 0) windowHeight = 1; - - /** Re-initialise OpenGL */ - if ( globalPM != NULL ) { -#ifdef MACOS - /** - * Grab the dimensions of the main window itself. This is required - * to accurately locate the port since OpenGL is "upside-down" from - * Carbon window coordinates... - */ - WindowRef itWindowRef; - Rect mwindowRect; - itWindowRef = GetWindowFromPort(port); - GetWindowPortBounds(itWindowRef, &mwindowRect); - - DWRITE( "rect: (%d, %d) -> (%d, %d)\n", - windowRect.left, windowRect.top, - windowRect.right, windowRect.bottom ); - DWRITE( "window-rect: (%d, %d) -> (%d, %d)\n", - mwindowRect.left, mwindowRect.top, - mwindowRect.right, mwindowRect.bottom ); - - /** Update the buffer rect */ - bufferRect[0] = windowRect.left; - bufferRect[1] = mwindowRect.bottom - windowRect.bottom; - bufferRect[2] = windowWidth; - bufferRect[3] = windowHeight; - - aglSetInteger( context, AGL_BUFFER_RECT, bufferRect ); - aglEnable( context, AGL_BUFFER_RECT ); - - if ( !aglUpdateContext( context ) ) { - DWRITE( "failed to update context\n" ); - } else { - DWRITE( "updated context OK\n" ); - } -#endif - globalPM->projectM_resetGL( windowWidth, windowHeight ); - } -// } - } - -// cleanup OpenGL rendering context -void CleanupGL() -{ -#ifdef WIN32 - wglMakeCurrent(NULL, NULL); - - if (windowRC != NULL) - { - wglDeleteContext(windowRC); - windowRC = NULL; - } - - if (windowDC) - { - ReleaseDC(windowHandle, windowDC); - windowDC = NULL; - } -#else -#ifdef MACOS - /** Release the held main display */ -#ifdef PANTS - if ( displayCaptured ) { - DWRITE( "%s\n", "switching to non-fullscreen" ); - CGDisplaySwitchToMode( kCGDirectMainDisplay, desktopMode ); - - DWRITE( "%s\n", "releasing displays" ); - CGReleaseAllDisplays(); - } -#endif - DWRITE( "pre-context destroy\n" ); - if ( context != NULL ) { - aglSetCurrentContext( NULL ); - aglDestroyContext( context ); - context = NULL; - } -#endif /** MACOS */ -#endif /** WIN32 */ - } - -// handle messages sent by iTunes -OSStatus pluginMessageHandler( OSType message, - VisualPluginMessageInfo *messageInfo, - void *refCon) { - - OSStatus status = noErr; - - switch (message) { - // sent when the plugin is loaded/unloaded - case kVisualPluginInitMessage: { - DWRITE( "*** %s\n", "kVisualPluginInitMessage" ); - break; - } - case kVisualPluginCleanupMessage: { - DWRITE( "*** %s\n", "kVisualPluginCleanupMessage" ); -// CleanupGL(); - break; - } - // sent when plugin is enabled/disabled, plugin should handle these messages and do nothing - case kVisualPluginEnableMessage: { - DWRITE( "*** %s\n", "kVisualPluginEnableMessage" ); - break; - } - case kVisualPluginDisableMessage: { - DWRITE( "*** %s\n", "kVisualPluginDisableMessage" ); - break; - } - - // redraw the screne while idle - case kVisualPluginIdleMessage: { - DWRITE( "*** %s\n", "kVisualPluginIdleMessage" ); - if (playing == false) { - RenderGL(); - } - - break; - } - - // sent when the visualizer is shown - case kVisualPluginShowWindowMessage: { - DWRITE( "*** kVisualPluginShowWindowMessage( %d )\n", - messageInfo->u.showWindowMessage.options ); -#ifdef WIN32 - InitializeGL(messageInfo->u.showWindowMessage.window, - messageInfo->u.showWindowMessage.options ); -#else -#ifdef MACOS - InitializeGL( messageInfo->u.showWindowMessage.port, - /* messageInfo->u.showWindowMessage.options */ 0 ); -#endif /** MACOS */ -#endif /** WIN32 */ - ResizeGL( messageInfo->u.showWindowMessage.port, - messageInfo->u.setWindowMessage.drawRect, - /* messageInfo->u.setWindowMessage.options */ 0 ); - RenderGL(); - - break; - } - - // sent when the visualizer is hidden - case kVisualPluginHideWindowMessage: { - DWRITE( "*** %s\n", "kVisualPluginHideWindowMessage" ); - CleanupGL(); - break; - } - -#ifdef PANTS - // sent when visualizer viewport size is changed - case kVisualPluginSetWindowMessage: { - DWRITE( "*** kVisualPluginSetWindowMessage( %d )\n", - messageInfo->u.setWindowMessage.options ); - ResizeGL(messageInfo->u.setWindowMessage.port, - messageInfo->u.setWindowMessage.drawRect, - messageInfo->u.setWindowMessage.options); - RenderGL(); - - break; - } -#endif - - // sent when visualizer should render a frame - case kVisualPluginRenderMessage: { - DWRITE( "*** %s\n", "kVisualPluginRenderMessage" ); - renderData = *messageInfo->u.renderMessage.renderData; - RenderGL(); - - break; - } - - // sent when visualizer should update itself - case kVisualPluginUpdateMessage: { - DWRITE( "*** %s\n", "kVisualPluginUpdateMessage" ); - RenderGL(); - break; - } - - // sent when player is stopped or paused - case kVisualPluginStopMessage: { - DWRITE( "*** %s\n", "kVisualPluginStopMessage" ); - break; - } - case kVisualPluginPauseMessage: { - DWRITE( "*** %s\n", "kVisualPluginPauseMessage" ); - playing = false; - break; - } - - // sent when player is started or unpaused - case kVisualPluginPlayMessage: { - DWRITE( "*** %s\n", "kVisualPluginPlayMessage" ); - break; - } - case kVisualPluginUnpauseMessage: { - DWRITE( "*** %s\n", "kVisualPluginPauseMessage" ); - /** Grab the track or stream title from iTunes */ - if (messageInfo->u.changeTrackMessage.trackInfo != nil) { - trackInfo = *messageInfo->u.changeTrackMessage.trackInfo; - } else { - memset( &trackInfo, sizeof( trackInfo ) * sizeof( char ), 0 ); - } - - if (messageInfo->u.changeTrackMessage.streamInfo != nil) { - streamInfo = *messageInfo->u.changeTrackMessage.streamInfo; - } else { - memset( &streamInfo, sizeof( streamInfo ) * sizeof( char ), 0 ); - } - - /** Pass this info into projectM */ - if ( globalPM != NULL ) { - globalPM->drawtitle = 1; - if ( strlen( (const char *)trackInfo.name ) > 0 ) { - globalPM->projectM_setTitle( (char *)trackInfo.name ); - } else { - if ( strlen( (const char *)streamInfo.streamTitle ) > 0 ) { - globalPM->projectM_setTitle( (char *)streamInfo.streamTitle ); - } - } - } - - playing = true; - - break; - } - - /** Sent when the track changes */ - case kVisualPluginChangeTrackMessage: { - DWRITE( "*** %s\n", "kVisualPluginChangeTrackMessage" ); - /** Grab the track or stream title from iTunes */ - if (messageInfo->u.changeTrackMessage.trackInfo != nil) { - trackInfo = *messageInfo->u.changeTrackMessage.trackInfo; - } else { - memset( &trackInfo, sizeof( trackInfo ) * sizeof( char ), 0 ); - } - - if (messageInfo->u.changeTrackMessage.streamInfo != nil) { - streamInfo = *messageInfo->u.changeTrackMessage.streamInfo; - } else { - memset( &streamInfo, sizeof( streamInfo ) * sizeof( char ), 0 ); - } - - /** Pass this info into projectM */ - globalPM->drawtitle = 1; - if ( strlen( (const char *)trackInfo.name ) > 0 ) { - globalPM->projectM_setTitle( (char *)trackInfo.name ); - } else { - if ( strlen( (const char *)streamInfo.streamTitle ) > 0 ) { - globalPM->projectM_setTitle( (char *)streamInfo.streamTitle ); - } - } - RenderGL(); - break; - } - case kVisualPluginEventMessage: { - projectMEvent event; - projectMKeycode keycode; - projectMModifier mod; - DWRITE( "*** %s\n", "kVisualPluginEventMessage" ); -#ifdef MACOS - event = carbon2pmEvent( messageInfo->u.eventMessage.event ); - keycode = carbon2pmKeycode( messageInfo->u.eventMessage.event ); -#else -#ifdef WIN32 -#endif /** WIN32 */ -#endif /** MACOS */ - DWRITE( "keycode: %d\n", keycode ); - if ( keycode == ' ' ) { - status = unimpErr; - } - globalPM->key_handler( event, keycode, mod ); - break; - } - default: { - status = unimpErr; - break; - } - } - - return status; -} - -// register plugin with iTunes -OSStatus registerPlugin(PluginMessageInfo *messageInfo) { - - OSStatus status; - - // plugin constants -#ifdef WIN32 - const char *pluginTitle = "projectM"; - const UInt32 pluginCreator = '\?\?\?\?'; -#else -#ifdef MACOS - const char *pluginTitle = "projectM"; - const UInt32 pluginCreator = 'hook'; -#endif /** MACOS */ -#endif /** WIN32 */ - const UInt8 pluginMajorVersion = 10; - const UInt8 pluginMinorVersion = 9; - - PlayerMessageInfo playerMessageInfo; - memset( &playerMessageInfo.u.registerVisualPluginMessage, - 0, sizeof(playerMessageInfo.u.registerVisualPluginMessage)); - - // copy in name length byte first - playerMessageInfo.u.registerVisualPluginMessage.name[0] = - (UInt8)strlen( pluginTitle ); - - // now copy in actual name - memcpy( &playerMessageInfo.u.registerVisualPluginMessage.name[1], - pluginTitle, strlen( pluginTitle )); - - SetNumVersion( &playerMessageInfo.u.registerVisualPluginMessage.pluginVersion, - pluginMajorVersion, pluginMinorVersion, 0x80, 0); - - playerMessageInfo.u.registerVisualPluginMessage.options = - kVisualWantsIdleMessages; -#ifdef WIN32 - playerMessageInfo.u.registerVisualPluginMessage.handler = - pluginMessageHandler; -#else - playerMessageInfo.u.registerVisualPluginMessage.handler = - (VisualPluginProcPtr)pluginMessageHandler; -#endif - playerMessageInfo.u.registerVisualPluginMessage.registerRefCon = 0; - playerMessageInfo.u.registerVisualPluginMessage.creator = pluginCreator; - - playerMessageInfo.u.registerVisualPluginMessage.timeBetweenDataInMS = 0xFFFFFFFF; // 16 milliseconds = 1 Tick, 0xFFFFFFFF = Often as possible. - playerMessageInfo.u.registerVisualPluginMessage.numWaveformChannels = 2; - playerMessageInfo.u.registerVisualPluginMessage.numSpectrumChannels = 2; - - playerMessageInfo.u.registerVisualPluginMessage.minWidth = 64; - playerMessageInfo.u.registerVisualPluginMessage.minHeight = 64; - playerMessageInfo.u.registerVisualPluginMessage.maxWidth = 32767; - playerMessageInfo.u.registerVisualPluginMessage.maxHeight = 32767; - playerMessageInfo.u.registerVisualPluginMessage.minFullScreenBitDepth = 0; - playerMessageInfo.u.registerVisualPluginMessage.maxFullScreenBitDepth = 0; - playerMessageInfo.u.registerVisualPluginMessage.windowAlignmentInBytes = 0; - - status = PlayerRegisterVisualPlugin(messageInfo->u.initMessage.appCookie, - messageInfo->u.initMessage.appProc, - &playerMessageInfo); - - appCookie = messageInfo->u.initMessage.appCookie; - appProc = messageInfo->u.initMessage.appProc; - - return status; -} - -#ifdef WIN32 -#define IMPEXP __declspec(dllexport) -#define MAIN iTunesPluginMain -#else -#ifdef MACOS -#define IMPEXP -#define MAIN iTunesPluginMainMachO -#endif /** MACOS */ -#endif /** WIN32 */ - -#ifdef MACOS -extern "C" -#endif -IMPEXP OSStatus MAIN (OSType message, PluginMessageInfo *messageInfo, void *refCon) -{ - OSStatus status = noErr; - char fname[1024]; - char fontURL[1024]; - char presetURL[1024]; - - switch (message) { - case kPluginInitMessage: { -#ifdef DEBUG -#ifdef MACOS - debugFile = fopen( "/Users/descarte/iprojectM.txt", "wb" ); - fprintf( debugFile, "registerPlugin: %d\n", status ); - fflush( debugFile ); -#endif /** MACOS */ -#endif /** DEBUG */ - - DWRITE( "%s: %d\t%d\n", - "kPluginInitMessage", - messageInfo->u.initMessage.majorVersion, - messageInfo->u.initMessage.minorVersion ); - status = registerPlugin(messageInfo); - if ( status == noErr ) { -#ifdef MACOS - desktopMode = CGDisplayCurrentMode( kCGDirectMainDisplay ); - fullscreenMode = - CGDisplayBestModeForParameters( kCGDirectMainDisplay, - 32, 800, 600, NULL ); -#ifdef DEBUG - if ( debugFile != NULL ) { - long dwidth = 0, dheight = 0; - /** Get the desktop mode */ - /* Get the height, width, bpp, and refresh rate of this display mode. Print them out. */ - CFNumberRef number ; - number = (CFNumberRef)CFDictionaryGetValue( desktopMode, kCGDisplayWidth ) ; - CFNumberGetValue( number, kCFNumberLongType, &dwidth ) ; - number = (CFNumberRef)CFDictionaryGetValue( desktopMode, kCGDisplayHeight ) ; - CFNumberGetValue( number, kCFNumberLongType, &dheight ) ; - - DWRITE( "stashing desktop mode: %d x %d -> %d\n", - dwidth, dheight, exactMatch ); - } -#endif -#endif - - /** Initialise projectM */ - if (globalPM != 0) - delete(globalPM); - globalPM = new projectM(); - globalPM->projectM_reset(); - - /** Set basic rendering options */ - globalPM->renderTarget->usePbuffers = 1; - globalPM->fullscreen = 0; - globalPM->renderTarget->texsize = 1024; - globalPM->showfps = 1; - - /** Get the font and preset locations */ - PlayerGetPluginFileSpec( appCookie, appProc, &pluginSpec ); - fss2path( &pluginSpec, fname ); - DWRITE( "fsspace name: %s\n", fname ); - sprintf( fontURL, "%s/Contents/Resources/fonts", fname ); - globalPM->fontURL = (char *)malloc( sizeof( char ) * 1024 ); - strncpy( globalPM->fontURL, fontURL, strlen( fontURL ) + 1 ); - - DWRITE( "fontURL: %s\n", globalPM->fontURL ); - - sprintf( presetURL, "%s/Contents/Resources/presets", fname ); - globalPM->presetURL = (char *)malloc( sizeof( char ) * 1024 ); - strncpy( globalPM->presetURL, presetURL, strlen( presetURL ) + 1 ); - - DWRITE( "presetURL: %s\n", globalPM->presetURL ); - } - - break; - } - case kPluginCleanupMessage: { - DWRITE( "%s\n", "kPluginCleanupMessage" ); -#ifdef DEBUG - if ( debugFile != NULL ) { - fclose( debugFile ); - } -#endif - status = noErr; - break; - } - default: { - status = unimpErr; - break; - } - } - - DWRITE( "status: %d\n", status ); - - return status; -} diff --git a/src/projectM-iTunes/iprojectM.dsp b/src/projectM-iTunes/iprojectM.dsp deleted file mode 100755 index d8ec624164..0000000000 --- a/src/projectM-iTunes/iprojectM.dsp +++ /dev/null @@ -1,125 +0,0 @@ -# Microsoft Developer Studio Project File - Name="iprojectM" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=iprojectM - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "iprojectM.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "iprojectM.mak" CFG="iprojectM - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "iprojectM - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "iprojectM - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "iprojectM - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib /nologo /dll /machine:I386 /libpath:"..\projectM\Release" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=copy Release\iprojectM.dll c:\Progra~1\iTunes\Plug-ins -# End Special Build Tool - -!ELSEIF "$(CFG)" == "iprojectM - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /D "DEBUG" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\projectM\Debug" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=copy Debug\iprojectM.dll C:\Progra~1\iTunes\Plug-ins -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "iprojectM - Win32 Release" -# Name "iprojectM - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\iprojectM.c -# End Source File -# Begin Source File - -SOURCE=.\win32\iTunesAPI.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\win32\iTunesAPI.h -# End Source File -# Begin Source File - -SOURCE=.\win32\iTunesVisualAPI.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/src/projectM-iTunes/iprojectM.hpp b/src/projectM-iTunes/iprojectM.hpp new file mode 100644 index 0000000000..e67f522084 --- /dev/null +++ b/src/projectM-iTunes/iprojectM.hpp @@ -0,0 +1,165 @@ +// +// File: iTunesPlugIn.h +// +// Abstract: Visual plug-in for iTunes +// +// Version: 2.0 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright © 2001-2011 Apple Inc. All Rights Reserved. +// + +#ifndef ITUNESPLUGIN_H +#define ITUNESPLUGIN_H + +#include "iTunesVisualAPI.h" +#include "libprojectM/projectM.hpp" +#include "getConfigFilename.h" +#include +#include + +#if TARGET_OS_MAC +#import +#endif + +#if TARGET_OS_WIN32 +#include +#endif // TARGET_OS_WIN32 + +//------------------------------------------------------------------------------------------------- +// build flags +//------------------------------------------------------------------------------------------------- +#define USE_SUBVIEW (TARGET_OS_MAC && 1) // use a custom NSView subview on the Mac + +//------------------------------------------------------------------------------------------------- +// typedefs, structs, enums, etc. +//------------------------------------------------------------------------------------------------- + +#define kTVisualPluginCreator 'hook' + +#define kTVisualPluginMajorVersion 3 +#define kTVisualPluginMinorVersion 0 +#define kTVisualPluginReleaseStage betaStage +#define kTVisualPluginNonFinalRelease 0 + +struct VisualPluginData; + +#import +#import + +// "namespace" our ObjC classname to avoid load conflicts between multiple visualizer plugins +#define VisualView iProjectM_VisualView + +@class VisualView; + + +#define kInfoTimeOutInSeconds 10 // draw info/artwork for N seconds when it changes or playback starts +#define kPlayingPulseRateInHz 60 // when iTunes is playing, draw N times a second +#define kStoppedPulseRateInHz 5 // when iTunes is not playing, draw N times a second + +struct VisualPluginData +{ + void * appCookie; + ITAppProcPtr appProc; + + // projectM stuff + projectM *pm; + +#if TARGET_OS_MAC + NSView* destView; + NSRect destRect; + #if USE_SUBVIEW + VisualView* subview; // custom subview + #endif + NSImage * currentArtwork; +#else + HWND destView; + RECT destRect; + Gdiplus::Bitmap* currentArtwork; + long int lastDrawTime; +#endif + OptionBits destOptions; + + RenderVisualData renderData; + UInt32 renderTimeStampID; + + ITTrackInfo trackInfo; + ITStreamInfo streamInfo; + + // Plugin-specific data + + Boolean playing; // is iTunes currently playing audio? + Boolean padding[3]; + + Boolean readyToDraw; + + time_t drawInfoTimeOut; // when should we stop showing info/artwork? + + UInt8 minLevel[kVisualMaxDataChannels]; // 0-128 + UInt8 maxLevel[kVisualMaxDataChannels]; // 0-128 +}; +typedef struct VisualPluginData VisualPluginData; + +void GetVisualName( ITUniStr255 name ); +OptionBits GetVisualOptions( void ); +OSStatus RegisterVisualPlugin( PluginMessageInfo * messageInfo ); + +OSStatus ActivateVisual( VisualPluginData * visualPluginData, VISUAL_PLATFORM_VIEW destView, OptionBits options ); +OSStatus MoveVisual( VisualPluginData * visualPluginData, OptionBits newOptions ); +OSStatus DeactivateVisual( VisualPluginData * visualPluginData ); +OSStatus ResizeVisual( VisualPluginData * visualPluginData ); + +void ProcessRenderData( VisualPluginData * visualPluginData, UInt32 timeStampID, const RenderVisualData * renderData ); +void ResetRenderData( VisualPluginData * visualPluginData ); +void UpdateInfoTimeOut( VisualPluginData * visualPluginData ); +void UpdateTrackInfo( VisualPluginData * visualPluginData, ITTrackInfo * trackInfo, ITStreamInfo * streamInfo ); +void UpdateArtwork( VisualPluginData * visualPluginData, VISUAL_PLATFORM_DATA coverArt, UInt32 coverArtSize, UInt32 coverArtFormat ); +void UpdatePulseRate( VisualPluginData * visualPluginData, UInt32 * ioPulseRate ); + +void DrawVisual( VisualPluginData * visualPluginData ); +void PulseVisual( VisualPluginData * visualPluginData, UInt32 timeStampID, const RenderVisualData * renderData, UInt32 * ioPulseRate ); +void InvalidateVisual( VisualPluginData * visualPluginData ); + +OSStatus ConfigureVisual( VisualPluginData * visualPluginData ); + +void initProjectM( VisualPluginData * visualPluginData, std::string presetPath ); +void renderProjectMTexture( VisualPluginData * visualPluginData ); +void keypressProjectM( VisualPluginData * visualPluginData, projectMEvent event, projectMKeycode keycode, projectMModifier mod ); + +#endif diff --git a/src/projectM-iTunes/iprojectM.mm b/src/projectM-iTunes/iprojectM.mm new file mode 100644 index 0000000000..789f3122cd --- /dev/null +++ b/src/projectM-iTunes/iprojectM.mm @@ -0,0 +1,478 @@ +// cross-platform iTunes plugin code, from the iTunes Visual SDK +// with additions for projectM support + + +#include "iprojectM.hpp" +#include + + +// projectM +void initProjectM( VisualPluginData * visualPluginData, std::string presetPath ) { +// std::string config_filename = getConfigFilename(); + std::string cfg_path = "/usr/local/share/projectM/config.inp"; + + // hardcoded settings - disabled + projectM::Settings settings; + settings.meshX = 140; + settings.meshY = 110; + settings.fps = 60; + settings.textureSize = 2048; // idk? + settings.windowWidth = 1920; + settings.windowHeight = 1280; + settings.smoothPresetDuration = 0.5; // seconds + settings.presetDuration = 15; // seconds + settings.beatSensitivity = 3; + settings.aspectCorrection = 1; + settings.easterEgg = 0; // ??? + settings.shuffleEnabled = 1; + settings.softCutRatingsEnabled = 1; // ??? + + settings.presetURL = presetPath; + settings.titleFontURL = "/usr/local/share/projectM/fonts/Vera.ttf"; + settings.menuFontURL = "/usr/local/share/projectM/fonts/VeraMono.ttf"; + projectM *pm = new projectM(settings, 0); + + NSLog(@"GL_VERSION: %s", glGetString(GL_VERSION)); + NSLog(@"GL_SHADING_LANGUAGE_VERSION: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); + NSLog(@"GL_VENDOR: %s", glGetString(GL_VENDOR)); + + // use config file +// projectM *pm = new projectM(cfg_path); + + visualPluginData->pm = pm; + + pm->selectRandom(true); + NSLog(@"random selected"); + +} + +void keypressProjectM( VisualPluginData * visualPluginData, projectMEvent event, projectMKeycode keycode, projectMModifier mod ) { + visualPluginData->pm->key_handler(event, keycode, mod); +} + +void renderProjectMTexture( VisualPluginData * visualPluginData ){ + // this needs to be updated for gl3 (see SDL version) +#if 0 + static int textureHandle = visualPluginData->pm->initRenderToTexture(); + + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1, 1, -1, 1, 2, 10); + + glEnable(GL_DEPTH_TEST); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glEnable(GL_TEXTURE_2D); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + + glBindTexture(GL_TEXTURE_2D, textureHandle); + glColor4d(1.0, 1.0, 1.0, 1.0); + + glBegin(GL_QUADS); + glTexCoord2d(0, 1); + glVertex3d(-0.8, 0.8, 0); + glTexCoord2d(0, 0); + glVertex3d(-0.8, -0.8, 0); + glTexCoord2d(1, 0); + glVertex3d(0.8, -0.8, 0); + glTexCoord2d(1, 1); + glVertex3d(0.8, 0.8, 0); + glEnd(); + + glDisable(GL_TEXTURE_2D); + + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); +#endif +} + +//------------------------------------------------------------------------------------------------- +// ProcessRenderData +//------------------------------------------------------------------------------------------------- +// +void ProcessRenderData( VisualPluginData * visualPluginData, UInt32 timeStampID, const RenderVisualData * renderData ) +{ + SInt16 index; + SInt32 channel; + projectM *pm = visualPluginData->pm; + + visualPluginData->renderTimeStampID = timeStampID; + + if ( renderData == NULL ) + { + memset( &visualPluginData->renderData, 0, sizeof(visualPluginData->renderData) ); + return; + } + + visualPluginData->renderData = *renderData; + + for ( channel = 0;channel < renderData->numSpectrumChannels; channel++ ) + { + visualPluginData->minLevel[channel] = + visualPluginData->maxLevel[channel] = + renderData->spectrumData[channel][0]; + + for ( index = 1; index < kVisualNumSpectrumEntries; index++ ) + { + UInt8 value; + + value = renderData->spectrumData[channel][index]; + + if ( value < visualPluginData->minLevel[channel] ) + visualPluginData->minLevel[channel] = value; + else if ( value > visualPluginData->maxLevel[channel] ) + visualPluginData->maxLevel[channel] = value; + } + } + + if (pm != NULL) { + // pass waveform data to projectM + pm->pcm()->addPCM8_512(renderData->waveformData); + } +} + +//------------------------------------------------------------------------------------------------- +// ResetRenderData +//------------------------------------------------------------------------------------------------- +// +void ResetRenderData( VisualPluginData * visualPluginData ) +{ + memset( &visualPluginData->renderData, 0, sizeof(visualPluginData->renderData) ); + memset( visualPluginData->minLevel, 0, sizeof(visualPluginData->minLevel) ); +} + +//------------------------------------------------------------------------------------------------- +// UpdateInfoTimeOut +//------------------------------------------------------------------------------------------------- +// +void UpdateInfoTimeOut( VisualPluginData * visualPluginData ) +{ + // reset the timeout value we will use to show the info/artwork if we have it during DrawVisual() + visualPluginData->drawInfoTimeOut = time( NULL ) + kInfoTimeOutInSeconds; +} + +//------------------------------------------------------------------------------------------------- +// UpdatePulseRate +//------------------------------------------------------------------------------------------------- +// +void UpdatePulseRate( VisualPluginData * visualPluginData, UInt32 * ioPulseRate ) +{ + // vary the pulse rate based on whether or not iTunes is currently playing + if ( visualPluginData->playing ) + *ioPulseRate = kPlayingPulseRateInHz; + else + *ioPulseRate = kStoppedPulseRateInHz; +} + +//------------------------------------------------------------------------------------------------- +// UpdateTrackInfo +//------------------------------------------------------------------------------------------------- +// +void UpdateTrackInfo( VisualPluginData * visualPluginData, ITTrackInfo * trackInfo, ITStreamInfo * streamInfo ) +{ + if ( trackInfo != NULL ) + visualPluginData->trackInfo = *trackInfo; + else + memset( &visualPluginData->trackInfo, 0, sizeof(visualPluginData->trackInfo) ); + + if ( streamInfo != NULL ) + visualPluginData->streamInfo = *streamInfo; + else + memset( &visualPluginData->streamInfo, 0, sizeof(visualPluginData->streamInfo) ); + + UpdateInfoTimeOut( visualPluginData ); +} + +//------------------------------------------------------------------------------------------------- +// RequestArtwork +//------------------------------------------------------------------------------------------------- +// +static void RequestArtwork( VisualPluginData * visualPluginData ) +{ + // only request artwork if this plugin is active + if ( visualPluginData->destView != NULL ) + { + OSStatus status; + + status = PlayerRequestCurrentTrackCoverArt( visualPluginData->appCookie, visualPluginData->appProc ); + } +} + +//------------------------------------------------------------------------------------------------- +// PulseVisual +//------------------------------------------------------------------------------------------------- +// +void PulseVisual( VisualPluginData * visualPluginData, UInt32 timeStampID, const RenderVisualData * renderData, UInt32 * ioPulseRate ) +{ + // update internal state + ProcessRenderData( visualPluginData, timeStampID, renderData ); + + // if desired, adjust the pulse rate + UpdatePulseRate( visualPluginData, ioPulseRate ); +} + +//------------------------------------------------------------------------------------------------- +// VisualPluginHandler +//------------------------------------------------------------------------------------------------- +// +static OSStatus VisualPluginHandler(OSType message,VisualPluginMessageInfo *messageInfo, void *refCon) +{ + OSStatus status; + VisualPluginData * visualPluginData; + + visualPluginData = (VisualPluginData*) refCon; + + status = noErr; + + switch ( message ) + { + /* + Sent when the visual plugin is registered. The plugin should do minimal + memory allocations here. + */ + case kVisualPluginInitMessage: + { + visualPluginData = (VisualPluginData *)calloc( 1, sizeof(VisualPluginData) ); + if ( visualPluginData == NULL ) + { + status = memFullErr; + break; + } + + visualPluginData->appCookie = messageInfo->u.initMessage.appCookie; + visualPluginData->appProc = messageInfo->u.initMessage.appProc; + + messageInfo->u.initMessage.refCon = (void *)visualPluginData; + break; + } + /* + Sent when the visual plugin is unloaded. + */ + case kVisualPluginCleanupMessage: + { + if ( visualPluginData != NULL ) { + if (visualPluginData->pm) { + delete(visualPluginData->pm); + visualPluginData->pm = NULL; + } + free( visualPluginData ); + } + break; + } + /* + Sent when the visual plugin is enabled/disabled. iTunes currently enables all + loaded visual plugins at launch. The plugin should not do anything here. + */ + case kVisualPluginEnableMessage: + case kVisualPluginDisableMessage: + { + break; + } + /* + Sent if the plugin requests idle messages. Do this by setting the kVisualWantsIdleMessages + option in the RegisterVisualMessage.options field. + + DO NOT DRAW in this routine. It is for updating internal state only. + */ + case kVisualPluginIdleMessage: + { + break; + } + /* + Sent if the plugin requests the ability for the user to configure it. Do this by setting + the kVisualWantsConfigure option in the RegisterVisualMessage.options field. + */ + case kVisualPluginConfigureMessage: + { + status = ConfigureVisual( visualPluginData ); + break; + } + /* + Sent when iTunes is going to show the visual plugin. At this + point, the plugin should allocate any large buffers it needs. + */ + case kVisualPluginActivateMessage: + { + status = ActivateVisual( visualPluginData, messageInfo->u.activateMessage.view, messageInfo->u.activateMessage.options ); + + // note: do not draw here if you can avoid it, a draw message will be sent as soon as possible + + if ( status == noErr ) + RequestArtwork( visualPluginData ); + break; + } + /* + Sent when this visual is no longer displayed. + */ + case kVisualPluginDeactivateMessage: + { + UpdateTrackInfo( visualPluginData, NULL, NULL ); + + status = DeactivateVisual( visualPluginData ); + break; + } + /* + Sent when iTunes is moving the destination view to a new parent window (e.g. to/from fullscreen). + */ + case kVisualPluginWindowChangedMessage: + { + status = MoveVisual( visualPluginData, messageInfo->u.windowChangedMessage.options ); + break; + } + /* + Sent when iTunes has changed the rectangle of the currently displayed visual. + + Note: for custom NSView subviews, the subview's frame is automatically resized. + */ + case kVisualPluginFrameChangedMessage: + { + status = ResizeVisual( visualPluginData ); + break; + } + /* + Sent for the visual plugin to update its internal animation state. + Plugins are allowed to draw at this time but it is more efficient if they + wait until the kVisualPluginDrawMessage is sent OR they simply invalidate + their own subview. The pulse message can be sent faster than the system + will allow drawing to support spectral analysis-type plugins but drawing + will be limited to the system refresh rate. + */ + case kVisualPluginPulseMessage: + { + PulseVisual( visualPluginData, + messageInfo->u.pulseMessage.timeStampID, + messageInfo->u.pulseMessage.renderData, + &messageInfo->u.pulseMessage.newPulseRateInHz ); + + // Invalidate visual seems to lag a few frames behind, so let's draw as soon as possible + DrawVisual( visualPluginData ); +// InvalidateVisual( visualPluginData ); + break; + } + /* + It's time for the plugin to draw a new frame. + + For plugins using custom subviews, you should ignore this message and just + draw in your view's draw method. It will never be called if your subview + is set up properly. + */ + case kVisualPluginDrawMessage: + { +#if !USE_SUBVIEW + // Now drawing in kVisualPluginPulseMessage -revmischa 09/14 + DrawVisual( visualPluginData ); +#endif + break; + } + /* + Sent when the player starts. + */ + case kVisualPluginPlayMessage: + { + visualPluginData->playing = true; + + UpdateTrackInfo( visualPluginData, messageInfo->u.playMessage.trackInfo, messageInfo->u.playMessage.streamInfo ); + + RequestArtwork( visualPluginData ); + + InvalidateVisual( visualPluginData ); + break; + } + /* + Sent when the player changes the current track information. This + is used when the information about a track changes. + */ + case kVisualPluginChangeTrackMessage: + { + UpdateTrackInfo( visualPluginData, messageInfo->u.changeTrackMessage.trackInfo, messageInfo->u.changeTrackMessage.streamInfo ); + + RequestArtwork( visualPluginData ); + + InvalidateVisual( visualPluginData ); + break; + } + /* + Artwork for the currently playing song is being delivered per a previous request. + + Note that NULL for messageInfo->u.coverArtMessage.coverArt means the currently playing song has no artwork. + */ + case kVisualPluginCoverArtMessage: + { + UpdateArtwork( visualPluginData, + messageInfo->u.coverArtMessage.coverArt, + messageInfo->u.coverArtMessage.coverArtSize, + messageInfo->u.coverArtMessage.coverArtFormat ); + + InvalidateVisual( visualPluginData ); + break; + } + /* + Sent when the player stops or pauses. + */ + case kVisualPluginStopMessage: + { + visualPluginData->playing = false; + + ResetRenderData( visualPluginData ); + + InvalidateVisual( visualPluginData ); + break; + } + /* + Sent when the player changes the playback position. + */ + case kVisualPluginSetPositionMessage: + { + break; + } + default: + { + status = unimpErr; + break; + } + } + + return status; +} + +//------------------------------------------------------------------------------------------------- +// RegisterVisualPlugin +//------------------------------------------------------------------------------------------------- +// +OSStatus RegisterVisualPlugin( PluginMessageInfo * messageInfo ) +{ + PlayerMessageInfo playerMessageInfo; + OSStatus status; + + memset( &playerMessageInfo.u.registerVisualPluginMessage, 0, sizeof(playerMessageInfo.u.registerVisualPluginMessage) ); + + GetVisualName( playerMessageInfo.u.registerVisualPluginMessage.name ); + + SetNumVersion( &playerMessageInfo.u.registerVisualPluginMessage.pluginVersion, kTVisualPluginMajorVersion, kTVisualPluginMinorVersion, kTVisualPluginReleaseStage, kTVisualPluginNonFinalRelease ); + + playerMessageInfo.u.registerVisualPluginMessage.options = GetVisualOptions(); + playerMessageInfo.u.registerVisualPluginMessage.handler = (VisualPluginProcPtr)VisualPluginHandler; + playerMessageInfo.u.registerVisualPluginMessage.registerRefCon = 0; + playerMessageInfo.u.registerVisualPluginMessage.creator = kTVisualPluginCreator; + + playerMessageInfo.u.registerVisualPluginMessage.pulseRateInHz = kStoppedPulseRateInHz; // update my state N times a second + playerMessageInfo.u.registerVisualPluginMessage.numWaveformChannels = 2; + playerMessageInfo.u.registerVisualPluginMessage.numSpectrumChannels = 2; + + playerMessageInfo.u.registerVisualPluginMessage.minWidth = 64; + playerMessageInfo.u.registerVisualPluginMessage.minHeight = 64; + playerMessageInfo.u.registerVisualPluginMessage.maxWidth = 0; // no max width limit + playerMessageInfo.u.registerVisualPluginMessage.maxHeight = 0; // no max height limit + + status = PlayerRegisterVisualPlugin( messageInfo->u.initMessage.appCookie, messageInfo->u.initMessage.appProc, &playerMessageInfo ); + + return status; +} diff --git a/src/projectM-iTunes/iprojectM_mac.mm b/src/projectM-iTunes/iprojectM_mac.mm new file mode 100644 index 0000000000..bb7b6a1119 --- /dev/null +++ b/src/projectM-iTunes/iprojectM_mac.mm @@ -0,0 +1,442 @@ +// main drawing and interface code for Mac OS iTunes +// Mischa Spiegelmock, 2012 + +// based on the iTunes SDK example code + +// https://www.fenestrated.net/mirrors/Apple%20Technotes%20(As%20of%202002)/tn/tn2016.html + +#import "iprojectM.hpp" + +#import +#import +#import +#include "libprojectM/cocoatoprojectM.h" + +#define kTVisualPluginName CFSTR("projectM") + +extern "C" OSStatus iTunesPluginMainMachO( OSType inMessage, PluginMessageInfo *inMessageInfoPtr, void *refCon ) __attribute__((visibility("default"))); + +static bool _keypressProjectM( VisualPluginData * visualPluginData, projectMEvent eventType, NSEvent *event ); + +#if USE_SUBVIEW +@interface VisualView : NSOpenGLView +{ + VisualPluginData * _visualPluginData; +} + +@property (nonatomic, assign) VisualPluginData * visualPluginData; + +- (void)drawRect:(NSRect)dirtyRect; +- (BOOL)acceptsFirstResponder; +- (BOOL)becomeFirstResponder; +- (BOOL)resignFirstResponder; +- (void)keyDown:(NSEvent *)theEvent; +- (void)keyUp:(NSEvent *)theEvent; + +@end + +#endif // USE_SUBVIEW + +void DrawVisual( VisualPluginData * visualPluginData ) +{ + CGPoint where; + + VISUAL_PLATFORM_VIEW drawView = visualPluginData->subview; + if (!visualPluginData->readyToDraw) + return; + + glClearColor( 0.0, 0.5, 0.0, 0.0 ); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + // render + visualPluginData->pm->renderFrame(); + + glFlush(); + + + // TODO: artwork overlay + + // should we draw the info/artwork in the bottom-left corner? + time_t theTime = time( NULL ); + + if ( theTime < visualPluginData->drawInfoTimeOut ) + { + where = CGPointMake( 10, 10 ); + + // if we have a song title, draw it (prefer the stream title over the regular name if we have it) + NSString * theString = NULL; + + if ( visualPluginData->streamInfo.streamTitle[0] != 0 ) + theString = [NSString stringWithCharacters:&visualPluginData->streamInfo.streamTitle[1] length:visualPluginData->streamInfo.streamTitle[0]]; + else if ( visualPluginData->trackInfo.name[0] != 0 ) + theString = [NSString stringWithCharacters:&visualPluginData->trackInfo.name[1] length:visualPluginData->trackInfo.name[0]]; + + if ( theString != NULL ) + { + NSDictionary * attrs = [NSDictionary dictionaryWithObjectsAndKeys:[NSColor whiteColor], NSForegroundColorAttributeName, NULL]; + + [theString drawAtPoint:where withAttributes:attrs]; + } + + // draw the artwork + if ( visualPluginData->currentArtwork != NULL ) + { + where.y += 20; + + [visualPluginData->currentArtwork drawAtPoint:where fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:0.75]; + } + } +} + + +//------------------------------------------------------------------------------------------------- +// UpdateArtwork +//------------------------------------------------------------------------------------------------- +// +void UpdateArtwork( VisualPluginData * visualPluginData, CFDataRef coverArt, UInt32 coverArtSize, UInt32 coverArtFormat ) +{ + // release current image + [visualPluginData->currentArtwork release]; + visualPluginData->currentArtwork = NULL; + + // create 100x100 NSImage* out of incoming CFDataRef if non-null (null indicates there is no artwork for the current track) + if ( coverArt != NULL ) + { + visualPluginData->currentArtwork = [[NSImage alloc] initWithData:(NSData *)coverArt]; + + [visualPluginData->currentArtwork setSize:CGSizeMake( 100, 100 )]; + } + + UpdateInfoTimeOut( visualPluginData ); +} + +//------------------------------------------------------------------------------------------------- +// InvalidateVisual +//------------------------------------------------------------------------------------------------- +// +void InvalidateVisual( VisualPluginData * visualPluginData ) +{ + (void) visualPluginData; + +#if USE_SUBVIEW + // when using a custom subview, we invalidate it so we get our own draw calls + [visualPluginData->subview setNeedsDisplay:YES]; +#endif +} + +//------------------------------------------------------------------------------------------------- +// CreateVisualContext +//------------------------------------------------------------------------------------------------- +// +OSStatus ActivateVisual( VisualPluginData * visualPluginData, VISUAL_PLATFORM_VIEW destView, OptionBits options ) +{ + OSStatus status = noErr; + + visualPluginData->destView = destView; + visualPluginData->destRect = [destView bounds]; + visualPluginData->destOptions = options; + visualPluginData->readyToDraw = false; + + UpdateInfoTimeOut( visualPluginData ); + +#if USE_SUBVIEW + + // NSView-based subview + visualPluginData->subview = [[VisualView alloc] initWithFrame:visualPluginData->destRect]; + if ( visualPluginData->subview != NULL ) + { + [visualPluginData->subview setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; + + [visualPluginData->subview setVisualPluginData:visualPluginData]; + + [destView addSubview:visualPluginData->subview]; + } + else + { + status = memFullErr; + } + + + [[visualPluginData->subview openGLContext] makeCurrentContext]; + + +#endif + NSLog(@"activate visual"); + if (visualPluginData->pm == NULL) { + + NSBundle* me = [NSBundle bundleForClass: VisualView.class]; + NSLog(@"main bundle: %@", [me bundlePath]); + NSString* presetsPath = [me pathForResource:@"presets" ofType:nil]; + NSLog(@"presets path %@", presetsPath); + + initProjectM(visualPluginData, std::string([presetsPath UTF8String])); + + // correctly size it + ResizeVisual(visualPluginData); + } + + NSLog(@"activated visual"); + + return status; +} + +//------------------------------------------------------------------------------------------------- +// MoveVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus MoveVisual( VisualPluginData * visualPluginData, OptionBits newOptions ) +{ + visualPluginData->destRect = [visualPluginData->destView bounds]; + visualPluginData->destOptions = newOptions; + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// DeactivateVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus DeactivateVisual( VisualPluginData * visualPluginData ) +{ +#if USE_SUBVIEW + [visualPluginData->subview removeFromSuperview]; + [visualPluginData->subview autorelease]; + visualPluginData->subview = NULL; + [visualPluginData->currentArtwork release]; + visualPluginData->currentArtwork = NULL; +#endif + + visualPluginData->destView = NULL; + visualPluginData->destRect = CGRectNull; + visualPluginData->drawInfoTimeOut = 0; + visualPluginData->readyToDraw = false; + + if (visualPluginData->pm != NULL) { + delete(visualPluginData->pm); + visualPluginData->pm = NULL; + } + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// ResizeVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus ResizeVisual( VisualPluginData * visualPluginData ) +{ + visualPluginData->destRect = [visualPluginData->subview bounds]; + + if (visualPluginData->pm != NULL) { + visualPluginData->pm->projectM_resetGL(visualPluginData->destRect.size.width, visualPluginData->destRect.size.height); + NSLog(@"resized to %@ %@", [NSNumber numberWithDouble: visualPluginData->destRect.size.width], [NSNumber numberWithDouble: visualPluginData->destRect.size.height]); + + visualPluginData->readyToDraw = true; + } + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// ConfigureVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus ConfigureVisual( VisualPluginData * visualPluginData ) +{ + (void) visualPluginData; + + // load nib + // show modal dialog + // update settings + // invalidate + + return noErr; +} + +#pragma mark - + +#if USE_SUBVIEW + +@implementation VisualView + +@synthesize visualPluginData = _visualPluginData; + +- (id)initWithFrame:(NSRect)frame +{ + NSLog(@"initWithFrame called"); + NSOpenGLPixelFormatAttribute pixelFormatAttributes[] = + { + NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core, +// NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion4_1Core, +// NSOpenGLPFAColorSize , 24 , +// NSOpenGLPFAAlphaSize , 8 , +// NSOpenGLPFADoubleBuffer , + NSOpenGLPFAAccelerated , + 0 + }; + NSOpenGLPixelFormat *pixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:pixelFormatAttributes]; + if (pixelFormat == nil) + { + NSLog(@"Unable to create pixel format."); + return self; + } + self = [super initWithFrame:frame pixelFormat:pixelFormat]; + if (self == nil) + { + NSLog(@"Unable to create an OpenGL context."); + return self; + } + + NSLog(@"super initWithFrame called"); + + return self; +} + +//------------------------------------------------------------------------------------------------- +// isOpaque +//------------------------------------------------------------------------------------------------- +// +- (BOOL)isOpaque +{ + // your custom views should always be opaque or iTunes will waste CPU time drawing behind you + return YES; +} + +//------------------------------------------------------------------------------------------------- +// drawRect +//------------------------------------------------------------------------------------------------- +// +-(void)drawRect:(NSRect)dirtyRect +{ + if ( _visualPluginData != NULL ) + { + DrawVisual( _visualPluginData ); + } +} + +//------------------------------------------------------------------------------------------------- +// acceptsFirstResponder +//------------------------------------------------------------------------------------------------- +// +- (BOOL)acceptsFirstResponder +{ + return YES; +} + +//------------------------------------------------------------------------------------------------- +// becomeFirstResponder +//------------------------------------------------------------------------------------------------- +// +- (BOOL)becomeFirstResponder +{ + return YES; +} + +//------------------------------------------------------------------------------------------------- +// resignFirstResponder +//------------------------------------------------------------------------------------------------- +// +- (BOOL)resignFirstResponder +{ + return YES; +} + +- (void)keyDown:(NSEvent *)event { + if ( _keypressProjectM( _visualPluginData, PROJECTM_KEYDOWN, event ) ) + return; + + [super keyDown:event]; +} + +- (void)keyUp:(NSEvent *)event { + if ( _keypressProjectM( _visualPluginData, PROJECTM_KEYUP, event ) ) + return; + + [super keyUp:event]; +} + +static bool _keypressProjectM( VisualPluginData * visualPluginData, projectMEvent eventType, NSEvent *eventRec ) { + // Handle key events here. + // Do not eat the space bar, ESC key, TAB key, or the arrow keys: iTunes reserves those keys. + + projectMKeycode keycode = cocoa2pmKeycode(eventRec); + projectMModifier mod = cocoa2pmModifier(eventRec); + + switch ([eventRec keyCode]) { + case kVK_Tab: + case kVK_Space: + case kVK_LeftArrow: + case kVK_RightArrow: + case kVK_UpArrow: + case kVK_DownArrow: + case kVK_Escape: + break; + + default: + keypressProjectM( visualPluginData, eventType, keycode, mod ); + return true; + } + + return false; +} + +@end + +#endif // USE_SUBVIEW + +#pragma mark - + +//------------------------------------------------------------------------------------------------- +// GetVisualName +//------------------------------------------------------------------------------------------------- +// +void GetVisualName( ITUniStr255 name ) +{ + CFIndex length = CFStringGetLength( kTVisualPluginName ); + + name[0] = (UniChar)length; + CFStringGetCharacters( kTVisualPluginName, CFRangeMake( 0, length ), &name[1] ); +} + +//------------------------------------------------------------------------------------------------- +// GetVisualOptions +//------------------------------------------------------------------------------------------------- +// +OptionBits GetVisualOptions( void ) +{ + OptionBits options = (kVisualUsesOnly3D | kVisualWantsIdleMessages); + +#if USE_SUBVIEW + options |= kVisualUsesSubview; +#endif + + return options; +} + +//------------------------------------------------------------------------------------------------- +// iTunesPluginMainMachO +//------------------------------------------------------------------------------------------------- +// +OSStatus iTunesPluginMainMachO( OSType message, PluginMessageInfo * messageInfo, void * refCon ) +{ + OSStatus status; + + (void) refCon; + + switch ( message ) + { + case kPluginInitMessage: + status = RegisterVisualPlugin( messageInfo ); + break; + + case kPluginCleanupMessage: + status = noErr; + break; + + default: + status = unimpErr; + break; + } + + return status; +} diff --git a/src/projectM-iTunes/iprojectM_win.cpp b/src/projectM-iTunes/iprojectM_win.cpp new file mode 100644 index 0000000000..b42533aa8d --- /dev/null +++ b/src/projectM-iTunes/iprojectM_win.cpp @@ -0,0 +1,360 @@ +// +// File: iTunesPlugInWin.cpp +// +// Abstract: Visual plug-in for iTunes on Windows +// +// Version: 2.0 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2001-2011 Apple Inc. All Rights Reserved. +// + +//------------------------------------------------------------------------------------------------- +// includes +//------------------------------------------------------------------------------------------------- + +#include "iTunesPlugIn.h" +#include "Time.h" +#include +#include + +//------------------------------------------------------------------------------------------------- +// constants, etc. +//------------------------------------------------------------------------------------------------- + +#define kTVisualPluginName L"iTunes Sample Visualizer" + +static WNDPROC giTunesWndProc = NULL; +static VisualPluginData* gVisualPluginData = NULL; + +//------------------------------------------------------------------------------------------------- +// WndProc +//------------------------------------------------------------------------------------------------- +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_CHAR: // handle key pressed messages + if (wParam == 'I' || wParam == 'i') + { + UpdateInfoTimeOut( gVisualPluginData ); + } + break; + + default: + break; + } + + // call iTunes with the event. Always send space bar, ESC key, TAB key and the arrow keys: iTunes reserves those keys + return CallWindowProc( giTunesWndProc, hWnd, message, wParam, lParam ); +} + +//------------------------------------------------------------------------------------------------- +// DrawVisual +//------------------------------------------------------------------------------------------------- +// +void DrawVisual( VisualPluginData * visualPluginData ) +{ + // this shouldn't happen but let's be safe + if ( visualPluginData && visualPluginData->destView != NULL ) + { + HDC hDC = ::GetDC( visualPluginData->destView ); + + // fill the whole view with black to start + RECT clientRect; + ::GetClientRect( visualPluginData->destView, &clientRect ); + ::FillRect( hDC, &clientRect, (HBRUSH) GetStockObject( BLACK_BRUSH ) ); + + // pick a random location to draw our little square + double randomX = (rand() / 32767.0); // [0, 1] + double randomY = (rand() / 32767.0); // [0, 1] + LONG whereX = (LONG) (randomX * ( clientRect.right - clientRect.left )); + LONG whereY = (LONG) (randomY * ( clientRect.bottom - clientRect.top )); + + COLORREF color; + if ( visualPluginData->playing ) + { + // if playing, draw a square whose color is dictated by the current max levels + int red = visualPluginData->maxLevel[1]; + int green = visualPluginData->maxLevel[1]; + int blue = visualPluginData->maxLevel[0]; + + color = RGB(red, green, blue); + } + else + { + color = RGB(0, 0, 255); // a blue square + } + + RECT drawRect; + drawRect.left = whereX; + drawRect.top = whereY; + drawRect.right = drawRect.left + 100; + drawRect.bottom = drawRect.top + 100; + + HBRUSH brush = CreateSolidBrush( color ); + FillRect( hDC, &drawRect, brush ); + DeleteObject( brush ); + + // should we draw the info/artwork in the bottom-left corner? + time_t theTime = time( NULL ); + + if ( theTime < visualPluginData->drawInfoTimeOut ) + { + whereX = 10; + whereY = clientRect.bottom - 30; + + // if we have a song title, draw it (prefer the stream title over the regular name if we have it) + wchar_t* theString; + int stringSize(0); + + if ( visualPluginData->streamInfo.streamTitle[0] != 0 ) + { + theString = (wchar_t*) visualPluginData->streamInfo.streamTitle[1]; + stringSize = visualPluginData->streamInfo.streamTitle[0]; + } + else if ( visualPluginData->trackInfo.name[0] != 0 ) + { + theString = (wchar_t*) &visualPluginData->trackInfo.name[1]; + stringSize = visualPluginData->trackInfo.name[0]; + } + + // Draw the string + if ( theString != NULL ) + { + RECT stringRect = {whereX, whereY, whereX + 400, whereY + 20}; + + COLORREF oldTextColor = SetTextColor (hDC, RGB(200, 200, 200)); + COLORREF oldBkColor = SetBkColor (hDC, RGB(0, 0, 0)); + ::TextOutW( hDC, whereX, whereY, theString, stringSize ); + + SetTextColor( hDC, oldTextColor ); + SetBkColor( hDC, oldBkColor ); + } + + if ( visualPluginData->currentArtwork ) + { + Gdiplus::Graphics graphics(hDC); + + int imageSizeOnScreen_Width = 120; + int imageSizeOnScreen_Height = imageSizeOnScreen_Width * ( visualPluginData->currentArtwork->GetHeight() / visualPluginData->currentArtwork->GetWidth() ); + + whereY = whereY - 10 - imageSizeOnScreen_Height; + + graphics.DrawImage(visualPluginData->currentArtwork, whereX, whereY, imageSizeOnScreen_Width, imageSizeOnScreen_Height); + } + + ReleaseDC( visualPluginData->destView, hDC ); + } + } +} + +//------------------------------------------------------------------------------------------------- +// UpdateArtwork +//------------------------------------------------------------------------------------------------- +// +void UpdateArtwork( VisualPluginData * visualPluginData, VISUAL_PLATFORM_DATA coverArt, UInt32 coverArtSize, UInt32 coverArtFormat ) +{ + visualPluginData->currentArtwork = NULL; + + HGLOBAL globalMemory = GlobalAlloc( GMEM_MOVEABLE, coverArtSize ); + if ( globalMemory ) + { + void* pBuffer = ::GlobalLock(globalMemory); + if ( pBuffer ) + { + memcpy( pBuffer, coverArt, coverArtSize ); + + IStream* stream = NULL; + CreateStreamOnHGlobal( globalMemory, TRUE, &stream ); + + if ( stream ) + { + Gdiplus::Bitmap* gdiPlusBitmap = Gdiplus::Bitmap::FromStream( stream ); + stream->Release(); + + if ( gdiPlusBitmap && gdiPlusBitmap->GetLastStatus() == Gdiplus::Ok) + { + visualPluginData->currentArtwork = gdiPlusBitmap; + } + } + } + } + + UpdateInfoTimeOut( visualPluginData ); +} + +//------------------------------------------------------------------------------------------------- +// InvalidateVisual +//------------------------------------------------------------------------------------------------- +// +void InvalidateVisual( VisualPluginData * visualPluginData ) +{ + (void) visualPluginData; + + // set flags for internal state to decide what to draw the next time around +} + +//------------------------------------------------------------------------------------------------- +// ActivateVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus ActivateVisual( VisualPluginData * visualPluginData, VISUAL_PLATFORM_VIEW destView, OptionBits options ) +{ + gVisualPluginData = visualPluginData; + + GetClientRect( destView, &visualPluginData->destRect ); + visualPluginData->destView = destView; + visualPluginData->destOptions = options; + + if ( giTunesWndProc == NULL ) + { + giTunesWndProc = (WNDPROC) SetWindowLong( destView, GWL_WNDPROC, (LONG) WndProc ); + } + + UpdateInfoTimeOut( visualPluginData ); + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// MoveVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus MoveVisual( VisualPluginData * visualPluginData, OptionBits newOptions ) +{ + GetClientRect( visualPluginData->destView, &visualPluginData->destRect ); + visualPluginData->destOptions = newOptions; + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// DeactivateVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus DeactivateVisual( VisualPluginData * visualPluginData ) +{ + gVisualPluginData = NULL; + + if (giTunesWndProc != NULL ) + { + SetWindowLong( visualPluginData->destView, GWL_WNDPROC, (LONG) giTunesWndProc ); + giTunesWndProc = NULL; + } + + visualPluginData->destView = NULL; + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// ResizeVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus ResizeVisual( VisualPluginData * visualPluginData ) +{ + GetClientRect( visualPluginData->destView, &visualPluginData->destRect ); + visualPluginData->lastDrawTime = 0; + + return noErr; +} + +//------------------------------------------------------------------------------------------------- +// ConfigureVisual +//------------------------------------------------------------------------------------------------- +// +OSStatus ConfigureVisual( VisualPluginData * visualPluginData ) +{ + (void) visualPluginData; + + visualPluginData->currentArtwork = NULL; + + return noErr; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +//------------------------------------------------------------------------------------------------- +// GetVisualName +//------------------------------------------------------------------------------------------------- +// +void GetVisualName( ITUniStr255 name ) +{ + name[0] = (UniChar)wcslen( kTVisualPluginName ); + wcscpy_s( (wchar_t *)&name[1], 255, kTVisualPluginName ); +} + +//------------------------------------------------------------------------------------------------- +// GetVisualOptions +//------------------------------------------------------------------------------------------------- +// +OptionBits GetVisualOptions( void ) +{ + return kVisualWantsIdleMessages; +} + +//------------------------------------------------------------------------------------------------- +// iTunesPluginMain +//------------------------------------------------------------------------------------------------- +// +extern "C" __declspec(dllexport) OSStatus iTunesPluginMain( OSType message, PluginMessageInfo * messageInfo, void * refCon ) +{ + OSStatus status; + + (void) refCon; + + switch ( message ) + { + case kPluginInitMessage: + status = RegisterVisualPlugin( messageInfo ); + break; + + case kPluginCleanupMessage: + status = noErr; + break; + + default: + status = unimpErr; + break; + } + + return status; +} diff --git a/src/projectM-iTunes/macos/CVS/Entries b/src/projectM-iTunes/macos/CVS/Entries deleted file mode 100755 index 94da2245e8..0000000000 --- a/src/projectM-iTunes/macos/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/iTunesAPI.c/1.1/Wed Oct 6 11:04:09 2004// -/iTunesAPI.h/1.1/Wed Oct 6 11:04:09 2004// -/iTunesVisualAPI.h/1.1/Wed Oct 6 11:04:09 2004// -D diff --git a/src/projectM-iTunes/macos/CVS/Repository b/src/projectM-iTunes/macos/CVS/Repository deleted file mode 100755 index a4ae6071a0..0000000000 --- a/src/projectM-iTunes/macos/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/iprojectM/macos diff --git a/src/projectM-iTunes/macos/CVS/Root b/src/projectM-iTunes/macos/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-iTunes/macos/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-iTunes/macos/contrib/libbz2.a b/src/projectM-iTunes/macos/contrib/libbz2.a new file mode 100644 index 0000000000..18f955a143 Binary files /dev/null and b/src/projectM-iTunes/macos/contrib/libbz2.a differ diff --git a/src/projectM-iTunes/macos/contrib/libpng15.a b/src/projectM-iTunes/macos/contrib/libpng15.a new file mode 100644 index 0000000000..5df3007658 Binary files /dev/null and b/src/projectM-iTunes/macos/contrib/libpng15.a differ diff --git a/src/projectM-iTunes/macos/contrib/libz.a b/src/projectM-iTunes/macos/contrib/libz.a new file mode 100644 index 0000000000..8bac128b16 Binary files /dev/null and b/src/projectM-iTunes/macos/contrib/libz.a differ diff --git a/src/projectM-iTunes/macos/iTunesAPI.c b/src/projectM-iTunes/macos/iTunesAPI.c deleted file mode 100755 index cb9e443f01..0000000000 --- a/src/projectM-iTunes/macos/iTunesAPI.c +++ /dev/null @@ -1,294 +0,0 @@ -/* - File: iTunesAPI.c - - Contains: iTunes Plug-ins interfaces - - Version: Technology: iTunes - Release: 1.1 - - Copyright: � 2001 by Apple Computer, Inc., all rights reserved. - - Bugs?: For bug reports, consult the following page on - the World Wide Web: - - http://developer.apple.com/bugreporter/ - -*/ -#include "iTunesAPI.h" -#include "iTunesVisualAPI.h" - -// MemClear -// -static void MemClear (LogicalAddress dest, SInt32 length) -{ - register unsigned char *ptr; - - ptr = (unsigned char *) dest; - - if( length > 16 ) - { - register unsigned long *longPtr; - - while( ((unsigned long) ptr & 3) != 0 ) - { - *ptr++ = 0; - --length; - } - - longPtr = (unsigned long *) ptr; - - while( length >= 4 ) - { - *longPtr++ = 0; - length -= 4; - } - - ptr = (unsigned char *) longPtr; - } - - while( --length >= 0 ) - { - *ptr++ = 0; - } -} - - -// SetNumVersion -// -void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev) -{ - numVersion->majorRev = majorRev; - numVersion->minorAndBugRev = minorAndBugRev; - numVersion->stage = stage; - numVersion->nonRelRev = nonRelRev; -} - - -// ITCallApplication -// -OSStatus ITCallApplication (void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo) -{ - PlayerMessageInfo localMessageInfo; - - if (messageInfo == nil) - { - MemClear(&localMessageInfo, sizeof(localMessageInfo)); - - messageInfo = &localMessageInfo; - } - - messageInfo->messageMajorVersion = kITCurrentPluginMajorMessageVersion; - messageInfo->messageMinorVersion = kITCurrentPluginMinorMessageVersion; - messageInfo->messageInfoSize = sizeof(PlayerMessageInfo); - - return handler(appCookie, message, messageInfo); -} - - -// PlayerSetFullScreen -// -OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.setFullScreenMessage.fullScreen = fullScreen; - - return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo); -} - - -// PlayerSetFullScreenOptions -// -OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.setFullScreenOptionsMessage.minBitDepth = minBitDepth; - messageInfo.u.setFullScreenOptionsMessage.maxBitDepth = maxBitDepth; - messageInfo.u.setFullScreenOptionsMessage.preferredBitDepth = preferredBitDepth; - messageInfo.u.setFullScreenOptionsMessage.desiredWidth = desiredWidth; - messageInfo.u.setFullScreenOptionsMessage.desiredHeight = desiredHeight; - - return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenOptionsMessage, &messageInfo); -} - - -// PlayerGetPluginData -// -OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) -{ - OSStatus status; - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.getPluginDataMessage.dataPtr = dataPtr; - messageInfo.u.getPluginDataMessage.dataBufferSize = dataBufferSize; - - status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo); - - if (dataSize != nil) - *dataSize = messageInfo.u.getPluginDataMessage.dataSize; - - return status; -} - - -// PlayerSetPluginData -// -OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.setPluginDataMessage.dataPtr = dataPtr; - messageInfo.u.setPluginDataMessage.dataSize = dataSize; - - return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo); -} - - -// PlayerGetPluginNamedData -// -OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) -{ - OSStatus status; - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.getPluginNamedDataMessage.dataName = dataName; - messageInfo.u.getPluginNamedDataMessage.dataPtr = dataPtr; - messageInfo.u.getPluginNamedDataMessage.dataBufferSize = dataBufferSize; - - status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo); - - if (dataSize != nil) - *dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize; - - return status; -} - - -// PlayerSetPluginNamedData -// -OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.setPluginNamedDataMessage.dataName = dataName; - messageInfo.u.setPluginNamedDataMessage.dataPtr = dataPtr; - messageInfo.u.setPluginNamedDataMessage.dataSize = dataSize; - - return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo); -} - - -// PlayerIdle -// -OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc) -{ - return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil); -} - - -// PlayerShowAbout -// -void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc) -{ - ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil); -} - - -// PlayerOpenURL -// -void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.openURLMessage.url = string; - messageInfo.u.openURLMessage.length = length; - - ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo); -} - -// PlayerUnregisterPlugin -// -OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) -{ - return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo); -} - - -// PlayerRegisterVisualPlugin -// -OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) -{ - return ITCallApplication(appCookie, appProc, kPlayerRegisterVisualPluginMessage, messageInfo); -} - -// PlayerRegisterDevicePlugin -// -OSStatus PlayerRegisterDevicePlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) -{ - return ITCallApplication(appCookie, appProc, kPlayerRegisterDevicePluginMessage, messageInfo); -} - - -// PlayerSetDeviceSerialNumber -// -OSStatus PlayerSetDeviceSerialNumber (void *appCookie, ITAppProcPtr appProc, ConstStringPtr serialNumber) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.setDeviceSerialNumberMessage.serialNumber = serialNumber; - - return ITCallApplication(appCookie, appProc, kPlayerSetDeviceSerialNumberMessage, &messageInfo); -} - - - - -// PlayerHandleMacOSEvent -// -OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled) -{ - PlayerMessageInfo messageInfo; - OSStatus status; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.handleMacOSEventMessage.theEvent = theEvent; - - status = ITCallApplication(appCookie, appProc, kPlayerHandleMacOSEventMessage, &messageInfo); - - if( eventHandled != nil ) - *eventHandled = messageInfo.u.handleMacOSEventMessage.handled; - - return status; -} - - -// PlayerGetPluginFileSpec -// -OSStatus PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec) -{ - PlayerMessageInfo messageInfo; - - MemClear(&messageInfo, sizeof(messageInfo)); - - messageInfo.u.getPluginFileSpecMessage.fileSpec = pluginFileSpec; - - return ITCallApplication(appCookie, appProc, kPlayerGetPluginFileSpecMessage, &messageInfo); -} \ No newline at end of file diff --git a/src/projectM-iTunes/macos/iTunesAPI.cpp b/src/projectM-iTunes/macos/iTunesAPI.cpp new file mode 100644 index 0000000000..1b118f5307 --- /dev/null +++ b/src/projectM-iTunes/macos/iTunesAPI.cpp @@ -0,0 +1,332 @@ +// +// File: iTunesAPI.c +// +// Abstract: part of iTunes Visual SDK +// +// Version: 2.0 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright © 2000-2011 Apple Inc. All Rights Reserved. +// +#include "iTunesAPI.h" +#include "iTunesVisualAPI.h" + +#include + +// SetNumVersion +// +void SetNumVersion(NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev) +{ + numVersion->majorRev = majorRev; + numVersion->minorAndBugRev = minorAndBugRev; + numVersion->stage = stage; + numVersion->nonRelRev = nonRelRev; +} + + +// ITCallApplicationInternal +// +static OSStatus ITCallApplicationInternal(void *appCookie, ITAppProcPtr handler, OSType message, UInt32 messageMajorVersion, UInt32 messageMinorVersion, PlayerMessageInfo *messageInfo) +{ + PlayerMessageInfo localMessageInfo; + + if (messageInfo == nil) + { + memset(&localMessageInfo, 0, sizeof(localMessageInfo)); + + messageInfo = &localMessageInfo; + } + + messageInfo->messageMajorVersion = messageMajorVersion; + messageInfo->messageMinorVersion = messageMinorVersion; + messageInfo->messageInfoSize = sizeof(PlayerMessageInfo); + + return handler(appCookie, message, messageInfo); +} + +// ITCallApplication +// +OSStatus ITCallApplication(void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo) +{ + return ITCallApplicationInternal(appCookie, handler, message, kITPluginMajorMessageVersion, kITPluginMinorMessageVersion, messageInfo); +} + + +// PlayerSetFullScreen +// +OSStatus PlayerSetFullScreen(void *appCookie, ITAppProcPtr appProc, Boolean fullScreen) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.setFullScreenMessage.fullScreen = fullScreen; + + return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo); +} + + + + +// PlayerRequestCurrentTrackCoverArt +// +OSStatus PlayerRequestCurrentTrackCoverArt(void *appCookie, ITAppProcPtr appProc) +{ + OSStatus status; + + status = ITCallApplication(appCookie, appProc, kPlayerRequestCurrentTrackCoverArtMessage, nil); + + return status; +} + + +// PlayerGetPluginData +// +OSStatus PlayerGetPluginData(void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) +{ + OSStatus status; + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.getPluginDataMessage.dataPtr = dataPtr; + messageInfo.u.getPluginDataMessage.dataBufferSize = dataBufferSize; + + status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo); + + if (dataSize != nil) + *dataSize = messageInfo.u.getPluginDataMessage.dataSize; + + return status; +} + + +// PlayerSetPluginData +// +OSStatus PlayerSetPluginData(void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.setPluginDataMessage.dataPtr = dataPtr; + messageInfo.u.setPluginDataMessage.dataSize = dataSize; + + return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo); +} + + +// PlayerGetPluginNamedData +// +OSStatus PlayerGetPluginNamedData(void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize) +{ + OSStatus status; + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.getPluginNamedDataMessage.dataName = dataName; + messageInfo.u.getPluginNamedDataMessage.dataPtr = dataPtr; + messageInfo.u.getPluginNamedDataMessage.dataBufferSize = dataBufferSize; + + status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo); + + if (dataSize != nil) + *dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize; + + return status; +} + + +// PlayerSetPluginNamedData +// +OSStatus PlayerSetPluginNamedData(void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.setPluginNamedDataMessage.dataName = dataName; + messageInfo.u.setPluginNamedDataMessage.dataPtr = dataPtr; + messageInfo.u.setPluginNamedDataMessage.dataSize = dataSize; + + return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo); +} + + +// PlayerIdle +// +OSStatus PlayerIdle(void *appCookie, ITAppProcPtr appProc) +{ + return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil); +} + + +// PlayerShowAbout +// +void PlayerShowAbout(void *appCookie, ITAppProcPtr appProc) +{ + ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil); +} + + +// PlayerOpenURL +// +void PlayerOpenURL(void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.openURLMessage.url = string; + messageInfo.u.openURLMessage.length = length; + + ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo); +} + +// PlayerUnregisterPlugin +// +OSStatus PlayerUnregisterPlugin(void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) +{ + return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo); +} + + +// PlayerRegisterVisualPlugin +// +OSStatus PlayerRegisterVisualPlugin(void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo) +{ + return ITCallApplicationInternal(appCookie, appProc, kPlayerRegisterVisualPluginMessage, kITVisualPluginMajorMessageVersion, kITVisualPluginMinorMessageVersion, messageInfo); +} + +// PlayerGetPluginITFileSpec +// +OSStatus PlayerGetPluginITFileSpec(void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.getPluginITFileSpecMessage.fileSpec = pluginFileSpec; + + return ITCallApplication(appCookie, appProc, kPlayerGetPluginITFileSpecMessage, &messageInfo); +} + +// PlayerGetFileTrackInfo +// +OSStatus PlayerGetFileTrackInfo(void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.getFileTrackInfoMessage.fileSpec = fileSpec; + messageInfo.u.getFileTrackInfoMessage.trackInfo = trackInfo; + + return ITCallApplication(appCookie, appProc, kPlayerGetFileTrackInfoMessage, &messageInfo); +} + +// PlayerSetFileTrackInfo +// +OSStatus PlayerSetFileTrackInfo(void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo) +{ + PlayerMessageInfo messageInfo; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + messageInfo.u.setFileTrackInfoMessage.fileSpec = fileSpec; + messageInfo.u.setFileTrackInfoMessage.trackInfo = trackInfo; + + return ITCallApplication(appCookie, appProc, kPlayerSetFileTrackInfoMessage, &messageInfo); +} + +// PlayerGetITTrackInfoSize +// +OSStatus PlayerGetITTrackInfoSize(void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize) +{ + PlayerMessageInfo messageInfo; + OSStatus status; + + /* + Note: appPluginMajorVersion and appPluginMinorVersion are the versions given to the plugin by iTunes in the plugin's init message. + These versions are *not* the version of the API used when the plugin was compiled. + */ + + *itTrackInfoSize = 0; + + memset(&messageInfo, 0, sizeof(messageInfo)); + + status = ITCallApplication(appCookie, appProc, kPlayerGetITTrackInfoSizeMessage, &messageInfo); + if( status == noErr ) + { + *itTrackInfoSize = messageInfo.u.getITTrackInfoSizeMessage.itTrackInfoSize; + } + else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 2 ) + { + // iTunes 2.0.x + + *itTrackInfoSize = ((UInt32)(uintptr_t) &((ITTrackInfo *) 0)->composer); + + status = noErr; + } + else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 3 ) + { + // iTunes 3.0.x + + *itTrackInfoSize = ((UInt32)(uintptr_t) &((ITTrackInfo *) 0)->beatsPerMinute); + + status = noErr; + } + else + { + // iTunes 4.0 and later implement the kPlayerGetITTrackInfoSizeMessage message. If you got here + // then the appPluginMajorVersion or appPluginMinorVersion are incorrect. + + status = paramErr; + } + + if( status == noErr && (*itTrackInfoSize) > sizeof(ITTrackInfo) ) + { + // iTunes is using a larger ITTrackInfo than the one when this plugin was compiled. Pin *itTrackInfoSize to the plugin's known size + + *itTrackInfoSize = sizeof(ITTrackInfo); + } + + return status; +} diff --git a/src/projectM-iTunes/macos/iTunesAPI.h b/src/projectM-iTunes/macos/iTunesAPI.h old mode 100755 new mode 100644 index e616d4c791..0b3ce3e16e --- a/src/projectM-iTunes/macos/iTunesAPI.h +++ b/src/projectM-iTunes/macos/iTunesAPI.h @@ -1,448 +1,674 @@ -/* - File: iTunesAPI.h - - Contains: iTunes Plug-ins interfaces - - Version: Technology: iTunes - Release: 1.1 - - Copyright: � 2001 by Apple Computer, Inc., all rights reserved. - - Bugs?: For bug reports, consult the following page on - the World Wide Web: - - http://developer.apple.com/bugreporter/ - -*/ -#ifndef __ITUNESAPI__ -#define __ITUNESAPI__ - -#include -#include -#include -#include -#include -#include - -#if PRAGMA_ONCE -#pragma once -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if PRAGMA_STRUCT_ALIGN - #pragma options align=power -#elif PRAGMA_STRUCT_PACKPUSH - #pragma pack(push, 2) -#elif PRAGMA_STRUCT_PACK - #pragma pack(2) -#endif - -enum { - kITCurrentPluginMajorMessageVersion = 10, - kITCurrentPluginMinorMessageVersion = 1 -}; - -enum { - kTrackSupportsID3Tags = (1L << 0), - kTrackHasVariableBitRate = (1L << 1), - kTrackIsFolder = (1L << 2), /* Device tracks only. Information returned is for a folder */ - kTrackIsLocked = (1L << 3), /* Device tracks only. Track cannot be deleted or renamed */ - kTrackCanBeDownloaded = (1L << 4), /* Device tracks only. Track can be copied from device to desktop. */ - kTrackIsHidden = (1L << 5) /* Device tracks only. Track should not be displayed in the device window. */ -}; -typedef OptionBits ITTrackAttributes; - -enum { - /* - These mask values are specified in ITTrackInfo.validFields - to indicate which fields contain valid data - */ - - kITTINameFieldMask = (1L << 0), - kITTIFileNameFieldMask = (1L << 1), - kITTIArtistFieldMask = (1L << 2), - kITTIAlbumFieldMask = (1L << 3), - kITTIGenreFieldMask = (1L << 4), - kITTIKindFieldMask = (1L << 5), - kITTITrackNumberFieldsMask = (1L << 6), - kITTIYearFieldMask = (1L << 7), - kITTISoundVolumeFieldMask = (1L << 8), - kITTICommentsFieldMask = (1L << 10), - kITTITotalTimeFieldMask = (1L << 11), - kITTIStartTimeFieldMask = (1L << 12), - kITTIStopTimeFieldMask = (1L << 13), - kITTISizeFieldMask = (1L << 14), - kITTIBitRateFieldMask = (1L << 15), - kITTISampleRateFieldMask = (1L << 16), - kITTIAttributesFieldMask = (1L << 17), - kITTIFileTypeFieldMask = (1L << 18), - kITTIDateFieldMask = (1L << 19) -}; -typedef OptionBits ITTIFieldMask; - -struct ITTrackInfo { - ITTIFieldMask validFields; - UInt32 reserved; /* Must be zero */ - - Str255 name; - Str255 fileName; - Str255 artist; - Str255 album; - - Str255 genre; - Str255 kind; - - UInt32 trackNumber; - UInt32 numTracks; - - UInt16 year; - SInt16 soundVolumeAdjustment; /* Valid range is -255 to +255 */ - - Str255 unusedReserved1; /* Must be empty string */ - Str255 comments; - - UInt32 totalTimeInMS; - UInt32 startTimeInMS; - UInt32 stopTimeInMS; - - UInt32 sizeInBytes; - - UInt32 bitRate; - UInt32 sampleRateFixed; - - OSType fileType; - - UInt32 date; - UInt32 unusedReserved2; /* Must be zero */ - - ITTrackAttributes attributes; - ITTrackAttributes validAttributes; /* Mask indicating which attributes are applicable */ -}; -typedef struct ITTrackInfo ITTrackInfo; - -enum { - kCurrentITStreamInfoVersion = 1 -}; - -typedef FSSpec ITFileSpec; - -struct ITFileLocation { - ITFileSpec spec; - FInfo fInfo; -}; -typedef struct ITFileLocation ITFileLocation; - - -struct ITStreamInfo { - SInt32 version; - Str255 streamTitle; - Str255 streamURL; - Str255 streamMessage; -}; -typedef struct ITStreamInfo ITStreamInfo; - -enum { - /* messages sent to plugin main */ - - kPluginInitMessage = 'init', - kPluginCleanupMessage = 'clr ', - - kPluginIdleMessage = 'idle' -}; - - -enum { - /* PluginInitMessage.options */ - - kPluginWantsIdleMessages = (1L << 1), /* Send idle messages to plugin main */ - kPluginWantsToBeLeftOpen = (1L << 2) /* Don't close this plugin just because */ - /* it didn't register anyone */ -}; - - -enum { - /* iTunes API messages */ - - kPlayerRegisterVisualPluginMessage = 'rvis', /* Register a visual plugin */ - kPlayerRegisterDevicePluginMessage = 'rdev', /* Register a device plugin */ - - /* Available for all plugins */ - - kPlayerIdleMessage = 'idle', /* Give iTunes some time */ - - kPlayerShowAboutMessage = 'abou', /* Show the about box. */ - kPlayerOpenURLMessage = 'url ', /* Open a URL */ - - kPlayerSetPluginDataMessage = 'sprf', /* Set plugin preferences */ - kPlayerGetPluginDataMessage = 'gprf', /* Get plugin preferences */ - - kPlayerSetPluginNamedDataMessage = 'snpr', /* Set plugin named preferenes */ - kPlayerGetPluginNamedDataMessage = 'gnpr', /* Get plugin named preferenes */ - - kPlayerHandleMacOSEventMessage = 'evnt', /* Tell player to handle unhandled event */ - - kPlayerGetPluginFileSpecMessage = 'pspc', /* Get the location of the plugin executable */ - - /* Available for visual plugins */ - - kPlayerSetFullScreenMessage = 'sful', /* Set full screen mode */ - kPlayerSetFullScreenOptionsMessage = 'sfop', /* Set full screen options */ - - /* Available for device plugins */ - - kPlayerSetDeviceSerialNumberMessage = 'dvsn', /* Set a serial number string for a device. Needed for per-device prefs */ - kPlayerUnregisterPluginMessage = 'unrg' /* Unregister the plugin this comes from */ -}; - -typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo); - - -/* - Plugin main Messages -*/ - -struct PluginInitMessage { - UInt32 majorVersion; /* Input */ - UInt32 minorVersion; /* Input */ - - void * appCookie; /* Input */ - ITAppProcPtr appProc; /* Input */ - - OptionBits options; /* Output, see above for values */ - void * refCon; /* Output */ -}; -typedef struct PluginInitMessage PluginInitMessage; - -struct PluginMessageInfo { - union { - PluginInitMessage initMessage; - } u; -}; -typedef struct PluginMessageInfo PluginMessageInfo; - - - -/* Plugin main entry point message handler */ -typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon); - -/* Visual plugin message handler */ -typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon); - -/* Device plugin message handler */ -typedef OSStatus (*DevicePluginProcPtr)(OSType message, struct DevicePluginMessageInfo *messageInfo, void *refCon); - - - -/* - Callbacks to iTunes -*/ - -enum { - /* PlayerRegisterVisualPluginMessage.options */ - - kVisualWantsIdleMessages = (1L << 3), - kVisualWantsConfigure = (1L << 5) -}; - -struct PlayerRegisterVisualPluginMessage { - /* Input from plugin */ - - Str63 name; /* Displayed in the Visual menu */ - OptionBits options; /* See above */ - - OSType creator; /* Identifies the plugin */ - - NumVersion pluginVersion; /* Version number of the plugin */ - - VisualPluginProcPtr handler; /* Handler for the plugin's messages */ - void * registerRefCon; /* RefCon for the plugin's handler */ - - UInt32 timeBetweenDataInMS; /* How often to call the plugin (0xFFFFFFFF = as often as possible) */ - UInt32 numWaveformChannels; /* 0-2 waveforms requested */ - UInt32 numSpectrumChannels; /* 0-2 spectrums requested */ - - SInt16 minWidth; /* Minimum resizeable width */ - SInt16 minHeight; /* Minimum resizeable height */ - - SInt16 maxWidth; /* Maximum resizeable width */ - SInt16 maxHeight; /* Maximum resizeable height */ - - UInt16 minFullScreenBitDepth; /* 0 = Any */ - UInt16 maxFullScreenBitDepth; /* 0 = Any */ - - UInt16 windowAlignmentInBytes; /* Reserved (should be zero) */ -}; -typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage; - -enum { - /* PlayerRegisterDevicePluginMessage.options */ - - kDeviceWantsIdleMessages = (1L << 0) -}; - -struct PlayerRegisterDevicePluginMessage { - /* Input from plugin */ - - Str63 name; /* Used internally. Not currently displayed */ - OptionBits options; /* See above */ - - NumVersion pluginVersion; /* Version number of the plugin */ - - DevicePluginProcPtr handler; /* Handler for the plugin's messages */ - void * registerRefCon; /* RefCon for the plugin's handler */ - - UInt32 reserved[2]; /* Must be zero */ -}; -typedef struct PlayerRegisterDevicePluginMessage PlayerRegisterDevicePluginMessage; - -struct PlayerSetFullScreenMessage { - Boolean fullScreen; -}; -typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage; - -struct PlayerSetFullScreenOptionsMessage { - SInt16 minBitDepth; /* 0 = Any */ - SInt16 maxBitDepth; /* 0 = Any */ - SInt16 preferredBitDepth; /* 0 = Current */ - - SInt16 desiredWidth; /* Must be within minWidth & maxWidth */ - SInt16 desiredHeight; /* Must be within minHeight & maxHeight */ -}; -typedef struct PlayerSetFullScreenOptionsMessage PlayerSetFullScreenOptionsMessage; - -struct PlayerOpenURLMessage { - SInt8 * url; - UInt32 length; -}; -typedef struct PlayerOpenURLMessage PlayerOpenURLMessage; - -struct PlayerSetPluginDataMessage { - void * dataPtr; /* Input */ - UInt32 dataSize; /* Input */ -}; -typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage; - -struct PlayerGetPluginDataMessage { - void * dataPtr; /* Input */ - UInt32 dataBufferSize; /* Input */ - - UInt32 dataSize; /* Output */ -}; -typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage; - -struct PlayerSetPluginNamedDataMessage { - ConstStringPtr dataName; /* Input */ - - void * dataPtr; /* Input */ - UInt32 dataSize; /* Input */ -}; -typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage; - -struct PlayerGetPluginNamedDataMessage { - ConstStringPtr dataName; /* Input */ - - void * dataPtr; /* Input */ - UInt32 dataBufferSize; /* Input */ - - UInt32 dataSize; /* Output */ -}; -typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage; - -struct PlayerHandleMacOSEventMessage { - const EventRecord * theEvent; /* Input */ - - Boolean handled; /* Output */ -}; -typedef struct PlayerHandleMacOSEventMessage PlayerHandleMacOSEventMessage; - -struct PlayerGetPluginFileSpecMessage { - FSSpec * fileSpec; /* Output */ -}; -typedef struct PlayerGetPluginFileSpecMessage PlayerGetPluginFileSpecMessage; - -struct PlayerSetDeviceSerialNumberMessage { - ConstStringPtr serialNumber; /* Input */ -}; -typedef struct PlayerSetDeviceSerialNumberMessage PlayerSetDeviceSerialNumberMessage; - -struct PlayerMessageInfo { - UInt32 messageMajorVersion; /* Should be kITCurrentPluginMajorMessageVersion */ - UInt32 messageMinorVersion; /* Should be kITCurrentPluginMinorMessageVersion */ - UInt32 messageInfoSize; /* Should be sizeof(PlayerMessageInfo) */ - - union { - PlayerRegisterVisualPluginMessage registerVisualPluginMessage; - PlayerRegisterDevicePluginMessage registerDevicePluginMessage; - - PlayerOpenURLMessage openURLMessage; - - PlayerSetPluginDataMessage setPluginDataMessage; - PlayerGetPluginDataMessage getPluginDataMessage; - - PlayerSetPluginNamedDataMessage setPluginNamedDataMessage; - PlayerGetPluginNamedDataMessage getPluginNamedDataMessage; - - PlayerHandleMacOSEventMessage handleMacOSEventMessage; - - PlayerGetPluginFileSpecMessage getPluginFileSpecMessage; - - PlayerSetFullScreenMessage setFullScreenMessage; - PlayerSetFullScreenOptionsMessage setFullScreenOptionsMessage; - - PlayerSetDeviceSerialNumberMessage setDeviceSerialNumberMessage; - } u; -}; -typedef struct PlayerMessageInfo PlayerMessageInfo; - -extern OSStatus ITCallApplication (void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo); -extern void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev); - - -/* for use from plugin main */ - -extern OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); -extern OSStatus PlayerRegisterDevicePlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); - -/* For all plugins */ - -extern OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc); - -extern void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc); -extern void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length); - -extern OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); -extern OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize); - -extern OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); -extern OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize); - -extern OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled); - -extern OSStatus PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec); - -/* For visual plugins */ - -extern OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen); -extern OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight); - -/* For device plugins */ - -extern OSStatus PlayerSetDeviceSerialNumber (void *appCookie, ITAppProcPtr appProc, ConstStringPtr serialNumber); -extern OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); - -#if PRAGMA_STRUCT_ALIGN - #pragma options align=reset -#elif PRAGMA_STRUCT_PACKPUSH - #pragma pack(pop) -#elif PRAGMA_STRUCT_PACK - #pragma pack() -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __ITUNESAPI__ */ \ No newline at end of file +// +// File: iTunesAPI.h +// +// Abstract: part of iTunes Visual SDK +// +// Version: 2.0 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright © 2000-2011 Apple Inc. All Rights Reserved. +// +#ifndef ITUNESAPI_H_ +#define ITUNESAPI_H_ + +#if PRAGMA_ONCE +#pragma once +#endif + + +#if defined(_MSC_VER) + #define TARGET_OS_MAC 0 + #define TARGET_OS_WIN32 1 +#else + #define TARGET_OS_MAC 1 + #define TARGET_OS_WIN32 0 +#endif + +#if TARGET_OS_MAC + #include + #include + #include + #include +#endif +#if TARGET_OS_WIN32 + #include +#endif + +#if !defined(__CONDITIONALMACROS__) +typedef unsigned long UInt32; +typedef signed long SInt32; +typedef unsigned short UInt16; +typedef signed short SInt16; +typedef unsigned char UInt8; +typedef signed char SInt8; +typedef UInt32 OptionBits; + +typedef UInt8 Str255[256]; +typedef UInt8 Str63[64]; +typedef UInt8 * StringPtr; +typedef const UInt8 * ConstStringPtr; +typedef UInt32 OSType; + +typedef SInt32 OSStatus; + +typedef UInt16 UniChar; + +typedef double Float64; + + +#if TARGET_OS_WIN32 +typedef unsigned __int64 UInt64; +#else +typedef unsigned long long UInt64; +#endif + +typedef void ** Handle; + +struct NumVersion { + UInt8 majorRev; + UInt8 minorAndBugRev; + UInt8 stage; + UInt8 nonRelRev; +}; +typedef struct NumVersion NumVersion; + +struct Point { + short v; + short h; +}; +typedef struct Point Point; + +struct Rect { + short top; + short left; + short bottom; + short right; +}; +typedef struct Rect Rect; + +typedef UInt8 Boolean; + +typedef UInt32 UnsignedFixed; + +typedef void * LogicalAddress; + +#define false 0 +#define true 1 +#define nil NULL + +enum { + noErr = 0, + unimpErr = -4, + readErr = -19, + writErr = -20, + openErr = -23, + closErr = -24, + dirFulErr = -33, + dskFulErr = -34, + nsvErr = -35, + ioErr = -36, + bdNamErr = -37, + fnOpnErr = -38, + eofErr = -39, + posErr = -40, + tmfoErr = -42, + fnfErr = -43, + wPrErr = -44, + fLckdErr = -45, + vLckdErr = -46, + fBsyErr = -47, + dupFNErr = -48, + opWrErr = -49, + paramErr = -50, + permErr = -54, + nsDrvErr = -56, + wrPermErr = -61, + memFullErr = -108, + dirNFErr = -120, + badMovErr = -122 +}; + +enum { + developStage = 0x20, + alphaStage = 0x40, + betaStage = 0x60, + finalStage = 0x80 +}; + +struct SoundComponentData { + long flags; + OSType format; + short numChannels; + short sampleSize; + UnsignedFixed sampleRate; + long sampleCount; + UInt8 * buffer; + long reserved; +}; +typedef struct SoundComponentData SoundComponentData; + +struct AudioStreamBasicDescription +{ + Float64 mSampleRate; + UInt32 mFormatID; + UInt32 mFormatFlags; + UInt32 mBytesPerPacket; + UInt32 mFramesPerPacket; + UInt32 mBytesPerFrame; + UInt32 mChannelsPerFrame; + UInt32 mBitsPerChannel; + UInt32 mReserved; +}; +typedef struct AudioStreamBasicDescription AudioStreamBasicDescription; + +#endif + +#if TARGET_OS_WIN32 +#define VISUAL_PLATFORM_VIEW HWND +#define VISUAL_PLATFORM_DATA LPCVOID +#else +#ifdef __OBJC__ + @class NSView; + @class NSOpenGLView; +#else + struct NSView; + struct NSOpenGLView; +#endif +#define VISUAL_PLATFORM_VIEW NSOpenGLView* +#define VISUAL_PLATFORM_DATA CFDataRef +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 4) +#elif PRAGMA_STRUCT_PACK + #pragma pack(4) +#endif + + +enum { + kITPluginMajorMessageVersion = 10, + kITPluginMinorMessageVersion = 9 +}; + +enum { + kTrackSupportsID3Tags = (1u << 0), + kTrackHasVariableBitRate = (1u << 1), + kTrackHasVideo = (1u << 6) /* Track has video track which can be played in iTunes */ +}; +typedef OptionBits ITTrackAttributes; + +enum { + /* + These mask values are specified in ITTrackInfo.validFields + to indicate which fields contain valid data + */ + + kITTIFieldInvalid = 0, + kITTINameFieldMask = (1u << 0), + kITTIFileNameFieldMask = (1u << 1), + kITTIArtistFieldMask = (1u << 2), + kITTIAlbumFieldMask = (1u << 3), + kITTIGenreFieldMask = (1u << 4), + kITTIKindFieldMask = (1u << 5), + kITTITrackNumberFieldsMask = (1u << 6), + kITTIYearFieldMask = (1u << 7), + kITTISoundVolumeFieldMask = (1u << 8), + kITTIEQPresetFieldMask = (1u << 9), + kITTICommentsFieldMask = (1u << 10), + kITTITotalTimeFieldMask = (1u << 11), + kITTIStartTimeFieldMask = (1u << 12), + kITTIStopTimeFieldMask = (1u << 13), + kITTISizeFieldMask = (1u << 14), + kITTIBitRateFieldMask = (1u << 15), + kITTISampleRateFieldMask = (1u << 16), + kITTIAttributesFieldMask = (1u << 17), + kITTIFileTypeFieldMask = (1u << 18), + kITTIDateFieldMask = (1u << 19), +// kITTIFileCreatorFieldMask = (1u << 20), /* Removed in iTunes 9.0.2 */ + kITTIComposerFieldMask = (1u << 21), /* Added in iTunes 3.0 */ + kITTICompilationFieldMask = (1u << 22), /* Added in iTunes 3.0 */ + kITTIDiscNumberFieldsMask = (1u << 23), /* Added in iTunes 3.0 */ + kITTITrackRatingFieldMask = (1u << 24), /* Added in iTunes 3.0 - used to be called kITTIUserRatingFieldMask */ + kITTIPlayCountFieldMask = (1u << 25), /* Added in iTunes 3.0 */ + kITTILastPlayDateFieldMask = (1u << 26), /* Added in iTunes 3.0 */ + kITTIBeatsPerMinuteFieldMask = (1u << 27), /* Added in iTunes 4.0 */ + kITTIGroupingFieldMask = (1u << 28), /* Added in iTunes 4.2 */ + kITTIGaplessAlbumFieldMask = (1u << 29), /* Added in iTunes 7.0 */ + kITTIAlbumArtistFieldMask = (1u << 30) /* Added in iTunes 7.0 */ +}; +typedef OptionBits ITTIFieldMask; + +#define kLastKnownITTIField kITTIAlbumArtistFieldMask +#define kAllKnownITTIFieldsMask ((((UInt32) kLastKnownITTIField) << 1) - 1) + +enum +{ + kITTIUserModifiableFieldsMask = kITTINameFieldMask | kITTIArtistFieldMask | kITTIAlbumFieldMask | kITTIGroupingFieldMask | kITTIGenreFieldMask | + kITTITrackNumberFieldsMask | kITTIYearFieldMask | kITTISoundVolumeFieldMask | kITTIEQPresetFieldMask | + kITTICommentsFieldMask | kITTIStartTimeFieldMask | kITTIStopTimeFieldMask | kITTIComposerFieldMask | + kITTICompilationFieldMask | kITTIDiscNumberFieldsMask | kITTITrackRatingFieldMask | kITTIBeatsPerMinuteFieldMask | + kITTIGaplessAlbumFieldMask | kITTIAlbumArtistFieldMask +}; + +typedef UniChar ITUniStr255[256]; /* Similar to Str255. First element is length of string in characters. */ +typedef UniChar * ITUniStringPtr; +typedef const UniChar * ConstITUniStringPtr; + +#if TARGET_OS_MAC + typedef FSRef ITFileSpec; +#endif + +#if TARGET_OS_WIN32 + #define kITFileSpecMaxPathLength (MAX_PATH - 1) + + typedef struct ITFileSpec + { + UInt16 length; // Length in characters + UniChar fullPath[kITFileSpecMaxPathLength]; + } ITFileSpec; +#endif + +struct ITTrackInfo { + ITTIFieldMask validFields; + UInt32 recordLength; /* Size of this structure in bytes */ + + ITUniStr255 name; + ITUniStr255 fileName; + ITUniStr255 artist; + ITUniStr255 album; + ITUniStr255 genre; + ITUniStr255 kind; + ITUniStr255 eqPresetName; + ITUniStr255 comments; + + UInt32 trackNumber; + UInt32 numTracks; + + UInt16 year; + SInt16 soundVolumeAdjustment; /* Valid range is -255 to +255 */ + + UInt32 totalTimeInMS; + UInt32 startTimeInMS; + UInt32 stopTimeInMS; + + UInt32 date; + UInt32 oldSizeInBytes; /* Deprecated in iTunes 7.1 */ + + UInt32 bitRate; + UInt32 oldSampleRateFixed; /* Deprecated in iTunes 5.0 */ + + OSType fileType; + OSType obsoleteFileCreator; /* Removed in iTunes 9.0.2 */ + + ITTrackAttributes attributes; + ITTrackAttributes validAttributes; /* Mask indicating which attributes are applicable */ + + ITUniStr255 composer; /* Added in iTunes 3.0 */ + + Boolean isCompilationTrack; /* Added in iTunes 3.0 */ + Boolean partOfGaplessAlbum; /* Added in iTunes 7.0 (was reserved) */ + + UInt16 trackRating; /* Added in iTunes 3.0. 0 = unrated, valid values are 20, 40, 60, 80 and 100. Used to be called userRating */ + + UInt16 discNumber; /* Added in iTunes 3.0 */ + UInt16 numDiscs; /* Added in iTunes 3.0 */ + + UInt32 playCount; /* Added in iTunes 3.0 */ + UInt32 lastPlayDate; /* Added in iTunes 3.0 */ + + UInt16 beatsPerMinute; /* Added in iTunes 4.0 */ + UInt16 reserved; /* Reserved. Must be zero. */ + + ITUniStr255 grouping; /* Added in iTunes 4.0 */ + + float sampleRateFloat; /* Added in iTunes 5.0 */ + + ITUniStr255 albumArtist; /* Added in iTunes 7.0 */ + + UInt64 sizeInBytes; /* Added in iTunes 7.1 */ +}; +typedef struct ITTrackInfo ITTrackInfo; + +enum +{ + kStreamInfoOption_OverrideAll = 0x00000001 +}; + +struct ITStreamInfo { + SInt32 version; + ITUniStr255 streamTitle; + ITUniStr255 streamURL; + ITUniStr255 streamMessage; + + OptionBits options; // added in iTunes 10.3 - add at the end of struct to maintain compatibility + ITUniStr255 streamName; // added in iTunes 10.3 - add at the end of struct to maintain compatibility +}; +typedef struct ITStreamInfo ITStreamInfo; + +enum { + /* messages sent to plugin main */ + + kPluginInitMessage = 'init', + kPluginCleanupMessage = 'clr ', + kPluginPrepareToQuitMessage = 'prqt', + + kPluginIdleMessage = 'idle' +}; + + +enum { + /* PluginInitMessage.options */ + + kPluginWantsIdleMessages = (1u << 1), /* Send idle messages to plugin main */ + kPluginWantsToBeLeftOpen = (1u << 2), /* Don't close this plugin just because it didn't register anyone */ + kPluginWantsDisplayNotification = (1u << 5) /* The plugin wants to know when the display depth/size changes */ +}; + + +enum { + /* iTunes API messages */ + + kPlayerRegisterVisualPluginMessage = 'regv', /* Register a visual plugin */ + + /* Available for all plugins */ + + kPlayerUnregisterPluginMessage = 'unrg', /* Unregister the plugin this comes from */ + kPlayerIdleMessage = 'idle', /* Give iTunes some time */ + + kPlayerShowAboutMessage = 'abou', /* Show the about box. */ + kPlayerOpenURLMessage = 'url ', /* Open a URL */ + + kPlayerSetPluginDataMessage = 'sprf', /* Set plugin preferences */ + kPlayerGetPluginDataMessage = 'gprf', /* Get plugin preferences */ + + kPlayerSetPluginNamedDataMessage = 'snpr', /* Set plugin named preferenes */ + kPlayerGetPluginNamedDataMessage = 'gnpr', /* Get plugin named preferenes */ + + kPlayerGetFileTrackInfoMessage = 'gfti', /* Query iTunes for information about a file */ + kPlayerSetFileTrackInfoMessage = 'sfti', /* Ask iTunes to set information about a file */ + + kPlayerGetITTrackInfoSizeMessage = 'itsz', /* Query iTunes for the sizeof(ITTrackInfo). This allows newer plugins to correctly workd with older versions of iTunes. */ + + kPlayerHandleMacOSEventMessage = 'evnt', /* Tell player to handle unhandled event */ + + kPlayerGetPluginITFileSpecMessage = 'itfs', /* Get the location of the plugin executable (iTunes 4.1 or later) */ + + kPluginDisplayChangedMessage = 'disp' /* Something about some display has changed */ +}; + +struct PlayerMessageInfo; + +typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo); + + +/* + Plugin main Messages +*/ + +struct PluginInitMessage { + UInt32 majorVersion; /* Input */ + UInt32 minorVersion; /* Input */ + + void * appCookie; /* Input */ + ITAppProcPtr appProc; /* Input */ + + OptionBits options; /* Output, see above for values */ + void * refCon; /* Output */ +}; +typedef struct PluginInitMessage PluginInitMessage; + + +struct PluginMessageInfo { + union { + PluginInitMessage initMessage; + } u; +}; +typedef struct PluginMessageInfo PluginMessageInfo; + +/* Plugin main entry point message handler */ +typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon); + +/* Visual plugin message handler */ +struct VisualPluginMessageInfo; +typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon); + +/* + Callbacks to iTunes +*/ +struct PlayerOpenURLMessage { + SInt8 * url; + UInt32 length; +}; +typedef struct PlayerOpenURLMessage PlayerOpenURLMessage; + +struct PlayerSetPluginDataMessage { + void * dataPtr; /* Input */ + UInt32 dataSize; /* Input */ +}; +typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage; + +struct PlayerGetPluginDataMessage { + void * dataPtr; /* Input */ + UInt32 dataBufferSize; /* Input */ + + UInt32 dataSize; /* Output */ +}; +typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage; + +struct PlayerSetPluginNamedDataMessage { + ConstStringPtr dataName; /* Input */ + + void * dataPtr; /* Input */ + UInt32 dataSize; /* Input */ +}; +typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage; + +struct PlayerGetPluginNamedDataMessage { + ConstStringPtr dataName; /* Input */ + + void * dataPtr; /* Input */ + UInt32 dataBufferSize; /* Input */ + + UInt32 dataSize; /* Output */ +}; +typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage; + +struct PlayerGetPluginITFileSpecMessage { + ITFileSpec * fileSpec; /* Output */ +}; +typedef struct PlayerGetPluginITFileSpecMessage PlayerGetPluginITFileSpecMessage; + +struct PlayerGetFileTrackInfoMessage { + const ITFileSpec * fileSpec; /* Input */ + ITTrackInfo * trackInfo; /* Output */ +}; +typedef struct PlayerGetFileTrackInfoMessage PlayerGetFileTrackInfoMessage; + +struct PlayerSetFileTrackInfoMessage { + const ITFileSpec * fileSpec; /* Input */ + const ITTrackInfo * trackInfo; /* Input */ +}; +typedef struct PlayerSetFileTrackInfoMessage PlayerSetFileTrackInfoMessage; + +struct PlayerGetITTrackInfoSizeMessage { + UInt32 itTrackInfoSize; /* Output */ +}; +typedef struct PlayerGetITTrackInfoSizeMessage PlayerGetITTrackInfoSizeMessage; + +/* + iTunes API callback visual structures +*/ +enum { + /* PlayerRegisterVisualPluginMessage.options */ + + /* Plugin uses 3D exclusively (OpenGL or Direct3D), iTunes does not need to invalidate the backing native view. */ + kVisualUsesOnly3D = (1u << 0), + /* Plugin supports discrete or integrated graphics without requiring a mode switch. */ + kVisualSupportsMuxedGraphics = (1u << 1), + /* Mac-only: Plugin adds an NSView-based subview to the one provided, iTunes does not need to invalidate the backing native view.*/ + kVisualUsesSubview = (1u << 2), + /* Plugin wants periodic idle messages. Note that these idle messages are not for drawing, only for internal processing. */ + kVisualWantsIdleMessages = (1u << 3), + /* Plugin supports a configure dialog, iTunes will display an item in the menus to show it. */ + kVisualWantsConfigure = (1u << 5) +}; + +struct PlayerRegisterVisualPluginMessage { + /* Input from plugin */ + ITUniStr255 name; /* Displayed in the Visualizer menu */ + OptionBits options; /* See above */ + + OSType creator; /* Identifies the plugin */ + + NumVersion pluginVersion; /* Version number of the plugin */ + + VisualPluginProcPtr handler; /* Handler for the plugin's messages */ + void * registerRefCon; /* RefCon for the plugin's handler */ + + UInt32 pulseRateInHz; /* Send the plugin a "pulse" message N times a second (max ~= 120 but may vary) */ + UInt32 numWaveformChannels; /* 0-2 waveforms requested */ + UInt32 numSpectrumChannels; /* 0-2 spectrums requested */ + + SInt32 minWidth; /* Minimum resizeable width (0 for no restriction) */ + SInt32 minHeight; /* Minimum resizeable height (0 for no restriction) */ + + SInt32 maxWidth; /* Maximum resizeable width (0 for no limit) */ + SInt32 maxHeight; /* Maximum resizeable height (0 for no limit) */ +}; +typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage; + +struct PlayerSetFullScreenMessage { + Boolean fullScreen; +}; +typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage; + + +// iTunes API callback union structure +struct PlayerMessageInfo { + UInt32 messageMajorVersion; /* Should be kITPluginMajorMessageVersion */ + UInt32 messageMinorVersion; /* Should be kITPluginMinorMessageVersion */ + UInt32 messageInfoSize; /* Should be sizeof(PlayerMessageInfo) */ + + union { + PlayerOpenURLMessage openURLMessage; + + PlayerSetPluginDataMessage setPluginDataMessage; + PlayerGetPluginDataMessage getPluginDataMessage; + + PlayerSetPluginNamedDataMessage setPluginNamedDataMessage; + PlayerGetPluginNamedDataMessage getPluginNamedDataMessage; + + + PlayerGetFileTrackInfoMessage getFileTrackInfoMessage; + PlayerSetFileTrackInfoMessage setFileTrackInfoMessage; + PlayerGetITTrackInfoSizeMessage getITTrackInfoSizeMessage; + + PlayerGetPluginITFileSpecMessage getPluginITFileSpecMessage; + + // visual APIs + PlayerRegisterVisualPluginMessage registerVisualPluginMessage; + PlayerSetFullScreenMessage setFullScreenMessage; + + } u; +}; +typedef struct PlayerMessageInfo PlayerMessageInfo; + +extern OSStatus ITCallApplication(void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo); +extern void SetNumVersion(NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev); + + +/* For all plugins */ + +extern OSStatus PlayerUnregisterPlugin(void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); +extern OSStatus PlayerIdle(void *appCookie, ITAppProcPtr appProc); + +extern void PlayerShowAbout(void *appCookie, ITAppProcPtr appProc); +extern void PlayerOpenURL(void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length); + +extern OSStatus PlayerGetPluginData(void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); +extern OSStatus PlayerSetPluginData(void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize); + +extern OSStatus PlayerGetPluginNamedData(void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize); +extern OSStatus PlayerSetPluginNamedData(void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize); + +extern OSStatus PlayerGetFileTrackInfo(void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo); +extern OSStatus PlayerSetFileTrackInfo(void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo); + +extern OSStatus PlayerGetITTrackInfoSize(void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize); + +extern OSStatus PlayerGetPluginITFileSpec(void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec); + +/* iTunes APIs For visual plugins */ +enum { + kPlayerSetFullScreenMessage = 'sful', /* Set full screen mode */ + kPlayerSetFullScreenOptionsMessage = 'sfop', /* Set full screen options */ + + /* + Request the current player track cover artwork. + It will be returned asynchronously via kVisualPluginCoverArtworkMessage. + */ + kPlayerRequestCurrentTrackCoverArtMessage = 'rart' + +}; + +extern OSStatus PlayerRegisterVisualPlugin(void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo); + +extern OSStatus PlayerSetFullScreen(void *appCookie, ITAppProcPtr appProc, Boolean fullScreen); +extern OSStatus PlayerSetFullScreenOptions(void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight); +extern OSStatus PlayerRequestCurrentTrackCoverArt(void *appCookie, ITAppProcPtr appProc); + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ITUNESAPI_H_ */ diff --git a/src/projectM-iTunes/macos/iTunesVisualAPI.h b/src/projectM-iTunes/macos/iTunesVisualAPI.h old mode 100755 new mode 100644 index 6783180c82..cafec1f71f --- a/src/projectM-iTunes/macos/iTunesVisualAPI.h +++ b/src/projectM-iTunes/macos/iTunesVisualAPI.h @@ -1,183 +1,244 @@ -/* - File: iTunesVisualAPI.h - - Contains: iTunes Visual Plug-ins interfaces - - Version: Technology: iTunes - Release: 1.1 - - Copyright: � 2001 by Apple Computer, Inc., all rights reserved. - - Bugs?: For bug reports, consult the following page on - the World Wide Web: - - http://developer.apple.com/bugreporter/ - -*/ -#ifndef __ITUNESVISUALAPI__ -#define __ITUNESVISUALAPI__ - -#include "iTunesAPI.h" - -#if PRAGMA_ONCE -#pragma once -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if PRAGMA_STRUCT_ALIGN - #pragma options align=power -#elif PRAGMA_STRUCT_PACKPUSH - #pragma pack(push, 2) -#elif PRAGMA_STRUCT_PACK - #pragma pack(2) -#endif - -enum { - /* VisualPlugin messages */ - - kVisualPluginIdleMessage = 'null', - - kVisualPluginInitMessage = 'init', - kVisualPluginCleanupMessage = 'clr ', - - kVisualPluginConfigureMessage = 'cnfg', /* Configure the plugin (may not be enabled) */ - - kVisualPluginEnableMessage = 'von ', /* Turn on the module (automatic)*/ - kVisualPluginDisableMessage = 'voff', /* Turn off the module */ - - kVisualPluginShowWindowMessage = 'show', /* Show the plugin window (allocate large memory here!) */ - kVisualPluginHideWindowMessage = 'hide', /* Hide the plugin window (deallocate large memory here!) */ - - kVisualPluginSetWindowMessage = 'swin', /* Change the window parameters */ - - kVisualPluginRenderMessage = 'vrnd', /* Render to window */ - - kVisualPluginUpdateMessage = 'vupd', /* Update the window */ - - kVisualPluginPlayMessage = 'vply', /* Playing a track */ - kVisualPluginChangeTrackMessage = 'ctrk', /* Change track (for CD continuous play) */ - kVisualPluginStopMessage = 'vstp', /* Stopping a track */ - kVisualPluginSetPositionMessage = 'setp', /* Setting the position of a track */ - - kVisualPluginPauseMessage = 'vpau', /* Pausing a track (unused - Pause is stop) */ - kVisualPluginUnpauseMessage = 'vunp', /* Unpausing a track (unused - Pause is stop) */ - - kVisualPluginEventMessage = 'vevt' /* Mac-event. */ -}; - -/* - VisualPlugin messages -*/ - -enum { - kVisualMaxDataChannels = 2, - - kVisualNumWaveformEntries = 512, - kVisualNumSpectrumEntries = 512 -}; - -enum { - /* ShowWindow options */ - - kWindowIsFullScreen = (1L << 0) -}; - -struct RenderVisualData { - UInt8 numWaveformChannels; - UInt8 waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries]; - - UInt8 numSpectrumChannels; - UInt8 spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries]; -}; -typedef struct RenderVisualData RenderVisualData; - -struct VisualPluginInitMessage { - UInt32 messageMajorVersion; /* Input */ - UInt32 messageMinorVersion; /* Input */ - NumVersion appVersion; /* Input */ - - void * appCookie; /* Input */ - ITAppProcPtr appProc; /* Input */ - - OptionBits options; /* Output */ - void * refCon; /* Output */ -}; -typedef struct VisualPluginInitMessage VisualPluginInitMessage; - -struct VisualPluginShowWindowMessage { - CGrafPtr port; /* Input */ - Rect drawRect; /* Input */ - OptionBits options; /* Input */ -}; -typedef struct VisualPluginShowWindowMessage VisualPluginShowWindowMessage; - -struct VisualPluginSetWindowMessage { - CGrafPtr port; /* Input */ - Rect drawRect; /* Input */ - OptionBits options; /* Input */ -}; -typedef struct VisualPluginSetWindowMessage VisualPluginSetWindowMessage; - -struct VisualPluginPlayMessage { - ITTrackInfo * trackInfo; /* Input */ - ITStreamInfo * streamInfo; /* Input */ - SInt32 volume; /* Input */ - - UInt32 bitRate; /* Input */ - - SoundComponentData soundFormat; /* Input */ -}; -typedef struct VisualPluginPlayMessage VisualPluginPlayMessage; - -struct VisualPluginChangeTrackMessage { - ITTrackInfo * trackInfo; /* Input */ - ITStreamInfo * streamInfo; /* Input */ -}; -typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage; - -struct VisualPluginRenderMessage { - RenderVisualData * renderData; /* Input */ - UInt32 timeStampID; /* Input */ -}; -typedef struct VisualPluginRenderMessage VisualPluginRenderMessage; - -struct VisualPluginSetPositionMessage { - UInt32 positionTimeInMS; /* Input */ -}; -typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage; - -struct VisualPluginEventMessage { - EventRecord * event; /* Input */ -}; -typedef struct VisualPluginEventMessage VisualPluginEventMessage; - -struct VisualPluginMessageInfo { - union { - VisualPluginInitMessage initMessage; - VisualPluginShowWindowMessage showWindowMessage; - VisualPluginSetWindowMessage setWindowMessage; - VisualPluginPlayMessage playMessage; - VisualPluginChangeTrackMessage changeTrackMessage; - VisualPluginRenderMessage renderMessage; - VisualPluginSetPositionMessage setPositionMessage; - VisualPluginEventMessage eventMessage; - } u; -}; -typedef struct VisualPluginMessageInfo VisualPluginMessageInfo; - -#if PRAGMA_STRUCT_ALIGN - #pragma options align=reset -#elif PRAGMA_STRUCT_PACKPUSH - #pragma pack(pop) -#elif PRAGMA_STRUCT_PACK - #pragma pack() -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __ITUNESVISUALAPI__ */ \ No newline at end of file +// +// File: iTunesVisualAPI.h +// +// Abstract: part of iTunes Visual SDK +// +// Version: 2.0 +// +// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ( "Apple" ) +// in consideration of your agreement to the following terms, and your use, +// installation, modification or redistribution of this Apple software +// constitutes acceptance of these terms. If you do not agree with these +// terms, please do not use, install, modify or redistribute this Apple +// software. +// +// In consideration of your agreement to abide by the following terms, and +// subject to these terms, Apple grants you a personal, non - exclusive +// license, under Apple's copyrights in this original Apple software ( the +// "Apple Software" ), to use, reproduce, modify and redistribute the Apple +// Software, with or without modifications, in source and / or binary forms; +// provided that if you redistribute the Apple Software in its entirety and +// without modifications, you must retain this notice and the following text +// and disclaimers in all such redistributions of the Apple Software. Neither +// the name, trademarks, service marks or logos of Apple Inc. may be used to +// endorse or promote products derived from the Apple Software without specific +// prior written permission from Apple. Except as expressly stated in this +// notice, no other rights or licenses, express or implied, are granted by +// Apple herein, including but not limited to any patent rights that may be +// infringed by your derivative works or by other works in which the Apple +// Software may be incorporated. +// +// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO +// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION +// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. +// +// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION +// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR +// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright © 2000-2011 Apple Inc. All Rights Reserved. +// +#ifndef ITUNESVISUALAPI_H_ +#define ITUNESVISUALAPI_H_ + +#include "iTunesAPI.h" + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 4) +#elif PRAGMA_STRUCT_PACK + #pragma pack(4) +#endif + + +enum { + kCurrentITStreamInfoVersion = 1 +}; + +enum { + kITVisualPluginMajorMessageVersion = 10, + kITVisualPluginMinorMessageVersion = 7 +}; + +enum { + /* VisualPlugin messages */ + + kVisualPluginInitMessage = 'init', + kVisualPluginCleanupMessage = 'clr ', + + kVisualPluginIdleMessage = 'null', + + kVisualPluginConfigureMessage = 'cnfg', /* Configure the plugin. */ + + kVisualPluginEnableMessage = 'von ', /* Enable the plugin and make it available to the user (automatic). */ + kVisualPluginDisableMessage = 'voff', /* Disable the plugin. */ + + kVisualPluginActivateMessage = 'Vact', /* Visualizer is being shown on screen (allocate large memory here) */ + kVisualPluginWindowChangedMessage = 'Vmov', /* The visualizer context was moved to a new window. A draw message will be sent immediately. */ + kVisualPluginDeactivateMessage = 'Vdct', /* Visualizer is being removed from the screen (deallocate large memory here) */ + + kVisualPluginPulseMessage = 'Vpls', /* Sent at the rate requested during plugin registration. Contains new data if currently playing audio. */ + kVisualPluginDrawMessage = 'Vdrw', /* Draw a new frame. Sent when the OS decides to repaint the backing view. */ + kVisualPluginFrameChangedMessage = 'Vfrm', /* The visualizer area resized. A draw message will be sent immediately. */ + + kVisualPluginPlayMessage = 'Vply', /* Starting playback. */ + kVisualPluginChangeTrackMessage = 'Ctrk', /* Current track changed or info about the current track has changed. */ + kVisualPluginSetPositionMessage = 'setp', /* Setting the position of the currently playing track. */ + kVisualPluginStopMessage = 'vstp', /* Stopping playback. */ + kVisualPluginCoverArtMessage = 'Vart', /* Delivers the current track artwork as requested by the plugin. Plugin must retain/copy it if it wants to keep it. */ + + kVisualPluginDisplayChangedMessage = 'dchn' /* Something about display state changed. */ + +}; + +/* + VisualPlugin messages +*/ + +enum { + kVisualMaxDataChannels = 2, + + kVisualNumWaveformEntries = 512, + kVisualNumSpectrumEntries = 512 +}; + +enum { + /* CoverArt format types */ + kVisualCoverArtFormatJPEG = 13, + kVisualCoverArtFormatPNG = 14, + kVisualCoverArtFormatBMP = 27 +}; + +enum { + /* Activate options */ + + kWindowIsFullScreen = (1u << 0) +}; + +struct RenderVisualData { + UInt8 numWaveformChannels; + UInt8 waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries]; + + UInt8 numSpectrumChannels; + UInt8 spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries]; +}; +typedef struct RenderVisualData RenderVisualData; + +struct VisualPluginInitMessage { + UInt32 messageMajorVersion; /* Input */ + UInt32 messageMinorVersion; /* Input */ + NumVersion appVersion; /* Input */ + + void * appCookie; /* Input */ + ITAppProcPtr appProc; /* Input */ + + OptionBits unused; /* N/A */ + void * refCon; /* Output */ +}; +typedef struct VisualPluginInitMessage VisualPluginInitMessage; + +struct VisualPluginActivateMessage { + VISUAL_PLATFORM_VIEW view; /* Input - plugin should draw in entire bounds */ + OptionBits options; /* Input */ +}; +typedef struct VisualPluginActivateMessage VisualPluginActivateMessage; + +struct VisualPluginWindowChangedMessage { + OptionBits options; /* Input */ +}; +typedef struct VisualPluginWindowChangedMessage VisualPluginWindowChangedMessage; + +struct VisualPluginPulseMessage { + RenderVisualData * renderData; /* Input */ + UInt32 timeStampID; /* Input */ + UInt32 currentPositionInMS; /* Input */ + + UInt32 newPulseRateInHz; /* Input/Output - contains current rate on input, modify it to get a new rate. */ +}; +typedef struct VisualPluginPulseMessage VisualPluginPulseMessage; + +struct VisualPluginPlayMessage { + ITTrackInfo * trackInfo; /* Input */ + ITStreamInfo * streamInfo; /* Input */ + + AudioStreamBasicDescription audioFormat; /* Input */ + UInt32 bitRate; /* Input */ + SInt32 volume; /* Input */ +}; +typedef struct VisualPluginPlayMessage VisualPluginPlayMessage; + +struct VisualPluginChangeTrackMessage { + ITTrackInfo * trackInfo; /* Input */ + ITStreamInfo * streamInfo; /* Input */ +}; +typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage; + +struct VisualPluginCoverArtMessage { + VISUAL_PLATFORM_DATA coverArt; /* input - client must retain (mac) or copy (windows) the data if they want to keep it after this message completes. + - note that coverArt will be NULL if the current track has no artwork */ + UInt32 coverArtSize; /* input - size of the coverArt in bytes */ + UInt32 coverArtFormat; /* input - format of cover art */ +}; +typedef struct VisualPluginCoverArtMessage VisualPluginCoverArtMessage; + +struct VisualPluginSetPositionMessage { + UInt32 positionTimeInMS; /* Input */ +}; +typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage; + +enum { + kVisualDisplayDepthChanged = 1 << 0, /* the display's depth has changed */ + kVisualDisplayRectChanged = 1 << 1, /* the display's location changed */ + kVisualWindowMoved = 1 << 2, /* the window has moved location */ + kVisualDisplayConfigChanged = 1 << 3, /* something else about the display changed */ +}; + +struct VisualPluginDisplayChangedMessage { + UInt32 flags; /* Input */ +}; +typedef struct VisualPluginDisplayChangedMessage VisualPluginDisplayChangedMessage; + + +struct VisualPluginMessageInfo { + union { + VisualPluginInitMessage initMessage; + VisualPluginActivateMessage activateMessage; + VisualPluginWindowChangedMessage windowChangedMessage; + VisualPluginPulseMessage pulseMessage; + VisualPluginPlayMessage playMessage; + VisualPluginChangeTrackMessage changeTrackMessage; + VisualPluginSetPositionMessage setPositionMessage; + VisualPluginCoverArtMessage coverArtMessage; + VisualPluginDisplayChangedMessage displayChangedMessage; + } u; +}; +typedef struct VisualPluginMessageInfo VisualPluginMessageInfo; + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ITUNESVISUALAPI_H_ */ diff --git a/src/projectM-iTunes/projectM Visualizer/AppDelegate.h b/src/projectM-iTunes/projectM Visualizer/AppDelegate.h new file mode 100644 index 0000000000..9f7c5b5310 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/AppDelegate.h @@ -0,0 +1,17 @@ +// +// AppDelegate.h +// projectM Visualizer +// +// Created by Snooz on 8/16/14. +// Copyright (c) 2014 projectM. All rights reserved. +// + +#import "Preferences.h" +#import + +@interface AppDelegate : NSObject + +@property (assign) IBOutlet NSWindow *window; +@property (retain) IBOutlet Preferences *prefs; + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/AppDelegate.m b/src/projectM-iTunes/projectM Visualizer/AppDelegate.m new file mode 100644 index 0000000000..2af86a7c43 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/AppDelegate.m @@ -0,0 +1,26 @@ +// +// AppDelegate.m +// projectM Visualizer +// +// Created by Mischa Spiegelmock on 8/16/14. +// Copyright (c) 2014 projectM. All rights reserved. +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + //[self installPlugin:nil]; +// _prefs = [[Preferences alloc] initWithWindowNibName:@"Preferences" owner:self]; +// [_prefs showWindow:self]; +} + +- (IBAction)installPlugin:(id)sender { + NSBundle* me = [NSBundle mainBundle]; + NSString* installerPkg = [me pathForResource:@"iProjectM" ofType:@"pkg"]; + NSWorkspace *workspace = [NSWorkspace sharedWorkspace]; + [workspace openFile:installerPkg]; +} + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.h b/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.h new file mode 100644 index 0000000000..8b4d84ebd1 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.h @@ -0,0 +1,24 @@ +// +// AudioInputDeviceList.h +// projectM Visualizer +// +// Created by Mischa on 5/30/15. +// Copyright (c) 2015 projectM. All rights reserved. +// + +#import +#import + +@interface AudioInputDeviceList : NSObject + +@property (retain) NSMutableArray *devices; + +- (id)init; + +- (void)refreshDeviceList; + +- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox; + +- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index; + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.m b/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.m new file mode 100644 index 0000000000..81df5e9331 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/AudioInputDeviceList.m @@ -0,0 +1,43 @@ +// +// AudioInputDeviceList.m +// projectM Visualizer +// +// Created by Mischa on 5/30/15. +// Copyright (c) 2015 projectM. All rights reserved. +// + +#import "AudioInputDeviceList.h" + +@implementation AudioInputDeviceList + +- (id)init { + [self setDevices:[[NSMutableArray alloc] init]]; + [self refreshDeviceList]; + + return self; +} + +- (void)refreshDeviceList { + [_devices removeAllObjects]; + + NSArray *devs = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio]; + AVCaptureDeviceInputSource *src; + for (int i = 0; i < [devs count]; i++) { + src = [devs objectAtIndex:i]; + [_devices addObject:src]; + } +} + +- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox { + if (_devices == nil) + return 0; + + return [_devices count]; +} + +//- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index { +// AVCaptureDeviceInputSource *src = [_devices objectAtIndex:index]; +// return [NSString stringWithFormat:@"%@" [src localizedName]]; +//} + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/Base.lproj/MainMenu.xib b/src/projectM-iTunes/projectM Visualizer/Base.lproj/MainMenu.xib new file mode 100644 index 0000000000..fd34bfbf4d --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/Base.lproj/MainMenu.xib @@ -0,0 +1,720 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/Contents.json b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..3332edbd94 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,60 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "iProjectM-1.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "iProjectM@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM-1.png b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM-1.png new file mode 100644 index 0000000000..e990d046c4 Binary files /dev/null and b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM-1.png differ diff --git a/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM@2x.png b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM@2x.png new file mode 100644 index 0000000000..55c51f8928 Binary files /dev/null and b/src/projectM-iTunes/projectM Visualizer/Images.xcassets/AppIcon.appiconset/iProjectM@2x.png differ diff --git a/src/projectM-iTunes/projectM Visualizer/Preferences.h b/src/projectM-iTunes/projectM Visualizer/Preferences.h new file mode 100644 index 0000000000..db04febbcf --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/Preferences.h @@ -0,0 +1,17 @@ +// +// Preferences.h +// projectM Visualizer +// +// Created by Mischa on 5/30/15. +// Copyright (c) 2015 projectM. All rights reserved. +// + +#import +#import +#import "AudioInputDeviceList.h" + +@interface Preferences : NSWindowController + +@property IBOutlet AudioInputDeviceList *deviceList; + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/Preferences.m b/src/projectM-iTunes/projectM Visualizer/Preferences.m new file mode 100644 index 0000000000..02cfb9ab65 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/Preferences.m @@ -0,0 +1,14 @@ +// +// Preferences.m +// projectM Visualizer +// +// Created by Mischa on 5/30/15. +// Copyright (c) 2015 projectM. All rights reserved. +// + +#import "Preferences.h" + +@implementation Preferences + + +@end diff --git a/src/projectM-iTunes/projectM Visualizer/Preferences.xib b/src/projectM-iTunes/projectM Visualizer/Preferences.xib new file mode 100644 index 0000000000..d0f668f06b --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/Preferences.xib @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectM-iTunes/projectM Visualizer/en.lproj/Credits.rtf b/src/projectM-iTunes/projectM Visualizer/en.lproj/Credits.rtf new file mode 100644 index 0000000000..46576ef211 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/en.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/src/projectM-iTunes/projectM Visualizer/en.lproj/InfoPlist.strings b/src/projectM-iTunes/projectM Visualizer/en.lproj/InfoPlist.strings new file mode 100644 index 0000000000..477b28ff8f --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/src/projectM-iTunes/projectM Visualizer/main.m b/src/projectM-iTunes/projectM Visualizer/main.m new file mode 100644 index 0000000000..b5e8d95a97 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/main.m @@ -0,0 +1,14 @@ +// +// main.m +// projectM Visualizer +// +// Created by Snooz on 8/16/14. +// Copyright (c) 2014 projectM. All rights reserved. +// + +#import + +int main(int argc, const char * argv[]) +{ + return NSApplicationMain(argc, argv); +} diff --git a/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Info.plist b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Info.plist new file mode 100644 index 0000000000..cc18ec6359 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + projectM Visualizer + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 3.1.2 + CFBundleSignature + MiSh + CFBundleVersion + 1 + LSApplicationCategoryType + public.app-category.music + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSHumanReadableCopyright + Copyright © 2015 Mischa Spiegelmock. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Prefix.pch b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Prefix.pch new file mode 100644 index 0000000000..35d76409fa --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer-Prefix.pch @@ -0,0 +1,9 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#ifdef __OBJC__ + #import +#endif diff --git a/src/projectM-iTunes/projectM Visualizer/projectM Visualizer.entitlements b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer.entitlements new file mode 100644 index 0000000000..852fa1a472 --- /dev/null +++ b/src/projectM-iTunes/projectM Visualizer/projectM Visualizer.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.13.53 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.13.53 PM.png new file mode 100644 index 0000000000..5b4662b192 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.13.53 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.04 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.04 PM.png new file mode 100644 index 0000000000..ae10706498 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.04 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.19 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.19 PM.png new file mode 100644 index 0000000000..e224e042da Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.19 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.41 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.41 PM.png new file mode 100644 index 0000000000..cbf32db153 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.14.41 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.36 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.36 PM.png new file mode 100644 index 0000000000..310a96c6fd Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.36 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.51 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.51 PM.png new file mode 100644 index 0000000000..7c067112ba Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.15.51 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.16.09 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.16.09 PM.png new file mode 100644 index 0000000000..74717c5c50 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-07-18 at 2.16.09 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.32 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.32 PM.png new file mode 100644 index 0000000000..c4b96c06b8 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.32 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.45 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.45 PM.png new file mode 100644 index 0000000000..bff0c904d3 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.49.45 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.14 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.14 PM.png new file mode 100644 index 0000000000..0010ebb18a Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.14 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.37 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.37 PM.png new file mode 100644 index 0000000000..24cdc3a304 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.50.37 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.27 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.27 PM.png new file mode 100644 index 0000000000..4459543bf9 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.27 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.44 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.44 PM.png new file mode 100644 index 0000000000..543a775668 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.52.44 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.54.46 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.54.46 PM.png new file mode 100644 index 0000000000..4c54ae71cb Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.54.46 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.55.50 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.55.50 PM.png new file mode 100644 index 0000000000..8d6738ed08 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 4.55.50 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 5.00.37 PM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 5.00.37 PM.png new file mode 100644 index 0000000000..c7f5ee3a52 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-16 at 5.00.37 PM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.07 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.07 AM.png new file mode 100644 index 0000000000..f357ab6897 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.07 AM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.20 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.20 AM.png new file mode 100644 index 0000000000..0bad89741c Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.31.20 AM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.32.56 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.32.56 AM.png new file mode 100644 index 0000000000..7ef3033efd Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.32.56 AM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.23 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.23 AM.png new file mode 100644 index 0000000000..eb98dc2eca Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.23 AM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.50 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.50 AM.png new file mode 100644 index 0000000000..006bdd9ff8 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.33.50 AM.png differ diff --git a/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.35.21 AM.png b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.35.21 AM.png new file mode 100644 index 0000000000..f7ed1da258 Binary files /dev/null and b/src/projectM-iTunes/projectM screenshots/Screen Shot 2014-08-25 at 12.35.21 AM.png differ diff --git a/src/projectM-iTunes/win32/CVS/Entries b/src/projectM-iTunes/win32/CVS/Entries deleted file mode 100755 index 33bc664c6f..0000000000 --- a/src/projectM-iTunes/win32/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/iTunesAPI.c/1.1/Wed Oct 6 11:03:54 2004// -/iTunesAPI.h/1.1/Wed Oct 6 11:03:54 2004// -/iTunesVisualAPI.h/1.1/Wed Oct 6 11:03:54 2004// -D diff --git a/src/projectM-iTunes/win32/CVS/Repository b/src/projectM-iTunes/win32/CVS/Repository deleted file mode 100755 index 62ef5eabf4..0000000000 --- a/src/projectM-iTunes/win32/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/iprojectM/win32 diff --git a/src/projectM-iTunes/win32/CVS/Root b/src/projectM-iTunes/win32/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-iTunes/win32/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-jack/.gitignore b/src/projectM-jack/.gitignore new file mode 100644 index 0000000000..1f1d20d685 --- /dev/null +++ b/src/projectM-jack/.gitignore @@ -0,0 +1 @@ +projectM_jack \ No newline at end of file diff --git a/src/projectM-jack/ChangeLog b/src/projectM-jack/ChangeLog index e69de29bb2..c80c00a49c 100644 --- a/src/projectM-jack/ChangeLog +++ b/src/projectM-jack/ChangeLog @@ -0,0 +1 @@ +10/10/2007 FIRST RELEASE! \ No newline at end of file diff --git a/src/projectM-jack/ConfigFile.cpp b/src/projectM-jack/ConfigFile.cpp index f041064e51..f979b8a355 100644 --- a/src/projectM-jack/ConfigFile.cpp +++ b/src/projectM-jack/ConfigFile.cpp @@ -1,5 +1,31 @@ // ConfigFile.cpp + +// ConfigFile.h +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + + #include "ConfigFile.h" using std::string; diff --git a/src/projectM-jack/HTTPRemoteControl.cpp b/src/projectM-jack/HTTPRemoteControl.cpp new file mode 100644 index 0000000000..dd6a917e5c --- /dev/null +++ b/src/projectM-jack/HTTPRemoteControl.cpp @@ -0,0 +1,59 @@ +#include "HTTPRemoteControl.h" +#include + +#define HARDCUT true + +void HTTPRemoteControl::selectPrevious(QxtWebRequestEvent* event) { + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, "selectPrevious")); + parent3->selectPrevious(HARDCUT); +} + +void HTTPRemoteControl::selectNext(QxtWebRequestEvent* event) { + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, "selectNext")); + parent3->selectNext(HARDCUT); +} + +void HTTPRemoteControl::selectRandom(QxtWebRequestEvent* event) { + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, "selectRandom")); + parent3->selectRandom(HARDCUT); +} + +void HTTPRemoteControl::index(QxtWebRequestEvent* event) { + QString s=""; + std::stringstream convert, convert2; + s=s+""; + s=s+""+qgetenv("HTTP_NAME")+""; + s=s+""; + s=s+""; + s=s+" Random "; + for(int i=1; i<=6; i++) { + convert.str(""); + convert << i; + s=s+""+convert.str().c_str()+" "; + } + s=s+"

"; + for(int i=0; igetPlaylistSize(); i++) { + convert.str(""); + convert << i; + std::string n=parent3->getPresetName(i); + convert2.str(""); + convert2 << parent3->getPresetRating(i, FIRST_RATING_TYPE); + s=s+""+n.substr(0, n.find(".milk")).c_str()+" ["+convert2.str().c_str()+"]
"; + } + s=s+""; + s=s+""; + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, s.toUtf8())); +} + +void HTTPRemoteControl::selectPresetPosition(QxtWebRequestEvent* event, QString a) { + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, "selectPresetPosition('"+a.toUtf8()+"')")); + parent3->selectPreset(a.toUInt(), HARDCUT); +} + +void HTTPRemoteControl::changePresetRating(QxtWebRequestEvent* event, QString a) { + postEvent(new QxtWebPageEvent(event->sessionID, event->requestID, "changePresetRating('"+a.toUtf8()+"')")); + unsigned int index; + parent3->selectedPresetIndex(index); + parent3->changePresetRating(index, a.toUInt(), FIRST_RATING_TYPE); + parent3->selectNext(HARDCUT); +} diff --git a/src/projectM-jack/HTTPRemoteControl.h b/src/projectM-jack/HTTPRemoteControl.h new file mode 100644 index 0000000000..a1a0f50923 --- /dev/null +++ b/src/projectM-jack/HTTPRemoteControl.h @@ -0,0 +1,27 @@ +#ifndef HTTPREMOTECONTROL +#define HTTPREMOTECONTROL + +#include +#include +#include +#include +#include "qprojectm.hpp" + +class HTTPRemoteControl : public QxtWebSlotService { + Q_OBJECT + QProjectM * parent3; +public: + HTTPRemoteControl(QxtAbstractWebSessionManager * sm, QProjectM * parent2): QxtWebSlotService(sm, 0) { + parent3=parent2; + printf("HTTPRemoteControl()\n"); fflush(stdout); + } +public slots: + void selectPrevious(QxtWebRequestEvent*); + void selectNext(QxtWebRequestEvent*); + void selectRandom(QxtWebRequestEvent*); + void index(QxtWebRequestEvent*); + void selectPresetPosition(QxtWebRequestEvent*, QString); + void changePresetRating(QxtWebRequestEvent*, QString); +}; + +#endif diff --git a/src/projectM-jack/INSTALL b/src/projectM-jack/INSTALL index 855f060f5f..7ffa237542 100644 --- a/src/projectM-jack/INSTALL +++ b/src/projectM-jack/INSTALL @@ -1,3 +1,7 @@ -If from CVS, run autogen.sh first. +First install JACK and projectM 1.0 - ./configure, make, make install. +cmake . -DCMAKE_BUILD_TYPE=RELEASE +make +make install + +You may need to type ccmake . and change the PREFIX if your system prefers /usr instead of /usr/local. \ No newline at end of file diff --git a/src/projectM-jack/Makefile b/src/projectM-jack/Makefile deleted file mode 100644 index 7fd881e22f..0000000000 --- a/src/projectM-jack/Makefile +++ /dev/null @@ -1,643 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -pkgdatadir = $(datadir)/jack-projectM -pkglibdir = $(libdir)/jack-projectM -pkgincludedir = $(includedir)/jack-projectM -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -bin_PROGRAMS = jack-projectM$(EXEEXT) -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - config.guess config.sub depcomp install-sh ltmain.sh missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_jack_projectM_OBJECTS = video_init.$(OBJEXT) \ - jack-projectM.$(OBJEXT) ConfigFile.$(OBJEXT) -jack_projectM_OBJECTS = $(am_jack_projectM_OBJECTS) -jack_projectM_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I. -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(jack_projectM_SOURCES) -DIST_SOURCES = $(jack_projectM_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/pete/jack-projectM/missing --run aclocal-1.10 -AMTAR = ${SHELL} /home/pete/jack-projectM/missing --run tar -AR = ar -AUTOCONF = ${SHELL} /home/pete/jack-projectM/missing --run autoconf -AUTOHEADER = ${SHELL} /home/pete/jack-projectM/missing --run autoheader -AUTOMAKE = ${SHELL} /home/pete/jack-projectM/missing --run automake-1.10 -AWK = gawk -BUILD_ACTOR = -BUILD_INPUT = -CATALOGS = es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo -CATOBJEXT = .gmo -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DATADIRNAME = share -DEBUG_CFLAGS = -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -ECHO = echo -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -F77 = gfortran -FFLAGS = -g -O2 -GETTEXT_PACKAGE = jack-projectM -GMOFILES = es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo -GMSGFMT = /usr/bin/gmsgfmt -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -INSTOBJEXT = .mo -INTLLIBS = -JACK_CFLAGS = -JACK_LIBS = -ljack -lpthread -lrt -LDFLAGS = -LIBOBJS = -LIBPROJECTM_CFLAGS = -LIBPROJECTM_LIBS = -lprojectM -LIBS = -lSDL -lpthread -ljack -lpthread -lrt -lprojectM -lprojectM -lGL -lGLU -LIBS_DYNAMIC_LOADER = -ldl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LN_S = ln -s -LTLIBOBJS = -MAKEINFO = ${SHELL} /home/pete/jack-projectM/missing --run makeinfo -MKDIR_P = /usr/bin/mkdir -p -MKINSTALLDIRS = ./mkinstalldirs -MSGFMT = /usr/bin/msgfmt -MSGFMT_OPTS = -c -OBJEXT = o -OPT_CFLAGS = -PACKAGE = jack-projectM -PACKAGE_BUGREPORT = none -PACKAGE_NAME = jack-projectM plugin -PACKAGE_STRING = jack-projectM plugin 1.00 -PACKAGE_TARNAME = jack-projectM -PACKAGE_VERSION = 1.00 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -POFILES = es.po es_AR.po pt_BR.po nl.po fr.po ru.po -POSUB = po -PO_IN_DATADIR_FALSE = -PO_IN_DATADIR_TRUE = -RANLIB = ranlib -SDL_CFLAGS = -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -SDL_CONFIG = /usr/bin/sdl-config -SDL_LIBS = -lSDL -lpthread -SED = /bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -USE_NLS = yes -VERSION = 1.00 -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/pete/jack-projectM -abs_srcdir = /home/pete/jack-projectM -abs_top_builddir = /home/pete/jack-projectM -abs_top_srcdir = /home/pete/jack-projectM -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_F77 = gfortran -am__include = include -am__leading_dot = . -am__quote = -am__tar = ${AMTAR} chof - "$$tardir" -am__untar = ${AMTAR} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = $(SHELL) /home/pete/jack-projectM/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = /usr/bin/mkdir -p -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_builddir = . -top_srcdir = . -AM_CXXFLAGS = -Wall -I$(top_builddir) -I$(top_srcdir) -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DLINUX -jack_projectM_SOURCES = video_init.cpp jack-projectM.cpp video_init.h sdltoprojectm.h ConfigFile.cpp ConfigFile.h -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -jack-projectM$(EXEEXT): $(jack_projectM_OBJECTS) $(jack_projectM_DEPENDENCIES) - @rm -f jack-projectM$(EXEEXT) - $(CXXLINK) $(jack_projectM_OBJECTS) $(jack_projectM_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/ConfigFile.Po -include ./$(DEPDIR)/jack-projectM.Po -include ./$(DEPDIR)/video_init.Po - -.cpp.o: - $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: - $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: - $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags dist \ - dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/projectM-jack/Makefile.am b/src/projectM-jack/Makefile.am index e6e05639e6..bceef621d8 100644 --- a/src/projectM-jack/Makefile.am +++ b/src/projectM-jack/Makefile.am @@ -1,5 +1,47 @@ -bin_PROGRAMS = jack-projectM +QT_CXXFLAGS = @QT_CXXFLAGS@ +QT_LIBS = @QT_LIBS@ -AM_CXXFLAGS = -Wall -I$(top_builddir) -I$(top_srcdir) @SDL_CFLAGS@ @JACK_CFLAGS@ @LIBPROJECTM_CFLAGS@ -DLINUX -LIBS = @SDL_LIBS@ @JACK_LIBS@ @LIBPROJECTM_LIBS@ -lprojectM -lGL -lGLU -jack_projectM_SOURCES = video_init.cpp jack-projectM.cpp video_init.h sdltoprojectm.h ConfigFile.cpp ConfigFile.h +AM_CPPFLAGS = \ +${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-DSYSCONFDIR=\""$(sysconfdir)"\" \ +-DPROJECTM_PREFIX=\""${prefix}"\" \ +-DRESOURCE_PREFIX=\""share/projectM"\" \ +-I${top_srcdir}/src/libprojectM \ +-I${top_srcdir}/src/libprojectM/Renderer \ +-I${top_srcdir}/src/projectM-qt \ +${jack_CFLAGS} \ +${QT_CXXFLAGS} \ +-fPIC + +# TODO: add remote control if we have qxt network lib +# if QT_NETWORK_ENABLED +# EXTRA_SRCS = HTTPRemoteControl.cpp +# endif + + +# TODO: build qprojectM-jack and projectM-jack as separate programs + +bin_PROGRAMS = projectM-jack +projectM_jack_SOURCES = qprojectM-jack.cpp ConfigFile.cpp ${EXTRA_SRCS} +projectM_jack_LDADD = \ + ../projectM-qt/libprojectM_qt.a \ + ${jack_LIBS} \ + ${QT_LIBS} \ + ../libprojectM/libprojectM.la +projectM_jack_LDFLAGS = -static -fPIC ${QT_LIBS} +projectM_jack_PROGRAM = projectM-jack + +desktopdir = $(datadir)/applications +dist_desktop_DATA = projectM-jack.desktop + +icondir = $(datadir)/icons/hicolor/scalable/apps +icon_svg = ${top_srcdir}/src/projectM-qt/images/icons/prjm16-transparent.svg + +install-icons: + mkdir -p $(DESTDIR)$(icondir); \ + $(INSTALL_DATA) $(icon_svg) $(DESTDIR)$(icondir)/projectM.svg + +install-data-local: install-icons + +dist_man_MANS = projectM-jack.1 diff --git a/src/projectM-jack/Makefile.in b/src/projectM-jack/Makefile.in deleted file mode 100644 index a74cb2d615..0000000000 --- a/src/projectM-jack/Makefile.in +++ /dev/null @@ -1,643 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = jack-projectM$(EXEEXT) -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - config.guess config.sub depcomp install-sh ltmain.sh missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_jack_projectM_OBJECTS = video_init.$(OBJEXT) \ - jack-projectM.$(OBJEXT) ConfigFile.$(OBJEXT) -jack_projectM_OBJECTS = $(am_jack_projectM_OBJECTS) -jack_projectM_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(jack_projectM_SOURCES) -DIST_SOURCES = $(jack_projectM_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_ACTOR = @BUILD_ACTOR@ -BUILD_INPUT = @BUILD_INPUT@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATADIRNAME = @DATADIRNAME@ -DEBUG_CFLAGS = @DEBUG_CFLAGS@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLLIBS = @INTLLIBS@ -JACK_CFLAGS = @JACK_CFLAGS@ -JACK_LIBS = @JACK_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBPROJECTM_CFLAGS = @LIBPROJECTM_CFLAGS@ -LIBPROJECTM_LIBS = @LIBPROJECTM_LIBS@ -LIBS = @SDL_LIBS@ @JACK_LIBS@ @LIBPROJECTM_LIBS@ -lprojectM -lGL -lGLU -LIBS_DYNAMIC_LOADER = @LIBS_DYNAMIC_LOADER@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -MSGFMT_OPTS = @MSGFMT_OPTS@ -OBJEXT = @OBJEXT@ -OPT_CFLAGS = @OPT_CFLAGS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -POFILES = @POFILES@ -POSUB = @POSUB@ -PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ -PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ -RANLIB = @RANLIB@ -SDL_CFLAGS = @SDL_CFLAGS@ -SDL_CONFIG = @SDL_CONFIG@ -SDL_LIBS = @SDL_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CXXFLAGS = -Wall -I$(top_builddir) -I$(top_srcdir) @SDL_CFLAGS@ @JACK_CFLAGS@ @LIBPROJECTM_CFLAGS@ -DLINUX -jack_projectM_SOURCES = video_init.cpp jack-projectM.cpp video_init.h sdltoprojectm.h ConfigFile.cpp ConfigFile.h -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -jack-projectM$(EXEEXT): $(jack_projectM_OBJECTS) $(jack_projectM_DEPENDENCIES) - @rm -f jack-projectM$(EXEEXT) - $(CXXLINK) $(jack_projectM_OBJECTS) $(jack_projectM_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigFile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jack-projectM.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/video_init.Po@am__quote@ - -.cpp.o: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: -@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags dist \ - dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/projectM-jack/README b/src/projectM-jack/README index e69de29bb2..92be3d365d 100644 --- a/src/projectM-jack/README +++ b/src/projectM-jack/README @@ -0,0 +1 @@ +see INSTALL \ No newline at end of file diff --git a/src/projectM-jack/aclocal.m4 b/src/projectM-jack/aclocal.m4 deleted file mode 100644 index 7e796e49cb..0000000000 --- a/src/projectM-jack/aclocal.m4 +++ /dev/null @@ -1,8257 +0,0 @@ -# generated automatically by aclocal 1.10 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_if(m4_PACKAGE_VERSION, [2.61],, -[m4_fatal([this file was generated for autoconf 2.61. -You have another version of autoconf. If you want to use that, -you should regenerate the build system entirely.], [63])]) - -# Copyright (C) 1995-2002 Free Software Foundation, Inc. -# Copyright (C) 2001-2003,2004 Red Hat, Inc. -# -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995, 1996 -# -# Modified to never use included libintl. -# Owen Taylor , 12/15/1998 -# -# Major rework to remove unused code -# Owen Taylor , 12/11/2002 -# -# Added better handling of ALL_LINGUAS from GNU gettext version -# written by Bruno Haible, Owen Taylor 5/30/3002 -# -# Modified to require ngettext -# Matthias Clasen 08/06/2004 -# -# We need this here as well, since someone might use autoconf-2.5x -# to configure GLib then an older version to configure a package -# using AM_GLIB_GNU_GETTEXT -AC_PREREQ(2.53) - -dnl -dnl We go to great lengths to make sure that aclocal won't -dnl try to pull in the installed version of these macros -dnl when running aclocal in the glib directory. -dnl -m4_copy([AC_DEFUN],[glib_DEFUN]) -m4_copy([AC_REQUIRE],[glib_REQUIRE]) -dnl -dnl At the end, if we're not within glib, we'll define the public -dnl definitions in terms of our private definitions. -dnl - -# GLIB_LC_MESSAGES -#-------------------- -glib_DEFUN([GLIB_LC_MESSAGES], - [AC_CHECK_HEADERS([locale.h]) - if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your file defines LC_MESSAGES.]) - fi - fi]) - -# GLIB_PATH_PROG_WITH_TEST -#---------------------------- -dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - -# GLIB_WITH_NLS -#----------------- -glib_DEFUN([GLIB_WITH_NLS], - dnl NLS is obligatory - [AC_REQUIRE([AC_CANONICAL_HOST])dnl - USE_NLS=yes - AC_SUBST(USE_NLS) - - gt_cv_have_gettext=no - - CATOBJEXT=NONE - XGETTEXT=: - INTLLIBS= - - AC_CHECK_HEADER(libintl.h, - [gt_cv_func_dgettext_libintl="no" - libintl_extra_libs="" - - # - # First check in libc - # - AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, - [AC_TRY_LINK([ -#include -], - [return !ngettext ("","", 1)], - gt_cv_func_ngettext_libc=yes, - gt_cv_func_ngettext_libc=no) - ]) - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, - [AC_TRY_LINK([ -#include -], - [return !dgettext ("","")], - gt_cv_func_dgettext_libc=yes, - gt_cv_func_dgettext_libc=no) - ]) - fi - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - AC_CHECK_FUNCS(bind_textdomain_codeset) - fi - - # - # If we don't have everything we want, check in libintl - # - if test "$gt_cv_func_dgettext_libc" != "yes" \ - || test "$gt_cv_func_ngettext_libc" != "yes" \ - || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then - - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CHECK_LIB(intl, ngettext, - [AC_CHECK_LIB(intl, dgettext, - gt_cv_func_dgettext_libintl=yes)])]) - - if test "$gt_cv_func_dgettext_libintl" != "yes" ; then - AC_MSG_CHECKING([if -liconv is needed to use gettext]) - AC_MSG_RESULT([]) - AC_CHECK_LIB(intl, ngettext, - [AC_CHECK_LIB(intl, dcgettext, - [gt_cv_func_dgettext_libintl=yes - libintl_extra_libs=-liconv], - :,-liconv)], - :,-liconv) - fi - - # - # If we found libintl, then check in it for bind_textdomain_codeset(); - # we'll prefer libc if neither have bind_textdomain_codeset(), - # and both have dgettext and ngettext - # - if test "$gt_cv_func_dgettext_libintl" = "yes" ; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $libintl_extra_libs" - unset ac_cv_func_bind_textdomain_codeset - AC_CHECK_FUNCS(bind_textdomain_codeset) - LIBS="$glib_save_LIBS" - - if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then - gt_cv_func_dgettext_libc=no - else - if test "$gt_cv_func_dgettext_libc" = "yes" \ - && test "$gt_cv_func_ngettext_libc" = "yes"; then - gt_cv_func_dgettext_libintl=no - fi - fi - fi - fi - - if test "$gt_cv_func_dgettext_libc" = "yes" \ - || test "$gt_cv_func_dgettext_libintl" = "yes"; then - gt_cv_have_gettext=yes - fi - - if test "$gt_cv_func_dgettext_libintl" = "yes"; then - INTLLIBS="-lintl $libintl_extra_libs" - fi - - if test "$gt_cv_have_gettext" = "yes"; then - AC_DEFINE(HAVE_GETTEXT,1, - [Define if the GNU gettext() function is already present or preinstalled.]) - GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - MSGFMT_OPTS= - AC_MSG_CHECKING([if msgfmt accepts -c]) - GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: test 1.0\n" -"PO-Revision-Date: 2007-02-15 12:01+0100\n" -"Last-Translator: test \n" -"Language-Team: C \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) - AC_SUBST(MSGFMT_OPTS) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [case $host in - *-*-solaris*) - dnl On Solaris, if bind_textdomain_codeset is in libc, - dnl GNU format message catalog is always supported, - dnl since both are added to the libc all together. - dnl Hence, we'd like to go with DATADIRNAME=share and - dnl and CATOBJEXT=.gmo in this case. - AC_CHECK_FUNC(bind_textdomain_codeset, - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - ;; - *) - CATOBJEXT=.mo - DATADIRNAME=lib - ;; - esac]) - LIBS="$glib_save_LIBS" - INSTOBJEXT=.mo - else - gt_cv_have_gettext=no - fi - fi - ]) - - if test "$gt_cv_have_gettext" = "yes" ; then - AC_DEFINE(ENABLE_NLS, 1, - [always defined to indicate that i18n is enabled]) - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is not GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - - AC_OUTPUT_COMMANDS( - [case "$CONFIG_FILES" in *po/Makefile.in*) - sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile - esac]) - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - dnl Make all variables we use known to autoconf. - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLLIBS) - AC_SUBST(PO_IN_DATADIR_TRUE) - AC_SUBST(PO_IN_DATADIR_FALSE) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - ]) - -# AM_GLIB_GNU_GETTEXT -# ------------------- -# Do checks necessary for use of gettext. If a suitable implementation -# of gettext is found in either in libintl or in the C library, -# it will set INTLLIBS to the libraries needed for use of gettext -# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable -# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() -# on various variables needed by the Makefile.in.in installed by -# glib-gettextize. -dnl -glib_DEFUN([GLIB_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - - GLIB_LC_MESSAGES - GLIB_WITH_NLS - - if test "$gt_cv_have_gettext" = "yes"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) - - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - ]) - -# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) -# ------------------------------- -# Define VARIABLE to the location where catalog files will -# be installed by po/Makefile. -glib_DEFUN([GLIB_DEFINE_LOCALEDIR], -[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl -glib_save_prefix="$prefix" -glib_save_exec_prefix="$exec_prefix" -glib_save_datarootdir="$datarootdir" -test "x$prefix" = xNONE && prefix=$ac_default_prefix -test "x$exec_prefix" = xNONE && exec_prefix=$prefix -datarootdir=`eval echo "${datarootdir}"` -if test "x$CATOBJEXT" = "x.mo" ; then - localedir=`eval echo "${libdir}/locale"` -else - localedir=`eval echo "${datadir}/locale"` -fi -prefix="$glib_save_prefix" -exec_prefix="$glib_save_exec_prefix" -datarootdir="$glib_save_datarootdir" -AC_DEFINE_UNQUOTED($1, "$localedir", - [Define the location where the catalogs will be installed]) -]) - -dnl -dnl Now the definitions that aclocal will find -dnl -ifdef(glib_configure_in,[],[ -AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) -AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) -])dnl - -# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) -# -# Create a temporary file with TEST-FILE as its contents and pass the -# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with -# 0 and perform ACTION-IF-FAIL for any other exit status. -AC_DEFUN([GLIB_RUN_PROG], -[cat >conftest.foo <<_ACEOF -$2 -_ACEOF -if AC_RUN_LOG([$1 conftest.foo]); then - m4_ifval([$3], [$3], [:]) -m4_ifvaln([$4], [else $4])dnl -echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD -sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD -fi]) - - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 51 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Check if we have a version mismatch between libtool.m4 and ltmain.sh. -# -# Note: This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined. -# We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually -# calls AC_LIBTOOL_CONFIG and creates libtool. -# -_LT_VERSION_CHECK - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_VERSION_CHECK -# ----------------- -AC_DEFUN([_LT_VERSION_CHECK], -[AC_MSG_CHECKING([for correct ltmain.sh version]) -if test "x$ltmain" = "x" ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - -*** @<:@Gentoo@:>@ sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -]) -fi -gentoo_lt_version="1.5.24" -gentoo_ltmain_version=`sed -n '/^[[ ]]*VERSION=/{s/^[[ ]]*VERSION=//;p;q;}' "$ltmain"` -if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - -*** @<:@Gentoo@:>@ sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -]) -else - AC_MSG_RESULT(yes) -fi -])# _LT_VERSION_CHECK - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -m4_if($1,[],[ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognize shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognize a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# ------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(fix_srcfile_path, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([LT_AC_PROG_SED]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - - -# Cheap backport of AS_EXECUTABLE_P and required macros -# from Autoconf 2.59; we should not use $as_executable_p directly. - -# _AS_TEST_PREPARE -# ---------------- -m4_ifndef([_AS_TEST_PREPARE], -[m4_defun([_AS_TEST_PREPARE], -[if test -x / >/dev/null 2>&1; then - as_executable_p='test -x' -else - as_executable_p='test -f' -fi -])])# _AS_TEST_PREPARE - -# AS_EXECUTABLE_P -# --------------- -# Check whether a file is executable. -m4_ifndef([AS_EXECUTABLE_P], -[m4_defun([AS_EXECUTABLE_P], -[AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl -])])# AS_EXECUTABLE_P - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES - -# Configure paths for SDL -# Sam Lantinga 9/21/99 -# stolen from Manish Singh -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS -dnl -AC_DEFUN([AM_PATH_SDL], -[dnl -dnl Get the cflags and libraries from the sdl-config script -dnl -AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], - sdl_prefix="$withval", sdl_prefix="") -AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], - sdl_exec_prefix="$withval", sdl_exec_prefix="") -AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], - , enable_sdltest=yes) - - if test x$sdl_exec_prefix != x ; then - sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_args="$sdl_args --prefix=$sdl_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_prefix/bin/sdl-config - fi - fi - - if test "x$prefix" != xNONE; then - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - fi - AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) - min_sdl_version=ifelse([$1], ,0.11.0,$1) - AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) - no_sdl="" - if test "$SDL_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` - SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` - - sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" -dnl -dnl Now check if the installed SDL is sufficiently new. (Also sanity -dnl checks the results of sdl-config to some extent -dnl - rm -f conf.sdltest - AC_TRY_RUN([ -#include -#include -#include -#include "SDL.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } - - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); - printf("*** to point to the correct copy of sdl-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$SDL_CONFIG" = "no" ; then - echo "*** The sdl-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL_CONFIG environment variable to the" - echo "*** full path to sdl-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - AC_TRY_LINK([ -#include -#include "SDL.h" - -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(SDL_CFLAGS) - AC_SUBST(SDL_LIBS) - rm -f conf.sdltest -]) - -# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.10' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.10], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10])dnl -_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 3 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 12 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.60])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/src/projectM-jack/autogen.sh b/src/projectM-jack/autogen.sh deleted file mode 100755 index 6e9b5433ec..0000000000 --- a/src/projectM-jack/autogen.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -aclocal -libtoolize -autoconf -automake -a diff --git a/src/projectM-jack/config.guess b/src/projectM-jack/config.guess deleted file mode 100755 index 34093cc6bb..0000000000 --- a/src/projectM-jack/config.guess +++ /dev/null @@ -1,1535 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-07-22' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-${LIBC} - exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" - exit ;; - esac - # This should get integrated into the C code below, but now we hack - if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/projectM-jack/config.h b/src/projectM-jack/config.h deleted file mode 100644 index f54e15ee51..0000000000 --- a/src/projectM-jack/config.h +++ /dev/null @@ -1,101 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* always defined to indicate that i18n is enabled */ -#define ENABLE_NLS 1 - -/* GETTEXT package name */ -#define GETTEXT_PACKAGE "jack-projectM" - -/* Define to 1 if you have the `bind_textdomain_codeset' function. */ -#define HAVE_BIND_TEXTDOMAIN_CODESET 1 - -/* Define to 1 if you have the `dcgettext' function. */ -#define HAVE_DCGETTEXT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#define HAVE_GETTEXT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GL_GLU_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GL_GLX_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GL_GL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define if your file defines LC_MESSAGES. */ -#define HAVE_LC_MESSAGES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_LOCALE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Name of package */ -#define PACKAGE "jack-projectM" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "none " - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "jack-projectM plugin" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "jack-projectM plugin 1.00" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "jack-projectM" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "1.00" - -/* libprojectM data dir */ -#define PROJECTM_DATADIR "/usr/share/projectM" - -/* libprojectM configuration dir */ -#define PROJECTM_SYSCONFDIR "/usr/share/projectM" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.00" - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef const */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif diff --git a/src/projectM-jack/config.log b/src/projectM-jack/config.log deleted file mode 100644 index 90a6063b9e..0000000000 --- a/src/projectM-jack/config.log +++ /dev/null @@ -1,993 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by jack-projectM plugin configure 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - $ ./configure - -## --------- ## -## Platform. ## -## --------- ## - -hostname = localhost -uname -m = x86_64 -uname -r = 2.6.22-gentoo-r2 -uname -s = Linux -uname -v = #1 SMP PREEMPT Fri Aug 3 17:17:47 EST 2007 - -/usr/bin/uname -p = Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz -/bin/uname -X = unknown - -/bin/arch = unknown -/usr/bin/arch -k = unknown -/usr/convex/getsysinfo = unknown -/usr/bin/hostinfo = unknown -/bin/machine = unknown -/usr/bin/oslevel = unknown -/bin/universe = unknown - -PATH: /usr/kde/3.5/bin -PATH: /usr/local/bin -PATH: /usr/bin -PATH: /bin -PATH: /opt/bin -PATH: /usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2 -PATH: /usr/kde/3.5/bin -PATH: /usr/qt/3/bin -PATH: /usr/games/bin - - -## ----------- ## -## Core tests. ## -## ----------- ## - -configure:2030: checking for a BSD-compatible install -configure:2086: result: /usr/bin/install -c -configure:2097: checking whether build environment is sane -configure:2140: result: yes -configure:2168: checking for a thread-safe mkdir -p -configure:2207: result: /usr/bin/mkdir -p -configure:2220: checking for gawk -configure:2236: found /usr/bin/gawk -configure:2247: result: gawk -configure:2258: checking whether make sets $(MAKE) -configure:2279: result: yes -configure:2523: checking for gcc -configure:2539: found /usr/bin/gcc -configure:2550: result: gcc -configure:2788: checking for C compiler version -configure:2795: gcc --version >&5 -gcc (GCC) 4.1.2 (Gentoo 4.1.2) -Copyright (C) 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:2798: $? = 0 -configure:2805: gcc -v >&5 -Using built-in specs. -Target: x86_64-pc-linux-gnu -Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --enable-multilib --disable-libmudflap --disable-libssp --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu -Thread model: posix -gcc version 4.1.2 (Gentoo 4.1.2) -configure:2808: $? = 0 -configure:2815: gcc -V >&5 -gcc: '-V' option must have argument -configure:2818: $? = 1 -configure:2841: checking for C compiler default output file name -configure:2868: gcc conftest.c >&5 -configure:2871: $? = 0 -configure:2909: result: a.out -configure:2926: checking whether the C compiler works -configure:2936: ./a.out -configure:2939: $? = 0 -configure:2956: result: yes -configure:2963: checking whether we are cross compiling -configure:2965: result: no -configure:2968: checking for suffix of executables -configure:2975: gcc -o conftest conftest.c >&5 -configure:2978: $? = 0 -configure:3002: result: -configure:3008: checking for suffix of object files -configure:3034: gcc -c conftest.c >&5 -configure:3037: $? = 0 -configure:3060: result: o -configure:3064: checking whether we are using the GNU C compiler -configure:3093: gcc -c conftest.c >&5 -configure:3099: $? = 0 -configure:3116: result: yes -configure:3121: checking whether gcc accepts -g -configure:3151: gcc -c -g conftest.c >&5 -configure:3157: $? = 0 -configure:3256: result: yes -configure:3273: checking for gcc option to accept ISO C89 -configure:3347: gcc -c -g -O2 conftest.c >&5 -configure:3353: $? = 0 -configure:3376: result: none needed -configure:3405: checking for style of include used by make -configure:3433: result: GNU -configure:3458: checking dependency style of gcc -configure:3549: result: gcc3 -configure:3622: checking for g++ -configure:3638: found /usr/bin/g++ -configure:3649: result: g++ -configure:3680: checking for C++ compiler version -configure:3687: g++ --version >&5 -g++ (GCC) 4.1.2 (Gentoo 4.1.2) -Copyright (C) 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:3690: $? = 0 -configure:3697: g++ -v >&5 -Using built-in specs. -Target: x86_64-pc-linux-gnu -Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --enable-multilib --disable-libmudflap --disable-libssp --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu -Thread model: posix -gcc version 4.1.2 (Gentoo 4.1.2) -configure:3700: $? = 0 -configure:3707: g++ -V >&5 -g++: '-V' option must have argument -configure:3710: $? = 1 -configure:3713: checking whether we are using the GNU C++ compiler -configure:3742: g++ -c conftest.cpp >&5 -configure:3748: $? = 0 -configure:3765: result: yes -configure:3770: checking whether g++ accepts -g -configure:3800: g++ -c -g conftest.cpp >&5 -configure:3806: $? = 0 -configure:3905: result: yes -configure:3930: checking dependency style of g++ -configure:4021: result: gcc3 -configure:4036: checking whether ln -s works -configure:4040: result: yes -configure:4127: checking build system type -configure:4145: result: x86_64-unknown-linux-gnu -configure:4167: checking host system type -configure:4182: result: x86_64-unknown-linux-gnu -configure:4204: checking for a sed that does not truncate output -configure:4260: result: /bin/sed -configure:4263: checking for grep that handles long lines and -e -configure:4337: result: /bin/grep -configure:4342: checking for egrep -configure:4420: result: /bin/grep -E -configure:4436: checking for ld used by gcc -configure:4503: result: /usr/x86_64-pc-linux-gnu/bin/ld -configure:4512: checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld -configure:4527: result: yes -configure:4532: checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files -configure:4539: result: -r -configure:4557: checking for BSD-compatible nm -configure:4606: result: /usr/bin/nm -B -configure:4610: checking how to recognize dependent libraries -configure:4796: result: pass_all -configure:4885: gcc -c -g -O2 conftest.c >&5 -configure:4888: $? = 0 -configure:5037: checking how to run the C preprocessor -configure:5077: gcc -E conftest.c -configure:5083: $? = 0 -configure:5114: gcc -E conftest.c -conftest.c:10:28: error: ac_nonexistent.h: No such file or directory -configure:5120: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "jack-projectM plugin" -| #define PACKAGE_TARNAME "jack-projectM" -| #define PACKAGE_VERSION "1.00" -| #define PACKAGE_STRING "jack-projectM plugin 1.00" -| #define PACKAGE_BUGREPORT "none " -| #define PACKAGE "jack-projectM" -| #define VERSION "1.00" -| /* end confdefs.h. */ -| #include -configure:5153: result: gcc -E -configure:5182: gcc -E conftest.c -configure:5188: $? = 0 -configure:5219: gcc -E conftest.c -conftest.c:10:28: error: ac_nonexistent.h: No such file or directory -configure:5225: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "jack-projectM plugin" -| #define PACKAGE_TARNAME "jack-projectM" -| #define PACKAGE_VERSION "1.00" -| #define PACKAGE_STRING "jack-projectM plugin 1.00" -| #define PACKAGE_BUGREPORT "none " -| #define PACKAGE "jack-projectM" -| #define VERSION "1.00" -| /* end confdefs.h. */ -| #include -configure:5263: checking for ANSI C header files -configure:5293: gcc -c -g -O2 conftest.c >&5 -configure:5299: $? = 0 -configure:5398: gcc -o conftest -g -O2 conftest.c >&5 -configure:5401: $? = 0 -configure:5407: ./conftest -configure:5410: $? = 0 -configure:5427: result: yes -configure:5451: checking for sys/types.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for sys/stat.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for stdlib.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for string.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for memory.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for strings.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for inttypes.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for stdint.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5451: checking for unistd.h -configure:5472: gcc -c -g -O2 conftest.c >&5 -configure:5478: $? = 0 -configure:5494: result: yes -configure:5521: checking dlfcn.h usability -configure:5538: gcc -c -g -O2 conftest.c >&5 -configure:5544: $? = 0 -configure:5558: result: yes -configure:5562: checking dlfcn.h presence -configure:5577: gcc -E conftest.c -configure:5583: $? = 0 -configure:5597: result: yes -configure:5630: checking for dlfcn.h -configure:5638: result: yes -configure:5661: checking how to run the C++ preprocessor -configure:5697: g++ -E conftest.cpp -configure:5703: $? = 0 -configure:5734: g++ -E conftest.cpp -conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory -configure:5740: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "jack-projectM plugin" -| #define PACKAGE_TARNAME "jack-projectM" -| #define PACKAGE_VERSION "1.00" -| #define PACKAGE_STRING "jack-projectM plugin 1.00" -| #define PACKAGE_BUGREPORT "none " -| #define PACKAGE "jack-projectM" -| #define VERSION "1.00" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| /* end confdefs.h. */ -| #include -configure:5773: result: g++ -E -configure:5802: g++ -E conftest.cpp -configure:5808: $? = 0 -configure:5839: g++ -E conftest.cpp -conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory -configure:5845: $? = 1 -configure: failed program was: -| /* confdefs.h. */ -| #define PACKAGE_NAME "jack-projectM plugin" -| #define PACKAGE_TARNAME "jack-projectM" -| #define PACKAGE_VERSION "1.00" -| #define PACKAGE_STRING "jack-projectM plugin 1.00" -| #define PACKAGE_BUGREPORT "none " -| #define PACKAGE "jack-projectM" -| #define VERSION "1.00" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| /* end confdefs.h. */ -| #include -configure:5938: checking for g77 -configure:5968: result: no -configure:5938: checking for xlf -configure:5968: result: no -configure:5938: checking for f77 -configure:5968: result: no -configure:5938: checking for frt -configure:5968: result: no -configure:5938: checking for pgf77 -configure:5968: result: no -configure:5938: checking for cf77 -configure:5968: result: no -configure:5938: checking for fort77 -configure:5968: result: no -configure:5938: checking for fl32 -configure:5968: result: no -configure:5938: checking for af77 -configure:5968: result: no -configure:5938: checking for xlf90 -configure:5968: result: no -configure:5938: checking for f90 -configure:5968: result: no -configure:5938: checking for pgf90 -configure:5968: result: no -configure:5938: checking for pghpf -configure:5968: result: no -configure:5938: checking for epcf90 -configure:5968: result: no -configure:5938: checking for gfortran -configure:5954: found /usr/bin/gfortran -configure:5965: result: gfortran -configure:5995: checking for Fortran 77 compiler version -configure:6002: gfortran --version >&5 -GNU Fortran 95 (GCC) 4.1.2 (Gentoo 4.1.2) -Copyright (C) 2006 Free Software Foundation, Inc. - -GNU Fortran comes with NO WARRANTY, to the extent permitted by law. -You may redistribute copies of GNU Fortran -under the terms of the GNU General Public License. -For more information about these matters, see the file named COPYING - -configure:6005: $? = 0 -configure:6012: gfortran -v >&5 -Using built-in specs. -Target: x86_64-pc-linux-gnu -Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --enable-multilib --disable-libmudflap --disable-libssp --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu -Thread model: posix -gcc version 4.1.2 (Gentoo 4.1.2) -configure:6015: $? = 0 -configure:6022: gfortran -V >&5 -gfortran: '-V' option must have argument -configure:6025: $? = 1 -configure:6033: checking whether we are using the GNU Fortran 77 compiler -configure:6052: gfortran -c conftest.F >&5 -configure:6058: $? = 0 -configure:6075: result: yes -configure:6081: checking whether gfortran accepts -g -configure:6098: gfortran -c -g conftest.f >&5 -configure:6104: $? = 0 -configure:6120: result: yes -configure:6150: checking the maximum length of command line arguments -configure:6262: result: 98304 -configure:6274: checking command to parse /usr/bin/nm -B output from gcc object -configure:6379: gcc -c -g -O2 conftest.c >&5 -configure:6382: $? = 0 -configure:6386: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm -configure:6389: $? = 0 -configure:6441: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 -configure:6444: $? = 0 -configure:6482: result: ok -configure:6486: checking for objdir -configure:6501: result: .libs -configure:6593: checking for ar -configure:6609: found /usr/bin/ar -configure:6620: result: ar -configure:6689: checking for ranlib -configure:6705: found /usr/bin/ranlib -configure:6716: result: ranlib -configure:6785: checking for strip -configure:6801: found /usr/bin/strip -configure:6812: result: strip -configure:7049: checking for correct ltmain.sh version -configure:7099: result: yes -configure:7159: checking if gcc supports -fno-rtti -fno-exceptions -configure:7177: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 -cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C -configure:7181: $? = 0 -configure:7194: result: no -configure:7209: checking for gcc option to produce PIC -configure:7441: result: -fPIC -configure:7449: checking if gcc PIC flag -fPIC works -configure:7467: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5 -configure:7471: $? = 0 -configure:7484: result: yes -configure:7512: checking if gcc static flag -static works -configure:7540: result: yes -configure:7550: checking if gcc supports -c -o file.o -configure:7571: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 -configure:7575: $? = 0 -configure:7597: result: yes -configure:7623: checking whether the gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries -configure:8603: result: yes -configure:8624: checking whether -lc should be explicitly linked in -configure:8629: gcc -c -g -O2 conftest.c >&5 -configure:8632: $? = 0 -configure:8647: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 -configure:8650: $? = 0 -configure:8662: result: no -configure:8670: checking dynamic linker characteristics -configure:9285: result: GNU/Linux ld.so -configure:9294: checking how to hardcode library paths into programs -configure:9319: result: immediate -configure:9333: checking whether stripping libraries is possible -configure:9338: result: yes -configure:10140: checking if libtool supports shared libraries -configure:10142: result: yes -configure:10145: checking whether to build shared libraries -configure:10166: result: yes -configure:10169: checking whether to build static libraries -configure:10173: result: no -configure:10266: creating libtool -configure:10854: checking for ld used by g++ -configure:10921: result: /usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64 -configure:10930: checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) is GNU ld -configure:10945: result: yes -configure:10996: checking whether the g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries -configure:11970: result: yes -configure:11988: g++ -c -g -O2 conftest.cpp >&5 -configure:11991: $? = 0 -configure:12143: checking for g++ option to produce PIC -configure:12427: result: -fPIC -configure:12435: checking if g++ PIC flag -fPIC works -configure:12453: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5 -configure:12457: $? = 0 -configure:12470: result: yes -configure:12498: checking if g++ static flag -static works -configure:12526: result: yes -configure:12536: checking if g++ supports -c -o file.o -configure:12557: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 -configure:12561: $? = 0 -configure:12583: result: yes -configure:12609: checking whether the g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries -configure:12634: result: yes -configure:12701: checking dynamic linker characteristics -configure:13264: result: GNU/Linux ld.so -configure:13273: checking how to hardcode library paths into programs -configure:13298: result: immediate -configure:13832: checking if libtool supports shared libraries -configure:13834: result: yes -configure:13837: checking whether to build shared libraries -configure:13857: result: yes -configure:13860: checking whether to build static libraries -configure:13864: result: no -configure:13874: checking for gfortran option to produce PIC -configure:14106: result: -fPIC -configure:14114: checking if gfortran PIC flag -fPIC works -configure:14132: gfortran -c -g -O2 -fPIC conftest.f >&5 -configure:14136: $? = 0 -configure:14149: result: yes -configure:14177: checking if gfortran static flag -static works -configure:14205: result: yes -configure:14215: checking if gfortran supports -c -o file.o -configure:14236: gfortran -c -g -O2 -o out/conftest2.o conftest.f >&5 -configure:14240: $? = 0 -configure:14262: result: yes -configure:14288: checking whether the gfortran linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries -configure:15248: result: yes -configure:15315: checking dynamic linker characteristics -configure:15878: result: GNU/Linux ld.so -configure:15887: checking how to hardcode library paths into programs -configure:15912: result: immediate -configure:19498: checking for pkg-config -configure:19516: found /usr/bin/pkg-config -configure:19529: result: /usr/bin/pkg-config -configure:19556: checking for unistd.h -configure:19562: result: yes -configure:19713: checking GL/gl.h usability -configure:19730: gcc -c -g -O2 conftest.c >&5 -configure:19736: $? = 0 -configure:19750: result: yes -configure:19754: checking GL/gl.h presence -configure:19769: gcc -E conftest.c -configure:19775: $? = 0 -configure:19789: result: yes -configure:19822: checking for GL/gl.h -configure:19830: result: yes -configure:19713: checking GL/glx.h usability -configure:19730: gcc -c -g -O2 conftest.c >&5 -configure:19736: $? = 0 -configure:19750: result: yes -configure:19754: checking GL/glx.h presence -configure:19769: gcc -E conftest.c -configure:19775: $? = 0 -configure:19789: result: yes -configure:19822: checking for GL/glx.h -configure:19830: result: yes -configure:19713: checking GL/glu.h usability -configure:19730: gcc -c -g -O2 conftest.c >&5 -configure:19736: $? = 0 -configure:19750: result: yes -configure:19754: checking GL/glu.h presence -configure:19769: gcc -E conftest.c -configure:19775: $? = 0 -configure:19789: result: yes -configure:19822: checking for GL/glu.h -configure:19830: result: yes -configure:19852: checking for an ANSI C-conforming const -configure:19927: gcc -c -g -O2 conftest.c >&5 -configure:19933: $? = 0 -configure:19948: result: yes -configure:19958: checking for inline -configure:19984: gcc -c -g -O2 conftest.c >&5 -configure:19990: $? = 0 -configure:20008: result: inline -configure:20137: checking pkg-config is at least version 0.9.0 -configure:20140: result: yes -configure:20151: checking for JACK -configure:20159: $PKG_CONFIG --exists --print-errors "jack >= 0.0.0" -configure:20162: $? = 0 -configure:20177: $PKG_CONFIG --exists --print-errors "jack >= 0.0.0" -configure:20180: $? = 0 -configure:20216: result: yes -configure:20232: checking for LIBPROJECTM -configure:20240: $PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0" -configure:20243: $? = 0 -configure:20258: $PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0" -configure:20261: $? = 0 -configure:20297: result: yes -configure:20326: checking for sdl-config -configure:20344: found /usr/bin/sdl-config -configure:20357: result: /usr/bin/sdl-config -configure:20422: checking for sdl-config -configure:20453: result: /usr/bin/sdl-config -configure:20462: checking for SDL - version >= 1.2.5 -configure:20559: gcc -o conftest -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT conftest.c -lSDL -lpthread >&5 -configure:20562: $? = 0 -configure:20568: ./conftest -configure:20571: $? = 0 -configure:20592: result: yes -configure:20714: checking locale.h usability -configure:20731: gcc -c -g -O2 conftest.c >&5 -configure:20737: $? = 0 -configure:20751: result: yes -configure:20755: checking locale.h presence -configure:20770: gcc -E conftest.c -configure:20776: $? = 0 -configure:20790: result: yes -configure:20823: checking for locale.h -configure:20831: result: yes -configure:20845: checking for LC_MESSAGES -configure:20871: gcc -o conftest -g -O2 conftest.c >&5 -configure:20877: $? = 0 -configure:20894: result: yes -configure:20923: checking libintl.h usability -configure:20940: gcc -c -g -O2 conftest.c >&5 -configure:20946: $? = 0 -configure:20960: result: yes -configure:20964: checking libintl.h presence -configure:20979: gcc -E conftest.c -configure:20985: $? = 0 -configure:20999: result: yes -configure:21032: checking for libintl.h -configure:21039: result: yes -configure:21050: checking for ngettext in libc -configure:21078: gcc -o conftest -g -O2 conftest.c >&5 -configure:21084: $? = 0 -configure:21102: result: yes -configure:21106: checking for dgettext in libc -configure:21134: gcc -o conftest -g -O2 conftest.c >&5 -configure:21140: $? = 0 -configure:21158: result: yes -configure:21167: checking for bind_textdomain_codeset -configure:21223: gcc -o conftest -g -O2 conftest.c >&5 -configure:21229: $? = 0 -configure:21247: result: yes -configure:21734: checking for msgfmt -configure:21761: result: /usr/bin/msgfmt -configure:21774: checking for dcgettext -configure:21830: gcc -o conftest -g -O2 conftest.c >&5 -conftest.c:55: warning: conflicting types for built-in function 'dcgettext' -configure:21836: $? = 0 -configure:21854: result: yes -configure:21865: checking if msgfmt accepts -c -configure:21880: $MSGFMT -c -o /dev/null conftest.foo -configure:21883: $? = 0 -configure:21885: result: yes -configure:21895: checking for gmsgfmt -configure:21913: found /usr/bin/gmsgfmt -configure:21926: result: /usr/bin/gmsgfmt -configure:21936: checking for xgettext -configure:21963: result: /usr/bin/xgettext -configure:21992: gcc -o conftest -g -O2 conftest.c >&5 -configure:21998: $? = 0 -configure:22167: checking for catalogs to be installed -configure:22192: result: es es_AR pt_BR nl fr ru -configure:22238: checking wheter to enable profiling -configure:22245: result: no -configure:22256: checking whether to enable debug -configure:22265: result: no -configure:22277: checking wheter to enable extra optimizations -configure:22284: result: no -configure:22432: creating ./config.status - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by jack-projectM plugin config.status 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on localhost - -config.status:694: creating Makefile -config.status:694: creating config.h -config.status:934: config.h is unchanged -config.status:980: executing depfiles commands -config.status:980: executing default-1 commands - -## ---------------- ## -## Cache variables. ## -## ---------------- ## - -ac_cv_build=x86_64-unknown-linux-gnu -ac_cv_c_compiler_gnu=yes -ac_cv_c_const=yes -ac_cv_c_inline=inline -ac_cv_cxx_compiler_gnu=yes -ac_cv_env_CCC_set= -ac_cv_env_CCC_value= -ac_cv_env_CC_set= -ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set= -ac_cv_env_CFLAGS_value= -ac_cv_env_CPPFLAGS_set= -ac_cv_env_CPPFLAGS_value= -ac_cv_env_CPP_set= -ac_cv_env_CPP_value= -ac_cv_env_CXXCPP_set= -ac_cv_env_CXXCPP_value= -ac_cv_env_CXXFLAGS_set= -ac_cv_env_CXXFLAGS_value= -ac_cv_env_CXX_set= -ac_cv_env_CXX_value= -ac_cv_env_F77_set= -ac_cv_env_F77_value= -ac_cv_env_FFLAGS_set= -ac_cv_env_FFLAGS_value= -ac_cv_env_JACK_CFLAGS_set= -ac_cv_env_JACK_CFLAGS_value= -ac_cv_env_JACK_LIBS_set= -ac_cv_env_JACK_LIBS_value= -ac_cv_env_LDFLAGS_set= -ac_cv_env_LDFLAGS_value= -ac_cv_env_LIBPROJECTM_CFLAGS_set= -ac_cv_env_LIBPROJECTM_CFLAGS_value= -ac_cv_env_LIBPROJECTM_LIBS_set= -ac_cv_env_LIBPROJECTM_LIBS_value= -ac_cv_env_LIBS_set= -ac_cv_env_LIBS_value= -ac_cv_env_PKG_CONFIG_set= -ac_cv_env_PKG_CONFIG_value= -ac_cv_env_build_alias_set= -ac_cv_env_build_alias_value= -ac_cv_env_host_alias_set= -ac_cv_env_host_alias_value= -ac_cv_env_target_alias_set= -ac_cv_env_target_alias_value= -ac_cv_f77_compiler_gnu=yes -ac_cv_func_bind_textdomain_codeset=yes -ac_cv_func_dcgettext=yes -ac_cv_header_GL_gl_h=yes -ac_cv_header_GL_glu_h=yes -ac_cv_header_GL_glx_h=yes -ac_cv_header_dlfcn_h=yes -ac_cv_header_inttypes_h=yes -ac_cv_header_libintl_h=yes -ac_cv_header_locale_h=yes -ac_cv_header_memory_h=yes -ac_cv_header_stdc=yes -ac_cv_header_stdint_h=yes -ac_cv_header_stdlib_h=yes -ac_cv_header_string_h=yes -ac_cv_header_strings_h=yes -ac_cv_header_sys_stat_h=yes -ac_cv_header_sys_types_h=yes -ac_cv_header_unistd_h=yes -ac_cv_host=x86_64-unknown-linux-gnu -ac_cv_objext=o -ac_cv_path_EGREP='/bin/grep -E' -ac_cv_path_GMSGFMT=/usr/bin/gmsgfmt -ac_cv_path_GREP=/bin/grep -ac_cv_path_MSGFMT=/usr/bin/msgfmt -ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config -ac_cv_path_SDL_CONFIG=/usr/bin/sdl-config -ac_cv_path_XGETTEXT=/usr/bin/xgettext -ac_cv_path_install='/usr/bin/install -c' -ac_cv_path_mkdir=/usr/bin/mkdir -ac_cv_prog_AWK=gawk -ac_cv_prog_CPP='gcc -E' -ac_cv_prog_CXXCPP='g++ -E' -ac_cv_prog_ac_ct_AR=ar -ac_cv_prog_ac_ct_CC=gcc -ac_cv_prog_ac_ct_CXX=g++ -ac_cv_prog_ac_ct_F77=gfortran -ac_cv_prog_ac_ct_RANLIB=ranlib -ac_cv_prog_ac_ct_STRIP=strip -ac_cv_prog_cc_c89= -ac_cv_prog_cc_g=yes -ac_cv_prog_cxx_g=yes -ac_cv_prog_f77_g=yes -ac_cv_prog_make_make_set=yes -am_cv_CC_dependencies_compiler_type=gcc3 -am_cv_CXX_dependencies_compiler_type=gcc3 -am_cv_val_LC_MESSAGES=yes -gt_cv_func_dgettext_libc=yes -gt_cv_func_dgettext_libintl=no -gt_cv_func_ngettext_libc=yes -gt_cv_have_gettext=yes -lt_cv_deplibs_check_method=pass_all -lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_ld_reload_flag=-r -lt_cv_objdir=.libs -lt_cv_path_LD=/usr/x86_64-pc-linux-gnu/bin/ld -lt_cv_path_LDCXX='/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64' -lt_cv_path_NM='/usr/bin/nm -B' -lt_cv_path_SED=/bin/sed -lt_cv_prog_compiler_c_o=yes -lt_cv_prog_compiler_c_o_CXX=yes -lt_cv_prog_compiler_c_o_F77=yes -lt_cv_prog_compiler_rtti_exceptions=no -lt_cv_prog_gnu_ld=yes -lt_cv_prog_gnu_ldcxx=yes -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' -lt_cv_sys_max_cmd_len=98304 -lt_lt_cv_prog_compiler_c_o='"yes"' -lt_lt_cv_prog_compiler_c_o_CXX='"yes"' -lt_lt_cv_prog_compiler_c_o_F77='"yes"' -lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' -lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' -lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' -pkg_cv_JACK_CFLAGS=' ' -pkg_cv_JACK_LIBS='-ljack -lpthread -lrt ' -pkg_cv_LIBPROJECTM_CFLAGS=' ' -pkg_cv_LIBPROJECTM_LIBS='-lprojectM ' - -## ----------------- ## -## Output variables. ## -## ----------------- ## - -ACLOCAL='${SHELL} /home/pete/jack-projectM/missing --run aclocal-1.10' -AMDEPBACKSLASH='\' -AMDEP_FALSE='#' -AMDEP_TRUE='' -AMTAR='${SHELL} /home/pete/jack-projectM/missing --run tar' -AR='ar' -AUTOCONF='${SHELL} /home/pete/jack-projectM/missing --run autoconf' -AUTOHEADER='${SHELL} /home/pete/jack-projectM/missing --run autoheader' -AUTOMAKE='${SHELL} /home/pete/jack-projectM/missing --run automake-1.10' -AWK='gawk' -BUILD_ACTOR='' -BUILD_INPUT='' -CATALOGS=' es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo' -CATOBJEXT='.gmo' -CC='gcc' -CCDEPMODE='depmode=gcc3' -CFLAGS='-g -O2 ' -CPP='gcc -E' -CPPFLAGS='' -CXX='g++' -CXXCPP='g++ -E' -CXXDEPMODE='depmode=gcc3' -CXXFLAGS='-g -O2' -CYGPATH_W='echo' -DATADIRNAME='share' -DEBUG_CFLAGS='' -DEFS='-DHAVE_CONFIG_H' -DEPDIR='.deps' -ECHO='echo' -ECHO_C='' -ECHO_N='-n' -ECHO_T='' -EGREP='/bin/grep -E' -EXEEXT='' -F77='gfortran' -FFLAGS='-g -O2' -GETTEXT_PACKAGE='jack-projectM' -GMOFILES=' es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo' -GMSGFMT='/usr/bin/gmsgfmt' -GREP='/bin/grep' -INSTALL_DATA='${INSTALL} -m 644' -INSTALL_PROGRAM='${INSTALL}' -INSTALL_SCRIPT='${INSTALL}' -INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' -INSTOBJEXT='.mo' -INTLLIBS='' -JACK_CFLAGS=' ' -JACK_LIBS='-ljack -lpthread -lrt ' -LDFLAGS='' -LIBOBJS='' -LIBPROJECTM_CFLAGS=' ' -LIBPROJECTM_LIBS='-lprojectM ' -LIBS='' -LIBS_DYNAMIC_LOADER='-ldl' -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -LN_S='ln -s' -LTLIBOBJS='' -MAKEINFO='${SHELL} /home/pete/jack-projectM/missing --run makeinfo' -MKINSTALLDIRS='./mkinstalldirs' -MSGFMT='/usr/bin/msgfmt' -MSGFMT_OPTS='-c' -OBJEXT='o' -OPT_CFLAGS='' -PACKAGE='jack-projectM' -PACKAGE_BUGREPORT='none ' -PACKAGE_NAME='jack-projectM plugin' -PACKAGE_STRING='jack-projectM plugin 1.00' -PACKAGE_TARNAME='jack-projectM' -PACKAGE_VERSION='1.00' -PATH_SEPARATOR=':' -PKG_CONFIG='/usr/bin/pkg-config' -POFILES=' es.po es_AR.po pt_BR.po nl.po fr.po ru.po' -POSUB='po' -PO_IN_DATADIR_FALSE='' -PO_IN_DATADIR_TRUE='' -RANLIB='ranlib' -SDL_CFLAGS='-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT' -SDL_CONFIG='/usr/bin/sdl-config' -SDL_LIBS='-lSDL -lpthread' -SED='/bin/sed' -SET_MAKE='' -SHELL='/bin/sh' -STRIP='strip' -USE_NLS='yes' -VERSION='1.00' -XGETTEXT='/usr/bin/xgettext' -ac_ct_CC='gcc' -ac_ct_CXX='g++' -ac_ct_F77='gfortran' -am__fastdepCC_FALSE='#' -am__fastdepCC_TRUE='' -am__fastdepCXX_FALSE='#' -am__fastdepCXX_TRUE='' -am__include='include' -am__isrc='' -am__leading_dot='.' -am__quote='' -am__tar='${AMTAR} chof - "$$tardir"' -am__untar='${AMTAR} xf -' -bindir='${exec_prefix}/bin' -build='x86_64-unknown-linux-gnu' -build_alias='' -build_cpu='x86_64' -build_os='linux-gnu' -build_vendor='unknown' -datadir='${datarootdir}' -datarootdir='${prefix}/share' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -dvidir='${docdir}' -exec_prefix='${prefix}' -host='x86_64-unknown-linux-gnu' -host_alias='' -host_cpu='x86_64' -host_os='linux-gnu' -host_vendor='unknown' -htmldir='${docdir}' -includedir='${prefix}/include' -infodir='${datarootdir}/info' -install_sh='$(SHELL) /home/pete/jack-projectM/install-sh' -libdir='${exec_prefix}/lib' -libexecdir='${exec_prefix}/libexec' -localedir='${datarootdir}/locale' -localstatedir='${prefix}/var' -mandir='${datarootdir}/man' -mkdir_p='/usr/bin/mkdir -p' -oldincludedir='/usr/include' -pdfdir='${docdir}' -prefix='/usr/local' -program_transform_name='s,x,x,' -psdir='${docdir}' -sbindir='${exec_prefix}/sbin' -sharedstatedir='${prefix}/com' -sysconfdir='${prefix}/etc' -target_alias='' - -## ----------- ## -## confdefs.h. ## -## ----------- ## - -#define PACKAGE_NAME "jack-projectM plugin" -#define PACKAGE_TARNAME "jack-projectM" -#define PACKAGE_VERSION "1.00" -#define PACKAGE_STRING "jack-projectM plugin 1.00" -#define PACKAGE_BUGREPORT "none " -#define PACKAGE "jack-projectM" -#define VERSION "1.00" -#define STDC_HEADERS 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_DLFCN_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_GL_GL_H 1 -#define HAVE_GL_GLX_H 1 -#define HAVE_GL_GLU_H 1 -#define PROJECTM_SYSCONFDIR "/usr/share/projectM" -#define PROJECTM_DATADIR "/usr/share/projectM" -#define GETTEXT_PACKAGE "jack-projectM" -#define HAVE_LOCALE_H 1 -#define HAVE_LC_MESSAGES 1 -#define HAVE_BIND_TEXTDOMAIN_CODESET 1 -#define HAVE_GETTEXT 1 -#define HAVE_DCGETTEXT 1 -#define ENABLE_NLS 1 - -configure: exit 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by jack-projectM plugin config.status 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status Makefile depfiles - -on localhost - -config.status:694: creating Makefile -config.status:980: executing depfiles commands - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by jack-projectM plugin config.status 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status Makefile depfiles - -on localhost - -config.status:694: creating Makefile -config.status:980: executing depfiles commands - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by jack-projectM plugin config.status 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status Makefile depfiles - -on localhost - -config.status:694: creating Makefile -config.status:980: executing depfiles commands diff --git a/src/projectM-jack/config.status b/src/projectM-jack/config.status deleted file mode 100755 index 2622d1b289..0000000000 --- a/src/projectM-jack/config.status +++ /dev/null @@ -1,1119 +0,0 @@ -#! /bin/sh -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=${CONFIG_SHELL-/bin/sh} -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by jack-projectM plugin $as_me 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -# Files that config.status was made for. -config_files=" Makefile" -config_headers=" config.h" -config_commands=" depfiles default-1" - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -ac_cs_version="\ -jack-projectM plugin config.status 1.00 -configured by ./configure, generated by GNU Autoconf 2.61, - with options \"\" - -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='/home/pete/jack-projectM' -srcdir='.' -INSTALL='/usr/bin/install -c' -MKDIR_P='/usr/bin/mkdir -p' -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=/bin/sh - export CONFIG_SHELL - exec /bin/sh "./configure" $ac_configure_extra_args --no-create --no-recursion -fi - -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -# -# INIT-COMMANDS -# -AMDEP_TRUE="" ac_aux_dir="." - - - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - -cat >"$tmp/subs-1.sed" <<\CEOF -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@SHELL@,|#_!!_#|/bin/sh,g -s,@PATH_SEPARATOR@,|#_!!_#|:,g -s,@PACKAGE_NAME@,|#_!!_#|jack-projectM plugin,g -s,@PACKAGE_TARNAME@,|#_!!_#|jack-projectM,g -s,@PACKAGE_VERSION@,|#_!!_#|1.00,g -s,@PACKAGE_STRING@,|#_!!_#|jack-projectM plugin 1.00,g -s,@PACKAGE_BUGREPORT@,|#_!!_#|none ,g -s,@exec_prefix@,|#_!!_#|${prefix},g -s,@prefix@,|#_!!_#|/usr/local,g -s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g -s,@bindir@,|#_!!_#|${exec_prefix}/bin,g -s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g -s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g -s,@datarootdir@,|#_!!_#|${prefix}/share,g -s,@datadir@,|#_!!_#|${datarootdir},g -s,@sysconfdir@,|#_!!_#|${prefix}/etc,g -s,@sharedstatedir@,|#_!!_#|${prefix}/com,g -s,@localstatedir@,|#_!!_#|${prefix}/var,g -s,@includedir@,|#_!!_#|${prefix}/include,g -s,@oldincludedir@,|#_!!_#|/usr/include,g -s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE_TARNAME},g -s,@infodir@,|#_!!_#|${datarootdir}/info,g -s,@htmldir@,|#_!!_#|${docdir},g -s,@dvidir@,|#_!!_#|${docdir},g -s,@pdfdir@,|#_!!_#|${docdir},g -s,@psdir@,|#_!!_#|${docdir},g -s,@libdir@,|#_!!_#|${exec_prefix}/lib,g -s,@localedir@,|#_!!_#|${datarootdir}/locale,g -s,@mandir@,|#_!!_#|${datarootdir}/man,g -s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g -s,@ECHO_C@,|#_!!_#|,g -s,@ECHO_N@,|#_!!_#|-n,g -s,@ECHO_T@,|#_!!_#|,g -s,@LIBS@,|#_!!_#|,g -s,@build_alias@,|#_!!_#|,g -s,@host_alias@,|#_!!_#|,g -s,@target_alias@,|#_!!_#|,g -s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g -s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g -s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g -s,@am__isrc@,|#_!!_#|,g -s,@CYGPATH_W@,|#_!!_#|echo,g -s,@PACKAGE@,|#_!!_#|jack-projectM,g -s,@VERSION@,|#_!!_#|1.00,g -s,@ACLOCAL@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run aclocal-1.10,g -s,@AUTOCONF@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run autoconf,g -s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run automake-1.10,g -s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run autoheader,g -s,@MAKEINFO@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run makeinfo,g -s,@install_sh@,|#_!!_#|$(SHELL) /home/pete/jack-projectM/install-sh,g -s,@STRIP@,|#_!!_#|strip,g -s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g -s,@mkdir_p@,|#_!!_#|/usr/bin/mkdir -p,g -s,@AWK@,|#_!!_#|gawk,g -s,@SET_MAKE@,|#_!!_#|,g -s,@am__leading_dot@,|#_!!_#|.,g -s,@AMTAR@,|#_!!_#|${SHELL} /home/pete/jack-projectM/missing --run tar,g -s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g -s,@am__untar@,|#_!!_#|${AMTAR} xf -,g -s,@CC@,|#_!!_#|gcc,g -s,@CFLAGS@,|#_!!_#|-g -O2 ,g -s,@LDFLAGS@,|#_!!_#|,g -s,@CPPFLAGS@,|#_!!_#|,g -s,@ac_ct_CC@,|#_!!_#|gcc,g -s,@EXEEXT@,|#_!!_#|,g -s,@OBJEXT@,|#_!!_#|o,g -s,@DEPDIR@,|#_!!_#|.deps,g -s,@am__include@,|#_!!_#|include,g -s,@am__quote@,|#_!!_#|,g -s,@AMDEP_TRUE@,|#_!!_#|,g -s,@AMDEP_FALSE@,|#_!!_#|#,g -s,@AMDEPBACKSLASH@,|#_!!_#|\\,g -s,@CCDEPMODE@,|#_!!_#|depmode=gcc3,g -s,@am__fastdepCC_TRUE@,|#_!!_#|,g -s,@am__fastdepCC_FALSE@,|#_!!_#|#,g -s,@CXX@,|#_!!_#|g++,g -s,@CXXFLAGS@,|#_!!_#|-g -O2,g -s,@ac_ct_CXX@,|#_!!_#|g++,g -s,@CXXDEPMODE@,|#_!!_#|depmode=gcc3,g -s,@am__fastdepCXX_TRUE@,|#_!!_#|,g -s,@am__fastdepCXX_FALSE@,|#_!!_#|#,g -s,@LN_S@,|#_!!_#|ln -s,g -s,@build@,|#_!!_#|x86_64-unknown-linux-gnu,g -s,@build_cpu@,|#_!!_#|x86_64,g -s,@build_vendor@,|#_!!_#|unknown,g -s,@build_os@,|#_!!_#|linux-gnu,g -s,@host@,|#_!!_#|x86_64-unknown-linux-gnu,g -s,@host_cpu@,|#_!!_#|x86_64,g -s,@host_vendor@,|#_!!_#|unknown,g -s,@host_os@,|#_!!_#|linux-gnu,g -s,@SED@,|#_!!_#|/bin/sed,g -s,@GREP@,|#_!!_#|/bin/grep,g -s,@EGREP@,|#_!!_#|/bin/grep -E,g -s,@ECHO@,|#_!!_#|echo,g -s,@AR@,|#_!!_#|ar,g -s,@RANLIB@,|#_!!_#|ranlib,g -s,@CPP@,|#_!!_#|gcc -E,g -CEOF -cat >"$tmp/subs-2.sed" <<\CEOF -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -s,@CXXCPP@,|#_!!_#|g++ -E,g -s,@F77@,|#_!!_#|gfortran,g -s,@FFLAGS@,|#_!!_#|-g -O2,g -s,@ac_ct_F77@,|#_!!_#|gfortran,g -s,@LIBTOOL@,|#_!!_#|$(SHELL) $(top_builddir)/libtool,g -s,@PKG_CONFIG@,|#_!!_#|/usr/bin/pkg-config,g -s,@JACK_CFLAGS@,|#_!!_#| ,g -s,@JACK_LIBS@,|#_!!_#|-ljack -lpthread -lrt ,g -s,@LIBPROJECTM_CFLAGS@,|#_!!_#| ,g -s,@LIBPROJECTM_LIBS@,|#_!!_#|-lprojectM ,g -s,@SDL_CONFIG@,|#_!!_#|/usr/bin/sdl-config,g -s,@SDL_CFLAGS@,|#_!!_#|-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT,g -s,@SDL_LIBS@,|#_!!_#|-lSDL -lpthread,g -s,@GETTEXT_PACKAGE@,|#_!!_#|jack-projectM,g -s,@USE_NLS@,|#_!!_#|yes,g -s,@MSGFMT@,|#_!!_#|/usr/bin/msgfmt,g -s,@MSGFMT_OPTS@,|#_!!_#|-c,g -s,@GMSGFMT@,|#_!!_#|/usr/bin/gmsgfmt,g -s,@XGETTEXT@,|#_!!_#|/usr/bin/xgettext,g -s,@CATALOGS@,|#_!!_#| es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo,g -s,@CATOBJEXT@,|#_!!_#|.gmo,g -s,@DATADIRNAME@,|#_!!_#|share,g -s,@GMOFILES@,|#_!!_#| es.gmo es_AR.gmo pt_BR.gmo nl.gmo fr.gmo ru.gmo,g -s,@INSTOBJEXT@,|#_!!_#|.mo,g -s,@INTLLIBS@,|#_!!_#|,g -s,@PO_IN_DATADIR_TRUE@,|#_!!_#|,g -s,@PO_IN_DATADIR_FALSE@,|#_!!_#|,g -s,@POFILES@,|#_!!_#| es.po es_AR.po pt_BR.po nl.po fr.po ru.po,g -s,@POSUB@,|#_!!_#|po,g -s,@MKINSTALLDIRS@,|#_!!_#|./mkinstalldirs,g -s,@DEBUG_CFLAGS@,|#_!!_#|,g -s,@OPT_CFLAGS@,|#_!!_#|,g -s,@LIBS_DYNAMIC_LOADER@,|#_!!_#|-ldl,g -s,@BUILD_INPUT@,|#_!!_#|,g -s,@BUILD_ACTOR@,|#_!!_#|,g -s,@LIBOBJS@,|#_!!_#|,g -s,@LTLIBOBJS@,|#_!!_#|,g -:end -s/|#_!!_#|//g -CEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - ac_datarootdir_hack=' - s&@datadir@&${datarootdir}&g - s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g - s&@infodir@&${datarootdir}/info&g - s&@localedir@&${datarootdir}/locale&g - s&@mandir@&${datarootdir}/man&g - s&\${datarootdir}&${prefix}/share&g' ;; -esac - sed "/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -} - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # - # First, check the format of the line: - cat >"$tmp/defines.sed" <<\CEOF -/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def -/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def -b -:def -s/$/ / -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "jack-projectM plugin" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "jack-projectM" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "1.00" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "jack-projectM plugin 1.00" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "none " , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE\)[ (].*,\1define\2 "jack-projectM" , -s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "1.00" , -s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_GL_GL_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_GL_GLX_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_GL_GLU_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*PROJECTM_SYSCONFDIR\)[ (].*,\1define\2 "/usr/share/projectM" , -s,^\([ #]*\)[^ ]*\([ ]*PROJECTM_DATADIR\)[ (].*,\1define\2 "/usr/share/projectM" , -s,^\([ #]*\)[^ ]*\([ ]*GETTEXT_PACKAGE\)[ (].*,\1define\2 "jack-projectM" , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_LOCALE_H\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_LC_MESSAGES\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_BIND_TEXTDOMAIN_CODESET\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_GETTEXT\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*HAVE_DCGETTEXT\)[ (].*,\1define\2 1 , -s,^\([ #]*\)[^ ]*\([ ]*ENABLE_NLS\)[ (].*,\1define\2 1 , -s/ $// -s,^[ #]*u.*,/* & */, -CEOF - sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" -ac_result="$tmp/out1" - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| . 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) - sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile - esac ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } diff --git a/src/projectM-jack/config.sub b/src/projectM-jack/config.sub deleted file mode 100755 index 63cdd0a35d..0000000000 --- a/src/projectM-jack/config.sub +++ /dev/null @@ -1,1644 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-06-28' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx | dvp \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mipsEE* | ee | ps2) - basic_machine=mips64r5900el-scei - case $os in - -linux*) - ;; - *) - os=-elf - ;; - esac - ;; - iop) - basic_machine=mipsel-scei - os=-irx - ;; - dvp) - basic_machine=dvp-scei - os=-elf - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/projectM-jack/configure b/src/projectM-jack/configure deleted file mode 100755 index b3bbcedcaa..0000000000 --- a/src/projectM-jack/configure +++ /dev/null @@ -1,23756 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for jack-projectM plugin 1.00. -# -# Report bugs to . -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='jack-projectM plugin' -PACKAGE_TARNAME='jack-projectM' -PACKAGE_VERSION='1.00' -PACKAGE_STRING='jack-projectM plugin 1.00' -PACKAGE_BUGREPORT='none ' - -ac_unique_file="config.h.in" -ac_default_prefix=/usr/local -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -am__isrc -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -CXX -CXXFLAGS -ac_ct_CXX -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -LN_S -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -SED -GREP -EGREP -ECHO -AR -RANLIB -CPP -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -PKG_CONFIG -JACK_CFLAGS -JACK_LIBS -LIBPROJECTM_CFLAGS -LIBPROJECTM_LIBS -SDL_CONFIG -SDL_CFLAGS -SDL_LIBS -GETTEXT_PACKAGE -USE_NLS -MSGFMT -MSGFMT_OPTS -GMSGFMT -XGETTEXT -CATALOGS -CATOBJEXT -DATADIRNAME -GMOFILES -INSTOBJEXT -INTLLIBS -PO_IN_DATADIR_TRUE -PO_IN_DATADIR_FALSE -POFILES -POSUB -MKINSTALLDIRS -DEBUG_CFLAGS -OPT_CFLAGS -LIBS_DYNAMIC_LOADER -BUILD_INPUT -BUILD_ACTOR -LIBOBJS -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CXX -CXXFLAGS -CCC -CPP -CXXCPP -F77 -FFLAGS -PKG_CONFIG -JACK_CFLAGS -JACK_LIBS -LIBPROJECTM_CFLAGS -LIBPROJECTM_LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute directory names. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures jack-projectM plugin 1.00 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/jack-projectM] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of jack-projectM plugin 1.00:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-sdltest Do not try to compile and run a test SDL program - --enable-profiling Enable emision of profile data to be used by gprof - [default=disabled] - --enable-debug Enable debug [default=disabled] - --enable-extra-optimization - Enable extra optimizations [default=disabled] - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] include additional configurations [automatic] - --with-sdl-prefix=PFX Prefix where SDL is installed (optional) - --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CPP C preprocessor - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - PKG_CONFIG path to pkg-config utility - JACK_CFLAGS C compiler flags for JACK, overriding pkg-config - JACK_LIBS linker flags for JACK, overriding pkg-config - LIBPROJECTM_CFLAGS - C compiler flags for LIBPROJECTM, overriding pkg-config - LIBPROJECTM_LIBS - linker flags for LIBPROJECTM, overriding pkg-config - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -jack-projectM plugin configure 1.00 -generated by GNU Autoconf 2.61 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by jack-projectM plugin $as_me 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -fi -shift -for ac_site_file -do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -am__api_version='1.10' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -echo "${ECHO_T}$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='jack-projectM' - VERSION='1.00' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - - -ac_config_headers="$ac_config_headers config.h" - - - - -# Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } - -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=no -fi - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - -# Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done - -fi - -SED=$lt_cv_path_SED - -{ echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - -{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi -{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" - -{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 4846 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - - -esac - -need_locks="$enable_libtool_lock" - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------- ## -## Report this to none ## -## -------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_prog_f77_g=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } -else - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -fi - - - - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6; } -else - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -fi - -{ echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - -test -z "$pic_mode" && pic_mode=default - -# Check if we have a version mismatch between libtool.m4 and ltmain.sh. -# -# Note: This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined. -# We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually -# calls AC_LIBTOOL_CONFIG and creates libtool. -# -{ echo "$as_me:$LINENO: checking for correct ltmain.sh version" >&5 -echo $ECHO_N "checking for correct ltmain.sh version... $ECHO_C" >&6; } -if test "x$ltmain" = "x" ; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: - -*** [Gentoo] sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -" >&5 -echo "$as_me: error: - -*** [Gentoo] sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -" >&2;} - { (exit 1); exit 1; }; } -fi -gentoo_lt_version="1.5.24" -gentoo_ltmain_version=`sed -n '/^[ ]*VERSION=/{s/^[ ]*VERSION=//;p;q;}' "$ltmain"` -if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: - -*** [Gentoo] sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -" >&5 -echo "$as_me: error: - -*** [Gentoo] sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -" >&2;} - { (exit 1); exit 1; }; } -else - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -fi - - -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7177: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7181: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7467: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7471: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } - -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - -if test x"$lt_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7575: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6; } - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - ;; - *) - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# Report which library types will actually be built -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - fix_srcfile_path \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - ld_shlibs_CXX=no - fi - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$rm -f confest.$objext - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12453: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12457: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12557: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12561: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - fix_srcfile_path_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld - - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14132: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:14136: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } - -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : -else - lt_prog_compiler_static_F77= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14236: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14240: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - freebsd1*) - ld_shlibs_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_F77=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6; } - -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - fix_srcfile_path_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds - - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16436: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16440: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16726: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16730: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_GCJ=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_GCJ=yes - fi - else - lt_prog_compiler_static_works_GCJ=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then - : -else - lt_prog_compiler_static_GCJ= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16830: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:16834: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_GCJ=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6; } - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - fix_srcfile_path_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - RC) - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - -lt_cv_prog_compiler_c_o_RC=yes - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - fix_srcfile_path_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - ;; - - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - - - - - - - - - - - - - - - - - - - -# Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test x$PKG_CONFIG = xno ; then - { { echo "$as_me:$LINENO: error: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&5 -echo "$as_me: error: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&2;} - { (exit 1); exit 1; }; } -fi -if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then - : -else - { { echo "$as_me:$LINENO: error: *** pkg-config too old; version 0.14 or better required." >&5 -echo "$as_me: error: *** pkg-config too old; version 0.14 or better required." >&2;} - { (exit 1); exit 1; }; } -fi - -# Checks for header files. - -for ac_header in unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------- ## -## Report this to none ## -## -------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - -for ac_header in GL/gl.h GL/glx.h GL/glu.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------- ## -## Report this to none ## -## -------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - opengl="yes" -else - opengl="no" -fi - -done - -if test x"$opengl" = xno; then - { { echo "$as_me:$LINENO: error: OpenGL and Glu headers not found, the plugin cannot be build" >&5 -echo "$as_me: error: OpenGL and Glu headers not found, the plugin cannot be build" >&2;} - { (exit 1); exit 1; }; } -fi - -# Checks for typedefs, structures, and compiler characteristics. -{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6; } -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_inline=$ac_kw -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6; } - - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - # reserved for future - -# Check for libraries - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 -echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 -echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - PKG_CONFIG="" - fi - -fi - -pkg_failed=no -{ echo "$as_me:$LINENO: checking for JACK" >&5 -echo $ECHO_N "checking for JACK... $ECHO_C" >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$JACK_CFLAGS"; then - pkg_cv_JACK_CFLAGS="$JACK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"jack >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "jack >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_JACK_CFLAGS=`$PKG_CONFIG --cflags "jack >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$JACK_LIBS"; then - pkg_cv_JACK_LIBS="$JACK_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"jack >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "jack >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_JACK_LIBS=`$PKG_CONFIG --libs "jack >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - JACK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "jack >= 0.0.0"` - else - JACK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "jack >= 0.0.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$JACK_PKG_ERRORS" >&5 - - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - libjack="no" -elif test $pkg_failed = untried; then - libjack="no" -else - JACK_CFLAGS=$pkg_cv_JACK_CFLAGS - JACK_LIBS=$pkg_cv_JACK_LIBS - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - libjack="yes" -fi -if test x$libjack = xno; then - { { echo "$as_me:$LINENO: error: *** libjack not found. - libjack is needed to build this packag" >&5 -echo "$as_me: error: *** libjack not found. - libjack is needed to build this packag" >&2;} - { (exit 1); exit 1; }; } -fi - - - - -pkg_failed=no -{ echo "$as_me:$LINENO: checking for LIBPROJECTM" >&5 -echo $ECHO_N "checking for LIBPROJECTM... $ECHO_C" >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPROJECTM_CFLAGS"; then - pkg_cv_LIBPROJECTM_CFLAGS="$LIBPROJECTM_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libprojectM >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBPROJECTM_CFLAGS=`$PKG_CONFIG --cflags "libprojectM >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPROJECTM_LIBS"; then - pkg_cv_LIBPROJECTM_LIBS="$LIBPROJECTM_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libprojectM >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBPROJECTM_LIBS=`$PKG_CONFIG --libs "libprojectM >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBPROJECTM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libprojectM >= 0.0.0"` - else - LIBPROJECTM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libprojectM >= 0.0.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBPROJECTM_PKG_ERRORS" >&5 - - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - libprjM="no" -elif test $pkg_failed = untried; then - libprjM="no" -else - LIBPROJECTM_CFLAGS=$pkg_cv_LIBPROJECTM_CFLAGS - LIBPROJECTM_LIBS=$pkg_cv_LIBPROJECTM_LIBS - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - libprjM="yes" -fi -if test x$libprjM = xno; then - { { echo "$as_me:$LINENO: error: *** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/" >&5 -echo "$as_me: error: *** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/" >&2;} - { (exit 1); exit 1; }; } -fi - - - - -cat >>confdefs.h <<_ACEOF -#define PROJECTM_SYSCONFDIR "`pkg-config --variable=sysconfdir libprojectM`" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PROJECTM_DATADIR "`pkg-config --variable=pkgdatadir libprojectM`" -_ACEOF - - -# Extract the first word of "sdl-config", so it can be a program name with args. -set dummy sdl-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_SDL_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $SDL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" - ;; -esac -fi -SDL_CONFIG=$ac_cv_path_SDL_CONFIG -if test -n "$SDL_CONFIG"; then - { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 -echo "${ECHO_T}$SDL_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test x$SDL_CONFIG = xno ; then - { { echo "$as_me:$LINENO: error: -*** sdl-config not found. -*** If you have installed from binaries, probably you have not -*** installed SDL development package. -*** See http://www.libsdl.org -" >&5 -echo "$as_me: error: -*** sdl-config not found. -*** If you have installed from binaries, probably you have not -*** installed SDL development package. -*** See http://www.libsdl.org -" >&2;} - { (exit 1); exit 1; }; } -fi - -# Check whether --with-sdl-prefix was given. -if test "${with_sdl_prefix+set}" = set; then - withval=$with_sdl_prefix; sdl_prefix="$withval" -else - sdl_prefix="" -fi - - -# Check whether --with-sdl-exec-prefix was given. -if test "${with_sdl_exec_prefix+set}" = set; then - withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" -else - sdl_exec_prefix="" -fi - -# Check whether --enable-sdltest was given. -if test "${enable_sdltest+set}" = set; then - enableval=$enable_sdltest; -else - enable_sdltest=yes -fi - - - if test x$sdl_exec_prefix != x ; then - sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_args="$sdl_args --prefix=$sdl_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_prefix/bin/sdl-config - fi - fi - - if test "x$prefix" != xNONE; then - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - fi - # Extract the first word of "sdl-config", so it can be a program name with args. -set dummy sdl-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_SDL_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $SDL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" - ;; -esac -fi -SDL_CONFIG=$ac_cv_path_SDL_CONFIG -if test -n "$SDL_CONFIG"; then - { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 -echo "${ECHO_T}$SDL_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - min_sdl_version=1.2.5 - { echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 -echo $ECHO_N "checking for SDL - version >= $min_sdl_version... $ECHO_C" >&6; } - no_sdl="" - if test "$SDL_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` - SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` - - sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - rm -f conf.sdltest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include "SDL.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } - - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); - printf("*** to point to the correct copy of sdl-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_sdl=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - : - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - if test "$SDL_CONFIG" = "no" ; then - echo "*** The sdl-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL_CONFIG environment variable to the" - echo "*** full path to sdl-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include "SDL.h" - -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main - -int -main () -{ - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl-config script: $SDL_CONFIG" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - { { echo "$as_me:$LINENO: error: *** SDL >= 1.2.5 not installed - please install first ***" >&5 -echo "$as_me: error: *** SDL >= 1.2.5 not installed - please install first ***" >&2;} - { (exit 1); exit 1; }; } - fi - - - rm -f conf.sdltest - - -# Internationalization -ALL_LINGUAS="es es_AR pt_BR nl fr ru" -GETTEXT_PACKAGE=jack-projectM - - -cat >>confdefs.h <<_ACEOF -#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" -_ACEOF - - - -for ac_header in locale.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------- ## -## Report this to none ## -## -------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_locale_h = yes; then - { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 -echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } -if test "${am_cv_val_LC_MESSAGES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -return LC_MESSAGES - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - am_cv_val_LC_MESSAGES=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - am_cv_val_LC_MESSAGES=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 -echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } - if test $am_cv_val_LC_MESSAGES = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LC_MESSAGES 1 -_ACEOF - - fi - fi - USE_NLS=yes - - - gt_cv_have_gettext=no - - CATOBJEXT=NONE - XGETTEXT=: - INTLLIBS= - - if test "${ac_cv_header_libintl_h+set}" = set; then - { echo "$as_me:$LINENO: checking for libintl.h" >&5 -echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libintl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 -echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking libintl.h usability" >&5 -echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking libintl.h presence" >&5 -echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------- ## -## Report this to none ## -## -------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for libintl.h" >&5 -echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } -if test "${ac_cv_header_libintl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_libintl_h=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 -echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } - -fi -if test $ac_cv_header_libintl_h = yes; then - gt_cv_func_dgettext_libintl="no" - libintl_extra_libs="" - - # - # First check in libc - # - { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 -echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } -if test "${gt_cv_func_ngettext_libc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include - -int -main () -{ -return !ngettext ("","", 1) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - gt_cv_func_ngettext_libc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_ngettext_libc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 -echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 -echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } -if test "${gt_cv_func_dgettext_libc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include - -int -main () -{ -return !dgettext ("","") - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - gt_cv_func_dgettext_libc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_dgettext_libc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 -echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } - fi - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - -for ac_func in bind_textdomain_codeset -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - fi - - # - # If we don't have everything we want, check in libintl - # - if test "$gt_cv_func_dgettext_libc" != "yes" \ - || test "$gt_cv_func_ngettext_libc" != "yes" \ - || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then - - { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 -echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } -if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char bindtextdomain (); -int -main () -{ -return bindtextdomain (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_intl_bindtextdomain=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_bindtextdomain=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 -echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } -if test $ac_cv_lib_intl_bindtextdomain = yes; then - { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 -echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } -if test "${ac_cv_lib_intl_ngettext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char ngettext (); -int -main () -{ -return ngettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_intl_ngettext=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_ngettext=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 -echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } -if test $ac_cv_lib_intl_ngettext = yes; then - { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 -echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } -if test "${ac_cv_lib_intl_dgettext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dgettext (); -int -main () -{ -return dgettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_intl_dgettext=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_dgettext=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 -echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } -if test $ac_cv_lib_intl_dgettext = yes; then - gt_cv_func_dgettext_libintl=yes -fi - -fi - -fi - - - if test "$gt_cv_func_dgettext_libintl" != "yes" ; then - { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 -echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } - { echo "$as_me:$LINENO: result: " >&5 -echo "${ECHO_T}" >&6; } - { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 -echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } -if test "${ac_cv_lib_intl_ngettext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl -liconv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char ngettext (); -int -main () -{ -return ngettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_intl_ngettext=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_ngettext=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 -echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } -if test $ac_cv_lib_intl_ngettext = yes; then - { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 -echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } -if test "${ac_cv_lib_intl_dcgettext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl -liconv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dcgettext (); -int -main () -{ -return dcgettext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_intl_dcgettext=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_dcgettext=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 -echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } -if test $ac_cv_lib_intl_dcgettext = yes; then - gt_cv_func_dgettext_libintl=yes - libintl_extra_libs=-liconv -else - : -fi - -else - : -fi - - fi - - # - # If we found libintl, then check in it for bind_textdomain_codeset(); - # we'll prefer libc if neither have bind_textdomain_codeset(), - # and both have dgettext and ngettext - # - if test "$gt_cv_func_dgettext_libintl" = "yes" ; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $libintl_extra_libs" - unset ac_cv_func_bind_textdomain_codeset - -for ac_func in bind_textdomain_codeset -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - LIBS="$glib_save_LIBS" - - if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then - gt_cv_func_dgettext_libc=no - else - if test "$gt_cv_func_dgettext_libc" = "yes" \ - && test "$gt_cv_func_ngettext_libc" = "yes"; then - gt_cv_func_dgettext_libintl=no - fi - fi - fi - fi - - if test "$gt_cv_func_dgettext_libc" = "yes" \ - || test "$gt_cv_func_dgettext_libintl" = "yes"; then - gt_cv_have_gettext=yes - fi - - if test "$gt_cv_func_dgettext_libintl" = "yes"; then - INTLLIBS="-lintl $libintl_extra_libs" - fi - - if test "$gt_cv_have_gettext" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETTEXT 1 -_ACEOF - - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != "no"; then - { echo "$as_me:$LINENO: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - if test "$MSGFMT" != "no"; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - -for ac_func in dcgettext -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - MSGFMT_OPTS= - { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 -echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } - cat >conftest.foo <<_ACEOF - -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: test 1.0\n" -"PO-Revision-Date: 2007-02-15 12:01+0100\n" -"Last-Translator: test \n" -"Language-Team: C \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -_ACEOF -if { (echo "$as_me:$LINENO: \$MSGFMT -c -o /dev/null conftest.foo") >&5 - ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -echo "$as_me: failed input was:" >&5 -sed 's/^/| /' conftest.foo >&5 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - CATOBJEXT=.gmo - DATADIRNAME=share -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - case $host in - *-*-solaris*) - { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 -echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } -if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. - For example, HP-UX 11i declares gettimeofday. */ -#define bind_textdomain_codeset innocuous_bind_textdomain_codeset - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char bind_textdomain_codeset (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef bind_textdomain_codeset - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char bind_textdomain_codeset (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset -choke me -#endif - -int -main () -{ -return bind_textdomain_codeset (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_bind_textdomain_codeset=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_bind_textdomain_codeset=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 -echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } -if test $ac_cv_func_bind_textdomain_codeset = yes; then - CATOBJEXT=.gmo - DATADIRNAME=share -else - CATOBJEXT=.mo - DATADIRNAME=lib -fi - - ;; - *) - CATOBJEXT=.mo - DATADIRNAME=lib - ;; - esac -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$glib_save_LIBS" - INSTOBJEXT=.mo - else - gt_cv_have_gettext=no - fi - fi - -fi - - - - if test "$gt_cv_have_gettext" = "yes" ; then - -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF - - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 -echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - - ac_config_commands="$ac_config_commands default-1" - - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - - - - - - - - - - - - - if test "$gt_cv_have_gettext" = "yes"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 -echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - { echo "$as_me:$LINENO: result: $LINGUAS" >&5 -echo "${ECHO_T}$LINGUAS" >&6; } - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - - - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - - -# -# Build paramaters -# - -DEBUG_CFLAGS="" - -# Check whether --enable-profiling was given. -if test "${enable_profiling+set}" = set; then - enableval=$enable_profiling; profiling=$enableval -else - profiling=no -fi - -{ echo "$as_me:$LINENO: checking wheter to enable profiling" >&5 -echo $ECHO_N "checking wheter to enable profiling... $ECHO_C" >&6; } -if test x$profiling = xyes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - DEBUG_CFLAGS="$DEBUG_CFLAGS -pg" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then - enableval=$enable_debug; debug=$enableval -else - debug=no -fi - -{ echo "$as_me:$LINENO: checking whether to enable debug" >&5 -echo $ECHO_N "checking whether to enable debug... $ECHO_C" >&6; } -if test "$debug" = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - DEBUG_CFLAGS="$DEBUG_CFLAGS -ggdb3" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall -Wmissing-braces -Wimplicit -Wunused" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wno-unused-variable" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Check whether --enable-extra-optimization was given. -if test "${enable_extra_optimization+set}" = set; then - enableval=$enable_extra_optimization; extra_opt=$enableval -else - extra_opt=no -fi - -{ echo "$as_me:$LINENO: checking wheter to enable extra optimizations" >&5 -echo $ECHO_N "checking wheter to enable extra optimizations... $ECHO_C" >&6; } -if test x$extra_opt = xyes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - OPT_CFLAGS="-O3 -fexpensive-optimizations" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - if test x$debug = xyes; then - OPT_CFLAGS="-O0" - else - OPT_CFLAGS="" - fi -fi - - -CFLAGS="${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}" - - -# cflags, ld flags - -libs_dynamic_loader="-ldl" -LIBS_DYNAMIC_LOADER="$libs_dynamic_loader" - - -BUILD_INPUT="$build_input" - -BUILD_ACTOR="$build_actor" - - -ac_config_files="$ac_config_files Makefile" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by jack-projectM plugin $as_me 1.00, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -jack-projectM plugin config.status 1.00 -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -am__isrc!$am__isrc$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -LN_S!$LN_S$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -SED!$SED$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -RANLIB!$RANLIB$ac_delim -CPP!$CPP$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -CXXCPP!$CXXCPP$ac_delim -F77!$F77$ac_delim -FFLAGS!$FFLAGS$ac_delim -ac_ct_F77!$ac_ct_F77$ac_delim -LIBTOOL!$LIBTOOL$ac_delim -PKG_CONFIG!$PKG_CONFIG$ac_delim -JACK_CFLAGS!$JACK_CFLAGS$ac_delim -JACK_LIBS!$JACK_LIBS$ac_delim -LIBPROJECTM_CFLAGS!$LIBPROJECTM_CFLAGS$ac_delim -LIBPROJECTM_LIBS!$LIBPROJECTM_LIBS$ac_delim -SDL_CONFIG!$SDL_CONFIG$ac_delim -SDL_CFLAGS!$SDL_CFLAGS$ac_delim -SDL_LIBS!$SDL_LIBS$ac_delim -GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim -USE_NLS!$USE_NLS$ac_delim -MSGFMT!$MSGFMT$ac_delim -MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim -GMSGFMT!$GMSGFMT$ac_delim -XGETTEXT!$XGETTEXT$ac_delim -CATALOGS!$CATALOGS$ac_delim -CATOBJEXT!$CATOBJEXT$ac_delim -DATADIRNAME!$DATADIRNAME$ac_delim -GMOFILES!$GMOFILES$ac_delim -INSTOBJEXT!$INSTOBJEXT$ac_delim -INTLLIBS!$INTLLIBS$ac_delim -PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim -PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim -POFILES!$POFILES$ac_delim -POSUB!$POSUB$ac_delim -MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim -DEBUG_CFLAGS!$DEBUG_CFLAGS$ac_delim -OPT_CFLAGS!$OPT_CFLAGS$ac_delim -LIBS_DYNAMIC_LOADER!$LIBS_DYNAMIC_LOADER$ac_delim -BUILD_INPUT!$BUILD_INPUT$ac_delim -BUILD_ACTOR!$BUILD_ACTOR$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 37; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF - - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then replace #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| . 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) - sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile - esac ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - - -echo " -===================================================================== -jack-projectM, xmms plugin for projectM $VERSION -===================================================================== - -Packages found: - -opengl: : ${opengl} - -Build options: -prefix: : ${prefix} -source code location: : ${srcdir} -compiler: : ${CC} -cflags: : ${CFLAGS} -" - diff --git a/src/projectM-jack/configure.ac b/src/projectM-jack/configure.ac deleted file mode 100644 index c2ec1c74b6..0000000000 --- a/src/projectM-jack/configure.ac +++ /dev/null @@ -1,165 +0,0 @@ -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT(jack-projectM plugin, 1.00, none , jack-projectM) -AM_INIT_AUTOMAKE([1.7.0 dist-bzip2]) - -AC_CONFIG_SRCDIR([config.h.in]) -AC_CONFIG_HEADER([config.h]) - -AC_PREFIX_DEFAULT(/usr/local) - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_LN_S - -AC_DISABLE_STATIC -AC_PROG_LIBTOOL - -AC_PATH_PROG(PKG_CONFIG, [pkg-config], [no]) -if test x$PKG_CONFIG = xno ; then - AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/]) -fi -if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then - : -else - AC_MSG_ERROR([*** pkg-config too old; version 0.14 or better required.]) -fi - -# Checks for header files. -AC_CHECK_HEADERS([unistd.h]) -AC_CHECK_HEADERS([GL/gl.h GL/glx.h GL/glu.h],opengl="yes",opengl="no") -if test x"$opengl" = xno; then - AC_MSG_ERROR([OpenGL and Glu headers not found, the plugin cannot be build]) -fi - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE # reserved for future - -# Check for libraries -PKG_CHECK_MODULES(JACK, jack >= 0.0.0, [libjack="yes"], [libjack="no"]) -if test x$libjack = xno; then - AC_MSG_ERROR([*** libjack not found. - libjack is needed to build this packag]) -fi -AC_SUBST(JACK_LIBS) -AC_SUBST(JACK_CFLAGS) - -PKG_CHECK_MODULES(LIBPROJECTM, libprojectM >= 0.0.0, [libprjM="yes"], [libprjM="no"]) -if test x$libprjM = xno; then - AC_MSG_ERROR([*** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/]) -fi -AC_SUBST(LIBPROJECTM_LIBS) -AC_SUBST(LIBPROJECTM_CFLAGS) - -AC_DEFINE_UNQUOTED([PROJECTM_SYSCONFDIR],"`pkg-config --variable=sysconfdir libprojectM`",[libprojectM configuration dir]) -AC_DEFINE_UNQUOTED([PROJECTM_DATADIR],"`pkg-config --variable=pkgdatadir libprojectM`",[libprojectM data dir]) - -AC_PATH_PROG(SDL_CONFIG, [sdl-config], [no]) -if test x$SDL_CONFIG = xno ; then - AC_MSG_ERROR([ -*** sdl-config not found. -*** If you have installed from binaries, probably you have not -*** installed SDL development package. -*** See http://www.libsdl.org -]) -fi -AM_PATH_SDL(1.2.5, , AC_MSG_ERROR([*** SDL >= 1.2.5 not installed - please install first ***])) - -# Internationalization -ALL_LINGUAS="es es_AR pt_BR nl fr ru" -GETTEXT_PACKAGE=jack-projectM -AC_SUBST(GETTEXT_PACKAGE) -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name]) -AM_GLIB_GNU_GETTEXT - -# -# Build paramaters -# - -DEBUG_CFLAGS="" - -AC_ARG_ENABLE([profiling], - AC_HELP_STRING([--enable-profiling], - [Enable emision of profile data to be used by gprof @<:@default=disabled@:>@]), - [profiling=$enableval], - [profiling=no]) -AC_MSG_CHECKING([wheter to enable profiling]) -if test x$profiling = xyes; then - AC_MSG_RESULT([yes]) - DEBUG_CFLAGS="$DEBUG_CFLAGS -pg" -else - AC_MSG_RESULT([no]) -fi - -AC_ARG_ENABLE([debug], - AC_HELP_STRING([--enable-debug], - [Enable debug @<:@default=disabled@:>@]), - [debug=$enableval], - [debug=no]) -AC_MSG_CHECKING([whether to enable debug]) -if test "$debug" = yes; then - AC_MSG_RESULT([yes]) - DEBUG_CFLAGS="$DEBUG_CFLAGS -ggdb3" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall -Wmissing-braces -Wimplicit -Wunused" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wno-unused-variable" -else - AC_MSG_RESULT([no]) -fi -AC_SUBST(DEBUG_CFLAGS) - -AC_ARG_ENABLE([extra-optimization], - AC_HELP_STRING([--enable-extra-optimization], - [Enable extra optimizations @<:@default=disabled@:>@]), - [extra_opt=$enableval], - [extra_opt=no]) -AC_MSG_CHECKING([wheter to enable extra optimizations]) -if test x$extra_opt = xyes; then - AC_MSG_RESULT([yes]) - OPT_CFLAGS="-O3 -fexpensive-optimizations" -else - AC_MSG_RESULT([no]) - if test x$debug = xyes; then - OPT_CFLAGS="-O0" - else - OPT_CFLAGS="" - fi -fi -AC_SUBST(OPT_CFLAGS) - -AC_SUBST(CFLAGS, "${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}") - -# cflags, ld flags - -libs_dynamic_loader="-ldl" -AC_SUBST(LIBS_DYNAMIC_LOADER, "$libs_dynamic_loader") - -AC_SUBST(BUILD_INPUT, "$build_input") -AC_SUBST(BUILD_ACTOR, "$build_actor") - -AC_CONFIG_FILES([ - Makefile - ]) - -AC_OUTPUT - -echo " -===================================================================== -jack-projectM, xmms plugin for projectM $VERSION -===================================================================== - -Packages found: - -opengl: : ${opengl} - -Build options: -prefix: : ${prefix} -source code location: : ${srcdir} -compiler: : ${CC} -cflags: : ${CFLAGS} -" - diff --git a/src/projectM-jack/depcomp b/src/projectM-jack/depcomp deleted file mode 100755 index ca5ea4e1ef..0000000000 --- a/src/projectM-jack/depcomp +++ /dev/null @@ -1,584 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2006-10-15.18 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software -# Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-jack/install-sh b/src/projectM-jack/install-sh deleted file mode 100755 index 4fbbae7b7f..0000000000 --- a/src/projectM-jack/install-sh +++ /dev/null @@ -1,507 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2006-10-14.15 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -posix_glob= -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chmodcmd=$chmodprog -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - shift - shift - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac -done - -if test $# -ne 0 && test -z "$dir_arg$dstarg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix=/ ;; - -*) prefix=./ ;; - *) prefix= ;; - esac - - case $posix_glob in - '') - if (set -f) 2>/dev/null; then - posix_glob=true - else - posix_glob=false - fi ;; - esac - - oIFS=$IFS - IFS=/ - $posix_glob && set -f - set fnord $dstdir - shift - $posix_glob && set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dst"; then - $doit $rmcmd -f "$dst" 2>/dev/null \ - || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ - && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ - || { - echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - } || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-jack/jack-projectM.cpp b/src/projectM-jack/jack-projectM.cpp deleted file mode 100644 index c7116e5175..0000000000 --- a/src/projectM-jack/jack-projectM.cpp +++ /dev/null @@ -1,451 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -#include "video_init.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include "sdltoprojectM.h" - -#include "ConfigFile.h" -#include -#include -#include -#include -#include - -#include - -#define CONFIG_FILE "/share/projectM/config.inp" - -std::string read_config(); - -jack_port_t *input_port; -jack_client_t *client; -jack_default_audio_sample_t out[1024*1000]; - -#ifdef DEBUG -FILE *debugFile = NULL; -#endif - -volatile enum { - Init, - Run, - Exit -} client_state = Init; - -SDL_Surface *screen; - -projectM *globalPM = NULL; - -int dumpFrame = 0; -int frameNumber = 0; - - -int texsize=512; -int gx=32,gy=24; -int wvw=512,wvh=512; -int fvw=1024,fvh=768; -int fps=30, fullscreen=0; - - - - -std::string read_config() -{ - - int n; - - char num[512]; - FILE *in; - FILE *out; - - char* home; - char projectM_home[1024]; - char projectM_config[1024]; - - strcpy(projectM_config, PROJECTM_DATADIR); - strcpy(projectM_config+strlen(PROJECTM_DATADIR), CONFIG_FILE); - projectM_config[strlen(PROJECTM_DATADIR)+strlen(CONFIG_FILE)]='\0'; - printf("dir:%s \n",projectM_config); - home=getenv("HOME"); - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - - - if ((in = fopen(projectM_home, "r")) != 0) - { - printf("reading ~/.projectM/config.inp \n"); - fclose(in); - return std::string(projectM_home); - } - else - { - printf("trying to create ~/.projectM/config.inp \n"); - - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM"); - projectM_home[strlen(home)+strlen("/.projectM")]='\0'; - mkdir(projectM_home,0755); - - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - - if((out = fopen(projectM_home,"w"))!=0) - { - - if ((in = fopen(projectM_config, "r")) != 0) - { - - while(fgets(num,80,in)!=NULL) - { - fputs(num,out); - } - fclose(in); - fclose(out); - - - if ((in = fopen(projectM_home, "r")) != 0) - { - printf("created ~/.projectM/config.inp successfully\n"); - fclose(in); - return std::string(projectM_home); - } - else{printf("This shouldn't happen, using implementation defualts\n");abort();} - } - else{printf("Cannot find projectM default config, using implementation defaults\n");abort();} - } - else - { - printf("Cannot create ~/.projectM/config.inp, using default config file\n"); - if ((in = fopen(projectM_config, "r")) != 0) - { printf("Successfully opened default config file\n"); - fclose(in); - return std::string(projectM_config);} - else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} - - } - - } - - - /* - fgets(num, 512, in); fgets(num, 512, in); fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &texsize); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &gx); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &gy); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &wvw); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &wvh); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &fps); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &fullscreen); - fgets(num, 512, in); - - if(fgets(num, 512, in) != NULL) strcpy(preset_dir, num); - preset_dir[strlen(preset_dir)-1]='\0'; - */ - /* - fgets(num, 80, in); - fgets(num, 80, in); - - n=0; - while (num[n]!=' ' && num[n]!='\n' && n < 80 && num[n]!=EOF) - { - disp[n]=num[n]; - n++; - } - disp[n]=0; - - - // sprintf(disp,"%s",num ); - setenv("DISPLAY",disp,1); - printf("%s %d\n", disp,strlen(disp)); - setenv("LD_PRELOAD", "/usr/lib/tls/libGL.so.1.0.4496", 1); - */ - // fclose(in); - - abort(); -} - -void renderLoop() { - - int i; - int x, y; - int index; - short pcm_data[2][512]; - - while ( 1 ) { - projectMEvent evt; - projectMKeycode key; - projectMModifier mod; - - /** Process SDL events */ - SDL_Event event; - while ( SDL_PollEvent( &event ) ) { - /** Translate into projectM codes and process */ - evt = sdl2pmEvent( event ); - key = sdl2pmKeycode( event.key.keysym.sym ); - mod = sdl2pmModifier( event.key.keysym.mod ); - - if ( evt == PROJECTM_KEYDOWN ) { - - - if(key == SDLK_f) - { - - globalPM->fullscreen = fullscreen ^= 1; - resize_display(fvw, fvh, fullscreen); - globalPM->projectM_resetGL( fvw, fvh ); - } - else if(key == SDLK_q) { exit (1);} - else {globalPM->key_handler(evt,key,mod);} - - } - else if ( evt == PROJECTM_VIDEORESIZE ) - { - wvw=event.resize.w; - wvh=event.resize.h; - resize_display(wvw, wvh, 0); - globalPM->projectM_resetGL( wvw, wvh ); - - } - - } - - - - /** Render the new frame */ - globalPM->renderFrame( ); - - - SDL_GL_SwapBuffers(); - } - - printf("Worker thread: Exiting\n"); - } - -int -process (jack_nframes_t nframes, void *arg) -{ - jack_default_audio_sample_t *in; - jack_transport_state_t ts = jack_transport_query(client, NULL); - - if (ts == JackTransportRolling) { - - if (client_state == Init) - client_state = Run; - - in = (jack_default_audio_sample_t*)jack_port_get_buffer (input_port, nframes); - - //memcpy (out, in,sizeof (jack_default_audio_sample_t) * nframes); - - globalPM->beatDetect->pcm->addPCMfloat(in,nframes); - //printf("%x %f\n",nframes,in[128]); - - - } else if (ts == JackTransportStopped) { - - if (client_state == Run) - client_state = Exit; - } - - return 0; -} - -void jack_shutdown (void *arg) -{ - exit (1); -} - -int main( int argc, char **argv ) { - const char **ports; - const char *client_name; - const char *server_name = NULL; - jack_options_t options = JackNullOption; - jack_status_t status; - int i; - char projectM_data[1024]; - - -std::string config_file; - config_file = read_config(); - - ConfigFile config(config_file); - - int wvw = config.read( "Window Width", 512 ); - int wvh = config.read( "Window Height", 512 ); - int fullscreen = 0; - if (config.read("Fullscreen", true)) fullscreen = 1; - else fullscreen = 0; - - -#ifdef DEBUG - int value; - int rgb_size[3]; -#endif - - const SDL_VideoInfo* info = NULL; - int bpp = 0; - /* Flags we will pass into SDL_SetVideoMode. */ - int flags = 0; - - //JACK INIT - //---------------------------------------------- - if (argc >= 2) { /* client name specified? */ - client_name = argv[1]; - if (argc >= 3) { /* server name specified? */ - server_name = argv[2]; - // options |= JackServerName; - } - } else { /* use basename of argv[0] */ - client_name = strrchr(argv[0], '/'); - if (client_name == 0) { - client_name = argv[0]; - } else { - client_name++; - } - } - - /* open a client connection to the JACK server */ - - client = jack_client_open (client_name, options, &status, server_name); - if (client == NULL) { - fprintf (stderr, "jack_client_open() failed, " - "status = 0x%2.0x\n", status); - if (status & JackServerFailed) { - fprintf (stderr, "Unable to connect to JACK server\n"); - } - exit (1); - } - if (status & JackServerStarted) { - fprintf (stderr, "JACK server started\n"); - } - if (status & JackNameNotUnique) { - client_name = jack_get_client_name(client); - fprintf (stderr, "unique name `%s' assigned\n", client_name); - } - - /* tell the JACK server to call `process()' whenever - there is work to be done. - */ - - jack_set_process_callback (client, process, 0); - - /* tell the JACK server to call `jack_shutdown()' if - it ever shuts down, either entirely, or if it - just decides to stop calling us. - */ - - jack_on_shutdown (client, jack_shutdown, 0); - - /* display the current sample rate. - */ - - printf ("engine sample rate: %d\n", - jack_get_sample_rate (client)); - - /* create two ports */ - - input_port = jack_port_register (client, "input", - JACK_DEFAULT_AUDIO_TYPE, - JackPortIsInput, 0); - - if (input_port == NULL) { - fprintf(stderr, "no more JACK ports available\n"); - exit (1); - } - - /* Tell the JACK server that we are ready to roll. Our - * process() callback will start running now. */ - - - - //END JACK INIT ---------------------------------- - init_display(wvw,wvh,&fvw,&fvh,fullscreen); - /** Setup some window stuff */ - SDL_WM_SetCaption( PROJECTM_TITLE, NULL ); - globalPM = new projectM(config_file); - /** Initialise projectM */ - - - - - //JACK BEGIN----------------------------- - - if (jack_activate (client)) { - fprintf (stderr, "cannot activate client"); - exit (1); - } - - /* Connect the ports. You can't do this before the client is - * activated, because we can't make connections to clients - * that aren't running. Note the confusing (but necessary) - * orientation of the driver backend ports: playback ports are - * "input" to the backend, and capture ports are "output" from - * it. - */ - - ports = jack_get_ports (client, NULL, NULL, JackPortIsOutput); - if (ports == NULL) { - fprintf(stderr, "no physical capture ports\n"); - exit (1); - } - - - i=0; - while (ports[i]!=NULL) - { - printf("Connecting to Jack port %s\n",ports[i]); - if (jack_connect (client, ports[i], jack_port_name (input_port))) { - fprintf (stderr, "cannot connect input ports\n"); - } - i++; - } - - free (ports); - - //----------------------------------END - - - /** Initialise the thread */ - renderLoop(); - - return 1; -} - - diff --git a/src/projectM-jack/libtool b/src/projectM-jack/libtool deleted file mode 100755 index 0d14648765..0000000000 --- a/src/projectM-jack/libtool +++ /dev/null @@ -1,7962 +0,0 @@ -#! /bin/sh - -# libtoolT - Provide generalized library-building support services. -# Generated automatically by (GNU jack-projectM 1.00) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED="/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="/bin/sed -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags=" CXX F77" - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=x86_64-unknown-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=x86_64-unknown-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="gcc" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=98304 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib64 /lib64 /usr/x86_64-pc-linux-gnu/lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr/lib32/opengl/nvidia/lib //usr/lib64/opengl/nvidia/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64 /lib32 /usr/lib32 /usr/local/lib32 /usr/x86_64-pc-linux-gnu/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/32 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/32 /usr/lib64/nspr /usr/lib64/nss /usr/lib64/openmotif-2.2 /usr/lib32/openmotif-2.2 /usr/lib/qt4 /usr/lib64/qt4 /usr/lib32/qt4 /usr/kde/3.5/lib /usr/kde/3.5/lib64 /usr/kde/3.5/lib32 /usr/qt/3/lib /usr/qt/3/lib64 /usr/qt/3/lib32 /opt/firefox /usr/games/lib /usr/games/lib32 /usr/lib/octave-2.1.73 " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL CONFIG - -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.24 -TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - # user sometimes does CC=-gcc so we need to match that to 'gcc' - trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` - # and sometimes libtool has CC=-gcc but user does CC=gcc - extendcc=${host}-${CC} - # and sometimes libtool has CC=-gcc but user has CC=-gcc - # (Gentoo-specific hack because we always export $CHOST) - mungedcc=${CHOST-${host}}-${trimedcc} - case "$@ " in - "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ - "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) - tagname=CC - break ;; - "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ - "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ - "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$srcfile" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - major=`expr $current - $age` - else - major=`expr $current - $age + 1` - fi - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - - # Make sure env LD_LIBRARY_PATH does not mess us up - if test -n \"\${LD_LIBRARY_PATH+set}\"; then - export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH - fi -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "X$EGREP" = X ; then - EGREP=egrep - fi - # We do not want portage's install root ($D) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$D"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # Rather use S=WORKDIR if our version of portage supports it. - # This is because some ebuild (gcc) do not use $S as buildroot. - if test "$PWORKDIR"; then - S="$PWORKDIR" - fi - # We do not want portage's build root ($S) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` - # We do not want portage's install root ($D) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` - if test -n "$my_little_ninja_foo_2" && test "$S"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$D"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - # Do not add duplicates - if test "$installed" = yes && test "$D"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` - else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=x86_64-unknown-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=x86_64-unknown-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="g++" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=98304 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbeginS.o" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="-L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../.." - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib64 /lib64 /usr/x86_64-pc-linux-gnu/lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr/lib32/opengl/nvidia/lib //usr/lib64/opengl/nvidia/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64 /lib32 /usr/lib32 /usr/local/lib32 /usr/x86_64-pc-linux-gnu/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/32 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/32 /usr/lib64/nspr /usr/lib64/nss /usr/lib64/openmotif-2.2 /usr/lib32/openmotif-2.2 /usr/lib/qt4 /usr/lib64/qt4 /usr/lib32/qt4 /usr/kde/3.5/lib /usr/kde/3.5/lib64 /usr/kde/3.5/lib32 /usr/qt/3/lib /usr/qt/3/lib64 /usr/qt/3/lib32 /opt/firefox /usr/games/lib /usr/games/lib32 /usr/lib/octave-2.1.73 " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL TAG CONFIG: CXX - -# ### BEGIN LIBTOOL TAG CONFIG: F77 - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=x86_64-unknown-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=x86_64-unknown-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="gfortran" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=98304 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag="" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib64 /lib64 /usr/x86_64-pc-linux-gnu/lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr/lib32/opengl/nvidia/lib //usr/lib64/opengl/nvidia/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64 /lib32 /usr/lib32 /usr/local/lib32 /usr/x86_64-pc-linux-gnu/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/32 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/32 /usr/lib64/nspr /usr/lib64/nss /usr/lib64/openmotif-2.2 /usr/lib32/openmotif-2.2 /usr/lib/qt4 /usr/lib64/qt4 /usr/lib32/qt4 /usr/kde/3.5/lib /usr/kde/3.5/lib64 /usr/kde/3.5/lib32 /usr/qt/3/lib /usr/qt/3/lib64 /usr/qt/3/lib32 /opt/firefox /usr/games/lib /usr/games/lib32 /usr/lib/octave-2.1.73 " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL TAG CONFIG: F77 - diff --git a/src/projectM-jack/ltmain.sh b/src/projectM-jack/ltmain.sh deleted file mode 100644 index d74b5a67af..0000000000 --- a/src/projectM-jack/ltmain.sh +++ /dev/null @@ -1,6997 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.24 -TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - # user sometimes does CC=-gcc so we need to match that to 'gcc' - trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` - # and sometimes libtool has CC=-gcc but user does CC=gcc - extendcc=${host}-${CC} - # and sometimes libtool has CC=-gcc but user has CC=-gcc - # (Gentoo-specific hack because we always export $CHOST) - mungedcc=${CHOST-${host}}-${trimedcc} - case "$@ " in - "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ - "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) - tagname=CC - break ;; - "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ - "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ - "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$srcfile" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - major=`expr $current - $age` - else - major=`expr $current - $age + 1` - fi - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - - # Make sure env LD_LIBRARY_PATH does not mess us up - if test -n \"\${LD_LIBRARY_PATH+set}\"; then - export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH - fi -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "X$EGREP" = X ; then - EGREP=egrep - fi - # We do not want portage's install root ($D) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$D"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # Rather use S=WORKDIR if our version of portage supports it. - # This is because some ebuild (gcc) do not use $S as buildroot. - if test "$PWORKDIR"; then - S="$PWORKDIR" - fi - # We do not want portage's build root ($S) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` - # We do not want portage's install root ($D) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` - if test -n "$my_little_ninja_foo_2" && test "$S"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$D"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - # Do not add duplicates - if test "$installed" = yes && test "$D"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` - else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/src/projectM-jack/make_bundle-no-qt.sh b/src/projectM-jack/make_bundle-no-qt.sh new file mode 100755 index 0000000000..ce4451bac7 --- /dev/null +++ b/src/projectM-jack/make_bundle-no-qt.sh @@ -0,0 +1,42 @@ +#!/bin/sh +### make_bundle-no-qt.sh A simple script to create a mac bundle without qt +### included in the bundle (depends on standard framework paths instead) +### Author: Carmelo Piccione (carmelo.piccione+projectM@gmail.com) + +# Path to installed qt framework on your machine +PATH_TO_QT=/Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks/ +BUILD_PATH=/Users/struktured/projects/projectm_trunk/src +PROJECTM_QT_BUILD_PATH=${BUILD_PATH}/projectM-qt/libprojectM-qt.1.dylib + +# the version of qt to bundle +QT_VERSION=4 + +# The bundle top level directory +APP=projectM-jack.app + +## [0] Clean +rm -rf ${APP} + +## [1] Create framework directory +mkdir ${APP} +mkdir ${APP}/Contents +mkdir ${APP}/Contents/Frameworks +mkdir ${APP}/Contents/Plugins +mkdir ${APP}/Contents/MacOs +mkdir ${APP}/Contents/Resources +mkdir ${APP}/Contents/Resources/fonts +mkdir ${APP}/Contents/Resources/presets + +cp projectM-jack ${APP}/Contents/MacOs/ +cp -f ${PROJECTM_QT_BUILD_PATH} ${APP}/Contents/Plugins/libprojectM-qt.dylib +cp -Rf ../../fonts/*.ttf ${APP}/Contents/Resources/fonts +cp -Rf ../../presets_projectM/*.prjm ${APP}/Contents/Resources/presets +cp -Rf ../../presets_projectM/*.milk ${APP}/Contents/Resources/presets +cp -f ${BUILD_PATH}/projectM-engine/config.inp ${APP}/Contents/Resources + +## [3] Change id of each qt framework to specialized one for this bundle + +install_name_tool -id @executable_path/../Plugins/libprojectM-qt.dylib ${APP}/Contents/Plugins/libprojectM-qt.dylib + +install_name_tool -change ${PROJECTM_QT_BUILD_PATH} @executable_path/../Plugins/libprojectM-qt.dylib ${APP}/Contents/MacOs/projectM-jack + diff --git a/src/projectM-jack/make_bundle.sh b/src/projectM-jack/make_bundle.sh new file mode 100755 index 0000000000..d3e88d9919 --- /dev/null +++ b/src/projectM-jack/make_bundle.sh @@ -0,0 +1,70 @@ +#!/bin/sh +### make_bund.sh A simple script to create a mac bundle #### +### Author: Carmelo Piccione (carmelo.piccione+projectM@gmail.com) ### + +# Path to installed qt framework on your machine +PATH_TO_QT=/Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks/ +BUILD_PATH=/Users/struktured/projects/projectm_trunk/src +PROJECTM_QT_BUILD_PATH=${BUILD_PATH}/projectM-qt/libprojectM-qt.1.dylib + +# the version of qt to bundle +QT_VERSION=4 + +# The bundle top level directory +APP=projectM-jack.app + +## [0] Clean +rm -rf ${APP} + +## [1] Create framework directory +mkdir ${APP} +mkdir ${APP}/Contents +mkdir ${APP}/Contents/Frameworks +mkdir ${APP}/Contents/Plugins +mkdir ${APP}/Contents/MacOs + +cp projectM-jack ${APP}/Contents/MAcOs/ +cp -f ${PROJECTM_QT_BUILD_PATH} ${APP}/Contents/Plugins/libprojectM-qt.dylib + +## [2] Copy each qt framework into the bundle +cp -Rf ${PATH_TO_QT}/QtCore.framework ${APP}/Contents/Frameworks +cp -Rf ${PATH_TO_QT}/QtGui.framework ${APP}/Contents/Frameworks +cp -Rf ${PATH_TO_QT}/QtXml.framework ${APP}/Contents/Frameworks +cp -Rf ${PATH_TO_QT}/QtOpenGL.framework ${APP}/Contents/Frameworks + + +## [3] Change id of each qt framework to specialized one for this bundle +install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore + +install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui ${APP}/Contents/Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui + +install_name_tool -id @executable_path/../Frameworks/QtXml.framework/Versions/${QT_VERSION}/QtXml ${APP}/Contents/Frameworks/QtXml.framework/Versions/${QT_VERSION}/QtXml + +install_name_tool -id @executable_path/../Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL ${APP}/Contents/Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL +install_name_tool -id @executable_path/../Plugins/libprojectM-qt.dylib ${APP}/Contents/Plugins/libprojectM-qt.dylib + + +## [4] Change reference ids in projectM-jack to the local referred to id's +install_name_tool -change QtCore.framework/Versions/${QT_VERSION}/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/MacOs/projectM-jack + +install_name_tool -change QtGui.framework/Versions/${QT_VERSION}/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui ${APP}/Contents/MacOs/projectM-jack + +install_name_tool -change QtXml.framework/Versions/${QT_VERSION}/QtXml @executable_path/../Frameworks/QtXml.framework/Versions/${QT_VERSION}/QtXml ${APP}/Contents/MacOs/projectM-jack + +install_name_tool -change QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL @executable_path/../Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL ${APP}/Contents/MacOs/projectM-jack + +install_name_tool -change ${PROJECTM_QT_BUILD_PATH} @executable_path/../Plugins/libprojectM-qt.dylib ${APP}/Contents/MacOs/projectM-jack + +# [4b] Change projectM-qt library reference to bundle version + +## [5] Change references from one qt lib to another qt lib from system to local +install_name_tool -change QtCore.framework/Versions/${QT_VERSION}/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui +install_name_tool -change QtCore.framework/Versions/${QT_VERSION}/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/Frameworks/QtXml.framework/Versions/${QT_VERSION}/QtXml + +install_name_tool -change QtCore.framework/Versions/${QT_VERSION}/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL +install_name_tool -change QtGui.framework/Versions/${QT_VERSION}/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui ${APP}/Contents/Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL + +install_name_tool -change QtCore.framework/Versions/${QT_VERSION}/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/${QT_VERSION}/QtCore ${APP}/Contents/Plugins/libprojectM-qt.dylib +install_name_tool -change QtGui.framework/Versions/${QT_VERSION}/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/${QT_VERSION}/QtGui ${APP}/Contents/Plugins/libprojectM-qt.dylib +install_name_tool -change QtXml.framework/Versions/${QT_VERSION}/QtXml @executable_path/../Frameworks/QtXml.framework/Versions/${QT_VERSION}/QtXml ${APP}/Contents/Plugins/libprojectM-qt.dylib +install_name_tool -change QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL @executable_path/../Frameworks/QtOpenGL.framework/Versions/${QT_VERSION}/QtOpenGL ${APP}/Contents/Plugins/libprojectM-qt.dylib diff --git a/src/projectM-jack/missing b/src/projectM-jack/missing deleted file mode 100755 index 1c8ff7049d..0000000000 --- a/src/projectM-jack/missing +++ /dev/null @@ -1,367 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2006-05-10.23 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case $1 in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $1 in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-jack/projectM-jack.1 b/src/projectM-jack/projectM-jack.1 new file mode 100644 index 0000000000..e1d812f8a0 --- /dev/null +++ b/src/projectM-jack/projectM-jack.1 @@ -0,0 +1,23 @@ +.TH projectM-Jack 1 "June 24, 2010" +.SH NAME +projectM-jack \- ProjectM module for JackAudio +.SH DESCRIPTION +This manual page documents the +.B projectM-jack +command. +.PP +.B projectM-jack +provides direct visualisation of a JackAudio stream using +the projectM audio visualisation tool. +.B projectM-jack +offers a stereo-input-channel to connect Jack devices with. +.PP +.B projectM-jack +can be run from the +.B Applications +menu after it was installed. +.SH AUTHOR +projectM-Jack was written by the projectM-Team. +.PP +This manual page was written by Matthias Klumpp , +for the Debian project (and may be used by others). diff --git a/src/projectM-jack/projectM-jack.cpp b/src/projectM-jack/projectM-jack.cpp new file mode 100644 index 0000000000..d3936f88c0 --- /dev/null +++ b/src/projectM-jack/projectM-jack.cpp @@ -0,0 +1,387 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +#include "video_init.h" +#include +#include +#include +#include +#include +#include "sdltoprojectM.h" + +#include "ConfigFile.h" +#include +#include +#include +#include +#include + +#include + +#define CONFIG_FILE "/share/projectM/config.inp" + +std::string read_config(); + +jack_port_t *input_port; +jack_client_t *client; +jack_default_audio_sample_t out[1024*1000]; + +#ifdef DEBUG +FILE *debugFile = NULL; +#endif + +volatile enum client_state_t { + Init, + Run, + Exit +} client_state = Init; + +SDL_Surface *screen; + +projectM *globalPM = NULL; + +int dumpFrame = 0; +int frameNumber = 0; + + +int texsize=512; +int gx=32,gy=24; +int wvw=512,wvh=512; +int fvw=1024,fvh=768; +int fps=30, fullscreen=0; + +std::string read_config() +{ + + int n; + + char num[512]; + FILE *in; + FILE *out; + + char* home; + char projectM_home[1024]; + char projectM_config[1024]; + + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config+strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX)+strlen(CONFIG_FILE)]='\0'; + printf("dir:%s \n",projectM_config); + home=getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + else + { + printf("trying to create ~/.projectM/config.inp \n"); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM"); + projectM_home[strlen(home)+strlen("/.projectM")]='\0'; + mkdir(projectM_home,0755); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + if((out = fopen(projectM_home,"w"))!=0) + { + + if ((in = fopen(projectM_config, "r")) != 0) + { + + while(fgets(num,80,in)!=NULL) + { + fputs(num,out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + else{printf("This shouldn't happen, using implementation defualts\n");abort();} + } + else{printf("Cannot find projectM default config, using implementation defaults\n");abort();} + } + else + { + printf("Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r")) != 0) + { printf("Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config);} + else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} + + } + + } + + + abort(); +} + +void renderLoop() { + + int i; + int x, y; + int index; + short pcm_data[2][512]; + + while ( 1 ) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + + /** Process SDL events */ + SDL_Event event; + while ( SDL_PollEvent( &event ) ) { + /** Translate into projectM codes and process */ + evt = sdl2pmEvent( event ); + key = sdl2pmKeycode( event.key.keysym.sym ); + mod = sdl2pmModifier( event.key.keysym.mod ); + + if ( evt == PROJECTM_KEYDOWN ) { + + + if(key == PROJECTM_K_f) + { + if (++fullscreen%2) + { + resize_display(fvw, fvh, fullscreen%2); + globalPM->projectM_resetGL( fvw, fvh ); + } + else + { + resize_display(wvw, wvh, fullscreen%2); + globalPM->projectM_resetGL( wvw, wvh ); + } + } + else if(key == PROJECTM_K_q || key == PROJECTM_K_ESCAPE) {delete(globalPM); exit (1);} + else {globalPM->key_handler(evt,key,mod);} + + } + else if ( evt == PROJECTM_VIDEORESIZE ) + { + wvw=event.resize.w; + wvh=event.resize.h; + resize_display(wvw, wvh, fullscreen%2); + globalPM->projectM_resetGL( wvw, wvh ); + + } + + } + + + + /** Render the new frame */ + globalPM->renderFrame( ); + + + SDL_GL_SwapBuffers(); + } + + printf("Worker thread: Exiting\n"); + } + +int +process (jack_nframes_t nframes, void *arg) +{ + jack_default_audio_sample_t *in; + + in = (jack_default_audio_sample_t*)jack_port_get_buffer (input_port, nframes); + + //memcpy (out, in,sizeof (jack_default_audio_sample_t) * nframes); + + globalPM->pcm()->addPCMfloat(in,nframes); + //printf("%x %f\n",nframes,in[128]); + + return 0; +} + +void jack_shutdown (void *arg) +{ + exit (1); +} + +int main( int argc, char **argv ) { + const char **ports; + const char *client_name; + const char *server_name = NULL; + jack_options_t options = JackNullOption; + jack_status_t status; + int i; + char projectM_data[1024]; + + + std::string config_file; + config_file = read_config(); + + ConfigFile config(config_file); + + wvw = config.read( "Window Width", 512 ); + wvh = config.read( "Window Height", 512 ); + int fullscreen = 0; + if (config.read("Fullscreen", true)) fullscreen = 1; + else fullscreen = 0; + + +#ifdef DEBUG + int value; + int rgb_size[3]; +#endif + + const SDL_VideoInfo* info = NULL; + int bpp = 0; + /* Flags we will pass into SDL_SetVideoMode. */ + int flags = 0; + + //JACK INIT + //---------------------------------------------- + if (argc >= 2) { /* client name specified? */ + client_name = argv[1]; + if (argc >= 3) { /* server name specified? */ + server_name = argv[2]; + // options |= JackServerName; + } + } else { /* use basename of argv[0] */ + client_name = strrchr(argv[0], '/'); + if (client_name == 0) { + client_name = argv[0]; + } else { + client_name++; + } + } + + /* open a client connection to the JACK server */ + + client = jack_client_open (client_name, options, &status, server_name); + if (client == NULL) { + fprintf (stderr, "jack_client_open() failed, " + "status = 0x%2.0x\n", status); + if (status & JackServerFailed) { + fprintf (stderr, "Unable to connect to JACK server\n"); + } + exit (1); + } + if (status & JackServerStarted) { + fprintf (stderr, "JACK server started\n"); + } + if (status & JackNameNotUnique) { + client_name = jack_get_client_name(client); + fprintf (stderr, "unique name `%s' assigned\n", client_name); + } + + /* tell the JACK server to call `process()' whenever + there is work to be done. + */ + + jack_set_process_callback (client, process, 0); + + /* tell the JACK server to call `jack_shutdown()' if + it ever shuts down, either entirely, or if it + just decides to stop calling us. + */ + + jack_on_shutdown (client, jack_shutdown, 0); + + /* display the current sample rate. + */ + + printf ("engine sample rate: %d\n", + jack_get_sample_rate (client)); + + /* create two ports */ + + input_port = jack_port_register (client, "input", + JACK_DEFAULT_AUDIO_TYPE, + JackPortIsInput, 0); + + if (input_port == NULL) { + fprintf(stderr, "no more JACK ports available\n"); + exit (1); + } + + /* Tell the JACK server that we are ready to roll. Our + * process() callback will start running now. */ + + + + // END JACK INIT ---------------------------------- + init_display(wvw,wvh,&fvw,&fvh,fullscreen); + /** Setup some window stuff */ + SDL_WM_SetCaption( PROJECTM_TITLE, NULL ); + globalPM = new projectM(config_file); + /** Initialise projectM */ + + //JACK BEGIN----------------------------- + + if (jack_activate (client)) { + fprintf (stderr, "cannot activate client"); + exit (1); + } + + /* Connect the ports. You can't do this before the client is + * activated, because we can't make connections to clients + * that aren't running. Note the confusing (but necessary) + * orientation of the driver backend ports: playback ports are + * "input" to the backend, and capture ports are "output" from + * it. + */ + + ports = jack_get_ports (client, NULL, NULL, JackPortIsOutput); + if (ports == NULL) { + fprintf(stderr, "no physical capture ports\n"); + exit (1); + } + + + i=0; + while (ports[i]!=NULL) + { + printf("Connecting to Jack port %s\n",ports[i]); + if (jack_connect (client, ports[i], jack_port_name (input_port))) { + fprintf (stderr, "cannot connect input ports\n"); + } + i++; + } + + free (ports); + + //----------------------------------END + + + /** Initialise the thread */ + renderLoop(); + + return 1; +} diff --git a/src/projectM-jack/projectM-jack.desktop b/src/projectM-jack/projectM-jack.desktop new file mode 100644 index 0000000000..53de066507 --- /dev/null +++ b/src/projectM-jack/projectM-jack.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=projectM Jack Audio Visualization +GenericName=JACK Audio Stream Visualization +Comment=A milkdrop based music visualizer visualizing JackAudio streams on a Qt5 GUI +Exec=projectM-jack +Icon=projectM +Type=Application +Categories=AudioVideo;Audio; +Terminal=false diff --git a/src/projectM-jack/qprojectM-jack.cpp b/src/projectM-jack/qprojectM-jack.cpp new file mode 100644 index 0000000000..53bdac7601 --- /dev/null +++ b/src/projectM-jack/qprojectM-jack.cpp @@ -0,0 +1,356 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include +#include +#include +#include + +#include "ConfigFile.h" +#include +#include +#include +#include +#include // for mkdir +#include + +#ifdef HTTP_REMOTE_CONTROL +#include "HTTPRemoteControl.h" +#endif + +#define QPROJECTM_JACK_CONFIG_FILE "/config.inp" + +std::string read_config(); + +jack_port_t *input_port; +jack_client_t *client; +jack_default_audio_sample_t out[1024*1000]; + +#ifdef DEBUG +FILE *debugFile = NULL; +#endif + +volatile enum ClientState { + Init, + Run, + Exit +} client_state = Init; + + +projectM *globalPM = NULL; + +int dumpFrame = 0; +int frameNumber = 0; + +int texsize=512; +int gx=32,gy=24; +int wvw=512,wvh=512; +int fvw=1024,fvh=768; +int fps=30, fullscreen=0; + +class ProjectMApplication : public QApplication { + public: + ProjectMApplication(int& argc, char ** argv) : + QApplication(argc, argv) { } + virtual ~ProjectMApplication() { } + + // catch exceptions which are thrown in slots + virtual bool notify(QObject * receiver, QEvent * event) { + try { + return QApplication::notify(receiver, event); + } catch (std::exception& e) { + qCritical() << "Exception thrown:" << e.what(); + } + return false; + } +}; + +std::string read_config() +{ + + int n; + + char num[512]; + FILE *in; + FILE *out; + + char * home; + char projectM_home[1024]; + char projectM_config[1024]; + + int len; + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config + (len = strlen(PROJECTM_PREFIX)), "/"); + + strcpy(projectM_config+(len += strlen("/")), RESOURCE_PREFIX); + strcpy(projectM_config+(len += strlen(RESOURCE_PREFIX)), QPROJECTM_JACK_CONFIG_FILE); + projectM_config[len += strlen(QPROJECTM_JACK_CONFIG_FILE)]='\0'; + + printf("dir:%s \n",projectM_config); + home=getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + else + { + printf("trying to create ~/.projectM/config.inp \n"); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM"); + projectM_home[strlen(home)+strlen("/.projectM")]='\0'; + mkdir(projectM_home,0755); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + if((out = fopen(projectM_home,"w"))!=0) + { + + if ((in = fopen(projectM_config, "r")) != 0) + { + + while(fgets(num,80,in)!=NULL) + { + fputs(num,out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + else{printf("This shouldn't happen, using implementation defualts\n");abort();} + } + else{printf("Cannot find projectM default config, using implementation defaults\n");abort();} + } + else + { + printf("Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r")) != 0) + { printf("Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config);} + else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} + + } + + } + + + abort(); +} + +int +process (jack_nframes_t nframes, void *arg) +{ + + jack_default_audio_sample_t *in; + + in = (jack_default_audio_sample_t*)jack_port_get_buffer (input_port, nframes); + + //memcpy (out, in,sizeof (jack_default_audio_sample_t) * nframes); + + globalPM->pcm()->addPCMfloat(in,nframes); +// printf("%x %f\n",nframes,in[128]); + + return 0; +} + +void jack_shutdown (void *arg) +{ + exit (1); +} + +int main (int argc, char **argv) { + const char **ports; + const char *client_name; + const char *server_name = NULL; + jack_options_t options = JackNullOption; + jack_status_t status; + int i; + char projectM_data[1024]; + + // Start a new application + ProjectMApplication app(argc, argv); + + std::string config_file; + config_file = read_config(); + + + QProjectM_MainWindow * mainWindow = new QProjectM_MainWindow(config_file, 0); + mainWindow->show(); + + globalPM = mainWindow->GetProjectM(); + + + + //JACK INIT + //---------------------------------------------- + if (argc >= 2) { /* client name specified? */ + client_name = argv[1]; + if (argc >= 3) { /* server name specified? */ + server_name = argv[2]; + // options |= JackServerName; + } + } else { /* use basename of argv[0] */ + client_name = strrchr(argv[0], '/'); + if (client_name == 0) { + client_name = argv[0]; + } else { + client_name++; + } + } + + /* open a client connection to the JACK server */ + + client = jack_client_open (client_name, options, &status, server_name); + if (client == NULL) { + fprintf (stderr, "jack_client_open() failed, " + "status = 0x%2.0x\n", status); + if (status & JackServerFailed) { + fprintf (stderr, "Unable to connect to JACK server\n"); + } + exit (1); + } + + if (status & JackServerStarted) { + fprintf (stderr, "JACK server started\n"); + } + + if (status & JackNameNotUnique) { + client_name = jack_get_client_name(client); + fprintf (stderr, "unique name `%s' assigned\n", client_name); + } + + /* tell the JACK server to call `process()' whenever + there is work to be done. + */ + + if (jack_set_process_callback (client, process, 0)) { + std::cerr << "qprojectM-jack: failed to set process callbank!. quitting..." << std::endl; + exit(EXIT_FAILURE); + } + + /* tell the JACK server to call `jack_shutdown()' if + it ever shuts down, either entirely, or if it + just decides to stop calling us. + */ + + jack_on_shutdown (client, jack_shutdown, 0); + + /* display the current sample rate. + */ + + printf ("engine sample rate: %d\n", + jack_get_sample_rate (client)); + + /* create two ports */ + + input_port = jack_port_register (client, "input", + JACK_DEFAULT_AUDIO_TYPE, + JackPortIsInput, 0); + + if (input_port == NULL) { + fprintf(stderr, "no more JACK ports available\n"); + exit (1); + } + + /* Tell the JACK server that we are ready to roll. Our + * process() callback will start running now. */ + + // END JACK INIT ---------------------------------- + + //JACK BEGIN----------------------------- + + if (jack_activate (client)) { + fprintf (stderr, "cannot activate client"); + exit (1); + } + + /* Connect the ports. You can't do this before the client is + * activated, because we can't make connections to clients + * that aren't running. Note the confusing (but necessary) + * orientation of the driver backend ports: playback ports are + * "input" to the backend, and capture ports are "output" from + * it. + */ + + ports = jack_get_ports (client, NULL, NULL, JackPortIsOutput); + if (ports == NULL) { + fprintf(stderr, "no physical capture ports\n"); + exit (1); + } + + + i=0; + while (ports[i]!=NULL) + { + printf("Connecting to Jack port %s\n",ports[i]); + if (jack_connect (client, ports[i], jack_port_name (input_port))) { + fprintf (stderr, "cannot connect input ports\n"); + } + i++; + } + + free (ports); + + +#ifdef HTTP_REMOTE_CONTROL + uint port=qgetenv("HTTP_PORT").toUInt(); + QxtHttpServerConnector connector; + + QxtHttpSessionManager session; + printf("session.setPort(%i\n", port); fflush(stdout); + session.setPort(port); + session.setConnector(&connector); + + HTTPRemoteControl s1(&session, mainWindow->qprojectM()); + session.setStaticContentService ( &s1); + + printf("session.start()\n"); fflush(stdout); + if(port>0) { // I think it didn't work when the conditional was further up + session.start(); + } +#endif + + + //----------------------------------END + + //return 1; + return app.exec(); +} + + diff --git a/src/projectM-jack/sdltoprojectM.h b/src/projectM-jack/sdltoprojectM.h index c932e06d85..e921569374 100644 --- a/src/projectM-jack/sdltoprojectM.h +++ b/src/projectM-jack/sdltoprojectM.h @@ -1,27 +1,49 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + + /** * $Id: sdltoprojectM.h,v 1.1.1.1 2005/12/23 19:54:50 psperl Exp $ * * Translates SDL -> projectM variables * - * $Log: sdltoprojectM.h,v $ - * Revision 1.1.1.1 2005/12/23 19:54:50 psperl - * - * - * Revision 1.1.1.1 2005/12/23 18:42:00 psperl - * Initial Import - * - * Revision 1.1 2004/10/08 00:35:28 cvs - * Moved and imported - * - * Revision 1.1.1.1 2004/10/04 12:56:00 cvs - * Imported + * $Log: sdltoprojectM.h,v $ + * Revision 1.1.1.1 2005/12/23 19:54:50 psperl + * + * + * Revision 1.1.1.1 2005/12/23 18:42:00 psperl + * Initial Import + * + * Revision 1.1 2004/10/08 00:35:28 cvs + * Moved and imported + * + * Revision 1.1.1.1 2004/10/04 12:56:00 cvs + * Imported * */ #ifndef _SDLTOPROJECTM_H #define _SDLTOPROJECTM_H -#include +#include #ifdef WIN32 #include #else @@ -29,9 +51,9 @@ #endif projectMEvent sdl2pmEvent( SDL_Event event ) { \ - + switch ( event.type ) { \ - case SDL_VIDEORESIZE: + case SDL_VIDEORESIZE: return PROJECTM_VIDEORESIZE; \ case SDL_KEYUP: \ return PROJECTM_KEYUP; \ @@ -69,74 +91,74 @@ projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \ case SDLK_F12: \ return PROJECTM_K_F12; \ case SDLK_ESCAPE: \ - return PROJECTM_K_ESCAPE; - case SDLK_a: - return PROJECTM_K_a; - case SDLK_b: - return PROJECTM_K_b; - case SDLK_c: - return PROJECTM_K_c; - case SDLK_d: - return PROJECTM_K_d; - case SDLK_e: - return PROJECTM_K_e; - case SDLK_f: - return PROJECTM_K_f; - case SDLK_g: - return PROJECTM_K_g; - case SDLK_h: - return PROJECTM_K_h; - case SDLK_i: - return PROJECTM_K_i; - case SDLK_j: - return PROJECTM_K_j; - case SDLK_k: - return PROJECTM_K_k; - case SDLK_l: - return PROJECTM_K_l; - case SDLK_m: - return PROJECTM_K_m; - case SDLK_n: - return PROJECTM_K_n; - case SDLK_o: - return PROJECTM_K_o; - case SDLK_p: - return PROJECTM_K_p; - case SDLK_q: - return PROJECTM_K_q; - case SDLK_r: - return PROJECTM_K_r; - case SDLK_s: - return PROJECTM_K_s; - case SDLK_t: - return PROJECTM_K_t; - case SDLK_u: - return PROJECTM_K_u; - case SDLK_v: - return PROJECTM_K_v; - case SDLK_w: - return PROJECTM_K_w; - case SDLK_x: - return PROJECTM_K_x; - case SDLK_y: - return PROJECTM_K_y; - case SDLK_z: - return PROJECTM_K_z; - case SDLK_UP: - return PROJECTM_K_UP; - case SDLK_RETURN: - return PROJECTM_K_RETURN; - case SDLK_RIGHT: - return PROJECTM_K_RIGHT; - case SDLK_LEFT: - return PROJECTM_K_LEFT; - case SDLK_DOWN: - return PROJECTM_K_DOWN; - case SDLK_PAGEUP: - return PROJECTM_K_PAGEUP; - case SDLK_PAGEDOWN: - return PROJECTM_K_PAGEDOWN; - + return PROJECTM_K_ESCAPE; + case SDLK_a: + return PROJECTM_K_a; + case SDLK_b: + return PROJECTM_K_b; + case SDLK_c: + return PROJECTM_K_c; + case SDLK_d: + return PROJECTM_K_d; + case SDLK_e: + return PROJECTM_K_e; + case SDLK_f: + return PROJECTM_K_f; + case SDLK_g: + return PROJECTM_K_g; + case SDLK_h: + return PROJECTM_K_h; + case SDLK_i: + return PROJECTM_K_i; + case SDLK_j: + return PROJECTM_K_j; + case SDLK_k: + return PROJECTM_K_k; + case SDLK_l: + return PROJECTM_K_l; + case SDLK_m: + return PROJECTM_K_m; + case SDLK_n: + return PROJECTM_K_n; + case SDLK_o: + return PROJECTM_K_o; + case SDLK_p: + return PROJECTM_K_p; + case SDLK_q: + return PROJECTM_K_q; + case SDLK_r: + return PROJECTM_K_r; + case SDLK_s: + return PROJECTM_K_s; + case SDLK_t: + return PROJECTM_K_t; + case SDLK_u: + return PROJECTM_K_u; + case SDLK_v: + return PROJECTM_K_v; + case SDLK_w: + return PROJECTM_K_w; + case SDLK_x: + return PROJECTM_K_x; + case SDLK_y: + return PROJECTM_K_y; + case SDLK_z: + return PROJECTM_K_z; + case SDLK_UP: + return PROJECTM_K_UP; + case SDLK_RETURN: + return PROJECTM_K_RETURN; + case SDLK_RIGHT: + return PROJECTM_K_RIGHT; + case SDLK_LEFT: + return PROJECTM_K_LEFT; + case SDLK_DOWN: + return PROJECTM_K_DOWN; + case SDLK_PAGEUP: + return PROJECTM_K_PAGEUP; + case SDLK_PAGEDOWN: + return PROJECTM_K_PAGEDOWN; + default: \ return PROJECTM_K_NONE; \ } \ diff --git a/src/projectM-jack/stamp-h1 b/src/projectM-jack/stamp-h1 deleted file mode 100644 index 4547fe1b5e..0000000000 --- a/src/projectM-jack/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for config.h diff --git a/src/projectM-jack/video_init.cpp b/src/projectM-jack/video_init.cpp old mode 100755 new mode 100644 index cbb52ad978..6e9404982f --- a/src/projectM-jack/video_init.cpp +++ b/src/projectM-jack/video_init.cpp @@ -1,3 +1,24 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + //video_init.c - SDL/Opengl Windowing Creation/Resizing Functions // //by Peter Sperl diff --git a/src/projectM-jack/video_init.h b/src/projectM-jack/video_init.h old mode 100755 new mode 100644 index 61c084f8bb..f166aadc1d --- a/src/projectM-jack/video_init.h +++ b/src/projectM-jack/video_init.h @@ -1,3 +1,24 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + void setup_opengl( int w, int h ); void init_display( int w, int h, int *fvw, int *fvh, int fullscreen ); void resize_display( int w, int h, int fullscreen ); diff --git a/src/projectM-libvisual-alsa/DESIGN b/src/projectM-libvisual-alsa/DESIGN new file mode 100644 index 0000000000..1b65f9e75a --- /dev/null +++ b/src/projectM-libvisual-alsa/DESIGN @@ -0,0 +1,44 @@ +DONE A display abstraction thingy. +DONE Register SDL as the driver. +DONE handle gl +DONE handle framebuffer +DONE handle resize +DONE handle fullscreen + +DONE support resize. +3 support a fps limiter. + +DONE add support for libvisual it's gl param system (also make in lv). + +DONE Add SDL events to a libvisual event queue. +DONE events to plugin. + + Support switching between plugins. << in a different standalone example ?! + + good object cleanup. + +DONE support resolution selection +DONE support auto scaling on fullscreen, and return to old scale/position. + support keep position with gl switches. + + When all is done, check where the API fails, and update in lv. + When all is done, let the playground make use of the display system (finally clean it up). + +DONE make use of visibility events. +DONE make use of quit events. + + add glx backend. + add support for a on texture renderer. + + fix the x11 renderer + + add fullscreen support to the x11 and glx renderer. + +Make a few end clients: + simple. + bin and morphable. + complex (morphable and visui interface) + + make sure all is abstract in a way that it's easy to include it in projects. + + diff --git a/src/projectM-libvisual-alsa/README b/src/projectM-libvisual-alsa/README new file mode 100644 index 0000000000..92ad40bd48 --- /dev/null +++ b/src/projectM-libvisual-alsa/README @@ -0,0 +1 @@ +This is the experimental libvisual standalone port which allows alsa input only! More info later. \ No newline at end of file diff --git a/src/projectM-libvisual-alsa/cacadriver.c b/src/projectM-libvisual-alsa/cacadriver.c new file mode 100644 index 0000000000..a70521e476 --- /dev/null +++ b/src/projectM-libvisual-alsa/cacadriver.c @@ -0,0 +1,259 @@ +#include + +#include +#include +#include + +#include "cacadriver.h" + +#define CACA_NATIVE(obj) (VISUAL_CHECK_CAST ((obj), CacaNative)) + + +typedef struct _CacaNative CacaNative; + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); +static int native_close (SADisplay *display); +static int native_lock (SADisplay *display); +static int native_unlock (SADisplay *display); +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale); +static int native_getvideo (SADisplay *display, VisVideo *screen); +static int native_updaterect (SADisplay *display, VisRectangle *rect); +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue); + + +static int caca_initialized; + +struct _CacaNative { + VisObject object; + + struct caca_bitmap *bitmap; + unsigned char *area; + + VisVideoDepth depth; + int width; + int height; + + unsigned int red[256]; + unsigned int green[256]; + unsigned int blue[256]; + unsigned int alpha[256]; +}; + +SADisplayDriver *caca_driver_new () +{ + SADisplayDriver *driver; + + driver = visual_mem_new0 (SADisplayDriver, 1); + + visual_object_initialize (VISUAL_OBJECT (driver), TRUE, NULL); + + driver->create = native_create; + driver->close = native_close; + driver->lock = native_lock; + driver->unlock = native_unlock; + driver->fullscreen = native_fullscreen; + driver->getvideo = native_getvideo; + driver->updaterect = native_updaterect; + driver->drainevents = native_drainevents; + + return driver; +} + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable) +{ + CacaNative *native = CACA_NATIVE (display->native); + unsigned int rmask; + unsigned int gmask; + unsigned int bmask; + unsigned int amask; + + if (native == NULL) { + native = visual_mem_new0 (CacaNative, 1); + + visual_object_initialize (VISUAL_OBJECT (native), TRUE, NULL); + } + + if (caca_initialized == FALSE) { + if (caca_init () < 0) + return -1; + + caca_set_window_title ("Libcaca libvisual display"); + } + + if (native->bitmap != NULL) + caca_free_bitmap (native->bitmap); + + + if (native->area != NULL) + visual_mem_free (native->area); + + switch (depth) { + case VISUAL_VIDEO_DEPTH_32BIT: + rmask = 0xff000000; + gmask = 0x00ff0000; + bmask = 0x0000ff00; + amask = 0x000000ff; + + break; + + case VISUAL_VIDEO_DEPTH_24BIT: + rmask = 0xff0000; + gmask = 0x00ff00; + bmask = 0x0000ff; + amask = 0x000000; + + break; + + case VISUAL_VIDEO_DEPTH_16BIT: + rmask = 0x7c00; + gmask = 0x03e0; + bmask = 0x001f; + amask = 0x0000; + + break; + + case VISUAL_VIDEO_DEPTH_8BIT: + rmask = gmask = bmask = amask = 0; + + break; + + default: + rmask = gmask = bmask = amask = 0; + + break; + } + + native->bitmap = caca_create_bitmap (visual_video_depth_value_from_enum (depth), + width, + height, + width * (visual_video_depth_value_from_enum (depth) / 8), + rmask, gmask, bmask, amask); + + native->area = visual_mem_malloc0 (width * height * (visual_video_depth_value_from_enum (depth) / 8)); + + native->width = width; + native->height = height; + native->depth = depth; + + display->native = VISUAL_OBJECT (native); + + caca_initialized = TRUE; + + return 0; +} + +static int native_close (SADisplay *display) +{ + caca_end (); + + return 0; +} + +static int native_lock (SADisplay *display) +{ + return 0; +} + +static int native_unlock (SADisplay *display) +{ + return 0; +} + +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale) +{ + return 0; +} + +static int native_getvideo (SADisplay *display, VisVideo *screen) +{ + CacaNative *native = CACA_NATIVE (display->native); + + visual_video_set_depth (screen, native->depth); + + visual_video_set_dimension (screen, native->width, native->height); + visual_video_set_buffer (screen, native->area); + + return 0; +} + +static int native_updaterect (SADisplay *display, VisRectangle *rect) +{ + CacaNative *native = CACA_NATIVE (display->native); + VisPalette *pal; + int i; + + pal = display->screen->pal; + + if (display->screen->depth == VISUAL_VIDEO_DEPTH_8BIT) { + for (i = 0; i < 256; i++) { + native->red[i] = pal->colors[i].r * 16; + native->green[i] = pal->colors[i].g * 16; + native->blue[i] = pal->colors[i].b * 16; + } + + caca_set_bitmap_palette (native->bitmap, + native->red, + native->green, + native->blue, + native->alpha); + } + + caca_draw_bitmap (0, 0, caca_get_width() - 1, caca_get_height() - 1, + native->bitmap, native->area); + + caca_refresh (); + + return 0; +} + +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue) +{ + CacaNative *native = CACA_NATIVE (display->native); + unsigned int event; + + while ((event = caca_get_event (CACA_EVENT_ANY)) > 0) { + + if (event & CACA_EVENT_KEY_PRESS) { + + visual_event_queue_add_keyboard (eventqueue, event & 0xff, 0, + VISUAL_KEY_DOWN); + + } else if (event & CACA_EVENT_KEY_RELEASE) { + + visual_event_queue_add_keyboard (eventqueue, event & 0xff, 0, + VISUAL_KEY_UP); + + } else if (event & CACA_EVENT_MOUSE_MOTION) { + + visual_event_queue_add_mousemotion (eventqueue, caca_get_mouse_x (), caca_get_mouse_y ()); + + } else if (event & CACA_EVENT_MOUSE_PRESS) { + + visual_event_queue_add_mousebutton (eventqueue, event & 0xff, VISUAL_MOUSE_DOWN, + caca_get_mouse_x (), caca_get_mouse_y ()); + + } else if (event & CACA_EVENT_MOUSE_RELEASE) { + + visual_event_queue_add_mousebutton (eventqueue, event & 0xff, VISUAL_MOUSE_UP, + caca_get_mouse_x (), caca_get_mouse_y ()); + } else if (event & CACA_EVENT_RESIZE) { + + + native_create (display, display->screen->depth, + NULL, + caca_get_window_width (), + caca_get_window_height (), + TRUE); + + visual_event_queue_add_resize (eventqueue, display->screen, + caca_get_window_width (), + caca_get_window_height ()); + + } + } + + return 0; +} + diff --git a/src/projectM-libvisual-alsa/cacadriver.h b/src/projectM-libvisual-alsa/cacadriver.h new file mode 100644 index 0000000000..808521dbb9 --- /dev/null +++ b/src/projectM-libvisual-alsa/cacadriver.h @@ -0,0 +1,9 @@ +#ifndef _LV_STANDALONE_CACADRIVER_H +#define _LV_STANDALONE_CACADRIVER_H + +#include "display.h" + +/* prototypes */ +SADisplayDriver *caca_driver_new (void); + +#endif /* _LV_STANDALONE_CACADRIVER_H */ diff --git a/src/projectM-libvisual-alsa/client.c b/src/projectM-libvisual-alsa/client.c new file mode 100644 index 0000000000..7354d4b1ee --- /dev/null +++ b/src/projectM-libvisual-alsa/client.c @@ -0,0 +1,173 @@ +/* When using the sdl driver and Xgl, sdl will show a nice empty window. Be sure to set the: + * XLIB_SKIP_ARGB_VISUALS environment variable to 1 + */ + +#include + +#include + +#include "display.h" +#include "sdldriver.h" +#include "x11driver.h" +#include "glxdriver.h" +#include "cacadriver.h" + +int main (int argc, char **argv) +{ + SADisplay *display; + VisVideo *video; + + VisInput *input; + VisActor *actor; + VisEventQueue *localqueue; + VisVideoAttributeOptions *vidoptions; + + int running = TRUE; + int fullscreen = FALSE; + int visible = TRUE; + + int depth; + + //visual_mem_alloc_install_vtable (visual_mem_alloc_vtable_profile ()); + + visual_init (&argc, &argv); + + display = display_new (sdl_driver_new ()); + + /* Libvisual stuff */ + if (argc > 1) + actor = visual_actor_new (argv[1]); + else + actor = visual_actor_new ("projectM"); + + + if (argc > 3) { + depth = visual_video_depth_enum_from_value (atoi (argv[3])); + } else + depth = visual_video_depth_get_highest (visual_actor_get_supported_depth (actor)); + + vidoptions = visual_actor_get_video_attribute_options (actor); + + display_create (display, depth, vidoptions, 480, 360, TRUE); + + visual_actor_realize (actor); + + video = display_get_video (display); + + visual_actor_set_video (actor, video); + visual_actor_video_negotiate (actor, 0, FALSE, FALSE); + + if (argc > 2) + input = visual_input_new (argv[2]); + else + input = visual_input_new ("alsa"); + + visual_input_realize (input); + + localqueue = visual_event_queue_new (); + + while (running) { + VisEventQueue *pluginqueue; + VisEvent *ev; + + /* Handle all events */ + display_drain_events (display, localqueue); + + pluginqueue = visual_plugin_get_eventqueue (visual_actor_get_plugin (actor)); + while (visual_event_queue_poll_by_reference (localqueue, &ev)) { + + if (ev->type != VISUAL_EVENT_RESIZE) + visual_event_queue_add (pluginqueue, ev); + + switch (ev->type) { + case VISUAL_EVENT_RESIZE: + video = display_get_video (display); + visual_actor_set_video (actor, video); + + visual_actor_video_negotiate (actor, depth, FALSE, FALSE); + break; + + case VISUAL_EVENT_MOUSEMOTION: + break; + + case VISUAL_EVENT_MOUSEBUTTONDOWN: + + break; + + case VISUAL_EVENT_MOUSEBUTTONUP: + break; + + case VISUAL_EVENT_KEYDOWN: + switch (ev->event.keyboard.keysym.sym) { + case VKEY_ESCAPE: + running = FALSE; + break; + + case VKEY_TAB: + fullscreen = !fullscreen; + + display_set_fullscreen (display, fullscreen, TRUE); + + /* Resync video */ + video = display_get_video (display); + visual_actor_set_video (actor, video); + + visual_actor_video_negotiate (actor, depth, FALSE, FALSE); + + break; + + default: + printf ("key: %c\n", ev->event.keyboard.keysym.sym); + break; + } + + break; + + case VISUAL_EVENT_KEYUP: + break; + + case VISUAL_EVENT_QUIT: + running = FALSE; + break; + + case VISUAL_EVENT_VISIBILITY: + visible = ev->event.visibility.is_visible; + break; + + default: + break; + } + } + + if (visible == FALSE) { + visual_input_run (input); + + visual_time_usleep (10000); + + continue; + } + + /* Do a run cycle */ + visual_input_run (input); + + display_lock (display); + visual_actor_run (actor, input->audio); + display_unlock (display); + + display_update_all (display); + + display_fps_limit (display, 30); + } + + /* Termination procedure */ + display_set_fullscreen (display, FALSE, TRUE); + display_close (display); + + visual_quit (); + + //visual_mem_alloc_profile (); + + printf ("Total frames: %d, average fps: %f\n", display_fps_total (display), display_fps_average (display)); + + return 0; +} diff --git a/src/projectM-libvisual-alsa/display.c b/src/projectM-libvisual-alsa/display.c new file mode 100644 index 0000000000..7a72432b5a --- /dev/null +++ b/src/projectM-libvisual-alsa/display.c @@ -0,0 +1,93 @@ +#include "display.h" + +SADisplay *display_new (SADisplayDriver *driver) +{ + SADisplay *display; + + display = visual_mem_new0 (SADisplay, 1); + + visual_object_initialize (VISUAL_OBJECT (display), TRUE, NULL); + + display->driver = driver; + display->screen = visual_video_new (); + + return display; +} + +int display_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable) +{ + return display->driver->create (display, depth, vidoptions, width, height, resizable); +} + +int display_close (SADisplay *display) +{ + return display->driver->close (display); +} + +VisVideo *display_get_video (SADisplay *display) +{ + display->driver->getvideo (display, display->screen); + + return display->screen; +} + +int display_lock (SADisplay *display) +{ + return display->driver->lock (display); +} + +int display_unlock (SADisplay *display) +{ + return display->driver->unlock (display); +} + +int display_update_all (SADisplay *display) +{ + VisRectangle rect; + VisVideo *video = display_get_video (display); + + rect.x = 0; + rect.y = 0; + + rect.width = video->width; + rect.height = video->height; + + display->frames_drawn++; + + if (visual_timer_is_active (&display->timer) == FALSE) + visual_timer_start (&display->timer); + + return display_update_rectangle (display, &rect); +} + +int display_update_rectangle (SADisplay *display, VisRectangle *rect) +{ + return display->driver->updaterect (display, rect); +} + +int display_set_fullscreen (SADisplay *display, int fullscreen, int autoscale) +{ + return display->driver->fullscreen (display, fullscreen, autoscale); +} + +int display_drain_events (SADisplay *display, VisEventQueue *eventqueue) +{ + return display->driver->drainevents (display, eventqueue); +} + +int display_fps_limit (SADisplay *display, int fps) +{ + return 0; +} + +int display_fps_total (SADisplay *display) +{ + return display->frames_drawn; +} + +float display_fps_average (SADisplay *display) +{ + return display->frames_drawn / (visual_timer_elapsed_usecs (&display->timer) / (float) VISUAL_USEC_PER_SEC); +} + diff --git a/src/projectM-libvisual-alsa/display.h b/src/projectM-libvisual-alsa/display.h new file mode 100644 index 0000000000..1b1b8e2474 --- /dev/null +++ b/src/projectM-libvisual-alsa/display.h @@ -0,0 +1,69 @@ +#ifndef _LV_STANDALONE_DISPLAY_H +#define _LV_STANDALONE_DISPLAY_H + +#include + +typedef struct _SADisplayDriver SADisplayDriver; +typedef struct _SADisplay SADisplay; + + +typedef int (*SADisplayDriverCreateFunc)(SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); +typedef int (*SADisplayDriverCloseFunc)(SADisplay *display); +typedef int (*SADisplayDriverLockFunc)(SADisplay *display); +typedef int (*SADisplayDriverUnlockFunc)(SADisplay *display); +typedef int (*SADisplayDriverFullScreenFunc)(SADisplay *display, int fullscreen, int autoscale); +typedef int (*SADisplayDriverGetVideoFunc)(SADisplay *display, VisVideo *video); +typedef int (*SADisplayDriverUpdateRectFunc)(SADisplay *display, VisRectangle *rect); +typedef int (*SADisplayDriverDrainEventsFunc)(SADisplay *display, VisEventQueue *eventqueue); + +struct _SADisplayDriver { + VisObject object; + + SADisplayDriverCreateFunc create; + SADisplayDriverCloseFunc close; + SADisplayDriverLockFunc lock; + SADisplayDriverUnlockFunc unlock; + SADisplayDriverFullScreenFunc fullscreen; + SADisplayDriverGetVideoFunc getvideo; + SADisplayDriverUpdateRectFunc updaterect; + SADisplayDriverDrainEventsFunc drainevents; +}; + +struct _SADisplay { + VisObject object; + + SADisplayDriver *driver; + VisVideo *screen; + + VisObject *native; + + int frames_drawn; + VisTimer timer; +}; + +/* prototypes */ +SADisplay *display_new (SADisplayDriver *driver); + +int display_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); + +int display_close (SADisplay *display); + +VisVideo *display_get_video (SADisplay *display); + +int display_lock (SADisplay *display); +int display_unlock (SADisplay *display); + +int display_update_all (SADisplay *display); +int display_update_rectangle (SADisplay *display, VisRectangle *rect); + +int display_set_fullscreen (SADisplay *display, int fullscreen, int autoscale); + +int display_drain_events (SADisplay *display, VisEventQueue *eventqueue); + +int display_fps_limit (SADisplay *display, int fps); +int display_fps_total (SADisplay *display); +float display_fps_average (SADisplay *display); + +#endif /* _LV_STANDALONE_DISPLAY_H */ diff --git a/src/projectM-libvisual-alsa/glxdriver.c b/src/projectM-libvisual-alsa/glxdriver.c new file mode 100644 index 0000000000..7badcd739f --- /dev/null +++ b/src/projectM-libvisual-alsa/glxdriver.c @@ -0,0 +1,471 @@ +#include +#include +#include + +#include +#include +#include +#include +#include + +//#include "lv_gl_sdl.h" +#include "glxdriver.h" + +#include "lv_x11_key.h" + + +#define GLX_NATIVE(obj) (VISUAL_CHECK_CAST ((obj), GLXNative)) + + +typedef struct _GLXNative GLXNative; + +static int __lv_glx_gl_attribute_map[] = { + [VISUAL_GL_ATTRIBUTE_NONE] = -1, + [VISUAL_GL_ATTRIBUTE_BUFFER_SIZE] = GLX_BUFFER_SIZE, + [VISUAL_GL_ATTRIBUTE_LEVEL] = GLX_LEVEL, + [VISUAL_GL_ATTRIBUTE_RGBA] = GLX_RGBA, + [VISUAL_GL_ATTRIBUTE_DOUBLEBUFFER] = GLX_DOUBLEBUFFER, + [VISUAL_GL_ATTRIBUTE_STEREO] = GLX_STEREO, + [VISUAL_GL_ATTRIBUTE_AUX_BUFFERS] = GLX_AUX_BUFFERS, + [VISUAL_GL_ATTRIBUTE_RED_SIZE] = GLX_RED_SIZE, + [VISUAL_GL_ATTRIBUTE_GREEN_SIZE] = GLX_GREEN_SIZE, + [VISUAL_GL_ATTRIBUTE_BLUE_SIZE] = GLX_BLUE_SIZE, + [VISUAL_GL_ATTRIBUTE_ALPHA_SIZE] = GLX_ALPHA_SIZE, + [VISUAL_GL_ATTRIBUTE_DEPTH_SIZE] = GLX_DEPTH_SIZE, + [VISUAL_GL_ATTRIBUTE_STENCIL_SIZE] = GLX_STENCIL_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_RED_SIZE] = GLX_ACCUM_RED_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_GREEN_SIZE] = GLX_ACCUM_GREEN_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_BLUE_SIZE] = GLX_ACCUM_BLUE_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_ALPHA_SIZE] = GLX_ACCUM_ALPHA_SIZE, + [VISUAL_GL_ATTRIBUTE_LAST] = -1 +}; + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); +static int native_close (SADisplay *display); +static int native_lock (SADisplay *display); +static int native_unlock (SADisplay *display); +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale); +static int native_getvideo (SADisplay *display, VisVideo *screen); +static int native_updaterect (SADisplay *display, VisRectangle *rect); +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue); + +static int get_nearest_resolution (SADisplay *display, int *width, int *height); + +static int X11_Pending(Display *display); + +static XVisualInfo *get_xvisualinfo_filter_capabilities (Display *dpy, int screen, VisVideoAttributeOptions *vidoptions); + + +struct _GLXNative { + VisObject object; + + Display *dpy; + Window win; + int screen; + GLXContext ctx; + XSetWindowAttributes attr; + Bool fs; + Bool doubleBuffered; + XF86VidModeModeInfo deskMode; + + VisVideoDepth requested_depth; + + LVX11Key key; + + unsigned int lastwidth; + unsigned int lastheight; + + unsigned int width; + unsigned int height; + int x; + int y; + + unsigned int depth; + + int oldx; + int oldy; + + int oldwidth; + int oldheight; + + int resizable; + + int active; + + VisVideo *video; + + /* Atoms */ + Atom WM_DELETE_WINDOW; +}; + +SADisplayDriver *glx_driver_new () +{ + SADisplayDriver *driver; + + driver = visual_mem_new0 (SADisplayDriver, 1); + + visual_object_initialize (VISUAL_OBJECT (driver), TRUE, NULL); + + driver->create = native_create; + driver->close = native_close; + driver->lock = native_lock; + driver->unlock = native_unlock; + driver->fullscreen = native_fullscreen; + driver->getvideo = native_getvideo; + driver->updaterect = native_updaterect; + driver->drainevents = native_drainevents; + + return driver; +} + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable) +{ + GLXNative *native = GLX_NATIVE (display->native); + XVisualInfo *vi; + Colormap cmap; + int dpyWidth, dpyHeight; + int i; + int glxMajorVersion, glxMinorVersion; + int vidModeMajorVersion, vidModeMinorVersion; + XF86VidModeModeInfo **modes; + int modeNum; + int bestMode; + Atom wmDelete; + Window winDummy; + unsigned int borderDummy; + + if (native != NULL) + visual_object_unref (VISUAL_OBJECT (native)); + + native = visual_mem_new0 (GLXNative, 1); + + visual_object_initialize (VISUAL_OBJECT (native), TRUE, NULL); + + lv_x11_key_init (&native->key); + + /* set best mode to current */ + bestMode = 0; + + /* get a connection */ + native->dpy = XOpenDisplay(0); + native->screen = DefaultScreen(native->dpy); + XF86VidModeQueryVersion(native->dpy, &vidModeMajorVersion, + &vidModeMinorVersion); + printf("XF86VidModeExtension-Version %d.%d\n", vidModeMajorVersion, + vidModeMinorVersion); + XF86VidModeGetAllModeLines(native->dpy, native->screen, &modeNum, &modes); + /* save desktop-resolution before switching modes */ + native->deskMode = *modes[0]; + /* look for mode with requested resolution */ + for (i = 0; i < modeNum; i++) + { + if ((modes[i]->hdisplay == width) && (modes[i]->vdisplay == height)) + { + bestMode = i; + } + } + + /* get an appropriate visual */ + vi = get_xvisualinfo_filter_capabilities (native->dpy, native->screen, vidoptions); + if (vi == NULL) { + printf ("No visual found.\n"); + visual_error_raise (); + } + + glXQueryVersion(native->dpy, &glxMajorVersion, &glxMinorVersion); + printf("glX-Version %d.%d\n", glxMajorVersion, glxMinorVersion); + + /* create a GLX context */ + native->ctx = glXCreateContext(native->dpy, vi, 0, GL_TRUE); + + /* create a color map */ + cmap = XCreateColormap(native->dpy, RootWindow(native->dpy, vi->screen), + vi->visual, AllocNone); + native->attr.colormap = cmap; + native->attr.border_pixel = 0; + + /* create a window in window mode*/ + native->attr.event_mask = KeyPressMask | ButtonPressMask | + StructureNotifyMask | VisibilityChangeMask | KeyReleaseMask | ButtonReleaseMask; + + native->win = XCreateWindow(native->dpy, RootWindow(native->dpy, vi->screen), + 0, 0, width, height, 0, vi->depth, InputOutput, vi->visual, + CWBorderPixel | CWColormap | CWEventMask, &native->attr); + + + XFree (vi); + /* only set window title and handle wm_delete_events if in windowed mode */ + wmDelete = XInternAtom(native->dpy, "WM_DELETE_WINDOW", True); + XSetWMProtocols(native->dpy, native->win, &wmDelete, 1); + XSetStandardProperties(native->dpy, native->win, "jahoor", + "jahoor", None, NULL, 0, NULL); + XMapRaised(native->dpy, native->win); + + /* connect the glx-context to the window */ + glXMakeCurrent(native->dpy, native->win, native->ctx); + XGetGeometry(native->dpy, native->win, &winDummy, &native->x, &native->y, + &native->width, &native->height, &borderDummy, &native->depth); + + printf("Depth %d\n", native->depth); + + if (glXIsDirect(native->dpy, native->ctx)) + printf("Congrats, you have Direct Rendering!\n"); + else + printf("Sorry, no Direct Rendering possible!\n"); + + native->WM_DELETE_WINDOW = XInternAtom(native->dpy, "WM_DELETE_WINDOW", False); + XSetWMProtocols(native->dpy, native->win, &native->WM_DELETE_WINDOW, 1); + + native->lastwidth = width; + native->lastheight = height; + + display->native = VISUAL_OBJECT (native); + + return 0; +} + +static int native_close (SADisplay *display) +{ + GLXNative *native = GLX_NATIVE (display->native); + + if (native->ctx) { + if (!glXMakeCurrent(native->dpy, None, NULL)) { + printf("Could not release drawing context.\n"); + } + + glXDestroyContext(native->dpy, native->ctx); + native->ctx = NULL; + } + /* switch back to original desktop resolution if we were in fs */ + if (native->fs) + { + XF86VidModeSwitchToMode(native->dpy, native->screen, &native->deskMode); + XF86VidModeSetViewPort(native->dpy, native->screen, 0, 0); + } + XCloseDisplay(native->dpy); + + return 0; +} + +static int native_lock (SADisplay *display) +{ + return 0; +} + +static int native_unlock (SADisplay *display) +{ + return 0; +} + +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale) +{ + GLXNative *native = GLX_NATIVE (display->native); +// Surface *screen = native->screen; +/* + if (fullscreen == TRUE) { + if (!(screen->flags & FULLSCREEN)) { + if (autoscale == TRUE) { + int width = display->screen->width; + int height = display->screen->height; + + native->oldwidth = width; + native->oldheight = height; + + get_nearest_resolution (display, &width, &height); + + native_create (display, native->requested_depth, NULL, width, height, native->resizable); + } + + ShowCursor (SDL_FALSE); + WM_ToggleFullScreen (screen); + } + } else { + if ((screen->flags & FULLSCREEN)) { + ShowCursor (SDL_TRUE); + WM_ToggleFullScreen (screen); + + if (autoscale == TRUE) + native_create (display, native->requested_depth, NULL, native->oldwidth, + native->oldheight, native->resizable); + } + } +*/ + return 0; +} + +static int native_getvideo (SADisplay *display, VisVideo *screen) +{ + GLXNative *native = GLX_NATIVE (display->native); + + visual_video_set_depth (screen, VISUAL_VIDEO_DEPTH_GL); + + visual_video_set_dimension (screen, native->width, native->height); + + native->video = screen; + + return 0; +} + +static int native_updaterect (SADisplay *display, VisRectangle *rect) +{ + GLXNative *native = GLX_NATIVE (display->native); + + glXSwapBuffers (native->dpy, native->win); + + return 0; +} + +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue) +{ + GLXNative *native = GLX_NATIVE (display->native); + XEvent xevent; + int sym; + int mod; + + while (X11_Pending (native->dpy) > 0) { + VisKeySym keysym; + + XNextEvent (native->dpy, &xevent); + + switch (xevent.type) { + case ConfigureNotify: + if ((xevent.xconfigure.width != native->lastwidth) || + (xevent.xconfigure.height != native->lastheight)) { + + native->width = xevent.xconfigure.width; + native->height = xevent.xconfigure.height; + + visual_event_queue_add_resize (eventqueue, native->video, + xevent.xconfigure.width, xevent.xconfigure.height); + } + + break; + + case ButtonPress: + visual_event_queue_add_mousebutton (eventqueue, xevent.xbutton.button, VISUAL_MOUSE_DOWN, + xevent.xbutton.x, xevent.xbutton.y); + + break; + + case ButtonRelease: + visual_event_queue_add_mousebutton (eventqueue, xevent.xbutton.button, VISUAL_MOUSE_UP, + xevent.xbutton.x, xevent.xbutton.y); + + break; + + case KeyPress: + lv_x11_key_lookup (&native->key, native->dpy, &xevent.xkey, xevent.xkey.keycode, &keysym, + TRUE); + + visual_event_queue_add_keyboard (eventqueue, keysym.sym, keysym.mod, + VISUAL_KEY_DOWN); + + break; + + case KeyRelease: + lv_x11_key_lookup (&native->key, native->dpy, &xevent.xkey, xevent.xkey.keycode, &keysym, + FALSE); + + visual_event_queue_add_keyboard (eventqueue, keysym.sym, keysym.mod, + VISUAL_KEY_UP); + + break; + + case ClientMessage: + if ((xevent.xclient.format == 32) && + (xevent.xclient.data.l[0] == native->WM_DELETE_WINDOW)) { + + visual_event_queue_add_quit (eventqueue, FALSE); + } + + break; + + case MotionNotify: + visual_event_queue_add_mousemotion (eventqueue, xevent.xmotion.x, xevent.xmotion.y); + + break; + + case VisibilityNotify: + if (xevent.xvisibility.state == VisibilityUnobscured || + xevent.xvisibility.state == VisibilityPartiallyObscured) { + visual_event_queue_add_visibility (eventqueue, TRUE); + } else if (xevent.xvisibility.state == VisibilityFullyObscured) { + visual_event_queue_add_visibility (eventqueue, FALSE); + } + + break; + } + } + + return 0; +} + +static int get_nearest_resolution (SADisplay *display, int *width, int *height) +{ + + return 0; +} + +/* Ack! XPending() actually performs a blocking read if no events available */ +/* Taken from SDL */ +static int X11_Pending(Display *display) +{ + /* Flush the display connection and look to see if events are queued */ + XFlush(display); + if ( XEventsQueued(display, QueuedAlready) ) { + return(1); + } + + /* More drastic measures are required -- see if X is ready to talk */ + { + static struct timeval zero_time; /* static == 0 */ + int x11_fd; + fd_set fdset; + + x11_fd = ConnectionNumber(display); + FD_ZERO(&fdset); + FD_SET(x11_fd, &fdset); + if ( select(x11_fd+1, &fdset, NULL, NULL, &zero_time) == 1 ) { + return(XPending(display)); + } + } + + /* Oh well, nothing is ready .. */ + return(0); +} + +static XVisualInfo *get_xvisualinfo_filter_capabilities (Display *dpy, int screen, VisVideoAttributeOptions *vidoptions) +{ + int attrList[64]; + int attrc = 0; + int i; + + if (vidoptions == NULL) + return NULL; + + /* FIXME filter for capabilities, like doublebuffer */ + for (i = VISUAL_GL_ATTRIBUTE_NONE; i < VISUAL_GL_ATTRIBUTE_LAST; i++) { + if (vidoptions->gl_attributes[i].mutated == TRUE) { + int glx_attribute = + __lv_glx_gl_attribute_map[ + vidoptions->gl_attributes[i].attribute]; + + if (glx_attribute < 0) + continue; + + attrList[attrc++] = glx_attribute; + + /* Check if it's a non boolean attribute */ + if (glx_attribute != GLX_RGBA && glx_attribute != GLX_DOUBLEBUFFER && glx_attribute != GLX_STEREO) { + attrList[attrc++] = vidoptions->gl_attributes[i].value; + } + } + } + + attrList[attrc++] = None; + + return glXChooseVisual (dpy, screen, attrList); +} + diff --git a/src/projectM-libvisual-alsa/glxdriver.h b/src/projectM-libvisual-alsa/glxdriver.h new file mode 100644 index 0000000000..b8d79c46a8 --- /dev/null +++ b/src/projectM-libvisual-alsa/glxdriver.h @@ -0,0 +1,9 @@ +#ifndef _LV_STANDALONE_GLXDRIVER_H +#define _LV_STANDALONE_GLXDRIVER_H + +#include "display.h" + +/* prototypes */ +SADisplayDriver *glx_driver_new (void); + +#endif /* _LV_STANDALONE_GLXDRIVER_H */ diff --git a/src/projectM-libvisual-alsa/lv_x11_key.c b/src/projectM-libvisual-alsa/lv_x11_key.c new file mode 100644 index 0000000000..19a6bdd9c7 --- /dev/null +++ b/src/projectM-libvisual-alsa/lv_x11_key.c @@ -0,0 +1,330 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2004 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#include +#include +#include +#include +#include +#include +#include +#ifdef __SVR4 +#include +#endif +#include +#include +#include + +#include "lv_x11_key.h" + +int lv_x11_key_init (LVX11Key *x11key) +{ + int i; + + /* Odd keys used in international keyboards */ + for ( i=0; iODD_keymap); ++i ) + x11key->ODD_keymap[i] = VKEY_UNKNOWN; + +#ifdef XK_dead_circumflex + /* These X keysyms have 0xFE as the high byte */ + x11key->ODD_keymap[XK_dead_circumflex&0xFF] = VKEY_CARET; +#endif +#ifdef XK_ISO_Level3_Shift + x11key->ODD_keymap[XK_ISO_Level3_Shift&0xFF] = VKEY_MODE; /* "Alt Gr" key */ +#endif + + /* Map the miscellaneous keys */ + for ( i=0; iMISC_keymap); ++i ) + x11key->MISC_keymap[i] = VKEY_UNKNOWN; + + /* These X keysyms have 0xFF as the high byte */ + x11key->MISC_keymap[XK_BackSpace&0xFF] = VKEY_BACKSPACE; + x11key->MISC_keymap[XK_Tab&0xFF] = VKEY_TAB; + x11key->MISC_keymap[XK_Clear&0xFF] = VKEY_CLEAR; + x11key->MISC_keymap[XK_Return&0xFF] = VKEY_RETURN; + x11key->MISC_keymap[XK_Pause&0xFF] = VKEY_PAUSE; + x11key->MISC_keymap[XK_Escape&0xFF] = VKEY_ESCAPE; + x11key->MISC_keymap[XK_Delete&0xFF] = VKEY_DELETE; + + x11key->MISC_keymap[XK_KP_0&0xFF] = VKEY_KP0; /* Keypad 0-9 */ + x11key->MISC_keymap[XK_KP_1&0xFF] = VKEY_KP1; + x11key->MISC_keymap[XK_KP_2&0xFF] = VKEY_KP2; + x11key->MISC_keymap[XK_KP_3&0xFF] = VKEY_KP3; + x11key->MISC_keymap[XK_KP_4&0xFF] = VKEY_KP4; + x11key->MISC_keymap[XK_KP_5&0xFF] = VKEY_KP5; + x11key->MISC_keymap[XK_KP_6&0xFF] = VKEY_KP6; + x11key->MISC_keymap[XK_KP_7&0xFF] = VKEY_KP7; + x11key->MISC_keymap[XK_KP_8&0xFF] = VKEY_KP8; + x11key->MISC_keymap[XK_KP_9&0xFF] = VKEY_KP9; + x11key->MISC_keymap[XK_KP_Insert&0xFF] = VKEY_KP0; + x11key->MISC_keymap[XK_KP_End&0xFF] = VKEY_KP1; + x11key->MISC_keymap[XK_KP_Down&0xFF] = VKEY_KP2; + x11key->MISC_keymap[XK_KP_Page_Down&0xFF] = VKEY_KP3; + x11key->MISC_keymap[XK_KP_Left&0xFF] = VKEY_KP4; + x11key->MISC_keymap[XK_KP_Begin&0xFF] = VKEY_KP5; + x11key->MISC_keymap[XK_KP_Right&0xFF] = VKEY_KP6; + x11key->MISC_keymap[XK_KP_Home&0xFF] = VKEY_KP7; + x11key->MISC_keymap[XK_KP_Up&0xFF] = VKEY_KP8; + x11key->MISC_keymap[XK_KP_Page_Up&0xFF] = VKEY_KP9; + x11key->MISC_keymap[XK_KP_Delete&0xFF] = VKEY_KP_PERIOD; + x11key->MISC_keymap[XK_KP_Decimal&0xFF] = VKEY_KP_PERIOD; + x11key->MISC_keymap[XK_KP_Divide&0xFF] = VKEY_KP_DIVIDE; + x11key->MISC_keymap[XK_KP_Multiply&0xFF] = VKEY_KP_MULTIPLY; + x11key->MISC_keymap[XK_KP_Subtract&0xFF] = VKEY_KP_MINUS; + x11key->MISC_keymap[XK_KP_Add&0xFF] = VKEY_KP_PLUS; + x11key->MISC_keymap[XK_KP_Enter&0xFF] = VKEY_KP_ENTER; + x11key->MISC_keymap[XK_KP_Equal&0xFF] = VKEY_KP_EQUALS; + + x11key->MISC_keymap[XK_Up&0xFF] = VKEY_UP; + x11key->MISC_keymap[XK_Down&0xFF] = VKEY_DOWN; + x11key->MISC_keymap[XK_Right&0xFF] = VKEY_RIGHT; + x11key->MISC_keymap[XK_Left&0xFF] = VKEY_LEFT; + x11key->MISC_keymap[XK_Insert&0xFF] = VKEY_INSERT; + x11key->MISC_keymap[XK_Home&0xFF] = VKEY_HOME; + x11key->MISC_keymap[XK_End&0xFF] = VKEY_END; + x11key->MISC_keymap[XK_Page_Up&0xFF] = VKEY_PAGEUP; + x11key->MISC_keymap[XK_Page_Down&0xFF] = VKEY_PAGEDOWN; + + x11key->MISC_keymap[XK_F1&0xFF] = VKEY_F1; + x11key->MISC_keymap[XK_F2&0xFF] = VKEY_F2; + x11key->MISC_keymap[XK_F3&0xFF] = VKEY_F3; + x11key->MISC_keymap[XK_F4&0xFF] = VKEY_F4; + x11key->MISC_keymap[XK_F5&0xFF] = VKEY_F5; + x11key->MISC_keymap[XK_F6&0xFF] = VKEY_F6; + x11key->MISC_keymap[XK_F7&0xFF] = VKEY_F7; + x11key->MISC_keymap[XK_F8&0xFF] = VKEY_F8; + x11key->MISC_keymap[XK_F9&0xFF] = VKEY_F9; + x11key->MISC_keymap[XK_F10&0xFF] = VKEY_F10; + x11key->MISC_keymap[XK_F11&0xFF] = VKEY_F11; + x11key->MISC_keymap[XK_F12&0xFF] = VKEY_F12; + x11key->MISC_keymap[XK_F13&0xFF] = VKEY_F13; + x11key->MISC_keymap[XK_F14&0xFF] = VKEY_F14; + x11key->MISC_keymap[XK_F15&0xFF] = VKEY_F15; + + x11key->MISC_keymap[XK_Num_Lock&0xFF] = VKEY_NUMLOCK; + x11key->MISC_keymap[XK_Caps_Lock&0xFF] = VKEY_CAPSLOCK; + x11key->MISC_keymap[XK_Scroll_Lock&0xFF] = VKEY_SCROLLOCK; + x11key->MISC_keymap[XK_Shift_R&0xFF] = VKEY_RSHIFT; + x11key->MISC_keymap[XK_Shift_L&0xFF] = VKEY_LSHIFT; + x11key->MISC_keymap[XK_Control_R&0xFF] = VKEY_RCTRL; + x11key->MISC_keymap[XK_Control_L&0xFF] = VKEY_LCTRL; + x11key->MISC_keymap[XK_Alt_R&0xFF] = VKEY_RALT; + x11key->MISC_keymap[XK_Alt_L&0xFF] = VKEY_LALT; + x11key->MISC_keymap[XK_Meta_R&0xFF] = VKEY_RMETA; + x11key->MISC_keymap[XK_Meta_L&0xFF] = VKEY_LMETA; + x11key->MISC_keymap[XK_Super_L&0xFF] = VKEY_LSUPER; /* Left "Windows" */ + x11key->MISC_keymap[XK_Super_R&0xFF] = VKEY_RSUPER; /* Right "Windows */ + x11key->MISC_keymap[XK_Mode_switch&0xFF] = VKEY_MODE; /* "Alt Gr" key */ + x11key->MISC_keymap[XK_Multi_key&0xFF] = VKEY_COMPOSE; /* Multi-key compose */ + + x11key->MISC_keymap[XK_Help&0xFF] = VKEY_HELP; + x11key->MISC_keymap[XK_Print&0xFF] = VKEY_PRINT; + x11key->MISC_keymap[XK_Sys_Req&0xFF] = VKEY_SYSREQ; + x11key->MISC_keymap[XK_Break&0xFF] = VKEY_BREAK; + x11key->MISC_keymap[XK_Menu&0xFF] = VKEY_MENU; + x11key->MISC_keymap[XK_Hyper_R&0xFF] = VKEY_MENU; /* Windows "Menu" key */ + + return 0; +} + +VisKeySym *lv_x11_key_lookup (LVX11Key *x11key, Display *display, XKeyEvent *xkey, KeyCode kc, VisKeySym *keysym, + int pressed) +{ + KeySym xsym; + + /* Get the raw keyboard scancode */ +// keysym->scancode = kc; + xsym = XKeycodeToKeysym(display, kc, 0); +#ifdef DEBUG_KEYS + fprintf(stderr, "Translating key 0x%.4x (%d)\n", xsym, kc); +#endif + /* Get the translated SDL virtual keysym */ + keysym->sym = VKEY_UNKNOWN; + if ( xsym ) { + switch (xsym>>8) { + case 0x1005FF: +#ifdef SunXK_F36 + if ( xsym == SunXK_F36 ) + keysym->sym = VKEY_F11; +#endif +#ifdef SunXK_F37 + if ( xsym == SunXK_F37 ) + keysym->sym = VKEY_F12; +#endif + break; + case 0x00: /* Latin 1 */ + case 0x01: /* Latin 2 */ + case 0x02: /* Latin 3 */ + case 0x03: /* Latin 4 */ + case 0x04: /* Katakana */ + case 0x05: /* Arabic */ + case 0x06: /* Cyrillic */ + case 0x07: /* Greek */ + case 0x08: /* Technical */ + case 0x0A: /* Publishing */ + case 0x0C: /* Hebrew */ + case 0x0D: /* Thai */ + keysym->sym = (VisKey)(xsym&0xFF); + /* Map capital letter syms to lowercase */ + if ((keysym->sym >= 'A')&&(keysym->sym <= 'Z')) + keysym->sym += ('a'-'A'); + break; + case 0xFE: + keysym->sym = x11key->ODD_keymap[xsym&0xFF]; + break; + case 0xFF: + keysym->sym = x11key->MISC_keymap[xsym&0xFF]; + break; + default: + fprintf(stderr, + "X11: Unknown xsym, sym = 0x%04x\n", + (unsigned int)xsym); + break; + } + } else { + /* X11 doesn't know how to translate the key! */ + switch (kc) { + /* Caution: + These keycodes are from the Microsoft Keyboard + */ + case 115: + keysym->sym = VKEY_LSUPER; + break; + case 116: + keysym->sym = VKEY_RSUPER; + break; + case 117: + keysym->sym = VKEY_MENU; + break; + default: + /* + * no point in an error message; happens for + * several keys when we get a keymap notify + */ + break; + } + } + keysym->mod = VKMOD_NONE; + + if (keysym->sym == VKEY_LSHIFT) + x11key->lshift = pressed; + else if (keysym->sym == VKEY_RSHIFT) + x11key->rshift = pressed; + + else if (keysym->sym == VKEY_LCTRL) + x11key->lctrl = pressed; + else if (keysym->sym == VKEY_RCTRL) + x11key->rctrl = pressed; + + else if (keysym->sym == VKEY_LALT) + x11key->lalt = pressed; + else if (keysym->sym == VKEY_RALT) + x11key->ralt = pressed; + + else if (keysym->sym == VKEY_NUMLOCK) + x11key->num = pressed; + else if (keysym->sym == VKEY_CAPSLOCK) + x11key->caps = pressed; + + keysym->mod |= x11key->lshift ? VKMOD_LSHIFT : VKMOD_NONE; + keysym->mod |= x11key->rshift ? VKMOD_RSHIFT : VKMOD_NONE; + keysym->mod |= x11key->lctrl ? VKMOD_LCTRL : VKMOD_NONE; + keysym->mod |= x11key->rctrl ? VKMOD_RCTRL : VKMOD_NONE; + keysym->mod |= x11key->lalt ? VKMOD_LALT : VKMOD_NONE; + keysym->mod |= x11key->ralt ? VKMOD_RALT : VKMOD_NONE; + keysym->mod |= x11key->num ? VKMOD_NUM : VKMOD_NONE; + keysym->mod |= x11key->caps ? VKMOD_CAPS : VKMOD_NONE; + + /* If UNICODE is on, get the UNICODE value for the key */ +#if 0 + keysym->unicode = 0; + if ( SDL_TranslateUNICODE && xkey ) { + static XComposeStatus state; + /* Until we handle the IM protocol, use XLookupString() */ + unsigned char keybuf[32]; + +#define BROKEN_XFREE86_INTERNATIONAL_KBD +/* This appears to be a magical flag that is used with AltGr on + international keyboards to signal alternate key translations. + The flag doesn't show up when in fullscreen mode (?) + FIXME: Check to see if this code is safe for other servers. +*/ +#ifdef BROKEN_XFREE86_INTERNATIONAL_KBD + /* Work around what appears to be a bug in XFree86 */ + if ( SDL_GetModState() & VKMOD_MODE ) { + xkey->state |= (1<<13); + } +#endif + /* Look up the translated value for the key event */ + if ( XLookupString(xkey, (char *)keybuf, sizeof(keybuf), + NULL, &state) ) { + /* + * FIXME,: XLookupString() may yield more than one + * character, so we need a mechanism to allow for + * this (perhaps generate null keypress events with + * a unicode value) + */ + keysym->unicode = keybuf[0]; + } + } +#endif + return(keysym); +} +#if 0 +static void get_modifier_masks(Display *display) +{ + static unsigned got_masks; + int i, j; + XModifierKeymap *xmods; + unsigned n; + + if(got_masks) + return; + + xmods = XGetModifierMapping(display); + n = xmods->max_keypermod; + for(i = 3; i < 8; i++) { + for(j = 0; j < n; j++) { + KeyCode kc = xmods->modifiermap[i * n + j]; + KeySym ks = XKeycodeToKeysym(display, kc, 0); + unsigned mask = 1 << i; + switch(ks) { + case XK_Num_Lock: + num_mask = mask; break; + case XK_Alt_L: + alt_l_mask = mask; break; + case XK_Alt_R: + alt_r_mask = mask; break; + case XK_Meta_L: + meta_l_mask = mask; break; + case XK_Meta_R: + meta_r_mask = mask; break; + case XK_Mode_switch: + mode_switch_mask = mask; break; + } + } + } + XFreeModifiermap(xmods); + got_masks = 1; +} + +#endif diff --git a/src/projectM-libvisual-alsa/lv_x11_key.h b/src/projectM-libvisual-alsa/lv_x11_key.h new file mode 100644 index 0000000000..904e6e48fa --- /dev/null +++ b/src/projectM-libvisual-alsa/lv_x11_key.h @@ -0,0 +1,56 @@ +/* Libvisual - The audio visualisation framework. + * + * Copyright (C) 2004, 2005, 2006 Dennis Smit + * + * Authors: Dennis Smit + * + * $Id: lv_x11_key.h,v 1.2 2006/03/22 18:24:09 synap Exp $ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _LV_X11_KEY_H +#define _LV_X11_KEY_H + +#include + +VISUAL_BEGIN_DECLS + +typedef struct _LVX11Key LVX11Key; + +struct _LVX11Key { + VisKey ODD_keymap[256]; + VisKey MISC_keymap[256]; + + XComposeStatus compose_state; + + int lshift; + int rshift; + int lctrl; + int rctrl; + int lalt; + int ralt; + int num; + int caps; +}; + +int lv_x11_key_init (LVX11Key *x11key); + +VisKeySym *lv_x11_key_lookup (LVX11Key *x11key, Display *display, XKeyEvent *xkey, KeyCode kc, VisKeySym *keysym, + int pressed); + +VISUAL_END_DECLS + +#endif /* _LV_X11_KEY_H */ diff --git a/src/projectM-libvisual-alsa/morphclient.c b/src/projectM-libvisual-alsa/morphclient.c new file mode 100644 index 0000000000..52badf9101 --- /dev/null +++ b/src/projectM-libvisual-alsa/morphclient.c @@ -0,0 +1,181 @@ + + +#include + +#include + +#include "display.h" +#include "sdldriver.h" + + +int main (int argc, char **argv) +{ +SADisplay *display; +VisVideo *video; + +VisBin *bin; + +VisEventQueue *localqueue; +VisVideoAttributeOptions *vidoptions; + +//char *actorn = "gforce"; +/* Setting projectm to default visualization +* Make sure you have it correctly installed ... */ +char *actorn = "projectm"; +char *inputn = "alsa"; + +int running = TRUE; +int fullscreen = FALSE; +int visible = TRUE; + +int depth; + +visual_init (&argc, &argv); + +display = display_new (sdl_driver_new ()); + +/* Libvisual stuff */ +if (argc > 1) +actorn = argv[1]; + +if (argc > 2) +inputn = argv[2]; + +bin = visual_bin_new (); +visual_bin_set_supported_depth (bin, VISUAL_VIDEO_DEPTH_ALL); + +visual_bin_connect_by_names (bin, actorn, inputn); + +vidoptions = visual_actor_get_video_attribute_options (visual_bin_get_actor (bin)); + +depth = visual_video_depth_get_highest (visual_actor_get_supported_depth (visual_bin_get_actor (bin))); + +display_create (display, depth, vidoptions, 1024, 768, TRUE); + +video = display_get_video (display); +visual_bin_set_video (bin, video); + +visual_bin_depth_changed (bin); + +visual_bin_switch_set_style (bin, VISUAL_SWITCH_STYLE_MORPH); +visual_bin_switch_set_automatic (bin, TRUE); +visual_bin_switch_set_mode (bin, VISUAL_MORPH_MODE_TIME); +visual_bin_switch_set_time (bin, 4, 0); + +visual_bin_realize (bin); + +visual_bin_sync (bin, FALSE); + + +localqueue = visual_event_queue_new (); +/* RUNNING IN FULLSCREEN BY DEFAULT */ +display_set_fullscreen (display, fullscreen, FALSE); + +while (running) { +VisEventQueue *pluginqueue; +VisEvent *ev; + +/* Handle all events */ +display_drain_events (display, localqueue); + +pluginqueue = visual_plugin_get_eventqueue (visual_actor_get_plugin (visual_bin_get_actor (bin))); +while (visual_event_queue_poll_by_reference (localqueue, &ev)) { + +if (ev->type != VISUAL_EVENT_RESIZE) +visual_event_queue_add (pluginqueue, ev); + +switch (ev->type) { +case VISUAL_EVENT_RESIZE: +video = display_get_video (display); +visual_bin_set_video (bin, video); + +visual_bin_sync (bin, FALSE); +break; + +case VISUAL_EVENT_MOUSEMOTION: +break; + +case VISUAL_EVENT_MOUSEBUTTONDOWN: +case VISUAL_EVENT_MOUSEBUTTONUP: +break; + +case VISUAL_EVENT_KEYDOWN: +switch (ev->event.keyboard.keysym.sym) { +case VKEY_ESCAPE: +running = FALSE; +break; +case VKEY_TAB: +fullscreen = !fullscreen; + +display_set_fullscreen (display, fullscreen, TRUE); + +/* Resync video */ +video = display_get_video (display); +visual_bin_set_video (bin, video); + +visual_bin_sync (bin, FALSE); + +break; + +case VKEY_PAGEUP: +visual_bin_set_morph_by_name (bin, "tentacle"); + +visual_bin_switch_actor_by_name (bin, "oinksie"); + +break; + +case VKEY_PAGEDOWN: + +break; + +default: +break; +} + +break; + +case VISUAL_EVENT_KEYUP: +break; + +case VISUAL_EVENT_QUIT: +running = FALSE; +break; + +case VISUAL_EVENT_VISIBILITY: +visible = ev->event.visibility.is_visible; +break; + +default: +break; +} if (visual_bin_depth_changed (bin) == TRUE) { +vidoptions = visual_actor_get_video_attribute_options (visual_bin_get_actor (bin)); +depth = visual_bin_get_depth (bin); + +display_create (display, depth, vidoptions, video->width, video->height, TRUE); + +video = display_get_video (display); + +visual_bin_set_video (bin, video); + +visual_bin_sync (bin, TRUE); +} + +/* Do a run cycle */ +display_lock (display); +display_unlock (display); + +visual_bin_run (bin); + +display_update_all (display); + +display_fps_limit (display, 30); +} + +/* Termination procedure */ +display_set_fullscreen (display, FALSE, TRUE); + +printf ("Total frames: %d, average fps: %f\n", display_fps_total (display), display_fps_average (display)); + +return 0; +} +} \ No newline at end of file diff --git a/src/projectM-libvisual-alsa/projectM-libvisual-alsa.c b/src/projectM-libvisual-alsa/projectM-libvisual-alsa.c new file mode 100644 index 0000000000..97495e9552 --- /dev/null +++ b/src/projectM-libvisual-alsa/projectM-libvisual-alsa.c @@ -0,0 +1,174 @@ +/* When using the sdl driver and Xgl, sdl will show a nice empty window. Be sure to set the: + * XLIB_SKIP_ARGB_VISUALS environment variable to 1 + */ + +#include + +#include + + +#include "display.h" +#include "sdldriver.h" +#include "x11driver.h" +#include "glxdriver.h" + + +int main (int argc, char **argv) +{ + SADisplay *display; + VisVideo *video; + + VisInput *input; + VisActor *actor; + VisEventQueue *localqueue; + VisVideoAttributeOptions *vidoptions; + + int running = TRUE; + int fullscreen = FALSE; + int visible = TRUE; + + VisVideoDepth depth; + + //visual_mem_alloc_install_vtable (visual_mem_alloc_vtable_profile ()); + + visual_init (&argc, &argv); + + display = display_new (sdl_driver_new ()); + + /* Libvisual stuff */ + if (argc > 1) + actor = visual_actor_new (argv[1]); + else + actor = visual_actor_new ("projectM"); + + + if (argc > 3) { + depth = visual_video_depth_enum_from_value (atoi (argv[3])); + } else + depth = visual_video_depth_get_highest (visual_actor_get_supported_depth (actor)); + + vidoptions = visual_actor_get_video_attribute_options (actor); + + display_create (display, depth, vidoptions, 480, 360, TRUE); + + visual_actor_realize (actor); + + video = display_get_video (display); + + visual_actor_set_video (actor, video); + visual_actor_video_negotiate (actor, 0, FALSE, FALSE); + + if (argc > 2) + input = visual_input_new (argv[2]); + else + input = visual_input_new ("alsa"); + + visual_input_realize (input); + + localqueue = visual_event_queue_new (); + + while (running) { + VisEventQueue *pluginqueue; + VisEvent *ev; + + /* Handle all events */ + display_drain_events (display, localqueue); + + pluginqueue = visual_plugin_get_eventqueue (visual_actor_get_plugin (actor)); + while (visual_event_queue_poll_by_reference (localqueue, &ev)) { + + if (ev->type != VISUAL_EVENT_RESIZE) + visual_event_queue_add (pluginqueue, ev); + + switch (ev->type) { + case VISUAL_EVENT_RESIZE: + video = display_get_video (display); + visual_actor_set_video (actor, video); + + visual_actor_video_negotiate (actor, depth, FALSE, FALSE); + break; + + case VISUAL_EVENT_MOUSEMOTION: + break; + + case VISUAL_EVENT_MOUSEBUTTONDOWN: + + break; + + case VISUAL_EVENT_MOUSEBUTTONUP: + break; + + case VISUAL_EVENT_KEYDOWN: + switch (ev->event.keyboard.keysym.sym) { + case VKEY_ESCAPE: + running = FALSE; + break; + + case VKEY_TAB: + fullscreen = !fullscreen; + + display_set_fullscreen (display, fullscreen, TRUE); + + /* Resync video */ + video = display_get_video (display); + visual_actor_set_video (actor, video); + + visual_actor_video_negotiate (actor, depth, FALSE, FALSE); + + break; + + default: + printf ("key: %c\n", ev->event.keyboard.keysym.sym); + break; + } + + break; + + case VISUAL_EVENT_KEYUP: + break; + + case VISUAL_EVENT_QUIT: + running = FALSE; + break; + + case VISUAL_EVENT_VISIBILITY: + visible = ev->event.visibility.is_visible; + break; + + default: + break; + } + } + + if (visible == FALSE) { + visual_input_run (input); + + visual_time_usleep (10000); + + continue; + } + + /* Do a run cycle */ + visual_input_run (input); + + display_lock (display); + visual_actor_run (actor, input->audio); + display_unlock (display); + + display_update_all (display); + + display_fps_limit (display, 30); + } + + /* Termination procedure */ + display_set_fullscreen (display, FALSE, TRUE); + display_close (display); + + visual_quit (); + + //visual_mem_alloc_profile (); + + printf ("Total frames: %d, average fps: %f\n", display_fps_total (display), display_fps_average (display)); + + return 0; +} diff --git a/src/projectM-libvisual-alsa/projectM-libvisual-alsa.desktop b/src/projectM-libvisual-alsa/projectM-libvisual-alsa.desktop new file mode 100644 index 0000000000..665df21617 --- /dev/null +++ b/src/projectM-libvisual-alsa/projectM-libvisual-alsa.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=projectM-libvisual-alsa +Comment=A milkdrop based music visualizer using alsa input and libvisual +Exec=projectM-libvisual-alsa +Icon=projectM +Type=Application +Categories=Application;AudioVideo;Audio; + diff --git a/src/projectM-libvisual-alsa/rebuild b/src/projectM-libvisual-alsa/rebuild new file mode 100755 index 0000000000..72c5ca438e --- /dev/null +++ b/src/projectM-libvisual-alsa/rebuild @@ -0,0 +1,13 @@ +#!/bin/sh + +gcc -Wall -o lv-standalone client.c display.c glxdriver.c x11driver.c sdldriver.c lv_x11_key.c \ + -L/usr/X11R6/lib -lGL -lGLU -lXxf86vm \ + `pkg-config --cflags --libs libvisual-0.4` \ + `sdl-config --libs --cflags` \ + `caca-config --libs --cflags` \ + -ggdb + +gcc -Wall -o lv-morph morphclient.c display.c sdldriver.c \ + `pkg-config --cflags --libs libvisual-0.4` \ + `sdl-config --libs --cflags` \ + -ggdb diff --git a/src/projectM-libvisual-alsa/sdldriver.c b/src/projectM-libvisual-alsa/sdldriver.c new file mode 100644 index 0000000000..2f1648203c --- /dev/null +++ b/src/projectM-libvisual-alsa/sdldriver.c @@ -0,0 +1,376 @@ +#include + +#include +#include +#include + +#include "sdldriver.h" + +#define SDL_NATIVE(obj) (VISUAL_CHECK_CAST ((obj), SDLNative)) + + +typedef struct _SDLNative SDLNative; + +static SDL_GLattr __lv_sdl_gl_attribute_map[] = { + [VISUAL_GL_ATTRIBUTE_NONE] = -1, + [VISUAL_GL_ATTRIBUTE_BUFFER_SIZE] = SDL_GL_BUFFER_SIZE, + [VISUAL_GL_ATTRIBUTE_LEVEL] = -1, + [VISUAL_GL_ATTRIBUTE_RGBA] = -1, + [VISUAL_GL_ATTRIBUTE_DOUBLEBUFFER] = SDL_GL_DOUBLEBUFFER, + [VISUAL_GL_ATTRIBUTE_STEREO] = SDL_GL_STEREO, + [VISUAL_GL_ATTRIBUTE_AUX_BUFFERS] = -1, + [VISUAL_GL_ATTRIBUTE_RED_SIZE] = SDL_GL_RED_SIZE, + [VISUAL_GL_ATTRIBUTE_GREEN_SIZE] = SDL_GL_GREEN_SIZE, + [VISUAL_GL_ATTRIBUTE_BLUE_SIZE] = SDL_GL_BLUE_SIZE, + [VISUAL_GL_ATTRIBUTE_ALPHA_SIZE] = SDL_GL_ALPHA_SIZE, + [VISUAL_GL_ATTRIBUTE_DEPTH_SIZE] = SDL_GL_DEPTH_SIZE, + [VISUAL_GL_ATTRIBUTE_STENCIL_SIZE] = SDL_GL_STENCIL_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_RED_SIZE] = SDL_GL_ACCUM_RED_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_GREEN_SIZE] = SDL_GL_ACCUM_GREEN_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_BLUE_SIZE] = SDL_GL_ACCUM_BLUE_SIZE, + [VISUAL_GL_ATTRIBUTE_ACCUM_ALPHA_SIZE] = SDL_GL_ACCUM_ALPHA_SIZE, + [VISUAL_GL_ATTRIBUTE_LAST] = -1 +}; + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); +static int native_close (SADisplay *display); +static int native_lock (SADisplay *display); +static int native_unlock (SADisplay *display); +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale); +static int native_getvideo (SADisplay *display, VisVideo *screen); +static int native_updaterect (SADisplay *display, VisRectangle *rect); +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue); + +static int get_nearest_resolution (SADisplay *display, int *width, int *height); + + +static int sdl_initialized; + +struct _SDLNative { + VisObject object; + + SDL_Surface *screen; + + VisVideoDepth requested_depth; + + int oldx; + int oldy; + + int oldwidth; + int oldheight; + + int resizable; + + int active; +}; + +SADisplayDriver *sdl_driver_new () +{ + SADisplayDriver *driver; + + driver = visual_mem_new0 (SADisplayDriver, 1); + + visual_object_initialize (VISUAL_OBJECT (driver), TRUE, NULL); + + driver->create = native_create; + driver->close = native_close; + driver->lock = native_lock; + driver->unlock = native_unlock; + driver->fullscreen = native_fullscreen; + driver->getvideo = native_getvideo; + driver->updaterect = native_updaterect; + driver->drainevents = native_drainevents; + + return driver; +} + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable) +{ + SDLNative *native = SDL_NATIVE (display->native); + const SDL_VideoInfo *videoinfo; + int videoflags = 0; + int bpp; + int i; + + if (native == NULL) { + native = visual_mem_new0 (SDLNative, 1); + + visual_object_initialize (VISUAL_OBJECT (native), TRUE, NULL); + } + + if (native->screen != NULL) { + SDL_FreeSurface (native->screen); + } + + videoflags |= resizable ? SDL_RESIZABLE : 0; + + if (sdl_initialized == FALSE) { + if (SDL_Init (SDL_INIT_VIDEO) < 0) { + fprintf (stderr, "Unable to init SDL VIDEO: %s\n", SDL_GetError ()); + + exit (0); + } + + sdl_initialized = TRUE; + } + + native->resizable = resizable; + native->requested_depth = depth; + + if (depth == VISUAL_VIDEO_DEPTH_GL) { + videoinfo = SDL_GetVideoInfo (); + + if (!videoinfo) { + return -1; + } + + videoflags |= SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE; + + if (videoinfo->hw_available) + videoflags |= SDL_HWSURFACE; + else + videoflags |= SDL_SWSURFACE; + + if (videoinfo->blit_hw) + videoflags |= SDL_HWACCEL; + + if (vidoptions != NULL) { + for (i = VISUAL_GL_ATTRIBUTE_NONE; i < VISUAL_GL_ATTRIBUTE_LAST; i++) { + if (vidoptions->gl_attributes[i].mutated == TRUE) { + SDL_GLattr sdl_attribute = + __lv_sdl_gl_attribute_map[ + vidoptions->gl_attributes[i].attribute]; + + if (sdl_attribute < 0) + continue; + + SDL_GL_SetAttribute (sdl_attribute, vidoptions->gl_attributes[i].value); + } + } + } + + bpp = videoinfo->vfmt->BitsPerPixel; + native->screen = SDL_SetVideoMode (width, height, bpp, videoflags); + + } else { + native->screen = SDL_SetVideoMode (width, height, + visual_video_depth_value_from_enum (depth), + videoflags); + } + + SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + + display->native = VISUAL_OBJECT (native); + + return 0; +} + +static int native_close (SADisplay *display) +{ + return 0; +} + +static int native_lock (SADisplay *display) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Surface *screen = native->screen; + + if (SDL_MUSTLOCK (screen) == SDL_TRUE) + SDL_LockSurface (screen); + + return 0; +} + +static int native_unlock (SADisplay *display) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Surface *screen = native->screen; + + if (SDL_MUSTLOCK (screen) == SDL_TRUE) + SDL_UnlockSurface (screen); + + return 0; +} + +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Surface *screen = native->screen; + + if (fullscreen == TRUE) { + if (!(screen->flags & SDL_FULLSCREEN)) { + if (autoscale == TRUE) { + int width = display->screen->width; + int height = display->screen->height; + + native->oldwidth = width; + native->oldheight = height; + + get_nearest_resolution (display, &width, &height); + + native_create (display, native->requested_depth, NULL, width, height, native->resizable); + } + + SDL_ShowCursor (SDL_FALSE); + SDL_WM_ToggleFullScreen (screen); + } + } else { + if ((screen->flags & SDL_FULLSCREEN)) { + SDL_ShowCursor (SDL_TRUE); + SDL_WM_ToggleFullScreen (screen); + + if (autoscale == TRUE) + native_create (display, native->requested_depth, NULL, native->oldwidth, + native->oldheight, native->resizable); + } + } + + return 0; +} + +static int native_getvideo (SADisplay *display, VisVideo *screen) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Surface *sdlscreen = native->screen; + + if (native->requested_depth == VISUAL_VIDEO_DEPTH_GL) + visual_video_set_depth (screen, VISUAL_VIDEO_DEPTH_GL); + else + visual_video_set_depth (screen, visual_video_depth_enum_from_value (sdlscreen->format->BitsPerPixel)); + + visual_video_set_dimension (screen, sdlscreen->w, sdlscreen->h); + visual_video_set_pitch (screen, sdlscreen->pitch); + visual_video_set_buffer (screen, sdlscreen->pixels); + + return 0; +} + +static int native_updaterect (SADisplay *display, VisRectangle *rect) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Surface *sdlscreen = native->screen; + + if (sdlscreen->format->BitsPerPixel == 8) { + SDL_Color colors[256]; + VisPalette *pal = display->screen->pal; + + visual_mem_set (colors, 0, sizeof (colors)); + + if (pal != NULL && pal->ncolors <= 256) { + int i; + + for (i = 0; i < pal->ncolors; i++) { + colors[i].r = pal->colors[i].r; + colors[i].g = pal->colors[i].g; + colors[i].b = pal->colors[i].b; + } + + SDL_SetColors (sdlscreen, colors, 0, 256); + } + } + + if (native->requested_depth == VISUAL_VIDEO_DEPTH_GL) + SDL_GL_SwapBuffers (); + else + SDL_UpdateRect (sdlscreen, rect->x, rect->y, rect->width, rect->height); + + return 0; +} + +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue) +{ + SDLNative *native = SDL_NATIVE (display->native); + SDL_Event event; + + /* Visible or not */ + if (((SDL_GetAppState () & SDL_APPACTIVE) == 0) && (native->active == TRUE)) { + native->active = FALSE; + visual_event_queue_add_visibility (eventqueue, FALSE); + } else if (((SDL_GetAppState () & SDL_APPACTIVE) != 0) && (native->active == FALSE)) { + native->active = TRUE; + visual_event_queue_add_visibility (eventqueue, TRUE); + } + + /* Events */ + while (SDL_PollEvent (&event)) { + + switch (event.type) { + case SDL_KEYUP: + visual_event_queue_add_keyboard (eventqueue, event.key.keysym.sym, event.key.keysym.mod, + VISUAL_KEY_UP); + break; + + case SDL_KEYDOWN: + visual_event_queue_add_keyboard (eventqueue, event.key.keysym.sym, event.key.keysym.mod, + VISUAL_KEY_DOWN); + break; + + case SDL_VIDEORESIZE: + visual_event_queue_add_resize (eventqueue, display->screen, event.resize.w, event.resize.h); + + native_create (display, display->screen->depth, NULL, event.resize.w, event.resize.h, native->resizable); + break; + + case SDL_MOUSEMOTION: + visual_event_queue_add_mousemotion (eventqueue, event.motion.x, event.motion.y); + break; + + case SDL_MOUSEBUTTONDOWN: + visual_event_queue_add_mousebutton (eventqueue, event.button.button, VISUAL_MOUSE_DOWN, + event.button.x, event.button.y); + break; + + case SDL_MOUSEBUTTONUP: + visual_event_queue_add_mousebutton (eventqueue, event.button.button, VISUAL_MOUSE_UP, + event.button.x, event.button.y); + break; + + case SDL_QUIT: + visual_event_queue_add_quit (eventqueue, FALSE); + break; + + default: + break; + } + } + + return 0; +} + +static int get_nearest_resolution (SADisplay *display, int *width, int *height) +{ + SDL_Rect **modelist; + int w, h; + int i; + + modelist = SDL_ListModes (NULL, SDL_FULLSCREEN); + + if (modelist == NULL) + return -1; + + w = *width; + h = *height; + + /* Window is bigger than highest resolution */ + if (modelist[0]->w <= *width || modelist[0]->h <= *height) { + *width = modelist[0]->w; + *height = modelist[0]->h; + + return 0; + } + + for (i = 0; modelist[i]; i++) { + if (modelist[i]->w >= *width && modelist[i]->h >= *height) { + w = modelist[i]->w; + h = modelist[i]->h; + } + } + + *width = w; + *height = h; + + return 0; +} + diff --git a/src/projectM-libvisual-alsa/sdldriver.h b/src/projectM-libvisual-alsa/sdldriver.h new file mode 100644 index 0000000000..6df7a8428c --- /dev/null +++ b/src/projectM-libvisual-alsa/sdldriver.h @@ -0,0 +1,9 @@ +#ifndef _LV_STANDALONE_SDLDRIVER_H +#define _LV_STANDALONE_SDLDRIVER_H + +#include "display.h" + +/* prototypes */ +SADisplayDriver *sdl_driver_new (void); + +#endif /* _LV_STANDALONE_SDLDRIVER_H */ diff --git a/src/projectM-libvisual-alsa/x11driver.c b/src/projectM-libvisual-alsa/x11driver.c new file mode 100644 index 0000000000..2fa6fa4f47 --- /dev/null +++ b/src/projectM-libvisual-alsa/x11driver.c @@ -0,0 +1,190 @@ +#include +#include +#include + +#include +#include + +//#include "lv_gl_sdl.h" +#include "x11driver.h" + + + +#define X11_NATIVE(obj) (VISUAL_CHECK_CAST ((obj), X11Native)) + +// http://xander.ncl.ac.uk/game/src6/ + +typedef struct _X11Native X11Native; + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable); +static int native_close (SADisplay *display); +static int native_lock (SADisplay *display); +static int native_unlock (SADisplay *display); +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale); +static int native_getvideo (SADisplay *display, VisVideo *screen); +static int native_updaterect (SADisplay *display, VisRectangle *rect); +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue); + +static int get_nearest_resolution (SADisplay *display, int *width, int *height); + +struct _X11Native { + VisObject object; + + Display *dpy; + Window win; + int screen; + + VisVideoDepth requested_depth; + + int oldx; + int oldy; + + int oldwidth; + int oldheight; + + int resizable; + + int active; +}; + +SADisplayDriver *x11_driver_new () +{ + SADisplayDriver *driver; + + driver = visual_mem_new0 (SADisplayDriver, 1); + + visual_object_initialize (VISUAL_OBJECT (driver), TRUE, NULL); + + driver->create = native_create; + driver->close = native_close; + driver->lock = native_lock; + driver->unlock = native_unlock; + driver->fullscreen = native_fullscreen; + driver->getvideo = native_getvideo; + driver->updaterect = native_updaterect; + driver->drainevents = native_drainevents; + +// visual_gl_set_callback_attribute_set (native_gl_attribute_set); +// visual_gl_set_callback_attribute_get (native_gl_attribute_get); + + return driver; +} + +static int native_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions, + int width, int height, int resizable) +{ + X11Native *native = X11_NATIVE (display->native); + Window rootwin; + + if (native != NULL) + visual_object_unref (VISUAL_OBJECT (native)); + + native = visual_mem_new0 (X11Native, 1); + + visual_object_initialize (VISUAL_OBJECT (native), TRUE, NULL); + + native->dpy = XOpenDisplay (NULL); + + if (native->dpy == NULL) + visual_log (VISUAL_LOG_ERROR, "Can't open X Display"); + + native->screen = DefaultScreen (display); + rootwin = RootWindow (native->dpy, native->screen); + native->win = XCreateSimpleWindow (native->dpy, rootwin, 10, 10, width, height, 0, 0, 0); + XMapWindow (native->dpy, native->win); + + display->native = VISUAL_OBJECT (native); + + return 0; +} + +static int native_close (SADisplay *display) +{ + return 0; +} + +static int native_lock (SADisplay *display) +{ + return 0; +} + +static int native_unlock (SADisplay *display) +{ + return 0; +} + +static int native_fullscreen (SADisplay *display, int fullscreen, int autoscale) +{ + X11Native *native = X11_NATIVE (display->native); +// SDL_Surface *screen = native->screen; +/* + if (fullscreen == TRUE) { + if (!(screen->flags & SDL_FULLSCREEN)) { + if (autoscale == TRUE) { + int width = display->screen->width; + int height = display->screen->height; + + native->oldwidth = width; + native->oldheight = height; + + get_nearest_resolution (display, &width, &height); + + native_create (display, native->requested_depth, NULL, width, height, native->resizable); + } + + SDL_ShowCursor (SDL_FALSE); + SDL_WM_ToggleFullScreen (screen); + } + } else { + if ((screen->flags & SDL_FULLSCREEN)) { + SDL_ShowCursor (SDL_TRUE); + SDL_WM_ToggleFullScreen (screen); + + if (autoscale == TRUE) + native_create (display, native->requested_depth, NULL, native->oldwidth, + native->oldheight, native->resizable); + } + } +*/ + return 0; +} + +static int native_getvideo (SADisplay *display, VisVideo *screen) +{ + /* + X11Native *native = X11_NATIVE (display->native); + SDL_Surface *sdlscreen = native->screen; + + if (native->requested_depth == VISUAL_VIDEO_DEPTH_GL) + visual_video_set_depth (screen, VISUAL_VIDEO_DEPTH_GL); + else + visual_video_set_depth (screen, visual_video_depth_enum_from_value (sdlscreen->format->BitsPerPixel)); + + visual_video_set_dimension (screen, sdlscreen->w, sdlscreen->h); + visual_video_set_pitch (screen, sdlscreen->pitch); + visual_video_set_buffer (screen, sdlscreen->pixels); +*/ + return 0; +} + +static int native_updaterect (SADisplay *display, VisRectangle *rect) +{ + X11Native *native = X11_NATIVE (display->native); + + return 0; +} + +static int native_drainevents (SADisplay *display, VisEventQueue *eventqueue) +{ + X11Native *native = X11_NATIVE (display->native); + + return 0; +} + +static int get_nearest_resolution (SADisplay *display, int *width, int *height) +{ + + return 0; +} + diff --git a/src/projectM-libvisual-alsa/x11driver.h b/src/projectM-libvisual-alsa/x11driver.h new file mode 100644 index 0000000000..6fdc058d83 --- /dev/null +++ b/src/projectM-libvisual-alsa/x11driver.h @@ -0,0 +1,9 @@ +#ifndef _LV_STANDALONE_X11DRIVER_H +#define _LV_STANDALONE_X11DRIVER_H + +#include "display.h" + +/* prototypes */ +SADisplayDriver *x11_driver_new (void); + +#endif /* _LV_STANDALONE_X11DRIVER_H */ diff --git a/src/projectM-libvisual/ChangeLog b/src/projectM-libvisual/ChangeLog index acf242b643..c7c24183a5 100644 --- a/src/projectM-libvisual/ChangeLog +++ b/src/projectM-libvisual/ChangeLog @@ -1,3 +1,8 @@ +2007-10-10 Peter Sperl + + * Converted to cmake + * Updated to libprojectM 1.0 + 2006-01-31 Dennis Smit * actor_projectM.c: Again API updates, and set the GL attribs. diff --git a/src/projectM-libvisual/INSTALL b/src/projectM-libvisual/INSTALL index 855f060f5f..a6d03be572 100644 --- a/src/projectM-libvisual/INSTALL +++ b/src/projectM-libvisual/INSTALL @@ -1,3 +1,7 @@ -If from CVS, run autogen.sh first. +First install libvisual-0.4 and projectM 1.0 - ./configure, make, make install. +cmake . -DCMAKE_BUILD_TYPE=RELEASE +make +make install + +You may need to type ccmake . and change the PREFIX if your system prefers /usr instead of /usr/local. \ No newline at end of file diff --git a/src/projectM-libvisual/Makefile.am b/src/projectM-libvisual/Makefile.am deleted file mode 100644 index 0253ccd9c1..0000000000 --- a/src/projectM-libvisual/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -## Process this file with automake to generate a Makefile.in - -lib_LTLIBRARIES = $(PROJECTM) - -EXTRA_LTLIBRARIES = actor_projectM.la - -libdir = @LIBVISUAL_PLUGINS_BASE_DIR@/actor - -LIBS = -L. -L$(prefix)/lib @LIBVISUAL_LIBS@ -lprojectM -lGL -lGLU - -AM_CXXFLAGS = @LIBVISUAL_CFLAGS@ -DLINUX - -INCLUDES = $(all_includes) \ - -I$(top_srcdir) -I/usr/include - -actor_projectM_la_LDFLAGS = -rpath $(libdir) -module -avoid-version - -actor_projectM_la_SOURCES = actor_projectM.cpp - diff --git a/src/projectM-libvisual/Makefile.dist b/src/projectM-libvisual/Makefile.dist deleted file mode 100644 index 047954045b..0000000000 --- a/src/projectM-libvisual/Makefile.dist +++ /dev/null @@ -1,22 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: - rm -rf .deps - rm -rf .libs diff --git a/src/projectM-libvisual/Makefile.in b/src/projectM-libvisual/Makefile.in deleted file mode 100644 index d7a83646b0..0000000000 --- a/src/projectM-libvisual/Makefile.in +++ /dev/null @@ -1,620 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - config.guess config.sub depcomp install-sh ltmain.sh missing -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libdir)" -libLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(lib_LTLIBRARIES) -actor_projectM_la_LIBADD = -am_actor_projectM_la_OBJECTS = actor_projectM.lo -actor_projectM_la_OBJECTS = $(am_actor_projectM_la_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I. -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(actor_projectM_la_SOURCES) -DIST_SOURCES = $(actor_projectM_la_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATADIR = @DATADIR@ -DEBUG_CFLAGS = @DEBUG_CFLAGS@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GREP = @GREP@ -HAVE_LIB_GL_FALSE = @HAVE_LIB_GL_FALSE@ -HAVE_LIB_GL_TRUE = @HAVE_LIB_GL_TRUE@ -HAVE_XF86VMODE_FALSE = @HAVE_XF86VMODE_FALSE@ -HAVE_XF86VMODE_TRUE = @HAVE_XF86VMODE_TRUE@ -HAVE_X_FALSE = @HAVE_X_FALSE@ -HAVE_X_TRUE = @HAVE_X_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBPROJECTM_CFLAGS = @LIBPROJECTM_CFLAGS@ -LIBPROJECTM_LIBS = @LIBPROJECTM_LIBS@ -LIBS = -L. -L$(prefix)/lib @LIBVISUAL_LIBS@ -lprojectM -lGL -lGLU -LIBS_DYNAMIC_LOADER = @LIBS_DYNAMIC_LOADER@ -LIBTOOL = @LIBTOOL@ -LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@ -LIBVISUAL_LIBS = @LIBVISUAL_LIBS@ -LIBVISUAL_PLUGINS_BASE_DIR = @LIBVISUAL_PLUGINS_BASE_DIR@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJEXT = @OBJEXT@ -OPT_CFLAGS = @OPT_CFLAGS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTM = @PROJECTM@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XF86VM_LIB = @XF86VM_LIB@ -XMKMF = @XMKMF@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @LIBVISUAL_PLUGINS_BASE_DIR@/actor -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -lib_LTLIBRARIES = $(PROJECTM) -EXTRA_LTLIBRARIES = actor_projectM.la -AM_CXXFLAGS = @LIBVISUAL_CFLAGS@ -DLINUX -INCLUDES = $(all_includes) \ - -I$(top_srcdir) -I/usr/include - -actor_projectM_la_LDFLAGS = -rpath $(libdir) -module -avoid-version -actor_projectM_la_SOURCES = actor_projectM.cpp -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -actor_projectM.la: $(actor_projectM_la_OBJECTS) $(actor_projectM_la_DEPENDENCIES) - $(CXXLINK) $(actor_projectM_la_LDFLAGS) $(actor_projectM_la_OBJECTS) $(actor_projectM_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/actor_projectM.Plo@am__quote@ - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) config.h -installdirs: - for dir in "$(DESTDIR)$(libdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-libLTLIBRARIES - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-generic clean-libLTLIBRARIES clean-libtool ctags dist \ - dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libLTLIBRARIES - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/projectM-libvisual/README b/src/projectM-libvisual/README index 965dfd3d9b..92be3d365d 100644 --- a/src/projectM-libvisual/README +++ b/src/projectM-libvisual/README @@ -1,17 +1 @@ -Go to src/projectM and run make to compile the projectM library, then do the standard ./configure, make , make install here in lv-xmms. - -Configuration: - ./configure - To set a prefix use --prefix, other options can be seen by - using ./configure --help - -Building: - make - This will compile the plugins - -Installing: - make install - This will install the plugins - - - +see INSTALL \ No newline at end of file diff --git a/src/projectM-libvisual/aclocal.m4 b/src/projectM-libvisual/aclocal.m4 deleted file mode 100644 index 81f5a1d20c..0000000000 --- a/src/projectM-libvisual/aclocal.m4 +++ /dev/null @@ -1,7617 +0,0 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 50 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Check if we have a version mismatch between libtool.m4 and ltmain.sh. -# -# Note: This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined. -# We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually -# calls AC_LIBTOOL_CONFIG and creates libtool. -# -_LT_VERSION_CHECK - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_VERSION_CHECK -# ----------------- -AC_DEFUN([_LT_VERSION_CHECK], -[AC_MSG_CHECKING([for correct ltmain.sh version]) -if test "x$ltmain" = "x" ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - -*** @<:@Gentoo@:>@ sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -]) -fi -gentoo_lt_version="1.5.23b" -gentoo_ltmain_version=`sed -n '/^[[ ]]*VERSION=/{s/^[[ ]]*VERSION=//;p;q;}' "$ltmain"` -if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - -*** @<:@Gentoo@:>@ sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -]) -else - AC_MSG_RESULT(yes) -fi -])# _LT_VERSION_CHECK - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -m4_if($1,[],[ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognize shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognize a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# ------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([LT_AC_PROG_SED]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - - -# Cheap backport of AS_EXECUTABLE_P and required macros -# from Autoconf 2.59; we should not use $as_executable_p directly. - -# _AS_TEST_PREPARE -# ---------------- -m4_ifndef([_AS_TEST_PREPARE], -[m4_defun([_AS_TEST_PREPARE], -[if test -x / >/dev/null 2>&1; then - as_executable_p='test -x' -else - as_executable_p='test -f' -fi -])])# _AS_TEST_PREPARE - -# AS_EXECUTABLE_P -# --------------- -# Check whether a file is executable. -m4_ifndef([AS_EXECUTABLE_P], -[m4_defun([AS_EXECUTABLE_P], -[AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl -])])# AS_EXECUTABLE_P - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES - -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.6])]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 7 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 3 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 12 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.58])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# -# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -# created by `make install' are always world readable, even if the -# installer happens to have an overly restrictive umask (e.g. 077). -# This was a mistake. There are at least two reasons why we must not -# use `-m 0755': -# - it causes special bits like SGID to be ignored, -# - it may be too restrictive (some setups expect 775 directories). -# -# Do not use -m 0755 and let people choose whatever they expect by -# setting umask. -# -# We cannot accept any implementation of `mkdir' that recognizes `-p'. -# Some implementations (such as Solaris 8's) are not thread-safe: if a -# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -# concurrently, both version can detect that a/ is missing, but only -# one can create it and the other will error out. Consequently we -# restrict ourselves to GNU make (using the --version option ensures -# this.) -AC_DEFUN([AM_PROG_MKDIR_P], -[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi -AC_SUBST([mkdir_p])]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/src/projectM-libvisual/actor_projectM.cpp b/src/projectM-libvisual/actor_projectM.cpp index a61ddc048a..2c90433557 100644 --- a/src/projectM-libvisual/actor_projectM.cpp +++ b/src/projectM-libvisual/actor_projectM.cpp @@ -10,12 +10,8 @@ #include #include -#include #include -#include -#include -#include -#include +#include #include "lvtoprojectM.h" #include "ConfigFile.h" @@ -58,21 +54,21 @@ extern "C" const VisPluginInfo *get_plugin_info (int *count) * http://libvisual.sourceforge.net/newdocs/docs/html/struct__VisActorPlugin.html */ static VisActorPlugin actor[1]; static VisPluginInfo info[1]; - + actor[0].requisition = lv_projectm_requisition; actor[0].palette = lv_projectm_palette; actor[0].render = lv_projectm_render; actor[0].vidoptions.depth = VISUAL_VIDEO_DEPTH_GL; /* We want GL clearly */ - - - info[0].type = VISUAL_PLUGIN_TYPE_ACTOR; - - info[0].plugname = "projectM"; - info[0].name = "libvisual projectM"; - info[0].author = "Peter Sperl"; - info[0].version = "1.00"; - info[0].about = "projectM"; - info[0].help = ""; + + + info[0].type = (char*)VISUAL_PLUGIN_TYPE_ACTOR; + + info[0].plugname = (char*)"projectM"; + info[0].name = (char*)"libvisual projectM"; + info[0].author = (char*)"Peter Sperl"; + info[0].version = (char*)"1.1"; + info[0].about = (char*)"projectM"; + info[0].help = (char*)""; info[0].init = lv_projectm_init; info[0].cleanup = lv_projectm_cleanup; @@ -116,8 +112,8 @@ extern "C" int lv_projectm_init (VisPluginData *plugin) //FIXME priv->PM = new projectM(config_file); //globalPM = (projectM *)wipemalloc( sizeof( projectM ) ); - - + + return 0; } @@ -161,14 +157,14 @@ extern "C" int lv_projectm_dimension (VisPluginData *plugin, VisVideo *video, in visual_video_set_dimension (video, width, height); - priv->PM->projectM_resetGL( width, height ); + priv->PM->projectM_resetGL( width, height ); return 0; } /* This is the main event loop, where all kind of events can be handled, more information * regarding these can be found at: - * http://libvisual.sourceforge.net/newdocs/docs/html/union__VisEvent.html + * http://libvisual.sourceforge.net/newdocs/docs/html/union__VisEvent.html */ extern "C" int lv_projectm_events (VisPluginData *plugin, VisEventQueue *events) { @@ -179,13 +175,13 @@ extern "C" int lv_projectm_events (VisPluginData *plugin, VisEventQueue *events) projectMEvent evt; projectMKeycode key; projectMModifier mod; - - while (visual_event_queue_poll (events, &ev)) + + while (visual_event_queue_poll (events, &ev)) { - switch (ev.type) + switch (ev.type) { case VISUAL_EVENT_KEYUP: - + evt = lv2pmEvent( ev.type ); key = lv2pmKeycode( ev.event.keyboard.keysym.sym ); mod = lv2pmModifier( ev.event.keyboard.keysym.mod ); @@ -196,12 +192,16 @@ extern "C" int lv_projectm_events (VisPluginData *plugin, VisEventQueue *events) lv_projectm_dimension (plugin, ev.event.resize.video, ev.event.resize.width, ev.event.resize.height); break; - + case VISUAL_EVENT_NEWSONG: + priv->PM->projectM_setTitle(ev.event.newsong.songinfo->songname); + + break; + default: /* to avoid warnings */ break; } } - + return 0; } @@ -209,7 +209,7 @@ extern "C" int lv_projectm_events (VisPluginData *plugin, VisEventQueue *events) * we aren't with projectm, so just ignore :) */ extern "C" VisPalette *lv_projectm_palette (VisPluginData *plugin) { - return NULL; + return (VisPalette *) NULL; } /* This is where the real rendering happens! This function is what we call, many times @@ -219,26 +219,19 @@ extern "C" int lv_projectm_render (VisPluginData *plugin, VisVideo *video, VisAu ProjectmPrivate *priv = (ProjectmPrivate*)visual_object_get_private (VISUAL_OBJECT (plugin)); VisBuffer pcmb; float pcm[2][512]; - //short pcms[2][512]; int i; + if (video->parent != NULL) lv_projectm_dimension (plugin, video->parent, video->parent->width, video->parent->height); + else lv_projectm_dimension (plugin, video, video->width, video->height); + visual_buffer_set_data_pair (&pcmb, pcm[0], sizeof (pcm[0])); - visual_audio_get_sample (audio, &pcmb, VISUAL_AUDIO_CHANNEL_LEFT); + visual_audio_get_sample (audio, &pcmb, (char*)VISUAL_AUDIO_CHANNEL_LEFT); visual_buffer_set_data_pair (&pcmb, pcm[1], sizeof (pcm[1])); - visual_audio_get_sample (audio, &pcmb, VISUAL_AUDIO_CHANNEL_RIGHT); + visual_audio_get_sample (audio, &pcmb, (char*)VISUAL_AUDIO_CHANNEL_RIGHT); - /* - for (i = 0; i < 512; i++) { - pcms[0][i] = pcm[0][i] * 32768.0; - pcms[1][i] = pcm[1][i] * 32768.0; - } - - addPCM16Data(pcms,512); - */ + priv->PM->pcm()->addPCMfloat(*pcm,512); - priv->PM->beatDetect->pcm->addPCMfloat(*pcm,512); - priv->PM->renderFrame(); return 0; @@ -250,26 +243,26 @@ std::string read_config() { int n; - + char num[512]; - FILE *in; + FILE *in; FILE *out; char* home; char projectM_home[1024]; char projectM_config[1024]; - strcpy(projectM_config, PROJECTM_DATADIR); - strcpy(projectM_config+strlen(PROJECTM_DATADIR), CONFIG_FILE); - projectM_config[strlen(PROJECTM_DATADIR)+strlen(CONFIG_FILE)]='\0'; + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config+strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX)+strlen(CONFIG_FILE)]='\0'; printf("dir:%s \n",projectM_config); home=getenv("HOME"); strcpy(projectM_home, home); strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - - if ((in = fopen(projectM_home, "r")) != 0) + + if ((in = fopen(projectM_home, "r")) != 0) { printf("reading ~/.projectM/config.inp \n"); fclose(in); @@ -287,24 +280,24 @@ std::string read_config() strcpy(projectM_home, home); strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - + if((out = fopen(projectM_home,"w"))!=0) { - - if ((in = fopen(projectM_config, "r")) != 0) + + if ((in = fopen(projectM_config, "r")) != 0) { - + while(fgets(num,80,in)!=NULL) { fputs(num,out); } fclose(in); fclose(out); - - if ((in = fopen(projectM_home, "r")) != 0) - { - printf("created ~/.projectM/config.inp successfully\n"); + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("created ~/.projectM/config.inp successfully\n"); fclose(in); return std::string(projectM_home); } @@ -315,64 +308,16 @@ std::string read_config() else { printf("Cannot create ~/.projectM/config.inp, using default config file\n"); - if ((in = fopen(projectM_config, "r")) != 0) + if ((in = fopen(projectM_config, "r")) != 0) { printf("Successfully opened default config file\n"); fclose(in); return std::string(projectM_config);} else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} - + } } - - /* - fgets(num, 512, in); fgets(num, 512, in); fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &texsize); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &gx); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &gy); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &wvw); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &wvh); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &fps); - - fgets(num, 512, in); - if(fgets(num, 512, in) != NULL) sscanf (num, "%d", &fullscreen); - fgets(num, 512, in); - - if(fgets(num, 512, in) != NULL) strcpy(preset_dir, num); - preset_dir[strlen(preset_dir)-1]='\0'; - */ - /* - fgets(num, 80, in); - fgets(num, 80, in); - - n=0; - while (num[n]!=' ' && num[n]!='\n' && n < 80 && num[n]!=EOF) - { - disp[n]=num[n]; - n++; - } - disp[n]=0; - - - // sprintf(disp,"%s",num ); - setenv("DISPLAY",disp,1); - printf("%s %d\n", disp,strlen(disp)); - setenv("LD_PRELOAD", "/usr/lib/tls/libGL.so.1.0.4496", 1); - */ - // fclose(in); - - abort(); -} +} diff --git a/src/projectM-libvisual/config.guess b/src/projectM-libvisual/config.guess deleted file mode 100755 index 6960a397af..0000000000 --- a/src/projectM-libvisual/config.guess +++ /dev/null @@ -1,1532 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-01-15' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-${LIBC} - exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" - exit ;; - esac - # This should get integrated into the C code below, but now we hack - if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/projectM-libvisual/config.h b/src/projectM-libvisual/config.h deleted file mode 100644 index 2ba55d5206..0000000000 --- a/src/projectM-libvisual/config.h +++ /dev/null @@ -1,135 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_FCNTL_H 1 - -/* Define to 1 if you have the `floor' function. */ -/* #undef HAVE_FLOOR */ - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GL_GLX_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GL_GL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#define HAVE_MALLOC 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `memset' function. */ -#define HAVE_MEMSET 1 - -/* Define to 1 if you have a working `mmap' system call. */ -#define HAVE_MMAP 1 - -/* Define to 1 if you have the `pow' function. */ -/* #undef HAVE_POW */ - -/* Define to 1 if you have the `sqrt' function. */ -/* #undef HAVE_SQRT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_X11_EXTENSIONS_XF86VMODE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_X11_KEYSYM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_X11_XLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_X11_XUTIL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_X11_X_H 1 - -/* XF86VidMode is available */ -#define HAVE_XF86VMODE - -/* Name of package */ -#define PACKAGE "libvisual-projectm" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "psperl@sourceforge.net" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "Libvisual projectM" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Libvisual projectM 0.98" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libvisual-projectm" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "0.98" - -/* libprojectM data dir */ -#define PROJECTM_DATADIR "/usr/share/projectM" - -/* libprojectM configuration dir */ -#define PROJECTM_SYSCONFDIR "/usr/share/projectM" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if you can safely include both and . */ -#define TIME_WITH_SYS_TIME 1 - -/* Version number of package */ -#define VERSION "0.98" - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef const */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Define to rpl_malloc if the replacement function should be used. */ -/* #undef malloc */ diff --git a/src/projectM-libvisual/config.h.in b/src/projectM-libvisual/config.h.in deleted file mode 100644 index 3a5a9c0ddb..0000000000 --- a/src/projectM-libvisual/config.h.in +++ /dev/null @@ -1,134 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `floor' function. */ -#undef HAVE_FLOOR - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the header file. */ -#undef HAVE_GL_GLX_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_GL_GL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the `pow' function. */ -#undef HAVE_POW - -/* Define to 1 if you have the `sqrt' function. */ -#undef HAVE_SQRT - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_X11_EXTENSIONS_XF86VMODE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_X11_KEYSYM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_X11_XLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_X11_XUTIL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_X11_X_H - -/* XF86VidMode is available */ -#undef HAVE_XF86VMODE - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* libprojectM data dir */ -#undef PROJECTM_DATADIR - -/* libprojectM configuration dir */ -#undef PROJECTM_SYSCONFDIR - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc diff --git a/src/projectM-libvisual/config.sub b/src/projectM-libvisual/config.sub deleted file mode 100755 index 2a4932e7f5..0000000000 --- a/src/projectM-libvisual/config.sub +++ /dev/null @@ -1,1640 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-01-18' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx | dvp \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mipsEE* | ee | ps2) - basic_machine=mips64r5900el-scei - case $os in - -linux*) - ;; - *) - os=-elf - ;; - esac - ;; - iop) - basic_machine=mipsel-scei - os=-irx - ;; - dvp) - basic_machine=dvp-scei - os=-elf - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/projectM-libvisual/configure b/src/projectM-libvisual/configure deleted file mode 100755 index 08570b7b1c..0000000000 --- a/src/projectM-libvisual/configure +++ /dev/null @@ -1,23524 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for Libvisual projectM 0.98. -# -# Report bugs to . -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='Libvisual projectM' -PACKAGE_TARNAME='libvisual-projectm' -PACKAGE_VERSION='0.98' -PACKAGE_STRING='Libvisual projectM 0.98' -PACKAGE_BUGREPORT='psperl@sourceforge.net' - -ac_unique_file="config.h.in" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -CXX -CXXFLAGS -ac_ct_CXX -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -LN_S -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -SED -GREP -EGREP -ECHO -AR -RANLIB -CPP -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -PKG_CONFIG -LIBPROJECTM_CFLAGS -LIBPROJECTM_LIBS -LIBVISUAL_CFLAGS -LIBVISUAL_LIBS -XMKMF -HAVE_LIB_GL_TRUE -HAVE_LIB_GL_FALSE -XF86VM_LIB -HAVE_XF86VMODE_TRUE -HAVE_XF86VMODE_FALSE -HAVE_X_TRUE -HAVE_X_FALSE -LIBOBJS -PROJECTM -DEBUG_CFLAGS -OPT_CFLAGS -LIBVISUAL_PLUGINS_BASE_DIR -LIBS_DYNAMIC_LOADER -DATADIR -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CXX -CXXFLAGS -CCC -CPP -CXXCPP -F77 -FFLAGS -PKG_CONFIG -LIBPROJECTM_CFLAGS -LIBPROJECTM_LIBS -LIBVISUAL_CFLAGS -LIBVISUAL_LIBS -XMKMF' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute directory names. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures Libvisual projectM 0.98 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libvisual-projectm] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -X features: - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of Libvisual projectM 0.98:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-projectm Do not build projectm plugin [default=enabled] - --enable-profiling Enable emision of profile data to be used by gprof - [default=disabled] - --enable-debug Enable debug [default=disabled] - --enable-extra-optimization - Enable extra optimizations [default=disabled] - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] include additional configurations [automatic] - --with-x use the X Window System - --with-plugins_base_dir="dir" - Install plugins to this base directory. Defaults to - Libvisual's base dir - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CPP C preprocessor - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - PKG_CONFIG path to pkg-config utility - LIBPROJECTM_CFLAGS - C compiler flags for LIBPROJECTM, overriding pkg-config - LIBPROJECTM_LIBS - linker flags for LIBPROJECTM, overriding pkg-config - LIBVISUAL_CFLAGS - C compiler flags for LIBVISUAL, overriding pkg-config - LIBVISUAL_LIBS - linker flags for LIBVISUAL, overriding pkg-config - XMKMF Path to xmkmf, Makefile generator for X Window System - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -Libvisual projectM configure 0.98 -generated by GNU Autoconf 2.61 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by Libvisual projectM $as_me 0.98, which was -generated by GNU Autoconf 2.61. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -fi -shift -for ac_site_file -do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -am__api_version="1.9" -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libvisual-projectm' - VERSION='0.98' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - - -ac_config_headers="$ac_config_headers config.h" - - -# Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } - -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=no -fi - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - -# Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done - -fi - -SED=$lt_cv_path_SED - -{ echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - -{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi -{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" - -{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 4906 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - - -esac - -need_locks="$enable_libtool_lock" - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_prog_f77_g=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } -else - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -fi - - - - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6; } -else - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -fi - -{ echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - -test -z "$pic_mode" && pic_mode=default - -# Check if we have a version mismatch between libtool.m4 and ltmain.sh. -# -# Note: This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined. -# We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually -# calls AC_LIBTOOL_CONFIG and creates libtool. -# -{ echo "$as_me:$LINENO: checking for correct ltmain.sh version" >&5 -echo $ECHO_N "checking for correct ltmain.sh version... $ECHO_C" >&6; } -if test "x$ltmain" = "x" ; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: - -*** [Gentoo] sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -" >&5 -echo "$as_me: error: - -*** [Gentoo] sanity check failed! *** -*** \$ltmain is not defined, please check the patch for consistency! *** -" >&2;} - { (exit 1); exit 1; }; } -fi -gentoo_lt_version="1.5.23b" -gentoo_ltmain_version=`sed -n '/^[ ]*VERSION=/{s/^[ ]*VERSION=//;p;q;}' "$ltmain"` -if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: - -*** [Gentoo] sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -" >&5 -echo "$as_me: error: - -*** [Gentoo] sanity check failed! *** -*** libtool.m4 and ltmain.sh have a version mismatch! *** -*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) *** - -Please run: - - libtoolize --copy --force - -if appropriate, please contact the maintainer of this -package (or your distribution) for help. -" >&2;} - { (exit 1); exit 1; }; } -else - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -fi - - -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7234: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7238: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7524: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7528: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } - -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - -if test x"$lt_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7628: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7632: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix3*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6; } - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - ;; - *) - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# Report which library types will actually be built -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix3*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$rm -f confest.$objext - -# PORTME: override above test on systems where it is broken -case $host_os in -interix3*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12501: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12505: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12605: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12609: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_CXX" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld - - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14179: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:14183: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } - -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : -else - lt_prog_compiler_static_F77= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14283: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14287: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - interix3*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - freebsd1*) - ld_shlibs_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6; } - -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds - - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16478: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16482: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16768: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16772: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_GCJ=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_GCJ=yes - fi - else - lt_prog_compiler_static_works_GCJ=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then - : -else - lt_prog_compiler_static_GCJ= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16872: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:16876: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - interix3*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6; } - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - RC) - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - -lt_cv_prog_compiler_c_o_RC=yes - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_RC" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - ;; - - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - - - - - - - - - - - - - - - - - - - -# Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test x$PKG_CONFIG = xno ; then - { { echo "$as_me:$LINENO: error: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&5 -echo "$as_me: error: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&2;} - { (exit 1); exit 1; }; } -fi - -if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then - : -else - { { echo "$as_me:$LINENO: error: *** pkg-config too old; version 0.14 or better required." >&5 -echo "$as_me: error: *** pkg-config too old; version 0.14 or better required." >&2;} - { (exit 1); exit 1; }; } -fi - -# Checks for libraries. -build_actor="" - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 -echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 -echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - PKG_CONFIG="" - fi - -fi - -pkg_failed=no -{ echo "$as_me:$LINENO: checking for LIBPROJECTM" >&5 -echo $ECHO_N "checking for LIBPROJECTM... $ECHO_C" >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPROJECTM_CFLAGS"; then - pkg_cv_LIBPROJECTM_CFLAGS="$LIBPROJECTM_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libprojectM >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBPROJECTM_CFLAGS=`$PKG_CONFIG --cflags "libprojectM >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBPROJECTM_LIBS"; then - pkg_cv_LIBPROJECTM_LIBS="$LIBPROJECTM_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libprojectM >= 0.0.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libprojectM >= 0.0.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBPROJECTM_LIBS=`$PKG_CONFIG --libs "libprojectM >= 0.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBPROJECTM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libprojectM >= 0.0.0"` - else - LIBPROJECTM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libprojectM >= 0.0.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBPROJECTM_PKG_ERRORS" >&5 - - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - libprjM="no" -elif test $pkg_failed = untried; then - libprjM="no" -else - LIBPROJECTM_CFLAGS=$pkg_cv_LIBPROJECTM_CFLAGS - LIBPROJECTM_LIBS=$pkg_cv_LIBPROJECTM_LIBS - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - libprjM="yes" -fi -if test x$libprjM = xno; then - { { echo "$as_me:$LINENO: error: *** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/" >&5 -echo "$as_me: error: *** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/" >&2;} - { (exit 1); exit 1; }; } -fi - - - - # define some paths macros about libprojectM - -cat >>confdefs.h <<_ACEOF -#define PROJECTM_SYSCONFDIR "`pkg-config --variable=sysconfdir libprojectM`" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PROJECTM_DATADIR "`pkg-config --variable=pkgdatadir libprojectM`" -_ACEOF - - - - -pkg_failed=no -{ echo "$as_me:$LINENO: checking for LIBVISUAL" >&5 -echo $ECHO_N "checking for LIBVISUAL... $ECHO_C" >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBVISUAL_CFLAGS"; then - pkg_cv_LIBVISUAL_CFLAGS="$LIBVISUAL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libvisual-0.4 >= 0.4.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libvisual-0.4 >= 0.4.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBVISUAL_CFLAGS=`$PKG_CONFIG --cflags "libvisual-0.4 >= 0.4.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBVISUAL_LIBS"; then - pkg_cv_LIBVISUAL_LIBS="$LIBVISUAL_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libvisual-0.4 >= 0.4.0\"") >&5 - ($PKG_CONFIG --exists --print-errors "libvisual-0.4 >= 0.4.0") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_LIBVISUAL_LIBS=`$PKG_CONFIG --libs "libvisual-0.4 >= 0.4.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBVISUAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libvisual-0.4 >= 0.4.0"` - else - LIBVISUAL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libvisual-0.4 >= 0.4.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBVISUAL_PKG_ERRORS" >&5 - - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - libvis="no" -elif test $pkg_failed = untried; then - libvis="no" -else - LIBVISUAL_CFLAGS=$pkg_cv_LIBVISUAL_CFLAGS - LIBVISUAL_LIBS=$pkg_cv_LIBVISUAL_LIBS - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - libvis="yes" -fi -if test x$libvis = xno; then - { { echo "$as_me:$LINENO: error: *** libvisual not found. - libvisual is needed to build this package. - You can download libvisual at http://libvisual.sf.net/" >&5 -echo "$as_me: error: *** libvisual not found. - libvisual is needed to build this package. - You can download libvisual at http://libvisual.sf.net/" >&2;} - { (exit 1); exit 1; }; } -fi - - - -{ echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6; } - - -# Check whether --with-x was given. -if test "${with_x+set}" = set; then - withval=$with_x; -fi - -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - case $x_includes,$x_libraries in #( - *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 -echo "$as_me: error: Cannot use X directory names containing '" >&2;} - { (exit 1); exit 1; }; };; #( - *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=no ac_x_libraries=no -rm -f -r conftest.dir -if mkdir conftest.dir; then - cd conftest.dir - cat >Imakefile <<'_ACEOF' -incroot: - @echo incroot='${INCROOT}' -usrlibdir: - @echo usrlibdir='${USRLIBDIR}' -libdir: - @echo libdir='${LIBDIR}' -_ACEOF - if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - for ac_var in incroot usrlibdir libdir; do - eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" - done - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && - test -f "$ac_im_libdir/libX11.$ac_extension"; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case $ac_im_incroot in - /usr/include) ac_x_includes= ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi - cd .. - rm -f -r conftest.dir -fi - -# Standard set of common directories for X headers. -# Check X11 before X11Rn because it is often a symlink to the current release. -ac_x_header_dirs=' -/usr/X11/include -/usr/X11R6/include -/usr/X11R5/include -/usr/X11R4/include - -/usr/include/X11 -/usr/include/X11R6 -/usr/include/X11R5 -/usr/include/X11R4 - -/usr/local/X11/include -/usr/local/X11R6/include -/usr/local/X11R5/include -/usr/local/X11R4/include - -/usr/local/include/X11 -/usr/local/include/X11R6 -/usr/local/include/X11R5 -/usr/local/include/X11R4 - -/usr/X386/include -/usr/x386/include -/usr/XFree86/include/X11 - -/usr/include -/usr/local/include -/usr/unsupported/include -/usr/athena/include -/usr/local/x11r5/include -/usr/lpp/Xamples/include - -/usr/openwin/include -/usr/openwin/share/include' - -if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. - # First, try using that file with no special directory specified. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # We can compile using X headers with no special include directory. -ac_x_includes= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then - ac_x_includes=$ac_dir - break - fi -done -fi - -rm -f conftest.err conftest.$ac_ext -fi # $ac_x_includes = no - -if test "$ac_x_libraries" = no; then - # Check for the libraries. - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -XrmInitialize () - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - LIBS=$ac_save_LIBS -# We can link X programs with no special library path. -ac_x_libraries= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -do - # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r "$ac_dir/libX11.$ac_extension"; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi # $ac_x_libraries = no - -case $ac_x_includes,$ac_x_libraries in #( - no,* | *,no | *\'*) - # Didn't find X, or a directory has "'" in its name. - ac_cv_have_x="have_x=no";; #( - *) - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$ac_x_includes'\ - ac_x_libraries='$ac_x_libraries'" -esac -fi -;; #( - *) have_x=yes;; - esac - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - { echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6; } - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$x_includes'\ - ac_x_libraries='$x_libraries'" - { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } -fi - - -opengl=no -if test x$have_x = xyes ; then - - test x$x_libraries != x && LDFLAGS="$LDFLAGS -Wl,-rpath,$x_libraries -L$x_libraries" - test x$x_includes != x && CPPFLAGS="$CPPFLAGS -I$x_includes" - - - - - -for ac_header in \ - X11/keysym.h \ - X11/X.h \ - X11/Xlib.h \ - X11/Xutil.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - - { { echo "$as_me:$LINENO: error: Required X11 headers not found." >&5 -echo "$as_me: error: Required X11 headers not found." >&2;} - { (exit 1); exit 1; }; } - -fi - -done - - - - -for ac_header in \ - GL/gl.h \ - GL/glx.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - have_gl_headers=yes -else - have_gl_headers=no -fi - -done - - - if test x$have_gl_headers = xyes ; then - { echo "$as_me:$LINENO: checking for glBegin in -lGL" >&5 -echo $ECHO_N "checking for glBegin in -lGL... $ECHO_C" >&6; } -if test "${ac_cv_lib_GL_glBegin+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lGL $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char glBegin (); -int -main () -{ -return glBegin (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_GL_glBegin=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_GL_glBegin=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glBegin" >&5 -echo "${ECHO_T}$ac_cv_lib_GL_glBegin" >&6; } -if test $ac_cv_lib_GL_glBegin = yes; then - have_lib_gl=yes -else - have_lib_gl=no -fi - - else - have_lib_gl=no - fi - - opengl=$have_lib_gl - - - -if test x$have_lib_gl = xyes; then - HAVE_LIB_GL_TRUE= - HAVE_LIB_GL_FALSE='#' -else - HAVE_LIB_GL_TRUE='#' - HAVE_LIB_GL_FALSE= -fi - - - XF86VM_LIB= - -for ac_header in \ - X11/extensions/xf86vmode.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - - { echo "$as_me:$LINENO: checking for XF86VidModeSwitchToMode in -lXxf86vm" >&5 -echo $ECHO_N "checking for XF86VidModeSwitchToMode in -lXxf86vm... $ECHO_C" >&6; } -if test "${ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXxf86vm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XF86VidModeSwitchToMode (); -int -main () -{ -return XF86VidModeSwitchToMode (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode" >&5 -echo "${ECHO_T}$ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode" >&6; } -if test $ac_cv_lib_Xxf86vm_XF86VidModeSwitchToMode = yes; then - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_XF86VMODE -_ACEOF - - XF86VM_LIB=-lXxf86vm - xf86vm=yes - -else - xf86vm=no -fi - -fi - -done - - - - - -if test x$xf86vm = xyes; then - HAVE_XF86VMODE_TRUE= - HAVE_XF86VMODE_FALSE='#' -else - HAVE_XF86VMODE_TRUE='#' - HAVE_XF86VMODE_FALSE= -fi - -else - opengl=no -fi - - - -if test x$have_x = xyes; then - HAVE_X_TRUE= - HAVE_X_FALSE='#' -else - HAVE_X_TRUE='#' - HAVE_X_FALSE= -fi - - - -# Checks for typedefs, structures, and compiler characteristics. -{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -# Checks for header files. -{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_time=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - - - - - - -for ac_header in fcntl.h unistd.h stdlib.h string.h sys/time.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ echo "$as_me:$LINENO: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6; } -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_inline=$ac_kw -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6; } - - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - -# Checks for library functions. - -for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_0_nonnull=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_0_nonnull=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 1 -_ACEOF - -else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 0 -_ACEOF - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -cat >>confdefs.h <<\_ACEOF -#define malloc rpl_malloc -_ACEOF - -fi - - - - - - - - - -for ac_func in floor gettimeofday memmove memset pow sqrt -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -{ echo "$as_me:$LINENO: checking for munmap" >&5 -echo $ECHO_N "checking for munmap... $ECHO_C" >&6; } -if test "${ac_cv_func_munmap+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define munmap to an innocuous variant, in case declares munmap. - For example, HP-UX 11i declares gettimeofday. */ -#define munmap innocuous_munmap - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char munmap (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef munmap - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char munmap (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_munmap || defined __stub___munmap -choke me -#endif - -int -main () -{ -return munmap (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_munmap=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_munmap=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_munmap" >&5 -echo "${ECHO_T}$ac_cv_func_munmap" >&6; } -if test $ac_cv_func_munmap = yes; then - lv_have_munmap=yes -else - lv_have_munmap=no -fi - - - -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to psperl@sourceforge.net ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in getpagesize -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -{ echo "$as_me:$LINENO: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 1; - if (write (fd, data, pagesize) != pagesize) - return 1; - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 1; - data2 = (char *) malloc (2 * pagesize); - if (!data2) - return 1; - data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 1; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 1; - if (read (fd, data3, pagesize) != pagesize) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 1; - close (fd); - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 -_ACEOF - -fi -rm -f conftest.mmap - - -# Check whether --enable-projectm was given. -if test "${enable_projectm+set}" = set; then - enableval=$enable_projectm; lvprojectm=$enableval -else - lvprojectm=yes -fi - -{ echo "$as_me:$LINENO: checking whether to build lv_projectm plugin" >&5 -echo $ECHO_N "checking whether to build lv_projectm plugin... $ECHO_C" >&6; } -if test x$lvprojectm = xyes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - if test x$opengl = xyes; then - build_actor="$build_actor actor_projectm" - PROJECTM='actor_projectM.la' - - else - { echo "$as_me:$LINENO: WARNING: *** No OpenGL found. - projectm plugin will not be built." >&5 -echo "$as_me: WARNING: *** No OpenGL found. - projectm plugin will not be built." >&2;} - build_actor="$build_actor actor_projectm" - PROJECTM='actor_projectM.la' - - fi -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -# -# Build paramaters -# - -DEBUG_CFLAGS="" - -# Check whether --enable-profiling was given. -if test "${enable_profiling+set}" = set; then - enableval=$enable_profiling; profiling=$enableval -else - profiling=no -fi - -{ echo "$as_me:$LINENO: checking wheter to enable profiling" >&5 -echo $ECHO_N "checking wheter to enable profiling... $ECHO_C" >&6; } -if test x$profiling = xyes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - DEBUG_CFLAGS="$DEBUG_CFLAGS -pg" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then - enableval=$enable_debug; debug=$enableval -else - debug=no -fi - -{ echo "$as_me:$LINENO: checking whether to enable debug" >&5 -echo $ECHO_N "checking whether to enable debug... $ECHO_C" >&6; } -if test "$debug" = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - DEBUG_CFLAGS="$DEBUG_CFLAGS -ggdb3" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall -Wmissing-braces -Wimplicit -Wunused" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wno-unused-variable" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Check whether --enable-extra-optimization was given. -if test "${enable_extra_optimization+set}" = set; then - enableval=$enable_extra_optimization; extra_opt=$enableval -else - extra_opt=no -fi - -{ echo "$as_me:$LINENO: checking wheter to enable extra optimizations" >&5 -echo $ECHO_N "checking wheter to enable extra optimizations... $ECHO_C" >&6; } -if test x$extra_opt = xyes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - OPT_CFLAGS="-O3 -fexpensive-optimizations" -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - if test x$debug = xyes; then - OPT_CFLAGS="-O0" - else - OPT_CFLAGS="" - fi -fi - - -CFLAGS="${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}" - -CXXFLAGS="${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}" - - - -# Check whether --with-plugins_base_dir was given. -if test "${with_plugins_base_dir+set}" = set; then - withval=$with_plugins_base_dir; plugins_base_dir=$withval -else - plugins_base_dir= -fi - - -{ echo "$as_me:$LINENO: checking where to install plugins" >&5 -echo $ECHO_N "checking where to install plugins... $ECHO_C" >&6; } - -if test -z "$plugins_base_dir"; then - plugins_base_dir=`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4` - { echo "$as_me:$LINENO: result: $plugins_base_dir" >&5 -echo "${ECHO_T}$plugins_base_dir" >&6; } -else - if test -d "$plugins_base_dir"; then - { echo "$as_me:$LINENO: result: $plugins_base_dir" >&5 -echo "${ECHO_T}$plugins_base_dir" >&6; } - else - { echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6; } - { { echo "$as_me:$LINENO: error: Specified plugins base directory \"$plugins_base_dir\" is not accesible!" >&5 -echo "$as_me: error: Specified plugins base directory \"$plugins_base_dir\" is not accesible!" >&2;} - { (exit 1); exit 1; }; } - exit 1 - fi -fi - -LIBVISUAL_PLUGINS_BASE_DIR="$plugins_base_dir" - - -libs_dynamic_loader="-ldl" -LIBS_DYNAMIC_LOADER="$libs_dynamic_loader" - - -DATADIR="$datadir" - - -ac_config_files="$ac_config_files Makefile" - - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_LIB_GL_TRUE}" && test -z "${HAVE_LIB_GL_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIB_GL\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_LIB_GL\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_XF86VMODE_TRUE}" && test -z "${HAVE_XF86VMODE_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_XF86VMODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_XF86VMODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_X_TRUE}" && test -z "${HAVE_X_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_X\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_X\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by Libvisual projectM $as_me 0.98, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -Libvisual projectM config.status 0.98 -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -LN_S!$LN_S$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -SED!$SED$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -RANLIB!$RANLIB$ac_delim -CPP!$CPP$ac_delim -CXXCPP!$CXXCPP$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -F77!$F77$ac_delim -FFLAGS!$FFLAGS$ac_delim -ac_ct_F77!$ac_ct_F77$ac_delim -LIBTOOL!$LIBTOOL$ac_delim -PKG_CONFIG!$PKG_CONFIG$ac_delim -LIBPROJECTM_CFLAGS!$LIBPROJECTM_CFLAGS$ac_delim -LIBPROJECTM_LIBS!$LIBPROJECTM_LIBS$ac_delim -LIBVISUAL_CFLAGS!$LIBVISUAL_CFLAGS$ac_delim -LIBVISUAL_LIBS!$LIBVISUAL_LIBS$ac_delim -XMKMF!$XMKMF$ac_delim -HAVE_LIB_GL_TRUE!$HAVE_LIB_GL_TRUE$ac_delim -HAVE_LIB_GL_FALSE!$HAVE_LIB_GL_FALSE$ac_delim -XF86VM_LIB!$XF86VM_LIB$ac_delim -HAVE_XF86VMODE_TRUE!$HAVE_XF86VMODE_TRUE$ac_delim -HAVE_XF86VMODE_FALSE!$HAVE_XF86VMODE_FALSE$ac_delim -HAVE_X_TRUE!$HAVE_X_TRUE$ac_delim -HAVE_X_FALSE!$HAVE_X_FALSE$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -PROJECTM!$PROJECTM$ac_delim -DEBUG_CFLAGS!$DEBUG_CFLAGS$ac_delim -OPT_CFLAGS!$OPT_CFLAGS$ac_delim -LIBVISUAL_PLUGINS_BASE_DIR!$LIBVISUAL_PLUGINS_BASE_DIR$ac_delim -LIBS_DYNAMIC_LOADER!$LIBS_DYNAMIC_LOADER$ac_delim -DATADIR!$DATADIR$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 25; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF - - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then replace #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| . 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - - -echo " -================================================ -LIBVISUAL-PROJECTM, THE PROJECTM PLUGIN FOR LIBVISUAL $VERSION -================================================ - -Packages found: -libvisual: : ${libvis} - -Plugins being build: -actor: : ${build_actor} - -Libvisual plugin data dir: : ${prefix}/share - -Build options: -install path : $plugins_base_dir -source code location: : ${srcdir} -compiler: : ${CC} -" - diff --git a/src/projectM-libvisual/configure.ac b/src/projectM-libvisual/configure.ac deleted file mode 100644 index fb7f5e58f1..0000000000 --- a/src/projectM-libvisual/configure.ac +++ /dev/null @@ -1,253 +0,0 @@ -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT(Libvisual projectM, 0.98, psperl@sourceforge.net) -AM_INIT_AUTOMAKE([1.7.0 dist-bzip2]) - -AC_CONFIG_SRCDIR([config.h.in]) -AC_CONFIG_HEADER([config.h]) - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_INSTALL -AC_PROG_LN_S - -AC_DISABLE_STATIC -AC_PROG_LIBTOOL - -AC_PATH_PROG(PKG_CONFIG, [pkg-config], [no]) -if test x$PKG_CONFIG = xno ; then - AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/]) -fi - -if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then - : -else - AC_MSG_ERROR([*** pkg-config too old; version 0.14 or better required.]) -fi - -# Checks for libraries. -build_actor="" - - -PKG_CHECK_MODULES(LIBPROJECTM, libprojectM >= 0.0.0, [libprjM="yes"], [libprjM="no"]) -if test x$libprjM = xno; then - AC_MSG_ERROR([*** libprojectM not found. - libprojectM is needed to build this package. - You can download libprojectM at http://xmms-projectM.sf.net/]) -fi -AC_SUBST(LIBPROJECTM_LIBS) -AC_SUBST(LIBPROJECTM_CFLAGS) - - # define some paths macros about libprojectM -AC_DEFINE_UNQUOTED([PROJECTM_SYSCONFDIR],"`pkg-config --variable=sysconfdir libprojectM`",[libprojectM configuration dir]) -AC_DEFINE_UNQUOTED([PROJECTM_DATADIR],"`pkg-config --variable=pkgdatadir libprojectM`",[libprojectM data dir]) - - -PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0, [libvis="yes"], [libvis="no"]) -if test x$libvis = xno; then - AC_MSG_ERROR([*** libvisual not found. - libvisual is needed to build this package. - You can download libvisual at http://libvisual.sf.net/]) -fi -AC_SUBST(LIBVISUAL_LIBS) -AC_SUBST(LIBVISUAL_CFLAGS) - -AC_PATH_X - -opengl=no -if test x$have_x = xyes ; then - - test x$x_libraries != x && LDFLAGS="$LDFLAGS -Wl,-rpath,$x_libraries -L$x_libraries" - test x$x_includes != x && CPPFLAGS="$CPPFLAGS -I$x_includes" - - AC_CHECK_HEADERS([\ - X11/keysym.h \ - X11/X.h \ - X11/Xlib.h \ - X11/Xutil.h], [], [ - AC_MSG_ERROR([Required X11 headers not found.]) - ]) - - AC_CHECK_HEADERS([\ - GL/gl.h \ - GL/glx.h], [have_gl_headers=yes], [have_gl_headers=no]) - - if test x$have_gl_headers = xyes ; then - AC_CHECK_LIB([GL], [glBegin], [have_lib_gl=yes], [have_lib_gl=no]) - else - have_lib_gl=no - fi - - opengl=$have_lib_gl - - AM_CONDITIONAL(HAVE_LIB_GL, test x$have_lib_gl = xyes) - - XF86VM_LIB= - AC_CHECK_HEADERS([\ - X11/extensions/xf86vmode.h], [ - AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode], [ - AC_DEFINE(HAVE_XF86VMODE, [], [XF86VidMode is available]) - XF86VM_LIB=-lXxf86vm - xf86vm=yes - ], [xf86vm=no]) ], [], - [[#include - ]]) - - AC_SUBST(XF86VM_LIB) - AM_CONDITIONAL(HAVE_XF86VMODE, test x$xf86vm = xyes) -else - opengl=no -fi - -AM_CONDITIONAL(HAVE_X, test x$have_x = xyes) - - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -# Checks for header files. -AC_HEADER_TIME -AC_CHECK_HEADERS([fcntl.h unistd.h stdlib.h string.h sys/time.h]) -AC_C_INLINE - -# Checks for library functions. -AC_FUNC_MALLOC -AC_CHECK_FUNCS([floor gettimeofday memmove memset pow sqrt]) -AC_CHECK_FUNC([munmap], lv_have_munmap=yes, lv_have_munmap=no) -AC_FUNC_MMAP - -AC_ARG_ENABLE([projectm], - AC_HELP_STRING([--disable-projectm], - [Do not build projectm plugin @<:@default=enabled@:>@]), - [lvprojectm=$enableval], - [lvprojectm=yes]) -AC_MSG_CHECKING([whether to build lv_projectm plugin]) -if test x$lvprojectm = xyes; then - AC_MSG_RESULT([yes]) - if test x$opengl = xyes; then - build_actor="$build_actor actor_projectm" - AC_SUBST([PROJECTM], ['actor_projectM.la']) - else - AC_MSG_WARN([*** No OpenGL found. - projectm plugin will not be built.]) - build_actor="$build_actor actor_projectm" - AC_SUBST([PROJECTM], ['actor_projectM.la']) - fi -else - AC_MSG_RESULT([no]) -fi - -# -# Build paramaters -# - -DEBUG_CFLAGS="" - -AC_ARG_ENABLE([profiling], - AC_HELP_STRING([--enable-profiling], - [Enable emision of profile data to be used by gprof @<:@default=disabled@:>@]), - [profiling=$enableval], - [profiling=no]) -AC_MSG_CHECKING([wheter to enable profiling]) -if test x$profiling = xyes; then - AC_MSG_RESULT([yes]) - DEBUG_CFLAGS="$DEBUG_CFLAGS -pg" -else - AC_MSG_RESULT([no]) -fi - -AC_ARG_ENABLE([debug], - AC_HELP_STRING([--enable-debug], - [Enable debug @<:@default=disabled@:>@]), - [debug=$enableval], - [debug=no]) -AC_MSG_CHECKING([whether to enable debug]) -if test "$debug" = yes; then - AC_MSG_RESULT([yes]) - DEBUG_CFLAGS="$DEBUG_CFLAGS -ggdb3" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall -Wmissing-braces -Wimplicit -Wunused" - DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wno-unused-variable" -else - AC_MSG_RESULT([no]) -fi -AC_SUBST(DEBUG_CFLAGS) - -AC_ARG_ENABLE([extra-optimization], - AC_HELP_STRING([--enable-extra-optimization], - [Enable extra optimizations @<:@default=disabled@:>@]), - [extra_opt=$enableval], - [extra_opt=no]) -AC_MSG_CHECKING([wheter to enable extra optimizations]) -if test x$extra_opt = xyes; then - AC_MSG_RESULT([yes]) - OPT_CFLAGS="-O3 -fexpensive-optimizations" -else - AC_MSG_RESULT([no]) - if test x$debug = xyes; then - OPT_CFLAGS="-O0" - else - OPT_CFLAGS="" - fi -fi -AC_SUBST(OPT_CFLAGS) - -AC_SUBST(CFLAGS, "${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}") -AC_SUBST(CXXFLAGS, "${CFLAGS} ${DEBUG_CFLAGS} ${OPT_CFLAGS}") - -AC_ARG_WITH([plugins_base_dir], - AC_HELP_STRING([--with-plugins_base_dir="dir"], - [Install plugins to this base directory. Defaults to Libvisual's base dir ]), -dnl ' # fix string coloring ;) - [plugins_base_dir=$withval], - [plugins_base_dir=]) - -AC_MSG_CHECKING([where to install plugins]) - -if test -z "$plugins_base_dir"; then - plugins_base_dir=`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4` - AC_MSG_RESULT([$plugins_base_dir]) -else - if test -d "$plugins_base_dir"; then - AC_MSG_RESULT([$plugins_base_dir]) - else - AC_MSG_RESULT([not found]) - AC_MSG_ERROR([Specified plugins base directory "$plugins_base_dir" is not accesible!]) - exit 1 - fi -fi - -LIBVISUAL_PLUGINS_BASE_DIR="$plugins_base_dir" -AC_SUBST(LIBVISUAL_PLUGINS_BASE_DIR) - -libs_dynamic_loader="-ldl" -AC_SUBST(LIBS_DYNAMIC_LOADER, "$libs_dynamic_loader") - -AC_SUBST(DATADIR, "$datadir") - -AC_CONFIG_FILES([ - Makefile -]) - - -AC_OUTPUT - -echo " -================================================ -LIBVISUAL-PROJECTM, THE PROJECTM PLUGIN FOR LIBVISUAL $VERSION -================================================ - -Packages found: -libvisual: : ${libvis} - -Plugins being build: -actor: : ${build_actor} - -Libvisual plugin data dir: : ${prefix}/share - -Build options: -install path : $plugins_base_dir -source code location: : ${srcdir} -compiler: : ${CC} -" - diff --git a/src/projectM-libvisual/depcomp b/src/projectM-libvisual/depcomp deleted file mode 100755 index 04701da536..0000000000 --- a/src/projectM-libvisual/depcomp +++ /dev/null @@ -1,530 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2005-07-09.11 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-libvisual/install-sh b/src/projectM-libvisual/install-sh deleted file mode 100755 index 4d4a9519ea..0000000000 --- a/src/projectM-libvisual/install-sh +++ /dev/null @@ -1,323 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2005-05-14.22 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-libvisual/libtool b/src/projectM-libvisual/libtool deleted file mode 100755 index 2b8496d71b..0000000000 --- a/src/projectM-libvisual/libtool +++ /dev/null @@ -1,7959 +0,0 @@ -#! /bin/sh - -# libtoolT - Provide generalized library-building support services. -# Generated automatically by (GNU libvisual-projectm 0.98) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED="/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="/bin/sed -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags=" CXX F77" - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=i686-pc-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=i686-pc-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="gcc" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/i686-pc-linux-gnu/bin/ld" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=32768 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/i686-pc-linux-gnu/lib /usr/lib /lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr//lib/opengl/xorg-x11/lib /usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/lib/gcc/i686-pc-linux-gnu/4.2.0 /usr/lib/nspr /usr/lib/nss /usr/lib/openmotif-2.2 /usr/lib/qt4 /usr/kde/3.5/lib /usr/qt/3/lib /usr/games/lib /usr/lib/fltk-1.1 /usr/lib/libstdc++-v3/ " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL CONFIG - -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.23b -TIMESTAMP=" (1.1220.2.437 2007/02/17 09:08:45)" - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - # user sometimes does CC=-gcc so we need to match that to 'gcc' - trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` - # and sometimes libtool has CC=-gcc but user does CC=gcc - extendcc=${host}-${CC} - # and sometimes libtool has CC=-gcc but user has CC=-gcc - # (Gentoo-specific hack because we always export $CHOST) - mungedcc=${CHOST-${host}}-${trimedcc} - case "$@ " in - "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ - "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) - tagname=CC - break ;; - "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ - "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ - "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$srcfile" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - - # Make sure env LD_LIBRARY_PATH does not mess us up - if test -n \"\${LD_LIBRARY_PATH+set}\"; then - export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH - fi -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "X$EGREP" = X ; then - EGREP=egrep - fi - # We do not want portage's install root ($D) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$D"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # Rather use S=WORKDIR if our version of portage supports it. - # This is because some ebuild (gcc) do not use $S as buildroot. - if test "$PWORKDIR"; then - S="$PWORKDIR" - fi - # We do not want portage's build root ($S) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` - # We do not want portage's install root ($D) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` - if test -n "$my_little_ninja_foo_2" && test "$S"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$D"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - # Do not add duplicates - if test "$installed" = yes && test "$D"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` - else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=i686-pc-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=i686-pc-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="g++" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/i686-pc-linux-gnu/bin/ld" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=32768 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/crtbeginS.o" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crtn.o" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="-L/usr/lib/gcc/i686-pc-linux-gnu/4.1.2 -L/usr/lib/gcc/i686-pc-linux-gnu/4.1.2 -L/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../.." - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/i686-pc-linux-gnu/lib /usr/lib /lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr//lib/opengl/xorg-x11/lib /usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/lib/gcc/i686-pc-linux-gnu/4.2.0 /usr/lib/nspr /usr/lib/nss /usr/lib/openmotif-2.2 /usr/lib/qt4 /usr/kde/3.5/lib /usr/qt/3/lib /usr/games/lib /usr/lib/fltk-1.1 /usr/lib/libstdc++-v3/ " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL TAG CONFIG: CXX - -# ### BEGIN LIBTOOL TAG CONFIG: F77 - -# Libtool was configured on host localhost: - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# Whether or not to build static libraries. -build_old_libs=no - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=no - -# Whether or not to optimize for fast installation. -fast_install=yes - -# The host system. -host_alias= -host=i686-pc-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias= -build=i686-pc-linux-gnu -build_os=linux-gnu - -# An echo program that does not interpret backslashes. -echo="echo" - -# The archiver. -AR="ar" -AR_FLAGS="cru" - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# A language-specific compiler. -CC="gfortran" - -# Is the compiler the GNU C compiler? -with_gcc=yes - -# An ERE matcher. -EGREP="/bin/grep -E" - -# The linker used to build libraries. -LD="/usr/i686-pc-linux-gnu/bin/ld" - -# Whether we need hard or soft links. -LN_S="ln -s" - -# A BSD-compatible nm program. -NM="/usr/bin/nm -B" - -# A symbol stripping program -STRIP="strip" - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=file - -# Used on cygwin: DLL creation program. -DLLTOOL="dlltool" - -# Used on cygwin: object dumper. -OBJDUMP="objdump" - -# Used on cygwin: assembler. -AS="as" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Object file suffix (normally "o"). -objext="o" - -# Old archive suffix (normally "a"). -libext="a" - -# Shared library suffix (normally ".so"). -shrext_cmds='.so' - -# Executable file suffix (normally ""). -exeext="" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC" -pic_mode=default - -# What is the maximum length of a command? -max_cmd_len=32768 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Must we lock files when doing compilation? -need_locks="no" - -# Do we need the lib prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Compiler flag to turn off builtin functions. -no_builtin_flag="" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec="" - -# Library versioning type. -version_type=linux - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Commands used to build and install an old-style archive. -RANLIB="ranlib" -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build and install a shared archive. -archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" -postinstall_cmds="" -postuninstall_cmds="" - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds="" -module_expsym_cmds="" - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects="" - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps="" - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps="" - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path="" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd="\$MAGIC_CMD" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that forces no undefined symbols. -no_undefined_flag="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" - -# This is the shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# This is the shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist. -hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into -# a binary during linking. This must work even if $libdir does -# not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="" - -# Set to yes if using DIR/libNAME during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=no - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=no - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=no - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Compile-time system search path for libraries -sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/i686-pc-linux-gnu/lib /usr/lib /lib" - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib //usr//lib/opengl/xorg-x11/lib /usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/4.1.2 /usr/lib/gcc/i686-pc-linux-gnu/4.2.0 /usr/lib/nspr /usr/lib/nss /usr/lib/openmotif-2.2 /usr/lib/qt4 /usr/kde/3.5/lib /usr/qt/3/lib /usr/games/lib /usr/lib/fltk-1.1 /usr/lib/libstdc++-v3/ " - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to yes if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - -# Symbols that must always be exported. -include_expsyms="" - -# ### END LIBTOOL TAG CONFIG: F77 - diff --git a/src/projectM-libvisual/ltmain.sh b/src/projectM-libvisual/ltmain.sh deleted file mode 100644 index 1e7283d597..0000000000 --- a/src/projectM-libvisual/ltmain.sh +++ /dev/null @@ -1,6994 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.23b -TIMESTAMP=" (1.1220.2.437 2007/02/17 09:08:45)" - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - # user sometimes does CC=-gcc so we need to match that to 'gcc' - trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"` - # and sometimes libtool has CC=-gcc but user does CC=gcc - extendcc=${host}-${CC} - # and sometimes libtool has CC=-gcc but user has CC=-gcc - # (Gentoo-specific hack because we always export $CHOST) - mungedcc=${CHOST-${host}}-${trimedcc} - case "$@ " in - "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\ - "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*) - tagname=CC - break ;; - "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\ - "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\ - "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\ - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$srcfile" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - - # Make sure env LD_LIBRARY_PATH does not mess us up - if test -n \"\${LD_LIBRARY_PATH+set}\"; then - export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH - fi -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "X$EGREP" = X ; then - EGREP=egrep - fi - # We do not want portage's install root ($D) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$D"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # Rather use S=WORKDIR if our version of portage supports it. - # This is because some ebuild (gcc) do not use $S as buildroot. - if test "$PWORKDIR"; then - S="$PWORKDIR" - fi - # We do not want portage's build root ($S) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` - # We do not want portage's install root ($D) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` - if test -n "$my_little_ninja_foo_2" && test "$S"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$D"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - # Do not add duplicates - if test "$installed" = yes && test "$D"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` - else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/src/projectM-libvisual/m4/acx_pthread.m4 b/src/projectM-libvisual/m4/acx_pthread.m4 deleted file mode 100644 index 06af842758..0000000000 --- a/src/projectM-libvisual/m4/acx_pthread.m4 +++ /dev/null @@ -1,238 +0,0 @@ -dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl @summary figure out how to build C programs using POSIX threads -dnl -dnl This macro figures out how to build C programs using POSIX threads. -dnl It sets the PTHREAD_LIBS output variable to the threads library and -dnl linker flags, and the PTHREAD_CFLAGS output variable to any special -dnl C compiler flags that are needed. (The user can also force certain -dnl compiler flags/libs to be tested by setting these environment -dnl variables.) -dnl -dnl Also sets PTHREAD_CC to any special C compiler that is needed for -dnl multi-threaded programs (defaults to the value of CC otherwise). -dnl (This is necessary on AIX to use the special cc_r compiler alias.) -dnl -dnl NOTE: You are assumed to not only compile your program with these -dnl flags, but also link it with them as well. e.g. you should link -dnl with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS -dnl $LIBS -dnl -dnl If you are only building threads programs, you may wish to use -dnl these variables in your default LIBS, CFLAGS, and CC: -dnl -dnl LIBS="$PTHREAD_LIBS $LIBS" -dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -dnl CC="$PTHREAD_CC" -dnl -dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute -dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to -dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -dnl -dnl ACTION-IF-FOUND is a list of shell commands to run if a threads -dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to -dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the -dnl default action will define HAVE_PTHREAD. -dnl -dnl Please let the authors know if this macro fails on any platform, or -dnl if you have any other suggestions or comments. This macro was based -dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with -dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros -dnl posted by Alejandro Forero Cuervo to the autoconf macro repository. -dnl We are also grateful for the helpful feedback of numerous users. -dnl -dnl @category InstalledPackages -dnl @author Steven G. Johnson -dnl @version 2005-06-15 -dnl @license GPLWithACException - -AC_DEFUN([ACX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_SAVE -AC_LANG_C -acx_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) - AC_MSG_RESULT($acx_pthread_ok) - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_TRY_LINK([#include ], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], - [acx_pthread_ok=yes]) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT($acx_pthread_ok) - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_TRY_LINK([#include ], [int attr=$attr; return attr;], - [attr_name=$attr; break]) - done - AC_MSG_RESULT($attr_name) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with cc_r - AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) -else - PTHREAD_CC="$CC" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - acx_pthread_ok=no - $2 -fi -AC_LANG_RESTORE -])dnl ACX_PTHREAD diff --git a/src/projectM-libvisual/m4/ax_check_gl.m4 b/src/projectM-libvisual/m4/ax_check_gl.m4 deleted file mode 100644 index 08305c1059..0000000000 --- a/src/projectM-libvisual/m4/ax_check_gl.m4 +++ /dev/null @@ -1,95 +0,0 @@ -dnl @synopsis AX_CHECK_GL -dnl -dnl Check for an OpenGL implementation. If GL is found, the required -dnl compiler and linker flags are included in the output variables -dnl "GL_CFLAGS" and "GL_LIBS", respectively. This macro adds the -dnl configure option "--with-apple-opengl-framework", which users can -dnl use to indicate that Apple's OpenGL framework should be used on Mac -dnl OS X. If Apple's OpenGL framework is used, the symbol -dnl "HAVE_APPLE_OPENGL_FRAMEWORK" is defined. If no GL implementation -dnl is found, "no_gl" is set to "yes". -dnl -dnl @category InstalledPackages -dnl @author Braden McDaniel -dnl @version 2004-11-15 -dnl @license AllPermissive - -AC_DEFUN([AX_CHECK_GL], -[AC_REQUIRE([AC_PATH_X])dnl -AC_REQUIRE([ACX_PTHREAD])dnl - -# -# There isn't a reliable way to know we should use the Apple OpenGL framework -# without a configure option. A Mac OS X user may have installed an -# alternative GL implementation (e.g., Mesa), which may or may not depend on X. -# -AC_ARG_WITH([apple-opengl-framework], - [AC_HELP_STRING([--with-apple-opengl-framework], - [use Apple OpenGL framework (Mac OS X only)])]) -if test "X$with_apple_opengl_framework" = "Xyes"; then - AC_DEFINE([HAVE_APPLE_OPENGL_FRAMEWORK], [1], - [Use the Apple OpenGL framework.]) - GL_LIBS="-framework OpenGL" -else - AC_LANG_PUSH(C) - - AX_LANG_COMPILER_MS - if test X$ax_compiler_ms = Xno; then - GL_CFLAGS="${PTHREAD_CFLAGS}" - GL_LIBS="${PTHREAD_LIBS} -lm" - fi - - # - # Use x_includes and x_libraries if they have been set (presumably by - # AC_PATH_X). - # - if test "X$no_x" != "Xyes"; then - if test -n "$x_includes"; then - GL_CFLAGS="-I${x_includes} ${GL_CFLAGS}" - fi - if test -n "$x_libraries"; then - GL_LIBS="-L${x_libraries} -lX11 ${GL_LIBS}" - fi - fi - - AC_CHECK_HEADERS([windows.h]) - - AC_CACHE_CHECK([for OpenGL library], [ax_cv_check_gl_libgl], - [ax_cv_check_gl_libgl="no" - ax_save_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" - ax_save_LIBS="${LIBS}" - LIBS="" - ax_check_libs="-lopengl32 -lGL" - for ax_lib in ${ax_check_libs}; do - if test X$ax_compiler_ms = Xyes; then - ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'` - else - ax_try_lib="${ax_lib}" - fi - LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ -# if HAVE_WINDOWS_H && defined(_WIN32) -# include -# endif -# include ]], - [[glBegin(0)]])], - [ax_cv_check_gl_libgl="${ax_try_lib}"; break]) - done - LIBS=${ax_save_LIBS} - CPPFLAGS=${ax_save_CPPFLAGS}]) - - if test "X${ax_cv_check_gl_libgl}" = "Xno"; then - no_gl="yes" - GL_CFLAGS="" - GL_LIBS="" - else - GL_LIBS="${ax_cv_check_gl_libgl} ${GL_LIBS}" - fi - AC_LANG_POP(C) -fi - -AC_SUBST([GL_CFLAGS]) -AC_SUBST([GL_LIBS]) -])dnl diff --git a/src/projectM-libvisual/m4/ax_lang_compiler_ms.m4 b/src/projectM-libvisual/m4/ax_lang_compiler_ms.m4 deleted file mode 100644 index 2b3d5a816e..0000000000 --- a/src/projectM-libvisual/m4/ax_lang_compiler_ms.m4 +++ /dev/null @@ -1,23 +0,0 @@ -dnl @synopsis AX_LANG_COMPILER_MS -dnl -dnl Check whether the compiler for the current language is Microsoft. -dnl -dnl This macro is modeled after _AC_LANG_COMPILER_GNU in the GNU -dnl Autoconf implementation. -dnl -dnl @category InstalledPackages -dnl @author Braden McDaniel -dnl @version 2004-11-15 -dnl @license AllPermissive - -AC_DEFUN([AX_LANG_COMPILER_MS], -[AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler], - [ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms], -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER - choke me -#endif -]])], - [ax_compiler_ms=yes], - [ax_compiler_ms=no]) -ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms -])]) diff --git a/src/projectM-libvisual/missing b/src/projectM-libvisual/missing deleted file mode 100755 index 894e786e16..0000000000 --- a/src/projectM-libvisual/missing +++ /dev/null @@ -1,360 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2005-06-08.21 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case "$1" in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/src/projectM-libvisual/stamp-h1 b/src/projectM-libvisual/stamp-h1 deleted file mode 100644 index 4547fe1b5e..0000000000 --- a/src/projectM-libvisual/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for config.h diff --git a/src/projectM-moviegen/CVS/Entries b/src/projectM-moviegen/CVS/Entries deleted file mode 100755 index 580aaf7c96..0000000000 --- a/src/projectM-moviegen/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/projectMmovie.dsp/1.1/Tue Oct 5 16:39:40 2004// -/projectMmovie.c/1.1/Tue Oct 19 20:28:46 2004// -/Info.plist/1.1/Tue Oct 19 18:34:22 2004// -/PkgInfo/1.1/Tue Oct 19 18:34:25 2004// -/Makefile.macos/1.1/Tue Oct 19 18:35:19 2004// -/projectM.icns/1.1/Mon Nov 15 15:07:57 2004/-kb/ -D diff --git a/src/projectM-moviegen/CVS/Repository b/src/projectM-moviegen/CVS/Repository deleted file mode 100755 index e965bd22e5..0000000000 --- a/src/projectM-moviegen/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/projectMmovie diff --git a/src/projectM-moviegen/CVS/Root b/src/projectM-moviegen/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-moviegen/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-moviegen/projectMmovie.c b/src/projectM-moviegen/projectMmovie.c index 6198e82398..106a092286 100755 --- a/src/projectM-moviegen/projectMmovie.c +++ b/src/projectM-moviegen/projectMmovie.c @@ -229,7 +229,7 @@ fprintf( debugFile, "post SDL_SetVideoMode()\n" ); } #endif -#ifdef MACOS +#ifdef __APPLE__ globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 ); strcpy( globalPM->fontURL, "../../fonts" ); diff --git a/src/projectM-pulseaudio/.gitignore b/src/projectM-pulseaudio/.gitignore new file mode 100644 index 0000000000..bf39bead28 --- /dev/null +++ b/src/projectM-pulseaudio/.gitignore @@ -0,0 +1,5 @@ +QPulseAudioDeviceChooser_moc.cpp +QPulseAudioDeviceModel_moc.cpp +QPulseAudioThread_moc.cpp +projectM-pulseaudio +ui_PulseDeviceChooserDialog.h diff --git a/src/projectM-pulseaudio/AUTHORS b/src/projectM-pulseaudio/AUTHORS new file mode 100644 index 0000000000..e405404f83 --- /dev/null +++ b/src/projectM-pulseaudio/AUTHORS @@ -0,0 +1,2 @@ +Carmelo Piccione (carmelo.piccione+projectM@gmail.com) + diff --git a/src/projectM-pulseaudio/COPYING b/src/projectM-pulseaudio/COPYING new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/src/projectM-pulseaudio/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/projectM-pulseaudio/ChangeLog b/src/projectM-pulseaudio/ChangeLog new file mode 100644 index 0000000000..c80c00a49c --- /dev/null +++ b/src/projectM-pulseaudio/ChangeLog @@ -0,0 +1 @@ +10/10/2007 FIRST RELEASE! \ No newline at end of file diff --git a/src/projectM-pulseaudio/ConfigFile.cpp b/src/projectM-pulseaudio/ConfigFile.cpp new file mode 100644 index 0000000000..302376c334 --- /dev/null +++ b/src/projectM-pulseaudio/ConfigFile.cpp @@ -0,0 +1,166 @@ + +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + +// ConfigFile.cpp + +#include "ConfigFile.h" + +using std::string; + +ConfigFile::ConfigFile( string filename, string delimiter, + string comment, string sentry ) + : myDelimiter(delimiter), myComment(comment), mySentry(sentry) +{ + // Construct a ConfigFile, getting keys and values from given file + + std::ifstream in( filename.c_str() ); + + if( !in ) throw file_not_found( filename ); + + in >> (*this); +} + + +ConfigFile::ConfigFile() + : myDelimiter( string(1,'=') ), myComment( string(1,'#') ) +{ + // Construct a ConfigFile without a file; empty +} + + +void ConfigFile::remove( const string& key ) +{ + // Remove key and its value + myContents.erase( myContents.find( key ) ); + return; +} + + +bool ConfigFile::keyExists( const string& key ) const +{ + // Indicate whether key is found + mapci p = myContents.find( key ); + return ( p != myContents.end() ); +} + + +/* static */ +void ConfigFile::trim( string& s ) +{ + // Remove leading and trailing whitespace + static const char whitespace[] = " \n\t\v\r\f"; + s.erase( 0, s.find_first_not_of(whitespace) ); + s.erase( s.find_last_not_of(whitespace) + 1U ); +} + + +std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ) +{ + // Save a ConfigFile to os + for( ConfigFile::mapci p = cf.myContents.begin(); + p != cf.myContents.end(); + ++p ) + { + os << p->first << " " << cf.myDelimiter << " "; + os << p->second << std::endl; + } + return os; +} + + +std::istream& operator>>( std::istream& is, ConfigFile& cf ) +{ + // Load a ConfigFile from is + // Read in keys and values, keeping internal whitespace + typedef string::size_type pos; + const string& delim = cf.myDelimiter; // separator + const string& comm = cf.myComment; // comment + const string& sentry = cf.mySentry; // end of file sentry + const pos skip = delim.length(); // length of separator + + string nextline = ""; // might need to read ahead to see where value ends + + while( is || nextline.length() > 0 ) + { + // Read an entire line at a time + string line; + if( nextline.length() > 0 ) + { + line = nextline; // we read ahead; use it now + nextline = ""; + } + else + { + std::getline( is, line ); + } + + // Ignore comments + line = line.substr( 0, line.find(comm) ); + + // Check for end of file sentry + if( sentry != "" && line.find(sentry) != string::npos ) return is; + + // Parse the line if it contains a delimiter + pos delimPos = line.find( delim ); + if( delimPos < string::npos ) + { + // Extract the key + string key = line.substr( 0, delimPos ); + line.replace( 0, delimPos+skip, "" ); + + // See if value continues on the next line + // Stop at blank line, next line with a key, end of stream, + // or end of file sentry + bool terminate = false; + while( !terminate && is ) + { + std::getline( is, nextline ); + terminate = true; + + string nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy == "" ) continue; + + nextline = nextline.substr( 0, nextline.find(comm) ); + if( nextline.find(delim) != string::npos ) + continue; + if( sentry != "" && nextline.find(sentry) != string::npos ) + continue; + + nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy != "" ) line += "\n"; + line += nextline; + terminate = false; + } + + // Store key and value + ConfigFile::trim(key); + ConfigFile::trim(line); + cf.myContents[key] = line; // overwrites if key is repeated + } + } + + return is; +} diff --git a/src/projectM-pulseaudio/ConfigFile.h b/src/projectM-pulseaudio/ConfigFile.h new file mode 100644 index 0000000000..c2f002447c --- /dev/null +++ b/src/projectM-pulseaudio/ConfigFile.h @@ -0,0 +1,253 @@ +// ConfigFile.h +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + +// Typical usage +// ------------- +// +// Given a configuration file "settings.inp": +// atoms = 25 +// length = 8.0 # nanometers +// name = Reece Surcher +// +// Named values are read in various ways, with or without default values: +// ConfigFile config( "settings.inp" ); +// int atoms = config.read( "atoms" ); +// double length = config.read( "length", 10.0 ); +// string author, title; +// config.readInto( author, "name" ); +// config.readInto( title, "title", string("Untitled") ); +// +// See file example.cpp for more examples. + +#ifndef CONFIGFILE_H +#define CONFIGFILE_H + +#include +#include +#include +#include +#include + +using std::string; + +class ConfigFile { +// Data +protected: + string myDelimiter; // separator between key and value + string myComment; // separator between value and comments + string mySentry; // optional string to signal end of file + std::map myContents; // extracted keys and values + + typedef std::map::iterator mapi; + typedef std::map::const_iterator mapci; + +// Methods +public: + ConfigFile( string filename, + string delimiter = "=", + string comment = "#", + string sentry = "EndConfigFile" ); + ConfigFile(); + + // Search for key and read value or optional default value + template T read( const string& key ) const; // call as read + template T read( const string& key, const T& value ) const; + template bool readInto( T& var, const string& key ) const; + template + bool readInto( T& var, const string& key, const T& value ) const; + + // Modify keys and values + template void add( string key, const T& value ); + void remove( const string& key ); + + // Check whether key exists in configuration + bool keyExists( const string& key ) const; + + // Check or change configuration syntax + string getDelimiter() const { return myDelimiter; } + string getComment() const { return myComment; } + string getSentry() const { return mySentry; } + string setDelimiter( const string& s ) + { string old = myDelimiter; myDelimiter = s; return old; } + string setComment( const string& s ) + { string old = myComment; myComment = s; return old; } + + // Write or read configuration + friend std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ); + friend std::istream& operator>>( std::istream& is, ConfigFile& cf ); + +protected: + template static string T_as_string( const T& t ); + template static T string_as_T( const string& s ); + static void trim( string& s ); + + +// Exception types +public: + struct file_not_found { + string filename; + file_not_found( const string& filename_ = string() ) + : filename(filename_) {} }; + struct key_not_found { // thrown only by T read(key) variant of read() + string key; + key_not_found( const string& key_ = string() ) + : key(key_) {} }; +}; + + +/* static */ +template +string ConfigFile::T_as_string( const T& t ) +{ + // Convert from a T to a string + // Type T must support << operator + std::ostringstream ost; + ost << t; + return ost.str(); +} + + +/* static */ +template +T ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a T + // Type T must support >> operator + T t; + std::istringstream ist(s); + ist >> t; + return t; +} + + +/* static */ +template<> +inline string ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a string + // In other words, do nothing + return s; +} + + +/* static */ +template<> +inline bool ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a bool + // Interpret "false", "F", "no", "n", "0" as false + // Interpret "true", "T", "yes", "y", "1", "-1", or anything else as true + bool b = true; + string sup = s; + for( string::iterator p = sup.begin(); p != sup.end(); ++p ) + *p = toupper(*p); // make string all caps + if( sup==string("FALSE") || sup==string("F") || + sup==string("NO") || sup==string("N") || + sup==string("0") || sup==string("NONE") ) + b = false; + return b; +} + + +template +T ConfigFile::read( const string& key ) const +{ + // Read the value corresponding to key + mapci p = myContents.find(key); + if( p == myContents.end() ) throw key_not_found(key); + return string_as_T( p->second ); +} + + +template +T ConfigFile::read( const string& key, const T& value ) const +{ + // Return the value corresponding to key or given default value + // if key is not found + mapci p = myContents.find(key); + if( p == myContents.end() ) return value; + return string_as_T( p->second ); +} + + +template +bool ConfigFile::readInto( T& var, const string& key ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise leave var untouched + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) var = string_as_T( p->second ); + return found; +} + + +template +bool ConfigFile::readInto( T& var, const string& key, const T& value ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise set var to given default + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) + var = string_as_T( p->second ); + else + var = value; + return found; +} + + +template +void ConfigFile::add( string key, const T& value ) +{ + // Add a key with given value + string v = T_as_string( value ); + trim(key); + trim(v); + myContents[key] = v; + return; +} + +#endif // CONFIGFILE_H + +// Release notes: +// v1.0 21 May 1999 +// + First release +// + Template read() access only through non-member readConfigFile() +// + ConfigurationFileBool is only built-in helper class +// +// v2.0 3 May 2002 +// + Shortened name from ConfigurationFile to ConfigFile +// + Implemented template member functions +// + Changed default comment separator from % to # +// + Enabled reading of multiple-line values +// +// v2.1 24 May 2004 +// + Made template specializations inline to avoid compiler-dependent linkage +// + Allowed comments within multiple-line values +// + Enabled blank line termination for multiple-line values +// + Added optional sentry to detect end of configuration file +// + Rewrote messy trimWhitespace() function as elegant trim() diff --git a/src/projectM-pulseaudio/INSTALL b/src/projectM-pulseaudio/INSTALL new file mode 100644 index 0000000000..ec1d224e16 --- /dev/null +++ b/src/projectM-pulseaudio/INSTALL @@ -0,0 +1,6 @@ + +cmake . -DCMAKE_BUILD_TYPE=RELEASE +make +make install + +You may need to type ccmake . and change the PREFIX if your system prefers /usr instead of /usr/local. \ No newline at end of file diff --git a/src/projectM-pulseaudio/Makefile.am b/src/projectM-pulseaudio/Makefile.am new file mode 100644 index 0000000000..bcdf80e1d4 --- /dev/null +++ b/src/projectM-pulseaudio/Makefile.am @@ -0,0 +1,78 @@ +SUFFIXES = .hpp .cpp _moc.cpp _qrc.qrc +QT_CXXFLAGS = @QT_CXXFLAGS@ +QT_LIBS = @QT_LIBS@ +MOC = @QT_MOC@ +UIC = @QT_UIC@ + +projectM_pulseaudio_qtheaders = \ + QPulseAudioDeviceChooser.hpp \ + QPulseAudioDeviceModel.hpp \ + QPulseAudioThread.hpp + +nodist_projectM_pulseaudio_moc_sources = $(projectM_pulseaudio_qtheaders:.hpp=_moc.cpp) + +.hpp_moc.cpp: + $(MOC) -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $< + +ui_PulseDeviceChooserDialog.h: PulseDeviceChooserDialog.ui + $(UIC) -o $@ $< + +AM_CPPFLAGS = \ + -include $(top_builddir)/config.h \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DPROJECTM_PREFIX=\""${prefix}"\" \ + -I${top_srcdir}/src/libprojectM \ + -I${top_srcdir}/src/libprojectM/Renderer \ + -I${top_srcdir}/src/projectM-qt \ + ${QT_CXXFLAGS} \ + ${libpulse_CFLAGS} \ + -fPIC + +AM_CFLAGS = ${my_CFLAGS} \ + -fvisibility=hidden \ + -ffunction-sections \ + -fdata-sections + +bin_PROGRAMS = projectM-pulseaudio + +projectM_pulseaudio_SOURCES = \ + qprojectM-pulseaudio.cpp \ + QPulseAudioDeviceChooser.cpp \ + QPulseAudioDeviceModel.cpp \ + QPulseAudioThread.cpp \ + PulseDeviceChooserDialog.ui \ + $(projectM_pulseaudio_qtheaders) + +nodist_projectM_pulseaudio_SOURCES = \ + $(nodist_projectM_pulseaudio_moc_sources) + +projectM_pulseaudio_LDADD = \ + ${libpulse_LIBS} \ + ../projectM-qt/libprojectM_qt.a \ + ../libprojectM/libprojectM.la \ + ${QT_LIBS} + +projectM_pulseaudio_LDFLAGS = -static ${QT_LIBS} + +projectM_pulseaudio_PROGRAM = projectM-pulseaudio + +BUILT_SOURCES = \ + ui_PulseDeviceChooserDialog.h + +CLEANFILES = \ + ${BUILT_SOURCES} \ + ${nodist_projectM_pulseaudio_moc_sources} + +desktopdir = $(datadir)/applications +dist_desktop_DATA = projectM-pulseaudio.desktop + +icondir = $(datadir)/icons/hicolor/scalable/apps +icon_svg = ${top_srcdir}/src/projectM-qt/images/icons/prjm16-transparent.svg + +install-icons: + mkdir -p $(DESTDIR)$(icondir); \ + $(INSTALL_DATA) $(icon_svg) $(DESTDIR)$(icondir)/projectM.svg + +install-data-local: install-icons + +dist_man_MANS = projectM-pulseaudio.1 diff --git a/src/projectM-pulseaudio/NEWS b/src/projectM-pulseaudio/NEWS new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/projectM-pulseaudio/PulseDeviceChooserDialog.ui b/src/projectM-pulseaudio/PulseDeviceChooserDialog.ui new file mode 100644 index 0000000000..b868c3003d --- /dev/null +++ b/src/projectM-pulseaudio/PulseDeviceChooserDialog.ui @@ -0,0 +1,112 @@ + + pulseDeviceChooserDialog + + + + 0 + 0 + 380 + 271 + + + + Pulse Audio Settings + + + + + 10 + 10 + 361 + 251 + + + + + + + + + Select a source device below. + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Double click a source device to activate it.</p></body></html> + + + true + + + QListView::ListMode + + + + + + + This will try to find any available playback monitor on startup as the pulseaudio source device. This is a quick and dirty way to generally get projectM sound data without specifying a device explicitly. + + + Try first available playback monitor + + + + + + + + + Qt::Vertical + + + QDialogButtonBox::Ok + + + + + + + + + + + + buttonBox + rejected() + pulseDeviceChooserDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + buttonBox + accepted() + pulseDeviceChooserDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + diff --git a/src/projectM-pulseaudio/QPulseAudioDeviceChooser.cpp b/src/projectM-pulseaudio/QPulseAudioDeviceChooser.cpp new file mode 100644 index 0000000000..27dd250d2a --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioDeviceChooser.cpp @@ -0,0 +1,103 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "QPulseAudioDeviceChooser.hpp" +#include +#include +#include + +void QPulseAudioDeviceChooser::writeSettings() +{ + + QSettings settings ( "projectM", "qprojectM-pulseaudio" ); + settings.setValue ( "tryFirstAvailablePlaybackMonitor", + this->tryFirstPlayBackMonitorCheckBox->checkState() == Qt::Checked ); + + if ( _qpulseAudioThread != 0 && (_qpulseAudioThread->devices().size() > 0) && _qpulseAudioThread->sourcePosition() != _qpulseAudioThread->devices().end()) + settings.setValue("pulseAudioDeviceName", *_qpulseAudioThread->sourcePosition()); + +} + + +void QPulseAudioDeviceChooser::readSettings() +{ + + QSettings settings ( "projectM", "qprojectM-pulseaudio" ); + + bool tryFirst = settings.value + ( "tryFirstAvailablePlaybackMonitor", true ).toBool() ; + + this->tryFirstPlayBackMonitorCheckBox->setCheckState + ( tryFirst ? Qt::Checked : Qt::Unchecked ); + + if ( tryFirst ) + { + this->devicesListView->setEnabled(false); + } else { + this->devicesListView->setEnabled(true); + } + +} + + +void QPulseAudioDeviceChooser::updateDevicesListViewLock(int state) { + + + devicesListView->setEnabled(state != Qt::Checked); + + if (state == Qt::Checked) { + if (_qpulseAudioThread != 0) + _qpulseAudioThread->connectDevice(); + } +} + + +QPulseAudioDeviceChooser::QPulseAudioDeviceChooser ( QPulseAudioThread * qpulseAudioThread, QWidget * parent = 0, Qt::WindowFlags f ) : QDialog ( parent, f ), _qpulseAudioDeviceModel ( qpulseAudioThread->devices(), qpulseAudioThread->sourcePosition(), this), _qpulseAudioThread ( qpulseAudioThread ) +{ + + setupUi ( this ); + readSettings(); + this->devicesListView->setModel ( &_qpulseAudioDeviceModel ); + + + QHBoxLayout * hboxLayout = new QHBoxLayout(); + + hboxLayout->addWidget(this->layoutWidget); + this->setLayout(hboxLayout); + + connect ( tryFirstPlayBackMonitorCheckBox, + SIGNAL(stateChanged(int)), this, SLOT(updateDevicesListViewLock(int))); + + // Using the display index is fine as as we are getting the text associated with it + // and passing the raw string to pulse audio. + connect ( devicesListView, SIGNAL ( doubleClicked ( const QModelIndex& ) ), + _qpulseAudioThread, SLOT ( connectDevice ( const QModelIndex& ) ) ); + + connect ( _qpulseAudioThread, SIGNAL ( deviceChanged()), + &_qpulseAudioDeviceModel, SLOT (updateItemHighlights())); + +} + +void QPulseAudioDeviceChooser::open() +{ + this->show(); +} + diff --git a/src/projectM-pulseaudio/QPulseAudioDeviceChooser.hpp b/src/projectM-pulseaudio/QPulseAudioDeviceChooser.hpp new file mode 100644 index 0000000000..38565704e1 --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioDeviceChooser.hpp @@ -0,0 +1,50 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPULSEAUDIO_DEV_CHOOSER_HPP +#define QPULSEAUDIO_DEV_CHOOSER_HPP +#include "ui_PulseDeviceChooserDialog.h" +#include "QPulseAudioDeviceModel.hpp" +#include "QPulseAudioThread.hpp" + +class QDialog; + + +class QPulseAudioDeviceChooser : public QDialog, public Ui::pulseDeviceChooserDialog { + + Q_OBJECT + + public: + QPulseAudioDeviceChooser(QPulseAudioThread * pulseAudioThread, QWidget * parent, Qt::WindowFlags f=0); + + typedef QHash SourceContainer; + public slots: + void updateDevicesListViewLock(int state); + void open(); + void writeSettings(); + private slots: + void readSettings(); + + private: + QPulseAudioDeviceModel _qpulseAudioDeviceModel; + QPulseAudioThread * _qpulseAudioThread; +}; +#endif diff --git a/src/projectM-pulseaudio/QPulseAudioDeviceModel.cpp b/src/projectM-pulseaudio/QPulseAudioDeviceModel.cpp new file mode 100644 index 0000000000..c5ac60c4cd --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioDeviceModel.cpp @@ -0,0 +1,90 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "QPulseAudioDeviceModel.hpp" +#include +#include +#include +#include +#include + + QPulseAudioDeviceModel::QPulseAudioDeviceModel(const QHash & devices, const QHash::const_iterator & devicePosition, QObject * parent): _devices(devices), _devicePosition(devicePosition) { + + } + + void QPulseAudioDeviceModel::updateItemHighlights() + { + if ( rowCount() == 0 ) + return; + + emit ( dataChanged ( this->index (0), this->index ( rowCount()-1 ) )); + } + +QVariant QPulseAudioDeviceModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const +{ + if (!index.isValid()) + return QVariant(); + + if (index.row() >= rowCount()) + return QVariant(); + + QHash::const_iterator pos; + switch ( role ) + { + case Qt::DisplayRole: + pos = _devices.begin() + index.row(); + return *pos; + case Qt::DecorationRole: + { + QIcon icon(":/check.png"); + return icon; + break; + + } + + case Qt::ToolTipRole: + pos = _devices.begin() + index.row(); + if (_devicePosition == _devices.begin() + index.row()) + return *pos + " (active)"; + else + return *pos + " (inactive)"; + + + case Qt::BackgroundRole: + if (_devicePosition == _devices.begin() + index.row()) { + return QColor(Qt::green); + } else { + return QColor(Qt::white); + } + default: + + return QVariant(); + } +} + +int QPulseAudioDeviceModel::rowCount ( const QModelIndex & parent) const +{ + + return _devices.count(); +} + + + diff --git a/src/projectM-pulseaudio/QPulseAudioDeviceModel.hpp b/src/projectM-pulseaudio/QPulseAudioDeviceModel.hpp new file mode 100644 index 0000000000..39fad6b07a --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioDeviceModel.hpp @@ -0,0 +1,51 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + + +#ifndef QPULSEAUDIODEVICEMODEL_HPP +#define QPULSEAUDIODEVICEMODEL_HPP + +#include +#include "projectM.hpp" +#include +#include + + class QPulseAudioDeviceModel : public QAbstractListModel + { + Q_OBJECT // must include this if you use Qt signals/slots + + public slots: + void updateItemHighlights(); + + public: + QPulseAudioDeviceModel(const QHash & devices, const QHash::const_iterator & devicePosition , QObject * parent); + ~QPulseAudioDeviceModel() { } + + + +QVariant data ( const QModelIndex & index, int role) const; +int rowCount ( const QModelIndex & parent = QModelIndex()) const ; + + private: + const QHash & _devices; + const QHash::const_iterator & _devicePosition; +}; +#endif diff --git a/src/projectM-pulseaudio/QPulseAudioThread.cpp b/src/projectM-pulseaudio/QPulseAudioThread.cpp new file mode 100644 index 0000000000..b69a93ebbc --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioThread.cpp @@ -0,0 +1,762 @@ +#include "projectM.hpp" +#include "QPulseAudioThread.hpp" +#include +#include +#include + + +/* Adopted from PulseAudio by carmelo.piccione+projectm@gmail.com + + Copyright 2004-2006 Lennart Poettering + Copyright 2006 Pierre Ossman for Cendio AB + + +***/ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "qprojectm_mainwindow.hpp" + +#define TIME_EVENT_USEC 50000 + +#if PA_API_VERSION < 9 +#error Invalid PulseAudio API version +#endif + +#define BUFSIZE 1024 + + + pa_context *QPulseAudioThread::context = NULL; + pa_stream *QPulseAudioThread::stream = NULL; + pa_mainloop_api *QPulseAudioThread::mainloop_api = NULL; + pa_time_event *QPulseAudioThread::time_event = NULL; + float *QPulseAudioThread::buffer = NULL; + size_t QPulseAudioThread::buffer_length = 0, QPulseAudioThread::buffer_index = 0; + pa_threaded_mainloop * QPulseAudioThread::mainloop = NULL; + pa_io_event * QPulseAudioThread::stdio_event = NULL; + char * QPulseAudioThread::server = NULL; + char * QPulseAudioThread::stream_name = NULL, *QPulseAudioThread::client_name = NULL, *QPulseAudioThread::device =0; + QMutex * QPulseAudioThread::s_audioMutex; + int QPulseAudioThread::verbose = 0; + + pa_volume_t QPulseAudioThread::volume = PA_VOLUME_NORM; + + pa_channel_map QPulseAudioThread::channel_map; + int QPulseAudioThread::channel_map_set = 0; + pa_sample_spec QPulseAudioThread::sample_spec ; + +QPulseAudioThread::SourceContainer QPulseAudioThread::s_sourceList; +QPulseAudioThread::SourceContainer::const_iterator QPulseAudioThread::s_sourcePosition; + +QProjectM_MainWindow ** QPulseAudioThread::s_qprojectM_MainWindowPtr = 0; + +QPulseAudioThread::QPulseAudioThread ( int _argc, char **_argv, QProjectM_MainWindow * mainWindow ) : QThread ( 0 ), argc ( _argc ), argv ( _argv ), m_qprojectM_MainWindow (mainWindow) +{ + s_qprojectM_MainWindowPtr = new QProjectM_MainWindow*; + *s_qprojectM_MainWindowPtr = m_qprojectM_MainWindow; +} + + +QPulseAudioThread::~QPulseAudioThread() +{ + if (s_qprojectM_MainWindowPtr) + delete(s_qprojectM_MainWindowPtr); + s_qprojectM_MainWindowPtr = 0; +} + +QPulseAudioThread::SourceContainer::const_iterator QPulseAudioThread::readSettings() +{ + + QSettings settings ( "projectM", "qprojectM-pulseaudio" ); + + bool tryFirst = settings.value + ( "tryFirstAvailablePlaybackMonitor", true ).toBool() ; + + if ( tryFirst ) + { + + return s_sourceList.end(); + } else { + + QString deviceName = settings.value("pulseAudioDeviceName", QString()).toString(); + qDebug() << "device name is " << deviceName; + for (SourceContainer::const_iterator pos = s_sourceList.begin(); + pos != s_sourceList.end(); ++pos) { + if (*pos == deviceName) { + return pos; + } + } + } + return s_sourceList.end(); +} + +void QPulseAudioThread::cleanup() +{ + + pa_threaded_mainloop_stop ( mainloop ); + + if ( stream ) + pa_stream_unref ( stream ); + + if ( context ) + pa_context_unref ( context ); + + + if ( stdio_event ) + { + assert ( mainloop_api ); + mainloop_api->io_free ( stdio_event ); + } + + + if ( time_event ) + { + assert ( mainloop_api ); + mainloop_api->time_free ( time_event ); + } + + if ( mainloop_api ) + mainloop_api->quit ( mainloop_api, 0 ); + + if ( mainloop ) + { + pa_signal_done(); + pa_threaded_mainloop_free ( mainloop ); + } + + if ( buffer ) + pa_xfree ( buffer ); + + if ( server ) + pa_xfree ( server ); + + if ( device ) + pa_xfree ( device ); + + if ( client_name ) + pa_xfree ( client_name ); + + if ( stream_name ) + pa_xfree ( stream_name ); + + return ; +} + +void QPulseAudioThread::connectHelper (SourceContainer::const_iterator pos) +{ + Q_ASSERT(stream); + pa_stream_flags_t flags = ( pa_stream_flags_t ) 0; +// qDebug() << "start2 "; + assert (pos != s_sourceList.end()); + qDebug() << "connectHelper: " << *pos; + int r; + if ( ( ( r = pa_stream_connect_record (stream, (*pos).toStdString().c_str(), NULL, flags ) ) ) < 0 ) + { + fprintf ( stderr, "pa_stream_connect_record() failed: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + } + + +} + +QPulseAudioThread::SourceContainer::const_iterator QPulseAudioThread::scanForPlaybackMonitor() { + + for ( SourceContainer::const_iterator pos = s_sourceList.begin(); pos != s_sourceList.end(); ++pos ) + { + if ( ( *pos ).contains ( "monitor" ) && (*pos).contains("playback")) + { + return pos; + } + } + + return s_sourceList.end(); + +} + +void QPulseAudioThread::connectDevice ( const QModelIndex & index ) +{ + + if (index.isValid()) + reconnect(s_sourceList.begin() + index.row()); + else + reconnect(s_sourceList.end()); + + emit(deviceChanged()); +} + + +void QPulseAudioThread::reconnect(SourceContainer::const_iterator pos = s_sourceList.end()) { + + if (s_sourceList.empty()) + return; + + if (pos != s_sourceList.end()) { + s_sourcePosition = pos; + qDebug() << "reconnecting with" << *pos; + } + else + s_sourcePosition = scanForPlaybackMonitor(); + + if (s_sourcePosition == s_sourceList.end()) { + s_sourcePosition = s_sourceList.begin(); + } + + if (stream && (pa_stream_get_state(stream) == PA_STREAM_READY)) + { + //qDebug() << "disconnect"; + pa_stream_disconnect ( stream ); + // pa_stream_unref(stream); + //qDebug() << "* return *"; + + } + + if ( ! ( stream = pa_stream_new ( context, stream_name, &sample_spec, channel_map_set ? &channel_map : NULL ) ) ) + { + fprintf ( stderr, "pa_stream_new() failed: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + return; + } + + pa_stream_set_state_callback + ( stream, stream_state_callback, &s_sourceList ); + pa_stream_set_read_callback ( stream, stream_read_callback, &s_sourceList ); + pa_stream_set_moved_callback(stream, stream_moved_callback, &s_sourceList ); + +switch (pa_stream_get_state(stream)) { + case PA_STREAM_UNCONNECTED:// The stream is not yet connected to any sink or source. + qDebug() << "unconnected: connecting..."; + connectHelper(s_sourcePosition); + break; +case PA_STREAM_CREATING ://The stream is being created. + break; +case PA_STREAM_READY :// The stream is established, you may pass audio data to it now. + qDebug() << "stream is still ready, waiting for callback..."; + break; +case PA_STREAM_FAILED :// An error occured that made the stream invalid. + qDebug() << "stream is now invalid. great."; + break; +case PA_STREAM_TERMINATED:// The stream has been terminated cleanly. + qDebug() << "terminated..."; + break; + +} +} + + +void QPulseAudioThread::pa_stream_success_callback(pa_stream *s, int success, void * data) { + + static bool pausedFlag = true; + + if (pausedFlag) + qDebug() << "pause"; + else { + qDebug() << "play"; + } + + + pausedFlag = !pausedFlag; + + // necessarily static + // can do pulse stuff here... +} + + +QMutex * QPulseAudioThread::mutex() { +return s_audioMutex; +} + +void QPulseAudioThread::cork() +{ + int b = 0; + + pa_operation* op = + pa_stream_cork(stream, b, pa_stream_success_callback, this); + + if (op) + pa_operation_unref(op); + else + qDebug() << "cork operation null"; +} + + +/* A shortcut for terminating the application */ +void QPulseAudioThread::pulseQuit ( int ret ) +{ + assert ( mainloop_api ); + mainloop_api->quit ( mainloop_api, ret ); + +} + + +/* This is called whenever new data may is available */ +void QPulseAudioThread::stream_read_callback ( pa_stream *s, size_t length, void *userdata ) +{ + const void *data; + assert ( s && length ); + + if ( stdio_event ) + mainloop_api->io_enable ( stdio_event, PA_IO_EVENT_OUTPUT ); + + if ( pa_stream_peek ( s, &data, &length ) < 0 ) + { + fprintf ( stderr, "pa_stream_peek() failed: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + pulseQuit ( 1 ); + return +; + } + + if ((!s_qprojectM_MainWindowPtr) || (!*s_qprojectM_MainWindowPtr)) + return; + + assert ( data && length ); + + if ( buffer ) + { + fprintf ( stderr, "Buffer overrun, dropping incoming data\n" ); + if ( pa_stream_drop ( s ) < 0 ) + { + fprintf ( stderr, "pa_stream_drop() failed: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + pulseQuit ( 1 ); + } + return; + } + + (*s_qprojectM_MainWindowPtr)->addPCM( (float*)data, length / ( sizeof ( float ) ) ); + + + //buffer = ( float* ) pa_xmalloc ( buffer_length = length ); + //memcpy ( buffer, data, length ); + buffer_index = 0; + pa_stream_drop ( s ); +} + +/* This routine is called whenever the stream state changes */ +void QPulseAudioThread::stream_state_callback ( pa_stream *s, void *userdata ) +{ + assert ( s ); + QPulseAudioThread * thread = (QPulseAudioThread *)userdata; + + switch ( pa_stream_get_state ( s ) ) + { + case PA_STREAM_UNCONNECTED: + qDebug() << "UNCONNECTED"; + break; + case PA_STREAM_CREATING: + qDebug() << "CREATED"; + break; + case PA_STREAM_TERMINATED: + qDebug() << "TERMINATED"; + break; + case PA_STREAM_READY: + qDebug() << "READY"; + if ( verbose ) + { + const pa_buffer_attr *a; + fprintf ( stderr, "Stream successfully created.\n" ); + + if ( ! ( a = pa_stream_get_buffer_attr ( s ) ) ) + fprintf ( stderr, "pa_stream_get_buffer_attr() failed: %s\n", pa_strerror ( pa_context_errno ( pa_stream_get_context ( s ) ) ) ); + else + { + fprintf(stderr, "Buffer metrics: maxlength=%u, fragsize=%u\n", a->maxlength, a->fragsize); + } + } + break; + case PA_STREAM_FAILED: + qDebug() << "FAILED"; + default: + fprintf ( stderr, "Stream error: %s\n", pa_strerror ( pa_context_errno ( pa_stream_get_context ( s ) ) ) ); + pulseQuit ( 1 ); + } +} + + +void QPulseAudioThread::stream_moved_callback(pa_stream *s, void *userdata) { + Q_ASSERT(s); + + if (verbose) + fprintf(stderr, "Stream moved to device %s (%u, %ssuspended).\n", pa_stream_get_device_name(s), pa_stream_get_device_index(s), pa_stream_is_suspended(s) ? "" : "not "); +} + +/* This is called whenever the context status changes */ +void QPulseAudioThread::context_state_callback ( pa_context *c, void *userdata ) +{ + assert ( c ); + + switch ( pa_context_get_state ( c ) ) + { + case PA_CONTEXT_CONNECTING: + case PA_CONTEXT_AUTHORIZING: + case PA_CONTEXT_SETTING_NAME: + break; + + case PA_CONTEXT_READY: + { + int r; + + assert ( c && !stream ); + + if ( verbose ) + fprintf ( stderr, "Connection established.\n" ); + /* + if ( ! ( stream = pa_stream_new ( c, stream_name, &sample_spec, channel_map_set ? &channel_map : NULL ) ) ) + { + fprintf ( stderr, "pa_stream_new() failed: %s\n", pa_strerror ( pa_context_errno ( c ) ) ); + goto fail; + } +*/ + initialize_callbacks ( ( QPulseAudioThread * ) userdata ); + +// pa_stream_set_state_callback +// ( stream, stream_state_callback, userdata ); +// pa_stream_set_read_callback ( stream, stream_read_callback, userdata ); + // pa_stream_set_moved_callback(stream, stream_moved_callback, userdata ); + break; + } + + case PA_CONTEXT_TERMINATED: + pulseQuit ( 0 ); + break; + + case PA_CONTEXT_FAILED: + default: + fprintf ( stderr, "Connection failure: %s\n", pa_strerror ( pa_context_errno ( c ) ) ); + goto fail; + } + + return; + +fail: + pulseQuit ( 1 ); + +} + +/* Connection draining complete */ +void QPulseAudioThread::context_drain_complete ( pa_context*c, void *userdata ) +{ + pa_context_disconnect ( c ); +} + +/* Some data may be written to STDOUT */ +void QPulseAudioThread::stdout_callback ( pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_event_flags_t f, void *userdata ) +{ + + assert ( a == mainloop_api && e && stdio_event == e ); + + if ( !buffer ) + { + mainloop_api->io_enable ( stdio_event, PA_IO_EVENT_NULL ); + return; + } + else + { + + + //s_audioMutex->lock(); + QProjectM_MainWindow ** qprojectM_MainWindowPtr = static_cast ( userdata ); + QProjectM_MainWindow * qprojectM_MainWindow = * qprojectM_MainWindowPtr; + + //QProjectM * prjm = (*qprojectMWidgetPtr)->qprojectM(); + + //if (prjm == 0) { + // s_audioMutex->unlock(); + // return; + //} + + //Q_ASSERT(prjm); + //Q_ASSERT(prjm->pcm()); + Q_ASSERT(buffer); + + qprojectM_MainWindow->addPCM + ( buffer+buffer_index, buffer_length / ( sizeof ( float ) ) ); + //s_audioMutex->unlock(); + //qDebug() << "UNLOCK: add pcm"; + //assert ( buffer_length ); + + pa_xfree ( buffer ); + buffer = NULL; + buffer_length = buffer_index = 0; + } +} + +/* UNIX signal to quit recieved */ +void QPulseAudioThread::exit_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata ) +{ + if ( verbose ) + fprintf ( stderr, "Got signal, exiting.\n" ); + + pulseQuit ( 0 ); +} + +/* Show the current latency */ +void QPulseAudioThread::stream_update_timing_callback ( pa_stream *s, int success, void *userdata ) +{ + pa_usec_t latency, usec; + int negative = 0; + + assert ( s ); + + if ( !success || + pa_stream_get_time ( s, &usec ) < 0 || + pa_stream_get_latency ( s, &latency, &negative ) < 0 ) + { + fprintf ( stderr, "Failed to get latency: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + pulseQuit ( 1 ); + return; + } + + fprintf ( stderr, "Time: %0.3f sec; Latency: %0.0f usec. \r", + ( float ) usec / 1000000, + ( float ) latency * ( negative?-1:1 ) ); +} + +/* Someone requested that the latency is shown */ +void QPulseAudioThread::sigusr1_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata ) +{ + + if ( !stream ) + return; + + pa_operation_unref ( pa_stream_update_timing_info ( stream, stream_update_timing_callback, NULL ) ); +} + +void QPulseAudioThread::pa_source_info_callback ( pa_context *c, const pa_source_info *i, int eol, void *userdata ) +{ + + assert ( userdata ); + QPulseAudioThread * pulseThread = ( QPulseAudioThread* ) userdata; + + if ( i ) + { + int index = i->index; + QString name = i->name; + + pulseThread->insertSource ( index,name ); + } + + else + { + assert ( eol ); + + SourceContainer::const_iterator pos = readSettings(); + reconnect(pos); + } + +} + +void QPulseAudioThread::subscribe_callback ( struct pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata ) +{ + + QPulseAudioThread * thread = static_cast(userdata); + switch ( t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK ) + { + case PA_SUBSCRIPTION_EVENT_SINK: + break; + case PA_SUBSCRIPTION_EVENT_SOURCE: + { + if ( ( t & PA_SUBSCRIPTION_EVENT_TYPE_MASK ) == PA_SUBSCRIPTION_EVENT_REMOVE ) { + qDebug() << "Warning! untested code. email carmelo.piccione@gmail.com if it explodes"; + SourceContainer::const_iterator pos = s_sourceList.find(index); + if (pos == s_sourcePosition) { + s_sourceList.remove(index); + reconnect(); + thread->deviceChanged(); + } else { + s_sourceList.remove(index); + thread->deviceChanged(); + } + } + else + { + pa_operation_unref ( pa_context_get_source_info_by_index ( context, index, pa_source_info_callback, userdata ) ); + } + break; + } + case PA_SUBSCRIPTION_EVENT_MODULE: + break; + case PA_SUBSCRIPTION_EVENT_CLIENT: + break; + case PA_SUBSCRIPTION_EVENT_SINK_INPUT: + break; + case PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT: + break; + case PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE: + break; + case PA_SUBSCRIPTION_EVENT_SERVER: + break; + default: + fprintf ( stderr, "OTHER EVENT\n" ); + break; + + } +} + + +void QPulseAudioThread::time_event_callback ( pa_mainloop_api*m, pa_time_event *e, const struct timeval *tv, void *userdata ) +{ + struct timeval next; + + if ( stream && pa_stream_get_state ( stream ) == PA_STREAM_READY ) + { + pa_operation *o; + if ( ! ( o = pa_stream_update_timing_info ( stream, stream_update_timing_callback, NULL ) ) ) + fprintf ( stderr, "pa_stream_update_timing_info() failed: %s\n", pa_strerror ( pa_context_errno ( context ) ) ); + else + pa_operation_unref ( o ); + } + + pa_gettimeofday ( &next ); + pa_timeval_add ( &next, TIME_EVENT_USEC ); + + m->time_restart ( e, &next ); +} + +void QPulseAudioThread::run() +{ + + const char * error = "FOO"; + int ret = 1, r, c; + const char *bn = "projectM"; + pa_operation * operation ; + sample_spec.format = PA_SAMPLE_FLOAT32LE; + sample_spec.rate = 44100; + sample_spec.channels = 2; + pa_context_flags_t flags = ( pa_context_flags_t ) 0; + + verbose = 0; + + if ( !pa_sample_spec_valid ( &sample_spec ) ) + { + fprintf ( stderr, "Invalid sample specification\n" ); + goto quit; + } + + if ( channel_map_set && channel_map.channels != sample_spec.channels ) + { + fprintf ( stderr, "Channel map doesn't match sample specification\n" ); + goto quit; + } + + if ( verbose ) + { + char t[PA_SAMPLE_SPEC_SNPRINT_MAX]; + pa_sample_spec_snprint ( t, sizeof ( t ), &sample_spec ); + fprintf ( stderr, "Opening a %s stream with sample specification '%s'.\n", "recording" , t ); + } + + + if ( !client_name ) + client_name = pa_xstrdup ( bn ); + + //printf("client name:%s", client_name); + if ( !stream_name ) + stream_name = pa_xstrdup ( client_name ); + + /* Set up a new main loop */ + if ( ! ( mainloop = pa_threaded_mainloop_new() ) ) + { + fprintf ( stderr, "pa_mainloop_new() failed.\n" ); + goto quit; + } + + mainloop_api = pa_threaded_mainloop_get_api ( mainloop ); + + r = pa_signal_init ( mainloop_api ); + assert ( r == 0 ); + pa_signal_new ( SIGINT, exit_signal_callback, NULL ); + pa_signal_new ( SIGTERM, exit_signal_callback, NULL ); + +#ifdef SIGUSR1 + pa_signal_new ( SIGUSR1, sigusr1_signal_callback, NULL ); +#endif +#ifdef SIGPIPE + signal ( SIGPIPE, SIG_IGN ); +#endif +/* + if ( ! ( stdio_event = mainloop_api->io_new ( mainloop_api, + STDOUT_FILENO, + PA_IO_EVENT_OUTPUT, + stdout_callback, s_qprojectM_MainWindowPtr ) ) ) + { + fprintf ( stderr, "io_new() failed.\n" ); + goto quit; + } +/* + /* Create a new connection context */ + if ( ! ( context = pa_context_new ( mainloop_api, client_name ) ) ) + { + fprintf ( stderr, "pa_context_new() failed.\n" ); + goto quit; + } + + pa_context_set_state_callback ( context, context_state_callback, &s_sourceList ); + pa_context_connect ( context, server, flags, NULL ); + + if ( verbose ) + { + struct timeval tv; + + pa_gettimeofday ( &tv ); + pa_timeval_add ( &tv, TIME_EVENT_USEC ); + + if ( ! ( time_event = mainloop_api->time_new ( mainloop_api, &tv, time_event_callback, NULL ) ) ) + { + fprintf ( stderr, "time_new() failed.\n" ); + goto quit; + } + } + + + /* Run the main loop */ + if ( pa_threaded_mainloop_start ( mainloop ) < 0 ) + { + fprintf ( stderr, "pa_mainloop_run() failed.\n" ); + goto quit; + } +quit: + emit(threadCleanedUp()); + return ; +} + +void QPulseAudioThread::initialize_callbacks ( QPulseAudioThread * pulseThread ) +{ + pa_operation * op; + pa_operation_unref + ( pa_context_get_source_info_list ( context, pa_source_info_callback, pulseThread ) ); + + //pa_operation_unref(pa_context_get_server_info(&c, server_info_callback, this)); + //pa_operation_unref(pa_context_get_sink_info_list(&c, sink_info_callback, this)); + //pa_operation_unref(pa_context_get_source_info_list(&c, source_info_callback, this)); + //pa_operation_unref(pa_context_get_module_info_list(&c, module_info_callback, this)); + //pa_operation_unref(pa_context_get_client_info_list(&c, client_info_callback, this)); + //pa_operation_unref(pa_context_get_sink_input_info_list(&c, sink_input_info_callback, this)); + //pa_operation_unref(pa_context_get_source_output_info_list(&c, source_output_info_callback, this)); + //pa_operation_unref(pa_context_get_sample_info_list(&c, sample_info_callback, this)); + + + //pa_context_set_drain + pa_context_set_subscribe_callback ( context, subscribe_callback, pulseThread ); + + if ( op = pa_context_subscribe ( context, ( enum pa_subscription_mask ) + PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT, NULL, NULL ) ) + { + pa_operation_unref ( op ); + } + else + { + qDebug() << "null op returned on subscribe"; + } + +} diff --git a/src/projectM-pulseaudio/QPulseAudioThread.hpp b/src/projectM-pulseaudio/QPulseAudioThread.hpp new file mode 100644 index 0000000000..25b43a220d --- /dev/null +++ b/src/projectM-pulseaudio/QPulseAudioThread.hpp @@ -0,0 +1,133 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPULSE_AUDIO_THREAD +#define QPULSE_AUDIO_THREAD +#include +#include +#include +#include +#include +#include +#include +#include + +extern "C" +{ +#include +#include +} + +#include "qprojectm_mainwindow.hpp" + + +class QPulseAudioThread : public QThread +{ + Q_OBJECT + public: + typedef QHash SourceContainer; + QPulseAudioThread () {} + QPulseAudioThread + (int _argc, char **_argv, QProjectM_MainWindow * qprojectM_MainWindow); + virtual ~QPulseAudioThread(); + void run(); + + QMutex * mutex(); + + inline const SourceContainer & devices() { + return s_sourceList; + } + void writeSettings(); + + inline const SourceContainer::const_iterator & sourcePosition() { + return s_sourcePosition; + } + + public slots: + + void cork(); + + inline void insertSource(int index, const QString & name) { + s_sourceList[index] = name; + } + + void cleanup(); + + void connectDevice(const QModelIndex & index = QModelIndex()); + + signals: + void deviceChanged(); + void threadCleanedUp(); + private: + + QProjectM_MainWindow * m_qprojectM_MainWindow; + static SourceContainer::const_iterator readSettings(); + + static void reconnect(SourceContainer::const_iterator pos); + + static SourceContainer::const_iterator scanForPlaybackMonitor(); + static void connectHelper (SourceContainer::const_iterator pos); + static void pulseQuit ( int ret ); + static void stream_moved_callback(pa_stream *s, void *userdata); + static void stream_read_callback ( pa_stream *s, size_t length, void *userdata ); + static void stream_state_callback ( pa_stream *s, void *userdata ); + static void context_state_callback ( pa_context *c, void *userdata ); + static void initialize_callbacks ( QPulseAudioThread * pulseThread ); + static void context_drain_complete ( pa_context*c, void *userdata ); + static void stream_drain_complete ( pa_stream*s, int success, void *userdata ); + static void stdout_callback ( pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_event_flags_t f, void *userdata ); + static void exit_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata ); + static void stream_update_timing_callback ( pa_stream *s, int success, void *userdata ); + static void sigusr1_signal_callback ( pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata ); + static void pa_source_info_callback ( pa_context *c, const pa_source_info *i, int eol, void *userdata ); + static void subscribe_callback ( struct pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata ); + static void time_event_callback ( pa_mainloop_api*m, pa_time_event *e, const struct timeval *tv, void *userdata ); + + static void pa_stream_success_callback(pa_stream *s, int success, void *userdata); + + static QMutex * s_audioMutex; + static SourceContainer s_sourceList; + static SourceContainer::const_iterator s_sourcePosition; + int argc; + char ** argv; + static pa_context *context; + static pa_stream *stream; + static pa_mainloop_api *mainloop_api; + static pa_time_event *time_event; + static float * buffer; + static size_t buffer_length, buffer_index; + static pa_threaded_mainloop * mainloop; + static pa_io_event * stdio_event; + static char * server; + static char * stream_name, *client_name, *device; + static QProjectM_MainWindow ** s_qprojectM_MainWindowPtr; + + static int verbose; + + static pa_volume_t volume; + + static pa_channel_map channel_map; + static int channel_map_set;; + static pa_sample_spec sample_spec ; + + +}; +#endif diff --git a/src/projectM-pulseaudio/README b/src/projectM-pulseaudio/README new file mode 100644 index 0000000000..92be3d365d --- /dev/null +++ b/src/projectM-pulseaudio/README @@ -0,0 +1 @@ +see INSTALL \ No newline at end of file diff --git a/src/projectM-pulseaudio/projectM-pulseaudio.1 b/src/projectM-pulseaudio/projectM-pulseaudio.1 new file mode 100644 index 0000000000..4175c5b8fd --- /dev/null +++ b/src/projectM-pulseaudio/projectM-pulseaudio.1 @@ -0,0 +1,21 @@ +.TH projectM-PulseAudio 1 "June 24, 2010" +.SH NAME +projectM-pulseaudio \- ProjectM module for PulseAudio +.SH DESCRIPTION +This manual page documents the +.B projectM-pulseaudio +command. +.PP +.B projectM-pulseaudio +provides direct visualisation of PulseAudio streams using +the projectM audio visualisation library. +.PP +.B projectM-pulseaudio +can be run from the +.B Applications +menu after it was installed. +.SH AUTHOR +projectM-PulseAudio was written by Carmelo Piccione . +.PP +This manual page was written by Matthias Klumpp , +for the Debian project (and may be used by others). diff --git a/src/projectM-pulseaudio/projectM-pulseaudio.desktop b/src/projectM-pulseaudio/projectM-pulseaudio.desktop new file mode 100644 index 0000000000..0080e34669 --- /dev/null +++ b/src/projectM-pulseaudio/projectM-pulseaudio.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=projectM PulseAudio Visualization +GenericName=PulseAudio Stream Visualization +Comment=Visualization of PulseAudio streams with projectM +Exec=projectM-pulseaudio +Icon=projectM +Terminal=false +Type=Application +Categories=AudioVideo;Audio; diff --git a/src/projectM-pulseaudio/qprojectM-pulseaudio.cpp b/src/projectM-pulseaudio/qprojectM-pulseaudio.cpp new file mode 100644 index 0000000000..503c95409e --- /dev/null +++ b/src/projectM-pulseaudio/qprojectM-pulseaudio.cpp @@ -0,0 +1,252 @@ + +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +/* $Id: parec-simple.c 1418 2007-01-04 13:43:45Z ossman $ */ + +/*** + This file was copied from PulseAudio. + + PulseAudio is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 of the License, + or (at your option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with PulseAudio; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ConfigFile.h" +#include +#include +#include +#include +#include +#include +#include +#define CONFIG_FILE "/share/projectM/config.inp" + +std::string read_config(); + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include + +#include +#include +#include +#include +#include + +//#include + +#include "QPulseAudioThread.hpp" +#include "QPulseAudioDeviceChooser.hpp" + +int dumpFrame = 0; +int frameNumber = 0; + +int texsize=512; +int gx=32,gy=24; +int wvw=512,wvh=512; +int fvw=1024,fvh=768; +int fps=30, fullscreen=0; + +class ProjectMApplication : public QApplication { + public: + ProjectMApplication(int& argc, char ** argv) : + QApplication(argc, argv) { } + virtual ~ProjectMApplication() { } + + // catch exceptions which are thrown in slots + virtual bool notify(QObject * receiver, QEvent * event) { + try { + return QApplication::notify(receiver, event); + } catch (std::exception& e) { + qCritical() << "Exception thrown:" << e.what(); + } + return false; + } +}; + +int main ( int argc, char*argv[] ) +{ +// if (!TestRunner::run()) exit(1); + + int i; + char projectM_data[1024]; + + ProjectMApplication app ( argc, argv ); + + std::string config_file; + config_file = read_config(); + + + QMutex audioMutex; + + QProjectM_MainWindow * mainWindow = new QProjectM_MainWindow ( config_file, &audioMutex); + + QAction pulseAction("Pulse audio settings...", mainWindow); + + + mainWindow->registerSettingsAction(&pulseAction); + mainWindow->show(); + + QPulseAudioThread * pulseThread = new QPulseAudioThread(argc, argv, mainWindow); + + pulseThread->start(); + + //QApplication::connect + // (mainWindow->qprojectMWidget(), SIGNAL(projectM_Initialized(QProjectM *)), pulseThread, SLOT(setQrojectMWidget(QProjectMWidget*))); + + QPulseAudioDeviceChooser devChooser(pulseThread, mainWindow); + QApplication::connect(&pulseAction, SIGNAL(triggered()), &devChooser, SLOT(open())); + //QApplication::connect(pulseThread, SIGNAL(threadCleanedUp()), mainWindow, SLOT(close())); + + //QApplication::connect(mainWindow, SIGNAL(shuttingDown()), pulseThread, SLOT(cleanup()), Qt::DirectConnection); + int ret = app.exec(); + if (pulseThread != 0) + devChooser.writeSettings(); + + if (mainWindow) + mainWindow->unregisterSettingsAction(&pulseAction); + + pulseThread->cleanup(); + + delete(pulseThread); + return ret; +} + + +std::string read_config() +{ + char num[512]; + FILE *in; + FILE *out; + + char* home; + char* xdg_home; + + char projectM_config[1024]; + char default_config[1024]; + + strcpy(default_config, PROJECTM_PREFIX); + strcat(default_config, CONFIG_FILE); + printf("Default config: %s\n", default_config); + + home=getenv("HOME"); + xdg_home = getenv("XDG_CONFIG_HOME"); + + strcpy(projectM_config, home); + strcat(projectM_config, "/.projectM/config.inp"); + + if ( ( in = fopen ( projectM_config, "r" ) ) != 0 ) + { + printf ( "reading %s \n", projectM_config ); + fclose ( in ); + return std::string ( projectM_config ); + } + else { + if (xdg_home) { + strcpy(projectM_config, xdg_home); + strcat(projectM_config, "/projectM/config.inp"); + if ( ( in = fopen ( projectM_config, "r" ) ) != 0 ) { + printf ( "reading %s \n", projectM_config ); + fclose ( in ); + return std::string ( projectM_config ); + } + else { + strcpy(projectM_config, xdg_home); + strcat(projectM_config, "/projectM"); + } + } + else { + strcpy(projectM_config, home); + strcat(projectM_config, "/.projectM"); + } + mkdir(projectM_config, 0755); + strcat(projectM_config, "/config.inp"); + printf ("trying to create %s \n", projectM_config); + + if ( ( out = fopen ( projectM_config,"w" ) ) !=0 ) + { + + if ( ( in = fopen ( default_config, "r" ) ) != 0 ) + { + + while ( fgets ( num,80,in ) !=NULL ) + { + fputs ( num,out ); + } + fclose ( in ); + fclose ( out ); + + + if ( ( in = fopen ( projectM_config, "r" ) ) != 0 ) + { + printf ( "created %s successfully\n", projectM_config ); + fclose ( in ); + return std::string ( projectM_config ); + } + else{printf ( "This shouldn't happen, using implementation defualts\n" );abort();} + } + else{printf ( "Cannot find projectM default config, using implementation defaults\n" );abort();} + } + else + { + printf ( "Cannot create %s, using default config file\n", projectM_config ); + if ( ( in = fopen ( default_config, "r" ) ) != 0 ) + { + printf ( "Successfully opened default config file\n" ); + fclose ( in ); + return std::string ( default_config ); + } + else{ printf ( "Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n" ); abort();} + + } + + } + + + abort(); +} + + diff --git a/src/projectM-qt/.gitignore b/src/projectM-qt/.gitignore new file mode 100644 index 0000000000..0be825e3f5 --- /dev/null +++ b/src/projectM-qt/.gitignore @@ -0,0 +1,14 @@ +application_qrc.cpp +qplaylistfiledialog_moc.cpp +qplaylistmodel_moc.cpp +qplaylisttableview_moc.cpp +qpreseteditordialog_moc.cpp +qpresetfiledialog_moc.cpp +qpresettextedit_moc.cpp +qprojectm_mainwindow_moc.cpp +qprojectm_moc.cpp +qprojectmconfigdialog_moc.cpp +qprojectmwidget_moc.cpp +ui_qpreseteditordialog.h +ui_qprojectm_mainwindow.h +ui_qprojectmconfigdialog.h diff --git a/src/projectM-qt/COPYING b/src/projectM-qt/COPYING new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/src/projectM-qt/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/projectM-qt/Makefile.am b/src/projectM-qt/Makefile.am new file mode 100644 index 0000000000..e3f117865a --- /dev/null +++ b/src/projectM-qt/Makefile.am @@ -0,0 +1,83 @@ +SUFFIXES = .hpp .cpp _moc.cpp _qrc.qrc + +QT_CXXFLAGS = @QT_CXXFLAGS@ +QT_LIBS = @QT_LIBS@ +MOC = @QT_MOC@ +UIC = @QT_UIC@ +RCC = @QT_RCC@ + + +projectM_qt_qtheaders = qprojectm_mainwindow.hpp \ + qpresetfiledialog.hpp \ + qplaylistfiledialog.hpp \ + qplaylistmodel.hpp \ + qprojectmconfigdialog.hpp \ + qplaylisttableview.hpp \ + qpresettextedit.hpp \ + qpreseteditordialog.hpp \ + qprojectm.hpp \ + qprojectmwidget.hpp + +nodist_projectM_qt_moc_sources = $(projectM_qt_qtheaders:.hpp=_moc.cpp) + +.hpp_moc.cpp: + $(MOC) -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $< + +ui_qprojectm_mainwindow.h: qprojectm_mainwindow.ui + $(UIC) -o $@ $< + +ui_qpreseteditordialog.h: qpreseteditordialog.ui + $(UIC) -o $@ $< + +ui_qprojectmconfigdialog.h: qprojectmconfigdialog.ui + $(UIC) -o $@ $< + +application_qrc.cpp: application.qrc + $(RCC) -o $@ $< + + +BUILT_SOURCES = \ + ui_qprojectm_mainwindow.h \ + ui_qpreseteditordialog.h \ + ui_qprojectmconfigdialog.h + +noinst_LIBRARIES = libprojectM_qt.a + +libprojectM_qt_a_SOURCES = \ + qprojectm_mainwindow.cpp \ + configfile.hpp configfile.cpp \ + qplaylistfiledialog.cpp \ + qplaylistmodel.cpp \ + qprojectmconfigdialog.cpp \ + qpresettextedit.cpp \ + qpreseteditordialog.cpp \ + qprojectm_mainwindow.ui \ + qpreseteditordialog.ui \ + qprojectmconfigdialog.ui \ + $(projectM_qt_qtheaders) \ + qxmlplaylisthandler.hpp \ + nullable.hpp \ + application.qrc \ + images/* + +nodist_libprojectM_qt_a_SOURCES = \ + application_qrc.cpp \ + $(nodist_projectM_qt_moc_sources) + +AM_CPPFLAGS = \ + -include $(top_builddir)/config.h \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -I${top_srcdir}/src/libprojectM \ + -I${top_srcdir}/src/libprojectM/Renderer \ + ${QT_CXXFLAGS} \ + -fPIC + +AM_CFLAGS = ${my_CFLAGS} \ + -fvisibility=hidden \ + -ffunction-sections \ + -fdata-sections + +CLEANFILES = \ + application_qrc.cpp \ + ${BUILT_SOURCES} \ + ${nodist_projectM_qt_moc_sources} diff --git a/src/projectM-qt/ReadMe b/src/projectM-qt/ReadMe new file mode 100644 index 0000000000..a6ecaceaf4 --- /dev/null +++ b/src/projectM-qt/ReadMe @@ -0,0 +1,38 @@ +PROJECTM-QT README +------------------ + +projectM-qt is a GUI designed to enhance the projectM user and preset writer +experience. I could say it's the best direction for projectM and that's why I +wrote it, but it was really a curious digression in Qt4. + +Please visit the wiki at http://projectm.wiki.sf.net for build instructions. +If you're lazy, just make sure you have cmake installed and type + +- +cmake . +- + +then + +- +make +make install +- + +If this fails, go online and get help! + + +WARNING: This is my first Qt4 (or Qt*) experience. As such, there will be bugs. +Please notify me if something goes wrong! There will be incremental +releases henceforth fixing bugs and adding minor features. + +As an ode to Qt, the Qt4 platform has been generally a fun experience and +is much recommended to the developer. As for cross platform support, +it will be severely tested as projectM-qt for mac and win rolls out in +the near future. + + +Thanks for using projectM-Qt and good luck! + +- struktured of the projectM team (Carmelo.Piccione+projectM@gmail.com) + diff --git a/src/projectM-qt/application.qrc b/src/projectM-qt/application.qrc new file mode 100644 index 0000000000..f4a04a0a7f --- /dev/null +++ b/src/projectM-qt/application.qrc @@ -0,0 +1,19 @@ + + + images/icons/hi16-action-projectm_add_playlist.png + images/icons/hi16-action-projectm_edit.png + images/icons/hi16-action-projectm_lock.png + images/icons/hi16-action-projectm_playlist_clear.png + images/icons/hi16-action-projectm_random.png + images/icons/hi16-action-projectm_random_no.png + images/icons/hi16-action-projectm_remove.png + images/icons/hi16-action-projectm_save.png + images/icons/hi16-action-projectm_unlock.png + images/icons/prjm16-transparent.svg + images/icons/rating-1.png + images/icons/rating-2.png + images/icons/rating-3.png + images/icons/rating-4.png + images/icons/rating-5.png + + diff --git a/src/projectM-qt/configfile.cpp b/src/projectM-qt/configfile.cpp new file mode 100644 index 0000000000..23736afce9 --- /dev/null +++ b/src/projectM-qt/configfile.cpp @@ -0,0 +1,162 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + + +#include "configfile.hpp" + +using std::string; + +ConfigFile::ConfigFile( string filename, string delimiter, + string comment, string sentry ) + : myDelimiter(delimiter), myComment(comment), mySentry(sentry) +{ + // Construct a ConfigFile, getting keys and values from given file + + std::ifstream in( filename.c_str() ); + + if( !in ) throw file_not_found( filename ); + + in >> (*this); +} + + +ConfigFile::ConfigFile() + : myDelimiter( string(1,'=') ), myComment( string(1,'#') ) +{ + // Construct a ConfigFile without a file; empty +} + + +void ConfigFile::remove( const string& key ) +{ + // Remove key and its value + myContents.erase( myContents.find( key ) ); + return; +} + + +bool ConfigFile::keyExists( const string& key ) const +{ + // Indicate whether key is found + mapci p = myContents.find( key ); + return ( p != myContents.end() ); +} + + +/* static */ +void ConfigFile::trim( string& s ) +{ + // Remove leading and trailing whitespace + static const char whitespace[] = " \n\t\v\r\f"; + s.erase( 0, s.find_first_not_of(whitespace) ); + s.erase( s.find_last_not_of(whitespace) + 1U ); +} + + +std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ) +{ + // Save a ConfigFile to os + for( ConfigFile::mapci p = cf.myContents.begin(); + p != cf.myContents.end(); + ++p ) + { + os << p->first << " " << cf.myDelimiter << " "; + os << p->second << std::endl; + } + return os; +} + + +std::istream& operator>>( std::istream& is, ConfigFile& cf ) +{ + // Load a ConfigFile from is + // Read in keys and values, keeping internal whitespace + typedef string::size_type pos; + const string& delim = cf.myDelimiter; // separator + const string& comm = cf.myComment; // comment + const string& sentry = cf.mySentry; // end of file sentry + const pos skip = delim.length(); // length of separator + + string nextline = ""; // might need to read ahead to see where value ends + + while( is || nextline.length() > 0 ) + { + // Read an entire line at a time + string line; + if( nextline.length() > 0 ) + { + line = nextline; // we read ahead; use it now + nextline = ""; + } + else + { + std::getline( is, line ); + } + + // Ignore comments + line = line.substr( 0, line.find(comm) ); + + // Check for end of file sentry + if( sentry != "" && line.find(sentry) != string::npos ) return is; + + // Parse the line if it contains a delimiter + pos delimPos = line.find( delim ); + if( delimPos < string::npos ) + { + // Extract the key + string key = line.substr( 0, delimPos ); + line.replace( 0, delimPos+skip, "" ); + + // See if value continues on the next line + // Stop at blank line, next line with a key, end of stream, + // or end of file sentry + bool terminate = false; + while( !terminate && is ) + { + std::getline( is, nextline ); + terminate = true; + + string nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy == "" ) continue; + + nextline = nextline.substr( 0, nextline.find(comm) ); + if( nextline.find(delim) != string::npos ) + continue; + if( sentry != "" && nextline.find(sentry) != string::npos ) + continue; + + nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy != "" ) line += "\n"; + line += nextline; + terminate = false; + } + + // Store key and value + ConfigFile::trim(key); + ConfigFile::trim(line); + cf.myContents[key] = line; // overwrites if key is repeated + } + } + + return is; +} diff --git a/src/projectM-qt/configfile.hpp b/src/projectM-qt/configfile.hpp new file mode 100644 index 0000000000..c2f002447c --- /dev/null +++ b/src/projectM-qt/configfile.hpp @@ -0,0 +1,253 @@ +// ConfigFile.h +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + +// Typical usage +// ------------- +// +// Given a configuration file "settings.inp": +// atoms = 25 +// length = 8.0 # nanometers +// name = Reece Surcher +// +// Named values are read in various ways, with or without default values: +// ConfigFile config( "settings.inp" ); +// int atoms = config.read( "atoms" ); +// double length = config.read( "length", 10.0 ); +// string author, title; +// config.readInto( author, "name" ); +// config.readInto( title, "title", string("Untitled") ); +// +// See file example.cpp for more examples. + +#ifndef CONFIGFILE_H +#define CONFIGFILE_H + +#include +#include +#include +#include +#include + +using std::string; + +class ConfigFile { +// Data +protected: + string myDelimiter; // separator between key and value + string myComment; // separator between value and comments + string mySentry; // optional string to signal end of file + std::map myContents; // extracted keys and values + + typedef std::map::iterator mapi; + typedef std::map::const_iterator mapci; + +// Methods +public: + ConfigFile( string filename, + string delimiter = "=", + string comment = "#", + string sentry = "EndConfigFile" ); + ConfigFile(); + + // Search for key and read value or optional default value + template T read( const string& key ) const; // call as read + template T read( const string& key, const T& value ) const; + template bool readInto( T& var, const string& key ) const; + template + bool readInto( T& var, const string& key, const T& value ) const; + + // Modify keys and values + template void add( string key, const T& value ); + void remove( const string& key ); + + // Check whether key exists in configuration + bool keyExists( const string& key ) const; + + // Check or change configuration syntax + string getDelimiter() const { return myDelimiter; } + string getComment() const { return myComment; } + string getSentry() const { return mySentry; } + string setDelimiter( const string& s ) + { string old = myDelimiter; myDelimiter = s; return old; } + string setComment( const string& s ) + { string old = myComment; myComment = s; return old; } + + // Write or read configuration + friend std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ); + friend std::istream& operator>>( std::istream& is, ConfigFile& cf ); + +protected: + template static string T_as_string( const T& t ); + template static T string_as_T( const string& s ); + static void trim( string& s ); + + +// Exception types +public: + struct file_not_found { + string filename; + file_not_found( const string& filename_ = string() ) + : filename(filename_) {} }; + struct key_not_found { // thrown only by T read(key) variant of read() + string key; + key_not_found( const string& key_ = string() ) + : key(key_) {} }; +}; + + +/* static */ +template +string ConfigFile::T_as_string( const T& t ) +{ + // Convert from a T to a string + // Type T must support << operator + std::ostringstream ost; + ost << t; + return ost.str(); +} + + +/* static */ +template +T ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a T + // Type T must support >> operator + T t; + std::istringstream ist(s); + ist >> t; + return t; +} + + +/* static */ +template<> +inline string ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a string + // In other words, do nothing + return s; +} + + +/* static */ +template<> +inline bool ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a bool + // Interpret "false", "F", "no", "n", "0" as false + // Interpret "true", "T", "yes", "y", "1", "-1", or anything else as true + bool b = true; + string sup = s; + for( string::iterator p = sup.begin(); p != sup.end(); ++p ) + *p = toupper(*p); // make string all caps + if( sup==string("FALSE") || sup==string("F") || + sup==string("NO") || sup==string("N") || + sup==string("0") || sup==string("NONE") ) + b = false; + return b; +} + + +template +T ConfigFile::read( const string& key ) const +{ + // Read the value corresponding to key + mapci p = myContents.find(key); + if( p == myContents.end() ) throw key_not_found(key); + return string_as_T( p->second ); +} + + +template +T ConfigFile::read( const string& key, const T& value ) const +{ + // Return the value corresponding to key or given default value + // if key is not found + mapci p = myContents.find(key); + if( p == myContents.end() ) return value; + return string_as_T( p->second ); +} + + +template +bool ConfigFile::readInto( T& var, const string& key ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise leave var untouched + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) var = string_as_T( p->second ); + return found; +} + + +template +bool ConfigFile::readInto( T& var, const string& key, const T& value ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise set var to given default + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) + var = string_as_T( p->second ); + else + var = value; + return found; +} + + +template +void ConfigFile::add( string key, const T& value ) +{ + // Add a key with given value + string v = T_as_string( value ); + trim(key); + trim(v); + myContents[key] = v; + return; +} + +#endif // CONFIGFILE_H + +// Release notes: +// v1.0 21 May 1999 +// + First release +// + Template read() access only through non-member readConfigFile() +// + ConfigurationFileBool is only built-in helper class +// +// v2.0 3 May 2002 +// + Shortened name from ConfigurationFile to ConfigFile +// + Implemented template member functions +// + Changed default comment separator from % to # +// + Enabled reading of multiple-line values +// +// v2.1 24 May 2004 +// + Made template specializations inline to avoid compiler-dependent linkage +// + Allowed comments within multiple-line values +// + Enabled blank line termination for multiple-line values +// + Added optional sentry to detect end of configuration file +// + Rewrote messy trimWhitespace() function as elegant trim() diff --git a/src/projectM-qt/images/icons/face0.png b/src/projectM-qt/images/icons/face0.png new file mode 100644 index 0000000000..b0dd400edc Binary files /dev/null and b/src/projectM-qt/images/icons/face0.png differ diff --git a/src/projectM-qt/images/icons/face1.png b/src/projectM-qt/images/icons/face1.png new file mode 100644 index 0000000000..ee616f37bb Binary files /dev/null and b/src/projectM-qt/images/icons/face1.png differ diff --git a/src/projectM-qt/images/icons/face2.png b/src/projectM-qt/images/icons/face2.png new file mode 100644 index 0000000000..346aa338ab Binary files /dev/null and b/src/projectM-qt/images/icons/face2.png differ diff --git a/src/projectM-qt/images/icons/face3.png b/src/projectM-qt/images/icons/face3.png new file mode 100644 index 0000000000..9b42396041 Binary files /dev/null and b/src/projectM-qt/images/icons/face3.png differ diff --git a/src/projectM-qt/images/icons/face4.png b/src/projectM-qt/images/icons/face4.png new file mode 100644 index 0000000000..f91173b6f7 Binary files /dev/null and b/src/projectM-qt/images/icons/face4.png differ diff --git a/src/projectM-qt/images/icons/face5.png b/src/projectM-qt/images/icons/face5.png new file mode 100644 index 0000000000..9565f74743 Binary files /dev/null and b/src/projectM-qt/images/icons/face5.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-collection.png b/src/projectM-qt/images/icons/hi16-action-collection.png new file mode 100644 index 0000000000..0923e0cdfe Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-collection.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_add_playlist.png b/src/projectM-qt/images/icons/hi16-action-projectm_add_playlist.png new file mode 100644 index 0000000000..396692cd40 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_add_playlist.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_album.png b/src/projectM-qt/images/icons/hi16-action-projectm_album.png new file mode 100644 index 0000000000..584f8cab44 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_album.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_artist.png b/src/projectM-qt/images/icons/hi16-action-projectm_artist.png new file mode 100644 index 0000000000..eca23af0ab Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_artist.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_back.png b/src/projectM-qt/images/icons/hi16-action-projectm_back.png new file mode 100644 index 0000000000..63642764cc Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_back.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_burn.png b/src/projectM-qt/images/icons/hi16-action-projectm_burn.png new file mode 100644 index 0000000000..d098e04160 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_burn.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_change_language.png b/src/projectM-qt/images/icons/hi16-action-projectm_change_language.png new file mode 100644 index 0000000000..f54c063cf3 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_change_language.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_circle.png b/src/projectM-qt/images/icons/hi16-action-projectm_circle.png new file mode 100644 index 0000000000..376f75b3bc Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_circle.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_collection.png b/src/projectM-qt/images/icons/hi16-action-projectm_collection.png new file mode 100644 index 0000000000..3af9fb515a Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_collection.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_configure.png b/src/projectM-qt/images/icons/hi16-action-projectm_configure.png new file mode 100644 index 0000000000..8a68514620 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_configure.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_download.png b/src/projectM-qt/images/icons/hi16-action-projectm_download.png new file mode 100644 index 0000000000..2a8c2dcb08 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_download.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_dynamic.png b/src/projectM-qt/images/icons/hi16-action-projectm_dynamic.png new file mode 100644 index 0000000000..23dafa1718 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_dynamic.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_edit.png b/src/projectM-qt/images/icons/hi16-action-projectm_edit.png new file mode 100644 index 0000000000..37809ecfbe Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_edit.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_editcopy.png b/src/projectM-qt/images/icons/hi16-action-projectm_editcopy.png new file mode 100644 index 0000000000..abaf69a194 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_editcopy.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_equalizer.png b/src/projectM-qt/images/icons/hi16-action-projectm_equalizer.png new file mode 100644 index 0000000000..875be4f681 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_equalizer.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_external.png b/src/projectM-qt/images/icons/hi16-action-projectm_external.png new file mode 100644 index 0000000000..905720e655 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_external.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_fastforward.png b/src/projectM-qt/images/icons/hi16-action-projectm_fastforward.png new file mode 100644 index 0000000000..4ed96d54c8 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_fastforward.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_favourite_genres.png b/src/projectM-qt/images/icons/hi16-action-projectm_favourite_genres.png new file mode 100644 index 0000000000..8394af07e8 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_favourite_genres.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_files.png b/src/projectM-qt/images/icons/hi16-action-projectm_files.png new file mode 100644 index 0000000000..f29e29df17 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_files.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_files2.png b/src/projectM-qt/images/icons/hi16-action-projectm_files2.png new file mode 100644 index 0000000000..82942ee49b Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_files2.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_info.png b/src/projectM-qt/images/icons/hi16-action-projectm_info.png new file mode 100644 index 0000000000..c382af9046 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_info.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_jamendo.png b/src/projectM-qt/images/icons/hi16-action-projectm_jamendo.png new file mode 100644 index 0000000000..3a1621eabb Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_jamendo.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_lock.png b/src/projectM-qt/images/icons/hi16-action-projectm_lock.png new file mode 100644 index 0000000000..5294896a37 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_lock.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_mostplayed.png b/src/projectM-qt/images/icons/hi16-action-projectm_mostplayed.png new file mode 100644 index 0000000000..3cf5c484c6 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_mostplayed.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_music.png b/src/projectM-qt/images/icons/hi16-action-projectm_music.png new file mode 100644 index 0000000000..74f594c196 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_music.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_next.png b/src/projectM-qt/images/icons/hi16-action-projectm_next.png new file mode 100644 index 0000000000..bd9624cd59 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_next.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_pause.png b/src/projectM-qt/images/icons/hi16-action-projectm_pause.png new file mode 100644 index 0000000000..5807ff85bd Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_pause.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_play.png b/src/projectM-qt/images/icons/hi16-action-projectm_play.png new file mode 100644 index 0000000000..9d8b658a6f Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_play.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_playlist.png b/src/projectM-qt/images/icons/hi16-action-projectm_playlist.png new file mode 100644 index 0000000000..7a820b5ba7 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_playlist.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_playlist_clear.png b/src/projectM-qt/images/icons/hi16-action-projectm_playlist_clear.png new file mode 100644 index 0000000000..9bf8121c3b Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_playlist_clear.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_playlist_refresh.png b/src/projectM-qt/images/icons/hi16-action-projectm_playlist_refresh.png new file mode 100644 index 0000000000..f3f18c5280 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_playlist_refresh.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_queue.png b/src/projectM-qt/images/icons/hi16-action-projectm_queue.png new file mode 100644 index 0000000000..7f3f363d63 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_queue.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_random.png b/src/projectM-qt/images/icons/hi16-action-projectm_random.png new file mode 100644 index 0000000000..23dafa1718 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_random.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_random_album.png b/src/projectM-qt/images/icons/hi16-action-projectm_random_album.png new file mode 100644 index 0000000000..63f31ae344 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_random_album.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_random_no.png b/src/projectM-qt/images/icons/hi16-action-projectm_random_no.png new file mode 100644 index 0000000000..0629db4f9e Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_random_no.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_random_track.png b/src/projectM-qt/images/icons/hi16-action-projectm_random_track.png new file mode 100644 index 0000000000..e0b206b776 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_random_track.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_redo.png b/src/projectM-qt/images/icons/hi16-action-projectm_redo.png new file mode 100644 index 0000000000..5e0ca48605 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_redo.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_refresh.png b/src/projectM-qt/images/icons/hi16-action-projectm_refresh.png new file mode 100644 index 0000000000..428f21cc2c Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_refresh.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_remove.png b/src/projectM-qt/images/icons/hi16-action-projectm_remove.png new file mode 100644 index 0000000000..ba4ff23637 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_remove.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_remove_from_playlist.png b/src/projectM-qt/images/icons/hi16-action-projectm_remove_from_playlist.png new file mode 100644 index 0000000000..64defe7f90 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_remove_from_playlist.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_repeat_album.png b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_album.png new file mode 100644 index 0000000000..87edba8dae Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_album.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_repeat_no.png b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_no.png new file mode 100644 index 0000000000..f1282850fc Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_no.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_repeat_playlist.png b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_playlist.png new file mode 100644 index 0000000000..e757d62b62 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_playlist.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_repeat_track.png b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_track.png new file mode 100644 index 0000000000..f1dbb61c3e Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_repeat_track.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_rescan.png b/src/projectM-qt/images/icons/hi16-action-projectm_rescan.png new file mode 100644 index 0000000000..14e44cbe40 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_rescan.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_rewind.png b/src/projectM-qt/images/icons/hi16-action-projectm_rewind.png new file mode 100644 index 0000000000..676fa4d4ed Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_rewind.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_save.png b/src/projectM-qt/images/icons/hi16-action-projectm_save.png new file mode 100644 index 0000000000..6588e3b51a Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_save.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_scripts.png b/src/projectM-qt/images/icons/hi16-action-projectm_scripts.png new file mode 100644 index 0000000000..92490a17f4 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_scripts.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_search.png b/src/projectM-qt/images/icons/hi16-action-projectm_search.png new file mode 100644 index 0000000000..9cd423ea09 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_search.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_settings_engine.png b/src/projectM-qt/images/icons/hi16-action-projectm_settings_engine.png new file mode 100644 index 0000000000..23b0dc9bc8 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_settings_engine.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_settings_general.png b/src/projectM-qt/images/icons/hi16-action-projectm_settings_general.png new file mode 100644 index 0000000000..d0f8beaa2e Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_settings_general.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_settings_indicator.png b/src/projectM-qt/images/icons/hi16-action-projectm_settings_indicator.png new file mode 100644 index 0000000000..2e12e48016 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_settings_indicator.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_settings_playback.png b/src/projectM-qt/images/icons/hi16-action-projectm_settings_playback.png new file mode 100644 index 0000000000..9e6ecc1cfa Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_settings_playback.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_settings_view.png b/src/projectM-qt/images/icons/hi16-action-projectm_settings_view.png new file mode 100644 index 0000000000..aefae881c7 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_settings_view.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_stop.png b/src/projectM-qt/images/icons/hi16-action-projectm_stop.png new file mode 100644 index 0000000000..102b8be9ad Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_stop.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_track.png b/src/projectM-qt/images/icons/hi16-action-projectm_track.png new file mode 100644 index 0000000000..0b22305b55 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_track.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_undo.png b/src/projectM-qt/images/icons/hi16-action-projectm_undo.png new file mode 100644 index 0000000000..4d49c6d165 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_undo.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_unlock.png b/src/projectM-qt/images/icons/hi16-action-projectm_unlock.png new file mode 100644 index 0000000000..3a1a0d34ef Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_unlock.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_visualizations.png b/src/projectM-qt/images/icons/hi16-action-projectm_visualizations.png new file mode 100644 index 0000000000..a9b77dc098 Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_visualizations.png differ diff --git a/src/projectM-qt/images/icons/hi16-action-projectm_zoom.png b/src/projectM-qt/images/icons/hi16-action-projectm_zoom.png new file mode 100644 index 0000000000..26bdd818bb Binary files /dev/null and b/src/projectM-qt/images/icons/hi16-action-projectm_zoom.png differ diff --git a/src/projectM-qt/images/icons/prjm16-transparent.svg b/src/projectM-qt/images/icons/prjm16-transparent.svg new file mode 100644 index 0000000000..4007856664 --- /dev/null +++ b/src/projectM-qt/images/icons/prjm16-transparent.svg @@ -0,0 +1,63 @@ + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/src/projectM-qt/images/icons/rating-1.png b/src/projectM-qt/images/icons/rating-1.png new file mode 100644 index 0000000000..8dff8ac86b Binary files /dev/null and b/src/projectM-qt/images/icons/rating-1.png differ diff --git a/src/projectM-qt/images/icons/rating-2.png b/src/projectM-qt/images/icons/rating-2.png new file mode 100644 index 0000000000..6d11b38944 Binary files /dev/null and b/src/projectM-qt/images/icons/rating-2.png differ diff --git a/src/projectM-qt/images/icons/rating-3.png b/src/projectM-qt/images/icons/rating-3.png new file mode 100644 index 0000000000..864fa2b126 Binary files /dev/null and b/src/projectM-qt/images/icons/rating-3.png differ diff --git a/src/projectM-qt/images/icons/rating-4.png b/src/projectM-qt/images/icons/rating-4.png new file mode 100644 index 0000000000..afa6526c98 Binary files /dev/null and b/src/projectM-qt/images/icons/rating-4.png differ diff --git a/src/projectM-qt/images/icons/rating-5.png b/src/projectM-qt/images/icons/rating-5.png new file mode 100644 index 0000000000..840ead4071 Binary files /dev/null and b/src/projectM-qt/images/icons/rating-5.png differ diff --git a/src/projectM-qt/nullable.hpp b/src/projectM-qt/nullable.hpp new file mode 100644 index 0000000000..e491a9798f --- /dev/null +++ b/src/projectM-qt/nullable.hpp @@ -0,0 +1,48 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef NULLABLE_HPP +#define NULLABLE_HPP + +template +class Nullable { + public: + Nullable(const Value & value) : m_value(value), m_hasValue(true) {} + Nullable() :m_hasValue(false) {} + + Nullable & operator=(const Value & value) { + m_value = value; + m_hasValue = true; + static Nullable tmp = 0; + return tmp; + } + + void nullify() { + m_hasValue = false; + } + + const Value & value() const { return m_value;} + bool hasValue() const { return m_hasValue;} + private: + Value m_value; + bool m_hasValue; +}; +#endif diff --git a/src/projectM-qt/qplaylistfiledialog.cpp b/src/projectM-qt/qplaylistfiledialog.cpp new file mode 100644 index 0000000000..6281625a15 --- /dev/null +++ b/src/projectM-qt/qplaylistfiledialog.cpp @@ -0,0 +1,28 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + + +#include "qplaylistfiledialog.hpp" + +QString QPlaylistFileDialog::OPEN_PLAYLIST_TITLE("Open a playlist file"); +QString QPlaylistFileDialog::OPEN_PLAYLIST_OR_DIRECTORY_TITLE("Open a playlist or directory"); +QString QPlaylistFileDialog::SAVE_PLAYLIST_TITLE("Save a playlist"); + diff --git a/src/projectM-qt/qplaylistfiledialog.hpp b/src/projectM-qt/qplaylistfiledialog.hpp new file mode 100644 index 0000000000..7754f06ffc --- /dev/null +++ b/src/projectM-qt/qplaylistfiledialog.hpp @@ -0,0 +1,171 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + + + +#ifndef QPLAYLIST_FILEDIALOG_HPP +#define QPLAYLIST_FILEDIALOG_HPP + +#include +#include +#include + + class QPlaylistFileDialog : public QFileDialog + { + Q_OBJECT // must include this if you use Qt signals/slots + + public: + static QString OPEN_PLAYLIST_TITLE; + static QString OPEN_PLAYLIST_OR_DIRECTORY_TITLE; + static QString SAVE_PLAYLIST_TITLE; + + inline QPlaylistFileDialog(QWidget * parent = 0): + QFileDialog(parent, OPEN_PLAYLIST_OR_DIRECTORY_TITLE, QString()), m_directorySelectAllowed(true), m_fileSelectAllowed(true) { + + this->setOption(QFileDialog::DontUseNativeDialog); + + updateFileMode(selectedFiles()); + + //connect(this, SIGNAL(filesSelected(const QStringList&)), + // this, SLOT(updateFileMode(const QStringList&))); + + connect(this, SIGNAL(currentChanged(const QString&)), + this, SLOT(updateFileMode(const QString&))); + } + + inline bool isPlaylistSaveMode() { + return this->acceptMode() == QFileDialog::AcceptSave; + } + + inline void setPlaylistSaveMode(bool isSaveMode) { + if (isSaveMode) { + this->setAcceptMode(QFileDialog::AcceptSave); + updateWindowTitle(); + updateFileMode(selectedFiles()); + } + else { + this->setAcceptMode(QFileDialog::AcceptOpen); + updateWindowTitle(); + updateFileMode(selectedFiles()); + } + } + + inline void setAllowDirectorySelect(bool isAllowed) { + m_directorySelectAllowed = isAllowed; + updateFileMode(selectedFiles()); + updateWindowTitle(); + } + + inline void setAllowFileSelect(bool isAllowed) { + m_fileSelectAllowed = isAllowed; + updateFileMode(selectedFiles()); + updateWindowTitle(); + } + + + inline bool isFileSelectAllowed() const { + return m_fileSelectAllowed; + } + + + inline bool isDirectorySelectAllowed() const { + return m_directorySelectAllowed; + } + + + + ~QPlaylistFileDialog() { } + + private: + + bool m_directorySelectAllowed; + bool m_fileSelectAllowed; + QString getFilter() { + QString filter; + if (isDirectorySelectAllowed()) { + + filter += "Directories"; + } + + if (isFileSelectAllowed()) { + if (filter != QString()) + filter += " and "; + + filter += "Preset Playlists (*.ppl)"; + } + + return filter; + } + + void updateWindowTitle() { + if (isPlaylistSaveMode()) + setWindowTitle(SAVE_PLAYLIST_TITLE); + else { + if (isDirectorySelectAllowed() && isFileSelectAllowed()) + setWindowTitle(OPEN_PLAYLIST_OR_DIRECTORY_TITLE); + else + setWindowTitle(OPEN_PLAYLIST_TITLE); + } + } + + private slots: + + void updateFileMode(const QString fileName) { + + + if (fileName == QString()) { + if (isPlaylistSaveMode()) + this->setFileMode(QFileDialog::AnyFile); + else + this->setFileMode(QFileDialog::ExistingFile); + } + + else if (QFileInfo(fileName).isDir()) { + if (isPlaylistSaveMode()) + this->setFileMode(QFileDialog::AnyFile); + else if (isDirectorySelectAllowed()) + this->setFileMode(QFileDialog::Directory); + else + this->setFileMode(QFileDialog::ExistingFile); + } + else if (QFileInfo(fileName).isFile()) { + + if (isPlaylistSaveMode()) + this->setFileMode(QFileDialog::AnyFile); + else if (isFileSelectAllowed()) + this->setFileMode(QFileDialog::ExistingFile); + else + this->setFileMode(QFileDialog::Directory); + } + + this->setFilter(filter()); + } + + void updateFileMode(const QStringList & selectedFiles) { + if (selectedFiles.empty()) + updateFileMode(QString()); + else + updateFileMode(selectedFiles[0]); + } +}; + + +#endif diff --git a/src/projectM-qt/qplaylistmodel.cpp b/src/projectM-qt/qplaylistmodel.cpp new file mode 100644 index 0000000000..da1ff282dd --- /dev/null +++ b/src/projectM-qt/qplaylistmodel.cpp @@ -0,0 +1,432 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include +#include +#include +#include + +#include "qxmlplaylisthandler.hpp" +#include "qplaylistmodel.hpp" +#include + +QString QPlaylistModel::PRESET_MIME_TYPE("text/x-projectM-preset"); + +class XmlReadFunctor { + public: + XmlReadFunctor(QPlaylistModel & model) : m_model(model) {} + + inline void setPlaylistDesc(const QString & desc) { + m_model.setPlaylistDesc(desc); + } + + inline void appendItem(const QString & url, const QString & name, int rating, int breedability) { + m_model.appendRow(url, name, rating, breedability); + } + + + private: + QPlaylistModel & m_model; + +}; + + +class XmlWriteFunctor { + public: + XmlWriteFunctor(QPlaylistModel & model) : m_model(model), m_index(0) {} + + + inline const QString & playlistDesc() const { + return m_model.playlistDesc(); + } + + inline bool nextItem(QString & name, QString & url, int & rating, int & breedability) { + + if (m_index >= m_model.rowCount()) + return false; + + QModelIndex modelIndex = m_model.index(m_index, 0); + url = m_model.data(modelIndex, QPlaylistModel::URLInfoRole).toString(); + rating = m_model.data(modelIndex, QPlaylistModel::RatingRole).toInt(); + + breedability = m_model.data(modelIndex, QPlaylistModel::BreedabilityRole).toInt(); + + m_index++; + return true; + } + private: + QPlaylistModel & m_model; + int m_index; + +}; + +bool QPlaylistModel::softCutRatingsEnabled() const { + return m_projectM.settings().softCutRatingsEnabled; +} + +QPlaylistModel::QPlaylistModel ( projectM & _projectM, QObject * parent ) : + QAbstractTableModel ( parent ), m_projectM ( _projectM ) +{ + +} + + +void QPlaylistModel::updateItemHighlights() +{ + if ( rowCount() == 0 ) + return; + + emit ( dataChanged ( this->index ( 0,0 ), this->index ( rowCount()-1,columnCount()-1 ) ) ); +} + +bool QPlaylistModel::setData ( const QModelIndex & index, const QVariant & value, int role ) +{ + if ( role == QPlaylistModel::RatingRole ) + { + m_projectM.changePresetRating(index.row(), value.toInt(), HARD_CUT_RATING_TYPE); + return true; + } else if (role == QPlaylistModel::BreedabilityRole) { + m_projectM.changePresetRating(index.row(), value.toInt(), SOFT_CUT_RATING_TYPE); + return true; + } else if (role == QPlaylistModel::NameRole) { + m_projectM.changePresetName(index.row(), value.toString().toStdString()); + return true; + } + else + return QAbstractTableModel::setData ( index, value, role ); + +} + +Qt::ItemFlags QPlaylistModel::flags(const QModelIndex &index) const +{ + Qt::ItemFlags defaultFlags = QAbstractTableModel::flags(index); + + if (index.isValid()) + return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags; + else + return Qt::ItemIsDropEnabled | defaultFlags; +} + + + bool QPlaylistModel::dropMimeData(const QMimeData *data, Qt::DropAction action, + int row, int column, const QModelIndex &parent) +{ + if (!data->hasFormat(PRESET_MIME_TYPE)) + return false; + + if (action == Qt::IgnoreAction) + return true; + + if (column > 0) + return false; + + return true; +} + +QVariant QPlaylistModel::ratingToIcon ( int rating ) const +{ + switch ( rating ) + { + case 1: + return QVariant (); + case 2: + return QVariant ( QIcon ( ":/images/icons/rating-1.png" ) ); + case 3: + return QVariant ( QIcon ( ":/images/icons/rating-2.png" ) ); + case 4: + return QVariant ( QIcon ( ":/images/icons/rating-3.png" ) ); + case 5: + return QVariant ( QIcon ( ":/images/icons/rating-4.png" ) ); + case 6: + return QVariant ( QIcon ( ":/images/icons/rating-5.png" ) ); + default: + if (rating <= 0) + return QVariant (); + else + return QVariant ( QIcon ( ":/images/icons/rating-5.png" ) ); + } +} + + +QVariant QPlaylistModel::breedabilityToIcon( int rating ) const +{ + switch ( rating ) + { + case 1: + return QVariant (); + case 2: + return QVariant ( QIcon ( ":/images/icons/rating-1.png" ) ); + case 3: + return QVariant ( QIcon ( ":/images/icons/rating-2.png" ) ); + case 4: + return QVariant ( QIcon ( ":/images/icons/rating-3.png" ) ); + case 5: + return QVariant ( QIcon ( ":/images/icons/rating-4.png" ) ); + case 6: + return QVariant ( QIcon ( ":/images/icons/rating-5.png" ) ); + default: + if (rating <= 0) + return QVariant (); + else + return QVariant ( QIcon ( ":/images/icons/rating-5.png" ) ); + } +} + +QString QPlaylistModel::getSillyRatingToolTip(int rating) { + +switch (rating) { + case 1: + return QString("Rather watch grass grow than watch this"); + case 2: + return QString("A very poor preset"); + case 3: + return QString("Tolerable"); + case 4: + return QString("Pretty good"); + case 5: + return QString("Trippy eye candy"); + case 6: + return QString("Crafted by a psychotic deity"); + default: + if (rating <= 0 ) + return QString("So bad it literally makes other presets bad!"); + else + return QString("Better than projectM itself!"); +} +} + + +QString QPlaylistModel::getBreedabilityToolTip(int rating) const { + +switch (rating) { + case 1: + return QString("Hidious."); + case 2: + return QString("Ugly."); + case 3: + return QString("Doable."); + case 4: + return QString("Hot."); + case 5: + return QString("Preset Magnet."); + case 6: + return QString("Preset Whore."); + default: + if (rating <= 0 ) + return QString("Infertile."); + else + return QString("Diseased slut."); +} +} + +QVariant QPlaylistModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const +{ + + if (!index.isValid()) + return QVariant(); + + unsigned int pos; + + switch ( role ) + { + case Qt::DisplayRole: + if ( index.column() == 0 ) + return QVariant ( QString ( m_projectM.getPresetName ( index.row() ).c_str() ) ); + else if (index.column() == 1) + return ratingToIcon ( m_projectM.getPresetRating(index.row(), HARD_CUT_RATING_TYPE) ); + else + return ratingToIcon ( m_projectM.getPresetRating(index.row(), SOFT_CUT_RATING_TYPE) ); + case Qt::ToolTipRole: + if ( index.column() == 0 ) + return QVariant ( QString ( m_projectM.getPresetName ( index.row() ).c_str() ) ); + else if (index.column() == 1) + return QString ( getSillyRatingToolTip(m_projectM.getPresetRating(index.row(), HARD_CUT_RATING_TYPE))); + else return getBreedabilityToolTip(m_projectM.getPresetRating(index.row(), SOFT_CUT_RATING_TYPE)); + case Qt::DecorationRole: + if ( index.column() == 1 ) + return ratingToIcon ( m_projectM.getPresetRating(index.row(), HARD_CUT_RATING_TYPE) ); + else if (index.column() == 2) + return breedabilityToIcon ( m_projectM.getPresetRating(index.row(), SOFT_CUT_RATING_TYPE) ); + else + return QVariant(); + case QPlaylistModel::RatingRole: + return QVariant ( m_projectM.getPresetRating(index.row(), HARD_CUT_RATING_TYPE) ); + case QPlaylistModel::BreedabilityRole: + return QVariant ( m_projectM.getPresetRating(index.row(), SOFT_CUT_RATING_TYPE) ); + case Qt::BackgroundRole: + + if (!m_projectM.selectedPresetIndex(pos)) + return QVariant(); + if (m_projectM.isPresetLocked() && ( index.row() == pos ) ) + return QColor(Qt::red); + if (!m_projectM.isPresetLocked() && ( index.row() == pos ) ) + return QColor(Qt::green); + return QVariant(); + case QPlaylistModel::URLInfoRole: + return QVariant ( QString ( m_projectM.getPresetURL ( index.row() ).c_str() ) ); + default: + + return QVariant(); + } +} + +QVariant QPlaylistModel::headerData ( int section, Qt::Orientation orientation, int role ) const +{ + + if ( orientation == Qt::Vertical ) + return QAbstractTableModel::headerData ( section, orientation, role ); + if ( ( section == 0 ) && ( role == Qt::DisplayRole ) ) + return QString ( tr ( "Preset" ) ); + + /// @bug hack. this should be formalized like it is in libprojectM. + if ( ( section == 1 ) && ( role == Qt::DisplayRole )) + if (columnCount() == 2) + return QString ( tr ( "Rating" ) ); + else + return QString ( tr ( "Hard Rating" ) ); + if ( ( section == 2 ) && ( role == Qt::DisplayRole ) ) + return QString ( tr ( "Soft Rating" ) ); + + return QAbstractTableModel::headerData ( section, orientation, role ); +} + +int QPlaylistModel::rowCount ( const QModelIndex & parent ) const +{ + return m_projectM.getPlaylistSize(); +} + + +int QPlaylistModel::columnCount ( const QModelIndex & parent ) const +{ + return softCutRatingsEnabled() ? 3 : 2; +} + +void QPlaylistModel::appendRow ( const QString & presetURL, const QString & presetName, int rating, int breedability ) +{ + RatingList ratings; + ratings.push_back(rating); + ratings.push_back(breedability); + + beginInsertRows ( QModelIndex(), rowCount(), rowCount() ); + m_projectM.addPresetURL ( presetURL.toStdString(), presetName.toStdString(), ratings); + endInsertRows(); +} + +void QPlaylistModel::insertRow (int index, const QString & presetURL, const QString & presetName, int rating, int breedability) { + RatingList ratings; + ratings.push_back(rating); + ratings.push_back(breedability); + + beginInsertRows ( QModelIndex(), index, index); + m_projectM.insertPresetURL (index, presetURL.toStdString(), presetName.toStdString(), ratings); + endInsertRows(); +} + +bool QPlaylistModel::removeRows ( int row, int count, const QModelIndex & parent) { + + beginRemoveRows ( QModelIndex(), row, count); + + for (int i = 0; i < count; i++) { + m_projectM.removePreset (row ); + } + endRemoveRows(); + return true; +} + +bool QPlaylistModel::removeRow ( int index, const QModelIndex & parent) +{ + beginRemoveRows ( QModelIndex(), index, index ); + m_projectM.removePreset ( index ); + endRemoveRows(); + return true; +} + +void QPlaylistModel::clear() +{ + clearItems(); + m_playlistName = ""; + m_playlistDesc = ""; +} + +void QPlaylistModel::clearItems() +{ + beginRemoveRows ( QModelIndex(), 0, rowCount()-1 ); + m_projectM.clearPlaylist(); + endRemoveRows(); +} + + +bool QPlaylistModel::writePlaylist ( const QString & file ) { + + QFile qfile(file); + + if (!qfile.open(QIODevice::WriteOnly)) { + QMessageBox::warning (0, "Playlist Save Error", QString("There was a problem trying to save the playlist \"%1\". You may not have permission to modify this file.").arg(file)); + return false; + } + + XmlWriteFunctor writeFunctor(*this); + + QXmlPlaylistHandler::writePlaylist(&qfile, writeFunctor); + return true; +} + +bool QPlaylistModel::readPlaylist ( const QString & file ) +{ + + if (QFileInfo(file).isDir()) { + if (!QDir(file).isReadable()) { + QMessageBox::warning (0, "Playlist Directory Error", QString(tr("There was a problem trying to open the playlist directory \"%1\". The directory doesn't exist or you may not have permission to open it. ")).arg(file)); + return false; + } + + foreach (QFileInfo info, QDir(file).entryInfoList()) { + if (info.fileName().toLower().endsWith(".prjm") || info.fileName().toLower().endsWith(".milk") || info.fileName().toLower().endsWith(".so")) + appendRow(info.absoluteFilePath(), info.fileName(), 3,3); + } + return true; + } + + QFile qfile(file); + if (!qfile.open(QIODevice::ReadOnly)) { + QMessageBox::warning (0, "Playlist File Error", QString(tr("There was a problem trying to open the playlist \"%1\". The file may no longer exist or you may not have permission to read the file.")).arg(file)); + return false; + } + + XmlReadFunctor readFunctor(*this); + + if (QXmlPlaylistHandler::readPlaylist(&qfile, readFunctor) != QXmlStreamReader::NoError) { + QMessageBox::warning ( 0, "Playlist Parse Error", QString(tr("There was a problem trying to parse the playlist \"%1\". Some of your playlist items may have loaded correctly, but don't expect miracles.")).arg(file)); + } + + return true; +} + +void QPlaylistModel::notifyDataChanged(unsigned int ind) +{ + + + QModelIndex modelIndex = index (ind, 1); + emit ( dataChanged ( modelIndex, modelIndex)); +} + diff --git a/src/projectM-qt/qplaylistmodel.hpp b/src/projectM-qt/qplaylistmodel.hpp new file mode 100644 index 0000000000..3faa3a1da6 --- /dev/null +++ b/src/projectM-qt/qplaylistmodel.hpp @@ -0,0 +1,111 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPROJECTM_PLAYLISTMODEL_H +#define QPROJECTM_PLAYLISTMODEL_H + +#include +#include +#include + +#include +#include +#include + +class QXmlStreamReader; +class QDragMoveEvent; + +class QPlaylistModel : public QAbstractTableModel + { + Q_OBJECT // must include this if you use Qt signals/slots + +public: +static const int URLInfoRole = Qt::UserRole; +static const int RatingRole = Qt::UserRole+1; +static const int NameRole = Qt::UserRole+2; +static const int BreedabilityRole = Qt::UserRole+3; + + QPlaylistModel(projectM & _projectM, QObject * parent = 0); + ~QPlaylistModel() { } +bool setData(const QModelIndex & index, const QVariant & value, int role=Qt::EditRole); + +void appendRow (const QString & presetURL, const QString & presetName, int rating, int breedability); +void insertRow (int index, const QString & presetURL, const QString & presetName, int rating, int breedability); + +bool removeRow (int index, const QModelIndex & parent = QModelIndex()); +bool removeRows ( int row, int count, const QModelIndex & parent = QModelIndex()); +QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; + +void clear(); + +QVariant data ( const QModelIndex & index, int role) const; +int rowCount ( const QModelIndex & parent = QModelIndex()) const ; +int columnCount ( const QModelIndex & parent= QModelIndex()) const ; + +bool readPlaylist(const QString & file); +bool writePlaylist ( const QString & file ); +QVariant breedabilityToIcon( int rating ) const; +QString getBreedabilityToolTip(int rating) const; +Qt::ItemFlags flags(const QModelIndex &index) const; + + +inline const QString & playlistDesc() { + return m_playlistDesc; +} + + +inline void setPlaylistDesc(const QString & desc) { + m_playlistDesc = desc; +} + +inline Qt::DropActions supportedDropActions() const +{ + return Qt::MoveAction; +} + +void notifyDataChanged(unsigned int index); + +inline QStringList mimeTypes () const { + QStringList mimeTypes; + mimeTypes << PRESET_MIME_TYPE; + return mimeTypes; +} + +bool dropMimeData(const QMimeData *data, Qt::DropAction action, + int row, int column, const QModelIndex &parent); +void clearItems(); + +public slots: + void updateItemHighlights(); + + private: + static QString getSillyRatingToolTip(int rating); + void readPlaylistItem(QXmlStreamReader & reader); + static QString PRESET_MIME_TYPE; + QVariant ratingToIcon(int rating) const; + projectM & m_projectM; + QString m_playlistName; + QString m_playlistDesc; + +private: +bool softCutRatingsEnabled() const; +}; +#endif diff --git a/src/projectM-qt/qplaylisttableview.hpp b/src/projectM-qt/qplaylisttableview.hpp new file mode 100644 index 0000000000..474f90abf7 --- /dev/null +++ b/src/projectM-qt/qplaylisttableview.hpp @@ -0,0 +1,134 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPLAYLIST_TABLEVIEW_HPP +#define QPLAYLIST_TABLEVIEW_HPP + +#include +#include +#include +#include +#include +#include +class QPlaylistTableView : public QTableView + { + Q_OBJECT // must include this if you use Qt signals/slots + + public: + inline QPlaylistTableView(QWidget * parent = 0): + QTableView(parent) {} + + + signals: + void mousePressed(QMouseEvent*, const QModelIndexList & items); + void resized(QResizeEvent * event); + void deletesRequested(const QModelIndexList & items); + void internalDragAndDropRequested(const QModelIndexList & items, const QModelIndex & target = QModelIndex()); + + public slots: + void dropEvent ( QDropEvent * event ) { + + QModelIndex dropIndex = this->indexAt(event->pos()); + + if (!dropIndex.isValid()) { + event->ignore(); + return; + } + + const QModelIndexList & items = selectedIndexes(); + + if (items.empty()) { + event->ignore(); + return; + } + + int i = items[0].row(); + + // Don't drag and drop into same slot + if (i == dropIndex.row()) { + event->ignore(); + return; + } + + m_firstContiguousBlock.clear(); + foreach (QModelIndex index, items) { + if (index.row() == i) + m_firstContiguousBlock.append(index); + else + break; + i++; + } + + emit(internalDragAndDropRequested(m_firstContiguousBlock, dropIndex)); + event->accept(); + } + + + void dragLeaveEvent ( QDragLeaveEvent * event ) { + //qDebug() << "drag leave"; + } + + void dragEnterEvent ( QDragEnterEvent * event ) { + //qDebug() << "drag enter event"; + event->accept(); + + } + + + void dragMoveEvent ( QDragMoveEvent * event ) { + //qDebug() << "drag move event"; + event->accept(); + } + + inline void resizeEvent(QResizeEvent * event) { + QTableView::resizeEvent(event); + emit(resized(event)); + } + + inline void mousePressEvent(QMouseEvent * event) { + QAbstractItemView::mousePressEvent(event); + if (event->button() == Qt::RightButton) { + emit(mousePressed(event, selectedIndexes())); + } + else + ; + } + + inline void keyReleaseEvent(QKeyEvent * event) { + + switch (event->key()) { + case Qt::Key_Delete: + emit(deletesRequested(selectedIndexes())); + break; + + default: + event->ignore(); + break; + } + } + + private: + QModelIndexList m_firstContiguousBlock; +}; + + + +#endif diff --git a/src/projectM-qt/qpreseteditordialog.cpp b/src/projectM-qt/qpreseteditordialog.cpp new file mode 100644 index 0000000000..7ae20817ac --- /dev/null +++ b/src/projectM-qt/qpreseteditordialog.cpp @@ -0,0 +1,107 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "qpreseteditordialog.hpp" +#include +#include +#include + +QPresetEditorDialog::QPresetEditorDialog(QProjectMWidget * widget, QWidget * parent, Qt::WindowFlags f): QDialog(parent,f), _qprojectMWidget(widget) { + _ui.setupUi(this); + + QHBoxLayout * hboxLayout = new QHBoxLayout(); + + hboxLayout->addWidget(_ui.layoutWidget); + this->setLayout(hboxLayout); + + connect(_ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonBoxHandler(QAbstractButton*))); + +} + +void QPresetEditorDialog::setPreset(QString url, int rowIndex) { + + disconnect(_ui.presetTextEdit, 0, this, 0); + + m_index = rowIndex; + + m_presetUrl = url; + _ui.presetTextEdit->loadPresetText(url); + + this->setWindowTitle(QString("Preset Editor - %1 [*]").arg(url)); + this->setWindowModified(false); + + connect(_ui.presetTextEdit, SIGNAL(textChanged()), this, SLOT(updateWindowTitle())); + connect(_ui.presetTextEdit, SIGNAL(applyRequested()), this, SLOT(saveAndNotify()), Qt::DirectConnection); +} + + +void QPresetEditorDialog::updateWindowTitle() { + this->setWindowModified(true); +} + +const QString & QPresetEditorDialog::presetUrl() const { + return m_presetUrl; +} + +void QPresetEditorDialog::revertBuffer() { + setPreset(m_presetUrl, m_index); +} + +void QPresetEditorDialog::saveFile() { + QFile qfile(presetUrl()); + + if (!qfile.open(QIODevice::ReadWrite | QIODevice::Text)) { + QMessageBox::warning (0, "Preset File Error", QString(tr("There was a problem trying to save the preset \"%1\". You may not have permission to write to the file.")).arg(presetUrl())); + return ; + } + + QTextStream textStream(&qfile); + + textStream << _ui.presetTextEdit->toPlainText(); + + textStream.flush(); + this->setWindowModified(false); +} + +void QPresetEditorDialog::saveAndNotify() { + + qDebug() << "save and notify"; + saveFile(); + + emit(presetModified(m_index)); +} + +void QPresetEditorDialog::buttonBoxHandler(QAbstractButton * button) { + switch (_ui.buttonBox->standardButton(button)) { + case QDialogButtonBox::Close: + this->hide(); + break; + case QDialogButtonBox::Apply: + saveAndNotify(); + break; + case QDialogButtonBox::Reset: + revertBuffer(); + break; + default: + break; + } +} + diff --git a/src/projectM-qt/qpreseteditordialog.hpp b/src/projectM-qt/qpreseteditordialog.hpp new file mode 100644 index 0000000000..0c884da30e --- /dev/null +++ b/src/projectM-qt/qpreseteditordialog.hpp @@ -0,0 +1,63 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPRESET_EDITOR_DIALOG_HPP +#define QPRESET_EDITOR_DIALOG_HPP +#include "ui_qpreseteditordialog.h" +class QProjectMWidget; +#include +class QPresetEditorDialog : public QDialog { + + Q_OBJECT + + public: + QPresetEditorDialog(QProjectMWidget * widget, QWidget * parent = 0, Qt::WindowFlags f = 0); + void setPreset(QString url, int rowIndex); + const QString & presetUrl() const; + + inline int presetIndex() const { + return m_index; + } + signals: + void presetModified(int rowIndex); + protected: + //void keyReleaseEvent(QKeyEvent * e); + public slots: + + + private slots: + void buttonBoxHandler(QAbstractButton * button); + void saveFile(); + void saveAndNotify(); + void updateWindowTitle(); + + private: + int m_index; + void revertBuffer(); + QProjectMWidget * _qprojectMWidget; + Ui::QPresetEditorDialog _ui; + QString m_presetUrl; + + + + +}; +#endif diff --git a/src/projectM-qt/qpreseteditordialog.ui b/src/projectM-qt/qpreseteditordialog.ui new file mode 100644 index 0000000000..01d483f6ff --- /dev/null +++ b/src/projectM-qt/qpreseteditordialog.ui @@ -0,0 +1,99 @@ + + QPresetEditorDialog + + + + 0 + 0 + 464 + 383 + + + + Dialog + + + true + + + true + + + + + 1 + 1 + 461 + 381 + + + + + + + + 1 + 2 + + + + false + + + + + + + Qt::Vertical + + + QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::NoButton|QDialogButtonBox::Reset + + + + + + + + + QPresetTextEdit + QTextEdit +

qpresettextedit.hpp
+ + + + + + buttonBox + accepted() + QPresetEditorDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + QPresetEditorDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/projectM-qt/qpresetfiledialog.hpp b/src/projectM-qt/qpresetfiledialog.hpp new file mode 100644 index 0000000000..aece7416bb --- /dev/null +++ b/src/projectM-qt/qpresetfiledialog.hpp @@ -0,0 +1,54 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPRESET_FILEDIALOG_H +#define QPRESET_FILEDIALOG_H + + +#define CONFIG_FILE "/share/projectM/config.inp" + +#include +#include +#include +#include + +#include +#include + + class QPresetFileDialog : public QFileDialog + { + Q_OBJECT // must include this if you use Qt signals/slots + + public: + QPresetFileDialog(QWidget * parent = 0): + QFileDialog(parent, "Add preset files", QString(), "Presets (*.prjm *.milk *.so)" ) { + + this->setOption(QFileDialog::DontUseNativeDialog); + + this->setFileMode(QFileDialog::ExistingFiles); + } + + ~QPresetFileDialog() { } + private: + + +}; +#endif diff --git a/src/projectM-qt/qpresettextedit.cpp b/src/projectM-qt/qpresettextedit.cpp new file mode 100644 index 0000000000..bfe1ebe82d --- /dev/null +++ b/src/projectM-qt/qpresettextedit.cpp @@ -0,0 +1,63 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "qpresettextedit.hpp" +#include +#include + +#include + +void QPresetTextEdit::keyReleaseEvent(QKeyEvent * e) { + + switch (e->key()) { + case Qt::Key_S: + if (e->modifiers() & Qt::ControlModifier) { + emit(applyRequested()); + } + e->accept(); + break; + default: + e->ignore(); + } + +} + +bool QPresetTextEdit::loadPresetText(QString url) { + QFile qfile(url); + if (!qfile.open(QIODevice::ReadOnly | QIODevice::Text)) { + QMessageBox::warning (0, "Preset File Error", QString(tr("There was a problem trying to open the preset \"%1\". The file may no longer exist or you may not have permission to read the file.")).arg(url)); + return false; + } + + + QTextStream in(&qfile); + + QString buffer; + QTextStream out(&buffer); + while (!in.atEnd()) { + QString line = in.readLine(); + out << line << "\n"; + } + + this->setPlainText(out.readAll()); + + return true; +} diff --git a/src/projectM-qt/qpresettextedit.hpp b/src/projectM-qt/qpresettextedit.hpp new file mode 100644 index 0000000000..1bb81b7364 --- /dev/null +++ b/src/projectM-qt/qpresettextedit.hpp @@ -0,0 +1,49 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPRESET_EDITOR_HPP +#define QPRESET_EDITOR_HPP +#include +#include + +class QPresetTextEdit: public QTextEdit + { + Q_OBJECT // must include this if you use Qt signals/slots + + public: + inline QPresetTextEdit(QWidget * parent = 0): QTextEdit(parent) {} + + bool loadPresetText(QString url); + + void keyReleaseEvent(QKeyEvent * e); + + signals: + void applyRequested(); + + public slots: + + private: + +}; + + + +#endif diff --git a/src/projectM-qt/qprojectm.hpp b/src/projectM-qt/qprojectm.hpp new file mode 100644 index 0000000000..5e70ec7cf7 --- /dev/null +++ b/src/projectM-qt/qprojectm.hpp @@ -0,0 +1,57 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPROJECTM_HPP +#define QPROJECTM_HPP +#include "projectM.hpp" +#include + +class QProjectM : public QObject, public projectM { + + Q_OBJECT + + public: + QProjectM(const std::string & config_file):projectM(config_file, projectM::FLAG_DISABLE_PLAYLIST_LOAD) {} + + void presetSwitchedEvent(bool hardCut, unsigned int index) const { + presetSwitchedSignal(hardCut, index); + } + + void presetSwitchFailedEvent(bool hardCut, unsigned int index, const std::string & message) const { + presetSwitchFailedSignal(hardCut, index, QString(message.c_str())); + } + + void presetRatingChanged(unsigned int index, int rating, + PresetRatingType ratingType) const { + presetRatingChangedSignal(index, rating, ratingType); + } + + signals: + void presetSwitchedSignal(bool hardCut, unsigned int index) const; + void presetSwitchFailedSignal(bool hardCut, unsigned int index, const QString & message) const; + void presetRatingChangedSignal(unsigned int index, int rating, + PresetRatingType ratingType) const; + + public slots: + + +}; +#endif diff --git a/src/projectM-qt/qprojectm_mainwindow.cpp b/src/projectM-qt/qprojectm_mainwindow.cpp new file mode 100644 index 0000000000..77371fdd78 --- /dev/null +++ b/src/projectM-qt/qprojectm_mainwindow.cpp @@ -0,0 +1,1331 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include "qprojectm_mainwindow.hpp" +#include "qpresetfiledialog.hpp" +#include "qplaylistfiledialog.hpp" +#include +#include +#include + +#include "qplaylistmodel.hpp" +#include "qpresettextedit.hpp" +#include "ui_qprojectm_mainwindow.h" +#include "qprojectmconfigdialog.hpp" +#include "qpreseteditordialog.hpp" +#include "ui_qpreseteditordialog.h" +#include "configfile.hpp" +#include "qxmlplaylisthandler.hpp" +#include "nullable.hpp" +#include "qprojectmwidget.hpp" + +extern int qInitResources(); + +class PlaylistWriteFunctor { + public: + PlaylistWriteFunctor(const QVector::iterator & begin, + const QVector::iterator & end, const QString & desc) : + m_pos(begin), m_end(end), m_desc(desc) {} + + inline const QString & playlistDesc() const { + return m_desc; + } + + inline bool nextItem(QString & name, QString & url, int & rating, int & breedability) { + + if (m_pos == m_end) + return false; + + const QProjectM_MainWindow::PlaylistItemMetaData & data = **m_pos; + + url = data.url; + rating = data.rating; + name = data.name; + + breedability = data.breedability; + m_pos++; + return true; + } + private: + QVector::const_iterator m_pos; + QVector::const_iterator m_end; + + const QString & m_desc; + +}; + +QProjectM_MainWindow::QProjectM_MainWindow ( const std::string & config_file, QMutex * audioMutex) + :m_QPresetFileDialog ( new QPresetFileDialog ( this ) ), ui(0), m_QPlaylistFileDialog + ( new QPlaylistFileDialog ( this )), playlistModel(0), + configDialog(0), hHeader(0), vHeader(0), _menuVisible(true), _menuAndStatusBarsVisible(true), +activePresetIndex(new Nullable), playlistItemCounter(0), m_QPresetEditorDialog(0) +{ + qInitResources(); + + ui = new Ui::QProjectM_MainWindow(); + ui->setupUi ( this ); + + m_QProjectMWidget = new QProjectMWidget ( config_file, this, audioMutex); + + m_timer = new QTimer ( this ); + connect ( m_timer, SIGNAL ( timeout() ), m_QProjectMWidget, SLOT ( updateGL() ) ); + + connect ( ui->lockPresetCheckBox, SIGNAL ( stateChanged ( int ) ), + m_QProjectMWidget, SLOT ( setPresetLock ( int ) ) ); + + connect ( ui->shuffleEnabledCheckBox, SIGNAL ( stateChanged ( int ) ), + m_QProjectMWidget, SLOT ( setShuffleEnabled ( int ) ) ); + + connect ( ui->clearPresetList_PushButton, SIGNAL ( pressed() ), + this, SLOT ( clearPlaylist() ) ); + + connect(ui->tableView, SIGNAL(resized(QResizeEvent *)), this, SLOT(refreshHeaders(QResizeEvent*))); + + connect(ui->tableView, SIGNAL(mousePressed(QMouseEvent*, const QModelIndexList &)), this, + SLOT(popupPlaylistContextMenu(QMouseEvent*, const QModelIndexList &))); + + connect ( m_QProjectMWidget, SIGNAL ( projectM_Initialized(QProjectM*) ), + this, SLOT ( postProjectM_Initialize() ) ); + + //connect(this, SIGNAL(dockLocationChanged ( Qt::DockWidgetArea)), SLOT(dockLocationChanged(Qt::DockWidgetArea))); + if (!m_QProjectMWidget->isValid()) { + int ret = QMessageBox::warning(this, tr("projectM cannot be started."), + tr("Your graphics driver or configuration is not supported by projectM. Please contact the developers (carmelo.piccione+projectM@gmail.com or psperl+projectM@gmail.com) with your card and driver information so we can help you get it working."), + QMessageBox::Ok); + exit(-1); + } + + + m_QProjectMWidget->makeCurrent(); + m_QProjectMWidget->setFocus(); + setCentralWidget ( m_QProjectMWidget ); + m_QProjectMWidget->installEventFilter(this); + + m_timer->start ( 0 ); + + createActions(); + createMenus(); + createToolBars(); + createStatusBar(); + readSettings(); + + readPlaylistSettings(); + + connect ( ui->tableView, SIGNAL ( activated ( const QModelIndex & ) ), + this, SLOT ( selectPlaylistItem ( const QModelIndex & ) ) ); + connect ( ui->tableView, SIGNAL ( clicked ( const QModelIndex & ) ), + this, SLOT ( changePresetAttribute ( const QModelIndex & ) ) ); + + connect ( ui->presetSearchBarLineEdit, SIGNAL ( textChanged ( const QString& ) ), + this, SLOT ( updateFilteredPlaylist ( const QString& ) ) ); + +} + +void QProjectM_MainWindow::dockLocationChanged(Qt::DockWidgetArea area) { + dockWidgetArea = area; +} + +#include +void QProjectM_MainWindow::popupPlaylistContextMenu(QMouseEvent * mouseEvent,const QModelIndexList & items) { + + + selectedPlaylistIndexes = items; + + if (items.empty()) { + mouseEvent->accept(); + return; + } + + if (mouseEvent->button() == Qt::RightButton) { + + QPoint point = mouseEvent->globalPos(); + playlistContextMenu->popup(point, ui->actionEdit_this_preset); + mouseEvent->accept(); + } else { + mouseEvent->accept(); + } +} + +void QProjectM_MainWindow::readConfig(const std::string & configFile ) { + + QSettings settings ( "projectM", "qprojectM" ); + + if ( settings.value("FullscreenOnStartup", false).toBool() ) + this->setWindowState ( this->windowState() | Qt::WindowFullScreen ); + else + this->setWindowState ( this->windowState() & ~Qt::WindowFullScreen ); + + setMenuVisible(settings.value("MenuOnStartup", false).toBool()); + + + + ConfigFile config ( configFile ); + + int wvw = config.read ( "Window Width", 1024 ); + int wvh = config.read ( "Window Height", 768 ); + + ui->shuffleEnabledCheckBox->setCheckState(qprojectM()->settings().shuffleEnabled ? Qt::Checked : Qt::Unchecked); + + + this->resize(wvw,wvh); +} + +QProjectM_MainWindow::~QProjectM_MainWindow() +{ + + + //this->qprojectMWidget()->mutex()->lock(); + + + for ( QHash::iterator pos = historyHash.begin(); pos != historyHash.end(); ++pos ) + { + if ( pos.value() ) + delete ( pos.value() ); + } + + if (ui) + delete ( ui ); + + if (activePresetIndex) + delete (activePresetIndex); + +} + +void QProjectM_MainWindow::clearPlaylist() +{ + + playlistModel->clear(); + updatePlaylistUrl(QString()); + + for ( QHash::iterator pos = historyHash.begin(); pos != historyHash.end(); ++pos ) + { + delete ( pos.value() ); + } + historyHash.clear(); + historyHash.insert ( QString(), new PlaylistItemVector ); + playlistItemMetaDataHash.clear(); + previousFilter = QString(); + activePresetIndex->nullify(); + + ui->presetSearchBarLineEdit->clear(); +} + +QProjectM * QProjectM_MainWindow::qprojectM() +{ + + return m_QProjectMWidget->qprojectM(); +} + + +projectM * QProjectM_MainWindow::GetProjectM() +{ + return m_QProjectMWidget->qprojectM(); +} + +void QProjectM_MainWindow::addPCM(float * buffer, unsigned int bufferSize) { + + qprojectM()->pcm()->addPCMfloat_2ch(buffer, bufferSize); +} + +void QProjectM_MainWindow::updatePlaylistSelection ( bool hardCut, unsigned int index ) +{ + + if ( hardCut ) + statusBar()->showMessage ( tr(QString( "*** Hard cut to \"%1\" ***" ).arg(this->qprojectM()->getPresetName(index).c_str()).toStdString().c_str()) , 2000 ); + else + statusBar()->showMessage ( tr ( "*** Soft cut to \"%1\" ***" ).arg(this->qprojectM()->getPresetName(index).c_str()).toStdString().c_str(), 2000); + + *activePresetIndex = (*historyHash[previousFilter])[index]; +} + +void QProjectM_MainWindow::selectPlaylistItem ( const QModelIndex & index ) +{ + if ( index.column() > 0 ) + return; + + selectPlaylistItem(index.row()); + +} + +void QProjectM_MainWindow::selectPlaylistItem ( int rowIndex) +{ + + qprojectM()->selectPreset (rowIndex); + *activePresetIndex = rowIndex; + + playlistModel->updateItemHighlights(); + +} + +void QProjectM_MainWindow::postProjectM_Initialize() + +{ + QSettings qSettings("projectM", "qprojectM"); + + playlistModel = new QPlaylistModel ( *qprojectM(), this ); + ui->tableView->setModel ( playlistModel ); + + /// @bug only do this at startup? fix me + //static bool firstOfRefreshPlaylist = true; + + QString url; + + //if (firstOfRefreshPlaylist) { + //if (firstOfRefreshPlaylist) { + QString playlistFile; + if ((playlistFile = qSettings.value("PlaylistFile", QString()).toString()) == QString()) + url = QString(qprojectM()->settings().presetURL.c_str()); + else + url = playlistFile; + + if (!playlistModel->readPlaylist(url)) + url = QString(); + + updatePlaylistUrl(url); + + refreshPlaylist(); + + if (!configDialog) { + configDialog = new QProjectMConfigDialog(m_QProjectMWidget->configFile(), m_QProjectMWidget, this); + } + + readConfig(m_QProjectMWidget->configFile()); + + + connect ( m_QProjectMWidget->qprojectM(), SIGNAL ( presetSwitchedSignal ( bool,unsigned int ) ), + this, SLOT ( updatePlaylistSelection ( bool,unsigned int ) ) ); + connect ( m_QProjectMWidget->qprojectM(), SIGNAL ( presetSwitchFailedSignal ( bool,unsigned int, const QString & ) ), + this, SLOT ( handleFailedPresetSwitch( bool,unsigned int, const QString &) ) ); + + + connect ( m_QProjectMWidget->qprojectM(), SIGNAL ( presetRatingChangedSignal ( unsigned int,int, PresetRatingType) ), + this, SLOT ( presetRatingChanged( unsigned int,int, PresetRatingType) )); + + connect ( m_QProjectMWidget->qprojectM(), SIGNAL ( presetSwitchedSignal ( bool,unsigned int ) ), + playlistModel, SLOT ( updateItemHighlights() ) ); + + disconnect (m_QProjectMWidget); + connect ( m_QProjectMWidget, SIGNAL ( presetLockChanged ( bool ) ), + playlistModel, SLOT ( updateItemHighlights() ) ); + + disconnect(ui->presetSearchBarLineEdit); + connect ( ui->presetSearchBarLineEdit, SIGNAL ( textChanged ( const QString& ) ), + playlistModel, SLOT ( updateItemHighlights() ) ); + + disconnect(ui->tableView); + + + connect(ui->tableView, SIGNAL(deletesRequested(const QModelIndexList&)), + this, SLOT(removePlaylistItems(const QModelIndexList&))); + + connect(ui->tableView, SIGNAL(internalDragAndDropRequested(const QModelIndexList &, const QModelIndex &)), + this, SLOT(dragAndDropPlaylistItems(const QModelIndexList &, const QModelIndex &))); + connect(qprojectMWidget(), SIGNAL(projectM_BeforeDestroy()), + this, SLOT(clearPlaylistModel()), Qt::DirectConnection); + + /// @bug hack: shouldn't have to change width for this to work correctly + m_QProjectMWidget->resize(m_QProjectMWidget->size().width()-1, m_QProjectMWidget->size().height()); + + + + +} + +void QProjectM_MainWindow::openPresetEditorDialog(int rowIndex) { + + + qprojectMWidget()->seizePresetLock(); + + if (!m_QPresetEditorDialog) { + m_QPresetEditorDialog = new QPresetEditorDialog(qprojectMWidget()); + connect(m_QPresetEditorDialog, SIGNAL(presetModified(int)), + this, SLOT(selectPlaylistItem(int))); + } + + Q_ASSERT(historyHash.contains(previousFilter)); + Q_ASSERT(playlistItemMetaDataHash.contains((*historyHash[previousFilter])[rowIndex])); + const QString presetUrl = playlistItemMetaDataHash[(*historyHash[previousFilter])[rowIndex]].url; + + m_QPresetEditorDialog->setPreset(presetUrl, rowIndex); + + if (m_QPresetEditorDialog->exec()) { + + } + + qprojectMWidget()->releasePresetLock(); + +} + + +void QProjectM_MainWindow::clearPlaylistModel() { + /// put in a dummy model until projectM is reinitialized + ui->tableView->setModel(new QStandardItemModel(this)); + if (playlistModel) + delete(playlistModel); + + playlistModel = 0; +} + +void QProjectM_MainWindow::dragAndDropPlaylistItems(const QModelIndexList & indices, const QModelIndex & targetIndex) { + + /// @bug only first index of the indices passed in is supported! + QModelIndex firstIndex = indices.value(0); + + PlaylistItemMetaData metaData = playlistItemMetaDataHash[historyHash[previousFilter]->value(firstIndex.row())]; + + int newIndex; + if (targetIndex.row() < firstIndex.row()) { + newIndex = targetIndex.row(); + } + else if (targetIndex.row() > firstIndex.row()) + { + newIndex = targetIndex.row()-1; + } + else + { + // Self drag event ignored + // abort(); + return; + } + + QModelIndexList singularList; + singularList.append(firstIndex); + + removePlaylistItems(singularList); + insertPlaylistItem(metaData, newIndex); + ui->presetPlayListDockWidget->setWindowModified ( true ); +} + +void QProjectM_MainWindow::setMenuAndStatusBarsVisible(bool visible) { + + if (visible) { + if (_menuVisible) { + menuBar()->show(); + statusBar()->show(); + } + else { + menuBar()->hide(); + statusBar()->hide(); + } + _menuAndStatusBarsVisible = true; + } else { + if (_menuVisible) { + menuBar()->hide(); + statusBar()->hide(); + } + else { + menuBar()->hide(); + statusBar()->hide(); + } + _menuAndStatusBarsVisible = false; + } +} + +void QProjectM_MainWindow::readPlaylistSettings() { + const QSettings settings ( "projectM", "qprojectM" ); + + /// @bug Hack for default values here. Should be auto placed or something elative to main window. + + const QPoint playlistPos = settings.value("playlistPos", + QPoint(200,200)).toPoint(); + + bool playlistDocked = settings.value("playlistDocked", true).toBool(); + + const QSize playlistWindowSize = settings.value("playlistWindowSize", QSize(300,800)).toSize(); + + //ui->presetPlayListDockWidget + //ui->presetPlayListDockWidget->set + + if (!playlistDocked) { + ui->presetPlayListDockWidget->hide(); + ui->presetPlayListDockWidget->setFloating(!playlistDocked); + //ui->presetPlayListDockWidget->setFloating(!playlistDocked); + ui->presetPlayListDockWidget->move(playlistPos); + ui->presetPlayListDockWidget->resize(playlistWindowSize); + } else { + + if (!ui->menuBar->isVisible()) + ui->presetPlayListDockWidget->hide(); + else + ui->presetPlayListDockWidget->show(); + ui->presetPlayListDockWidget->hide(); + } +} + +void QProjectM_MainWindow::setMenuVisible(bool visible) { + + + + if (visible) { + ui->dockWidgetContents->resize(_oldPlaylistSize); + + ui->presetPlayListDockWidget->show(); + if (_menuAndStatusBarsVisible) { + menuBar()->show(); + statusBar()->show(); + } + else { + menuBar()->hide(); + statusBar()->hide(); + } + _menuVisible = true; + } else { + _oldPlaylistSize = ui->dockWidgetContents->size(); + + // Only hide the playlist when it is attached to the main window. + if (!ui->presetPlayListDockWidget->isFloating()) + ui->presetPlayListDockWidget->hide(); + + menuBar()->hide(); + statusBar()->hide(); + _menuVisible = false; + } + +} + +void QProjectM_MainWindow::changePresetAttribute ( const QModelIndex & index ) +{ + + if ( index.column() == 0 ) + return; + + PlaylistItemVector & lastCache = *historyHash[previousFilter]; + const long id = lastCache[index.row()]; + + ui->presetPlayListDockWidget->setWindowModified ( true ); + + if (index.column() == 1) + { + /// @bug get rid of hard coded rating boundaries + const int newRating = ( ( playlistModel->data ( index, QPlaylistModel::RatingRole ).toInt() ) % 6 ) +1 ; + + playlistModel->setData ( index, newRating, QPlaylistModel::RatingRole ); + + + } + else if (index.column() == 2) + { + + /// @bug get rid of hard coded breedability boundaries + const int newBreedability = ( ( playlistModel->data ( index, QPlaylistModel::BreedabilityRole ).toInt() ) % 6 ) +1 ; + + playlistItemMetaDataHash[id].breedability = newBreedability; + + playlistModel->setData ( index, newBreedability, QPlaylistModel::BreedabilityRole ); + } + +} + +void QProjectM_MainWindow::keyReleaseEvent ( QKeyEvent * e ) +{ + + QModelIndex modelIndex; + switch ( e->key() ) + { + + case Qt::Key_E: + if (e->modifiers() & Qt::ControlModifier) { + if (activePresetIndex->hasValue()) + openPresetEditorDialog(historyHash[previousFilter]->indexOf(activePresetIndex->value())); + } else + e->ignore(); + case Qt::Key_L: + + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + if ( ui->lockPresetCheckBox->checkState() == Qt::Checked ) + { + ui->lockPresetCheckBox->setCheckState ( Qt::Unchecked ); + } + else + { + ui->lockPresetCheckBox->setCheckState ( Qt::Checked ); + } + + // the projectM widget handles the actual lock + //e->ignore(); + //m_QProjectMWidget->keyReleaseEvent(e); + return; + case Qt::Key_Y: + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + if ( ui->shuffleEnabledCheckBox->checkState() == Qt::Checked ) + { + ui->shuffleEnabledCheckBox->setCheckState ( Qt::Unchecked ); + } + else + { + ui->shuffleEnabledCheckBox->setCheckState ( Qt::Checked ); + } + + // the projectM widget handles the actual shuffle event + return; + + case Qt::Key_F1: + return; + //emit(keyPressed m_QProjectMWidget, + case Qt::Key_F: + { + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + bool projectM_HadFocus = qprojectMWidget()->hasFocus(); + this->setWindowState ( this->windowState() ^ Qt::WindowFullScreen ); + + if (projectM_HadFocus || !_menuVisible) + qprojectMWidget()->setFocus(); + + return; + } + + case Qt::Key_B: + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + setMenuAndStatusBarsVisible(!_menuAndStatusBarsVisible); + return; + + case Qt::Key_M: + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + setMenuVisible(!_menuVisible); + + refreshHeaders(); + + return; + + case Qt::Key_R: + if (!(e->modifiers() & Qt::ControlModifier)) { + if ( ui->presetSearchBarLineEdit->hasFocus() ) + return; + + if (ui->tableView->hasFocus()) + return; + } + + return; + default: + break; + } + +} + + +void QProjectM_MainWindow::refreshHeaders(QResizeEvent * event) { + + + hHeader->setSectionResizeMode ( 0, QHeaderView::Fixed); + hHeader->setSectionResizeMode ( 1, QHeaderView::ResizeToContents); + + const int numRatings = qprojectM()->settings().softCutRatingsEnabled ? 2 : 1; + + int sizeTotal = 0; + for (int i = 0; i < numRatings; i++) { + // Add 1 to skip the Name column + hHeader->setSectionResizeMode (i+1, QHeaderView::ResizeToContents); + sizeTotal += hHeader->sectionSize(i+1); + } + hHeader->resizeSection(0, ui->tableView->size().width()-20-sizeTotal); + + + +} + + +bool QProjectM_MainWindow::warnIfPlaylistModified() { + + if (ui->presetPlayListDockWidget->isWindowModified()) { + int ret = QMessageBox::warning(this, tr("Warning: unsaved playlist!"), + tr("The open playlist has been modified.\n" + "Do you want to save your changes?"), + QMessageBox::Save | QMessageBox::Discard + | QMessageBox::Cancel, + QMessageBox::Save); + + switch (ret) { + case QMessageBox::Save: + savePlaylistButtonClick(); + return true; + case QMessageBox::Discard: + return true; + case QMessageBox::Cancel: + return false; + default: + return true; + } + } + return true; +} + +void QProjectM_MainWindow::closeEvent ( QCloseEvent *event ) +{ + + if (!warnIfPlaylistModified()) + event->ignore(); + writeSettings(); +} + +void QProjectM_MainWindow::insertPresetsDialog() { + + if (selectedPlaylistIndexes.empty()) + return; + + return addPresetsDialog(selectedPlaylistIndexes[0]); + +} + +void QProjectM_MainWindow::addPresetsDialog() { + return addPresetsDialog(QModelIndex()); +} + +void QProjectM_MainWindow::addPresetsDialog(const QModelIndex & index) +{ + + /// @bug this probably isn't thread safe + if ( m_QPresetFileDialog->exec() ) + { + const QStringList & files = m_QPresetFileDialog->selectedFiles(); + + int i = 0; + for ( QStringList::const_iterator pos = files.begin(); + pos != files.end(); ++pos ) + { + if ( *pos != "" ) { + + Nullable row; + if (index != QModelIndex() && index.isValid()) { + + if (index.row() == 0) + row = 0; + else + row = index.row()-1; + } + loadFile ( *pos, 3, 3, row); + i++; + } + } + + + PlaylistItemVector * playlistItems = historyHash.value ( QString() ); + + for ( QHash::iterator pos = historyHash.begin(); pos != historyHash.end(); ++pos ) + { + if ( pos.key() != QString() ) + delete ( pos.value() ); + } + + historyHash.clear(); + historyHash.insert ( QString(), playlistItems ); + + updateFilteredPlaylist ( previousFilter ); + ui->presetPlayListDockWidget->setWindowModified ( true ); + } + + //playlistModel->setHeaderData(0, Qt::Horizontal, tr("Preset"));//, Qt::DisplayRole); +} + +void QProjectM_MainWindow::savePlaylist() +{ + + //m_currentPlaylistUrl = file; + + if ( m_currentPlaylistUrl == QString() ) + { + qDebug() << "current playlist file null!" ; + return; + } + + /// @idea add ability to save filtered list + #if 0 + if ( playlistModel->writePlaylist ( m_currentPlaylistUrl ) ) { + this->ui->statusbar->showMessage ( QString ( "Saved cropped preset playlist \"%1\" successfully." ).arg ( m_currentPlaylistUrl ), 3000 ); + this->ui->presetPlayListDockWidget->setWindowModified ( false ); + } + #endif + + QFile qfile(m_currentPlaylistUrl); + + if (!qfile.open(QIODevice::WriteOnly)) { + QMessageBox::warning (0, "Playlist Save Error", QString("There was a problem trying to save the playlist \"%1\". You may not have permission to modify this file.").arg(m_currentPlaylistUrl)); + return ; + } + + // Use the hash that maps "" to playlist items since this list contains the entire playlist item set + PlaylistItemVector * playlistItemKeys = historyHash.value(QString(), 0); + + + QVector itemMetaDataVector; + foreach (long key, *playlistItemKeys) { + itemMetaDataVector.push_back(&playlistItemMetaDataHash[key]); + } + + PlaylistWriteFunctor writeFunctor(itemMetaDataVector.begin(), itemMetaDataVector.end(), playlistModel->playlistDesc()); + + + QXmlPlaylistHandler::writePlaylist(&qfile, writeFunctor); + this->ui->statusbar->showMessage ( QString ( "Saved preset playlist \"%1\" successfully." ).arg ( m_currentPlaylistUrl ), 4000 ); + this->ui->presetPlayListDockWidget->setWindowModified ( false ); + +} +void QProjectM_MainWindow::updatePlaylistUrl(const QString & url = QString()) { + + m_currentPlaylistUrl = url; + + if (url == QString()) { + ui->presetPlayListDockWidget->setWindowTitle ( "Preset Playlist - Untitled [*]" ); + ui->presetSavePushButton->setEnabled(false); + } + else if (QFileInfo(url).isDir()) { + ui->presetPlayListDockWidget->setWindowTitle + ( QString ( "Preset Directory - %1 [*]" ).arg ( url ) ); + ui->presetSavePushButton->setEnabled(true); + } + else { + ui->presetPlayListDockWidget->setWindowTitle + ( QString ( "Preset Playlist - %1 [*]" ).arg ( QFileInfo(url).fileName() ) ); + ui->presetSavePushButton->setEnabled(true); + } + + ui->presetPlayListDockWidget->setWindowModified ( false ); +} + + + +void QProjectM_MainWindow::savePlaylistAsDialog() +{ + + m_QPlaylistFileDialog->setAllowDirectorySelect(false); + m_QPlaylistFileDialog->setAllowFileSelect(true); + m_QPlaylistFileDialog->setPlaylistSaveMode(true); + + if ( m_QPlaylistFileDialog->exec() ) { + + const QStringList & files = m_QPlaylistFileDialog->selectedFiles(); + + if (files.empty()) + return; + + QString url = files[0]; + + if (url != QString()) { + updatePlaylistUrl(url); + savePlaylist(); + } + + } +} + + +void QProjectM_MainWindow::savePlaylistButtonClick() +{ + + if (m_currentPlaylistUrl == QString() || QFileInfo(m_currentPlaylistUrl).isDir()) + return savePlaylistAsDialog(); + else { + savePlaylist(); + } +} + +void QProjectM_MainWindow::openPlaylistDialog() +{ + m_QPlaylistFileDialog->setAllowDirectorySelect(true); + m_QPlaylistFileDialog->setAllowFileSelect(true); + m_QPlaylistFileDialog->setPlaylistSaveMode(false); + + if ( m_QPlaylistFileDialog->exec() ) + { + + if (m_QPlaylistFileDialog->selectedFiles().empty()) + return; + + QString searchText = ui->presetSearchBarLineEdit->text(); + clearPlaylist(); + + + QString url = m_QPlaylistFileDialog->selectedFiles() [0]; + + + const bool loadedOk = playlistModel->readPlaylist ( url ); + + if (!loadedOk) { + qDebug() << "could not open playlist"; + url = QString(); + } + + qDebug() << "url: " << url; + updatePlaylistUrl(url); + + copyPlaylist(); + ui->presetSearchBarLineEdit->setText(searchText); + updateFilteredPlaylist ( ui->presetSearchBarLineEdit->text() ); + } +} + +void QProjectM_MainWindow::copyPlaylist() +{ + qprojectMWidget()->seizePresetLock(); + playlistItemMetaDataHash.clear(); + PlaylistItemVector * items = new PlaylistItemVector(); + + for ( long i = 0; i < playlistModel->rowCount(); i++ ) + { + + QModelIndex index = playlistModel->index ( i, 0 ); + + const QString & url = playlistModel->data ( index, + QPlaylistModel::URLInfoRole ).toString(); + const QString & name = playlistModel->data ( index, Qt::DisplayRole ).toString(); + int rating = playlistModel->data ( index, QPlaylistModel::RatingRole ).toInt(); + int breed = playlistModel->data ( index, QPlaylistModel::BreedabilityRole).toInt(); + items->push_back (playlistItemCounter ); + playlistItemMetaDataHash[playlistItemCounter] = + PlaylistItemMetaData ( url, name, rating, breed, playlistItemCounter ); + + playlistItemCounter++; + + } + + historyHash.insert ( QString(), items ); + + uint index; + if (qprojectM()->selectedPresetIndex(index)) + *activePresetIndex = index; + else + activePresetIndex->nullify(); + + qprojectMWidget()->releasePresetLock(); +} + +void QProjectM_MainWindow::removeSelectedPlaylistItems() { + removePlaylistItems(selectedPlaylistIndexes); +} + +void QProjectM_MainWindow::removePlaylistItems(const QModelIndexList & items) { + + qprojectMWidget()->seizePresetLock(); + + QMap sortedItems; + QList reverseOrderKeys; + + foreach (QModelIndex index, items) { + sortedItems[index.row()] = index; + } + + foreach (int key, sortedItems.keys()) { + reverseOrderKeys.insert(0, key); + } + + PlaylistItemVector & lastCachedItems = *historyHash[previousFilter]; + assert (lastCachedItems.size() == playlistModel->rowCount()); + + QVector zombieItems; + + int i = 0; + foreach (long id, lastCachedItems) { + if (sortedItems.contains(i)) { + zombieItems.push_back(id); + playlistItemMetaDataHash.remove(id); + if (activePresetIndex->hasValue() && id == activePresetIndex->value()) + activePresetIndex->nullify(); + } + i++; + } + + foreach (QString filter, historyHash.keys()) { + + PlaylistItemVector & cachedItems = *historyHash.value(filter); + + foreach(long id, zombieItems) { + + int index = cachedItems.indexOf(id); + if (index >= 0) + cachedItems.remove(index); + } + } + + foreach (int key, reverseOrderKeys) { + playlistModel->removeRow(key); + } + qprojectMWidget()->releasePresetLock(); + ui->presetPlayListDockWidget->setWindowModified ( true ); +} + +void QProjectM_MainWindow::insertPlaylistItem + (const PlaylistItemMetaData & data, int targetIndex) { + + qprojectMWidget()->seizePresetLock(); + + const long targetId = historyHash[previousFilter]->value(targetIndex); + + playlistItemMetaDataHash[data.id] = data; + + foreach(PlaylistItemVector * items, historyHash.values()) { + int insertIndex = items->indexOf(targetId); + + items->insert(insertIndex, data.id); + } + + playlistModel->insertRow(targetIndex, data.url, data.name, data.rating, data.breedability); + + qprojectMWidget()->releasePresetLock(); +} + +void QProjectM_MainWindow::refreshPlaylist() +{ + copyPlaylist(); + + if (hHeader) + disconnect(hHeader); + + hHeader = new QHeaderView ( Qt::Horizontal, this ); + vHeader = new QHeaderView ( Qt::Vertical, this ); + + hHeader->setSectionsClickable ( false ); + hHeader->setSortIndicatorShown ( false ); + + ui->tableView->setVerticalHeader ( vHeader ); + ui->tableView->setHorizontalHeader ( hHeader ); + + refreshHeaders(); + + vHeader->hide(); +} + +void QProjectM_MainWindow::about() +{ + QMessageBox::about ( this, tr ( "About projectM-qt and projectM" ), + tr ( "

projectM-qt provides useful gui extensions to the projectM core library. For problems please email Carmelo Piccione: \n carmelo.piccione+projectM@gmail.com.

projectM is an advanced opensource music visualizer originally based on Milkdrop but over time has gone above and beyond it. For more info visit us at projectm.sf.net or join #projectM on the freenode IRC network." ) ); +} + + + +void QProjectM_MainWindow::hotkeyReference() +{ + QMessageBox::information ( this, tr( "Hotkey Reference"), + tr ( "

CTRL-L
Locks / unlocks the active preset
CTRL-N
Moves to next preset in the playlist
CTRL-P
Moves to previous preset in the playlist
CTRL-R
Randomly selects a preset from the playlist
CTRL-M
Show / hide the menu display
CTRL-E
Opens the preset editor with the active preset
CTRL-F
Enables / disables full screen mode
CTRL-Y
Enables / disables shuffle mode
CTRL-S
Saves and applies changes to the active preset (only when editing)
CTRL-B
Shows / hides menu and status bar
" )); +} + +void QProjectM_MainWindow::openSettingsDialog() { + + if (configDialog->exec()) { + + } + +} + +void QProjectM_MainWindow::aboutQt() { + QApplication::aboutQt(); +} + +void QProjectM_MainWindow::createActions() +{ + + connect ( ui->actionExit, SIGNAL ( triggered() ), this, SLOT ( close() ) ); + connect ( ui->actionAddPresets, SIGNAL ( triggered() ), this, SLOT ( addPresetsDialog() ) ); + connect ( ui->actionOpen_Play_List, SIGNAL ( triggered() ), this, SLOT ( openPlaylistDialog() ) ); + connect ( ui->actionSave_play_list, SIGNAL ( triggered() ), this, SLOT ( savePlaylistButtonClick() ) ); + connect ( ui->actionSave_play_list_as, SIGNAL ( triggered() ), this, SLOT ( savePlaylistAsDialog() ) ); + connect ( ui->actionAbout_projectM, SIGNAL ( triggered() ), this, SLOT ( about() ) ); + connect ( ui->actionConfigure_projectM, SIGNAL ( triggered() ), this, SLOT (openSettingsDialog()) ); + connect ( ui->actionAbout_Qt, SIGNAL(triggered()), this, SLOT(aboutQt())); + connect ( ui->actionHotkey_Reference, SIGNAL(triggered()), this, SLOT(hotkeyReference())); + + connect (ui->actionRemove_selection, SIGNAL(triggered()), this, SLOT(removeSelectedPlaylistItems())); + connect (ui->actionInsert_presets, SIGNAL(triggered()), this, SLOT(insertPresetsDialog())); + connect (ui->actionEdit_this_preset, SIGNAL(triggered()), this, SLOT(openPresetEditorDialogForSelectedPreset())); + connect (ui->actionHard_cut_to_this_preset, SIGNAL(triggered()), this, SLOT(presetHardCut())); + connect (ui->actionSoft_cut_to_this_preset, SIGNAL(triggered()), this, SLOT(presetSoftCut())); +} + + +void QProjectM_MainWindow::presetHardCut() { + if (selectedPlaylistIndexes.empty()) + return; + + qprojectM()->selectPreset(selectedPlaylistIndexes[0].row(), true); +} + + +void QProjectM_MainWindow::presetSoftCut() { + if (selectedPlaylistIndexes.empty()) + return; + + qprojectM()->selectPreset(selectedPlaylistIndexes[0].row(), false); +} + + +void QProjectM_MainWindow::openPresetEditorDialogForSelectedPreset() { + + if (selectedPlaylistIndexes.empty()) + return; + + openPresetEditorDialog(selectedPlaylistIndexes[0].row()); +} + +void QProjectM_MainWindow::registerSettingsAction(QAction * action) { + ui->menuSettings->addAction(action); +} + +void QProjectM_MainWindow::unregisterSettingsAction(QAction * action) { + ui->menuSettings->removeAction(action); +} + +void QProjectM_MainWindow::createMenus() +{ + + playlistContextMenu = new QMenu("Playlist Actions", this); + playlistContextMenu->addAction(ui->actionEdit_this_preset); + + playlistContextMenu->addAction(ui->actionInsert_presets); + playlistContextMenu->addAction(ui->actionRemove_selection); + + playlistContextMenu->addAction(ui->actionHard_cut_to_this_preset); + playlistContextMenu->addAction(ui->actionSoft_cut_to_this_preset); + + ui->menuBar->hide(); + + +} + + + +void QProjectM_MainWindow::createToolBars() +{ + +} + +void QProjectM_MainWindow::createStatusBar() +{ + statusBar()->hide(); + statusBar()->showMessage ( tr ( "Welcome to projectM!" ) ); +} + +void QProjectM_MainWindow::readSettings() +{ + + // The settings exclusively due to qprojectM + QSettings settings ( "projectM", "qprojectM" ); + QPoint pos = settings.value ( "pos", QPoint ( 200, 200 ) ).toPoint(); + //QSize size = settings.value ( "size", QSize ( 1024, 768 ) ).toSize(); + + // Load up where the playlist file dialog last was visited last time + m_QPlaylistFileDialog->setDirectory + ( settings.value ( "playlistPath", m_QPlaylistFileDialog->directory().absolutePath() ).toString() ); + + + //resize ( size().width(), size().height() ); + move ( pos ); +} + +void QProjectM_MainWindow::writeSettings() +{ + QSettings settings ( "projectM", "qprojectM" ); + settings.setValue ( "pos", pos() ); + //settings.setValue ( "size", size() ); + settings.setValue ( "playlistPath", m_QPlaylistFileDialog->directory().absolutePath() ); + + if (m_currentPlaylistUrl != QString()) + settings.setValue("PlaylistFile", m_currentPlaylistUrl); + + const QPoint playlistPos = ui->presetPlayListDockWidget->pos(); + const bool playlistDocked = !ui->presetPlayListDockWidget->isFloating(); + + settings.setValue("playlistDocked", playlistDocked); + settings.setValue("playlistPos", playlistPos); + settings.setValue("playlistWindowSize", ui->presetPlayListDockWidget->size()); + + settings.setValue("playlistDockLocation", dockWidgetArea); + +} + +void QProjectM_MainWindow::loadFile ( const QString &fileName, int rating, int breed, const Nullable & row) +{ + + const QString & name = strippedName ( fileName ); + + PlaylistItemVector * playlistItems = historyHash.value ( QString(), 0 ); + Q_ASSERT ( playlistItems != 0 ); + + if (playlistItems->empty()) + ui->presetSavePushButton->setEnabled(true); + + playlistItemMetaDataHash[playlistItemCounter] = + PlaylistItemMetaData ( fileName, name, rating, breed, playlistItemCounter) ; + + + if (row.hasValue()) + playlistItems->insert(row.value(), playlistItemCounter); + else + playlistItems->push_back (playlistItemCounter); + playlistItemCounter++; + +} + + +QString QProjectM_MainWindow::strippedName ( const QString &fullFileName ) +{ + return QFileInfo ( fullFileName ).fileName(); +} + + +void QProjectM_MainWindow::updateFilteredPlaylist ( const QString & text ) +{ + + + qprojectMWidget()->seizePresetLock(); + + const QString filter = text.toLower(); + unsigned int presetIndexBackup ; + bool presetSelected = qprojectM()->selectedPresetIndex(presetIndexBackup); + Nullable activePresetId; + + if (!presetSelected && activePresetIndex->hasValue()) { + activePresetId = activePresetIndex->value(); + } else if (presetSelected) { + const PlaylistItemVector & oldPlaylistItems = *historyHash.value(previousFilter); + + if ((presetIndexBackup >=0) && (presetIndexBackup < oldPlaylistItems.size())) { + activePresetId = oldPlaylistItems[presetIndexBackup]; + } + + + } else { + } + + playlistModel->clearItems(); + + Q_ASSERT(!qprojectM()->presetPositionValid()); + + bool presetExistsWithinFilter = false; + if ( historyHash.contains ( filter ) ) + { + const PlaylistItemVector & playlistItems = *historyHash.value ( filter ); + for ( PlaylistItemVector::const_iterator pos = playlistItems.begin(); pos != playlistItems.end();++pos ) + { + const PlaylistItemMetaData & data = playlistItemMetaDataHash[*pos]; + + playlistModel->appendRow ( data.url, data.name, data.rating, data.breedability); + + if (activePresetId.hasValue() && data.id == activePresetId.value()) { + qprojectM()->selectPresetPosition(playlistModel->rowCount()-1); + presetExistsWithinFilter = true; + } + } + } + else + { + const PlaylistItemVector & playlistItems = *historyHash.value ( QString() ); + + PlaylistItemVector * playlistItems2 = new PlaylistItemVector(); + for ( PlaylistItemVector::const_iterator pos = playlistItems.begin(); pos != playlistItems.end();++pos ) + { + + const PlaylistItemMetaData & data = playlistItemMetaDataHash[*pos]; + + if ( ( data.name ).contains ( filter, Qt::CaseInsensitive ) ) + { + playlistModel->appendRow ( data.url, data.name, data.rating, data.breedability); + if (activePresetId.hasValue() && data.id == activePresetId.value()) { + qprojectM()->selectPresetPosition(playlistModel->rowCount()-1); + presetExistsWithinFilter = true; + } + + playlistItems2->push_back ( *pos ); + } + } + historyHash.insert ( filter, playlistItems2 ); + } + + Q_ASSERT(presetExistsWithinFilter == qprojectM()->presetPositionValid()); + + previousFilter = filter; + qprojectMWidget()->releasePresetLock(); +} + + +void QProjectM_MainWindow::presetRatingChanged( unsigned int index, int rating, PresetRatingType ratingType) +{ + + PlaylistItemVector & lastCache = *historyHash[previousFilter]; + const long id = lastCache[index]; + + qDebug() << "preset rating changed: " << index << " (rating = " << rating << ")"; + + playlistItemMetaDataHash[id].rating = rating; + + ui->presetPlayListDockWidget->setWindowModified ( true ); + + playlistModel->notifyDataChanged(index); +} + +void QProjectM_MainWindow::handleFailedPresetSwitch(const bool isHardCut, const unsigned int index, + const QString & message) { + + qDebug() << "handleFailedPresetSwitch"; + const QString status = QString("Error switching to preset index %1 (%2)") + .arg(index).arg(message); + + statusBar()->showMessage ( tr (status.toStdString().c_str() ) ); + +} + +bool QProjectM_MainWindow::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::MouseButtonDblClick && ((QMouseEvent*)event)->button() == Qt::LeftButton) { + this->setWindowState ( this->windowState() ^ Qt::WindowFullScreen ); + return true; + } else if (event->type() == QEvent::MouseButtonPress && ((QMouseEvent*)event)->button() == Qt::RightButton) { + setMenuVisible(!_menuVisible); + refreshHeaders(); + return true; + } else { + return false; + } +} diff --git a/src/projectM-qt/qprojectm_mainwindow.hpp b/src/projectM-qt/qprojectm_mainwindow.hpp new file mode 100644 index 0000000000..95da854547 --- /dev/null +++ b/src/projectM-qt/qprojectm_mainwindow.hpp @@ -0,0 +1,214 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPROJECTM_MAINWINDOW_H +#define QPROJECTM_MAINWINDOW_H +#define CONFIG_FILE "/share/projectM/config.inp" + +#include +#include +#include +#include +#include +#include +#include + +#include "projectM.hpp" + +#include +class QHeaderView; +class QAction; +class QMenu; +class QPresetFileDialog; +class QPlaylistFileDialog; +class QPlaylistModel; +class QModelIndex; +class QProjectMConfigDialog; +class QPresetEditorDialog; +class QProjectM; +class QProjectMWidget; + +template +class Nullable; + +namespace Ui { +class QProjectM_MainWindow; +} + +#include + + +class QProjectM_MainWindow:public QMainWindow +{ + Q_OBJECT + + signals: + void shuttingDown(); + public: + + projectM * GetProjectM(); + + typedef struct PlaylistItemMetaData { + PlaylistItemMetaData() {} + PlaylistItemMetaData(const QString & _url, const QString & _name, int _rating, int _breed, long _id): + url(_url), name(_name), rating(_rating), breedability(_breed), id(_id) {} + + QString url; + QString name; + int rating; + int breedability; + long id; + inline bool operator==(const PlaylistItemMetaData & data) { + return data.id == id; + } + + + inline bool operator==(long rhs_id) { + return rhs_id == id; + } + } PlaylistItemMetaData; + + + void addPCM(float * buffer, unsigned int bufferSize); + + + typedef QVector PlaylistItemVector; + + QProjectM_MainWindow(const std::string & config_file, QMutex * audioMutex); + virtual ~QProjectM_MainWindow(); + void registerSettingsAction(QAction * action); + void unregisterSettingsAction(QAction * action); + void setMenuVisible(bool visible); + void setMenuAndStatusBarsVisible(bool visible); + void keyReleaseEvent ( QKeyEvent * e ); + QProjectM * qprojectM(); + void refreshPlaylist(); + bool eventFilter(QObject *obj, QEvent *event); + + QProjectMWidget * qprojectMWidget() { return m_QProjectMWidget; } + + + void registerAction(const QAction &); + + public slots: +protected: + + + void closeEvent(QCloseEvent *event); + +private slots: +void dockLocationChanged(Qt::DockWidgetArea area); +void presetRatingChanged(unsigned int, int, PresetRatingType); +void handleFailedPresetSwitch(const bool isHardCut, const unsigned int index, + const QString & message); + +void presetHardCut(); +void presetSoftCut(); + void insertPresetsDialog() ; + void removeSelectedPlaylistItems(); + + void openPresetEditorDialogForSelectedPreset(); + void popupPlaylistContextMenu(QMouseEvent *, const QModelIndexList & items); + void hotkeyReference(); + void selectPlaylistItem ( int rowIndex); + void clearPlaylistModel(); + void openPresetEditorDialog(int rowIndex); + void aboutQt(); + + void clearPlaylist(); + void addPresetsDialog(); + void addPresetsDialog(const QModelIndex & index); + void openPlaylistDialog(); + void savePlaylistButtonClick(); + void savePlaylistAsDialog(); + void about(); + void postProjectM_Initialize(); + void updatePlaylistSelection(bool hardCut, unsigned int index); + void selectPlaylistItem(const QModelIndex & index); + void changePresetAttribute(const QModelIndex & index); + void openSettingsDialog(); + void updateFilteredPlaylist(const QString & text); + void refreshHeaders(QResizeEvent * event = 0); + void removePlaylistItems(const QModelIndexList & items); + void dragAndDropPlaylistItems(const QModelIndexList &, const QModelIndex &); + + + private: + void readPlaylistSettings(); + bool warnIfPlaylistModified(); + + void insertPlaylistItem(const PlaylistItemMetaData & data, int targetIndex); + + void savePlaylist(); + void updatePlaylistUrl(const QString & url); + unsigned long playlistItemCounter; + QSize _oldPlaylistSize; + void readConfig(const std::string & configFile); + void writeConfig(); + void copyPlaylist(); + + QPresetEditorDialog * m_QPresetEditorDialog; + QHeaderView * hHeader; + QHeaderView * vHeader; + QString m_currentPlaylistUrl; + QModelIndexList selectedPlaylistIndexes; + + QPlaylistModel * playlistModel; + Ui::QProjectM_MainWindow * ui; + QProjectMConfigDialog * configDialog; + + QHash playlistItemMetaDataHash; + + QHash historyHash; + Nullable * activePresetIndex; + + bool _menuVisible; + bool _menuAndStatusBarsVisible; + QTimer * m_timer; + + void createActions(); + void createMenus(); + void createToolBars(); + void createStatusBar(); + void readSettings(); + void writeSettings(); + void loadFile(const QString &fileName, int rating , int breed, const Nullable & row); + QString strippedName(const QString &fullFileName); + + QProjectMWidget * m_QProjectMWidget; + + QMenu *playlistContextMenu; + QToolBar *fileToolBar; + + QAction *openAct;; + QAction *exitAct; + QAction *aboutAct; + QAction *aboutQtAct; + + QString previousFilter; + Qt::DockWidgetArea dockWidgetArea; + + QPresetFileDialog * m_QPresetFileDialog; + QPlaylistFileDialog * m_QPlaylistFileDialog; + +}; + +#endif diff --git a/src/projectM-qt/qprojectm_mainwindow.ui b/src/projectM-qt/qprojectm_mainwindow.ui new file mode 100644 index 0000000000..2890e598b1 --- /dev/null +++ b/src/projectM-qt/qprojectm_mainwindow.ui @@ -0,0 +1,555 @@ + + + QProjectM_MainWindow + + + + 0 + 0 + 787 + 568 + + + + projectM + + + + :/images/icons/prjm16-transparent.svg:/images/icons/prjm16-transparent.svg + + + + + + + Qt::ClickFocus + + + + + + 0 + 0 + 787 + 26 + + + + + &Playlist + + + + + + + + + + + + &Help + + + + + + + + &Settings + + + + + + + + + + + + 0 + 1 + + + + + 315 + 111 + + + + + 300 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This dock panel provides a convenient interface to manage a list of presets for projectM to render. The behavior is very similar to a music player playlist.</p></body></html> + + + QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable + + + Preset Playlist + + + 1 + + + + + 1 + 1 + + + + + + + + 0 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click here to add presets to the current playlist.</p></body></html> + + + + + + + :/images/icons/hi16-action-projectm_add_playlist.png:/images/icons/hi16-action-projectm_add_playlist.png + + + + + + + + 0 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Saves the currently loaded play list</p></body></html> + + + + + + + + + + :/images/icons/hi16-action-projectm_save.png:/images/icons/hi16-action-projectm_save.png + + + + + + + + 0 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Clears<span style=" font-style:italic;"> all </span>presets<span style=" font-style:italic;"> </span>in the playlist.</p></body></html> + + + + + + + :/images/icons/hi16-action-projectm_playlist_clear.png:/images/icons/hi16-action-projectm_playlist_clear.png + + + + + + + + 30 + 0 + + + + Start typing in a filter to crop the play list. + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Use this search bar to crop your preset play list. Only the presets that match your search criteria will be queued.</p></body></html> + + + + + + + + 2 + 4 + + + + + 5 + 5 + + + + + 200 + 0 + + + + Qt::ActionsContextMenu + + + true + + + Double click on a preset to render it, or drag presets to change the preset order. + + + false + + + QFrame::StyledPanel + + + QFrame::Sunken + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + true + + + false + + + QAbstractItemView::DragDrop + + + false + + + QAbstractItemView::ExtendedSelection + + + QAbstractItemView::SelectRows + + + false + + + Qt::DashDotDotLine + + + + + + + true + + + + 0 + 0 + + + + PointingHandCursor + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">When the dice is activated, projectM will randomly select presets weighted by your rating preferences.</p></body></html> + + + Enable / Disable Shuffle Mode + + + + + + QCheckBox::indicator:checked { +image: url(:/images/icons/hi16-action-projectm_random.png); +} + +QCheckBox::indicator:unchecked{ +image: url(:/images/icons/hi16-action-projectm_random_no.png); +} + + + + + + true + + + true + + + + + + + true + + + + 1 + 0 + + + + PointingHandCursor + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">When the locked icon is shown, projectM will not automatically switch to another preset.</p></body></html> + + + Lock / Unlock the selected preset + + + + + + QCheckBox::indicator:checked {image: url(:/images/icons/hi16-action-projectm_lock.png); +} + +QCheckBox::indicator:unchecked{ +image: url(:/images/icons/hi16-action-projectm_unlock.png); +} + + + + + + false + + + true + + + + + + + + 0 + 0 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; font-size:9pt;">Open the file browser to load a playlist.</span></p></body></html> + + + + + + + :/images/icons/hi16-action-projectm_edit.png:/images/icons/hi16-action-projectm_edit.png + + + + + + + + + + :/images/icons/hi16-action-projectm_add_playlist.png:/images/icons/hi16-action-projectm_add_playlist.png + + + &Add Presets... + + + + + About projectM + + + + + About Qt + + + + + &Quit + + + + + + :/images/icons/hi16-action-projectm_save.png:/images/icons/hi16-action-projectm_save.png + + + &Save Playlist + + + + + Save Playlist &As... + + + + + Configure projectM... + + + + + &Open Playlist... + + + + + + :/images/icons/hi16-action-projectm_lock.png:/images/icons/hi16-action-projectm_lock.png + + + Lock Active Preset + + + + + Hotkey reference + + + + + + :/images/icons/hi16-action-projectm_edit.png:/images/icons/hi16-action-projectm_edit.png + + + Edit preset + + + + + + :/images/icons/hi16-action-projectm_remove.png:/images/icons/hi16-action-projectm_remove.png + + + Remove selection + + + + + + :/images/icons/hi16-action-projectm_add_playlist.png:/images/icons/hi16-action-projectm_add_playlist.png + + + Insert presets... + + + + + Hard cut to this preset + + + Switches to this preset immediately. + + + + + Soft cut to this preset + + + Executes a smooth transition to this preset from the current prese.t + + + + + + QPlaylistTableView + QTableView +
qplaylisttableview.hpp
+
+
+ + + + + + presetOpenPushButton + clicked() + actionAddPresets + trigger() + + + 221 + 66 + + + -1 + -1 + + + + + presetSavePushButton + clicked() + actionSave_play_list + trigger() + + + 52 + 66 + + + -1 + -1 + + + + + loadPlaylistPushButton + clicked() + actionOpen_Play_List + trigger() + + + 83 + 76 + + + -1 + -1 + + + + +
diff --git a/src/projectM-qt/qprojectmconfigdialog.cpp b/src/projectM-qt/qprojectmconfigdialog.cpp new file mode 100644 index 0000000000..e5cb453ec7 --- /dev/null +++ b/src/projectM-qt/qprojectmconfigdialog.cpp @@ -0,0 +1,200 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +#include "qprojectmconfigdialog.hpp" +#include +#include +#include "qplaylistfiledialog.hpp" +#include +#include "qprojectmwidget.hpp" + +QProjectMConfigDialog::QProjectMConfigDialog(const std::string & configFile, QProjectMWidget * qprojectMWidget, QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f), _configFile(configFile), _qprojectMWidget(qprojectMWidget), _settings("projectM", "qprojectM") { + + + _ui.setupUi(this); + + QHBoxLayout * hboxLayout = new QHBoxLayout(); + + hboxLayout->addWidget(_ui.layoutWidget); + this->setLayout(hboxLayout); + + connect(_ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonBoxHandler(QAbstractButton*))); + connect(this, SIGNAL(projectM_Reset()), _qprojectMWidget, SLOT(resetProjectM())); + connect (_ui.startupPlaylistFileToolButton, SIGNAL(clicked()), this, SLOT(openPlaylistFileDialog())); + connect (_ui.startupPlaylistDirectoryToolButton, SIGNAL(clicked()), this, SLOT(openPlaylistDirectoryDialog())); + connect (_ui.titleFontPathToolButton, SIGNAL(clicked()), this, SLOT(openTitleFontFileDialog())); + connect (_ui.menuFontPathToolButton, SIGNAL(clicked()), this, SLOT(openMenuFontFileDialog())); + loadConfig(); +} + +void QProjectMConfigDialog::buttonBoxHandler(QAbstractButton * button) { + + switch (_ui.buttonBox->standardButton(button)) { + case QDialogButtonBox::Close: + this->hide(); + break; + case QDialogButtonBox::Save: + saveConfig(); +#ifdef PROJECTM_RESET_IS_THREAD_SAFE + emit(projectM_Reset()); +#endif + break; + case QDialogButtonBox::Reset: + loadConfig(); + break; + default: + break; + } +} + +void QProjectMConfigDialog::openPlaylistFileDialog() { + + QPlaylistFileDialog dialog(this); + + dialog.setAllowFileSelect(true); + dialog.setAllowDirectorySelect(false); + + if (dialog.exec()) + { + Q_ASSERT(!dialog.selectedFiles().empty()); + _ui.startupPlaylistFileLineEdit->setText(dialog.selectedFiles()[0]); + + } +} + + +void QProjectMConfigDialog::openPlaylistDirectoryDialog() { + + QPlaylistFileDialog dialog(this); + + dialog.setAllowFileSelect(false); + dialog.setAllowDirectorySelect(true); + + if (dialog.exec()) + { + Q_ASSERT(!dialog.selectedFiles().empty()); + _ui.startupPlaylistDirectoryLineEdit->setText(dialog.selectedFiles()[0]); + + } +} +void QProjectMConfigDialog::openMenuFontFileDialog() { + + + QFileDialog dialog(this, "Select a menu font", _settings.value("Menu Font Directory", QString()).toString(), "True Type Fonts (*.ttf)" ); + dialog.setFileMode(QFileDialog::ExistingFile); + + if (dialog.exec()) { + Q_ASSERT(!dialog.selectedFiles().empty()); + _ui.menuFontPathLineEdit->setText(dialog.selectedFiles()[0]); + + _settings.setValue("Menu Font Directory", dialog.directory().absolutePath()); + } + + +} + +void QProjectMConfigDialog::openTitleFontFileDialog() { + QFileDialog dialog(this, "Select a title font", _settings.value("Title Font Directory", QString()).toString(), "True Type Fonts (*.ttf)" ); + dialog.setFileMode(QFileDialog::ExistingFile); + + if (dialog.exec()) { + Q_ASSERT(!dialog.selectedFiles().empty()); + _ui.titleFontPathLineEdit->setText(dialog.selectedFiles()[0]); + _settings.setValue("Title Font Directory", dialog.directory().absolutePath()); + } + +} + +void QProjectMConfigDialog::saveConfig() { + + projectM::Settings settings = _qprojectMWidget->qprojectM()->settings(); + + settings.meshX = _ui.meshSizeWidthSpinBox->value(); + settings.meshY = _ui.meshSizeHeightSpinBox->value(); + settings.windowHeight = _ui.windowHeightSpinBox->value(); + settings.windowWidth = _ui.windowWidthSpinBox->value(); + settings.titleFontURL = _ui.titleFontPathLineEdit->text().toStdString(); + settings.menuFontURL = _ui.menuFontPathLineEdit->text().toStdString(); + settings.presetURL = _ui.startupPlaylistDirectoryLineEdit->text().toStdString(); + settings.textureSize = _ui.textureSizeComboBox->itemData(_ui.textureSizeComboBox->currentIndex()).toInt(); + settings.smoothPresetDuration = _ui.smoothPresetDurationSpinBox->value(); + settings.presetDuration = _ui.presetDurationSpinBox->value(); + settings.fps = _ui.maxFPSSpinBox->value(); + settings.aspectCorrection = _ui.useAspectCorrectionCheckBox->checkState() == Qt::Checked; + settings.beatSensitivity = _ui.beatSensitivitySpinBox->value(); + settings.easterEgg = _ui.easterEggParameterSpinBox->value(); + settings.shuffleEnabled = _ui.shuffleOnStartupCheckBox->checkState() == Qt::Checked; + settings.softCutRatingsEnabled = _ui.softCutRatingsEnabledCheckBox->checkState() == Qt::Checked; + + projectM::writeConfig(_configFile, settings); + + QSettings qSettings("projectM", "qprojectM"); + + qSettings.setValue("FullscreenOnStartup", _ui.fullscreenOnStartupCheckBox->checkState() == Qt::Checked); + qSettings.setValue("MenuOnStartup", _ui.menuOnStartupCheckBox->checkState() == Qt::Checked); + + qSettings.setValue("PlaylistFile", _ui.startupPlaylistFileLineEdit->text()); + + qSettings.setValue("MouseHideOnTimeout", _ui.mouseHideTimeoutSpinBox->value()); +} + + + +void QProjectMConfigDialog::populateTextureSizeComboBox() { + + _ui.textureSizeComboBox->clear(); + for (int textureSize = 1<<1; textureSize < 1<<14; textureSize<<=1) { + _ui.textureSizeComboBox->addItem(QString("%1").arg(textureSize), textureSize); + } +} + +void QProjectMConfigDialog::loadConfig() { + + const projectM::Settings & settings = (* _qprojectMWidget->qprojectM()).settings(); + + _ui.meshSizeWidthSpinBox->setValue(settings.meshX); + _ui.meshSizeHeightSpinBox->setValue(settings.meshY); + + _ui.titleFontPathLineEdit->setText(settings.titleFontURL.c_str()); + _ui.menuFontPathLineEdit->setText(settings.menuFontURL.c_str()); + + _ui.startupPlaylistDirectoryLineEdit->setText(settings.presetURL.c_str()); + _ui.useAspectCorrectionCheckBox->setCheckState(settings.aspectCorrection ? Qt::Checked : Qt::Unchecked); + _ui.maxFPSSpinBox->setValue(settings.fps); + _ui.beatSensitivitySpinBox->setValue(settings.beatSensitivity); + _ui.windowHeightSpinBox->setValue(settings.windowHeight); + _ui.windowWidthSpinBox->setValue(settings.windowWidth); + _ui.shuffleOnStartupCheckBox->setCheckState(settings.shuffleEnabled ? Qt::Checked : Qt::Unchecked); + populateTextureSizeComboBox(); + _ui.textureSizeComboBox->insertItem(0, QString("%1").arg(settings.textureSize), settings.textureSize); + _ui.textureSizeComboBox->setCurrentIndex(0); + + _ui.smoothPresetDurationSpinBox->setValue(settings.smoothPresetDuration); + _ui.presetDurationSpinBox->setValue(settings.presetDuration); + _ui.easterEggParameterSpinBox->setValue(settings.easterEgg); + _ui.softCutRatingsEnabledCheckBox->setCheckState(settings.softCutRatingsEnabled ? Qt::Checked : Qt::Unchecked); + + QSettings qSettings("projectM", "qprojectM"); + _ui.fullscreenOnStartupCheckBox->setCheckState(qSettings.value("FullscreenOnStartup", false).toBool() ? Qt::Checked : Qt::Unchecked); + _ui.menuOnStartupCheckBox->setCheckState(qSettings.value("MenuOnStartup", false).toBool() ? Qt::Checked : Qt::Unchecked); + _ui.startupPlaylistFileLineEdit->setText(qSettings.value("PlaylistFile", QString()).toString() ); + _ui.mouseHideTimeoutSpinBox->setValue(qSettings.value("MouseHideOnTimeout", 5).toInt()); + +} diff --git a/src/projectM-qt/qprojectmconfigdialog.hpp b/src/projectM-qt/qprojectmconfigdialog.hpp new file mode 100644 index 0000000000..40c933fdea --- /dev/null +++ b/src/projectM-qt/qprojectmconfigdialog.hpp @@ -0,0 +1,52 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +#ifndef QPROJECTM_CONFIG_DIALOG_HPP +#define QPROJECTM_CONFIG_DIALOG_HPP +#include "ui_qprojectmconfigdialog.h" +#include "qprojectm_mainwindow.hpp" +#include +class QProjectMConfigDialog : public QDialog { + + Q_OBJECT + + public: + QProjectMConfigDialog(const std::string & configFile, QProjectMWidget * widget, QWidget * parent = 0, Qt::WindowFlags f = 0); + private: + void loadConfig(); + private slots: + void openPlaylistFileDialog(); + void openPlaylistDirectoryDialog(); + + void openMenuFontFileDialog(); + void openTitleFontFileDialog(); + void saveConfig(); + void buttonBoxHandler(QAbstractButton * button); + + private: + QSettings _settings; + const std::string _configFile; + QProjectMWidget * _qprojectMWidget; + Ui::QProjectMConfigDialog _ui; + void populateTextureSizeComboBox(); + signals: + void projectM_Reset(); +}; +#endif diff --git a/src/projectM-qt/qprojectmconfigdialog.ui b/src/projectM-qt/qprojectmconfigdialog.ui new file mode 100644 index 0000000000..0f03b4abe9 --- /dev/null +++ b/src/projectM-qt/qprojectmconfigdialog.ui @@ -0,0 +1,612 @@ + + + QProjectMConfigDialog + + + + 0 + 0 + 683 + 409 + + + + projectM Settings + + + + + 8 + 8 + 662 + 385 + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Playlist Directory + + + + + + + + 2 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">This sets the default preset playlist directory when projectM starts up. Every valid preset file in the specified directory will be loaded into the playlist upon initialization. <span style=" font-weight:600;">NOTE:</span> This option is overridden by a non empty value of the <span style=" font-style:italic;">Playlist File </span>option.</p></body></html> + + + + + + + ... + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Playlist File + + + + + + + + 2 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">This sets the default preset playlist file when projectM starts up. The file must be a valid preset playlist (of type *.ppl). If specified, this overrides the <span style=" font-style:italic;">Playlist Directory</span> value on startup. </p></body></html> + + + + + + + ... + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Menu Font Path + + + + + + + + 2 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This changes the font projectM will use for its opengl rendered menus</p></body></html> + + + + + + + ... + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Title Font Path + + + + + + + + 2 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changes the font projectM will use for rendering the song title</p></body></html> + + + + + + + ... + + + + + + + Preset Duration (s) + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sets how long a preset should be played in seconds before projectM automatically switches to another in the playlist</p></body></html> + + + 1 + + + 100000 + + + + + + + Smooth Preset Duration (s) + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sets how long a transition occurs in seconds when smooth preset switching</p></body></html> + + + 1 + + + 1000000 + + + + + + + + 0 + 0 + + + + Beat Sensitivity + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sets the intensity threshold for the preset hard cuts</p></body></html> + + + 0.000000000000000 + + + 100.000000000000000 + + + + + + + + 0 + 0 + + + + Maximum FPS + + + + + + + + 2 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This parameter, if nonzero, limits the number of frames per second projectM will attempt to render to screen. 35 is a reasonable limit.</p></body></html> + + + 0 + + + + + + + + 0 + 0 + + + + Texture Size + + + + + + + + 1 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sets the size of the texture. Higher is better, but slower.</p></body></html> + + + QComboBox::AdjustToMinimumContentsLength + + + + + + + + 0 + 0 + + + + Easter Egg Parameter + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A mystery parameter!</p></body></html> + + + 20.000000000000000 + + + 0.010000000000000 + + + + + + + + + + 0 + 0 + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This makes a square look like a square, and a circle look like a circle in cases where they may not otherwise.</p></body></html> + + + Use Aspect Correction + + + + + + + + 0 + 0 + + + + Show Menu on startup + + + + + + + + 0 + 0 + + + + Fullscreen on startup + + + + + + + + 0 + 0 + + + + Shuffle on startup + + + + + + + + 0 + 0 + + + + Enable to turn on a different rating system for soft cuts and hard cuts. + + + Soft Cut Ratings + + + + + + + + + + 0 + 0 + + + + Mesh Size + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">This modifies the horizontal component of the mesh. Higher is better but slower</p></body></html> + + + 1 + + + 1000 + + + 1 + + + + + + + + 0 + 0 + + + + by + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">This modifies the vertical component of the mesh. Higher is better but slower</p></body></html> + + + 1 + + + 1000 + + + + + + + + 0 + 0 + + + + Window Size + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This modifies the horizontal component of the startup window size </p></body></html> + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This modifies the horizontal component of the startup window size </p></body></html> + + + 1 + + + 10000 + + + + + + + + 0 + 0 + + + + by + + + + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">This modifies the vertical component of the startup window size</p></body></html> + + + 1 + + + 10000 + + + + + + + Click save to write the settings to your projectM config file. The reset button will bring your settings back to whatever was stored on disk. + + + Qt::RightToLeft + + + Qt::Horizontal + + + QDialogButtonBox::Close|QDialogButtonBox::Reset|QDialogButtonBox::Save + + + + + + + Sets how long of an idle interval to wait before hiding the mouse. A value of zero disables this feature. + + + Mouse Hide Timeout (s) + + + + + + + Sets how long of an idle interval to wait before hiding the mouse. A value of zero disables this feature. + + + + + + 0 + + + 30000 + + + + + + + + + diff --git a/src/projectM-qt/qprojectmwidget.hpp b/src/projectM-qt/qprojectmwidget.hpp new file mode 100644 index 0000000000..8755d1f951 --- /dev/null +++ b/src/projectM-qt/qprojectmwidget.hpp @@ -0,0 +1,318 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QPROJECTM_WIDGET_HPP +#define QPROJECTM_WIDGET_HPP + +#include +#include "qprojectm.hpp" +#include +#include +#include +#include +#include +#include +#include + +class QProjectMWidget : public QGLWidget +{ + + Q_OBJECT // must include this if you use Qt signals/slots + + public: + static const int MOUSE_VISIBLE_TIMEOUT_MS = 5000; + QProjectMWidget ( const std::string & config_file, QWidget * parent, QMutex * audioMutex = 0 ) + : QGLWidget ( parent ), m_config_file ( config_file ), m_projectM ( 0 ), m_audioMutex ( audioMutex ), m_mouseTimer ( 0 ) + { + + m_mouseTimer = new QTimer ( this ); + + QSettings settings("projectM", "qprojectM"); + mouseHideTimeoutSeconds = + settings.value("MouseHideOnTimeout", MOUSE_VISIBLE_TIMEOUT_MS/1000).toInt(); + + if (mouseHideTimeoutSeconds > 0) + m_mouseTimer->start ( mouseHideTimeoutSeconds * 1000); + + connect ( m_mouseTimer, SIGNAL ( timeout() ), this, SLOT ( hideMouse() ) ); + this->setMouseTracking ( true ); + + } + + ~QProjectMWidget() { destroyProjectM(); } + + + + void resizeGL ( int w, int h ) + { + // Setup viewport, projection etc + setup_opengl ( w,h ); + m_projectM->projectM_resetGL ( w, h ); + } + + inline const std::string & configFile() + { + return m_config_file; + } + + inline void seizePresetLock() + { + + m_presetSeizeMutex.lock(); + m_presetWasLocked = qprojectM()->isPresetLocked(); + qprojectM()->setPresetLock ( true ); + + } + + inline void releasePresetLock() + { + qprojectM()->setPresetLock ( m_presetWasLocked ); + m_presetSeizeMutex.unlock(); + } + + + inline QProjectM * qprojectM() { return m_projectM; } + + protected slots: + inline void mouseMoveEvent ( QMouseEvent * event ) + { + + m_mouseTimer->stop(); + QApplication::restoreOverrideCursor(); + if (mouseHideTimeoutSeconds > 0) + m_mouseTimer->start ( mouseHideTimeoutSeconds*1000 ); + + } + + inline void leaveEvent ( QEvent * event ) + { + /// @bug testing if this resolves a bug for ubuntu users + QApplication::restoreOverrideCursor(); + } + + public slots: + + void resetProjectM() + { + std::cout << "reseting" << std::endl; + qDebug() << "reset start"; + + emit ( projectM_BeforeDestroy() ); + + if ( m_audioMutex ) + m_audioMutex->lock(); + + destroyProjectM(); + + // Make a new projectM instance and reset the opengl state + initializeGL(); + + // Allow audio thread to continue its business + if ( m_audioMutex ) + { + m_audioMutex->unlock(); + } + qDebug() << "reinit'ed"; + } + + void setAudioMutex ( QMutex * mutex ) + { + m_audioMutex = mutex; + } + + void setPresetLock ( int state ) + { + m_projectM->setPresetLock ( ( bool ) state ); + emit ( presetLockChanged ( ( bool ) state ) ); + } + + void setShuffleEnabled ( int state ) + { + m_projectM->setShuffleEnabled ( ( bool ) state ); + emit ( shuffleEnabledChanged ( ( bool ) state ) ); + } + + void mousePressEvent ( QMouseEvent * event ) + { + this->setFocus(); + } + + signals: + void projectM_Initialized ( QProjectM * ); + void projectM_BeforeDestroy(); + void presetLockChanged ( bool isLocked ); + void shuffleEnabledChanged ( bool isShuffleEnabled ); + + private slots: + void hideMouse() + { + if ( this->underMouse() && this->hasFocus() ) + QApplication::setOverrideCursor ( Qt::BlankCursor ); + } + private: + std::string m_config_file; + QProjectM * m_projectM; + void destroyProjectM() + { + + if ( m_projectM ) + { + delete ( m_projectM ); + m_projectM = 0; + } + } + + QTimer * m_mouseTimer; + QMutex * m_audioMutex; + QMutex m_presetSeizeMutex; + bool m_presetWasLocked; + protected: + + + void keyReleaseEvent ( QKeyEvent * e ) + { + + projectMKeycode pkey; + bool ignore = false; + switch ( e->key() ) + { + case Qt::Key_F4: + pkey = PROJECTM_K_F4; + break; + case Qt::Key_F3: + pkey = PROJECTM_K_F3; + break; + case Qt::Key_F2: + pkey = PROJECTM_K_F2; + break; + case Qt::Key_F1: + pkey = PROJECTM_K_F1; + break; + case Qt::Key_R: + if (e->modifiers() & Qt::ShiftModifier) + pkey = PROJECTM_K_R; + else + pkey = PROJECTM_K_r; + break; + case Qt::Key_L: + pkey = PROJECTM_K_l; + ignore = true; + break; + case Qt::Key_N: + if (e->modifiers() & Qt::ShiftModifier) + pkey = PROJECTM_K_N; + else + pkey = PROJECTM_K_n; + break; + case Qt::Key_P: + if (e->modifiers() & Qt::ShiftModifier) + pkey = PROJECTM_K_P; + else + pkey = PROJECTM_K_p; + break; + case Qt::Key_F5: + pkey = PROJECTM_K_F5; + break; + case Qt::Key_Plus: + pkey = PROJECTM_K_PLUS; + break; + case Qt::Key_Minus: + pkey = PROJECTM_K_MINUS; + break; + case Qt::Key_Equal: + pkey = PROJECTM_K_EQUALS; + break; + default: + e->ignore(); + return; + } + projectMModifier modifier; + + m_projectM->key_handler ( PROJECTM_KEYDOWN, pkey, modifier ); + if ( ignore ) + e->ignore(); + + + } + + void initializeGL() + { + + if (m_projectM == 0) { + this->m_projectM = new QProjectM ( m_config_file ); + projectM_Initialized ( m_projectM ); + } + } + + inline void paintGL() + { + m_projectM->renderFrame(); + } + + private: + int mouseHideTimeoutSeconds; + void setup_opengl ( int w, int h ) + { + + /* Our shading model--Gouraud (smooth). */ + glShadeModel ( GL_SMOOTH ); + /* Culling. */ + // glCullFace( GL_BACK ); + // glFrontFace( GL_CCW ); + // glEnable( GL_CULL_FACE ); + /* Set the clear color. */ + glClearColor ( 0, 0, 0, 0 ); + /* Setup our viewport. */ + glViewport ( 0, 0, w, h ); + /* + * Change to the projection matrix and set + * our viewing volume. + */ + glMatrixMode ( GL_TEXTURE ); + glLoadIdentity(); + + // gluOrtho2D(0.0, (GLfloat) width, 0.0, (GLfloat) height); + glMatrixMode ( GL_PROJECTION ); + glLoadIdentity(); + + // glFrustum(0.0, height, 0.0,width,10,40); + glMatrixMode ( GL_MODELVIEW ); + glLoadIdentity(); + + glDrawBuffer ( GL_BACK ); + glReadBuffer ( GL_BACK ); + glEnable ( GL_BLEND ); + + glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); + // glBlendFunc(GL_SRC_ALPHA, GL_ONE); + glEnable ( GL_LINE_SMOOTH ); + glEnable ( GL_POINT_SMOOTH ); + glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); +// glClear(GL_COLOR_BUFFER_BIT); + + // glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGB,0,0,texsize,texsize,0); + //glCopyTexSubImage2D(GL_TEXTURE_2D,0,0,0,0,0,texsize,texsize); + glLineStipple ( 2, 0xAAAA ); + } + + +}; +#endif diff --git a/src/projectM-qt/qxmlplaylisthandler.hpp b/src/projectM-qt/qxmlplaylisthandler.hpp new file mode 100644 index 0000000000..afe2cbd73d --- /dev/null +++ b/src/projectM-qt/qxmlplaylisthandler.hpp @@ -0,0 +1,215 @@ +/** + * projectM-qt -- Qt4 based projectM GUI + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#ifndef QXML_PLAYLIST_HANDLER_HPP +#define QXML_PLAYLIST_HANDLER_HPP +#include +#include + +class QXmlPlaylistHandler { + + public : + template + static QXmlStreamReader::Error readPlaylist (QIODevice * device, ReadFunctor & readFunc); + + template + static void writePlaylist (QIODevice * device, WriteFunctor & writeFunc); + + private: + + template + static QXmlStreamReader::Error readPlaylistItem(QXmlStreamReader & reader, ReadFunctor & functor); + + +}; + +template +QXmlStreamReader::Error QXmlPlaylistHandler::readPlaylist (QIODevice * device, ReadFunctor & readFunc) +{ + QXmlStreamReader reader ( device ); + + QXmlStreamReader::TokenType token; + + try { + while ( !reader.atEnd() ) { + token = reader.readNext(); + switch ( token ) + { + case QXmlStreamReader::StartElement: + + if (reader.name() == "presetplaylist") { + + } + else if (reader.name() == "description") { + reader.readNext(); + readFunc.setPlaylistDesc(reader.text().toString().replace("&", "&")); + + } + else if (reader.name() == "item") { + readPlaylistItem(reader, readFunc); + break; + } + break; + case QXmlStreamReader::NoToken: + break; + case QXmlStreamReader::Invalid: + break; + case QXmlStreamReader::StartDocument: + break; + case QXmlStreamReader::EndDocument: + break; + case QXmlStreamReader::EndElement: + break; + case QXmlStreamReader::Characters: + case QXmlStreamReader::Comment: + case QXmlStreamReader::DTD: + case QXmlStreamReader::EntityReference: + case QXmlStreamReader::ProcessingInstruction: + default: + break; + } + } + } catch (const QXmlStreamReader::Error & id) { + return id; + + } + + if (reader.hasError()) + return reader.error(); + else + return QXmlStreamReader::NoError; +} + + +template +QXmlStreamReader::Error QXmlPlaylistHandler::readPlaylistItem(QXmlStreamReader & reader, ReadFunctor & readFunctor) { + + QString url, name; + int rating, breedability; + + while (reader.readNext() != QXmlStreamReader::EndElement) + if (reader.name() == "url") { + bool repeat; + int result; + + while (repeat = (result = reader.readNext()) == QXmlStreamReader::Characters) + url += reader.text().toString(); + + } else if (reader.name() == "rating") { + reader.readNext(); + rating = reader.text().toString().toInt(); + reader.readNext(); + } else if (reader.name() == "breedability") { + reader.readNext(); + breedability = reader.text().toString().toInt(); + reader.readNext(); + } else if (reader.name() == "name") { + bool repeat; + int result; + + while (repeat = (result = reader.readNext()) == QXmlStreamReader::Characters) + name += reader.text().toString(); + } else { + if (reader.name() == "") + continue; + else if (reader.hasError()) + return reader.error(); + else { + try { + reader.raiseError(QString("Unknown element name %1 ").arg(reader.name().toString())); + } catch (...) { + return reader.error(); + } + } + } + + readFunctor.appendItem(url, QFileInfo(url).fileName(), rating, breedability); + + return QXmlStreamReader::NoError; + +} + + +template +void QXmlPlaylistHandler::writePlaylist (QIODevice * device, WriteFunctor & writeFunctor ) { + + + QXmlStreamWriter writer(device); + + writer.writeStartDocument(); + + writer.writeStartElement("presetplaylist"); + + + writer.writeStartElement("description"); + writer.writeCharacters(writeFunctor.playlistDesc()); + writer.writeEndElement(); + + QString name; + QString url; + int rating; + int breedability; + + while (writeFunctor.nextItem(name, url, rating, breedability)) { + writer.writeStartElement("item"); + + + writer.writeStartElement("name"); + + writer.writeCharacters(name.replace("&", "&")); + writer.writeEndElement(); + + writer.writeStartElement("url"); + + writer.writeCharacters(url.replace("&", "&")); + writer.writeEndElement(); + + writer.writeStartElement("rating"); + writer.writeCharacters(QString("%1").arg(rating)+"\n"); + writer.writeEndElement(); + + writer.writeStartElement("breedability"); + writer.writeCharacters(QString("%1").arg(breedability)+"\n"); + writer.writeEndElement(); + + writer.writeEndElement(); + + } + + writer.writeEndElement(); + + writer.writeEndDocument(); + + return; +} + + +/// @idea Instead of templates, allow subclassing of the playlist handler +#if 0 +virtual void QXmlPlaylistHandler::readPresetItem(const QString & url, int rating) {} + + +virtual bool QXmlPlaylistHandler::nextPresetItem(QString & url, int & rating) { + return false; +} +#endif + +#endif diff --git a/src/projectM-qt/templates/cpp b/src/projectM-qt/templates/cpp new file mode 100644 index 0000000000..6d548dddf1 --- /dev/null +++ b/src/projectM-qt/templates/cpp @@ -0,0 +1,19 @@ +/*************************************************************************** + * Copyright (C) 2007 by carm * + * carm@localhost * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ diff --git a/src/projectM-qt/templates/h b/src/projectM-qt/templates/h new file mode 100644 index 0000000000..6d548dddf1 --- /dev/null +++ b/src/projectM-qt/templates/h @@ -0,0 +1,19 @@ +/*************************************************************************** + * Copyright (C) 2007 by carm * + * carm@localhost * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ diff --git a/src/projectM-screensaver/CVS/Entries b/src/projectM-screensaver/CVS/Entries deleted file mode 100755 index 973d808cc9..0000000000 --- a/src/projectM-screensaver/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/Scricon3.ico/1.1/Tue Oct 5 16:38:48 2004/-kb/ -/resource.h/1.1/Fri Oct 8 15:50:25 2004// -/wprojectMsaver.dsp/1.2/Fri Oct 8 16:00:57 2004// -/wprojectMsaver.rc/1.1/Tue Oct 5 16:39:15 2004// -/projectMsaver.iss/1.1/Sat Oct 9 15:57:36 2004// -/tsaver.h/1.2/Fri Nov 12 15:45:20 2004// -/util.cpp/1.2/Fri Nov 12 15:45:31 2004// -/wprojectMsaver.cpp/1.4/Mon Nov 15 15:09:44 2004// -D diff --git a/src/projectM-screensaver/CVS/Repository b/src/projectM-screensaver/CVS/Repository deleted file mode 100755 index 44bdf8195d..0000000000 --- a/src/projectM-screensaver/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/wprojectMsaver diff --git a/src/projectM-screensaver/CVS/Root b/src/projectM-screensaver/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-screensaver/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-sdl/.gitignore b/src/projectM-sdl/.gitignore new file mode 100644 index 0000000000..7392784d1e --- /dev/null +++ b/src/projectM-sdl/.gitignore @@ -0,0 +1 @@ +projectMSDL \ No newline at end of file diff --git a/src/projectM-sdl/Makefile.am b/src/projectM-sdl/Makefile.am new file mode 100644 index 0000000000..976b0aaaca --- /dev/null +++ b/src/projectM-sdl/Makefile.am @@ -0,0 +1,15 @@ +AM_CPPFLAGS = \ +${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-DSYSCONFDIR=\""$(sysconfdir)"\" \ +-I${top_srcdir}/src/libprojectM \ +-I${top_srcdir}/src/libprojectM/Renderer \ +${SDL_CFLAGS} + +bin_PROGRAMS = projectMSDL +projectMSDL_SOURCES = pmSDL.cpp projectM_SDL_main.cpp pmSDL.hpp +projectMSDL_LDADD = +#projectMSDL_LDADD += -lasan +projectMSDL_LDADD += ${SDL_LIBS} ../libprojectM/libprojectM.la +projectMSDL_LDFLAGS = -static +projectMSDL_PROGRAM = projectMSDL diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..da11f91949 --- /dev/null +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -0,0 +1,709 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1612C997207A80A200862A3A /* libprojectM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1612C994207A807000862A3A /* libprojectM.a */; }; + 1612C998207A80A200862A3A /* libRenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1612C992207A807000862A3A /* libRenderer.a */; }; + 1612C9E2207A85C100862A3A /* libMilkdropPresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1612C9DF207A85BD00862A3A /* libMilkdropPresetFactory.a */; }; + 1612C9E3207A85C100862A3A /* libNativePresetFactory.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1612C9E1207A85BD00862A3A /* libNativePresetFactory.a */; }; + 16355BFE2143C0F400B3748F /* projectM_SDL_main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C345214E1BF022A5001707D2 /* projectM_SDL_main.cpp */; }; + 16355BFF2143C0F600B3748F /* pmSDL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 169501FE1F7009E9008FAF86 /* pmSDL.cpp */; }; + 168F7156211248E4001806E7 /* SDLprojectM in Executable */ = {isa = PBXBuildFile; fileRef = C34521441BF02294001707D2 /* SDLprojectM */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 168F715921124C0E001806E7 /* config.inp in Support files */ = {isa = PBXBuildFile; fileRef = 16B52AAA21105A6900830F34 /* config.inp */; }; + 168F715A21124C14001806E7 /* fonts in Support files */ = {isa = PBXBuildFile; fileRef = C3D30B8F1BF02BE5009AAACD /* fonts */; }; + 168F715C21124CDF001806E7 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 166853F02105E2850042793A /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 168F718021126256001806E7 /* AppIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 168F717F21126256001806E7 /* AppIcon.icns */; }; + C345215C1BF025A9001707D2 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215B1BF025A9001707D2 /* OpenGL.framework */; }; + C345215E1BF025CF001707D2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215D1BF025CF001707D2 /* CoreFoundation.framework */; }; + C34521651BF025E5001707D2 /* libbz2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215F1BF025E5001707D2 /* libbz2.a */; }; + C34521691BF025E5001707D2 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521631BF025E5001707D2 /* libpng15.a */; }; + C345216A1BF025E5001707D2 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521641BF025E5001707D2 /* libz.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 1612C991207A807000862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 16178B12207A6F4000D3B0C8; + remoteInfo = Renderer; + }; + 1612C993207A807000862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 16A49E57207A7C8C00E508EA; + remoteInfo = projectM; + }; + 1612C999207A80B800862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 16A49E56207A7C8C00E508EA; + remoteInfo = projectM; + }; + 1612C9D6207A85BD00862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 16178B11207A6F4000D3B0C8; + remoteInfo = Renderer; + }; + 1612C9D8207A85BD00862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 1612C9A3207A855D00862A3A; + remoteInfo = MilkdropPresetFactory; + }; + 1612C9DA207A85BD00862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 1612C9AB207A856A00862A3A; + remoteInfo = NativePresetFactory; + }; + 1612C9DE207A85BD00862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1612C9A4207A855D00862A3A; + remoteInfo = MilkdropPresetFactory; + }; + 1612C9E0207A85BD00862A3A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1612C9AC207A856A00862A3A; + remoteInfo = NativePresetFactory; + }; + 168F714F21120496001806E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C345213C1BF02293001707D2 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C34521431BF02293001707D2; + remoteInfo = SDLprojectM; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 168F7155211248DE001806E7 /* Executable */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 6; + files = ( + 168F7156211248E4001806E7 /* SDLprojectM in Executable */, + ); + name = Executable; + runOnlyForDeploymentPostprocessing = 0; + }; + 168F715821124BFC001806E7 /* Support files */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 7; + files = ( + 168F715921124C0E001806E7 /* config.inp in Support files */, + 168F715A21124C14001806E7 /* fonts in Support files */, + ); + name = "Support files"; + runOnlyForDeploymentPostprocessing = 0; + }; + 168F715B21124CD1001806E7 /* Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 168F715C21124CDF001806E7 /* SDL2.framework in Frameworks */, + ); + name = Frameworks; + runOnlyForDeploymentPostprocessing = 0; + }; + C34521421BF02293001707D2 /* Copy Files */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 12; + dstPath = ""; + dstSubfolderSpec = 16; + files = ( + ); + name = "Copy Files"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1612C98C207A807000862A3A /* libprojectM.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libprojectM.xcodeproj; path = ../libprojectM/libprojectM.xcodeproj; sourceTree = ""; }; + 166853F02105E2850042793A /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../../../../../../Library/Frameworks/SDL2.framework; sourceTree = ""; }; + 166853F22105E2CF0042793A /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL2.framework; sourceTree = ""; }; + 168F714921120210001806E7 /* projectM SDL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "projectM SDL.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 168F714B21120211001806E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 168F717F21126256001806E7 /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = AppIcon.icns; sourceTree = ""; }; + 169501FE1F7009E9008FAF86 /* pmSDL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pmSDL.cpp; sourceTree = ""; }; + 169501FF1F7009E9008FAF86 /* pmSDL.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pmSDL.hpp; sourceTree = ""; }; + 16B52AA8211054E900830F34 /* projectMSDL-pkg.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "projectMSDL-pkg.plist"; sourceTree = ""; }; + 16B52AAA21105A6900830F34 /* config.inp */ = {isa = PBXFileReference; lastKnownFileType = text; path = config.inp; sourceTree = ""; }; + C307DFD31D565B57002F6B9E /* presets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = presets; path = ../../presets; sourceTree = ""; }; + C34521441BF02294001707D2 /* SDLprojectM */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = SDLprojectM; sourceTree = BUILT_PRODUCTS_DIR; }; + C345214E1BF022A5001707D2 /* projectM_SDL_main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = projectM_SDL_main.cpp; sourceTree = SOURCE_ROOT; }; + C345215B1BF025A9001707D2 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + C345215D1BF025CF001707D2 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + C345215F1BF025E5001707D2 /* libbz2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbz2.a; path = "../projectM-iTunes/macos/contrib/libbz2.a"; sourceTree = ""; }; + C34521631BF025E5001707D2 /* libpng15.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng15.a; path = "../projectM-iTunes/macos/contrib/libpng15.a"; sourceTree = ""; }; + C34521641BF025E5001707D2 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = "../projectM-iTunes/macos/contrib/libz.a"; sourceTree = ""; }; + C3D30B8F1BF02BE5009AAACD /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = ../../fonts; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 168F714621120210001806E7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C34521411BF02293001707D2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1612C9E2207A85C100862A3A /* libMilkdropPresetFactory.a in Frameworks */, + 1612C9E3207A85C100862A3A /* libNativePresetFactory.a in Frameworks */, + C345215E1BF025CF001707D2 /* CoreFoundation.framework in Frameworks */, + C345215C1BF025A9001707D2 /* OpenGL.framework in Frameworks */, + C34521651BF025E5001707D2 /* libbz2.a in Frameworks */, + C34521691BF025E5001707D2 /* libpng15.a in Frameworks */, + C345216A1BF025E5001707D2 /* libz.a in Frameworks */, + 1612C997207A80A200862A3A /* libprojectM.a in Frameworks */, + 1612C998207A80A200862A3A /* libRenderer.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 161070CE1F7041B0001905AB /* Frameworks */ = { + isa = PBXGroup; + children = ( + 166853F22105E2CF0042793A /* SDL2.framework */, + C345215D1BF025CF001707D2 /* CoreFoundation.framework */, + C345215B1BF025A9001707D2 /* OpenGL.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 1612C98D207A807000862A3A /* Products */ = { + isa = PBXGroup; + children = ( + 1612C992207A807000862A3A /* libRenderer.a */, + 1612C994207A807000862A3A /* libprojectM.a */, + 1612C9DF207A85BD00862A3A /* libMilkdropPresetFactory.a */, + 1612C9E1207A85BD00862A3A /* libNativePresetFactory.a */, + ); + name = Products; + sourceTree = ""; + }; + 168F714A21120210001806E7 /* projectM-SDL */ = { + isa = PBXGroup; + children = ( + 168F717F21126256001806E7 /* AppIcon.icns */, + 168F714B21120211001806E7 /* Info.plist */, + ); + path = "projectM-SDL"; + sourceTree = ""; + }; + 168F717521125ED8001806E7 /* projectM */ = { + isa = PBXGroup; + children = ( + ); + path = projectM; + sourceTree = ""; + }; + 16A42128207802AF006F30CE /* Dependencies */ = { + isa = PBXGroup; + children = ( + C345215F1BF025E5001707D2 /* libbz2.a */, + C34521631BF025E5001707D2 /* libpng15.a */, + C34521641BF025E5001707D2 /* libz.a */, + ); + name = Dependencies; + sourceTree = ""; + }; + C345213B1BF02293001707D2 = { + isa = PBXGroup; + children = ( + 169501FF1F7009E9008FAF86 /* pmSDL.hpp */, + 169501FE1F7009E9008FAF86 /* pmSDL.cpp */, + C345214E1BF022A5001707D2 /* projectM_SDL_main.cpp */, + 16B52AAA21105A6900830F34 /* config.inp */, + 16B52AA8211054E900830F34 /* projectMSDL-pkg.plist */, + 166853F02105E2850042793A /* SDL2.framework */, + 1612C98C207A807000862A3A /* libprojectM.xcodeproj */, + C307DFD31D565B57002F6B9E /* presets */, + 16A42128207802AF006F30CE /* Dependencies */, + 168F714A21120210001806E7 /* projectM-SDL */, + 168F717521125ED8001806E7 /* projectM */, + 161070CE1F7041B0001905AB /* Frameworks */, + C34521451BF02294001707D2 /* Products */, + C3D30B8F1BF02BE5009AAACD /* fonts */, + ); + sourceTree = ""; + }; + C34521451BF02294001707D2 /* Products */ = { + isa = PBXGroup; + children = ( + C34521441BF02294001707D2 /* SDLprojectM */, + 168F714921120210001806E7 /* projectM SDL.app */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 168F714821120210001806E7 /* projectM SDL */ = { + isa = PBXNativeTarget; + buildConfigurationList = 168F714C21120211001806E7 /* Build configuration list for PBXNativeTarget "projectM SDL" */; + buildPhases = ( + 168F714521120210001806E7 /* Sources */, + 168F714621120210001806E7 /* Frameworks */, + 168F714721120210001806E7 /* Resources */, + 168F7155211248DE001806E7 /* Executable */, + 168F715721124BBB001806E7 /* Copy Presets */, + 168F715821124BFC001806E7 /* Support files */, + 168F715B21124CD1001806E7 /* Frameworks */, + 168F715D21124CF8001806E7 /* Generate Installer Package */, + ); + buildRules = ( + ); + dependencies = ( + 168F715021120496001806E7 /* PBXTargetDependency */, + ); + name = "projectM SDL"; + productName = "projectM-SDL"; + productReference = 168F714921120210001806E7 /* projectM SDL.app */; + productType = "com.apple.product-type.bundle"; + }; + C34521431BF02293001707D2 /* SDLprojectM */ = { + isa = PBXNativeTarget; + buildConfigurationList = C345214B1BF02294001707D2 /* Build configuration list for PBXNativeTarget "SDLprojectM" */; + buildPhases = ( + C34521401BF02293001707D2 /* Sources */, + C34521411BF02293001707D2 /* Frameworks */, + C34521421BF02293001707D2 /* Copy Files */, + ); + buildRules = ( + ); + dependencies = ( + 1612C9D7207A85BD00862A3A /* PBXTargetDependency */, + 1612C9D9207A85BD00862A3A /* PBXTargetDependency */, + 1612C9DB207A85BD00862A3A /* PBXTargetDependency */, + 1612C99A207A80B800862A3A /* PBXTargetDependency */, + ); + name = SDLprojectM; + productName = SDLprojectM; + productReference = C34521441BF02294001707D2 /* SDLprojectM */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C345213C1BF02293001707D2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = int80; + TargetAttributes = { + 168F714821120210001806E7 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + C34521431BF02293001707D2 = { + CreatedOnToolsVersion = 7.1; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = C345213F1BF02293001707D2 /* Build configuration list for PBXProject "SDLprojectM" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + ); + mainGroup = C345213B1BF02293001707D2; + productRefGroup = C34521451BF02294001707D2 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 1612C98D207A807000862A3A /* Products */; + ProjectRef = 1612C98C207A807000862A3A /* libprojectM.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + C34521431BF02293001707D2 /* SDLprojectM */, + 168F714821120210001806E7 /* projectM SDL */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 1612C992207A807000862A3A /* libRenderer.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRenderer.a; + remoteRef = 1612C991207A807000862A3A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 1612C994207A807000862A3A /* libprojectM.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libprojectM.a; + remoteRef = 1612C993207A807000862A3A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 1612C9DF207A85BD00862A3A /* libMilkdropPresetFactory.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libMilkdropPresetFactory.a; + remoteRef = 1612C9DE207A85BD00862A3A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 1612C9E1207A85BD00862A3A /* libNativePresetFactory.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libNativePresetFactory.a; + remoteRef = 1612C9E0207A85BD00862A3A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 168F714721120210001806E7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 168F718021126256001806E7 /* AppIcon.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 168F715721124BBB001806E7 /* Copy Presets */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/../../presets", + ); + name = "Copy Presets"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/presets", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "POUT=\"$BUILT_PRODUCTS_DIR\"/\"$CONTENTS_FOLDER_PATH/Resources/presets\"\nPIN=\"$SRCROOT\"/../../presets\n\nmkdir -p \"$POUT\"\nfor preset_dir in \"$PIN/\"*; do\n cp \"$preset_dir/\"* \"$POUT/\"\ndone\necho \"Copied presets to $POUT\"\n"; + }; + 168F715D21124CF8001806E7 /* Generate Installer Package */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + name = "Generate Installer Package"; + outputPaths = ( + "$(BUILT_PRODUCTS_DIR)/projectM SDL.pkg", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "ls \"$CONFIGURATION_BUILD_DIR\"\n\nmkdir -p \"$DSTROOT/Applications\"\ncp -rp \"$CONFIGURATION_BUILD_DIR/projectM SDL.app\" \"$DSTROOT/Applications\"\npkgbuild --component-plist \"$SRCROOT/projectMSDL-pkg.plist\" --root \"$DSTROOT\" \"$BUILT_PRODUCTS_DIR/projectM SDL.pkg\"\n\necho \"Created installer package $BUILT_PRODUCTS_DIR/projectM SDL.pkg\"\n\ncp -rp \"$BUILT_PRODUCTS_DIR/projectM SDL.pkg\" \"$SRCROOT/\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 168F714521120210001806E7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C34521401BF02293001707D2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 16355BFE2143C0F400B3748F /* projectM_SDL_main.cpp in Sources */, + 16355BFF2143C0F600B3748F /* pmSDL.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 1612C99A207A80B800862A3A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = projectM; + targetProxy = 1612C999207A80B800862A3A /* PBXContainerItemProxy */; + }; + 1612C9D7207A85BD00862A3A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Renderer; + targetProxy = 1612C9D6207A85BD00862A3A /* PBXContainerItemProxy */; + }; + 1612C9D9207A85BD00862A3A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = MilkdropPresetFactory; + targetProxy = 1612C9D8207A85BD00862A3A /* PBXContainerItemProxy */; + }; + 1612C9DB207A85BD00862A3A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NativePresetFactory; + targetProxy = 1612C9DA207A85BD00862A3A /* PBXContainerItemProxy */; + }; + 168F715021120496001806E7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C34521431BF02293001707D2 /* SDLprojectM */; + targetProxy = 168F714F21120496001806E7 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 168F714D21120211001806E7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "projectM-SDL/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACH_O_TYPE = mh_execute; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = "net.projectm.projectM-SDL"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 168F714E21120211001806E7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "projectM-SDL/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACH_O_TYPE = mh_execute; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = "net.projectm.projectM-SDL"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + C34521491BF02294001707D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libprojectM", + /usr/local/include, + ); + LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/Frameworks/"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../projectM-iTunes/macos/contrib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "-DDATADIR_PATH='\"/usr/local/share/projectM\"'"; + }; + name = Debug; + }; + C345214A1BF02294001707D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libprojectM", + /usr/local/include, + ); + LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/Frameworks/"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../projectM-iTunes/macos/contrib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "-DDATADIR_PATH='\"/usr/local/share/projectM\"'"; + }; + name = Release; + }; + C345214C1BF02294001707D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = YES; + INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; + OTHER_LDFLAGS = ( + "-framework", + SDL2, + ); + PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + }; + name = Debug; + }; + C345214D1BF02294001707D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = YES; + INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; + OTHER_LDFLAGS = ( + "-framework", + SDL2, + ); + PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 168F714C21120211001806E7 /* Build configuration list for PBXNativeTarget "projectM SDL" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 168F714D21120211001806E7 /* Debug */, + 168F714E21120211001806E7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C345213F1BF02293001707D2 /* Build configuration list for PBXProject "SDLprojectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C34521491BF02294001707D2 /* Debug */, + C345214A1BF02294001707D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C345214B1BF02294001707D2 /* Build configuration list for PBXNativeTarget "SDLprojectM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C345214C1BF02294001707D2 /* Debug */, + C345214D1BF02294001707D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C345213C1BF02293001707D2 /* Project object */; +} diff --git a/src/projectM-sdl/config.inp b/src/projectM-sdl/config.inp new file mode 100644 index 0000000000..ab1ecc6e1b --- /dev/null +++ b/src/projectM-sdl/config.inp @@ -0,0 +1,22 @@ +# config.inp +# Configuration File for projectM + +#Texture Size = 1024 # Size of internal rendering texture + +Mesh X = 220 # Width of PerPixel Equation mesh +Mesh Y = 125 # Height of PerPixel Equation mesh +FPS = 60 # Frames Per Second +Fullscreen = false +Window Width = 512 # startup window width +Window Height = 512 # startup window height + +Smooth Transition Duration = 1 # in seconds +Preset Duration = 10 # in seconds +Easter Egg Parameter = 1 + +Hard Cut Sensitivity = 10 # Lower to make hard cuts more frequent +Aspect Correction = true # Custom Shape Aspect Correction + +Preset Path = presets # preset location +Title Font = Vera.ttf +Menu Font = VeraMono.ttf diff --git a/src/projectM-sdl/fonts b/src/projectM-sdl/fonts new file mode 120000 index 0000000000..8b289e24fc --- /dev/null +++ b/src/projectM-sdl/fonts @@ -0,0 +1 @@ +../../fonts \ No newline at end of file diff --git a/src/projectM-sdl/pmSDL.cpp b/src/projectM-sdl/pmSDL.cpp new file mode 100644 index 0000000000..461c3a4299 --- /dev/null +++ b/src/projectM-sdl/pmSDL.cpp @@ -0,0 +1,450 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2019 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +* projectM-sdl +* This is an implementation of projectM using libSDL2 +* +* pmSDL.cpp +* Authors: Created by Mischa Spiegelmock on 2017-09-18. +* +* +* experimental Stereoscopic SBS driver functionality by +* RobertPancoast77@gmail.com +*/ + +#include "pmSDL.hpp" +#include +#include +#include "Renderer/ShaderEngine.hpp" + + +void projectMSDL::audioInputCallbackF32(void *userdata, unsigned char *stream, int len) { + projectMSDL *app = (projectMSDL *) userdata; + // printf("LEN: %i\n", len); + // stream is (i think) samples*channels floats (native byte order) of len BYTES + if (app->audioChannelsCount == 1) + app->pcm()->addPCMfloat((float *)stream, len/sizeof(float)); + else if (app->audioChannelsCount == 2) + app->pcm()->addPCMfloat_2ch((float *)stream, len/sizeof(float)); + else { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "Multichannel audio not supported"); + SDL_Quit(); + } +} + +void projectMSDL::audioInputCallbackS16(void *userdata, unsigned char *stream, int len) { + // printf("LEN: %i\n", len); + projectMSDL *app = (projectMSDL *) userdata; + short pcm16[2][512]; + + for (int i = 0; i < 512; i++) { + for (int j = 0; j < app->audioChannelsCount; j++) { + pcm16[j][i] = stream[i+j]; + } + } + app->pcm()->addPCM16(pcm16); +} + +SDL_AudioDeviceID projectMSDL::selectAudioInput(int _count) { + // TODO: implement some sort of UI allowing the user to select which audio input device they would like to use + + + // ask the user which capture device to use + // printf("Please select which audio input to use:\n"); + printf("Detected devices:\n"); + for (int i = 0; i < _count; i++) { + printf(" %i: 🎤%s\n", i, SDL_GetAudioDeviceName(i, true)); + } + + return 0; +} + +int projectMSDL::openAudioInput() { + // get audio driver name (static) + const char* driver_name = SDL_GetCurrentAudioDriver(); + SDL_Log("Using audio driver: %s\n", driver_name); + + // get audio input device + unsigned int i, count2 = SDL_GetNumAudioDevices(true); // capture, please + if (count2 == 0) { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio capture devices found"); + SDL_Quit(); + } + for (i = 0; i < count2; i++) { + SDL_Log("Found audio capture device %d: %s", i, SDL_GetAudioDeviceName(i, true)); + } + + SDL_AudioDeviceID selectedAudioDevice = 0; // device to open + if (count2 > 1) { + // need to choose which input device to use + selectedAudioDevice = selectAudioInput(count2); + if (selectedAudioDevice > count2) { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio input device specified."); + SDL_Quit(); + } + } + + // params for audio input + SDL_AudioSpec want, have; + + // requested format + // https://wiki.libsdl.org/SDL_AudioSpec#Remarks + SDL_zero(want); + want.freq = 44100; + want.format = AUDIO_F32; // float + want.channels = 2; + want.samples = PCM::maxsamples; + want.callback = projectMSDL::audioInputCallbackF32; + want.userdata = this; + + audioDeviceID = SDL_OpenAudioDevice(SDL_GetAudioDeviceName(selectedAudioDevice, true), true, &want, &have, 0); + + if (audioDeviceID == 0) { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "Failed to open audio capture device: %s", SDL_GetError()); + SDL_Quit(); + } + + // read characteristics of opened capture device + SDL_Log("Opened audio capture device index=%i devId=%i: %s", selectedAudioDevice, audioDeviceID, SDL_GetAudioDeviceName(selectedAudioDevice, true)); + SDL_Log("Samples: %i, frequency: %i, channels: %i, format: %i", have.samples, have.freq, have.channels, have.format); + audioChannelsCount = have.channels; + audioSampleRate = have.freq; + audioSampleCount = have.samples; + audioFormat = have.format; + audioInputDevice = audioDeviceID; + return 1; +} + +void projectMSDL::beginAudioCapture() { + // allocate a buffer to store PCM data for feeding in + SDL_PauseAudioDevice(audioDeviceID, false); +} + +void projectMSDL::endAudioCapture() { + SDL_PauseAudioDevice(audioDeviceID, true); +} + +void projectMSDL::maximize() { + SDL_DisplayMode dm; + if (SDL_GetDesktopDisplayMode(0, &dm) != 0) { + SDL_Log("SDL_GetDesktopDisplayMode failed: %s", SDL_GetError()); + return; + } + + SDL_SetWindowSize(win, dm.w, dm.h); + resize(dm.w, dm.h); +} + +void projectMSDL::toggleFullScreen() { + maximize(); + if (isFullScreen) { + SDL_SetWindowFullscreen(win, 0); + isFullScreen = false; + SDL_ShowCursor(true); + } else { + SDL_ShowCursor(false); + SDL_SetWindowFullscreen(win, SDL_WINDOW_FULLSCREEN); + isFullScreen = true; + } +} + +void projectMSDL::keyHandler(SDL_Event *sdl_evt) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + SDL_Keymod sdl_mod = (SDL_Keymod) sdl_evt->key.keysym.mod; + SDL_Keycode sdl_keycode = sdl_evt->key.keysym.sym; + + // handle keyboard input (for our app first, then projectM) + switch (sdl_keycode) { + case SDLK_q: + if (sdl_mod & KMOD_LGUI || sdl_mod & KMOD_RGUI || sdl_mod & KMOD_LCTRL) { + // cmd/ctrl-q = quit + done = 1; + return; + } + break; + + + case SDLK_f: + if (sdl_mod & KMOD_LGUI || sdl_mod & KMOD_RGUI || sdl_mod & KMOD_LCTRL) { + // command-f: fullscreen + // Stereo requires fullscreen +#if !STEREOSCOPIC_SBS + toggleFullScreen(); +#endif + return; // handled + } + break; + case SDLK_LEFT: + // selectPrevious(true); + break; + case SDLK_RIGHT: + // selectNext(true); + break; + case SDLK_UP: + break; + case SDLK_DOWN: + break; + + case SDLK_F3: + break; + + + case SDLK_SPACE: + setPresetLock( + !isPresetLocked() + ); + break; + case SDLK_F1: + case SDLK_ESCAPE: + + // exit(1); + // show help with other keys + sdl_keycode = SDLK_F1; + break; + case SDLK_DELETE: + /* + try { + if (selectedPresetIndex(index)) { + DeleteFile( + LPCSTR( + getPresetURL(index).c_str() + ) + ); + } + } + catch (const std::exception & e) { + printf("Delete failed"); + } + */ + break; + case SDLK_RETURN: + /* + try { + if (selectedPresetIndex(index)) { + CopyFile( + LPCSTR( + app->getPresetURL(index).c_str() + ), + LPCTSTR(L"C:\\"), + false + ); + } + } + catch (const std::exception & e) { + printf("Delete failed"); + } + */ + break; + } + + // translate into projectM codes and perform default projectM handler + evt = sdl2pmEvent(sdl_evt); + key = sdl2pmKeycode(sdl_keycode); + mod = sdl2pmModifier(sdl_mod); + key_handler(evt, key, mod); +} + +void projectMSDL::addFakePCM() { + int i; + short pcm_data[2][512]; + /** Produce some fake PCM data to stuff into projectM */ + for ( i = 0 ; i < 512 ; i++ ) { + if ( i % 2 == 0 ) { + pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + } else { + pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); + } + if ( i % 2 == 1 ) { + pcm_data[0][i] = -pcm_data[0][i]; + pcm_data[1][i] = -pcm_data[1][i]; + } + } + + /** Add the waveform data */ + pcm()->addPCM16(pcm_data); +} + +void projectMSDL::resize(unsigned int width_, unsigned int height_) { + width = width_; + height = height_; + projectM_resetGL(width, height); +} + +void projectMSDL::pollEvent() { + SDL_Event evt; + + while (SDL_PollEvent(&evt)) + { + switch (evt.type) { + case SDL_WINDOWEVENT: + switch (evt.window.event) { + case SDL_WINDOWEVENT_RESIZED: + resize(evt.window.data1, evt.window.data2); + break; + } + break; + case SDL_KEYDOWN: + keyHandler(&evt); + break; + case SDL_QUIT: + done = true; + break; + } + } +} + +void projectMSDL::renderFrame() { + glClearColor( 0.0, 0.0, 0.0, 0.0 ); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + projectM::renderFrame(); + + if (renderToTexture) { + renderTexture(); + } + + SDL_GL_SwapWindow(win); +} + +projectMSDL::projectMSDL(Settings settings, int flags) : projectM(settings, flags) { + width = getWindowWidth(); + height = getWindowHeight(); + done = 0; + isFullScreen = false; +} + +projectMSDL::projectMSDL(std::string config_file, int flags) : projectM(config_file, flags) { + width = getWindowWidth(); + height = getWindowHeight(); + done = 0; + isFullScreen = false; +} + +void projectMSDL::init(SDL_Window *window, SDL_GLContext *_glCtx, const bool _renderToTexture) { + win = window; + glCtx = _glCtx; + projectM_resetGL(width, height); + + // are we rendering to a texture? + renderToTexture = _renderToTexture; + if (renderToTexture) { + programID = ShaderEngine::CompileShaderProgram(ShaderEngine::v2f_c4f_t2f_vert, ShaderEngine::v2f_c4f_t2f_frag, "v2f_c4f_t2f"); + textureID = projectM::initRenderToTexture(); + + float points[16] = { + -0.8, -0.8, + 0.0, 0.0, + + -0.8, 0.8, + 0.0, 1.0, + + 0.8, -0.8, + 1.0, 0.0, + + 0.8, 0.8, + 1.0, 1.0, + }; + + glGenBuffers(1, &m_vbo); + glBindBuffer(GL_ARRAY_BUFFER, m_vbo); + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 16, points, GL_DYNAMIC_DRAW); + + glGenVertexArrays(1, &m_vao); + glBindVertexArray(m_vao); + + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)0); // Positions + + glDisableVertexAttribArray(1); + + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(float)*4, (void*)(sizeof(float)*2)); // Textures + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + } +} + + +std::string projectMSDL::getActivePresetName() +{ + unsigned int index = 0; + if (selectedPresetIndex(index)) { + return getPresetName(index); + } + return std::string(); +} + + +void projectMSDL::renderTexture() { + static int frame = 0; + frame++; + + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glViewport(0, 0, getWindowWidth(), getWindowHeight()); + + glUseProgram(programID); + + glUniform1i(glGetUniformLocation(programID, "texture_sampler"), 0); + + glm::mat4 mat_proj = glm::frustum(-1.0f, 1.0f, -1.0f, 1.0f, 2.0f, 10.0f); + + glEnable(GL_DEPTH_TEST); + + glm::mat4 mat_model = glm::mat4(1.0f); + mat_model = glm::translate(mat_model, glm::vec3(cos(frame*0.023), + cos(frame*0.017), + -5+sin(frame*0.022)*2)); + mat_model = glm::rotate(mat_model, glm::radians((float) sin(frame*0.0043)*360), + glm::vec3(sin(frame*0.0017), + sin(frame *0.0032), + 1)); + + glm::mat4 mat_transf = glm::mat4(1.0f); + mat_transf = mat_proj * mat_model; + + glUniformMatrix4fv(glGetUniformLocation(programID, "vertex_transformation"), 1, GL_FALSE, glm::value_ptr(mat_transf)); + + glActiveTexture(GL_TEXTURE0); + + glBindTexture(GL_TEXTURE_2D, textureID); + + glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); + + glBindVertexArray(m_vao); + + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + + glBindVertexArray(0); + + glDisable(GL_DEPTH_TEST); +} + +void projectMSDL::presetSwitchedEvent(bool isHardCut, size_t index) const { + std::string presetName = getPresetName(index); + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Displaying preset: %s\n", presetName.c_str()); +} diff --git a/src/projectM-sdl/pmSDL.hpp b/src/projectM-sdl/pmSDL.hpp new file mode 100644 index 0000000000..4e6deca86d --- /dev/null +++ b/src/projectM-sdl/pmSDL.hpp @@ -0,0 +1,136 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2019 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +* projectM-sdl +* This is an implementation of projectM using libSDL2 +* +* pmSDL.hpp +* Authors: Created by Mischa Spiegelmock on 2017-09-18. +* +*/ + + +#ifndef pmSDL_hpp +#define pmSDL_hpp + + +// Disable LOOPBACK and FAKE audio to enable microphone input +#ifdef WIN32 +#define WASAPI_LOOPBACK 1 +#endif /** WIN32 */ +#define FAKE_AUDIO 0 +// ---------------------------- +#define TEST_ALL_PRESETS 0 +#define STEREOSCOPIC_SBS 0 + +#include "projectM-opengl.h" +#include +#include +#include +#include + + +#ifdef WASAPI_LOOPBACK +#include +#include +#include +#include +#include +#include +#include + +#define LOG(format, ...) wprintf(format L"\n", __VA_ARGS__) +#define ERR(format, ...) LOG(L"Error: " format, __VA_ARGS__) + +#endif /** WASAPI_LOOPBACK */ + + + +#ifdef WIN32 +#define SDL_MAIN_HANDLED +#include "SDL.h" +#else +#include +#endif /** WIN32 */ + +// DATADIR_PATH should be set by the root Makefile if this is being +// built with autotools. +#ifndef DATADIR_PATH + #ifdef DEBUG + #define DATADIR_PATH "." + #warning "DATADIR_PATH is not defined - falling back to ./" + #else + #define DATADIR_PATH "/usr/local/share/projectM" +#ifndef WIN32 + #warning "DATADIR_PATH is not defined - falling back to /usr/local/share/projectM" +#endif /** WIN32 */ + #endif +#endif + +class projectMSDL : public projectM { +public: + + + bool done; + + projectMSDL(Settings settings, int flags); + projectMSDL(std::string config_file, int flags); + void init(SDL_Window *window, SDL_GLContext *glCtx, const bool renderToTexture = false); + int openAudioInput(); + void beginAudioCapture(); + void endAudioCapture(); + void toggleFullScreen(); + void resize(unsigned int width, unsigned int height); + void renderFrame(); + void pollEvent(); + void maximize(); + std::string getActivePresetName(); + void addFakePCM(); + + virtual void presetSwitchedEvent(bool isHardCut, size_t index) const; + +private: + SDL_Window *win; + SDL_GLContext *glCtx; + bool isFullScreen; + SDL_AudioDeviceID audioInputDevice; + unsigned int width, height; + bool renderToTexture; + GLuint programID = 0; + GLuint m_vbo = 0; + GLuint m_vao = 0; + GLuint textureID = 0; + + // audio input device characteristics + unsigned short audioChannelsCount; + unsigned short audioSampleRate; + unsigned short audioSampleCount; + SDL_AudioFormat audioFormat; + SDL_AudioDeviceID audioDeviceID; + + static void audioInputCallbackF32(void *userdata, unsigned char *stream, int len); + static void audioInputCallbackS16(void *userdata, unsigned char *stream, int len); + + void keyHandler(SDL_Event *); + SDL_AudioDeviceID selectAudioInput(int _count); + void renderTexture(); +}; + + +#endif /* pmSDL_hpp */ diff --git a/src/projectM-engine/presets b/src/projectM-sdl/presets similarity index 100% rename from src/projectM-engine/presets rename to src/projectM-sdl/presets diff --git a/src/projectM-sdl/projectM-SDL/AppIcon.icns b/src/projectM-sdl/projectM-SDL/AppIcon.icns new file mode 100644 index 0000000000..eb22a4527b Binary files /dev/null and b/src/projectM-sdl/projectM-SDL/AppIcon.icns differ diff --git a/src/projectM-sdl/projectM-SDL/Info.plist b/src/projectM-sdl/projectM-SDL/Info.plist new file mode 100644 index 0000000000..b449d485f2 --- /dev/null +++ b/src/projectM-sdl/projectM-SDL/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + SDLprojectM + CFBundleIconFile + AppIcon + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + projectM SDL.app + CFBundlePackageType + BNDL + CFBundleShortVersionString + 3.1.1 + CFBundleVersion + 1 + NSMicrophoneUsageDescription + This app visualizes sound. + NSHumanReadableCopyright + LGPL + + diff --git a/src/projectM-sdl/projectMSDL-pkg.plist b/src/projectM-sdl/projectMSDL-pkg.plist new file mode 100644 index 0000000000..d294101f8b --- /dev/null +++ b/src/projectM-sdl/projectMSDL-pkg.plist @@ -0,0 +1,14 @@ + + + + + + BundleOverwriteAction + upgrade + RootRelativeBundlePath + /Applications/projectM SDL.app + BundleIsVersionChecked + + + + diff --git a/src/projectM-sdl/projectM_SDL_main.cpp b/src/projectM-sdl/projectM_SDL_main.cpp new file mode 100644 index 0000000000..769132ceb6 --- /dev/null +++ b/src/projectM-sdl/projectM_SDL_main.cpp @@ -0,0 +1,474 @@ +/** +* projectM -- Milkdrop-esque visualisation SDK +* Copyright (C)2003-2019 projectM Team +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* See 'LICENSE.txt' included within this release +* +* projectM-sdl +* This is an implementation of projectM using libSDL2 +* +* main.cpp +* Authors: Created by Mischa Spiegelmock on 6/3/15. +* +* +* RobertPancoast77@gmail.com : +* experimental Stereoscopic SBS driver functionality +* WASAPI looback implementation +* +* +*/ + +#include "pmSDL.hpp" + +#if OGL_DEBUG +void DebugLog(GLenum source, + GLenum type, + GLuint id, + GLenum severity, + GLsizei length, + const GLchar* message, + const void* userParam) { + + /*if (type != GL_DEBUG_TYPE_OTHER)*/ + { + std::cerr << " -- \n" << "Type: " << + type << "; Source: " << + source <<"; ID: " << id << "; Severity: " << + severity << "\n" << message << "\n"; + } + } +#endif + +// return path to config file to use +std::string getConfigFilePath(std::string datadir_path) { + struct stat sb; + const char *path = datadir_path.c_str(); + + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Looking for configuration file in data dir: %s.\n", path); + + // check if datadir exists. + // it should exist if this application was installed. if not, assume we're developing it and use currect directory + if (stat(path, &sb) != 0) { + SDL_LogWarn(SDL_LOG_CATEGORY_ERROR, "Could not open datadir path %s\n", path); + } + + std::string configFilePath = path; + configFilePath += "/config.inp"; + + // check if config file exists + if (stat(configFilePath.c_str(), &sb) != 0) { + SDL_LogWarn(SDL_LOG_CATEGORY_ERROR, "No config file %s found. Using development settings.\n", configFilePath.c_str()); + return ""; + } + + return configFilePath; +} + + +// ref https://blogs.msdn.microsoft.com/matthew_van_eerde/2008/12/16/sample-wasapi-loopback-capture-record-what-you-hear/ +#ifdef WASAPI_LOOPBACK + +HRESULT get_default_device(IMMDevice **ppMMDevice) { + HRESULT hr = S_OK; + IMMDeviceEnumerator *pMMDeviceEnumerator; + + // activate a device enumerator + hr = CoCreateInstance( + __uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, + __uuidof(IMMDeviceEnumerator), + (void**)&pMMDeviceEnumerator + ); + if (FAILED(hr)) { + ERR(L"CoCreateInstance(IMMDeviceEnumerator) failed: hr = 0x%08x", hr); + return hr; + } + + // get the default render endpoint + hr = pMMDeviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, ppMMDevice); + if (FAILED(hr)) { + ERR(L"IMMDeviceEnumerator::GetDefaultAudioEndpoint failed: hr = 0x%08x", hr); + return hr; + } + + return S_OK; +} + +#endif /** WASAPI_LOOPBACK */ + +int main(int argc, char *argv[]) { +#ifndef WIN32 +srand((int)(time(NULL))); +#endif + +#ifdef WASAPI_LOOPBACK + HRESULT hr; + + hr = CoInitialize(NULL); + if (FAILED(hr)) { + ERR(L"CoInitialize failed: hr = 0x%08x", hr); + } + + + IMMDevice *pMMDevice(NULL); + // open default device if not specified + if (NULL == pMMDevice) { + hr = get_default_device(&pMMDevice); + if (FAILED(hr)) { + return hr; + } + } + + bool bInt16 = false; + UINT32 foo = 0; + PUINT32 pnFrames = &foo; + + // activate an IAudioClient + IAudioClient *pAudioClient; + hr = pMMDevice->Activate( + __uuidof(IAudioClient), + CLSCTX_ALL, NULL, + (void**)&pAudioClient + ); + if (FAILED(hr)) { + ERR(L"IMMDevice::Activate(IAudioClient) failed: hr = 0x%08x", hr); + return hr; + } + + // get the default device periodicity + REFERENCE_TIME hnsDefaultDevicePeriod; + hr = pAudioClient->GetDevicePeriod(&hnsDefaultDevicePeriod, NULL); + if (FAILED(hr)) { + ERR(L"IAudioClient::GetDevicePeriod failed: hr = 0x%08x", hr); + return hr; + } + + // get the default device format + WAVEFORMATEX *pwfx; + hr = pAudioClient->GetMixFormat(&pwfx); + if (FAILED(hr)) { + ERR(L"IAudioClient::GetMixFormat failed: hr = 0x%08x", hr); + return hr; + } + + if (bInt16) { + // coerce int-16 wave format + // can do this in-place since we're not changing the size of the format + // also, the engine will auto-convert from float to int for us + switch (pwfx->wFormatTag) { + case WAVE_FORMAT_IEEE_FLOAT: + pwfx->wFormatTag = WAVE_FORMAT_PCM; + pwfx->wBitsPerSample = 16; + pwfx->nBlockAlign = pwfx->nChannels * pwfx->wBitsPerSample / 8; + pwfx->nAvgBytesPerSec = pwfx->nBlockAlign * pwfx->nSamplesPerSec; + break; + + case WAVE_FORMAT_EXTENSIBLE: + { + // naked scope for case-local variable + PWAVEFORMATEXTENSIBLE pEx = reinterpret_cast(pwfx); + if (IsEqualGUID(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, pEx->SubFormat)) { + pEx->SubFormat = KSDATAFORMAT_SUBTYPE_PCM; + pEx->Samples.wValidBitsPerSample = 16; + pwfx->wBitsPerSample = 16; + pwfx->nBlockAlign = pwfx->nChannels * pwfx->wBitsPerSample / 8; + pwfx->nAvgBytesPerSec = pwfx->nBlockAlign * pwfx->nSamplesPerSec; + } + else { + ERR(L"%s", L"Don't know how to coerce mix format to int-16"); + return E_UNEXPECTED; + } + } + break; + + default: + ERR(L"Don't know how to coerce WAVEFORMATEX with wFormatTag = 0x%08x to int-16", pwfx->wFormatTag); + return E_UNEXPECTED; + } + } + + UINT32 nBlockAlign = pwfx->nBlockAlign; + *pnFrames = 0; + + // call IAudioClient::Initialize + // note that AUDCLNT_STREAMFLAGS_LOOPBACK and AUDCLNT_STREAMFLAGS_EVENTCALLBACK + // do not work together... + // the "data ready" event never gets set + // so we're going to do a timer-driven loop + hr = pAudioClient->Initialize( + AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_LOOPBACK, + 0, 0, pwfx, 0 + ); + if (FAILED(hr)) { + ERR(L"pAudioClient->Initialize error"); + return hr; + } + + // activate an IAudioCaptureClient + IAudioCaptureClient *pAudioCaptureClient; + hr = pAudioClient->GetService( + __uuidof(IAudioCaptureClient), + (void**)&pAudioCaptureClient + ); + if (FAILED(hr)) { + ERR(L"pAudioClient->GetService error"); + return hr; + } + + // call IAudioClient::Start + hr = pAudioClient->Start(); + if (FAILED(hr)) { + ERR(L"pAudioClient->Start error"); + return hr; + } + + bool bDone = false; + bool bFirstPacket = true; + UINT32 nPasses = 0; + +#endif /** WASAPI_LOOPBACK */ + +#if UNLOCK_FPS + setenv("vblank_mode", "0", 1); +#endif + + SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO); + + if (! SDL_VERSION_ATLEAST(2, 0, 5)) { + SDL_Log("SDL version 2.0.5 or greater is required. You have %i.%i.%i", SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); + return 1; + } + + // default window size to usable bounds (e.g. minus menubar and dock) + SDL_Rect initialWindowBounds; +#if SDL_VERSION_ATLEAST(2, 0, 5) + // new and better + SDL_GetDisplayUsableBounds(0, &initialWindowBounds); +#else + SDL_GetDisplayBounds(0, &initialWindowBounds); +#endif + int width = initialWindowBounds.w; + int height = initialWindowBounds.h; + +#ifdef USE_GLES + // use GLES 2.0 (this may need adjusting) + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); + +#else + // Disabling compatibility profile + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); + +#endif + + + SDL_Window *win = SDL_CreateWindow("projectM", 0, 0, width, height, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + + +#if STEREOSCOPIC_SBS + + // enable stereo + if (SDL_GL_SetAttribute(SDL_GL_STEREO, 1) == 0) + { + SDL_Log("SDL_GL_STEREO: true"); + } + + // requires fullscreen mode + SDL_ShowCursor(false); + SDL_SetWindowFullscreen(win, SDL_WINDOW_FULLSCREEN); + +#endif + + + SDL_GLContext glCtx = SDL_GL_CreateContext(win); + + + SDL_Log("GL_VERSION: %s", glGetString(GL_VERSION)); + SDL_Log("GL_SHADING_LANGUAGE_VERSION: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); + SDL_Log("GL_VENDOR: %s", glGetString(GL_VENDOR)); + + SDL_SetWindowTitle(win, "projectM Visualizer"); + + projectMSDL *app; + + std::string base_path = DATADIR_PATH; + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Using data directory: %s\n", base_path.c_str()); + + // load configuration file + std::string configFilePath = getConfigFilePath(base_path); + + if (! configFilePath.empty()) { + // found config file, use it + app = new projectMSDL(configFilePath, 0); + SDL_Log("Using config from %s", configFilePath.c_str()); + } else { + base_path = SDL_GetBasePath(); + SDL_Log("Config file not found, using built-in settings. Data directory=%s\n", base_path.c_str()); + + float heightWidthRatio = (float)height / (float)width; + projectM::Settings settings; + settings.windowWidth = width; + settings.windowHeight = height; + settings.meshX = 400; + settings.meshY = settings.meshX * heightWidthRatio; + settings.fps = 60; + settings.smoothPresetDuration = 3; // seconds + settings.presetDuration = 22; // seconds + settings.beatSensitivity = 0.8; + settings.aspectCorrection = 1; + settings.shuffleEnabled = 1; + settings.softCutRatingsEnabled = 1; // ??? + // get path to our app, use CWD or resource dir for presets/fonts/etc + settings.presetURL = base_path + "presets"; +// settings.presetURL = base_path + "presets/presets_shader_test"; + settings.menuFontURL = base_path + "fonts/Vera.ttf"; + settings.titleFontURL = base_path + "fonts/Vera.ttf"; + // init with settings + app = new projectMSDL(settings, 0); + } + app->init(win, &glCtx); + +#if STEREOSCOPIC_SBS + app->toggleFullScreen(); +#endif + +#if OGL_DEBUG && !USE_GLES + glEnable(GL_DEBUG_OUTPUT); + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); + glDebugMessageCallback(DebugLog, NULL); +#endif + +#if !FAKE_AUDIO && !WASAPI_LOOPBACK + // get an audio input device + if (app->openAudioInput()) + app->beginAudioCapture(); +#endif + +#if TEST_ALL_PRESETS + uint buildErrors = 0; + for(unsigned int i = 0; i < app->getPlaylistSize(); i++) { + std::cout << i << "\t" << app->getPresetName(i) << std::endl; + app->selectPreset(i); + if (app->getErrorLoadingCurrentPreset()) { + buildErrors++; + } + } + + if (app->getPlaylistSize()) { + fprintf(stdout, "Preset loading errors: %d/%d [%d%%]\n", buildErrors, app->getPlaylistSize(), (buildErrors*100) / app->getPlaylistSize()); + } + + delete app; + + return PROJECTM_SUCCESS; +#endif + +#if UNLOCK_FPS + int32_t frame_count = 0; + struct timespec now; + clock_gettime(CLOCK_MONOTONIC_RAW, &now); + int64_t start = ( ((int64_t)now.tv_sec * 1000L) + (now.tv_nsec / 1000000L) ); +#endif + + // standard main loop + int fps = app->settings().fps; + printf("fps: %d\n", fps); + if (fps <= 0) + fps = 60; + const Uint32 frame_delay = 1000/fps; + Uint32 last_time = SDL_GetTicks(); + while (! app->done) { + app->renderFrame(); +#if FAKE_AUDIO + app->addFakePCM(); +#endif +#ifdef WASAPI_LOOPBACK + // drain data while it is available + nPasses++; + UINT32 nNextPacketSize; + for ( + hr = pAudioCaptureClient->GetNextPacketSize(&nNextPacketSize); + SUCCEEDED(hr) && nNextPacketSize > 0; + hr = pAudioCaptureClient->GetNextPacketSize(&nNextPacketSize) + ) { + // get the captured data + BYTE *pData; + UINT32 nNumFramesToRead; + DWORD dwFlags; + + hr = pAudioCaptureClient->GetBuffer( + &pData, + &nNumFramesToRead, + &dwFlags, + NULL, + NULL + ); + if (FAILED(hr)) { + return hr; + } + + LONG lBytesToWrite = nNumFramesToRead * nBlockAlign; + + /** Add the waveform data */ + app->pcm()->addPCMfloat((float *)pData, nNumFramesToRead); + + *pnFrames += nNumFramesToRead; + + hr = pAudioCaptureClient->ReleaseBuffer(nNumFramesToRead); + if (FAILED(hr)) { + return hr; + } + + bFirstPacket = false; + } + + if (FAILED(hr)) { + return hr; + } + +#endif /** WASAPI_LOOPBACK */ + +#if UNLOCK_FPS + frame_count++; + clock_gettime(CLOCK_MONOTONIC_RAW, &now); + if (( ((int64_t)now.tv_sec * 1000L) + (now.tv_nsec / 1000000L) ) - start > 5000) { + SDL_GL_DeleteContext(glCtx); + delete(app); + fprintf(stdout, "Frames[%d]\n", frame_count); + exit(0); + } +#else + app->pollEvent(); + Uint32 elapsed = SDL_GetTicks() - last_time; + if (elapsed < frame_delay) + SDL_Delay(frame_delay - elapsed); + last_time = SDL_GetTicks(); +#endif + } + + SDL_GL_DeleteContext(glCtx); +#if !FAKE_AUDIO && !WASAPI_LOOPBACK + app->endAudioCapture(); +#endif + delete app; + + return PROJECTM_SUCCESS; +} + + diff --git a/src/projectM-sdlvis/CVS/Entries b/src/projectM-sdlvis/CVS/Entries deleted file mode 100755 index cd64b0c39a..0000000000 --- a/src/projectM-sdlvis/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/Info.plist/1.1.1.1/Mon Oct 4 12:56:00 2004// -/PkgInfo/1.1.1.1/Mon Oct 4 12:56:00 2004// -/projectM.icns/1.1.1.1/Mon Oct 4 12:56:00 2004/-kb/ -/projectMvis.dsp/1.1.1.1/Mon Oct 4 12:56:00 2004// -/Makefile.macos/1.3/Fri Nov 12 15:43:56 2004// -/projectMvis.c/1.8/Fri Nov 12 15:44:10 2004// -D diff --git a/src/projectM-sdlvis/CVS/Repository b/src/projectM-sdlvis/CVS/Repository deleted file mode 100755 index 374c92c731..0000000000 --- a/src/projectM-sdlvis/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/projectMvis diff --git a/src/projectM-sdlvis/CVS/Root b/src/projectM-sdlvis/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-sdlvis/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-sdlvis/Info.plist b/src/projectM-sdlvis/Info.plist deleted file mode 100755 index 0149b4a902..0000000000 --- a/src/projectM-sdlvis/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleIdentifier - org.projectM.projectMvis - CFBundleDevelopmentRegion - English - CFBundleExecutable - projectMvis - CFBundleIconFile - projectM.icns - CFBundleName - projectMvis - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 0.95 - CFBundleShortVersionString - 0.95 - CFBundleGetInfoString - projectMvis 0.95, (c)2004 projectM Team - CFBundleLongVersionString - projectMvis 0.95, (c)2004 projectM Team - NSHumanReadableCopyright - Copyright (c)2004 projectM Team - LSRequiresCarbon - - CSResourcesFileMapped - - - diff --git a/src/projectM-sdlvis/Makefile b/src/projectM-sdlvis/Makefile deleted file mode 100755 index 6df24f7c9d..0000000000 --- a/src/projectM-sdlvis/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# -# -# - -SUBDIRS= -RANLIB=ranlib -INCLUDES=-I. -I.. -I../projectm -I/usr/include/xmms -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DHAVE_OPENGL -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/SDL -DEFINES= -DLINUX -DHAVE_OPENGL -DHAVE_CONFIG_H -D_THREAD_SAFE -CFLAGS=-O2 -#CFLAGS=-g -LIBRARIES= -L/usr/lib -lglib -L/usr/lib -lSDL -lGL -lGLU - -LD_FLAGS=-lprojectM -L../projectM -L/usr/local/lib $(LIBRARIES) - -SRCS=\ -projectMvis.cc -OBJS=$(SRCS:.c=.o) - -.SUFFIXES: .c - -all: projectMvis - -### Relinks the executable -projectMvis: $(OBJS) - rm -f projectMvis - $(CC) -o projectMvis $(OBJS) $(LD_FLAGS) - - -$(LIB_TOP): - @( if [ ! -d $(LIB_TOP) ]; then \ - ( mkdir $(LIB_TOP) ) \ - fi ) - -$(OBJS): %.o: %.c - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $*.c -o $*.o - -clean: - rm -f *.o - rm -f projectMvis - -distcln: cln - rm -f config.log - rm -f config.cache - rm -f config.status - -install: - mkdir -p /etc/projectM/fonts - mkdir -p /etc/projectM/presets - cp projectMvis /usr/local/bin/projectMvis - cp -r ../../fonts /etc/projectM - cp -r ../../presets_projectM /etc/projectM - chmod -R 755 /etc/projectM - chmod -R 777 /etc/projectM/presets - diff --git a/src/projectM-sdlvis/Makefile.dist b/src/projectM-sdlvis/Makefile.dist deleted file mode 100644 index 07988392ec..0000000000 --- a/src/projectM-sdlvis/Makefile.dist +++ /dev/null @@ -1,20 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: diff --git a/src/projectM-sdlvis/Makefile.macos b/src/projectM-sdlvis/Makefile.macos deleted file mode 100755 index 42d53c7395..0000000000 --- a/src/projectM-sdlvis/Makefile.macos +++ /dev/null @@ -1,79 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2004 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -SUBDIRS= -RANLIB=ranlib - -INCLUDES=-I. -I.. -I../projectM -I../include -I/usr/local/include \ - -I/System/Library/Frameworks/AGL.framework/Headers \ - -I/System/Library/Frameworks/OpenGL.framework/Headers \ - -I/Developer/Headers/FlatCarbon - -DEFINES= -DMACOS -DHAVE_OPENGL -DHAVE_CONFIG_H -D_THREAD_SAFE -DDEBUG -CFLAGS=-O2 -#CFLAGS=-g -LIBRARIES= -framework QuickTime -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework OpenGL -lSDL -lSDLmain -#LD_FLAGS=-bundle -L/usr/local/lib $(LIBRARIES) -LD_FLAGS=-lprojectm -L../projectm -L/usr/local/lib $(LIBRARIES) - -SRCS=\ -projectMvis.c -OBJS=$(SRCS:.c=.o) - -.SUFFIXES: .c - -all: projectMvis - -### Relinks the executable -projectMvis: $(OBJS) - rm -f projectMvis - $(CC) -o projectMvis $(OBJS) $(LD_FLAGS) - /Developer/Tools/Rez -t APPL Carbon.r -o projectMvis - -$(LIB_TOP): - @( if [ ! -d $(LIB_TOP) ]; then \ - ( mkdir $(LIB_TOP) ) \ - fi ) - -$(OBJS): %.o: %.c - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $*.c -o $*.o - -clean: - rm -f *.o - rm -f projectMvis - -distcln: cln - rm -f config.log - rm -f config.cache - rm -f config.status - -bundle: projectMvis - rm -rf projectMvis.app - mkdir -p projectMvis.app/Contents - mkdir -p projectMvis.app/Contents/MacOS - mkdir -p projectMvis.app/Contents/Resources - cp projectMvis projectMvis.app/Contents/MacOS/projectMvis - cp Info.plist projectMvis.app/Contents - cp projectM.icns projectMvis.app/Contents/Resources/projectM.icns - cp -r ../../fonts projectMvis.app/Contents/Resources - cp -r ../../presets projectMvis.app/Contents/Resources - -image: bundle - rm -f projectMvis.dmg - hdiutil create -srcfolder projectMvis.app projectMvis.dmg diff --git a/src/projectM-sdlvis/PkgInfo b/src/projectM-sdlvis/PkgInfo deleted file mode 100755 index 791cf4dff1..0000000000 --- a/src/projectM-sdlvis/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -hvplhook \ No newline at end of file diff --git a/src/projectM-sdlvis/a.out b/src/projectM-sdlvis/a.out deleted file mode 100755 index 7c63d00e78..0000000000 Binary files a/src/projectM-sdlvis/a.out and /dev/null differ diff --git a/src/projectM-sdlvis/projectM.icns b/src/projectM-sdlvis/projectM.icns deleted file mode 100755 index 841b713431..0000000000 Binary files a/src/projectM-sdlvis/projectM.icns and /dev/null differ diff --git a/src/projectM-sdlvis/projectMvis.cc b/src/projectM-sdlvis/projectMvis.cc deleted file mode 100755 index 3c0c52970c..0000000000 --- a/src/projectM-sdlvis/projectMvis.cc +++ /dev/null @@ -1,293 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2004 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ - -#include -#include -#include - -#ifdef DEBUG -FILE *debugFile = NULL; -#endif - -projectM *globalPM = NULL; - -int dumpFrame = 0; -int frameNumber = 0; -GLubyte *fbuffer = NULL; - -extern void addPCM16(short [2][512]); - -void renderLoop( projectM *pm ) { - - int i; - int x, y; - int index; - short pcm_data[2][512]; - - while ( 1 ) { - projectMEvent evt; - projectMKeycode key; - projectMModifier mod; - - /** Process SDL events */ - SDL_Event event; - while ( SDL_PollEvent( &event ) ) { - /** Translate into projectM codes and process */ - evt = sdl2pmEvent( event ); - key = sdl2pmKeycode( event.key.keysym.sym ); - mod = sdl2pmModifier( event.key.keysym.mod ); - if ( evt == PROJECTM_KEYDOWN ) { - pm->key_handler( evt, key, mod ); - } - } - - /** Produce some fake PCM data to stuff into projectM */ - if ( pm->count % 5 == 0 ) { - for ( i = 0 ; i < 512 ; i++ ) { - pcm_data[0][i] = 0; - pcm_data[1][i] = 0; - } - } else { - for ( i = 0 ; i < 512 ; i++ ) { - if ( i % 2 == 0 ) { - pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); - pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); - } else { - pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); - pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,14) ) ); - } - if ( i % 2 == 1 ) { - pcm_data[0][i] = -pcm_data[0][i]; - pcm_data[1][i] = -pcm_data[1][i]; - } - } - } - - /** Add the waveform data */ - //addPCM16( pcm_data ); - - /** Render the new frame */ - pm->renderFrame(); - - if ( dumpFrame ) { - char fname[1024]; - FILE *f; - sprintf( fname, "projectM_%08d.ppm", frameNumber++ ); - f = fopen( fname, "wb" ); - fprintf( f, "P3\n#\n%d %d\n255\n", pm->wvw, pm->wvh ); - glReadPixels( 0, 0, pm->wvw, pm->wvh, GL_RGB, GL_UNSIGNED_BYTE, fbuffer ); - index = 0; - for ( y = 0 ; y < pm->wvh ; y++ ) { - for ( x = 0 ; x < pm->wvw ; x++ ) { - fprintf( f, "%d %d %d ", fbuffer[index++], fbuffer[index++], fbuffer[index++] ); - } - fprintf( f, "\n" ); - } - fclose( f ); - } - - SDL_GL_SwapBuffers(); - } - - printf("Worker thread: Exiting\n"); - } - - -int main( int argc, char *argv[] ) { - - /** Variables */ - int fullscreen = 0; - int width = 784, - height = 784; - SDL_Surface *screen; - -#ifdef DEBUG - int value; - int rgb_size[3]; -#endif - - const SDL_VideoInfo* info = NULL; - int bpp = 0; - /* Flags we will pass into SDL_SetVideoMode. */ - int flags = 0; - -#ifdef DEBUG -#ifdef WIN32 - /** Init debug */ - debugFile = fopen( "c:\\projectMvis.txt", "wb" ); -#else - debugFile = fopen( "/tmp/projectMvis.txt", "wb" ); -#endif /** WIN32 */ -#endif /** DEBUG */ - - /** Allocate the SDL windows */ - /* Information about the current video settings. */ - /* First, initialize SDL's video subsystem. */ - if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) { - /* Failed, exit. */ -#ifdef DEBUG - fprintf( debugFile, "Video initialization failed: %s\n", - SDL_GetError( ) ); -#endif - //projectM_vtable.disable_plugin (&projectM_vtable); - return PROJECTM_ERROR; - - } - - /* Let's get some video information. */ - info = SDL_GetVideoInfo( ); - if( !info ) { - /* This should probably never happen. */ -#ifdef DEBUG - fprintf( debugFile, "Video query failed: %s\n", - SDL_GetError( ) ); -#endif - // projectM_vtable.disable_plugin (&projectM_vtable); - return PROJECTM_ERROR; - } - - bpp = info->vfmt->BitsPerPixel; - -// SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 ); -// SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 ); -// SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 ); - - //SDL_GL_SetAttribute( SDL_GL_ACCUM_RED_SIZE, 8 ); - // SDL_GL_SetAttribute( SDL_GL_ACCUM_GREEN_SIZE, 8 ); - // SDL_GL_SetAttribute( SDL_GL_ACCUM_BLUE_SIZE, 8 ); - SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8 ); - SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 ); - SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); - - if (fullscreen==0) - flags = SDL_OPENGL | SDL_HWSURFACE; - else flags = SDL_OPENGL | SDL_HWSURFACE |SDL_FULLSCREEN; - -// w = 512; h = 512; bpp = 16; -#ifdef DEBUG -fprintf( debugFile, "pre SDL_SetVideoMode()\n" ); -#endif - screen = SDL_SetVideoMode( width, height, bpp, flags ) ; -#ifdef DEBUG -fprintf( debugFile, "post SDL_SetVideoMode()\n" ); -#endif - - - if(screen == NULL ) { - /* - * This could happen for a variety of reasons, - * including DISPLAY not being set, the specified - * resolution not being available, etc. - */ -#ifdef DEBUG - fprintf( debugFile, "Video mode set failed: %s\n", - SDL_GetError( ) ); -#endif - - // projectM_vtable.disable_plugin (&projectM_vtable); - return PROJECTM_ERROR; - } - -#ifdef DEBUG - fprintf(debugFile, "Screen BPP: %d\n", SDL_GetVideoSurface()->format->BitsPerPixel); - fprintf(debugFile, "\n"); - fprintf( debugFile, "Vendor : %s\n", glGetString( GL_VENDOR ) ); - fprintf( debugFile, "Renderer : %s\n", glGetString( GL_RENDERER ) ); - fprintf( debugFile, "Version : %s\n", glGetString( GL_VERSION ) ); - fprintf( debugFile, "Extensions : %s\n", glGetString( GL_EXTENSIONS ) ); - fprintf(debugFile, "\n"); - - rgb_size[0] = 8; - rgb_size[1] = 8; - rgb_size[2] = 8; - SDL_GL_GetAttribute( SDL_GL_RED_SIZE, &value ); - fprintf( debugFile, "SDL_GL_RED_SIZE: requested %d, got %d\n", rgb_size[0],value); - SDL_GL_GetAttribute( SDL_GL_GREEN_SIZE, &value ); - fprintf( debugFile, "SDL_GL_GREEN_SIZE: requested %d, got %d\n", rgb_size[1],value); - SDL_GL_GetAttribute( SDL_GL_BLUE_SIZE, &value ); - fprintf( debugFile, "SDL_GL_BLUE_SIZE: requested %d, got %d\n", rgb_size[2],value); - SDL_GL_GetAttribute( SDL_GL_DEPTH_SIZE, &value ); - fprintf( debugFile, "SDL_GL_DEPTH_SIZE: requested %d, got %d\n", bpp, value ); - SDL_GL_GetAttribute( SDL_GL_DOUBLEBUFFER, &value ); - fprintf( debugFile, "SDL_GL_DOUBLEBUFFER: requested 1, got %d\n", value ); -#ifdef PANTS - if ( fsaa ) { - SDL_GL_GetAttribute( SDL_GL_MULTISAMPLEBUFFERS, &value ); - printf( "SDL_GL_MULTISAMPLEBUFFERS: requested 1, got %d\n", value ); - SDL_GL_GetAttribute( SDL_GL_MULTISAMPLESAMPLES, &value ); - printf( "SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa, value ); - } -#endif -#endif - - /** Setup some window stuff */ - SDL_WM_SetCaption( PROJECTM_TITLE, NULL ); - - /** Initialise projectM */ - globalPM = (projectM *)malloc( sizeof( projectM ) ); - globalPM->projectM_reset(); - - globalPM->fullscreen = 0; -// globalPM->renderTarget->texsize = 1024; -// globalPM->renderTarget->context1 = (void *)aglGetCurrentContext(); -#ifdef DEBUG22 - if ( debugFile != NULL ) { - fprintf( debugFile, "current context: %X\n", - globalPM->renderTarget->context1 ); - fflush( debugFile ); - } -#endif - -#ifdef MACOS - globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->fontURL, "../../fonts" ); - - globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->presetURL, "../../presets" ); -#endif -#ifdef WIN32 - globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->fontURL, "c:\\tmp\\projectM\\fonts" ); - - globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->presetURL, "c:\\tmp\\projectM\\presets_test" ); -#endif -#ifdef LINUX - globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->fontURL, "/etc/projectM/fonts" ); - - globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 ); - strcpy( globalPM->presetURL, "/etc/projectM/presets" ); -#endif - globalPM->projectM_init(); - - globalPM->projectM_resetGL( width, height ); - - /** Allocate the buffer for frame dumping, if applicable */ - if ( dumpFrame ) { - fbuffer = (GLubyte *)malloc( sizeof( GLubyte ) * globalPM->wvw * globalPM->wvh * 3 ); - } - - /** Initialise the thread */ - renderLoop( globalPM ); - - return PROJECTM_SUCCESS; - } diff --git a/src/projectM-sdlvis/projectMvis.dsp b/src/projectM-sdlvis/projectMvis.dsp deleted file mode 100755 index 5bf94dcf2b..0000000000 --- a/src/projectM-sdlvis/projectMvis.dsp +++ /dev/null @@ -1,106 +0,0 @@ -# Microsoft Developer Studio Project File - Name="projectMvis" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 - -CFG=projectMvis - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "projectMvis.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "projectMvis.mak" CFG="projectMvis - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "projectMvis - Win32 Release" (based on "Win32 (x86) Application") -!MESSAGE "projectMvis - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "projectMvis - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /I "c:\sdl\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib sdl.lib sdlmain.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\projectM\Release" /libpath:"C:\SDL\VisualC\SDL\Debug" /libpath:"C:\SDL\VisualC\SDLmain\Debug" - -!ELSEIF "$(CFG)" == "projectMvis - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".." /I "c:\sdl\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "DEBUG" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib sdl.lib sdlmain.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\projectM\Debug" /libpath:"C:\SDL\VisualC\SDL\Debug" /libpath:"C:\SDL\VisualC\SDLmain\Debug" - -!ENDIF - -# Begin Target - -# Name "projectMvis - Win32 Release" -# Name "projectMvis - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\projectMvis.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/src/projectM-sdlvis/sdltoprojectM.h b/src/projectM-sdlvis/sdltoprojectM.h deleted file mode 100755 index 1628fdbd22..0000000000 --- a/src/projectM-sdlvis/sdltoprojectM.h +++ /dev/null @@ -1,165 +0,0 @@ -/** - * projectM -- Milkdrop-esque visualisation SDK - * Copyright (C)2003-2007 projectM Team - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * See 'LICENSE.txt' included within this release - * - */ -/** - * $Id: sdltoprojectM.hpp,v 1.1 2004/10/08 00:35:28 cvs Exp $ - * - * Translates SDL -> projectM variables - * - * $Log: sdltoprojectM.hpp,v $ - * Revision 1.1 2004/10/08 00:35:28 cvs - * Moved and imported - * - * Revision 1.1.1.1 2004/10/04 12:56:00 cvs - * Imported - * - */ - -#ifndef _SDLTOPROJECTM_H -#define _SDLTOPROJECTM_H - -#include "event.h" - - //#include "projectM/projectM.hpp" -#ifdef WIN32 -#include -#else -#include -#endif - -projectMEvent sdl2pmEvent( SDL_Event event ) { \ - - switch ( event.type ) { \ - case SDL_VIDEORESIZE: - return PROJECTM_VIDEORESIZE; \ - case SDL_KEYUP: \ - return PROJECTM_KEYUP; \ - case SDL_KEYDOWN: \ - return PROJECTM_KEYDOWN; \ - default: - return PROJECTM_KEYUP; \ - } \ - } \ - -projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \ - switch ( keysym ) { \ - case SDLK_F1: \ - return PROJECTM_K_F1; \ - case SDLK_F2: \ - return PROJECTM_K_F2; \ - case SDLK_F3: \ - return PROJECTM_K_F3; \ - case SDLK_F4: \ - return PROJECTM_K_F4; \ - case SDLK_F5: \ - return PROJECTM_K_F5; \ - case SDLK_F6: \ - return PROJECTM_K_F6; \ - case SDLK_F7: \ - return PROJECTM_K_F7; \ - case SDLK_F8: \ - return PROJECTM_K_F8; \ - case SDLK_F9: \ - return PROJECTM_K_F9; \ - case SDLK_F10: \ - return PROJECTM_K_F10; \ - case SDLK_F11: \ - return PROJECTM_K_F11; \ - case SDLK_F12: \ - return PROJECTM_K_F12; \ - case SDLK_ESCAPE: \ - return PROJECTM_K_ESCAPE; - case SDLK_a: - return PROJECTM_K_a; - case SDLK_b: - return PROJECTM_K_b; - case SDLK_c: - return PROJECTM_K_c; - case SDLK_d: - return PROJECTM_K_d; - case SDLK_e: - return PROJECTM_K_e; - case SDLK_f: - return PROJECTM_K_f; - case SDLK_g: - return PROJECTM_K_g; - case SDLK_h: - return PROJECTM_K_h; - case SDLK_i: - return PROJECTM_K_i; - case SDLK_j: - return PROJECTM_K_j; - case SDLK_k: - return PROJECTM_K_k; - case SDLK_l: - return PROJECTM_K_l; - case SDLK_m: - return PROJECTM_K_m; - case SDLK_n: - return PROJECTM_K_n; - case SDLK_o: - return PROJECTM_K_o; - case SDLK_p: - return PROJECTM_K_p; - case SDLK_q: - return PROJECTM_K_q; - case SDLK_r: - return PROJECTM_K_r; - case SDLK_s: - return PROJECTM_K_s; - case SDLK_t: - return PROJECTM_K_t; - case SDLK_u: - return PROJECTM_K_u; - case SDLK_v: - return PROJECTM_K_v; - case SDLK_w: - return PROJECTM_K_w; - case SDLK_x: - return PROJECTM_K_x; - case SDLK_y: - return PROJECTM_K_y; - case SDLK_z: - return PROJECTM_K_z; - case SDLK_UP: - return PROJECTM_K_UP; - case SDLK_RETURN: - return PROJECTM_K_RETURN; - case SDLK_RIGHT: - return PROJECTM_K_RIGHT; - case SDLK_LEFT: - return PROJECTM_K_LEFT; - case SDLK_DOWN: - return PROJECTM_K_DOWN; - case SDLK_PAGEUP: - return PROJECTM_K_PAGEUP; - case SDLK_PAGEDOWN: - return PROJECTM_K_PAGEDOWN; - - default: \ - return PROJECTM_K_NONE; \ - } \ - } \ - -projectMModifier sdl2pmModifier( SDLMod mod ) { \ - return PROJECTM_KMOD_LSHIFT; \ - } \ - -#endif /** _SDLTOPROJECTM_H */ diff --git a/src/projectM-test/COPYING b/src/projectM-test/COPYING new file mode 100644 index 0000000000..d60c31a97a --- /dev/null +++ b/src/projectM-test/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/projectM-test/ChangeLog b/src/projectM-test/ChangeLog new file mode 100644 index 0000000000..86868adfaf --- /dev/null +++ b/src/projectM-test/ChangeLog @@ -0,0 +1,22 @@ +done : + whitespace, unused globals, removed locals that shadowed globals + made fullscreen a bool + refactored eventhandler into a switch case + put read_config into own header with a more descriptive name (getConfigFilename.cpp) + done some include maintenance + +Questions: + Does anyone need the global `SDL_Surface screen` ? + Is projectM-test the example projectM implementation? + - create projectM-example + - use projectM-test for testing and debugging + +Todo: + projectM-test-texture, necessary? + + incorporate into projectm-test as an ifdef'd function + projectM-test-memleak, necessary? + + incorporate into projectm-test as an ifdef'd function + +any feedback, please come shout at fatray@users.sourceforge.net, +or leave messages of pure hate on the projectM forums. + diff --git a/src/projectM-test/ConfigFile.cpp b/src/projectM-test/ConfigFile.cpp new file mode 100644 index 0000000000..f041064e51 --- /dev/null +++ b/src/projectM-test/ConfigFile.cpp @@ -0,0 +1,142 @@ +// ConfigFile.cpp + +#include "ConfigFile.h" + +using std::string; + +ConfigFile::ConfigFile( string filename, string delimiter, + string comment, string sentry ) + : myDelimiter(delimiter), myComment(comment), mySentry(sentry) +{ + // Construct a ConfigFile, getting keys and values from given file + + std::ifstream in( filename.c_str() ); + + if( !in ) throw file_not_found( filename ); + + in >> (*this); +} + + +ConfigFile::ConfigFile() + : myDelimiter( string(1,'=') ), myComment( string(1,'#') ) +{ + // Construct a ConfigFile without a file; empty +} + + +void ConfigFile::remove( const string& key ) +{ + // Remove key and its value + myContents.erase( myContents.find( key ) ); + return; +} + + +bool ConfigFile::keyExists( const string& key ) const +{ + // Indicate whether key is found + mapci p = myContents.find( key ); + return ( p != myContents.end() ); +} + + +/* static */ +void ConfigFile::trim( string& s ) +{ + // Remove leading and trailing whitespace + static const char whitespace[] = " \n\t\v\r\f"; + s.erase( 0, s.find_first_not_of(whitespace) ); + s.erase( s.find_last_not_of(whitespace) + 1U ); +} + + +std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ) +{ + // Save a ConfigFile to os + for( ConfigFile::mapci p = cf.myContents.begin(); + p != cf.myContents.end(); + ++p ) + { + os << p->first << " " << cf.myDelimiter << " "; + os << p->second << std::endl; + } + return os; +} + + +std::istream& operator>>( std::istream& is, ConfigFile& cf ) +{ + // Load a ConfigFile from is + // Read in keys and values, keeping internal whitespace + typedef string::size_type pos; + const string& delim = cf.myDelimiter; // separator + const string& comm = cf.myComment; // comment + const string& sentry = cf.mySentry; // end of file sentry + const pos skip = delim.length(); // length of separator + + string nextline = ""; // might need to read ahead to see where value ends + + while( is || nextline.length() > 0 ) + { + // Read an entire line at a time + string line; + if( nextline.length() > 0 ) + { + line = nextline; // we read ahead; use it now + nextline = ""; + } + else + { + std::getline( is, line ); + } + + // Ignore comments + line = line.substr( 0, line.find(comm) ); + + // Check for end of file sentry + if( sentry != "" && line.find(sentry) != string::npos ) return is; + + // Parse the line if it contains a delimiter + pos delimPos = line.find( delim ); + if( delimPos < string::npos ) + { + // Extract the key + string key = line.substr( 0, delimPos ); + line.replace( 0, delimPos+skip, "" ); + + // See if value continues on the next line + // Stop at blank line, next line with a key, end of stream, + // or end of file sentry + bool terminate = false; + while( !terminate && is ) + { + std::getline( is, nextline ); + terminate = true; + + string nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy == "" ) continue; + + nextline = nextline.substr( 0, nextline.find(comm) ); + if( nextline.find(delim) != string::npos ) + continue; + if( sentry != "" && nextline.find(sentry) != string::npos ) + continue; + + nlcopy = nextline; + ConfigFile::trim(nlcopy); + if( nlcopy != "" ) line += "\n"; + line += nextline; + terminate = false; + } + + // Store key and value + ConfigFile::trim(key); + ConfigFile::trim(line); + cf.myContents[key] = line; // overwrites if key is repeated + } + } + + return is; +} diff --git a/src/projectM-test/ConfigFile.h b/src/projectM-test/ConfigFile.h new file mode 100644 index 0000000000..c2f002447c --- /dev/null +++ b/src/projectM-test/ConfigFile.h @@ -0,0 +1,253 @@ +// ConfigFile.h +// Class for reading named values from configuration files +// Richard J. Wagner v2.1 24 May 2004 wagnerr@umich.edu + +// Copyright (c) 2004 Richard J. Wagner +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. + +// Typical usage +// ------------- +// +// Given a configuration file "settings.inp": +// atoms = 25 +// length = 8.0 # nanometers +// name = Reece Surcher +// +// Named values are read in various ways, with or without default values: +// ConfigFile config( "settings.inp" ); +// int atoms = config.read( "atoms" ); +// double length = config.read( "length", 10.0 ); +// string author, title; +// config.readInto( author, "name" ); +// config.readInto( title, "title", string("Untitled") ); +// +// See file example.cpp for more examples. + +#ifndef CONFIGFILE_H +#define CONFIGFILE_H + +#include +#include +#include +#include +#include + +using std::string; + +class ConfigFile { +// Data +protected: + string myDelimiter; // separator between key and value + string myComment; // separator between value and comments + string mySentry; // optional string to signal end of file + std::map myContents; // extracted keys and values + + typedef std::map::iterator mapi; + typedef std::map::const_iterator mapci; + +// Methods +public: + ConfigFile( string filename, + string delimiter = "=", + string comment = "#", + string sentry = "EndConfigFile" ); + ConfigFile(); + + // Search for key and read value or optional default value + template T read( const string& key ) const; // call as read + template T read( const string& key, const T& value ) const; + template bool readInto( T& var, const string& key ) const; + template + bool readInto( T& var, const string& key, const T& value ) const; + + // Modify keys and values + template void add( string key, const T& value ); + void remove( const string& key ); + + // Check whether key exists in configuration + bool keyExists( const string& key ) const; + + // Check or change configuration syntax + string getDelimiter() const { return myDelimiter; } + string getComment() const { return myComment; } + string getSentry() const { return mySentry; } + string setDelimiter( const string& s ) + { string old = myDelimiter; myDelimiter = s; return old; } + string setComment( const string& s ) + { string old = myComment; myComment = s; return old; } + + // Write or read configuration + friend std::ostream& operator<<( std::ostream& os, const ConfigFile& cf ); + friend std::istream& operator>>( std::istream& is, ConfigFile& cf ); + +protected: + template static string T_as_string( const T& t ); + template static T string_as_T( const string& s ); + static void trim( string& s ); + + +// Exception types +public: + struct file_not_found { + string filename; + file_not_found( const string& filename_ = string() ) + : filename(filename_) {} }; + struct key_not_found { // thrown only by T read(key) variant of read() + string key; + key_not_found( const string& key_ = string() ) + : key(key_) {} }; +}; + + +/* static */ +template +string ConfigFile::T_as_string( const T& t ) +{ + // Convert from a T to a string + // Type T must support << operator + std::ostringstream ost; + ost << t; + return ost.str(); +} + + +/* static */ +template +T ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a T + // Type T must support >> operator + T t; + std::istringstream ist(s); + ist >> t; + return t; +} + + +/* static */ +template<> +inline string ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a string + // In other words, do nothing + return s; +} + + +/* static */ +template<> +inline bool ConfigFile::string_as_T( const string& s ) +{ + // Convert from a string to a bool + // Interpret "false", "F", "no", "n", "0" as false + // Interpret "true", "T", "yes", "y", "1", "-1", or anything else as true + bool b = true; + string sup = s; + for( string::iterator p = sup.begin(); p != sup.end(); ++p ) + *p = toupper(*p); // make string all caps + if( sup==string("FALSE") || sup==string("F") || + sup==string("NO") || sup==string("N") || + sup==string("0") || sup==string("NONE") ) + b = false; + return b; +} + + +template +T ConfigFile::read( const string& key ) const +{ + // Read the value corresponding to key + mapci p = myContents.find(key); + if( p == myContents.end() ) throw key_not_found(key); + return string_as_T( p->second ); +} + + +template +T ConfigFile::read( const string& key, const T& value ) const +{ + // Return the value corresponding to key or given default value + // if key is not found + mapci p = myContents.find(key); + if( p == myContents.end() ) return value; + return string_as_T( p->second ); +} + + +template +bool ConfigFile::readInto( T& var, const string& key ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise leave var untouched + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) var = string_as_T( p->second ); + return found; +} + + +template +bool ConfigFile::readInto( T& var, const string& key, const T& value ) const +{ + // Get the value corresponding to key and store in var + // Return true if key is found + // Otherwise set var to given default + mapci p = myContents.find(key); + bool found = ( p != myContents.end() ); + if( found ) + var = string_as_T( p->second ); + else + var = value; + return found; +} + + +template +void ConfigFile::add( string key, const T& value ) +{ + // Add a key with given value + string v = T_as_string( value ); + trim(key); + trim(v); + myContents[key] = v; + return; +} + +#endif // CONFIGFILE_H + +// Release notes: +// v1.0 21 May 1999 +// + First release +// + Template read() access only through non-member readConfigFile() +// + ConfigurationFileBool is only built-in helper class +// +// v2.0 3 May 2002 +// + Shortened name from ConfigurationFile to ConfigFile +// + Implemented template member functions +// + Changed default comment separator from % to # +// + Enabled reading of multiple-line values +// +// v2.1 24 May 2004 +// + Made template specializations inline to avoid compiler-dependent linkage +// + Allowed comments within multiple-line values +// + Enabled blank line termination for multiple-line values +// + Added optional sentry to detect end of configuration file +// + Rewrote messy trimWhitespace() function as elegant trim() diff --git a/src/projectM-test/Makefile.am b/src/projectM-test/Makefile.am new file mode 100644 index 0000000000..3c9e2e1055 --- /dev/null +++ b/src/projectM-test/Makefile.am @@ -0,0 +1,17 @@ +AM_CPPFLAGS = \ +${my_CFLAGS} \ +-include $(top_builddir)/config.h \ +-DSYSCONFDIR=\""$(sysconfdir)"\" \ +-DPROJECTM_PREFIX=\""${prefix}"\" \ +-I${top_srcdir}/src/libprojectM \ +-I${top_srcdir}/src/libprojectM/Renderer \ +${SDL_CFLAGS} + +# TODO investigate these old tests: projectM_test projectM_test-memleak projectM_test-texture +bin_PROGRAMS = projectM-unittest + +projectM_unittest_SOURCES = projectM-unittest.cpp getConfigFilename.cpp ConfigFile.h getConfigFilename.h +projectM_unittest_LDADD = +projectM_unittest_LDADD += ${SDL_LIBS} ../libprojectM/libprojectM.la +projectM_unittest_LDFLAGS = -static +projectM_unittest_PROGRAM = projectM-unittest diff --git a/src/projectM-test/README.md b/src/projectM-test/README.md new file mode 100644 index 0000000000..6db5304954 --- /dev/null +++ b/src/projectM-test/README.md @@ -0,0 +1,6 @@ +These tests are currently built only if `./configure --enable-sdl` is run. The one working +test doesn't actually require SDL, but the others are GUI. + +* `projectM-unittest` simply runs TestRunner::run() and returns 0 (success) or 1 (failure) + +The other tests need to be updated to SDL2. diff --git a/src/projectM-jack/config.h.in b/src/projectM-test/config.h.in similarity index 100% rename from src/projectM-jack/config.h.in rename to src/projectM-test/config.h.in diff --git a/src/projectM-test/getConfigFilename.cpp b/src/projectM-test/getConfigFilename.cpp new file mode 100644 index 0000000000..e285ca206c --- /dev/null +++ b/src/projectM-test/getConfigFilename.cpp @@ -0,0 +1,93 @@ +// +// File: getConfigFilename.cpp +// +// Author: fatray +// +// Created on 05 December 2007, 23:39 +// +// FIXME: portability + + +// I hacked include on to silence my compiler, is it valid? +#include +#include +#include +#include "getConfigFilename.h" +#include +#include +#include + +// get the full pathname of a configfile +std::string getConfigFilename() +{ + char num[512]; + FILE *in; + FILE *out; + + char* home; + // FIXME: fixed length buffers are not ideal. + char projectM_home[1024]; + char projectM_config[1024]; + + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config + strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX) + strlen(CONFIG_FILE)] = '\0'; + printf("dir:%s \n", projectM_config); + home = getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if ((in = fopen(projectM_home, "r"))) + { + printf("reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + + printf("trying to create ~/.projectM/config.inp \n"); + + projectM_home[strlen(home) + strlen("/.projectM")] = '\0'; + mkdir(projectM_home, 0755); + + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if((out = fopen(projectM_home, "w"))) + { + if ((in = fopen(projectM_config, "r"))) + { + while(fgets(num, 80, in)!=NULL) + { + fputs(num, out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r"))) + { + printf("created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + + printf("This shouldn't happen, using implementation defaults\n"); + abort(); + } + printf("Cannot find projectM default config, using implementation defaults\n"); + abort(); + } + + printf("Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r"))) + { + printf("Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config); + } + + printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); + abort(); +} + diff --git a/src/projectM-test/getConfigFilename.h b/src/projectM-test/getConfigFilename.h new file mode 100644 index 0000000000..cbf76cf451 --- /dev/null +++ b/src/projectM-test/getConfigFilename.h @@ -0,0 +1,18 @@ +// +// File: getConfigFilename.h +// +// Author: fatray +// +// Created on 05 December 2007, 23:39 +// + +#ifndef _GETCONFIGFILENAME_H +#define _GETCONFIGFILENAME_H + +//FIXME: define this here? in .cpp? or somewhere else? +#define CONFIG_FILE "/share/projectM/config.inp" + +// get the full pathname of a configfile +std::string getConfigFilename(); + +#endif /* _GETCONFIGFILENAME_H */ diff --git a/src/projectM-test/projectM-test-memleak.cpp b/src/projectM-test/projectM-test-memleak.cpp new file mode 100644 index 0000000000..51e72f9c4c --- /dev/null +++ b/src/projectM-test/projectM-test-memleak.cpp @@ -0,0 +1,206 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2008 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "video_init.h" +#include +#include "sdltoprojectM.h" +#include "ConfigFile.h" +#include "getConfigFilename.h" + +#ifdef __unix__ +#include +#endif +#ifdef __APPLE__ +#include +#endif + +#include + +projectM *globalPM= NULL; + +// window stuff +int wvw, wvh, fvw, fvh; +bool fullscreen; + +void renderLoop(); + +// texture test +bool doTextureTest = false; +void textureTest(); + +// memleak test +bool doMemleakTest = true; +int memLeakIterations = 100; + +int main(int argc, char **argv) { + + // fix `fullscreen quit kills mouse` issue. + atexit(SDL_Quit); + + std::string config_filename = getConfigFilename(); + ConfigFile config(config_filename); + + // window dimensions from configfile + wvw = config.read("Window Width", 512); + wvh = config.read("Window Height", 512); + fullscreen = config.read("Fullscreen", true); + + init_display(wvw, wvh, &fvw, &fvh, fullscreen); + + SDL_WM_SetCaption(PROJECTM_TITLE, NULL); + + // memleak test + while (doMemleakTest) { + static int k = 0; + std::cerr << "[iter " << k++ << "]" << std::endl; + globalPM = new projectM(config_filename); + assert(globalPM); + delete (globalPM); + if (k >= memLeakIterations) + break; + } + + globalPM = new projectM(config_filename); + + // if started fullscreen, give PM new viewport dimensions + if (fullscreen) + globalPM->projectM_resetGL(fvw, fvh); + + renderLoop(); + + // not reached + return 1; +} + +void renderLoop() { + while (1) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + + /** Process SDL events */ + SDL_Event event; + while (SDL_PollEvent(&event)) { + /** Translate into projectM codes and process */ + evt = sdl2pmEvent(event); + key = sdl2pmKeycode(event.key.keysym.sym,event.key.keysym.mod); + mod = sdl2pmModifier(event.key.keysym.mod); + + switch (evt) { + case PROJECTM_KEYDOWN: + switch (key) { + case PROJECTM_K_ESCAPE: + delete(globalPM); + exit(0); + break; + case PROJECTM_K_f: { + fullscreen = !fullscreen; + if (fullscreen) { + resize_display(fvw, fvh, fullscreen); + globalPM->projectM_resetGL(fvw, fvh); + } else { + resize_display(wvw, wvh, fullscreen); + globalPM->projectM_resetGL(wvw, wvh); + } + break; + } + case PROJECTM_K_q: + exit(1); + break; + default: + globalPM->key_handler(evt, key, mod); + } + break; + + case PROJECTM_VIDEORESIZE: + wvw = event.resize.w; + wvh = event.resize.h; + resize_display(wvw, wvh, 0); + globalPM->projectM_resetGL(wvw, wvh); + break; + + default: + // not for us, give it to projectM + globalPM->key_handler(evt, key, mod); + break; + } + } + + globalPM->renderFrame(); + + if (doTextureTest) + textureTest(); + + SDL_GL_SwapBuffers(); + } +} + +void textureTest() { + static int textureHandle = globalPM->initRenderToTexture(); + static int frame = 0; + frame++; + + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + if (fullscreen) + glViewport(0, 0, fvw, fvh); + else + glViewport(0, 0, wvw, wvh); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1, 1, -1, 1, 2, 10); + + glEnable(GL_DEPTH_TEST); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glTranslatef(cos(frame*0.023), cos(frame*0.017), -5+sin(frame*0.022)*2); + glRotatef(sin(frame*0.0043)*360, sin(frame*0.0017)*360, sin(frame *0.0032) + *360, 1); + + glEnable(GL_TEXTURE_2D); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + + glBindTexture(GL_TEXTURE_2D, textureHandle); + glColor4d(1.0, 1.0, 1.0, 1.0); + + glBegin(GL_QUADS); + glTexCoord2d(0, 1); + glVertex3d(-0.8, 0.8, 0); + glTexCoord2d(0, 0); + glVertex3d(-0.8, -0.8, 0); + glTexCoord2d(1, 0); + glVertex3d(0.8, -0.8, 0); + glTexCoord2d(1, 1); + glVertex3d(0.8, 0.8, 0); + glEnd(); + + glDisable(GL_TEXTURE_2D); + + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); +} diff --git a/src/projectM-test/projectM-test-texture.cpp b/src/projectM-test/projectM-test-texture.cpp new file mode 100644 index 0000000000..974582ee50 --- /dev/null +++ b/src/projectM-test/projectM-test-texture.cpp @@ -0,0 +1,206 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2008 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "video_init.h" +#include +#include "sdltoprojectM.h" +#include "ConfigFile.h" +#include "getConfigFilename.h" + +#ifdef __unix__ +#include +#endif +#ifdef __APPLE__ +#include +#endif + +#include + +projectM *globalPM= NULL; + +// window stuff +int wvw, wvh, fvw, fvh; +bool fullscreen; + +void renderLoop(); + +// texture test +bool doTextureTest = true; +void textureTest(); + +// memleak test +bool doMemleakTest = false; +int memLeakIterations = 100; + +int main(int argc, char **argv) { + + // fix `fullscreen quit kills mouse` issue. + atexit(SDL_Quit); + + std::string config_filename = getConfigFilename(); + ConfigFile config(config_filename); + + // window dimensions from configfile + wvw = config.read("Window Width", 512); + wvh = config.read("Window Height", 512); + fullscreen = config.read("Fullscreen", true); + + init_display(wvw, wvh, &fvw, &fvh, fullscreen); + + SDL_WM_SetCaption(PROJECTM_TITLE, NULL); + + // memleak test + while (doMemleakTest) { + static int k = 0; + std::cerr << "[iter " << k++ << "]" << std::endl; + globalPM = new projectM(config_filename); + assert(globalPM); + delete (globalPM); + if (k >= memLeakIterations) + break; + } + + globalPM = new projectM(config_filename); + + // if started fullscreen, give PM new viewport dimensions + if (fullscreen) + globalPM->projectM_resetGL(fvw, fvh); + + renderLoop(); + + // not reached + return 1; +} + +void renderLoop() { + while (1) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + + /** Process SDL events */ + SDL_Event event; + while (SDL_PollEvent(&event)) { + /** Translate into projectM codes and process */ + evt = sdl2pmEvent(event); + key = sdl2pmKeycode(event.key.keysym.sym, event.key.keysym.mod); + mod = sdl2pmModifier(event.key.keysym.mod); + + switch (evt) { + case PROJECTM_KEYDOWN: + switch (key) { + case PROJECTM_K_ESCAPE: + delete(globalPM); + exit(0); + break; + case PROJECTM_K_f: { + fullscreen = !fullscreen; + if (fullscreen) { + resize_display(fvw, fvh, fullscreen); + globalPM->projectM_resetGL(fvw, fvh); + } else { + resize_display(wvw, wvh, fullscreen); + globalPM->projectM_resetGL(wvw, wvh); + } + break; + } + case PROJECTM_K_q: + exit(1); + break; + default: + globalPM->key_handler(evt, key, mod); + } + break; + + case PROJECTM_VIDEORESIZE: + wvw = event.resize.w; + wvh = event.resize.h; + resize_display(wvw, wvh, 0); + globalPM->projectM_resetGL(wvw, wvh); + break; + + default: + // not for us, give it to projectM + globalPM->key_handler(evt, key, mod); + break; + } + } + + globalPM->renderFrame(); + + if (doTextureTest) + textureTest(); + + SDL_GL_SwapBuffers(); + } +} + +void textureTest() { + static int textureHandle = globalPM->initRenderToTexture(); + static int frame = 0; + frame++; + + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + if (fullscreen) + glViewport(0, 0, fvw, fvh); + else + glViewport(0, 0, wvw, wvh); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1, 1, -1, 1, 2, 10); + + glEnable(GL_DEPTH_TEST); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glTranslatef(cos(frame*0.023), cos(frame*0.017), -5+sin(frame*0.022)*2); + glRotatef(sin(frame*0.0043)*360, sin(frame*0.0017)*360, sin(frame *0.0032) + *360, 1); + + glEnable(GL_TEXTURE_2D); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + + glBindTexture(GL_TEXTURE_2D, textureHandle); + glColor4d(1.0, 1.0, 1.0, 1.0); + + glBegin(GL_QUADS); + glTexCoord2d(0, 1); + glVertex3d(-0.8, 0.8, 0); + glTexCoord2d(0, 0); + glVertex3d(-0.8, -0.8, 0); + glTexCoord2d(1, 0); + glVertex3d(0.8, -0.8, 0); + glTexCoord2d(1, 1); + glVertex3d(0.8, 0.8, 0); + glEnd(); + + glDisable(GL_TEXTURE_2D); + + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); +} diff --git a/src/projectM-test/projectM-test.cpp b/src/projectM-test/projectM-test.cpp new file mode 100644 index 0000000000..27aef19b76 --- /dev/null +++ b/src/projectM-test/projectM-test.cpp @@ -0,0 +1,227 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2008 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include "video_init.h" +#include +#include "sdltoprojectM.h" +#include "ConfigFile.h" +#include "getConfigFilename.h" +#include + +#ifdef __unix__ +#include +#endif +#ifdef __APPLE__ +#include +#endif + +#include + +projectM *globalPM= NULL; + +// window stuff +int wvw, wvh, fvw, fvh; +bool fullscreen; + +void renderLoop(); + +// texture test +bool doTextureTest = false; +void textureTest(); + +// memleak test +bool doMemleakTest = false; +int memLeakIterations = 100; + +int main(int argc, char **argv) { + + // fix `fullscreen quit kills mouse` issue. + atexit(SDL_Quit); + + std::string config_filename = getConfigFilename(); + ConfigFile config(config_filename); + + // window dimensions from configfile + wvw = config.read("Window Width", 512); + wvh = config.read("Window Height", 512); + fullscreen = config.read("Fullscreen", true); + + init_display(wvw, wvh, &fvw, &fvh, fullscreen); + + SDL_WM_SetCaption(PROJECTM_TITLE, NULL); + + // memleak test + while (doMemleakTest) { + static int k = 0; + std::cerr << "[iter " << k++ << "]" << std::endl; + globalPM = new projectM(config_filename); + assert(globalPM); + delete (globalPM); + if (k >= memLeakIterations) + break; + } + + globalPM = new projectM(config_filename); + + // if started fullscreen, give PM new viewport dimensions + if (fullscreen) + globalPM->projectM_resetGL(fvw, fvh); + + renderLoop(); + + // not reached + return 1; +} + +float fakePCM[512]; + + +void cleanup() { + delete(globalPM); + exit(0); +} + + +void renderLoop() { + while (1) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + + /** Process SDL events */ + SDL_Event event; + while (SDL_PollEvent(&event)) { + /** Translate into projectM codes and process */ + evt = sdl2pmEvent(event); + key = sdl2pmKeycode(event.key.keysym.sym, event.key.keysym.mod); + mod = sdl2pmModifier(event.key.keysym.mod); + + switch (evt) { + case PROJECTM_KEYDOWN: + switch (key) { + case PROJECTM_K_ESCAPE: + cleanup(); + break; + case PROJECTM_K_f: { + fullscreen = !fullscreen; + if (fullscreen) { + resize_display(fvw, fvh, fullscreen); + globalPM->projectM_resetGL(fvw, fvh); + } else { + resize_display(wvw, wvh, fullscreen); + globalPM->projectM_resetGL(wvw, wvh); + } + break; + } + case PROJECTM_K_q: + cleanup(); + break; + default: + globalPM->key_handler(evt, key, mod); + } + break; + + case PROJECTM_VIDEORESIZE: + wvw = event.resize.w; + wvh = event.resize.h; + resize_display(wvw, wvh, 0); + globalPM->projectM_resetGL(wvw, wvh); + break; + + default: + // not for us, give it to projectM + globalPM->key_handler(evt, key, mod); + break; + } + } + fakePCM[0]=0; + for (int x = 1; x< 512;x++) + { + fakePCM[x] = fakePCM[x-1] + (rand()%200 - 100) *.002; + } + + + globalPM->pcm()->addPCMfloat(fakePCM, 512); + + + + + + globalPM->renderFrame(); + + if (doTextureTest) + textureTest(); + + SDL_GL_SwapBuffers(); + } +} + +void textureTest() { + static int textureHandle = globalPM->initRenderToTexture(); + static int frame = 0; + frame++; + + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + if (fullscreen) + glViewport(0, 0, fvw, fvh); + else + glViewport(0, 0, wvw, wvh); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1, 1, -1, 1, 2, 10); + + glEnable(GL_DEPTH_TEST); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glTranslatef(cos(frame*0.023), cos(frame*0.017), -5+sin(frame*0.022)*2); + glRotatef(sin(frame*0.0043)*360, sin(frame*0.0017)*360, sin(frame *0.0032) + *360, 1); + + glEnable(GL_TEXTURE_2D); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + + glBindTexture(GL_TEXTURE_2D, textureHandle); + glColor4d(1.0, 1.0, 1.0, 1.0); + + glBegin(GL_QUADS); + glTexCoord2d(0, 1); + glVertex3d(-0.8, 0.8, 0); + glTexCoord2d(0, 0); + glVertex3d(-0.8, -0.8, 0); + glTexCoord2d(1, 0); + glVertex3d(0.8, -0.8, 0); + glTexCoord2d(1, 1); + glVertex3d(0.8, 0.8, 0); + glEnd(); + + glDisable(GL_TEXTURE_2D); + + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); +} diff --git a/src/projectM-test/projectM-unittest.cpp b/src/projectM-test/projectM-unittest.cpp new file mode 100644 index 0000000000..d1431b6c65 --- /dev/null +++ b/src/projectM-test/projectM-unittest.cpp @@ -0,0 +1,44 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2019-2019 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ + +#include +#include +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + SDL_Window *win = SDL_CreateWindow("projectM", 0, 0, 100, 100, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + SDL_GLContext glCtx = SDL_GL_CreateContext(win); + + // try unit tests + if (!TestRunner::run()) + { + printf("unit tests failed\n"); + exit(1); + } + printf("unit tests succeeded\n"); + + SDL_GL_DeleteContext(glCtx); + exit(0); +} diff --git a/src/projectM-test/sdltoprojectM.h b/src/projectM-test/sdltoprojectM.h new file mode 100644 index 0000000000..eac853ec0b --- /dev/null +++ b/src/projectM-test/sdltoprojectM.h @@ -0,0 +1,154 @@ +/** + * $Id: sdltoprojectM.h,v 1.1.1.1 2005/12/23 19:54:50 psperl Exp $ + * + * Translates SDL -> projectM variables + * + * $Log: sdltoprojectM.h,v $ + * Revision 1.1.1.1 2005/12/23 19:54:50 psperl + * + * + * Revision 1.1.1.1 2005/12/23 18:42:00 psperl + * Initial Import + * + * Revision 1.1 2004/10/08 00:35:28 cvs + * Moved and imported + * + * Revision 1.1.1.1 2004/10/04 12:56:00 cvs + * Imported + * + */ + +#ifndef _SDLTOPROJECTM_H +#define _SDLTOPROJECTM_H + +#include +#ifdef WIN32 +#include +#else +#include +#endif + +inline projectMEvent sdl2pmEvent( SDL_Event event ) { + + switch ( event.type ) { + case SDL_VIDEORESIZE: + return PROJECTM_VIDEORESIZE; + case SDL_KEYUP: + return PROJECTM_KEYUP; + case SDL_KEYDOWN: + return PROJECTM_KEYDOWN; + default: + return PROJECTM_KEYUP; + } + } + +projectMKeycode sdl2pmKeycode( SDLKey keysym, SDLMod mod) { + + bool caps = (mod == KMOD_LSHIFT) || + (mod == KMOD_RSHIFT) || + (mod == KMOD_CAPS); + + switch ( keysym ) { + case SDLK_F1: + return PROJECTM_K_F1; + case SDLK_F2: + return PROJECTM_K_F2; + case SDLK_F3: + return PROJECTM_K_F3; + case SDLK_F4: + return PROJECTM_K_F4; + case SDLK_F5: + return PROJECTM_K_F5; + case SDLK_F6: + return PROJECTM_K_F6; + case SDLK_F7: + return PROJECTM_K_F7; + case SDLK_F8: + return PROJECTM_K_F8; + case SDLK_F9: + return PROJECTM_K_F9; + case SDLK_F10: + return PROJECTM_K_F10; + case SDLK_F11: + return PROJECTM_K_F11; + case SDLK_F12: + return PROJECTM_K_F12; + case SDLK_ESCAPE: + return PROJECTM_K_ESCAPE; + case SDLK_a: + return PROJECTM_K_a; + case SDLK_b: + return PROJECTM_K_b; + case SDLK_c: + return PROJECTM_K_c; + case SDLK_d: + return PROJECTM_K_d; + case SDLK_e: + return PROJECTM_K_e; + case SDLK_f: + return PROJECTM_K_f; + case SDLK_g: + return PROJECTM_K_g; + case SDLK_h: + return PROJECTM_K_h; + case SDLK_i: + return PROJECTM_K_i; + case SDLK_j: + return PROJECTM_K_j; + case SDLK_k: + return PROJECTM_K_k; + case SDLK_l: + return PROJECTM_K_l; + case SDLK_m: + return PROJECTM_K_m; + case SDLK_n: + return caps ? PROJECTM_K_N : PROJECTM_K_n; + case SDLK_o: + return PROJECTM_K_o; + case SDLK_p: + return caps ? PROJECTM_K_P : PROJECTM_K_p; + case SDLK_q: + return PROJECTM_K_q; + case SDLK_r: + return caps ? PROJECTM_K_R : PROJECTM_K_r; + case SDLK_s: + return PROJECTM_K_s; + case SDLK_t: + return PROJECTM_K_t; + case SDLK_u: + return PROJECTM_K_u; + case SDLK_v: + return PROJECTM_K_v; + case SDLK_w: + return PROJECTM_K_w; + case SDLK_x: + return PROJECTM_K_x; + case SDLK_y: + return PROJECTM_K_y; + case SDLK_z: + return PROJECTM_K_z; + case SDLK_UP: + return PROJECTM_K_UP; + case SDLK_RETURN: + return PROJECTM_K_RETURN; + case SDLK_RIGHT: + return PROJECTM_K_RIGHT; + case SDLK_LEFT: + return PROJECTM_K_LEFT; + case SDLK_DOWN: + return PROJECTM_K_DOWN; + case SDLK_PAGEUP: + return PROJECTM_K_PAGEUP; + case SDLK_PAGEDOWN: + return PROJECTM_K_PAGEDOWN; + + default: + return PROJECTM_K_NONE; + } + } + +inline projectMModifier sdl2pmModifier( SDLMod mod ) { + return PROJECTM_KMOD_LSHIFT; + } + +#endif /** _SDLTOPROJECTM_H */ diff --git a/src/projectM-test/video_init.cpp b/src/projectM-test/video_init.cpp new file mode 100755 index 0000000000..7805cb9cb9 --- /dev/null +++ b/src/projectM-test/video_init.cpp @@ -0,0 +1,62 @@ +//video_init.c - SDL/Opengl Windowing Creation/Resizing Functions +// +//by Peter Sperl & Ray Telford +// +//Opens an SDL Window and creates an OpenGL session +//also able to handle resizing and fullscreening of windows +//just call init_display again with different variables +#include + +void resize_display(int w, int h, bool f) +{ + int flags = SDL_OPENGL|SDL_HWSURFACE|(f ? SDL_FULLSCREEN : SDL_RESIZABLE); + // 0 : use current bits per pixel + if(!SDL_SetVideoMode(w, h, 0, flags)) + { + fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError()); + return; + } + SDL_ShowCursor(f ? SDL_DISABLE : SDL_ENABLE); +} + +//init_display +// +//Sets screen to new width and height (w,h) +//Also switches between fullscreen and windowed +//with the boolean f (fullscreen) +void init_display(int w, int h, int *fvw, int *fvh, bool f) +{ + /* First, initialize SDL's video subsystem. */ + if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0) + { + fprintf(stderr, "Video initialization failed: %s\n", + SDL_GetError()); + return; + } + + /* Let's get some video information. */ + const SDL_VideoInfo* info = SDL_GetVideoInfo(); + if(!info) + { + /* This should probably never happen. */ + fprintf(stderr, "Video query failed: %s\n", + SDL_GetError()); + + // todo:what is this? + // projectM_vtable.disable_plugin (&projectM_vtable); + return; + } + + printf("Screen Resolution: %d x %d\n", info->current_w, info->current_h); + *fvw = info->current_w; + *fvh = info->current_h; + + SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + + if (f) + resize_display(*fvw, *fvh, f); + else + resize_display(w, h, f); +} diff --git a/src/projectM-test/video_init.h b/src/projectM-test/video_init.h new file mode 100755 index 0000000000..86205a1d0f --- /dev/null +++ b/src/projectM-test/video_init.h @@ -0,0 +1,3 @@ +void init_display(int w, int h, int *fvw, int *fvh, bool fullscreen); +void resize_display(int w, int h, bool fullscreen); + diff --git a/src/projectM-wmp/projectM-wmp.sln b/src/projectM-wmp/projectM-wmp.sln new file mode 100644 index 0000000000..0d0d9bace0 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp.sln @@ -0,0 +1,132 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM-wmp", "projectM-wmp\projectM-wmp.vcproj", "{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprojectM", "..\projectM-engine\libprojectM.vcproj", "{31B91091-431A-4842-8682-2A04B51C980A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\WinLibs\freetype-2.3.5\builds\win32\visualc\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftgl_static_lib", "..\WinLibs\FTGL\win32_vcpp\ftgl_static_lib\ftgl_static_lib.vcproj", "{4A80DC08-8D4E-4136-B818-AF0024000A21}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew_static", "..\WinLibs\glew\build\vc6\glew_static.vcproj", "{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug MT|Win32 = Debug MT|Win32 + Debug Multithreaded|Win32 = Debug Multithreaded|Win32 + Debug MX|Win32 = Debug MX|Win32 + Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32 + Debug|Win32 = Debug|Win32 + Release MT|Win32 = Release MT|Win32 + Release Multithreaded|Win32 = Release Multithreaded|Win32 + Release MX|Win32 = Release MX|Win32 + Release Singlethreaded|Win32 = Release Singlethreaded|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MT|Win32.ActiveCfg = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MT|Win32.Build.0 = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Multithreaded|Win32.Build.0 = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MX|Win32.ActiveCfg = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MX|Win32.Build.0 = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug|Win32.ActiveCfg = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug|Win32.Build.0 = Debug|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MT|Win32.ActiveCfg = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MT|Win32.Build.0 = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Multithreaded|Win32.ActiveCfg = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Multithreaded|Win32.Build.0 = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MX|Win32.ActiveCfg = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MX|Win32.Build.0 = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Singlethreaded|Win32.Build.0 = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release|Win32.ActiveCfg = Release|Win32 + {E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release|Win32.Build.0 = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.ActiveCfg = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.Build.0 = Debug|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.Build.0 = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.Build.0 = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.Build.0 = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.Build.0 = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.ActiveCfg = Release|Win32 + {31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.Build.0 = Release|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.ActiveCfg = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.Build.0 = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.ActiveCfg = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.Build.0 = Debug Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.ActiveCfg = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.Build.0 = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.ActiveCfg = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.Build.0 = Release Multithreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.ActiveCfg = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.Build.0 = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.ActiveCfg = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.Build.0 = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.ActiveCfg = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.Build.0 = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.ActiveCfg = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.Build.0 = Debug MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.ActiveCfg = Debug|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.Build.0 = Debug|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.ActiveCfg = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.Build.0 = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.ActiveCfg = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.Build.0 = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.ActiveCfg = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.Build.0 = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.ActiveCfg = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.Build.0 = Release MT|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.ActiveCfg = Release|Win32 + {4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.Build.0 = Release|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.ActiveCfg = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.Build.0 = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.ActiveCfg = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.Build.0 = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.ActiveCfg = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.Build.0 = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.ActiveCfg = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.Build.0 = Debug MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.ActiveCfg = Debug|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.Build.0 = Debug|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.ActiveCfg = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.Build.0 = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.ActiveCfg = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.Build.0 = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.ActiveCfg = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.Build.0 = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.ActiveCfg = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.Build.0 = Release MX|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.ActiveCfg = Release|Win32 + {94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/projectM-wmp/projectM-wmp.suo b/src/projectM-wmp/projectM-wmp.suo new file mode 100644 index 0000000000..32ab0fb0be Binary files /dev/null and b/src/projectM-wmp/projectM-wmp.suo differ diff --git a/src/projectM-wmp/projectM-wmp/StdAfx.cpp b/src/projectM-wmp/projectM-wmp/StdAfx.cpp new file mode 100644 index 0000000000..de27b193b2 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/StdAfx.cpp @@ -0,0 +1,10 @@ +// stdafx.cpp : source file that includes just the standard includes +// stdafx.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +#ifdef _ATL_STATIC_REGISTRY +#include +#endif + diff --git a/src/projectM-wmp/projectM-wmp/StdAfx.h b/src/projectM-wmp/projectM-wmp/StdAfx.h new file mode 100644 index 0000000000..9fcd64dd71 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/StdAfx.h @@ -0,0 +1,28 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, +// but are changed infrequently + +#if !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_) +#define AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#define STRICT +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0400 +#endif +#define _ATL_APARTMENT_THREADED + +#include +//You may derive a class from CComModule and use it if you want to override +//something, but do not change the name of _Module +extern CComModule _Module; +#include +#include // Added by ClassView + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED) diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.aps b/src/projectM-wmp/projectM-wmp/projectM-wmp.aps new file mode 100644 index 0000000000..03a424fa86 Binary files /dev/null and b/src/projectM-wmp/projectM-wmp/projectM-wmp.aps differ diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp new file mode 100644 index 0000000000..fa01fd97e9 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp @@ -0,0 +1,592 @@ +///////////////////////////////////////////////////////////////////////////// +// +// projectM-wmp.cpp : Implementation of CProjectMwmp +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +///////////////////////////////////////////////////////////////////////////// + +#include "stdafx.h" +#include "projectM-wmp.h" + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::CProjectMwmp +// Constructor + +HGLRC hrc = NULL; +bool starting = true; +int width, height; +projectM *globalPM; + +CProjectMwmp::CProjectMwmp() : +m_hwndParent(NULL), +m_clrForeground(0x0000FF), +m_nPreset(0) +{ + m_dwAdviseCookie = 0; +} + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::~CProjectMwmp +// Destructor + +CProjectMwmp::~CProjectMwmp() +{ +} + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp:::FinalConstruct +// Called when an effect is first loaded. Use this function to do one-time +// intializations that could fail (i.e. creating offscreen buffers) instead +// of doing this in the constructor, which cannot return an error. + +HRESULT CProjectMwmp::FinalConstruct() +{ + return S_OK; +} + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp:::FinalRelease +// Called when an effect is unloaded. Use this function to free any +// resources allocated in FinalConstruct. + +void CProjectMwmp::FinalRelease() +{ + ReleaseCore(); +} + + + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::Render +// Called when an effect should render itself to the screen. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::Render(TimedLevel *pLevels, HDC hdc, RECT *prc) +{ + if (starting) { + static PIXELFORMATDESCRIPTOR pfd = { + sizeof(PIXELFORMATDESCRIPTOR), 1, + PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, + PFD_TYPE_RGBA, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0 + }; + SetPixelFormat(hdc, ChoosePixelFormat(hdc,&pfd), &pfd); + hrc = wglCreateContext(hdc); + wglMakeCurrent(hdc, hrc); + starting = false; + + width = (int)(prc->right - prc->left); + height = (int)(prc->bottom - prc->top); + + globalPM = new projectM("C:\\Program Files\\projectM\\config.inp");//24,18,0,128,width,height,"C:\\Documents and Settings\\DEV2\\My Documents\\svn\\presets_projectM\\"); + + } + + int newwidth = (int)(prc->right - prc->left); + int newheight = (int)(prc->bottom - prc->top); + if (width!= newwidth || height != newheight) + { + width=newwidth; + height=newheight; + globalPM->projectM_resetGL(width,height); + } + + //PCM* pcm = globalPM->pcm; + + //pcm->addPCM8(pLevels->waveform); + wglMakeCurrent(hdc, hrc); + globalPM->projectM_resetGL(width,height); + globalPM->renderFrame(); + + SwapBuffers(hdc); + + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::MediaInfo +// Everytime new media is loaded, this method is called to pass the +// number of channels (mono/stereo), the sample rate of the media, and the +// title of the media +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::MediaInfo(LONG lChannelCount, LONG lSampleRate, BSTR bstrTitle ) +{ + return S_OK; +} + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::GetCapabilities +// Returns the capabilities of this effect. Flags that can be returned are: +// EFFECT_CANGOFULLSCREEN -- effect supports full-screen rendering +// EFFECT_HASPROPERTYPAGE -- effect supports a property page +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::GetCapabilities(DWORD * pdwCapabilities) +{ + if (NULL == pdwCapabilities) + { + return E_POINTER; + } + + *pdwCapabilities = EFFECT_CANGOFULLSCREEN; + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::GetTitle +// Invoked when a host wants to obtain the title of the effect +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::GetTitle(BSTR* bstrTitle) +{ + USES_CONVERSION; + + if (NULL == bstrTitle) + { + return E_POINTER; + } + + CComBSTR bstrTemp; + bstrTemp.LoadString(IDS_EFFECTNAME); + + if ((!bstrTemp) || (0 == bstrTemp.Length())) + { + return E_FAIL; + } + + *bstrTitle = bstrTemp.Detach(); + + return S_OK; +} + + +STDMETHODIMP CProjectMwmp::RenderFullScreen(TimedLevel *pLevels) +{ + + // NULL parent window should not happen + if (NULL == m_hwndParent) + { + return E_UNEXPECTED; + } + + // At this point the visualization should draw directly into the parent + // window. This sample just calls windowless render for simplicity. + + HDC hdc = ::GetDC(m_hwndParent); + + if (NULL == hdc) + { + return E_FAIL; + } + + RECT rParent = { 0 }; + ::GetClientRect(m_hwndParent, &rParent); + + Render(pLevels, hdc, &rParent); + + ::ReleaseDC(m_hwndParent, hdc); + + return S_OK; +} + +STDMETHODIMP CProjectMwmp::GoFullscreen(BOOL fFullScreen) +{ + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::GetPresetTitle +// Invoked when a host wants to obtain the title of the given preset +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::GetPresetTitle(LONG nPreset, BSTR *bstrPresetTitle) +{ + USES_CONVERSION; + + if (NULL == bstrPresetTitle) + { + return E_POINTER; + } + + CComBSTR bstrTemp; + + bstrTemp = "projectM 1.0"; + + if ((!bstrTemp) || (0 == bstrTemp.Length())) + { + return E_FAIL; + } + + *bstrPresetTitle = bstrTemp.Detach(); + + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::GetPresetCount +// Invoked when a host wants to obtain the number of supported presets +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::GetPresetCount(LONG *pnPresetCount) +{ + if (NULL == pnPresetCount) + { + return E_POINTER; + } + + *pnPresetCount = 1; + + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::SetCurrentPreset +// Invoked when a host wants to change the index of the current preset +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::SetCurrentPreset(LONG nPreset) +{ + m_nPreset = 0; + + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::GetCurrentPreset +// Invoked when a host wants to obtain the index of the current preset +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::GetCurrentPreset(LONG *pnPreset) +{ + if (NULL == pnPreset) + { + return E_POINTER; + } + + *pnPreset = 0; + + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::SetCore +// Set WMP core interface +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::SetCore(IWMPCore * pCore) +{ + HRESULT hr = S_OK; + + // release any existing WMP core interfaces + ReleaseCore(); + + // If we get passed a NULL core, this means + // that the plugin is being shutdown. + + if (pCore == NULL) + { + return S_OK; + } + + m_spCore = pCore; + + // connect up the event interface + CComPtr spConnectionContainer; + + hr = m_spCore->QueryInterface( &spConnectionContainer ); + + if (SUCCEEDED(hr)) + { + hr = spConnectionContainer->FindConnectionPoint( __uuidof(IWMPEvents), &m_spConnectionPoint ); + } + + if (SUCCEEDED(hr)) + { + hr = m_spConnectionPoint->Advise( GetUnknown(), &m_dwAdviseCookie ); + + if ((FAILED(hr)) || (0 == m_dwAdviseCookie)) + { + m_spConnectionPoint = NULL; + } + } + + return hr; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::Create +// Invoked when the visualization should be initialized. +// +// If hwndParent != NULL, RenderWindowed() will be called and the visualization +// should draw into the window specified by hwndParent. This will be the +// behavior when the visualization is hosted in a window. +// +// If hwndParent == NULL, Render() will be called and the visualization +// should draw into the DC passed to Render(). This will be the behavior when +// the visualization is hosted windowless (like in a skin for example). +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::Create(HWND hwndParent) +{ + + m_hwndParent = hwndParent; + if(!starting) + { + delete(globalPM); + starting = true; + } + +// + return S_OK; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::Destroy +// Invoked when the visualization should be released. +// +// Any resources allocated for ing should be released. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::Destroy() +{ + if (!starting) + { + m_hwndParent = NULL; + starting = true; + delete(globalPM); + return S_OK; + } +} + + +char* ConvertBSTRToLPSTR (BSTR bstrIn) + { + LPSTR pszOut = NULL; + + if (bstrIn != NULL) + { + int nInputStrLen = SysStringLen (bstrIn); + + // Double NULL Termination + int nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, bstrIn, nInputStrLen, NULL, 0, 0, 0) + 2; + + pszOut = new char [nOutputStrLen]; + + if (pszOut) + { + memset (pszOut, 0x00, sizeof (char)*nOutputStrLen); + + WideCharToMultiByte (CP_ACP, 0, bstrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0); + } + } + + return pszOut; + } +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::NotifyNewMedia +// Invoked when a new media stream begins playing. +// +// The visualization can inspect this object for properties (like name or artist) +// that might be interesting for visualization. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::NotifyNewMedia(IWMPMedia *pMedia) +{ + if (starting == false && pMedia != NULL) + { + CComBSTR name; + pMedia->get_name(&name); + + LPTSTR pszConvertedCharStr = ConvertBSTRToLPSTR (name); + std::string strConverted (pszConvertedCharStr); + + delete [] pszConvertedCharStr; + + globalPM->projectM_setTitle(strConverted); + return S_OK; + } +} + + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::OnWindowMessage +// Window messages sent to the parent window. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::OnWindowMessage(UINT msg, WPARAM WParam, LPARAM LParam, LRESULT *plResultParam ) +{ + // return S_OK only if the plugin has handled the window message + // return S_FALSE to let the defWindowProc handle the message + return S_FALSE; +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::Windowed +// Called when an effect should render itself to the screen. +// +// The fRequiredRender flag specifies if an update is required, otherwise the +// update is optional. This allows visualizations that are fairly static (for example, +// album art visualizations) to only render when the parent window requires it, +// instead of n times a second for dynamic visualizations. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::RenderWindowed(TimedLevel *pLevels, BOOL fRequiredRender ) +{ + // NULL parent window should not happen + if (NULL == m_hwndParent) + { + return E_UNEXPECTED; + } + + // At this point the visualization should draw directly into the parent + // window. This sample just calls windowless render for simplicity. + + HDC hdc = ::GetDC(m_hwndParent); + + if (NULL == hdc) + { + return E_FAIL; + } + + RECT rParent = { 0 }; + ::GetClientRect(m_hwndParent, &rParent); + + Render(pLevels, hdc, &rParent); + + ::ReleaseDC(m_hwndParent, hdc); + + return S_OK; +} + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::ReleaseCore +// Release WMP core interfaces +////////////////////////////////////////////////////////////////////////////// +void CProjectMwmp::ReleaseCore() +{ + if (m_spConnectionPoint) + { + if (0 != m_dwAdviseCookie) + { + m_spConnectionPoint->Unadvise(m_dwAdviseCookie); + m_dwAdviseCookie = 0; + } + m_spConnectionPoint = NULL; + } + + if (m_spCore) + { + m_spCore = NULL; + } +} + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::get_foregroundColor +// Property get to retrieve the foregroundColor prop via the public interface. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::get_foregroundColor(BSTR *pVal) +{ + return ColorToWz( pVal, m_clrForeground); +} + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::put_foregroundColor +// Property put to set the foregroundColor prop via the public interface. +////////////////////////////////////////////////////////////////////////////// +STDMETHODIMP CProjectMwmp::put_foregroundColor(BSTR newVal) +{ + return WzToColor(newVal, &m_clrForeground); +} + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::WzToColor +// Helper function used to convert a string into a COLORREF. +////////////////////////////////////////////////////////////////////////////// +HRESULT CProjectMwmp::WzToColor(const WCHAR *pwszColor, COLORREF *pcrColor) +{ + if (NULL == pwszColor) + { + //NULL color string passed in + return E_POINTER; + } + + if (0 == lstrlenW(pwszColor)) + { + //Empty color string passed in + return E_INVALIDARG; + } + + if (NULL == pcrColor) + { + //NULL output color DWORD passed in + return E_POINTER; + } + + if (lstrlenW(pwszColor) != 7) + { + //hex color string is not of the correct length + return E_INVALIDARG; + } + + DWORD dwRet = 0; + for (int i = 1; i < 7; i++) + { + // shift dwRet by 4 + dwRet <<= 4; + // and add in the value of this string + + if ((pwszColor[i] >= L'0') && (pwszColor[i] <= L'9')) + { + dwRet += pwszColor[i] - '0'; + } + else if ((pwszColor[i] >= L'A') && (pwszColor[i] <= L'F')) + { + dwRet += 10 + (pwszColor[i] - L'A'); + } + else if ((pwszColor[i] >= L'a') && (pwszColor[i] <= L'f')) + { + dwRet += 10 + (pwszColor[i] - L'a'); + } + else + { + //Invalid hex digit in color string + return E_INVALIDARG; + } + } + + *pcrColor = SwapBytes(dwRet); + + return S_OK; +} + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::ColorToWz +// Helper function used to convert a COLORREF to a BSTR. +////////////////////////////////////////////////////////////////////////////// +HRESULT CProjectMwmp::ColorToWz( BSTR* pbstrColor, COLORREF crColor) +{ + _ASSERT( NULL != pbstrColor ); + _ASSERT( (crColor & 0x00FFFFFF) == crColor ); + + *pbstrColor = NULL; + + WCHAR wsz[8]; + HRESULT hr = S_OK; + + swprintf_s( wsz, sizeof(wsz)/sizeof(wsz[0]), L"#%06X", SwapBytes(crColor) ); + + *pbstrColor = ::SysAllocString( wsz ); + + if (!pbstrColor) + { + hr = E_FAIL; + } + + return hr; +} + + +////////////////////////////////////////////////////////////////////////////// +// CProjectMwmp::SwapBytes +// Used to convert between a DWORD and COLORREF. Simply swaps the lowest +// and 3rd order bytes. +////////////////////////////////////////////////////////////////////////////// +inline DWORD CProjectMwmp::SwapBytes(DWORD dwRet) +{ + return ((dwRet & 0x0000FF00) | ((dwRet & 0x00FF0000) >> 16) | ((dwRet & 0x000000FF) << 16)); +} + diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.def b/src/projectM-wmp/projectM-wmp/projectM-wmp.def new file mode 100644 index 0000000000..aad047c78a --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.def @@ -0,0 +1,9 @@ +; projectM-wmp.def : Declares the module parameters. + +LIBRARY "PROJECTM-WMP.DLL" + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.h b/src/projectM-wmp/projectM-wmp/projectM-wmp.h new file mode 100644 index 0000000000..14d61a978a --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.h @@ -0,0 +1,138 @@ +///////////////////////////////////////////////////////////////////////////// +// +// projectM-wmp.h : Declaration of the CProjectMwmp +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +///////////////////////////////////////////////////////////////////////////// + +#ifndef __PROJECTMWMP_H_ +#define __PROJECTMWMP_H_ + +#include "resource.h" +#include "effects.h" +#include "projectM-wmp_h.h" +#include "projectM.hpp" + + +///////////////////////////////////////////////////////////////////////////// +// CProjectMwmp +class ATL_NO_VTABLE CProjectMwmp : + public CComObjectRootEx, + public CComCoClass, + public IDispatchImpl, + public IWMPEvents, + public IWMPEffects2 +{ +private: + COLORREF m_clrForeground; // foreground color + LONG m_nPreset; // current preset + + HRESULT WzToColor(const WCHAR *pwszColor, COLORREF *pcrColor); + HRESULT ColorToWz( BSTR* pbstrColor, COLORREF crColor); + DWORD SwapBytes(DWORD dwRet); + +public: + CProjectMwmp(); + ~CProjectMwmp(); + +DECLARE_REGISTRY_RESOURCEID(IDR_PROJECTMWMP) + +DECLARE_PROTECT_FINAL_CONSTRUCT() + +BEGIN_COM_MAP(CProjectMwmp) + COM_INTERFACE_ENTRY(IProjectMwmp) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(IWMPEvents) + COM_INTERFACE_ENTRY(IWMPEffects) + COM_INTERFACE_ENTRY(IWMPEffects2) +END_COM_MAP() + +public: + + // CComCoClass Overrides + HRESULT FinalConstruct(); + void FinalRelease(); + + // IProjectMwmp + STDMETHOD(get_foregroundColor)(/*[out, retval]*/ BSTR *pVal); + STDMETHOD(put_foregroundColor)(/*[in]*/ BSTR newVal); + + // IWMPEffects + STDMETHOD(Render)(TimedLevel *pLevels, HDC hdc, RECT *rc); + STDMETHOD(MediaInfo)(LONG lChannelCount, LONG lSampleRate, BSTR bstrTitle); + STDMETHOD(GetCapabilities)(DWORD * pdwCapabilities); + STDMETHOD(GoFullscreen)(BOOL fFullScreen);// { return E_NOTIMPL; }; + STDMETHOD(RenderFullScreen)(TimedLevel *pLevels);// { return E_NOTIMPL; }; + STDMETHOD(DisplayPropertyPage)(HWND hwndOwner) { return E_NOTIMPL; }; + STDMETHOD(GetTitle)(BSTR *bstrTitle); + STDMETHOD(GetPresetTitle)(LONG nPreset, BSTR *bstrPresetTitle); + STDMETHOD(GetPresetCount)(LONG *pnPresetCount); + STDMETHOD(SetCurrentPreset)(LONG nPreset); + STDMETHOD(GetCurrentPreset)(LONG *pnPreset); + + // IWMPEffects2 + STDMETHOD(SetCore)(IWMPCore * pCore); + STDMETHOD(Create)(HWND hwndParent); + STDMETHOD(Destroy)(); + STDMETHOD(NotifyNewMedia)(IWMPMedia *pMedia); + STDMETHOD(OnWindowMessage)(UINT msg, WPARAM WParam, LPARAM LParam, LRESULT *plResultParam ); + STDMETHOD(RenderWindowed)(TimedLevel *pLevels, BOOL fRequiredRender ); + + // IWMPEvents methods + void STDMETHODCALLTYPE OpenStateChange( long NewState ); + void STDMETHODCALLTYPE PlayStateChange( long NewState ); + void STDMETHODCALLTYPE AudioLanguageChange( long LangID ); + void STDMETHODCALLTYPE StatusChange(); + void STDMETHODCALLTYPE ScriptCommand( BSTR scType, BSTR Param ); + void STDMETHODCALLTYPE NewStream(); + void STDMETHODCALLTYPE Disconnect( long Result ); + void STDMETHODCALLTYPE Buffering( VARIANT_BOOL Start ); + void STDMETHODCALLTYPE Error(); + void STDMETHODCALLTYPE Warning( long WarningType, long Param, BSTR Description ); + void STDMETHODCALLTYPE EndOfStream( long Result ); + void STDMETHODCALLTYPE PositionChange( double oldPosition, double newPosition); + void STDMETHODCALLTYPE MarkerHit( long MarkerNum ); + void STDMETHODCALLTYPE DurationUnitChange( long NewDurationUnit ); + void STDMETHODCALLTYPE CdromMediaChange( long CdromNum ); + void STDMETHODCALLTYPE PlaylistChange( IDispatch * Playlist, WMPPlaylistChangeEventType change ); + void STDMETHODCALLTYPE CurrentPlaylistChange( WMPPlaylistChangeEventType change ); + void STDMETHODCALLTYPE CurrentPlaylistItemAvailable( BSTR bstrItemName ); + void STDMETHODCALLTYPE MediaChange( IDispatch * Item ); + void STDMETHODCALLTYPE CurrentMediaItemAvailable( BSTR bstrItemName ); + void STDMETHODCALLTYPE CurrentItemChange( IDispatch *pdispMedia); + void STDMETHODCALLTYPE MediaCollectionChange(); + void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded( BSTR bstrAttribName, BSTR bstrAttribVal ); + void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved( BSTR bstrAttribName, BSTR bstrAttribVal ); + void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged( BSTR bstrAttribName, BSTR bstrOldAttribVal, BSTR bstrNewAttribVal); + void STDMETHODCALLTYPE PlaylistCollectionChange(); + void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded( BSTR bstrPlaylistName); + void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved( BSTR bstrPlaylistName); + void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted( BSTR bstrPlaylistName, VARIANT_BOOL varfIsDeleted); + void STDMETHODCALLTYPE ModeChange( BSTR ModeName, VARIANT_BOOL NewValue); + void STDMETHODCALLTYPE MediaError( IDispatch * pMediaObject); + void STDMETHODCALLTYPE OpenPlaylistSwitch( IDispatch *pItem ); + void STDMETHODCALLTYPE DomainChange( BSTR strDomain); + void STDMETHODCALLTYPE SwitchedToPlayerApplication(); + void STDMETHODCALLTYPE SwitchedToControl(); + void STDMETHODCALLTYPE PlayerDockedStateChange(); + void STDMETHODCALLTYPE PlayerReconnect(); + void STDMETHODCALLTYPE Click( short nButton, short nShiftState, long fX, long fY ); + void STDMETHODCALLTYPE DoubleClick( short nButton, short nShiftState, long fX, long fY ); + void STDMETHODCALLTYPE KeyDown( short nKeyCode, short nShiftState ); + void STDMETHODCALLTYPE KeyPress( short nKeyAscii ); + void STDMETHODCALLTYPE KeyUp( short nKeyCode, short nShiftState ); + void STDMETHODCALLTYPE MouseDown( short nButton, short nShiftState, long fX, long fY ); + void STDMETHODCALLTYPE MouseMove( short nButton, short nShiftState, long fX, long fY ); + void STDMETHODCALLTYPE MouseUp( short nButton, short nShiftState, long fX, long fY ); + +private: + void ReleaseCore(); + + HWND m_hwndParent; + CComPtr m_spCore; + CComPtr m_spConnectionPoint; + DWORD m_dwAdviseCookie; +}; + +#endif //__PROJECTMWMP_H_ diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.idl b/src/projectM-wmp/projectM-wmp/projectM-wmp.idl new file mode 100644 index 0000000000..593e883820 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.idl @@ -0,0 +1,40 @@ +// iprojectM-wmp.idl : IDL source for projectM-wmp.dll +// Copyright (c) Microsoft Corporation. All rights reserved. + +// This file will be processed by the MIDL tool to +// produce the type library (iprojectM-wmp.tlb) and marshalling code. + +import "oaidl.idl"; +import "ocidl.idl"; + [ + object, + uuid(8E230690-504E-471D-B3B7-C8EE5C874B96), + dual, + helpstring("IProjectMwmp Interface"), + pointer_default(unique) + ] + interface IProjectMwmp : IDispatch + { + [propget, id(1), helpstring("property foregroundColor")] HRESULT foregroundColor([out, retval] BSTR *pVal); + [propput, id(1), helpstring("property foregroundColor")] HRESULT foregroundColor([in] BSTR newVal); + }; + +[ + uuid(0EEBF2FE-5198-43EE-980A-57C120606942), + version(1.0), + helpstring("ProjectMwmp 1.0 Type Library") +] +library PROJECTMWMPLib +{ + importlib("stdole32.tlb"); + importlib("stdole2.tlb"); + + [ + uuid(0F04F51D-A1EA-4F41-908B-28BC5BC00FA8), + helpstring("ProjectMwmp Class") + ] + coclass ProjectMwmp + { + [default] interface IProjectMwmp; + }; +}; diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.rc b/src/projectM-wmp/projectM-wmp/projectM-wmp.rc new file mode 100644 index 0000000000..e9c87297f3 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.rc @@ -0,0 +1,122 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "1 TYPELIB ""projectM-wmp.tlb""\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "ProjectMwmp" + VALUE "FileDescription", "ProjectMwmp Module" + VALUE "FileVersion", "1, 0, 0, 1" + VALUE "InternalName", "ProjectMwmp" + VALUE "LegalCopyright", "Copyright � 2001-2001" + VALUE "OriginalFilename", "projectM-wmp.dll" + VALUE "ProductName", "ProjectMwmp Module" + VALUE "ProductVersion", "1, 0, 0, 1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_PROJECTMWMP REGISTRY "projectM-wmp.rgs" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_PROJNAME "projectM-wmp" + IDS_EFFECTNAME "projectM" + IDS_DESCRIPTION "Open-Source Music Visualizer" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +1 TYPELIB "projectM-wmp.tlb" + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs b/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs new file mode 100644 index 0000000000..6337ab19e9 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs @@ -0,0 +1,41 @@ +HKCR +{ + NoRemove CLSID + { + ForceRemove {0F04F51D-A1EA-4F41-908B-28BC5BC00FA8} = s 'ProjectMwmp Class' + { + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + 'TypeLib' = s '{0EEBF2FE-5198-43EE-980A-57C120606942}' + } + } +} +HKEY_LOCAL_MACHINE +{ + NoRemove SOFTWARE + { + NoRemove Microsoft + { + NoRemove MediaPlayer + { + NoRemove Objects + { + NoRemove Effects + { + ForceRemove ProjectMwmp + { + Properties + { + val classid = s '{0F04F51D-A1EA-4F41-908B-28BC5BC00FA8}' + val name = s 'res://projectM-wmp.dll/RT_STRING/#101' + val description = s 'res://projectM-wmp.dll/RT_STRING/#105' + } + } + } + } + } + } + } +} diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj b/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj new file mode 100644 index 0000000000..27a87a7a8d --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c b/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c new file mode 100644 index 0000000000..e4f0eb32a1 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c @@ -0,0 +1,85 @@ + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 7.00.0500 */ +/* at Mon Mar 24 00:15:24 2008 + */ +/* Compiler settings for .\projectM-wmp.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, IID_IProjectMwmp,0x8E230690,0x504E,0x471D,0xB3,0xB7,0xC8,0xEE,0x5C,0x87,0x4B,0x96); + + +MIDL_DEFINE_GUID(IID, LIBID_PROJECTMWMPLib,0x0EEBF2FE,0x5198,0x43EE,0x98,0x0A,0x57,0xC1,0x20,0x60,0x69,0x42); + + +MIDL_DEFINE_GUID(CLSID, CLSID_ProjectMwmp,0x0F04F51D,0xA1EA,0x4F41,0x90,0x8B,0x28,0xBC,0x5B,0xC0,0x0F,0xA8); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp new file mode 100644 index 0000000000..373eea9b09 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp @@ -0,0 +1,81 @@ +// projectM-wmpdll.cpp : Implementation of DLL Exports. +// Copyright (c) Microsoft Corporation. All rights reserved. + +#include "stdafx.h" +#include "resource.h" +#include +#include "wmpplug.h" +#include "projectM-wmp_h.h" +#include "projectM-wmp_i.c" +#include "projectM-wmp.h" + + +CComModule _Module; + +BEGIN_OBJECT_MAP(ObjectMap) +OBJECT_ENTRY(CLSID_ProjectMwmp, CProjectMwmp) +END_OBJECT_MAP() + +///////////////////////////////////////////////////////////////////////////// +// DLL Entry Point + +extern "C" +BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) +{ + if (dwReason == DLL_PROCESS_ATTACH) + { + _Module.Init(ObjectMap, hInstance, &LIBID_PROJECTMWMPLib); + DisableThreadLibraryCalls(hInstance); + } + else if (dwReason == DLL_PROCESS_DETACH) + _Module.Term(); + return TRUE; // ok +} + +///////////////////////////////////////////////////////////////////////////// +// Used to determine whether the DLL can be unloaded by OLE + +STDAPI DllCanUnloadNow(void) +{ + return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; +} + +///////////////////////////////////////////////////////////////////////////// +// Returns a class factory to create an object of the requested type + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ + return _Module.GetClassObject(rclsid, riid, ppv); +} + +///////////////////////////////////////////////////////////////////////////// +// DllRegisterServer - Adds entries to the system registry + +STDAPI DllRegisterServer(void) +{ + // registers object, typelib and all interfaces in typelib + + HRESULT hr = _Module.RegisterServer(); + + // Notify WMP that plugin has been added + + WMPNotifyPluginAddRemove(); + + return hr; +} + +///////////////////////////////////////////////////////////////////////////// +// DllUnregisterServer - Removes entries from the system registry + +STDAPI DllUnregisterServer(void) +{ + HRESULT hr = _Module.UnregisterServer(); + + // Notify WMP that plugin has been removed + + WMPNotifyPluginAddRemove(); + + return hr; +} + + diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp new file mode 100644 index 0000000000..d88be69351 --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp @@ -0,0 +1,351 @@ +///////////////////////////////////////////////////////////////////////////// +// +// projectM-wmpEvents.cpp : Implementation of CProjectMwmp events +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +///////////////////////////////////////////////////////////////////////////// + +#include "stdafx.h" +#include "projectM-wmp.h" + +extern projectM* globalPM; + +void CProjectMwmp::OpenStateChange( long NewState ) +{ + switch (NewState) + { + case wmposUndefined: + break; + case wmposPlaylistChanging: + break; + case wmposPlaylistLocating: + break; + case wmposPlaylistConnecting: + break; + case wmposPlaylistLoading: + break; + case wmposPlaylistOpening: + break; + case wmposPlaylistOpenNoMedia: + break; + case wmposPlaylistChanged: + break; + case wmposMediaChanging: + break; + case wmposMediaLocating: + break; + case wmposMediaConnecting: + break; + case wmposMediaLoading: + break; + case wmposMediaOpening: + break; + case wmposMediaOpen: + break; + case wmposBeginCodecAcquisition: + break; + case wmposEndCodecAcquisition: + break; + case wmposBeginLicenseAcquisition: + break; + case wmposEndLicenseAcquisition: + break; + case wmposBeginIndividualization: + break; + case wmposEndIndividualization: + break; + case wmposMediaWaiting: + break; + case wmposOpeningUnknownURL: + break; + default: + break; + } +} + +void CProjectMwmp::PlayStateChange( long NewState ) +{ + switch (NewState) + { + case wmppsUndefined: + break; + case wmppsStopped: + break; + case wmppsPaused: + break; + case wmppsPlaying: + break; + case wmppsScanForward: + break; + case wmppsScanReverse: + break; + case wmppsBuffering: + break; + case wmppsWaiting: + break; + case wmppsMediaEnded: + break; + case wmppsTransitioning: + break; + case wmppsReady: + break; + case wmppsReconnecting: + break; + case wmppsLast: + break; + default: + break; + } +} + +void CProjectMwmp::AudioLanguageChange( long LangID ) +{ +} + +void CProjectMwmp::StatusChange() +{ +} + +void CProjectMwmp::ScriptCommand( BSTR scType, BSTR Param ) +{ +} + +void CProjectMwmp::NewStream() +{ +} + +void CProjectMwmp::Disconnect( long Result ) +{ +} + +void CProjectMwmp::Buffering( VARIANT_BOOL Start ) +{ +} + +void CProjectMwmp::Error() +{ + CComPtr spError; + CComPtr spErrorItem; + HRESULT dwError = S_OK; + HRESULT hr = S_OK; + + if (m_spCore) + { + hr = m_spCore->get_error(&spError); + + if (SUCCEEDED(hr)) + { + hr = spError->get_item(0, &spErrorItem); + } + + if (SUCCEEDED(hr)) + { + hr = spErrorItem->get_errorCode( (long *) &dwError ); + } + } +} + +void CProjectMwmp::Warning( long WarningType, long Param, BSTR Description ) +{ +} + +void CProjectMwmp::EndOfStream( long Result ) +{ +} + +void CProjectMwmp::PositionChange( double oldPosition, double newPosition) +{ +} + +void CProjectMwmp::MarkerHit( long MarkerNum ) +{ +} + +void CProjectMwmp::DurationUnitChange( long NewDurationUnit ) +{ +} + +void CProjectMwmp::CdromMediaChange( long CdromNum ) +{ +} + +void CProjectMwmp::PlaylistChange( IDispatch * Playlist, WMPPlaylistChangeEventType change ) +{ + switch (change) + { + case wmplcUnknown: + break; + case wmplcClear: + break; + case wmplcInfoChange: + break; + case wmplcMove: + break; + case wmplcDelete: + break; + case wmplcInsert: + break; + case wmplcAppend: + break; + case wmplcPrivate: + break; + case wmplcNameChange: + break; + case wmplcMorph: + break; + case wmplcSort: + break; + case wmplcLast: + break; + default: + break; + } +} + +void CProjectMwmp::CurrentPlaylistChange( WMPPlaylistChangeEventType change ) +{ + switch (change) + { + case wmplcUnknown: + break; + case wmplcClear: + break; + case wmplcInfoChange: + break; + case wmplcMove: + break; + case wmplcDelete: + break; + case wmplcInsert: + break; + case wmplcAppend: + break; + case wmplcPrivate: + break; + case wmplcNameChange: + break; + case wmplcMorph: + break; + case wmplcSort: + break; + case wmplcLast: + break; + default: + break; + } +} + +void CProjectMwmp::CurrentPlaylistItemAvailable( BSTR bstrItemName ) +{ +} + +void CProjectMwmp::MediaChange( IDispatch * Item ) +{ +} + +void CProjectMwmp::CurrentMediaItemAvailable( BSTR bstrItemName ) +{ +} + +void CProjectMwmp::CurrentItemChange( IDispatch *pdispMedia) +{ +} + +void CProjectMwmp::MediaCollectionChange() +{ +} + +void CProjectMwmp::MediaCollectionAttributeStringAdded( BSTR bstrAttribName, BSTR bstrAttribVal ) +{ +} + +void CProjectMwmp::MediaCollectionAttributeStringRemoved( BSTR bstrAttribName, BSTR bstrAttribVal ) +{ +} + +void CProjectMwmp::MediaCollectionAttributeStringChanged( BSTR bstrAttribName, BSTR bstrOldAttribVal, BSTR bstrNewAttribVal) +{ +} + +void CProjectMwmp::PlaylistCollectionChange() +{ +} + +void CProjectMwmp::PlaylistCollectionPlaylistAdded( BSTR bstrPlaylistName) +{ +} + +void CProjectMwmp::PlaylistCollectionPlaylistRemoved( BSTR bstrPlaylistName) +{ +} + +void CProjectMwmp::PlaylistCollectionPlaylistSetAsDeleted( BSTR bstrPlaylistName, VARIANT_BOOL varfIsDeleted) +{ +} + +void CProjectMwmp::ModeChange( BSTR ModeName, VARIANT_BOOL NewValue) +{ +} + +void CProjectMwmp::MediaError( IDispatch * pMediaObject) +{ +} + +void CProjectMwmp::OpenPlaylistSwitch( IDispatch *pItem ) +{ +} + +void CProjectMwmp::DomainChange( BSTR strDomain) +{ +} + +void CProjectMwmp::SwitchedToPlayerApplication() +{ +} + +void CProjectMwmp::SwitchedToControl() +{ +} + +void CProjectMwmp::PlayerDockedStateChange() +{ +} + +void CProjectMwmp::PlayerReconnect() +{ +} + +void CProjectMwmp::Click( short nButton, short nShiftState, long fX, long fY ) +{ +} + +void CProjectMwmp::DoubleClick( short nButton, short nShiftState, long fX, long fY ) +{ +} + +void CProjectMwmp::KeyDown( short nKeyCode, short nShiftState ) +{ + + //if(nKeyCode)nKeyCode = 4; + globalPM->key_handler(PROJECTM_KEYDOWN,PROJECTM_K_n,PROJECTM_KMOD_RSHIFT); +} +void CProjectMwmp::KeyPress( short nKeyAscii ) +{ +} + +void CProjectMwmp::KeyUp( short nKeyCode, short nShiftState ) +{ +} + +void CProjectMwmp::MouseDown( short nButton, short nShiftState, long fX, long fY ) +{ +} + +void CProjectMwmp::MouseMove( short nButton, short nShiftState, long fX, long fY ) +{ +} + +void CProjectMwmp::MouseUp( short nButton, short nShiftState, long fX, long fY ) +{ +} diff --git a/src/projectM-wmp/projectM-wmp/resource.h b/src/projectM-wmp/projectM-wmp/resource.h new file mode 100644 index 0000000000..d0fc91c72f --- /dev/null +++ b/src/projectM-wmp/projectM-wmp/resource.h @@ -0,0 +1,21 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by projectM-wmp.rc +// +#define IDS_PROJNAME 100 +#define IDS_EFFECTNAME 101 +#define IDS_BARSPRESETNAME 102 +#define IDS_SCOPEPRESETNAME 103 +#define IDR_PROJECTMWMP 104 +#define IDS_DESCRIPTION 105 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 201 +#define _APS_NEXT_COMMAND_VALUE 32768 +#define _APS_NEXT_CONTROL_VALUE 201 +#define _APS_NEXT_SYMED_VALUE 105 +#endif +#endif diff --git a/src/projectM-wxvis/CVS/Entries b/src/projectM-wxvis/CVS/Entries deleted file mode 100755 index bfed388f2c..0000000000 --- a/src/projectM-wxvis/CVS/Entries +++ /dev/null @@ -1,13 +0,0 @@ -/Info.plist/1.1/Thu Oct 7 04:00:01 2004// -/PkgInfo/1.1/Thu Oct 7 04:00:01 2004// -/projectM.icns/1.1/Thu Oct 7 04:00:01 2004/-kb/ -/wxprojectMvis.dsp/1.3/Fri Oct 8 16:01:08 2004// -/debugFile.c/1.2/Fri Nov 12 15:46:14 2004// -/debugFile.h/1.2/Fri Nov 12 15:46:23 2004// -/wxprojectMvisApp.cpp/1.6/Fri Nov 12 15:47:27 2004// -/wxprojectMvisApp.h/1.2/Fri Nov 12 15:47:27 2004// -/wxprojectMvisCanvas.cpp/1.5/Fri Nov 12 15:47:27 2004// -/wxprojectMvisCanvas.h/1.4/Fri Nov 12 15:46:39 2004// -/wxprojectMvisFrame.cpp/1.3/Fri Nov 12 15:47:16 2004// -/wxprojectMvisFrame.h/1.3/Fri Nov 12 15:46:47 2004// -D diff --git a/src/projectM-wxvis/CVS/Repository b/src/projectM-wxvis/CVS/Repository deleted file mode 100755 index 0c9433e810..0000000000 --- a/src/projectM-wxvis/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -/home/cvs/cvs/projectM/src/wxprojectMvis diff --git a/src/projectM-wxvis/CVS/Root b/src/projectM-wxvis/CVS/Root deleted file mode 100755 index b7048fdbb2..0000000000 --- a/src/projectM-wxvis/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:cvs@titan:/home/cvs/cvs diff --git a/src/projectM-wxvis/wxvisCanvas.cpp b/src/projectM-wxvis/wxvisCanvas.cpp index 964c07f207..a1e15a81b4 100755 --- a/src/projectM-wxvis/wxvisCanvas.cpp +++ b/src/projectM-wxvis/wxvisCanvas.cpp @@ -33,7 +33,7 @@ #include #include -#include +#include #include "wxvisApp.h" #include "wxvisFrame.h" diff --git a/src/projectM-xmms/CMakeLists.txt b/src/projectM-xmms/CMakeLists.txt deleted file mode 100644 index b36c8b868c..0000000000 --- a/src/projectM-xmms/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -PROJECT(xmms_projectM) -ADD_LIBRARY(xmms_projectM SHARED main.cpp sdltoprojectM.h video_init.cpp ConfigFile.h ConfigFile.cpp) - -INCLUDE(FindPkgConfig.cmake) - -FIND_PACKAGE(OpenGL) -FIND_PACKAGE(GTK) -FIND_PACKAGE(SDL) - -pkg_search_module(PROJECTM REQUIRED libprojectM) - -ADD_DEFINITIONS(-DLINUX -DPROJECTM_PREFIX='"${PROJECTM_PREFIX}"') - -INCLUDE_DIRECTORIES(${PROJECTM_INCLUDEDIR} ${SDL_INCLUDE_DIR} ${GTK_INCLUDE_DIR}) -LINK_DIRECTORIES(${PROJECTM_LDFLAGS}) - -TARGET_LINK_LIBRARIES(xmms_projectM projectM ${SDL_LIBRARY} ${GTK_LIBRARIES}) - -INSTALL(TARGETS xmms_projectM DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/xmms/Visualization ) \ No newline at end of file diff --git a/src/projectM-xmms/FindPkgConfig.cmake b/src/projectM-xmms/FindPkgConfig.cmake deleted file mode 100644 index afae15cb02..0000000000 --- a/src/projectM-xmms/FindPkgConfig.cmake +++ /dev/null @@ -1,360 +0,0 @@ -# - a pkg-config module for CMake -# -# Usage: -# pkg_check_modules( [REQUIRED] []*) -# checks for all the given modules -# -# pkg_search_module( [REQUIRED] []*) -# checks for given modules and uses the first working one -# -# When the 'REQUIRED' argument was set, macros will fail with an error -# when module(s) could not be found -# -# It sets the following variables: -# PKG_CONFIG_FOUND ... true iff pkg-config works on the system -# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program -# _FOUND ... set to 1 iff module(s) exist -# -# For the following variables two sets of values exist; first one is the -# common one and has the given PREFIX. The second set contains flags -# which are given out when pkgconfig was called with the '--static' -# option. -# _LIBRARIES ... only the libraries (w/o the '-l') -# _LIBRARY_DIRS ... the paths of the libraries (w/o the '-L') -# _LDFLAGS ... all required linker flags -# _LDFLAGS_OTHERS ... all other linker flags -# _INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I') -# _CFLAGS ... all required cflags -# _CFLAGS_OTHERS ... the other compiler flags -# -# = for common case -# = _STATIC for static linking -# -# There are some special variables whose prefix depends on the count -# of given modules. When there is only one module, stays -# unchanged. When there are multiple modules, the prefix will be -# changed to _: -# _VERSION ... version of the module -# _PREFIX ... prefix-directory of the module -# _INCLUDEDIR ... include-dir of the module -# _LIBDIR ... lib-dir of the module -# -# = when |MODULES| == 1, else -# = _ -# -# A parameter can have the following formats: -# {MODNAME} ... matches any version -# {MODNAME}>={VERSION} ... at least version is required -# {MODNAME}={VERSION} ... exactly version is required -# {MODNAME}<={VERSION} ... modules must not be newer than -# -# Examples -# pkg_check_modules (GLIB2 glib-2.0) -# -# pkg_check_modules (GLIB2 glib-2.0>=2.10) -# requires at least version 2.10 of glib2 and defines e.g. -# GLIB2_VERSION=2.10.3 -# -# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0) -# requires both glib2 and gtk2, and defines e.g. -# FOO_glib-2.0_VERSION=2.10.3 -# FOO_gtk+-2.0_VERSION=2.8.20 -# -# pkg_check_modules (XRENDER REQUIRED xrender) -# defines e.g.: -# XRENDER_LIBRARIES=Xrender;X11 -# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp -# -# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2) - - -# Copyright (C) 2006 Enrico Scholz -# -# Redistribution and use, with or without modification, are permitted -# provided that the following conditions are met: -# -# 1. Redistributions must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# 2. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - - -### Common stuff #### -set(PKG_CONFIG_VERSION 1) -set(PKG_CONFIG_FOUND 0) - -find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") -mark_as_advanced(PKG_CONFIG_EXECUTABLE) - -if(PKG_CONFIG_EXECUTABLE) - set(PKG_CONFIG_FOUND 1) -endif(PKG_CONFIG_EXECUTABLE) - - -# Unsets the given variables -macro(_pkgconfig_unset var) - set(${var} "" CACHE INTERNAL "") -endmacro(_pkgconfig_unset) - -macro(_pkgconfig_set var value) - set(${var} ${value} CACHE INTERNAL "") -endmacro(_pkgconfig_set) - -# Invokes pkgconfig, cleans up the result and sets variables -macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp) - set(_pkgconfig_invoke_result) - - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist} - OUTPUT_VARIABLE _pkgconfig_invoke_result - RESULT_VARIABLE _pkgconfig_failed) - - if (_pkgconfig_failed) - set(_pkgconfig_${_varname} "") - _pkgconfig_unset(${_prefix}_${_varname}) - else(_pkgconfig_failed) - string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - - if (NOT ${_regexp} STREQUAL "") - string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - endif(NOT ${_regexp} STREQUAL "") - - separate_arguments(_pkgconfig_invoke_result) - - #message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}") - set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result}) - _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}") - endif(_pkgconfig_failed) -endmacro(_pkgconfig_invoke) - -# Invokes pkgconfig two times; once without '--static' and once with -# '--static' -macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp) - _pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN}) - _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN}) -endmacro(_pkgconfig_invoke_dyn) - -# Splits given arguments into options and a package list -macro(_pkgconfig_parse_options _result _is_req) - set(${_is_req} 0) - - foreach(_pkg ${ARGN}) - if (_pkg STREQUAL "REQUIRED") - set(${_is_req} 1) - endif (_pkg STREQUAL "REQUIRED") - endforeach(_pkg ${ARGN}) - - set(${_result} ${ARGN}) - list(REMOVE_ITEM ${_result} "REQUIRED") -endmacro(_pkgconfig_parse_options) - -### -macro(_pkg_check_modules_internal _is_required _is_silent _prefix) - _pkgconfig_unset(${_prefix}_FOUND) - _pkgconfig_unset(${_prefix}_VERSION) - _pkgconfig_unset(${_prefix}_PREFIX) - _pkgconfig_unset(${_prefix}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_LIBDIR) - _pkgconfig_unset(${_prefix}_LIBS) - _pkgconfig_unset(${_prefix}_LIBS_L) - _pkgconfig_unset(${_prefix}_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_CFLAGS) - _pkgconfig_unset(${_prefix}_CFLAGS_I) - _pkgconfig_unset(${_prefix}_CFLAGS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_LIBDIR) - _pkgconfig_unset(${_prefix}_STATIC_LIBS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_L) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER) - - # create a better addressable variable of the modules and calculate its size - set(_pkg_check_modules_list ${ARGN}) - list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt) - - if(PKG_CONFIG_EXECUTABLE) - # give out status message telling checked module - if (NOT ${_is_silent}) - if (_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for module '${_pkg_check_modules_list}'") - else(_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for modules '${_pkg_check_modules_list}'") - endif(_pkg_check_modules_cnt EQUAL 1) - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_packages) - set(_pkg_check_modules_failed) - - # iterate through module list and check whether they exist and match the required version - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list}) - set(_pkg_check_modules_exist_query) - - # check whether version is given - if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}") - else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - set(_pkg_check_modules_pkg_op) - set(_pkg_check_modules_pkg_ver) - endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - - # handle the operands - if (_pkg_check_modules_pkg_op STREQUAL ">=") - list(APPEND _pkg_check_modules_exist_query --atleast-version) - endif(_pkg_check_modules_pkg_op STREQUAL ">=") - - if (_pkg_check_modules_pkg_op STREQUAL "=") - list(APPEND _pkg_check_modules_exist_query --exact-version) - endif(_pkg_check_modules_pkg_op STREQUAL "=") - - if (_pkg_check_modules_pkg_op STREQUAL "<=") - list(APPEND _pkg_check_modules_exist_query --max-version) - endif(_pkg_check_modules_pkg_op STREQUAL "<=") - - # create the final query which is of the format: - # * --atleast-version - # * --exact-version - # * --max-version - # * --exists - if (_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}") - else(_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query --exists) - endif(_pkg_check_modules_pkg_op) - - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR) - - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}") - list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}") - - # execute the query - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query} - RESULT_VARIABLE _pkgconfig_retval) - - # evaluate result and tell failures - if (_pkgconfig_retval) - if(NOT ${_is_silent}) - message(STATUS " package '${_pkg_check_modules_pkg}' not found") - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_failed 1) - endif(_pkgconfig_retval) - endforeach(_pkg_check_modules_pkg) - - if(_pkg_check_modules_failed) - # fail when requested - if (${_is_required}) - message(SEND_ERROR "A required package was not found") - endif (${_is_required}) - else(_pkg_check_modules_failed) - # when we are here, we checked whether requested modules - # exist. Now, go through them and set variables - - _pkgconfig_set(${_prefix}_FOUND 1) - list(LENGTH _pkg_check_modules_packages pkg_count) - - # iterate through all modules again and set individual variables - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages}) - # handle case when there is only one package required - if (pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}") - else(pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}") - endif(pkg_count EQUAL 1) - - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir ) - - message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}") - endforeach(_pkg_check_modules_pkg) - - # set variables which are combined for multiple modules - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other ) - - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other ) - endif(_pkg_check_modules_failed) - else(PKG_CONFIG_EXECUTABLE) - if (${_is_required}) - message(SEND_ERROR "pkg-config tool not found") - endif (${_is_required}) - endif(PKG_CONFIG_EXECUTABLE) -endmacro(_pkg_check_modules_internal) - -### -### User visible macros start here -### - -### -macro(pkg_check_modules _prefix _module0) - # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - _pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN}) - _pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules}) - - _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) - endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_check_modules) - -### -macro(pkg_search_module _prefix _module0) - # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - set(_pkg_modules_found 0) - _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN}) - - message(STATUS "checking for one of the modules '${_pkg_modules_alt}'") - - # iterate through all modules and stop at the first working one. - foreach(_pkg_alt ${_pkg_modules_alt}) - if(NOT _pkg_modules_found) - _pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}") - endif(NOT _pkg_modules_found) - - if (${_prefix}_FOUND) - set(_pkg_modules_found 1) - endif(${_prefix}_FOUND) - endforeach(_pkg_alt) - - if (NOT ${_prefix}_FOUND) - if(${_pkg_is_required}) - message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found") - endif(${_pkg_is_required}) - endif(NOT ${_prefix}_FOUND) - - _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) - endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_search_module) - -### Local Variables: -### mode: cmake -### End: diff --git a/src/projectM-xmms/INSTALL b/src/projectM-xmms/INSTALL index f3846d995a..60fa587dbc 100755 --- a/src/projectM-xmms/INSTALL +++ b/src/projectM-xmms/INSTALL @@ -1,229 +1,7 @@ -Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. +Install libprojectM 1.0 and XMMS, then: - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. +cmake . -DCMAKE_BUILD_TYPE=RELEASE +make +make install +You may need to type ccmake . and change the PREFIX if your system prefers /usr instead of /usr/local. \ No newline at end of file diff --git a/src/projectM-xmms/README b/src/projectM-xmms/README index 09c126a3b0..63c0eafed8 100755 --- a/src/projectM-xmms/README +++ b/src/projectM-xmms/README @@ -1,81 +1,6 @@ -PROJECTM README FILE --------------------------------- +see INSTALL -QUICK OVERVIEW ----------------------- -projectM started initially as a reimplementation of the Win32/DirectX based music visualizer Milkdrop under Linux/SDL/OpenGl/XMMS. -It currently supports up to Milkdrop 1.04b presets, but there are some bugs with certain presets containing 1.04 features This project -is 100% GPL'ed - feel free to use the code for whatever. - -WARNING ------------------------- -This is a beta release. There some known bugs, and likely unknown ones. -Please report bugs at the project web page at source forge: http://xmms-projectm.sourceforge.net - -INSTALL ------------------------- - -]1] Install SDL 1.3 branch - -(Un)fortunately there is a special feature in a development branch of SDL dubbed "branch_1_3_x" that projectM requires to handle -different texture sizes and window resizing. This code is under CVS at SDL's sourceforge site, and has not been thoroughly -tested. However, the developers have found it stable enough to merit installation. We provide a source tarball of a recent -CVS version on our website (http://xmms-projectm.sourceforge.net). - - -Once you have downloaded the tarball SDL-1.3.0.tar.gz do the following: - -As usual, run - -sh> ./configure - -followed by - -sh> make - -and as root - -sh> make install - -NOTE: this will install SDL in /usr/local, so when you compile projectM make sure that it finds SDL-1.3 and -not SDL-1.2 (which is likely in /usr with most distributions). Hopefully the configure script will verify this -automatically for you. To force SDL into /usr, type - -./configure --prefix=/usr - -followed by typical make and make install. - -[2] Install projectM - -If you haven't already, download the latest tarball release from http://xmms-projectm.sourceforge.net. - -Then run - -sh> ./configure - -followed by - -sh> make - -and as root - -sh> make install - -This will install projectM into XMMS's Visualization plugin directory. projectM's configuration -files, including the default packaged presets are in /etc/projectM. - -Enable projectM by loading XMMS and pressing CTRL-v. This will bring up the vis plugin menu. Highlight -projectM in the list (if it's not there something went wrong during installation), and click the enable -button. Sit back and enjoy the trippy visuals... - -CONFIGURE ----------- - -edit /etc/projectM/config - - -CREDIT / CONTACT ------------------- +projectM config file now stored at ~/.projectM/config.inp Main Developers: diff --git a/src/projectM-xmms/main.cpp b/src/projectM-xmms/main.cpp index deaa0be81f..a5f34c83f0 100755 --- a/src/projectM-xmms/main.cpp +++ b/src/projectM-xmms/main.cpp @@ -1,474 +1,481 @@ -/* -projectM v1.01 - xmms-projectm.sourceforge.net --------------------------------------------------- - -Lead Developers: Carmelo Piccione (carmelo.piccione@gmail.com) & - Peter Sperl (peter@sperl.com) - -We have also been advised by some professors at CMU, namely Roger B. Dannenberg. -http://www-2.cs.cmu.edu/~rbd/ - -The inspiration for this program was Milkdrop by Ryan Geiss. Obviously. - -This code is distributed under the GPL. - - -THANKS FOR THE CODE!!! -------------------------------------------------- -The base for this program was andy@nobugs.org's XMMS plugin tutorial -http://www.xmms.org/docs/vis-plugin.html - -We used some FFT code by Takuya OOURA instead of XMMS' built-in fft code -fftsg.c - http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html - -and some beat detection code was inspired by Frederic Patin @ -www.gamedev.net/reference/programming/features/beatdetection/ - -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "ConfigFile.h" - -#include -#include -#include -#include -#include "sdltoprojectM.h" -#include "video_init.h" - -#define CONFIG_FILE "/share/projectM/config.inp" - -// Forward declarations -extern "C" void projectM_xmms_init(void); -extern "C" void projectM_cleanup(void); -extern "C" void projectM_about(void); -extern "C" void projectM_configure(void); -extern "C" void projectM_playback_start(void); -extern "C" void projectM_playback_stop(void); -extern "C" void projectM_render_pcm(gint16 pcm_data[2][512]); -extern "C" void projectM_render_freq(gint16 pcm_data[2][256]); -extern "C" int worker_func(void*); -extern "C" VisPlugin *get_vplugin_info(); -std::string read_config(); -void saveSnapshotToFile(); -//extern preset_t * active_preset; - -//FILE * debugFile = fopen("./dwrite-dump", "wb"); - -// Callback functions -VisPlugin projectM_vtable = { - NULL, // Handle, filled in by xmms - NULL, // Filename, filled in by xmms - 0, // Session ID - "projectM v1.00", // description - 2, // # of PCM channels for render_pcm() - 0, // # of freq channels wanted for render_freq() - projectM_xmms_init, // Called when plugin is enabled - projectM_cleanup, // Called when plugin is disabled - projectM_about, // Show the about box - projectM_configure, // Show the configure box - NULL, // Called to disable plugin, filled in by xmms - projectM_playback_start, // Called when playback starts - projectM_playback_stop, // Called when playback stops - projectM_render_pcm, // Render the PCM data, must return quickly - projectM_render_freq // Render the freq data, must return quickly -}; - -// XMMS entry point -extern "C" VisPlugin *get_vplugin_info(void) -{ - return &projectM_vtable; -} - -// Our worker thread -SDL_Thread *worker_thread; -SDL_sem *sem; -SDL_mutex *mutex; - -SDL_Event event; - -SDL_Surface *screen; - - -projectM * globalPM = NULL; - -int maxsamples=512; - -int texsize=512; -int gx=32,gy=24; -int wvw=400,wvh=400; -int fvw=1024,fvh=768; -int fps=35, fullscreen=0; - -// char *title; - -gint disable_projectm(void *something) { - projectM_vtable.disable_plugin(&projectM_vtable); - return 0; -} - -Uint32 get_xmms_title(Uint32 something, void *somethingelse) { - static char check_title = 1; - static int last_pos; - static char *last_title = NULL; - int pos; - char *title = NULL; - - //Nice optimization, but we want the title no matter what so I can display it when the song changes -#if 0 - if(!(globalPM->showtitle%2)) { - /* Repeat less often when not showing title */ - return 1000; - } -#endif - - pos = xmms_remote_get_playlist_pos(projectM_vtable.xmms_session); - /* Only check every 1 second for title change, otherwise check pos */ - if(check_title || pos != last_pos) { - title = xmms_remote_get_playlist_title( - projectM_vtable.xmms_session, pos); - if(title && (!last_title || strcmp(last_title,title))) { - globalPM->renderer->title = title; - globalPM->renderer->drawtitle = 1; - g_free(last_title); - last_title = title; - } else if(title && last_title != title) { - /* New copy of last title */ - g_free(title); - } - check_title = !check_title; - } - last_pos = pos; - /* Repeat every 500ms */ - return 500; -} - -int capture = 0; - -int worker_func(void*) -{ -// char projectM_data[1024]; - SDL_TimerID title_timer = NULL; - std::string config_file; - config_file = read_config(); - - ConfigFile config(config_file); - - int wvw = config.read( "Window Width", 512 ); - int wvh = config.read( "Window Height", 512 ); - int fullscreen = 0; - if (config.read("Fullscreen", true)) fullscreen = 1; - else fullscreen = 0; - - init_display(wvw,wvh,&fvw,&fvh,fullscreen); - SDL_WM_SetCaption("projectM v1.00", "projectM v1.00"); - - - /** Initialise projectM */ - - globalPM = new projectM(config_file); - - title_timer = SDL_AddTimer(500, get_xmms_title, NULL); - /** Initialise the thread */ - // SDL_SemTryWait(sem); - while ( SDL_SemValue(sem)==1 ) { - projectMEvent evt; - projectMKeycode key; - projectMModifier mod; - - /** Process SDL events */ - SDL_Event event; - while ( SDL_PollEvent( &event ) ) { - /** Translate into projectM codes and process */ - evt = sdl2pmEvent( event ); - - key = sdl2pmKeycode( event.key.keysym.sym ); - mod = sdl2pmModifier( event.key.keysym.mod ); - - if ( evt == PROJECTM_KEYDOWN ) { - - if(key == PROJECTM_K_c) - { - //SDL_SaveBMP(screen, "/home/pete/1.bmp"); - saveSnapshotToFile(); - } - if(key == PROJECTM_K_v) - { - // capture++; - } - if(key == PROJECTM_K_f) - { - - - int w, h; - if (fullscreen == 0) { - w = fvw; - h = fvh; - } else { - w = wvw; - h = wvh; - } - globalPM->fullscreen = fullscreen ^= 1; - resize_display(w, h, fullscreen); - globalPM->projectM_resetGL( w, h ); - } - else globalPM->key_handler(evt,key,mod); - - } - else if ( evt == PROJECTM_VIDEORESIZE ) - { - - - - wvw=event.resize.w; - wvh=event.resize.h; - - - resize_display(wvw,wvh,fullscreen); - globalPM->projectM_resetGL( wvw, wvh ); - - } - else if ( evt == PROJECTM_VIDEOQUIT ) { - - (void) gtk_idle_add (disable_projectm, NULL); - } - } - - /** Add the waveform data */ - - - /** Render the new frame */ - // strcpy(title,xmms_remote_get_playlist_title(projectM_vtable.xmms_session, xmms_remote_get_playlist_pos(projectM_vtable.xmms_session))); - - //printf("%s\n",title); - // strcpy(globalPM->title,title); - //SDL_mutexP(mutex); - globalPM->renderFrame(); - //SDL_mutexV(mutex); - - - SDL_GL_SwapBuffers(); - - if (capture % 2 == 1) saveSnapshotToFile(); - // SDL_SemPost(sem); - } - - - - printf("Worker thread: Exiting\n"); - if(title_timer) - SDL_RemoveTimer(title_timer); - delete globalPM; - close_display(); - - return 0; -} - -extern "C" void projectM_xmms_init(void) -{ - - printf("projectM plugin: Initializing\n"); - - SDL_EnableUNICODE(1); - - mutex = SDL_CreateMutex(); - sem = SDL_CreateSemaphore(1); - worker_thread = SDL_CreateThread ( *worker_func, NULL); - -} - - - -extern "C"void projectM_cleanup(void) -{ - - SDL_SemWait(sem); - SDL_WaitThread(worker_thread, NULL); - // SDL_KillThread(worker_thread); - printf("killed thread\n"); - - - - SDL_DestroyMutex(mutex); - SDL_DestroySemaphore(sem); - printf("Destroy Mutex\n"); - SDL_Quit(); - - printf("projectM plugin: Cleanup completed\n"); -} -extern "C" void projectM_about(void) -{ - printf("projectM plugin: About\n"); -} -extern "C" void projectM_configure(void) -{ - printf("projectM plugin: Configure\n"); -} -extern "C" void projectM_playback_start(void) -{//thread_control = GO; - printf("projectM plugin: Playback starting\n"); -} -extern "C" void projectM_playback_stop(void) -{//thread_control = STOP; - printf("projectM plugin: Playback stopping\n"); -} -extern "C" void projectM_render_pcm(gint16 pcm_data[2][512]) -{ - //SDL_mutexP(mutex); - - globalPM->beatDetect->pcm->addPCM16(pcm_data); - - //SDL_mutexV(mutex); - -} - -extern "C" void projectM_render_freq(gint16 freq_data[2][256]) -{ - printf("NO GOOD\n"); - } - -std::string read_config() -{ - -// int n; - - char num[512]; - FILE *in; - FILE *out; - - char* home; - char projectM_home[1024]; - char projectM_config[1024]; - - strcpy(projectM_config, PROJECTM_PREFIX); - strcpy(projectM_config+strlen(PROJECTM_PREFIX), CONFIG_FILE); - projectM_config[strlen(PROJECTM_PREFIX)+strlen(CONFIG_FILE)]='\0'; - printf("dir:%s \n",projectM_config); - home=getenv("HOME"); - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - - - if ((in = fopen(projectM_home, "r")) != 0) - { - printf("reading ~/.projectM/config.inp \n"); - fclose(in); - return std::string(projectM_home); - } - else - { - printf("trying to create ~/.projectM/config.inp \n"); - - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM"); - projectM_home[strlen(home)+strlen("/.projectM")]='\0'; - mkdir(projectM_home,0755); - - strcpy(projectM_home, home); - strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; - - if((out = fopen(projectM_home,"w"))!=0) - { - - if ((in = fopen(projectM_config, "r")) != 0) - { - - while(fgets(num,80,in)!=NULL) - { - fputs(num,out); - } - fclose(in); - fclose(out); - - - if ((in = fopen(projectM_home, "r")) != 0) - { - printf("created ~/.projectM/config.inp successfully\n"); - fclose(in); - return std::string(projectM_home); - } - else{printf("This shouldn't happen, using implementation defualts\n");abort();} - } - else{printf("Cannot find projectM default config, using implementation defaults\n");abort();} - } - else - { - printf("Cannot create ~/.projectM/config.inp, using default config file\n"); - if ((in = fopen(projectM_config, "r")) != 0) - { printf("Successfully opened default config file\n"); - fclose(in); - return std::string(projectM_config);} - else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} - - } - - } - - - - abort(); -} - -int frame = 1; -char dumpPath[128]; - - -void saveSnapshotToFile() -{ - - SDL_Surface * bitmap; - - GLint viewport[4]; - long bytewidth; - GLint width, height; - long bytes; - - glReadBuffer(GL_FRONT); - glGetIntegerv(GL_VIEWPORT, viewport); - - width = viewport[2]; - height = viewport[3]; - - bytewidth = width * 4; - bytewidth = (bytewidth + 3) & ~3; - bytes = bytewidth * height; - - /* - glFinish(); - glPixelStorei(GL_PACK_ALIGNMENT, 4); - glPixelStorei(GL_PACK_ROW_LENGTH, 0); - glPixelStorei(GL_PACK_SKIP_ROWS, 0); - glPixelStorei(GL_PACK_SKIP_PIXELS, 0); - */ - - - bitmap = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,0,0,0,0); - glReadPixels(0, 0, width, height, - GL_BGRA, - GL_UNSIGNED_INT_8_8_8_8_REV, - bitmap->pixels); - - sprintf(dumpPath, "/home/pete/.projectM/%.8d.bmp", frame++); - - SDL_SaveBMP(bitmap, dumpPath); - - SDL_FreeSurface(bitmap); - - -} - +/* +projectM v1.01 - xmms-projectm.sourceforge.net +-------------------------------------------------- + +Lead Developers: Carmelo Piccione (carmelo.piccione@gmail.com) & + Peter Sperl (peter@sperl.com) + +We have also been advised by some professors at CMU, namely Roger B. Dannenberg. +http://www-2.cs.cmu.edu/~rbd/ + +The inspiration for this program was Milkdrop by Ryan Geiss. Obviously. + +This code is distributed under the GPL. + + +THANKS FOR THE CODE!!! +------------------------------------------------- +The base for this program was andy@nobugs.org's XMMS plugin tutorial +http://www.xmms.org/docs/vis-plugin.html + +We used some FFT code by Takuya OOURA instead of XMMS' built-in fft code +fftsg.c - http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html + +and some beat detection code was inspired by Frederic Patin @ +www.gamedev.net/reference/programming/features/beatdetection/ + +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include "ConfigFile.h" + +#include + +#include "sdltoprojectM.h" +#include "video_init.h" + +#include +#define CONFIG_FILE "/share/projectM/config.inp" + +// Forward declarations +extern "C" void projectM_xmms_init(void); +extern "C" void projectM_cleanup(void); +extern "C" void projectM_about(void); +extern "C" void projectM_configure(void); +extern "C" void projectM_playback_start(void); +extern "C" void projectM_playback_stop(void); +extern "C" void projectM_render_pcm(gint16 pcm_data[2][512]); +extern "C" void projectM_render_freq(gint16 pcm_data[2][256]); +extern "C" int worker_func(void*); +extern "C" VisPlugin *get_vplugin_info(); +std::string read_config(); +void saveSnapshotToFile(); +//extern preset_t * active_preset; + +//FILE * debugFile = fopen("./dwrite-dump", "wb"); + +// Callback functions +VisPlugin projectM_vtable = { + NULL, // Handle, filled in by xmms + NULL, // Filename, filled in by xmms + 0, // Session ID + (char*)"projectM v2.00", // description + 2, // # of PCM channels for render_pcm() + 0, // # of freq channels wanted for render_freq() + projectM_xmms_init, // Called when plugin is enabled + projectM_cleanup, // Called when plugin is disabled + projectM_about, // Show the about box + projectM_configure, // Show the configure box + NULL, // Called to disable plugin, filled in by xmms + projectM_playback_start, // Called when playback starts + projectM_playback_stop, // Called when playback stops + projectM_render_pcm, // Render the PCM data, must return quickly + projectM_render_freq // Render the freq data, must return quickly +}; + +// XMMS entry point +extern "C" VisPlugin *get_vplugin_info(void) +{ + return &projectM_vtable; +} + +// Our worker thread +SDL_Thread *worker_thread; +SDL_sem *sem; +SDL_Event event; + +SDL_Surface *screen; + + +projectM * globalPM = NULL; + +int maxsamples=512; + +int texsize=512; +int gx=32,gy=24; +int wvw=400,wvh=400; +int fvw=1024,fvh=768; +int fps=35, fullscreen=0; + +// char *title; + +gint disable_projectm(void *something) { + projectM_vtable.disable_plugin(&projectM_vtable); + return 0; +} + +Uint32 get_xmms_title(Uint32 something, void *somethingelse) { + static char check_title = 1; + static int last_pos; + static char *last_title = NULL; + int pos; + char *title = NULL; + + //Nice optimization, but we want the title no matter what so I can display it when the song changes +#if 0 + if(!(globalPM->showtitle%2)) { + /* Repeat less often when not showing title */ + return 1000; + } +#endif + + pos = xmms_remote_get_playlist_pos(projectM_vtable.xmms_session); + /* Only check every 1 second for title change, otherwise check pos */ + if(check_title || pos != last_pos) { + title = xmms_remote_get_playlist_title( + projectM_vtable.xmms_session, pos); + if(title && (!last_title || strcmp(last_title,title))) { + //globalPM->renderer->title = title; + //globalPM->renderer->drawtitle = 1; + + std::string titlepp(title); + globalPM->projectM_setTitle(titlepp); + g_free(last_title); + last_title = title; + } else if(title && last_title != title) { + /* New copy of last title */ + g_free(title); + } + check_title = !check_title; + } + last_pos = pos; + /* Repeat every 500ms */ + return 500; +} + +int capture = 0; + +int worker_func(void*) +{ +// char projectM_data[1024]; + SDL_TimerID title_timer = NULL; + std::string config_file; + config_file = read_config(); + ConfigFile config(config_file); + + int wvw = config.read( "Window Width", 512 ); + int wvh = config.read( "Window Height", 512 ); + + int fullscreen = 0; + if (config.read("Fullscreen", true)) fullscreen = 1; + else fullscreen = 0; + + init_display(wvw,wvh,&fvw,&fvh,fullscreen); + SDL_WM_SetCaption("projectM v1.00", "projectM v1.00"); + + /** Initialise projectM */ + + globalPM = new projectM(config_file); + SDL_SemPost(sem); + title_timer = SDL_AddTimer(500, get_xmms_title, NULL); + /** Initialise the thread */ + // SDL_SemTryWait(sem); + while ( SDL_SemValue(sem)==1 ) { + projectMEvent evt; + projectMKeycode key; + projectMModifier mod; + + /** Process SDL events */ + SDL_Event event; + while ( SDL_PollEvent( &event ) ) { + /** Translate into projectM codes and process */ + evt = sdl2pmEvent( event ); + + key = sdl2pmKeycode( event.key.keysym.sym ); + mod = sdl2pmModifier( event.key.keysym.mod ); + + if ( evt == PROJECTM_KEYDOWN ) { + + if(key == PROJECTM_K_c) + { + //SDL_SaveBMP(screen, "/home/pete/1.bmp"); + saveSnapshotToFile(); + } + if(key == PROJECTM_K_v) + { + // capture++; + } + if(key == PROJECTM_K_f) + { + + + int w, h; + if (fullscreen == 0) { + w = fvw; + h = fvh; + fullscreen = 1; + } else { + w = wvw; + h = wvh; + fullscreen = 0; + } + + resize_display(w, h, fullscreen); + globalPM->projectM_resetGL( w, h ); + } + else globalPM->key_handler(evt,key,mod); + + } + else if ( evt == PROJECTM_VIDEORESIZE ) + { + + + + wvw=event.resize.w; + wvh=event.resize.h; + + + resize_display(wvw,wvh,fullscreen); + globalPM->projectM_resetGL( wvw, wvh ); + + } + else if ( evt == PROJECTM_VIDEOQUIT ) { + + (void) gtk_idle_add (disable_projectm, NULL); + } + } + + /** Add the waveform data */ + + + /** Render the new frame */ + // strcpy(title,xmms_remote_get_playlist_title(projectM_vtable.xmms_session, xmms_remote_get_playlist_pos(projectM_vtable.xmms_session))); + + //printf("%s\n",title); + // strcpy(globalPM->title,title); + + globalPM->renderFrame(); + + + + SDL_GL_SwapBuffers(); + + if (capture % 2 == 1) saveSnapshotToFile(); + // SDL_SemPost(sem); + } + + if(title_timer) + SDL_RemoveTimer(title_timer); + delete globalPM; + + + return 0; +} + +extern "C" void projectM_xmms_init(void) +{ + + /* First, initialize SDL's video subsystem. */ + // std::cerr << "sdl init begin" << std::endl; + if( SDL_Init( SDL_INIT_VIDEO | SDL_INIT_TIMER ) < 0 ) { + /* Failed, exit. */ + fprintf( stderr, "Video initialization failed: %s\n", + SDL_GetError( ) ); + //projectM_vtable.disable_plugin (&projectM_vtable); + return; + + } + sem = SDL_CreateSemaphore(0); + // printf("projectM plugin: Initializing\n"); + + SDL_EnableUNICODE(1); + + worker_thread = SDL_CreateThread ( *worker_func, NULL); + +} + + + +extern "C" void projectM_cleanup(void) +{ + + SDL_SemWait(sem); + SDL_WaitThread(worker_thread, NULL); + // SDL_KillThread(worker_thread); + //printf("killed thread\n"); + + SDL_DestroySemaphore(sem); + //printf("Destroy Mutex\n"); + SDL_Quit(); + + // printf("projectM plugin: Cleanup completed\n"); +} +extern "C" void projectM_about(void) +{ + printf("projectM plugin: About\n"); +} +extern "C" void projectM_configure(void) +{ + printf("projectM plugin: Configure\n"); +} +extern "C" void projectM_playback_start(void) +{//thread_control = GO; + printf("projectM plugin: Playback starting\n"); +} +extern "C" void projectM_playback_stop(void) +{//thread_control = STOP; + printf("projectM plugin: Playback stopping\n"); +} +extern "C" void projectM_render_pcm(gint16 pcm_data[2][512]) +{ + //SDL_mutexP(mutex); while ( SDL_SemValue(sem)==1 ) + if ( SDL_SemValue(sem)==1 ) + globalPM->pcm()->addPCM16(pcm_data); + + //SDL_mutexV(mutex); + +} + +extern "C" void projectM_render_freq(gint16 freq_data[2][256]) +{ + printf("NO GOOD\n"); + } + +std::string read_config() +{ + +// int n; + + char num[512]; + FILE *in; + FILE *out; + + char* home; + char projectM_home[1024]; + char projectM_config[1024]; + + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config+strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX)+strlen(CONFIG_FILE)]='\0'; + //printf("dir:%s \n",projectM_config); + home=getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + + if ((in = fopen(projectM_home, "r")) != 0) + { + //printf("reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + else + { + printf("trying to create ~/.projectM/config.inp \n"); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM"); + projectM_home[strlen(home)+strlen("/.projectM")]='\0'; + mkdir(projectM_home,0755); + + strcpy(projectM_home, home); + strcpy(projectM_home+strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home)+strlen("/.projectM/config.inp")]='\0'; + + if((out = fopen(projectM_home,"w"))!=0) + { + + if ((in = fopen(projectM_config, "r")) != 0) + { + + while(fgets(num,80,in)!=NULL) + { + fputs(num,out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r")) != 0) + { + printf("created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + else{printf("This shouldn't happen, using implementation defualts\n");abort();} + } + else{printf("Cannot find projectM default config, using implementation defaults\n");abort();} + } + else + { + printf("Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r")) != 0) + { printf("Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config);} + else{ printf("Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); abort();} + } + + } + + abort(); +} + +int frame = 1; + + +void saveSnapshotToFile() +{ + char dumpPath[512]; + char Home[512]; + //char *home; + + SDL_Surface * bitmap; + + GLint viewport[4]; + long bytewidth; + GLint width, height; + long bytes; + + glReadBuffer(GL_FRONT); + glGetIntegerv(GL_VIEWPORT, viewport); + + width = viewport[2]; + height = viewport[3]; + + bytewidth = width * 4; + bytewidth = (bytewidth + 3) & ~3; + bytes = bytewidth * height; + + /* + glFinish(); + glPixelStorei(GL_PACK_ALIGNMENT, 4); + glPixelStorei(GL_PACK_ROW_LENGTH, 0); + glPixelStorei(GL_PACK_SKIP_ROWS, 0); + glPixelStorei(GL_PACK_SKIP_PIXELS, 0); + */ + + + bitmap = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,0,0,0,0); + glReadPixels(0, 0, width, height, + GL_BGRA, + GL_UNSIGNED_INT_8_8_8_8_REV, + bitmap->pixels); + + sprintf(dumpPath, "/.projectM/%.8d.bmp", frame++); + // home=getenv("HOME"); + strcpy(Home, getenv("HOME")); + strcpy(Home+strlen(Home), dumpPath); + Home[strlen(Home)]='\0'; + SDL_SaveBMP(bitmap, Home); + + SDL_FreeSurface(bitmap); + + +} + diff --git a/src/projectM-xmms/video_init.cpp b/src/projectM-xmms/video_init.cpp index cbb52ad978..9b16674e69 100755 --- a/src/projectM-xmms/video_init.cpp +++ b/src/projectM-xmms/video_init.cpp @@ -9,14 +9,10 @@ #include #include #include - +#include "video_init.h" +#include extern SDL_Surface *screen; extern int texsize; -void setup_opengl( int w, int h ); - -void close_display() { - SDL_Quit(); -} void resize_display(int w, int h, int f) { int flags; @@ -28,7 +24,7 @@ void resize_display(int w, int h, int f) { fprintf( stderr, "Video mode set failed: %s\n", SDL_GetError( ) ); return; } - setup_opengl(w,h); + SDL_ShowCursor(f ? SDL_DISABLE : SDL_ENABLE); } @@ -45,15 +41,8 @@ void init_display(int w, int h, int *fvw, int *fvh, int f) int bpp = 0; /* Flags we will pass into SDL_SetVideoMode. */ int flags = 0; - /* First, initialize SDL's video subsystem. */ - if( SDL_Init( SDL_INIT_VIDEO | SDL_INIT_TIMER ) < 0 ) { - /* Failed, exit. */ - fprintf( stderr, "Video initialization failed: %s\n", - SDL_GetError( ) ); - //projectM_vtable.disable_plugin (&projectM_vtable); - return; - - } + + /* Let's get some video information. */ info = SDL_GetVideoInfo( ); if( !info ) { @@ -64,12 +53,10 @@ void init_display(int w, int h, int *fvw, int *fvh, int f) return; } - printf("Screen Resolution: %d x %d\n", info->current_w, info->current_h); +// printf("Screen Resolution: %d x %d\n", info->current_w, info->current_h); *fvw = info->current_w; *fvh = info->current_h; - bpp = info->vfmt->BitsPerPixel; - //SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 8 ); //SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8 ); //SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 ); @@ -80,13 +67,10 @@ void init_display(int w, int h, int *fvw, int *fvh, int f) SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8 ); SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 ); SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); - if (f==0) flags = SDL_OPENGL|SDL_HWSURFACE|SDL_RESIZABLE; else flags = SDL_OPENGL|SDL_HWSURFACE|SDL_FULLSCREEN; - - screen= SDL_SetVideoMode( w, h, bpp, flags ) ; - + screen= SDL_SetVideoMode( w, h, bpp, flags ) ; if(screen == 0 ) { /* * This could happen for a variety of reasons, @@ -101,55 +85,8 @@ void init_display(int w, int h, int *fvw, int *fvh, int f) } - // setup_opengl(w,h); //gluOrtho2D(0, w, 0, h); } - void setup_opengl( int w, int h ) -{ - - /* Our shading model--Gouraud (smooth). */ - glShadeModel( GL_SMOOTH); - /* Culling. */ - // glCullFace( GL_BACK ); - // glFrontFace( GL_CCW ); - // glEnable( GL_CULL_FACE ); - /* Set the clear color. */ - glClearColor( 0, 0, 0, 0 ); - /* Setup our viewport. */ - glViewport( 0, 0, w, h ); - /* - * Change to the projection matrix and set - * our viewing volume. - */ - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); - - // gluOrtho2D(0.0, (GLfloat) width, 0.0, (GLfloat) height); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - - // glFrustum(0.0, height, 0.0,width,10,40); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - -glDrawBuffer(GL_BACK); - glReadBuffer(GL_BACK); - glEnable(GL_BLEND); - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - // glBlendFunc(GL_SRC_ALPHA, GL_ONE); - glEnable(GL_LINE_SMOOTH); - glEnable(GL_POINT_SMOOTH); - glClearColor(0.0f, 0.0f, 0.0f, 0.0f); - glClear(GL_COLOR_BUFFER_BIT); - - // glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGB,0,0,texsize,texsize,0); - //glCopyTexSubImage2D(GL_TEXTURE_2D,0,0,0,0,0,texsize,texsize); - glLineStipple(2, 0xAAAA); - - -} - diff --git a/src/projectM-xmms/video_init.h b/src/projectM-xmms/video_init.h index 61c084f8bb..e63632d54d 100755 --- a/src/projectM-xmms/video_init.h +++ b/src/projectM-xmms/video_init.h @@ -1,6 +1,5 @@ - void setup_opengl( int w, int h ); + void init_display( int w, int h, int *fvw, int *fvh, int fullscreen ); void resize_display( int w, int h, int fullscreen ); - void close_display(); -void CreateRenderTarget(int texsize,int *RenderTargetTextureID, int *RenderTarget); + diff --git a/src/projectm-android/.gitignore b/src/projectm-android/.gitignore new file mode 100644 index 0000000000..2b75303ac5 --- /dev/null +++ b/src/projectm-android/.gitignore @@ -0,0 +1,13 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/src/projectm-android/.idea/codeStyles/Project.xml b/src/projectm-android/.idea/codeStyles/Project.xml new file mode 100644 index 0000000000..30aa626c23 --- /dev/null +++ b/src/projectm-android/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/projectm-android/.idea/gradle.xml b/src/projectm-android/.idea/gradle.xml new file mode 100644 index 0000000000..2996d53125 --- /dev/null +++ b/src/projectm-android/.idea/gradle.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/src/projectm-android/.idea/misc.xml b/src/projectm-android/.idea/misc.xml new file mode 100644 index 0000000000..37a750962d --- /dev/null +++ b/src/projectm-android/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/src/projectm-android/.idea/runConfigurations.xml b/src/projectm-android/.idea/runConfigurations.xml new file mode 100644 index 0000000000..7f68460d8b --- /dev/null +++ b/src/projectm-android/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/src/projectm-android/.idea/vcs.xml b/src/projectm-android/.idea/vcs.xml new file mode 100644 index 0000000000..b2bdec2d71 --- /dev/null +++ b/src/projectm-android/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/projectm-android/app/.gitignore b/src/projectm-android/app/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/src/projectm-android/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/src/projectm-android/app/build.gradle b/src/projectm-android/app/build.gradle new file mode 100644 index 0000000000..6c98870f71 --- /dev/null +++ b/src/projectm-android/app/build.gradle @@ -0,0 +1,44 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 22 + defaultConfig { + applicationId "com.github.projectm_android" + minSdkVersion 22 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + externalNativeBuild { + cmake { + cppFlags "-std=c++11" + arguments "-DANDROID_STL=c++_shared" + } + } + ndk { + abiFilters "armeabi-v7a" + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + externalNativeBuild { + cmake { + path "src/main/cpp/CMakeLists.txt" + } + } + sourceSets { + main { + jniLibs.srcDirs 'jniLibs', 'jniLibs/armeabi-v7a' + } + } + productFlavors { + } +} +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.android.support:appcompat-v7:22.2.1' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' +} diff --git a/src/projectm-android/app/jniLibs/armeabi-v7a/.gitignore b/src/projectm-android/app/jniLibs/armeabi-v7a/.gitignore new file mode 100644 index 0000000000..0e8a9341dc --- /dev/null +++ b/src/projectm-android/app/jniLibs/armeabi-v7a/.gitignore @@ -0,0 +1 @@ +pkgconfig \ No newline at end of file diff --git a/src/projectm-android/app/jniLibs/armeabi-v7a/libprojectM.so b/src/projectm-android/app/jniLibs/armeabi-v7a/libprojectM.so new file mode 100755 index 0000000000..970d68c669 Binary files /dev/null and b/src/projectm-android/app/jniLibs/armeabi-v7a/libprojectM.so differ diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/Common.hpp b/src/projectm-android/app/jniLibs/include/libprojectM/Common.hpp new file mode 100644 index 0000000000..60affdd340 --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/Common.hpp @@ -0,0 +1,248 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * $Log$ + */ + +#ifndef COMMON_HPP +#define COMMON_HPP +#include +#include +#include +#include + +#ifdef _MSC_sVER +#define strcasecmp(s, t) _strcmpi(s, t) +#endif + +#ifdef _MSC_VER + #pragma warning( disable : 4244 4305 4996; once : 4018 ) + #define WIN32_LEAN_AND_MEAN + #define NOMINMAX + #include + typedef unsigned int uint; +#endif + +#ifdef DEBUG +//extern FILE *debugFile; +#endif + +#ifdef __APPLE__ +#include +extern FILE *fmemopen(void *buf, size_t len, const char *pMode); +#endif /** MACOS */ + +#include "dlldefs.h" + +#define DEFAULT_FONT_PATH "/home/carm/fonts/courier1.glf" +#define MAX_TOKEN_SIZE 512 +#define MAX_PATH_SIZE 4096 + +#define STRING_BUFFER_SIZE 1024*150 +#define STRING_LINE_SIZE 1024 + + +#ifdef __unix__ +#include +#define projectM_isnan std::isnan +#endif + +#ifdef EMSCRIPTEN +#include +#define projectM_isnan isnan +#endif + +#ifdef WIN32 +#define projectM_isnan(x) ((x) != (x)) +#endif + +#ifdef __APPLE__ +#define projectM_isnan(x) ((x) != (x)) +#endif + +#ifdef __unix__ +#define projectM_fmax fmax +#endif + +#ifdef WIN32 +#define projectM_fmax(x,y) ((x) >= (y) ? (x): (y)) +#endif + +#ifdef __APPLE__ +#define projectM_fmax(x,y) ((x) >= (y) ? (x): (y)) +#endif + +#ifdef __unix__ +#define projectM_fmin fmin +#endif + +#ifdef WIN32 +#define projectM_fmin(x,y) ((x) <= (y) ? (x): (y)) +#endif + +#ifdef __APPLE__ +#define projectM_fmin(x,y) ((x) <= (y) ? (x): (y)) +#endif + +#ifndef TRUE +#define TRUE true +#endif + +#ifndef FALSE +#define FALSE false +#endif + + +#define MAX_DOUBLE_SIZE 10000000.0 +#define MIN_DOUBLE_SIZE -10000000.0 + +#define MAX_INT_SIZE 10000000 +#define MIN_INT_SIZE -10000000 + +/* default float initial value */ +#define DEFAULT_DOUBLE_IV 0.0 + +/* default float lower bound */ +#define DEFAULT_DOUBLE_LB MIN_DOUBLE_SIZE + +/* default float upper bound */ +#define DEFAULT_DOUBLE_UB MAX_DOUBLE_SIZE + +#ifdef WIN32 +#include +#define isnan _isnan +#endif /** WIN32 */ + +/** Per-platform path separators */ +#define WIN32_PATH_SEPARATOR '\\' +#define UNIX_PATH_SEPARATOR '/' +#ifdef WIN32 +#define PATH_SEPARATOR WIN32_PATH_SEPARATOR +#else +#define PATH_SEPARATOR UNIX_PATH_SEPARATOR +#endif /** WIN32 */ +#include +#include + +const unsigned int NUM_Q_VARIABLES(32); +const std::string PROJECTM_FILE_EXTENSION("prjm"); +const std::string MILKDROP_FILE_EXTENSION("milk"); +const std::string PROJECTM_MODULE_EXTENSION("so"); + + template + void traverse(Container & container) + { + + TraverseFunctor functor; + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(pos->second); + functor(pos->second); + } + + } + + + template + void traverseVector(Container & container) + { + + TraverseFunctor functor; + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(*pos); + functor(*pos); + } + + } + + template + void traverse(Container & container, TraverseFunctor & functor) + { + + for (typename Container::iterator pos = container.begin(); pos != container.end(); ++pos) + { + assert(pos->second); + functor(pos->second); + } + + } + + namespace TraverseFunctors + { + template + class Delete + { + + public: + + void operator() (Data * data) + { + assert(data); + delete(data); + } + + }; + } + + +inline std::string parseExtension(const std::string & filename) { + + const std::size_t start = filename.find_last_of('.'); + + if (start == std::string::npos || start >= (filename.length()-1)) + return ""; + std::string ext = filename.substr(start+1, filename.length()); + std::transform(ext.begin(), ext.end(), ext.begin(), tolower); + return ext; +} + +inline std::string parseFilename(const std::string & filename) { + + const std::size_t start = filename.find_last_of('/'); + + if (start == std::string::npos || start >= (filename.length()-1)) + return ""; + else + return filename.substr(start+1, filename.length()); +} + +inline double meanSquaredError(const double & x, const double & y) { + return (x-y)*(x-y); +} + + +enum PresetRatingType { + FIRST_RATING_TYPE = 0, + HARD_CUT_RATING_TYPE = FIRST_RATING_TYPE, + SOFT_CUT_RATING_TYPE, + LAST_RATING_TYPE = SOFT_CUT_RATING_TYPE, + TOTAL_RATING_TYPES = SOFT_CUT_RATING_TYPE+1 +}; + + +typedef std::vector RatingList; + +#endif diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/PCM.hpp b/src/projectm-android/app/jniLibs/include/libprojectM/PCM.hpp new file mode 100644 index 0000000000..c8f18e7f30 --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/PCM.hpp @@ -0,0 +1,76 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * Encapsulation of raw sound buffer. Used in beat detection + * + * $Log$ + */ + +#ifndef _PCM_H +#define _PCM_H + +#include "dlldefs.h" + +class +#ifdef WIN32 +DLLEXPORT +#endif +PCM { +public: + float **PCMd; + int start; + + /** Use wave smoothing */ + float waveSmoothing; + + int *ip; + double *w; + int newsamples; + + int numsamples; //size of new PCM info + float *pcmdataL; //holder for most recent pcm data + float *pcmdataR; //holder for most recent pcm data + + /** PCM data */ + float vdataL[512]; //holders for FFT data (spectrum) + float vdataR[512]; + + static int maxsamples; + PCM(); + ~PCM(); + void addPCMfloat(const float *PCMdata, int samples); + void addPCMfloat_2ch(const float *PCMdata, int samples); + void addPCM16(short [2][512]); + void addPCM16Data(const short* pcm_data, short samples); + void addPCM8( unsigned char [2][1024]); + void addPCM8_512( const unsigned char [2][512]); + void getPCM(float *data, int samples, int channel, int freq, float smoothing, int derive); + void freePCM(); + int getPCMnew(float *PCMdata, int channel, int freq, float smoothing, int derive,int reset); + +private: + void _initPCM(int maxsamples); + + }; + +#endif /** !_PCM_H */ diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/dlldefs.h b/src/projectm-android/app/jniLibs/include/libprojectM/dlldefs.h new file mode 100644 index 0000000000..b944fe730a --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/dlldefs.h @@ -0,0 +1,40 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id$ + * + * DLL definitions for exporting symbols on various platforms + * + * $Log$ + */ + +#ifndef _DLLDEFS_H +#define _DLLDEFS_H + +#ifndef DLLEXPORT +#ifdef WIN32 +#define DLLEXPORT __declspec(dllexport) +#else /** !WIN32 */ +#define DLLEXPORT +#endif /** WIN32 */ +#endif /** !DLLEXPORT */ + +#endif /** !_DLLDEFS_H */ diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/event.h b/src/projectm-android/app/jniLibs/include/libprojectM/event.h new file mode 100644 index 0000000000..88949f2fc9 --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/event.h @@ -0,0 +1,154 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2004 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: event.h,v 1.2 2004/10/08 10:54:27 cvs Exp $ + * + * projectM keycodes. Enables translation from various event schemes such as Win32, SDL + * &c. + * + * $Log: event.h,v $ + */ + +#ifndef _PROJECTM_EVENT_H +#define _PROJECTM_EVENT_H + +typedef enum { + /** Event types */ + PROJECTM_KEYUP, + PROJECTM_KEYDOWN, + PROJECTM_VIDEORESIZE, + PROJECTM_VIDEOQUIT, + } projectMEvent; + +typedef enum { + /** Keycodes */ + PROJECTM_K_RETURN, + PROJECTM_K_RIGHT, + PROJECTM_K_LEFT, + PROJECTM_K_UP, + PROJECTM_K_DOWN, + PROJECTM_K_PAGEUP, + PROJECTM_K_PAGEDOWN, + PROJECTM_K_INSERT, + PROJECTM_K_DELETE, + PROJECTM_K_ESCAPE, + PROJECTM_K_LSHIFT, + PROJECTM_K_RSHIFT, + PROJECTM_K_CAPSLOCK, + PROJECTM_K_LCTRL, + PROJECTM_K_HOME, + PROJECTM_K_END, + PROJECTM_K_BACKSPACE, + + PROJECTM_K_F1, + PROJECTM_K_F2, + PROJECTM_K_F3, + PROJECTM_K_F4, + PROJECTM_K_F5, + PROJECTM_K_F6, + PROJECTM_K_F7, + PROJECTM_K_F8, + PROJECTM_K_F9, + PROJECTM_K_F10, + PROJECTM_K_F11, + PROJECTM_K_F12, + + PROJECTM_K_0 = 48, + PROJECTM_K_1, + PROJECTM_K_2, + PROJECTM_K_3, + PROJECTM_K_4, + PROJECTM_K_5, + PROJECTM_K_6, + PROJECTM_K_7, + PROJECTM_K_8, + PROJECTM_K_9, + + PROJECTM_K_A = 65, + PROJECTM_K_B, + PROJECTM_K_C, + PROJECTM_K_D, + PROJECTM_K_E, + PROJECTM_K_F, + PROJECTM_K_G, + PROJECTM_K_H, + PROJECTM_K_I, + PROJECTM_K_J, + PROJECTM_K_K, + PROJECTM_K_L, + PROJECTM_K_M, + PROJECTM_K_N, + PROJECTM_K_O, + PROJECTM_K_P, + PROJECTM_K_Q, + PROJECTM_K_R, + PROJECTM_K_S, + PROJECTM_K_T, + PROJECTM_K_U, + PROJECTM_K_V, + PROJECTM_K_W, + PROJECTM_K_X, + PROJECTM_K_Y, + PROJECTM_K_Z, + + PROJECTM_K_a = 97, + PROJECTM_K_b, + PROJECTM_K_c, + PROJECTM_K_d, + PROJECTM_K_e, + PROJECTM_K_f, + PROJECTM_K_g, + PROJECTM_K_h, + PROJECTM_K_i, + PROJECTM_K_j, + PROJECTM_K_k, + PROJECTM_K_l, + PROJECTM_K_m, + PROJECTM_K_n, + PROJECTM_K_o, + PROJECTM_K_p, + PROJECTM_K_q, + PROJECTM_K_r, + PROJECTM_K_s, + PROJECTM_K_t, + PROJECTM_K_u, + PROJECTM_K_v, + PROJECTM_K_w, + PROJECTM_K_x, + PROJECTM_K_y, + PROJECTM_K_z, + PROJECTM_K_NONE, + PROJECTM_K_PLUS, + PROJECTM_K_MINUS, + PROJECTM_K_EQUALS + } projectMKeycode; + +typedef enum { + /** Modifiers */ + PROJECTM_KMOD_LSHIFT, + PROJECTM_KMOD_RSHIFT, + PROJECTM_KMOD_CAPS, + PROJECTM_KMOD_LCTRL, + PROJECTM_KMOD_RCTRL, + } projectMModifier; + +#endif /** !_PROJECTM_EVENT_H */ + diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/fatal.h b/src/projectm-android/app/jniLibs/include/libprojectM/fatal.h new file mode 100644 index 0000000000..57a62850e3 --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/fatal.h @@ -0,0 +1,43 @@ +/** + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: fatal.h,v 1.1.1.1 2005/12/23 18:05:05 psperl Exp $ + * + * Error codes + * + * $Log$ + */ + +#ifndef _FATAL_H +#define _FATAL_H + +/* Fatal Error Definitions */ + +#define PROJECTM_OUTOFMEM_ERROR -7; /* out of memory */ +#define PROJECTM_ERROR -1 /* non specific error */ +#define PROJECTM_SUCCESS 1 +#define PROJECTM_FAILURE -1 +#define PROJECTM_PARSE_ERROR -11 +#define PROJECTM_DIV_BY_ZERO -3 +#define PROJECTM_OK 2 + +#endif /** !_FATAL_H */ + diff --git a/src/projectm-android/app/jniLibs/include/libprojectM/projectM.hpp b/src/projectm-android/app/jniLibs/include/libprojectM/projectM.hpp new file mode 100644 index 0000000000..fb462cae0f --- /dev/null +++ b/src/projectm-android/app/jniLibs/include/libprojectM/projectM.hpp @@ -0,0 +1,358 @@ +/* + * projectM -- Milkdrop-esque visualisation SDK + * Copyright (C)2003-2007 projectM Team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * See 'LICENSE.txt' included within this release + * + */ +/** + * $Id: projectM.hpp,v 1.1.1.1 2005/12/23 18:05:11 psperl Exp $ + * + * Encapsulation of ProjectM engine + * + * $Log$ + */ + +#ifndef _PROJECTM_HPP +#define _PROJECTM_HPP + +#ifdef WIN32 +#include "dirent.h" +#else +#include +#endif /** WIN32 */ +#include +#include +#include +#include +#ifndef WIN32 +#include +#endif +#include + +#ifdef __APPLE__ +//#include +//#include +//#include +#else +#ifdef WIN32 +#include +#endif /** WIN32 */ + +#endif /** MACOS */ +#ifdef WIN322 +#define inline +#endif /** WIN32 */ + +#ifdef WIN32 +// libs required for win32 +#pragma comment(lib, "psapi.lib") +#pragma comment(lib, "kernel32.lib") +#endif /** WIN32 */ + +#include "dlldefs.h" +#include "event.h" +#include "fatal.h" + +class PipelineContext; +#include "PCM.hpp" +class BeatDetect; +class PCM; +class Func; +class Renderer; +class Preset; +class PresetIterator; +class PresetChooser; +class PresetLoader; +class TimeKeeper; +class Pipeline; +class RenderItemMatcher; +class MasterRenderItemMerge; + +#include "Common.hpp" + +#include +#ifdef WIN32 +#pragma warning (disable:4244) +#pragma warning (disable:4305) +#endif /** WIN32 */ + +#ifdef __APPLE__2 +#define inline +#endif + +/** KEEP THIS UP TO DATE! */ +#define PROJECTM_VERSION "2.0.00" +#define PROJECTM_TITLE "projectM 2.0.00" + +/** Interface types */ +typedef enum { + MENU_INTERFACE, + SHELL_INTERFACE, + EDITOR_INTERFACE, + DEFAULT_INTERFACE, + BROWSER_INTERFACE + } interface_t; + +/// A functor class that allows users of this library to specify random preset behavior +class RandomizerFunctor { + + public: + RandomizerFunctor(PresetChooser & chooser) ; + virtual ~RandomizerFunctor(); + virtual double operator() (int index); + private: + const PresetChooser & m_chooser; +}; + +class DLLEXPORT projectM +{ +public: + static const int FLAG_NONE = 0; + static const int FLAG_DISABLE_PLAYLIST_LOAD = 1 << 0; + + struct Settings { + int meshX; + int meshY; + int fps; + int textureSize; + int windowWidth; + int windowHeight; + std::string presetURL; + std::string titleFontURL; + std::string menuFontURL; + std::string datadir; + int smoothPresetDuration; + int presetDuration; + float beatSensitivity; + bool aspectCorrection; + float easterEgg; + bool shuffleEnabled; + bool softCutRatingsEnabled; + + Settings() : + meshX(32), + meshY(24), + fps(35), + textureSize(512), + windowWidth(512), + windowHeight(512), + smoothPresetDuration(10), + presetDuration(15), + beatSensitivity(10.0), + aspectCorrection(true), + easterEgg(0.0), + shuffleEnabled(true), + softCutRatingsEnabled(false) {} + }; + + projectM(std::string config_file, int flags = FLAG_NONE); + projectM(Settings settings, int flags = FLAG_NONE); + + void projectM_resetGL( int width, int height ); + void projectM_resetTextures(); + void projectM_setTitle( std::string title ); + void renderFrame(); + unsigned initRenderToTexture(); + void key_handler( projectMEvent event, + projectMKeycode keycode, projectMModifier modifier ); + + virtual ~projectM(); + + void changeTextureSize(int size); + void changePresetDuration(int seconds); + void getMeshSize(int *w, int *h); + + const Settings & settings() const { + return _settings; + } + + /// Writes a settings configuration to the specified file + static bool writeConfig(const std::string & configFile, const Settings & settings); + + + /// Sets preset iterator position to the passed in index + void selectPresetPosition(unsigned int index); + + /// Plays a preset immediately + void selectPreset(unsigned int index, bool hardCut = true); + + /// Removes a preset from the play list. If it is playing then it will continue as normal until next switch + void removePreset(unsigned int index); + + /// Sets the randomization functor. If set to null, the traversal will move in order according to the playlist + void setRandomizer(RandomizerFunctor * functor); + + /// Tell projectM to play a particular preset when it chooses to switch + /// If the preset is locked the queued item will be not switched to until the lock is released + /// Subsequent calls to this function effectively nullifies previous calls. + void queuePreset(unsigned int index); + + /// Returns true if a preset is queued up to play next + bool isPresetQueued() const; + + /// Removes entire playlist, The currently loaded preset will end up sticking until new presets are added + void clearPlaylist(); + + /// Turn on or off a lock that prevents projectM from switching to another preset + void setPresetLock(bool isLocked); + + /// Returns true if the active preset is locked + bool isPresetLocked() const; + + /// Returns index of currently active preset. In the case where the active + /// preset was removed from the playlist, this function will return the element + /// before active preset (thus the next in order preset is invariant with respect + /// to the removal) + bool selectedPresetIndex(unsigned int & index) const; + + /// Add a preset url to the play list. Appended to bottom. Returns index of preset + unsigned int addPresetURL(const std::string & presetURL, const std::string & presetName, const RatingList & ratingList); + + /// Insert a preset url to the play list at the suggested index. + void insertPresetURL(unsigned int index, + const std::string & presetURL, const std::string & presetName, const RatingList & ratingList); + + /// Returns true if the selected preset position points to an actual preset in the + /// currently loaded playlist + bool presetPositionValid() const; + + /// Returns the url associated with a preset index + std::string getPresetURL(unsigned int index) const; + + /// Returns the preset name associated with a preset index + std::string getPresetName ( unsigned int index ) const; + + void changePresetName ( unsigned int index, std::string name ); + + /// Returns the rating associated with a preset index + int getPresetRating (unsigned int index, const PresetRatingType ratingType) const; + + void changePresetRating (unsigned int index, int rating, const PresetRatingType ratingType); + + /// Returns the size of the play list + unsigned int getPlaylistSize() const; + + void evaluateSecondPreset(); + + inline void setShuffleEnabled(bool value) + { + _settings.shuffleEnabled = value; + + /// idea@ call a virtualfunction shuffleChanged() + } + + + inline bool isShuffleEnabled() const + { + return _settings.shuffleEnabled; + } + + /// Occurs when active preset has switched. Switched to index is returned + virtual void presetSwitchedEvent(bool isHardCut, size_t index) const {}; + virtual void shuffleEnabledValueChanged(bool isEnabled) const {}; + virtual void presetSwitchFailedEvent(bool hardCut, unsigned int index, const std::string & message) const {}; + + + /// Occurs whenever preset rating has changed via changePresetRating() method + virtual void presetRatingChanged(unsigned int index, int rating, PresetRatingType ratingType) const {}; + + + inline PCM * pcm() { + return _pcm; + } + void *thread_func(void *vptr_args); + PipelineContext & pipelineContext() { return *_pipelineContext; } + PipelineContext & pipelineContext2() { return *_pipelineContext2; } + + + void selectPrevious(const bool); + void selectNext(const bool); + void selectRandom(const bool); + + int getWindowWidth() { return _settings.windowWidth; } + int getWindowHeight() { return _settings.windowHeight; } + bool getErrorLoadingCurrentPreset() const { return errorLoadingCurrentPreset; } + +private: + PCM * _pcm; + double sampledPresetDuration(); + BeatDetect * beatDetect; + Renderer *renderer; + PipelineContext * _pipelineContext; + PipelineContext * _pipelineContext2; + Settings _settings; + + + int wvw; //windowed dimensions + int wvh; + + /** Timing information */ + int mspf; + int timed; + int timestart; + int count; + float fpsstart; + + void readConfig(const std::string &configFile); + void readSettings(const Settings &settings); + void projectM_init(int gx, int gy, int fps, int texsize, int width, int height); + void projectM_reset(); + + void projectM_initengine(); + void projectM_resetengine(); + + /// Initializes preset loading / management libraries + int initPresetTools(int gx, int gy); + + /// Deinitialize all preset related tools. Usually done before projectM cleanup + void destroyPresetTools(); + + void default_key_handler( projectMEvent event, projectMKeycode keycode ); + /// The current position of the directory iterator + PresetIterator * m_presetPos; + + /// Required by the preset chooser. Manages a loaded preset directory + PresetLoader * m_presetLoader; + + /// Provides accessor functions to choose presets + PresetChooser * m_presetChooser; + + /// Currently loaded preset + std::unique_ptr m_activePreset; + + /// Destination preset when smooth preset switching + std::unique_ptr m_activePreset2; + + TimeKeeper *timeKeeper; + + int m_flags; + + RenderItemMatcher * _matcher; + MasterRenderItemMerge * _merger; + + bool running; + bool errorLoadingCurrentPreset; + + Pipeline* currentPipe; + + std::string switchPreset(std::unique_ptr & targetPreset); + void switchPreset(const bool hardCut); + + + +}; +#endif diff --git a/src/projectm-android/app/proguard-rules.pro b/src/projectm-android/app/proguard-rules.pro new file mode 100644 index 0000000000..f1b424510d --- /dev/null +++ b/src/projectm-android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/src/projectm-android/app/src/main/AndroidManifest.xml b/src/projectm-android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..244feba559 --- /dev/null +++ b/src/projectm-android/app/src/main/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectm-android/app/src/main/assets/projectM/config.inp b/src/projectm-android/app/src/main/assets/projectM/config.inp new file mode 100644 index 0000000000..41c5e5dd90 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/config.inp @@ -0,0 +1,22 @@ +# config.inp +# Configuration File for projectM + +#Texture Size = 1024 # Size of internal rendering texture + +Mesh X = 220 # Width of PerPixel Equation mesh +Mesh Y = 125 # Height of PerPixel Equation mesh +FPS = 35 # Frames Per Second +Fullscreen = false +Window Width = 512 # startup window width +Window Height = 512 # startup window height + +Smooth Transition Duration = 5 # in seconds +Preset Duration = 30 # in seconds +Easter Egg Parameter = 1 + +Hard Cut Sensitivity = 10 # Lower to make hard cuts more frequent +Aspect Correction = true # Custom Shape Aspect Correction + +Preset Path = /home/petermalkin/src/projectm/src/projectm-android/app/src/main/assets/projectM/presets # preset location +Title Font = Vera.ttf +Menu Font = VeraMono.ttf diff --git a/src/projectm-android/app/src/main/assets/projectM/fonts/Vera.ttf b/src/projectm-android/app/src/main/assets/projectM/fonts/Vera.ttf new file mode 100644 index 0000000000..58cd6b5e61 Binary files /dev/null and b/src/projectm-android/app/src/main/assets/projectM/fonts/Vera.ttf differ diff --git a/src/projectm-android/app/src/main/assets/projectM/fonts/VeraMono.ttf b/src/projectm-android/app/src/main/assets/projectM/fonts/VeraMono.ttf new file mode 100644 index 0000000000..139f0b4311 Binary files /dev/null and b/src/projectm-android/app/src/main/assets/projectM/fonts/VeraMono.ttf differ diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/100-square.milk b/src/projectm-android/app/src/main/assets/projectM/presets/100-square.milk new file mode 100755 index 0000000000..ba697319e7 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/100-square.milk @@ -0,0 +1,18 @@ +[preset00] +per_frame_1000=// just a double box +per_frame_1001=// + +fDecay=1 +zoom=0 +rot=0.0 +warp=1 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/101-per_frame.milk b/src/projectm-android/app/src/main/assets/projectM/presets/101-per_frame.milk new file mode 100755 index 0000000000..33cb3a2ac2 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/101-per_frame.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// varies outer frame color - red only + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/102-per_frame3.milk b/src/projectm-android/app/src/main/assets/projectM/presets/102-per_frame3.milk new file mode 100755 index 0000000000..271d0034d3 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/102-per_frame3.milk @@ -0,0 +1,22 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// varies outer frame color - multi-color + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); +per_frame_2=ib_g=0.7+0.4*sin(4*time); +per_frame_3=ib_b=0.7+0.4*sin(5*time); \ No newline at end of file diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/103-multiple-eqn.milk b/src/projectm-android/app/src/main/assets/projectM/presets/103-multiple-eqn.milk new file mode 100755 index 0000000000..65353e791a --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/103-multiple-eqn.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// test multiple equations one line + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); ib_g=0.7+0.4*sin(4*time); ib_b=0.7+0.4*sin(5*time); \ No newline at end of file diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/104-continued-eqn.milk b/src/projectm-android/app/src/main/assets/projectM/presets/104-continued-eqn.milk new file mode 100755 index 0000000000..e16612f0c5 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/104-continued-eqn.milk @@ -0,0 +1,21 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// test equation spanning two lines + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=0.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4* +per_frame_2= sin(3*time); \ No newline at end of file diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/105-per_frame_init.milk b/src/projectm-android/app/src/main/assets/projectM/presets/105-per_frame_init.milk new file mode 100755 index 0000000000..16d61414ba --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/105-per_frame_init.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// one per frame equation +per_frame_1001=// initialize user variable + +fDecay=0.98 +zoom=0 +rot=0.0 +warp=0.0 +ob_size=0.2 +ob_r=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.1 +ib_r=1.0 +ib_g=0.0 +ib_a=1.0 + +per_frame_init_1=SPEED=10; + +per_frame_1=ib_r=0.7+0.4*sin(time*SPEED); diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/110-per_pixel.milk b/src/projectm-android/app/src/main/assets/projectM/presets/110-per_pixel.milk new file mode 100755 index 0000000000..f6e0c59ac8 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/110-per_pixel.milk @@ -0,0 +1,23 @@ +[preset00] +fDecay=0.980000 +fWarpScale=2.853000 +fZoomExponent=1.000000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +ob_size=0.2 +ob_r=0.0 +ob_g=0.0 +ob_b=0.0 +ob_a=0.0 +ib_size=0.01 +ib_r=1.0 +ib_g=0.0 +ib_b=0.0 +ib_a=1.0 + +per_frame_1=ib_r=0.7+0.4*sin(3*time); +per_frame_2=ib_g=0.7+0.4*sin(4*time); +per_frame_3=ib_b=0.7+0.4*sin(5*time); + +per_pixel_1=zoom=0.9615-rad*0.1; diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/200-wave.milk b/src/projectm-android/app/src/main/assets/projectM/presets/200-wave.milk new file mode 100755 index 0000000000..8665009242 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/200-wave.milk @@ -0,0 +1,20 @@ +[preset00] +per_frame_1000=// simple wave to build +per_frame_1001=// + +fDecay=0.980000 +nWaveMode=0 +bMaximizeWaveColor=1 +fWaveAlpha=4.400000 +fWaveScale=1.605447 +fZoomExponent=1.000000 +zoom=1.000000 +rot=0.006000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.900000 +wave_g=0.90000 +wave_b=0.900000 +wave_x=0.500000 +wave_y=0.500000 diff --git a/src/projectm-android/app/src/main/assets/projectM/presets/201-wavecode.milk b/src/projectm-android/app/src/main/assets/projectM/presets/201-wavecode.milk new file mode 100755 index 0000000000..ef3f0429f5 --- /dev/null +++ b/src/projectm-android/app/src/main/assets/projectM/presets/201-wavecode.milk @@ -0,0 +1,36 @@ +[preset00] +// use wavecode +// red circle wave with blue squiggly wave + +fDecay=0.980000 +nWaveMode=0 +bMaximizeWaveColor=1 +fWaveAlpha=4.400000 +fWaveScale=1.5 +fZoomExponent=1.000000 +zoom=1.000000 +rot=0.006000 +warp=0.000000 +sx=1.000000 +sy=1.000000 +wave_r=0.00000 +wave_g=0.0000 +wave_b=0.00000 +wave_a=0.00000 +wave_x=0.500000 +wave_y=0.5000000 + +wavecode_0_enabled=1 +wavecode_0_mode=0 +wavecode_0_bDrawThick=0 +wavecode_0_bAdditive=1 +wavecode_0_scaling=1.000000 +wavecode_0_smoothing=0.500000 +wavecode_0_r=0.000000 +wavecode_0_g=1.000000 +wavecode_0_b=1.000000 +wavecode_0_a=1.000000 +wave_0_per_point41=x=x+value1; +wave_0_per_point42=y=y+value2; + +per_frame_1=zoom=1 \ No newline at end of file diff --git a/src/projectm-android/app/src/main/cpp/CMakeLists.txt b/src/projectm-android/app/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000000..7b25830dd7 --- /dev/null +++ b/src/projectm-android/app/src/main/cpp/CMakeLists.txt @@ -0,0 +1,49 @@ +# For more information about using CMake with Android Studio, read the +# documentation: https://d.android.com/studio/projects/add-native-code.html + +# Sets the minimum version of CMake required to build the native library. + +cmake_minimum_required(VERSION 3.4.1) + +# Creates and names a library, sets it as either STATIC +# or SHARED, and provides the relative paths to its source code. +# You can define multiple libraries, and CMake builds them for you. +# Gradle automatically packages shared libraries with your APK. + +add_library( # Sets the name of the library. + jniwrapper + + # Sets the library as a shared library. + SHARED + + # Provides a relative path to your source file(s). + jni.cpp) + +# Searches for a specified prebuilt library and stores the path as a +# variable. Because CMake includes system libraries in the search path by +# default, you only need to specify the name of the public NDK library +# you want to add. CMake verifies that the library exists before +# completing its build. + +find_library( + log-lib + log) + + +add_library( + projectM + SHARED + IMPORTED +) + +set_target_properties( + projectM + PROPERTIES IMPORTED_LOCATION + ${CMAKE_CURRENT_SOURCE_DIR}/../../../jniLibs/armeabi-v7a/libprojectM.so) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../jniLibs/include/ ) + +target_link_libraries( + jniwrapper + ${log-lib} + projectM) \ No newline at end of file diff --git a/src/projectm-android/app/src/main/cpp/jni.cpp b/src/projectm-android/app/src/main/cpp/jni.cpp new file mode 100644 index 0000000000..fcf78f2f6c --- /dev/null +++ b/src/projectm-android/app/src/main/cpp/jni.cpp @@ -0,0 +1,102 @@ +#include +#include +#include +#include +#include +#include +#include "libprojectM/projectM.hpp" +#include "libprojectM/PCM.hpp" + +#define TAG "ProjectM" +#define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__) +#define ALOGW(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) +#define ALOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__) +#define ALOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) + +projectM *instance = NULL; + +void next_preset(bool hard_cut) { + if (!instance) { + ALOGE("libprojectM not initialized"); + return; + } + srand((unsigned) time(NULL)); + int preset_list_size = instance->getPlaylistSize(); + if (preset_list_size <= 0) { + ALOGE("Could not load any presets"); + } + int preset_number = (int)(rand() % (preset_list_size-1)); + ALOGD("Switching to preset %d", preset_number); + instance->selectPreset(preset_number, hard_cut); +} + +extern "C" JNIEXPORT void JNICALL +Java_com_github_projectm_1android_libprojectMJNIWrapper_onSurfaceCreated( + JNIEnv *env, + jobject obj, + jint window_width, + jint window_height, + jstring jasset_path) { + if (instance) { + ALOGD("Destroy existing instance"); + delete instance; + } + const char* asset_path_chars = env->GetStringUTFChars(jasset_path, NULL); + std::string asset_path(asset_path_chars); + projectM::Settings settings; + settings.windowHeight = window_height; + settings.windowWidth = window_width; + settings.presetURL = asset_path + "/presets"; + settings.smoothPresetDuration = 7; + settings.presetDuration = 3; + settings.shuffleEnabled = true; + ALOGD("presetURL: %s", settings.presetURL.c_str()); + env->ReleaseStringUTFChars(jasset_path, asset_path_chars); + ALOGD("Creating new instance"); + instance = new projectM(settings); + srand(time(0)); + next_preset(true); +} + +extern "C" JNIEXPORT void JNICALL +Java_com_github_projectm_1android_libprojectMJNIWrapper_onSurfaceChanged( + JNIEnv *env, + jobject obj, + jint window_width, + jint window_height) { + if (!instance) { + return; + } + instance->projectM_resetGL(window_width, window_height); +} + +extern "C" JNIEXPORT void JNICALL +Java_com_github_projectm_1android_libprojectMJNIWrapper_onDrawFrame( + JNIEnv *env, + jobject obj) { + if (!instance) { + return; + } + instance->renderFrame(); +} + +extern "C" JNIEXPORT void JNICALL +Java_com_github_projectm_1android_libprojectMJNIWrapper_addPCM( + JNIEnv *env, + jobject obj, + jshortArray pcm_data, + jshort nsamples) { + if (!instance) { + return; + } + jshort *data = env->GetShortArrayElements(pcm_data, NULL); + instance->pcm()->addPCM16Data(data, nsamples); + env->ReleaseShortArrayElements(pcm_data, data, 0); +} + +extern "C" JNIEXPORT void JNICALL +Java_com_github_projectm_1android_libprojectMJNIWrapper_nextPreset( + JNIEnv *env, + jobject obj) { + next_preset(true); +} diff --git a/src/projectm-android/app/src/main/java/com/github/projectm_android/AudioThread.java b/src/projectm-android/app/src/main/java/com/github/projectm_android/AudioThread.java new file mode 100644 index 0000000000..cbe0477d66 --- /dev/null +++ b/src/projectm-android/app/src/main/java/com/github/projectm_android/AudioThread.java @@ -0,0 +1,59 @@ +package com.github.projectm_android; + +import android.media.AudioRecord; +import android.media.MediaRecorder; +import android.os.SystemClock; +import android.util.Log; + +import static android.media.AudioFormat.CHANNEL_IN_MONO; +import static android.media.AudioFormat.ENCODING_PCM_16BIT; + +public class AudioThread extends Thread { + private volatile static boolean keep_recording = true; + private volatile static boolean currently_recording = false; + + @Override + public void run() { + int SAMPLE_RATE = 11025; + int bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, + CHANNEL_IN_MONO, + ENCODING_PCM_16BIT); + AudioRecord record = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, + SAMPLE_RATE, + CHANNEL_IN_MONO, + ENCODING_PCM_16BIT, + bufferSize); + if (bufferSize == AudioRecord.ERROR || bufferSize == AudioRecord.ERROR_BAD_VALUE) { + bufferSize = SAMPLE_RATE * 2; + } + short[] audioBuffer = new short[bufferSize]; + + Log.d("AudioThread",String.format("bufferSize: %d", bufferSize)); + + while (currently_recording) { + Log.d("AudioThread","currently recoring, waiting 50ms before attempting again"); + // bufferSize is usually worth 80ms of aurdio + // So waiting 50ms - this means, next attempt to grab AudioRecord will succeed. + SystemClock.sleep(50); + } + record.startRecording(); + currently_recording = true; + + while (keep_recording) { + record.read(audioBuffer, 0, audioBuffer.length); + libprojectMJNIWrapper.addPCM(audioBuffer, (short) bufferSize); +// short max = 0; +// for (int ix=0;ix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/projectm-android/app/src/main/res/layout/activity_main.xml b/src/projectm-android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000000..7d8d24e9bc --- /dev/null +++ b/src/projectm-android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/src/projectm-android/app/src/main/res/values/colors.xml b/src/projectm-android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000000..69b22338c6 --- /dev/null +++ b/src/projectm-android/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #008577 + #00574B + #D81B60 + diff --git a/src/projectm-android/app/src/main/res/values/strings.xml b/src/projectm-android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000000..e6b9474969 --- /dev/null +++ b/src/projectm-android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + projectM-Android + diff --git a/src/projectm-android/app/src/main/res/values/styles.xml b/src/projectm-android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000000..7481f1645b --- /dev/null +++ b/src/projectm-android/app/src/main/res/values/styles.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/src/projectm-android/build.gradle b/src/projectm-android/build.gradle new file mode 100644 index 0000000000..6942f5e388 --- /dev/null +++ b/src/projectm-android/build.gradle @@ -0,0 +1,27 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + google() + jcenter() + + } + dependencies { + classpath 'com.android.tools.build:gradle:3.3.2' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/src/projectm-android/gradle.properties b/src/projectm-android/gradle.properties new file mode 100644 index 0000000000..82618cecb4 --- /dev/null +++ b/src/projectm-android/gradle.properties @@ -0,0 +1,15 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + + diff --git a/src/projectm-android/gradle/wrapper/gradle-wrapper.jar b/src/projectm-android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000..f6b961fd5a Binary files /dev/null and b/src/projectm-android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/src/projectm-android/gradle/wrapper/gradle-wrapper.properties b/src/projectm-android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..5974ea3944 --- /dev/null +++ b/src/projectm-android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Mar 29 23:01:15 PDT 2019 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip diff --git a/src/projectm-android/gradlew b/src/projectm-android/gradlew new file mode 100755 index 0000000000..cccdd3d517 --- /dev/null +++ b/src/projectm-android/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/src/projectm-android/gradlew.bat b/src/projectm-android/gradlew.bat new file mode 100644 index 0000000000..e95643d6a2 --- /dev/null +++ b/src/projectm-android/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/projectm-android/settings.gradle b/src/projectm-android/settings.gradle new file mode 100644 index 0000000000..e7b4def49c --- /dev/null +++ b/src/projectm-android/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/src/publish.sh b/src/publish.sh new file mode 100644 index 0000000000..5ee9db1c49 --- /dev/null +++ b/src/publish.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +export TARGET_DIR=$1 +export VERSION=$2 + +# Build targets +export GZ=ON +export BZ2=OFF + +#export SOURCE=ON + +# CG Enablement +export CG=ON + +# FTGL Enablement +export FTGL=ON + +# openmp Enablement +export OPENMP=ON + +publish() { +OLDDIR=`pwd` + +DIR=$1 +echo "publishing ${DIR}..." +cd ${DIR} +svn-clean -f +cmake -DUSE_FTGL=${FTGL} -DCPACK_SOURCE_TGZ=${GZ} -DUSE_OPENMP=${OPENMP} -DCPACK_SOURCE_TBZ2=${BZ2} -DCPACK_SOURCE_Z=OFF -DCPACK_SOURCE_TZ=OFF -DUSE_CG=${ON} -DCMAKE_BUILD_TYPE=Release > ${TARGET_DIR}/projectm-publish.log 2>&1 + +make package_source +cp *.gz -f ${TARGET_DIR} +cd ${OLDDIR} +} + +release() { +scp ${TARGET_DIR}/*.gz w1z7ard,projectm@frs.sourceforge.net:/home/frs/project/p/pr/projectm/${VERSION} +} + +publish "libprojectM" + +publish "../fonts" +publish "../presets" +publish "../presets_milkdrop_104" +publish "../presets_milkdrop_200" +publish "../presets_milkdrop" +publish "../presets_projectM" + +publish "projectM-qt" +publish "projectM-test" +publish "projectM-libvisual" +publish "projectM-libvisual-alsa" +publish "projectM-pulseaudio" +publish "projectM-jack" +publish ".." + +release + +echo "[publisher] complete." +exit diff --git a/src/win32/Makefile.dist b/src/win32/Makefile.dist deleted file mode 100644 index 07988392ec..0000000000 --- a/src/win32/Makefile.dist +++ /dev/null @@ -1,20 +0,0 @@ -# -# projectM -- Milkdrop-esque visualisation SDK -# Copyright (C)2003-2007 projectM Team -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# See 'LICENSE.txt' included within this release - -clean: diff --git a/src/win32/projectM.dsw b/src/win32/projectM.dsw deleted file mode 100755 index 9c593277d4..0000000000 --- a/src/win32/projectM.dsw +++ /dev/null @@ -1,44 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "libprojectM"="..\libprojectM\libprojectM.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "wxprojectMvis"="..\wxprojectMvis\wxprojectMvis.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name libprojectM - End Project Dependency -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/src/win32/projectM.ncb b/src/win32/projectM.ncb deleted file mode 100755 index 62ed4393a6..0000000000 Binary files a/src/win32/projectM.ncb and /dev/null differ diff --git a/src/win32/projectM.opt b/src/win32/projectM.opt deleted file mode 100755 index 33c05bf51f..0000000000 Binary files a/src/win32/projectM.opt and /dev/null differ diff --git a/vendor/glm/CMakeLists.txt b/vendor/glm/CMakeLists.txt new file mode 100755 index 0000000000..df9c9ee5ae --- /dev/null +++ b/vendor/glm/CMakeLists.txt @@ -0,0 +1,77 @@ +file(GLOB ROOT_SOURCE *.cpp) +file(GLOB ROOT_INLINE *.inl) +file(GLOB ROOT_HEADER *.hpp) +file(GLOB ROOT_TEXT ../*.txt) +file(GLOB ROOT_MD ../*.md) +file(GLOB ROOT_NAT ../util/glm.natvis) + +file(GLOB_RECURSE CORE_SOURCE ./detail/*.cpp) +file(GLOB_RECURSE CORE_INLINE ./detail/*.inl) +file(GLOB_RECURSE CORE_HEADER ./detail/*.hpp) + +file(GLOB_RECURSE EXT_SOURCE ./ext/*.cpp) +file(GLOB_RECURSE EXT_INLINE ./ext/*.inl) +file(GLOB_RECURSE EXT_HEADER ./ext/*.hpp) + +file(GLOB_RECURSE GTC_SOURCE ./gtc/*.cpp) +file(GLOB_RECURSE GTC_INLINE ./gtc/*.inl) +file(GLOB_RECURSE GTC_HEADER ./gtc/*.hpp) + +file(GLOB_RECURSE GTX_SOURCE ./gtx/*.cpp) +file(GLOB_RECURSE GTX_INLINE ./gtx/*.inl) +file(GLOB_RECURSE GTX_HEADER ./gtx/*.hpp) + +file(GLOB_RECURSE SIMD_SOURCE ./simd/*.cpp) +file(GLOB_RECURSE SIMD_INLINE ./simd/*.inl) +file(GLOB_RECURSE SIMD_HEADER ./simd/*.h) + +source_group("Text Files" FILES ${ROOT_TEXT} ${ROOT_MD}) +source_group("Core Files" FILES ${CORE_SOURCE}) +source_group("Core Files" FILES ${CORE_INLINE}) +source_group("Core Files" FILES ${CORE_HEADER}) +source_group("EXT Files" FILES ${EXT_SOURCE}) +source_group("EXT Files" FILES ${EXT_INLINE}) +source_group("EXT Files" FILES ${EXT_HEADER}) +source_group("GTC Files" FILES ${GTC_SOURCE}) +source_group("GTC Files" FILES ${GTC_INLINE}) +source_group("GTC Files" FILES ${GTC_HEADER}) +source_group("GTX Files" FILES ${GTX_SOURCE}) +source_group("GTX Files" FILES ${GTX_INLINE}) +source_group("GTX Files" FILES ${GTX_HEADER}) +source_group("SIMD Files" FILES ${SIMD_SOURCE}) +source_group("SIMD Files" FILES ${SIMD_INLINE}) +source_group("SIMD Files" FILES ${SIMD_HEADER}) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) + +if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE) + if(GLM_STATIC_LIBRARY_ENABLE) + add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} + ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} + ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} + ${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} + ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} + ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} + ${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) + endif(GLM_STATIC_LIBRARY_ENABLE) + + if(GLM_DYNAMIC_LIBRARY_ENABLE) + add_library(glm_shared SHARED ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} + ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} + ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} + ${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} + ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} + ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} + ${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) + endif(GLM_DYNAMIC_LIBRARY_ENABLE) + +else(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE) + add_executable(glm_dummy ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} + ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} + ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} + ${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} + ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} + ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} + ${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) + +endif(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE) diff --git a/vendor/glm/common.hpp b/vendor/glm/common.hpp new file mode 100755 index 0000000000..89722845a8 --- /dev/null +++ b/vendor/glm/common.hpp @@ -0,0 +1,534 @@ +/// @ref core +/// @file glm/common.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.3 Common Functions +/// +/// @defgroup core_func_common Common functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// These all operate component-wise. The description is per component. + +#pragma once + +#include "detail/setup.hpp" +#include "detail/qualifier.hpp" +#include "detail/type_int.hpp" +#include "detail/_fixes.hpp" + +namespace glm +{ + /// @addtogroup core_func_common + /// @{ + + /// Returns x if x >= 0; otherwise, it returns -x. + /// + /// @tparam genType floating-point or signed integer; scalar or vector types. + /// + /// @see GLSL abs man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + /// @see qualifier + template + GLM_FUNC_DECL genType abs(genType x); + + /// Returns x if x >= 0; otherwise, it returns -x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL abs man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec abs(vec const& x); + + /// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sign man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec sign(vec const& x); + + /// Returns a value equal to the nearest integer that is less then or equal to x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floor man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floor(vec const& x); + + /// Returns a value equal to the nearest integer to x + /// whose absolute value is not larger than the absolute value of x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL trunc man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec trunc(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// This includes the possibility that round(x) returns the + /// same value as roundEven(x) for all values of x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL round man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec round(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// A fractional part of 0.5 will round toward the nearest even + /// integer. (Both 3.5 and 4.5 for x will return 4.0.) + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL roundEven man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + /// @see New round to even technique + template + GLM_FUNC_DECL vec roundEven(vec const& x); + + /// Returns a value equal to the nearest integer + /// that is greater than or equal to x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL ceil man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec ceil(vec const& x); + + /// Return x - floor(x). + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL fract man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType fract(genType x); + + /// Return x - floor(x). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL fract man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec fract(vec const& x); + + template + GLM_FUNC_DECL genType mod(genType x, genType y); + + template + GLM_FUNC_DECL vec mod(vec const& x, T y); + + /// Modulus. Returns x - y * floor(x / y) + /// for each component in x using the floating point value y. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types, include glm/gtc/integer for integer scalar types support + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL mod man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec mod(vec const& x, vec const& y); + + /// Returns the fractional part of x and sets i to the integer + /// part (as a whole number floating point value). Both the + /// return value and the output parameter will have the same + /// sign as x. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL modf man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType modf(genType x, genType& i); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType min(genType x, genType y); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec min(vec const& x, T y); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec min(vec const& x, vec const& y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType max(genType x, genType y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec max(vec const& x, T y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec max(vec const& x, vec const& y); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec clamp(vec const& x, T minVal, T maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec clamp(vec const& x, vec const& minVal, vec const& maxVal); + + /// If genTypeU is a floating scalar or vector: + /// Returns x * (1.0 - a) + y * a, i.e., the linear blend of + /// x and y using the floating-point value a. + /// The value for a is not restricted to the range [0, 1]. + /// + /// If genTypeU is a boolean scalar or vector: + /// Selects which vector each returned component comes + /// from. For a component of 'a' that is false, the + /// corresponding component of 'x' is returned. For a + /// component of 'a' that is true, the corresponding + /// component of 'y' is returned. Components of 'x' and 'y' that + /// are not selected are allowed to be invalid floating point + /// values and will have no effect on the results. Thus, this + /// provides different functionality than + /// genType mix(genType x, genType y, genType(a)) + /// where a is a Boolean vector. + /// + /// @see GLSL mix man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + /// + /// @param[in] x Value to interpolate. + /// @param[in] y Value to interpolate. + /// @param[in] a Interpolant. + /// + /// @tparam genTypeT Floating point scalar or vector. + /// @tparam genTypeU Floating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT. + /// + /// @code + /// #include + /// ... + /// float a; + /// bool b; + /// glm::dvec3 e; + /// glm::dvec3 f; + /// glm::vec4 g; + /// glm::vec4 h; + /// ... + /// glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors. + /// glm::vec4 s = glm::mix(g, h, b); // Returns g or h; + /// glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second. + /// glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter. + /// @endcode + template + GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a); + + template + GLM_FUNC_DECL vec mix(vec const& x, vec const& y, vec const& a); + + template + GLM_FUNC_DECL vec mix(vec const& x, vec const& y, U a); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType step(genType edge, genType x); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec step(T edge, vec const& x); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec step(vec const& edge, vec const& x); + + /// Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and + /// performs smooth Hermite interpolation between 0 and 1 + /// when edge0 < x < edge1. This is useful in cases where + /// you would want a threshold function with a smooth + /// transition. This is equivalent to: + /// genType t; + /// t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); + /// return t * t * (3 - 2 * t); + /// Results are undefined if edge0 >= edge1. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL smoothstep man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x); + + template + GLM_FUNC_DECL vec smoothstep(T edge0, T edge1, vec const& x); + + template + GLM_FUNC_DECL vec smoothstep(vec const& edge0, vec const& edge1, vec const& x); + + /// Returns true if x holds a NaN (not a number) + /// representation in the underlying implementation's set of + /// floating point representations. Returns false otherwise, + /// including for implementations with no NaN + /// representations. + /// + /// /!\ When using compiler fast math, this function may fail. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL isnan man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec isnan(vec const& x); + + /// Returns true if x holds a positive infinity or negative + /// infinity representation in the underlying implementation's + /// set of floating point representations. Returns false + /// otherwise, including for implementations with no infinity + /// representations. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL isinf man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec isinf(vec const& x); + + /// Returns a signed integer value representing + /// the encoding of a floating-point value. The floating-point + /// value's bit-level representation is preserved. + /// + /// @see GLSL floatBitsToInt man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL int floatBitsToInt(float const& v); + + /// Returns a signed integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floatBitsToInt man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floatBitsToInt(vec const& v); + + /// Returns a unsigned integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @see GLSL floatBitsToUint man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL uint floatBitsToUint(float const& v); + + /// Returns a unsigned integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floatBitsToUint man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floatBitsToUint(vec const& v); + + /// Returns a floating-point value corresponding to a signed + /// integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @see GLSL intBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL float intBitsToFloat(int const& v); + + /// Returns a floating-point value corresponding to a signed + /// integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL intBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec intBitsToFloat(vec const& v); + + /// Returns a floating-point value corresponding to a + /// unsigned integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @see GLSL uintBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL float uintBitsToFloat(uint const& v); + + /// Returns a floating-point value corresponding to a + /// unsigned integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL uintBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec uintBitsToFloat(vec const& v); + + /// Computes and returns a * b + c. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL fma man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType fma(genType const& a, genType const& b, genType const& c); + + /// Splits x into a floating-point significand in the range + /// [0.5, 1.0) and an integral exponent of two, such that: + /// x = significand * exp(2, exponent) + /// + /// The significand is returned by the function and the + /// exponent is returned in the parameter exp. For a + /// floating-point value of zero, the significant and exponent + /// are both zero. For a floating-point value that is an + /// infinity or is not a number, the results are undefined. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL frexp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType frexp(genType const& x, genIType& exp); + + /// Builds a floating-point number from x and the + /// corresponding integral exponent of two in exp, returning: + /// significand * exp(2, exponent) + /// + /// If this product is too large to be represented in the + /// floating-point type, the result is undefined. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL ldexp man page; + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType ldexp(genType const& x, genIType const& exp); + + /// @} +}//namespace glm + +#include "detail/func_common.inl" + diff --git a/vendor/glm/detail/_features.hpp b/vendor/glm/detail/_features.hpp new file mode 100755 index 0000000000..cee12722ce --- /dev/null +++ b/vendor/glm/detail/_features.hpp @@ -0,0 +1,397 @@ +/// @ref core +/// @file glm/detail/_features.hpp + +#pragma once + +// #define GLM_CXX98_EXCEPTIONS +// #define GLM_CXX98_RTTI + +// #define GLM_CXX11_RVALUE_REFERENCES +// Rvalue references - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html + +// GLM_CXX11_TRAILING_RETURN +// Rvalue references for *this - GCC not supported +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm + +// GLM_CXX11_NONSTATIC_MEMBER_INIT +// Initialization of class objects by rvalues - GCC any +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html + +// GLM_CXX11_NONSTATIC_MEMBER_INIT +// Non-static data member initializers - GCC 4.7 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm + +// #define GLM_CXX11_VARIADIC_TEMPLATE +// Variadic templates - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf + +// +// Extending variadic template template parameters - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf + +// #define GLM_CXX11_GENERALIZED_INITIALIZERS +// Initializer lists - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm + +// #define GLM_CXX11_STATIC_ASSERT +// Static assertions - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html + +// #define GLM_CXX11_AUTO_TYPE +// auto-typed variables - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf + +// #define GLM_CXX11_AUTO_TYPE +// Multi-declarator auto - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf + +// #define GLM_CXX11_AUTO_TYPE +// Removal of auto as a storage-class specifier - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm + +// #define GLM_CXX11_AUTO_TYPE +// New function declarator syntax - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm + +// #define GLM_CXX11_LAMBDAS +// New wording for C++0x lambdas - GCC 4.5 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf + +// #define GLM_CXX11_DECLTYPE +// Declared type of an expression - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf + +// +// Right angle brackets - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html + +// +// Default template arguments for function templates DR226 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 + +// +// Solving the SFINAE problem for expressions DR339 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html + +// #define GLM_CXX11_ALIAS_TEMPLATE +// Template aliases N2258 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf + +// +// Extern templates N1987 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm + +// #define GLM_CXX11_NULLPTR +// Null pointer constant N2431 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf + +// #define GLM_CXX11_STRONG_ENUMS +// Strongly-typed enums N2347 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf + +// +// Forward declarations for enums N2764 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf + +// +// Generalized attributes N2761 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf + +// +// Generalized constant expressions N2235 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf + +// +// Alignment support N2341 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf + +// #define GLM_CXX11_DELEGATING_CONSTRUCTORS +// Delegating constructors N1986 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf + +// +// Inheriting constructors N2540 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm + +// #define GLM_CXX11_EXPLICIT_CONVERSIONS +// Explicit conversion operators N2437 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf + +// +// New character types N2249 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html + +// +// Unicode string literals N2442 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + +// +// Raw string literals N2442 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + +// +// Universal character name literals N2170 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html + +// #define GLM_CXX11_USER_LITERALS +// User-defined literals N2765 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf + +// +// Standard Layout Types N2342 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm + +// #define GLM_CXX11_DEFAULTED_FUNCTIONS +// #define GLM_CXX11_DELETED_FUNCTIONS +// Defaulted and deleted functions N2346 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm + +// +// Extended friend declarations N1791 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf + +// +// Extending sizeof N2253 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html + +// #define GLM_CXX11_INLINE_NAMESPACES +// Inline namespaces N2535 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm + +// #define GLM_CXX11_UNRESTRICTED_UNIONS +// Unrestricted unions N2544 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf + +// #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS +// Local and unnamed types as template arguments N2657 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm + +// #define GLM_CXX11_RANGE_FOR +// Range-based for N2930 GCC 4.6 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html + +// #define GLM_CXX11_OVERRIDE_CONTROL +// Explicit virtual overrides N2928 N3206 N3272 GCC 4.7 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm + +// +// Minimal support for garbage collection and reachability-based leak detection N2670 No +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm + +// #define GLM_CXX11_NOEXCEPT +// Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only) +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html + +// +// Defining move special member functions N3053 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html + +// +// Sequence points N2239 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html + +// +// Atomic operations N2427 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html + +// +// Strong Compare and Exchange N2748 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html + +// +// Bidirectional Fences N2752 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm + +// +// Memory model N2429 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm + +// +// Data-dependency ordering: atomics and memory model N2664 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm + +// +// Propagating exceptions N2179 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html + +// +// Abandoning a process and at_quick_exit N2440 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm + +// +// Allow atomics use in signal handlers N2547 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm + +// +// Thread-local storage N2659 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm + +// +// Dynamic initialization and destruction with concurrency N2660 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm + +// +// __func__ predefined identifier N2340 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm + +// +// C99 preprocessor N1653 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm + +// +// long long N1811 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf + +// +// Extended integral types N1988 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf + +#if(GLM_COMPILER & GLM_COMPILER_GCC) + +# define GLM_CXX11_STATIC_ASSERT + +#elif(GLM_COMPILER & GLM_COMPILER_CLANG) +# if(__has_feature(cxx_exceptions)) +# define GLM_CXX98_EXCEPTIONS +# endif + +# if(__has_feature(cxx_rtti)) +# define GLM_CXX98_RTTI +# endif + +# if(__has_feature(cxx_access_control_sfinae)) +# define GLM_CXX11_ACCESS_CONTROL_SFINAE +# endif + +# if(__has_feature(cxx_alias_templates)) +# define GLM_CXX11_ALIAS_TEMPLATE +# endif + +# if(__has_feature(cxx_alignas)) +# define GLM_CXX11_ALIGNAS +# endif + +# if(__has_feature(cxx_attributes)) +# define GLM_CXX11_ATTRIBUTES +# endif + +# if(__has_feature(cxx_constexpr)) +# define GLM_CXX11_CONSTEXPR +# endif + +# if(__has_feature(cxx_decltype)) +# define GLM_CXX11_DECLTYPE +# endif + +# if(__has_feature(cxx_default_function_template_args)) +# define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS +# endif + +# if(__has_feature(cxx_defaulted_functions)) +# define GLM_CXX11_DEFAULTED_FUNCTIONS +# endif + +# if(__has_feature(cxx_delegating_constructors)) +# define GLM_CXX11_DELEGATING_CONSTRUCTORS +# endif + +# if(__has_feature(cxx_deleted_functions)) +# define GLM_CXX11_DELETED_FUNCTIONS +# endif + +# if(__has_feature(cxx_explicit_conversions)) +# define GLM_CXX11_EXPLICIT_CONVERSIONS +# endif + +# if(__has_feature(cxx_generalized_initializers)) +# define GLM_CXX11_GENERALIZED_INITIALIZERS +# endif + +# if(__has_feature(cxx_implicit_moves)) +# define GLM_CXX11_IMPLICIT_MOVES +# endif + +# if(__has_feature(cxx_inheriting_constructors)) +# define GLM_CXX11_INHERITING_CONSTRUCTORS +# endif + +# if(__has_feature(cxx_inline_namespaces)) +# define GLM_CXX11_INLINE_NAMESPACES +# endif + +# if(__has_feature(cxx_lambdas)) +# define GLM_CXX11_LAMBDAS +# endif + +# if(__has_feature(cxx_local_type_template_args)) +# define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS +# endif + +# if(__has_feature(cxx_noexcept)) +# define GLM_CXX11_NOEXCEPT +# endif + +# if(__has_feature(cxx_nonstatic_member_init)) +# define GLM_CXX11_NONSTATIC_MEMBER_INIT +# endif + +# if(__has_feature(cxx_nullptr)) +# define GLM_CXX11_NULLPTR +# endif + +# if(__has_feature(cxx_override_control)) +# define GLM_CXX11_OVERRIDE_CONTROL +# endif + +# if(__has_feature(cxx_reference_qualified_functions)) +# define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS +# endif + +# if(__has_feature(cxx_range_for)) +# define GLM_CXX11_RANGE_FOR +# endif + +# if(__has_feature(cxx_raw_string_literals)) +# define GLM_CXX11_RAW_STRING_LITERALS +# endif + +# if(__has_feature(cxx_rvalue_references)) +# define GLM_CXX11_RVALUE_REFERENCES +# endif + +# if(__has_feature(cxx_static_assert)) +# define GLM_CXX11_STATIC_ASSERT +# endif + +# if(__has_feature(cxx_auto_type)) +# define GLM_CXX11_AUTO_TYPE +# endif + +# if(__has_feature(cxx_strong_enums)) +# define GLM_CXX11_STRONG_ENUMS +# endif + +# if(__has_feature(cxx_trailing_return)) +# define GLM_CXX11_TRAILING_RETURN +# endif + +# if(__has_feature(cxx_unicode_literals)) +# define GLM_CXX11_UNICODE_LITERALS +# endif + +# if(__has_feature(cxx_unrestricted_unions)) +# define GLM_CXX11_UNRESTRICTED_UNIONS +# endif + +# if(__has_feature(cxx_user_literals)) +# define GLM_CXX11_USER_LITERALS +# endif + +# if(__has_feature(cxx_variadic_templates)) +# define GLM_CXX11_VARIADIC_TEMPLATES +# endif + +#endif//(GLM_COMPILER & GLM_COMPILER_CLANG) diff --git a/vendor/glm/detail/_fixes.hpp b/vendor/glm/detail/_fixes.hpp new file mode 100755 index 0000000000..c957562b4e --- /dev/null +++ b/vendor/glm/detail/_fixes.hpp @@ -0,0 +1,30 @@ +/// @ref core +/// @file glm/detail/_fixes.hpp + +#include + +//! Workaround for compatibility with other libraries +#ifdef max +#undef max +#endif + +//! Workaround for compatibility with other libraries +#ifdef min +#undef min +#endif + +//! Workaround for Android +#ifdef isnan +#undef isnan +#endif + +//! Workaround for Android +#ifdef isinf +#undef isinf +#endif + +//! Workaround for Chrone Native Client +#ifdef log2 +#undef log2 +#endif + diff --git a/vendor/glm/detail/_noise.hpp b/vendor/glm/detail/_noise.hpp new file mode 100755 index 0000000000..946148ce2f --- /dev/null +++ b/vendor/glm/detail/_noise.hpp @@ -0,0 +1,87 @@ +/// @ref core +/// @file glm/detail/_noise.hpp + +#pragma once + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../common.hpp" + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER T mod289(T const& x) + { + return x - floor(x * (static_cast(1.0) / static_cast(289.0))) * static_cast(289.0); + } + + template + GLM_FUNC_QUALIFIER T permute(T const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> permute(vec<2, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER T taylorInvSqrt(T const& r) + { + return T(1.79284291400159) - T(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> const& r) + { + return T(1.79284291400159) - T(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> const& r) + { + return T(1.79284291400159) - T(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> const& r) + { + return T(1.79284291400159) - T(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> fade(vec<2, T, Q> const& t) + { + return (t * t * t) * (t * (t * T(6) - T(15)) + T(10)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> const& t) + { + return (t * t * t) * (t * (t * T(6) - T(15)) + T(10)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> const& t) + { + return (t * t * t) * (t * (t * T(6) - T(15)) + T(10)); + } +}//namespace detail +}//namespace glm + diff --git a/vendor/glm/detail/_swizzle.hpp b/vendor/glm/detail/_swizzle.hpp new file mode 100755 index 0000000000..2609e79740 --- /dev/null +++ b/vendor/glm/detail/_swizzle.hpp @@ -0,0 +1,796 @@ +/// @ref core +/// @file glm/detail/_swizzle.hpp + +#pragma once + +namespace glm{ +namespace detail +{ + // Internal class for implementing swizzle operators + template + struct _swizzle_base0 + { + protected: + GLM_FUNC_QUALIFIER T& elem(size_t i){ return (reinterpret_cast(_buffer))[i]; } + GLM_FUNC_QUALIFIER T const& elem(size_t i) const{ return (reinterpret_cast(_buffer))[i]; } + + // Use an opaque buffer to *ensure* the compiler doesn't call a constructor. + // The size 1 buffer is assumed to aligned to the actual members so that the + // elem() + char _buffer[1]; + }; + + template + struct _swizzle_base1 : public _swizzle_base0 + { + }; + + template + struct _swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<2, T, Q> operator ()() const { return vec<2, T, Q>(this->elem(E0), this->elem(E1)); } + }; + + template + struct _swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<3, T, Q> operator ()() const { return vec<3, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2)); } + }; + + template + struct _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()() const { return vec<4, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); } + }; + + // Internal class for implementing swizzle operators + /* + Template parameters: + + T = type of scalar values (e.g. float, double) + N = number of components in the vector (e.g. 3) + E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec + + DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles + containing duplicate elements so that they cannot be used as r-values). + */ + template + struct _swizzle_base2 : public _swizzle_base1::value> + { + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const T& t) + { + for (int i = 0; i < N; ++i) + (*this)[i] = t; + return *this; + } + + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec const& that) + { + struct op { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e = t; } + }; + _apply_op(that, op()); + return *this; + } + + GLM_FUNC_QUALIFIER void operator -= (vec const& that) + { + struct op { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e -= t; } + }; + _apply_op(that, op()); + } + + GLM_FUNC_QUALIFIER void operator += (vec const& that) + { + struct op { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e += t; } + }; + _apply_op(that, op()); + } + + GLM_FUNC_QUALIFIER void operator *= (vec const& that) + { + struct op { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e *= t; } + }; + _apply_op(that, op()); + } + + GLM_FUNC_QUALIFIER void operator /= (vec const& that) + { + struct op { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e /= t; } + }; + _apply_op(that, op()); + } + + GLM_FUNC_QUALIFIER T& operator[](size_t i) + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + GLM_FUNC_QUALIFIER T operator[](size_t i) const + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + + protected: + template + GLM_FUNC_QUALIFIER void _apply_op(vec const& that, U op) + { + // Make a copy of the data in this == &that. + // The copier should optimize out the copy in cases where the function is + // properly inlined and the copy is not necessary. + T t[N]; + for (int i = 0; i < N; ++i) + t[i] = that[i]; + for (int i = 0; i < N; ++i) + op( (*this)[i], t[i] ); + } + }; + + // Specialization for swizzles containing duplicate elements. These cannot be modified. + template + struct _swizzle_base2 : public _swizzle_base1::value> + { + struct Stub {}; + + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const&) { return *this; } + + GLM_FUNC_QUALIFIER T operator[] (size_t i) const + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + }; + + template + struct _swizzle : public _swizzle_base2 + { + typedef _swizzle_base2 base_type; + + using base_type::operator=; + + GLM_FUNC_QUALIFIER operator vec () const { return (*this)(); } + }; + +// +// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros +// +#define GLM_SWIZZLE_TEMPLATE1 template +#define GLM_SWIZZLE_TEMPLATE2 template +#define GLM_SWIZZLE_TYPE1 _swizzle +#define GLM_SWIZZLE_TYPE2 _swizzle + +// +// Wrapper for a binary operator (e.g. u.yy + v.zy) +// +#define GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \ + { \ + return a() OPERAND b(); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const vec& b) \ + { \ + return a() OPERAND b; \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const vec& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return a OPERAND b(); \ + } + +// +// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz) +// +#define GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const T& b) \ + { \ + return a() OPERAND b; \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const T& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return a OPERAND b(); \ + } + +// +// Macro for wrapping a function taking one argument (e.g. abs()) +// +#define GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a) \ + { \ + return FUNCTION(a()); \ + } + +// +// Macro for wrapping a function taking two vector arguments (e.g. dot()). +// +#define GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \ + { \ + return FUNCTION(a(), b()); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return FUNCTION(a(), b()); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename V& b) \ + { \ + return FUNCTION(a(), b); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return FUNCTION(a, b()); \ + } + +// +// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()). +// +#define GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b, const T& c) \ + { \ + return FUNCTION(a(), b(), c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \ + { \ + return FUNCTION(a(), b(), c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\ + { \ + return FUNCTION(a(), b, c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \ + { \ + return FUNCTION(a, b(), c); \ + } + +}//namespace detail +}//namespace glm + +namespace glm +{ + namespace detail + { + GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-) + GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/) + } + + // + // Swizzles are distinct types from the unswizzled type. The below macros will + // provide template specializations for the swizzle types for the given functions + // so that the compiler does not have any ambiguity to choosing how to handle + // the function. + // + // The alternative is to use the operator()() when calling the function in order + // to explicitly convert the swizzled type to the unswizzled type. + // + + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any); + + //GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot); + //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross); + //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step); + //GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix); +} + +#define GLM_SWIZZLE2_2_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; }; + +#define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; + +#define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; + +#define GLM_SWIZZLE3_2_MEMBERS(T, Q, E0,E1,E2) \ + struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; + +#define GLM_SWIZZLE3_3_MEMBERS(T, Q ,E0,E1,E2) \ + struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; + +#define GLM_SWIZZLE3_4_MEMBERS(T, Q, E0,E1,E2) \ + struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; + +#define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; }; + +#define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,3,-1> E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,3,-1> E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,3,-1> E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,0,-1> E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,1,-1> E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,2,-1> E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,3,-1> E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,3,-1> E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,3,-1> E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,3,-1> E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,0,-1> E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,1,-1> E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,2,-1> E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,3,-1> E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,3,-1> E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,3,-1> E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,3,-1> E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,0,-1> E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,1,-1> E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,2,-1> E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,3,-1> E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,0,-1> E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,1,-1> E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,2,-1> E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,3,-1> E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,0,-1> E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,1,-1> E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,2,-1> E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,3,-1> E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,0,-1> E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,1,-1> E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,2,-1> E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,3,-1> E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,0,-1> E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,1,-1> E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,2,-1> E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; }; + +#define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; }; diff --git a/vendor/glm/detail/_swizzle_func.hpp b/vendor/glm/detail/_swizzle_func.hpp new file mode 100755 index 0000000000..d218337120 --- /dev/null +++ b/vendor/glm/detail/_swizzle_func.hpp @@ -0,0 +1,685 @@ +/// @ref core +/// @file glm/detail/_swizzle_func.hpp + +#pragma once + +#define GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, CONST, A, B) \ + vec<2, T, Q> A ## B() CONST \ + { \ + return vec<2, T, Q>(this->A, this->B); \ + } + +#define GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, CONST, A, B, C) \ + vec<3, T, Q> A ## B ## C() CONST \ + { \ + return vec<3, T, Q>(this->A, this->B, this->C); \ + } + +#define GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, CONST, A, B, C, D) \ + vec<4, T, Q> A ## B ## C ## D() CONST \ + { \ + return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ + } + +#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(T, P, L, CONST, A, B) \ + template \ + vec vec::A ## B() CONST \ + { \ + return vec<2, T, Q>(this->A, this->B); \ + } + +#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(T, P, L, CONST, A, B, C) \ + template \ + vec<3, T, Q> vec::A ## B ## C() CONST \ + { \ + return vec<3, T, Q>(this->A, this->B, this->C); \ + } + +#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(T, P, L, CONST, A, B, C, D) \ + template \ + vec<4, T, Q> vec::A ## B ## C ## D() CONST \ + { \ + return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ + } + +#define GLM_MUTABLE + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, B, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(T, P) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, x, y) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, r, g) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, s, t) + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) + +#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, B, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, P) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, x, y, z) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, r, g, b) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, s, t, p) + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, C) + +#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, B) + +#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, C, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, P) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, x, y, z, w) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, r, g, b, a) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, s, t, p, q) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, x, y) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, r, g) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, s, t) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, x, y, z) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, r, g, b) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, s, t, p) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, D) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, D) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, D) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, x, y, z, w) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, r, g, b, a) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, s, t, p, q) + diff --git a/vendor/glm/detail/_vectorize.hpp b/vendor/glm/detail/_vectorize.hpp new file mode 100755 index 0000000000..2e577a80e9 --- /dev/null +++ b/vendor/glm/detail/_vectorize.hpp @@ -0,0 +1,131 @@ +/// @ref core +/// @file glm/detail/_vectorize.hpp + +#pragma once + +#include "type_vec1.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" + +namespace glm{ +namespace detail +{ + template + struct functor1{}; + + template + struct functor1<1, R, T, Q> + { + GLM_FUNC_QUALIFIER static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v) + { + return vec<1, R, Q>(Func(v.x)); + } + }; + + template + struct functor1<2, R, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v) + { + return vec<2, R, Q>(Func(v.x), Func(v.y)); + } + }; + + template + struct functor1<3, R, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v) + { + return vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z)); + } + }; + + template + struct functor1<4, R, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v) + { + return vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w)); + } + }; + + template + struct functor2{}; + + template + struct functor2<1, T, Q> + { + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, vec<1, T, Q> const& b) + { + return vec<1, T, Q>(Func(a.x, b.x)); + } + }; + + template + struct functor2<2, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, vec<2, T, Q> const& b) + { + return vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y)); + } + }; + + template + struct functor2<3, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + return vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z)); + } + }; + + template + struct functor2<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w)); + } + }; + + template + struct functor2_vec_sca{}; + + template + struct functor2_vec_sca<1, T, Q> + { + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, T b) + { + return vec<1, T, Q>(Func(a.x, b)); + } + }; + + template + struct functor2_vec_sca<2, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, T b) + { + return vec<2, T, Q>(Func(a.x, b), Func(a.y, b)); + } + }; + + template + struct functor2_vec_sca<3, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, T b) + { + return vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b)); + } + }; + + template + struct functor2_vec_sca<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, T b) + { + return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b)); + } + }; +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/compute_vector_relational.hpp b/vendor/glm/detail/compute_vector_relational.hpp new file mode 100755 index 0000000000..e5610ef10b --- /dev/null +++ b/vendor/glm/detail/compute_vector_relational.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "setup.hpp" +#include +#include + +namespace glm{ +namespace detail +{ + template ::is_iec559> + struct compute_equal + { + GLM_FUNC_QUALIFIER static bool call(T a, T b) + { + return a == b; + } + }; + + template + struct compute_equal + { + GLM_FUNC_QUALIFIER static bool call(T a, T b) + { + return std::memcmp(&a, &b, sizeof(T)) == 0; + } + }; +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/dummy.cpp b/vendor/glm/detail/dummy.cpp new file mode 100755 index 0000000000..01e4ba8e34 --- /dev/null +++ b/vendor/glm/detail/dummy.cpp @@ -0,0 +1,186 @@ +/// @ref core +/// @file glm/core/dummy.cpp +/// +/// GLM is a header only library. There is nothing to compile. +/// dummy.cpp exist only a wordaround for CMake file. + +/* +#define GLM_MESSAGES +#include +#include +#include + +struct material +{ + glm::vec4 emission; // Ecm + glm::vec4 ambient; // Acm + glm::vec4 diffuse; // Dcm + glm::vec4 specular; // Scm + float shininess; // Srm +}; + +struct light +{ + glm::vec4 ambient; // Acli + glm::vec4 diffuse; // Dcli + glm::vec4 specular; // Scli + glm::vec4 position; // Ppli + glm::vec4 halfVector; // Derived: Hi + glm::vec3 spotDirection; // Sdli + float spotExponent; // Srli + float spotCutoff; // Crli + // (range: [0.0,90.0], 180.0) + float spotCosCutoff; // Derived: cos(Crli) + // (range: [1.0,0.0],-1.0) + float constantAttenuation; // K0 + float linearAttenuation; // K1 + float quadraticAttenuation;// K2 +}; + + +// Sample 1 +#include // glm::vec3 +#include // glm::cross, glm::normalize + +glm::vec3 computeNormal +( + glm::vec3 const& a, + glm::vec3 const& b, + glm::vec3 const& c +) +{ + return glm::normalize(glm::cross(c - a, b - a)); +} + +typedef unsigned int GLuint; +#define GL_FALSE 0 +void glUniformMatrix4fv(GLuint, int, int, float*){} + +// Sample 2 +#include // glm::vec3 +#include // glm::vec4, glm::ivec4 +#include // glm::mat4 +#include // glm::translate, glm::rotate, glm::scale, glm::perspective +#include // glm::value_ptr +void func(GLuint LocationMVP, float Translate, glm::vec2 const& Rotate) +{ + glm::mat4 Projection = glm::perspective(45.0f, 4.0f / 3.0f, 0.1f, 100.f); + glm::mat4 ViewTranslate = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate)); + glm::mat4 ViewRotateX = glm::rotate(ViewTranslate, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f)); + glm::mat4 View = glm::rotate(ViewRotateX, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f)); + glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f)); + glm::mat4 MVP = Projection * View * Model; + glUniformMatrix4fv(LocationMVP, 1, GL_FALSE, glm::value_ptr(MVP)); +} + +// Sample 3 +#include // glm::vec2 +#include // glm::packUnorm2x16 +#include // glm::uint +#include // glm::i8vec2, glm::i32vec2 +std::size_t const VertexCount = 4; +// Float quad geometry +std::size_t const PositionSizeF32 = VertexCount * sizeof(glm::vec2); +glm::vec2 const PositionDataF32[VertexCount] = +{ + glm::vec2(-1.0f,-1.0f), + glm::vec2( 1.0f,-1.0f), + glm::vec2( 1.0f, 1.0f), + glm::vec2(-1.0f, 1.0f) + }; +// Half-float quad geometry +std::size_t const PositionSizeF16 = VertexCount * sizeof(glm::uint); +glm::uint const PositionDataF16[VertexCount] = +{ + glm::uint(glm::packUnorm2x16(glm::vec2(-1.0f, -1.0f))), + glm::uint(glm::packUnorm2x16(glm::vec2( 1.0f, -1.0f))), + glm::uint(glm::packUnorm2x16(glm::vec2( 1.0f, 1.0f))), + glm::uint(glm::packUnorm2x16(glm::vec2(-1.0f, 1.0f))) +}; +// 8 bits signed integer quad geometry +std::size_t const PositionSizeI8 = VertexCount * sizeof(glm::i8vec2); +glm::i8vec2 const PositionDataI8[VertexCount] = +{ + glm::i8vec2(-1,-1), + glm::i8vec2( 1,-1), + glm::i8vec2( 1, 1), + glm::i8vec2(-1, 1) +}; +// 32 bits signed integer quad geometry +std::size_t const PositionSizeI32 = VertexCount * sizeof(glm::i32vec2); +glm::i32vec2 const PositionDataI32[VertexCount] = +{ + glm::i32vec2 (-1,-1), + glm::i32vec2 ( 1,-1), + glm::i32vec2 ( 1, 1), + glm::i32vec2 (-1, 1) +}; + +struct intersection +{ + glm::vec4 position; + glm::vec3 normal; +}; +*/ + + +/* +// Sample 4 +#include // glm::vec3 +#include // glm::normalize, glm::dot, glm::reflect +#include // glm::pow +#include // glm::vecRand3 +glm::vec3 lighting +( + intersection const& Intersection, + material const& Material, + light const& Light, + glm::vec3 const& View +) +{ + glm::vec3 Color(0.0f); + glm::vec3 LightVertor(glm::normalize( + Light.position - Intersection.position + + glm::vecRand3(0.0f, Light.inaccuracy)); + + if(!shadow(Intersection.position, Light.position, LightVertor)) + { + float Diffuse = glm::dot(Intersection.normal, LightVector); + if(Diffuse <= 0.0f) + return Color; + if(Material.isDiffuse()) + Color += Light.color() * Material.diffuse * Diffuse; + if(Material.isSpecular()) + { + glm::vec3 Reflect(glm::reflect( + glm::normalize(-LightVector), + glm::normalize(Intersection.normal))); + float Dot = glm::dot(Reflect, View); + float Base = Dot > 0.0f ? Dot : 0.0f; + float Specular = glm::pow(Base, Material.exponent); + Color += Material.specular * Specular; + } + } + return Color; +} +*/ + +int main() +{ +/* + glm::vec1 o(1); + glm::vec2 a(1); + glm::vec3 b(1); + glm::vec4 c(1); + + glm::quat q; + glm::dualquat p; + + glm::mat4 m(1); + + float a0 = normalizeDotA(a, a); + float b0 = normalizeDotB(b, b); + float c0 = normalizeDotC(c, c); +*/ + return 0; +} diff --git a/vendor/glm/detail/func_common.inl b/vendor/glm/detail/func_common.inl new file mode 100755 index 0000000000..8b2d0b02b3 --- /dev/null +++ b/vendor/glm/detail/func_common.inl @@ -0,0 +1,826 @@ +/// @ref core +/// @file glm/detail/func_common.inl + +#include "../vector_relational.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include "_vectorize.hpp" +#include + +namespace glm +{ + // min + template + GLM_FUNC_QUALIFIER genType min(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'min' only accept floating-point or integer inputs"); + return (y < x) ? y : x; + } + + // max + template + GLM_FUNC_QUALIFIER genType max(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'max' only accept floating-point or integer inputs"); + + return (x < y) ? y : x; + } + + // abs + template<> + GLM_FUNC_QUALIFIER int32 abs(int32 x) + { + int32 const y = x >> 31; + return (x ^ y) - y; + } + + // round +# if GLM_HAS_CXX11_STL + using ::std::round; +# else + template + GLM_FUNC_QUALIFIER genType round(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'round' only accept floating-point inputs"); + + return x < static_cast(0) ? static_cast(int(x - static_cast(0.5))) : static_cast(int(x + static_cast(0.5))); + } +# endif + + // trunc +# if GLM_HAS_CXX11_STL + using ::std::trunc; +# else + template + GLM_FUNC_QUALIFIER genType trunc(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'trunc' only accept floating-point inputs"); + + return x < static_cast(0) ? -std::floor(-x) : std::floor(x); + } +# endif + +}//namespace glm + +namespace glm{ +namespace detail +{ + template + struct compute_abs + {}; + + template + struct compute_abs + { + GLM_FUNC_QUALIFIER static genFIType call(genFIType x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || std::numeric_limits::is_signed || GLM_UNRESTRICTED_GENTYPE, + "'abs' only accept floating-point and integer scalar or vector inputs"); + + return x >= genFIType(0) ? x : -x; + // TODO, perf comp with: *(((int *) &x) + 1) &= 0x7fffffff; + } + }; + + #if GLM_COMPILER & GLM_COMPILER_CUDA + template<> + struct compute_abs + { + GLM_FUNC_QUALIFIER static float call(float x) + { + return fabsf(x); + } + }; + #endif + + template + struct compute_abs + { + GLM_FUNC_QUALIFIER static genFIType call(genFIType x) + { + GLM_STATIC_ASSERT( + (!std::numeric_limits::is_signed && std::numeric_limits::is_integer) || GLM_UNRESTRICTED_GENTYPE, + "'abs' only accept floating-point and integer scalar or vector inputs"); + return x; + } + }; + + template + struct compute_abs_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(abs, x); + } + }; + + template + struct compute_mix_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, vec const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return vec(vec(x) + a * vec(y - x)); + } + }; + + template + struct compute_mix_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, vec const& a) + { + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = a[i] ? y[i] : x[i]; + return Result; + } + }; + + template + struct compute_mix_scalar + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, U const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return vec(vec(x) + a * vec(y - x)); + } + }; + + template + struct compute_mix_scalar + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, bool const& a) + { + return a ? y : x; + } + }; + + template + struct compute_mix + { + GLM_FUNC_QUALIFIER static T call(T const& x, T const& y, U const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return static_cast(static_cast(x) + a * static_cast(y - x)); + } + }; + + template + struct compute_mix + { + GLM_FUNC_QUALIFIER static T call(T const& x, T const& y, bool const& a) + { + return a ? y : x; + } + }; + + template + struct compute_sign + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return vec(glm::lessThan(vec(0), x)) - vec(glm::lessThan(x, vec(0))); + } + }; + +# if GLM_ARCH == GLM_ARCH_X86 + template + struct compute_sign + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + T const Shift(static_cast(sizeof(T) * 8 - 1)); + vec const y(vec::type, Q>(-x) >> typename make_unsigned::type(Shift)); + + return (x >> Shift) | y; + } + }; +# endif + + template + struct compute_floor + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::floor, x); + } + }; + + template + struct compute_ceil + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::ceil, x); + } + }; + + template + struct compute_fract + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return x - floor(x); + } + }; + + template + struct compute_trunc + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(trunc, x); + } + }; + + template + struct compute_round + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(round, x); + } + }; + + template + struct compute_mod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'mod' only accept floating-point inputs. Include for integer inputs."); + return a - b * floor(a / b); + } + }; + + template + struct compute_min_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y) + { + return detail::functor2::call(min, x, y); + } + }; + + template + struct compute_max_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y) + { + return detail::functor2::call(max, x, y); + } + }; + + template + struct compute_clamp_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& minVal, vec const& maxVal) + { + return min(max(x, minVal), maxVal); + } + }; + + template + struct compute_step_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& edge, vec const& x) + { + return mix(vec(1), vec(0), glm::lessThan(x, edge)); + } + }; + + template + struct compute_smoothstep_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& edge0, vec const& edge1, vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'step' only accept floating-point inputs"); + vec const tmp(clamp((x - edge0) / (edge1 - edge0), static_cast(0), static_cast(1))); + return tmp * tmp * (static_cast(3) - static_cast(2) * tmp); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER genFIType abs(genFIType x) + { + return detail::compute_abs::is_signed>::call(x); + } + + template + GLM_FUNC_QUALIFIER vec abs(vec const& x) + { + return detail::compute_abs_vector::value>::call(x); + } + + // sign + // fast and works for any type + template + GLM_FUNC_QUALIFIER genFIType sign(genFIType x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer), + "'sign' only accept signed inputs"); + + return detail::compute_sign<1, genFIType, defaultp, std::numeric_limits::is_iec559, highp>::call(vec<1, genFIType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec sign(vec const& x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer), + "'sign' only accept signed inputs"); + + return detail::compute_sign::is_iec559, detail::is_aligned::value>::call(x); + } + + // floor + using ::std::floor; + template + GLM_FUNC_QUALIFIER vec floor(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'floor' only accept floating-point inputs."); + return detail::compute_floor::value>::call(x); + } + + template + GLM_FUNC_QUALIFIER vec trunc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'trunc' only accept floating-point inputs"); + return detail::compute_trunc::value>::call(x); + } + + template + GLM_FUNC_QUALIFIER vec round(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'round' only accept floating-point inputs"); + return detail::compute_round::value>::call(x); + } + +/* + // roundEven + template + GLM_FUNC_QUALIFIER genType roundEven(genType const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + + return genType(int(x + genType(int(x) % 2))); + } +*/ + + // roundEven + template + GLM_FUNC_QUALIFIER genType roundEven(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + + int Integer = static_cast(x); + genType IntegerPart = static_cast(Integer); + genType FractionalPart = fract(x); + + if(FractionalPart > static_cast(0.5) || FractionalPart < static_cast(0.5)) + { + return round(x); + } + else if((Integer % 2) == 0) + { + return IntegerPart; + } + else if(x <= static_cast(0)) // Work around... + { + return IntegerPart - static_cast(1); + } + else + { + return IntegerPart + static_cast(1); + } + //else // Bug on MinGW 4.5.2 + //{ + // return mix(IntegerPart + genType(-1), IntegerPart + genType(1), x <= genType(0)); + //} + } + + template + GLM_FUNC_QUALIFIER vec roundEven(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + return detail::functor1::call(roundEven, x); + } + + // ceil + using ::std::ceil; + template + GLM_FUNC_QUALIFIER vec ceil(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'ceil' only accept floating-point inputs"); + return detail::compute_ceil::value>::call(x); + } + + // fract + template + GLM_FUNC_QUALIFIER genType fract(genType x) + { + return fract(vec<1, genType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec fract(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fract' only accept floating-point inputs"); + return detail::compute_fract::value>::call(x); + } + + // mod + template + GLM_FUNC_QUALIFIER genType mod(genType x, genType y) + { +# if GLM_COMPILER & GLM_COMPILER_CUDA + // Another Cuda compiler bug https://github.com/g-truc/glm/issues/530 + vec<1, genType, defaultp> Result(mod(vec<1, genType, defaultp>(x), y)); + return Result.x; +# else + return mod(vec<1, genType, defaultp>(x), y).x; +# endif + } + + template + GLM_FUNC_QUALIFIER vec mod(vec const& x, T y) + { + return detail::compute_mod::value>::call(x, vec(y)); + } + + template + GLM_FUNC_QUALIFIER vec mod(vec const& x, vec const& y) + { + return detail::compute_mod::value>::call(x, y); + } + + // modf + template + GLM_FUNC_QUALIFIER genType modf(genType x, genType & i) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'modf' only accept floating-point inputs"); + return std::modf(x, &i); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> modf(vec<1, T, Q> const& x, vec<1, T, Q> & i) + { + return vec<1, T, Q>( + modf(x.x, i.x)); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> modf(vec<2, T, Q> const& x, vec<2, T, Q> & i) + { + return vec<2, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> modf(vec<3, T, Q> const& x, vec<3, T, Q> & i) + { + return vec<3, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y), + modf(x.z, i.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> modf(vec<4, T, Q> const& x, vec<4, T, Q> & i) + { + return vec<4, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y), + modf(x.z, i.z), + modf(x.w, i.w)); + } + + //// Only valid if (INT_MIN <= x-y <= INT_MAX) + //// min(x,y) + //r = y + ((x - y) & ((x - y) >> (sizeof(int) * + //CHAR_BIT - 1))); + //// max(x,y) + //r = x - ((x - y) & ((x - y) >> (sizeof(int) * + //CHAR_BIT - 1))); + + // min + template + GLM_FUNC_QUALIFIER vec min(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'min' only accept floating-point or integer inputs"); + return detail::compute_min_vector::value>::call(a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec min(vec const& a, vec const& b) + { + return detail::compute_min_vector::value>::call(a, b); + } + + // max + template + GLM_FUNC_QUALIFIER vec max(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'max' only accept floating-point or integer inputs"); + return detail::compute_max_vector::value>::call(a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec max(vec const& a, vec const& b) + { + return detail::compute_max_vector::value>::call(a, b); + } + + // clamp + template + GLM_FUNC_QUALIFIER genType clamp(genType x, genType minVal, genType maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'clamp' only accept floating-point or integer inputs"); + return min(max(x, minVal), maxVal); + } + + template + GLM_FUNC_QUALIFIER vec clamp(vec const& x, T minVal, T maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'clamp' only accept floating-point or integer inputs"); + return detail::compute_clamp_vector::value>::call(x, vec(minVal), vec(maxVal)); + } + + template + GLM_FUNC_QUALIFIER vec clamp(vec const& x, vec const& minVal, vec const& maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "'clamp' only accept floating-point or integer inputs"); + return detail::compute_clamp_vector::value>::call(x, minVal, maxVal); + } + + template + GLM_FUNC_QUALIFIER genTypeT mix(genTypeT x, genTypeT y, genTypeU a) + { + return detail::compute_mix::call(x, y, a); + } + + template + GLM_FUNC_QUALIFIER vec mix(vec const& x, vec const& y, U a) + { + return detail::compute_mix_scalar::value>::call(x, y, a); + } + + template + GLM_FUNC_QUALIFIER vec mix(vec const& x, vec const& y, vec const& a) + { + return detail::compute_mix_vector::value>::call(x, y, a); + } + + // step + template + GLM_FUNC_QUALIFIER genType step(genType edge, genType x) + { + return mix(static_cast(1), static_cast(0), x < edge); + } + + template + GLM_FUNC_QUALIFIER vec step(T edge, vec const& x) + { + return detail::compute_step_vector::value>::call(vec(edge), x); + } + + template + GLM_FUNC_QUALIFIER vec step(vec const& edge, vec const& x) + { + return detail::compute_step_vector::value>::call(edge, x); + } + + // smoothstep + template + GLM_FUNC_QUALIFIER genType smoothstep(genType edge0, genType edge1, genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs"); + + genType const tmp(clamp((x - edge0) / (edge1 - edge0), genType(0), genType(1))); + return tmp * tmp * (genType(3) - genType(2) * tmp); + } + + template + GLM_FUNC_QUALIFIER vec smoothstep(T edge0, T edge1, vec const& x) + { + return detail::compute_smoothstep_vector::value>::call(vec(edge0), vec(edge1), x); + } + + template + GLM_FUNC_QUALIFIER vec smoothstep(vec const& edge0, vec const& edge1, vec const& x) + { + return detail::compute_smoothstep_vector::value>::call(edge0, edge1, x); + } + +# if GLM_HAS_CXX11_STL + using std::isnan; +# else + template + GLM_FUNC_QUALIFIER bool isnan(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::isnan(x); +# elif GLM_COMPILER & GLM_COMPILER_VC + return _isnan(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# if GLM_PLATFORM & GLM_PLATFORM_WINDOWS + return _isnan(x) != 0; +# else + return ::isnan(x) != 0; +# endif +# elif (GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) && (GLM_PLATFORM & GLM_PLATFORM_ANDROID) && __cplusplus < 201103L + return _isnan(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_CUDA + return ::isnan(x) != 0; +# else + return std::isnan(x); +# endif + } +# endif + + template + GLM_FUNC_QUALIFIER vec isnan(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = glm::isnan(v[l]); + return Result; + } + +# if GLM_HAS_CXX11_STL + using std::isinf; +# else + template + GLM_FUNC_QUALIFIER bool isinf(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::isinf(x); +# elif GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC) +# if(GLM_PLATFORM & GLM_PLATFORM_WINDOWS) + return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; +# else + return ::isinf(x); +# endif +# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG) +# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID && __cplusplus < 201103L) + return _isinf(x) != 0; +# else + return std::isinf(x); +# endif +# elif GLM_COMPILER & GLM_COMPILER_CUDA + // http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__MATH__DOUBLE_g13431dd2b40b51f9139cbb7f50c18fab.html#g13431dd2b40b51f9139cbb7f50c18fab + return ::isinf(double(x)) != 0; +# else + return std::isinf(x); +# endif + } +# endif + + template + GLM_FUNC_QUALIFIER vec isinf(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = glm::isinf(v[l]); + return Result; + } + + GLM_FUNC_QUALIFIER int floatBitsToInt(float const& v) + { + union + { + float in; + int out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec floatBitsToInt(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER uint floatBitsToUint(float const& v) + { + union + { + float in; + uint out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec floatBitsToUint(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER float intBitsToFloat(int const& v) + { + union + { + int in; + float out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec intBitsToFloat(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER float uintBitsToFloat(uint const& v) + { + union + { + uint in; + float out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec uintBitsToFloat(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + template + GLM_FUNC_QUALIFIER genType fma(genType const& a, genType const& b, genType const& c) + { + return a * b + c; + } + + template + GLM_FUNC_QUALIFIER genType frexp(genType x, int& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'frexp' only accept floating-point inputs"); + + return std::frexp(x, &exp); + } + + template + GLM_FUNC_QUALIFIER vec frexp(vec const& v, vec& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'frexp' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = std::frexp(v[l], &exp[l]); + return Result; + } + + template + GLM_FUNC_QUALIFIER genType ldexp(genType const& x, int const& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'ldexp' only accept floating-point inputs"); + + return std::ldexp(x, exp); + } + + template + GLM_FUNC_QUALIFIER vec ldexp(vec const& v, vec const& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'ldexp' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = std::ldexp(v[l], exp[l]); + return Result; + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_common_simd.inl" +#endif diff --git a/vendor/glm/detail/func_common_simd.inl b/vendor/glm/detail/func_common_simd.inl new file mode 100755 index 0000000000..a3482ff4c5 --- /dev/null +++ b/vendor/glm/detail/func_common_simd.inl @@ -0,0 +1,231 @@ +/// @ref core +/// @file glm/detail/func_common_simd.inl + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#include "../simd/common.h" + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_abs_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_abs(v.data); + return result; + } + }; + + template + struct compute_abs_vector<4, int, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v) + { + vec<4, int, Q> result; + result.data = glm_ivec4_abs(v.data); + return result; + } + }; + + template + struct compute_floor<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_floor(v.data); + return result; + } + }; + + template + struct compute_ceil<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_ceil(v.data); + return result; + } + }; + + template + struct compute_fract<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_fract(v.data); + return result; + } + }; + + template + struct compute_round<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_round(v.data); + return result; + } + }; + + template + struct compute_mod<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& y) + { + vec<4, float, Q> result; + result.data = glm_vec4_mod(x.data, y.data); + return result; + } + }; + + template + struct compute_min_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + vec<4, float, Q> result; + result.data = _mm_min_ps(v1.data, v2.data); + return result; + } + }; + + template + struct compute_min_vector<4, int32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int32, Q> call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) + { + vec<4, int32, Q> result; + result.data = _mm_min_epi32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_min_vector<4, uint32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int32, Q> call(vec<4, uint32, Q> const& v1, vec<4, uint32, Q> const& v2) + { + vec<4, uint32, Q> result; + result.data = _mm_min_epu32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + vec<4, float, Q> result; + result.data = _mm_max_ps(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, int32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int32, Q> call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) + { + vec<4, int32, Q> result; + result.data = _mm_max_epi32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, uint32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint32, Q> call(vec<4, uint32, Q> const& v1, vec<4, uint32, Q> const& v2) + { + vec<4, uint32, Q> result; + result.data = _mm_max_epu32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& minVal, vec<4, float, Q> const& maxVal) + { + vec<4, float, Q> result; + result.data = _mm_min_ps(_mm_max_ps(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, int32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int32, Q> call(vec<4, int32, Q> const& x, vec<4, int32, Q> const& minVal, vec<4, int32, Q> const& maxVal) + { + vec<4, int32, Q> result; + result.data = _mm_min_epi32(_mm_max_epi32(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, uint32, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint32, Q> call(vec<4, uint32, Q> const& x, vec<4, uint32, Q> const& minVal, vec<4, uint32, Q> const& maxVal) + { + vec<4, uint32, Q> result; + result.data = _mm_min_epu32(_mm_max_epu32(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_mix_vector<4, float, bool, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& y, vec<4, bool, Q> const& a) + { + __m128i const Load = _mm_set_epi32(-static_cast(a.w), -static_cast(a.z), -static_cast(a.y), -static_cast(a.x)); + __m128 const Mask = _mm_castsi128_ps(Load); + + vec<4, float, Q> Result; +# if 0 && GLM_ARCH & GLM_ARCH_AVX + Result.data = _mm_blendv_ps(x.data, y.data, Mask); +# else + Result.data = _mm_or_ps(_mm_and_ps(Mask, y.data), _mm_andnot_ps(Mask, x.data)); +# endif + return Result; + } + }; +/* FIXME + template + struct compute_step_vector + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& edge, vec<4, float, Q> const& x) + { + vec<4, float, Q> Result; + result.data = glm_vec4_step(edge.data, x.data); + return result; + } + }; +*/ + template + struct compute_smoothstep_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& edge0, vec<4, float, Q> const& edge1, vec<4, float, Q> const& x) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_smoothstep(edge0.data, edge1.data, x.data); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/detail/func_exponential.inl b/vendor/glm/detail/func_exponential.inl new file mode 100755 index 0000000000..b962674821 --- /dev/null +++ b/vendor/glm/detail/func_exponential.inl @@ -0,0 +1,152 @@ +/// @ref core +/// @file glm/detail/func_exponential.inl + +#include "../vector_relational.hpp" +#include "_vectorize.hpp" +#include +#include +#include + +namespace glm{ +namespace detail +{ +# if GLM_HAS_CXX11_STL + using std::log2; +# else + template + genType log2(genType Value) + { + return std::log(Value) * static_cast(1.4426950408889634073599246810019); + } +# endif + + template + struct compute_log2 + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'log2' only accept floating-point inputs. Include for integer inputs."); + + return detail::functor1::call(log2, v); + } + }; + + template + struct compute_sqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::sqrt, x); + } + }; + + template + struct compute_inversesqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return static_cast(1) / sqrt(x); + } + }; + + template + struct compute_inversesqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + vec tmp(x); + vec xhalf(tmp * 0.5f); + vec* p = reinterpret_cast*>(const_cast*>(&x)); + vec i = vec(0x5f375a86) - (*p >> vec(1)); + vec* ptmp = reinterpret_cast*>(&i); + tmp = *ptmp; + tmp = tmp * (1.5f - xhalf * tmp * tmp); + return tmp; + } + }; +}//namespace detail + + // pow + using std::pow; + template + GLM_FUNC_QUALIFIER vec pow(vec const& base, vec const& exponent) + { + return detail::functor2::call(pow, base, exponent); + } + + // exp + using std::exp; + template + GLM_FUNC_QUALIFIER vec exp(vec const& x) + { + return detail::functor1::call(exp, x); + } + + // log + using std::log; + template + GLM_FUNC_QUALIFIER vec log(vec const& x) + { + return detail::functor1::call(log, x); + } + +# if GLM_HAS_CXX11_STL + using std::exp2; +# else + //exp2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType exp2(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'exp2' only accept floating-point inputs"); + + return std::exp(static_cast(0.69314718055994530941723212145818) * x); + } +# endif + + template + GLM_FUNC_QUALIFIER vec exp2(vec const& x) + { + return detail::functor1::call(exp2, x); + } + + // log2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType log2(genType x) + { + return log2(vec<1, genType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec log2(vec const& x) + { + return detail::compute_log2::is_iec559, detail::is_aligned::value>::call(x); + } + + // sqrt + using std::sqrt; + template + GLM_FUNC_QUALIFIER vec sqrt(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sqrt' only accept floating-point inputs"); + return detail::compute_sqrt::value>::call(x); + } + + // inversesqrt + template + GLM_FUNC_QUALIFIER genType inversesqrt(genType x) + { + return static_cast(1) / sqrt(x); + } + + template + GLM_FUNC_QUALIFIER vec inversesqrt(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'inversesqrt' only accept floating-point inputs"); + return detail::compute_inversesqrt::value>::call(x); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_exponential_simd.inl" +#endif + diff --git a/vendor/glm/detail/func_exponential_simd.inl b/vendor/glm/detail/func_exponential_simd.inl new file mode 100755 index 0000000000..4b2ef45554 --- /dev/null +++ b/vendor/glm/detail/func_exponential_simd.inl @@ -0,0 +1,35 @@ +/// @ref core +/// @file glm/detail/func_exponential_simd.inl + +#include "../simd/exponential.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_sqrt<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> Result; + Result.data = _mm_sqrt_ps(v.data); + return Result; + } + }; + + template<> + struct compute_sqrt<4, float, aligned_lowp, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& v) + { + vec<4, float, aligned_lowp> Result; + Result.data = glm_vec4_sqrt_lowp(v.data); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/detail/func_geometric.inl b/vendor/glm/detail/func_geometric.inl new file mode 100755 index 0000000000..67255d450e --- /dev/null +++ b/vendor/glm/detail/func_geometric.inl @@ -0,0 +1,247 @@ +/// @ref core +/// @file glm/detail/func_geometric.inl + +#include "../exponential.hpp" +#include "../common.hpp" +#include "type_vec2.hpp" +#include "type_vec4.hpp" +#include "type_float.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_length + { + GLM_FUNC_QUALIFIER static T call(vec const& v) + { + return sqrt(dot(v, v)); + } + }; + + template + struct compute_distance + { + GLM_FUNC_QUALIFIER static T call(vec const& p0, vec const& p1) + { + return length(p1 - p0); + } + }; + + template + struct compute_dot{}; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<1, T, Q> const& a, vec<1, T, Q> const& b) + { + return a.x * b.x; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& a, vec<2, T, Q> const& b) + { + vec<2, T, Q> tmp(a * b); + return tmp.x + tmp.y; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + vec<3, T, Q> tmp(a * b); + return tmp.x + tmp.y + tmp.z; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> tmp(a * b); + return (tmp.x + tmp.y) + (tmp.z + tmp.w); + } + }; + + template + struct compute_cross + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); + + return vec<3, T, Q>( + x.y * y.z - y.y * x.z, + x.z * y.x - y.z * x.x, + x.x * y.y - y.x * x.y); + } + }; + + template + struct compute_normalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return v * inversesqrt(dot(v, v)); + } + }; + + template + struct compute_faceforward + { + GLM_FUNC_QUALIFIER static vec call(vec const& N, vec const& I, vec const& Nref) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return dot(Nref, I) < static_cast(0) ? N : -N; + } + }; + + template + struct compute_reflect + { + GLM_FUNC_QUALIFIER static vec call(vec const& I, vec const& N) + { + return I - N * dot(N, I) * static_cast(2); + } + }; + + template + struct compute_refract + { + GLM_FUNC_QUALIFIER static vec call(vec const& I, vec const& N, T eta) + { + T const dotValue(dot(N, I)); + T const k(static_cast(1) - eta * eta * (static_cast(1) - dotValue * dotValue)); + return (eta * I - (eta * dotValue + std::sqrt(k)) * N) * static_cast(k >= static_cast(0)); + } + }; +}//namespace detail + + // length + template + GLM_FUNC_QUALIFIER genType length(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length' accepts only floating-point inputs"); + + return abs(x); + } + + template + GLM_FUNC_QUALIFIER T length(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length' accepts only floating-point inputs"); + + return detail::compute_length::value>::call(v); + } + + // distance + template + GLM_FUNC_QUALIFIER genType distance(genType const& p0, genType const& p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance' accepts only floating-point inputs"); + + return length(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T distance(vec const& p0, vec const& p1) + { + return detail::compute_distance::value>::call(p0, p1); + } + + // dot + template + GLM_FUNC_QUALIFIER T dot(T x, T y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return x * y; + } + + template + GLM_FUNC_QUALIFIER T dot(vec const& x, vec const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return detail::compute_dot, T, detail::is_aligned::value>::call(x, y); + } + + // cross + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + return detail::compute_cross::value>::call(x, y); + } + + // normalize + template + GLM_FUNC_QUALIFIER genType normalize(genType const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return x < genType(0) ? genType(-1) : genType(1); + } + + template + GLM_FUNC_QUALIFIER vec normalize(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return detail::compute_normalize::value>::call(x); + } + + // faceforward + template + GLM_FUNC_QUALIFIER genType faceforward(genType const& N, genType const& I, genType const& Nref) + { + return dot(Nref, I) < static_cast(0) ? N : -N; + } + + template + GLM_FUNC_QUALIFIER vec faceforward(vec const& N, vec const& I, vec const& Nref) + { + return detail::compute_faceforward::value>::call(N, I, Nref); + } + + // reflect + template + GLM_FUNC_QUALIFIER genType reflect(genType const& I, genType const& N) + { + return I - N * dot(N, I) * genType(2); + } + + template + GLM_FUNC_QUALIFIER vec reflect(vec const& I, vec const& N) + { + return detail::compute_reflect::value>::call(I, N); + } + + // refract + template + GLM_FUNC_QUALIFIER genType refract(genType const& I, genType const& N, genType eta) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'refract' accepts only floating-point inputs"); + genType const dotValue(dot(N, I)); + genType const k(static_cast(1) - eta * eta * (static_cast(1) - dotValue * dotValue)); + return (eta * I - (eta * dotValue + sqrt(k)) * N) * static_cast(k >= static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER vec refract(vec const& I, vec const& N, T eta) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'refract' accepts only floating-point inputs"); + return detail::compute_refract::value>::call(I, N, eta); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_geometric_simd.inl" +#endif diff --git a/vendor/glm/detail/func_geometric_simd.inl b/vendor/glm/detail/func_geometric_simd.inl new file mode 100755 index 0000000000..e6c8d85f2b --- /dev/null +++ b/vendor/glm/detail/func_geometric_simd.inl @@ -0,0 +1,99 @@ +/// @ref core +/// @file glm/detail/func_geometric_simd.inl + +#include "../simd/geometric.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_length<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& v) + { + return _mm_cvtss_f32(glm_vec4_length(v.data)); + } + }; + + template + struct compute_distance<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& p0, vec<4, float, Q> const& p1) + { + return _mm_cvtss_f32(glm_vec4_distance(p0.data, p1.data)); + } + }; + + template + struct compute_dot, float, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& x, vec<4, float, Q> const& y) + { + return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); + } + }; + + template + struct compute_cross + { + GLM_FUNC_QUALIFIER static vec<3, float, Q> call(vec<3, float, Q> const& a, vec<3, float, Q> const& b) + { + __m128 const set0 = _mm_set_ps(0.0f, a.z, a.y, a.x); + __m128 const set1 = _mm_set_ps(0.0f, b.z, b.y, b.x); + __m128 const xpd0 = glm_vec4_cross(set0, set1); + + vec<4, float, Q> Result; + Result.data = xpd0; + return vec<3, float, Q>(Result); + } + }; + + template + struct compute_normalize<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_normalize(v.data); + return Result; + } + }; + + template + struct compute_faceforward<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& N, vec<4, float, Q> const& I, vec<4, float, Q> const& Nref) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_faceforward(N.data, I.data, Nref.data); + return Result; + } + }; + + template + struct compute_reflect<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& I, vec<4, float, Q> const& N) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_reflect(I.data, N.data); + return Result; + } + }; + + template + struct compute_refract<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& I, vec<4, float, Q> const& N, float eta) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_refract(I.data, N.data, _mm_set1_ps(eta)); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/detail/func_integer.inl b/vendor/glm/detail/func_integer.inl new file mode 100755 index 0000000000..8f9ed43d5d --- /dev/null +++ b/vendor/glm/detail/func_integer.inl @@ -0,0 +1,378 @@ +/// @ref core +/// @file glm/detail/func_integer.inl + +#include "../ext/vec1.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include "type_int.hpp" +#include "_vectorize.hpp" +#if(GLM_ARCH & GLM_ARCH_X86 && GLM_COMPILER & GLM_COMPILER_VC) +# include +# pragma intrinsic(_BitScanReverse) +#endif//(GLM_ARCH & GLM_ARCH_X86 && GLM_COMPILER & GLM_COMPILER_VC) +#include + +#if !GLM_HAS_EXTENDED_INTEGER_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic ignored "-Wlong-long" +# endif +# if (GLM_COMPILER & GLM_COMPILER_CLANG) +# pragma clang diagnostic ignored "-Wc++11-long-long" +# endif +#endif + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER T mask(T Bits) + { + return Bits >= static_cast(sizeof(T) * 8) ? ~static_cast(0) : (static_cast(1) << Bits) - static_cast(1); + } + + template + struct compute_bitfieldReverseStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T, T) + { + return v; + } + }; + + template + struct compute_bitfieldReverseStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Mask, T Shift) + { + return (v & Mask) << Shift | (v & (~Mask)) >> Shift; + } + }; + + template + struct compute_bitfieldBitCountStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T, T) + { + return v; + } + }; + + template + struct compute_bitfieldBitCountStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Mask, T Shift) + { + return (v & Mask) + ((v >> Shift) & Mask); + } + }; + + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + if(Value == 0) + return -1; + + return glm::bitCount(~Value & (Value - static_cast(1))); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanForward(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + }; + +# if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_MODEL == GLM_MODEL_32)) + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanForward64(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + }; +# endif +# endif//GLM_HAS_BITSCAN_WINDOWS + + template + struct compute_findMSB_step_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, T Shift) + { + return x | (x >> Shift); + } + }; + + template + struct compute_findMSB_step_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, T) + { + return x; + } + }; + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + vec x(v); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 1)); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 2)); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 4)); + x = compute_findMSB_step_vec= 16>::call(x, static_cast( 8)); + x = compute_findMSB_step_vec= 32>::call(x, static_cast(16)); + x = compute_findMSB_step_vec= 64>::call(x, static_cast(32)); + return vec(sizeof(T) * 8 - 1) - glm::bitCount(~x); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + GLM_FUNC_QUALIFIER int compute_findMSB_32(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanReverse(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(compute_findMSB_32, x); + } + }; + +# if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_MODEL == GLM_MODEL_32)) + template + GLM_FUNC_QUALIFIER int compute_findMSB_64(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanReverse64(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(compute_findMSB_64, x); + } + }; +# endif +# endif//GLM_HAS_BITSCAN_WINDOWS +}//namespace detail + + // uaddCarry + GLM_FUNC_QUALIFIER uint uaddCarry(uint const& x, uint const& y, uint & Carry) + { + uint64 const Value64(static_cast(x) + static_cast(y)); + uint64 const Max32((static_cast(1) << static_cast(32)) - static_cast(1)); + Carry = Value64 > Max32 ? 1u : 0u; + return static_cast(Value64 % (Max32 + static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER vec uaddCarry(vec const& x, vec const& y, vec& Carry) + { + vec Value64(vec(x) + vec(y)); + vec Max32((static_cast(1) << static_cast(32)) - static_cast(1)); + Carry = mix(vec(0), vec(1), greaterThan(Value64, Max32)); + return vec(Value64 % (Max32 + static_cast(1))); + } + + // usubBorrow + GLM_FUNC_QUALIFIER uint usubBorrow(uint const& x, uint const& y, uint & Borrow) + { + GLM_STATIC_ASSERT(sizeof(uint) == sizeof(uint32), "uint and uint32 size mismatch"); + + Borrow = x >= y ? static_cast(0) : static_cast(1); + if(y >= x) + return y - x; + else + return static_cast((static_cast(1) << static_cast(32)) + (static_cast(y) - static_cast(x))); + } + + template + GLM_FUNC_QUALIFIER vec usubBorrow(vec const& x, vec const& y, vec& Borrow) + { + Borrow = mix(vec(1), vec(0), greaterThanEqual(x, y)); + vec const YgeX(y - x); + vec const XgeY(vec((static_cast(1) << static_cast(32)) + (vec(y) - vec(x)))); + return mix(XgeY, YgeX, greaterThanEqual(y, x)); + } + + // umulExtended + GLM_FUNC_QUALIFIER void umulExtended(uint const& x, uint const& y, uint & msb, uint & lsb) + { + GLM_STATIC_ASSERT(sizeof(uint) == sizeof(uint32), "uint and uint32 size mismatch"); + + uint64 Value64 = static_cast(x) * static_cast(y); + msb = static_cast(Value64 >> static_cast(32)); + lsb = static_cast(Value64); + } + + template + GLM_FUNC_QUALIFIER void umulExtended(vec const& x, vec const& y, vec& msb, vec& lsb) + { + GLM_STATIC_ASSERT(sizeof(uint) == sizeof(uint32), "uint and uint32 size mismatch"); + + vec Value64(vec(x) * vec(y)); + msb = vec(Value64 >> static_cast(32)); + lsb = vec(Value64); + } + + // imulExtended + GLM_FUNC_QUALIFIER void imulExtended(int x, int y, int& msb, int& lsb) + { + GLM_STATIC_ASSERT(sizeof(int) == sizeof(int32), "int and int32 size mismatch"); + + int64 Value64 = static_cast(x) * static_cast(y); + msb = static_cast(Value64 >> static_cast(32)); + lsb = static_cast(Value64); + } + + template + GLM_FUNC_QUALIFIER void imulExtended(vec const& x, vec const& y, vec& msb, vec& lsb) + { + GLM_STATIC_ASSERT(sizeof(int) == sizeof(int32), "int and int32 size mismatch"); + + vec Value64(vec(x) * vec(y)); + lsb = vec(Value64 & static_cast(0xFFFFFFFF)); + msb = vec((Value64 >> static_cast(32)) & static_cast(0xFFFFFFFF)); + } + + // bitfieldExtract + template + GLM_FUNC_QUALIFIER genIUType bitfieldExtract(genIUType Value, int Offset, int Bits) + { + return bitfieldExtract(vec<1, genIUType>(Value), Offset, Bits).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldExtract(vec const& Value, int Offset, int Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldExtract' only accept integer inputs"); + + return (Value >> static_cast(Offset)) & static_cast(detail::mask(Bits)); + } + + // bitfieldInsert + template + GLM_FUNC_QUALIFIER genIUType bitfieldInsert(genIUType const& Base, genIUType const& Insert, int Offset, int Bits) + { + return bitfieldInsert(vec<1, genIUType>(Base), vec<1, genIUType>(Insert), Offset, Bits).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldInsert(vec const& Base, vec const& Insert, int Offset, int Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldInsert' only accept integer values"); + + T const Mask = static_cast(detail::mask(Bits) << Offset); + return (Base & ~Mask) | (Insert & Mask); + } + + // bitfieldReverse + template + GLM_FUNC_QUALIFIER genType bitfieldReverse(genType x) + { + return bitfieldReverse(glm::vec<1, genType, glm::defaultp>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldReverse(vec const& v) + { + vec x(v); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 2>::call(x, static_cast(0x5555555555555555ull), static_cast( 1)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 4>::call(x, static_cast(0x3333333333333333ull), static_cast( 2)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 8>::call(x, static_cast(0x0F0F0F0F0F0F0F0Full), static_cast( 4)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 16>::call(x, static_cast(0x00FF00FF00FF00FFull), static_cast( 8)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 32>::call(x, static_cast(0x0000FFFF0000FFFFull), static_cast(16)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 64>::call(x, static_cast(0x00000000FFFFFFFFull), static_cast(32)); + return x; + } + + // bitCount + template + GLM_FUNC_QUALIFIER int bitCount(genType x) + { + return bitCount(glm::vec<1, genType, glm::defaultp>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec bitCount(vec const& v) + { +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable : 4310) //cast truncates constant value +# endif + + vec::type, Q> x(*reinterpret_cast::type, Q> const *>(&v)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 2>::call(x, typename detail::make_unsigned::type(0x5555555555555555ull), typename detail::make_unsigned::type( 1)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 4>::call(x, typename detail::make_unsigned::type(0x3333333333333333ull), typename detail::make_unsigned::type( 2)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 8>::call(x, typename detail::make_unsigned::type(0x0F0F0F0F0F0F0F0Full), typename detail::make_unsigned::type( 4)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 16>::call(x, typename detail::make_unsigned::type(0x00FF00FF00FF00FFull), typename detail::make_unsigned::type( 8)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 32>::call(x, typename detail::make_unsigned::type(0x0000FFFF0000FFFFull), typename detail::make_unsigned::type(16)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 64>::call(x, typename detail::make_unsigned::type(0x00000000FFFFFFFFull), typename detail::make_unsigned::type(32)); + return vec(x); + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif + } + + // findLSB + template + GLM_FUNC_QUALIFIER int findLSB(genIUType Value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findLSB' only accept integer values"); + + return detail::compute_findLSB::call(Value); + } + + template + GLM_FUNC_QUALIFIER vec findLSB(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findLSB' only accept integer values"); + + return detail::functor1::call(findLSB, x); + } + + // findMSB + template + GLM_FUNC_QUALIFIER int findMSB(genIUType v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findMSB' only accept integer values"); + + return findMSB(vec<1, genIUType>(v)).x; + } + + template + GLM_FUNC_QUALIFIER vec findMSB(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findMSB' only accept integer values"); + + return detail::compute_findMSB_vec::call(v); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_integer_simd.inl" +#endif + diff --git a/vendor/glm/detail/func_integer_simd.inl b/vendor/glm/detail/func_integer_simd.inl new file mode 100755 index 0000000000..690671a370 --- /dev/null +++ b/vendor/glm/detail/func_integer_simd.inl @@ -0,0 +1,68 @@ +/// @ref core +/// @file glm/detail/func_integer_simd.inl + +#include "../simd/integer.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_bitfieldReverseStep<4, uint32, Q, true, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint32, Q> call(vec<4, uint32, Q> const& v, uint32 Mask, uint32 Shift) + { + __m128i const set0 = v.data; + + __m128i const set1 = _mm_set1_epi32(static_cast(Mask)); + __m128i const and1 = _mm_and_si128(set0, set1); + __m128i const sft1 = _mm_slli_epi32(and1, Shift); + + __m128i const set2 = _mm_andnot_si128(set0, _mm_set1_epi32(-1)); + __m128i const and2 = _mm_and_si128(set0, set2); + __m128i const sft2 = _mm_srai_epi32(and2, Shift); + + __m128i const or0 = _mm_or_si128(sft1, sft2); + + return or0; + } + }; + + template + struct compute_bitfieldBitCountStep<4, uint32, Q, true, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint32, Q> call(vec<4, uint32, Q> const& v, uint32 Mask, uint32 Shift) + { + __m128i const set0 = v.data; + + __m128i const set1 = _mm_set1_epi32(static_cast(Mask)); + __m128i const and0 = _mm_and_si128(set0, set1); + __m128i const sft0 = _mm_slli_epi32(set0, Shift); + __m128i const and1 = _mm_and_si128(sft0, set1); + __m128i const add0 = _mm_add_epi32(and0, and1); + + return add0; + } + }; +}//namespace detail + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template<> + GLM_FUNC_QUALIFIER int bitCount(uint32 x) + { + return _mm_popcnt_u32(x); + } + +# if(GLM_MODEL == GLM_MODEL_64) + template<> + GLM_FUNC_QUALIFIER int bitCount(uint64 x) + { + return static_cast(_mm_popcnt_u64(x)); + } +# endif//GLM_MODEL +# endif//GLM_ARCH + +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/detail/func_matrix.inl b/vendor/glm/detail/func_matrix.inl new file mode 100755 index 0000000000..d823d76bfa --- /dev/null +++ b/vendor/glm/detail/func_matrix.inl @@ -0,0 +1,401 @@ +/// @ref core +/// @file glm/detail/func_matrix.inl + +#include "../geometric.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_matrixCompMult + { + GLM_FUNC_QUALIFIER static mat call(mat const& x, mat const& y) + { + mat Result; + for(length_t i = 0; i < Result.length(); ++i) + Result[i] = x[i] * y[i]; + return Result; + } + }; + + template + struct compute_transpose{}; + + template + struct compute_transpose<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 2, T, Q> call(mat<2, 2, T, Q> const& m) + { + mat<2, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + return Result; + } + }; + + template + struct compute_transpose<2, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 2, T, Q> call(mat<2, 3, T, Q> const& m) + { + mat<3,2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + return Result; + } + }; + + template + struct compute_transpose<2, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 2, T, Q> call(mat<2, 4, T, Q> const& m) + { + mat<4, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + return Result; + } + }; + + template + struct compute_transpose<3, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 3, T, Q> call(mat<3, 2, T, Q> const& m) + { + mat<2, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + return Result; + } + }; + + template + struct compute_transpose<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 3, T, Q> call(mat<3, 3, T, Q> const& m) + { + mat<3, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + return Result; + } + }; + + template + struct compute_transpose<3, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 3, T, Q> call(mat<3, 4, T, Q> const& m) + { + mat<4, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + return Result; + } + }; + + template + struct compute_transpose<4, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 4, T, Q> call(mat<4, 2, T, Q> const& m) + { + mat<2, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + return Result; + } + }; + + template + struct compute_transpose<4, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 4, T, Q> call(mat<4, 3, T, Q> const& m) + { + mat<3, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + return Result; + } + }; + + template + struct compute_transpose<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 4, T, Q> call(mat<4, 4, T, Q> const& m) + { + mat<4, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + Result[3][3] = m[3][3]; + return Result; + } + }; + + template + struct compute_determinant{}; + + template + struct compute_determinant<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<2, 2, T, Q> const& m) + { + return m[0][0] * m[1][1] - m[1][0] * m[0][1]; + } + }; + + template + struct compute_determinant<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<3, 3, T, Q> const& m) + { + return + + m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) + - m[1][0] * (m[0][1] * m[2][2] - m[2][1] * m[0][2]) + + m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2]); + } + }; + + template + struct compute_determinant<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<4, 4, T, Q> const& m) + { + T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + vec<4, T, Q> DetCof( + + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + return + m[0][0] * DetCof[0] + m[0][1] * DetCof[1] + + m[0][2] * DetCof[2] + m[0][3] * DetCof[3]; + } + }; + + template + struct compute_inverse{}; + + template + struct compute_inverse<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 2, T, Q> call(mat<2, 2, T, Q> const& m) + { + T OneOverDeterminant = static_cast(1) / ( + + m[0][0] * m[1][1] + - m[1][0] * m[0][1]); + + mat<2, 2, T, Q> Inverse( + + m[1][1] * OneOverDeterminant, + - m[0][1] * OneOverDeterminant, + - m[1][0] * OneOverDeterminant, + + m[0][0] * OneOverDeterminant); + + return Inverse; + } + }; + + template + struct compute_inverse<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 3, T, Q> call(mat<3, 3, T, Q> const& m) + { + T OneOverDeterminant = static_cast(1) / ( + + m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) + - m[1][0] * (m[0][1] * m[2][2] - m[2][1] * m[0][2]) + + m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2])); + + mat<3, 3, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]) * OneOverDeterminant; + Inverse[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]) * OneOverDeterminant; + Inverse[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]) * OneOverDeterminant; + Inverse[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]) * OneOverDeterminant; + Inverse[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]) * OneOverDeterminant; + Inverse[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]) * OneOverDeterminant; + Inverse[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]) * OneOverDeterminant; + Inverse[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]) * OneOverDeterminant; + Inverse[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]) * OneOverDeterminant; + + return Inverse; + } + }; + + template + struct compute_inverse<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 4, T, Q> call(mat<4, 4, T, Q> const& m) + { + T Coef00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T Coef02 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + T Coef03 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + T Coef04 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T Coef06 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + T Coef07 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + T Coef08 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T Coef10 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + T Coef11 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + T Coef12 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T Coef14 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + T Coef15 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + T Coef16 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T Coef18 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + T Coef19 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + T Coef20 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + T Coef22 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + T Coef23 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + vec<4, T, Q> Fac0(Coef00, Coef00, Coef02, Coef03); + vec<4, T, Q> Fac1(Coef04, Coef04, Coef06, Coef07); + vec<4, T, Q> Fac2(Coef08, Coef08, Coef10, Coef11); + vec<4, T, Q> Fac3(Coef12, Coef12, Coef14, Coef15); + vec<4, T, Q> Fac4(Coef16, Coef16, Coef18, Coef19); + vec<4, T, Q> Fac5(Coef20, Coef20, Coef22, Coef23); + + vec<4, T, Q> Vec0(m[1][0], m[0][0], m[0][0], m[0][0]); + vec<4, T, Q> Vec1(m[1][1], m[0][1], m[0][1], m[0][1]); + vec<4, T, Q> Vec2(m[1][2], m[0][2], m[0][2], m[0][2]); + vec<4, T, Q> Vec3(m[1][3], m[0][3], m[0][3], m[0][3]); + + vec<4, T, Q> Inv0(Vec1 * Fac0 - Vec2 * Fac1 + Vec3 * Fac2); + vec<4, T, Q> Inv1(Vec0 * Fac0 - Vec2 * Fac3 + Vec3 * Fac4); + vec<4, T, Q> Inv2(Vec0 * Fac1 - Vec1 * Fac3 + Vec3 * Fac5); + vec<4, T, Q> Inv3(Vec0 * Fac2 - Vec1 * Fac4 + Vec2 * Fac5); + + vec<4, T, Q> SignA(+1, -1, +1, -1); + vec<4, T, Q> SignB(-1, +1, -1, +1); + mat<4, 4, T, Q> Inverse(Inv0 * SignA, Inv1 * SignB, Inv2 * SignA, Inv3 * SignB); + + vec<4, T, Q> Row0(Inverse[0][0], Inverse[1][0], Inverse[2][0], Inverse[3][0]); + + vec<4, T, Q> Dot0(m[0] * Row0); + T Dot1 = (Dot0.x + Dot0.y) + (Dot0.z + Dot0.w); + + T OneOverDeterminant = static_cast(1) / Dot1; + + return Inverse * OneOverDeterminant; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER mat matrixCompMult(mat const& x, mat const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'matrixCompMult' only accept floating-point inputs"); + return detail::compute_matrixCompMult::value>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER typename detail::outerProduct_trait::type outerProduct(vec const& c, vec const& r) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'outerProduct' only accept floating-point inputs"); + + typename detail::outerProduct_trait::type m; + for(length_t i = 0; i < m.length(); ++i) + m[i] = c * r[i]; + return m; + } + + template + GLM_FUNC_QUALIFIER typename mat::transpose_type transpose(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'transpose' only accept floating-point inputs"); + return detail::compute_transpose::value>::call(m); + } + + template + GLM_FUNC_QUALIFIER T determinant(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'determinant' only accept floating-point inputs"); + return detail::compute_determinant::value>::call(m); + } + + template + GLM_FUNC_QUALIFIER mat inverse(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_UNRESTRICTED_GENTYPE, "'inverse' only accept floating-point inputs"); + return detail::compute_inverse::value>::call(m); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_matrix_simd.inl" +#endif + diff --git a/vendor/glm/detail/func_matrix_simd.inl b/vendor/glm/detail/func_matrix_simd.inl new file mode 100755 index 0000000000..b96c028249 --- /dev/null +++ b/vendor/glm/detail/func_matrix_simd.inl @@ -0,0 +1,95 @@ +/// @ref core +/// @file glm/detail/func_matrix_simd.inl + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#include "type_mat4x4.hpp" +#include "../geometric.hpp" +#include "../simd/matrix.h" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_matrixCompMult<4, 4, float, Q, true> + { + GLM_STATIC_ASSERT(detail::is_aligned::value, "Specialization requires aligned"); + + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& x, mat<4, 4, float, Q> const& y) + { + mat<4, 4, float, Q> Result; + glm_mat4_matrixCompMult( + *static_cast(&x[0].data), + *static_cast(&y[0].data), + *static_cast(&Result[0].data)); + return Result; + } + }; + + template + struct compute_transpose<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& m) + { + mat<4, 4, float, Q> Result; + glm_mat4_transpose( + *static_cast(&m[0].data), + *static_cast(&Result[0].data)); + return Result; + } + }; + + template + struct compute_determinant<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(mat<4, 4, float, Q> const& m) + { + return _mm_cvtss_f32(glm_mat4_determinant(*reinterpret_cast<__m128 const(*)[4]>(&m[0].data))); + } + }; + + template + struct compute_inverse<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& m) + { + mat<4, 4, float, Q> Result; + glm_mat4_inverse(*reinterpret_cast<__m128 const(*)[4]>(&m[0].data), *reinterpret_cast<__m128(*)[4]>(&Result[0].data)); + return Result; + } + }; +}//namespace detail + + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_lowp> outerProduct<4, 4, float, aligned_lowp>(vec<4, float, aligned_lowp> const& c, vec<4, float, aligned_lowp> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_lowp> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } + + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_mediump> outerProduct<4, 4, float, aligned_mediump>(vec<4, float, aligned_mediump> const& c, vec<4, float, aligned_mediump> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_mediump> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } + + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_highp> outerProduct<4, 4, float, aligned_highp>(vec<4, float, aligned_highp> const& c, vec<4, float, aligned_highp> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_highp> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } +}//namespace glm + +#endif diff --git a/vendor/glm/detail/func_packing.inl b/vendor/glm/detail/func_packing.inl new file mode 100755 index 0000000000..7c22eb9eaa --- /dev/null +++ b/vendor/glm/detail/func_packing.inl @@ -0,0 +1,190 @@ +/// @ref core +/// @file glm/detail/func_packing.inl + +#include "../common.hpp" +#include "type_half.hpp" +#include "../fwd.hpp" + +namespace glm +{ + GLM_FUNC_QUALIFIER uint packUnorm2x16(vec2 const& v) + { + union + { + u16 in[2]; + uint out; + } u; + + u16vec2 result(round(clamp(v, 0.0f, 1.0f) * 65535.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x16(uint p) + { + union + { + uint in; + u16 out[2]; + } u; + + u.in = p; + + return vec2(u.out[0], u.out[1]) * 1.5259021896696421759365224689097e-5f; + } + + GLM_FUNC_QUALIFIER uint packSnorm2x16(vec2 const& v) + { + union + { + i16 in[2]; + uint out; + } u; + + i16vec2 result(round(clamp(v, -1.0f, 1.0f) * 32767.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackSnorm2x16(uint p) + { + union + { + uint in; + i16 out[2]; + } u; + + u.in = p; + + return clamp(vec2(u.out[0], u.out[1]) * 3.0518509475997192297128208258309e-5f, -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint packUnorm4x8(vec4 const& v) + { + union + { + u8 in[4]; + uint out; + } u; + + u8vec4 result(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + u.in[2] = result[2]; + u.in[3] = result[3]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x8(uint p) + { + union + { + uint in; + u8 out[4]; + } u; + + u.in = p; + + return vec4(u.out[0], u.out[1], u.out[2], u.out[3]) * 0.0039215686274509803921568627451f; + } + + GLM_FUNC_QUALIFIER uint packSnorm4x8(vec4 const& v) + { + union + { + i8 in[4]; + uint out; + } u; + + i8vec4 result(round(clamp(v, -1.0f, 1.0f) * 127.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + u.in[2] = result[2]; + u.in[3] = result[3]; + + return u.out; + } + + GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8(uint p) + { + union + { + uint in; + i8 out[4]; + } u; + + u.in = p; + + return clamp(vec4(u.out[0], u.out[1], u.out[2], u.out[3]) * 0.0078740157480315f, -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER double packDouble2x32(uvec2 const& v) + { + union + { + uint in[2]; + double out; + } u; + + u.in[0] = v[0]; + u.in[1] = v[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER uvec2 unpackDouble2x32(double v) + { + union + { + double in; + uint out[2]; + } u; + + u.in = v; + + return uvec2(u.out[0], u.out[1]); + } + + GLM_FUNC_QUALIFIER uint packHalf2x16(vec2 const& v) + { + union + { + i16 in[2]; + uint out; + } u; + + u.in[0] = detail::toFloat16(v.x); + u.in[1] = detail::toFloat16(v.y); + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackHalf2x16(uint v) + { + union + { + uint in; + i16 out[2]; + } u; + + u.in = v; + + return vec2( + detail::toFloat32(u.out[0]), + detail::toFloat32(u.out[1])); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_packing_simd.inl" +#endif + diff --git a/vendor/glm/detail/func_packing_simd.inl b/vendor/glm/detail/func_packing_simd.inl new file mode 100755 index 0000000000..1d4a5225d7 --- /dev/null +++ b/vendor/glm/detail/func_packing_simd.inl @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/detail/func_packing_simd.inl + +namespace glm{ +namespace detail +{ + +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/func_trigonometric.inl b/vendor/glm/detail/func_trigonometric.inl new file mode 100755 index 0000000000..291fccd4b6 --- /dev/null +++ b/vendor/glm/detail/func_trigonometric.inl @@ -0,0 +1,200 @@ +/// @ref core +/// @file glm/detail/func_trigonometric.inl + +#include "_vectorize.hpp" +#include +#include + +namespace glm +{ + // radians + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType radians(genType degrees) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'radians' only accept floating-point input"); + + return degrees * static_cast(0.01745329251994329576923690768489); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec radians(vec const& v) + { + return detail::functor1::call(radians, v); + } + + // degrees + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees(genType radians) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'degrees' only accept floating-point input"); + + return radians * static_cast(57.295779513082320876798154814105); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec degrees(vec const& v) + { + return detail::functor1::call(degrees, v); + } + + // sin + using ::std::sin; + + template + GLM_FUNC_QUALIFIER vec sin(vec const& v) + { + return detail::functor1::call(sin, v); + } + + // cos + using std::cos; + + template + GLM_FUNC_QUALIFIER vec cos(vec const& v) + { + return detail::functor1::call(cos, v); + } + + // tan + using std::tan; + + template + GLM_FUNC_QUALIFIER vec tan(vec const& v) + { + return detail::functor1::call(tan, v); + } + + // asin + using std::asin; + + template + GLM_FUNC_QUALIFIER vec asin(vec const& v) + { + return detail::functor1::call(asin, v); + } + + // acos + using std::acos; + + template + GLM_FUNC_QUALIFIER vec acos(vec const& v) + { + return detail::functor1::call(acos, v); + } + + // atan + template + GLM_FUNC_QUALIFIER genType atan(genType y, genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'atan' only accept floating-point input"); + + return ::std::atan2(y, x); + } + + template + GLM_FUNC_QUALIFIER vec atan(vec const& a, vec const& b) + { + return detail::functor2::call(::std::atan2, a, b); + } + + using std::atan; + + template + GLM_FUNC_QUALIFIER vec atan(vec const& v) + { + return detail::functor1::call(atan, v); + } + + // sinh + using std::sinh; + + template + GLM_FUNC_QUALIFIER vec sinh(vec const& v) + { + return detail::functor1::call(sinh, v); + } + + // cosh + using std::cosh; + + template + GLM_FUNC_QUALIFIER vec cosh(vec const& v) + { + return detail::functor1::call(cosh, v); + } + + // tanh + using std::tanh; + + template + GLM_FUNC_QUALIFIER vec tanh(vec const& v) + { + return detail::functor1::call(tanh, v); + } + + // asinh +# if GLM_HAS_CXX11_STL + using std::asinh; +# else + template + GLM_FUNC_QUALIFIER genType asinh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asinh' only accept floating-point input"); + + return (x < static_cast(0) ? static_cast(-1) : (x > static_cast(0) ? static_cast(1) : static_cast(0))) * log(std::abs(x) + sqrt(static_cast(1) + x * x)); + } +# endif + + template + GLM_FUNC_QUALIFIER vec asinh(vec const& v) + { + return detail::functor1::call(asinh, v); + } + + // acosh +# if GLM_HAS_CXX11_STL + using std::acosh; +# else + template + GLM_FUNC_QUALIFIER genType acosh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acosh' only accept floating-point input"); + + if(x < static_cast(1)) + return static_cast(0); + return log(x + sqrt(x * x - static_cast(1))); + } +# endif + + template + GLM_FUNC_QUALIFIER vec acosh(vec const& v) + { + return detail::functor1::call(acosh, v); + } + + // atanh +# if GLM_HAS_CXX11_STL + using std::atanh; +# else + template + GLM_FUNC_QUALIFIER genType atanh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'atanh' only accept floating-point input"); + + if(std::abs(x) >= static_cast(1)) + return 0; + return static_cast(0.5) * log((static_cast(1) + x) / (static_cast(1) - x)); + } +# endif + + template + GLM_FUNC_QUALIFIER vec atanh(vec const& v) + { + return detail::functor1::call(atanh, v); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_trigonometric_simd.inl" +#endif + diff --git a/vendor/glm/detail/func_trigonometric_simd.inl b/vendor/glm/detail/func_trigonometric_simd.inl new file mode 100755 index 0000000000..e69de29bb2 diff --git a/vendor/glm/detail/func_vector_relational.inl b/vendor/glm/detail/func_vector_relational.inl new file mode 100755 index 0000000000..b081a90d38 --- /dev/null +++ b/vendor/glm/detail/func_vector_relational.inl @@ -0,0 +1,105 @@ +/// @ref core +/// @file glm/detail/func_vector_relational.inl + +#include "compute_vector_relational.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec lessThan(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] < y[i]; + + return Result; + } + + template + GLM_FUNC_QUALIFIER vec lessThanEqual(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] <= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec greaterThan(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] > y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec greaterThanEqual(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] >= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec equal(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = detail::compute_equal::call(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec notEqual(vec const& x, vec const& y) + { + assert(x.length() == y.length()); + + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = !detail::compute_equal::call(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER bool any(vec const& v) + { + bool Result = false; + for(length_t i = 0; i < v.length(); ++i) + Result = Result || v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER bool all(vec const& v) + { + bool Result = true; + for(length_t i = 0; i < v.length(); ++i) + Result = Result && v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec not_(vec const& v) + { + vec Result; + for(length_t i = 0; i < v.length(); ++i) + Result[i] = !v[i]; + return Result; + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS +# include "func_vector_relational_simd.inl" +#endif diff --git a/vendor/glm/detail/func_vector_relational_simd.inl b/vendor/glm/detail/func_vector_relational_simd.inl new file mode 100755 index 0000000000..faab59b82a --- /dev/null +++ b/vendor/glm/detail/func_vector_relational_simd.inl @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/detail/func_vector_relational_simd.inl + +namespace glm{ +namespace detail +{ + +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/glm.cpp b/vendor/glm/detail/glm.cpp new file mode 100755 index 0000000000..f4224ac0a1 --- /dev/null +++ b/vendor/glm/detail/glm.cpp @@ -0,0 +1,259 @@ +/// @ref core +/// @file glm/glm.cpp + +#define GLM_ENABLE_EXPERIMENTAL +#include +#include +#include +#include + +namespace glm +{ +// tvec1 type explicit instantiation +template struct vec<1, uint8, lowp>; +template struct vec<1, uint16, lowp>; +template struct vec<1, uint32, lowp>; +template struct vec<1, uint64, lowp>; +template struct vec<1, int8, lowp>; +template struct vec<1, int16, lowp>; +template struct vec<1, int32, lowp>; +template struct vec<1, int64, lowp>; +template struct vec<1, float32, lowp>; +template struct vec<1, float64, lowp>; + +template struct vec<1, uint8, mediump>; +template struct vec<1, uint16, mediump>; +template struct vec<1, uint32, mediump>; +template struct vec<1, uint64, mediump>; +template struct vec<1, int8, mediump>; +template struct vec<1, int16, mediump>; +template struct vec<1, int32, mediump>; +template struct vec<1, int64, mediump>; +template struct vec<1, float32, mediump>; +template struct vec<1, float64, mediump>; + +template struct vec<1, uint8, highp>; +template struct vec<1, uint16, highp>; +template struct vec<1, uint32, highp>; +template struct vec<1, uint64, highp>; +template struct vec<1, int8, highp>; +template struct vec<1, int16, highp>; +template struct vec<1, int32, highp>; +template struct vec<1, int64, highp>; +template struct vec<1, float32, highp>; +template struct vec<1, float64, highp>; + +// tvec2 type explicit instantiation +template struct vec<2, uint8, lowp>; +template struct vec<2, uint16, lowp>; +template struct vec<2, uint32, lowp>; +template struct vec<2, uint64, lowp>; +template struct vec<2, int8, lowp>; +template struct vec<2, int16, lowp>; +template struct vec<2, int32, lowp>; +template struct vec<2, int64, lowp>; +template struct vec<2, float32, lowp>; +template struct vec<2, float64, lowp>; + +template struct vec<2, uint8, mediump>; +template struct vec<2, uint16, mediump>; +template struct vec<2, uint32, mediump>; +template struct vec<2, uint64, mediump>; +template struct vec<2, int8, mediump>; +template struct vec<2, int16, mediump>; +template struct vec<2, int32, mediump>; +template struct vec<2, int64, mediump>; +template struct vec<2, float32, mediump>; +template struct vec<2, float64, mediump>; + +template struct vec<2, uint8, highp>; +template struct vec<2, uint16, highp>; +template struct vec<2, uint32, highp>; +template struct vec<2, uint64, highp>; +template struct vec<2, int8, highp>; +template struct vec<2, int16, highp>; +template struct vec<2, int32, highp>; +template struct vec<2, int64, highp>; +template struct vec<2, float32, highp>; +template struct vec<2, float64, highp>; + +// tvec3 type explicit instantiation +template struct vec<3, uint8, lowp>; +template struct vec<3, uint16, lowp>; +template struct vec<3, uint32, lowp>; +template struct vec<3, uint64, lowp>; +template struct vec<3, int8, lowp>; +template struct vec<3, int16, lowp>; +template struct vec<3, int32, lowp>; +template struct vec<3, int64, lowp>; +template struct vec<3, float32, lowp>; +template struct vec<3, float64, lowp>; + +template struct vec<3, uint8, mediump>; +template struct vec<3, uint16, mediump>; +template struct vec<3, uint32, mediump>; +template struct vec<3, uint64, mediump>; +template struct vec<3, int8, mediump>; +template struct vec<3, int16, mediump>; +template struct vec<3, int32, mediump>; +template struct vec<3, int64, mediump>; +template struct vec<3, float32, mediump>; +template struct vec<3, float64, mediump>; + +template struct vec<3, uint8, highp>; +template struct vec<3, uint16, highp>; +template struct vec<3, uint32, highp>; +template struct vec<3, uint64, highp>; +template struct vec<3, int8, highp>; +template struct vec<3, int16, highp>; +template struct vec<3, int32, highp>; +template struct vec<3, int64, highp>; +template struct vec<3, float32, highp>; +template struct vec<3, float64, highp>; + +// tvec4 type explicit instantiation +template struct vec<4, uint8, lowp>; +template struct vec<4, uint16, lowp>; +template struct vec<4, uint32, lowp>; +template struct vec<4, uint64, lowp>; +template struct vec<4, int8, lowp>; +template struct vec<4, int16, lowp>; +template struct vec<4, int32, lowp>; +template struct vec<4, int64, lowp>; +template struct vec<4, float32, lowp>; +template struct vec<4, float64, lowp>; + +template struct vec<4, uint8, mediump>; +template struct vec<4, uint16, mediump>; +template struct vec<4, uint32, mediump>; +template struct vec<4, uint64, mediump>; +template struct vec<4, int8, mediump>; +template struct vec<4, int16, mediump>; +template struct vec<4, int32, mediump>; +template struct vec<4, int64, mediump>; +template struct vec<4, float32, mediump>; +template struct vec<4, float64, mediump>; + +template struct vec<4, uint8, highp>; +template struct vec<4, uint16, highp>; +template struct vec<4, uint32, highp>; +template struct vec<4, uint64, highp>; +template struct vec<4, int8, highp>; +template struct vec<4, int16, highp>; +template struct vec<4, int32, highp>; +template struct vec<4, int64, highp>; +template struct vec<4, float32, highp>; +template struct vec<4, float64, highp>; + +// tmat2x2 type explicit instantiation +template struct mat<2, 2, float32, lowp>; +template struct mat<2, 2, float64, lowp>; + +template struct mat<2, 2, float32, mediump>; +template struct mat<2, 2, float64, mediump>; + +template struct mat<2, 2, float32, highp>; +template struct mat<2, 2, float64, highp>; + +// tmat2x3 type explicit instantiation +template struct mat<2, 3, float32, lowp>; +template struct mat<2, 3, float64, lowp>; + +template struct mat<2, 3, float32, mediump>; +template struct mat<2, 3, float64, mediump>; + +template struct mat<2, 3, float32, highp>; +template struct mat<2, 3, float64, highp>; + +// tmat2x4 type explicit instantiation +template struct mat<2, 4, float32, lowp>; +template struct mat<2, 4, float64, lowp>; + +template struct mat<2, 4, float32, mediump>; +template struct mat<2, 4, float64, mediump>; + +template struct mat<2, 4, float32, highp>; +template struct mat<2, 4, float64, highp>; + +// tmat3x2 type explicit instantiation +template struct mat<3, 2, float32, lowp>; +template struct mat<3, 2, float64, lowp>; + +template struct mat<3, 2, float32, mediump>; +template struct mat<3, 2, float64, mediump>; + +template struct mat<3, 2, float32, highp>; +template struct mat<3, 2, float64, highp>; + +// tmat3x3 type explicit instantiation +template struct mat<3, 3, float32, lowp>; +template struct mat<3, 3, float64, lowp>; + +template struct mat<3, 3, float32, mediump>; +template struct mat<3, 3, float64, mediump>; + +template struct mat<3, 3, float32, highp>; +template struct mat<3, 3, float64, highp>; + +// tmat3x4 type explicit instantiation +template struct mat<3, 4, float32, lowp>; +template struct mat<3, 4, float64, lowp>; + +template struct mat<3, 4, float32, mediump>; +template struct mat<3, 4, float64, mediump>; + +template struct mat<3, 4, float32, highp>; +template struct mat<3, 4, float64, highp>; + +// tmat4x2 type explicit instantiation +template struct mat<4, 2, float32, lowp>; +template struct mat<4, 2, float64, lowp>; + +template struct mat<4, 2, float32, mediump>; +template struct mat<4, 2, float64, mediump>; + +template struct mat<4, 2, float32, highp>; +template struct mat<4, 2, float64, highp>; + +// tmat4x3 type explicit instantiation +template struct mat<4, 3, float32, lowp>; +template struct mat<4, 3, float64, lowp>; + +template struct mat<4, 3, float32, mediump>; +template struct mat<4, 3, float64, mediump>; + +template struct mat<4, 3, float32, highp>; +template struct mat<4, 3, float64, highp>; + +// tmat4x4 type explicit instantiation +template struct mat<4, 4, float32, lowp>; +template struct mat<4, 4, float64, lowp>; + +template struct mat<4, 4, float32, mediump>; +template struct mat<4, 4, float64, mediump>; + +template struct mat<4, 4, float32, highp>; +template struct mat<4, 4, float64, highp>; + +// tquat type explicit instantiation +template struct tquat; +template struct tquat; + +template struct tquat; +template struct tquat; + +template struct tquat; +template struct tquat; + +//tdualquat type explicit instantiation +template struct tdualquat; +template struct tdualquat; + +template struct tdualquat; +template struct tdualquat; + +template struct tdualquat; +template struct tdualquat; + +}//namespace glm + diff --git a/vendor/glm/detail/qualifier.hpp b/vendor/glm/detail/qualifier.hpp new file mode 100755 index 0000000000..262ec329f8 --- /dev/null +++ b/vendor/glm/detail/qualifier.hpp @@ -0,0 +1,69 @@ +/// @ref core +/// @file glm/detail/qualifier.hpp + +#pragma once + +#include "setup.hpp" + +namespace glm +{ + /// Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp) + enum qualifier + { + packed_highp, ///< Typed data is tightly packed in memory and operations are executed with high precision in term of ULPs + packed_mediump, ///< Typed data is tightly packed in memory and operations are executed with medium precision in term of ULPs for higher performance + packed_lowp, ///< Typed data is tightly packed in memory and operations are executed with low precision in term of ULPs to maximize performance + +# if GLM_HAS_ALIGNED_TYPE + aligned_highp, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs + aligned_mediump, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs for higher performance + aligned_lowp, // ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs to maximize performance + aligned = aligned_highp, ///< By default aligned qualifier is also high precision +# endif + + highp = packed_highp, ///< By default highp qualifier is also packed + mediump = packed_mediump, ///< By default mediump qualifier is also packed + lowp = packed_lowp, ///< By default lowp qualifier is also packed + packed = packed_highp, ///< By default packed qualifier is also high precision + +# if GLM_HAS_ALIGNED_TYPE && defined(GLM_FORCE_ALIGNED) + defaultp = aligned_highp +# else + defaultp = highp +# endif + }; + + typedef qualifier precision; + + template struct vec; + template struct mat; + +namespace detail +{ + template + struct is_aligned + { + static const bool value = false; + }; + +# if GLM_HAS_ALIGNED_TYPE + template<> + struct is_aligned + { + static const bool value = true; + }; + + template<> + struct is_aligned + { + static const bool value = true; + }; + + template<> + struct is_aligned + { + static const bool value = true; + }; +# endif +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/setup.hpp b/vendor/glm/detail/setup.hpp new file mode 100755 index 0000000000..7475916591 --- /dev/null +++ b/vendor/glm/detail/setup.hpp @@ -0,0 +1,836 @@ +/// @ref core +/// @file glm/detail/setup.hpp + +#ifndef GLM_SETUP_INCLUDED + +#define GLM_VERSION_MAJOR 0 +#define GLM_VERSION_MINOR 9 +#define GLM_VERSION_PATCH 9 +#define GLM_VERSION_REVISION 0 +#define GLM_VERSION 990 + +#define GLM_SETUP_INCLUDED GLM_VERSION + +#if defined(GLM_FORCE_SWIZZLE) && defined(GLM_FORCE_UNRESTRICTED_GENTYPE) +# error "Both GLM_FORCE_SWIZZLE and GLM_FORCE_UNRESTRICTED_GENTYPE can't be defined at the same time" +#endif + +#include +#include + +/////////////////////////////////////////////////////////////////////////////////// +// Messages + +#define GLM_MESSAGES_ENABLED 1 +#define GLM_MESSAGES_DISABLE 0 + +#if defined(GLM_FORCE_MESSAGES) +# define GLM_MESSAGES GLM_MESSAGES_ENABLED +#else +# define GLM_MESSAGES GLM_MESSAGES_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Detect the platform + +#include "../simd/platform.h" + +/////////////////////////////////////////////////////////////////////////////////// +// Version + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_VERSION_DISPLAYED) +# define GLM_MESSAGE_VERSION_DISPLAYED +# pragma message ("GLM: version 0.9.9.0") +#endif//GLM_MESSAGES + +// Report compiler detection +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_COMPILER_DISPLAYED) +# define GLM_MESSAGE_COMPILER_DISPLAYED +# if GLM_COMPILER & GLM_COMPILER_CUDA +# pragma message("GLM: CUDA compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma message("GLM: Visual C++ compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma message("GLM: Clang compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# pragma message("GLM: Intel Compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma message("GLM: GCC compiler detected") +# else +# pragma message("GLM: Compiler not detected") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Build model + +#if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__) +# define GLM_MODEL GLM_MODEL_64 +#elif defined(__i386__) || defined(__ppc__) +# define GLM_MODEL GLM_MODEL_32 +#else +# define GLM_MODEL GLM_MODEL_32 +#endif// + +#if !defined(GLM_MODEL) && GLM_COMPILER != 0 +# error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message." +#endif//GLM_MODEL + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_MODEL_DISPLAYED) +# define GLM_MESSAGE_MODEL_DISPLAYED +# if(GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: 64 bits model") +# elif(GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: 32 bits model") +# endif//GLM_MODEL +#endif//GLM_MESSAGES + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_ARCH_DISPLAYED) +# define GLM_MESSAGE_ARCH_DISPLAYED +# if(GLM_ARCH == GLM_ARCH_PURE) +# pragma message("GLM: Platform independent code") +# elif(GLM_ARCH == GLM_ARCH_AVX2) +# pragma message("GLM: AVX2 instruction set") +# elif(GLM_ARCH == GLM_ARCH_AVX) +# pragma message("GLM: AVX instruction set") +# elif(GLM_ARCH == GLM_ARCH_SSE42) +# pragma message("GLM: SSE4.2 instruction set") +# elif(GLM_ARCH == GLM_ARCH_SSE41) +# pragma message("GLM: SSE4.1 instruction set") +# elif(GLM_ARCH == GLM_ARCH_SSSE3) +# pragma message("GLM: SSSE3 instruction set") +# elif(GLM_ARCH == GLM_ARCH_SSE3) +# pragma message("GLM: SSE3 instruction set") +# elif(GLM_ARCH == GLM_ARCH_SSE2) +# pragma message("GLM: SSE2 instruction set") +# elif(GLM_ARCH == GLM_ARCH_X86) +# pragma message("GLM: x86 instruction set") +# elif(GLM_ARCH == GLM_ARCH_NEON) +# pragma message("GLM: NEON instruction set") +# elif(GLM_ARCH == GLM_ARCH_ARM) +# pragma message("GLM: ARM instruction set") +# elif(GLM_ARCH == GLM_ARCH_MIPS) +# pragma message("GLM: MIPS instruction set") +# elif(GLM_ARCH == GLM_ARCH_PPC) +# pragma message("GLM: PowerPC architechture") +# endif//GLM_ARCH +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// C++ Version + +// User defines: GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_FORCE_CXX11, GLM_FORCE_CXX14 + +#define GLM_LANG_CXX98_FLAG (1 << 1) +#define GLM_LANG_CXX03_FLAG (1 << 2) +#define GLM_LANG_CXX0X_FLAG (1 << 3) +#define GLM_LANG_CXX11_FLAG (1 << 4) +#define GLM_LANG_CXX1Y_FLAG (1 << 5) +#define GLM_LANG_CXX14_FLAG (1 << 6) +#define GLM_LANG_CXX1Z_FLAG (1 << 7) +#define GLM_LANG_CXXMS_FLAG (1 << 8) +#define GLM_LANG_CXXGNU_FLAG (1 << 9) + +#define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG +#define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG) +#define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG) +#define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG) +#define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG) +#define GLM_LANG_CXX14 (GLM_LANG_CXX1Y | GLM_LANG_CXX14_FLAG) +#define GLM_LANG_CXX1Z (GLM_LANG_CXX14 | GLM_LANG_CXX1Z_FLAG) +#define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG +#define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG + +#if defined(GLM_FORCE_CXX14) +# if((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER <= GLM_COMPILER_GCC50)) || ((GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER <= GLM_COMPILER_CLANG34)) +# pragma message("GLM: Using GLM_FORCE_CXX14 with a compiler that doesn't fully support C++14") +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma message("GLM: Using GLM_FORCE_CXX14 but there is no known version of Visual C++ compiler that fully supports C++14") +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# pragma message("GLM: Using GLM_FORCE_CXX14 but there is no known version of ICC compiler that fully supports C++14") +# endif +# define GLM_LANG GLM_LANG_CXX14 +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX11) +# if((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER <= GLM_COMPILER_GCC48)) || ((GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER <= GLM_COMPILER_CLANG33)) +# pragma message("GLM: Using GLM_FORCE_CXX11 with a compiler that doesn't fully support C++11") +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma message("GLM: Using GLM_FORCE_CXX11 but there is no known version of Visual C++ compiler that fully supports C++11") +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# pragma message("GLM: Using GLM_FORCE_CXX11 but there is no known version of ICC compiler that fully supports C++11") +# endif +# define GLM_LANG GLM_LANG_CXX11 +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX03) +# define GLM_LANG GLM_LANG_CXX03 +#elif defined(GLM_FORCE_CXX98) +# define GLM_LANG GLM_LANG_CXX98 +#else +# if GLM_COMPILER & GLM_COMPILER_CLANG +# if __cplusplus >= 201402L // GLM_COMPILER_CLANG34 + -std=c++14 +# define GLM_LANG GLM_LANG_CXX14 +# elif __has_feature(cxx_decltype_auto) && __has_feature(cxx_aggregate_nsdmi) // GLM_COMPILER_CLANG33 + -std=c++1y +# define GLM_LANG GLM_LANG_CXX1Y +# elif __cplusplus >= 201103L // GLM_COMPILER_CLANG33 + -std=c++11 +# define GLM_LANG GLM_LANG_CXX11 +# elif __has_feature(cxx_static_assert) // GLM_COMPILER_CLANG29 + -std=c++11 +# define GLM_LANG GLM_LANG_CXX0X +# elif __cplusplus >= 199711L +# define GLM_LANG GLM_LANG_CXX98 +# else +# define GLM_LANG GLM_LANG_CXX +# endif +# elif GLM_COMPILER & GLM_COMPILER_GCC +# if __cplusplus >= 201402L +# define GLM_LANG GLM_LANG_CXX14 +# elif __cplusplus >= 201103L +# define GLM_LANG GLM_LANG_CXX11 +# elif defined(__GXX_EXPERIMENTAL_CXX0X__) +# define GLM_LANG GLM_LANG_CXX0X +# else +# define GLM_LANG GLM_LANG_CXX98 +# endif +# elif GLM_COMPILER & GLM_COMPILER_VC +# ifdef _MSC_EXTENSIONS +# if __cplusplus >= 201402L +# define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_CXXMS_FLAG) +# elif __cplusplus >= 201103L +# define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_CXXMS_FLAG) +# else +# define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG) +# endif +# else +# if __cplusplus >= 201402L +# define GLM_LANG GLM_LANG_CXX14 +# elif __cplusplus >= 201103L +# define GLM_LANG GLM_LANG_CXX11 +# else +# define GLM_LANG GLM_LANG_CXX0X +# endif +# endif +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# ifdef _MSC_EXTENSIONS +# define GLM_MSC_EXT GLM_LANG_CXXMS_FLAG +# else +# define GLM_MSC_EXT 0 +# endif +# if __cplusplus >= 201402L +# define GLM_LANG (GLM_LANG_CXX14 | GLM_MSC_EXT) +# elif __cplusplus >= 201103L +# define GLM_LANG (GLM_LANG_CXX11 | GLM_MSC_EXT) +# elif __INTEL_CXX11_MODE__ +# define GLM_LANG (GLM_LANG_CXX0X | GLM_MSC_EXT) +# elif __cplusplus >= 199711L +# define GLM_LANG (GLM_LANG_CXX98 | GLM_MSC_EXT) +# else +# define GLM_LANG (GLM_LANG_CXX | GLM_MSC_EXT) +# endif +# elif GLM_COMPILER & GLM_COMPILER_CUDA +# ifdef _MSC_EXTENSIONS +# define GLM_MSC_EXT GLM_LANG_CXXMS_FLAG +# else +# define GLM_MSC_EXT 0 +# endif +# if GLM_COMPILER >= GLM_COMPILER_CUDA75 +# define GLM_LANG (GLM_LANG_CXX0X | GLM_MSC_EXT) +# else +# define GLM_LANG (GLM_LANG_CXX98 | GLM_MSC_EXT) +# endif +# else // Unknown compiler +# if __cplusplus >= 201402L +# define GLM_LANG GLM_LANG_CXX14 +# elif __cplusplus >= 201103L +# define GLM_LANG GLM_LANG_CXX11 +# elif __cplusplus >= 199711L +# define GLM_LANG GLM_LANG_CXX98 +# else +# define GLM_LANG GLM_LANG_CXX // Good luck with that! +# endif +# ifndef GLM_FORCE_PURE +# define GLM_FORCE_PURE +# endif +# endif +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_LANG_DISPLAYED) +# define GLM_MESSAGE_LANG_DISPLAYED + +# if GLM_LANG & GLM_LANG_CXX1Z_FLAG +# pragma message("GLM: C++1z") +# elif GLM_LANG & GLM_LANG_CXX14_FLAG +# pragma message("GLM: C++14") +# elif GLM_LANG & GLM_LANG_CXX1Y_FLAG +# pragma message("GLM: C++1y") +# elif GLM_LANG & GLM_LANG_CXX11_FLAG +# pragma message("GLM: C++11") +# elif GLM_LANG & GLM_LANG_CXX0X_FLAG +# pragma message("GLM: C++0x") +# elif GLM_LANG & GLM_LANG_CXX03_FLAG +# pragma message("GLM: C++03") +# elif GLM_LANG & GLM_LANG_CXX98_FLAG +# pragma message("GLM: C++98") +# else +# pragma message("GLM: C++ language undetected") +# endif//GLM_LANG + +# if GLM_LANG & (GLM_LANG_CXXGNU_FLAG | GLM_LANG_CXXMS_FLAG) +# pragma message("GLM: Language extensions enabled") +# endif//GLM_LANG +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Has of C++ features + +// http://clang.llvm.org/cxx_status.html +// http://gcc.gnu.org/projects/cxx0x.html +// http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx + +// Android has multiple STLs but C++11 STL detection doesn't always work #284 #564 +#if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED) +# define GLM_HAS_CXX11_STL 0 +#elif GLM_COMPILER & GLM_COMPILER_CLANG +# if (defined(_LIBCPP_VERSION) && GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED) +# define GLM_HAS_CXX11_STL 1 +# else +# define GLM_HAS_CXX11_STL 0 +# endif +#else +# define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)))) +#endif + +// N1720 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_STATIC_ASSERT 1 +#else +# define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC)))) +#endif + +// N1988 +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_EXTENDED_INTEGER_TYPE 1 +#else +# define GLM_HAS_EXTENDED_INTEGER_TYPE (\ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG))) +#endif + +// N2235 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_CONSTEXPR __has_feature(cxx_constexpr) +# define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_CONSTEXPR 1 +# define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR +#else +# define GLM_HAS_CONSTEXPR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)))) // GCC 4.6 support constexpr but there is a compiler bug causing a crash +# define GLM_HAS_CONSTEXPR_PARTIAL (GLM_HAS_CONSTEXPR || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14))) +#endif + +// N2672 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_INITIALIZER_LISTS 1 +#else +# define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75)))) +#endif + +// N2544 Unrestricted unions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions) +#elif GLM_LANG & (GLM_LANG_CXX11_FLAG | GLM_LANG_CXXMS_FLAG) +# define GLM_HAS_UNRESTRICTED_UNIONS 1 +#else +# define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_LANG & GLM_LANG_CXXMS_FLAG)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75)) || \ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46))) +#endif + +// N2346 +#if defined(GLM_FORCE_UNRESTRICTED_GENTYPE) +# define GLM_HAS_DEFAULTED_FUNCTIONS 0 +#elif GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_DEFAULTED_FUNCTIONS 1 +#else +# define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + (GLM_COMPILER & GLM_COMPILER_CUDA))) +#endif + +// N2118 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_RVALUE_REFERENCES 1 +#else +# define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1 +#else +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_TEMPLATE_ALIASES 1 +#else +# define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC47)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_RANGE_FOR 1 +#else +# define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2341 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_ALIGNOF __has_feature(c_alignof) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_ALIGNOF 1 +#else +# define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA70)))) +#endif + +#define GLM_HAS_ONLY_XYZW ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER < GLM_COMPILER_GCC46)) +#if GLM_HAS_ONLY_XYZW +# pragma message("GLM: GCC older than 4.6 has a bug presenting the use of rgba and stpq components") +#endif + +// +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_ASSIGNABLE 1 +#else +# define GLM_HAS_ASSIGNABLE ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49)))) +#endif + +// +#define GLM_HAS_TRIVIAL_QUERIES 0 + +// +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_MAKE_SIGNED 1 +#else +# define GLM_HAS_MAKE_SIGNED ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +#if GLM_ARCH == GLM_ARCH_PURE +# define GLM_HAS_BITSCAN_WINDOWS 0 +#else +# define GLM_HAS_BITSCAN_WINDOWS ((GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14) && (GLM_ARCH & GLM_ARCH_X86_BIT)))) +#endif + +// OpenMP +#ifdef _OPENMP +# if GLM_COMPILER & GLM_COMPILER_GCC +# if GLM_COMPILER >= GLM_COMPILER_GCC61 +# define GLM_HAS_OPENMP 45 +# elif GLM_COMPILER >= GLM_COMPILER_GCC49 +# define GLM_HAS_OPENMP 40 +# elif GLM_COMPILER >= GLM_COMPILER_GCC47 +# define GLM_HAS_OPENMP 31 +# else +# define GLM_HAS_OPENMP 0 +# endif +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# if GLM_COMPILER >= GLM_COMPILER_CLANG38 +# define GLM_HAS_OPENMP 31 +# else +# define GLM_HAS_OPENMP 0 +# endif +# elif GLM_COMPILER & GLM_COMPILER_VC +# define GLM_HAS_OPENMP 20 +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# if GLM_COMPILER >= GLM_COMPILER_INTEL16 +# define GLM_HAS_OPENMP 40 +# else +# define GLM_HAS_OPENMP 0 +# endif +# else +# define GLM_HAS_OPENMP 0 +# endif +#else +# define GLM_HAS_OPENMP 0 +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// nullptr + +// +#if GLM_LANG & GLM_LANG_CXX0X_FLAG +# define GLM_HAS_NULLPTR 1 +#else +# define GLM_HAS_NULLPTR 0 +#endif + +#if GLM_HAS_NULLPTR +# define GLM_NULLPTR nullptr +#else +# define GLM_NULLPTR 0 +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Static assert + +#if GLM_HAS_STATIC_ASSERT +# define GLM_STATIC_ASSERT(x, message) static_assert(x, message) +#elif GLM_COMPILER & GLM_COMPILER_VC +# define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1] +#else +# define GLM_STATIC_ASSERT(x, message) +# define GLM_STATIC_ASSERT_NULL +#endif//GLM_LANG + +/////////////////////////////////////////////////////////////////////////////////// +// Qualifiers + +#if GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_CUDA_FUNC_DEF __device__ __host__ +# define GLM_CUDA_FUNC_DECL __device__ __host__ +#else +# define GLM_CUDA_FUNC_DEF +# define GLM_CUDA_FUNC_DECL +#endif + +#if GLM_COMPILER & GLM_COMPILER_GCC +# define GLM_VAR_USED __attribute__ ((unused)) +#else +# define GLM_VAR_USED +#endif + +#if defined(GLM_FORCE_INLINE) +# if GLM_COMPILER & GLM_COMPILER_VC +# define GLM_INLINE __forceinline +# define GLM_NEVER_INLINE __declspec((noinline)) +# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG) +# define GLM_INLINE inline __attribute__((__always_inline__)) +# define GLM_NEVER_INLINE __attribute__((__noinline__)) +# elif GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_INLINE __forceinline__ +# define GLM_NEVER_INLINE __noinline__ +# else +# define GLM_INLINE inline +# define GLM_NEVER_INLINE +# endif//GLM_COMPILER +#else +# define GLM_INLINE inline +# define GLM_NEVER_INLINE +#endif//defined(GLM_FORCE_INLINE) + +#define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL +#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE + +/////////////////////////////////////////////////////////////////////////////////// +// Swizzle operators + +// User defines: GLM_FORCE_SWIZZLE + +#define GLM_SWIZZLE_ENABLED 1 +#define GLM_SWIZZLE_DISABLE 0 + +#if defined(GLM_FORCE_SWIZZLE) +# define GLM_SWIZZLE GLM_SWIZZLE_ENABLED +#else +# define GLM_SWIZZLE GLM_SWIZZLE_DISABLE +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED) +# define GLM_MESSAGE_SWIZZLE_DISPLAYED +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +# pragma message("GLM: Swizzling operators enabled") +# else +# pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Allows using not basic types as genType + +// #define GLM_FORCE_UNRESTRICTED_GENTYPE + +#ifdef GLM_FORCE_UNRESTRICTED_GENTYPE +# define GLM_UNRESTRICTED_GENTYPE 1 +#else +# define GLM_UNRESTRICTED_GENTYPE 0 +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_UNRESTRICTED_GENTYPE_DISPLAYED) +# define GLM_MESSAGE_UNRESTRICTED_GENTYPE_DISPLAYED +# ifdef GLM_FORCE_UNRESTRICTED_GENTYPE +# pragma message("GLM: Use unrestricted genType") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Force single only (remove explicit float64 types) + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_SINGLE_ONLY_DISPLAYED) +# define GLM_MESSAGE_SINGLE_ONLY_DISPLAYED +# ifdef GLM_FORCE_SINGLE_ONLY +# pragma message("GLM: Using only single precision floating-point types") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Clip control + +#define GLM_DEPTH_ZERO_TO_ONE 0x00000001 +#define GLM_DEPTH_NEGATIVE_ONE_TO_ONE 0x00000002 + +#ifdef GLM_FORCE_DEPTH_ZERO_TO_ONE +# define GLM_DEPTH_CLIP_SPACE GLM_DEPTH_ZERO_TO_ONE +#else +# define GLM_DEPTH_CLIP_SPACE GLM_DEPTH_NEGATIVE_ONE_TO_ONE +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_DEPTH_DISPLAYED) +# define GLM_MESSAGE_DEPTH_DISPLAYED +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE +# pragma message("GLM: Depth clip space: Zero to one") +# else +# pragma message("GLM: Depth clip space: negative one to one") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Coordinate system, define GLM_FORCE_LEFT_HANDED before including GLM +// to use left handed coordinate system by default. + +#define GLM_LEFT_HANDED 0x00000001 // For DirectX, Metal, Vulkan +#define GLM_RIGHT_HANDED 0x00000002 // For OpenGL, default in GLM + +#ifdef GLM_FORCE_LEFT_HANDED +# define GLM_COORDINATE_SYSTEM GLM_LEFT_HANDED +#else +# define GLM_COORDINATE_SYSTEM GLM_RIGHT_HANDED +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_HANDED_DISPLAYED) +# define GLM_MESSAGE_HANDED_DISPLAYED +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED +# pragma message("GLM: Coordinate system: left handed") +# else +# pragma message("GLM: Coordinate system: right handed") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Qualifiers + +#if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)) +# define GLM_DEPRECATED __declspec(deprecated) +# define GLM_ALIGN(x) __declspec(align(x)) +# define GLM_ALIGNED_STRUCT(x) struct __declspec(align(x)) +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name +# define GLM_RESTRICT_FUNC __declspec(restrict) +# define GLM_RESTRICT __restrict +# if GLM_COMPILER >= GLM_COMPILER_VC12 +# define GLM_VECTOR_CALL __vectorcall +# else +# define GLM_VECTOR_CALL +# endif +#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL) +# define GLM_DEPRECATED __attribute__((__deprecated__)) +# define GLM_ALIGN(x) __attribute__((aligned(x))) +# define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x))) +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment))) +# define GLM_RESTRICT_FUNC __restrict__ +# define GLM_RESTRICT __restrict__ +# if GLM_COMPILER & GLM_COMPILER_CLANG +# if GLM_COMPILER >= GLM_COMPILER_CLANG37 +# define GLM_VECTOR_CALL __vectorcall +# else +# define GLM_VECTOR_CALL +# endif +# else +# define GLM_VECTOR_CALL +# endif +#elif GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_DEPRECATED +# define GLM_ALIGN(x) __align__(x) +# define GLM_ALIGNED_STRUCT(x) struct __align__(x) +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __align__(x) +# define GLM_RESTRICT_FUNC __restrict__ +# define GLM_RESTRICT __restrict__ +# define GLM_VECTOR_CALL +#else +# define GLM_DEPRECATED +# define GLM_ALIGN +# define GLM_ALIGNED_STRUCT(x) struct +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name +# define GLM_RESTRICT_FUNC +# define GLM_RESTRICT +# define GLM_VECTOR_CALL +#endif//GLM_COMPILER + +#if GLM_HAS_DEFAULTED_FUNCTIONS +# define GLM_DEFAULT = default + +# ifdef GLM_FORCE_NO_CTOR_INIT +# undef GLM_FORCE_CTOR_INIT +# endif + +# ifdef GLM_FORCE_CTOR_INIT +# define GLM_DEFAULT_CTOR +# else +# define GLM_DEFAULT_CTOR = default +# endif +#else +# define GLM_DEFAULT +# define GLM_DEFAULT_CTOR +#endif + +#if GLM_HAS_CONSTEXPR || GLM_HAS_CONSTEXPR_PARTIAL +# define GLM_CONSTEXPR constexpr +# if ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER <= GLM_COMPILER_VC14)) // Visual C++ has a bug #594 https://github.com/g-truc/glm/issues/594 +# define GLM_CONSTEXPR_CTOR +# else +# define GLM_CONSTEXPR_CTOR constexpr +# endif +#else +# define GLM_CONSTEXPR +# define GLM_CONSTEXPR_CTOR +#endif + +#if GLM_HAS_CONSTEXPR +# define GLM_RELAXED_CONSTEXPR constexpr +#else +# define GLM_RELAXED_CONSTEXPR const +#endif + +#if GLM_LANG >= GLM_LANG_CXX14 +# if ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER <= GLM_COMPILER_VC14)) // Visual C++ < 2017 does not support extended const expressions https://msdn.microsoft.com/en-us/library/hh567368.aspx https://github.com/g-truc/glm/issues/749 +# define GLM_CONSTEXPR_CXX14 +# else +# define GLM_CONSTEXPR_CXX14 GLM_CONSTEXPR +# endif +# define GLM_CONSTEXPR_CTOR_CXX14 GLM_CONSTEXPR_CTOR +#else +# define GLM_CONSTEXPR_CXX14 +# define GLM_CONSTEXPR_CTOR_CXX14 +#endif + +#if GLM_ARCH == GLM_ARCH_PURE +# define GLM_CONSTEXPR_SIMD GLM_CONSTEXPR_CTOR +#else +# define GLM_CONSTEXPR_SIMD +#endif + +#ifdef GLM_FORCE_EXPLICIT_CTOR +# define GLM_EXPLICIT explicit +#else +# define GLM_EXPLICIT +#endif + +/////////////////////////////////////////////////////////////////////////////////// + +#define GLM_HAS_ALIGNED_TYPE GLM_HAS_UNRESTRICTED_UNIONS + +/////////////////////////////////////////////////////////////////////////////////// +// Length type: all length functions returns a length_t type. +// When GLM_FORCE_SIZE_T_LENGTH is defined, length_t is a typedef of size_t otherwise +// length_t is a typedef of int like GLSL defines it. + +// User define: GLM_FORCE_SIZE_T_LENGTH + +namespace glm +{ + using std::size_t; +# if defined(GLM_FORCE_SIZE_T_LENGTH) + typedef size_t length_t; +# else + typedef int length_t; +# endif +}//namespace glm + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH) +# define GLM_MESSAGE_FORCE_SIZE_T_LENGTH +# if defined GLM_FORCE_SIZE_T_LENGTH +# pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t") +# else +# pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// countof + +#if GLM_HAS_CONSTEXPR_PARTIAL + namespace glm + { + template + constexpr std::size_t countof(T const (&)[N]) + { + return N; + } + }//namespace glm +# define GLM_COUNTOF(arr) glm::countof(arr) +#elif defined(_MSC_VER) +# define GLM_COUNTOF(arr) _countof(arr) +#else +# define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0]) +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Check inclusions of different versions of GLM + +#elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION)) +# error "GLM error: A different version of GLM is already included. Define GLM_FORCE_IGNORE_VERSION before including GLM headers to ignore this error." +#elif GLM_SETUP_INCLUDED == GLM_VERSION + +#endif//GLM_SETUP_INCLUDED diff --git a/vendor/glm/detail/type_float.hpp b/vendor/glm/detail/type_float.hpp new file mode 100755 index 0000000000..28abb5f848 --- /dev/null +++ b/vendor/glm/detail/type_float.hpp @@ -0,0 +1,75 @@ +/// @ref core +/// @file glm/detail/type_float.hpp + +#pragma once + +#include "setup.hpp" + +namespace glm{ +namespace detail +{ + typedef float float32; + +# ifndef GLM_FORCE_SINGLE_ONLY + typedef double float64; +# endif//GLM_FORCE_SINGLE_ONLY +}//namespace detail + + typedef float lowp_float_t; + typedef float mediump_float_t; + typedef double highp_float_t; + + /// @addtogroup core_precision + /// @{ + + /// Low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.4 Floats + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef lowp_float_t lowp_float; + + /// Medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.4 Floats + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mediump_float_t mediump_float; + + /// High qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.4 Floats + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef highp_float_t highp_float; + +#if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef mediump_float float_t; +#elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef highp_float float_t; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef mediump_float float_t; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_float float_t; +#else +# error "GLM error: multiple default precision requested for floating-point types" +#endif + + typedef float float32; + +# ifndef GLM_FORCE_SINGLE_ONLY + typedef double float64; +# endif//GLM_FORCE_SINGLE_ONLY + +//////////////////// +// check type sizes +#ifndef GLM_STATIC_ASSERT_NULL + GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform"); +# ifndef GLM_FORCE_SINGLE_ONLY + GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform"); +# endif//GLM_FORCE_SINGLE_ONLY +#endif//GLM_STATIC_ASSERT_NULL + + /// @} + +}//namespace glm diff --git a/vendor/glm/detail/type_gentype.hpp b/vendor/glm/detail/type_gentype.hpp new file mode 100755 index 0000000000..b45cdf47b5 --- /dev/null +++ b/vendor/glm/detail/type_gentype.hpp @@ -0,0 +1,195 @@ +/// @ref core +/// @file glm/detail/type_gentype.hpp + +#pragma once + +namespace glm +{ + enum profile + { + nice, + fast, + simd + }; + + typedef std::size_t sizeType; + +namespace detail +{ + template + < + typename VALTYPE, + template class TYPE + > + struct genType + { + public: + enum ctor{null}; + + typedef VALTYPE value_type; + typedef VALTYPE & value_reference; + typedef VALTYPE * value_pointer; + typedef VALTYPE const * value_const_pointer; + typedef TYPE bool_type; + + typedef sizeType size_type; + static bool is_vector(); + static bool is_matrix(); + + typedef TYPE type; + typedef TYPE * pointer; + typedef TYPE const * const_pointer; + typedef TYPE const * const const_pointer_const; + typedef TYPE * const pointer_const; + typedef TYPE & reference; + typedef TYPE const& const_reference; + typedef TYPE const& param_type; + + ////////////////////////////////////// + // Address (Implementation details) + + value_const_pointer value_address() const{return value_pointer(this);} + value_pointer value_address(){return value_pointer(this);} + + //protected: + // enum kind + // { + // GEN_TYPE, + // VEC_TYPE, + // MAT_TYPE + // }; + + // typedef typename TYPE::kind kind; + }; + + template + < + typename VALTYPE, + template class TYPE + > + bool genType::is_vector() + { + return true; + } +/* + template + class base + { + public: + ////////////////////////////////////// + // Traits + + typedef sizeType size_type; + typedef valTypeT value_type; + + typedef base class_type; + + typedef base bool_type; + typedef base col_type; + typedef base row_type; + typedef base transpose_type; + + static size_type col_size(); + static size_type row_size(); + static size_type value_size(); + static bool is_scalar(); + static bool is_vector(); + static bool is_matrix(); + + private: + // Data + col_type value[colT]; + + public: + ////////////////////////////////////// + // Constructors + base(); + base(class_type const& m); + + explicit base(T const& x); + explicit base(value_type const * const x); + explicit base(col_type const * const x); + + ////////////////////////////////////// + // Conversions + template + explicit base(base const& m); + + ////////////////////////////////////// + // Accesses + col_type& operator[](size_type i); + col_type const& operator[](size_type i) const; + + ////////////////////////////////////// + // Unary updatable operators + class_type& operator= (class_type const& x); + class_type& operator+= (T const& x); + class_type& operator+= (class_type const& x); + class_type& operator-= (T const& x); + class_type& operator-= (class_type const& x); + class_type& operator*= (T const& x); + class_type& operator*= (class_type const& x); + class_type& operator/= (T const& x); + class_type& operator/= (class_type const& x); + class_type& operator++ (); + class_type& operator-- (); + }; +*/ + + //template + //struct traits + //{ + // static const bool is_signed = false; + // static const bool is_float = false; + // static const bool is_vector = false; + // static const bool is_matrix = false; + // static const bool is_genType = false; + // static const bool is_genIType = false; + // static const bool is_genUType = false; + //}; + + //template<> + //struct traits + //{ + // static const bool is_float = true; + // static const bool is_genType = true; + //}; + + //template<> + //struct traits + //{ + // static const bool is_float = true; + // static const bool is_genType = true; + //}; + + //template<> + //struct traits + //{ + // static const bool is_float = true; + // static const bool is_genType = true; + //}; + + //template + //struct desc + //{ + // typedef genType type; + // typedef genType * pointer; + // typedef genType const* const_pointer; + // typedef genType const *const const_pointer_const; + // typedef genType *const pointer_const; + // typedef genType & reference; + // typedef genType const& const_reference; + // typedef genType const& param_type; + + // typedef typename genType::value_type value_type; + // typedef typename genType::size_type size_type; + // static const typename size_type value_size; + //}; + + //template + //const typename desc::size_type desc::value_size = genType::value_size(); + +}//namespace detail +}//namespace glm + +//#include "type_gentype.inl" diff --git a/vendor/glm/detail/type_gentype.inl b/vendor/glm/detail/type_gentype.inl new file mode 100755 index 0000000000..60ffa9a9ec --- /dev/null +++ b/vendor/glm/detail/type_gentype.inl @@ -0,0 +1,341 @@ +/// @ref core +/// @file glm/detail/type_gentype.inl + +namespace glm{ +namespace detail{ + +///////////////////////////////// +// Static functions + +template +typename base::size_type base::col_size() +{ + return cT; +} + +template +typename base::size_type base::row_size() +{ + return rT; +} + +template +typename base::size_type base::value_size() +{ + return rT * cT; +} + +template +bool base::is_scalar() +{ + return rT == 1 && cT == 1; +} + +template +bool base::is_vector() +{ + return rT == 1; +} + +template +bool base::is_matrix() +{ + return rT != 1; +} + +///////////////////////////////// +// Constructor + +template +base::base() +{ + memset(&this->value, 0, cT * rT * sizeof(vT)); +} + +template +base::base +( + typename base::class_type const& m +) +{ + for + ( + typename genType::size_type i = typename base::size_type(0); + i < base::col_size(); + ++i + ) + { + this->value[i] = m[i]; + } +} + +template +base::base +( + typename base::T const& x +) +{ + if(rT == 1) // vector + { + for + ( + typename base::size_type i = typename base::size_type(0); + i < base::col_size(); + ++i + ) + { + this->value[i][rT] = x; + } + } + else // matrix + { + memset(&this->value, 0, cT * rT * sizeof(vT)); + + typename base::size_type stop = cT < rT ? cT : rT; + + for + ( + typename base::size_type i = typename base::size_type(0); + i < stop; + ++i + ) + { + this->value[i][i] = x; + } + } +} + +template +base::base +( + typename base::value_type const * const x +) +{ + memcpy(&this->value, &x.value, cT * rT * sizeof(vT)); +} + +template +base::base +( + typename base::col_type const * const x +) +{ + for + ( + typename base::size_type i = typename base::size_type(0); + i < base::col_size(); + ++i + ) + { + this->value[i] = x[i]; + } +} + +template +template +base::base +( + base const& m +) +{ + for + ( + typename base::size_type i = typename base::size_type(0); + i < base::col_size(); + ++i + ) + { + this->value[i] = base(m[i]); + } +} + +////////////////////////////////////// +// Accesses + +template +typename base::col_type& base::operator[] +( + typename base::size_type i +) +{ + return this->value[i]; +} + +template +typename base::col_type const& base::operator[] +( + typename base::size_type i +) const +{ + return this->value[i]; +} + +////////////////////////////////////// +// Unary updatable operators + +template +typename base::class_type& base::operator= +( + typename base::class_type const& x +) +{ + memcpy(&this->value, &x.value, cT * rT * sizeof(vT)); + return *this; +} + +template +typename base::class_type& base::operator+= +( + typename base::T const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] += x; + + return *this; +} + +template +typename base::class_type& base::operator+= +( + typename base::class_type const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] += x[j][i]; + + return *this; +} + +template +typename base::class_type& base::operator-= +( + typename base::T const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] -= x; + + return *this; +} + +template +typename base::class_type& base::operator-= +( + typename base::class_type const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] -= x[j][i]; + + return *this; +} + +template +typename base::class_type& base::operator*= +( + typename base::T const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] *= x; + + return *this; +} + +template +typename base::class_type& base::operator*= +( + typename base::class_type const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] *= x[j][i]; + + return *this; +} + +template +typename base::class_type& base::operator/= +( + typename base::T const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] /= x; + + return *this; +} + +template +typename base::class_type& base::operator/= +( + typename base::class_type const& x +) +{ + typename base::size_type stop_col = x.col_size(); + typename base::size_type stop_row = x.row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + this->value[j][i] /= x[j][i]; + + return *this; +} + +template +typename base::class_type& base::operator++ () +{ + typename base::size_type stop_col = col_size(); + typename base::size_type stop_row = row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + ++this->value[j][i]; + + return *this; +} + +template +typename base::class_type& base::operator-- () +{ + typename base::size_type stop_col = col_size(); + typename base::size_type stop_row = row_size(); + + for(typename base::size_type j = 0; j < stop_col; ++j) + for(typename base::size_type i = 0; i < stop_row; ++i) + --this->value[j][i]; + + return *this; +} + +} //namespace detail +} //namespace glm diff --git a/vendor/glm/detail/type_half.hpp b/vendor/glm/detail/type_half.hpp new file mode 100755 index 0000000000..57f7dec6d7 --- /dev/null +++ b/vendor/glm/detail/type_half.hpp @@ -0,0 +1,19 @@ +/// @ref core +/// @file glm/detail/type_half.hpp + +#pragma once + +#include "setup.hpp" + +namespace glm{ +namespace detail +{ + typedef short hdata; + + GLM_FUNC_DECL float toFloat32(hdata value); + GLM_FUNC_DECL hdata toFloat16(float const& value); + +}//namespace detail +}//namespace glm + +#include "type_half.inl" diff --git a/vendor/glm/detail/type_half.inl b/vendor/glm/detail/type_half.inl new file mode 100755 index 0000000000..29e8160b10 --- /dev/null +++ b/vendor/glm/detail/type_half.inl @@ -0,0 +1,244 @@ +/// @ref core +/// @file glm/detail/type_half.inl + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER float overflow() + { + volatile float f = 1e10; + + for(int i = 0; i < 10; ++i) + f *= f; // this will overflow before the for loop terminates + return f; + } + + union uif32 + { + GLM_FUNC_QUALIFIER uif32() : + i(0) + {} + + GLM_FUNC_QUALIFIER uif32(float f_) : + f(f_) + {} + + GLM_FUNC_QUALIFIER uif32(uint32 i_) : + i(i_) + {} + + float f; + uint32 i; + }; + + GLM_FUNC_QUALIFIER float toFloat32(hdata value) + { + int s = (value >> 15) & 0x00000001; + int e = (value >> 10) & 0x0000001f; + int m = value & 0x000003ff; + + if(e == 0) + { + if(m == 0) + { + // + // Plus or minus zero + // + + detail::uif32 result; + result.i = static_cast(s << 31); + return result.f; + } + else + { + // + // Denormalized number -- renormalize it + // + + while(!(m & 0x00000400)) + { + m <<= 1; + e -= 1; + } + + e += 1; + m &= ~0x00000400; + } + } + else if(e == 31) + { + if(m == 0) + { + // + // Positive or negative infinity + // + + uif32 result; + result.i = static_cast((s << 31) | 0x7f800000); + return result.f; + } + else + { + // + // Nan -- preserve sign and significand bits + // + + uif32 result; + result.i = static_cast((s << 31) | 0x7f800000 | (m << 13)); + return result.f; + } + } + + // + // Normalized number + // + + e = e + (127 - 15); + m = m << 13; + + // + // Assemble s, e and m. + // + + uif32 Result; + Result.i = static_cast((s << 31) | (e << 23) | m); + return Result.f; + } + + GLM_FUNC_QUALIFIER hdata toFloat16(float const& f) + { + uif32 Entry; + Entry.f = f; + int i = static_cast(Entry.i); + + // + // Our floating point number, f, is represented by the bit + // pattern in integer i. Disassemble that bit pattern into + // the sign, s, the exponent, e, and the significand, m. + // Shift s into the position where it will go in in the + // resulting half number. + // Adjust e, accounting for the different exponent bias + // of float and half (127 versus 15). + // + + int s = (i >> 16) & 0x00008000; + int e = ((i >> 23) & 0x000000ff) - (127 - 15); + int m = i & 0x007fffff; + + // + // Now reassemble s, e and m into a half: + // + + if(e <= 0) + { + if(e < -10) + { + // + // E is less than -10. The absolute value of f is + // less than half_MIN (f may be a small normalized + // float, a denormalized float or a zero). + // + // We convert f to a half zero. + // + + return hdata(s); + } + + // + // E is between -10 and 0. F is a normalized float, + // whose magnitude is less than __half_NRM_MIN. + // + // We convert f to a denormalized half. + // + + m = (m | 0x00800000) >> (1 - e); + + // + // Round to nearest, round "0.5" up. + // + // Rounding may cause the significand to overflow and make + // our number normalized. Because of the way a half's bits + // are laid out, we don't have to treat this case separately; + // the code below will handle it correctly. + // + + if(m & 0x00001000) + m += 0x00002000; + + // + // Assemble the half from s, e (zero) and m. + // + + return hdata(s | (m >> 13)); + } + else if(e == 0xff - (127 - 15)) + { + if(m == 0) + { + // + // F is an infinity; convert f to a half + // infinity with the same sign as f. + // + + return hdata(s | 0x7c00); + } + else + { + // + // F is a NAN; we produce a half NAN that preserves + // the sign bit and the 10 leftmost bits of the + // significand of f, with one exception: If the 10 + // leftmost bits are all zero, the NAN would turn + // into an infinity, so we have to set at least one + // bit in the significand. + // + + m >>= 13; + + return hdata(s | 0x7c00 | m | (m == 0)); + } + } + else + { + // + // E is greater than zero. F is a normalized float. + // We try to convert f to a normalized half. + // + + // + // Round to nearest, round "0.5" up + // + + if(m & 0x00001000) + { + m += 0x00002000; + + if(m & 0x00800000) + { + m = 0; // overflow in significand, + e += 1; // adjust exponent + } + } + + // + // Handle exponent overflow + // + + if (e > 30) + { + overflow(); // Cause a hardware floating point overflow; + + return hdata(s | 0x7c00); + // if this returns, the half becomes an + } // infinity with the same sign as f. + + // + // Assemble the half from s, e and m. + // + + return hdata(s | (e << 10) | (m >> 13)); + } + } + +}//namespace detail +}//namespace glm diff --git a/vendor/glm/detail/type_int.hpp b/vendor/glm/detail/type_int.hpp new file mode 100755 index 0000000000..c8b1d150f1 --- /dev/null +++ b/vendor/glm/detail/type_int.hpp @@ -0,0 +1,306 @@ +/// @ref core +/// @file glm/detail/type_int.hpp + +#pragma once + +#include "setup.hpp" +#if GLM_HAS_MAKE_SIGNED +# include +#endif + +#if GLM_HAS_EXTENDED_INTEGER_TYPE +# include +#endif + +namespace glm{ +namespace detail +{ +# if GLM_HAS_EXTENDED_INTEGER_TYPE + typedef std::int8_t int8; + typedef std::int16_t int16; + typedef std::int32_t int32; + typedef std::int64_t int64; + + typedef std::uint8_t uint8; + typedef std::uint16_t uint16; + typedef std::uint32_t uint32; + typedef std::uint64_t uint64; +# else +# if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available + typedef int64_t sint64; + typedef uint64_t uint64; + +# elif GLM_COMPILER & GLM_COMPILER_VC + typedef signed __int64 sint64; + typedef unsigned __int64 uint64; + +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic ignored "-Wlong-long" + __extension__ typedef signed long long sint64; + __extension__ typedef unsigned long long uint64; + +# elif (GLM_COMPILER & GLM_COMPILER_CLANG) +# pragma clang diagnostic ignored "-Wc++11-long-long" + typedef signed long long sint64; + typedef unsigned long long uint64; + +# else//unknown compiler + typedef signed long long sint64; + typedef unsigned long long uint64; +# endif//GLM_COMPILER + + typedef signed char int8; + typedef signed short int16; + typedef signed int int32; + typedef sint64 int64; + + typedef unsigned char uint8; + typedef unsigned short uint16; + typedef unsigned int uint32; + typedef uint64 uint64; +#endif// + + typedef signed int lowp_int_t; + typedef signed int mediump_int_t; + typedef signed int highp_int_t; + + typedef unsigned int lowp_uint_t; + typedef unsigned int mediump_uint_t; + typedef unsigned int highp_uint_t; + +# if GLM_HAS_MAKE_SIGNED + using std::make_signed; + using std::make_unsigned; + +# else//GLM_HAS_MAKE_SIGNED + template + struct make_signed + {}; + + template<> + struct make_signed + { + typedef char type; + }; + + template<> + struct make_signed + { + typedef short type; + }; + + template<> + struct make_signed + { + typedef int type; + }; + + template<> + struct make_signed + { + typedef long type; + }; + + template<> + struct make_signed + { + typedef char type; + }; + + template<> + struct make_signed + { + typedef short type; + }; + + template<> + struct make_signed + { + typedef int type; + }; + + template<> + struct make_signed + { + typedef long type; + }; + + template + struct make_unsigned + {}; + + template<> + struct make_unsigned + { + typedef unsigned char type; + }; + + template<> + struct make_unsigned + { + typedef unsigned short type; + }; + + template<> + struct make_unsigned + { + typedef unsigned int type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long type; + }; + + template<> + struct make_unsigned + { + typedef unsigned char type; + }; + + template<> + struct make_unsigned + { + typedef unsigned short type; + }; + + template<> + struct make_unsigned + { + typedef unsigned int type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long type; + }; + + template<> + struct make_signed + { + typedef long long type; + }; + + template<> + struct make_signed + { + typedef long long type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long long type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long long type; + }; +# endif//GLM_HAS_MAKE_SIGNED +}//namespace detail + + typedef detail::int8 int8; + typedef detail::int16 int16; + typedef detail::int32 int32; + typedef detail::int64 int64; + + typedef detail::uint8 uint8; + typedef detail::uint16 uint16; + typedef detail::uint32 uint32; + typedef detail::uint64 uint64; + + /// @addtogroup core_precision + /// @{ + + /// Low qualifier signed integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::lowp_int_t lowp_int; + + /// Medium qualifier signed integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::mediump_int_t mediump_int; + + /// High qualifier signed integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::highp_int_t highp_int; + + /// Low qualifier unsigned integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::lowp_uint_t lowp_uint; + + /// Medium qualifier unsigned integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::mediump_uint_t mediump_uint; + + /// High qualifier unsigned integer. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef detail::highp_uint_t highp_uint; + +#if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) + typedef mediump_int int_t; +#elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) + typedef highp_int int_t; +#elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) + typedef mediump_int int_t; +#elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_int int_t; +#else +# error "GLM error: multiple default precision requested for signed integer types" +#endif + +#if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) + typedef mediump_uint uint_t; +#elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) + typedef highp_uint uint_t; +#elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT)) + typedef mediump_uint uint_t; +#elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_uint uint_t; +#else +# error "GLM error: multiple default precision requested for unsigned integer types" +#endif + + /// Unsigned integer type. + /// + /// @see GLSL 4.20.8 specification, section 4.1.3 Integers + typedef unsigned int uint; + + /// @} + +//////////////////// +// check type sizes +#ifndef GLM_STATIC_ASSERT_NULL + GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform"); + + GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform"); + GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform"); +#endif//GLM_STATIC_ASSERT_NULL + +}//namespace glm diff --git a/vendor/glm/detail/type_mat.hpp b/vendor/glm/detail/type_mat.hpp new file mode 100755 index 0000000000..db839b3b50 --- /dev/null +++ b/vendor/glm/detail/type_mat.hpp @@ -0,0 +1,766 @@ +/// @ref core +/// @file glm/detail/type_mat.hpp + +#pragma once + +#include "qualifier.hpp" + +namespace glm{ +namespace detail +{ + template + struct outerProduct_trait{}; +}//namespace detail + +#if GLM_HAS_TEMPLATE_ALIASES + template using tmat2x2 = mat<2, 2, T, Q>; + template using tmat2x3 = mat<2, 3, T, Q>; + template using tmat2x4 = mat<2, 4, T, Q>; + template using tmat3x2 = mat<3, 2, T, Q>; + template using tmat3x3 = mat<3, 3, T, Q>; + template using tmat3x4 = mat<3, 4, T, Q>; + template using tmat4x2 = mat<4, 2, T, Q>; + template using tmat4x3 = mat<4, 3, T, Q>; + template using tmat4x4 = mat<4, 4, T, Q>; +#endif//GLM_HAS_TEMPLATE_ALIASES + + template + GLM_FUNC_DECL mat inverse(mat const& m); + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2; + + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2x2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2x2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, lowp> lowp_mat2x3; + + /// 2 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, mediump> mediump_mat2x3; + + /// 2 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, highp> highp_mat2x3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, lowp> lowp_mat2x4; + + /// 2 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, mediump> mediump_mat2x4; + + /// 2 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, highp> highp_mat2x4; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, lowp> lowp_mat3x2; + + /// 3 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, mediump> mediump_mat3x2; + + /// 3 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, highp> highp_mat3x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3; + + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3x3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3x3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3x3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, lowp> lowp_mat3x4; + + /// 3 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, mediump> mediump_mat3x4; + + /// 3 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, highp> highp_mat3x4; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, lowp> lowp_mat4x2; + + /// 4 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, mediump> mediump_mat4x2; + + /// 4 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, highp> highp_mat4x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, lowp> lowp_mat4x3; + + /// 4 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, mediump> mediump_mat4x3; + + /// 4 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, highp> highp_mat4x3; + + /// @} + + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4; + + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4x4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4x4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4x4; + + /// @} + + /// @addtogroup core_types + /// @{ + + ////////////////////////// + // Float definition + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_mat2x2 mat2x2; + typedef lowp_mat2x3 mat2x3; + typedef lowp_mat2x4 mat2x4; + typedef lowp_mat3x2 mat3x2; + typedef lowp_mat3x3 mat3x3; + typedef lowp_mat3x4 mat3x4; + typedef lowp_mat4x2 mat4x2; + typedef lowp_mat4x3 mat4x3; + typedef lowp_mat4x4 mat4x4; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef mediump_mat2x2 mat2x2; + typedef mediump_mat2x3 mat2x3; + typedef mediump_mat2x4 mat2x4; + typedef mediump_mat3x2 mat3x2; + typedef mediump_mat3x3 mat3x3; + typedef mediump_mat3x4 mat3x4; + typedef mediump_mat4x2 mat4x2; + typedef mediump_mat4x3 mat4x3; + typedef mediump_mat4x4 mat4x4; +#else + //! 2 columns of 2 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat2x2 mat2x2; + + //! 2 columns of 3 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat2x3 mat2x3; + + //! 2 columns of 4 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat2x4 mat2x4; + + //! 3 columns of 2 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat3x2 mat3x2; + + //! 3 columns of 3 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat3x3 mat3x3; + + //! 3 columns of 4 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat3x4 mat3x4; + + //! 4 columns of 2 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat4x2 mat4x2; + + //! 4 columns of 3 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat4x3 mat4x3; + + //! 4 columns of 4 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_mat4x4 mat4x4; + +#endif//GLM_PRECISION + + //! 2 columns of 2 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat2x2 mat2; + + //! 3 columns of 3 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat3x3 mat3; + + //! 4 columns of 4 components matrix of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat4x4 mat4; + + ////////////////////////// + // Double definition + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, lowp> lowp_dmat2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, mediump> mediump_dmat2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, highp> highp_dmat2; + + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, lowp> lowp_dmat2x2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, mediump> mediump_dmat2x2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, highp> highp_dmat2x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 3 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, lowp> lowp_dmat2x3; + + /// 2 columns of 3 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, mediump> mediump_dmat2x3; + + /// 2 columns of 3 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, highp> highp_dmat2x3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 2 columns of 4 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, lowp> lowp_dmat2x4; + + /// 2 columns of 4 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, mediump> mediump_dmat2x4; + + /// 2 columns of 4 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, highp> highp_dmat2x4; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 2 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, lowp> lowp_dmat3x2; + + /// 3 columns of 2 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, mediump> mediump_dmat3x2; + + /// 3 columns of 2 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, highp> highp_dmat3x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_dmat3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, mediump> mediump_dmat3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, highp> highp_dmat3; + + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, lowp> lowp_dmat3x3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, mediump> mediump_dmat3x3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, highp> highp_dmat3x3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 columns of 4 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, lowp> lowp_dmat3x4; + + /// 3 columns of 4 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, mediump> mediump_dmat3x4; + + /// 3 columns of 4 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, highp> highp_dmat3x4; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 2 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, lowp> lowp_dmat4x2; + + /// 4 columns of 2 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, mediump> mediump_dmat4x2; + + /// 4 columns of 2 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, highp> highp_dmat4x2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 3 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, lowp> lowp_dmat4x3; + + /// 4 columns of 3 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, mediump> mediump_dmat4x3; + + /// 4 columns of 3 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, highp> highp_dmat4x3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, lowp> lowp_dmat4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, mediump> mediump_dmat4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, highp> highp_dmat4; + + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, lowp> lowp_dmat4x4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, mediump> mediump_dmat4x4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, highp> highp_dmat4x4; + + /// @} + +#if(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_dmat2x2 dmat2x2; + typedef lowp_dmat2x3 dmat2x3; + typedef lowp_dmat2x4 dmat2x4; + typedef lowp_dmat3x2 dmat3x2; + typedef lowp_dmat3x3 dmat3x3; + typedef lowp_dmat3x4 dmat3x4; + typedef lowp_dmat4x2 dmat4x2; + typedef lowp_dmat4x3 dmat4x3; + typedef lowp_dmat4x4 dmat4x4; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef mediump_dmat2x2 dmat2x2; + typedef mediump_dmat2x3 dmat2x3; + typedef mediump_dmat2x4 dmat2x4; + typedef mediump_dmat3x2 dmat3x2; + typedef mediump_dmat3x3 dmat3x3; + typedef mediump_dmat3x4 dmat3x4; + typedef mediump_dmat4x2 dmat4x2; + typedef mediump_dmat4x3 dmat4x3; + typedef mediump_dmat4x4 dmat4x4; +#else //defined(GLM_PRECISION_HIGHP_DOUBLE) + + //! 2 * 2 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat2x2 dmat2; + + //! 3 * 3 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat3x3 dmat3; + + //! 4 * 4 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat4x4 dmat4; + + //! 2 * 2 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat2x2 dmat2x2; + + //! 2 * 3 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat2x3 dmat2x3; + + //! 2 * 4 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat2x4 dmat2x4; + + //! 3 * 2 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat3x2 dmat3x2; + + /// 3 * 3 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat3x3 dmat3x3; + + /// 3 * 4 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat3x4 dmat3x4; + + /// 4 * 2 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat4x2 dmat4x2; + + /// 4 * 3 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat4x3 dmat4x3; + + /// 4 * 4 matrix of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef highp_dmat4x4 dmat4x4; + +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/vendor/glm/detail/type_mat.inl b/vendor/glm/detail/type_mat.inl new file mode 100755 index 0000000000..5714995417 --- /dev/null +++ b/vendor/glm/detail/type_mat.inl @@ -0,0 +1,3 @@ +/// @ref core +/// @file glm/detail/type_mat.inl + diff --git a/vendor/glm/detail/type_mat2x2.hpp b/vendor/glm/detail/type_mat2x2.hpp new file mode 100755 index 0000000000..47e28cba10 --- /dev/null +++ b/vendor/glm/detail/type_mat2x2.hpp @@ -0,0 +1,182 @@ +/// @ref core +/// @file glm/detail/type_mat2x2.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec2.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 2, T, Q> type; + typedef mat<2, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T const& x1, T const& y1, + T const& x2, T const& y2); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + U const& x1, V const& y1, + M const& x2, N const& y2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<2, U, Q> const& v1, + vec<2, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, T, Q> const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(mat<2, 2, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator*(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator*(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); +} //namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x2.inl" +#endif diff --git a/vendor/glm/detail/type_mat2x2.inl b/vendor/glm/detail/type_mat2x2.inl new file mode 100755 index 0000000000..72971d8c02 --- /dev/null +++ b/vendor/glm/detail/type_mat2x2.inl @@ -0,0 +1,480 @@ +/// @ref core +/// @file glm/detail/type_mat2x2.inl + +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<2, 2, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0); + this->value[1] = col_type(0, scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat + ( + T const& x0, T const& y0, + T const& x1, T const& y1 + ) + { + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(col_type const& v0, col_type const& v1) + { + this->value[0] = v0; + this->value[1] = v1; + } + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat + ( + X1 const& x1, Y1 const& y1, + X2 const& x2, Y2 const& y2 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1)); + this->value[1] = col_type(static_cast(x2), value_type(y2)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(vec<2, V1, Q> const& v1, vec<2, V2, Q> const& v2) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + } + + // -- mat2x2 matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<2, 2, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type& mat<2, 2, T, Q>::operator[](typename mat<2, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type const& mat<2, 2, T, Q>::operator[](typename mat<2, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator=(mat<2, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator=(mat<2, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator+=(U scalar) + { + this->value[0] += scalar; + this->value[1] += scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator+=(mat<2, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator-=(U scalar) + { + this->value[0] -= scalar; + this->value[1] -= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator-=(mat<2, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator*=(U scalar) + { + this->value[0] *= scalar; + this->value[1] *= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator*=(mat<2, 2, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator/=(U scalar) + { + this->value[0] /= scalar; + this->value[1] /= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator/=(mat<2, 2, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> mat<2, 2, T, Q>::operator++(int) + { + mat<2, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> mat<2, 2, T, Q>::operator--(int) + { + mat<2, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + scalar - m[0], + scalar - m[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type operator* + ( + mat<2, 2, T, Q> const& m, + typename mat<2, 2, T, Q>::row_type const& v + ) + { + return vec<2, T, Q>( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::row_type operator* + ( + typename mat<2, 2, T, Q>::col_type const& v, + mat<2, 2, T, Q> const& m + ) + { + return vec<2, T, Q>( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + mat<2, 2, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat2x3.hpp b/vendor/glm/detail/type_mat2x3.hpp new file mode 100755 index 0000000000..0f4b43adf9 --- /dev/null +++ b/vendor/glm/detail/type_mat2x3.hpp @@ -0,0 +1,164 @@ +/// @ref core +/// @file glm/detail/type_mat2x3.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 3, T, Q> type; + typedef mat<3, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, T z0, + T x1, T y1, T z1); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1); + + // -- Conversions -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<3, U, Q> const& v1, + vec<3, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 3, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(T scalar, mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 3, T, Q>::col_type operator*(mat<2, 3, T, Q> const& m, typename mat<2, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 3, T, Q>::row_type operator*(typename mat<2, 3, T, Q>::col_type const& v, mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator/(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator/(T scalar, mat<2, 3, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x3.inl" +#endif diff --git a/vendor/glm/detail/type_mat2x3.inl b/vendor/glm/detail/type_mat2x3.inl new file mode 100755 index 0000000000..de9cbf0f3e --- /dev/null +++ b/vendor/glm/detail/type_mat2x3.inl @@ -0,0 +1,454 @@ +/// @ref core +/// @file glm/detail/type_mat2x3.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<2, 3, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0, 0); + this->value[1] = col_type(0, scalar, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat + ( + T x0, T y0, T z0, + T x1, T y1, T z1 + ) + { + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(col_type const& v0, col_type const& v1) + { + this->value[0] = v0; + this->value[1] = v1; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(vec<3, V1, Q> const& v1, vec<3, V2, Q> const& v2) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<2, 3, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::col_type & mat<2, 3, T, Q>::operator[](typename mat<2, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::col_type const& mat<2, 3, T, Q>::operator[](typename mat<2, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator=(mat<2, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator=(mat<2, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator+=(mat<2, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator-=(mat<2, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> mat<2, 3, T, Q>::operator++(int) + { + mat<2, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> mat<2, 3, T, Q>::operator--(int) + { + mat<2, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(T scalar, mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::col_type operator* + ( + mat<2, 3, T, Q> const& m, + typename mat<2, 3, T, Q>::row_type const& v) + { + return typename mat<2, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y, + m[0][2] * v.x + m[1][2] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::row_type operator* + ( + typename mat<2, 3, T, Q>::col_type const& v, + mat<2, 3, T, Q> const& m) + { + return typename mat<2, 3, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + T SrcA00 = m1[0][0]; + T SrcA01 = m1[0][1]; + T SrcA02 = m1[0][2]; + T SrcA10 = m1[1][0]; + T SrcA11 = m1[1][1]; + T SrcA12 = m1[1][2]; + + T SrcB00 = m2[0][0]; + T SrcB01 = m2[0][1]; + T SrcB10 = m2[1][0]; + T SrcB11 = m2[1][1]; + T SrcB20 = m2[2][0]; + T SrcB21 = m2[2][1]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator/(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator/(T scalar, mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat2x4.hpp b/vendor/glm/detail/type_mat2x4.hpp new file mode 100755 index 0000000000..366f783860 --- /dev/null +++ b/vendor/glm/detail/type_mat2x4.hpp @@ -0,0 +1,166 @@ +/// @ref core +/// @file glm/detail/type_mat2x4.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec2.hpp" +#include "type_vec4.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 4, T, Q> type; + typedef mat<4, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<4, U, Q> const& v1, + vec<4, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 4, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 4, T, Q>::col_type operator*(mat<2, 4, T, Q> const& m, typename mat<2, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 4, T, Q>::row_type operator*(typename mat<2, 4, T, Q>::col_type const& v, mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator/(T scalar, mat<2, 4, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x4.inl" +#endif diff --git a/vendor/glm/detail/type_mat2x4.inl b/vendor/glm/detail/type_mat2x4.inl new file mode 100755 index 0000000000..0f3f631b6e --- /dev/null +++ b/vendor/glm/detail/type_mat2x4.inl @@ -0,0 +1,463 @@ +/// @ref core +/// @file glm/detail/type_mat2x4.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<2, 4, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(T scalar) + { + value_type const Zero(0); + this->value[0] = col_type(scalar, Zero, Zero, Zero); + this->value[1] = col_type(Zero, scalar, Zero, Zero); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat + ( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1 + ) + { + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(col_type const& v0, col_type const& v1) + { + this->value[0] = v0; + this->value[1] = v1; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1), value_type(w1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2), value_type(w2)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(vec<4, V1, Q> const& v1, vec<4, V2, Q> const& v2) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<2, 4, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<2, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::col_type & mat<2, 4, T, Q>::operator[](typename mat<2, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::col_type const& mat<2, 4, T, Q>::operator[](typename mat<2, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator=(mat<2, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator=(mat<2, 4, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator+=(mat<2, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator-=(mat<2, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> & mat<2, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat<2, 4, T, Q>::operator++(int) + { + mat<2, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat<2, 4, T, Q>::operator--(int) + { + mat<2, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::col_type operator*(mat<2, 4, T, Q> const& m, typename mat<2, 4, T, Q>::row_type const& v) + { + return typename mat<2, 4, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y, + m[0][2] * v.x + m[1][2] * v.y, + m[0][3] * v.x + m[1][3] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::row_type operator*(typename mat<2, 4, T, Q>::col_type const& v, mat<2, 4, T, Q> const& m) + { + return typename mat<2, 4, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2] + v.w * m[0][3], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2] + v.w * m[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + T SrcA00 = m1[0][0]; + T SrcA01 = m1[0][1]; + T SrcA02 = m1[0][2]; + T SrcA03 = m1[0][3]; + T SrcA10 = m1[1][0]; + T SrcA11 = m1[1][1]; + T SrcA12 = m1[1][2]; + T SrcA13 = m1[1][3]; + + T SrcB00 = m2[0][0]; + T SrcB01 = m2[0][1]; + T SrcB10 = m2[1][0]; + T SrcB11 = m2[1][1]; + T SrcB20 = m2[2][0]; + T SrcB21 = m2[2][1]; + T SrcB30 = m2[3][0]; + T SrcB31 = m2[3][1]; + + mat<4, 4, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01; + Result[0][3] = SrcA03 * SrcB00 + SrcA13 * SrcB01; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11; + Result[1][3] = SrcA03 * SrcB10 + SrcA13 * SrcB11; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21; + Result[2][3] = SrcA03 * SrcB20 + SrcA13 * SrcB21; + Result[3][0] = SrcA00 * SrcB30 + SrcA10 * SrcB31; + Result[3][1] = SrcA01 * SrcB30 + SrcA11 * SrcB31; + Result[3][2] = SrcA02 * SrcB30 + SrcA12 * SrcB31; + Result[3][3] = SrcA03 * SrcB30 + SrcA13 * SrcB31; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator/(T scalar, mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat3x2.hpp b/vendor/glm/detail/type_mat3x2.hpp new file mode 100755 index 0000000000..cb7f0bb537 --- /dev/null +++ b/vendor/glm/detail/type_mat3x2.hpp @@ -0,0 +1,172 @@ +/// @ref core +/// @file glm/detail/type_mat3x2.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 2, T, Q> type; + typedef mat<2, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, + T x1, T y1, + T x2, T y2); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<3, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(T scalar, mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 2, T, Q>::col_type operator*(mat<3, 2, T, Q> const& m, typename mat<3, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 2, T, Q>::row_type operator*(typename mat<3, 2, T, Q>::col_type const& v, mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator/(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator/(T scalar, mat<3, 2, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x2.inl" +#endif diff --git a/vendor/glm/detail/type_mat3x2.inl b/vendor/glm/detail/type_mat3x2.inl new file mode 100755 index 0000000000..9b789d0976 --- /dev/null +++ b/vendor/glm/detail/type_mat3x2.inl @@ -0,0 +1,488 @@ +/// @ref core +/// @file glm/detail/type_mat3x2.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); + this->value[2] = col_type(0, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<3, 2, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0); + this->value[1] = col_type(0, scalar); + this->value[2] = col_type(0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat + ( + T x0, T y0, + T x1, T y1, + T x2, T y2 + ) + { + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat + ( + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1)); + this->value[1] = col_type(static_cast(x2), value_type(y2)); + this->value[2] = col_type(static_cast(x3), value_type(y3)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat + ( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3 + ) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<3, 2, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(T(0)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(T(0)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::col_type & mat<3, 2, T, Q>::operator[](typename mat<3, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::col_type const& mat<3, 2, T, Q>::operator[](typename mat<3, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator=(mat<3, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator=(mat<3, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator+=(mat<3, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator-=(mat<3, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> & mat<3, 2, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> mat<3, 2, T, Q>::operator++(int) + { + mat<3, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> mat<3, 2, T, Q>::operator--(int) + { + mat<3, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(T scalar, mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::col_type operator*(mat<3, 2, T, Q> const& m, typename mat<3, 2, T, Q>::row_type const& v) + { + return typename mat<3, 2, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::row_type operator*(typename mat<3, 2, T, Q>::col_type const& v, mat<3, 2, T, Q> const& m) + { + return typename mat<3, 2, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1], + v.x * m[2][0] + v.y * m[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + const T SrcA00 = m1[0][0]; + const T SrcA01 = m1[0][1]; + const T SrcA10 = m1[1][0]; + const T SrcA11 = m1[1][1]; + const T SrcA20 = m1[2][0]; + const T SrcA21 = m1[2][1]; + + const T SrcB00 = m2[0][0]; + const T SrcB01 = m2[0][1]; + const T SrcB02 = m2[0][2]; + const T SrcB10 = m2[1][0]; + const T SrcB11 = m2[1][1]; + const T SrcB12 = m2[1][2]; + + mat<2, 2, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator/(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator/(T scalar, mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat3x3.hpp b/vendor/glm/detail/type_mat3x3.hpp new file mode 100755 index 0000000000..f6e2d159eb --- /dev/null +++ b/vendor/glm/detail/type_mat3x3.hpp @@ -0,0 +1,189 @@ +/// @ref core +/// @file glm/detail/type_mat3x3.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec3.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 3, T, Q> type; + typedef mat<3, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, T z0, + T x1, T y1, T z1, + T x2, T y2, T z2); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2, + X3 x3, Y3 y3, Z3 z3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(mat<3, 3, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 3, T, Q> & operator++(); + GLM_FUNC_DECL mat<3, 3, T, Q> & operator--(); + GLM_FUNC_DECL mat<3, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator/(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator/(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x3.inl" +#endif diff --git a/vendor/glm/detail/type_mat3x3.inl b/vendor/glm/detail/type_mat3x3.inl new file mode 100755 index 0000000000..81338a35c9 --- /dev/null +++ b/vendor/glm/detail/type_mat3x3.inl @@ -0,0 +1,557 @@ +/// @ref core +/// @file glm/detail/type_mat3x3.inl + +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); + this->value[2] = col_type(0, 0, 1); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0, 0); + this->value[1] = col_type(0, scalar, 0); + this->value[2] = col_type(0, 0, scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat + ( + T x0, T y0, T z0, + T x1, T y1, T z1, + T x2, T y2, T z2 + ) + { + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + this->value[2] = col_type(x2, y2, z2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2, + X3 x3, Y3 y3, Z3 z3 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2)); + this->value[2] = col_type(static_cast(x3), value_type(y3), value_type(z3)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat + ( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3 + ) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = col_type(0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type & mat<3, 3, T, Q>::operator[](typename mat<3, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type const& mat<3, 3, T, Q>::operator[](typename mat<3, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator=(mat<3, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator=(mat<3, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator+=(mat<3, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator-=(mat<3, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator*=(mat<3, 3, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator/=(mat<3, 3, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat<3, 3, T, Q>::operator++(int) + { + mat<3, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat<3, 3, T, Q>::operator--(int) + { + mat<3, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + scalar - m[0], + scalar - m[1], + scalar - m[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v) + { + return typename mat<3, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m) + { + return typename mat<3, 3, T, Q>::row_type( + m[0][0] * v.x + m[0][1] * v.y + m[0][2] * v.z, + m[1][0] * v.x + m[1][1] * v.y + m[1][2] * v.z, + m[2][0] * v.x + m[2][1] * v.y + m[2][2] * v.z); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA02 = m1[0][2]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA12 = m1[1][2]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA22 = m1[2][2]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB20 = m2[2][0]; + T const SrcB21 = m2[2][1]; + T const SrcB22 = m2[2][2]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1] + m1[2][2] * m2[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type operator/(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::row_type operator/(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + mat<3, 3, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat3x4.hpp b/vendor/glm/detail/type_mat3x4.hpp new file mode 100755 index 0000000000..7e02d6e622 --- /dev/null +++ b/vendor/glm/detail/type_mat3x4.hpp @@ -0,0 +1,171 @@ +/// @ref core +/// @file glm/detail/type_mat3x4.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 4, T, Q> type; + typedef mat<4, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1, + T x2, T y2, T z2, T w2); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2, + X3 x3, Y3 y3, Z3 z3, W3 w3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 4, T, Q> & operator++(); + GLM_FUNC_DECL mat<3, 4, T, Q> & operator--(); + GLM_FUNC_DECL mat<3, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(T scalar, mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 4, T, Q>::col_type operator*(mat<3, 4, T, Q> const& m, typename mat<3, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 4, T, Q>::row_type operator*(typename mat<3, 4, T, Q>::col_type const& v, mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator/(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator/(T scalar, mat<3, 4, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x4.inl" +#endif diff --git a/vendor/glm/detail/type_mat3x4.inl b/vendor/glm/detail/type_mat3x4.inl new file mode 100755 index 0000000000..c8562d154f --- /dev/null +++ b/vendor/glm/detail/type_mat3x4.inl @@ -0,0 +1,528 @@ +/// @ref core +/// @file glm/detail/type_mat3x4.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); + this->value[2] = col_type(0, 0, 1, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<3, 4, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0, 0, 0); + this->value[1] = col_type(0, scalar, 0, 0); + this->value[2] = col_type(0, 0, scalar, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat + ( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1, + T x2, T y2, T z2, T w2 + ) + { + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + this->value[2] = col_type(x2, y2, z2, w2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2, + X3 x3, Y3 y3, Z3 z3, W3 w3 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1), value_type(w1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2), value_type(w2)); + this->value[2] = col_type(static_cast(x3), value_type(y3), value_type(z3), value_type(w3)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat + ( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3 + ) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<3, 4, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::col_type & mat<3, 4, T, Q>::operator[](typename mat<3, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::col_type const& mat<3, 4, T, Q>::operator[](typename mat<3, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator=(mat<3, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator=(mat<3, 4, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator+=(mat<3, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator-=(mat<3, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> & mat<3, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat<3, 4, T, Q>::operator++(int) + { + mat<3, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat<3, 4, T, Q>::operator--(int) + { + mat<3, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(T scalar, mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::col_type operator* + ( + mat<3, 4, T, Q> const& m, + typename mat<3, 4, T, Q>::row_type const& v + ) + { + return typename mat<3, 4, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z, + m[0][3] * v.x + m[1][3] * v.y + m[2][3] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::row_type operator* + ( + typename mat<3, 4, T, Q>::col_type const& v, + mat<3, 4, T, Q> const& m + ) + { + return typename mat<3, 4, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2] + v.w * m[0][3], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2] + v.w * m[1][3], + v.x * m[2][0] + v.y * m[2][1] + v.z * m[2][2] + v.w * m[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + const T SrcA00 = m1[0][0]; + const T SrcA01 = m1[0][1]; + const T SrcA02 = m1[0][2]; + const T SrcA03 = m1[0][3]; + const T SrcA10 = m1[1][0]; + const T SrcA11 = m1[1][1]; + const T SrcA12 = m1[1][2]; + const T SrcA13 = m1[1][3]; + const T SrcA20 = m1[2][0]; + const T SrcA21 = m1[2][1]; + const T SrcA22 = m1[2][2]; + const T SrcA23 = m1[2][3]; + + const T SrcB00 = m2[0][0]; + const T SrcB01 = m2[0][1]; + const T SrcB02 = m2[0][2]; + const T SrcB10 = m2[1][0]; + const T SrcB11 = m2[1][1]; + const T SrcB12 = m2[1][2]; + const T SrcB20 = m2[2][0]; + const T SrcB21 = m2[2][1]; + const T SrcB22 = m2[2][2]; + const T SrcB30 = m2[3][0]; + const T SrcB31 = m2[3][1]; + const T SrcB32 = m2[3][2]; + + mat<4, 4, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02; + Result[0][3] = SrcA03 * SrcB00 + SrcA13 * SrcB01 + SrcA23 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12; + Result[1][3] = SrcA03 * SrcB10 + SrcA13 * SrcB11 + SrcA23 * SrcB12; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22; + Result[2][3] = SrcA03 * SrcB20 + SrcA13 * SrcB21 + SrcA23 * SrcB22; + Result[3][0] = SrcA00 * SrcB30 + SrcA10 * SrcB31 + SrcA20 * SrcB32; + Result[3][1] = SrcA01 * SrcB30 + SrcA11 * SrcB31 + SrcA21 * SrcB32; + Result[3][2] = SrcA02 * SrcB30 + SrcA12 * SrcB31 + SrcA22 * SrcB32; + Result[3][3] = SrcA03 * SrcB30 + SrcA13 * SrcB31 + SrcA23 * SrcB32; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1] + m1[2][3] * m2[2][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator/(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator/(T scalar, mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat4x2.hpp b/vendor/glm/detail/type_mat4x2.hpp new file mode 100755 index 0000000000..9064dd3c35 --- /dev/null +++ b/vendor/glm/detail/type_mat4x2.hpp @@ -0,0 +1,176 @@ +/// @ref core +/// @file glm/detail/type_mat4x2.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec2.hpp" +#include "type_vec4.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 2, T, Q> type; + typedef mat<2, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T x0, T y0, + T x1, T y1, + T x2, T y2, + T x3, T y3); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3, + typename X4, typename Y4> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3, + X4 x4, Y4 y4); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3, + vec<2, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<4, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(T scalar, mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 2, T, Q>::col_type operator*(mat<4, 2, T, Q> const& m, typename mat<4, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 2, T, Q>::row_type operator*(typename mat<4, 2, T, Q>::col_type const& v, mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator/(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator/(T scalar, mat<4, 2, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x2.inl" +#endif diff --git a/vendor/glm/detail/type_mat4x2.inl b/vendor/glm/detail/type_mat4x2.inl new file mode 100755 index 0000000000..f0ac30fe6d --- /dev/null +++ b/vendor/glm/detail/type_mat4x2.inl @@ -0,0 +1,534 @@ +/// @ref core +/// @file glm/detail/type_mat4x2.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); + this->value[2] = col_type(0, 0); + this->value[3] = col_type(0, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + this->value[3] = m.value[3]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<4, 2, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + this->value[3] = m.value[3]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(T scalar) + { + this->value[0] = col_type(scalar, 0); + this->value[1] = col_type(0, scalar); + this->value[2] = col_type(0, 0); + this->value[3] = col_type(0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat + ( + T x0, T y0, + T x1, T y1, + T x2, T y2, + T x3, T y3 + ) + { + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); + this->value[3] = col_type(x3, y3); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3, + typename X4, typename Y4> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat + ( + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3, + X4 x4, Y4 y4 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1)); + this->value[1] = col_type(static_cast(x2), value_type(y2)); + this->value[2] = col_type(static_cast(x3), value_type(y3)); + this->value[3] = col_type(static_cast(x4), value_type(y4)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat + ( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3, + vec<2, V4, Q> const& v4 + ) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + this->value[3] = col_type(v4); + } + + // -- Conversion -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<4, 2, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::col_type & mat<4, 2, T, Q>::operator[](typename mat<4, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::col_type const& mat<4, 2, T, Q>::operator[](typename mat<4, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q>& mat<4, 2, T, Q>::operator=(mat<4, 2, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q>& mat<4, 2, T, Q>::operator=(mat<4, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator+=(mat<4, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator-=(mat<4, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> mat<4, 2, T, Q>::operator++(int) + { + mat<4, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> mat<4, 2, T, Q>::operator--(int) + { + mat<4, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar, + m[3] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar, + m[3] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar, + m[3] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(T scalar, mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar, + m[3] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::col_type operator*(mat<4, 2, T, Q> const& m, typename mat<4, 2, T, Q>::row_type const& v) + { + return typename mat<4, 2, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z + m[3][0] * v.w, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z + m[3][1] * v.w); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::row_type operator*(typename mat<4, 2, T, Q>::col_type const& v, mat<4, 2, T, Q> const& m) + { + return typename mat<4, 2, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1], + v.x * m[2][0] + v.y * m[2][1], + v.x * m[3][0] + v.y * m[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA30 = m1[3][0]; + T const SrcA31 = m1[3][1]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB03 = m2[0][3]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB13 = m2[1][3]; + + mat<2, 2, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02 + SrcA30 * SrcB03; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02 + SrcA31 * SrcB03; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12 + SrcA30 * SrcB13; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12 + SrcA31 * SrcB13; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2] + m1[3][0] * m2[3][3], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2] + m1[3][1] * m2[3][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator/(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar, + m[3] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator/(T scalar, mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2], + scalar / m[3]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat4x3.hpp b/vendor/glm/detail/type_mat4x3.hpp new file mode 100755 index 0000000000..a17add575d --- /dev/null +++ b/vendor/glm/detail/type_mat4x3.hpp @@ -0,0 +1,176 @@ +/// @ref core +/// @file glm/detail/type_mat4x3.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 3, T, Q> type; + typedef mat<3, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T const& x); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T const& x0, T const& y0, T const& z0, + T const& x1, T const& y1, T const& z1, + T const& x2, T const& y2, T const& z2, + T const& x3, T const& y3, T const& z3); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3, + typename X4, typename Y4, typename Z4> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 const& x1, Y1 const& y1, Z1 const& z1, + X2 const& x2, Y2 const& y2, Z2 const& z2, + X3 const& x3, Y3 const& y3, Z3 const& z3, + X4 const& x4, Y4 const& y4, Z4 const& z4); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3, + vec<3, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 3, T, Q>& operator++(); + GLM_FUNC_DECL mat<4, 3, T, Q>& operator--(); + GLM_FUNC_DECL mat<4, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(T const& s, mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 3, T, Q>::col_type operator*(mat<4, 3, T, Q> const& m, typename mat<4, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 3, T, Q>::row_type operator*(typename mat<4, 3, T, Q>::col_type const& v, mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator/(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator/(T const& s, mat<4, 3, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x3.inl" +#endif //GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/detail/type_mat4x3.inl b/vendor/glm/detail/type_mat4x3.inl new file mode 100755 index 0000000000..df50b0018d --- /dev/null +++ b/vendor/glm/detail/type_mat4x3.inl @@ -0,0 +1,558 @@ +/// @ref core +/// @file glm/detail/type_mat4x3.inl + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0, 0, 0); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + this->value[3] = m.value[3]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<4, 3, T, P> const& m) + { + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; + this->value[2] = m.value[2]; + this->value[3] = m.value[3]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(T const& s) + { + this->value[0] = col_type(s, 0, 0); + this->value[1] = col_type(0, s, 0); + this->value[2] = col_type(0, 0, s); + this->value[3] = col_type(0, 0, 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat + ( + T const& x0, T const& y0, T const& z0, + T const& x1, T const& y1, T const& z1, + T const& x2, T const& y2, T const& z2, + T const& x3, T const& y3, T const& z3 + ) + { + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + this->value[2] = col_type(x2, y2, z2); + this->value[3] = col_type(x3, y3, z3); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3, + typename X4, typename Y4, typename Z4> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat + ( + X1 const& x1, Y1 const& y1, Z1 const& z1, + X2 const& x2, Y2 const& y2, Z2 const& z2, + X3 const& x3, Y3 const& y3, Z3 const& z3, + X4 const& x4, Y4 const& y4, Z4 const& z4 + ) + { + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2)); + this->value[2] = col_type(static_cast(x3), value_type(y3), value_type(z3)); + this->value[3] = col_type(static_cast(x4), value_type(y4), value_type(z4)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat + ( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3, + vec<3, V4, Q> const& v4 + ) + { + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + this->value[3] = col_type(v4); + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<4, 3, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + this->value[3] = col_type(m[3], 0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::col_type & mat<4, 3, T, Q>::operator[](typename mat<4, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::col_type const& mat<4, 3, T, Q>::operator[](typename mat<4, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q>& mat<4, 3, T, Q>::operator=(mat<4, 3, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q>& mat<4, 3, T, Q>::operator=(mat<4, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator+=(mat<4, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator-=(mat<4, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> mat<4, 3, T, Q>::operator++(int) + { + mat<4, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> mat<4, 3, T, Q>::operator--(int) + { + mat<4, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] - s, + m[1] - s, + m[2] - s, + m[3] - s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(T const& s, mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::col_type operator* + ( + mat<4, 3, T, Q> const& m, + typename mat<4, 3, T, Q>::row_type const& v) + { + return typename mat<4, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z + m[3][0] * v.w, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z + m[3][1] * v.w, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z + m[3][2] * v.w); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::row_type operator* + ( + typename mat<4, 3, T, Q>::col_type const& v, + mat<4, 3, T, Q> const& m) + { + return typename mat<4, 3, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2], + v.x * m[2][0] + v.y * m[2][1] + v.z * m[2][2], + v.x * m[3][0] + v.y * m[3][1] + v.z * m[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA02 = m1[0][2]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA12 = m1[1][2]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA22 = m1[2][2]; + T const SrcA30 = m1[3][0]; + T const SrcA31 = m1[3][1]; + T const SrcA32 = m1[3][2]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB03 = m2[0][3]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB13 = m2[1][3]; + T const SrcB20 = m2[2][0]; + T const SrcB21 = m2[2][1]; + T const SrcB22 = m2[2][2]; + T const SrcB23 = m2[2][3]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02 + SrcA30 * SrcB03; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02 + SrcA31 * SrcB03; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02 + SrcA32 * SrcB03; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12 + SrcA30 * SrcB13; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12 + SrcA31 * SrcB13; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12 + SrcA32 * SrcB13; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22 + SrcA30 * SrcB23; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22 + SrcA31 * SrcB23; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22 + SrcA32 * SrcB23; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2] + m1[3][2] * m2[2][3], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2] + m1[3][0] * m2[3][3], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2] + m1[3][1] * m2[3][3], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1] + m1[2][2] * m2[3][2] + m1[3][2] * m2[3][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator/(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] / s, + m[1] / s, + m[2] / s, + m[3] / s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator/(T const& s, mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + s / m[0], + s / m[1], + s / m[2], + s / m[3]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +} //namespace glm diff --git a/vendor/glm/detail/type_mat4x4.hpp b/vendor/glm/detail/type_mat4x4.hpp new file mode 100755 index 0000000000..694dcd0091 --- /dev/null +++ b/vendor/glm/detail/type_mat4x4.hpp @@ -0,0 +1,194 @@ +/// @ref core +/// @file glm/detail/type_mat4x4.hpp + +#pragma once + +#include "../fwd.hpp" +#include "type_vec4.hpp" +#include "type_mat.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 4, T, Q> type; + typedef mat<4, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, Q> const& m) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR_CTOR_CXX14 mat(T const& x); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + T const& x0, T const& y0, T const& z0, T const& w0, + T const& x1, T const& y1, T const& z1, T const& w1, + T const& x2, T const& y2, T const& z2, T const& w2, + T const& x3, T const& y3, T const& z3, T const& w3); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3, + typename X4, typename Y4, typename Z4, typename W4> + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + X1 const& x1, Y1 const& y1, Z1 const& z1, W1 const& w1, + X2 const& x2, Y2 const& y2, Z2 const& z2, W2 const& w2, + X3 const& x3, Y3 const& y3, Z3 const& z3, W3 const& w3, + X4 const& x4, Y4 const& y4, Z4 const& z4, W4 const& w4); + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR_CXX14 mat( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3, + vec<4, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CTOR_CXX14 mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, T, Q> const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(mat<4, 4, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 4, T, Q> & operator++(); + GLM_FUNC_DECL mat<4, 4, T, Q> & operator--(); + GLM_FUNC_DECL mat<4, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator*(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator*(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator/(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator/(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x4.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/detail/type_mat4x4.inl b/vendor/glm/detail/type_mat4x4.inl new file mode 100755 index 0000000000..26157c6ae9 --- /dev/null +++ b/vendor/glm/detail/type_mat4x4.inl @@ -0,0 +1,664 @@ +/// @ref core +/// @file glm/detail/type_mat4x4.inl + +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat() + { +# ifdef GLM_FORCE_CTOR_INIT + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<4, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<4, 4, T, P> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(T const& s) + { + this->value[0] = col_type(s, 0, 0, 0); + this->value[1] = col_type(0, s, 0, 0); + this->value[2] = col_type(0, 0, s, 0); + this->value[3] = col_type(0, 0, 0, s); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat + ( + T const& x0, T const& y0, T const& z0, T const& w0, + T const& x1, T const& y1, T const& z1, T const& w1, + T const& x2, T const& y2, T const& z2, T const& w2, + T const& x3, T const& y3, T const& z3, T const& w3 + ) + { + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + this->value[2] = col_type(x2, y2, z2, w2); + this->value[3] = col_type(x3, y3, z3, w3); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat + ( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3 + ) + { + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<4, 4, U, P> const& m) + { + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); + } + + // -- Conversions -- + + template + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3, + typename X4, typename Y4, typename Z4, typename W4> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat + ( + X1 const& x1, Y1 const& y1, Z1 const& z1, W1 const& w1, + X2 const& x2, Y2 const& y2, Z2 const& z2, W2 const& w2, + X3 const& x3, Y3 const& y3, Z3 const& z3, W3 const& w3, + X4 const& x4, Y4 const& y4, Z4 const& z4, W4 const& w4 + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 1st parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 2nd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 3rd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 4th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 5th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 6th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 7th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 8th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 9th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 10th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 11th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 12th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 13th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 14th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 15th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 16th parameter type invalid."); + + this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1), value_type(w1)); + this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2), value_type(w2)); + this->value[2] = col_type(static_cast(x3), value_type(y3), value_type(z3), value_type(w3)); + this->value[3] = col_type(static_cast(x4), value_type(y4), value_type(z4), value_type(w4)); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat + ( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3, + vec<4, V4, Q> const& v4 + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 1st parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 2nd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 3rd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 4th parameter type invalid."); + + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + this->value[3] = col_type(v4); + } + + // -- Matrix conversions -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<2, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<3, 4, T, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = col_type(0, 0, 0, 1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<4, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) + { + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + this->value[3] = col_type(m[3], 1); + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type & mat<4, 4, T, Q>::operator[](typename mat<4, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type const& mat<4, 4, T, Q>::operator[](typename mat<4, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator=(mat<4, 4, T, Q> const& m) + { + //memcpy could be faster + //memcpy(&this->value, &m.value, 16 * sizeof(valType)); + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator=(mat<4, 4, U, Q> const& m) + { + //memcpy could be faster + //memcpy(&this->value, &m.value, 16 * sizeof(valType)); + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator+=(mat<4, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator-=(mat<4, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator*=(mat<4, 4, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator/=(mat<4, 4, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat<4, 4, T, Q>::operator++(int) + { + mat<4, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat<4, 4, T, Q>::operator--(int) + { + mat<4, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] - s, + m[1] - s, + m[2] - s, + m[3] - s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + s - m[0], + s - m[1], + s - m[2], + s - m[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m, T const & s) + { + return mat<4, 4, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type operator* + ( + mat<4, 4, T, Q> const& m, + typename mat<4, 4, T, Q>::row_type const& v + ) + { +/* + __m128 v0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 v1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 v2 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 v3 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(m[0].data, v0); + __m128 m1 = _mm_mul_ps(m[1].data, v1); + __m128 a0 = _mm_add_ps(m0, m1); + + __m128 m2 = _mm_mul_ps(m[2].data, v2); + __m128 m3 = _mm_mul_ps(m[3].data, v3); + __m128 a1 = _mm_add_ps(m2, m3); + + __m128 a2 = _mm_add_ps(a0, a1); + + return typename mat<4, 4, T, Q>::col_type(a2); +*/ + + typename mat<4, 4, T, Q>::col_type const Mov0(v[0]); + typename mat<4, 4, T, Q>::col_type const Mov1(v[1]); + typename mat<4, 4, T, Q>::col_type const Mul0 = m[0] * Mov0; + typename mat<4, 4, T, Q>::col_type const Mul1 = m[1] * Mov1; + typename mat<4, 4, T, Q>::col_type const Add0 = Mul0 + Mul1; + typename mat<4, 4, T, Q>::col_type const Mov2(v[2]); + typename mat<4, 4, T, Q>::col_type const Mov3(v[3]); + typename mat<4, 4, T, Q>::col_type const Mul2 = m[2] * Mov2; + typename mat<4, 4, T, Q>::col_type const Mul3 = m[3] * Mov3; + typename mat<4, 4, T, Q>::col_type const Add1 = Mul2 + Mul3; + typename mat<4, 4, T, Q>::col_type const Add2 = Add0 + Add1; + return Add2; + +/* + return typename mat<4, 4, T, Q>::col_type( + m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2] + m[3][0] * v[3], + m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2] + m[3][1] * v[3], + m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2] + m[3][2] * v[3], + m[0][3] * v[0] + m[1][3] * v[1] + m[2][3] * v[2] + m[3][3] * v[3]); +*/ + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::row_type operator* + ( + typename mat<4, 4, T, Q>::col_type const& v, + mat<4, 4, T, Q> const& m + ) + { + return typename mat<4, 4, T, Q>::row_type( + m[0][0] * v[0] + m[0][1] * v[1] + m[0][2] * v[2] + m[0][3] * v[3], + m[1][0] * v[0] + m[1][1] * v[1] + m[1][2] * v[2] + m[1][3] * v[3], + m[2][0] * v[0] + m[2][1] * v[1] + m[2][2] * v[2] + m[2][3] * v[3], + m[3][0] * v[0] + m[3][1] * v[1] + m[3][2] * v[2] + m[3][3] * v[3]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2] + m1[3][3] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2] + m1[3][3] * m2[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2] + m1[3][3] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2] + m1[3][3] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2] + m1[3][2] * m2[2][3], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1] + m1[2][3] * m2[2][2] + m1[3][3] * m2[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + typename mat<4, 4, T, Q>::col_type const SrcA0 = m1[0]; + typename mat<4, 4, T, Q>::col_type const SrcA1 = m1[1]; + typename mat<4, 4, T, Q>::col_type const SrcA2 = m1[2]; + typename mat<4, 4, T, Q>::col_type const SrcA3 = m1[3]; + + typename mat<4, 4, T, Q>::col_type const SrcB0 = m2[0]; + typename mat<4, 4, T, Q>::col_type const SrcB1 = m2[1]; + typename mat<4, 4, T, Q>::col_type const SrcB2 = m2[2]; + typename mat<4, 4, T, Q>::col_type const SrcB3 = m2[3]; + + mat<4, 4, T, Q> Result; + Result[0] = SrcA0 * SrcB0[0] + SrcA1 * SrcB0[1] + SrcA2 * SrcB0[2] + SrcA3 * SrcB0[3]; + Result[1] = SrcA0 * SrcB1[0] + SrcA1 * SrcB1[1] + SrcA2 * SrcB1[2] + SrcA3 * SrcB1[3]; + Result[2] = SrcA0 * SrcB2[0] + SrcA1 * SrcB2[1] + SrcA2 * SrcB2[2] + SrcA3 * SrcB2[3]; + Result[3] = SrcA0 * SrcB3[0] + SrcA1 * SrcB3[1] + SrcA2 * SrcB3[2] + SrcA3 * SrcB3[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] / s, + m[1] / s, + m[2] / s, + m[3] / s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + s / m[0], + s / m[1], + s / m[2], + s / m[3]); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type operator/(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::row_type operator/(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + mat<4, 4, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE +# include "type_mat4x4_simd.inl" +#endif diff --git a/vendor/glm/detail/type_mat4x4_simd.inl b/vendor/glm/detail/type_mat4x4_simd.inl new file mode 100755 index 0000000000..09d0b1f15e --- /dev/null +++ b/vendor/glm/detail/type_mat4x4_simd.inl @@ -0,0 +1,7 @@ +/// @ref core +/// @file glm/detail/type_mat4x4_sse2.inl + +namespace glm +{ + +}//namespace glm diff --git a/vendor/glm/detail/type_vec.hpp b/vendor/glm/detail/type_vec.hpp new file mode 100755 index 0000000000..cf4f34c69c --- /dev/null +++ b/vendor/glm/detail/type_vec.hpp @@ -0,0 +1,562 @@ +/// @ref core +/// @file glm/detail/type_vec.hpp + +#pragma once + +#include "qualifier.hpp" +#include "type_int.hpp" +#include "compute_vector_relational.hpp" + +namespace glm{ +namespace detail +{ + template + struct storage + { + typedef struct type { + uint8 data[size]; + } type; + }; + + #define GLM_ALIGNED_STORAGE_TYPE_STRUCT(x) \ + template \ + struct storage { \ + GLM_ALIGNED_STRUCT(x) type { \ + uint8 data[x]; \ + }; \ + }; + + GLM_ALIGNED_STORAGE_TYPE_STRUCT(1) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(2) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(4) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(8) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(16) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(32) + GLM_ALIGNED_STORAGE_TYPE_STRUCT(64) + +# if GLM_ARCH & GLM_ARCH_SSE2_BIT + template<> + struct storage + { + typedef glm_vec4 type; + }; + + template<> + struct storage + { + typedef glm_ivec4 type; + }; + + template<> + struct storage + { + typedef glm_uvec4 type; + }; +/* +# else + typedef union __declspec(align(16)) glm_128 + { + unsigned __int8 data[16]; + } glm_128; + + template<> + struct storage + { + typedef glm_128 type; + }; + + template<> + struct storage + { + typedef glm_128 type; + }; + + template<> + struct storage + { + typedef glm_128 type; + }; +*/ +# endif + +# if (GLM_ARCH & GLM_ARCH_AVX_BIT) + template<> + struct storage + { + typedef glm_dvec4 type; + }; +# endif + +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) + template<> + struct storage + { + typedef glm_i64vec4 type; + }; + + template<> + struct storage + { + typedef glm_u64vec4 type; + }; +# endif +}//namespace detail + +#if GLM_HAS_TEMPLATE_ALIASES + template using tvec2 = vec<2, T, Q>; + template using tvec3 = vec<3, T, Q>; + template using tvec4 = vec<4, T, Q>; +#endif//GLM_HAS_TEMPLATE_ALIASES + + /// @addtogroup core_precision + /// @{ + + /// 2 components vector of high single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, highp> highp_vec2; + + /// 2 components vector of medium single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, mediump> mediump_vec2; + + /// 2 components vector of low single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, lowp> lowp_vec2; + + /// 2 components vector of high double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, highp> highp_dvec2; + + /// 2 components vector of medium double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, mediump> mediump_dvec2; + + /// 2 components vector of low double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, lowp> lowp_dvec2; + + /// 2 components vector of high qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, highp> highp_ivec2; + + /// 2 components vector of medium qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, mediump> mediump_ivec2; + + /// 2 components vector of low qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, lowp> lowp_ivec2; + + /// 2 components vector of high qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, uint, highp> highp_uvec2; + + /// 2 components vector of medium qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, uint, mediump> mediump_uvec2; + + /// 2 components vector of low qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, uint, lowp> lowp_uvec2; + + /// 2 components vector of high qualifier bool numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, highp> highp_bvec2; + + /// 2 components vector of medium qualifier bool numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, mediump> mediump_bvec2; + + /// 2 components vector of low qualifier bool numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, lowp> lowp_bvec2; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 3 components vector of high single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, highp> highp_vec3; + + /// 3 components vector of medium single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, mediump> mediump_vec3; + + /// 3 components vector of low single-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, lowp> lowp_vec3; + + /// 3 components vector of high double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, highp> highp_dvec3; + + /// 3 components vector of medium double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, mediump> mediump_dvec3; + + /// 3 components vector of low double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, lowp> lowp_dvec3; + + /// 3 components vector of high qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, highp> highp_ivec3; + + /// 3 components vector of medium qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, mediump> mediump_ivec3; + + /// 3 components vector of low qualifier signed integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, lowp> lowp_ivec3; + + /// 3 components vector of high qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, uint, highp> highp_uvec3; + + /// 3 components vector of medium qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, uint, mediump> mediump_uvec3; + + /// 3 components vector of low qualifier unsigned integer numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, uint, lowp> lowp_uvec3; + + /// 3 components vector of high qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, highp> highp_bvec3; + + /// 3 components vector of medium qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, mediump> mediump_bvec3; + + /// 3 components vector of low qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, lowp> lowp_bvec3; + + /// @} + + /// @addtogroup core_precision + /// @{ + + /// 4 components vector of high single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, highp> highp_vec4; + + /// 4 components vector of medium single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, mediump> mediump_vec4; + + /// 4 components vector of low single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, lowp> lowp_vec4; + + /// 4 components vector of high double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, highp> highp_dvec4; + + /// 4 components vector of medium double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, mediump> mediump_dvec4; + + /// 4 components vector of low double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, lowp> lowp_dvec4; + + /// 4 components vector of high qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, highp> highp_ivec4; + + /// 4 components vector of medium qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, mediump> mediump_ivec4; + + /// 4 components vector of low qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, lowp> lowp_ivec4; + + /// 4 components vector of high qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, uint, highp> highp_uvec4; + + /// 4 components vector of medium qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, uint, mediump> mediump_uvec4; + + /// 4 components vector of low qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, uint, lowp> lowp_uvec4; + + /// 4 components vector of high qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, highp> highp_bvec4; + + /// 4 components vector of medium qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, mediump> mediump_bvec4; + + /// 4 components vector of low qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, lowp> lowp_bvec4; + + /// @} + + /// @addtogroup core_types + /// @{ + + // -- Default float definition -- + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_vec2 vec2; + typedef lowp_vec3 vec3; + typedef lowp_vec4 vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef mediump_vec2 vec2; + typedef mediump_vec3 vec3; + typedef mediump_vec4 vec4; +#else //defined(GLM_PRECISION_HIGHP_FLOAT) + /// 2 components vector of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_vec2 vec2; + + //! 3 components vector of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_vec3 vec3; + + //! 4 components vector of floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_vec4 vec4; +#endif//GLM_PRECISION + + // -- Default double definition -- + +#if(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_dvec2 dvec2; + typedef lowp_dvec3 dvec3; + typedef lowp_dvec4 dvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef mediump_dvec2 dvec2; + typedef mediump_dvec3 dvec3; + typedef mediump_dvec4 dvec4; +#else //defined(GLM_PRECISION_HIGHP_DOUBLE) + /// 2 components vector of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_dvec2 dvec2; + + //! 3 components vector of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_dvec3 dvec3; + + //! 4 components vector of double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_dvec4 dvec4; +#endif//GLM_PRECISION + + // -- Signed integer definition -- + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_ivec2 ivec2; + typedef lowp_ivec3 ivec3; + typedef lowp_ivec4 ivec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_ivec2 ivec2; + typedef mediump_ivec3 ivec3; + typedef mediump_ivec4 ivec4; +#else //defined(GLM_PRECISION_HIGHP_INT) + /// 2 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_ivec2 ivec2; + + /// 3 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_ivec3 ivec3; + + /// 4 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_ivec4 ivec4; +#endif//GLM_PRECISION + + // -- Unsigned integer definition -- + +#if(defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_uvec2 uvec2; + typedef lowp_uvec3 uvec3; + typedef lowp_uvec4 uvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) + typedef mediump_uvec2 uvec2; + typedef mediump_uvec3 uvec3; + typedef mediump_uvec4 uvec4; +#else //defined(GLM_PRECISION_HIGHP_UINT) + /// 2 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_uvec2 uvec2; + + /// 3 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_uvec3 uvec3; + + /// 4 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_uvec4 uvec4; +#endif//GLM_PRECISION + + // -- Boolean definition -- + +#if(defined(GLM_PRECISION_LOWP_BOOL)) + typedef lowp_bvec2 bvec2; + typedef lowp_bvec3 bvec3; + typedef lowp_bvec4 bvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_BOOL)) + typedef mediump_bvec2 bvec2; + typedef mediump_bvec3 bvec3; + typedef mediump_bvec4 bvec4; +#else //defined(GLM_PRECISION_HIGHP_BOOL) + /// 2 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_bvec2 bvec2; + + /// 3 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_bvec3 bvec3; + + /// 4 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef highp_bvec4 bvec4; +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/vendor/glm/detail/type_vec.inl b/vendor/glm/detail/type_vec.inl new file mode 100755 index 0000000000..2238a1bc6b --- /dev/null +++ b/vendor/glm/detail/type_vec.inl @@ -0,0 +1,2 @@ +/// @ref core +/// @file glm/detail/type_vec.inl diff --git a/vendor/glm/detail/type_vec1.hpp b/vendor/glm/detail/type_vec1.hpp new file mode 100755 index 0000000000..e69de29bb2 diff --git a/vendor/glm/detail/type_vec1.inl b/vendor/glm/detail/type_vec1.inl new file mode 100755 index 0000000000..7f77f6c286 --- /dev/null +++ b/vendor/glm/detail/type_vec1.inl @@ -0,0 +1,554 @@ +/// @ref core +/// @file glm/detail/type_vec1.inl + +namespace glm +{ + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec() +# ifdef GLM_FORCE_CTOR_INIT + : x(0) +# endif + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<1, T, Q> const& v) + : x(v.x) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<1, T, P> const& v) + : x(v.x) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(T scalar) + : x(scalar) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<1, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<2, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<1, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER T & vec<1, T, Q>::operator[](typename vec<1, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + template + GLM_FUNC_QUALIFIER T const& vec<1, T, Q>::operator[](typename vec<1, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<1, T, Q> & vec<1, T, Q>::operator=(vec<1, T, Q> const& v) + { + this->x = v.x; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<1, T, Q> & vec<1, T, Q>::operator=(vec<1, U, Q> const& v) + { + this->x = static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator/=(U scalar) + { + this->x /= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator++() + { + ++this->x; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator--() + { + --this->x; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> vec<1, T, Q>::operator++(int) + { + vec<1, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> vec<1, T, Q>::operator--(int) + { + vec<1, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator%=(U scalar) + { + this->x %= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator&=(U scalar) + { + this->x &= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator|=(U scalar) + { + this->x |= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= U(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator^=(U scalar) + { + this->x ^= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator<<=(U scalar) + { + this->x <<= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<1, T, Q> & vec<1, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + return *this; + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator+(vec<1, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator-(vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + -v.x); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator+(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x + scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator+(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar + v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator+(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x + v2.x); + } + + //operator- + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator-(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x - scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator-(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar - v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator-(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x - v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator*(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x * scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator*(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar * v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator*(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x * v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator/(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x / scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator/(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar / v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator/(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x / v2.x); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator%(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x % scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator%(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar % v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator%(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x % v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator&(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x & scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator&(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar & v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator&(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x & v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator|(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x | scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator|(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar | v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator|(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x | v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator^(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x ^ scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator^(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar ^ v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator^(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x ^ v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator<<(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + static_cast(v.x << scalar)); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator<<(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar << v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator<<(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x << v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator>>(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x >> scalar); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator>>(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar >> v.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator>>(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x >> v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> operator~(vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + ~v.x); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return detail::compute_equal::call(v1.x, v2.x); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER vec<1, bool, Q> operator&&(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2) + { + return vec<1, bool, Q>(v1.x && v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2) + { + return vec<1, bool, Q>(v1.x || v2.x); + } +}//namespace glm diff --git a/vendor/glm/detail/type_vec2.hpp b/vendor/glm/detail/type_vec2.hpp new file mode 100755 index 0000000000..b6ab6853c0 --- /dev/null +++ b/vendor/glm/detail/type_vec2.hpp @@ -0,0 +1,387 @@ +/// @ref core +/// @file glm/detail/type_vec2.hpp + +#pragma once + +#include "type_vec.hpp" +#if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +# if GLM_HAS_UNRESTRICTED_UNIONS +# include "_swizzle.hpp" +# else +# include "_swizzle_func.hpp" +# endif +#endif //GLM_SWIZZLE +#include + +namespace glm +{ + template + struct vec<2, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec type; + typedef vec<2, bool, Q> bool_type; + + // -- Data -- + +# if GLM_HAS_ONLY_XYZW + T x, y; + +# elif GLM_HAS_ALIGNED_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# endif + + union + { + struct{ T x, y; }; + struct{ T r, g; }; + struct{ T s, t; }; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE2_2_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_2_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_2_MEMBERS(T, Q, s, t) + GLM_SWIZZLE2_3_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_3_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_3_MEMBERS(T, Q, s, t) + GLM_SWIZZLE2_4_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_4_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_4_MEMBERS(T, Q, s, t) +# endif//GLM_SWIZZLE + + }; + +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# endif +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# endif +# else + union {T x, r, s;}; + union {T y, g, t;}; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) +# endif//GLM_SWIZZLE +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;} + + GLM_FUNC_DECL T& operator[](length_type i); + GLM_FUNC_DECL T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(T x, T y); + + // -- Conversion constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A x, B y); + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, Q> const& x, vec<1, B, Q> const& y); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<3, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<2, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + template + GLM_FUNC_DECL vec(detail::_swizzle<2, T, Q, E0, E1,-1,-2> const& that) + { + *this = that(); + } +# endif// GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec& operator=(vec const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec& operator=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator+=(U scalar); + template + GLM_FUNC_DECL vec& operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator+=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator-=(U scalar); + template + GLM_FUNC_DECL vec& operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator-=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator*=(U scalar); + template + GLM_FUNC_DECL vec& operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator*=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator/=(U scalar); + template + GLM_FUNC_DECL vec& operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec& operator/=(vec<2, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL vec & operator++(); + GLM_FUNC_DECL vec & operator--(); + GLM_FUNC_DECL vec operator++(int); + GLM_FUNC_DECL vec operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL vec & operator%=(U scalar); + template + GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator%=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator&=(U scalar); + template + GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator&=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator|=(U scalar); + template + GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator|=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator^=(U scalar); + template + GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator^=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator<<=(U scalar); + template + GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator<<=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator>>=(U scalar); + template + GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator>>=(vec<2, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(vec<2, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator*(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator*(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator*(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator/(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator/(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator/(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator%(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator%(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator%(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator&(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator&(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator&(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator|(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator|(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator|(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator^(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator^(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator^(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator<<(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator<<(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator<<(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator>>(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator>>(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL vec<2, T, Q> operator>>(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, T, Q> operator~(vec<2, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL bool operator!=(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, bool, Q> operator&&(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2); + + template + GLM_FUNC_DECL vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec2.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/detail/type_vec2.inl b/vendor/glm/detail/type_vec2.inl new file mode 100755 index 0000000000..1273707906 --- /dev/null +++ b/vendor/glm/detail/type_vec2.inl @@ -0,0 +1,879 @@ +/// @ref core +/// @file glm/core/type_tvec2.inl + +namespace glm +{ + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec() +# ifdef GLM_FORCE_CTOR_INIT + : x(0), y(0) +# endif + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<2, T, Q> const& v) + : x(v.x), y(v.y) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<2, T, P> const& v) + : x(v.x), y(v.y) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(T scalar) + : x(scalar), y(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(T _x, T _y) + : x(_x), y(_y) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(A _x, B _y) + : x(static_cast(_x)) + , y(static_cast(_y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<1, A, Q> const& _x, vec<1, B, Q> const& _y) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<2, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<2, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER T & vec<2, T, Q>::operator[](typename vec<2, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + template + GLM_FUNC_QUALIFIER T const& vec<2, T, Q>::operator[](typename vec<2, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + this->y += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<2, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + this->y -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<2, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + this->y *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<2, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator/=(U scalar) + { + this->x /= static_cast(scalar); + this->y /= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<2, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.y); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator++() + { + ++this->x; + ++this->y; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator--() + { + --this->x; + --this->y; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> vec<2, T, Q>::operator++(int) + { + vec<2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> vec<2, T, Q>::operator--(int) + { + vec<2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator%=(U scalar) + { + this->x %= static_cast(scalar); + this->y %= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= static_cast(v.x); + this->y %= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<2, U, Q> const& v) + { + this->x %= static_cast(v.x); + this->y %= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator&=(U scalar) + { + this->x &= static_cast(scalar); + this->y &= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= static_cast(v.x); + this->y &= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<2, U, Q> const& v) + { + this->x &= static_cast(v.x); + this->y &= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator|=(U scalar) + { + this->x |= static_cast(scalar); + this->y |= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= static_cast(v.x); + this->y |= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<2, U, Q> const& v) + { + this->x |= static_cast(v.x); + this->y |= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator^=(U scalar) + { + this->x ^= static_cast(scalar); + this->y ^= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= static_cast(v.x); + this->y ^= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<2, U, Q> const& v) + { + this->x ^= static_cast(v.x); + this->y ^= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator<<=(U scalar) + { + this->x <<= static_cast(scalar); + this->y <<= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<2, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + this->y >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<2, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.y); + return *this; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(vec<2, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + -v.x, + -v.y); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x + scalar, + v.y + scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.y + v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar + v.x, + scalar + v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.x + v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.y + v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x - scalar, + v.y - scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.y - v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar - v.x, + scalar - v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.x - v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.y - v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator*(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x * scalar, + v.y * scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.y * v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator*(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar * v.x, + scalar * v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator*(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.x * v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.y * v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator/(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x / scalar, + v.y / scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.y / v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator/(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar / v.x, + scalar / v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator/(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.x / v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.y / v2.y); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator%(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x % scalar, + v.y % scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.y % v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator%(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar % v.x, + scalar % v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator%(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.x % v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.y % v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator&(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x & scalar, + v.y & scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.y & v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator&(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar & v.x, + scalar & v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator&(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.x & v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.y & v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator|(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x | scalar, + v.y | scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.y | v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator|(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar | v.x, + scalar | v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator|(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.x | v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.y | v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator^(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x ^ scalar, + v.y ^ scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator^(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar ^ v.x, + scalar ^ v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator^(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.x ^ v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator<<(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x << scalar, + v.y << scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.y << v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator<<(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar << v.x, + scalar << v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator<<(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.x << v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.y << v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator>>(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x >> scalar, + v.y >> scalar); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.y >> v2.x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator>>(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar >> v.x, + scalar >> v.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator>>(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.x >> v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.y >> v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> operator~(vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + ~v.x, + ~v.y); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return + detail::compute_equal::call(v1.x, v2.x) && + detail::compute_equal::call(v1.y, v2.y); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> operator&&(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2) + { + return vec<2, bool, Q>(v1.x && v2.x, v1.y && v2.y); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2) + { + return vec<2, bool, Q>(v1.x || v2.x, v1.y || v2.y); + } +}//namespace glm diff --git a/vendor/glm/detail/type_vec3.hpp b/vendor/glm/detail/type_vec3.hpp new file mode 100755 index 0000000000..506e8a36a6 --- /dev/null +++ b/vendor/glm/detail/type_vec3.hpp @@ -0,0 +1,408 @@ +/// @ref core +/// @file glm/detail/type_vec3.hpp + +#pragma once + +#include "type_vec.hpp" +#if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +# if GLM_HAS_UNRESTRICTED_UNIONS +# include "_swizzle.hpp" +# else +# include "_swizzle_func.hpp" +# endif +#endif //GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +#include + +namespace glm +{ + template + struct vec<3, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec type; + typedef vec<3, bool, Q> bool_type; + + // -- Data -- + +# if GLM_HAS_ONLY_XYZW + T x, y, z; + +# elif GLM_HAS_ALIGNED_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# endif + + union + { + struct{ T x, y, z; }; + struct{ T r, g, b; }; + struct{ T s, t, p; }; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE3_2_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_2_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_2_MEMBERS(T, Q, s, t, p) + GLM_SWIZZLE3_3_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_3_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_3_MEMBERS(T, Q, s, t, p) + GLM_SWIZZLE3_4_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_4_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_4_MEMBERS(T, Q, s, t, p) +# endif//GLM_SWIZZLE + }; + +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# endif +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# endif +# else + union { T x, r, s; }; + union { T y, g, t; }; + union { T z, b, p; }; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) +# endif//GLM_SWIZZLE +# endif//GLM_LANG + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 3;} + + GLM_FUNC_DECL T & operator[](length_type i); + GLM_FUNC_DECL T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(T a, T b, T c); + + // -- Conversion scalar constructors -- + + /// Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(X x, Y y, Z z); + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, B _z); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<2, B, P> const& _yz); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<3, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + template + GLM_FUNC_DECL vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& that) + { + *this = that(); + } + + template + GLM_FUNC_DECL vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& scalar) + { + *this = vec(v(), scalar); + } + + template + GLM_FUNC_DECL vec(T const& scalar, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v) + { + *this = vec(scalar, v()); + } +# endif// GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec & operator=(vec const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec & operator=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator+=(U scalar); + template + GLM_FUNC_DECL vec & operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator+=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator-=(U scalar); + template + GLM_FUNC_DECL vec & operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator-=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator*=(U scalar); + template + GLM_FUNC_DECL vec & operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator*=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator/=(U scalar); + template + GLM_FUNC_DECL vec & operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator/=(vec<3, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL vec & operator++(); + GLM_FUNC_DECL vec & operator--(); + GLM_FUNC_DECL vec operator++(int); + GLM_FUNC_DECL vec operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL vec & operator%=(U scalar); + template + GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator%=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator&=(U scalar); + template + GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator&=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator|=(U scalar); + template + GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator|=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator^=(U scalar); + template + GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator^=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator<<=(U scalar); + template + GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator<<=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator>>=(U scalar); + template + GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator>>=(vec<3, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(vec<3, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator+(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator/(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator/(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator/(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator%(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator%(T const& scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator%(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator&(vec<3, T, Q> const& v1, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator&(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator&(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator|(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator|(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator|(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator^(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator^(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator^(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator<<(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator<<(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator<<(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator>>(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator>>(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator>>(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, T, Q> operator~(vec<3, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, bool, Q> operator&&(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2); + + template + GLM_FUNC_DECL vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec3.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/detail/type_vec3.inl b/vendor/glm/detail/type_vec3.inl new file mode 100755 index 0000000000..15fd4839de --- /dev/null +++ b/vendor/glm/detail/type_vec3.inl @@ -0,0 +1,995 @@ +/// @ref core +/// @file glm/detail/type_tvec3.inl + +namespace glm +{ + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec() +# ifdef GLM_FORCE_CTOR_INIT + : x(0), y(0), z(0) +# endif + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<3, T, Q> const& v) + : x(v.x), y(v.y), z(v.z) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<3, T, P> const& v) + : x(v.x), y(v.y), z(v.z) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(T scalar) + : x(scalar), y(scalar), z(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(T _x, T _y, T _z) + : x(_x), y(_y), z(_z) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(X _x, Y _y, Z _z) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<2, A, P> const& _xy, B _z) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(A _x, vec<2, B, P> const& _yz) + : x(static_cast(_x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz) + : x(static_cast(_x.x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<3, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER T & vec<3, T, Q>::operator[](typename vec<3, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + template + GLM_FUNC_QUALIFIER T const& vec<3, T, Q>::operator[](typename vec<3, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<3, T, Q>& vec<3, T, Q>::operator=(vec<3, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + this->z = v.z; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<3, T, Q>& vec<3, T, Q>::operator=(vec<3, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + this->z = static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + this->y += static_cast(scalar); + this->z += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.x); + this->z += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator+=(vec<3, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.y); + this->z += static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + this->y -= static_cast(scalar); + this->z -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.x); + this->z -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator-=(vec<3, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.y); + this->z -= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + this->y *= static_cast(scalar); + this->z *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.x); + this->z *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator*=(vec<3, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.y); + this->z *= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator/=(U v) + { + this->x /= static_cast(v); + this->y /= static_cast(v); + this->z /= static_cast(v); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.x); + this->z /= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator/=(vec<3, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.y); + this->z /= static_cast(v.z); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator++() + { + ++this->x; + ++this->y; + ++this->z; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator--() + { + --this->x; + --this->y; + --this->z; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> vec<3, T, Q>::operator++(int) + { + vec<3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> vec<3, T, Q>::operator--(int) + { + vec<3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator%=(U scalar) + { + this->x %= scalar; + this->y %= scalar; + this->z %= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= v.x; + this->y %= v.x; + this->z %= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator%=(vec<3, U, Q> const& v) + { + this->x %= v.x; + this->y %= v.y; + this->z %= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator&=(U scalar) + { + this->x &= scalar; + this->y &= scalar; + this->z &= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= v.x; + this->y &= v.x; + this->z &= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator&=(vec<3, U, Q> const& v) + { + this->x &= v.x; + this->y &= v.y; + this->z &= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator|=(U scalar) + { + this->x |= scalar; + this->y |= scalar; + this->z |= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= v.x; + this->y |= v.x; + this->z |= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator|=(vec<3, U, Q> const& v) + { + this->x |= v.x; + this->y |= v.y; + this->z |= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator^=(U scalar) + { + this->x ^= scalar; + this->y ^= scalar; + this->z ^= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= v.x; + this->y ^= v.x; + this->z ^= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator^=(vec<3, U, Q> const& v) + { + this->x ^= v.x; + this->y ^= v.y; + this->z ^= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator<<=(U scalar) + { + this->x <<= scalar; + this->y <<= scalar; + this->z <<= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.x); + this->z <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator<<=(vec<3, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.y); + this->z <<= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + this->y >>= static_cast(scalar); + this->z >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.x); + this->z >>= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<3, T, Q> & vec<3, T, Q>::operator>>=(vec<3, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.y); + this->z >>= static_cast(v.z); + return *this; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(vec<3, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + -v.x, + -v.y, + -v.z); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x + scalar, + v.y + scalar, + v.z + scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x + scalar.x, + v.y + scalar.x, + v.z + scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar + v.x, + scalar + v.y, + scalar + v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x + v.x, + scalar.x + v.y, + scalar.x + v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator+(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x + v2.x, + v1.y + v2.y, + v1.z + v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x - scalar, + v.y - scalar, + v.z - scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x - scalar.x, + v.y - scalar.x, + v.z - scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar - v.x, + scalar - v.y, + scalar - v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x - v.x, + scalar.x - v.y, + scalar.x - v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x - v2.x, + v1.y - v2.y, + v1.z - v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x * scalar, + v.y * scalar, + v.z * scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x * scalar.x, + v.y * scalar.x, + v.z * scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar * v.x, + scalar * v.y, + scalar * v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x * v.x, + scalar.x * v.y, + scalar.x * v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x * v2.x, + v1.y * v2.y, + v1.z * v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator/(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x / scalar, + v.y / scalar, + v.z / scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator/(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x / scalar.x, + v.y / scalar.x, + v.z / scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator/(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar / v.x, + scalar / v.y, + scalar / v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator/(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x / v.x, + scalar.x / v.y, + scalar.x / v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x / v2.x, + v1.y / v2.y, + v1.z / v2.z); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator%(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x % scalar, + v.y % scalar, + v.z % scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator%(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x % scalar.x, + v.y % scalar.x, + v.z % scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator%(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar % v.x, + scalar % v.y, + scalar % v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator%(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x % v.x, + scalar.x % v.y, + scalar.x % v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x % v2.x, + v1.y % v2.y, + v1.z % v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator&(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x & scalar, + v.y & scalar, + v.z & scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator&(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x & scalar.x, + v.y & scalar.x, + v.z & scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator&(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar & v.x, + scalar & v.y, + scalar & v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator&(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x & v.x, + scalar.x & v.y, + scalar.x & v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x & v2.x, + v1.y & v2.y, + v1.z & v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator|(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x | scalar, + v.y | scalar, + v.z | scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator|(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x | scalar.x, + v.y | scalar.x, + v.z | scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator|(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar | v.x, + scalar | v.y, + scalar | v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator|(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x | v.x, + scalar.x | v.y, + scalar.x | v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x | v2.x, + v1.y | v2.y, + v1.z | v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator^(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x ^ scalar, + v.y ^ scalar, + v.z ^ scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator^(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x ^ scalar.x, + v.y ^ scalar.x, + v.z ^ scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator^(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar ^ v.x, + scalar ^ v.y, + scalar ^ v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator^(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x ^ v.x, + scalar.x ^ v.y, + scalar.x ^ v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.y, + v1.z ^ v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator<<(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x << scalar, + v.y << scalar, + v.z << scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator<<(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x << scalar.x, + v.y << scalar.x, + v.z << scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator<<(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar << v.x, + scalar << v.y, + scalar << v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator<<(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x << v.x, + scalar.x << v.y, + scalar.x << v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x << v2.x, + v1.y << v2.y, + v1.z << v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator>>(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x >> scalar, + v.y >> scalar, + v.z >> scalar); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator>>(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x >> scalar.x, + v.y >> scalar.x, + v.z >> scalar.x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator>>(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar >> v.x, + scalar >> v.y, + scalar >> v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator>>(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x >> v.x, + scalar.x >> v.y, + scalar.x >> v.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x >> v2.x, + v1.y >> v2.y, + v1.z >> v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator~(vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + ~v.x, + ~v.y, + ~v.z); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return + detail::compute_equal::call(v1.x, v2.x) && + detail::compute_equal::call(v1.y, v2.y) && + detail::compute_equal::call(v1.z, v2.z); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> operator&&(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2) + { + return vec<3, bool, Q>(v1.x && v2.x, v1.y && v2.y, v1.z && v2.z); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2) + { + return vec<3, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z); + } +}//namespace glm diff --git a/vendor/glm/detail/type_vec4.hpp b/vendor/glm/detail/type_vec4.hpp new file mode 100755 index 0000000000..43395ca456 --- /dev/null +++ b/vendor/glm/detail/type_vec4.hpp @@ -0,0 +1,453 @@ +/// @ref core +/// @file glm/detail/type_vec4.hpp + +#pragma once + +#include "type_vec.hpp" +#if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +# if GLM_HAS_UNRESTRICTED_UNIONS +# include "_swizzle.hpp" +# else +# include "_swizzle_func.hpp" +# endif +#endif //GLM_SWIZZLE +#include + +namespace glm +{ + template + struct vec<4, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec<4, T, Q> type; + typedef vec<4, bool, Q> bool_type; + + // -- Data -- + +# if GLM_HAS_ONLY_XYZW + T x, y, z, w; + +# elif GLM_HAS_ALIGNED_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# endif + + union + { + struct { T x, y, z, w;}; + struct { T r, g, b, a; }; + struct { T s, t, p, q; }; + + typename detail::storage::value>::type data; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE4_2_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_2_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_2_MEMBERS(T, Q, s, t, p, q) + GLM_SWIZZLE4_3_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_3_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_3_MEMBERS(T, Q, s, t, p, q) + GLM_SWIZZLE4_4_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_4_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_4_MEMBERS(T, Q, s, t, p, q) +# endif//GLM_SWIZZLE + }; + +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# endif +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# endif +# else + union { T x, r, s; }; + union { T y, g, t; }; + union { T z, b, p; }; + union { T w, a, q; }; + +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) +# endif//GLM_SWIZZLE +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL T & operator[](length_type i); + GLM_FUNC_DECL T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(vec<4, T, Q> const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(vec<4, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(T x, T y, T z, T w); + + // -- Conversion scalar constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(X _x, Y _y, Z _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _Y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, B _z, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<2, B, P> const& _yz, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, B _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, P> const& _xyz, B _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<3, B, P> const& _yzw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + template + GLM_FUNC_DECL vec(detail::_swizzle<4, T, Q, E0, E1, E2, E3> const& that) + { + *this = that(); + } + + template + GLM_FUNC_DECL vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, detail::_swizzle<2, T, Q, F0, F1, -1, -2> const& u) + { + *this = vec<4, T, Q>(v(), u()); + } + + template + GLM_FUNC_DECL vec(T const& x, T const& y, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v) + { + *this = vec<4, T, Q>(x, y, v()); + } + + template + GLM_FUNC_DECL vec(T const& x, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& w) + { + *this = vec<4, T, Q>(x, v(), w); + } + + template + GLM_FUNC_DECL vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& z, T const& w) + { + *this = vec<4, T, Q>(v(), z, w); + } + + template + GLM_FUNC_DECL vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v, T const& w) + { + *this = vec<4, T, Q>(v(), w); + } + + template + GLM_FUNC_DECL vec(T const& x, detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v) + { + *this = vec<4, T, Q>(x, v()); + } +# endif// GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec<4, T, Q>& operator=(vec<4, T, Q> const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec<4, T, Q>& operator=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator+=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q>& operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator+=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator-=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q>& operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator-=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator*=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q>& operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator*=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator/=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q>& operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q>& operator/=(vec<4, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL vec<4, T, Q> & operator++(); + GLM_FUNC_DECL vec<4, T, Q> & operator--(); + GLM_FUNC_DECL vec<4, T, Q> operator++(int); + GLM_FUNC_DECL vec<4, T, Q> operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL vec<4, T, Q> & operator%=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator%=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator&=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator&=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator|=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator|=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator^=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator^=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator<<=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator<<=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator>>=(U scalar); + template + GLM_FUNC_DECL vec<4, T, Q> & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec<4, T, Q> & operator>>=(vec<4, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(vec<4, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator/(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator/(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator/(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator%(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator%(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator%(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator%(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator&(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator&(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator&(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator&(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator&(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator|(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator|(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator|(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator|(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator^(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator^(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator^(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator^(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator<<(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator<<(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator<<(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator<<(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator>>(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator>>(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL vec<4, T, Q> operator>>(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator>>(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, T, Q> operator~(vec<4, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL bool operator!=(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, bool, Q> operator&&(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2); + + template + GLM_FUNC_DECL vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec4.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/detail/type_vec4.inl b/vendor/glm/detail/type_vec4.inl new file mode 100755 index 0000000000..972cb4e4d7 --- /dev/null +++ b/vendor/glm/detail/type_vec4.inl @@ -0,0 +1,969 @@ +/// @ref core +/// @file glm/detail/type_tvec4.inl + +namespace glm{ +namespace detail +{ + template + struct is_int + { + enum test {value = 0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template + struct compute_vec4_add + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w); + } + }; + + template + struct compute_vec4_sub + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w); + } + }; + + template + struct compute_vec4_mul + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w); + } + }; + + template + struct compute_vec4_div + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x / b.x, a.y / b.y, a.z / b.z, a.w / b.w); + } + }; + + template + struct compute_vec4_mod + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x % b.x, a.y % b.y, a.z % b.z, a.w % b.w); + } + }; + + template + struct compute_vec4_and + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x & b.x, a.y & b.y, a.z & b.z, a.w & b.w); + } + }; + + template + struct compute_vec4_or + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x | b.x, a.y | b.y, a.z | b.z, a.w | b.w); + } + }; + + template + struct compute_vec4_xor + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x ^ b.x, a.y ^ b.y, a.z ^ b.z, a.w ^ b.w); + } + }; + + template + struct compute_vec4_shift_left + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x << b.x, a.y << b.y, a.z << b.z, a.w << b.w); + } + }; + + template + struct compute_vec4_shift_right + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x >> b.x, a.y >> b.y, a.z >> b.z, a.w >> b.w); + } + }; + + template + struct compute_vec4_equal + { + GLM_FUNC_QUALIFIER static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return + detail::compute_equal::call(v1.x, v2.x) && + detail::compute_equal::call(v1.y, v2.y) && + detail::compute_equal::call(v1.z, v2.z) && + detail::compute_equal::call(v1.w, v2.w); + } + }; + + template + struct compute_vec4_nequal + { + GLM_FUNC_QUALIFIER static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return !compute_vec4_equal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + }; + + template + struct compute_vec4_bitwise_not + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + return vec<4, T, Q>(~v.x, ~v.y, ~v.z, ~v.w); + } + }; +}//namespace detail + + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec() +# ifdef GLM_FORCE_CTOR_INIT + : x(0), y(0), z(0), w(0) +# endif + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(vec<4, T, Q> const& v) + : x(v.x), y(v.y), z(v.z), w(v.w) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(vec<4, T, P> const& v) + : x(v.x), y(v.y), z(v.z), w(v.w) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(T scalar) + : x(scalar), y(scalar), z(scalar), w(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(T _x, T _y, T _z, T _w) + : x(_x), y(_y), z(_z), w(_w) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(X _x, Y _y, Z _z, W _w) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, B _z, C _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(A _x, vec<2, B, P> const& _yz, C _w) + : x(static_cast(_x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(A _x, B _y, vec<2, C, P> const& _zw) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<3, A, P> const& _xyz, B _w) + : x(static_cast(_xyz.x)) + , y(static_cast(_xyz.y)) + , z(static_cast(_xyz.z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w) + : x(static_cast(_xyz.x)) + , y(static_cast(_xyz.y)) + , z(static_cast(_xyz.z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(A _x, vec<3, B, P> const& _yzw) + : x(static_cast(_x)) + , y(static_cast(_yzw.x)) + , z(static_cast(_yzw.y)) + , w(static_cast(_yzw.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw) + : x(static_cast(_x.x)) + , y(static_cast(_yzw.x)) + , z(static_cast(_yzw.y)) + , w(static_cast(_yzw.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + , w(static_cast(v.w)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER T& vec<4, T, Q>::operator[](typename vec<4, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + template + GLM_FUNC_QUALIFIER T const& vec<4, T, Q>::operator[](typename vec<4, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<4, T, Q>& vec<4, T, Q>::operator=(vec<4, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + this->z = v.z; + this->w = v.w; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 vec<4, T, Q>& vec<4, T, Q>::operator=(vec<4, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + this->z = static_cast(v.z); + this->w = static_cast(v.w); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator+=(U scalar) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator+=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator+=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator-=(U scalar) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator-=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator-=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator*=(U scalar) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator*=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator*=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator/=(U scalar) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator/=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator/=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(v))); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator++() + { + ++this->x; + ++this->y; + ++this->z; + ++this->w; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator--() + { + --this->x; + --this->y; + --this->z; + --this->w; + return *this; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> vec<4, T, Q>::operator++(int) + { + vec<4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> vec<4, T, Q>::operator--(int) + { + vec<4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator%=(U scalar) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator%=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator%=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator&=(U scalar) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator&=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator&=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator|=(U scalar) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator|=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator|=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator^=(U scalar) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator^=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator^=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator<<=(U scalar) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator<<=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator>>=(U scalar) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER vec<4, T, Q> & vec<4, T, Q>::operator>>=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(vec<4, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(vec<4, T, Q> const& v) + { + return vec<4, T, Q>(0) -= v; + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) += scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) += v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(v) += scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v2) += v1; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) += v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) -= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) -= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) -= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) -= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) -= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) *= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) *= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(v) *= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v2) *= v1; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) *= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator/(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) /= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) /= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator/(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) /= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator/(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) /= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) /= v2; + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator%(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) %= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) %= v2.x; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator%(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) %= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator%(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar.x) %= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) %= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator&(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) &= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator&(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<4, T, Q>(v) &= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator&(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) &= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator&(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) &= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator&(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) &= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator|(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) |= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) |= v2.x; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator|(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) |= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator|(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) |= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) |= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator^(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) ^= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) ^= v2.x; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator^(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) ^= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator^(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) ^= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) ^= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator<<(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) <<= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) <<= v2.x; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator<<(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) <<= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator<<(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) <<= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) <<= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator>>(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) >>= scalar; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) >>= v2.x; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator>>(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) >>= v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator>>(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) >>= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) >>= v2; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator~(vec<4, T, Q> const& v) + { + return detail::compute_vec4_bitwise_not::value, sizeof(T) * 8, detail::is_aligned::value>::call(v); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return detail::compute_vec4_equal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return detail::compute_vec4_nequal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> operator&&(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2) + { + return vec<4, bool, Q>(v1.x && v2.x, v1.y && v2.y, v1.z && v2.z, v1.w && v2.w); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2) + { + return vec<4, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z, v1.w || v2.w); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_ALIGNED_TYPE +# include "type_vec4_simd.inl" +#endif diff --git a/vendor/glm/detail/type_vec4_simd.inl b/vendor/glm/detail/type_vec4_simd.inl new file mode 100755 index 0000000000..adfb20cf6a --- /dev/null +++ b/vendor/glm/detail/type_vec4_simd.inl @@ -0,0 +1,458 @@ +/// @ref core +/// @file glm/detail/type_tvec4_simd.inl + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + template + struct _swizzle_base1<4, float, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, float, Q> operator ()() const + { + __m128 data = *reinterpret_cast<__m128 const*>(&this->_buffer); + + vec<4, float, Q> Result; +# if GLM_ARCH & GLM_ARCH_AVX_BIT + Result.data = _mm_permute_ps(data, _MM_SHUFFLE(E3, E2, E1, E0)); +# else + Result.data = _mm_shuffle_ps(data, data, _MM_SHUFFLE(E3, E2, E1, E0)); +# endif + return Result; + } + }; + + template + struct _swizzle_base1<4, int32, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, int32, Q> operator ()() const + { + __m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer); + + vec<4, int32, Q> Result; + Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0)); + return Result; + } + }; + + template + struct _swizzle_base1<4, uint32, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, uint32, Q> operator ()() const + { + __m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer); + + vec<4, uint32, Q> Result; + Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0)); + return Result; + } + }; +# endif// GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + + template + struct compute_vec4_add + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_add_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_add + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_add_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_sub + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_sub_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_sub + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_sub_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_mul + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_mul_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_mul + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_mul_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_div + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_div_ps(a.data, b.data); + return Result; + } + }; + + # if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_div + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_div_pd(a.data, b.data); + return Result; + } + }; +# endif + + template<> + struct compute_vec4_div + { + static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& a, vec<4, float, aligned_lowp> const& b) + { + vec<4, float, aligned_lowp> Result; + Result.data = _mm_mul_ps(a.data, _mm_rcp_ps(b.data)); + return Result; + } + }; + + template + struct compute_vec4_and + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_and_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_and + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_and_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_or + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_or_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_or + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_or_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_xor + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_xor_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_xor + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_xor_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_shift_left + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_sll_epi32(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_shift_left + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_sll_epi64(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_shift_right + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_srl_epi32(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_shift_right + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_srl_epi64(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_bitwise_not + { + static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + vec<4, T, Q> Result; + Result.data = _mm_xor_si128(v.data, _mm_set1_epi32(-1)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_bitwise_not + { + static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + vec<4, T, Q> Result; + Result.data = _mm256_xor_si256(v.data, _mm_set1_epi32(-1)); + return Result; + } + }; +# endif + + template + struct compute_vec4_equal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + return _mm_movemask_ps(_mm_cmpeq_ps(v1.data, v2.data)) != 0; + } + }; + + template + struct compute_vec4_equal + { + static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) + { + return _mm_movemask_epi8(_mm_cmpeq_epi32(v1.data, v2.data)) != 0; + } + }; + + template + struct compute_vec4_nequal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + return _mm_movemask_ps(_mm_cmpneq_ps(v1.data, v2.data)) != 0; + } + }; + + template + struct compute_vec4_nequal + { + static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2) + { + return _mm_movemask_epi8(_mm_cmpneq_epi32(v1.data, v2.data)) != 0; + } + }; +}//namespace detail + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_lowp>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_mediump>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_highp>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, double, aligned_lowp>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, double, aligned_mediump>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, double, aligned_highp>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} +# endif + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_lowp>::vec(int32 _s) : + data(_mm_set1_epi32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_mediump>::vec(int32 _s) : + data(_mm_set1_epi32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_highp>::vec(int32 _s) : + data(_mm_set1_epi32(_s)) + {} + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int64, aligned_lowp>::vec(int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int64, aligned_mediump>::vec(int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int64, aligned_highp>::vec(int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} +# endif + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_lowp>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_mediump>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_highp>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_lowp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_mediump>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, int32, aligned_highp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_lowp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_mediump>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, float, aligned_highp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : + data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/exponential.hpp b/vendor/glm/exponential.hpp new file mode 100755 index 0000000000..8fac30ee2b --- /dev/null +++ b/vendor/glm/exponential.hpp @@ -0,0 +1,108 @@ +/// @ref core +/// @file glm/exponential.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions +/// +/// @defgroup core_func_exponential Exponential functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// These all operate component-wise. The description is per component. + +#pragma once + +#include "detail/type_vec1.hpp" +#include "detail/type_vec2.hpp" +#include "detail/type_vec3.hpp" +#include "detail/type_vec4.hpp" +#include + +namespace glm +{ + /// @addtogroup core_func_exponential + /// @{ + + /// Returns 'base' raised to the power 'exponent'. + /// + /// @param base Floating point value. pow function is defined for input values of 'base' defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @param exponent Floating point value representing the 'exponent'. + /// + /// @see GLSL pow man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec pow(vec const& base, vec const& exponent); + + /// Returns the natural exponentiation of x, i.e., e^x. + /// + /// @param v exp function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL exp man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec exp(vec const& v); + + /// Returns the natural logarithm of v, i.e., + /// returns the value y which satisfies the equation x = e^y. + /// Results are undefined if v <= 0. + /// + /// @param v log function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL log man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec log(vec const& v); + + /// Returns 2 raised to the v power. + /// + /// @param v exp2 function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL exp2 man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec exp2(vec const& v); + + /// Returns the base 2 log of x, i.e., returns the value y, + /// which satisfies the equation x = 2 ^ y. + /// + /// @param v log2 function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL log2 man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec log2(vec const& v); + + /// Returns the positive square root of v. + /// + /// @param v sqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL sqrt man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec sqrt(vec const& v); + + /// Returns the reciprocal of the positive square root of v. + /// + /// @param v inversesqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL inversesqrt man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec inversesqrt(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_exponential.inl" diff --git a/vendor/glm/ext.hpp b/vendor/glm/ext.hpp new file mode 100755 index 0000000000..1f74f3cbc3 --- /dev/null +++ b/vendor/glm/ext.hpp @@ -0,0 +1,102 @@ +/// @file glm/ext.hpp +/// +/// @ref core (Dependence) + +#include "detail/setup.hpp" + +#pragma once + +#include "glm.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED) +# define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED +# pragma message("GLM: All extensions included (not recommended)") +#endif//GLM_MESSAGES + +#include "./ext/vec1.hpp" +#include "./ext/vector_relational.hpp" + +#include "./gtc/bitfield.hpp" +#include "./gtc/color_space.hpp" +#include "./gtc/constants.hpp" +#include "./gtc/epsilon.hpp" +#include "./gtc/integer.hpp" +#include "./gtc/matrix_access.hpp" +#include "./gtc/matrix_integer.hpp" +#include "./gtc/matrix_inverse.hpp" +#include "./gtc/matrix_transform.hpp" +#include "./gtc/noise.hpp" +#include "./gtc/packing.hpp" +#include "./gtc/quaternion.hpp" +#include "./gtc/random.hpp" +#include "./gtc/reciprocal.hpp" +#include "./gtc/round.hpp" +//#include "./gtc/type_aligned.hpp" +#include "./gtc/type_precision.hpp" +#include "./gtc/type_ptr.hpp" +#include "./gtc/ulp.hpp" +#include "./gtc/vec1.hpp" +#if GLM_HAS_ALIGNED_TYPE +# include "./gtc/type_aligned.hpp" +#endif + +#ifdef GLM_ENABLE_EXPERIMENTAL +#include "./gtx/associated_min_max.hpp" +#include "./gtx/bit.hpp" +#include "./gtx/closest_point.hpp" +#include "./gtx/color_encoding.hpp" +#include "./gtx/color_space.hpp" +#include "./gtx/color_space_YCoCg.hpp" +#include "./gtx/compatibility.hpp" +#include "./gtx/component_wise.hpp" +#include "./gtx/dual_quaternion.hpp" +#include "./gtx/euler_angles.hpp" +#include "./gtx/extend.hpp" +#include "./gtx/extended_min_max.hpp" +#include "./gtx/fast_exponential.hpp" +#include "./gtx/fast_square_root.hpp" +#include "./gtx/fast_trigonometry.hpp" +#include "./gtx/functions.hpp" +#include "./gtx/gradient_paint.hpp" +#include "./gtx/handed_coordinate_space.hpp" +#include "./gtx/integer.hpp" +#include "./gtx/intersect.hpp" +#include "./gtx/log_base.hpp" +#include "./gtx/matrix_cross_product.hpp" +#include "./gtx/matrix_interpolation.hpp" +#include "./gtx/matrix_major_storage.hpp" +#include "./gtx/matrix_operation.hpp" +#include "./gtx/matrix_query.hpp" +#include "./gtx/mixed_product.hpp" +#include "./gtx/norm.hpp" +#include "./gtx/normal.hpp" +#include "./gtx/normalize_dot.hpp" +#include "./gtx/number_precision.hpp" +#include "./gtx/optimum_pow.hpp" +#include "./gtx/orthonormalize.hpp" +#include "./gtx/perpendicular.hpp" +#include "./gtx/polar_coordinates.hpp" +#include "./gtx/projection.hpp" +#include "./gtx/quaternion.hpp" +#include "./gtx/raw_data.hpp" +#include "./gtx/rotate_vector.hpp" +#include "./gtx/spline.hpp" +#include "./gtx/std_based_type.hpp" +#if !(GLM_COMPILER & GLM_COMPILER_CUDA) +# include "./gtx/string_cast.hpp" +#endif +#include "./gtx/transform.hpp" +#include "./gtx/transform2.hpp" +#include "./gtx/vec_swizzle.hpp" +#include "./gtx/vector_angle.hpp" +#include "./gtx/vector_query.hpp" +#include "./gtx/wrap.hpp" + +#if GLM_HAS_TEMPLATE_ALIASES +# include "./gtx/scalar_multiplication.hpp" +#endif + +#if GLM_HAS_RANGE_FOR +# include "./gtx/range.hpp" +#endif +#endif//GLM_ENABLE_EXPERIMENTAL diff --git a/vendor/glm/ext/vec1.hpp b/vendor/glm/ext/vec1.hpp new file mode 100755 index 0000000000..887877e572 --- /dev/null +++ b/vendor/glm/ext/vec1.hpp @@ -0,0 +1,461 @@ +/// @ref ext_vec1 +/// @file glm/ext/vec1.hpp +/// +/// @see core (dependence) +/// +/// @defgroup ext_vec1 GLM_EXT_vec1 +/// @ingroup ext +/// +/// Include to use the features of this extension. +/// +/// Add vec1, ivec1, uvec1 and bvec1 types. + +#pragma once + +#include "../fwd.hpp" +#include "../detail/type_vec.hpp" +#if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED +# if GLM_HAS_UNRESTRICTED_UNIONS +# include "../detail/_swizzle.hpp" +# else +# include "../detail/_swizzle_func.hpp" +# endif +#endif //GLM_SWIZZLE +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vec1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vec1 + /// @{ + + template + struct vec<1, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec type; + typedef vec<1, bool, Q> bool_type; + + // -- Data -- + +# if GLM_HAS_ONLY_XYZW + T x; + +# elif GLM_HAS_ALIGNED_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# endif + + union + { + T x; + T r; + T s; +/* +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + _GLM_SWIZZLE1_2_MEMBERS(T, Q, tvec2, x) + _GLM_SWIZZLE1_2_MEMBERS(T, Q, tvec2, r) + _GLM_SWIZZLE1_2_MEMBERS(T, Q, tvec2, s) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, tvec3, x) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, tvec3, r) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, tvec3, s) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, tvec4, x) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, tvec4, r) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, tvec4, s) +# endif//GLM_SWIZZLE*/ + }; + +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# endif +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# endif +# else + union {T x, r, s;}; +/* +# if GLM_SWIZZLE == GLM_SWIZZLE_ENABLED + GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, P, tvec2, tvec2, tvec3, tvec4) +# endif//GLM_SWIZZLE*/ +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 1;} + + GLM_FUNC_DECL T & operator[](length_type i); + GLM_FUNC_DECL T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit vec(T scalar); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<2, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<3, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<1, U, P> const& v); + + // -- Swizzle constructors -- +/* +# if(GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED)) + template + GLM_FUNC_DECL tvec(detail::_swizzle<1, T, Q, tvec1, E0, -1,-2,-3> const& that) + { + *this = that(); + } +# endif//(GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED)) +*/ + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec & operator=(vec const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 vec & operator=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator+=(U scalar); + template + GLM_FUNC_DECL vec & operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator-=(U scalar); + template + GLM_FUNC_DECL vec & operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator*=(U scalar); + template + GLM_FUNC_DECL vec & operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator/=(U scalar); + template + GLM_FUNC_DECL vec & operator/=(vec<1, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL vec & operator++(); + GLM_FUNC_DECL vec & operator--(); + GLM_FUNC_DECL vec operator++(int); + GLM_FUNC_DECL vec operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL vec & operator%=(U scalar); + template + GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator&=(U scalar); + template + GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator|=(U scalar); + template + GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator^=(U scalar); + template + GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator<<=(U scalar); + template + GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL vec & operator>>=(U scalar); + template + GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL vec<1, T, Q> operator+(vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator-(vec<1, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL vec<1, T, Q> operator+(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator+(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator+(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator-(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator-(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator-(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator*(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator*(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator*(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator/(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator/(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator/(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator%(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator%(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator%(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator&(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator&(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator&(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator|(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator|(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator|(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator^(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator^(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator^(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator<<(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator<<(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator<<(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator>>(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL vec<1, T, Q> operator>>(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL vec<1, T, Q> operator>>(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, T, Q> operator~(vec<1, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL bool operator!=(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, bool, Q> operator&&(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2); + + template + GLM_FUNC_DECL vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2); + + /// 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, float, highp> highp_vec1; + + /// 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, float, mediump> mediump_vec1; + + /// 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, float, lowp> lowp_vec1; + + /// 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, double, highp> highp_dvec1; + + /// 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, double, mediump> mediump_dvec1; + + /// 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see ext_vec1 + typedef vec<1, double, lowp> lowp_dvec1; + + /// 1 component vector of signed integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, int, highp> highp_ivec1; + + /// 1 component vector of signed integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, int, mediump> mediump_ivec1; + + /// 1 component vector of signed integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, int, lowp> lowp_ivec1; + + /// 1 component vector of unsigned integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, uint, highp> highp_uvec1; + + /// 1 component vector of unsigned integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, uint, mediump> mediump_uvec1; + + /// 1 component vector of unsigned integer numbers. + /// + /// @see ext_vec1 + typedef vec<1, uint, lowp> lowp_uvec1; + + /// 1 component vector of bool values. + /// + /// @see ext_vec1 + typedef vec<1, bool, highp> highp_bvec1; + + /// 1 component vector of bool values. + /// + /// @see ext_vec1 + typedef vec<1, bool, mediump> mediump_bvec1; + + /// 1 component vector of bool values. + /// + /// @see ext_vec1 + typedef vec<1, bool, lowp> lowp_bvec1; + +#if GLM_HAS_TEMPLATE_ALIASES + template using tvec1 = vec<1, T, Q>; +#endif//GLM_HAS_TEMPLATE_ALIASES + + ////////////////////////// + // vec1 definition + +#if(defined(GLM_PRECISION_HIGHP_BOOL)) + typedef highp_bvec1 bvec1; +#elif(defined(GLM_PRECISION_MEDIUMP_BOOL)) + typedef mediump_bvec1 bvec1; +#elif(defined(GLM_PRECISION_LOWP_BOOL)) + typedef lowp_bvec1 bvec1; +#else + /// 1 component vector of boolean. + /// @see gtc_vec1 extension. + typedef highp_bvec1 bvec1; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_FLOAT)) + typedef highp_vec1 vec1; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef mediump_vec1 vec1; +#elif(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_vec1 vec1; +#else + /// 1 component vector of floating-point numbers. + /// @see gtc_vec1 extension. + typedef highp_vec1 vec1; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_DOUBLE)) + typedef highp_dvec1 dvec1; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef mediump_dvec1 dvec1; +#elif(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_dvec1 dvec1; +#else + /// 1 component vector of floating-point numbers. + /// @see gtc_vec1 extension. + typedef highp_dvec1 dvec1; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_INT)) + typedef highp_ivec1 ivec1; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_ivec1 ivec1; +#elif(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_ivec1 ivec1; +#else + /// 1 component vector of signed integer numbers. + /// @see gtc_vec1 extension. + typedef highp_ivec1 ivec1; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_UINT)) + typedef highp_uvec1 uvec1; +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) + typedef mediump_uvec1 uvec1; +#elif(defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_uvec1 uvec1; +#else + /// 1 component vector of unsigned integer numbers. + /// @see gtc_vec1 extension. + typedef highp_uvec1 uvec1; +#endif//GLM_PRECISION + + /// @} +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "../detail/type_vec1.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/vendor/glm/ext/vec1.inl b/vendor/glm/ext/vec1.inl new file mode 100755 index 0000000000..e69de29bb2 diff --git a/vendor/glm/ext/vector_relational.hpp b/vendor/glm/ext/vector_relational.hpp new file mode 100755 index 0000000000..e5cfa946f5 --- /dev/null +++ b/vendor/glm/ext/vector_relational.hpp @@ -0,0 +1,93 @@ +/// @ref ext_vector_relational +/// @file glm/ext/vector_relational.hpp +/// +/// @see core (dependence) +/// +/// @defgroup ext_vector_relational GLM_EXT_vector_relational +/// @ingroup ext +/// +/// Include to use the features of this extension. +/// +/// Comparison functions for a user defined epsilon values. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_relational extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_relational + /// @{ + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec equal(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec equal(vec const& x, vec const& y, vec const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam genType Floating-point or integer scalar types + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL bool equal(genType const& x, genType const& y, genType const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec notEqual(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec notEqual(vec const& x, vec const& y, vec const& epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam genType Floating-point or integer scalar types + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL bool notEqual(genType const& x, genType const& y, genType const& epsilon); + + /// @} +}//namespace glm + +#include "vector_relational.inl" diff --git a/vendor/glm/ext/vector_relational.inl b/vendor/glm/ext/vector_relational.inl new file mode 100755 index 0000000000..8532a022b3 --- /dev/null +++ b/vendor/glm/ext/vector_relational.inl @@ -0,0 +1,46 @@ +/// @ref ext_vector_relational +/// @file glm/ext/vector_relational.inl + +// Dependency: +#include "../vector_relational.hpp" +#include "../common.hpp" +#include "../detail/type_vec.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool equal(genType const& x, genType const& y, genType const& epsilon) + { + return abs(x - y) < epsilon; + } + + template + GLM_FUNC_QUALIFIER vec equal(vec const& x, vec const& y, T const& epsilon) + { + return lessThan(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec equal(vec const& x, vec const& y, vec const& epsilon) + { + return lessThan(abs(x - y), epsilon); + } + + template + GLM_FUNC_QUALIFIER bool notEqual(genType const& x, genType const& y, genType const& epsilon) + { + return abs(x - y) >= epsilon; + } + + template + GLM_FUNC_QUALIFIER vec notEqual(vec const& x, vec const& y, T const& epsilon) + { + return greaterThanEqual(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec notEqual(vec const& x, vec const& y, vec const& epsilon) + { + return greaterThanEqual(abs(x - y), epsilon); + } +}//namespace glm diff --git a/vendor/glm/fwd.hpp b/vendor/glm/fwd.hpp new file mode 100755 index 0000000000..002fa5dfc5 --- /dev/null +++ b/vendor/glm/fwd.hpp @@ -0,0 +1,2572 @@ +/// @ref core +/// @file glm/fwd.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_int.hpp" +#include "detail/type_float.hpp" +#include "detail/type_vec.hpp" +#include "detail/type_mat.hpp" + +////////////////////// +// GLM_GTC_quaternion +namespace glm +{ + template struct tquat; + + /// Quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat lowp_quat; + + /// Quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat mediump_quat; + + /// Quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat highp_quat; + +#if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef highp_quat quat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef mediump_quat quat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_quat quat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + /// Quaternion of default single-qualifier floating-point numbers. + typedef highp_quat quat; +#endif + + /// Quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef lowp_quat lowp_fquat; + + /// Quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef mediump_quat mediump_fquat; + + /// Quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef highp_quat highp_fquat; + + /// Quaternion of default single-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef quat fquat; + + + /// Quaternion of low double-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat lowp_dquat; + + /// Quaternion of medium double-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat mediump_dquat; + + /// Quaternion of high double-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef tquat highp_dquat; + +#if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef highp_dquat dquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef mediump_dquat dquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_dquat dquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + /// Quaternion of default double-qualifier floating-point numbers. + /// + /// @see gtc_quaternion + typedef highp_dquat dquat; +#endif + +}//namespace glm + +////////////////////// +// GLM_GTC_precision +namespace glm +{ + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8_t; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16_t; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32_t; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64_t; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_i8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_i16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_i32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_i64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8_t; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16_t; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32_t; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64_t; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_i8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_i16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_i32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_i64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8_t; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32_t; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64_t; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_i8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_i16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_i32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_i64; + + + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 int8; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 int16; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 int32; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 int64; + + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::int8_t; + using std::int16_t; + using std::int32_t; + using std::int64_t; +#else + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 int8_t; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 int32_t; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 int64_t; +#endif + + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 i8; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 i16; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 i32; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 i64; + + + + /// Low qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, lowp> lowp_i8vec1; + + /// Low qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, lowp> lowp_i8vec2; + + /// Low qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, lowp> lowp_i8vec3; + + /// Low qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, lowp> lowp_i8vec4; + + + /// Medium qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, mediump> mediump_i8vec1; + + /// Medium qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, mediump> mediump_i8vec2; + + /// Medium qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, mediump> mediump_i8vec3; + + /// Medium qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, mediump> mediump_i8vec4; + + + /// High qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, highp> highp_i8vec1; + + /// High qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, highp> highp_i8vec2; + + /// High qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, highp> highp_i8vec3; + + /// High qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, highp> highp_i8vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_i8vec1 i8vec1; + typedef lowp_i8vec2 i8vec2; + typedef lowp_i8vec3 i8vec3; + typedef lowp_i8vec4 i8vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_i8vec1 i8vec1; + typedef mediump_i8vec2 i8vec2; + typedef mediump_i8vec3 i8vec3; + typedef mediump_i8vec4 i8vec4; +#else + /// Default qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef highp_i8vec1 i8vec1; + + /// Default qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_i8vec2 i8vec2; + + /// Default qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_i8vec3 i8vec3; + + /// Default qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_i8vec4 i8vec4; +#endif + + + /// Low qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, lowp> lowp_i16vec1; + + /// Low qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, lowp> lowp_i16vec2; + + /// Low qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, lowp> lowp_i16vec3; + + /// Low qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, lowp> lowp_i16vec4; + + + /// Medium qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, mediump> mediump_i16vec1; + + /// Medium qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, mediump> mediump_i16vec2; + + /// Medium qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, mediump> mediump_i16vec3; + + /// Medium qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, mediump> mediump_i16vec4; + + + /// High qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, highp> highp_i16vec1; + + /// High qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, highp> highp_i16vec2; + + /// High qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, highp> highp_i16vec3; + + /// High qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, highp> highp_i16vec4; + + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_i16vec1 i16vec1; + typedef lowp_i16vec2 i16vec2; + typedef lowp_i16vec3 i16vec3; + typedef lowp_i16vec4 i16vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_i16vec1 i16vec1; + typedef mediump_i16vec2 i16vec2; + typedef mediump_i16vec3 i16vec3; + typedef mediump_i16vec4 i16vec4; +#else + /// Default qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef highp_i16vec1 i16vec1; + + /// Default qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_i16vec2 i16vec2; + + /// Default qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_i16vec3 i16vec3; + + /// Default qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_i16vec4 i16vec4; +#endif + + + /// Low qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, lowp> lowp_i32vec1; + + /// Low qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, lowp> lowp_i32vec2; + + /// Low qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, lowp> lowp_i32vec3; + + /// Low qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, lowp> lowp_i32vec4; + + + /// Medium qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, mediump> mediump_i32vec1; + + /// Medium qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, mediump> mediump_i32vec2; + + /// Medium qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, mediump> mediump_i32vec3; + + /// Medium qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, mediump> mediump_i32vec4; + + + /// High qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, highp> highp_i32vec1; + + /// High qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, highp> highp_i32vec2; + + /// High qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, highp> highp_i32vec3; + + /// High qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, highp> highp_i32vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_i32vec1 i32vec1; + typedef lowp_i32vec2 i32vec2; + typedef lowp_i32vec3 i32vec3; + typedef lowp_i32vec4 i32vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_i32vec1 i32vec1; + typedef mediump_i32vec2 i32vec2; + typedef mediump_i32vec3 i32vec3; + typedef mediump_i32vec4 i32vec4; +#else + /// Default qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef highp_i32vec1 i32vec1; + + /// Default qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_i32vec2 i32vec2; + + /// Default qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_i32vec3 i32vec3; + + /// Default qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_i32vec4 i32vec4; +#endif + + + /// Low qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, lowp> lowp_i32vec1; + + /// Low qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, lowp> lowp_i32vec2; + + /// Low qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, lowp> lowp_i32vec3; + + /// Low qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, lowp> lowp_i32vec4; + + + /// Medium qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, mediump> mediump_i32vec1; + + /// Medium qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, mediump> mediump_i32vec2; + + /// Medium qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, mediump> mediump_i32vec3; + + /// Medium qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, mediump> mediump_i32vec4; + + + /// High qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, highp> highp_i32vec1; + + /// High qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, highp> highp_i32vec2; + + /// High qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, highp> highp_i32vec3; + + /// High qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, highp> highp_i32vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_i32vec1 i32vec1; + typedef lowp_i32vec2 i32vec2; + typedef lowp_i32vec3 i32vec3; + typedef lowp_i32vec4 i32vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_i32vec1 i32vec1; + typedef mediump_i32vec2 i32vec2; + typedef mediump_i32vec3 i32vec3; + typedef mediump_i32vec4 i32vec4; +#else + /// Default qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef highp_i32vec1 i32vec1; + + /// Default qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_i32vec2 i32vec2; + + /// Default qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_i32vec3 i32vec3; + + /// Default qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_i32vec4 i32vec4; +#endif + + + + /// Low qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, lowp> lowp_i64vec1; + + /// Low qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, lowp> lowp_i64vec2; + + /// Low qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, lowp> lowp_i64vec3; + + /// Low qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, lowp> lowp_i64vec4; + + + /// Medium qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, mediump> mediump_i64vec1; + + /// Medium qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, mediump> mediump_i64vec2; + + /// Medium qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, mediump> mediump_i64vec3; + + /// Medium qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, mediump> mediump_i64vec4; + + + /// High qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, highp> highp_i64vec1; + + /// High qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, highp> highp_i64vec2; + + /// High qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, highp> highp_i64vec3; + + /// High qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, highp> highp_i64vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_i64vec1 i64vec1; + typedef lowp_i64vec2 i64vec2; + typedef lowp_i64vec3 i64vec3; + typedef lowp_i64vec4 i64vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_i64vec1 i64vec1; + typedef mediump_i64vec2 i64vec2; + typedef mediump_i64vec3 i64vec3; + typedef mediump_i64vec4 i64vec4; +#else + /// Default qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef highp_i64vec1 i64vec1; + + /// Default qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_i64vec2 i64vec2; + + /// Default qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_i64vec3 i64vec3; + + /// Default qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_i64vec4 i64vec4; +#endif + + + ///////////////////////////// + // Unsigned int vector types + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64; + + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8_t; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16_t; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32_t; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64_t; + + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_u8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_u16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_u32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_u64; + + + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8_t; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16_t; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32_t; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64_t; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_u8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_u16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_u32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_u64; + + + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8_t; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16_t; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32_t; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64_t; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_u8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_u16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_u32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_u64; + + + + /// 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 uint8; + + /// 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 uint16; + + /// 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 uint32; + + /// 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 uint64; + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::uint8_t; + using std::uint16_t; + using std::uint32_t; + using std::uint64_t; +#else + /// 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 uint8_t; + + /// 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 uint16_t; + + /// 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 uint32_t; + + /// 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 uint64_t; +#endif + + /// 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 u8; + + /// 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 u16; + + /// 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 u32; + + /// 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 u64; + + + + /// Low qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, lowp> lowp_u8vec1; + + /// Low qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, lowp> lowp_u8vec2; + + /// Low qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, lowp> lowp_u8vec3; + + /// Low qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, lowp> lowp_u8vec4; + + + /// Medium qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, mediump> mediump_u8vec1; + + /// Medium qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, mediump> mediump_u8vec2; + + /// Medium qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, mediump> mediump_u8vec3; + + /// Medium qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, mediump> mediump_u8vec4; + + + /// High qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, highp> highp_u8vec1; + + /// High qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, highp> highp_u8vec2; + + /// High qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, highp> highp_u8vec3; + + /// High qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, highp> highp_u8vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_u8vec1 u8vec1; + typedef lowp_u8vec2 u8vec2; + typedef lowp_u8vec3 u8vec3; + typedef lowp_u8vec4 u8vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_u8vec1 u8vec1; + typedef mediump_u8vec2 u8vec2; + typedef mediump_u8vec3 u8vec3; + typedef mediump_u8vec4 u8vec4; +#else + /// Default qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef highp_u8vec1 u8vec1; + + /// Default qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_u8vec2 u8vec2; + + /// Default qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_u8vec3 u8vec3; + + /// Default qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_u8vec4 u8vec4; +#endif + + + /// Low qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, lowp> lowp_u16vec1; + + /// Low qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, lowp> lowp_u16vec2; + + /// Low qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, lowp> lowp_u16vec3; + + /// Low qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, lowp> lowp_u16vec4; + + + /// Medium qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, mediump> mediump_u16vec1; + + /// Medium qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, mediump> mediump_u16vec2; + + /// Medium qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, mediump> mediump_u16vec3; + + /// Medium qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, mediump> mediump_u16vec4; + + + /// High qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, highp> highp_u16vec1; + + /// High qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, highp> highp_u16vec2; + + /// High qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, highp> highp_u16vec3; + + /// High qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, highp> highp_u16vec4; + + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_u16vec1 u16vec1; + typedef lowp_u16vec2 u16vec2; + typedef lowp_u16vec3 u16vec3; + typedef lowp_u16vec4 u16vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_u16vec1 u16vec1; + typedef mediump_u16vec2 u16vec2; + typedef mediump_u16vec3 u16vec3; + typedef mediump_u16vec4 u16vec4; +#else + /// Default qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef highp_u16vec1 u16vec1; + + /// Default qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_u16vec2 u16vec2; + + /// Default qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_u16vec3 u16vec3; + + /// Default qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_u16vec4 u16vec4; +#endif + + + /// Low qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, lowp> lowp_u32vec1; + + /// Low qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, lowp> lowp_u32vec2; + + /// Low qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, lowp> lowp_u32vec3; + + /// Low qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, lowp> lowp_u32vec4; + + + /// Medium qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, mediump> mediump_u32vec1; + + /// Medium qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, mediump> mediump_u32vec2; + + /// Medium qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, mediump> mediump_u32vec3; + + /// Medium qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, mediump> mediump_u32vec4; + + + /// High qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, highp> highp_u32vec1; + + /// High qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, highp> highp_u32vec2; + + /// High qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, highp> highp_u32vec3; + + /// High qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, highp> highp_u32vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_u32vec1 u32vec1; + typedef lowp_u32vec2 u32vec2; + typedef lowp_u32vec3 u32vec3; + typedef lowp_u32vec4 u32vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_u32vec1 u32vec1; + typedef mediump_u32vec2 u32vec2; + typedef mediump_u32vec3 u32vec3; + typedef mediump_u32vec4 u32vec4; +#else + /// Default qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef highp_u32vec1 u32vec1; + + /// Default qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_u32vec2 u32vec2; + + /// Default qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_u32vec3 u32vec3; + + /// Default qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_u32vec4 u32vec4; +#endif + + + /// Low qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, lowp> lowp_u32vec1; + + /// Low qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, lowp> lowp_u32vec2; + + /// Low qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, lowp> lowp_u32vec3; + + /// Low qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, lowp> lowp_u32vec4; + + + /// Medium qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, mediump> mediump_u32vec1; + + /// Medium qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, mediump> mediump_u32vec2; + + /// Medium qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, mediump> mediump_u32vec3; + + /// Medium qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, mediump> mediump_u32vec4; + + + /// High qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, highp> highp_u32vec1; + + /// High qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, highp> highp_u32vec2; + + /// High qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, highp> highp_u32vec3; + + /// High qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, highp> highp_u32vec4; + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_u32vec1 u32vec1; + typedef lowp_u32vec2 u32vec2; + typedef lowp_u32vec3 u32vec3; + typedef lowp_u32vec4 u32vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef mediump_u32vec1 u32vec1; + typedef mediump_u32vec2 u32vec2; + typedef mediump_u32vec3 u32vec3; + typedef mediump_u32vec4 u32vec4; +#else + /// Default qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef highp_u32vec1 u32vec1; + + /// Default qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_u32vec2 u32vec2; + + /// Default qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_u32vec3 u32vec3; + + /// Default qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_u32vec4 u32vec4; +#endif + + + + /// Low qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, lowp> lowp_u64vec1; + + /// Low qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, lowp> lowp_u64vec2; + + /// Low qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, lowp> lowp_u64vec3; + + /// Low qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, lowp> lowp_u64vec4; + + + /// Medium qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, mediump> mediump_u64vec1; + + /// Medium qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, mediump> mediump_u64vec2; + + /// Medium qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, mediump> mediump_u64vec3; + + /// Medium qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, mediump> mediump_u64vec4; + + + /// High qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, highp> highp_u64vec1; + + /// High qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, highp> highp_u64vec2; + + /// High qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, highp> highp_u64vec3; + + /// High qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, highp> highp_u64vec4; + +#if(defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_u64vec1 u64vec1; + typedef lowp_u64vec2 u64vec2; + typedef lowp_u64vec3 u64vec3; + typedef lowp_u64vec4 u64vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) + typedef mediump_u64vec1 u64vec1; + typedef mediump_u64vec2 u64vec2; + typedef mediump_u64vec3 u64vec3; + typedef mediump_u64vec4 u64vec4; +#else + /// Default qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef highp_u64vec1 u64vec1; + + /// Default qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef highp_u64vec2 u64vec2; + + /// Default qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef highp_u64vec3 u64vec3; + + /// Default qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef highp_u64vec4 u64vec4; +#endif + + + ////////////////////// + // Float vector types + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 mediump_float32; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 mediump_float64; + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 mediump_float32_t; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 mediump_float64_t; + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 mediump_f32; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 mediump_f64; + + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 highp_float32; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 highp_float64; + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 highp_float32_t; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 highp_float64_t; + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 highp_f32; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 highp_f64; + + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float32 float32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float64 float64; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float32_t float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float64_t float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_f32 f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_f64 f64; + +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float32 float32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float64 float64; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float32 float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float64 float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float32 f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float64 f64; + +#else//(defined(GLM_PRECISION_HIGHP_FLOAT)) + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float32 float32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float64 float64; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float32_t float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float64_t float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float32_t f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float64_t f64; +#endif + + + /// Low single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, lowp> lowp_vec1; + + /// Low single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, float, lowp> lowp_vec2; + + /// Low single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, float, lowp> lowp_vec3; + + /// Low single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, float, lowp> lowp_vec4; + + /// Low single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, lowp> lowp_fvec1; + + /// Low single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, lowp> lowp_fvec2; + + /// Low single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, lowp> lowp_fvec3; + + /// Low single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, lowp> lowp_fvec4; + + + /// Medium single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, mediump> mediump_vec1; + + /// Medium Single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, float, mediump> mediump_vec2; + + /// Medium Single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, float, mediump> mediump_vec3; + + /// Medium Single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, float, mediump> mediump_vec4; + + /// Medium single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, mediump> mediump_fvec1; + + /// Medium Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, mediump> mediump_fvec2; + + /// Medium Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, mediump> mediump_fvec3; + + /// Medium Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, mediump> mediump_fvec4; + + + /// High single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, highp> highp_vec1; + + /// High Single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, float, highp> highp_vec2; + + /// High Single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, float, highp> highp_vec3; + + /// High Single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, float, highp> highp_vec4; + + /// High single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, highp> highp_fvec1; + + /// High Single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, float, highp> highp_fvec2; + + /// High Single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, float, highp> highp_fvec3; + + /// High Single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, float, highp> highp_fvec4; + + + /// Low single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, lowp> lowp_f32vec1; + + /// Low single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, f32, lowp> lowp_f32vec2; + + /// Low single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, f32, lowp> lowp_f32vec3; + + /// Low single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, f32, lowp> lowp_f32vec4; + + /// Medium single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, mediump> mediump_f32vec1; + + /// Medium single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, f32, mediump> mediump_f32vec2; + + /// Medium single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, f32, mediump> mediump_f32vec3; + + /// Medium single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, f32, mediump> mediump_f32vec4; + + /// High single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, highp> highp_f32vec1; + + /// High single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f32, highp> highp_f32vec2; + + /// High single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f32, highp> highp_f32vec3; + + /// High single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f32, highp> highp_f32vec4; + + + /// Low double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, lowp> lowp_f64vec1; + + /// Low double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, lowp> lowp_f64vec2; + + /// Low double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, lowp> lowp_f64vec3; + + /// Low double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, lowp> lowp_f64vec4; + + /// Medium double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, mediump> mediump_f64vec1; + + /// Medium double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, mediump> mediump_f64vec2; + + /// Medium double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, mediump> mediump_f64vec3; + + /// Medium double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, mediump> mediump_f64vec4; + + /// High double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, highp> highp_f64vec1; + + /// High double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, highp> highp_f64vec2; + + /// High double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, highp> highp_f64vec3; + + /// High double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, highp> highp_f64vec4; + + + ////////////////////// + // Float matrix types + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_f32 lowp_fmat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, lowp> lowp_fmat2x2; + + /// Low single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, lowp> lowp_fmat2x3; + + /// Low single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, lowp> lowp_fmat2x4; + + /// Low single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, lowp> lowp_fmat3x2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, lowp> lowp_fmat3x3; + + /// Low single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, lowp> lowp_fmat3x4; + + /// Low single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, lowp> lowp_fmat4x2; + + /// Low single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, lowp> lowp_fmat4x3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, lowp> lowp_fmat4x4; + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_fmat1x1 lowp_fmat1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_fmat2x2 lowp_fmat2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_fmat3x3 lowp_fmat3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_fmat4x4 lowp_fmat4; + + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_f32 mediump_fmat1x1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, mediump> mediump_fmat2x2; + + /// Medium single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, mediump> mediump_fmat2x3; + + /// Medium single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, mediump> mediump_fmat2x4; + + /// Medium single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, mediump> mediump_fmat3x2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, mediump> mediump_fmat3x3; + + /// Medium single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, mediump> mediump_fmat3x4; + + /// Medium single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, mediump> mediump_fmat4x2; + + /// Medium single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, mediump> mediump_fmat4x3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, mediump> mediump_fmat4x4; + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_fmat1x1 mediump_fmat1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_fmat2x2 mediump_fmat2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_fmat3x3 mediump_fmat3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_fmat4x4 mediump_fmat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_f32 highp_fmat1x1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, highp> highp_fmat2x2; + + /// High single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, highp> highp_fmat2x3; + + /// High single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, highp> highp_fmat2x4; + + /// High single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, highp> highp_fmat3x2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, highp> highp_fmat3x3; + + /// High single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, highp> highp_fmat3x4; + + /// High single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, highp> highp_fmat4x2; + + /// High single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, highp> highp_fmat4x3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, highp> highp_fmat4x4; + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_fmat1x1 highp_fmat1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_fmat2x2 highp_fmat2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_fmat3x3 highp_fmat3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_fmat4x4 highp_fmat4; + + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 lowp_f32mat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, lowp> lowp_f32mat2x2; + + /// Low single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, lowp> lowp_f32mat2x3; + + /// Low single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, lowp> lowp_f32mat2x4; + + /// Low single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, lowp> lowp_f32mat3x2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, lowp> lowp_f32mat3x3; + + /// Low single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, lowp> lowp_f32mat3x4; + + /// Low single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, lowp> lowp_f32mat4x2; + + /// Low single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, lowp> lowp_f32mat4x3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, lowp> lowp_f32mat4x4; + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 lowp_f32mat1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat2x2 lowp_f32mat2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat3x3 lowp_f32mat3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat4x4 lowp_f32mat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 mediump_f32mat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, mediump> mediump_f32mat2x2; + + /// Medium single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, mediump> mediump_f32mat2x3; + + /// Medium single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, mediump> mediump_f32mat2x4; + + /// Medium single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, mediump> mediump_f32mat3x2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, mediump> mediump_f32mat3x3; + + /// Medium single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, mediump> mediump_f32mat3x4; + + /// Medium single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, mediump> mediump_f32mat4x2; + + /// Medium single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, mediump> mediump_f32mat4x3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, mediump> mediump_f32mat4x4; + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat2x2 mediump_f32mat2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat3x3 mediump_f32mat3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat4x4 mediump_f32mat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 highp_f32mat1x1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, highp> highp_f32mat2x2; + + /// High single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, highp> highp_f32mat2x3; + + /// High single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, highp> highp_f32mat2x4; + + /// High single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, highp> highp_f32mat3x2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, highp> highp_f32mat3x3; + + /// High single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, highp> highp_f32mat3x4; + + /// High single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, highp> highp_f32mat4x2; + + /// High single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, highp> highp_f32mat4x3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, highp> highp_f32mat4x4; + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x2 highp_f32mat2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x3 highp_f32mat3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x4 highp_f32mat4; + + + /// Low double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 lowp_f64mat1x1; + + /// Low double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, lowp> lowp_f64mat2x2; + + /// Low double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, lowp> lowp_f64mat2x3; + + /// Low double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, lowp> lowp_f64mat2x4; + + /// Low double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, lowp> lowp_f64mat3x2; + + /// Low double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, lowp> lowp_f64mat3x3; + + /// Low double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, lowp> lowp_f64mat3x4; + + /// Low double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, lowp> lowp_f64mat4x2; + + /// Low double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, lowp> lowp_f64mat4x3; + + /// Low double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, lowp> lowp_f64mat4x4; + + /// Low double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_f64mat1x1 lowp_f64mat1; + + /// Low double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat2x2 lowp_f64mat2; + + /// Low double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat3x3 lowp_f64mat3; + + /// Low double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat4x4 lowp_f64mat4; + + + /// Medium double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 Highp_f64mat1x1; + + /// Medium double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, mediump> mediump_f64mat2x2; + + /// Medium double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, mediump> mediump_f64mat2x3; + + /// Medium double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, mediump> mediump_f64mat2x4; + + /// Medium double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, mediump> mediump_f64mat3x2; + + /// Medium double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, mediump> mediump_f64mat3x3; + + /// Medium double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, mediump> mediump_f64mat3x4; + + /// Medium double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, mediump> mediump_f64mat4x2; + + /// Medium double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, mediump> mediump_f64mat4x3; + + /// Medium double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, mediump> mediump_f64mat4x4; + + /// Medium double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_f64mat1x1 mediump_f64mat1; + + /// Medium double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat2x2 mediump_f64mat2; + + /// Medium double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat3x3 mediump_f64mat3; + + /// Medium double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat4x4 mediump_f64mat4; + + /// High double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 highp_f64mat1x1; + + /// High double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, highp> highp_f64mat2x2; + + /// High double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, highp> highp_f64mat2x3; + + /// High double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, highp> highp_f64mat2x4; + + /// High double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, highp> highp_f64mat3x2; + + /// High double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, highp> highp_f64mat3x3; + + /// High double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, highp> highp_f64mat3x4; + + /// High double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, highp> highp_f64mat4x2; + + /// High double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, highp> highp_f64mat4x3; + + /// High double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, highp> highp_f64mat4x4; + + /// High double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_f64mat1x1 highp_f64mat1; + + /// High double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f64mat2x2 highp_f64mat2; + + /// High double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f64mat3x3 highp_f64mat3; + + /// High double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f64mat4x4 highp_f64mat4; + + ////////////////////////// + // Quaternion types + + /// Low single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat lowp_f32quat; + + /// Low double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat lowp_f64quat; + + /// Medium single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat mediump_f32quat; + + /// Medium double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat mediump_f64quat; + + /// High single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat highp_f32quat; + + /// High double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat highp_f64quat; + + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_f32vec1 fvec1; + typedef lowp_f32vec2 fvec2; + typedef lowp_f32vec3 fvec3; + typedef lowp_f32vec4 fvec4; + typedef lowp_f32mat2 fmat2; + typedef lowp_f32mat3 fmat3; + typedef lowp_f32mat4 fmat4; + typedef lowp_f32mat2x2 fmat2x2; + typedef lowp_f32mat3x2 fmat3x2; + typedef lowp_f32mat4x2 fmat4x2; + typedef lowp_f32mat2x3 fmat2x3; + typedef lowp_f32mat3x3 fmat3x3; + typedef lowp_f32mat4x3 fmat4x3; + typedef lowp_f32mat2x4 fmat2x4; + typedef lowp_f32mat3x4 fmat3x4; + typedef lowp_f32mat4x4 fmat4x4; + typedef lowp_f32quat fquat; + + typedef lowp_f32vec1 f32vec1; + typedef lowp_f32vec2 f32vec2; + typedef lowp_f32vec3 f32vec3; + typedef lowp_f32vec4 f32vec4; + typedef lowp_f32mat2 f32mat2; + typedef lowp_f32mat3 f32mat3; + typedef lowp_f32mat4 f32mat4; + typedef lowp_f32mat2x2 f32mat2x2; + typedef lowp_f32mat3x2 f32mat3x2; + typedef lowp_f32mat4x2 f32mat4x2; + typedef lowp_f32mat2x3 f32mat2x3; + typedef lowp_f32mat3x3 f32mat3x3; + typedef lowp_f32mat4x3 f32mat4x3; + typedef lowp_f32mat2x4 f32mat2x4; + typedef lowp_f32mat3x4 f32mat3x4; + typedef lowp_f32mat4x4 f32mat4x4; + typedef lowp_f32quat f32quat; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef mediump_f32vec1 fvec1; + typedef mediump_f32vec2 fvec2; + typedef mediump_f32vec3 fvec3; + typedef mediump_f32vec4 fvec4; + typedef mediump_f32mat2 fmat2; + typedef mediump_f32mat3 fmat3; + typedef mediump_f32mat4 fmat4; + typedef mediump_f32mat2x2 fmat2x2; + typedef mediump_f32mat3x2 fmat3x2; + typedef mediump_f32mat4x2 fmat4x2; + typedef mediump_f32mat2x3 fmat2x3; + typedef mediump_f32mat3x3 fmat3x3; + typedef mediump_f32mat4x3 fmat4x3; + typedef mediump_f32mat2x4 fmat2x4; + typedef mediump_f32mat3x4 fmat3x4; + typedef mediump_f32mat4x4 fmat4x4; + typedef mediump_f32quat fquat; + + typedef mediump_f32vec1 f32vec1; + typedef mediump_f32vec2 f32vec2; + typedef mediump_f32vec3 f32vec3; + typedef mediump_f32vec4 f32vec4; + typedef mediump_f32mat2 f32mat2; + typedef mediump_f32mat3 f32mat3; + typedef mediump_f32mat4 f32mat4; + typedef mediump_f32mat2x2 f32mat2x2; + typedef mediump_f32mat3x2 f32mat3x2; + typedef mediump_f32mat4x2 f32mat4x2; + typedef mediump_f32mat2x3 f32mat2x3; + typedef mediump_f32mat3x3 f32mat3x3; + typedef mediump_f32mat4x3 f32mat4x3; + typedef mediump_f32mat2x4 f32mat2x4; + typedef mediump_f32mat3x4 f32mat3x4; + typedef mediump_f32mat4x4 f32mat4x4; + typedef mediump_f32quat f32quat; +#else//if(defined(GLM_PRECISION_HIGHP_FLOAT)) + /// Default single-qualifier floating-point vector of 1 components. + /// @see gtc_type_precision + typedef highp_f32vec1 fvec1; + + /// Default single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef highp_f32vec2 fvec2; + + /// Default single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef highp_f32vec3 fvec3; + + /// Default single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef highp_f32vec4 fvec4; + + /// Default single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x2 fmat2x2; + + /// Default single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x3 fmat2x3; + + /// Default single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x4 fmat2x4; + + /// Default single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x2 fmat3x2; + + /// Default single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x3 fmat3x3; + + /// Default single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x4 fmat3x4; + + /// Default single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x2 fmat4x2; + + /// Default single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x3 fmat4x3; + + /// Default single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x4 fmat4x4; + + /// Default single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef fmat2x2 fmat2; + + /// Default single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef fmat3x3 fmat3; + + /// Default single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef fmat4x4 fmat4; + + /// Default single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef highp_fquat fquat; + + + + /// Default single-qualifier floating-point vector of 1 components. + /// @see gtc_type_precision + typedef highp_f32vec1 f32vec1; + + /// Default single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef highp_f32vec2 f32vec2; + + /// Default single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef highp_f32vec3 f32vec3; + + /// Default single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef highp_f32vec4 f32vec4; + + /// Default single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x2 f32mat2x2; + + /// Default single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x3 f32mat2x3; + + /// Default single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x4 f32mat2x4; + + /// Default single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x2 f32mat3x2; + + /// Default single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x3 f32mat3x3; + + /// Default single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x4 f32mat3x4; + + /// Default single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x2 f32mat4x2; + + /// Default single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x3 f32mat4x3; + + /// Default single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x4 f32mat4x4; + + /// Default single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef f32mat2x2 f32mat2; + + /// Default single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef f32mat3x3 f32mat3; + + /// Default single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef f32mat4x4 f32mat4; + + /// Default single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef highp_f32quat f32quat; +#endif + +#if(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_f64vec1 f64vec1; + typedef lowp_f64vec2 f64vec2; + typedef lowp_f64vec3 f64vec3; + typedef lowp_f64vec4 f64vec4; + typedef lowp_f64mat2 f64mat2; + typedef lowp_f64mat3 f64mat3; + typedef lowp_f64mat4 f64mat4; + typedef lowp_f64mat2x2 f64mat2x2; + typedef lowp_f64mat3x2 f64mat3x2; + typedef lowp_f64mat4x2 f64mat4x2; + typedef lowp_f64mat2x3 f64mat2x3; + typedef lowp_f64mat3x3 f64mat3x3; + typedef lowp_f64mat4x3 f64mat4x3; + typedef lowp_f64mat2x4 f64mat2x4; + typedef lowp_f64mat3x4 f64mat3x4; + typedef lowp_f64mat4x4 f64mat4x4; + typedef lowp_f64quat f64quat; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef mediump_f64vec1 f64vec1; + typedef mediump_f64vec2 f64vec2; + typedef mediump_f64vec3 f64vec3; + typedef mediump_f64vec4 f64vec4; + typedef mediump_f64mat2 f64mat2; + typedef mediump_f64mat3 f64mat3; + typedef mediump_f64mat4 f64mat4; + typedef mediump_f64mat2x2 f64mat2x2; + typedef mediump_f64mat3x2 f64mat3x2; + typedef mediump_f64mat4x2 f64mat4x2; + typedef mediump_f64mat2x3 f64mat2x3; + typedef mediump_f64mat3x3 f64mat3x3; + typedef mediump_f64mat4x3 f64mat4x3; + typedef mediump_f64mat2x4 f64mat2x4; + typedef mediump_f64mat3x4 f64mat3x4; + typedef mediump_f64mat4x4 f64mat4x4; + typedef mediump_f64quat f64quat; +#else + /// Default double-qualifier floating-point vector of 1 components. + /// @see gtc_type_precision + typedef highp_f64vec1 f64vec1; + + /// Default double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef highp_f64vec2 f64vec2; + + /// Default double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef highp_f64vec3 f64vec3; + + /// Default double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef highp_f64vec4 f64vec4; + + /// Default double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f64mat2x2 f64mat2x2; + + /// Default double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef highp_f64mat2x3 f64mat2x3; + + /// Default double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef highp_f64mat2x4 f64mat2x4; + + /// Default double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef highp_f64mat3x2 f64mat3x2; + + /// Default double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f64mat3x3 f64mat3x3; + + /// Default double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef highp_f64mat3x4 f64mat3x4; + + /// Default double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef highp_f64mat4x2 f64mat4x2; + + /// Default double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef highp_f64mat4x3 f64mat4x3; + + /// Default double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f64mat4x4 f64mat4x4; + + /// Default double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef f64mat2x2 f64mat2; + + /// Default double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef f64mat3x3 f64mat3; + + /// Default double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef f64mat4x4 f64mat4; + + /// Default double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef highp_f64quat f64quat; +#endif + +}//namespace glm diff --git a/vendor/glm/geometric.hpp b/vendor/glm/geometric.hpp new file mode 100755 index 0000000000..e0380830e0 --- /dev/null +++ b/vendor/glm/geometric.hpp @@ -0,0 +1,116 @@ +/// @ref core +/// @file glm/geometric.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions +/// +/// @defgroup core_func_geometric Geometric functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// These operate on vectors as vectors, not component-wise. + +#pragma once + +#include "detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_func_geometric + /// @{ + + /// Returns the length of x, i.e., sqrt(x * x). + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL length man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T length(vec const& x); + + /// Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL distance man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T distance(vec const& p0, vec const& p1); + + /// Returns the dot product of x and y, i.e., result = x * y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL dot man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T dot(vec const& x, vec const& y); + + /// Returns the cross product of x and y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL cross man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + /// Returns a vector in the same direction as x but with length of 1. + /// According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefined and generate an error. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL normalize man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec normalize(vec const& x); + + /// If dot(Nref, I) < 0.0, return N, otherwise, return -N. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL faceforward man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec faceforward( + vec const& N, + vec const& I, + vec const& Nref); + + /// For the incident vector I and surface orientation N, + /// returns the reflection direction : result = I - 2.0 * dot(N, I) * N. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL reflect man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec reflect( + vec const& I, + vec const& N); + + /// For the incident vector I and surface normal N, + /// and the ratio of indices of refraction eta, + /// return the refraction vector. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL refract man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec refract( + vec const& I, + vec const& N, + T eta); + + /// @} +}//namespace glm + +#include "detail/func_geometric.inl" diff --git a/vendor/glm/glm.hpp b/vendor/glm/glm.hpp new file mode 100755 index 0000000000..cfd0ce275e --- /dev/null +++ b/vendor/glm/glm.hpp @@ -0,0 +1,126 @@ +/// @ref core +/// @file glm/glm.hpp +/// +/// @defgroup core Core features +/// +/// @brief Features that implement in C++ the GLSL specification as closely as possible. +/// +/// The GLM core consists of @ref core_types "C++ types that mirror GLSL types" and +/// C++ functions that mirror the GLSL functions. It also includes +/// @ref core_precision "a set of qualifier-based types" that can be used in the appropriate +/// functions. The C++ types are all based on a basic set of @ref core_template "template types". +/// +/// The best documentation for GLM Core is the current GLSL specification, +/// version 4.2 +/// (pdf file). +/// +/// GLM core functionalities require to be included to be used. +/// +/// @defgroup core_types Types +/// +/// @brief The standard types defined by the specification. +/// +/// These types are all typedefs of more generalized, template types. To see the definition +/// of these template types, go to @ref core_template. +/// +/// @ingroup core +/// +/// @defgroup core_precision Precision types +/// +/// @brief Non-GLSL types that are used to define qualifier-based types. +/// +/// The GLSL language allows the user to define the qualifier of a particular variable. +/// In OpenGL's GLSL, these qualifier qualifiers have no effect; they are there for compatibility +/// with OpenGL ES's qualifier qualifiers, where they @em do have an effect. +/// +/// C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing: +/// a number of typedefs of the @ref core_template that use a particular qualifier. +/// +/// None of these types make any guarantees about the actual qualifier used. +/// +/// @ingroup core +/// +/// @defgroup core_template Template types +/// +/// @brief The generic template types used as the basis for the core types. +/// +/// These types are all templates used to define the actual @ref core_types. +/// These templates are implementation details of GLM types and should not be used explicitly. +/// +/// @ingroup core +/// +/// @defgroup ext Stable extensions +/// +/// @brief Additional features not specified by GLSL specification. +/// +/// EXT extensions are fully tested and documented. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions at once by +/// including . Otherwise, each extension needs to be included a specific file. +/// +/// @defgroup gtc Recommended extensions +/// +/// @brief Additional features not specified by GLSL specification. +/// +/// GTC extensions aim to be stable with tests and documentation. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions at once by +/// including . Otherwise, each extension needs to be included a specific file. +/// +/// @defgroup gtx Experimental extensions +/// +/// @brief Experimental features not specified by GLSL specification. +/// +/// Experimental extensions are useful functions and types, but the development of +/// their API and functionality is not necessarily stable. They can change +/// substantially between versions. Backwards compatibility is not much of an issue +/// for them. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions +/// at once by including . Otherwise, each extension needs to be +/// included a specific file. +/// +/// @mainpage OpenGL Mathematics (GLM) +/// - Website: glm.g-truc.net +/// - GLM API documentation +/// - GLM Manual + +#include "detail/_fixes.hpp" + +#include "detail/setup.hpp" + +#pragma once + +#include +#include +#include +#include +#include +#include "fwd.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED) +# define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED +# pragma message("GLM: Core library included") +#endif//GLM_MESSAGES + +#include "vec2.hpp" +#include "vec3.hpp" +#include "vec4.hpp" +#include "mat2x2.hpp" +#include "mat2x3.hpp" +#include "mat2x4.hpp" +#include "mat3x2.hpp" +#include "mat3x3.hpp" +#include "mat3x4.hpp" +#include "mat4x2.hpp" +#include "mat4x3.hpp" +#include "mat4x4.hpp" + +#include "trigonometric.hpp" +#include "exponential.hpp" +#include "common.hpp" +#include "packing.hpp" +#include "geometric.hpp" +#include "matrix.hpp" +#include "vector_relational.hpp" +#include "integer.hpp" diff --git a/vendor/glm/gtc/bitfield.hpp b/vendor/glm/gtc/bitfield.hpp new file mode 100755 index 0000000000..9dcec53423 --- /dev/null +++ b/vendor/glm/gtc/bitfield.hpp @@ -0,0 +1,228 @@ +/// @ref gtc_bitfield +/// @file glm/gtc/bitfield.hpp +/// +/// @see core (dependence) +/// @see gtc_bitfield (dependence) +/// +/// @defgroup gtc_bitfield GLM_GTC_bitfield +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#include "../detail/setup.hpp" + +#pragma once + +// Dependencies +#include "../detail/qualifier.hpp" +#include "../detail/type_int.hpp" +#include "../detail/_vectorize.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_bitfield extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_bitfield + /// @{ + + /// Build a mask of 'count' bits + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType mask(genIUType Bits); + + /// Build a mask of 'count' bits + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec mask(vec const& v); + + /// Rotate all bits to the right. All the bits dropped in the right side are inserted back on the left side. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift); + + /// Rotate all bits to the right. All the bits dropped in the right side are inserted back on the left side. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldRotateRight(vec const& In, int Shift); + + /// Rotate all bits to the left. All the bits dropped in the left side are inserted back on the right side. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift); + + /// Rotate all bits to the left. All the bits dropped in the left side are inserted back on the right side. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldRotateLeft(vec const& In, int Shift); + + /// Set to 1 a range of bits. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount); + + /// Set to 1 a range of bits. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldFillOne(vec const& Value, int FirstBit, int BitCount); + + /// Set to 0 a range of bits. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount); + + /// Set to 0 a range of bits. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldFillZero(vec const& Value, int FirstBit, int BitCount); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w); + + /// @} +} //namespace glm + +#include "bitfield.inl" diff --git a/vendor/glm/gtc/bitfield.inl b/vendor/glm/gtc/bitfield.inl new file mode 100755 index 0000000000..97357408aa --- /dev/null +++ b/vendor/glm/gtc/bitfield.inl @@ -0,0 +1,515 @@ +/// @ref gtc_bitfield +/// @file glm/gtc/bitfield.inl + +#include "../simd/integer.h" + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y); + + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y, PARAM z); + + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y, PARAM z, PARAM w); + + template<> + GLM_FUNC_QUALIFIER glm::uint16 bitfieldInterleave(glm::uint8 x, glm::uint8 y) + { + glm::uint16 REG1(x); + glm::uint16 REG2(y); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x3333); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x3333); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x5555); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x5555); + + return REG1 | static_cast(REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint16 x, glm::uint16 y) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x00FF00FF); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x00FF00FF); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F0F0F); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F0F0F); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x33333333); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x33333333); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x55555555); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x55555555); + + return REG1 | (REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x0000FFFF0000FFFFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x0000FFFF0000FFFFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x00FF00FF00FF00FFull); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x00FF00FF00FF00FFull); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F0F0F0F0F0F0Full); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F0F0F0F0F0F0Full); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x3333333333333333ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x3333333333333333ull); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x5555555555555555ull); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x5555555555555555ull); + + return REG1 | (REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + glm::uint32 REG3(z); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0xFF0000FFu); + REG2 = ((REG2 << 16) | REG2) & static_cast(0xFF0000FFu); + REG3 = ((REG3 << 16) | REG3) & static_cast(0xFF0000FFu); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x0F00F00Fu); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x0F00F00Fu); + REG3 = ((REG3 << 8) | REG3) & static_cast(0x0F00F00Fu); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0xC30C30C3u); + REG2 = ((REG2 << 4) | REG2) & static_cast(0xC30C30C3u); + REG3 = ((REG3 << 4) | REG3) & static_cast(0xC30C30C3u); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x49249249u); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x49249249u); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x49249249u); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + + REG1 = ((REG1 << 32) | REG1) & static_cast(0xFFFF00000000FFFFull); + REG2 = ((REG2 << 32) | REG2) & static_cast(0xFFFF00000000FFFFull); + REG3 = ((REG3 << 32) | REG3) & static_cast(0xFFFF00000000FFFFull); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x00FF0000FF0000FFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x00FF0000FF0000FFull); + REG3 = ((REG3 << 16) | REG3) & static_cast(0x00FF0000FF0000FFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0xF00F00F00F00F00Full); + REG2 = ((REG2 << 8) | REG2) & static_cast(0xF00F00F00F00F00Full); + REG3 = ((REG3 << 8) | REG3) & static_cast(0xF00F00F00F00F00Full); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x30C30C30C30C30C3ull); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x30C30C30C30C30C3ull); + REG3 = ((REG3 << 4) | REG3) & static_cast(0x30C30C30C30C30C3ull); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x9249249249249249ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x9249249249249249ull); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x9249249249249249ull); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y, glm::uint32 z) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + + REG1 = ((REG1 << 32) | REG1) & static_cast(0xFFFF00000000FFFFull); + REG2 = ((REG2 << 32) | REG2) & static_cast(0xFFFF00000000FFFFull); + REG3 = ((REG3 << 32) | REG3) & static_cast(0xFFFF00000000FFFFull); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x00FF0000FF0000FFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x00FF0000FF0000FFull); + REG3 = ((REG3 << 16) | REG3) & static_cast(0x00FF0000FF0000FFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0xF00F00F00F00F00Full); + REG2 = ((REG2 << 8) | REG2) & static_cast(0xF00F00F00F00F00Full); + REG3 = ((REG3 << 8) | REG3) & static_cast(0xF00F00F00F00F00Full); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x30C30C30C30C30C3ull); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x30C30C30C30C30C3ull); + REG3 = ((REG3 << 4) | REG3) & static_cast(0x30C30C30C30C30C3ull); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x9249249249249249ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x9249249249249249ull); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x9249249249249249ull); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z, glm::uint8 w) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + glm::uint32 REG3(z); + glm::uint32 REG4(w); + + REG1 = ((REG1 << 12) | REG1) & static_cast(0x000F000Fu); + REG2 = ((REG2 << 12) | REG2) & static_cast(0x000F000Fu); + REG3 = ((REG3 << 12) | REG3) & static_cast(0x000F000Fu); + REG4 = ((REG4 << 12) | REG4) & static_cast(0x000F000Fu); + + REG1 = ((REG1 << 6) | REG1) & static_cast(0x03030303u); + REG2 = ((REG2 << 6) | REG2) & static_cast(0x03030303u); + REG3 = ((REG3 << 6) | REG3) & static_cast(0x03030303u); + REG4 = ((REG4 << 6) | REG4) & static_cast(0x03030303u); + + REG1 = ((REG1 << 3) | REG1) & static_cast(0x11111111u); + REG2 = ((REG2 << 3) | REG2) & static_cast(0x11111111u); + REG3 = ((REG3 << 3) | REG3) & static_cast(0x11111111u); + REG4 = ((REG4 << 3) | REG4) & static_cast(0x11111111u); + + return REG1 | (REG2 << 1) | (REG3 << 2) | (REG4 << 3); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z, glm::uint16 w) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + glm::uint64 REG4(w); + + REG1 = ((REG1 << 24) | REG1) & static_cast(0x000000FF000000FFull); + REG2 = ((REG2 << 24) | REG2) & static_cast(0x000000FF000000FFull); + REG3 = ((REG3 << 24) | REG3) & static_cast(0x000000FF000000FFull); + REG4 = ((REG4 << 24) | REG4) & static_cast(0x000000FF000000FFull); + + REG1 = ((REG1 << 12) | REG1) & static_cast(0x000F000F000F000Full); + REG2 = ((REG2 << 12) | REG2) & static_cast(0x000F000F000F000Full); + REG3 = ((REG3 << 12) | REG3) & static_cast(0x000F000F000F000Full); + REG4 = ((REG4 << 12) | REG4) & static_cast(0x000F000F000F000Full); + + REG1 = ((REG1 << 6) | REG1) & static_cast(0x0303030303030303ull); + REG2 = ((REG2 << 6) | REG2) & static_cast(0x0303030303030303ull); + REG3 = ((REG3 << 6) | REG3) & static_cast(0x0303030303030303ull); + REG4 = ((REG4 << 6) | REG4) & static_cast(0x0303030303030303ull); + + REG1 = ((REG1 << 3) | REG1) & static_cast(0x1111111111111111ull); + REG2 = ((REG2 << 3) | REG2) & static_cast(0x1111111111111111ull); + REG3 = ((REG3 << 3) | REG3) & static_cast(0x1111111111111111ull); + REG4 = ((REG4 << 3) | REG4) & static_cast(0x1111111111111111ull); + + return REG1 | (REG2 << 1) | (REG3 << 2) | (REG4 << 3); + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER genIUType mask(genIUType Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'mask' accepts only integer values"); + + return Bits >= sizeof(genIUType) * 8 ? ~static_cast(0) : (static_cast(1) << Bits) - static_cast(1); + } + + template + GLM_FUNC_QUALIFIER vec mask(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'mask' accepts only integer values"); + + return detail::functor1::call(mask, v); + } + + template + GLM_FUNC_QUALIFIER genIType bitfieldRotateRight(genIType In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateRight' accepts only integer values"); + + int const BitSize = static_cast(sizeof(genIType) * 8); + return (In << static_cast(Shift)) | (In >> static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldRotateRight(vec const& In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateRight' accepts only integer values"); + + int const BitSize = static_cast(sizeof(T) * 8); + return (In << static_cast(Shift)) | (In >> static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER genIType bitfieldRotateLeft(genIType In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateLeft' accepts only integer values"); + + int const BitSize = static_cast(sizeof(genIType) * 8); + return (In >> static_cast(Shift)) | (In << static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldRotateLeft(vec const& In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateLeft' accepts only integer values"); + + int const BitSize = static_cast(sizeof(T) * 8); + return (In >> static_cast(Shift)) | (In << static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount) + { + return Value | static_cast(mask(BitCount) << FirstBit); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldFillOne(vec const& Value, int FirstBit, int BitCount) + { + return Value | static_cast(mask(BitCount) << FirstBit); + } + + template + GLM_FUNC_QUALIFIER genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount) + { + return Value & static_cast(~(mask(BitCount) << FirstBit)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldFillZero(vec const& Value, int FirstBit, int BitCount) + { + return Value & static_cast(~(mask(BitCount) << FirstBit)); + } + + GLM_FUNC_QUALIFIER int16 bitfieldInterleave(int8 x, int8 y) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y; + + union sign16 + { + int16 i; + uint16 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint16 bitfieldInterleave(uint8 x, uint8 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int16 x, int16 y) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint16 x, uint16 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y) + { + union sign32 + { + int32 i; + uint32 u; + } sign_x, sign_y; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y, sign_z; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y, sign_z; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y, int32 z) + { + union sign16 + { + int32 i; + uint32 u; + } sign_x, sign_y, sign_z; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y, sign_z, sign_w; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + sign_w.i = w; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u, sign_w.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w) + { + return detail::bitfieldInterleave(x, y, z, w); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y, sign_z, sign_w; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + sign_w.i = w; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u, sign_w.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w) + { + return detail::bitfieldInterleave(x, y, z, w); + } +}//namespace glm diff --git a/vendor/glm/gtc/color_space.hpp b/vendor/glm/gtc/color_space.hpp new file mode 100755 index 0000000000..56cbc8fc6c --- /dev/null +++ b/vendor/glm/gtc/color_space.hpp @@ -0,0 +1,56 @@ +/// @ref gtc_color_space +/// @file glm/gtc/color_space.hpp +/// +/// @see core (dependence) +/// @see gtc_color_space (dependence) +/// +/// @defgroup gtc_color_space GLM_GTC_color_space +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../exponential.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_color_space extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_color_space + /// @{ + + /// Convert a linear color to sRGB color using a standard gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertLinearToSRGB(vec const& ColorLinear); + + /// Convert a linear color to sRGB color using a custom gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertLinearToSRGB(vec const& ColorLinear, T Gamma); + + /// Convert a sRGB color to linear color using a standard gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertSRGBToLinear(vec const& ColorSRGB); + + /// Convert a sRGB color to linear color using a custom gamma correction. + // IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertSRGBToLinear(vec const& ColorSRGB, T Gamma); + + /// @} +} //namespace glm + +#include "color_space.inl" diff --git a/vendor/glm/gtc/color_space.inl b/vendor/glm/gtc/color_space.inl new file mode 100755 index 0000000000..53241ac099 --- /dev/null +++ b/vendor/glm/gtc/color_space.inl @@ -0,0 +1,85 @@ +/// @ref gtc_color_space +/// @file glm/gtc/color_space.inl + +namespace glm{ +namespace detail +{ + template + struct compute_rgbToSrgb + { + GLM_FUNC_QUALIFIER static vec call(vec const& ColorRGB, T GammaCorrection) + { + vec const ClampedColor(clamp(ColorRGB, static_cast(0), static_cast(1))); + + return mix( + pow(ClampedColor, vec(GammaCorrection)) * static_cast(1.055) - static_cast(0.055), + ClampedColor * static_cast(12.92), + lessThan(ClampedColor, vec(static_cast(0.0031308)))); + } + }; + + template + struct compute_rgbToSrgb<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& ColorRGB, T GammaCorrection) + { + return vec<4, T, Q>(compute_rgbToSrgb<3, T, Q>::call(vec<3, T, Q>(ColorRGB), GammaCorrection), ColorRGB.w); + } + }; + + template + struct compute_srgbToRgb + { + GLM_FUNC_QUALIFIER static vec call(vec const& ColorSRGB, T Gamma) + { + return mix( + pow((ColorSRGB + static_cast(0.055)) * static_cast(0.94786729857819905213270142180095), vec(Gamma)), + ColorSRGB * static_cast(0.07739938080495356037151702786378), + lessThanEqual(ColorSRGB, vec(static_cast(0.04045)))); + } + }; + + template + struct compute_srgbToRgb<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& ColorSRGB, T Gamma) + { + return vec<4, T, Q>(compute_srgbToRgb<3, T, Q>::call(vec<3, T, Q>(ColorSRGB), Gamma), ColorSRGB.w); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER vec convertLinearToSRGB(vec const& ColorLinear) + { + return detail::compute_rgbToSrgb::call(ColorLinear, static_cast(0.41666)); + } + + // Based on Ian Taylor http://chilliant.blogspot.fr/2012/08/srgb-approximations-for-hlsl.html + template<> + GLM_FUNC_QUALIFIER vec<3, float, lowp> convertLinearToSRGB(vec<3, float, lowp> const& ColorLinear) + { + vec<3, float, lowp> S1 = sqrt(ColorLinear); + vec<3, float, lowp> S2 = sqrt(S1); + vec<3, float, lowp> S3 = sqrt(S2); + return 0.662002687f * S1 + 0.684122060f * S2 - 0.323583601f * S3 - 0.0225411470f * ColorLinear; + } + + template + GLM_FUNC_QUALIFIER vec convertLinearToSRGB(vec const& ColorLinear, T Gamma) + { + return detail::compute_rgbToSrgb::call(ColorLinear, static_cast(1) / Gamma); + } + + template + GLM_FUNC_QUALIFIER vec convertSRGBToLinear(vec const& ColorSRGB) + { + return detail::compute_srgbToRgb::call(ColorSRGB, static_cast(2.4)); + } + + template + GLM_FUNC_QUALIFIER vec convertSRGBToLinear(vec const& ColorSRGB, T Gamma) + { + return detail::compute_srgbToRgb::call(ColorSRGB, Gamma); + } +}//namespace glm diff --git a/vendor/glm/gtc/constants.hpp b/vendor/glm/gtc/constants.hpp new file mode 100755 index 0000000000..f55f619038 --- /dev/null +++ b/vendor/glm/gtc/constants.hpp @@ -0,0 +1,175 @@ +/// @ref gtc_constants +/// @file glm/gtc/constants.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_constants GLM_GTC_constants +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Provide a list of constants and precomputed useful values. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_constants extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_constants + /// @{ + + /// Return the epsilon constant for floating point types. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon(); + + /// Return 0. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType zero(); + + /// Return 1. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one(); + + /// Return the pi constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType pi(); + + /// Return pi * 2. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi(); + + /// Return square root of pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi(); + + /// Return pi / 2. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi(); + + /// Return pi / 2 * 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi(); + + /// Return pi / 4. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi(); + + /// Return 1 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi(); + + /// Return 1 / (pi * 2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi(); + + /// Return 2 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi(); + + /// Return 4 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi(); + + /// Return 2 / sqrt(pi). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi(); + + /// Return 1 / sqrt(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two(); + + /// Return sqrt(pi / 2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi(); + + /// Return sqrt(2 * pi). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi(); + + /// Return sqrt(ln(4)). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four(); + + /// Return e constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType e(); + + /// Return Euler's constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType euler(); + + /// Return sqrt(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_two(); + + /// Return sqrt(3). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_three(); + + /// Return sqrt(5). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_five(); + + /// Return ln(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two(); + + /// Return ln(10). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten(); + + /// Return ln(ln(2)). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two(); + + /// Return 1 / 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType third(); + + /// Return 2 / 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds(); + + /// Return the golden ratio constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio(); + + /// @} +} //namespace glm + +#include "constants.inl" diff --git a/vendor/glm/gtc/constants.inl b/vendor/glm/gtc/constants.inl new file mode 100755 index 0000000000..b1d277c4bf --- /dev/null +++ b/vendor/glm/gtc/constants.inl @@ -0,0 +1,181 @@ +/// @ref gtc_constants +/// @file glm/gtc/constants.inl + +#include + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon() + { + return std::numeric_limits::epsilon(); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType zero() + { + return genType(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one() + { + return genType(1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi() + { + return genType(3.14159265358979323846264338327950288); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_pi() + { + return genType(6.28318530717958647692528676655900576); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_pi() + { + return genType(1.772453850905516027); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType half_pi() + { + return genType(1.57079632679489661923132169163975144); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType three_over_two_pi() + { + return genType(4.71238898038468985769396507491925432); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType quarter_pi() + { + return genType(0.785398163397448309615660845819875721); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_pi() + { + return genType(0.318309886183790671537767526745028724); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_two_pi() + { + return genType(0.159154943091895335768883763372514362); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_pi() + { + return genType(0.636619772367581343075535053490057448); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType four_over_pi() + { + return genType(1.273239544735162686151070106980114898); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_root_pi() + { + return genType(1.12837916709551257389615890312154517); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_root_two() + { + return genType(0.707106781186547524400844362104849039); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_half_pi() + { + return genType(1.253314137315500251); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two_pi() + { + return genType(2.506628274631000502); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_ln_four() + { + return genType(1.17741002251547469); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType e() + { + return genType(2.71828182845904523536); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType euler() + { + return genType(0.577215664901532860606); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two() + { + return genType(1.41421356237309504880168872420969808); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_three() + { + return genType(1.73205080756887729352744634150587236); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_five() + { + return genType(2.23606797749978969640917366873127623); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_two() + { + return genType(0.693147180559945309417232121458176568); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ten() + { + return genType(2.30258509299404568401799145468436421); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ln_two() + { + return genType(-0.3665129205816643); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType third() + { + return genType(0.3333333333333333333333333333333333333333); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_thirds() + { + return genType(0.666666666666666666666666666666666666667); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType golden_ratio() + { + return genType(1.61803398874989484820458683436563811); + } +} //namespace glm diff --git a/vendor/glm/gtc/epsilon.hpp b/vendor/glm/gtc/epsilon.hpp new file mode 100755 index 0000000000..dce03ef718 --- /dev/null +++ b/vendor/glm/gtc/epsilon.hpp @@ -0,0 +1,60 @@ +/// @ref gtc_epsilon +/// @file glm/gtc/epsilon.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_epsilon GLM_GTC_epsilon +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Comparison functions for a user defined epsilon values. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_epsilon extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_epsilon + /// @{ + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL vec epsilonEqual(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL bool epsilonEqual(genType const& x, genType const& y, genType const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is not satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL vec epsilonNotEqual(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL bool epsilonNotEqual(genType const& x, genType const& y, genType const& epsilon); + + /// @} +}//namespace glm + +#include "epsilon.inl" diff --git a/vendor/glm/gtc/epsilon.inl b/vendor/glm/gtc/epsilon.inl new file mode 100755 index 0000000000..2478cabd95 --- /dev/null +++ b/vendor/glm/gtc/epsilon.inl @@ -0,0 +1,83 @@ +/// @ref gtc_epsilon +/// @file glm/gtc/epsilon.inl + +// Dependency: +#include "quaternion.hpp" +#include "../vector_relational.hpp" +#include "../common.hpp" +#include "../detail/type_vec.hpp" + +namespace glm +{ + template<> + GLM_FUNC_QUALIFIER bool epsilonEqual + ( + float const& x, + float const& y, + float const& epsilon + ) + { + return abs(x - y) < epsilon; + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonEqual + ( + double const& x, + double const& y, + double const& epsilon + ) + { + return abs(x - y) < epsilon; + } + + template + GLM_FUNC_QUALIFIER vec epsilonEqual(vec const& x, vec const& y, T const& epsilon) + { + return lessThan(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec epsilonEqual(vec const& x, vec const& y, vec const& epsilon) + { + return lessThan(abs(x - y), vec(epsilon)); + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonNotEqual(float const& x, float const& y, float const& epsilon) + { + return abs(x - y) >= epsilon; + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonNotEqual(double const& x, double const& y, double const& epsilon) + { + return abs(x - y) >= epsilon; + } + + template + GLM_FUNC_QUALIFIER vec epsilonNotEqual(vec const& x, vec const& y, T const& epsilon) + { + return greaterThanEqual(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec epsilonNotEqual(vec const& x, vec const& y, vec const& epsilon) + { + return greaterThanEqual(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> epsilonEqual(tquat const& x, tquat const& y, T const& epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return lessThan(abs(v), vec<4, T, Q>(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> epsilonNotEqual(tquat const& x, tquat const& y, T const& epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return greaterThanEqual(abs(v), vec<4, T, Q>(epsilon)); + } +}//namespace glm diff --git a/vendor/glm/gtc/integer.hpp b/vendor/glm/gtc/integer.hpp new file mode 100755 index 0000000000..1d28c32c1c --- /dev/null +++ b/vendor/glm/gtc/integer.hpp @@ -0,0 +1,65 @@ +/// @ref gtc_integer +/// @file glm/gtc/integer.hpp +/// +/// @see core (dependence) +/// @see gtc_integer (dependence) +/// +/// @defgroup gtc_integer GLM_GTC_integer +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../common.hpp" +#include "../integer.hpp" +#include "../exponential.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_integer + /// @{ + + /// Returns the log2 of x for integer values. Can be reliably using to compute mipmap count from the texture size. + /// @see gtc_integer + template + GLM_FUNC_DECL genIUType log2(genIUType x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// + /// @param x The values of the argument must be greater or equal to zero. + /// @tparam T floating point scalar types. + /// + /// @see GLSL round man page + /// @see gtc_integer + template + GLM_FUNC_DECL vec iround(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// + /// @param x The values of the argument must be greater or equal to zero. + /// @tparam T floating point scalar types. + /// + /// @see GLSL round man page + /// @see gtc_integer + template + GLM_FUNC_DECL vec uround(vec const& x); + + /// @} +} //namespace glm + +#include "integer.inl" diff --git a/vendor/glm/gtc/integer.inl b/vendor/glm/gtc/integer.inl new file mode 100755 index 0000000000..9d4b618538 --- /dev/null +++ b/vendor/glm/gtc/integer.inl @@ -0,0 +1,69 @@ +/// @ref gtc_integer +/// @file glm/gtc/integer.inl + +namespace glm{ +namespace detail +{ + template + struct compute_log2 + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + //Equivalent to return findMSB(vec); but save one function call in ASM with VC + //return findMSB(vec); + return vec(detail::compute_findMSB_vec::call(v)); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + struct compute_log2<4, int, Q, false, Aligned> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v) + { + vec<4, int, Q> Result; + _BitScanReverse(reinterpret_cast(&Result.x), v.x); + _BitScanReverse(reinterpret_cast(&Result.y), v.y); + _BitScanReverse(reinterpret_cast(&Result.z), v.z); + _BitScanReverse(reinterpret_cast(&Result.w), v.w); + return Result; + } + }; +# endif//GLM_HAS_BITSCAN_WINDOWS +}//namespace detail + template + GLM_FUNC_QUALIFIER int iround(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'iround' only accept floating-point inputs"); + assert(static_cast(0.0) <= x); + + return static_cast(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER vec iround(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'iround' only accept floating-point inputs"); + assert(all(lessThanEqual(vec(0), x))); + + return vec(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER uint uround(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'uround' only accept floating-point inputs"); + assert(static_cast(0.0) <= x); + + return static_cast(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER vec uround(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'uround' only accept floating-point inputs"); + assert(all(lessThanEqual(vec(0), x))); + + return vec(x + static_cast(0.5)); + } +}//namespace glm diff --git a/vendor/glm/gtc/matrix_access.hpp b/vendor/glm/gtc/matrix_access.hpp new file mode 100755 index 0000000000..3a67cff6b4 --- /dev/null +++ b/vendor/glm/gtc/matrix_access.hpp @@ -0,0 +1,60 @@ +/// @ref gtc_matrix_access +/// @file glm/gtc/matrix_access.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_access GLM_GTC_matrix_access +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines functions to access rows or columns of a matrix easily. + +#pragma once + +// Dependency: +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_access extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_access + /// @{ + + /// Get a specific row of a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL typename genType::row_type row( + genType const& m, + length_t index); + + /// Set a specific row to a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL genType row( + genType const& m, + length_t index, + typename genType::row_type const& x); + + /// Get a specific column of a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL typename genType::col_type column( + genType const& m, + length_t index); + + /// Set a specific column to a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL genType column( + genType const& m, + length_t index, + typename genType::col_type const& x); + + /// @} +}//namespace glm + +#include "matrix_access.inl" diff --git a/vendor/glm/gtc/matrix_access.inl b/vendor/glm/gtc/matrix_access.inl new file mode 100755 index 0000000000..176136ab40 --- /dev/null +++ b/vendor/glm/gtc/matrix_access.inl @@ -0,0 +1,63 @@ +/// @ref gtc_matrix_access +/// @file glm/gtc/matrix_access.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType row + ( + genType const& m, + length_t index, + typename genType::row_type const& x + ) + { + assert(index >= 0 && index < m[0].length()); + + genType Result = m; + for(length_t i = 0; i < m.length(); ++i) + Result[i][index] = x[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER typename genType::row_type row + ( + genType const& m, + length_t index + ) + { + assert(index >= 0 && index < m[0].length()); + + typename genType::row_type Result(0); + for(length_t i = 0; i < m.length(); ++i) + Result[i] = m[i][index]; + return Result; + } + + template + GLM_FUNC_QUALIFIER genType column + ( + genType const& m, + length_t index, + typename genType::col_type const& x + ) + { + assert(index >= 0 && index < m.length()); + + genType Result = m; + Result[index] = x; + return Result; + } + + template + GLM_FUNC_QUALIFIER typename genType::col_type column + ( + genType const& m, + length_t index + ) + { + assert(index >= 0 && index < m.length()); + + return m[index]; + } +}//namespace glm diff --git a/vendor/glm/gtc/matrix_integer.hpp b/vendor/glm/gtc/matrix_integer.hpp new file mode 100755 index 0000000000..59aec12eae --- /dev/null +++ b/vendor/glm/gtc/matrix_integer.hpp @@ -0,0 +1,487 @@ +/// @ref gtc_matrix_integer +/// @file glm/gtc/matrix_integer.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines a number of matrices with integer types. + +#pragma once + +// Dependency: +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_integer + /// @{ + + /// High-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, highp> highp_imat2; + + /// High-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, highp> highp_imat3; + + /// High-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, highp> highp_imat4; + + /// High-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, highp> highp_imat2x2; + + /// High-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, highp> highp_imat2x3; + + /// High-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, highp> highp_imat2x4; + + /// High-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, highp> highp_imat3x2; + + /// High-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, highp> highp_imat3x3; + + /// High-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, highp> highp_imat3x4; + + /// High-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, highp> highp_imat4x2; + + /// High-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, highp> highp_imat4x3; + + /// High-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, highp> highp_imat4x4; + + + /// Medium-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, mediump> mediump_imat2; + + /// Medium-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, mediump> mediump_imat3; + + /// Medium-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, mediump> mediump_imat4; + + + /// Medium-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, mediump> mediump_imat2x2; + + /// Medium-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, mediump> mediump_imat2x3; + + /// Medium-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, mediump> mediump_imat2x4; + + /// Medium-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, mediump> mediump_imat3x2; + + /// Medium-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, mediump> mediump_imat3x3; + + /// Medium-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, mediump> mediump_imat3x4; + + /// Medium-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, mediump> mediump_imat4x2; + + /// Medium-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, mediump> mediump_imat4x3; + + /// Medium-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, mediump> mediump_imat4x4; + + + /// Low-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, lowp> lowp_imat2; + + /// Low-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, lowp> lowp_imat3; + + /// Low-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, lowp> lowp_imat4; + + + /// Low-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, lowp> lowp_imat2x2; + + /// Low-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, lowp> lowp_imat2x3; + + /// Low-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, lowp> lowp_imat2x4; + + /// Low-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, lowp> lowp_imat3x2; + + /// Low-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, lowp> lowp_imat3x3; + + /// Low-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, lowp> lowp_imat3x4; + + /// Low-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, lowp> lowp_imat4x2; + + /// Low-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, lowp> lowp_imat4x3; + + /// Low-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, lowp> lowp_imat4x4; + + + /// High-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, highp> highp_umat2; + + /// High-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, highp> highp_umat3; + + /// High-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, highp> highp_umat4; + + /// High-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, highp> highp_umat2x2; + + /// High-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, highp> highp_umat2x3; + + /// High-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, highp> highp_umat2x4; + + /// High-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, highp> highp_umat3x2; + + /// High-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, highp> highp_umat3x3; + + /// High-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, highp> highp_umat3x4; + + /// High-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, highp> highp_umat4x2; + + /// High-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, highp> highp_umat4x3; + + /// High-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, highp> highp_umat4x4; + + + /// Medium-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, mediump> mediump_umat2; + + /// Medium-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, mediump> mediump_umat3; + + /// Medium-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, mediump> mediump_umat4; + + + /// Medium-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, mediump> mediump_umat2x2; + + /// Medium-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, mediump> mediump_umat2x3; + + /// Medium-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, mediump> mediump_umat2x4; + + /// Medium-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, mediump> mediump_umat3x2; + + /// Medium-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, mediump> mediump_umat3x3; + + /// Medium-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, mediump> mediump_umat3x4; + + /// Medium-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, mediump> mediump_umat4x2; + + /// Medium-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, mediump> mediump_umat4x3; + + /// Medium-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, mediump> mediump_umat4x4; + + + /// Low-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, lowp> lowp_umat2; + + /// Low-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, lowp> lowp_umat3; + + /// Low-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, lowp> lowp_umat4; + + + /// Low-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, lowp> lowp_umat2x2; + + /// Low-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, lowp> lowp_umat2x3; + + /// Low-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, lowp> lowp_umat2x4; + + /// Low-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, lowp> lowp_umat3x2; + + /// Low-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, lowp> lowp_umat3x3; + + /// Low-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, lowp> lowp_umat3x4; + + /// Low-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, lowp> lowp_umat4x2; + + /// Low-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, lowp> lowp_umat4x3; + + /// Low-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, lowp> lowp_umat4x4; + +#if(defined(GLM_PRECISION_HIGHP_INT)) + typedef highp_imat2 imat2; + typedef highp_imat3 imat3; + typedef highp_imat4 imat4; + typedef highp_imat2x2 imat2x2; + typedef highp_imat2x3 imat2x3; + typedef highp_imat2x4 imat2x4; + typedef highp_imat3x2 imat3x2; + typedef highp_imat3x3 imat3x3; + typedef highp_imat3x4 imat3x4; + typedef highp_imat4x2 imat4x2; + typedef highp_imat4x3 imat4x3; + typedef highp_imat4x4 imat4x4; +#elif(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_imat2 imat2; + typedef lowp_imat3 imat3; + typedef lowp_imat4 imat4; + typedef lowp_imat2x2 imat2x2; + typedef lowp_imat2x3 imat2x3; + typedef lowp_imat2x4 imat2x4; + typedef lowp_imat3x2 imat3x2; + typedef lowp_imat3x3 imat3x3; + typedef lowp_imat3x4 imat3x4; + typedef lowp_imat4x2 imat4x2; + typedef lowp_imat4x3 imat4x3; + typedef lowp_imat4x4 imat4x4; +#else //if(defined(GLM_PRECISION_MEDIUMP_INT)) + + /// Signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2 imat2; + + /// Signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3 imat3; + + /// Signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4 imat4; + + /// Signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x2 imat2x2; + + /// Signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x3 imat2x3; + + /// Signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x4 imat2x4; + + /// Signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x2 imat3x2; + + /// Signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x3 imat3x3; + + /// Signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x4 imat3x4; + + /// Signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x2 imat4x2; + + /// Signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x3 imat4x3; + + /// Signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x4 imat4x4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_UINT)) + typedef highp_umat2 umat2; + typedef highp_umat3 umat3; + typedef highp_umat4 umat4; + typedef highp_umat2x2 umat2x2; + typedef highp_umat2x3 umat2x3; + typedef highp_umat2x4 umat2x4; + typedef highp_umat3x2 umat3x2; + typedef highp_umat3x3 umat3x3; + typedef highp_umat3x4 umat3x4; + typedef highp_umat4x2 umat4x2; + typedef highp_umat4x3 umat4x3; + typedef highp_umat4x4 umat4x4; +#elif(defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_umat2 umat2; + typedef lowp_umat3 umat3; + typedef lowp_umat4 umat4; + typedef lowp_umat2x2 umat2x2; + typedef lowp_umat2x3 umat2x3; + typedef lowp_umat2x4 umat2x4; + typedef lowp_umat3x2 umat3x2; + typedef lowp_umat3x3 umat3x3; + typedef lowp_umat3x4 umat3x4; + typedef lowp_umat4x2 umat4x2; + typedef lowp_umat4x3 umat4x3; + typedef lowp_umat4x4 umat4x4; +#else //if(defined(GLM_PRECISION_MEDIUMP_UINT)) + + /// Unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2 umat2; + + /// Unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3 umat3; + + /// Unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4 umat4; + + /// Unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x2 umat2x2; + + /// Unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x3 umat2x3; + + /// Unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x4 umat2x4; + + /// Unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x2 umat3x2; + + /// Unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x3 umat3x3; + + /// Unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x4 umat3x4; + + /// Unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x2 umat4x2; + + /// Unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x3 umat4x3; + + /// Unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x4 umat4x4; +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/vendor/glm/gtc/matrix_inverse.hpp b/vendor/glm/gtc/matrix_inverse.hpp new file mode 100755 index 0000000000..97e8d89b79 --- /dev/null +++ b/vendor/glm/gtc/matrix_inverse.hpp @@ -0,0 +1,50 @@ +/// @ref gtc_matrix_inverse +/// @file glm/gtc/matrix_inverse.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines additional matrix inverting functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../matrix.hpp" +#include "../mat2x2.hpp" +#include "../mat3x3.hpp" +#include "../mat4x4.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_inverse extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_inverse + /// @{ + + /// Fast matrix inverse for affine matrix. + /// + /// @param m Input matrix to invert. + /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate. + /// @see gtc_matrix_inverse + template + GLM_FUNC_DECL genType affineInverse(genType const& m); + + /// Compute the inverse transpose of a matrix. + /// + /// @param m Input matrix to invert transpose. + /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate. + /// @see gtc_matrix_inverse + template + GLM_FUNC_DECL genType inverseTranspose(genType const& m); + + /// @} +}//namespace glm + +#include "matrix_inverse.inl" diff --git a/vendor/glm/gtc/matrix_inverse.inl b/vendor/glm/gtc/matrix_inverse.inl new file mode 100755 index 0000000000..592e690a03 --- /dev/null +++ b/vendor/glm/gtc/matrix_inverse.inl @@ -0,0 +1,120 @@ +/// @ref gtc_matrix_inverse +/// @file glm/gtc/matrix_inverse.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> affineInverse(mat<3, 3, T, Q> const& m) + { + mat<2, 2, T, Q> const Inv(inverse(mat<2, 2, T, Q>(m))); + + return mat<3, 3, T, Q>( + vec<3, T, Q>(Inv[0], static_cast(0)), + vec<3, T, Q>(Inv[1], static_cast(0)), + vec<3, T, Q>(-Inv * vec<2, T, Q>(m[2]), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> affineInverse(mat<4, 4, T, Q> const& m) + { + mat<3, 3, T, Q> const Inv(inverse(mat<3, 3, T, Q>(m))); + + return mat<4, 4, T, Q>( + vec<4, T, Q>(Inv[0], static_cast(0)), + vec<4, T, Q>(Inv[1], static_cast(0)), + vec<4, T, Q>(Inv[2], static_cast(0)), + vec<4, T, Q>(-Inv * vec<3, T, Q>(m[3]), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> inverseTranspose(mat<2, 2, T, Q> const& m) + { + T Determinant = m[0][0] * m[1][1] - m[1][0] * m[0][1]; + + mat<2, 2, T, Q> Inverse( + + m[1][1] / Determinant, + - m[0][1] / Determinant, + - m[1][0] / Determinant, + + m[0][0] / Determinant); + + return Inverse; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> inverseTranspose(mat<3, 3, T, Q> const& m) + { + T Determinant = + + m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) + - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) + + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]); + + mat<3, 3, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]); + Inverse[0][1] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]); + Inverse[0][2] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]); + Inverse[1][0] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]); + Inverse[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]); + Inverse[1][2] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]); + Inverse[2][0] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]); + Inverse[2][1] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]); + Inverse[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]); + Inverse /= Determinant; + + return Inverse; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> inverseTranspose(mat<4, 4, T, Q> const& m) + { + T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + T SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + T SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + T SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + T SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + T SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + T SubFactor11 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + T SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + T SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + T SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + T SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + T SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + T SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + T SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + mat<4, 4, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02); + Inverse[0][1] = - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04); + Inverse[0][2] = + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05); + Inverse[0][3] = - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05); + + Inverse[1][0] = - (m[0][1] * SubFactor00 - m[0][2] * SubFactor01 + m[0][3] * SubFactor02); + Inverse[1][1] = + (m[0][0] * SubFactor00 - m[0][2] * SubFactor03 + m[0][3] * SubFactor04); + Inverse[1][2] = - (m[0][0] * SubFactor01 - m[0][1] * SubFactor03 + m[0][3] * SubFactor05); + Inverse[1][3] = + (m[0][0] * SubFactor02 - m[0][1] * SubFactor04 + m[0][2] * SubFactor05); + + Inverse[2][0] = + (m[0][1] * SubFactor06 - m[0][2] * SubFactor07 + m[0][3] * SubFactor08); + Inverse[2][1] = - (m[0][0] * SubFactor06 - m[0][2] * SubFactor09 + m[0][3] * SubFactor10); + Inverse[2][2] = + (m[0][0] * SubFactor11 - m[0][1] * SubFactor09 + m[0][3] * SubFactor12); + Inverse[2][3] = - (m[0][0] * SubFactor08 - m[0][1] * SubFactor10 + m[0][2] * SubFactor12); + + Inverse[3][0] = - (m[0][1] * SubFactor13 - m[0][2] * SubFactor14 + m[0][3] * SubFactor15); + Inverse[3][1] = + (m[0][0] * SubFactor13 - m[0][2] * SubFactor16 + m[0][3] * SubFactor17); + Inverse[3][2] = - (m[0][0] * SubFactor14 - m[0][1] * SubFactor16 + m[0][3] * SubFactor18); + Inverse[3][3] = + (m[0][0] * SubFactor15 - m[0][1] * SubFactor17 + m[0][2] * SubFactor18); + + T Determinant = + + m[0][0] * Inverse[0][0] + + m[0][1] * Inverse[0][1] + + m[0][2] * Inverse[0][2] + + m[0][3] * Inverse[0][3]; + + Inverse /= Determinant; + + return Inverse; + } +}//namespace glm diff --git a/vendor/glm/gtc/matrix_transform.hpp b/vendor/glm/gtc/matrix_transform.hpp new file mode 100755 index 0000000000..a9d5cd0d08 --- /dev/null +++ b/vendor/glm/gtc/matrix_transform.hpp @@ -0,0 +1,727 @@ +/// @ref gtc_matrix_transform +/// @file glm/gtc/matrix_transform.hpp +/// +/// @see core (dependence) +/// @see gtx_transform +/// @see gtx_transform2 +/// +/// @defgroup gtc_matrix_transform GLM_GTC_matrix_transform +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines functions that generate common transformation matrices. +/// +/// The matrices generated by this extension use standard OpenGL fixed-function +/// conventions. For example, the lookAt function generates a transform from world +/// space into the specific eye space that the projective matrix functions +/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility +/// specifications defines the particular layout of this eye space. + +#pragma once + +// Dependencies +#include "../mat4x4.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/constants.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_transform extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_transform + /// @{ + + /// Builds a translation 4 * 4 matrix created from a vector of 3 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a translation vector. + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @code + /// #include + /// #include + /// ... + /// glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f)); + /// // m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f + /// // m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f + /// // m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f + /// // m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f + /// @endcode + /// @see gtc_matrix_transform + /// @see - translate(mat<4, 4, T, Q> const& m, T x, T y, T z) + /// @see - translate(vec<3, T, Q> const& v) + /// @see glTranslate man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> translate( + mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v); + + /// Builds a rotation 4 * 4 matrix created from an axis vector and an angle. + /// + /// @param m Input matrix multiplied by this rotation matrix. + /// @param angle Rotation angle expressed in radians. + /// @param axis Rotation axis, recommended to be normalized. + /// @tparam T Value type used to build the matrix. Supported: half, float or double. + /// @see gtc_matrix_transform + /// @see - rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z) + /// @see - rotate(T angle, vec<3, T, Q> const& v) + /// @see glRotate man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotate( + mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& axis); + + /// Builds a scale 4 * 4 matrix created from 3 scalars. + /// + /// @param m Input matrix multiplied by this scale matrix. + /// @param v Ratio of scaling for each axis. + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - scale(mat<4, 4, T, Q> const& m, T x, T y, T z) + /// @see - scale(vec<3, T, Q> const& v) + /// @see glScale man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> scale( + mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v); + + /// Creates a matrix for projecting two-dimensional coordinates onto the screen. + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top, T const& zNear, T const& zFar) + /// @see gluOrtho2D man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho( + T left, T right, T bottom, T top); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_ZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_NO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_ZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_NO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoNO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + /// @see glOrtho man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a left handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_ZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a left handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_NO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_ZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_NO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumNO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a left handed frustum matrix. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see glFrustum man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustum( + T left, T right, T bottom, T top, T near, T far); + + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_ZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_NO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_ZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_NO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveNO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param fovy Specifies the field of view angle in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + /// @see gluPerspective man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspective( + T fovy, T aspect, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_ZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_NO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_ZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_NO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovNO( + T fov, T width, T height, T near, T far); + + /// Builds a right handed perspective projection matrix based on a field of view. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH( + T fov, T width, T height, T near, T far); + + /// Builds a left handed perspective projection matrix based on a field of view. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFov( + T fov, T width, T height, T near, T far); + + /// Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveLH( + T fovy, T aspect, T near); + + /// Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveRH( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspective( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param ep Epsilon + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// @see gtc_matrix_transform + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective( + T fovy, T aspect, T near, T ep); + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> projectZO( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> projectNO( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. + /// To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> project( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProjectZO( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProjectNO( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. + /// To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProject( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Define a picking region + /// + /// @param center Specify the center of a picking region in window coordinates. + /// @param delta Specify the width and height, respectively, of the picking region in window coordinates. + /// @param viewport Rendering viewport + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// @see gtc_matrix_transform + /// @see gluPickMatrix man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> pickMatrix( + vec<2, T, Q> const& center, vec<2, T, Q> const& delta, vec<4, U, Q> const& viewport); + + /// Build a right handed look at view matrix. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// @see gtc_matrix_transform + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAtRH( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// Build a left handed look at view matrix. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// @see gtc_matrix_transform + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAtLH( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// Build a look at view matrix based on the default handedness. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// @see gtc_matrix_transform + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + /// @see gluLookAt man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAt( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// @} +}//namespace glm + +#include "matrix_transform.inl" diff --git a/vendor/glm/gtc/matrix_transform.inl b/vendor/glm/gtc/matrix_transform.inl new file mode 100755 index 0000000000..12623d79db --- /dev/null +++ b/vendor/glm/gtc/matrix_transform.inl @@ -0,0 +1,808 @@ +/// @ref gtc_matrix_transform +/// @file glm/gtc/matrix_transform.inl + +#include "../geometric.hpp" +#include "../trigonometric.hpp" +#include "../matrix.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result(m); + Result[3] = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& v) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + vec<3, T, Q> axis(normalize(v)); + vec<3, T, Q> temp((T(1) - c) * axis); + + mat<4, 4, T, Q> Rotate; + Rotate[0][0] = c + temp[0] * axis[0]; + Rotate[0][1] = temp[0] * axis[1] + s * axis[2]; + Rotate[0][2] = temp[0] * axis[2] - s * axis[1]; + + Rotate[1][0] = temp[1] * axis[0] - s * axis[2]; + Rotate[1][1] = c + temp[1] * axis[1]; + Rotate[1][2] = temp[1] * axis[2] + s * axis[0]; + + Rotate[2][0] = temp[2] * axis[0] + s * axis[1]; + Rotate[2][1] = temp[2] * axis[1] - s * axis[0]; + Rotate[2][2] = c + temp[2] * axis[2]; + + mat<4, 4, T, Q> Result; + Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate_slow(mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& v) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + mat<4, 4, T, Q> Result; + + vec<3, T, Q> axis = normalize(v); + + Result[0][0] = c + (static_cast(1) - c) * axis.x * axis.x; + Result[0][1] = (static_cast(1) - c) * axis.x * axis.y + s * axis.z; + Result[0][2] = (static_cast(1) - c) * axis.x * axis.z - s * axis.y; + Result[0][3] = static_cast(0); + + Result[1][0] = (static_cast(1) - c) * axis.y * axis.x - s * axis.z; + Result[1][1] = c + (static_cast(1) - c) * axis.y * axis.y; + Result[1][2] = (static_cast(1) - c) * axis.y * axis.z + s * axis.x; + Result[1][3] = static_cast(0); + + Result[2][0] = (static_cast(1) - c) * axis.z * axis.x + s * axis.y; + Result[2][1] = (static_cast(1) - c) * axis.z * axis.y - s * axis.x; + Result[2][2] = c + (static_cast(1) - c) * axis.z * axis.z; + Result[2][3] = static_cast(0); + + Result[3] = vec<4, T, Q>(0, 0, 0, 1); + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result; + Result[0] = m[0] * v[0]; + Result[1] = m[1] * v[1]; + Result[2] = m[2] * v[2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale_slow(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result(T(1)); + Result[0][0] = v.x; + Result[1][1] = v.y; + Result[2][2] = v.z; + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> ortho(T left, T right, T bottom, T top) + { + mat<4, 4, T, defaultp> Result(static_cast(1)); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH_ZO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = static_cast(1) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - zNear / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH_NO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = static_cast(2) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - (zFar + zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH_ZO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = - static_cast(1) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - zNear / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH_NO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = - static_cast(2) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - (zFar + zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoZO(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoNO(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> ortho(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH_ZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = farVal / (farVal - nearVal); + Result[2][3] = static_cast(1); + Result[3][2] = -(farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH_NO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = (farVal + nearVal) / (farVal - nearVal); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH_ZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = farVal / (nearVal - farVal); + Result[2][3] = static_cast(-1); + Result[3][2] = -(farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH_NO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = - (farVal + nearVal) / (farVal - nearVal); + Result[2][3] = static_cast(-1); + Result[3][2] = - (static_cast(2) * farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumNO(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustum(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# elif GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH_ZO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = zFar / (zNear - zFar); + Result[2][3] = - static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH_NO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = - (zFar + zNear) / (zFar - zNear); + Result[2][3] = - static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH_ZO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = zFar / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH_NO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = (zFar + zNear) / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveZO(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveNO(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspective(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH_ZO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = zFar / (zNear - zFar); + Result[2][3] = - static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH_NO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = - (zFar + zNear) / (zFar - zNear); + Result[2][3] = - static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH_ZO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = zFar / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH_NO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = (zFar + zNear) / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovZO(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovNO(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFov(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# elif GLM_COORDINATE_SYSTEM == GLM_RIGHT_HANDED && GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_NEGATIVE_ONE_TO_ONE + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspectiveRH(T fovy, T aspect, T zNear) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = - static_cast(1); + Result[2][3] = - static_cast(1); + Result[3][2] = - static_cast(2) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspectiveLH(T fovy, T aspect, T zNear) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(T(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = static_cast(1); + Result[2][3] = static_cast(1); + Result[3][2] = - static_cast(2) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspective(T fovy, T aspect, T zNear) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return infinitePerspectiveLH(fovy, aspect, zNear); +# else + return infinitePerspectiveRH(fovy, aspect, zNear); +# endif + } + + // Infinite projection matrix: http://www.terathon.com/gdc07_lengyel.pdf + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> tweakedInfinitePerspective(T fovy, T aspect, T zNear, T ep) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = ep - static_cast(1); + Result[2][3] = static_cast(-1); + Result[3][2] = (ep - static_cast(2)) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> tweakedInfinitePerspective(T fovy, T aspect, T zNear) + { + return tweakedInfinitePerspective(fovy, aspect, zNear, epsilon()); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> projectZO(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + vec<4, T, Q> tmp = vec<4, T, Q>(obj, static_cast(1)); + tmp = model * tmp; + tmp = proj * tmp; + + tmp /= tmp.w; + tmp.x = tmp.x * static_cast(0.5) + static_cast(0.5); + tmp.y = tmp.y * static_cast(0.5) + static_cast(0.5); + + tmp[0] = tmp[0] * T(viewport[2]) + T(viewport[0]); + tmp[1] = tmp[1] * T(viewport[3]) + T(viewport[1]); + + return vec<3, T, Q>(tmp); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> projectNO(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + vec<4, T, Q> tmp = vec<4, T, Q>(obj, static_cast(1)); + tmp = model * tmp; + tmp = proj * tmp; + + tmp /= tmp.w; + tmp = tmp * static_cast(0.5) + static_cast(0.5); + tmp[0] = tmp[0] * T(viewport[2]) + T(viewport[0]); + tmp[1] = tmp[1] * T(viewport[3]) + T(viewport[1]); + + return vec<3, T, Q>(tmp); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> project(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return projectZO(obj, model, proj, viewport); +# else + return projectNO(obj, model, proj, viewport); +# endif + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProjectZO(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + mat<4, 4, T, Q> Inverse = inverse(proj * model); + + vec<4, T, Q> tmp = vec<4, T, Q>(win, T(1)); + tmp.x = (tmp.x - T(viewport[0])) / T(viewport[2]); + tmp.y = (tmp.y - T(viewport[1])) / T(viewport[3]); + tmp.x = tmp.x * static_cast(2) - static_cast(1); + tmp.y = tmp.y * static_cast(2) - static_cast(1); + + vec<4, T, Q> obj = Inverse * tmp; + obj /= obj.w; + + return vec<3, T, Q>(obj); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProjectNO(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + mat<4, 4, T, Q> Inverse = inverse(proj * model); + + vec<4, T, Q> tmp = vec<4, T, Q>(win, T(1)); + tmp.x = (tmp.x - T(viewport[0])) / T(viewport[2]); + tmp.y = (tmp.y - T(viewport[1])) / T(viewport[3]); + tmp = tmp * static_cast(2) - static_cast(1); + + vec<4, T, Q> obj = Inverse * tmp; + obj /= obj.w; + + return vec<3, T, Q>(obj); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProject(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { +# if GLM_DEPTH_CLIP_SPACE == GLM_DEPTH_ZERO_TO_ONE + return unProjectZO(win, model, proj, viewport); +# else + return unProjectNO(win, model, proj, viewport); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> pickMatrix(vec<2, T, Q> const& center, vec<2, T, Q> const& delta, vec<4, U, Q> const& viewport) + { + assert(delta.x > static_cast(0) && delta.y > static_cast(0)); + mat<4, 4, T, Q> Result(static_cast(1)); + + if(!(delta.x > static_cast(0) && delta.y > static_cast(0))) + return Result; // Error + + vec<3, T, Q> Temp( + (static_cast(viewport[2]) - static_cast(2) * (center.x - static_cast(viewport[0]))) / delta.x, + (static_cast(viewport[3]) - static_cast(2) * (center.y - static_cast(viewport[1]))) / delta.y, + static_cast(0)); + + // Translate and scale the picked region to the entire window + Result = translate(Result, Temp); + return scale(Result, vec<3, T, Q>(static_cast(viewport[2]) / delta.x, static_cast(viewport[3]) / delta.y, static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAtRH(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { + vec<3, T, Q> const f(normalize(center - eye)); + vec<3, T, Q> const s(normalize(cross(f, up))); + vec<3, T, Q> const u(cross(s, f)); + + mat<4, 4, T, Q> Result(1); + Result[0][0] = s.x; + Result[1][0] = s.y; + Result[2][0] = s.z; + Result[0][1] = u.x; + Result[1][1] = u.y; + Result[2][1] = u.z; + Result[0][2] =-f.x; + Result[1][2] =-f.y; + Result[2][2] =-f.z; + Result[3][0] =-dot(s, eye); + Result[3][1] =-dot(u, eye); + Result[3][2] = dot(f, eye); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAtLH(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { + vec<3, T, Q> const f(normalize(center - eye)); + vec<3, T, Q> const s(normalize(cross(up, f))); + vec<3, T, Q> const u(cross(f, s)); + + mat<4, 4, T, Q> Result(1); + Result[0][0] = s.x; + Result[1][0] = s.y; + Result[2][0] = s.z; + Result[0][1] = u.x; + Result[1][1] = u.y; + Result[2][1] = u.z; + Result[0][2] = f.x; + Result[1][2] = f.y; + Result[2][2] = f.z; + Result[3][0] = -dot(s, eye); + Result[3][1] = -dot(u, eye); + Result[3][2] = -dot(f, eye); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAt(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return lookAtLH(eye, center, up); +# else + return lookAtRH(eye, center, up); +# endif + } +}//namespace glm diff --git a/vendor/glm/gtc/noise.hpp b/vendor/glm/gtc/noise.hpp new file mode 100755 index 0000000000..7b1ca40d46 --- /dev/null +++ b/vendor/glm/gtc/noise.hpp @@ -0,0 +1,61 @@ +/// @ref gtc_noise +/// @file glm/gtc/noise.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_noise GLM_GTC_noise +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines 2D, 3D and 4D procedural noise functions +/// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": +/// https://github.com/ashima/webgl-noise +/// Following Stefan Gustavson's paper "Simplex noise demystified": +/// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_noise.hpp" +#include "../geometric.hpp" +#include "../common.hpp" +#include "../vector_relational.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_noise extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_noise + /// @{ + + /// Classic perlin noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T perlin( + vec const& p); + + /// Periodic perlin noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T perlin( + vec const& p, + vec const& rep); + + /// Simplex noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T simplex( + vec const& p); + + /// @} +}//namespace glm + +#include "noise.inl" diff --git a/vendor/glm/gtc/noise.inl b/vendor/glm/gtc/noise.inl new file mode 100755 index 0000000000..00a80ab029 --- /dev/null +++ b/vendor/glm/gtc/noise.inl @@ -0,0 +1,808 @@ +/// @ref gtc_noise +/// @file glm/gtc/noise.inl +/// +// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": +// https://github.com/ashima/webgl-noise +// Following Stefan Gustavson's paper "Simplex noise demystified": +// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf + +namespace glm{ +namespace gtc +{ + template + GLM_FUNC_QUALIFIER vec<4, T, Q> grad4(T const& j, vec<4, T, Q> const& ip) + { + vec<3, T, Q> pXYZ = floor(fract(vec<3, T, Q>(j) * vec<3, T, Q>(ip)) * T(7)) * ip[2] - T(1); + T pW = static_cast(1.5) - dot(abs(pXYZ), vec<3, T, Q>(1)); + vec<4, T, Q> s = vec<4, T, Q>(lessThan(vec<4, T, Q>(pXYZ, pW), vec<4, T, Q>(0.0))); + pXYZ = pXYZ + (vec<3, T, Q>(s) * T(2) - T(1)) * s.w; + return vec<4, T, Q>(pXYZ, pW); + } +}//namespace gtc + + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<2, T, Q> const& Position) + { + vec<4, T, Q> Pi = glm::floor(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) + vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + vec<4, T, Q> Pf = glm::fract(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) - vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, vec<4, T, Q>(289)); // To avoid truncation effects in permutation + vec<4, T, Q> ix(Pi.x, Pi.z, Pi.x, Pi.z); + vec<4, T, Q> iy(Pi.y, Pi.y, Pi.w, Pi.w); + vec<4, T, Q> fx(Pf.x, Pf.z, Pf.x, Pf.z); + vec<4, T, Q> fy(Pf.y, Pf.y, Pf.w, Pf.w); + + vec<4, T, Q> i = detail::permute(detail::permute(ix) + iy); + + vec<4, T, Q> gx = static_cast(2) * glm::fract(i / T(41)) - T(1); + vec<4, T, Q> gy = glm::abs(gx) - T(0.5); + vec<4, T, Q> tx = glm::floor(gx + T(0.5)); + gx = gx - tx; + + vec<2, T, Q> g00(gx.x, gy.x); + vec<2, T, Q> g10(gx.y, gy.y); + vec<2, T, Q> g01(gx.z, gy.z); + vec<2, T, Q> g11(gx.w, gy.w); + + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + T n00 = dot(g00, vec<2, T, Q>(fx.x, fy.x)); + T n10 = dot(g10, vec<2, T, Q>(fx.y, fy.y)); + T n01 = dot(g01, vec<2, T, Q>(fx.z, fy.z)); + T n11 = dot(g11, vec<2, T, Q>(fx.w, fy.w)); + + vec<2, T, Q> fade_xy = detail::fade(vec<2, T, Q>(Pf.x, Pf.y)); + vec<2, T, Q> n_x = mix(vec<2, T, Q>(n00, n01), vec<2, T, Q>(n10, n11), fade_xy.x); + T n_xy = mix(n_x.x, n_x.y, fade_xy.y); + return T(2.3) * n_xy; + } + + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& Position) + { + vec<3, T, Q> Pi0 = floor(Position); // Integer part for indexing + vec<3, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = detail::mod289(Pi0); + Pi1 = detail::mod289(Pi1); + vec<3, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(vec<2, T, Q>(Pi0.y), vec<2, T, Q>(Pi1.y)); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 * T(1.0 / 7.0); + vec<4, T, Q> gy0 = fract(floor(gx0) * T(1.0 / 7.0)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0.0)); + gx0 -= sz0 * (step(T(0), gx0) - T(0.5)); + gy0 -= sz0 * (step(T(0), gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 * T(1.0 / 7.0); + vec<4, T, Q> gy1 = fract(floor(gx1) * T(1.0 / 7.0)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(0.0)); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = detail::fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix(vec<2, T, Q>(n_z.x, n_z.y), vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + /* + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& P) + { + vec<3, T, Q> Pi0 = floor(P); // Integer part for indexing + vec<3, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = mod(Pi0, T(289)); + Pi1 = mod(Pi1, T(289)); + vec<3, T, Q> Pf0 = fract(P); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = permute(permute(ix) + iy); + vec<4, T, Q> ixy0 = permute(ixy + iz0); + vec<4, T, Q> ixy1 = permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 / T(7); + vec<4, T, Q> gy0 = fract(floor(gx0) / T(7)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0.0)); + gx0 -= sz0 * (step(0.0, gx0) - T(0.5)); + gy0 -= sz0 * (step(0.0, gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 / T(7); + vec<4, T, Q> gy1 = fract(floor(gx1) / T(7)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(0.0)); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix( + vec<2, T, Q>(n_z.x, n_z.y), + vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + */ + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<4, T, Q> const& Position) + { + vec<4, T, Q> Pi0 = floor(Position); // Integer part for indexing + vec<4, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = mod(Pi0, vec<4, T, Q>(289)); + Pi1 = mod(Pi1, vec<4, T, Q>(289)); + vec<4, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<4, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + vec<4, T, Q> iw0(Pi0.w); + vec<4, T, Q> iw1(Pi1.w); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + vec<4, T, Q> ixy00 = detail::permute(ixy0 + iw0); + vec<4, T, Q> ixy01 = detail::permute(ixy0 + iw1); + vec<4, T, Q> ixy10 = detail::permute(ixy1 + iw0); + vec<4, T, Q> ixy11 = detail::permute(ixy1 + iw1); + + vec<4, T, Q> gx00 = ixy00 / T(7); + vec<4, T, Q> gy00 = floor(gx00) / T(7); + vec<4, T, Q> gz00 = floor(gy00) / T(6); + gx00 = fract(gx00) - T(0.5); + gy00 = fract(gy00) - T(0.5); + gz00 = fract(gz00) - T(0.5); + vec<4, T, Q> gw00 = vec<4, T, Q>(0.75) - abs(gx00) - abs(gy00) - abs(gz00); + vec<4, T, Q> sw00 = step(gw00, vec<4, T, Q>(0.0)); + gx00 -= sw00 * (step(T(0), gx00) - T(0.5)); + gy00 -= sw00 * (step(T(0), gy00) - T(0.5)); + + vec<4, T, Q> gx01 = ixy01 / T(7); + vec<4, T, Q> gy01 = floor(gx01) / T(7); + vec<4, T, Q> gz01 = floor(gy01) / T(6); + gx01 = fract(gx01) - T(0.5); + gy01 = fract(gy01) - T(0.5); + gz01 = fract(gz01) - T(0.5); + vec<4, T, Q> gw01 = vec<4, T, Q>(0.75) - abs(gx01) - abs(gy01) - abs(gz01); + vec<4, T, Q> sw01 = step(gw01, vec<4, T, Q>(0.0)); + gx01 -= sw01 * (step(T(0), gx01) - T(0.5)); + gy01 -= sw01 * (step(T(0), gy01) - T(0.5)); + + vec<4, T, Q> gx10 = ixy10 / T(7); + vec<4, T, Q> gy10 = floor(gx10) / T(7); + vec<4, T, Q> gz10 = floor(gy10) / T(6); + gx10 = fract(gx10) - T(0.5); + gy10 = fract(gy10) - T(0.5); + gz10 = fract(gz10) - T(0.5); + vec<4, T, Q> gw10 = vec<4, T, Q>(0.75) - abs(gx10) - abs(gy10) - abs(gz10); + vec<4, T, Q> sw10 = step(gw10, vec<4, T, Q>(0)); + gx10 -= sw10 * (step(T(0), gx10) - T(0.5)); + gy10 -= sw10 * (step(T(0), gy10) - T(0.5)); + + vec<4, T, Q> gx11 = ixy11 / T(7); + vec<4, T, Q> gy11 = floor(gx11) / T(7); + vec<4, T, Q> gz11 = floor(gy11) / T(6); + gx11 = fract(gx11) - T(0.5); + gy11 = fract(gy11) - T(0.5); + gz11 = fract(gz11) - T(0.5); + vec<4, T, Q> gw11 = vec<4, T, Q>(0.75) - abs(gx11) - abs(gy11) - abs(gz11); + vec<4, T, Q> sw11 = step(gw11, vec<4, T, Q>(0.0)); + gx11 -= sw11 * (step(T(0), gx11) - T(0.5)); + gy11 -= sw11 * (step(T(0), gy11) - T(0.5)); + + vec<4, T, Q> g0000(gx00.x, gy00.x, gz00.x, gw00.x); + vec<4, T, Q> g1000(gx00.y, gy00.y, gz00.y, gw00.y); + vec<4, T, Q> g0100(gx00.z, gy00.z, gz00.z, gw00.z); + vec<4, T, Q> g1100(gx00.w, gy00.w, gz00.w, gw00.w); + vec<4, T, Q> g0010(gx10.x, gy10.x, gz10.x, gw10.x); + vec<4, T, Q> g1010(gx10.y, gy10.y, gz10.y, gw10.y); + vec<4, T, Q> g0110(gx10.z, gy10.z, gz10.z, gw10.z); + vec<4, T, Q> g1110(gx10.w, gy10.w, gz10.w, gw10.w); + vec<4, T, Q> g0001(gx01.x, gy01.x, gz01.x, gw01.x); + vec<4, T, Q> g1001(gx01.y, gy01.y, gz01.y, gw01.y); + vec<4, T, Q> g0101(gx01.z, gy01.z, gz01.z, gw01.z); + vec<4, T, Q> g1101(gx01.w, gy01.w, gz01.w, gw01.w); + vec<4, T, Q> g0011(gx11.x, gy11.x, gz11.x, gw11.x); + vec<4, T, Q> g1011(gx11.y, gy11.y, gz11.y, gw11.y); + vec<4, T, Q> g0111(gx11.z, gy11.z, gz11.z, gw11.z); + vec<4, T, Q> g1111(gx11.w, gy11.w, gz11.w, gw11.w); + + vec<4, T, Q> norm00 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100))); + g0000 *= norm00.x; + g0100 *= norm00.y; + g1000 *= norm00.z; + g1100 *= norm00.w; + + vec<4, T, Q> norm01 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101))); + g0001 *= norm01.x; + g0101 *= norm01.y; + g1001 *= norm01.z; + g1101 *= norm01.w; + + vec<4, T, Q> norm10 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110))); + g0010 *= norm10.x; + g0110 *= norm10.y; + g1010 *= norm10.z; + g1110 *= norm10.w; + + vec<4, T, Q> norm11 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111))); + g0011 *= norm11.x; + g0111 *= norm11.y; + g1011 *= norm11.z; + g1111 *= norm11.w; + + T n0000 = dot(g0000, Pf0); + T n1000 = dot(g1000, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf0.w)); + T n0100 = dot(g0100, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf0.w)); + T n1100 = dot(g1100, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf0.w)); + T n0010 = dot(g0010, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf0.w)); + T n1010 = dot(g1010, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf0.w)); + T n0110 = dot(g0110, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf0.w)); + T n1110 = dot(g1110, vec<4, T, Q>(Pf1.x, Pf1.y, Pf1.z, Pf0.w)); + T n0001 = dot(g0001, vec<4, T, Q>(Pf0.x, Pf0.y, Pf0.z, Pf1.w)); + T n1001 = dot(g1001, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf1.w)); + T n0101 = dot(g0101, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf1.w)); + T n1101 = dot(g1101, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf1.w)); + T n0011 = dot(g0011, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf1.w)); + T n1011 = dot(g1011, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf1.w)); + T n0111 = dot(g0111, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf1.w)); + T n1111 = dot(g1111, Pf1); + + vec<4, T, Q> fade_xyzw = detail::fade(Pf0); + vec<4, T, Q> n_0w = mix(vec<4, T, Q>(n0000, n1000, n0100, n1100), vec<4, T, Q>(n0001, n1001, n0101, n1101), fade_xyzw.w); + vec<4, T, Q> n_1w = mix(vec<4, T, Q>(n0010, n1010, n0110, n1110), vec<4, T, Q>(n0011, n1011, n0111, n1111), fade_xyzw.w); + vec<4, T, Q> n_zw = mix(n_0w, n_1w, fade_xyzw.z); + vec<2, T, Q> n_yzw = mix(vec<2, T, Q>(n_zw.x, n_zw.y), vec<2, T, Q>(n_zw.z, n_zw.w), fade_xyzw.y); + T n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x); + return T(2.2) * n_xyzw; + } + + // Classic Perlin noise, periodic variant + template + GLM_FUNC_QUALIFIER T perlin(vec<2, T, Q> const& Position, vec<2, T, Q> const& rep) + { + vec<4, T, Q> Pi = floor(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) + vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + vec<4, T, Q> Pf = fract(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) - vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, vec<4, T, Q>(rep.x, rep.y, rep.x, rep.y)); // To create noise with explicit period + Pi = mod(Pi, vec<4, T, Q>(289)); // To avoid truncation effects in permutation + vec<4, T, Q> ix(Pi.x, Pi.z, Pi.x, Pi.z); + vec<4, T, Q> iy(Pi.y, Pi.y, Pi.w, Pi.w); + vec<4, T, Q> fx(Pf.x, Pf.z, Pf.x, Pf.z); + vec<4, T, Q> fy(Pf.y, Pf.y, Pf.w, Pf.w); + + vec<4, T, Q> i = detail::permute(detail::permute(ix) + iy); + + vec<4, T, Q> gx = static_cast(2) * fract(i / T(41)) - T(1); + vec<4, T, Q> gy = abs(gx) - T(0.5); + vec<4, T, Q> tx = floor(gx + T(0.5)); + gx = gx - tx; + + vec<2, T, Q> g00(gx.x, gy.x); + vec<2, T, Q> g10(gx.y, gy.y); + vec<2, T, Q> g01(gx.z, gy.z); + vec<2, T, Q> g11(gx.w, gy.w); + + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + T n00 = dot(g00, vec<2, T, Q>(fx.x, fy.x)); + T n10 = dot(g10, vec<2, T, Q>(fx.y, fy.y)); + T n01 = dot(g01, vec<2, T, Q>(fx.z, fy.z)); + T n11 = dot(g11, vec<2, T, Q>(fx.w, fy.w)); + + vec<2, T, Q> fade_xy = detail::fade(vec<2, T, Q>(Pf.x, Pf.y)); + vec<2, T, Q> n_x = mix(vec<2, T, Q>(n00, n01), vec<2, T, Q>(n10, n11), fade_xy.x); + T n_xy = mix(n_x.x, n_x.y, fade_xy.y); + return T(2.3) * n_xy; + } + + // Classic Perlin noise, periodic variant + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& Position, vec<3, T, Q> const& rep) + { + vec<3, T, Q> Pi0 = mod(floor(Position), rep); // Integer part, modulo period + vec<3, T, Q> Pi1 = mod(Pi0 + vec<3, T, Q>(T(1)), rep); // Integer part + 1, mod period + Pi0 = mod(Pi0, vec<3, T, Q>(289)); + Pi1 = mod(Pi1, vec<3, T, Q>(289)); + vec<3, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - vec<3, T, Q>(T(1)); // Fractional part - 1.0 + vec<4, T, Q> ix = vec<4, T, Q>(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 / T(7); + vec<4, T, Q> gy0 = fract(floor(gx0) / T(7)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0)); + gx0 -= sz0 * (step(T(0), gx0) - T(0.5)); + gy0 -= sz0 * (step(T(0), gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 / T(7); + vec<4, T, Q> gy1 = fract(floor(gx1) / T(7)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(T(0))); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000 = vec<3, T, Q>(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100 = vec<3, T, Q>(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010 = vec<3, T, Q>(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110 = vec<3, T, Q>(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001 = vec<3, T, Q>(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101 = vec<3, T, Q>(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011 = vec<3, T, Q>(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111 = vec<3, T, Q>(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = detail::fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix(vec<2, T, Q>(n_z.x, n_z.y), vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + + // Classic Perlin noise, periodic version + template + GLM_FUNC_QUALIFIER T perlin(vec<4, T, Q> const& Position, vec<4, T, Q> const& rep) + { + vec<4, T, Q> Pi0 = mod(floor(Position), rep); // Integer part modulo rep + vec<4, T, Q> Pi1 = mod(Pi0 + T(1), rep); // Integer part + 1 mod rep + vec<4, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<4, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix = vec<4, T, Q>(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + vec<4, T, Q> iw0(Pi0.w); + vec<4, T, Q> iw1(Pi1.w); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + vec<4, T, Q> ixy00 = detail::permute(ixy0 + iw0); + vec<4, T, Q> ixy01 = detail::permute(ixy0 + iw1); + vec<4, T, Q> ixy10 = detail::permute(ixy1 + iw0); + vec<4, T, Q> ixy11 = detail::permute(ixy1 + iw1); + + vec<4, T, Q> gx00 = ixy00 / T(7); + vec<4, T, Q> gy00 = floor(gx00) / T(7); + vec<4, T, Q> gz00 = floor(gy00) / T(6); + gx00 = fract(gx00) - T(0.5); + gy00 = fract(gy00) - T(0.5); + gz00 = fract(gz00) - T(0.5); + vec<4, T, Q> gw00 = vec<4, T, Q>(0.75) - abs(gx00) - abs(gy00) - abs(gz00); + vec<4, T, Q> sw00 = step(gw00, vec<4, T, Q>(0)); + gx00 -= sw00 * (step(T(0), gx00) - T(0.5)); + gy00 -= sw00 * (step(T(0), gy00) - T(0.5)); + + vec<4, T, Q> gx01 = ixy01 / T(7); + vec<4, T, Q> gy01 = floor(gx01) / T(7); + vec<4, T, Q> gz01 = floor(gy01) / T(6); + gx01 = fract(gx01) - T(0.5); + gy01 = fract(gy01) - T(0.5); + gz01 = fract(gz01) - T(0.5); + vec<4, T, Q> gw01 = vec<4, T, Q>(0.75) - abs(gx01) - abs(gy01) - abs(gz01); + vec<4, T, Q> sw01 = step(gw01, vec<4, T, Q>(0.0)); + gx01 -= sw01 * (step(T(0), gx01) - T(0.5)); + gy01 -= sw01 * (step(T(0), gy01) - T(0.5)); + + vec<4, T, Q> gx10 = ixy10 / T(7); + vec<4, T, Q> gy10 = floor(gx10) / T(7); + vec<4, T, Q> gz10 = floor(gy10) / T(6); + gx10 = fract(gx10) - T(0.5); + gy10 = fract(gy10) - T(0.5); + gz10 = fract(gz10) - T(0.5); + vec<4, T, Q> gw10 = vec<4, T, Q>(0.75) - abs(gx10) - abs(gy10) - abs(gz10); + vec<4, T, Q> sw10 = step(gw10, vec<4, T, Q>(0.0)); + gx10 -= sw10 * (step(T(0), gx10) - T(0.5)); + gy10 -= sw10 * (step(T(0), gy10) - T(0.5)); + + vec<4, T, Q> gx11 = ixy11 / T(7); + vec<4, T, Q> gy11 = floor(gx11) / T(7); + vec<4, T, Q> gz11 = floor(gy11) / T(6); + gx11 = fract(gx11) - T(0.5); + gy11 = fract(gy11) - T(0.5); + gz11 = fract(gz11) - T(0.5); + vec<4, T, Q> gw11 = vec<4, T, Q>(0.75) - abs(gx11) - abs(gy11) - abs(gz11); + vec<4, T, Q> sw11 = step(gw11, vec<4, T, Q>(T(0))); + gx11 -= sw11 * (step(T(0), gx11) - T(0.5)); + gy11 -= sw11 * (step(T(0), gy11) - T(0.5)); + + vec<4, T, Q> g0000(gx00.x, gy00.x, gz00.x, gw00.x); + vec<4, T, Q> g1000(gx00.y, gy00.y, gz00.y, gw00.y); + vec<4, T, Q> g0100(gx00.z, gy00.z, gz00.z, gw00.z); + vec<4, T, Q> g1100(gx00.w, gy00.w, gz00.w, gw00.w); + vec<4, T, Q> g0010(gx10.x, gy10.x, gz10.x, gw10.x); + vec<4, T, Q> g1010(gx10.y, gy10.y, gz10.y, gw10.y); + vec<4, T, Q> g0110(gx10.z, gy10.z, gz10.z, gw10.z); + vec<4, T, Q> g1110(gx10.w, gy10.w, gz10.w, gw10.w); + vec<4, T, Q> g0001(gx01.x, gy01.x, gz01.x, gw01.x); + vec<4, T, Q> g1001(gx01.y, gy01.y, gz01.y, gw01.y); + vec<4, T, Q> g0101(gx01.z, gy01.z, gz01.z, gw01.z); + vec<4, T, Q> g1101(gx01.w, gy01.w, gz01.w, gw01.w); + vec<4, T, Q> g0011(gx11.x, gy11.x, gz11.x, gw11.x); + vec<4, T, Q> g1011(gx11.y, gy11.y, gz11.y, gw11.y); + vec<4, T, Q> g0111(gx11.z, gy11.z, gz11.z, gw11.z); + vec<4, T, Q> g1111(gx11.w, gy11.w, gz11.w, gw11.w); + + vec<4, T, Q> norm00 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100))); + g0000 *= norm00.x; + g0100 *= norm00.y; + g1000 *= norm00.z; + g1100 *= norm00.w; + + vec<4, T, Q> norm01 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101))); + g0001 *= norm01.x; + g0101 *= norm01.y; + g1001 *= norm01.z; + g1101 *= norm01.w; + + vec<4, T, Q> norm10 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110))); + g0010 *= norm10.x; + g0110 *= norm10.y; + g1010 *= norm10.z; + g1110 *= norm10.w; + + vec<4, T, Q> norm11 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111))); + g0011 *= norm11.x; + g0111 *= norm11.y; + g1011 *= norm11.z; + g1111 *= norm11.w; + + T n0000 = dot(g0000, Pf0); + T n1000 = dot(g1000, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf0.w)); + T n0100 = dot(g0100, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf0.w)); + T n1100 = dot(g1100, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf0.w)); + T n0010 = dot(g0010, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf0.w)); + T n1010 = dot(g1010, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf0.w)); + T n0110 = dot(g0110, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf0.w)); + T n1110 = dot(g1110, vec<4, T, Q>(Pf1.x, Pf1.y, Pf1.z, Pf0.w)); + T n0001 = dot(g0001, vec<4, T, Q>(Pf0.x, Pf0.y, Pf0.z, Pf1.w)); + T n1001 = dot(g1001, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf1.w)); + T n0101 = dot(g0101, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf1.w)); + T n1101 = dot(g1101, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf1.w)); + T n0011 = dot(g0011, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf1.w)); + T n1011 = dot(g1011, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf1.w)); + T n0111 = dot(g0111, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf1.w)); + T n1111 = dot(g1111, Pf1); + + vec<4, T, Q> fade_xyzw = detail::fade(Pf0); + vec<4, T, Q> n_0w = mix(vec<4, T, Q>(n0000, n1000, n0100, n1100), vec<4, T, Q>(n0001, n1001, n0101, n1101), fade_xyzw.w); + vec<4, T, Q> n_1w = mix(vec<4, T, Q>(n0010, n1010, n0110, n1110), vec<4, T, Q>(n0011, n1011, n0111, n1111), fade_xyzw.w); + vec<4, T, Q> n_zw = mix(n_0w, n_1w, fade_xyzw.z); + vec<2, T, Q> n_yzw = mix(vec<2, T, Q>(n_zw.x, n_zw.y), vec<2, T, Q>(n_zw.z, n_zw.w), fade_xyzw.y); + T n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x); + return T(2.2) * n_xyzw; + } + + template + GLM_FUNC_QUALIFIER T simplex(glm::vec<2, T, Q> const& v) + { + vec<4, T, Q> const C = vec<4, T, Q>( + T( 0.211324865405187), // (3.0 - sqrt(3.0)) / 6.0 + T( 0.366025403784439), // 0.5 * (sqrt(3.0) - 1.0) + T(-0.577350269189626), // -1.0 + 2.0 * C.x + T( 0.024390243902439)); // 1.0 / 41.0 + + // First corner + vec<2, T, Q> i = floor(v + dot(v, vec<2, T, Q>(C[1]))); + vec<2, T, Q> x0 = v - i + dot(i, vec<2, T, Q>(C[0])); + + // Other corners + //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0 + //i1.y = 1.0 - i1.x; + vec<2, T, Q> i1 = (x0.x > x0.y) ? vec<2, T, Q>(1, 0) : vec<2, T, Q>(0, 1); + // x0 = x0 - 0.0 + 0.0 * C.xx ; + // x1 = x0 - i1 + 1.0 * C.xx ; + // x2 = x0 - 1.0 + 2.0 * C.xx ; + vec<4, T, Q> x12 = vec<4, T, Q>(x0.x, x0.y, x0.x, x0.y) + vec<4, T, Q>(C.x, C.x, C.z, C.z); + x12 = vec<4, T, Q>(vec<2, T, Q>(x12) - i1, x12.z, x12.w); + + // Permutations + i = mod(i, vec<2, T, Q>(289)); // Avoid truncation effects in permutation + vec<3, T, Q> p = detail::permute( + detail::permute(i.y + vec<3, T, Q>(T(0), i1.y, T(1))) + + i.x + vec<3, T, Q>(T(0), i1.x, T(1))); + + vec<3, T, Q> m = max(vec<3, T, Q>(0.5) - vec<3, T, Q>( + dot(x0, x0), + dot(vec<2, T, Q>(x12.x, x12.y), vec<2, T, Q>(x12.x, x12.y)), + dot(vec<2, T, Q>(x12.z, x12.w), vec<2, T, Q>(x12.z, x12.w))), vec<3, T, Q>(0)); + m = m * m ; + m = m * m ; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + + vec<3, T, Q> x = static_cast(2) * fract(p * C.w) - T(1); + vec<3, T, Q> h = abs(x) - T(0.5); + vec<3, T, Q> ox = floor(x + T(0.5)); + vec<3, T, Q> a0 = x - ox; + + // Normalise gradients implicitly by scaling m + // Inlined for speed: m *= taylorInvSqrt( a0*a0 + h*h ); + m *= static_cast(1.79284291400159) - T(0.85373472095314) * (a0 * a0 + h * h); + + // Compute final noise value at P + vec<3, T, Q> g; + g.x = a0.x * x0.x + h.x * x0.y; + //g.yz = a0.yz * x12.xz + h.yz * x12.yw; + g.y = a0.y * x12.x + h.y * x12.y; + g.z = a0.z * x12.z + h.z * x12.w; + return T(130) * dot(m, g); + } + + template + GLM_FUNC_QUALIFIER T simplex(vec<3, T, Q> const& v) + { + vec<2, T, Q> const C(1.0 / 6.0, 1.0 / 3.0); + vec<4, T, Q> const D(0.0, 0.5, 1.0, 2.0); + + // First corner + vec<3, T, Q> i(floor(v + dot(v, vec<3, T, Q>(C.y)))); + vec<3, T, Q> x0(v - i + dot(i, vec<3, T, Q>(C.x))); + + // Other corners + vec<3, T, Q> g(step(vec<3, T, Q>(x0.y, x0.z, x0.x), x0)); + vec<3, T, Q> l(T(1) - g); + vec<3, T, Q> i1(min(g, vec<3, T, Q>(l.z, l.x, l.y))); + vec<3, T, Q> i2(max(g, vec<3, T, Q>(l.z, l.x, l.y))); + + // x0 = x0 - 0.0 + 0.0 * C.xxx; + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + vec<3, T, Q> x1(x0 - i1 + C.x); + vec<3, T, Q> x2(x0 - i2 + C.y); // 2.0*C.x = 1/3 = C.y + vec<3, T, Q> x3(x0 - D.y); // -1.0+3.0*C.x = -0.5 = -D.y + + // Permutations + i = detail::mod289(i); + vec<4, T, Q> p(detail::permute(detail::permute(detail::permute( + i.z + vec<4, T, Q>(T(0), i1.z, i2.z, T(1))) + + i.y + vec<4, T, Q>(T(0), i1.y, i2.y, T(1))) + + i.x + vec<4, T, Q>(T(0), i1.x, i2.x, T(1)))); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + T n_ = static_cast(0.142857142857); // 1.0/7.0 + vec<3, T, Q> ns(n_ * vec<3, T, Q>(D.w, D.y, D.z) - vec<3, T, Q>(D.x, D.z, D.x)); + + vec<4, T, Q> j(p - T(49) * floor(p * ns.z * ns.z)); // mod(p,7*7) + + vec<4, T, Q> x_(floor(j * ns.z)); + vec<4, T, Q> y_(floor(j - T(7) * x_)); // mod(j,N) + + vec<4, T, Q> x(x_ * ns.x + ns.y); + vec<4, T, Q> y(y_ * ns.x + ns.y); + vec<4, T, Q> h(T(1) - abs(x) - abs(y)); + + vec<4, T, Q> b0(x.x, x.y, y.x, y.y); + vec<4, T, Q> b1(x.z, x.w, y.z, y.w); + + // vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; + // vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; + vec<4, T, Q> s0(floor(b0) * T(2) + T(1)); + vec<4, T, Q> s1(floor(b1) * T(2) + T(1)); + vec<4, T, Q> sh(-step(h, vec<4, T, Q>(0.0))); + + vec<4, T, Q> a0 = vec<4, T, Q>(b0.x, b0.z, b0.y, b0.w) + vec<4, T, Q>(s0.x, s0.z, s0.y, s0.w) * vec<4, T, Q>(sh.x, sh.x, sh.y, sh.y); + vec<4, T, Q> a1 = vec<4, T, Q>(b1.x, b1.z, b1.y, b1.w) + vec<4, T, Q>(s1.x, s1.z, s1.y, s1.w) * vec<4, T, Q>(sh.z, sh.z, sh.w, sh.w); + + vec<3, T, Q> p0(a0.x, a0.y, h.x); + vec<3, T, Q> p1(a0.z, a0.w, h.y); + vec<3, T, Q> p2(a1.x, a1.y, h.z); + vec<3, T, Q> p3(a1.z, a1.w, h.w); + + // Normalise gradients + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + + // Mix final noise value + vec<4, T, Q> m = max(T(0.6) - vec<4, T, Q>(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), vec<4, T, Q>(0)); + m = m * m; + return T(42) * dot(m * m, vec<4, T, Q>(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3))); + } + + template + GLM_FUNC_QUALIFIER T simplex(vec<4, T, Q> const& v) + { + vec<4, T, Q> const C( + 0.138196601125011, // (5 - sqrt(5))/20 G4 + 0.276393202250021, // 2 * G4 + 0.414589803375032, // 3 * G4 + -0.447213595499958); // -1 + 4 * G4 + + // (sqrt(5) - 1)/4 = F4, used once below + T const F4 = static_cast(0.309016994374947451); + + // First corner + vec<4, T, Q> i = floor(v + dot(v, vec4(F4))); + vec<4, T, Q> x0 = v - i + dot(i, vec4(C.x)); + + // Other corners + + // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI) + vec<4, T, Q> i0; + vec<3, T, Q> isX = step(vec<3, T, Q>(x0.y, x0.z, x0.w), vec<3, T, Q>(x0.x)); + vec<3, T, Q> isYZ = step(vec<3, T, Q>(x0.z, x0.w, x0.w), vec<3, T, Q>(x0.y, x0.y, x0.z)); + // i0.x = dot(isX, vec3(1.0)); + //i0.x = isX.x + isX.y + isX.z; + //i0.yzw = static_cast(1) - isX; + i0 = vec<4, T, Q>(isX.x + isX.y + isX.z, T(1) - isX); + // i0.y += dot(isYZ.xy, vec2(1.0)); + i0.y += isYZ.x + isYZ.y; + //i0.zw += 1.0 - vec<2, T, Q>(isYZ.x, isYZ.y); + i0.z += static_cast(1) - isYZ.x; + i0.w += static_cast(1) - isYZ.y; + i0.z += isYZ.z; + i0.w += static_cast(1) - isYZ.z; + + // i0 now contains the unique values 0,1,2,3 in each channel + vec<4, T, Q> i3 = clamp(i0, T(0), T(1)); + vec<4, T, Q> i2 = clamp(i0 - T(1), T(0), T(1)); + vec<4, T, Q> i1 = clamp(i0 - T(2), T(0), T(1)); + + // x0 = x0 - 0.0 + 0.0 * C.xxxx + // x1 = x0 - i1 + 0.0 * C.xxxx + // x2 = x0 - i2 + 0.0 * C.xxxx + // x3 = x0 - i3 + 0.0 * C.xxxx + // x4 = x0 - 1.0 + 4.0 * C.xxxx + vec<4, T, Q> x1 = x0 - i1 + C.x; + vec<4, T, Q> x2 = x0 - i2 + C.y; + vec<4, T, Q> x3 = x0 - i3 + C.z; + vec<4, T, Q> x4 = x0 + C.w; + + // Permutations + i = mod(i, vec<4, T, Q>(289)); + T j0 = detail::permute(detail::permute(detail::permute(detail::permute(i.w) + i.z) + i.y) + i.x); + vec<4, T, Q> j1 = detail::permute(detail::permute(detail::permute(detail::permute( + i.w + vec<4, T, Q>(i1.w, i2.w, i3.w, T(1))) + + i.z + vec<4, T, Q>(i1.z, i2.z, i3.z, T(1))) + + i.y + vec<4, T, Q>(i1.y, i2.y, i3.y, T(1))) + + i.x + vec<4, T, Q>(i1.x, i2.x, i3.x, T(1))); + + // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope + // 7*7*6 = 294, which is close to the ring size 17*17 = 289. + vec<4, T, Q> ip = vec<4, T, Q>(T(1) / T(294), T(1) / T(49), T(1) / T(7), T(0)); + + vec<4, T, Q> p0 = gtc::grad4(j0, ip); + vec<4, T, Q> p1 = gtc::grad4(j1.x, ip); + vec<4, T, Q> p2 = gtc::grad4(j1.y, ip); + vec<4, T, Q> p3 = gtc::grad4(j1.z, ip); + vec<4, T, Q> p4 = gtc::grad4(j1.w, ip); + + // Normalise gradients + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + p4 *= detail::taylorInvSqrt(dot(p4, p4)); + + // Mix contributions from the five corners + vec<3, T, Q> m0 = max(T(0.6) - vec<3, T, Q>(dot(x0, x0), dot(x1, x1), dot(x2, x2)), vec<3, T, Q>(0)); + vec<2, T, Q> m1 = max(T(0.6) - vec<2, T, Q>(dot(x3, x3), dot(x4, x4) ), vec<2, T, Q>(0)); + m0 = m0 * m0; + m1 = m1 * m1; + return T(49) * + (dot(m0 * m0, vec<3, T, Q>(dot(p0, x0), dot(p1, x1), dot(p2, x2))) + + dot(m1 * m1, vec<2, T, Q>(dot(p3, x3), dot(p4, x4)))); + } +}//namespace glm diff --git a/vendor/glm/gtc/packing.hpp b/vendor/glm/gtc/packing.hpp new file mode 100755 index 0000000000..96070c2484 --- /dev/null +++ b/vendor/glm/gtc/packing.hpp @@ -0,0 +1,728 @@ +/// @ref gtc_packing +/// @file glm/gtc/packing.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_packing GLM_GTC_packing +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// This extension provides a set of function to convert vertors to packed +/// formats. + +#pragma once + +// Dependency: +#include "type_precision.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_packing extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_packing + /// @{ + + /// First, converts the normalized floating-point value v into a 8-bit integer value. + /// Then, the results are packed into the returned 8-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm1x8: round(clamp(c, 0, +1) * 255.0) + /// + /// @see gtc_packing + /// @see uint16 packUnorm2x8(vec2 const& v) + /// @see uint32 packUnorm4x8(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint8 packUnorm1x8(float v); + + /// Convert a single 8-bit integer to a normalized floating-point value. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x8(uint16 p) + /// @see vec4 unpackUnorm4x8(uint32 p) + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackUnorm1x8(uint8 p); + + /// First, converts each component of the normalized floating-point value v into 8-bit integer values. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm2x8: round(clamp(c, 0, +1) * 255.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint8 packUnorm1x8(float const& v) + /// @see uint32 packUnorm4x8(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const& v); + + /// First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackUnorm1x8(uint8 v) + /// @see vec4 unpackUnorm4x8(uint32 p) + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p); + + /// First, converts the normalized floating-point value v into 8-bit integer value. + /// Then, the results are packed into the returned 8-bit unsigned integer. + /// + /// The conversion to fixed point is done as follows: + /// packSnorm1x8: round(clamp(s, -1, +1) * 127.0) + /// + /// @see gtc_packing + /// @see uint16 packSnorm2x8(vec2 const& v) + /// @see uint32 packSnorm4x8(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint8 packSnorm1x8(float s); + + /// First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. + /// Then, the value is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm1x8: clamp(f / 127.0, -1, +1) + /// + /// @see gtc_packing + /// @see vec2 unpackSnorm2x8(uint16 p) + /// @see vec4 unpackSnorm4x8(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackSnorm1x8(uint8 p); + + /// First, converts each component of the normalized floating-point value v into 8-bit integer values. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x8: round(clamp(c, -1, +1) * 127.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint8 packSnorm1x8(float const& v) + /// @see uint32 packSnorm4x8(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const& v); + + /// First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm2x8: clamp(f / 127.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackSnorm1x8(uint8 p) + /// @see vec4 unpackSnorm4x8(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p); + + /// First, converts the normalized floating-point value v into a 16-bit integer value. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm1x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// @see gtc_packing + /// @see uint16 packSnorm1x16(float const& v) + /// @see uint64 packSnorm4x16(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packUnorm1x16(float v); + + /// First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. + /// Then, the value is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm1x16: f / 65535.0 + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x16(uint32 p) + /// @see vec4 unpackUnorm4x16(uint64 p) + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackUnorm1x16(uint16 p); + + /// First, converts each component of the normalized floating-point value v into 16-bit integer values. + /// Then, the results are packed into the returned 64-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm4x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint16 packUnorm1x16(float const& v) + /// @see uint32 packUnorm2x16(vec2 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const& v); + + /// First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnormx4x16: f / 65535.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackUnorm1x16(uint16 p) + /// @see vec2 unpackUnorm2x16(uint32 p) + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p); + + /// First, converts the normalized floating-point value v into 16-bit integer value. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion to fixed point is done as follows: + /// packSnorm1x8: round(clamp(s, -1, +1) * 32767.0) + /// + /// @see gtc_packing + /// @see uint32 packSnorm2x16(vec2 const& v) + /// @see uint64 packSnorm4x16(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packSnorm1x16(float v); + + /// First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm1x16: clamp(f / 32767.0, -1, +1) + /// + /// @see gtc_packing + /// @see vec2 unpackSnorm2x16(uint32 p) + /// @see vec4 unpackSnorm4x16(uint64 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackSnorm1x16(uint16 p); + + /// First, converts each component of the normalized floating-point value v into 16-bit integer values. + /// Then, the results are packed into the returned 64-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x8: round(clamp(c, -1, +1) * 32767.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint16 packSnorm1x16(float const& v) + /// @see uint32 packSnorm2x16(vec2 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const& v); + + /// First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm4x16: clamp(f / 32767.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackSnorm1x16(uint16 p) + /// @see vec2 unpackSnorm2x16(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p); + + /// Returns an unsigned integer obtained by converting the components of a floating-point scalar + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing this 16-bit value into a 16-bit unsigned integer. + /// + /// @see gtc_packing + /// @see uint32 packHalf2x16(vec2 const& v) + /// @see uint64 packHalf4x16(vec4 const& v) + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packHalf1x16(float v); + + /// Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, + /// interpreted as a 16-bit floating-point number according to the OpenGL Specification, + /// and converting it to 32-bit floating-point values. + /// + /// @see gtc_packing + /// @see vec2 unpackHalf2x16(uint32 const& v) + /// @see vec4 unpackHalf4x16(uint64 const& v) + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackHalf1x16(uint16 v); + + /// Returns an unsigned integer obtained by converting the components of a four-component floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing these four 16-bit values into a 64-bit unsigned integer. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see uint16 packHalf1x16(float const& v) + /// @see uint32 packHalf2x16(vec2 const& v) + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packHalf4x16(vec4 const& v); + + /// Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, + /// interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, + /// and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see float unpackHalf1x16(uint16 const& v) + /// @see vec2 unpackHalf2x16(uint32 const& v) + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p); + + /// Returns an unsigned integer obtained by converting the components of a four-component signed integer vector + /// to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, + /// and then packing these four values into a 32-bit unsigned integer. + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see uint32 packI3x10_1x2(uvec4 const& v) + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see ivec4 unpackI3x10_1x2(uint32 const& p) + GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const& v); + + /// Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p); + /// @see uvec4 unpackI3x10_1x2(uint32 const& p); + GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p); + + /// Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector + /// to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, + /// and then packing these four values into a 32-bit unsigned integer. + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see uint32 packI3x10_1x2(ivec4 const& v) + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see ivec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const& v); + + /// Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p); + /// @see uvec4 unpackI3x10_1x2(uint32 const& p); + GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p); + + /// First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. + /// Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) + /// packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0) + /// + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see uint32 packI3x10_1x2(ivec4 const& v) + GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) + /// unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see vec4 unpackUnorm3x10_1x2(uint32 const& p)) + /// @see uvec4 unpackI3x10_1x2(uint32 const& p) + /// @see uvec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p); + + /// First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. + /// Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) + /// packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0) + /// + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm3x10_1x2(uint32 const& p) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see uint32 packI3x10_1x2(ivec4 const& v) + GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) + /// unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see vec4 unpackInorm3x10_1x2(uint32 const& p)) + /// @see uvec4 unpackI3x10_1x2(uint32 const& p) + /// @see uvec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p); + + /// First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. + /// Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The first vector component specifies the 11 least-significant bits of the result; + /// the last component specifies the 10 most-significant bits. + /// + /// @see gtc_packing + /// @see vec3 unpackF2x11_1x10(uint32 const& p) + GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . + /// Then, each component is converted to a normalized floating-point value to generate the returned three-component vector. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packF2x11_1x10(vec3 const& v) + GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p); + + + /// First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. + /// Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The first vector component specifies the 11 least-significant bits of the result; + /// the last component specifies the 10 most-significant bits. + /// + /// packF3x9_E1x5 allows encoding into RGBE / RGB9E5 format + /// + /// @see gtc_packing + /// @see vec3 unpackF3x9_E1x5(uint32 const& p) + GLM_FUNC_DECL uint32 packF3x9_E1x5(vec3 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . + /// Then, each component is converted to a normalized floating-point value to generate the returned three-component vector. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// unpackF3x9_E1x5 allows decoding RGBE / RGB9E5 data + /// + /// @see gtc_packing + /// @see uint32 packF3x9_E1x5(vec3 const& v) + GLM_FUNC_DECL vec3 unpackF3x9_E1x5(uint32 p); + + /// Returns an unsigned integer vector obtained by converting the components of a floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& p) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec<4, T, Q> packRGBM(vec<3, T, Q> const& rgb); + + /// Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see vec<4, T, Q> packRGBM(vec<3, float, Q> const& v) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& rgbm); + + /// Returns an unsigned integer vector obtained by converting the components of a floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see vec unpackHalf(vec const& p) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec packHalf(vec const& v); + + /// Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see vec packHalf(vec const& v) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec unpackHalf(vec const& p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec unpackUnorm(vec const& p); + template + GLM_FUNC_DECL vec packUnorm(vec const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see vec packUnorm(vec const& v) + template + GLM_FUNC_DECL vec unpackUnorm(vec const& v); + + /// Convert each component of the normalized floating-point vector into signed integer values. + /// + /// @see gtc_packing + /// @see vec unpackSnorm(vec const& p); + template + GLM_FUNC_DECL vec packSnorm(vec const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see vec packSnorm(vec const& v) + template + GLM_FUNC_DECL vec unpackSnorm(vec const& v); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x4(uint8 p) + GLM_FUNC_DECL uint8 packUnorm2x4(vec2 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint8 packUnorm2x4(vec2 const& v) + GLM_FUNC_DECL vec2 unpackUnorm2x4(uint8 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm4x4(uint16 p) + GLM_FUNC_DECL uint16 packUnorm4x4(vec4 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm4x4(vec4 const& v) + GLM_FUNC_DECL vec4 unpackUnorm4x4(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec3 unpackUnorm1x5_1x6_1x5(uint16 p) + GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5(vec3 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm1x5_1x6_1x5(vec3 const& v) + GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm3x5_1x1(uint16 p) + GLM_FUNC_DECL uint16 packUnorm3x5_1x1(vec4 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm3x5_1x1(vec4 const& v) + GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec3 unpackUnorm2x3_1x2(uint8 p) + GLM_FUNC_DECL uint8 packUnorm2x3_1x2(vec3 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint8 packUnorm2x3_1x2(vec3 const& v) + GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2(uint8 p); + + + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see i8vec2 unpackInt2x8(int16 p) + GLM_FUNC_DECL int16 packInt2x8(i8vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int16 packInt2x8(i8vec2 const& v) + GLM_FUNC_DECL i8vec2 unpackInt2x8(int16 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u8vec2 unpackInt2x8(uint16 p) + GLM_FUNC_DECL uint16 packUint2x8(u8vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint16 packInt2x8(u8vec2 const& v) + GLM_FUNC_DECL u8vec2 unpackUint2x8(uint16 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see i8vec4 unpackInt4x8(int32 p) + GLM_FUNC_DECL int32 packInt4x8(i8vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int32 packInt2x8(i8vec4 const& v) + GLM_FUNC_DECL i8vec4 unpackInt4x8(int32 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u8vec4 unpackUint4x8(uint32 p) + GLM_FUNC_DECL uint32 packUint4x8(u8vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint32 packUint4x8(u8vec2 const& v) + GLM_FUNC_DECL u8vec4 unpackUint4x8(uint32 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see i16vec2 unpackInt2x16(int p) + GLM_FUNC_DECL int packInt2x16(i16vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packInt2x16(i16vec2 const& v) + GLM_FUNC_DECL i16vec2 unpackInt2x16(int p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see i16vec4 unpackInt4x16(int64 p) + GLM_FUNC_DECL int64 packInt4x16(i16vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int64 packInt4x16(i16vec4 const& v) + GLM_FUNC_DECL i16vec4 unpackInt4x16(int64 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u16vec2 unpackUint2x16(uint p) + GLM_FUNC_DECL uint packUint2x16(u16vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint packUint2x16(u16vec2 const& v) + GLM_FUNC_DECL u16vec2 unpackUint2x16(uint p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u16vec4 unpackUint4x16(uint64 p) + GLM_FUNC_DECL uint64 packUint4x16(u16vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint64 packUint4x16(u16vec4 const& v) + GLM_FUNC_DECL u16vec4 unpackUint4x16(uint64 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see i32vec2 unpackInt2x32(int p) + GLM_FUNC_DECL int64 packInt2x32(i32vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packInt2x16(i32vec2 const& v) + GLM_FUNC_DECL i32vec2 unpackInt2x32(int64 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u32vec2 unpackUint2x32(int p) + GLM_FUNC_DECL uint64 packUint2x32(u32vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packUint2x16(u32vec2 const& v) + GLM_FUNC_DECL u32vec2 unpackUint2x32(uint64 p); + + + /// @} +}// namespace glm + +#include "packing.inl" diff --git a/vendor/glm/gtc/packing.inl b/vendor/glm/gtc/packing.inl new file mode 100755 index 0000000000..c12c14098e --- /dev/null +++ b/vendor/glm/gtc/packing.inl @@ -0,0 +1,938 @@ +/// @ref gtc_packing +/// @file glm/gtc/packing.inl + +#include "../common.hpp" +#include "../vector_relational.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../detail/type_half.hpp" +#include +#include + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER glm::uint16 float2half(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((f >> 16) & 0x8000) | // sign + ((((f & 0x7f800000) - 0x38000000) >> 13) & 0x7c00) | // exponential + ((f >> 13) & 0x03ff); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 float2packed11(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x000007c0 => 00000000 00000000 00000111 11000000 + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((f & 0x7f800000) - 0x38000000) >> 17) & 0x07c0) | // exponential + ((f >> 17) & 0x003f); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 packed11ToFloat(glm::uint32 p) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x000007c0 => 00000000 00000000 00000111 11000000 + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((p & 0x07c0) << 17) + 0x38000000) & 0x7f800000) | // exponential + ((p & 0x003f) << 17); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 float2packed10(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x0000001F => 00000000 00000000 00000000 00011111 + // 0x0000003F => 00000000 00000000 00000000 00111111 + // 0x000003E0 => 00000000 00000000 00000011 11100000 + // 0x000007C0 => 00000000 00000000 00000111 11000000 + // 0x00007C00 => 00000000 00000000 01111100 00000000 + // 0x000003FF => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((f & 0x7f800000) - 0x38000000) >> 18) & 0x03E0) | // exponential + ((f >> 18) & 0x001f); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 packed10ToFloat(glm::uint32 p) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x0000001F => 00000000 00000000 00000000 00011111 + // 0x0000003F => 00000000 00000000 00000000 00111111 + // 0x000003E0 => 00000000 00000000 00000011 11100000 + // 0x000007C0 => 00000000 00000000 00000111 11000000 + // 0x00007C00 => 00000000 00000000 01111100 00000000 + // 0x000003FF => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((p & 0x03E0) << 18) + 0x38000000) & 0x7f800000) | // exponential + ((p & 0x001f) << 18); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint half2float(glm::uint h) + { + return ((h & 0x8000) << 16) | ((( h & 0x7c00) + 0x1C000) << 13) | ((h & 0x03FF) << 13); + } + + GLM_FUNC_QUALIFIER glm::uint floatTo11bit(float x) + { + if(x == 0.0f) + return 0u; + else if(glm::isnan(x)) + return ~0u; + else if(glm::isinf(x)) + return 0x1Fu << 6u; + + uint Pack = 0u; + memcpy(&Pack, &x, sizeof(Pack)); + return float2packed11(Pack); + } + + GLM_FUNC_QUALIFIER float packed11bitToFloat(glm::uint x) + { + if(x == 0) + return 0.0f; + else if(x == ((1 << 11) - 1)) + return ~0;//NaN + else if(x == (0x1f << 6)) + return ~0;//Inf + + uint Result = packed11ToFloat(x); + + float Temp = 0; + memcpy(&Temp, &Result, sizeof(Temp)); + return Temp; + } + + GLM_FUNC_QUALIFIER glm::uint floatTo10bit(float x) + { + if(x == 0.0f) + return 0u; + else if(glm::isnan(x)) + return ~0u; + else if(glm::isinf(x)) + return 0x1Fu << 5u; + + uint Pack = 0; + memcpy(&Pack, &x, sizeof(Pack)); + return float2packed10(Pack); + } + + GLM_FUNC_QUALIFIER float packed10bitToFloat(glm::uint x) + { + if(x == 0) + return 0.0f; + else if(x == ((1 << 10) - 1)) + return ~0;//NaN + else if(x == (0x1f << 5)) + return ~0;//Inf + + uint Result = packed10ToFloat(x); + + float Temp = 0; + memcpy(&Temp, &Result, sizeof(Temp)); + return Temp; + } + +// GLM_FUNC_QUALIFIER glm::uint f11_f11_f10(float x, float y, float z) +// { +// return ((floatTo11bit(x) & ((1 << 11) - 1)) << 0) | ((floatTo11bit(y) & ((1 << 11) - 1)) << 11) | ((floatTo10bit(z) & ((1 << 10) - 1)) << 22); +// } + + union u3u3u2 + { + struct + { + uint x : 3; + uint y : 3; + uint z : 2; + } data; + uint8 pack; + }; + + union u4u4 + { + struct + { + uint x : 4; + uint y : 4; + } data; + uint8 pack; + }; + + union u4u4u4u4 + { + struct + { + uint x : 4; + uint y : 4; + uint z : 4; + uint w : 4; + } data; + uint16 pack; + }; + + union u5u6u5 + { + struct + { + uint x : 5; + uint y : 6; + uint z : 5; + } data; + uint16 pack; + }; + + union u5u5u5u1 + { + struct + { + uint x : 5; + uint y : 5; + uint z : 5; + uint w : 1; + } data; + uint16 pack; + }; + + union u10u10u10u2 + { + struct + { + uint x : 10; + uint y : 10; + uint z : 10; + uint w : 2; + } data; + uint32 pack; + }; + + union i10i10i10i2 + { + struct + { + int x : 10; + int y : 10; + int z : 10; + int w : 2; + } data; + uint32 pack; + }; + + union u9u9u9e5 + { + struct + { + uint x : 9; + uint y : 9; + uint z : 9; + uint w : 5; + } data; + uint32 pack; + }; + + template + struct compute_half + {}; + + template + struct compute_half<1, Q> + { + GLM_FUNC_QUALIFIER static vec<1, uint16, Q> pack(vec<1, float, Q> const& v) + { + int16 const Unpack(detail::toFloat16(v.x)); + u16vec1 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<1, float, Q> unpack(vec<1, uint16, Q> const& v) + { + i16vec1 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<1, float, Q>(detail::toFloat32(v.x)); + } + }; + + template + struct compute_half<2, Q> + { + GLM_FUNC_QUALIFIER static vec<2, uint16, Q> pack(vec<2, float, Q> const& v) + { + vec<2, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y)); + u16vec2 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<2, float, Q> unpack(vec<2, uint16, Q> const& v) + { + i16vec2 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<2, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y)); + } + }; + + template + struct compute_half<3, Q> + { + GLM_FUNC_QUALIFIER static vec<3, uint16, Q> pack(vec<3, float, Q> const& v) + { + vec<3, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z)); + u16vec3 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<3, float, Q> unpack(vec<3, uint16, Q> const& v) + { + i16vec3 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<3, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y), detail::toFloat32(v.z)); + } + }; + + template + struct compute_half<4, Q> + { + GLM_FUNC_QUALIFIER static vec<4, uint16, Q> pack(vec<4, float, Q> const& v) + { + vec<4, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z), detail::toFloat16(v.w)); + u16vec4 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<4, float, Q> unpack(vec<4, uint16, Q> const& v) + { + i16vec4 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<4, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y), detail::toFloat32(v.z), detail::toFloat32(v.w)); + } + }; +}//namespace detail + + GLM_FUNC_QUALIFIER uint8 packUnorm1x8(float v) + { + return static_cast(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + } + + GLM_FUNC_QUALIFIER float unpackUnorm1x8(uint8 p) + { + float const Unpack(p); + return Unpack * static_cast(0.0039215686274509803921568627451); // 1 / 255 + } + + GLM_FUNC_QUALIFIER uint16 packUnorm2x8(vec2 const& v) + { + u8vec2 const Topack(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + + uint16 Unpack = 0; + memcpy(&Unpack, &Topack, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x8(uint16 p) + { + u8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return vec2(Unpack) * float(0.0039215686274509803921568627451); // 1 / 255 + } + + GLM_FUNC_QUALIFIER uint8 packSnorm1x8(float v) + { + int8 const Topack(static_cast(round(clamp(v ,-1.0f, 1.0f) * 127.0f))); + uint8 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackSnorm1x8(uint8 p) + { + int8 Unpack = 0; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + static_cast(Unpack) * 0.00787401574803149606299212598425f, // 1.0f / 127.0f + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packSnorm2x8(vec2 const& v) + { + i8vec2 const Topack(round(clamp(v, -1.0f, 1.0f) * 127.0f)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec2 unpackSnorm2x8(uint16 p) + { + i8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + vec2(Unpack) * 0.00787401574803149606299212598425f, // 1.0f / 127.0f + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packUnorm1x16(float s) + { + return static_cast(round(clamp(s, 0.0f, 1.0f) * 65535.0f)); + } + + GLM_FUNC_QUALIFIER float unpackUnorm1x16(uint16 p) + { + float const Unpack(p); + return Unpack * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0 + } + + GLM_FUNC_QUALIFIER uint64 packUnorm4x16(vec4 const& v) + { + u16vec4 const Topack(round(clamp(v , 0.0f, 1.0f) * 65535.0f)); + uint64 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x16(uint64 p) + { + u16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return vec4(Unpack) * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0 + } + + GLM_FUNC_QUALIFIER uint16 packSnorm1x16(float v) + { + int16 const Topack = static_cast(round(clamp(v ,-1.0f, 1.0f) * 32767.0f)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackSnorm1x16(uint16 p) + { + int16 Unpack = 0; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + static_cast(Unpack) * 3.0518509475997192297128208258309e-5f, //1.0f / 32767.0f, + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint64 packSnorm4x16(vec4 const& v) + { + i16vec4 const Topack(round(clamp(v ,-1.0f, 1.0f) * 32767.0f)); + uint64 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec4 unpackSnorm4x16(uint64 p) + { + i16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + vec4(Unpack) * 3.0518509475997192297128208258309e-5f, //1.0f / 32767.0f, + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packHalf1x16(float v) + { + int16 const Topack(detail::toFloat16(v)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackHalf1x16(uint16 v) + { + int16 Unpack = 0; + memcpy(&Unpack, &v, sizeof(Unpack)); + return detail::toFloat32(Unpack); + } + + GLM_FUNC_QUALIFIER uint64 packHalf4x16(glm::vec4 const& v) + { + i16vec4 const Unpack( + detail::toFloat16(v.x), + detail::toFloat16(v.y), + detail::toFloat16(v.z), + detail::toFloat16(v.w)); + uint64 Packed = 0; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER glm::vec4 unpackHalf4x16(uint64 v) + { + i16vec4 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec4( + detail::toFloat32(Unpack.x), + detail::toFloat32(Unpack.y), + detail::toFloat32(Unpack.z), + detail::toFloat32(Unpack.w)); + } + + GLM_FUNC_QUALIFIER uint32 packI3x10_1x2(ivec4 const& v) + { + detail::i10i10i10i2 Result; + Result.data.x = v.x; + Result.data.y = v.y; + Result.data.z = v.z; + Result.data.w = v.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER ivec4 unpackI3x10_1x2(uint32 v) + { + detail::i10i10i10i2 Unpack; + Unpack.pack = v; + return ivec4( + Unpack.data.x, + Unpack.data.y, + Unpack.data.z, + Unpack.data.w); + } + + GLM_FUNC_QUALIFIER uint32 packU3x10_1x2(uvec4 const& v) + { + detail::u10u10u10u2 Result; + Result.data.x = v.x; + Result.data.y = v.y; + Result.data.z = v.z; + Result.data.w = v.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER uvec4 unpackU3x10_1x2(uint32 v) + { + detail::u10u10u10u2 Unpack; + Unpack.pack = v; + return uvec4( + Unpack.data.x, + Unpack.data.y, + Unpack.data.z, + Unpack.data.w); + } + + GLM_FUNC_QUALIFIER uint32 packSnorm3x10_1x2(vec4 const& v) + { + ivec4 const Pack(round(clamp(v,-1.0f, 1.0f) * vec4(511.f, 511.f, 511.f, 1.f))); + + detail::i10i10i10i2 Result; + Result.data.x = Pack.x; + Result.data.y = Pack.y; + Result.data.z = Pack.z; + Result.data.w = Pack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackSnorm3x10_1x2(uint32 v) + { + detail::i10i10i10i2 Unpack; + Unpack.pack = v; + + vec4 const Result(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w); + + return clamp(Result * vec4(1.f / 511.f, 1.f / 511.f, 1.f / 511.f, 1.f), -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint32 packUnorm3x10_1x2(vec4 const& v) + { + uvec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec4(1023.f, 1023.f, 1023.f, 3.f))); + + detail::u10u10u10u2 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm3x10_1x2(uint32 v) + { + vec4 const ScaleFactors(1.0f / 1023.f, 1.0f / 1023.f, 1.0f / 1023.f, 1.0f / 3.f); + + detail::u10u10u10u2 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactors; + } + + GLM_FUNC_QUALIFIER uint32 packF2x11_1x10(vec3 const& v) + { + return + ((detail::floatTo11bit(v.x) & ((1 << 11) - 1)) << 0) | + ((detail::floatTo11bit(v.y) & ((1 << 11) - 1)) << 11) | + ((detail::floatTo10bit(v.z) & ((1 << 10) - 1)) << 22); + } + + GLM_FUNC_QUALIFIER vec3 unpackF2x11_1x10(uint32 v) + { + return vec3( + detail::packed11bitToFloat(v >> 0), + detail::packed11bitToFloat(v >> 11), + detail::packed10bitToFloat(v >> 22)); + } + + GLM_FUNC_QUALIFIER uint32 packF3x9_E1x5(vec3 const& v) + { + float const SharedExpMax = (pow(2.0f, 9.0f - 1.0f) / pow(2.0f, 9.0f)) * pow(2.0f, 31.f - 15.f); + vec3 const Color = clamp(v, 0.0f, SharedExpMax); + float const MaxColor = max(Color.x, max(Color.y, Color.z)); + + float const ExpSharedP = max(-15.f - 1.f, floor(log2(MaxColor))) + 1.0f + 15.f; + float const MaxShared = floor(MaxColor / pow(2.0f, (ExpSharedP - 15.f - 9.f)) + 0.5f); + float const ExpShared = detail::compute_equal::call(MaxShared, pow(2.0f, 9.0f)) ? ExpSharedP + 1.0f : ExpSharedP; + + uvec3 const ColorComp(floor(Color / pow(2.f, (ExpShared - 15.f - 9.f)) + 0.5f)); + + detail::u9u9u9e5 Unpack; + Unpack.data.x = ColorComp.x; + Unpack.data.y = ColorComp.y; + Unpack.data.z = ColorComp.z; + Unpack.data.w = uint(ExpShared); + return Unpack.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackF3x9_E1x5(uint32 v) + { + detail::u9u9u9e5 Unpack; + Unpack.pack = v; + + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * pow(2.0f, Unpack.data.w - 15.f - 9.f); + } + + // Based on Brian Karis http://graphicrants.blogspot.fr/2009/04/rgbm-color-encoding.html + template + GLM_FUNC_QUALIFIER vec<4, T, Q> packRGBM(vec<3, T, Q> const& rgb) + { + vec<3, T, Q> const Color(rgb * static_cast(1.0 / 6.0)); + T Alpha = clamp(max(max(Color.x, Color.y), max(Color.z, static_cast(1e-6))), static_cast(0), static_cast(1)); + Alpha = ceil(Alpha * static_cast(255.0)) / static_cast(255.0); + return vec<4, T, Q>(Color / Alpha, Alpha); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& rgbm) + { + return vec<3, T, Q>(rgbm.x, rgbm.y, rgbm.z) * rgbm.w * static_cast(6); + } + + template + GLM_FUNC_QUALIFIER vec packHalf(vec const& v) + { + return detail::compute_half::pack(v); + } + + template + GLM_FUNC_QUALIFIER vec unpackHalf(vec const& v) + { + return detail::compute_half::unpack(v); + } + + template + GLM_FUNC_QUALIFIER vec packUnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(round(clamp(v, static_cast(0), static_cast(1)) * static_cast(std::numeric_limits::max()))); + } + + template + GLM_FUNC_QUALIFIER vec unpackUnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(v) * (static_cast(1) / static_cast(std::numeric_limits::max())); + } + + template + GLM_FUNC_QUALIFIER vec packSnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(round(clamp(v , static_cast(-1), static_cast(1)) * static_cast(std::numeric_limits::max()))); + } + + template + GLM_FUNC_QUALIFIER vec unpackSnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return clamp(vec(v) * (static_cast(1) / static_cast(std::numeric_limits::max())), static_cast(-1), static_cast(1)); + } + + GLM_FUNC_QUALIFIER uint8 packUnorm2x4(vec2 const& v) + { + u32vec2 const Unpack(round(clamp(v, 0.0f, 1.0f) * 15.0f)); + detail::u4u4 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x4(uint8 v) + { + float const ScaleFactor(1.f / 15.f); + detail::u4u4 Unpack; + Unpack.pack = v; + return vec2(Unpack.data.x, Unpack.data.y) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm4x4(vec4 const& v) + { + u32vec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * 15.0f)); + detail::u4u4u4u4 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x4(uint16 v) + { + float const ScaleFactor(1.f / 15.f); + detail::u4u4u4u4 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm1x5_1x6_1x5(vec3 const& v) + { + u32vec3 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec3(31.f, 63.f, 31.f))); + detail::u5u6u5 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackUnorm1x5_1x6_1x5(uint16 v) + { + vec3 const ScaleFactor(1.f / 31.f, 1.f / 63.f, 1.f / 31.f); + detail::u5u6u5 Unpack; + Unpack.pack = v; + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm3x5_1x1(vec4 const& v) + { + u32vec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec4(31.f, 31.f, 31.f, 1.f))); + detail::u5u5u5u1 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm3x5_1x1(uint16 v) + { + vec4 const ScaleFactor(1.f / 31.f, 1.f / 31.f, 1.f / 31.f, 1.f); + detail::u5u5u5u1 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint8 packUnorm2x3_1x2(vec3 const& v) + { + u32vec3 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec3(7.f, 7.f, 3.f))); + detail::u3u3u2 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackUnorm2x3_1x2(uint8 v) + { + vec3 const ScaleFactor(1.f / 7.f, 1.f / 7.f, 1.f / 3.f); + detail::u3u3u2 Unpack; + Unpack.pack = v; + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER int16 packInt2x8(i8vec2 const& v) + { + int16 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i8vec2 unpackInt2x8(int16 p) + { + i8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint16 packUint2x8(u8vec2 const& v) + { + uint16 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u8vec2 unpackUint2x8(uint16 p) + { + u8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int32 packInt4x8(i8vec4 const& v) + { + int32 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i8vec4 unpackInt4x8(int32 p) + { + i8vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint32 packUint4x8(u8vec4 const& v) + { + uint32 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u8vec4 unpackUint4x8(uint32 p) + { + u8vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int packInt2x16(i16vec2 const& v) + { + int Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i16vec2 unpackInt2x16(int p) + { + i16vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int64 packInt4x16(i16vec4 const& v) + { + int64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i16vec4 unpackInt4x16(int64 p) + { + i16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint packUint2x16(u16vec2 const& v) + { + uint Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u16vec2 unpackUint2x16(uint p) + { + u16vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint64 packUint4x16(u16vec4 const& v) + { + uint64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u16vec4 unpackUint4x16(uint64 p) + { + u16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int64 packInt2x32(i32vec2 const& v) + { + int64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i32vec2 unpackInt2x32(int64 p) + { + i32vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint64 packUint2x32(u32vec2 const& v) + { + uint64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u32vec2 unpackUint2x32(uint64 p) + { + u32vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } +}//namespace glm + diff --git a/vendor/glm/gtc/quaternion.hpp b/vendor/glm/gtc/quaternion.hpp new file mode 100755 index 0000000000..25f741cc1d --- /dev/null +++ b/vendor/glm/gtc/quaternion.hpp @@ -0,0 +1,437 @@ +/// @ref gtc_quaternion +/// @file glm/gtc/quaternion.hpp +/// +/// @see core (dependence) +/// @see gtc_constants (dependence) +/// +/// @defgroup gtc_quaternion GLM_GTC_quaternion +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines a templated quaternion type and several quaternion operations. + +#pragma once + +// Dependency: +#include "../mat3x3.hpp" +#include "../mat4x4.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/constants.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_quaternion extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_quaternion + /// @{ + + template + struct tquat + { + // -- Implementation detail -- + + typedef tquat type; + typedef T value_type; + + // -- Data -- + +# if GLM_HAS_ALIGNED_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# endif + + union + { + struct { T x, y, z, w;}; + typename detail::storage::value>::type data; + }; + +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# endif +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# endif +# else + T x, y, z, w; +# endif + + // -- Component accesses -- + + typedef length_t length_type; + /// Return the count of components of a quaternion + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL T & operator[](length_type i); + GLM_FUNC_DECL T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tquat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR tquat(tquat const& q) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR tquat(tquat const& q); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tquat(T s, vec<3, T, Q> const& v); + GLM_FUNC_DECL GLM_CONSTEXPR tquat(T w, T x, T y, T z); + + // -- Conversion constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tquat(tquat const& q); + + /// Explicit conversion operators +# if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + GLM_FUNC_DECL explicit operator mat<3, 3, T, Q>(); + GLM_FUNC_DECL explicit operator mat<4, 4, T, Q>(); +# endif + + /// Create a quaternion from two normalized axis + /// + /// @param u A first normalized axis + /// @param v A second normalized axis + /// @see gtc_quaternion + /// @see http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors + GLM_FUNC_DECL tquat(vec<3, T, Q> const& u, vec<3, T, Q> const& v); + + /// Build a quaternion from euler angles (pitch, yaw, roll), in radians. + GLM_FUNC_DECL GLM_EXPLICIT tquat(vec<3, T, Q> const& eulerAngles); + GLM_FUNC_DECL GLM_EXPLICIT tquat(mat<3, 3, T, Q> const& q); + GLM_FUNC_DECL GLM_EXPLICIT tquat(mat<4, 4, T, Q> const& q); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL tquat & operator=(tquat const& q) GLM_DEFAULT; + + template + GLM_FUNC_DECL tquat & operator=(tquat const& q); + template + GLM_FUNC_DECL tquat & operator+=(tquat const& q); + template + GLM_FUNC_DECL tquat & operator-=(tquat const& q); + template + GLM_FUNC_DECL tquat & operator*=(tquat const& q); + template + GLM_FUNC_DECL tquat & operator*=(U s); + template + GLM_FUNC_DECL tquat & operator/=(U s); + }; + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL tquat operator+(tquat const& q); + + template + GLM_FUNC_DECL tquat operator-(tquat const& q); + + // -- Binary operators -- + + template + GLM_FUNC_DECL tquat operator+(tquat const& q, tquat const& p); + + template + GLM_FUNC_DECL tquat operator-(tquat const& q, tquat const& p); + + template + GLM_FUNC_DECL tquat operator*(tquat const& q, tquat const& p); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(tquat const& q, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, tquat const& q); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(tquat const& q, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, tquat const& q); + + template + GLM_FUNC_DECL tquat operator*(tquat const& q, T const& s); + + template + GLM_FUNC_DECL tquat operator*(T const& s, tquat const& q); + + template + GLM_FUNC_DECL tquat operator/(tquat const& q, T const& s); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(tquat const& q1, tquat const& q2); + + template + GLM_FUNC_DECL bool operator!=(tquat const& q1, tquat const& q2); + + /// Returns the length of the quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T length(tquat const& q); + + /// Returns the normalized quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat normalize(tquat const& q); + + /// Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T dot(tquat const& x, tquat const& y); + + /// Spherical linear interpolation of two quaternions. + /// The interpolation is oriented and the rotation is performed at constant speed. + /// For short path spherical linear interpolation, use the slerp function. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @tparam T Floating-point scalar types. + /// + /// @see - slerp(tquat const& x, tquat const& y, T const& a) + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat mix(tquat const& x, tquat const& y, T a); + + /// Linear interpolation of two quaternions. + /// The interpolation is oriented. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined in the range [0, 1]. + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat lerp(tquat const& x, tquat const& y, T a); + + /// Spherical linear interpolation of two quaternions. + /// The interpolation always take the short path and the rotation is performed at constant speed. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat slerp(tquat const& x, tquat const& y, T a); + + /// Returns the q conjugate. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat conjugate(tquat const& q); + + /// Returns the q inverse. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat inverse(tquat const& q); + + /// Rotates a quaternion from a vector of 3 components axis and an angle. + /// + /// @param q Source orientation + /// @param angle Angle expressed in radians. + /// @param axis Axis of the rotation + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat rotate(tquat const& q, T const& angle, vec<3, T, Q> const& axis); + + /// Returns euler angles, pitch as x, yaw as y, roll as z. + /// The result is expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> eulerAngles(tquat const& x); + + /// Returns roll value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T roll(tquat const& x); + + /// Returns pitch value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T pitch(tquat const& x); + + /// Returns yaw value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T yaw(tquat const& x); + + /// Converts a quaternion to a 3 * 3 matrix. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL mat<3, 3, T, Q> mat3_cast(tquat const& x); + + /// Converts a quaternion to a 4 * 4 matrix. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL mat<4, 4, T, Q> mat4_cast(tquat const& x); + + /// Converts a pure rotation 3 * 3 matrix to a quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat quat_cast(mat<3, 3, T, Q> const& x); + + /// Converts a pure rotation 4 * 4 matrix to a quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat quat_cast(mat<4, 4, T, Q> const& x); + + /// Returns the quaternion rotation angle. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T angle(tquat const& x); + + /// Returns the q rotation axis. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> axis(tquat const& x); + + /// Build a quaternion from an angle and a normalized axis. + /// + /// @param angle Angle expressed in radians. + /// @param axis Axis of the quaternion, must be normalized. + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL tquat angleAxis(T const& angle, vec<3, T, Q> const& axis); + + /// Returns the component-wise comparison result of x < y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> lessThan(tquat const& x, tquat const& y); + + /// Returns the component-wise comparison of result x <= y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> lessThanEqual(tquat const& x, tquat const& y); + + /// Returns the component-wise comparison of result x > y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> greaterThan(tquat const& x, tquat const& y); + + /// Returns the component-wise comparison of result x >= y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> greaterThanEqual(tquat const& x, tquat const& y); + + /// Returns the component-wise comparison of result x == y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> equal(tquat const& x, tquat const& y); + + /// Returns the component-wise comparison of result x != y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> notEqual(tquat const& x, tquat const& y); + + /// Returns true if x holds a NaN (not a number) + /// representation in the underlying implementation's set of + /// floating point representations. Returns false otherwise, + /// including for implementations with no NaN + /// representations. + /// + /// /!\ When using compiler fast math, this function may fail. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> isnan(tquat const& x); + + /// Returns true if x holds a positive infinity or negative + /// infinity representation in the underlying implementation's + /// set of floating point representations. Returns false + /// otherwise, including for implementations with no infinity + /// representations. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<4, bool, Q> isinf(tquat const& x); + + /// @} +} //namespace glm + +#include "quaternion.inl" diff --git a/vendor/glm/gtc/quaternion.inl b/vendor/glm/gtc/quaternion.inl new file mode 100755 index 0000000000..df4a5f7ead --- /dev/null +++ b/vendor/glm/gtc/quaternion.inl @@ -0,0 +1,808 @@ +/// @ref gtc_quaternion +/// @file glm/gtc/quaternion.inl + +#include "../trigonometric.hpp" +#include "../geometric.hpp" +#include "../exponential.hpp" +#include "../detail/compute_vector_relational.hpp" +#include "epsilon.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_dot, T, Aligned> + { + static GLM_FUNC_QUALIFIER T call(tquat const& a, tquat const& b) + { + vec<4, T, Q> tmp(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w); + return (tmp.x + tmp.y) + (tmp.z + tmp.w); + } + }; + + template + struct compute_quat_add + { + static tquat call(tquat const& q, tquat const& p) + { + return tquat(q.w + p.w, q.x + p.x, q.y + p.y, q.z + p.z); + } + }; + + template + struct compute_quat_sub + { + static tquat call(tquat const& q, tquat const& p) + { + return tquat(q.w - p.w, q.x - p.x, q.y - p.y, q.z - p.z); + } + }; + + template + struct compute_quat_mul_scalar + { + static tquat call(tquat const& q, T s) + { + return tquat(q.w * s, q.x * s, q.y * s, q.z * s); + } + }; + + template + struct compute_quat_div_scalar + { + static tquat call(tquat const& q, T s) + { + return tquat(q.w / s, q.x / s, q.y / s, q.z / s); + } + }; + + template + struct compute_quat_mul_vec4 + { + static vec<4, T, Q> call(tquat const& q, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(q * vec<3, T, Q>(v), v.w); + } + }; +}//namespace detail + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER T & tquat::operator[](typename tquat::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + template + GLM_FUNC_QUALIFIER T const& tquat::operator[](typename tquat::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&x)[i]; + } + + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat() +# ifdef GLM_FORCE_CTOR_INIT + : x(0), y(0), z(0), w(1) +# endif + {} +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat(tquat const& q) + : x(q.x), y(q.y), z(q.z), w(q.w) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat(tquat const& q) + : x(q.x), y(q.y), z(q.z), w(q.w) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat(T s, vec<3, T, Q> const& v) + : x(v.x), y(v.y), z(v.z), w(s) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat(T _w, T _x, T _y, T _z) + : x(_x), y(_y), z(_z), w(_w) + {} + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tquat::tquat(tquat const& q) + : x(static_cast(q.x)) + , y(static_cast(q.y)) + , z(static_cast(q.z)) + , w(static_cast(q.w)) + {} + + //template + //GLM_FUNC_QUALIFIER tquat::tquat + //( + // valType const& pitch, + // valType const& yaw, + // valType const& roll + //) + //{ + // vec<3, valType> eulerAngle(pitch * valType(0.5), yaw * valType(0.5), roll * valType(0.5)); + // vec<3, valType> c = glm::cos(eulerAngle * valType(0.5)); + // vec<3, valType> s = glm::sin(eulerAngle * valType(0.5)); + // + // this->w = c.x * c.y * c.z + s.x * s.y * s.z; + // this->x = s.x * c.y * c.z - c.x * s.y * s.z; + // this->y = c.x * s.y * c.z + s.x * c.y * s.z; + // this->z = c.x * c.y * s.z - s.x * s.y * c.z; + //} + + template + GLM_FUNC_QUALIFIER tquat::tquat(vec<3, T, Q> const& u, vec<3, T, Q> const& v) + { + T norm_u_norm_v = sqrt(dot(u, u) * dot(v, v)); + T real_part = norm_u_norm_v + dot(u, v); + vec<3, T, Q> t; + + if(real_part < static_cast(1.e-6f) * norm_u_norm_v) + { + // If u and v are exactly opposite, rotate 180 degrees + // around an arbitrary orthogonal axis. Axis normalisation + // can happen later, when we normalise the quaternion. + real_part = static_cast(0); + t = abs(u.x) > abs(u.z) ? vec<3, T, Q>(-u.y, u.x, static_cast(0)) : vec<3, T, Q>(static_cast(0), -u.z, u.y); + } + else + { + // Otherwise, build quaternion the standard way. + t = cross(u, v); + } + + *this = normalize(tquat(real_part, t.x, t.y, t.z)); + } + + template + GLM_FUNC_QUALIFIER tquat::tquat(vec<3, T, Q> const& eulerAngle) + { + vec<3, T, Q> c = glm::cos(eulerAngle * T(0.5)); + vec<3, T, Q> s = glm::sin(eulerAngle * T(0.5)); + + this->w = c.x * c.y * c.z + s.x * s.y * s.z; + this->x = s.x * c.y * c.z - c.x * s.y * s.z; + this->y = c.x * s.y * c.z + s.x * c.y * s.z; + this->z = c.x * c.y * s.z - s.x * s.y * c.z; + } + + template + GLM_FUNC_QUALIFIER tquat::tquat(mat<3, 3, T, Q> const& m) + { + *this = quat_cast(m); + } + + template + GLM_FUNC_QUALIFIER tquat::tquat(mat<4, 4, T, Q> const& m) + { + *this = quat_cast(m); + } + +# if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + template + GLM_FUNC_QUALIFIER tquat::operator mat<3, 3, T, Q>() + { + return mat3_cast(*this); + } + + template + GLM_FUNC_QUALIFIER tquat::operator mat<4, 4, T, Q>() + { + return mat4_cast(*this); + } +# endif//GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + + template + GLM_FUNC_QUALIFIER tquat conjugate(tquat const& q) + { + return tquat(q.w, -q.x, -q.y, -q.z); + } + + template + GLM_FUNC_QUALIFIER tquat inverse(tquat const& q) + { + return conjugate(q) / dot(q, q); + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER tquat & tquat::operator=(tquat const& q) + { + this->w = q.w; + this->x = q.x; + this->y = q.y; + this->z = q.z; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator=(tquat const& q) + { + this->w = static_cast(q.w); + this->x = static_cast(q.x); + this->y = static_cast(q.y); + this->z = static_cast(q.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator+=(tquat const& q) + { + return (*this = detail::compute_quat_add::value>::call(*this, tquat(q))); + } + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator-=(tquat const& q) + { + return (*this = detail::compute_quat_sub::value>::call(*this, tquat(q))); + } + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator*=(tquat const& r) + { + tquat const p(*this); + tquat const q(r); + + this->w = p.w * q.w - p.x * q.x - p.y * q.y - p.z * q.z; + this->x = p.w * q.x + p.x * q.w + p.y * q.z - p.z * q.y; + this->y = p.w * q.y + p.y * q.w + p.z * q.x - p.x * q.z; + this->z = p.w * q.z + p.z * q.w + p.x * q.y - p.y * q.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator*=(U s) + { + return (*this = detail::compute_quat_mul_scalar::value>::call(*this, static_cast(s))); + } + + template + template + GLM_FUNC_QUALIFIER tquat & tquat::operator/=(U s) + { + return (*this = detail::compute_quat_div_scalar::value>::call(*this, static_cast(s))); + } + + // -- Unary bit operators -- + + template + GLM_FUNC_QUALIFIER tquat operator+(tquat const& q) + { + return q; + } + + template + GLM_FUNC_QUALIFIER tquat operator-(tquat const& q) + { + return tquat(-q.w, -q.x, -q.y, -q.z); + } + + // -- Binary operators -- + + template + GLM_FUNC_QUALIFIER tquat operator+(tquat const& q, tquat const& p) + { + return tquat(q) += p; + } + + template + GLM_FUNC_QUALIFIER tquat operator-(tquat const& q, tquat const& p) + { + return tquat(q) -= p; + } + + template + GLM_FUNC_QUALIFIER tquat operator*(tquat const& q, tquat const& p) + { + return tquat(q) *= p; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(tquat const& q, vec<3, T, Q> const& v) + { + vec<3, T, Q> const QuatVector(q.x, q.y, q.z); + vec<3, T, Q> const uv(glm::cross(QuatVector, v)); + vec<3, T, Q> const uuv(glm::cross(QuatVector, uv)); + + return v + ((uv * q.w) + uuv) * static_cast(2); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v, tquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(tquat const& q, vec<4, T, Q> const& v) + { + return detail::compute_quat_mul_vec4::value>::call(q, v); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v, tquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER tquat operator*(tquat const& q, T const& s) + { + return tquat( + q.w * s, q.x * s, q.y * s, q.z * s); + } + + template + GLM_FUNC_QUALIFIER tquat operator*(T const& s, tquat const& q) + { + return q * s; + } + + template + GLM_FUNC_QUALIFIER tquat operator/(tquat const& q, T const& s) + { + return tquat( + q.w / s, q.x / s, q.y / s, q.z / s); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(tquat const& q1, tquat const& q2) + { + return all(epsilonEqual(q1, q2, epsilon())); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(tquat const& q1, tquat const& q2) + { + return any(epsilonNotEqual(q1, q2, epsilon())); + } + + // -- Operations -- + + template + GLM_FUNC_QUALIFIER T dot(tquat const& x, tquat const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return detail::compute_dot, T, detail::is_aligned::value>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER T length(tquat const& q) + { + return glm::sqrt(dot(q, q)); + } + + template + GLM_FUNC_QUALIFIER tquat normalize(tquat const& q) + { + T len = length(q); + if(len <= T(0)) // Problem + return tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); + T oneOverLen = T(1) / len; + return tquat(q.w * oneOverLen, q.x * oneOverLen, q.y * oneOverLen, q.z * oneOverLen); + } + + template + GLM_FUNC_QUALIFIER tquat cross(tquat const& q1, tquat const& q2) + { + return tquat( + q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z, + q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y, + q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z, + q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x); + } +/* + // (x * sin(1 - a) * angle / sin(angle)) + (y * sin(a) * angle / sin(angle)) + template + GLM_FUNC_QUALIFIER tquat mix(tquat const& x, tquat const& y, T const& a) + { + if(a <= T(0)) return x; + if(a >= T(1)) return y; + + float fCos = dot(x, y); + tquat y2(y); //BUG!!! tquat y2; + if(fCos < T(0)) + { + y2 = -y; + fCos = -fCos; + } + + //if(fCos > 1.0f) // problem + float k0, k1; + if(fCos > T(0.9999)) + { + k0 = T(1) - a; + k1 = T(0) + a; //BUG!!! 1.0f + a; + } + else + { + T fSin = sqrt(T(1) - fCos * fCos); + T fAngle = atan(fSin, fCos); + T fOneOverSin = static_cast(1) / fSin; + k0 = sin((T(1) - a) * fAngle) * fOneOverSin; + k1 = sin((T(0) + a) * fAngle) * fOneOverSin; + } + + return tquat( + k0 * x.w + k1 * y2.w, + k0 * x.x + k1 * y2.x, + k0 * x.y + k1 * y2.y, + k0 * x.z + k1 * y2.z); + } + + template + GLM_FUNC_QUALIFIER tquat mix2 + ( + tquat const& x, + tquat const& y, + T const& a + ) + { + bool flip = false; + if(a <= static_cast(0)) return x; + if(a >= static_cast(1)) return y; + + T cos_t = dot(x, y); + if(cos_t < T(0)) + { + cos_t = -cos_t; + flip = true; + } + + T alpha(0), beta(0); + + if(T(1) - cos_t < 1e-7) + beta = static_cast(1) - alpha; + else + { + T theta = acos(cos_t); + T sin_t = sin(theta); + beta = sin(theta * (T(1) - alpha)) / sin_t; + alpha = sin(alpha * theta) / sin_t; + } + + if(flip) + alpha = -alpha; + + return normalize(beta * x + alpha * y); + } +*/ + + template + GLM_FUNC_QUALIFIER tquat mix(tquat const& x, tquat const& y, T a) + { + T cosTheta = dot(x, y); + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > T(1) - epsilon()) + { + // Linear interpolation + return tquat( + mix(x.w, y.w, a), + mix(x.x, y.x, a), + mix(x.y, y.y, a), + mix(x.z, y.z, a)); + } + else + { + // Essential Mathematics, page 467 + T angle = acos(cosTheta); + return (sin((T(1) - a) * angle) * x + sin(a * angle) * y) / sin(angle); + } + } + + template + GLM_FUNC_QUALIFIER tquat lerp(tquat const& x, tquat const& y, T a) + { + // Lerp is only defined in [0, 1] + assert(a >= static_cast(0)); + assert(a <= static_cast(1)); + + return x * (T(1) - a) + (y * a); + } + + template + GLM_FUNC_QUALIFIER tquat slerp(tquat const& x, tquat const& y, T a) + { + tquat z = y; + + T cosTheta = dot(x, y); + + // If cosTheta < 0, the interpolation will take the long way around the sphere. + // To fix this, one quat must be negated. + if (cosTheta < T(0)) + { + z = -y; + cosTheta = -cosTheta; + } + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > T(1) - epsilon()) + { + // Linear interpolation + return tquat( + mix(x.w, z.w, a), + mix(x.x, z.x, a), + mix(x.y, z.y, a), + mix(x.z, z.z, a)); + } + else + { + // Essential Mathematics, page 467 + T angle = acos(cosTheta); + return (sin((T(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle); + } + } + + template + GLM_FUNC_QUALIFIER tquat rotate(tquat const& q, T const& angle, vec<3, T, Q> const& v) + { + vec<3, T, Q> Tmp = v; + + // Axis of rotation must be normalised + T len = glm::length(Tmp); + if(abs(len - T(1)) > T(0.001)) + { + T oneOverLen = static_cast(1) / len; + Tmp.x *= oneOverLen; + Tmp.y *= oneOverLen; + Tmp.z *= oneOverLen; + } + + T const AngleRad(angle); + T const Sin = sin(AngleRad * T(0.5)); + + return q * tquat(cos(AngleRad * T(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); + //return gtc::quaternion::cross(q, tquat(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> eulerAngles(tquat const& x) + { + return vec<3, T, Q>(pitch(x), yaw(x), roll(x)); + } + + template + GLM_FUNC_QUALIFIER T roll(tquat const& q) + { + return static_cast(atan(static_cast(2) * (q.x * q.y + q.w * q.z), q.w * q.w + q.x * q.x - q.y * q.y - q.z * q.z)); + } + + template + GLM_FUNC_QUALIFIER T pitch(tquat const& q) + { + //return T(atan(T(2) * (q.y * q.z + q.w * q.x), q.w * q.w - q.x * q.x - q.y * q.y + q.z * q.z)); + const T y = static_cast(2) * (q.y * q.z + q.w * q.x); + const T x = q.w * q.w - q.x * q.x - q.y * q.y + q.z * q.z; + + if(detail::compute_equal::call(y, static_cast(0)) && detail::compute_equal::call(x, static_cast(0))) //avoid atan2(0,0) - handle singularity - Matiis + return static_cast(static_cast(2) * atan(q.x,q.w)); + + return static_cast(atan(y,x)); + } + + template + GLM_FUNC_QUALIFIER T yaw(tquat const& q) + { + return asin(clamp(static_cast(-2) * (q.x * q.z - q.w * q.y), static_cast(-1), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat3_cast(tquat const& q) + { + mat<3, 3, T, Q> Result(T(1)); + T qxx(q.x * q.x); + T qyy(q.y * q.y); + T qzz(q.z * q.z); + T qxz(q.x * q.z); + T qxy(q.x * q.y); + T qyz(q.y * q.z); + T qwx(q.w * q.x); + T qwy(q.w * q.y); + T qwz(q.w * q.z); + + Result[0][0] = T(1) - T(2) * (qyy + qzz); + Result[0][1] = T(2) * (qxy + qwz); + Result[0][2] = T(2) * (qxz - qwy); + + Result[1][0] = T(2) * (qxy - qwz); + Result[1][1] = T(1) - T(2) * (qxx + qzz); + Result[1][2] = T(2) * (qyz + qwx); + + Result[2][0] = T(2) * (qxz + qwy); + Result[2][1] = T(2) * (qyz - qwx); + Result[2][2] = T(1) - T(2) * (qxx + qyy); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat4_cast(tquat const& q) + { + return mat<4, 4, T, Q>(mat3_cast(q)); + } + + template + GLM_FUNC_QUALIFIER tquat quat_cast(mat<3, 3, T, Q> const& m) + { + T fourXSquaredMinus1 = m[0][0] - m[1][1] - m[2][2]; + T fourYSquaredMinus1 = m[1][1] - m[0][0] - m[2][2]; + T fourZSquaredMinus1 = m[2][2] - m[0][0] - m[1][1]; + T fourWSquaredMinus1 = m[0][0] + m[1][1] + m[2][2]; + + int biggestIndex = 0; + T fourBiggestSquaredMinus1 = fourWSquaredMinus1; + if(fourXSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourXSquaredMinus1; + biggestIndex = 1; + } + if(fourYSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourYSquaredMinus1; + biggestIndex = 2; + } + if(fourZSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourZSquaredMinus1; + biggestIndex = 3; + } + + T biggestVal = sqrt(fourBiggestSquaredMinus1 + static_cast(1)) * static_cast(0.5); + T mult = static_cast(0.25) / biggestVal; + + switch(biggestIndex) + { + case 0: + return tquat(biggestVal, (m[1][2] - m[2][1]) * mult, (m[2][0] - m[0][2]) * mult, (m[0][1] - m[1][0]) * mult); + case 1: + return tquat((m[1][2] - m[2][1]) * mult, biggestVal, (m[0][1] + m[1][0]) * mult, (m[2][0] + m[0][2]) * mult); + case 2: + return tquat((m[2][0] - m[0][2]) * mult, (m[0][1] + m[1][0]) * mult, biggestVal, (m[1][2] + m[2][1]) * mult); + case 3: + return tquat((m[0][1] - m[1][0]) * mult, (m[2][0] + m[0][2]) * mult, (m[1][2] + m[2][1]) * mult, biggestVal); + default: // Silence a -Wswitch-default warning in GCC. Should never actually get here. Assert is just for sanity. + assert(false); + return tquat(1, 0, 0, 0); + } + } + + template + GLM_FUNC_QUALIFIER tquat quat_cast(mat<4, 4, T, Q> const& m4) + { + return quat_cast(mat<3, 3, T, Q>(m4)); + } + + template + GLM_FUNC_QUALIFIER T angle(tquat const& x) + { + return acos(x.w) * static_cast(2); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> axis(tquat const& x) + { + T tmp1 = static_cast(1) - x.w * x.w; + if(tmp1 <= static_cast(0)) + return vec<3, T, Q>(0, 0, 1); + T tmp2 = static_cast(1) / sqrt(tmp1); + return vec<3, T, Q>(x.x * tmp2, x.y * tmp2, x.z * tmp2); + } + + template + GLM_FUNC_QUALIFIER tquat angleAxis(T const& angle, vec<3, T, Q> const& v) + { + tquat Result; + + T const a(angle); + T const s = glm::sin(a * static_cast(0.5)); + + Result.w = glm::cos(a * static_cast(0.5)); + Result.x = v.x * s; + Result.y = v.y * s; + Result.z = v.z * s; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> lessThan(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] < y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> lessThanEqual(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] <= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> greaterThan(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] > y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> greaterThanEqual(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] >= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> equal(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = detail::compute_equal::call(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> notEqual(tquat const& x, tquat const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = !detail::compute_equal::call(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isnan(tquat const& q) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + + return vec<4, bool, Q>(isnan(q.x), isnan(q.y), isnan(q.z), isnan(q.w)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isinf(tquat const& q) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + + return vec<4, bool, Q>(isinf(q.x), isinf(q.y), isinf(q.z), isinf(q.w)); + } +}//namespace glm + +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_ALIGNED_TYPE +# include "quaternion_simd.inl" +#endif + diff --git a/vendor/glm/gtc/quaternion_simd.inl b/vendor/glm/gtc/quaternion_simd.inl new file mode 100755 index 0000000000..06ca7b7bea --- /dev/null +++ b/vendor/glm/gtc/quaternion_simd.inl @@ -0,0 +1,198 @@ +/// @ref core +/// @file glm/gtc/quaternion_simd.inl + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ +/* + template + struct compute_quat_mul + { + static tquat call(tquat const& q1, tquat const& q2) + { + // SSE2 STATS: 11 shuffle, 8 mul, 8 add + // SSE4 STATS: 3 shuffle, 4 mul, 4 dpps + + __m128 const mul0 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(0, 1, 2, 3))); + __m128 const mul1 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(1, 0, 3, 2))); + __m128 const mul2 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(2, 3, 0, 1))); + __m128 const mul3 = _mm_mul_ps(q1.Data, q2.Data); + +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + __m128 const add0 = _mm_dp_ps(mul0, _mm_set_ps(1.0f, -1.0f, 1.0f, 1.0f), 0xff); + __m128 const add1 = _mm_dp_ps(mul1, _mm_set_ps(1.0f, 1.0f, 1.0f, -1.0f), 0xff); + __m128 const add2 = _mm_dp_ps(mul2, _mm_set_ps(1.0f, 1.0f, -1.0f, 1.0f), 0xff); + __m128 const add3 = _mm_dp_ps(mul3, _mm_set_ps(1.0f, -1.0f, -1.0f, -1.0f), 0xff); +# else + __m128 const mul4 = _mm_mul_ps(mul0, _mm_set_ps(1.0f, -1.0f, 1.0f, 1.0f)); + __m128 const add0 = _mm_add_ps(mul0, _mm_movehl_ps(mul4, mul4)); + __m128 const add4 = _mm_add_ss(add0, _mm_shuffle_ps(add0, add0, 1)); + + __m128 const mul5 = _mm_mul_ps(mul1, _mm_set_ps(1.0f, 1.0f, 1.0f, -1.0f)); + __m128 const add1 = _mm_add_ps(mul1, _mm_movehl_ps(mul5, mul5)); + __m128 const add5 = _mm_add_ss(add1, _mm_shuffle_ps(add1, add1, 1)); + + __m128 const mul6 = _mm_mul_ps(mul2, _mm_set_ps(1.0f, 1.0f, -1.0f, 1.0f)); + __m128 const add2 = _mm_add_ps(mul6, _mm_movehl_ps(mul6, mul6)); + __m128 const add6 = _mm_add_ss(add2, _mm_shuffle_ps(add2, add2, 1)); + + __m128 const mul7 = _mm_mul_ps(mul3, _mm_set_ps(1.0f, -1.0f, -1.0f, -1.0f)); + __m128 const add3 = _mm_add_ps(mul3, _mm_movehl_ps(mul7, mul7)); + __m128 const add7 = _mm_add_ss(add3, _mm_shuffle_ps(add3, add3, 1)); + #endif + + // This SIMD code is a politically correct way of doing this, but in every test I've tried it has been slower than + // the final code below. I'll keep this here for reference - maybe somebody else can do something better... + // + //__m128 xxyy = _mm_shuffle_ps(add4, add5, _MM_SHUFFLE(0, 0, 0, 0)); + //__m128 zzww = _mm_shuffle_ps(add6, add7, _MM_SHUFFLE(0, 0, 0, 0)); + // + //return _mm_shuffle_ps(xxyy, zzww, _MM_SHUFFLE(2, 0, 2, 0)); + + tquat Result; + _mm_store_ss(&Result.x, add4); + _mm_store_ss(&Result.y, add5); + _mm_store_ss(&Result.z, add6); + _mm_store_ss(&Result.w, add7); + return Result; + } + }; +*/ + + template + struct compute_dot, float, true> + { + static GLM_FUNC_QUALIFIER float call(tquat const& x, tquat const& y) + { + return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); + } + }; + + template + struct compute_quat_add + { + static tquat call(tquat const& q, tquat const& p) + { + tquat Result; + Result.data = _mm_add_ps(q.data, p.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_add + { + static tquat call(tquat const& a, tquat const& b) + { + tquat Result; + Result.data = _mm256_add_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_quat_sub + { + static tquat call(tquat const& q, tquat const& p) + { + vec<4, float, Q> Result; + Result.data = _mm_sub_ps(q.data, p.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_sub + { + static tquat call(tquat const& a, tquat const& b) + { + tquat Result; + Result.data = _mm256_sub_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_quat_mul_scalar + { + static tquat call(tquat const& q, float s) + { + vec<4, float, Q> Result; + Result.data = _mm_mul_ps(q.data, _mm_set_ps1(s)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_mul_scalar + { + static tquat call(tquat const& q, double s) + { + tquat Result; + Result.data = _mm256_mul_pd(q.data, _mm_set_ps1(s)); + return Result; + } + }; +# endif + + template + struct compute_quat_div_scalar + { + static tquat call(tquat const& q, float s) + { + vec<4, float, Q> Result; + Result.data = _mm_div_ps(q.data, _mm_set_ps1(s)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_div_scalar + { + static tquat call(tquat const& q, double s) + { + tquat Result; + Result.data = _mm256_div_pd(q.data, _mm_set_ps1(s)); + return Result; + } + }; +# endif + + template + struct compute_quat_mul_vec4 + { + static vec<4, float, Q> call(tquat const& q, vec<4, float, Q> const& v) + { + __m128 const q_wwww = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 3, 3, 3)); + __m128 const q_swp0 = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 const q_swp1 = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 1, 0, 2)); + __m128 const v_swp0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 const v_swp1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 1, 0, 2)); + + __m128 uv = _mm_sub_ps(_mm_mul_ps(q_swp0, v_swp1), _mm_mul_ps(q_swp1, v_swp0)); + __m128 uv_swp0 = _mm_shuffle_ps(uv, uv, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 uv_swp1 = _mm_shuffle_ps(uv, uv, _MM_SHUFFLE(3, 1, 0, 2)); + __m128 uuv = _mm_sub_ps(_mm_mul_ps(q_swp0, uv_swp1), _mm_mul_ps(q_swp1, uv_swp0)); + + __m128 const two = _mm_set1_ps(2.0f); + uv = _mm_mul_ps(uv, _mm_mul_ps(q_wwww, two)); + uuv = _mm_mul_ps(uuv, two); + + vec<4, float, Q> Result; + Result.data = _mm_add_ps(v.Data, _mm_add_ps(uv, uuv)); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + diff --git a/vendor/glm/gtc/random.hpp b/vendor/glm/gtc/random.hpp new file mode 100755 index 0000000000..9156e43468 --- /dev/null +++ b/vendor/glm/gtc/random.hpp @@ -0,0 +1,81 @@ +/// @ref gtc_random +/// @file glm/gtc/random.hpp +/// +/// @see core (dependence) +/// @see gtx_random (extended) +/// +/// @defgroup gtc_random GLM_GTC_random +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Generate random number from various distribution methods. + +#pragma once + +// Dependency: +#include "../vec2.hpp" +#include "../vec3.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_random extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_random + /// @{ + + /// Generate random numbers in the interval [Min, Max], according a linear distribution + /// + /// @param Min Minimum value included in the sampling + /// @param Max Maximum value included in the sampling + /// @tparam genType Value type. Currently supported: float or double scalars. + /// @see gtc_random + template + GLM_FUNC_DECL genType linearRand(genType Min, genType Max); + + /// Generate random numbers in the interval [Min, Max], according a linear distribution + /// + /// @param Min Minimum value included in the sampling + /// @param Max Maximum value included in the sampling + /// @tparam T Value type. Currently supported: float or double. + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec linearRand(vec const& Min, vec const& Max); + + /// Generate random numbers in the interval [Min, Max], according a gaussian distribution + /// + /// @see gtc_random + template + GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation); + + /// Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<2, T, defaultp> circularRand(T Radius); + + /// Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<3, T, defaultp> sphericalRand(T Radius); + + /// Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<2, T, defaultp> diskRand(T Radius); + + /// Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<3, T, defaultp> ballRand(T Radius); + + /// @} +}//namespace glm + +#include "random.inl" diff --git a/vendor/glm/gtc/random.inl b/vendor/glm/gtc/random.inl new file mode 100755 index 0000000000..5301c59c64 --- /dev/null +++ b/vendor/glm/gtc/random.inl @@ -0,0 +1,298 @@ +/// @ref gtc_random +/// @file glm/gtc/random.inl + +#include "../geometric.hpp" +#include "../exponential.hpp" +#include "../trigonometric.hpp" +#include "../ext/vec1.hpp" +#include +#include +#include +#include + +namespace glm{ +namespace detail +{ + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call(); + }; + + template + struct compute_rand<1, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<1, uint8, P> call() + { + return vec<1, uint8, P>( + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<2, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<2, uint8, P> call() + { + return vec<2, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<3, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<3, uint8, P> call() + { + return vec<3, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<4, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<4, uint8, P> call() + { + return vec<4, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(8)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(16)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(32)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max); + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER genType linearRand(genType Min, genType Max) + { + return detail::compute_linearRand<1, genType, highp>::call( + vec<1, genType, highp>(Min), + vec<1, genType, highp>(Max)).x; + } + + template + GLM_FUNC_QUALIFIER vec linearRand(vec const& Min, vec const& Max) + { + return detail::compute_linearRand::call(Min, Max); + } + + template + GLM_FUNC_QUALIFIER genType gaussRand(genType Mean, genType Deviation) + { + genType w, x1, x2; + + do + { + x1 = linearRand(genType(-1), genType(1)); + x2 = linearRand(genType(-1), genType(1)); + + w = x1 * x1 + x2 * x2; + } while(w > genType(1)); + + return x2 * Deviation * Deviation * sqrt((genType(-2) * log(w)) / w) + Mean; + } + + template + GLM_FUNC_QUALIFIER vec gaussRand(vec const& Mean, vec const& Deviation) + { + return detail::functor2::call(gaussRand, Mean, Deviation); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> diskRand(T Radius) + { + vec<2, T, defaultp> Result(T(0)); + T LenRadius(T(0)); + + do + { + Result = linearRand( + vec<2, T, defaultp>(-Radius), + vec<2, T, defaultp>(Radius)); + LenRadius = length(Result); + } + while(LenRadius > Radius); + + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> ballRand(T Radius) + { + vec<3, T, defaultp> Result(T(0)); + T LenRadius(T(0)); + + do + { + Result = linearRand( + vec<3, T, defaultp>(-Radius), + vec<3, T, defaultp>(Radius)); + LenRadius = length(Result); + } + while(LenRadius > Radius); + + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> circularRand(T Radius) + { + T a = linearRand(T(0), static_cast(6.283185307179586476925286766559)); + return vec<2, T, defaultp>(glm::cos(a), glm::sin(a)) * Radius; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> sphericalRand(T Radius) + { + T theta = linearRand(T(0), T(6.283185307179586476925286766559f)); + T phi = std::acos(linearRand(T(-1.0f), T(1.0f))); + + T x = std::sin(phi) * std::cos(theta); + T y = std::sin(phi) * std::sin(theta); + T z = std::cos(phi); + + return vec<3, T, defaultp>(x, y, z) * Radius; + } +}//namespace glm diff --git a/vendor/glm/gtc/reciprocal.hpp b/vendor/glm/gtc/reciprocal.hpp new file mode 100755 index 0000000000..1a2e516980 --- /dev/null +++ b/vendor/glm/gtc/reciprocal.hpp @@ -0,0 +1,135 @@ +/// @ref gtc_reciprocal +/// @file glm/gtc/reciprocal.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_reciprocal GLM_GTC_reciprocal +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Define secant, cosecant and cotangent functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_reciprocal extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_reciprocal + /// @{ + + /// Secant function. + /// hypotenuse / adjacent or 1 / cos(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType sec(genType angle); + + /// Cosecant function. + /// hypotenuse / opposite or 1 / sin(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType csc(genType angle); + + /// Cotangent function. + /// adjacent / opposite or 1 / tan(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType cot(genType angle); + + /// Inverse secant function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType asec(genType x); + + /// Inverse cosecant function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acsc(genType x); + + /// Inverse cotangent function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acot(genType x); + + /// Secant hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType sech(genType angle); + + /// Cosecant hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType csch(genType angle); + + /// Cotangent hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType coth(genType angle); + + /// Inverse secant hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType asech(genType x); + + /// Inverse cosecant hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acsch(genType x); + + /// Inverse cotangent hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acoth(genType x); + + /// @} +}//namespace glm + +#include "reciprocal.inl" diff --git a/vendor/glm/gtc/reciprocal.inl b/vendor/glm/gtc/reciprocal.inl new file mode 100755 index 0000000000..b0a8a7d98f --- /dev/null +++ b/vendor/glm/gtc/reciprocal.inl @@ -0,0 +1,192 @@ +/// @ref gtc_reciprocal +/// @file glm/gtc/reciprocal.inl + +#include "../trigonometric.hpp" +#include + +namespace glm +{ + // sec + template + GLM_FUNC_QUALIFIER genType sec(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sec' only accept floating-point values"); + return genType(1) / glm::cos(angle); + } + + template + GLM_FUNC_QUALIFIER vec sec(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sec' only accept floating-point inputs"); + return detail::functor1::call(sec, x); + } + + // csc + template + GLM_FUNC_QUALIFIER genType csc(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csc' only accept floating-point values"); + return genType(1) / glm::sin(angle); + } + + template + GLM_FUNC_QUALIFIER vec csc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csc' only accept floating-point inputs"); + return detail::functor1::call(csc, x); + } + + // cot + template + GLM_FUNC_QUALIFIER genType cot(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cot' only accept floating-point values"); + + genType const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0); + return glm::tan(pi_over_2 - angle); + } + + template + GLM_FUNC_QUALIFIER vec cot(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cot' only accept floating-point inputs"); + return detail::functor1::call(cot, x); + } + + // asec + template + GLM_FUNC_QUALIFIER genType asec(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asec' only accept floating-point values"); + return acos(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec asec(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asec' only accept floating-point inputs"); + return detail::functor1::call(asec, x); + } + + // acsc + template + GLM_FUNC_QUALIFIER genType acsc(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsc' only accept floating-point values"); + return asin(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acsc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsc' only accept floating-point inputs"); + return detail::functor1::call(acsc, x); + } + + // acot + template + GLM_FUNC_QUALIFIER genType acot(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acot' only accept floating-point values"); + + genType const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0); + return pi_over_2 - atan(x); + } + + template + GLM_FUNC_QUALIFIER vec acot(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acot' only accept floating-point inputs"); + return detail::functor1::call(acot, x); + } + + // sech + template + GLM_FUNC_QUALIFIER genType sech(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sech' only accept floating-point values"); + return genType(1) / glm::cosh(angle); + } + + template + GLM_FUNC_QUALIFIER vec sech(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sech' only accept floating-point inputs"); + return detail::functor1::call(sech, x); + } + + // csch + template + GLM_FUNC_QUALIFIER genType csch(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csch' only accept floating-point values"); + return genType(1) / glm::sinh(angle); + } + + template + GLM_FUNC_QUALIFIER vec csch(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csch' only accept floating-point inputs"); + return detail::functor1::call(csch, x); + } + + // coth + template + GLM_FUNC_QUALIFIER genType coth(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'coth' only accept floating-point values"); + return glm::cosh(angle) / glm::sinh(angle); + } + + template + GLM_FUNC_QUALIFIER vec coth(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'coth' only accept floating-point inputs"); + return detail::functor1::call(coth, x); + } + + // asech + template + GLM_FUNC_QUALIFIER genType asech(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asech' only accept floating-point values"); + return acosh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec asech(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asech' only accept floating-point inputs"); + return detail::functor1::call(asech, x); + } + + // acsch + template + GLM_FUNC_QUALIFIER genType acsch(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsch' only accept floating-point values"); + return asinh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acsch(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsch' only accept floating-point inputs"); + return detail::functor1::call(acsch, x); + } + + // acoth + template + GLM_FUNC_QUALIFIER genType acoth(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acoth' only accept floating-point values"); + return atanh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acoth(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acoth' only accept floating-point inputs"); + return detail::functor1::call(acoth, x); + } +}//namespace glm diff --git a/vendor/glm/gtc/round.hpp b/vendor/glm/gtc/round.hpp new file mode 100755 index 0000000000..d8d04c3ef2 --- /dev/null +++ b/vendor/glm/gtc/round.hpp @@ -0,0 +1,202 @@ +/// @ref gtc_round +/// @file glm/gtc/round.hpp +/// +/// @see core (dependence) +/// @see gtc_round (dependence) +/// +/// @defgroup gtc_round GLM_GTC_round +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Rounding value to specific boundings + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "../vector_relational.hpp" +#include "../common.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_round + /// @{ + + /// Return true if the value is a power of two number. + /// + /// @see gtc_round + template + GLM_FUNC_DECL bool isPowerOfTwo(genIUType v); + + /// Return true if the value is a power of two number. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec isPowerOfTwo(vec const& v); + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec ceilPowerOfTwo(vec const& v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec floorPowerOfTwo(vec const& v); + + /// Return the power of two number which value is the closet to the input value. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType v); + + /// Return the power of two number which value is the closet to the input value. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec roundPowerOfTwo(vec const& v); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @see gtc_round + template + GLM_FUNC_DECL bool isMultiple(genIUType v, genIUType Multiple); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec isMultiple(vec const& v, T Multiple); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec isMultiple(vec const& v, vec const& Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType ceilMultiple(genType v, genType Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec ceilMultiple(vec const& v, vec const& Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType floorMultiple(genType v, genType Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec floorMultiple(vec const& v, vec const& Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType roundMultiple(genType v, genType Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec roundMultiple(vec const& v, vec const& Multiple); + + /// @} +} //namespace glm + +#include "round.inl" diff --git a/vendor/glm/gtc/round.inl b/vendor/glm/gtc/round.inl new file mode 100755 index 0000000000..d4e93929ad --- /dev/null +++ b/vendor/glm/gtc/round.inl @@ -0,0 +1,344 @@ +/// @ref gtc_round +/// @file glm/gtc/round.inl + +#include "../integer.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_ceilShift + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T) + { + return v; + } + }; + + template + struct compute_ceilShift + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Shift) + { + return v | (v >> Shift); + } + }; + + template + struct compute_ceilPowerOfTwo + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + GLM_STATIC_ASSERT(!std::numeric_limits::is_iec559, "'ceilPowerOfTwo' only accept integer scalar or vector inputs"); + + vec const Sign(sign(x)); + + vec v(abs(x)); + + v = v - static_cast(1); + v = v | (v >> static_cast(1)); + v = v | (v >> static_cast(2)); + v = v | (v >> static_cast(4)); + v = compute_ceilShift= 2>::call(v, 8); + v = compute_ceilShift= 4>::call(v, 16); + v = compute_ceilShift= 8>::call(v, 32); + return (v + static_cast(1)) * Sign; + } + }; + + template + struct compute_ceilPowerOfTwo + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + GLM_STATIC_ASSERT(!std::numeric_limits::is_iec559, "'ceilPowerOfTwo' only accept integer scalar or vector inputs"); + + vec v(x); + + v = v - static_cast(1); + v = v | (v >> static_cast(1)); + v = v | (v >> static_cast(2)); + v = v | (v >> static_cast(4)); + v = compute_ceilShift= 2>::call(v, 8); + v = compute_ceilShift= 4>::call(v, 16); + v = compute_ceilShift= 8>::call(v, 32); + return v + static_cast(1); + } + }; + + template + struct compute_ceilMultiple{}; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source > genType(0)) + return Source + (Multiple - std::fmod(Source, Multiple)); + else + return Source + std::fmod(-Source, Multiple); + } + }; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + genType Tmp = Source - genType(1); + return Tmp + (Multiple - (Tmp % Multiple)); + } + }; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source > genType(0)) + { + genType Tmp = Source - genType(1); + return Tmp + (Multiple - (Tmp % Multiple)); + } + else + return Source + (-Source % Multiple); + } + }; + + template + struct compute_floorMultiple{}; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - std::fmod(Source, Multiple); + else + return Source - std::fmod(Source, Multiple) - Multiple; + } + }; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; + + template + struct compute_roundMultiple{}; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - std::fmod(Source, Multiple); + else + { + genType Tmp = Source + genType(1); + return Tmp - std::fmod(Tmp, Multiple) - Multiple; + } + } + }; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; +}//namespace detail + + //////////////// + // isPowerOfTwo + + template + GLM_FUNC_QUALIFIER bool isPowerOfTwo(genType Value) + { + genType const Result = glm::abs(Value); + return !(Result & (Result - 1)); + } + + template + GLM_FUNC_QUALIFIER vec isPowerOfTwo(vec const& Value) + { + vec const Result(abs(Value)); + return equal(Result & (Result - 1), vec(0)); + } + + ////////////////// + // ceilPowerOfTwo + + template + GLM_FUNC_QUALIFIER genType ceilPowerOfTwo(genType value) + { + return detail::compute_ceilPowerOfTwo<1, genType, defaultp, std::numeric_limits::is_signed>::call(vec<1, genType, defaultp>(value)).x; + } + + template + GLM_FUNC_QUALIFIER vec ceilPowerOfTwo(vec const& v) + { + return detail::compute_ceilPowerOfTwo::is_signed>::call(v); + } + + /////////////////// + // floorPowerOfTwo + + template + GLM_FUNC_QUALIFIER genType floorPowerOfTwo(genType value) + { + return isPowerOfTwo(value) ? value : static_cast(1) << findMSB(value); + } + + template + GLM_FUNC_QUALIFIER vec floorPowerOfTwo(vec const& v) + { + return detail::functor1::call(floorPowerOfTwo, v); + } + + /////////////////// + // roundPowerOfTwo + + template + GLM_FUNC_QUALIFIER genIUType roundPowerOfTwo(genIUType value) + { + if(isPowerOfTwo(value)) + return value; + + genIUType const prev = static_cast(1) << findMSB(value); + genIUType const next = prev << static_cast(1); + return (next - value) < (value - prev) ? next : prev; + } + + template + GLM_FUNC_QUALIFIER vec roundPowerOfTwo(vec const& v) + { + return detail::functor1::call(roundPowerOfTwo, v); + } + + //////////////// + // isMultiple + + template + GLM_FUNC_QUALIFIER bool isMultiple(genType Value, genType Multiple) + { + return isMultiple(vec<1, genType>(Value), vec<1, genType>(Multiple)).x; + } + + template + GLM_FUNC_QUALIFIER vec isMultiple(vec const& Value, T Multiple) + { + return (Value % Multiple) == vec(0); + } + + template + GLM_FUNC_QUALIFIER vec isMultiple(vec const& Value, vec const& Multiple) + { + return (Value % Multiple) == vec(0); + } + + ////////////////////// + // ceilMultiple + + template + GLM_FUNC_QUALIFIER genType ceilMultiple(genType Source, genType Multiple) + { + return detail::compute_ceilMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec ceilMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(ceilMultiple, Source, Multiple); + } + + ////////////////////// + // floorMultiple + + template + GLM_FUNC_QUALIFIER genType floorMultiple(genType Source, genType Multiple) + { + return detail::compute_floorMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec floorMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(floorMultiple, Source, Multiple); + } + + ////////////////////// + // roundMultiple + + template + GLM_FUNC_QUALIFIER genType roundMultiple(genType Source, genType Multiple) + { + return detail::compute_roundMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec roundMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(roundMultiple, Source, Multiple); + } +}//namespace glm diff --git a/vendor/glm/gtc/type_aligned.hpp b/vendor/glm/gtc/type_aligned.hpp new file mode 100755 index 0000000000..7e51ce196d --- /dev/null +++ b/vendor/glm/gtc/type_aligned.hpp @@ -0,0 +1,602 @@ +/// @ref gtc_type_aligned +/// @file glm/gtc/type_aligned.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_type_aligned GLM_GTC_type_aligned +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Aligned types allowing SIMD optimizations of vectors and matrices types + +#pragma once + +#if !GLM_HAS_ALIGNED_TYPE +# error "GLM: Aligned types are not supported on this platform" +#endif +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_aligned extension included") +#endif + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/vec1.hpp" + +namespace glm +{ + /// @addtogroup gtc_type_aligned + /// @{ + + // -- *vec1 -- + + /// 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_highp> aligned_highp_vec1; + + /// 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_mediump> aligned_mediump_vec1; + + /// 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_lowp> aligned_lowp_vec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_highp> aligned_highp_dvec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_mediump> aligned_mediump_dvec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_lowp> aligned_lowp_dvec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_highp> aligned_highp_ivec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_mediump> aligned_mediump_ivec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_lowp> aligned_lowp_ivec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_highp> aligned_highp_uvec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_mediump> aligned_mediump_uvec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_lowp> aligned_lowp_uvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_highp> aligned_highp_bvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_mediump> aligned_mediump_bvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_lowp> aligned_lowp_bvec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, float, packed_highp> packed_highp_vec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, float, packed_mediump> packed_mediump_vec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, float, packed_lowp> packed_lowp_vec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, double, packed_highp> packed_highp_dvec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, double, packed_mediump> packed_mediump_dvec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, double, packed_lowp> packed_lowp_dvec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_highp> packed_highp_ivec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_mediump> packed_mediump_ivec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_lowp> packed_lowp_ivec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_highp> packed_highp_uvec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_mediump> packed_mediump_uvec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_lowp> packed_lowp_uvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_highp> packed_highp_bvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_mediump> packed_mediump_bvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_lowp> packed_lowp_bvec1; + + // -- *vec2 -- + + /// 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_highp> aligned_highp_vec2; + + /// 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_mediump> aligned_mediump_vec2; + + /// 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_lowp> aligned_lowp_vec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_highp> aligned_highp_dvec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_mediump> aligned_mediump_dvec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_lowp> aligned_lowp_dvec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_highp> aligned_highp_ivec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_mediump> aligned_mediump_ivec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_lowp> aligned_lowp_ivec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_highp> aligned_highp_uvec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_mediump> aligned_mediump_uvec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_lowp> aligned_lowp_uvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_highp> aligned_highp_bvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_mediump> aligned_mediump_bvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_lowp> aligned_lowp_bvec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, float, packed_highp> packed_highp_vec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, float, packed_mediump> packed_mediump_vec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, float, packed_lowp> packed_lowp_vec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, double, packed_highp> packed_highp_dvec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, double, packed_mediump> packed_mediump_dvec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, double, packed_lowp> packed_lowp_dvec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_highp> packed_highp_ivec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_mediump> packed_mediump_ivec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_lowp> packed_lowp_ivec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_highp> packed_highp_uvec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_mediump> packed_mediump_uvec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_lowp> packed_lowp_uvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_highp> packed_highp_bvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_mediump> packed_mediump_bvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_lowp> packed_lowp_bvec2; + + // -- *vec3 -- + + /// 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_highp> aligned_highp_vec3; + + /// 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_mediump> aligned_mediump_vec3; + + /// 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_lowp> aligned_lowp_vec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_highp> aligned_highp_dvec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_mediump> aligned_mediump_dvec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_lowp> aligned_lowp_dvec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_highp> aligned_highp_ivec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_mediump> aligned_mediump_ivec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_lowp> aligned_lowp_ivec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_highp> aligned_highp_uvec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_mediump> aligned_mediump_uvec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_lowp> aligned_lowp_uvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_highp> aligned_highp_bvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_mediump> aligned_mediump_bvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_lowp> aligned_lowp_bvec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, float, packed_highp> packed_highp_vec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, float, packed_mediump> packed_mediump_vec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, float, packed_lowp> packed_lowp_vec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, double, packed_highp> packed_highp_dvec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, double, packed_mediump> packed_mediump_dvec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, double, packed_lowp> packed_lowp_dvec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_highp> packed_highp_ivec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_mediump> packed_mediump_ivec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_lowp> packed_lowp_ivec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_highp> packed_highp_uvec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_mediump> packed_mediump_uvec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_lowp> packed_lowp_uvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_highp> packed_highp_bvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_mediump> packed_mediump_bvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_lowp> packed_lowp_bvec3; + + // -- *vec4 -- + + /// 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_highp> aligned_highp_vec4; + + /// 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_mediump> aligned_mediump_vec4; + + /// 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_lowp> aligned_lowp_vec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_highp> aligned_highp_dvec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_mediump> aligned_mediump_dvec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_lowp> aligned_lowp_dvec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_highp> aligned_highp_ivec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_mediump> aligned_mediump_ivec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_lowp> aligned_lowp_ivec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_highp> aligned_highp_uvec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_mediump> aligned_mediump_uvec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_lowp> aligned_lowp_uvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_highp> aligned_highp_bvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_mediump> aligned_mediump_bvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_lowp> aligned_lowp_bvec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, float, packed_highp> packed_highp_vec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, float, packed_mediump> packed_mediump_vec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, float, packed_lowp> packed_lowp_vec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, double, packed_highp> packed_highp_dvec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, double, packed_mediump> packed_mediump_dvec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, double, packed_lowp> packed_lowp_dvec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_highp> packed_highp_ivec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_mediump> packed_mediump_ivec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_lowp> packed_lowp_ivec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_highp> packed_highp_uvec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_mediump> packed_mediump_uvec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_lowp> packed_lowp_uvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_highp> packed_highp_bvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_mediump> packed_mediump_bvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_lowp> packed_lowp_bvec4; + + // -- default -- + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef aligned_lowp_vec1 aligned_vec1; + typedef aligned_lowp_vec2 aligned_vec2; + typedef aligned_lowp_vec3 aligned_vec3; + typedef aligned_lowp_vec4 aligned_vec4; + typedef packed_lowp_vec1 packed_vec1; + typedef packed_lowp_vec2 packed_vec2; + typedef packed_lowp_vec3 packed_vec3; + typedef packed_lowp_vec4 packed_vec4; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef aligned_mediump_vec1 aligned_vec1; + typedef aligned_mediump_vec2 aligned_vec2; + typedef aligned_mediump_vec3 aligned_vec3; + typedef aligned_mediump_vec4 aligned_vec4; + typedef packed_mediump_vec1 packed_vec1; + typedef packed_mediump_vec2 packed_vec2; + typedef packed_mediump_vec3 packed_vec3; + typedef packed_mediump_vec4 packed_vec4; +#else //defined(GLM_PRECISION_HIGHP_FLOAT) + /// 1 component vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec1 aligned_vec1; + + /// 2 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec2 aligned_vec2; + + /// 3 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec3 aligned_vec3; + + /// 4 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec4 aligned_vec4; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec1 packed_vec1; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec2 packed_vec2; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec3 packed_vec3; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec4 packed_vec4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef aligned_lowp_dvec1 aligned_dvec1; + typedef aligned_lowp_dvec2 aligned_dvec2; + typedef aligned_lowp_dvec3 aligned_dvec3; + typedef aligned_lowp_dvec4 aligned_dvec4; + typedef packed_lowp_dvec1 packed_dvec1; + typedef packed_lowp_dvec2 packed_dvec2; + typedef packed_lowp_dvec3 packed_dvec3; + typedef packed_lowp_dvec4 packed_dvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef aligned_mediump_dvec1 aligned_dvec1; + typedef aligned_mediump_dvec2 aligned_dvec2; + typedef aligned_mediump_dvec3 aligned_dvec3; + typedef aligned_mediump_dvec4 aligned_dvec4; + typedef packed_mediump_dvec1 packed_dvec1; + typedef packed_mediump_dvec2 packed_dvec2; + typedef packed_mediump_dvec3 packed_dvec3; + typedef packed_mediump_dvec4 packed_dvec4; +#else //defined(GLM_PRECISION_HIGHP_DOUBLE) + /// 1 component vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec1 aligned_dvec1; + + /// 2 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec2 aligned_dvec2; + + /// 3 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec3 aligned_dvec3; + + /// 4 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec4 aligned_dvec4; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec1 packed_dvec1; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec2 packed_dvec2; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec3 packed_dvec3; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec4 packed_dvec4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef aligned_lowp_ivec1 aligned_ivec1; + typedef aligned_lowp_ivec2 aligned_ivec2; + typedef aligned_lowp_ivec3 aligned_ivec3; + typedef aligned_lowp_ivec4 aligned_ivec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef aligned_mediump_ivec1 aligned_ivec1; + typedef aligned_mediump_ivec2 aligned_ivec2; + typedef aligned_mediump_ivec3 aligned_ivec3; + typedef aligned_mediump_ivec4 aligned_ivec4; +#else //defined(GLM_PRECISION_HIGHP_INT) + /// 1 component vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec1 aligned_ivec1; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec2 aligned_ivec2; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec3 aligned_ivec3; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec4 aligned_ivec4; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec1 packed_ivec1; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec2 packed_ivec2; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec3 packed_ivec3; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec4 packed_ivec4; + +#endif//GLM_PRECISION + + // -- Unsigned integer definition -- + +#if(defined(GLM_PRECISION_LOWP_UINT)) + typedef aligned_lowp_uvec1 aligned_uvec1; + typedef aligned_lowp_uvec2 aligned_uvec2; + typedef aligned_lowp_uvec3 aligned_uvec3; + typedef aligned_lowp_uvec4 aligned_uvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) + typedef aligned_mediump_uvec1 aligned_uvec1; + typedef aligned_mediump_uvec2 aligned_uvec2; + typedef aligned_mediump_uvec3 aligned_uvec3; + typedef aligned_mediump_uvec4 aligned_uvec4; +#else //defined(GLM_PRECISION_HIGHP_UINT) + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec1 aligned_uvec1; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec2 aligned_uvec2; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec3 aligned_uvec3; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec4 aligned_uvec4; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec1 packed_uvec1; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec2 packed_uvec2; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec3 packed_uvec3; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec4 packed_uvec4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_BOOL)) + typedef aligned_lowp_bvec1 aligned_bvec1; + typedef aligned_lowp_bvec2 aligned_bvec2; + typedef aligned_lowp_bvec3 aligned_bvec3; + typedef aligned_lowp_bvec4 aligned_bvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_BOOL)) + typedef aligned_mediump_bvec1 aligned_bvec1; + typedef aligned_mediump_bvec2 aligned_bvec2; + typedef aligned_mediump_bvec3 aligned_bvec3; + typedef aligned_mediump_bvec4 aligned_bvec4; +#else //defined(GLM_PRECISION_HIGHP_BOOL) + /// 1 component vector aligned in memory of bool values. + typedef aligned_highp_bvec1 aligned_bvec1; + + /// 2 components vector aligned in memory of bool values. + typedef aligned_highp_bvec2 aligned_bvec2; + + /// 3 components vector aligned in memory of bool values. + typedef aligned_highp_bvec3 aligned_bvec3; + + /// 4 components vector aligned in memory of bool values. + typedef aligned_highp_bvec4 aligned_bvec4; + + /// 1 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec1 packed_bvec1; + + /// 2 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec2 packed_bvec2; + + /// 3 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec3 packed_bvec3; + + /// 4 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec4 packed_bvec4; +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/vendor/glm/gtc/type_precision.hpp b/vendor/glm/gtc/type_precision.hpp new file mode 100755 index 0000000000..a4524fe6ce --- /dev/null +++ b/vendor/glm/gtc/type_precision.hpp @@ -0,0 +1,867 @@ +/// @ref gtc_type_precision +/// @file glm/gtc/type_precision.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_type_precision GLM_GTC_type_precision +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines specific C++-based qualifier types. +/// +/// @ref core_precision defines types based on GLSL's qualifier qualifiers. This +/// extension defines types based on explicitly-sized C++ data types. + +#pragma once + +// Dependency: +#include "../gtc/quaternion.hpp" +#include "../gtc/vec1.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_precision extension included") +#endif + +namespace glm +{ + /////////////////////////// + // Signed int vector types + + /// @addtogroup gtc_type_precision + /// @{ + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8_t; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16_t; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32_t; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64_t; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_i8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_i16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_i32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_i64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8_t; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16_t; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32_t; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64_t; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_i8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_i16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_i32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_i64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8_t; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32_t; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64_t; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_i8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_i16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_i32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_i64; + + + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 int8; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 int16; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 int32; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 int64; + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::int8_t; + using std::int16_t; + using std::int32_t; + using std::int64_t; +#else + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 int8_t; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 int32_t; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 int64_t; +#endif + + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 i8; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 i16; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 i32; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 i64; + + + /// 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, defaultp> i8vec1; + + /// 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, defaultp> i8vec2; + + /// 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, defaultp> i8vec3; + + /// 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, defaultp> i8vec4; + + + /// 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, defaultp> i16vec1; + + /// 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, defaultp> i16vec2; + + /// 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, defaultp> i16vec3; + + /// 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, defaultp> i16vec4; + + + /// 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, defaultp> i32vec1; + + /// 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, defaultp> i32vec2; + + /// 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, defaultp> i32vec3; + + /// 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, defaultp> i32vec4; + + + /// 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, defaultp> i64vec1; + + /// 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, defaultp> i64vec2; + + /// 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, defaultp> i64vec3; + + /// 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, defaultp> i64vec4; + + + ///////////////////////////// + // Unsigned int vector types + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64; + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8_t; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16_t; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32_t; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64_t; + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_u8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_u16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_u32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_u64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8_t; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16_t; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32_t; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64_t; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_u8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_u16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_u32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_u64; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8_t; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16_t; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32_t; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64_t; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_u8; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_u16; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_u32; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_u64; + + /// Default qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 uint8; + + /// Default qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 uint16; + + /// Default qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 uint32; + + /// Default qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 uint64; + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::uint8_t; + using std::uint16_t; + using std::uint32_t; + using std::uint64_t; +#else + /// Default qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 uint8_t; + + /// Default qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 uint16_t; + + /// Default qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 uint32_t; + + /// Default qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 uint64_t; +#endif + + /// Default qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 u8; + + /// Default qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 u16; + + /// Default qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 u32; + + /// Default qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 u64; + + + + /// Default qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, defaultp> u8vec1; + + /// Default qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, defaultp> u8vec2; + + /// Default qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, defaultp> u8vec3; + + /// Default qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, defaultp> u8vec4; + + + /// Default qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, defaultp> u16vec1; + + /// Default qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, defaultp> u16vec2; + + /// Default qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, defaultp> u16vec3; + + /// Default qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, defaultp> u16vec4; + + + /// Default qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, defaultp> u32vec1; + + /// Default qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, defaultp> u32vec2; + + /// Default qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, defaultp> u32vec3; + + /// Default qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, defaultp> u32vec4; + + + /// Default qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, defaultp> u64vec1; + + /// Default qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, defaultp> u64vec2; + + /// Default qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, defaultp> u64vec3; + + /// Default qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, defaultp> u64vec4; + + + ////////////////////// + // Float vector types + + /// 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 float32; + + /// 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float32 float32_t; + + /// 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 f32; + +# ifndef GLM_FORCE_SINGLE_ONLY + /// 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 float64; + + /// 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef detail::float64 float64_t; + + /// 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 f64; +# endif//GLM_FORCE_SINGLE_ONLY + + /// Single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, defaultp> fvec1; + + /// Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, defaultp> fvec2; + + /// Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, defaultp> fvec3; + + /// Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, defaultp> fvec4; + + + /// Single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, defaultp> f32vec1; + + /// Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f32, defaultp> f32vec2; + + /// Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f32, defaultp> f32vec3; + + /// Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f32, defaultp> f32vec4; + +# ifndef GLM_FORCE_SINGLE_ONLY + /// Double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, defaultp> f64vec1; + + /// Double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, defaultp> f64vec2; + + /// Double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, defaultp> f64vec3; + + /// Double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, defaultp> f64vec4; +# endif//GLM_FORCE_SINGLE_ONLY + + + ////////////////////// + // Float matrix types + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 fmat1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> fmat2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> fmat3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> fmat4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 fmat1x1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> fmat2x2; + + /// Single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, defaultp> fmat2x3; + + /// Single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, defaultp> fmat2x4; + + /// Single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, defaultp> fmat3x2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> fmat3x3; + + /// Single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, defaultp> fmat3x4; + + /// Single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, defaultp> fmat4x2; + + /// Single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, defaultp> fmat4x3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> fmat4x4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> f32mat2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> f32mat3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> f32mat4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 f32mat1x1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> f32mat2x2; + + /// Single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, defaultp> f32mat2x3; + + /// Single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, defaultp> f32mat2x4; + + /// Single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, defaultp> f32mat3x2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> f32mat3x3; + + /// Single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, defaultp> f32mat3x4; + + /// Single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, defaultp> f32mat4x2; + + /// Single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, defaultp> f32mat4x3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> f32mat4x4; + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f64mat1; + + /// Double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, defaultp> f64mat2; + + /// Double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, defaultp> f64mat3; + + /// Double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, defaultp> f64mat4; + + + /// Double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 f64mat1x1; + + /// Double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, defaultp> f64mat2x2; + + /// Double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, defaultp> f64mat2x3; + + /// Double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, defaultp> f64mat2x4; + + /// Double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, defaultp> f64mat3x2; + + /// Double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, defaultp> f64mat3x3; + + /// Double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, defaultp> f64mat3x4; + + /// Double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, defaultp> f64mat4x2; + + /// Double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, defaultp> f64mat4x3; + + /// Double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, defaultp> f64mat4x4; + +# endif//GLM_FORCE_SINGLE_ONLY + + ////////////////////////// + // Quaternion types + + /// Single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat f32quat; + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef tquat f64quat; + +# endif//GLM_FORCE_SINGLE_ONLY + + /// @} +}//namespace glm + +#include "type_precision.inl" diff --git a/vendor/glm/gtc/type_precision.inl b/vendor/glm/gtc/type_precision.inl new file mode 100755 index 0000000000..cbfd4d859e --- /dev/null +++ b/vendor/glm/gtc/type_precision.inl @@ -0,0 +1,7 @@ +/// @ref gtc_swizzle +/// @file glm/gtc/swizzle.inl + +namespace glm +{ + +} diff --git a/vendor/glm/gtc/type_ptr.hpp b/vendor/glm/gtc/type_ptr.hpp new file mode 100755 index 0000000000..5c15cc4096 --- /dev/null +++ b/vendor/glm/gtc/type_ptr.hpp @@ -0,0 +1,231 @@ +/// @ref gtc_type_ptr +/// @file glm/gtc/type_ptr.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_type_ptr GLM_GTC_type_ptr +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Handles the interaction between pointers and vector, matrix types. +/// +/// This extension defines an overloaded function, glm::value_ptr, which +/// takes any of the \ref core_template "core template types". It returns +/// a pointer to the memory layout of the object. Matrix types store their values +/// in column-major order. +/// +/// This is useful for uploading data to matrices or copying data to buffer objects. +/// +/// Example: +/// @code +/// #include +/// #include +/// +/// glm::vec3 aVector(3); +/// glm::mat4 someMatrix(1.0); +/// +/// glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector)); +/// glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix)); +/// @endcode +/// +/// need to be included to use the features of this extension. + +#pragma once + +// Dependency: +#include "../gtc/quaternion.hpp" +#include "../gtc/vec1.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_ptr extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_type_ptr + /// @{ + + /// Return the constant address to the data of the input parameter. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, defaultp> make_vec2(T const * const ptr); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, defaultp> make_vec3(T const * const ptr); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, defaultp> make_vec4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 3, T, defaultp> make_mat2x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 4, T, defaultp> make_mat2x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 2, T, defaultp> make_mat3x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 4, T, defaultp> make_mat3x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 2, T, defaultp> make_mat4x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 3, T, defaultp> make_mat4x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4(T const * const ptr); + + /// Build a quaternion from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL tquat make_quat(T const * const ptr); + + /// @} +}//namespace glm + +#include "type_ptr.inl" diff --git a/vendor/glm/gtc/type_ptr.inl b/vendor/glm/gtc/type_ptr.inl new file mode 100755 index 0000000000..7a9e21ec7f --- /dev/null +++ b/vendor/glm/gtc/type_ptr.inl @@ -0,0 +1,387 @@ +/// @ref gtc_type_ptr +/// @file glm/gtc/type_ptr.inl + +#include + +namespace glm +{ + /// @addtogroup gtc_type_ptr + /// @{ + + template + GLM_FUNC_QUALIFIER T const* value_ptr(vec<2, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<2, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const * value_ptr(vec<3, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<3, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(vec<4, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<4, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T * value_ptr(mat<4, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const * value_ptr(tquat const& q) + { + return &(q[0]); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(tquat& q) + { + return &(q[0]); + } + + template + inline vec<1, T, Q> make_vec1(vec<1, T, Q> const& v) + { + return v; + } + + template + inline vec<1, T, Q> make_vec1(vec<2, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<1, T, Q> make_vec1(vec<3, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<1, T, Q> make_vec1(vec<4, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<2, T, Q> make_vec2(vec<1, T, Q> const& v) + { + return vec<2, T, Q>(v.x, static_cast(0)); + } + + template + inline vec<2, T, Q> make_vec2(vec<2, T, Q> const& v) + { + return v; + } + + template + inline vec<2, T, Q> make_vec2(vec<3, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template + inline vec<2, T, Q> make_vec2(vec<4, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template + inline vec<3, T, Q> make_vec3(vec<1, T, Q> const& v) + { + return vec<3, T, Q>(v.x, static_cast(0), static_cast(0)); + } + + template + inline vec<3, T, Q> make_vec3(vec<2, T, Q> const& v) + { + return vec<3, T, Q>(v.x, v.y, static_cast(0)); + } + + template + inline vec<3, T, Q> make_vec3(vec<3, T, Q> const& v) + { + return v; + } + + template + inline vec<3, T, Q> make_vec3(vec<4, T, Q> const& v) + { + return vec<3, T, Q>(v); + } + + template + inline vec<4, T, Q> make_vec4(vec<1, T, Q> const& v) + { + return vec<4, T, Q>(v.x, static_cast(0), static_cast(0), static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<2, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, static_cast(0), static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<3, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, v.z, static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> make_vec2(T const *const ptr) + { + vec<2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> make_vec3(T const *const ptr) + { + vec<3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, defaultp> make_vec4(T const *const ptr) + { + vec<4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2x2(T const *const ptr) + { + mat<2, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, defaultp> make_mat2x3(T const *const ptr) + { + mat<2, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, defaultp> make_mat2x4(T const *const ptr) + { + mat<2, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, defaultp> make_mat3x2(T const *const ptr) + { + mat<3, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3x3(T const *const ptr) + { + mat<3, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, defaultp> make_mat3x4(T const *const ptr) + { + mat<3, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, defaultp> make_mat4x2(T const *const ptr) + { + mat<4, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, defaultp> make_mat4x3(T const *const ptr) + { + mat<4, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4x4(T const *const ptr) + { + mat<4, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2(T const *const ptr) + { + return make_mat2x2(ptr); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3(T const *const ptr) + { + return make_mat3x3(ptr); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4(T const *const ptr) + { + return make_mat4x4(ptr); + } + + template + GLM_FUNC_QUALIFIER tquat make_quat(T const *const ptr) + { + tquat Result; + memcpy(value_ptr(Result), ptr, sizeof(tquat)); + return Result; + } + + /// @} +}//namespace glm + diff --git a/vendor/glm/gtc/ulp.hpp b/vendor/glm/gtc/ulp.hpp new file mode 100755 index 0000000000..4ed48d5688 --- /dev/null +++ b/vendor/glm/gtc/ulp.hpp @@ -0,0 +1,65 @@ +/// @ref gtc_ulp +/// @file glm/gtc/ulp.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_ulp GLM_GTC_ulp +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow the measurement of the accuracy of a function against a reference +/// implementation. This extension works on floating-point data and provide results +/// in ULP. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/type_int.hpp" +#include "../detail/compute_vector_relational.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_ulp extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_ulp + /// @{ + + /// Return the next ULP value(s) after the input value(s). + /// @see gtc_ulp + template + GLM_FUNC_DECL genType next_float(genType const& x); + + /// Return the previous ULP value(s) before the input value(s). + /// @see gtc_ulp + template + GLM_FUNC_DECL genType prev_float(genType const& x); + + /// Return the value(s) ULP distance after the input value(s). + /// @see gtc_ulp + template + GLM_FUNC_DECL genType next_float(genType const& x, uint const& Distance); + + /// Return the value(s) ULP distance before the input value(s). + /// @see gtc_ulp + template + GLM_FUNC_DECL genType prev_float(genType const& x, uint const& Distance); + + /// Return the distance in the number of ULP between 2 scalars. + /// @see gtc_ulp + template + GLM_FUNC_DECL uint float_distance(T const& x, T const& y); + + /// Return the distance in the number of ULP between 2 vectors. + /// @see gtc_ulp + template + GLM_FUNC_DECL vec<2, uint, Q> float_distance(vec<2, T, Q> const& x, vec<2, T, Q> const& y); + + /// @} +}// namespace glm + +#include "ulp.inl" diff --git a/vendor/glm/gtc/ulp.inl b/vendor/glm/gtc/ulp.inl new file mode 100755 index 0000000000..620be36cc1 --- /dev/null +++ b/vendor/glm/gtc/ulp.inl @@ -0,0 +1,339 @@ +/// @ref gtc_ulp +/// @file glm/gtc/ulp.inl +/// +/// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +/// +/// Developed at SunPro, a Sun Microsystems, Inc. business. +/// Permission to use, copy, modify, and distribute this +/// software is freely granted, provided that this notice +/// is preserved. + +#include "../detail/type_int.hpp" +#include "epsilon.hpp" +#include +#include +#include + +#if(GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(push) +# pragma warning(disable : 4127) +#endif + +typedef union +{ + float value; + /* FIXME: Assumes 32 bit int. */ + unsigned int word; +} ieee_float_shape_type; + +typedef union +{ + double value; + struct + { + glm::detail::int32 lsw; + glm::detail::int32 msw; + } parts; +} ieee_double_shape_type; + +#define GLM_EXTRACT_WORDS(ix0,ix1,d) \ + do { \ + ieee_double_shape_type ew_u; \ + ew_u.value = (d); \ + (ix0) = ew_u.parts.msw; \ + (ix1) = ew_u.parts.lsw; \ + } while (0) + +#define GLM_GET_FLOAT_WORD(i,d) \ + do { \ + ieee_float_shape_type gf_u; \ + gf_u.value = (d); \ + (i) = gf_u.word; \ + } while (0) + +#define GLM_SET_FLOAT_WORD(d,i) \ + do { \ + ieee_float_shape_type sf_u; \ + sf_u.word = (i); \ + (d) = sf_u.value; \ + } while (0) + +#define GLM_INSERT_WORDS(d,ix0,ix1) \ + do { \ + ieee_double_shape_type iw_u; \ + iw_u.parts.msw = (ix0); \ + iw_u.parts.lsw = (ix1); \ + (d) = iw_u.value; \ + } while (0) + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER float nextafterf(float x, float y) + { + volatile float t; + glm::detail::int32 hx, hy, ix, iy; + + GLM_GET_FLOAT_WORD(hx, x); + GLM_GET_FLOAT_WORD(hy, y); + ix = hx&0x7fffffff; // |x| + iy = hy&0x7fffffff; // |y| + + if((ix>0x7f800000) || // x is nan + (iy>0x7f800000)) // y is nan + return x+y; + if(compute_equal::call(x, y)) + return y; // x=y, return y + if(ix==0) + { // x == 0 + GLM_SET_FLOAT_WORD(x,(hy&0x80000000)|1);// return +-minsubnormal + t = x*x; + if(detail::compute_equal::call(t, x)) + return t; + else + return x; // raise underflow flag + } + if(hx>=0) + { // x > 0 + if(hx>hy) // x > y, x -= ulp + hx -= 1; + else // x < y, x += ulp + hx += 1; + } + else + { // x < 0 + if(hy>=0||hx>hy) // x < y, x -= ulp + hx -= 1; + else // x > y, x += ulp + hx += 1; + } + hy = hx&0x7f800000; + if(hy>=0x7f800000) + return x+x; // overflow + if(hy<0x00800000) // underflow + { + t = x*x; + if(!detail::compute_equal::call(t, x)) + { // raise underflow flag + GLM_SET_FLOAT_WORD(y,hx); + return y; + } + } + GLM_SET_FLOAT_WORD(x,hx); + return x; + } + + GLM_FUNC_QUALIFIER double nextafter(double x, double y) + { + volatile double t; + glm::detail::int32 hx, hy, ix, iy; + glm::detail::uint32 lx, ly; + + GLM_EXTRACT_WORDS(hx, lx, x); + GLM_EXTRACT_WORDS(hy, ly, y); + ix = hx & 0x7fffffff; // |x| + iy = hy & 0x7fffffff; // |y| + + if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || // x is nan + ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) // y is nan + return x+y; + if(detail::compute_equal::call(x, y)) + return y; // x=y, return y + if((ix|lx)==0) + { // x == 0 + GLM_INSERT_WORDS(x, hy & 0x80000000, 1); // return +-minsubnormal + t = x*x; + if(detail::compute_equal::call(t, x)) + return t; + else + return x; // raise underflow flag + } + if(hx>=0) { // x > 0 + if(hx>hy||((hx==hy)&&(lx>ly))) { // x > y, x -= ulp + if(lx==0) hx -= 1; + lx -= 1; + } else { // x < y, x += ulp + lx += 1; + if(lx==0) hx += 1; + } + } else { // x < 0 + if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){// x < y, x -= ulp + if(lx==0) hx -= 1; + lx -= 1; + } else { // x > y, x += ulp + lx += 1; + if(lx==0) hx += 1; + } + } + hy = hx&0x7ff00000; + if(hy>=0x7ff00000) + return x+x; // overflow + if(hy<0x00100000) + { // underflow + t = x*x; + if(!detail::compute_equal::call(t, x)) + { // raise underflow flag + GLM_INSERT_WORDS(y,hx,lx); + return y; + } + } + GLM_INSERT_WORDS(x,hx,lx); + return x; + } +}//namespace detail +}//namespace glm + +#if(GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(pop) +#endif + +namespace glm +{ + template<> + GLM_FUNC_QUALIFIER float next_float(float const& x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MAX); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MAX); +# else + return nextafterf(x, FLT_MAX); +# endif + } + + template<> + GLM_FUNC_QUALIFIER double next_float(double const& x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafter(x, std::numeric_limits::max()); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, FLT_MAX); +# else + return nextafter(x, DBL_MAX); +# endif + } + + template + GLM_FUNC_QUALIFIER vec next_float(vec const& x) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = next_float(x[i]); + return Result; + } + + GLM_FUNC_QUALIFIER float prev_float(float const& x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MIN); +# else + return nextafterf(x, FLT_MIN); +# endif + } + + GLM_FUNC_QUALIFIER double prev_float(double const& x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return _nextafter(x, DBL_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MIN); +# else + return nextafter(x, DBL_MIN); +# endif + } + + template + GLM_FUNC_QUALIFIER vec prev_float(vec const& x) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prev_float(x[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER T next_float(T const& x, uint const& ulps) + { + T temp = x; + for(uint i = 0; i < ulps; ++i) + temp = next_float(temp); + return temp; + } + + template + GLM_FUNC_QUALIFIER vec next_float(vec const& x, vec const& ulps) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = next_float(x[i], ulps[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER T prev_float(T const& x, uint const& ulps) + { + T temp = x; + for(uint i = 0; i < ulps; ++i) + temp = prev_float(temp); + return temp; + } + + template + GLM_FUNC_QUALIFIER vec prev_float(vec const& x, vec const& ulps) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prev_float(x[i], ulps[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER uint float_distance(T const& x, T const& y) + { + uint ulp = 0; + + if(x < y) + { + T temp = x; + while(glm::epsilonNotEqual(temp, y, glm::epsilon()))// && ulp < std::numeric_limits::max()) + { + ++ulp; + temp = next_float(temp); + } + } + else if(y < x) + { + T temp = y; + while(glm::epsilonNotEqual(temp, x, glm::epsilon()))// && ulp < std::numeric_limits::max()) + { + ++ulp; + temp = next_float(temp); + } + } + else // == + { + + } + + return ulp; + } + + template + GLM_FUNC_QUALIFIER vec float_distance(vec const& x, vec const& y) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = float_distance(x[i], y[i]); + return Result; + } +}//namespace glm diff --git a/vendor/glm/gtc/vec1.hpp b/vendor/glm/gtc/vec1.hpp new file mode 100755 index 0000000000..44da3abdbe --- /dev/null +++ b/vendor/glm/gtc/vec1.hpp @@ -0,0 +1,22 @@ +/// @ref gtc_vec1 +/// @file glm/gtc/vec1.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_vec1 GLM_GTC_vec1 +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Add vec1, ivec1, uvec1 and bvec1 types. + +#pragma once + +// Dependency: +#include "../ext/vec1.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_vec1 extension included") +#endif + +#include "vec1.inl" diff --git a/vendor/glm/gtc/vec1.inl b/vendor/glm/gtc/vec1.inl new file mode 100755 index 0000000000..5a6627c172 --- /dev/null +++ b/vendor/glm/gtc/vec1.inl @@ -0,0 +1,2 @@ +/// @ref gtc_vec1 +/// @file glm/gtc/vec1.inl diff --git a/vendor/glm/gtx/associated_min_max.hpp b/vendor/glm/gtx/associated_min_max.hpp new file mode 100755 index 0000000000..42ac2eba48 --- /dev/null +++ b/vendor/glm/gtx/associated_min_max.hpp @@ -0,0 +1,207 @@ +/// @ref gtx_associated_min_max +/// @file glm/gtx/associated_min_max.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_associated_min_max GLM_GTX_associated_min_max +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Min and max functions that return associated values not the compared onces. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_associated_min_max extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_associated_min_max + /// @{ + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec<2, U, Q> associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + T x, const vec& a, + T y, const vec& b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, U a, + vec const& y, U b); + + /// Minimum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c); + + /// Minimum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec<2, U, Q> associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d); + + /// @} +} //namespace glm + +#include "associated_min_max.inl" diff --git a/vendor/glm/gtx/associated_min_max.inl b/vendor/glm/gtx/associated_min_max.inl new file mode 100755 index 0000000000..d0666cc949 --- /dev/null +++ b/vendor/glm/gtx/associated_min_max.inl @@ -0,0 +1,355 @@ +/// @ref gtx_associated_min_max +/// @file glm/gtx/associated_min_max.inl + +namespace glm{ + +// Min comparison between 2 variables +template +GLM_FUNC_QUALIFIER U associatedMin(T x, U a, T y, U b) +{ + return x < y ? a : b; +} + +template +GLM_FUNC_QUALIFIER vec<2, U, Q> associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? a[i] : b[i]; + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + T x, const vec& a, + T y, const vec& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x < y ? a[i] : b[i]; + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, U a, + vec const& y, U b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? a : b; + return Result; +} + +// Min comparison between 3 variables +template +GLM_FUNC_QUALIFIER U associatedMin +( + T x, U a, + T y, U b, + T z, U c +) +{ + U Result = x < y ? (x < z ? a : c) : (y < z ? b : c); + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? (x[i] < z[i] ? a[i] : c[i]) : (y[i] < z[i] ? b[i] : c[i]); + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER U associatedMin +( + T x, U a, + T y, U b, + T z, U c, + T w, U d +) +{ + T Test1 = min(x, y); + T Test2 = min(z, w);; + U Result1 = x < y ? a : b; + U Result2 = z < w ? c : d; + U Result = Test1 < Test2 ? Result1 : Result2; + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = min(x[i], y[i]); + T Test2 = min(z[i], w[i]); + U Result1 = x[i] < y[i] ? a[i] : b[i]; + U Result2 = z[i] < w[i] ? c[i] : d[i]; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d +) +{ + T Test1 = min(x, y); + T Test2 = min(z, w); + + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + U Result1 = x < y ? a[i] : b[i]; + U Result2 = z < w ? c[i] : d[i]; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = min(x[i], y[i]); + T Test2 = min(z[i], w[i]);; + U Result1 = x[i] < y[i] ? a : b; + U Result2 = z[i] < w[i] ? c : d; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER U associatedMax(T x, U a, T y, U b) +{ + return x > y ? a : b; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec<2, U, Q> associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? a[i] : b[i]; + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x > y ? a[i] : b[i]; + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? a : b; + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER U associatedMax +( + T x, U a, + T y, U b, + T z, U c +) +{ + U Result = x > y ? (x > z ? a : c) : (y > z ? b : c); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? (x[i] > z[i] ? a[i] : c[i]) : (y[i] > z[i] ? b[i] : c[i]); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x > y ? (x > z ? a[i] : c[i]) : (y > z ? b[i] : c[i]); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? (x[i] > z[i] ? a : c) : (y[i] > z[i] ? b : c); + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER U associatedMax +( + T x, U a, + T y, U b, + T z, U c, + T w, U d +) +{ + T Test1 = max(x, y); + T Test2 = max(z, w);; + U Result1 = x > y ? a : b; + U Result2 = z > w ? c : d; + U Result = Test1 > Test2 ? Result1 : Result2; + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = max(x[i], y[i]); + T Test2 = max(z[i], w[i]); + U Result1 = x[i] > y[i] ? a[i] : b[i]; + U Result2 = z[i] > w[i] ? c[i] : d[i]; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d +) +{ + T Test1 = max(x, y); + T Test2 = max(z, w); + + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + U Result1 = x > y ? a[i] : b[i]; + U Result2 = z > w ? c[i] : d[i]; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = max(x[i], y[i]); + T Test2 = max(z[i], w[i]);; + U Result1 = x[i] > y[i] ? a : b; + U Result2 = z[i] > w[i] ? c : d; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} +}//namespace glm diff --git a/vendor/glm/gtx/bit.hpp b/vendor/glm/gtx/bit.hpp new file mode 100755 index 0000000000..2eb4c26533 --- /dev/null +++ b/vendor/glm/gtx/bit.hpp @@ -0,0 +1,98 @@ +/// @ref gtx_bit +/// @file glm/gtx/bit.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_bit GLM_GTX_bit +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../gtc/bitfield.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead") +#endif + +namespace glm +{ + /// @addtogroup gtx_bit + /// @{ + + /// @see gtx_bit + template + GLM_FUNC_DECL genIUType highestBitValue(genIUType Value); + + /// @see gtx_bit + template + GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value); + + /// Find the highest bit set to 1 in a integer variable and return its value. + /// + /// @see gtx_bit + template + GLM_FUNC_DECL vec highestBitValue(vec const& value); + + /// Return the power of two number which value is just higher the input value. + /// Deprecated, use ceilPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value); + + /// Return the power of two number which value is just higher the input value. + /// Deprecated, use ceilPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoAbove(vec const& value); + + /// Return the power of two number which value is just lower the input value. + /// Deprecated, use floorPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value); + + /// Return the power of two number which value is just lower the input value. + /// Deprecated, use floorPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoBelow(vec const& value); + + /// Return the power of two number which value is the closet to the input value. + /// Deprecated, use roundPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value); + + /// Return the power of two number which value is the closet to the input value. + /// Deprecated, use roundPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoNearest(vec const& value); + + /// @} +} //namespace glm + + +#include "bit.inl" + diff --git a/vendor/glm/gtx/bit.inl b/vendor/glm/gtx/bit.inl new file mode 100755 index 0000000000..277aeaa6cd --- /dev/null +++ b/vendor/glm/gtx/bit.inl @@ -0,0 +1,93 @@ +/// @ref gtx_bit +/// @file glm/gtx/bit.inl + +namespace glm +{ + /////////////////// + // highestBitValue + + template + GLM_FUNC_QUALIFIER genIUType highestBitValue(genIUType Value) + { + genIUType tmp = Value; + genIUType result = genIUType(0); + while(tmp) + { + result = (tmp & (~tmp + 1)); // grab lowest bit + tmp &= ~result; // clear lowest bit + } + return result; + } + + template + GLM_FUNC_QUALIFIER vec highestBitValue(vec const& v) + { + return detail::functor1::call(highestBitValue, v); + } + + /////////////////// + // lowestBitValue + + template + GLM_FUNC_QUALIFIER genIUType lowestBitValue(genIUType Value) + { + return (Value & (~Value + 1)); + } + + template + GLM_FUNC_QUALIFIER vec lowestBitValue(vec const& v) + { + return detail::functor1::call(lowestBitValue, v); + } + + /////////////////// + // powerOfTwoAbove + + template + GLM_FUNC_QUALIFIER genType powerOfTwoAbove(genType value) + { + return isPowerOfTwo(value) ? value : highestBitValue(value) << 1; + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoAbove(vec const& v) + { + return detail::functor1::call(powerOfTwoAbove, v); + } + + /////////////////// + // powerOfTwoBelow + + template + GLM_FUNC_QUALIFIER genType powerOfTwoBelow(genType value) + { + return isPowerOfTwo(value) ? value : highestBitValue(value); + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoBelow(vec const& v) + { + return detail::functor1::call(powerOfTwoBelow, v); + } + + ///////////////////// + // powerOfTwoNearest + + template + GLM_FUNC_QUALIFIER genType powerOfTwoNearest(genType value) + { + if(isPowerOfTwo(value)) + return value; + + genType const prev = highestBitValue(value); + genType const next = prev << 1; + return (next - value) < (value - prev) ? next : prev; + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoNearest(vec const& v) + { + return detail::functor1::call(powerOfTwoNearest, v); + } + +}//namespace glm diff --git a/vendor/glm/gtx/closest_point.hpp b/vendor/glm/gtx/closest_point.hpp new file mode 100755 index 0000000000..a78829994d --- /dev/null +++ b/vendor/glm/gtx/closest_point.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_closest_point +/// @file glm/gtx/closest_point.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_closest_point GLM_GTX_closest_point +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Find the point on a straight line which is the closet of a point. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_closest_point extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_closest_point + /// @{ + + /// Find the point on a straight line which is the closet of a point. + /// @see gtx_closest_point + template + GLM_FUNC_DECL vec<3, T, Q> closestPointOnLine( + vec<3, T, Q> const& point, + vec<3, T, Q> const& a, + vec<3, T, Q> const& b); + + /// 2d lines work as well + template + GLM_FUNC_DECL vec<2, T, Q> closestPointOnLine( + vec<2, T, Q> const& point, + vec<2, T, Q> const& a, + vec<2, T, Q> const& b); + + /// @} +}// namespace glm + +#include "closest_point.inl" diff --git a/vendor/glm/gtx/closest_point.inl b/vendor/glm/gtx/closest_point.inl new file mode 100755 index 0000000000..26d1e3822d --- /dev/null +++ b/vendor/glm/gtx/closest_point.inl @@ -0,0 +1,46 @@ +/// @ref gtx_closest_point +/// @file glm/gtx/closest_point.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> closestPointOnLine + ( + vec<3, T, Q> const& point, + vec<3, T, Q> const& a, + vec<3, T, Q> const& b + ) + { + T LineLength = distance(a, b); + vec<3, T, Q> Vector = point - a; + vec<3, T, Q> LineDirection = (b - a) / LineLength; + + // Project Vector to LineDirection to get the distance of point from a + T Distance = dot(Vector, LineDirection); + + if(Distance <= T(0)) return a; + if(Distance >= LineLength) return b; + return a + LineDirection * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> closestPointOnLine + ( + vec<2, T, Q> const& point, + vec<2, T, Q> const& a, + vec<2, T, Q> const& b + ) + { + T LineLength = distance(a, b); + vec<2, T, Q> Vector = point - a; + vec<2, T, Q> LineDirection = (b - a) / LineLength; + + // Project Vector to LineDirection to get the distance of point from a + T Distance = dot(Vector, LineDirection); + + if(Distance <= T(0)) return a; + if(Distance >= LineLength) return b; + return a + LineDirection * Distance; + } + +}//namespace glm diff --git a/vendor/glm/gtx/color_encoding.hpp b/vendor/glm/gtx/color_encoding.hpp new file mode 100755 index 0000000000..b57b3beb7d --- /dev/null +++ b/vendor/glm/gtx/color_encoding.hpp @@ -0,0 +1,50 @@ +/// @ref gtx_color_encoding +/// @file glm/gtx/color_encoding.hpp +/// +/// @see core (dependence) +/// @see gtx_color_encoding (dependence) +/// +/// @defgroup gtx_color_encoding GLM_GTX_color_encoding +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../vec3.hpp" +#include + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_color_encoding extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_color_encoding + /// @{ + + /// Convert a linear sRGB color to D65 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD65XYZ(vec<3, T, Q> const& ColorLinearSRGB); + + /// Convert a linear sRGB color to D50 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD50XYZ(vec<3, T, Q> const& ColorLinearSRGB); + + /// Convert a D65 YUV color to linear sRGB. + template + GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToLinearSRGB(vec<3, T, Q> const& ColorD65XYZ); + + /// Convert a D65 YUV color to D50 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToD50XYZ(vec<3, T, Q> const& ColorD65XYZ); + + /// @} +} //namespace glm + +#include "color_encoding.inl" diff --git a/vendor/glm/gtx/color_encoding.inl b/vendor/glm/gtx/color_encoding.inl new file mode 100755 index 0000000000..8dca67b928 --- /dev/null +++ b/vendor/glm/gtx/color_encoding.inl @@ -0,0 +1,46 @@ +/// @ref gtx_color_encoding +/// @file glm/gtx/color_encoding.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertLinearSRGBToD65XYZ(vec<3, T, Q> const& ColorLinearSRGB) + { + vec<3, T, Q> const M(0.490f, 0.17697f, 0.2f); + vec<3, T, Q> const N(0.31f, 0.8124f, 0.01063f); + vec<3, T, Q> const O(0.490f, 0.01f, 0.99f); + + return (M * ColorLinearSRGB + N * ColorLinearSRGB + O * ColorLinearSRGB) * static_cast(5.650675255693055f); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertLinearSRGBToD50XYZ(vec<3, T, Q> const& ColorLinearSRGB) + { + vec<3, T, Q> const M(0.436030342570117f, 0.222438466210245f, 0.013897440074263f); + vec<3, T, Q> const N(0.385101860087134f, 0.716942745571917f, 0.097076381494207f); + vec<3, T, Q> const O(0.143067806654203f, 0.060618777416563f, 0.713926257896652f); + + return M * ColorLinearSRGB + N * ColorLinearSRGB + O * ColorLinearSRGB; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertD65XYZToLinearSRGB(vec<3, T, Q> const& ColorD65XYZ) + { + vec<3, T, Q> const M(0.41847f, -0.091169f, 0.0009209f); + vec<3, T, Q> const N(-0.15866f, 0.25243f, 0.015708f); + vec<3, T, Q> const O(0.0009209f, -0.0025498f, 0.1786f); + + return M * ColorD65XYZ + N * ColorD65XYZ + O * ColorD65XYZ; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertD65XYZToD50XYZ(vec<3, T, Q> const& ColorD65XYZ) + { + vec<3, T, Q> const M(+1.047844353856414f, +0.029549007606644f, -0.009250984365223f); + vec<3, T, Q> const N(+0.022898981050086f, +0.990508028941971f, +0.015072338237051f); + vec<3, T, Q> const O(-0.050206647741605f, -0.017074711360960f, +0.751717835079977f); + + return M * ColorD65XYZ + N * ColorD65XYZ + O * ColorD65XYZ; + } + +}//namespace glm diff --git a/vendor/glm/gtx/color_space.hpp b/vendor/glm/gtx/color_space.hpp new file mode 100755 index 0000000000..9e95eb39f8 --- /dev/null +++ b/vendor/glm/gtx/color_space.hpp @@ -0,0 +1,72 @@ +/// @ref gtx_color_space +/// @file glm/gtx/color_space.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_color_space GLM_GTX_color_space +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Related to RGB to HSV conversions and operations. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_color_space extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_color_space + /// @{ + + /// Converts a color from HSV color space to its color in RGB color space. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> rgbColor( + vec<3, T, Q> const& hsvValue); + + /// Converts a color from RGB color space to its color in HSV color space. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> hsvColor( + vec<3, T, Q> const& rgbValue); + + /// Build a saturation matrix. + /// @see gtx_color_space + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> saturation( + T const s); + + /// Modify the saturation of a color. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> saturation( + T const s, + vec<3, T, Q> const& color); + + /// Modify the saturation of a color. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<4, T, Q> saturation( + T const s, + vec<4, T, Q> const& color); + + /// Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. + /// @see gtx_color_space + template + GLM_FUNC_DECL T luminosity( + vec<3, T, Q> const& color); + + /// @} +}//namespace glm + +#include "color_space.inl" diff --git a/vendor/glm/gtx/color_space.inl b/vendor/glm/gtx/color_space.inl new file mode 100755 index 0000000000..ff82395bff --- /dev/null +++ b/vendor/glm/gtx/color_space.inl @@ -0,0 +1,142 @@ +/// @ref gtx_color_space +/// @file glm/gtx/color_space.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgbColor(const vec<3, T, Q>& hsvColor) + { + vec<3, T, Q> hsv = hsvColor; + vec<3, T, Q> rgbColor; + + if(hsv.y == static_cast(0)) + // achromatic (grey) + rgbColor = vec<3, T, Q>(hsv.z); + else + { + T sector = floor(hsv.x * (T(1) / T(60))); + T frac = (hsv.x * (T(1) / T(60))) - sector; + // factorial part of h + T o = hsv.z * (T(1) - hsv.y); + T p = hsv.z * (T(1) - hsv.y * frac); + T q = hsv.z * (T(1) - hsv.y * (T(1) - frac)); + + switch(int(sector)) + { + default: + case 0: + rgbColor.r = hsv.z; + rgbColor.g = q; + rgbColor.b = o; + break; + case 1: + rgbColor.r = p; + rgbColor.g = hsv.z; + rgbColor.b = o; + break; + case 2: + rgbColor.r = o; + rgbColor.g = hsv.z; + rgbColor.b = q; + break; + case 3: + rgbColor.r = o; + rgbColor.g = p; + rgbColor.b = hsv.z; + break; + case 4: + rgbColor.r = q; + rgbColor.g = o; + rgbColor.b = hsv.z; + break; + case 5: + rgbColor.r = hsv.z; + rgbColor.g = o; + rgbColor.b = p; + break; + } + } + + return rgbColor; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> hsvColor(const vec<3, T, Q>& rgbColor) + { + vec<3, T, Q> hsv = rgbColor; + float Min = min(min(rgbColor.r, rgbColor.g), rgbColor.b); + float Max = max(max(rgbColor.r, rgbColor.g), rgbColor.b); + float Delta = Max - Min; + + hsv.z = Max; + + if(Max != static_cast(0)) + { + hsv.y = Delta / hsv.z; + T h = static_cast(0); + + if(rgbColor.r == Max) + // between yellow & magenta + h = static_cast(0) + T(60) * (rgbColor.g - rgbColor.b) / Delta; + else if(rgbColor.g == Max) + // between cyan & yellow + h = static_cast(120) + T(60) * (rgbColor.b - rgbColor.r) / Delta; + else + // between magenta & cyan + h = static_cast(240) + T(60) * (rgbColor.r - rgbColor.g) / Delta; + + if(h < T(0)) + hsv.x = h + T(360); + else + hsv.x = h; + } + else + { + // If r = g = b = 0 then s = 0, h is undefined + hsv.y = static_cast(0); + hsv.x = static_cast(0); + } + + return hsv; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> saturation(T const s) + { + vec<3, T, defaultp> rgbw = vec<3, T, defaultp>(T(0.2126), T(0.7152), T(0.0722)); + + vec<3, T, defaultp> const col((T(1) - s) * rgbw); + + mat<4, 4, T, defaultp> result(T(1)); + result[0][0] = col.x + s; + result[0][1] = col.x; + result[0][2] = col.x; + result[1][0] = col.y; + result[1][1] = col.y + s; + result[1][2] = col.y; + result[2][0] = col.z; + result[2][1] = col.z; + result[2][2] = col.z + s; + + return result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> saturation(const T s, const vec<3, T, Q>& color) + { + return vec<3, T, Q>(saturation(s) * vec<4, T, Q>(color, T(0))); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> saturation(const T s, const vec<4, T, Q>& color) + { + return saturation(s) * color; + } + + template + GLM_FUNC_QUALIFIER T luminosity(const vec<3, T, Q>& color) + { + const vec<3, T, Q> tmp = vec<3, T, Q>(0.33, 0.59, 0.11); + return dot(color, tmp); + } +}//namespace glm diff --git a/vendor/glm/gtx/color_space_YCoCg.hpp b/vendor/glm/gtx/color_space_YCoCg.hpp new file mode 100755 index 0000000000..e82cbd8b69 --- /dev/null +++ b/vendor/glm/gtx/color_space_YCoCg.hpp @@ -0,0 +1,60 @@ +/// @ref gtx_color_space_YCoCg +/// @file glm/gtx/color_space_YCoCg.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_color_space_YCoCg GLM_GTX_color_space_YCoCg +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// RGB to YCoCg conversions and operations + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_color_space_YCoCg extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_color_space_YCoCg + /// @{ + + /// Convert a color from RGB color space to YCoCg color space. + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCg( + vec<3, T, Q> const& rgbColor); + + /// Convert a color from YCoCg color space to RGB color space. + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> YCoCg2rgb( + vec<3, T, Q> const& YCoCgColor); + + /// Convert a color from RGB color space to YCoCgR color space. + /// @see "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCgR( + vec<3, T, Q> const& rgbColor); + + /// Convert a color from YCoCgR color space to RGB color space. + /// @see "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> YCoCgR2rgb( + vec<3, T, Q> const& YCoCgColor); + + /// @} +}//namespace glm + +#include "color_space_YCoCg.inl" diff --git a/vendor/glm/gtx/color_space_YCoCg.inl b/vendor/glm/gtx/color_space_YCoCg.inl new file mode 100755 index 0000000000..105a576521 --- /dev/null +++ b/vendor/glm/gtx/color_space_YCoCg.inl @@ -0,0 +1,108 @@ +/// @ref gtx_color_space_YCoCg +/// @file glm/gtx/color_space_YCoCg.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCg + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.x/*Y */ = rgbColor.r / T(4) + rgbColor.g / T(2) + rgbColor.b / T(4); + result.y/*Co*/ = rgbColor.r / T(2) + rgbColor.g * T(0) - rgbColor.b / T(2); + result.z/*Cg*/ = - rgbColor.r / T(4) + rgbColor.g / T(2) - rgbColor.b / T(4); + return result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCg2rgb + ( + vec<3, T, Q> const& YCoCgColor + ) + { + vec<3, T, Q> result; + result.r = YCoCgColor.x + YCoCgColor.y - YCoCgColor.z; + result.g = YCoCgColor.x + YCoCgColor.z; + result.b = YCoCgColor.x - YCoCgColor.y - YCoCgColor.z; + return result; + } + + template + class compute_YCoCgR { + public: + static GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.x/*Y */ = rgbColor.g * static_cast(0.5) + (rgbColor.r + rgbColor.b) * static_cast(0.25); + result.y/*Co*/ = rgbColor.r - rgbColor.b; + result.z/*Cg*/ = rgbColor.g - (rgbColor.r + rgbColor.b) * static_cast(0.5); + return result; + } + + static GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + vec<3, T, Q> result; + T tmp = YCoCgRColor.x - (YCoCgRColor.z * static_cast(0.5)); + result.g = YCoCgRColor.z + tmp; + result.b = tmp - (YCoCgRColor.y * static_cast(0.5)); + result.r = result.b + YCoCgRColor.y; + return result; + } + }; + + template + class compute_YCoCgR { + public: + static GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.y/*Co*/ = rgbColor.r - rgbColor.b; + T tmp = rgbColor.b + (result.y >> 1); + result.z/*Cg*/ = rgbColor.g - tmp; + result.x/*Y */ = tmp + (result.z >> 1); + return result; + } + + static GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + vec<3, T, Q> result; + T tmp = YCoCgRColor.x - (YCoCgRColor.z >> 1); + result.g = YCoCgRColor.z + tmp; + result.b = tmp - (YCoCgRColor.y >> 1); + result.r = result.b + YCoCgRColor.y; + return result; + } + }; + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + return compute_YCoCgR::is_integer>::rgb2YCoCgR(rgbColor); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + return compute_YCoCgR::is_integer>::YCoCgR2rgb(YCoCgRColor); + } +}//namespace glm diff --git a/vendor/glm/gtx/common.hpp b/vendor/glm/gtx/common.hpp new file mode 100755 index 0000000000..6eadf48cba --- /dev/null +++ b/vendor/glm/gtx/common.hpp @@ -0,0 +1,76 @@ +/// @ref gtx_common +/// @file glm/gtx/common.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_common GLM_GTX_common +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Provide functions to increase the compatibility with Cg and HLSL languages + +#pragma once + +// Dependencies: +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/vec1.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_common extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_common + /// @{ + + /// Returns true if x is a denormalized number + /// Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. + /// This format is less precise but can represent values closer to zero. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL isnan man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const& x); + + /// Similar to 'mod' but with a different rounding and integer support. + /// Returns 'x - y * trunc(x/y)' instead of 'x - y * floor(x/y)' + /// + /// @see GLSL mod vs HLSL fmod + /// @see GLSL mod man page + template + GLM_FUNC_DECL vec fmod(vec const& v); + + /// Returns whether vector components values are within an interval. A open interval excludes its endpoints, and is denoted with square brackets. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec openBounded(vec const& Value, vec const& Min, vec const& Max); + + /// Returns whether vector components values are within an interval. A closed interval includes its endpoints, and is denoted with square brackets. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec closeBounded(vec const& Value, vec const& Min, vec const& Max); + + /// @} +}//namespace glm + +#include "common.inl" diff --git a/vendor/glm/gtx/common.inl b/vendor/glm/gtx/common.inl new file mode 100755 index 0000000000..158eabe4c8 --- /dev/null +++ b/vendor/glm/gtx/common.inl @@ -0,0 +1,126 @@ +/// @ref gtx_common +/// @file glm/gtx/common.inl + +#include +#include "../gtc/epsilon.hpp" +#include "../gtc/constants.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_fmod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + return detail::functor2::call(std::fmod, a, b); + } + }; + + template + struct compute_fmod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + return a % b; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER bool isdenormal(T const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::fpclassify(x) == FP_SUBNORMAL; +# else + return epsilonNotEqual(x, static_cast(0), epsilon()) && std::fabs(x) < std::numeric_limits::min(); +# endif + } + + template + GLM_FUNC_QUALIFIER typename vec<1, T, Q>::bool_type isdenormal + ( + vec<1, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<1, T, Q>::bool_type( + isdenormal(x.x)); + } + + template + GLM_FUNC_QUALIFIER typename vec<2, T, Q>::bool_type isdenormal + ( + vec<2, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<2, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y)); + } + + template + GLM_FUNC_QUALIFIER typename vec<3, T, Q>::bool_type isdenormal + ( + vec<3, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<3, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y), + isdenormal(x.z)); + } + + template + GLM_FUNC_QUALIFIER typename vec<4, T, Q>::bool_type isdenormal + ( + vec<4, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<4, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y), + isdenormal(x.z), + isdenormal(x.w)); + } + + // fmod + template + GLM_FUNC_QUALIFIER genType fmod(genType x, genType y) + { + return fmod(vec<1, genType>(x), y).x; + } + + template + GLM_FUNC_QUALIFIER vec fmod(vec const& x, T y) + { + return detail::compute_fmod::is_iec559>::call(x, vec(y)); + } + + template + GLM_FUNC_QUALIFIER vec fmod(vec const& x, vec const& y) + { + return detail::compute_fmod::is_iec559>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER vec openBounded(vec const& Value, vec const& Min, vec const& Max) + { + return greaterThan(Value, Min) && lessThan(Value, Max); + } + + template + GLM_FUNC_QUALIFIER vec closeBounded(vec const& Value, vec const& Min, vec const& Max) + { + return greaterThanEqual(Value, Min) && lessThanEqual(Value, Max); + } +}//namespace glm diff --git a/vendor/glm/gtx/compatibility.hpp b/vendor/glm/gtx/compatibility.hpp new file mode 100755 index 0000000000..e5b60399ef --- /dev/null +++ b/vendor/glm/gtx/compatibility.hpp @@ -0,0 +1,133 @@ +/// @ref gtx_compatibility +/// @file glm/gtx/compatibility.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_compatibility GLM_GTX_compatibility +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Provide functions to increase the compatibility with Cg and HLSL languages + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/quaternion.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_compatibility extension included") +#endif + +#if GLM_COMPILER & GLM_COMPILER_VC +# include +#elif GLM_COMPILER & GLM_COMPILER_GCC +# include +# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID) +# undef isfinite +# endif +#endif//GLM_COMPILER + +namespace glm +{ + /// @addtogroup gtx_compatibility + /// @{ + + template GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, const vec<2, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, const vec<3, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, const vec<4, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> saturate(const vec<2, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> saturate(const vec<3, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> saturate(const vec<4, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> atan2(const vec<2, T, Q>& x, const vec<2, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> atan2(const vec<3, T, Q>& x, const vec<3, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> atan2(const vec<4, T, Q>& x, const vec<4, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + + template GLM_FUNC_DECL bool isfinite(genType const& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<1, bool, Q> isfinite(const vec<1, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<2, bool, Q> isfinite(const vec<2, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<3, bool, Q> isfinite(const vec<3, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<4, bool, Q> isfinite(const vec<4, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + + typedef bool bool1; //!< \brief boolean type with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, bool, highp> bool2; //!< \brief boolean type with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, bool, highp> bool3; //!< \brief boolean type with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, bool, highp> bool4; //!< \brief boolean type with 4 components. (From GLM_GTX_compatibility extension) + + typedef bool bool1x1; //!< \brief boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, bool, highp> bool2x2; //!< \brief boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, bool, highp> bool2x3; //!< \brief boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, bool, highp> bool2x4; //!< \brief boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, bool, highp> bool3x2; //!< \brief boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, bool, highp> bool3x3; //!< \brief boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, bool, highp> bool3x4; //!< \brief boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, bool, highp> bool4x2; //!< \brief boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, bool, highp> bool4x3; //!< \brief boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, bool, highp> bool4x4; //!< \brief boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef int int1; //!< \brief integer vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, int, highp> int2; //!< \brief integer vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, int, highp> int3; //!< \brief integer vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, int, highp> int4; //!< \brief integer vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef int int1x1; //!< \brief integer matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, int, highp> int2x2; //!< \brief integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, int, highp> int2x3; //!< \brief integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, int, highp> int2x4; //!< \brief integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, int, highp> int3x2; //!< \brief integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, int, highp> int3x3; //!< \brief integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, int, highp> int3x4; //!< \brief integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, int, highp> int4x2; //!< \brief integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, int, highp> int4x3; //!< \brief integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, int, highp> int4x4; //!< \brief integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef float float1; //!< \brief single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, float, highp> float2; //!< \brief single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, float, highp> float3; //!< \brief single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, float, highp> float4; //!< \brief single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef float float1x1; //!< \brief single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, float, highp> float2x2; //!< \brief single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, float, highp> float2x3; //!< \brief single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, float, highp> float2x4; //!< \brief single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, float, highp> float3x2; //!< \brief single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, float, highp> float3x3; //!< \brief single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, float, highp> float3x4; //!< \brief single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, float, highp> float4x2; //!< \brief single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, float, highp> float4x3; //!< \brief single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, float, highp> float4x4; //!< \brief single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef double double1; //!< \brief double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, double, highp> double2; //!< \brief double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, double, highp> double3; //!< \brief double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, double, highp> double4; //!< \brief double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef double double1x1; //!< \brief double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, double, highp> double2x2; //!< \brief double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, double, highp> double2x3; //!< \brief double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, double, highp> double2x4; //!< \brief double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, double, highp> double3x2; //!< \brief double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, double, highp> double3x3; //!< \brief double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, double, highp> double3x4; //!< \brief double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, double, highp> double4x2; //!< \brief double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, double, highp> double4x3; //!< \brief double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, double, highp> double4x4; //!< \brief double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + /// @} +}//namespace glm + +#include "compatibility.inl" diff --git a/vendor/glm/gtx/compatibility.inl b/vendor/glm/gtx/compatibility.inl new file mode 100755 index 0000000000..11affa1c11 --- /dev/null +++ b/vendor/glm/gtx/compatibility.inl @@ -0,0 +1,65 @@ +/// @ref gtx_compatibility +/// @file glm/gtx/compatibility.inl + +#include + +namespace glm +{ + // isfinite + template + GLM_FUNC_QUALIFIER bool isfinite( + genType const& x) + { +# if GLM_HAS_CXX11_STL + return std::isfinite(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_VC + return _finite(x); +# elif GLM_COMPILER & GLM_COMPILER_GCC && GLM_PLATFORM & GLM_PLATFORM_ANDROID + return _isfinite(x) != 0; +# else + if (std::numeric_limits::is_integer || std::denorm_absent == std::numeric_limits::has_denorm) + return std::numeric_limits::min() <= x && std::numeric_limits::max() >= x; + else + return -std::numeric_limits::max() <= x && std::numeric_limits::max() >= x; +# endif + } + + template + GLM_FUNC_QUALIFIER vec<1, bool, Q> isfinite( + vec<1, T, Q> const& x) + { + return vec<1, bool, Q>( + isfinite(x.x)); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> isfinite( + vec<2, T, Q> const& x) + { + return vec<2, bool, Q>( + isfinite(x.x), + isfinite(x.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> isfinite( + vec<3, T, Q> const& x) + { + return vec<3, bool, Q>( + isfinite(x.x), + isfinite(x.y), + isfinite(x.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isfinite( + vec<4, T, Q> const& x) + { + return vec<4, bool, Q>( + isfinite(x.x), + isfinite(x.y), + isfinite(x.z), + isfinite(x.w)); + } + +}//namespace glm diff --git a/vendor/glm/gtx/component_wise.hpp b/vendor/glm/gtx/component_wise.hpp new file mode 100755 index 0000000000..6ed7d55970 --- /dev/null +++ b/vendor/glm/gtx/component_wise.hpp @@ -0,0 +1,69 @@ +/// @ref gtx_component_wise +/// @file glm/gtx/component_wise.hpp +/// @date 2007-05-21 / 2011-06-07 +/// @author Christophe Riccio +/// +/// @see core (dependence) +/// +/// @defgroup gtx_component_wise GLM_GTX_component_wise +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Operations between components of a type + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_component_wise extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_component_wise + /// @{ + + /// Convert an integer vector to a normalized float vector. + /// If the parameter value type is already a floating qualifier type, the value is passed through. + /// @see gtx_component_wise + template + GLM_FUNC_DECL vec compNormalize(vec const& v); + + /// Convert a normalized float vector to an integer vector. + /// If the parameter value type is already a floating qualifier type, the value is passed through. + /// @see gtx_component_wise + template + GLM_FUNC_DECL vec compScale(vec const& v); + + /// Add all vector components together. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compAdd(genType const& v); + + /// Multiply all vector components together. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMul(genType const& v); + + /// Find the minimum value between single vector components. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMin(genType const& v); + + /// Find the maximum value between single vector components. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMax(genType const& v); + + /// @} +}//namespace glm + +#include "component_wise.inl" diff --git a/vendor/glm/gtx/component_wise.inl b/vendor/glm/gtx/component_wise.inl new file mode 100755 index 0000000000..8ca0ca9863 --- /dev/null +++ b/vendor/glm/gtx/component_wise.inl @@ -0,0 +1,128 @@ +/// @ref gtx_component_wise +/// @file glm/gtx/component_wise.inl + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_compNormalize + {}; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + floatType const Min = static_cast(std::numeric_limits::min()); + floatType const Max = static_cast(std::numeric_limits::max()); + return (vec(v) - Min) / (Max - Min) * static_cast(2) - static_cast(1); + } + }; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return vec(v) / static_cast(std::numeric_limits::max()); + } + }; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return v; + } + }; + + template + struct compute_compScale + {}; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + floatType const Max = static_cast(std::numeric_limits::max()) + static_cast(0.5); + vec const Scaled(v * Max); + vec const Result(Scaled - static_cast(0.5)); + return Result; + } + }; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return vec(vec(v) * static_cast(std::numeric_limits::max())); + } + }; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return v; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER vec compNormalize(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'compNormalize' accepts only floating-point types for 'floatType' template parameter"); + + return detail::compute_compNormalize::is_integer, std::numeric_limits::is_signed>::call(v); + } + + template + GLM_FUNC_QUALIFIER vec compScale(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'compScale' accepts only floating-point types for 'floatType' template parameter"); + + return detail::compute_compScale::is_integer, std::numeric_limits::is_signed>::call(v); + } + + template + GLM_FUNC_QUALIFIER T compAdd(vec const& v) + { + T Result(0); + for(length_t i = 0, n = v.length(); i < n; ++i) + Result += v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMul(vec const& v) + { + T Result(1); + for(length_t i = 0, n = v.length(); i < n; ++i) + Result *= v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMin(vec const& v) + { + T Result(v[0]); + for(length_t i = 1, n = v.length(); i < n; ++i) + Result = min(Result, v[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMax(vec const& v) + { + T Result(v[0]); + for(length_t i = 1, n = v.length(); i < n; ++i) + Result = max(Result, v[i]); + return Result; + } +}//namespace glm diff --git a/vendor/glm/gtx/dual_quaternion.hpp b/vendor/glm/gtx/dual_quaternion.hpp new file mode 100755 index 0000000000..55445144d5 --- /dev/null +++ b/vendor/glm/gtx/dual_quaternion.hpp @@ -0,0 +1,274 @@ +/// @ref gtx_dual_quaternion +/// @file glm/gtx/dual_quaternion.hpp +/// @author Maksim Vorobiev (msomeone@gmail.com) +/// +/// @see core (dependence) +/// @see gtc_constants (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_dual_quaternion GLM_GTX_dual_quaternion +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines a templated dual-quaternion type and several dual-quaternion operations. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../gtc/quaternion.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_dual_quaternion extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_dual_quaternion + /// @{ + + template + struct tdualquat + { + // -- Implementation detail -- + + typedef T value_type; + typedef glm::tquat part_type; + + // -- Data -- + + glm::tquat real, dual; + + // -- Component accesses -- + + typedef length_t length_type; + /// Return the count of components of a dual quaternion + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;} + + GLM_FUNC_DECL part_type & operator[](length_type i); + GLM_FUNC_DECL part_type const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat const& d) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat const& d); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat const& real); + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat const& orientation, vec<3, T, Q> const& translation); + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat const& real, tquat const& dual); + + // -- Conversion constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tdualquat(tdualquat const& q); + + GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<2, 4, T, Q> const& holder_mat); + GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<3, 4, T, Q> const& aug_mat); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL tdualquat & operator=(tdualquat const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL tdualquat & operator=(tdualquat const& m); + template + GLM_FUNC_DECL tdualquat & operator*=(U s); + template + GLM_FUNC_DECL tdualquat & operator/=(U s); + }; + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL tdualquat operator+(tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator-(tdualquat const& q); + + // -- Binary operators -- + + template + GLM_FUNC_DECL tdualquat operator+(tdualquat const& q, tdualquat const& p); + + template + GLM_FUNC_DECL tdualquat operator*(tdualquat const& q, tdualquat const& p); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(tdualquat const& q, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat const& q); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(tdualquat const& q, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator*(tdualquat const& q, T const& s); + + template + GLM_FUNC_DECL tdualquat operator*(T const& s, tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator/(tdualquat const& q, T const& s); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(tdualquat const& q1, tdualquat const& q2); + + template + GLM_FUNC_DECL bool operator!=(tdualquat const& q1, tdualquat const& q2); + + /// Creates an identity dual quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dual_quat_identity(); + + /// Returns the normalized quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat normalize(tdualquat const& q); + + /// Returns the linear interpolation of two dual quaternion. + /// + /// @see gtc_dual_quaternion + template + GLM_FUNC_DECL tdualquat lerp(tdualquat const& x, tdualquat const& y, T const& a); + + /// Returns the q inverse. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat inverse(tdualquat const& q); + + /// Converts a quaternion to a 2 * 4 matrix. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL mat<2, 4, T, Q> mat2x4_cast(tdualquat const& x); + + /// Converts a quaternion to a 3 * 4 matrix. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL mat<3, 4, T, Q> mat3x4_cast(tdualquat const& x); + + /// Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dualquat_cast(mat<2, 4, T, Q> const& x); + + /// Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dualquat_cast(mat<3, 4, T, Q> const& x); + + + /// Dual-quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_dualquat; + + /// Dual-quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_dualquat; + + /// Dual-quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_dualquat; + + + /// Dual-quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_fdualquat; + + /// Dual-quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_fdualquat; + + /// Dual-quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_fdualquat; + + + /// Dual-quaternion of low double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_ddualquat; + + /// Dual-quaternion of medium double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_ddualquat; + + /// Dual-quaternion of high double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_ddualquat; + + +#if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + /// Dual-quaternion of floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_fdualquat dualquat; + + /// Dual-quaternion of single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_fdualquat fdualquat; +#elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef highp_fdualquat dualquat; + typedef highp_fdualquat fdualquat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef mediump_fdualquat dualquat; + typedef mediump_fdualquat fdualquat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_fdualquat dualquat; + typedef lowp_fdualquat fdualquat; +#else +# error "GLM error: multiple default precision requested for single-precision floating-point types" +#endif + + +#if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + /// Dual-quaternion of default double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_ddualquat ddualquat; +#elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef highp_ddualquat ddualquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef mediump_ddualquat ddualquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_ddualquat ddualquat; +#else +# error "GLM error: Multiple default precision requested for double-precision floating-point types" +#endif + + /// @} +} //namespace glm + +#include "dual_quaternion.inl" diff --git a/vendor/glm/gtx/dual_quaternion.inl b/vendor/glm/gtx/dual_quaternion.inl new file mode 100755 index 0000000000..5c82b882b4 --- /dev/null +++ b/vendor/glm/gtx/dual_quaternion.inl @@ -0,0 +1,355 @@ +/// @ref gtx_dual_quaternion +/// @file glm/gtx/dual_quaternion.inl + +#include "../geometric.hpp" +#include + +namespace glm +{ + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER typename tdualquat::part_type & tdualquat::operator[](typename tdualquat::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&real)[i]; + } + + template + GLM_FUNC_QUALIFIER typename tdualquat::part_type const& tdualquat::operator[](typename tdualquat::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&real)[i]; + } + + // -- Implicit basic constructors -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS || defined(GLM_FORCE_CTOR_INIT) + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat() +# ifdef GLM_FORCE_CTOR_INIT + : real(tquat()) + , dual(tquat(0, 0, 0, 0)) +# endif + {} +# endif + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& d) + : real(d.real) + , dual(d.dual) + {} +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& d) + : real(d.real) + , dual(d.dual) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tquat const& r) + : real(r), dual(tquat(0, 0, 0, 0)) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tquat const& q, vec<3, T, Q> const& p) + : real(q), dual( + T(-0.5) * ( p.x*q.x + p.y*q.y + p.z*q.z), + T(+0.5) * ( p.x*q.w + p.y*q.z - p.z*q.y), + T(+0.5) * (-p.x*q.z + p.y*q.w + p.z*q.x), + T(+0.5) * ( p.x*q.y - p.y*q.x + p.z*q.w)) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tquat const& r, tquat const& d) + : real(r), dual(d) + {} + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& q) + : real(q.real) + , dual(q.dual) + {} + + template + GLM_FUNC_QUALIFIER tdualquat::tdualquat(mat<2, 4, T, Q> const& m) + { + *this = dualquat_cast(m); + } + + template + GLM_FUNC_QUALIFIER tdualquat::tdualquat(mat<3, 4, T, Q> const& m) + { + *this = dualquat_cast(m); + } + + // -- Unary arithmetic operators -- + +# if !GLM_HAS_DEFAULTED_FUNCTIONS + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator=(tdualquat const& q) + { + this->real = q.real; + this->dual = q.dual; + return *this; + } +# endif//!GLM_HAS_DEFAULTED_FUNCTIONS + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator=(tdualquat const& q) + { + this->real = q.real; + this->dual = q.dual; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator*=(U s) + { + this->real *= static_cast(s); + this->dual *= static_cast(s); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator/=(U s) + { + this->real /= static_cast(s); + this->dual /= static_cast(s); + return *this; + } + + // -- Unary bit operators -- + + template + GLM_FUNC_QUALIFIER tdualquat operator+(tdualquat const& q) + { + return q; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator-(tdualquat const& q) + { + return tdualquat(-q.real, -q.dual); + } + + // -- Binary operators -- + + template + GLM_FUNC_QUALIFIER tdualquat operator+(tdualquat const& q, tdualquat const& p) + { + return tdualquat(q.real + p.real,q.dual + p.dual); + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(tdualquat const& p, tdualquat const& o) + { + return tdualquat(p.real * o.real,p.real * o.dual + p.dual * o.real); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(tdualquat const& q, vec<3, T, Q> const& v) + { + vec<3, T, Q> const real_v3(q.real.x,q.real.y,q.real.z); + vec<3, T, Q> const dual_v3(q.dual.x,q.dual.y,q.dual.z); + return (cross(real_v3, cross(real_v3,v) + v * q.real.w + dual_v3) + dual_v3 * q.real.w - real_v3 * q.dual.w) * T(2) + v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(tdualquat const& q, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(q * vec<3, T, Q>(v), v.w); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(tdualquat const& q, T const& s) + { + return tdualquat(q.real * s, q.dual * s); + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(T const& s, tdualquat const& q) + { + return q * s; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator/(tdualquat const& q, T const& s) + { + return tdualquat(q.real / s, q.dual / s); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(tdualquat const& q1, tdualquat const& q2) + { + return (q1.real == q2.real) && (q1.dual == q2.dual); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(tdualquat const& q1, tdualquat const& q2) + { + return (q1.real != q2.real) || (q1.dual != q2.dual); + } + + // -- Operations -- + + template + GLM_FUNC_QUALIFIER tdualquat dual_quat_identity() + { + return tdualquat( + tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(0)), + tquat(static_cast(0), static_cast(0), static_cast(0), static_cast(0))); + } + + template + GLM_FUNC_QUALIFIER tdualquat normalize(tdualquat const& q) + { + return q / length(q.real); + } + + template + GLM_FUNC_QUALIFIER tdualquat lerp(tdualquat const& x, tdualquat const& y, T const& a) + { + // Dual Quaternion Linear blend aka DLB: + // Lerp is only defined in [0, 1] + assert(a >= static_cast(0)); + assert(a <= static_cast(1)); + T const k = dot(x.real,y.real) < static_cast(0) ? -a : a; + T const one(1); + return tdualquat(x * (one - a) + y * k); + } + + template + GLM_FUNC_QUALIFIER tdualquat inverse(tdualquat const& q) + { + const glm::tquat real = conjugate(q.real); + const glm::tquat dual = conjugate(q.dual); + return tdualquat(real, dual + (real * (-2.0f * dot(real,dual)))); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat2x4_cast(tdualquat const& x) + { + return mat<2, 4, T, Q>( x[0].x, x[0].y, x[0].z, x[0].w, x[1].x, x[1].y, x[1].z, x[1].w ); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat3x4_cast(tdualquat const& x) + { + tquat r = x.real / length2(x.real); + + tquat const rr(r.w * x.real.w, r.x * x.real.x, r.y * x.real.y, r.z * x.real.z); + r *= static_cast(2); + + T const xy = r.x * x.real.y; + T const xz = r.x * x.real.z; + T const yz = r.y * x.real.z; + T const wx = r.w * x.real.x; + T const wy = r.w * x.real.y; + T const wz = r.w * x.real.z; + + vec<4, T, Q> const a( + rr.w + rr.x - rr.y - rr.z, + xy - wz, + xz + wy, + -(x.dual.w * r.x - x.dual.x * r.w + x.dual.y * r.z - x.dual.z * r.y)); + + vec<4, T, Q> const b( + xy + wz, + rr.w + rr.y - rr.x - rr.z, + yz - wx, + -(x.dual.w * r.y - x.dual.x * r.z - x.dual.y * r.w + x.dual.z * r.x)); + + vec<4, T, Q> const c( + xz - wy, + yz + wx, + rr.w + rr.z - rr.x - rr.y, + -(x.dual.w * r.z + x.dual.x * r.y - x.dual.y * r.x - x.dual.z * r.w)); + + return mat<3, 4, T, Q>(a, b, c); + } + + template + GLM_FUNC_QUALIFIER tdualquat dualquat_cast(mat<2, 4, T, Q> const& x) + { + return tdualquat( + tquat( x[0].w, x[0].x, x[0].y, x[0].z ), + tquat( x[1].w, x[1].x, x[1].y, x[1].z )); + } + + template + GLM_FUNC_QUALIFIER tdualquat dualquat_cast(mat<3, 4, T, Q> const& x) + { + tquat real; + + T const trace = x[0].x + x[1].y + x[2].z; + if(trace > static_cast(0)) + { + T const r = sqrt(T(1) + trace); + T const invr = static_cast(0.5) / r; + real.w = static_cast(0.5) * r; + real.x = (x[2].y - x[1].z) * invr; + real.y = (x[0].z - x[2].x) * invr; + real.z = (x[1].x - x[0].y) * invr; + } + else if(x[0].x > x[1].y && x[0].x > x[2].z) + { + T const r = sqrt(T(1) + x[0].x - x[1].y - x[2].z); + T const invr = static_cast(0.5) / r; + real.x = static_cast(0.5)*r; + real.y = (x[1].x + x[0].y) * invr; + real.z = (x[0].z + x[2].x) * invr; + real.w = (x[2].y - x[1].z) * invr; + } + else if(x[1].y > x[2].z) + { + T const r = sqrt(T(1) + x[1].y - x[0].x - x[2].z); + T const invr = static_cast(0.5) / r; + real.x = (x[1].x + x[0].y) * invr; + real.y = static_cast(0.5) * r; + real.z = (x[2].y + x[1].z) * invr; + real.w = (x[0].z - x[2].x) * invr; + } + else + { + T const r = sqrt(T(1) + x[2].z - x[0].x - x[1].y); + T const invr = static_cast(0.5) / r; + real.x = (x[0].z + x[2].x) * invr; + real.y = (x[2].y + x[1].z) * invr; + real.z = static_cast(0.5) * r; + real.w = (x[1].x - x[0].y) * invr; + } + + tquat dual; + dual.x = static_cast(0.5) * ( x[0].w * real.w + x[1].w * real.z - x[2].w * real.y); + dual.y = static_cast(0.5) * (-x[0].w * real.z + x[1].w * real.w + x[2].w * real.x); + dual.z = static_cast(0.5) * ( x[0].w * real.y - x[1].w * real.x + x[2].w * real.w); + dual.w = -static_cast(0.5) * ( x[0].w * real.x + x[1].w * real.y + x[2].w * real.z); + return tdualquat(real, dual); + } +}//namespace glm diff --git a/vendor/glm/gtx/easing.hpp b/vendor/glm/gtx/easing.hpp new file mode 100755 index 0000000000..913ca702cb --- /dev/null +++ b/vendor/glm/gtx/easing.hpp @@ -0,0 +1,221 @@ +/// @ref gtx_easing +/// @file glm/gtx/easing.hpp +/// @author Robert Chisholm +/// +/// @see core (dependence) +/// +/// @defgroup gtx_easing GLM_GTX_easing +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Easing functions for animations and transitons +/// All functions take a parameter x in the range [0.0,1.0] +/// +/// Based on the AHEasing project of Warren Moore (https://github.com/warrenm/AHEasing) + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/type_int.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_easing is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_easing extension included") +#endif + +namespace glm{ + /// @addtogroup gtx_easing + /// @{ + + /// Modelled after the line y = x + /// @see gtx_easing + template + GLM_FUNC_DECL genType linearInterpolation(genType const & a); + + /// Modelled after the parabola y = x^2 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseIn(genType const & a); + + /// Modelled after the parabola y = -x^2 + 2x + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseOut(genType const & a); + + /// Modelled after the piecewise quadratic + /// y = (1/2)((2x)^2) ; [0, 0.5) + /// y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseInOut(genType const & a); + + /// Modelled after the cubic y = x^3 + template + GLM_FUNC_DECL genType cubicEaseIn(genType const & a); + + /// Modelled after the cubic y = (x - 1)^3 + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType cubicEaseOut(genType const & a); + + /// Modelled after the piecewise cubic + /// y = (1/2)((2x)^3) ; [0, 0.5) + /// y = (1/2)((2x-2)^3 + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType cubicEaseInOut(genType const & a); + + /// Modelled after the quartic x^4 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseIn(genType const & a); + + /// Modelled after the quartic y = 1 - (x - 1)^4 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseOut(genType const & a); + + /// Modelled after the piecewise quartic + /// y = (1/2)((2x)^4) ; [0, 0.5) + /// y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseInOut(genType const & a); + + /// Modelled after the quintic y = x^5 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseIn(genType const & a); + + /// Modelled after the quintic y = (x - 1)^5 + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseOut(genType const & a); + + /// Modelled after the piecewise quintic + /// y = (1/2)((2x)^5) ; [0, 0.5) + /// y = (1/2)((2x-2)^5 + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseInOut(genType const & a); + + /// Modelled after quarter-cycle of sine wave + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseIn(genType const & a); + + /// Modelled after quarter-cycle of sine wave (different phase) + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseOut(genType const & a); + + /// Modelled after half sine wave + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseInOut(genType const & a); + + /// Modelled after shifted quadrant IV of unit circle + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseIn(genType const & a); + + /// Modelled after shifted quadrant II of unit circle + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseOut(genType const & a); + + /// Modelled after the piecewise circular function + /// y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) + /// y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseInOut(genType const & a); + + /// Modelled after the exponential function y = 2^(10(x - 1)) + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseIn(genType const & a); + + /// Modelled after the exponential function y = -2^(-10x) + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseOut(genType const & a); + + /// Modelled after the piecewise exponential + /// y = (1/2)2^(10(2x - 1)) ; [0,0.5) + /// y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseInOut(genType const & a); + + /// Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseIn(genType const & a); + + /// Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseOut(genType const & a); + + /// Modelled after the piecewise exponentially-damped sine wave: + /// y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) + /// y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseInOut(genType const & a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseIn(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseOut(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseInOut(genType const& a); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseIn(genType const& a, genType const& o); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseOut(genType const& a, genType const& o); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseInOut(genType const& a, genType const& o); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseIn(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseOut(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseInOut(genType const& a); + + /// @} +}//namespace glm + +#include "easing.inl" diff --git a/vendor/glm/gtx/easing.inl b/vendor/glm/gtx/easing.inl new file mode 100755 index 0000000000..b6d7886f6a --- /dev/null +++ b/vendor/glm/gtx/easing.inl @@ -0,0 +1,437 @@ +/// @ref gtx_easing +/// @file glm/gtx/easing.inl + +#include + +namespace glm{ + + template + GLM_FUNC_QUALIFIER genType linearInterpolation(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a; + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a; + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return -(a * (a - static_cast(2))); + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(2) * a * a; + } + else + { + return (-static_cast(2) * a * a) + (4 * a) - one(); + } + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = a - one(); + return f * f * f + one(); + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if (a < static_cast(0.5)) + { + return static_cast(4) * a * a * a; + } + else + { + genType const f = ((static_cast(2) * a) - static_cast(2)); + return static_cast(0.5) * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = (a - one()); + return f * f * f * (one() - a) + one(); + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(8) * a * a * a * a; + } + else + { + genType const f = (a - one()); + return -static_cast(8) * f * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = (a - one()); + return f * f * f * f * f + one(); + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(16) * a * a * a * a * a; + } + else + { + genType const f = ((static_cast(2) * a) - static_cast(2)); + return static_cast(0.5) * f * f * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType sineEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sin((a - one()) * half_pi()) + one(); + } + + template + GLM_FUNC_QUALIFIER genType sineEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sin(a * half_pi()); + } + + template + GLM_FUNC_QUALIFIER genType sineEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return static_cast(0.5) * (one() - cos(a * pi())); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return one() - sqrt(one() - (a * a)); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sqrt((static_cast(2) - a) * a); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(0.5) * (one() - std::sqrt(one() - static_cast(4) * (a * a))); + } + else + { + return static_cast(0.5) * (std::sqrt(-((static_cast(2) * a) - static_cast(3)) * ((static_cast(2) * a) - one())) + one()); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a <= zero()) + return a; + else + { + genType const Complementary = a - one(); + genType const Two = static_cast(2); + + return glm::pow(Two, Complementary * static_cast(10)); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a >= one()) + return a; + else + { + return one() - glm::pow(static_cast(2), -static_cast(10) * a); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + return static_cast(0.5) * glm::pow(static_cast(2), (static_cast(20) * a) - static_cast(10)); + else + return -static_cast(0.5) * glm::pow(static_cast(2), (-static_cast(20) * a) + static_cast(10)) + one(); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return std::sin(static_cast(13) * half_pi() * a) * glm::pow(static_cast(2), static_cast(10) * (a - one())); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return std::sin(-static_cast(13) * half_pi() * (a + one())) * glm::pow(static_cast(2), -static_cast(10) * a) + one(); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + return static_cast(0.5) * std::sin(static_cast(13) * half_pi() * (static_cast(2) * a)) * glm::pow(static_cast(2), static_cast(10) * ((static_cast(2) * a) - one())); + else + return static_cast(0.5) * (std::sin(-static_cast(13) * half_pi() * ((static_cast(2) * a - one()) + one())) * glm::pow(static_cast(2), -static_cast(10) * (static_cast(2) * a - one())) + static_cast(2)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseIn(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType z = ((o + one()) * a) - o; + return (a * a * z); + } + + template + GLM_FUNC_QUALIFIER genType backEaseOut(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType n = a - one(); + genType z = ((o + one()) * n) + o; + return (n * n * z) + one(); + } + + template + GLM_FUNC_QUALIFIER genType backEaseInOut(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType s = o * static_cast(1.525); + genType x = static_cast(0.5); + genType n = a / static_cast(0.5); + + if (n < static_cast(1)) + { + genType z = ((s + static_cast(1)) * n) - s; + genType m = n * n * z; + return x * m; + } + else + { + n -= static_cast(2); + genType z = ((s + static_cast(1)) * n) + s; + genType m = (n*n*z) + static_cast(2); + return x * m; + } + } + + template + GLM_FUNC_QUALIFIER genType backEaseIn(genType const& a) + { + return backEaseIn(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseOut(genType const& a) + { + return backEaseOut(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseInOut(genType const& a) + { + return backEaseInOut(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(4.0 / 11.0)) + { + return (static_cast(121) * a * a) / static_cast(16); + } + else if(a < static_cast(8.0 / 11.0)) + { + return (static_cast(363.0 / 40.0) * a * a) - (static_cast(99.0 / 10.0) * a) + static_cast(17.0 / 5.0); + } + else if(a < static_cast(9.0 / 10.0)) + { + return (static_cast(4356.0 / 361.0) * a * a) - (static_cast(35442.0 / 1805.0) * a) + static_cast(16061.0 / 1805.0); + } + else + { + return (static_cast(54.0 / 5.0) * a * a) - (static_cast(513.0 / 25.0) * a) + static_cast(268.0 / 25.0); + } + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return one() - bounceEaseOut(one() - a); + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(0.5) * (one() - bounceEaseOut(a * static_cast(2))); + } + else + { + return static_cast(0.5) * bounceEaseOut(a * static_cast(2) - one()) + static_cast(0.5); + } + } + +}//namespace glm diff --git a/vendor/glm/gtx/euler_angles.hpp b/vendor/glm/gtx/euler_angles.hpp new file mode 100755 index 0000000000..dccc621e5c --- /dev/null +++ b/vendor/glm/gtx/euler_angles.hpp @@ -0,0 +1,335 @@ +/// @ref gtx_euler_angles +/// @file glm/gtx/euler_angles.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_euler_angles GLM_GTX_euler_angles +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build matrices from Euler angles. +/// +/// Extraction of Euler angles from rotation matrix. +/// Based on the original paper 2014 Mike Day - Extracting Euler Angles from a Rotation Matrix. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_euler_angles extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_euler_angles + /// @{ + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX( + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY( + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ( + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleX( + T const & angleX, T const & angularVelocityX); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleY( + T const & angleY, T const & angularVelocityY); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleZ( + T const & angleZ, T const & angularVelocityZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY( + T const& angleX, + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX( + T const& angleY, + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ( + T const& angleX, + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX( + T const& angle, + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ( + T const& angleY, + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY( + T const& angleZ, + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ( + T const& t1, + T const& t2, + T const& t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ( + T const& yaw, + T const& pitch, + T const& roll); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYZ( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXZ( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll( + T const& yaw, + T const& pitch, + T const& roll); + + /// Creates a 2D 2 * 2 rotation matrix from an euler angle. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const& angle); + + /// Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const& angle); + + /// Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<3, 3, T, Q> orientate3(vec<3, T, Q> const& angles); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, Q> orientate4(vec<3, T, Q> const& angles); + + /// Extracts the (X * Y * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * X * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Z * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Y * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * X * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * Z * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * Y * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * X * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Z * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * Z * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * Y * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * X * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// @} +}//namespace glm + +#include "euler_angles.inl" diff --git a/vendor/glm/gtx/euler_angles.inl b/vendor/glm/gtx/euler_angles.inl new file mode 100755 index 0000000000..8a289d8fa2 --- /dev/null +++ b/vendor/glm/gtx/euler_angles.inl @@ -0,0 +1,900 @@ +/// @ref gtx_euler_angles +/// @file glm/gtx/euler_angles.inl + +#include "compatibility.hpp" // glm::atan2 + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleX + ( + T const& angleX + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + + return mat<4, 4, T, defaultp>( + T(1), T(0), T(0), T(0), + T(0), cosX, sinX, T(0), + T(0),-sinX, cosX, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleY + ( + T const& angleY + ) + { + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, T(0), -sinY, T(0), + T(0), T(1), T(0), T(0), + sinY, T(0), cosY, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZ + ( + T const& angleZ + ) + { + T cosZ = glm::cos(angleZ); + T sinZ = glm::sin(angleZ); + + return mat<4, 4, T, defaultp>( + cosZ, sinZ, T(0), T(0), + -sinZ, cosZ, T(0), T(0), + T(0), T(0), T(1), T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleX + ( + T const & angleX, + T const & angularVelocityX + ) + { + T cosX = glm::cos(angleX) * angularVelocityX; + T sinX = glm::sin(angleX) * angularVelocityX; + + return mat<4, 4, T, defaultp>( + T(0), T(0), T(0), T(0), + T(0),-sinX, cosX, T(0), + T(0),-cosX,-sinX, T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleY + ( + T const & angleY, + T const & angularVelocityY + ) + { + T cosY = glm::cos(angleY) * angularVelocityY; + T sinY = glm::sin(angleY) * angularVelocityY; + + return mat<4, 4, T, defaultp>( + -sinY, T(0), -cosY, T(0), + T(0), T(0), T(0), T(0), + cosY, T(0), -sinY, T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleZ + ( + T const & angleZ, + T const & angularVelocityZ + ) + { + T cosZ = glm::cos(angleZ) * angularVelocityZ; + T sinZ = glm::sin(angleZ) * angularVelocityZ; + + return mat<4, 4, T, defaultp>( + -sinZ, cosZ, T(0), T(0), + -cosZ, -sinZ, T(0), T(0), + T(0), T(0), T(0), T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXY + ( + T const& angleX, + T const& angleY + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, -sinX * -sinY, cosX * -sinY, T(0), + T(0), cosX, sinX, T(0), + sinY, -sinX * cosY, cosX * cosY, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYX + ( + T const& angleY, + T const& angleX + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, 0, -sinY, T(0), + sinY * sinX, cosX, cosY * sinX, T(0), + sinY * cosX, -sinX, cosY * cosX, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZ + ( + T const& angleX, + T const& angleZ + ) + { + return eulerAngleX(angleX) * eulerAngleZ(angleZ); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZX + ( + T const& angleZ, + T const& angleX + ) + { + return eulerAngleZ(angleZ) * eulerAngleX(angleX); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZ + ( + T const& angleY, + T const& angleZ + ) + { + return eulerAngleY(angleY) * eulerAngleZ(angleZ); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZY + ( + T const& angleZ, + T const& angleY + ) + { + return eulerAngleZ(angleZ) * eulerAngleY(angleY); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXYZ + ( + T const& t1, + T const& t2, + T const& t3 + ) + { + T c1 = glm::cos(-t1); + T c2 = glm::cos(-t2); + T c3 = glm::cos(-t3); + T s1 = glm::sin(-t1); + T s2 = glm::sin(-t2); + T s3 = glm::sin(-t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2 * c3; + Result[0][1] =-c1 * s3 + s1 * s2 * c3; + Result[0][2] = s1 * s3 + c1 * s2 * c3; + Result[0][3] = static_cast(0); + Result[1][0] = c2 * s3; + Result[1][1] = c1 * c3 + s1 * s2 * s3; + Result[1][2] =-s1 * c3 + c1 * s2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] =-s2; + Result[2][1] = s1 * c2; + Result[2][2] = c1 * c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYXZ + ( + T const& yaw, + T const& pitch, + T const& roll + ) + { + T tmp_ch = glm::cos(yaw); + T tmp_sh = glm::sin(yaw); + T tmp_cp = glm::cos(pitch); + T tmp_sp = glm::sin(pitch); + T tmp_cb = glm::cos(roll); + T tmp_sb = glm::sin(roll); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = tmp_ch * tmp_cb + tmp_sh * tmp_sp * tmp_sb; + Result[0][1] = tmp_sb * tmp_cp; + Result[0][2] = -tmp_sh * tmp_cb + tmp_ch * tmp_sp * tmp_sb; + Result[0][3] = static_cast(0); + Result[1][0] = -tmp_ch * tmp_sb + tmp_sh * tmp_sp * tmp_cb; + Result[1][1] = tmp_cb * tmp_cp; + Result[1][2] = tmp_sb * tmp_sh + tmp_ch * tmp_sp * tmp_cb; + Result[1][3] = static_cast(0); + Result[2][0] = tmp_sh * tmp_cp; + Result[2][1] = -tmp_sp; + Result[2][2] = tmp_ch * tmp_cp; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2; + Result[0][1] = c1 * s2; + Result[0][2] = s1 * s2; + Result[0][3] = static_cast(0); + Result[1][0] =-c3 * s2; + Result[1][1] = c1 * c2 * c3 - s1 * s3; + Result[1][2] = c1 * s3 + c2 * c3 * s1; + Result[1][3] = static_cast(0); + Result[2][0] = s2 * s3; + Result[2][1] =-c3 * s1 - c1 * c2 * s3; + Result[2][2] = c1 * c3 - c2 * s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXYX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2; + Result[0][1] = s1 * s2; + Result[0][2] =-c1 * s2; + Result[0][3] = static_cast(0); + Result[1][0] = s2 * s3; + Result[1][1] = c1 * c3 - c2 * s1 * s3; + Result[1][2] = c3 * s1 + c1 * c2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s2; + Result[2][1] =-c1 * s3 - c2 * c3 * s1; + Result[2][2] = c1 * c2 * c3 - s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYXY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - c2 * s1 * s3; + Result[0][1] = s2* s3; + Result[0][2] =-c3 * s1 - c1 * c2 * s3; + Result[0][3] = static_cast(0); + Result[1][0] = s1 * s2; + Result[1][1] = c2; + Result[1][2] = c1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s3 + c2 * c3 * s1; + Result[2][1] =-c3 * s2; + Result[2][2] = c1 * c2 * c3 - s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2 * c3 - s1 * s3; + Result[0][1] = c3 * s2; + Result[0][2] =-c1 * s3 - c2 * c3 * s1; + Result[0][3] = static_cast(0); + Result[1][0] =-c1 * s2; + Result[1][1] = c2; + Result[1][2] = s1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s1 + c1 * c2 * s3; + Result[2][1] = s2 * s3; + Result[2][2] = c1 * c3 - c2 * s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZYZ + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2 * c3 - s1 * s3; + Result[0][1] = c1 * s3 + c2 * c3 * s1; + Result[0][2] =-c3 * s2; + Result[0][3] = static_cast(0); + Result[1][0] =-c3 * s1 - c1 * c2 * s3; + Result[1][1] = c1 * c3 - c2 * s1 * s3; + Result[1][2] = s2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s2; + Result[2][1] = s1 * s2; + Result[2][2] = c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZXZ + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - c2 * s1 * s3; + Result[0][1] = c3 * s1 + c1 * c2 * s3; + Result[0][2] = s2 *s3; + Result[0][3] = static_cast(0); + Result[1][0] =-c1 * s3 - c2 * c3 * s1; + Result[1][1] = c1 * c2 * c3 - s1 * s3; + Result[1][2] = c3 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = s1 * s2; + Result[2][1] =-c1 * s2; + Result[2][2] = c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2 * c3; + Result[0][1] = s1 * s3 + c1 * c3 * s2; + Result[0][2] = c3 * s1 * s2 - c1 * s3; + Result[0][3] = static_cast(0); + Result[1][0] =-s2; + Result[1][1] = c1 * c2; + Result[1][2] = c2 * s1; + Result[1][3] = static_cast(0); + Result[2][0] = c2 * s3; + Result[2][1] = c1 * s2 * s3 - c3 * s1; + Result[2][2] = c1 * c3 + s1 * s2 *s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2; + Result[0][1] = s2; + Result[0][2] =-c2 * s1; + Result[0][3] = static_cast(0); + Result[1][0] = s1 * s3 - c1 * c3 * s2; + Result[1][1] = c2 * c3; + Result[1][2] = c1 * s3 + c3 * s1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s1 + c1 * s2 * s3; + Result[2][1] =-c2 * s3; + Result[2][2] = c1 * c3 - s1 * s2 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZYX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2; + Result[0][1] = c2 * s1; + Result[0][2] =-s2; + Result[0][3] = static_cast(0); + Result[1][0] = c1 * s2 * s3 - c3 * s1; + Result[1][1] = c1 * c3 + s1 * s2 * s3; + Result[1][2] = c2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = s1 * s3 + c1 * c3 * s2; + Result[2][1] = c3 * s1 * s2 - c1 * s3; + Result[2][2] = c2 * c3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZXY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - s1 * s2 * s3; + Result[0][1] = c3 * s1 + c1 * s2 * s3; + Result[0][2] =-c2 * s3; + Result[0][3] = static_cast(0); + Result[1][0] =-c2 * s1; + Result[1][1] = c1 * c2; + Result[1][2] = s2; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s3 + c3 * s1 * s2; + Result[2][1] = s1 * s3 - c1 * c3 * s2; + Result[2][2] = c2 * c3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> yawPitchRoll + ( + T const& yaw, + T const& pitch, + T const& roll + ) + { + T tmp_ch = glm::cos(yaw); + T tmp_sh = glm::sin(yaw); + T tmp_cp = glm::cos(pitch); + T tmp_sp = glm::sin(pitch); + T tmp_cb = glm::cos(roll); + T tmp_sb = glm::sin(roll); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = tmp_ch * tmp_cb + tmp_sh * tmp_sp * tmp_sb; + Result[0][1] = tmp_sb * tmp_cp; + Result[0][2] = -tmp_sh * tmp_cb + tmp_ch * tmp_sp * tmp_sb; + Result[0][3] = static_cast(0); + Result[1][0] = -tmp_ch * tmp_sb + tmp_sh * tmp_sp * tmp_cb; + Result[1][1] = tmp_cb * tmp_cp; + Result[1][2] = tmp_sb * tmp_sh + tmp_ch * tmp_sp * tmp_cb; + Result[1][3] = static_cast(0); + Result[2][0] = tmp_sh * tmp_cp; + Result[2][1] = -tmp_sp; + Result[2][2] = tmp_ch * tmp_cp; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> orientate2 + ( + T const& angle + ) + { + T c = glm::cos(angle); + T s = glm::sin(angle); + + mat<2, 2, T, defaultp> Result; + Result[0][0] = c; + Result[0][1] = s; + Result[1][0] = -s; + Result[1][1] = c; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> orientate3 + ( + T const& angle + ) + { + T c = glm::cos(angle); + T s = glm::sin(angle); + + mat<3, 3, T, defaultp> Result; + Result[0][0] = c; + Result[0][1] = s; + Result[0][2] = 0.0f; + Result[1][0] = -s; + Result[1][1] = c; + Result[1][2] = 0.0f; + Result[2][0] = 0.0f; + Result[2][1] = 0.0f; + Result[2][2] = 1.0f; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orientate3 + ( + vec<3, T, Q> const& angles + ) + { + return mat<3, 3, T, Q>(yawPitchRoll(angles.z, angles.x, angles.y)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> orientate4 + ( + vec<3, T, Q> const& angles + ) + { + return yawPitchRoll(angles.z, angles.x, angles.y); + } + + template + GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M, + T & t1, + T & t2, + T & t3) + { + float T1 = glm::atan2(M[2][1], M[2][2]); + float C2 = glm::sqrt(M[0][0]*M[0][0] + M[1][0]*M[1][0]); + float T2 = glm::atan2(-M[2][0], C2); + float S1 = glm::sin(T1); + float C1 = glm::cos(T1); + float T3 = glm::atan2(S1*M[0][2] - C1*M[0][1], C1*M[1][1] - S1*M[1][2 ]); + t1 = -T1; + t2 = -T2; + t3 = -T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][0], M[2][2]); + T C2 = glm::sqrt(M[0][1]*M[0][1] + M[1][1]*M[1][1]); + T T2 = glm::atan2(-M[2][1], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[1][2] - C1*M[1][0], C1*M[0][0] - S1*M[0][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][2], M[0][1]); + T S2 = glm::sqrt(M[1][0]*M[1][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(S2, M[0][0]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[1][2] - S1*M[1][1], C1*M[2][2] - S1*M[2][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][1], -M[0][2]); + T S2 = glm::sqrt(M[1][0]*M[1][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(S2, M[0][0]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-C1*M[2][1] - S1*M[2][2], C1*M[1][1] + S1*M[1][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][0], M[1][2]); + T S2 = glm::sqrt(M[0][1]*M[0][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(S2, M[1][1]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[2][0] - S1*M[2][2], C1*M[0][0] - S1*M[0][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][2], -M[1][0]); + T S2 = glm::sqrt(M[0][1]*M[0][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(S2, M[1][1]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-S1*M[0][0] - C1*M[0][2], S1*M[2][0] + C1*M[2][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][1], M[2][0]); + T S2 = glm::sqrt(M[0][2]*M[0][2] + M[1][2]*M[1][2]); + T T2 = glm::atan2(S2, M[2][2]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[0][1] - S1*M[0][0], C1*M[1][1] - S1*M[1][0]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][0], -M[2][1]); + T S2 = glm::sqrt(M[0][2]*M[0][2] + M[1][2]*M[1][2]); + T T2 = glm::atan2(S2, M[2][2]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-C1*M[1][0] - S1*M[1][1], C1*M[0][0] + S1*M[0][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][2], M[1][1]); + T C2 = glm::sqrt(M[0][0]*M[0][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(-M[1][0], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[0][1] - C1*M[0][2], C1*M[2][2] - S1*M[2][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(-M[0][2], M[0][0]); + T C2 = glm::sqrt(M[1][1]*M[1][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(M[0][1], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[1][0] + C1*M[1][2], S1*M[2][0] + C1*M[2][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][1], M[0][0]); + T C2 = glm::sqrt(M[1][2]*M[1][2] + M[2][2]*M[2][2]); + T T2 = glm::atan2(-M[0][2], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[2][0] - C1*M[2][1], C1*M[1][1] - S1*M[1][0]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(-M[1][0], M[1][1]); + T C2 = glm::sqrt(M[0][2]*M[0][2] + M[2][2]*M[2][2]); + T T2 = glm::atan2(M[1][2], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[2][0] + S1*M[2][1], C1*M[0][0] + S1*M[0][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } +}//namespace glm diff --git a/vendor/glm/gtx/extend.hpp b/vendor/glm/gtx/extend.hpp new file mode 100755 index 0000000000..c456faebb7 --- /dev/null +++ b/vendor/glm/gtx/extend.hpp @@ -0,0 +1,42 @@ +/// @ref gtx_extend +/// @file glm/gtx/extend.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_extend GLM_GTX_extend +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extend a position from a source to a position at a defined length. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_extend extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_extend + /// @{ + + /// Extends of Length the Origin position using the (Source - Origin) direction. + /// @see gtx_extend + template + GLM_FUNC_DECL genType extend( + genType const& Origin, + genType const& Source, + typename genType::value_type const Length); + + /// @} +}//namespace glm + +#include "extend.inl" diff --git a/vendor/glm/gtx/extend.inl b/vendor/glm/gtx/extend.inl new file mode 100755 index 0000000000..9371ee60f3 --- /dev/null +++ b/vendor/glm/gtx/extend.inl @@ -0,0 +1,49 @@ +/// @ref gtx_extend +/// @file glm/gtx/extend.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType extend + ( + genType const& Origin, + genType const& Source, + genType const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> extend + ( + vec<2, T, Q> const& Origin, + vec<2, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> extend + ( + vec<3, T, Q> const& Origin, + vec<3, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> extend + ( + vec<4, T, Q> const& Origin, + vec<4, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } +}//namespace glm diff --git a/vendor/glm/gtx/extended_min_max.hpp b/vendor/glm/gtx/extended_min_max.hpp new file mode 100755 index 0000000000..b061bc82d9 --- /dev/null +++ b/vendor/glm/gtx/extended_min_max.hpp @@ -0,0 +1,226 @@ +/// @ref gtx_extended_min_max +/// @file glm/gtx/extended_min_max.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_extended_min_max GLM_GTX_extented_min_max +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Min and max functions for 3 to 4 parameters. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_extented_min_max extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_extended_min_max + /// @{ + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T min( + T const& x, + T const& y, + T const& z); + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + typename C::T const& y, + typename C::T const& z); + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + C const& y, + C const& z); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T min( + T const& x, + T const& y, + T const& z, + T const& w); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + C const& y, + C const& z, + C const& w); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T max( + T const& x, + T const& y, + T const& z); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + typename C::T const& y, + typename C::T const& z); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + C const& y, + C const& z); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T max( + T const& x, + T const& y, + T const& z, + T const& w); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + C const& y, + C const& z, + C const& w); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL genType fmin(genType x, genType y); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& x, T y); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& x, vec const& y); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point; scalar or vector types. + /// + /// @see gtx_extented_min_max + /// @see std::fmax documentation + template + GLM_FUNC_DECL genType fmax(genType x, genType y); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& x, T y); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& x, vec const& y); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL genType fclamp(genType x, genType minVal, genType maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL vec fclamp(vec const& x, T minVal, T maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL vec fclamp(vec const& x, vec const& minVal, vec const& maxVal); + + + /// @} +}//namespace glm + +#include "extended_min_max.inl" diff --git a/vendor/glm/gtx/extended_min_max.inl b/vendor/glm/gtx/extended_min_max.inl new file mode 100755 index 0000000000..ac3dd646fa --- /dev/null +++ b/vendor/glm/gtx/extended_min_max.inl @@ -0,0 +1,219 @@ +/// @ref gtx_extended_min_max +/// @file glm/gtx/extended_min_max.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T min( + T const& x, + T const& y, + T const& z) + { + return glm::min(glm::min(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + typename C::T const& y, + typename C::T const& z + ) + { + return glm::min(glm::min(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + C const& y, + C const& z + ) + { + return glm::min(glm::min(x, y), z); + } + + template + GLM_FUNC_QUALIFIER T min + ( + T const& x, + T const& y, + T const& z, + T const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + C const& y, + C const& z, + C const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template + GLM_FUNC_QUALIFIER T max( + T const& x, + T const& y, + T const& z) + { + return glm::max(glm::max(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + typename C::T const& y, + typename C::T const& z + ) + { + return glm::max(glm::max(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + C const& y, + C const& z + ) + { + return glm::max(glm::max(x, y), z); + } + + template + GLM_FUNC_QUALIFIER T max + ( + T const& x, + T const& y, + T const& z, + T const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + C const& y, + C const& z, + C const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + // fmin +# if GLM_HAS_CXX11_STL + using std::fmin; +# else + template + GLM_FUNC_QUALIFIER genType fmin(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point input"); + + if (isnan(x)) + return y; + if (isnan(y)) + return x; + + return min(x, y); + } +# endif + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, T b) + { + return detail::functor2::call(fmin, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, vec const& b) + { + return detail::functor2::call(fmin, a, b); + } + + // fmax +# if GLM_HAS_CXX11_STL + using std::fmax; +# else + template + GLM_FUNC_QUALIFIER genType fmax(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point input"); + + if (isnan(x)) + return y; + if (isnan(y)) + return x; + + return max(x, y); + } +# endif + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, T b) + { + return detail::functor2::call(fmax, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, vec const& b) + { + return detail::functor2::call(fmax, a, b); + } + + // fclamp + template + GLM_FUNC_QUALIFIER genType fclamp(genType x, genType minVal, genType maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fclamp' only accept floating-point or integer inputs"); + return fmin(fmax(x, minVal), maxVal); + } + + template + GLM_FUNC_QUALIFIER vec fclamp(vec const& x, T minVal, T maxVal) + { + return fmin(fmax(x, vec(minVal)), vec(maxVal)); + } + + template + GLM_FUNC_QUALIFIER vec fclamp(vec const& x, vec const& minVal, vec const& maxVal) + { + return fmin(fmax(x, minVal), maxVal); + } +}//namespace glm diff --git a/vendor/glm/gtx/exterior_product.hpp b/vendor/glm/gtx/exterior_product.hpp new file mode 100755 index 0000000000..4223b65156 --- /dev/null +++ b/vendor/glm/gtx/exterior_product.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_exterior_product +/// @file glm/gtx/exterior_product.hpp +/// +/// @see core (dependence) +/// @see gtx_exterior_product (dependence) +/// +/// @defgroup gtx_exterior_product GLM_GTX_exterior_product +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_exterior_product extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_exterior_product + /// @{ + + /// Returns the cross product of x and y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see Exterior product + template + GLM_FUNC_DECL T cross(vec<2, T, Q> const& v, vec<2, T, Q> const& u); + + /// @} +} //namespace glm + +#include "exterior_product.inl" diff --git a/vendor/glm/gtx/exterior_product.inl b/vendor/glm/gtx/exterior_product.inl new file mode 100755 index 0000000000..b4b36341f4 --- /dev/null +++ b/vendor/glm/gtx/exterior_product.inl @@ -0,0 +1,27 @@ +/// @ref core +/// @file glm/detail/func_geometric.inl + +#include + +namespace glm { +namespace detail +{ + template + struct compute_cross_vec2 + { + GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& v, vec<2, T, Q> const& u) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); + + return v.x * u.y - u.x * v.y; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER T cross(vec<2, T, Q> const& x, vec<2, T, Q> const& y) + { + return detail::compute_cross_vec2::value>::call(x, y); + } +}//namespace glm + diff --git a/vendor/glm/gtx/fast_exponential.hpp b/vendor/glm/gtx/fast_exponential.hpp new file mode 100755 index 0000000000..2d4918e7c7 --- /dev/null +++ b/vendor/glm/gtx/fast_exponential.hpp @@ -0,0 +1,95 @@ +/// @ref gtx_fast_exponential +/// @file glm/gtx/fast_exponential.hpp +/// +/// @see core (dependence) +/// @see gtx_half_float (dependence) +/// +/// @defgroup gtx_fast_exponential GLM_GTX_fast_exponential +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of exponential based functions. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_fast_exponential extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_exponential + /// @{ + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL genType fastPow(genType x, genType y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastPow(vec const& x, vec const& y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastPow(vec const& x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastExp(T x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastExp(vec const& x); + + /// Faster than the common log function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastLog(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastLog(vec const& x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastExp2(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastExp2(vec const& x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastLog2(T x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastLog2(vec const& x); + + /// @} +}//namespace glm + +#include "fast_exponential.inl" diff --git a/vendor/glm/gtx/fast_exponential.inl b/vendor/glm/gtx/fast_exponential.inl new file mode 100755 index 0000000000..9dfb1091c2 --- /dev/null +++ b/vendor/glm/gtx/fast_exponential.inl @@ -0,0 +1,137 @@ +/// @ref gtx_fast_exponential +/// @file glm/gtx/fast_exponential.inl + +namespace glm +{ + // fastPow: + template + GLM_FUNC_QUALIFIER genType fastPow(genType x, genType y) + { + return exp(y * log(x)); + } + + template + GLM_FUNC_QUALIFIER vec fastPow(vec const& x, vec const& y) + { + return exp(y * log(x)); + } + + template + GLM_FUNC_QUALIFIER T fastPow(T x, int y) + { + T f = static_cast(1); + for(int i = 0; i < y; ++i) + f *= x; + return f; + } + + template + GLM_FUNC_QUALIFIER vec fastPow(vec const& x, vec const& y) + { + vec Result; + for(length_t i = 0, n = x.length(); i < n; ++i) + Result[i] = fastPow(x[i], y[i]); + return Result; + } + + // fastExp + // Note: This function provides accurate results only for value between -1 and 1, else avoid it. + template + GLM_FUNC_QUALIFIER T fastExp(T x) + { + // This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower. + // return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f)))); + T x2 = x * x; + T x3 = x2 * x; + T x4 = x3 * x; + T x5 = x4 * x; + return T(1) + x + (x2 * T(0.5)) + (x3 * T(0.1666666667)) + (x4 * T(0.041666667)) + (x5 * T(0.008333333333)); + } + /* // Try to handle all values of float... but often shower than std::exp, glm::floor and the loop kill the performance + GLM_FUNC_QUALIFIER float fastExp(float x) + { + const float e = 2.718281828f; + const float IntegerPart = floor(x); + const float FloatPart = x - IntegerPart; + float z = 1.f; + + for(int i = 0; i < int(IntegerPart); ++i) + z *= e; + + const float x2 = FloatPart * FloatPart; + const float x3 = x2 * FloatPart; + const float x4 = x3 * FloatPart; + const float x5 = x4 * FloatPart; + return z * (1.0f + FloatPart + (x2 * 0.5f) + (x3 * 0.1666666667f) + (x4 * 0.041666667f) + (x5 * 0.008333333333f)); + } + + // Increase accuracy on number bigger that 1 and smaller than -1 but it's not enough for high and negative numbers + GLM_FUNC_QUALIFIER float fastExp(float x) + { + // This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower. + // return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f)))); + float x2 = x * x; + float x3 = x2 * x; + float x4 = x3 * x; + float x5 = x4 * x; + float x6 = x5 * x; + float x7 = x6 * x; + float x8 = x7 * x; + return 1.0f + x + (x2 * 0.5f) + (x3 * 0.1666666667f) + (x4 * 0.041666667f) + (x5 * 0.008333333333f)+ (x6 * 0.00138888888888f) + (x7 * 0.000198412698f) + (x8 * 0.0000248015873f);; + } + */ + + template + GLM_FUNC_QUALIFIER vec fastExp(vec const& x) + { + return detail::functor1::call(fastExp, x); + } + + // fastLog + template + GLM_FUNC_QUALIFIER genType fastLog(genType x) + { + return std::log(x); + } + + /* Slower than the VC7.1 function... + GLM_FUNC_QUALIFIER float fastLog(float x) + { + float y1 = (x - 1.0f) / (x + 1.0f); + float y2 = y1 * y1; + return 2.0f * y1 * (1.0f + y2 * (0.3333333333f + y2 * (0.2f + y2 * 0.1428571429f))); + } + */ + + template + GLM_FUNC_QUALIFIER vec fastLog(vec const& x) + { + return detail::functor1::call(fastLog, x); + } + + //fastExp2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType fastExp2(genType x) + { + return fastExp(0.69314718055994530941723212145818f * x); + } + + template + GLM_FUNC_QUALIFIER vec fastExp2(vec const& x) + { + return detail::functor1::call(fastExp2, x); + } + + // fastLog2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType fastLog2(genType x) + { + return fastLog(x) / 0.69314718055994530941723212145818f; + } + + template + GLM_FUNC_QUALIFIER vec fastLog2(vec const& x) + { + return detail::functor1::call(fastLog2, x); + } +}//namespace glm diff --git a/vendor/glm/gtx/fast_square_root.hpp b/vendor/glm/gtx/fast_square_root.hpp new file mode 100755 index 0000000000..9e15cb0d5b --- /dev/null +++ b/vendor/glm/gtx/fast_square_root.hpp @@ -0,0 +1,92 @@ +/// @ref gtx_fast_square_root +/// @file glm/gtx/fast_square_root.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_fast_square_root GLM_GTX_fast_square_root +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of square root based functions. +/// - Sqrt optimisation based on Newton's method, +/// www.gamedev.net/community/forums/topic.asp?topic id=139956 + +#pragma once + +// Dependency: +#include "../common.hpp" +#include "../exponential.hpp" +#include "../geometric.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_fast_square_root extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_square_root + /// @{ + + /// Faster than the common sqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastSqrt(genType x); + + /// Faster than the common sqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL vec fastSqrt(vec const& x); + + /// Faster than the common inversesqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastInverseSqrt(genType x); + + /// Faster than the common inversesqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL vec fastInverseSqrt(vec const& x); + + /// Faster than the common length function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastLength(genType x); + + /// Faster than the common length function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL T fastLength(vec const& x); + + /// Faster than the common distance function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastDistance(genType x, genType y); + + /// Faster than the common distance function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL T fastDistance(vec const& x, vec const& y); + + /// Faster than the common normalize function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastNormalize(genType const& x); + + /// @} +}// namespace glm + +#include "fast_square_root.inl" diff --git a/vendor/glm/gtx/fast_square_root.inl b/vendor/glm/gtx/fast_square_root.inl new file mode 100755 index 0000000000..e9889878a3 --- /dev/null +++ b/vendor/glm/gtx/fast_square_root.inl @@ -0,0 +1,81 @@ +/// @ref gtx_fast_square_root +/// @file glm/gtx/fast_square_root.inl + +namespace glm +{ + // fastSqrt + template + GLM_FUNC_QUALIFIER genType fastSqrt(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastSqrt' only accept floating-point input"); + + return genType(1) / fastInverseSqrt(x); + } + + template + GLM_FUNC_QUALIFIER vec fastSqrt(vec const& x) + { + return detail::functor1::call(fastSqrt, x); + } + + // fastInversesqrt + template + GLM_FUNC_QUALIFIER genType fastInverseSqrt(genType x) + { +# ifdef __CUDACC__ // Wordaround for a CUDA compiler bug up to CUDA6 + vec<1, T, Q> tmp(detail::compute_inversesqrt::value>::call(vec<1, genType, lowp>(x))); + return tmp.x; +# else + return detail::compute_inversesqrt<1, genType, lowp, detail::is_aligned::value>::call(vec<1, genType, lowp>(x)).x; +# endif + } + + template + GLM_FUNC_QUALIFIER vec fastInverseSqrt(vec const& x) + { + return detail::compute_inversesqrt::value>::call(x); + } + + // fastLength + template + GLM_FUNC_QUALIFIER genType fastLength(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastLength' only accept floating-point inputs"); + + return abs(x); + } + + template + GLM_FUNC_QUALIFIER T fastLength(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastLength' only accept floating-point inputs"); + + return fastSqrt(dot(x, x)); + } + + // fastDistance + template + GLM_FUNC_QUALIFIER genType fastDistance(genType x, genType y) + { + return fastLength(y - x); + } + + template + GLM_FUNC_QUALIFIER T fastDistance(vec const& x, vec const& y) + { + return fastLength(y - x); + } + + // fastNormalize + template + GLM_FUNC_QUALIFIER genType fastNormalize(genType x) + { + return x > genType(0) ? genType(1) : -genType(1); + } + + template + GLM_FUNC_QUALIFIER vec fastNormalize(vec const& x) + { + return x * fastInverseSqrt(dot(x, x)); + } +}//namespace glm diff --git a/vendor/glm/gtx/fast_trigonometry.hpp b/vendor/glm/gtx/fast_trigonometry.hpp new file mode 100755 index 0000000000..4ec87c36da --- /dev/null +++ b/vendor/glm/gtx/fast_trigonometry.hpp @@ -0,0 +1,79 @@ +/// @ref gtx_fast_trigonometry +/// @file glm/gtx/fast_trigonometry.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_fast_trigonometry GLM_GTX_fast_trigonometry +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of trigonometric functions. + +#pragma once + +// Dependency: +#include "../gtc/constants.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_fast_trigonometry extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_trigonometry + /// @{ + + /// Wrap an angle to [0 2pi[ + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T wrapAngle(T angle); + + /// Faster than the common sin function but less accurate. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastSin(T angle); + + /// Faster than the common cos function but less accurate. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastCos(T angle); + + /// Faster than the common tan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastTan(T angle); + + /// Faster than the common asin function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAsin(T angle); + + /// Faster than the common acos function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAcos(T angle); + + /// Faster than the common atan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAtan(T y, T x); + + /// Faster than the common atan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAtan(T angle); + + /// @} +}//namespace glm + +#include "fast_trigonometry.inl" diff --git a/vendor/glm/gtx/fast_trigonometry.inl b/vendor/glm/gtx/fast_trigonometry.inl new file mode 100755 index 0000000000..a733160bc4 --- /dev/null +++ b/vendor/glm/gtx/fast_trigonometry.inl @@ -0,0 +1,143 @@ +/// @ref gtx_fast_trigonometry +/// @file glm/gtx/fast_trigonometry.inl + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER vec taylorCos(vec const& x) + { + return static_cast(1) + - (x * x) * (1.f / 2.f) + + ((x * x) * (x * x)) * (1.f / 24.f) + - (((x * x) * (x * x)) * (x * x)) * (1.f / 720.f) + + (((x * x) * (x * x)) * ((x * x) * (x * x))) * (1.f / 40320.f); + } + + template + GLM_FUNC_QUALIFIER T cos_52s(T x) + { + T const xx(x * x); + return (T(0.9999932946) + xx * (T(-0.4999124376) + xx * (T(0.0414877472) + xx * T(-0.0012712095)))); + } + + template + GLM_FUNC_QUALIFIER vec cos_52s(vec const& x) + { + return detail::functor1::call(cos_52s, x); + } +}//namespace detail + + // wrapAngle + template + GLM_FUNC_QUALIFIER T wrapAngle(T angle) + { + return abs(mod(angle, two_pi())); + } + + template + GLM_FUNC_QUALIFIER vec wrapAngle(vec const& x) + { + return detail::functor1::call(wrapAngle, x); + } + + // cos + template + GLM_FUNC_QUALIFIER T fastCos(T x) + { + T const angle(wrapAngle(x)); + + if(angle < half_pi()) + return detail::cos_52s(angle); + if(angle < pi()) + return -detail::cos_52s(pi() - angle); + if(angle < (T(3) * half_pi())) + return -detail::cos_52s(angle - pi()); + + return detail::cos_52s(two_pi() - angle); + } + + template + GLM_FUNC_QUALIFIER vec fastCos(vec const& x) + { + return detail::functor1::call(fastCos, x); + } + + // sin + template + GLM_FUNC_QUALIFIER T fastSin(T x) + { + return fastCos(half_pi() - x); + } + + template + GLM_FUNC_QUALIFIER vec fastSin(vec const& x) + { + return detail::functor1::call(fastSin, x); + } + + // tan + template + GLM_FUNC_QUALIFIER T fastTan(T x) + { + return x + (x * x * x * T(0.3333333333)) + (x * x * x * x * x * T(0.1333333333333)) + (x * x * x * x * x * x * x * T(0.0539682539)); + } + + template + GLM_FUNC_QUALIFIER vec fastTan(vec const& x) + { + return detail::functor1::call(fastTan, x); + } + + // asin + template + GLM_FUNC_QUALIFIER T fastAsin(T x) + { + return x + (x * x * x * T(0.166666667)) + (x * x * x * x * x * T(0.075)) + (x * x * x * x * x * x * x * T(0.0446428571)) + (x * x * x * x * x * x * x * x * x * T(0.0303819444));// + (x * x * x * x * x * x * x * x * x * x * x * T(0.022372159)); + } + + template + GLM_FUNC_QUALIFIER vec fastAsin(vec const& x) + { + return detail::functor1::call(fastAsin, x); + } + + // acos + template + GLM_FUNC_QUALIFIER T fastAcos(T x) + { + return T(1.5707963267948966192313216916398) - fastAsin(x); //(PI / 2) + } + + template + GLM_FUNC_QUALIFIER vec fastAcos(vec const& x) + { + return detail::functor1::call(fastAcos, x); + } + + // atan + template + GLM_FUNC_QUALIFIER T fastAtan(T y, T x) + { + T sgn = sign(y) * sign(x); + return abs(fastAtan(y / x)) * sgn; + } + + template + GLM_FUNC_QUALIFIER vec fastAtan(vec const& y, vec const& x) + { + return detail::functor2::call(fastAtan, y, x); + } + + template + GLM_FUNC_QUALIFIER T fastAtan(T x) + { + return x - (x * x * x * T(0.333333333333)) + (x * x * x * x * x * T(0.2)) - (x * x * x * x * x * x * x * T(0.1428571429)) + (x * x * x * x * x * x * x * x * x * T(0.111111111111)) - (x * x * x * x * x * x * x * x * x * x * x * T(0.0909090909)); + } + + template + GLM_FUNC_QUALIFIER vec fastAtan(vec const& x) + { + return detail::functor1::call(fastAtan, x); + } +}//namespace glm diff --git a/vendor/glm/gtx/float_notmalize.inl b/vendor/glm/gtx/float_notmalize.inl new file mode 100755 index 0000000000..bceab10e42 --- /dev/null +++ b/vendor/glm/gtx/float_notmalize.inl @@ -0,0 +1,14 @@ +/// @ref gtx_float_normalize +/// @file glm/gtx/float_normalize.inl + +#include + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec floatNormalize(vec const& v) + { + return vec(v) / static_cast(std::numeric_limits::max()); + } + +}//namespace glm diff --git a/vendor/glm/gtx/functions.hpp b/vendor/glm/gtx/functions.hpp new file mode 100755 index 0000000000..98b50d8b7f --- /dev/null +++ b/vendor/glm/gtx/functions.hpp @@ -0,0 +1,52 @@ +/// @ref gtx_functions +/// @file glm/gtx/functions.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_functions GLM_GTX_functions +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// List of useful common functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/type_vec2.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_functions extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_functions + /// @{ + + /// 1D gauss function + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL T gauss( + T x, + T ExpectedValue, + T StandardDeviation); + + /// 2D gauss function + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL T gauss( + vec<2, T, Q> const& Coord, + vec<2, T, Q> const& ExpectedValue, + vec<2, T, Q> const& StandardDeviation); + + /// @} +}//namespace glm + +#include "functions.inl" + diff --git a/vendor/glm/gtx/functions.inl b/vendor/glm/gtx/functions.inl new file mode 100755 index 0000000000..ac1e1129b1 --- /dev/null +++ b/vendor/glm/gtx/functions.inl @@ -0,0 +1,31 @@ +/// @ref gtx_functions +/// @file glm/gtx/functions.inl + +#include "../exponential.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T gauss + ( + T x, + T ExpectedValue, + T StandardDeviation + ) + { + return exp(-((x - ExpectedValue) * (x - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation)) / (StandardDeviation * sqrt(static_cast(6.28318530717958647692528676655900576))); + } + + template + GLM_FUNC_QUALIFIER T gauss + ( + vec<2, T, Q> const& Coord, + vec<2, T, Q> const& ExpectedValue, + vec<2, T, Q> const& StandardDeviation + ) + { + vec<2, T, Q> const Squared = ((Coord - ExpectedValue) * (Coord - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation); + return exp(-(Squared.x + Squared.y)); + } +}//namespace glm + diff --git a/vendor/glm/gtx/gradient_paint.hpp b/vendor/glm/gtx/gradient_paint.hpp new file mode 100755 index 0000000000..2713cec00a --- /dev/null +++ b/vendor/glm/gtx/gradient_paint.hpp @@ -0,0 +1,53 @@ +/// @ref gtx_gradient_paint +/// @file glm/gtx/gradient_paint.hpp +/// +/// @see core (dependence) +/// @see gtx_optimum_pow (dependence) +/// +/// @defgroup gtx_gradient_paint GLM_GTX_gradient_paint +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions that return the color of procedural gradient for specific coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/optimum_pow.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_gradient_paint extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_gradient_paint + /// @{ + + /// Return a color from a radial gradient. + /// @see - gtx_gradient_paint + template + GLM_FUNC_DECL T radialGradient( + vec<2, T, Q> const& Center, + T const& Radius, + vec<2, T, Q> const& Focal, + vec<2, T, Q> const& Position); + + /// Return a color from a linear gradient. + /// @see - gtx_gradient_paint + template + GLM_FUNC_DECL T linearGradient( + vec<2, T, Q> const& Point0, + vec<2, T, Q> const& Point1, + vec<2, T, Q> const& Position); + + /// @} +}// namespace glm + +#include "gradient_paint.inl" diff --git a/vendor/glm/gtx/gradient_paint.inl b/vendor/glm/gtx/gradient_paint.inl new file mode 100755 index 0000000000..e2e92b5968 --- /dev/null +++ b/vendor/glm/gtx/gradient_paint.inl @@ -0,0 +1,37 @@ +/// @ref gtx_gradient_paint +/// @file glm/gtx/gradient_paint.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T radialGradient + ( + vec<2, T, Q> const& Center, + T const& Radius, + vec<2, T, Q> const& Focal, + vec<2, T, Q> const& Position + ) + { + vec<2, T, Q> F = Focal - Center; + vec<2, T, Q> D = Position - Focal; + T Radius2 = pow2(Radius); + T Fx2 = pow2(F.x); + T Fy2 = pow2(F.y); + + T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x)); + T Denominator = Radius2 - (Fx2 + Fy2); + return Numerator / Denominator; + } + + template + GLM_FUNC_QUALIFIER T linearGradient + ( + vec<2, T, Q> const& Point0, + vec<2, T, Q> const& Point1, + vec<2, T, Q> const& Position + ) + { + vec<2, T, Q> Dist = Point1 - Point0; + return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist); + } +}//namespace glm diff --git a/vendor/glm/gtx/handed_coordinate_space.hpp b/vendor/glm/gtx/handed_coordinate_space.hpp new file mode 100755 index 0000000000..1d0d41044b --- /dev/null +++ b/vendor/glm/gtx/handed_coordinate_space.hpp @@ -0,0 +1,50 @@ +/// @ref gtx_handed_coordinate_space +/// @file glm/gtx/handed_coordinate_space.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_handed_coordinate_space GLM_GTX_handed_coordinate_space +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// To know if a set of three basis vectors defines a right or left-handed coordinate system. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_handed_coordinate_space extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_handed_coordinate_space + /// @{ + + //! Return if a trihedron right handed or not. + //! From GLM_GTX_handed_coordinate_space extension. + template + GLM_FUNC_DECL bool rightHanded( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal); + + //! Return if a trihedron left handed or not. + //! From GLM_GTX_handed_coordinate_space extension. + template + GLM_FUNC_DECL bool leftHanded( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal); + + /// @} +}// namespace glm + +#include "handed_coordinate_space.inl" diff --git a/vendor/glm/gtx/handed_coordinate_space.inl b/vendor/glm/gtx/handed_coordinate_space.inl new file mode 100755 index 0000000000..163924552b --- /dev/null +++ b/vendor/glm/gtx/handed_coordinate_space.inl @@ -0,0 +1,27 @@ +/// @ref gtx_handed_coordinate_space +/// @file glm/gtx/handed_coordinate_space.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool rightHanded + ( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal + ) + { + return dot(cross(normal, tangent), binormal) > T(0); + } + + template + GLM_FUNC_QUALIFIER bool leftHanded + ( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal + ) + { + return dot(cross(normal, tangent), binormal) < T(0); + } +}//namespace glm diff --git a/vendor/glm/gtx/hash.hpp b/vendor/glm/gtx/hash.hpp new file mode 100755 index 0000000000..3196be7ef0 --- /dev/null +++ b/vendor/glm/gtx/hash.hpp @@ -0,0 +1,138 @@ +/// @ref gtx_hash +/// @file glm/gtx/hash.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_hash GLM_GTX_hash +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add std::hash support for glm types + +#pragma once + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#include + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/vec1.hpp" + +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" + +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" + +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" + +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" + +#if !GLM_HAS_CXX11_STL +# error "GLM_GTX_hash requires C++11 standard library support" +#endif + +namespace std +{ + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<1, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<2, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<3, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<4, T, Q> const& v) const; + }; + + template + struct hash> + { + GLM_FUNC_DECL size_t operator()(glm::tquat const& q) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::tdualquat const& q) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 4, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 4, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 4, T,Q> const& m) const; + }; +} // namespace std + +#include "hash.inl" diff --git a/vendor/glm/gtx/hash.inl b/vendor/glm/gtx/hash.inl new file mode 100755 index 0000000000..32e7f123a8 --- /dev/null +++ b/vendor/glm/gtx/hash.inl @@ -0,0 +1,185 @@ +/// @ref gtx_hash +/// @file glm/gtx/hash.inl +/// +/// @see core (dependence) +/// +/// @defgroup gtx_hash GLM_GTX_hash +/// @ingroup gtx +/// +/// @brief Add std::hash support for glm types +/// +/// need to be included to use the features of this extension. + +namespace glm { +namespace detail +{ + GLM_INLINE void hash_combine(size_t &seed, size_t hash) + { + hash += 0x9e3779b9 + (seed << 6) + (seed >> 2); + seed ^= hash; + } +}} + +namespace std +{ + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<1, T, Q> const& v) const + { + hash hasher; + return hasher(v.x); + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<2, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<3, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + glm::detail::hash_combine(seed, hasher(v.z)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<4, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + glm::detail::hash_combine(seed, hasher(v.z)); + glm::detail::hash_combine(seed, hasher(v.w)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::tquat const& q) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(q.x)); + glm::detail::hash_combine(seed, hasher(q.y)); + glm::detail::hash_combine(seed, hasher(q.z)); + glm::detail::hash_combine(seed, hasher(q.w)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::tdualquat const& q) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(q.real)); + glm::detail::hash_combine(seed, hasher(q.dual)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 2, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 3, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 2, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 3, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 2, T,Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 3, T,Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } +} diff --git a/vendor/glm/gtx/integer.hpp b/vendor/glm/gtx/integer.hpp new file mode 100755 index 0000000000..7b8020934c --- /dev/null +++ b/vendor/glm/gtx/integer.hpp @@ -0,0 +1,76 @@ +/// @ref gtx_integer +/// @file glm/gtx/integer.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_integer GLM_GTX_integer +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add support for integer for core functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/integer.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_integer + /// @{ + + //! Returns x raised to the y power. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int pow(int x, uint y); + + //! Returns the positive square root of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int sqrt(int x); + + //! Returns the floor log2 of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL unsigned int floor_log2(unsigned int x); + + //! Modulus. Returns x - y * floor(x / y) for each component in x using the floating point value y. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int mod(int x, int y); + + //! Return the factorial value of a number (!12 max, integer only) + //! From GLM_GTX_integer extension. + template + GLM_FUNC_DECL genType factorial(genType const& x); + + //! 32bit signed integer. + //! From GLM_GTX_integer extension. + typedef signed int sint; + + //! Returns x raised to the y power. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint pow(uint x, uint y); + + //! Returns the positive square root of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint sqrt(uint x); + + //! Modulus. Returns x - y * floor(x / y) for each component in x using the floating point value y. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint mod(uint x, uint y); + + //! Returns the number of leading zeros. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint nlz(uint x); + + /// @} +}//namespace glm + +#include "integer.inl" diff --git a/vendor/glm/gtx/integer.inl b/vendor/glm/gtx/integer.inl new file mode 100755 index 0000000000..c9fcb4e1b0 --- /dev/null +++ b/vendor/glm/gtx/integer.inl @@ -0,0 +1,186 @@ +/// @ref gtx_integer +/// @file glm/gtx/integer.inl + +namespace glm +{ + // pow + GLM_FUNC_QUALIFIER int pow(int x, uint y) + { + if(y == 0) + return x >= 0 ? 1 : -1; + + int result = x; + for(uint i = 1; i < y; ++i) + result *= x; + return result; + } + + // sqrt: From Christopher J. Musial, An integer square root, Graphics Gems, 1990, page 387 + GLM_FUNC_QUALIFIER int sqrt(int x) + { + if(x <= 1) return x; + + int NextTrial = x >> 1; + int CurrentAnswer; + + do + { + CurrentAnswer = NextTrial; + NextTrial = (NextTrial + x / NextTrial) >> 1; + } while(NextTrial < CurrentAnswer); + + return CurrentAnswer; + } + +// Henry Gordon Dietz: http://aggregate.org/MAGIC/ +namespace detail +{ + GLM_FUNC_QUALIFIER unsigned int ones32(unsigned int x) + { + /* 32-bit recursive reduction using SWAR... + but first step is mapping 2-bit values + into sum of 2 1-bit values in sneaky way + */ + x -= ((x >> 1) & 0x55555555); + x = (((x >> 2) & 0x33333333) + (x & 0x33333333)); + x = (((x >> 4) + x) & 0x0f0f0f0f); + x += (x >> 8); + x += (x >> 16); + return(x & 0x0000003f); + } +}//namespace detail + + // Henry Gordon Dietz: http://aggregate.org/MAGIC/ +/* + GLM_FUNC_QUALIFIER unsigned int floor_log2(unsigned int x) + { + x |= (x >> 1); + x |= (x >> 2); + x |= (x >> 4); + x |= (x >> 8); + x |= (x >> 16); + + return _detail::ones32(x) >> 1; + } +*/ + // mod + GLM_FUNC_QUALIFIER int mod(int x, int y) + { + return x - y * (x / y); + } + + // factorial (!12 max, integer only) + template + GLM_FUNC_QUALIFIER genType factorial(genType const& x) + { + genType Temp = x; + genType Result; + for(Result = 1; Temp > 1; --Temp) + Result *= Temp; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> factorial( + vec<2, T, Q> const& x) + { + return vec<2, T, Q>( + factorial(x.x), + factorial(x.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> factorial( + vec<3, T, Q> const& x) + { + return vec<3, T, Q>( + factorial(x.x), + factorial(x.y), + factorial(x.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> factorial( + vec<4, T, Q> const& x) + { + return vec<4, T, Q>( + factorial(x.x), + factorial(x.y), + factorial(x.z), + factorial(x.w)); + } + + GLM_FUNC_QUALIFIER uint pow(uint x, uint y) + { + if (y == 0) + return 1u; + + uint result = x; + for(uint i = 1; i < y; ++i) + result *= x; + return result; + } + + GLM_FUNC_QUALIFIER uint sqrt(uint x) + { + if(x <= 1) return x; + + uint NextTrial = x >> 1; + uint CurrentAnswer; + + do + { + CurrentAnswer = NextTrial; + NextTrial = (NextTrial + x / NextTrial) >> 1; + } while(NextTrial < CurrentAnswer); + + return CurrentAnswer; + } + + GLM_FUNC_QUALIFIER uint mod(uint x, uint y) + { + return x - y * (x / y); + } + +#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC)) + + GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x) + { + return 31u - findMSB(x); + } + +#else + + // Hackers Delight: http://www.hackersdelight.org/HDcode/nlz.c.txt + GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x) + { + int y, m, n; + + y = -int(x >> 16); // If left half of x is 0, + m = (y >> 16) & 16; // set n = 16. If left half + n = 16 - m; // is nonzero, set n = 0 and + x = x >> m; // shift x right 16. + // Now x is of the form 0000xxxx. + y = x - 0x100; // If positions 8-15 are 0, + m = (y >> 16) & 8; // add 8 to n and shift x left 8. + n = n + m; + x = x << m; + + y = x - 0x1000; // If positions 12-15 are 0, + m = (y >> 16) & 4; // add 4 to n and shift x left 4. + n = n + m; + x = x << m; + + y = x - 0x4000; // If positions 14-15 are 0, + m = (y >> 16) & 2; // add 2 to n and shift x left 2. + n = n + m; + x = x << m; + + y = x >> 14; // Set y = 0, 1, 2, or 3. + m = y & ~(y >> 1); // Set m = 0, 1, 2, or 2 resp. + return unsigned(n + 2 - m); + } + +#endif//(GLM_COMPILER) + +}//namespace glm diff --git a/vendor/glm/gtx/intersect.hpp b/vendor/glm/gtx/intersect.hpp new file mode 100755 index 0000000000..cc7f929271 --- /dev/null +++ b/vendor/glm/gtx/intersect.hpp @@ -0,0 +1,92 @@ +/// @ref gtx_intersect +/// @file glm/gtx/intersect.hpp +/// +/// @see core (dependence) +/// @see gtx_closest_point (dependence) +/// +/// @defgroup gtx_intersect GLM_GTX_intersect +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add intersection functions + +#pragma once + +// Dependency: +#include +#include +#include "../glm.hpp" +#include "../geometric.hpp" +#include "../gtx/closest_point.hpp" +#include "../gtx/vector_query.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_closest_point extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_intersect + /// @{ + + //! Compute the intersection of a ray and a plane. + //! Ray direction and plane normal must be unit length. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRayPlane( + genType const& orig, genType const& dir, + genType const& planeOrig, genType const& planeNormal, + typename genType::value_type & intersectionDistance); + + //! Compute the intersection of a ray and a triangle. + /// Based om Tomas Möller implementation http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/raytri/ + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRayTriangle( + vec<3, T, Q> const& orig, vec<3, T, Q> const& dir, + vec<3, T, Q> const& v0, vec<3, T, Q> const& v1, vec<3, T, Q> const& v2, + vec<2, T, Q>& baryPosition, T& distance); + + //! Compute the intersection of a line and a triangle. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectLineTriangle( + genType const& orig, genType const& dir, + genType const& vert0, genType const& vert1, genType const& vert2, + genType & position); + + //! Compute the intersection distance of a ray and a sphere. + //! The ray direction vector is unit length. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRaySphere( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, typename genType::value_type const sphereRadiusSquered, + typename genType::value_type & intersectionDistance); + + //! Compute the intersection of a ray and a sphere. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRaySphere( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadius, + genType & intersectionPosition, genType & intersectionNormal); + + //! Compute the intersection of a line and a sphere. + //! From GLM_GTX_intersect extension + template + GLM_FUNC_DECL bool intersectLineSphere( + genType const& point0, genType const& point1, + genType const& sphereCenter, typename genType::value_type sphereRadius, + genType & intersectionPosition1, genType & intersectionNormal1, + genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType()); + + /// @} +}//namespace glm + +#include "intersect.inl" diff --git a/vendor/glm/gtx/intersect.inl b/vendor/glm/gtx/intersect.inl new file mode 100755 index 0000000000..d10d65b25c --- /dev/null +++ b/vendor/glm/gtx/intersect.inl @@ -0,0 +1,225 @@ +/// @ref gtx_intersect +/// @file glm/gtx/intersect.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool intersectRayPlane + ( + genType const& orig, genType const& dir, + genType const& planeOrig, genType const& planeNormal, + typename genType::value_type & intersectionDistance + ) + { + typename genType::value_type d = glm::dot(dir, planeNormal); + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + + if(d < -Epsilon) + { + intersectionDistance = glm::dot(planeOrig - orig, planeNormal) / d; + return true; + } + + return false; + } + + template + GLM_FUNC_QUALIFIER bool intersectRayTriangle + ( + vec<3, T, Q> const& orig, vec<3, T, Q> const& dir, + vec<3, T, Q> const& vert0, vec<3, T, Q> const& vert1, vec<3, T, Q> const& vert2, + vec<2, T, Q>& baryPosition, T& distance + ) + { + // find vectors for two edges sharing vert0 + vec<3, T, Q> const edge1 = vert1 - vert0; + vec<3, T, Q> const edge2 = vert2 - vert0; + + // begin calculating determinant - also used to calculate U parameter + vec<3, T, Q> const p = glm::cross(dir, edge2); + + // if determinant is near zero, ray lies in plane of triangle + T const det = glm::dot(edge1, p); + + vec<3, T, Q> qvec; + + if(det > std::numeric_limits::epsilon()) + { + // calculate distance from vert0 to ray origin + vec<3, T, Q> const tvec = orig - vert0; + + // calculate U parameter and test bounds + baryPosition.x = glm::dot(tvec, p); + if(baryPosition.x < static_cast(0) || baryPosition.x > det) + return false; + + // prepare to test V parameter + qvec = glm::cross(tvec, edge1); + + // calculate V parameter and test bounds + baryPosition.y = glm::dot(dir, qvec); + if((baryPosition.y < static_cast(0)) || ((baryPosition.x + baryPosition.y) > det)) + return false; + } + else if(det < -std::numeric_limits::epsilon()) + { + // calculate distance from vert0 to ray origin + vec<3, T, Q> const tvec = orig - vert0; + + // calculate U parameter and test bounds + baryPosition.x = glm::dot(tvec, p); + if((baryPosition.x > static_cast(0)) || (baryPosition.x < det)) + return false; + + // prepare to test V parameter + qvec = glm::cross(tvec, edge1); + + // calculate V parameter and test bounds + baryPosition.y = glm::dot(dir, qvec); + if((baryPosition.y > static_cast(0)) || (baryPosition.x + baryPosition.y < det)) + return false; + } + else + return false; // ray is parallel to the plane of the triangle + + T inv_det = static_cast(1) / det; + + // calculate distance, ray intersects triangle + distance = glm::dot(edge2, qvec) * inv_det; + baryPosition *= inv_det; + + return true; + } + +/* + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + if(a < Epsilon && a > -Epsilon) + return false; + + typename genType::value_type f = typename genType::value_type(1.0f) / a; + + genType s = orig - v0; + baryPosition.x = f * glm::dot(s, p); + if(baryPosition.x < typename genType::value_type(0.0f)) + return false; + if(baryPosition.x > typename genType::value_type(1.0f)) + return false; + + genType q = glm::cross(s, e1); + baryPosition.y = f * glm::dot(dir, q); + if(baryPosition.y < typename genType::value_type(0.0f)) + return false; + if(baryPosition.y + baryPosition.x > typename genType::value_type(1.0f)) + return false; + + baryPosition.z = f * glm::dot(e2, q); + + return baryPosition.z >= typename genType::value_type(0.0f); + } +*/ + + template + GLM_FUNC_QUALIFIER bool intersectLineTriangle + ( + genType const& orig, genType const& dir, + genType const& vert0, genType const& vert1, genType const& vert2, + genType & position + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + + genType edge1 = vert1 - vert0; + genType edge2 = vert2 - vert0; + + genType pvec = cross(dir, edge2); + + float det = dot(edge1, pvec); + + if (det > -Epsilon && det < Epsilon) + return false; + float inv_det = typename genType::value_type(1) / det; + + genType tvec = orig - vert0; + + position.y = dot(tvec, pvec) * inv_det; + if (position.y < typename genType::value_type(0) || position.y > typename genType::value_type(1)) + return false; + + genType qvec = cross(tvec, edge1); + + position.z = dot(dir, qvec) * inv_det; + if (position.z < typename genType::value_type(0) || position.y + position.z > typename genType::value_type(1)) + return false; + + position.x = dot(edge2, qvec) * inv_det; + + return true; + } + + template + GLM_FUNC_QUALIFIER bool intersectRaySphere + ( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadiusSquered, + typename genType::value_type & intersectionDistance + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + genType diff = sphereCenter - rayStarting; + typename genType::value_type t0 = dot(diff, rayNormalizedDirection); + typename genType::value_type dSquared = dot(diff, diff) - t0 * t0; + if( dSquared > sphereRadiusSquered ) + { + return false; + } + typename genType::value_type t1 = sqrt( sphereRadiusSquered - dSquared ); + intersectionDistance = t0 > t1 + Epsilon ? t0 - t1 : t0 + t1; + return intersectionDistance > Epsilon; + } + + template + GLM_FUNC_QUALIFIER bool intersectRaySphere + ( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadius, + genType & intersectionPosition, genType & intersectionNormal + ) + { + typename genType::value_type distance; + if( intersectRaySphere( rayStarting, rayNormalizedDirection, sphereCenter, sphereRadius * sphereRadius, distance ) ) + { + intersectionPosition = rayStarting + rayNormalizedDirection * distance; + intersectionNormal = (intersectionPosition - sphereCenter) / sphereRadius; + return true; + } + return false; + } + + template + GLM_FUNC_QUALIFIER bool intersectLineSphere + ( + genType const& point0, genType const& point1, + genType const& sphereCenter, typename genType::value_type sphereRadius, + genType & intersectionPoint1, genType & intersectionNormal1, + genType & intersectionPoint2, genType & intersectionNormal2 + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + genType dir = normalize(point1 - point0); + genType diff = sphereCenter - point0; + typename genType::value_type t0 = dot(diff, dir); + typename genType::value_type dSquared = dot(diff, diff) - t0 * t0; + if( dSquared > sphereRadius * sphereRadius ) + { + return false; + } + typename genType::value_type t1 = sqrt( sphereRadius * sphereRadius - dSquared ); + if( t0 < t1 + Epsilon ) + t1 = -t1; + intersectionPoint1 = point0 + dir * (t0 - t1); + intersectionNormal1 = (intersectionPoint1 - sphereCenter) / sphereRadius; + intersectionPoint2 = point0 + dir * (t0 + t1); + intersectionNormal2 = (intersectionPoint2 - sphereCenter) / sphereRadius; + return true; + } +}//namespace glm diff --git a/vendor/glm/gtx/io.hpp b/vendor/glm/gtx/io.hpp new file mode 100755 index 0000000000..93db75a3b0 --- /dev/null +++ b/vendor/glm/gtx/io.hpp @@ -0,0 +1,201 @@ +/// @ref gtx_io +/// @file glm/gtx/io.hpp +/// @author Jan P Springer (regnirpsj@gmail.com) +/// +/// @see core (dependence) +/// @see gtc_matrix_access (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_io GLM_GTX_io +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// std::[w]ostream support for glm types +/// +/// std::[w]ostream support for glm types + qualifier/width/etc. manipulators +/// based on howard hinnant's std::chrono io proposal +/// [http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html] + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/quaternion.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_io extension included") +#endif + +#include // std::basic_ostream<> (fwd) +#include // std::locale, std::locale::facet, std::locale::id +#include // std::pair<> + +namespace glm +{ + /// @addtogroup gtx_io + /// @{ + + namespace io + { + enum order_type { column_major, row_major}; + + template + class format_punct : public std::locale::facet + { + typedef CTy char_type; + + public: + + static std::locale::id id; + + bool formatted; + unsigned precision; + unsigned width; + char_type separator; + char_type delim_left; + char_type delim_right; + char_type space; + char_type newline; + order_type order; + + GLM_FUNC_DECL explicit format_punct(size_t a = 0); + GLM_FUNC_DECL explicit format_punct(format_punct const&); + }; + + template > + class basic_state_saver { + + public: + + GLM_FUNC_DECL explicit basic_state_saver(std::basic_ios&); + GLM_FUNC_DECL ~basic_state_saver(); + + private: + + typedef ::std::basic_ios state_type; + typedef typename state_type::char_type char_type; + typedef ::std::ios_base::fmtflags flags_type; + typedef ::std::streamsize streamsize_type; + typedef ::std::locale const locale_type; + + state_type& state_; + flags_type flags_; + streamsize_type precision_; + streamsize_type width_; + char_type fill_; + locale_type locale_; + + GLM_FUNC_DECL basic_state_saver& operator=(basic_state_saver const&); + }; + + typedef basic_state_saver state_saver; + typedef basic_state_saver wstate_saver; + + template > + class basic_format_saver + { + public: + + GLM_FUNC_DECL explicit basic_format_saver(std::basic_ios&); + GLM_FUNC_DECL ~basic_format_saver(); + + private: + + basic_state_saver const bss_; + + GLM_FUNC_DECL basic_format_saver& operator=(basic_format_saver const&); + }; + + typedef basic_format_saver format_saver; + typedef basic_format_saver wformat_saver; + + struct precision + { + unsigned value; + + GLM_FUNC_DECL explicit precision(unsigned); + }; + + struct width + { + unsigned value; + + GLM_FUNC_DECL explicit width(unsigned); + }; + + template + struct delimeter + { + CTy value[3]; + + GLM_FUNC_DECL explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ','); + }; + + struct order + { + order_type value; + + GLM_FUNC_DECL explicit order(order_type); + }; + + // functions, inlined (inline) + + template + FTy const& get_facet(std::basic_ios&); + template + std::basic_ios& formatted(std::basic_ios&); + template + std::basic_ios& unformattet(std::basic_ios&); + + template + std::basic_ostream& operator<<(std::basic_ostream&, precision const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, width const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, delimeter const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, order const&); + }//namespace io + + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, tquat const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<1, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 4, T, Q> const&); + + template + GLM_FUNC_DECL std::basic_ostream & operator<<(std::basic_ostream &, + std::pair const, mat<4, 4, T, Q> const> const&); + + /// @} +}//namespace glm + +#include "io.inl" diff --git a/vendor/glm/gtx/io.inl b/vendor/glm/gtx/io.inl new file mode 100755 index 0000000000..edb76bf5d6 --- /dev/null +++ b/vendor/glm/gtx/io.inl @@ -0,0 +1,441 @@ +/// @ref gtx_io +/// @file glm/gtx/io.inl +/// @author Jan P Springer (regnirpsj@gmail.com) + +#include // std::fixed, std::setfill<>, std::setprecision, std::right, std::setw +#include // std::basic_ostream<> +#include "../gtc/matrix_access.hpp" // glm::col, glm::row +#include "../gtx/type_trait.hpp" // glm::type<> + +namespace glm{ +namespace io +{ + template + GLM_FUNC_QUALIFIER format_punct::format_punct(size_t a) + : std::locale::facet(a) + , formatted(true) + , precision(3) + , width(1 + 4 + 1 + precision) + , separator(',') + , delim_left('[') + , delim_right(']') + , space(' ') + , newline('\n') + , order(column_major) + {} + + template + GLM_FUNC_QUALIFIER format_punct::format_punct(format_punct const& a) + : std::locale::facet(0) + , formatted(a.formatted) + , precision(a.precision) + , width(a.width) + , separator(a.separator) + , delim_left(a.delim_left) + , delim_right(a.delim_right) + , space(a.space) + , newline(a.newline) + , order(a.order) + {} + + template std::locale::id format_punct::id; + + template + GLM_FUNC_QUALIFIER basic_state_saver::basic_state_saver(std::basic_ios& a) + : state_(a) + , flags_(a.flags()) + , precision_(a.precision()) + , width_(a.width()) + , fill_(a.fill()) + , locale_(a.getloc()) + {} + + template + GLM_FUNC_QUALIFIER basic_state_saver::~basic_state_saver() + { + state_.imbue(locale_); + state_.fill(fill_); + state_.width(width_); + state_.precision(precision_); + state_.flags(flags_); + } + + template + GLM_FUNC_QUALIFIER basic_format_saver::basic_format_saver(std::basic_ios& a) + : bss_(a) + { + a.imbue(std::locale(a.getloc(), new format_punct(get_facet >(a)))); + } + + template + GLM_FUNC_QUALIFIER + basic_format_saver::~basic_format_saver() + {} + + GLM_FUNC_QUALIFIER precision::precision(unsigned a) + : value(a) + {} + + GLM_FUNC_QUALIFIER width::width(unsigned a) + : value(a) + {} + + template + GLM_FUNC_QUALIFIER delimeter::delimeter(CTy a, CTy b, CTy c) + : value() + { + value[0] = a; + value[1] = b; + value[2] = c; + } + + GLM_FUNC_QUALIFIER order::order(order_type a) + : value(a) + {} + + template + GLM_FUNC_QUALIFIER FTy const& get_facet(std::basic_ios& ios) + { + if(!std::has_facet(ios.getloc())) + ios.imbue(std::locale(ios.getloc(), new FTy)); + + return std::use_facet(ios.getloc()); + } + + template + GLM_FUNC_QUALIFIER std::basic_ios& formatted(std::basic_ios& ios) + { + const_cast&>(get_facet >(ios)).formatted = true; + return ios; + } + + template + GLM_FUNC_QUALIFIER std::basic_ios& unformatted(std::basic_ios& ios) + { + const_cast&>(get_facet >(ios)).formatted = false; + return ios; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, precision const& a) + { + const_cast&>(get_facet >(os)).precision = a.value; + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, width const& a) + { + const_cast&>(get_facet >(os)).width = a.value; + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, delimeter const& a) + { + format_punct & fmt(const_cast&>(get_facet >(os))); + + fmt.delim_left = a.value[0]; + fmt.delim_right = a.value[1]; + fmt.separator = a.value[2]; + + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, order const& a) + { + const_cast&>(get_facet >(os)).order = a.value; + return os; + } +} // namespace io + +namespace detail +{ + template + GLM_FUNC_QUALIFIER std::basic_ostream& + print_vector_on(std::basic_ostream& os, V const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + + length_t const& components(type::components); + + if(fmt.formatted) + { + io::basic_state_saver const bss(os); + + os << std::fixed << std::right << std::setprecision(fmt.precision) << std::setfill(fmt.space) << fmt.delim_left; + + for(length_t i(0); i < components; ++i) + { + os << std::setw(fmt.width) << a[i]; + if(components-1 != i) + os << fmt.separator; + } + + os << fmt.delim_right; + } + else + { + for(length_t i(0); i < components; ++i) + { + os << a[i]; + + if(components-1 != i) + os << fmt.space; + } + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, tquat const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<1, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<2, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<3, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<4, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + +namespace detail +{ + template class M, length_t C, length_t R, typename T, qualifier Q> + GLM_FUNC_QUALIFIER std::basic_ostream& print_matrix_on(std::basic_ostream& os, M const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + + length_t const& cols(type >::cols); + length_t const& rows(type >::rows); + + if(fmt.formatted) + { + os << fmt.newline << fmt.delim_left; + + switch(fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < rows; ++i) + { + if (0 != i) + os << fmt.space; + + os << row(a, i); + + if(rows-1 != i) + os << fmt.newline; + } + } + break; + + case io::row_major: + { + for(length_t i(0); i < cols; ++i) + { + if(0 != i) + os << fmt.space; + + os << column(a, i); + + if(cols-1 != i) + os << fmt.newline; + } + } + break; + } + + os << fmt.delim_right; + } + else + { + switch (fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < cols; ++i) + { + os << column(a, i); + + if(cols - 1 != i) + os << fmt.space; + } + } + break; + + case io::row_major: + { + for (length_t i(0); i < rows; ++i) + { + os << row(a, i); + + if (rows-1 != i) + os << fmt.space; + } + } + break; + } + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<3, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<3, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<3, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + +namespace detail +{ + template class M, length_t C, length_t R, typename T, qualifier Q> + GLM_FUNC_QUALIFIER std::basic_ostream& print_matrix_pair_on(std::basic_ostream& os, std::pair const, M const> const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + M const& ml(a.first); + M const& mr(a.second); + length_t const& cols(type >::cols); + length_t const& rows(type >::rows); + + if(fmt.formatted) + { + os << fmt.newline << fmt.delim_left; + + switch(fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < rows; ++i) + { + if(0 != i) + os << fmt.space; + + os << row(ml, i) << ((rows-1 != i) ? fmt.space : fmt.delim_right) << fmt.space << ((0 != i) ? fmt.space : fmt.delim_left) << row(mr, i); + + if(rows-1 != i) + os << fmt.newline; + } + } + break; + case io::row_major: + { + for(length_t i(0); i < cols; ++i) + { + if(0 != i) + os << fmt.space; + + os << column(ml, i) << ((cols-1 != i) ? fmt.space : fmt.delim_right) << fmt.space << ((0 != i) ? fmt.space : fmt.delim_left) << column(mr, i); + + if(cols-1 != i) + os << fmt.newline; + } + } + break; + } + + os << fmt.delim_right; + } + else + { + os << ml << fmt.space << mr; + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<( + std::basic_ostream & os, + std::pair const, + mat<4, 4, T, Q> const> const& a) + { + return detail::print_matrix_pair_on(os, a); + } +}//namespace glm diff --git a/vendor/glm/gtx/log_base.hpp b/vendor/glm/gtx/log_base.hpp new file mode 100755 index 0000000000..e873e35610 --- /dev/null +++ b/vendor/glm/gtx/log_base.hpp @@ -0,0 +1,48 @@ +/// @ref gtx_log_base +/// @file glm/gtx/log_base.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_log_base GLM_GTX_log_base +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Logarithm for any base. base can be a vector or a scalar. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_log_base extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_log_base + /// @{ + + /// Logarithm for any base. + /// From GLM_GTX_log_base. + template + GLM_FUNC_DECL genType log( + genType const& x, + genType const& base); + + /// Logarithm for any base. + /// From GLM_GTX_log_base. + template + GLM_FUNC_DECL vec sign( + vec const& x, + vec const& base); + + /// @} +}//namespace glm + +#include "log_base.inl" diff --git a/vendor/glm/gtx/log_base.inl b/vendor/glm/gtx/log_base.inl new file mode 100755 index 0000000000..981bacc7fc --- /dev/null +++ b/vendor/glm/gtx/log_base.inl @@ -0,0 +1,18 @@ +/// @ref gtx_log_base +/// @file glm/gtx/log_base.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType log(genType const& x, genType const& base) + { + assert(!detail::compute_equal::call(x, static_cast(0))); + return glm::log(x) / glm::log(base); + } + + template + GLM_FUNC_QUALIFIER vec log(vec const& x, vec const& base) + { + return glm::log(x) / glm::log(base); + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_cross_product.hpp b/vendor/glm/gtx/matrix_cross_product.hpp new file mode 100755 index 0000000000..dfad8c1bdb --- /dev/null +++ b/vendor/glm/gtx/matrix_cross_product.hpp @@ -0,0 +1,47 @@ +/// @ref gtx_matrix_cross_product +/// @file glm/gtx/matrix_cross_product.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build cross product matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_cross_product extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_cross_product + /// @{ + + //! Build a cross product matrix. + //! From GLM_GTX_matrix_cross_product extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> matrixCross3( + vec<3, T, Q> const& x); + + //! Build a cross product matrix. + //! From GLM_GTX_matrix_cross_product extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> matrixCross4( + vec<3, T, Q> const& x); + + /// @} +}//namespace glm + +#include "matrix_cross_product.inl" diff --git a/vendor/glm/gtx/matrix_cross_product.inl b/vendor/glm/gtx/matrix_cross_product.inl new file mode 100755 index 0000000000..d8ec11f984 --- /dev/null +++ b/vendor/glm/gtx/matrix_cross_product.inl @@ -0,0 +1,38 @@ +/// @ref gtx_matrix_cross_product +/// @file glm/gtx/matrix_cross_product.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> matrixCross3 + ( + vec<3, T, Q> const& x + ) + { + mat<3, 3, T, Q> Result(T(0)); + Result[0][1] = x.z; + Result[1][0] = -x.z; + Result[0][2] = -x.y; + Result[2][0] = x.y; + Result[1][2] = x.x; + Result[2][1] = -x.x; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> matrixCross4 + ( + vec<3, T, Q> const& x + ) + { + mat<4, 4, T, Q> Result(T(0)); + Result[0][1] = x.z; + Result[1][0] = -x.z; + Result[0][2] = -x.y; + Result[2][0] = x.y; + Result[1][2] = x.x; + Result[2][1] = -x.x; + return Result; + } + +}//namespace glm diff --git a/vendor/glm/gtx/matrix_decompose.hpp b/vendor/glm/gtx/matrix_decompose.hpp new file mode 100755 index 0000000000..85bb2892ec --- /dev/null +++ b/vendor/glm/gtx/matrix_decompose.hpp @@ -0,0 +1,46 @@ +/// @ref gtx_matrix_decompose +/// @file glm/gtx/matrix_decompose.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_decompose GLM_GTX_matrix_decompose +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Decomposes a model matrix to translations, rotation and scale components + +#pragma once + +// Dependencies +#include "../mat4x4.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../geometric.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtc/matrix_transform.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_decompose extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_decompose + /// @{ + + /// Decomposes a model matrix to translations, rotation and scale components + /// @see gtx_matrix_decompose + template + GLM_FUNC_DECL bool decompose( + mat<4, 4, T, Q> const& modelMatrix, + vec<3, T, Q> & scale, tquat & orientation, vec<3, T, Q> & translation, vec<3, T, Q> & skew, vec<4, T, Q> & perspective); + + /// @} +}//namespace glm + +#include "matrix_decompose.inl" diff --git a/vendor/glm/gtx/matrix_decompose.inl b/vendor/glm/gtx/matrix_decompose.inl new file mode 100755 index 0000000000..02a5accc39 --- /dev/null +++ b/vendor/glm/gtx/matrix_decompose.inl @@ -0,0 +1,187 @@ +/// @ref gtx_matrix_decompose +/// @file glm/gtx/matrix_decompose.inl + +#include "../gtc/constants.hpp" +#include "../gtc/epsilon.hpp" + +namespace glm{ +namespace detail +{ + /// Make a linear combination of two vectors and return the result. + // result = (a * ascl) + (b * bscl) + template + GLM_FUNC_QUALIFIER vec<3, T, Q> combine( + vec<3, T, Q> const& a, + vec<3, T, Q> const& b, + T ascl, T bscl) + { + return (a * ascl) + (b * bscl); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> scale(vec<3, T, Q> const& v, T desiredLength) + { + return v * desiredLength / length(v); + } +}//namespace detail + + // Matrix decompose + // http://www.opensource.apple.com/source/WebCore/WebCore-514/platform/graphics/transforms/TransformationMatrix.cpp + // Decomposes the mode matrix to translations,rotation scale components + + template + GLM_FUNC_QUALIFIER bool decompose(mat<4, 4, T, Q> const& ModelMatrix, vec<3, T, Q> & Scale, tquat & Orientation, vec<3, T, Q> & Translation, vec<3, T, Q> & Skew, vec<4, T, Q> & Perspective) + { + mat<4, 4, T, Q> LocalMatrix(ModelMatrix); + + // Normalize the matrix. + if(epsilonEqual(LocalMatrix[3][3], static_cast(0), epsilon())) + return false; + + for(length_t i = 0; i < 4; ++i) + for(length_t j = 0; j < 4; ++j) + LocalMatrix[i][j] /= LocalMatrix[3][3]; + + // perspectiveMatrix is used to solve for perspective, but it also provides + // an easy way to test for singularity of the upper 3x3 component. + mat<4, 4, T, Q> PerspectiveMatrix(LocalMatrix); + + for(length_t i = 0; i < 3; i++) + PerspectiveMatrix[i][3] = static_cast(0); + PerspectiveMatrix[3][3] = static_cast(1); + + /// TODO: Fixme! + if(epsilonEqual(determinant(PerspectiveMatrix), static_cast(0), epsilon())) + return false; + + // First, isolate perspective. This is the messiest. + if( + epsilonNotEqual(LocalMatrix[0][3], static_cast(0), epsilon()) || + epsilonNotEqual(LocalMatrix[1][3], static_cast(0), epsilon()) || + epsilonNotEqual(LocalMatrix[2][3], static_cast(0), epsilon())) + { + // rightHandSide is the right hand side of the equation. + vec<4, T, Q> RightHandSide; + RightHandSide[0] = LocalMatrix[0][3]; + RightHandSide[1] = LocalMatrix[1][3]; + RightHandSide[2] = LocalMatrix[2][3]; + RightHandSide[3] = LocalMatrix[3][3]; + + // Solve the equation by inverting PerspectiveMatrix and multiplying + // rightHandSide by the inverse. (This is the easiest way, not + // necessarily the best.) + mat<4, 4, T, Q> InversePerspectiveMatrix = glm::inverse(PerspectiveMatrix);// inverse(PerspectiveMatrix, inversePerspectiveMatrix); + mat<4, 4, T, Q> TransposedInversePerspectiveMatrix = glm::transpose(InversePerspectiveMatrix);// transposeMatrix4(inversePerspectiveMatrix, transposedInversePerspectiveMatrix); + + Perspective = TransposedInversePerspectiveMatrix * RightHandSide; + // v4MulPointByMatrix(rightHandSide, transposedInversePerspectiveMatrix, perspectivePoint); + + // Clear the perspective partition + LocalMatrix[0][3] = LocalMatrix[1][3] = LocalMatrix[2][3] = static_cast(0); + LocalMatrix[3][3] = static_cast(1); + } + else + { + // No perspective. + Perspective = vec<4, T, Q>(0, 0, 0, 1); + } + + // Next take care of translation (easy). + Translation = vec<3, T, Q>(LocalMatrix[3]); + LocalMatrix[3] = vec<4, T, Q>(0, 0, 0, LocalMatrix[3].w); + + vec<3, T, Q> Row[3], Pdum3; + + // Now get scale and shear. + for(length_t i = 0; i < 3; ++i) + for(length_t j = 0; j < 3; ++j) + Row[i][j] = LocalMatrix[i][j]; + + // Compute X scale factor and normalize first row. + Scale.x = length(Row[0]);// v3Length(Row[0]); + + Row[0] = detail::scale(Row[0], static_cast(1)); + + // Compute XY shear factor and make 2nd row orthogonal to 1st. + Skew.z = dot(Row[0], Row[1]); + Row[1] = detail::combine(Row[1], Row[0], static_cast(1), -Skew.z); + + // Now, compute Y scale and normalize 2nd row. + Scale.y = length(Row[1]); + Row[1] = detail::scale(Row[1], static_cast(1)); + Skew.z /= Scale.y; + + // Compute XZ and YZ shears, orthogonalize 3rd row. + Skew.y = glm::dot(Row[0], Row[2]); + Row[2] = detail::combine(Row[2], Row[0], static_cast(1), -Skew.y); + Skew.x = glm::dot(Row[1], Row[2]); + Row[2] = detail::combine(Row[2], Row[1], static_cast(1), -Skew.x); + + // Next, get Z scale and normalize 3rd row. + Scale.z = length(Row[2]); + Row[2] = detail::scale(Row[2], static_cast(1)); + Skew.y /= Scale.z; + Skew.x /= Scale.z; + + // At this point, the matrix (in rows[]) is orthonormal. + // Check for a coordinate system flip. If the determinant + // is -1, then negate the matrix and the scaling factors. + Pdum3 = cross(Row[1], Row[2]); // v3Cross(row[1], row[2], Pdum3); + if(dot(Row[0], Pdum3) < 0) + { + for(length_t i = 0; i < 3; i++) + { + Scale[i] *= static_cast(-1); + Row[i] *= static_cast(-1); + } + } + + // Now, get the rotations out, as described in the gem. + + // FIXME - Add the ability to return either quaternions (which are + // easier to recompose with) or Euler angles (rx, ry, rz), which + // are easier for authors to deal with. The latter will only be useful + // when we fix https://bugs.webkit.org/show_bug.cgi?id=23799, so I + // will leave the Euler angle code here for now. + + // ret.rotateY = asin(-Row[0][2]); + // if (cos(ret.rotateY) != 0) { + // ret.rotateX = atan2(Row[1][2], Row[2][2]); + // ret.rotateZ = atan2(Row[0][1], Row[0][0]); + // } else { + // ret.rotateX = atan2(-Row[2][0], Row[1][1]); + // ret.rotateZ = 0; + // } + + int i, j, k = 0; + float root, trace = Row[0].x + Row[1].y + Row[2].z; + if(trace > static_cast(0)) + { + root = sqrt(trace + static_cast(1.0)); + Orientation.w = static_cast(0.5) * root; + root = static_cast(0.5) / root; + Orientation.x = root * (Row[1].z - Row[2].y); + Orientation.y = root * (Row[2].x - Row[0].z); + Orientation.z = root * (Row[0].y - Row[1].x); + } // End if > 0 + else + { + static int Next[3] = {1, 2, 0}; + i = 0; + if(Row[1].y > Row[0].x) i = 1; + if(Row[2].z > Row[i][i]) i = 2; + j = Next[i]; + k = Next[j]; + + root = sqrt(Row[i][i] - Row[j][j] - Row[k][k] + static_cast(1.0)); + + Orientation[i] = static_cast(0.5) * root; + root = static_cast(0.5) / root; + Orientation[j] = root * (Row[i][j] + Row[j][i]); + Orientation[k] = root * (Row[i][k] + Row[k][i]); + Orientation.w = root * (Row[j][k] - Row[k][j]); + } // End if <= 0 + + return true; + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_factorisation.hpp b/vendor/glm/gtx/matrix_factorisation.hpp new file mode 100755 index 0000000000..e30a77460b --- /dev/null +++ b/vendor/glm/gtx/matrix_factorisation.hpp @@ -0,0 +1,69 @@ +/// @ref gtx_matrix_factorisation +/// @file glm/gtx/matrix_factorisation.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_factorisation GLM_GTX_matrix_factorisation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions to factor matrices in various forms + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_factorisation extension included") +#endif + +/* +Suggestions: + - Move helper functions flipud and fliplr to another file: They may be helpful in more general circumstances. + - Implement other types of matrix factorisation, such as: QL and LQ, L(D)U, eigendecompositions, etc... +*/ + +namespace glm +{ + /// @addtogroup gtx_matrix_factorisation + /// @{ + + /// Flips the matrix rows up and down. + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL mat flipud(mat const& in); + + /// Flips the matrix columns right and left. + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL mat fliplr(mat const& in); + + /// Performs QR factorisation of a matrix. + /// Returns 2 matrices, q and r, such that the columns of q are orthonormal and span the same subspace than those of the input matrix, r is an upper triangular matrix, and q*r=in. + /// Given an n-by-m input matrix, q has dimensions min(n,m)-by-m, and r has dimensions n-by-min(n,m). + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL void qr_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& q, mat& r); + + /// Performs RQ factorisation of a matrix. + /// Returns 2 matrices, r and q, such that r is an upper triangular matrix, the rows of q are orthonormal and span the same subspace than those of the input matrix, and r*q=in. + /// Note that in the context of RQ factorisation, the diagonal is seen as starting in the lower-right corner of the matrix, instead of the usual upper-left. + /// Given an n-by-m input matrix, r has dimensions min(n,m)-by-m, and q has dimensions n-by-min(n,m). + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL void rq_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& r, mat& q); + + /// @} +} + +#include "matrix_factorisation.inl" diff --git a/vendor/glm/gtx/matrix_factorisation.inl b/vendor/glm/gtx/matrix_factorisation.inl new file mode 100755 index 0000000000..f0d9560c0c --- /dev/null +++ b/vendor/glm/gtx/matrix_factorisation.inl @@ -0,0 +1,85 @@ +/// @ref gtx_matrix_factorisation +/// @file glm/gtx/matrix_factorisation.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat flipud(mat const& in) + { + mat tin = transpose(in); + tin = fliplr(tin); + mat out = transpose(tin); + + return out; + } + + template + GLM_FUNC_QUALIFIER mat fliplr(mat const& in) + { + mat out; + for (length_t i = 0; i < C; i++) + { + out[i] = in[(C - i) - 1]; + } + + return out; + } + + template + GLM_FUNC_QUALIFIER void qr_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& q, mat& r) + { + // Uses modified Gram-Schmidt method + // Source: https://en.wikipedia.org/wiki/Gram�Schmidt_process + // And https://en.wikipedia.org/wiki/QR_decomposition + + //For all the linearly independs columns of the input... + // (there can be no more linearly independents columns than there are rows.) + for (length_t i = 0; i < (C < R ? C : R); i++) + { + //Copy in Q the input's i-th column. + q[i] = in[i]; + + //j = [0,i[ + // Make that column orthogonal to all the previous ones by substracting to it the non-orthogonal projection of all the previous columns. + // Also: Fill the zero elements of R + for (length_t j = 0; j < i; j++) + { + q[i] -= dot(q[i], q[j])*q[j]; + r[j][i] = 0; + } + + //Now, Q i-th column is orthogonal to all the previous columns. Normalize it. + q[i] = normalize(q[i]); + + //j = [i,C[ + //Finally, compute the corresponding coefficients of R by computing the projection of the resulting column on the other columns of the input. + for (length_t j = i; j < C; j++) + { + r[j][i] = dot(in[j], q[i]); + } + } + } + + template + GLM_FUNC_QUALIFIER void rq_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& r, mat& q) + { + // From https://en.wikipedia.org/wiki/QR_decomposition: + // The RQ decomposition transforms a matrix A into the product of an upper triangular matrix R (also known as right-triangular) and an orthogonal matrix Q. The only difference from QR decomposition is the order of these matrices. + // QR decomposition is Gram�Schmidt orthogonalization of columns of A, started from the first column. + // RQ decomposition is Gram�Schmidt orthogonalization of rows of A, started from the last row. + + mat tin = transpose(in); + tin = fliplr(tin); + + mat tr; + mat<(C < R ? C : R), C, T, Q> tq; + qr_decompose(tin, tq, tr); + + tr = fliplr(tr); + r = transpose(tr); + r = fliplr(r); + + tq = fliplr(tq); + q = transpose(tq); + } +} //namespace glm diff --git a/vendor/glm/gtx/matrix_interpolation.hpp b/vendor/glm/gtx/matrix_interpolation.hpp new file mode 100755 index 0000000000..89c4596cd5 --- /dev/null +++ b/vendor/glm/gtx/matrix_interpolation.hpp @@ -0,0 +1,65 @@ +/// @ref gtx_matrix_interpolation +/// @file glm/gtx/matrix_interpolation.hpp +/// @author Ghenadii Ursachi (the.asteroth@gmail.com) +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_interpolation GLM_GTX_matrix_interpolation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Allows to directly interpolate two matrices. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_interpolation extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_interpolation + /// @{ + + /// Get the axis and angle of the rotation from a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL void axisAngle( + mat<4, 4, T, Q> const& mat, + vec<3, T, Q> & axis, + T & angle); + + /// Build a matrix from axis and angle. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> axisAngleMatrix( + vec<3, T, Q> const& axis, + T const angle); + + /// Extracts the rotation part of a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> extractMatrixRotation( + mat<4, 4, T, Q> const& mat); + + /// Build a interpolation of 4 * 4 matrixes. + /// From GLM_GTX_matrix_interpolation extension. + /// Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results. + template + GLM_FUNC_DECL mat<4, 4, T, Q> interpolate( + mat<4, 4, T, Q> const& m1, + mat<4, 4, T, Q> const& m2, + T const delta); + + /// @} +}//namespace glm + +#include "matrix_interpolation.inl" diff --git a/vendor/glm/gtx/matrix_interpolation.inl b/vendor/glm/gtx/matrix_interpolation.inl new file mode 100755 index 0000000000..1f2915a469 --- /dev/null +++ b/vendor/glm/gtx/matrix_interpolation.inl @@ -0,0 +1,130 @@ +/// @ref gtx_matrix_interpolation +/// @file glm/gtx/matrix_interpolation.hpp + +#include "../gtc/constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER void axisAngle(mat<4, 4, T, Q> const& mat, vec<3, T, Q> & axis, T & angle) + { + T epsilon = static_cast(0.01); + T epsilon2 = static_cast(0.1); + + if((abs(mat[1][0] - mat[0][1]) < epsilon) && (abs(mat[2][0] - mat[0][2]) < epsilon) && (abs(mat[2][1] - mat[1][2]) < epsilon)) + { + if ((abs(mat[1][0] + mat[0][1]) < epsilon2) && (abs(mat[2][0] + mat[0][2]) < epsilon2) && (abs(mat[2][1] + mat[1][2]) < epsilon2) && (abs(mat[0][0] + mat[1][1] + mat[2][2] - static_cast(3.0)) < epsilon2)) + { + angle = static_cast(0.0); + axis.x = static_cast(1.0); + axis.y = static_cast(0.0); + axis.z = static_cast(0.0); + return; + } + angle = static_cast(3.1415926535897932384626433832795); + T xx = (mat[0][0] + static_cast(1.0)) * static_cast(0.5); + T yy = (mat[1][1] + static_cast(1.0)) * static_cast(0.5); + T zz = (mat[2][2] + static_cast(1.0)) * static_cast(0.5); + T xy = (mat[1][0] + mat[0][1]) * static_cast(0.25); + T xz = (mat[2][0] + mat[0][2]) * static_cast(0.25); + T yz = (mat[2][1] + mat[1][2]) * static_cast(0.25); + if((xx > yy) && (xx > zz)) + { + if(xx < epsilon) + { + axis.x = static_cast(0.0); + axis.y = static_cast(0.7071); + axis.z = static_cast(0.7071); + } + else + { + axis.x = sqrt(xx); + axis.y = xy / axis.x; + axis.z = xz / axis.x; + } + } + else if (yy > zz) + { + if(yy < epsilon) + { + axis.x = static_cast(0.7071); + axis.y = static_cast(0.0); + axis.z = static_cast(0.7071); + } + else + { + axis.y = sqrt(yy); + axis.x = xy / axis.y; + axis.z = yz / axis.y; + } + } + else + { + if (zz < epsilon) + { + axis.x = static_cast(0.7071); + axis.y = static_cast(0.7071); + axis.z = static_cast(0.0); + } + else + { + axis.z = sqrt(zz); + axis.x = xz / axis.z; + axis.y = yz / axis.z; + } + } + return; + } + T s = sqrt((mat[2][1] - mat[1][2]) * (mat[2][1] - mat[1][2]) + (mat[2][0] - mat[0][2]) * (mat[2][0] - mat[0][2]) + (mat[1][0] - mat[0][1]) * (mat[1][0] - mat[0][1])); + if (glm::abs(s) < T(0.001)) + s = static_cast(1); + T const angleCos = (mat[0][0] + mat[1][1] + mat[2][2] - static_cast(1)) * static_cast(0.5); + if(angleCos - static_cast(1) < epsilon) + angle = pi() * static_cast(0.25); + else + angle = acos(angleCos); + axis.x = (mat[1][2] - mat[2][1]) / s; + axis.y = (mat[2][0] - mat[0][2]) / s; + axis.z = (mat[0][1] - mat[1][0]) / s; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> axisAngleMatrix(vec<3, T, Q> const& axis, T const angle) + { + T c = cos(angle); + T s = sin(angle); + T t = static_cast(1) - c; + vec<3, T, Q> n = normalize(axis); + + return mat<4, 4, T, Q>( + t * n.x * n.x + c, t * n.x * n.y + n.z * s, t * n.x * n.z - n.y * s, static_cast(0.0), + t * n.x * n.y - n.z * s, t * n.y * n.y + c, t * n.y * n.z + n.x * s, static_cast(0.0), + t * n.x * n.z + n.y * s, t * n.y * n.z - n.x * s, t * n.z * n.z + c, static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> extractMatrixRotation(mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0][0], m[0][1], m[0][2], static_cast(0.0), + m[1][0], m[1][1], m[1][2], static_cast(0.0), + m[2][0], m[2][1], m[2][2], static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> interpolate(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2, T const delta) + { + mat<4, 4, T, Q> m1rot = extractMatrixRotation(m1); + mat<4, 4, T, Q> dltRotation = m2 * transpose(m1rot); + vec<3, T, Q> dltAxis; + T dltAngle; + axisAngle(dltRotation, dltAxis, dltAngle); + mat<4, 4, T, Q> out = axisAngleMatrix(dltAxis, dltAngle * delta) * m1rot; + out[3][0] = m1[3][0] + delta * (m2[3][0] - m1[3][0]); + out[3][1] = m1[3][1] + delta * (m2[3][1] - m1[3][1]); + out[3][2] = m1[3][2] + delta * (m2[3][2] - m1[3][2]); + return out; + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_major_storage.hpp b/vendor/glm/gtx/matrix_major_storage.hpp new file mode 100755 index 0000000000..3b922dfe6f --- /dev/null +++ b/vendor/glm/gtx/matrix_major_storage.hpp @@ -0,0 +1,119 @@ +/// @ref gtx_matrix_major_storage +/// @file glm/gtx/matrix_major_storage.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_matrix_major_storage GLM_GTX_matrix_major_storage +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build matrices with specific matrix order, row or column + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_major_storage extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_major_storage + /// @{ + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2( + mat<2, 2, T, Q> const& m); + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3( + mat<3, 3, T, Q> const& m); + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4( + vec<4, T, Q> const& v1, + vec<4, T, Q> const& v2, + vec<4, T, Q> const& v3, + vec<4, T, Q> const& v4); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4( + mat<4, 4, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2( + mat<2, 2, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3( + mat<3, 3, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4( + vec<4, T, Q> const& v1, + vec<4, T, Q> const& v2, + vec<4, T, Q> const& v3, + vec<4, T, Q> const& v4); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4( + mat<4, 4, T, Q> const& m); + + /// @} +}//namespace glm + +#include "matrix_major_storage.inl" diff --git a/vendor/glm/gtx/matrix_major_storage.inl b/vendor/glm/gtx/matrix_major_storage.inl new file mode 100755 index 0000000000..8b1b1a8337 --- /dev/null +++ b/vendor/glm/gtx/matrix_major_storage.inl @@ -0,0 +1,167 @@ +/// @ref gtx_matrix_major_storage +/// @file glm/gtx/matrix_major_storage.hpp + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2 + ( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2 + ) + { + mat<2, 2, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2( + const mat<2, 2, T, Q>& m) + { + mat<2, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3( + const vec<3, T, Q>& v1, + const vec<3, T, Q>& v2, + const vec<3, T, Q>& v3) + { + mat<3, 3, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[2][0] = v1.z; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + Result[2][1] = v2.z; + Result[0][2] = v3.x; + Result[1][2] = v3.y; + Result[2][2] = v3.z; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3( + const mat<3, 3, T, Q>& m) + { + mat<3, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4( + const vec<4, T, Q>& v1, + const vec<4, T, Q>& v2, + const vec<4, T, Q>& v3, + const vec<4, T, Q>& v4) + { + mat<4, 4, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[2][0] = v1.z; + Result[3][0] = v1.w; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + Result[2][1] = v2.z; + Result[3][1] = v2.w; + Result[0][2] = v3.x; + Result[1][2] = v3.y; + Result[2][2] = v3.z; + Result[3][2] = v3.w; + Result[0][3] = v4.x; + Result[1][3] = v4.y; + Result[2][3] = v4.z; + Result[3][3] = v4.w; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4( + const mat<4, 4, T, Q>& m) + { + mat<4, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + Result[3][3] = m[3][3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2( + const vec<2, T, Q>& v1, + const vec<2, T, Q>& v2) + { + return mat<2, 2, T, Q>(v1, v2); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2( + const mat<2, 2, T, Q>& m) + { + return mat<2, 2, T, Q>(m); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3( + const vec<3, T, Q>& v1, + const vec<3, T, Q>& v2, + const vec<3, T, Q>& v3) + { + return mat<3, 3, T, Q>(v1, v2, v3); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3( + const mat<3, 3, T, Q>& m) + { + return mat<3, 3, T, Q>(m); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4( + const vec<4, T, Q>& v1, + const vec<4, T, Q>& v2, + const vec<4, T, Q>& v3, + const vec<4, T, Q>& v4) + { + return mat<4, 4, T, Q>(v1, v2, v3, v4); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4( + const mat<4, 4, T, Q>& m) + { + return mat<4, 4, T, Q>(m); + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_operation.hpp b/vendor/glm/gtx/matrix_operation.hpp new file mode 100755 index 0000000000..bce938bb46 --- /dev/null +++ b/vendor/glm/gtx/matrix_operation.hpp @@ -0,0 +1,88 @@ +/// @ref gtx_matrix_operation +/// @file glm/gtx/matrix_operation.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_operation GLM_GTX_matrix_operation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build diagonal matrices from vectors. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_operation extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_operation + /// @{ + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> diagonal2x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 3, T, Q> diagonal2x3( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 4, T, Q> diagonal2x4( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 2, T, Q> diagonal3x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> diagonal3x3( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 4, T, Q> diagonal3x4( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 2, T, Q> diagonal4x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 3, T, Q> diagonal4x3( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> diagonal4x4( + vec<4, T, Q> const& v); + + /// @} +}//namespace glm + +#include "matrix_operation.inl" diff --git a/vendor/glm/gtx/matrix_operation.inl b/vendor/glm/gtx/matrix_operation.inl new file mode 100755 index 0000000000..da1aab85ab --- /dev/null +++ b/vendor/glm/gtx/matrix_operation.inl @@ -0,0 +1,118 @@ +/// @ref gtx_matrix_operation +/// @file glm/gtx/matrix_operation.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> diagonal2x2 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> diagonal2x3 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> diagonal2x4 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> diagonal3x2 + ( + vec<2, T, Q> const& v + ) + { + mat<3, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> diagonal3x3 + ( + vec<3, T, Q> const& v + ) + { + mat<3, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> diagonal3x4 + ( + vec<3, T, Q> const& v + ) + { + mat<3, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> diagonal4x4 + ( + vec<4, T, Q> const& v + ) + { + mat<4, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + Result[3][3] = v[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> diagonal4x3 + ( + vec<3, T, Q> const& v + ) + { + mat<4, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> diagonal4x2 + ( + vec<2, T, Q> const& v + ) + { + mat<4, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_query.hpp b/vendor/glm/gtx/matrix_query.hpp new file mode 100755 index 0000000000..4f7e855c39 --- /dev/null +++ b/vendor/glm/gtx/matrix_query.hpp @@ -0,0 +1,77 @@ +/// @ref gtx_matrix_query +/// @file glm/gtx/matrix_query.hpp +/// +/// @see core (dependence) +/// @see gtx_vector_query (dependence) +/// +/// @defgroup gtx_matrix_query GLM_GTX_matrix_query +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Query to evaluate matrix properties + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/vector_query.hpp" +#include + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_query extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_query + /// @{ + + /// Return whether a matrix a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<2, 2, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<3, 3, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<4, 4, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is an identity matrix. + /// From GLM_GTX_matrix_query extension. + template class matType> + GLM_FUNC_DECL bool isIdentity(matType const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<2, 2, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<3, 3, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<4, 4, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is an orthonormalized matrix. + /// From GLM_GTX_matrix_query extension. + template class matType> + GLM_FUNC_DECL bool isOrthogonal(matType const& m, T const& epsilon); + + /// @} +}//namespace glm + +#include "matrix_query.inl" diff --git a/vendor/glm/gtx/matrix_query.inl b/vendor/glm/gtx/matrix_query.inl new file mode 100755 index 0000000000..38b520f143 --- /dev/null +++ b/vendor/glm/gtx/matrix_query.inl @@ -0,0 +1,114 @@ +/// @ref gtx_matrix_query +/// @file glm/gtx/matrix_query.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool isNull(mat<2, 2, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNull(mat<3, 3, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNull(mat<4, 4, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isIdentity(mat const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m[0].length() ; ++i) + { + for(length_t j = 0; result && j < i ; ++j) + result = abs(m[i][j]) <= epsilon; + if(result) + result = abs(m[i][i] - 1) <= epsilon; + for(length_t j = i + 1; result && j < m.length(); ++j) + result = abs(m[i][j]) <= epsilon; + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<2, 2, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<2, 2, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<3, 3, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<3, 3, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<4, 4, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<4, 4, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isOrthogonal(mat const& m, T const& epsilon) + { + bool result = true; + for(length_t i(0); result && i < m.length() - 1; ++i) + for(length_t j(i + 1); result && j < m.length(); ++j) + result = areOrthogonal(m[i], m[j], epsilon); + + if(result) + { + mat tmp = transpose(m); + for(length_t i(0); result && i < m.length() - 1 ; ++i) + for(length_t j(i + 1); result && j < m.length(); ++j) + result = areOrthogonal(tmp[i], tmp[j], epsilon); + } + return result; + } +}//namespace glm diff --git a/vendor/glm/gtx/matrix_transform_2d.hpp b/vendor/glm/gtx/matrix_transform_2d.hpp new file mode 100755 index 0000000000..56c9bb8962 --- /dev/null +++ b/vendor/glm/gtx/matrix_transform_2d.hpp @@ -0,0 +1,81 @@ +/// @ref gtx_matrix_transform_2d +/// @file glm/gtx/matrix_transform_2d.hpp +/// @author Miguel Ángel Pérez Martínez +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_transform_2d GLM_GTX_matrix_transform_2d +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines functions that generate common 2d transformation matrices. + +#pragma once + +// Dependency: +#include "../mat3x3.hpp" +#include "../vec2.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_transform_2d extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_transform_2d + /// @{ + + /// Builds a translation 3 * 3 matrix created from a vector of 2 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a translation vector. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> translate( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v); + + /// Builds a rotation 3 * 3 matrix created from an angle. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param angle Rotation angle expressed in radians. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rotate( + mat<3, 3, T, Q> const& m, + T angle); + + /// Builds a scale 3 * 3 matrix created from a vector of 2 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a scale vector. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> scale( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v); + + /// Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param y Shear factor. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX( + mat<3, 3, T, Q> const& m, + T y); + + /// Builds a vertical (parallel to the y axis) shear 3 * 3 matrix. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param x Shear factor. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY( + mat<3, 3, T, Q> const& m, + T x); + + /// @} +}//namespace glm + +#include "matrix_transform_2d.inl" diff --git a/vendor/glm/gtx/matrix_transform_2d.inl b/vendor/glm/gtx/matrix_transform_2d.inl new file mode 100755 index 0000000000..9ae83d94a9 --- /dev/null +++ b/vendor/glm/gtx/matrix_transform_2d.inl @@ -0,0 +1,69 @@ +/// @ref gtx_matrix_transform_2d +/// @file glm/gtc/matrix_transform_2d.inl +/// @author Miguel Ángel Pérez Martínez + +#include "../trigonometric.hpp" + +namespace glm +{ + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> translate( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v) + { + mat<3, 3, T, Q> Result(m); + Result[2] = m[0] * v[0] + m[1] * v[1] + m[2]; + return Result; + } + + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rotate( + mat<3, 3, T, Q> const& m, + T angle) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + mat<3, 3, T, Q> Result; + Result[0] = m[0] * c + m[1] * s; + Result[1] = m[0] * -s + m[1] * c; + Result[2] = m[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> scale( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v) + { + mat<3, 3, T, Q> Result; + Result[0] = m[0] * v[0]; + Result[1] = m[1] * v[1]; + Result[2] = m[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX( + mat<3, 3, T, Q> const& m, + T y) + { + mat<3, 3, T, Q> Result(1); + Result[0][1] = y; + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY( + mat<3, 3, T, Q> const& m, + T x) + { + mat<3, 3, T, Q> Result(1); + Result[1][0] = x; + return m * Result; + } + +}//namespace glm diff --git a/vendor/glm/gtx/mixed_product.hpp b/vendor/glm/gtx/mixed_product.hpp new file mode 100755 index 0000000000..f1ed6e087a --- /dev/null +++ b/vendor/glm/gtx/mixed_product.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_mixed_product +/// @file glm/gtx/mixed_product.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_mixed_product GLM_GTX_mixed_producte +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Mixed product of 3 vectors. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_mixed_product extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_mixed_product + /// @{ + + /// @brief Mixed product of 3 vectors (from GLM_GTX_mixed_product extension) + template + GLM_FUNC_DECL T mixedProduct( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + /// @} +}// namespace glm + +#include "mixed_product.inl" diff --git a/vendor/glm/gtx/mixed_product.inl b/vendor/glm/gtx/mixed_product.inl new file mode 100755 index 0000000000..01e94ecb35 --- /dev/null +++ b/vendor/glm/gtx/mixed_product.inl @@ -0,0 +1,16 @@ +/// @ref gtx_mixed_product +/// @file glm/gtx/mixed_product.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T mixedProduct + ( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3 + ) + { + return dot(cross(v1, v2), v3); + } +}//namespace glm diff --git a/vendor/glm/gtx/norm.hpp b/vendor/glm/gtx/norm.hpp new file mode 100755 index 0000000000..2f106d87af --- /dev/null +++ b/vendor/glm/gtx/norm.hpp @@ -0,0 +1,76 @@ +/// @ref gtx_norm +/// @file glm/gtx/norm.hpp +/// +/// @see core (dependence) +/// @see gtx_quaternion (dependence) +/// +/// @defgroup gtx_norm GLM_GTX_norm +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Various ways to compute vector norms. + +#pragma once + +// Dependency: +#include "../geometric.hpp" +#include "../gtx/quaternion.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_norm extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_norm + /// @{ + + /// Returns the squared length of x. + /// From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T length2(vec const& x); + + /// Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). + /// From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T distance2(vec const& p0, vec const& p1); + + //! Returns the L1 norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + //! Returns the L1 norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& v); + + //! Returns the L2 norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + //! Returns the L2 norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x); + + //! Returns the L norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y, unsigned int Depth); + + //! Returns the L norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, unsigned int Depth); + + /// @} +}//namespace glm + +#include "norm.inl" diff --git a/vendor/glm/gtx/norm.inl b/vendor/glm/gtx/norm.inl new file mode 100755 index 0000000000..7bd64e870f --- /dev/null +++ b/vendor/glm/gtx/norm.inl @@ -0,0 +1,84 @@ +/// @ref gtx_norm +/// @file glm/gtx/norm.inl + +#include "../detail/qualifier.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_length2 + { + GLM_FUNC_QUALIFIER static T call(vec const& v) + { + return dot(v, v); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER genType length2(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length2' accepts only floating-point inputs"); + return x * x; + } + + template + GLM_FUNC_QUALIFIER T length2(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length2' accepts only floating-point inputs"); + return detail::compute_length2::value>::call(v); + } + + template + GLM_FUNC_QUALIFIER T distance2(T p0, T p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance2' accepts only floating-point inputs"); + return length2(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T distance2(vec const& p0, vec const& p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance2' accepts only floating-point inputs"); + return length2(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T l1Norm(vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + return abs(b.x - a.x) + abs(b.y - a.y) + abs(b.z - a.z); + } + + template + GLM_FUNC_QUALIFIER T l1Norm(vec<3, T, Q> const& v) + { + return abs(v.x) + abs(v.y) + abs(v.z); + } + + template + GLM_FUNC_QUALIFIER T l2Norm(vec<3, T, Q> const& a, vec<3, T, Q> const& b + ) + { + return length(b - a); + } + + template + GLM_FUNC_QUALIFIER T l2Norm(vec<3, T, Q> const& v) + { + return length(v); + } + + template + GLM_FUNC_QUALIFIER T lxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y, unsigned int Depth) + { + return pow(pow(y.x - x.x, T(Depth)) + pow(y.y - x.y, T(Depth)) + pow(y.z - x.z, T(Depth)), T(1) / T(Depth)); + } + + template + GLM_FUNC_QUALIFIER T lxNorm(vec<3, T, Q> const& v, unsigned int Depth) + { + return pow(pow(v.x, T(Depth)) + pow(v.y, T(Depth)) + pow(v.z, T(Depth)), T(1) / T(Depth)); + } + +}//namespace glm diff --git a/vendor/glm/gtx/normal.hpp b/vendor/glm/gtx/normal.hpp new file mode 100755 index 0000000000..03dbffe8ec --- /dev/null +++ b/vendor/glm/gtx/normal.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_normal +/// @file glm/gtx/normal.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_normal GLM_GTX_normal +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Compute the normal of a triangle. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_normal extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_normal + /// @{ + + /// Computes triangle normal from triangle points. + /// + /// @see gtx_normal + template + GLM_FUNC_DECL vec<3, T, Q> triangleNormal(vec<3, T, Q> const& p1, vec<3, T, Q> const& p2, vec<3, T, Q> const& p3); + + /// @} +}//namespace glm + +#include "normal.inl" diff --git a/vendor/glm/gtx/normal.inl b/vendor/glm/gtx/normal.inl new file mode 100755 index 0000000000..bcd74e5d10 --- /dev/null +++ b/vendor/glm/gtx/normal.inl @@ -0,0 +1,16 @@ +/// @ref gtx_normal +/// @file glm/gtx/normal.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> triangleNormal + ( + vec<3, T, Q> const& p1, + vec<3, T, Q> const& p2, + vec<3, T, Q> const& p3 + ) + { + return normalize(cross(p1 - p2, p1 - p3)); + } +}//namespace glm diff --git a/vendor/glm/gtx/normalize_dot.hpp b/vendor/glm/gtx/normalize_dot.hpp new file mode 100755 index 0000000000..86048e705d --- /dev/null +++ b/vendor/glm/gtx/normalize_dot.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_normalize_dot +/// @file glm/gtx/normalize_dot.hpp +/// +/// @see core (dependence) +/// @see gtx_fast_square_root (dependence) +/// +/// @defgroup gtx_normalize_dot GLM_GTX_normalize_dot +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Dot product of vectors that need to be normalize with a single square root. + +#pragma once + +// Dependency: +#include "../gtx/fast_square_root.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_normalize_dot extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_normalize_dot + /// @{ + + /// Normalize parameters and returns the dot product of x and y. + /// It's faster that dot(normalize(x), normalize(y)). + /// + /// @see gtx_normalize_dot extension. + template + GLM_FUNC_DECL T normalizeDot(vec const& x, vec const& y); + + /// Normalize parameters and returns the dot product of x and y. + /// Faster that dot(fastNormalize(x), fastNormalize(y)). + /// + /// @see gtx_normalize_dot extension. + template + GLM_FUNC_DECL T fastNormalizeDot(vec const& x, vec const& y); + + /// @} +}//namespace glm + +#include "normalize_dot.inl" diff --git a/vendor/glm/gtx/normalize_dot.inl b/vendor/glm/gtx/normalize_dot.inl new file mode 100755 index 0000000000..8b88860e05 --- /dev/null +++ b/vendor/glm/gtx/normalize_dot.inl @@ -0,0 +1,17 @@ +/// @ref gtx_normalize_dot +/// @file glm/gtx/normalize_dot.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T normalizeDot(vec const& x, vec const& y) + { + return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER T fastNormalizeDot(vec const& x, vec const& y) + { + return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); + } +}//namespace glm diff --git a/vendor/glm/gtx/number_precision.hpp b/vendor/glm/gtx/number_precision.hpp new file mode 100755 index 0000000000..3f4bee1f90 --- /dev/null +++ b/vendor/glm/gtx/number_precision.hpp @@ -0,0 +1,61 @@ +/// @ref gtx_number_precision +/// @file glm/gtx/number_precision.hpp +/// +/// @see core (dependence) +/// @see gtc_type_precision (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_number_precision GLM_GTX_number_precision +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defined size types. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/type_precision.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_number_precision extension included") +#endif + +namespace glm{ +namespace gtx +{ + ///////////////////////////// + // Unsigned int vector types + + /// @addtogroup gtx_number_precision + /// @{ + + typedef u8 u8vec1; //!< \brief 8bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u16 u16vec1; //!< \brief 16bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u32 u32vec1; //!< \brief 32bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u64 u64vec1; //!< \brief 64bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + + ////////////////////// + // Float vector types + + typedef f32 f32vec1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64vec1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + + ////////////////////// + // Float matrix types + + typedef f32 f32mat1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f32 f32mat1x1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64mat1; //!< \brief Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64mat1x1; //!< \brief Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + + /// @} +}//namespace gtx +}//namespace glm + +#include "number_precision.inl" diff --git a/vendor/glm/gtx/number_precision.inl b/vendor/glm/gtx/number_precision.inl new file mode 100755 index 0000000000..b54cf66b30 --- /dev/null +++ b/vendor/glm/gtx/number_precision.inl @@ -0,0 +1,7 @@ +/// @ref gtx_number_precision +/// @file glm/gtx/number_precision.inl + +namespace glm +{ + +} diff --git a/vendor/glm/gtx/optimum_pow.hpp b/vendor/glm/gtx/optimum_pow.hpp new file mode 100755 index 0000000000..eb09f1c371 --- /dev/null +++ b/vendor/glm/gtx/optimum_pow.hpp @@ -0,0 +1,54 @@ +/// @ref gtx_optimum_pow +/// @file glm/gtx/optimum_pow.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_optimum_pow GLM_GTX_optimum_pow +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Integer exponentiation of power functions. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_optimum_pow extension included") +#endif + +namespace glm{ +namespace gtx +{ + /// @addtogroup gtx_optimum_pow + /// @{ + + /// Returns x raised to the power of 2. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow2(genType const& x); + + /// Returns x raised to the power of 3. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow3(genType const& x); + + /// Returns x raised to the power of 4. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow4(genType const& x); + + /// @} +}//namespace gtx +}//namespace glm + +#include "optimum_pow.inl" diff --git a/vendor/glm/gtx/optimum_pow.inl b/vendor/glm/gtx/optimum_pow.inl new file mode 100755 index 0000000000..78b729f7b2 --- /dev/null +++ b/vendor/glm/gtx/optimum_pow.inl @@ -0,0 +1,23 @@ +/// @ref gtx_optimum_pow +/// @file glm/gtx/optimum_pow.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType pow2(genType const& x) + { + return x * x; + } + + template + GLM_FUNC_QUALIFIER genType pow3(genType const& x) + { + return x * x * x; + } + + template + GLM_FUNC_QUALIFIER genType pow4(genType const& x) + { + return (x * x) * (x * x); + } +}//namespace glm diff --git a/vendor/glm/gtx/orthonormalize.hpp b/vendor/glm/gtx/orthonormalize.hpp new file mode 100755 index 0000000000..48b157f9a0 --- /dev/null +++ b/vendor/glm/gtx/orthonormalize.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_orthonormalize +/// @file glm/gtx/orthonormalize.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_orthonormalize GLM_GTX_orthonormalize +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Orthonormalize matrices. + +#pragma once + +// Dependency: +#include "../vec3.hpp" +#include "../mat3x3.hpp" +#include "../geometric.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_orthonormalize extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_orthonormalize + /// @{ + + /// Returns the orthonormalized matrix of m. + /// + /// @see gtx_orthonormalize + template + GLM_FUNC_DECL mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m); + + /// Orthonormalizes x according y. + /// + /// @see gtx_orthonormalize + template + GLM_FUNC_DECL vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + /// @} +}//namespace glm + +#include "orthonormalize.inl" diff --git a/vendor/glm/gtx/orthonormalize.inl b/vendor/glm/gtx/orthonormalize.inl new file mode 100755 index 0000000000..c65db11b12 --- /dev/null +++ b/vendor/glm/gtx/orthonormalize.inl @@ -0,0 +1,30 @@ +/// @ref gtx_orthonormalize +/// @file glm/gtx/orthonormalize.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m) + { + mat<3, 3, T, Q> r = m; + + r[0] = normalize(r[0]); + + T d0 = dot(r[0], r[1]); + r[1] -= r[0] * d0; + r[1] = normalize(r[1]); + + T d1 = dot(r[1], r[2]); + d0 = dot(r[0], r[2]); + r[2] -= r[0] * d0 + r[1] * d1; + r[2] = normalize(r[2]); + + return r; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + return normalize(x - y * dot(y, x)); + } +}//namespace glm diff --git a/vendor/glm/gtx/perpendicular.hpp b/vendor/glm/gtx/perpendicular.hpp new file mode 100755 index 0000000000..35601ac723 --- /dev/null +++ b/vendor/glm/gtx/perpendicular.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_perpendicular +/// @file glm/gtx/perpendicular.hpp +/// +/// @see core (dependence) +/// @see gtx_projection (dependence) +/// +/// @defgroup gtx_perpendicular GLM_GTX_perpendicular +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Perpendicular of a vector from other one + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/projection.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_perpendicular extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_perpendicular + /// @{ + + //! Projects x a perpendicular axis of Normal. + //! From GLM_GTX_perpendicular extension. + template + GLM_FUNC_DECL genType perp(genType const& x, genType const& Normal); + + /// @} +}//namespace glm + +#include "perpendicular.inl" diff --git a/vendor/glm/gtx/perpendicular.inl b/vendor/glm/gtx/perpendicular.inl new file mode 100755 index 0000000000..3b99eed87b --- /dev/null +++ b/vendor/glm/gtx/perpendicular.inl @@ -0,0 +1,11 @@ +/// @ref gtx_perpendicular +/// @file glm/gtx/perpendicular.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType perp(genType const& x, genType const& Normal) + { + return x - proj(x, Normal); + } +}//namespace glm diff --git a/vendor/glm/gtx/polar_coordinates.hpp b/vendor/glm/gtx/polar_coordinates.hpp new file mode 100755 index 0000000000..b8421db418 --- /dev/null +++ b/vendor/glm/gtx/polar_coordinates.hpp @@ -0,0 +1,48 @@ +/// @ref gtx_polar_coordinates +/// @file glm/gtx/polar_coordinates.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Conversion from Euclidean space to polar space and revert. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_polar_coordinates extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_polar_coordinates + /// @{ + + /// Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. + /// + /// @see gtx_polar_coordinates + template + GLM_FUNC_DECL vec<3, T, Q> polar( + vec<3, T, Q> const& euclidean); + + /// Convert Polar to Euclidean coordinates. + /// + /// @see gtx_polar_coordinates + template + GLM_FUNC_DECL vec<3, T, Q> euclidean( + vec<2, T, Q> const& polar); + + /// @} +}//namespace glm + +#include "polar_coordinates.inl" diff --git a/vendor/glm/gtx/polar_coordinates.inl b/vendor/glm/gtx/polar_coordinates.inl new file mode 100755 index 0000000000..cd1f357cc2 --- /dev/null +++ b/vendor/glm/gtx/polar_coordinates.inl @@ -0,0 +1,37 @@ +/// @ref gtx_polar_coordinates +/// @file glm/gtx/polar_coordinates.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> polar + ( + vec<3, T, Q> const& euclidean + ) + { + T const Length(length(euclidean)); + vec<3, T, Q> const tmp(euclidean / Length); + T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z)); + + return vec<3, T, Q>( + asin(tmp.y), // latitude + atan(tmp.x, tmp.z), // longitude + xz_dist); // xz distance + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> euclidean + ( + vec<2, T, Q> const& polar + ) + { + T const latitude(polar.x); + T const longitude(polar.y); + + return vec<3, T, Q>( + cos(latitude) * sin(longitude), + sin(latitude), + cos(latitude) * cos(longitude)); + } + +}//namespace glm diff --git a/vendor/glm/gtx/projection.hpp b/vendor/glm/gtx/projection.hpp new file mode 100755 index 0000000000..9a24abf9af --- /dev/null +++ b/vendor/glm/gtx/projection.hpp @@ -0,0 +1,40 @@ +/// @ref gtx_projection +/// @file glm/gtx/projection.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_projection GLM_GTX_projection +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Projection of a vector to other one + +#pragma once + +// Dependency: +#include "../geometric.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_projection extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_projection + /// @{ + + /// Projects x on Normal. + /// + /// @see gtx_projection + template + GLM_FUNC_DECL genType proj(genType const& x, genType const& Normal); + + /// @} +}//namespace glm + +#include "projection.inl" diff --git a/vendor/glm/gtx/projection.inl b/vendor/glm/gtx/projection.inl new file mode 100755 index 0000000000..90950f8bd8 --- /dev/null +++ b/vendor/glm/gtx/projection.inl @@ -0,0 +1,11 @@ +/// @ref gtx_projection +/// @file glm/gtx/projection.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType proj(genType const& x, genType const& Normal) + { + return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal; + } +}//namespace glm diff --git a/vendor/glm/gtx/quaternion.hpp b/vendor/glm/gtx/quaternion.hpp new file mode 100755 index 0000000000..7310d087e3 --- /dev/null +++ b/vendor/glm/gtx/quaternion.hpp @@ -0,0 +1,222 @@ +/// @ref gtx_quaternion +/// @file glm/gtx/quaternion.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_quaternion GLM_GTX_quaternion +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extented quaternion types and functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtx/norm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_quaternion extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_quaternion + /// @{ + + /// Create an identity quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat quat_identity(); + + /// Compute a cross product between a quaternion and a vector. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> cross( + tquat const& q, + vec<3, T, Q> const& v); + + //! Compute a cross product between a vector and a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> cross( + vec<3, T, Q> const& v, + tquat const& q); + + //! Compute a point on a path according squad equation. + //! q1 and q2 are control points; s1 and s2 are intermediate control points. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat squad( + tquat const& q1, + tquat const& q2, + tquat const& s1, + tquat const& s2, + T const& h); + + //! Returns an intermediate control point for squad interpolation. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat intermediate( + tquat const& prev, + tquat const& curr, + tquat const& next); + + //! Returns a exp of a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat exp( + tquat const& q); + + //! Returns a log of a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat log( + tquat const& q); + + /// Returns x raised to the y power. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat pow( + tquat const& x, + T const& y); + + //! Returns quarternion square root. + /// + /// @see gtx_quaternion + //template + //tquat sqrt( + // tquat const& q); + + //! Rotates a 3 components vector by a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> rotate( + tquat const& q, + vec<3, T, Q> const& v); + + /// Rotates a 4 components vector by a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<4, T, Q> rotate( + tquat const& q, + vec<4, T, Q> const& v); + + /// Extract the real component of a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL T extractRealComponent( + tquat const& q); + + /// Converts a quaternion to a 3 * 3 matrix. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL mat<3, 3, T, Q> toMat3( + tquat const& x){return mat3_cast(x);} + + /// Converts a quaternion to a 4 * 4 matrix. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL mat<4, 4, T, Q> toMat4( + tquat const& x){return mat4_cast(x);} + + /// Converts a 3 * 3 matrix to a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat toQuat( + mat<3, 3, T, Q> const& x){return quat_cast(x);} + + /// Converts a 4 * 4 matrix to a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat toQuat( + mat<4, 4, T, Q> const& x){return quat_cast(x);} + + /// Quaternion interpolation using the rotation short path. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat shortMix( + tquat const& x, + tquat const& y, + T const& a); + + /// Quaternion normalized linear interpolation. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat fastMix( + tquat const& x, + tquat const& y, + T const& a); + + /// Compute the rotation between two vectors. + /// param orig vector, needs to be normalized + /// param dest vector, needs to be normalized + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL tquat rotation( + vec<3, T, Q> const& orig, + vec<3, T, Q> const& dest); + + /// Build a look at quaternion based on the default handedness. + /// + /// @param direction Desired forward direction. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL tquat quatLookAt( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + + /// Build a right-handed look at quaternion. + /// + /// @param direction Desired forward direction onto which the -z-axis gets mapped. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL tquat quatLookAtRH( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + + /// Build a left-handed look at quaternion. + /// + /// @param direction Desired forward direction onto which the +z-axis gets mapped. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL tquat quatLookAtLH( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + + /// Returns the squared length of x. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL T length2(tquat const& q); + + /// @} +}//namespace glm + +#include "quaternion.inl" diff --git a/vendor/glm/gtx/quaternion.inl b/vendor/glm/gtx/quaternion.inl new file mode 100755 index 0000000000..fde7a8fb56 --- /dev/null +++ b/vendor/glm/gtx/quaternion.inl @@ -0,0 +1,254 @@ +/// @ref gtx_quaternion +/// @file glm/gtx/quaternion.inl + +#include +#include "../gtc/constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER tquat quat_identity() + { + return tquat(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(vec<3, T, Q> const& v, tquat const& q) + { + return inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(tquat const& q, vec<3, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER tquat squad + ( + tquat const& q1, + tquat const& q2, + tquat const& s1, + tquat const& s2, + T const& h) + { + return mix(mix(q1, q2, h), mix(s1, s2, h), static_cast(2) * (static_cast(1) - h) * h); + } + + template + GLM_FUNC_QUALIFIER tquat intermediate + ( + tquat const& prev, + tquat const& curr, + tquat const& next + ) + { + tquat invQuat = inverse(curr); + return exp((log(next + invQuat) + log(prev + invQuat)) / static_cast(-4)) * curr; + } + + template + GLM_FUNC_QUALIFIER tquat exp(tquat const& q) + { + vec<3, T, Q> u(q.x, q.y, q.z); + T const Angle = glm::length(u); + if (Angle < epsilon()) + return tquat(); + + vec<3, T, Q> const v(u / Angle); + return tquat(cos(Angle), sin(Angle) * v); + } + + template + GLM_FUNC_QUALIFIER tquat log(tquat const& q) + { + vec<3, T, Q> u(q.x, q.y, q.z); + T Vec3Len = length(u); + + if (Vec3Len < epsilon()) + { + if(q.w > static_cast(0)) + return tquat(log(q.w), static_cast(0), static_cast(0), static_cast(0)); + else if(q.w < static_cast(0)) + return tquat(log(-q.w), pi(), static_cast(0), static_cast(0)); + else + return tquat(std::numeric_limits::infinity(), std::numeric_limits::infinity(), std::numeric_limits::infinity(), std::numeric_limits::infinity()); + } + else + { + T t = atan(Vec3Len, T(q.w)) / Vec3Len; + T QuatLen2 = Vec3Len * Vec3Len + q.w * q.w; + return tquat(static_cast(0.5) * log(QuatLen2), t * q.x, t * q.y, t * q.z); + } + } + + template + GLM_FUNC_QUALIFIER tquat pow(tquat const& x, T const& y) + { + //Raising to the power of 0 should yield 1 + //Needed to prevent a division by 0 error later on + if(y > -epsilon() && y < epsilon()) + return tquat(1,0,0,0); + + //To deal with non-unit quaternions + T magnitude = sqrt(x.x * x.x + x.y * x.y + x.z * x.z + x.w *x.w); + + //Equivalent to raising a real number to a power + //Needed to prevent a division by 0 error later on + if(abs(x.w / magnitude) > static_cast(1) - epsilon() && abs(x.w / magnitude) < static_cast(1) + epsilon()) + return tquat(pow(x.w, y),0,0,0); + + T Angle = acos(x.w / magnitude); + T NewAngle = Angle * y; + T Div = sin(NewAngle) / sin(Angle); + T Mag = pow(magnitude, y - static_cast(1)); + + return tquat(cos(NewAngle) * magnitude * Mag, x.x * Div * Mag, x.y * Div * Mag, x.z * Div * Mag); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotate(tquat const& q, vec<3, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotate(tquat const& q, vec<4, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER T extractRealComponent(tquat const& q) + { + T w = static_cast(1) - q.x * q.x - q.y * q.y - q.z * q.z; + if(w < T(0)) + return T(0); + else + return -sqrt(w); + } + + template + GLM_FUNC_QUALIFIER T length2(tquat const& q) + { + return q.x * q.x + q.y * q.y + q.z * q.z + q.w * q.w; + } + + template + GLM_FUNC_QUALIFIER tquat shortMix(tquat const& x, tquat const& y, T const& a) + { + if(a <= static_cast(0)) return x; + if(a >= static_cast(1)) return y; + + T fCos = dot(x, y); + tquat y2(y); //BUG!!! tquat y2; + if(fCos < static_cast(0)) + { + y2 = -y; + fCos = -fCos; + } + + //if(fCos > 1.0f) // problem + T k0, k1; + if(fCos > (static_cast(1) - epsilon())) + { + k0 = static_cast(1) - a; + k1 = static_cast(0) + a; //BUG!!! 1.0f + a; + } + else + { + T fSin = sqrt(T(1) - fCos * fCos); + T fAngle = atan(fSin, fCos); + T fOneOverSin = static_cast(1) / fSin; + k0 = sin((static_cast(1) - a) * fAngle) * fOneOverSin; + k1 = sin((static_cast(0) + a) * fAngle) * fOneOverSin; + } + + return tquat( + k0 * x.w + k1 * y2.w, + k0 * x.x + k1 * y2.x, + k0 * x.y + k1 * y2.y, + k0 * x.z + k1 * y2.z); + } + + template + GLM_FUNC_QUALIFIER tquat fastMix(tquat const& x, tquat const& y, T const& a) + { + return glm::normalize(x * (static_cast(1) - a) + (y * a)); + } + + template + GLM_FUNC_QUALIFIER tquat rotation(vec<3, T, Q> const& orig, vec<3, T, Q> const& dest) + { + T cosTheta = dot(orig, dest); + vec<3, T, Q> rotationAxis; + + if(cosTheta >= static_cast(1) - epsilon()) { + // orig and dest point in the same direction + return quat_identity(); + } + + if(cosTheta < static_cast(-1) + epsilon()) + { + // special case when vectors in opposite directions : + // there is no "ideal" rotation axis + // So guess one; any will do as long as it's perpendicular to start + // This implementation favors a rotation around the Up axis (Y), + // since it's often what you want to do. + rotationAxis = cross(vec<3, T, Q>(0, 0, 1), orig); + if(length2(rotationAxis) < epsilon()) // bad luck, they were parallel, try again! + rotationAxis = cross(vec<3, T, Q>(1, 0, 0), orig); + + rotationAxis = normalize(rotationAxis); + return angleAxis(pi(), rotationAxis); + } + + // Implementation from Stan Melax's Game Programming Gems 1 article + rotationAxis = cross(orig, dest); + + T s = sqrt((T(1) + cosTheta) * static_cast(2)); + T invs = static_cast(1) / s; + + return tquat( + s * static_cast(0.5f), + rotationAxis.x * invs, + rotationAxis.y * invs, + rotationAxis.z * invs); + } + + template + GLM_FUNC_QUALIFIER tquat quatLookAt(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { +# if GLM_COORDINATE_SYSTEM == GLM_LEFT_HANDED + return quatLookAtLH(direction, up); +# else + return quatLookAtRH(direction, up); +# endif + } + + template + GLM_FUNC_QUALIFIER tquat quatLookAtRH(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { + mat<3, 3, T, Q> Result; + + Result[2] = -direction; + Result[0] = normalize(cross(up, Result[2])); + Result[1] = cross(Result[2], Result[0]); + + return quat_cast(Result); + } + + template + GLM_FUNC_QUALIFIER tquat quatLookAtLH(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { + mat<3, 3, T, Q> Result; + + Result[2] = direction; + Result[0] = normalize(cross(up, Result[2])); + Result[1] = cross(Result[2], Result[0]); + + return quat_cast(Result); + } + +}//namespace glm diff --git a/vendor/glm/gtx/range.hpp b/vendor/glm/gtx/range.hpp new file mode 100755 index 0000000000..38c5713a60 --- /dev/null +++ b/vendor/glm/gtx/range.hpp @@ -0,0 +1,98 @@ +/// @ref gtx_range +/// @file glm/gtx/range.hpp +/// @author Joshua Moerman +/// +/// @defgroup gtx_range GLM_GTX_range +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines begin and end for vectors and matrices. Useful for range-based for loop. +/// The range is defined over the elements, not over columns or rows (e.g. mat4 has 16 elements). + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if !GLM_HAS_RANGE_FOR +# error "GLM_GTX_range requires C++11 suppport or 'range for'" +#endif + +#include "../gtc/type_ptr.hpp" +#include "../gtc/vec1.hpp" + +namespace glm +{ + /// @addtogroup gtx_range + /// @{ + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable : 4100) // unreferenced formal parameter +# endif + + template + inline length_t components(vec<1, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<2, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<3, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<4, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(genType const& m) + { + return m.length() * m[0].length(); + } + + template + inline typename genType::value_type const * begin(genType const& v) + { + return value_ptr(v); + } + + template + inline typename genType::value_type const * end(genType const& v) + { + return begin(v) + components(v); + } + + template + inline typename genType::value_type * begin(genType& v) + { + return value_ptr(v); + } + + template + inline typename genType::value_type * end(genType& v) + { + return begin(v) + components(v); + } + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif + + /// @} +}//namespace glm diff --git a/vendor/glm/gtx/raw_data.hpp b/vendor/glm/gtx/raw_data.hpp new file mode 100755 index 0000000000..f377c4ead4 --- /dev/null +++ b/vendor/glm/gtx/raw_data.hpp @@ -0,0 +1,51 @@ +/// @ref gtx_raw_data +/// @file glm/gtx/raw_data.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_raw_data GLM_GTX_raw_data +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Projection of a vector to other one + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/type_int.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_raw_data extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_raw_data + /// @{ + + //! Type for byte numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint8 byte; + + //! Type for word numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint16 word; + + //! Type for dword numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint32 dword; + + //! Type for qword numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint64 qword; + + /// @} +}// namespace glm + +#include "raw_data.inl" diff --git a/vendor/glm/gtx/raw_data.inl b/vendor/glm/gtx/raw_data.inl new file mode 100755 index 0000000000..29af1481e1 --- /dev/null +++ b/vendor/glm/gtx/raw_data.inl @@ -0,0 +1,2 @@ +/// @ref gtx_raw_data +/// @file glm/gtx/raw_data.inl diff --git a/vendor/glm/gtx/rotate_normalized_axis.hpp b/vendor/glm/gtx/rotate_normalized_axis.hpp new file mode 100755 index 0000000000..3ac482c864 --- /dev/null +++ b/vendor/glm/gtx/rotate_normalized_axis.hpp @@ -0,0 +1,68 @@ +/// @ref gtx_rotate_normalized_axis +/// @file glm/gtx/rotate_normalized_axis.hpp +/// +/// @see core (dependence) +/// @see gtc_matrix_transform +/// @see gtc_quaternion +/// +/// @defgroup gtx_rotate_normalized_axis GLM_GTX_rotate_normalized_axis +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Quaternions and matrices rotations around normalized axis. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/epsilon.hpp" +#include "../gtc/quaternion.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_rotate_normalized_axis + /// @{ + + /// Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. + /// + /// @param m Input matrix multiplied by this rotation matrix. + /// @param angle Rotation angle expressed in radians. + /// @param axis Rotation axis, must be normalized. + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// + /// @see gtx_rotate_normalized_axis + /// @see - rotate(T angle, T x, T y, T z) + /// @see - rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z) + /// @see - rotate(T angle, vec<3, T, Q> const& v) + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotateNormalizedAxis( + mat<4, 4, T, Q> const& m, + T const& angle, + vec<3, T, Q> const& axis); + + /// Rotates a quaternion from a vector of 3 components normalized axis and an angle. + /// + /// @param q Source orientation + /// @param angle Angle expressed in radians. + /// @param axis Normalized axis of the rotation, must be normalized. + /// + /// @see gtx_rotate_normalized_axis + template + GLM_FUNC_DECL tquat rotateNormalizedAxis( + tquat const& q, + T const& angle, + vec<3, T, Q> const& axis); + + /// @} +}//namespace glm + +#include "rotate_normalized_axis.inl" diff --git a/vendor/glm/gtx/rotate_normalized_axis.inl b/vendor/glm/gtx/rotate_normalized_axis.inl new file mode 100755 index 0000000000..66e091030d --- /dev/null +++ b/vendor/glm/gtx/rotate_normalized_axis.inl @@ -0,0 +1,59 @@ +/// @ref gtx_rotate_normalized_axis +/// @file glm/gtx/rotate_normalized_axis.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotateNormalizedAxis + ( + mat<4, 4, T, Q> const& m, + T const& angle, + vec<3, T, Q> const& v + ) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + vec<3, T, Q> const axis(v); + + vec<3, T, Q> const temp((static_cast(1) - c) * axis); + + mat<4, 4, T, Q> Rotate; + Rotate[0][0] = c + temp[0] * axis[0]; + Rotate[0][1] = 0 + temp[0] * axis[1] + s * axis[2]; + Rotate[0][2] = 0 + temp[0] * axis[2] - s * axis[1]; + + Rotate[1][0] = 0 + temp[1] * axis[0] - s * axis[2]; + Rotate[1][1] = c + temp[1] * axis[1]; + Rotate[1][2] = 0 + temp[1] * axis[2] + s * axis[0]; + + Rotate[2][0] = 0 + temp[2] * axis[0] + s * axis[1]; + Rotate[2][1] = 0 + temp[2] * axis[1] - s * axis[0]; + Rotate[2][2] = c + temp[2] * axis[2]; + + mat<4, 4, T, Q> Result; + Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER tquat rotateNormalizedAxis + ( + tquat const& q, + T const& angle, + vec<3, T, Q> const& v + ) + { + vec<3, T, Q> const Tmp(v); + + T const AngleRad(angle); + T const Sin = sin(AngleRad * T(0.5)); + + return q * tquat(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); + //return gtc::quaternion::cross(q, tquat(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin)); + } +}//namespace glm diff --git a/vendor/glm/gtx/rotate_vector.hpp b/vendor/glm/gtx/rotate_vector.hpp new file mode 100755 index 0000000000..2ad909dbc5 --- /dev/null +++ b/vendor/glm/gtx/rotate_vector.hpp @@ -0,0 +1,121 @@ +/// @ref gtx_rotate_vector +/// @file glm/gtx/rotate_vector.hpp +/// +/// @see core (dependence) +/// @see gtx_transform (dependence) +/// +/// @defgroup gtx_rotate_vector GLM_GTX_rotate_vector +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Function to directly rotate a vector + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/transform.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_rotate_vector extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_rotate_vector + /// @{ + + /// Returns Spherical interpolation between two vectors + /// + /// @param x A first vector + /// @param y A second vector + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// + /// @see gtx_rotate_vector + template + GLM_FUNC_DECL vec<3, T, Q> slerp( + vec<3, T, Q> const& x, + vec<3, T, Q> const& y, + T const& a); + + //! Rotate a two dimensional vector. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<2, T, Q> rotate( + vec<2, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around an axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotate( + vec<3, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal); + + //! Rotate a four dimensional vector around an axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotate( + vec<4, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal); + + //! Rotate a three dimensional vector around the X axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateX( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around the Y axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateY( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around the Z axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateZ( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the X axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateX( + vec<4, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the Y axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateY( + vec<4, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the Z axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateZ( + vec<4, T, Q> const& v, + T const& angle); + + //! Build a rotation matrix from a normal and a up vector. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> orientation( + vec<3, T, Q> const& Normal, + vec<3, T, Q> const& Up); + + /// @} +}//namespace glm + +#include "rotate_vector.inl" diff --git a/vendor/glm/gtx/rotate_vector.inl b/vendor/glm/gtx/rotate_vector.inl new file mode 100755 index 0000000000..5183d37d4a --- /dev/null +++ b/vendor/glm/gtx/rotate_vector.inl @@ -0,0 +1,188 @@ +/// @ref gtx_rotate_vector +/// @file glm/gtx/rotate_vector.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> slerp + ( + vec<3, T, Q> const& x, + vec<3, T, Q> const& y, + T const& a + ) + { + // get cosine of angle between vectors (-1 -> 1) + T CosAlpha = dot(x, y); + // get angle (0 -> pi) + T Alpha = acos(CosAlpha); + // get sine of angle between vectors (0 -> 1) + T SinAlpha = sin(Alpha); + // this breaks down when SinAlpha = 0, i.e. Alpha = 0 or pi + T t1 = sin((static_cast(1) - a) * Alpha) / SinAlpha; + T t2 = sin(a * Alpha) / SinAlpha; + + // interpolate src vectors + return x * t1 + y * t2; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> rotate + ( + vec<2, T, Q> const& v, + T const& angle + ) + { + vec<2, T, Q> Result; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotate + ( + vec<3, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal + ) + { + return mat<3, 3, T, Q>(glm::rotate(angle, normal)) * v; + } + /* + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateGTX( + const vec<3, T, Q>& x, + T angle, + const vec<3, T, Q>& normal) + { + const T Cos = cos(radians(angle)); + const T Sin = sin(radians(angle)); + return x * Cos + ((x * normal) * (T(1) - Cos)) * normal + cross(x, normal) * Sin; + } + */ + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotate + ( + vec<4, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal + ) + { + return rotate(angle, normal) * v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateX + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result(v); + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.y = v.y * Cos - v.z * Sin; + Result.z = v.y * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateY + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos + v.z * Sin; + Result.z = -v.x * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateZ + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateX + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.y = v.y * Cos - v.z * Sin; + Result.z = v.y * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateY + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos + v.z * Sin; + Result.z = -v.x * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateZ + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> orientation + ( + vec<3, T, Q> const& Normal, + vec<3, T, Q> const& Up + ) + { + if(all(equal(Normal, Up))) + return mat<4, 4, T, Q>(T(1)); + + vec<3, T, Q> RotationAxis = cross(Up, Normal); + T Angle = acos(dot(Normal, Up)); + + return rotate(Angle, RotationAxis); + } +}//namespace glm diff --git a/vendor/glm/gtx/scalar_multiplication.hpp b/vendor/glm/gtx/scalar_multiplication.hpp new file mode 100755 index 0000000000..b73edf676a --- /dev/null +++ b/vendor/glm/gtx/scalar_multiplication.hpp @@ -0,0 +1,75 @@ +/// @ref gtx +/// @file glm/gtx/scalar_multiplication.hpp +/// @author Joshua Moerman +/// +/// Include to use the features of this extension. +/// +/// Enables scalar multiplication for all types +/// +/// Since GLSL is very strict about types, the following (often used) combinations do not work: +/// double * vec4 +/// int * vec4 +/// vec4 / int +/// So we'll fix that! Of course "float * vec4" should remain the same (hence the enable_if magic) + +#pragma once + +#include "../detail/setup.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if !GLM_HAS_TEMPLATE_ALIASES && !(GLM_COMPILER & GLM_COMPILER_GCC) +# error "GLM_GTX_scalar_multiplication requires C++11 support or alias templates and if not support for GCC" +#endif + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../mat2x2.hpp" +#include + +namespace glm +{ + template + using return_type_scalar_multiplication = typename std::enable_if< + !std::is_same::value // T may not be a float + && std::is_arithmetic::value, Vec // But it may be an int or double (no vec3 or mat3, ...) + >::type; + +#define GLM_IMPLEMENT_SCAL_MULT(Vec) \ + template \ + return_type_scalar_multiplication \ + operator*(T const& s, Vec rh){ \ + return rh *= static_cast(s); \ + } \ + \ + template \ + return_type_scalar_multiplication \ + operator*(Vec lh, T const& s){ \ + return lh *= static_cast(s); \ + } \ + \ + template \ + return_type_scalar_multiplication \ + operator/(Vec lh, T const& s){ \ + return lh *= 1.0f / s; \ + } + +GLM_IMPLEMENT_SCAL_MULT(vec2) +GLM_IMPLEMENT_SCAL_MULT(vec3) +GLM_IMPLEMENT_SCAL_MULT(vec4) + +GLM_IMPLEMENT_SCAL_MULT(mat2) +GLM_IMPLEMENT_SCAL_MULT(mat2x3) +GLM_IMPLEMENT_SCAL_MULT(mat2x4) +GLM_IMPLEMENT_SCAL_MULT(mat3x2) +GLM_IMPLEMENT_SCAL_MULT(mat3) +GLM_IMPLEMENT_SCAL_MULT(mat3x4) +GLM_IMPLEMENT_SCAL_MULT(mat4x2) +GLM_IMPLEMENT_SCAL_MULT(mat4x3) +GLM_IMPLEMENT_SCAL_MULT(mat4) + +#undef GLM_IMPLEMENT_SCAL_MULT +} // namespace glm diff --git a/vendor/glm/gtx/scalar_relational.hpp b/vendor/glm/gtx/scalar_relational.hpp new file mode 100755 index 0000000000..7fc8c1cca2 --- /dev/null +++ b/vendor/glm/gtx/scalar_relational.hpp @@ -0,0 +1,36 @@ +/// @ref gtx_scalar_relational +/// @file glm/gtx/scalar_relational.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extend a position from a source to a position at a defined length. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_extend extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_scalar_relational + /// @{ + + + + /// @} +}//namespace glm + +#include "scalar_relational.inl" diff --git a/vendor/glm/gtx/scalar_relational.inl b/vendor/glm/gtx/scalar_relational.inl new file mode 100755 index 0000000000..8da7236211 --- /dev/null +++ b/vendor/glm/gtx/scalar_relational.inl @@ -0,0 +1,89 @@ +/// @ref gtx_scalar_relational +/// @file glm/gtx/scalar_relational.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool lessThan + ( + T const& x, + T const& y + ) + { + return x < y; + } + + template + GLM_FUNC_QUALIFIER bool lessThanEqual + ( + T const& x, + T const& y + ) + { + return x <= y; + } + + template + GLM_FUNC_QUALIFIER bool greaterThan + ( + T const& x, + T const& y + ) + { + return x > y; + } + + template + GLM_FUNC_QUALIFIER bool greaterThanEqual + ( + T const& x, + T const& y + ) + { + return x >= y; + } + + template + GLM_FUNC_QUALIFIER bool equal + ( + T const& x, + T const& y + ) + { + return detail::compute_equal::call(x, y); + } + + template + GLM_FUNC_QUALIFIER bool notEqual + ( + T const& x, + T const& y + ) + { + return !detail::compute_equal::call(x, y); + } + + GLM_FUNC_QUALIFIER bool any + ( + bool const& x + ) + { + return x; + } + + GLM_FUNC_QUALIFIER bool all + ( + bool const& x + ) + { + return x; + } + + GLM_FUNC_QUALIFIER bool not_ + ( + bool const& x + ) + { + return !x; + } +}//namespace glm diff --git a/vendor/glm/gtx/spline.hpp b/vendor/glm/gtx/spline.hpp new file mode 100755 index 0000000000..f080fece24 --- /dev/null +++ b/vendor/glm/gtx/spline.hpp @@ -0,0 +1,65 @@ +/// @ref gtx_spline +/// @file glm/gtx/spline.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_spline GLM_GTX_spline +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Spline functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/optimum_pow.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_spline extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_spline + /// @{ + + /// Return a point from a catmull rom curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType catmullRom( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s); + + /// Return a point from a hermite curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType hermite( + genType const& v1, + genType const& t1, + genType const& v2, + genType const& t2, + typename genType::value_type const& s); + + /// Return a point from a cubic curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType cubic( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s); + + /// @} +}//namespace glm + +#include "spline.inl" diff --git a/vendor/glm/gtx/spline.inl b/vendor/glm/gtx/spline.inl new file mode 100755 index 0000000000..ca7b439e4e --- /dev/null +++ b/vendor/glm/gtx/spline.inl @@ -0,0 +1,61 @@ +/// @ref gtx_spline +/// @file glm/gtx/spline.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType catmullRom + ( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s + ) + { + typename genType::value_type s2 = pow2(s); + typename genType::value_type s3 = pow3(s); + + typename genType::value_type f1 = -s3 + typename genType::value_type(2) * s2 - s; + typename genType::value_type f2 = typename genType::value_type(3) * s3 - typename genType::value_type(5) * s2 + typename genType::value_type(2); + typename genType::value_type f3 = typename genType::value_type(-3) * s3 + typename genType::value_type(4) * s2 + s; + typename genType::value_type f4 = s3 - s2; + + return (f1 * v1 + f2 * v2 + f3 * v3 + f4 * v4) / typename genType::value_type(2); + + } + + template + GLM_FUNC_QUALIFIER genType hermite + ( + genType const& v1, + genType const& t1, + genType const& v2, + genType const& t2, + typename genType::value_type const& s + ) + { + typename genType::value_type s2 = pow2(s); + typename genType::value_type s3 = pow3(s); + + typename genType::value_type f1 = typename genType::value_type(2) * s3 - typename genType::value_type(3) * s2 + typename genType::value_type(1); + typename genType::value_type f2 = typename genType::value_type(-2) * s3 + typename genType::value_type(3) * s2; + typename genType::value_type f3 = s3 - typename genType::value_type(2) * s2 + s; + typename genType::value_type f4 = s3 - s2; + + return f1 * v1 + f2 * v2 + f3 * t1 + f4 * t2; + } + + template + GLM_FUNC_QUALIFIER genType cubic + ( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s + ) + { + return ((v1 * s + v2) * s + v3) * s + v4; + } +}//namespace glm diff --git a/vendor/glm/gtx/std_based_type.hpp b/vendor/glm/gtx/std_based_type.hpp new file mode 100755 index 0000000000..55a2f0742c --- /dev/null +++ b/vendor/glm/gtx/std_based_type.hpp @@ -0,0 +1,68 @@ +/// @ref gtx_std_based_type +/// @file glm/gtx/std_based_type.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_std_based_type GLM_GTX_std_based_type +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Adds vector types based on STL value types. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_std_based_type extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_std_based_type + /// @{ + + /// Vector type based of one std::size_t component. + /// @see GLM_GTX_std_based_type + typedef vec<1, std::size_t, defaultp> size1; + + /// Vector type based of two std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<2, std::size_t, defaultp> size2; + + /// Vector type based of three std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<3, std::size_t, defaultp> size3; + + /// Vector type based of four std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<4, std::size_t, defaultp> size4; + + /// Vector type based of one std::size_t component. + /// @see GLM_GTX_std_based_type + typedef vec<1, std::size_t, defaultp> size1_t; + + /// Vector type based of two std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<2, std::size_t, defaultp> size2_t; + + /// Vector type based of three std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<3, std::size_t, defaultp> size3_t; + + /// Vector type based of four std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<4, std::size_t, defaultp> size4_t; + + /// @} +}//namespace glm + +#include "std_based_type.inl" diff --git a/vendor/glm/gtx/std_based_type.inl b/vendor/glm/gtx/std_based_type.inl new file mode 100755 index 0000000000..ca431a33a4 --- /dev/null +++ b/vendor/glm/gtx/std_based_type.inl @@ -0,0 +1,7 @@ +/// @ref gtx_std_based_type +/// @file glm/gtx/std_based_type.inl + +namespace glm +{ + +} diff --git a/vendor/glm/gtx/string_cast.hpp b/vendor/glm/gtx/string_cast.hpp new file mode 100755 index 0000000000..4b4e280fcc --- /dev/null +++ b/vendor/glm/gtx/string_cast.hpp @@ -0,0 +1,52 @@ +/// @ref gtx_string_cast +/// @file glm/gtx/string_cast.hpp +/// +/// @see core (dependence) +/// @see gtx_integer (dependence) +/// @see gtx_quaternion (dependence) +/// +/// @defgroup gtx_string_cast GLM_GTX_string_cast +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Setup strings for GLM type values +/// +/// This extension is not supported with CUDA + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/type_precision.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" +#include +#include + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if(GLM_COMPILER & GLM_COMPILER_CUDA) +# error "GLM_GTX_string_cast is not supported on CUDA compiler" +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_string_cast extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_string_cast + /// @{ + + /// Create a string from a GLM vector or matrix typed variable. + /// @see gtx_string_cast extension. + template + GLM_FUNC_DECL std::string to_string(genType const& x); + + /// @} +}//namespace glm + +#include "string_cast.inl" diff --git a/vendor/glm/gtx/string_cast.inl b/vendor/glm/gtx/string_cast.inl new file mode 100755 index 0000000000..e237e8e540 --- /dev/null +++ b/vendor/glm/gtx/string_cast.inl @@ -0,0 +1,492 @@ +/// @ref gtx_string_cast +/// @file glm/gtx/string_cast.inl + +#include +#include + +namespace glm{ +namespace detail +{ + template + struct cast + { + typedef T value_type; + }; + + template <> + struct cast + { + typedef double value_type; + }; + + GLM_FUNC_QUALIFIER std::string format(const char* msg, ...) + { + std::size_t const STRING_BUFFER(4096); + char text[STRING_BUFFER]; + va_list list; + + if(msg == GLM_NULLPTR) + return std::string(); + + va_start(list, msg); +# if(GLM_COMPILER & GLM_COMPILER_VC) + vsprintf_s(text, STRING_BUFFER, msg, list); +# else// + vsprintf(text, msg, list); +# endif// + va_end(list); + + return std::string(text); + } + + static const char* LabelTrue = "true"; + static const char* LabelFalse = "false"; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%d";} + }; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%f";} + }; + +# if GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + template<> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";} + }; + + template<> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";} + }; +# endif//GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + + template + struct prefix{}; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "d";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "b";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u8";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i8";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u16";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i16";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u64";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i64";} + }; + + template + struct compute_to_string + {}; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<1, bool, Q> const& x) + { + return detail::format("bvec1(%s)", + x[0] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<2, bool, Q> const& x) + { + return detail::format("bvec2(%s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<3, bool, Q> const& x) + { + return detail::format("bvec3(%s, %s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse, + x[2] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<4, bool, Q> const& x) + { + return detail::format("bvec4(%s, %s, %s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse, + x[2] ? detail::LabelTrue : detail::LabelFalse, + x[3] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<1, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec1(%s)", + PrefixStr, + LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec2(%s, %s)", + PrefixStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec3(%s, %s, %s)", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1]), + static_cast::value_type>(x[2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec4(%s, %s, %s, %s)", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1]), + static_cast::value_type>(x[2]), + static_cast::value_type>(x[3])); + } + }; + + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x2((%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x3((%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x4((%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x2((%s, %s), (%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), static_cast::value_type>(x[2][3])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x2((%s, %s), (%s, %s), (%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1]), static_cast::value_type>(x[3][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), static_cast::value_type>(x[2][3]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1]), static_cast::value_type>(x[3][2]), static_cast::value_type>(x[3][3])); + } + }; + + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(tquat const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%squat(%s, {%s, %s, %s})", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[3]), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1]), + static_cast::value_type>(x[2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(tdualquat const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%sdualquat((%s, {%s, %s, %s}), (%s, {%s, %s, %s}))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x.real[3]), + static_cast::value_type>(x.real[0]), + static_cast::value_type>(x.real[1]), + static_cast::value_type>(x.real[2]), + static_cast::value_type>(x.dual[3]), + static_cast::value_type>(x.dual[0]), + static_cast::value_type>(x.dual[1]), + static_cast::value_type>(x.dual[2])); + } + }; + +}//namespace detail + +template +GLM_FUNC_QUALIFIER std::string to_string(matType const& x) +{ + return detail::compute_to_string::call(x); +} + +}//namespace glm diff --git a/vendor/glm/gtx/texture.hpp b/vendor/glm/gtx/texture.hpp new file mode 100755 index 0000000000..312bf39860 --- /dev/null +++ b/vendor/glm/gtx/texture.hpp @@ -0,0 +1,46 @@ +/// @ref gtx_texture +/// @file glm/gtx/texture.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_texture GLM_GTX_texture +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Wrapping mode of texture coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/integer.hpp" +#include "../gtx/component_wise.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_texture extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_texture + /// @{ + + /// Compute the number of mipmaps levels necessary to create a mipmap complete texture + /// + /// @param Extent Extent of the texture base level mipmap + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + template + T levels(vec const& Extent); + + /// @} +}// namespace glm + +#include "texture.inl" + diff --git a/vendor/glm/gtx/texture.inl b/vendor/glm/gtx/texture.inl new file mode 100755 index 0000000000..7c124f2278 --- /dev/null +++ b/vendor/glm/gtx/texture.inl @@ -0,0 +1,18 @@ +/// @ref gtx_texture +/// @file glm/gtx/texture.inl + +namespace glm +{ + template + inline T levels(vec const& Extent) + { + return glm::log2(compMax(Extent)) + static_cast(1); + } + + template + inline T levels(T Extent) + { + return vec<1, T, defaultp>(Extent).x; + } +}//namespace glm + diff --git a/vendor/glm/gtx/transform.hpp b/vendor/glm/gtx/transform.hpp new file mode 100755 index 0000000000..c4467bd1a3 --- /dev/null +++ b/vendor/glm/gtx/transform.hpp @@ -0,0 +1,60 @@ +/// @ref gtx_transform +/// @file glm/gtx/transform.hpp +/// +/// @see core (dependence) +/// @see gtc_matrix_transform (dependence) +/// @see gtx_transform +/// @see gtx_transform2 +/// +/// @defgroup gtx_transform GLM_GTX_transform +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add transformation matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/matrix_transform.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_transform extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_transform + /// @{ + + /// Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> translate( + vec<3, T, Q> const& v); + + /// Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotate( + T angle, + vec<3, T, Q> const& v); + + /// Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> scale( + vec<3, T, Q> const& v); + + /// @} +}// namespace glm + +#include "transform.inl" diff --git a/vendor/glm/gtx/transform.inl b/vendor/glm/gtx/transform.inl new file mode 100755 index 0000000000..56bfc902af --- /dev/null +++ b/vendor/glm/gtx/transform.inl @@ -0,0 +1,24 @@ +/// @ref gtx_transform +/// @file glm/gtx/transform.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(vec<3, T, Q> const& v) + { + return translate(mat<4, 4, T, Q>(static_cast(1)), v); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(T angle, vec<3, T, Q> const& v) + { + return rotate(mat<4, 4, T, Q>(static_cast(1)), angle, v); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(vec<3, T, Q> const& v) + { + return scale(mat<4, 4, T, Q>(static_cast(1)), v); + } + +}//namespace glm diff --git a/vendor/glm/gtx/transform2.hpp b/vendor/glm/gtx/transform2.hpp new file mode 100755 index 0000000000..2966cce36e --- /dev/null +++ b/vendor/glm/gtx/transform2.hpp @@ -0,0 +1,89 @@ +/// @ref gtx_transform2 +/// @file glm/gtx/transform2.hpp +/// +/// @see core (dependence) +/// @see gtx_transform (dependence) +/// +/// @defgroup gtx_transform2 GLM_GTX_transform2 +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add extra transformation matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/transform.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_transform2 extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_transform2 + /// @{ + + //! Transforms a matrix with a shearing on X axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> shearX2D(mat<3, 3, T, Q> const& m, T y); + + //! Transforms a matrix with a shearing on Y axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> shearY2D(mat<3, 3, T, Q> const& m, T x); + + //! Transforms a matrix with a shearing on X axis + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearX3D(mat<4, 4, T, Q> const& m, T y, T z); + + //! Transforms a matrix with a shearing on Y axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearY3D(mat<4, 4, T, Q> const& m, T x, T z); + + //! Transforms a matrix with a shearing on Z axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearZ3D(mat<4, 4, T, Q> const& m, T x, T y); + + //template GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shear(const mat<4, 4, T, Q> & m, shearPlane, planePoint, angle) + // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0 + // - dot(PointOnPlane, normal) * OnPlaneVector 1 + + // Reflect functions seem to don't work + //template mat<3, 3, T, Q> reflect2D(const mat<3, 3, T, Q> & m, const vec<3, T, Q>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension) + //template mat<4, 4, T, Q> reflect3D(const mat<4, 4, T, Q> & m, const vec<3, T, Q>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension) + + //! Build planar projection matrix along normal axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> proj2D(mat<3, 3, T, Q> const& m, vec<3, T, Q> const& normal); + + //! Build planar projection matrix along normal axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> proj3D(mat<4, 4, T, Q> const & m, vec<3, T, Q> const& normal); + + //! Build a scale bias matrix. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(T scale, T bias); + + //! Build a scale bias matrix. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(mat<4, 4, T, Q> const& m, T scale, T bias); + + /// @} +}// namespace glm + +#include "transform2.inl" diff --git a/vendor/glm/gtx/transform2.inl b/vendor/glm/gtx/transform2.inl new file mode 100755 index 0000000000..59091eb5bd --- /dev/null +++ b/vendor/glm/gtx/transform2.inl @@ -0,0 +1,126 @@ +/// @ref gtx_transform2 +/// @file glm/gtx/transform2.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX2D(mat<3, 3, T, Q> const& m, T s) + { + mat<3, 3, T, Q> r(1); + r[1][0] = s; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY2D(mat<3, 3, T, Q> const& m, T s) + { + mat<3, 3, T, Q> r(1); + r[0][1] = s; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearX3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[0][1] = s; + r[0][2] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearY3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[1][0] = s; + r[1][2] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearZ3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[2][0] = s; + r[2][1] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> reflect2D(mat<3, 3, T, Q> const& m, vec<3, T, Q> const& normal) + { + mat<3, 3, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - static_cast(2) * normal.x * normal.x; + r[0][1] = -static_cast(2) * normal.x * normal.y; + r[1][0] = -static_cast(2) * normal.x * normal.y; + r[1][1] = static_cast(1) - static_cast(2) * normal.y * normal.y; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> reflect3D(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& normal) + { + mat<4, 4, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - static_cast(2) * normal.x * normal.x; + r[0][1] = -static_cast(2) * normal.x * normal.y; + r[0][2] = -static_cast(2) * normal.x * normal.z; + + r[1][0] = -static_cast(2) * normal.x * normal.y; + r[1][1] = static_cast(1) - static_cast(2) * normal.y * normal.y; + r[1][2] = -static_cast(2) * normal.y * normal.z; + + r[2][0] = -static_cast(2) * normal.x * normal.z; + r[2][1] = -static_cast(2) * normal.y * normal.z; + r[2][2] = static_cast(1) - static_cast(2) * normal.z * normal.z; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> proj2D( + const mat<3, 3, T, Q>& m, + const vec<3, T, Q>& normal) + { + mat<3, 3, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - normal.x * normal.x; + r[0][1] = - normal.x * normal.y; + r[1][0] = - normal.x * normal.y; + r[1][1] = static_cast(1) - normal.y * normal.y; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> proj3D( + const mat<4, 4, T, Q>& m, + const vec<3, T, Q>& normal) + { + mat<4, 4, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - normal.x * normal.x; + r[0][1] = - normal.x * normal.y; + r[0][2] = - normal.x * normal.z; + r[1][0] = - normal.x * normal.y; + r[1][1] = static_cast(1) - normal.y * normal.y; + r[1][2] = - normal.y * normal.z; + r[2][0] = - normal.x * normal.z; + r[2][1] = - normal.y * normal.z; + r[2][2] = static_cast(1) - normal.z * normal.z; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scaleBias(T scale, T bias) + { + mat<4, 4, T, Q> result; + result[3] = vec<4, T, Q>(vec<3, T, Q>(bias), static_cast(1)); + result[0][0] = scale; + result[1][1] = scale; + result[2][2] = scale; + return result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scaleBias(mat<4, 4, T, Q> const& m, T scale, T bias) + { + return m * scaleBias(scale, bias); + } +}//namespace glm + diff --git a/vendor/glm/gtx/type_aligned.hpp b/vendor/glm/gtx/type_aligned.hpp new file mode 100755 index 0000000000..fdfadd4745 --- /dev/null +++ b/vendor/glm/gtx/type_aligned.hpp @@ -0,0 +1,983 @@ +/// @ref gtx_type_aligned +/// @file glm/gtx/type_aligned.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_type_aligned GLM_GTX_type_aligned +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines aligned types. +/// +/// @ref core_precision defines aligned types. + +#pragma once + +// Dependency: +#include "../gtc/type_precision.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_type_aligned extension included") +#endif + +namespace glm +{ + /////////////////////////// + // Signed int vector types + + /// @addtogroup gtx_type_aligned + /// @{ + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8); + + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8); + + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8); + + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4); + + /// Default qualifier 32 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8); + + /// Default qualifier 32 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16); + + /// Default qualifier 32 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1); + + /// Default qualifier 8 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2); + + /// Default qualifier 8 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4); + + /// Default qualifier 8 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4); + + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2); + + /// Default qualifier 16 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4); + + /// Default qualifier 16 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8); + + /// Default qualifier 16 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8); + + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4); + + /// Default qualifier 32 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8); + + /// Default qualifier 32 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16); + + /// Default qualifier 32 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16); + + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8); + + /// Default qualifier 64 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16); + + /// Default qualifier 64 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32); + + /// Default qualifier 64 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32); + + + ///////////////////////////// + // Unsigned int vector types + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8); + + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8); + + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8); + + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4); + + /// Default qualifier 32 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8); + + /// Default qualifier 32 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16); + + /// Default qualifier 32 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1); + + /// Default qualifier 8 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2); + + /// Default qualifier 8 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4); + + /// Default qualifier 8 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4); + + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2); + + /// Default qualifier 16 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4); + + /// Default qualifier 16 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8); + + /// Default qualifier 16 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8); + + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4); + + /// Default qualifier 32 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8); + + /// Default qualifier 32 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16); + + /// Default qualifier 32 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16); + + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8); + + /// Default qualifier 64 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16); + + /// Default qualifier 64 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32); + + /// Default qualifier 64 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32); + + + ////////////////////// + // Float vector types + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4); + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4); + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4); + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8); + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8); + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8); + +# endif//GLM_FORCE_SINGLE_ONLY + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16); + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16); + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16); + + + /// Double-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8); + + /// Double-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16); + + /// Double-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32); + + /// Double-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32); + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8); + + /// Double-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16); + + /// Double-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32); + + /// Double-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + ////////////////////// + // Float matrix types + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1 mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 fmat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f32 fmat1x1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16); + + /// Single-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16); + + /// Single-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16); + + /// Single-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16); + + /// Single-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16); + + /// Single-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16); + + /// Single-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 f32mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f32 f32mat1x1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16); + + /// Single-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16); + + /// Single-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16); + + /// Single-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16); + + /// Single-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16); + + /// Single-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16); + + /// Single-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16); + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 f64mat1; + + /// Double-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32); + + /// Double-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32); + + /// Double-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32); + + + /// Double-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f64 f64mat1x1; + + /// Double-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32); + + /// Double-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32); + + /// Double-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32); + + /// Double-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32); + + /// Double-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32); + + /// Double-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32); + + /// Double-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32); + + /// Double-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32); + + /// Double-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + + ////////////////////////// + // Quaternion types + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16); + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fquat, aligned_fquat, 16); + + /// Double-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32); + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16); + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + /// @} +}//namespace glm + +#include "type_aligned.inl" diff --git a/vendor/glm/gtx/type_aligned.inl b/vendor/glm/gtx/type_aligned.inl new file mode 100755 index 0000000000..83202dff4e --- /dev/null +++ b/vendor/glm/gtx/type_aligned.inl @@ -0,0 +1,7 @@ +/// @ref gtc_type_aligned +/// @file glm/gtc/type_aligned.inl + +namespace glm +{ + +} diff --git a/vendor/glm/gtx/type_trait.hpp b/vendor/glm/gtx/type_trait.hpp new file mode 100755 index 0000000000..637bbd1938 --- /dev/null +++ b/vendor/glm/gtx/type_trait.hpp @@ -0,0 +1,85 @@ +/// @ref gtx_type_trait +/// @file glm/gtx/type_trait.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_type_trait GLM_GTX_type_trait +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines traits for each type. + +#pragma once + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +// Dependency: +#include "../detail/qualifier.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_type_trait extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_type_trait + /// @{ + + template + struct type + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = false; + static length_t const components = 0; + static length_t const cols = 0; + static length_t const rows = 0; + }; + + template + struct type > + { + static bool const is_vec = true; + static bool const is_mat = false; + static bool const is_quat = false; + static length_t const components = L; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = true; + static bool const is_quat = false; + static length_t const components = C; + static length_t const cols = C; + static length_t const rows = R; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = true; + static length_t const components = 4; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = true; + static length_t const components = 8; + }; + + /// @} +}//namespace glm + +#include "type_trait.inl" diff --git a/vendor/glm/gtx/type_trait.inl b/vendor/glm/gtx/type_trait.inl new file mode 100755 index 0000000000..1cdf33224f --- /dev/null +++ b/vendor/glm/gtx/type_trait.inl @@ -0,0 +1,62 @@ +/// @ref gtx_type_trait +/// @file glm/gtx/type_trait.inl + +namespace glm +{ + template + bool const type::is_vec; + template + bool const type::is_mat; + template + bool const type::is_quat; + template + length_t const type::components; + template + length_t const type::cols; + template + length_t const type::rows; + + // vec + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + + // mat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + template + length_t const type >::cols; + template + length_t const type >::rows; + + // tquat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + + // tdualquat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; +}//namespace glm diff --git a/vendor/glm/gtx/vec_swizzle.hpp b/vendor/glm/gtx/vec_swizzle.hpp new file mode 100755 index 0000000000..daebac384e --- /dev/null +++ b/vendor/glm/gtx/vec_swizzle.hpp @@ -0,0 +1,2778 @@ +/// @ref gtx_vec_swizzle +/// @file glm/gtx/vec_swizzle.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_vec_swizzle GLM_GTX_vec_swizzle +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions to perform swizzle operation. + +#pragma once + +#include "../glm.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +namespace glm { + // xx + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<1, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + // xy + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + // xz + template + GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.z); + } + + // xw + template + GLM_INLINE glm::vec<2, T, Q> xw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.w); + } + + // yx + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + // yy + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + // yz + template + GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.z); + } + + // yw + template + GLM_INLINE glm::vec<2, T, Q> yw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.w); + } + + // zx + template + GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.x); + } + + // zy + template + GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.y); + } + + // zz + template + GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.z); + } + + // zw + template + GLM_INLINE glm::vec<2, T, Q> zw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.w); + } + + // wx + template + GLM_INLINE glm::vec<2, T, Q> wx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.x); + } + + // wy + template + GLM_INLINE glm::vec<2, T, Q> wy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.y); + } + + // wz + template + GLM_INLINE glm::vec<2, T, Q> wz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.z); + } + + // ww + template + GLM_INLINE glm::vec<2, T, Q> ww(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.w); + } + + // xxx + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<1, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + // xxy + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + // xxz + template + GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.z); + } + + // xxw + template + GLM_INLINE glm::vec<3, T, Q> xxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.w); + } + + // xyx + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + // xyy + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + // xyz + template + GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.z); + } + + // xyw + template + GLM_INLINE glm::vec<3, T, Q> xyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.w); + } + + // xzx + template + GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.x); + } + + // xzy + template + GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.y); + } + + // xzz + template + GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.z); + } + + // xzw + template + GLM_INLINE glm::vec<3, T, Q> xzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.w); + } + + // xwx + template + GLM_INLINE glm::vec<3, T, Q> xwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.x); + } + + // xwy + template + GLM_INLINE glm::vec<3, T, Q> xwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.y); + } + + // xwz + template + GLM_INLINE glm::vec<3, T, Q> xwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.z); + } + + // xww + template + GLM_INLINE glm::vec<3, T, Q> xww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.w); + } + + // yxx + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + // yxy + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + // yxz + template + GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.z); + } + + // yxw + template + GLM_INLINE glm::vec<3, T, Q> yxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.w); + } + + // yyx + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + // yyy + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + // yyz + template + GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.z); + } + + // yyw + template + GLM_INLINE glm::vec<3, T, Q> yyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.w); + } + + // yzx + template + GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.x); + } + + // yzy + template + GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.y); + } + + // yzz + template + GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.z); + } + + // yzw + template + GLM_INLINE glm::vec<3, T, Q> yzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.w); + } + + // ywx + template + GLM_INLINE glm::vec<3, T, Q> ywx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.x); + } + + // ywy + template + GLM_INLINE glm::vec<3, T, Q> ywy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.y); + } + + // ywz + template + GLM_INLINE glm::vec<3, T, Q> ywz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.z); + } + + // yww + template + GLM_INLINE glm::vec<3, T, Q> yww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.w); + } + + // zxx + template + GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.x); + } + + // zxy + template + GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.y); + } + + // zxz + template + GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.z); + } + + // zxw + template + GLM_INLINE glm::vec<3, T, Q> zxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.w); + } + + // zyx + template + GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.x); + } + + // zyy + template + GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.y); + } + + // zyz + template + GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.z); + } + + // zyw + template + GLM_INLINE glm::vec<3, T, Q> zyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.w); + } + + // zzx + template + GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.x); + } + + // zzy + template + GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.y); + } + + // zzz + template + GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.z); + } + + // zzw + template + GLM_INLINE glm::vec<3, T, Q> zzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.w); + } + + // zwx + template + GLM_INLINE glm::vec<3, T, Q> zwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.x); + } + + // zwy + template + GLM_INLINE glm::vec<3, T, Q> zwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.y); + } + + // zwz + template + GLM_INLINE glm::vec<3, T, Q> zwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.z); + } + + // zww + template + GLM_INLINE glm::vec<3, T, Q> zww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.w); + } + + // wxx + template + GLM_INLINE glm::vec<3, T, Q> wxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.x); + } + + // wxy + template + GLM_INLINE glm::vec<3, T, Q> wxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.y); + } + + // wxz + template + GLM_INLINE glm::vec<3, T, Q> wxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.z); + } + + // wxw + template + GLM_INLINE glm::vec<3, T, Q> wxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.w); + } + + // wyx + template + GLM_INLINE glm::vec<3, T, Q> wyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.x); + } + + // wyy + template + GLM_INLINE glm::vec<3, T, Q> wyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.y); + } + + // wyz + template + GLM_INLINE glm::vec<3, T, Q> wyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.z); + } + + // wyw + template + GLM_INLINE glm::vec<3, T, Q> wyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.w); + } + + // wzx + template + GLM_INLINE glm::vec<3, T, Q> wzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.x); + } + + // wzy + template + GLM_INLINE glm::vec<3, T, Q> wzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.y); + } + + // wzz + template + GLM_INLINE glm::vec<3, T, Q> wzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.z); + } + + // wzw + template + GLM_INLINE glm::vec<3, T, Q> wzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.w); + } + + // wwx + template + GLM_INLINE glm::vec<3, T, Q> wwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.x); + } + + // wwy + template + GLM_INLINE glm::vec<3, T, Q> wwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.y); + } + + // wwz + template + GLM_INLINE glm::vec<3, T, Q> wwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.z); + } + + // www + template + GLM_INLINE glm::vec<3, T, Q> www(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.w); + } + + // xxxx + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<1, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + // xxxy + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + // xxxz + template + GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z); + } + + // xxxw + template + GLM_INLINE glm::vec<4, T, Q> xxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.w); + } + + // xxyx + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + // xxyy + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + // xxyz + template + GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z); + } + + // xxyw + template + GLM_INLINE glm::vec<4, T, Q> xxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.w); + } + + // xxzx + template + GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x); + } + + // xxzy + template + GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y); + } + + // xxzz + template + GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z); + } + + // xxzw + template + GLM_INLINE glm::vec<4, T, Q> xxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.w); + } + + // xxwx + template + GLM_INLINE glm::vec<4, T, Q> xxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.x); + } + + // xxwy + template + GLM_INLINE glm::vec<4, T, Q> xxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.y); + } + + // xxwz + template + GLM_INLINE glm::vec<4, T, Q> xxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.z); + } + + // xxww + template + GLM_INLINE glm::vec<4, T, Q> xxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.w); + } + + // xyxx + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + // xyxy + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + // xyxz + template + GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z); + } + + // xyxw + template + GLM_INLINE glm::vec<4, T, Q> xyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.w); + } + + // xyyx + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + // xyyy + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + // xyyz + template + GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z); + } + + // xyyw + template + GLM_INLINE glm::vec<4, T, Q> xyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.w); + } + + // xyzx + template + GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x); + } + + // xyzy + template + GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y); + } + + // xyzz + template + GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z); + } + + // xyzw + template + GLM_INLINE glm::vec<4, T, Q> xyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.w); + } + + // xywx + template + GLM_INLINE glm::vec<4, T, Q> xywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.x); + } + + // xywy + template + GLM_INLINE glm::vec<4, T, Q> xywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.y); + } + + // xywz + template + GLM_INLINE glm::vec<4, T, Q> xywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.z); + } + + // xyww + template + GLM_INLINE glm::vec<4, T, Q> xyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.w); + } + + // xzxx + template + GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x); + } + + // xzxy + template + GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y); + } + + // xzxz + template + GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z); + } + + // xzxw + template + GLM_INLINE glm::vec<4, T, Q> xzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.w); + } + + // xzyx + template + GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x); + } + + // xzyy + template + GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y); + } + + // xzyz + template + GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z); + } + + // xzyw + template + GLM_INLINE glm::vec<4, T, Q> xzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.w); + } + + // xzzx + template + GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x); + } + + // xzzy + template + GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y); + } + + // xzzz + template + GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z); + } + + // xzzw + template + GLM_INLINE glm::vec<4, T, Q> xzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.w); + } + + // xzwx + template + GLM_INLINE glm::vec<4, T, Q> xzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.x); + } + + // xzwy + template + GLM_INLINE glm::vec<4, T, Q> xzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.y); + } + + // xzwz + template + GLM_INLINE glm::vec<4, T, Q> xzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.z); + } + + // xzww + template + GLM_INLINE glm::vec<4, T, Q> xzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.w); + } + + // xwxx + template + GLM_INLINE glm::vec<4, T, Q> xwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.x); + } + + // xwxy + template + GLM_INLINE glm::vec<4, T, Q> xwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.y); + } + + // xwxz + template + GLM_INLINE glm::vec<4, T, Q> xwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.z); + } + + // xwxw + template + GLM_INLINE glm::vec<4, T, Q> xwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.w); + } + + // xwyx + template + GLM_INLINE glm::vec<4, T, Q> xwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.x); + } + + // xwyy + template + GLM_INLINE glm::vec<4, T, Q> xwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.y); + } + + // xwyz + template + GLM_INLINE glm::vec<4, T, Q> xwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.z); + } + + // xwyw + template + GLM_INLINE glm::vec<4, T, Q> xwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.w); + } + + // xwzx + template + GLM_INLINE glm::vec<4, T, Q> xwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.x); + } + + // xwzy + template + GLM_INLINE glm::vec<4, T, Q> xwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.y); + } + + // xwzz + template + GLM_INLINE glm::vec<4, T, Q> xwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.z); + } + + // xwzw + template + GLM_INLINE glm::vec<4, T, Q> xwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.w); + } + + // xwwx + template + GLM_INLINE glm::vec<4, T, Q> xwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.x); + } + + // xwwy + template + GLM_INLINE glm::vec<4, T, Q> xwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.y); + } + + // xwwz + template + GLM_INLINE glm::vec<4, T, Q> xwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.z); + } + + // xwww + template + GLM_INLINE glm::vec<4, T, Q> xwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.w); + } + + // yxxx + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + // yxxy + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + // yxxz + template + GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z); + } + + // yxxw + template + GLM_INLINE glm::vec<4, T, Q> yxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.w); + } + + // yxyx + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + // yxyy + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + // yxyz + template + GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z); + } + + // yxyw + template + GLM_INLINE glm::vec<4, T, Q> yxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.w); + } + + // yxzx + template + GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x); + } + + // yxzy + template + GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y); + } + + // yxzz + template + GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z); + } + + // yxzw + template + GLM_INLINE glm::vec<4, T, Q> yxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.w); + } + + // yxwx + template + GLM_INLINE glm::vec<4, T, Q> yxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.x); + } + + // yxwy + template + GLM_INLINE glm::vec<4, T, Q> yxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.y); + } + + // yxwz + template + GLM_INLINE glm::vec<4, T, Q> yxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.z); + } + + // yxww + template + GLM_INLINE glm::vec<4, T, Q> yxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.w); + } + + // yyxx + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + // yyxy + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + // yyxz + template + GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z); + } + + // yyxw + template + GLM_INLINE glm::vec<4, T, Q> yyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.w); + } + + // yyyx + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + // yyyy + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + // yyyz + template + GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z); + } + + // yyyw + template + GLM_INLINE glm::vec<4, T, Q> yyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.w); + } + + // yyzx + template + GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x); + } + + // yyzy + template + GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y); + } + + // yyzz + template + GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z); + } + + // yyzw + template + GLM_INLINE glm::vec<4, T, Q> yyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.w); + } + + // yywx + template + GLM_INLINE glm::vec<4, T, Q> yywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.x); + } + + // yywy + template + GLM_INLINE glm::vec<4, T, Q> yywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.y); + } + + // yywz + template + GLM_INLINE glm::vec<4, T, Q> yywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.z); + } + + // yyww + template + GLM_INLINE glm::vec<4, T, Q> yyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.w); + } + + // yzxx + template + GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x); + } + + // yzxy + template + GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y); + } + + // yzxz + template + GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z); + } + + // yzxw + template + GLM_INLINE glm::vec<4, T, Q> yzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.w); + } + + // yzyx + template + GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x); + } + + // yzyy + template + GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y); + } + + // yzyz + template + GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z); + } + + // yzyw + template + GLM_INLINE glm::vec<4, T, Q> yzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.w); + } + + // yzzx + template + GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x); + } + + // yzzy + template + GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y); + } + + // yzzz + template + GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z); + } + + // yzzw + template + GLM_INLINE glm::vec<4, T, Q> yzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.w); + } + + // yzwx + template + GLM_INLINE glm::vec<4, T, Q> yzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.x); + } + + // yzwy + template + GLM_INLINE glm::vec<4, T, Q> yzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.y); + } + + // yzwz + template + GLM_INLINE glm::vec<4, T, Q> yzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.z); + } + + // yzww + template + GLM_INLINE glm::vec<4, T, Q> yzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.w); + } + + // ywxx + template + GLM_INLINE glm::vec<4, T, Q> ywxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.x); + } + + // ywxy + template + GLM_INLINE glm::vec<4, T, Q> ywxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.y); + } + + // ywxz + template + GLM_INLINE glm::vec<4, T, Q> ywxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.z); + } + + // ywxw + template + GLM_INLINE glm::vec<4, T, Q> ywxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.w); + } + + // ywyx + template + GLM_INLINE glm::vec<4, T, Q> ywyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.x); + } + + // ywyy + template + GLM_INLINE glm::vec<4, T, Q> ywyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.y); + } + + // ywyz + template + GLM_INLINE glm::vec<4, T, Q> ywyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.z); + } + + // ywyw + template + GLM_INLINE glm::vec<4, T, Q> ywyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.w); + } + + // ywzx + template + GLM_INLINE glm::vec<4, T, Q> ywzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.x); + } + + // ywzy + template + GLM_INLINE glm::vec<4, T, Q> ywzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.y); + } + + // ywzz + template + GLM_INLINE glm::vec<4, T, Q> ywzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.z); + } + + // ywzw + template + GLM_INLINE glm::vec<4, T, Q> ywzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.w); + } + + // ywwx + template + GLM_INLINE glm::vec<4, T, Q> ywwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.x); + } + + // ywwy + template + GLM_INLINE glm::vec<4, T, Q> ywwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.y); + } + + // ywwz + template + GLM_INLINE glm::vec<4, T, Q> ywwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.z); + } + + // ywww + template + GLM_INLINE glm::vec<4, T, Q> ywww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.w); + } + + // zxxx + template + GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x); + } + + // zxxy + template + GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y); + } + + // zxxz + template + GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z); + } + + // zxxw + template + GLM_INLINE glm::vec<4, T, Q> zxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.w); + } + + // zxyx + template + GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x); + } + + // zxyy + template + GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y); + } + + // zxyz + template + GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z); + } + + // zxyw + template + GLM_INLINE glm::vec<4, T, Q> zxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.w); + } + + // zxzx + template + GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x); + } + + // zxzy + template + GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y); + } + + // zxzz + template + GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z); + } + + // zxzw + template + GLM_INLINE glm::vec<4, T, Q> zxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.w); + } + + // zxwx + template + GLM_INLINE glm::vec<4, T, Q> zxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.x); + } + + // zxwy + template + GLM_INLINE glm::vec<4, T, Q> zxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.y); + } + + // zxwz + template + GLM_INLINE glm::vec<4, T, Q> zxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.z); + } + + // zxww + template + GLM_INLINE glm::vec<4, T, Q> zxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.w); + } + + // zyxx + template + GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x); + } + + // zyxy + template + GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y); + } + + // zyxz + template + GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z); + } + + // zyxw + template + GLM_INLINE glm::vec<4, T, Q> zyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.w); + } + + // zyyx + template + GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x); + } + + // zyyy + template + GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y); + } + + // zyyz + template + GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z); + } + + // zyyw + template + GLM_INLINE glm::vec<4, T, Q> zyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.w); + } + + // zyzx + template + GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x); + } + + // zyzy + template + GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y); + } + + // zyzz + template + GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z); + } + + // zyzw + template + GLM_INLINE glm::vec<4, T, Q> zyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.w); + } + + // zywx + template + GLM_INLINE glm::vec<4, T, Q> zywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.x); + } + + // zywy + template + GLM_INLINE glm::vec<4, T, Q> zywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.y); + } + + // zywz + template + GLM_INLINE glm::vec<4, T, Q> zywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.z); + } + + // zyww + template + GLM_INLINE glm::vec<4, T, Q> zyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.w); + } + + // zzxx + template + GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x); + } + + // zzxy + template + GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y); + } + + // zzxz + template + GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z); + } + + // zzxw + template + GLM_INLINE glm::vec<4, T, Q> zzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.w); + } + + // zzyx + template + GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x); + } + + // zzyy + template + GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y); + } + + // zzyz + template + GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z); + } + + // zzyw + template + GLM_INLINE glm::vec<4, T, Q> zzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.w); + } + + // zzzx + template + GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x); + } + + // zzzy + template + GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y); + } + + // zzzz + template + GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z); + } + + // zzzw + template + GLM_INLINE glm::vec<4, T, Q> zzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.w); + } + + // zzwx + template + GLM_INLINE glm::vec<4, T, Q> zzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.x); + } + + // zzwy + template + GLM_INLINE glm::vec<4, T, Q> zzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.y); + } + + // zzwz + template + GLM_INLINE glm::vec<4, T, Q> zzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.z); + } + + // zzww + template + GLM_INLINE glm::vec<4, T, Q> zzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.w); + } + + // zwxx + template + GLM_INLINE glm::vec<4, T, Q> zwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.x); + } + + // zwxy + template + GLM_INLINE glm::vec<4, T, Q> zwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.y); + } + + // zwxz + template + GLM_INLINE glm::vec<4, T, Q> zwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.z); + } + + // zwxw + template + GLM_INLINE glm::vec<4, T, Q> zwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.w); + } + + // zwyx + template + GLM_INLINE glm::vec<4, T, Q> zwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.x); + } + + // zwyy + template + GLM_INLINE glm::vec<4, T, Q> zwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.y); + } + + // zwyz + template + GLM_INLINE glm::vec<4, T, Q> zwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.z); + } + + // zwyw + template + GLM_INLINE glm::vec<4, T, Q> zwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.w); + } + + // zwzx + template + GLM_INLINE glm::vec<4, T, Q> zwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.x); + } + + // zwzy + template + GLM_INLINE glm::vec<4, T, Q> zwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.y); + } + + // zwzz + template + GLM_INLINE glm::vec<4, T, Q> zwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.z); + } + + // zwzw + template + GLM_INLINE glm::vec<4, T, Q> zwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.w); + } + + // zwwx + template + GLM_INLINE glm::vec<4, T, Q> zwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.x); + } + + // zwwy + template + GLM_INLINE glm::vec<4, T, Q> zwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.y); + } + + // zwwz + template + GLM_INLINE glm::vec<4, T, Q> zwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.z); + } + + // zwww + template + GLM_INLINE glm::vec<4, T, Q> zwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.w); + } + + // wxxx + template + GLM_INLINE glm::vec<4, T, Q> wxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.x); + } + + // wxxy + template + GLM_INLINE glm::vec<4, T, Q> wxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.y); + } + + // wxxz + template + GLM_INLINE glm::vec<4, T, Q> wxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.z); + } + + // wxxw + template + GLM_INLINE glm::vec<4, T, Q> wxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.w); + } + + // wxyx + template + GLM_INLINE glm::vec<4, T, Q> wxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.x); + } + + // wxyy + template + GLM_INLINE glm::vec<4, T, Q> wxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.y); + } + + // wxyz + template + GLM_INLINE glm::vec<4, T, Q> wxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.z); + } + + // wxyw + template + GLM_INLINE glm::vec<4, T, Q> wxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.w); + } + + // wxzx + template + GLM_INLINE glm::vec<4, T, Q> wxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.x); + } + + // wxzy + template + GLM_INLINE glm::vec<4, T, Q> wxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.y); + } + + // wxzz + template + GLM_INLINE glm::vec<4, T, Q> wxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.z); + } + + // wxzw + template + GLM_INLINE glm::vec<4, T, Q> wxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.w); + } + + // wxwx + template + GLM_INLINE glm::vec<4, T, Q> wxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.x); + } + + // wxwy + template + GLM_INLINE glm::vec<4, T, Q> wxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.y); + } + + // wxwz + template + GLM_INLINE glm::vec<4, T, Q> wxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.z); + } + + // wxww + template + GLM_INLINE glm::vec<4, T, Q> wxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.w); + } + + // wyxx + template + GLM_INLINE glm::vec<4, T, Q> wyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.x); + } + + // wyxy + template + GLM_INLINE glm::vec<4, T, Q> wyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.y); + } + + // wyxz + template + GLM_INLINE glm::vec<4, T, Q> wyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.z); + } + + // wyxw + template + GLM_INLINE glm::vec<4, T, Q> wyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.w); + } + + // wyyx + template + GLM_INLINE glm::vec<4, T, Q> wyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.x); + } + + // wyyy + template + GLM_INLINE glm::vec<4, T, Q> wyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.y); + } + + // wyyz + template + GLM_INLINE glm::vec<4, T, Q> wyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.z); + } + + // wyyw + template + GLM_INLINE glm::vec<4, T, Q> wyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.w); + } + + // wyzx + template + GLM_INLINE glm::vec<4, T, Q> wyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.x); + } + + // wyzy + template + GLM_INLINE glm::vec<4, T, Q> wyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.y); + } + + // wyzz + template + GLM_INLINE glm::vec<4, T, Q> wyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.z); + } + + // wyzw + template + GLM_INLINE glm::vec<4, T, Q> wyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.w); + } + + // wywx + template + GLM_INLINE glm::vec<4, T, Q> wywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.x); + } + + // wywy + template + GLM_INLINE glm::vec<4, T, Q> wywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.y); + } + + // wywz + template + GLM_INLINE glm::vec<4, T, Q> wywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.z); + } + + // wyww + template + GLM_INLINE glm::vec<4, T, Q> wyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.w); + } + + // wzxx + template + GLM_INLINE glm::vec<4, T, Q> wzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.x); + } + + // wzxy + template + GLM_INLINE glm::vec<4, T, Q> wzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.y); + } + + // wzxz + template + GLM_INLINE glm::vec<4, T, Q> wzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.z); + } + + // wzxw + template + GLM_INLINE glm::vec<4, T, Q> wzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.w); + } + + // wzyx + template + GLM_INLINE glm::vec<4, T, Q> wzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.x); + } + + // wzyy + template + GLM_INLINE glm::vec<4, T, Q> wzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.y); + } + + // wzyz + template + GLM_INLINE glm::vec<4, T, Q> wzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.z); + } + + // wzyw + template + GLM_INLINE glm::vec<4, T, Q> wzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.w); + } + + // wzzx + template + GLM_INLINE glm::vec<4, T, Q> wzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.x); + } + + // wzzy + template + GLM_INLINE glm::vec<4, T, Q> wzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.y); + } + + // wzzz + template + GLM_INLINE glm::vec<4, T, Q> wzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.z); + } + + // wzzw + template + GLM_INLINE glm::vec<4, T, Q> wzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.w); + } + + // wzwx + template + GLM_INLINE glm::vec<4, T, Q> wzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.x); + } + + // wzwy + template + GLM_INLINE glm::vec<4, T, Q> wzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.y); + } + + // wzwz + template + GLM_INLINE glm::vec<4, T, Q> wzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.z); + } + + // wzww + template + GLM_INLINE glm::vec<4, T, Q> wzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.w); + } + + // wwxx + template + GLM_INLINE glm::vec<4, T, Q> wwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.x); + } + + // wwxy + template + GLM_INLINE glm::vec<4, T, Q> wwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.y); + } + + // wwxz + template + GLM_INLINE glm::vec<4, T, Q> wwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.z); + } + + // wwxw + template + GLM_INLINE glm::vec<4, T, Q> wwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.w); + } + + // wwyx + template + GLM_INLINE glm::vec<4, T, Q> wwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.x); + } + + // wwyy + template + GLM_INLINE glm::vec<4, T, Q> wwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.y); + } + + // wwyz + template + GLM_INLINE glm::vec<4, T, Q> wwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.z); + } + + // wwyw + template + GLM_INLINE glm::vec<4, T, Q> wwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.w); + } + + // wwzx + template + GLM_INLINE glm::vec<4, T, Q> wwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.x); + } + + // wwzy + template + GLM_INLINE glm::vec<4, T, Q> wwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.y); + } + + // wwzz + template + GLM_INLINE glm::vec<4, T, Q> wwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.z); + } + + // wwzw + template + GLM_INLINE glm::vec<4, T, Q> wwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.w); + } + + // wwwx + template + GLM_INLINE glm::vec<4, T, Q> wwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.x); + } + + // wwwy + template + GLM_INLINE glm::vec<4, T, Q> wwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.y); + } + + // wwwz + template + GLM_INLINE glm::vec<4, T, Q> wwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.z); + } + + // wwww + template + GLM_INLINE glm::vec<4, T, Q> wwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.w); + } + +} diff --git a/vendor/glm/gtx/vector_angle.hpp b/vendor/glm/gtx/vector_angle.hpp new file mode 100755 index 0000000000..401a47eb86 --- /dev/null +++ b/vendor/glm/gtx/vector_angle.hpp @@ -0,0 +1,57 @@ +/// @ref gtx_vector_angle +/// @file glm/gtx/vector_angle.hpp +/// +/// @see core (dependence) +/// @see gtx_quaternion (dependence) +/// @see gtx_epsilon (dependence) +/// +/// @defgroup gtx_vector_angle GLM_GTX_vector_angle +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Compute angle between vectors + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/epsilon.hpp" +#include "../gtx/quaternion.hpp" +#include "../gtx/rotate_vector.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_vector_angle extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_vector_angle + /// @{ + + //! Returns the absolute angle between two vectors. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T angle(vec const& x, vec const& y); + + //! Returns the oriented angle between two 2d vectors. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T orientedAngle(vec<2, T, Q> const& x, vec<2, T, Q> const& y); + + //! Returns the oriented angle between two 3d vectors based from a reference axis. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T orientedAngle(vec<3, T, Q> const& x, vec<3, T, Q> const& y, vec<3, T, Q> const& ref); + + /// @} +}// namespace glm + +#include "vector_angle.inl" diff --git a/vendor/glm/gtx/vector_angle.inl b/vendor/glm/gtx/vector_angle.inl new file mode 100755 index 0000000000..38f8b8ca09 --- /dev/null +++ b/vendor/glm/gtx/vector_angle.inl @@ -0,0 +1,45 @@ +/// @ref gtx_vector_angle +/// @file glm/gtx/vector_angle.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType angle + ( + genType const& x, + genType const& y + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'angle' only accept floating-point inputs"); + return acos(clamp(dot(x, y), genType(-1), genType(1))); + } + + template + GLM_FUNC_QUALIFIER T angle(vec const& x, vec const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'angle' only accept floating-point inputs"); + return acos(clamp(dot(x, y), T(-1), T(1))); + } + + //! \todo epsilon is hard coded to 0.01 + template + GLM_FUNC_QUALIFIER T orientedAngle(vec<2, T, Q> const& x, vec<2, T, Q> const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'orientedAngle' only accept floating-point inputs"); + T const Angle(acos(clamp(dot(x, y), T(-1), T(1)))); + + if(all(epsilonEqual(y, glm::rotate(x, Angle), T(0.0001)))) + return Angle; + else + return -Angle; + } + + template + GLM_FUNC_QUALIFIER T orientedAngle(vec<3, T, Q> const& x, vec<3, T, Q> const& y, vec<3, T, Q> const& ref) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'orientedAngle' only accept floating-point inputs"); + + T const Angle(acos(clamp(dot(x, y), T(-1), T(1)))); + return mix(Angle, -Angle, dot(ref, cross(x, y)) < T(0)); + } +}//namespace glm diff --git a/vendor/glm/gtx/vector_query.hpp b/vendor/glm/gtx/vector_query.hpp new file mode 100755 index 0000000000..52ba57b1cf --- /dev/null +++ b/vendor/glm/gtx/vector_query.hpp @@ -0,0 +1,66 @@ +/// @ref gtx_vector_query +/// @file glm/gtx/vector_query.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_vector_query GLM_GTX_vector_query +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Query informations of vector types + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include +#include + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_vector_query extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_vector_query + /// @{ + + //! Check whether two vectors are collinears. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areCollinear(vec const& v0, vec const& v1, T const& epsilon); + + //! Check whether two vectors are orthogonals. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areOrthogonal(vec const& v0, vec const& v1, T const& epsilon); + + //! Check whether a vector is normalized. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool isNormalized(vec const& v, T const& epsilon); + + //! Check whether a vector is null. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool isNull(vec const& v, T const& epsilon); + + //! Check whether a each component of a vector is null. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL vec isCompNull(vec const& v, T const& epsilon); + + //! Check whether two vectors are orthonormal. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areOrthonormal(vec const& v0, vec const& v1, T const& epsilon); + + /// @} +}// namespace glm + +#include "vector_query.inl" diff --git a/vendor/glm/gtx/vector_query.inl b/vendor/glm/gtx/vector_query.inl new file mode 100755 index 0000000000..0d8cddcf3f --- /dev/null +++ b/vendor/glm/gtx/vector_query.inl @@ -0,0 +1,155 @@ +/// @ref gtx_vector_query +/// @file glm/gtx/vector_query.inl + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_areCollinear{}; + + template + struct compute_areCollinear<2, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<2, T, Q> const& v0, vec<2, T, Q> const& v1, T const& epsilon) + { + return length(cross(vec<3, T, Q>(v0, static_cast(0)), vec<3, T, Q>(v1, static_cast(0)))) < epsilon; + } + }; + + template + struct compute_areCollinear<3, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<3, T, Q> const& v0, vec<3, T, Q> const& v1, T const& epsilon) + { + return length(cross(v0, v1)) < epsilon; + } + }; + + template + struct compute_areCollinear<4, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<4, T, Q> const& v0, vec<4, T, Q> const& v1, T const& epsilon) + { + return length(cross(vec<3, T, Q>(v0), vec<3, T, Q>(v1))) < epsilon; + } + }; + + template + struct compute_isCompNull{}; + + template + struct compute_isCompNull<2, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, bool, Q> call(vec<2, T, Q> const& v, T const& epsilon) + { + return vec<2, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon)); + } + }; + + template + struct compute_isCompNull<3, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, bool, Q> call(vec<3, T, Q> const& v, T const& epsilon) + { + return vec<3, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon), + (abs(v.z) < epsilon)); + } + }; + + template + struct compute_isCompNull<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, bool, Q> call(vec<4, T, Q> const& v, T const& epsilon) + { + return vec<4, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon), + (abs(v.z) < epsilon), + (abs(v.w) < epsilon)); + } + }; + +}//namespace detail + + template + GLM_FUNC_QUALIFIER bool areCollinear(vec const& v0, vec const& v1, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'areCollinear' only accept floating-point inputs"); + + return detail::compute_areCollinear::call(v0, v1, epsilon); + } + + template + GLM_FUNC_QUALIFIER bool areOrthogonal(vec const& v0, vec const& v1, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'areOrthogonal' only accept floating-point inputs"); + + return abs(dot(v0, v1)) <= max( + static_cast(1), + length(v0)) * max(static_cast(1), length(v1)) * epsilon; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isNormalized' only accept floating-point inputs"); + + return abs(length(v) - static_cast(1)) <= static_cast(2) * epsilon; + } + + template + GLM_FUNC_QUALIFIER bool isNull(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isNull' only accept floating-point inputs"); + + return length(v) <= epsilon; + } + + template + GLM_FUNC_QUALIFIER vec isCompNull(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isCompNull' only accept floating-point inputs"); + + return detail::compute_isCompNull::call(v, epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> isCompNull(vec<2, T, Q> const& v, T const& epsilon) + { + return vec<2, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> isCompNull(vec<3, T, Q> const& v, T const& epsilon) + { + return vec<3, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon, + abs(v.z) < epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isCompNull(vec<4, T, Q> const& v, T const& epsilon) + { + return vec<4, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon, + abs(v.z) < epsilon, + abs(v.w) < epsilon); + } + + template + GLM_FUNC_QUALIFIER bool areOrthonormal(vec const& v0, vec const& v1, T const& epsilon) + { + return isNormalized(v0, epsilon) && isNormalized(v1, epsilon) && (abs(dot(v0, v1)) <= epsilon); + } + +}//namespace glm diff --git a/vendor/glm/gtx/wrap.hpp b/vendor/glm/gtx/wrap.hpp new file mode 100755 index 0000000000..2c4b55df77 --- /dev/null +++ b/vendor/glm/gtx/wrap.hpp @@ -0,0 +1,55 @@ +/// @ref gtx_wrap +/// @file glm/gtx/wrap.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_wrap GLM_GTX_wrap +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Wrapping mode of texture coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/vec1.hpp" + +#ifndef GLM_ENABLE_EXPERIMENTAL +# error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." +#endif + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_wrap extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_wrap + /// @{ + + /// Simulate GL_CLAMP OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType clamp(genType const& Texcoord); + + /// Simulate GL_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType repeat(genType const& Texcoord); + + /// Simulate GL_MIRRORED_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType mirrorClamp(genType const& Texcoord); + + /// Simulate GL_MIRROR_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType mirrorRepeat(genType const& Texcoord); + + /// @} +}// namespace glm + +#include "wrap.inl" diff --git a/vendor/glm/gtx/wrap.inl b/vendor/glm/gtx/wrap.inl new file mode 100755 index 0000000000..83e350f195 --- /dev/null +++ b/vendor/glm/gtx/wrap.inl @@ -0,0 +1,58 @@ +/// @ref gtx_wrap +/// @file glm/gtx/wrap.inl + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec clamp(vec const& Texcoord) + { + return glm::clamp(Texcoord, vec(0), vec(1)); + } + + template + GLM_FUNC_QUALIFIER genType clamp(genType const& Texcoord) + { + return clamp(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec repeat(vec const& Texcoord) + { + return glm::fract(Texcoord); + } + + template + GLM_FUNC_QUALIFIER genType repeat(genType const& Texcoord) + { + return repeat(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec mirrorClamp(vec const& Texcoord) + { + return glm::fract(glm::abs(Texcoord)); + } + + template + GLM_FUNC_QUALIFIER genType mirrorClamp(genType const& Texcoord) + { + return mirrorClamp(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec mirrorRepeat(vec const& Texcoord) + { + vec const Abs = glm::abs(Texcoord); + vec const Clamp = glm::mod(glm::floor(Abs), vec(2)); + vec const Floor = glm::floor(Abs); + vec const Rest = Abs - Floor; + vec const Mirror = Clamp + Rest; + return mix(Rest, vec(1) - Rest, glm::greaterThanEqual(Mirror, vec(1))); + } + + template + GLM_FUNC_QUALIFIER genType mirrorRepeat(genType const& Texcoord) + { + return mirrorRepeat(vec<1, genType, defaultp>(Texcoord)).x; + } +}//namespace glm diff --git a/vendor/glm/integer.hpp b/vendor/glm/integer.hpp new file mode 100755 index 0000000000..fca4e69600 --- /dev/null +++ b/vendor/glm/integer.hpp @@ -0,0 +1,211 @@ +/// @ref core +/// @file glm/integer.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.8 Integer Functions +/// +/// @defgroup core_func_integer Integer functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// These all operate component-wise. The description is per component. +/// The notation [a, b] means the set of bits from bit-number a through bit-number +/// b, inclusive. The lowest-order bit is bit 0. + +#pragma once + +#include "detail/setup.hpp" +#include "detail/qualifier.hpp" +#include "common.hpp" +#include "vector_relational.hpp" + +namespace glm +{ + /// @addtogroup core_func_integer + /// @{ + + /// Adds 32-bit unsigned integer x and y, returning the sum + /// modulo pow(2, 32). The value carry is set to 0 if the sum was + /// less than pow(2, 32), or to 1 otherwise. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL uaddCarry man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec uaddCarry( + vec const& x, + vec const& y, + vec & carry); + + /// Subtracts the 32-bit unsigned integer y from x, returning + /// the difference if non-negative, or pow(2, 32) plus the difference + /// otherwise. The value borrow is set to 0 if x >= y, or to 1 otherwise. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL usubBorrow man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec usubBorrow( + vec const& x, + vec const& y, + vec & borrow); + + /// Multiplies 32-bit integers x and y, producing a 64-bit + /// result. The 32 least-significant bits are returned in lsb. + /// The 32 most-significant bits are returned in msb. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL umulExtended man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL void umulExtended( + vec const& x, + vec const& y, + vec & msb, + vec & lsb); + + /// Multiplies 32-bit integers x and y, producing a 64-bit + /// result. The 32 least-significant bits are returned in lsb. + /// The 32 most-significant bits are returned in msb. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL imulExtended man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL void imulExtended( + vec const& x, + vec const& y, + vec & msb, + vec & lsb); + + /// Extracts bits [offset, offset + bits - 1] from value, + /// returning them in the least significant bits of the result. + /// For unsigned data types, the most significant bits of the + /// result will be set to zero. For signed data types, the + /// most significant bits will be set to the value of bit offset + base - 1. + /// + /// If bits is zero, the result will be zero. The result will be + /// undefined if offset or bits is negative, or if the sum of + /// offset and bits is greater than the number of bits used + /// to store the operand. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL bitfieldExtract man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldExtract( + vec const& Value, + int Offset, + int Bits); + + /// Returns the insertion the bits least-significant bits of insert into base. + /// + /// The result will have bits [offset, offset + bits - 1] taken + /// from bits [0, bits - 1] of insert, and all other bits taken + /// directly from the corresponding bits of base. If bits is + /// zero, the result will simply be base. The result will be + /// undefined if offset or bits is negative, or if the sum of + /// offset and bits is greater than the number of bits used to + /// store the operand. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitfieldInsert man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldInsert( + vec const& Base, + vec const& Insert, + int Offset, + int Bits); + + /// Returns the reversal of the bits of value. + /// The bit numbered n of the result will be taken from bit (bits - 1) - n of value, + /// where bits is the total number of bits used to represent value. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitfieldReverse man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldReverse(vec const& v); + + /// Returns the number of bits set to 1 in the binary representation of value. + /// + /// @tparam genType Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitCount man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int bitCount(genType v); + + /// Returns the number of bits set to 1 in the binary representation of value. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitCount man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitCount(vec const& v); + + /// Returns the bit number of the least significant bit set to + /// 1 in the binary representation of value. + /// If value is zero, -1 will be returned. + /// + /// @tparam genIUType Signed or unsigned integer scalar types. + /// + /// @see GLSL findLSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int findLSB(genIUType x); + + /// Returns the bit number of the least significant bit set to + /// 1 in the binary representation of value. + /// If value is zero, -1 will be returned. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL findLSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec findLSB(vec const& v); + + /// Returns the bit number of the most significant bit in the binary representation of value. + /// For positive integers, the result will be the bit number of the most significant bit set to 1. + /// For negative integers, the result will be the bit number of the most significant + /// bit set to 0. For a value of zero or negative one, -1 will be returned. + /// + /// @tparam genIUType Signed or unsigned integer scalar types. + /// + /// @see GLSL findMSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int findMSB(genIUType x); + + /// Returns the bit number of the most significant bit in the binary representation of value. + /// For positive integers, the result will be the bit number of the most significant bit set to 1. + /// For negative integers, the result will be the bit number of the most significant + /// bit set to 0. For a value of zero or negative one, -1 will be returned. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL findMSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec findMSB(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_integer.inl" diff --git a/vendor/glm/mat2x2.hpp b/vendor/glm/mat2x2.hpp new file mode 100755 index 0000000000..057466d4fe --- /dev/null +++ b/vendor/glm/mat2x2.hpp @@ -0,0 +1,54 @@ +/// @ref core +/// @file glm/mat2x2.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat2x2.hpp" + +namespace glm +{ + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2; + + /// 2 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2x2; + + /// 2 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2x2; + + /// 2 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2x2; + +}//namespace glm diff --git a/vendor/glm/mat2x3.hpp b/vendor/glm/mat2x3.hpp new file mode 100755 index 0000000000..bf0170f4a0 --- /dev/null +++ b/vendor/glm/mat2x3.hpp @@ -0,0 +1,34 @@ +/// @ref core +/// @file glm/mat2x3.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat2x3.hpp" + +namespace glm +{ + /// 2 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, lowp> lowp_mat2x3; + + /// 2 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, mediump> mediump_mat2x3; + + /// 2 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, highp> highp_mat2x3; + +}//namespace glm + diff --git a/vendor/glm/mat2x4.hpp b/vendor/glm/mat2x4.hpp new file mode 100755 index 0000000000..d3c813dc68 --- /dev/null +++ b/vendor/glm/mat2x4.hpp @@ -0,0 +1,33 @@ +/// @ref core +/// @file glm/mat2x4.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat2x4.hpp" + +namespace glm +{ + /// 2 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, lowp> lowp_mat2x4; + + /// 2 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, mediump> mediump_mat2x4; + + /// 2 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, highp> highp_mat2x4; + +}//namespace glm diff --git a/vendor/glm/mat3x2.hpp b/vendor/glm/mat3x2.hpp new file mode 100755 index 0000000000..4500769757 --- /dev/null +++ b/vendor/glm/mat3x2.hpp @@ -0,0 +1,33 @@ +/// @ref core +/// @file glm/mat3x2.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat3x2.hpp" + +namespace glm +{ + /// 3 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, lowp> lowp_mat3x2; + + /// 3 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, mediump> mediump_mat3x2; + + /// 3 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, highp> highp_mat3x2; + +}//namespace diff --git a/vendor/glm/mat3x3.hpp b/vendor/glm/mat3x3.hpp new file mode 100755 index 0000000000..586d1f0dc3 --- /dev/null +++ b/vendor/glm/mat3x3.hpp @@ -0,0 +1,54 @@ +/// @ref core +/// @file glm/mat3x3.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat3x3.hpp" + +namespace glm +{ + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3; + + /// 3 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3x3; + + /// 3 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3x3; + + /// 3 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3x3; + +}//namespace glm diff --git a/vendor/glm/mat3x4.hpp b/vendor/glm/mat3x4.hpp new file mode 100755 index 0000000000..d1294aeabf --- /dev/null +++ b/vendor/glm/mat3x4.hpp @@ -0,0 +1,33 @@ +/// @ref core +/// @file glm/mat3x4.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat3x4.hpp" + +namespace glm +{ + /// 3 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, lowp> lowp_mat3x4; + + /// 3 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, mediump> mediump_mat3x4; + + /// 3 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, highp> highp_mat3x4; + +}//namespace glm diff --git a/vendor/glm/mat4x2.hpp b/vendor/glm/mat4x2.hpp new file mode 100755 index 0000000000..c6f8758d48 --- /dev/null +++ b/vendor/glm/mat4x2.hpp @@ -0,0 +1,33 @@ +/// @ref core +/// @file glm/mat4x2.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat4x2.hpp" + +namespace glm +{ + /// 4 columns of 2 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, lowp> lowp_mat4x2; + + /// 4 columns of 2 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, mediump> mediump_mat4x2; + + /// 4 columns of 2 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, highp> highp_mat4x2; + +}//namespace glm diff --git a/vendor/glm/mat4x3.hpp b/vendor/glm/mat4x3.hpp new file mode 100755 index 0000000000..88014935c8 --- /dev/null +++ b/vendor/glm/mat4x3.hpp @@ -0,0 +1,33 @@ +/// @ref core +/// @file glm/mat4x3.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat4x3.hpp" + +namespace glm +{ + /// 4 columns of 3 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, lowp> lowp_mat4x3; + + /// 4 columns of 3 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, mediump> mediump_mat4x3; + + /// 4 columns of 3 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, highp> highp_mat4x3; + +}//namespace glm diff --git a/vendor/glm/mat4x4.hpp b/vendor/glm/mat4x4.hpp new file mode 100755 index 0000000000..f3019f2aee --- /dev/null +++ b/vendor/glm/mat4x4.hpp @@ -0,0 +1,54 @@ +/// @ref core +/// @file glm/mat4x4.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_mat4x4.hpp" + +namespace glm +{ + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4; + + /// 4 columns of 4 components matrix of low qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4x4; + + /// 4 columns of 4 components matrix of medium qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4x4; + + /// 4 columns of 4 components matrix of high qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4x4; + +}//namespace glm diff --git a/vendor/glm/matrix.hpp b/vendor/glm/matrix.hpp new file mode 100755 index 0000000000..437e3884f9 --- /dev/null +++ b/vendor/glm/matrix.hpp @@ -0,0 +1,164 @@ +/// @ref core +/// @file glm/matrix.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions +/// +/// @defgroup core_func_matrix Matrix functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// For each of the following built-in matrix functions, there is both a +/// single-qualifier floating point version, where all arguments and return values +/// are single qualifier, and a double-qualifier floating version, where all +/// arguments and return values are double qualifier. Only the single-qualifier +/// floating point version is shown. + +#pragma once + +// Dependencies +#include "detail/qualifier.hpp" +#include "detail/setup.hpp" +#include "detail/type_mat.hpp" +#include "vec2.hpp" +#include "vec3.hpp" +#include "vec4.hpp" +#include "mat2x2.hpp" +#include "mat2x3.hpp" +#include "mat2x4.hpp" +#include "mat3x2.hpp" +#include "mat3x3.hpp" +#include "mat3x4.hpp" +#include "mat4x2.hpp" +#include "mat4x3.hpp" +#include "mat4x4.hpp" + +namespace glm { + namespace detail + { + template + struct outerProduct_trait<2, 2, T, Q> + { + typedef mat<2, 2, T, Q> type; + }; + + template + struct outerProduct_trait<2, 3, T, Q> + { + typedef mat<3, 2, T, Q> type; + }; + + template + struct outerProduct_trait<2, 4, T, Q> + { + typedef mat<4, 2, T, Q> type; + }; + + template + struct outerProduct_trait<3, 2, T, Q> + { + typedef mat<2, 3, T, Q> type; + }; + + template + struct outerProduct_trait<3, 3, T, Q> + { + typedef mat<3, 3, T, Q> type; + }; + + template + struct outerProduct_trait<3, 4, T, Q> + { + typedef mat<4, 3, T, Q> type; + }; + + template + struct outerProduct_trait<4, 2, T, Q> + { + typedef mat<2, 4, T, Q> type; + }; + + template + struct outerProduct_trait<4, 3, T, Q> + { + typedef mat<3, 4, T, Q> type; + }; + + template + struct outerProduct_trait<4, 4, T, Q> + { + typedef mat<4, 4, T, Q> type; + }; + + }//namespace detail + + /// @addtogroup core_func_matrix + /// @{ + + /// Multiply matrix x by matrix y component-wise, i.e., + /// result[i][j] is the scalar product of x[i][j] and y[i][j]. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL matrixCompMult man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL mat matrixCompMult(mat const& x, mat const& y); + + /// Treats the first parameter c as a column vector + /// and the second parameter r as a row vector + /// and does a linear algebraic matrix multiply c * r. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL outerProduct man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL typename detail::outerProduct_trait::type outerProduct(vec const& c, vec const& r); + + /// Returns the transposed matrix of x + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL transpose man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL typename mat::transpose_type transpose(mat const& x); + + /// Return the determinant of a squared matrix. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL determinant man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL T determinant(mat const& m); + + /// Return the inverse of a squared matrix. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL inverse man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL mat inverse(mat const& m); + + /// @} +}//namespace glm + +#include "detail/func_matrix.inl" diff --git a/vendor/glm/packing.hpp b/vendor/glm/packing.hpp new file mode 100755 index 0000000000..c509fbfc13 --- /dev/null +++ b/vendor/glm/packing.hpp @@ -0,0 +1,170 @@ +/// @ref core +/// @file glm/packing.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions +/// @see gtc_packing +/// +/// @defgroup core_func_packing Floating-Point Pack and Unpack Functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// These functions do not operate component-wise, rather as described in each case. + +#pragma once + +#include "detail/type_vec2.hpp" +#include "detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_func_packing + /// @{ + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm2x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packUnorm2x16(vec2 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x16: round(clamp(v, -1, +1) * 32767.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packSnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packSnorm2x16(vec2 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm4x8: round(clamp(c, 0, +1) * 255.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packUnorm4x8(vec4 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm4x8: round(clamp(c, -1, +1) * 127.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packSnorm4x8(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm2x16: f / 65535.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm2x16: clamp(f / 32767.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackSnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm4x8: clamp(f / 127.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p); + + /// Returns a double-qualifier value obtained by packing the components of v into a 64-bit value. + /// If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. + /// Otherwise, the bit- level representation of v is preserved. + /// The first vector component specifies the 32 least significant bits; + /// the second component specifies the 32 most significant bits. + /// + /// @see GLSL packDouble2x32 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL double packDouble2x32(uvec2 const& v); + + /// Returns a two-component unsigned integer vector representation of v. + /// The bit-level representation of v is preserved. + /// The first component of the vector contains the 32 least significant bits of the double; + /// the second component consists the 32 most significant bits. + /// + /// @see GLSL unpackDouble2x32 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uvec2 unpackDouble2x32(double v); + + /// Returns an unsigned integer obtained by converting the components of a two-component floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing these two 16- bit integers into a 32-bit unsigned integer. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the second component specifies the 16 most-significant bits. + /// + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packHalf2x16(vec2 const& v); + + /// Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, + /// interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, + /// and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the second component is obtained from the 16 most-significant bits of v. + /// + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackHalf2x16(uint v); + + /// @} +}//namespace glm + +#include "detail/func_packing.inl" diff --git a/vendor/glm/simd/common.h b/vendor/glm/simd/common.h new file mode 100755 index 0000000000..78ff4d23d2 --- /dev/null +++ b/vendor/glm/simd/common.h @@ -0,0 +1,240 @@ +/// @ref simd +/// @file glm/simd/common.h + +#pragma once + +#include "platform.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_add(glm_vec4 a, glm_vec4 b) +{ + return _mm_add_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_add(glm_vec4 a, glm_vec4 b) +{ + return _mm_add_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sub(glm_vec4 a, glm_vec4 b) +{ + return _mm_sub_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_sub(glm_vec4 a, glm_vec4 b) +{ + return _mm_sub_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_mul(glm_vec4 a, glm_vec4 b) +{ + return _mm_mul_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_mul(glm_vec4 a, glm_vec4 b) +{ + return _mm_mul_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_div(glm_vec4 a, glm_vec4 b) +{ + return _mm_div_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_div(glm_vec4 a, glm_vec4 b) +{ + return _mm_div_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_div_lowp(glm_vec4 a, glm_vec4 b) +{ + return glm_vec4_mul(a, _mm_rcp_ps(b)); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_swizzle_xyzw(glm_vec4 a) +{ +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + return _mm_permute_ps(a, _MM_SHUFFLE(3, 2, 1, 0)); +# else + return _mm_shuffle_ps(a, a, _MM_SHUFFLE(3, 2, 1, 0)); +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_fma(glm_vec4 a, glm_vec4 b, glm_vec4 c) +{ +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && !(GLM_COMPILER & GLM_COMPILER_CLANG) + return _mm_fmadd_ss(a, b, c); +# else + return _mm_add_ss(_mm_mul_ss(a, b), c); +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_fma(glm_vec4 a, glm_vec4 b, glm_vec4 c) +{ +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && !(GLM_COMPILER & GLM_COMPILER_CLANG) + return _mm_fmadd_ps(a, b, c); +# else + return glm_vec4_add(glm_vec4_mul(a, b), c); +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_abs(glm_vec4 x) +{ + return _mm_and_ps(x, _mm_castsi128_ps(_mm_set1_epi32(0x7FFFFFFF))); +} + +GLM_FUNC_QUALIFIER glm_ivec4 glm_ivec4_abs(glm_ivec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSSE3_BIT + return _mm_sign_epi32(x, x); +# else + glm_ivec4 const sgn0 = _mm_srai_epi32(x, 31); + glm_ivec4 const inv0 = _mm_xor_si128(x, sgn0); + glm_ivec4 const sub0 = _mm_sub_epi32(inv0, sgn0); + return sub0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sign(glm_vec4 x) +{ + glm_vec4 const zro0 = _mm_setzero_ps(); + glm_vec4 const cmp0 = _mm_cmplt_ps(x, zro0); + glm_vec4 const cmp1 = _mm_cmpgt_ps(x, zro0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(-1.0f)); + glm_vec4 const and1 = _mm_and_ps(cmp1, _mm_set1_ps(1.0f)); + glm_vec4 const or0 = _mm_or_ps(and0, and1);; + return or0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_round(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_round_ps(x, _MM_FROUND_TO_NEAREST_INT); +# else + glm_vec4 const sgn0 = _mm_castsi128_ps(_mm_set1_epi32(int(0x80000000))); + glm_vec4 const and0 = _mm_and_ps(sgn0, x); + glm_vec4 const or0 = _mm_or_ps(and0, _mm_set_ps1(8388608.0f)); + glm_vec4 const add0 = glm_vec4_add(x, or0); + glm_vec4 const sub0 = glm_vec4_sub(add0, or0); + return sub0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_floor(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_floor_ps(x); +# else + glm_vec4 const rnd0 = glm_vec4_round(x); + glm_vec4 const cmp0 = _mm_cmplt_ps(x, rnd0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(1.0f)); + glm_vec4 const sub0 = glm_vec4_sub(rnd0, and0); + return sub0; +# endif +} + +/* trunc TODO +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_trunc(glm_vec4 x) +{ + return glm_vec4(); +} +*/ + +//roundEven +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_roundEven(glm_vec4 x) +{ + glm_vec4 const sgn0 = _mm_castsi128_ps(_mm_set1_epi32(int(0x80000000))); + glm_vec4 const and0 = _mm_and_ps(sgn0, x); + glm_vec4 const or0 = _mm_or_ps(and0, _mm_set_ps1(8388608.0f)); + glm_vec4 const add0 = glm_vec4_add(x, or0); + glm_vec4 const sub0 = glm_vec4_sub(add0, or0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_ceil(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_ceil_ps(x); +# else + glm_vec4 const rnd0 = glm_vec4_round(x); + glm_vec4 const cmp0 = _mm_cmpgt_ps(x, rnd0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(1.0f)); + glm_vec4 const add0 = glm_vec4_add(rnd0, and0); + return add0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_fract(glm_vec4 x) +{ + glm_vec4 const flr0 = glm_vec4_floor(x); + glm_vec4 const sub0 = glm_vec4_sub(x, flr0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_mod(glm_vec4 x, glm_vec4 y) +{ + glm_vec4 const div0 = glm_vec4_div(x, y); + glm_vec4 const flr0 = glm_vec4_floor(div0); + glm_vec4 const mul0 = glm_vec4_mul(y, flr0); + glm_vec4 const sub0 = glm_vec4_sub(x, mul0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_clamp(glm_vec4 v, glm_vec4 minVal, glm_vec4 maxVal) +{ + glm_vec4 const min0 = _mm_min_ps(v, maxVal); + glm_vec4 const max0 = _mm_max_ps(min0, minVal); + return max0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_mix(glm_vec4 v1, glm_vec4 v2, glm_vec4 a) +{ + glm_vec4 const sub0 = glm_vec4_sub(_mm_set1_ps(1.0f), a); + glm_vec4 const mul0 = glm_vec4_mul(v1, sub0); + glm_vec4 const mad0 = glm_vec4_fma(v2, a, mul0); + return mad0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_step(glm_vec4 edge, glm_vec4 x) +{ + glm_vec4 const cmp = _mm_cmple_ps(x, edge); + return _mm_movemask_ps(cmp) == 0 ? _mm_set1_ps(1.0f) : _mm_setzero_ps(); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_smoothstep(glm_vec4 edge0, glm_vec4 edge1, glm_vec4 x) +{ + glm_vec4 const sub0 = glm_vec4_sub(x, edge0); + glm_vec4 const sub1 = glm_vec4_sub(edge1, edge0); + glm_vec4 const div0 = glm_vec4_sub(sub0, sub1); + glm_vec4 const clp0 = glm_vec4_clamp(div0, _mm_setzero_ps(), _mm_set1_ps(1.0f)); + glm_vec4 const mul0 = glm_vec4_mul(_mm_set1_ps(2.0f), clp0); + glm_vec4 const sub2 = glm_vec4_sub(_mm_set1_ps(3.0f), mul0); + glm_vec4 const mul1 = glm_vec4_mul(clp0, clp0); + glm_vec4 const mul2 = glm_vec4_mul(mul1, sub2); + return mul2; +} + +// Agner Fog method +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_nan(glm_vec4 x) +{ + glm_ivec4 const t1 = _mm_castps_si128(x); // reinterpret as 32-bit integer + glm_ivec4 const t2 = _mm_sll_epi32(t1, _mm_cvtsi32_si128(1)); // shift out sign bit + glm_ivec4 const t3 = _mm_set1_epi32(int(0xFF000000)); // exponent mask + glm_ivec4 const t4 = _mm_and_si128(t2, t3); // exponent + glm_ivec4 const t5 = _mm_andnot_si128(t3, t2); // fraction + glm_ivec4 const Equal = _mm_cmpeq_epi32(t3, t4); + glm_ivec4 const Nequal = _mm_cmpeq_epi32(t5, _mm_setzero_si128()); + glm_ivec4 const And = _mm_and_si128(Equal, Nequal); + return _mm_castsi128_ps(And); // exponent = all 1s and fraction != 0 +} + +// Agner Fog method +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_inf(glm_vec4 x) +{ + glm_ivec4 const t1 = _mm_castps_si128(x); // reinterpret as 32-bit integer + glm_ivec4 const t2 = _mm_sll_epi32(t1, _mm_cvtsi32_si128(1)); // shift out sign bit + return _mm_castsi128_ps(_mm_cmpeq_epi32(t2, _mm_set1_epi32(int(0xFF000000)))); // exponent is all 1s, fraction is 0 +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/exponential.h b/vendor/glm/simd/exponential.h new file mode 100755 index 0000000000..4eb0fb7474 --- /dev/null +++ b/vendor/glm/simd/exponential.h @@ -0,0 +1,20 @@ +/// @ref simd +/// @file glm/simd/experimental.h + +#pragma once + +#include "platform.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_sqrt_lowp(glm_vec4 x) +{ + return _mm_mul_ss(_mm_rsqrt_ss(x), x); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sqrt_lowp(glm_vec4 x) +{ + return _mm_mul_ps(_mm_rsqrt_ps(x), x); +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/geometric.h b/vendor/glm/simd/geometric.h new file mode 100755 index 0000000000..07d7cbcc42 --- /dev/null +++ b/vendor/glm/simd/geometric.h @@ -0,0 +1,124 @@ +/// @ref simd +/// @file glm/simd/geometric.h + +#pragma once + +#include "common.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_DECL glm_vec4 glm_vec4_dot(glm_vec4 v1, glm_vec4 v2); +GLM_FUNC_DECL glm_vec4 glm_vec1_dot(glm_vec4 v1, glm_vec4 v2); + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_length(glm_vec4 x) +{ + glm_vec4 const dot0 = glm_vec4_dot(x, x); + glm_vec4 const sqt0 = _mm_sqrt_ps(dot0); + return sqt0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_distance(glm_vec4 p0, glm_vec4 p1) +{ + glm_vec4 const sub0 = _mm_sub_ps(p0, p1); + glm_vec4 const len0 = glm_vec4_length(sub0); + return len0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_dot(glm_vec4 v1, glm_vec4 v2) +{ +# if GLM_ARCH & GLM_ARCH_AVX_BIT + return _mm_dp_ps(v1, v2, 0xff); +# elif GLM_ARCH & GLM_ARCH_SSE3_BIT + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const hadd0 = _mm_hadd_ps(mul0, mul0); + glm_vec4 const hadd1 = _mm_hadd_ps(hadd0, hadd0); + return hadd1; +# else + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const swp0 = _mm_shuffle_ps(mul0, mul0, _MM_SHUFFLE(2, 3, 0, 1)); + glm_vec4 const add0 = _mm_add_ps(mul0, swp0); + glm_vec4 const swp1 = _mm_shuffle_ps(add0, add0, _MM_SHUFFLE(0, 1, 2, 3)); + glm_vec4 const add1 = _mm_add_ps(add0, swp1); + return add1; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_dot(glm_vec4 v1, glm_vec4 v2) +{ +# if GLM_ARCH & GLM_ARCH_AVX_BIT + return _mm_dp_ps(v1, v2, 0xff); +# elif GLM_ARCH & GLM_ARCH_SSE3_BIT + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const had0 = _mm_hadd_ps(mul0, mul0); + glm_vec4 const had1 = _mm_hadd_ps(had0, had0); + return had1; +# else + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const mov0 = _mm_movehl_ps(mul0, mul0); + glm_vec4 const add0 = _mm_add_ps(mov0, mul0); + glm_vec4 const swp1 = _mm_shuffle_ps(add0, add0, 1); + glm_vec4 const add1 = _mm_add_ss(add0, swp1); + return add1; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_cross(glm_vec4 v1, glm_vec4 v2) +{ + glm_vec4 const swp0 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 0, 2, 1)); + glm_vec4 const swp1 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 1, 0, 2)); + glm_vec4 const swp2 = _mm_shuffle_ps(v2, v2, _MM_SHUFFLE(3, 0, 2, 1)); + glm_vec4 const swp3 = _mm_shuffle_ps(v2, v2, _MM_SHUFFLE(3, 1, 0, 2)); + glm_vec4 const mul0 = _mm_mul_ps(swp0, swp3); + glm_vec4 const mul1 = _mm_mul_ps(swp1, swp2); + glm_vec4 const sub0 = _mm_sub_ps(mul0, mul1); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_normalize(glm_vec4 v) +{ + glm_vec4 const dot0 = glm_vec4_dot(v, v); + glm_vec4 const isr0 = _mm_rsqrt_ps(dot0); + glm_vec4 const mul0 = _mm_mul_ps(v, isr0); + return mul0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_faceforward(glm_vec4 N, glm_vec4 I, glm_vec4 Nref) +{ + glm_vec4 const dot0 = glm_vec4_dot(Nref, I); + glm_vec4 const sgn0 = glm_vec4_sign(dot0); + glm_vec4 const mul0 = _mm_mul_ps(sgn0, _mm_set1_ps(-1.0f)); + glm_vec4 const mul1 = _mm_mul_ps(N, mul0); + return mul1; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_reflect(glm_vec4 I, glm_vec4 N) +{ + glm_vec4 const dot0 = glm_vec4_dot(N, I); + glm_vec4 const mul0 = _mm_mul_ps(N, dot0); + glm_vec4 const mul1 = _mm_mul_ps(mul0, _mm_set1_ps(2.0f)); + glm_vec4 const sub0 = _mm_sub_ps(I, mul1); + return sub0; +} + +GLM_FUNC_QUALIFIER __m128 glm_vec4_refract(glm_vec4 I, glm_vec4 N, glm_vec4 eta) +{ + glm_vec4 const dot0 = glm_vec4_dot(N, I); + glm_vec4 const mul0 = _mm_mul_ps(eta, eta); + glm_vec4 const mul1 = _mm_mul_ps(dot0, dot0); + glm_vec4 const sub0 = _mm_sub_ps(_mm_set1_ps(1.0f), mul0); + glm_vec4 const sub1 = _mm_sub_ps(_mm_set1_ps(1.0f), mul1); + glm_vec4 const mul2 = _mm_mul_ps(sub0, sub1); + + if(_mm_movemask_ps(_mm_cmplt_ss(mul2, _mm_set1_ps(0.0f))) == 0) + return _mm_set1_ps(0.0f); + + glm_vec4 const sqt0 = _mm_sqrt_ps(mul2); + glm_vec4 const mad0 = glm_vec4_fma(eta, dot0, sqt0); + glm_vec4 const mul4 = _mm_mul_ps(mad0, N); + glm_vec4 const mul5 = _mm_mul_ps(eta, I); + glm_vec4 const sub2 = _mm_sub_ps(mul5, mul4); + + return sub2; +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/integer.h b/vendor/glm/simd/integer.h new file mode 100755 index 0000000000..93814183fe --- /dev/null +++ b/vendor/glm/simd/integer.h @@ -0,0 +1,115 @@ +/// @ref simd +/// @file glm/simd/integer.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_uvec4 glm_i128_interleave(glm_uvec4 x) +{ + glm_uvec4 const Mask4 = _mm_set1_epi32(0x0000FFFF); + glm_uvec4 const Mask3 = _mm_set1_epi32(0x00FF00FF); + glm_uvec4 const Mask2 = _mm_set1_epi32(0x0F0F0F0F); + glm_uvec4 const Mask1 = _mm_set1_epi32(0x33333333); + glm_uvec4 const Mask0 = _mm_set1_epi32(0x55555555); + + glm_uvec4 Reg1; + glm_uvec4 Reg2; + + // REG1 = x; + // REG2 = y; + //Reg1 = _mm_unpacklo_epi64(x, y); + Reg1 = x; + + //REG1 = ((REG1 << 16) | REG1) & glm::uint64(0x0000FFFF0000FFFF); + //REG2 = ((REG2 << 16) | REG2) & glm::uint64(0x0000FFFF0000FFFF); + Reg2 = _mm_slli_si128(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask4); + + //REG1 = ((REG1 << 8) | REG1) & glm::uint64(0x00FF00FF00FF00FF); + //REG2 = ((REG2 << 8) | REG2) & glm::uint64(0x00FF00FF00FF00FF); + Reg2 = _mm_slli_si128(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask3); + + //REG1 = ((REG1 << 4) | REG1) & glm::uint64(0x0F0F0F0F0F0F0F0F); + //REG2 = ((REG2 << 4) | REG2) & glm::uint64(0x0F0F0F0F0F0F0F0F); + Reg2 = _mm_slli_epi32(Reg1, 4); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask2); + + //REG1 = ((REG1 << 2) | REG1) & glm::uint64(0x3333333333333333); + //REG2 = ((REG2 << 2) | REG2) & glm::uint64(0x3333333333333333); + Reg2 = _mm_slli_epi32(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask1); + + //REG1 = ((REG1 << 1) | REG1) & glm::uint64(0x5555555555555555); + //REG2 = ((REG2 << 1) | REG2) & glm::uint64(0x5555555555555555); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask0); + + //return REG1 | (REG2 << 1); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg2 = _mm_srli_si128(Reg2, 8); + Reg1 = _mm_or_si128(Reg1, Reg2); + + return Reg1; +} + +GLM_FUNC_QUALIFIER glm_uvec4 glm_i128_interleave2(glm_uvec4 x, glm_uvec4 y) +{ + glm_uvec4 const Mask4 = _mm_set1_epi32(0x0000FFFF); + glm_uvec4 const Mask3 = _mm_set1_epi32(0x00FF00FF); + glm_uvec4 const Mask2 = _mm_set1_epi32(0x0F0F0F0F); + glm_uvec4 const Mask1 = _mm_set1_epi32(0x33333333); + glm_uvec4 const Mask0 = _mm_set1_epi32(0x55555555); + + glm_uvec4 Reg1; + glm_uvec4 Reg2; + + // REG1 = x; + // REG2 = y; + Reg1 = _mm_unpacklo_epi64(x, y); + + //REG1 = ((REG1 << 16) | REG1) & glm::uint64(0x0000FFFF0000FFFF); + //REG2 = ((REG2 << 16) | REG2) & glm::uint64(0x0000FFFF0000FFFF); + Reg2 = _mm_slli_si128(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask4); + + //REG1 = ((REG1 << 8) | REG1) & glm::uint64(0x00FF00FF00FF00FF); + //REG2 = ((REG2 << 8) | REG2) & glm::uint64(0x00FF00FF00FF00FF); + Reg2 = _mm_slli_si128(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask3); + + //REG1 = ((REG1 << 4) | REG1) & glm::uint64(0x0F0F0F0F0F0F0F0F); + //REG2 = ((REG2 << 4) | REG2) & glm::uint64(0x0F0F0F0F0F0F0F0F); + Reg2 = _mm_slli_epi32(Reg1, 4); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask2); + + //REG1 = ((REG1 << 2) | REG1) & glm::uint64(0x3333333333333333); + //REG2 = ((REG2 << 2) | REG2) & glm::uint64(0x3333333333333333); + Reg2 = _mm_slli_epi32(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask1); + + //REG1 = ((REG1 << 1) | REG1) & glm::uint64(0x5555555555555555); + //REG2 = ((REG2 << 1) | REG2) & glm::uint64(0x5555555555555555); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask0); + + //return REG1 | (REG2 << 1); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg2 = _mm_srli_si128(Reg2, 8); + Reg1 = _mm_or_si128(Reg1, Reg2); + + return Reg1; +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/matrix.h b/vendor/glm/simd/matrix.h new file mode 100755 index 0000000000..b6c42ea4c1 --- /dev/null +++ b/vendor/glm/simd/matrix.h @@ -0,0 +1,1028 @@ +/// @ref simd +/// @file glm/simd/matrix.h + +#pragma once + +#include "geometric.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER void glm_mat4_matrixCompMult(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_mul_ps(in1[0], in2[0]); + out[1] = _mm_mul_ps(in1[1], in2[1]); + out[2] = _mm_mul_ps(in1[2], in2[2]); + out[3] = _mm_mul_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER void glm_mat4_add(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_add_ps(in1[0], in2[0]); + out[1] = _mm_add_ps(in1[1], in2[1]); + out[2] = _mm_add_ps(in1[2], in2[2]); + out[3] = _mm_add_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER void glm_mat4_sub(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_sub_ps(in1[0], in2[0]); + out[1] = _mm_sub_ps(in1[1], in2[1]); + out[2] = _mm_sub_ps(in1[2], in2[2]); + out[3] = _mm_sub_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_mul_vec4(glm_vec4 const m[4], glm_vec4 v) +{ + __m128 v0 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 v1 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 v2 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 v3 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(m[0], v0); + __m128 m1 = _mm_mul_ps(m[1], v1); + __m128 m2 = _mm_mul_ps(m[2], v2); + __m128 m3 = _mm_mul_ps(m[3], v3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + return a2; +} + +GLM_FUNC_QUALIFIER __m128 glm_vec4_mul_mat4(glm_vec4 v, glm_vec4 const m[4]) +{ + __m128 i0 = m[0]; + __m128 i1 = m[1]; + __m128 i2 = m[2]; + __m128 i3 = m[3]; + + __m128 m0 = _mm_mul_ps(v, i0); + __m128 m1 = _mm_mul_ps(v, i1); + __m128 m2 = _mm_mul_ps(v, i2); + __m128 m3 = _mm_mul_ps(v, i3); + + __m128 u0 = _mm_unpacklo_ps(m0, m1); + __m128 u1 = _mm_unpackhi_ps(m0, m1); + __m128 a0 = _mm_add_ps(u0, u1); + + __m128 u2 = _mm_unpacklo_ps(m2, m3); + __m128 u3 = _mm_unpackhi_ps(m2, m3); + __m128 a1 = _mm_add_ps(u2, u3); + + __m128 f0 = _mm_movelh_ps(a0, a1); + __m128 f1 = _mm_movehl_ps(a1, a0); + __m128 f2 = _mm_add_ps(f0, f1); + + return f2; +} + +GLM_FUNC_QUALIFIER void glm_mat4_mul(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + { + __m128 e0 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[0] = a2; + } + + { + __m128 e0 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[1] = a2; + } + + { + __m128 e0 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[2] = a2; + } + + { + //(__m128&)_mm_shuffle_epi32(__m128i&)in2[0], _MM_SHUFFLE(3, 3, 3, 3)) + __m128 e0 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[3] = a2; + } +} + +GLM_FUNC_QUALIFIER void glm_mat4_transpose(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 tmp0 = _mm_shuffle_ps(in[0], in[1], 0x44); + __m128 tmp2 = _mm_shuffle_ps(in[0], in[1], 0xEE); + __m128 tmp1 = _mm_shuffle_ps(in[2], in[3], 0x44); + __m128 tmp3 = _mm_shuffle_ps(in[2], in[3], 0xEE); + + out[0] = _mm_shuffle_ps(tmp0, tmp1, 0x88); + out[1] = _mm_shuffle_ps(tmp0, tmp1, 0xDD); + out[2] = _mm_shuffle_ps(tmp2, tmp3, 0x88); + out[3] = _mm_shuffle_ps(tmp2, tmp3, 0xDD); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant_highp(glm_vec4 const in[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + return Det0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant_lowp(glm_vec4 const m[4]) +{ + // _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128( + + //T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + //T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + //T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + //T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + //T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + //T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + // First 2 columns + __m128 Swp2A = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(0, 1, 1, 2))); + __m128 Swp3A = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(3, 2, 3, 3))); + __m128 MulA = _mm_mul_ps(Swp2A, Swp3A); + + // Second 2 columns + __m128 Swp2B = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(3, 2, 3, 3))); + __m128 Swp3B = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(0, 1, 1, 2))); + __m128 MulB = _mm_mul_ps(Swp2B, Swp3B); + + // Columns subtraction + __m128 SubE = _mm_sub_ps(MulA, MulB); + + // Last 2 rows + __m128 Swp2C = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(0, 0, 1, 2))); + __m128 Swp3C = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(1, 2, 0, 0))); + __m128 MulC = _mm_mul_ps(Swp2C, Swp3C); + __m128 SubF = _mm_sub_ps(_mm_movehl_ps(MulC, MulC), MulC); + + //vec<4, T, Q> DetCof( + // + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + // - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + // + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + // - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + __m128 SubFacA = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubE), _MM_SHUFFLE(2, 1, 0, 0))); + __m128 SwpFacA = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(0, 0, 0, 1))); + __m128 MulFacA = _mm_mul_ps(SwpFacA, SubFacA); + + __m128 SubTmpB = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(0, 0, 3, 1)); + __m128 SubFacB = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubTmpB), _MM_SHUFFLE(3, 1, 1, 0)));//SubF[0], SubE[3], SubE[3], SubE[1]; + __m128 SwpFacB = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(1, 1, 2, 2))); + __m128 MulFacB = _mm_mul_ps(SwpFacB, SubFacB); + + __m128 SubRes = _mm_sub_ps(MulFacA, MulFacB); + + __m128 SubTmpC = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(1, 0, 2, 2)); + __m128 SubFacC = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubTmpC), _MM_SHUFFLE(3, 3, 2, 0))); + __m128 SwpFacC = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(2, 3, 3, 3))); + __m128 MulFacC = _mm_mul_ps(SwpFacC, SubFacC); + + __m128 AddRes = _mm_add_ps(SubRes, MulFacC); + __m128 DetCof = _mm_mul_ps(AddRes, _mm_setr_ps( 1.0f,-1.0f, 1.0f,-1.0f)); + + //return m[0][0] * DetCof[0] + // + m[0][1] * DetCof[1] + // + m[0][2] * DetCof[2] + // + m[0][3] * DetCof[3]; + + return glm_vec4_dot(m[0], DetCof); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant(glm_vec4 const m[4]) +{ + // _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(add) + + //T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + //T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + //T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + //T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + //T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + //T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + // First 2 columns + __m128 Swp2A = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(0, 1, 1, 2)); + __m128 Swp3A = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(3, 2, 3, 3)); + __m128 MulA = _mm_mul_ps(Swp2A, Swp3A); + + // Second 2 columns + __m128 Swp2B = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(3, 2, 3, 3)); + __m128 Swp3B = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(0, 1, 1, 2)); + __m128 MulB = _mm_mul_ps(Swp2B, Swp3B); + + // Columns subtraction + __m128 SubE = _mm_sub_ps(MulA, MulB); + + // Last 2 rows + __m128 Swp2C = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(0, 0, 1, 2)); + __m128 Swp3C = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(1, 2, 0, 0)); + __m128 MulC = _mm_mul_ps(Swp2C, Swp3C); + __m128 SubF = _mm_sub_ps(_mm_movehl_ps(MulC, MulC), MulC); + + //vec<4, T, Q> DetCof( + // + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + // - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + // + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + // - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + __m128 SubFacA = _mm_shuffle_ps(SubE, SubE, _MM_SHUFFLE(2, 1, 0, 0)); + __m128 SwpFacA = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(0, 0, 0, 1)); + __m128 MulFacA = _mm_mul_ps(SwpFacA, SubFacA); + + __m128 SubTmpB = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(0, 0, 3, 1)); + __m128 SubFacB = _mm_shuffle_ps(SubTmpB, SubTmpB, _MM_SHUFFLE(3, 1, 1, 0));//SubF[0], SubE[3], SubE[3], SubE[1]; + __m128 SwpFacB = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(1, 1, 2, 2)); + __m128 MulFacB = _mm_mul_ps(SwpFacB, SubFacB); + + __m128 SubRes = _mm_sub_ps(MulFacA, MulFacB); + + __m128 SubTmpC = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(1, 0, 2, 2)); + __m128 SubFacC = _mm_shuffle_ps(SubTmpC, SubTmpC, _MM_SHUFFLE(3, 3, 2, 0)); + __m128 SwpFacC = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(2, 3, 3, 3)); + __m128 MulFacC = _mm_mul_ps(SwpFacC, SubFacC); + + __m128 AddRes = _mm_add_ps(SubRes, MulFacC); + __m128 DetCof = _mm_mul_ps(AddRes, _mm_setr_ps( 1.0f,-1.0f, 1.0f,-1.0f)); + + //return m[0][0] * DetCof[0] + // + m[0][1] * DetCof[1] + // + m[0][2] * DetCof[2] + // + m[0][3] * DetCof[3]; + + return glm_vec4_dot(m[0], DetCof); +} + +GLM_FUNC_QUALIFIER void glm_mat4_inverse(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + __m128 Rcp0 = _mm_div_ps(_mm_set1_ps(1.0f), Det0); + //__m128 Rcp0 = _mm_rcp_ps(Det0); + + // Inverse /= Determinant; + out[0] = _mm_mul_ps(Inv0, Rcp0); + out[1] = _mm_mul_ps(Inv1, Rcp0); + out[2] = _mm_mul_ps(Inv2, Rcp0); + out[3] = _mm_mul_ps(Inv3, Rcp0); +} + +GLM_FUNC_QUALIFIER void glm_mat4_inverse_lowp(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + __m128 Rcp0 = _mm_rcp_ps(Det0); + //__m128 Rcp0 = _mm_div_ps(one, Det0); + // Inverse /= Determinant; + out[0] = _mm_mul_ps(Inv0, Rcp0); + out[1] = _mm_mul_ps(Inv1, Rcp0); + out[2] = _mm_mul_ps(Inv2, Rcp0); + out[3] = _mm_mul_ps(Inv3, Rcp0); +} +/* +GLM_FUNC_QUALIFIER void glm_mat4_rotate(__m128 const in[4], float Angle, float const v[3], __m128 out[4]) +{ + float a = glm::radians(Angle); + float c = cos(a); + float s = sin(a); + + glm::vec4 AxisA(v[0], v[1], v[2], float(0)); + __m128 AxisB = _mm_set_ps(AxisA.w, AxisA.z, AxisA.y, AxisA.x); + __m128 AxisC = detail::sse_nrm_ps(AxisB); + + __m128 Cos0 = _mm_set_ss(c); + __m128 CosA = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Sin0 = _mm_set_ss(s); + __m128 SinA = _mm_shuffle_ps(Sin0, Sin0, _MM_SHUFFLE(0, 0, 0, 0)); + + // vec<3, T, Q> temp = (valType(1) - c) * axis; + __m128 Temp0 = _mm_sub_ps(one, CosA); + __m128 Temp1 = _mm_mul_ps(Temp0, AxisC); + + //Rotate[0][0] = c + temp[0] * axis[0]; + //Rotate[0][1] = 0 + temp[0] * axis[1] + s * axis[2]; + //Rotate[0][2] = 0 + temp[0] * axis[2] - s * axis[1]; + __m128 Axis0 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 TmpA0 = _mm_mul_ps(Axis0, AxisC); + __m128 CosA0 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 1, 1, 0)); + __m128 TmpA1 = _mm_add_ps(CosA0, TmpA0); + __m128 SinA0 = SinA;//_mm_set_ps(0.0f, s, -s, 0.0f); + __m128 TmpA2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 1, 2, 3)); + __m128 TmpA3 = _mm_mul_ps(SinA0, TmpA2); + __m128 TmpA4 = _mm_add_ps(TmpA1, TmpA3); + + //Rotate[1][0] = 0 + temp[1] * axis[0] - s * axis[2]; + //Rotate[1][1] = c + temp[1] * axis[1]; + //Rotate[1][2] = 0 + temp[1] * axis[2] + s * axis[0]; + __m128 Axis1 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 TmpB0 = _mm_mul_ps(Axis1, AxisC); + __m128 CosA1 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 1, 0, 1)); + __m128 TmpB1 = _mm_add_ps(CosA1, TmpB0); + __m128 SinB0 = SinA;//_mm_set_ps(-s, 0.0f, s, 0.0f); + __m128 TmpB2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 0, 3, 2)); + __m128 TmpB3 = _mm_mul_ps(SinA0, TmpB2); + __m128 TmpB4 = _mm_add_ps(TmpB1, TmpB3); + + //Rotate[2][0] = 0 + temp[2] * axis[0] + s * axis[1]; + //Rotate[2][1] = 0 + temp[2] * axis[1] - s * axis[0]; + //Rotate[2][2] = c + temp[2] * axis[2]; + __m128 Axis2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 TmpC0 = _mm_mul_ps(Axis2, AxisC); + __m128 CosA2 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 0, 1, 1)); + __m128 TmpC1 = _mm_add_ps(CosA2, TmpC0); + __m128 SinC0 = SinA;//_mm_set_ps(s, -s, 0.0f, 0.0f); + __m128 TmpC2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 3, 0, 1)); + __m128 TmpC3 = _mm_mul_ps(SinA0, TmpC2); + __m128 TmpC4 = _mm_add_ps(TmpC1, TmpC3); + + __m128 Result[4]; + Result[0] = TmpA4; + Result[1] = TmpB4; + Result[2] = TmpC4; + Result[3] = _mm_set_ps(1, 0, 0, 0); + + //mat<4, 4, valType> Result; + //Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + //Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + //Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + //Result[3] = m[3]; + //return Result; + sse_mul_ps(in, Result, out); +} +*/ +GLM_FUNC_QUALIFIER void glm_mat4_outerProduct(__m128 const& c, __m128 const& r, __m128 out[4]) +{ + out[0] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(0, 0, 0, 0))); + out[1] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(1, 1, 1, 1))); + out[2] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(2, 2, 2, 2))); + out[3] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(3, 3, 3, 3))); +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/packing.h b/vendor/glm/simd/packing.h new file mode 100755 index 0000000000..609163eb0d --- /dev/null +++ b/vendor/glm/simd/packing.h @@ -0,0 +1,8 @@ +/// @ref simd +/// @file glm/simd/packing.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/simd/platform.h b/vendor/glm/simd/platform.h new file mode 100755 index 0000000000..b92c9bb6a6 --- /dev/null +++ b/vendor/glm/simd/platform.h @@ -0,0 +1,389 @@ +/// @ref simd +/// @file glm/simd/platform.h + +#pragma once + +/////////////////////////////////////////////////////////////////////////////////// +// Platform + +#define GLM_PLATFORM_UNKNOWN 0x00000000 +#define GLM_PLATFORM_WINDOWS 0x00010000 +#define GLM_PLATFORM_LINUX 0x00020000 +#define GLM_PLATFORM_APPLE 0x00040000 +//#define GLM_PLATFORM_IOS 0x00080000 +#define GLM_PLATFORM_ANDROID 0x00100000 +#define GLM_PLATFORM_CHROME_NACL 0x00200000 +#define GLM_PLATFORM_UNIX 0x00400000 +#define GLM_PLATFORM_QNXNTO 0x00800000 +#define GLM_PLATFORM_WINCE 0x01000000 +#define GLM_PLATFORM_CYGWIN 0x02000000 + +#ifdef GLM_FORCE_PLATFORM_UNKNOWN +# define GLM_PLATFORM GLM_PLATFORM_UNKNOWN +#elif defined(__CYGWIN__) +# define GLM_PLATFORM GLM_PLATFORM_CYGWIN +#elif defined(__QNXNTO__) +# define GLM_PLATFORM GLM_PLATFORM_QNXNTO +#elif defined(__APPLE__) +# define GLM_PLATFORM GLM_PLATFORM_APPLE +#elif defined(WINCE) +# define GLM_PLATFORM GLM_PLATFORM_WINCE +#elif defined(_WIN32) +# define GLM_PLATFORM GLM_PLATFORM_WINDOWS +#elif defined(__native_client__) +# define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL +#elif defined(__ANDROID__) +# define GLM_PLATFORM GLM_PLATFORM_ANDROID +#elif defined(__linux) +# define GLM_PLATFORM GLM_PLATFORM_LINUX +#elif defined(__unix) +# define GLM_PLATFORM GLM_PLATFORM_UNIX +#else +# define GLM_PLATFORM GLM_PLATFORM_UNKNOWN +#endif// + +// Report platform detection +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED) +# define GLM_MESSAGE_PLATFORM_DISPLAYED +# if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO) +# pragma message("GLM: QNX platform detected") +//# elif(GLM_PLATFORM & GLM_PLATFORM_IOS) +//# pragma message("GLM: iOS platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_APPLE) +# pragma message("GLM: Apple platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_WINCE) +# pragma message("GLM: WinCE platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS) +# pragma message("GLM: Windows platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL) +# pragma message("GLM: Native Client detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) +# pragma message("GLM: Android platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_LINUX) +# pragma message("GLM: Linux platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_UNIX) +# pragma message("GLM: UNIX platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN) +# pragma message("GLM: platform unknown") +# else +# pragma message("GLM: platform not detected") +# endif +#endif//GLM_MESSAGES + +/////////////////////////////////////////////////////////////////////////////////// +// Compiler + +#define GLM_COMPILER_UNKNOWN 0x00000000 + +// Intel +#define GLM_COMPILER_INTEL 0x00100000 +#define GLM_COMPILER_INTEL14 0x00100040 +#define GLM_COMPILER_INTEL15 0x00100050 +#define GLM_COMPILER_INTEL16 0x00100060 +#define GLM_COMPILER_INTEL17 0x00100070 + +// Visual C++ defines +#define GLM_COMPILER_VC 0x01000000 +#define GLM_COMPILER_VC12 0x010000B0 +#define GLM_COMPILER_VC14 0x010000C0 +#define GLM_COMPILER_VC15 0x010000D0 +#define GLM_COMPILER_VC16 0x010000E0 + +// GCC defines +#define GLM_COMPILER_GCC 0x02000000 +#define GLM_COMPILER_GCC46 0x020000D0 +#define GLM_COMPILER_GCC47 0x020000E0 +#define GLM_COMPILER_GCC48 0x020000F0 +#define GLM_COMPILER_GCC49 0x02000100 +#define GLM_COMPILER_GCC5 0x02000200 +#define GLM_COMPILER_GCC6 0x02000300 +#define GLM_COMPILER_GCC7 0x02000400 +#define GLM_COMPILER_GCC8 0x02000500 + +// CUDA +#define GLM_COMPILER_CUDA 0x10000000 +#define GLM_COMPILER_CUDA70 0x100000A0 +#define GLM_COMPILER_CUDA75 0x100000B0 +#define GLM_COMPILER_CUDA80 0x100000C0 + +// Clang +#define GLM_COMPILER_CLANG 0x20000000 +#define GLM_COMPILER_CLANG34 0x20000050 +#define GLM_COMPILER_CLANG35 0x20000060 +#define GLM_COMPILER_CLANG36 0x20000070 +#define GLM_COMPILER_CLANG37 0x20000080 +#define GLM_COMPILER_CLANG38 0x20000090 +#define GLM_COMPILER_CLANG39 0x200000A0 +#define GLM_COMPILER_CLANG40 0x200000B0 +#define GLM_COMPILER_CLANG41 0x200000C0 +#define GLM_COMPILER_CLANG42 0x200000D0 + +// Build model +#define GLM_MODEL_32 0x00000010 +#define GLM_MODEL_64 0x00000020 + +// Force generic C++ compiler +#ifdef GLM_FORCE_COMPILER_UNKNOWN +# define GLM_COMPILER GLM_COMPILER_UNKNOWN + +#elif defined(__INTEL_COMPILER) +# if (__INTEL_COMPILER < 1400) +# error "GLM requires ICC 2013 SP1 or newer" +# elif __INTEL_COMPILER == 1400 +# define GLM_COMPILER GLM_COMPILER_INTEL14 +# elif __INTEL_COMPILER == 1500 +# define GLM_COMPILER GLM_COMPILER_INTEL15 +# elif __INTEL_COMPILER == 1600 +# define GLM_COMPILER GLM_COMPILER_INTEL16 +# elif __INTEL_COMPILER >= 1700 +# define GLM_COMPILER GLM_COMPILER_INTEL17 +# endif + +// CUDA +#elif defined(__CUDACC__) +# if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA) +# include // make sure version is defined since nvcc does not define it itself! +# endif +# if CUDA_VERSION < 7000 +# error "GLM requires CUDA 7.0 or higher" +# elif (CUDA_VERSION >= 7000 && CUDA_VERSION < 7500) +# define GLM_COMPILER GLM_COMPILER_CUDA70 +# elif (CUDA_VERSION >= 7500 && CUDA_VERSION < 8000) +# define GLM_COMPILER GLM_COMPILER_CUDA75 +# elif (CUDA_VERSION >= 8000) +# define GLM_COMPILER GLM_COMPILER_CUDA80 +# endif + +// Clang +#elif defined(__clang__) +# if defined(__apple_build_version__) +# if (__clang_major__ < 6) +# error "GLM requires Clang 3.4 / Apple Clang 6.0 or higher" +# elif __clang_major__ == 6 && __clang_minor__ == 0 +# define GLM_COMPILER GLM_COMPILER_CLANG35 +# elif __clang_major__ == 6 && __clang_minor__ >= 1 +# define GLM_COMPILER GLM_COMPILER_CLANG36 +# elif __clang_major__ >= 7 +# define GLM_COMPILER GLM_COMPILER_CLANG37 +# endif +# else +# if ((__clang_major__ == 3) && (__clang_minor__ < 4)) || (__clang_major__ < 3) +# error "GLM requires Clang 3.4 or higher" +# elif __clang_major__ == 3 && __clang_minor__ == 4 +# define GLM_COMPILER GLM_COMPILER_CLANG34 +# elif __clang_major__ == 3 && __clang_minor__ == 5 +# define GLM_COMPILER GLM_COMPILER_CLANG35 +# elif __clang_major__ == 3 && __clang_minor__ == 6 +# define GLM_COMPILER GLM_COMPILER_CLANG36 +# elif __clang_major__ == 3 && __clang_minor__ == 7 +# define GLM_COMPILER GLM_COMPILER_CLANG37 +# elif __clang_major__ == 3 && __clang_minor__ == 8 +# define GLM_COMPILER GLM_COMPILER_CLANG38 +# elif __clang_major__ == 3 && __clang_minor__ >= 9 +# define GLM_COMPILER GLM_COMPILER_CLANG39 +# elif __clang_major__ == 4 && __clang_minor__ == 0 +# define GLM_COMPILER GLM_COMPILER_CLANG40 +# elif __clang_major__ == 4 && __clang_minor__ == 1 +# define GLM_COMPILER GLM_COMPILER_CLANG41 +# elif __clang_major__ == 4 && __clang_minor__ >= 2 +# define GLM_COMPILER GLM_COMPILER_CLANG42 +# elif __clang_major__ >= 4 +# define GLM_COMPILER GLM_COMPILER_CLANG42 +# endif +# endif + +// Visual C++ +#elif defined(_MSC_VER) +# if _MSC_VER < 1800 +# error "GLM requires Visual C++ 12 - 2013 or higher" +# elif _MSC_VER == 1800 +# define GLM_COMPILER GLM_COMPILER_VC12 +# elif _MSC_VER == 1900 +# define GLM_COMPILER GLM_COMPILER_VC14 +# elif _MSC_VER >= 1910 +# define GLM_COMPILER GLM_COMPILER_VC15 +# endif//_MSC_VER + +// G++ +#elif defined(__GNUC__) || defined(__MINGW32__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ < 6)) || (__GNUC__ < 4) +# error "GLM requires GCC 4.7 or higher" +# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6) +# define GLM_COMPILER (GLM_COMPILER_GCC46) +# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7) +# define GLM_COMPILER (GLM_COMPILER_GCC47) +# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8) +# define GLM_COMPILER (GLM_COMPILER_GCC48) +# elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9) +# define GLM_COMPILER (GLM_COMPILER_GCC49) +# elif (__GNUC__ == 5) +# define GLM_COMPILER (GLM_COMPILER_GCC5) +# elif (__GNUC__ == 6) +# define GLM_COMPILER (GLM_COMPILER_GCC6) +# elif (__GNUC__ == 7) +# define GLM_COMPILER (GLM_COMPILER_GCC7) +# elif (__GNUC__ >= 8) +# define GLM_COMPILER (GLM_COMPILER_GCC8) +# endif + +#else +# define GLM_COMPILER GLM_COMPILER_UNKNOWN +#endif + +#ifndef GLM_COMPILER +# error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message." +#endif//GLM_COMPILER + +/////////////////////////////////////////////////////////////////////////////////// +// Instruction sets + +// User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_SSE3 GLM_FORCE_AVX GLM_FORCE_AVX2 GLM_FORCE_AVX2 + +#define GLM_ARCH_X86_BIT 0x00000001 +#define GLM_ARCH_SSE2_BIT 0x00000002 +#define GLM_ARCH_SSE3_BIT 0x00000004 +#define GLM_ARCH_SSSE3_BIT 0x00000008 +#define GLM_ARCH_SSE41_BIT 0x00000010 +#define GLM_ARCH_SSE42_BIT 0x00000020 +#define GLM_ARCH_AVX_BIT 0x00000040 +#define GLM_ARCH_AVX2_BIT 0x00000080 +#define GLM_ARCH_AVX512_BIT 0x00000200 // Skylake subset +#define GLM_ARCH_ARM_BIT 0x00000400 +#define GLM_ARCH_NEON_BIT 0x00000800 +#define GLM_ARCH_MIPS_BIT 0x00010000 +#define GLM_ARCH_PPC_BIT 0x01000000 + +#define GLM_ARCH_PURE (0x00000000) +#define GLM_ARCH_X86 (GLM_ARCH_X86_BIT) +#define GLM_ARCH_SSE2 (GLM_ARCH_SSE2_BIT | GLM_ARCH_X86) +#define GLM_ARCH_SSE3 (GLM_ARCH_SSE3_BIT | GLM_ARCH_SSE2) +#define GLM_ARCH_SSSE3 (GLM_ARCH_SSSE3_BIT | GLM_ARCH_SSE3) +#define GLM_ARCH_SSE41 (GLM_ARCH_SSE41_BIT | GLM_ARCH_SSSE3) +#define GLM_ARCH_SSE42 (GLM_ARCH_SSE42_BIT | GLM_ARCH_SSE41) +#define GLM_ARCH_AVX (GLM_ARCH_AVX_BIT | GLM_ARCH_SSE42) +#define GLM_ARCH_AVX2 (GLM_ARCH_AVX2_BIT | GLM_ARCH_AVX) +#define GLM_ARCH_AVX512 (GLM_ARCH_AVX512_BIT | GLM_ARCH_AVX2) // Skylake subset +#define GLM_ARCH_ARM (GLM_ARCH_ARM_BIT) +#define GLM_ARCH_NEON (GLM_ARCH_NEON_BIT | GLM_ARCH_ARM) +#define GLM_ARCH_MIPS (GLM_ARCH_MIPS_BIT) +#define GLM_ARCH_PPC (GLM_ARCH_PPC_BIT) + +#if defined(GLM_FORCE_PURE) +# define GLM_ARCH GLM_ARCH_PURE +#elif defined(GLM_FORCE_MIPS) +# define GLM_ARCH (GLM_ARCH_MIPS) +#elif defined(GLM_FORCE_PPC) +# define GLM_ARCH (GLM_ARCH_PPC) +#elif defined(GLM_FORCE_NEON) +# define GLM_ARCH (GLM_ARCH_NEON) +#elif defined(GLM_FORCE_AVX512) +# define GLM_ARCH (GLM_ARCH_AVX512) +#elif defined(GLM_FORCE_AVX2) +# define GLM_ARCH (GLM_ARCH_AVX2) +#elif defined(GLM_FORCE_AVX) +# define GLM_ARCH (GLM_ARCH_AVX) +#elif defined(GLM_FORCE_SSE42) +# define GLM_ARCH (GLM_ARCH_SSE42) +#elif defined(GLM_FORCE_SSE41) +# define GLM_ARCH (GLM_ARCH_SSE41) +#elif defined(GLM_FORCE_SSSE3) +# define GLM_ARCH (GLM_ARCH_SSSE3) +#elif defined(GLM_FORCE_SSE3) +# define GLM_ARCH (GLM_ARCH_SSE3) +#elif defined(GLM_FORCE_SSE2) +# define GLM_ARCH (GLM_ARCH_SSE2) +#elif (GLM_COMPILER & (GLM_COMPILER_CLANG | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX)) +// This is Skylake set of instruction set +# if defined(__AVX512BW__) && defined(__AVX512F__) && defined(__AVX512CD__) && defined(__AVX512VL__) && defined(__AVX512DQ__) +# define GLM_ARCH (GLM_ARCH_AVX512) +# elif defined(__AVX2__) +# define GLM_ARCH (GLM_ARCH_AVX2) +# elif defined(__AVX__) +# define GLM_ARCH (GLM_ARCH_AVX) +# elif defined(__SSE4_2__) +# define GLM_ARCH (GLM_ARCH_SSE42) +# elif defined(__SSE4_1__) +# define GLM_ARCH (GLM_ARCH_SSE41) +# elif defined(__SSSE3__) +# define GLM_ARCH (GLM_ARCH_SSSE3) +# elif defined(__SSE3__) +# define GLM_ARCH (GLM_ARCH_SSE3) +# elif defined(__SSE2__) +# define GLM_ARCH (GLM_ARCH_SSE2) +# elif defined(__i386__) || defined(__x86_64__) +# define GLM_ARCH (GLM_ARCH_X86) +# elif defined(__ARM_NEON) +# define GLM_ARCH (GLM_ARCH_ARM | GLM_ARCH_NEON) +# elif defined(__arm__ ) +# define GLM_ARCH (GLM_ARCH_ARM) +# elif defined(__mips__ ) +# define GLM_ARCH (GLM_ARCH_MIPS) +# elif defined(__powerpc__ ) +# define GLM_ARCH (GLM_ARCH_PPC) +# else +# define GLM_ARCH (GLM_ARCH_PURE) +# endif +#elif (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)) +# if defined(_M_ARM) +# define GLM_ARCH (GLM_ARCH_ARM) +# elif defined(__AVX2__) +# define GLM_ARCH (GLM_ARCH_AVX2) +# elif defined(__AVX__) +# define GLM_ARCH (GLM_ARCH_AVX) +# elif defined(_M_X64) +# define GLM_ARCH (GLM_ARCH_SSE2) +# elif defined(_M_IX86_FP) +# if _M_IX86_FP >= 2 +# define GLM_ARCH (GLM_ARCH_SSE2) +# else +# define GLM_ARCH (GLM_ARCH_PURE) +# endif +# elif defined(_M_PPC) +# define GLM_ARCH (GLM_ARCH_PPC) +# else +# define GLM_ARCH (GLM_ARCH_PURE) +# endif +#else +# define GLM_ARCH GLM_ARCH_PURE +#endif + +// With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is +// that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems. +// To fix, we just explicitly include intrin.h here. +#if defined(__MINGW64__) && (GLM_ARCH != GLM_ARCH_PURE) +# include +#endif + +#if GLM_ARCH & GLM_ARCH_AVX2_BIT +# include +#elif GLM_ARCH & GLM_ARCH_AVX_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE42_BIT +# if GLM_COMPILER & GLM_COMPILER_CLANG +# include +# endif +# include +#elif GLM_ARCH & GLM_ARCH_SSE41_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSSE3_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE3_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE2_BIT +# include +#endif//GLM_ARCH + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + typedef __m128 glm_vec4; + typedef __m128i glm_ivec4; + typedef __m128i glm_uvec4; +#endif + +#if GLM_ARCH & GLM_ARCH_AVX_BIT + typedef __m256d glm_dvec4; +#endif + +#if GLM_ARCH & GLM_ARCH_AVX2_BIT + typedef __m256i glm_i64vec4; + typedef __m256i glm_u64vec4; +#endif diff --git a/vendor/glm/simd/trigonometric.h b/vendor/glm/simd/trigonometric.h new file mode 100755 index 0000000000..739b796e7e --- /dev/null +++ b/vendor/glm/simd/trigonometric.h @@ -0,0 +1,9 @@ +/// @ref simd +/// @file glm/simd/trigonometric.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + diff --git a/vendor/glm/simd/vector_relational.h b/vendor/glm/simd/vector_relational.h new file mode 100755 index 0000000000..f7385e9747 --- /dev/null +++ b/vendor/glm/simd/vector_relational.h @@ -0,0 +1,8 @@ +/// @ref simd +/// @file glm/simd/vector_relational.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/vendor/glm/trigonometric.hpp b/vendor/glm/trigonometric.hpp new file mode 100755 index 0000000000..15caadb6e5 --- /dev/null +++ b/vendor/glm/trigonometric.hpp @@ -0,0 +1,208 @@ +/// @ref core +/// @file glm/trigonometric.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions +/// +/// @defgroup core_func_trigonometric Angle and Trigonometry Functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// Function parameters specified as angle are assumed to be in units of radians. +/// In no case will any of these functions result in a divide by zero error. If +/// the divisor of a ratio is 0, then results will be undefined. +/// +/// These all operate component-wise. The description is per component. + +#pragma once + +#include "detail/setup.hpp" +#include "detail/qualifier.hpp" + +namespace glm +{ + /// @addtogroup core_func_trigonometric + /// @{ + + /// Converts degrees to radians and returns the result. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL radians man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec radians(vec const& degrees); + + /// Converts radians to degrees and returns the result. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL degrees man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec degrees(vec const& radians); + + /// The standard trigonometric sine function. + /// The values returned by this function will range from [-1, 1]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sin man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec sin(vec const& angle); + + /// The standard trigonometric cosine function. + /// The values returned by this function will range from [-1, 1]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL cos man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec cos(vec const& angle); + + /// The standard trigonometric tangent function. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL tan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec tan(vec const& angle); + + /// Arc sine. Returns an angle whose sine is x. + /// The range of values returned by this function is [-PI/2, PI/2]. + /// Results are undefined if |x| > 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL asin man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec asin(vec const& x); + + /// Arc cosine. Returns an angle whose sine is x. + /// The range of values returned by this function is [0, PI]. + /// Results are undefined if |x| > 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL acos man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec acos(vec const& x); + + /// Arc tangent. Returns an angle whose tangent is y/x. + /// The signs of x and y are used to determine what + /// quadrant the angle is in. The range of values returned + /// by this function is [-PI, PI]. Results are undefined + /// if x and y are both 0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atan(vec const& y, vec const& x); + + /// Arc tangent. Returns an angle whose tangent is y_over_x. + /// The range of values returned by this function is [-PI/2, PI/2]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atan(vec const& y_over_x); + + /// Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2 + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sinh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec sinh(vec const& angle); + + /// Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2 + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL cosh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec cosh(vec const& angle); + + /// Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL tanh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec tanh(vec const& angle); + + /// Arc hyperbolic sine; returns the inverse of sinh. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL asinh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec asinh(vec const& x); + + /// Arc hyperbolic cosine; returns the non-negative inverse + /// of cosh. Results are undefined if x < 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL acosh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec acosh(vec const& x); + + /// Arc hyperbolic tangent; returns the inverse of tanh. + /// Results are undefined if abs(x) >= 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atanh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atanh(vec const& x); + + /// @} +}//namespace glm + +#include "detail/func_trigonometric.inl" diff --git a/vendor/glm/vec2.hpp b/vendor/glm/vec2.hpp new file mode 100755 index 0000000000..8f5bf60147 --- /dev/null +++ b/vendor/glm/vec2.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/vec2.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_vec2.hpp" diff --git a/vendor/glm/vec3.hpp b/vendor/glm/vec3.hpp new file mode 100755 index 0000000000..d2aedd1b2e --- /dev/null +++ b/vendor/glm/vec3.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/vec3.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_vec3.hpp" diff --git a/vendor/glm/vec4.hpp b/vendor/glm/vec4.hpp new file mode 100755 index 0000000000..428b54153a --- /dev/null +++ b/vendor/glm/vec4.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/vec4.hpp + +#include "detail/setup.hpp" + +#pragma once + +#include "detail/type_vec4.hpp" diff --git a/vendor/glm/vector_relational.hpp b/vendor/glm/vector_relational.hpp new file mode 100755 index 0000000000..ed996710b9 --- /dev/null +++ b/vendor/glm/vector_relational.hpp @@ -0,0 +1,119 @@ +/// @ref core +/// @file glm/vector_relational.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions +/// +/// @defgroup core_func_vector_relational Vector Relational Functions +/// @ingroup core +/// +/// Include to use these core features. +/// +/// Relational and equality operators (<, <=, >, >=, ==, !=) are defined to +/// operate on scalars and produce scalar Boolean results. For vector results, +/// use the following built-in functions. +/// +/// In all cases, the sizes of all the input and return vectors for any particular +/// call must match. + +#pragma once + +#include "detail/qualifier.hpp" +#include "detail/setup.hpp" + +namespace glm +{ + /// @addtogroup core_func_vector_relational + /// @{ + + /// Returns the component-wise comparison result of x < y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL lessThan man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec lessThan(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x <= y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL lessThanEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec lessThanEqual(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x > y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL greaterThan man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec greaterThan(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x >= y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL greaterThanEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec greaterThanEqual(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x == y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point, integer or bool scalar type. + /// + /// @see GLSL equal man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec equal(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x != y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point, integer or bool scalar type. + /// + /// @see GLSL notEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec notEqual(vec const& x, vec const& y); + + /// Returns true if any component of x is true. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL any man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL bool any(vec const& v); + + /// Returns true if all components of x are true. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL all man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL bool all(vec const& v); + + /// Returns the component-wise logical complement of x. + /// /!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL not man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL vec not_(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_vector_relational.inl" diff --git a/web/helix.jpg b/web/helix.jpg new file mode 100644 index 0000000000..d570947fc1 Binary files /dev/null and b/web/helix.jpg differ diff --git a/web/kodi.png b/web/kodi.png new file mode 100644 index 0000000000..353ddbf356 Binary files /dev/null and b/web/kodi.png differ diff --git a/web/logo.png b/web/logo.png new file mode 100644 index 0000000000..b32d87d468 Binary files /dev/null and b/web/logo.png differ diff --git a/web/silverjuke.png b/web/silverjuke.png new file mode 100644 index 0000000000..f9512723a2 Binary files /dev/null and b/web/silverjuke.png differ